diff --git a/Makefile b/Makefile index 95a6c69473..81e2e16563 100644 --- a/Makefile +++ b/Makefile @@ -5,10 +5,12 @@ SHELL=/bin/bash -o pipefail # BUILD_DIR is location where all build artifacts are placed BUILD_DIR = build -SRC_DIRS := src src/os src/os/nusys +WORLD_AREAS := area_dgb area_arn area_dro area_end area_flo area_gv area_hos area_isk area_iwa area_jan area_kgr area_kkj area_kmr area_kpa area_kzn area_mac area_mgm area_mim area_nok area_obk area_omo area_osr area_pra area_sam area_sbk area_tik area_trd area_tst + +SRC_DIRS := src src/os src/os/nusys $(foreach area,$(WORLD_AREAS),src/world/$(area)) ASM_DIRS := asm asm/os INCLUDE_DIRS := include include/PR src -DATA_DIRS := bin +DATA_DIRS := bin bin/world $(foreach area,$(WORLD_AREAS),bin/world/$(area)) YAY0_DIRS := bin/Yay0 ASSETS_FS_DIRS := assets/fs @@ -28,7 +30,7 @@ O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \ $(foreach file,$(DATA_FILES),$(BUILD_DIR)/$(file:.bin=.o)) \ $(foreach dir,$(ASSETS_FS_DIRS),$(BUILD_DIR)/$(dir).o) \ -YAY0_FILES := $(foreach file,$(YAY0_FILES),$(BUILD_DIR)/$(file:.bin=.bin.Yay0)) +YAY0_FILES := $(foreach file,$(YAY0_FILES),$(BUILD_DIR)/$(file:.bin=.Yay0.o)) ####################### Other Tools ######################### @@ -98,7 +100,7 @@ $(BUILD_DIR)/%.o: %.c $(H_FILES) $(BUILD_DIR)/%.o: %.bin $(LD) -r -b binary -o $@ $< -$(BUILD_DIR)/%.bin.Yay0: %.bin +$(BUILD_DIR)/%.Yay0.o: %.bin mkdir -p build/bin/Yay0 tools/Yay0compress $< $<.Yay0 $(LD) -r -b binary -o $@ $<.Yay0 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240000_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240000_BDD1B0.s new file mode 100644 index 0000000000..e2f258a80a --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240000_BDD1B0.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BDD1B0 +/* BDD1B0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDD1B4 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* BDD1B8 80240008 AFB20018 */ sw $s2, 0x18($sp) +/* BDD1BC 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* BDD1C0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* BDD1C4 80240014 F7B40020 */ sdc1 $f20, 0x20($sp) +/* BDD1C8 80240018 8C900148 */ lw $s0, 0x148($a0) +/* BDD1CC 8024001C 86040008 */ lh $a0, 8($s0) +/* BDD1D0 80240020 3C014387 */ lui $at, 0x4387 +/* BDD1D4 80240024 4481A000 */ mtc1 $at, $f20 +/* BDD1D8 80240028 0C00EABB */ jal get_npc_unsafe +/* BDD1DC 8024002C 00A0882D */ daddu $s1, $a1, $zero +/* BDD1E0 80240030 0200202D */ daddu $a0, $s0, $zero +/* BDD1E4 80240034 8E26000C */ lw $a2, 0xc($s1) +/* BDD1E8 80240038 8E270010 */ lw $a3, 0x10($s1) +/* BDD1EC 8024003C 0040882D */ daddu $s1, $v0, $zero +/* BDD1F0 80240040 3C03800B */ lui $v1, %hi(gCameras) +/* BDD1F4 80240044 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BDD1F8 80240048 3C02800A */ lui $v0, 0x800a +/* BDD1FC 8024004C 8442A634 */ lh $v0, -0x59cc($v0) +/* BDD200 80240050 0000282D */ daddu $a1, $zero, $zero +/* BDD204 80240054 00028080 */ sll $s0, $v0, 2 +/* BDD208 80240058 02028021 */ addu $s0, $s0, $v0 +/* BDD20C 8024005C 00108080 */ sll $s0, $s0, 2 +/* BDD210 80240060 02028023 */ subu $s0, $s0, $v0 +/* BDD214 80240064 001010C0 */ sll $v0, $s0, 3 +/* BDD218 80240068 02028021 */ addu $s0, $s0, $v0 +/* BDD21C 8024006C 001080C0 */ sll $s0, $s0, 3 +/* BDD220 80240070 0C0124FB */ jal func_800493EC +/* BDD224 80240074 02038021 */ addu $s0, $s0, $v1 +/* BDD228 80240078 C60C006C */ lwc1 $f12, 0x6c($s0) +/* BDD22C 8024007C C62E000C */ lwc1 $f14, 0xc($s1) +/* BDD230 80240080 0C00A70A */ jal get_clamped_angle_diff +/* BDD234 80240084 0002802B */ sltu $s0, $zero, $v0 +/* BDD238 80240088 0C00A6C9 */ jal clamp_angle +/* BDD23C 8024008C 46000306 */ mov.s $f12, $f0 +/* BDD240 80240090 3C018024 */ lui $at, 0x8024 +/* BDD244 80240094 D4221AE0 */ ldc1 $f2, 0x1ae0($at) +/* BDD248 80240098 46000021 */ cvt.d.s $f0, $f0 +/* BDD24C 8024009C 4622003C */ c.lt.d $f0, $f2 +/* BDD250 802400A0 00000000 */ nop +/* BDD254 802400A4 45000003 */ bc1f .L802400B4 +/* BDD258 802400A8 00000000 */ nop +/* BDD25C 802400AC 3C0142B4 */ lui $at, 0x42b4 +/* BDD260 802400B0 4481A000 */ mtc1 $at, $f20 +.L802400B4: +/* BDD264 802400B4 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* BDD268 802400B8 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* BDD26C 802400BC C62C0038 */ lwc1 $f12, 0x38($s1) +/* BDD270 802400C0 8E420000 */ lw $v0, ($s2) +/* BDD274 802400C4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BDD278 802400C8 8C460028 */ lw $a2, 0x28($v0) +/* BDD27C 802400CC 0C00A720 */ jal atan2 +/* BDD280 802400D0 8C470030 */ lw $a3, 0x30($v0) +/* BDD284 802400D4 4600A306 */ mov.s $f12, $f20 +/* BDD288 802400D8 0C00A70A */ jal get_clamped_angle_diff +/* BDD28C 802400DC 46000386 */ mov.s $f14, $f0 +/* BDD290 802400E0 46000005 */ abs.s $f0, $f0 +/* BDD294 802400E4 3C018024 */ lui $at, 0x8024 +/* BDD298 802400E8 D4221AE8 */ ldc1 $f2, 0x1ae8($at) +/* BDD29C 802400EC 46000021 */ cvt.d.s $f0, $f0 +/* BDD2A0 802400F0 4620103C */ c.lt.d $f2, $f0 +/* BDD2A4 802400F4 00000000 */ nop +/* BDD2A8 802400F8 45030001 */ bc1tl .L80240100 +/* BDD2AC 802400FC 0000802D */ daddu $s0, $zero, $zero +.L80240100: +/* BDD2B0 80240100 8E420000 */ lw $v0, ($s2) +/* BDD2B4 80240104 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDD2B8 80240108 C442002C */ lwc1 $f2, 0x2c($v0) +/* BDD2BC 8024010C 46020001 */ sub.s $f0, $f0, $f2 +/* BDD2C0 80240110 3C014220 */ lui $at, 0x4220 +/* BDD2C4 80240114 44811000 */ mtc1 $at, $f2 +/* BDD2C8 80240118 46000005 */ abs.s $f0, $f0 +/* BDD2CC 8024011C 4600103E */ c.le.s $f2, $f0 +/* BDD2D0 80240120 00000000 */ nop +/* BDD2D4 80240124 45030001 */ bc1tl .L8024012C +/* BDD2D8 80240128 0000802D */ daddu $s0, $zero, $zero +.L8024012C: +/* BDD2DC 8024012C 3C038011 */ lui $v1, 0x8011 +/* BDD2E0 80240130 8063EBB3 */ lb $v1, -0x144d($v1) +/* BDD2E4 80240134 24020009 */ addiu $v0, $zero, 9 +/* BDD2E8 80240138 50620001 */ beql $v1, $v0, .L80240140 +/* BDD2EC 8024013C 0000802D */ daddu $s0, $zero, $zero +.L80240140: +/* BDD2F0 80240140 0200102D */ daddu $v0, $s0, $zero +/* BDD2F4 80240144 8FBF001C */ lw $ra, 0x1c($sp) +/* BDD2F8 80240148 8FB20018 */ lw $s2, 0x18($sp) +/* BDD2FC 8024014C 8FB10014 */ lw $s1, 0x14($sp) +/* BDD300 80240150 8FB00010 */ lw $s0, 0x10($sp) +/* BDD304 80240154 D7B40020 */ ldc1 $f20, 0x20($sp) +/* BDD308 80240158 03E00008 */ jr $ra +/* BDD30C 8024015C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240160_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240160_BDD1B0.s new file mode 100644 index 0000000000..f7f84afc10 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240160_BDD1B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_BDD310 +/* BDD310 80240160 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDD314 80240164 AFB10014 */ sw $s1, 0x14($sp) +/* BDD318 80240168 0080882D */ daddu $s1, $a0, $zero +/* BDD31C 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* BDD320 80240170 AFB20018 */ sw $s2, 0x18($sp) +/* BDD324 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* BDD328 80240178 8E320148 */ lw $s2, 0x148($s1) +/* BDD32C 8024017C 0C00EABB */ jal get_npc_unsafe +/* BDD330 80240180 86440008 */ lh $a0, 8($s2) +/* BDD334 80240184 0040802D */ daddu $s0, $v0, $zero +/* BDD338 80240188 0C00EAFF */ jal disable_npc_shadow +/* BDD33C 8024018C 0200202D */ daddu $a0, $s0, $zero +/* BDD340 80240190 24020016 */ addiu $v0, $zero, 0x16 +/* BDD344 80240194 A60200A8 */ sh $v0, 0xa8($s0) +/* BDD348 80240198 24020018 */ addiu $v0, $zero, 0x18 +/* BDD34C 8024019C A60200A6 */ sh $v0, 0xa6($s0) +/* BDD350 802401A0 AE200074 */ sw $zero, 0x74($s1) +/* BDD354 802401A4 A600008E */ sh $zero, 0x8e($s0) +/* BDD358 802401A8 8E4200CC */ lw $v0, 0xcc($s2) +/* BDD35C 802401AC 8C420020 */ lw $v0, 0x20($v0) +/* BDD360 802401B0 AE020028 */ sw $v0, 0x28($s0) +/* BDD364 802401B4 24020001 */ addiu $v0, $zero, 1 +/* BDD368 802401B8 AE220070 */ sw $v0, 0x70($s1) +/* BDD36C 802401BC 8FBF001C */ lw $ra, 0x1c($sp) +/* BDD370 802401C0 8FB20018 */ lw $s2, 0x18($sp) +/* BDD374 802401C4 8FB10014 */ lw $s1, 0x14($sp) +/* BDD378 802401C8 8FB00010 */ lw $s0, 0x10($sp) +/* BDD37C 802401CC 03E00008 */ jr $ra +/* BDD380 802401D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_802401D4_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_802401D4_BDD1B0.s new file mode 100644 index 0000000000..e7e57a0bb9 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_802401D4_BDD1B0.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D4_BDD384 +/* BDD384 802401D4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDD388 802401D8 AFB3003C */ sw $s3, 0x3c($sp) +/* BDD38C 802401DC 0080982D */ daddu $s3, $a0, $zero +/* BDD390 802401E0 AFBF0044 */ sw $ra, 0x44($sp) +/* BDD394 802401E4 AFB40040 */ sw $s4, 0x40($sp) +/* BDD398 802401E8 AFB20038 */ sw $s2, 0x38($sp) +/* BDD39C 802401EC AFB10034 */ sw $s1, 0x34($sp) +/* BDD3A0 802401F0 AFB00030 */ sw $s0, 0x30($sp) +/* BDD3A4 802401F4 8E700148 */ lw $s0, 0x148($s3) +/* BDD3A8 802401F8 00A0902D */ daddu $s2, $a1, $zero +/* BDD3AC 802401FC 86040008 */ lh $a0, 8($s0) +/* BDD3B0 80240200 0C00EABB */ jal get_npc_unsafe +/* BDD3B4 80240204 00C0A02D */ daddu $s4, $a2, $zero +/* BDD3B8 80240208 8E630074 */ lw $v1, 0x74($s3) +/* BDD3BC 8024020C 1C600032 */ bgtz $v1, .L802402D8 +/* BDD3C0 80240210 0040882D */ daddu $s1, $v0, $zero +/* BDD3C4 80240214 8E420014 */ lw $v0, 0x14($s2) +/* BDD3C8 80240218 AE620074 */ sw $v0, 0x74($s3) +/* BDD3CC 8024021C C640000C */ lwc1 $f0, 0xc($s2) +/* BDD3D0 80240220 3C018024 */ lui $at, 0x8024 +/* BDD3D4 80240224 D4221AF0 */ ldc1 $f2, 0x1af0($at) +/* BDD3D8 80240228 46000021 */ cvt.d.s $f0, $f0 +/* BDD3DC 8024022C 46220002 */ mul.d $f0, $f0, $f2 +/* BDD3E0 80240230 00000000 */ nop +/* BDD3E4 80240234 0280202D */ daddu $a0, $s4, $zero +/* BDD3E8 80240238 AFA00010 */ sw $zero, 0x10($sp) +/* BDD3EC 8024023C 8E470010 */ lw $a3, 0x10($s2) +/* BDD3F0 80240240 46200020 */ cvt.s.d $f0, $f0 +/* BDD3F4 80240244 44060000 */ mfc1 $a2, $f0 +/* BDD3F8 80240248 0C01242D */ jal func_800490B4 +/* BDD3FC 8024024C 0200282D */ daddu $a1, $s0, $zero +/* BDD400 80240250 10400021 */ beqz $v0, .L802402D8 +/* BDD404 80240254 0000202D */ daddu $a0, $zero, $zero +/* BDD408 80240258 0220282D */ daddu $a1, $s1, $zero +/* BDD40C 8024025C 0000302D */ daddu $a2, $zero, $zero +/* BDD410 80240260 8E0200CC */ lw $v0, 0xcc($s0) +/* BDD414 80240264 3C013F80 */ lui $at, 0x3f80 +/* BDD418 80240268 44810000 */ mtc1 $at, $f0 +/* BDD41C 8024026C 3C014000 */ lui $at, 0x4000 +/* BDD420 80240270 44811000 */ mtc1 $at, $f2 +/* BDD424 80240274 8C430024 */ lw $v1, 0x24($v0) +/* BDD428 80240278 862200A8 */ lh $v0, 0xa8($s1) +/* BDD42C 8024027C 3C01C1A0 */ lui $at, 0xc1a0 +/* BDD430 80240280 44812000 */ mtc1 $at, $f4 +/* BDD434 80240284 44823000 */ mtc1 $v0, $f6 +/* BDD438 80240288 00000000 */ nop +/* BDD43C 8024028C 468031A0 */ cvt.s.w $f6, $f6 +/* BDD440 80240290 44073000 */ mfc1 $a3, $f6 +/* BDD444 80240294 2402000F */ addiu $v0, $zero, 0xf +/* BDD448 80240298 AE230028 */ sw $v1, 0x28($s1) +/* BDD44C 8024029C AFA2001C */ sw $v0, 0x1c($sp) +/* BDD450 802402A0 27A20028 */ addiu $v0, $sp, 0x28 +/* BDD454 802402A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* BDD458 802402A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* BDD45C 802402AC E7A40018 */ swc1 $f4, 0x18($sp) +/* BDD460 802402B0 0C01BFA4 */ jal fx_emote +/* BDD464 802402B4 AFA20020 */ sw $v0, 0x20($sp) +/* BDD468 802402B8 0220202D */ daddu $a0, $s1, $zero +/* BDD46C 802402BC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BDD470 802402C0 0C012530 */ jal func_800494C0 +/* BDD474 802402C4 3C060020 */ lui $a2, 0x20 +/* BDD478 802402C8 2402000C */ addiu $v0, $zero, 0xc +/* BDD47C 802402CC A622008E */ sh $v0, 0x8e($s1) +/* BDD480 802402D0 24020002 */ addiu $v0, $zero, 2 +/* BDD484 802402D4 AE620070 */ sw $v0, 0x70($s3) +.L802402D8: +/* BDD488 802402D8 8E620074 */ lw $v0, 0x74($s3) +/* BDD48C 802402DC 2442FFFF */ addiu $v0, $v0, -1 +/* BDD490 802402E0 AE620074 */ sw $v0, 0x74($s3) +/* BDD494 802402E4 8FBF0044 */ lw $ra, 0x44($sp) +/* BDD498 802402E8 8FB40040 */ lw $s4, 0x40($sp) +/* BDD49C 802402EC 8FB3003C */ lw $s3, 0x3c($sp) +/* BDD4A0 802402F0 8FB20038 */ lw $s2, 0x38($sp) +/* BDD4A4 802402F4 8FB10034 */ lw $s1, 0x34($sp) +/* BDD4A8 802402F8 8FB00030 */ lw $s0, 0x30($sp) +/* BDD4AC 802402FC 03E00008 */ jr $ra +/* BDD4B0 80240300 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240304_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240304_BDD1B0.s new file mode 100644 index 0000000000..d6535fb50d --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240304_BDD1B0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240304_BDD4B4 +/* BDD4B4 80240304 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDD4B8 80240308 AFB20018 */ sw $s2, 0x18($sp) +/* BDD4BC 8024030C 0080902D */ daddu $s2, $a0, $zero +/* BDD4C0 80240310 AFBF001C */ sw $ra, 0x1c($sp) +/* BDD4C4 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* BDD4C8 80240318 AFB00010 */ sw $s0, 0x10($sp) +/* BDD4CC 8024031C 8E510148 */ lw $s1, 0x148($s2) +/* BDD4D0 80240320 0C00EABB */ jal get_npc_unsafe +/* BDD4D4 80240324 86240008 */ lh $a0, 8($s1) +/* BDD4D8 80240328 0040802D */ daddu $s0, $v0, $zero +/* BDD4DC 8024032C 9602008E */ lhu $v0, 0x8e($s0) +/* BDD4E0 80240330 2442FFFF */ addiu $v0, $v0, -1 +/* BDD4E4 80240334 A602008E */ sh $v0, 0x8e($s0) +/* BDD4E8 80240338 00021400 */ sll $v0, $v0, 0x10 +/* BDD4EC 8024033C 1C400012 */ bgtz $v0, .L80240388 +/* BDD4F0 80240340 00000000 */ nop +/* BDD4F4 80240344 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDD4F8 80240348 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDD4FC 8024034C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDD500 80240350 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDD504 80240354 8C460028 */ lw $a2, 0x28($v0) +/* BDD508 80240358 0C00A720 */ jal atan2 +/* BDD50C 8024035C 8C470030 */ lw $a3, 0x30($v0) +/* BDD510 80240360 0200202D */ daddu $a0, $s0, $zero +/* BDD514 80240364 0C00EAE8 */ jal enable_npc_shadow +/* BDD518 80240368 E600000C */ swc1 $f0, 0xc($s0) +/* BDD51C 8024036C 8E2200CC */ lw $v0, 0xcc($s1) +/* BDD520 80240370 8C430028 */ lw $v1, 0x28($v0) +/* BDD524 80240374 24020008 */ addiu $v0, $zero, 8 +/* BDD528 80240378 A602008E */ sh $v0, 0x8e($s0) +/* BDD52C 8024037C 24020003 */ addiu $v0, $zero, 3 +/* BDD530 80240380 AE030028 */ sw $v1, 0x28($s0) +/* BDD534 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* BDD538 80240388 8FBF001C */ lw $ra, 0x1c($sp) +/* BDD53C 8024038C 8FB20018 */ lw $s2, 0x18($sp) +/* BDD540 80240390 8FB10014 */ lw $s1, 0x14($sp) +/* BDD544 80240394 8FB00010 */ lw $s0, 0x10($sp) +/* BDD548 80240398 03E00008 */ jr $ra +/* BDD54C 8024039C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_802403A0_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_802403A0_BDD1B0.s new file mode 100644 index 0000000000..4930e6e2c3 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_802403A0_BDD1B0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_BDD550 +/* BDD550 802403A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDD554 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* BDD558 802403A8 0080882D */ daddu $s1, $a0, $zero +/* BDD55C 802403AC AFBF0018 */ sw $ra, 0x18($sp) +/* BDD560 802403B0 AFB00010 */ sw $s0, 0x10($sp) +/* BDD564 802403B4 8E220148 */ lw $v0, 0x148($s1) +/* BDD568 802403B8 0C00EABB */ jal get_npc_unsafe +/* BDD56C 802403BC 84440008 */ lh $a0, 8($v0) +/* BDD570 802403C0 0040802D */ daddu $s0, $v0, $zero +/* BDD574 802403C4 9602008E */ lhu $v0, 0x8e($s0) +/* BDD578 802403C8 2442FFFF */ addiu $v0, $v0, -1 +/* BDD57C 802403CC A602008E */ sh $v0, 0x8e($s0) +/* BDD580 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* BDD584 802403D4 1C40000F */ bgtz $v0, .L80240414 +/* BDD588 802403D8 00000000 */ nop +/* BDD58C 802403DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDD590 802403E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDD594 802403E4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDD598 802403E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDD59C 802403EC 8C460028 */ lw $a2, 0x28($v0) +/* BDD5A0 802403F0 0C00A720 */ jal atan2 +/* BDD5A4 802403F4 8C470030 */ lw $a3, 0x30($v0) +/* BDD5A8 802403F8 2402001A */ addiu $v0, $zero, 0x1a +/* BDD5AC 802403FC A60200A8 */ sh $v0, 0xa8($s0) +/* BDD5B0 80240400 24020018 */ addiu $v0, $zero, 0x18 +/* BDD5B4 80240404 A60200A6 */ sh $v0, 0xa6($s0) +/* BDD5B8 80240408 24020004 */ addiu $v0, $zero, 4 +/* BDD5BC 8024040C E600000C */ swc1 $f0, 0xc($s0) +/* BDD5C0 80240410 AE220070 */ sw $v0, 0x70($s1) +.L80240414: +/* BDD5C4 80240414 8FBF0018 */ lw $ra, 0x18($sp) +/* BDD5C8 80240418 8FB10014 */ lw $s1, 0x14($sp) +/* BDD5CC 8024041C 8FB00010 */ lw $s0, 0x10($sp) +/* BDD5D0 80240420 03E00008 */ jr $ra +/* BDD5D4 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240428_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240428_BDD1B0.s new file mode 100644 index 0000000000..0d5bfb5781 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240428_BDD1B0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_BDD5D8 +/* BDD5D8 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDD5DC 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* BDD5E0 80240430 0080882D */ daddu $s1, $a0, $zero +/* BDD5E4 80240434 AFBF001C */ sw $ra, 0x1c($sp) +/* BDD5E8 80240438 AFB20018 */ sw $s2, 0x18($sp) +/* BDD5EC 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* BDD5F0 80240440 8E320148 */ lw $s2, 0x148($s1) +/* BDD5F4 80240444 0C00EABB */ jal get_npc_unsafe +/* BDD5F8 80240448 86440008 */ lh $a0, 8($s2) +/* BDD5FC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* BDD600 80240450 0C00A67F */ jal rand_int +/* BDD604 80240454 0040802D */ daddu $s0, $v0, $zero +/* BDD608 80240458 C60C000C */ lwc1 $f12, 0xc($s0) +/* BDD60C 8024045C 44820000 */ mtc1 $v0, $f0 +/* BDD610 80240460 00000000 */ nop +/* BDD614 80240464 46800020 */ cvt.s.w $f0, $f0 +/* BDD618 80240468 46006300 */ add.s $f12, $f12, $f0 +/* BDD61C 8024046C 3C0142B4 */ lui $at, 0x42b4 +/* BDD620 80240470 44810000 */ mtc1 $at, $f0 +/* BDD624 80240474 0C00A6C9 */ jal clamp_angle +/* BDD628 80240478 46006301 */ sub.s $f12, $f12, $f0 +/* BDD62C 8024047C E600000C */ swc1 $f0, 0xc($s0) +/* BDD630 80240480 8E4200CC */ lw $v0, 0xcc($s2) +/* BDD634 80240484 8C420000 */ lw $v0, ($v0) +/* BDD638 80240488 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BDD63C 8024048C 0C00A67F */ jal rand_int +/* BDD640 80240490 AE020028 */ sw $v0, 0x28($s0) +/* BDD644 80240494 00021FC2 */ srl $v1, $v0, 0x1f +/* BDD648 80240498 00431821 */ addu $v1, $v0, $v1 +/* BDD64C 8024049C 00031843 */ sra $v1, $v1, 1 +/* BDD650 802404A0 00031840 */ sll $v1, $v1, 1 +/* BDD654 802404A4 00431023 */ subu $v0, $v0, $v1 +/* BDD658 802404A8 24420002 */ addiu $v0, $v0, 2 +/* BDD65C 802404AC AE220074 */ sw $v0, 0x74($s1) +/* BDD660 802404B0 24020005 */ addiu $v0, $zero, 5 +/* BDD664 802404B4 AE220070 */ sw $v0, 0x70($s1) +/* BDD668 802404B8 8FBF001C */ lw $ra, 0x1c($sp) +/* BDD66C 802404BC 8FB20018 */ lw $s2, 0x18($sp) +/* BDD670 802404C0 8FB10014 */ lw $s1, 0x14($sp) +/* BDD674 802404C4 8FB00010 */ lw $s0, 0x10($sp) +/* BDD678 802404C8 03E00008 */ jr $ra +/* BDD67C 802404CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_802404D0_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_802404D0_BDD1B0.s new file mode 100644 index 0000000000..0dde830877 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_802404D0_BDD1B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0_BDD680 +/* BDD680 802404D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDD684 802404D4 AFB3003C */ sw $s3, 0x3c($sp) +/* BDD688 802404D8 0080982D */ daddu $s3, $a0, $zero +/* BDD68C 802404DC AFBF0040 */ sw $ra, 0x40($sp) +/* BDD690 802404E0 AFB20038 */ sw $s2, 0x38($sp) +/* BDD694 802404E4 AFB10034 */ sw $s1, 0x34($sp) +/* BDD698 802404E8 AFB00030 */ sw $s0, 0x30($sp) +/* BDD69C 802404EC 8E700148 */ lw $s0, 0x148($s3) +/* BDD6A0 802404F0 00A0902D */ daddu $s2, $a1, $zero +/* BDD6A4 802404F4 86040008 */ lh $a0, 8($s0) +/* BDD6A8 802404F8 0C00EABB */ jal get_npc_unsafe +/* BDD6AC 802404FC 00C0882D */ daddu $s1, $a2, $zero +/* BDD6B0 80240500 0220202D */ daddu $a0, $s1, $zero +/* BDD6B4 80240504 0200282D */ daddu $a1, $s0, $zero +/* BDD6B8 80240508 AFA00010 */ sw $zero, 0x10($sp) +/* BDD6BC 8024050C 8E460024 */ lw $a2, 0x24($s2) +/* BDD6C0 80240510 8E470028 */ lw $a3, 0x28($s2) +/* BDD6C4 80240514 0C01242D */ jal func_800490B4 +/* BDD6C8 80240518 0040802D */ daddu $s0, $v0, $zero +/* BDD6CC 8024051C 1040000B */ beqz $v0, .L8024054C +/* BDD6D0 80240520 00000000 */ nop +/* BDD6D4 80240524 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDD6D8 80240528 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDD6DC 8024052C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDD6E0 80240530 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDD6E4 80240534 8C460028 */ lw $a2, 0x28($v0) +/* BDD6E8 80240538 0C00A720 */ jal atan2 +/* BDD6EC 8024053C 8C470030 */ lw $a3, 0x30($v0) +/* BDD6F0 80240540 2402000C */ addiu $v0, $zero, 0xc +/* BDD6F4 80240544 08090189 */ j .L80240624 +/* BDD6F8 80240548 E600000C */ swc1 $f0, 0xc($s0) +.L8024054C: +/* BDD6FC 8024054C 9602008E */ lhu $v0, 0x8e($s0) +/* BDD700 80240550 2442FFFF */ addiu $v0, $v0, -1 +/* BDD704 80240554 A602008E */ sh $v0, 0x8e($s0) +/* BDD708 80240558 00021400 */ sll $v0, $v0, 0x10 +/* BDD70C 8024055C 1C400032 */ bgtz $v0, .L80240628 +/* BDD710 80240560 00000000 */ nop +/* BDD714 80240564 8E620074 */ lw $v0, 0x74($s3) +/* BDD718 80240568 2442FFFF */ addiu $v0, $v0, -1 +/* BDD71C 8024056C 18400014 */ blez $v0, .L802405C0 +/* BDD720 80240570 AE620074 */ sw $v0, 0x74($s3) +/* BDD724 80240574 C600000C */ lwc1 $f0, 0xc($s0) +/* BDD728 80240578 3C014334 */ lui $at, 0x4334 +/* BDD72C 8024057C 44816000 */ mtc1 $at, $f12 +/* BDD730 80240580 0C00A6C9 */ jal clamp_angle +/* BDD734 80240584 460C0300 */ add.s $f12, $f0, $f12 +/* BDD738 80240588 E600000C */ swc1 $f0, 0xc($s0) +/* BDD73C 8024058C 8E440008 */ lw $a0, 8($s2) +/* BDD740 80240590 000417C2 */ srl $v0, $a0, 0x1f +/* BDD744 80240594 00822021 */ addu $a0, $a0, $v0 +/* BDD748 80240598 00042043 */ sra $a0, $a0, 1 +/* BDD74C 8024059C 0C00A67F */ jal rand_int +/* BDD750 802405A0 24840001 */ addiu $a0, $a0, 1 +/* BDD754 802405A4 8E430008 */ lw $v1, 8($s2) +/* BDD758 802405A8 000327C2 */ srl $a0, $v1, 0x1f +/* BDD75C 802405AC 00641821 */ addu $v1, $v1, $a0 +/* BDD760 802405B0 00031843 */ sra $v1, $v1, 1 +/* BDD764 802405B4 00621821 */ addu $v1, $v1, $v0 +/* BDD768 802405B8 0809018A */ j .L80240628 +/* BDD76C 802405BC A603008E */ sh $v1, 0x8e($s0) +.L802405C0: +/* BDD770 802405C0 24040002 */ addiu $a0, $zero, 2 +/* BDD774 802405C4 0200282D */ daddu $a1, $s0, $zero +/* BDD778 802405C8 0000302D */ daddu $a2, $zero, $zero +/* BDD77C 802405CC 860300A8 */ lh $v1, 0xa8($s0) +/* BDD780 802405D0 3C013F80 */ lui $at, 0x3f80 +/* BDD784 802405D4 44810000 */ mtc1 $at, $f0 +/* BDD788 802405D8 3C014000 */ lui $at, 0x4000 +/* BDD78C 802405DC 44811000 */ mtc1 $at, $f2 +/* BDD790 802405E0 3C01C1A0 */ lui $at, 0xc1a0 +/* BDD794 802405E4 44812000 */ mtc1 $at, $f4 +/* BDD798 802405E8 2402000C */ addiu $v0, $zero, 0xc +/* BDD79C 802405EC AFA2001C */ sw $v0, 0x1c($sp) +/* BDD7A0 802405F0 44833000 */ mtc1 $v1, $f6 +/* BDD7A4 802405F4 00000000 */ nop +/* BDD7A8 802405F8 468031A0 */ cvt.s.w $f6, $f6 +/* BDD7AC 802405FC 44073000 */ mfc1 $a3, $f6 +/* BDD7B0 80240600 27A20028 */ addiu $v0, $sp, 0x28 +/* BDD7B4 80240604 AFA20020 */ sw $v0, 0x20($sp) +/* BDD7B8 80240608 E7A00010 */ swc1 $f0, 0x10($sp) +/* BDD7BC 8024060C E7A20014 */ swc1 $f2, 0x14($sp) +/* BDD7C0 80240610 0C01BFA4 */ jal fx_emote +/* BDD7C4 80240614 E7A40018 */ swc1 $f4, 0x18($sp) +/* BDD7C8 80240618 2402000F */ addiu $v0, $zero, 0xf +/* BDD7CC 8024061C A602008E */ sh $v0, 0x8e($s0) +/* BDD7D0 80240620 24020028 */ addiu $v0, $zero, 0x28 +.L80240624: +/* BDD7D4 80240624 AE620070 */ sw $v0, 0x70($s3) +.L80240628: +/* BDD7D8 80240628 8FBF0040 */ lw $ra, 0x40($sp) +/* BDD7DC 8024062C 8FB3003C */ lw $s3, 0x3c($sp) +/* BDD7E0 80240630 8FB20038 */ lw $s2, 0x38($sp) +/* BDD7E4 80240634 8FB10034 */ lw $s1, 0x34($sp) +/* BDD7E8 80240638 8FB00030 */ lw $s0, 0x30($sp) +/* BDD7EC 8024063C 03E00008 */ jr $ra +/* BDD7F0 80240640 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240644_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240644_BDD1B0.s new file mode 100644 index 0000000000..2d02a1b51e --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240644_BDD1B0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_BDD7F4 +/* BDD7F4 80240644 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDD7F8 80240648 AFB10014 */ sw $s1, 0x14($sp) +/* BDD7FC 8024064C 0080882D */ daddu $s1, $a0, $zero +/* BDD800 80240650 AFBF0018 */ sw $ra, 0x18($sp) +/* BDD804 80240654 AFB00010 */ sw $s0, 0x10($sp) +/* BDD808 80240658 8E300148 */ lw $s0, 0x148($s1) +/* BDD80C 8024065C 0C00EABB */ jal get_npc_unsafe +/* BDD810 80240660 86040008 */ lh $a0, 8($s0) +/* BDD814 80240664 96030096 */ lhu $v1, 0x96($s0) +/* BDD818 80240668 A443008E */ sh $v1, 0x8e($v0) +/* BDD81C 8024066C 8E0300CC */ lw $v1, 0xcc($s0) +/* BDD820 80240670 8C630034 */ lw $v1, 0x34($v1) +/* BDD824 80240674 AC430028 */ sw $v1, 0x28($v0) +/* BDD828 80240678 24020015 */ addiu $v0, $zero, 0x15 +/* BDD82C 8024067C AE220070 */ sw $v0, 0x70($s1) +/* BDD830 80240680 8FBF0018 */ lw $ra, 0x18($sp) +/* BDD834 80240684 8FB10014 */ lw $s1, 0x14($sp) +/* BDD838 80240688 8FB00010 */ lw $s0, 0x10($sp) +/* BDD83C 8024068C 03E00008 */ jr $ra +/* BDD840 80240690 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240694_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240694_BDD1B0.s new file mode 100644 index 0000000000..3f6953e769 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240694_BDD1B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240694_BDD844 +/* BDD844 80240694 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BDD848 80240698 AFB30024 */ sw $s3, 0x24($sp) +/* BDD84C 8024069C 0080982D */ daddu $s3, $a0, $zero +/* BDD850 802406A0 AFBF002C */ sw $ra, 0x2c($sp) +/* BDD854 802406A4 AFB40028 */ sw $s4, 0x28($sp) +/* BDD858 802406A8 AFB20020 */ sw $s2, 0x20($sp) +/* BDD85C 802406AC AFB1001C */ sw $s1, 0x1c($sp) +/* BDD860 802406B0 AFB00018 */ sw $s0, 0x18($sp) +/* BDD864 802406B4 8E710148 */ lw $s1, 0x148($s3) +/* BDD868 802406B8 86240008 */ lh $a0, 8($s1) +/* BDD86C 802406BC 0C00EABB */ jal get_npc_unsafe +/* BDD870 802406C0 00A0A02D */ daddu $s4, $a1, $zero +/* BDD874 802406C4 0040802D */ daddu $s0, $v0, $zero +/* BDD878 802406C8 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* BDD87C 802406CC 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* BDD880 802406D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDD884 802406D4 8E420000 */ lw $v0, ($s2) +/* BDD888 802406D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDD88C 802406DC 8C460028 */ lw $a2, 0x28($v0) +/* BDD890 802406E0 0C00A720 */ jal atan2 +/* BDD894 802406E4 8C470030 */ lw $a3, 0x30($v0) +/* BDD898 802406E8 3C025555 */ lui $v0, 0x5555 +/* BDD89C 802406EC 9603008E */ lhu $v1, 0x8e($s0) +/* BDD8A0 802406F0 34425556 */ ori $v0, $v0, 0x5556 +/* BDD8A4 802406F4 00031C00 */ sll $v1, $v1, 0x10 +/* BDD8A8 802406F8 00032403 */ sra $a0, $v1, 0x10 +/* BDD8AC 802406FC 00820018 */ mult $a0, $v0 +/* BDD8B0 80240700 00031FC3 */ sra $v1, $v1, 0x1f +/* BDD8B4 80240704 00004010 */ mfhi $t0 +/* BDD8B8 80240708 01031823 */ subu $v1, $t0, $v1 +/* BDD8BC 8024070C 00031040 */ sll $v0, $v1, 1 +/* BDD8C0 80240710 00431021 */ addu $v0, $v0, $v1 +/* BDD8C4 80240714 00822023 */ subu $a0, $a0, $v0 +/* BDD8C8 80240718 00042400 */ sll $a0, $a0, 0x10 +/* BDD8CC 8024071C 1480000C */ bnez $a0, .L80240750 +/* BDD8D0 80240720 E600000C */ swc1 $f0, 0xc($s0) +/* BDD8D4 80240724 C6020040 */ lwc1 $f2, 0x40($s0) +/* BDD8D8 80240728 3C014000 */ lui $at, 0x4000 +/* BDD8DC 8024072C 44810000 */ mtc1 $at, $f0 +/* BDD8E0 80240730 AFA00010 */ sw $zero, 0x10($sp) +/* BDD8E4 80240734 AFA00014 */ sw $zero, 0x14($sp) +/* BDD8E8 80240738 46001080 */ add.s $f2, $f2, $f0 +/* BDD8EC 8024073C 8E06003C */ lw $a2, 0x3c($s0) +/* BDD8F0 80240740 8E050038 */ lw $a1, 0x38($s0) +/* BDD8F4 80240744 44071000 */ mfc1 $a3, $f2 +/* BDD8F8 80240748 0C01BECC */ jal fx_walk_normal +/* BDD8FC 8024074C 24040002 */ addiu $a0, $zero, 2 +.L80240750: +/* BDD900 80240750 9602008E */ lhu $v0, 0x8e($s0) +/* BDD904 80240754 2442FFFF */ addiu $v0, $v0, -1 +/* BDD908 80240758 A602008E */ sh $v0, 0x8e($s0) +/* BDD90C 8024075C 00021400 */ sll $v0, $v0, 0x10 +/* BDD910 80240760 1C40002C */ bgtz $v0, .L80240814 +/* BDD914 80240764 00000000 */ nop +/* BDD918 80240768 C6000038 */ lwc1 $f0, 0x38($s0) +/* BDD91C 8024076C 4600010D */ trunc.w.s $f4, $f0 +/* BDD920 80240770 44022000 */ mfc1 $v0, $f4 +/* BDD924 80240774 00000000 */ nop +/* BDD928 80240778 A6220010 */ sh $v0, 0x10($s1) +/* BDD92C 8024077C C600003C */ lwc1 $f0, 0x3c($s0) +/* BDD930 80240780 4600010D */ trunc.w.s $f4, $f0 +/* BDD934 80240784 44022000 */ mfc1 $v0, $f4 +/* BDD938 80240788 00000000 */ nop +/* BDD93C 8024078C A6220012 */ sh $v0, 0x12($s1) +/* BDD940 80240790 C6000040 */ lwc1 $f0, 0x40($s0) +/* BDD944 80240794 24020001 */ addiu $v0, $zero, 1 +/* BDD948 80240798 A2220007 */ sb $v0, 7($s1) +/* BDD94C 8024079C 4600010D */ trunc.w.s $f4, $f0 +/* BDD950 802407A0 44022000 */ mfc1 $v0, $f4 +/* BDD954 802407A4 00000000 */ nop +/* BDD958 802407A8 A6220014 */ sh $v0, 0x14($s1) +/* BDD95C 802407AC C6800018 */ lwc1 $f0, 0x18($s4) +/* BDD960 802407B0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDD964 802407B4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDD968 802407B8 8E420000 */ lw $v0, ($s2) +/* BDD96C 802407BC E6000018 */ swc1 $f0, 0x18($s0) +/* BDD970 802407C0 8C460028 */ lw $a2, 0x28($v0) +/* BDD974 802407C4 0C00A7B5 */ jal dist2D +/* BDD978 802407C8 8C470030 */ lw $a3, 0x30($v0) +/* BDD97C 802407CC C6020018 */ lwc1 $f2, 0x18($s0) +/* BDD980 802407D0 46020003 */ div.s $f0, $f0, $f2 +/* BDD984 802407D4 3C018024 */ lui $at, 0x8024 +/* BDD988 802407D8 D4221AF8 */ ldc1 $f2, 0x1af8($at) +/* BDD98C 802407DC 46000021 */ cvt.d.s $f0, $f0 +/* BDD990 802407E0 46220000 */ add.d $f0, $f0, $f2 +/* BDD994 802407E4 4620010D */ trunc.w.d $f4, $f0 +/* BDD998 802407E8 44022000 */ mfc1 $v0, $f4 +/* BDD99C 802407EC 00000000 */ nop +/* BDD9A0 802407F0 A602008E */ sh $v0, 0x8e($s0) +/* BDD9A4 802407F4 00021400 */ sll $v0, $v0, 0x10 +/* BDD9A8 802407F8 00021403 */ sra $v0, $v0, 0x10 +/* BDD9AC 802407FC 2842000F */ slti $v0, $v0, 0xf +/* BDD9B0 80240800 10400002 */ beqz $v0, .L8024080C +/* BDD9B4 80240804 2402000F */ addiu $v0, $zero, 0xf +/* BDD9B8 80240808 A602008E */ sh $v0, 0x8e($s0) +.L8024080C: +/* BDD9BC 8024080C 24020016 */ addiu $v0, $zero, 0x16 +/* BDD9C0 80240810 AE620070 */ sw $v0, 0x70($s3) +.L80240814: +/* BDD9C4 80240814 8FBF002C */ lw $ra, 0x2c($sp) +/* BDD9C8 80240818 8FB40028 */ lw $s4, 0x28($sp) +/* BDD9CC 8024081C 8FB30024 */ lw $s3, 0x24($sp) +/* BDD9D0 80240820 8FB20020 */ lw $s2, 0x20($sp) +/* BDD9D4 80240824 8FB1001C */ lw $s1, 0x1c($sp) +/* BDD9D8 80240828 8FB00018 */ lw $s0, 0x18($sp) +/* BDD9DC 8024082C 03E00008 */ jr $ra +/* BDD9E0 80240830 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240834_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240834_BDD1B0.s new file mode 100644 index 0000000000..d22491cc9a --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240834_BDD1B0.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240834_BDD9E4 +/* BDD9E4 80240834 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDD9E8 80240838 AFB3003C */ sw $s3, 0x3c($sp) +/* BDD9EC 8024083C 0080982D */ daddu $s3, $a0, $zero +/* BDD9F0 80240840 AFBF0040 */ sw $ra, 0x40($sp) +/* BDD9F4 80240844 AFB20038 */ sw $s2, 0x38($sp) +/* BDD9F8 80240848 AFB10034 */ sw $s1, 0x34($sp) +/* BDD9FC 8024084C AFB00030 */ sw $s0, 0x30($sp) +/* BDDA00 80240850 8E720148 */ lw $s2, 0x148($s3) +/* BDDA04 80240854 0C00EABB */ jal get_npc_unsafe +/* BDDA08 80240858 86440008 */ lh $a0, 8($s2) +/* BDDA0C 8024085C 0040802D */ daddu $s0, $v0, $zero +/* BDDA10 80240860 0200202D */ daddu $a0, $s0, $zero +/* BDDA14 80240864 0C00F598 */ jal func_8003D660 +/* BDDA18 80240868 24050001 */ addiu $a1, $zero, 1 +/* BDDA1C 8024086C 8E050018 */ lw $a1, 0x18($s0) +/* BDDA20 80240870 8E06000C */ lw $a2, 0xc($s0) +/* BDDA24 80240874 0C00EA95 */ jal npc_move_heading +/* BDDA28 80240878 0200202D */ daddu $a0, $s0, $zero +/* BDDA2C 8024087C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BDDA30 80240880 C6000040 */ lwc1 $f0, 0x40($s0) +/* BDDA34 80240884 C462001C */ lwc1 $f2, 0x1c($v1) +/* BDDA38 80240888 468010A0 */ cvt.s.w $f2, $f2 +/* BDDA3C 8024088C C4640024 */ lwc1 $f4, 0x24($v1) +/* BDDA40 80240890 46802120 */ cvt.s.w $f4, $f4 +/* BDDA44 80240894 E7A00010 */ swc1 $f0, 0x10($sp) +/* BDDA48 80240898 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDA4C 8024089C 44051000 */ mfc1 $a1, $f2 +/* BDDA50 802408A0 C4400028 */ lwc1 $f0, 0x28($v0) +/* BDDA54 802408A4 46800020 */ cvt.s.w $f0, $f0 +/* BDDA58 802408A8 E7A00014 */ swc1 $f0, 0x14($sp) +/* BDDA5C 802408AC 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDA60 802408B0 44062000 */ mfc1 $a2, $f4 +/* BDDA64 802408B4 C440002C */ lwc1 $f0, 0x2c($v0) +/* BDDA68 802408B8 46800020 */ cvt.s.w $f0, $f0 +/* BDDA6C 802408BC E7A00018 */ swc1 $f0, 0x18($sp) +/* BDDA70 802408C0 8C640030 */ lw $a0, 0x30($v1) +/* BDDA74 802408C4 0C0123F5 */ jal is_point_within_region +/* BDDA78 802408C8 8E070038 */ lw $a3, 0x38($s0) +/* BDDA7C 802408CC C6000038 */ lwc1 $f0, 0x38($s0) +/* BDDA80 802408D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BDDA84 802408D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* BDDA88 802408D8 3C013F80 */ lui $at, 0x3f80 +/* BDDA8C 802408DC 44813000 */ mtc1 $at, $f6 +/* BDDA90 802408E0 E7A00020 */ swc1 $f0, 0x20($sp) +/* BDDA94 802408E4 E7A20024 */ swc1 $f2, 0x24($sp) +/* BDDA98 802408E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* BDDA9C 802408EC E7A60010 */ swc1 $f6, 0x10($sp) +/* BDDAA0 802408F0 C600000C */ lwc1 $f0, 0xc($s0) +/* BDDAA4 802408F4 0002882B */ sltu $s1, $zero, $v0 +/* BDDAA8 802408F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* BDDAAC 802408FC 860200A8 */ lh $v0, 0xa8($s0) +/* BDDAB0 80240900 27A50020 */ addiu $a1, $sp, 0x20 +/* BDDAB4 80240904 44820000 */ mtc1 $v0, $f0 +/* BDDAB8 80240908 00000000 */ nop +/* BDDABC 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* BDDAC0 80240910 E7A00018 */ swc1 $f0, 0x18($sp) +/* BDDAC4 80240914 860200A6 */ lh $v0, 0xa6($s0) +/* BDDAC8 80240918 27A60024 */ addiu $a2, $sp, 0x24 +/* BDDACC 8024091C 44820000 */ mtc1 $v0, $f0 +/* BDDAD0 80240920 00000000 */ nop +/* BDDAD4 80240924 46800020 */ cvt.s.w $f0, $f0 +/* BDDAD8 80240928 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BDDADC 8024092C 8E040080 */ lw $a0, 0x80($s0) +/* BDDAE0 80240930 0C037711 */ jal func_800DDC44 +/* BDDAE4 80240934 27A70028 */ addiu $a3, $sp, 0x28 +/* BDDAE8 80240938 54400001 */ bnel $v0, $zero, .L80240940 +/* BDDAEC 8024093C 24110001 */ addiu $s1, $zero, 1 +.L80240940: +/* BDDAF0 80240940 9602008E */ lhu $v0, 0x8e($s0) +/* BDDAF4 80240944 2442FFFF */ addiu $v0, $v0, -1 +/* BDDAF8 80240948 A602008E */ sh $v0, 0x8e($s0) +/* BDDAFC 8024094C 00021400 */ sll $v0, $v0, 0x10 +/* BDDB00 80240950 58400001 */ blezl $v0, .L80240958 +/* BDDB04 80240954 24110001 */ addiu $s1, $zero, 1 +.L80240958: +/* BDDB08 80240958 12200003 */ beqz $s1, .L80240968 +/* BDDB0C 8024095C 24020004 */ addiu $v0, $zero, 4 +/* BDDB10 80240960 AE620070 */ sw $v0, 0x70($s3) +/* BDDB14 80240964 A2400007 */ sb $zero, 7($s2) +.L80240968: +/* BDDB18 80240968 8FBF0040 */ lw $ra, 0x40($sp) +/* BDDB1C 8024096C 8FB3003C */ lw $s3, 0x3c($sp) +/* BDDB20 80240970 8FB20038 */ lw $s2, 0x38($sp) +/* BDDB24 80240974 8FB10034 */ lw $s1, 0x34($sp) +/* BDDB28 80240978 8FB00030 */ lw $s0, 0x30($sp) +/* BDDB2C 8024097C 03E00008 */ jr $ra +/* BDDB30 80240980 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240984_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240984_BDD1B0.s new file mode 100644 index 0000000000..2e8db50bd4 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240984_BDD1B0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984_BDDB34 +/* BDDB34 80240984 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDDB38 80240988 AFB20018 */ sw $s2, 0x18($sp) +/* BDDB3C 8024098C 0080902D */ daddu $s2, $a0, $zero +/* BDDB40 80240990 AFBF001C */ sw $ra, 0x1c($sp) +/* BDDB44 80240994 AFB10014 */ sw $s1, 0x14($sp) +/* BDDB48 80240998 AFB00010 */ sw $s0, 0x10($sp) +/* BDDB4C 8024099C 8E500148 */ lw $s0, 0x148($s2) +/* BDDB50 802409A0 86040008 */ lh $a0, 8($s0) +/* BDDB54 802409A4 0C00EABB */ jal get_npc_unsafe +/* BDDB58 802409A8 00A0882D */ daddu $s1, $a1, $zero +/* BDDB5C 802409AC 0040182D */ daddu $v1, $v0, $zero +/* BDDB60 802409B0 9462008E */ lhu $v0, 0x8e($v1) +/* BDDB64 802409B4 2442FFFF */ addiu $v0, $v0, -1 +/* BDDB68 802409B8 A462008E */ sh $v0, 0x8e($v1) +/* BDDB6C 802409BC 00021400 */ sll $v0, $v0, 0x10 +/* BDDB70 802409C0 1C400015 */ bgtz $v0, .L80240A18 +/* BDDB74 802409C4 00000000 */ nop +/* BDDB78 802409C8 8E0200CC */ lw $v0, 0xcc($s0) +/* BDDB7C 802409CC 8C420004 */ lw $v0, 4($v0) +/* BDDB80 802409D0 AC620028 */ sw $v0, 0x28($v1) +/* BDDB84 802409D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* BDDB88 802409D8 8C420014 */ lw $v0, 0x14($v0) +/* BDDB8C 802409DC 04410004 */ bgez $v0, .L802409F0 +/* BDDB90 802409E0 00000000 */ nop +/* BDDB94 802409E4 C6200000 */ lwc1 $f0, ($s1) +/* BDDB98 802409E8 08090284 */ j .L80240A10 +/* BDDB9C 802409EC E4600018 */ swc1 $f0, 0x18($v1) +.L802409F0: +/* BDDBA0 802409F0 3C018024 */ lui $at, 0x8024 +/* BDDBA4 802409F4 D4221B00 */ ldc1 $f2, 0x1b00($at) +/* BDDBA8 802409F8 44820000 */ mtc1 $v0, $f0 +/* BDDBAC 802409FC 00000000 */ nop +/* BDDBB0 80240A00 46800021 */ cvt.d.w $f0, $f0 +/* BDDBB4 80240A04 46220003 */ div.d $f0, $f0, $f2 +/* BDDBB8 80240A08 46200020 */ cvt.s.d $f0, $f0 +/* BDDBBC 80240A0C E4600018 */ swc1 $f0, 0x18($v1) +.L80240A10: +/* BDDBC0 80240A10 24020029 */ addiu $v0, $zero, 0x29 +/* BDDBC4 80240A14 AE420070 */ sw $v0, 0x70($s2) +.L80240A18: +/* BDDBC8 80240A18 8FBF001C */ lw $ra, 0x1c($sp) +/* BDDBCC 80240A1C 8FB20018 */ lw $s2, 0x18($sp) +/* BDDBD0 80240A20 8FB10014 */ lw $s1, 0x14($sp) +/* BDDBD4 80240A24 8FB00010 */ lw $s0, 0x10($sp) +/* BDDBD8 80240A28 03E00008 */ jr $ra +/* BDDBDC 80240A2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240A30_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240A30_BDD1B0.s new file mode 100644 index 0000000000..2353e92521 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240A30_BDD1B0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A30_BDDBE0 +/* BDDBE0 80240A30 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BDDBE4 80240A34 AFB30024 */ sw $s3, 0x24($sp) +/* BDDBE8 80240A38 0080982D */ daddu $s3, $a0, $zero +/* BDDBEC 80240A3C AFBF0028 */ sw $ra, 0x28($sp) +/* BDDBF0 80240A40 AFB20020 */ sw $s2, 0x20($sp) +/* BDDBF4 80240A44 AFB1001C */ sw $s1, 0x1c($sp) +/* BDDBF8 80240A48 AFB00018 */ sw $s0, 0x18($sp) +/* BDDBFC 80240A4C 8E720148 */ lw $s2, 0x148($s3) +/* BDDC00 80240A50 00A0882D */ daddu $s1, $a1, $zero +/* BDDC04 80240A54 86440008 */ lh $a0, 8($s2) +/* BDDC08 80240A58 0C00EABB */ jal get_npc_unsafe +/* BDDC0C 80240A5C 00C0802D */ daddu $s0, $a2, $zero +/* BDDC10 80240A60 0200202D */ daddu $a0, $s0, $zero +/* BDDC14 80240A64 0240282D */ daddu $a1, $s2, $zero +/* BDDC18 80240A68 AFA00010 */ sw $zero, 0x10($sp) +/* BDDC1C 80240A6C 8E260024 */ lw $a2, 0x24($s1) +/* BDDC20 80240A70 8E270028 */ lw $a3, 0x28($s1) +/* BDDC24 80240A74 0C01242D */ jal func_800490B4 +/* BDDC28 80240A78 0040802D */ daddu $s0, $v0, $zero +/* BDDC2C 80240A7C 1040000C */ beqz $v0, .L80240AB0 +/* BDDC30 80240A80 00000000 */ nop +/* BDDC34 80240A84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDDC38 80240A88 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDDC3C 80240A8C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDDC40 80240A90 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDDC44 80240A94 8C460028 */ lw $a2, 0x28($v0) +/* BDDC48 80240A98 0C00A720 */ jal atan2 +/* BDDC4C 80240A9C 8C470030 */ lw $a3, 0x30($v0) +/* BDDC50 80240AA0 2402000C */ addiu $v0, $zero, 0xc +/* BDDC54 80240AA4 E600000C */ swc1 $f0, 0xc($s0) +/* BDDC58 80240AA8 080902D3 */ j .L80240B4C +/* BDDC5C 80240AAC AE620070 */ sw $v0, 0x70($s3) +.L80240AB0: +/* BDDC60 80240AB0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDDC64 80240AB4 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDC68 80240AB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDDC6C 80240ABC C4440000 */ lwc1 $f4, ($v0) +/* BDDC70 80240AC0 46802120 */ cvt.s.w $f4, $f4 +/* BDDC74 80240AC4 44062000 */ mfc1 $a2, $f4 +/* BDDC78 80240AC8 C4440008 */ lwc1 $f4, 8($v0) +/* BDDC7C 80240ACC 46802120 */ cvt.s.w $f4, $f4 +/* BDDC80 80240AD0 44072000 */ mfc1 $a3, $f4 +/* BDDC84 80240AD4 0C00A7B5 */ jal dist2D +/* BDDC88 80240AD8 00000000 */ nop +/* BDDC8C 80240ADC C6020018 */ lwc1 $f2, 0x18($s0) +/* BDDC90 80240AE0 4602003E */ c.le.s $f0, $f2 +/* BDDC94 80240AE4 00000000 */ nop +/* BDDC98 80240AE8 45000005 */ bc1f .L80240B00 +/* BDDC9C 80240AEC 2402000A */ addiu $v0, $zero, 0xa +/* BDDCA0 80240AF0 A602008E */ sh $v0, 0x8e($s0) +/* BDDCA4 80240AF4 24020032 */ addiu $v0, $zero, 0x32 +/* BDDCA8 80240AF8 080902D3 */ j .L80240B4C +/* BDDCAC 80240AFC AE620070 */ sw $v0, 0x70($s3) +.L80240B00: +/* BDDCB0 80240B00 8602008C */ lh $v0, 0x8c($s0) +/* BDDCB4 80240B04 14400011 */ bnez $v0, .L80240B4C +/* BDDCB8 80240B08 00000000 */ nop +/* BDDCBC 80240B0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDDCC0 80240B10 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDCC4 80240B14 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDDCC8 80240B18 C4440000 */ lwc1 $f4, ($v0) +/* BDDCCC 80240B1C 46802120 */ cvt.s.w $f4, $f4 +/* BDDCD0 80240B20 44062000 */ mfc1 $a2, $f4 +/* BDDCD4 80240B24 C4440008 */ lwc1 $f4, 8($v0) +/* BDDCD8 80240B28 46802120 */ cvt.s.w $f4, $f4 +/* BDDCDC 80240B2C 44072000 */ mfc1 $a3, $f4 +/* BDDCE0 80240B30 0C00A720 */ jal atan2 +/* BDDCE4 80240B34 00000000 */ nop +/* BDDCE8 80240B38 8E050018 */ lw $a1, 0x18($s0) +/* BDDCEC 80240B3C 44060000 */ mfc1 $a2, $f0 +/* BDDCF0 80240B40 0200202D */ daddu $a0, $s0, $zero +/* BDDCF4 80240B44 0C00EA95 */ jal npc_move_heading +/* BDDCF8 80240B48 AC86000C */ sw $a2, 0xc($a0) +.L80240B4C: +/* BDDCFC 80240B4C 8FBF0028 */ lw $ra, 0x28($sp) +/* BDDD00 80240B50 8FB30024 */ lw $s3, 0x24($sp) +/* BDDD04 80240B54 8FB20020 */ lw $s2, 0x20($sp) +/* BDDD08 80240B58 8FB1001C */ lw $s1, 0x1c($sp) +/* BDDD0C 80240B5C 8FB00018 */ lw $s0, 0x18($sp) +/* BDDD10 80240B60 03E00008 */ jr $ra +/* BDDD14 80240B64 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240B68_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240B68_BDD1B0.s new file mode 100644 index 0000000000..10d5336bca --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240B68_BDD1B0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B68_BDDD18 +/* BDDD18 80240B68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDDD1C 80240B6C AFB10014 */ sw $s1, 0x14($sp) +/* BDDD20 80240B70 0080882D */ daddu $s1, $a0, $zero +/* BDDD24 80240B74 AFBF0018 */ sw $ra, 0x18($sp) +/* BDDD28 80240B78 AFB00010 */ sw $s0, 0x10($sp) +/* BDDD2C 80240B7C 8E300148 */ lw $s0, 0x148($s1) +/* BDDD30 80240B80 0C00EABB */ jal get_npc_unsafe +/* BDDD34 80240B84 86040008 */ lh $a0, 8($s0) +/* BDDD38 80240B88 0040202D */ daddu $a0, $v0, $zero +/* BDDD3C 80240B8C 8482008E */ lh $v0, 0x8e($a0) +/* BDDD40 80240B90 9483008E */ lhu $v1, 0x8e($a0) +/* BDDD44 80240B94 18400002 */ blez $v0, .L80240BA0 +/* BDDD48 80240B98 2462FFFF */ addiu $v0, $v1, -1 +/* BDDD4C 80240B9C A482008E */ sh $v0, 0x8e($a0) +.L80240BA0: +/* BDDD50 80240BA0 8482008C */ lh $v0, 0x8c($a0) +/* BDDD54 80240BA4 1440000A */ bnez $v0, .L80240BD0 +/* BDDD58 80240BA8 00000000 */ nop +/* BDDD5C 80240BAC 8482008E */ lh $v0, 0x8e($a0) +/* BDDD60 80240BB0 1C400007 */ bgtz $v0, .L80240BD0 +/* BDDD64 80240BB4 24020008 */ addiu $v0, $zero, 8 +/* BDDD68 80240BB8 A482008E */ sh $v0, 0x8e($a0) +/* BDDD6C 80240BBC 8E0200CC */ lw $v0, 0xcc($s0) +/* BDDD70 80240BC0 8C42002C */ lw $v0, 0x2c($v0) +/* BDDD74 80240BC4 AC820028 */ sw $v0, 0x28($a0) +/* BDDD78 80240BC8 24020033 */ addiu $v0, $zero, 0x33 +/* BDDD7C 80240BCC AE220070 */ sw $v0, 0x70($s1) +.L80240BD0: +/* BDDD80 80240BD0 8FBF0018 */ lw $ra, 0x18($sp) +/* BDDD84 80240BD4 8FB10014 */ lw $s1, 0x14($sp) +/* BDDD88 80240BD8 8FB00010 */ lw $s0, 0x10($sp) +/* BDDD8C 80240BDC 03E00008 */ jr $ra +/* BDDD90 80240BE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240BE4_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240BE4_BDD1B0.s new file mode 100644 index 0000000000..76b96cbbd0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240BE4_BDD1B0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE4_BDDD94 +/* BDDD94 80240BE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDDD98 80240BE8 AFB10014 */ sw $s1, 0x14($sp) +/* BDDD9C 80240BEC 0080882D */ daddu $s1, $a0, $zero +/* BDDDA0 80240BF0 AFBF0018 */ sw $ra, 0x18($sp) +/* BDDDA4 80240BF4 AFB00010 */ sw $s0, 0x10($sp) +/* BDDDA8 80240BF8 8E300148 */ lw $s0, 0x148($s1) +/* BDDDAC 80240BFC 0C00EABB */ jal get_npc_unsafe +/* BDDDB0 80240C00 86040008 */ lh $a0, 8($s0) +/* BDDDB4 80240C04 0040182D */ daddu $v1, $v0, $zero +/* BDDDB8 80240C08 9462008E */ lhu $v0, 0x8e($v1) +/* BDDDBC 80240C0C 2442FFFF */ addiu $v0, $v0, -1 +/* BDDDC0 80240C10 A462008E */ sh $v0, 0x8e($v1) +/* BDDDC4 80240C14 00021400 */ sll $v0, $v0, 0x10 +/* BDDDC8 80240C18 1C400007 */ bgtz $v0, .L80240C38 +/* BDDDCC 80240C1C 24020008 */ addiu $v0, $zero, 8 +/* BDDDD0 80240C20 A462008E */ sh $v0, 0x8e($v1) +/* BDDDD4 80240C24 8E0200CC */ lw $v0, 0xcc($s0) +/* BDDDD8 80240C28 8C420038 */ lw $v0, 0x38($v0) +/* BDDDDC 80240C2C AC620028 */ sw $v0, 0x28($v1) +/* BDDDE0 80240C30 24020034 */ addiu $v0, $zero, 0x34 +/* BDDDE4 80240C34 AE220070 */ sw $v0, 0x70($s1) +.L80240C38: +/* BDDDE8 80240C38 8FBF0018 */ lw $ra, 0x18($sp) +/* BDDDEC 80240C3C 8FB10014 */ lw $s1, 0x14($sp) +/* BDDDF0 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* BDDDF4 80240C44 03E00008 */ jr $ra +/* BDDDF8 80240C48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240C4C_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240C4C_BDD1B0.s new file mode 100644 index 0000000000..61c1126312 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240C4C_BDD1B0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_BDDDFC +/* BDDDFC 80240C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BDDE00 80240C50 AFB00010 */ sw $s0, 0x10($sp) +/* BDDE04 80240C54 0080802D */ daddu $s0, $a0, $zero +/* BDDE08 80240C58 AFBF0014 */ sw $ra, 0x14($sp) +/* BDDE0C 80240C5C 8E020148 */ lw $v0, 0x148($s0) +/* BDDE10 80240C60 0C00EABB */ jal get_npc_unsafe +/* BDDE14 80240C64 84440008 */ lh $a0, 8($v0) +/* BDDE18 80240C68 9443008E */ lhu $v1, 0x8e($v0) +/* BDDE1C 80240C6C 2463FFFF */ addiu $v1, $v1, -1 +/* BDDE20 80240C70 A443008E */ sh $v1, 0x8e($v0) +/* BDDE24 80240C74 00031C00 */ sll $v1, $v1, 0x10 +/* BDDE28 80240C78 58600001 */ blezl $v1, .L80240C80 +/* BDDE2C 80240C7C AE000070 */ sw $zero, 0x70($s0) +.L80240C80: +/* BDDE30 80240C80 8FBF0014 */ lw $ra, 0x14($sp) +/* BDDE34 80240C84 8FB00010 */ lw $s0, 0x10($sp) +/* BDDE38 80240C88 03E00008 */ jr $ra +/* BDDE3C 80240C8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_02/func_80240C90_BDD1B0.s b/asm/nonmatchings/world/area_arn/arn_02/func_80240C90_BDD1B0.s new file mode 100644 index 0000000000..d9a557046d --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_02/func_80240C90_BDD1B0.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C90_BDDE40 +/* BDDE40 80240C90 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BDDE44 80240C94 AFB3003C */ sw $s3, 0x3c($sp) +/* BDDE48 80240C98 0080982D */ daddu $s3, $a0, $zero +/* BDDE4C 80240C9C AFBF0048 */ sw $ra, 0x48($sp) +/* BDDE50 80240CA0 AFB50044 */ sw $s5, 0x44($sp) +/* BDDE54 80240CA4 AFB40040 */ sw $s4, 0x40($sp) +/* BDDE58 80240CA8 AFB20038 */ sw $s2, 0x38($sp) +/* BDDE5C 80240CAC AFB10034 */ sw $s1, 0x34($sp) +/* BDDE60 80240CB0 AFB00030 */ sw $s0, 0x30($sp) +/* BDDE64 80240CB4 8E720148 */ lw $s2, 0x148($s3) +/* BDDE68 80240CB8 86440008 */ lh $a0, 8($s2) +/* BDDE6C 80240CBC 0C00EABB */ jal get_npc_unsafe +/* BDDE70 80240CC0 00A0882D */ daddu $s1, $a1, $zero +/* BDDE74 80240CC4 0260202D */ daddu $a0, $s3, $zero +/* BDDE78 80240CC8 8E70000C */ lw $s0, 0xc($s3) +/* BDDE7C 80240CCC 0040A82D */ daddu $s5, $v0, $zero +/* BDDE80 80240CD0 8E050000 */ lw $a1, ($s0) +/* BDDE84 80240CD4 0C0B1EAF */ jal get_variable +/* BDDE88 80240CD8 26100004 */ addiu $s0, $s0, 4 +/* BDDE8C 80240CDC 0260202D */ daddu $a0, $s3, $zero +/* BDDE90 80240CE0 8E050000 */ lw $a1, ($s0) +/* BDDE94 80240CE4 0C0B1EAF */ jal get_variable +/* BDDE98 80240CE8 0040A02D */ daddu $s4, $v0, $zero +/* BDDE9C 80240CEC AE420094 */ sw $v0, 0x94($s2) +/* BDDEA0 80240CF0 AFA00010 */ sw $zero, 0x10($sp) +/* BDDEA4 80240CF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDEA8 80240CF8 8C420030 */ lw $v0, 0x30($v0) +/* BDDEAC 80240CFC AFA20014 */ sw $v0, 0x14($sp) +/* BDDEB0 80240D00 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDEB4 80240D04 8C42001C */ lw $v0, 0x1c($v0) +/* BDDEB8 80240D08 AFA20018 */ sw $v0, 0x18($sp) +/* BDDEBC 80240D0C 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDEC0 80240D10 8C420024 */ lw $v0, 0x24($v0) +/* BDDEC4 80240D14 AFA2001C */ sw $v0, 0x1c($sp) +/* BDDEC8 80240D18 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDECC 80240D1C 8C420028 */ lw $v0, 0x28($v0) +/* BDDED0 80240D20 AFA20020 */ sw $v0, 0x20($sp) +/* BDDED4 80240D24 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDED8 80240D28 3C014220 */ lui $at, 0x4220 +/* BDDEDC 80240D2C 44810000 */ mtc1 $at, $f0 +/* BDDEE0 80240D30 8C42002C */ lw $v0, 0x2c($v0) +/* BDDEE4 80240D34 27B00010 */ addiu $s0, $sp, 0x10 +/* BDDEE8 80240D38 E7A00028 */ swc1 $f0, 0x28($sp) +/* BDDEEC 80240D3C A7A0002C */ sh $zero, 0x2c($sp) +/* BDDEF0 80240D40 12200012 */ beqz $s1, .L80240D8C +/* BDDEF4 80240D44 AFA20024 */ sw $v0, 0x24($sp) +/* BDDEF8 80240D48 AE600070 */ sw $zero, 0x70($s3) +/* BDDEFC 80240D4C 8EA30000 */ lw $v1, ($s5) +/* BDDF00 80240D50 2402F7FF */ addiu $v0, $zero, -0x801 +/* BDDF04 80240D54 A6A0008E */ sh $zero, 0x8e($s5) +/* BDDF08 80240D58 00621824 */ and $v1, $v1, $v0 +/* BDDF0C 80240D5C AEA30000 */ sw $v1, ($s5) +/* BDDF10 80240D60 8E4200D0 */ lw $v0, 0xd0($s2) +/* BDDF14 80240D64 8C420034 */ lw $v0, 0x34($v0) +/* BDDF18 80240D68 54400005 */ bnel $v0, $zero, .L80240D80 +/* BDDF1C 80240D6C 2402FDFF */ addiu $v0, $zero, -0x201 +/* BDDF20 80240D70 34620200 */ ori $v0, $v1, 0x200 +/* BDDF24 80240D74 2403FFF7 */ addiu $v1, $zero, -9 +/* BDDF28 80240D78 08090362 */ j .L80240D88 +/* BDDF2C 80240D7C 00431024 */ and $v0, $v0, $v1 +.L80240D80: +/* BDDF30 80240D80 00621024 */ and $v0, $v1, $v0 +/* BDDF34 80240D84 34420008 */ ori $v0, $v0, 8 +.L80240D88: +/* BDDF38 80240D88 AEA20000 */ sw $v0, ($s5) +.L80240D8C: +/* BDDF3C 80240D8C 8E4300B0 */ lw $v1, 0xb0($s2) +/* BDDF40 80240D90 30620004 */ andi $v0, $v1, 4 +/* BDDF44 80240D94 10400007 */ beqz $v0, .L80240DB4 +/* BDDF48 80240D98 00000000 */ nop +/* BDDF4C 80240D9C 824200B4 */ lb $v0, 0xb4($s2) +/* BDDF50 80240DA0 14400086 */ bnez $v0, .L80240FBC +/* BDDF54 80240DA4 0000102D */ daddu $v0, $zero, $zero +/* BDDF58 80240DA8 2402FFFB */ addiu $v0, $zero, -5 +/* BDDF5C 80240DAC 00621024 */ and $v0, $v1, $v0 +/* BDDF60 80240DB0 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240DB4: +/* BDDF64 80240DB4 8E620070 */ lw $v0, 0x70($s3) +/* BDDF68 80240DB8 2442FFF4 */ addiu $v0, $v0, -0xc +/* BDDF6C 80240DBC 2C420003 */ sltiu $v0, $v0, 3 +/* BDDF70 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* BDDF74 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* BDDF78 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* BDDF7C 80240DCC 0C090000 */ jal func_80240000 +/* BDDF80 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* BDDF84 80240DD4 10400002 */ beqz $v0, .L80240DE0 +/* BDDF88 80240DD8 24020014 */ addiu $v0, $zero, 0x14 +/* BDDF8C 80240DDC AE620070 */ sw $v0, 0x70($s3) +.L80240DE0: +/* BDDF90 80240DE0 8E630070 */ lw $v1, 0x70($s3) +/* BDDF94 80240DE4 2C620035 */ sltiu $v0, $v1, 0x35 +/* BDDF98 80240DE8 10400073 */ beqz $v0, .L80240FB8 +/* BDDF9C 80240DEC 00031080 */ sll $v0, $v1, 2 +/* BDDFA0 80240DF0 3C018024 */ lui $at, 0x8024 +/* BDDFA4 80240DF4 00220821 */ addu $at, $at, $v0 +/* BDDFA8 80240DF8 8C221B08 */ lw $v0, 0x1b08($at) +/* BDDFAC 80240DFC 00400008 */ jr $v0 +/* BDDFB0 80240E00 00000000 */ nop +/* BDDFB4 80240E04 0260202D */ daddu $a0, $s3, $zero +/* BDDFB8 80240E08 0280282D */ daddu $a1, $s4, $zero +/* BDDFBC 80240E0C 0C090058 */ jal func_80240160 +/* BDDFC0 80240E10 0200302D */ daddu $a2, $s0, $zero +/* BDDFC4 80240E14 0260202D */ daddu $a0, $s3, $zero +/* BDDFC8 80240E18 0280282D */ daddu $a1, $s4, $zero +/* BDDFCC 80240E1C 0C090075 */ jal func_802401D4 +/* BDDFD0 80240E20 0200302D */ daddu $a2, $s0, $zero +/* BDDFD4 80240E24 8E630070 */ lw $v1, 0x70($s3) +/* BDDFD8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* BDDFDC 80240E2C 14620063 */ bne $v1, $v0, .L80240FBC +/* BDDFE0 80240E30 0000102D */ daddu $v0, $zero, $zero +/* BDDFE4 80240E34 0260202D */ daddu $a0, $s3, $zero +/* BDDFE8 80240E38 0280282D */ daddu $a1, $s4, $zero +/* BDDFEC 80240E3C 0C0900C1 */ jal func_80240304 +/* BDDFF0 80240E40 0200302D */ daddu $a2, $s0, $zero +/* BDDFF4 80240E44 8E630070 */ lw $v1, 0x70($s3) +/* BDDFF8 80240E48 24020003 */ addiu $v0, $zero, 3 +/* BDDFFC 80240E4C 1462005B */ bne $v1, $v0, .L80240FBC +/* BDE000 80240E50 0000102D */ daddu $v0, $zero, $zero +/* BDE004 80240E54 0260202D */ daddu $a0, $s3, $zero +/* BDE008 80240E58 0280282D */ daddu $a1, $s4, $zero +/* BDE00C 80240E5C 0C0900E8 */ jal func_802403A0 +/* BDE010 80240E60 0200302D */ daddu $a2, $s0, $zero +/* BDE014 80240E64 8E630070 */ lw $v1, 0x70($s3) +/* BDE018 80240E68 24020004 */ addiu $v0, $zero, 4 +/* BDE01C 80240E6C 14620053 */ bne $v1, $v0, .L80240FBC +/* BDE020 80240E70 0000102D */ daddu $v0, $zero, $zero +/* BDE024 80240E74 0260202D */ daddu $a0, $s3, $zero +/* BDE028 80240E78 0280282D */ daddu $a1, $s4, $zero +/* BDE02C 80240E7C 0C09010A */ jal func_80240428 +/* BDE030 80240E80 0200302D */ daddu $a2, $s0, $zero +/* BDE034 80240E84 0260202D */ daddu $a0, $s3, $zero +/* BDE038 80240E88 0280282D */ daddu $a1, $s4, $zero +/* BDE03C 80240E8C 0C090134 */ jal func_802404D0 +/* BDE040 80240E90 0200302D */ daddu $a2, $s0, $zero +/* BDE044 80240E94 080903EF */ j .L80240FBC +/* BDE048 80240E98 0000102D */ daddu $v0, $zero, $zero +/* BDE04C 80240E9C 0260202D */ daddu $a0, $s3, $zero +/* BDE050 80240EA0 0280282D */ daddu $a1, $s4, $zero +/* BDE054 80240EA4 0C0127DF */ jal func_80049F7C +/* BDE058 80240EA8 0200302D */ daddu $a2, $s0, $zero +/* BDE05C 80240EAC 8E630070 */ lw $v1, 0x70($s3) +/* BDE060 80240EB0 2402000D */ addiu $v0, $zero, 0xd +/* BDE064 80240EB4 14620041 */ bne $v1, $v0, .L80240FBC +/* BDE068 80240EB8 0000102D */ daddu $v0, $zero, $zero +/* BDE06C 80240EBC 0260202D */ daddu $a0, $s3, $zero +/* BDE070 80240EC0 0280282D */ daddu $a1, $s4, $zero +/* BDE074 80240EC4 0C012849 */ jal func_8004A124 +/* BDE078 80240EC8 0200302D */ daddu $a2, $s0, $zero +/* BDE07C 80240ECC 8E630070 */ lw $v1, 0x70($s3) +/* BDE080 80240ED0 2402000E */ addiu $v0, $zero, 0xe +/* BDE084 80240ED4 14620039 */ bne $v1, $v0, .L80240FBC +/* BDE088 80240ED8 0000102D */ daddu $v0, $zero, $zero +/* BDE08C 80240EDC 96A2008E */ lhu $v0, 0x8e($s5) +/* BDE090 80240EE0 2442FFFF */ addiu $v0, $v0, -1 +/* BDE094 80240EE4 A6A2008E */ sh $v0, 0x8e($s5) +/* BDE098 80240EE8 00021400 */ sll $v0, $v0, 0x10 +/* BDE09C 80240EEC 14400033 */ bnez $v0, .L80240FBC +/* BDE0A0 80240EF0 0000102D */ daddu $v0, $zero, $zero +/* BDE0A4 80240EF4 24020028 */ addiu $v0, $zero, 0x28 +/* BDE0A8 80240EF8 080903EE */ j .L80240FB8 +/* BDE0AC 80240EFC AE620070 */ sw $v0, 0x70($s3) +/* BDE0B0 80240F00 0260202D */ daddu $a0, $s3, $zero +/* BDE0B4 80240F04 0280282D */ daddu $a1, $s4, $zero +/* BDE0B8 80240F08 0C090191 */ jal func_80240644 +/* BDE0BC 80240F0C 0200302D */ daddu $a2, $s0, $zero +/* BDE0C0 80240F10 0260202D */ daddu $a0, $s3, $zero +/* BDE0C4 80240F14 0280282D */ daddu $a1, $s4, $zero +/* BDE0C8 80240F18 0C0901A5 */ jal func_80240694 +/* BDE0CC 80240F1C 0200302D */ daddu $a2, $s0, $zero +/* BDE0D0 80240F20 080903EF */ j .L80240FBC +/* BDE0D4 80240F24 0000102D */ daddu $v0, $zero, $zero +/* BDE0D8 80240F28 0260202D */ daddu $a0, $s3, $zero +/* BDE0DC 80240F2C 0280282D */ daddu $a1, $s4, $zero +/* BDE0E0 80240F30 0C09020D */ jal func_80240834 +/* BDE0E4 80240F34 0200302D */ daddu $a2, $s0, $zero +/* BDE0E8 80240F38 080903EF */ j .L80240FBC +/* BDE0EC 80240F3C 0000102D */ daddu $v0, $zero, $zero +/* BDE0F0 80240F40 0260202D */ daddu $a0, $s3, $zero +/* BDE0F4 80240F44 0280282D */ daddu $a1, $s4, $zero +/* BDE0F8 80240F48 0C090261 */ jal func_80240984 +/* BDE0FC 80240F4C 0200302D */ daddu $a2, $s0, $zero +/* BDE100 80240F50 8E630070 */ lw $v1, 0x70($s3) +/* BDE104 80240F54 24020029 */ addiu $v0, $zero, 0x29 +/* BDE108 80240F58 14620018 */ bne $v1, $v0, .L80240FBC +/* BDE10C 80240F5C 0000102D */ daddu $v0, $zero, $zero +/* BDE110 80240F60 0260202D */ daddu $a0, $s3, $zero +/* BDE114 80240F64 0280282D */ daddu $a1, $s4, $zero +/* BDE118 80240F68 0C09028C */ jal func_80240A30 +/* BDE11C 80240F6C 0200302D */ daddu $a2, $s0, $zero +/* BDE120 80240F70 080903EF */ j .L80240FBC +/* BDE124 80240F74 0000102D */ daddu $v0, $zero, $zero +/* BDE128 80240F78 0260202D */ daddu $a0, $s3, $zero +/* BDE12C 80240F7C 0280282D */ daddu $a1, $s4, $zero +/* BDE130 80240F80 0C0902DA */ jal func_80240B68 +/* BDE134 80240F84 0200302D */ daddu $a2, $s0, $zero +/* BDE138 80240F88 0260202D */ daddu $a0, $s3, $zero +/* BDE13C 80240F8C 0280282D */ daddu $a1, $s4, $zero +/* BDE140 80240F90 0C0902F9 */ jal func_80240BE4 +/* BDE144 80240F94 0200302D */ daddu $a2, $s0, $zero +/* BDE148 80240F98 8E630070 */ lw $v1, 0x70($s3) +/* BDE14C 80240F9C 24020034 */ addiu $v0, $zero, 0x34 +/* BDE150 80240FA0 14620006 */ bne $v1, $v0, .L80240FBC +/* BDE154 80240FA4 0000102D */ daddu $v0, $zero, $zero +/* BDE158 80240FA8 0260202D */ daddu $a0, $s3, $zero +/* BDE15C 80240FAC 0280282D */ daddu $a1, $s4, $zero +/* BDE160 80240FB0 0C090313 */ jal func_80240C4C +/* BDE164 80240FB4 0200302D */ daddu $a2, $s0, $zero +.L80240FB8: +/* BDE168 80240FB8 0000102D */ daddu $v0, $zero, $zero +.L80240FBC: +/* BDE16C 80240FBC 8FBF0048 */ lw $ra, 0x48($sp) +/* BDE170 80240FC0 8FB50044 */ lw $s5, 0x44($sp) +/* BDE174 80240FC4 8FB40040 */ lw $s4, 0x40($sp) +/* BDE178 80240FC8 8FB3003C */ lw $s3, 0x3c($sp) +/* BDE17C 80240FCC 8FB20038 */ lw $s2, 0x38($sp) +/* BDE180 80240FD0 8FB10034 */ lw $s1, 0x34($sp) +/* BDE184 80240FD4 8FB00030 */ lw $s0, 0x30($sp) +/* BDE188 80240FD8 03E00008 */ jr $ra +/* BDE18C 80240FDC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240000_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240000_BDED90.s new file mode 100644 index 0000000000..8c08207943 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240000_BDED90.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BDED90 +/* BDED90 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDED94 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* BDED98 80240008 0080A82D */ daddu $s5, $a0, $zero +/* BDED9C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* BDEDA0 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* BDEDA4 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* BDEDA8 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* BDEDAC 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* BDEDB0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* BDEDB4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* BDEDB8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* BDEDBC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* BDEDC0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* BDEDC4 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* BDEDC8 80240038 86640008 */ lh $a0, 8($s3) +/* BDEDCC 8024003C 0C00EABB */ jal get_npc_unsafe +/* BDEDD0 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* BDEDD4 80240044 0040A02D */ daddu $s4, $v0, $zero +/* BDEDD8 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* BDEDDC 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* BDEDE0 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* BDEDE4 80240054 0000902D */ daddu $s2, $zero, $zero +/* BDEDE8 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* BDEDEC 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDEDF0 80240060 8C620000 */ lw $v0, ($v1) +/* BDEDF4 80240064 3C0146FF */ lui $at, 0x46ff +/* BDEDF8 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* BDEDFC 8024006C 4481A000 */ mtc1 $at, $f20 +/* BDEE00 80240070 18400018 */ blez $v0, .L802400D4 +/* BDEE04 80240074 0240802D */ daddu $s0, $s2, $zero +/* BDEE08 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* BDEE0C 8024007C 02231021 */ addu $v0, $s1, $v1 +/* BDEE10 80240080 4600C306 */ mov.s $f12, $f24 +/* BDEE14 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* BDEE18 80240088 46802120 */ cvt.s.w $f4, $f4 +/* BDEE1C 8024008C 44062000 */ mfc1 $a2, $f4 +/* BDEE20 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* BDEE24 80240094 46802120 */ cvt.s.w $f4, $f4 +/* BDEE28 80240098 44072000 */ mfc1 $a3, $f4 +/* BDEE2C 8024009C 0C00A7B5 */ jal dist2D +/* BDEE30 802400A0 4600B386 */ mov.s $f14, $f22 +/* BDEE34 802400A4 4614003C */ c.lt.s $f0, $f20 +/* BDEE38 802400A8 00000000 */ nop +/* BDEE3C 802400AC 45000003 */ bc1f .L802400BC +/* BDEE40 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* BDEE44 802400B4 46000506 */ mov.s $f20, $f0 +/* BDEE48 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* BDEE4C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDEE50 802400C0 26100001 */ addiu $s0, $s0, 1 +/* BDEE54 802400C4 8C620000 */ lw $v0, ($v1) +/* BDEE58 802400C8 0202102A */ slt $v0, $s0, $v0 +/* BDEE5C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* BDEE60 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* BDEE64 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* BDEE68 802400D8 8C420004 */ lw $v0, 4($v0) +/* BDEE6C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* BDEE70 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* BDEE74 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* BDEE78 802400E8 04410004 */ bgez $v0, .L802400FC +/* BDEE7C 802400EC 00000000 */ nop +/* BDEE80 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* BDEE84 802400F4 08090047 */ j .L8024011C +/* BDEE88 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* BDEE8C 802400FC 3C018024 */ lui $at, 0x8024 +/* BDEE90 80240100 D4224860 */ ldc1 $f2, 0x4860($at) +/* BDEE94 80240104 44820000 */ mtc1 $v0, $f0 +/* BDEE98 80240108 00000000 */ nop +/* BDEE9C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* BDEEA0 80240110 46220003 */ div.d $f0, $f0, $f2 +/* BDEEA4 80240114 46200020 */ cvt.s.d $f0, $f0 +/* BDEEA8 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* BDEEAC 8024011C 24020001 */ addiu $v0, $zero, 1 +/* BDEEB0 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* BDEEB4 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* BDEEB8 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* BDEEBC 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* BDEEC0 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* BDEEC4 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* BDEEC8 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* BDEECC 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* BDEED0 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* BDEED4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* BDEED8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* BDEEDC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* BDEEE0 80240150 03E00008 */ jr $ra +/* BDEEE4 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240158_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240158_BDED90.s new file mode 100644 index 0000000000..9e98c73e50 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240158_BDED90.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_BDEEE8 +/* BDEEE8 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BDEEEC 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* BDEEF0 80240160 0080902D */ daddu $s2, $a0, $zero +/* BDEEF4 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* BDEEF8 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* BDEEFC 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* BDEF00 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* BDEF04 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* BDEF08 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BDEF0C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* BDEF10 80240180 8E510148 */ lw $s1, 0x148($s2) +/* BDEF14 80240184 00A0982D */ daddu $s3, $a1, $zero +/* BDEF18 80240188 86240008 */ lh $a0, 8($s1) +/* BDEF1C 8024018C 0C00EABB */ jal get_npc_unsafe +/* BDEF20 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* BDEF24 80240194 8E630014 */ lw $v1, 0x14($s3) +/* BDEF28 80240198 04600030 */ bltz $v1, .L8024025C +/* BDEF2C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* BDEF30 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* BDEF34 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* BDEF38 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* BDEF3C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* BDEF40 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* BDEF44 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* BDEF48 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* BDEF4C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* BDEF50 802401C0 0C01242D */ jal func_800490B4 +/* BDEF54 802401C4 0220282D */ daddu $a1, $s1, $zero +/* BDEF58 802401C8 10400021 */ beqz $v0, .L80240250 +/* BDEF5C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* BDEF60 802401D0 0200282D */ daddu $a1, $s0, $zero +/* BDEF64 802401D4 0000302D */ daddu $a2, $zero, $zero +/* BDEF68 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* BDEF6C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* BDEF70 802401E0 44810000 */ mtc1 $at, $f0 +/* BDEF74 802401E4 3C014000 */ lui $at, 0x4000 +/* BDEF78 802401E8 44811000 */ mtc1 $at, $f2 +/* BDEF7C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* BDEF80 802401F0 44812000 */ mtc1 $at, $f4 +/* BDEF84 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* BDEF88 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* BDEF8C 802401FC 44833000 */ mtc1 $v1, $f6 +/* BDEF90 80240200 00000000 */ nop +/* BDEF94 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* BDEF98 80240208 44073000 */ mfc1 $a3, $f6 +/* BDEF9C 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* BDEFA0 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* BDEFA4 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* BDEFA8 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* BDEFAC 8024021C 0C01BFA4 */ jal fx_emote +/* BDEFB0 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* BDEFB4 80240224 0200202D */ daddu $a0, $s0, $zero +/* BDEFB8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BDEFBC 8024022C 0C012530 */ jal func_800494C0 +/* BDEFC0 80240230 3C060020 */ lui $a2, 0x20 +/* BDEFC4 80240234 8E220018 */ lw $v0, 0x18($s1) +/* BDEFC8 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* BDEFCC 8024023C 30420001 */ andi $v0, $v0, 1 +/* BDEFD0 80240240 14400064 */ bnez $v0, .L802403D4 +/* BDEFD4 80240244 2402000A */ addiu $v0, $zero, 0xa +/* BDEFD8 80240248 080900F5 */ j .L802403D4 +/* BDEFDC 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* BDEFE0 80240250 8E420074 */ lw $v0, 0x74($s2) +/* BDEFE4 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* BDEFE8 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* BDEFEC 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* BDEFF0 80240260 1440005D */ bnez $v0, .L802403D8 +/* BDEFF4 80240264 00000000 */ nop +/* BDEFF8 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* BDEFFC 8024026C 3C014010 */ lui $at, 0x4010 +/* BDF000 80240270 44811800 */ mtc1 $at, $f3 +/* BDF004 80240274 44801000 */ mtc1 $zero, $f2 +/* BDF008 80240278 46000021 */ cvt.d.s $f0, $f0 +/* BDF00C 8024027C 4622003C */ c.lt.d $f0, $f2 +/* BDF010 80240280 00000000 */ nop +/* BDF014 80240284 45000003 */ bc1f .L80240294 +/* BDF018 80240288 0200202D */ daddu $a0, $s0, $zero +/* BDF01C 8024028C 080900A6 */ j .L80240298 +/* BDF020 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* BDF024 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* BDF028 80240298 0C00F598 */ jal func_8003D660 +/* BDF02C 8024029C 00000000 */ nop +/* BDF030 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDF034 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* BDF038 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDF03C 802402AC 00031040 */ sll $v0, $v1, 1 +/* BDF040 802402B0 00431021 */ addu $v0, $v0, $v1 +/* BDF044 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF048 802402B8 00021080 */ sll $v0, $v0, 2 +/* BDF04C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* BDF050 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* BDF054 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BDF058 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* BDF05C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* BDF060 802402D0 4406B000 */ mfc1 $a2, $f22 +/* BDF064 802402D4 4407A000 */ mfc1 $a3, $f20 +/* BDF068 802402D8 0C00A720 */ jal atan2 +/* BDF06C 802402DC 00000000 */ nop +/* BDF070 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* BDF074 802402E4 44060000 */ mfc1 $a2, $f0 +/* BDF078 802402E8 0200202D */ daddu $a0, $s0, $zero +/* BDF07C 802402EC 0C00EA95 */ jal npc_move_heading +/* BDF080 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* BDF084 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDF088 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDF08C 802402FC 4406B000 */ mfc1 $a2, $f22 +/* BDF090 80240300 4407A000 */ mfc1 $a3, $f20 +/* BDF094 80240304 0C00A7B5 */ jal dist2D +/* BDF098 80240308 00000000 */ nop +/* BDF09C 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* BDF0A0 80240310 4602003E */ c.le.s $f0, $f2 +/* BDF0A4 80240314 00000000 */ nop +/* BDF0A8 80240318 4500002F */ bc1f .L802403D8 +/* BDF0AC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BDF0B0 80240320 24020002 */ addiu $v0, $zero, 2 +/* BDF0B4 80240324 0C00A67F */ jal rand_int +/* BDF0B8 80240328 AE420070 */ sw $v0, 0x70($s2) +/* BDF0BC 8024032C 3C035555 */ lui $v1, 0x5555 +/* BDF0C0 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* BDF0C4 80240334 00430018 */ mult $v0, $v1 +/* BDF0C8 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* BDF0CC 8024033C 00004010 */ mfhi $t0 +/* BDF0D0 80240340 01042023 */ subu $a0, $t0, $a0 +/* BDF0D4 80240344 00041840 */ sll $v1, $a0, 1 +/* BDF0D8 80240348 00641821 */ addu $v1, $v1, $a0 +/* BDF0DC 8024034C 00431023 */ subu $v0, $v0, $v1 +/* BDF0E0 80240350 24430002 */ addiu $v1, $v0, 2 +/* BDF0E4 80240354 AE430074 */ sw $v1, 0x74($s2) +/* BDF0E8 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* BDF0EC 8024035C 18400009 */ blez $v0, .L80240384 +/* BDF0F0 80240360 24020004 */ addiu $v0, $zero, 4 +/* BDF0F4 80240364 8E620004 */ lw $v0, 4($s3) +/* BDF0F8 80240368 18400006 */ blez $v0, .L80240384 +/* BDF0FC 8024036C 24020004 */ addiu $v0, $zero, 4 +/* BDF100 80240370 8E620008 */ lw $v0, 8($s3) +/* BDF104 80240374 18400003 */ blez $v0, .L80240384 +/* BDF108 80240378 24020004 */ addiu $v0, $zero, 4 +/* BDF10C 8024037C 14600002 */ bnez $v1, .L80240388 +/* BDF110 80240380 00000000 */ nop +.L80240384: +/* BDF114 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* BDF118 80240388 0C00A67F */ jal rand_int +/* BDF11C 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* BDF120 80240390 3C0351EB */ lui $v1, 0x51eb +/* BDF124 80240394 3463851F */ ori $v1, $v1, 0x851f +/* BDF128 80240398 00430018 */ mult $v0, $v1 +/* BDF12C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* BDF130 802403A0 00004010 */ mfhi $t0 +/* BDF134 802403A4 00082143 */ sra $a0, $t0, 5 +/* BDF138 802403A8 00832023 */ subu $a0, $a0, $v1 +/* BDF13C 802403AC 00041840 */ sll $v1, $a0, 1 +/* BDF140 802403B0 00641821 */ addu $v1, $v1, $a0 +/* BDF144 802403B4 000318C0 */ sll $v1, $v1, 3 +/* BDF148 802403B8 00641821 */ addu $v1, $v1, $a0 +/* BDF14C 802403BC 00031880 */ sll $v1, $v1, 2 +/* BDF150 802403C0 8E640004 */ lw $a0, 4($s3) +/* BDF154 802403C4 00431023 */ subu $v0, $v0, $v1 +/* BDF158 802403C8 0044102A */ slt $v0, $v0, $a0 +/* BDF15C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* BDF160 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* BDF164 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* BDF168 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* BDF16C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* BDF170 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* BDF174 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* BDF178 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* BDF17C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* BDF180 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BDF184 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BDF188 802403F8 03E00008 */ jr $ra +/* BDF18C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240400_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240400_BDED90.s new file mode 100644 index 0000000000..6f1e670abb --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240400_BDED90.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_BDF190 +/* BDF190 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDF194 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* BDF198 80240408 0080982D */ daddu $s3, $a0, $zero +/* BDF19C 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* BDF1A0 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* BDF1A4 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* BDF1A8 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* BDF1AC 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* BDF1B0 80240420 86440008 */ lh $a0, 8($s2) +/* BDF1B4 80240424 0C00EABB */ jal get_npc_unsafe +/* BDF1B8 80240428 00A0882D */ daddu $s1, $a1, $zero +/* BDF1BC 8024042C 8E240008 */ lw $a0, 8($s1) +/* BDF1C0 80240430 0040802D */ daddu $s0, $v0, $zero +/* BDF1C4 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* BDF1C8 80240438 00832021 */ addu $a0, $a0, $v1 +/* BDF1CC 8024043C 00042043 */ sra $a0, $a0, 1 +/* BDF1D0 80240440 0C00A67F */ jal rand_int +/* BDF1D4 80240444 24840001 */ addiu $a0, $a0, 1 +/* BDF1D8 80240448 8E230008 */ lw $v1, 8($s1) +/* BDF1DC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* BDF1E0 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* BDF1E4 80240454 00651821 */ addu $v1, $v1, $a1 +/* BDF1E8 80240458 00031843 */ sra $v1, $v1, 1 +/* BDF1EC 8024045C 00621821 */ addu $v1, $v1, $v0 +/* BDF1F0 80240460 0C00A67F */ jal rand_int +/* BDF1F4 80240464 A603008E */ sh $v1, 0x8e($s0) +/* BDF1F8 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* BDF1FC 8024046C 44820000 */ mtc1 $v0, $f0 +/* BDF200 80240470 00000000 */ nop +/* BDF204 80240474 46800020 */ cvt.s.w $f0, $f0 +/* BDF208 80240478 46006300 */ add.s $f12, $f12, $f0 +/* BDF20C 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* BDF210 80240480 44810000 */ mtc1 $at, $f0 +/* BDF214 80240484 0C00A6C9 */ jal clamp_angle +/* BDF218 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* BDF21C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* BDF220 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* BDF224 80240494 8C420000 */ lw $v0, ($v0) +/* BDF228 80240498 AE020028 */ sw $v0, 0x28($s0) +/* BDF22C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* BDF230 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* BDF234 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* BDF238 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* BDF23C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* BDF240 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* BDF244 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* BDF248 802404B8 03E00008 */ jr $ra +/* BDF24C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_802404C0_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_802404C0_BDED90.s new file mode 100644 index 0000000000..da82cfdae0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_802404C0_BDED90.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_BDF250 +/* BDF250 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDF254 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* BDF258 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* BDF25C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* BDF260 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* BDF264 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* BDF268 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* BDF26C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* BDF270 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* BDF274 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* BDF278 802404E8 86240008 */ lh $a0, 8($s1) +/* BDF27C 802404EC 0C00EABB */ jal get_npc_unsafe +/* BDF280 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* BDF284 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* BDF288 802404F8 04600031 */ bltz $v1, .L802405C0 +/* BDF28C 802404FC 0040802D */ daddu $s0, $v0, $zero +/* BDF290 80240500 0260202D */ daddu $a0, $s3, $zero +/* BDF294 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* BDF298 80240508 8E460024 */ lw $a2, 0x24($s2) +/* BDF29C 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* BDF2A0 80240510 0C01242D */ jal func_800490B4 +/* BDF2A4 80240514 0220282D */ daddu $a1, $s1, $zero +/* BDF2A8 80240518 10400029 */ beqz $v0, .L802405C0 +/* BDF2AC 8024051C 0000202D */ daddu $a0, $zero, $zero +/* BDF2B0 80240520 0200282D */ daddu $a1, $s0, $zero +/* BDF2B4 80240524 0000302D */ daddu $a2, $zero, $zero +/* BDF2B8 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* BDF2BC 8024052C 3C013F80 */ lui $at, 0x3f80 +/* BDF2C0 80240530 44810000 */ mtc1 $at, $f0 +/* BDF2C4 80240534 3C014000 */ lui $at, 0x4000 +/* BDF2C8 80240538 44811000 */ mtc1 $at, $f2 +/* BDF2CC 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* BDF2D0 80240540 44812000 */ mtc1 $at, $f4 +/* BDF2D4 80240544 2402000F */ addiu $v0, $zero, 0xf +/* BDF2D8 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* BDF2DC 8024054C 44833000 */ mtc1 $v1, $f6 +/* BDF2E0 80240550 00000000 */ nop +/* BDF2E4 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* BDF2E8 80240558 44073000 */ mfc1 $a3, $f6 +/* BDF2EC 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* BDF2F0 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* BDF2F4 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* BDF2F8 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* BDF2FC 8024056C 0C01BFA4 */ jal fx_emote +/* BDF300 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* BDF304 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDF308 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDF30C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BDF310 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BDF314 80240584 8C460028 */ lw $a2, 0x28($v0) +/* BDF318 80240588 0C00A720 */ jal atan2 +/* BDF31C 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* BDF320 80240590 0200202D */ daddu $a0, $s0, $zero +/* BDF324 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BDF328 80240598 3C060020 */ lui $a2, 0x20 +/* BDF32C 8024059C 0C012530 */ jal func_800494C0 +/* BDF330 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* BDF334 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* BDF338 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* BDF33C 802405AC 30420001 */ andi $v0, $v0, 1 +/* BDF340 802405B0 14400029 */ bnez $v0, .L80240658 +/* BDF344 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* BDF348 802405B8 08090196 */ j .L80240658 +/* BDF34C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* BDF350 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* BDF354 802405C4 14400025 */ bnez $v0, .L8024065C +/* BDF358 802405C8 00000000 */ nop +/* BDF35C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* BDF360 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* BDF364 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* BDF368 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* BDF36C 802405DC 1440001F */ bnez $v0, .L8024065C +/* BDF370 802405E0 00000000 */ nop +/* BDF374 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* BDF378 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* BDF37C 802405EC 10400019 */ beqz $v0, .L80240654 +/* BDF380 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* BDF384 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* BDF388 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* BDF38C 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* BDF390 80240600 14400007 */ bnez $v0, .L80240620 +/* BDF394 80240604 00000000 */ nop +/* BDF398 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* BDF39C 8024060C 3C014334 */ lui $at, 0x4334 +/* BDF3A0 80240610 44816000 */ mtc1 $at, $f12 +/* BDF3A4 80240614 0C00A6C9 */ jal clamp_angle +/* BDF3A8 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* BDF3AC 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* BDF3B0 80240620 8E440008 */ lw $a0, 8($s2) +/* BDF3B4 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* BDF3B8 80240628 00822021 */ addu $a0, $a0, $v0 +/* BDF3BC 8024062C 00042043 */ sra $a0, $a0, 1 +/* BDF3C0 80240630 0C00A67F */ jal rand_int +/* BDF3C4 80240634 24840001 */ addiu $a0, $a0, 1 +/* BDF3C8 80240638 8E430008 */ lw $v1, 8($s2) +/* BDF3CC 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* BDF3D0 80240640 00641821 */ addu $v1, $v1, $a0 +/* BDF3D4 80240644 00031843 */ sra $v1, $v1, 1 +/* BDF3D8 80240648 00621821 */ addu $v1, $v1, $v0 +/* BDF3DC 8024064C 08090197 */ j .L8024065C +/* BDF3E0 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* BDF3E4 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* BDF3E8 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* BDF3EC 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* BDF3F0 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* BDF3F4 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* BDF3F8 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* BDF3FC 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* BDF400 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* BDF404 80240674 03E00008 */ jr $ra +/* BDF408 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_8024067C_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_8024067C_BDED90.s new file mode 100644 index 0000000000..85bf04de01 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_8024067C_BDED90.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_BDF40C +/* BDF40C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDF410 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* BDF414 80240684 0080882D */ daddu $s1, $a0, $zero +/* BDF418 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* BDF41C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* BDF420 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* BDF424 80240694 8E300148 */ lw $s0, 0x148($s1) +/* BDF428 80240698 86040008 */ lh $a0, 8($s0) +/* BDF42C 8024069C 0C00EABB */ jal get_npc_unsafe +/* BDF430 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* BDF434 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* BDF438 802406A8 24630001 */ addiu $v1, $v1, 1 +/* BDF43C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* BDF440 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* BDF444 802406B4 8C840000 */ lw $a0, ($a0) +/* BDF448 802406B8 0064182A */ slt $v1, $v1, $a0 +/* BDF44C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* BDF450 802406C0 0040282D */ daddu $a1, $v0, $zero +/* BDF454 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* BDF458 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* BDF45C 802406CC 8C420004 */ lw $v0, 4($v0) +/* BDF460 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* BDF464 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* BDF468 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* BDF46C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* BDF470 802406E0 00000000 */ nop +/* BDF474 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* BDF478 802406E8 080901C4 */ j .L80240710 +/* BDF47C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* BDF480 802406F0 3C018024 */ lui $at, 0x8024 +/* BDF484 802406F4 D4224868 */ ldc1 $f2, 0x4868($at) +/* BDF488 802406F8 44820000 */ mtc1 $v0, $f0 +/* BDF48C 802406FC 00000000 */ nop +/* BDF490 80240700 46800021 */ cvt.d.w $f0, $f0 +/* BDF494 80240704 46220003 */ div.d $f0, $f0, $f2 +/* BDF498 80240708 46200020 */ cvt.s.d $f0, $f0 +/* BDF49C 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* BDF4A0 80240710 24020001 */ addiu $v0, $zero, 1 +/* BDF4A4 80240714 AE220070 */ sw $v0, 0x70($s1) +/* BDF4A8 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* BDF4AC 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* BDF4B0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* BDF4B4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* BDF4B8 80240728 03E00008 */ jr $ra +/* BDF4BC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240730_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240730_BDED90.s new file mode 100644 index 0000000000..16e0c0b97b --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240730_BDED90.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_BDF4C0 +/* BDF4C0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDF4C4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* BDF4C8 80240738 0080882D */ daddu $s1, $a0, $zero +/* BDF4CC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* BDF4D0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* BDF4D4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* BDF4D8 80240748 0C00EABB */ jal get_npc_unsafe +/* BDF4DC 8024074C 86040008 */ lh $a0, 8($s0) +/* BDF4E0 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* BDF4E4 80240754 3C014120 */ lui $at, 0x4120 +/* BDF4E8 80240758 44812000 */ mtc1 $at, $f4 +/* BDF4EC 8024075C 3C014000 */ lui $at, 0x4000 +/* BDF4F0 80240760 44810000 */ mtc1 $at, $f0 +/* BDF4F4 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* BDF4F8 80240768 8C640010 */ lw $a0, 0x10($v1) +/* BDF4FC 8024076C 8C430000 */ lw $v1, ($v0) +/* BDF500 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* BDF504 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* BDF508 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* BDF50C 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* BDF510 80240780 AC430000 */ sw $v1, ($v0) +/* BDF514 80240784 AC440028 */ sw $a0, 0x28($v0) +/* BDF518 80240788 2402000B */ addiu $v0, $zero, 0xb +/* BDF51C 8024078C AE220070 */ sw $v0, 0x70($s1) +/* BDF520 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* BDF524 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* BDF528 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* BDF52C 8024079C 03E00008 */ jr $ra +/* BDF530 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_802407A4_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_802407A4_BDED90.s new file mode 100644 index 0000000000..4e7f57e80c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_802407A4_BDED90.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_BDF534 +/* BDF534 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BDF538 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* BDF53C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* BDF540 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* BDF544 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* BDF548 802407B8 0C00EABB */ jal get_npc_unsafe +/* BDF54C 802407BC 84440008 */ lh $a0, 8($v0) +/* BDF550 802407C0 0040202D */ daddu $a0, $v0, $zero +/* BDF554 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* BDF558 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* BDF55C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* BDF560 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* BDF564 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* BDF568 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* BDF56C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* BDF570 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* BDF574 802407E4 45010009 */ bc1t .L8024080C +/* BDF578 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* BDF57C 802407EC 8C820000 */ lw $v0, ($a0) +/* BDF580 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* BDF584 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* BDF588 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* BDF58C 802407FC 00431024 */ and $v0, $v0, $v1 +/* BDF590 80240800 AC820000 */ sw $v0, ($a0) +/* BDF594 80240804 2402000C */ addiu $v0, $zero, 0xc +/* BDF598 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* BDF59C 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* BDF5A0 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* BDF5A4 80240814 03E00008 */ jr $ra +/* BDF5A8 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_8024081C_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_8024081C_BDED90.s new file mode 100644 index 0000000000..b4280deb74 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_8024081C_BDED90.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_BDF5AC +/* BDF5AC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BDF5B0 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* BDF5B4 80240824 0080982D */ daddu $s3, $a0, $zero +/* BDF5B8 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* BDF5BC 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* BDF5C0 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* BDF5C4 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* BDF5C8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BDF5CC 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* BDF5D0 80240840 86240008 */ lh $a0, 8($s1) +/* BDF5D4 80240844 0C00EABB */ jal get_npc_unsafe +/* BDF5D8 80240848 00A0802D */ daddu $s0, $a1, $zero +/* BDF5DC 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* BDF5E0 80240850 0040902D */ daddu $s2, $v0, $zero +/* BDF5E4 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* BDF5E8 80240858 00832021 */ addu $a0, $a0, $v1 +/* BDF5EC 8024085C 00042043 */ sra $a0, $a0, 1 +/* BDF5F0 80240860 0C00A67F */ jal rand_int +/* BDF5F4 80240864 24840001 */ addiu $a0, $a0, 1 +/* BDF5F8 80240868 8E030020 */ lw $v1, 0x20($s0) +/* BDF5FC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* BDF600 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* BDF604 80240874 00641821 */ addu $v1, $v1, $a0 +/* BDF608 80240878 00031843 */ sra $v1, $v1, 1 +/* BDF60C 8024087C 00621821 */ addu $v1, $v1, $v0 +/* BDF610 80240880 A643008E */ sh $v1, 0x8e($s2) +/* BDF614 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* BDF618 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BDF61C 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* BDF620 80240890 AE420028 */ sw $v0, 0x28($s2) +/* BDF624 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* BDF628 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BDF62C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BDF630 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* BDF634 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* BDF638 802408A8 0C00A720 */ jal atan2 +/* BDF63C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* BDF640 802408B0 46000506 */ mov.s $f20, $f0 +/* BDF644 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* BDF648 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* BDF64C 802408BC 4600A386 */ mov.s $f14, $f20 +/* BDF650 802408C0 46000086 */ mov.s $f2, $f0 +/* BDF654 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* BDF658 802408C8 46001005 */ abs.s $f0, $f2 +/* BDF65C 802408CC 44822000 */ mtc1 $v0, $f4 +/* BDF660 802408D0 00000000 */ nop +/* BDF664 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* BDF668 802408D8 4600203C */ c.lt.s $f4, $f0 +/* BDF66C 802408DC 00000000 */ nop +/* BDF670 802408E0 4500000D */ bc1f .L80240918 +/* BDF674 802408E4 00000000 */ nop +/* BDF678 802408E8 44800000 */ mtc1 $zero, $f0 +/* BDF67C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* BDF680 802408F0 4600103C */ c.lt.s $f2, $f0 +/* BDF684 802408F4 00000000 */ nop +/* BDF688 802408F8 45000006 */ bc1f .L80240914 +/* BDF68C 802408FC 00021023 */ negu $v0, $v0 +/* BDF690 80240900 44820000 */ mtc1 $v0, $f0 +/* BDF694 80240904 00000000 */ nop +/* BDF698 80240908 46800020 */ cvt.s.w $f0, $f0 +/* BDF69C 8024090C 08090246 */ j .L80240918 +/* BDF6A0 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* BDF6A4 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* BDF6A8 80240918 0C00A6C9 */ jal clamp_angle +/* BDF6AC 8024091C 4600A306 */ mov.s $f12, $f20 +/* BDF6B0 80240920 2402000D */ addiu $v0, $zero, 0xd +/* BDF6B4 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* BDF6B8 80240928 AE620070 */ sw $v0, 0x70($s3) +/* BDF6BC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* BDF6C0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* BDF6C4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* BDF6C8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* BDF6CC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* BDF6D0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BDF6D4 80240944 03E00008 */ jr $ra +/* BDF6D8 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_8024094C_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_8024094C_BDED90.s new file mode 100644 index 0000000000..efa17c818a --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_8024094C_BDED90.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_BDF6DC +/* BDF6DC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDF6E0 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* BDF6E4 80240954 0080982D */ daddu $s3, $a0, $zero +/* BDF6E8 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* BDF6EC 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* BDF6F0 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* BDF6F4 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* BDF6F8 80240968 8E720148 */ lw $s2, 0x148($s3) +/* BDF6FC 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* BDF700 80240970 86440008 */ lh $a0, 8($s2) +/* BDF704 80240974 0C00EABB */ jal get_npc_unsafe +/* BDF708 80240978 00C0802D */ daddu $s0, $a2, $zero +/* BDF70C 8024097C 0200202D */ daddu $a0, $s0, $zero +/* BDF710 80240980 0240282D */ daddu $a1, $s2, $zero +/* BDF714 80240984 24030001 */ addiu $v1, $zero, 1 +/* BDF718 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* BDF71C 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* BDF720 80240990 8E270028 */ lw $a3, 0x28($s1) +/* BDF724 80240994 0C01242D */ jal func_800490B4 +/* BDF728 80240998 0040802D */ daddu $s0, $v0, $zero +/* BDF72C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* BDF730 802409A0 0200202D */ daddu $a0, $s0, $zero +/* BDF734 802409A4 24040002 */ addiu $a0, $zero, 2 +/* BDF738 802409A8 0200282D */ daddu $a1, $s0, $zero +/* BDF73C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* BDF740 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* BDF744 802409B4 3C013F80 */ lui $at, 0x3f80 +/* BDF748 802409B8 44810000 */ mtc1 $at, $f0 +/* BDF74C 802409BC 3C014000 */ lui $at, 0x4000 +/* BDF750 802409C0 44811000 */ mtc1 $at, $f2 +/* BDF754 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* BDF758 802409C8 44812000 */ mtc1 $at, $f4 +/* BDF75C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* BDF760 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* BDF764 802409D4 44833000 */ mtc1 $v1, $f6 +/* BDF768 802409D8 00000000 */ nop +/* BDF76C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* BDF770 802409E0 44073000 */ mfc1 $a3, $f6 +/* BDF774 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* BDF778 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* BDF77C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* BDF780 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* BDF784 802409F4 0C01BFA4 */ jal fx_emote +/* BDF788 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BDF78C 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* BDF790 80240A00 8C430000 */ lw $v1, ($v0) +/* BDF794 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* BDF798 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* BDF79C 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* BDF7A0 80240A10 08090293 */ j .L80240A4C +/* BDF7A4 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* BDF7A8 80240A18 0C00F598 */ jal func_8003D660 +/* BDF7AC 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* BDF7B0 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* BDF7B4 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* BDF7B8 80240A28 0C00EA95 */ jal npc_move_heading +/* BDF7BC 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* BDF7C0 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* BDF7C4 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* BDF7C8 80240A38 18400003 */ blez $v0, .L80240A48 +/* BDF7CC 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* BDF7D0 80240A40 08090294 */ j .L80240A50 +/* BDF7D4 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* BDF7D8 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* BDF7DC 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* BDF7E0 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* BDF7E4 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* BDF7E8 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* BDF7EC 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* BDF7F0 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* BDF7F4 80240A64 03E00008 */ jr $ra +/* BDF7F8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240A6C_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240A6C_BDED90.s new file mode 100644 index 0000000000..aceb159907 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240A6C_BDED90.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_BDF7FC +/* BDF7FC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDF800 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* BDF804 80240A74 0080882D */ daddu $s1, $a0, $zero +/* BDF808 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* BDF80C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* BDF810 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* BDF814 80240A84 0C00EABB */ jal get_npc_unsafe +/* BDF818 80240A88 86040008 */ lh $a0, 8($s0) +/* BDF81C 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* BDF820 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* BDF824 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* BDF828 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* BDF82C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* BDF830 80240AA0 00000000 */ nop +/* BDF834 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* BDF838 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* BDF83C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* BDF840 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* BDF844 80240AB4 080902B0 */ j .L80240AC0 +/* BDF848 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* BDF84C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* BDF850 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* BDF854 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* BDF858 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* BDF85C 80240ACC 03E00008 */ jr $ra +/* BDF860 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240AD4_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240AD4_BDED90.s new file mode 100644 index 0000000000..e5b5afb9fd --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240AD4_BDED90.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_BDF864 +/* BDF864 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDF868 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* BDF86C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* BDF870 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* BDF874 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* BDF878 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* BDF87C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* BDF880 80240AF0 86040008 */ lh $a0, 8($s0) +/* BDF884 80240AF4 0C00EABB */ jal get_npc_unsafe +/* BDF888 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* BDF88C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* BDF890 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* BDF894 80240B04 8C630000 */ lw $v1, ($v1) +/* BDF898 80240B08 0083182A */ slt $v1, $a0, $v1 +/* BDF89C 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* BDF8A0 80240B10 0040302D */ daddu $a2, $v0, $zero +/* BDF8A4 80240B14 00041040 */ sll $v0, $a0, 1 +/* BDF8A8 80240B18 00441021 */ addu $v0, $v0, $a0 +/* BDF8AC 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* BDF8B0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* BDF8B4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* BDF8B8 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* BDF8BC 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* BDF8C0 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* BDF8C4 80240B34 4602003E */ c.le.s $f0, $f2 +/* BDF8C8 80240B38 00000000 */ nop +/* BDF8CC 80240B3C 45020003 */ bc1fl .L80240B4C +/* BDF8D0 80240B40 24840001 */ addiu $a0, $a0, 1 +/* BDF8D4 80240B44 080902D7 */ j .L80240B5C +/* BDF8D8 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* BDF8DC 80240B4C 8C620000 */ lw $v0, ($v1) +/* BDF8E0 80240B50 0082102A */ slt $v0, $a0, $v0 +/* BDF8E4 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* BDF8E8 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* BDF8EC 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* BDF8F0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* BDF8F4 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* BDF8F8 80240B68 8C420004 */ lw $v0, 4($v0) +/* BDF8FC 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* BDF900 80240B70 24020001 */ addiu $v0, $zero, 1 +/* BDF904 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* BDF908 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* BDF90C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* BDF910 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* BDF914 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* BDF918 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* BDF91C 80240B8C 03E00008 */ jr $ra +/* BDF920 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240B94_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240B94_BDED90.s new file mode 100644 index 0000000000..b0a0413e29 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240B94_BDED90.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_BDF924 +/* BDF924 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* BDF928 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* BDF92C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* BDF930 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* BDF934 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* BDF938 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* BDF93C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* BDF940 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* BDF944 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* BDF948 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* BDF94C 80240BBC 86240008 */ lh $a0, 8($s1) +/* BDF950 80240BC0 0C00EABB */ jal get_npc_unsafe +/* BDF954 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* BDF958 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* BDF95C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* BDF960 80240BD0 8C650000 */ lw $a1, ($v1) +/* BDF964 80240BD4 0C0B1EAF */ jal get_variable +/* BDF968 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* BDF96C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* BDF970 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF974 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* BDF978 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* BDF97C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF980 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* BDF984 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* BDF988 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF98C 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* BDF990 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* BDF994 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF998 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* BDF99C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* BDF9A0 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* BDF9A4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* BDF9A8 80240C18 3C014282 */ lui $at, 0x4282 +/* BDF9AC 80240C1C 44810000 */ mtc1 $at, $f0 +/* BDF9B0 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* BDF9B4 80240C24 0040982D */ daddu $s3, $v0, $zero +/* BDF9B8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* BDF9BC 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* BDF9C0 80240C30 16000005 */ bnez $s0, .L80240C48 +/* BDF9C4 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* BDF9C8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* BDF9CC 80240C3C 30420004 */ andi $v0, $v0, 4 +/* BDF9D0 80240C40 10400044 */ beqz $v0, .L80240D54 +/* BDF9D4 80240C44 00000000 */ nop +.L80240C48: +/* BDF9D8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* BDF9DC 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* BDF9E0 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* BDF9E4 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* BDF9E8 80240C58 8E430000 */ lw $v1, ($s2) +/* BDF9EC 80240C5C 8C420000 */ lw $v0, ($v0) +/* BDF9F0 80240C60 00641824 */ and $v1, $v1, $a0 +/* BDF9F4 80240C64 AE430000 */ sw $v1, ($s2) +/* BDF9F8 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* BDF9FC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BDFA00 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* BDFA04 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* BDFA08 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* BDFA0C 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* BDFA10 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* BDFA14 80240C84 08090325 */ j .L80240C94 +/* BDFA18 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* BDFA1C 80240C8C 00621024 */ and $v0, $v1, $v0 +/* BDFA20 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* BDFA24 80240C94 AE420000 */ sw $v0, ($s2) +/* BDFA28 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* BDFA2C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* BDFA30 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* BDFA34 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* BDFA38 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* BDFA3C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* BDFA40 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* BDFA44 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* BDFA48 80240CB8 00431024 */ and $v0, $v0, $v1 +/* BDFA4C 80240CBC 0809033C */ j .L80240CF0 +/* BDFA50 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* BDFA54 80240CC4 8E220000 */ lw $v0, ($s1) +/* BDFA58 80240CC8 3C034000 */ lui $v1, 0x4000 +/* BDFA5C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* BDFA60 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* BDFA64 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* BDFA68 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* BDFA6C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* BDFA70 80240CE0 8E220000 */ lw $v0, ($s1) +/* BDFA74 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* BDFA78 80240CE8 00431024 */ and $v0, $v0, $v1 +/* BDFA7C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* BDFA80 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* BDFA84 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* BDFA88 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* BDFA8C 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* BDFA90 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* BDFA94 80240D04 44812000 */ mtc1 $at, $f4 +/* BDFA98 80240D08 44823000 */ mtc1 $v0, $f6 +/* BDFA9C 80240D0C 00000000 */ nop +/* BDFAA0 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* BDFAA4 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* BDFAA8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* BDFAAC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* BDFAB0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* BDFAB4 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* BDFAB8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* BDFABC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* BDFAC0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* BDFAC4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* BDFAC8 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* BDFACC 80240D3C 0C0372DF */ jal func_800DCB7C +/* BDFAD0 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* BDFAD4 80240D44 10400003 */ beqz $v0, .L80240D54 +/* BDFAD8 80240D48 00000000 */ nop +/* BDFADC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* BDFAE0 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* BDFAE4 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* BDFAE8 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* BDFAEC 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* BDFAF0 80240D60 00031080 */ sll $v0, $v1, 2 +/* BDFAF4 80240D64 3C018024 */ lui $at, 0x8024 +/* BDFAF8 80240D68 00220821 */ addu $at, $at, $v0 +/* BDFAFC 80240D6C 8C224870 */ lw $v0, 0x4870($at) +/* BDFB00 80240D70 00400008 */ jr $v0 +/* BDFB04 80240D74 00000000 */ nop +/* BDFB08 80240D78 0280202D */ daddu $a0, $s4, $zero +/* BDFB0C 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* BDFB10 80240D80 0C090000 */ jal func_80240000 +/* BDFB14 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* BDFB18 80240D88 0280202D */ daddu $a0, $s4, $zero +/* BDFB1C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* BDFB20 80240D90 0C090056 */ jal func_80240158 +/* BDFB24 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* BDFB28 80240D98 0809039A */ j .L80240E68 +/* BDFB2C 80240D9C 00000000 */ nop +/* BDFB30 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* BDFB34 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* BDFB38 80240DA8 0C090100 */ jal func_80240400 +/* BDFB3C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* BDFB40 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* BDFB44 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* BDFB48 80240DB8 0C090130 */ jal func_802404C0 +/* BDFB4C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* BDFB50 80240DC0 0809039A */ j .L80240E68 +/* BDFB54 80240DC4 00000000 */ nop +/* BDFB58 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* BDFB5C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* BDFB60 80240DD0 0C09019F */ jal func_8024067C +/* BDFB64 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* BDFB68 80240DD8 0809039A */ j .L80240E68 +/* BDFB6C 80240DDC 00000000 */ nop +/* BDFB70 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* BDFB74 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* BDFB78 80240DE8 0C0901CC */ jal func_80240730 +/* BDFB7C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* BDFB80 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* BDFB84 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* BDFB88 80240DF8 0C0901E9 */ jal func_802407A4 +/* BDFB8C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* BDFB90 80240E00 0809039A */ j .L80240E68 +/* BDFB94 80240E04 00000000 */ nop +/* BDFB98 80240E08 0280202D */ daddu $a0, $s4, $zero +/* BDFB9C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* BDFBA0 80240E10 0C090207 */ jal func_8024081C +/* BDFBA4 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* BDFBA8 80240E18 0280202D */ daddu $a0, $s4, $zero +/* BDFBAC 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* BDFBB0 80240E20 0C090253 */ jal func_8024094C +/* BDFBB4 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* BDFBB8 80240E28 0809039A */ j .L80240E68 +/* BDFBBC 80240E2C 00000000 */ nop +/* BDFBC0 80240E30 0280202D */ daddu $a0, $s4, $zero +/* BDFBC4 80240E34 0260282D */ daddu $a1, $s3, $zero +/* BDFBC8 80240E38 0C09029B */ jal func_80240A6C +/* BDFBCC 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* BDFBD0 80240E40 0809039A */ j .L80240E68 +/* BDFBD4 80240E44 00000000 */ nop +/* BDFBD8 80240E48 0280202D */ daddu $a0, $s4, $zero +/* BDFBDC 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* BDFBE0 80240E50 0C0902B5 */ jal func_80240AD4 +/* BDFBE4 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* BDFBE8 80240E58 0809039A */ j .L80240E68 +/* BDFBEC 80240E5C 00000000 */ nop +/* BDFBF0 80240E60 0C0129CF */ jal func_8004A73C +/* BDFBF4 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* BDFBF8 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* BDFBFC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* BDFC00 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* BDFC04 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* BDFC08 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* BDFC0C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* BDFC10 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* BDFC14 80240E84 0000102D */ daddu $v0, $zero, $zero +/* BDFC18 80240E88 03E00008 */ jr $ra +/* BDFC1C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80240E90_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80240E90_BDED90.s new file mode 100644 index 0000000000..f7a47c4e5c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80240E90_BDED90.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_BDFC20 +/* BDFC20 80240E90 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BDFC24 80240E94 AFB20030 */ sw $s2, 0x30($sp) +/* BDFC28 80240E98 0080902D */ daddu $s2, $a0, $zero +/* BDFC2C 80240E9C AFBF0034 */ sw $ra, 0x34($sp) +/* BDFC30 80240EA0 AFB1002C */ sw $s1, 0x2c($sp) +/* BDFC34 80240EA4 AFB00028 */ sw $s0, 0x28($sp) +/* BDFC38 80240EA8 F7B60040 */ sdc1 $f22, 0x40($sp) +/* BDFC3C 80240EAC F7B40038 */ sdc1 $f20, 0x38($sp) +/* BDFC40 80240EB0 8E500148 */ lw $s0, 0x148($s2) +/* BDFC44 80240EB4 0C00EABB */ jal get_npc_unsafe +/* BDFC48 80240EB8 86040008 */ lh $a0, 8($s0) +/* BDFC4C 80240EBC 0040882D */ daddu $s1, $v0, $zero +/* BDFC50 80240EC0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BDFC54 80240EC4 8E430078 */ lw $v1, 0x78($s2) +/* BDFC58 80240EC8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BDFC5C 80240ECC 00031040 */ sll $v0, $v1, 1 +/* BDFC60 80240ED0 00431021 */ addu $v0, $v0, $v1 +/* BDFC64 80240ED4 8E0300D0 */ lw $v1, 0xd0($s0) +/* BDFC68 80240ED8 00021080 */ sll $v0, $v0, 2 +/* BDFC6C 80240EDC 00431021 */ addu $v0, $v0, $v1 +/* BDFC70 80240EE0 C4560004 */ lwc1 $f22, 4($v0) +/* BDFC74 80240EE4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BDFC78 80240EE8 C454000C */ lwc1 $f20, 0xc($v0) +/* BDFC7C 80240EEC 4680A520 */ cvt.s.w $f20, $f20 +/* BDFC80 80240EF0 4406B000 */ mfc1 $a2, $f22 +/* BDFC84 80240EF4 4407A000 */ mfc1 $a3, $f20 +/* BDFC88 80240EF8 E7AC0018 */ swc1 $f12, 0x18($sp) +/* BDFC8C 80240EFC 0C00A720 */ jal atan2 +/* BDFC90 80240F00 E7AE0020 */ swc1 $f14, 0x20($sp) +/* BDFC94 80240F04 8E250018 */ lw $a1, 0x18($s1) +/* BDFC98 80240F08 44060000 */ mfc1 $a2, $f0 +/* BDFC9C 80240F0C 0220202D */ daddu $a0, $s1, $zero +/* BDFCA0 80240F10 0C00EA95 */ jal npc_move_heading +/* BDFCA4 80240F14 AE26000C */ sw $a2, 0xc($s1) +/* BDFCA8 80240F18 27A50018 */ addiu $a1, $sp, 0x18 +/* BDFCAC 80240F1C 27A6001C */ addiu $a2, $sp, 0x1c +/* BDFCB0 80240F20 C6200038 */ lwc1 $f0, 0x38($s1) +/* BDFCB4 80240F24 8E430078 */ lw $v1, 0x78($s2) +/* BDFCB8 80240F28 3C01447A */ lui $at, 0x447a +/* BDFCBC 80240F2C 44812000 */ mtc1 $at, $f4 +/* BDFCC0 80240F30 00031040 */ sll $v0, $v1, 1 +/* BDFCC4 80240F34 00431021 */ addu $v0, $v0, $v1 +/* BDFCC8 80240F38 00021080 */ sll $v0, $v0, 2 +/* BDFCCC 80240F3C E7A00018 */ swc1 $f0, 0x18($sp) +/* BDFCD0 80240F40 8E0300D0 */ lw $v1, 0xd0($s0) +/* BDFCD4 80240F44 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDFCD8 80240F48 C6220040 */ lwc1 $f2, 0x40($s1) +/* BDFCDC 80240F4C 00431021 */ addu $v0, $v0, $v1 +/* BDFCE0 80240F50 C4460008 */ lwc1 $f6, 8($v0) +/* BDFCE4 80240F54 468031A0 */ cvt.s.w $f6, $f6 +/* BDFCE8 80240F58 27A20024 */ addiu $v0, $sp, 0x24 +/* BDFCEC 80240F5C 46060000 */ add.s $f0, $f0, $f6 +/* BDFCF0 80240F60 E7A20020 */ swc1 $f2, 0x20($sp) +/* BDFCF4 80240F64 E7A40024 */ swc1 $f4, 0x24($sp) +/* BDFCF8 80240F68 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BDFCFC 80240F6C AFA20010 */ sw $v0, 0x10($sp) +/* BDFD00 80240F70 8E240080 */ lw $a0, 0x80($s1) +/* BDFD04 80240F74 0C0372DF */ jal func_800DCB7C +/* BDFD08 80240F78 27A70020 */ addiu $a3, $sp, 0x20 +/* BDFD0C 80240F7C 8E430078 */ lw $v1, 0x78($s2) +/* BDFD10 80240F80 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* BDFD14 80240F84 00031040 */ sll $v0, $v1, 1 +/* BDFD18 80240F88 00431021 */ addu $v0, $v0, $v1 +/* BDFD1C 80240F8C 8E0300D0 */ lw $v1, 0xd0($s0) +/* BDFD20 80240F90 00021080 */ sll $v0, $v0, 2 +/* BDFD24 80240F94 00431021 */ addu $v0, $v0, $v1 +/* BDFD28 80240F98 C4400008 */ lwc1 $f0, 8($v0) +/* BDFD2C 80240F9C 46800020 */ cvt.s.w $f0, $f0 +/* BDFD30 80240FA0 46001080 */ add.s $f2, $f2, $f0 +/* BDFD34 80240FA4 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDFD38 80240FA8 3C014000 */ lui $at, 0x4000 +/* BDFD3C 80240FAC 44813800 */ mtc1 $at, $f7 +/* BDFD40 80240FB0 44803000 */ mtc1 $zero, $f6 +/* BDFD44 80240FB4 46001001 */ sub.s $f0, $f2, $f0 +/* BDFD48 80240FB8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BDFD4C 80240FBC 46000121 */ cvt.d.s $f4, $f0 +/* BDFD50 80240FC0 4624303C */ c.lt.d $f6, $f4 +/* BDFD54 80240FC4 00000000 */ nop +/* BDFD58 80240FC8 45000005 */ bc1f .L80240FE0 +/* BDFD5C 80240FCC E7A00024 */ swc1 $f0, 0x24($sp) +/* BDFD60 80240FD0 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDFD64 80240FD4 46000021 */ cvt.d.s $f0, $f0 +/* BDFD68 80240FD8 08090403 */ j .L8024100C +/* BDFD6C 80240FDC 46260000 */ add.d $f0, $f0, $f6 +.L80240FE0: +/* BDFD70 80240FE0 3C01C000 */ lui $at, 0xc000 +/* BDFD74 80240FE4 44810800 */ mtc1 $at, $f1 +/* BDFD78 80240FE8 44800000 */ mtc1 $zero, $f0 +/* BDFD7C 80240FEC 00000000 */ nop +/* BDFD80 80240FF0 4620203C */ c.lt.d $f4, $f0 +/* BDFD84 80240FF4 00000000 */ nop +/* BDFD88 80240FF8 45020006 */ bc1fl .L80241014 +/* BDFD8C 80240FFC E622003C */ swc1 $f2, 0x3c($s1) +/* BDFD90 80241000 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDFD94 80241004 46000021 */ cvt.d.s $f0, $f0 +/* BDFD98 80241008 46260001 */ sub.d $f0, $f0, $f6 +.L8024100C: +/* BDFD9C 8024100C 46200020 */ cvt.s.d $f0, $f0 +/* BDFDA0 80241010 E620003C */ swc1 $f0, 0x3c($s1) +.L80241014: +/* BDFDA4 80241014 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BDFDA8 80241018 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BDFDAC 8024101C 4406B000 */ mfc1 $a2, $f22 +/* BDFDB0 80241020 4407A000 */ mfc1 $a3, $f20 +/* BDFDB4 80241024 0C00A7B5 */ jal dist2D +/* BDFDB8 80241028 00000000 */ nop +/* BDFDBC 8024102C C6220018 */ lwc1 $f2, 0x18($s1) +/* BDFDC0 80241030 4600103C */ c.lt.s $f2, $f0 +/* BDFDC4 80241034 00000000 */ nop +/* BDFDC8 80241038 45010003 */ bc1t .L80241048 +/* BDFDCC 8024103C E7A00024 */ swc1 $f0, 0x24($sp) +/* BDFDD0 80241040 24020002 */ addiu $v0, $zero, 2 +/* BDFDD4 80241044 AE420070 */ sw $v0, 0x70($s2) +.L80241048: +/* BDFDD8 80241048 8FBF0034 */ lw $ra, 0x34($sp) +/* BDFDDC 8024104C 8FB20030 */ lw $s2, 0x30($sp) +/* BDFDE0 80241050 8FB1002C */ lw $s1, 0x2c($sp) +/* BDFDE4 80241054 8FB00028 */ lw $s0, 0x28($sp) +/* BDFDE8 80241058 D7B60040 */ ldc1 $f22, 0x40($sp) +/* BDFDEC 8024105C D7B40038 */ ldc1 $f20, 0x38($sp) +/* BDFDF0 80241060 03E00008 */ jr $ra +/* BDFDF4 80241064 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80241068.s b/asm/nonmatchings/world/area_arn/arn_03/func_80241068.s new file mode 100644 index 0000000000..f808c645ce --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80241068.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241068 +/* BDFDF8 80241068 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDFDFC 8024106C AFB10014 */ sw $s1, 0x14($sp) +/* BDFE00 80241070 0080882D */ daddu $s1, $a0, $zero +/* BDFE04 80241074 AFBF0020 */ sw $ra, 0x20($sp) +/* BDFE08 80241078 AFB3001C */ sw $s3, 0x1c($sp) +/* BDFE0C 8024107C AFB20018 */ sw $s2, 0x18($sp) +/* BDFE10 80241080 AFB00010 */ sw $s0, 0x10($sp) +/* BDFE14 80241084 8E320148 */ lw $s2, 0x148($s1) +/* BDFE18 80241088 86440008 */ lh $a0, 8($s2) +/* BDFE1C 8024108C 0C00EABB */ jal get_npc_unsafe +/* BDFE20 80241090 00A0982D */ daddu $s3, $a1, $zero +/* BDFE24 80241094 0040802D */ daddu $s0, $v0, $zero +/* BDFE28 80241098 9602008E */ lhu $v0, 0x8e($s0) +/* BDFE2C 8024109C 2442FFFF */ addiu $v0, $v0, -1 +/* BDFE30 802410A0 A602008E */ sh $v0, 0x8e($s0) +/* BDFE34 802410A4 00021400 */ sll $v0, $v0, 0x10 +/* BDFE38 802410A8 0441001D */ bgez $v0, .L80241120 +/* BDFE3C 802410AC 00000000 */ nop +/* BDFE40 802410B0 8E220074 */ lw $v0, 0x74($s1) +/* BDFE44 802410B4 2442FFFF */ addiu $v0, $v0, -1 +/* BDFE48 802410B8 04400014 */ bltz $v0, .L8024110C +/* BDFE4C 802410BC AE220074 */ sw $v0, 0x74($s1) +/* BDFE50 802410C0 C600000C */ lwc1 $f0, 0xc($s0) +/* BDFE54 802410C4 3C014334 */ lui $at, 0x4334 +/* BDFE58 802410C8 44816000 */ mtc1 $at, $f12 +/* BDFE5C 802410CC 0C00A6C9 */ jal clamp_angle +/* BDFE60 802410D0 460C0300 */ add.s $f12, $f0, $f12 +/* BDFE64 802410D4 E600000C */ swc1 $f0, 0xc($s0) +/* BDFE68 802410D8 8E640008 */ lw $a0, 8($s3) +/* BDFE6C 802410DC 000417C2 */ srl $v0, $a0, 0x1f +/* BDFE70 802410E0 00822021 */ addu $a0, $a0, $v0 +/* BDFE74 802410E4 00042043 */ sra $a0, $a0, 1 +/* BDFE78 802410E8 0C00A67F */ jal rand_int +/* BDFE7C 802410EC 24840001 */ addiu $a0, $a0, 1 +/* BDFE80 802410F0 8E630008 */ lw $v1, 8($s3) +/* BDFE84 802410F4 000327C2 */ srl $a0, $v1, 0x1f +/* BDFE88 802410F8 00641821 */ addu $v1, $v1, $a0 +/* BDFE8C 802410FC 00031843 */ sra $v1, $v1, 1 +/* BDFE90 80241100 00621821 */ addu $v1, $v1, $v0 +/* BDFE94 80241104 08090448 */ j .L80241120 +/* BDFE98 80241108 A603008E */ sh $v1, 0x8e($s0) +.L8024110C: +/* BDFE9C 8024110C 24020004 */ addiu $v0, $zero, 4 +/* BDFEA0 80241110 AE220070 */ sw $v0, 0x70($s1) +/* BDFEA4 80241114 8E4200CC */ lw $v0, 0xcc($s2) +/* BDFEA8 80241118 8C420000 */ lw $v0, ($v0) +/* BDFEAC 8024111C AE020028 */ sw $v0, 0x28($s0) +.L80241120: +/* BDFEB0 80241120 8FBF0020 */ lw $ra, 0x20($sp) +/* BDFEB4 80241124 8FB3001C */ lw $s3, 0x1c($sp) +/* BDFEB8 80241128 8FB20018 */ lw $s2, 0x18($sp) +/* BDFEBC 8024112C 8FB10014 */ lw $s1, 0x14($sp) +/* BDFEC0 80241130 8FB00010 */ lw $s0, 0x10($sp) +/* BDFEC4 80241134 03E00008 */ jr $ra +/* BDFEC8 80241138 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_8024113C_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_8024113C_BDED90.s new file mode 100644 index 0000000000..54476641ea --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_8024113C_BDED90.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024113C_BDFECC +/* BDFECC 8024113C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BDFED0 80241140 AFB40040 */ sw $s4, 0x40($sp) +/* BDFED4 80241144 0080A02D */ daddu $s4, $a0, $zero +/* BDFED8 80241148 AFBF0048 */ sw $ra, 0x48($sp) +/* BDFEDC 8024114C AFB50044 */ sw $s5, 0x44($sp) +/* BDFEE0 80241150 AFB3003C */ sw $s3, 0x3c($sp) +/* BDFEE4 80241154 AFB20038 */ sw $s2, 0x38($sp) +/* BDFEE8 80241158 AFB10034 */ sw $s1, 0x34($sp) +/* BDFEEC 8024115C AFB00030 */ sw $s0, 0x30($sp) +/* BDFEF0 80241160 8E930148 */ lw $s3, 0x148($s4) +/* BDFEF4 80241164 86640008 */ lh $a0, 8($s3) +/* BDFEF8 80241168 8E90000C */ lw $s0, 0xc($s4) +/* BDFEFC 8024116C 0C00EABB */ jal get_npc_unsafe +/* BDFF00 80241170 00A0882D */ daddu $s1, $a1, $zero +/* BDFF04 80241174 0280202D */ daddu $a0, $s4, $zero +/* BDFF08 80241178 8E050000 */ lw $a1, ($s0) +/* BDFF0C 8024117C 0C0B1EAF */ jal get_variable +/* BDFF10 80241180 0040A82D */ daddu $s5, $v0, $zero +/* BDFF14 80241184 AFA00010 */ sw $zero, 0x10($sp) +/* BDFF18 80241188 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDFF1C 8024118C 8C630094 */ lw $v1, 0x94($v1) +/* BDFF20 80241190 AFA30014 */ sw $v1, 0x14($sp) +/* BDFF24 80241194 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDFF28 80241198 8C630080 */ lw $v1, 0x80($v1) +/* BDFF2C 8024119C AFA30018 */ sw $v1, 0x18($sp) +/* BDFF30 802411A0 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDFF34 802411A4 8C630088 */ lw $v1, 0x88($v1) +/* BDFF38 802411A8 AFA3001C */ sw $v1, 0x1c($sp) +/* BDFF3C 802411AC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDFF40 802411B0 8C63008C */ lw $v1, 0x8c($v1) +/* BDFF44 802411B4 27B20010 */ addiu $s2, $sp, 0x10 +/* BDFF48 802411B8 AFA30020 */ sw $v1, 0x20($sp) +/* BDFF4C 802411BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BDFF50 802411C0 3C0142C8 */ lui $at, 0x42c8 +/* BDFF54 802411C4 44810000 */ mtc1 $at, $f0 +/* BDFF58 802411C8 8C630090 */ lw $v1, 0x90($v1) +/* BDFF5C 802411CC 0040802D */ daddu $s0, $v0, $zero +/* BDFF60 802411D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BDFF64 802411D4 A7A0002C */ sh $zero, 0x2c($sp) +/* BDFF68 802411D8 12200007 */ beqz $s1, .L802411F8 +/* BDFF6C 802411DC AFA30024 */ sw $v1, 0x24($sp) +/* BDFF70 802411E0 AE800070 */ sw $zero, 0x70($s4) +/* BDFF74 802411E4 8EA20000 */ lw $v0, ($s5) +/* BDFF78 802411E8 2403F7FF */ addiu $v1, $zero, -0x801 +/* BDFF7C 802411EC A6A0008E */ sh $zero, 0x8e($s5) +/* BDFF80 802411F0 00431024 */ and $v0, $v0, $v1 +/* BDFF84 802411F4 AEA20000 */ sw $v0, ($s5) +.L802411F8: +/* BDFF88 802411F8 8E830070 */ lw $v1, 0x70($s4) +/* BDFF8C 802411FC 2C620005 */ sltiu $v0, $v1, 5 +/* BDFF90 80241200 1040001E */ beqz $v0, .L8024127C +/* BDFF94 80241204 00031080 */ sll $v0, $v1, 2 +/* BDFF98 80241208 3C018024 */ lui $at, 0x8024 +/* BDFF9C 8024120C 00220821 */ addu $at, $at, $v0 +/* BDFFA0 80241210 8C224A00 */ lw $v0, 0x4a00($at) +/* BDFFA4 80241214 00400008 */ jr $v0 +/* BDFFA8 80241218 00000000 */ nop +/* BDFFAC 8024121C 0280202D */ daddu $a0, $s4, $zero +/* BDFFB0 80241220 0200282D */ daddu $a1, $s0, $zero +/* BDFFB4 80241224 0C090000 */ jal func_80240000 +/* BDFFB8 80241228 0240302D */ daddu $a2, $s2, $zero +/* BDFFBC 8024122C 0280202D */ daddu $a0, $s4, $zero +/* BDFFC0 80241230 0200282D */ daddu $a1, $s0, $zero +/* BDFFC4 80241234 0C0903A4 */ jal func_80240E90 +/* BDFFC8 80241238 0240302D */ daddu $a2, $s2, $zero +/* BDFFCC 8024123C 0809049F */ j .L8024127C +/* BDFFD0 80241240 00000000 */ nop +/* BDFFD4 80241244 0280202D */ daddu $a0, $s4, $zero +/* BDFFD8 80241248 0200282D */ daddu $a1, $s0, $zero +/* BDFFDC 8024124C 0C090100 */ jal func_80240400 +/* BDFFE0 80241250 0240302D */ daddu $a2, $s2, $zero +/* BDFFE4 80241254 0280202D */ daddu $a0, $s4, $zero +/* BDFFE8 80241258 0200282D */ daddu $a1, $s0, $zero +/* BDFFEC 8024125C 0C09041A */ jal func_80241068 +/* BDFFF0 80241260 0240302D */ daddu $a2, $s2, $zero +/* BDFFF4 80241264 0809049F */ j .L8024127C +/* BDFFF8 80241268 00000000 */ nop +/* BDFFFC 8024126C 0280202D */ daddu $a0, $s4, $zero +/* BE0000 80241270 0200282D */ daddu $a1, $s0, $zero +/* BE0004 80241274 0C09019F */ jal func_8024067C +/* BE0008 80241278 0240302D */ daddu $a2, $s2, $zero +.L8024127C: +/* BE000C 8024127C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* BE0010 80241280 4600008D */ trunc.w.s $f2, $f0 +/* BE0014 80241284 E662006C */ swc1 $f2, 0x6c($s3) +/* BE0018 80241288 8FBF0048 */ lw $ra, 0x48($sp) +/* BE001C 8024128C 8FB50044 */ lw $s5, 0x44($sp) +/* BE0020 80241290 8FB40040 */ lw $s4, 0x40($sp) +/* BE0024 80241294 8FB3003C */ lw $s3, 0x3c($sp) +/* BE0028 80241298 8FB20038 */ lw $s2, 0x38($sp) +/* BE002C 8024129C 8FB10034 */ lw $s1, 0x34($sp) +/* BE0030 802412A0 8FB00030 */ lw $s0, 0x30($sp) +/* BE0034 802412A4 0000102D */ daddu $v0, $zero, $zero +/* BE0038 802412A8 03E00008 */ jr $ra +/* BE003C 802412AC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_802412B0_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_802412B0_BDED90.s new file mode 100644 index 0000000000..2bad8cfa74 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_802412B0_BDED90.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B0_BE0040 +/* BE0040 802412B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE0044 802412B4 AFB00010 */ sw $s0, 0x10($sp) +/* BE0048 802412B8 3C108024 */ lui $s0, 0x8024 +/* BE004C 802412BC 26101C68 */ addiu $s0, $s0, 0x1c68 +/* BE0050 802412C0 AFBF0018 */ sw $ra, 0x18($sp) +/* BE0054 802412C4 AFB10014 */ sw $s1, 0x14($sp) +/* BE0058 802412C8 8E020000 */ lw $v0, ($s0) +/* BE005C 802412CC 14400010 */ bnez $v0, .L80241310 +/* BE0060 802412D0 0080882D */ daddu $s1, $a0, $zero +/* BE0064 802412D4 0C00AB39 */ jal heap_malloc +/* BE0068 802412D8 24040040 */ addiu $a0, $zero, 0x40 +/* BE006C 802412DC AE020000 */ sw $v0, ($s0) +/* BE0070 802412E0 0000182D */ daddu $v1, $zero, $zero +/* BE0074 802412E4 0040282D */ daddu $a1, $v0, $zero +/* BE0078 802412E8 0220202D */ daddu $a0, $s1, $zero +.L802412EC: +/* BE007C 802412EC 8C820084 */ lw $v0, 0x84($a0) +/* BE0080 802412F0 24840004 */ addiu $a0, $a0, 4 +/* BE0084 802412F4 24630001 */ addiu $v1, $v1, 1 +/* BE0088 802412F8 ACA20000 */ sw $v0, ($a1) +/* BE008C 802412FC 28620010 */ slti $v0, $v1, 0x10 +/* BE0090 80241300 1440FFFA */ bnez $v0, .L802412EC +/* BE0094 80241304 24A50004 */ addiu $a1, $a1, 4 +/* BE0098 80241308 080904D3 */ j .L8024134C +/* BE009C 8024130C 00000000 */ nop +.L80241310: +/* BE00A0 80241310 0000182D */ daddu $v1, $zero, $zero +/* BE00A4 80241314 0040282D */ daddu $a1, $v0, $zero +/* BE00A8 80241318 0220202D */ daddu $a0, $s1, $zero +.L8024131C: +/* BE00AC 8024131C 8CA20000 */ lw $v0, ($a1) +/* BE00B0 80241320 24A50004 */ addiu $a1, $a1, 4 +/* BE00B4 80241324 24630001 */ addiu $v1, $v1, 1 +/* BE00B8 80241328 AC820084 */ sw $v0, 0x84($a0) +/* BE00BC 8024132C 28620010 */ slti $v0, $v1, 0x10 +/* BE00C0 80241330 1440FFFA */ bnez $v0, .L8024131C +/* BE00C4 80241334 24840004 */ addiu $a0, $a0, 4 +/* BE00C8 80241338 3C108024 */ lui $s0, 0x8024 +/* BE00CC 8024133C 26101C68 */ addiu $s0, $s0, 0x1c68 +/* BE00D0 80241340 0C00AB4B */ jal heap_free +/* BE00D4 80241344 8E040000 */ lw $a0, ($s0) +/* BE00D8 80241348 AE000000 */ sw $zero, ($s0) +.L8024134C: +/* BE00DC 8024134C 8FBF0018 */ lw $ra, 0x18($sp) +/* BE00E0 80241350 8FB10014 */ lw $s1, 0x14($sp) +/* BE00E4 80241354 8FB00010 */ lw $s0, 0x10($sp) +/* BE00E8 80241358 24020002 */ addiu $v0, $zero, 2 +/* BE00EC 8024135C 03E00008 */ jr $ra +/* BE00F0 80241360 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80241364_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80241364_BDED90.s new file mode 100644 index 0000000000..548e6c4f91 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80241364_BDED90.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241364_BE00F4 +/* BE00F4 80241364 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE00F8 80241368 AFB00010 */ sw $s0, 0x10($sp) +/* BE00FC 8024136C 0080802D */ daddu $s0, $a0, $zero +/* BE0100 80241370 AFBF0018 */ sw $ra, 0x18($sp) +/* BE0104 80241374 AFB10014 */ sw $s1, 0x14($sp) +/* BE0108 80241378 8E02000C */ lw $v0, 0xc($s0) +/* BE010C 8024137C 8C510000 */ lw $s1, ($v0) +/* BE0110 80241380 0C0B1EAF */ jal get_variable +/* BE0114 80241384 0220282D */ daddu $a1, $s1, $zero +/* BE0118 80241388 3C03FFF0 */ lui $v1, 0xfff0 +/* BE011C 8024138C 3463FFFF */ ori $v1, $v1, 0xffff +/* BE0120 80241390 0200202D */ daddu $a0, $s0, $zero +/* BE0124 80241394 00431024 */ and $v0, $v0, $v1 +/* BE0128 80241398 00021140 */ sll $v0, $v0, 5 +/* BE012C 8024139C 3C068008 */ lui $a2, %hi(gItemTable) +/* BE0130 802413A0 00C23021 */ addu $a2, $a2, $v0 +/* BE0134 802413A4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* BE0138 802413A8 0C0B2026 */ jal set_variable +/* BE013C 802413AC 0220282D */ daddu $a1, $s1, $zero +/* BE0140 802413B0 8FBF0018 */ lw $ra, 0x18($sp) +/* BE0144 802413B4 8FB10014 */ lw $s1, 0x14($sp) +/* BE0148 802413B8 8FB00010 */ lw $s0, 0x10($sp) +/* BE014C 802413BC 24020002 */ addiu $v0, $zero, 2 +/* BE0150 802413C0 03E00008 */ jr $ra +/* BE0154 802413C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_802413C8.s b/asm/nonmatchings/world/area_arn/arn_03/func_802413C8.s new file mode 100644 index 0000000000..4608e3b6d3 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_802413C8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413C8 +/* BE0158 802413C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE015C 802413CC AFB10014 */ sw $s1, 0x14($sp) +/* BE0160 802413D0 0080882D */ daddu $s1, $a0, $zero +/* BE0164 802413D4 AFBF0018 */ sw $ra, 0x18($sp) +/* BE0168 802413D8 AFB00010 */ sw $s0, 0x10($sp) +/* BE016C 802413DC 8E30000C */ lw $s0, 0xc($s1) +/* BE0170 802413E0 8E050000 */ lw $a1, ($s0) +/* BE0174 802413E4 0C0B1EAF */ jal get_variable +/* BE0178 802413E8 26100004 */ addiu $s0, $s0, 4 +/* BE017C 802413EC 0C00EAD2 */ jal get_npc_safe +/* BE0180 802413F0 0040202D */ daddu $a0, $v0, $zero +/* BE0184 802413F4 10400005 */ beqz $v0, .L8024140C +/* BE0188 802413F8 00000000 */ nop +/* BE018C 802413FC 8E050000 */ lw $a1, ($s0) +/* BE0190 80241400 844600A8 */ lh $a2, 0xa8($v0) +/* BE0194 80241404 0C0B2026 */ jal set_variable +/* BE0198 80241408 0220202D */ daddu $a0, $s1, $zero +.L8024140C: +/* BE019C 8024140C 8FBF0018 */ lw $ra, 0x18($sp) +/* BE01A0 80241410 8FB10014 */ lw $s1, 0x14($sp) +/* BE01A4 80241414 8FB00010 */ lw $s0, 0x10($sp) +/* BE01A8 80241418 24020002 */ addiu $v0, $zero, 2 +/* BE01AC 8024141C 03E00008 */ jr $ra +/* BE01B0 80241420 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80241424_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80241424_BDED90.s new file mode 100644 index 0000000000..f9ed50d1c2 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80241424_BDED90.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241424_BE01B4 +/* BE01B4 80241424 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BE01B8 80241428 AFB10014 */ sw $s1, 0x14($sp) +/* BE01BC 8024142C 0080882D */ daddu $s1, $a0, $zero +/* BE01C0 80241430 AFBF0024 */ sw $ra, 0x24($sp) +/* BE01C4 80241434 AFB40020 */ sw $s4, 0x20($sp) +/* BE01C8 80241438 AFB3001C */ sw $s3, 0x1c($sp) +/* BE01CC 8024143C AFB20018 */ sw $s2, 0x18($sp) +/* BE01D0 80241440 AFB00010 */ sw $s0, 0x10($sp) +/* BE01D4 80241444 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* BE01D8 80241448 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* BE01DC 8024144C F7B80038 */ sdc1 $f24, 0x38($sp) +/* BE01E0 80241450 F7B60030 */ sdc1 $f22, 0x30($sp) +/* BE01E4 80241454 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BE01E8 80241458 8E30000C */ lw $s0, 0xc($s1) +/* BE01EC 8024145C 8E130000 */ lw $s3, ($s0) +/* BE01F0 80241460 26100004 */ addiu $s0, $s0, 4 +/* BE01F4 80241464 0C0B1EAF */ jal get_variable +/* BE01F8 80241468 0260282D */ daddu $a1, $s3, $zero +/* BE01FC 8024146C 4482E000 */ mtc1 $v0, $f28 +/* BE0200 80241470 00000000 */ nop +/* BE0204 80241474 4680E720 */ cvt.s.w $f28, $f28 +/* BE0208 80241478 8E140000 */ lw $s4, ($s0) +/* BE020C 8024147C 26100004 */ addiu $s0, $s0, 4 +/* BE0210 80241480 0220202D */ daddu $a0, $s1, $zero +/* BE0214 80241484 0C0B1EAF */ jal get_variable +/* BE0218 80241488 0280282D */ daddu $a1, $s4, $zero +/* BE021C 8024148C 4482D000 */ mtc1 $v0, $f26 +/* BE0220 80241490 00000000 */ nop +/* BE0224 80241494 4680D6A0 */ cvt.s.w $f26, $f26 +/* BE0228 80241498 8E100000 */ lw $s0, ($s0) +/* BE022C 8024149C 0220202D */ daddu $a0, $s1, $zero +/* BE0230 802414A0 0C0B1EAF */ jal get_variable +/* BE0234 802414A4 0200282D */ daddu $a1, $s0, $zero +/* BE0238 802414A8 4482C000 */ mtc1 $v0, $f24 +/* BE023C 802414AC 00000000 */ nop +/* BE0240 802414B0 4680C620 */ cvt.s.w $f24, $f24 +/* BE0244 802414B4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* BE0248 802414B8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* BE024C 802414BC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BE0250 802414C0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BE0254 802414C4 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* BE0258 802414C8 44800000 */ mtc1 $zero, $f0 +/* BE025C 802414CC 00031080 */ sll $v0, $v1, 2 +/* BE0260 802414D0 00431021 */ addu $v0, $v0, $v1 +/* BE0264 802414D4 00021080 */ sll $v0, $v0, 2 +/* BE0268 802414D8 00431023 */ subu $v0, $v0, $v1 +/* BE026C 802414DC 000218C0 */ sll $v1, $v0, 3 +/* BE0270 802414E0 00431021 */ addu $v0, $v0, $v1 +/* BE0274 802414E4 000210C0 */ sll $v0, $v0, 3 +/* BE0278 802414E8 46001032 */ c.eq.s $f2, $f0 +/* BE027C 802414EC 3C01800B */ lui $at, 0x800b +/* BE0280 802414F0 00220821 */ addu $at, $at, $v0 +/* BE0284 802414F4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* BE0288 802414F8 45000005 */ bc1f .L80241510 +/* BE028C 802414FC 00000000 */ nop +/* BE0290 80241500 3C0142C8 */ lui $at, 0x42c8 +/* BE0294 80241504 44810000 */ mtc1 $at, $f0 +/* BE0298 80241508 08090548 */ j .L80241520 +/* BE029C 8024150C 4600B581 */ sub.s $f22, $f22, $f0 +.L80241510: +/* BE02A0 80241510 3C0142C8 */ lui $at, 0x42c8 +/* BE02A4 80241514 44810000 */ mtc1 $at, $f0 +/* BE02A8 80241518 00000000 */ nop +/* BE02AC 8024151C 4600B580 */ add.s $f22, $f22, $f0 +.L80241520: +/* BE02B0 80241520 0C00A6C9 */ jal clamp_angle +/* BE02B4 80241524 4600B306 */ mov.s $f12, $f22 +/* BE02B8 80241528 46000586 */ mov.s $f22, $f0 +/* BE02BC 8024152C 3C014170 */ lui $at, 0x4170 +/* BE02C0 80241530 4481A000 */ mtc1 $at, $f20 +/* BE02C4 80241534 0C00A8BB */ jal sin_deg +/* BE02C8 80241538 4600B306 */ mov.s $f12, $f22 +/* BE02CC 8024153C 46140002 */ mul.s $f0, $f0, $f20 +/* BE02D0 80241540 00000000 */ nop +/* BE02D4 80241544 864200B0 */ lh $v0, 0xb0($s2) +/* BE02D8 80241548 3C013F00 */ lui $at, 0x3f00 +/* BE02DC 8024154C 44812000 */ mtc1 $at, $f4 +/* BE02E0 80241550 44821000 */ mtc1 $v0, $f2 +/* BE02E4 80241554 00000000 */ nop +/* BE02E8 80241558 468010A0 */ cvt.s.w $f2, $f2 +/* BE02EC 8024155C 46041082 */ mul.s $f2, $f2, $f4 +/* BE02F0 80241560 00000000 */ nop +/* BE02F4 80241564 4600E700 */ add.s $f28, $f28, $f0 +/* BE02F8 80241568 4602D680 */ add.s $f26, $f26, $f2 +/* BE02FC 8024156C 0C00A8D4 */ jal cos_deg +/* BE0300 80241570 4600B306 */ mov.s $f12, $f22 +/* BE0304 80241574 46140002 */ mul.s $f0, $f0, $f20 +/* BE0308 80241578 00000000 */ nop +/* BE030C 8024157C 0220202D */ daddu $a0, $s1, $zero +/* BE0310 80241580 0260282D */ daddu $a1, $s3, $zero +/* BE0314 80241584 4600E18D */ trunc.w.s $f6, $f28 +/* BE0318 80241588 44063000 */ mfc1 $a2, $f6 +/* BE031C 8024158C 0C0B2026 */ jal set_variable +/* BE0320 80241590 4600C601 */ sub.s $f24, $f24, $f0 +/* BE0324 80241594 0220202D */ daddu $a0, $s1, $zero +/* BE0328 80241598 4600D18D */ trunc.w.s $f6, $f26 +/* BE032C 8024159C 44063000 */ mfc1 $a2, $f6 +/* BE0330 802415A0 0C0B2026 */ jal set_variable +/* BE0334 802415A4 0280282D */ daddu $a1, $s4, $zero +/* BE0338 802415A8 0220202D */ daddu $a0, $s1, $zero +/* BE033C 802415AC 4600C18D */ trunc.w.s $f6, $f24 +/* BE0340 802415B0 44063000 */ mfc1 $a2, $f6 +/* BE0344 802415B4 0C0B2026 */ jal set_variable +/* BE0348 802415B8 0200282D */ daddu $a1, $s0, $zero +/* BE034C 802415BC 8FBF0024 */ lw $ra, 0x24($sp) +/* BE0350 802415C0 8FB40020 */ lw $s4, 0x20($sp) +/* BE0354 802415C4 8FB3001C */ lw $s3, 0x1c($sp) +/* BE0358 802415C8 8FB20018 */ lw $s2, 0x18($sp) +/* BE035C 802415CC 8FB10014 */ lw $s1, 0x14($sp) +/* BE0360 802415D0 8FB00010 */ lw $s0, 0x10($sp) +/* BE0364 802415D4 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* BE0368 802415D8 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* BE036C 802415DC D7B80038 */ ldc1 $f24, 0x38($sp) +/* BE0370 802415E0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* BE0374 802415E4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BE0378 802415E8 24020002 */ addiu $v0, $zero, 2 +/* BE037C 802415EC 03E00008 */ jr $ra +/* BE0380 802415F0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_802415F4_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_802415F4_BDED90.s new file mode 100644 index 0000000000..d9c5671f2b --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_802415F4_BDED90.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F4_BE0384 +/* BE0384 802415F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE0388 802415F8 AFBF0010 */ sw $ra, 0x10($sp) +/* BE038C 802415FC 10A00003 */ beqz $a1, .L8024160C +/* BE0390 80241600 8C86000C */ lw $a2, 0xc($a0) +/* BE0394 80241604 3C018024 */ lui $at, 0x8024 +/* BE0398 80241608 AC201CCC */ sw $zero, 0x1ccc($at) +.L8024160C: +/* BE039C 8024160C 3C038024 */ lui $v1, 0x8024 +/* BE03A0 80241610 24631CCC */ addiu $v1, $v1, 0x1ccc +/* BE03A4 80241614 8C620000 */ lw $v0, ($v1) +/* BE03A8 80241618 54400003 */ bnel $v0, $zero, .L80241628 +/* BE03AC 8024161C AC600000 */ sw $zero, ($v1) +/* BE03B0 80241620 0809058F */ j .L8024163C +/* BE03B4 80241624 0000102D */ daddu $v0, $zero, $zero +.L80241628: +/* BE03B8 80241628 8CC50000 */ lw $a1, ($a2) +/* BE03BC 8024162C 3C068024 */ lui $a2, 0x8024 +/* BE03C0 80241630 0C0B2026 */ jal set_variable +/* BE03C4 80241634 8CC61CD0 */ lw $a2, 0x1cd0($a2) +/* BE03C8 80241638 24020002 */ addiu $v0, $zero, 2 +.L8024163C: +/* BE03CC 8024163C 8FBF0010 */ lw $ra, 0x10($sp) +/* BE03D0 80241640 03E00008 */ jr $ra +/* BE03D4 80241644 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80241648.s b/asm/nonmatchings/world/area_arn/arn_03/func_80241648.s new file mode 100644 index 0000000000..aa399458ba --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80241648.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241648 +/* BE03D8 80241648 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE03DC 8024164C AFBF0010 */ sw $ra, 0x10($sp) +/* BE03E0 80241650 8C82000C */ lw $v0, 0xc($a0) +/* BE03E4 80241654 0C0B1EAF */ jal get_variable +/* BE03E8 80241658 8C450000 */ lw $a1, ($v0) +/* BE03EC 8024165C 3C018024 */ lui $at, 0x8024 +/* BE03F0 80241660 AC221CD0 */ sw $v0, 0x1cd0($at) +/* BE03F4 80241664 24020002 */ addiu $v0, $zero, 2 +/* BE03F8 80241668 8FBF0010 */ lw $ra, 0x10($sp) +/* BE03FC 8024166C 24030001 */ addiu $v1, $zero, 1 +/* BE0400 80241670 3C018024 */ lui $at, 0x8024 +/* BE0404 80241674 AC231CCC */ sw $v1, 0x1ccc($at) +/* BE0408 80241678 03E00008 */ jr $ra +/* BE040C 8024167C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_03/func_80241680_BDED90.s b/asm/nonmatchings/world/area_arn/arn_03/func_80241680_BDED90.s new file mode 100644 index 0000000000..bc4568857d --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_03/func_80241680_BDED90.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241680_BE0410 +/* BE0410 80241680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE0414 80241684 AFBF0010 */ sw $ra, 0x10($sp) +/* BE0418 80241688 8C82000C */ lw $v0, 0xc($a0) +/* BE041C 8024168C 0C0B1EAF */ jal get_variable +/* BE0420 80241690 8C450000 */ lw $a1, ($v0) +/* BE0424 80241694 0040182D */ daddu $v1, $v0, $zero +/* BE0428 80241698 10600012 */ beqz $v1, .L802416E4 +/* BE042C 8024169C 0000202D */ daddu $a0, $zero, $zero +/* BE0430 802416A0 8C620000 */ lw $v0, ($v1) +/* BE0434 802416A4 5040000A */ beql $v0, $zero, .L802416D0 +/* BE0438 802416A8 00041080 */ sll $v0, $a0, 2 +/* BE043C 802416AC 3C058024 */ lui $a1, 0x8024 +/* BE0440 802416B0 24A54A20 */ addiu $a1, $a1, 0x4a20 +.L802416B4: +/* BE0444 802416B4 24630004 */ addiu $v1, $v1, 4 +/* BE0448 802416B8 24840001 */ addiu $a0, $a0, 1 +/* BE044C 802416BC ACA20000 */ sw $v0, ($a1) +/* BE0450 802416C0 8C620000 */ lw $v0, ($v1) +/* BE0454 802416C4 1440FFFB */ bnez $v0, .L802416B4 +/* BE0458 802416C8 24A50004 */ addiu $a1, $a1, 4 +/* BE045C 802416CC 00041080 */ sll $v0, $a0, 2 +.L802416D0: +/* BE0460 802416D0 3C018024 */ lui $at, 0x8024 +/* BE0464 802416D4 00220821 */ addu $at, $at, $v0 +/* BE0468 802416D8 AC204A20 */ sw $zero, 0x4a20($at) +/* BE046C 802416DC 080905C3 */ j .L8024170C +/* BE0470 802416E0 00000000 */ nop +.L802416E4: +/* BE0474 802416E4 3C038024 */ lui $v1, 0x8024 +/* BE0478 802416E8 24634A20 */ addiu $v1, $v1, 0x4a20 +/* BE047C 802416EC 0060282D */ daddu $a1, $v1, $zero +.L802416F0: +/* BE0480 802416F0 24820010 */ addiu $v0, $a0, 0x10 +/* BE0484 802416F4 AC620000 */ sw $v0, ($v1) +/* BE0488 802416F8 24630004 */ addiu $v1, $v1, 4 +/* BE048C 802416FC 24840001 */ addiu $a0, $a0, 1 +/* BE0490 80241700 28820070 */ slti $v0, $a0, 0x70 +/* BE0494 80241704 1440FFFA */ bnez $v0, .L802416F0 +/* BE0498 80241708 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024170C: +/* BE049C 8024170C 8FBF0010 */ lw $ra, 0x10($sp) +/* BE04A0 80241710 24020002 */ addiu $v0, $zero, 2 +/* BE04A4 80241714 03E00008 */ jr $ra +/* BE04A8 80241718 27BD0018 */ addiu $sp, $sp, 0x18 +/* BE04AC 8024171C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240000_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240000_BE37B0.s new file mode 100644 index 0000000000..a6b42fa542 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240000_BE37B0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BE37B0 +/* BE37B0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE37B4 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* BE37B8 80240008 0080A82D */ daddu $s5, $a0, $zero +/* BE37BC 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* BE37C0 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* BE37C4 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* BE37C8 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* BE37CC 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* BE37D0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* BE37D4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* BE37D8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* BE37DC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* BE37E0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* BE37E4 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* BE37E8 80240038 86640008 */ lh $a0, 8($s3) +/* BE37EC 8024003C 0C00EABB */ jal get_npc_unsafe +/* BE37F0 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* BE37F4 80240044 0040A02D */ daddu $s4, $v0, $zero +/* BE37F8 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* BE37FC 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* BE3800 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* BE3804 80240054 0000902D */ daddu $s2, $zero, $zero +/* BE3808 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* BE380C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE3810 80240060 8C620000 */ lw $v0, ($v1) +/* BE3814 80240064 3C0146FF */ lui $at, 0x46ff +/* BE3818 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* BE381C 8024006C 4481A000 */ mtc1 $at, $f20 +/* BE3820 80240070 18400018 */ blez $v0, .L802400D4 +/* BE3824 80240074 0240802D */ daddu $s0, $s2, $zero +/* BE3828 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* BE382C 8024007C 02231021 */ addu $v0, $s1, $v1 +/* BE3830 80240080 4600C306 */ mov.s $f12, $f24 +/* BE3834 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* BE3838 80240088 46802120 */ cvt.s.w $f4, $f4 +/* BE383C 8024008C 44062000 */ mfc1 $a2, $f4 +/* BE3840 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* BE3844 80240094 46802120 */ cvt.s.w $f4, $f4 +/* BE3848 80240098 44072000 */ mfc1 $a3, $f4 +/* BE384C 8024009C 0C00A7B5 */ jal dist2D +/* BE3850 802400A0 4600B386 */ mov.s $f14, $f22 +/* BE3854 802400A4 4614003C */ c.lt.s $f0, $f20 +/* BE3858 802400A8 00000000 */ nop +/* BE385C 802400AC 45000003 */ bc1f .L802400BC +/* BE3860 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* BE3864 802400B4 46000506 */ mov.s $f20, $f0 +/* BE3868 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* BE386C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE3870 802400C0 26100001 */ addiu $s0, $s0, 1 +/* BE3874 802400C4 8C620000 */ lw $v0, ($v1) +/* BE3878 802400C8 0202102A */ slt $v0, $s0, $v0 +/* BE387C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* BE3880 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* BE3884 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* BE3888 802400D8 8C420004 */ lw $v0, 4($v0) +/* BE388C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* BE3890 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* BE3894 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* BE3898 802400E8 04410004 */ bgez $v0, .L802400FC +/* BE389C 802400EC 00000000 */ nop +/* BE38A0 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* BE38A4 802400F4 08090047 */ j .L8024011C +/* BE38A8 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* BE38AC 802400FC 3C018024 */ lui $at, 0x8024 +/* BE38B0 80240100 D4224130 */ ldc1 $f2, 0x4130($at) +/* BE38B4 80240104 44820000 */ mtc1 $v0, $f0 +/* BE38B8 80240108 00000000 */ nop +/* BE38BC 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* BE38C0 80240110 46220003 */ div.d $f0, $f0, $f2 +/* BE38C4 80240114 46200020 */ cvt.s.d $f0, $f0 +/* BE38C8 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* BE38CC 8024011C 24020001 */ addiu $v0, $zero, 1 +/* BE38D0 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* BE38D4 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* BE38D8 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* BE38DC 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* BE38E0 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* BE38E4 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* BE38E8 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* BE38EC 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* BE38F0 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* BE38F4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* BE38F8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* BE38FC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* BE3900 80240150 03E00008 */ jr $ra +/* BE3904 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240158_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240158_BE37B0.s new file mode 100644 index 0000000000..21dfde5b6a --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240158_BE37B0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_BE3908 +/* BE3908 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BE390C 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* BE3910 80240160 0080902D */ daddu $s2, $a0, $zero +/* BE3914 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* BE3918 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* BE391C 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* BE3920 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* BE3924 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* BE3928 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BE392C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* BE3930 80240180 8E510148 */ lw $s1, 0x148($s2) +/* BE3934 80240184 00A0982D */ daddu $s3, $a1, $zero +/* BE3938 80240188 86240008 */ lh $a0, 8($s1) +/* BE393C 8024018C 0C00EABB */ jal get_npc_unsafe +/* BE3940 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* BE3944 80240194 8E630014 */ lw $v1, 0x14($s3) +/* BE3948 80240198 04600030 */ bltz $v1, .L8024025C +/* BE394C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* BE3950 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* BE3954 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* BE3958 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* BE395C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* BE3960 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* BE3964 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* BE3968 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* BE396C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* BE3970 802401C0 0C01242D */ jal func_800490B4 +/* BE3974 802401C4 0220282D */ daddu $a1, $s1, $zero +/* BE3978 802401C8 10400021 */ beqz $v0, .L80240250 +/* BE397C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* BE3980 802401D0 0200282D */ daddu $a1, $s0, $zero +/* BE3984 802401D4 0000302D */ daddu $a2, $zero, $zero +/* BE3988 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* BE398C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* BE3990 802401E0 44810000 */ mtc1 $at, $f0 +/* BE3994 802401E4 3C014000 */ lui $at, 0x4000 +/* BE3998 802401E8 44811000 */ mtc1 $at, $f2 +/* BE399C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* BE39A0 802401F0 44812000 */ mtc1 $at, $f4 +/* BE39A4 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* BE39A8 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* BE39AC 802401FC 44833000 */ mtc1 $v1, $f6 +/* BE39B0 80240200 00000000 */ nop +/* BE39B4 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* BE39B8 80240208 44073000 */ mfc1 $a3, $f6 +/* BE39BC 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* BE39C0 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* BE39C4 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE39C8 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE39CC 8024021C 0C01BFA4 */ jal fx_emote +/* BE39D0 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE39D4 80240224 0200202D */ daddu $a0, $s0, $zero +/* BE39D8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE39DC 8024022C 0C012530 */ jal func_800494C0 +/* BE39E0 80240230 3C060020 */ lui $a2, 0x20 +/* BE39E4 80240234 8E220018 */ lw $v0, 0x18($s1) +/* BE39E8 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* BE39EC 8024023C 30420001 */ andi $v0, $v0, 1 +/* BE39F0 80240240 14400064 */ bnez $v0, .L802403D4 +/* BE39F4 80240244 2402000A */ addiu $v0, $zero, 0xa +/* BE39F8 80240248 080900F5 */ j .L802403D4 +/* BE39FC 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* BE3A00 80240250 8E420074 */ lw $v0, 0x74($s2) +/* BE3A04 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* BE3A08 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* BE3A0C 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* BE3A10 80240260 1440005D */ bnez $v0, .L802403D8 +/* BE3A14 80240264 00000000 */ nop +/* BE3A18 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* BE3A1C 8024026C 3C014010 */ lui $at, 0x4010 +/* BE3A20 80240270 44811800 */ mtc1 $at, $f3 +/* BE3A24 80240274 44801000 */ mtc1 $zero, $f2 +/* BE3A28 80240278 46000021 */ cvt.d.s $f0, $f0 +/* BE3A2C 8024027C 4622003C */ c.lt.d $f0, $f2 +/* BE3A30 80240280 00000000 */ nop +/* BE3A34 80240284 45000003 */ bc1f .L80240294 +/* BE3A38 80240288 0200202D */ daddu $a0, $s0, $zero +/* BE3A3C 8024028C 080900A6 */ j .L80240298 +/* BE3A40 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* BE3A44 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* BE3A48 80240298 0C00F598 */ jal func_8003D660 +/* BE3A4C 8024029C 00000000 */ nop +/* BE3A50 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE3A54 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* BE3A58 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE3A5C 802402AC 00031040 */ sll $v0, $v1, 1 +/* BE3A60 802402B0 00431021 */ addu $v0, $v0, $v1 +/* BE3A64 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE3A68 802402B8 00021080 */ sll $v0, $v0, 2 +/* BE3A6C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* BE3A70 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* BE3A74 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BE3A78 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* BE3A7C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* BE3A80 802402D0 4406B000 */ mfc1 $a2, $f22 +/* BE3A84 802402D4 4407A000 */ mfc1 $a3, $f20 +/* BE3A88 802402D8 0C00A720 */ jal atan2 +/* BE3A8C 802402DC 00000000 */ nop +/* BE3A90 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* BE3A94 802402E4 44060000 */ mfc1 $a2, $f0 +/* BE3A98 802402E8 0200202D */ daddu $a0, $s0, $zero +/* BE3A9C 802402EC 0C00EA95 */ jal npc_move_heading +/* BE3AA0 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* BE3AA4 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE3AA8 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE3AAC 802402FC 4406B000 */ mfc1 $a2, $f22 +/* BE3AB0 80240300 4407A000 */ mfc1 $a3, $f20 +/* BE3AB4 80240304 0C00A7B5 */ jal dist2D +/* BE3AB8 80240308 00000000 */ nop +/* BE3ABC 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* BE3AC0 80240310 4602003E */ c.le.s $f0, $f2 +/* BE3AC4 80240314 00000000 */ nop +/* BE3AC8 80240318 4500002F */ bc1f .L802403D8 +/* BE3ACC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BE3AD0 80240320 24020002 */ addiu $v0, $zero, 2 +/* BE3AD4 80240324 0C00A67F */ jal rand_int +/* BE3AD8 80240328 AE420070 */ sw $v0, 0x70($s2) +/* BE3ADC 8024032C 3C035555 */ lui $v1, 0x5555 +/* BE3AE0 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* BE3AE4 80240334 00430018 */ mult $v0, $v1 +/* BE3AE8 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* BE3AEC 8024033C 00004010 */ mfhi $t0 +/* BE3AF0 80240340 01042023 */ subu $a0, $t0, $a0 +/* BE3AF4 80240344 00041840 */ sll $v1, $a0, 1 +/* BE3AF8 80240348 00641821 */ addu $v1, $v1, $a0 +/* BE3AFC 8024034C 00431023 */ subu $v0, $v0, $v1 +/* BE3B00 80240350 24430002 */ addiu $v1, $v0, 2 +/* BE3B04 80240354 AE430074 */ sw $v1, 0x74($s2) +/* BE3B08 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* BE3B0C 8024035C 18400009 */ blez $v0, .L80240384 +/* BE3B10 80240360 24020004 */ addiu $v0, $zero, 4 +/* BE3B14 80240364 8E620004 */ lw $v0, 4($s3) +/* BE3B18 80240368 18400006 */ blez $v0, .L80240384 +/* BE3B1C 8024036C 24020004 */ addiu $v0, $zero, 4 +/* BE3B20 80240370 8E620008 */ lw $v0, 8($s3) +/* BE3B24 80240374 18400003 */ blez $v0, .L80240384 +/* BE3B28 80240378 24020004 */ addiu $v0, $zero, 4 +/* BE3B2C 8024037C 14600002 */ bnez $v1, .L80240388 +/* BE3B30 80240380 00000000 */ nop +.L80240384: +/* BE3B34 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* BE3B38 80240388 0C00A67F */ jal rand_int +/* BE3B3C 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* BE3B40 80240390 3C0351EB */ lui $v1, 0x51eb +/* BE3B44 80240394 3463851F */ ori $v1, $v1, 0x851f +/* BE3B48 80240398 00430018 */ mult $v0, $v1 +/* BE3B4C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* BE3B50 802403A0 00004010 */ mfhi $t0 +/* BE3B54 802403A4 00082143 */ sra $a0, $t0, 5 +/* BE3B58 802403A8 00832023 */ subu $a0, $a0, $v1 +/* BE3B5C 802403AC 00041840 */ sll $v1, $a0, 1 +/* BE3B60 802403B0 00641821 */ addu $v1, $v1, $a0 +/* BE3B64 802403B4 000318C0 */ sll $v1, $v1, 3 +/* BE3B68 802403B8 00641821 */ addu $v1, $v1, $a0 +/* BE3B6C 802403BC 00031880 */ sll $v1, $v1, 2 +/* BE3B70 802403C0 8E640004 */ lw $a0, 4($s3) +/* BE3B74 802403C4 00431023 */ subu $v0, $v0, $v1 +/* BE3B78 802403C8 0044102A */ slt $v0, $v0, $a0 +/* BE3B7C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* BE3B80 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* BE3B84 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* BE3B88 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* BE3B8C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* BE3B90 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* BE3B94 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* BE3B98 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* BE3B9C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* BE3BA0 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BE3BA4 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BE3BA8 802403F8 03E00008 */ jr $ra +/* BE3BAC 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240400_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240400_BE37B0.s new file mode 100644 index 0000000000..868f370745 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240400_BE37B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_BE3BB0 +/* BE3BB0 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE3BB4 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* BE3BB8 80240408 0080982D */ daddu $s3, $a0, $zero +/* BE3BBC 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* BE3BC0 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* BE3BC4 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* BE3BC8 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* BE3BCC 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* BE3BD0 80240420 86440008 */ lh $a0, 8($s2) +/* BE3BD4 80240424 0C00EABB */ jal get_npc_unsafe +/* BE3BD8 80240428 00A0882D */ daddu $s1, $a1, $zero +/* BE3BDC 8024042C 8E240008 */ lw $a0, 8($s1) +/* BE3BE0 80240430 0040802D */ daddu $s0, $v0, $zero +/* BE3BE4 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* BE3BE8 80240438 00832021 */ addu $a0, $a0, $v1 +/* BE3BEC 8024043C 00042043 */ sra $a0, $a0, 1 +/* BE3BF0 80240440 0C00A67F */ jal rand_int +/* BE3BF4 80240444 24840001 */ addiu $a0, $a0, 1 +/* BE3BF8 80240448 8E230008 */ lw $v1, 8($s1) +/* BE3BFC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* BE3C00 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* BE3C04 80240454 00651821 */ addu $v1, $v1, $a1 +/* BE3C08 80240458 00031843 */ sra $v1, $v1, 1 +/* BE3C0C 8024045C 00621821 */ addu $v1, $v1, $v0 +/* BE3C10 80240460 0C00A67F */ jal rand_int +/* BE3C14 80240464 A603008E */ sh $v1, 0x8e($s0) +/* BE3C18 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE3C1C 8024046C 44820000 */ mtc1 $v0, $f0 +/* BE3C20 80240470 00000000 */ nop +/* BE3C24 80240474 46800020 */ cvt.s.w $f0, $f0 +/* BE3C28 80240478 46006300 */ add.s $f12, $f12, $f0 +/* BE3C2C 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* BE3C30 80240480 44810000 */ mtc1 $at, $f0 +/* BE3C34 80240484 0C00A6C9 */ jal clamp_angle +/* BE3C38 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* BE3C3C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* BE3C40 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* BE3C44 80240494 8C420000 */ lw $v0, ($v0) +/* BE3C48 80240498 AE020028 */ sw $v0, 0x28($s0) +/* BE3C4C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* BE3C50 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* BE3C54 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* BE3C58 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* BE3C5C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* BE3C60 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* BE3C64 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* BE3C68 802404B8 03E00008 */ jr $ra +/* BE3C6C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_802404C0_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_802404C0_BE37B0.s new file mode 100644 index 0000000000..ce11e3c80c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_802404C0_BE37B0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_BE3C70 +/* BE3C70 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE3C74 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* BE3C78 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* BE3C7C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* BE3C80 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* BE3C84 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* BE3C88 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* BE3C8C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* BE3C90 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* BE3C94 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* BE3C98 802404E8 86240008 */ lh $a0, 8($s1) +/* BE3C9C 802404EC 0C00EABB */ jal get_npc_unsafe +/* BE3CA0 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* BE3CA4 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* BE3CA8 802404F8 04600031 */ bltz $v1, .L802405C0 +/* BE3CAC 802404FC 0040802D */ daddu $s0, $v0, $zero +/* BE3CB0 80240500 0260202D */ daddu $a0, $s3, $zero +/* BE3CB4 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* BE3CB8 80240508 8E460024 */ lw $a2, 0x24($s2) +/* BE3CBC 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* BE3CC0 80240510 0C01242D */ jal func_800490B4 +/* BE3CC4 80240514 0220282D */ daddu $a1, $s1, $zero +/* BE3CC8 80240518 10400029 */ beqz $v0, .L802405C0 +/* BE3CCC 8024051C 0000202D */ daddu $a0, $zero, $zero +/* BE3CD0 80240520 0200282D */ daddu $a1, $s0, $zero +/* BE3CD4 80240524 0000302D */ daddu $a2, $zero, $zero +/* BE3CD8 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* BE3CDC 8024052C 3C013F80 */ lui $at, 0x3f80 +/* BE3CE0 80240530 44810000 */ mtc1 $at, $f0 +/* BE3CE4 80240534 3C014000 */ lui $at, 0x4000 +/* BE3CE8 80240538 44811000 */ mtc1 $at, $f2 +/* BE3CEC 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* BE3CF0 80240540 44812000 */ mtc1 $at, $f4 +/* BE3CF4 80240544 2402000F */ addiu $v0, $zero, 0xf +/* BE3CF8 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* BE3CFC 8024054C 44833000 */ mtc1 $v1, $f6 +/* BE3D00 80240550 00000000 */ nop +/* BE3D04 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* BE3D08 80240558 44073000 */ mfc1 $a3, $f6 +/* BE3D0C 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* BE3D10 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* BE3D14 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE3D18 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE3D1C 8024056C 0C01BFA4 */ jal fx_emote +/* BE3D20 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE3D24 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE3D28 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE3D2C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE3D30 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE3D34 80240584 8C460028 */ lw $a2, 0x28($v0) +/* BE3D38 80240588 0C00A720 */ jal atan2 +/* BE3D3C 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* BE3D40 80240590 0200202D */ daddu $a0, $s0, $zero +/* BE3D44 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE3D48 80240598 3C060020 */ lui $a2, 0x20 +/* BE3D4C 8024059C 0C012530 */ jal func_800494C0 +/* BE3D50 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* BE3D54 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* BE3D58 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* BE3D5C 802405AC 30420001 */ andi $v0, $v0, 1 +/* BE3D60 802405B0 14400029 */ bnez $v0, .L80240658 +/* BE3D64 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* BE3D68 802405B8 08090196 */ j .L80240658 +/* BE3D6C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* BE3D70 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* BE3D74 802405C4 14400025 */ bnez $v0, .L8024065C +/* BE3D78 802405C8 00000000 */ nop +/* BE3D7C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* BE3D80 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* BE3D84 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* BE3D88 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* BE3D8C 802405DC 1440001F */ bnez $v0, .L8024065C +/* BE3D90 802405E0 00000000 */ nop +/* BE3D94 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* BE3D98 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* BE3D9C 802405EC 10400019 */ beqz $v0, .L80240654 +/* BE3DA0 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* BE3DA4 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* BE3DA8 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* BE3DAC 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* BE3DB0 80240600 14400007 */ bnez $v0, .L80240620 +/* BE3DB4 80240604 00000000 */ nop +/* BE3DB8 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* BE3DBC 8024060C 3C014334 */ lui $at, 0x4334 +/* BE3DC0 80240610 44816000 */ mtc1 $at, $f12 +/* BE3DC4 80240614 0C00A6C9 */ jal clamp_angle +/* BE3DC8 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* BE3DCC 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* BE3DD0 80240620 8E440008 */ lw $a0, 8($s2) +/* BE3DD4 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* BE3DD8 80240628 00822021 */ addu $a0, $a0, $v0 +/* BE3DDC 8024062C 00042043 */ sra $a0, $a0, 1 +/* BE3DE0 80240630 0C00A67F */ jal rand_int +/* BE3DE4 80240634 24840001 */ addiu $a0, $a0, 1 +/* BE3DE8 80240638 8E430008 */ lw $v1, 8($s2) +/* BE3DEC 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* BE3DF0 80240640 00641821 */ addu $v1, $v1, $a0 +/* BE3DF4 80240644 00031843 */ sra $v1, $v1, 1 +/* BE3DF8 80240648 00621821 */ addu $v1, $v1, $v0 +/* BE3DFC 8024064C 08090197 */ j .L8024065C +/* BE3E00 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* BE3E04 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* BE3E08 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* BE3E0C 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* BE3E10 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* BE3E14 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* BE3E18 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* BE3E1C 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* BE3E20 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* BE3E24 80240674 03E00008 */ jr $ra +/* BE3E28 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024067C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024067C_BE37B0.s new file mode 100644 index 0000000000..3ac7359e2c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024067C_BE37B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_BE3E2C +/* BE3E2C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE3E30 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* BE3E34 80240684 0080882D */ daddu $s1, $a0, $zero +/* BE3E38 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* BE3E3C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* BE3E40 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* BE3E44 80240694 8E300148 */ lw $s0, 0x148($s1) +/* BE3E48 80240698 86040008 */ lh $a0, 8($s0) +/* BE3E4C 8024069C 0C00EABB */ jal get_npc_unsafe +/* BE3E50 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* BE3E54 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* BE3E58 802406A8 24630001 */ addiu $v1, $v1, 1 +/* BE3E5C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* BE3E60 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* BE3E64 802406B4 8C840000 */ lw $a0, ($a0) +/* BE3E68 802406B8 0064182A */ slt $v1, $v1, $a0 +/* BE3E6C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* BE3E70 802406C0 0040282D */ daddu $a1, $v0, $zero +/* BE3E74 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* BE3E78 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* BE3E7C 802406CC 8C420004 */ lw $v0, 4($v0) +/* BE3E80 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* BE3E84 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* BE3E88 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* BE3E8C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* BE3E90 802406E0 00000000 */ nop +/* BE3E94 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* BE3E98 802406E8 080901C4 */ j .L80240710 +/* BE3E9C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* BE3EA0 802406F0 3C018024 */ lui $at, 0x8024 +/* BE3EA4 802406F4 D4224138 */ ldc1 $f2, 0x4138($at) +/* BE3EA8 802406F8 44820000 */ mtc1 $v0, $f0 +/* BE3EAC 802406FC 00000000 */ nop +/* BE3EB0 80240700 46800021 */ cvt.d.w $f0, $f0 +/* BE3EB4 80240704 46220003 */ div.d $f0, $f0, $f2 +/* BE3EB8 80240708 46200020 */ cvt.s.d $f0, $f0 +/* BE3EBC 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* BE3EC0 80240710 24020001 */ addiu $v0, $zero, 1 +/* BE3EC4 80240714 AE220070 */ sw $v0, 0x70($s1) +/* BE3EC8 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* BE3ECC 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* BE3ED0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* BE3ED4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* BE3ED8 80240728 03E00008 */ jr $ra +/* BE3EDC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240730_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240730_BE37B0.s new file mode 100644 index 0000000000..89dd223ba0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240730_BE37B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_BE3EE0 +/* BE3EE0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE3EE4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* BE3EE8 80240738 0080882D */ daddu $s1, $a0, $zero +/* BE3EEC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* BE3EF0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* BE3EF4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* BE3EF8 80240748 0C00EABB */ jal get_npc_unsafe +/* BE3EFC 8024074C 86040008 */ lh $a0, 8($s0) +/* BE3F00 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* BE3F04 80240754 3C014120 */ lui $at, 0x4120 +/* BE3F08 80240758 44812000 */ mtc1 $at, $f4 +/* BE3F0C 8024075C 3C014000 */ lui $at, 0x4000 +/* BE3F10 80240760 44810000 */ mtc1 $at, $f0 +/* BE3F14 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* BE3F18 80240768 8C640010 */ lw $a0, 0x10($v1) +/* BE3F1C 8024076C 8C430000 */ lw $v1, ($v0) +/* BE3F20 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* BE3F24 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* BE3F28 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* BE3F2C 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* BE3F30 80240780 AC430000 */ sw $v1, ($v0) +/* BE3F34 80240784 AC440028 */ sw $a0, 0x28($v0) +/* BE3F38 80240788 2402000B */ addiu $v0, $zero, 0xb +/* BE3F3C 8024078C AE220070 */ sw $v0, 0x70($s1) +/* BE3F40 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* BE3F44 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* BE3F48 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* BE3F4C 8024079C 03E00008 */ jr $ra +/* BE3F50 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_802407A4_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_802407A4_BE37B0.s new file mode 100644 index 0000000000..2d808f5d49 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_802407A4_BE37B0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_BE3F54 +/* BE3F54 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE3F58 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* BE3F5C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* BE3F60 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* BE3F64 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* BE3F68 802407B8 0C00EABB */ jal get_npc_unsafe +/* BE3F6C 802407BC 84440008 */ lh $a0, 8($v0) +/* BE3F70 802407C0 0040202D */ daddu $a0, $v0, $zero +/* BE3F74 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* BE3F78 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* BE3F7C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* BE3F80 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* BE3F84 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* BE3F88 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* BE3F8C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* BE3F90 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* BE3F94 802407E4 45010009 */ bc1t .L8024080C +/* BE3F98 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* BE3F9C 802407EC 8C820000 */ lw $v0, ($a0) +/* BE3FA0 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* BE3FA4 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* BE3FA8 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* BE3FAC 802407FC 00431024 */ and $v0, $v0, $v1 +/* BE3FB0 80240800 AC820000 */ sw $v0, ($a0) +/* BE3FB4 80240804 2402000C */ addiu $v0, $zero, 0xc +/* BE3FB8 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* BE3FBC 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* BE3FC0 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* BE3FC4 80240814 03E00008 */ jr $ra +/* BE3FC8 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024081C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024081C_BE37B0.s new file mode 100644 index 0000000000..f98bc29ef2 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024081C_BE37B0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_BE3FCC +/* BE3FCC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BE3FD0 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* BE3FD4 80240824 0080982D */ daddu $s3, $a0, $zero +/* BE3FD8 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* BE3FDC 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* BE3FE0 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* BE3FE4 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* BE3FE8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BE3FEC 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* BE3FF0 80240840 86240008 */ lh $a0, 8($s1) +/* BE3FF4 80240844 0C00EABB */ jal get_npc_unsafe +/* BE3FF8 80240848 00A0802D */ daddu $s0, $a1, $zero +/* BE3FFC 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* BE4000 80240850 0040902D */ daddu $s2, $v0, $zero +/* BE4004 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* BE4008 80240858 00832021 */ addu $a0, $a0, $v1 +/* BE400C 8024085C 00042043 */ sra $a0, $a0, 1 +/* BE4010 80240860 0C00A67F */ jal rand_int +/* BE4014 80240864 24840001 */ addiu $a0, $a0, 1 +/* BE4018 80240868 8E030020 */ lw $v1, 0x20($s0) +/* BE401C 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* BE4020 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* BE4024 80240874 00641821 */ addu $v1, $v1, $a0 +/* BE4028 80240878 00031843 */ sra $v1, $v1, 1 +/* BE402C 8024087C 00621821 */ addu $v1, $v1, $v0 +/* BE4030 80240880 A643008E */ sh $v1, 0x8e($s2) +/* BE4034 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* BE4038 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BE403C 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* BE4040 80240890 AE420028 */ sw $v0, 0x28($s2) +/* BE4044 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* BE4048 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE404C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE4050 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* BE4054 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* BE4058 802408A8 0C00A720 */ jal atan2 +/* BE405C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* BE4060 802408B0 46000506 */ mov.s $f20, $f0 +/* BE4064 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* BE4068 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* BE406C 802408BC 4600A386 */ mov.s $f14, $f20 +/* BE4070 802408C0 46000086 */ mov.s $f2, $f0 +/* BE4074 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* BE4078 802408C8 46001005 */ abs.s $f0, $f2 +/* BE407C 802408CC 44822000 */ mtc1 $v0, $f4 +/* BE4080 802408D0 00000000 */ nop +/* BE4084 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* BE4088 802408D8 4600203C */ c.lt.s $f4, $f0 +/* BE408C 802408DC 00000000 */ nop +/* BE4090 802408E0 4500000D */ bc1f .L80240918 +/* BE4094 802408E4 00000000 */ nop +/* BE4098 802408E8 44800000 */ mtc1 $zero, $f0 +/* BE409C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* BE40A0 802408F0 4600103C */ c.lt.s $f2, $f0 +/* BE40A4 802408F4 00000000 */ nop +/* BE40A8 802408F8 45000006 */ bc1f .L80240914 +/* BE40AC 802408FC 00021023 */ negu $v0, $v0 +/* BE40B0 80240900 44820000 */ mtc1 $v0, $f0 +/* BE40B4 80240904 00000000 */ nop +/* BE40B8 80240908 46800020 */ cvt.s.w $f0, $f0 +/* BE40BC 8024090C 08090246 */ j .L80240918 +/* BE40C0 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* BE40C4 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* BE40C8 80240918 0C00A6C9 */ jal clamp_angle +/* BE40CC 8024091C 4600A306 */ mov.s $f12, $f20 +/* BE40D0 80240920 2402000D */ addiu $v0, $zero, 0xd +/* BE40D4 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* BE40D8 80240928 AE620070 */ sw $v0, 0x70($s3) +/* BE40DC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* BE40E0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* BE40E4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* BE40E8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* BE40EC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* BE40F0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BE40F4 80240944 03E00008 */ jr $ra +/* BE40F8 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024094C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024094C_BE37B0.s new file mode 100644 index 0000000000..1fe9217499 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024094C_BE37B0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_BE40FC +/* BE40FC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE4100 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* BE4104 80240954 0080982D */ daddu $s3, $a0, $zero +/* BE4108 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* BE410C 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* BE4110 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* BE4114 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* BE4118 80240968 8E720148 */ lw $s2, 0x148($s3) +/* BE411C 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* BE4120 80240970 86440008 */ lh $a0, 8($s2) +/* BE4124 80240974 0C00EABB */ jal get_npc_unsafe +/* BE4128 80240978 00C0802D */ daddu $s0, $a2, $zero +/* BE412C 8024097C 0200202D */ daddu $a0, $s0, $zero +/* BE4130 80240980 0240282D */ daddu $a1, $s2, $zero +/* BE4134 80240984 24030001 */ addiu $v1, $zero, 1 +/* BE4138 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* BE413C 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* BE4140 80240990 8E270028 */ lw $a3, 0x28($s1) +/* BE4144 80240994 0C01242D */ jal func_800490B4 +/* BE4148 80240998 0040802D */ daddu $s0, $v0, $zero +/* BE414C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* BE4150 802409A0 0200202D */ daddu $a0, $s0, $zero +/* BE4154 802409A4 24040002 */ addiu $a0, $zero, 2 +/* BE4158 802409A8 0200282D */ daddu $a1, $s0, $zero +/* BE415C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* BE4160 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* BE4164 802409B4 3C013F80 */ lui $at, 0x3f80 +/* BE4168 802409B8 44810000 */ mtc1 $at, $f0 +/* BE416C 802409BC 3C014000 */ lui $at, 0x4000 +/* BE4170 802409C0 44811000 */ mtc1 $at, $f2 +/* BE4174 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* BE4178 802409C8 44812000 */ mtc1 $at, $f4 +/* BE417C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* BE4180 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* BE4184 802409D4 44833000 */ mtc1 $v1, $f6 +/* BE4188 802409D8 00000000 */ nop +/* BE418C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* BE4190 802409E0 44073000 */ mfc1 $a3, $f6 +/* BE4194 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* BE4198 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* BE419C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* BE41A0 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE41A4 802409F4 0C01BFA4 */ jal fx_emote +/* BE41A8 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE41AC 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* BE41B0 80240A00 8C430000 */ lw $v1, ($v0) +/* BE41B4 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* BE41B8 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* BE41BC 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* BE41C0 80240A10 08090293 */ j .L80240A4C +/* BE41C4 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* BE41C8 80240A18 0C00F598 */ jal func_8003D660 +/* BE41CC 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* BE41D0 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* BE41D4 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* BE41D8 80240A28 0C00EA95 */ jal npc_move_heading +/* BE41DC 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* BE41E0 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* BE41E4 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* BE41E8 80240A38 18400003 */ blez $v0, .L80240A48 +/* BE41EC 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* BE41F0 80240A40 08090294 */ j .L80240A50 +/* BE41F4 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* BE41F8 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* BE41FC 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* BE4200 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* BE4204 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* BE4208 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* BE420C 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* BE4210 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* BE4214 80240A64 03E00008 */ jr $ra +/* BE4218 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240A6C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240A6C_BE37B0.s new file mode 100644 index 0000000000..c67d13c240 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240A6C_BE37B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_BE421C +/* BE421C 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE4220 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* BE4224 80240A74 0080882D */ daddu $s1, $a0, $zero +/* BE4228 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* BE422C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* BE4230 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* BE4234 80240A84 0C00EABB */ jal get_npc_unsafe +/* BE4238 80240A88 86040008 */ lh $a0, 8($s0) +/* BE423C 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* BE4240 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* BE4244 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* BE4248 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* BE424C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* BE4250 80240AA0 00000000 */ nop +/* BE4254 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* BE4258 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* BE425C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* BE4260 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* BE4264 80240AB4 080902B0 */ j .L80240AC0 +/* BE4268 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* BE426C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* BE4270 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* BE4274 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* BE4278 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* BE427C 80240ACC 03E00008 */ jr $ra +/* BE4280 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240AD4_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240AD4_BE37B0.s new file mode 100644 index 0000000000..f8dad3c5dd --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240AD4_BE37B0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_BE4284 +/* BE4284 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE4288 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* BE428C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* BE4290 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* BE4294 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* BE4298 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* BE429C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* BE42A0 80240AF0 86040008 */ lh $a0, 8($s0) +/* BE42A4 80240AF4 0C00EABB */ jal get_npc_unsafe +/* BE42A8 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* BE42AC 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE42B0 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* BE42B4 80240B04 8C630000 */ lw $v1, ($v1) +/* BE42B8 80240B08 0083182A */ slt $v1, $a0, $v1 +/* BE42BC 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* BE42C0 80240B10 0040302D */ daddu $a2, $v0, $zero +/* BE42C4 80240B14 00041040 */ sll $v0, $a0, 1 +/* BE42C8 80240B18 00441021 */ addu $v0, $v0, $a0 +/* BE42CC 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* BE42D0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE42D4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* BE42D8 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* BE42DC 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* BE42E0 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* BE42E4 80240B34 4602003E */ c.le.s $f0, $f2 +/* BE42E8 80240B38 00000000 */ nop +/* BE42EC 80240B3C 45020003 */ bc1fl .L80240B4C +/* BE42F0 80240B40 24840001 */ addiu $a0, $a0, 1 +/* BE42F4 80240B44 080902D7 */ j .L80240B5C +/* BE42F8 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* BE42FC 80240B4C 8C620000 */ lw $v0, ($v1) +/* BE4300 80240B50 0082102A */ slt $v0, $a0, $v0 +/* BE4304 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* BE4308 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* BE430C 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* BE4310 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* BE4314 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* BE4318 80240B68 8C420004 */ lw $v0, 4($v0) +/* BE431C 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* BE4320 80240B70 24020001 */ addiu $v0, $zero, 1 +/* BE4324 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* BE4328 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* BE432C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* BE4330 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* BE4334 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* BE4338 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* BE433C 80240B8C 03E00008 */ jr $ra +/* BE4340 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240B94_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240B94_BE37B0.s new file mode 100644 index 0000000000..2b985e7f92 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240B94_BE37B0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_BE4344 +/* BE4344 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* BE4348 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* BE434C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* BE4350 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* BE4354 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* BE4358 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* BE435C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* BE4360 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* BE4364 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* BE4368 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* BE436C 80240BBC 86240008 */ lh $a0, 8($s1) +/* BE4370 80240BC0 0C00EABB */ jal get_npc_unsafe +/* BE4374 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* BE4378 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* BE437C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* BE4380 80240BD0 8C650000 */ lw $a1, ($v1) +/* BE4384 80240BD4 0C0B1EAF */ jal get_variable +/* BE4388 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* BE438C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* BE4390 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE4394 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* BE4398 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* BE439C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE43A0 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* BE43A4 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* BE43A8 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE43AC 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* BE43B0 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* BE43B4 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE43B8 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* BE43BC 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* BE43C0 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* BE43C4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE43C8 80240C18 3C014282 */ lui $at, 0x4282 +/* BE43CC 80240C1C 44810000 */ mtc1 $at, $f0 +/* BE43D0 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* BE43D4 80240C24 0040982D */ daddu $s3, $v0, $zero +/* BE43D8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* BE43DC 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* BE43E0 80240C30 16000005 */ bnez $s0, .L80240C48 +/* BE43E4 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* BE43E8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE43EC 80240C3C 30420004 */ andi $v0, $v0, 4 +/* BE43F0 80240C40 10400044 */ beqz $v0, .L80240D54 +/* BE43F4 80240C44 00000000 */ nop +.L80240C48: +/* BE43F8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* BE43FC 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* BE4400 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* BE4404 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* BE4408 80240C58 8E430000 */ lw $v1, ($s2) +/* BE440C 80240C5C 8C420000 */ lw $v0, ($v0) +/* BE4410 80240C60 00641824 */ and $v1, $v1, $a0 +/* BE4414 80240C64 AE430000 */ sw $v1, ($s2) +/* BE4418 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* BE441C 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4420 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* BE4424 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* BE4428 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* BE442C 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* BE4430 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* BE4434 80240C84 08090325 */ j .L80240C94 +/* BE4438 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* BE443C 80240C8C 00621024 */ and $v0, $v1, $v0 +/* BE4440 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* BE4444 80240C94 AE420000 */ sw $v0, ($s2) +/* BE4448 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE444C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* BE4450 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* BE4454 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* BE4458 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* BE445C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* BE4460 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE4464 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* BE4468 80240CB8 00431024 */ and $v0, $v0, $v1 +/* BE446C 80240CBC 0809033C */ j .L80240CF0 +/* BE4470 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* BE4474 80240CC4 8E220000 */ lw $v0, ($s1) +/* BE4478 80240CC8 3C034000 */ lui $v1, 0x4000 +/* BE447C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* BE4480 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* BE4484 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* BE4488 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* BE448C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* BE4490 80240CE0 8E220000 */ lw $v0, ($s1) +/* BE4494 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* BE4498 80240CE8 00431024 */ and $v0, $v0, $v1 +/* BE449C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* BE44A0 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* BE44A4 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* BE44A8 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* BE44AC 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* BE44B0 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* BE44B4 80240D04 44812000 */ mtc1 $at, $f4 +/* BE44B8 80240D08 44823000 */ mtc1 $v0, $f6 +/* BE44BC 80240D0C 00000000 */ nop +/* BE44C0 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* BE44C4 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* BE44C8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* BE44CC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* BE44D0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* BE44D4 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* BE44D8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* BE44DC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* BE44E0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* BE44E4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* BE44E8 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* BE44EC 80240D3C 0C0372DF */ jal func_800DCB7C +/* BE44F0 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* BE44F4 80240D44 10400003 */ beqz $v0, .L80240D54 +/* BE44F8 80240D48 00000000 */ nop +/* BE44FC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* BE4500 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* BE4504 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* BE4508 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* BE450C 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* BE4510 80240D60 00031080 */ sll $v0, $v1, 2 +/* BE4514 80240D64 3C018024 */ lui $at, 0x8024 +/* BE4518 80240D68 00220821 */ addu $at, $at, $v0 +/* BE451C 80240D6C 8C224140 */ lw $v0, 0x4140($at) +/* BE4520 80240D70 00400008 */ jr $v0 +/* BE4524 80240D74 00000000 */ nop +/* BE4528 80240D78 0280202D */ daddu $a0, $s4, $zero +/* BE452C 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* BE4530 80240D80 0C090000 */ jal func_80240000 +/* BE4534 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* BE4538 80240D88 0280202D */ daddu $a0, $s4, $zero +/* BE453C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* BE4540 80240D90 0C090056 */ jal func_80240158 +/* BE4544 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* BE4548 80240D98 0809039A */ j .L80240E68 +/* BE454C 80240D9C 00000000 */ nop +/* BE4550 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* BE4554 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* BE4558 80240DA8 0C090100 */ jal func_80240400 +/* BE455C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* BE4560 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* BE4564 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* BE4568 80240DB8 0C090130 */ jal func_802404C0 +/* BE456C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* BE4570 80240DC0 0809039A */ j .L80240E68 +/* BE4574 80240DC4 00000000 */ nop +/* BE4578 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* BE457C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* BE4580 80240DD0 0C09019F */ jal func_8024067C +/* BE4584 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* BE4588 80240DD8 0809039A */ j .L80240E68 +/* BE458C 80240DDC 00000000 */ nop +/* BE4590 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* BE4594 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* BE4598 80240DE8 0C0901CC */ jal func_80240730 +/* BE459C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* BE45A0 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* BE45A4 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* BE45A8 80240DF8 0C0901E9 */ jal func_802407A4 +/* BE45AC 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* BE45B0 80240E00 0809039A */ j .L80240E68 +/* BE45B4 80240E04 00000000 */ nop +/* BE45B8 80240E08 0280202D */ daddu $a0, $s4, $zero +/* BE45BC 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* BE45C0 80240E10 0C090207 */ jal func_8024081C +/* BE45C4 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* BE45C8 80240E18 0280202D */ daddu $a0, $s4, $zero +/* BE45CC 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* BE45D0 80240E20 0C090253 */ jal func_8024094C +/* BE45D4 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* BE45D8 80240E28 0809039A */ j .L80240E68 +/* BE45DC 80240E2C 00000000 */ nop +/* BE45E0 80240E30 0280202D */ daddu $a0, $s4, $zero +/* BE45E4 80240E34 0260282D */ daddu $a1, $s3, $zero +/* BE45E8 80240E38 0C09029B */ jal func_80240A6C +/* BE45EC 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* BE45F0 80240E40 0809039A */ j .L80240E68 +/* BE45F4 80240E44 00000000 */ nop +/* BE45F8 80240E48 0280202D */ daddu $a0, $s4, $zero +/* BE45FC 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* BE4600 80240E50 0C0902B5 */ jal func_80240AD4 +/* BE4604 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* BE4608 80240E58 0809039A */ j .L80240E68 +/* BE460C 80240E5C 00000000 */ nop +/* BE4610 80240E60 0C0129CF */ jal func_8004A73C +/* BE4614 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* BE4618 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* BE461C 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* BE4620 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* BE4624 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* BE4628 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* BE462C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* BE4630 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* BE4634 80240E84 0000102D */ daddu $v0, $zero, $zero +/* BE4638 80240E88 03E00008 */ jr $ra +/* BE463C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80240E90_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80240E90_BE37B0.s new file mode 100644 index 0000000000..1a7054a081 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80240E90_BE37B0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_BE4640 +/* BE4640 80240E90 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BE4644 80240E94 AFB3002C */ sw $s3, 0x2c($sp) +/* BE4648 80240E98 0080982D */ daddu $s3, $a0, $zero +/* BE464C 80240E9C AFBF0030 */ sw $ra, 0x30($sp) +/* BE4650 80240EA0 AFB20028 */ sw $s2, 0x28($sp) +/* BE4654 80240EA4 AFB10024 */ sw $s1, 0x24($sp) +/* BE4658 80240EA8 AFB00020 */ sw $s0, 0x20($sp) +/* BE465C 80240EAC 8E710148 */ lw $s1, 0x148($s3) +/* BE4660 80240EB0 86240008 */ lh $a0, 8($s1) +/* BE4664 80240EB4 0C00EABB */ jal get_npc_unsafe +/* BE4668 80240EB8 00A0902D */ daddu $s2, $a1, $zero +/* BE466C 80240EBC 8E440004 */ lw $a0, 4($s2) +/* BE4670 80240EC0 0040802D */ daddu $s0, $v0, $zero +/* BE4674 80240EC4 00041FC2 */ srl $v1, $a0, 0x1f +/* BE4678 80240EC8 00832021 */ addu $a0, $a0, $v1 +/* BE467C 80240ECC 00042043 */ sra $a0, $a0, 1 +/* BE4680 80240ED0 0C00A67F */ jal rand_int +/* BE4684 80240ED4 24840001 */ addiu $a0, $a0, 1 +/* BE4688 80240ED8 8E430004 */ lw $v1, 4($s2) +/* BE468C 80240EDC 000327C2 */ srl $a0, $v1, 0x1f +/* BE4690 80240EE0 00641821 */ addu $v1, $v1, $a0 +/* BE4694 80240EE4 00031843 */ sra $v1, $v1, 1 +/* BE4698 80240EE8 00621821 */ addu $v1, $v1, $v0 +/* BE469C 80240EEC A603008E */ sh $v1, 0x8e($s0) +/* BE46A0 80240EF0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE46A4 80240EF4 C6000040 */ lwc1 $f0, 0x40($s0) +/* BE46A8 80240EF8 C4640000 */ lwc1 $f4, ($v1) +/* BE46AC 80240EFC 46802120 */ cvt.s.w $f4, $f4 +/* BE46B0 80240F00 C4620008 */ lwc1 $f2, 8($v1) +/* BE46B4 80240F04 468010A0 */ cvt.s.w $f2, $f2 +/* BE46B8 80240F08 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE46BC 80240F0C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE46C0 80240F10 44061000 */ mfc1 $a2, $f2 +/* BE46C4 80240F14 C440000C */ lwc1 $f0, 0xc($v0) +/* BE46C8 80240F18 46800020 */ cvt.s.w $f0, $f0 +/* BE46CC 80240F1C E7A00014 */ swc1 $f0, 0x14($sp) +/* BE46D0 80240F20 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE46D4 80240F24 44052000 */ mfc1 $a1, $f4 +/* BE46D8 80240F28 C4400010 */ lwc1 $f0, 0x10($v0) +/* BE46DC 80240F2C 46800020 */ cvt.s.w $f0, $f0 +/* BE46E0 80240F30 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE46E4 80240F34 8C640018 */ lw $a0, 0x18($v1) +/* BE46E8 80240F38 0C0123F5 */ jal is_point_within_region +/* BE46EC 80240F3C 8E070038 */ lw $a3, 0x38($s0) +/* BE46F0 80240F40 1040000E */ beqz $v0, .L80240F7C +/* BE46F4 80240F44 00000000 */ nop +/* BE46F8 80240F48 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE46FC 80240F4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE4700 80240F50 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE4704 80240F54 C4460000 */ lwc1 $f6, ($v0) +/* BE4708 80240F58 468031A0 */ cvt.s.w $f6, $f6 +/* BE470C 80240F5C 44063000 */ mfc1 $a2, $f6 +/* BE4710 80240F60 C4460008 */ lwc1 $f6, 8($v0) +/* BE4714 80240F64 468031A0 */ cvt.s.w $f6, $f6 +/* BE4718 80240F68 44073000 */ mfc1 $a3, $f6 +/* BE471C 80240F6C 0C00A720 */ jal atan2 +/* BE4720 80240F70 00000000 */ nop +/* BE4724 80240F74 080903EB */ j .L80240FAC +/* BE4728 80240F78 E600000C */ swc1 $f0, 0xc($s0) +.L80240F7C: +/* BE472C 80240F7C 0C00A67F */ jal rand_int +/* BE4730 80240F80 2404003C */ addiu $a0, $zero, 0x3c +/* BE4734 80240F84 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE4738 80240F88 44820000 */ mtc1 $v0, $f0 +/* BE473C 80240F8C 00000000 */ nop +/* BE4740 80240F90 46800020 */ cvt.s.w $f0, $f0 +/* BE4744 80240F94 46006300 */ add.s $f12, $f12, $f0 +/* BE4748 80240F98 3C0141F0 */ lui $at, 0x41f0 +/* BE474C 80240F9C 44810000 */ mtc1 $at, $f0 +/* BE4750 80240FA0 0C00A6C9 */ jal clamp_angle +/* BE4754 80240FA4 46006301 */ sub.s $f12, $f12, $f0 +/* BE4758 80240FA8 E600000C */ swc1 $f0, 0xc($s0) +.L80240FAC: +/* BE475C 80240FAC 8E2200CC */ lw $v0, 0xcc($s1) +/* BE4760 80240FB0 8C420004 */ lw $v0, 4($v0) +/* BE4764 80240FB4 AE020028 */ sw $v0, 0x28($s0) +/* BE4768 80240FB8 AE600074 */ sw $zero, 0x74($s3) +/* BE476C 80240FBC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4770 80240FC0 8C420014 */ lw $v0, 0x14($v0) +/* BE4774 80240FC4 04410004 */ bgez $v0, .L80240FD8 +/* BE4778 80240FC8 00000000 */ nop +/* BE477C 80240FCC C6400000 */ lwc1 $f0, ($s2) +/* BE4780 80240FD0 080903FE */ j .L80240FF8 +/* BE4784 80240FD4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240FD8: +/* BE4788 80240FD8 3C018024 */ lui $at, 0x8024 +/* BE478C 80240FDC D42242D0 */ ldc1 $f2, 0x42d0($at) +/* BE4790 80240FE0 44820000 */ mtc1 $v0, $f0 +/* BE4794 80240FE4 00000000 */ nop +/* BE4798 80240FE8 46800021 */ cvt.d.w $f0, $f0 +/* BE479C 80240FEC 46220003 */ div.d $f0, $f0, $f2 +/* BE47A0 80240FF0 46200020 */ cvt.s.d $f0, $f0 +/* BE47A4 80240FF4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240FF8: +/* BE47A8 80240FF8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE47AC 80240FFC 3C014059 */ lui $at, 0x4059 +/* BE47B0 80241000 44811800 */ mtc1 $at, $f3 +/* BE47B4 80241004 44801000 */ mtc1 $zero, $f2 +/* BE47B8 80241008 46000021 */ cvt.d.s $f0, $f0 +/* BE47BC 8024100C 46220002 */ mul.d $f0, $f0, $f2 +/* BE47C0 80241010 00000000 */ nop +/* BE47C4 80241014 24020001 */ addiu $v0, $zero, 1 +/* BE47C8 80241018 4620018D */ trunc.w.d $f6, $f0 +/* BE47CC 8024101C E626007C */ swc1 $f6, 0x7c($s1) +/* BE47D0 80241020 AE620070 */ sw $v0, 0x70($s3) +/* BE47D4 80241024 8FBF0030 */ lw $ra, 0x30($sp) +/* BE47D8 80241028 8FB3002C */ lw $s3, 0x2c($sp) +/* BE47DC 8024102C 8FB20028 */ lw $s2, 0x28($sp) +/* BE47E0 80241030 8FB10024 */ lw $s1, 0x24($sp) +/* BE47E4 80241034 8FB00020 */ lw $s0, 0x20($sp) +/* BE47E8 80241038 03E00008 */ jr $ra +/* BE47EC 8024103C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241040_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241040_BE37B0.s new file mode 100644 index 0000000000..40041abec7 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241040_BE37B0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241040_BE47F0 +/* BE47F0 80241040 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BE47F4 80241044 AFB3004C */ sw $s3, 0x4c($sp) +/* BE47F8 80241048 0080982D */ daddu $s3, $a0, $zero +/* BE47FC 8024104C AFBF0058 */ sw $ra, 0x58($sp) +/* BE4800 80241050 AFB50054 */ sw $s5, 0x54($sp) +/* BE4804 80241054 AFB40050 */ sw $s4, 0x50($sp) +/* BE4808 80241058 AFB20048 */ sw $s2, 0x48($sp) +/* BE480C 8024105C AFB10044 */ sw $s1, 0x44($sp) +/* BE4810 80241060 AFB00040 */ sw $s0, 0x40($sp) +/* BE4814 80241064 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* BE4818 80241068 F7B80070 */ sdc1 $f24, 0x70($sp) +/* BE481C 8024106C F7B60068 */ sdc1 $f22, 0x68($sp) +/* BE4820 80241070 F7B40060 */ sdc1 $f20, 0x60($sp) +/* BE4824 80241074 8E710148 */ lw $s1, 0x148($s3) +/* BE4828 80241078 00A0902D */ daddu $s2, $a1, $zero +/* BE482C 8024107C 86240008 */ lh $a0, 8($s1) +/* BE4830 80241080 0C00EABB */ jal get_npc_unsafe +/* BE4834 80241084 00C0A82D */ daddu $s5, $a2, $zero +/* BE4838 80241088 0040802D */ daddu $s0, $v0, $zero +/* BE483C 8024108C 0000A02D */ daddu $s4, $zero, $zero +/* BE4840 80241090 C624007C */ lwc1 $f4, 0x7c($s1) +/* BE4844 80241094 46802120 */ cvt.s.w $f4, $f4 +/* BE4848 80241098 C6220088 */ lwc1 $f2, 0x88($s1) +/* BE484C 8024109C 468010A0 */ cvt.s.w $f2, $f2 +/* BE4850 802410A0 460010A1 */ cvt.d.s $f2, $f2 +/* BE4854 802410A4 46002121 */ cvt.d.s $f4, $f4 +/* BE4858 802410A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE485C 802410AC 3C014059 */ lui $at, 0x4059 +/* BE4860 802410B0 44813800 */ mtc1 $at, $f7 +/* BE4864 802410B4 44803000 */ mtc1 $zero, $f6 +/* BE4868 802410B8 46000021 */ cvt.d.s $f0, $f0 +/* BE486C 802410BC 46260002 */ mul.d $f0, $f0, $f6 +/* BE4870 802410C0 00000000 */ nop +/* BE4874 802410C4 24020001 */ addiu $v0, $zero, 1 +/* BE4878 802410C8 8E24006C */ lw $a0, 0x6c($s1) +/* BE487C 802410CC 46261083 */ div.d $f2, $f2, $f6 +/* BE4880 802410D0 462010A0 */ cvt.s.d $f2, $f2 +/* BE4884 802410D4 46262103 */ div.d $f4, $f4, $f6 +/* BE4888 802410D8 46202520 */ cvt.s.d $f20, $f4 +/* BE488C 802410DC 30830011 */ andi $v1, $a0, 0x11 +/* BE4890 802410E0 4620020D */ trunc.w.d $f8, $f0 +/* BE4894 802410E4 E628007C */ swc1 $f8, 0x7c($s1) +/* BE4898 802410E8 C6200078 */ lwc1 $f0, 0x78($s1) +/* BE489C 802410EC 46800020 */ cvt.s.w $f0, $f0 +/* BE48A0 802410F0 46000021 */ cvt.d.s $f0, $f0 +/* BE48A4 802410F4 46260003 */ div.d $f0, $f0, $f6 +/* BE48A8 802410F8 462006A0 */ cvt.s.d $f26, $f0 +/* BE48AC 802410FC C6200070 */ lwc1 $f0, 0x70($s1) +/* BE48B0 80241100 46800020 */ cvt.s.w $f0, $f0 +/* BE48B4 80241104 46000021 */ cvt.d.s $f0, $f0 +/* BE48B8 80241108 46260003 */ div.d $f0, $f0, $f6 +/* BE48BC 8024110C 462005A0 */ cvt.s.d $f22, $f0 +/* BE48C0 80241110 14620025 */ bne $v1, $v0, .L802411A8 +/* BE48C4 80241114 4602D600 */ add.s $f24, $f26, $f2 +/* BE48C8 80241118 8E020000 */ lw $v0, ($s0) +/* BE48CC 8024111C 30420008 */ andi $v0, $v0, 8 +/* BE48D0 80241120 10400009 */ beqz $v0, .L80241148 +/* BE48D4 80241124 27A50028 */ addiu $a1, $sp, 0x28 +/* BE48D8 80241128 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE48DC 8024112C 4600C001 */ sub.s $f0, $f24, $f0 +/* BE48E0 80241130 4600B03C */ c.lt.s $f22, $f0 +/* BE48E4 80241134 00000000 */ nop +/* BE48E8 80241138 4500001B */ bc1f .L802411A8 +/* BE48EC 8024113C 34820010 */ ori $v0, $a0, 0x10 +/* BE48F0 80241140 0809046A */ j .L802411A8 +/* BE48F4 80241144 AE22006C */ sw $v0, 0x6c($s1) +.L80241148: +/* BE48F8 80241148 27A6002C */ addiu $a2, $sp, 0x2c +/* BE48FC 8024114C C6000038 */ lwc1 $f0, 0x38($s0) +/* BE4900 80241150 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE4904 80241154 C6040040 */ lwc1 $f4, 0x40($s0) +/* BE4908 80241158 3C01447A */ lui $at, 0x447a +/* BE490C 8024115C 44813000 */ mtc1 $at, $f6 +/* BE4910 80241160 27A20034 */ addiu $v0, $sp, 0x34 +/* BE4914 80241164 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE4918 80241168 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BE491C 8024116C E7A40030 */ swc1 $f4, 0x30($sp) +/* BE4920 80241170 E7A60034 */ swc1 $f6, 0x34($sp) +/* BE4924 80241174 AFA20010 */ sw $v0, 0x10($sp) +/* BE4928 80241178 8E040080 */ lw $a0, 0x80($s0) +/* BE492C 8024117C 0C0372DF */ jal func_800DCB7C +/* BE4930 80241180 27A70030 */ addiu $a3, $sp, 0x30 +/* BE4934 80241184 C7A00034 */ lwc1 $f0, 0x34($sp) +/* BE4938 80241188 4600D001 */ sub.s $f0, $f26, $f0 +/* BE493C 8024118C 4600B03C */ c.lt.s $f22, $f0 +/* BE4940 80241190 00000000 */ nop +/* BE4944 80241194 45000004 */ bc1f .L802411A8 +/* BE4948 80241198 00000000 */ nop +/* BE494C 8024119C 8E22006C */ lw $v0, 0x6c($s1) +/* BE4950 802411A0 34420010 */ ori $v0, $v0, 0x10 +/* BE4954 802411A4 AE22006C */ sw $v0, 0x6c($s1) +.L802411A8: +/* BE4958 802411A8 8E22006C */ lw $v0, 0x6c($s1) +/* BE495C 802411AC 24030011 */ addiu $v1, $zero, 0x11 +/* BE4960 802411B0 30420011 */ andi $v0, $v0, 0x11 +/* BE4964 802411B4 14430039 */ bne $v0, $v1, .L8024129C +/* BE4968 802411B8 00000000 */ nop +/* BE496C 802411BC 8E020000 */ lw $v0, ($s0) +/* BE4970 802411C0 30420008 */ andi $v0, $v0, 8 +/* BE4974 802411C4 1040000A */ beqz $v0, .L802411F0 +/* BE4978 802411C8 4600C106 */ mov.s $f4, $f24 +/* BE497C 802411CC 4614C081 */ sub.s $f2, $f24, $f20 +/* BE4980 802411D0 3C018024 */ lui $at, 0x8024 +/* BE4984 802411D4 D42042D8 */ ldc1 $f0, 0x42d8($at) +/* BE4988 802411D8 460010A1 */ cvt.d.s $f2, $f2 +/* BE498C 802411DC 46201082 */ mul.d $f2, $f2, $f0 +/* BE4990 802411E0 00000000 */ nop +/* BE4994 802411E4 4600A021 */ cvt.d.s $f0, $f20 +/* BE4998 802411E8 08090495 */ j .L80241254 +/* BE499C 802411EC 46220000 */ add.d $f0, $f0, $f2 +.L802411F0: +/* BE49A0 802411F0 27A50028 */ addiu $a1, $sp, 0x28 +/* BE49A4 802411F4 27A6002C */ addiu $a2, $sp, 0x2c +/* BE49A8 802411F8 C6000038 */ lwc1 $f0, 0x38($s0) +/* BE49AC 802411FC C6020040 */ lwc1 $f2, 0x40($s0) +/* BE49B0 80241200 3C01447A */ lui $at, 0x447a +/* BE49B4 80241204 44812000 */ mtc1 $at, $f4 +/* BE49B8 80241208 27A20034 */ addiu $v0, $sp, 0x34 +/* BE49BC 8024120C E7B4002C */ swc1 $f20, 0x2c($sp) +/* BE49C0 80241210 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE49C4 80241214 E7A20030 */ swc1 $f2, 0x30($sp) +/* BE49C8 80241218 E7A40034 */ swc1 $f4, 0x34($sp) +/* BE49CC 8024121C AFA20010 */ sw $v0, 0x10($sp) +/* BE49D0 80241220 8E040080 */ lw $a0, 0x80($s0) +/* BE49D4 80241224 0C0372DF */ jal func_800DCB7C +/* BE49D8 80241228 27A70030 */ addiu $a3, $sp, 0x30 +/* BE49DC 8024122C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* BE49E0 80241230 461A2100 */ add.s $f4, $f4, $f26 +/* BE49E4 80241234 46142081 */ sub.s $f2, $f4, $f20 +/* BE49E8 80241238 3C018024 */ lui $at, 0x8024 +/* BE49EC 8024123C D42042E0 */ ldc1 $f0, 0x42e0($at) +/* BE49F0 80241240 460010A1 */ cvt.d.s $f2, $f2 +/* BE49F4 80241244 46201082 */ mul.d $f2, $f2, $f0 +/* BE49F8 80241248 00000000 */ nop +/* BE49FC 8024124C 4600A021 */ cvt.d.s $f0, $f20 +/* BE4A00 80241250 46220000 */ add.d $f0, $f0, $f2 +.L80241254: +/* BE4A04 80241254 46200020 */ cvt.s.d $f0, $f0 +/* BE4A08 80241258 E600003C */ swc1 $f0, 0x3c($s0) +/* BE4A0C 8024125C C600003C */ lwc1 $f0, 0x3c($s0) +/* BE4A10 80241260 46002001 */ sub.s $f0, $f4, $f0 +/* BE4A14 80241264 3C013FF0 */ lui $at, 0x3ff0 +/* BE4A18 80241268 44811800 */ mtc1 $at, $f3 +/* BE4A1C 8024126C 44801000 */ mtc1 $zero, $f2 +/* BE4A20 80241270 46000005 */ abs.s $f0, $f0 +/* BE4A24 80241274 46000021 */ cvt.d.s $f0, $f0 +/* BE4A28 80241278 4622003C */ c.lt.d $f0, $f2 +/* BE4A2C 8024127C 00000000 */ nop +/* BE4A30 80241280 45000036 */ bc1f .L8024135C +/* BE4A34 80241284 2403FFEF */ addiu $v1, $zero, -0x11 +/* BE4A38 80241288 E604003C */ swc1 $f4, 0x3c($s0) +/* BE4A3C 8024128C 8E22006C */ lw $v0, 0x6c($s1) +/* BE4A40 80241290 00431024 */ and $v0, $v0, $v1 +/* BE4A44 80241294 080904D7 */ j .L8024135C +/* BE4A48 80241298 AE22006C */ sw $v0, 0x6c($s1) +.L8024129C: +/* BE4A4C 8024129C 8E220070 */ lw $v0, 0x70($s1) +/* BE4A50 802412A0 1840002E */ blez $v0, .L8024135C +/* BE4A54 802412A4 00000000 */ nop +/* BE4A58 802412A8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BE4A5C 802412AC 0C00A8BB */ jal sin_deg +/* BE4A60 802412B0 46806320 */ cvt.s.w $f12, $f12 +/* BE4A64 802412B4 8E020000 */ lw $v0, ($s0) +/* BE4A68 802412B8 30420008 */ andi $v0, $v0, 8 +/* BE4A6C 802412BC 10400003 */ beqz $v0, .L802412CC +/* BE4A70 802412C0 46000506 */ mov.s $f20, $f0 +/* BE4A74 802412C4 080904C3 */ j .L8024130C +/* BE4A78 802412C8 0000102D */ daddu $v0, $zero, $zero +.L802412CC: +/* BE4A7C 802412CC 27A50028 */ addiu $a1, $sp, 0x28 +/* BE4A80 802412D0 27A6002C */ addiu $a2, $sp, 0x2c +/* BE4A84 802412D4 C6000038 */ lwc1 $f0, 0x38($s0) +/* BE4A88 802412D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE4A8C 802412DC C6040040 */ lwc1 $f4, 0x40($s0) +/* BE4A90 802412E0 3C01447A */ lui $at, 0x447a +/* BE4A94 802412E4 44813000 */ mtc1 $at, $f6 +/* BE4A98 802412E8 27A20034 */ addiu $v0, $sp, 0x34 +/* BE4A9C 802412EC E7A00028 */ swc1 $f0, 0x28($sp) +/* BE4AA0 802412F0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BE4AA4 802412F4 E7A40030 */ swc1 $f4, 0x30($sp) +/* BE4AA8 802412F8 E7A60034 */ swc1 $f6, 0x34($sp) +/* BE4AAC 802412FC AFA20010 */ sw $v0, 0x10($sp) +/* BE4AB0 80241300 8E040080 */ lw $a0, 0x80($s0) +/* BE4AB4 80241304 0C0372DF */ jal func_800DCB7C +/* BE4AB8 80241308 27A70030 */ addiu $a3, $sp, 0x30 +.L8024130C: +/* BE4ABC 8024130C 10400007 */ beqz $v0, .L8024132C +/* BE4AC0 80241310 00000000 */ nop +/* BE4AC4 80241314 4616A082 */ mul.s $f2, $f20, $f22 +/* BE4AC8 80241318 00000000 */ nop +/* BE4ACC 8024131C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BE4AD0 80241320 461A0000 */ add.s $f0, $f0, $f26 +/* BE4AD4 80241324 080904CE */ j .L80241338 +/* BE4AD8 80241328 46020000 */ add.s $f0, $f0, $f2 +.L8024132C: +/* BE4ADC 8024132C 4616A002 */ mul.s $f0, $f20, $f22 +/* BE4AE0 80241330 00000000 */ nop +/* BE4AE4 80241334 4600C000 */ add.s $f0, $f24, $f0 +.L80241338: +/* BE4AE8 80241338 E600003C */ swc1 $f0, 0x3c($s0) +/* BE4AEC 8024133C 8E220074 */ lw $v0, 0x74($s1) +/* BE4AF0 80241340 2442000A */ addiu $v0, $v0, 0xa +/* BE4AF4 80241344 44826000 */ mtc1 $v0, $f12 +/* BE4AF8 80241348 00000000 */ nop +/* BE4AFC 8024134C 0C00A6C9 */ jal clamp_angle +/* BE4B00 80241350 46806320 */ cvt.s.w $f12, $f12 +/* BE4B04 80241354 4600020D */ trunc.w.s $f8, $f0 +/* BE4B08 80241358 E6280074 */ swc1 $f8, 0x74($s1) +.L8024135C: +/* BE4B0C 8024135C 8E220090 */ lw $v0, 0x90($s1) +/* BE4B10 80241360 1C40004A */ bgtz $v0, .L8024148C +/* BE4B14 80241364 2442FFFF */ addiu $v0, $v0, -1 +/* BE4B18 80241368 8E430014 */ lw $v1, 0x14($s2) +/* BE4B1C 8024136C 04600048 */ bltz $v1, .L80241490 +/* BE4B20 80241370 00000000 */ nop +/* BE4B24 80241374 8E620074 */ lw $v0, 0x74($s3) +/* BE4B28 80241378 1C400042 */ bgtz $v0, .L80241484 +/* BE4B2C 8024137C 2442FFFF */ addiu $v0, $v0, -1 +/* BE4B30 80241380 AE630074 */ sw $v1, 0x74($s3) +/* BE4B34 80241384 860200A8 */ lh $v0, 0xa8($s0) +/* BE4B38 80241388 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE4B3C 8024138C 44820000 */ mtc1 $v0, $f0 +/* BE4B40 80241390 00000000 */ nop +/* BE4B44 80241394 46800020 */ cvt.s.w $f0, $f0 +/* BE4B48 80241398 46001080 */ add.s $f2, $f2, $f0 +/* BE4B4C 8024139C 3C014024 */ lui $at, 0x4024 +/* BE4B50 802413A0 44810800 */ mtc1 $at, $f1 +/* BE4B54 802413A4 44800000 */ mtc1 $zero, $f0 +/* BE4B58 802413A8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE4B5C 802413AC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE4B60 802413B0 460010A1 */ cvt.d.s $f2, $f2 +/* BE4B64 802413B4 46201080 */ add.d $f2, $f2, $f0 +/* BE4B68 802413B8 C440002C */ lwc1 $f0, 0x2c($v0) +/* BE4B6C 802413BC 46000021 */ cvt.d.s $f0, $f0 +/* BE4B70 802413C0 4622003C */ c.lt.d $f0, $f2 +/* BE4B74 802413C4 00000000 */ nop +/* BE4B78 802413C8 4500002C */ bc1f .L8024147C +/* BE4B7C 802413CC 02A0202D */ daddu $a0, $s5, $zero +/* BE4B80 802413D0 AFA00010 */ sw $zero, 0x10($sp) +/* BE4B84 802413D4 8E46000C */ lw $a2, 0xc($s2) +/* BE4B88 802413D8 8E470010 */ lw $a3, 0x10($s2) +/* BE4B8C 802413DC 0C01242D */ jal func_800490B4 +/* BE4B90 802413E0 0220282D */ daddu $a1, $s1, $zero +/* BE4B94 802413E4 10400025 */ beqz $v0, .L8024147C +/* BE4B98 802413E8 0000202D */ daddu $a0, $zero, $zero +/* BE4B9C 802413EC 0200282D */ daddu $a1, $s0, $zero +/* BE4BA0 802413F0 0000302D */ daddu $a2, $zero, $zero +/* BE4BA4 802413F4 2412000C */ addiu $s2, $zero, 0xc +/* BE4BA8 802413F8 860300A8 */ lh $v1, 0xa8($s0) +/* BE4BAC 802413FC 3C013F80 */ lui $at, 0x3f80 +/* BE4BB0 80241400 44810000 */ mtc1 $at, $f0 +/* BE4BB4 80241404 3C014000 */ lui $at, 0x4000 +/* BE4BB8 80241408 44811000 */ mtc1 $at, $f2 +/* BE4BBC 8024140C 3C01C1A0 */ lui $at, 0xc1a0 +/* BE4BC0 80241410 44812000 */ mtc1 $at, $f4 +/* BE4BC4 80241414 44834000 */ mtc1 $v1, $f8 +/* BE4BC8 80241418 00000000 */ nop +/* BE4BCC 8024141C 46804220 */ cvt.s.w $f8, $f8 +/* BE4BD0 80241420 44074000 */ mfc1 $a3, $f8 +/* BE4BD4 80241424 27A20038 */ addiu $v0, $sp, 0x38 +/* BE4BD8 80241428 AFB2001C */ sw $s2, 0x1c($sp) +/* BE4BDC 8024142C AFA20020 */ sw $v0, 0x20($sp) +/* BE4BE0 80241430 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE4BE4 80241434 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE4BE8 80241438 0C01BFA4 */ jal fx_emote +/* BE4BEC 8024143C E7A40018 */ swc1 $f4, 0x18($sp) +/* BE4BF0 80241440 0200202D */ daddu $a0, $s0, $zero +/* BE4BF4 80241444 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE4BF8 80241448 C480003C */ lwc1 $f0, 0x3c($a0) +/* BE4BFC 8024144C 3C060020 */ lui $a2, 0x20 +/* BE4C00 80241450 0C012530 */ jal func_800494C0 +/* BE4C04 80241454 E4800064 */ swc1 $f0, 0x64($a0) +/* BE4C08 80241458 8E220018 */ lw $v0, 0x18($s1) +/* BE4C0C 8024145C 9442002A */ lhu $v0, 0x2a($v0) +/* BE4C10 80241460 30420001 */ andi $v0, $v0, 1 +/* BE4C14 80241464 10400003 */ beqz $v0, .L80241474 +/* BE4C18 80241468 2402000A */ addiu $v0, $zero, 0xa +/* BE4C1C 8024146C 0809058D */ j .L80241634 +/* BE4C20 80241470 AE620070 */ sw $v0, 0x70($s3) +.L80241474: +/* BE4C24 80241474 0809058D */ j .L80241634 +/* BE4C28 80241478 AE720070 */ sw $s2, 0x70($s3) +.L8024147C: +/* BE4C2C 8024147C 8E620074 */ lw $v0, 0x74($s3) +/* BE4C30 80241480 2442FFFF */ addiu $v0, $v0, -1 +.L80241484: +/* BE4C34 80241484 08090524 */ j .L80241490 +/* BE4C38 80241488 AE620074 */ sw $v0, 0x74($s3) +.L8024148C: +/* BE4C3C 8024148C AE220090 */ sw $v0, 0x90($s1) +.L80241490: +/* BE4C40 80241490 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE4C44 80241494 C6000040 */ lwc1 $f0, 0x40($s0) +/* BE4C48 80241498 C4620000 */ lwc1 $f2, ($v1) +/* BE4C4C 8024149C 468010A0 */ cvt.s.w $f2, $f2 +/* BE4C50 802414A0 C4640008 */ lwc1 $f4, 8($v1) +/* BE4C54 802414A4 46802120 */ cvt.s.w $f4, $f4 +/* BE4C58 802414A8 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE4C5C 802414AC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4C60 802414B0 44051000 */ mfc1 $a1, $f2 +/* BE4C64 802414B4 C440000C */ lwc1 $f0, 0xc($v0) +/* BE4C68 802414B8 46800020 */ cvt.s.w $f0, $f0 +/* BE4C6C 802414BC E7A00014 */ swc1 $f0, 0x14($sp) +/* BE4C70 802414C0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4C74 802414C4 44062000 */ mfc1 $a2, $f4 +/* BE4C78 802414C8 C4400010 */ lwc1 $f0, 0x10($v0) +/* BE4C7C 802414CC 46800020 */ cvt.s.w $f0, $f0 +/* BE4C80 802414D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE4C84 802414D4 8C640018 */ lw $a0, 0x18($v1) +/* BE4C88 802414D8 0C0123F5 */ jal is_point_within_region +/* BE4C8C 802414DC 8E070038 */ lw $a3, 0x38($s0) +/* BE4C90 802414E0 1040001A */ beqz $v0, .L8024154C +/* BE4C94 802414E4 00000000 */ nop +/* BE4C98 802414E8 8E060038 */ lw $a2, 0x38($s0) +/* BE4C9C 802414EC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4CA0 802414F0 8E070040 */ lw $a3, 0x40($s0) +/* BE4CA4 802414F4 C44C0000 */ lwc1 $f12, ($v0) +/* BE4CA8 802414F8 46806320 */ cvt.s.w $f12, $f12 +/* BE4CAC 802414FC C44E0008 */ lwc1 $f14, 8($v0) +/* BE4CB0 80241500 0C00A7B5 */ jal dist2D +/* BE4CB4 80241504 468073A0 */ cvt.s.w $f14, $f14 +/* BE4CB8 80241508 C6020018 */ lwc1 $f2, 0x18($s0) +/* BE4CBC 8024150C 4600103C */ c.lt.s $f2, $f0 +/* BE4CC0 80241510 00000000 */ nop +/* BE4CC4 80241514 4500000D */ bc1f .L8024154C +/* BE4CC8 80241518 E7A00034 */ swc1 $f0, 0x34($sp) +/* BE4CCC 8024151C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE4CD0 80241520 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4CD4 80241524 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE4CD8 80241528 C4480000 */ lwc1 $f8, ($v0) +/* BE4CDC 8024152C 46804220 */ cvt.s.w $f8, $f8 +/* BE4CE0 80241530 44064000 */ mfc1 $a2, $f8 +/* BE4CE4 80241534 C4480008 */ lwc1 $f8, 8($v0) +/* BE4CE8 80241538 46804220 */ cvt.s.w $f8, $f8 +/* BE4CEC 8024153C 44074000 */ mfc1 $a3, $f8 +/* BE4CF0 80241540 0C00A720 */ jal atan2 +/* BE4CF4 80241544 24140001 */ addiu $s4, $zero, 1 +/* BE4CF8 80241548 E600000C */ swc1 $f0, 0xc($s0) +.L8024154C: +/* BE4CFC 8024154C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE4D00 80241550 8C43000C */ lw $v1, 0xc($v0) +/* BE4D04 80241554 8C420010 */ lw $v0, 0x10($v0) +/* BE4D08 80241558 00621825 */ or $v1, $v1, $v0 +/* BE4D0C 8024155C 00741825 */ or $v1, $v1, $s4 +/* BE4D10 80241560 10600008 */ beqz $v1, .L80241584 +/* BE4D14 80241564 00000000 */ nop +/* BE4D18 80241568 8602008C */ lh $v0, 0x8c($s0) +/* BE4D1C 8024156C 14400031 */ bnez $v0, .L80241634 +/* BE4D20 80241570 00000000 */ nop +/* BE4D24 80241574 8E050018 */ lw $a1, 0x18($s0) +/* BE4D28 80241578 8E06000C */ lw $a2, 0xc($s0) +/* BE4D2C 8024157C 0C00EA95 */ jal npc_move_heading +/* BE4D30 80241580 0200202D */ daddu $a0, $s0, $zero +.L80241584: +/* BE4D34 80241584 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE4D38 80241588 3C014059 */ lui $at, 0x4059 +/* BE4D3C 8024158C 44811800 */ mtc1 $at, $f3 +/* BE4D40 80241590 44801000 */ mtc1 $zero, $f2 +/* BE4D44 80241594 46000021 */ cvt.d.s $f0, $f0 +/* BE4D48 80241598 46220002 */ mul.d $f0, $f0, $f2 +/* BE4D4C 8024159C 00000000 */ nop +/* BE4D50 802415A0 4620020D */ trunc.w.d $f8, $f0 +/* BE4D54 802415A4 E628007C */ swc1 $f8, 0x7c($s1) +/* BE4D58 802415A8 8E420004 */ lw $v0, 4($s2) +/* BE4D5C 802415AC 18400021 */ blez $v0, .L80241634 +/* BE4D60 802415B0 00000000 */ nop +/* BE4D64 802415B4 8602008E */ lh $v0, 0x8e($s0) +/* BE4D68 802415B8 9603008E */ lhu $v1, 0x8e($s0) +/* BE4D6C 802415BC 18400005 */ blez $v0, .L802415D4 +/* BE4D70 802415C0 2462FFFF */ addiu $v0, $v1, -1 +/* BE4D74 802415C4 A602008E */ sh $v0, 0x8e($s0) +/* BE4D78 802415C8 00021400 */ sll $v0, $v0, 0x10 +/* BE4D7C 802415CC 1C400019 */ bgtz $v0, .L80241634 +/* BE4D80 802415D0 00000000 */ nop +.L802415D4: +/* BE4D84 802415D4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BE4D88 802415D8 24020002 */ addiu $v0, $zero, 2 +/* BE4D8C 802415DC 0C00A67F */ jal rand_int +/* BE4D90 802415E0 AE620070 */ sw $v0, 0x70($s3) +/* BE4D94 802415E4 3C035555 */ lui $v1, 0x5555 +/* BE4D98 802415E8 34635556 */ ori $v1, $v1, 0x5556 +/* BE4D9C 802415EC 00430018 */ mult $v0, $v1 +/* BE4DA0 802415F0 000227C3 */ sra $a0, $v0, 0x1f +/* BE4DA4 802415F4 00004010 */ mfhi $t0 +/* BE4DA8 802415F8 01042023 */ subu $a0, $t0, $a0 +/* BE4DAC 802415FC 00041840 */ sll $v1, $a0, 1 +/* BE4DB0 80241600 00641821 */ addu $v1, $v1, $a0 +/* BE4DB4 80241604 00431023 */ subu $v0, $v0, $v1 +/* BE4DB8 80241608 24430002 */ addiu $v1, $v0, 2 +/* BE4DBC 8024160C AE630074 */ sw $v1, 0x74($s3) +/* BE4DC0 80241610 8E42002C */ lw $v0, 0x2c($s2) +/* BE4DC4 80241614 58400007 */ blezl $v0, .L80241634 +/* BE4DC8 80241618 AE600070 */ sw $zero, 0x70($s3) +/* BE4DCC 8024161C 8E420008 */ lw $v0, 8($s2) +/* BE4DD0 80241620 18400003 */ blez $v0, .L80241630 +/* BE4DD4 80241624 28620003 */ slti $v0, $v1, 3 +/* BE4DD8 80241628 10400002 */ beqz $v0, .L80241634 +/* BE4DDC 8024162C 00000000 */ nop +.L80241630: +/* BE4DE0 80241630 AE600070 */ sw $zero, 0x70($s3) +.L80241634: +/* BE4DE4 80241634 8FBF0058 */ lw $ra, 0x58($sp) +/* BE4DE8 80241638 8FB50054 */ lw $s5, 0x54($sp) +/* BE4DEC 8024163C 8FB40050 */ lw $s4, 0x50($sp) +/* BE4DF0 80241640 8FB3004C */ lw $s3, 0x4c($sp) +/* BE4DF4 80241644 8FB20048 */ lw $s2, 0x48($sp) +/* BE4DF8 80241648 8FB10044 */ lw $s1, 0x44($sp) +/* BE4DFC 8024164C 8FB00040 */ lw $s0, 0x40($sp) +/* BE4E00 80241650 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* BE4E04 80241654 D7B80070 */ ldc1 $f24, 0x70($sp) +/* BE4E08 80241658 D7B60068 */ ldc1 $f22, 0x68($sp) +/* BE4E0C 8024165C D7B40060 */ ldc1 $f20, 0x60($sp) +/* BE4E10 80241660 03E00008 */ jr $ra +/* BE4E14 80241664 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241668_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241668_BE37B0.s new file mode 100644 index 0000000000..8df77a22da --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241668_BE37B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_BE4E18 +/* BE4E18 80241668 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE4E1C 8024166C AFB3001C */ sw $s3, 0x1c($sp) +/* BE4E20 80241670 0080982D */ daddu $s3, $a0, $zero +/* BE4E24 80241674 AFBF0020 */ sw $ra, 0x20($sp) +/* BE4E28 80241678 AFB20018 */ sw $s2, 0x18($sp) +/* BE4E2C 8024167C AFB10014 */ sw $s1, 0x14($sp) +/* BE4E30 80241680 AFB00010 */ sw $s0, 0x10($sp) +/* BE4E34 80241684 8E720148 */ lw $s2, 0x148($s3) +/* BE4E38 80241688 86440008 */ lh $a0, 8($s2) +/* BE4E3C 8024168C 0C00EABB */ jal get_npc_unsafe +/* BE4E40 80241690 00A0882D */ daddu $s1, $a1, $zero +/* BE4E44 80241694 8E240008 */ lw $a0, 8($s1) +/* BE4E48 80241698 0040802D */ daddu $s0, $v0, $zero +/* BE4E4C 8024169C 00041FC2 */ srl $v1, $a0, 0x1f +/* BE4E50 802416A0 00832021 */ addu $a0, $a0, $v1 +/* BE4E54 802416A4 00042043 */ sra $a0, $a0, 1 +/* BE4E58 802416A8 0C00A67F */ jal rand_int +/* BE4E5C 802416AC 24840001 */ addiu $a0, $a0, 1 +/* BE4E60 802416B0 8E230008 */ lw $v1, 8($s1) +/* BE4E64 802416B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* BE4E68 802416B8 00032FC2 */ srl $a1, $v1, 0x1f +/* BE4E6C 802416BC 00651821 */ addu $v1, $v1, $a1 +/* BE4E70 802416C0 00031843 */ sra $v1, $v1, 1 +/* BE4E74 802416C4 00621821 */ addu $v1, $v1, $v0 +/* BE4E78 802416C8 0C00A67F */ jal rand_int +/* BE4E7C 802416CC A603008E */ sh $v1, 0x8e($s0) +/* BE4E80 802416D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE4E84 802416D4 44820000 */ mtc1 $v0, $f0 +/* BE4E88 802416D8 00000000 */ nop +/* BE4E8C 802416DC 46800020 */ cvt.s.w $f0, $f0 +/* BE4E90 802416E0 46006300 */ add.s $f12, $f12, $f0 +/* BE4E94 802416E4 3C0142B4 */ lui $at, 0x42b4 +/* BE4E98 802416E8 44810000 */ mtc1 $at, $f0 +/* BE4E9C 802416EC 0C00A6C9 */ jal clamp_angle +/* BE4EA0 802416F0 46006301 */ sub.s $f12, $f12, $f0 +/* BE4EA4 802416F4 E600000C */ swc1 $f0, 0xc($s0) +/* BE4EA8 802416F8 8E4200CC */ lw $v0, 0xcc($s2) +/* BE4EAC 802416FC 8C420000 */ lw $v0, ($v0) +/* BE4EB0 80241700 AE020028 */ sw $v0, 0x28($s0) +/* BE4EB4 80241704 24020003 */ addiu $v0, $zero, 3 +/* BE4EB8 80241708 AE620070 */ sw $v0, 0x70($s3) +/* BE4EBC 8024170C 8FBF0020 */ lw $ra, 0x20($sp) +/* BE4EC0 80241710 8FB3001C */ lw $s3, 0x1c($sp) +/* BE4EC4 80241714 8FB20018 */ lw $s2, 0x18($sp) +/* BE4EC8 80241718 8FB10014 */ lw $s1, 0x14($sp) +/* BE4ECC 8024171C 8FB00010 */ lw $s0, 0x10($sp) +/* BE4ED0 80241720 03E00008 */ jr $ra +/* BE4ED4 80241724 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241728.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241728.s new file mode 100644 index 0000000000..f7de10b773 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241728.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241728 +/* BE4ED8 80241728 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BE4EDC 8024172C AFB3004C */ sw $s3, 0x4c($sp) +/* BE4EE0 80241730 0080982D */ daddu $s3, $a0, $zero +/* BE4EE4 80241734 AFBF0054 */ sw $ra, 0x54($sp) +/* BE4EE8 80241738 AFB40050 */ sw $s4, 0x50($sp) +/* BE4EEC 8024173C AFB20048 */ sw $s2, 0x48($sp) +/* BE4EF0 80241740 AFB10044 */ sw $s1, 0x44($sp) +/* BE4EF4 80241744 AFB00040 */ sw $s0, 0x40($sp) +/* BE4EF8 80241748 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* BE4EFC 8024174C F7B80068 */ sdc1 $f24, 0x68($sp) +/* BE4F00 80241750 F7B60060 */ sdc1 $f22, 0x60($sp) +/* BE4F04 80241754 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BE4F08 80241758 8E710148 */ lw $s1, 0x148($s3) +/* BE4F0C 8024175C 00A0902D */ daddu $s2, $a1, $zero +/* BE4F10 80241760 86240008 */ lh $a0, 8($s1) +/* BE4F14 80241764 0C00EABB */ jal get_npc_unsafe +/* BE4F18 80241768 00C0A02D */ daddu $s4, $a2, $zero +/* BE4F1C 8024176C 0040802D */ daddu $s0, $v0, $zero +/* BE4F20 80241770 C6200078 */ lwc1 $f0, 0x78($s1) +/* BE4F24 80241774 46800020 */ cvt.s.w $f0, $f0 +/* BE4F28 80241778 46000021 */ cvt.d.s $f0, $f0 +/* BE4F2C 8024177C 3C014059 */ lui $at, 0x4059 +/* BE4F30 80241780 44811800 */ mtc1 $at, $f3 +/* BE4F34 80241784 44801000 */ mtc1 $zero, $f2 +/* BE4F38 80241788 8602008E */ lh $v0, 0x8e($s0) +/* BE4F3C 8024178C 9603008E */ lhu $v1, 0x8e($s0) +/* BE4F40 80241790 46220003 */ div.d $f0, $f0, $f2 +/* BE4F44 80241794 46200620 */ cvt.s.d $f24, $f0 +/* BE4F48 80241798 C6200088 */ lwc1 $f0, 0x88($s1) +/* BE4F4C 8024179C 46800020 */ cvt.s.w $f0, $f0 +/* BE4F50 802417A0 46000021 */ cvt.d.s $f0, $f0 +/* BE4F54 802417A4 46220003 */ div.d $f0, $f0, $f2 +/* BE4F58 802417A8 46200020 */ cvt.s.d $f0, $f0 +/* BE4F5C 802417AC 18400003 */ blez $v0, .L802417BC +/* BE4F60 802417B0 4600C680 */ add.s $f26, $f24, $f0 +/* BE4F64 802417B4 2462FFFF */ addiu $v0, $v1, -1 +/* BE4F68 802417B8 A602008E */ sh $v0, 0x8e($s0) +.L802417BC: +/* BE4F6C 802417BC 8E220070 */ lw $v0, 0x70($s1) +/* BE4F70 802417C0 18400034 */ blez $v0, .L80241894 +/* BE4F74 802417C4 00000000 */ nop +/* BE4F78 802417C8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BE4F7C 802417CC 46806320 */ cvt.s.w $f12, $f12 +/* BE4F80 802417D0 44820000 */ mtc1 $v0, $f0 +/* BE4F84 802417D4 00000000 */ nop +/* BE4F88 802417D8 46800020 */ cvt.s.w $f0, $f0 +/* BE4F8C 802417DC 46000021 */ cvt.d.s $f0, $f0 +/* BE4F90 802417E0 46220003 */ div.d $f0, $f0, $f2 +/* BE4F94 802417E4 0C00A8BB */ jal sin_deg +/* BE4F98 802417E8 462005A0 */ cvt.s.d $f22, $f0 +/* BE4F9C 802417EC 8E020000 */ lw $v0, ($s0) +/* BE4FA0 802417F0 30420008 */ andi $v0, $v0, 8 +/* BE4FA4 802417F4 10400003 */ beqz $v0, .L80241804 +/* BE4FA8 802417F8 46000506 */ mov.s $f20, $f0 +/* BE4FAC 802417FC 08090611 */ j .L80241844 +/* BE4FB0 80241800 0000102D */ daddu $v0, $zero, $zero +.L80241804: +/* BE4FB4 80241804 27A50028 */ addiu $a1, $sp, 0x28 +/* BE4FB8 80241808 27A6002C */ addiu $a2, $sp, 0x2c +/* BE4FBC 8024180C C6000038 */ lwc1 $f0, 0x38($s0) +/* BE4FC0 80241810 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE4FC4 80241814 C6040040 */ lwc1 $f4, 0x40($s0) +/* BE4FC8 80241818 3C01447A */ lui $at, 0x447a +/* BE4FCC 8024181C 44813000 */ mtc1 $at, $f6 +/* BE4FD0 80241820 27A20034 */ addiu $v0, $sp, 0x34 +/* BE4FD4 80241824 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE4FD8 80241828 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BE4FDC 8024182C E7A40030 */ swc1 $f4, 0x30($sp) +/* BE4FE0 80241830 E7A60034 */ swc1 $f6, 0x34($sp) +/* BE4FE4 80241834 AFA20010 */ sw $v0, 0x10($sp) +/* BE4FE8 80241838 8E040080 */ lw $a0, 0x80($s0) +/* BE4FEC 8024183C 0C0372DF */ jal func_800DCB7C +/* BE4FF0 80241840 27A70030 */ addiu $a3, $sp, 0x30 +.L80241844: +/* BE4FF4 80241844 10400007 */ beqz $v0, .L80241864 +/* BE4FF8 80241848 00000000 */ nop +/* BE4FFC 8024184C 4616A082 */ mul.s $f2, $f20, $f22 +/* BE5000 80241850 00000000 */ nop +/* BE5004 80241854 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BE5008 80241858 46180000 */ add.s $f0, $f0, $f24 +/* BE500C 8024185C 0809061C */ j .L80241870 +/* BE5010 80241860 46020000 */ add.s $f0, $f0, $f2 +.L80241864: +/* BE5014 80241864 4616A002 */ mul.s $f0, $f20, $f22 +/* BE5018 80241868 00000000 */ nop +/* BE501C 8024186C 4600D000 */ add.s $f0, $f26, $f0 +.L80241870: +/* BE5020 80241870 E600003C */ swc1 $f0, 0x3c($s0) +/* BE5024 80241874 8E220074 */ lw $v0, 0x74($s1) +/* BE5028 80241878 2442000A */ addiu $v0, $v0, 0xa +/* BE502C 8024187C 44826000 */ mtc1 $v0, $f12 +/* BE5030 80241880 00000000 */ nop +/* BE5034 80241884 0C00A6C9 */ jal clamp_angle +/* BE5038 80241888 46806320 */ cvt.s.w $f12, $f12 +/* BE503C 8024188C 4600020D */ trunc.w.s $f8, $f0 +/* BE5040 80241890 E6280074 */ swc1 $f8, 0x74($s1) +.L80241894: +/* BE5044 80241894 8E220090 */ lw $v0, 0x90($s1) +/* BE5048 80241898 1C400040 */ bgtz $v0, .L8024199C +/* BE504C 8024189C 2442FFFF */ addiu $v0, $v0, -1 +/* BE5050 802418A0 860200A8 */ lh $v0, 0xa8($s0) +/* BE5054 802418A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE5058 802418A8 44821000 */ mtc1 $v0, $f2 +/* BE505C 802418AC 00000000 */ nop +/* BE5060 802418B0 468010A0 */ cvt.s.w $f2, $f2 +/* BE5064 802418B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5068 802418B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE506C 802418BC 46020000 */ add.s $f0, $f0, $f2 +/* BE5070 802418C0 3C014024 */ lui $at, 0x4024 +/* BE5074 802418C4 44812800 */ mtc1 $at, $f5 +/* BE5078 802418C8 44802000 */ mtc1 $zero, $f4 +/* BE507C 802418CC C442002C */ lwc1 $f2, 0x2c($v0) +/* BE5080 802418D0 46000021 */ cvt.d.s $f0, $f0 +/* BE5084 802418D4 46240000 */ add.d $f0, $f0, $f4 +/* BE5088 802418D8 460010A1 */ cvt.d.s $f2, $f2 +/* BE508C 802418DC 4620103C */ c.lt.d $f2, $f0 +/* BE5090 802418E0 00000000 */ nop +/* BE5094 802418E4 4500002E */ bc1f .L802419A0 +/* BE5098 802418E8 0280202D */ daddu $a0, $s4, $zero +/* BE509C 802418EC 24020001 */ addiu $v0, $zero, 1 +/* BE50A0 802418F0 AFA20010 */ sw $v0, 0x10($sp) +/* BE50A4 802418F4 8E460024 */ lw $a2, 0x24($s2) +/* BE50A8 802418F8 8E470028 */ lw $a3, 0x28($s2) +/* BE50AC 802418FC 0C01242D */ jal func_800490B4 +/* BE50B0 80241900 0220282D */ daddu $a1, $s1, $zero +/* BE50B4 80241904 10400026 */ beqz $v0, .L802419A0 +/* BE50B8 80241908 0000202D */ daddu $a0, $zero, $zero +/* BE50BC 8024190C 0200282D */ daddu $a1, $s0, $zero +/* BE50C0 80241910 0000302D */ daddu $a2, $zero, $zero +/* BE50C4 80241914 2412000C */ addiu $s2, $zero, 0xc +/* BE50C8 80241918 860300A8 */ lh $v1, 0xa8($s0) +/* BE50CC 8024191C 3C013F80 */ lui $at, 0x3f80 +/* BE50D0 80241920 44810000 */ mtc1 $at, $f0 +/* BE50D4 80241924 3C014000 */ lui $at, 0x4000 +/* BE50D8 80241928 44811000 */ mtc1 $at, $f2 +/* BE50DC 8024192C 3C01C1A0 */ lui $at, 0xc1a0 +/* BE50E0 80241930 44812000 */ mtc1 $at, $f4 +/* BE50E4 80241934 44834000 */ mtc1 $v1, $f8 +/* BE50E8 80241938 00000000 */ nop +/* BE50EC 8024193C 46804220 */ cvt.s.w $f8, $f8 +/* BE50F0 80241940 44074000 */ mfc1 $a3, $f8 +/* BE50F4 80241944 27A20038 */ addiu $v0, $sp, 0x38 +/* BE50F8 80241948 AFB2001C */ sw $s2, 0x1c($sp) +/* BE50FC 8024194C AFA20020 */ sw $v0, 0x20($sp) +/* BE5100 80241950 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE5104 80241954 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE5108 80241958 0C01BFA4 */ jal fx_emote +/* BE510C 8024195C E7A40018 */ swc1 $f4, 0x18($sp) +/* BE5110 80241960 0200202D */ daddu $a0, $s0, $zero +/* BE5114 80241964 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE5118 80241968 C480003C */ lwc1 $f0, 0x3c($a0) +/* BE511C 8024196C 3C060020 */ lui $a2, 0x20 +/* BE5120 80241970 0C012530 */ jal func_800494C0 +/* BE5124 80241974 E4800064 */ swc1 $f0, 0x64($a0) +/* BE5128 80241978 8E220018 */ lw $v0, 0x18($s1) +/* BE512C 8024197C 9442002A */ lhu $v0, 0x2a($v0) +/* BE5130 80241980 30420001 */ andi $v0, $v0, 1 +/* BE5134 80241984 10400003 */ beqz $v0, .L80241994 +/* BE5138 80241988 2402000A */ addiu $v0, $zero, 0xa +/* BE513C 8024198C 0809068F */ j .L80241A3C +/* BE5140 80241990 AE620070 */ sw $v0, 0x70($s3) +.L80241994: +/* BE5144 80241994 0809068F */ j .L80241A3C +/* BE5148 80241998 AE720070 */ sw $s2, 0x70($s3) +.L8024199C: +/* BE514C 8024199C AE220090 */ sw $v0, 0x90($s1) +.L802419A0: +/* BE5150 802419A0 8602008C */ lh $v0, 0x8c($s0) +/* BE5154 802419A4 14400025 */ bnez $v0, .L80241A3C +/* BE5158 802419A8 00000000 */ nop +/* BE515C 802419AC 8602008E */ lh $v0, 0x8e($s0) +/* BE5160 802419B0 1C400022 */ bgtz $v0, .L80241A3C +/* BE5164 802419B4 00000000 */ nop +/* BE5168 802419B8 8E620074 */ lw $v0, 0x74($s3) +/* BE516C 802419BC 2442FFFF */ addiu $v0, $v0, -1 +/* BE5170 802419C0 1840001D */ blez $v0, .L80241A38 +/* BE5174 802419C4 AE620074 */ sw $v0, 0x74($s3) +/* BE5178 802419C8 8E220018 */ lw $v0, 0x18($s1) +/* BE517C 802419CC 9442002A */ lhu $v0, 0x2a($v0) +/* BE5180 802419D0 30420010 */ andi $v0, $v0, 0x10 +/* BE5184 802419D4 14400007 */ bnez $v0, .L802419F4 +/* BE5188 802419D8 00000000 */ nop +/* BE518C 802419DC C600000C */ lwc1 $f0, 0xc($s0) +/* BE5190 802419E0 3C014334 */ lui $at, 0x4334 +/* BE5194 802419E4 44816000 */ mtc1 $at, $f12 +/* BE5198 802419E8 0C00A6C9 */ jal clamp_angle +/* BE519C 802419EC 460C0300 */ add.s $f12, $f0, $f12 +/* BE51A0 802419F0 E600000C */ swc1 $f0, 0xc($s0) +.L802419F4: +/* BE51A4 802419F4 0C00A67F */ jal rand_int +/* BE51A8 802419F8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BE51AC 802419FC 3C032E8B */ lui $v1, 0x2e8b +/* BE51B0 80241A00 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BE51B4 80241A04 00430018 */ mult $v0, $v1 +/* BE51B8 80241A08 00021FC3 */ sra $v1, $v0, 0x1f +/* BE51BC 80241A0C 00004010 */ mfhi $t0 +/* BE51C0 80241A10 00082043 */ sra $a0, $t0, 1 +/* BE51C4 80241A14 00832023 */ subu $a0, $a0, $v1 +/* BE51C8 80241A18 00041840 */ sll $v1, $a0, 1 +/* BE51CC 80241A1C 00641821 */ addu $v1, $v1, $a0 +/* BE51D0 80241A20 00031880 */ sll $v1, $v1, 2 +/* BE51D4 80241A24 00641823 */ subu $v1, $v1, $a0 +/* BE51D8 80241A28 00431023 */ subu $v0, $v0, $v1 +/* BE51DC 80241A2C 24420005 */ addiu $v0, $v0, 5 +/* BE51E0 80241A30 0809068F */ j .L80241A3C +/* BE51E4 80241A34 A602008E */ sh $v0, 0x8e($s0) +.L80241A38: +/* BE51E8 80241A38 AE600070 */ sw $zero, 0x70($s3) +.L80241A3C: +/* BE51EC 80241A3C 8FBF0054 */ lw $ra, 0x54($sp) +/* BE51F0 80241A40 8FB40050 */ lw $s4, 0x50($sp) +/* BE51F4 80241A44 8FB3004C */ lw $s3, 0x4c($sp) +/* BE51F8 80241A48 8FB20048 */ lw $s2, 0x48($sp) +/* BE51FC 80241A4C 8FB10044 */ lw $s1, 0x44($sp) +/* BE5200 80241A50 8FB00040 */ lw $s0, 0x40($sp) +/* BE5204 80241A54 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* BE5208 80241A58 D7B80068 */ ldc1 $f24, 0x68($sp) +/* BE520C 80241A5C D7B60060 */ ldc1 $f22, 0x60($sp) +/* BE5210 80241A60 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BE5214 80241A64 03E00008 */ jr $ra +/* BE5218 80241A68 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241A6C.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241A6C.s new file mode 100644 index 0000000000..dbb6456da8 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241A6C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A6C +/* BE521C 80241A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE5220 80241A70 AFB20018 */ sw $s2, 0x18($sp) +/* BE5224 80241A74 0080902D */ daddu $s2, $a0, $zero +/* BE5228 80241A78 AFBF001C */ sw $ra, 0x1c($sp) +/* BE522C 80241A7C AFB10014 */ sw $s1, 0x14($sp) +/* BE5230 80241A80 AFB00010 */ sw $s0, 0x10($sp) +/* BE5234 80241A84 8E510148 */ lw $s1, 0x148($s2) +/* BE5238 80241A88 0C00EABB */ jal get_npc_unsafe +/* BE523C 80241A8C 86240008 */ lh $a0, 8($s1) +/* BE5240 80241A90 0040802D */ daddu $s0, $v0, $zero +/* BE5244 80241A94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5248 80241A98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE524C 80241A9C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE5250 80241AA0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE5254 80241AA4 A600008E */ sh $zero, 0x8e($s0) +/* BE5258 80241AA8 8C460028 */ lw $a2, 0x28($v0) +/* BE525C 80241AAC 0C00A720 */ jal atan2 +/* BE5260 80241AB0 8C470030 */ lw $a3, 0x30($v0) +/* BE5264 80241AB4 E600000C */ swc1 $f0, 0xc($s0) +/* BE5268 80241AB8 8E2200CC */ lw $v0, 0xcc($s1) +/* BE526C 80241ABC 8C420020 */ lw $v0, 0x20($v0) +/* BE5270 80241AC0 AE020028 */ sw $v0, 0x28($s0) +/* BE5274 80241AC4 2402000B */ addiu $v0, $zero, 0xb +/* BE5278 80241AC8 AE420070 */ sw $v0, 0x70($s2) +/* BE527C 80241ACC 8FBF001C */ lw $ra, 0x1c($sp) +/* BE5280 80241AD0 8FB20018 */ lw $s2, 0x18($sp) +/* BE5284 80241AD4 8FB10014 */ lw $s1, 0x14($sp) +/* BE5288 80241AD8 8FB00010 */ lw $s0, 0x10($sp) +/* BE528C 80241ADC 03E00008 */ jr $ra +/* BE5290 80241AE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241AE4.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241AE4.s new file mode 100644 index 0000000000..66855806cb --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241AE4.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AE4 +/* BE5294 80241AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE5298 80241AE8 AFB00010 */ sw $s0, 0x10($sp) +/* BE529C 80241AEC 0080802D */ daddu $s0, $a0, $zero +/* BE52A0 80241AF0 AFBF0014 */ sw $ra, 0x14($sp) +/* BE52A4 80241AF4 8E020148 */ lw $v0, 0x148($s0) +/* BE52A8 80241AF8 0C00EABB */ jal get_npc_unsafe +/* BE52AC 80241AFC 84440008 */ lh $a0, 8($v0) +/* BE52B0 80241B00 9443008E */ lhu $v1, 0x8e($v0) +/* BE52B4 80241B04 C440003C */ lwc1 $f0, 0x3c($v0) +/* BE52B8 80241B08 24640001 */ addiu $a0, $v1, 1 +/* BE52BC 80241B0C 00031C00 */ sll $v1, $v1, 0x10 +/* BE52C0 80241B10 00031B83 */ sra $v1, $v1, 0xe +/* BE52C4 80241B14 A444008E */ sh $a0, 0x8e($v0) +/* BE52C8 80241B18 3C018024 */ lui $at, 0x8024 +/* BE52CC 80241B1C 00230821 */ addu $at, $at, $v1 +/* BE52D0 80241B20 C42236DC */ lwc1 $f2, 0x36dc($at) +/* BE52D4 80241B24 8443008E */ lh $v1, 0x8e($v0) +/* BE52D8 80241B28 46020000 */ add.s $f0, $f0, $f2 +/* BE52DC 80241B2C 28630005 */ slti $v1, $v1, 5 +/* BE52E0 80241B30 14600003 */ bnez $v1, .L80241B40 +/* BE52E4 80241B34 E440003C */ swc1 $f0, 0x3c($v0) +/* BE52E8 80241B38 2402000C */ addiu $v0, $zero, 0xc +/* BE52EC 80241B3C AE020070 */ sw $v0, 0x70($s0) +.L80241B40: +/* BE52F0 80241B40 8FBF0014 */ lw $ra, 0x14($sp) +/* BE52F4 80241B44 8FB00010 */ lw $s0, 0x10($sp) +/* BE52F8 80241B48 03E00008 */ jr $ra +/* BE52FC 80241B4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241B50_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241B50_BE37B0.s new file mode 100644 index 0000000000..2fc1bacd75 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241B50_BE37B0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B50_BE5300 +/* BE5300 80241B50 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE5304 80241B54 AFB3001C */ sw $s3, 0x1c($sp) +/* BE5308 80241B58 0080982D */ daddu $s3, $a0, $zero +/* BE530C 80241B5C AFBF0020 */ sw $ra, 0x20($sp) +/* BE5310 80241B60 AFB20018 */ sw $s2, 0x18($sp) +/* BE5314 80241B64 AFB10014 */ sw $s1, 0x14($sp) +/* BE5318 80241B68 AFB00010 */ sw $s0, 0x10($sp) +/* BE531C 80241B6C 8E720148 */ lw $s2, 0x148($s3) +/* BE5320 80241B70 86440008 */ lh $a0, 8($s2) +/* BE5324 80241B74 0C00EABB */ jal get_npc_unsafe +/* BE5328 80241B78 00A0802D */ daddu $s0, $a1, $zero +/* BE532C 80241B7C 0040882D */ daddu $s1, $v0, $zero +/* BE5330 80241B80 C6420080 */ lwc1 $f2, 0x80($s2) +/* BE5334 80241B84 468010A0 */ cvt.s.w $f2, $f2 +/* BE5338 80241B88 460010A1 */ cvt.d.s $f2, $f2 +/* BE533C 80241B8C C6400084 */ lwc1 $f0, 0x84($s2) +/* BE5340 80241B90 46800020 */ cvt.s.w $f0, $f0 +/* BE5344 80241B94 46000021 */ cvt.d.s $f0, $f0 +/* BE5348 80241B98 3C014059 */ lui $at, 0x4059 +/* BE534C 80241B9C 44812800 */ mtc1 $at, $f5 +/* BE5350 80241BA0 44802000 */ mtc1 $zero, $f4 +/* BE5354 80241BA4 8E4200CC */ lw $v0, 0xcc($s2) +/* BE5358 80241BA8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BE535C 80241BAC C62E0040 */ lwc1 $f14, 0x40($s1) +/* BE5360 80241BB0 46241083 */ div.d $f2, $f2, $f4 +/* BE5364 80241BB4 462010A0 */ cvt.s.d $f2, $f2 +/* BE5368 80241BB8 46240003 */ div.d $f0, $f0, $f4 +/* BE536C 80241BBC 8C420020 */ lw $v0, 0x20($v0) +/* BE5370 80241BC0 46200020 */ cvt.s.d $f0, $f0 +/* BE5374 80241BC4 E622001C */ swc1 $f2, 0x1c($s1) +/* BE5378 80241BC8 E6200014 */ swc1 $f0, 0x14($s1) +/* BE537C 80241BCC AE220028 */ sw $v0, 0x28($s1) +/* BE5380 80241BD0 C6000018 */ lwc1 $f0, 0x18($s0) +/* BE5384 80241BD4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5388 80241BD8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE538C 80241BDC E6200018 */ swc1 $f0, 0x18($s1) +/* BE5390 80241BE0 8C460028 */ lw $a2, 0x28($v0) +/* BE5394 80241BE4 0C00A720 */ jal atan2 +/* BE5398 80241BE8 8C470030 */ lw $a3, 0x30($v0) +/* BE539C 80241BEC E620000C */ swc1 $f0, 0xc($s1) +/* BE53A0 80241BF0 8E420018 */ lw $v0, 0x18($s2) +/* BE53A4 80241BF4 AE400074 */ sw $zero, 0x74($s2) +/* BE53A8 80241BF8 9442002A */ lhu $v0, 0x2a($v0) +/* BE53AC 80241BFC 30420002 */ andi $v0, $v0, 2 +/* BE53B0 80241C00 10400005 */ beqz $v0, .L80241C18 +/* BE53B4 80241C04 24020003 */ addiu $v0, $zero, 3 +/* BE53B8 80241C08 A622008E */ sh $v0, 0x8e($s1) +/* BE53BC 80241C0C 2402000D */ addiu $v0, $zero, 0xd +/* BE53C0 80241C10 0809071A */ j .L80241C68 +/* BE53C4 80241C14 AE620070 */ sw $v0, 0x70($s3) +.L80241C18: +/* BE53C8 80241C18 24030001 */ addiu $v1, $zero, 1 +/* BE53CC 80241C1C 2402000E */ addiu $v0, $zero, 0xe +/* BE53D0 80241C20 A623008E */ sh $v1, 0x8e($s1) +/* BE53D4 80241C24 AE620070 */ sw $v0, 0x70($s3) +/* BE53D8 80241C28 C6200038 */ lwc1 $f0, 0x38($s1) +/* BE53DC 80241C2C 4600018D */ trunc.w.s $f6, $f0 +/* BE53E0 80241C30 44023000 */ mfc1 $v0, $f6 +/* BE53E4 80241C34 00000000 */ nop +/* BE53E8 80241C38 A6420010 */ sh $v0, 0x10($s2) +/* BE53EC 80241C3C C620003C */ lwc1 $f0, 0x3c($s1) +/* BE53F0 80241C40 4600018D */ trunc.w.s $f6, $f0 +/* BE53F4 80241C44 44023000 */ mfc1 $v0, $f6 +/* BE53F8 80241C48 00000000 */ nop +/* BE53FC 80241C4C A6420012 */ sh $v0, 0x12($s2) +/* BE5400 80241C50 C6200040 */ lwc1 $f0, 0x40($s1) +/* BE5404 80241C54 A2430007 */ sb $v1, 7($s2) +/* BE5408 80241C58 4600018D */ trunc.w.s $f6, $f0 +/* BE540C 80241C5C 44023000 */ mfc1 $v0, $f6 +/* BE5410 80241C60 00000000 */ nop +/* BE5414 80241C64 A6420014 */ sh $v0, 0x14($s2) +.L80241C68: +/* BE5418 80241C68 8FBF0020 */ lw $ra, 0x20($sp) +/* BE541C 80241C6C 8FB3001C */ lw $s3, 0x1c($sp) +/* BE5420 80241C70 8FB20018 */ lw $s2, 0x18($sp) +/* BE5424 80241C74 8FB10014 */ lw $s1, 0x14($sp) +/* BE5428 80241C78 8FB00010 */ lw $s0, 0x10($sp) +/* BE542C 80241C7C 03E00008 */ jr $ra +/* BE5430 80241C80 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241C84_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241C84_BE37B0.s new file mode 100644 index 0000000000..108944b527 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241C84_BE37B0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C84_BE5434 +/* BE5434 80241C84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE5438 80241C88 AFB00010 */ sw $s0, 0x10($sp) +/* BE543C 80241C8C 0080802D */ daddu $s0, $a0, $zero +/* BE5440 80241C90 AFBF0014 */ sw $ra, 0x14($sp) +/* BE5444 80241C94 8E020148 */ lw $v0, 0x148($s0) +/* BE5448 80241C98 0C00EABB */ jal get_npc_unsafe +/* BE544C 80241C9C 84440008 */ lh $a0, 8($v0) +/* BE5450 80241CA0 0040202D */ daddu $a0, $v0, $zero +/* BE5454 80241CA4 8482008E */ lh $v0, 0x8e($a0) +/* BE5458 80241CA8 9483008E */ lhu $v1, 0x8e($a0) +/* BE545C 80241CAC 18400005 */ blez $v0, .L80241CC4 +/* BE5460 80241CB0 2462FFFF */ addiu $v0, $v1, -1 +/* BE5464 80241CB4 A482008E */ sh $v0, 0x8e($a0) +/* BE5468 80241CB8 00021400 */ sll $v0, $v0, 0x10 +/* BE546C 80241CBC 1C400006 */ bgtz $v0, .L80241CD8 +/* BE5470 80241CC0 00000000 */ nop +.L80241CC4: +/* BE5474 80241CC4 8482008C */ lh $v0, 0x8c($a0) +/* BE5478 80241CC8 14400003 */ bnez $v0, .L80241CD8 +/* BE547C 80241CCC 2402000E */ addiu $v0, $zero, 0xe +/* BE5480 80241CD0 A480008E */ sh $zero, 0x8e($a0) +/* BE5484 80241CD4 AE020070 */ sw $v0, 0x70($s0) +.L80241CD8: +/* BE5488 80241CD8 8FBF0014 */ lw $ra, 0x14($sp) +/* BE548C 80241CDC 8FB00010 */ lw $s0, 0x10($sp) +/* BE5490 80241CE0 03E00008 */ jr $ra +/* BE5494 80241CE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80241CE8.s b/asm/nonmatchings/world/area_arn/arn_04/func_80241CE8.s new file mode 100644 index 0000000000..87ef0abaa6 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80241CE8.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CE8 +/* BE5498 80241CE8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BE549C 80241CEC AFB20030 */ sw $s2, 0x30($sp) +/* BE54A0 80241CF0 0080902D */ daddu $s2, $a0, $zero +/* BE54A4 80241CF4 AFBF0038 */ sw $ra, 0x38($sp) +/* BE54A8 80241CF8 AFB30034 */ sw $s3, 0x34($sp) +/* BE54AC 80241CFC AFB1002C */ sw $s1, 0x2c($sp) +/* BE54B0 80241D00 AFB00028 */ sw $s0, 0x28($sp) +/* BE54B4 80241D04 F7B60048 */ sdc1 $f22, 0x48($sp) +/* BE54B8 80241D08 F7B40040 */ sdc1 $f20, 0x40($sp) +/* BE54BC 80241D0C 8E510148 */ lw $s1, 0x148($s2) +/* BE54C0 80241D10 86240008 */ lh $a0, 8($s1) +/* BE54C4 80241D14 0C00EABB */ jal get_npc_unsafe +/* BE54C8 80241D18 00A0982D */ daddu $s3, $a1, $zero +/* BE54CC 80241D1C 0040802D */ daddu $s0, $v0, $zero +/* BE54D0 80241D20 0200202D */ daddu $a0, $s0, $zero +/* BE54D4 80241D24 C6220088 */ lwc1 $f2, 0x88($s1) +/* BE54D8 80241D28 468010A0 */ cvt.s.w $f2, $f2 +/* BE54DC 80241D2C 460010A1 */ cvt.d.s $f2, $f2 +/* BE54E0 80241D30 C604001C */ lwc1 $f4, 0x1c($s0) +/* BE54E4 80241D34 C6000014 */ lwc1 $f0, 0x14($s0) +/* BE54E8 80241D38 8E050018 */ lw $a1, 0x18($s0) +/* BE54EC 80241D3C 46002100 */ add.s $f4, $f4, $f0 +/* BE54F0 80241D40 8E06000C */ lw $a2, 0xc($s0) +/* BE54F4 80241D44 C6200078 */ lwc1 $f0, 0x78($s1) +/* BE54F8 80241D48 46800020 */ cvt.s.w $f0, $f0 +/* BE54FC 80241D4C E604001C */ swc1 $f4, 0x1c($s0) +/* BE5500 80241D50 3C014059 */ lui $at, 0x4059 +/* BE5504 80241D54 44812800 */ mtc1 $at, $f5 +/* BE5508 80241D58 44802000 */ mtc1 $zero, $f4 +/* BE550C 80241D5C 46000021 */ cvt.d.s $f0, $f0 +/* BE5510 80241D60 46240003 */ div.d $f0, $f0, $f4 +/* BE5514 80241D64 46200520 */ cvt.s.d $f20, $f0 +/* BE5518 80241D68 46241083 */ div.d $f2, $f2, $f4 +/* BE551C 80241D6C 0C00EA95 */ jal npc_move_heading +/* BE5520 80241D70 462015A0 */ cvt.s.d $f22, $f2 +/* BE5524 80241D74 C604001C */ lwc1 $f4, 0x1c($s0) +/* BE5528 80241D78 44801000 */ mtc1 $zero, $f2 +/* BE552C 80241D7C 44801800 */ mtc1 $zero, $f3 +/* BE5530 80241D80 46002021 */ cvt.d.s $f0, $f4 +/* BE5534 80241D84 4620103E */ c.le.d $f2, $f0 +/* BE5538 80241D88 00000000 */ nop +/* BE553C 80241D8C 45000030 */ bc1f .L80241E50 +/* BE5540 80241D90 00000000 */ nop +/* BE5544 80241D94 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE5548 80241D98 46040000 */ add.s $f0, $f0, $f4 +/* BE554C 80241D9C E600003C */ swc1 $f0, 0x3c($s0) +/* BE5550 80241DA0 8E2200CC */ lw $v0, 0xcc($s1) +/* BE5554 80241DA4 8C420024 */ lw $v0, 0x24($v0) +/* BE5558 80241DA8 AE020028 */ sw $v0, 0x28($s0) +/* BE555C 80241DAC A2200007 */ sb $zero, 7($s1) +/* BE5560 80241DB0 8E020000 */ lw $v0, ($s0) +/* BE5564 80241DB4 30420008 */ andi $v0, $v0, 8 +/* BE5568 80241DB8 14400011 */ bnez $v0, .L80241E00 +/* BE556C 80241DBC 0000102D */ daddu $v0, $zero, $zero +/* BE5570 80241DC0 27A50018 */ addiu $a1, $sp, 0x18 +/* BE5574 80241DC4 27A6001C */ addiu $a2, $sp, 0x1c +/* BE5578 80241DC8 C6000038 */ lwc1 $f0, 0x38($s0) +/* BE557C 80241DCC C602003C */ lwc1 $f2, 0x3c($s0) +/* BE5580 80241DD0 C6040040 */ lwc1 $f4, 0x40($s0) +/* BE5584 80241DD4 3C01447A */ lui $at, 0x447a +/* BE5588 80241DD8 44813000 */ mtc1 $at, $f6 +/* BE558C 80241DDC 27A20024 */ addiu $v0, $sp, 0x24 +/* BE5590 80241DE0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE5594 80241DE4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BE5598 80241DE8 E7A40020 */ swc1 $f4, 0x20($sp) +/* BE559C 80241DEC E7A60024 */ swc1 $f6, 0x24($sp) +/* BE55A0 80241DF0 AFA20010 */ sw $v0, 0x10($sp) +/* BE55A4 80241DF4 8E040080 */ lw $a0, 0x80($s0) +/* BE55A8 80241DF8 0C0372DF */ jal func_800DCB7C +/* BE55AC 80241DFC 27A70020 */ addiu $a3, $sp, 0x20 +.L80241E00: +/* BE55B0 80241E00 1040000B */ beqz $v0, .L80241E30 +/* BE55B4 80241E04 00000000 */ nop +/* BE55B8 80241E08 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BE55BC 80241E0C 46140080 */ add.s $f2, $f0, $f20 +/* BE55C0 80241E10 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE55C4 80241E14 4600103E */ c.le.s $f2, $f0 +/* BE55C8 80241E18 00000000 */ nop +/* BE55CC 80241E1C 4500008D */ bc1f .L80242054 +/* BE55D0 80241E20 00000000 */ nop +/* BE55D4 80241E24 E602003C */ swc1 $f2, 0x3c($s0) +/* BE55D8 80241E28 08090815 */ j .L80242054 +/* BE55DC 80241E2C AE400070 */ sw $zero, 0x70($s2) +.L80241E30: +/* BE55E0 80241E30 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE55E4 80241E34 C6000064 */ lwc1 $f0, 0x64($s0) +/* BE55E8 80241E38 4602003E */ c.le.s $f0, $f2 +/* BE55EC 80241E3C 00000000 */ nop +/* BE55F0 80241E40 45030084 */ bc1tl .L80242054 +/* BE55F4 80241E44 AE400070 */ sw $zero, 0x70($s2) +/* BE55F8 80241E48 08090815 */ j .L80242054 +/* BE55FC 80241E4C 00000000 */ nop +.L80241E50: +/* BE5600 80241E50 4622003C */ c.lt.d $f0, $f2 +/* BE5604 80241E54 00000000 */ nop +/* BE5608 80241E58 4500007E */ bc1f .L80242054 +/* BE560C 80241E5C 00000000 */ nop +/* BE5610 80241E60 9602008E */ lhu $v0, 0x8e($s0) +/* BE5614 80241E64 24420001 */ addiu $v0, $v0, 1 +/* BE5618 80241E68 A602008E */ sh $v0, 0x8e($s0) +/* BE561C 80241E6C 00021400 */ sll $v0, $v0, 0x10 +/* BE5620 80241E70 8E630020 */ lw $v1, 0x20($s3) +/* BE5624 80241E74 00021403 */ sra $v0, $v0, 0x10 +/* BE5628 80241E78 0043102A */ slt $v0, $v0, $v1 +/* BE562C 80241E7C 14400026 */ bnez $v0, .L80241F18 +/* BE5630 80241E80 00000000 */ nop +/* BE5634 80241E84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE5638 80241E88 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE563C 80241E8C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5640 80241E90 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE5644 80241E94 A600008E */ sh $zero, 0x8e($s0) +/* BE5648 80241E98 8C460028 */ lw $a2, 0x28($v0) +/* BE564C 80241E9C 0C00A720 */ jal atan2 +/* BE5650 80241EA0 8C470030 */ lw $a3, 0x30($v0) +/* BE5654 80241EA4 46000506 */ mov.s $f20, $f0 +/* BE5658 80241EA8 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE565C 80241EAC 0C00A70A */ jal get_clamped_angle_diff +/* BE5660 80241EB0 4600A386 */ mov.s $f14, $f20 +/* BE5664 80241EB4 46000086 */ mov.s $f2, $f0 +/* BE5668 80241EB8 8E62001C */ lw $v0, 0x1c($s3) +/* BE566C 80241EBC 46001005 */ abs.s $f0, $f2 +/* BE5670 80241EC0 44822000 */ mtc1 $v0, $f4 +/* BE5674 80241EC4 00000000 */ nop +/* BE5678 80241EC8 46802120 */ cvt.s.w $f4, $f4 +/* BE567C 80241ECC 4600203C */ c.lt.s $f4, $f0 +/* BE5680 80241ED0 00000000 */ nop +/* BE5684 80241ED4 4500000D */ bc1f .L80241F0C +/* BE5688 80241ED8 00000000 */ nop +/* BE568C 80241EDC 44800000 */ mtc1 $zero, $f0 +/* BE5690 80241EE0 C614000C */ lwc1 $f20, 0xc($s0) +/* BE5694 80241EE4 4600103C */ c.lt.s $f2, $f0 +/* BE5698 80241EE8 00000000 */ nop +/* BE569C 80241EEC 45000006 */ bc1f .L80241F08 +/* BE56A0 80241EF0 00021023 */ negu $v0, $v0 +/* BE56A4 80241EF4 44820000 */ mtc1 $v0, $f0 +/* BE56A8 80241EF8 00000000 */ nop +/* BE56AC 80241EFC 46800020 */ cvt.s.w $f0, $f0 +/* BE56B0 80241F00 080907C3 */ j .L80241F0C +/* BE56B4 80241F04 4600A500 */ add.s $f20, $f20, $f0 +.L80241F08: +/* BE56B8 80241F08 4604A500 */ add.s $f20, $f20, $f4 +.L80241F0C: +/* BE56BC 80241F0C 0C00A6C9 */ jal clamp_angle +/* BE56C0 80241F10 4600A306 */ mov.s $f12, $f20 +/* BE56C4 80241F14 E600000C */ swc1 $f0, 0xc($s0) +.L80241F18: +/* BE56C8 80241F18 8E020000 */ lw $v0, ($s0) +/* BE56CC 80241F1C 30420008 */ andi $v0, $v0, 8 +/* BE56D0 80241F20 1040000A */ beqz $v0, .L80241F4C +/* BE56D4 80241F24 27A50018 */ addiu $a1, $sp, 0x18 +/* BE56D8 80241F28 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE56DC 80241F2C C600001C */ lwc1 $f0, 0x1c($s0) +/* BE56E0 80241F30 46001080 */ add.s $f2, $f2, $f0 +/* BE56E4 80241F34 4616103C */ c.lt.s $f2, $f22 +/* BE56E8 80241F38 00000000 */ nop +/* BE56EC 80241F3C 45020045 */ bc1fl .L80242054 +/* BE56F0 80241F40 E602003C */ swc1 $f2, 0x3c($s0) +/* BE56F4 80241F44 08090814 */ j .L80242050 +/* BE56F8 80241F48 E616003C */ swc1 $f22, 0x3c($s0) +.L80241F4C: +/* BE56FC 80241F4C C6000038 */ lwc1 $f0, 0x38($s0) +/* BE5700 80241F50 27A6001C */ addiu $a2, $sp, 0x1c +/* BE5704 80241F54 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE5708 80241F58 860200A8 */ lh $v0, 0xa8($s0) +/* BE570C 80241F5C C600001C */ lwc1 $f0, 0x1c($s0) +/* BE5710 80241F60 C604003C */ lwc1 $f4, 0x3c($s0) +/* BE5714 80241F64 44821000 */ mtc1 $v0, $f2 +/* BE5718 80241F68 00000000 */ nop +/* BE571C 80241F6C 468010A0 */ cvt.s.w $f2, $f2 +/* BE5720 80241F70 46000005 */ abs.s $f0, $f0 +/* BE5724 80241F74 46020000 */ add.s $f0, $f0, $f2 +/* BE5728 80241F78 C6060040 */ lwc1 $f6, 0x40($s0) +/* BE572C 80241F7C 27A20024 */ addiu $v0, $sp, 0x24 +/* BE5730 80241F80 46022100 */ add.s $f4, $f4, $f2 +/* BE5734 80241F84 3C014024 */ lui $at, 0x4024 +/* BE5738 80241F88 44811800 */ mtc1 $at, $f3 +/* BE573C 80241F8C 44801000 */ mtc1 $zero, $f2 +/* BE5740 80241F90 46000021 */ cvt.d.s $f0, $f0 +/* BE5744 80241F94 46220000 */ add.d $f0, $f0, $f2 +/* BE5748 80241F98 E7A60020 */ swc1 $f6, 0x20($sp) +/* BE574C 80241F9C E7A4001C */ swc1 $f4, 0x1c($sp) +/* BE5750 80241FA0 46200020 */ cvt.s.d $f0, $f0 +/* BE5754 80241FA4 E7A00024 */ swc1 $f0, 0x24($sp) +/* BE5758 80241FA8 AFA20010 */ sw $v0, 0x10($sp) +/* BE575C 80241FAC 8E040080 */ lw $a0, 0x80($s0) +/* BE5760 80241FB0 0C0372DF */ jal func_800DCB7C +/* BE5764 80241FB4 27A70020 */ addiu $a3, $sp, 0x20 +/* BE5768 80241FB8 10400015 */ beqz $v0, .L80242010 +/* BE576C 80241FBC 00000000 */ nop +/* BE5770 80241FC0 860200A8 */ lh $v0, 0xa8($s0) +/* BE5774 80241FC4 C604001C */ lwc1 $f4, 0x1c($s0) +/* BE5778 80241FC8 44820000 */ mtc1 $v0, $f0 +/* BE577C 80241FCC 00000000 */ nop +/* BE5780 80241FD0 46800020 */ cvt.s.w $f0, $f0 +/* BE5784 80241FD4 46002085 */ abs.s $f2, $f4 +/* BE5788 80241FD8 46020000 */ add.s $f0, $f0, $f2 +/* BE578C 80241FDC C7A20024 */ lwc1 $f2, 0x24($sp) +/* BE5790 80241FE0 4600103E */ c.le.s $f2, $f0 +/* BE5794 80241FE4 00000000 */ nop +/* BE5798 80241FE8 45000005 */ bc1f .L80242000 +/* BE579C 80241FEC 00000000 */ nop +/* BE57A0 80241FF0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BE57A4 80241FF4 AE00001C */ sw $zero, 0x1c($s0) +/* BE57A8 80241FF8 08090815 */ j .L80242054 +/* BE57AC 80241FFC E600003C */ swc1 $f0, 0x3c($s0) +.L80242000: +/* BE57B0 80242000 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE57B4 80242004 46040000 */ add.s $f0, $f0, $f4 +/* BE57B8 80242008 08090815 */ j .L80242054 +/* BE57BC 8024200C E600003C */ swc1 $f0, 0x3c($s0) +.L80242010: +/* BE57C0 80242010 C606003C */ lwc1 $f6, 0x3c($s0) +/* BE57C4 80242014 860200A8 */ lh $v0, 0xa8($s0) +/* BE57C8 80242018 46163081 */ sub.s $f2, $f6, $f22 +/* BE57CC 8024201C 44820000 */ mtc1 $v0, $f0 +/* BE57D0 80242020 00000000 */ nop +/* BE57D4 80242024 46800020 */ cvt.s.w $f0, $f0 +/* BE57D8 80242028 46001080 */ add.s $f2, $f2, $f0 +/* BE57DC 8024202C C604001C */ lwc1 $f4, 0x1c($s0) +/* BE57E0 80242030 46002005 */ abs.s $f0, $f4 +/* BE57E4 80242034 4602003C */ c.lt.s $f0, $f2 +/* BE57E8 80242038 00000000 */ nop +/* BE57EC 8024203C 45020005 */ bc1fl .L80242054 +/* BE57F0 80242040 AE00001C */ sw $zero, 0x1c($s0) +/* BE57F4 80242044 46043000 */ add.s $f0, $f6, $f4 +/* BE57F8 80242048 08090815 */ j .L80242054 +/* BE57FC 8024204C E600003C */ swc1 $f0, 0x3c($s0) +.L80242050: +/* BE5800 80242050 AE00001C */ sw $zero, 0x1c($s0) +.L80242054: +/* BE5804 80242054 8FBF0038 */ lw $ra, 0x38($sp) +/* BE5808 80242058 8FB30034 */ lw $s3, 0x34($sp) +/* BE580C 8024205C 8FB20030 */ lw $s2, 0x30($sp) +/* BE5810 80242060 8FB1002C */ lw $s1, 0x2c($sp) +/* BE5814 80242064 8FB00028 */ lw $s0, 0x28($sp) +/* BE5818 80242068 D7B60048 */ ldc1 $f22, 0x48($sp) +/* BE581C 8024206C D7B40040 */ ldc1 $f20, 0x40($sp) +/* BE5820 80242070 03E00008 */ jr $ra +/* BE5824 80242074 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242078_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242078_BE37B0.s new file mode 100644 index 0000000000..cee75ca991 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242078_BE37B0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242078_BE5828 +/* BE5828 80242078 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BE582C 8024207C AFB00028 */ sw $s0, 0x28($sp) +/* BE5830 80242080 00A0802D */ daddu $s0, $a1, $zero +/* BE5834 80242084 AFB1002C */ sw $s1, 0x2c($sp) +/* BE5838 80242088 00C0882D */ daddu $s1, $a2, $zero +/* BE583C 8024208C AFBF0034 */ sw $ra, 0x34($sp) +/* BE5840 80242090 AFB20030 */ sw $s2, 0x30($sp) +/* BE5844 80242094 AE200070 */ sw $zero, 0x70($s1) +/* BE5848 80242098 8C830000 */ lw $v1, ($a0) +/* BE584C 8024209C 2402FDFF */ addiu $v0, $zero, -0x201 +/* BE5850 802420A0 A480008E */ sh $zero, 0x8e($a0) +/* BE5854 802420A4 00621824 */ and $v1, $v1, $v0 +/* BE5858 802420A8 34650800 */ ori $a1, $v1, 0x800 +/* BE585C 802420AC AC850000 */ sw $a1, ($a0) +/* BE5860 802420B0 8E0200D0 */ lw $v0, 0xd0($s0) +/* BE5864 802420B4 8C420034 */ lw $v0, 0x34($v0) +/* BE5868 802420B8 10400003 */ beqz $v0, .L802420C8 +/* BE586C 802420BC 00E0902D */ daddu $s2, $a3, $zero +/* BE5870 802420C0 08090834 */ j .L802420D0 +/* BE5874 802420C4 34620808 */ ori $v0, $v1, 0x808 +.L802420C8: +/* BE5878 802420C8 2402FFF7 */ addiu $v0, $zero, -9 +/* BE587C 802420CC 00A21024 */ and $v0, $a1, $v0 +.L802420D0: +/* BE5880 802420D0 AC820000 */ sw $v0, ($a0) +/* BE5884 802420D4 27A20024 */ addiu $v0, $sp, 0x24 +/* BE5888 802420D8 27A50018 */ addiu $a1, $sp, 0x18 +/* BE588C 802420DC C4800038 */ lwc1 $f0, 0x38($a0) +/* BE5890 802420E0 C482003C */ lwc1 $f2, 0x3c($a0) +/* BE5894 802420E4 C4840040 */ lwc1 $f4, 0x40($a0) +/* BE5898 802420E8 3C01447A */ lui $at, 0x447a +/* BE589C 802420EC 44813000 */ mtc1 $at, $f6 +/* BE58A0 802420F0 27A6001C */ addiu $a2, $sp, 0x1c +/* BE58A4 802420F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE58A8 802420F8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BE58AC 802420FC E7A40020 */ swc1 $f4, 0x20($sp) +/* BE58B0 80242100 E7A60024 */ swc1 $f6, 0x24($sp) +/* BE58B4 80242104 AFA20010 */ sw $v0, 0x10($sp) +/* BE58B8 80242108 8C840080 */ lw $a0, 0x80($a0) +/* BE58BC 8024210C 0C0372DF */ jal func_800DCB7C +/* BE58C0 80242110 27A70020 */ addiu $a3, $sp, 0x20 +/* BE58C4 80242114 C7A20024 */ lwc1 $f2, 0x24($sp) +/* BE58C8 80242118 3C014059 */ lui $at, 0x4059 +/* BE58CC 8024211C 44812800 */ mtc1 $at, $f5 +/* BE58D0 80242120 44802000 */ mtc1 $zero, $f4 +/* BE58D4 80242124 460010A1 */ cvt.d.s $f2, $f2 +/* BE58D8 80242128 46241082 */ mul.d $f2, $f2, $f4 +/* BE58DC 8024212C 00000000 */ nop +/* BE58E0 80242130 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BE58E4 80242134 46000021 */ cvt.d.s $f0, $f0 +/* BE58E8 80242138 46240002 */ mul.d $f0, $f0, $f4 +/* BE58EC 8024213C 00000000 */ nop +/* BE58F0 80242140 3C013FE0 */ lui $at, 0x3fe0 +/* BE58F4 80242144 44812800 */ mtc1 $at, $f5 +/* BE58F8 80242148 44802000 */ mtc1 $zero, $f4 +/* BE58FC 8024214C 00000000 */ nop +/* BE5900 80242150 46241080 */ add.d $f2, $f2, $f4 +/* BE5904 80242154 AE000074 */ sw $zero, 0x74($s0) +/* BE5908 80242158 46240000 */ add.d $f0, $f0, $f4 +/* BE590C 8024215C AE000090 */ sw $zero, 0x90($s0) +/* BE5910 80242160 4620120D */ trunc.w.d $f8, $f2 +/* BE5914 80242164 E6080078 */ swc1 $f8, 0x78($s0) +/* BE5918 80242168 4620020D */ trunc.w.d $f8, $f0 +/* BE591C 8024216C E6080088 */ swc1 $f8, 0x88($s0) +/* BE5920 80242170 8E420014 */ lw $v0, 0x14($s2) +/* BE5924 80242174 AE220074 */ sw $v0, 0x74($s1) +/* BE5928 80242178 8E0200B0 */ lw $v0, 0xb0($s0) +/* BE592C 8024217C 34420010 */ ori $v0, $v0, 0x10 +/* BE5930 80242180 AE0200B0 */ sw $v0, 0xb0($s0) +/* BE5934 80242184 8FBF0034 */ lw $ra, 0x34($sp) +/* BE5938 80242188 8FB20030 */ lw $s2, 0x30($sp) +/* BE593C 8024218C 8FB1002C */ lw $s1, 0x2c($sp) +/* BE5940 80242190 8FB00028 */ lw $s0, 0x28($sp) +/* BE5944 80242194 03E00008 */ jr $ra +/* BE5948 80242198 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024219C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024219C_BE37B0.s new file mode 100644 index 0000000000..c840586267 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024219C_BE37B0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024219C_BE594C +/* BE594C 8024219C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BE5950 802421A0 AFB40040 */ sw $s4, 0x40($sp) +/* BE5954 802421A4 0080A02D */ daddu $s4, $a0, $zero +/* BE5958 802421A8 AFBF0048 */ sw $ra, 0x48($sp) +/* BE595C 802421AC AFB50044 */ sw $s5, 0x44($sp) +/* BE5960 802421B0 AFB3003C */ sw $s3, 0x3c($sp) +/* BE5964 802421B4 AFB20038 */ sw $s2, 0x38($sp) +/* BE5968 802421B8 AFB10034 */ sw $s1, 0x34($sp) +/* BE596C 802421BC AFB00030 */ sw $s0, 0x30($sp) +/* BE5970 802421C0 8E920148 */ lw $s2, 0x148($s4) +/* BE5974 802421C4 86440008 */ lh $a0, 8($s2) +/* BE5978 802421C8 8E90000C */ lw $s0, 0xc($s4) +/* BE597C 802421CC 0C00EABB */ jal get_npc_unsafe +/* BE5980 802421D0 00A0882D */ daddu $s1, $a1, $zero +/* BE5984 802421D4 0280202D */ daddu $a0, $s4, $zero +/* BE5988 802421D8 8E050000 */ lw $a1, ($s0) +/* BE598C 802421DC 0C0B1EAF */ jal get_variable +/* BE5990 802421E0 0040A82D */ daddu $s5, $v0, $zero +/* BE5994 802421E4 AFA00010 */ sw $zero, 0x10($sp) +/* BE5998 802421E8 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE599C 802421EC 8C630030 */ lw $v1, 0x30($v1) +/* BE59A0 802421F0 AFA30014 */ sw $v1, 0x14($sp) +/* BE59A4 802421F4 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE59A8 802421F8 8C63001C */ lw $v1, 0x1c($v1) +/* BE59AC 802421FC AFA30018 */ sw $v1, 0x18($sp) +/* BE59B0 80242200 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE59B4 80242204 8C630024 */ lw $v1, 0x24($v1) +/* BE59B8 80242208 AFA3001C */ sw $v1, 0x1c($sp) +/* BE59BC 8024220C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE59C0 80242210 8C630028 */ lw $v1, 0x28($v1) +/* BE59C4 80242214 27B30010 */ addiu $s3, $sp, 0x10 +/* BE59C8 80242218 AFA30020 */ sw $v1, 0x20($sp) +/* BE59CC 8024221C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE59D0 80242220 3C0142F0 */ lui $at, 0x42f0 +/* BE59D4 80242224 44810000 */ mtc1 $at, $f0 +/* BE59D8 80242228 8C63002C */ lw $v1, 0x2c($v1) +/* BE59DC 8024222C 0040802D */ daddu $s0, $v0, $zero +/* BE59E0 80242230 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE59E4 80242234 A7A0002C */ sh $zero, 0x2c($sp) +/* BE59E8 80242238 12200006 */ beqz $s1, .L80242254 +/* BE59EC 8024223C AFA30024 */ sw $v1, 0x24($sp) +/* BE59F0 80242240 02A0202D */ daddu $a0, $s5, $zero +/* BE59F4 80242244 0240282D */ daddu $a1, $s2, $zero +/* BE59F8 80242248 0280302D */ daddu $a2, $s4, $zero +/* BE59FC 8024224C 0C09081E */ jal func_80242078 +/* BE5A00 80242250 0200382D */ daddu $a3, $s0, $zero +.L80242254: +/* BE5A04 80242254 2402FFFE */ addiu $v0, $zero, -2 +/* BE5A08 80242258 A2A200AB */ sb $v0, 0xab($s5) +/* BE5A0C 8024225C 8E4300B0 */ lw $v1, 0xb0($s2) +/* BE5A10 80242260 30620004 */ andi $v0, $v1, 4 +/* BE5A14 80242264 10400007 */ beqz $v0, .L80242284 +/* BE5A18 80242268 00000000 */ nop +/* BE5A1C 8024226C 824200B4 */ lb $v0, 0xb4($s2) +/* BE5A20 80242270 1440003C */ bnez $v0, .L80242364 +/* BE5A24 80242274 0000102D */ daddu $v0, $zero, $zero +/* BE5A28 80242278 2402FFFB */ addiu $v0, $zero, -5 +/* BE5A2C 8024227C 00621024 */ and $v0, $v1, $v0 +/* BE5A30 80242280 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242284: +/* BE5A34 80242284 8E830070 */ lw $v1, 0x70($s4) +/* BE5A38 80242288 2C62000F */ sltiu $v0, $v1, 0xf +/* BE5A3C 8024228C 10400034 */ beqz $v0, .L80242360 +/* BE5A40 80242290 00031080 */ sll $v0, $v1, 2 +/* BE5A44 80242294 3C018024 */ lui $at, 0x8024 +/* BE5A48 80242298 00220821 */ addu $at, $at, $v0 +/* BE5A4C 8024229C 8C2242E8 */ lw $v0, 0x42e8($at) +/* BE5A50 802422A0 00400008 */ jr $v0 +/* BE5A54 802422A4 00000000 */ nop +/* BE5A58 802422A8 0280202D */ daddu $a0, $s4, $zero +/* BE5A5C 802422AC 0200282D */ daddu $a1, $s0, $zero +/* BE5A60 802422B0 0C0903A4 */ jal func_80240E90 +/* BE5A64 802422B4 0260302D */ daddu $a2, $s3, $zero +/* BE5A68 802422B8 0280202D */ daddu $a0, $s4, $zero +/* BE5A6C 802422BC 0200282D */ daddu $a1, $s0, $zero +/* BE5A70 802422C0 0C090410 */ jal func_80241040 +/* BE5A74 802422C4 0260302D */ daddu $a2, $s3, $zero +/* BE5A78 802422C8 080908D9 */ j .L80242364 +/* BE5A7C 802422CC 0000102D */ daddu $v0, $zero, $zero +/* BE5A80 802422D0 0280202D */ daddu $a0, $s4, $zero +/* BE5A84 802422D4 0200282D */ daddu $a1, $s0, $zero +/* BE5A88 802422D8 0C09059A */ jal func_80241668 +/* BE5A8C 802422DC 0260302D */ daddu $a2, $s3, $zero +/* BE5A90 802422E0 0280202D */ daddu $a0, $s4, $zero +/* BE5A94 802422E4 0200282D */ daddu $a1, $s0, $zero +/* BE5A98 802422E8 0C0905CA */ jal func_80241728 +/* BE5A9C 802422EC 0260302D */ daddu $a2, $s3, $zero +/* BE5AA0 802422F0 080908D9 */ j .L80242364 +/* BE5AA4 802422F4 0000102D */ daddu $v0, $zero, $zero +/* BE5AA8 802422F8 0280202D */ daddu $a0, $s4, $zero +/* BE5AAC 802422FC 0200282D */ daddu $a1, $s0, $zero +/* BE5AB0 80242300 0C09069B */ jal func_80241A6C +/* BE5AB4 80242304 0260302D */ daddu $a2, $s3, $zero +/* BE5AB8 80242308 0280202D */ daddu $a0, $s4, $zero +/* BE5ABC 8024230C 0200282D */ daddu $a1, $s0, $zero +/* BE5AC0 80242310 0C0906B9 */ jal func_80241AE4 +/* BE5AC4 80242314 0260302D */ daddu $a2, $s3, $zero +/* BE5AC8 80242318 080908D9 */ j .L80242364 +/* BE5ACC 8024231C 0000102D */ daddu $v0, $zero, $zero +/* BE5AD0 80242320 0280202D */ daddu $a0, $s4, $zero +/* BE5AD4 80242324 0200282D */ daddu $a1, $s0, $zero +/* BE5AD8 80242328 0C0906D4 */ jal func_80241B50 +/* BE5ADC 8024232C 0260302D */ daddu $a2, $s3, $zero +/* BE5AE0 80242330 080908D9 */ j .L80242364 +/* BE5AE4 80242334 0000102D */ daddu $v0, $zero, $zero +/* BE5AE8 80242338 0280202D */ daddu $a0, $s4, $zero +/* BE5AEC 8024233C 0200282D */ daddu $a1, $s0, $zero +/* BE5AF0 80242340 0C090721 */ jal func_80241C84 +/* BE5AF4 80242344 0260302D */ daddu $a2, $s3, $zero +/* BE5AF8 80242348 080908D9 */ j .L80242364 +/* BE5AFC 8024234C 0000102D */ daddu $v0, $zero, $zero +/* BE5B00 80242350 0280202D */ daddu $a0, $s4, $zero +/* BE5B04 80242354 0200282D */ daddu $a1, $s0, $zero +/* BE5B08 80242358 0C09073A */ jal func_80241CE8 +/* BE5B0C 8024235C 0260302D */ daddu $a2, $s3, $zero +.L80242360: +/* BE5B10 80242360 0000102D */ daddu $v0, $zero, $zero +.L80242364: +/* BE5B14 80242364 8FBF0048 */ lw $ra, 0x48($sp) +/* BE5B18 80242368 8FB50044 */ lw $s5, 0x44($sp) +/* BE5B1C 8024236C 8FB40040 */ lw $s4, 0x40($sp) +/* BE5B20 80242370 8FB3003C */ lw $s3, 0x3c($sp) +/* BE5B24 80242374 8FB20038 */ lw $s2, 0x38($sp) +/* BE5B28 80242378 8FB10034 */ lw $s1, 0x34($sp) +/* BE5B2C 8024237C 8FB00030 */ lw $s0, 0x30($sp) +/* BE5B30 80242380 03E00008 */ jr $ra +/* BE5B34 80242384 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242388.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242388.s new file mode 100644 index 0000000000..b5bc301238 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242388.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242388 +/* BE5B38 80242388 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE5B3C 8024238C AFBF001C */ sw $ra, 0x1c($sp) +/* BE5B40 80242390 AFB20018 */ sw $s2, 0x18($sp) +/* BE5B44 80242394 AFB10014 */ sw $s1, 0x14($sp) +/* BE5B48 80242398 AFB00010 */ sw $s0, 0x10($sp) +/* BE5B4C 8024239C F7B40020 */ sdc1 $f20, 0x20($sp) +/* BE5B50 802423A0 8C900148 */ lw $s0, 0x148($a0) +/* BE5B54 802423A4 86040008 */ lh $a0, 8($s0) +/* BE5B58 802423A8 3C014387 */ lui $at, 0x4387 +/* BE5B5C 802423AC 4481A000 */ mtc1 $at, $f20 +/* BE5B60 802423B0 0C00EABB */ jal get_npc_unsafe +/* BE5B64 802423B4 00A0882D */ daddu $s1, $a1, $zero +/* BE5B68 802423B8 0200202D */ daddu $a0, $s0, $zero +/* BE5B6C 802423BC 8E26000C */ lw $a2, 0xc($s1) +/* BE5B70 802423C0 8E270010 */ lw $a3, 0x10($s1) +/* BE5B74 802423C4 0040882D */ daddu $s1, $v0, $zero +/* BE5B78 802423C8 3C03800B */ lui $v1, %hi(gCameras) +/* BE5B7C 802423CC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BE5B80 802423D0 3C02800A */ lui $v0, 0x800a +/* BE5B84 802423D4 8442A634 */ lh $v0, -0x59cc($v0) +/* BE5B88 802423D8 0000282D */ daddu $a1, $zero, $zero +/* BE5B8C 802423DC 00028080 */ sll $s0, $v0, 2 +/* BE5B90 802423E0 02028021 */ addu $s0, $s0, $v0 +/* BE5B94 802423E4 00108080 */ sll $s0, $s0, 2 +/* BE5B98 802423E8 02028023 */ subu $s0, $s0, $v0 +/* BE5B9C 802423EC 001010C0 */ sll $v0, $s0, 3 +/* BE5BA0 802423F0 02028021 */ addu $s0, $s0, $v0 +/* BE5BA4 802423F4 001080C0 */ sll $s0, $s0, 3 +/* BE5BA8 802423F8 0C0124FB */ jal func_800493EC +/* BE5BAC 802423FC 02038021 */ addu $s0, $s0, $v1 +/* BE5BB0 80242400 C60C006C */ lwc1 $f12, 0x6c($s0) +/* BE5BB4 80242404 C62E000C */ lwc1 $f14, 0xc($s1) +/* BE5BB8 80242408 0C00A70A */ jal get_clamped_angle_diff +/* BE5BBC 8024240C 0002802B */ sltu $s0, $zero, $v0 +/* BE5BC0 80242410 0C00A6C9 */ jal clamp_angle +/* BE5BC4 80242414 46000306 */ mov.s $f12, $f0 +/* BE5BC8 80242418 3C018024 */ lui $at, 0x8024 +/* BE5BCC 8024241C D4224328 */ ldc1 $f2, 0x4328($at) +/* BE5BD0 80242420 46000021 */ cvt.d.s $f0, $f0 +/* BE5BD4 80242424 4622003C */ c.lt.d $f0, $f2 +/* BE5BD8 80242428 00000000 */ nop +/* BE5BDC 8024242C 45000003 */ bc1f .L8024243C +/* BE5BE0 80242430 00000000 */ nop +/* BE5BE4 80242434 3C0142B4 */ lui $at, 0x42b4 +/* BE5BE8 80242438 4481A000 */ mtc1 $at, $f20 +.L8024243C: +/* BE5BEC 8024243C 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* BE5BF0 80242440 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* BE5BF4 80242444 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BE5BF8 80242448 8E420000 */ lw $v0, ($s2) +/* BE5BFC 8024244C C62E0040 */ lwc1 $f14, 0x40($s1) +/* BE5C00 80242450 8C460028 */ lw $a2, 0x28($v0) +/* BE5C04 80242454 0C00A720 */ jal atan2 +/* BE5C08 80242458 8C470030 */ lw $a3, 0x30($v0) +/* BE5C0C 8024245C 4600A306 */ mov.s $f12, $f20 +/* BE5C10 80242460 0C00A70A */ jal get_clamped_angle_diff +/* BE5C14 80242464 46000386 */ mov.s $f14, $f0 +/* BE5C18 80242468 46000005 */ abs.s $f0, $f0 +/* BE5C1C 8024246C 3C018024 */ lui $at, 0x8024 +/* BE5C20 80242470 D4224330 */ ldc1 $f2, 0x4330($at) +/* BE5C24 80242474 46000021 */ cvt.d.s $f0, $f0 +/* BE5C28 80242478 4620103C */ c.lt.d $f2, $f0 +/* BE5C2C 8024247C 00000000 */ nop +/* BE5C30 80242480 45030001 */ bc1tl .L80242488 +/* BE5C34 80242484 0000802D */ daddu $s0, $zero, $zero +.L80242488: +/* BE5C38 80242488 8E420000 */ lw $v0, ($s2) +/* BE5C3C 8024248C C620003C */ lwc1 $f0, 0x3c($s1) +/* BE5C40 80242490 C442002C */ lwc1 $f2, 0x2c($v0) +/* BE5C44 80242494 46020001 */ sub.s $f0, $f0, $f2 +/* BE5C48 80242498 3C014220 */ lui $at, 0x4220 +/* BE5C4C 8024249C 44811000 */ mtc1 $at, $f2 +/* BE5C50 802424A0 46000005 */ abs.s $f0, $f0 +/* BE5C54 802424A4 4600103E */ c.le.s $f2, $f0 +/* BE5C58 802424A8 00000000 */ nop +/* BE5C5C 802424AC 45030001 */ bc1tl .L802424B4 +/* BE5C60 802424B0 0000802D */ daddu $s0, $zero, $zero +.L802424B4: +/* BE5C64 802424B4 3C038011 */ lui $v1, 0x8011 +/* BE5C68 802424B8 8063EBB3 */ lb $v1, -0x144d($v1) +/* BE5C6C 802424BC 24020009 */ addiu $v0, $zero, 9 +/* BE5C70 802424C0 50620001 */ beql $v1, $v0, .L802424C8 +/* BE5C74 802424C4 0000802D */ daddu $s0, $zero, $zero +.L802424C8: +/* BE5C78 802424C8 0200102D */ daddu $v0, $s0, $zero +/* BE5C7C 802424CC 8FBF001C */ lw $ra, 0x1c($sp) +/* BE5C80 802424D0 8FB20018 */ lw $s2, 0x18($sp) +/* BE5C84 802424D4 8FB10014 */ lw $s1, 0x14($sp) +/* BE5C88 802424D8 8FB00010 */ lw $s0, 0x10($sp) +/* BE5C8C 802424DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* BE5C90 802424E0 03E00008 */ jr $ra +/* BE5C94 802424E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_802424E8_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_802424E8_BE37B0.s new file mode 100644 index 0000000000..ecc10e2426 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_802424E8_BE37B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424E8_BE5C98 +/* BE5C98 802424E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE5C9C 802424EC AFB10014 */ sw $s1, 0x14($sp) +/* BE5CA0 802424F0 0080882D */ daddu $s1, $a0, $zero +/* BE5CA4 802424F4 AFBF001C */ sw $ra, 0x1c($sp) +/* BE5CA8 802424F8 AFB20018 */ sw $s2, 0x18($sp) +/* BE5CAC 802424FC AFB00010 */ sw $s0, 0x10($sp) +/* BE5CB0 80242500 8E320148 */ lw $s2, 0x148($s1) +/* BE5CB4 80242504 0C00EABB */ jal get_npc_unsafe +/* BE5CB8 80242508 86440008 */ lh $a0, 8($s2) +/* BE5CBC 8024250C 0040802D */ daddu $s0, $v0, $zero +/* BE5CC0 80242510 0C00EAFF */ jal disable_npc_shadow +/* BE5CC4 80242514 0200202D */ daddu $a0, $s0, $zero +/* BE5CC8 80242518 24020016 */ addiu $v0, $zero, 0x16 +/* BE5CCC 8024251C A60200A8 */ sh $v0, 0xa8($s0) +/* BE5CD0 80242520 24020018 */ addiu $v0, $zero, 0x18 +/* BE5CD4 80242524 A60200A6 */ sh $v0, 0xa6($s0) +/* BE5CD8 80242528 AE200074 */ sw $zero, 0x74($s1) +/* BE5CDC 8024252C A600008E */ sh $zero, 0x8e($s0) +/* BE5CE0 80242530 8E4200CC */ lw $v0, 0xcc($s2) +/* BE5CE4 80242534 8C420020 */ lw $v0, 0x20($v0) +/* BE5CE8 80242538 AE020028 */ sw $v0, 0x28($s0) +/* BE5CEC 8024253C 24020001 */ addiu $v0, $zero, 1 +/* BE5CF0 80242540 AE220070 */ sw $v0, 0x70($s1) +/* BE5CF4 80242544 8FBF001C */ lw $ra, 0x1c($sp) +/* BE5CF8 80242548 8FB20018 */ lw $s2, 0x18($sp) +/* BE5CFC 8024254C 8FB10014 */ lw $s1, 0x14($sp) +/* BE5D00 80242550 8FB00010 */ lw $s0, 0x10($sp) +/* BE5D04 80242554 03E00008 */ jr $ra +/* BE5D08 80242558 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024255C.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024255C.s new file mode 100644 index 0000000000..b6ebb0d3b5 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024255C.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024255C +/* BE5D0C 8024255C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE5D10 80242560 AFB3003C */ sw $s3, 0x3c($sp) +/* BE5D14 80242564 0080982D */ daddu $s3, $a0, $zero +/* BE5D18 80242568 AFBF0044 */ sw $ra, 0x44($sp) +/* BE5D1C 8024256C AFB40040 */ sw $s4, 0x40($sp) +/* BE5D20 80242570 AFB20038 */ sw $s2, 0x38($sp) +/* BE5D24 80242574 AFB10034 */ sw $s1, 0x34($sp) +/* BE5D28 80242578 AFB00030 */ sw $s0, 0x30($sp) +/* BE5D2C 8024257C 8E700148 */ lw $s0, 0x148($s3) +/* BE5D30 80242580 00A0902D */ daddu $s2, $a1, $zero +/* BE5D34 80242584 86040008 */ lh $a0, 8($s0) +/* BE5D38 80242588 0C00EABB */ jal get_npc_unsafe +/* BE5D3C 8024258C 00C0A02D */ daddu $s4, $a2, $zero +/* BE5D40 80242590 8E630074 */ lw $v1, 0x74($s3) +/* BE5D44 80242594 1C600032 */ bgtz $v1, .L80242660 +/* BE5D48 80242598 0040882D */ daddu $s1, $v0, $zero +/* BE5D4C 8024259C 8E420014 */ lw $v0, 0x14($s2) +/* BE5D50 802425A0 AE620074 */ sw $v0, 0x74($s3) +/* BE5D54 802425A4 C640000C */ lwc1 $f0, 0xc($s2) +/* BE5D58 802425A8 3C018024 */ lui $at, 0x8024 +/* BE5D5C 802425AC D4224338 */ ldc1 $f2, 0x4338($at) +/* BE5D60 802425B0 46000021 */ cvt.d.s $f0, $f0 +/* BE5D64 802425B4 46220002 */ mul.d $f0, $f0, $f2 +/* BE5D68 802425B8 00000000 */ nop +/* BE5D6C 802425BC 0280202D */ daddu $a0, $s4, $zero +/* BE5D70 802425C0 AFA00010 */ sw $zero, 0x10($sp) +/* BE5D74 802425C4 8E470010 */ lw $a3, 0x10($s2) +/* BE5D78 802425C8 46200020 */ cvt.s.d $f0, $f0 +/* BE5D7C 802425CC 44060000 */ mfc1 $a2, $f0 +/* BE5D80 802425D0 0C01242D */ jal func_800490B4 +/* BE5D84 802425D4 0200282D */ daddu $a1, $s0, $zero +/* BE5D88 802425D8 10400021 */ beqz $v0, .L80242660 +/* BE5D8C 802425DC 0000202D */ daddu $a0, $zero, $zero +/* BE5D90 802425E0 0220282D */ daddu $a1, $s1, $zero +/* BE5D94 802425E4 0000302D */ daddu $a2, $zero, $zero +/* BE5D98 802425E8 8E0200CC */ lw $v0, 0xcc($s0) +/* BE5D9C 802425EC 3C013F80 */ lui $at, 0x3f80 +/* BE5DA0 802425F0 44810000 */ mtc1 $at, $f0 +/* BE5DA4 802425F4 3C014000 */ lui $at, 0x4000 +/* BE5DA8 802425F8 44811000 */ mtc1 $at, $f2 +/* BE5DAC 802425FC 8C430024 */ lw $v1, 0x24($v0) +/* BE5DB0 80242600 862200A8 */ lh $v0, 0xa8($s1) +/* BE5DB4 80242604 3C01C1A0 */ lui $at, 0xc1a0 +/* BE5DB8 80242608 44812000 */ mtc1 $at, $f4 +/* BE5DBC 8024260C 44823000 */ mtc1 $v0, $f6 +/* BE5DC0 80242610 00000000 */ nop +/* BE5DC4 80242614 468031A0 */ cvt.s.w $f6, $f6 +/* BE5DC8 80242618 44073000 */ mfc1 $a3, $f6 +/* BE5DCC 8024261C 2402000F */ addiu $v0, $zero, 0xf +/* BE5DD0 80242620 AE230028 */ sw $v1, 0x28($s1) +/* BE5DD4 80242624 AFA2001C */ sw $v0, 0x1c($sp) +/* BE5DD8 80242628 27A20028 */ addiu $v0, $sp, 0x28 +/* BE5DDC 8024262C E7A00010 */ swc1 $f0, 0x10($sp) +/* BE5DE0 80242630 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE5DE4 80242634 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE5DE8 80242638 0C01BFA4 */ jal fx_emote +/* BE5DEC 8024263C AFA20020 */ sw $v0, 0x20($sp) +/* BE5DF0 80242640 0220202D */ daddu $a0, $s1, $zero +/* BE5DF4 80242644 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE5DF8 80242648 0C012530 */ jal func_800494C0 +/* BE5DFC 8024264C 3C060020 */ lui $a2, 0x20 +/* BE5E00 80242650 2402000C */ addiu $v0, $zero, 0xc +/* BE5E04 80242654 A622008E */ sh $v0, 0x8e($s1) +/* BE5E08 80242658 24020002 */ addiu $v0, $zero, 2 +/* BE5E0C 8024265C AE620070 */ sw $v0, 0x70($s3) +.L80242660: +/* BE5E10 80242660 8E620074 */ lw $v0, 0x74($s3) +/* BE5E14 80242664 2442FFFF */ addiu $v0, $v0, -1 +/* BE5E18 80242668 AE620074 */ sw $v0, 0x74($s3) +/* BE5E1C 8024266C 8FBF0044 */ lw $ra, 0x44($sp) +/* BE5E20 80242670 8FB40040 */ lw $s4, 0x40($sp) +/* BE5E24 80242674 8FB3003C */ lw $s3, 0x3c($sp) +/* BE5E28 80242678 8FB20038 */ lw $s2, 0x38($sp) +/* BE5E2C 8024267C 8FB10034 */ lw $s1, 0x34($sp) +/* BE5E30 80242680 8FB00030 */ lw $s0, 0x30($sp) +/* BE5E34 80242684 03E00008 */ jr $ra +/* BE5E38 80242688 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_8024268C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_8024268C_BE37B0.s new file mode 100644 index 0000000000..a92bf665dc --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_8024268C_BE37B0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024268C_BE5E3C +/* BE5E3C 8024268C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE5E40 80242690 AFB20018 */ sw $s2, 0x18($sp) +/* BE5E44 80242694 0080902D */ daddu $s2, $a0, $zero +/* BE5E48 80242698 AFBF001C */ sw $ra, 0x1c($sp) +/* BE5E4C 8024269C AFB10014 */ sw $s1, 0x14($sp) +/* BE5E50 802426A0 AFB00010 */ sw $s0, 0x10($sp) +/* BE5E54 802426A4 8E510148 */ lw $s1, 0x148($s2) +/* BE5E58 802426A8 0C00EABB */ jal get_npc_unsafe +/* BE5E5C 802426AC 86240008 */ lh $a0, 8($s1) +/* BE5E60 802426B0 0040802D */ daddu $s0, $v0, $zero +/* BE5E64 802426B4 9602008E */ lhu $v0, 0x8e($s0) +/* BE5E68 802426B8 2442FFFF */ addiu $v0, $v0, -1 +/* BE5E6C 802426BC A602008E */ sh $v0, 0x8e($s0) +/* BE5E70 802426C0 00021400 */ sll $v0, $v0, 0x10 +/* BE5E74 802426C4 1C400012 */ bgtz $v0, .L80242710 +/* BE5E78 802426C8 00000000 */ nop +/* BE5E7C 802426CC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5E80 802426D0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE5E84 802426D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE5E88 802426D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE5E8C 802426DC 8C460028 */ lw $a2, 0x28($v0) +/* BE5E90 802426E0 0C00A720 */ jal atan2 +/* BE5E94 802426E4 8C470030 */ lw $a3, 0x30($v0) +/* BE5E98 802426E8 0200202D */ daddu $a0, $s0, $zero +/* BE5E9C 802426EC 0C00EAE8 */ jal enable_npc_shadow +/* BE5EA0 802426F0 E600000C */ swc1 $f0, 0xc($s0) +/* BE5EA4 802426F4 8E2200CC */ lw $v0, 0xcc($s1) +/* BE5EA8 802426F8 8C430028 */ lw $v1, 0x28($v0) +/* BE5EAC 802426FC 24020008 */ addiu $v0, $zero, 8 +/* BE5EB0 80242700 A602008E */ sh $v0, 0x8e($s0) +/* BE5EB4 80242704 24020003 */ addiu $v0, $zero, 3 +/* BE5EB8 80242708 AE030028 */ sw $v1, 0x28($s0) +/* BE5EBC 8024270C AE420070 */ sw $v0, 0x70($s2) +.L80242710: +/* BE5EC0 80242710 8FBF001C */ lw $ra, 0x1c($sp) +/* BE5EC4 80242714 8FB20018 */ lw $s2, 0x18($sp) +/* BE5EC8 80242718 8FB10014 */ lw $s1, 0x14($sp) +/* BE5ECC 8024271C 8FB00010 */ lw $s0, 0x10($sp) +/* BE5ED0 80242720 03E00008 */ jr $ra +/* BE5ED4 80242724 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242728.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242728.s new file mode 100644 index 0000000000..4eb49d9b4c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242728.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242728 +/* BE5ED8 80242728 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE5EDC 8024272C AFB10014 */ sw $s1, 0x14($sp) +/* BE5EE0 80242730 0080882D */ daddu $s1, $a0, $zero +/* BE5EE4 80242734 AFBF0018 */ sw $ra, 0x18($sp) +/* BE5EE8 80242738 AFB00010 */ sw $s0, 0x10($sp) +/* BE5EEC 8024273C 8E220148 */ lw $v0, 0x148($s1) +/* BE5EF0 80242740 0C00EABB */ jal get_npc_unsafe +/* BE5EF4 80242744 84440008 */ lh $a0, 8($v0) +/* BE5EF8 80242748 0040802D */ daddu $s0, $v0, $zero +/* BE5EFC 8024274C 9602008E */ lhu $v0, 0x8e($s0) +/* BE5F00 80242750 2442FFFF */ addiu $v0, $v0, -1 +/* BE5F04 80242754 A602008E */ sh $v0, 0x8e($s0) +/* BE5F08 80242758 00021400 */ sll $v0, $v0, 0x10 +/* BE5F0C 8024275C 1C40000F */ bgtz $v0, .L8024279C +/* BE5F10 80242760 00000000 */ nop +/* BE5F14 80242764 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE5F18 80242768 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE5F1C 8024276C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE5F20 80242770 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE5F24 80242774 8C460028 */ lw $a2, 0x28($v0) +/* BE5F28 80242778 0C00A720 */ jal atan2 +/* BE5F2C 8024277C 8C470030 */ lw $a3, 0x30($v0) +/* BE5F30 80242780 2402001A */ addiu $v0, $zero, 0x1a +/* BE5F34 80242784 A60200A8 */ sh $v0, 0xa8($s0) +/* BE5F38 80242788 24020018 */ addiu $v0, $zero, 0x18 +/* BE5F3C 8024278C A60200A6 */ sh $v0, 0xa6($s0) +/* BE5F40 80242790 24020004 */ addiu $v0, $zero, 4 +/* BE5F44 80242794 E600000C */ swc1 $f0, 0xc($s0) +/* BE5F48 80242798 AE220070 */ sw $v0, 0x70($s1) +.L8024279C: +/* BE5F4C 8024279C 8FBF0018 */ lw $ra, 0x18($sp) +/* BE5F50 802427A0 8FB10014 */ lw $s1, 0x14($sp) +/* BE5F54 802427A4 8FB00010 */ lw $s0, 0x10($sp) +/* BE5F58 802427A8 03E00008 */ jr $ra +/* BE5F5C 802427AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_802427B0_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_802427B0_BE37B0.s new file mode 100644 index 0000000000..7ffdce66b8 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_802427B0_BE37B0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427B0_BE5F60 +/* BE5F60 802427B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE5F64 802427B4 AFB10014 */ sw $s1, 0x14($sp) +/* BE5F68 802427B8 0080882D */ daddu $s1, $a0, $zero +/* BE5F6C 802427BC AFBF001C */ sw $ra, 0x1c($sp) +/* BE5F70 802427C0 AFB20018 */ sw $s2, 0x18($sp) +/* BE5F74 802427C4 AFB00010 */ sw $s0, 0x10($sp) +/* BE5F78 802427C8 8E320148 */ lw $s2, 0x148($s1) +/* BE5F7C 802427CC 0C00EABB */ jal get_npc_unsafe +/* BE5F80 802427D0 86440008 */ lh $a0, 8($s2) +/* BE5F84 802427D4 240400B4 */ addiu $a0, $zero, 0xb4 +/* BE5F88 802427D8 0C00A67F */ jal rand_int +/* BE5F8C 802427DC 0040802D */ daddu $s0, $v0, $zero +/* BE5F90 802427E0 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE5F94 802427E4 44820000 */ mtc1 $v0, $f0 +/* BE5F98 802427E8 00000000 */ nop +/* BE5F9C 802427EC 46800020 */ cvt.s.w $f0, $f0 +/* BE5FA0 802427F0 46006300 */ add.s $f12, $f12, $f0 +/* BE5FA4 802427F4 3C0142B4 */ lui $at, 0x42b4 +/* BE5FA8 802427F8 44810000 */ mtc1 $at, $f0 +/* BE5FAC 802427FC 0C00A6C9 */ jal clamp_angle +/* BE5FB0 80242800 46006301 */ sub.s $f12, $f12, $f0 +/* BE5FB4 80242804 E600000C */ swc1 $f0, 0xc($s0) +/* BE5FB8 80242808 8E4200CC */ lw $v0, 0xcc($s2) +/* BE5FBC 8024280C 8C420000 */ lw $v0, ($v0) +/* BE5FC0 80242810 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BE5FC4 80242814 0C00A67F */ jal rand_int +/* BE5FC8 80242818 AE020028 */ sw $v0, 0x28($s0) +/* BE5FCC 8024281C 00021FC2 */ srl $v1, $v0, 0x1f +/* BE5FD0 80242820 00431821 */ addu $v1, $v0, $v1 +/* BE5FD4 80242824 00031843 */ sra $v1, $v1, 1 +/* BE5FD8 80242828 00031840 */ sll $v1, $v1, 1 +/* BE5FDC 8024282C 00431023 */ subu $v0, $v0, $v1 +/* BE5FE0 80242830 24420002 */ addiu $v0, $v0, 2 +/* BE5FE4 80242834 AE220074 */ sw $v0, 0x74($s1) +/* BE5FE8 80242838 24020005 */ addiu $v0, $zero, 5 +/* BE5FEC 8024283C AE220070 */ sw $v0, 0x70($s1) +/* BE5FF0 80242840 8FBF001C */ lw $ra, 0x1c($sp) +/* BE5FF4 80242844 8FB20018 */ lw $s2, 0x18($sp) +/* BE5FF8 80242848 8FB10014 */ lw $s1, 0x14($sp) +/* BE5FFC 8024284C 8FB00010 */ lw $s0, 0x10($sp) +/* BE6000 80242850 03E00008 */ jr $ra +/* BE6004 80242854 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242858_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242858_BE37B0.s new file mode 100644 index 0000000000..9ef073bac0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242858_BE37B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242858_BE6008 +/* BE6008 80242858 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE600C 8024285C AFB3003C */ sw $s3, 0x3c($sp) +/* BE6010 80242860 0080982D */ daddu $s3, $a0, $zero +/* BE6014 80242864 AFBF0040 */ sw $ra, 0x40($sp) +/* BE6018 80242868 AFB20038 */ sw $s2, 0x38($sp) +/* BE601C 8024286C AFB10034 */ sw $s1, 0x34($sp) +/* BE6020 80242870 AFB00030 */ sw $s0, 0x30($sp) +/* BE6024 80242874 8E700148 */ lw $s0, 0x148($s3) +/* BE6028 80242878 00A0902D */ daddu $s2, $a1, $zero +/* BE602C 8024287C 86040008 */ lh $a0, 8($s0) +/* BE6030 80242880 0C00EABB */ jal get_npc_unsafe +/* BE6034 80242884 00C0882D */ daddu $s1, $a2, $zero +/* BE6038 80242888 0220202D */ daddu $a0, $s1, $zero +/* BE603C 8024288C 0200282D */ daddu $a1, $s0, $zero +/* BE6040 80242890 AFA00010 */ sw $zero, 0x10($sp) +/* BE6044 80242894 8E460024 */ lw $a2, 0x24($s2) +/* BE6048 80242898 8E470028 */ lw $a3, 0x28($s2) +/* BE604C 8024289C 0C01242D */ jal func_800490B4 +/* BE6050 802428A0 0040802D */ daddu $s0, $v0, $zero +/* BE6054 802428A4 1040000B */ beqz $v0, .L802428D4 +/* BE6058 802428A8 00000000 */ nop +/* BE605C 802428AC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE6060 802428B0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE6064 802428B4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE6068 802428B8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE606C 802428BC 8C460028 */ lw $a2, 0x28($v0) +/* BE6070 802428C0 0C00A720 */ jal atan2 +/* BE6074 802428C4 8C470030 */ lw $a3, 0x30($v0) +/* BE6078 802428C8 2402000C */ addiu $v0, $zero, 0xc +/* BE607C 802428CC 08090A6B */ j .L802429AC +/* BE6080 802428D0 E600000C */ swc1 $f0, 0xc($s0) +.L802428D4: +/* BE6084 802428D4 9602008E */ lhu $v0, 0x8e($s0) +/* BE6088 802428D8 2442FFFF */ addiu $v0, $v0, -1 +/* BE608C 802428DC A602008E */ sh $v0, 0x8e($s0) +/* BE6090 802428E0 00021400 */ sll $v0, $v0, 0x10 +/* BE6094 802428E4 1C400032 */ bgtz $v0, .L802429B0 +/* BE6098 802428E8 00000000 */ nop +/* BE609C 802428EC 8E620074 */ lw $v0, 0x74($s3) +/* BE60A0 802428F0 2442FFFF */ addiu $v0, $v0, -1 +/* BE60A4 802428F4 18400014 */ blez $v0, .L80242948 +/* BE60A8 802428F8 AE620074 */ sw $v0, 0x74($s3) +/* BE60AC 802428FC C600000C */ lwc1 $f0, 0xc($s0) +/* BE60B0 80242900 3C014334 */ lui $at, 0x4334 +/* BE60B4 80242904 44816000 */ mtc1 $at, $f12 +/* BE60B8 80242908 0C00A6C9 */ jal clamp_angle +/* BE60BC 8024290C 460C0300 */ add.s $f12, $f0, $f12 +/* BE60C0 80242910 E600000C */ swc1 $f0, 0xc($s0) +/* BE60C4 80242914 8E440008 */ lw $a0, 8($s2) +/* BE60C8 80242918 000417C2 */ srl $v0, $a0, 0x1f +/* BE60CC 8024291C 00822021 */ addu $a0, $a0, $v0 +/* BE60D0 80242920 00042043 */ sra $a0, $a0, 1 +/* BE60D4 80242924 0C00A67F */ jal rand_int +/* BE60D8 80242928 24840001 */ addiu $a0, $a0, 1 +/* BE60DC 8024292C 8E430008 */ lw $v1, 8($s2) +/* BE60E0 80242930 000327C2 */ srl $a0, $v1, 0x1f +/* BE60E4 80242934 00641821 */ addu $v1, $v1, $a0 +/* BE60E8 80242938 00031843 */ sra $v1, $v1, 1 +/* BE60EC 8024293C 00621821 */ addu $v1, $v1, $v0 +/* BE60F0 80242940 08090A6C */ j .L802429B0 +/* BE60F4 80242944 A603008E */ sh $v1, 0x8e($s0) +.L80242948: +/* BE60F8 80242948 24040002 */ addiu $a0, $zero, 2 +/* BE60FC 8024294C 0200282D */ daddu $a1, $s0, $zero +/* BE6100 80242950 0000302D */ daddu $a2, $zero, $zero +/* BE6104 80242954 860300A8 */ lh $v1, 0xa8($s0) +/* BE6108 80242958 3C013F80 */ lui $at, 0x3f80 +/* BE610C 8024295C 44810000 */ mtc1 $at, $f0 +/* BE6110 80242960 3C014000 */ lui $at, 0x4000 +/* BE6114 80242964 44811000 */ mtc1 $at, $f2 +/* BE6118 80242968 3C01C1A0 */ lui $at, 0xc1a0 +/* BE611C 8024296C 44812000 */ mtc1 $at, $f4 +/* BE6120 80242970 2402000C */ addiu $v0, $zero, 0xc +/* BE6124 80242974 AFA2001C */ sw $v0, 0x1c($sp) +/* BE6128 80242978 44833000 */ mtc1 $v1, $f6 +/* BE612C 8024297C 00000000 */ nop +/* BE6130 80242980 468031A0 */ cvt.s.w $f6, $f6 +/* BE6134 80242984 44073000 */ mfc1 $a3, $f6 +/* BE6138 80242988 27A20028 */ addiu $v0, $sp, 0x28 +/* BE613C 8024298C AFA20020 */ sw $v0, 0x20($sp) +/* BE6140 80242990 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE6144 80242994 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE6148 80242998 0C01BFA4 */ jal fx_emote +/* BE614C 8024299C E7A40018 */ swc1 $f4, 0x18($sp) +/* BE6150 802429A0 2402000F */ addiu $v0, $zero, 0xf +/* BE6154 802429A4 A602008E */ sh $v0, 0x8e($s0) +/* BE6158 802429A8 24020028 */ addiu $v0, $zero, 0x28 +.L802429AC: +/* BE615C 802429AC AE620070 */ sw $v0, 0x70($s3) +.L802429B0: +/* BE6160 802429B0 8FBF0040 */ lw $ra, 0x40($sp) +/* BE6164 802429B4 8FB3003C */ lw $s3, 0x3c($sp) +/* BE6168 802429B8 8FB20038 */ lw $s2, 0x38($sp) +/* BE616C 802429BC 8FB10034 */ lw $s1, 0x34($sp) +/* BE6170 802429C0 8FB00030 */ lw $s0, 0x30($sp) +/* BE6174 802429C4 03E00008 */ jr $ra +/* BE6178 802429C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_802429CC.s b/asm/nonmatchings/world/area_arn/arn_04/func_802429CC.s new file mode 100644 index 0000000000..2febe06794 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_802429CC.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429CC +/* BE617C 802429CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE6180 802429D0 AFB10014 */ sw $s1, 0x14($sp) +/* BE6184 802429D4 0080882D */ daddu $s1, $a0, $zero +/* BE6188 802429D8 AFBF0018 */ sw $ra, 0x18($sp) +/* BE618C 802429DC AFB00010 */ sw $s0, 0x10($sp) +/* BE6190 802429E0 8E300148 */ lw $s0, 0x148($s1) +/* BE6194 802429E4 0C00EABB */ jal get_npc_unsafe +/* BE6198 802429E8 86040008 */ lh $a0, 8($s0) +/* BE619C 802429EC 96030096 */ lhu $v1, 0x96($s0) +/* BE61A0 802429F0 A443008E */ sh $v1, 0x8e($v0) +/* BE61A4 802429F4 8E0300CC */ lw $v1, 0xcc($s0) +/* BE61A8 802429F8 8C630034 */ lw $v1, 0x34($v1) +/* BE61AC 802429FC AC430028 */ sw $v1, 0x28($v0) +/* BE61B0 80242A00 24020015 */ addiu $v0, $zero, 0x15 +/* BE61B4 80242A04 AE220070 */ sw $v0, 0x70($s1) +/* BE61B8 80242A08 8FBF0018 */ lw $ra, 0x18($sp) +/* BE61BC 80242A0C 8FB10014 */ lw $s1, 0x14($sp) +/* BE61C0 80242A10 8FB00010 */ lw $s0, 0x10($sp) +/* BE61C4 80242A14 03E00008 */ jr $ra +/* BE61C8 80242A18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242A1C_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242A1C_BE37B0.s new file mode 100644 index 0000000000..201384e368 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242A1C_BE37B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A1C_BE61CC +/* BE61CC 80242A1C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BE61D0 80242A20 AFB30024 */ sw $s3, 0x24($sp) +/* BE61D4 80242A24 0080982D */ daddu $s3, $a0, $zero +/* BE61D8 80242A28 AFBF002C */ sw $ra, 0x2c($sp) +/* BE61DC 80242A2C AFB40028 */ sw $s4, 0x28($sp) +/* BE61E0 80242A30 AFB20020 */ sw $s2, 0x20($sp) +/* BE61E4 80242A34 AFB1001C */ sw $s1, 0x1c($sp) +/* BE61E8 80242A38 AFB00018 */ sw $s0, 0x18($sp) +/* BE61EC 80242A3C 8E710148 */ lw $s1, 0x148($s3) +/* BE61F0 80242A40 86240008 */ lh $a0, 8($s1) +/* BE61F4 80242A44 0C00EABB */ jal get_npc_unsafe +/* BE61F8 80242A48 00A0A02D */ daddu $s4, $a1, $zero +/* BE61FC 80242A4C 0040802D */ daddu $s0, $v0, $zero +/* BE6200 80242A50 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* BE6204 80242A54 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* BE6208 80242A58 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE620C 80242A5C 8E420000 */ lw $v0, ($s2) +/* BE6210 80242A60 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE6214 80242A64 8C460028 */ lw $a2, 0x28($v0) +/* BE6218 80242A68 0C00A720 */ jal atan2 +/* BE621C 80242A6C 8C470030 */ lw $a3, 0x30($v0) +/* BE6220 80242A70 3C025555 */ lui $v0, 0x5555 +/* BE6224 80242A74 9603008E */ lhu $v1, 0x8e($s0) +/* BE6228 80242A78 34425556 */ ori $v0, $v0, 0x5556 +/* BE622C 80242A7C 00031C00 */ sll $v1, $v1, 0x10 +/* BE6230 80242A80 00032403 */ sra $a0, $v1, 0x10 +/* BE6234 80242A84 00820018 */ mult $a0, $v0 +/* BE6238 80242A88 00031FC3 */ sra $v1, $v1, 0x1f +/* BE623C 80242A8C 00004010 */ mfhi $t0 +/* BE6240 80242A90 01031823 */ subu $v1, $t0, $v1 +/* BE6244 80242A94 00031040 */ sll $v0, $v1, 1 +/* BE6248 80242A98 00431021 */ addu $v0, $v0, $v1 +/* BE624C 80242A9C 00822023 */ subu $a0, $a0, $v0 +/* BE6250 80242AA0 00042400 */ sll $a0, $a0, 0x10 +/* BE6254 80242AA4 1480000C */ bnez $a0, .L80242AD8 +/* BE6258 80242AA8 E600000C */ swc1 $f0, 0xc($s0) +/* BE625C 80242AAC C6020040 */ lwc1 $f2, 0x40($s0) +/* BE6260 80242AB0 3C014000 */ lui $at, 0x4000 +/* BE6264 80242AB4 44810000 */ mtc1 $at, $f0 +/* BE6268 80242AB8 AFA00010 */ sw $zero, 0x10($sp) +/* BE626C 80242ABC AFA00014 */ sw $zero, 0x14($sp) +/* BE6270 80242AC0 46001080 */ add.s $f2, $f2, $f0 +/* BE6274 80242AC4 8E06003C */ lw $a2, 0x3c($s0) +/* BE6278 80242AC8 8E050038 */ lw $a1, 0x38($s0) +/* BE627C 80242ACC 44071000 */ mfc1 $a3, $f2 +/* BE6280 80242AD0 0C01BECC */ jal fx_walk_normal +/* BE6284 80242AD4 24040002 */ addiu $a0, $zero, 2 +.L80242AD8: +/* BE6288 80242AD8 9602008E */ lhu $v0, 0x8e($s0) +/* BE628C 80242ADC 2442FFFF */ addiu $v0, $v0, -1 +/* BE6290 80242AE0 A602008E */ sh $v0, 0x8e($s0) +/* BE6294 80242AE4 00021400 */ sll $v0, $v0, 0x10 +/* BE6298 80242AE8 1C40002C */ bgtz $v0, .L80242B9C +/* BE629C 80242AEC 00000000 */ nop +/* BE62A0 80242AF0 C6000038 */ lwc1 $f0, 0x38($s0) +/* BE62A4 80242AF4 4600010D */ trunc.w.s $f4, $f0 +/* BE62A8 80242AF8 44022000 */ mfc1 $v0, $f4 +/* BE62AC 80242AFC 00000000 */ nop +/* BE62B0 80242B00 A6220010 */ sh $v0, 0x10($s1) +/* BE62B4 80242B04 C600003C */ lwc1 $f0, 0x3c($s0) +/* BE62B8 80242B08 4600010D */ trunc.w.s $f4, $f0 +/* BE62BC 80242B0C 44022000 */ mfc1 $v0, $f4 +/* BE62C0 80242B10 00000000 */ nop +/* BE62C4 80242B14 A6220012 */ sh $v0, 0x12($s1) +/* BE62C8 80242B18 C6000040 */ lwc1 $f0, 0x40($s0) +/* BE62CC 80242B1C 24020001 */ addiu $v0, $zero, 1 +/* BE62D0 80242B20 A2220007 */ sb $v0, 7($s1) +/* BE62D4 80242B24 4600010D */ trunc.w.s $f4, $f0 +/* BE62D8 80242B28 44022000 */ mfc1 $v0, $f4 +/* BE62DC 80242B2C 00000000 */ nop +/* BE62E0 80242B30 A6220014 */ sh $v0, 0x14($s1) +/* BE62E4 80242B34 C6800018 */ lwc1 $f0, 0x18($s4) +/* BE62E8 80242B38 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE62EC 80242B3C C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE62F0 80242B40 8E420000 */ lw $v0, ($s2) +/* BE62F4 80242B44 E6000018 */ swc1 $f0, 0x18($s0) +/* BE62F8 80242B48 8C460028 */ lw $a2, 0x28($v0) +/* BE62FC 80242B4C 0C00A7B5 */ jal dist2D +/* BE6300 80242B50 8C470030 */ lw $a3, 0x30($v0) +/* BE6304 80242B54 C6020018 */ lwc1 $f2, 0x18($s0) +/* BE6308 80242B58 46020003 */ div.s $f0, $f0, $f2 +/* BE630C 80242B5C 3C018024 */ lui $at, 0x8024 +/* BE6310 80242B60 D4224340 */ ldc1 $f2, 0x4340($at) +/* BE6314 80242B64 46000021 */ cvt.d.s $f0, $f0 +/* BE6318 80242B68 46220000 */ add.d $f0, $f0, $f2 +/* BE631C 80242B6C 4620010D */ trunc.w.d $f4, $f0 +/* BE6320 80242B70 44022000 */ mfc1 $v0, $f4 +/* BE6324 80242B74 00000000 */ nop +/* BE6328 80242B78 A602008E */ sh $v0, 0x8e($s0) +/* BE632C 80242B7C 00021400 */ sll $v0, $v0, 0x10 +/* BE6330 80242B80 00021403 */ sra $v0, $v0, 0x10 +/* BE6334 80242B84 2842000F */ slti $v0, $v0, 0xf +/* BE6338 80242B88 10400002 */ beqz $v0, .L80242B94 +/* BE633C 80242B8C 2402000F */ addiu $v0, $zero, 0xf +/* BE6340 80242B90 A602008E */ sh $v0, 0x8e($s0) +.L80242B94: +/* BE6344 80242B94 24020016 */ addiu $v0, $zero, 0x16 +/* BE6348 80242B98 AE620070 */ sw $v0, 0x70($s3) +.L80242B9C: +/* BE634C 80242B9C 8FBF002C */ lw $ra, 0x2c($sp) +/* BE6350 80242BA0 8FB40028 */ lw $s4, 0x28($sp) +/* BE6354 80242BA4 8FB30024 */ lw $s3, 0x24($sp) +/* BE6358 80242BA8 8FB20020 */ lw $s2, 0x20($sp) +/* BE635C 80242BAC 8FB1001C */ lw $s1, 0x1c($sp) +/* BE6360 80242BB0 8FB00018 */ lw $s0, 0x18($sp) +/* BE6364 80242BB4 03E00008 */ jr $ra +/* BE6368 80242BB8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242BBC.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242BBC.s new file mode 100644 index 0000000000..30cbb5fbec --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242BBC.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BBC +/* BE636C 80242BBC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE6370 80242BC0 AFB3003C */ sw $s3, 0x3c($sp) +/* BE6374 80242BC4 0080982D */ daddu $s3, $a0, $zero +/* BE6378 80242BC8 AFBF0040 */ sw $ra, 0x40($sp) +/* BE637C 80242BCC AFB20038 */ sw $s2, 0x38($sp) +/* BE6380 80242BD0 AFB10034 */ sw $s1, 0x34($sp) +/* BE6384 80242BD4 AFB00030 */ sw $s0, 0x30($sp) +/* BE6388 80242BD8 8E720148 */ lw $s2, 0x148($s3) +/* BE638C 80242BDC 0C00EABB */ jal get_npc_unsafe +/* BE6390 80242BE0 86440008 */ lh $a0, 8($s2) +/* BE6394 80242BE4 0040802D */ daddu $s0, $v0, $zero +/* BE6398 80242BE8 0200202D */ daddu $a0, $s0, $zero +/* BE639C 80242BEC 0C00F598 */ jal func_8003D660 +/* BE63A0 80242BF0 24050001 */ addiu $a1, $zero, 1 +/* BE63A4 80242BF4 8E050018 */ lw $a1, 0x18($s0) +/* BE63A8 80242BF8 8E06000C */ lw $a2, 0xc($s0) +/* BE63AC 80242BFC 0C00EA95 */ jal npc_move_heading +/* BE63B0 80242C00 0200202D */ daddu $a0, $s0, $zero +/* BE63B4 80242C04 8E4300D0 */ lw $v1, 0xd0($s2) +/* BE63B8 80242C08 C6000040 */ lwc1 $f0, 0x40($s0) +/* BE63BC 80242C0C C462001C */ lwc1 $f2, 0x1c($v1) +/* BE63C0 80242C10 468010A0 */ cvt.s.w $f2, $f2 +/* BE63C4 80242C14 C4640024 */ lwc1 $f4, 0x24($v1) +/* BE63C8 80242C18 46802120 */ cvt.s.w $f4, $f4 +/* BE63CC 80242C1C E7A00010 */ swc1 $f0, 0x10($sp) +/* BE63D0 80242C20 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE63D4 80242C24 44051000 */ mfc1 $a1, $f2 +/* BE63D8 80242C28 C4400028 */ lwc1 $f0, 0x28($v0) +/* BE63DC 80242C2C 46800020 */ cvt.s.w $f0, $f0 +/* BE63E0 80242C30 E7A00014 */ swc1 $f0, 0x14($sp) +/* BE63E4 80242C34 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE63E8 80242C38 44062000 */ mfc1 $a2, $f4 +/* BE63EC 80242C3C C440002C */ lwc1 $f0, 0x2c($v0) +/* BE63F0 80242C40 46800020 */ cvt.s.w $f0, $f0 +/* BE63F4 80242C44 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE63F8 80242C48 8C640030 */ lw $a0, 0x30($v1) +/* BE63FC 80242C4C 0C0123F5 */ jal is_point_within_region +/* BE6400 80242C50 8E070038 */ lw $a3, 0x38($s0) +/* BE6404 80242C54 C6000038 */ lwc1 $f0, 0x38($s0) +/* BE6408 80242C58 C602003C */ lwc1 $f2, 0x3c($s0) +/* BE640C 80242C5C C6040040 */ lwc1 $f4, 0x40($s0) +/* BE6410 80242C60 3C013F80 */ lui $at, 0x3f80 +/* BE6414 80242C64 44813000 */ mtc1 $at, $f6 +/* BE6418 80242C68 E7A00020 */ swc1 $f0, 0x20($sp) +/* BE641C 80242C6C E7A20024 */ swc1 $f2, 0x24($sp) +/* BE6420 80242C70 E7A40028 */ swc1 $f4, 0x28($sp) +/* BE6424 80242C74 E7A60010 */ swc1 $f6, 0x10($sp) +/* BE6428 80242C78 C600000C */ lwc1 $f0, 0xc($s0) +/* BE642C 80242C7C 0002882B */ sltu $s1, $zero, $v0 +/* BE6430 80242C80 E7A00014 */ swc1 $f0, 0x14($sp) +/* BE6434 80242C84 860200A8 */ lh $v0, 0xa8($s0) +/* BE6438 80242C88 27A50020 */ addiu $a1, $sp, 0x20 +/* BE643C 80242C8C 44820000 */ mtc1 $v0, $f0 +/* BE6440 80242C90 00000000 */ nop +/* BE6444 80242C94 46800020 */ cvt.s.w $f0, $f0 +/* BE6448 80242C98 E7A00018 */ swc1 $f0, 0x18($sp) +/* BE644C 80242C9C 860200A6 */ lh $v0, 0xa6($s0) +/* BE6450 80242CA0 27A60024 */ addiu $a2, $sp, 0x24 +/* BE6454 80242CA4 44820000 */ mtc1 $v0, $f0 +/* BE6458 80242CA8 00000000 */ nop +/* BE645C 80242CAC 46800020 */ cvt.s.w $f0, $f0 +/* BE6460 80242CB0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BE6464 80242CB4 8E040080 */ lw $a0, 0x80($s0) +/* BE6468 80242CB8 0C037711 */ jal func_800DDC44 +/* BE646C 80242CBC 27A70028 */ addiu $a3, $sp, 0x28 +/* BE6470 80242CC0 54400001 */ bnel $v0, $zero, .L80242CC8 +/* BE6474 80242CC4 24110001 */ addiu $s1, $zero, 1 +.L80242CC8: +/* BE6478 80242CC8 9602008E */ lhu $v0, 0x8e($s0) +/* BE647C 80242CCC 2442FFFF */ addiu $v0, $v0, -1 +/* BE6480 80242CD0 A602008E */ sh $v0, 0x8e($s0) +/* BE6484 80242CD4 00021400 */ sll $v0, $v0, 0x10 +/* BE6488 80242CD8 58400001 */ blezl $v0, .L80242CE0 +/* BE648C 80242CDC 24110001 */ addiu $s1, $zero, 1 +.L80242CE0: +/* BE6490 80242CE0 12200003 */ beqz $s1, .L80242CF0 +/* BE6494 80242CE4 24020004 */ addiu $v0, $zero, 4 +/* BE6498 80242CE8 AE620070 */ sw $v0, 0x70($s3) +/* BE649C 80242CEC A2400007 */ sb $zero, 7($s2) +.L80242CF0: +/* BE64A0 80242CF0 8FBF0040 */ lw $ra, 0x40($sp) +/* BE64A4 80242CF4 8FB3003C */ lw $s3, 0x3c($sp) +/* BE64A8 80242CF8 8FB20038 */ lw $s2, 0x38($sp) +/* BE64AC 80242CFC 8FB10034 */ lw $s1, 0x34($sp) +/* BE64B0 80242D00 8FB00030 */ lw $s0, 0x30($sp) +/* BE64B4 80242D04 03E00008 */ jr $ra +/* BE64B8 80242D08 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242D0C.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242D0C.s new file mode 100644 index 0000000000..13ec3960af --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242D0C.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D0C +/* BE64BC 80242D0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE64C0 80242D10 AFB20018 */ sw $s2, 0x18($sp) +/* BE64C4 80242D14 0080902D */ daddu $s2, $a0, $zero +/* BE64C8 80242D18 AFBF001C */ sw $ra, 0x1c($sp) +/* BE64CC 80242D1C AFB10014 */ sw $s1, 0x14($sp) +/* BE64D0 80242D20 AFB00010 */ sw $s0, 0x10($sp) +/* BE64D4 80242D24 8E500148 */ lw $s0, 0x148($s2) +/* BE64D8 80242D28 86040008 */ lh $a0, 8($s0) +/* BE64DC 80242D2C 0C00EABB */ jal get_npc_unsafe +/* BE64E0 80242D30 00A0882D */ daddu $s1, $a1, $zero +/* BE64E4 80242D34 0040182D */ daddu $v1, $v0, $zero +/* BE64E8 80242D38 9462008E */ lhu $v0, 0x8e($v1) +/* BE64EC 80242D3C 2442FFFF */ addiu $v0, $v0, -1 +/* BE64F0 80242D40 A462008E */ sh $v0, 0x8e($v1) +/* BE64F4 80242D44 00021400 */ sll $v0, $v0, 0x10 +/* BE64F8 80242D48 1C400015 */ bgtz $v0, .L80242DA0 +/* BE64FC 80242D4C 00000000 */ nop +/* BE6500 80242D50 8E0200CC */ lw $v0, 0xcc($s0) +/* BE6504 80242D54 8C420004 */ lw $v0, 4($v0) +/* BE6508 80242D58 AC620028 */ sw $v0, 0x28($v1) +/* BE650C 80242D5C 8E0200D0 */ lw $v0, 0xd0($s0) +/* BE6510 80242D60 8C420014 */ lw $v0, 0x14($v0) +/* BE6514 80242D64 04410004 */ bgez $v0, .L80242D78 +/* BE6518 80242D68 00000000 */ nop +/* BE651C 80242D6C C6200000 */ lwc1 $f0, ($s1) +/* BE6520 80242D70 08090B66 */ j .L80242D98 +/* BE6524 80242D74 E4600018 */ swc1 $f0, 0x18($v1) +.L80242D78: +/* BE6528 80242D78 3C018024 */ lui $at, 0x8024 +/* BE652C 80242D7C D4224348 */ ldc1 $f2, 0x4348($at) +/* BE6530 80242D80 44820000 */ mtc1 $v0, $f0 +/* BE6534 80242D84 00000000 */ nop +/* BE6538 80242D88 46800021 */ cvt.d.w $f0, $f0 +/* BE653C 80242D8C 46220003 */ div.d $f0, $f0, $f2 +/* BE6540 80242D90 46200020 */ cvt.s.d $f0, $f0 +/* BE6544 80242D94 E4600018 */ swc1 $f0, 0x18($v1) +.L80242D98: +/* BE6548 80242D98 24020029 */ addiu $v0, $zero, 0x29 +/* BE654C 80242D9C AE420070 */ sw $v0, 0x70($s2) +.L80242DA0: +/* BE6550 80242DA0 8FBF001C */ lw $ra, 0x1c($sp) +/* BE6554 80242DA4 8FB20018 */ lw $s2, 0x18($sp) +/* BE6558 80242DA8 8FB10014 */ lw $s1, 0x14($sp) +/* BE655C 80242DAC 8FB00010 */ lw $s0, 0x10($sp) +/* BE6560 80242DB0 03E00008 */ jr $ra +/* BE6564 80242DB4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242DB8.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242DB8.s new file mode 100644 index 0000000000..f16935c258 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242DB8.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DB8 +/* BE6568 80242DB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BE656C 80242DBC AFB30024 */ sw $s3, 0x24($sp) +/* BE6570 80242DC0 0080982D */ daddu $s3, $a0, $zero +/* BE6574 80242DC4 AFBF0028 */ sw $ra, 0x28($sp) +/* BE6578 80242DC8 AFB20020 */ sw $s2, 0x20($sp) +/* BE657C 80242DCC AFB1001C */ sw $s1, 0x1c($sp) +/* BE6580 80242DD0 AFB00018 */ sw $s0, 0x18($sp) +/* BE6584 80242DD4 8E720148 */ lw $s2, 0x148($s3) +/* BE6588 80242DD8 00A0882D */ daddu $s1, $a1, $zero +/* BE658C 80242DDC 86440008 */ lh $a0, 8($s2) +/* BE6590 80242DE0 0C00EABB */ jal get_npc_unsafe +/* BE6594 80242DE4 00C0802D */ daddu $s0, $a2, $zero +/* BE6598 80242DE8 0200202D */ daddu $a0, $s0, $zero +/* BE659C 80242DEC 0240282D */ daddu $a1, $s2, $zero +/* BE65A0 80242DF0 AFA00010 */ sw $zero, 0x10($sp) +/* BE65A4 80242DF4 8E260024 */ lw $a2, 0x24($s1) +/* BE65A8 80242DF8 8E270028 */ lw $a3, 0x28($s1) +/* BE65AC 80242DFC 0C01242D */ jal func_800490B4 +/* BE65B0 80242E00 0040802D */ daddu $s0, $v0, $zero +/* BE65B4 80242E04 1040000C */ beqz $v0, .L80242E38 +/* BE65B8 80242E08 00000000 */ nop +/* BE65BC 80242E0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE65C0 80242E10 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE65C4 80242E14 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE65C8 80242E18 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE65CC 80242E1C 8C460028 */ lw $a2, 0x28($v0) +/* BE65D0 80242E20 0C00A720 */ jal atan2 +/* BE65D4 80242E24 8C470030 */ lw $a3, 0x30($v0) +/* BE65D8 80242E28 2402000C */ addiu $v0, $zero, 0xc +/* BE65DC 80242E2C E600000C */ swc1 $f0, 0xc($s0) +/* BE65E0 80242E30 08090BB5 */ j .L80242ED4 +/* BE65E4 80242E34 AE620070 */ sw $v0, 0x70($s3) +.L80242E38: +/* BE65E8 80242E38 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE65EC 80242E3C 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE65F0 80242E40 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE65F4 80242E44 C4440000 */ lwc1 $f4, ($v0) +/* BE65F8 80242E48 46802120 */ cvt.s.w $f4, $f4 +/* BE65FC 80242E4C 44062000 */ mfc1 $a2, $f4 +/* BE6600 80242E50 C4440008 */ lwc1 $f4, 8($v0) +/* BE6604 80242E54 46802120 */ cvt.s.w $f4, $f4 +/* BE6608 80242E58 44072000 */ mfc1 $a3, $f4 +/* BE660C 80242E5C 0C00A7B5 */ jal dist2D +/* BE6610 80242E60 00000000 */ nop +/* BE6614 80242E64 C6020018 */ lwc1 $f2, 0x18($s0) +/* BE6618 80242E68 4602003E */ c.le.s $f0, $f2 +/* BE661C 80242E6C 00000000 */ nop +/* BE6620 80242E70 45000005 */ bc1f .L80242E88 +/* BE6624 80242E74 2402000A */ addiu $v0, $zero, 0xa +/* BE6628 80242E78 A602008E */ sh $v0, 0x8e($s0) +/* BE662C 80242E7C 24020032 */ addiu $v0, $zero, 0x32 +/* BE6630 80242E80 08090BB5 */ j .L80242ED4 +/* BE6634 80242E84 AE620070 */ sw $v0, 0x70($s3) +.L80242E88: +/* BE6638 80242E88 8602008C */ lh $v0, 0x8c($s0) +/* BE663C 80242E8C 14400011 */ bnez $v0, .L80242ED4 +/* BE6640 80242E90 00000000 */ nop +/* BE6644 80242E94 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE6648 80242E98 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE664C 80242E9C C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE6650 80242EA0 C4440000 */ lwc1 $f4, ($v0) +/* BE6654 80242EA4 46802120 */ cvt.s.w $f4, $f4 +/* BE6658 80242EA8 44062000 */ mfc1 $a2, $f4 +/* BE665C 80242EAC C4440008 */ lwc1 $f4, 8($v0) +/* BE6660 80242EB0 46802120 */ cvt.s.w $f4, $f4 +/* BE6664 80242EB4 44072000 */ mfc1 $a3, $f4 +/* BE6668 80242EB8 0C00A720 */ jal atan2 +/* BE666C 80242EBC 00000000 */ nop +/* BE6670 80242EC0 8E050018 */ lw $a1, 0x18($s0) +/* BE6674 80242EC4 44060000 */ mfc1 $a2, $f0 +/* BE6678 80242EC8 0200202D */ daddu $a0, $s0, $zero +/* BE667C 80242ECC 0C00EA95 */ jal npc_move_heading +/* BE6680 80242ED0 AC86000C */ sw $a2, 0xc($a0) +.L80242ED4: +/* BE6684 80242ED4 8FBF0028 */ lw $ra, 0x28($sp) +/* BE6688 80242ED8 8FB30024 */ lw $s3, 0x24($sp) +/* BE668C 80242EDC 8FB20020 */ lw $s2, 0x20($sp) +/* BE6690 80242EE0 8FB1001C */ lw $s1, 0x1c($sp) +/* BE6694 80242EE4 8FB00018 */ lw $s0, 0x18($sp) +/* BE6698 80242EE8 03E00008 */ jr $ra +/* BE669C 80242EEC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242EF0_BE37B0.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242EF0_BE37B0.s new file mode 100644 index 0000000000..d41132581b --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242EF0_BE37B0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EF0_BE66A0 +/* BE66A0 80242EF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE66A4 80242EF4 AFB10014 */ sw $s1, 0x14($sp) +/* BE66A8 80242EF8 0080882D */ daddu $s1, $a0, $zero +/* BE66AC 80242EFC AFBF0018 */ sw $ra, 0x18($sp) +/* BE66B0 80242F00 AFB00010 */ sw $s0, 0x10($sp) +/* BE66B4 80242F04 8E300148 */ lw $s0, 0x148($s1) +/* BE66B8 80242F08 0C00EABB */ jal get_npc_unsafe +/* BE66BC 80242F0C 86040008 */ lh $a0, 8($s0) +/* BE66C0 80242F10 0040202D */ daddu $a0, $v0, $zero +/* BE66C4 80242F14 8482008E */ lh $v0, 0x8e($a0) +/* BE66C8 80242F18 9483008E */ lhu $v1, 0x8e($a0) +/* BE66CC 80242F1C 18400002 */ blez $v0, .L80242F28 +/* BE66D0 80242F20 2462FFFF */ addiu $v0, $v1, -1 +/* BE66D4 80242F24 A482008E */ sh $v0, 0x8e($a0) +.L80242F28: +/* BE66D8 80242F28 8482008C */ lh $v0, 0x8c($a0) +/* BE66DC 80242F2C 1440000A */ bnez $v0, .L80242F58 +/* BE66E0 80242F30 00000000 */ nop +/* BE66E4 80242F34 8482008E */ lh $v0, 0x8e($a0) +/* BE66E8 80242F38 1C400007 */ bgtz $v0, .L80242F58 +/* BE66EC 80242F3C 24020008 */ addiu $v0, $zero, 8 +/* BE66F0 80242F40 A482008E */ sh $v0, 0x8e($a0) +/* BE66F4 80242F44 8E0200CC */ lw $v0, 0xcc($s0) +/* BE66F8 80242F48 8C42002C */ lw $v0, 0x2c($v0) +/* BE66FC 80242F4C AC820028 */ sw $v0, 0x28($a0) +/* BE6700 80242F50 24020033 */ addiu $v0, $zero, 0x33 +/* BE6704 80242F54 AE220070 */ sw $v0, 0x70($s1) +.L80242F58: +/* BE6708 80242F58 8FBF0018 */ lw $ra, 0x18($sp) +/* BE670C 80242F5C 8FB10014 */ lw $s1, 0x14($sp) +/* BE6710 80242F60 8FB00010 */ lw $s0, 0x10($sp) +/* BE6714 80242F64 03E00008 */ jr $ra +/* BE6718 80242F68 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242F6C.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242F6C.s new file mode 100644 index 0000000000..6a5e3cd067 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242F6C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F6C +/* BE671C 80242F6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE6720 80242F70 AFB10014 */ sw $s1, 0x14($sp) +/* BE6724 80242F74 0080882D */ daddu $s1, $a0, $zero +/* BE6728 80242F78 AFBF0018 */ sw $ra, 0x18($sp) +/* BE672C 80242F7C AFB00010 */ sw $s0, 0x10($sp) +/* BE6730 80242F80 8E300148 */ lw $s0, 0x148($s1) +/* BE6734 80242F84 0C00EABB */ jal get_npc_unsafe +/* BE6738 80242F88 86040008 */ lh $a0, 8($s0) +/* BE673C 80242F8C 0040182D */ daddu $v1, $v0, $zero +/* BE6740 80242F90 9462008E */ lhu $v0, 0x8e($v1) +/* BE6744 80242F94 2442FFFF */ addiu $v0, $v0, -1 +/* BE6748 80242F98 A462008E */ sh $v0, 0x8e($v1) +/* BE674C 80242F9C 00021400 */ sll $v0, $v0, 0x10 +/* BE6750 80242FA0 1C400007 */ bgtz $v0, .L80242FC0 +/* BE6754 80242FA4 24020008 */ addiu $v0, $zero, 8 +/* BE6758 80242FA8 A462008E */ sh $v0, 0x8e($v1) +/* BE675C 80242FAC 8E0200CC */ lw $v0, 0xcc($s0) +/* BE6760 80242FB0 8C420038 */ lw $v0, 0x38($v0) +/* BE6764 80242FB4 AC620028 */ sw $v0, 0x28($v1) +/* BE6768 80242FB8 24020034 */ addiu $v0, $zero, 0x34 +/* BE676C 80242FBC AE220070 */ sw $v0, 0x70($s1) +.L80242FC0: +/* BE6770 80242FC0 8FBF0018 */ lw $ra, 0x18($sp) +/* BE6774 80242FC4 8FB10014 */ lw $s1, 0x14($sp) +/* BE6778 80242FC8 8FB00010 */ lw $s0, 0x10($sp) +/* BE677C 80242FCC 03E00008 */ jr $ra +/* BE6780 80242FD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80242FD4.s b/asm/nonmatchings/world/area_arn/arn_04/func_80242FD4.s new file mode 100644 index 0000000000..379130bd00 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80242FD4.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FD4 +/* BE6784 80242FD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE6788 80242FD8 AFB00010 */ sw $s0, 0x10($sp) +/* BE678C 80242FDC 0080802D */ daddu $s0, $a0, $zero +/* BE6790 80242FE0 AFBF0014 */ sw $ra, 0x14($sp) +/* BE6794 80242FE4 8E020148 */ lw $v0, 0x148($s0) +/* BE6798 80242FE8 0C00EABB */ jal get_npc_unsafe +/* BE679C 80242FEC 84440008 */ lh $a0, 8($v0) +/* BE67A0 80242FF0 9443008E */ lhu $v1, 0x8e($v0) +/* BE67A4 80242FF4 2463FFFF */ addiu $v1, $v1, -1 +/* BE67A8 80242FF8 A443008E */ sh $v1, 0x8e($v0) +/* BE67AC 80242FFC 00031C00 */ sll $v1, $v1, 0x10 +/* BE67B0 80243000 58600001 */ blezl $v1, .L80243008 +/* BE67B4 80243004 AE000070 */ sw $zero, 0x70($s0) +.L80243008: +/* BE67B8 80243008 8FBF0014 */ lw $ra, 0x14($sp) +/* BE67BC 8024300C 8FB00010 */ lw $s0, 0x10($sp) +/* BE67C0 80243010 03E00008 */ jr $ra +/* BE67C4 80243014 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_04/func_80243018.s b/asm/nonmatchings/world/area_arn/arn_04/func_80243018.s new file mode 100644 index 0000000000..d593ffe162 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_04/func_80243018.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243018 +/* BE67C8 80243018 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BE67CC 8024301C AFB3003C */ sw $s3, 0x3c($sp) +/* BE67D0 80243020 0080982D */ daddu $s3, $a0, $zero +/* BE67D4 80243024 AFBF0048 */ sw $ra, 0x48($sp) +/* BE67D8 80243028 AFB50044 */ sw $s5, 0x44($sp) +/* BE67DC 8024302C AFB40040 */ sw $s4, 0x40($sp) +/* BE67E0 80243030 AFB20038 */ sw $s2, 0x38($sp) +/* BE67E4 80243034 AFB10034 */ sw $s1, 0x34($sp) +/* BE67E8 80243038 AFB00030 */ sw $s0, 0x30($sp) +/* BE67EC 8024303C 8E720148 */ lw $s2, 0x148($s3) +/* BE67F0 80243040 86440008 */ lh $a0, 8($s2) +/* BE67F4 80243044 0C00EABB */ jal get_npc_unsafe +/* BE67F8 80243048 00A0882D */ daddu $s1, $a1, $zero +/* BE67FC 8024304C 0260202D */ daddu $a0, $s3, $zero +/* BE6800 80243050 8E70000C */ lw $s0, 0xc($s3) +/* BE6804 80243054 0040A82D */ daddu $s5, $v0, $zero +/* BE6808 80243058 8E050000 */ lw $a1, ($s0) +/* BE680C 8024305C 0C0B1EAF */ jal get_variable +/* BE6810 80243060 26100004 */ addiu $s0, $s0, 4 +/* BE6814 80243064 0260202D */ daddu $a0, $s3, $zero +/* BE6818 80243068 8E050000 */ lw $a1, ($s0) +/* BE681C 8024306C 0C0B1EAF */ jal get_variable +/* BE6820 80243070 0040A02D */ daddu $s4, $v0, $zero +/* BE6824 80243074 AE420094 */ sw $v0, 0x94($s2) +/* BE6828 80243078 AFA00010 */ sw $zero, 0x10($sp) +/* BE682C 8024307C 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE6830 80243080 8C420030 */ lw $v0, 0x30($v0) +/* BE6834 80243084 AFA20014 */ sw $v0, 0x14($sp) +/* BE6838 80243088 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE683C 8024308C 8C42001C */ lw $v0, 0x1c($v0) +/* BE6840 80243090 AFA20018 */ sw $v0, 0x18($sp) +/* BE6844 80243094 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE6848 80243098 8C420024 */ lw $v0, 0x24($v0) +/* BE684C 8024309C AFA2001C */ sw $v0, 0x1c($sp) +/* BE6850 802430A0 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE6854 802430A4 8C420028 */ lw $v0, 0x28($v0) +/* BE6858 802430A8 AFA20020 */ sw $v0, 0x20($sp) +/* BE685C 802430AC 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE6860 802430B0 3C014220 */ lui $at, 0x4220 +/* BE6864 802430B4 44810000 */ mtc1 $at, $f0 +/* BE6868 802430B8 8C42002C */ lw $v0, 0x2c($v0) +/* BE686C 802430BC 27B00010 */ addiu $s0, $sp, 0x10 +/* BE6870 802430C0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE6874 802430C4 A7A0002C */ sh $zero, 0x2c($sp) +/* BE6878 802430C8 12200012 */ beqz $s1, .L80243114 +/* BE687C 802430CC AFA20024 */ sw $v0, 0x24($sp) +/* BE6880 802430D0 AE600070 */ sw $zero, 0x70($s3) +/* BE6884 802430D4 8EA30000 */ lw $v1, ($s5) +/* BE6888 802430D8 2402F7FF */ addiu $v0, $zero, -0x801 +/* BE688C 802430DC A6A0008E */ sh $zero, 0x8e($s5) +/* BE6890 802430E0 00621824 */ and $v1, $v1, $v0 +/* BE6894 802430E4 AEA30000 */ sw $v1, ($s5) +/* BE6898 802430E8 8E4200D0 */ lw $v0, 0xd0($s2) +/* BE689C 802430EC 8C420034 */ lw $v0, 0x34($v0) +/* BE68A0 802430F0 54400005 */ bnel $v0, $zero, .L80243108 +/* BE68A4 802430F4 2402FDFF */ addiu $v0, $zero, -0x201 +/* BE68A8 802430F8 34620200 */ ori $v0, $v1, 0x200 +/* BE68AC 802430FC 2403FFF7 */ addiu $v1, $zero, -9 +/* BE68B0 80243100 08090C44 */ j .L80243110 +/* BE68B4 80243104 00431024 */ and $v0, $v0, $v1 +.L80243108: +/* BE68B8 80243108 00621024 */ and $v0, $v1, $v0 +/* BE68BC 8024310C 34420008 */ ori $v0, $v0, 8 +.L80243110: +/* BE68C0 80243110 AEA20000 */ sw $v0, ($s5) +.L80243114: +/* BE68C4 80243114 8E4300B0 */ lw $v1, 0xb0($s2) +/* BE68C8 80243118 30620004 */ andi $v0, $v1, 4 +/* BE68CC 8024311C 10400007 */ beqz $v0, .L8024313C +/* BE68D0 80243120 00000000 */ nop +/* BE68D4 80243124 824200B4 */ lb $v0, 0xb4($s2) +/* BE68D8 80243128 14400086 */ bnez $v0, .L80243344 +/* BE68DC 8024312C 0000102D */ daddu $v0, $zero, $zero +/* BE68E0 80243130 2402FFFB */ addiu $v0, $zero, -5 +/* BE68E4 80243134 00621024 */ and $v0, $v1, $v0 +/* BE68E8 80243138 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024313C: +/* BE68EC 8024313C 8E620070 */ lw $v0, 0x70($s3) +/* BE68F0 80243140 2442FFF4 */ addiu $v0, $v0, -0xc +/* BE68F4 80243144 2C420003 */ sltiu $v0, $v0, 3 +/* BE68F8 80243148 10400007 */ beqz $v0, .L80243168 +/* BE68FC 8024314C 0260202D */ daddu $a0, $s3, $zero +/* BE6900 80243150 0280282D */ daddu $a1, $s4, $zero +/* BE6904 80243154 0C0908E2 */ jal func_80242388 +/* BE6908 80243158 0200302D */ daddu $a2, $s0, $zero +/* BE690C 8024315C 10400002 */ beqz $v0, .L80243168 +/* BE6910 80243160 24020014 */ addiu $v0, $zero, 0x14 +/* BE6914 80243164 AE620070 */ sw $v0, 0x70($s3) +.L80243168: +/* BE6918 80243168 8E630070 */ lw $v1, 0x70($s3) +/* BE691C 8024316C 2C620035 */ sltiu $v0, $v1, 0x35 +/* BE6920 80243170 10400073 */ beqz $v0, .L80243340 +/* BE6924 80243174 00031080 */ sll $v0, $v1, 2 +/* BE6928 80243178 3C018024 */ lui $at, 0x8024 +/* BE692C 8024317C 00220821 */ addu $at, $at, $v0 +/* BE6930 80243180 8C224350 */ lw $v0, 0x4350($at) +/* BE6934 80243184 00400008 */ jr $v0 +/* BE6938 80243188 00000000 */ nop +/* BE693C 8024318C 0260202D */ daddu $a0, $s3, $zero +/* BE6940 80243190 0280282D */ daddu $a1, $s4, $zero +/* BE6944 80243194 0C09093A */ jal func_802424E8 +/* BE6948 80243198 0200302D */ daddu $a2, $s0, $zero +/* BE694C 8024319C 0260202D */ daddu $a0, $s3, $zero +/* BE6950 802431A0 0280282D */ daddu $a1, $s4, $zero +/* BE6954 802431A4 0C090957 */ jal func_8024255C +/* BE6958 802431A8 0200302D */ daddu $a2, $s0, $zero +/* BE695C 802431AC 8E630070 */ lw $v1, 0x70($s3) +/* BE6960 802431B0 24020002 */ addiu $v0, $zero, 2 +/* BE6964 802431B4 14620063 */ bne $v1, $v0, .L80243344 +/* BE6968 802431B8 0000102D */ daddu $v0, $zero, $zero +/* BE696C 802431BC 0260202D */ daddu $a0, $s3, $zero +/* BE6970 802431C0 0280282D */ daddu $a1, $s4, $zero +/* BE6974 802431C4 0C0909A3 */ jal func_8024268C +/* BE6978 802431C8 0200302D */ daddu $a2, $s0, $zero +/* BE697C 802431CC 8E630070 */ lw $v1, 0x70($s3) +/* BE6980 802431D0 24020003 */ addiu $v0, $zero, 3 +/* BE6984 802431D4 1462005B */ bne $v1, $v0, .L80243344 +/* BE6988 802431D8 0000102D */ daddu $v0, $zero, $zero +/* BE698C 802431DC 0260202D */ daddu $a0, $s3, $zero +/* BE6990 802431E0 0280282D */ daddu $a1, $s4, $zero +/* BE6994 802431E4 0C0909CA */ jal func_80242728 +/* BE6998 802431E8 0200302D */ daddu $a2, $s0, $zero +/* BE699C 802431EC 8E630070 */ lw $v1, 0x70($s3) +/* BE69A0 802431F0 24020004 */ addiu $v0, $zero, 4 +/* BE69A4 802431F4 14620053 */ bne $v1, $v0, .L80243344 +/* BE69A8 802431F8 0000102D */ daddu $v0, $zero, $zero +/* BE69AC 802431FC 0260202D */ daddu $a0, $s3, $zero +/* BE69B0 80243200 0280282D */ daddu $a1, $s4, $zero +/* BE69B4 80243204 0C0909EC */ jal func_802427B0 +/* BE69B8 80243208 0200302D */ daddu $a2, $s0, $zero +/* BE69BC 8024320C 0260202D */ daddu $a0, $s3, $zero +/* BE69C0 80243210 0280282D */ daddu $a1, $s4, $zero +/* BE69C4 80243214 0C090A16 */ jal func_80242858 +/* BE69C8 80243218 0200302D */ daddu $a2, $s0, $zero +/* BE69CC 8024321C 08090CD1 */ j .L80243344 +/* BE69D0 80243220 0000102D */ daddu $v0, $zero, $zero +/* BE69D4 80243224 0260202D */ daddu $a0, $s3, $zero +/* BE69D8 80243228 0280282D */ daddu $a1, $s4, $zero +/* BE69DC 8024322C 0C0127DF */ jal func_80049F7C +/* BE69E0 80243230 0200302D */ daddu $a2, $s0, $zero +/* BE69E4 80243234 8E630070 */ lw $v1, 0x70($s3) +/* BE69E8 80243238 2402000D */ addiu $v0, $zero, 0xd +/* BE69EC 8024323C 14620041 */ bne $v1, $v0, .L80243344 +/* BE69F0 80243240 0000102D */ daddu $v0, $zero, $zero +/* BE69F4 80243244 0260202D */ daddu $a0, $s3, $zero +/* BE69F8 80243248 0280282D */ daddu $a1, $s4, $zero +/* BE69FC 8024324C 0C012849 */ jal func_8004A124 +/* BE6A00 80243250 0200302D */ daddu $a2, $s0, $zero +/* BE6A04 80243254 8E630070 */ lw $v1, 0x70($s3) +/* BE6A08 80243258 2402000E */ addiu $v0, $zero, 0xe +/* BE6A0C 8024325C 14620039 */ bne $v1, $v0, .L80243344 +/* BE6A10 80243260 0000102D */ daddu $v0, $zero, $zero +/* BE6A14 80243264 96A2008E */ lhu $v0, 0x8e($s5) +/* BE6A18 80243268 2442FFFF */ addiu $v0, $v0, -1 +/* BE6A1C 8024326C A6A2008E */ sh $v0, 0x8e($s5) +/* BE6A20 80243270 00021400 */ sll $v0, $v0, 0x10 +/* BE6A24 80243274 14400033 */ bnez $v0, .L80243344 +/* BE6A28 80243278 0000102D */ daddu $v0, $zero, $zero +/* BE6A2C 8024327C 24020028 */ addiu $v0, $zero, 0x28 +/* BE6A30 80243280 08090CD0 */ j .L80243340 +/* BE6A34 80243284 AE620070 */ sw $v0, 0x70($s3) +/* BE6A38 80243288 0260202D */ daddu $a0, $s3, $zero +/* BE6A3C 8024328C 0280282D */ daddu $a1, $s4, $zero +/* BE6A40 80243290 0C090A73 */ jal func_802429CC +/* BE6A44 80243294 0200302D */ daddu $a2, $s0, $zero +/* BE6A48 80243298 0260202D */ daddu $a0, $s3, $zero +/* BE6A4C 8024329C 0280282D */ daddu $a1, $s4, $zero +/* BE6A50 802432A0 0C090A87 */ jal func_80242A1C +/* BE6A54 802432A4 0200302D */ daddu $a2, $s0, $zero +/* BE6A58 802432A8 08090CD1 */ j .L80243344 +/* BE6A5C 802432AC 0000102D */ daddu $v0, $zero, $zero +/* BE6A60 802432B0 0260202D */ daddu $a0, $s3, $zero +/* BE6A64 802432B4 0280282D */ daddu $a1, $s4, $zero +/* BE6A68 802432B8 0C090AEF */ jal func_80242BBC +/* BE6A6C 802432BC 0200302D */ daddu $a2, $s0, $zero +/* BE6A70 802432C0 08090CD1 */ j .L80243344 +/* BE6A74 802432C4 0000102D */ daddu $v0, $zero, $zero +/* BE6A78 802432C8 0260202D */ daddu $a0, $s3, $zero +/* BE6A7C 802432CC 0280282D */ daddu $a1, $s4, $zero +/* BE6A80 802432D0 0C090B43 */ jal func_80242D0C +/* BE6A84 802432D4 0200302D */ daddu $a2, $s0, $zero +/* BE6A88 802432D8 8E630070 */ lw $v1, 0x70($s3) +/* BE6A8C 802432DC 24020029 */ addiu $v0, $zero, 0x29 +/* BE6A90 802432E0 14620018 */ bne $v1, $v0, .L80243344 +/* BE6A94 802432E4 0000102D */ daddu $v0, $zero, $zero +/* BE6A98 802432E8 0260202D */ daddu $a0, $s3, $zero +/* BE6A9C 802432EC 0280282D */ daddu $a1, $s4, $zero +/* BE6AA0 802432F0 0C090B6E */ jal func_80242DB8 +/* BE6AA4 802432F4 0200302D */ daddu $a2, $s0, $zero +/* BE6AA8 802432F8 08090CD1 */ j .L80243344 +/* BE6AAC 802432FC 0000102D */ daddu $v0, $zero, $zero +/* BE6AB0 80243300 0260202D */ daddu $a0, $s3, $zero +/* BE6AB4 80243304 0280282D */ daddu $a1, $s4, $zero +/* BE6AB8 80243308 0C090BBC */ jal func_80242EF0 +/* BE6ABC 8024330C 0200302D */ daddu $a2, $s0, $zero +/* BE6AC0 80243310 0260202D */ daddu $a0, $s3, $zero +/* BE6AC4 80243314 0280282D */ daddu $a1, $s4, $zero +/* BE6AC8 80243318 0C090BDB */ jal func_80242F6C +/* BE6ACC 8024331C 0200302D */ daddu $a2, $s0, $zero +/* BE6AD0 80243320 8E630070 */ lw $v1, 0x70($s3) +/* BE6AD4 80243324 24020034 */ addiu $v0, $zero, 0x34 +/* BE6AD8 80243328 14620006 */ bne $v1, $v0, .L80243344 +/* BE6ADC 8024332C 0000102D */ daddu $v0, $zero, $zero +/* BE6AE0 80243330 0260202D */ daddu $a0, $s3, $zero +/* BE6AE4 80243334 0280282D */ daddu $a1, $s4, $zero +/* BE6AE8 80243338 0C090BF5 */ jal func_80242FD4 +/* BE6AEC 8024333C 0200302D */ daddu $a2, $s0, $zero +.L80243340: +/* BE6AF0 80243340 0000102D */ daddu $v0, $zero, $zero +.L80243344: +/* BE6AF4 80243344 8FBF0048 */ lw $ra, 0x48($sp) +/* BE6AF8 80243348 8FB50044 */ lw $s5, 0x44($sp) +/* BE6AFC 8024334C 8FB40040 */ lw $s4, 0x40($sp) +/* BE6B00 80243350 8FB3003C */ lw $s3, 0x3c($sp) +/* BE6B04 80243354 8FB20038 */ lw $s2, 0x38($sp) +/* BE6B08 80243358 8FB10034 */ lw $s1, 0x34($sp) +/* BE6B0C 8024335C 8FB00030 */ lw $s0, 0x30($sp) +/* BE6B10 80243360 03E00008 */ jr $ra +/* BE6B14 80243364 27BD0050 */ addiu $sp, $sp, 0x50 +/* BE6B18 80243368 00000000 */ nop +/* BE6B1C 8024336C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240000_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240000_BE7BE0.s new file mode 100644 index 0000000000..f3161ecc51 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240000_BE7BE0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BE7BE0 +/* BE7BE0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE7BE4 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* BE7BE8 80240008 0080A82D */ daddu $s5, $a0, $zero +/* BE7BEC 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* BE7BF0 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* BE7BF4 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* BE7BF8 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* BE7BFC 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* BE7C00 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* BE7C04 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* BE7C08 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* BE7C0C 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* BE7C10 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* BE7C14 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* BE7C18 80240038 86640008 */ lh $a0, 8($s3) +/* BE7C1C 8024003C 0C00EABB */ jal get_npc_unsafe +/* BE7C20 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* BE7C24 80240044 0040A02D */ daddu $s4, $v0, $zero +/* BE7C28 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* BE7C2C 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* BE7C30 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* BE7C34 80240054 0000902D */ daddu $s2, $zero, $zero +/* BE7C38 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* BE7C3C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE7C40 80240060 8C620000 */ lw $v0, ($v1) +/* BE7C44 80240064 3C0146FF */ lui $at, 0x46ff +/* BE7C48 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* BE7C4C 8024006C 4481A000 */ mtc1 $at, $f20 +/* BE7C50 80240070 18400018 */ blez $v0, .L802400D4 +/* BE7C54 80240074 0240802D */ daddu $s0, $s2, $zero +/* BE7C58 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* BE7C5C 8024007C 02231021 */ addu $v0, $s1, $v1 +/* BE7C60 80240080 4600C306 */ mov.s $f12, $f24 +/* BE7C64 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* BE7C68 80240088 46802120 */ cvt.s.w $f4, $f4 +/* BE7C6C 8024008C 44062000 */ mfc1 $a2, $f4 +/* BE7C70 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* BE7C74 80240094 46802120 */ cvt.s.w $f4, $f4 +/* BE7C78 80240098 44072000 */ mfc1 $a3, $f4 +/* BE7C7C 8024009C 0C00A7B5 */ jal dist2D +/* BE7C80 802400A0 4600B386 */ mov.s $f14, $f22 +/* BE7C84 802400A4 4614003C */ c.lt.s $f0, $f20 +/* BE7C88 802400A8 00000000 */ nop +/* BE7C8C 802400AC 45000003 */ bc1f .L802400BC +/* BE7C90 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* BE7C94 802400B4 46000506 */ mov.s $f20, $f0 +/* BE7C98 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* BE7C9C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE7CA0 802400C0 26100001 */ addiu $s0, $s0, 1 +/* BE7CA4 802400C4 8C620000 */ lw $v0, ($v1) +/* BE7CA8 802400C8 0202102A */ slt $v0, $s0, $v0 +/* BE7CAC 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* BE7CB0 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* BE7CB4 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* BE7CB8 802400D8 8C420004 */ lw $v0, 4($v0) +/* BE7CBC 802400DC AE820028 */ sw $v0, 0x28($s4) +/* BE7CC0 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* BE7CC4 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* BE7CC8 802400E8 04410004 */ bgez $v0, .L802400FC +/* BE7CCC 802400EC 00000000 */ nop +/* BE7CD0 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* BE7CD4 802400F4 08090047 */ j .L8024011C +/* BE7CD8 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* BE7CDC 802400FC 3C018024 */ lui $at, 0x8024 +/* BE7CE0 80240100 D4225050 */ ldc1 $f2, 0x5050($at) +/* BE7CE4 80240104 44820000 */ mtc1 $v0, $f0 +/* BE7CE8 80240108 00000000 */ nop +/* BE7CEC 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* BE7CF0 80240110 46220003 */ div.d $f0, $f0, $f2 +/* BE7CF4 80240114 46200020 */ cvt.s.d $f0, $f0 +/* BE7CF8 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* BE7CFC 8024011C 24020001 */ addiu $v0, $zero, 1 +/* BE7D00 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* BE7D04 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* BE7D08 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* BE7D0C 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* BE7D10 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* BE7D14 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* BE7D18 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* BE7D1C 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* BE7D20 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* BE7D24 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* BE7D28 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* BE7D2C 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* BE7D30 80240150 03E00008 */ jr $ra +/* BE7D34 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240158_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240158_BE7BE0.s new file mode 100644 index 0000000000..bdb368d7fb --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240158_BE7BE0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_BE7D38 +/* BE7D38 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BE7D3C 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* BE7D40 80240160 0080902D */ daddu $s2, $a0, $zero +/* BE7D44 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* BE7D48 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* BE7D4C 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* BE7D50 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* BE7D54 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* BE7D58 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BE7D5C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* BE7D60 80240180 8E510148 */ lw $s1, 0x148($s2) +/* BE7D64 80240184 00A0982D */ daddu $s3, $a1, $zero +/* BE7D68 80240188 86240008 */ lh $a0, 8($s1) +/* BE7D6C 8024018C 0C00EABB */ jal get_npc_unsafe +/* BE7D70 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* BE7D74 80240194 8E630014 */ lw $v1, 0x14($s3) +/* BE7D78 80240198 04600030 */ bltz $v1, .L8024025C +/* BE7D7C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* BE7D80 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* BE7D84 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* BE7D88 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* BE7D8C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* BE7D90 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* BE7D94 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* BE7D98 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* BE7D9C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* BE7DA0 802401C0 0C01242D */ jal func_800490B4 +/* BE7DA4 802401C4 0220282D */ daddu $a1, $s1, $zero +/* BE7DA8 802401C8 10400021 */ beqz $v0, .L80240250 +/* BE7DAC 802401CC 0000202D */ daddu $a0, $zero, $zero +/* BE7DB0 802401D0 0200282D */ daddu $a1, $s0, $zero +/* BE7DB4 802401D4 0000302D */ daddu $a2, $zero, $zero +/* BE7DB8 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* BE7DBC 802401DC 3C013F80 */ lui $at, 0x3f80 +/* BE7DC0 802401E0 44810000 */ mtc1 $at, $f0 +/* BE7DC4 802401E4 3C014000 */ lui $at, 0x4000 +/* BE7DC8 802401E8 44811000 */ mtc1 $at, $f2 +/* BE7DCC 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* BE7DD0 802401F0 44812000 */ mtc1 $at, $f4 +/* BE7DD4 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* BE7DD8 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* BE7DDC 802401FC 44833000 */ mtc1 $v1, $f6 +/* BE7DE0 80240200 00000000 */ nop +/* BE7DE4 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* BE7DE8 80240208 44073000 */ mfc1 $a3, $f6 +/* BE7DEC 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* BE7DF0 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* BE7DF4 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE7DF8 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE7DFC 8024021C 0C01BFA4 */ jal fx_emote +/* BE7E00 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE7E04 80240224 0200202D */ daddu $a0, $s0, $zero +/* BE7E08 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE7E0C 8024022C 0C012530 */ jal func_800494C0 +/* BE7E10 80240230 3C060020 */ lui $a2, 0x20 +/* BE7E14 80240234 8E220018 */ lw $v0, 0x18($s1) +/* BE7E18 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* BE7E1C 8024023C 30420001 */ andi $v0, $v0, 1 +/* BE7E20 80240240 14400064 */ bnez $v0, .L802403D4 +/* BE7E24 80240244 2402000A */ addiu $v0, $zero, 0xa +/* BE7E28 80240248 080900F5 */ j .L802403D4 +/* BE7E2C 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* BE7E30 80240250 8E420074 */ lw $v0, 0x74($s2) +/* BE7E34 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* BE7E38 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* BE7E3C 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* BE7E40 80240260 1440005D */ bnez $v0, .L802403D8 +/* BE7E44 80240264 00000000 */ nop +/* BE7E48 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* BE7E4C 8024026C 3C014010 */ lui $at, 0x4010 +/* BE7E50 80240270 44811800 */ mtc1 $at, $f3 +/* BE7E54 80240274 44801000 */ mtc1 $zero, $f2 +/* BE7E58 80240278 46000021 */ cvt.d.s $f0, $f0 +/* BE7E5C 8024027C 4622003C */ c.lt.d $f0, $f2 +/* BE7E60 80240280 00000000 */ nop +/* BE7E64 80240284 45000003 */ bc1f .L80240294 +/* BE7E68 80240288 0200202D */ daddu $a0, $s0, $zero +/* BE7E6C 8024028C 080900A6 */ j .L80240298 +/* BE7E70 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* BE7E74 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* BE7E78 80240298 0C00F598 */ jal func_8003D660 +/* BE7E7C 8024029C 00000000 */ nop +/* BE7E80 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE7E84 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* BE7E88 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE7E8C 802402AC 00031040 */ sll $v0, $v1, 1 +/* BE7E90 802402B0 00431021 */ addu $v0, $v0, $v1 +/* BE7E94 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE7E98 802402B8 00021080 */ sll $v0, $v0, 2 +/* BE7E9C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* BE7EA0 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* BE7EA4 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BE7EA8 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* BE7EAC 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* BE7EB0 802402D0 4406B000 */ mfc1 $a2, $f22 +/* BE7EB4 802402D4 4407A000 */ mfc1 $a3, $f20 +/* BE7EB8 802402D8 0C00A720 */ jal atan2 +/* BE7EBC 802402DC 00000000 */ nop +/* BE7EC0 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* BE7EC4 802402E4 44060000 */ mfc1 $a2, $f0 +/* BE7EC8 802402E8 0200202D */ daddu $a0, $s0, $zero +/* BE7ECC 802402EC 0C00EA95 */ jal npc_move_heading +/* BE7ED0 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* BE7ED4 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE7ED8 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE7EDC 802402FC 4406B000 */ mfc1 $a2, $f22 +/* BE7EE0 80240300 4407A000 */ mfc1 $a3, $f20 +/* BE7EE4 80240304 0C00A7B5 */ jal dist2D +/* BE7EE8 80240308 00000000 */ nop +/* BE7EEC 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* BE7EF0 80240310 4602003E */ c.le.s $f0, $f2 +/* BE7EF4 80240314 00000000 */ nop +/* BE7EF8 80240318 4500002F */ bc1f .L802403D8 +/* BE7EFC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BE7F00 80240320 24020002 */ addiu $v0, $zero, 2 +/* BE7F04 80240324 0C00A67F */ jal rand_int +/* BE7F08 80240328 AE420070 */ sw $v0, 0x70($s2) +/* BE7F0C 8024032C 3C035555 */ lui $v1, 0x5555 +/* BE7F10 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* BE7F14 80240334 00430018 */ mult $v0, $v1 +/* BE7F18 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* BE7F1C 8024033C 00004010 */ mfhi $t0 +/* BE7F20 80240340 01042023 */ subu $a0, $t0, $a0 +/* BE7F24 80240344 00041840 */ sll $v1, $a0, 1 +/* BE7F28 80240348 00641821 */ addu $v1, $v1, $a0 +/* BE7F2C 8024034C 00431023 */ subu $v0, $v0, $v1 +/* BE7F30 80240350 24430002 */ addiu $v1, $v0, 2 +/* BE7F34 80240354 AE430074 */ sw $v1, 0x74($s2) +/* BE7F38 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* BE7F3C 8024035C 18400009 */ blez $v0, .L80240384 +/* BE7F40 80240360 24020004 */ addiu $v0, $zero, 4 +/* BE7F44 80240364 8E620004 */ lw $v0, 4($s3) +/* BE7F48 80240368 18400006 */ blez $v0, .L80240384 +/* BE7F4C 8024036C 24020004 */ addiu $v0, $zero, 4 +/* BE7F50 80240370 8E620008 */ lw $v0, 8($s3) +/* BE7F54 80240374 18400003 */ blez $v0, .L80240384 +/* BE7F58 80240378 24020004 */ addiu $v0, $zero, 4 +/* BE7F5C 8024037C 14600002 */ bnez $v1, .L80240388 +/* BE7F60 80240380 00000000 */ nop +.L80240384: +/* BE7F64 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* BE7F68 80240388 0C00A67F */ jal rand_int +/* BE7F6C 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* BE7F70 80240390 3C0351EB */ lui $v1, 0x51eb +/* BE7F74 80240394 3463851F */ ori $v1, $v1, 0x851f +/* BE7F78 80240398 00430018 */ mult $v0, $v1 +/* BE7F7C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* BE7F80 802403A0 00004010 */ mfhi $t0 +/* BE7F84 802403A4 00082143 */ sra $a0, $t0, 5 +/* BE7F88 802403A8 00832023 */ subu $a0, $a0, $v1 +/* BE7F8C 802403AC 00041840 */ sll $v1, $a0, 1 +/* BE7F90 802403B0 00641821 */ addu $v1, $v1, $a0 +/* BE7F94 802403B4 000318C0 */ sll $v1, $v1, 3 +/* BE7F98 802403B8 00641821 */ addu $v1, $v1, $a0 +/* BE7F9C 802403BC 00031880 */ sll $v1, $v1, 2 +/* BE7FA0 802403C0 8E640004 */ lw $a0, 4($s3) +/* BE7FA4 802403C4 00431023 */ subu $v0, $v0, $v1 +/* BE7FA8 802403C8 0044102A */ slt $v0, $v0, $a0 +/* BE7FAC 802403CC 10400002 */ beqz $v0, .L802403D8 +/* BE7FB0 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* BE7FB4 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* BE7FB8 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* BE7FBC 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* BE7FC0 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* BE7FC4 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* BE7FC8 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* BE7FCC 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* BE7FD0 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BE7FD4 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BE7FD8 802403F8 03E00008 */ jr $ra +/* BE7FDC 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240400_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240400_BE7BE0.s new file mode 100644 index 0000000000..cf7795bcc7 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240400_BE7BE0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_BE7FE0 +/* BE7FE0 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE7FE4 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* BE7FE8 80240408 0080982D */ daddu $s3, $a0, $zero +/* BE7FEC 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* BE7FF0 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* BE7FF4 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* BE7FF8 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* BE7FFC 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* BE8000 80240420 86440008 */ lh $a0, 8($s2) +/* BE8004 80240424 0C00EABB */ jal get_npc_unsafe +/* BE8008 80240428 00A0882D */ daddu $s1, $a1, $zero +/* BE800C 8024042C 8E240008 */ lw $a0, 8($s1) +/* BE8010 80240430 0040802D */ daddu $s0, $v0, $zero +/* BE8014 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* BE8018 80240438 00832021 */ addu $a0, $a0, $v1 +/* BE801C 8024043C 00042043 */ sra $a0, $a0, 1 +/* BE8020 80240440 0C00A67F */ jal rand_int +/* BE8024 80240444 24840001 */ addiu $a0, $a0, 1 +/* BE8028 80240448 8E230008 */ lw $v1, 8($s1) +/* BE802C 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* BE8030 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* BE8034 80240454 00651821 */ addu $v1, $v1, $a1 +/* BE8038 80240458 00031843 */ sra $v1, $v1, 1 +/* BE803C 8024045C 00621821 */ addu $v1, $v1, $v0 +/* BE8040 80240460 0C00A67F */ jal rand_int +/* BE8044 80240464 A603008E */ sh $v1, 0x8e($s0) +/* BE8048 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* BE804C 8024046C 44820000 */ mtc1 $v0, $f0 +/* BE8050 80240470 00000000 */ nop +/* BE8054 80240474 46800020 */ cvt.s.w $f0, $f0 +/* BE8058 80240478 46006300 */ add.s $f12, $f12, $f0 +/* BE805C 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* BE8060 80240480 44810000 */ mtc1 $at, $f0 +/* BE8064 80240484 0C00A6C9 */ jal clamp_angle +/* BE8068 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* BE806C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* BE8070 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* BE8074 80240494 8C420000 */ lw $v0, ($v0) +/* BE8078 80240498 AE020028 */ sw $v0, 0x28($s0) +/* BE807C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* BE8080 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* BE8084 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* BE8088 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* BE808C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* BE8090 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* BE8094 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* BE8098 802404B8 03E00008 */ jr $ra +/* BE809C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_802404C0_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_802404C0_BE7BE0.s new file mode 100644 index 0000000000..187ef4b3b2 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_802404C0_BE7BE0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_BE80A0 +/* BE80A0 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE80A4 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* BE80A8 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* BE80AC 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* BE80B0 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* BE80B4 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* BE80B8 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* BE80BC 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* BE80C0 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* BE80C4 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* BE80C8 802404E8 86240008 */ lh $a0, 8($s1) +/* BE80CC 802404EC 0C00EABB */ jal get_npc_unsafe +/* BE80D0 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* BE80D4 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* BE80D8 802404F8 04600031 */ bltz $v1, .L802405C0 +/* BE80DC 802404FC 0040802D */ daddu $s0, $v0, $zero +/* BE80E0 80240500 0260202D */ daddu $a0, $s3, $zero +/* BE80E4 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* BE80E8 80240508 8E460024 */ lw $a2, 0x24($s2) +/* BE80EC 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* BE80F0 80240510 0C01242D */ jal func_800490B4 +/* BE80F4 80240514 0220282D */ daddu $a1, $s1, $zero +/* BE80F8 80240518 10400029 */ beqz $v0, .L802405C0 +/* BE80FC 8024051C 0000202D */ daddu $a0, $zero, $zero +/* BE8100 80240520 0200282D */ daddu $a1, $s0, $zero +/* BE8104 80240524 0000302D */ daddu $a2, $zero, $zero +/* BE8108 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* BE810C 8024052C 3C013F80 */ lui $at, 0x3f80 +/* BE8110 80240530 44810000 */ mtc1 $at, $f0 +/* BE8114 80240534 3C014000 */ lui $at, 0x4000 +/* BE8118 80240538 44811000 */ mtc1 $at, $f2 +/* BE811C 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* BE8120 80240540 44812000 */ mtc1 $at, $f4 +/* BE8124 80240544 2402000F */ addiu $v0, $zero, 0xf +/* BE8128 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* BE812C 8024054C 44833000 */ mtc1 $v1, $f6 +/* BE8130 80240550 00000000 */ nop +/* BE8134 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* BE8138 80240558 44073000 */ mfc1 $a3, $f6 +/* BE813C 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* BE8140 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* BE8144 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* BE8148 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE814C 8024056C 0C01BFA4 */ jal fx_emote +/* BE8150 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE8154 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE8158 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE815C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BE8160 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BE8164 80240584 8C460028 */ lw $a2, 0x28($v0) +/* BE8168 80240588 0C00A720 */ jal atan2 +/* BE816C 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* BE8170 80240590 0200202D */ daddu $a0, $s0, $zero +/* BE8174 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BE8178 80240598 3C060020 */ lui $a2, 0x20 +/* BE817C 8024059C 0C012530 */ jal func_800494C0 +/* BE8180 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* BE8184 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* BE8188 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* BE818C 802405AC 30420001 */ andi $v0, $v0, 1 +/* BE8190 802405B0 14400029 */ bnez $v0, .L80240658 +/* BE8194 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* BE8198 802405B8 08090196 */ j .L80240658 +/* BE819C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* BE81A0 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* BE81A4 802405C4 14400025 */ bnez $v0, .L8024065C +/* BE81A8 802405C8 00000000 */ nop +/* BE81AC 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* BE81B0 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* BE81B4 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* BE81B8 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* BE81BC 802405DC 1440001F */ bnez $v0, .L8024065C +/* BE81C0 802405E0 00000000 */ nop +/* BE81C4 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* BE81C8 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* BE81CC 802405EC 10400019 */ beqz $v0, .L80240654 +/* BE81D0 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* BE81D4 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* BE81D8 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* BE81DC 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* BE81E0 80240600 14400007 */ bnez $v0, .L80240620 +/* BE81E4 80240604 00000000 */ nop +/* BE81E8 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* BE81EC 8024060C 3C014334 */ lui $at, 0x4334 +/* BE81F0 80240610 44816000 */ mtc1 $at, $f12 +/* BE81F4 80240614 0C00A6C9 */ jal clamp_angle +/* BE81F8 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* BE81FC 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* BE8200 80240620 8E440008 */ lw $a0, 8($s2) +/* BE8204 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* BE8208 80240628 00822021 */ addu $a0, $a0, $v0 +/* BE820C 8024062C 00042043 */ sra $a0, $a0, 1 +/* BE8210 80240630 0C00A67F */ jal rand_int +/* BE8214 80240634 24840001 */ addiu $a0, $a0, 1 +/* BE8218 80240638 8E430008 */ lw $v1, 8($s2) +/* BE821C 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* BE8220 80240640 00641821 */ addu $v1, $v1, $a0 +/* BE8224 80240644 00031843 */ sra $v1, $v1, 1 +/* BE8228 80240648 00621821 */ addu $v1, $v1, $v0 +/* BE822C 8024064C 08090197 */ j .L8024065C +/* BE8230 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* BE8234 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* BE8238 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* BE823C 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* BE8240 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* BE8244 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* BE8248 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* BE824C 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* BE8250 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* BE8254 80240674 03E00008 */ jr $ra +/* BE8258 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_8024067C_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_8024067C_BE7BE0.s new file mode 100644 index 0000000000..dfb573a810 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_8024067C_BE7BE0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_BE825C +/* BE825C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE8260 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* BE8264 80240684 0080882D */ daddu $s1, $a0, $zero +/* BE8268 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* BE826C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* BE8270 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* BE8274 80240694 8E300148 */ lw $s0, 0x148($s1) +/* BE8278 80240698 86040008 */ lh $a0, 8($s0) +/* BE827C 8024069C 0C00EABB */ jal get_npc_unsafe +/* BE8280 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* BE8284 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* BE8288 802406A8 24630001 */ addiu $v1, $v1, 1 +/* BE828C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* BE8290 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* BE8294 802406B4 8C840000 */ lw $a0, ($a0) +/* BE8298 802406B8 0064182A */ slt $v1, $v1, $a0 +/* BE829C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* BE82A0 802406C0 0040282D */ daddu $a1, $v0, $zero +/* BE82A4 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* BE82A8 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* BE82AC 802406CC 8C420004 */ lw $v0, 4($v0) +/* BE82B0 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* BE82B4 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* BE82B8 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* BE82BC 802406DC 04410004 */ bgez $v0, .L802406F0 +/* BE82C0 802406E0 00000000 */ nop +/* BE82C4 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* BE82C8 802406E8 080901C4 */ j .L80240710 +/* BE82CC 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* BE82D0 802406F0 3C018024 */ lui $at, 0x8024 +/* BE82D4 802406F4 D4225058 */ ldc1 $f2, 0x5058($at) +/* BE82D8 802406F8 44820000 */ mtc1 $v0, $f0 +/* BE82DC 802406FC 00000000 */ nop +/* BE82E0 80240700 46800021 */ cvt.d.w $f0, $f0 +/* BE82E4 80240704 46220003 */ div.d $f0, $f0, $f2 +/* BE82E8 80240708 46200020 */ cvt.s.d $f0, $f0 +/* BE82EC 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* BE82F0 80240710 24020001 */ addiu $v0, $zero, 1 +/* BE82F4 80240714 AE220070 */ sw $v0, 0x70($s1) +/* BE82F8 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* BE82FC 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* BE8300 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* BE8304 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* BE8308 80240728 03E00008 */ jr $ra +/* BE830C 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240730_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240730_BE7BE0.s new file mode 100644 index 0000000000..396baf608d --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240730_BE7BE0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_BE8310 +/* BE8310 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE8314 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* BE8318 80240738 0080882D */ daddu $s1, $a0, $zero +/* BE831C 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* BE8320 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* BE8324 80240744 8E300148 */ lw $s0, 0x148($s1) +/* BE8328 80240748 0C00EABB */ jal get_npc_unsafe +/* BE832C 8024074C 86040008 */ lh $a0, 8($s0) +/* BE8330 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* BE8334 80240754 3C014120 */ lui $at, 0x4120 +/* BE8338 80240758 44812000 */ mtc1 $at, $f4 +/* BE833C 8024075C 3C014000 */ lui $at, 0x4000 +/* BE8340 80240760 44810000 */ mtc1 $at, $f0 +/* BE8344 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* BE8348 80240768 8C640010 */ lw $a0, 0x10($v1) +/* BE834C 8024076C 8C430000 */ lw $v1, ($v0) +/* BE8350 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* BE8354 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* BE8358 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* BE835C 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* BE8360 80240780 AC430000 */ sw $v1, ($v0) +/* BE8364 80240784 AC440028 */ sw $a0, 0x28($v0) +/* BE8368 80240788 2402000B */ addiu $v0, $zero, 0xb +/* BE836C 8024078C AE220070 */ sw $v0, 0x70($s1) +/* BE8370 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* BE8374 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* BE8378 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* BE837C 8024079C 03E00008 */ jr $ra +/* BE8380 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_802407A4_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_802407A4_BE7BE0.s new file mode 100644 index 0000000000..35739cb728 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_802407A4_BE7BE0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_BE8384 +/* BE8384 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE8388 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* BE838C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* BE8390 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* BE8394 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* BE8398 802407B8 0C00EABB */ jal get_npc_unsafe +/* BE839C 802407BC 84440008 */ lh $a0, 8($v0) +/* BE83A0 802407C0 0040202D */ daddu $a0, $v0, $zero +/* BE83A4 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* BE83A8 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* BE83AC 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* BE83B0 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* BE83B4 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* BE83B8 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* BE83BC 802407DC 4602203C */ c.lt.s $f4, $f2 +/* BE83C0 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* BE83C4 802407E4 45010009 */ bc1t .L8024080C +/* BE83C8 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* BE83CC 802407EC 8C820000 */ lw $v0, ($a0) +/* BE83D0 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* BE83D4 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* BE83D8 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* BE83DC 802407FC 00431024 */ and $v0, $v0, $v1 +/* BE83E0 80240800 AC820000 */ sw $v0, ($a0) +/* BE83E4 80240804 2402000C */ addiu $v0, $zero, 0xc +/* BE83E8 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* BE83EC 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* BE83F0 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* BE83F4 80240814 03E00008 */ jr $ra +/* BE83F8 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_8024081C_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_8024081C_BE7BE0.s new file mode 100644 index 0000000000..a793f6d6e0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_8024081C_BE7BE0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_BE83FC +/* BE83FC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BE8400 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* BE8404 80240824 0080982D */ daddu $s3, $a0, $zero +/* BE8408 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* BE840C 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* BE8410 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* BE8414 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* BE8418 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BE841C 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* BE8420 80240840 86240008 */ lh $a0, 8($s1) +/* BE8424 80240844 0C00EABB */ jal get_npc_unsafe +/* BE8428 80240848 00A0802D */ daddu $s0, $a1, $zero +/* BE842C 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* BE8430 80240850 0040902D */ daddu $s2, $v0, $zero +/* BE8434 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* BE8438 80240858 00832021 */ addu $a0, $a0, $v1 +/* BE843C 8024085C 00042043 */ sra $a0, $a0, 1 +/* BE8440 80240860 0C00A67F */ jal rand_int +/* BE8444 80240864 24840001 */ addiu $a0, $a0, 1 +/* BE8448 80240868 8E030020 */ lw $v1, 0x20($s0) +/* BE844C 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* BE8450 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* BE8454 80240874 00641821 */ addu $v1, $v1, $a0 +/* BE8458 80240878 00031843 */ sra $v1, $v1, 1 +/* BE845C 8024087C 00621821 */ addu $v1, $v1, $v0 +/* BE8460 80240880 A643008E */ sh $v1, 0x8e($s2) +/* BE8464 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* BE8468 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BE846C 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* BE8470 80240890 AE420028 */ sw $v0, 0x28($s2) +/* BE8474 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* BE8478 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BE847C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BE8480 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* BE8484 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* BE8488 802408A8 0C00A720 */ jal atan2 +/* BE848C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* BE8490 802408B0 46000506 */ mov.s $f20, $f0 +/* BE8494 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* BE8498 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* BE849C 802408BC 4600A386 */ mov.s $f14, $f20 +/* BE84A0 802408C0 46000086 */ mov.s $f2, $f0 +/* BE84A4 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* BE84A8 802408C8 46001005 */ abs.s $f0, $f2 +/* BE84AC 802408CC 44822000 */ mtc1 $v0, $f4 +/* BE84B0 802408D0 00000000 */ nop +/* BE84B4 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* BE84B8 802408D8 4600203C */ c.lt.s $f4, $f0 +/* BE84BC 802408DC 00000000 */ nop +/* BE84C0 802408E0 4500000D */ bc1f .L80240918 +/* BE84C4 802408E4 00000000 */ nop +/* BE84C8 802408E8 44800000 */ mtc1 $zero, $f0 +/* BE84CC 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* BE84D0 802408F0 4600103C */ c.lt.s $f2, $f0 +/* BE84D4 802408F4 00000000 */ nop +/* BE84D8 802408F8 45000006 */ bc1f .L80240914 +/* BE84DC 802408FC 00021023 */ negu $v0, $v0 +/* BE84E0 80240900 44820000 */ mtc1 $v0, $f0 +/* BE84E4 80240904 00000000 */ nop +/* BE84E8 80240908 46800020 */ cvt.s.w $f0, $f0 +/* BE84EC 8024090C 08090246 */ j .L80240918 +/* BE84F0 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* BE84F4 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* BE84F8 80240918 0C00A6C9 */ jal clamp_angle +/* BE84FC 8024091C 4600A306 */ mov.s $f12, $f20 +/* BE8500 80240920 2402000D */ addiu $v0, $zero, 0xd +/* BE8504 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* BE8508 80240928 AE620070 */ sw $v0, 0x70($s3) +/* BE850C 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* BE8510 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* BE8514 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* BE8518 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* BE851C 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* BE8520 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BE8524 80240944 03E00008 */ jr $ra +/* BE8528 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_8024094C_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_8024094C_BE7BE0.s new file mode 100644 index 0000000000..f8b9e563d0 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_8024094C_BE7BE0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_BE852C +/* BE852C 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE8530 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* BE8534 80240954 0080982D */ daddu $s3, $a0, $zero +/* BE8538 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* BE853C 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* BE8540 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* BE8544 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* BE8548 80240968 8E720148 */ lw $s2, 0x148($s3) +/* BE854C 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* BE8550 80240970 86440008 */ lh $a0, 8($s2) +/* BE8554 80240974 0C00EABB */ jal get_npc_unsafe +/* BE8558 80240978 00C0802D */ daddu $s0, $a2, $zero +/* BE855C 8024097C 0200202D */ daddu $a0, $s0, $zero +/* BE8560 80240980 0240282D */ daddu $a1, $s2, $zero +/* BE8564 80240984 24030001 */ addiu $v1, $zero, 1 +/* BE8568 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* BE856C 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* BE8570 80240990 8E270028 */ lw $a3, 0x28($s1) +/* BE8574 80240994 0C01242D */ jal func_800490B4 +/* BE8578 80240998 0040802D */ daddu $s0, $v0, $zero +/* BE857C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* BE8580 802409A0 0200202D */ daddu $a0, $s0, $zero +/* BE8584 802409A4 24040002 */ addiu $a0, $zero, 2 +/* BE8588 802409A8 0200282D */ daddu $a1, $s0, $zero +/* BE858C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* BE8590 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* BE8594 802409B4 3C013F80 */ lui $at, 0x3f80 +/* BE8598 802409B8 44810000 */ mtc1 $at, $f0 +/* BE859C 802409BC 3C014000 */ lui $at, 0x4000 +/* BE85A0 802409C0 44811000 */ mtc1 $at, $f2 +/* BE85A4 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* BE85A8 802409C8 44812000 */ mtc1 $at, $f4 +/* BE85AC 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* BE85B0 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* BE85B4 802409D4 44833000 */ mtc1 $v1, $f6 +/* BE85B8 802409D8 00000000 */ nop +/* BE85BC 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* BE85C0 802409E0 44073000 */ mfc1 $a3, $f6 +/* BE85C4 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* BE85C8 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* BE85CC 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* BE85D0 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* BE85D4 802409F4 0C01BFA4 */ jal fx_emote +/* BE85D8 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BE85DC 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* BE85E0 80240A00 8C430000 */ lw $v1, ($v0) +/* BE85E4 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* BE85E8 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* BE85EC 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* BE85F0 80240A10 08090293 */ j .L80240A4C +/* BE85F4 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* BE85F8 80240A18 0C00F598 */ jal func_8003D660 +/* BE85FC 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* BE8600 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* BE8604 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* BE8608 80240A28 0C00EA95 */ jal npc_move_heading +/* BE860C 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* BE8610 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* BE8614 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* BE8618 80240A38 18400003 */ blez $v0, .L80240A48 +/* BE861C 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* BE8620 80240A40 08090294 */ j .L80240A50 +/* BE8624 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* BE8628 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* BE862C 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* BE8630 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* BE8634 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* BE8638 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* BE863C 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* BE8640 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* BE8644 80240A64 03E00008 */ jr $ra +/* BE8648 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240A6C_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240A6C_BE7BE0.s new file mode 100644 index 0000000000..b67fdd2dca --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240A6C_BE7BE0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_BE864C +/* BE864C 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE8650 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* BE8654 80240A74 0080882D */ daddu $s1, $a0, $zero +/* BE8658 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* BE865C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* BE8660 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* BE8664 80240A84 0C00EABB */ jal get_npc_unsafe +/* BE8668 80240A88 86040008 */ lh $a0, 8($s0) +/* BE866C 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* BE8670 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* BE8674 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* BE8678 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* BE867C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* BE8680 80240AA0 00000000 */ nop +/* BE8684 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* BE8688 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* BE868C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* BE8690 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* BE8694 80240AB4 080902B0 */ j .L80240AC0 +/* BE8698 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* BE869C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* BE86A0 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* BE86A4 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* BE86A8 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* BE86AC 80240ACC 03E00008 */ jr $ra +/* BE86B0 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240AD4_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240AD4_BE7BE0.s new file mode 100644 index 0000000000..1e3e7e4860 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240AD4_BE7BE0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_BE86B4 +/* BE86B4 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BE86B8 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* BE86BC 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* BE86C0 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* BE86C4 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* BE86C8 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* BE86CC 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* BE86D0 80240AF0 86040008 */ lh $a0, 8($s0) +/* BE86D4 80240AF4 0C00EABB */ jal get_npc_unsafe +/* BE86D8 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* BE86DC 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE86E0 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* BE86E4 80240B04 8C630000 */ lw $v1, ($v1) +/* BE86E8 80240B08 0083182A */ slt $v1, $a0, $v1 +/* BE86EC 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* BE86F0 80240B10 0040302D */ daddu $a2, $v0, $zero +/* BE86F4 80240B14 00041040 */ sll $v0, $a0, 1 +/* BE86F8 80240B18 00441021 */ addu $v0, $v0, $a0 +/* BE86FC 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* BE8700 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE8704 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* BE8708 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* BE870C 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* BE8710 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* BE8714 80240B34 4602003E */ c.le.s $f0, $f2 +/* BE8718 80240B38 00000000 */ nop +/* BE871C 80240B3C 45020003 */ bc1fl .L80240B4C +/* BE8720 80240B40 24840001 */ addiu $a0, $a0, 1 +/* BE8724 80240B44 080902D7 */ j .L80240B5C +/* BE8728 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* BE872C 80240B4C 8C620000 */ lw $v0, ($v1) +/* BE8730 80240B50 0082102A */ slt $v0, $a0, $v0 +/* BE8734 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* BE8738 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* BE873C 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* BE8740 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* BE8744 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* BE8748 80240B68 8C420004 */ lw $v0, 4($v0) +/* BE874C 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* BE8750 80240B70 24020001 */ addiu $v0, $zero, 1 +/* BE8754 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* BE8758 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* BE875C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* BE8760 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* BE8764 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* BE8768 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* BE876C 80240B8C 03E00008 */ jr $ra +/* BE8770 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240B94_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240B94_BE7BE0.s new file mode 100644 index 0000000000..14eb558996 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240B94_BE7BE0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_BE8774 +/* BE8774 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* BE8778 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* BE877C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* BE8780 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* BE8784 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* BE8788 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* BE878C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* BE8790 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* BE8794 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* BE8798 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* BE879C 80240BBC 86240008 */ lh $a0, 8($s1) +/* BE87A0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* BE87A4 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* BE87A8 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* BE87AC 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* BE87B0 80240BD0 8C650000 */ lw $a1, ($v1) +/* BE87B4 80240BD4 0C0B1EAF */ jal get_variable +/* BE87B8 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* BE87BC 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* BE87C0 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE87C4 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* BE87C8 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* BE87CC 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE87D0 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* BE87D4 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* BE87D8 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE87DC 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* BE87E0 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* BE87E4 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE87E8 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* BE87EC 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* BE87F0 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* BE87F4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* BE87F8 80240C18 3C014282 */ lui $at, 0x4282 +/* BE87FC 80240C1C 44810000 */ mtc1 $at, $f0 +/* BE8800 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* BE8804 80240C24 0040982D */ daddu $s3, $v0, $zero +/* BE8808 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* BE880C 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* BE8810 80240C30 16000005 */ bnez $s0, .L80240C48 +/* BE8814 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* BE8818 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE881C 80240C3C 30420004 */ andi $v0, $v0, 4 +/* BE8820 80240C40 10400044 */ beqz $v0, .L80240D54 +/* BE8824 80240C44 00000000 */ nop +.L80240C48: +/* BE8828 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* BE882C 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* BE8830 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* BE8834 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* BE8838 80240C58 8E430000 */ lw $v1, ($s2) +/* BE883C 80240C5C 8C420000 */ lw $v0, ($v0) +/* BE8840 80240C60 00641824 */ and $v1, $v1, $a0 +/* BE8844 80240C64 AE430000 */ sw $v1, ($s2) +/* BE8848 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* BE884C 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BE8850 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* BE8854 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* BE8858 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* BE885C 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* BE8860 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* BE8864 80240C84 08090325 */ j .L80240C94 +/* BE8868 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* BE886C 80240C8C 00621024 */ and $v0, $v1, $v0 +/* BE8870 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* BE8874 80240C94 AE420000 */ sw $v0, ($s2) +/* BE8878 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE887C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* BE8880 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* BE8884 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* BE8888 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* BE888C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* BE8890 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* BE8894 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* BE8898 80240CB8 00431024 */ and $v0, $v0, $v1 +/* BE889C 80240CBC 0809033C */ j .L80240CF0 +/* BE88A0 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* BE88A4 80240CC4 8E220000 */ lw $v0, ($s1) +/* BE88A8 80240CC8 3C034000 */ lui $v1, 0x4000 +/* BE88AC 80240CCC 00431024 */ and $v0, $v0, $v1 +/* BE88B0 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* BE88B4 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* BE88B8 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* BE88BC 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* BE88C0 80240CE0 8E220000 */ lw $v0, ($s1) +/* BE88C4 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* BE88C8 80240CE8 00431024 */ and $v0, $v0, $v1 +/* BE88CC 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* BE88D0 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* BE88D4 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* BE88D8 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* BE88DC 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* BE88E0 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* BE88E4 80240D04 44812000 */ mtc1 $at, $f4 +/* BE88E8 80240D08 44823000 */ mtc1 $v0, $f6 +/* BE88EC 80240D0C 00000000 */ nop +/* BE88F0 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* BE88F4 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* BE88F8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* BE88FC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* BE8900 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* BE8904 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* BE8908 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* BE890C 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* BE8910 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* BE8914 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* BE8918 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* BE891C 80240D3C 0C0372DF */ jal func_800DCB7C +/* BE8920 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* BE8924 80240D44 10400003 */ beqz $v0, .L80240D54 +/* BE8928 80240D48 00000000 */ nop +/* BE892C 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* BE8930 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* BE8934 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* BE8938 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* BE893C 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* BE8940 80240D60 00031080 */ sll $v0, $v1, 2 +/* BE8944 80240D64 3C018024 */ lui $at, 0x8024 +/* BE8948 80240D68 00220821 */ addu $at, $at, $v0 +/* BE894C 80240D6C 8C225060 */ lw $v0, 0x5060($at) +/* BE8950 80240D70 00400008 */ jr $v0 +/* BE8954 80240D74 00000000 */ nop +/* BE8958 80240D78 0280202D */ daddu $a0, $s4, $zero +/* BE895C 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* BE8960 80240D80 0C090000 */ jal func_80240000 +/* BE8964 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* BE8968 80240D88 0280202D */ daddu $a0, $s4, $zero +/* BE896C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* BE8970 80240D90 0C090056 */ jal func_80240158 +/* BE8974 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* BE8978 80240D98 0809039A */ j .L80240E68 +/* BE897C 80240D9C 00000000 */ nop +/* BE8980 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* BE8984 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* BE8988 80240DA8 0C090100 */ jal func_80240400 +/* BE898C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* BE8990 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* BE8994 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* BE8998 80240DB8 0C090130 */ jal func_802404C0 +/* BE899C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* BE89A0 80240DC0 0809039A */ j .L80240E68 +/* BE89A4 80240DC4 00000000 */ nop +/* BE89A8 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* BE89AC 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* BE89B0 80240DD0 0C09019F */ jal func_8024067C +/* BE89B4 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* BE89B8 80240DD8 0809039A */ j .L80240E68 +/* BE89BC 80240DDC 00000000 */ nop +/* BE89C0 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* BE89C4 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* BE89C8 80240DE8 0C0901CC */ jal func_80240730 +/* BE89CC 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* BE89D0 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* BE89D4 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* BE89D8 80240DF8 0C0901E9 */ jal func_802407A4 +/* BE89DC 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* BE89E0 80240E00 0809039A */ j .L80240E68 +/* BE89E4 80240E04 00000000 */ nop +/* BE89E8 80240E08 0280202D */ daddu $a0, $s4, $zero +/* BE89EC 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* BE89F0 80240E10 0C090207 */ jal func_8024081C +/* BE89F4 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* BE89F8 80240E18 0280202D */ daddu $a0, $s4, $zero +/* BE89FC 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* BE8A00 80240E20 0C090253 */ jal func_8024094C +/* BE8A04 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* BE8A08 80240E28 0809039A */ j .L80240E68 +/* BE8A0C 80240E2C 00000000 */ nop +/* BE8A10 80240E30 0280202D */ daddu $a0, $s4, $zero +/* BE8A14 80240E34 0260282D */ daddu $a1, $s3, $zero +/* BE8A18 80240E38 0C09029B */ jal func_80240A6C +/* BE8A1C 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* BE8A20 80240E40 0809039A */ j .L80240E68 +/* BE8A24 80240E44 00000000 */ nop +/* BE8A28 80240E48 0280202D */ daddu $a0, $s4, $zero +/* BE8A2C 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* BE8A30 80240E50 0C0902B5 */ jal func_80240AD4 +/* BE8A34 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* BE8A38 80240E58 0809039A */ j .L80240E68 +/* BE8A3C 80240E5C 00000000 */ nop +/* BE8A40 80240E60 0C0129CF */ jal func_8004A73C +/* BE8A44 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* BE8A48 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* BE8A4C 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* BE8A50 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* BE8A54 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* BE8A58 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* BE8A5C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* BE8A60 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* BE8A64 80240E84 0000102D */ daddu $v0, $zero, $zero +/* BE8A68 80240E88 03E00008 */ jr $ra +/* BE8A6C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80240E90_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80240E90_BE7BE0.s new file mode 100644 index 0000000000..79eecd9008 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80240E90_BE7BE0.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_BE8A70 +/* BE8A70 80240E90 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BE8A74 80240E94 AFB20030 */ sw $s2, 0x30($sp) +/* BE8A78 80240E98 0080902D */ daddu $s2, $a0, $zero +/* BE8A7C 80240E9C AFBF0034 */ sw $ra, 0x34($sp) +/* BE8A80 80240EA0 AFB1002C */ sw $s1, 0x2c($sp) +/* BE8A84 80240EA4 AFB00028 */ sw $s0, 0x28($sp) +/* BE8A88 80240EA8 F7B60040 */ sdc1 $f22, 0x40($sp) +/* BE8A8C 80240EAC F7B40038 */ sdc1 $f20, 0x38($sp) +/* BE8A90 80240EB0 8E500148 */ lw $s0, 0x148($s2) +/* BE8A94 80240EB4 0C00EABB */ jal get_npc_unsafe +/* BE8A98 80240EB8 86040008 */ lh $a0, 8($s0) +/* BE8A9C 80240EBC 0040882D */ daddu $s1, $v0, $zero +/* BE8AA0 80240EC0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BE8AA4 80240EC4 8E430078 */ lw $v1, 0x78($s2) +/* BE8AA8 80240EC8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BE8AAC 80240ECC 00031040 */ sll $v0, $v1, 1 +/* BE8AB0 80240ED0 00431021 */ addu $v0, $v0, $v1 +/* BE8AB4 80240ED4 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE8AB8 80240ED8 00021080 */ sll $v0, $v0, 2 +/* BE8ABC 80240EDC 00431021 */ addu $v0, $v0, $v1 +/* BE8AC0 80240EE0 C4560004 */ lwc1 $f22, 4($v0) +/* BE8AC4 80240EE4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BE8AC8 80240EE8 C454000C */ lwc1 $f20, 0xc($v0) +/* BE8ACC 80240EEC 4680A520 */ cvt.s.w $f20, $f20 +/* BE8AD0 80240EF0 4406B000 */ mfc1 $a2, $f22 +/* BE8AD4 80240EF4 4407A000 */ mfc1 $a3, $f20 +/* BE8AD8 80240EF8 E7AC0018 */ swc1 $f12, 0x18($sp) +/* BE8ADC 80240EFC 0C00A720 */ jal atan2 +/* BE8AE0 80240F00 E7AE0020 */ swc1 $f14, 0x20($sp) +/* BE8AE4 80240F04 8E250018 */ lw $a1, 0x18($s1) +/* BE8AE8 80240F08 44060000 */ mfc1 $a2, $f0 +/* BE8AEC 80240F0C 0220202D */ daddu $a0, $s1, $zero +/* BE8AF0 80240F10 0C00EA95 */ jal npc_move_heading +/* BE8AF4 80240F14 AE26000C */ sw $a2, 0xc($s1) +/* BE8AF8 80240F18 27A50018 */ addiu $a1, $sp, 0x18 +/* BE8AFC 80240F1C 27A6001C */ addiu $a2, $sp, 0x1c +/* BE8B00 80240F20 C6200038 */ lwc1 $f0, 0x38($s1) +/* BE8B04 80240F24 8E430078 */ lw $v1, 0x78($s2) +/* BE8B08 80240F28 3C01447A */ lui $at, 0x447a +/* BE8B0C 80240F2C 44812000 */ mtc1 $at, $f4 +/* BE8B10 80240F30 00031040 */ sll $v0, $v1, 1 +/* BE8B14 80240F34 00431021 */ addu $v0, $v0, $v1 +/* BE8B18 80240F38 00021080 */ sll $v0, $v0, 2 +/* BE8B1C 80240F3C E7A00018 */ swc1 $f0, 0x18($sp) +/* BE8B20 80240F40 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE8B24 80240F44 C620003C */ lwc1 $f0, 0x3c($s1) +/* BE8B28 80240F48 C6220040 */ lwc1 $f2, 0x40($s1) +/* BE8B2C 80240F4C 00431021 */ addu $v0, $v0, $v1 +/* BE8B30 80240F50 C4460008 */ lwc1 $f6, 8($v0) +/* BE8B34 80240F54 468031A0 */ cvt.s.w $f6, $f6 +/* BE8B38 80240F58 27A20024 */ addiu $v0, $sp, 0x24 +/* BE8B3C 80240F5C 46060000 */ add.s $f0, $f0, $f6 +/* BE8B40 80240F60 E7A20020 */ swc1 $f2, 0x20($sp) +/* BE8B44 80240F64 E7A40024 */ swc1 $f4, 0x24($sp) +/* BE8B48 80240F68 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BE8B4C 80240F6C AFA20010 */ sw $v0, 0x10($sp) +/* BE8B50 80240F70 8E240080 */ lw $a0, 0x80($s1) +/* BE8B54 80240F74 0C0372DF */ jal func_800DCB7C +/* BE8B58 80240F78 27A70020 */ addiu $a3, $sp, 0x20 +/* BE8B5C 80240F7C 8E430078 */ lw $v1, 0x78($s2) +/* BE8B60 80240F80 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* BE8B64 80240F84 00031040 */ sll $v0, $v1, 1 +/* BE8B68 80240F88 00431021 */ addu $v0, $v0, $v1 +/* BE8B6C 80240F8C 8E0300D0 */ lw $v1, 0xd0($s0) +/* BE8B70 80240F90 00021080 */ sll $v0, $v0, 2 +/* BE8B74 80240F94 00431021 */ addu $v0, $v0, $v1 +/* BE8B78 80240F98 C4400008 */ lwc1 $f0, 8($v0) +/* BE8B7C 80240F9C 46800020 */ cvt.s.w $f0, $f0 +/* BE8B80 80240FA0 46001080 */ add.s $f2, $f2, $f0 +/* BE8B84 80240FA4 C620003C */ lwc1 $f0, 0x3c($s1) +/* BE8B88 80240FA8 3C014000 */ lui $at, 0x4000 +/* BE8B8C 80240FAC 44813800 */ mtc1 $at, $f7 +/* BE8B90 80240FB0 44803000 */ mtc1 $zero, $f6 +/* BE8B94 80240FB4 46001001 */ sub.s $f0, $f2, $f0 +/* BE8B98 80240FB8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BE8B9C 80240FBC 46000121 */ cvt.d.s $f4, $f0 +/* BE8BA0 80240FC0 4624303C */ c.lt.d $f6, $f4 +/* BE8BA4 80240FC4 00000000 */ nop +/* BE8BA8 80240FC8 45000005 */ bc1f .L80240FE0 +/* BE8BAC 80240FCC E7A00024 */ swc1 $f0, 0x24($sp) +/* BE8BB0 80240FD0 C620003C */ lwc1 $f0, 0x3c($s1) +/* BE8BB4 80240FD4 46000021 */ cvt.d.s $f0, $f0 +/* BE8BB8 80240FD8 08090403 */ j .L8024100C +/* BE8BBC 80240FDC 46260000 */ add.d $f0, $f0, $f6 +.L80240FE0: +/* BE8BC0 80240FE0 3C01C000 */ lui $at, 0xc000 +/* BE8BC4 80240FE4 44810800 */ mtc1 $at, $f1 +/* BE8BC8 80240FE8 44800000 */ mtc1 $zero, $f0 +/* BE8BCC 80240FEC 00000000 */ nop +/* BE8BD0 80240FF0 4620203C */ c.lt.d $f4, $f0 +/* BE8BD4 80240FF4 00000000 */ nop +/* BE8BD8 80240FF8 45020006 */ bc1fl .L80241014 +/* BE8BDC 80240FFC E622003C */ swc1 $f2, 0x3c($s1) +/* BE8BE0 80241000 C620003C */ lwc1 $f0, 0x3c($s1) +/* BE8BE4 80241004 46000021 */ cvt.d.s $f0, $f0 +/* BE8BE8 80241008 46260001 */ sub.d $f0, $f0, $f6 +.L8024100C: +/* BE8BEC 8024100C 46200020 */ cvt.s.d $f0, $f0 +/* BE8BF0 80241010 E620003C */ swc1 $f0, 0x3c($s1) +.L80241014: +/* BE8BF4 80241014 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BE8BF8 80241018 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BE8BFC 8024101C 4406B000 */ mfc1 $a2, $f22 +/* BE8C00 80241020 4407A000 */ mfc1 $a3, $f20 +/* BE8C04 80241024 0C00A7B5 */ jal dist2D +/* BE8C08 80241028 00000000 */ nop +/* BE8C0C 8024102C C6220018 */ lwc1 $f2, 0x18($s1) +/* BE8C10 80241030 4600103C */ c.lt.s $f2, $f0 +/* BE8C14 80241034 00000000 */ nop +/* BE8C18 80241038 45010003 */ bc1t .L80241048 +/* BE8C1C 8024103C E7A00024 */ swc1 $f0, 0x24($sp) +/* BE8C20 80241040 24020002 */ addiu $v0, $zero, 2 +/* BE8C24 80241044 AE420070 */ sw $v0, 0x70($s2) +.L80241048: +/* BE8C28 80241048 8FBF0034 */ lw $ra, 0x34($sp) +/* BE8C2C 8024104C 8FB20030 */ lw $s2, 0x30($sp) +/* BE8C30 80241050 8FB1002C */ lw $s1, 0x2c($sp) +/* BE8C34 80241054 8FB00028 */ lw $s0, 0x28($sp) +/* BE8C38 80241058 D7B60040 */ ldc1 $f22, 0x40($sp) +/* BE8C3C 8024105C D7B40038 */ ldc1 $f20, 0x38($sp) +/* BE8C40 80241060 03E00008 */ jr $ra +/* BE8C44 80241064 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_80241068_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_80241068_BE7BE0.s new file mode 100644 index 0000000000..f49661aab9 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_80241068_BE7BE0.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241068_BE8C48 +/* BE8C48 80241068 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BE8C4C 8024106C AFB10014 */ sw $s1, 0x14($sp) +/* BE8C50 80241070 0080882D */ daddu $s1, $a0, $zero +/* BE8C54 80241074 AFBF0020 */ sw $ra, 0x20($sp) +/* BE8C58 80241078 AFB3001C */ sw $s3, 0x1c($sp) +/* BE8C5C 8024107C AFB20018 */ sw $s2, 0x18($sp) +/* BE8C60 80241080 AFB00010 */ sw $s0, 0x10($sp) +/* BE8C64 80241084 8E320148 */ lw $s2, 0x148($s1) +/* BE8C68 80241088 86440008 */ lh $a0, 8($s2) +/* BE8C6C 8024108C 0C00EABB */ jal get_npc_unsafe +/* BE8C70 80241090 00A0982D */ daddu $s3, $a1, $zero +/* BE8C74 80241094 0040802D */ daddu $s0, $v0, $zero +/* BE8C78 80241098 9602008E */ lhu $v0, 0x8e($s0) +/* BE8C7C 8024109C 2442FFFF */ addiu $v0, $v0, -1 +/* BE8C80 802410A0 A602008E */ sh $v0, 0x8e($s0) +/* BE8C84 802410A4 00021400 */ sll $v0, $v0, 0x10 +/* BE8C88 802410A8 0441001D */ bgez $v0, .L80241120 +/* BE8C8C 802410AC 00000000 */ nop +/* BE8C90 802410B0 8E220074 */ lw $v0, 0x74($s1) +/* BE8C94 802410B4 2442FFFF */ addiu $v0, $v0, -1 +/* BE8C98 802410B8 04400014 */ bltz $v0, .L8024110C +/* BE8C9C 802410BC AE220074 */ sw $v0, 0x74($s1) +/* BE8CA0 802410C0 C600000C */ lwc1 $f0, 0xc($s0) +/* BE8CA4 802410C4 3C014334 */ lui $at, 0x4334 +/* BE8CA8 802410C8 44816000 */ mtc1 $at, $f12 +/* BE8CAC 802410CC 0C00A6C9 */ jal clamp_angle +/* BE8CB0 802410D0 460C0300 */ add.s $f12, $f0, $f12 +/* BE8CB4 802410D4 E600000C */ swc1 $f0, 0xc($s0) +/* BE8CB8 802410D8 8E640008 */ lw $a0, 8($s3) +/* BE8CBC 802410DC 000417C2 */ srl $v0, $a0, 0x1f +/* BE8CC0 802410E0 00822021 */ addu $a0, $a0, $v0 +/* BE8CC4 802410E4 00042043 */ sra $a0, $a0, 1 +/* BE8CC8 802410E8 0C00A67F */ jal rand_int +/* BE8CCC 802410EC 24840001 */ addiu $a0, $a0, 1 +/* BE8CD0 802410F0 8E630008 */ lw $v1, 8($s3) +/* BE8CD4 802410F4 000327C2 */ srl $a0, $v1, 0x1f +/* BE8CD8 802410F8 00641821 */ addu $v1, $v1, $a0 +/* BE8CDC 802410FC 00031843 */ sra $v1, $v1, 1 +/* BE8CE0 80241100 00621821 */ addu $v1, $v1, $v0 +/* BE8CE4 80241104 08090448 */ j .L80241120 +/* BE8CE8 80241108 A603008E */ sh $v1, 0x8e($s0) +.L8024110C: +/* BE8CEC 8024110C 24020004 */ addiu $v0, $zero, 4 +/* BE8CF0 80241110 AE220070 */ sw $v0, 0x70($s1) +/* BE8CF4 80241114 8E4200CC */ lw $v0, 0xcc($s2) +/* BE8CF8 80241118 8C420000 */ lw $v0, ($v0) +/* BE8CFC 8024111C AE020028 */ sw $v0, 0x28($s0) +.L80241120: +/* BE8D00 80241120 8FBF0020 */ lw $ra, 0x20($sp) +/* BE8D04 80241124 8FB3001C */ lw $s3, 0x1c($sp) +/* BE8D08 80241128 8FB20018 */ lw $s2, 0x18($sp) +/* BE8D0C 8024112C 8FB10014 */ lw $s1, 0x14($sp) +/* BE8D10 80241130 8FB00010 */ lw $s0, 0x10($sp) +/* BE8D14 80241134 03E00008 */ jr $ra +/* BE8D18 80241138 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_8024113C_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_8024113C_BE7BE0.s new file mode 100644 index 0000000000..285fa0ce29 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_8024113C_BE7BE0.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024113C_BE8D1C +/* BE8D1C 8024113C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BE8D20 80241140 AFB40040 */ sw $s4, 0x40($sp) +/* BE8D24 80241144 0080A02D */ daddu $s4, $a0, $zero +/* BE8D28 80241148 AFBF0048 */ sw $ra, 0x48($sp) +/* BE8D2C 8024114C AFB50044 */ sw $s5, 0x44($sp) +/* BE8D30 80241150 AFB3003C */ sw $s3, 0x3c($sp) +/* BE8D34 80241154 AFB20038 */ sw $s2, 0x38($sp) +/* BE8D38 80241158 AFB10034 */ sw $s1, 0x34($sp) +/* BE8D3C 8024115C AFB00030 */ sw $s0, 0x30($sp) +/* BE8D40 80241160 8E930148 */ lw $s3, 0x148($s4) +/* BE8D44 80241164 86640008 */ lh $a0, 8($s3) +/* BE8D48 80241168 8E90000C */ lw $s0, 0xc($s4) +/* BE8D4C 8024116C 0C00EABB */ jal get_npc_unsafe +/* BE8D50 80241170 00A0882D */ daddu $s1, $a1, $zero +/* BE8D54 80241174 0280202D */ daddu $a0, $s4, $zero +/* BE8D58 80241178 8E050000 */ lw $a1, ($s0) +/* BE8D5C 8024117C 0C0B1EAF */ jal get_variable +/* BE8D60 80241180 0040A82D */ daddu $s5, $v0, $zero +/* BE8D64 80241184 AFA00010 */ sw $zero, 0x10($sp) +/* BE8D68 80241188 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE8D6C 8024118C 8C630094 */ lw $v1, 0x94($v1) +/* BE8D70 80241190 AFA30014 */ sw $v1, 0x14($sp) +/* BE8D74 80241194 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE8D78 80241198 8C630080 */ lw $v1, 0x80($v1) +/* BE8D7C 8024119C AFA30018 */ sw $v1, 0x18($sp) +/* BE8D80 802411A0 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE8D84 802411A4 8C630088 */ lw $v1, 0x88($v1) +/* BE8D88 802411A8 AFA3001C */ sw $v1, 0x1c($sp) +/* BE8D8C 802411AC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE8D90 802411B0 8C63008C */ lw $v1, 0x8c($v1) +/* BE8D94 802411B4 27B20010 */ addiu $s2, $sp, 0x10 +/* BE8D98 802411B8 AFA30020 */ sw $v1, 0x20($sp) +/* BE8D9C 802411BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* BE8DA0 802411C0 3C0142C8 */ lui $at, 0x42c8 +/* BE8DA4 802411C4 44810000 */ mtc1 $at, $f0 +/* BE8DA8 802411C8 8C630090 */ lw $v1, 0x90($v1) +/* BE8DAC 802411CC 0040802D */ daddu $s0, $v0, $zero +/* BE8DB0 802411D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BE8DB4 802411D4 A7A0002C */ sh $zero, 0x2c($sp) +/* BE8DB8 802411D8 12200007 */ beqz $s1, .L802411F8 +/* BE8DBC 802411DC AFA30024 */ sw $v1, 0x24($sp) +/* BE8DC0 802411E0 AE800070 */ sw $zero, 0x70($s4) +/* BE8DC4 802411E4 8EA20000 */ lw $v0, ($s5) +/* BE8DC8 802411E8 2403F7FF */ addiu $v1, $zero, -0x801 +/* BE8DCC 802411EC A6A0008E */ sh $zero, 0x8e($s5) +/* BE8DD0 802411F0 00431024 */ and $v0, $v0, $v1 +/* BE8DD4 802411F4 AEA20000 */ sw $v0, ($s5) +.L802411F8: +/* BE8DD8 802411F8 8E830070 */ lw $v1, 0x70($s4) +/* BE8DDC 802411FC 2C620005 */ sltiu $v0, $v1, 5 +/* BE8DE0 80241200 1040001E */ beqz $v0, .L8024127C +/* BE8DE4 80241204 00031080 */ sll $v0, $v1, 2 +/* BE8DE8 80241208 3C018024 */ lui $at, 0x8024 +/* BE8DEC 8024120C 00220821 */ addu $at, $at, $v0 +/* BE8DF0 80241210 8C2251F0 */ lw $v0, 0x51f0($at) +/* BE8DF4 80241214 00400008 */ jr $v0 +/* BE8DF8 80241218 00000000 */ nop +/* BE8DFC 8024121C 0280202D */ daddu $a0, $s4, $zero +/* BE8E00 80241220 0200282D */ daddu $a1, $s0, $zero +/* BE8E04 80241224 0C090000 */ jal func_80240000 +/* BE8E08 80241228 0240302D */ daddu $a2, $s2, $zero +/* BE8E0C 8024122C 0280202D */ daddu $a0, $s4, $zero +/* BE8E10 80241230 0200282D */ daddu $a1, $s0, $zero +/* BE8E14 80241234 0C0903A4 */ jal func_80240E90 +/* BE8E18 80241238 0240302D */ daddu $a2, $s2, $zero +/* BE8E1C 8024123C 0809049F */ j .L8024127C +/* BE8E20 80241240 00000000 */ nop +/* BE8E24 80241244 0280202D */ daddu $a0, $s4, $zero +/* BE8E28 80241248 0200282D */ daddu $a1, $s0, $zero +/* BE8E2C 8024124C 0C090100 */ jal func_80240400 +/* BE8E30 80241250 0240302D */ daddu $a2, $s2, $zero +/* BE8E34 80241254 0280202D */ daddu $a0, $s4, $zero +/* BE8E38 80241258 0200282D */ daddu $a1, $s0, $zero +/* BE8E3C 8024125C 0C09041A */ jal func_80241068 +/* BE8E40 80241260 0240302D */ daddu $a2, $s2, $zero +/* BE8E44 80241264 0809049F */ j .L8024127C +/* BE8E48 80241268 00000000 */ nop +/* BE8E4C 8024126C 0280202D */ daddu $a0, $s4, $zero +/* BE8E50 80241270 0200282D */ daddu $a1, $s0, $zero +/* BE8E54 80241274 0C09019F */ jal func_8024067C +/* BE8E58 80241278 0240302D */ daddu $a2, $s2, $zero +.L8024127C: +/* BE8E5C 8024127C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* BE8E60 80241280 4600008D */ trunc.w.s $f2, $f0 +/* BE8E64 80241284 E662006C */ swc1 $f2, 0x6c($s3) +/* BE8E68 80241288 8FBF0048 */ lw $ra, 0x48($sp) +/* BE8E6C 8024128C 8FB50044 */ lw $s5, 0x44($sp) +/* BE8E70 80241290 8FB40040 */ lw $s4, 0x40($sp) +/* BE8E74 80241294 8FB3003C */ lw $s3, 0x3c($sp) +/* BE8E78 80241298 8FB20038 */ lw $s2, 0x38($sp) +/* BE8E7C 8024129C 8FB10034 */ lw $s1, 0x34($sp) +/* BE8E80 802412A0 8FB00030 */ lw $s0, 0x30($sp) +/* BE8E84 802412A4 0000102D */ daddu $v0, $zero, $zero +/* BE8E88 802412A8 03E00008 */ jr $ra +/* BE8E8C 802412AC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_802412B0_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_802412B0_BE7BE0.s new file mode 100644 index 0000000000..886ce53858 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_802412B0_BE7BE0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B0_BE8E90 +/* BE8E90 802412B0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* BE8E94 802412B4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* BE8E98 802412B8 8C420010 */ lw $v0, 0x10($v0) +/* BE8E9C 802412BC 00021042 */ srl $v0, $v0, 1 +/* BE8EA0 802412C0 03E00008 */ jr $ra +/* BE8EA4 802412C4 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_arn/arn_05/func_802412C8_BE7BE0.s b/asm/nonmatchings/world/area_arn/arn_05/func_802412C8_BE7BE0.s new file mode 100644 index 0000000000..3d5b8604fa --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_05/func_802412C8_BE7BE0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C8_BE8EA8 +/* BE8EA8 802412C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BE8EAC 802412CC AFBF0010 */ sw $ra, 0x10($sp) +/* BE8EB0 802412D0 8C82000C */ lw $v0, 0xc($a0) +/* BE8EB4 802412D4 0C0B1EAF */ jal get_variable +/* BE8EB8 802412D8 8C450000 */ lw $a1, ($v0) +/* BE8EBC 802412DC 0C03AC5A */ jal func_800EB168 +/* BE8EC0 802412E0 0040202D */ daddu $a0, $v0, $zero +/* BE8EC4 802412E4 8FBF0010 */ lw $ra, 0x10($sp) +/* BE8EC8 802412E8 24020002 */ addiu $v0, $zero, 2 +/* BE8ECC 802412EC 03E00008 */ jr $ra +/* BE8ED0 802412F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* BE8ED4 802412F4 00000000 */ nop +/* BE8ED8 802412F8 00000000 */ nop +/* BE8EDC 802412FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240000_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240000_BECDF0.s new file mode 100644 index 0000000000..7bd05b7908 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240000_BECDF0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BECDF0 +/* BECDF0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BECDF4 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* BECDF8 80240008 AFB00018 */ sw $s0, 0x18($sp) +/* BECDFC 8024000C 8C900084 */ lw $s0, 0x84($a0) +/* BECE00 80240010 C6000008 */ lwc1 $f0, 8($s0) +/* BECE04 80240014 240400A2 */ addiu $a0, $zero, 0xa2 +/* BECE08 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* BECE0C 8024001C 8E060000 */ lw $a2, ($s0) +/* BECE10 80240020 8E070004 */ lw $a3, 4($s0) +/* BECE14 80240024 0C05267B */ jal func_801499EC +/* BECE18 80240028 0000282D */ daddu $a1, $zero, $zero +/* BECE1C 8024002C 86020044 */ lh $v0, 0x44($s0) +/* BECE20 80240030 8FBF001C */ lw $ra, 0x1c($sp) +/* BECE24 80240034 8FB00018 */ lw $s0, 0x18($sp) +/* BECE28 80240038 28420002 */ slti $v0, $v0, 2 +/* BECE2C 8024003C 38420001 */ xori $v0, $v0, 1 +/* BECE30 80240040 00021040 */ sll $v0, $v0, 1 +/* BECE34 80240044 03E00008 */ jr $ra +/* BECE38 80240048 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_8024004C_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_8024004C_BECDF0.s new file mode 100644 index 0000000000..3a608e1ce6 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_8024004C_BECDF0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C_BECE3C +/* BECE3C 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BECE40 80240050 AFB20020 */ sw $s2, 0x20($sp) +/* BECE44 80240054 0080902D */ daddu $s2, $a0, $zero +/* BECE48 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* BECE4C 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* BECE50 80240060 AFB00018 */ sw $s0, 0x18($sp) +/* BECE54 80240064 10A0004A */ beqz $a1, .L80240190 +/* BECE58 80240068 8E51000C */ lw $s1, 0xc($s2) +/* BECE5C 8024006C 0C00AB39 */ jal heap_malloc +/* BECE60 80240070 24040058 */ addiu $a0, $zero, 0x58 +/* BECE64 80240074 0000202D */ daddu $a0, $zero, $zero +/* BECE68 80240078 3C05FD05 */ lui $a1, 0xfd05 +/* BECE6C 8024007C 34A50F81 */ ori $a1, $a1, 0xf81 +/* BECE70 80240080 0040802D */ daddu $s0, $v0, $zero +/* BECE74 80240084 0200302D */ daddu $a2, $s0, $zero +/* BECE78 80240088 0C0B2026 */ jal set_variable +/* BECE7C 8024008C AE500084 */ sw $s0, 0x84($s2) +/* BECE80 80240090 8E250000 */ lw $a1, ($s1) +/* BECE84 80240094 26310004 */ addiu $s1, $s1, 4 +/* BECE88 80240098 0C0B1EAF */ jal get_variable +/* BECE8C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* BECE90 802400A0 AE020038 */ sw $v0, 0x38($s0) +/* BECE94 802400A4 8E250000 */ lw $a1, ($s1) +/* BECE98 802400A8 26310004 */ addiu $s1, $s1, 4 +/* BECE9C 802400AC 0C0B1EAF */ jal get_variable +/* BECEA0 802400B0 0240202D */ daddu $a0, $s2, $zero +/* BECEA4 802400B4 AE02003C */ sw $v0, 0x3c($s0) +/* BECEA8 802400B8 8E250000 */ lw $a1, ($s1) +/* BECEAC 802400BC 26310004 */ addiu $s1, $s1, 4 +/* BECEB0 802400C0 0C0B210B */ jal get_float_variable +/* BECEB4 802400C4 0240202D */ daddu $a0, $s2, $zero +/* BECEB8 802400C8 E600000C */ swc1 $f0, 0xc($s0) +/* BECEBC 802400CC 8E250000 */ lw $a1, ($s1) +/* BECEC0 802400D0 26310004 */ addiu $s1, $s1, 4 +/* BECEC4 802400D4 0C0B210B */ jal get_float_variable +/* BECEC8 802400D8 0240202D */ daddu $a0, $s2, $zero +/* BECECC 802400DC E6000010 */ swc1 $f0, 0x10($s0) +/* BECED0 802400E0 8E250000 */ lw $a1, ($s1) +/* BECED4 802400E4 26310004 */ addiu $s1, $s1, 4 +/* BECED8 802400E8 0C0B210B */ jal get_float_variable +/* BECEDC 802400EC 0240202D */ daddu $a0, $s2, $zero +/* BECEE0 802400F0 E6000014 */ swc1 $f0, 0x14($s0) +/* BECEE4 802400F4 8E250000 */ lw $a1, ($s1) +/* BECEE8 802400F8 26310004 */ addiu $s1, $s1, 4 +/* BECEEC 802400FC 0C0B210B */ jal get_float_variable +/* BECEF0 80240100 0240202D */ daddu $a0, $s2, $zero +/* BECEF4 80240104 E6000018 */ swc1 $f0, 0x18($s0) +/* BECEF8 80240108 8E250000 */ lw $a1, ($s1) +/* BECEFC 8024010C 26310004 */ addiu $s1, $s1, 4 +/* BECF00 80240110 0C0B210B */ jal get_float_variable +/* BECF04 80240114 0240202D */ daddu $a0, $s2, $zero +/* BECF08 80240118 E600001C */ swc1 $f0, 0x1c($s0) +/* BECF0C 8024011C 8E250000 */ lw $a1, ($s1) +/* BECF10 80240120 26310004 */ addiu $s1, $s1, 4 +/* BECF14 80240124 0C0B210B */ jal get_float_variable +/* BECF18 80240128 0240202D */ daddu $a0, $s2, $zero +/* BECF1C 8024012C E6000020 */ swc1 $f0, 0x20($s0) +/* BECF20 80240130 8E250000 */ lw $a1, ($s1) +/* BECF24 80240134 26310004 */ addiu $s1, $s1, 4 +/* BECF28 80240138 0C0B210B */ jal get_float_variable +/* BECF2C 8024013C 0240202D */ daddu $a0, $s2, $zero +/* BECF30 80240140 E6000024 */ swc1 $f0, 0x24($s0) +/* BECF34 80240144 8E250000 */ lw $a1, ($s1) +/* BECF38 80240148 0C0B210B */ jal get_float_variable +/* BECF3C 8024014C 0240202D */ daddu $a0, $s2, $zero +/* BECF40 80240150 3C013F80 */ lui $at, 0x3f80 +/* BECF44 80240154 44811000 */ mtc1 $at, $f2 +/* BECF48 80240158 E6000028 */ swc1 $f0, 0x28($s0) +/* BECF4C 8024015C AFA00014 */ sw $zero, 0x14($sp) +/* BECF50 80240160 E7A20010 */ swc1 $f2, 0x10($sp) +/* BECF54 80240164 8E05000C */ lw $a1, 0xc($s0) +/* BECF58 80240168 8E060010 */ lw $a2, 0x10($s0) +/* BECF5C 8024016C 8E070014 */ lw $a3, 0x14($s0) +/* BECF60 80240170 0C01CA6C */ jal func_800729B0 +/* BECF64 80240174 24040002 */ addiu $a0, $zero, 2 +/* BECF68 80240178 AE020050 */ sw $v0, 0x50($s0) +/* BECF6C 8024017C A600004E */ sh $zero, 0x4e($s0) +/* BECF70 80240180 A6000048 */ sh $zero, 0x48($s0) +/* BECF74 80240184 A600004A */ sh $zero, 0x4a($s0) +/* BECF78 80240188 A6000044 */ sh $zero, 0x44($s0) +/* BECF7C 8024018C A6000046 */ sh $zero, 0x46($s0) +.L80240190: +/* BECF80 80240190 8FBF0024 */ lw $ra, 0x24($sp) +/* BECF84 80240194 8FB20020 */ lw $s2, 0x20($sp) +/* BECF88 80240198 8FB1001C */ lw $s1, 0x1c($sp) +/* BECF8C 8024019C 8FB00018 */ lw $s0, 0x18($sp) +/* BECF90 802401A0 24020002 */ addiu $v0, $zero, 2 +/* BECF94 802401A4 03E00008 */ jr $ra +/* BECF98 802401A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802401AC_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802401AC_BECDF0.s new file mode 100644 index 0000000000..9cf1c4fb9c --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802401AC_BECDF0.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC_BECF9C +/* BECF9C 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BECFA0 802401B0 AFBF0020 */ sw $ra, 0x20($sp) +/* BECFA4 802401B4 AFB1001C */ sw $s1, 0x1c($sp) +/* BECFA8 802401B8 AFB00018 */ sw $s0, 0x18($sp) +/* BECFAC 802401BC 8C910084 */ lw $s1, 0x84($a0) +/* BECFB0 802401C0 86230044 */ lh $v1, 0x44($s1) +/* BECFB4 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* BECFB8 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* BECFBC 802401CC 2C620005 */ sltiu $v0, $v1, 5 +/* BECFC0 802401D0 1040008A */ beqz $v0, .L802403FC +/* BECFC4 802401D4 00031080 */ sll $v0, $v1, 2 +/* BECFC8 802401D8 3C018024 */ lui $at, 0x8024 +/* BECFCC 802401DC 00220821 */ addu $at, $at, $v0 +/* BECFD0 802401E0 8C227900 */ lw $v0, 0x7900($at) +/* BECFD4 802401E4 00400008 */ jr $v0 +/* BECFD8 802401E8 00000000 */ nop +/* BECFDC 802401EC 8E22003C */ lw $v0, 0x3c($s1) +/* BECFE0 802401F0 86270046 */ lh $a3, 0x46($s1) +/* BECFE4 802401F4 AFA20010 */ sw $v0, 0x10($sp) +/* BECFE8 802401F8 8E250010 */ lw $a1, 0x10($s1) +/* BECFEC 802401FC 8E26001C */ lw $a2, 0x1c($s1) +/* BECFF0 80240200 0C00A8ED */ jal update_lerp +/* BECFF4 80240204 24040005 */ addiu $a0, $zero, 5 +/* BECFF8 80240208 86270046 */ lh $a3, 0x46($s1) +/* BECFFC 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* BED000 80240210 E6200004 */ swc1 $f0, 4($s1) +/* BED004 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* BED008 80240218 8E25000C */ lw $a1, 0xc($s1) +/* BED00C 8024021C 8E260018 */ lw $a2, 0x18($s1) +/* BED010 80240220 0C00A8ED */ jal update_lerp +/* BED014 80240224 0000202D */ daddu $a0, $zero, $zero +/* BED018 80240228 86270046 */ lh $a3, 0x46($s1) +/* BED01C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* BED020 80240230 E6200000 */ swc1 $f0, ($s1) +/* BED024 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* BED028 80240238 8E250014 */ lw $a1, 0x14($s1) +/* BED02C 8024023C 8E260020 */ lw $a2, 0x20($s1) +/* BED030 80240240 0C00A8ED */ jal update_lerp +/* BED034 80240244 0000202D */ daddu $a0, $zero, $zero +/* BED038 80240248 8E220050 */ lw $v0, 0x50($s1) +/* BED03C 8024024C E6200008 */ swc1 $f0, 8($s1) +/* BED040 80240250 C6200000 */ lwc1 $f0, ($s1) +/* BED044 80240254 8C42000C */ lw $v0, 0xc($v0) +/* BED048 80240258 E4400008 */ swc1 $f0, 8($v0) +/* BED04C 8024025C 8E220050 */ lw $v0, 0x50($s1) +/* BED050 80240260 C6200004 */ lwc1 $f0, 4($s1) +/* BED054 80240264 8C42000C */ lw $v0, 0xc($v0) +/* BED058 80240268 E440000C */ swc1 $f0, 0xc($v0) +/* BED05C 8024026C 8E220050 */ lw $v0, 0x50($s1) +/* BED060 80240270 C6200008 */ lwc1 $f0, 8($s1) +/* BED064 80240274 8C42000C */ lw $v0, 0xc($v0) +/* BED068 80240278 E4400010 */ swc1 $f0, 0x10($v0) +/* BED06C 8024027C 96220046 */ lhu $v0, 0x46($s1) +/* BED070 80240280 8E23003C */ lw $v1, 0x3c($s1) +/* BED074 80240284 24420001 */ addiu $v0, $v0, 1 +/* BED078 80240288 A6220046 */ sh $v0, 0x46($s1) +/* BED07C 8024028C 00021400 */ sll $v0, $v0, 0x10 +/* BED080 80240290 00021403 */ sra $v0, $v0, 0x10 +/* BED084 80240294 0043102A */ slt $v0, $v0, $v1 +/* BED088 80240298 14400058 */ bnez $v0, .L802403FC +/* BED08C 8024029C 24020001 */ addiu $v0, $zero, 1 +/* BED090 802402A0 A6220044 */ sh $v0, 0x44($s1) +/* BED094 802402A4 080900FF */ j .L802403FC +/* BED098 802402A8 A6200046 */ sh $zero, 0x46($s1) +/* BED09C 802402AC 96220046 */ lhu $v0, 0x46($s1) +/* BED0A0 802402B0 24420001 */ addiu $v0, $v0, 1 +/* BED0A4 802402B4 A6220046 */ sh $v0, 0x46($s1) +/* BED0A8 802402B8 00021400 */ sll $v0, $v0, 0x10 +/* BED0AC 802402BC 00021403 */ sra $v0, $v0, 0x10 +/* BED0B0 802402C0 2842003C */ slti $v0, $v0, 0x3c +/* BED0B4 802402C4 1440004D */ bnez $v0, .L802403FC +/* BED0B8 802402C8 24020002 */ addiu $v0, $zero, 2 +/* BED0BC 802402CC 8E230050 */ lw $v1, 0x50($s1) +/* BED0C0 802402D0 A6220044 */ sh $v0, 0x44($s1) +/* BED0C4 802402D4 A6200046 */ sh $zero, 0x46($s1) +/* BED0C8 802402D8 8C63000C */ lw $v1, 0xc($v1) +/* BED0CC 802402DC 24020001 */ addiu $v0, $zero, 1 +/* BED0D0 802402E0 AC620070 */ sw $v0, 0x70($v1) +/* BED0D4 802402E4 8E220050 */ lw $v0, 0x50($s1) +/* BED0D8 802402E8 8C42000C */ lw $v0, 0xc($v0) +/* BED0DC 802402EC 080900FF */ j .L802403FC +/* BED0E0 802402F0 AC400074 */ sw $zero, 0x74($v0) +/* BED0E4 802402F4 96220046 */ lhu $v0, 0x46($s1) +/* BED0E8 802402F8 24420001 */ addiu $v0, $v0, 1 +/* BED0EC 802402FC A6220046 */ sh $v0, 0x46($s1) +/* BED0F0 80240300 00021400 */ sll $v0, $v0, 0x10 +/* BED0F4 80240304 00021403 */ sra $v0, $v0, 0x10 +/* BED0F8 80240308 2842003C */ slti $v0, $v0, 0x3c +/* BED0FC 8024030C 1440003B */ bnez $v0, .L802403FC +/* BED100 80240310 00000000 */ nop +/* BED104 80240314 3C013F80 */ lui $at, 0x3f80 +/* BED108 80240318 44810000 */ mtc1 $at, $f0 +/* BED10C 8024031C AFA00014 */ sw $zero, 0x14($sp) +/* BED110 80240320 E7A00010 */ swc1 $f0, 0x10($sp) +/* BED114 80240324 8E250018 */ lw $a1, 0x18($s1) +/* BED118 80240328 8E26001C */ lw $a2, 0x1c($s1) +/* BED11C 8024032C 8E270020 */ lw $a3, 0x20($s1) +/* BED120 80240330 0C01C9AC */ jal func_800726B0 +/* BED124 80240334 24040001 */ addiu $a0, $zero, 1 +/* BED128 80240338 AE220054 */ sw $v0, 0x54($s1) +/* BED12C 8024033C 8C43000C */ lw $v1, 0xc($v0) +/* BED130 80240340 9222003B */ lbu $v0, 0x3b($s1) +/* BED134 80240344 A0620034 */ sb $v0, 0x34($v1) +/* BED138 80240348 8E220054 */ lw $v0, 0x54($s1) +/* BED13C 8024034C 8C42000C */ lw $v0, 0xc($v0) +/* BED140 80240350 AC400020 */ sw $zero, 0x20($v0) +/* BED144 80240354 8E250018 */ lw $a1, 0x18($s1) +/* BED148 80240358 8E260028 */ lw $a2, 0x28($s1) +/* BED14C 8024035C 8E270020 */ lw $a3, 0x20($s1) +/* BED150 80240360 0C044898 */ jal create_shadow_type +/* BED154 80240364 0000202D */ daddu $a0, $zero, $zero +/* BED158 80240368 3C014210 */ lui $at, 0x4210 +/* BED15C 8024036C 44810000 */ mtc1 $at, $f0 +/* BED160 80240370 AE220040 */ sw $v0, 0x40($s1) +/* BED164 80240374 24020003 */ addiu $v0, $zero, 3 +/* BED168 80240378 A6220044 */ sh $v0, 0x44($s1) +/* BED16C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* BED170 80240380 A6200046 */ sh $zero, 0x46($s1) +/* BED174 80240384 AE20002C */ sw $zero, 0x2c($s1) +/* BED178 80240388 A6220048 */ sh $v0, 0x48($s1) +/* BED17C 8024038C 080900FF */ j .L802403FC +/* BED180 80240390 E6200030 */ swc1 $f0, 0x30($s1) +/* BED184 80240394 0000202D */ daddu $a0, $zero, $zero +/* BED188 80240398 3C054210 */ lui $a1, 0x4210 +/* BED18C 8024039C 3C064198 */ lui $a2, 0x4198 +/* BED190 802403A0 86270046 */ lh $a3, 0x46($s1) +/* BED194 802403A4 24020078 */ addiu $v0, $zero, 0x78 +/* BED198 802403A8 0C00A8ED */ jal update_lerp +/* BED19C 802403AC AFA20010 */ sw $v0, 0x10($sp) +/* BED1A0 802403B0 96220046 */ lhu $v0, 0x46($s1) +/* BED1A4 802403B4 E6200030 */ swc1 $f0, 0x30($s1) +/* BED1A8 802403B8 24420001 */ addiu $v0, $v0, 1 +/* BED1AC 802403BC A6220046 */ sh $v0, 0x46($s1) +/* BED1B0 802403C0 00021400 */ sll $v0, $v0, 0x10 +/* BED1B4 802403C4 00021403 */ sra $v0, $v0, 0x10 +/* BED1B8 802403C8 28420078 */ slti $v0, $v0, 0x78 +/* BED1BC 802403CC 1440000B */ bnez $v0, .L802403FC +/* BED1C0 802403D0 24030001 */ addiu $v1, $zero, 1 +/* BED1C4 802403D4 C620002C */ lwc1 $f0, 0x2c($s1) +/* BED1C8 802403D8 24020002 */ addiu $v0, $zero, 2 +/* BED1CC 802403DC A6220048 */ sh $v0, 0x48($s1) +/* BED1D0 802403E0 24020004 */ addiu $v0, $zero, 4 +/* BED1D4 802403E4 A620004C */ sh $zero, 0x4c($s1) +/* BED1D8 802403E8 A623004A */ sh $v1, 0x4a($s1) +/* BED1DC 802403EC A623004E */ sh $v1, 0x4e($s1) +/* BED1E0 802403F0 A6220044 */ sh $v0, 0x44($s1) +/* BED1E4 802403F4 A6200046 */ sh $zero, 0x46($s1) +/* BED1E8 802403F8 E6200034 */ swc1 $f0, 0x34($s1) +.L802403FC: +/* BED1EC 802403FC 8623004A */ lh $v1, 0x4a($s1) +/* BED1F0 80240400 24020001 */ addiu $v0, $zero, 1 +/* BED1F4 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* BED1F8 80240408 24020002 */ addiu $v0, $zero, 2 +/* BED1FC 8024040C 1062001E */ beq $v1, $v0, .L80240488 +/* BED200 80240410 00000000 */ nop +/* BED204 80240414 0809014C */ j .L80240530 +/* BED208 80240418 00000000 */ nop +.L8024041C: +/* BED20C 8024041C 8627004C */ lh $a3, 0x4c($s1) +/* BED210 80240420 24100078 */ addiu $s0, $zero, 0x78 +/* BED214 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* BED218 80240428 8E250034 */ lw $a1, 0x34($s1) +/* BED21C 8024042C 3C0644B4 */ lui $a2, 0x44b4 +/* BED220 80240430 0C00A8ED */ jal update_lerp +/* BED224 80240434 24040004 */ addiu $a0, $zero, 4 +/* BED228 80240438 8627004C */ lh $a3, 0x4c($s1) +/* BED22C 8024043C E620002C */ swc1 $f0, 0x2c($s1) +/* BED230 80240440 AFB00010 */ sw $s0, 0x10($sp) +/* BED234 80240444 8E25001C */ lw $a1, 0x1c($s1) +/* BED238 80240448 8E260024 */ lw $a2, 0x24($s1) +/* BED23C 8024044C 0C00A8ED */ jal update_lerp +/* BED240 80240450 2404000A */ addiu $a0, $zero, 0xa +/* BED244 80240454 9622004C */ lhu $v0, 0x4c($s1) +/* BED248 80240458 E6200004 */ swc1 $f0, 4($s1) +/* BED24C 8024045C 24420001 */ addiu $v0, $v0, 1 +/* BED250 80240460 A622004C */ sh $v0, 0x4c($s1) +/* BED254 80240464 00021400 */ sll $v0, $v0, 0x10 +/* BED258 80240468 00021403 */ sra $v0, $v0, 0x10 +/* BED25C 8024046C 0050102A */ slt $v0, $v0, $s0 +/* BED260 80240470 1440002F */ bnez $v0, .L80240530 +/* BED264 80240474 2402010E */ addiu $v0, $zero, 0x10e +/* BED268 80240478 A622004C */ sh $v0, 0x4c($s1) +/* BED26C 8024047C 24020002 */ addiu $v0, $zero, 2 +/* BED270 80240480 0809014B */ j .L8024052C +/* BED274 80240484 A622004A */ sh $v0, 0x4a($s1) +.L80240488: +/* BED278 80240488 8622004C */ lh $v0, 0x4c($s1) +/* BED27C 8024048C 44826000 */ mtc1 $v0, $f12 +/* BED280 80240490 00000000 */ nop +/* BED284 80240494 0C00A8BB */ jal sin_deg +/* BED288 80240498 46806320 */ cvt.s.w $f12, $f12 +/* BED28C 8024049C 3C013F80 */ lui $at, 0x3f80 +/* BED290 802404A0 44811000 */ mtc1 $at, $f2 +/* BED294 802404A4 00000000 */ nop +/* BED298 802404A8 46020000 */ add.s $f0, $f0, $f2 +/* BED29C 802404AC 46000000 */ add.s $f0, $f0, $f0 +/* BED2A0 802404B0 C6220024 */ lwc1 $f2, 0x24($s1) +/* BED2A4 802404B4 8622004C */ lh $v0, 0x4c($s1) +/* BED2A8 802404B8 46001080 */ add.s $f2, $f2, $f0 +/* BED2AC 802404BC 24420008 */ addiu $v0, $v0, 8 +/* BED2B0 802404C0 44826000 */ mtc1 $v0, $f12 +/* BED2B4 802404C4 00000000 */ nop +/* BED2B8 802404C8 46806320 */ cvt.s.w $f12, $f12 +/* BED2BC 802404CC 0C00A6C9 */ jal clamp_angle +/* BED2C0 802404D0 E6220004 */ swc1 $f2, 4($s1) +/* BED2C4 802404D4 4600010D */ trunc.w.s $f4, $f0 +/* BED2C8 802404D8 44022000 */ mfc1 $v0, $f4 +/* BED2CC 802404DC C6200004 */ lwc1 $f0, 4($s1) +/* BED2D0 802404E0 A622004C */ sh $v0, 0x4c($s1) +/* BED2D4 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0) +/* BED2D8 802404E8 8E060030 */ lw $a2, 0x30($s0) +/* BED2DC 802404EC 3C0141A0 */ lui $at, 0x41a0 +/* BED2E0 802404F0 44817000 */ mtc1 $at, $f14 +/* BED2E4 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* BED2E8 802404F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* BED2EC 802404FC C6200008 */ lwc1 $f0, 8($s1) +/* BED2F0 80240500 E7A00014 */ swc1 $f0, 0x14($sp) +/* BED2F4 80240504 8E270000 */ lw $a3, ($s1) +/* BED2F8 80240508 0C00A7CB */ jal dist3D +/* BED2FC 8024050C 460E1380 */ add.s $f14, $f2, $f14 +/* BED300 80240510 3C0141F0 */ lui $at, 0x41f0 +/* BED304 80240514 44811000 */ mtc1 $at, $f2 +/* BED308 80240518 00000000 */ nop +/* BED30C 8024051C 4600103C */ c.lt.s $f2, $f0 +/* BED310 80240520 00000000 */ nop +/* BED314 80240524 45010002 */ bc1t .L80240530 +/* BED318 80240528 24020003 */ addiu $v0, $zero, 3 +.L8024052C: +/* BED31C 8024052C A622004E */ sh $v0, 0x4e($s1) +.L80240530: +/* BED320 80240530 86230048 */ lh $v1, 0x48($s1) +/* BED324 80240534 24020001 */ addiu $v0, $zero, 1 +/* BED328 80240538 10620005 */ beq $v1, $v0, .L80240550 +/* BED32C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* BED330 80240540 10620008 */ beq $v1, $v0, .L80240564 +/* BED334 80240544 00000000 */ nop +/* BED338 80240548 08090169 */ j .L802405A4 +/* BED33C 8024054C 00000000 */ nop +.L80240550: +/* BED340 80240550 C620002C */ lwc1 $f0, 0x2c($s1) +/* BED344 80240554 C62C0030 */ lwc1 $f12, 0x30($s1) +/* BED348 80240558 0C00A6C9 */ jal clamp_angle +/* BED34C 8024055C 460C0300 */ add.s $f12, $f0, $f12 +/* BED350 80240560 E620002C */ swc1 $f0, 0x2c($s1) +.L80240564: +/* BED354 80240564 8E220054 */ lw $v0, 0x54($s1) +/* BED358 80240568 C620002C */ lwc1 $f0, 0x2c($s1) +/* BED35C 8024056C 8C42000C */ lw $v0, 0xc($v0) +/* BED360 80240570 E4400024 */ swc1 $f0, 0x24($v0) +/* BED364 80240574 8E220054 */ lw $v0, 0x54($s1) +/* BED368 80240578 C6200018 */ lwc1 $f0, 0x18($s1) +/* BED36C 8024057C 8C42000C */ lw $v0, 0xc($v0) +/* BED370 80240580 E4400004 */ swc1 $f0, 4($v0) +/* BED374 80240584 8E220054 */ lw $v0, 0x54($s1) +/* BED378 80240588 C6200004 */ lwc1 $f0, 4($s1) +/* BED37C 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* BED380 80240590 E4400008 */ swc1 $f0, 8($v0) +/* BED384 80240594 8E220054 */ lw $v0, 0x54($s1) +/* BED388 80240598 C6200020 */ lwc1 $f0, 0x20($s1) +/* BED38C 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* BED390 802405A0 E440000C */ swc1 $f0, 0xc($v0) +.L802405A4: +/* BED394 802405A4 8FBF0020 */ lw $ra, 0x20($sp) +/* BED398 802405A8 8FB1001C */ lw $s1, 0x1c($sp) +/* BED39C 802405AC 8FB00018 */ lw $s0, 0x18($sp) +/* BED3A0 802405B0 0000102D */ daddu $v0, $zero, $zero +/* BED3A4 802405B4 03E00008 */ jr $ra +/* BED3A8 802405B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802405BC_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802405BC_BECDF0.s new file mode 100644 index 0000000000..4762dfb5be --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802405BC_BECDF0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_BED3AC +/* BED3AC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BED3B0 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* BED3B4 802405C4 0080802D */ daddu $s0, $a0, $zero +/* BED3B8 802405C8 AFBF0014 */ sw $ra, 0x14($sp) +/* BED3BC 802405CC 8E02000C */ lw $v0, 0xc($s0) +/* BED3C0 802405D0 0C0B1EAF */ jal get_variable +/* BED3C4 802405D4 8C450000 */ lw $a1, ($v0) +/* BED3C8 802405D8 8E030084 */ lw $v1, 0x84($s0) +/* BED3CC 802405DC 8FBF0014 */ lw $ra, 0x14($sp) +/* BED3D0 802405E0 8463004E */ lh $v1, 0x4e($v1) +/* BED3D4 802405E4 8FB00010 */ lw $s0, 0x10($sp) +/* BED3D8 802405E8 00621826 */ xor $v1, $v1, $v0 +/* BED3DC 802405EC 2C630001 */ sltiu $v1, $v1, 1 +/* BED3E0 802405F0 00031040 */ sll $v0, $v1, 1 +/* BED3E4 802405F4 03E00008 */ jr $ra +/* BED3E8 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802405FC_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802405FC_BECDF0.s new file mode 100644 index 0000000000..3c2fc03cc1 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802405FC_BECDF0.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_BED3EC +/* BED3EC 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BED3F0 80240600 AFB20020 */ sw $s2, 0x20($sp) +/* BED3F4 80240604 0080902D */ daddu $s2, $a0, $zero +/* BED3F8 80240608 AFBF0024 */ sw $ra, 0x24($sp) +/* BED3FC 8024060C AFB1001C */ sw $s1, 0x1c($sp) +/* BED400 80240610 AFB00018 */ sw $s0, 0x18($sp) +/* BED404 80240614 10A00035 */ beqz $a1, .L802406EC +/* BED408 80240618 8E51000C */ lw $s1, 0xc($s2) +/* BED40C 8024061C 0C00AB39 */ jal heap_malloc +/* BED410 80240620 24040058 */ addiu $a0, $zero, 0x58 +/* BED414 80240624 0040802D */ daddu $s0, $v0, $zero +/* BED418 80240628 AE500084 */ sw $s0, 0x84($s2) +/* BED41C 8024062C 8E250000 */ lw $a1, ($s1) +/* BED420 80240630 26310004 */ addiu $s1, $s1, 4 +/* BED424 80240634 0C0B1EAF */ jal get_variable +/* BED428 80240638 0240202D */ daddu $a0, $s2, $zero +/* BED42C 8024063C AE020038 */ sw $v0, 0x38($s0) +/* BED430 80240640 8E250000 */ lw $a1, ($s1) +/* BED434 80240644 26310004 */ addiu $s1, $s1, 4 +/* BED438 80240648 0C0B210B */ jal get_float_variable +/* BED43C 8024064C 0240202D */ daddu $a0, $s2, $zero +/* BED440 80240650 E6000018 */ swc1 $f0, 0x18($s0) +/* BED444 80240654 8E250000 */ lw $a1, ($s1) +/* BED448 80240658 26310004 */ addiu $s1, $s1, 4 +/* BED44C 8024065C 0C0B210B */ jal get_float_variable +/* BED450 80240660 0240202D */ daddu $a0, $s2, $zero +/* BED454 80240664 E6000024 */ swc1 $f0, 0x24($s0) +/* BED458 80240668 8E250000 */ lw $a1, ($s1) +/* BED45C 8024066C 26310004 */ addiu $s1, $s1, 4 +/* BED460 80240670 0C0B210B */ jal get_float_variable +/* BED464 80240674 0240202D */ daddu $a0, $s2, $zero +/* BED468 80240678 E6000020 */ swc1 $f0, 0x20($s0) +/* BED46C 8024067C 8E250000 */ lw $a1, ($s1) +/* BED470 80240680 0C0B210B */ jal get_float_variable +/* BED474 80240684 0240202D */ daddu $a0, $s2, $zero +/* BED478 80240688 3C013F80 */ lui $at, 0x3f80 +/* BED47C 8024068C 44811000 */ mtc1 $at, $f2 +/* BED480 80240690 E6000028 */ swc1 $f0, 0x28($s0) +/* BED484 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* BED488 80240698 E7A20010 */ swc1 $f2, 0x10($sp) +/* BED48C 8024069C 8E050018 */ lw $a1, 0x18($s0) +/* BED490 802406A0 8E060024 */ lw $a2, 0x24($s0) +/* BED494 802406A4 8E070020 */ lw $a3, 0x20($s0) +/* BED498 802406A8 0C01C9AC */ jal func_800726B0 +/* BED49C 802406AC 24040001 */ addiu $a0, $zero, 1 +/* BED4A0 802406B0 AE020054 */ sw $v0, 0x54($s0) +/* BED4A4 802406B4 8C43000C */ lw $v1, 0xc($v0) +/* BED4A8 802406B8 9202003B */ lbu $v0, 0x3b($s0) +/* BED4AC 802406BC A0620034 */ sb $v0, 0x34($v1) +/* BED4B0 802406C0 8E020054 */ lw $v0, 0x54($s0) +/* BED4B4 802406C4 8C42000C */ lw $v0, 0xc($v0) +/* BED4B8 802406C8 AC400020 */ sw $zero, 0x20($v0) +/* BED4BC 802406CC 8E050018 */ lw $a1, 0x18($s0) +/* BED4C0 802406D0 8E060028 */ lw $a2, 0x28($s0) +/* BED4C4 802406D4 8E070020 */ lw $a3, 0x20($s0) +/* BED4C8 802406D8 0C044898 */ jal create_shadow_type +/* BED4CC 802406DC 0000202D */ daddu $a0, $zero, $zero +/* BED4D0 802406E0 AE020040 */ sw $v0, 0x40($s0) +/* BED4D4 802406E4 2402010E */ addiu $v0, $zero, 0x10e +/* BED4D8 802406E8 A602004C */ sh $v0, 0x4c($s0) +.L802406EC: +/* BED4DC 802406EC 8FBF0024 */ lw $ra, 0x24($sp) +/* BED4E0 802406F0 8FB20020 */ lw $s2, 0x20($sp) +/* BED4E4 802406F4 8FB1001C */ lw $s1, 0x1c($sp) +/* BED4E8 802406F8 8FB00018 */ lw $s0, 0x18($sp) +/* BED4EC 802406FC 24020002 */ addiu $v0, $zero, 2 +/* BED4F0 80240700 03E00008 */ jr $ra +/* BED4F4 80240704 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240708_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240708_BECDF0.s new file mode 100644 index 0000000000..561e77540f --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240708_BECDF0.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708_BED4F8 +/* BED4F8 80240708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BED4FC 8024070C AFBF0014 */ sw $ra, 0x14($sp) +/* BED500 80240710 AFB00010 */ sw $s0, 0x10($sp) +/* BED504 80240714 8C900084 */ lw $s0, 0x84($a0) +/* BED508 80240718 8602004C */ lh $v0, 0x4c($s0) +/* BED50C 8024071C 44826000 */ mtc1 $v0, $f12 +/* BED510 80240720 00000000 */ nop +/* BED514 80240724 0C00A8BB */ jal sin_deg +/* BED518 80240728 46806320 */ cvt.s.w $f12, $f12 +/* BED51C 8024072C 3C013F80 */ lui $at, 0x3f80 +/* BED520 80240730 44811000 */ mtc1 $at, $f2 +/* BED524 80240734 00000000 */ nop +/* BED528 80240738 46020000 */ add.s $f0, $f0, $f2 +/* BED52C 8024073C 46000000 */ add.s $f0, $f0, $f0 +/* BED530 80240740 C6020024 */ lwc1 $f2, 0x24($s0) +/* BED534 80240744 8602004C */ lh $v0, 0x4c($s0) +/* BED538 80240748 46001080 */ add.s $f2, $f2, $f0 +/* BED53C 8024074C 24420008 */ addiu $v0, $v0, 8 +/* BED540 80240750 44826000 */ mtc1 $v0, $f12 +/* BED544 80240754 00000000 */ nop +/* BED548 80240758 46806320 */ cvt.s.w $f12, $f12 +/* BED54C 8024075C 0C00A6C9 */ jal clamp_angle +/* BED550 80240760 E6020004 */ swc1 $f2, 4($s0) +/* BED554 80240764 4600010D */ trunc.w.s $f4, $f0 +/* BED558 80240768 44022000 */ mfc1 $v0, $f4 +/* BED55C 8024076C 00000000 */ nop +/* BED560 80240770 A602004C */ sh $v0, 0x4c($s0) +/* BED564 80240774 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* BED568 80240778 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* BED56C 8024077C C44C0028 */ lwc1 $f12, 0x28($v0) +/* BED570 80240780 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BED574 80240784 8E060018 */ lw $a2, 0x18($s0) +/* BED578 80240788 0C00A7B5 */ jal dist2D +/* BED57C 8024078C 8E070020 */ lw $a3, 0x20($s0) +/* BED580 80240790 3C0141F0 */ lui $at, 0x41f0 +/* BED584 80240794 44811000 */ mtc1 $at, $f2 +/* BED588 80240798 00000000 */ nop +/* BED58C 8024079C 4602003E */ c.le.s $f0, $f2 +/* BED590 802407A0 00000000 */ nop +/* BED594 802407A4 45000002 */ bc1f .L802407B0 +/* BED598 802407A8 24020003 */ addiu $v0, $zero, 3 +/* BED59C 802407AC A602004E */ sh $v0, 0x4e($s0) +.L802407B0: +/* BED5A0 802407B0 8E020054 */ lw $v0, 0x54($s0) +/* BED5A4 802407B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* BED5A8 802407B8 8C42000C */ lw $v0, 0xc($v0) +/* BED5AC 802407BC E4400004 */ swc1 $f0, 4($v0) +/* BED5B0 802407C0 8E020054 */ lw $v0, 0x54($s0) +/* BED5B4 802407C4 C6000004 */ lwc1 $f0, 4($s0) +/* BED5B8 802407C8 8C42000C */ lw $v0, 0xc($v0) +/* BED5BC 802407CC E4400008 */ swc1 $f0, 8($v0) +/* BED5C0 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* BED5C4 802407D4 C6000020 */ lwc1 $f0, 0x20($s0) +/* BED5C8 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* BED5CC 802407DC E440000C */ swc1 $f0, 0xc($v0) +/* BED5D0 802407E0 8FBF0014 */ lw $ra, 0x14($sp) +/* BED5D4 802407E4 8FB00010 */ lw $s0, 0x10($sp) +/* BED5D8 802407E8 0000102D */ daddu $v0, $zero, $zero +/* BED5DC 802407EC 03E00008 */ jr $ra +/* BED5E0 802407F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* BED5E4 802407F4 00000000 */ nop +/* BED5E8 802407F8 00000000 */ nop +/* BED5EC 802407FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240800_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240800_BECDF0.s new file mode 100644 index 0000000000..4983e96ce6 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240800_BECDF0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240800_BED5F0 +/* BED5F0 80240800 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BED5F4 80240804 AFB00010 */ sw $s0, 0x10($sp) +/* BED5F8 80240808 0080802D */ daddu $s0, $a0, $zero +/* BED5FC 8024080C 3C05FE36 */ lui $a1, 0xfe36 +/* BED600 80240810 AFBF0014 */ sw $ra, 0x14($sp) +/* BED604 80240814 0C0B210B */ jal get_float_variable +/* BED608 80240818 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BED60C 8024081C 46000086 */ mov.s $f2, $f0 +/* BED610 80240820 3C018024 */ lui $at, 0x8024 +/* BED614 80240824 D4247940 */ ldc1 $f4, 0x7940($at) +/* BED618 80240828 46001021 */ cvt.d.s $f0, $f2 +/* BED61C 8024082C 4620203E */ c.le.d $f4, $f0 +/* BED620 80240830 00000000 */ nop +/* BED624 80240834 45000003 */ bc1f .L80240844 +/* BED628 80240838 0200202D */ daddu $a0, $s0, $zero +/* BED62C 8024083C 46240001 */ sub.d $f0, $f0, $f4 +/* BED630 80240840 462000A0 */ cvt.s.d $f2, $f0 +.L80240844: +/* BED634 80240844 3C05FE36 */ lui $a1, 0xfe36 +/* BED638 80240848 44061000 */ mfc1 $a2, $f2 +/* BED63C 8024084C 0C0B2190 */ jal set_float_variable +/* BED640 80240850 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BED644 80240854 8FBF0014 */ lw $ra, 0x14($sp) +/* BED648 80240858 8FB00010 */ lw $s0, 0x10($sp) +/* BED64C 8024085C 24020002 */ addiu $v0, $zero, 2 +/* BED650 80240860 03E00008 */ jr $ra +/* BED654 80240864 27BD0018 */ addiu $sp, $sp, 0x18 +/* BED658 80240868 00000000 */ nop +/* BED65C 8024086C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240870_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240870_BECDF0.s new file mode 100644 index 0000000000..40a5dba70d --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240870_BECDF0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_BED660 +/* BED660 80240870 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BED664 80240874 AFBF0010 */ sw $ra, 0x10($sp) +/* BED668 80240878 0C04417A */ jal get_entity_by_index +/* BED66C 8024087C 8C840084 */ lw $a0, 0x84($a0) +/* BED670 80240880 0040182D */ daddu $v1, $v0, $zero +/* BED674 80240884 8C640000 */ lw $a0, ($v1) +/* BED678 80240888 3C050010 */ lui $a1, 0x10 +/* BED67C 8024088C 00852025 */ or $a0, $a0, $a1 +/* BED680 80240890 AC640000 */ sw $a0, ($v1) +/* BED684 80240894 8FBF0010 */ lw $ra, 0x10($sp) +/* BED688 80240898 24020002 */ addiu $v0, $zero, 2 +/* BED68C 8024089C 03E00008 */ jr $ra +/* BED690 802408A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802408A4_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802408A4_BECDF0.s new file mode 100644 index 0000000000..db20adb625 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802408A4_BECDF0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A4_BED694 +/* BED694 802408A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BED698 802408A8 AFB20018 */ sw $s2, 0x18($sp) +/* BED69C 802408AC 0080902D */ daddu $s2, $a0, $zero +/* BED6A0 802408B0 AFBF001C */ sw $ra, 0x1c($sp) +/* BED6A4 802408B4 AFB10014 */ sw $s1, 0x14($sp) +/* BED6A8 802408B8 AFB00010 */ sw $s0, 0x10($sp) +/* BED6AC 802408BC 8E50000C */ lw $s0, 0xc($s2) +/* BED6B0 802408C0 8E050000 */ lw $a1, ($s0) +/* BED6B4 802408C4 0C0B1EAF */ jal get_variable +/* BED6B8 802408C8 26100004 */ addiu $s0, $s0, 4 +/* BED6BC 802408CC 0C04417A */ jal get_entity_by_index +/* BED6C0 802408D0 0040202D */ daddu $a0, $v0, $zero +/* BED6C4 802408D4 8E050000 */ lw $a1, ($s0) +/* BED6C8 802408D8 26100004 */ addiu $s0, $s0, 4 +/* BED6CC 802408DC 0040882D */ daddu $s1, $v0, $zero +/* BED6D0 802408E0 C6200048 */ lwc1 $f0, 0x48($s1) +/* BED6D4 802408E4 4600008D */ trunc.w.s $f2, $f0 +/* BED6D8 802408E8 44061000 */ mfc1 $a2, $f2 +/* BED6DC 802408EC 0C0B2026 */ jal set_variable +/* BED6E0 802408F0 0240202D */ daddu $a0, $s2, $zero +/* BED6E4 802408F4 8E050000 */ lw $a1, ($s0) +/* BED6E8 802408F8 26100004 */ addiu $s0, $s0, 4 +/* BED6EC 802408FC C620004C */ lwc1 $f0, 0x4c($s1) +/* BED6F0 80240900 4600008D */ trunc.w.s $f2, $f0 +/* BED6F4 80240904 44061000 */ mfc1 $a2, $f2 +/* BED6F8 80240908 0C0B2026 */ jal set_variable +/* BED6FC 8024090C 0240202D */ daddu $a0, $s2, $zero +/* BED700 80240910 C6200050 */ lwc1 $f0, 0x50($s1) +/* BED704 80240914 8E050000 */ lw $a1, ($s0) +/* BED708 80240918 4600008D */ trunc.w.s $f2, $f0 +/* BED70C 8024091C 44061000 */ mfc1 $a2, $f2 +/* BED710 80240920 0C0B2026 */ jal set_variable +/* BED714 80240924 0240202D */ daddu $a0, $s2, $zero +/* BED718 80240928 8FBF001C */ lw $ra, 0x1c($sp) +/* BED71C 8024092C 8FB20018 */ lw $s2, 0x18($sp) +/* BED720 80240930 8FB10014 */ lw $s1, 0x14($sp) +/* BED724 80240934 8FB00010 */ lw $s0, 0x10($sp) +/* BED728 80240938 24020002 */ addiu $v0, $zero, 2 +/* BED72C 8024093C 03E00008 */ jr $ra +/* BED730 80240940 27BD0020 */ addiu $sp, $sp, 0x20 +/* BED734 80240944 00000000 */ nop +/* BED738 80240948 00000000 */ nop +/* BED73C 8024094C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240950_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240950_BECDF0.s new file mode 100644 index 0000000000..301db5d436 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240950_BECDF0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240950_BED740 +/* BED740 80240950 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BED744 80240954 AFB3002C */ sw $s3, 0x2c($sp) +/* BED748 80240958 0080982D */ daddu $s3, $a0, $zero +/* BED74C 8024095C AFBF0030 */ sw $ra, 0x30($sp) +/* BED750 80240960 AFB20028 */ sw $s2, 0x28($sp) +/* BED754 80240964 AFB10024 */ sw $s1, 0x24($sp) +/* BED758 80240968 AFB00020 */ sw $s0, 0x20($sp) +/* BED75C 8024096C 8E710148 */ lw $s1, 0x148($s3) +/* BED760 80240970 86240008 */ lh $a0, 8($s1) +/* BED764 80240974 0C00EABB */ jal get_npc_unsafe +/* BED768 80240978 00A0902D */ daddu $s2, $a1, $zero +/* BED76C 8024097C 8E440004 */ lw $a0, 4($s2) +/* BED770 80240980 0040802D */ daddu $s0, $v0, $zero +/* BED774 80240984 00041FC2 */ srl $v1, $a0, 0x1f +/* BED778 80240988 00832021 */ addu $a0, $a0, $v1 +/* BED77C 8024098C 00042043 */ sra $a0, $a0, 1 +/* BED780 80240990 0C00A67F */ jal rand_int +/* BED784 80240994 24840001 */ addiu $a0, $a0, 1 +/* BED788 80240998 8E430004 */ lw $v1, 4($s2) +/* BED78C 8024099C 000327C2 */ srl $a0, $v1, 0x1f +/* BED790 802409A0 00641821 */ addu $v1, $v1, $a0 +/* BED794 802409A4 00031843 */ sra $v1, $v1, 1 +/* BED798 802409A8 00621821 */ addu $v1, $v1, $v0 +/* BED79C 802409AC A603008E */ sh $v1, 0x8e($s0) +/* BED7A0 802409B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BED7A4 802409B4 C6000040 */ lwc1 $f0, 0x40($s0) +/* BED7A8 802409B8 C4640000 */ lwc1 $f4, ($v1) +/* BED7AC 802409BC 46802120 */ cvt.s.w $f4, $f4 +/* BED7B0 802409C0 C4620008 */ lwc1 $f2, 8($v1) +/* BED7B4 802409C4 468010A0 */ cvt.s.w $f2, $f2 +/* BED7B8 802409C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* BED7BC 802409CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BED7C0 802409D0 44061000 */ mfc1 $a2, $f2 +/* BED7C4 802409D4 C440000C */ lwc1 $f0, 0xc($v0) +/* BED7C8 802409D8 46800020 */ cvt.s.w $f0, $f0 +/* BED7CC 802409DC E7A00014 */ swc1 $f0, 0x14($sp) +/* BED7D0 802409E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BED7D4 802409E4 44052000 */ mfc1 $a1, $f4 +/* BED7D8 802409E8 C4400010 */ lwc1 $f0, 0x10($v0) +/* BED7DC 802409EC 46800020 */ cvt.s.w $f0, $f0 +/* BED7E0 802409F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BED7E4 802409F4 8C640018 */ lw $a0, 0x18($v1) +/* BED7E8 802409F8 0C0123F5 */ jal is_point_within_region +/* BED7EC 802409FC 8E070038 */ lw $a3, 0x38($s0) +/* BED7F0 80240A00 1040000E */ beqz $v0, .L80240A3C +/* BED7F4 80240A04 00000000 */ nop +/* BED7F8 80240A08 8E2200D0 */ lw $v0, 0xd0($s1) +/* BED7FC 80240A0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BED800 80240A10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BED804 80240A14 C4460000 */ lwc1 $f6, ($v0) +/* BED808 80240A18 468031A0 */ cvt.s.w $f6, $f6 +/* BED80C 80240A1C 44063000 */ mfc1 $a2, $f6 +/* BED810 80240A20 C4460008 */ lwc1 $f6, 8($v0) +/* BED814 80240A24 468031A0 */ cvt.s.w $f6, $f6 +/* BED818 80240A28 44073000 */ mfc1 $a3, $f6 +/* BED81C 80240A2C 0C00A720 */ jal atan2 +/* BED820 80240A30 00000000 */ nop +/* BED824 80240A34 0809029B */ j .L80240A6C +/* BED828 80240A38 E600000C */ swc1 $f0, 0xc($s0) +.L80240A3C: +/* BED82C 80240A3C 0C00A67F */ jal rand_int +/* BED830 80240A40 2404003C */ addiu $a0, $zero, 0x3c +/* BED834 80240A44 C60C000C */ lwc1 $f12, 0xc($s0) +/* BED838 80240A48 44820000 */ mtc1 $v0, $f0 +/* BED83C 80240A4C 00000000 */ nop +/* BED840 80240A50 46800020 */ cvt.s.w $f0, $f0 +/* BED844 80240A54 46006300 */ add.s $f12, $f12, $f0 +/* BED848 80240A58 3C0141F0 */ lui $at, 0x41f0 +/* BED84C 80240A5C 44810000 */ mtc1 $at, $f0 +/* BED850 80240A60 0C00A6C9 */ jal clamp_angle +/* BED854 80240A64 46006301 */ sub.s $f12, $f12, $f0 +/* BED858 80240A68 E600000C */ swc1 $f0, 0xc($s0) +.L80240A6C: +/* BED85C 80240A6C 8E2200CC */ lw $v0, 0xcc($s1) +/* BED860 80240A70 8C420004 */ lw $v0, 4($v0) +/* BED864 80240A74 AE020028 */ sw $v0, 0x28($s0) +/* BED868 80240A78 AE600074 */ sw $zero, 0x74($s3) +/* BED86C 80240A7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BED870 80240A80 8C420014 */ lw $v0, 0x14($v0) +/* BED874 80240A84 04410004 */ bgez $v0, .L80240A98 +/* BED878 80240A88 00000000 */ nop +/* BED87C 80240A8C C6400000 */ lwc1 $f0, ($s2) +/* BED880 80240A90 080902AE */ j .L80240AB8 +/* BED884 80240A94 E6000018 */ swc1 $f0, 0x18($s0) +.L80240A98: +/* BED888 80240A98 3C018024 */ lui $at, 0x8024 +/* BED88C 80240A9C D4227950 */ ldc1 $f2, 0x7950($at) +/* BED890 80240AA0 44820000 */ mtc1 $v0, $f0 +/* BED894 80240AA4 00000000 */ nop +/* BED898 80240AA8 46800021 */ cvt.d.w $f0, $f0 +/* BED89C 80240AAC 46220003 */ div.d $f0, $f0, $f2 +/* BED8A0 80240AB0 46200020 */ cvt.s.d $f0, $f0 +/* BED8A4 80240AB4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240AB8: +/* BED8A8 80240AB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BED8AC 80240ABC 3C014059 */ lui $at, 0x4059 +/* BED8B0 80240AC0 44811800 */ mtc1 $at, $f3 +/* BED8B4 80240AC4 44801000 */ mtc1 $zero, $f2 +/* BED8B8 80240AC8 46000021 */ cvt.d.s $f0, $f0 +/* BED8BC 80240ACC 46220002 */ mul.d $f0, $f0, $f2 +/* BED8C0 80240AD0 00000000 */ nop +/* BED8C4 80240AD4 24020001 */ addiu $v0, $zero, 1 +/* BED8C8 80240AD8 4620018D */ trunc.w.d $f6, $f0 +/* BED8CC 80240ADC E626007C */ swc1 $f6, 0x7c($s1) +/* BED8D0 80240AE0 AE620070 */ sw $v0, 0x70($s3) +/* BED8D4 80240AE4 8FBF0030 */ lw $ra, 0x30($sp) +/* BED8D8 80240AE8 8FB3002C */ lw $s3, 0x2c($sp) +/* BED8DC 80240AEC 8FB20028 */ lw $s2, 0x28($sp) +/* BED8E0 80240AF0 8FB10024 */ lw $s1, 0x24($sp) +/* BED8E4 80240AF4 8FB00020 */ lw $s0, 0x20($sp) +/* BED8E8 80240AF8 03E00008 */ jr $ra +/* BED8EC 80240AFC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80240B00_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80240B00_BECDF0.s new file mode 100644 index 0000000000..97fd3b2b29 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80240B00_BECDF0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_BED8F0 +/* BED8F0 80240B00 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BED8F4 80240B04 AFB3004C */ sw $s3, 0x4c($sp) +/* BED8F8 80240B08 0080982D */ daddu $s3, $a0, $zero +/* BED8FC 80240B0C AFBF0058 */ sw $ra, 0x58($sp) +/* BED900 80240B10 AFB50054 */ sw $s5, 0x54($sp) +/* BED904 80240B14 AFB40050 */ sw $s4, 0x50($sp) +/* BED908 80240B18 AFB20048 */ sw $s2, 0x48($sp) +/* BED90C 80240B1C AFB10044 */ sw $s1, 0x44($sp) +/* BED910 80240B20 AFB00040 */ sw $s0, 0x40($sp) +/* BED914 80240B24 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* BED918 80240B28 F7B80070 */ sdc1 $f24, 0x70($sp) +/* BED91C 80240B2C F7B60068 */ sdc1 $f22, 0x68($sp) +/* BED920 80240B30 F7B40060 */ sdc1 $f20, 0x60($sp) +/* BED924 80240B34 8E710148 */ lw $s1, 0x148($s3) +/* BED928 80240B38 00A0902D */ daddu $s2, $a1, $zero +/* BED92C 80240B3C 86240008 */ lh $a0, 8($s1) +/* BED930 80240B40 0C00EABB */ jal get_npc_unsafe +/* BED934 80240B44 00C0A82D */ daddu $s5, $a2, $zero +/* BED938 80240B48 0040802D */ daddu $s0, $v0, $zero +/* BED93C 80240B4C 0000A02D */ daddu $s4, $zero, $zero +/* BED940 80240B50 C624007C */ lwc1 $f4, 0x7c($s1) +/* BED944 80240B54 46802120 */ cvt.s.w $f4, $f4 +/* BED948 80240B58 C6220088 */ lwc1 $f2, 0x88($s1) +/* BED94C 80240B5C 468010A0 */ cvt.s.w $f2, $f2 +/* BED950 80240B60 460010A1 */ cvt.d.s $f2, $f2 +/* BED954 80240B64 46002121 */ cvt.d.s $f4, $f4 +/* BED958 80240B68 C600003C */ lwc1 $f0, 0x3c($s0) +/* BED95C 80240B6C 3C014059 */ lui $at, 0x4059 +/* BED960 80240B70 44813800 */ mtc1 $at, $f7 +/* BED964 80240B74 44803000 */ mtc1 $zero, $f6 +/* BED968 80240B78 46000021 */ cvt.d.s $f0, $f0 +/* BED96C 80240B7C 46260002 */ mul.d $f0, $f0, $f6 +/* BED970 80240B80 00000000 */ nop +/* BED974 80240B84 24020001 */ addiu $v0, $zero, 1 +/* BED978 80240B88 8E24006C */ lw $a0, 0x6c($s1) +/* BED97C 80240B8C 46261083 */ div.d $f2, $f2, $f6 +/* BED980 80240B90 462010A0 */ cvt.s.d $f2, $f2 +/* BED984 80240B94 46262103 */ div.d $f4, $f4, $f6 +/* BED988 80240B98 46202520 */ cvt.s.d $f20, $f4 +/* BED98C 80240B9C 30830011 */ andi $v1, $a0, 0x11 +/* BED990 80240BA0 4620020D */ trunc.w.d $f8, $f0 +/* BED994 80240BA4 E628007C */ swc1 $f8, 0x7c($s1) +/* BED998 80240BA8 C6200078 */ lwc1 $f0, 0x78($s1) +/* BED99C 80240BAC 46800020 */ cvt.s.w $f0, $f0 +/* BED9A0 80240BB0 46000021 */ cvt.d.s $f0, $f0 +/* BED9A4 80240BB4 46260003 */ div.d $f0, $f0, $f6 +/* BED9A8 80240BB8 462006A0 */ cvt.s.d $f26, $f0 +/* BED9AC 80240BBC C6200070 */ lwc1 $f0, 0x70($s1) +/* BED9B0 80240BC0 46800020 */ cvt.s.w $f0, $f0 +/* BED9B4 80240BC4 46000021 */ cvt.d.s $f0, $f0 +/* BED9B8 80240BC8 46260003 */ div.d $f0, $f0, $f6 +/* BED9BC 80240BCC 462005A0 */ cvt.s.d $f22, $f0 +/* BED9C0 80240BD0 14620025 */ bne $v1, $v0, .L80240C68 +/* BED9C4 80240BD4 4602D600 */ add.s $f24, $f26, $f2 +/* BED9C8 80240BD8 8E020000 */ lw $v0, ($s0) +/* BED9CC 80240BDC 30420008 */ andi $v0, $v0, 8 +/* BED9D0 80240BE0 10400009 */ beqz $v0, .L80240C08 +/* BED9D4 80240BE4 27A50028 */ addiu $a1, $sp, 0x28 +/* BED9D8 80240BE8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BED9DC 80240BEC 4600C001 */ sub.s $f0, $f24, $f0 +/* BED9E0 80240BF0 4600B03C */ c.lt.s $f22, $f0 +/* BED9E4 80240BF4 00000000 */ nop +/* BED9E8 80240BF8 4500001B */ bc1f .L80240C68 +/* BED9EC 80240BFC 34820010 */ ori $v0, $a0, 0x10 +/* BED9F0 80240C00 0809031A */ j .L80240C68 +/* BED9F4 80240C04 AE22006C */ sw $v0, 0x6c($s1) +.L80240C08: +/* BED9F8 80240C08 27A6002C */ addiu $a2, $sp, 0x2c +/* BED9FC 80240C0C C6000038 */ lwc1 $f0, 0x38($s0) +/* BEDA00 80240C10 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEDA04 80240C14 C6040040 */ lwc1 $f4, 0x40($s0) +/* BEDA08 80240C18 3C01447A */ lui $at, 0x447a +/* BEDA0C 80240C1C 44813000 */ mtc1 $at, $f6 +/* BEDA10 80240C20 27A20034 */ addiu $v0, $sp, 0x34 +/* BEDA14 80240C24 E7A00028 */ swc1 $f0, 0x28($sp) +/* BEDA18 80240C28 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BEDA1C 80240C2C E7A40030 */ swc1 $f4, 0x30($sp) +/* BEDA20 80240C30 E7A60034 */ swc1 $f6, 0x34($sp) +/* BEDA24 80240C34 AFA20010 */ sw $v0, 0x10($sp) +/* BEDA28 80240C38 8E040080 */ lw $a0, 0x80($s0) +/* BEDA2C 80240C3C 0C0372DF */ jal func_800DCB7C +/* BEDA30 80240C40 27A70030 */ addiu $a3, $sp, 0x30 +/* BEDA34 80240C44 C7A00034 */ lwc1 $f0, 0x34($sp) +/* BEDA38 80240C48 4600D001 */ sub.s $f0, $f26, $f0 +/* BEDA3C 80240C4C 4600B03C */ c.lt.s $f22, $f0 +/* BEDA40 80240C50 00000000 */ nop +/* BEDA44 80240C54 45000004 */ bc1f .L80240C68 +/* BEDA48 80240C58 00000000 */ nop +/* BEDA4C 80240C5C 8E22006C */ lw $v0, 0x6c($s1) +/* BEDA50 80240C60 34420010 */ ori $v0, $v0, 0x10 +/* BEDA54 80240C64 AE22006C */ sw $v0, 0x6c($s1) +.L80240C68: +/* BEDA58 80240C68 8E22006C */ lw $v0, 0x6c($s1) +/* BEDA5C 80240C6C 24030011 */ addiu $v1, $zero, 0x11 +/* BEDA60 80240C70 30420011 */ andi $v0, $v0, 0x11 +/* BEDA64 80240C74 14430039 */ bne $v0, $v1, .L80240D5C +/* BEDA68 80240C78 00000000 */ nop +/* BEDA6C 80240C7C 8E020000 */ lw $v0, ($s0) +/* BEDA70 80240C80 30420008 */ andi $v0, $v0, 8 +/* BEDA74 80240C84 1040000A */ beqz $v0, .L80240CB0 +/* BEDA78 80240C88 4600C106 */ mov.s $f4, $f24 +/* BEDA7C 80240C8C 4614C081 */ sub.s $f2, $f24, $f20 +/* BEDA80 80240C90 3C018024 */ lui $at, 0x8024 +/* BEDA84 80240C94 D4207958 */ ldc1 $f0, 0x7958($at) +/* BEDA88 80240C98 460010A1 */ cvt.d.s $f2, $f2 +/* BEDA8C 80240C9C 46201082 */ mul.d $f2, $f2, $f0 +/* BEDA90 80240CA0 00000000 */ nop +/* BEDA94 80240CA4 4600A021 */ cvt.d.s $f0, $f20 +/* BEDA98 80240CA8 08090345 */ j .L80240D14 +/* BEDA9C 80240CAC 46220000 */ add.d $f0, $f0, $f2 +.L80240CB0: +/* BEDAA0 80240CB0 27A50028 */ addiu $a1, $sp, 0x28 +/* BEDAA4 80240CB4 27A6002C */ addiu $a2, $sp, 0x2c +/* BEDAA8 80240CB8 C6000038 */ lwc1 $f0, 0x38($s0) +/* BEDAAC 80240CBC C6020040 */ lwc1 $f2, 0x40($s0) +/* BEDAB0 80240CC0 3C01447A */ lui $at, 0x447a +/* BEDAB4 80240CC4 44812000 */ mtc1 $at, $f4 +/* BEDAB8 80240CC8 27A20034 */ addiu $v0, $sp, 0x34 +/* BEDABC 80240CCC E7B4002C */ swc1 $f20, 0x2c($sp) +/* BEDAC0 80240CD0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BEDAC4 80240CD4 E7A20030 */ swc1 $f2, 0x30($sp) +/* BEDAC8 80240CD8 E7A40034 */ swc1 $f4, 0x34($sp) +/* BEDACC 80240CDC AFA20010 */ sw $v0, 0x10($sp) +/* BEDAD0 80240CE0 8E040080 */ lw $a0, 0x80($s0) +/* BEDAD4 80240CE4 0C0372DF */ jal func_800DCB7C +/* BEDAD8 80240CE8 27A70030 */ addiu $a3, $sp, 0x30 +/* BEDADC 80240CEC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* BEDAE0 80240CF0 461A2100 */ add.s $f4, $f4, $f26 +/* BEDAE4 80240CF4 46142081 */ sub.s $f2, $f4, $f20 +/* BEDAE8 80240CF8 3C018024 */ lui $at, 0x8024 +/* BEDAEC 80240CFC D4207960 */ ldc1 $f0, 0x7960($at) +/* BEDAF0 80240D00 460010A1 */ cvt.d.s $f2, $f2 +/* BEDAF4 80240D04 46201082 */ mul.d $f2, $f2, $f0 +/* BEDAF8 80240D08 00000000 */ nop +/* BEDAFC 80240D0C 4600A021 */ cvt.d.s $f0, $f20 +/* BEDB00 80240D10 46220000 */ add.d $f0, $f0, $f2 +.L80240D14: +/* BEDB04 80240D14 46200020 */ cvt.s.d $f0, $f0 +/* BEDB08 80240D18 E600003C */ swc1 $f0, 0x3c($s0) +/* BEDB0C 80240D1C C600003C */ lwc1 $f0, 0x3c($s0) +/* BEDB10 80240D20 46002001 */ sub.s $f0, $f4, $f0 +/* BEDB14 80240D24 3C013FF0 */ lui $at, 0x3ff0 +/* BEDB18 80240D28 44811800 */ mtc1 $at, $f3 +/* BEDB1C 80240D2C 44801000 */ mtc1 $zero, $f2 +/* BEDB20 80240D30 46000005 */ abs.s $f0, $f0 +/* BEDB24 80240D34 46000021 */ cvt.d.s $f0, $f0 +/* BEDB28 80240D38 4622003C */ c.lt.d $f0, $f2 +/* BEDB2C 80240D3C 00000000 */ nop +/* BEDB30 80240D40 45000036 */ bc1f .L80240E1C +/* BEDB34 80240D44 2403FFEF */ addiu $v1, $zero, -0x11 +/* BEDB38 80240D48 E604003C */ swc1 $f4, 0x3c($s0) +/* BEDB3C 80240D4C 8E22006C */ lw $v0, 0x6c($s1) +/* BEDB40 80240D50 00431024 */ and $v0, $v0, $v1 +/* BEDB44 80240D54 08090387 */ j .L80240E1C +/* BEDB48 80240D58 AE22006C */ sw $v0, 0x6c($s1) +.L80240D5C: +/* BEDB4C 80240D5C 8E220070 */ lw $v0, 0x70($s1) +/* BEDB50 80240D60 1840002E */ blez $v0, .L80240E1C +/* BEDB54 80240D64 00000000 */ nop +/* BEDB58 80240D68 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BEDB5C 80240D6C 0C00A8BB */ jal sin_deg +/* BEDB60 80240D70 46806320 */ cvt.s.w $f12, $f12 +/* BEDB64 80240D74 8E020000 */ lw $v0, ($s0) +/* BEDB68 80240D78 30420008 */ andi $v0, $v0, 8 +/* BEDB6C 80240D7C 10400003 */ beqz $v0, .L80240D8C +/* BEDB70 80240D80 46000506 */ mov.s $f20, $f0 +/* BEDB74 80240D84 08090373 */ j .L80240DCC +/* BEDB78 80240D88 0000102D */ daddu $v0, $zero, $zero +.L80240D8C: +/* BEDB7C 80240D8C 27A50028 */ addiu $a1, $sp, 0x28 +/* BEDB80 80240D90 27A6002C */ addiu $a2, $sp, 0x2c +/* BEDB84 80240D94 C6000038 */ lwc1 $f0, 0x38($s0) +/* BEDB88 80240D98 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEDB8C 80240D9C C6040040 */ lwc1 $f4, 0x40($s0) +/* BEDB90 80240DA0 3C01447A */ lui $at, 0x447a +/* BEDB94 80240DA4 44813000 */ mtc1 $at, $f6 +/* BEDB98 80240DA8 27A20034 */ addiu $v0, $sp, 0x34 +/* BEDB9C 80240DAC E7A00028 */ swc1 $f0, 0x28($sp) +/* BEDBA0 80240DB0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BEDBA4 80240DB4 E7A40030 */ swc1 $f4, 0x30($sp) +/* BEDBA8 80240DB8 E7A60034 */ swc1 $f6, 0x34($sp) +/* BEDBAC 80240DBC AFA20010 */ sw $v0, 0x10($sp) +/* BEDBB0 80240DC0 8E040080 */ lw $a0, 0x80($s0) +/* BEDBB4 80240DC4 0C0372DF */ jal func_800DCB7C +/* BEDBB8 80240DC8 27A70030 */ addiu $a3, $sp, 0x30 +.L80240DCC: +/* BEDBBC 80240DCC 10400007 */ beqz $v0, .L80240DEC +/* BEDBC0 80240DD0 00000000 */ nop +/* BEDBC4 80240DD4 4616A082 */ mul.s $f2, $f20, $f22 +/* BEDBC8 80240DD8 00000000 */ nop +/* BEDBCC 80240DDC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BEDBD0 80240DE0 461A0000 */ add.s $f0, $f0, $f26 +/* BEDBD4 80240DE4 0809037E */ j .L80240DF8 +/* BEDBD8 80240DE8 46020000 */ add.s $f0, $f0, $f2 +.L80240DEC: +/* BEDBDC 80240DEC 4616A002 */ mul.s $f0, $f20, $f22 +/* BEDBE0 80240DF0 00000000 */ nop +/* BEDBE4 80240DF4 4600C000 */ add.s $f0, $f24, $f0 +.L80240DF8: +/* BEDBE8 80240DF8 E600003C */ swc1 $f0, 0x3c($s0) +/* BEDBEC 80240DFC 8E220074 */ lw $v0, 0x74($s1) +/* BEDBF0 80240E00 2442000A */ addiu $v0, $v0, 0xa +/* BEDBF4 80240E04 44826000 */ mtc1 $v0, $f12 +/* BEDBF8 80240E08 00000000 */ nop +/* BEDBFC 80240E0C 0C00A6C9 */ jal clamp_angle +/* BEDC00 80240E10 46806320 */ cvt.s.w $f12, $f12 +/* BEDC04 80240E14 4600020D */ trunc.w.s $f8, $f0 +/* BEDC08 80240E18 E6280074 */ swc1 $f8, 0x74($s1) +.L80240E1C: +/* BEDC0C 80240E1C 8E220090 */ lw $v0, 0x90($s1) +/* BEDC10 80240E20 1C40004A */ bgtz $v0, .L80240F4C +/* BEDC14 80240E24 2442FFFF */ addiu $v0, $v0, -1 +/* BEDC18 80240E28 8E430014 */ lw $v1, 0x14($s2) +/* BEDC1C 80240E2C 04600048 */ bltz $v1, .L80240F50 +/* BEDC20 80240E30 00000000 */ nop +/* BEDC24 80240E34 8E620074 */ lw $v0, 0x74($s3) +/* BEDC28 80240E38 1C400042 */ bgtz $v0, .L80240F44 +/* BEDC2C 80240E3C 2442FFFF */ addiu $v0, $v0, -1 +/* BEDC30 80240E40 AE630074 */ sw $v1, 0x74($s3) +/* BEDC34 80240E44 860200A8 */ lh $v0, 0xa8($s0) +/* BEDC38 80240E48 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEDC3C 80240E4C 44820000 */ mtc1 $v0, $f0 +/* BEDC40 80240E50 00000000 */ nop +/* BEDC44 80240E54 46800020 */ cvt.s.w $f0, $f0 +/* BEDC48 80240E58 46001080 */ add.s $f2, $f2, $f0 +/* BEDC4C 80240E5C 3C014024 */ lui $at, 0x4024 +/* BEDC50 80240E60 44810800 */ mtc1 $at, $f1 +/* BEDC54 80240E64 44800000 */ mtc1 $zero, $f0 +/* BEDC58 80240E68 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BEDC5C 80240E6C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BEDC60 80240E70 460010A1 */ cvt.d.s $f2, $f2 +/* BEDC64 80240E74 46201080 */ add.d $f2, $f2, $f0 +/* BEDC68 80240E78 C440002C */ lwc1 $f0, 0x2c($v0) +/* BEDC6C 80240E7C 46000021 */ cvt.d.s $f0, $f0 +/* BEDC70 80240E80 4622003C */ c.lt.d $f0, $f2 +/* BEDC74 80240E84 00000000 */ nop +/* BEDC78 80240E88 4500002C */ bc1f .L80240F3C +/* BEDC7C 80240E8C 02A0202D */ daddu $a0, $s5, $zero +/* BEDC80 80240E90 AFA00010 */ sw $zero, 0x10($sp) +/* BEDC84 80240E94 8E46000C */ lw $a2, 0xc($s2) +/* BEDC88 80240E98 8E470010 */ lw $a3, 0x10($s2) +/* BEDC8C 80240E9C 0C01242D */ jal func_800490B4 +/* BEDC90 80240EA0 0220282D */ daddu $a1, $s1, $zero +/* BEDC94 80240EA4 10400025 */ beqz $v0, .L80240F3C +/* BEDC98 80240EA8 0000202D */ daddu $a0, $zero, $zero +/* BEDC9C 80240EAC 0200282D */ daddu $a1, $s0, $zero +/* BEDCA0 80240EB0 0000302D */ daddu $a2, $zero, $zero +/* BEDCA4 80240EB4 2412000C */ addiu $s2, $zero, 0xc +/* BEDCA8 80240EB8 860300A8 */ lh $v1, 0xa8($s0) +/* BEDCAC 80240EBC 3C013F80 */ lui $at, 0x3f80 +/* BEDCB0 80240EC0 44810000 */ mtc1 $at, $f0 +/* BEDCB4 80240EC4 3C014000 */ lui $at, 0x4000 +/* BEDCB8 80240EC8 44811000 */ mtc1 $at, $f2 +/* BEDCBC 80240ECC 3C01C1A0 */ lui $at, 0xc1a0 +/* BEDCC0 80240ED0 44812000 */ mtc1 $at, $f4 +/* BEDCC4 80240ED4 44834000 */ mtc1 $v1, $f8 +/* BEDCC8 80240ED8 00000000 */ nop +/* BEDCCC 80240EDC 46804220 */ cvt.s.w $f8, $f8 +/* BEDCD0 80240EE0 44074000 */ mfc1 $a3, $f8 +/* BEDCD4 80240EE4 27A20038 */ addiu $v0, $sp, 0x38 +/* BEDCD8 80240EE8 AFB2001C */ sw $s2, 0x1c($sp) +/* BEDCDC 80240EEC AFA20020 */ sw $v0, 0x20($sp) +/* BEDCE0 80240EF0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BEDCE4 80240EF4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BEDCE8 80240EF8 0C01BFA4 */ jal fx_emote +/* BEDCEC 80240EFC E7A40018 */ swc1 $f4, 0x18($sp) +/* BEDCF0 80240F00 0200202D */ daddu $a0, $s0, $zero +/* BEDCF4 80240F04 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BEDCF8 80240F08 C480003C */ lwc1 $f0, 0x3c($a0) +/* BEDCFC 80240F0C 3C060020 */ lui $a2, 0x20 +/* BEDD00 80240F10 0C012530 */ jal func_800494C0 +/* BEDD04 80240F14 E4800064 */ swc1 $f0, 0x64($a0) +/* BEDD08 80240F18 8E220018 */ lw $v0, 0x18($s1) +/* BEDD0C 80240F1C 9442002A */ lhu $v0, 0x2a($v0) +/* BEDD10 80240F20 30420001 */ andi $v0, $v0, 1 +/* BEDD14 80240F24 10400003 */ beqz $v0, .L80240F34 +/* BEDD18 80240F28 2402000A */ addiu $v0, $zero, 0xa +/* BEDD1C 80240F2C 0809043D */ j .L802410F4 +/* BEDD20 80240F30 AE620070 */ sw $v0, 0x70($s3) +.L80240F34: +/* BEDD24 80240F34 0809043D */ j .L802410F4 +/* BEDD28 80240F38 AE720070 */ sw $s2, 0x70($s3) +.L80240F3C: +/* BEDD2C 80240F3C 8E620074 */ lw $v0, 0x74($s3) +/* BEDD30 80240F40 2442FFFF */ addiu $v0, $v0, -1 +.L80240F44: +/* BEDD34 80240F44 080903D4 */ j .L80240F50 +/* BEDD38 80240F48 AE620074 */ sw $v0, 0x74($s3) +.L80240F4C: +/* BEDD3C 80240F4C AE220090 */ sw $v0, 0x90($s1) +.L80240F50: +/* BEDD40 80240F50 8E2300D0 */ lw $v1, 0xd0($s1) +/* BEDD44 80240F54 C6000040 */ lwc1 $f0, 0x40($s0) +/* BEDD48 80240F58 C4620000 */ lwc1 $f2, ($v1) +/* BEDD4C 80240F5C 468010A0 */ cvt.s.w $f2, $f2 +/* BEDD50 80240F60 C4640008 */ lwc1 $f4, 8($v1) +/* BEDD54 80240F64 46802120 */ cvt.s.w $f4, $f4 +/* BEDD58 80240F68 E7A00010 */ swc1 $f0, 0x10($sp) +/* BEDD5C 80240F6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BEDD60 80240F70 44051000 */ mfc1 $a1, $f2 +/* BEDD64 80240F74 C440000C */ lwc1 $f0, 0xc($v0) +/* BEDD68 80240F78 46800020 */ cvt.s.w $f0, $f0 +/* BEDD6C 80240F7C E7A00014 */ swc1 $f0, 0x14($sp) +/* BEDD70 80240F80 8E2200D0 */ lw $v0, 0xd0($s1) +/* BEDD74 80240F84 44062000 */ mfc1 $a2, $f4 +/* BEDD78 80240F88 C4400010 */ lwc1 $f0, 0x10($v0) +/* BEDD7C 80240F8C 46800020 */ cvt.s.w $f0, $f0 +/* BEDD80 80240F90 E7A00018 */ swc1 $f0, 0x18($sp) +/* BEDD84 80240F94 8C640018 */ lw $a0, 0x18($v1) +/* BEDD88 80240F98 0C0123F5 */ jal is_point_within_region +/* BEDD8C 80240F9C 8E070038 */ lw $a3, 0x38($s0) +/* BEDD90 80240FA0 1040001A */ beqz $v0, .L8024100C +/* BEDD94 80240FA4 00000000 */ nop +/* BEDD98 80240FA8 8E060038 */ lw $a2, 0x38($s0) +/* BEDD9C 80240FAC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BEDDA0 80240FB0 8E070040 */ lw $a3, 0x40($s0) +/* BEDDA4 80240FB4 C44C0000 */ lwc1 $f12, ($v0) +/* BEDDA8 80240FB8 46806320 */ cvt.s.w $f12, $f12 +/* BEDDAC 80240FBC C44E0008 */ lwc1 $f14, 8($v0) +/* BEDDB0 80240FC0 0C00A7B5 */ jal dist2D +/* BEDDB4 80240FC4 468073A0 */ cvt.s.w $f14, $f14 +/* BEDDB8 80240FC8 C6020018 */ lwc1 $f2, 0x18($s0) +/* BEDDBC 80240FCC 4600103C */ c.lt.s $f2, $f0 +/* BEDDC0 80240FD0 00000000 */ nop +/* BEDDC4 80240FD4 4500000D */ bc1f .L8024100C +/* BEDDC8 80240FD8 E7A00034 */ swc1 $f0, 0x34($sp) +/* BEDDCC 80240FDC C60C0038 */ lwc1 $f12, 0x38($s0) +/* BEDDD0 80240FE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BEDDD4 80240FE4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BEDDD8 80240FE8 C4480000 */ lwc1 $f8, ($v0) +/* BEDDDC 80240FEC 46804220 */ cvt.s.w $f8, $f8 +/* BEDDE0 80240FF0 44064000 */ mfc1 $a2, $f8 +/* BEDDE4 80240FF4 C4480008 */ lwc1 $f8, 8($v0) +/* BEDDE8 80240FF8 46804220 */ cvt.s.w $f8, $f8 +/* BEDDEC 80240FFC 44074000 */ mfc1 $a3, $f8 +/* BEDDF0 80241000 0C00A720 */ jal atan2 +/* BEDDF4 80241004 24140001 */ addiu $s4, $zero, 1 +/* BEDDF8 80241008 E600000C */ swc1 $f0, 0xc($s0) +.L8024100C: +/* BEDDFC 8024100C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BEDE00 80241010 8C43000C */ lw $v1, 0xc($v0) +/* BEDE04 80241014 8C420010 */ lw $v0, 0x10($v0) +/* BEDE08 80241018 00621825 */ or $v1, $v1, $v0 +/* BEDE0C 8024101C 00741825 */ or $v1, $v1, $s4 +/* BEDE10 80241020 10600008 */ beqz $v1, .L80241044 +/* BEDE14 80241024 00000000 */ nop +/* BEDE18 80241028 8602008C */ lh $v0, 0x8c($s0) +/* BEDE1C 8024102C 14400031 */ bnez $v0, .L802410F4 +/* BEDE20 80241030 00000000 */ nop +/* BEDE24 80241034 8E050018 */ lw $a1, 0x18($s0) +/* BEDE28 80241038 8E06000C */ lw $a2, 0xc($s0) +/* BEDE2C 8024103C 0C00EA95 */ jal npc_move_heading +/* BEDE30 80241040 0200202D */ daddu $a0, $s0, $zero +.L80241044: +/* BEDE34 80241044 C600003C */ lwc1 $f0, 0x3c($s0) +/* BEDE38 80241048 3C014059 */ lui $at, 0x4059 +/* BEDE3C 8024104C 44811800 */ mtc1 $at, $f3 +/* BEDE40 80241050 44801000 */ mtc1 $zero, $f2 +/* BEDE44 80241054 46000021 */ cvt.d.s $f0, $f0 +/* BEDE48 80241058 46220002 */ mul.d $f0, $f0, $f2 +/* BEDE4C 8024105C 00000000 */ nop +/* BEDE50 80241060 4620020D */ trunc.w.d $f8, $f0 +/* BEDE54 80241064 E628007C */ swc1 $f8, 0x7c($s1) +/* BEDE58 80241068 8E420004 */ lw $v0, 4($s2) +/* BEDE5C 8024106C 18400021 */ blez $v0, .L802410F4 +/* BEDE60 80241070 00000000 */ nop +/* BEDE64 80241074 8602008E */ lh $v0, 0x8e($s0) +/* BEDE68 80241078 9603008E */ lhu $v1, 0x8e($s0) +/* BEDE6C 8024107C 18400005 */ blez $v0, .L80241094 +/* BEDE70 80241080 2462FFFF */ addiu $v0, $v1, -1 +/* BEDE74 80241084 A602008E */ sh $v0, 0x8e($s0) +/* BEDE78 80241088 00021400 */ sll $v0, $v0, 0x10 +/* BEDE7C 8024108C 1C400019 */ bgtz $v0, .L802410F4 +/* BEDE80 80241090 00000000 */ nop +.L80241094: +/* BEDE84 80241094 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BEDE88 80241098 24020002 */ addiu $v0, $zero, 2 +/* BEDE8C 8024109C 0C00A67F */ jal rand_int +/* BEDE90 802410A0 AE620070 */ sw $v0, 0x70($s3) +/* BEDE94 802410A4 3C035555 */ lui $v1, 0x5555 +/* BEDE98 802410A8 34635556 */ ori $v1, $v1, 0x5556 +/* BEDE9C 802410AC 00430018 */ mult $v0, $v1 +/* BEDEA0 802410B0 000227C3 */ sra $a0, $v0, 0x1f +/* BEDEA4 802410B4 00004010 */ mfhi $t0 +/* BEDEA8 802410B8 01042023 */ subu $a0, $t0, $a0 +/* BEDEAC 802410BC 00041840 */ sll $v1, $a0, 1 +/* BEDEB0 802410C0 00641821 */ addu $v1, $v1, $a0 +/* BEDEB4 802410C4 00431023 */ subu $v0, $v0, $v1 +/* BEDEB8 802410C8 24430002 */ addiu $v1, $v0, 2 +/* BEDEBC 802410CC AE630074 */ sw $v1, 0x74($s3) +/* BEDEC0 802410D0 8E42002C */ lw $v0, 0x2c($s2) +/* BEDEC4 802410D4 58400007 */ blezl $v0, .L802410F4 +/* BEDEC8 802410D8 AE600070 */ sw $zero, 0x70($s3) +/* BEDECC 802410DC 8E420008 */ lw $v0, 8($s2) +/* BEDED0 802410E0 18400003 */ blez $v0, .L802410F0 +/* BEDED4 802410E4 28620003 */ slti $v0, $v1, 3 +/* BEDED8 802410E8 10400002 */ beqz $v0, .L802410F4 +/* BEDEDC 802410EC 00000000 */ nop +.L802410F0: +/* BEDEE0 802410F0 AE600070 */ sw $zero, 0x70($s3) +.L802410F4: +/* BEDEE4 802410F4 8FBF0058 */ lw $ra, 0x58($sp) +/* BEDEE8 802410F8 8FB50054 */ lw $s5, 0x54($sp) +/* BEDEEC 802410FC 8FB40050 */ lw $s4, 0x50($sp) +/* BEDEF0 80241100 8FB3004C */ lw $s3, 0x4c($sp) +/* BEDEF4 80241104 8FB20048 */ lw $s2, 0x48($sp) +/* BEDEF8 80241108 8FB10044 */ lw $s1, 0x44($sp) +/* BEDEFC 8024110C 8FB00040 */ lw $s0, 0x40($sp) +/* BEDF00 80241110 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* BEDF04 80241114 D7B80070 */ ldc1 $f24, 0x70($sp) +/* BEDF08 80241118 D7B60068 */ ldc1 $f22, 0x68($sp) +/* BEDF0C 8024111C D7B40060 */ ldc1 $f20, 0x60($sp) +/* BEDF10 80241120 03E00008 */ jr $ra +/* BEDF14 80241124 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241128_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241128_BECDF0.s new file mode 100644 index 0000000000..7c80cc7dd9 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241128_BECDF0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241128_BEDF18 +/* BEDF18 80241128 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BEDF1C 8024112C AFB3001C */ sw $s3, 0x1c($sp) +/* BEDF20 80241130 0080982D */ daddu $s3, $a0, $zero +/* BEDF24 80241134 AFBF0020 */ sw $ra, 0x20($sp) +/* BEDF28 80241138 AFB20018 */ sw $s2, 0x18($sp) +/* BEDF2C 8024113C AFB10014 */ sw $s1, 0x14($sp) +/* BEDF30 80241140 AFB00010 */ sw $s0, 0x10($sp) +/* BEDF34 80241144 8E720148 */ lw $s2, 0x148($s3) +/* BEDF38 80241148 86440008 */ lh $a0, 8($s2) +/* BEDF3C 8024114C 0C00EABB */ jal get_npc_unsafe +/* BEDF40 80241150 00A0882D */ daddu $s1, $a1, $zero +/* BEDF44 80241154 8E240008 */ lw $a0, 8($s1) +/* BEDF48 80241158 0040802D */ daddu $s0, $v0, $zero +/* BEDF4C 8024115C 00041FC2 */ srl $v1, $a0, 0x1f +/* BEDF50 80241160 00832021 */ addu $a0, $a0, $v1 +/* BEDF54 80241164 00042043 */ sra $a0, $a0, 1 +/* BEDF58 80241168 0C00A67F */ jal rand_int +/* BEDF5C 8024116C 24840001 */ addiu $a0, $a0, 1 +/* BEDF60 80241170 8E230008 */ lw $v1, 8($s1) +/* BEDF64 80241174 240400B4 */ addiu $a0, $zero, 0xb4 +/* BEDF68 80241178 00032FC2 */ srl $a1, $v1, 0x1f +/* BEDF6C 8024117C 00651821 */ addu $v1, $v1, $a1 +/* BEDF70 80241180 00031843 */ sra $v1, $v1, 1 +/* BEDF74 80241184 00621821 */ addu $v1, $v1, $v0 +/* BEDF78 80241188 0C00A67F */ jal rand_int +/* BEDF7C 8024118C A603008E */ sh $v1, 0x8e($s0) +/* BEDF80 80241190 C60C000C */ lwc1 $f12, 0xc($s0) +/* BEDF84 80241194 44820000 */ mtc1 $v0, $f0 +/* BEDF88 80241198 00000000 */ nop +/* BEDF8C 8024119C 46800020 */ cvt.s.w $f0, $f0 +/* BEDF90 802411A0 46006300 */ add.s $f12, $f12, $f0 +/* BEDF94 802411A4 3C0142B4 */ lui $at, 0x42b4 +/* BEDF98 802411A8 44810000 */ mtc1 $at, $f0 +/* BEDF9C 802411AC 0C00A6C9 */ jal clamp_angle +/* BEDFA0 802411B0 46006301 */ sub.s $f12, $f12, $f0 +/* BEDFA4 802411B4 E600000C */ swc1 $f0, 0xc($s0) +/* BEDFA8 802411B8 8E4200CC */ lw $v0, 0xcc($s2) +/* BEDFAC 802411BC 8C420000 */ lw $v0, ($v0) +/* BEDFB0 802411C0 AE020028 */ sw $v0, 0x28($s0) +/* BEDFB4 802411C4 24020003 */ addiu $v0, $zero, 3 +/* BEDFB8 802411C8 AE620070 */ sw $v0, 0x70($s3) +/* BEDFBC 802411CC 8FBF0020 */ lw $ra, 0x20($sp) +/* BEDFC0 802411D0 8FB3001C */ lw $s3, 0x1c($sp) +/* BEDFC4 802411D4 8FB20018 */ lw $s2, 0x18($sp) +/* BEDFC8 802411D8 8FB10014 */ lw $s1, 0x14($sp) +/* BEDFCC 802411DC 8FB00010 */ lw $s0, 0x10($sp) +/* BEDFD0 802411E0 03E00008 */ jr $ra +/* BEDFD4 802411E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802411E8_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802411E8_BECDF0.s new file mode 100644 index 0000000000..5c6f025648 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802411E8_BECDF0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E8_BEDFD8 +/* BEDFD8 802411E8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BEDFDC 802411EC AFB3004C */ sw $s3, 0x4c($sp) +/* BEDFE0 802411F0 0080982D */ daddu $s3, $a0, $zero +/* BEDFE4 802411F4 AFBF0054 */ sw $ra, 0x54($sp) +/* BEDFE8 802411F8 AFB40050 */ sw $s4, 0x50($sp) +/* BEDFEC 802411FC AFB20048 */ sw $s2, 0x48($sp) +/* BEDFF0 80241200 AFB10044 */ sw $s1, 0x44($sp) +/* BEDFF4 80241204 AFB00040 */ sw $s0, 0x40($sp) +/* BEDFF8 80241208 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* BEDFFC 8024120C F7B80068 */ sdc1 $f24, 0x68($sp) +/* BEE000 80241210 F7B60060 */ sdc1 $f22, 0x60($sp) +/* BEE004 80241214 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BEE008 80241218 8E710148 */ lw $s1, 0x148($s3) +/* BEE00C 8024121C 00A0902D */ daddu $s2, $a1, $zero +/* BEE010 80241220 86240008 */ lh $a0, 8($s1) +/* BEE014 80241224 0C00EABB */ jal get_npc_unsafe +/* BEE018 80241228 00C0A02D */ daddu $s4, $a2, $zero +/* BEE01C 8024122C 0040802D */ daddu $s0, $v0, $zero +/* BEE020 80241230 C6200078 */ lwc1 $f0, 0x78($s1) +/* BEE024 80241234 46800020 */ cvt.s.w $f0, $f0 +/* BEE028 80241238 46000021 */ cvt.d.s $f0, $f0 +/* BEE02C 8024123C 3C014059 */ lui $at, 0x4059 +/* BEE030 80241240 44811800 */ mtc1 $at, $f3 +/* BEE034 80241244 44801000 */ mtc1 $zero, $f2 +/* BEE038 80241248 8602008E */ lh $v0, 0x8e($s0) +/* BEE03C 8024124C 9603008E */ lhu $v1, 0x8e($s0) +/* BEE040 80241250 46220003 */ div.d $f0, $f0, $f2 +/* BEE044 80241254 46200620 */ cvt.s.d $f24, $f0 +/* BEE048 80241258 C6200088 */ lwc1 $f0, 0x88($s1) +/* BEE04C 8024125C 46800020 */ cvt.s.w $f0, $f0 +/* BEE050 80241260 46000021 */ cvt.d.s $f0, $f0 +/* BEE054 80241264 46220003 */ div.d $f0, $f0, $f2 +/* BEE058 80241268 46200020 */ cvt.s.d $f0, $f0 +/* BEE05C 8024126C 18400003 */ blez $v0, .L8024127C +/* BEE060 80241270 4600C680 */ add.s $f26, $f24, $f0 +/* BEE064 80241274 2462FFFF */ addiu $v0, $v1, -1 +/* BEE068 80241278 A602008E */ sh $v0, 0x8e($s0) +.L8024127C: +/* BEE06C 8024127C 8E220070 */ lw $v0, 0x70($s1) +/* BEE070 80241280 18400034 */ blez $v0, .L80241354 +/* BEE074 80241284 00000000 */ nop +/* BEE078 80241288 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BEE07C 8024128C 46806320 */ cvt.s.w $f12, $f12 +/* BEE080 80241290 44820000 */ mtc1 $v0, $f0 +/* BEE084 80241294 00000000 */ nop +/* BEE088 80241298 46800020 */ cvt.s.w $f0, $f0 +/* BEE08C 8024129C 46000021 */ cvt.d.s $f0, $f0 +/* BEE090 802412A0 46220003 */ div.d $f0, $f0, $f2 +/* BEE094 802412A4 0C00A8BB */ jal sin_deg +/* BEE098 802412A8 462005A0 */ cvt.s.d $f22, $f0 +/* BEE09C 802412AC 8E020000 */ lw $v0, ($s0) +/* BEE0A0 802412B0 30420008 */ andi $v0, $v0, 8 +/* BEE0A4 802412B4 10400003 */ beqz $v0, .L802412C4 +/* BEE0A8 802412B8 46000506 */ mov.s $f20, $f0 +/* BEE0AC 802412BC 080904C1 */ j .L80241304 +/* BEE0B0 802412C0 0000102D */ daddu $v0, $zero, $zero +.L802412C4: +/* BEE0B4 802412C4 27A50028 */ addiu $a1, $sp, 0x28 +/* BEE0B8 802412C8 27A6002C */ addiu $a2, $sp, 0x2c +/* BEE0BC 802412CC C6000038 */ lwc1 $f0, 0x38($s0) +/* BEE0C0 802412D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEE0C4 802412D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* BEE0C8 802412D8 3C01447A */ lui $at, 0x447a +/* BEE0CC 802412DC 44813000 */ mtc1 $at, $f6 +/* BEE0D0 802412E0 27A20034 */ addiu $v0, $sp, 0x34 +/* BEE0D4 802412E4 E7A00028 */ swc1 $f0, 0x28($sp) +/* BEE0D8 802412E8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BEE0DC 802412EC E7A40030 */ swc1 $f4, 0x30($sp) +/* BEE0E0 802412F0 E7A60034 */ swc1 $f6, 0x34($sp) +/* BEE0E4 802412F4 AFA20010 */ sw $v0, 0x10($sp) +/* BEE0E8 802412F8 8E040080 */ lw $a0, 0x80($s0) +/* BEE0EC 802412FC 0C0372DF */ jal func_800DCB7C +/* BEE0F0 80241300 27A70030 */ addiu $a3, $sp, 0x30 +.L80241304: +/* BEE0F4 80241304 10400007 */ beqz $v0, .L80241324 +/* BEE0F8 80241308 00000000 */ nop +/* BEE0FC 8024130C 4616A082 */ mul.s $f2, $f20, $f22 +/* BEE100 80241310 00000000 */ nop +/* BEE104 80241314 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BEE108 80241318 46180000 */ add.s $f0, $f0, $f24 +/* BEE10C 8024131C 080904CC */ j .L80241330 +/* BEE110 80241320 46020000 */ add.s $f0, $f0, $f2 +.L80241324: +/* BEE114 80241324 4616A002 */ mul.s $f0, $f20, $f22 +/* BEE118 80241328 00000000 */ nop +/* BEE11C 8024132C 4600D000 */ add.s $f0, $f26, $f0 +.L80241330: +/* BEE120 80241330 E600003C */ swc1 $f0, 0x3c($s0) +/* BEE124 80241334 8E220074 */ lw $v0, 0x74($s1) +/* BEE128 80241338 2442000A */ addiu $v0, $v0, 0xa +/* BEE12C 8024133C 44826000 */ mtc1 $v0, $f12 +/* BEE130 80241340 00000000 */ nop +/* BEE134 80241344 0C00A6C9 */ jal clamp_angle +/* BEE138 80241348 46806320 */ cvt.s.w $f12, $f12 +/* BEE13C 8024134C 4600020D */ trunc.w.s $f8, $f0 +/* BEE140 80241350 E6280074 */ swc1 $f8, 0x74($s1) +.L80241354: +/* BEE144 80241354 8E220090 */ lw $v0, 0x90($s1) +/* BEE148 80241358 1C400040 */ bgtz $v0, .L8024145C +/* BEE14C 8024135C 2442FFFF */ addiu $v0, $v0, -1 +/* BEE150 80241360 860200A8 */ lh $v0, 0xa8($s0) +/* BEE154 80241364 C600003C */ lwc1 $f0, 0x3c($s0) +/* BEE158 80241368 44821000 */ mtc1 $v0, $f2 +/* BEE15C 8024136C 00000000 */ nop +/* BEE160 80241370 468010A0 */ cvt.s.w $f2, $f2 +/* BEE164 80241374 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BEE168 80241378 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BEE16C 8024137C 46020000 */ add.s $f0, $f0, $f2 +/* BEE170 80241380 3C014024 */ lui $at, 0x4024 +/* BEE174 80241384 44812800 */ mtc1 $at, $f5 +/* BEE178 80241388 44802000 */ mtc1 $zero, $f4 +/* BEE17C 8024138C C442002C */ lwc1 $f2, 0x2c($v0) +/* BEE180 80241390 46000021 */ cvt.d.s $f0, $f0 +/* BEE184 80241394 46240000 */ add.d $f0, $f0, $f4 +/* BEE188 80241398 460010A1 */ cvt.d.s $f2, $f2 +/* BEE18C 8024139C 4620103C */ c.lt.d $f2, $f0 +/* BEE190 802413A0 00000000 */ nop +/* BEE194 802413A4 4500002E */ bc1f .L80241460 +/* BEE198 802413A8 0280202D */ daddu $a0, $s4, $zero +/* BEE19C 802413AC 24020001 */ addiu $v0, $zero, 1 +/* BEE1A0 802413B0 AFA20010 */ sw $v0, 0x10($sp) +/* BEE1A4 802413B4 8E460024 */ lw $a2, 0x24($s2) +/* BEE1A8 802413B8 8E470028 */ lw $a3, 0x28($s2) +/* BEE1AC 802413BC 0C01242D */ jal func_800490B4 +/* BEE1B0 802413C0 0220282D */ daddu $a1, $s1, $zero +/* BEE1B4 802413C4 10400026 */ beqz $v0, .L80241460 +/* BEE1B8 802413C8 0000202D */ daddu $a0, $zero, $zero +/* BEE1BC 802413CC 0200282D */ daddu $a1, $s0, $zero +/* BEE1C0 802413D0 0000302D */ daddu $a2, $zero, $zero +/* BEE1C4 802413D4 2412000C */ addiu $s2, $zero, 0xc +/* BEE1C8 802413D8 860300A8 */ lh $v1, 0xa8($s0) +/* BEE1CC 802413DC 3C013F80 */ lui $at, 0x3f80 +/* BEE1D0 802413E0 44810000 */ mtc1 $at, $f0 +/* BEE1D4 802413E4 3C014000 */ lui $at, 0x4000 +/* BEE1D8 802413E8 44811000 */ mtc1 $at, $f2 +/* BEE1DC 802413EC 3C01C1A0 */ lui $at, 0xc1a0 +/* BEE1E0 802413F0 44812000 */ mtc1 $at, $f4 +/* BEE1E4 802413F4 44834000 */ mtc1 $v1, $f8 +/* BEE1E8 802413F8 00000000 */ nop +/* BEE1EC 802413FC 46804220 */ cvt.s.w $f8, $f8 +/* BEE1F0 80241400 44074000 */ mfc1 $a3, $f8 +/* BEE1F4 80241404 27A20038 */ addiu $v0, $sp, 0x38 +/* BEE1F8 80241408 AFB2001C */ sw $s2, 0x1c($sp) +/* BEE1FC 8024140C AFA20020 */ sw $v0, 0x20($sp) +/* BEE200 80241410 E7A00010 */ swc1 $f0, 0x10($sp) +/* BEE204 80241414 E7A20014 */ swc1 $f2, 0x14($sp) +/* BEE208 80241418 0C01BFA4 */ jal fx_emote +/* BEE20C 8024141C E7A40018 */ swc1 $f4, 0x18($sp) +/* BEE210 80241420 0200202D */ daddu $a0, $s0, $zero +/* BEE214 80241424 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BEE218 80241428 C480003C */ lwc1 $f0, 0x3c($a0) +/* BEE21C 8024142C 3C060020 */ lui $a2, 0x20 +/* BEE220 80241430 0C012530 */ jal func_800494C0 +/* BEE224 80241434 E4800064 */ swc1 $f0, 0x64($a0) +/* BEE228 80241438 8E220018 */ lw $v0, 0x18($s1) +/* BEE22C 8024143C 9442002A */ lhu $v0, 0x2a($v0) +/* BEE230 80241440 30420001 */ andi $v0, $v0, 1 +/* BEE234 80241444 10400003 */ beqz $v0, .L80241454 +/* BEE238 80241448 2402000A */ addiu $v0, $zero, 0xa +/* BEE23C 8024144C 0809053F */ j .L802414FC +/* BEE240 80241450 AE620070 */ sw $v0, 0x70($s3) +.L80241454: +/* BEE244 80241454 0809053F */ j .L802414FC +/* BEE248 80241458 AE720070 */ sw $s2, 0x70($s3) +.L8024145C: +/* BEE24C 8024145C AE220090 */ sw $v0, 0x90($s1) +.L80241460: +/* BEE250 80241460 8602008C */ lh $v0, 0x8c($s0) +/* BEE254 80241464 14400025 */ bnez $v0, .L802414FC +/* BEE258 80241468 00000000 */ nop +/* BEE25C 8024146C 8602008E */ lh $v0, 0x8e($s0) +/* BEE260 80241470 1C400022 */ bgtz $v0, .L802414FC +/* BEE264 80241474 00000000 */ nop +/* BEE268 80241478 8E620074 */ lw $v0, 0x74($s3) +/* BEE26C 8024147C 2442FFFF */ addiu $v0, $v0, -1 +/* BEE270 80241480 1840001D */ blez $v0, .L802414F8 +/* BEE274 80241484 AE620074 */ sw $v0, 0x74($s3) +/* BEE278 80241488 8E220018 */ lw $v0, 0x18($s1) +/* BEE27C 8024148C 9442002A */ lhu $v0, 0x2a($v0) +/* BEE280 80241490 30420010 */ andi $v0, $v0, 0x10 +/* BEE284 80241494 14400007 */ bnez $v0, .L802414B4 +/* BEE288 80241498 00000000 */ nop +/* BEE28C 8024149C C600000C */ lwc1 $f0, 0xc($s0) +/* BEE290 802414A0 3C014334 */ lui $at, 0x4334 +/* BEE294 802414A4 44816000 */ mtc1 $at, $f12 +/* BEE298 802414A8 0C00A6C9 */ jal clamp_angle +/* BEE29C 802414AC 460C0300 */ add.s $f12, $f0, $f12 +/* BEE2A0 802414B0 E600000C */ swc1 $f0, 0xc($s0) +.L802414B4: +/* BEE2A4 802414B4 0C00A67F */ jal rand_int +/* BEE2A8 802414B8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BEE2AC 802414BC 3C032E8B */ lui $v1, 0x2e8b +/* BEE2B0 802414C0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BEE2B4 802414C4 00430018 */ mult $v0, $v1 +/* BEE2B8 802414C8 00021FC3 */ sra $v1, $v0, 0x1f +/* BEE2BC 802414CC 00004010 */ mfhi $t0 +/* BEE2C0 802414D0 00082043 */ sra $a0, $t0, 1 +/* BEE2C4 802414D4 00832023 */ subu $a0, $a0, $v1 +/* BEE2C8 802414D8 00041840 */ sll $v1, $a0, 1 +/* BEE2CC 802414DC 00641821 */ addu $v1, $v1, $a0 +/* BEE2D0 802414E0 00031880 */ sll $v1, $v1, 2 +/* BEE2D4 802414E4 00641823 */ subu $v1, $v1, $a0 +/* BEE2D8 802414E8 00431023 */ subu $v0, $v0, $v1 +/* BEE2DC 802414EC 24420005 */ addiu $v0, $v0, 5 +/* BEE2E0 802414F0 0809053F */ j .L802414FC +/* BEE2E4 802414F4 A602008E */ sh $v0, 0x8e($s0) +.L802414F8: +/* BEE2E8 802414F8 AE600070 */ sw $zero, 0x70($s3) +.L802414FC: +/* BEE2EC 802414FC 8FBF0054 */ lw $ra, 0x54($sp) +/* BEE2F0 80241500 8FB40050 */ lw $s4, 0x50($sp) +/* BEE2F4 80241504 8FB3004C */ lw $s3, 0x4c($sp) +/* BEE2F8 80241508 8FB20048 */ lw $s2, 0x48($sp) +/* BEE2FC 8024150C 8FB10044 */ lw $s1, 0x44($sp) +/* BEE300 80241510 8FB00040 */ lw $s0, 0x40($sp) +/* BEE304 80241514 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* BEE308 80241518 D7B80068 */ ldc1 $f24, 0x68($sp) +/* BEE30C 8024151C D7B60060 */ ldc1 $f22, 0x60($sp) +/* BEE310 80241520 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BEE314 80241524 03E00008 */ jr $ra +/* BEE318 80241528 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_8024152C.s b/asm/nonmatchings/world/area_arn/arn_07/func_8024152C.s new file mode 100644 index 0000000000..cbb9d577cd --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_8024152C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024152C +/* BEE31C 8024152C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BEE320 80241530 AFB20018 */ sw $s2, 0x18($sp) +/* BEE324 80241534 0080902D */ daddu $s2, $a0, $zero +/* BEE328 80241538 AFBF001C */ sw $ra, 0x1c($sp) +/* BEE32C 8024153C AFB10014 */ sw $s1, 0x14($sp) +/* BEE330 80241540 AFB00010 */ sw $s0, 0x10($sp) +/* BEE334 80241544 8E510148 */ lw $s1, 0x148($s2) +/* BEE338 80241548 0C00EABB */ jal get_npc_unsafe +/* BEE33C 8024154C 86240008 */ lh $a0, 8($s1) +/* BEE340 80241550 0040802D */ daddu $s0, $v0, $zero +/* BEE344 80241554 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BEE348 80241558 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BEE34C 8024155C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BEE350 80241560 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BEE354 80241564 A600008E */ sh $zero, 0x8e($s0) +/* BEE358 80241568 8C460028 */ lw $a2, 0x28($v0) +/* BEE35C 8024156C 0C00A720 */ jal atan2 +/* BEE360 80241570 8C470030 */ lw $a3, 0x30($v0) +/* BEE364 80241574 E600000C */ swc1 $f0, 0xc($s0) +/* BEE368 80241578 8E2200CC */ lw $v0, 0xcc($s1) +/* BEE36C 8024157C 8C420020 */ lw $v0, 0x20($v0) +/* BEE370 80241580 AE020028 */ sw $v0, 0x28($s0) +/* BEE374 80241584 2402000B */ addiu $v0, $zero, 0xb +/* BEE378 80241588 AE420070 */ sw $v0, 0x70($s2) +/* BEE37C 8024158C 8FBF001C */ lw $ra, 0x1c($sp) +/* BEE380 80241590 8FB20018 */ lw $s2, 0x18($sp) +/* BEE384 80241594 8FB10014 */ lw $s1, 0x14($sp) +/* BEE388 80241598 8FB00010 */ lw $s0, 0x10($sp) +/* BEE38C 8024159C 03E00008 */ jr $ra +/* BEE390 802415A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802415A4_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802415A4_BECDF0.s new file mode 100644 index 0000000000..481e385765 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802415A4_BECDF0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415A4_BEE394 +/* BEE394 802415A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BEE398 802415A8 AFB00010 */ sw $s0, 0x10($sp) +/* BEE39C 802415AC 0080802D */ daddu $s0, $a0, $zero +/* BEE3A0 802415B0 AFBF0014 */ sw $ra, 0x14($sp) +/* BEE3A4 802415B4 8E020148 */ lw $v0, 0x148($s0) +/* BEE3A8 802415B8 0C00EABB */ jal get_npc_unsafe +/* BEE3AC 802415BC 84440008 */ lh $a0, 8($v0) +/* BEE3B0 802415C0 9443008E */ lhu $v1, 0x8e($v0) +/* BEE3B4 802415C4 C440003C */ lwc1 $f0, 0x3c($v0) +/* BEE3B8 802415C8 24640001 */ addiu $a0, $v1, 1 +/* BEE3BC 802415CC 00031C00 */ sll $v1, $v1, 0x10 +/* BEE3C0 802415D0 00031B83 */ sra $v1, $v1, 0xe +/* BEE3C4 802415D4 A444008E */ sh $a0, 0x8e($v0) +/* BEE3C8 802415D8 3C018024 */ lui $at, 0x8024 +/* BEE3CC 802415DC 00230821 */ addu $at, $at, $v1 +/* BEE3D0 802415E0 C4223BC0 */ lwc1 $f2, 0x3bc0($at) +/* BEE3D4 802415E4 8443008E */ lh $v1, 0x8e($v0) +/* BEE3D8 802415E8 46020000 */ add.s $f0, $f0, $f2 +/* BEE3DC 802415EC 28630005 */ slti $v1, $v1, 5 +/* BEE3E0 802415F0 14600003 */ bnez $v1, .L80241600 +/* BEE3E4 802415F4 E440003C */ swc1 $f0, 0x3c($v0) +/* BEE3E8 802415F8 2402000C */ addiu $v0, $zero, 0xc +/* BEE3EC 802415FC AE020070 */ sw $v0, 0x70($s0) +.L80241600: +/* BEE3F0 80241600 8FBF0014 */ lw $ra, 0x14($sp) +/* BEE3F4 80241604 8FB00010 */ lw $s0, 0x10($sp) +/* BEE3F8 80241608 03E00008 */ jr $ra +/* BEE3FC 8024160C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241610_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241610_BECDF0.s new file mode 100644 index 0000000000..81f069221b --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241610_BECDF0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610_BEE400 +/* BEE400 80241610 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BEE404 80241614 AFB3001C */ sw $s3, 0x1c($sp) +/* BEE408 80241618 0080982D */ daddu $s3, $a0, $zero +/* BEE40C 8024161C AFBF0020 */ sw $ra, 0x20($sp) +/* BEE410 80241620 AFB20018 */ sw $s2, 0x18($sp) +/* BEE414 80241624 AFB10014 */ sw $s1, 0x14($sp) +/* BEE418 80241628 AFB00010 */ sw $s0, 0x10($sp) +/* BEE41C 8024162C 8E720148 */ lw $s2, 0x148($s3) +/* BEE420 80241630 86440008 */ lh $a0, 8($s2) +/* BEE424 80241634 0C00EABB */ jal get_npc_unsafe +/* BEE428 80241638 00A0802D */ daddu $s0, $a1, $zero +/* BEE42C 8024163C 0040882D */ daddu $s1, $v0, $zero +/* BEE430 80241640 C6420080 */ lwc1 $f2, 0x80($s2) +/* BEE434 80241644 468010A0 */ cvt.s.w $f2, $f2 +/* BEE438 80241648 460010A1 */ cvt.d.s $f2, $f2 +/* BEE43C 8024164C C6400084 */ lwc1 $f0, 0x84($s2) +/* BEE440 80241650 46800020 */ cvt.s.w $f0, $f0 +/* BEE444 80241654 46000021 */ cvt.d.s $f0, $f0 +/* BEE448 80241658 3C014059 */ lui $at, 0x4059 +/* BEE44C 8024165C 44812800 */ mtc1 $at, $f5 +/* BEE450 80241660 44802000 */ mtc1 $zero, $f4 +/* BEE454 80241664 8E4200CC */ lw $v0, 0xcc($s2) +/* BEE458 80241668 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BEE45C 8024166C C62E0040 */ lwc1 $f14, 0x40($s1) +/* BEE460 80241670 46241083 */ div.d $f2, $f2, $f4 +/* BEE464 80241674 462010A0 */ cvt.s.d $f2, $f2 +/* BEE468 80241678 46240003 */ div.d $f0, $f0, $f4 +/* BEE46C 8024167C 8C420020 */ lw $v0, 0x20($v0) +/* BEE470 80241680 46200020 */ cvt.s.d $f0, $f0 +/* BEE474 80241684 E622001C */ swc1 $f2, 0x1c($s1) +/* BEE478 80241688 E6200014 */ swc1 $f0, 0x14($s1) +/* BEE47C 8024168C AE220028 */ sw $v0, 0x28($s1) +/* BEE480 80241690 C6000018 */ lwc1 $f0, 0x18($s0) +/* BEE484 80241694 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BEE488 80241698 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BEE48C 8024169C E6200018 */ swc1 $f0, 0x18($s1) +/* BEE490 802416A0 8C460028 */ lw $a2, 0x28($v0) +/* BEE494 802416A4 0C00A720 */ jal atan2 +/* BEE498 802416A8 8C470030 */ lw $a3, 0x30($v0) +/* BEE49C 802416AC E620000C */ swc1 $f0, 0xc($s1) +/* BEE4A0 802416B0 8E420018 */ lw $v0, 0x18($s2) +/* BEE4A4 802416B4 AE400074 */ sw $zero, 0x74($s2) +/* BEE4A8 802416B8 9442002A */ lhu $v0, 0x2a($v0) +/* BEE4AC 802416BC 30420002 */ andi $v0, $v0, 2 +/* BEE4B0 802416C0 10400005 */ beqz $v0, .L802416D8 +/* BEE4B4 802416C4 24020003 */ addiu $v0, $zero, 3 +/* BEE4B8 802416C8 A622008E */ sh $v0, 0x8e($s1) +/* BEE4BC 802416CC 2402000D */ addiu $v0, $zero, 0xd +/* BEE4C0 802416D0 080905CA */ j .L80241728 +/* BEE4C4 802416D4 AE620070 */ sw $v0, 0x70($s3) +.L802416D8: +/* BEE4C8 802416D8 24030001 */ addiu $v1, $zero, 1 +/* BEE4CC 802416DC 2402000E */ addiu $v0, $zero, 0xe +/* BEE4D0 802416E0 A623008E */ sh $v1, 0x8e($s1) +/* BEE4D4 802416E4 AE620070 */ sw $v0, 0x70($s3) +/* BEE4D8 802416E8 C6200038 */ lwc1 $f0, 0x38($s1) +/* BEE4DC 802416EC 4600018D */ trunc.w.s $f6, $f0 +/* BEE4E0 802416F0 44023000 */ mfc1 $v0, $f6 +/* BEE4E4 802416F4 00000000 */ nop +/* BEE4E8 802416F8 A6420010 */ sh $v0, 0x10($s2) +/* BEE4EC 802416FC C620003C */ lwc1 $f0, 0x3c($s1) +/* BEE4F0 80241700 4600018D */ trunc.w.s $f6, $f0 +/* BEE4F4 80241704 44023000 */ mfc1 $v0, $f6 +/* BEE4F8 80241708 00000000 */ nop +/* BEE4FC 8024170C A6420012 */ sh $v0, 0x12($s2) +/* BEE500 80241710 C6200040 */ lwc1 $f0, 0x40($s1) +/* BEE504 80241714 A2430007 */ sb $v1, 7($s2) +/* BEE508 80241718 4600018D */ trunc.w.s $f6, $f0 +/* BEE50C 8024171C 44023000 */ mfc1 $v0, $f6 +/* BEE510 80241720 00000000 */ nop +/* BEE514 80241724 A6420014 */ sh $v0, 0x14($s2) +.L80241728: +/* BEE518 80241728 8FBF0020 */ lw $ra, 0x20($sp) +/* BEE51C 8024172C 8FB3001C */ lw $s3, 0x1c($sp) +/* BEE520 80241730 8FB20018 */ lw $s2, 0x18($sp) +/* BEE524 80241734 8FB10014 */ lw $s1, 0x14($sp) +/* BEE528 80241738 8FB00010 */ lw $s0, 0x10($sp) +/* BEE52C 8024173C 03E00008 */ jr $ra +/* BEE530 80241740 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241744_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241744_BECDF0.s new file mode 100644 index 0000000000..2a5c1285fc --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241744_BECDF0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241744_BEE534 +/* BEE534 80241744 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BEE538 80241748 AFB00010 */ sw $s0, 0x10($sp) +/* BEE53C 8024174C 0080802D */ daddu $s0, $a0, $zero +/* BEE540 80241750 AFBF0014 */ sw $ra, 0x14($sp) +/* BEE544 80241754 8E020148 */ lw $v0, 0x148($s0) +/* BEE548 80241758 0C00EABB */ jal get_npc_unsafe +/* BEE54C 8024175C 84440008 */ lh $a0, 8($v0) +/* BEE550 80241760 0040202D */ daddu $a0, $v0, $zero +/* BEE554 80241764 8482008E */ lh $v0, 0x8e($a0) +/* BEE558 80241768 9483008E */ lhu $v1, 0x8e($a0) +/* BEE55C 8024176C 18400005 */ blez $v0, .L80241784 +/* BEE560 80241770 2462FFFF */ addiu $v0, $v1, -1 +/* BEE564 80241774 A482008E */ sh $v0, 0x8e($a0) +/* BEE568 80241778 00021400 */ sll $v0, $v0, 0x10 +/* BEE56C 8024177C 1C400006 */ bgtz $v0, .L80241798 +/* BEE570 80241780 00000000 */ nop +.L80241784: +/* BEE574 80241784 8482008C */ lh $v0, 0x8c($a0) +/* BEE578 80241788 14400003 */ bnez $v0, .L80241798 +/* BEE57C 8024178C 2402000E */ addiu $v0, $zero, 0xe +/* BEE580 80241790 A480008E */ sh $zero, 0x8e($a0) +/* BEE584 80241794 AE020070 */ sw $v0, 0x70($s0) +.L80241798: +/* BEE588 80241798 8FBF0014 */ lw $ra, 0x14($sp) +/* BEE58C 8024179C 8FB00010 */ lw $s0, 0x10($sp) +/* BEE590 802417A0 03E00008 */ jr $ra +/* BEE594 802417A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_802417A8_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_802417A8_BECDF0.s new file mode 100644 index 0000000000..b185933fa8 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_802417A8_BECDF0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A8_BEE598 +/* BEE598 802417A8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BEE59C 802417AC AFB20030 */ sw $s2, 0x30($sp) +/* BEE5A0 802417B0 0080902D */ daddu $s2, $a0, $zero +/* BEE5A4 802417B4 AFBF0038 */ sw $ra, 0x38($sp) +/* BEE5A8 802417B8 AFB30034 */ sw $s3, 0x34($sp) +/* BEE5AC 802417BC AFB1002C */ sw $s1, 0x2c($sp) +/* BEE5B0 802417C0 AFB00028 */ sw $s0, 0x28($sp) +/* BEE5B4 802417C4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* BEE5B8 802417C8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* BEE5BC 802417CC 8E510148 */ lw $s1, 0x148($s2) +/* BEE5C0 802417D0 86240008 */ lh $a0, 8($s1) +/* BEE5C4 802417D4 0C00EABB */ jal get_npc_unsafe +/* BEE5C8 802417D8 00A0982D */ daddu $s3, $a1, $zero +/* BEE5CC 802417DC 0040802D */ daddu $s0, $v0, $zero +/* BEE5D0 802417E0 0200202D */ daddu $a0, $s0, $zero +/* BEE5D4 802417E4 C6220088 */ lwc1 $f2, 0x88($s1) +/* BEE5D8 802417E8 468010A0 */ cvt.s.w $f2, $f2 +/* BEE5DC 802417EC 460010A1 */ cvt.d.s $f2, $f2 +/* BEE5E0 802417F0 C604001C */ lwc1 $f4, 0x1c($s0) +/* BEE5E4 802417F4 C6000014 */ lwc1 $f0, 0x14($s0) +/* BEE5E8 802417F8 8E050018 */ lw $a1, 0x18($s0) +/* BEE5EC 802417FC 46002100 */ add.s $f4, $f4, $f0 +/* BEE5F0 80241800 8E06000C */ lw $a2, 0xc($s0) +/* BEE5F4 80241804 C6200078 */ lwc1 $f0, 0x78($s1) +/* BEE5F8 80241808 46800020 */ cvt.s.w $f0, $f0 +/* BEE5FC 8024180C E604001C */ swc1 $f4, 0x1c($s0) +/* BEE600 80241810 3C014059 */ lui $at, 0x4059 +/* BEE604 80241814 44812800 */ mtc1 $at, $f5 +/* BEE608 80241818 44802000 */ mtc1 $zero, $f4 +/* BEE60C 8024181C 46000021 */ cvt.d.s $f0, $f0 +/* BEE610 80241820 46240003 */ div.d $f0, $f0, $f4 +/* BEE614 80241824 46200520 */ cvt.s.d $f20, $f0 +/* BEE618 80241828 46241083 */ div.d $f2, $f2, $f4 +/* BEE61C 8024182C 0C00EA95 */ jal npc_move_heading +/* BEE620 80241830 462015A0 */ cvt.s.d $f22, $f2 +/* BEE624 80241834 C604001C */ lwc1 $f4, 0x1c($s0) +/* BEE628 80241838 44801000 */ mtc1 $zero, $f2 +/* BEE62C 8024183C 44801800 */ mtc1 $zero, $f3 +/* BEE630 80241840 46002021 */ cvt.d.s $f0, $f4 +/* BEE634 80241844 4620103E */ c.le.d $f2, $f0 +/* BEE638 80241848 00000000 */ nop +/* BEE63C 8024184C 45000030 */ bc1f .L80241910 +/* BEE640 80241850 00000000 */ nop +/* BEE644 80241854 C600003C */ lwc1 $f0, 0x3c($s0) +/* BEE648 80241858 46040000 */ add.s $f0, $f0, $f4 +/* BEE64C 8024185C E600003C */ swc1 $f0, 0x3c($s0) +/* BEE650 80241860 8E2200CC */ lw $v0, 0xcc($s1) +/* BEE654 80241864 8C420024 */ lw $v0, 0x24($v0) +/* BEE658 80241868 AE020028 */ sw $v0, 0x28($s0) +/* BEE65C 8024186C A2200007 */ sb $zero, 7($s1) +/* BEE660 80241870 8E020000 */ lw $v0, ($s0) +/* BEE664 80241874 30420008 */ andi $v0, $v0, 8 +/* BEE668 80241878 14400011 */ bnez $v0, .L802418C0 +/* BEE66C 8024187C 0000102D */ daddu $v0, $zero, $zero +/* BEE670 80241880 27A50018 */ addiu $a1, $sp, 0x18 +/* BEE674 80241884 27A6001C */ addiu $a2, $sp, 0x1c +/* BEE678 80241888 C6000038 */ lwc1 $f0, 0x38($s0) +/* BEE67C 8024188C C602003C */ lwc1 $f2, 0x3c($s0) +/* BEE680 80241890 C6040040 */ lwc1 $f4, 0x40($s0) +/* BEE684 80241894 3C01447A */ lui $at, 0x447a +/* BEE688 80241898 44813000 */ mtc1 $at, $f6 +/* BEE68C 8024189C 27A20024 */ addiu $v0, $sp, 0x24 +/* BEE690 802418A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BEE694 802418A4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BEE698 802418A8 E7A40020 */ swc1 $f4, 0x20($sp) +/* BEE69C 802418AC E7A60024 */ swc1 $f6, 0x24($sp) +/* BEE6A0 802418B0 AFA20010 */ sw $v0, 0x10($sp) +/* BEE6A4 802418B4 8E040080 */ lw $a0, 0x80($s0) +/* BEE6A8 802418B8 0C0372DF */ jal func_800DCB7C +/* BEE6AC 802418BC 27A70020 */ addiu $a3, $sp, 0x20 +.L802418C0: +/* BEE6B0 802418C0 1040000B */ beqz $v0, .L802418F0 +/* BEE6B4 802418C4 00000000 */ nop +/* BEE6B8 802418C8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BEE6BC 802418CC 46140080 */ add.s $f2, $f0, $f20 +/* BEE6C0 802418D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* BEE6C4 802418D4 4600103E */ c.le.s $f2, $f0 +/* BEE6C8 802418D8 00000000 */ nop +/* BEE6CC 802418DC 4500008D */ bc1f .L80241B14 +/* BEE6D0 802418E0 00000000 */ nop +/* BEE6D4 802418E4 E602003C */ swc1 $f2, 0x3c($s0) +/* BEE6D8 802418E8 080906C5 */ j .L80241B14 +/* BEE6DC 802418EC AE400070 */ sw $zero, 0x70($s2) +.L802418F0: +/* BEE6E0 802418F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEE6E4 802418F4 C6000064 */ lwc1 $f0, 0x64($s0) +/* BEE6E8 802418F8 4602003E */ c.le.s $f0, $f2 +/* BEE6EC 802418FC 00000000 */ nop +/* BEE6F0 80241900 45030084 */ bc1tl .L80241B14 +/* BEE6F4 80241904 AE400070 */ sw $zero, 0x70($s2) +/* BEE6F8 80241908 080906C5 */ j .L80241B14 +/* BEE6FC 8024190C 00000000 */ nop +.L80241910: +/* BEE700 80241910 4622003C */ c.lt.d $f0, $f2 +/* BEE704 80241914 00000000 */ nop +/* BEE708 80241918 4500007E */ bc1f .L80241B14 +/* BEE70C 8024191C 00000000 */ nop +/* BEE710 80241920 9602008E */ lhu $v0, 0x8e($s0) +/* BEE714 80241924 24420001 */ addiu $v0, $v0, 1 +/* BEE718 80241928 A602008E */ sh $v0, 0x8e($s0) +/* BEE71C 8024192C 00021400 */ sll $v0, $v0, 0x10 +/* BEE720 80241930 8E630020 */ lw $v1, 0x20($s3) +/* BEE724 80241934 00021403 */ sra $v0, $v0, 0x10 +/* BEE728 80241938 0043102A */ slt $v0, $v0, $v1 +/* BEE72C 8024193C 14400026 */ bnez $v0, .L802419D8 +/* BEE730 80241940 00000000 */ nop +/* BEE734 80241944 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BEE738 80241948 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BEE73C 8024194C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BEE740 80241950 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BEE744 80241954 A600008E */ sh $zero, 0x8e($s0) +/* BEE748 80241958 8C460028 */ lw $a2, 0x28($v0) +/* BEE74C 8024195C 0C00A720 */ jal atan2 +/* BEE750 80241960 8C470030 */ lw $a3, 0x30($v0) +/* BEE754 80241964 46000506 */ mov.s $f20, $f0 +/* BEE758 80241968 C60C000C */ lwc1 $f12, 0xc($s0) +/* BEE75C 8024196C 0C00A70A */ jal get_clamped_angle_diff +/* BEE760 80241970 4600A386 */ mov.s $f14, $f20 +/* BEE764 80241974 46000086 */ mov.s $f2, $f0 +/* BEE768 80241978 8E62001C */ lw $v0, 0x1c($s3) +/* BEE76C 8024197C 46001005 */ abs.s $f0, $f2 +/* BEE770 80241980 44822000 */ mtc1 $v0, $f4 +/* BEE774 80241984 00000000 */ nop +/* BEE778 80241988 46802120 */ cvt.s.w $f4, $f4 +/* BEE77C 8024198C 4600203C */ c.lt.s $f4, $f0 +/* BEE780 80241990 00000000 */ nop +/* BEE784 80241994 4500000D */ bc1f .L802419CC +/* BEE788 80241998 00000000 */ nop +/* BEE78C 8024199C 44800000 */ mtc1 $zero, $f0 +/* BEE790 802419A0 C614000C */ lwc1 $f20, 0xc($s0) +/* BEE794 802419A4 4600103C */ c.lt.s $f2, $f0 +/* BEE798 802419A8 00000000 */ nop +/* BEE79C 802419AC 45000006 */ bc1f .L802419C8 +/* BEE7A0 802419B0 00021023 */ negu $v0, $v0 +/* BEE7A4 802419B4 44820000 */ mtc1 $v0, $f0 +/* BEE7A8 802419B8 00000000 */ nop +/* BEE7AC 802419BC 46800020 */ cvt.s.w $f0, $f0 +/* BEE7B0 802419C0 08090673 */ j .L802419CC +/* BEE7B4 802419C4 4600A500 */ add.s $f20, $f20, $f0 +.L802419C8: +/* BEE7B8 802419C8 4604A500 */ add.s $f20, $f20, $f4 +.L802419CC: +/* BEE7BC 802419CC 0C00A6C9 */ jal clamp_angle +/* BEE7C0 802419D0 4600A306 */ mov.s $f12, $f20 +/* BEE7C4 802419D4 E600000C */ swc1 $f0, 0xc($s0) +.L802419D8: +/* BEE7C8 802419D8 8E020000 */ lw $v0, ($s0) +/* BEE7CC 802419DC 30420008 */ andi $v0, $v0, 8 +/* BEE7D0 802419E0 1040000A */ beqz $v0, .L80241A0C +/* BEE7D4 802419E4 27A50018 */ addiu $a1, $sp, 0x18 +/* BEE7D8 802419E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* BEE7DC 802419EC C600001C */ lwc1 $f0, 0x1c($s0) +/* BEE7E0 802419F0 46001080 */ add.s $f2, $f2, $f0 +/* BEE7E4 802419F4 4616103C */ c.lt.s $f2, $f22 +/* BEE7E8 802419F8 00000000 */ nop +/* BEE7EC 802419FC 45020045 */ bc1fl .L80241B14 +/* BEE7F0 80241A00 E602003C */ swc1 $f2, 0x3c($s0) +/* BEE7F4 80241A04 080906C4 */ j .L80241B10 +/* BEE7F8 80241A08 E616003C */ swc1 $f22, 0x3c($s0) +.L80241A0C: +/* BEE7FC 80241A0C C6000038 */ lwc1 $f0, 0x38($s0) +/* BEE800 80241A10 27A6001C */ addiu $a2, $sp, 0x1c +/* BEE804 80241A14 E7A00018 */ swc1 $f0, 0x18($sp) +/* BEE808 80241A18 860200A8 */ lh $v0, 0xa8($s0) +/* BEE80C 80241A1C C600001C */ lwc1 $f0, 0x1c($s0) +/* BEE810 80241A20 C604003C */ lwc1 $f4, 0x3c($s0) +/* BEE814 80241A24 44821000 */ mtc1 $v0, $f2 +/* BEE818 80241A28 00000000 */ nop +/* BEE81C 80241A2C 468010A0 */ cvt.s.w $f2, $f2 +/* BEE820 80241A30 46000005 */ abs.s $f0, $f0 +/* BEE824 80241A34 46020000 */ add.s $f0, $f0, $f2 +/* BEE828 80241A38 C6060040 */ lwc1 $f6, 0x40($s0) +/* BEE82C 80241A3C 27A20024 */ addiu $v0, $sp, 0x24 +/* BEE830 80241A40 46022100 */ add.s $f4, $f4, $f2 +/* BEE834 80241A44 3C014024 */ lui $at, 0x4024 +/* BEE838 80241A48 44811800 */ mtc1 $at, $f3 +/* BEE83C 80241A4C 44801000 */ mtc1 $zero, $f2 +/* BEE840 80241A50 46000021 */ cvt.d.s $f0, $f0 +/* BEE844 80241A54 46220000 */ add.d $f0, $f0, $f2 +/* BEE848 80241A58 E7A60020 */ swc1 $f6, 0x20($sp) +/* BEE84C 80241A5C E7A4001C */ swc1 $f4, 0x1c($sp) +/* BEE850 80241A60 46200020 */ cvt.s.d $f0, $f0 +/* BEE854 80241A64 E7A00024 */ swc1 $f0, 0x24($sp) +/* BEE858 80241A68 AFA20010 */ sw $v0, 0x10($sp) +/* BEE85C 80241A6C 8E040080 */ lw $a0, 0x80($s0) +/* BEE860 80241A70 0C0372DF */ jal func_800DCB7C +/* BEE864 80241A74 27A70020 */ addiu $a3, $sp, 0x20 +/* BEE868 80241A78 10400015 */ beqz $v0, .L80241AD0 +/* BEE86C 80241A7C 00000000 */ nop +/* BEE870 80241A80 860200A8 */ lh $v0, 0xa8($s0) +/* BEE874 80241A84 C604001C */ lwc1 $f4, 0x1c($s0) +/* BEE878 80241A88 44820000 */ mtc1 $v0, $f0 +/* BEE87C 80241A8C 00000000 */ nop +/* BEE880 80241A90 46800020 */ cvt.s.w $f0, $f0 +/* BEE884 80241A94 46002085 */ abs.s $f2, $f4 +/* BEE888 80241A98 46020000 */ add.s $f0, $f0, $f2 +/* BEE88C 80241A9C C7A20024 */ lwc1 $f2, 0x24($sp) +/* BEE890 80241AA0 4600103E */ c.le.s $f2, $f0 +/* BEE894 80241AA4 00000000 */ nop +/* BEE898 80241AA8 45000005 */ bc1f .L80241AC0 +/* BEE89C 80241AAC 00000000 */ nop +/* BEE8A0 80241AB0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BEE8A4 80241AB4 AE00001C */ sw $zero, 0x1c($s0) +/* BEE8A8 80241AB8 080906C5 */ j .L80241B14 +/* BEE8AC 80241ABC E600003C */ swc1 $f0, 0x3c($s0) +.L80241AC0: +/* BEE8B0 80241AC0 C600003C */ lwc1 $f0, 0x3c($s0) +/* BEE8B4 80241AC4 46040000 */ add.s $f0, $f0, $f4 +/* BEE8B8 80241AC8 080906C5 */ j .L80241B14 +/* BEE8BC 80241ACC E600003C */ swc1 $f0, 0x3c($s0) +.L80241AD0: +/* BEE8C0 80241AD0 C606003C */ lwc1 $f6, 0x3c($s0) +/* BEE8C4 80241AD4 860200A8 */ lh $v0, 0xa8($s0) +/* BEE8C8 80241AD8 46163081 */ sub.s $f2, $f6, $f22 +/* BEE8CC 80241ADC 44820000 */ mtc1 $v0, $f0 +/* BEE8D0 80241AE0 00000000 */ nop +/* BEE8D4 80241AE4 46800020 */ cvt.s.w $f0, $f0 +/* BEE8D8 80241AE8 46001080 */ add.s $f2, $f2, $f0 +/* BEE8DC 80241AEC C604001C */ lwc1 $f4, 0x1c($s0) +/* BEE8E0 80241AF0 46002005 */ abs.s $f0, $f4 +/* BEE8E4 80241AF4 4602003C */ c.lt.s $f0, $f2 +/* BEE8E8 80241AF8 00000000 */ nop +/* BEE8EC 80241AFC 45020005 */ bc1fl .L80241B14 +/* BEE8F0 80241B00 AE00001C */ sw $zero, 0x1c($s0) +/* BEE8F4 80241B04 46043000 */ add.s $f0, $f6, $f4 +/* BEE8F8 80241B08 080906C5 */ j .L80241B14 +/* BEE8FC 80241B0C E600003C */ swc1 $f0, 0x3c($s0) +.L80241B10: +/* BEE900 80241B10 AE00001C */ sw $zero, 0x1c($s0) +.L80241B14: +/* BEE904 80241B14 8FBF0038 */ lw $ra, 0x38($sp) +/* BEE908 80241B18 8FB30034 */ lw $s3, 0x34($sp) +/* BEE90C 80241B1C 8FB20030 */ lw $s2, 0x30($sp) +/* BEE910 80241B20 8FB1002C */ lw $s1, 0x2c($sp) +/* BEE914 80241B24 8FB00028 */ lw $s0, 0x28($sp) +/* BEE918 80241B28 D7B60048 */ ldc1 $f22, 0x48($sp) +/* BEE91C 80241B2C D7B40040 */ ldc1 $f20, 0x40($sp) +/* BEE920 80241B30 03E00008 */ jr $ra +/* BEE924 80241B34 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241B38.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241B38.s new file mode 100644 index 0000000000..6d92ab70ec --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241B38.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B38 +/* BEE928 80241B38 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BEE92C 80241B3C AFB00028 */ sw $s0, 0x28($sp) +/* BEE930 80241B40 00A0802D */ daddu $s0, $a1, $zero +/* BEE934 80241B44 AFB1002C */ sw $s1, 0x2c($sp) +/* BEE938 80241B48 00C0882D */ daddu $s1, $a2, $zero +/* BEE93C 80241B4C AFBF0034 */ sw $ra, 0x34($sp) +/* BEE940 80241B50 AFB20030 */ sw $s2, 0x30($sp) +/* BEE944 80241B54 AE200070 */ sw $zero, 0x70($s1) +/* BEE948 80241B58 8C830000 */ lw $v1, ($a0) +/* BEE94C 80241B5C 2402FDFF */ addiu $v0, $zero, -0x201 +/* BEE950 80241B60 A480008E */ sh $zero, 0x8e($a0) +/* BEE954 80241B64 00621824 */ and $v1, $v1, $v0 +/* BEE958 80241B68 34650800 */ ori $a1, $v1, 0x800 +/* BEE95C 80241B6C AC850000 */ sw $a1, ($a0) +/* BEE960 80241B70 8E0200D0 */ lw $v0, 0xd0($s0) +/* BEE964 80241B74 8C420034 */ lw $v0, 0x34($v0) +/* BEE968 80241B78 10400003 */ beqz $v0, .L80241B88 +/* BEE96C 80241B7C 00E0902D */ daddu $s2, $a3, $zero +/* BEE970 80241B80 080906E4 */ j .L80241B90 +/* BEE974 80241B84 34620808 */ ori $v0, $v1, 0x808 +.L80241B88: +/* BEE978 80241B88 2402FFF7 */ addiu $v0, $zero, -9 +/* BEE97C 80241B8C 00A21024 */ and $v0, $a1, $v0 +.L80241B90: +/* BEE980 80241B90 AC820000 */ sw $v0, ($a0) +/* BEE984 80241B94 27A20024 */ addiu $v0, $sp, 0x24 +/* BEE988 80241B98 27A50018 */ addiu $a1, $sp, 0x18 +/* BEE98C 80241B9C C4800038 */ lwc1 $f0, 0x38($a0) +/* BEE990 80241BA0 C482003C */ lwc1 $f2, 0x3c($a0) +/* BEE994 80241BA4 C4840040 */ lwc1 $f4, 0x40($a0) +/* BEE998 80241BA8 3C01447A */ lui $at, 0x447a +/* BEE99C 80241BAC 44813000 */ mtc1 $at, $f6 +/* BEE9A0 80241BB0 27A6001C */ addiu $a2, $sp, 0x1c +/* BEE9A4 80241BB4 E7A00018 */ swc1 $f0, 0x18($sp) +/* BEE9A8 80241BB8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BEE9AC 80241BBC E7A40020 */ swc1 $f4, 0x20($sp) +/* BEE9B0 80241BC0 E7A60024 */ swc1 $f6, 0x24($sp) +/* BEE9B4 80241BC4 AFA20010 */ sw $v0, 0x10($sp) +/* BEE9B8 80241BC8 8C840080 */ lw $a0, 0x80($a0) +/* BEE9BC 80241BCC 0C0372DF */ jal func_800DCB7C +/* BEE9C0 80241BD0 27A70020 */ addiu $a3, $sp, 0x20 +/* BEE9C4 80241BD4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* BEE9C8 80241BD8 3C014059 */ lui $at, 0x4059 +/* BEE9CC 80241BDC 44812800 */ mtc1 $at, $f5 +/* BEE9D0 80241BE0 44802000 */ mtc1 $zero, $f4 +/* BEE9D4 80241BE4 460010A1 */ cvt.d.s $f2, $f2 +/* BEE9D8 80241BE8 46241082 */ mul.d $f2, $f2, $f4 +/* BEE9DC 80241BEC 00000000 */ nop +/* BEE9E0 80241BF0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BEE9E4 80241BF4 46000021 */ cvt.d.s $f0, $f0 +/* BEE9E8 80241BF8 46240002 */ mul.d $f0, $f0, $f4 +/* BEE9EC 80241BFC 00000000 */ nop +/* BEE9F0 80241C00 3C013FE0 */ lui $at, 0x3fe0 +/* BEE9F4 80241C04 44812800 */ mtc1 $at, $f5 +/* BEE9F8 80241C08 44802000 */ mtc1 $zero, $f4 +/* BEE9FC 80241C0C 00000000 */ nop +/* BEEA00 80241C10 46241080 */ add.d $f2, $f2, $f4 +/* BEEA04 80241C14 AE000074 */ sw $zero, 0x74($s0) +/* BEEA08 80241C18 46240000 */ add.d $f0, $f0, $f4 +/* BEEA0C 80241C1C AE000090 */ sw $zero, 0x90($s0) +/* BEEA10 80241C20 4620120D */ trunc.w.d $f8, $f2 +/* BEEA14 80241C24 E6080078 */ swc1 $f8, 0x78($s0) +/* BEEA18 80241C28 4620020D */ trunc.w.d $f8, $f0 +/* BEEA1C 80241C2C E6080088 */ swc1 $f8, 0x88($s0) +/* BEEA20 80241C30 8E420014 */ lw $v0, 0x14($s2) +/* BEEA24 80241C34 AE220074 */ sw $v0, 0x74($s1) +/* BEEA28 80241C38 8E0200B0 */ lw $v0, 0xb0($s0) +/* BEEA2C 80241C3C 34420010 */ ori $v0, $v0, 0x10 +/* BEEA30 80241C40 AE0200B0 */ sw $v0, 0xb0($s0) +/* BEEA34 80241C44 8FBF0034 */ lw $ra, 0x34($sp) +/* BEEA38 80241C48 8FB20030 */ lw $s2, 0x30($sp) +/* BEEA3C 80241C4C 8FB1002C */ lw $s1, 0x2c($sp) +/* BEEA40 80241C50 8FB00028 */ lw $s0, 0x28($sp) +/* BEEA44 80241C54 03E00008 */ jr $ra +/* BEEA48 80241C58 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241C5C_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241C5C_BECDF0.s new file mode 100644 index 0000000000..c8a43374bf --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241C5C_BECDF0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C5C_BEEA4C +/* BEEA4C 80241C5C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BEEA50 80241C60 AFB40040 */ sw $s4, 0x40($sp) +/* BEEA54 80241C64 0080A02D */ daddu $s4, $a0, $zero +/* BEEA58 80241C68 AFBF0048 */ sw $ra, 0x48($sp) +/* BEEA5C 80241C6C AFB50044 */ sw $s5, 0x44($sp) +/* BEEA60 80241C70 AFB3003C */ sw $s3, 0x3c($sp) +/* BEEA64 80241C74 AFB20038 */ sw $s2, 0x38($sp) +/* BEEA68 80241C78 AFB10034 */ sw $s1, 0x34($sp) +/* BEEA6C 80241C7C AFB00030 */ sw $s0, 0x30($sp) +/* BEEA70 80241C80 8E920148 */ lw $s2, 0x148($s4) +/* BEEA74 80241C84 86440008 */ lh $a0, 8($s2) +/* BEEA78 80241C88 8E90000C */ lw $s0, 0xc($s4) +/* BEEA7C 80241C8C 0C00EABB */ jal get_npc_unsafe +/* BEEA80 80241C90 00A0882D */ daddu $s1, $a1, $zero +/* BEEA84 80241C94 0280202D */ daddu $a0, $s4, $zero +/* BEEA88 80241C98 8E050000 */ lw $a1, ($s0) +/* BEEA8C 80241C9C 0C0B1EAF */ jal get_variable +/* BEEA90 80241CA0 0040A82D */ daddu $s5, $v0, $zero +/* BEEA94 80241CA4 AFA00010 */ sw $zero, 0x10($sp) +/* BEEA98 80241CA8 8E4300D0 */ lw $v1, 0xd0($s2) +/* BEEA9C 80241CAC 8C630030 */ lw $v1, 0x30($v1) +/* BEEAA0 80241CB0 AFA30014 */ sw $v1, 0x14($sp) +/* BEEAA4 80241CB4 8E4300D0 */ lw $v1, 0xd0($s2) +/* BEEAA8 80241CB8 8C63001C */ lw $v1, 0x1c($v1) +/* BEEAAC 80241CBC AFA30018 */ sw $v1, 0x18($sp) +/* BEEAB0 80241CC0 8E4300D0 */ lw $v1, 0xd0($s2) +/* BEEAB4 80241CC4 8C630024 */ lw $v1, 0x24($v1) +/* BEEAB8 80241CC8 AFA3001C */ sw $v1, 0x1c($sp) +/* BEEABC 80241CCC 8E4300D0 */ lw $v1, 0xd0($s2) +/* BEEAC0 80241CD0 8C630028 */ lw $v1, 0x28($v1) +/* BEEAC4 80241CD4 27B30010 */ addiu $s3, $sp, 0x10 +/* BEEAC8 80241CD8 AFA30020 */ sw $v1, 0x20($sp) +/* BEEACC 80241CDC 8E4300D0 */ lw $v1, 0xd0($s2) +/* BEEAD0 80241CE0 3C0142F0 */ lui $at, 0x42f0 +/* BEEAD4 80241CE4 44810000 */ mtc1 $at, $f0 +/* BEEAD8 80241CE8 8C63002C */ lw $v1, 0x2c($v1) +/* BEEADC 80241CEC 0040802D */ daddu $s0, $v0, $zero +/* BEEAE0 80241CF0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BEEAE4 80241CF4 A7A0002C */ sh $zero, 0x2c($sp) +/* BEEAE8 80241CF8 12200006 */ beqz $s1, .L80241D14 +/* BEEAEC 80241CFC AFA30024 */ sw $v1, 0x24($sp) +/* BEEAF0 80241D00 02A0202D */ daddu $a0, $s5, $zero +/* BEEAF4 80241D04 0240282D */ daddu $a1, $s2, $zero +/* BEEAF8 80241D08 0280302D */ daddu $a2, $s4, $zero +/* BEEAFC 80241D0C 0C0906CE */ jal func_80241B38 +/* BEEB00 80241D10 0200382D */ daddu $a3, $s0, $zero +.L80241D14: +/* BEEB04 80241D14 2402FFFE */ addiu $v0, $zero, -2 +/* BEEB08 80241D18 A2A200AB */ sb $v0, 0xab($s5) +/* BEEB0C 80241D1C 8E4300B0 */ lw $v1, 0xb0($s2) +/* BEEB10 80241D20 30620004 */ andi $v0, $v1, 4 +/* BEEB14 80241D24 10400007 */ beqz $v0, .L80241D44 +/* BEEB18 80241D28 00000000 */ nop +/* BEEB1C 80241D2C 824200B4 */ lb $v0, 0xb4($s2) +/* BEEB20 80241D30 1440003C */ bnez $v0, .L80241E24 +/* BEEB24 80241D34 0000102D */ daddu $v0, $zero, $zero +/* BEEB28 80241D38 2402FFFB */ addiu $v0, $zero, -5 +/* BEEB2C 80241D3C 00621024 */ and $v0, $v1, $v0 +/* BEEB30 80241D40 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241D44: +/* BEEB34 80241D44 8E830070 */ lw $v1, 0x70($s4) +/* BEEB38 80241D48 2C62000F */ sltiu $v0, $v1, 0xf +/* BEEB3C 80241D4C 10400034 */ beqz $v0, .L80241E20 +/* BEEB40 80241D50 00031080 */ sll $v0, $v1, 2 +/* BEEB44 80241D54 3C018024 */ lui $at, 0x8024 +/* BEEB48 80241D58 00220821 */ addu $at, $at, $v0 +/* BEEB4C 80241D5C 8C227968 */ lw $v0, 0x7968($at) +/* BEEB50 80241D60 00400008 */ jr $v0 +/* BEEB54 80241D64 00000000 */ nop +/* BEEB58 80241D68 0280202D */ daddu $a0, $s4, $zero +/* BEEB5C 80241D6C 0200282D */ daddu $a1, $s0, $zero +/* BEEB60 80241D70 0C090254 */ jal func_80240950 +/* BEEB64 80241D74 0260302D */ daddu $a2, $s3, $zero +/* BEEB68 80241D78 0280202D */ daddu $a0, $s4, $zero +/* BEEB6C 80241D7C 0200282D */ daddu $a1, $s0, $zero +/* BEEB70 80241D80 0C0902C0 */ jal func_80240B00 +/* BEEB74 80241D84 0260302D */ daddu $a2, $s3, $zero +/* BEEB78 80241D88 08090789 */ j .L80241E24 +/* BEEB7C 80241D8C 0000102D */ daddu $v0, $zero, $zero +/* BEEB80 80241D90 0280202D */ daddu $a0, $s4, $zero +/* BEEB84 80241D94 0200282D */ daddu $a1, $s0, $zero +/* BEEB88 80241D98 0C09044A */ jal func_80241128 +/* BEEB8C 80241D9C 0260302D */ daddu $a2, $s3, $zero +/* BEEB90 80241DA0 0280202D */ daddu $a0, $s4, $zero +/* BEEB94 80241DA4 0200282D */ daddu $a1, $s0, $zero +/* BEEB98 80241DA8 0C09047A */ jal func_802411E8 +/* BEEB9C 80241DAC 0260302D */ daddu $a2, $s3, $zero +/* BEEBA0 80241DB0 08090789 */ j .L80241E24 +/* BEEBA4 80241DB4 0000102D */ daddu $v0, $zero, $zero +/* BEEBA8 80241DB8 0280202D */ daddu $a0, $s4, $zero +/* BEEBAC 80241DBC 0200282D */ daddu $a1, $s0, $zero +/* BEEBB0 80241DC0 0C09054B */ jal func_8024152C +/* BEEBB4 80241DC4 0260302D */ daddu $a2, $s3, $zero +/* BEEBB8 80241DC8 0280202D */ daddu $a0, $s4, $zero +/* BEEBBC 80241DCC 0200282D */ daddu $a1, $s0, $zero +/* BEEBC0 80241DD0 0C090569 */ jal func_802415A4 +/* BEEBC4 80241DD4 0260302D */ daddu $a2, $s3, $zero +/* BEEBC8 80241DD8 08090789 */ j .L80241E24 +/* BEEBCC 80241DDC 0000102D */ daddu $v0, $zero, $zero +/* BEEBD0 80241DE0 0280202D */ daddu $a0, $s4, $zero +/* BEEBD4 80241DE4 0200282D */ daddu $a1, $s0, $zero +/* BEEBD8 80241DE8 0C090584 */ jal func_80241610 +/* BEEBDC 80241DEC 0260302D */ daddu $a2, $s3, $zero +/* BEEBE0 80241DF0 08090789 */ j .L80241E24 +/* BEEBE4 80241DF4 0000102D */ daddu $v0, $zero, $zero +/* BEEBE8 80241DF8 0280202D */ daddu $a0, $s4, $zero +/* BEEBEC 80241DFC 0200282D */ daddu $a1, $s0, $zero +/* BEEBF0 80241E00 0C0905D1 */ jal func_80241744 +/* BEEBF4 80241E04 0260302D */ daddu $a2, $s3, $zero +/* BEEBF8 80241E08 08090789 */ j .L80241E24 +/* BEEBFC 80241E0C 0000102D */ daddu $v0, $zero, $zero +/* BEEC00 80241E10 0280202D */ daddu $a0, $s4, $zero +/* BEEC04 80241E14 0200282D */ daddu $a1, $s0, $zero +/* BEEC08 80241E18 0C0905EA */ jal func_802417A8 +/* BEEC0C 80241E1C 0260302D */ daddu $a2, $s3, $zero +.L80241E20: +/* BEEC10 80241E20 0000102D */ daddu $v0, $zero, $zero +.L80241E24: +/* BEEC14 80241E24 8FBF0048 */ lw $ra, 0x48($sp) +/* BEEC18 80241E28 8FB50044 */ lw $s5, 0x44($sp) +/* BEEC1C 80241E2C 8FB40040 */ lw $s4, 0x40($sp) +/* BEEC20 80241E30 8FB3003C */ lw $s3, 0x3c($sp) +/* BEEC24 80241E34 8FB20038 */ lw $s2, 0x38($sp) +/* BEEC28 80241E38 8FB10034 */ lw $s1, 0x34($sp) +/* BEEC2C 80241E3C 8FB00030 */ lw $s0, 0x30($sp) +/* BEEC30 80241E40 03E00008 */ jr $ra +/* BEEC34 80241E44 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_arn/arn_07/func_80241E48_BECDF0.s b/asm/nonmatchings/world/area_arn/arn_07/func_80241E48_BECDF0.s new file mode 100644 index 0000000000..e992835fbe --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_07/func_80241E48_BECDF0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E48_BEEC38 +/* BEEC38 80241E48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BEEC3C 80241E4C AFBF0010 */ sw $ra, 0x10($sp) +/* BEEC40 80241E50 0C03A876 */ jal set_max_SP +/* BEEC44 80241E54 24040003 */ addiu $a0, $zero, 3 +/* BEEC48 80241E58 3C028011 */ lui $v0, %hi(gPlayerData) +/* BEEC4C 80241E5C 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* BEEC50 80241E60 90430003 */ lbu $v1, 3($v0) +/* BEEC54 80241E64 90440006 */ lbu $a0, 6($v0) +/* BEEC58 80241E68 A0430002 */ sb $v1, 2($v0) +/* BEEC5C 80241E6C 0C03A6DB */ jal sync_status_menu +/* BEEC60 80241E70 A0440005 */ sb $a0, 5($v0) +/* BEEC64 80241E74 8FBF0010 */ lw $ra, 0x10($sp) +/* BEEC68 80241E78 24020002 */ addiu $v0, $zero, 2 +/* BEEC6C 80241E7C 03E00008 */ jr $ra +/* BEEC70 80241E80 27BD0018 */ addiu $sp, $sp, 0x18 +/* BEEC74 80241E84 00000000 */ nop +/* BEEC78 80241E88 00000000 */ nop +/* BEEC7C 80241E8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_80240000_BF47A0.s b/asm/nonmatchings/world/area_arn/arn_08/func_80240000_BF47A0.s new file mode 100644 index 0000000000..b2ac287b51 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_80240000_BF47A0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BF47A0 +/* BF47A0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BF47A4 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* BF47A8 80240008 AFBF001C */ sw $ra, 0x1c($sp) +/* BF47AC 8024000C F7B40020 */ sdc1 $f20, 0x20($sp) +/* BF47B0 80240010 10A00005 */ beqz $a1, .L80240028 +/* BF47B4 80240014 0080802D */ daddu $s0, $a0, $zero +/* BF47B8 80240018 AE000070 */ sw $zero, 0x70($s0) +/* BF47BC 8024001C 3C040001 */ lui $a0, 1 +/* BF47C0 80240020 0C037FBF */ jal func_800DFEFC +/* BF47C4 80240024 34840007 */ ori $a0, $a0, 7 +.L80240028: +/* BF47C8 80240028 0C038D36 */ jal func_800E34D8 +/* BF47CC 8024002C 00000000 */ nop +/* BF47D0 80240030 46000506 */ mov.s $f20, $f0 +/* BF47D4 80240034 4600A306 */ mov.s $f12, $f20 +/* BF47D8 80240038 0C038D45 */ jal func_800E3514 +/* BF47DC 8024003C 27A50010 */ addiu $a1, $sp, 0x10 +/* BF47E0 80240040 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* BF47E4 80240044 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* BF47E8 80240048 E440002C */ swc1 $f0, 0x2c($v0) +/* BF47EC 8024004C C6000070 */ lwc1 $f0, 0x70($s0) +/* BF47F0 80240050 46800020 */ cvt.s.w $f0, $f0 +/* BF47F4 80240054 4600A505 */ abs.s $f20, $f20 +/* BF47F8 80240058 46140000 */ add.s $f0, $f0, $f20 +/* BF47FC 8024005C 4600008D */ trunc.w.s $f2, $f0 +/* BF4800 80240060 44021000 */ mfc1 $v0, $f2 +/* BF4804 80240064 00000000 */ nop +/* BF4808 80240068 AE020070 */ sw $v0, 0x70($s0) +/* BF480C 8024006C 28420033 */ slti $v0, $v0, 0x33 +/* BF4810 80240070 38420001 */ xori $v0, $v0, 1 +/* BF4814 80240074 8FBF001C */ lw $ra, 0x1c($sp) +/* BF4818 80240078 8FB00018 */ lw $s0, 0x18($sp) +/* BF481C 8024007C D7B40020 */ ldc1 $f20, 0x20($sp) +/* BF4820 80240080 00021040 */ sll $v0, $v0, 1 +/* BF4824 80240084 03E00008 */ jr $ra +/* BF4828 80240088 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_8024008C.s b/asm/nonmatchings/world/area_arn/arn_08/func_8024008C.s new file mode 100644 index 0000000000..6e54ced747 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_8024008C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024008C +/* BF482C 8024008C 3C018011 */ lui $at, 0x8011 +/* BF4830 80240090 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* BF4834 80240094 3C01C120 */ lui $at, 0xc120 +/* BF4838 80240098 44810000 */ mtc1 $at, $f0 +/* BF483C 8024009C 00000000 */ nop +/* BF4840 802400A0 4600103C */ c.lt.s $f2, $f0 +/* BF4844 802400A4 00000000 */ nop +/* BF4848 802400A8 45010002 */ bc1t .L802400B4 +/* BF484C 802400AC 24020002 */ addiu $v0, $zero, 2 +/* BF4850 802400B0 0000102D */ daddu $v0, $zero, $zero +.L802400B4: +/* BF4854 802400B4 03E00008 */ jr $ra +/* BF4858 802400B8 00000000 */ nop +/* BF485C 802400BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_802400C0_BF47A0.s b/asm/nonmatchings/world/area_arn/arn_08/func_802400C0_BF47A0.s new file mode 100644 index 0000000000..d137264b84 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_802400C0_BF47A0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C0_BF4860 +/* BF4860 802400C0 24020001 */ addiu $v0, $zero, 1 +/* BF4864 802400C4 3C018011 */ lui $at, %hi(gPlayerData) +/* BF4868 802400C8 A022F290 */ sb $v0, %lo(gPlayerData)($at) +/* BF486C 802400CC 03E00008 */ jr $ra +/* BF4870 802400D0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_802400D4_BF47A0.s b/asm/nonmatchings/world/area_arn/arn_08/func_802400D4_BF47A0.s new file mode 100644 index 0000000000..ebdba23951 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_802400D4_BF47A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D4_BF4874 +/* BF4874 802400D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BF4878 802400D8 AFBF0010 */ sw $ra, 0x10($sp) +/* BF487C 802400DC 0C03BCC0 */ jal func_800EF300 +/* BF4880 802400E0 00000000 */ nop +/* BF4884 802400E4 8FBF0010 */ lw $ra, 0x10($sp) +/* BF4888 802400E8 24020002 */ addiu $v0, $zero, 2 +/* BF488C 802400EC 03E00008 */ jr $ra +/* BF4890 802400F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_802400F4_BF47A0.s b/asm/nonmatchings/world/area_arn/arn_08/func_802400F4_BF47A0.s new file mode 100644 index 0000000000..83115fab8f --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_802400F4_BF47A0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F4_BF4894 +/* BF4894 802400F4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BF4898 802400F8 AFB00018 */ sw $s0, 0x18($sp) +/* BF489C 802400FC AFB1001C */ sw $s1, 0x1c($sp) +/* BF48A0 80240100 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* BF48A4 80240104 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* BF48A8 80240108 AFBF0020 */ sw $ra, 0x20($sp) +/* BF48AC 8024010C F7B40028 */ sdc1 $f20, 0x28($sp) +/* BF48B0 80240110 10A00002 */ beqz $a1, .L8024011C +/* BF48B4 80240114 0080802D */ daddu $s0, $a0, $zero +/* BF48B8 80240118 AE000070 */ sw $zero, 0x70($s0) +.L8024011C: +/* BF48BC 8024011C C622002C */ lwc1 $f2, 0x2c($s1) +/* BF48C0 80240120 3C01C120 */ lui $at, 0xc120 +/* BF48C4 80240124 44810000 */ mtc1 $at, $f0 +/* BF48C8 80240128 00000000 */ nop +/* BF48CC 8024012C 4602003C */ c.lt.s $f0, $f2 +/* BF48D0 80240130 00000000 */ nop +/* BF48D4 80240134 45010013 */ bc1t .L80240184 +/* BF48D8 80240138 0000102D */ daddu $v0, $zero, $zero +/* BF48DC 8024013C 0C038D36 */ jal func_800E34D8 +/* BF48E0 80240140 00000000 */ nop +/* BF48E4 80240144 46000506 */ mov.s $f20, $f0 +/* BF48E8 80240148 4600A306 */ mov.s $f12, $f20 +/* BF48EC 8024014C 0C038D45 */ jal func_800E3514 +/* BF48F0 80240150 27A50010 */ addiu $a1, $sp, 0x10 +/* BF48F4 80240154 E620002C */ swc1 $f0, 0x2c($s1) +/* BF48F8 80240158 C6000070 */ lwc1 $f0, 0x70($s0) +/* BF48FC 8024015C 46800020 */ cvt.s.w $f0, $f0 +/* BF4900 80240160 4600A505 */ abs.s $f20, $f20 +/* BF4904 80240164 46140000 */ add.s $f0, $f0, $f20 +/* BF4908 80240168 4600010D */ trunc.w.s $f4, $f0 +/* BF490C 8024016C 44032000 */ mfc1 $v1, $f4 +/* BF4910 80240170 00000000 */ nop +/* BF4914 80240174 28620033 */ slti $v0, $v1, 0x33 +/* BF4918 80240178 38420001 */ xori $v0, $v0, 1 +/* BF491C 8024017C 00021040 */ sll $v0, $v0, 1 +/* BF4920 80240180 AE030070 */ sw $v1, 0x70($s0) +.L80240184: +/* BF4924 80240184 8FBF0020 */ lw $ra, 0x20($sp) +/* BF4928 80240188 8FB1001C */ lw $s1, 0x1c($sp) +/* BF492C 8024018C 8FB00018 */ lw $s0, 0x18($sp) +/* BF4930 80240190 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BF4934 80240194 03E00008 */ jr $ra +/* BF4938 80240198 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_arn/arn_08/func_8024019C_BF47A0.s b/asm/nonmatchings/world/area_arn/arn_08/func_8024019C_BF47A0.s new file mode 100644 index 0000000000..a0a992e650 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_08/func_8024019C_BF47A0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024019C_BF493C +/* BF493C 8024019C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BF4940 802401A0 3C048024 */ lui $a0, 0x8024 +/* BF4944 802401A4 24841188 */ addiu $a0, $a0, 0x1188 +/* BF4948 802401A8 AFBF0018 */ sw $ra, 0x18($sp) +/* BF494C 802401AC AFB10014 */ sw $s1, 0x14($sp) +/* BF4950 802401B0 AFB00010 */ sw $s0, 0x10($sp) +/* BF4954 802401B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* BF4958 802401B8 8C830000 */ lw $v1, ($a0) +/* BF495C 802401BC 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* BF4960 802401C0 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* BF4964 802401C4 28620003 */ slti $v0, $v1, 3 +/* BF4968 802401C8 50400007 */ beql $v0, $zero, .L802401E8 +/* BF496C 802401CC 24020003 */ addiu $v0, $zero, 3 +/* BF4970 802401D0 1C60000C */ bgtz $v1, .L80240204 +/* BF4974 802401D4 24620001 */ addiu $v0, $v1, 1 +/* BF4978 802401D8 10600007 */ beqz $v1, .L802401F8 +/* BF497C 802401DC 0000102D */ daddu $v0, $zero, $zero +/* BF4980 802401E0 0809009D */ j .L80240274 +/* BF4984 802401E4 00000000 */ nop +.L802401E8: +/* BF4988 802401E8 10620008 */ beq $v1, $v0, .L8024020C +/* BF498C 802401EC 0000102D */ daddu $v0, $zero, $zero +/* BF4990 802401F0 0809009D */ j .L80240274 +/* BF4994 802401F4 00000000 */ nop +.L802401F8: +/* BF4998 802401F8 24020001 */ addiu $v0, $zero, 1 +/* BF499C 802401FC 0809009C */ j .L80240270 +/* BF49A0 80240200 AC820000 */ sw $v0, ($a0) +.L80240204: +/* BF49A4 80240204 0809009C */ j .L80240270 +/* BF49A8 80240208 AC820000 */ sw $v0, ($a0) +.L8024020C: +/* BF49AC 8024020C 3C108011 */ lui $s0, 0x8011 +/* BF49B0 80240210 2610C930 */ addiu $s0, $s0, -0x36d0 +/* BF49B4 80240214 0C03BD17 */ jal clear_partner_move_history +/* BF49B8 80240218 8E040000 */ lw $a0, ($s0) +/* BF49BC 8024021C C6200028 */ lwc1 $f0, 0x28($s1) +/* BF49C0 80240220 C6220030 */ lwc1 $f2, 0x30($s1) +/* BF49C4 80240224 4600010D */ trunc.w.s $f4, $f0 +/* BF49C8 80240228 44042000 */ mfc1 $a0, $f4 +/* BF49CC 8024022C 4600110D */ trunc.w.s $f4, $f2 +/* BF49D0 80240230 44052000 */ mfc1 $a1, $f4 +/* BF49D4 80240234 0C03BCF0 */ jal func_800EF3C0 +/* BF49D8 80240238 00000000 */ nop +/* BF49DC 8024023C 0C03BCF5 */ jal func_800EF3D4 +/* BF49E0 80240240 0000202D */ daddu $a0, $zero, $zero +/* BF49E4 80240244 3C0142B4 */ lui $at, 0x42b4 +/* BF49E8 80240248 4481A000 */ mtc1 $at, $f20 +/* BF49EC 8024024C 8E040000 */ lw $a0, ($s0) +/* BF49F0 80240250 4405A000 */ mfc1 $a1, $f20 +/* BF49F4 80240254 0C00ECD0 */ jal set_npc_yaw +/* BF49F8 80240258 00000000 */ nop +/* BF49FC 8024025C 24020002 */ addiu $v0, $zero, 2 +/* BF4A00 80240260 E6340080 */ swc1 $f20, 0x80($s1) +/* BF4A04 80240264 E6340084 */ swc1 $f20, 0x84($s1) +/* BF4A08 80240268 0809009D */ j .L80240274 +/* BF4A0C 8024026C AE2000A8 */ sw $zero, 0xa8($s1) +.L80240270: +/* BF4A10 80240270 0000102D */ daddu $v0, $zero, $zero +.L80240274: +/* BF4A14 80240274 8FBF0018 */ lw $ra, 0x18($sp) +/* BF4A18 80240278 8FB10014 */ lw $s1, 0x14($sp) +/* BF4A1C 8024027C 8FB00010 */ lw $s0, 0x10($sp) +/* BF4A20 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* BF4A24 80240284 03E00008 */ jr $ra +/* BF4A28 80240288 27BD0028 */ addiu $sp, $sp, 0x28 +/* BF4A2C 8024028C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_arn/arn_09/func_80240000_BF6060.s b/asm/nonmatchings/world/area_arn/arn_09/func_80240000_BF6060.s new file mode 100644 index 0000000000..8e8fc728d3 --- /dev/null +++ b/asm/nonmatchings/world/area_arn/arn_09/func_80240000_BF6060.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BF6060 +/* BF6060 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BF6064 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BF6068 80240008 0C04417A */ jal get_entity_by_index +/* BF606C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* BF6070 80240010 50400007 */ beql $v0, $zero, .L80240030 +/* BF6074 80240014 0000102D */ daddu $v0, $zero, $zero +/* BF6078 80240018 84440014 */ lh $a0, 0x14($v0) +/* BF607C 8024001C 3C050000 */ lui $a1, 0 +/* BF6080 80240020 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* BF6084 80240024 0C048052 */ jal play_model_animation +/* BF6088 80240028 00000000 */ nop +/* BF608C 8024002C 24020002 */ addiu $v0, $zero, 2 +.L80240030: +/* BF6090 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* BF6094 80240034 03E00008 */ jr $ra +/* BF6098 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* BF609C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_00/func_80240000_BFA0A0.s b/asm/nonmatchings/world/area_dgb/dgb_00/func_80240000_BFA0A0.s new file mode 100644 index 0000000000..a73a366141 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_00/func_80240000_BFA0A0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BFA0A0 +/* BFA0A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFA0A4 80240004 3C04800E */ lui $a0, 0x800e +/* BFA0A8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* BFA0AC 8024000C 3C058024 */ lui $a1, 0x8024 +/* BFA0B0 80240010 24A537A0 */ addiu $a1, $a1, 0x37a0 +/* BFA0B4 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* BFA0B8 80240018 0C01953C */ jal sprintf +/* BFA0BC 8024001C 00000000 */ nop +/* BFA0C0 80240020 3C04800E */ lui $a0, 0x800e +/* BFA0C4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* BFA0C8 80240028 3C058024 */ lui $a1, 0x8024 +/* BFA0CC 8024002C 0C01953C */ jal sprintf +/* BFA0D0 80240030 24A537B0 */ addiu $a1, $a1, 0x37b0 +/* BFA0D4 80240034 3C04800B */ lui $a0, 0x800b +/* BFA0D8 80240038 24840CF0 */ addiu $a0, $a0, 0xcf0 +/* BFA0DC 8024003C 3C058024 */ lui $a1, 0x8024 +/* BFA0E0 80240040 0C01953C */ jal sprintf +/* BFA0E4 80240044 24A537BC */ addiu $a1, $a1, 0x37bc +/* BFA0E8 80240048 8FBF0010 */ lw $ra, 0x10($sp) +/* BFA0EC 8024004C 0000102D */ daddu $v0, $zero, $zero +/* BFA0F0 80240050 03E00008 */ jr $ra +/* BFA0F4 80240054 27BD0018 */ addiu $sp, $sp, 0x18 +/* BFA0F8 80240058 00000000 */ nop +/* BFA0FC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_00/func_80240060_BFA0A0.s b/asm/nonmatchings/world/area_dgb/dgb_00/func_80240060_BFA0A0.s new file mode 100644 index 0000000000..ff23ced951 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_00/func_80240060_BFA0A0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060_BFA100 +/* BFA100 80240060 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BFA104 80240064 AFBF0018 */ sw $ra, 0x18($sp) +/* BFA108 80240068 0C00FB3A */ jal get_enemy +/* BFA10C 8024006C 24040006 */ addiu $a0, $zero, 6 +/* BFA110 80240070 84440008 */ lh $a0, 8($v0) +/* BFA114 80240074 0C00EABB */ jal get_npc_unsafe +/* BFA118 80240078 00000000 */ nop +/* BFA11C 8024007C C4400040 */ lwc1 $f0, 0x40($v0) +/* BFA120 80240080 2404032E */ addiu $a0, $zero, 0x32e +/* BFA124 80240084 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFA128 80240088 8C460038 */ lw $a2, 0x38($v0) +/* BFA12C 8024008C 8C47003C */ lw $a3, 0x3c($v0) +/* BFA130 80240090 0C05267B */ jal func_801499EC +/* BFA134 80240094 0000282D */ daddu $a1, $zero, $zero +/* BFA138 80240098 8FBF0018 */ lw $ra, 0x18($sp) +/* BFA13C 8024009C 24020002 */ addiu $v0, $zero, 2 +/* BFA140 802400A0 03E00008 */ jr $ra +/* BFA144 802400A4 27BD0020 */ addiu $sp, $sp, 0x20 +/* BFA148 802400A8 00000000 */ nop +/* BFA14C 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240000_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240000_BFD880.s new file mode 100644 index 0000000000..4516098874 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240000_BFD880.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BFD880 +/* BFD880 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFD884 80240004 3C0400C2 */ lui $a0, 0xc2 +/* BFD888 80240008 24840F40 */ addiu $a0, $a0, 0xf40 +/* BFD88C 8024000C 3C0500C3 */ lui $a1, 0xc3 +/* BFD890 80240010 24A5EBA0 */ addiu $a1, $a1, -0x1460 +/* BFD894 80240014 3C068020 */ lui $a2, %hi(gBackgroundImage) +/* BFD898 80240018 24C60000 */ addiu $a2, $a2, %lo(gBackgroundImage) +/* BFD89C 8024001C AFBF0010 */ sw $ra, 0x10($sp) +/* BFD8A0 80240020 0C00A5CF */ jal dma_copy +/* BFD8A4 80240024 00000000 */ nop +/* BFD8A8 80240028 8FBF0010 */ lw $ra, 0x10($sp) +/* BFD8AC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* BFD8B0 80240030 03E00008 */ jr $ra +/* BFD8B4 80240034 27BD0018 */ addiu $sp, $sp, 0x18 +/* BFD8B8 80240038 00000000 */ nop +/* BFD8BC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240040_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240040_BFD880.s new file mode 100644 index 0000000000..6589436402 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240040_BFD880.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_BFD8C0 +/* BFD8C0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFD8C4 80240044 AFBF0010 */ sw $ra, 0x10($sp) +/* BFD8C8 80240048 0C04417A */ jal get_entity_by_index +/* BFD8CC 8024004C 8C840084 */ lw $a0, 0x84($a0) +/* BFD8D0 80240050 0040182D */ daddu $v1, $v0, $zero +/* BFD8D4 80240054 8C640000 */ lw $a0, ($v1) +/* BFD8D8 80240058 3C050010 */ lui $a1, 0x10 +/* BFD8DC 8024005C 00852025 */ or $a0, $a0, $a1 +/* BFD8E0 80240060 AC640000 */ sw $a0, ($v1) +/* BFD8E4 80240064 8FBF0010 */ lw $ra, 0x10($sp) +/* BFD8E8 80240068 24020002 */ addiu $v0, $zero, 2 +/* BFD8EC 8024006C 03E00008 */ jr $ra +/* BFD8F0 80240070 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240074_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240074_BFD880.s new file mode 100644 index 0000000000..fe24ca5d3f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240074_BFD880.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240074_BFD8F4 +/* BFD8F4 80240074 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BFD8F8 80240078 AFB20018 */ sw $s2, 0x18($sp) +/* BFD8FC 8024007C 0080902D */ daddu $s2, $a0, $zero +/* BFD900 80240080 AFBF001C */ sw $ra, 0x1c($sp) +/* BFD904 80240084 AFB10014 */ sw $s1, 0x14($sp) +/* BFD908 80240088 AFB00010 */ sw $s0, 0x10($sp) +/* BFD90C 8024008C 8E50000C */ lw $s0, 0xc($s2) +/* BFD910 80240090 8E050000 */ lw $a1, ($s0) +/* BFD914 80240094 0C0B1EAF */ jal get_variable +/* BFD918 80240098 26100004 */ addiu $s0, $s0, 4 +/* BFD91C 8024009C 0C04417A */ jal get_entity_by_index +/* BFD920 802400A0 0040202D */ daddu $a0, $v0, $zero +/* BFD924 802400A4 8E050000 */ lw $a1, ($s0) +/* BFD928 802400A8 26100004 */ addiu $s0, $s0, 4 +/* BFD92C 802400AC 0040882D */ daddu $s1, $v0, $zero +/* BFD930 802400B0 C6200048 */ lwc1 $f0, 0x48($s1) +/* BFD934 802400B4 4600008D */ trunc.w.s $f2, $f0 +/* BFD938 802400B8 44061000 */ mfc1 $a2, $f2 +/* BFD93C 802400BC 0C0B2026 */ jal set_variable +/* BFD940 802400C0 0240202D */ daddu $a0, $s2, $zero +/* BFD944 802400C4 8E050000 */ lw $a1, ($s0) +/* BFD948 802400C8 26100004 */ addiu $s0, $s0, 4 +/* BFD94C 802400CC C620004C */ lwc1 $f0, 0x4c($s1) +/* BFD950 802400D0 4600008D */ trunc.w.s $f2, $f0 +/* BFD954 802400D4 44061000 */ mfc1 $a2, $f2 +/* BFD958 802400D8 0C0B2026 */ jal set_variable +/* BFD95C 802400DC 0240202D */ daddu $a0, $s2, $zero +/* BFD960 802400E0 C6200050 */ lwc1 $f0, 0x50($s1) +/* BFD964 802400E4 8E050000 */ lw $a1, ($s0) +/* BFD968 802400E8 4600008D */ trunc.w.s $f2, $f0 +/* BFD96C 802400EC 44061000 */ mfc1 $a2, $f2 +/* BFD970 802400F0 0C0B2026 */ jal set_variable +/* BFD974 802400F4 0240202D */ daddu $a0, $s2, $zero +/* BFD978 802400F8 8FBF001C */ lw $ra, 0x1c($sp) +/* BFD97C 802400FC 8FB20018 */ lw $s2, 0x18($sp) +/* BFD980 80240100 8FB10014 */ lw $s1, 0x14($sp) +/* BFD984 80240104 8FB00010 */ lw $s0, 0x10($sp) +/* BFD988 80240108 24020002 */ addiu $v0, $zero, 2 +/* BFD98C 8024010C 03E00008 */ jr $ra +/* BFD990 80240110 27BD0020 */ addiu $sp, $sp, 0x20 +/* BFD994 80240114 00000000 */ nop +/* BFD998 80240118 00000000 */ nop +/* BFD99C 8024011C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240120_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240120_BFD880.s new file mode 100644 index 0000000000..cbf9cbf7f9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240120_BFD880.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_BFD9A0 +/* BFD9A0 80240120 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BFD9A4 80240124 AFB3002C */ sw $s3, 0x2c($sp) +/* BFD9A8 80240128 0080982D */ daddu $s3, $a0, $zero +/* BFD9AC 8024012C AFBF0030 */ sw $ra, 0x30($sp) +/* BFD9B0 80240130 AFB20028 */ sw $s2, 0x28($sp) +/* BFD9B4 80240134 AFB10024 */ sw $s1, 0x24($sp) +/* BFD9B8 80240138 AFB00020 */ sw $s0, 0x20($sp) +/* BFD9BC 8024013C 8E710148 */ lw $s1, 0x148($s3) +/* BFD9C0 80240140 86240008 */ lh $a0, 8($s1) +/* BFD9C4 80240144 0C00EABB */ jal get_npc_unsafe +/* BFD9C8 80240148 00A0902D */ daddu $s2, $a1, $zero +/* BFD9CC 8024014C 8E440004 */ lw $a0, 4($s2) +/* BFD9D0 80240150 0040802D */ daddu $s0, $v0, $zero +/* BFD9D4 80240154 00041FC2 */ srl $v1, $a0, 0x1f +/* BFD9D8 80240158 00832021 */ addu $a0, $a0, $v1 +/* BFD9DC 8024015C 00042043 */ sra $a0, $a0, 1 +/* BFD9E0 80240160 0C00A67F */ jal rand_int +/* BFD9E4 80240164 24840001 */ addiu $a0, $a0, 1 +/* BFD9E8 80240168 8E430004 */ lw $v1, 4($s2) +/* BFD9EC 8024016C 000327C2 */ srl $a0, $v1, 0x1f +/* BFD9F0 80240170 00641821 */ addu $v1, $v1, $a0 +/* BFD9F4 80240174 00031843 */ sra $v1, $v1, 1 +/* BFD9F8 80240178 00621821 */ addu $v1, $v1, $v0 +/* BFD9FC 8024017C A603008E */ sh $v1, 0x8e($s0) +/* BFDA00 80240180 8E2300D0 */ lw $v1, 0xd0($s1) +/* BFDA04 80240184 C6000040 */ lwc1 $f0, 0x40($s0) +/* BFDA08 80240188 C4640000 */ lwc1 $f4, ($v1) +/* BFDA0C 8024018C 46802120 */ cvt.s.w $f4, $f4 +/* BFDA10 80240190 C4620008 */ lwc1 $f2, 8($v1) +/* BFDA14 80240194 468010A0 */ cvt.s.w $f2, $f2 +/* BFDA18 80240198 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFDA1C 8024019C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDA20 802401A0 44061000 */ mfc1 $a2, $f2 +/* BFDA24 802401A4 C440000C */ lwc1 $f0, 0xc($v0) +/* BFDA28 802401A8 46800020 */ cvt.s.w $f0, $f0 +/* BFDA2C 802401AC E7A00014 */ swc1 $f0, 0x14($sp) +/* BFDA30 802401B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDA34 802401B4 44052000 */ mfc1 $a1, $f4 +/* BFDA38 802401B8 C4400010 */ lwc1 $f0, 0x10($v0) +/* BFDA3C 802401BC 46800020 */ cvt.s.w $f0, $f0 +/* BFDA40 802401C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BFDA44 802401C4 8C640018 */ lw $a0, 0x18($v1) +/* BFDA48 802401C8 0C0123F5 */ jal is_point_within_region +/* BFDA4C 802401CC 8E070038 */ lw $a3, 0x38($s0) +/* BFDA50 802401D0 1040000E */ beqz $v0, .L8024020C +/* BFDA54 802401D4 00000000 */ nop +/* BFDA58 802401D8 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDA5C 802401DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFDA60 802401E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFDA64 802401E4 C4460000 */ lwc1 $f6, ($v0) +/* BFDA68 802401E8 468031A0 */ cvt.s.w $f6, $f6 +/* BFDA6C 802401EC 44063000 */ mfc1 $a2, $f6 +/* BFDA70 802401F0 C4460008 */ lwc1 $f6, 8($v0) +/* BFDA74 802401F4 468031A0 */ cvt.s.w $f6, $f6 +/* BFDA78 802401F8 44073000 */ mfc1 $a3, $f6 +/* BFDA7C 802401FC 0C00A720 */ jal atan2 +/* BFDA80 80240200 00000000 */ nop +/* BFDA84 80240204 0809008F */ j .L8024023C +/* BFDA88 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* BFDA8C 8024020C 0C00A67F */ jal rand_int +/* BFDA90 80240210 2404003C */ addiu $a0, $zero, 0x3c +/* BFDA94 80240214 C60C000C */ lwc1 $f12, 0xc($s0) +/* BFDA98 80240218 44820000 */ mtc1 $v0, $f0 +/* BFDA9C 8024021C 00000000 */ nop +/* BFDAA0 80240220 46800020 */ cvt.s.w $f0, $f0 +/* BFDAA4 80240224 46006300 */ add.s $f12, $f12, $f0 +/* BFDAA8 80240228 3C0141F0 */ lui $at, 0x41f0 +/* BFDAAC 8024022C 44810000 */ mtc1 $at, $f0 +/* BFDAB0 80240230 0C00A6C9 */ jal clamp_angle +/* BFDAB4 80240234 46006301 */ sub.s $f12, $f12, $f0 +/* BFDAB8 80240238 E600000C */ swc1 $f0, 0xc($s0) +.L8024023C: +/* BFDABC 8024023C 8E2200CC */ lw $v0, 0xcc($s1) +/* BFDAC0 80240240 8C420004 */ lw $v0, 4($v0) +/* BFDAC4 80240244 AE020028 */ sw $v0, 0x28($s0) +/* BFDAC8 80240248 AE600074 */ sw $zero, 0x74($s3) +/* BFDACC 8024024C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDAD0 80240250 8C420014 */ lw $v0, 0x14($v0) +/* BFDAD4 80240254 04410004 */ bgez $v0, .L80240268 +/* BFDAD8 80240258 00000000 */ nop +/* BFDADC 8024025C C6400000 */ lwc1 $f0, ($s2) +/* BFDAE0 80240260 080900A2 */ j .L80240288 +/* BFDAE4 80240264 E6000018 */ swc1 $f0, 0x18($s0) +.L80240268: +/* BFDAE8 80240268 3C018026 */ lui $at, 0x8026 +/* BFDAEC 8024026C D4223420 */ ldc1 $f2, 0x3420($at) +/* BFDAF0 80240270 44820000 */ mtc1 $v0, $f0 +/* BFDAF4 80240274 00000000 */ nop +/* BFDAF8 80240278 46800021 */ cvt.d.w $f0, $f0 +/* BFDAFC 8024027C 46220003 */ div.d $f0, $f0, $f2 +/* BFDB00 80240280 46200020 */ cvt.s.d $f0, $f0 +/* BFDB04 80240284 E6000018 */ swc1 $f0, 0x18($s0) +.L80240288: +/* BFDB08 80240288 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFDB0C 8024028C 3C014059 */ lui $at, 0x4059 +/* BFDB10 80240290 44811800 */ mtc1 $at, $f3 +/* BFDB14 80240294 44801000 */ mtc1 $zero, $f2 +/* BFDB18 80240298 46000021 */ cvt.d.s $f0, $f0 +/* BFDB1C 8024029C 46220002 */ mul.d $f0, $f0, $f2 +/* BFDB20 802402A0 00000000 */ nop +/* BFDB24 802402A4 24020001 */ addiu $v0, $zero, 1 +/* BFDB28 802402A8 4620018D */ trunc.w.d $f6, $f0 +/* BFDB2C 802402AC E626007C */ swc1 $f6, 0x7c($s1) +/* BFDB30 802402B0 AE620070 */ sw $v0, 0x70($s3) +/* BFDB34 802402B4 8FBF0030 */ lw $ra, 0x30($sp) +/* BFDB38 802402B8 8FB3002C */ lw $s3, 0x2c($sp) +/* BFDB3C 802402BC 8FB20028 */ lw $s2, 0x28($sp) +/* BFDB40 802402C0 8FB10024 */ lw $s1, 0x24($sp) +/* BFDB44 802402C4 8FB00020 */ lw $s0, 0x20($sp) +/* BFDB48 802402C8 03E00008 */ jr $ra +/* BFDB4C 802402CC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802402D0_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802402D0_BFD880.s new file mode 100644 index 0000000000..67ac53345f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802402D0_BFD880.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0_BFDB50 +/* BFDB50 802402D0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BFDB54 802402D4 AFB3004C */ sw $s3, 0x4c($sp) +/* BFDB58 802402D8 0080982D */ daddu $s3, $a0, $zero +/* BFDB5C 802402DC AFBF0058 */ sw $ra, 0x58($sp) +/* BFDB60 802402E0 AFB50054 */ sw $s5, 0x54($sp) +/* BFDB64 802402E4 AFB40050 */ sw $s4, 0x50($sp) +/* BFDB68 802402E8 AFB20048 */ sw $s2, 0x48($sp) +/* BFDB6C 802402EC AFB10044 */ sw $s1, 0x44($sp) +/* BFDB70 802402F0 AFB00040 */ sw $s0, 0x40($sp) +/* BFDB74 802402F4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* BFDB78 802402F8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* BFDB7C 802402FC F7B60068 */ sdc1 $f22, 0x68($sp) +/* BFDB80 80240300 F7B40060 */ sdc1 $f20, 0x60($sp) +/* BFDB84 80240304 8E710148 */ lw $s1, 0x148($s3) +/* BFDB88 80240308 00A0902D */ daddu $s2, $a1, $zero +/* BFDB8C 8024030C 86240008 */ lh $a0, 8($s1) +/* BFDB90 80240310 0C00EABB */ jal get_npc_unsafe +/* BFDB94 80240314 00C0A82D */ daddu $s5, $a2, $zero +/* BFDB98 80240318 0040802D */ daddu $s0, $v0, $zero +/* BFDB9C 8024031C 0000A02D */ daddu $s4, $zero, $zero +/* BFDBA0 80240320 C624007C */ lwc1 $f4, 0x7c($s1) +/* BFDBA4 80240324 46802120 */ cvt.s.w $f4, $f4 +/* BFDBA8 80240328 C6220088 */ lwc1 $f2, 0x88($s1) +/* BFDBAC 8024032C 468010A0 */ cvt.s.w $f2, $f2 +/* BFDBB0 80240330 460010A1 */ cvt.d.s $f2, $f2 +/* BFDBB4 80240334 46002121 */ cvt.d.s $f4, $f4 +/* BFDBB8 80240338 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFDBBC 8024033C 3C014059 */ lui $at, 0x4059 +/* BFDBC0 80240340 44813800 */ mtc1 $at, $f7 +/* BFDBC4 80240344 44803000 */ mtc1 $zero, $f6 +/* BFDBC8 80240348 46000021 */ cvt.d.s $f0, $f0 +/* BFDBCC 8024034C 46260002 */ mul.d $f0, $f0, $f6 +/* BFDBD0 80240350 00000000 */ nop +/* BFDBD4 80240354 24020001 */ addiu $v0, $zero, 1 +/* BFDBD8 80240358 8E24006C */ lw $a0, 0x6c($s1) +/* BFDBDC 8024035C 46261083 */ div.d $f2, $f2, $f6 +/* BFDBE0 80240360 462010A0 */ cvt.s.d $f2, $f2 +/* BFDBE4 80240364 46262103 */ div.d $f4, $f4, $f6 +/* BFDBE8 80240368 46202520 */ cvt.s.d $f20, $f4 +/* BFDBEC 8024036C 30830011 */ andi $v1, $a0, 0x11 +/* BFDBF0 80240370 4620020D */ trunc.w.d $f8, $f0 +/* BFDBF4 80240374 E628007C */ swc1 $f8, 0x7c($s1) +/* BFDBF8 80240378 C6200078 */ lwc1 $f0, 0x78($s1) +/* BFDBFC 8024037C 46800020 */ cvt.s.w $f0, $f0 +/* BFDC00 80240380 46000021 */ cvt.d.s $f0, $f0 +/* BFDC04 80240384 46260003 */ div.d $f0, $f0, $f6 +/* BFDC08 80240388 462006A0 */ cvt.s.d $f26, $f0 +/* BFDC0C 8024038C C6200070 */ lwc1 $f0, 0x70($s1) +/* BFDC10 80240390 46800020 */ cvt.s.w $f0, $f0 +/* BFDC14 80240394 46000021 */ cvt.d.s $f0, $f0 +/* BFDC18 80240398 46260003 */ div.d $f0, $f0, $f6 +/* BFDC1C 8024039C 462005A0 */ cvt.s.d $f22, $f0 +/* BFDC20 802403A0 14620025 */ bne $v1, $v0, .L80240438 +/* BFDC24 802403A4 4602D600 */ add.s $f24, $f26, $f2 +/* BFDC28 802403A8 8E020000 */ lw $v0, ($s0) +/* BFDC2C 802403AC 30420008 */ andi $v0, $v0, 8 +/* BFDC30 802403B0 10400009 */ beqz $v0, .L802403D8 +/* BFDC34 802403B4 27A50028 */ addiu $a1, $sp, 0x28 +/* BFDC38 802403B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFDC3C 802403BC 4600C001 */ sub.s $f0, $f24, $f0 +/* BFDC40 802403C0 4600B03C */ c.lt.s $f22, $f0 +/* BFDC44 802403C4 00000000 */ nop +/* BFDC48 802403C8 4500001B */ bc1f .L80240438 +/* BFDC4C 802403CC 34820010 */ ori $v0, $a0, 0x10 +/* BFDC50 802403D0 0809010E */ j .L80240438 +/* BFDC54 802403D4 AE22006C */ sw $v0, 0x6c($s1) +.L802403D8: +/* BFDC58 802403D8 27A6002C */ addiu $a2, $sp, 0x2c +/* BFDC5C 802403DC C6000038 */ lwc1 $f0, 0x38($s0) +/* BFDC60 802403E0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFDC64 802403E4 C6040040 */ lwc1 $f4, 0x40($s0) +/* BFDC68 802403E8 3C01447A */ lui $at, 0x447a +/* BFDC6C 802403EC 44813000 */ mtc1 $at, $f6 +/* BFDC70 802403F0 27A20034 */ addiu $v0, $sp, 0x34 +/* BFDC74 802403F4 E7A00028 */ swc1 $f0, 0x28($sp) +/* BFDC78 802403F8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BFDC7C 802403FC E7A40030 */ swc1 $f4, 0x30($sp) +/* BFDC80 80240400 E7A60034 */ swc1 $f6, 0x34($sp) +/* BFDC84 80240404 AFA20010 */ sw $v0, 0x10($sp) +/* BFDC88 80240408 8E040080 */ lw $a0, 0x80($s0) +/* BFDC8C 8024040C 0C0372DF */ jal func_800DCB7C +/* BFDC90 80240410 27A70030 */ addiu $a3, $sp, 0x30 +/* BFDC94 80240414 C7A00034 */ lwc1 $f0, 0x34($sp) +/* BFDC98 80240418 4600D001 */ sub.s $f0, $f26, $f0 +/* BFDC9C 8024041C 4600B03C */ c.lt.s $f22, $f0 +/* BFDCA0 80240420 00000000 */ nop +/* BFDCA4 80240424 45000004 */ bc1f .L80240438 +/* BFDCA8 80240428 00000000 */ nop +/* BFDCAC 8024042C 8E22006C */ lw $v0, 0x6c($s1) +/* BFDCB0 80240430 34420010 */ ori $v0, $v0, 0x10 +/* BFDCB4 80240434 AE22006C */ sw $v0, 0x6c($s1) +.L80240438: +/* BFDCB8 80240438 8E22006C */ lw $v0, 0x6c($s1) +/* BFDCBC 8024043C 24030011 */ addiu $v1, $zero, 0x11 +/* BFDCC0 80240440 30420011 */ andi $v0, $v0, 0x11 +/* BFDCC4 80240444 14430039 */ bne $v0, $v1, .L8024052C +/* BFDCC8 80240448 00000000 */ nop +/* BFDCCC 8024044C 8E020000 */ lw $v0, ($s0) +/* BFDCD0 80240450 30420008 */ andi $v0, $v0, 8 +/* BFDCD4 80240454 1040000A */ beqz $v0, .L80240480 +/* BFDCD8 80240458 4600C106 */ mov.s $f4, $f24 +/* BFDCDC 8024045C 4614C081 */ sub.s $f2, $f24, $f20 +/* BFDCE0 80240460 3C018026 */ lui $at, 0x8026 +/* BFDCE4 80240464 D4203428 */ ldc1 $f0, 0x3428($at) +/* BFDCE8 80240468 460010A1 */ cvt.d.s $f2, $f2 +/* BFDCEC 8024046C 46201082 */ mul.d $f2, $f2, $f0 +/* BFDCF0 80240470 00000000 */ nop +/* BFDCF4 80240474 4600A021 */ cvt.d.s $f0, $f20 +/* BFDCF8 80240478 08090139 */ j .L802404E4 +/* BFDCFC 8024047C 46220000 */ add.d $f0, $f0, $f2 +.L80240480: +/* BFDD00 80240480 27A50028 */ addiu $a1, $sp, 0x28 +/* BFDD04 80240484 27A6002C */ addiu $a2, $sp, 0x2c +/* BFDD08 80240488 C6000038 */ lwc1 $f0, 0x38($s0) +/* BFDD0C 8024048C C6020040 */ lwc1 $f2, 0x40($s0) +/* BFDD10 80240490 3C01447A */ lui $at, 0x447a +/* BFDD14 80240494 44812000 */ mtc1 $at, $f4 +/* BFDD18 80240498 27A20034 */ addiu $v0, $sp, 0x34 +/* BFDD1C 8024049C E7B4002C */ swc1 $f20, 0x2c($sp) +/* BFDD20 802404A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BFDD24 802404A4 E7A20030 */ swc1 $f2, 0x30($sp) +/* BFDD28 802404A8 E7A40034 */ swc1 $f4, 0x34($sp) +/* BFDD2C 802404AC AFA20010 */ sw $v0, 0x10($sp) +/* BFDD30 802404B0 8E040080 */ lw $a0, 0x80($s0) +/* BFDD34 802404B4 0C0372DF */ jal func_800DCB7C +/* BFDD38 802404B8 27A70030 */ addiu $a3, $sp, 0x30 +/* BFDD3C 802404BC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* BFDD40 802404C0 461A2100 */ add.s $f4, $f4, $f26 +/* BFDD44 802404C4 46142081 */ sub.s $f2, $f4, $f20 +/* BFDD48 802404C8 3C018026 */ lui $at, 0x8026 +/* BFDD4C 802404CC D4203430 */ ldc1 $f0, 0x3430($at) +/* BFDD50 802404D0 460010A1 */ cvt.d.s $f2, $f2 +/* BFDD54 802404D4 46201082 */ mul.d $f2, $f2, $f0 +/* BFDD58 802404D8 00000000 */ nop +/* BFDD5C 802404DC 4600A021 */ cvt.d.s $f0, $f20 +/* BFDD60 802404E0 46220000 */ add.d $f0, $f0, $f2 +.L802404E4: +/* BFDD64 802404E4 46200020 */ cvt.s.d $f0, $f0 +/* BFDD68 802404E8 E600003C */ swc1 $f0, 0x3c($s0) +/* BFDD6C 802404EC C600003C */ lwc1 $f0, 0x3c($s0) +/* BFDD70 802404F0 46002001 */ sub.s $f0, $f4, $f0 +/* BFDD74 802404F4 3C013FF0 */ lui $at, 0x3ff0 +/* BFDD78 802404F8 44811800 */ mtc1 $at, $f3 +/* BFDD7C 802404FC 44801000 */ mtc1 $zero, $f2 +/* BFDD80 80240500 46000005 */ abs.s $f0, $f0 +/* BFDD84 80240504 46000021 */ cvt.d.s $f0, $f0 +/* BFDD88 80240508 4622003C */ c.lt.d $f0, $f2 +/* BFDD8C 8024050C 00000000 */ nop +/* BFDD90 80240510 45000036 */ bc1f .L802405EC +/* BFDD94 80240514 2403FFEF */ addiu $v1, $zero, -0x11 +/* BFDD98 80240518 E604003C */ swc1 $f4, 0x3c($s0) +/* BFDD9C 8024051C 8E22006C */ lw $v0, 0x6c($s1) +/* BFDDA0 80240520 00431024 */ and $v0, $v0, $v1 +/* BFDDA4 80240524 0809017B */ j .L802405EC +/* BFDDA8 80240528 AE22006C */ sw $v0, 0x6c($s1) +.L8024052C: +/* BFDDAC 8024052C 8E220070 */ lw $v0, 0x70($s1) +/* BFDDB0 80240530 1840002E */ blez $v0, .L802405EC +/* BFDDB4 80240534 00000000 */ nop +/* BFDDB8 80240538 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BFDDBC 8024053C 0C00A8BB */ jal sin_deg +/* BFDDC0 80240540 46806320 */ cvt.s.w $f12, $f12 +/* BFDDC4 80240544 8E020000 */ lw $v0, ($s0) +/* BFDDC8 80240548 30420008 */ andi $v0, $v0, 8 +/* BFDDCC 8024054C 10400003 */ beqz $v0, .L8024055C +/* BFDDD0 80240550 46000506 */ mov.s $f20, $f0 +/* BFDDD4 80240554 08090167 */ j .L8024059C +/* BFDDD8 80240558 0000102D */ daddu $v0, $zero, $zero +.L8024055C: +/* BFDDDC 8024055C 27A50028 */ addiu $a1, $sp, 0x28 +/* BFDDE0 80240560 27A6002C */ addiu $a2, $sp, 0x2c +/* BFDDE4 80240564 C6000038 */ lwc1 $f0, 0x38($s0) +/* BFDDE8 80240568 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFDDEC 8024056C C6040040 */ lwc1 $f4, 0x40($s0) +/* BFDDF0 80240570 3C01447A */ lui $at, 0x447a +/* BFDDF4 80240574 44813000 */ mtc1 $at, $f6 +/* BFDDF8 80240578 27A20034 */ addiu $v0, $sp, 0x34 +/* BFDDFC 8024057C E7A00028 */ swc1 $f0, 0x28($sp) +/* BFDE00 80240580 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BFDE04 80240584 E7A40030 */ swc1 $f4, 0x30($sp) +/* BFDE08 80240588 E7A60034 */ swc1 $f6, 0x34($sp) +/* BFDE0C 8024058C AFA20010 */ sw $v0, 0x10($sp) +/* BFDE10 80240590 8E040080 */ lw $a0, 0x80($s0) +/* BFDE14 80240594 0C0372DF */ jal func_800DCB7C +/* BFDE18 80240598 27A70030 */ addiu $a3, $sp, 0x30 +.L8024059C: +/* BFDE1C 8024059C 10400007 */ beqz $v0, .L802405BC +/* BFDE20 802405A0 00000000 */ nop +/* BFDE24 802405A4 4616A082 */ mul.s $f2, $f20, $f22 +/* BFDE28 802405A8 00000000 */ nop +/* BFDE2C 802405AC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BFDE30 802405B0 461A0000 */ add.s $f0, $f0, $f26 +/* BFDE34 802405B4 08090172 */ j .L802405C8 +/* BFDE38 802405B8 46020000 */ add.s $f0, $f0, $f2 +.L802405BC: +/* BFDE3C 802405BC 4616A002 */ mul.s $f0, $f20, $f22 +/* BFDE40 802405C0 00000000 */ nop +/* BFDE44 802405C4 4600C000 */ add.s $f0, $f24, $f0 +.L802405C8: +/* BFDE48 802405C8 E600003C */ swc1 $f0, 0x3c($s0) +/* BFDE4C 802405CC 8E220074 */ lw $v0, 0x74($s1) +/* BFDE50 802405D0 2442000A */ addiu $v0, $v0, 0xa +/* BFDE54 802405D4 44826000 */ mtc1 $v0, $f12 +/* BFDE58 802405D8 00000000 */ nop +/* BFDE5C 802405DC 0C00A6C9 */ jal clamp_angle +/* BFDE60 802405E0 46806320 */ cvt.s.w $f12, $f12 +/* BFDE64 802405E4 4600020D */ trunc.w.s $f8, $f0 +/* BFDE68 802405E8 E6280074 */ swc1 $f8, 0x74($s1) +.L802405EC: +/* BFDE6C 802405EC 8E220090 */ lw $v0, 0x90($s1) +/* BFDE70 802405F0 1C40004A */ bgtz $v0, .L8024071C +/* BFDE74 802405F4 2442FFFF */ addiu $v0, $v0, -1 +/* BFDE78 802405F8 8E430014 */ lw $v1, 0x14($s2) +/* BFDE7C 802405FC 04600048 */ bltz $v1, .L80240720 +/* BFDE80 80240600 00000000 */ nop +/* BFDE84 80240604 8E620074 */ lw $v0, 0x74($s3) +/* BFDE88 80240608 1C400042 */ bgtz $v0, .L80240714 +/* BFDE8C 8024060C 2442FFFF */ addiu $v0, $v0, -1 +/* BFDE90 80240610 AE630074 */ sw $v1, 0x74($s3) +/* BFDE94 80240614 860200A8 */ lh $v0, 0xa8($s0) +/* BFDE98 80240618 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFDE9C 8024061C 44820000 */ mtc1 $v0, $f0 +/* BFDEA0 80240620 00000000 */ nop +/* BFDEA4 80240624 46800020 */ cvt.s.w $f0, $f0 +/* BFDEA8 80240628 46001080 */ add.s $f2, $f2, $f0 +/* BFDEAC 8024062C 3C014024 */ lui $at, 0x4024 +/* BFDEB0 80240630 44810800 */ mtc1 $at, $f1 +/* BFDEB4 80240634 44800000 */ mtc1 $zero, $f0 +/* BFDEB8 80240638 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFDEBC 8024063C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFDEC0 80240640 460010A1 */ cvt.d.s $f2, $f2 +/* BFDEC4 80240644 46201080 */ add.d $f2, $f2, $f0 +/* BFDEC8 80240648 C440002C */ lwc1 $f0, 0x2c($v0) +/* BFDECC 8024064C 46000021 */ cvt.d.s $f0, $f0 +/* BFDED0 80240650 4622003C */ c.lt.d $f0, $f2 +/* BFDED4 80240654 00000000 */ nop +/* BFDED8 80240658 4500002C */ bc1f .L8024070C +/* BFDEDC 8024065C 02A0202D */ daddu $a0, $s5, $zero +/* BFDEE0 80240660 AFA00010 */ sw $zero, 0x10($sp) +/* BFDEE4 80240664 8E46000C */ lw $a2, 0xc($s2) +/* BFDEE8 80240668 8E470010 */ lw $a3, 0x10($s2) +/* BFDEEC 8024066C 0C01242D */ jal func_800490B4 +/* BFDEF0 80240670 0220282D */ daddu $a1, $s1, $zero +/* BFDEF4 80240674 10400025 */ beqz $v0, .L8024070C +/* BFDEF8 80240678 0000202D */ daddu $a0, $zero, $zero +/* BFDEFC 8024067C 0200282D */ daddu $a1, $s0, $zero +/* BFDF00 80240680 0000302D */ daddu $a2, $zero, $zero +/* BFDF04 80240684 2412000C */ addiu $s2, $zero, 0xc +/* BFDF08 80240688 860300A8 */ lh $v1, 0xa8($s0) +/* BFDF0C 8024068C 3C013F80 */ lui $at, 0x3f80 +/* BFDF10 80240690 44810000 */ mtc1 $at, $f0 +/* BFDF14 80240694 3C014000 */ lui $at, 0x4000 +/* BFDF18 80240698 44811000 */ mtc1 $at, $f2 +/* BFDF1C 8024069C 3C01C1A0 */ lui $at, 0xc1a0 +/* BFDF20 802406A0 44812000 */ mtc1 $at, $f4 +/* BFDF24 802406A4 44834000 */ mtc1 $v1, $f8 +/* BFDF28 802406A8 00000000 */ nop +/* BFDF2C 802406AC 46804220 */ cvt.s.w $f8, $f8 +/* BFDF30 802406B0 44074000 */ mfc1 $a3, $f8 +/* BFDF34 802406B4 27A20038 */ addiu $v0, $sp, 0x38 +/* BFDF38 802406B8 AFB2001C */ sw $s2, 0x1c($sp) +/* BFDF3C 802406BC AFA20020 */ sw $v0, 0x20($sp) +/* BFDF40 802406C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFDF44 802406C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BFDF48 802406C8 0C01BFA4 */ jal fx_emote +/* BFDF4C 802406CC E7A40018 */ swc1 $f4, 0x18($sp) +/* BFDF50 802406D0 0200202D */ daddu $a0, $s0, $zero +/* BFDF54 802406D4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BFDF58 802406D8 C480003C */ lwc1 $f0, 0x3c($a0) +/* BFDF5C 802406DC 3C060020 */ lui $a2, 0x20 +/* BFDF60 802406E0 0C012530 */ jal func_800494C0 +/* BFDF64 802406E4 E4800064 */ swc1 $f0, 0x64($a0) +/* BFDF68 802406E8 8E220018 */ lw $v0, 0x18($s1) +/* BFDF6C 802406EC 9442002A */ lhu $v0, 0x2a($v0) +/* BFDF70 802406F0 30420001 */ andi $v0, $v0, 1 +/* BFDF74 802406F4 10400003 */ beqz $v0, .L80240704 +/* BFDF78 802406F8 2402000A */ addiu $v0, $zero, 0xa +/* BFDF7C 802406FC 08090231 */ j .L802408C4 +/* BFDF80 80240700 AE620070 */ sw $v0, 0x70($s3) +.L80240704: +/* BFDF84 80240704 08090231 */ j .L802408C4 +/* BFDF88 80240708 AE720070 */ sw $s2, 0x70($s3) +.L8024070C: +/* BFDF8C 8024070C 8E620074 */ lw $v0, 0x74($s3) +/* BFDF90 80240710 2442FFFF */ addiu $v0, $v0, -1 +.L80240714: +/* BFDF94 80240714 080901C8 */ j .L80240720 +/* BFDF98 80240718 AE620074 */ sw $v0, 0x74($s3) +.L8024071C: +/* BFDF9C 8024071C AE220090 */ sw $v0, 0x90($s1) +.L80240720: +/* BFDFA0 80240720 8E2300D0 */ lw $v1, 0xd0($s1) +/* BFDFA4 80240724 C6000040 */ lwc1 $f0, 0x40($s0) +/* BFDFA8 80240728 C4620000 */ lwc1 $f2, ($v1) +/* BFDFAC 8024072C 468010A0 */ cvt.s.w $f2, $f2 +/* BFDFB0 80240730 C4640008 */ lwc1 $f4, 8($v1) +/* BFDFB4 80240734 46802120 */ cvt.s.w $f4, $f4 +/* BFDFB8 80240738 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFDFBC 8024073C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDFC0 80240740 44051000 */ mfc1 $a1, $f2 +/* BFDFC4 80240744 C440000C */ lwc1 $f0, 0xc($v0) +/* BFDFC8 80240748 46800020 */ cvt.s.w $f0, $f0 +/* BFDFCC 8024074C E7A00014 */ swc1 $f0, 0x14($sp) +/* BFDFD0 80240750 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFDFD4 80240754 44062000 */ mfc1 $a2, $f4 +/* BFDFD8 80240758 C4400010 */ lwc1 $f0, 0x10($v0) +/* BFDFDC 8024075C 46800020 */ cvt.s.w $f0, $f0 +/* BFDFE0 80240760 E7A00018 */ swc1 $f0, 0x18($sp) +/* BFDFE4 80240764 8C640018 */ lw $a0, 0x18($v1) +/* BFDFE8 80240768 0C0123F5 */ jal is_point_within_region +/* BFDFEC 8024076C 8E070038 */ lw $a3, 0x38($s0) +/* BFDFF0 80240770 1040001A */ beqz $v0, .L802407DC +/* BFDFF4 80240774 00000000 */ nop +/* BFDFF8 80240778 8E060038 */ lw $a2, 0x38($s0) +/* BFDFFC 8024077C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFE000 80240780 8E070040 */ lw $a3, 0x40($s0) +/* BFE004 80240784 C44C0000 */ lwc1 $f12, ($v0) +/* BFE008 80240788 46806320 */ cvt.s.w $f12, $f12 +/* BFE00C 8024078C C44E0008 */ lwc1 $f14, 8($v0) +/* BFE010 80240790 0C00A7B5 */ jal dist2D +/* BFE014 80240794 468073A0 */ cvt.s.w $f14, $f14 +/* BFE018 80240798 C6020018 */ lwc1 $f2, 0x18($s0) +/* BFE01C 8024079C 4600103C */ c.lt.s $f2, $f0 +/* BFE020 802407A0 00000000 */ nop +/* BFE024 802407A4 4500000D */ bc1f .L802407DC +/* BFE028 802407A8 E7A00034 */ swc1 $f0, 0x34($sp) +/* BFE02C 802407AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFE030 802407B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFE034 802407B4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFE038 802407B8 C4480000 */ lwc1 $f8, ($v0) +/* BFE03C 802407BC 46804220 */ cvt.s.w $f8, $f8 +/* BFE040 802407C0 44064000 */ mfc1 $a2, $f8 +/* BFE044 802407C4 C4480008 */ lwc1 $f8, 8($v0) +/* BFE048 802407C8 46804220 */ cvt.s.w $f8, $f8 +/* BFE04C 802407CC 44074000 */ mfc1 $a3, $f8 +/* BFE050 802407D0 0C00A720 */ jal atan2 +/* BFE054 802407D4 24140001 */ addiu $s4, $zero, 1 +/* BFE058 802407D8 E600000C */ swc1 $f0, 0xc($s0) +.L802407DC: +/* BFE05C 802407DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BFE060 802407E0 8C43000C */ lw $v1, 0xc($v0) +/* BFE064 802407E4 8C420010 */ lw $v0, 0x10($v0) +/* BFE068 802407E8 00621825 */ or $v1, $v1, $v0 +/* BFE06C 802407EC 00741825 */ or $v1, $v1, $s4 +/* BFE070 802407F0 10600008 */ beqz $v1, .L80240814 +/* BFE074 802407F4 00000000 */ nop +/* BFE078 802407F8 8602008C */ lh $v0, 0x8c($s0) +/* BFE07C 802407FC 14400031 */ bnez $v0, .L802408C4 +/* BFE080 80240800 00000000 */ nop +/* BFE084 80240804 8E050018 */ lw $a1, 0x18($s0) +/* BFE088 80240808 8E06000C */ lw $a2, 0xc($s0) +/* BFE08C 8024080C 0C00EA95 */ jal npc_move_heading +/* BFE090 80240810 0200202D */ daddu $a0, $s0, $zero +.L80240814: +/* BFE094 80240814 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFE098 80240818 3C014059 */ lui $at, 0x4059 +/* BFE09C 8024081C 44811800 */ mtc1 $at, $f3 +/* BFE0A0 80240820 44801000 */ mtc1 $zero, $f2 +/* BFE0A4 80240824 46000021 */ cvt.d.s $f0, $f0 +/* BFE0A8 80240828 46220002 */ mul.d $f0, $f0, $f2 +/* BFE0AC 8024082C 00000000 */ nop +/* BFE0B0 80240830 4620020D */ trunc.w.d $f8, $f0 +/* BFE0B4 80240834 E628007C */ swc1 $f8, 0x7c($s1) +/* BFE0B8 80240838 8E420004 */ lw $v0, 4($s2) +/* BFE0BC 8024083C 18400021 */ blez $v0, .L802408C4 +/* BFE0C0 80240840 00000000 */ nop +/* BFE0C4 80240844 8602008E */ lh $v0, 0x8e($s0) +/* BFE0C8 80240848 9603008E */ lhu $v1, 0x8e($s0) +/* BFE0CC 8024084C 18400005 */ blez $v0, .L80240864 +/* BFE0D0 80240850 2462FFFF */ addiu $v0, $v1, -1 +/* BFE0D4 80240854 A602008E */ sh $v0, 0x8e($s0) +/* BFE0D8 80240858 00021400 */ sll $v0, $v0, 0x10 +/* BFE0DC 8024085C 1C400019 */ bgtz $v0, .L802408C4 +/* BFE0E0 80240860 00000000 */ nop +.L80240864: +/* BFE0E4 80240864 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BFE0E8 80240868 24020002 */ addiu $v0, $zero, 2 +/* BFE0EC 8024086C 0C00A67F */ jal rand_int +/* BFE0F0 80240870 AE620070 */ sw $v0, 0x70($s3) +/* BFE0F4 80240874 3C035555 */ lui $v1, 0x5555 +/* BFE0F8 80240878 34635556 */ ori $v1, $v1, 0x5556 +/* BFE0FC 8024087C 00430018 */ mult $v0, $v1 +/* BFE100 80240880 000227C3 */ sra $a0, $v0, 0x1f +/* BFE104 80240884 00004010 */ mfhi $t0 +/* BFE108 80240888 01042023 */ subu $a0, $t0, $a0 +/* BFE10C 8024088C 00041840 */ sll $v1, $a0, 1 +/* BFE110 80240890 00641821 */ addu $v1, $v1, $a0 +/* BFE114 80240894 00431023 */ subu $v0, $v0, $v1 +/* BFE118 80240898 24430002 */ addiu $v1, $v0, 2 +/* BFE11C 8024089C AE630074 */ sw $v1, 0x74($s3) +/* BFE120 802408A0 8E42002C */ lw $v0, 0x2c($s2) +/* BFE124 802408A4 58400007 */ blezl $v0, .L802408C4 +/* BFE128 802408A8 AE600070 */ sw $zero, 0x70($s3) +/* BFE12C 802408AC 8E420008 */ lw $v0, 8($s2) +/* BFE130 802408B0 18400003 */ blez $v0, .L802408C0 +/* BFE134 802408B4 28620003 */ slti $v0, $v1, 3 +/* BFE138 802408B8 10400002 */ beqz $v0, .L802408C4 +/* BFE13C 802408BC 00000000 */ nop +.L802408C0: +/* BFE140 802408C0 AE600070 */ sw $zero, 0x70($s3) +.L802408C4: +/* BFE144 802408C4 8FBF0058 */ lw $ra, 0x58($sp) +/* BFE148 802408C8 8FB50054 */ lw $s5, 0x54($sp) +/* BFE14C 802408CC 8FB40050 */ lw $s4, 0x50($sp) +/* BFE150 802408D0 8FB3004C */ lw $s3, 0x4c($sp) +/* BFE154 802408D4 8FB20048 */ lw $s2, 0x48($sp) +/* BFE158 802408D8 8FB10044 */ lw $s1, 0x44($sp) +/* BFE15C 802408DC 8FB00040 */ lw $s0, 0x40($sp) +/* BFE160 802408E0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* BFE164 802408E4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* BFE168 802408E8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* BFE16C 802408EC D7B40060 */ ldc1 $f20, 0x60($sp) +/* BFE170 802408F0 03E00008 */ jr $ra +/* BFE174 802408F4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802408F8_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802408F8_BFD880.s new file mode 100644 index 0000000000..f09da8f65c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802408F8_BFD880.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F8_BFE178 +/* BFE178 802408F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BFE17C 802408FC AFB3001C */ sw $s3, 0x1c($sp) +/* BFE180 80240900 0080982D */ daddu $s3, $a0, $zero +/* BFE184 80240904 AFBF0020 */ sw $ra, 0x20($sp) +/* BFE188 80240908 AFB20018 */ sw $s2, 0x18($sp) +/* BFE18C 8024090C AFB10014 */ sw $s1, 0x14($sp) +/* BFE190 80240910 AFB00010 */ sw $s0, 0x10($sp) +/* BFE194 80240914 8E720148 */ lw $s2, 0x148($s3) +/* BFE198 80240918 86440008 */ lh $a0, 8($s2) +/* BFE19C 8024091C 0C00EABB */ jal get_npc_unsafe +/* BFE1A0 80240920 00A0882D */ daddu $s1, $a1, $zero +/* BFE1A4 80240924 8E240008 */ lw $a0, 8($s1) +/* BFE1A8 80240928 0040802D */ daddu $s0, $v0, $zero +/* BFE1AC 8024092C 00041FC2 */ srl $v1, $a0, 0x1f +/* BFE1B0 80240930 00832021 */ addu $a0, $a0, $v1 +/* BFE1B4 80240934 00042043 */ sra $a0, $a0, 1 +/* BFE1B8 80240938 0C00A67F */ jal rand_int +/* BFE1BC 8024093C 24840001 */ addiu $a0, $a0, 1 +/* BFE1C0 80240940 8E230008 */ lw $v1, 8($s1) +/* BFE1C4 80240944 240400B4 */ addiu $a0, $zero, 0xb4 +/* BFE1C8 80240948 00032FC2 */ srl $a1, $v1, 0x1f +/* BFE1CC 8024094C 00651821 */ addu $v1, $v1, $a1 +/* BFE1D0 80240950 00031843 */ sra $v1, $v1, 1 +/* BFE1D4 80240954 00621821 */ addu $v1, $v1, $v0 +/* BFE1D8 80240958 0C00A67F */ jal rand_int +/* BFE1DC 8024095C A603008E */ sh $v1, 0x8e($s0) +/* BFE1E0 80240960 C60C000C */ lwc1 $f12, 0xc($s0) +/* BFE1E4 80240964 44820000 */ mtc1 $v0, $f0 +/* BFE1E8 80240968 00000000 */ nop +/* BFE1EC 8024096C 46800020 */ cvt.s.w $f0, $f0 +/* BFE1F0 80240970 46006300 */ add.s $f12, $f12, $f0 +/* BFE1F4 80240974 3C0142B4 */ lui $at, 0x42b4 +/* BFE1F8 80240978 44810000 */ mtc1 $at, $f0 +/* BFE1FC 8024097C 0C00A6C9 */ jal clamp_angle +/* BFE200 80240980 46006301 */ sub.s $f12, $f12, $f0 +/* BFE204 80240984 E600000C */ swc1 $f0, 0xc($s0) +/* BFE208 80240988 8E4200CC */ lw $v0, 0xcc($s2) +/* BFE20C 8024098C 8C420000 */ lw $v0, ($v0) +/* BFE210 80240990 AE020028 */ sw $v0, 0x28($s0) +/* BFE214 80240994 24020003 */ addiu $v0, $zero, 3 +/* BFE218 80240998 AE620070 */ sw $v0, 0x70($s3) +/* BFE21C 8024099C 8FBF0020 */ lw $ra, 0x20($sp) +/* BFE220 802409A0 8FB3001C */ lw $s3, 0x1c($sp) +/* BFE224 802409A4 8FB20018 */ lw $s2, 0x18($sp) +/* BFE228 802409A8 8FB10014 */ lw $s1, 0x14($sp) +/* BFE22C 802409AC 8FB00010 */ lw $s0, 0x10($sp) +/* BFE230 802409B0 03E00008 */ jr $ra +/* BFE234 802409B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802409B8.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802409B8.s new file mode 100644 index 0000000000..d9973e23ae --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802409B8.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409B8 +/* BFE238 802409B8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BFE23C 802409BC AFB3004C */ sw $s3, 0x4c($sp) +/* BFE240 802409C0 0080982D */ daddu $s3, $a0, $zero +/* BFE244 802409C4 AFBF0054 */ sw $ra, 0x54($sp) +/* BFE248 802409C8 AFB40050 */ sw $s4, 0x50($sp) +/* BFE24C 802409CC AFB20048 */ sw $s2, 0x48($sp) +/* BFE250 802409D0 AFB10044 */ sw $s1, 0x44($sp) +/* BFE254 802409D4 AFB00040 */ sw $s0, 0x40($sp) +/* BFE258 802409D8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* BFE25C 802409DC F7B80068 */ sdc1 $f24, 0x68($sp) +/* BFE260 802409E0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* BFE264 802409E4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BFE268 802409E8 8E710148 */ lw $s1, 0x148($s3) +/* BFE26C 802409EC 00A0902D */ daddu $s2, $a1, $zero +/* BFE270 802409F0 86240008 */ lh $a0, 8($s1) +/* BFE274 802409F4 0C00EABB */ jal get_npc_unsafe +/* BFE278 802409F8 00C0A02D */ daddu $s4, $a2, $zero +/* BFE27C 802409FC 0040802D */ daddu $s0, $v0, $zero +/* BFE280 80240A00 C6200078 */ lwc1 $f0, 0x78($s1) +/* BFE284 80240A04 46800020 */ cvt.s.w $f0, $f0 +/* BFE288 80240A08 46000021 */ cvt.d.s $f0, $f0 +/* BFE28C 80240A0C 3C014059 */ lui $at, 0x4059 +/* BFE290 80240A10 44811800 */ mtc1 $at, $f3 +/* BFE294 80240A14 44801000 */ mtc1 $zero, $f2 +/* BFE298 80240A18 8602008E */ lh $v0, 0x8e($s0) +/* BFE29C 80240A1C 9603008E */ lhu $v1, 0x8e($s0) +/* BFE2A0 80240A20 46220003 */ div.d $f0, $f0, $f2 +/* BFE2A4 80240A24 46200620 */ cvt.s.d $f24, $f0 +/* BFE2A8 80240A28 C6200088 */ lwc1 $f0, 0x88($s1) +/* BFE2AC 80240A2C 46800020 */ cvt.s.w $f0, $f0 +/* BFE2B0 80240A30 46000021 */ cvt.d.s $f0, $f0 +/* BFE2B4 80240A34 46220003 */ div.d $f0, $f0, $f2 +/* BFE2B8 80240A38 46200020 */ cvt.s.d $f0, $f0 +/* BFE2BC 80240A3C 18400003 */ blez $v0, .L80240A4C +/* BFE2C0 80240A40 4600C680 */ add.s $f26, $f24, $f0 +/* BFE2C4 80240A44 2462FFFF */ addiu $v0, $v1, -1 +/* BFE2C8 80240A48 A602008E */ sh $v0, 0x8e($s0) +.L80240A4C: +/* BFE2CC 80240A4C 8E220070 */ lw $v0, 0x70($s1) +/* BFE2D0 80240A50 18400034 */ blez $v0, .L80240B24 +/* BFE2D4 80240A54 00000000 */ nop +/* BFE2D8 80240A58 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BFE2DC 80240A5C 46806320 */ cvt.s.w $f12, $f12 +/* BFE2E0 80240A60 44820000 */ mtc1 $v0, $f0 +/* BFE2E4 80240A64 00000000 */ nop +/* BFE2E8 80240A68 46800020 */ cvt.s.w $f0, $f0 +/* BFE2EC 80240A6C 46000021 */ cvt.d.s $f0, $f0 +/* BFE2F0 80240A70 46220003 */ div.d $f0, $f0, $f2 +/* BFE2F4 80240A74 0C00A8BB */ jal sin_deg +/* BFE2F8 80240A78 462005A0 */ cvt.s.d $f22, $f0 +/* BFE2FC 80240A7C 8E020000 */ lw $v0, ($s0) +/* BFE300 80240A80 30420008 */ andi $v0, $v0, 8 +/* BFE304 80240A84 10400003 */ beqz $v0, .L80240A94 +/* BFE308 80240A88 46000506 */ mov.s $f20, $f0 +/* BFE30C 80240A8C 080902B5 */ j .L80240AD4 +/* BFE310 80240A90 0000102D */ daddu $v0, $zero, $zero +.L80240A94: +/* BFE314 80240A94 27A50028 */ addiu $a1, $sp, 0x28 +/* BFE318 80240A98 27A6002C */ addiu $a2, $sp, 0x2c +/* BFE31C 80240A9C C6000038 */ lwc1 $f0, 0x38($s0) +/* BFE320 80240AA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFE324 80240AA4 C6040040 */ lwc1 $f4, 0x40($s0) +/* BFE328 80240AA8 3C01447A */ lui $at, 0x447a +/* BFE32C 80240AAC 44813000 */ mtc1 $at, $f6 +/* BFE330 80240AB0 27A20034 */ addiu $v0, $sp, 0x34 +/* BFE334 80240AB4 E7A00028 */ swc1 $f0, 0x28($sp) +/* BFE338 80240AB8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BFE33C 80240ABC E7A40030 */ swc1 $f4, 0x30($sp) +/* BFE340 80240AC0 E7A60034 */ swc1 $f6, 0x34($sp) +/* BFE344 80240AC4 AFA20010 */ sw $v0, 0x10($sp) +/* BFE348 80240AC8 8E040080 */ lw $a0, 0x80($s0) +/* BFE34C 80240ACC 0C0372DF */ jal func_800DCB7C +/* BFE350 80240AD0 27A70030 */ addiu $a3, $sp, 0x30 +.L80240AD4: +/* BFE354 80240AD4 10400007 */ beqz $v0, .L80240AF4 +/* BFE358 80240AD8 00000000 */ nop +/* BFE35C 80240ADC 4616A082 */ mul.s $f2, $f20, $f22 +/* BFE360 80240AE0 00000000 */ nop +/* BFE364 80240AE4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BFE368 80240AE8 46180000 */ add.s $f0, $f0, $f24 +/* BFE36C 80240AEC 080902C0 */ j .L80240B00 +/* BFE370 80240AF0 46020000 */ add.s $f0, $f0, $f2 +.L80240AF4: +/* BFE374 80240AF4 4616A002 */ mul.s $f0, $f20, $f22 +/* BFE378 80240AF8 00000000 */ nop +/* BFE37C 80240AFC 4600D000 */ add.s $f0, $f26, $f0 +.L80240B00: +/* BFE380 80240B00 E600003C */ swc1 $f0, 0x3c($s0) +/* BFE384 80240B04 8E220074 */ lw $v0, 0x74($s1) +/* BFE388 80240B08 2442000A */ addiu $v0, $v0, 0xa +/* BFE38C 80240B0C 44826000 */ mtc1 $v0, $f12 +/* BFE390 80240B10 00000000 */ nop +/* BFE394 80240B14 0C00A6C9 */ jal clamp_angle +/* BFE398 80240B18 46806320 */ cvt.s.w $f12, $f12 +/* BFE39C 80240B1C 4600020D */ trunc.w.s $f8, $f0 +/* BFE3A0 80240B20 E6280074 */ swc1 $f8, 0x74($s1) +.L80240B24: +/* BFE3A4 80240B24 8E220090 */ lw $v0, 0x90($s1) +/* BFE3A8 80240B28 1C400040 */ bgtz $v0, .L80240C2C +/* BFE3AC 80240B2C 2442FFFF */ addiu $v0, $v0, -1 +/* BFE3B0 80240B30 860200A8 */ lh $v0, 0xa8($s0) +/* BFE3B4 80240B34 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFE3B8 80240B38 44821000 */ mtc1 $v0, $f2 +/* BFE3BC 80240B3C 00000000 */ nop +/* BFE3C0 80240B40 468010A0 */ cvt.s.w $f2, $f2 +/* BFE3C4 80240B44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFE3C8 80240B48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFE3CC 80240B4C 46020000 */ add.s $f0, $f0, $f2 +/* BFE3D0 80240B50 3C014024 */ lui $at, 0x4024 +/* BFE3D4 80240B54 44812800 */ mtc1 $at, $f5 +/* BFE3D8 80240B58 44802000 */ mtc1 $zero, $f4 +/* BFE3DC 80240B5C C442002C */ lwc1 $f2, 0x2c($v0) +/* BFE3E0 80240B60 46000021 */ cvt.d.s $f0, $f0 +/* BFE3E4 80240B64 46240000 */ add.d $f0, $f0, $f4 +/* BFE3E8 80240B68 460010A1 */ cvt.d.s $f2, $f2 +/* BFE3EC 80240B6C 4620103C */ c.lt.d $f2, $f0 +/* BFE3F0 80240B70 00000000 */ nop +/* BFE3F4 80240B74 4500002E */ bc1f .L80240C30 +/* BFE3F8 80240B78 0280202D */ daddu $a0, $s4, $zero +/* BFE3FC 80240B7C 24020001 */ addiu $v0, $zero, 1 +/* BFE400 80240B80 AFA20010 */ sw $v0, 0x10($sp) +/* BFE404 80240B84 8E460024 */ lw $a2, 0x24($s2) +/* BFE408 80240B88 8E470028 */ lw $a3, 0x28($s2) +/* BFE40C 80240B8C 0C01242D */ jal func_800490B4 +/* BFE410 80240B90 0220282D */ daddu $a1, $s1, $zero +/* BFE414 80240B94 10400026 */ beqz $v0, .L80240C30 +/* BFE418 80240B98 0000202D */ daddu $a0, $zero, $zero +/* BFE41C 80240B9C 0200282D */ daddu $a1, $s0, $zero +/* BFE420 80240BA0 0000302D */ daddu $a2, $zero, $zero +/* BFE424 80240BA4 2412000C */ addiu $s2, $zero, 0xc +/* BFE428 80240BA8 860300A8 */ lh $v1, 0xa8($s0) +/* BFE42C 80240BAC 3C013F80 */ lui $at, 0x3f80 +/* BFE430 80240BB0 44810000 */ mtc1 $at, $f0 +/* BFE434 80240BB4 3C014000 */ lui $at, 0x4000 +/* BFE438 80240BB8 44811000 */ mtc1 $at, $f2 +/* BFE43C 80240BBC 3C01C1A0 */ lui $at, 0xc1a0 +/* BFE440 80240BC0 44812000 */ mtc1 $at, $f4 +/* BFE444 80240BC4 44834000 */ mtc1 $v1, $f8 +/* BFE448 80240BC8 00000000 */ nop +/* BFE44C 80240BCC 46804220 */ cvt.s.w $f8, $f8 +/* BFE450 80240BD0 44074000 */ mfc1 $a3, $f8 +/* BFE454 80240BD4 27A20038 */ addiu $v0, $sp, 0x38 +/* BFE458 80240BD8 AFB2001C */ sw $s2, 0x1c($sp) +/* BFE45C 80240BDC AFA20020 */ sw $v0, 0x20($sp) +/* BFE460 80240BE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFE464 80240BE4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BFE468 80240BE8 0C01BFA4 */ jal fx_emote +/* BFE46C 80240BEC E7A40018 */ swc1 $f4, 0x18($sp) +/* BFE470 80240BF0 0200202D */ daddu $a0, $s0, $zero +/* BFE474 80240BF4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BFE478 80240BF8 C480003C */ lwc1 $f0, 0x3c($a0) +/* BFE47C 80240BFC 3C060020 */ lui $a2, 0x20 +/* BFE480 80240C00 0C012530 */ jal func_800494C0 +/* BFE484 80240C04 E4800064 */ swc1 $f0, 0x64($a0) +/* BFE488 80240C08 8E220018 */ lw $v0, 0x18($s1) +/* BFE48C 80240C0C 9442002A */ lhu $v0, 0x2a($v0) +/* BFE490 80240C10 30420001 */ andi $v0, $v0, 1 +/* BFE494 80240C14 10400003 */ beqz $v0, .L80240C24 +/* BFE498 80240C18 2402000A */ addiu $v0, $zero, 0xa +/* BFE49C 80240C1C 08090333 */ j .L80240CCC +/* BFE4A0 80240C20 AE620070 */ sw $v0, 0x70($s3) +.L80240C24: +/* BFE4A4 80240C24 08090333 */ j .L80240CCC +/* BFE4A8 80240C28 AE720070 */ sw $s2, 0x70($s3) +.L80240C2C: +/* BFE4AC 80240C2C AE220090 */ sw $v0, 0x90($s1) +.L80240C30: +/* BFE4B0 80240C30 8602008C */ lh $v0, 0x8c($s0) +/* BFE4B4 80240C34 14400025 */ bnez $v0, .L80240CCC +/* BFE4B8 80240C38 00000000 */ nop +/* BFE4BC 80240C3C 8602008E */ lh $v0, 0x8e($s0) +/* BFE4C0 80240C40 1C400022 */ bgtz $v0, .L80240CCC +/* BFE4C4 80240C44 00000000 */ nop +/* BFE4C8 80240C48 8E620074 */ lw $v0, 0x74($s3) +/* BFE4CC 80240C4C 2442FFFF */ addiu $v0, $v0, -1 +/* BFE4D0 80240C50 1840001D */ blez $v0, .L80240CC8 +/* BFE4D4 80240C54 AE620074 */ sw $v0, 0x74($s3) +/* BFE4D8 80240C58 8E220018 */ lw $v0, 0x18($s1) +/* BFE4DC 80240C5C 9442002A */ lhu $v0, 0x2a($v0) +/* BFE4E0 80240C60 30420010 */ andi $v0, $v0, 0x10 +/* BFE4E4 80240C64 14400007 */ bnez $v0, .L80240C84 +/* BFE4E8 80240C68 00000000 */ nop +/* BFE4EC 80240C6C C600000C */ lwc1 $f0, 0xc($s0) +/* BFE4F0 80240C70 3C014334 */ lui $at, 0x4334 +/* BFE4F4 80240C74 44816000 */ mtc1 $at, $f12 +/* BFE4F8 80240C78 0C00A6C9 */ jal clamp_angle +/* BFE4FC 80240C7C 460C0300 */ add.s $f12, $f0, $f12 +/* BFE500 80240C80 E600000C */ swc1 $f0, 0xc($s0) +.L80240C84: +/* BFE504 80240C84 0C00A67F */ jal rand_int +/* BFE508 80240C88 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BFE50C 80240C8C 3C032E8B */ lui $v1, 0x2e8b +/* BFE510 80240C90 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BFE514 80240C94 00430018 */ mult $v0, $v1 +/* BFE518 80240C98 00021FC3 */ sra $v1, $v0, 0x1f +/* BFE51C 80240C9C 00004010 */ mfhi $t0 +/* BFE520 80240CA0 00082043 */ sra $a0, $t0, 1 +/* BFE524 80240CA4 00832023 */ subu $a0, $a0, $v1 +/* BFE528 80240CA8 00041840 */ sll $v1, $a0, 1 +/* BFE52C 80240CAC 00641821 */ addu $v1, $v1, $a0 +/* BFE530 80240CB0 00031880 */ sll $v1, $v1, 2 +/* BFE534 80240CB4 00641823 */ subu $v1, $v1, $a0 +/* BFE538 80240CB8 00431023 */ subu $v0, $v0, $v1 +/* BFE53C 80240CBC 24420005 */ addiu $v0, $v0, 5 +/* BFE540 80240CC0 08090333 */ j .L80240CCC +/* BFE544 80240CC4 A602008E */ sh $v0, 0x8e($s0) +.L80240CC8: +/* BFE548 80240CC8 AE600070 */ sw $zero, 0x70($s3) +.L80240CCC: +/* BFE54C 80240CCC 8FBF0054 */ lw $ra, 0x54($sp) +/* BFE550 80240CD0 8FB40050 */ lw $s4, 0x50($sp) +/* BFE554 80240CD4 8FB3004C */ lw $s3, 0x4c($sp) +/* BFE558 80240CD8 8FB20048 */ lw $s2, 0x48($sp) +/* BFE55C 80240CDC 8FB10044 */ lw $s1, 0x44($sp) +/* BFE560 80240CE0 8FB00040 */ lw $s0, 0x40($sp) +/* BFE564 80240CE4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* BFE568 80240CE8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* BFE56C 80240CEC D7B60060 */ ldc1 $f22, 0x60($sp) +/* BFE570 80240CF0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BFE574 80240CF4 03E00008 */ jr $ra +/* BFE578 80240CF8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240CFC_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240CFC_BFD880.s new file mode 100644 index 0000000000..aa45b2ea69 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240CFC_BFD880.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CFC_BFE57C +/* BFE57C 80240CFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BFE580 80240D00 AFB20018 */ sw $s2, 0x18($sp) +/* BFE584 80240D04 0080902D */ daddu $s2, $a0, $zero +/* BFE588 80240D08 AFBF001C */ sw $ra, 0x1c($sp) +/* BFE58C 80240D0C AFB10014 */ sw $s1, 0x14($sp) +/* BFE590 80240D10 AFB00010 */ sw $s0, 0x10($sp) +/* BFE594 80240D14 8E510148 */ lw $s1, 0x148($s2) +/* BFE598 80240D18 0C00EABB */ jal get_npc_unsafe +/* BFE59C 80240D1C 86240008 */ lh $a0, 8($s1) +/* BFE5A0 80240D20 0040802D */ daddu $s0, $v0, $zero +/* BFE5A4 80240D24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFE5A8 80240D28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFE5AC 80240D2C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFE5B0 80240D30 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFE5B4 80240D34 A600008E */ sh $zero, 0x8e($s0) +/* BFE5B8 80240D38 8C460028 */ lw $a2, 0x28($v0) +/* BFE5BC 80240D3C 0C00A720 */ jal atan2 +/* BFE5C0 80240D40 8C470030 */ lw $a3, 0x30($v0) +/* BFE5C4 80240D44 E600000C */ swc1 $f0, 0xc($s0) +/* BFE5C8 80240D48 8E2200CC */ lw $v0, 0xcc($s1) +/* BFE5CC 80240D4C 8C420020 */ lw $v0, 0x20($v0) +/* BFE5D0 80240D50 AE020028 */ sw $v0, 0x28($s0) +/* BFE5D4 80240D54 2402000B */ addiu $v0, $zero, 0xb +/* BFE5D8 80240D58 AE420070 */ sw $v0, 0x70($s2) +/* BFE5DC 80240D5C 8FBF001C */ lw $ra, 0x1c($sp) +/* BFE5E0 80240D60 8FB20018 */ lw $s2, 0x18($sp) +/* BFE5E4 80240D64 8FB10014 */ lw $s1, 0x14($sp) +/* BFE5E8 80240D68 8FB00010 */ lw $s0, 0x10($sp) +/* BFE5EC 80240D6C 03E00008 */ jr $ra +/* BFE5F0 80240D70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240D74_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240D74_BFD880.s new file mode 100644 index 0000000000..13a39916eb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240D74_BFD880.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D74_BFE5F4 +/* BFE5F4 80240D74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFE5F8 80240D78 AFB00010 */ sw $s0, 0x10($sp) +/* BFE5FC 80240D7C 0080802D */ daddu $s0, $a0, $zero +/* BFE600 80240D80 AFBF0014 */ sw $ra, 0x14($sp) +/* BFE604 80240D84 8E020148 */ lw $v0, 0x148($s0) +/* BFE608 80240D88 0C00EABB */ jal get_npc_unsafe +/* BFE60C 80240D8C 84440008 */ lh $a0, 8($v0) +/* BFE610 80240D90 9443008E */ lhu $v1, 0x8e($v0) +/* BFE614 80240D94 C440003C */ lwc1 $f0, 0x3c($v0) +/* BFE618 80240D98 24640001 */ addiu $a0, $v1, 1 +/* BFE61C 80240D9C 00031C00 */ sll $v1, $v1, 0x10 +/* BFE620 80240DA0 00031B83 */ sra $v1, $v1, 0xe +/* BFE624 80240DA4 A444008E */ sh $a0, 0x8e($v0) +/* BFE628 80240DA8 3C018024 */ lui $at, 0x8024 +/* BFE62C 80240DAC 00230821 */ addu $at, $at, $v1 +/* BFE630 80240DB0 C4224CD0 */ lwc1 $f2, 0x4cd0($at) +/* BFE634 80240DB4 8443008E */ lh $v1, 0x8e($v0) +/* BFE638 80240DB8 46020000 */ add.s $f0, $f0, $f2 +/* BFE63C 80240DBC 28630005 */ slti $v1, $v1, 5 +/* BFE640 80240DC0 14600003 */ bnez $v1, .L80240DD0 +/* BFE644 80240DC4 E440003C */ swc1 $f0, 0x3c($v0) +/* BFE648 80240DC8 2402000C */ addiu $v0, $zero, 0xc +/* BFE64C 80240DCC AE020070 */ sw $v0, 0x70($s0) +.L80240DD0: +/* BFE650 80240DD0 8FBF0014 */ lw $ra, 0x14($sp) +/* BFE654 80240DD4 8FB00010 */ lw $s0, 0x10($sp) +/* BFE658 80240DD8 03E00008 */ jr $ra +/* BFE65C 80240DDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240DE0.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240DE0.s new file mode 100644 index 0000000000..61e2c38081 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240DE0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE0 +/* BFE660 80240DE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BFE664 80240DE4 AFB3001C */ sw $s3, 0x1c($sp) +/* BFE668 80240DE8 0080982D */ daddu $s3, $a0, $zero +/* BFE66C 80240DEC AFBF0020 */ sw $ra, 0x20($sp) +/* BFE670 80240DF0 AFB20018 */ sw $s2, 0x18($sp) +/* BFE674 80240DF4 AFB10014 */ sw $s1, 0x14($sp) +/* BFE678 80240DF8 AFB00010 */ sw $s0, 0x10($sp) +/* BFE67C 80240DFC 8E720148 */ lw $s2, 0x148($s3) +/* BFE680 80240E00 86440008 */ lh $a0, 8($s2) +/* BFE684 80240E04 0C00EABB */ jal get_npc_unsafe +/* BFE688 80240E08 00A0802D */ daddu $s0, $a1, $zero +/* BFE68C 80240E0C 0040882D */ daddu $s1, $v0, $zero +/* BFE690 80240E10 C6420080 */ lwc1 $f2, 0x80($s2) +/* BFE694 80240E14 468010A0 */ cvt.s.w $f2, $f2 +/* BFE698 80240E18 460010A1 */ cvt.d.s $f2, $f2 +/* BFE69C 80240E1C C6400084 */ lwc1 $f0, 0x84($s2) +/* BFE6A0 80240E20 46800020 */ cvt.s.w $f0, $f0 +/* BFE6A4 80240E24 46000021 */ cvt.d.s $f0, $f0 +/* BFE6A8 80240E28 3C014059 */ lui $at, 0x4059 +/* BFE6AC 80240E2C 44812800 */ mtc1 $at, $f5 +/* BFE6B0 80240E30 44802000 */ mtc1 $zero, $f4 +/* BFE6B4 80240E34 8E4200CC */ lw $v0, 0xcc($s2) +/* BFE6B8 80240E38 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BFE6BC 80240E3C C62E0040 */ lwc1 $f14, 0x40($s1) +/* BFE6C0 80240E40 46241083 */ div.d $f2, $f2, $f4 +/* BFE6C4 80240E44 462010A0 */ cvt.s.d $f2, $f2 +/* BFE6C8 80240E48 46240003 */ div.d $f0, $f0, $f4 +/* BFE6CC 80240E4C 8C420020 */ lw $v0, 0x20($v0) +/* BFE6D0 80240E50 46200020 */ cvt.s.d $f0, $f0 +/* BFE6D4 80240E54 E622001C */ swc1 $f2, 0x1c($s1) +/* BFE6D8 80240E58 E6200014 */ swc1 $f0, 0x14($s1) +/* BFE6DC 80240E5C AE220028 */ sw $v0, 0x28($s1) +/* BFE6E0 80240E60 C6000018 */ lwc1 $f0, 0x18($s0) +/* BFE6E4 80240E64 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFE6E8 80240E68 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFE6EC 80240E6C E6200018 */ swc1 $f0, 0x18($s1) +/* BFE6F0 80240E70 8C460028 */ lw $a2, 0x28($v0) +/* BFE6F4 80240E74 0C00A720 */ jal atan2 +/* BFE6F8 80240E78 8C470030 */ lw $a3, 0x30($v0) +/* BFE6FC 80240E7C E620000C */ swc1 $f0, 0xc($s1) +/* BFE700 80240E80 8E420018 */ lw $v0, 0x18($s2) +/* BFE704 80240E84 AE400074 */ sw $zero, 0x74($s2) +/* BFE708 80240E88 9442002A */ lhu $v0, 0x2a($v0) +/* BFE70C 80240E8C 30420002 */ andi $v0, $v0, 2 +/* BFE710 80240E90 10400005 */ beqz $v0, .L80240EA8 +/* BFE714 80240E94 24020003 */ addiu $v0, $zero, 3 +/* BFE718 80240E98 A622008E */ sh $v0, 0x8e($s1) +/* BFE71C 80240E9C 2402000D */ addiu $v0, $zero, 0xd +/* BFE720 80240EA0 080903BE */ j .L80240EF8 +/* BFE724 80240EA4 AE620070 */ sw $v0, 0x70($s3) +.L80240EA8: +/* BFE728 80240EA8 24030001 */ addiu $v1, $zero, 1 +/* BFE72C 80240EAC 2402000E */ addiu $v0, $zero, 0xe +/* BFE730 80240EB0 A623008E */ sh $v1, 0x8e($s1) +/* BFE734 80240EB4 AE620070 */ sw $v0, 0x70($s3) +/* BFE738 80240EB8 C6200038 */ lwc1 $f0, 0x38($s1) +/* BFE73C 80240EBC 4600018D */ trunc.w.s $f6, $f0 +/* BFE740 80240EC0 44023000 */ mfc1 $v0, $f6 +/* BFE744 80240EC4 00000000 */ nop +/* BFE748 80240EC8 A6420010 */ sh $v0, 0x10($s2) +/* BFE74C 80240ECC C620003C */ lwc1 $f0, 0x3c($s1) +/* BFE750 80240ED0 4600018D */ trunc.w.s $f6, $f0 +/* BFE754 80240ED4 44023000 */ mfc1 $v0, $f6 +/* BFE758 80240ED8 00000000 */ nop +/* BFE75C 80240EDC A6420012 */ sh $v0, 0x12($s2) +/* BFE760 80240EE0 C6200040 */ lwc1 $f0, 0x40($s1) +/* BFE764 80240EE4 A2430007 */ sb $v1, 7($s2) +/* BFE768 80240EE8 4600018D */ trunc.w.s $f6, $f0 +/* BFE76C 80240EEC 44023000 */ mfc1 $v0, $f6 +/* BFE770 80240EF0 00000000 */ nop +/* BFE774 80240EF4 A6420014 */ sh $v0, 0x14($s2) +.L80240EF8: +/* BFE778 80240EF8 8FBF0020 */ lw $ra, 0x20($sp) +/* BFE77C 80240EFC 8FB3001C */ lw $s3, 0x1c($sp) +/* BFE780 80240F00 8FB20018 */ lw $s2, 0x18($sp) +/* BFE784 80240F04 8FB10014 */ lw $s1, 0x14($sp) +/* BFE788 80240F08 8FB00010 */ lw $s0, 0x10($sp) +/* BFE78C 80240F0C 03E00008 */ jr $ra +/* BFE790 80240F10 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F14_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F14_BFD880.s new file mode 100644 index 0000000000..e4afbbbb39 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F14_BFD880.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F14_BFE794 +/* BFE794 80240F14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFE798 80240F18 AFB00010 */ sw $s0, 0x10($sp) +/* BFE79C 80240F1C 0080802D */ daddu $s0, $a0, $zero +/* BFE7A0 80240F20 AFBF0014 */ sw $ra, 0x14($sp) +/* BFE7A4 80240F24 8E020148 */ lw $v0, 0x148($s0) +/* BFE7A8 80240F28 0C00EABB */ jal get_npc_unsafe +/* BFE7AC 80240F2C 84440008 */ lh $a0, 8($v0) +/* BFE7B0 80240F30 0040202D */ daddu $a0, $v0, $zero +/* BFE7B4 80240F34 8482008E */ lh $v0, 0x8e($a0) +/* BFE7B8 80240F38 9483008E */ lhu $v1, 0x8e($a0) +/* BFE7BC 80240F3C 18400005 */ blez $v0, .L80240F54 +/* BFE7C0 80240F40 2462FFFF */ addiu $v0, $v1, -1 +/* BFE7C4 80240F44 A482008E */ sh $v0, 0x8e($a0) +/* BFE7C8 80240F48 00021400 */ sll $v0, $v0, 0x10 +/* BFE7CC 80240F4C 1C400006 */ bgtz $v0, .L80240F68 +/* BFE7D0 80240F50 00000000 */ nop +.L80240F54: +/* BFE7D4 80240F54 8482008C */ lh $v0, 0x8c($a0) +/* BFE7D8 80240F58 14400003 */ bnez $v0, .L80240F68 +/* BFE7DC 80240F5C 2402000E */ addiu $v0, $zero, 0xe +/* BFE7E0 80240F60 A480008E */ sh $zero, 0x8e($a0) +/* BFE7E4 80240F64 AE020070 */ sw $v0, 0x70($s0) +.L80240F68: +/* BFE7E8 80240F68 8FBF0014 */ lw $ra, 0x14($sp) +/* BFE7EC 80240F6C 8FB00010 */ lw $s0, 0x10($sp) +/* BFE7F0 80240F70 03E00008 */ jr $ra +/* BFE7F4 80240F74 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F78.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F78.s new file mode 100644 index 0000000000..d6e59e203f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80240F78.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F78 +/* BFE7F8 80240F78 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BFE7FC 80240F7C AFB20030 */ sw $s2, 0x30($sp) +/* BFE800 80240F80 0080902D */ daddu $s2, $a0, $zero +/* BFE804 80240F84 AFBF0038 */ sw $ra, 0x38($sp) +/* BFE808 80240F88 AFB30034 */ sw $s3, 0x34($sp) +/* BFE80C 80240F8C AFB1002C */ sw $s1, 0x2c($sp) +/* BFE810 80240F90 AFB00028 */ sw $s0, 0x28($sp) +/* BFE814 80240F94 F7B60048 */ sdc1 $f22, 0x48($sp) +/* BFE818 80240F98 F7B40040 */ sdc1 $f20, 0x40($sp) +/* BFE81C 80240F9C 8E510148 */ lw $s1, 0x148($s2) +/* BFE820 80240FA0 86240008 */ lh $a0, 8($s1) +/* BFE824 80240FA4 0C00EABB */ jal get_npc_unsafe +/* BFE828 80240FA8 00A0982D */ daddu $s3, $a1, $zero +/* BFE82C 80240FAC 0040802D */ daddu $s0, $v0, $zero +/* BFE830 80240FB0 0200202D */ daddu $a0, $s0, $zero +/* BFE834 80240FB4 C6220088 */ lwc1 $f2, 0x88($s1) +/* BFE838 80240FB8 468010A0 */ cvt.s.w $f2, $f2 +/* BFE83C 80240FBC 460010A1 */ cvt.d.s $f2, $f2 +/* BFE840 80240FC0 C604001C */ lwc1 $f4, 0x1c($s0) +/* BFE844 80240FC4 C6000014 */ lwc1 $f0, 0x14($s0) +/* BFE848 80240FC8 8E050018 */ lw $a1, 0x18($s0) +/* BFE84C 80240FCC 46002100 */ add.s $f4, $f4, $f0 +/* BFE850 80240FD0 8E06000C */ lw $a2, 0xc($s0) +/* BFE854 80240FD4 C6200078 */ lwc1 $f0, 0x78($s1) +/* BFE858 80240FD8 46800020 */ cvt.s.w $f0, $f0 +/* BFE85C 80240FDC E604001C */ swc1 $f4, 0x1c($s0) +/* BFE860 80240FE0 3C014059 */ lui $at, 0x4059 +/* BFE864 80240FE4 44812800 */ mtc1 $at, $f5 +/* BFE868 80240FE8 44802000 */ mtc1 $zero, $f4 +/* BFE86C 80240FEC 46000021 */ cvt.d.s $f0, $f0 +/* BFE870 80240FF0 46240003 */ div.d $f0, $f0, $f4 +/* BFE874 80240FF4 46200520 */ cvt.s.d $f20, $f0 +/* BFE878 80240FF8 46241083 */ div.d $f2, $f2, $f4 +/* BFE87C 80240FFC 0C00EA95 */ jal npc_move_heading +/* BFE880 80241000 462015A0 */ cvt.s.d $f22, $f2 +/* BFE884 80241004 C604001C */ lwc1 $f4, 0x1c($s0) +/* BFE888 80241008 44801000 */ mtc1 $zero, $f2 +/* BFE88C 8024100C 44801800 */ mtc1 $zero, $f3 +/* BFE890 80241010 46002021 */ cvt.d.s $f0, $f4 +/* BFE894 80241014 4620103E */ c.le.d $f2, $f0 +/* BFE898 80241018 00000000 */ nop +/* BFE89C 8024101C 45000030 */ bc1f .L802410E0 +/* BFE8A0 80241020 00000000 */ nop +/* BFE8A4 80241024 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFE8A8 80241028 46040000 */ add.s $f0, $f0, $f4 +/* BFE8AC 8024102C E600003C */ swc1 $f0, 0x3c($s0) +/* BFE8B0 80241030 8E2200CC */ lw $v0, 0xcc($s1) +/* BFE8B4 80241034 8C420024 */ lw $v0, 0x24($v0) +/* BFE8B8 80241038 AE020028 */ sw $v0, 0x28($s0) +/* BFE8BC 8024103C A2200007 */ sb $zero, 7($s1) +/* BFE8C0 80241040 8E020000 */ lw $v0, ($s0) +/* BFE8C4 80241044 30420008 */ andi $v0, $v0, 8 +/* BFE8C8 80241048 14400011 */ bnez $v0, .L80241090 +/* BFE8CC 8024104C 0000102D */ daddu $v0, $zero, $zero +/* BFE8D0 80241050 27A50018 */ addiu $a1, $sp, 0x18 +/* BFE8D4 80241054 27A6001C */ addiu $a2, $sp, 0x1c +/* BFE8D8 80241058 C6000038 */ lwc1 $f0, 0x38($s0) +/* BFE8DC 8024105C C602003C */ lwc1 $f2, 0x3c($s0) +/* BFE8E0 80241060 C6040040 */ lwc1 $f4, 0x40($s0) +/* BFE8E4 80241064 3C01447A */ lui $at, 0x447a +/* BFE8E8 80241068 44813000 */ mtc1 $at, $f6 +/* BFE8EC 8024106C 27A20024 */ addiu $v0, $sp, 0x24 +/* BFE8F0 80241070 E7A00018 */ swc1 $f0, 0x18($sp) +/* BFE8F4 80241074 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BFE8F8 80241078 E7A40020 */ swc1 $f4, 0x20($sp) +/* BFE8FC 8024107C E7A60024 */ swc1 $f6, 0x24($sp) +/* BFE900 80241080 AFA20010 */ sw $v0, 0x10($sp) +/* BFE904 80241084 8E040080 */ lw $a0, 0x80($s0) +/* BFE908 80241088 0C0372DF */ jal func_800DCB7C +/* BFE90C 8024108C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241090: +/* BFE910 80241090 1040000B */ beqz $v0, .L802410C0 +/* BFE914 80241094 00000000 */ nop +/* BFE918 80241098 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BFE91C 8024109C 46140080 */ add.s $f2, $f0, $f20 +/* BFE920 802410A0 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFE924 802410A4 4600103E */ c.le.s $f2, $f0 +/* BFE928 802410A8 00000000 */ nop +/* BFE92C 802410AC 4500008D */ bc1f .L802412E4 +/* BFE930 802410B0 00000000 */ nop +/* BFE934 802410B4 E602003C */ swc1 $f2, 0x3c($s0) +/* BFE938 802410B8 080904B9 */ j .L802412E4 +/* BFE93C 802410BC AE400070 */ sw $zero, 0x70($s2) +.L802410C0: +/* BFE940 802410C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFE944 802410C4 C6000064 */ lwc1 $f0, 0x64($s0) +/* BFE948 802410C8 4602003E */ c.le.s $f0, $f2 +/* BFE94C 802410CC 00000000 */ nop +/* BFE950 802410D0 45030084 */ bc1tl .L802412E4 +/* BFE954 802410D4 AE400070 */ sw $zero, 0x70($s2) +/* BFE958 802410D8 080904B9 */ j .L802412E4 +/* BFE95C 802410DC 00000000 */ nop +.L802410E0: +/* BFE960 802410E0 4622003C */ c.lt.d $f0, $f2 +/* BFE964 802410E4 00000000 */ nop +/* BFE968 802410E8 4500007E */ bc1f .L802412E4 +/* BFE96C 802410EC 00000000 */ nop +/* BFE970 802410F0 9602008E */ lhu $v0, 0x8e($s0) +/* BFE974 802410F4 24420001 */ addiu $v0, $v0, 1 +/* BFE978 802410F8 A602008E */ sh $v0, 0x8e($s0) +/* BFE97C 802410FC 00021400 */ sll $v0, $v0, 0x10 +/* BFE980 80241100 8E630020 */ lw $v1, 0x20($s3) +/* BFE984 80241104 00021403 */ sra $v0, $v0, 0x10 +/* BFE988 80241108 0043102A */ slt $v0, $v0, $v1 +/* BFE98C 8024110C 14400026 */ bnez $v0, .L802411A8 +/* BFE990 80241110 00000000 */ nop +/* BFE994 80241114 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFE998 80241118 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFE99C 8024111C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFE9A0 80241120 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFE9A4 80241124 A600008E */ sh $zero, 0x8e($s0) +/* BFE9A8 80241128 8C460028 */ lw $a2, 0x28($v0) +/* BFE9AC 8024112C 0C00A720 */ jal atan2 +/* BFE9B0 80241130 8C470030 */ lw $a3, 0x30($v0) +/* BFE9B4 80241134 46000506 */ mov.s $f20, $f0 +/* BFE9B8 80241138 C60C000C */ lwc1 $f12, 0xc($s0) +/* BFE9BC 8024113C 0C00A70A */ jal get_clamped_angle_diff +/* BFE9C0 80241140 4600A386 */ mov.s $f14, $f20 +/* BFE9C4 80241144 46000086 */ mov.s $f2, $f0 +/* BFE9C8 80241148 8E62001C */ lw $v0, 0x1c($s3) +/* BFE9CC 8024114C 46001005 */ abs.s $f0, $f2 +/* BFE9D0 80241150 44822000 */ mtc1 $v0, $f4 +/* BFE9D4 80241154 00000000 */ nop +/* BFE9D8 80241158 46802120 */ cvt.s.w $f4, $f4 +/* BFE9DC 8024115C 4600203C */ c.lt.s $f4, $f0 +/* BFE9E0 80241160 00000000 */ nop +/* BFE9E4 80241164 4500000D */ bc1f .L8024119C +/* BFE9E8 80241168 00000000 */ nop +/* BFE9EC 8024116C 44800000 */ mtc1 $zero, $f0 +/* BFE9F0 80241170 C614000C */ lwc1 $f20, 0xc($s0) +/* BFE9F4 80241174 4600103C */ c.lt.s $f2, $f0 +/* BFE9F8 80241178 00000000 */ nop +/* BFE9FC 8024117C 45000006 */ bc1f .L80241198 +/* BFEA00 80241180 00021023 */ negu $v0, $v0 +/* BFEA04 80241184 44820000 */ mtc1 $v0, $f0 +/* BFEA08 80241188 00000000 */ nop +/* BFEA0C 8024118C 46800020 */ cvt.s.w $f0, $f0 +/* BFEA10 80241190 08090467 */ j .L8024119C +/* BFEA14 80241194 4600A500 */ add.s $f20, $f20, $f0 +.L80241198: +/* BFEA18 80241198 4604A500 */ add.s $f20, $f20, $f4 +.L8024119C: +/* BFEA1C 8024119C 0C00A6C9 */ jal clamp_angle +/* BFEA20 802411A0 4600A306 */ mov.s $f12, $f20 +/* BFEA24 802411A4 E600000C */ swc1 $f0, 0xc($s0) +.L802411A8: +/* BFEA28 802411A8 8E020000 */ lw $v0, ($s0) +/* BFEA2C 802411AC 30420008 */ andi $v0, $v0, 8 +/* BFEA30 802411B0 1040000A */ beqz $v0, .L802411DC +/* BFEA34 802411B4 27A50018 */ addiu $a1, $sp, 0x18 +/* BFEA38 802411B8 C602003C */ lwc1 $f2, 0x3c($s0) +/* BFEA3C 802411BC C600001C */ lwc1 $f0, 0x1c($s0) +/* BFEA40 802411C0 46001080 */ add.s $f2, $f2, $f0 +/* BFEA44 802411C4 4616103C */ c.lt.s $f2, $f22 +/* BFEA48 802411C8 00000000 */ nop +/* BFEA4C 802411CC 45020045 */ bc1fl .L802412E4 +/* BFEA50 802411D0 E602003C */ swc1 $f2, 0x3c($s0) +/* BFEA54 802411D4 080904B8 */ j .L802412E0 +/* BFEA58 802411D8 E616003C */ swc1 $f22, 0x3c($s0) +.L802411DC: +/* BFEA5C 802411DC C6000038 */ lwc1 $f0, 0x38($s0) +/* BFEA60 802411E0 27A6001C */ addiu $a2, $sp, 0x1c +/* BFEA64 802411E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* BFEA68 802411E8 860200A8 */ lh $v0, 0xa8($s0) +/* BFEA6C 802411EC C600001C */ lwc1 $f0, 0x1c($s0) +/* BFEA70 802411F0 C604003C */ lwc1 $f4, 0x3c($s0) +/* BFEA74 802411F4 44821000 */ mtc1 $v0, $f2 +/* BFEA78 802411F8 00000000 */ nop +/* BFEA7C 802411FC 468010A0 */ cvt.s.w $f2, $f2 +/* BFEA80 80241200 46000005 */ abs.s $f0, $f0 +/* BFEA84 80241204 46020000 */ add.s $f0, $f0, $f2 +/* BFEA88 80241208 C6060040 */ lwc1 $f6, 0x40($s0) +/* BFEA8C 8024120C 27A20024 */ addiu $v0, $sp, 0x24 +/* BFEA90 80241210 46022100 */ add.s $f4, $f4, $f2 +/* BFEA94 80241214 3C014024 */ lui $at, 0x4024 +/* BFEA98 80241218 44811800 */ mtc1 $at, $f3 +/* BFEA9C 8024121C 44801000 */ mtc1 $zero, $f2 +/* BFEAA0 80241220 46000021 */ cvt.d.s $f0, $f0 +/* BFEAA4 80241224 46220000 */ add.d $f0, $f0, $f2 +/* BFEAA8 80241228 E7A60020 */ swc1 $f6, 0x20($sp) +/* BFEAAC 8024122C E7A4001C */ swc1 $f4, 0x1c($sp) +/* BFEAB0 80241230 46200020 */ cvt.s.d $f0, $f0 +/* BFEAB4 80241234 E7A00024 */ swc1 $f0, 0x24($sp) +/* BFEAB8 80241238 AFA20010 */ sw $v0, 0x10($sp) +/* BFEABC 8024123C 8E040080 */ lw $a0, 0x80($s0) +/* BFEAC0 80241240 0C0372DF */ jal func_800DCB7C +/* BFEAC4 80241244 27A70020 */ addiu $a3, $sp, 0x20 +/* BFEAC8 80241248 10400015 */ beqz $v0, .L802412A0 +/* BFEACC 8024124C 00000000 */ nop +/* BFEAD0 80241250 860200A8 */ lh $v0, 0xa8($s0) +/* BFEAD4 80241254 C604001C */ lwc1 $f4, 0x1c($s0) +/* BFEAD8 80241258 44820000 */ mtc1 $v0, $f0 +/* BFEADC 8024125C 00000000 */ nop +/* BFEAE0 80241260 46800020 */ cvt.s.w $f0, $f0 +/* BFEAE4 80241264 46002085 */ abs.s $f2, $f4 +/* BFEAE8 80241268 46020000 */ add.s $f0, $f0, $f2 +/* BFEAEC 8024126C C7A20024 */ lwc1 $f2, 0x24($sp) +/* BFEAF0 80241270 4600103E */ c.le.s $f2, $f0 +/* BFEAF4 80241274 00000000 */ nop +/* BFEAF8 80241278 45000005 */ bc1f .L80241290 +/* BFEAFC 8024127C 00000000 */ nop +/* BFEB00 80241280 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BFEB04 80241284 AE00001C */ sw $zero, 0x1c($s0) +/* BFEB08 80241288 080904B9 */ j .L802412E4 +/* BFEB0C 8024128C E600003C */ swc1 $f0, 0x3c($s0) +.L80241290: +/* BFEB10 80241290 C600003C */ lwc1 $f0, 0x3c($s0) +/* BFEB14 80241294 46040000 */ add.s $f0, $f0, $f4 +/* BFEB18 80241298 080904B9 */ j .L802412E4 +/* BFEB1C 8024129C E600003C */ swc1 $f0, 0x3c($s0) +.L802412A0: +/* BFEB20 802412A0 C606003C */ lwc1 $f6, 0x3c($s0) +/* BFEB24 802412A4 860200A8 */ lh $v0, 0xa8($s0) +/* BFEB28 802412A8 46163081 */ sub.s $f2, $f6, $f22 +/* BFEB2C 802412AC 44820000 */ mtc1 $v0, $f0 +/* BFEB30 802412B0 00000000 */ nop +/* BFEB34 802412B4 46800020 */ cvt.s.w $f0, $f0 +/* BFEB38 802412B8 46001080 */ add.s $f2, $f2, $f0 +/* BFEB3C 802412BC C604001C */ lwc1 $f4, 0x1c($s0) +/* BFEB40 802412C0 46002005 */ abs.s $f0, $f4 +/* BFEB44 802412C4 4602003C */ c.lt.s $f0, $f2 +/* BFEB48 802412C8 00000000 */ nop +/* BFEB4C 802412CC 45020005 */ bc1fl .L802412E4 +/* BFEB50 802412D0 AE00001C */ sw $zero, 0x1c($s0) +/* BFEB54 802412D4 46043000 */ add.s $f0, $f6, $f4 +/* BFEB58 802412D8 080904B9 */ j .L802412E4 +/* BFEB5C 802412DC E600003C */ swc1 $f0, 0x3c($s0) +.L802412E0: +/* BFEB60 802412E0 AE00001C */ sw $zero, 0x1c($s0) +.L802412E4: +/* BFEB64 802412E4 8FBF0038 */ lw $ra, 0x38($sp) +/* BFEB68 802412E8 8FB30034 */ lw $s3, 0x34($sp) +/* BFEB6C 802412EC 8FB20030 */ lw $s2, 0x30($sp) +/* BFEB70 802412F0 8FB1002C */ lw $s1, 0x2c($sp) +/* BFEB74 802412F4 8FB00028 */ lw $s0, 0x28($sp) +/* BFEB78 802412F8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* BFEB7C 802412FC D7B40040 */ ldc1 $f20, 0x40($sp) +/* BFEB80 80241300 03E00008 */ jr $ra +/* BFEB84 80241304 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241308.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241308.s new file mode 100644 index 0000000000..9e15f222bf --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241308.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241308 +/* BFEB88 80241308 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BFEB8C 8024130C AFB00028 */ sw $s0, 0x28($sp) +/* BFEB90 80241310 00A0802D */ daddu $s0, $a1, $zero +/* BFEB94 80241314 AFB1002C */ sw $s1, 0x2c($sp) +/* BFEB98 80241318 00C0882D */ daddu $s1, $a2, $zero +/* BFEB9C 8024131C AFBF0034 */ sw $ra, 0x34($sp) +/* BFEBA0 80241320 AFB20030 */ sw $s2, 0x30($sp) +/* BFEBA4 80241324 AE200070 */ sw $zero, 0x70($s1) +/* BFEBA8 80241328 8C830000 */ lw $v1, ($a0) +/* BFEBAC 8024132C 2402FDFF */ addiu $v0, $zero, -0x201 +/* BFEBB0 80241330 A480008E */ sh $zero, 0x8e($a0) +/* BFEBB4 80241334 00621824 */ and $v1, $v1, $v0 +/* BFEBB8 80241338 34650800 */ ori $a1, $v1, 0x800 +/* BFEBBC 8024133C AC850000 */ sw $a1, ($a0) +/* BFEBC0 80241340 8E0200D0 */ lw $v0, 0xd0($s0) +/* BFEBC4 80241344 8C420034 */ lw $v0, 0x34($v0) +/* BFEBC8 80241348 10400003 */ beqz $v0, .L80241358 +/* BFEBCC 8024134C 00E0902D */ daddu $s2, $a3, $zero +/* BFEBD0 80241350 080904D8 */ j .L80241360 +/* BFEBD4 80241354 34620808 */ ori $v0, $v1, 0x808 +.L80241358: +/* BFEBD8 80241358 2402FFF7 */ addiu $v0, $zero, -9 +/* BFEBDC 8024135C 00A21024 */ and $v0, $a1, $v0 +.L80241360: +/* BFEBE0 80241360 AC820000 */ sw $v0, ($a0) +/* BFEBE4 80241364 27A20024 */ addiu $v0, $sp, 0x24 +/* BFEBE8 80241368 27A50018 */ addiu $a1, $sp, 0x18 +/* BFEBEC 8024136C C4800038 */ lwc1 $f0, 0x38($a0) +/* BFEBF0 80241370 C482003C */ lwc1 $f2, 0x3c($a0) +/* BFEBF4 80241374 C4840040 */ lwc1 $f4, 0x40($a0) +/* BFEBF8 80241378 3C01447A */ lui $at, 0x447a +/* BFEBFC 8024137C 44813000 */ mtc1 $at, $f6 +/* BFEC00 80241380 27A6001C */ addiu $a2, $sp, 0x1c +/* BFEC04 80241384 E7A00018 */ swc1 $f0, 0x18($sp) +/* BFEC08 80241388 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BFEC0C 8024138C E7A40020 */ swc1 $f4, 0x20($sp) +/* BFEC10 80241390 E7A60024 */ swc1 $f6, 0x24($sp) +/* BFEC14 80241394 AFA20010 */ sw $v0, 0x10($sp) +/* BFEC18 80241398 8C840080 */ lw $a0, 0x80($a0) +/* BFEC1C 8024139C 0C0372DF */ jal func_800DCB7C +/* BFEC20 802413A0 27A70020 */ addiu $a3, $sp, 0x20 +/* BFEC24 802413A4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* BFEC28 802413A8 3C014059 */ lui $at, 0x4059 +/* BFEC2C 802413AC 44812800 */ mtc1 $at, $f5 +/* BFEC30 802413B0 44802000 */ mtc1 $zero, $f4 +/* BFEC34 802413B4 460010A1 */ cvt.d.s $f2, $f2 +/* BFEC38 802413B8 46241082 */ mul.d $f2, $f2, $f4 +/* BFEC3C 802413BC 00000000 */ nop +/* BFEC40 802413C0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BFEC44 802413C4 46000021 */ cvt.d.s $f0, $f0 +/* BFEC48 802413C8 46240002 */ mul.d $f0, $f0, $f4 +/* BFEC4C 802413CC 00000000 */ nop +/* BFEC50 802413D0 3C013FE0 */ lui $at, 0x3fe0 +/* BFEC54 802413D4 44812800 */ mtc1 $at, $f5 +/* BFEC58 802413D8 44802000 */ mtc1 $zero, $f4 +/* BFEC5C 802413DC 00000000 */ nop +/* BFEC60 802413E0 46241080 */ add.d $f2, $f2, $f4 +/* BFEC64 802413E4 AE000074 */ sw $zero, 0x74($s0) +/* BFEC68 802413E8 46240000 */ add.d $f0, $f0, $f4 +/* BFEC6C 802413EC AE000090 */ sw $zero, 0x90($s0) +/* BFEC70 802413F0 4620120D */ trunc.w.d $f8, $f2 +/* BFEC74 802413F4 E6080078 */ swc1 $f8, 0x78($s0) +/* BFEC78 802413F8 4620020D */ trunc.w.d $f8, $f0 +/* BFEC7C 802413FC E6080088 */ swc1 $f8, 0x88($s0) +/* BFEC80 80241400 8E420014 */ lw $v0, 0x14($s2) +/* BFEC84 80241404 AE220074 */ sw $v0, 0x74($s1) +/* BFEC88 80241408 8E0200B0 */ lw $v0, 0xb0($s0) +/* BFEC8C 8024140C 34420010 */ ori $v0, $v0, 0x10 +/* BFEC90 80241410 AE0200B0 */ sw $v0, 0xb0($s0) +/* BFEC94 80241414 8FBF0034 */ lw $ra, 0x34($sp) +/* BFEC98 80241418 8FB20030 */ lw $s2, 0x30($sp) +/* BFEC9C 8024141C 8FB1002C */ lw $s1, 0x2c($sp) +/* BFECA0 80241420 8FB00028 */ lw $s0, 0x28($sp) +/* BFECA4 80241424 03E00008 */ jr $ra +/* BFECA8 80241428 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_8024142C.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024142C.s new file mode 100644 index 0000000000..eb4b0f68aa --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024142C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024142C +/* BFECAC 8024142C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BFECB0 80241430 AFB40040 */ sw $s4, 0x40($sp) +/* BFECB4 80241434 0080A02D */ daddu $s4, $a0, $zero +/* BFECB8 80241438 AFBF0048 */ sw $ra, 0x48($sp) +/* BFECBC 8024143C AFB50044 */ sw $s5, 0x44($sp) +/* BFECC0 80241440 AFB3003C */ sw $s3, 0x3c($sp) +/* BFECC4 80241444 AFB20038 */ sw $s2, 0x38($sp) +/* BFECC8 80241448 AFB10034 */ sw $s1, 0x34($sp) +/* BFECCC 8024144C AFB00030 */ sw $s0, 0x30($sp) +/* BFECD0 80241450 8E920148 */ lw $s2, 0x148($s4) +/* BFECD4 80241454 86440008 */ lh $a0, 8($s2) +/* BFECD8 80241458 8E90000C */ lw $s0, 0xc($s4) +/* BFECDC 8024145C 0C00EABB */ jal get_npc_unsafe +/* BFECE0 80241460 00A0882D */ daddu $s1, $a1, $zero +/* BFECE4 80241464 0280202D */ daddu $a0, $s4, $zero +/* BFECE8 80241468 8E050000 */ lw $a1, ($s0) +/* BFECEC 8024146C 0C0B1EAF */ jal get_variable +/* BFECF0 80241470 0040A82D */ daddu $s5, $v0, $zero +/* BFECF4 80241474 AFA00010 */ sw $zero, 0x10($sp) +/* BFECF8 80241478 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFECFC 8024147C 8C630030 */ lw $v1, 0x30($v1) +/* BFED00 80241480 AFA30014 */ sw $v1, 0x14($sp) +/* BFED04 80241484 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFED08 80241488 8C63001C */ lw $v1, 0x1c($v1) +/* BFED0C 8024148C AFA30018 */ sw $v1, 0x18($sp) +/* BFED10 80241490 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFED14 80241494 8C630024 */ lw $v1, 0x24($v1) +/* BFED18 80241498 AFA3001C */ sw $v1, 0x1c($sp) +/* BFED1C 8024149C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFED20 802414A0 8C630028 */ lw $v1, 0x28($v1) +/* BFED24 802414A4 27B30010 */ addiu $s3, $sp, 0x10 +/* BFED28 802414A8 AFA30020 */ sw $v1, 0x20($sp) +/* BFED2C 802414AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFED30 802414B0 3C0142F0 */ lui $at, 0x42f0 +/* BFED34 802414B4 44810000 */ mtc1 $at, $f0 +/* BFED38 802414B8 8C63002C */ lw $v1, 0x2c($v1) +/* BFED3C 802414BC 0040802D */ daddu $s0, $v0, $zero +/* BFED40 802414C0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BFED44 802414C4 A7A0002C */ sh $zero, 0x2c($sp) +/* BFED48 802414C8 12200006 */ beqz $s1, .L802414E4 +/* BFED4C 802414CC AFA30024 */ sw $v1, 0x24($sp) +/* BFED50 802414D0 02A0202D */ daddu $a0, $s5, $zero +/* BFED54 802414D4 0240282D */ daddu $a1, $s2, $zero +/* BFED58 802414D8 0280302D */ daddu $a2, $s4, $zero +/* BFED5C 802414DC 0C0904C2 */ jal func_80241308 +/* BFED60 802414E0 0200382D */ daddu $a3, $s0, $zero +.L802414E4: +/* BFED64 802414E4 2402FFFE */ addiu $v0, $zero, -2 +/* BFED68 802414E8 A2A200AB */ sb $v0, 0xab($s5) +/* BFED6C 802414EC 8E4300B0 */ lw $v1, 0xb0($s2) +/* BFED70 802414F0 30620004 */ andi $v0, $v1, 4 +/* BFED74 802414F4 10400007 */ beqz $v0, .L80241514 +/* BFED78 802414F8 00000000 */ nop +/* BFED7C 802414FC 824200B4 */ lb $v0, 0xb4($s2) +/* BFED80 80241500 1440003C */ bnez $v0, .L802415F4 +/* BFED84 80241504 0000102D */ daddu $v0, $zero, $zero +/* BFED88 80241508 2402FFFB */ addiu $v0, $zero, -5 +/* BFED8C 8024150C 00621024 */ and $v0, $v1, $v0 +/* BFED90 80241510 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241514: +/* BFED94 80241514 8E830070 */ lw $v1, 0x70($s4) +/* BFED98 80241518 2C62000F */ sltiu $v0, $v1, 0xf +/* BFED9C 8024151C 10400034 */ beqz $v0, .L802415F0 +/* BFEDA0 80241520 00031080 */ sll $v0, $v1, 2 +/* BFEDA4 80241524 3C018026 */ lui $at, 0x8026 +/* BFEDA8 80241528 00220821 */ addu $at, $at, $v0 +/* BFEDAC 8024152C 8C223438 */ lw $v0, 0x3438($at) +/* BFEDB0 80241530 00400008 */ jr $v0 +/* BFEDB4 80241534 00000000 */ nop +/* BFEDB8 80241538 0280202D */ daddu $a0, $s4, $zero +/* BFEDBC 8024153C 0200282D */ daddu $a1, $s0, $zero +/* BFEDC0 80241540 0C090048 */ jal func_80240120 +/* BFEDC4 80241544 0260302D */ daddu $a2, $s3, $zero +/* BFEDC8 80241548 0280202D */ daddu $a0, $s4, $zero +/* BFEDCC 8024154C 0200282D */ daddu $a1, $s0, $zero +/* BFEDD0 80241550 0C0900B4 */ jal func_802402D0 +/* BFEDD4 80241554 0260302D */ daddu $a2, $s3, $zero +/* BFEDD8 80241558 0809057D */ j .L802415F4 +/* BFEDDC 8024155C 0000102D */ daddu $v0, $zero, $zero +/* BFEDE0 80241560 0280202D */ daddu $a0, $s4, $zero +/* BFEDE4 80241564 0200282D */ daddu $a1, $s0, $zero +/* BFEDE8 80241568 0C09023E */ jal func_802408F8 +/* BFEDEC 8024156C 0260302D */ daddu $a2, $s3, $zero +/* BFEDF0 80241570 0280202D */ daddu $a0, $s4, $zero +/* BFEDF4 80241574 0200282D */ daddu $a1, $s0, $zero +/* BFEDF8 80241578 0C09026E */ jal func_802409B8 +/* BFEDFC 8024157C 0260302D */ daddu $a2, $s3, $zero +/* BFEE00 80241580 0809057D */ j .L802415F4 +/* BFEE04 80241584 0000102D */ daddu $v0, $zero, $zero +/* BFEE08 80241588 0280202D */ daddu $a0, $s4, $zero +/* BFEE0C 8024158C 0200282D */ daddu $a1, $s0, $zero +/* BFEE10 80241590 0C09033F */ jal func_80240CFC +/* BFEE14 80241594 0260302D */ daddu $a2, $s3, $zero +/* BFEE18 80241598 0280202D */ daddu $a0, $s4, $zero +/* BFEE1C 8024159C 0200282D */ daddu $a1, $s0, $zero +/* BFEE20 802415A0 0C09035D */ jal func_80240D74 +/* BFEE24 802415A4 0260302D */ daddu $a2, $s3, $zero +/* BFEE28 802415A8 0809057D */ j .L802415F4 +/* BFEE2C 802415AC 0000102D */ daddu $v0, $zero, $zero +/* BFEE30 802415B0 0280202D */ daddu $a0, $s4, $zero +/* BFEE34 802415B4 0200282D */ daddu $a1, $s0, $zero +/* BFEE38 802415B8 0C090378 */ jal func_80240DE0 +/* BFEE3C 802415BC 0260302D */ daddu $a2, $s3, $zero +/* BFEE40 802415C0 0809057D */ j .L802415F4 +/* BFEE44 802415C4 0000102D */ daddu $v0, $zero, $zero +/* BFEE48 802415C8 0280202D */ daddu $a0, $s4, $zero +/* BFEE4C 802415CC 0200282D */ daddu $a1, $s0, $zero +/* BFEE50 802415D0 0C0903C5 */ jal func_80240F14 +/* BFEE54 802415D4 0260302D */ daddu $a2, $s3, $zero +/* BFEE58 802415D8 0809057D */ j .L802415F4 +/* BFEE5C 802415DC 0000102D */ daddu $v0, $zero, $zero +/* BFEE60 802415E0 0280202D */ daddu $a0, $s4, $zero +/* BFEE64 802415E4 0200282D */ daddu $a1, $s0, $zero +/* BFEE68 802415E8 0C0903DE */ jal func_80240F78 +/* BFEE6C 802415EC 0260302D */ daddu $a2, $s3, $zero +.L802415F0: +/* BFEE70 802415F0 0000102D */ daddu $v0, $zero, $zero +.L802415F4: +/* BFEE74 802415F4 8FBF0048 */ lw $ra, 0x48($sp) +/* BFEE78 802415F8 8FB50044 */ lw $s5, 0x44($sp) +/* BFEE7C 802415FC 8FB40040 */ lw $s4, 0x40($sp) +/* BFEE80 80241600 8FB3003C */ lw $s3, 0x3c($sp) +/* BFEE84 80241604 8FB20038 */ lw $s2, 0x38($sp) +/* BFEE88 80241608 8FB10034 */ lw $s1, 0x34($sp) +/* BFEE8C 8024160C 8FB00030 */ lw $s0, 0x30($sp) +/* BFEE90 80241610 03E00008 */ jr $ra +/* BFEE94 80241614 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241618.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241618.s new file mode 100644 index 0000000000..d6e9cf7d74 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241618.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241618 +/* BFEE98 80241618 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BFEE9C 8024161C AFB3001C */ sw $s3, 0x1c($sp) +/* BFEEA0 80241620 0080982D */ daddu $s3, $a0, $zero +/* BFEEA4 80241624 AFBF0020 */ sw $ra, 0x20($sp) +/* BFEEA8 80241628 AFB20018 */ sw $s2, 0x18($sp) +/* BFEEAC 8024162C AFB10014 */ sw $s1, 0x14($sp) +/* BFEEB0 80241630 AFB00010 */ sw $s0, 0x10($sp) +/* BFEEB4 80241634 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BFEEB8 80241638 8E720148 */ lw $s2, 0x148($s3) +/* BFEEBC 8024163C 86440008 */ lh $a0, 8($s2) +/* BFEEC0 80241640 0C00EABB */ jal get_npc_unsafe +/* BFEEC4 80241644 00A0882D */ daddu $s1, $a1, $zero +/* BFEEC8 80241648 0040802D */ daddu $s0, $v0, $zero +/* BFEECC 8024164C 9602008E */ lhu $v0, 0x8e($s0) +/* BFEED0 80241650 2442FFFF */ addiu $v0, $v0, -1 +/* BFEED4 80241654 A602008E */ sh $v0, 0x8e($s0) +/* BFEED8 80241658 00021400 */ sll $v0, $v0, 0x10 +/* BFEEDC 8024165C 1C40003C */ bgtz $v0, .L80241750 +/* BFEEE0 80241660 3C03FFDF */ lui $v1, 0xffdf +/* BFEEE4 80241664 8E020000 */ lw $v0, ($s0) +/* BFEEE8 80241668 3463FFFF */ ori $v1, $v1, 0xffff +/* BFEEEC 8024166C 00431024 */ and $v0, $v0, $v1 +/* BFEEF0 80241670 AE020000 */ sw $v0, ($s0) +/* BFEEF4 80241674 8E240020 */ lw $a0, 0x20($s1) +/* BFEEF8 80241678 000417C2 */ srl $v0, $a0, 0x1f +/* BFEEFC 8024167C 00822021 */ addu $a0, $a0, $v0 +/* BFEF00 80241680 00042043 */ sra $a0, $a0, 1 +/* BFEF04 80241684 0C00A67F */ jal rand_int +/* BFEF08 80241688 24840001 */ addiu $a0, $a0, 1 +/* BFEF0C 8024168C 8E230020 */ lw $v1, 0x20($s1) +/* BFEF10 80241690 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFEF14 80241694 000327C2 */ srl $a0, $v1, 0x1f +/* BFEF18 80241698 00641821 */ addu $v1, $v1, $a0 +/* BFEF1C 8024169C 00031843 */ sra $v1, $v1, 1 +/* BFEF20 802416A0 00621821 */ addu $v1, $v1, $v0 +/* BFEF24 802416A4 A603008E */ sh $v1, 0x8e($s0) +/* BFEF28 802416A8 8E4200CC */ lw $v0, 0xcc($s2) +/* BFEF2C 802416AC C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFEF30 802416B0 8C420020 */ lw $v0, 0x20($v0) +/* BFEF34 802416B4 AE020028 */ sw $v0, 0x28($s0) +/* BFEF38 802416B8 C6200018 */ lwc1 $f0, 0x18($s1) +/* BFEF3C 802416BC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFEF40 802416C0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFEF44 802416C4 E6000018 */ swc1 $f0, 0x18($s0) +/* BFEF48 802416C8 8C460028 */ lw $a2, 0x28($v0) +/* BFEF4C 802416CC 0C00A720 */ jal atan2 +/* BFEF50 802416D0 8C470030 */ lw $a3, 0x30($v0) +/* BFEF54 802416D4 46000506 */ mov.s $f20, $f0 +/* BFEF58 802416D8 C60C000C */ lwc1 $f12, 0xc($s0) +/* BFEF5C 802416DC 0C00A70A */ jal get_clamped_angle_diff +/* BFEF60 802416E0 4600A386 */ mov.s $f14, $f20 +/* BFEF64 802416E4 46000086 */ mov.s $f2, $f0 +/* BFEF68 802416E8 8E22001C */ lw $v0, 0x1c($s1) +/* BFEF6C 802416EC 46001005 */ abs.s $f0, $f2 +/* BFEF70 802416F0 44822000 */ mtc1 $v0, $f4 +/* BFEF74 802416F4 00000000 */ nop +/* BFEF78 802416F8 46802120 */ cvt.s.w $f4, $f4 +/* BFEF7C 802416FC 4600203C */ c.lt.s $f4, $f0 +/* BFEF80 80241700 00000000 */ nop +/* BFEF84 80241704 4500000D */ bc1f .L8024173C +/* BFEF88 80241708 00000000 */ nop +/* BFEF8C 8024170C 44800000 */ mtc1 $zero, $f0 +/* BFEF90 80241710 C614000C */ lwc1 $f20, 0xc($s0) +/* BFEF94 80241714 4600103C */ c.lt.s $f2, $f0 +/* BFEF98 80241718 00000000 */ nop +/* BFEF9C 8024171C 45000006 */ bc1f .L80241738 +/* BFEFA0 80241720 00021023 */ negu $v0, $v0 +/* BFEFA4 80241724 44820000 */ mtc1 $v0, $f0 +/* BFEFA8 80241728 00000000 */ nop +/* BFEFAC 8024172C 46800020 */ cvt.s.w $f0, $f0 +/* BFEFB0 80241730 080905CF */ j .L8024173C +/* BFEFB4 80241734 4600A500 */ add.s $f20, $f20, $f0 +.L80241738: +/* BFEFB8 80241738 4604A500 */ add.s $f20, $f20, $f4 +.L8024173C: +/* BFEFBC 8024173C 0C00A6C9 */ jal clamp_angle +/* BFEFC0 80241740 4600A306 */ mov.s $f12, $f20 +/* BFEFC4 80241744 2402000D */ addiu $v0, $zero, 0xd +/* BFEFC8 80241748 E600000C */ swc1 $f0, 0xc($s0) +/* BFEFCC 8024174C AE620070 */ sw $v0, 0x70($s3) +.L80241750: +/* BFEFD0 80241750 8FBF0020 */ lw $ra, 0x20($sp) +/* BFEFD4 80241754 8FB3001C */ lw $s3, 0x1c($sp) +/* BFEFD8 80241758 8FB20018 */ lw $s2, 0x18($sp) +/* BFEFDC 8024175C 8FB10014 */ lw $s1, 0x14($sp) +/* BFEFE0 80241760 8FB00010 */ lw $s0, 0x10($sp) +/* BFEFE4 80241764 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BFEFE8 80241768 03E00008 */ jr $ra +/* BFEFEC 8024176C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241770_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241770_BFD880.s new file mode 100644 index 0000000000..77648bd85a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241770_BFD880.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241770_BFEFF0 +/* BFEFF0 80241770 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BFEFF4 80241774 AFB30024 */ sw $s3, 0x24($sp) +/* BFEFF8 80241778 0080982D */ daddu $s3, $a0, $zero +/* BFEFFC 8024177C AFBF0028 */ sw $ra, 0x28($sp) +/* BFF000 80241780 AFB20020 */ sw $s2, 0x20($sp) +/* BFF004 80241784 AFB1001C */ sw $s1, 0x1c($sp) +/* BFF008 80241788 AFB00018 */ sw $s0, 0x18($sp) +/* BFF00C 8024178C 8E700148 */ lw $s0, 0x148($s3) +/* BFF010 80241790 00A0902D */ daddu $s2, $a1, $zero +/* BFF014 80241794 86040008 */ lh $a0, 8($s0) +/* BFF018 80241798 0C00EABB */ jal get_npc_unsafe +/* BFF01C 8024179C 00C0882D */ daddu $s1, $a2, $zero +/* BFF020 802417A0 0220202D */ daddu $a0, $s1, $zero +/* BFF024 802417A4 0200282D */ daddu $a1, $s0, $zero +/* BFF028 802417A8 24030001 */ addiu $v1, $zero, 1 +/* BFF02C 802417AC AFA30010 */ sw $v1, 0x10($sp) +/* BFF030 802417B0 8E460024 */ lw $a2, 0x24($s2) +/* BFF034 802417B4 8E470028 */ lw $a3, 0x28($s2) +/* BFF038 802417B8 0C01242D */ jal func_800490B4 +/* BFF03C 802417BC 0040802D */ daddu $s0, $v0, $zero +/* BFF040 802417C0 10400024 */ beqz $v0, .L80241854 +/* BFF044 802417C4 24020010 */ addiu $v0, $zero, 0x10 +/* BFF048 802417C8 8E050018 */ lw $a1, 0x18($s0) +/* BFF04C 802417CC 8E06000C */ lw $a2, 0xc($s0) +/* BFF050 802417D0 0C00EA95 */ jal npc_move_heading +/* BFF054 802417D4 0200202D */ daddu $a0, $s0, $zero +/* BFF058 802417D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BFF05C 802417DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BFF060 802417E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BFF064 802417E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BFF068 802417E8 8C460028 */ lw $a2, 0x28($v0) +/* BFF06C 802417EC 0C00A7B5 */ jal dist2D +/* BFF070 802417F0 8C470030 */ lw $a3, 0x30($v0) +/* BFF074 802417F4 C6020018 */ lwc1 $f2, 0x18($s0) +/* BFF078 802417F8 3C014004 */ lui $at, 0x4004 +/* BFF07C 802417FC 44812800 */ mtc1 $at, $f5 +/* BFF080 80241800 44802000 */ mtc1 $zero, $f4 +/* BFF084 80241804 460010A1 */ cvt.d.s $f2, $f2 +/* BFF088 80241808 46241082 */ mul.d $f2, $f2, $f4 +/* BFF08C 8024180C 00000000 */ nop +/* BFF090 80241810 46000021 */ cvt.d.s $f0, $f0 +/* BFF094 80241814 4622003E */ c.le.d $f0, $f2 +/* BFF098 80241818 00000000 */ nop +/* BFF09C 8024181C 45000003 */ bc1f .L8024182C +/* BFF0A0 80241820 2402000E */ addiu $v0, $zero, 0xe +/* BFF0A4 80241824 08090615 */ j .L80241854 +/* BFF0A8 80241828 A600008E */ sh $zero, 0x8e($s0) +.L8024182C: +/* BFF0AC 8024182C 9602008E */ lhu $v0, 0x8e($s0) +/* BFF0B0 80241830 2442FFFF */ addiu $v0, $v0, -1 +/* BFF0B4 80241834 A602008E */ sh $v0, 0x8e($s0) +/* BFF0B8 80241838 00021400 */ sll $v0, $v0, 0x10 +/* BFF0BC 8024183C 1C400006 */ bgtz $v0, .L80241858 +/* BFF0C0 80241840 3C030020 */ lui $v1, 0x20 +/* BFF0C4 80241844 8E020000 */ lw $v0, ($s0) +/* BFF0C8 80241848 00431025 */ or $v0, $v0, $v1 +/* BFF0CC 8024184C AE020000 */ sw $v0, ($s0) +/* BFF0D0 80241850 2402000C */ addiu $v0, $zero, 0xc +.L80241854: +/* BFF0D4 80241854 AE620070 */ sw $v0, 0x70($s3) +.L80241858: +/* BFF0D8 80241858 8FBF0028 */ lw $ra, 0x28($sp) +/* BFF0DC 8024185C 8FB30024 */ lw $s3, 0x24($sp) +/* BFF0E0 80241860 8FB20020 */ lw $s2, 0x20($sp) +/* BFF0E4 80241864 8FB1001C */ lw $s1, 0x1c($sp) +/* BFF0E8 80241868 8FB00018 */ lw $s0, 0x18($sp) +/* BFF0EC 8024186C 03E00008 */ jr $ra +/* BFF0F0 80241870 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241874_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241874_BFD880.s new file mode 100644 index 0000000000..7bd7dc4778 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241874_BFD880.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241874_BFF0F4 +/* BFF0F4 80241874 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BFF0F8 80241878 AFB30024 */ sw $s3, 0x24($sp) +/* BFF0FC 8024187C 0080982D */ daddu $s3, $a0, $zero +/* BFF100 80241880 AFBF0028 */ sw $ra, 0x28($sp) +/* BFF104 80241884 AFB20020 */ sw $s2, 0x20($sp) +/* BFF108 80241888 AFB1001C */ sw $s1, 0x1c($sp) +/* BFF10C 8024188C AFB00018 */ sw $s0, 0x18($sp) +/* BFF110 80241890 8E720148 */ lw $s2, 0x148($s3) +/* BFF114 80241894 86440008 */ lh $a0, 8($s2) +/* BFF118 80241898 0C00EABB */ jal get_npc_unsafe +/* BFF11C 8024189C 0000802D */ daddu $s0, $zero, $zero +/* BFF120 802418A0 0040882D */ daddu $s1, $v0, $zero +.L802418A4: +/* BFF124 802418A4 822200A4 */ lb $v0, 0xa4($s1) +/* BFF128 802418A8 52020007 */ beql $s0, $v0, .L802418C8 +/* BFF12C 802418AC 26100001 */ addiu $s0, $s0, 1 +/* BFF130 802418B0 0C00FB3A */ jal get_enemy +/* BFF134 802418B4 0200202D */ daddu $a0, $s0, $zero +/* BFF138 802418B8 8C42006C */ lw $v0, 0x6c($v0) +/* BFF13C 802418BC 30420100 */ andi $v0, $v0, 0x100 +/* BFF140 802418C0 1440001D */ bnez $v0, .L80241938 +/* BFF144 802418C4 26100001 */ addiu $s0, $s0, 1 +.L802418C8: +/* BFF148 802418C8 2A020004 */ slti $v0, $s0, 4 +/* BFF14C 802418CC 1440FFF5 */ bnez $v0, .L802418A4 +/* BFF150 802418D0 00000000 */ nop +/* BFF154 802418D4 8E42006C */ lw $v0, 0x6c($s2) +/* BFF158 802418D8 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* BFF15C 802418DC 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* BFF160 802418E0 34420100 */ ori $v0, $v0, 0x100 +/* BFF164 802418E4 AE42006C */ sw $v0, 0x6c($s2) +/* BFF168 802418E8 C4600028 */ lwc1 $f0, 0x28($v1) +/* BFF16C 802418EC E6200038 */ swc1 $f0, 0x38($s1) +/* BFF170 802418F0 C4600030 */ lwc1 $f0, 0x30($v1) +/* BFF174 802418F4 E6200040 */ swc1 $f0, 0x40($s1) +/* BFF178 802418F8 8E43006C */ lw $v1, 0x6c($s2) +/* BFF17C 802418FC 30621000 */ andi $v0, $v1, 0x1000 +/* BFF180 80241900 14400003 */ bnez $v0, .L80241910 +/* BFF184 80241904 3C048000 */ lui $a0, 0x8000 +/* BFF188 80241908 34621000 */ ori $v0, $v1, 0x1000 +/* BFF18C 8024190C AE42006C */ sw $v0, 0x6c($s2) +.L80241910: +/* BFF190 80241910 C6200040 */ lwc1 $f0, 0x40($s1) +/* BFF194 80241914 34840011 */ ori $a0, $a0, 0x11 +/* BFF198 80241918 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFF19C 8024191C 8E260038 */ lw $a2, 0x38($s1) +/* BFF1A0 80241920 8E27003C */ lw $a3, 0x3c($s1) +/* BFF1A4 80241924 0C052757 */ jal play_sound_at_position +/* BFF1A8 80241928 24050002 */ addiu $a1, $zero, 2 +/* BFF1AC 8024192C 2402000F */ addiu $v0, $zero, 0xf +/* BFF1B0 80241930 A620008E */ sh $zero, 0x8e($s1) +/* BFF1B4 80241934 AE620070 */ sw $v0, 0x70($s3) +.L80241938: +/* BFF1B8 80241938 8FBF0028 */ lw $ra, 0x28($sp) +/* BFF1BC 8024193C 8FB30024 */ lw $s3, 0x24($sp) +/* BFF1C0 80241940 8FB20020 */ lw $s2, 0x20($sp) +/* BFF1C4 80241944 8FB1001C */ lw $s1, 0x1c($sp) +/* BFF1C8 80241948 8FB00018 */ lw $s0, 0x18($sp) +/* BFF1CC 8024194C 03E00008 */ jr $ra +/* BFF1D0 80241950 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241954_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241954_BFD880.s new file mode 100644 index 0000000000..01af8709b6 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241954_BFD880.s @@ -0,0 +1,177 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241954_BFF1D4 +/* BFF1D4 80241954 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BFF1D8 80241958 AFB40040 */ sw $s4, 0x40($sp) +/* BFF1DC 8024195C 0080A02D */ daddu $s4, $a0, $zero +/* BFF1E0 80241960 AFBF0044 */ sw $ra, 0x44($sp) +/* BFF1E4 80241964 AFB3003C */ sw $s3, 0x3c($sp) +/* BFF1E8 80241968 AFB20038 */ sw $s2, 0x38($sp) +/* BFF1EC 8024196C AFB10034 */ sw $s1, 0x34($sp) +/* BFF1F0 80241970 AFB00030 */ sw $s0, 0x30($sp) +/* BFF1F4 80241974 8E930148 */ lw $s3, 0x148($s4) +/* BFF1F8 80241978 00A0802D */ daddu $s0, $a1, $zero +/* BFF1FC 8024197C 86640008 */ lh $a0, 8($s3) +/* BFF200 80241980 0C00EABB */ jal get_npc_unsafe +/* BFF204 80241984 00C0882D */ daddu $s1, $a2, $zero +/* BFF208 80241988 3C048000 */ lui $a0, 0x8000 +/* BFF20C 8024198C 0040902D */ daddu $s2, $v0, $zero +/* BFF210 80241990 C6400040 */ lwc1 $f0, 0x40($s2) +/* BFF214 80241994 34840011 */ ori $a0, $a0, 0x11 +/* BFF218 80241998 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFF21C 8024199C 8E460038 */ lw $a2, 0x38($s2) +/* BFF220 802419A0 8E47003C */ lw $a3, 0x3c($s2) +/* BFF224 802419A4 0C05267B */ jal func_801499EC +/* BFF228 802419A8 24050002 */ addiu $a1, $zero, 2 +/* BFF22C 802419AC 0220202D */ daddu $a0, $s1, $zero +/* BFF230 802419B0 24020001 */ addiu $v0, $zero, 1 +/* BFF234 802419B4 AFA20010 */ sw $v0, 0x10($sp) +/* BFF238 802419B8 8E060024 */ lw $a2, 0x24($s0) +/* BFF23C 802419BC 8E070028 */ lw $a3, 0x28($s0) +/* BFF240 802419C0 0C01242D */ jal func_800490B4 +/* BFF244 802419C4 0260282D */ daddu $a1, $s3, $zero +/* BFF248 802419C8 1440000B */ bnez $v0, .L802419F8 +/* BFF24C 802419CC 3C04FFDF */ lui $a0, 0xffdf +/* BFF250 802419D0 8E62006C */ lw $v0, 0x6c($s3) +/* BFF254 802419D4 2403FEFF */ addiu $v1, $zero, -0x101 +/* BFF258 802419D8 00431024 */ and $v0, $v0, $v1 +/* BFF25C 802419DC AE62006C */ sw $v0, 0x6c($s3) +/* BFF260 802419E0 8E420000 */ lw $v0, ($s2) +/* BFF264 802419E4 3484FFFF */ ori $a0, $a0, 0xffff +/* BFF268 802419E8 AE400048 */ sw $zero, 0x48($s2) +/* BFF26C 802419EC 00441024 */ and $v0, $v0, $a0 +/* BFF270 802419F0 080906F2 */ j .L80241BC8 +/* BFF274 802419F4 AE420000 */ sw $v0, ($s2) +.L802419F8: +/* BFF278 802419F8 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* BFF27C 802419FC 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* BFF280 80241A00 C6440048 */ lwc1 $f4, 0x48($s2) +/* BFF284 80241A04 3C0141C8 */ lui $at, 0x41c8 +/* BFF288 80241A08 44810000 */ mtc1 $at, $f0 +/* BFF28C 80241A0C 8E020000 */ lw $v0, ($s0) +/* BFF290 80241A10 46002100 */ add.s $f4, $f4, $f0 +/* BFF294 80241A14 C4420028 */ lwc1 $f2, 0x28($v0) +/* BFF298 80241A18 3C014000 */ lui $at, 0x4000 +/* BFF29C 80241A1C 44810000 */ mtc1 $at, $f0 +/* BFF2A0 80241A20 E6420038 */ swc1 $f2, 0x38($s2) +/* BFF2A4 80241A24 C4420030 */ lwc1 $f2, 0x30($v0) +/* BFF2A8 80241A28 46001080 */ add.s $f2, $f2, $f0 +/* BFF2AC 80241A2C 3C018026 */ lui $at, 0x8026 +/* BFF2B0 80241A30 D4263478 */ ldc1 $f6, 0x3478($at) +/* BFF2B4 80241A34 46002021 */ cvt.d.s $f0, $f4 +/* BFF2B8 80241A38 4620303C */ c.lt.d $f6, $f0 +/* BFF2BC 80241A3C E6440048 */ swc1 $f4, 0x48($s2) +/* BFF2C0 80241A40 45000004 */ bc1f .L80241A54 +/* BFF2C4 80241A44 E6420040 */ swc1 $f2, 0x40($s2) +/* BFF2C8 80241A48 46260001 */ sub.d $f0, $f0, $f6 +/* BFF2CC 80241A4C 46200020 */ cvt.s.d $f0, $f0 +/* BFF2D0 80241A50 E6400048 */ swc1 $f0, 0x48($s2) +.L80241A54: +/* BFF2D4 80241A54 3C02B60B */ lui $v0, 0xb60b +/* BFF2D8 80241A58 C6400048 */ lwc1 $f0, 0x48($s2) +/* BFF2DC 80241A5C 344260B7 */ ori $v0, $v0, 0x60b7 +/* BFF2E0 80241A60 4600020D */ trunc.w.s $f8, $f0 +/* BFF2E4 80241A64 44044000 */ mfc1 $a0, $f8 +/* BFF2E8 80241A68 00000000 */ nop +/* BFF2EC 80241A6C 00820018 */ mult $a0, $v0 +/* BFF2F0 80241A70 00041FC3 */ sra $v1, $a0, 0x1f +/* BFF2F4 80241A74 00004010 */ mfhi $t0 +/* BFF2F8 80241A78 01041021 */ addu $v0, $t0, $a0 +/* BFF2FC 80241A7C 000211C3 */ sra $v0, $v0, 7 +/* BFF300 80241A80 00431023 */ subu $v0, $v0, $v1 +/* BFF304 80241A84 00021840 */ sll $v1, $v0, 1 +/* BFF308 80241A88 00621821 */ addu $v1, $v1, $v0 +/* BFF30C 80241A8C 00031100 */ sll $v0, $v1, 4 +/* BFF310 80241A90 00431023 */ subu $v0, $v0, $v1 +/* BFF314 80241A94 00021080 */ sll $v0, $v0, 2 +/* BFF318 80241A98 00822023 */ subu $a0, $a0, $v0 +/* BFF31C 80241A9C 00042400 */ sll $a0, $a0, 0x10 +/* BFF320 80241AA0 0C00A4F5 */ jal cosine +/* BFF324 80241AA4 00042403 */ sra $a0, $a0, 0x10 +/* BFF328 80241AA8 3C014260 */ lui $at, 0x4260 +/* BFF32C 80241AAC 44811000 */ mtc1 $at, $f2 +/* BFF330 80241AB0 00000000 */ nop +/* BFF334 80241AB4 46020002 */ mul.s $f0, $f0, $f2 +/* BFF338 80241AB8 00000000 */ nop +/* BFF33C 80241ABC 24050006 */ addiu $a1, $zero, 6 +/* BFF340 80241AC0 3C01437F */ lui $at, 0x437f +/* BFF344 80241AC4 44811000 */ mtc1 $at, $f2 +/* BFF348 80241AC8 240200FF */ addiu $v0, $zero, 0xff +/* BFF34C 80241ACC 46001081 */ sub.s $f2, $f2, $f0 +/* BFF350 80241AD0 AFA20014 */ sw $v0, 0x14($sp) +/* BFF354 80241AD4 AFA00018 */ sw $zero, 0x18($sp) +/* BFF358 80241AD8 4600120D */ trunc.w.s $f8, $f2 +/* BFF35C 80241ADC 44064000 */ mfc1 $a2, $f8 +/* BFF360 80241AE0 00000000 */ nop +/* BFF364 80241AE4 AFA60010 */ sw $a2, 0x10($sp) +/* BFF368 80241AE8 8E440024 */ lw $a0, 0x24($s2) +/* BFF36C 80241AEC 0C0B7A25 */ jal func_802DE894 +/* BFF370 80241AF0 00C0382D */ daddu $a3, $a2, $zero +/* BFF374 80241AF4 27A50020 */ addiu $a1, $sp, 0x20 +/* BFF378 80241AF8 27A60024 */ addiu $a2, $sp, 0x24 +/* BFF37C 80241AFC 8E020000 */ lw $v0, ($s0) +/* BFF380 80241B00 3C01447A */ lui $at, 0x447a +/* BFF384 80241B04 44810000 */ mtc1 $at, $f0 +/* BFF388 80241B08 C4420028 */ lwc1 $f2, 0x28($v0) +/* BFF38C 80241B0C C444002C */ lwc1 $f4, 0x2c($v0) +/* BFF390 80241B10 C4460030 */ lwc1 $f6, 0x30($v0) +/* BFF394 80241B14 27A2002C */ addiu $v0, $sp, 0x2c +/* BFF398 80241B18 E7A0002C */ swc1 $f0, 0x2c($sp) +/* BFF39C 80241B1C E7A20020 */ swc1 $f2, 0x20($sp) +/* BFF3A0 80241B20 E7A40024 */ swc1 $f4, 0x24($sp) +/* BFF3A4 80241B24 E7A60028 */ swc1 $f6, 0x28($sp) +/* BFF3A8 80241B28 AFA20010 */ sw $v0, 0x10($sp) +/* BFF3AC 80241B2C 8E440080 */ lw $a0, 0x80($s2) +/* BFF3B0 80241B30 0C0372DF */ jal func_800DCB7C +/* BFF3B4 80241B34 27A70028 */ addiu $a3, $sp, 0x28 +/* BFF3B8 80241B38 C644003C */ lwc1 $f4, 0x3c($s2) +/* BFF3BC 80241B3C C7A00024 */ lwc1 $f0, 0x24($sp) +/* BFF3C0 80241B40 46002001 */ sub.s $f0, $f4, $f0 +/* BFF3C4 80241B44 3C014038 */ lui $at, 0x4038 +/* BFF3C8 80241B48 44811800 */ mtc1 $at, $f3 +/* BFF3CC 80241B4C 44801000 */ mtc1 $zero, $f2 +/* BFF3D0 80241B50 46000005 */ abs.s $f0, $f0 +/* BFF3D4 80241B54 46000021 */ cvt.d.s $f0, $f0 +/* BFF3D8 80241B58 4620103C */ c.lt.d $f2, $f0 +/* BFF3DC 80241B5C 00000000 */ nop +/* BFF3E0 80241B60 45000008 */ bc1f .L80241B84 +/* BFF3E4 80241B64 3C03FFDF */ lui $v1, 0xffdf +/* BFF3E8 80241B68 3C018026 */ lui $at, 0x8026 +/* BFF3EC 80241B6C D4223480 */ ldc1 $f2, 0x3480($at) +/* BFF3F0 80241B70 46002021 */ cvt.d.s $f0, $f4 +/* BFF3F4 80241B74 46220001 */ sub.d $f0, $f0, $f2 +/* BFF3F8 80241B78 46200020 */ cvt.s.d $f0, $f0 +/* BFF3FC 80241B7C 080906F4 */ j .L80241BD0 +/* BFF400 80241B80 E640003C */ swc1 $f0, 0x3c($s2) +.L80241B84: +/* BFF404 80241B84 8E420000 */ lw $v0, ($s2) +/* BFF408 80241B88 3463FFFF */ ori $v1, $v1, 0xffff +/* BFF40C 80241B8C AE400048 */ sw $zero, 0x48($s2) +/* BFF410 80241B90 00431024 */ and $v0, $v0, $v1 +/* BFF414 80241B94 AE420000 */ sw $v0, ($s2) +/* BFF418 80241B98 3C038011 */ lui $v1, 0x8011 +/* BFF41C 80241B9C 8063EBB3 */ lb $v1, -0x144d($v1) +/* BFF420 80241BA0 24020009 */ addiu $v0, $zero, 9 +/* BFF424 80241BA4 10620009 */ beq $v1, $v0, .L80241BCC +/* BFF428 80241BA8 24020010 */ addiu $v0, $zero, 0x10 +/* BFF42C 80241BAC 0C03805E */ jal disable_player_input +/* BFF430 80241BB0 00000000 */ nop +/* BFF434 80241BB4 0C03BD8A */ jal func_800EF628 +/* BFF438 80241BB8 00000000 */ nop +/* BFF43C 80241BBC 24020014 */ addiu $v0, $zero, 0x14 +/* BFF440 80241BC0 080906F3 */ j .L80241BCC +/* BFF444 80241BC4 A640008E */ sh $zero, 0x8e($s2) +.L80241BC8: +/* BFF448 80241BC8 24020010 */ addiu $v0, $zero, 0x10 +.L80241BCC: +/* BFF44C 80241BCC AE820070 */ sw $v0, 0x70($s4) +.L80241BD0: +/* BFF450 80241BD0 8FBF0044 */ lw $ra, 0x44($sp) +/* BFF454 80241BD4 8FB40040 */ lw $s4, 0x40($sp) +/* BFF458 80241BD8 8FB3003C */ lw $s3, 0x3c($sp) +/* BFF45C 80241BDC 8FB20038 */ lw $s2, 0x38($sp) +/* BFF460 80241BE0 8FB10034 */ lw $s1, 0x34($sp) +/* BFF464 80241BE4 8FB00030 */ lw $s0, 0x30($sp) +/* BFF468 80241BE8 03E00008 */ jr $ra +/* BFF46C 80241BEC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241BF0.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241BF0.s new file mode 100644 index 0000000000..ee4a52b988 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241BF0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BF0 +/* BFF470 80241BF0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BFF474 80241BF4 AFB20028 */ sw $s2, 0x28($sp) +/* BFF478 80241BF8 0080902D */ daddu $s2, $a0, $zero +/* BFF47C 80241BFC AFBF002C */ sw $ra, 0x2c($sp) +/* BFF480 80241C00 AFB10024 */ sw $s1, 0x24($sp) +/* BFF484 80241C04 AFB00020 */ sw $s0, 0x20($sp) +/* BFF488 80241C08 8E500148 */ lw $s0, 0x148($s2) +/* BFF48C 80241C0C 0C00EABB */ jal get_npc_unsafe +/* BFF490 80241C10 86040008 */ lh $a0, 8($s0) +/* BFF494 80241C14 2404FEFF */ addiu $a0, $zero, -0x101 +/* BFF498 80241C18 0040882D */ daddu $s1, $v0, $zero +/* BFF49C 80241C1C 0000282D */ daddu $a1, $zero, $zero +/* BFF4A0 80241C20 8E03006C */ lw $v1, 0x6c($s0) +/* BFF4A4 80241C24 00A0302D */ daddu $a2, $a1, $zero +/* BFF4A8 80241C28 00641824 */ and $v1, $v1, $a0 +/* BFF4AC 80241C2C AE03006C */ sw $v1, 0x6c($s0) +/* BFF4B0 80241C30 AFA00010 */ sw $zero, 0x10($sp) +/* BFF4B4 80241C34 AFA00014 */ sw $zero, 0x14($sp) +/* BFF4B8 80241C38 AFA00018 */ sw $zero, 0x18($sp) +/* BFF4BC 80241C3C 8E240024 */ lw $a0, 0x24($s1) +/* BFF4C0 80241C40 0C0B7A25 */ jal func_802DE894 +/* BFF4C4 80241C44 00A0382D */ daddu $a3, $a1, $zero +/* BFF4C8 80241C48 8E02006C */ lw $v0, 0x6c($s0) +/* BFF4CC 80241C4C 30421000 */ andi $v0, $v0, 0x1000 +/* BFF4D0 80241C50 10400008 */ beqz $v0, .L80241C74 +/* BFF4D4 80241C54 00000000 */ nop +/* BFF4D8 80241C58 3C048000 */ lui $a0, 0x8000 +/* BFF4DC 80241C5C 0C05271B */ jal stop_sound +/* BFF4E0 80241C60 34840011 */ ori $a0, $a0, 0x11 +/* BFF4E4 80241C64 8E02006C */ lw $v0, 0x6c($s0) +/* BFF4E8 80241C68 2403EFFF */ addiu $v1, $zero, -0x1001 +/* BFF4EC 80241C6C 00431024 */ and $v0, $v0, $v1 +/* BFF4F0 80241C70 AE02006C */ sw $v0, 0x6c($s0) +.L80241C74: +/* BFF4F4 80241C74 8E0200CC */ lw $v0, 0xcc($s0) +/* BFF4F8 80241C78 8C430024 */ lw $v1, 0x24($v0) +/* BFF4FC 80241C7C 24020014 */ addiu $v0, $zero, 0x14 +/* BFF500 80241C80 A622008E */ sh $v0, 0x8e($s1) +/* BFF504 80241C84 24020011 */ addiu $v0, $zero, 0x11 +/* BFF508 80241C88 AE230028 */ sw $v1, 0x28($s1) +/* BFF50C 80241C8C AE420070 */ sw $v0, 0x70($s2) +/* BFF510 80241C90 8FBF002C */ lw $ra, 0x2c($sp) +/* BFF514 80241C94 8FB20028 */ lw $s2, 0x28($sp) +/* BFF518 80241C98 8FB10024 */ lw $s1, 0x24($sp) +/* BFF51C 80241C9C 8FB00020 */ lw $s0, 0x20($sp) +/* BFF520 80241CA0 03E00008 */ jr $ra +/* BFF524 80241CA4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241CA8_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241CA8_BFD880.s new file mode 100644 index 0000000000..d0e4daaa9c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241CA8_BFD880.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CA8_BFF528 +/* BFF528 80241CA8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BFF52C 80241CAC AFB20048 */ sw $s2, 0x48($sp) +/* BFF530 80241CB0 0080902D */ daddu $s2, $a0, $zero +/* BFF534 80241CB4 AFBF004C */ sw $ra, 0x4c($sp) +/* BFF538 80241CB8 AFB10044 */ sw $s1, 0x44($sp) +/* BFF53C 80241CBC AFB00040 */ sw $s0, 0x40($sp) +/* BFF540 80241CC0 F7B40050 */ sdc1 $f20, 0x50($sp) +/* BFF544 80241CC4 8E500148 */ lw $s0, 0x148($s2) +/* BFF548 80241CC8 0C00EABB */ jal get_npc_unsafe +/* BFF54C 80241CCC 86040008 */ lh $a0, 8($s0) +/* BFF550 80241CD0 27A50028 */ addiu $a1, $sp, 0x28 +/* BFF554 80241CD4 0040882D */ daddu $s1, $v0, $zero +/* BFF558 80241CD8 27A6002C */ addiu $a2, $sp, 0x2c +/* BFF55C 80241CDC 27A70030 */ addiu $a3, $sp, 0x30 +/* BFF560 80241CE0 C620003C */ lwc1 $f0, 0x3c($s1) +/* BFF564 80241CE4 3C014004 */ lui $at, 0x4004 +/* BFF568 80241CE8 44811800 */ mtc1 $at, $f3 +/* BFF56C 80241CEC 44801000 */ mtc1 $zero, $f2 +/* BFF570 80241CF0 C6260038 */ lwc1 $f6, 0x38($s1) +/* BFF574 80241CF4 46000021 */ cvt.d.s $f0, $f0 +/* BFF578 80241CF8 46220000 */ add.d $f0, $f0, $f2 +/* BFF57C 80241CFC 3C01447A */ lui $at, 0x447a +/* BFF580 80241D00 44812000 */ mtc1 $at, $f4 +/* BFF584 80241D04 C6020078 */ lwc1 $f2, 0x78($s0) +/* BFF588 80241D08 468010A0 */ cvt.s.w $f2, $f2 +/* BFF58C 80241D0C 46200020 */ cvt.s.d $f0, $f0 +/* BFF590 80241D10 E620003C */ swc1 $f0, 0x3c($s1) +/* BFF594 80241D14 46000206 */ mov.s $f8, $f0 +/* BFF598 80241D18 C6200040 */ lwc1 $f0, 0x40($s1) +/* BFF59C 80241D1C 27A20034 */ addiu $v0, $sp, 0x34 +/* BFF5A0 80241D20 E7A00030 */ swc1 $f0, 0x30($sp) +/* BFF5A4 80241D24 3C014059 */ lui $at, 0x4059 +/* BFF5A8 80241D28 44810800 */ mtc1 $at, $f1 +/* BFF5AC 80241D2C 44800000 */ mtc1 $zero, $f0 +/* BFF5B0 80241D30 460010A1 */ cvt.d.s $f2, $f2 +/* BFF5B4 80241D34 E7A60028 */ swc1 $f6, 0x28($sp) +/* BFF5B8 80241D38 E7A40034 */ swc1 $f4, 0x34($sp) +/* BFF5BC 80241D3C E7A8002C */ swc1 $f8, 0x2c($sp) +/* BFF5C0 80241D40 AFA20010 */ sw $v0, 0x10($sp) +/* BFF5C4 80241D44 8E240080 */ lw $a0, 0x80($s1) +/* BFF5C8 80241D48 46201083 */ div.d $f2, $f2, $f0 +/* BFF5CC 80241D4C 0C0372DF */ jal func_800DCB7C +/* BFF5D0 80241D50 46201520 */ cvt.s.d $f20, $f2 +/* BFF5D4 80241D54 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BFF5D8 80241D58 46140000 */ add.s $f0, $f0, $f20 +/* BFF5DC 80241D5C C622003C */ lwc1 $f2, 0x3c($s1) +/* BFF5E0 80241D60 4600103C */ c.lt.s $f2, $f0 +/* BFF5E4 80241D64 00000000 */ nop +/* BFF5E8 80241D68 45010028 */ bc1t .L80241E0C +/* BFF5EC 80241D6C 00000000 */ nop +/* BFF5F0 80241D70 8E0200D0 */ lw $v0, 0xd0($s0) +/* BFF5F4 80241D74 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BFF5F8 80241D78 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BFF5FC 80241D7C C44A0000 */ lwc1 $f10, ($v0) +/* BFF600 80241D80 468052A0 */ cvt.s.w $f10, $f10 +/* BFF604 80241D84 44065000 */ mfc1 $a2, $f10 +/* BFF608 80241D88 C44A0008 */ lwc1 $f10, 8($v0) +/* BFF60C 80241D8C 468052A0 */ cvt.s.w $f10, $f10 +/* BFF610 80241D90 44075000 */ mfc1 $a3, $f10 +/* BFF614 80241D94 0C00A720 */ jal atan2 +/* BFF618 80241D98 2410000A */ addiu $s0, $zero, 0xa +/* BFF61C 80241D9C 24040002 */ addiu $a0, $zero, 2 +/* BFF620 80241DA0 0220282D */ daddu $a1, $s1, $zero +/* BFF624 80241DA4 0000302D */ daddu $a2, $zero, $zero +/* BFF628 80241DA8 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* BFF62C 80241DAC 862200A8 */ lh $v0, 0xa8($s1) +/* BFF630 80241DB0 E620000C */ swc1 $f0, 0xc($s1) +/* BFF634 80241DB4 3C013F80 */ lui $at, 0x3f80 +/* BFF638 80241DB8 44810000 */ mtc1 $at, $f0 +/* BFF63C 80241DBC 3C014000 */ lui $at, 0x4000 +/* BFF640 80241DC0 44812000 */ mtc1 $at, $f4 +/* BFF644 80241DC4 3C01C1A0 */ lui $at, 0xc1a0 +/* BFF648 80241DC8 44813000 */ mtc1 $at, $f6 +/* BFF64C 80241DCC 44825000 */ mtc1 $v0, $f10 +/* BFF650 80241DD0 00000000 */ nop +/* BFF654 80241DD4 468052A0 */ cvt.s.w $f10, $f10 +/* BFF658 80241DD8 46141080 */ add.s $f2, $f2, $f20 +/* BFF65C 80241DDC 44075000 */ mfc1 $a3, $f10 +/* BFF660 80241DE0 27A20038 */ addiu $v0, $sp, 0x38 +/* BFF664 80241DE4 E622003C */ swc1 $f2, 0x3c($s1) +/* BFF668 80241DE8 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFF66C 80241DEC E7A40014 */ swc1 $f4, 0x14($sp) +/* BFF670 80241DF0 E7A60018 */ swc1 $f6, 0x18($sp) +/* BFF674 80241DF4 AFB0001C */ sw $s0, 0x1c($sp) +/* BFF678 80241DF8 0C01BFA4 */ jal fx_emote +/* BFF67C 80241DFC AFA20020 */ sw $v0, 0x20($sp) +/* BFF680 80241E00 24020012 */ addiu $v0, $zero, 0x12 +/* BFF684 80241E04 A630008E */ sh $s0, 0x8e($s1) +/* BFF688 80241E08 AE420070 */ sw $v0, 0x70($s2) +.L80241E0C: +/* BFF68C 80241E0C 8FBF004C */ lw $ra, 0x4c($sp) +/* BFF690 80241E10 8FB20048 */ lw $s2, 0x48($sp) +/* BFF694 80241E14 8FB10044 */ lw $s1, 0x44($sp) +/* BFF698 80241E18 8FB00040 */ lw $s0, 0x40($sp) +/* BFF69C 80241E1C D7B40050 */ ldc1 $f20, 0x50($sp) +/* BFF6A0 80241E20 03E00008 */ jr $ra +/* BFF6A4 80241E24 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E28_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E28_BFD880.s new file mode 100644 index 0000000000..ed09e9a075 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E28_BFD880.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E28_BFF6A8 +/* BFF6A8 80241E28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFF6AC 80241E2C AFB00010 */ sw $s0, 0x10($sp) +/* BFF6B0 80241E30 0080802D */ daddu $s0, $a0, $zero +/* BFF6B4 80241E34 AFBF0014 */ sw $ra, 0x14($sp) +/* BFF6B8 80241E38 8E020148 */ lw $v0, 0x148($s0) +/* BFF6BC 80241E3C 0C00EABB */ jal get_npc_unsafe +/* BFF6C0 80241E40 84440008 */ lh $a0, 8($v0) +/* BFF6C4 80241E44 9443008E */ lhu $v1, 0x8e($v0) +/* BFF6C8 80241E48 2463FFFF */ addiu $v1, $v1, -1 +/* BFF6CC 80241E4C A443008E */ sh $v1, 0x8e($v0) +/* BFF6D0 80241E50 00031C00 */ sll $v1, $v1, 0x10 +/* BFF6D4 80241E54 1C600002 */ bgtz $v1, .L80241E60 +/* BFF6D8 80241E58 2402001E */ addiu $v0, $zero, 0x1e +/* BFF6DC 80241E5C AE020070 */ sw $v0, 0x70($s0) +.L80241E60: +/* BFF6E0 80241E60 8FBF0014 */ lw $ra, 0x14($sp) +/* BFF6E4 80241E64 8FB00010 */ lw $s0, 0x10($sp) +/* BFF6E8 80241E68 03E00008 */ jr $ra +/* BFF6EC 80241E6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E70.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E70.s new file mode 100644 index 0000000000..4af891766e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241E70.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E70 +/* BFF6F0 80241E70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BFF6F4 80241E74 AFB00010 */ sw $s0, 0x10($sp) +/* BFF6F8 80241E78 0080802D */ daddu $s0, $a0, $zero +/* BFF6FC 80241E7C AFBF0014 */ sw $ra, 0x14($sp) +/* BFF700 80241E80 8E020148 */ lw $v0, 0x148($s0) +/* BFF704 80241E84 0C00EABB */ jal get_npc_unsafe +/* BFF708 80241E88 84440008 */ lh $a0, 8($v0) +/* BFF70C 80241E8C 0040202D */ daddu $a0, $v0, $zero +/* BFF710 80241E90 9482008E */ lhu $v0, 0x8e($a0) +/* BFF714 80241E94 24420001 */ addiu $v0, $v0, 1 +/* BFF718 80241E98 A482008E */ sh $v0, 0x8e($a0) +/* BFF71C 80241E9C 00021400 */ sll $v0, $v0, 0x10 +/* BFF720 80241EA0 00021403 */ sra $v0, $v0, 0x10 +/* BFF724 80241EA4 28420003 */ slti $v0, $v0, 3 +/* BFF728 80241EA8 1440000D */ bnez $v0, .L80241EE0 +/* BFF72C 80241EAC 24020009 */ addiu $v0, $zero, 9 +/* BFF730 80241EB0 3C038011 */ lui $v1, 0x8011 +/* BFF734 80241EB4 8063EBB3 */ lb $v1, -0x144d($v1) +/* BFF738 80241EB8 10620003 */ beq $v1, $v0, .L80241EC8 +/* BFF73C 80241EBC 24020064 */ addiu $v0, $zero, 0x64 +/* BFF740 80241EC0 080907B7 */ j .L80241EDC +/* BFF744 80241EC4 A480008E */ sh $zero, 0x8e($a0) +.L80241EC8: +/* BFF748 80241EC8 0C038069 */ jal enable_player_input +/* BFF74C 80241ECC 00000000 */ nop +/* BFF750 80241ED0 0C03BD80 */ jal func_800EF600 +/* BFF754 80241ED4 00000000 */ nop +/* BFF758 80241ED8 24020010 */ addiu $v0, $zero, 0x10 +.L80241EDC: +/* BFF75C 80241EDC AE020070 */ sw $v0, 0x70($s0) +.L80241EE0: +/* BFF760 80241EE0 8FBF0014 */ lw $ra, 0x14($sp) +/* BFF764 80241EE4 8FB00010 */ lw $s0, 0x10($sp) +/* BFF768 80241EE8 03E00008 */ jr $ra +/* BFF76C 80241EEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241EF0_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241EF0_BFD880.s new file mode 100644 index 0000000000..b1ee6f5c00 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241EF0_BFD880.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EF0_BFF770 +/* BFF770 80241EF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BFF774 80241EF4 AFB20018 */ sw $s2, 0x18($sp) +/* BFF778 80241EF8 0080902D */ daddu $s2, $a0, $zero +/* BFF77C 80241EFC AFBF001C */ sw $ra, 0x1c($sp) +/* BFF780 80241F00 AFB10014 */ sw $s1, 0x14($sp) +/* BFF784 80241F04 AFB00010 */ sw $s0, 0x10($sp) +/* BFF788 80241F08 8E500148 */ lw $s0, 0x148($s2) +/* BFF78C 80241F0C 86040008 */ lh $a0, 8($s0) +/* BFF790 80241F10 0C00EABB */ jal get_npc_unsafe +/* BFF794 80241F14 00A0882D */ daddu $s1, $a1, $zero +/* BFF798 80241F18 3C05FFDF */ lui $a1, 0xffdf +/* BFF79C 80241F1C 8E03006C */ lw $v1, 0x6c($s0) +/* BFF7A0 80241F20 2404FEFF */ addiu $a0, $zero, -0x101 +/* BFF7A4 80241F24 00641824 */ and $v1, $v1, $a0 +/* BFF7A8 80241F28 AE03006C */ sw $v1, 0x6c($s0) +/* BFF7AC 80241F2C 8C430000 */ lw $v1, ($v0) +/* BFF7B0 80241F30 34A5FFFF */ ori $a1, $a1, 0xffff +/* BFF7B4 80241F34 00651824 */ and $v1, $v1, $a1 +/* BFF7B8 80241F38 AC430000 */ sw $v1, ($v0) +/* BFF7BC 80241F3C C6200000 */ lwc1 $f0, ($s1) +/* BFF7C0 80241F40 46000021 */ cvt.d.s $f0, $f0 +/* BFF7C4 80241F44 46200000 */ add.d $f0, $f0, $f0 +/* BFF7C8 80241F48 46200020 */ cvt.s.d $f0, $f0 +/* BFF7CC 80241F4C E4400018 */ swc1 $f0, 0x18($v0) +/* BFF7D0 80241F50 AE000074 */ sw $zero, 0x74($s0) +/* BFF7D4 80241F54 C440003C */ lwc1 $f0, 0x3c($v0) +/* BFF7D8 80241F58 3C014059 */ lui $at, 0x4059 +/* BFF7DC 80241F5C 44811800 */ mtc1 $at, $f3 +/* BFF7E0 80241F60 44801000 */ mtc1 $zero, $f2 +/* BFF7E4 80241F64 46000021 */ cvt.d.s $f0, $f0 +/* BFF7E8 80241F68 46220002 */ mul.d $f0, $f0, $f2 +/* BFF7EC 80241F6C 00000000 */ nop +/* BFF7F0 80241F70 2402001E */ addiu $v0, $zero, 0x1e +/* BFF7F4 80241F74 4620010D */ trunc.w.d $f4, $f0 +/* BFF7F8 80241F78 E604007C */ swc1 $f4, 0x7c($s0) +/* BFF7FC 80241F7C AE420074 */ sw $v0, 0x74($s2) +/* BFF800 80241F80 8FBF001C */ lw $ra, 0x1c($sp) +/* BFF804 80241F84 8FB20018 */ lw $s2, 0x18($sp) +/* BFF808 80241F88 8FB10014 */ lw $s1, 0x14($sp) +/* BFF80C 80241F8C 8FB00010 */ lw $s0, 0x10($sp) +/* BFF810 80241F90 03E00008 */ jr $ra +/* BFF814 80241F94 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80241F98_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241F98_BFD880.s new file mode 100644 index 0000000000..3ed99dbe57 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80241F98_BFD880.s @@ -0,0 +1,207 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F98_BFF818 +/* BFF818 80241F98 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BFF81C 80241F9C AFB20048 */ sw $s2, 0x48($sp) +/* BFF820 80241FA0 0080902D */ daddu $s2, $a0, $zero +/* BFF824 80241FA4 AFBF0054 */ sw $ra, 0x54($sp) +/* BFF828 80241FA8 AFB40050 */ sw $s4, 0x50($sp) +/* BFF82C 80241FAC AFB3004C */ sw $s3, 0x4c($sp) +/* BFF830 80241FB0 AFB10044 */ sw $s1, 0x44($sp) +/* BFF834 80241FB4 AFB00040 */ sw $s0, 0x40($sp) +/* BFF838 80241FB8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* BFF83C 80241FBC F7B80068 */ sdc1 $f24, 0x68($sp) +/* BFF840 80241FC0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* BFF844 80241FC4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BFF848 80241FC8 8E500148 */ lw $s0, 0x148($s2) +/* BFF84C 80241FCC 00A0982D */ daddu $s3, $a1, $zero +/* BFF850 80241FD0 86040008 */ lh $a0, 8($s0) +/* BFF854 80241FD4 0C00EABB */ jal get_npc_unsafe +/* BFF858 80241FD8 00C0A02D */ daddu $s4, $a2, $zero +/* BFF85C 80241FDC 0040882D */ daddu $s1, $v0, $zero +/* BFF860 80241FE0 C6200038 */ lwc1 $f0, 0x38($s1) +/* BFF864 80241FE4 C622003C */ lwc1 $f2, 0x3c($s1) +/* BFF868 80241FE8 C6240040 */ lwc1 $f4, 0x40($s1) +/* BFF86C 80241FEC 3C01447A */ lui $at, 0x447a +/* BFF870 80241FF0 44813000 */ mtc1 $at, $f6 +/* BFF874 80241FF4 C60C0074 */ lwc1 $f12, 0x74($s0) +/* BFF878 80241FF8 46806320 */ cvt.s.w $f12, $f12 +/* BFF87C 80241FFC E7A00028 */ swc1 $f0, 0x28($sp) +/* BFF880 80242000 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BFF884 80242004 E7A40030 */ swc1 $f4, 0x30($sp) +/* BFF888 80242008 E7A60034 */ swc1 $f6, 0x34($sp) +/* BFF88C 8024200C C6000078 */ lwc1 $f0, 0x78($s0) +/* BFF890 80242010 46800020 */ cvt.s.w $f0, $f0 +/* BFF894 80242014 46000021 */ cvt.d.s $f0, $f0 +/* BFF898 80242018 C6020088 */ lwc1 $f2, 0x88($s0) +/* BFF89C 8024201C 468010A0 */ cvt.s.w $f2, $f2 +/* BFF8A0 80242020 3C014059 */ lui $at, 0x4059 +/* BFF8A4 80242024 44812800 */ mtc1 $at, $f5 +/* BFF8A8 80242028 44802000 */ mtc1 $zero, $f4 +/* BFF8AC 8024202C 460010A1 */ cvt.d.s $f2, $f2 +/* BFF8B0 80242030 46240003 */ div.d $f0, $f0, $f4 +/* BFF8B4 80242034 462006A0 */ cvt.s.d $f26, $f0 +/* BFF8B8 80242038 46241083 */ div.d $f2, $f2, $f4 +/* BFF8BC 8024203C 462010A0 */ cvt.s.d $f2, $f2 +/* BFF8C0 80242040 C6000070 */ lwc1 $f0, 0x70($s0) +/* BFF8C4 80242044 46800020 */ cvt.s.w $f0, $f0 +/* BFF8C8 80242048 46000021 */ cvt.d.s $f0, $f0 +/* BFF8CC 8024204C 46240003 */ div.d $f0, $f0, $f4 +/* BFF8D0 80242050 462005A0 */ cvt.s.d $f22, $f0 +/* BFF8D4 80242054 0C00A8BB */ jal sin_deg +/* BFF8D8 80242058 4602D600 */ add.s $f24, $f26, $f2 +/* BFF8DC 8024205C 27A50028 */ addiu $a1, $sp, 0x28 +/* BFF8E0 80242060 27A6002C */ addiu $a2, $sp, 0x2c +/* BFF8E4 80242064 27A70030 */ addiu $a3, $sp, 0x30 +/* BFF8E8 80242068 27A20034 */ addiu $v0, $sp, 0x34 +/* BFF8EC 8024206C AFA20010 */ sw $v0, 0x10($sp) +/* BFF8F0 80242070 8E240080 */ lw $a0, 0x80($s1) +/* BFF8F4 80242074 0C0372DF */ jal func_800DCB7C +/* BFF8F8 80242078 46000506 */ mov.s $f20, $f0 +/* BFF8FC 8024207C 10400007 */ beqz $v0, .L8024209C +/* BFF900 80242080 00000000 */ nop +/* BFF904 80242084 4616A082 */ mul.s $f2, $f20, $f22 +/* BFF908 80242088 00000000 */ nop +/* BFF90C 8024208C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BFF910 80242090 461A0000 */ add.s $f0, $f0, $f26 +/* BFF914 80242094 0809082A */ j .L802420A8 +/* BFF918 80242098 46020000 */ add.s $f0, $f0, $f2 +.L8024209C: +/* BFF91C 8024209C 4616A002 */ mul.s $f0, $f20, $f22 +/* BFF920 802420A0 00000000 */ nop +/* BFF924 802420A4 4600C000 */ add.s $f0, $f24, $f0 +.L802420A8: +/* BFF928 802420A8 E620003C */ swc1 $f0, 0x3c($s1) +/* BFF92C 802420AC 8E020074 */ lw $v0, 0x74($s0) +/* BFF930 802420B0 2442000C */ addiu $v0, $v0, 0xc +/* BFF934 802420B4 44826000 */ mtc1 $v0, $f12 +/* BFF938 802420B8 00000000 */ nop +/* BFF93C 802420BC 0C00A6C9 */ jal clamp_angle +/* BFF940 802420C0 46806320 */ cvt.s.w $f12, $f12 +/* BFF944 802420C4 4600020D */ trunc.w.s $f8, $f0 +/* BFF948 802420C8 E6080074 */ swc1 $f8, 0x74($s0) +/* BFF94C 802420CC 8E420074 */ lw $v0, 0x74($s2) +/* BFF950 802420D0 1C400037 */ bgtz $v0, .L802421B0 +/* BFF954 802420D4 2442FFFF */ addiu $v0, $v0, -1 +/* BFF958 802420D8 8E620014 */ lw $v0, 0x14($s3) +/* BFF95C 802420DC AE420074 */ sw $v0, 0x74($s2) +/* BFF960 802420E0 C662000C */ lwc1 $f2, 0xc($s3) +/* BFF964 802420E4 3C013FE0 */ lui $at, 0x3fe0 +/* BFF968 802420E8 44812800 */ mtc1 $at, $f5 +/* BFF96C 802420EC 44802000 */ mtc1 $zero, $f4 +/* BFF970 802420F0 460010A1 */ cvt.d.s $f2, $f2 +/* BFF974 802420F4 46241082 */ mul.d $f2, $f2, $f4 +/* BFF978 802420F8 00000000 */ nop +/* BFF97C 802420FC C6600010 */ lwc1 $f0, 0x10($s3) +/* BFF980 80242100 46000021 */ cvt.d.s $f0, $f0 +/* BFF984 80242104 46240002 */ mul.d $f0, $f0, $f4 +/* BFF988 80242108 00000000 */ nop +/* BFF98C 8024210C 0280202D */ daddu $a0, $s4, $zero +/* BFF990 80242110 462010A0 */ cvt.s.d $f2, $f2 +/* BFF994 80242114 46200020 */ cvt.s.d $f0, $f0 +/* BFF998 80242118 44061000 */ mfc1 $a2, $f2 +/* BFF99C 8024211C 44070000 */ mfc1 $a3, $f0 +/* BFF9A0 80242120 0200282D */ daddu $a1, $s0, $zero +/* BFF9A4 80242124 0C01242D */ jal func_800490B4 +/* BFF9A8 80242128 AFA00010 */ sw $zero, 0x10($sp) +/* BFF9AC 8024212C 1040001E */ beqz $v0, .L802421A8 +/* BFF9B0 80242130 0000202D */ daddu $a0, $zero, $zero +/* BFF9B4 80242134 0220282D */ daddu $a1, $s1, $zero +/* BFF9B8 80242138 0000302D */ daddu $a2, $zero, $zero +/* BFF9BC 8024213C 2410000C */ addiu $s0, $zero, 0xc +/* BFF9C0 80242140 862300A8 */ lh $v1, 0xa8($s1) +/* BFF9C4 80242144 3C013F80 */ lui $at, 0x3f80 +/* BFF9C8 80242148 44810000 */ mtc1 $at, $f0 +/* BFF9CC 8024214C 3C014000 */ lui $at, 0x4000 +/* BFF9D0 80242150 44811000 */ mtc1 $at, $f2 +/* BFF9D4 80242154 3C01C1A0 */ lui $at, 0xc1a0 +/* BFF9D8 80242158 44812000 */ mtc1 $at, $f4 +/* BFF9DC 8024215C 44834000 */ mtc1 $v1, $f8 +/* BFF9E0 80242160 00000000 */ nop +/* BFF9E4 80242164 46804220 */ cvt.s.w $f8, $f8 +/* BFF9E8 80242168 44074000 */ mfc1 $a3, $f8 +/* BFF9EC 8024216C 27A20038 */ addiu $v0, $sp, 0x38 +/* BFF9F0 80242170 AFB0001C */ sw $s0, 0x1c($sp) +/* BFF9F4 80242174 AFA20020 */ sw $v0, 0x20($sp) +/* BFF9F8 80242178 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFF9FC 8024217C E7A20014 */ swc1 $f2, 0x14($sp) +/* BFFA00 80242180 0C01BFA4 */ jal fx_emote +/* BFFA04 80242184 E7A40018 */ swc1 $f4, 0x18($sp) +/* BFFA08 80242188 0220202D */ daddu $a0, $s1, $zero +/* BFFA0C 8024218C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BFFA10 80242190 0C012530 */ jal func_800494C0 +/* BFFA14 80242194 3C060020 */ lui $a2, 0x20 +/* BFFA18 80242198 C620003C */ lwc1 $f0, 0x3c($s1) +/* BFFA1C 8024219C E6200064 */ swc1 $f0, 0x64($s1) +/* BFFA20 802421A0 080908A0 */ j .L80242280 +/* BFFA24 802421A4 AE500070 */ sw $s0, 0x70($s2) +.L802421A8: +/* BFFA28 802421A8 8E420074 */ lw $v0, 0x74($s2) +/* BFFA2C 802421AC 2442FFFF */ addiu $v0, $v0, -1 +.L802421B0: +/* BFFA30 802421B0 AE420074 */ sw $v0, 0x74($s2) +/* BFFA34 802421B4 8622008C */ lh $v0, 0x8c($s1) +/* BFFA38 802421B8 14400031 */ bnez $v0, .L80242280 +/* BFFA3C 802421BC 00000000 */ nop +/* BFFA40 802421C0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BFFA44 802421C4 8E0200D0 */ lw $v0, 0xd0($s0) +/* BFFA48 802421C8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BFFA4C 802421CC C4480000 */ lwc1 $f8, ($v0) +/* BFFA50 802421D0 46804220 */ cvt.s.w $f8, $f8 +/* BFFA54 802421D4 44064000 */ mfc1 $a2, $f8 +/* BFFA58 802421D8 C4480008 */ lwc1 $f8, 8($v0) +/* BFFA5C 802421DC 46804220 */ cvt.s.w $f8, $f8 +/* BFFA60 802421E0 44074000 */ mfc1 $a3, $f8 +/* BFFA64 802421E4 0C00A720 */ jal atan2 +/* BFFA68 802421E8 00000000 */ nop +/* BFFA6C 802421EC 8E250018 */ lw $a1, 0x18($s1) +/* BFFA70 802421F0 44060000 */ mfc1 $a2, $f0 +/* BFFA74 802421F4 0220202D */ daddu $a0, $s1, $zero +/* BFFA78 802421F8 0C00EA95 */ jal npc_move_heading +/* BFFA7C 802421FC AE26000C */ sw $a2, 0xc($s1) +/* BFFA80 80242200 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BFFA84 80242204 8E0200D0 */ lw $v0, 0xd0($s0) +/* BFFA88 80242208 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BFFA8C 8024220C C4480000 */ lwc1 $f8, ($v0) +/* BFFA90 80242210 46804220 */ cvt.s.w $f8, $f8 +/* BFFA94 80242214 44064000 */ mfc1 $a2, $f8 +/* BFFA98 80242218 C4480008 */ lwc1 $f8, 8($v0) +/* BFFA9C 8024221C 46804220 */ cvt.s.w $f8, $f8 +/* BFFAA0 80242220 44074000 */ mfc1 $a3, $f8 +/* BFFAA4 80242224 0C00A7B5 */ jal dist2D +/* BFFAA8 80242228 00000000 */ nop +/* BFFAAC 8024222C C6220018 */ lwc1 $f2, 0x18($s1) +/* BFFAB0 80242230 46021080 */ add.s $f2, $f2, $f2 +/* BFFAB4 80242234 4602003E */ c.le.s $f0, $f2 +/* BFFAB8 80242238 00000000 */ nop +/* BFFABC 8024223C 45000010 */ bc1f .L80242280 +/* BFFAC0 80242240 E7A00034 */ swc1 $f0, 0x34($sp) +/* BFFAC4 80242244 0C00A67F */ jal rand_int +/* BFFAC8 80242248 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BFFACC 8024224C 3C035555 */ lui $v1, 0x5555 +/* BFFAD0 80242250 34635556 */ ori $v1, $v1, 0x5556 +/* BFFAD4 80242254 00430018 */ mult $v0, $v1 +/* BFFAD8 80242258 24030002 */ addiu $v1, $zero, 2 +/* BFFADC 8024225C 000227C3 */ sra $a0, $v0, 0x1f +/* BFFAE0 80242260 AE430070 */ sw $v1, 0x70($s2) +/* BFFAE4 80242264 00004010 */ mfhi $t0 +/* BFFAE8 80242268 01042023 */ subu $a0, $t0, $a0 +/* BFFAEC 8024226C 00041840 */ sll $v1, $a0, 1 +/* BFFAF0 80242270 00641821 */ addu $v1, $v1, $a0 +/* BFFAF4 80242274 00431023 */ subu $v0, $v0, $v1 +/* BFFAF8 80242278 24420002 */ addiu $v0, $v0, 2 +/* BFFAFC 8024227C AE420074 */ sw $v0, 0x74($s2) +.L80242280: +/* BFFB00 80242280 8FBF0054 */ lw $ra, 0x54($sp) +/* BFFB04 80242284 8FB40050 */ lw $s4, 0x50($sp) +/* BFFB08 80242288 8FB3004C */ lw $s3, 0x4c($sp) +/* BFFB0C 8024228C 8FB20048 */ lw $s2, 0x48($sp) +/* BFFB10 80242290 8FB10044 */ lw $s1, 0x44($sp) +/* BFFB14 80242294 8FB00040 */ lw $s0, 0x40($sp) +/* BFFB18 80242298 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* BFFB1C 8024229C D7B80068 */ ldc1 $f24, 0x68($sp) +/* BFFB20 802422A0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* BFFB24 802422A4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BFFB28 802422A8 03E00008 */ jr $ra +/* BFFB2C 802422AC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802422B0_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802422B0_BFD880.s new file mode 100644 index 0000000000..8fde1529c8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802422B0_BFD880.s @@ -0,0 +1,166 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422B0_BFFB30 +/* BFFB30 802422B0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* BFFB34 802422B4 AFB40050 */ sw $s4, 0x50($sp) +/* BFFB38 802422B8 0080A02D */ daddu $s4, $a0, $zero +/* BFFB3C 802422BC AFBF0058 */ sw $ra, 0x58($sp) +/* BFFB40 802422C0 AFB50054 */ sw $s5, 0x54($sp) +/* BFFB44 802422C4 AFB3004C */ sw $s3, 0x4c($sp) +/* BFFB48 802422C8 AFB20048 */ sw $s2, 0x48($sp) +/* BFFB4C 802422CC AFB10044 */ sw $s1, 0x44($sp) +/* BFFB50 802422D0 AFB00040 */ sw $s0, 0x40($sp) +/* BFFB54 802422D4 8E920148 */ lw $s2, 0x148($s4) +/* BFFB58 802422D8 86440008 */ lh $a0, 8($s2) +/* BFFB5C 802422DC 0C00EABB */ jal get_npc_unsafe +/* BFFB60 802422E0 00A0802D */ daddu $s0, $a1, $zero +/* BFFB64 802422E4 8E83000C */ lw $v1, 0xc($s4) +/* BFFB68 802422E8 0280202D */ daddu $a0, $s4, $zero +/* BFFB6C 802422EC 8C650000 */ lw $a1, ($v1) +/* BFFB70 802422F0 0C0B1EAF */ jal get_variable +/* BFFB74 802422F4 0040A82D */ daddu $s5, $v0, $zero +/* BFFB78 802422F8 AFA00020 */ sw $zero, 0x20($sp) +/* BFFB7C 802422FC 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFFB80 80242300 8C630030 */ lw $v1, 0x30($v1) +/* BFFB84 80242304 AFA30024 */ sw $v1, 0x24($sp) +/* BFFB88 80242308 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFFB8C 8024230C 8C63001C */ lw $v1, 0x1c($v1) +/* BFFB90 80242310 AFA30028 */ sw $v1, 0x28($sp) +/* BFFB94 80242314 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFFB98 80242318 8C630024 */ lw $v1, 0x24($v1) +/* BFFB9C 8024231C AFA3002C */ sw $v1, 0x2c($sp) +/* BFFBA0 80242320 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFFBA4 80242324 8C630028 */ lw $v1, 0x28($v1) +/* BFFBA8 80242328 27B30020 */ addiu $s3, $sp, 0x20 +/* BFFBAC 8024232C AFA30030 */ sw $v1, 0x30($sp) +/* BFFBB0 80242330 8E4300D0 */ lw $v1, 0xd0($s2) +/* BFFBB4 80242334 3C0142FA */ lui $at, 0x42fa +/* BFFBB8 80242338 44810000 */ mtc1 $at, $f0 +/* BFFBBC 8024233C 8C63002C */ lw $v1, 0x2c($v1) +/* BFFBC0 80242340 0040882D */ daddu $s1, $v0, $zero +/* BFFBC4 80242344 E7A00038 */ swc1 $f0, 0x38($sp) +/* BFFBC8 80242348 A7A0003C */ sh $zero, 0x3c($sp) +/* BFFBCC 8024234C 12000007 */ beqz $s0, .L8024236C +/* BFFBD0 80242350 AFA30034 */ sw $v1, 0x34($sp) +/* BFFBD4 80242354 AE800070 */ sw $zero, 0x70($s4) +/* BFFBD8 80242358 02A0202D */ daddu $a0, $s5, $zero +/* BFFBDC 8024235C 0240282D */ daddu $a1, $s2, $zero +/* BFFBE0 80242360 0280302D */ daddu $a2, $s4, $zero +/* BFFBE4 80242364 0C0904C2 */ jal func_80241308 +/* BFFBE8 80242368 0220382D */ daddu $a3, $s1, $zero +.L8024236C: +/* BFFBEC 8024236C 8E830070 */ lw $v1, 0x70($s4) +/* BFFBF0 80242370 2C620020 */ sltiu $v0, $v1, 0x20 +/* BFFBF4 80242374 10400060 */ beqz $v0, .L802424F8 +/* BFFBF8 80242378 00031080 */ sll $v0, $v1, 2 +/* BFFBFC 8024237C 3C018026 */ lui $at, 0x8026 +/* BFFC00 80242380 00220821 */ addu $at, $at, $v0 +/* BFFC04 80242384 8C223488 */ lw $v0, 0x3488($at) +/* BFFC08 80242388 00400008 */ jr $v0 +/* BFFC0C 8024238C 00000000 */ nop +/* BFFC10 80242390 0280202D */ daddu $a0, $s4, $zero +/* BFFC14 80242394 0220282D */ daddu $a1, $s1, $zero +/* BFFC18 80242398 0C090048 */ jal func_80240120 +/* BFFC1C 8024239C 0260302D */ daddu $a2, $s3, $zero +/* BFFC20 802423A0 0000282D */ daddu $a1, $zero, $zero +/* BFFC24 802423A4 00A0302D */ daddu $a2, $a1, $zero +/* BFFC28 802423A8 AFA00010 */ sw $zero, 0x10($sp) +/* BFFC2C 802423AC AFA00014 */ sw $zero, 0x14($sp) +/* BFFC30 802423B0 AFA00018 */ sw $zero, 0x18($sp) +/* BFFC34 802423B4 8EA40024 */ lw $a0, 0x24($s5) +/* BFFC38 802423B8 0C0B7A25 */ jal func_802DE894 +/* BFFC3C 802423BC 00A0382D */ daddu $a3, $a1, $zero +/* BFFC40 802423C0 0280202D */ daddu $a0, $s4, $zero +/* BFFC44 802423C4 0220282D */ daddu $a1, $s1, $zero +/* BFFC48 802423C8 0C0900B4 */ jal func_802402D0 +/* BFFC4C 802423CC 0260302D */ daddu $a2, $s3, $zero +/* BFFC50 802423D0 080908FE */ j .L802423F8 +/* BFFC54 802423D4 00000000 */ nop +/* BFFC58 802423D8 0280202D */ daddu $a0, $s4, $zero +/* BFFC5C 802423DC 0220282D */ daddu $a1, $s1, $zero +/* BFFC60 802423E0 0C09023E */ jal func_802408F8 +/* BFFC64 802423E4 0260302D */ daddu $a2, $s3, $zero +/* BFFC68 802423E8 0280202D */ daddu $a0, $s4, $zero +/* BFFC6C 802423EC 0220282D */ daddu $a1, $s1, $zero +/* BFFC70 802423F0 0C09026E */ jal func_802409B8 +/* BFFC74 802423F4 0260302D */ daddu $a2, $s3, $zero +.L802423F8: +/* BFFC78 802423F8 8E830070 */ lw $v1, 0x70($s4) +/* BFFC7C 802423FC 2402000C */ addiu $v0, $zero, 0xc +/* BFFC80 80242400 1462003D */ bne $v1, $v0, .L802424F8 +/* BFFC84 80242404 24020006 */ addiu $v0, $zero, 6 +/* BFFC88 80242408 0809093E */ j .L802424F8 +/* BFFC8C 8024240C A6A2008E */ sh $v0, 0x8e($s5) +/* BFFC90 80242410 0280202D */ daddu $a0, $s4, $zero +/* BFFC94 80242414 0220282D */ daddu $a1, $s1, $zero +/* BFFC98 80242418 0C090586 */ jal func_80241618 +/* BFFC9C 8024241C 0260302D */ daddu $a2, $s3, $zero +/* BFFCA0 80242420 8E830070 */ lw $v1, 0x70($s4) +/* BFFCA4 80242424 2402000D */ addiu $v0, $zero, 0xd +/* BFFCA8 80242428 14620033 */ bne $v1, $v0, .L802424F8 +/* BFFCAC 8024242C 00000000 */ nop +/* BFFCB0 80242430 0280202D */ daddu $a0, $s4, $zero +/* BFFCB4 80242434 0220282D */ daddu $a1, $s1, $zero +/* BFFCB8 80242438 0C0905DC */ jal func_80241770 +/* BFFCBC 8024243C 0260302D */ daddu $a2, $s3, $zero +/* BFFCC0 80242440 0809093E */ j .L802424F8 +/* BFFCC4 80242444 00000000 */ nop +/* BFFCC8 80242448 0280202D */ daddu $a0, $s4, $zero +/* BFFCCC 8024244C 0220282D */ daddu $a1, $s1, $zero +/* BFFCD0 80242450 0C09061D */ jal func_80241874 +/* BFFCD4 80242454 0260302D */ daddu $a2, $s3, $zero +/* BFFCD8 80242458 8E830070 */ lw $v1, 0x70($s4) +/* BFFCDC 8024245C 2402000F */ addiu $v0, $zero, 0xf +/* BFFCE0 80242460 14620025 */ bne $v1, $v0, .L802424F8 +/* BFFCE4 80242464 00000000 */ nop +/* BFFCE8 80242468 0280202D */ daddu $a0, $s4, $zero +/* BFFCEC 8024246C 0220282D */ daddu $a1, $s1, $zero +/* BFFCF0 80242470 0C090655 */ jal func_80241954 +/* BFFCF4 80242474 0260302D */ daddu $a2, $s3, $zero +/* BFFCF8 80242478 0809093E */ j .L802424F8 +/* BFFCFC 8024247C 00000000 */ nop +/* BFFD00 80242480 0280202D */ daddu $a0, $s4, $zero +/* BFFD04 80242484 0220282D */ daddu $a1, $s1, $zero +/* BFFD08 80242488 0C0906FC */ jal func_80241BF0 +/* BFFD0C 8024248C 0260302D */ daddu $a2, $s3, $zero +/* BFFD10 80242490 0280202D */ daddu $a0, $s4, $zero +/* BFFD14 80242494 0220282D */ daddu $a1, $s1, $zero +/* BFFD18 80242498 0C09072A */ jal func_80241CA8 +/* BFFD1C 8024249C 0260302D */ daddu $a2, $s3, $zero +/* BFFD20 802424A0 0809093E */ j .L802424F8 +/* BFFD24 802424A4 00000000 */ nop +/* BFFD28 802424A8 0280202D */ daddu $a0, $s4, $zero +/* BFFD2C 802424AC 0220282D */ daddu $a1, $s1, $zero +/* BFFD30 802424B0 0C09078A */ jal func_80241E28 +/* BFFD34 802424B4 0260302D */ daddu $a2, $s3, $zero +/* BFFD38 802424B8 0809093E */ j .L802424F8 +/* BFFD3C 802424BC 00000000 */ nop +/* BFFD40 802424C0 0280202D */ daddu $a0, $s4, $zero +/* BFFD44 802424C4 0220282D */ daddu $a1, $s1, $zero +/* BFFD48 802424C8 0C09079C */ jal func_80241E70 +/* BFFD4C 802424CC 0260302D */ daddu $a2, $s3, $zero +/* BFFD50 802424D0 0809093E */ j .L802424F8 +/* BFFD54 802424D4 00000000 */ nop +/* BFFD58 802424D8 0280202D */ daddu $a0, $s4, $zero +/* BFFD5C 802424DC 0220282D */ daddu $a1, $s1, $zero +/* BFFD60 802424E0 0C0907BC */ jal func_80241EF0 +/* BFFD64 802424E4 0260302D */ daddu $a2, $s3, $zero +/* BFFD68 802424E8 0280202D */ daddu $a0, $s4, $zero +/* BFFD6C 802424EC 0220282D */ daddu $a1, $s1, $zero +/* BFFD70 802424F0 0C0907E6 */ jal func_80241F98 +/* BFFD74 802424F4 0260302D */ daddu $a2, $s3, $zero +.L802424F8: +/* BFFD78 802424F8 8E820070 */ lw $v0, 0x70($s4) +/* BFFD7C 802424FC 8FBF0058 */ lw $ra, 0x58($sp) +/* BFFD80 80242500 8FB50054 */ lw $s5, 0x54($sp) +/* BFFD84 80242504 8FB40050 */ lw $s4, 0x50($sp) +/* BFFD88 80242508 8FB3004C */ lw $s3, 0x4c($sp) +/* BFFD8C 8024250C 8FB20048 */ lw $s2, 0x48($sp) +/* BFFD90 80242510 8FB10044 */ lw $s1, 0x44($sp) +/* BFFD94 80242514 8FB00040 */ lw $s0, 0x40($sp) +/* BFFD98 80242518 38420064 */ xori $v0, $v0, 0x64 +/* BFFD9C 8024251C 2C420001 */ sltiu $v0, $v0, 1 +/* BFFDA0 80242520 00021040 */ sll $v0, $v0, 1 +/* BFFDA4 80242524 03E00008 */ jr $ra +/* BFFDA8 80242528 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_8024252C.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024252C.s new file mode 100644 index 0000000000..596e069215 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024252C.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024252C +/* BFFDAC 8024252C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BFFDB0 80242530 AFB50024 */ sw $s5, 0x24($sp) +/* BFFDB4 80242534 0080A82D */ daddu $s5, $a0, $zero +/* BFFDB8 80242538 AFBF002C */ sw $ra, 0x2c($sp) +/* BFFDBC 8024253C AFB60028 */ sw $s6, 0x28($sp) +/* BFFDC0 80242540 AFB40020 */ sw $s4, 0x20($sp) +/* BFFDC4 80242544 AFB3001C */ sw $s3, 0x1c($sp) +/* BFFDC8 80242548 AFB20018 */ sw $s2, 0x18($sp) +/* BFFDCC 8024254C AFB10014 */ sw $s1, 0x14($sp) +/* BFFDD0 80242550 AFB00010 */ sw $s0, 0x10($sp) +/* BFFDD4 80242554 F7B80040 */ sdc1 $f24, 0x40($sp) +/* BFFDD8 80242558 F7B60038 */ sdc1 $f22, 0x38($sp) +/* BFFDDC 8024255C F7B40030 */ sdc1 $f20, 0x30($sp) +/* BFFDE0 80242560 8EB30148 */ lw $s3, 0x148($s5) +/* BFFDE4 80242564 86640008 */ lh $a0, 8($s3) +/* BFFDE8 80242568 0C00EABB */ jal get_npc_unsafe +/* BFFDEC 8024256C 00A0B02D */ daddu $s6, $a1, $zero +/* BFFDF0 80242570 0040A02D */ daddu $s4, $v0, $zero +/* BFFDF4 80242574 AEA00074 */ sw $zero, 0x74($s5) +/* BFFDF8 80242578 C6980038 */ lwc1 $f24, 0x38($s4) +/* BFFDFC 8024257C C6960040 */ lwc1 $f22, 0x40($s4) +/* BFFE00 80242580 0000902D */ daddu $s2, $zero, $zero +/* BFFE04 80242584 AEA00078 */ sw $zero, 0x78($s5) +/* BFFE08 80242588 8E6300D0 */ lw $v1, 0xd0($s3) +/* BFFE0C 8024258C 8C620000 */ lw $v0, ($v1) +/* BFFE10 80242590 3C0146FF */ lui $at, 0x46ff +/* BFFE14 80242594 3421FE00 */ ori $at, $at, 0xfe00 +/* BFFE18 80242598 4481A000 */ mtc1 $at, $f20 +/* BFFE1C 8024259C 18400018 */ blez $v0, .L80242600 +/* BFFE20 802425A0 0240802D */ daddu $s0, $s2, $zero +/* BFFE24 802425A4 0240882D */ daddu $s1, $s2, $zero +.L802425A8: +/* BFFE28 802425A8 02231021 */ addu $v0, $s1, $v1 +/* BFFE2C 802425AC 4600C306 */ mov.s $f12, $f24 +/* BFFE30 802425B0 C4440004 */ lwc1 $f4, 4($v0) +/* BFFE34 802425B4 46802120 */ cvt.s.w $f4, $f4 +/* BFFE38 802425B8 44062000 */ mfc1 $a2, $f4 +/* BFFE3C 802425BC C444000C */ lwc1 $f4, 0xc($v0) +/* BFFE40 802425C0 46802120 */ cvt.s.w $f4, $f4 +/* BFFE44 802425C4 44072000 */ mfc1 $a3, $f4 +/* BFFE48 802425C8 0C00A7B5 */ jal dist2D +/* BFFE4C 802425CC 4600B386 */ mov.s $f14, $f22 +/* BFFE50 802425D0 4614003C */ c.lt.s $f0, $f20 +/* BFFE54 802425D4 00000000 */ nop +/* BFFE58 802425D8 45000003 */ bc1f .L802425E8 +/* BFFE5C 802425DC 2631000C */ addiu $s1, $s1, 0xc +/* BFFE60 802425E0 46000506 */ mov.s $f20, $f0 +/* BFFE64 802425E4 AEB20078 */ sw $s2, 0x78($s5) +.L802425E8: +/* BFFE68 802425E8 8E6300D0 */ lw $v1, 0xd0($s3) +/* BFFE6C 802425EC 26100001 */ addiu $s0, $s0, 1 +/* BFFE70 802425F0 8C620000 */ lw $v0, ($v1) +/* BFFE74 802425F4 0202102A */ slt $v0, $s0, $v0 +/* BFFE78 802425F8 1440FFEB */ bnez $v0, .L802425A8 +/* BFFE7C 802425FC 26520001 */ addiu $s2, $s2, 1 +.L80242600: +/* BFFE80 80242600 8E6200CC */ lw $v0, 0xcc($s3) +/* BFFE84 80242604 8C420004 */ lw $v0, 4($v0) +/* BFFE88 80242608 AE820028 */ sw $v0, 0x28($s4) +/* BFFE8C 8024260C 8E6200D0 */ lw $v0, 0xd0($s3) +/* BFFE90 80242610 8C42007C */ lw $v0, 0x7c($v0) +/* BFFE94 80242614 04410004 */ bgez $v0, .L80242628 +/* BFFE98 80242618 00000000 */ nop +/* BFFE9C 8024261C C6C00000 */ lwc1 $f0, ($s6) +/* BFFEA0 80242620 08090992 */ j .L80242648 +/* BFFEA4 80242624 E6800018 */ swc1 $f0, 0x18($s4) +.L80242628: +/* BFFEA8 80242628 3C018026 */ lui $at, 0x8026 +/* BFFEAC 8024262C D4223510 */ ldc1 $f2, 0x3510($at) +/* BFFEB0 80242630 44820000 */ mtc1 $v0, $f0 +/* BFFEB4 80242634 00000000 */ nop +/* BFFEB8 80242638 46800021 */ cvt.d.w $f0, $f0 +/* BFFEBC 8024263C 46220003 */ div.d $f0, $f0, $f2 +/* BFFEC0 80242640 46200020 */ cvt.s.d $f0, $f0 +/* BFFEC4 80242644 E6800018 */ swc1 $f0, 0x18($s4) +.L80242648: +/* BFFEC8 80242648 24020001 */ addiu $v0, $zero, 1 +/* BFFECC 8024264C AEA20070 */ sw $v0, 0x70($s5) +/* BFFED0 80242650 8FBF002C */ lw $ra, 0x2c($sp) +/* BFFED4 80242654 8FB60028 */ lw $s6, 0x28($sp) +/* BFFED8 80242658 8FB50024 */ lw $s5, 0x24($sp) +/* BFFEDC 8024265C 8FB40020 */ lw $s4, 0x20($sp) +/* BFFEE0 80242660 8FB3001C */ lw $s3, 0x1c($sp) +/* BFFEE4 80242664 8FB20018 */ lw $s2, 0x18($sp) +/* BFFEE8 80242668 8FB10014 */ lw $s1, 0x14($sp) +/* BFFEEC 8024266C 8FB00010 */ lw $s0, 0x10($sp) +/* BFFEF0 80242670 D7B80040 */ ldc1 $f24, 0x40($sp) +/* BFFEF4 80242674 D7B60038 */ ldc1 $f22, 0x38($sp) +/* BFFEF8 80242678 D7B40030 */ ldc1 $f20, 0x30($sp) +/* BFFEFC 8024267C 03E00008 */ jr $ra +/* BFFF00 80242680 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242684.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242684.s new file mode 100644 index 0000000000..f8d3416f4c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242684.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242684 +/* BFFF04 80242684 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BFFF08 80242688 AFB20038 */ sw $s2, 0x38($sp) +/* BFFF0C 8024268C 0080902D */ daddu $s2, $a0, $zero +/* BFFF10 80242690 AFBF0044 */ sw $ra, 0x44($sp) +/* BFFF14 80242694 AFB40040 */ sw $s4, 0x40($sp) +/* BFFF18 80242698 AFB3003C */ sw $s3, 0x3c($sp) +/* BFFF1C 8024269C AFB10034 */ sw $s1, 0x34($sp) +/* BFFF20 802426A0 AFB00030 */ sw $s0, 0x30($sp) +/* BFFF24 802426A4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BFFF28 802426A8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* BFFF2C 802426AC 8E510148 */ lw $s1, 0x148($s2) +/* BFFF30 802426B0 00A0982D */ daddu $s3, $a1, $zero +/* BFFF34 802426B4 86240008 */ lh $a0, 8($s1) +/* BFFF38 802426B8 0C00EABB */ jal get_npc_unsafe +/* BFFF3C 802426BC 00C0A02D */ daddu $s4, $a2, $zero +/* BFFF40 802426C0 8E630014 */ lw $v1, 0x14($s3) +/* BFFF44 802426C4 04600030 */ bltz $v1, .L80242788 +/* BFFF48 802426C8 0040802D */ daddu $s0, $v0, $zero +/* BFFF4C 802426CC 8E420074 */ lw $v0, 0x74($s2) +/* BFFF50 802426D0 1C40002C */ bgtz $v0, .L80242784 +/* BFFF54 802426D4 2442FFFF */ addiu $v0, $v0, -1 +/* BFFF58 802426D8 0280202D */ daddu $a0, $s4, $zero +/* BFFF5C 802426DC AE430074 */ sw $v1, 0x74($s2) +/* BFFF60 802426E0 AFA00010 */ sw $zero, 0x10($sp) +/* BFFF64 802426E4 8E66000C */ lw $a2, 0xc($s3) +/* BFFF68 802426E8 8E670010 */ lw $a3, 0x10($s3) +/* BFFF6C 802426EC 0C01242D */ jal func_800490B4 +/* BFFF70 802426F0 0220282D */ daddu $a1, $s1, $zero +/* BFFF74 802426F4 10400021 */ beqz $v0, .L8024277C +/* BFFF78 802426F8 0000202D */ daddu $a0, $zero, $zero +/* BFFF7C 802426FC 0200282D */ daddu $a1, $s0, $zero +/* BFFF80 80242700 0000302D */ daddu $a2, $zero, $zero +/* BFFF84 80242704 860300A8 */ lh $v1, 0xa8($s0) +/* BFFF88 80242708 3C013F80 */ lui $at, 0x3f80 +/* BFFF8C 8024270C 44810000 */ mtc1 $at, $f0 +/* BFFF90 80242710 3C014000 */ lui $at, 0x4000 +/* BFFF94 80242714 44811000 */ mtc1 $at, $f2 +/* BFFF98 80242718 3C01C1A0 */ lui $at, 0xc1a0 +/* BFFF9C 8024271C 44812000 */ mtc1 $at, $f4 +/* BFFFA0 80242720 2402000F */ addiu $v0, $zero, 0xf +/* BFFFA4 80242724 AFA2001C */ sw $v0, 0x1c($sp) +/* BFFFA8 80242728 44833000 */ mtc1 $v1, $f6 +/* BFFFAC 8024272C 00000000 */ nop +/* BFFFB0 80242730 468031A0 */ cvt.s.w $f6, $f6 +/* BFFFB4 80242734 44073000 */ mfc1 $a3, $f6 +/* BFFFB8 80242738 27A20028 */ addiu $v0, $sp, 0x28 +/* BFFFBC 8024273C AFA20020 */ sw $v0, 0x20($sp) +/* BFFFC0 80242740 E7A00010 */ swc1 $f0, 0x10($sp) +/* BFFFC4 80242744 E7A20014 */ swc1 $f2, 0x14($sp) +/* BFFFC8 80242748 0C01BFA4 */ jal fx_emote +/* BFFFCC 8024274C E7A40018 */ swc1 $f4, 0x18($sp) +/* BFFFD0 80242750 0200202D */ daddu $a0, $s0, $zero +/* BFFFD4 80242754 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BFFFD8 80242758 0C012530 */ jal func_800494C0 +/* BFFFDC 8024275C 3C060020 */ lui $a2, 0x20 +/* BFFFE0 80242760 8E220018 */ lw $v0, 0x18($s1) +/* BFFFE4 80242764 9442002A */ lhu $v0, 0x2a($v0) +/* BFFFE8 80242768 30420001 */ andi $v0, $v0, 1 +/* BFFFEC 8024276C 14400064 */ bnez $v0, .L80242900 +/* BFFFF0 80242770 2402000A */ addiu $v0, $zero, 0xa +/* BFFFF4 80242774 08090A40 */ j .L80242900 +/* BFFFF8 80242778 2402000C */ addiu $v0, $zero, 0xc +.L8024277C: +/* BFFFFC 8024277C 8E420074 */ lw $v0, 0x74($s2) +/* C00000 80242780 2442FFFF */ addiu $v0, $v0, -1 +.L80242784: +/* C00004 80242784 AE420074 */ sw $v0, 0x74($s2) +.L80242788: +/* C00008 80242788 8602008C */ lh $v0, 0x8c($s0) +/* C0000C 8024278C 1440005D */ bnez $v0, .L80242904 +/* C00010 80242790 00000000 */ nop +/* C00014 80242794 C6000018 */ lwc1 $f0, 0x18($s0) +/* C00018 80242798 3C014010 */ lui $at, 0x4010 +/* C0001C 8024279C 44811800 */ mtc1 $at, $f3 +/* C00020 802427A0 44801000 */ mtc1 $zero, $f2 +/* C00024 802427A4 46000021 */ cvt.d.s $f0, $f0 +/* C00028 802427A8 4622003C */ c.lt.d $f0, $f2 +/* C0002C 802427AC 00000000 */ nop +/* C00030 802427B0 45000003 */ bc1f .L802427C0 +/* C00034 802427B4 0200202D */ daddu $a0, $s0, $zero +/* C00038 802427B8 080909F1 */ j .L802427C4 +/* C0003C 802427BC 0000282D */ daddu $a1, $zero, $zero +.L802427C0: +/* C00040 802427C0 24050001 */ addiu $a1, $zero, 1 +.L802427C4: +/* C00044 802427C4 0C00F598 */ jal func_8003D660 +/* C00048 802427C8 00000000 */ nop +/* C0004C 802427CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C00050 802427D0 8E430078 */ lw $v1, 0x78($s2) +/* C00054 802427D4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C00058 802427D8 00031040 */ sll $v0, $v1, 1 +/* C0005C 802427DC 00431021 */ addu $v0, $v0, $v1 +/* C00060 802427E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C00064 802427E4 00021080 */ sll $v0, $v0, 2 +/* C00068 802427E8 00431021 */ addu $v0, $v0, $v1 +/* C0006C 802427EC C4560004 */ lwc1 $f22, 4($v0) +/* C00070 802427F0 4680B5A0 */ cvt.s.w $f22, $f22 +/* C00074 802427F4 C454000C */ lwc1 $f20, 0xc($v0) +/* C00078 802427F8 4680A520 */ cvt.s.w $f20, $f20 +/* C0007C 802427FC 4406B000 */ mfc1 $a2, $f22 +/* C00080 80242800 4407A000 */ mfc1 $a3, $f20 +/* C00084 80242804 0C00A720 */ jal atan2 +/* C00088 80242808 00000000 */ nop +/* C0008C 8024280C 8E050018 */ lw $a1, 0x18($s0) +/* C00090 80242810 44060000 */ mfc1 $a2, $f0 +/* C00094 80242814 0200202D */ daddu $a0, $s0, $zero +/* C00098 80242818 0C00EA95 */ jal npc_move_heading +/* C0009C 8024281C AE06000C */ sw $a2, 0xc($s0) +/* C000A0 80242820 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C000A4 80242824 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C000A8 80242828 4406B000 */ mfc1 $a2, $f22 +/* C000AC 8024282C 4407A000 */ mfc1 $a3, $f20 +/* C000B0 80242830 0C00A7B5 */ jal dist2D +/* C000B4 80242834 00000000 */ nop +/* C000B8 80242838 C6020018 */ lwc1 $f2, 0x18($s0) +/* C000BC 8024283C 4602003E */ c.le.s $f0, $f2 +/* C000C0 80242840 00000000 */ nop +/* C000C4 80242844 4500002F */ bc1f .L80242904 +/* C000C8 80242848 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C000CC 8024284C 24020002 */ addiu $v0, $zero, 2 +/* C000D0 80242850 0C00A67F */ jal rand_int +/* C000D4 80242854 AE420070 */ sw $v0, 0x70($s2) +/* C000D8 80242858 3C035555 */ lui $v1, 0x5555 +/* C000DC 8024285C 34635556 */ ori $v1, $v1, 0x5556 +/* C000E0 80242860 00430018 */ mult $v0, $v1 +/* C000E4 80242864 000227C3 */ sra $a0, $v0, 0x1f +/* C000E8 80242868 00004010 */ mfhi $t0 +/* C000EC 8024286C 01042023 */ subu $a0, $t0, $a0 +/* C000F0 80242870 00041840 */ sll $v1, $a0, 1 +/* C000F4 80242874 00641821 */ addu $v1, $v1, $a0 +/* C000F8 80242878 00431023 */ subu $v0, $v0, $v1 +/* C000FC 8024287C 24430002 */ addiu $v1, $v0, 2 +/* C00100 80242880 AE430074 */ sw $v1, 0x74($s2) +/* C00104 80242884 8E62002C */ lw $v0, 0x2c($s3) +/* C00108 80242888 18400009 */ blez $v0, .L802428B0 +/* C0010C 8024288C 24020004 */ addiu $v0, $zero, 4 +/* C00110 80242890 8E620004 */ lw $v0, 4($s3) +/* C00114 80242894 18400006 */ blez $v0, .L802428B0 +/* C00118 80242898 24020004 */ addiu $v0, $zero, 4 +/* C0011C 8024289C 8E620008 */ lw $v0, 8($s3) +/* C00120 802428A0 18400003 */ blez $v0, .L802428B0 +/* C00124 802428A4 24020004 */ addiu $v0, $zero, 4 +/* C00128 802428A8 14600002 */ bnez $v1, .L802428B4 +/* C0012C 802428AC 00000000 */ nop +.L802428B0: +/* C00130 802428B0 AE420070 */ sw $v0, 0x70($s2) +.L802428B4: +/* C00134 802428B4 0C00A67F */ jal rand_int +/* C00138 802428B8 24042710 */ addiu $a0, $zero, 0x2710 +/* C0013C 802428BC 3C0351EB */ lui $v1, 0x51eb +/* C00140 802428C0 3463851F */ ori $v1, $v1, 0x851f +/* C00144 802428C4 00430018 */ mult $v0, $v1 +/* C00148 802428C8 00021FC3 */ sra $v1, $v0, 0x1f +/* C0014C 802428CC 00004010 */ mfhi $t0 +/* C00150 802428D0 00082143 */ sra $a0, $t0, 5 +/* C00154 802428D4 00832023 */ subu $a0, $a0, $v1 +/* C00158 802428D8 00041840 */ sll $v1, $a0, 1 +/* C0015C 802428DC 00641821 */ addu $v1, $v1, $a0 +/* C00160 802428E0 000318C0 */ sll $v1, $v1, 3 +/* C00164 802428E4 00641821 */ addu $v1, $v1, $a0 +/* C00168 802428E8 00031880 */ sll $v1, $v1, 2 +/* C0016C 802428EC 8E640004 */ lw $a0, 4($s3) +/* C00170 802428F0 00431023 */ subu $v0, $v0, $v1 +/* C00174 802428F4 0044102A */ slt $v0, $v0, $a0 +/* C00178 802428F8 10400002 */ beqz $v0, .L80242904 +/* C0017C 802428FC 24020004 */ addiu $v0, $zero, 4 +.L80242900: +/* C00180 80242900 AE420070 */ sw $v0, 0x70($s2) +.L80242904: +/* C00184 80242904 8FBF0044 */ lw $ra, 0x44($sp) +/* C00188 80242908 8FB40040 */ lw $s4, 0x40($sp) +/* C0018C 8024290C 8FB3003C */ lw $s3, 0x3c($sp) +/* C00190 80242910 8FB20038 */ lw $s2, 0x38($sp) +/* C00194 80242914 8FB10034 */ lw $s1, 0x34($sp) +/* C00198 80242918 8FB00030 */ lw $s0, 0x30($sp) +/* C0019C 8024291C D7B60050 */ ldc1 $f22, 0x50($sp) +/* C001A0 80242920 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C001A4 80242924 03E00008 */ jr $ra +/* C001A8 80242928 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_8024292C.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024292C.s new file mode 100644 index 0000000000..3707e0789e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_8024292C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024292C +/* C001AC 8024292C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C001B0 80242930 AFB3001C */ sw $s3, 0x1c($sp) +/* C001B4 80242934 0080982D */ daddu $s3, $a0, $zero +/* C001B8 80242938 AFBF0020 */ sw $ra, 0x20($sp) +/* C001BC 8024293C AFB20018 */ sw $s2, 0x18($sp) +/* C001C0 80242940 AFB10014 */ sw $s1, 0x14($sp) +/* C001C4 80242944 AFB00010 */ sw $s0, 0x10($sp) +/* C001C8 80242948 8E720148 */ lw $s2, 0x148($s3) +/* C001CC 8024294C 86440008 */ lh $a0, 8($s2) +/* C001D0 80242950 0C00EABB */ jal get_npc_unsafe +/* C001D4 80242954 00A0882D */ daddu $s1, $a1, $zero +/* C001D8 80242958 8E240008 */ lw $a0, 8($s1) +/* C001DC 8024295C 0040802D */ daddu $s0, $v0, $zero +/* C001E0 80242960 00041FC2 */ srl $v1, $a0, 0x1f +/* C001E4 80242964 00832021 */ addu $a0, $a0, $v1 +/* C001E8 80242968 00042043 */ sra $a0, $a0, 1 +/* C001EC 8024296C 0C00A67F */ jal rand_int +/* C001F0 80242970 24840001 */ addiu $a0, $a0, 1 +/* C001F4 80242974 8E230008 */ lw $v1, 8($s1) +/* C001F8 80242978 240400B4 */ addiu $a0, $zero, 0xb4 +/* C001FC 8024297C 00032FC2 */ srl $a1, $v1, 0x1f +/* C00200 80242980 00651821 */ addu $v1, $v1, $a1 +/* C00204 80242984 00031843 */ sra $v1, $v1, 1 +/* C00208 80242988 00621821 */ addu $v1, $v1, $v0 +/* C0020C 8024298C 0C00A67F */ jal rand_int +/* C00210 80242990 A603008E */ sh $v1, 0x8e($s0) +/* C00214 80242994 C60C000C */ lwc1 $f12, 0xc($s0) +/* C00218 80242998 44820000 */ mtc1 $v0, $f0 +/* C0021C 8024299C 00000000 */ nop +/* C00220 802429A0 46800020 */ cvt.s.w $f0, $f0 +/* C00224 802429A4 46006300 */ add.s $f12, $f12, $f0 +/* C00228 802429A8 3C0142B4 */ lui $at, 0x42b4 +/* C0022C 802429AC 44810000 */ mtc1 $at, $f0 +/* C00230 802429B0 0C00A6C9 */ jal clamp_angle +/* C00234 802429B4 46006301 */ sub.s $f12, $f12, $f0 +/* C00238 802429B8 E600000C */ swc1 $f0, 0xc($s0) +/* C0023C 802429BC 8E4200CC */ lw $v0, 0xcc($s2) +/* C00240 802429C0 8C420000 */ lw $v0, ($v0) +/* C00244 802429C4 AE020028 */ sw $v0, 0x28($s0) +/* C00248 802429C8 24020003 */ addiu $v0, $zero, 3 +/* C0024C 802429CC AE620070 */ sw $v0, 0x70($s3) +/* C00250 802429D0 8FBF0020 */ lw $ra, 0x20($sp) +/* C00254 802429D4 8FB3001C */ lw $s3, 0x1c($sp) +/* C00258 802429D8 8FB20018 */ lw $s2, 0x18($sp) +/* C0025C 802429DC 8FB10014 */ lw $s1, 0x14($sp) +/* C00260 802429E0 8FB00010 */ lw $s0, 0x10($sp) +/* C00264 802429E4 03E00008 */ jr $ra +/* C00268 802429E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802429EC.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802429EC.s new file mode 100644 index 0000000000..9710b03ea9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802429EC.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429EC +/* C0026C 802429EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C00270 802429F0 AFB40040 */ sw $s4, 0x40($sp) +/* C00274 802429F4 0080A02D */ daddu $s4, $a0, $zero +/* C00278 802429F8 AFBF0044 */ sw $ra, 0x44($sp) +/* C0027C 802429FC AFB3003C */ sw $s3, 0x3c($sp) +/* C00280 80242A00 AFB20038 */ sw $s2, 0x38($sp) +/* C00284 80242A04 AFB10034 */ sw $s1, 0x34($sp) +/* C00288 80242A08 AFB00030 */ sw $s0, 0x30($sp) +/* C0028C 80242A0C 8E910148 */ lw $s1, 0x148($s4) +/* C00290 80242A10 00A0902D */ daddu $s2, $a1, $zero +/* C00294 80242A14 86240008 */ lh $a0, 8($s1) +/* C00298 80242A18 0C00EABB */ jal get_npc_unsafe +/* C0029C 80242A1C 00C0982D */ daddu $s3, $a2, $zero +/* C002A0 80242A20 8E430014 */ lw $v1, 0x14($s2) +/* C002A4 80242A24 04600031 */ bltz $v1, .L80242AEC +/* C002A8 80242A28 0040802D */ daddu $s0, $v0, $zero +/* C002AC 80242A2C 0260202D */ daddu $a0, $s3, $zero +/* C002B0 80242A30 AFA00010 */ sw $zero, 0x10($sp) +/* C002B4 80242A34 8E460024 */ lw $a2, 0x24($s2) +/* C002B8 80242A38 8E470028 */ lw $a3, 0x28($s2) +/* C002BC 80242A3C 0C01242D */ jal func_800490B4 +/* C002C0 80242A40 0220282D */ daddu $a1, $s1, $zero +/* C002C4 80242A44 10400029 */ beqz $v0, .L80242AEC +/* C002C8 80242A48 0000202D */ daddu $a0, $zero, $zero +/* C002CC 80242A4C 0200282D */ daddu $a1, $s0, $zero +/* C002D0 80242A50 0000302D */ daddu $a2, $zero, $zero +/* C002D4 80242A54 860300A8 */ lh $v1, 0xa8($s0) +/* C002D8 80242A58 3C013F80 */ lui $at, 0x3f80 +/* C002DC 80242A5C 44810000 */ mtc1 $at, $f0 +/* C002E0 80242A60 3C014000 */ lui $at, 0x4000 +/* C002E4 80242A64 44811000 */ mtc1 $at, $f2 +/* C002E8 80242A68 3C01C1A0 */ lui $at, 0xc1a0 +/* C002EC 80242A6C 44812000 */ mtc1 $at, $f4 +/* C002F0 80242A70 2402000F */ addiu $v0, $zero, 0xf +/* C002F4 80242A74 AFA2001C */ sw $v0, 0x1c($sp) +/* C002F8 80242A78 44833000 */ mtc1 $v1, $f6 +/* C002FC 80242A7C 00000000 */ nop +/* C00300 80242A80 468031A0 */ cvt.s.w $f6, $f6 +/* C00304 80242A84 44073000 */ mfc1 $a3, $f6 +/* C00308 80242A88 27A20028 */ addiu $v0, $sp, 0x28 +/* C0030C 80242A8C AFA20020 */ sw $v0, 0x20($sp) +/* C00310 80242A90 E7A00010 */ swc1 $f0, 0x10($sp) +/* C00314 80242A94 E7A20014 */ swc1 $f2, 0x14($sp) +/* C00318 80242A98 0C01BFA4 */ jal fx_emote +/* C0031C 80242A9C E7A40018 */ swc1 $f4, 0x18($sp) +/* C00320 80242AA0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C00324 80242AA4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C00328 80242AA8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C0032C 80242AAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* C00330 80242AB0 8C460028 */ lw $a2, 0x28($v0) +/* C00334 80242AB4 0C00A720 */ jal atan2 +/* C00338 80242AB8 8C470030 */ lw $a3, 0x30($v0) +/* C0033C 80242ABC 0200202D */ daddu $a0, $s0, $zero +/* C00340 80242AC0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C00344 80242AC4 3C060020 */ lui $a2, 0x20 +/* C00348 80242AC8 0C012530 */ jal func_800494C0 +/* C0034C 80242ACC E480000C */ swc1 $f0, 0xc($a0) +/* C00350 80242AD0 8E220018 */ lw $v0, 0x18($s1) +/* C00354 80242AD4 9442002A */ lhu $v0, 0x2a($v0) +/* C00358 80242AD8 30420001 */ andi $v0, $v0, 1 +/* C0035C 80242ADC 14400029 */ bnez $v0, .L80242B84 +/* C00360 80242AE0 2402000A */ addiu $v0, $zero, 0xa +/* C00364 80242AE4 08090AE1 */ j .L80242B84 +/* C00368 80242AE8 2402000C */ addiu $v0, $zero, 0xc +.L80242AEC: +/* C0036C 80242AEC 8602008C */ lh $v0, 0x8c($s0) +/* C00370 80242AF0 14400025 */ bnez $v0, .L80242B88 +/* C00374 80242AF4 00000000 */ nop +/* C00378 80242AF8 9602008E */ lhu $v0, 0x8e($s0) +/* C0037C 80242AFC 2442FFFF */ addiu $v0, $v0, -1 +/* C00380 80242B00 A602008E */ sh $v0, 0x8e($s0) +/* C00384 80242B04 00021400 */ sll $v0, $v0, 0x10 +/* C00388 80242B08 1440001F */ bnez $v0, .L80242B88 +/* C0038C 80242B0C 00000000 */ nop +/* C00390 80242B10 8E820074 */ lw $v0, 0x74($s4) +/* C00394 80242B14 2442FFFF */ addiu $v0, $v0, -1 +/* C00398 80242B18 10400019 */ beqz $v0, .L80242B80 +/* C0039C 80242B1C AE820074 */ sw $v0, 0x74($s4) +/* C003A0 80242B20 8E220018 */ lw $v0, 0x18($s1) +/* C003A4 80242B24 9442002A */ lhu $v0, 0x2a($v0) +/* C003A8 80242B28 30420010 */ andi $v0, $v0, 0x10 +/* C003AC 80242B2C 14400007 */ bnez $v0, .L80242B4C +/* C003B0 80242B30 00000000 */ nop +/* C003B4 80242B34 C600000C */ lwc1 $f0, 0xc($s0) +/* C003B8 80242B38 3C014334 */ lui $at, 0x4334 +/* C003BC 80242B3C 44816000 */ mtc1 $at, $f12 +/* C003C0 80242B40 0C00A6C9 */ jal clamp_angle +/* C003C4 80242B44 460C0300 */ add.s $f12, $f0, $f12 +/* C003C8 80242B48 E600000C */ swc1 $f0, 0xc($s0) +.L80242B4C: +/* C003CC 80242B4C 8E440008 */ lw $a0, 8($s2) +/* C003D0 80242B50 000417C2 */ srl $v0, $a0, 0x1f +/* C003D4 80242B54 00822021 */ addu $a0, $a0, $v0 +/* C003D8 80242B58 00042043 */ sra $a0, $a0, 1 +/* C003DC 80242B5C 0C00A67F */ jal rand_int +/* C003E0 80242B60 24840001 */ addiu $a0, $a0, 1 +/* C003E4 80242B64 8E430008 */ lw $v1, 8($s2) +/* C003E8 80242B68 000327C2 */ srl $a0, $v1, 0x1f +/* C003EC 80242B6C 00641821 */ addu $v1, $v1, $a0 +/* C003F0 80242B70 00031843 */ sra $v1, $v1, 1 +/* C003F4 80242B74 00621821 */ addu $v1, $v1, $v0 +/* C003F8 80242B78 08090AE2 */ j .L80242B88 +/* C003FC 80242B7C A603008E */ sh $v1, 0x8e($s0) +.L80242B80: +/* C00400 80242B80 24020004 */ addiu $v0, $zero, 4 +.L80242B84: +/* C00404 80242B84 AE820070 */ sw $v0, 0x70($s4) +.L80242B88: +/* C00408 80242B88 8FBF0044 */ lw $ra, 0x44($sp) +/* C0040C 80242B8C 8FB40040 */ lw $s4, 0x40($sp) +/* C00410 80242B90 8FB3003C */ lw $s3, 0x3c($sp) +/* C00414 80242B94 8FB20038 */ lw $s2, 0x38($sp) +/* C00418 80242B98 8FB10034 */ lw $s1, 0x34($sp) +/* C0041C 80242B9C 8FB00030 */ lw $s0, 0x30($sp) +/* C00420 80242BA0 03E00008 */ jr $ra +/* C00424 80242BA4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242BA8_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242BA8_BFD880.s new file mode 100644 index 0000000000..13c6335571 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242BA8_BFD880.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BA8_C00428 +/* C00428 80242BA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C0042C 80242BAC AFB10014 */ sw $s1, 0x14($sp) +/* C00430 80242BB0 0080882D */ daddu $s1, $a0, $zero +/* C00434 80242BB4 AFBF001C */ sw $ra, 0x1c($sp) +/* C00438 80242BB8 AFB20018 */ sw $s2, 0x18($sp) +/* C0043C 80242BBC AFB00010 */ sw $s0, 0x10($sp) +/* C00440 80242BC0 8E300148 */ lw $s0, 0x148($s1) +/* C00444 80242BC4 86040008 */ lh $a0, 8($s0) +/* C00448 80242BC8 0C00EABB */ jal get_npc_unsafe +/* C0044C 80242BCC 00A0902D */ daddu $s2, $a1, $zero +/* C00450 80242BD0 8E230078 */ lw $v1, 0x78($s1) +/* C00454 80242BD4 24630001 */ addiu $v1, $v1, 1 +/* C00458 80242BD8 AE230078 */ sw $v1, 0x78($s1) +/* C0045C 80242BDC 8E0400D0 */ lw $a0, 0xd0($s0) +/* C00460 80242BE0 8C840000 */ lw $a0, ($a0) +/* C00464 80242BE4 0064182A */ slt $v1, $v1, $a0 +/* C00468 80242BE8 14600002 */ bnez $v1, .L80242BF4 +/* C0046C 80242BEC 0040282D */ daddu $a1, $v0, $zero +/* C00470 80242BF0 AE200078 */ sw $zero, 0x78($s1) +.L80242BF4: +/* C00474 80242BF4 8E0200CC */ lw $v0, 0xcc($s0) +/* C00478 80242BF8 8C420004 */ lw $v0, 4($v0) +/* C0047C 80242BFC ACA20028 */ sw $v0, 0x28($a1) +/* C00480 80242C00 8E0200D0 */ lw $v0, 0xd0($s0) +/* C00484 80242C04 8C42007C */ lw $v0, 0x7c($v0) +/* C00488 80242C08 04410004 */ bgez $v0, .L80242C1C +/* C0048C 80242C0C 00000000 */ nop +/* C00490 80242C10 C6400000 */ lwc1 $f0, ($s2) +/* C00494 80242C14 08090B0F */ j .L80242C3C +/* C00498 80242C18 E4A00018 */ swc1 $f0, 0x18($a1) +.L80242C1C: +/* C0049C 80242C1C 3C018026 */ lui $at, 0x8026 +/* C004A0 80242C20 D4223518 */ ldc1 $f2, 0x3518($at) +/* C004A4 80242C24 44820000 */ mtc1 $v0, $f0 +/* C004A8 80242C28 00000000 */ nop +/* C004AC 80242C2C 46800021 */ cvt.d.w $f0, $f0 +/* C004B0 80242C30 46220003 */ div.d $f0, $f0, $f2 +/* C004B4 80242C34 46200020 */ cvt.s.d $f0, $f0 +/* C004B8 80242C38 E4A00018 */ swc1 $f0, 0x18($a1) +.L80242C3C: +/* C004BC 80242C3C 24020001 */ addiu $v0, $zero, 1 +/* C004C0 80242C40 AE220070 */ sw $v0, 0x70($s1) +/* C004C4 80242C44 8FBF001C */ lw $ra, 0x1c($sp) +/* C004C8 80242C48 8FB20018 */ lw $s2, 0x18($sp) +/* C004CC 80242C4C 8FB10014 */ lw $s1, 0x14($sp) +/* C004D0 80242C50 8FB00010 */ lw $s0, 0x10($sp) +/* C004D4 80242C54 03E00008 */ jr $ra +/* C004D8 80242C58 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242C5C_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242C5C_BFD880.s new file mode 100644 index 0000000000..9ea44ce924 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242C5C_BFD880.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C5C_C004DC +/* C004DC 80242C5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C004E0 80242C60 AFB10014 */ sw $s1, 0x14($sp) +/* C004E4 80242C64 0080882D */ daddu $s1, $a0, $zero +/* C004E8 80242C68 AFBF0018 */ sw $ra, 0x18($sp) +/* C004EC 80242C6C AFB00010 */ sw $s0, 0x10($sp) +/* C004F0 80242C70 8E300148 */ lw $s0, 0x148($s1) +/* C004F4 80242C74 0C00EABB */ jal get_npc_unsafe +/* C004F8 80242C78 86040008 */ lh $a0, 8($s0) +/* C004FC 80242C7C 8E0300CC */ lw $v1, 0xcc($s0) +/* C00500 80242C80 3C014120 */ lui $at, 0x4120 +/* C00504 80242C84 44812000 */ mtc1 $at, $f4 +/* C00508 80242C88 3C014000 */ lui $at, 0x4000 +/* C0050C 80242C8C 44810000 */ mtc1 $at, $f0 +/* C00510 80242C90 C442003C */ lwc1 $f2, 0x3c($v0) +/* C00514 80242C94 8C640010 */ lw $a0, 0x10($v1) +/* C00518 80242C98 8C430000 */ lw $v1, ($v0) +/* C0051C 80242C9C E444001C */ swc1 $f4, 0x1c($v0) +/* C00520 80242CA0 E4400014 */ swc1 $f0, 0x14($v0) +/* C00524 80242CA4 E4420064 */ swc1 $f2, 0x64($v0) +/* C00528 80242CA8 34630800 */ ori $v1, $v1, 0x800 +/* C0052C 80242CAC AC430000 */ sw $v1, ($v0) +/* C00530 80242CB0 AC440028 */ sw $a0, 0x28($v0) +/* C00534 80242CB4 2402000B */ addiu $v0, $zero, 0xb +/* C00538 80242CB8 AE220070 */ sw $v0, 0x70($s1) +/* C0053C 80242CBC 8FBF0018 */ lw $ra, 0x18($sp) +/* C00540 80242CC0 8FB10014 */ lw $s1, 0x14($sp) +/* C00544 80242CC4 8FB00010 */ lw $s0, 0x10($sp) +/* C00548 80242CC8 03E00008 */ jr $ra +/* C0054C 80242CCC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242CD0.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242CD0.s new file mode 100644 index 0000000000..859aea820a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242CD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CD0 +/* C00550 80242CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C00554 80242CD4 AFB00010 */ sw $s0, 0x10($sp) +/* C00558 80242CD8 0080802D */ daddu $s0, $a0, $zero +/* C0055C 80242CDC AFBF0014 */ sw $ra, 0x14($sp) +/* C00560 80242CE0 8E020148 */ lw $v0, 0x148($s0) +/* C00564 80242CE4 0C00EABB */ jal get_npc_unsafe +/* C00568 80242CE8 84440008 */ lh $a0, 8($v0) +/* C0056C 80242CEC 0040202D */ daddu $a0, $v0, $zero +/* C00570 80242CF0 C482003C */ lwc1 $f2, 0x3c($a0) +/* C00574 80242CF4 C480001C */ lwc1 $f0, 0x1c($a0) +/* C00578 80242CF8 46001080 */ add.s $f2, $f2, $f0 +/* C0057C 80242CFC C4840014 */ lwc1 $f4, 0x14($a0) +/* C00580 80242D00 46040001 */ sub.s $f0, $f0, $f4 +/* C00584 80242D04 C4840064 */ lwc1 $f4, 0x64($a0) +/* C00588 80242D08 4602203C */ c.lt.s $f4, $f2 +/* C0058C 80242D0C E482003C */ swc1 $f2, 0x3c($a0) +/* C00590 80242D10 45010009 */ bc1t .L80242D38 +/* C00594 80242D14 E480001C */ swc1 $f0, 0x1c($a0) +/* C00598 80242D18 8C820000 */ lw $v0, ($a0) +/* C0059C 80242D1C 2403F7FF */ addiu $v1, $zero, -0x801 +/* C005A0 80242D20 E484003C */ swc1 $f4, 0x3c($a0) +/* C005A4 80242D24 AC80001C */ sw $zero, 0x1c($a0) +/* C005A8 80242D28 00431024 */ and $v0, $v0, $v1 +/* C005AC 80242D2C AC820000 */ sw $v0, ($a0) +/* C005B0 80242D30 2402000C */ addiu $v0, $zero, 0xc +/* C005B4 80242D34 AE020070 */ sw $v0, 0x70($s0) +.L80242D38: +/* C005B8 80242D38 8FBF0014 */ lw $ra, 0x14($sp) +/* C005BC 80242D3C 8FB00010 */ lw $s0, 0x10($sp) +/* C005C0 80242D40 03E00008 */ jr $ra +/* C005C4 80242D44 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242D48.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242D48.s new file mode 100644 index 0000000000..b5faf46e11 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242D48.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D48 +/* C005C8 80242D48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C005CC 80242D4C AFB3001C */ sw $s3, 0x1c($sp) +/* C005D0 80242D50 0080982D */ daddu $s3, $a0, $zero +/* C005D4 80242D54 AFBF0020 */ sw $ra, 0x20($sp) +/* C005D8 80242D58 AFB20018 */ sw $s2, 0x18($sp) +/* C005DC 80242D5C AFB10014 */ sw $s1, 0x14($sp) +/* C005E0 80242D60 AFB00010 */ sw $s0, 0x10($sp) +/* C005E4 80242D64 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C005E8 80242D68 8E710148 */ lw $s1, 0x148($s3) +/* C005EC 80242D6C 86240008 */ lh $a0, 8($s1) +/* C005F0 80242D70 0C00EABB */ jal get_npc_unsafe +/* C005F4 80242D74 00A0802D */ daddu $s0, $a1, $zero +/* C005F8 80242D78 8E040020 */ lw $a0, 0x20($s0) +/* C005FC 80242D7C 0040902D */ daddu $s2, $v0, $zero +/* C00600 80242D80 00041FC2 */ srl $v1, $a0, 0x1f +/* C00604 80242D84 00832021 */ addu $a0, $a0, $v1 +/* C00608 80242D88 00042043 */ sra $a0, $a0, 1 +/* C0060C 80242D8C 0C00A67F */ jal rand_int +/* C00610 80242D90 24840001 */ addiu $a0, $a0, 1 +/* C00614 80242D94 8E030020 */ lw $v1, 0x20($s0) +/* C00618 80242D98 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C0061C 80242D9C 000327C2 */ srl $a0, $v1, 0x1f +/* C00620 80242DA0 00641821 */ addu $v1, $v1, $a0 +/* C00624 80242DA4 00031843 */ sra $v1, $v1, 1 +/* C00628 80242DA8 00621821 */ addu $v1, $v1, $v0 +/* C0062C 80242DAC A643008E */ sh $v1, 0x8e($s2) +/* C00630 80242DB0 8E2200CC */ lw $v0, 0xcc($s1) +/* C00634 80242DB4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C00638 80242DB8 8C42000C */ lw $v0, 0xc($v0) +/* C0063C 80242DBC AE420028 */ sw $v0, 0x28($s2) +/* C00640 80242DC0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C00644 80242DC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C00648 80242DC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C0064C 80242DCC E6400018 */ swc1 $f0, 0x18($s2) +/* C00650 80242DD0 8C460028 */ lw $a2, 0x28($v0) +/* C00654 80242DD4 0C00A720 */ jal atan2 +/* C00658 80242DD8 8C470030 */ lw $a3, 0x30($v0) +/* C0065C 80242DDC 46000506 */ mov.s $f20, $f0 +/* C00660 80242DE0 C64C000C */ lwc1 $f12, 0xc($s2) +/* C00664 80242DE4 0C00A70A */ jal get_clamped_angle_diff +/* C00668 80242DE8 4600A386 */ mov.s $f14, $f20 +/* C0066C 80242DEC 46000086 */ mov.s $f2, $f0 +/* C00670 80242DF0 8E02001C */ lw $v0, 0x1c($s0) +/* C00674 80242DF4 46001005 */ abs.s $f0, $f2 +/* C00678 80242DF8 44822000 */ mtc1 $v0, $f4 +/* C0067C 80242DFC 00000000 */ nop +/* C00680 80242E00 46802120 */ cvt.s.w $f4, $f4 +/* C00684 80242E04 4600203C */ c.lt.s $f4, $f0 +/* C00688 80242E08 00000000 */ nop +/* C0068C 80242E0C 4500000D */ bc1f .L80242E44 +/* C00690 80242E10 00000000 */ nop +/* C00694 80242E14 44800000 */ mtc1 $zero, $f0 +/* C00698 80242E18 C654000C */ lwc1 $f20, 0xc($s2) +/* C0069C 80242E1C 4600103C */ c.lt.s $f2, $f0 +/* C006A0 80242E20 00000000 */ nop +/* C006A4 80242E24 45000006 */ bc1f .L80242E40 +/* C006A8 80242E28 00021023 */ negu $v0, $v0 +/* C006AC 80242E2C 44820000 */ mtc1 $v0, $f0 +/* C006B0 80242E30 00000000 */ nop +/* C006B4 80242E34 46800020 */ cvt.s.w $f0, $f0 +/* C006B8 80242E38 08090B91 */ j .L80242E44 +/* C006BC 80242E3C 4600A500 */ add.s $f20, $f20, $f0 +.L80242E40: +/* C006C0 80242E40 4604A500 */ add.s $f20, $f20, $f4 +.L80242E44: +/* C006C4 80242E44 0C00A6C9 */ jal clamp_angle +/* C006C8 80242E48 4600A306 */ mov.s $f12, $f20 +/* C006CC 80242E4C 2402000D */ addiu $v0, $zero, 0xd +/* C006D0 80242E50 E640000C */ swc1 $f0, 0xc($s2) +/* C006D4 80242E54 AE620070 */ sw $v0, 0x70($s3) +/* C006D8 80242E58 8FBF0020 */ lw $ra, 0x20($sp) +/* C006DC 80242E5C 8FB3001C */ lw $s3, 0x1c($sp) +/* C006E0 80242E60 8FB20018 */ lw $s2, 0x18($sp) +/* C006E4 80242E64 8FB10014 */ lw $s1, 0x14($sp) +/* C006E8 80242E68 8FB00010 */ lw $s0, 0x10($sp) +/* C006EC 80242E6C D7B40028 */ ldc1 $f20, 0x28($sp) +/* C006F0 80242E70 03E00008 */ jr $ra +/* C006F4 80242E74 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242E78.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242E78.s new file mode 100644 index 0000000000..806d0dc7c5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242E78.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E78 +/* C006F8 80242E78 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C006FC 80242E7C AFB3003C */ sw $s3, 0x3c($sp) +/* C00700 80242E80 0080982D */ daddu $s3, $a0, $zero +/* C00704 80242E84 AFBF0040 */ sw $ra, 0x40($sp) +/* C00708 80242E88 AFB20038 */ sw $s2, 0x38($sp) +/* C0070C 80242E8C AFB10034 */ sw $s1, 0x34($sp) +/* C00710 80242E90 AFB00030 */ sw $s0, 0x30($sp) +/* C00714 80242E94 8E720148 */ lw $s2, 0x148($s3) +/* C00718 80242E98 00A0882D */ daddu $s1, $a1, $zero +/* C0071C 80242E9C 86440008 */ lh $a0, 8($s2) +/* C00720 80242EA0 0C00EABB */ jal get_npc_unsafe +/* C00724 80242EA4 00C0802D */ daddu $s0, $a2, $zero +/* C00728 80242EA8 0200202D */ daddu $a0, $s0, $zero +/* C0072C 80242EAC 0240282D */ daddu $a1, $s2, $zero +/* C00730 80242EB0 24030001 */ addiu $v1, $zero, 1 +/* C00734 80242EB4 AFA30010 */ sw $v1, 0x10($sp) +/* C00738 80242EB8 8E260024 */ lw $a2, 0x24($s1) +/* C0073C 80242EBC 8E270028 */ lw $a3, 0x28($s1) +/* C00740 80242EC0 0C01242D */ jal func_800490B4 +/* C00744 80242EC4 0040802D */ daddu $s0, $v0, $zero +/* C00748 80242EC8 1440001E */ bnez $v0, .L80242F44 +/* C0074C 80242ECC 0200202D */ daddu $a0, $s0, $zero +/* C00750 80242ED0 24040002 */ addiu $a0, $zero, 2 +/* C00754 80242ED4 0200282D */ daddu $a1, $s0, $zero +/* C00758 80242ED8 0000302D */ daddu $a2, $zero, $zero +/* C0075C 80242EDC 860300A8 */ lh $v1, 0xa8($s0) +/* C00760 80242EE0 3C013F80 */ lui $at, 0x3f80 +/* C00764 80242EE4 44810000 */ mtc1 $at, $f0 +/* C00768 80242EE8 3C014000 */ lui $at, 0x4000 +/* C0076C 80242EEC 44811000 */ mtc1 $at, $f2 +/* C00770 80242EF0 3C01C1A0 */ lui $at, 0xc1a0 +/* C00774 80242EF4 44812000 */ mtc1 $at, $f4 +/* C00778 80242EF8 2402000F */ addiu $v0, $zero, 0xf +/* C0077C 80242EFC AFA2001C */ sw $v0, 0x1c($sp) +/* C00780 80242F00 44833000 */ mtc1 $v1, $f6 +/* C00784 80242F04 00000000 */ nop +/* C00788 80242F08 468031A0 */ cvt.s.w $f6, $f6 +/* C0078C 80242F0C 44073000 */ mfc1 $a3, $f6 +/* C00790 80242F10 27A20028 */ addiu $v0, $sp, 0x28 +/* C00794 80242F14 AFA20020 */ sw $v0, 0x20($sp) +/* C00798 80242F18 E7A00010 */ swc1 $f0, 0x10($sp) +/* C0079C 80242F1C E7A20014 */ swc1 $f2, 0x14($sp) +/* C007A0 80242F20 0C01BFA4 */ jal fx_emote +/* C007A4 80242F24 E7A40018 */ swc1 $f4, 0x18($sp) +/* C007A8 80242F28 8E4200CC */ lw $v0, 0xcc($s2) +/* C007AC 80242F2C 8C430000 */ lw $v1, ($v0) +/* C007B0 80242F30 24020019 */ addiu $v0, $zero, 0x19 +/* C007B4 80242F34 A602008E */ sh $v0, 0x8e($s0) +/* C007B8 80242F38 2402000E */ addiu $v0, $zero, 0xe +/* C007BC 80242F3C 08090BDE */ j .L80242F78 +/* C007C0 80242F40 AE030028 */ sw $v1, 0x28($s0) +.L80242F44: +/* C007C4 80242F44 0C00F598 */ jal func_8003D660 +/* C007C8 80242F48 24050001 */ addiu $a1, $zero, 1 +/* C007CC 80242F4C 8E050018 */ lw $a1, 0x18($s0) +/* C007D0 80242F50 8E06000C */ lw $a2, 0xc($s0) +/* C007D4 80242F54 0C00EA95 */ jal npc_move_heading +/* C007D8 80242F58 0200202D */ daddu $a0, $s0, $zero +/* C007DC 80242F5C 8602008E */ lh $v0, 0x8e($s0) +/* C007E0 80242F60 9603008E */ lhu $v1, 0x8e($s0) +/* C007E4 80242F64 18400003 */ blez $v0, .L80242F74 +/* C007E8 80242F68 2462FFFF */ addiu $v0, $v1, -1 +/* C007EC 80242F6C 08090BDF */ j .L80242F7C +/* C007F0 80242F70 A602008E */ sh $v0, 0x8e($s0) +.L80242F74: +/* C007F4 80242F74 2402000C */ addiu $v0, $zero, 0xc +.L80242F78: +/* C007F8 80242F78 AE620070 */ sw $v0, 0x70($s3) +.L80242F7C: +/* C007FC 80242F7C 8FBF0040 */ lw $ra, 0x40($sp) +/* C00800 80242F80 8FB3003C */ lw $s3, 0x3c($sp) +/* C00804 80242F84 8FB20038 */ lw $s2, 0x38($sp) +/* C00808 80242F88 8FB10034 */ lw $s1, 0x34($sp) +/* C0080C 80242F8C 8FB00030 */ lw $s0, 0x30($sp) +/* C00810 80242F90 03E00008 */ jr $ra +/* C00814 80242F94 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80242F98.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242F98.s new file mode 100644 index 0000000000..9e3016dd2f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80242F98.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F98 +/* C00818 80242F98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C0081C 80242F9C AFB10014 */ sw $s1, 0x14($sp) +/* C00820 80242FA0 0080882D */ daddu $s1, $a0, $zero +/* C00824 80242FA4 AFBF0018 */ sw $ra, 0x18($sp) +/* C00828 80242FA8 AFB00010 */ sw $s0, 0x10($sp) +/* C0082C 80242FAC 8E300148 */ lw $s0, 0x148($s1) +/* C00830 80242FB0 0C00EABB */ jal get_npc_unsafe +/* C00834 80242FB4 86040008 */ lh $a0, 8($s0) +/* C00838 80242FB8 9443008E */ lhu $v1, 0x8e($v0) +/* C0083C 80242FBC 2463FFFF */ addiu $v1, $v1, -1 +/* C00840 80242FC0 A443008E */ sh $v1, 0x8e($v0) +/* C00844 80242FC4 00031C00 */ sll $v1, $v1, 0x10 +/* C00848 80242FC8 14600008 */ bnez $v1, .L80242FEC +/* C0084C 80242FCC 00000000 */ nop +/* C00850 80242FD0 8E0200B0 */ lw $v0, 0xb0($s0) +/* C00854 80242FD4 30420080 */ andi $v0, $v0, 0x80 +/* C00858 80242FD8 10400003 */ beqz $v0, .L80242FE8 +/* C0085C 80242FDC 2402000F */ addiu $v0, $zero, 0xf +/* C00860 80242FE0 08090BFB */ j .L80242FEC +/* C00864 80242FE4 AE220070 */ sw $v0, 0x70($s1) +.L80242FE8: +/* C00868 80242FE8 AE200070 */ sw $zero, 0x70($s1) +.L80242FEC: +/* C0086C 80242FEC 8FBF0018 */ lw $ra, 0x18($sp) +/* C00870 80242FF0 8FB10014 */ lw $s1, 0x14($sp) +/* C00874 80242FF4 8FB00010 */ lw $s0, 0x10($sp) +/* C00878 80242FF8 03E00008 */ jr $ra +/* C0087C 80242FFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_80243000_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_80243000_BFD880.s new file mode 100644 index 0000000000..3752f7d2f3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_80243000_BFD880.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243000_C00880 +/* C00880 80243000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C00884 80243004 AFB10014 */ sw $s1, 0x14($sp) +/* C00888 80243008 0080882D */ daddu $s1, $a0, $zero +/* C0088C 8024300C AFBF001C */ sw $ra, 0x1c($sp) +/* C00890 80243010 AFB20018 */ sw $s2, 0x18($sp) +/* C00894 80243014 AFB00010 */ sw $s0, 0x10($sp) +/* C00898 80243018 8E300148 */ lw $s0, 0x148($s1) +/* C0089C 8024301C 86040008 */ lh $a0, 8($s0) +/* C008A0 80243020 0C00EABB */ jal get_npc_unsafe +/* C008A4 80243024 00A0902D */ daddu $s2, $a1, $zero +/* C008A8 80243028 8E0300D0 */ lw $v1, 0xd0($s0) +/* C008AC 8024302C 8E240078 */ lw $a0, 0x78($s1) +/* C008B0 80243030 8C630000 */ lw $v1, ($v1) +/* C008B4 80243034 0083182A */ slt $v1, $a0, $v1 +/* C008B8 80243038 10600013 */ beqz $v1, .L80243088 +/* C008BC 8024303C 0040302D */ daddu $a2, $v0, $zero +/* C008C0 80243040 00041040 */ sll $v0, $a0, 1 +/* C008C4 80243044 00441021 */ addu $v0, $v0, $a0 +/* C008C8 80243048 00022880 */ sll $a1, $v0, 2 +.L8024304C: +/* C008CC 8024304C 8E0300D0 */ lw $v1, 0xd0($s0) +/* C008D0 80243050 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C008D4 80243054 00A31021 */ addu $v0, $a1, $v1 +/* C008D8 80243058 C4400008 */ lwc1 $f0, 8($v0) +/* C008DC 8024305C 46800020 */ cvt.s.w $f0, $f0 +/* C008E0 80243060 4602003E */ c.le.s $f0, $f2 +/* C008E4 80243064 00000000 */ nop +/* C008E8 80243068 45020003 */ bc1fl .L80243078 +/* C008EC 8024306C 24840001 */ addiu $a0, $a0, 1 +/* C008F0 80243070 08090C22 */ j .L80243088 +/* C008F4 80243074 AE240078 */ sw $a0, 0x78($s1) +.L80243078: +/* C008F8 80243078 8C620000 */ lw $v0, ($v1) +/* C008FC 8024307C 0082102A */ slt $v0, $a0, $v0 +/* C00900 80243080 1440FFF2 */ bnez $v0, .L8024304C +/* C00904 80243084 24A5000C */ addiu $a1, $a1, 0xc +.L80243088: +/* C00908 80243088 C6400000 */ lwc1 $f0, ($s2) +/* C0090C 8024308C E4C00018 */ swc1 $f0, 0x18($a2) +/* C00910 80243090 8E0200CC */ lw $v0, 0xcc($s0) +/* C00914 80243094 8C420004 */ lw $v0, 4($v0) +/* C00918 80243098 ACC20028 */ sw $v0, 0x28($a2) +/* C0091C 8024309C 24020001 */ addiu $v0, $zero, 1 +/* C00920 802430A0 AE200074 */ sw $zero, 0x74($s1) +/* C00924 802430A4 AE220070 */ sw $v0, 0x70($s1) +/* C00928 802430A8 8FBF001C */ lw $ra, 0x1c($sp) +/* C0092C 802430AC 8FB20018 */ lw $s2, 0x18($sp) +/* C00930 802430B0 8FB10014 */ lw $s1, 0x14($sp) +/* C00934 802430B4 8FB00010 */ lw $s0, 0x10($sp) +/* C00938 802430B8 03E00008 */ jr $ra +/* C0093C 802430BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802430C0_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802430C0_BFD880.s new file mode 100644 index 0000000000..7952cce341 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802430C0_BFD880.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430C0_C00940 +/* C00940 802430C0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C00944 802430C4 AFB40058 */ sw $s4, 0x58($sp) +/* C00948 802430C8 0080A02D */ daddu $s4, $a0, $zero +/* C0094C 802430CC AFBF0060 */ sw $ra, 0x60($sp) +/* C00950 802430D0 AFB5005C */ sw $s5, 0x5c($sp) +/* C00954 802430D4 AFB30054 */ sw $s3, 0x54($sp) +/* C00958 802430D8 AFB20050 */ sw $s2, 0x50($sp) +/* C0095C 802430DC AFB1004C */ sw $s1, 0x4c($sp) +/* C00960 802430E0 AFB00048 */ sw $s0, 0x48($sp) +/* C00964 802430E4 8E910148 */ lw $s1, 0x148($s4) +/* C00968 802430E8 86240008 */ lh $a0, 8($s1) +/* C0096C 802430EC 0C00EABB */ jal get_npc_unsafe +/* C00970 802430F0 00A0802D */ daddu $s0, $a1, $zero +/* C00974 802430F4 8E83000C */ lw $v1, 0xc($s4) +/* C00978 802430F8 0280202D */ daddu $a0, $s4, $zero +/* C0097C 802430FC 8C650000 */ lw $a1, ($v1) +/* C00980 80243100 0C0B1EAF */ jal get_variable +/* C00984 80243104 0040902D */ daddu $s2, $v0, $zero +/* C00988 80243108 AFA00018 */ sw $zero, 0x18($sp) +/* C0098C 8024310C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C00990 80243110 8C630094 */ lw $v1, 0x94($v1) +/* C00994 80243114 AFA3001C */ sw $v1, 0x1c($sp) +/* C00998 80243118 8E2300D0 */ lw $v1, 0xd0($s1) +/* C0099C 8024311C 8C630080 */ lw $v1, 0x80($v1) +/* C009A0 80243120 AFA30020 */ sw $v1, 0x20($sp) +/* C009A4 80243124 8E2300D0 */ lw $v1, 0xd0($s1) +/* C009A8 80243128 8C630088 */ lw $v1, 0x88($v1) +/* C009AC 8024312C AFA30024 */ sw $v1, 0x24($sp) +/* C009B0 80243130 8E2300D0 */ lw $v1, 0xd0($s1) +/* C009B4 80243134 8C63008C */ lw $v1, 0x8c($v1) +/* C009B8 80243138 27B50018 */ addiu $s5, $sp, 0x18 +/* C009BC 8024313C AFA30028 */ sw $v1, 0x28($sp) +/* C009C0 80243140 8E2300D0 */ lw $v1, 0xd0($s1) +/* C009C4 80243144 3C014282 */ lui $at, 0x4282 +/* C009C8 80243148 44810000 */ mtc1 $at, $f0 +/* C009CC 8024314C 8C630090 */ lw $v1, 0x90($v1) +/* C009D0 80243150 0040982D */ daddu $s3, $v0, $zero +/* C009D4 80243154 E7A00030 */ swc1 $f0, 0x30($sp) +/* C009D8 80243158 A7A00034 */ sh $zero, 0x34($sp) +/* C009DC 8024315C 16000005 */ bnez $s0, .L80243174 +/* C009E0 80243160 AFA3002C */ sw $v1, 0x2c($sp) +/* C009E4 80243164 8E2200B0 */ lw $v0, 0xb0($s1) +/* C009E8 80243168 30420004 */ andi $v0, $v0, 4 +/* C009EC 8024316C 10400044 */ beqz $v0, .L80243280 +/* C009F0 80243170 00000000 */ nop +.L80243174: +/* C009F4 80243174 2404F7FF */ addiu $a0, $zero, -0x801 +/* C009F8 80243178 AE800070 */ sw $zero, 0x70($s4) +/* C009FC 8024317C A640008E */ sh $zero, 0x8e($s2) +/* C00A00 80243180 8E2200CC */ lw $v0, 0xcc($s1) +/* C00A04 80243184 8E430000 */ lw $v1, ($s2) +/* C00A08 80243188 8C420000 */ lw $v0, ($v0) +/* C00A0C 8024318C 00641824 */ and $v1, $v1, $a0 +/* C00A10 80243190 AE430000 */ sw $v1, ($s2) +/* C00A14 80243194 AE420028 */ sw $v0, 0x28($s2) +/* C00A18 80243198 8E2200D0 */ lw $v0, 0xd0($s1) +/* C00A1C 8024319C 8C420098 */ lw $v0, 0x98($v0) +/* C00A20 802431A0 54400005 */ bnel $v0, $zero, .L802431B8 +/* C00A24 802431A4 2402FDFF */ addiu $v0, $zero, -0x201 +/* C00A28 802431A8 34620200 */ ori $v0, $v1, 0x200 +/* C00A2C 802431AC 2403FFF7 */ addiu $v1, $zero, -9 +/* C00A30 802431B0 08090C70 */ j .L802431C0 +/* C00A34 802431B4 00431024 */ and $v0, $v0, $v1 +.L802431B8: +/* C00A38 802431B8 00621024 */ and $v0, $v1, $v0 +/* C00A3C 802431BC 34420008 */ ori $v0, $v0, 8 +.L802431C0: +/* C00A40 802431C0 AE420000 */ sw $v0, ($s2) +/* C00A44 802431C4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C00A48 802431C8 30420004 */ andi $v0, $v0, 4 +/* C00A4C 802431CC 10400008 */ beqz $v0, .L802431F0 +/* C00A50 802431D0 24020063 */ addiu $v0, $zero, 0x63 +/* C00A54 802431D4 AE820070 */ sw $v0, 0x70($s4) +/* C00A58 802431D8 AE800074 */ sw $zero, 0x74($s4) +/* C00A5C 802431DC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C00A60 802431E0 2403FFFB */ addiu $v1, $zero, -5 +/* C00A64 802431E4 00431024 */ and $v0, $v0, $v1 +/* C00A68 802431E8 08090C87 */ j .L8024321C +/* C00A6C 802431EC AE2200B0 */ sw $v0, 0xb0($s1) +.L802431F0: +/* C00A70 802431F0 8E220000 */ lw $v0, ($s1) +/* C00A74 802431F4 3C034000 */ lui $v1, 0x4000 +/* C00A78 802431F8 00431024 */ and $v0, $v0, $v1 +/* C00A7C 802431FC 10400007 */ beqz $v0, .L8024321C +/* C00A80 80243200 3C03BFFF */ lui $v1, 0xbfff +/* C00A84 80243204 2402000C */ addiu $v0, $zero, 0xc +/* C00A88 80243208 AE820070 */ sw $v0, 0x70($s4) +/* C00A8C 8024320C 8E220000 */ lw $v0, ($s1) +/* C00A90 80243210 3463FFFF */ ori $v1, $v1, 0xffff +/* C00A94 80243214 00431024 */ and $v0, $v0, $v1 +/* C00A98 80243218 AE220000 */ sw $v0, ($s1) +.L8024321C: +/* C00A9C 8024321C 27A50038 */ addiu $a1, $sp, 0x38 +/* C00AA0 80243220 27A6003C */ addiu $a2, $sp, 0x3c +/* C00AA4 80243224 C6400038 */ lwc1 $f0, 0x38($s2) +/* C00AA8 80243228 864200A8 */ lh $v0, 0xa8($s2) +/* C00AAC 8024322C 3C0142C8 */ lui $at, 0x42c8 +/* C00AB0 80243230 44812000 */ mtc1 $at, $f4 +/* C00AB4 80243234 44823000 */ mtc1 $v0, $f6 +/* C00AB8 80243238 00000000 */ nop +/* C00ABC 8024323C 468031A0 */ cvt.s.w $f6, $f6 +/* C00AC0 80243240 27A20044 */ addiu $v0, $sp, 0x44 +/* C00AC4 80243244 E7A00038 */ swc1 $f0, 0x38($sp) +/* C00AC8 80243248 C640003C */ lwc1 $f0, 0x3c($s2) +/* C00ACC 8024324C C6420040 */ lwc1 $f2, 0x40($s2) +/* C00AD0 80243250 46060000 */ add.s $f0, $f0, $f6 +/* C00AD4 80243254 E7A40044 */ swc1 $f4, 0x44($sp) +/* C00AD8 80243258 E7A20040 */ swc1 $f2, 0x40($sp) +/* C00ADC 8024325C E7A0003C */ swc1 $f0, 0x3c($sp) +/* C00AE0 80243260 AFA20010 */ sw $v0, 0x10($sp) +/* C00AE4 80243264 8E440080 */ lw $a0, 0x80($s2) +/* C00AE8 80243268 0C0372DF */ jal func_800DCB7C +/* C00AEC 8024326C 27A70040 */ addiu $a3, $sp, 0x40 +/* C00AF0 80243270 10400003 */ beqz $v0, .L80243280 +/* C00AF4 80243274 00000000 */ nop +/* C00AF8 80243278 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C00AFC 8024327C E640003C */ swc1 $f0, 0x3c($s2) +.L80243280: +/* C00B00 80243280 8E830070 */ lw $v1, 0x70($s4) +/* C00B04 80243284 2C620064 */ sltiu $v0, $v1, 0x64 +/* C00B08 80243288 10400042 */ beqz $v0, .L80243394 +/* C00B0C 8024328C 00031080 */ sll $v0, $v1, 2 +/* C00B10 80243290 3C018026 */ lui $at, 0x8026 +/* C00B14 80243294 00220821 */ addu $at, $at, $v0 +/* C00B18 80243298 8C223520 */ lw $v0, 0x3520($at) +/* C00B1C 8024329C 00400008 */ jr $v0 +/* C00B20 802432A0 00000000 */ nop +/* C00B24 802432A4 0280202D */ daddu $a0, $s4, $zero +/* C00B28 802432A8 0260282D */ daddu $a1, $s3, $zero +/* C00B2C 802432AC 0C09094B */ jal func_8024252C +/* C00B30 802432B0 02A0302D */ daddu $a2, $s5, $zero +/* C00B34 802432B4 0280202D */ daddu $a0, $s4, $zero +/* C00B38 802432B8 0260282D */ daddu $a1, $s3, $zero +/* C00B3C 802432BC 0C0909A1 */ jal func_80242684 +/* C00B40 802432C0 02A0302D */ daddu $a2, $s5, $zero +/* C00B44 802432C4 08090CE5 */ j .L80243394 +/* C00B48 802432C8 00000000 */ nop +/* C00B4C 802432CC 0280202D */ daddu $a0, $s4, $zero +/* C00B50 802432D0 0260282D */ daddu $a1, $s3, $zero +/* C00B54 802432D4 0C090A4B */ jal func_8024292C +/* C00B58 802432D8 02A0302D */ daddu $a2, $s5, $zero +/* C00B5C 802432DC 0280202D */ daddu $a0, $s4, $zero +/* C00B60 802432E0 0260282D */ daddu $a1, $s3, $zero +/* C00B64 802432E4 0C090A7B */ jal func_802429EC +/* C00B68 802432E8 02A0302D */ daddu $a2, $s5, $zero +/* C00B6C 802432EC 08090CE5 */ j .L80243394 +/* C00B70 802432F0 00000000 */ nop +/* C00B74 802432F4 0280202D */ daddu $a0, $s4, $zero +/* C00B78 802432F8 0260282D */ daddu $a1, $s3, $zero +/* C00B7C 802432FC 0C090AEA */ jal func_80242BA8 +/* C00B80 80243300 02A0302D */ daddu $a2, $s5, $zero +/* C00B84 80243304 08090CE5 */ j .L80243394 +/* C00B88 80243308 00000000 */ nop +/* C00B8C 8024330C 0280202D */ daddu $a0, $s4, $zero +/* C00B90 80243310 0260282D */ daddu $a1, $s3, $zero +/* C00B94 80243314 0C090B17 */ jal func_80242C5C +/* C00B98 80243318 02A0302D */ daddu $a2, $s5, $zero +/* C00B9C 8024331C 0280202D */ daddu $a0, $s4, $zero +/* C00BA0 80243320 0260282D */ daddu $a1, $s3, $zero +/* C00BA4 80243324 0C090B34 */ jal func_80242CD0 +/* C00BA8 80243328 02A0302D */ daddu $a2, $s5, $zero +/* C00BAC 8024332C 08090CE5 */ j .L80243394 +/* C00BB0 80243330 00000000 */ nop +/* C00BB4 80243334 0280202D */ daddu $a0, $s4, $zero +/* C00BB8 80243338 0260282D */ daddu $a1, $s3, $zero +/* C00BBC 8024333C 0C090B52 */ jal func_80242D48 +/* C00BC0 80243340 02A0302D */ daddu $a2, $s5, $zero +/* C00BC4 80243344 0280202D */ daddu $a0, $s4, $zero +/* C00BC8 80243348 0260282D */ daddu $a1, $s3, $zero +/* C00BCC 8024334C 0C090B9E */ jal func_80242E78 +/* C00BD0 80243350 02A0302D */ daddu $a2, $s5, $zero +/* C00BD4 80243354 08090CE5 */ j .L80243394 +/* C00BD8 80243358 00000000 */ nop +/* C00BDC 8024335C 0280202D */ daddu $a0, $s4, $zero +/* C00BE0 80243360 0260282D */ daddu $a1, $s3, $zero +/* C00BE4 80243364 0C090BE6 */ jal func_80242F98 +/* C00BE8 80243368 02A0302D */ daddu $a2, $s5, $zero +/* C00BEC 8024336C 08090CE5 */ j .L80243394 +/* C00BF0 80243370 00000000 */ nop +/* C00BF4 80243374 0280202D */ daddu $a0, $s4, $zero +/* C00BF8 80243378 0260282D */ daddu $a1, $s3, $zero +/* C00BFC 8024337C 0C090C00 */ jal func_80243000 +/* C00C00 80243380 02A0302D */ daddu $a2, $s5, $zero +/* C00C04 80243384 08090CE5 */ j .L80243394 +/* C00C08 80243388 00000000 */ nop +/* C00C0C 8024338C 0C0129CF */ jal func_8004A73C +/* C00C10 80243390 0280202D */ daddu $a0, $s4, $zero +.L80243394: +/* C00C14 80243394 8FBF0060 */ lw $ra, 0x60($sp) +/* C00C18 80243398 8FB5005C */ lw $s5, 0x5c($sp) +/* C00C1C 8024339C 8FB40058 */ lw $s4, 0x58($sp) +/* C00C20 802433A0 8FB30054 */ lw $s3, 0x54($sp) +/* C00C24 802433A4 8FB20050 */ lw $s2, 0x50($sp) +/* C00C28 802433A8 8FB1004C */ lw $s1, 0x4c($sp) +/* C00C2C 802433AC 8FB00048 */ lw $s0, 0x48($sp) +/* C00C30 802433B0 0000102D */ daddu $v0, $zero, $zero +/* C00C34 802433B4 03E00008 */ jr $ra +/* C00C38 802433B8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dgb/dgb_01/func_802433BC_BFD880.s b/asm/nonmatchings/world/area_dgb/dgb_01/func_802433BC_BFD880.s new file mode 100644 index 0000000000..779db28dea --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_01/func_802433BC_BFD880.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433BC_C00C3C +/* C00C3C 802433BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C00C40 802433C0 AFBF0010 */ sw $ra, 0x10($sp) +/* C00C44 802433C4 0C03A6D5 */ jal increment_status_menu_disabled +/* C00C48 802433C8 00000000 */ nop +/* C00C4C 802433CC 3C05437F */ lui $a1, 0x437f +/* C00C50 802433D0 0C04DF69 */ jal func_80137DA4 +/* C00C54 802433D4 0000202D */ daddu $a0, $zero, $zero +/* C00C58 802433D8 8FBF0010 */ lw $ra, 0x10($sp) +/* C00C5C 802433DC 24020002 */ addiu $v0, $zero, 2 +/* C00C60 802433E0 03E00008 */ jr $ra +/* C00C64 802433E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* C00C68 802433E8 00000000 */ nop +/* C00C6C 802433EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240000_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240000_C2EBA0.s new file mode 100644 index 0000000000..52e72f47cd --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240000_C2EBA0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C2EBA0 +/* C2EBA0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2EBA4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C2EBA8 80240008 0080882D */ daddu $s1, $a0, $zero +/* C2EBAC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* C2EBB0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* C2EBB4 80240014 8E300148 */ lw $s0, 0x148($s1) +/* C2EBB8 80240018 0C00EABB */ jal get_npc_unsafe +/* C2EBBC 8024001C 86040008 */ lh $a0, 8($s0) +/* C2EBC0 80240020 24030001 */ addiu $v1, $zero, 1 +/* C2EBC4 80240024 0040202D */ daddu $a0, $v0, $zero +/* C2EBC8 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* C2EBCC 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* C2EBD0 80240030 14400009 */ bnez $v0, .L80240058 +/* C2EBD4 80240034 24020002 */ addiu $v0, $zero, 2 +/* C2EBD8 80240038 96030072 */ lhu $v1, 0x72($s0) +/* C2EBDC 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* C2EBE0 80240040 A483008E */ sh $v1, 0x8e($a0) +/* C2EBE4 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* C2EBE8 80240048 8C420020 */ lw $v0, 0x20($v0) +/* C2EBEC 8024004C AC820028 */ sw $v0, 0x28($a0) +/* C2EBF0 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* C2EBF4 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* C2EBF8 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* C2EBFC 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* C2EC00 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* C2EC04 80240064 03E00008 */ jr $ra +/* C2EC08 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_8024006C_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_8024006C_C2EBA0.s new file mode 100644 index 0000000000..df3db0ebc5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_8024006C_C2EBA0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_C2EC0C +/* C2EC0C 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2EC10 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* C2EC14 80240074 0080882D */ daddu $s1, $a0, $zero +/* C2EC18 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* C2EC1C 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* C2EC20 80240080 8E300148 */ lw $s0, 0x148($s1) +/* C2EC24 80240084 0C00EABB */ jal get_npc_unsafe +/* C2EC28 80240088 86040008 */ lh $a0, 8($s0) +/* C2EC2C 8024008C 0040202D */ daddu $a0, $v0, $zero +/* C2EC30 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* C2EC34 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* C2EC38 80240098 A482008E */ sh $v0, 0x8e($a0) +/* C2EC3C 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* C2EC40 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* C2EC44 802400A4 24020003 */ addiu $v0, $zero, 3 +/* C2EC48 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* C2EC4C 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* C2EC50 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* C2EC54 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C2EC58 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* C2EC5C 802400BC AC820028 */ sw $v0, 0x28($a0) +/* C2EC60 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* C2EC64 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* C2EC68 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C2EC6C 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* C2EC70 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* C2EC74 802400D4 03E00008 */ jr $ra +/* C2EC78 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_802400DC_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_802400DC_C2EBA0.s new file mode 100644 index 0000000000..1886764ebc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_802400DC_C2EBA0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_C2EC7C +/* C2EC7C 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C2EC80 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* C2EC84 802400E4 0080882D */ daddu $s1, $a0, $zero +/* C2EC88 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* C2EC8C 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* C2EC90 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* C2EC94 802400F4 0C00EABB */ jal get_npc_unsafe +/* C2EC98 802400F8 86040008 */ lh $a0, 8($s0) +/* C2EC9C 802400FC 0040282D */ daddu $a1, $v0, $zero +/* C2ECA0 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* C2ECA4 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* C2ECA8 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* C2ECAC 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* C2ECB0 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* C2ECB4 80240114 24020004 */ addiu $v0, $zero, 4 +/* C2ECB8 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* C2ECBC 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* C2ECC0 80240120 8C620000 */ lw $v0, ($v1) +/* C2ECC4 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* C2ECC8 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* C2ECCC 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* C2ECD0 80240130 8E020078 */ lw $v0, 0x78($s0) +/* C2ECD4 80240134 28420008 */ slti $v0, $v0, 8 +/* C2ECD8 80240138 14400018 */ bnez $v0, .L8024019C +/* C2ECDC 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* C2ECE0 80240140 24040003 */ addiu $a0, $zero, 3 +/* C2ECE4 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* C2ECE8 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* C2ECEC 8024014C 3C013F80 */ lui $at, 0x3f80 +/* C2ECF0 80240150 44810000 */ mtc1 $at, $f0 +/* C2ECF4 80240154 3C014000 */ lui $at, 0x4000 +/* C2ECF8 80240158 44811000 */ mtc1 $at, $f2 +/* C2ECFC 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* C2ED00 80240160 44812000 */ mtc1 $at, $f4 +/* C2ED04 80240164 44873000 */ mtc1 $a3, $f6 +/* C2ED08 80240168 00000000 */ nop +/* C2ED0C 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* C2ED10 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* C2ED14 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* C2ED18 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* C2ED1C 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* C2ED20 80240180 44073000 */ mfc1 $a3, $f6 +/* C2ED24 80240184 0000302D */ daddu $a2, $zero, $zero +/* C2ED28 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* C2ED2C 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* C2ED30 80240190 0C01BFA4 */ jal fx_emote +/* C2ED34 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* C2ED38 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* C2ED3C 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* C2ED40 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* C2ED44 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* C2ED48 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* C2ED4C 802401AC 03E00008 */ jr $ra +/* C2ED50 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_802401B4_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_802401B4_C2EBA0.s new file mode 100644 index 0000000000..79f2a03695 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_802401B4_C2EBA0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_C2ED54 +/* C2ED54 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2ED58 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* C2ED5C 802401BC 0080882D */ daddu $s1, $a0, $zero +/* C2ED60 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C2ED64 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* C2ED68 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* C2ED6C 802401CC 0C00EABB */ jal get_npc_unsafe +/* C2ED70 802401D0 86040008 */ lh $a0, 8($s0) +/* C2ED74 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* C2ED78 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* C2ED7C 802401DC A443008E */ sh $v1, 0x8e($v0) +/* C2ED80 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* C2ED84 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* C2ED88 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* C2ED8C 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* C2ED90 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* C2ED94 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* C2ED98 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* C2ED9C 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* C2EDA0 80240200 03E00008 */ jr $ra +/* C2EDA4 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240208_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240208_C2EBA0.s new file mode 100644 index 0000000000..c9f5bef4fc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240208_C2EBA0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_C2EDA8 +/* C2EDA8 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C2EDAC 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* C2EDB0 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* C2EDB4 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* C2EDB8 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* C2EDBC 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* C2EDC0 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* C2EDC4 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C2EDC8 80240228 8C900148 */ lw $s0, 0x148($a0) +/* C2EDCC 8024022C 86040008 */ lh $a0, 8($s0) +/* C2EDD0 80240230 0C00EABB */ jal get_npc_unsafe +/* C2EDD4 80240234 24110001 */ addiu $s1, $zero, 1 +/* C2EDD8 80240238 86040008 */ lh $a0, 8($s0) +/* C2EDDC 8024023C 0040802D */ daddu $s0, $v0, $zero +/* C2EDE0 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* C2EDE4 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C2EDE8 80240248 3C03800A */ lui $v1, 0x800a +/* C2EDEC 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* C2EDF0 80240250 00912021 */ addu $a0, $a0, $s1 +/* C2EDF4 80240254 00031080 */ sll $v0, $v1, 2 +/* C2EDF8 80240258 00431021 */ addu $v0, $v0, $v1 +/* C2EDFC 8024025C 00021080 */ sll $v0, $v0, 2 +/* C2EE00 80240260 00431023 */ subu $v0, $v0, $v1 +/* C2EE04 80240264 000218C0 */ sll $v1, $v0, 3 +/* C2EE08 80240268 00431021 */ addu $v0, $v0, $v1 +/* C2EE0C 8024026C 000210C0 */ sll $v0, $v0, 3 +/* C2EE10 80240270 0C00FB3A */ jal get_enemy +/* C2EE14 80240274 00459021 */ addu $s2, $v0, $a1 +/* C2EE18 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C2EE1C 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C2EE20 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2EE24 80240284 8E830000 */ lw $v1, ($s4) +/* C2EE28 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2EE2C 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* C2EE30 80240290 8C670030 */ lw $a3, 0x30($v1) +/* C2EE34 80240294 0C00A7B5 */ jal dist2D +/* C2EE38 80240298 0040982D */ daddu $s3, $v0, $zero +/* C2EE3C 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* C2EE40 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* C2EE44 802402A4 4600103C */ c.lt.s $f2, $f0 +/* C2EE48 802402A8 00000000 */ nop +/* C2EE4C 802402AC 45030001 */ bc1tl .L802402B4 +/* C2EE50 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* C2EE54 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C2EE58 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C2EE5C 802402BC 3C014387 */ lui $at, 0x4387 +/* C2EE60 802402C0 4481A000 */ mtc1 $at, $f20 +/* C2EE64 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* C2EE68 802402C8 00000000 */ nop +/* C2EE6C 802402CC 0C00A6C9 */ jal clamp_angle +/* C2EE70 802402D0 46000306 */ mov.s $f12, $f0 +/* C2EE74 802402D4 3C018024 */ lui $at, 0x8024 +/* C2EE78 802402D8 D4222610 */ ldc1 $f2, 0x2610($at) +/* C2EE7C 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* C2EE80 802402E0 4622003C */ c.lt.d $f0, $f2 +/* C2EE84 802402E4 00000000 */ nop +/* C2EE88 802402E8 45000003 */ bc1f .L802402F8 +/* C2EE8C 802402EC 00000000 */ nop +/* C2EE90 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* C2EE94 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* C2EE98 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2EE9C 802402FC 8E820000 */ lw $v0, ($s4) +/* C2EEA0 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2EEA4 80240304 8C460028 */ lw $a2, 0x28($v0) +/* C2EEA8 80240308 0C00A720 */ jal atan2 +/* C2EEAC 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* C2EEB0 80240310 4600A306 */ mov.s $f12, $f20 +/* C2EEB4 80240314 0C00A70A */ jal get_clamped_angle_diff +/* C2EEB8 80240318 46000386 */ mov.s $f14, $f0 +/* C2EEBC 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* C2EEC0 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* C2EEC4 80240324 46000005 */ abs.s $f0, $f0 +/* C2EEC8 80240328 4600103C */ c.lt.s $f2, $f0 +/* C2EECC 8024032C 00000000 */ nop +/* C2EED0 80240330 45030001 */ bc1tl .L80240338 +/* C2EED4 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* C2EED8 80240338 8E820000 */ lw $v0, ($s4) +/* C2EEDC 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* C2EEE0 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* C2EEE4 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* C2EEE8 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* C2EEEC 8024034C 44821000 */ mtc1 $v0, $f2 +/* C2EEF0 80240350 00000000 */ nop +/* C2EEF4 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* C2EEF8 80240358 46221080 */ add.d $f2, $f2, $f2 +/* C2EEFC 8024035C 46000005 */ abs.s $f0, $f0 +/* C2EF00 80240360 46000021 */ cvt.d.s $f0, $f0 +/* C2EF04 80240364 4620103E */ c.le.d $f2, $f0 +/* C2EF08 80240368 00000000 */ nop +/* C2EF0C 8024036C 45030001 */ bc1tl .L80240374 +/* C2EF10 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* C2EF14 80240374 3C038011 */ lui $v1, 0x8011 +/* C2EF18 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* C2EF1C 8024037C 24020009 */ addiu $v0, $zero, 9 +/* C2EF20 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* C2EF24 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* C2EF28 80240388 24020007 */ addiu $v0, $zero, 7 +/* C2EF2C 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* C2EF30 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* C2EF34 80240394 0220102D */ daddu $v0, $s1, $zero +/* C2EF38 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* C2EF3C 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* C2EF40 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C2EF44 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* C2EF48 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* C2EF4C 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* C2EF50 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C2EF54 802403B4 03E00008 */ jr $ra +/* C2EF58 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_8024061C_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_8024061C_C2EBA0.s new file mode 100644 index 0000000000..76f7a85148 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_8024061C_C2EBA0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_C2F1BC +/* C2F1BC 8024061C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C2F1C0 80240620 AFB20038 */ sw $s2, 0x38($sp) +/* C2F1C4 80240624 0080902D */ daddu $s2, $a0, $zero +/* C2F1C8 80240628 AFBF0048 */ sw $ra, 0x48($sp) +/* C2F1CC 8024062C AFB50044 */ sw $s5, 0x44($sp) +/* C2F1D0 80240630 AFB40040 */ sw $s4, 0x40($sp) +/* C2F1D4 80240634 AFB3003C */ sw $s3, 0x3c($sp) +/* C2F1D8 80240638 AFB10034 */ sw $s1, 0x34($sp) +/* C2F1DC 8024063C AFB00030 */ sw $s0, 0x30($sp) +/* C2F1E0 80240640 8E510148 */ lw $s1, 0x148($s2) +/* C2F1E4 80240644 86240008 */ lh $a0, 8($s1) +/* C2F1E8 80240648 0C00EABB */ jal get_npc_unsafe +/* C2F1EC 8024064C 00A0802D */ daddu $s0, $a1, $zero +/* C2F1F0 80240650 8E43000C */ lw $v1, 0xc($s2) +/* C2F1F4 80240654 0240202D */ daddu $a0, $s2, $zero +/* C2F1F8 80240658 8C650000 */ lw $a1, ($v1) +/* C2F1FC 8024065C 0C0B1EAF */ jal get_variable +/* C2F200 80240660 0040A82D */ daddu $s5, $v0, $zero +/* C2F204 80240664 AFA00010 */ sw $zero, 0x10($sp) +/* C2F208 80240668 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2F20C 8024066C 8C630030 */ lw $v1, 0x30($v1) +/* C2F210 80240670 AFA30014 */ sw $v1, 0x14($sp) +/* C2F214 80240674 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2F218 80240678 8C63001C */ lw $v1, 0x1c($v1) +/* C2F21C 8024067C AFA30018 */ sw $v1, 0x18($sp) +/* C2F220 80240680 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2F224 80240684 8C630024 */ lw $v1, 0x24($v1) +/* C2F228 80240688 AFA3001C */ sw $v1, 0x1c($sp) +/* C2F22C 8024068C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2F230 80240690 8C630028 */ lw $v1, 0x28($v1) +/* C2F234 80240694 27B40010 */ addiu $s4, $sp, 0x10 +/* C2F238 80240698 AFA30020 */ sw $v1, 0x20($sp) +/* C2F23C 8024069C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2F240 802406A0 3C014282 */ lui $at, 0x4282 +/* C2F244 802406A4 44810000 */ mtc1 $at, $f0 +/* C2F248 802406A8 8C63002C */ lw $v1, 0x2c($v1) +/* C2F24C 802406AC 0040982D */ daddu $s3, $v0, $zero +/* C2F250 802406B0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C2F254 802406B4 A7A0002C */ sh $zero, 0x2c($sp) +/* C2F258 802406B8 16000005 */ bnez $s0, .L802406D0 +/* C2F25C 802406BC AFA30024 */ sw $v1, 0x24($sp) +/* C2F260 802406C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2F264 802406C4 30420004 */ andi $v0, $v0, 4 +/* C2F268 802406C8 10400020 */ beqz $v0, .L8024074C +/* C2F26C 802406CC 00000000 */ nop +.L802406D0: +/* C2F270 802406D0 2404F7FF */ addiu $a0, $zero, -0x801 +/* C2F274 802406D4 AE400070 */ sw $zero, 0x70($s2) +/* C2F278 802406D8 A6A0008E */ sh $zero, 0x8e($s5) +/* C2F27C 802406DC 8E2200CC */ lw $v0, 0xcc($s1) +/* C2F280 802406E0 8EA30000 */ lw $v1, ($s5) +/* C2F284 802406E4 8C420000 */ lw $v0, ($v0) +/* C2F288 802406E8 00641824 */ and $v1, $v1, $a0 +/* C2F28C 802406EC AEA30000 */ sw $v1, ($s5) +/* C2F290 802406F0 AEA20028 */ sw $v0, 0x28($s5) +/* C2F294 802406F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* C2F298 802406F8 8C420034 */ lw $v0, 0x34($v0) +/* C2F29C 802406FC 54400005 */ bnel $v0, $zero, .L80240714 +/* C2F2A0 80240700 2402FDFF */ addiu $v0, $zero, -0x201 +/* C2F2A4 80240704 34620200 */ ori $v0, $v1, 0x200 +/* C2F2A8 80240708 2403FFF7 */ addiu $v1, $zero, -9 +/* C2F2AC 8024070C 080901C7 */ j .L8024071C +/* C2F2B0 80240710 00431024 */ and $v0, $v0, $v1 +.L80240714: +/* C2F2B4 80240714 00621024 */ and $v0, $v1, $v0 +/* C2F2B8 80240718 34420008 */ ori $v0, $v0, 8 +.L8024071C: +/* C2F2BC 8024071C AEA20000 */ sw $v0, ($s5) +/* C2F2C0 80240720 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2F2C4 80240724 30420004 */ andi $v0, $v0, 4 +/* C2F2C8 80240728 10400007 */ beqz $v0, .L80240748 +/* C2F2CC 8024072C 24020063 */ addiu $v0, $zero, 0x63 +/* C2F2D0 80240730 AE420070 */ sw $v0, 0x70($s2) +/* C2F2D4 80240734 AE400074 */ sw $zero, 0x74($s2) +/* C2F2D8 80240738 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2F2DC 8024073C 2403FFFB */ addiu $v1, $zero, -5 +/* C2F2E0 80240740 00431024 */ and $v0, $v0, $v1 +/* C2F2E4 80240744 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240748: +/* C2F2E8 80240748 AE20006C */ sw $zero, 0x6c($s1) +.L8024074C: +/* C2F2EC 8024074C 8E420070 */ lw $v0, 0x70($s2) +/* C2F2F0 80240750 2842001E */ slti $v0, $v0, 0x1e +/* C2F2F4 80240754 10400009 */ beqz $v0, .L8024077C +/* C2F2F8 80240758 00000000 */ nop +/* C2F2FC 8024075C 8E22006C */ lw $v0, 0x6c($s1) +/* C2F300 80240760 14400006 */ bnez $v0, .L8024077C +/* C2F304 80240764 00000000 */ nop +/* C2F308 80240768 0C090082 */ jal func_80240208 +/* C2F30C 8024076C 0240202D */ daddu $a0, $s2, $zero +/* C2F310 80240770 10400002 */ beqz $v0, .L8024077C +/* C2F314 80240774 2402001E */ addiu $v0, $zero, 0x1e +/* C2F318 80240778 AE420070 */ sw $v0, 0x70($s2) +.L8024077C: +/* C2F31C 8024077C 8E430070 */ lw $v1, 0x70($s2) +/* C2F320 80240780 2C620064 */ sltiu $v0, $v1, 0x64 +/* C2F324 80240784 10400048 */ beqz $v0, .L802408A8 +/* C2F328 80240788 00031080 */ sll $v0, $v1, 2 +/* C2F32C 8024078C 3C018024 */ lui $at, 0x8024 +/* C2F330 80240790 00220821 */ addu $at, $at, $v0 +/* C2F334 80240794 8C222618 */ lw $v0, 0x2618($at) +/* C2F338 80240798 00400008 */ jr $v0 +/* C2F33C 8024079C 00000000 */ nop +/* C2F340 802407A0 0240202D */ daddu $a0, $s2, $zero +/* C2F344 802407A4 0260282D */ daddu $a1, $s3, $zero +/* C2F348 802407A8 0C012568 */ jal func_800495A0 +/* C2F34C 802407AC 0280302D */ daddu $a2, $s4, $zero +/* C2F350 802407B0 0240202D */ daddu $a0, $s2, $zero +/* C2F354 802407B4 0260282D */ daddu $a1, $s3, $zero +/* C2F358 802407B8 0C0125AE */ jal func_800496B8 +/* C2F35C 802407BC 0280302D */ daddu $a2, $s4, $zero +/* C2F360 802407C0 0809022A */ j .L802408A8 +/* C2F364 802407C4 00000000 */ nop +/* C2F368 802407C8 0240202D */ daddu $a0, $s2, $zero +/* C2F36C 802407CC 0260282D */ daddu $a1, $s3, $zero +/* C2F370 802407D0 0C0126D1 */ jal func_80049B44 +/* C2F374 802407D4 0280302D */ daddu $a2, $s4, $zero +/* C2F378 802407D8 0240202D */ daddu $a0, $s2, $zero +/* C2F37C 802407DC 0260282D */ daddu $a1, $s3, $zero +/* C2F380 802407E0 0C012701 */ jal func_80049C04 +/* C2F384 802407E4 0280302D */ daddu $a2, $s4, $zero +/* C2F388 802407E8 0809022A */ j .L802408A8 +/* C2F38C 802407EC 00000000 */ nop +/* C2F390 802407F0 0240202D */ daddu $a0, $s2, $zero +/* C2F394 802407F4 0260282D */ daddu $a1, $s3, $zero +/* C2F398 802407F8 0C01278F */ jal func_80049E3C +/* C2F39C 802407FC 0280302D */ daddu $a2, $s4, $zero +/* C2F3A0 80240800 0240202D */ daddu $a0, $s2, $zero +/* C2F3A4 80240804 0260282D */ daddu $a1, $s3, $zero +/* C2F3A8 80240808 0C0127B3 */ jal func_80049ECC +/* C2F3AC 8024080C 0280302D */ daddu $a2, $s4, $zero +/* C2F3B0 80240810 0809022A */ j .L802408A8 +/* C2F3B4 80240814 00000000 */ nop +/* C2F3B8 80240818 0240202D */ daddu $a0, $s2, $zero +/* C2F3BC 8024081C 0260282D */ daddu $a1, $s3, $zero +/* C2F3C0 80240820 0C0127DF */ jal func_80049F7C +/* C2F3C4 80240824 0280302D */ daddu $a2, $s4, $zero +/* C2F3C8 80240828 0240202D */ daddu $a0, $s2, $zero +/* C2F3CC 8024082C 0260282D */ daddu $a1, $s3, $zero +/* C2F3D0 80240830 0C012849 */ jal func_8004A124 +/* C2F3D4 80240834 0280302D */ daddu $a2, $s4, $zero +/* C2F3D8 80240838 0809022A */ j .L802408A8 +/* C2F3DC 8024083C 00000000 */ nop +/* C2F3E0 80240840 0240202D */ daddu $a0, $s2, $zero +/* C2F3E4 80240844 0260282D */ daddu $a1, $s3, $zero +/* C2F3E8 80240848 0C0128FA */ jal func_8004A3E8 +/* C2F3EC 8024084C 0280302D */ daddu $a2, $s4, $zero +/* C2F3F0 80240850 0809022A */ j .L802408A8 +/* C2F3F4 80240854 00000000 */ nop +/* C2F3F8 80240858 0C090000 */ jal func_80240000 +/* C2F3FC 8024085C 0240202D */ daddu $a0, $s2, $zero +/* C2F400 80240860 0C09001B */ jal func_8024006C +/* C2F404 80240864 0240202D */ daddu $a0, $s2, $zero +/* C2F408 80240868 8E430070 */ lw $v1, 0x70($s2) +/* C2F40C 8024086C 24020020 */ addiu $v0, $zero, 0x20 +/* C2F410 80240870 1462000D */ bne $v1, $v0, .L802408A8 +/* C2F414 80240874 00000000 */ nop +/* C2F418 80240878 0C090037 */ jal func_802400DC +/* C2F41C 8024087C 0240202D */ daddu $a0, $s2, $zero +/* C2F420 80240880 8E430070 */ lw $v1, 0x70($s2) +/* C2F424 80240884 24020021 */ addiu $v0, $zero, 0x21 +/* C2F428 80240888 14620007 */ bne $v1, $v0, .L802408A8 +/* C2F42C 8024088C 00000000 */ nop +/* C2F430 80240890 0C09006D */ jal func_802401B4 +/* C2F434 80240894 0240202D */ daddu $a0, $s2, $zero +/* C2F438 80240898 0809022A */ j .L802408A8 +/* C2F43C 8024089C 00000000 */ nop +/* C2F440 802408A0 0C0129CF */ jal func_8004A73C +/* C2F444 802408A4 0240202D */ daddu $a0, $s2, $zero +.L802408A8: +/* C2F448 802408A8 8FBF0048 */ lw $ra, 0x48($sp) +/* C2F44C 802408AC 8FB50044 */ lw $s5, 0x44($sp) +/* C2F450 802408B0 8FB40040 */ lw $s4, 0x40($sp) +/* C2F454 802408B4 8FB3003C */ lw $s3, 0x3c($sp) +/* C2F458 802408B8 8FB20038 */ lw $s2, 0x38($sp) +/* C2F45C 802408BC 8FB10034 */ lw $s1, 0x34($sp) +/* C2F460 802408C0 8FB00030 */ lw $s0, 0x30($sp) +/* C2F464 802408C4 0000102D */ daddu $v0, $zero, $zero +/* C2F468 802408C8 03E00008 */ jr $ra +/* C2F46C 802408CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_802408D0_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_802408D0_C2EBA0.s new file mode 100644 index 0000000000..e964266343 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_802408D0_C2EBA0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_C2F470 +/* C2F470 802408D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2F474 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* C2F478 802408D8 0080882D */ daddu $s1, $a0, $zero +/* C2F47C 802408DC AFBF0018 */ sw $ra, 0x18($sp) +/* C2F480 802408E0 AFB00010 */ sw $s0, 0x10($sp) +/* C2F484 802408E4 8E300148 */ lw $s0, 0x148($s1) +/* C2F488 802408E8 0C00EABB */ jal get_npc_unsafe +/* C2F48C 802408EC 86040008 */ lh $a0, 8($s0) +/* C2F490 802408F0 0040202D */ daddu $a0, $v0, $zero +/* C2F494 802408F4 8482008E */ lh $v0, 0x8e($a0) +/* C2F498 802408F8 9483008E */ lhu $v1, 0x8e($a0) +/* C2F49C 802408FC 18400002 */ blez $v0, .L80240908 +/* C2F4A0 80240900 2462FFFF */ addiu $v0, $v1, -1 +/* C2F4A4 80240904 A482008E */ sh $v0, 0x8e($a0) +.L80240908: +/* C2F4A8 80240908 8482008E */ lh $v0, 0x8e($a0) +/* C2F4AC 8024090C 24030001 */ addiu $v1, $zero, 1 +/* C2F4B0 80240910 14430005 */ bne $v0, $v1, .L80240928 +/* C2F4B4 80240914 00000000 */ nop +/* C2F4B8 80240918 8E0200CC */ lw $v0, 0xcc($s0) +/* C2F4BC 8024091C 8C420030 */ lw $v0, 0x30($v0) +/* C2F4C0 80240920 08090251 */ j .L80240944 +/* C2F4C4 80240924 AC820028 */ sw $v0, 0x28($a0) +.L80240928: +/* C2F4C8 80240928 1C400006 */ bgtz $v0, .L80240944 +/* C2F4CC 8024092C 00000000 */ nop +/* C2F4D0 80240930 8E0200CC */ lw $v0, 0xcc($s0) +/* C2F4D4 80240934 8C420028 */ lw $v0, 0x28($v0) +/* C2F4D8 80240938 A480008E */ sh $zero, 0x8e($a0) +/* C2F4DC 8024093C AC820028 */ sw $v0, 0x28($a0) +/* C2F4E0 80240940 AE230070 */ sw $v1, 0x70($s1) +.L80240944: +/* C2F4E4 80240944 8FBF0018 */ lw $ra, 0x18($sp) +/* C2F4E8 80240948 8FB10014 */ lw $s1, 0x14($sp) +/* C2F4EC 8024094C 8FB00010 */ lw $s0, 0x10($sp) +/* C2F4F0 80240950 03E00008 */ jr $ra +/* C2F4F4 80240954 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240958.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240958.s new file mode 100644 index 0000000000..860930f58b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240958.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240958 +/* C2F4F8 80240958 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C2F4FC 8024095C AFB40048 */ sw $s4, 0x48($sp) +/* C2F500 80240960 0080A02D */ daddu $s4, $a0, $zero +/* C2F504 80240964 AFBF004C */ sw $ra, 0x4c($sp) +/* C2F508 80240968 AFB30044 */ sw $s3, 0x44($sp) +/* C2F50C 8024096C AFB20040 */ sw $s2, 0x40($sp) +/* C2F510 80240970 AFB1003C */ sw $s1, 0x3c($sp) +/* C2F514 80240974 AFB00038 */ sw $s0, 0x38($sp) +/* C2F518 80240978 8E930148 */ lw $s3, 0x148($s4) +/* C2F51C 8024097C 00C0802D */ daddu $s0, $a2, $zero +/* C2F520 80240980 86640008 */ lh $a0, 8($s3) +/* C2F524 80240984 0C00EABB */ jal get_npc_unsafe +/* C2F528 80240988 0000902D */ daddu $s2, $zero, $zero +/* C2F52C 8024098C 0C039D59 */ jal get_player_data +/* C2F530 80240990 0040882D */ daddu $s1, $v0, $zero +/* C2F534 80240994 0200202D */ daddu $a0, $s0, $zero +/* C2F538 80240998 0260282D */ daddu $a1, $s3, $zero +/* C2F53C 8024099C 0000382D */ daddu $a3, $zero, $zero +/* C2F540 802409A0 3C0642A0 */ lui $a2, 0x42a0 +/* C2F544 802409A4 0040802D */ daddu $s0, $v0, $zero +/* C2F548 802409A8 0C01242D */ jal func_800490B4 +/* C2F54C 802409AC AFA00010 */ sw $zero, 0x10($sp) +/* C2F550 802409B0 10400022 */ beqz $v0, .L80240A3C +/* C2F554 802409B4 00000000 */ nop +/* C2F558 802409B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C2F55C 802409BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C2F560 802409C0 804300B4 */ lb $v1, 0xb4($v0) +/* C2F564 802409C4 24020002 */ addiu $v0, $zero, 2 +/* C2F568 802409C8 10620013 */ beq $v1, $v0, .L80240A18 +/* C2F56C 802409CC 2402001A */ addiu $v0, $zero, 0x1a +/* C2F570 802409D0 10620011 */ beq $v1, $v0, .L80240A18 +/* C2F574 802409D4 24020003 */ addiu $v0, $zero, 3 +/* C2F578 802409D8 1062000F */ beq $v1, $v0, .L80240A18 +/* C2F57C 802409DC 2402000E */ addiu $v0, $zero, 0xe +/* C2F580 802409E0 1062000D */ beq $v1, $v0, .L80240A18 +/* C2F584 802409E4 24020010 */ addiu $v0, $zero, 0x10 +/* C2F588 802409E8 1062000B */ beq $v1, $v0, .L80240A18 +/* C2F58C 802409EC 2402000B */ addiu $v0, $zero, 0xb +/* C2F590 802409F0 10620009 */ beq $v1, $v0, .L80240A18 +/* C2F594 802409F4 2402000A */ addiu $v0, $zero, 0xa +/* C2F598 802409F8 10620007 */ beq $v1, $v0, .L80240A18 +/* C2F59C 802409FC 24020012 */ addiu $v0, $zero, 0x12 +/* C2F5A0 80240A00 10620005 */ beq $v1, $v0, .L80240A18 +/* C2F5A4 80240A04 24020013 */ addiu $v0, $zero, 0x13 +/* C2F5A8 80240A08 10620003 */ beq $v1, $v0, .L80240A18 +/* C2F5AC 80240A0C 24020025 */ addiu $v0, $zero, 0x25 +/* C2F5B0 80240A10 14620002 */ bne $v1, $v0, .L80240A1C +/* C2F5B4 80240A14 00000000 */ nop +.L80240A18: +/* C2F5B8 80240A18 24120001 */ addiu $s2, $zero, 1 +.L80240A1C: +/* C2F5BC 80240A1C 82030012 */ lb $v1, 0x12($s0) +/* C2F5C0 80240A20 24020002 */ addiu $v0, $zero, 2 +/* C2F5C4 80240A24 14620007 */ bne $v1, $v0, .L80240A44 +/* C2F5C8 80240A28 24020001 */ addiu $v0, $zero, 1 +/* C2F5CC 80240A2C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C2F5D0 80240A30 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C2F5D4 80240A34 50430002 */ beql $v0, $v1, .L80240A40 +/* C2F5D8 80240A38 24120001 */ addiu $s2, $zero, 1 +.L80240A3C: +/* C2F5DC 80240A3C 82030012 */ lb $v1, 0x12($s0) +.L80240A40: +/* C2F5E0 80240A40 24020001 */ addiu $v0, $zero, 1 +.L80240A44: +/* C2F5E4 80240A44 14620006 */ bne $v1, $v0, .L80240A60 +/* C2F5E8 80240A48 24020003 */ addiu $v0, $zero, 3 +/* C2F5EC 80240A4C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C2F5F0 80240A50 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C2F5F4 80240A54 14400008 */ bnez $v0, .L80240A78 +/* C2F5F8 80240A58 27A40028 */ addiu $a0, $sp, 0x28 +/* C2F5FC 80240A5C 24020003 */ addiu $v0, $zero, 3 +.L80240A60: +/* C2F600 80240A60 1462001B */ bne $v1, $v0, .L80240AD0 +/* C2F604 80240A64 24020002 */ addiu $v0, $zero, 2 +/* C2F608 80240A68 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C2F60C 80240A6C 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C2F610 80240A70 14620017 */ bne $v1, $v0, .L80240AD0 +/* C2F614 80240A74 27A40028 */ addiu $a0, $sp, 0x28 +.L80240A78: +/* C2F618 80240A78 27A5002C */ addiu $a1, $sp, 0x2c +/* C2F61C 80240A7C 8E27000C */ lw $a3, 0xc($s1) +/* C2F620 80240A80 C6200038 */ lwc1 $f0, 0x38($s1) +/* C2F624 80240A84 C6220040 */ lwc1 $f2, 0x40($s1) +/* C2F628 80240A88 0000302D */ daddu $a2, $zero, $zero +/* C2F62C 80240A8C E7A00028 */ swc1 $f0, 0x28($sp) +/* C2F630 80240A90 0C00A7E7 */ jal add_vec2D_polar +/* C2F634 80240A94 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C2F638 80240A98 3C028011 */ lui $v0, 0x8011 +/* C2F63C 80240A9C 8C42C930 */ lw $v0, -0x36d0($v0) +/* C2F640 80240AA0 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C2F644 80240AA4 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C2F648 80240AA8 8C460038 */ lw $a2, 0x38($v0) +/* C2F64C 80240AAC 0C00A7B5 */ jal dist2D +/* C2F650 80240AB0 8C470040 */ lw $a3, 0x40($v0) +/* C2F654 80240AB4 3C0142A0 */ lui $at, 0x42a0 +/* C2F658 80240AB8 44811000 */ mtc1 $at, $f2 +/* C2F65C 80240ABC 00000000 */ nop +/* C2F660 80240AC0 4602003E */ c.le.s $f0, $f2 +/* C2F664 80240AC4 00000000 */ nop +/* C2F668 80240AC8 45030001 */ bc1tl .L80240AD0 +/* C2F66C 80240ACC 24120001 */ addiu $s2, $zero, 1 +.L80240AD0: +/* C2F670 80240AD0 12400026 */ beqz $s2, .L80240B6C +/* C2F674 80240AD4 0220202D */ daddu $a0, $s1, $zero +/* C2F678 80240AD8 3C05B000 */ lui $a1, 0xb000 +/* C2F67C 80240ADC 34A5000E */ ori $a1, $a1, 0xe +/* C2F680 80240AE0 0C012530 */ jal func_800494C0 +/* C2F684 80240AE4 0000302D */ daddu $a2, $zero, $zero +/* C2F688 80240AE8 0000202D */ daddu $a0, $zero, $zero +/* C2F68C 80240AEC 0220282D */ daddu $a1, $s1, $zero +/* C2F690 80240AF0 0000302D */ daddu $a2, $zero, $zero +/* C2F694 80240AF4 862200A8 */ lh $v0, 0xa8($s1) +/* C2F698 80240AF8 8E6300CC */ lw $v1, 0xcc($s3) +/* C2F69C 80240AFC 3C013F80 */ lui $at, 0x3f80 +/* C2F6A0 80240B00 44810000 */ mtc1 $at, $f0 +/* C2F6A4 80240B04 3C014000 */ lui $at, 0x4000 +/* C2F6A8 80240B08 44811000 */ mtc1 $at, $f2 +/* C2F6AC 80240B0C 3C01C1A0 */ lui $at, 0xc1a0 +/* C2F6B0 80240B10 44812000 */ mtc1 $at, $f4 +/* C2F6B4 80240B14 44823000 */ mtc1 $v0, $f6 +/* C2F6B8 80240B18 00000000 */ nop +/* C2F6BC 80240B1C 468031A0 */ cvt.s.w $f6, $f6 +/* C2F6C0 80240B20 44073000 */ mfc1 $a3, $f6 +/* C2F6C4 80240B24 8C63002C */ lw $v1, 0x2c($v1) +/* C2F6C8 80240B28 2402000A */ addiu $v0, $zero, 0xa +/* C2F6CC 80240B2C A622008E */ sh $v0, 0x8e($s1) +/* C2F6D0 80240B30 2402000F */ addiu $v0, $zero, 0xf +/* C2F6D4 80240B34 AE230028 */ sw $v1, 0x28($s1) +/* C2F6D8 80240B38 AFA2001C */ sw $v0, 0x1c($sp) +/* C2F6DC 80240B3C 27A20030 */ addiu $v0, $sp, 0x30 +/* C2F6E0 80240B40 E7A00010 */ swc1 $f0, 0x10($sp) +/* C2F6E4 80240B44 E7A20014 */ swc1 $f2, 0x14($sp) +/* C2F6E8 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* C2F6EC 80240B4C 0C01BFA4 */ jal fx_emote +/* C2F6F0 80240B50 AFA20020 */ sw $v0, 0x20($sp) +/* C2F6F4 80240B54 0220202D */ daddu $a0, $s1, $zero +/* C2F6F8 80240B58 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C2F6FC 80240B5C 0C012530 */ jal func_800494C0 +/* C2F700 80240B60 3C060020 */ lui $a2, 0x20 +/* C2F704 80240B64 24020002 */ addiu $v0, $zero, 2 +/* C2F708 80240B68 AE820070 */ sw $v0, 0x70($s4) +.L80240B6C: +/* C2F70C 80240B6C 9622008E */ lhu $v0, 0x8e($s1) +/* C2F710 80240B70 24420001 */ addiu $v0, $v0, 1 +/* C2F714 80240B74 A622008E */ sh $v0, 0x8e($s1) +/* C2F718 80240B78 00021400 */ sll $v0, $v0, 0x10 +/* C2F71C 80240B7C 00021C03 */ sra $v1, $v0, 0x10 +/* C2F720 80240B80 2402001B */ addiu $v0, $zero, 0x1b +/* C2F724 80240B84 14620005 */ bne $v1, $v0, .L80240B9C +/* C2F728 80240B88 24020039 */ addiu $v0, $zero, 0x39 +/* C2F72C 80240B8C 0220202D */ daddu $a0, $s1, $zero +/* C2F730 80240B90 3C05B000 */ lui $a1, 0xb000 +/* C2F734 80240B94 080902EC */ j .L80240BB0 +/* C2F738 80240B98 34A5000C */ ori $a1, $a1, 0xc +.L80240B9C: +/* C2F73C 80240B9C 14620008 */ bne $v1, $v0, .L80240BC0 +/* C2F740 80240BA0 2402003B */ addiu $v0, $zero, 0x3b +/* C2F744 80240BA4 0220202D */ daddu $a0, $s1, $zero +/* C2F748 80240BA8 3C05B000 */ lui $a1, 0xb000 +/* C2F74C 80240BAC 34A5000D */ ori $a1, $a1, 0xd +.L80240BB0: +/* C2F750 80240BB0 0C012530 */ jal func_800494C0 +/* C2F754 80240BB4 0000302D */ daddu $a2, $zero, $zero +/* C2F758 80240BB8 080902FC */ j .L80240BF0 +/* C2F75C 80240BBC 00000000 */ nop +.L80240BC0: +/* C2F760 80240BC0 14620005 */ bne $v1, $v0, .L80240BD8 +/* C2F764 80240BC4 2402003C */ addiu $v0, $zero, 0x3c +/* C2F768 80240BC8 8E6200CC */ lw $v0, 0xcc($s3) +/* C2F76C 80240BCC 8C420030 */ lw $v0, 0x30($v0) +/* C2F770 80240BD0 080902FC */ j .L80240BF0 +/* C2F774 80240BD4 AE220028 */ sw $v0, 0x28($s1) +.L80240BD8: +/* C2F778 80240BD8 14620005 */ bne $v1, $v0, .L80240BF0 +/* C2F77C 80240BDC 00000000 */ nop +/* C2F780 80240BE0 8E6200CC */ lw $v0, 0xcc($s3) +/* C2F784 80240BE4 8C420028 */ lw $v0, 0x28($v0) +/* C2F788 80240BE8 A620008E */ sh $zero, 0x8e($s1) +/* C2F78C 80240BEC AE220028 */ sw $v0, 0x28($s1) +.L80240BF0: +/* C2F790 80240BF0 8FBF004C */ lw $ra, 0x4c($sp) +/* C2F794 80240BF4 8FB40048 */ lw $s4, 0x48($sp) +/* C2F798 80240BF8 8FB30044 */ lw $s3, 0x44($sp) +/* C2F79C 80240BFC 8FB20040 */ lw $s2, 0x40($sp) +/* C2F7A0 80240C00 8FB1003C */ lw $s1, 0x3c($sp) +/* C2F7A4 80240C04 8FB00038 */ lw $s0, 0x38($sp) +/* C2F7A8 80240C08 03E00008 */ jr $ra +/* C2F7AC 80240C0C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C10_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C10_C2EBA0.s new file mode 100644 index 0000000000..d4b7f1daf9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C10_C2EBA0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C10_C2F7B0 +/* C2F7B0 80240C10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2F7B4 80240C14 AFB10014 */ sw $s1, 0x14($sp) +/* C2F7B8 80240C18 0080882D */ daddu $s1, $a0, $zero +/* C2F7BC 80240C1C AFBF0018 */ sw $ra, 0x18($sp) +/* C2F7C0 80240C20 AFB00010 */ sw $s0, 0x10($sp) +/* C2F7C4 80240C24 8E300148 */ lw $s0, 0x148($s1) +/* C2F7C8 80240C28 0C00EABB */ jal get_npc_unsafe +/* C2F7CC 80240C2C 86040008 */ lh $a0, 8($s0) +/* C2F7D0 80240C30 0040182D */ daddu $v1, $v0, $zero +/* C2F7D4 80240C34 9462008E */ lhu $v0, 0x8e($v1) +/* C2F7D8 80240C38 2442FFFF */ addiu $v0, $v0, -1 +/* C2F7DC 80240C3C A462008E */ sh $v0, 0x8e($v1) +/* C2F7E0 80240C40 00021400 */ sll $v0, $v0, 0x10 +/* C2F7E4 80240C44 1C400006 */ bgtz $v0, .L80240C60 +/* C2F7E8 80240C48 24020001 */ addiu $v0, $zero, 1 +/* C2F7EC 80240C4C A462008E */ sh $v0, 0x8e($v1) +/* C2F7F0 80240C50 24020028 */ addiu $v0, $zero, 0x28 +/* C2F7F4 80240C54 AE020088 */ sw $v0, 0x88($s0) +/* C2F7F8 80240C58 24020003 */ addiu $v0, $zero, 3 +/* C2F7FC 80240C5C AE220070 */ sw $v0, 0x70($s1) +.L80240C60: +/* C2F800 80240C60 8FBF0018 */ lw $ra, 0x18($sp) +/* C2F804 80240C64 8FB10014 */ lw $s1, 0x14($sp) +/* C2F808 80240C68 8FB00010 */ lw $s0, 0x10($sp) +/* C2F80C 80240C6C 03E00008 */ jr $ra +/* C2F810 80240C70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C74_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C74_C2EBA0.s new file mode 100644 index 0000000000..1605608790 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240C74_C2EBA0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74_C2F814 +/* C2F814 80240C74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2F818 80240C78 AFB10014 */ sw $s1, 0x14($sp) +/* C2F81C 80240C7C 0080882D */ daddu $s1, $a0, $zero +/* C2F820 80240C80 AFBF001C */ sw $ra, 0x1c($sp) +/* C2F824 80240C84 AFB20018 */ sw $s2, 0x18($sp) +/* C2F828 80240C88 AFB00010 */ sw $s0, 0x10($sp) +/* C2F82C 80240C8C 8E320148 */ lw $s2, 0x148($s1) +/* C2F830 80240C90 0C00EABB */ jal get_npc_unsafe +/* C2F834 80240C94 86440008 */ lh $a0, 8($s2) +/* C2F838 80240C98 240400B4 */ addiu $a0, $zero, 0xb4 +/* C2F83C 80240C9C 0C00A67F */ jal rand_int +/* C2F840 80240CA0 0040802D */ daddu $s0, $v0, $zero +/* C2F844 80240CA4 C60C000C */ lwc1 $f12, 0xc($s0) +/* C2F848 80240CA8 44820000 */ mtc1 $v0, $f0 +/* C2F84C 80240CAC 00000000 */ nop +/* C2F850 80240CB0 46800020 */ cvt.s.w $f0, $f0 +/* C2F854 80240CB4 46006300 */ add.s $f12, $f12, $f0 +/* C2F858 80240CB8 3C0142B4 */ lui $at, 0x42b4 +/* C2F85C 80240CBC 44810000 */ mtc1 $at, $f0 +/* C2F860 80240CC0 0C00A6C9 */ jal clamp_angle +/* C2F864 80240CC4 46006301 */ sub.s $f12, $f12, $f0 +/* C2F868 80240CC8 E600000C */ swc1 $f0, 0xc($s0) +/* C2F86C 80240CCC 8E4200CC */ lw $v0, 0xcc($s2) +/* C2F870 80240CD0 8C420000 */ lw $v0, ($v0) +/* C2F874 80240CD4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C2F878 80240CD8 0C00A67F */ jal rand_int +/* C2F87C 80240CDC AE020028 */ sw $v0, 0x28($s0) +/* C2F880 80240CE0 00021FC2 */ srl $v1, $v0, 0x1f +/* C2F884 80240CE4 00431821 */ addu $v1, $v0, $v1 +/* C2F888 80240CE8 00031843 */ sra $v1, $v1, 1 +/* C2F88C 80240CEC 00031840 */ sll $v1, $v1, 1 +/* C2F890 80240CF0 00431023 */ subu $v0, $v0, $v1 +/* C2F894 80240CF4 24420002 */ addiu $v0, $v0, 2 +/* C2F898 80240CF8 AE220074 */ sw $v0, 0x74($s1) +/* C2F89C 80240CFC 24020004 */ addiu $v0, $zero, 4 +/* C2F8A0 80240D00 AE220070 */ sw $v0, 0x70($s1) +/* C2F8A4 80240D04 8FBF001C */ lw $ra, 0x1c($sp) +/* C2F8A8 80240D08 8FB20018 */ lw $s2, 0x18($sp) +/* C2F8AC 80240D0C 8FB10014 */ lw $s1, 0x14($sp) +/* C2F8B0 80240D10 8FB00010 */ lw $s0, 0x10($sp) +/* C2F8B4 80240D14 03E00008 */ jr $ra +/* C2F8B8 80240D18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240D1C_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240D1C_C2EBA0.s new file mode 100644 index 0000000000..28d12dc56f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240D1C_C2EBA0.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D1C_C2F8BC +/* C2F8BC 80240D1C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C2F8C0 80240D20 AFB20020 */ sw $s2, 0x20($sp) +/* C2F8C4 80240D24 0080902D */ daddu $s2, $a0, $zero +/* C2F8C8 80240D28 AFBF0028 */ sw $ra, 0x28($sp) +/* C2F8CC 80240D2C AFB30024 */ sw $s3, 0x24($sp) +/* C2F8D0 80240D30 AFB1001C */ sw $s1, 0x1c($sp) +/* C2F8D4 80240D34 AFB00018 */ sw $s0, 0x18($sp) +/* C2F8D8 80240D38 8E510148 */ lw $s1, 0x148($s2) +/* C2F8DC 80240D3C 00A0982D */ daddu $s3, $a1, $zero +/* C2F8E0 80240D40 86240008 */ lh $a0, 8($s1) +/* C2F8E4 80240D44 0C00EABB */ jal get_npc_unsafe +/* C2F8E8 80240D48 00C0802D */ daddu $s0, $a2, $zero +/* C2F8EC 80240D4C 0200202D */ daddu $a0, $s0, $zero +/* C2F8F0 80240D50 0040802D */ daddu $s0, $v0, $zero +/* C2F8F4 80240D54 AFA00010 */ sw $zero, 0x10($sp) +/* C2F8F8 80240D58 8E660024 */ lw $a2, 0x24($s3) +/* C2F8FC 80240D5C 8E670028 */ lw $a3, 0x28($s3) +/* C2F900 80240D60 0C01242D */ jal func_800490B4 +/* C2F904 80240D64 0220282D */ daddu $a1, $s1, $zero +/* C2F908 80240D68 1040000C */ beqz $v0, .L80240D9C +/* C2F90C 80240D6C 00000000 */ nop +/* C2F910 80240D70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C2F914 80240D74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C2F918 80240D78 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2F91C 80240D7C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2F920 80240D80 8C460028 */ lw $a2, 0x28($v0) +/* C2F924 80240D84 0C00A720 */ jal atan2 +/* C2F928 80240D88 8C470030 */ lw $a3, 0x30($v0) +/* C2F92C 80240D8C 2402000C */ addiu $v0, $zero, 0xc +/* C2F930 80240D90 E600000C */ swc1 $f0, 0xc($s0) +/* C2F934 80240D94 0809038E */ j .L80240E38 +/* C2F938 80240D98 AE420070 */ sw $v0, 0x70($s2) +.L80240D9C: +/* C2F93C 80240D9C 9602008E */ lhu $v0, 0x8e($s0) +/* C2F940 80240DA0 2442FFFF */ addiu $v0, $v0, -1 +/* C2F944 80240DA4 A602008E */ sh $v0, 0x8e($s0) +/* C2F948 80240DA8 00021400 */ sll $v0, $v0, 0x10 +/* C2F94C 80240DAC 1C400022 */ bgtz $v0, .L80240E38 +/* C2F950 80240DB0 00000000 */ nop +/* C2F954 80240DB4 8E420074 */ lw $v0, 0x74($s2) +/* C2F958 80240DB8 2442FFFF */ addiu $v0, $v0, -1 +/* C2F95C 80240DBC 18400014 */ blez $v0, .L80240E10 +/* C2F960 80240DC0 AE420074 */ sw $v0, 0x74($s2) +/* C2F964 80240DC4 C600000C */ lwc1 $f0, 0xc($s0) +/* C2F968 80240DC8 3C014334 */ lui $at, 0x4334 +/* C2F96C 80240DCC 44816000 */ mtc1 $at, $f12 +/* C2F970 80240DD0 0C00A6C9 */ jal clamp_angle +/* C2F974 80240DD4 460C0300 */ add.s $f12, $f0, $f12 +/* C2F978 80240DD8 E600000C */ swc1 $f0, 0xc($s0) +/* C2F97C 80240DDC 8E640008 */ lw $a0, 8($s3) +/* C2F980 80240DE0 000417C2 */ srl $v0, $a0, 0x1f +/* C2F984 80240DE4 00822021 */ addu $a0, $a0, $v0 +/* C2F988 80240DE8 00042043 */ sra $a0, $a0, 1 +/* C2F98C 80240DEC 0C00A67F */ jal rand_int +/* C2F990 80240DF0 24840001 */ addiu $a0, $a0, 1 +/* C2F994 80240DF4 8E630008 */ lw $v1, 8($s3) +/* C2F998 80240DF8 000327C2 */ srl $a0, $v1, 0x1f +/* C2F99C 80240DFC 00641821 */ addu $v1, $v1, $a0 +/* C2F9A0 80240E00 00031843 */ sra $v1, $v1, 1 +/* C2F9A4 80240E04 00621821 */ addu $v1, $v1, $v0 +/* C2F9A8 80240E08 0809038E */ j .L80240E38 +/* C2F9AC 80240E0C A603008E */ sh $v1, 0x8e($s0) +.L80240E10: +/* C2F9B0 80240E10 8E250088 */ lw $a1, 0x88($s1) +/* C2F9B4 80240E14 24020028 */ addiu $v0, $zero, 0x28 +/* C2F9B8 80240E18 14A20003 */ bne $a1, $v0, .L80240E28 +/* C2F9BC 80240E1C 24020032 */ addiu $v0, $zero, 0x32 +/* C2F9C0 80240E20 0809038C */ j .L80240E30 +/* C2F9C4 80240E24 24020014 */ addiu $v0, $zero, 0x14 +.L80240E28: +/* C2F9C8 80240E28 14A20003 */ bne $a1, $v0, .L80240E38 +/* C2F9CC 80240E2C 24020019 */ addiu $v0, $zero, 0x19 +.L80240E30: +/* C2F9D0 80240E30 A602008E */ sh $v0, 0x8e($s0) +/* C2F9D4 80240E34 AE450070 */ sw $a1, 0x70($s2) +.L80240E38: +/* C2F9D8 80240E38 8FBF0028 */ lw $ra, 0x28($sp) +/* C2F9DC 80240E3C 8FB30024 */ lw $s3, 0x24($sp) +/* C2F9E0 80240E40 8FB20020 */ lw $s2, 0x20($sp) +/* C2F9E4 80240E44 8FB1001C */ lw $s1, 0x1c($sp) +/* C2F9E8 80240E48 8FB00018 */ lw $s0, 0x18($sp) +/* C2F9EC 80240E4C 03E00008 */ jr $ra +/* C2F9F0 80240E50 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240E54_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240E54_C2EBA0.s new file mode 100644 index 0000000000..bf49377b07 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240E54_C2EBA0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E54_C2F9F4 +/* C2F9F4 80240E54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C2F9F8 80240E58 AFB20018 */ sw $s2, 0x18($sp) +/* C2F9FC 80240E5C 0080902D */ daddu $s2, $a0, $zero +/* C2FA00 80240E60 AFBF001C */ sw $ra, 0x1c($sp) +/* C2FA04 80240E64 AFB10014 */ sw $s1, 0x14($sp) +/* C2FA08 80240E68 AFB00010 */ sw $s0, 0x10($sp) +/* C2FA0C 80240E6C 8E500148 */ lw $s0, 0x148($s2) +/* C2FA10 80240E70 86040008 */ lh $a0, 8($s0) +/* C2FA14 80240E74 0C00EABB */ jal get_npc_unsafe +/* C2FA18 80240E78 00A0882D */ daddu $s1, $a1, $zero +/* C2FA1C 80240E7C 0040182D */ daddu $v1, $v0, $zero +/* C2FA20 80240E80 9462008E */ lhu $v0, 0x8e($v1) +/* C2FA24 80240E84 2442FFFF */ addiu $v0, $v0, -1 +/* C2FA28 80240E88 A462008E */ sh $v0, 0x8e($v1) +/* C2FA2C 80240E8C 00021400 */ sll $v0, $v0, 0x10 +/* C2FA30 80240E90 1C400015 */ bgtz $v0, .L80240EE8 +/* C2FA34 80240E94 00000000 */ nop +/* C2FA38 80240E98 8E0200CC */ lw $v0, 0xcc($s0) +/* C2FA3C 80240E9C 8C420004 */ lw $v0, 4($v0) +/* C2FA40 80240EA0 AC620028 */ sw $v0, 0x28($v1) +/* C2FA44 80240EA4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C2FA48 80240EA8 8C420014 */ lw $v0, 0x14($v0) +/* C2FA4C 80240EAC 04410004 */ bgez $v0, .L80240EC0 +/* C2FA50 80240EB0 00000000 */ nop +/* C2FA54 80240EB4 C6200000 */ lwc1 $f0, ($s1) +/* C2FA58 80240EB8 080903B8 */ j .L80240EE0 +/* C2FA5C 80240EBC E4600018 */ swc1 $f0, 0x18($v1) +.L80240EC0: +/* C2FA60 80240EC0 3C018024 */ lui $at, 0x8024 +/* C2FA64 80240EC4 D42227A8 */ ldc1 $f2, 0x27a8($at) +/* C2FA68 80240EC8 44820000 */ mtc1 $v0, $f0 +/* C2FA6C 80240ECC 00000000 */ nop +/* C2FA70 80240ED0 46800021 */ cvt.d.w $f0, $f0 +/* C2FA74 80240ED4 46220003 */ div.d $f0, $f0, $f2 +/* C2FA78 80240ED8 46200020 */ cvt.s.d $f0, $f0 +/* C2FA7C 80240EDC E4600018 */ swc1 $f0, 0x18($v1) +.L80240EE0: +/* C2FA80 80240EE0 24020029 */ addiu $v0, $zero, 0x29 +/* C2FA84 80240EE4 AE420070 */ sw $v0, 0x70($s2) +.L80240EE8: +/* C2FA88 80240EE8 8FBF001C */ lw $ra, 0x1c($sp) +/* C2FA8C 80240EEC 8FB20018 */ lw $s2, 0x18($sp) +/* C2FA90 80240EF0 8FB10014 */ lw $s1, 0x14($sp) +/* C2FA94 80240EF4 8FB00010 */ lw $s0, 0x10($sp) +/* C2FA98 80240EF8 03E00008 */ jr $ra +/* C2FA9C 80240EFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80240F00_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240F00_C2EBA0.s new file mode 100644 index 0000000000..868fc4fbd4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80240F00_C2EBA0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F00_C2FAA0 +/* C2FAA0 80240F00 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C2FAA4 80240F04 AFB3002C */ sw $s3, 0x2c($sp) +/* C2FAA8 80240F08 0080982D */ daddu $s3, $a0, $zero +/* C2FAAC 80240F0C AFBF0030 */ sw $ra, 0x30($sp) +/* C2FAB0 80240F10 AFB20028 */ sw $s2, 0x28($sp) +/* C2FAB4 80240F14 AFB10024 */ sw $s1, 0x24($sp) +/* C2FAB8 80240F18 AFB00020 */ sw $s0, 0x20($sp) +/* C2FABC 80240F1C 8E720148 */ lw $s2, 0x148($s3) +/* C2FAC0 80240F20 00A0882D */ daddu $s1, $a1, $zero +/* C2FAC4 80240F24 86440008 */ lh $a0, 8($s2) +/* C2FAC8 80240F28 0C00EABB */ jal get_npc_unsafe +/* C2FACC 80240F2C 00C0802D */ daddu $s0, $a2, $zero +/* C2FAD0 80240F30 0200202D */ daddu $a0, $s0, $zero +/* C2FAD4 80240F34 0240282D */ daddu $a1, $s2, $zero +/* C2FAD8 80240F38 AFA00010 */ sw $zero, 0x10($sp) +/* C2FADC 80240F3C 8E260024 */ lw $a2, 0x24($s1) +/* C2FAE0 80240F40 8E270028 */ lw $a3, 0x28($s1) +/* C2FAE4 80240F44 0C01242D */ jal func_800490B4 +/* C2FAE8 80240F48 0040802D */ daddu $s0, $v0, $zero +/* C2FAEC 80240F4C 1040000C */ beqz $v0, .L80240F80 +/* C2FAF0 80240F50 00000000 */ nop +/* C2FAF4 80240F54 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2FAF8 80240F58 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C2FAFC 80240F5C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C2FB00 80240F60 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2FB04 80240F64 8C460028 */ lw $a2, 0x28($v0) +/* C2FB08 80240F68 0C00A720 */ jal atan2 +/* C2FB0C 80240F6C 8C470030 */ lw $a3, 0x30($v0) +/* C2FB10 80240F70 2402000C */ addiu $v0, $zero, 0xc +/* C2FB14 80240F74 E600000C */ swc1 $f0, 0xc($s0) +/* C2FB18 80240F78 08090417 */ j .L8024105C +/* C2FB1C 80240F7C AE620070 */ sw $v0, 0x70($s3) +.L80240F80: +/* C2FB20 80240F80 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2FB24 80240F84 8E4200D0 */ lw $v0, 0xd0($s2) +/* C2FB28 80240F88 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2FB2C 80240F8C C4440000 */ lwc1 $f4, ($v0) +/* C2FB30 80240F90 46802120 */ cvt.s.w $f4, $f4 +/* C2FB34 80240F94 44062000 */ mfc1 $a2, $f4 +/* C2FB38 80240F98 C4440008 */ lwc1 $f4, 8($v0) +/* C2FB3C 80240F9C 46802120 */ cvt.s.w $f4, $f4 +/* C2FB40 80240FA0 44072000 */ mfc1 $a3, $f4 +/* C2FB44 80240FA4 0C00A7B5 */ jal dist2D +/* C2FB48 80240FA8 00000000 */ nop +/* C2FB4C 80240FAC C6020018 */ lwc1 $f2, 0x18($s0) +/* C2FB50 80240FB0 4602003E */ c.le.s $f0, $f2 +/* C2FB54 80240FB4 00000000 */ nop +/* C2FB58 80240FB8 4500000B */ bc1f .L80240FE8 +/* C2FB5C 80240FBC 00000000 */ nop +/* C2FB60 80240FC0 8E4200CC */ lw $v0, 0xcc($s2) +/* C2FB64 80240FC4 8C430000 */ lw $v1, ($v0) +/* C2FB68 80240FC8 2402000F */ addiu $v0, $zero, 0xf +/* C2FB6C 80240FCC A602008E */ sh $v0, 0x8e($s0) +/* C2FB70 80240FD0 24020032 */ addiu $v0, $zero, 0x32 +/* C2FB74 80240FD4 AE030028 */ sw $v1, 0x28($s0) +/* C2FB78 80240FD8 AE420088 */ sw $v0, 0x88($s2) +/* C2FB7C 80240FDC 24020003 */ addiu $v0, $zero, 3 +/* C2FB80 80240FE0 08090417 */ j .L8024105C +/* C2FB84 80240FE4 AE620070 */ sw $v0, 0x70($s3) +.L80240FE8: +/* C2FB88 80240FE8 8602008C */ lh $v0, 0x8c($s0) +/* C2FB8C 80240FEC 1440001B */ bnez $v0, .L8024105C +/* C2FB90 80240FF0 0200202D */ daddu $a0, $s0, $zero +/* C2FB94 80240FF4 27A60018 */ addiu $a2, $sp, 0x18 +/* C2FB98 80240FF8 3C0540A0 */ lui $a1, 0x40a0 +/* C2FB9C 80240FFC C600000C */ lwc1 $f0, 0xc($s0) +/* C2FBA0 80241000 0000382D */ daddu $a3, $zero, $zero +/* C2FBA4 80241004 E7A00018 */ swc1 $f0, 0x18($sp) +/* C2FBA8 80241008 AFA00010 */ sw $zero, 0x10($sp) +/* C2FBAC 8024100C 0C0129E1 */ jal func_8004A784 +/* C2FBB0 80241010 AFA00014 */ sw $zero, 0x14($sp) +/* C2FBB4 80241014 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C2FBB8 80241018 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C2FBBC 8024101C E600000C */ swc1 $f0, 0xc($s0) +/* C2FBC0 80241020 8E4200D0 */ lw $v0, 0xd0($s2) +/* C2FBC4 80241024 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C2FBC8 80241028 C4440000 */ lwc1 $f4, ($v0) +/* C2FBCC 8024102C 46802120 */ cvt.s.w $f4, $f4 +/* C2FBD0 80241030 44062000 */ mfc1 $a2, $f4 +/* C2FBD4 80241034 C4440008 */ lwc1 $f4, 8($v0) +/* C2FBD8 80241038 46802120 */ cvt.s.w $f4, $f4 +/* C2FBDC 8024103C 44072000 */ mfc1 $a3, $f4 +/* C2FBE0 80241040 0C00A720 */ jal atan2 +/* C2FBE4 80241044 00000000 */ nop +/* C2FBE8 80241048 8E050018 */ lw $a1, 0x18($s0) +/* C2FBEC 8024104C 44060000 */ mfc1 $a2, $f0 +/* C2FBF0 80241050 0200202D */ daddu $a0, $s0, $zero +/* C2FBF4 80241054 0C00EA95 */ jal npc_move_heading +/* C2FBF8 80241058 AC86000C */ sw $a2, 0xc($a0) +.L8024105C: +/* C2FBFC 8024105C 8FBF0030 */ lw $ra, 0x30($sp) +/* C2FC00 80241060 8FB3002C */ lw $s3, 0x2c($sp) +/* C2FC04 80241064 8FB20028 */ lw $s2, 0x28($sp) +/* C2FC08 80241068 8FB10024 */ lw $s1, 0x24($sp) +/* C2FC0C 8024106C 8FB00020 */ lw $s0, 0x20($sp) +/* C2FC10 80241070 03E00008 */ jr $ra +/* C2FC14 80241074 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_80241078.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_80241078.s new file mode 100644 index 0000000000..09b7eff1ac --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_80241078.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241078 +/* C2FC18 80241078 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C2FC1C 8024107C AFB00010 */ sw $s0, 0x10($sp) +/* C2FC20 80241080 0080802D */ daddu $s0, $a0, $zero +/* C2FC24 80241084 AFBF0014 */ sw $ra, 0x14($sp) +/* C2FC28 80241088 8E020148 */ lw $v0, 0x148($s0) +/* C2FC2C 8024108C 0C00EABB */ jal get_npc_unsafe +/* C2FC30 80241090 84440008 */ lh $a0, 8($v0) +/* C2FC34 80241094 0040182D */ daddu $v1, $v0, $zero +/* C2FC38 80241098 8462008C */ lh $v0, 0x8c($v1) +/* C2FC3C 8024109C 14400009 */ bnez $v0, .L802410C4 +/* C2FC40 802410A0 00000000 */ nop +/* C2FC44 802410A4 9462008E */ lhu $v0, 0x8e($v1) +/* C2FC48 802410A8 2442FFFF */ addiu $v0, $v0, -1 +/* C2FC4C 802410AC A462008E */ sh $v0, 0x8e($v1) +/* C2FC50 802410B0 00021400 */ sll $v0, $v0, 0x10 +/* C2FC54 802410B4 1C400003 */ bgtz $v0, .L802410C4 +/* C2FC58 802410B8 00000000 */ nop +/* C2FC5C 802410BC A460008E */ sh $zero, 0x8e($v1) +/* C2FC60 802410C0 AE000070 */ sw $zero, 0x70($s0) +.L802410C4: +/* C2FC64 802410C4 8FBF0014 */ lw $ra, 0x14($sp) +/* C2FC68 802410C8 8FB00010 */ lw $s0, 0x10($sp) +/* C2FC6C 802410CC 03E00008 */ jr $ra +/* C2FC70 802410D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/func_802410D4_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/func_802410D4_C2EBA0.s new file mode 100644 index 0000000000..b81ad641e5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/func_802410D4_C2EBA0.s @@ -0,0 +1,226 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410D4_C2FC74 +/* C2FC74 802410D4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C2FC78 802410D8 AFB20038 */ sw $s2, 0x38($sp) +/* C2FC7C 802410DC 0080902D */ daddu $s2, $a0, $zero +/* C2FC80 802410E0 AFBF0048 */ sw $ra, 0x48($sp) +/* C2FC84 802410E4 AFB50044 */ sw $s5, 0x44($sp) +/* C2FC88 802410E8 AFB40040 */ sw $s4, 0x40($sp) +/* C2FC8C 802410EC AFB3003C */ sw $s3, 0x3c($sp) +/* C2FC90 802410F0 AFB10034 */ sw $s1, 0x34($sp) +/* C2FC94 802410F4 AFB00030 */ sw $s0, 0x30($sp) +/* C2FC98 802410F8 8E510148 */ lw $s1, 0x148($s2) +/* C2FC9C 802410FC 86240008 */ lh $a0, 8($s1) +/* C2FCA0 80241100 0C00EABB */ jal get_npc_unsafe +/* C2FCA4 80241104 00A0802D */ daddu $s0, $a1, $zero +/* C2FCA8 80241108 8E43000C */ lw $v1, 0xc($s2) +/* C2FCAC 8024110C 0240202D */ daddu $a0, $s2, $zero +/* C2FCB0 80241110 8C650000 */ lw $a1, ($v1) +/* C2FCB4 80241114 0C0B1EAF */ jal get_variable +/* C2FCB8 80241118 0040A02D */ daddu $s4, $v0, $zero +/* C2FCBC 8024111C AFA00010 */ sw $zero, 0x10($sp) +/* C2FCC0 80241120 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2FCC4 80241124 8C630030 */ lw $v1, 0x30($v1) +/* C2FCC8 80241128 AFA30014 */ sw $v1, 0x14($sp) +/* C2FCCC 8024112C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2FCD0 80241130 8C63001C */ lw $v1, 0x1c($v1) +/* C2FCD4 80241134 AFA30018 */ sw $v1, 0x18($sp) +/* C2FCD8 80241138 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2FCDC 8024113C 8C630024 */ lw $v1, 0x24($v1) +/* C2FCE0 80241140 AFA3001C */ sw $v1, 0x1c($sp) +/* C2FCE4 80241144 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2FCE8 80241148 8C630028 */ lw $v1, 0x28($v1) +/* C2FCEC 8024114C 27B50010 */ addiu $s5, $sp, 0x10 +/* C2FCF0 80241150 AFA30020 */ sw $v1, 0x20($sp) +/* C2FCF4 80241154 8E2300D0 */ lw $v1, 0xd0($s1) +/* C2FCF8 80241158 3C014220 */ lui $at, 0x4220 +/* C2FCFC 8024115C 44810000 */ mtc1 $at, $f0 +/* C2FD00 80241160 8C63002C */ lw $v1, 0x2c($v1) +/* C2FD04 80241164 0040982D */ daddu $s3, $v0, $zero +/* C2FD08 80241168 E7A00028 */ swc1 $f0, 0x28($sp) +/* C2FD0C 8024116C A7A0002C */ sh $zero, 0x2c($sp) +/* C2FD10 80241170 16000005 */ bnez $s0, .L80241188 +/* C2FD14 80241174 AFA30024 */ sw $v1, 0x24($sp) +/* C2FD18 80241178 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2FD1C 8024117C 30420004 */ andi $v0, $v0, 4 +/* C2FD20 80241180 10400027 */ beqz $v0, .L80241220 +/* C2FD24 80241184 00000000 */ nop +.L80241188: +/* C2FD28 80241188 2402001E */ addiu $v0, $zero, 0x1e +/* C2FD2C 8024118C 2404F7FF */ addiu $a0, $zero, -0x801 +/* C2FD30 80241190 AE400070 */ sw $zero, 0x70($s2) +/* C2FD34 80241194 A682008E */ sh $v0, 0x8e($s4) +/* C2FD38 80241198 8E2300CC */ lw $v1, 0xcc($s1) +/* C2FD3C 8024119C 8E820000 */ lw $v0, ($s4) +/* C2FD40 802411A0 8C630028 */ lw $v1, 0x28($v1) +/* C2FD44 802411A4 00441024 */ and $v0, $v0, $a0 +/* C2FD48 802411A8 AE820000 */ sw $v0, ($s4) +/* C2FD4C 802411AC AE830028 */ sw $v1, 0x28($s4) +/* C2FD50 802411B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C2FD54 802411B4 AE20006C */ sw $zero, 0x6c($s1) +/* C2FD58 802411B8 8C420034 */ lw $v0, 0x34($v0) +/* C2FD5C 802411BC 14400006 */ bnez $v0, .L802411D8 +/* C2FD60 802411C0 2403FDFF */ addiu $v1, $zero, -0x201 +/* C2FD64 802411C4 8E820000 */ lw $v0, ($s4) +/* C2FD68 802411C8 2403FFF7 */ addiu $v1, $zero, -9 +/* C2FD6C 802411CC 34420200 */ ori $v0, $v0, 0x200 +/* C2FD70 802411D0 08090479 */ j .L802411E4 +/* C2FD74 802411D4 00431024 */ and $v0, $v0, $v1 +.L802411D8: +/* C2FD78 802411D8 8E820000 */ lw $v0, ($s4) +/* C2FD7C 802411DC 00431024 */ and $v0, $v0, $v1 +/* C2FD80 802411E0 34420008 */ ori $v0, $v0, 8 +.L802411E4: +/* C2FD84 802411E4 AE820000 */ sw $v0, ($s4) +/* C2FD88 802411E8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2FD8C 802411EC 30420004 */ andi $v0, $v0, 4 +/* C2FD90 802411F0 10400007 */ beqz $v0, .L80241210 +/* C2FD94 802411F4 24020063 */ addiu $v0, $zero, 0x63 +/* C2FD98 802411F8 AE420070 */ sw $v0, 0x70($s2) +/* C2FD9C 802411FC 24020028 */ addiu $v0, $zero, 0x28 +/* C2FDA0 80241200 AE420074 */ sw $v0, 0x74($s2) +/* C2FDA4 80241204 8E2200CC */ lw $v0, 0xcc($s1) +/* C2FDA8 80241208 8C420000 */ lw $v0, ($v0) +/* C2FDAC 8024120C AE820028 */ sw $v0, 0x28($s4) +.L80241210: +/* C2FDB0 80241210 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2FDB4 80241214 2403FFFB */ addiu $v1, $zero, -5 +/* C2FDB8 80241218 00431024 */ and $v0, $v0, $v1 +/* C2FDBC 8024121C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241220: +/* C2FDC0 80241220 8E420070 */ lw $v0, 0x70($s2) +/* C2FDC4 80241224 2442FFF6 */ addiu $v0, $v0, -0xa +/* C2FDC8 80241228 2C420014 */ sltiu $v0, $v0, 0x14 +/* C2FDCC 8024122C 10400009 */ beqz $v0, .L80241254 +/* C2FDD0 80241230 00000000 */ nop +/* C2FDD4 80241234 8E22006C */ lw $v0, 0x6c($s1) +/* C2FDD8 80241238 14400006 */ bnez $v0, .L80241254 +/* C2FDDC 8024123C 00000000 */ nop +/* C2FDE0 80241240 0C090082 */ jal func_80240208 +/* C2FDE4 80241244 0240202D */ daddu $a0, $s2, $zero +/* C2FDE8 80241248 10400002 */ beqz $v0, .L80241254 +/* C2FDEC 8024124C 2402001E */ addiu $v0, $zero, 0x1e +/* C2FDF0 80241250 AE420070 */ sw $v0, 0x70($s2) +.L80241254: +/* C2FDF4 80241254 8E430070 */ lw $v1, 0x70($s2) +/* C2FDF8 80241258 2C620064 */ sltiu $v0, $v1, 0x64 +/* C2FDFC 8024125C 10400067 */ beqz $v0, .L802413FC +/* C2FE00 80241260 00031080 */ sll $v0, $v1, 2 +/* C2FE04 80241264 3C018024 */ lui $at, 0x8024 +/* C2FE08 80241268 00220821 */ addu $at, $at, $v0 +/* C2FE0C 8024126C 8C2227B0 */ lw $v0, 0x27b0($at) +/* C2FE10 80241270 00400008 */ jr $v0 +/* C2FE14 80241274 00000000 */ nop +/* C2FE18 80241278 0240202D */ daddu $a0, $s2, $zero +/* C2FE1C 8024127C 0260282D */ daddu $a1, $s3, $zero +/* C2FE20 80241280 0C090234 */ jal func_802408D0 +/* C2FE24 80241284 02A0302D */ daddu $a2, $s5, $zero +/* C2FE28 80241288 080904FF */ j .L802413FC +/* C2FE2C 8024128C 00000000 */ nop +/* C2FE30 80241290 0240202D */ daddu $a0, $s2, $zero +/* C2FE34 80241294 0260282D */ daddu $a1, $s3, $zero +/* C2FE38 80241298 0C090256 */ jal func_80240958 +/* C2FE3C 8024129C 02A0302D */ daddu $a2, $s5, $zero +/* C2FE40 802412A0 080904FF */ j .L802413FC +/* C2FE44 802412A4 00000000 */ nop +/* C2FE48 802412A8 0240202D */ daddu $a0, $s2, $zero +/* C2FE4C 802412AC 0260282D */ daddu $a1, $s3, $zero +/* C2FE50 802412B0 0C090304 */ jal func_80240C10 +/* C2FE54 802412B4 02A0302D */ daddu $a2, $s5, $zero +/* C2FE58 802412B8 080904FF */ j .L802413FC +/* C2FE5C 802412BC 00000000 */ nop +/* C2FE60 802412C0 0240202D */ daddu $a0, $s2, $zero +/* C2FE64 802412C4 0260282D */ daddu $a1, $s3, $zero +/* C2FE68 802412C8 0C09031D */ jal func_80240C74 +/* C2FE6C 802412CC 02A0302D */ daddu $a2, $s5, $zero +/* C2FE70 802412D0 080904FF */ j .L802413FC +/* C2FE74 802412D4 00000000 */ nop +/* C2FE78 802412D8 0240202D */ daddu $a0, $s2, $zero +/* C2FE7C 802412DC 0260282D */ daddu $a1, $s3, $zero +/* C2FE80 802412E0 0C090347 */ jal func_80240D1C +/* C2FE84 802412E4 02A0302D */ daddu $a2, $s5, $zero +/* C2FE88 802412E8 080904FF */ j .L802413FC +/* C2FE8C 802412EC 00000000 */ nop +/* C2FE90 802412F0 0240202D */ daddu $a0, $s2, $zero +/* C2FE94 802412F4 0260282D */ daddu $a1, $s3, $zero +/* C2FE98 802412F8 0C0127DF */ jal func_80049F7C +/* C2FE9C 802412FC 02A0302D */ daddu $a2, $s5, $zero +/* C2FEA0 80241300 8E430070 */ lw $v1, 0x70($s2) +/* C2FEA4 80241304 2402000D */ addiu $v0, $zero, 0xd +/* C2FEA8 80241308 1462003C */ bne $v1, $v0, .L802413FC +/* C2FEAC 8024130C 00000000 */ nop +/* C2FEB0 80241310 0240202D */ daddu $a0, $s2, $zero +/* C2FEB4 80241314 0260282D */ daddu $a1, $s3, $zero +/* C2FEB8 80241318 0C012849 */ jal func_8004A124 +/* C2FEBC 8024131C 02A0302D */ daddu $a2, $s5, $zero +/* C2FEC0 80241320 080904FF */ j .L802413FC +/* C2FEC4 80241324 00000000 */ nop +/* C2FEC8 80241328 0240202D */ daddu $a0, $s2, $zero +/* C2FECC 8024132C 0260282D */ daddu $a1, $s3, $zero +/* C2FED0 80241330 0C0128FA */ jal func_8004A3E8 +/* C2FED4 80241334 02A0302D */ daddu $a2, $s5, $zero +/* C2FED8 80241338 2402000F */ addiu $v0, $zero, 0xf +/* C2FEDC 8024133C A682008E */ sh $v0, 0x8e($s4) +/* C2FEE0 80241340 24020028 */ addiu $v0, $zero, 0x28 +/* C2FEE4 80241344 AE220088 */ sw $v0, 0x88($s1) +/* C2FEE8 80241348 24020003 */ addiu $v0, $zero, 3 +/* C2FEEC 8024134C 080904FF */ j .L802413FC +/* C2FEF0 80241350 AE420070 */ sw $v0, 0x70($s2) +/* C2FEF4 80241354 0C090000 */ jal func_80240000 +/* C2FEF8 80241358 0240202D */ daddu $a0, $s2, $zero +/* C2FEFC 8024135C 8E430070 */ lw $v1, 0x70($s2) +/* C2FF00 80241360 2402001F */ addiu $v0, $zero, 0x1f +/* C2FF04 80241364 14620025 */ bne $v1, $v0, .L802413FC +/* C2FF08 80241368 00000000 */ nop +/* C2FF0C 8024136C 0C09001B */ jal func_8024006C +/* C2FF10 80241370 0240202D */ daddu $a0, $s2, $zero +/* C2FF14 80241374 8E430070 */ lw $v1, 0x70($s2) +/* C2FF18 80241378 24020020 */ addiu $v0, $zero, 0x20 +/* C2FF1C 8024137C 1462001F */ bne $v1, $v0, .L802413FC +/* C2FF20 80241380 00000000 */ nop +/* C2FF24 80241384 0C090037 */ jal func_802400DC +/* C2FF28 80241388 0240202D */ daddu $a0, $s2, $zero +/* C2FF2C 8024138C 080904FF */ j .L802413FC +/* C2FF30 80241390 00000000 */ nop +/* C2FF34 80241394 0C09006D */ jal func_802401B4 +/* C2FF38 80241398 0240202D */ daddu $a0, $s2, $zero +/* C2FF3C 8024139C 080904FF */ j .L802413FC +/* C2FF40 802413A0 00000000 */ nop +/* C2FF44 802413A4 0240202D */ daddu $a0, $s2, $zero +/* C2FF48 802413A8 0260282D */ daddu $a1, $s3, $zero +/* C2FF4C 802413AC 0C090395 */ jal func_80240E54 +/* C2FF50 802413B0 02A0302D */ daddu $a2, $s5, $zero +/* C2FF54 802413B4 8E430070 */ lw $v1, 0x70($s2) +/* C2FF58 802413B8 24020029 */ addiu $v0, $zero, 0x29 +/* C2FF5C 802413BC 1462000F */ bne $v1, $v0, .L802413FC +/* C2FF60 802413C0 00000000 */ nop +/* C2FF64 802413C4 0240202D */ daddu $a0, $s2, $zero +/* C2FF68 802413C8 0260282D */ daddu $a1, $s3, $zero +/* C2FF6C 802413CC 0C0903C0 */ jal func_80240F00 +/* C2FF70 802413D0 02A0302D */ daddu $a2, $s5, $zero +/* C2FF74 802413D4 080904FF */ j .L802413FC +/* C2FF78 802413D8 00000000 */ nop +/* C2FF7C 802413DC 0240202D */ daddu $a0, $s2, $zero +/* C2FF80 802413E0 0260282D */ daddu $a1, $s3, $zero +/* C2FF84 802413E4 0C09041E */ jal func_80241078 +/* C2FF88 802413E8 02A0302D */ daddu $a2, $s5, $zero +/* C2FF8C 802413EC 080904FF */ j .L802413FC +/* C2FF90 802413F0 00000000 */ nop +/* C2FF94 802413F4 0C0129CF */ jal func_8004A73C +/* C2FF98 802413F8 0240202D */ daddu $a0, $s2, $zero +.L802413FC: +/* C2FF9C 802413FC 8FBF0048 */ lw $ra, 0x48($sp) +/* C2FFA0 80241400 8FB50044 */ lw $s5, 0x44($sp) +/* C2FFA4 80241404 8FB40040 */ lw $s4, 0x40($sp) +/* C2FFA8 80241408 8FB3003C */ lw $s3, 0x3c($sp) +/* C2FFAC 8024140C 8FB20038 */ lw $s2, 0x38($sp) +/* C2FFB0 80241410 8FB10034 */ lw $s1, 0x34($sp) +/* C2FFB4 80241414 8FB00030 */ lw $s0, 0x30($sp) +/* C2FFB8 80241418 0000102D */ daddu $v0, $zero, $zero +/* C2FFBC 8024141C 03E00008 */ jr $ra +/* C2FFC0 80241420 27BD0050 */ addiu $sp, $sp, 0x50 +/* C2FFC4 80241424 00000000 */ nop +/* C2FFC8 80241428 00000000 */ nop +/* C2FFCC 8024142C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_02/update_starpoints_display_C2EBA0.s b/asm/nonmatchings/world/area_dgb/dgb_02/update_starpoints_display_C2EBA0.s new file mode 100644 index 0000000000..f2098d8934 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_02/update_starpoints_display_C2EBA0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_C2EF5C +/* C2EF5C 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C2EF60 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* C2EF64 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* C2EF68 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* C2EF6C 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* C2EF70 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* C2EF74 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* C2EF78 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* C2EF7C 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* C2EF80 802403E0 86240008 */ lh $a0, 8($s1) +/* C2EF84 802403E4 0C00EABB */ jal get_npc_unsafe +/* C2EF88 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* C2EF8C 802403EC 16000005 */ bnez $s0, .L80240404 +/* C2EF90 802403F0 0040902D */ daddu $s2, $v0, $zero +/* C2EF94 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C2EF98 802403F8 30420004 */ andi $v0, $v0, 4 +/* C2EF9C 802403FC 10400015 */ beqz $v0, .L80240454 +/* C2EFA0 80240400 00000000 */ nop +.L80240404: +/* C2EFA4 80240404 AE800070 */ sw $zero, 0x70($s4) +/* C2EFA8 80240408 8E420000 */ lw $v0, ($s2) +/* C2EFAC 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* C2EFB0 80240410 A640008E */ sh $zero, 0x8e($s2) +/* C2EFB4 80240414 34420102 */ ori $v0, $v0, 0x102 +/* C2EFB8 80240418 AE420000 */ sw $v0, ($s2) +/* C2EFBC 8024041C 8E220000 */ lw $v0, ($s1) +/* C2EFC0 80240420 3C01C47A */ lui $at, 0xc47a +/* C2EFC4 80240424 44810000 */ mtc1 $at, $f0 +/* C2EFC8 80240428 00431025 */ or $v0, $v0, $v1 +/* C2EFCC 8024042C AE220000 */ sw $v0, ($s1) +/* C2EFD0 80240430 AE400038 */ sw $zero, 0x38($s2) +/* C2EFD4 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* C2EFD8 80240438 AE400040 */ sw $zero, 0x40($s2) +/* C2EFDC 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C2EFE0 80240440 30620004 */ andi $v0, $v1, 4 +/* C2EFE4 80240444 10400003 */ beqz $v0, .L80240454 +/* C2EFE8 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* C2EFEC 8024044C 00621024 */ and $v0, $v1, $v0 +/* C2EFF0 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* C2EFF4 80240454 8E930070 */ lw $s3, 0x70($s4) +/* C2EFF8 80240458 12600005 */ beqz $s3, .L80240470 +/* C2EFFC 8024045C 24020001 */ addiu $v0, $zero, 1 +/* C2F000 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* C2F004 80240464 00000000 */ nop +/* C2F008 80240468 0809017E */ j .L802405F8 +/* C2F00C 8024046C 00000000 */ nop +.L80240470: +/* C2F010 80240470 86240008 */ lh $a0, 8($s1) +/* C2F014 80240474 0C00FB3A */ jal get_enemy +/* C2F018 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* C2F01C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* C2F020 80240480 0C00EABB */ jal get_npc_unsafe +/* C2F024 80240484 86040008 */ lh $a0, 8($s0) +/* C2F028 80240488 24030001 */ addiu $v1, $zero, 1 +/* C2F02C 8024048C 0040982D */ daddu $s3, $v0, $zero +/* C2F030 80240490 A2230007 */ sb $v1, 7($s1) +/* C2F034 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* C2F038 80240498 24020003 */ addiu $v0, $zero, 3 +/* C2F03C 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* C2F040 802404A0 00000000 */ nop +/* C2F044 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C2F048 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* C2F04C 802404AC 0260202D */ daddu $a0, $s3, $zero +/* C2F050 802404B0 0C012530 */ jal func_800494C0 +/* C2F054 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* C2F058 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* C2F05C 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* C2F060 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* C2F064 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C2F068 802404C8 3C014387 */ lui $at, 0x4387 +/* C2F06C 802404CC 44810000 */ mtc1 $at, $f0 +/* C2F070 802404D0 44064000 */ mfc1 $a2, $f8 +/* C2F074 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* C2F078 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C2F07C 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* C2F080 802404E0 44070000 */ mfc1 $a3, $f0 +/* C2F084 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* C2F088 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C2F08C 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* C2F090 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* C2F094 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C2F098 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* C2F09C 802404FC 44024000 */ mfc1 $v0, $f8 +/* C2F0A0 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* C2F0A4 80240504 A6220010 */ sh $v0, 0x10($s1) +/* C2F0A8 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* C2F0AC 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* C2F0B0 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* C2F0B4 80240514 46020000 */ add.s $f0, $f0, $f2 +/* C2F0B8 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C2F0BC 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C2F0C0 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* C2F0C4 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C2F0C8 80240528 4600020D */ trunc.w.s $f8, $f0 +/* C2F0CC 8024052C 44024000 */ mfc1 $v0, $f8 +/* C2F0D0 80240530 00000000 */ nop +/* C2F0D4 80240534 A6220012 */ sh $v0, 0x12($s1) +/* C2F0D8 80240538 4600120D */ trunc.w.s $f8, $f2 +/* C2F0DC 8024053C 44024000 */ mfc1 $v0, $f8 +/* C2F0E0 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* C2F0E4 80240544 A6220014 */ sh $v0, 0x14($s1) +/* C2F0E8 80240548 8C660028 */ lw $a2, 0x28($v1) +/* C2F0EC 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* C2F0F0 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C2F0F4 80240554 0C00A720 */ jal atan2 +/* C2F0F8 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C2F0FC 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* C2F100 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* C2F104 80240564 8E220000 */ lw $v0, ($s1) +/* C2F108 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* C2F10C 8024056C 00431024 */ and $v0, $v0, $v1 +/* C2F110 80240570 AE220000 */ sw $v0, ($s1) +/* C2F114 80240574 24020001 */ addiu $v0, $zero, 1 +/* C2F118 80240578 A640008E */ sh $zero, 0x8e($s2) +/* C2F11C 8024057C 0809017E */ j .L802405F8 +/* C2F120 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* C2F124 80240584 86240008 */ lh $a0, 8($s1) +/* C2F128 80240588 0C00FB3A */ jal get_enemy +/* C2F12C 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* C2F130 80240590 0040802D */ daddu $s0, $v0, $zero +/* C2F134 80240594 0C00EABB */ jal get_npc_unsafe +/* C2F138 80240598 86040008 */ lh $a0, 8($s0) +/* C2F13C 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* C2F140 802405A0 24420001 */ addiu $v0, $v0, 1 +/* C2F144 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* C2F148 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* C2F14C 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* C2F150 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* C2F154 802405B4 0043102A */ slt $v0, $v0, $v1 +/* C2F158 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* C2F15C 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* C2F160 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* C2F164 802405C4 24020004 */ addiu $v0, $zero, 4 +/* C2F168 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* C2F16C 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* C2F170 802405D0 8E230000 */ lw $v1, ($s1) +/* C2F174 802405D4 3C01C47A */ lui $at, 0xc47a +/* C2F178 802405D8 44810000 */ mtc1 $at, $f0 +/* C2F17C 802405DC 00621825 */ or $v1, $v1, $v0 +/* C2F180 802405E0 AE230000 */ sw $v1, ($s1) +/* C2F184 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* C2F188 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* C2F18C 802405EC AE400040 */ sw $zero, 0x40($s2) +/* C2F190 802405F0 A2330007 */ sb $s3, 7($s1) +/* C2F194 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* C2F198 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* C2F19C 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* C2F1A0 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* C2F1A4 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* C2F1A8 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* C2F1AC 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* C2F1B0 80240610 0000102D */ daddu $v0, $zero, $zero +/* C2F1B4 80240614 03E00008 */ jr $ra +/* C2F1B8 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240000_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240000_C314E0.s new file mode 100644 index 0000000000..1612e45740 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240000_C314E0.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C314E0 +/* C314E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C314E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C314E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C314EC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C314F0 80240010 8E02000C */ lw $v0, 0xc($s0) +/* C314F4 80240014 0C0B1EAF */ jal get_variable +/* C314F8 80240018 8C450000 */ lw $a1, ($v0) +/* C314FC 8024001C 0040302D */ daddu $a2, $v0, $zero +/* C31500 80240020 3C058016 */ lui $a1, 0x8016 +/* C31504 80240024 84A5A550 */ lh $a1, -0x5ab0($a1) +/* C31508 80240028 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* C3150C 8024002C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* C31510 80240030 10A60004 */ beq $a1, $a2, .L80240044 +/* C31514 80240034 24020014 */ addiu $v0, $zero, 0x14 +/* C31518 80240038 808300B4 */ lb $v1, 0xb4($a0) +/* C3151C 8024003C 10620006 */ beq $v1, $v0, .L80240058 +/* C31520 80240040 00000000 */ nop +.L80240044: +/* C31524 80240044 8C820014 */ lw $v0, 0x14($a0) +/* C31528 80240048 3C03FFFF */ lui $v1, 0xffff +/* C3152C 8024004C 00431024 */ and $v0, $v0, $v1 +/* C31530 80240050 10400005 */ beqz $v0, .L80240068 +/* C31534 80240054 00000000 */ nop +.L80240058: +/* C31538 80240058 0C039769 */ jal set_action_state +/* C3153C 8024005C 0000202D */ daddu $a0, $zero, $zero +/* C31540 80240060 0809002A */ j .L802400A8 +/* C31544 80240064 AE000084 */ sw $zero, 0x84($s0) +.L80240068: +/* C31548 80240068 54A6000F */ bnel $a1, $a2, .L802400A8 +/* C3154C 8024006C AE000084 */ sw $zero, 0x84($s0) +/* C31550 80240070 808300B4 */ lb $v1, 0xb4($a0) +/* C31554 80240074 24020014 */ addiu $v0, $zero, 0x14 +/* C31558 80240078 10620005 */ beq $v1, $v0, .L80240090 +/* C3155C 8024007C 24020001 */ addiu $v0, $zero, 1 +/* C31560 80240080 10620003 */ beq $v1, $v0, .L80240090 +/* C31564 80240084 24020002 */ addiu $v0, $zero, 2 +/* C31568 80240088 54620008 */ bnel $v1, $v0, .L802400AC +/* C3156C 8024008C AE000084 */ sw $zero, 0x84($s0) +.L80240090: +/* C31570 80240090 8C820004 */ lw $v0, 4($a0) +/* C31574 80240094 30420001 */ andi $v0, $v0, 1 +/* C31578 80240098 54400003 */ bnel $v0, $zero, .L802400A8 +/* C3157C 8024009C AE000084 */ sw $zero, 0x84($s0) +/* C31580 802400A0 24020001 */ addiu $v0, $zero, 1 +/* C31584 802400A4 AE020084 */ sw $v0, 0x84($s0) +.L802400A8: +/* C31588 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* C3158C 802400AC 8FBF0014 */ lw $ra, 0x14($sp) +/* C31590 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* C31594 802400B4 03E00008 */ jr $ra +/* C31598 802400B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802400BC_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802400BC_C314E0.s new file mode 100644 index 0000000000..edafbf479e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802400BC_C314E0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_C3159C +/* C3159C 802400BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C315A0 802400C0 AFBF002C */ sw $ra, 0x2c($sp) +/* C315A4 802400C4 AFB00028 */ sw $s0, 0x28($sp) +/* C315A8 802400C8 8C820098 */ lw $v0, 0x98($a0) +/* C315AC 802400CC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* C315B0 802400D0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* C315B4 802400D4 14400005 */ bnez $v0, .L802400EC +/* C315B8 802400D8 00000000 */ nop +/* C315BC 802400DC C4800084 */ lwc1 $f0, 0x84($a0) +/* C315C0 802400E0 46800020 */ cvt.s.w $f0, $f0 +/* C315C4 802400E4 0809003E */ j .L802400F8 +/* C315C8 802400E8 E6000028 */ swc1 $f0, 0x28($s0) +.L802400EC: +/* C315CC 802400EC C4800084 */ lwc1 $f0, 0x84($a0) +/* C315D0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* C315D4 802400F4 E6000030 */ swc1 $f0, 0x30($s0) +.L802400F8: +/* C315D8 802400F8 27A20024 */ addiu $v0, $sp, 0x24 +/* C315DC 802400FC 0000202D */ daddu $a0, $zero, $zero +/* C315E0 80240100 27A50018 */ addiu $a1, $sp, 0x18 +/* C315E4 80240104 27A6001C */ addiu $a2, $sp, 0x1c +/* C315E8 80240108 C6000028 */ lwc1 $f0, 0x28($s0) +/* C315EC 8024010C 3C014120 */ lui $at, 0x4120 +/* C315F0 80240110 44811000 */ mtc1 $at, $f2 +/* C315F4 80240114 3C014220 */ lui $at, 0x4220 +/* C315F8 80240118 44813000 */ mtc1 $at, $f6 +/* C315FC 8024011C 27A70020 */ addiu $a3, $sp, 0x20 +/* C31600 80240120 E7A00018 */ swc1 $f0, 0x18($sp) +/* C31604 80240124 C600002C */ lwc1 $f0, 0x2c($s0) +/* C31608 80240128 C6040030 */ lwc1 $f4, 0x30($s0) +/* C3160C 8024012C 46020000 */ add.s $f0, $f0, $f2 +/* C31610 80240130 E7A60024 */ swc1 $f6, 0x24($sp) +/* C31614 80240134 E7A40020 */ swc1 $f4, 0x20($sp) +/* C31618 80240138 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C3161C 8024013C 0C0372DF */ jal func_800DCB7C +/* C31620 80240140 AFA20010 */ sw $v0, 0x10($sp) +/* C31624 80240144 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C31628 80240148 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C3162C 8024014C C7A40020 */ lwc1 $f4, 0x20($sp) +/* C31630 80240150 E6000028 */ swc1 $f0, 0x28($s0) +/* C31634 80240154 E602002C */ swc1 $f2, 0x2c($s0) +/* C31638 80240158 E6040030 */ swc1 $f4, 0x30($s0) +/* C3163C 8024015C 8FBF002C */ lw $ra, 0x2c($sp) +/* C31640 80240160 8FB00028 */ lw $s0, 0x28($sp) +/* C31644 80240164 24020002 */ addiu $v0, $zero, 2 +/* C31648 80240168 03E00008 */ jr $ra +/* C3164C 8024016C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240170_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240170_C314E0.s new file mode 100644 index 0000000000..0982c25823 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240170_C314E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_C31650 +/* C31650 80240170 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C31654 80240174 AFBF0010 */ sw $ra, 0x10($sp) +/* C31658 80240178 0C04417A */ jal get_entity_by_index +/* C3165C 8024017C 8C840084 */ lw $a0, 0x84($a0) +/* C31660 80240180 0040182D */ daddu $v1, $v0, $zero +/* C31664 80240184 8C640000 */ lw $a0, ($v1) +/* C31668 80240188 3C050010 */ lui $a1, 0x10 +/* C3166C 8024018C 00852025 */ or $a0, $a0, $a1 +/* C31670 80240190 AC640000 */ sw $a0, ($v1) +/* C31674 80240194 8FBF0010 */ lw $ra, 0x10($sp) +/* C31678 80240198 24020002 */ addiu $v0, $zero, 2 +/* C3167C 8024019C 03E00008 */ jr $ra +/* C31680 802401A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802401A4.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802401A4.s new file mode 100644 index 0000000000..573a3b1d9f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802401A4.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401A4 +/* C31684 802401A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C31688 802401A8 AFB20018 */ sw $s2, 0x18($sp) +/* C3168C 802401AC 0080902D */ daddu $s2, $a0, $zero +/* C31690 802401B0 AFBF001C */ sw $ra, 0x1c($sp) +/* C31694 802401B4 AFB10014 */ sw $s1, 0x14($sp) +/* C31698 802401B8 AFB00010 */ sw $s0, 0x10($sp) +/* C3169C 802401BC 8E50000C */ lw $s0, 0xc($s2) +/* C316A0 802401C0 8E050000 */ lw $a1, ($s0) +/* C316A4 802401C4 0C0B1EAF */ jal get_variable +/* C316A8 802401C8 26100004 */ addiu $s0, $s0, 4 +/* C316AC 802401CC 0C04417A */ jal get_entity_by_index +/* C316B0 802401D0 0040202D */ daddu $a0, $v0, $zero +/* C316B4 802401D4 8E050000 */ lw $a1, ($s0) +/* C316B8 802401D8 26100004 */ addiu $s0, $s0, 4 +/* C316BC 802401DC 0040882D */ daddu $s1, $v0, $zero +/* C316C0 802401E0 C6200048 */ lwc1 $f0, 0x48($s1) +/* C316C4 802401E4 4600008D */ trunc.w.s $f2, $f0 +/* C316C8 802401E8 44061000 */ mfc1 $a2, $f2 +/* C316CC 802401EC 0C0B2026 */ jal set_variable +/* C316D0 802401F0 0240202D */ daddu $a0, $s2, $zero +/* C316D4 802401F4 8E050000 */ lw $a1, ($s0) +/* C316D8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* C316DC 802401FC C620004C */ lwc1 $f0, 0x4c($s1) +/* C316E0 80240200 4600008D */ trunc.w.s $f2, $f0 +/* C316E4 80240204 44061000 */ mfc1 $a2, $f2 +/* C316E8 80240208 0C0B2026 */ jal set_variable +/* C316EC 8024020C 0240202D */ daddu $a0, $s2, $zero +/* C316F0 80240210 C6200050 */ lwc1 $f0, 0x50($s1) +/* C316F4 80240214 8E050000 */ lw $a1, ($s0) +/* C316F8 80240218 4600008D */ trunc.w.s $f2, $f0 +/* C316FC 8024021C 44061000 */ mfc1 $a2, $f2 +/* C31700 80240220 0C0B2026 */ jal set_variable +/* C31704 80240224 0240202D */ daddu $a0, $s2, $zero +/* C31708 80240228 8FBF001C */ lw $ra, 0x1c($sp) +/* C3170C 8024022C 8FB20018 */ lw $s2, 0x18($sp) +/* C31710 80240230 8FB10014 */ lw $s1, 0x14($sp) +/* C31714 80240234 8FB00010 */ lw $s0, 0x10($sp) +/* C31718 80240238 24020002 */ addiu $v0, $zero, 2 +/* C3171C 8024023C 03E00008 */ jr $ra +/* C31720 80240240 27BD0020 */ addiu $sp, $sp, 0x20 +/* C31724 80240244 00000000 */ nop +/* C31728 80240248 00000000 */ nop +/* C3172C 8024024C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240250_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240250_C314E0.s new file mode 100644 index 0000000000..b5e55b57c7 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240250_C314E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240250_C31730 +/* C31730 80240250 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C31734 80240254 AFB10014 */ sw $s1, 0x14($sp) +/* C31738 80240258 0080882D */ daddu $s1, $a0, $zero +/* C3173C 8024025C AFBF0018 */ sw $ra, 0x18($sp) +/* C31740 80240260 AFB00010 */ sw $s0, 0x10($sp) +/* C31744 80240264 8E300148 */ lw $s0, 0x148($s1) +/* C31748 80240268 0C00EABB */ jal get_npc_unsafe +/* C3174C 8024026C 86040008 */ lh $a0, 8($s0) +/* C31750 80240270 24030001 */ addiu $v1, $zero, 1 +/* C31754 80240274 0040202D */ daddu $a0, $v0, $zero +/* C31758 80240278 AE03006C */ sw $v1, 0x6c($s0) +/* C3175C 8024027C 8482008C */ lh $v0, 0x8c($a0) +/* C31760 80240280 14400009 */ bnez $v0, .L802402A8 +/* C31764 80240284 24020002 */ addiu $v0, $zero, 2 +/* C31768 80240288 96030072 */ lhu $v1, 0x72($s0) +/* C3176C 8024028C AE02006C */ sw $v0, 0x6c($s0) +/* C31770 80240290 A483008E */ sh $v1, 0x8e($a0) +/* C31774 80240294 8E0200CC */ lw $v0, 0xcc($s0) +/* C31778 80240298 8C420020 */ lw $v0, 0x20($v0) +/* C3177C 8024029C AC820028 */ sw $v0, 0x28($a0) +/* C31780 802402A0 2402001F */ addiu $v0, $zero, 0x1f +/* C31784 802402A4 AE220070 */ sw $v0, 0x70($s1) +.L802402A8: +/* C31788 802402A8 8FBF0018 */ lw $ra, 0x18($sp) +/* C3178C 802402AC 8FB10014 */ lw $s1, 0x14($sp) +/* C31790 802402B0 8FB00010 */ lw $s0, 0x10($sp) +/* C31794 802402B4 03E00008 */ jr $ra +/* C31798 802402B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802402BC_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802402BC_C314E0.s new file mode 100644 index 0000000000..c609d5bb5b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802402BC_C314E0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_C3179C +/* C3179C 802402BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C317A0 802402C0 AFB10014 */ sw $s1, 0x14($sp) +/* C317A4 802402C4 0080882D */ daddu $s1, $a0, $zero +/* C317A8 802402C8 AFBF0018 */ sw $ra, 0x18($sp) +/* C317AC 802402CC AFB00010 */ sw $s0, 0x10($sp) +/* C317B0 802402D0 8E300148 */ lw $s0, 0x148($s1) +/* C317B4 802402D4 0C00EABB */ jal get_npc_unsafe +/* C317B8 802402D8 86040008 */ lh $a0, 8($s0) +/* C317BC 802402DC 0040202D */ daddu $a0, $v0, $zero +/* C317C0 802402E0 9482008E */ lhu $v0, 0x8e($a0) +/* C317C4 802402E4 2442FFFF */ addiu $v0, $v0, -1 +/* C317C8 802402E8 A482008E */ sh $v0, 0x8e($a0) +/* C317CC 802402EC 00021400 */ sll $v0, $v0, 0x10 +/* C317D0 802402F0 1C400009 */ bgtz $v0, .L80240318 +/* C317D4 802402F4 24020003 */ addiu $v0, $zero, 3 +/* C317D8 802402F8 96030076 */ lhu $v1, 0x76($s0) +/* C317DC 802402FC AE02006C */ sw $v0, 0x6c($s0) +/* C317E0 80240300 A483008E */ sh $v1, 0x8e($a0) +/* C317E4 80240304 8E0200CC */ lw $v0, 0xcc($s0) +/* C317E8 80240308 8C420024 */ lw $v0, 0x24($v0) +/* C317EC 8024030C AC820028 */ sw $v0, 0x28($a0) +/* C317F0 80240310 24020020 */ addiu $v0, $zero, 0x20 +/* C317F4 80240314 AE220070 */ sw $v0, 0x70($s1) +.L80240318: +/* C317F8 80240318 8FBF0018 */ lw $ra, 0x18($sp) +/* C317FC 8024031C 8FB10014 */ lw $s1, 0x14($sp) +/* C31800 80240320 8FB00010 */ lw $s0, 0x10($sp) +/* C31804 80240324 03E00008 */ jr $ra +/* C31808 80240328 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024032C_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024032C_C314E0.s new file mode 100644 index 0000000000..e7f99b4ff0 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024032C_C314E0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_C3180C +/* C3180C 8024032C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C31810 80240330 AFB10034 */ sw $s1, 0x34($sp) +/* C31814 80240334 0080882D */ daddu $s1, $a0, $zero +/* C31818 80240338 AFBF0038 */ sw $ra, 0x38($sp) +/* C3181C 8024033C AFB00030 */ sw $s0, 0x30($sp) +/* C31820 80240340 8E300148 */ lw $s0, 0x148($s1) +/* C31824 80240344 0C00EABB */ jal get_npc_unsafe +/* C31828 80240348 86040008 */ lh $a0, 8($s0) +/* C3182C 8024034C 0040282D */ daddu $a1, $v0, $zero +/* C31830 80240350 94A2008E */ lhu $v0, 0x8e($a1) +/* C31834 80240354 2442FFFF */ addiu $v0, $v0, -1 +/* C31838 80240358 A4A2008E */ sh $v0, 0x8e($a1) +/* C3183C 8024035C 00021400 */ sll $v0, $v0, 0x10 +/* C31840 80240360 1C400023 */ bgtz $v0, .L802403F0 +/* C31844 80240364 24020004 */ addiu $v0, $zero, 4 +/* C31848 80240368 8E0300CC */ lw $v1, 0xcc($s0) +/* C3184C 8024036C AE02006C */ sw $v0, 0x6c($s0) +/* C31850 80240370 8C620000 */ lw $v0, ($v1) +/* C31854 80240374 ACA20028 */ sw $v0, 0x28($a1) +/* C31858 80240378 9602007A */ lhu $v0, 0x7a($s0) +/* C3185C 8024037C A4A2008E */ sh $v0, 0x8e($a1) +/* C31860 80240380 8E020078 */ lw $v0, 0x78($s0) +/* C31864 80240384 28420008 */ slti $v0, $v0, 8 +/* C31868 80240388 14400018 */ bnez $v0, .L802403EC +/* C3186C 8024038C 24020021 */ addiu $v0, $zero, 0x21 +/* C31870 80240390 24040003 */ addiu $a0, $zero, 3 +/* C31874 80240394 27A30028 */ addiu $v1, $sp, 0x28 +/* C31878 80240398 84A700A8 */ lh $a3, 0xa8($a1) +/* C3187C 8024039C 3C013F80 */ lui $at, 0x3f80 +/* C31880 802403A0 44810000 */ mtc1 $at, $f0 +/* C31884 802403A4 3C014000 */ lui $at, 0x4000 +/* C31888 802403A8 44811000 */ mtc1 $at, $f2 +/* C3188C 802403AC 3C01C1A0 */ lui $at, 0xc1a0 +/* C31890 802403B0 44812000 */ mtc1 $at, $f4 +/* C31894 802403B4 44873000 */ mtc1 $a3, $f6 +/* C31898 802403B8 00000000 */ nop +/* C3189C 802403BC 468031A0 */ cvt.s.w $f6, $f6 +/* C318A0 802403C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C318A4 802403C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C318A8 802403C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C318AC 802403CC 8E020078 */ lw $v0, 0x78($s0) +/* C318B0 802403D0 44073000 */ mfc1 $a3, $f6 +/* C318B4 802403D4 0000302D */ daddu $a2, $zero, $zero +/* C318B8 802403D8 AFA30020 */ sw $v1, 0x20($sp) +/* C318BC 802403DC 2442FFFF */ addiu $v0, $v0, -1 +/* C318C0 802403E0 0C01BFA4 */ jal fx_emote +/* C318C4 802403E4 AFA2001C */ sw $v0, 0x1c($sp) +/* C318C8 802403E8 24020021 */ addiu $v0, $zero, 0x21 +.L802403EC: +/* C318CC 802403EC AE220070 */ sw $v0, 0x70($s1) +.L802403F0: +/* C318D0 802403F0 8FBF0038 */ lw $ra, 0x38($sp) +/* C318D4 802403F4 8FB10034 */ lw $s1, 0x34($sp) +/* C318D8 802403F8 8FB00030 */ lw $s0, 0x30($sp) +/* C318DC 802403FC 03E00008 */ jr $ra +/* C318E0 80240400 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240404_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240404_C314E0.s new file mode 100644 index 0000000000..e8d0309eeb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240404_C314E0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_C318E4 +/* C318E4 80240404 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C318E8 80240408 AFB10014 */ sw $s1, 0x14($sp) +/* C318EC 8024040C 0080882D */ daddu $s1, $a0, $zero +/* C318F0 80240410 AFBF0018 */ sw $ra, 0x18($sp) +/* C318F4 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* C318F8 80240418 8E300148 */ lw $s0, 0x148($s1) +/* C318FC 8024041C 0C00EABB */ jal get_npc_unsafe +/* C31900 80240420 86040008 */ lh $a0, 8($s0) +/* C31904 80240424 9443008E */ lhu $v1, 0x8e($v0) +/* C31908 80240428 2463FFFF */ addiu $v1, $v1, -1 +/* C3190C 8024042C A443008E */ sh $v1, 0x8e($v0) +/* C31910 80240430 00031C00 */ sll $v1, $v1, 0x10 +/* C31914 80240434 1C600003 */ bgtz $v1, .L80240444 +/* C31918 80240438 2402000C */ addiu $v0, $zero, 0xc +/* C3191C 8024043C AE00006C */ sw $zero, 0x6c($s0) +/* C31920 80240440 AE220070 */ sw $v0, 0x70($s1) +.L80240444: +/* C31924 80240444 8FBF0018 */ lw $ra, 0x18($sp) +/* C31928 80240448 8FB10014 */ lw $s1, 0x14($sp) +/* C3192C 8024044C 8FB00010 */ lw $s0, 0x10($sp) +/* C31930 80240450 03E00008 */ jr $ra +/* C31934 80240454 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240458.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240458.s new file mode 100644 index 0000000000..8ee720c056 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240458.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240458 +/* C31938 80240458 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3193C 8024045C AFBF0024 */ sw $ra, 0x24($sp) +/* C31940 80240460 AFB40020 */ sw $s4, 0x20($sp) +/* C31944 80240464 AFB3001C */ sw $s3, 0x1c($sp) +/* C31948 80240468 AFB20018 */ sw $s2, 0x18($sp) +/* C3194C 8024046C AFB10014 */ sw $s1, 0x14($sp) +/* C31950 80240470 AFB00010 */ sw $s0, 0x10($sp) +/* C31954 80240474 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C31958 80240478 8C900148 */ lw $s0, 0x148($a0) +/* C3195C 8024047C 86040008 */ lh $a0, 8($s0) +/* C31960 80240480 0C00EABB */ jal get_npc_unsafe +/* C31964 80240484 24110001 */ addiu $s1, $zero, 1 +/* C31968 80240488 86040008 */ lh $a0, 8($s0) +/* C3196C 8024048C 0040802D */ daddu $s0, $v0, $zero +/* C31970 80240490 3C05800B */ lui $a1, %hi(gCameras) +/* C31974 80240494 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C31978 80240498 3C03800A */ lui $v1, 0x800a +/* C3197C 8024049C 8463A634 */ lh $v1, -0x59cc($v1) +/* C31980 802404A0 00912021 */ addu $a0, $a0, $s1 +/* C31984 802404A4 00031080 */ sll $v0, $v1, 2 +/* C31988 802404A8 00431021 */ addu $v0, $v0, $v1 +/* C3198C 802404AC 00021080 */ sll $v0, $v0, 2 +/* C31990 802404B0 00431023 */ subu $v0, $v0, $v1 +/* C31994 802404B4 000218C0 */ sll $v1, $v0, 3 +/* C31998 802404B8 00431021 */ addu $v0, $v0, $v1 +/* C3199C 802404BC 000210C0 */ sll $v0, $v0, 3 +/* C319A0 802404C0 0C00FB3A */ jal get_enemy +/* C319A4 802404C4 00459021 */ addu $s2, $v0, $a1 +/* C319A8 802404C8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C319AC 802404CC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C319B0 802404D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C319B4 802404D4 8E830000 */ lw $v1, ($s4) +/* C319B8 802404D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C319BC 802404DC 8C660028 */ lw $a2, 0x28($v1) +/* C319C0 802404E0 8C670030 */ lw $a3, 0x30($v1) +/* C319C4 802404E4 0C00A7B5 */ jal dist2D +/* C319C8 802404E8 0040982D */ daddu $s3, $v0, $zero +/* C319CC 802404EC C6620074 */ lwc1 $f2, 0x74($s3) +/* C319D0 802404F0 468010A0 */ cvt.s.w $f2, $f2 +/* C319D4 802404F4 4600103C */ c.lt.s $f2, $f0 +/* C319D8 802404F8 00000000 */ nop +/* C319DC 802404FC 45030001 */ bc1tl .L80240504 +/* C319E0 80240500 0000882D */ daddu $s1, $zero, $zero +.L80240504: +/* C319E4 80240504 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C319E8 80240508 C60E000C */ lwc1 $f14, 0xc($s0) +/* C319EC 8024050C 3C014387 */ lui $at, 0x4387 +/* C319F0 80240510 4481A000 */ mtc1 $at, $f20 +/* C319F4 80240514 0C00A70A */ jal get_clamped_angle_diff +/* C319F8 80240518 00000000 */ nop +/* C319FC 8024051C 0C00A6C9 */ jal clamp_angle +/* C31A00 80240520 46000306 */ mov.s $f12, $f0 +/* C31A04 80240524 3C018024 */ lui $at, 0x8024 +/* C31A08 80240528 D42249F0 */ ldc1 $f2, 0x49f0($at) +/* C31A0C 8024052C 46000021 */ cvt.d.s $f0, $f0 +/* C31A10 80240530 4622003C */ c.lt.d $f0, $f2 +/* C31A14 80240534 00000000 */ nop +/* C31A18 80240538 45000003 */ bc1f .L80240548 +/* C31A1C 8024053C 00000000 */ nop +/* C31A20 80240540 3C0142B4 */ lui $at, 0x42b4 +/* C31A24 80240544 4481A000 */ mtc1 $at, $f20 +.L80240548: +/* C31A28 80240548 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C31A2C 8024054C 8E820000 */ lw $v0, ($s4) +/* C31A30 80240550 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C31A34 80240554 8C460028 */ lw $a2, 0x28($v0) +/* C31A38 80240558 0C00A720 */ jal atan2 +/* C31A3C 8024055C 8C470030 */ lw $a3, 0x30($v0) +/* C31A40 80240560 4600A306 */ mov.s $f12, $f20 +/* C31A44 80240564 0C00A70A */ jal get_clamped_angle_diff +/* C31A48 80240568 46000386 */ mov.s $f14, $f0 +/* C31A4C 8024056C C6620078 */ lwc1 $f2, 0x78($s3) +/* C31A50 80240570 468010A0 */ cvt.s.w $f2, $f2 +/* C31A54 80240574 46000005 */ abs.s $f0, $f0 +/* C31A58 80240578 4600103C */ c.lt.s $f2, $f0 +/* C31A5C 8024057C 00000000 */ nop +/* C31A60 80240580 45030001 */ bc1tl .L80240588 +/* C31A64 80240584 0000882D */ daddu $s1, $zero, $zero +.L80240588: +/* C31A68 80240588 8E820000 */ lw $v0, ($s4) +/* C31A6C 8024058C C600003C */ lwc1 $f0, 0x3c($s0) +/* C31A70 80240590 C442002C */ lwc1 $f2, 0x2c($v0) +/* C31A74 80240594 860200A8 */ lh $v0, 0xa8($s0) +/* C31A78 80240598 46020001 */ sub.s $f0, $f0, $f2 +/* C31A7C 8024059C 44821000 */ mtc1 $v0, $f2 +/* C31A80 802405A0 00000000 */ nop +/* C31A84 802405A4 468010A1 */ cvt.d.w $f2, $f2 +/* C31A88 802405A8 46221080 */ add.d $f2, $f2, $f2 +/* C31A8C 802405AC 46000005 */ abs.s $f0, $f0 +/* C31A90 802405B0 46000021 */ cvt.d.s $f0, $f0 +/* C31A94 802405B4 4620103E */ c.le.d $f2, $f0 +/* C31A98 802405B8 00000000 */ nop +/* C31A9C 802405BC 45030001 */ bc1tl .L802405C4 +/* C31AA0 802405C0 0000882D */ daddu $s1, $zero, $zero +.L802405C4: +/* C31AA4 802405C4 3C038011 */ lui $v1, 0x8011 +/* C31AA8 802405C8 8063EBB3 */ lb $v1, -0x144d($v1) +/* C31AAC 802405CC 24020009 */ addiu $v0, $zero, 9 +/* C31AB0 802405D0 50620001 */ beql $v1, $v0, .L802405D8 +/* C31AB4 802405D4 0000882D */ daddu $s1, $zero, $zero +.L802405D8: +/* C31AB8 802405D8 24020007 */ addiu $v0, $zero, 7 +/* C31ABC 802405DC 50620001 */ beql $v1, $v0, .L802405E4 +/* C31AC0 802405E0 0000882D */ daddu $s1, $zero, $zero +.L802405E4: +/* C31AC4 802405E4 0220102D */ daddu $v0, $s1, $zero +/* C31AC8 802405E8 8FBF0024 */ lw $ra, 0x24($sp) +/* C31ACC 802405EC 8FB40020 */ lw $s4, 0x20($sp) +/* C31AD0 802405F0 8FB3001C */ lw $s3, 0x1c($sp) +/* C31AD4 802405F4 8FB20018 */ lw $s2, 0x18($sp) +/* C31AD8 802405F8 8FB10014 */ lw $s1, 0x14($sp) +/* C31ADC 802405FC 8FB00010 */ lw $s0, 0x10($sp) +/* C31AE0 80240600 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C31AE4 80240604 03E00008 */ jr $ra +/* C31AE8 80240608 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024060C_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024060C_C314E0.s new file mode 100644 index 0000000000..aaacbf029a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024060C_C314E0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024060C_C31AEC +/* C31AEC 8024060C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C31AF0 80240610 AFB40028 */ sw $s4, 0x28($sp) +/* C31AF4 80240614 0080A02D */ daddu $s4, $a0, $zero +/* C31AF8 80240618 AFBF002C */ sw $ra, 0x2c($sp) +/* C31AFC 8024061C AFB30024 */ sw $s3, 0x24($sp) +/* C31B00 80240620 AFB20020 */ sw $s2, 0x20($sp) +/* C31B04 80240624 AFB1001C */ sw $s1, 0x1c($sp) +/* C31B08 80240628 AFB00018 */ sw $s0, 0x18($sp) +/* C31B0C 8024062C 8E910148 */ lw $s1, 0x148($s4) +/* C31B10 80240630 86240008 */ lh $a0, 8($s1) +/* C31B14 80240634 0C00EABB */ jal get_npc_unsafe +/* C31B18 80240638 00A0802D */ daddu $s0, $a1, $zero +/* C31B1C 8024063C 16000005 */ bnez $s0, .L80240654 +/* C31B20 80240640 0040902D */ daddu $s2, $v0, $zero +/* C31B24 80240644 8E2200B0 */ lw $v0, 0xb0($s1) +/* C31B28 80240648 30420004 */ andi $v0, $v0, 4 +/* C31B2C 8024064C 10400015 */ beqz $v0, .L802406A4 +/* C31B30 80240650 00000000 */ nop +.L80240654: +/* C31B34 80240654 AE800070 */ sw $zero, 0x70($s4) +/* C31B38 80240658 8E420000 */ lw $v0, ($s2) +/* C31B3C 8024065C 3C031F30 */ lui $v1, 0x1f30 +/* C31B40 80240660 A640008E */ sh $zero, 0x8e($s2) +/* C31B44 80240664 34420102 */ ori $v0, $v0, 0x102 +/* C31B48 80240668 AE420000 */ sw $v0, ($s2) +/* C31B4C 8024066C 8E220000 */ lw $v0, ($s1) +/* C31B50 80240670 3C01C47A */ lui $at, 0xc47a +/* C31B54 80240674 44810000 */ mtc1 $at, $f0 +/* C31B58 80240678 00431025 */ or $v0, $v0, $v1 +/* C31B5C 8024067C AE220000 */ sw $v0, ($s1) +/* C31B60 80240680 AE400038 */ sw $zero, 0x38($s2) +/* C31B64 80240684 E640003C */ swc1 $f0, 0x3c($s2) +/* C31B68 80240688 AE400040 */ sw $zero, 0x40($s2) +/* C31B6C 8024068C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C31B70 80240690 30620004 */ andi $v0, $v1, 4 +/* C31B74 80240694 10400003 */ beqz $v0, .L802406A4 +/* C31B78 80240698 2402FFFB */ addiu $v0, $zero, -5 +/* C31B7C 8024069C 00621024 */ and $v0, $v1, $v0 +/* C31B80 802406A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802406A4: +/* C31B84 802406A4 8E930070 */ lw $s3, 0x70($s4) +/* C31B88 802406A8 12600005 */ beqz $s3, .L802406C0 +/* C31B8C 802406AC 24020001 */ addiu $v0, $zero, 1 +/* C31B90 802406B0 12620048 */ beq $s3, $v0, .L802407D4 +/* C31B94 802406B4 00000000 */ nop +/* C31B98 802406B8 08090212 */ j .L80240848 +/* C31B9C 802406BC 00000000 */ nop +.L802406C0: +/* C31BA0 802406C0 86240008 */ lh $a0, 8($s1) +/* C31BA4 802406C4 0C00FB3A */ jal get_enemy +/* C31BA8 802406C8 2484FFFF */ addiu $a0, $a0, -1 +/* C31BAC 802406CC 0040802D */ daddu $s0, $v0, $zero +/* C31BB0 802406D0 0C00EABB */ jal get_npc_unsafe +/* C31BB4 802406D4 86040008 */ lh $a0, 8($s0) +/* C31BB8 802406D8 24030001 */ addiu $v1, $zero, 1 +/* C31BBC 802406DC 0040982D */ daddu $s3, $v0, $zero +/* C31BC0 802406E0 A2230007 */ sb $v1, 7($s1) +/* C31BC4 802406E4 8E03006C */ lw $v1, 0x6c($s0) +/* C31BC8 802406E8 24020003 */ addiu $v0, $zero, 3 +/* C31BCC 802406EC 14620056 */ bne $v1, $v0, .L80240848 +/* C31BD0 802406F0 00000000 */ nop +/* C31BD4 802406F4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C31BD8 802406F8 10A00003 */ beqz $a1, .L80240708 +/* C31BDC 802406FC 0260202D */ daddu $a0, $s3, $zero +/* C31BE0 80240700 0C012530 */ jal func_800494C0 +/* C31BE4 80240704 0000302D */ daddu $a2, $zero, $zero +.L80240708: +/* C31BE8 80240708 27A40010 */ addiu $a0, $sp, 0x10 +/* C31BEC 8024070C C6280070 */ lwc1 $f8, 0x70($s1) +/* C31BF0 80240710 46804220 */ cvt.s.w $f8, $f8 +/* C31BF4 80240714 C6620034 */ lwc1 $f2, 0x34($s3) +/* C31BF8 80240718 3C014387 */ lui $at, 0x4387 +/* C31BFC 8024071C 44810000 */ mtc1 $at, $f0 +/* C31C00 80240720 44064000 */ mfc1 $a2, $f8 +/* C31C04 80240724 46020001 */ sub.s $f0, $f0, $f2 +/* C31C08 80240728 C6660038 */ lwc1 $f6, 0x38($s3) +/* C31C0C 8024072C C6640040 */ lwc1 $f4, 0x40($s3) +/* C31C10 80240730 44070000 */ mfc1 $a3, $f0 +/* C31C14 80240734 27A50014 */ addiu $a1, $sp, 0x14 +/* C31C18 80240738 E7A60010 */ swc1 $f6, 0x10($sp) +/* C31C1C 8024073C 0C00A7E7 */ jal add_vec2D_polar +/* C31C20 80240740 E7A40014 */ swc1 $f4, 0x14($sp) +/* C31C24 80240744 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C31C28 80240748 4600020D */ trunc.w.s $f8, $f0 +/* C31C2C 8024074C 44024000 */ mfc1 $v0, $f8 +/* C31C30 80240750 E6400038 */ swc1 $f0, 0x38($s2) +/* C31C34 80240754 A6220010 */ sh $v0, 0x10($s1) +/* C31C38 80240758 C660003C */ lwc1 $f0, 0x3c($s3) +/* C31C3C 8024075C C622006C */ lwc1 $f2, 0x6c($s1) +/* C31C40 80240760 468010A0 */ cvt.s.w $f2, $f2 +/* C31C44 80240764 46020000 */ add.s $f0, $f0, $f2 +/* C31C48 80240768 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C31C4C 8024076C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C31C50 80240770 E640003C */ swc1 $f0, 0x3c($s2) +/* C31C54 80240774 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C31C58 80240778 4600020D */ trunc.w.s $f8, $f0 +/* C31C5C 8024077C 44024000 */ mfc1 $v0, $f8 +/* C31C60 80240780 00000000 */ nop +/* C31C64 80240784 A6220012 */ sh $v0, 0x12($s1) +/* C31C68 80240788 4600120D */ trunc.w.s $f8, $f2 +/* C31C6C 8024078C 44024000 */ mfc1 $v0, $f8 +/* C31C70 80240790 E6420040 */ swc1 $f2, 0x40($s2) +/* C31C74 80240794 A6220014 */ sh $v0, 0x14($s1) +/* C31C78 80240798 8C660028 */ lw $a2, 0x28($v1) +/* C31C7C 8024079C 8C670030 */ lw $a3, 0x30($v1) +/* C31C80 802407A0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C31C84 802407A4 0C00A720 */ jal atan2 +/* C31C88 802407A8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C31C8C 802407AC 3C03E0EF */ lui $v1, 0xe0ef +/* C31C90 802407B0 E640000C */ swc1 $f0, 0xc($s2) +/* C31C94 802407B4 8E220000 */ lw $v0, ($s1) +/* C31C98 802407B8 3463FFFF */ ori $v1, $v1, 0xffff +/* C31C9C 802407BC 00431024 */ and $v0, $v0, $v1 +/* C31CA0 802407C0 AE220000 */ sw $v0, ($s1) +/* C31CA4 802407C4 24020001 */ addiu $v0, $zero, 1 +/* C31CA8 802407C8 A640008E */ sh $zero, 0x8e($s2) +/* C31CAC 802407CC 08090212 */ j .L80240848 +/* C31CB0 802407D0 AE820070 */ sw $v0, 0x70($s4) +.L802407D4: +/* C31CB4 802407D4 86240008 */ lh $a0, 8($s1) +/* C31CB8 802407D8 0C00FB3A */ jal get_enemy +/* C31CBC 802407DC 2484FFFF */ addiu $a0, $a0, -1 +/* C31CC0 802407E0 0040802D */ daddu $s0, $v0, $zero +/* C31CC4 802407E4 0C00EABB */ jal get_npc_unsafe +/* C31CC8 802407E8 86040008 */ lh $a0, 8($s0) +/* C31CCC 802407EC 9642008E */ lhu $v0, 0x8e($s2) +/* C31CD0 802407F0 24420001 */ addiu $v0, $v0, 1 +/* C31CD4 802407F4 A642008E */ sh $v0, 0x8e($s2) +/* C31CD8 802407F8 00021400 */ sll $v0, $v0, 0x10 +/* C31CDC 802407FC 8E23007C */ lw $v1, 0x7c($s1) +/* C31CE0 80240800 00021403 */ sra $v0, $v0, 0x10 +/* C31CE4 80240804 0043102A */ slt $v0, $v0, $v1 +/* C31CE8 80240808 50400001 */ beql $v0, $zero, .L80240810 +/* C31CEC 8024080C A2200007 */ sb $zero, 7($s1) +.L80240810: +/* C31CF0 80240810 8E03006C */ lw $v1, 0x6c($s0) +/* C31CF4 80240814 24020004 */ addiu $v0, $zero, 4 +/* C31CF8 80240818 1462000B */ bne $v1, $v0, .L80240848 +/* C31CFC 8024081C 3C021F10 */ lui $v0, 0x1f10 +/* C31D00 80240820 8E230000 */ lw $v1, ($s1) +/* C31D04 80240824 3C01C47A */ lui $at, 0xc47a +/* C31D08 80240828 44810000 */ mtc1 $at, $f0 +/* C31D0C 8024082C 00621825 */ or $v1, $v1, $v0 +/* C31D10 80240830 AE230000 */ sw $v1, ($s1) +/* C31D14 80240834 AE400038 */ sw $zero, 0x38($s2) +/* C31D18 80240838 E640003C */ swc1 $f0, 0x3c($s2) +/* C31D1C 8024083C AE400040 */ sw $zero, 0x40($s2) +/* C31D20 80240840 A2330007 */ sb $s3, 7($s1) +/* C31D24 80240844 AE800070 */ sw $zero, 0x70($s4) +.L80240848: +/* C31D28 80240848 8FBF002C */ lw $ra, 0x2c($sp) +/* C31D2C 8024084C 8FB40028 */ lw $s4, 0x28($sp) +/* C31D30 80240850 8FB30024 */ lw $s3, 0x24($sp) +/* C31D34 80240854 8FB20020 */ lw $s2, 0x20($sp) +/* C31D38 80240858 8FB1001C */ lw $s1, 0x1c($sp) +/* C31D3C 8024085C 8FB00018 */ lw $s0, 0x18($sp) +/* C31D40 80240860 0000102D */ daddu $v0, $zero, $zero +/* C31D44 80240864 03E00008 */ jr $ra +/* C31D48 80240868 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024086C_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024086C_C314E0.s new file mode 100644 index 0000000000..3274630c19 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024086C_C314E0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C_C31D4C +/* C31D4C 8024086C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C31D50 80240870 AFB20038 */ sw $s2, 0x38($sp) +/* C31D54 80240874 0080902D */ daddu $s2, $a0, $zero +/* C31D58 80240878 AFBF0048 */ sw $ra, 0x48($sp) +/* C31D5C 8024087C AFB50044 */ sw $s5, 0x44($sp) +/* C31D60 80240880 AFB40040 */ sw $s4, 0x40($sp) +/* C31D64 80240884 AFB3003C */ sw $s3, 0x3c($sp) +/* C31D68 80240888 AFB10034 */ sw $s1, 0x34($sp) +/* C31D6C 8024088C AFB00030 */ sw $s0, 0x30($sp) +/* C31D70 80240890 8E510148 */ lw $s1, 0x148($s2) +/* C31D74 80240894 86240008 */ lh $a0, 8($s1) +/* C31D78 80240898 0C00EABB */ jal get_npc_unsafe +/* C31D7C 8024089C 00A0802D */ daddu $s0, $a1, $zero +/* C31D80 802408A0 8E43000C */ lw $v1, 0xc($s2) +/* C31D84 802408A4 0240202D */ daddu $a0, $s2, $zero +/* C31D88 802408A8 8C650000 */ lw $a1, ($v1) +/* C31D8C 802408AC 0C0B1EAF */ jal get_variable +/* C31D90 802408B0 0040A82D */ daddu $s5, $v0, $zero +/* C31D94 802408B4 AFA00010 */ sw $zero, 0x10($sp) +/* C31D98 802408B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C31D9C 802408BC 8C630030 */ lw $v1, 0x30($v1) +/* C31DA0 802408C0 AFA30014 */ sw $v1, 0x14($sp) +/* C31DA4 802408C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C31DA8 802408C8 8C63001C */ lw $v1, 0x1c($v1) +/* C31DAC 802408CC AFA30018 */ sw $v1, 0x18($sp) +/* C31DB0 802408D0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C31DB4 802408D4 8C630024 */ lw $v1, 0x24($v1) +/* C31DB8 802408D8 AFA3001C */ sw $v1, 0x1c($sp) +/* C31DBC 802408DC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C31DC0 802408E0 8C630028 */ lw $v1, 0x28($v1) +/* C31DC4 802408E4 27B40010 */ addiu $s4, $sp, 0x10 +/* C31DC8 802408E8 AFA30020 */ sw $v1, 0x20($sp) +/* C31DCC 802408EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C31DD0 802408F0 3C014282 */ lui $at, 0x4282 +/* C31DD4 802408F4 44810000 */ mtc1 $at, $f0 +/* C31DD8 802408F8 8C63002C */ lw $v1, 0x2c($v1) +/* C31DDC 802408FC 0040982D */ daddu $s3, $v0, $zero +/* C31DE0 80240900 E7A00028 */ swc1 $f0, 0x28($sp) +/* C31DE4 80240904 A7A0002C */ sh $zero, 0x2c($sp) +/* C31DE8 80240908 16000005 */ bnez $s0, .L80240920 +/* C31DEC 8024090C AFA30024 */ sw $v1, 0x24($sp) +/* C31DF0 80240910 8E2200B0 */ lw $v0, 0xb0($s1) +/* C31DF4 80240914 30420004 */ andi $v0, $v0, 4 +/* C31DF8 80240918 10400020 */ beqz $v0, .L8024099C +/* C31DFC 8024091C 00000000 */ nop +.L80240920: +/* C31E00 80240920 2404F7FF */ addiu $a0, $zero, -0x801 +/* C31E04 80240924 AE400070 */ sw $zero, 0x70($s2) +/* C31E08 80240928 A6A0008E */ sh $zero, 0x8e($s5) +/* C31E0C 8024092C 8E2200CC */ lw $v0, 0xcc($s1) +/* C31E10 80240930 8EA30000 */ lw $v1, ($s5) +/* C31E14 80240934 8C420000 */ lw $v0, ($v0) +/* C31E18 80240938 00641824 */ and $v1, $v1, $a0 +/* C31E1C 8024093C AEA30000 */ sw $v1, ($s5) +/* C31E20 80240940 AEA20028 */ sw $v0, 0x28($s5) +/* C31E24 80240944 8E2200D0 */ lw $v0, 0xd0($s1) +/* C31E28 80240948 8C420034 */ lw $v0, 0x34($v0) +/* C31E2C 8024094C 54400005 */ bnel $v0, $zero, .L80240964 +/* C31E30 80240950 2402FDFF */ addiu $v0, $zero, -0x201 +/* C31E34 80240954 34620200 */ ori $v0, $v1, 0x200 +/* C31E38 80240958 2403FFF7 */ addiu $v1, $zero, -9 +/* C31E3C 8024095C 0809025B */ j .L8024096C +/* C31E40 80240960 00431024 */ and $v0, $v0, $v1 +.L80240964: +/* C31E44 80240964 00621024 */ and $v0, $v1, $v0 +/* C31E48 80240968 34420008 */ ori $v0, $v0, 8 +.L8024096C: +/* C31E4C 8024096C AEA20000 */ sw $v0, ($s5) +/* C31E50 80240970 8E2200B0 */ lw $v0, 0xb0($s1) +/* C31E54 80240974 30420004 */ andi $v0, $v0, 4 +/* C31E58 80240978 10400007 */ beqz $v0, .L80240998 +/* C31E5C 8024097C 24020063 */ addiu $v0, $zero, 0x63 +/* C31E60 80240980 AE420070 */ sw $v0, 0x70($s2) +/* C31E64 80240984 AE400074 */ sw $zero, 0x74($s2) +/* C31E68 80240988 8E2200B0 */ lw $v0, 0xb0($s1) +/* C31E6C 8024098C 2403FFFB */ addiu $v1, $zero, -5 +/* C31E70 80240990 00431024 */ and $v0, $v0, $v1 +/* C31E74 80240994 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240998: +/* C31E78 80240998 AE20006C */ sw $zero, 0x6c($s1) +.L8024099C: +/* C31E7C 8024099C 8E420070 */ lw $v0, 0x70($s2) +/* C31E80 802409A0 2842001E */ slti $v0, $v0, 0x1e +/* C31E84 802409A4 10400009 */ beqz $v0, .L802409CC +/* C31E88 802409A8 00000000 */ nop +/* C31E8C 802409AC 8E22006C */ lw $v0, 0x6c($s1) +/* C31E90 802409B0 14400006 */ bnez $v0, .L802409CC +/* C31E94 802409B4 00000000 */ nop +/* C31E98 802409B8 0C090116 */ jal func_80240458 +/* C31E9C 802409BC 0240202D */ daddu $a0, $s2, $zero +/* C31EA0 802409C0 10400002 */ beqz $v0, .L802409CC +/* C31EA4 802409C4 2402001E */ addiu $v0, $zero, 0x1e +/* C31EA8 802409C8 AE420070 */ sw $v0, 0x70($s2) +.L802409CC: +/* C31EAC 802409CC 8E430070 */ lw $v1, 0x70($s2) +/* C31EB0 802409D0 2C620064 */ sltiu $v0, $v1, 0x64 +/* C31EB4 802409D4 10400048 */ beqz $v0, .L80240AF8 +/* C31EB8 802409D8 00031080 */ sll $v0, $v1, 2 +/* C31EBC 802409DC 3C018024 */ lui $at, 0x8024 +/* C31EC0 802409E0 00220821 */ addu $at, $at, $v0 +/* C31EC4 802409E4 8C2249F8 */ lw $v0, 0x49f8($at) +/* C31EC8 802409E8 00400008 */ jr $v0 +/* C31ECC 802409EC 00000000 */ nop +/* C31ED0 802409F0 0240202D */ daddu $a0, $s2, $zero +/* C31ED4 802409F4 0260282D */ daddu $a1, $s3, $zero +/* C31ED8 802409F8 0C012568 */ jal func_800495A0 +/* C31EDC 802409FC 0280302D */ daddu $a2, $s4, $zero +/* C31EE0 80240A00 0240202D */ daddu $a0, $s2, $zero +/* C31EE4 80240A04 0260282D */ daddu $a1, $s3, $zero +/* C31EE8 80240A08 0C0125AE */ jal func_800496B8 +/* C31EEC 80240A0C 0280302D */ daddu $a2, $s4, $zero +/* C31EF0 80240A10 080902BE */ j .L80240AF8 +/* C31EF4 80240A14 00000000 */ nop +/* C31EF8 80240A18 0240202D */ daddu $a0, $s2, $zero +/* C31EFC 80240A1C 0260282D */ daddu $a1, $s3, $zero +/* C31F00 80240A20 0C0126D1 */ jal func_80049B44 +/* C31F04 80240A24 0280302D */ daddu $a2, $s4, $zero +/* C31F08 80240A28 0240202D */ daddu $a0, $s2, $zero +/* C31F0C 80240A2C 0260282D */ daddu $a1, $s3, $zero +/* C31F10 80240A30 0C012701 */ jal func_80049C04 +/* C31F14 80240A34 0280302D */ daddu $a2, $s4, $zero +/* C31F18 80240A38 080902BE */ j .L80240AF8 +/* C31F1C 80240A3C 00000000 */ nop +/* C31F20 80240A40 0240202D */ daddu $a0, $s2, $zero +/* C31F24 80240A44 0260282D */ daddu $a1, $s3, $zero +/* C31F28 80240A48 0C01278F */ jal func_80049E3C +/* C31F2C 80240A4C 0280302D */ daddu $a2, $s4, $zero +/* C31F30 80240A50 0240202D */ daddu $a0, $s2, $zero +/* C31F34 80240A54 0260282D */ daddu $a1, $s3, $zero +/* C31F38 80240A58 0C0127B3 */ jal func_80049ECC +/* C31F3C 80240A5C 0280302D */ daddu $a2, $s4, $zero +/* C31F40 80240A60 080902BE */ j .L80240AF8 +/* C31F44 80240A64 00000000 */ nop +/* C31F48 80240A68 0240202D */ daddu $a0, $s2, $zero +/* C31F4C 80240A6C 0260282D */ daddu $a1, $s3, $zero +/* C31F50 80240A70 0C0127DF */ jal func_80049F7C +/* C31F54 80240A74 0280302D */ daddu $a2, $s4, $zero +/* C31F58 80240A78 0240202D */ daddu $a0, $s2, $zero +/* C31F5C 80240A7C 0260282D */ daddu $a1, $s3, $zero +/* C31F60 80240A80 0C012849 */ jal func_8004A124 +/* C31F64 80240A84 0280302D */ daddu $a2, $s4, $zero +/* C31F68 80240A88 080902BE */ j .L80240AF8 +/* C31F6C 80240A8C 00000000 */ nop +/* C31F70 80240A90 0240202D */ daddu $a0, $s2, $zero +/* C31F74 80240A94 0260282D */ daddu $a1, $s3, $zero +/* C31F78 80240A98 0C0128FA */ jal func_8004A3E8 +/* C31F7C 80240A9C 0280302D */ daddu $a2, $s4, $zero +/* C31F80 80240AA0 080902BE */ j .L80240AF8 +/* C31F84 80240AA4 00000000 */ nop +/* C31F88 80240AA8 0C090094 */ jal func_80240250 +/* C31F8C 80240AAC 0240202D */ daddu $a0, $s2, $zero +/* C31F90 80240AB0 0C0900AF */ jal func_802402BC +/* C31F94 80240AB4 0240202D */ daddu $a0, $s2, $zero +/* C31F98 80240AB8 8E430070 */ lw $v1, 0x70($s2) +/* C31F9C 80240ABC 24020020 */ addiu $v0, $zero, 0x20 +/* C31FA0 80240AC0 1462000D */ bne $v1, $v0, .L80240AF8 +/* C31FA4 80240AC4 00000000 */ nop +/* C31FA8 80240AC8 0C0900CB */ jal func_8024032C +/* C31FAC 80240ACC 0240202D */ daddu $a0, $s2, $zero +/* C31FB0 80240AD0 8E430070 */ lw $v1, 0x70($s2) +/* C31FB4 80240AD4 24020021 */ addiu $v0, $zero, 0x21 +/* C31FB8 80240AD8 14620007 */ bne $v1, $v0, .L80240AF8 +/* C31FBC 80240ADC 00000000 */ nop +/* C31FC0 80240AE0 0C090101 */ jal func_80240404 +/* C31FC4 80240AE4 0240202D */ daddu $a0, $s2, $zero +/* C31FC8 80240AE8 080902BE */ j .L80240AF8 +/* C31FCC 80240AEC 00000000 */ nop +/* C31FD0 80240AF0 0C0129CF */ jal func_8004A73C +/* C31FD4 80240AF4 0240202D */ daddu $a0, $s2, $zero +.L80240AF8: +/* C31FD8 80240AF8 8FBF0048 */ lw $ra, 0x48($sp) +/* C31FDC 80240AFC 8FB50044 */ lw $s5, 0x44($sp) +/* C31FE0 80240B00 8FB40040 */ lw $s4, 0x40($sp) +/* C31FE4 80240B04 8FB3003C */ lw $s3, 0x3c($sp) +/* C31FE8 80240B08 8FB20038 */ lw $s2, 0x38($sp) +/* C31FEC 80240B0C 8FB10034 */ lw $s1, 0x34($sp) +/* C31FF0 80240B10 8FB00030 */ lw $s0, 0x30($sp) +/* C31FF4 80240B14 0000102D */ daddu $v0, $zero, $zero +/* C31FF8 80240B18 03E00008 */ jr $ra +/* C31FFC 80240B1C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240B20_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240B20_C314E0.s new file mode 100644 index 0000000000..4758622568 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240B20_C314E0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B20_C32000 +/* C32000 80240B20 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C32004 80240B24 AFB50024 */ sw $s5, 0x24($sp) +/* C32008 80240B28 0080A82D */ daddu $s5, $a0, $zero +/* C3200C 80240B2C AFBF002C */ sw $ra, 0x2c($sp) +/* C32010 80240B30 AFB60028 */ sw $s6, 0x28($sp) +/* C32014 80240B34 AFB40020 */ sw $s4, 0x20($sp) +/* C32018 80240B38 AFB3001C */ sw $s3, 0x1c($sp) +/* C3201C 80240B3C AFB20018 */ sw $s2, 0x18($sp) +/* C32020 80240B40 AFB10014 */ sw $s1, 0x14($sp) +/* C32024 80240B44 AFB00010 */ sw $s0, 0x10($sp) +/* C32028 80240B48 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C3202C 80240B4C F7B60038 */ sdc1 $f22, 0x38($sp) +/* C32030 80240B50 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C32034 80240B54 8EB30148 */ lw $s3, 0x148($s5) +/* C32038 80240B58 86640008 */ lh $a0, 8($s3) +/* C3203C 80240B5C 0C00EABB */ jal get_npc_unsafe +/* C32040 80240B60 00A0B02D */ daddu $s6, $a1, $zero +/* C32044 80240B64 0040A02D */ daddu $s4, $v0, $zero +/* C32048 80240B68 AEA00074 */ sw $zero, 0x74($s5) +/* C3204C 80240B6C C6980038 */ lwc1 $f24, 0x38($s4) +/* C32050 80240B70 C6960040 */ lwc1 $f22, 0x40($s4) +/* C32054 80240B74 0000902D */ daddu $s2, $zero, $zero +/* C32058 80240B78 AEA00078 */ sw $zero, 0x78($s5) +/* C3205C 80240B7C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C32060 80240B80 8C620000 */ lw $v0, ($v1) +/* C32064 80240B84 3C0146FF */ lui $at, 0x46ff +/* C32068 80240B88 3421FE00 */ ori $at, $at, 0xfe00 +/* C3206C 80240B8C 4481A000 */ mtc1 $at, $f20 +/* C32070 80240B90 18400018 */ blez $v0, .L80240BF4 +/* C32074 80240B94 0240802D */ daddu $s0, $s2, $zero +/* C32078 80240B98 0240882D */ daddu $s1, $s2, $zero +.L80240B9C: +/* C3207C 80240B9C 02231021 */ addu $v0, $s1, $v1 +/* C32080 80240BA0 4600C306 */ mov.s $f12, $f24 +/* C32084 80240BA4 C4440004 */ lwc1 $f4, 4($v0) +/* C32088 80240BA8 46802120 */ cvt.s.w $f4, $f4 +/* C3208C 80240BAC 44062000 */ mfc1 $a2, $f4 +/* C32090 80240BB0 C444000C */ lwc1 $f4, 0xc($v0) +/* C32094 80240BB4 46802120 */ cvt.s.w $f4, $f4 +/* C32098 80240BB8 44072000 */ mfc1 $a3, $f4 +/* C3209C 80240BBC 0C00A7B5 */ jal dist2D +/* C320A0 80240BC0 4600B386 */ mov.s $f14, $f22 +/* C320A4 80240BC4 4614003C */ c.lt.s $f0, $f20 +/* C320A8 80240BC8 00000000 */ nop +/* C320AC 80240BCC 45000003 */ bc1f .L80240BDC +/* C320B0 80240BD0 2631000C */ addiu $s1, $s1, 0xc +/* C320B4 80240BD4 46000506 */ mov.s $f20, $f0 +/* C320B8 80240BD8 AEB20078 */ sw $s2, 0x78($s5) +.L80240BDC: +/* C320BC 80240BDC 8E6300D0 */ lw $v1, 0xd0($s3) +/* C320C0 80240BE0 26100001 */ addiu $s0, $s0, 1 +/* C320C4 80240BE4 8C620000 */ lw $v0, ($v1) +/* C320C8 80240BE8 0202102A */ slt $v0, $s0, $v0 +/* C320CC 80240BEC 1440FFEB */ bnez $v0, .L80240B9C +/* C320D0 80240BF0 26520001 */ addiu $s2, $s2, 1 +.L80240BF4: +/* C320D4 80240BF4 8E6200CC */ lw $v0, 0xcc($s3) +/* C320D8 80240BF8 8C420004 */ lw $v0, 4($v0) +/* C320DC 80240BFC AE820028 */ sw $v0, 0x28($s4) +/* C320E0 80240C00 8E6200D0 */ lw $v0, 0xd0($s3) +/* C320E4 80240C04 8C42007C */ lw $v0, 0x7c($v0) +/* C320E8 80240C08 04410004 */ bgez $v0, .L80240C1C +/* C320EC 80240C0C 00000000 */ nop +/* C320F0 80240C10 C6C00000 */ lwc1 $f0, ($s6) +/* C320F4 80240C14 0809030F */ j .L80240C3C +/* C320F8 80240C18 E6800018 */ swc1 $f0, 0x18($s4) +.L80240C1C: +/* C320FC 80240C1C 3C018024 */ lui $at, 0x8024 +/* C32100 80240C20 D4224B88 */ ldc1 $f2, 0x4b88($at) +/* C32104 80240C24 44820000 */ mtc1 $v0, $f0 +/* C32108 80240C28 00000000 */ nop +/* C3210C 80240C2C 46800021 */ cvt.d.w $f0, $f0 +/* C32110 80240C30 46220003 */ div.d $f0, $f0, $f2 +/* C32114 80240C34 46200020 */ cvt.s.d $f0, $f0 +/* C32118 80240C38 E6800018 */ swc1 $f0, 0x18($s4) +.L80240C3C: +/* C3211C 80240C3C 24020001 */ addiu $v0, $zero, 1 +/* C32120 80240C40 AEA20070 */ sw $v0, 0x70($s5) +/* C32124 80240C44 8FBF002C */ lw $ra, 0x2c($sp) +/* C32128 80240C48 8FB60028 */ lw $s6, 0x28($sp) +/* C3212C 80240C4C 8FB50024 */ lw $s5, 0x24($sp) +/* C32130 80240C50 8FB40020 */ lw $s4, 0x20($sp) +/* C32134 80240C54 8FB3001C */ lw $s3, 0x1c($sp) +/* C32138 80240C58 8FB20018 */ lw $s2, 0x18($sp) +/* C3213C 80240C5C 8FB10014 */ lw $s1, 0x14($sp) +/* C32140 80240C60 8FB00010 */ lw $s0, 0x10($sp) +/* C32144 80240C64 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C32148 80240C68 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C3214C 80240C6C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C32150 80240C70 03E00008 */ jr $ra +/* C32154 80240C74 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240C78_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240C78_C314E0.s new file mode 100644 index 0000000000..df8888468c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240C78_C314E0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_C32158 +/* C32158 80240C78 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C3215C 80240C7C AFB20038 */ sw $s2, 0x38($sp) +/* C32160 80240C80 0080902D */ daddu $s2, $a0, $zero +/* C32164 80240C84 AFBF0044 */ sw $ra, 0x44($sp) +/* C32168 80240C88 AFB40040 */ sw $s4, 0x40($sp) +/* C3216C 80240C8C AFB3003C */ sw $s3, 0x3c($sp) +/* C32170 80240C90 AFB10034 */ sw $s1, 0x34($sp) +/* C32174 80240C94 AFB00030 */ sw $s0, 0x30($sp) +/* C32178 80240C98 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C3217C 80240C9C F7B40048 */ sdc1 $f20, 0x48($sp) +/* C32180 80240CA0 8E510148 */ lw $s1, 0x148($s2) +/* C32184 80240CA4 00A0982D */ daddu $s3, $a1, $zero +/* C32188 80240CA8 86240008 */ lh $a0, 8($s1) +/* C3218C 80240CAC 0C00EABB */ jal get_npc_unsafe +/* C32190 80240CB0 00C0A02D */ daddu $s4, $a2, $zero +/* C32194 80240CB4 8E630014 */ lw $v1, 0x14($s3) +/* C32198 80240CB8 04600030 */ bltz $v1, .L80240D7C +/* C3219C 80240CBC 0040802D */ daddu $s0, $v0, $zero +/* C321A0 80240CC0 8E420074 */ lw $v0, 0x74($s2) +/* C321A4 80240CC4 1C40002C */ bgtz $v0, .L80240D78 +/* C321A8 80240CC8 2442FFFF */ addiu $v0, $v0, -1 +/* C321AC 80240CCC 0280202D */ daddu $a0, $s4, $zero +/* C321B0 80240CD0 AE430074 */ sw $v1, 0x74($s2) +/* C321B4 80240CD4 AFA00010 */ sw $zero, 0x10($sp) +/* C321B8 80240CD8 8E66000C */ lw $a2, 0xc($s3) +/* C321BC 80240CDC 8E670010 */ lw $a3, 0x10($s3) +/* C321C0 80240CE0 0C01242D */ jal func_800490B4 +/* C321C4 80240CE4 0220282D */ daddu $a1, $s1, $zero +/* C321C8 80240CE8 10400021 */ beqz $v0, .L80240D70 +/* C321CC 80240CEC 0000202D */ daddu $a0, $zero, $zero +/* C321D0 80240CF0 0200282D */ daddu $a1, $s0, $zero +/* C321D4 80240CF4 0000302D */ daddu $a2, $zero, $zero +/* C321D8 80240CF8 860300A8 */ lh $v1, 0xa8($s0) +/* C321DC 80240CFC 3C013F80 */ lui $at, 0x3f80 +/* C321E0 80240D00 44810000 */ mtc1 $at, $f0 +/* C321E4 80240D04 3C014000 */ lui $at, 0x4000 +/* C321E8 80240D08 44811000 */ mtc1 $at, $f2 +/* C321EC 80240D0C 3C01C1A0 */ lui $at, 0xc1a0 +/* C321F0 80240D10 44812000 */ mtc1 $at, $f4 +/* C321F4 80240D14 2402000F */ addiu $v0, $zero, 0xf +/* C321F8 80240D18 AFA2001C */ sw $v0, 0x1c($sp) +/* C321FC 80240D1C 44833000 */ mtc1 $v1, $f6 +/* C32200 80240D20 00000000 */ nop +/* C32204 80240D24 468031A0 */ cvt.s.w $f6, $f6 +/* C32208 80240D28 44073000 */ mfc1 $a3, $f6 +/* C3220C 80240D2C 27A20028 */ addiu $v0, $sp, 0x28 +/* C32210 80240D30 AFA20020 */ sw $v0, 0x20($sp) +/* C32214 80240D34 E7A00010 */ swc1 $f0, 0x10($sp) +/* C32218 80240D38 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3221C 80240D3C 0C01BFA4 */ jal fx_emote +/* C32220 80240D40 E7A40018 */ swc1 $f4, 0x18($sp) +/* C32224 80240D44 0200202D */ daddu $a0, $s0, $zero +/* C32228 80240D48 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C3222C 80240D4C 0C012530 */ jal func_800494C0 +/* C32230 80240D50 3C060020 */ lui $a2, 0x20 +/* C32234 80240D54 8E220018 */ lw $v0, 0x18($s1) +/* C32238 80240D58 9442002A */ lhu $v0, 0x2a($v0) +/* C3223C 80240D5C 30420001 */ andi $v0, $v0, 1 +/* C32240 80240D60 14400064 */ bnez $v0, .L80240EF4 +/* C32244 80240D64 2402000A */ addiu $v0, $zero, 0xa +/* C32248 80240D68 080903BD */ j .L80240EF4 +/* C3224C 80240D6C 2402000C */ addiu $v0, $zero, 0xc +.L80240D70: +/* C32250 80240D70 8E420074 */ lw $v0, 0x74($s2) +/* C32254 80240D74 2442FFFF */ addiu $v0, $v0, -1 +.L80240D78: +/* C32258 80240D78 AE420074 */ sw $v0, 0x74($s2) +.L80240D7C: +/* C3225C 80240D7C 8602008C */ lh $v0, 0x8c($s0) +/* C32260 80240D80 1440005D */ bnez $v0, .L80240EF8 +/* C32264 80240D84 00000000 */ nop +/* C32268 80240D88 C6000018 */ lwc1 $f0, 0x18($s0) +/* C3226C 80240D8C 3C014010 */ lui $at, 0x4010 +/* C32270 80240D90 44811800 */ mtc1 $at, $f3 +/* C32274 80240D94 44801000 */ mtc1 $zero, $f2 +/* C32278 80240D98 46000021 */ cvt.d.s $f0, $f0 +/* C3227C 80240D9C 4622003C */ c.lt.d $f0, $f2 +/* C32280 80240DA0 00000000 */ nop +/* C32284 80240DA4 45000003 */ bc1f .L80240DB4 +/* C32288 80240DA8 0200202D */ daddu $a0, $s0, $zero +/* C3228C 80240DAC 0809036E */ j .L80240DB8 +/* C32290 80240DB0 0000282D */ daddu $a1, $zero, $zero +.L80240DB4: +/* C32294 80240DB4 24050001 */ addiu $a1, $zero, 1 +.L80240DB8: +/* C32298 80240DB8 0C00F598 */ jal func_8003D660 +/* C3229C 80240DBC 00000000 */ nop +/* C322A0 80240DC0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C322A4 80240DC4 8E430078 */ lw $v1, 0x78($s2) +/* C322A8 80240DC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C322AC 80240DCC 00031040 */ sll $v0, $v1, 1 +/* C322B0 80240DD0 00431021 */ addu $v0, $v0, $v1 +/* C322B4 80240DD4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C322B8 80240DD8 00021080 */ sll $v0, $v0, 2 +/* C322BC 80240DDC 00431021 */ addu $v0, $v0, $v1 +/* C322C0 80240DE0 C4560004 */ lwc1 $f22, 4($v0) +/* C322C4 80240DE4 4680B5A0 */ cvt.s.w $f22, $f22 +/* C322C8 80240DE8 C454000C */ lwc1 $f20, 0xc($v0) +/* C322CC 80240DEC 4680A520 */ cvt.s.w $f20, $f20 +/* C322D0 80240DF0 4406B000 */ mfc1 $a2, $f22 +/* C322D4 80240DF4 4407A000 */ mfc1 $a3, $f20 +/* C322D8 80240DF8 0C00A720 */ jal atan2 +/* C322DC 80240DFC 00000000 */ nop +/* C322E0 80240E00 8E050018 */ lw $a1, 0x18($s0) +/* C322E4 80240E04 44060000 */ mfc1 $a2, $f0 +/* C322E8 80240E08 0200202D */ daddu $a0, $s0, $zero +/* C322EC 80240E0C 0C00EA95 */ jal npc_move_heading +/* C322F0 80240E10 AE06000C */ sw $a2, 0xc($s0) +/* C322F4 80240E14 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C322F8 80240E18 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C322FC 80240E1C 4406B000 */ mfc1 $a2, $f22 +/* C32300 80240E20 4407A000 */ mfc1 $a3, $f20 +/* C32304 80240E24 0C00A7B5 */ jal dist2D +/* C32308 80240E28 00000000 */ nop +/* C3230C 80240E2C C6020018 */ lwc1 $f2, 0x18($s0) +/* C32310 80240E30 4602003E */ c.le.s $f0, $f2 +/* C32314 80240E34 00000000 */ nop +/* C32318 80240E38 4500002F */ bc1f .L80240EF8 +/* C3231C 80240E3C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C32320 80240E40 24020002 */ addiu $v0, $zero, 2 +/* C32324 80240E44 0C00A67F */ jal rand_int +/* C32328 80240E48 AE420070 */ sw $v0, 0x70($s2) +/* C3232C 80240E4C 3C035555 */ lui $v1, 0x5555 +/* C32330 80240E50 34635556 */ ori $v1, $v1, 0x5556 +/* C32334 80240E54 00430018 */ mult $v0, $v1 +/* C32338 80240E58 000227C3 */ sra $a0, $v0, 0x1f +/* C3233C 80240E5C 00004010 */ mfhi $t0 +/* C32340 80240E60 01042023 */ subu $a0, $t0, $a0 +/* C32344 80240E64 00041840 */ sll $v1, $a0, 1 +/* C32348 80240E68 00641821 */ addu $v1, $v1, $a0 +/* C3234C 80240E6C 00431023 */ subu $v0, $v0, $v1 +/* C32350 80240E70 24430002 */ addiu $v1, $v0, 2 +/* C32354 80240E74 AE430074 */ sw $v1, 0x74($s2) +/* C32358 80240E78 8E62002C */ lw $v0, 0x2c($s3) +/* C3235C 80240E7C 18400009 */ blez $v0, .L80240EA4 +/* C32360 80240E80 24020004 */ addiu $v0, $zero, 4 +/* C32364 80240E84 8E620004 */ lw $v0, 4($s3) +/* C32368 80240E88 18400006 */ blez $v0, .L80240EA4 +/* C3236C 80240E8C 24020004 */ addiu $v0, $zero, 4 +/* C32370 80240E90 8E620008 */ lw $v0, 8($s3) +/* C32374 80240E94 18400003 */ blez $v0, .L80240EA4 +/* C32378 80240E98 24020004 */ addiu $v0, $zero, 4 +/* C3237C 80240E9C 14600002 */ bnez $v1, .L80240EA8 +/* C32380 80240EA0 00000000 */ nop +.L80240EA4: +/* C32384 80240EA4 AE420070 */ sw $v0, 0x70($s2) +.L80240EA8: +/* C32388 80240EA8 0C00A67F */ jal rand_int +/* C3238C 80240EAC 24042710 */ addiu $a0, $zero, 0x2710 +/* C32390 80240EB0 3C0351EB */ lui $v1, 0x51eb +/* C32394 80240EB4 3463851F */ ori $v1, $v1, 0x851f +/* C32398 80240EB8 00430018 */ mult $v0, $v1 +/* C3239C 80240EBC 00021FC3 */ sra $v1, $v0, 0x1f +/* C323A0 80240EC0 00004010 */ mfhi $t0 +/* C323A4 80240EC4 00082143 */ sra $a0, $t0, 5 +/* C323A8 80240EC8 00832023 */ subu $a0, $a0, $v1 +/* C323AC 80240ECC 00041840 */ sll $v1, $a0, 1 +/* C323B0 80240ED0 00641821 */ addu $v1, $v1, $a0 +/* C323B4 80240ED4 000318C0 */ sll $v1, $v1, 3 +/* C323B8 80240ED8 00641821 */ addu $v1, $v1, $a0 +/* C323BC 80240EDC 00031880 */ sll $v1, $v1, 2 +/* C323C0 80240EE0 8E640004 */ lw $a0, 4($s3) +/* C323C4 80240EE4 00431023 */ subu $v0, $v0, $v1 +/* C323C8 80240EE8 0044102A */ slt $v0, $v0, $a0 +/* C323CC 80240EEC 10400002 */ beqz $v0, .L80240EF8 +/* C323D0 80240EF0 24020004 */ addiu $v0, $zero, 4 +.L80240EF4: +/* C323D4 80240EF4 AE420070 */ sw $v0, 0x70($s2) +.L80240EF8: +/* C323D8 80240EF8 8FBF0044 */ lw $ra, 0x44($sp) +/* C323DC 80240EFC 8FB40040 */ lw $s4, 0x40($sp) +/* C323E0 80240F00 8FB3003C */ lw $s3, 0x3c($sp) +/* C323E4 80240F04 8FB20038 */ lw $s2, 0x38($sp) +/* C323E8 80240F08 8FB10034 */ lw $s1, 0x34($sp) +/* C323EC 80240F0C 8FB00030 */ lw $s0, 0x30($sp) +/* C323F0 80240F10 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C323F4 80240F14 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C323F8 80240F18 03E00008 */ jr $ra +/* C323FC 80240F1C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240F20_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240F20_C314E0.s new file mode 100644 index 0000000000..5578a269b5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240F20_C314E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_C32400 +/* C32400 80240F20 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C32404 80240F24 AFB3001C */ sw $s3, 0x1c($sp) +/* C32408 80240F28 0080982D */ daddu $s3, $a0, $zero +/* C3240C 80240F2C AFBF0020 */ sw $ra, 0x20($sp) +/* C32410 80240F30 AFB20018 */ sw $s2, 0x18($sp) +/* C32414 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* C32418 80240F38 AFB00010 */ sw $s0, 0x10($sp) +/* C3241C 80240F3C 8E720148 */ lw $s2, 0x148($s3) +/* C32420 80240F40 86440008 */ lh $a0, 8($s2) +/* C32424 80240F44 0C00EABB */ jal get_npc_unsafe +/* C32428 80240F48 00A0882D */ daddu $s1, $a1, $zero +/* C3242C 80240F4C 8E240008 */ lw $a0, 8($s1) +/* C32430 80240F50 0040802D */ daddu $s0, $v0, $zero +/* C32434 80240F54 00041FC2 */ srl $v1, $a0, 0x1f +/* C32438 80240F58 00832021 */ addu $a0, $a0, $v1 +/* C3243C 80240F5C 00042043 */ sra $a0, $a0, 1 +/* C32440 80240F60 0C00A67F */ jal rand_int +/* C32444 80240F64 24840001 */ addiu $a0, $a0, 1 +/* C32448 80240F68 8E230008 */ lw $v1, 8($s1) +/* C3244C 80240F6C 240400B4 */ addiu $a0, $zero, 0xb4 +/* C32450 80240F70 00032FC2 */ srl $a1, $v1, 0x1f +/* C32454 80240F74 00651821 */ addu $v1, $v1, $a1 +/* C32458 80240F78 00031843 */ sra $v1, $v1, 1 +/* C3245C 80240F7C 00621821 */ addu $v1, $v1, $v0 +/* C32460 80240F80 0C00A67F */ jal rand_int +/* C32464 80240F84 A603008E */ sh $v1, 0x8e($s0) +/* C32468 80240F88 C60C000C */ lwc1 $f12, 0xc($s0) +/* C3246C 80240F8C 44820000 */ mtc1 $v0, $f0 +/* C32470 80240F90 00000000 */ nop +/* C32474 80240F94 46800020 */ cvt.s.w $f0, $f0 +/* C32478 80240F98 46006300 */ add.s $f12, $f12, $f0 +/* C3247C 80240F9C 3C0142B4 */ lui $at, 0x42b4 +/* C32480 80240FA0 44810000 */ mtc1 $at, $f0 +/* C32484 80240FA4 0C00A6C9 */ jal clamp_angle +/* C32488 80240FA8 46006301 */ sub.s $f12, $f12, $f0 +/* C3248C 80240FAC E600000C */ swc1 $f0, 0xc($s0) +/* C32490 80240FB0 8E4200CC */ lw $v0, 0xcc($s2) +/* C32494 80240FB4 8C420000 */ lw $v0, ($v0) +/* C32498 80240FB8 AE020028 */ sw $v0, 0x28($s0) +/* C3249C 80240FBC 24020003 */ addiu $v0, $zero, 3 +/* C324A0 80240FC0 AE620070 */ sw $v0, 0x70($s3) +/* C324A4 80240FC4 8FBF0020 */ lw $ra, 0x20($sp) +/* C324A8 80240FC8 8FB3001C */ lw $s3, 0x1c($sp) +/* C324AC 80240FCC 8FB20018 */ lw $s2, 0x18($sp) +/* C324B0 80240FD0 8FB10014 */ lw $s1, 0x14($sp) +/* C324B4 80240FD4 8FB00010 */ lw $s0, 0x10($sp) +/* C324B8 80240FD8 03E00008 */ jr $ra +/* C324BC 80240FDC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80240FE0_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240FE0_C314E0.s new file mode 100644 index 0000000000..098bc41100 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80240FE0_C314E0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0_C324C0 +/* C324C0 80240FE0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C324C4 80240FE4 AFB40040 */ sw $s4, 0x40($sp) +/* C324C8 80240FE8 0080A02D */ daddu $s4, $a0, $zero +/* C324CC 80240FEC AFBF0044 */ sw $ra, 0x44($sp) +/* C324D0 80240FF0 AFB3003C */ sw $s3, 0x3c($sp) +/* C324D4 80240FF4 AFB20038 */ sw $s2, 0x38($sp) +/* C324D8 80240FF8 AFB10034 */ sw $s1, 0x34($sp) +/* C324DC 80240FFC AFB00030 */ sw $s0, 0x30($sp) +/* C324E0 80241000 8E910148 */ lw $s1, 0x148($s4) +/* C324E4 80241004 00A0902D */ daddu $s2, $a1, $zero +/* C324E8 80241008 86240008 */ lh $a0, 8($s1) +/* C324EC 8024100C 0C00EABB */ jal get_npc_unsafe +/* C324F0 80241010 00C0982D */ daddu $s3, $a2, $zero +/* C324F4 80241014 8E430014 */ lw $v1, 0x14($s2) +/* C324F8 80241018 04600031 */ bltz $v1, .L802410E0 +/* C324FC 8024101C 0040802D */ daddu $s0, $v0, $zero +/* C32500 80241020 0260202D */ daddu $a0, $s3, $zero +/* C32504 80241024 AFA00010 */ sw $zero, 0x10($sp) +/* C32508 80241028 8E460024 */ lw $a2, 0x24($s2) +/* C3250C 8024102C 8E470028 */ lw $a3, 0x28($s2) +/* C32510 80241030 0C01242D */ jal func_800490B4 +/* C32514 80241034 0220282D */ daddu $a1, $s1, $zero +/* C32518 80241038 10400029 */ beqz $v0, .L802410E0 +/* C3251C 8024103C 0000202D */ daddu $a0, $zero, $zero +/* C32520 80241040 0200282D */ daddu $a1, $s0, $zero +/* C32524 80241044 0000302D */ daddu $a2, $zero, $zero +/* C32528 80241048 860300A8 */ lh $v1, 0xa8($s0) +/* C3252C 8024104C 3C013F80 */ lui $at, 0x3f80 +/* C32530 80241050 44810000 */ mtc1 $at, $f0 +/* C32534 80241054 3C014000 */ lui $at, 0x4000 +/* C32538 80241058 44811000 */ mtc1 $at, $f2 +/* C3253C 8024105C 3C01C1A0 */ lui $at, 0xc1a0 +/* C32540 80241060 44812000 */ mtc1 $at, $f4 +/* C32544 80241064 2402000F */ addiu $v0, $zero, 0xf +/* C32548 80241068 AFA2001C */ sw $v0, 0x1c($sp) +/* C3254C 8024106C 44833000 */ mtc1 $v1, $f6 +/* C32550 80241070 00000000 */ nop +/* C32554 80241074 468031A0 */ cvt.s.w $f6, $f6 +/* C32558 80241078 44073000 */ mfc1 $a3, $f6 +/* C3255C 8024107C 27A20028 */ addiu $v0, $sp, 0x28 +/* C32560 80241080 AFA20020 */ sw $v0, 0x20($sp) +/* C32564 80241084 E7A00010 */ swc1 $f0, 0x10($sp) +/* C32568 80241088 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3256C 8024108C 0C01BFA4 */ jal fx_emote +/* C32570 80241090 E7A40018 */ swc1 $f4, 0x18($sp) +/* C32574 80241094 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C32578 80241098 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3257C 8024109C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C32580 802410A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C32584 802410A4 8C460028 */ lw $a2, 0x28($v0) +/* C32588 802410A8 0C00A720 */ jal atan2 +/* C3258C 802410AC 8C470030 */ lw $a3, 0x30($v0) +/* C32590 802410B0 0200202D */ daddu $a0, $s0, $zero +/* C32594 802410B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C32598 802410B8 3C060020 */ lui $a2, 0x20 +/* C3259C 802410BC 0C012530 */ jal func_800494C0 +/* C325A0 802410C0 E480000C */ swc1 $f0, 0xc($a0) +/* C325A4 802410C4 8E220018 */ lw $v0, 0x18($s1) +/* C325A8 802410C8 9442002A */ lhu $v0, 0x2a($v0) +/* C325AC 802410CC 30420001 */ andi $v0, $v0, 1 +/* C325B0 802410D0 14400029 */ bnez $v0, .L80241178 +/* C325B4 802410D4 2402000A */ addiu $v0, $zero, 0xa +/* C325B8 802410D8 0809045E */ j .L80241178 +/* C325BC 802410DC 2402000C */ addiu $v0, $zero, 0xc +.L802410E0: +/* C325C0 802410E0 8602008C */ lh $v0, 0x8c($s0) +/* C325C4 802410E4 14400025 */ bnez $v0, .L8024117C +/* C325C8 802410E8 00000000 */ nop +/* C325CC 802410EC 9602008E */ lhu $v0, 0x8e($s0) +/* C325D0 802410F0 2442FFFF */ addiu $v0, $v0, -1 +/* C325D4 802410F4 A602008E */ sh $v0, 0x8e($s0) +/* C325D8 802410F8 00021400 */ sll $v0, $v0, 0x10 +/* C325DC 802410FC 1440001F */ bnez $v0, .L8024117C +/* C325E0 80241100 00000000 */ nop +/* C325E4 80241104 8E820074 */ lw $v0, 0x74($s4) +/* C325E8 80241108 2442FFFF */ addiu $v0, $v0, -1 +/* C325EC 8024110C 10400019 */ beqz $v0, .L80241174 +/* C325F0 80241110 AE820074 */ sw $v0, 0x74($s4) +/* C325F4 80241114 8E220018 */ lw $v0, 0x18($s1) +/* C325F8 80241118 9442002A */ lhu $v0, 0x2a($v0) +/* C325FC 8024111C 30420010 */ andi $v0, $v0, 0x10 +/* C32600 80241120 14400007 */ bnez $v0, .L80241140 +/* C32604 80241124 00000000 */ nop +/* C32608 80241128 C600000C */ lwc1 $f0, 0xc($s0) +/* C3260C 8024112C 3C014334 */ lui $at, 0x4334 +/* C32610 80241130 44816000 */ mtc1 $at, $f12 +/* C32614 80241134 0C00A6C9 */ jal clamp_angle +/* C32618 80241138 460C0300 */ add.s $f12, $f0, $f12 +/* C3261C 8024113C E600000C */ swc1 $f0, 0xc($s0) +.L80241140: +/* C32620 80241140 8E440008 */ lw $a0, 8($s2) +/* C32624 80241144 000417C2 */ srl $v0, $a0, 0x1f +/* C32628 80241148 00822021 */ addu $a0, $a0, $v0 +/* C3262C 8024114C 00042043 */ sra $a0, $a0, 1 +/* C32630 80241150 0C00A67F */ jal rand_int +/* C32634 80241154 24840001 */ addiu $a0, $a0, 1 +/* C32638 80241158 8E430008 */ lw $v1, 8($s2) +/* C3263C 8024115C 000327C2 */ srl $a0, $v1, 0x1f +/* C32640 80241160 00641821 */ addu $v1, $v1, $a0 +/* C32644 80241164 00031843 */ sra $v1, $v1, 1 +/* C32648 80241168 00621821 */ addu $v1, $v1, $v0 +/* C3264C 8024116C 0809045F */ j .L8024117C +/* C32650 80241170 A603008E */ sh $v1, 0x8e($s0) +.L80241174: +/* C32654 80241174 24020004 */ addiu $v0, $zero, 4 +.L80241178: +/* C32658 80241178 AE820070 */ sw $v0, 0x70($s4) +.L8024117C: +/* C3265C 8024117C 8FBF0044 */ lw $ra, 0x44($sp) +/* C32660 80241180 8FB40040 */ lw $s4, 0x40($sp) +/* C32664 80241184 8FB3003C */ lw $s3, 0x3c($sp) +/* C32668 80241188 8FB20038 */ lw $s2, 0x38($sp) +/* C3266C 8024118C 8FB10034 */ lw $s1, 0x34($sp) +/* C32670 80241190 8FB00030 */ lw $s0, 0x30($sp) +/* C32674 80241194 03E00008 */ jr $ra +/* C32678 80241198 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024119C_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024119C_C314E0.s new file mode 100644 index 0000000000..00d239edf2 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024119C_C314E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024119C_C3267C +/* C3267C 8024119C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C32680 802411A0 AFB10014 */ sw $s1, 0x14($sp) +/* C32684 802411A4 0080882D */ daddu $s1, $a0, $zero +/* C32688 802411A8 AFBF001C */ sw $ra, 0x1c($sp) +/* C3268C 802411AC AFB20018 */ sw $s2, 0x18($sp) +/* C32690 802411B0 AFB00010 */ sw $s0, 0x10($sp) +/* C32694 802411B4 8E300148 */ lw $s0, 0x148($s1) +/* C32698 802411B8 86040008 */ lh $a0, 8($s0) +/* C3269C 802411BC 0C00EABB */ jal get_npc_unsafe +/* C326A0 802411C0 00A0902D */ daddu $s2, $a1, $zero +/* C326A4 802411C4 8E230078 */ lw $v1, 0x78($s1) +/* C326A8 802411C8 24630001 */ addiu $v1, $v1, 1 +/* C326AC 802411CC AE230078 */ sw $v1, 0x78($s1) +/* C326B0 802411D0 8E0400D0 */ lw $a0, 0xd0($s0) +/* C326B4 802411D4 8C840000 */ lw $a0, ($a0) +/* C326B8 802411D8 0064182A */ slt $v1, $v1, $a0 +/* C326BC 802411DC 14600002 */ bnez $v1, .L802411E8 +/* C326C0 802411E0 0040282D */ daddu $a1, $v0, $zero +/* C326C4 802411E4 AE200078 */ sw $zero, 0x78($s1) +.L802411E8: +/* C326C8 802411E8 8E0200CC */ lw $v0, 0xcc($s0) +/* C326CC 802411EC 8C420004 */ lw $v0, 4($v0) +/* C326D0 802411F0 ACA20028 */ sw $v0, 0x28($a1) +/* C326D4 802411F4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C326D8 802411F8 8C42007C */ lw $v0, 0x7c($v0) +/* C326DC 802411FC 04410004 */ bgez $v0, .L80241210 +/* C326E0 80241200 00000000 */ nop +/* C326E4 80241204 C6400000 */ lwc1 $f0, ($s2) +/* C326E8 80241208 0809048C */ j .L80241230 +/* C326EC 8024120C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241210: +/* C326F0 80241210 3C018024 */ lui $at, 0x8024 +/* C326F4 80241214 D4224B90 */ ldc1 $f2, 0x4b90($at) +/* C326F8 80241218 44820000 */ mtc1 $v0, $f0 +/* C326FC 8024121C 00000000 */ nop +/* C32700 80241220 46800021 */ cvt.d.w $f0, $f0 +/* C32704 80241224 46220003 */ div.d $f0, $f0, $f2 +/* C32708 80241228 46200020 */ cvt.s.d $f0, $f0 +/* C3270C 8024122C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241230: +/* C32710 80241230 24020001 */ addiu $v0, $zero, 1 +/* C32714 80241234 AE220070 */ sw $v0, 0x70($s1) +/* C32718 80241238 8FBF001C */ lw $ra, 0x1c($sp) +/* C3271C 8024123C 8FB20018 */ lw $s2, 0x18($sp) +/* C32720 80241240 8FB10014 */ lw $s1, 0x14($sp) +/* C32724 80241244 8FB00010 */ lw $s0, 0x10($sp) +/* C32728 80241248 03E00008 */ jr $ra +/* C3272C 8024124C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80241250.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241250.s new file mode 100644 index 0000000000..8300989298 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241250.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241250 +/* C32730 80241250 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C32734 80241254 AFB10014 */ sw $s1, 0x14($sp) +/* C32738 80241258 0080882D */ daddu $s1, $a0, $zero +/* C3273C 8024125C AFBF0018 */ sw $ra, 0x18($sp) +/* C32740 80241260 AFB00010 */ sw $s0, 0x10($sp) +/* C32744 80241264 8E300148 */ lw $s0, 0x148($s1) +/* C32748 80241268 0C00EABB */ jal get_npc_unsafe +/* C3274C 8024126C 86040008 */ lh $a0, 8($s0) +/* C32750 80241270 8E0300CC */ lw $v1, 0xcc($s0) +/* C32754 80241274 3C014120 */ lui $at, 0x4120 +/* C32758 80241278 44812000 */ mtc1 $at, $f4 +/* C3275C 8024127C 3C014000 */ lui $at, 0x4000 +/* C32760 80241280 44810000 */ mtc1 $at, $f0 +/* C32764 80241284 C442003C */ lwc1 $f2, 0x3c($v0) +/* C32768 80241288 8C640010 */ lw $a0, 0x10($v1) +/* C3276C 8024128C 8C430000 */ lw $v1, ($v0) +/* C32770 80241290 E444001C */ swc1 $f4, 0x1c($v0) +/* C32774 80241294 E4400014 */ swc1 $f0, 0x14($v0) +/* C32778 80241298 E4420064 */ swc1 $f2, 0x64($v0) +/* C3277C 8024129C 34630800 */ ori $v1, $v1, 0x800 +/* C32780 802412A0 AC430000 */ sw $v1, ($v0) +/* C32784 802412A4 AC440028 */ sw $a0, 0x28($v0) +/* C32788 802412A8 2402000B */ addiu $v0, $zero, 0xb +/* C3278C 802412AC AE220070 */ sw $v0, 0x70($s1) +/* C32790 802412B0 8FBF0018 */ lw $ra, 0x18($sp) +/* C32794 802412B4 8FB10014 */ lw $s1, 0x14($sp) +/* C32798 802412B8 8FB00010 */ lw $s0, 0x10($sp) +/* C3279C 802412BC 03E00008 */ jr $ra +/* C327A0 802412C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802412C4.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802412C4.s new file mode 100644 index 0000000000..8592297be9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802412C4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C4 +/* C327A4 802412C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C327A8 802412C8 AFB00010 */ sw $s0, 0x10($sp) +/* C327AC 802412CC 0080802D */ daddu $s0, $a0, $zero +/* C327B0 802412D0 AFBF0014 */ sw $ra, 0x14($sp) +/* C327B4 802412D4 8E020148 */ lw $v0, 0x148($s0) +/* C327B8 802412D8 0C00EABB */ jal get_npc_unsafe +/* C327BC 802412DC 84440008 */ lh $a0, 8($v0) +/* C327C0 802412E0 0040202D */ daddu $a0, $v0, $zero +/* C327C4 802412E4 C482003C */ lwc1 $f2, 0x3c($a0) +/* C327C8 802412E8 C480001C */ lwc1 $f0, 0x1c($a0) +/* C327CC 802412EC 46001080 */ add.s $f2, $f2, $f0 +/* C327D0 802412F0 C4840014 */ lwc1 $f4, 0x14($a0) +/* C327D4 802412F4 46040001 */ sub.s $f0, $f0, $f4 +/* C327D8 802412F8 C4840064 */ lwc1 $f4, 0x64($a0) +/* C327DC 802412FC 4602203C */ c.lt.s $f4, $f2 +/* C327E0 80241300 E482003C */ swc1 $f2, 0x3c($a0) +/* C327E4 80241304 45010009 */ bc1t .L8024132C +/* C327E8 80241308 E480001C */ swc1 $f0, 0x1c($a0) +/* C327EC 8024130C 8C820000 */ lw $v0, ($a0) +/* C327F0 80241310 2403F7FF */ addiu $v1, $zero, -0x801 +/* C327F4 80241314 E484003C */ swc1 $f4, 0x3c($a0) +/* C327F8 80241318 AC80001C */ sw $zero, 0x1c($a0) +/* C327FC 8024131C 00431024 */ and $v0, $v0, $v1 +/* C32800 80241320 AC820000 */ sw $v0, ($a0) +/* C32804 80241324 2402000C */ addiu $v0, $zero, 0xc +/* C32808 80241328 AE020070 */ sw $v0, 0x70($s0) +.L8024132C: +/* C3280C 8024132C 8FBF0014 */ lw $ra, 0x14($sp) +/* C32810 80241330 8FB00010 */ lw $s0, 0x10($sp) +/* C32814 80241334 03E00008 */ jr $ra +/* C32818 80241338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024133C.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024133C.s new file mode 100644 index 0000000000..9f830b4981 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024133C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024133C +/* C3281C 8024133C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C32820 80241340 AFB3001C */ sw $s3, 0x1c($sp) +/* C32824 80241344 0080982D */ daddu $s3, $a0, $zero +/* C32828 80241348 AFBF0020 */ sw $ra, 0x20($sp) +/* C3282C 8024134C AFB20018 */ sw $s2, 0x18($sp) +/* C32830 80241350 AFB10014 */ sw $s1, 0x14($sp) +/* C32834 80241354 AFB00010 */ sw $s0, 0x10($sp) +/* C32838 80241358 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C3283C 8024135C 8E710148 */ lw $s1, 0x148($s3) +/* C32840 80241360 86240008 */ lh $a0, 8($s1) +/* C32844 80241364 0C00EABB */ jal get_npc_unsafe +/* C32848 80241368 00A0802D */ daddu $s0, $a1, $zero +/* C3284C 8024136C 8E040020 */ lw $a0, 0x20($s0) +/* C32850 80241370 0040902D */ daddu $s2, $v0, $zero +/* C32854 80241374 00041FC2 */ srl $v1, $a0, 0x1f +/* C32858 80241378 00832021 */ addu $a0, $a0, $v1 +/* C3285C 8024137C 00042043 */ sra $a0, $a0, 1 +/* C32860 80241380 0C00A67F */ jal rand_int +/* C32864 80241384 24840001 */ addiu $a0, $a0, 1 +/* C32868 80241388 8E030020 */ lw $v1, 0x20($s0) +/* C3286C 8024138C C64C0038 */ lwc1 $f12, 0x38($s2) +/* C32870 80241390 000327C2 */ srl $a0, $v1, 0x1f +/* C32874 80241394 00641821 */ addu $v1, $v1, $a0 +/* C32878 80241398 00031843 */ sra $v1, $v1, 1 +/* C3287C 8024139C 00621821 */ addu $v1, $v1, $v0 +/* C32880 802413A0 A643008E */ sh $v1, 0x8e($s2) +/* C32884 802413A4 8E2200CC */ lw $v0, 0xcc($s1) +/* C32888 802413A8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C3288C 802413AC 8C42000C */ lw $v0, 0xc($v0) +/* C32890 802413B0 AE420028 */ sw $v0, 0x28($s2) +/* C32894 802413B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* C32898 802413B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3289C 802413BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C328A0 802413C0 E6400018 */ swc1 $f0, 0x18($s2) +/* C328A4 802413C4 8C460028 */ lw $a2, 0x28($v0) +/* C328A8 802413C8 0C00A720 */ jal atan2 +/* C328AC 802413CC 8C470030 */ lw $a3, 0x30($v0) +/* C328B0 802413D0 46000506 */ mov.s $f20, $f0 +/* C328B4 802413D4 C64C000C */ lwc1 $f12, 0xc($s2) +/* C328B8 802413D8 0C00A70A */ jal get_clamped_angle_diff +/* C328BC 802413DC 4600A386 */ mov.s $f14, $f20 +/* C328C0 802413E0 46000086 */ mov.s $f2, $f0 +/* C328C4 802413E4 8E02001C */ lw $v0, 0x1c($s0) +/* C328C8 802413E8 46001005 */ abs.s $f0, $f2 +/* C328CC 802413EC 44822000 */ mtc1 $v0, $f4 +/* C328D0 802413F0 00000000 */ nop +/* C328D4 802413F4 46802120 */ cvt.s.w $f4, $f4 +/* C328D8 802413F8 4600203C */ c.lt.s $f4, $f0 +/* C328DC 802413FC 00000000 */ nop +/* C328E0 80241400 4500000D */ bc1f .L80241438 +/* C328E4 80241404 00000000 */ nop +/* C328E8 80241408 44800000 */ mtc1 $zero, $f0 +/* C328EC 8024140C C654000C */ lwc1 $f20, 0xc($s2) +/* C328F0 80241410 4600103C */ c.lt.s $f2, $f0 +/* C328F4 80241414 00000000 */ nop +/* C328F8 80241418 45000006 */ bc1f .L80241434 +/* C328FC 8024141C 00021023 */ negu $v0, $v0 +/* C32900 80241420 44820000 */ mtc1 $v0, $f0 +/* C32904 80241424 00000000 */ nop +/* C32908 80241428 46800020 */ cvt.s.w $f0, $f0 +/* C3290C 8024142C 0809050E */ j .L80241438 +/* C32910 80241430 4600A500 */ add.s $f20, $f20, $f0 +.L80241434: +/* C32914 80241434 4604A500 */ add.s $f20, $f20, $f4 +.L80241438: +/* C32918 80241438 0C00A6C9 */ jal clamp_angle +/* C3291C 8024143C 4600A306 */ mov.s $f12, $f20 +/* C32920 80241440 2402000D */ addiu $v0, $zero, 0xd +/* C32924 80241444 E640000C */ swc1 $f0, 0xc($s2) +/* C32928 80241448 AE620070 */ sw $v0, 0x70($s3) +/* C3292C 8024144C 8FBF0020 */ lw $ra, 0x20($sp) +/* C32930 80241450 8FB3001C */ lw $s3, 0x1c($sp) +/* C32934 80241454 8FB20018 */ lw $s2, 0x18($sp) +/* C32938 80241458 8FB10014 */ lw $s1, 0x14($sp) +/* C3293C 8024145C 8FB00010 */ lw $s0, 0x10($sp) +/* C32940 80241460 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C32944 80241464 03E00008 */ jr $ra +/* C32948 80241468 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024146C_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024146C_C314E0.s new file mode 100644 index 0000000000..93c01b3fc4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024146C_C314E0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024146C_C3294C +/* C3294C 8024146C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C32950 80241470 AFB3003C */ sw $s3, 0x3c($sp) +/* C32954 80241474 0080982D */ daddu $s3, $a0, $zero +/* C32958 80241478 AFBF0040 */ sw $ra, 0x40($sp) +/* C3295C 8024147C AFB20038 */ sw $s2, 0x38($sp) +/* C32960 80241480 AFB10034 */ sw $s1, 0x34($sp) +/* C32964 80241484 AFB00030 */ sw $s0, 0x30($sp) +/* C32968 80241488 8E720148 */ lw $s2, 0x148($s3) +/* C3296C 8024148C 00A0882D */ daddu $s1, $a1, $zero +/* C32970 80241490 86440008 */ lh $a0, 8($s2) +/* C32974 80241494 0C00EABB */ jal get_npc_unsafe +/* C32978 80241498 00C0802D */ daddu $s0, $a2, $zero +/* C3297C 8024149C 0200202D */ daddu $a0, $s0, $zero +/* C32980 802414A0 0240282D */ daddu $a1, $s2, $zero +/* C32984 802414A4 24030001 */ addiu $v1, $zero, 1 +/* C32988 802414A8 AFA30010 */ sw $v1, 0x10($sp) +/* C3298C 802414AC 8E260024 */ lw $a2, 0x24($s1) +/* C32990 802414B0 8E270028 */ lw $a3, 0x28($s1) +/* C32994 802414B4 0C01242D */ jal func_800490B4 +/* C32998 802414B8 0040802D */ daddu $s0, $v0, $zero +/* C3299C 802414BC 1440001E */ bnez $v0, .L80241538 +/* C329A0 802414C0 0200202D */ daddu $a0, $s0, $zero +/* C329A4 802414C4 24040002 */ addiu $a0, $zero, 2 +/* C329A8 802414C8 0200282D */ daddu $a1, $s0, $zero +/* C329AC 802414CC 0000302D */ daddu $a2, $zero, $zero +/* C329B0 802414D0 860300A8 */ lh $v1, 0xa8($s0) +/* C329B4 802414D4 3C013F80 */ lui $at, 0x3f80 +/* C329B8 802414D8 44810000 */ mtc1 $at, $f0 +/* C329BC 802414DC 3C014000 */ lui $at, 0x4000 +/* C329C0 802414E0 44811000 */ mtc1 $at, $f2 +/* C329C4 802414E4 3C01C1A0 */ lui $at, 0xc1a0 +/* C329C8 802414E8 44812000 */ mtc1 $at, $f4 +/* C329CC 802414EC 2402000F */ addiu $v0, $zero, 0xf +/* C329D0 802414F0 AFA2001C */ sw $v0, 0x1c($sp) +/* C329D4 802414F4 44833000 */ mtc1 $v1, $f6 +/* C329D8 802414F8 00000000 */ nop +/* C329DC 802414FC 468031A0 */ cvt.s.w $f6, $f6 +/* C329E0 80241500 44073000 */ mfc1 $a3, $f6 +/* C329E4 80241504 27A20028 */ addiu $v0, $sp, 0x28 +/* C329E8 80241508 AFA20020 */ sw $v0, 0x20($sp) +/* C329EC 8024150C E7A00010 */ swc1 $f0, 0x10($sp) +/* C329F0 80241510 E7A20014 */ swc1 $f2, 0x14($sp) +/* C329F4 80241514 0C01BFA4 */ jal fx_emote +/* C329F8 80241518 E7A40018 */ swc1 $f4, 0x18($sp) +/* C329FC 8024151C 8E4200CC */ lw $v0, 0xcc($s2) +/* C32A00 80241520 8C430000 */ lw $v1, ($v0) +/* C32A04 80241524 24020019 */ addiu $v0, $zero, 0x19 +/* C32A08 80241528 A602008E */ sh $v0, 0x8e($s0) +/* C32A0C 8024152C 2402000E */ addiu $v0, $zero, 0xe +/* C32A10 80241530 0809055B */ j .L8024156C +/* C32A14 80241534 AE030028 */ sw $v1, 0x28($s0) +.L80241538: +/* C32A18 80241538 0C00F598 */ jal func_8003D660 +/* C32A1C 8024153C 24050001 */ addiu $a1, $zero, 1 +/* C32A20 80241540 8E050018 */ lw $a1, 0x18($s0) +/* C32A24 80241544 8E06000C */ lw $a2, 0xc($s0) +/* C32A28 80241548 0C00EA95 */ jal npc_move_heading +/* C32A2C 8024154C 0200202D */ daddu $a0, $s0, $zero +/* C32A30 80241550 8602008E */ lh $v0, 0x8e($s0) +/* C32A34 80241554 9603008E */ lhu $v1, 0x8e($s0) +/* C32A38 80241558 18400003 */ blez $v0, .L80241568 +/* C32A3C 8024155C 2462FFFF */ addiu $v0, $v1, -1 +/* C32A40 80241560 0809055C */ j .L80241570 +/* C32A44 80241564 A602008E */ sh $v0, 0x8e($s0) +.L80241568: +/* C32A48 80241568 2402000C */ addiu $v0, $zero, 0xc +.L8024156C: +/* C32A4C 8024156C AE620070 */ sw $v0, 0x70($s3) +.L80241570: +/* C32A50 80241570 8FBF0040 */ lw $ra, 0x40($sp) +/* C32A54 80241574 8FB3003C */ lw $s3, 0x3c($sp) +/* C32A58 80241578 8FB20038 */ lw $s2, 0x38($sp) +/* C32A5C 8024157C 8FB10034 */ lw $s1, 0x34($sp) +/* C32A60 80241580 8FB00030 */ lw $s0, 0x30($sp) +/* C32A64 80241584 03E00008 */ jr $ra +/* C32A68 80241588 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_8024158C.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024158C.s new file mode 100644 index 0000000000..f087d168f3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_8024158C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024158C +/* C32A6C 8024158C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C32A70 80241590 AFB10014 */ sw $s1, 0x14($sp) +/* C32A74 80241594 0080882D */ daddu $s1, $a0, $zero +/* C32A78 80241598 AFBF0018 */ sw $ra, 0x18($sp) +/* C32A7C 8024159C AFB00010 */ sw $s0, 0x10($sp) +/* C32A80 802415A0 8E300148 */ lw $s0, 0x148($s1) +/* C32A84 802415A4 0C00EABB */ jal get_npc_unsafe +/* C32A88 802415A8 86040008 */ lh $a0, 8($s0) +/* C32A8C 802415AC 9443008E */ lhu $v1, 0x8e($v0) +/* C32A90 802415B0 2463FFFF */ addiu $v1, $v1, -1 +/* C32A94 802415B4 A443008E */ sh $v1, 0x8e($v0) +/* C32A98 802415B8 00031C00 */ sll $v1, $v1, 0x10 +/* C32A9C 802415BC 14600008 */ bnez $v1, .L802415E0 +/* C32AA0 802415C0 00000000 */ nop +/* C32AA4 802415C4 8E0200B0 */ lw $v0, 0xb0($s0) +/* C32AA8 802415C8 30420080 */ andi $v0, $v0, 0x80 +/* C32AAC 802415CC 10400003 */ beqz $v0, .L802415DC +/* C32AB0 802415D0 2402000F */ addiu $v0, $zero, 0xf +/* C32AB4 802415D4 08090578 */ j .L802415E0 +/* C32AB8 802415D8 AE220070 */ sw $v0, 0x70($s1) +.L802415DC: +/* C32ABC 802415DC AE200070 */ sw $zero, 0x70($s1) +.L802415E0: +/* C32AC0 802415E0 8FBF0018 */ lw $ra, 0x18($sp) +/* C32AC4 802415E4 8FB10014 */ lw $s1, 0x14($sp) +/* C32AC8 802415E8 8FB00010 */ lw $s0, 0x10($sp) +/* C32ACC 802415EC 03E00008 */ jr $ra +/* C32AD0 802415F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802415F4_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802415F4_C314E0.s new file mode 100644 index 0000000000..24e87670c4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802415F4_C314E0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F4_C32AD4 +/* C32AD4 802415F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C32AD8 802415F8 AFB10014 */ sw $s1, 0x14($sp) +/* C32ADC 802415FC 0080882D */ daddu $s1, $a0, $zero +/* C32AE0 80241600 AFBF001C */ sw $ra, 0x1c($sp) +/* C32AE4 80241604 AFB20018 */ sw $s2, 0x18($sp) +/* C32AE8 80241608 AFB00010 */ sw $s0, 0x10($sp) +/* C32AEC 8024160C 8E300148 */ lw $s0, 0x148($s1) +/* C32AF0 80241610 86040008 */ lh $a0, 8($s0) +/* C32AF4 80241614 0C00EABB */ jal get_npc_unsafe +/* C32AF8 80241618 00A0902D */ daddu $s2, $a1, $zero +/* C32AFC 8024161C 8E0300D0 */ lw $v1, 0xd0($s0) +/* C32B00 80241620 8E240078 */ lw $a0, 0x78($s1) +/* C32B04 80241624 8C630000 */ lw $v1, ($v1) +/* C32B08 80241628 0083182A */ slt $v1, $a0, $v1 +/* C32B0C 8024162C 10600013 */ beqz $v1, .L8024167C +/* C32B10 80241630 0040302D */ daddu $a2, $v0, $zero +/* C32B14 80241634 00041040 */ sll $v0, $a0, 1 +/* C32B18 80241638 00441021 */ addu $v0, $v0, $a0 +/* C32B1C 8024163C 00022880 */ sll $a1, $v0, 2 +.L80241640: +/* C32B20 80241640 8E0300D0 */ lw $v1, 0xd0($s0) +/* C32B24 80241644 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C32B28 80241648 00A31021 */ addu $v0, $a1, $v1 +/* C32B2C 8024164C C4400008 */ lwc1 $f0, 8($v0) +/* C32B30 80241650 46800020 */ cvt.s.w $f0, $f0 +/* C32B34 80241654 4602003E */ c.le.s $f0, $f2 +/* C32B38 80241658 00000000 */ nop +/* C32B3C 8024165C 45020003 */ bc1fl .L8024166C +/* C32B40 80241660 24840001 */ addiu $a0, $a0, 1 +/* C32B44 80241664 0809059F */ j .L8024167C +/* C32B48 80241668 AE240078 */ sw $a0, 0x78($s1) +.L8024166C: +/* C32B4C 8024166C 8C620000 */ lw $v0, ($v1) +/* C32B50 80241670 0082102A */ slt $v0, $a0, $v0 +/* C32B54 80241674 1440FFF2 */ bnez $v0, .L80241640 +/* C32B58 80241678 24A5000C */ addiu $a1, $a1, 0xc +.L8024167C: +/* C32B5C 8024167C C6400000 */ lwc1 $f0, ($s2) +/* C32B60 80241680 E4C00018 */ swc1 $f0, 0x18($a2) +/* C32B64 80241684 8E0200CC */ lw $v0, 0xcc($s0) +/* C32B68 80241688 8C420004 */ lw $v0, 4($v0) +/* C32B6C 8024168C ACC20028 */ sw $v0, 0x28($a2) +/* C32B70 80241690 24020001 */ addiu $v0, $zero, 1 +/* C32B74 80241694 AE200074 */ sw $zero, 0x74($s1) +/* C32B78 80241698 AE220070 */ sw $v0, 0x70($s1) +/* C32B7C 8024169C 8FBF001C */ lw $ra, 0x1c($sp) +/* C32B80 802416A0 8FB20018 */ lw $s2, 0x18($sp) +/* C32B84 802416A4 8FB10014 */ lw $s1, 0x14($sp) +/* C32B88 802416A8 8FB00010 */ lw $s0, 0x10($sp) +/* C32B8C 802416AC 03E00008 */ jr $ra +/* C32B90 802416B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802416B4.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802416B4.s new file mode 100644 index 0000000000..482c21d9b1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802416B4.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416B4 +/* C32B94 802416B4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C32B98 802416B8 AFB40058 */ sw $s4, 0x58($sp) +/* C32B9C 802416BC 0080A02D */ daddu $s4, $a0, $zero +/* C32BA0 802416C0 AFBF0060 */ sw $ra, 0x60($sp) +/* C32BA4 802416C4 AFB5005C */ sw $s5, 0x5c($sp) +/* C32BA8 802416C8 AFB30054 */ sw $s3, 0x54($sp) +/* C32BAC 802416CC AFB20050 */ sw $s2, 0x50($sp) +/* C32BB0 802416D0 AFB1004C */ sw $s1, 0x4c($sp) +/* C32BB4 802416D4 AFB00048 */ sw $s0, 0x48($sp) +/* C32BB8 802416D8 8E910148 */ lw $s1, 0x148($s4) +/* C32BBC 802416DC 86240008 */ lh $a0, 8($s1) +/* C32BC0 802416E0 0C00EABB */ jal get_npc_unsafe +/* C32BC4 802416E4 00A0802D */ daddu $s0, $a1, $zero +/* C32BC8 802416E8 8E83000C */ lw $v1, 0xc($s4) +/* C32BCC 802416EC 0280202D */ daddu $a0, $s4, $zero +/* C32BD0 802416F0 8C650000 */ lw $a1, ($v1) +/* C32BD4 802416F4 0C0B1EAF */ jal get_variable +/* C32BD8 802416F8 0040902D */ daddu $s2, $v0, $zero +/* C32BDC 802416FC AFA00018 */ sw $zero, 0x18($sp) +/* C32BE0 80241700 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32BE4 80241704 8C630094 */ lw $v1, 0x94($v1) +/* C32BE8 80241708 AFA3001C */ sw $v1, 0x1c($sp) +/* C32BEC 8024170C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32BF0 80241710 8C630080 */ lw $v1, 0x80($v1) +/* C32BF4 80241714 AFA30020 */ sw $v1, 0x20($sp) +/* C32BF8 80241718 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32BFC 8024171C 8C630088 */ lw $v1, 0x88($v1) +/* C32C00 80241720 AFA30024 */ sw $v1, 0x24($sp) +/* C32C04 80241724 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32C08 80241728 8C63008C */ lw $v1, 0x8c($v1) +/* C32C0C 8024172C 27B50018 */ addiu $s5, $sp, 0x18 +/* C32C10 80241730 AFA30028 */ sw $v1, 0x28($sp) +/* C32C14 80241734 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32C18 80241738 3C014282 */ lui $at, 0x4282 +/* C32C1C 8024173C 44810000 */ mtc1 $at, $f0 +/* C32C20 80241740 8C630090 */ lw $v1, 0x90($v1) +/* C32C24 80241744 0040982D */ daddu $s3, $v0, $zero +/* C32C28 80241748 E7A00030 */ swc1 $f0, 0x30($sp) +/* C32C2C 8024174C A7A00034 */ sh $zero, 0x34($sp) +/* C32C30 80241750 16000005 */ bnez $s0, .L80241768 +/* C32C34 80241754 AFA3002C */ sw $v1, 0x2c($sp) +/* C32C38 80241758 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32C3C 8024175C 30420004 */ andi $v0, $v0, 4 +/* C32C40 80241760 10400044 */ beqz $v0, .L80241874 +/* C32C44 80241764 00000000 */ nop +.L80241768: +/* C32C48 80241768 2404F7FF */ addiu $a0, $zero, -0x801 +/* C32C4C 8024176C AE800070 */ sw $zero, 0x70($s4) +/* C32C50 80241770 A640008E */ sh $zero, 0x8e($s2) +/* C32C54 80241774 8E2200CC */ lw $v0, 0xcc($s1) +/* C32C58 80241778 8E430000 */ lw $v1, ($s2) +/* C32C5C 8024177C 8C420000 */ lw $v0, ($v0) +/* C32C60 80241780 00641824 */ and $v1, $v1, $a0 +/* C32C64 80241784 AE430000 */ sw $v1, ($s2) +/* C32C68 80241788 AE420028 */ sw $v0, 0x28($s2) +/* C32C6C 8024178C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C32C70 80241790 8C420098 */ lw $v0, 0x98($v0) +/* C32C74 80241794 54400005 */ bnel $v0, $zero, .L802417AC +/* C32C78 80241798 2402FDFF */ addiu $v0, $zero, -0x201 +/* C32C7C 8024179C 34620200 */ ori $v0, $v1, 0x200 +/* C32C80 802417A0 2403FFF7 */ addiu $v1, $zero, -9 +/* C32C84 802417A4 080905ED */ j .L802417B4 +/* C32C88 802417A8 00431024 */ and $v0, $v0, $v1 +.L802417AC: +/* C32C8C 802417AC 00621024 */ and $v0, $v1, $v0 +/* C32C90 802417B0 34420008 */ ori $v0, $v0, 8 +.L802417B4: +/* C32C94 802417B4 AE420000 */ sw $v0, ($s2) +/* C32C98 802417B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32C9C 802417BC 30420004 */ andi $v0, $v0, 4 +/* C32CA0 802417C0 10400008 */ beqz $v0, .L802417E4 +/* C32CA4 802417C4 24020063 */ addiu $v0, $zero, 0x63 +/* C32CA8 802417C8 AE820070 */ sw $v0, 0x70($s4) +/* C32CAC 802417CC AE800074 */ sw $zero, 0x74($s4) +/* C32CB0 802417D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32CB4 802417D4 2403FFFB */ addiu $v1, $zero, -5 +/* C32CB8 802417D8 00431024 */ and $v0, $v0, $v1 +/* C32CBC 802417DC 08090604 */ j .L80241810 +/* C32CC0 802417E0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802417E4: +/* C32CC4 802417E4 8E220000 */ lw $v0, ($s1) +/* C32CC8 802417E8 3C034000 */ lui $v1, 0x4000 +/* C32CCC 802417EC 00431024 */ and $v0, $v0, $v1 +/* C32CD0 802417F0 10400007 */ beqz $v0, .L80241810 +/* C32CD4 802417F4 3C03BFFF */ lui $v1, 0xbfff +/* C32CD8 802417F8 2402000C */ addiu $v0, $zero, 0xc +/* C32CDC 802417FC AE820070 */ sw $v0, 0x70($s4) +/* C32CE0 80241800 8E220000 */ lw $v0, ($s1) +/* C32CE4 80241804 3463FFFF */ ori $v1, $v1, 0xffff +/* C32CE8 80241808 00431024 */ and $v0, $v0, $v1 +/* C32CEC 8024180C AE220000 */ sw $v0, ($s1) +.L80241810: +/* C32CF0 80241810 27A50038 */ addiu $a1, $sp, 0x38 +/* C32CF4 80241814 27A6003C */ addiu $a2, $sp, 0x3c +/* C32CF8 80241818 C6400038 */ lwc1 $f0, 0x38($s2) +/* C32CFC 8024181C 864200A8 */ lh $v0, 0xa8($s2) +/* C32D00 80241820 3C0142C8 */ lui $at, 0x42c8 +/* C32D04 80241824 44812000 */ mtc1 $at, $f4 +/* C32D08 80241828 44823000 */ mtc1 $v0, $f6 +/* C32D0C 8024182C 00000000 */ nop +/* C32D10 80241830 468031A0 */ cvt.s.w $f6, $f6 +/* C32D14 80241834 27A20044 */ addiu $v0, $sp, 0x44 +/* C32D18 80241838 E7A00038 */ swc1 $f0, 0x38($sp) +/* C32D1C 8024183C C640003C */ lwc1 $f0, 0x3c($s2) +/* C32D20 80241840 C6420040 */ lwc1 $f2, 0x40($s2) +/* C32D24 80241844 46060000 */ add.s $f0, $f0, $f6 +/* C32D28 80241848 E7A40044 */ swc1 $f4, 0x44($sp) +/* C32D2C 8024184C E7A20040 */ swc1 $f2, 0x40($sp) +/* C32D30 80241850 E7A0003C */ swc1 $f0, 0x3c($sp) +/* C32D34 80241854 AFA20010 */ sw $v0, 0x10($sp) +/* C32D38 80241858 8E440080 */ lw $a0, 0x80($s2) +/* C32D3C 8024185C 0C0372DF */ jal func_800DCB7C +/* C32D40 80241860 27A70040 */ addiu $a3, $sp, 0x40 +/* C32D44 80241864 10400003 */ beqz $v0, .L80241874 +/* C32D48 80241868 00000000 */ nop +/* C32D4C 8024186C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C32D50 80241870 E640003C */ swc1 $f0, 0x3c($s2) +.L80241874: +/* C32D54 80241874 8E830070 */ lw $v1, 0x70($s4) +/* C32D58 80241878 2C620064 */ sltiu $v0, $v1, 0x64 +/* C32D5C 8024187C 10400042 */ beqz $v0, .L80241988 +/* C32D60 80241880 00031080 */ sll $v0, $v1, 2 +/* C32D64 80241884 3C018024 */ lui $at, 0x8024 +/* C32D68 80241888 00220821 */ addu $at, $at, $v0 +/* C32D6C 8024188C 8C224B98 */ lw $v0, 0x4b98($at) +/* C32D70 80241890 00400008 */ jr $v0 +/* C32D74 80241894 00000000 */ nop +/* C32D78 80241898 0280202D */ daddu $a0, $s4, $zero +/* C32D7C 8024189C 0260282D */ daddu $a1, $s3, $zero +/* C32D80 802418A0 0C0902C8 */ jal func_80240B20 +/* C32D84 802418A4 02A0302D */ daddu $a2, $s5, $zero +/* C32D88 802418A8 0280202D */ daddu $a0, $s4, $zero +/* C32D8C 802418AC 0260282D */ daddu $a1, $s3, $zero +/* C32D90 802418B0 0C09031E */ jal func_80240C78 +/* C32D94 802418B4 02A0302D */ daddu $a2, $s5, $zero +/* C32D98 802418B8 08090662 */ j .L80241988 +/* C32D9C 802418BC 00000000 */ nop +/* C32DA0 802418C0 0280202D */ daddu $a0, $s4, $zero +/* C32DA4 802418C4 0260282D */ daddu $a1, $s3, $zero +/* C32DA8 802418C8 0C0903C8 */ jal func_80240F20 +/* C32DAC 802418CC 02A0302D */ daddu $a2, $s5, $zero +/* C32DB0 802418D0 0280202D */ daddu $a0, $s4, $zero +/* C32DB4 802418D4 0260282D */ daddu $a1, $s3, $zero +/* C32DB8 802418D8 0C0903F8 */ jal func_80240FE0 +/* C32DBC 802418DC 02A0302D */ daddu $a2, $s5, $zero +/* C32DC0 802418E0 08090662 */ j .L80241988 +/* C32DC4 802418E4 00000000 */ nop +/* C32DC8 802418E8 0280202D */ daddu $a0, $s4, $zero +/* C32DCC 802418EC 0260282D */ daddu $a1, $s3, $zero +/* C32DD0 802418F0 0C090467 */ jal func_8024119C +/* C32DD4 802418F4 02A0302D */ daddu $a2, $s5, $zero +/* C32DD8 802418F8 08090662 */ j .L80241988 +/* C32DDC 802418FC 00000000 */ nop +/* C32DE0 80241900 0280202D */ daddu $a0, $s4, $zero +/* C32DE4 80241904 0260282D */ daddu $a1, $s3, $zero +/* C32DE8 80241908 0C090494 */ jal func_80241250 +/* C32DEC 8024190C 02A0302D */ daddu $a2, $s5, $zero +/* C32DF0 80241910 0280202D */ daddu $a0, $s4, $zero +/* C32DF4 80241914 0260282D */ daddu $a1, $s3, $zero +/* C32DF8 80241918 0C0904B1 */ jal func_802412C4 +/* C32DFC 8024191C 02A0302D */ daddu $a2, $s5, $zero +/* C32E00 80241920 08090662 */ j .L80241988 +/* C32E04 80241924 00000000 */ nop +/* C32E08 80241928 0280202D */ daddu $a0, $s4, $zero +/* C32E0C 8024192C 0260282D */ daddu $a1, $s3, $zero +/* C32E10 80241930 0C0904CF */ jal func_8024133C +/* C32E14 80241934 02A0302D */ daddu $a2, $s5, $zero +/* C32E18 80241938 0280202D */ daddu $a0, $s4, $zero +/* C32E1C 8024193C 0260282D */ daddu $a1, $s3, $zero +/* C32E20 80241940 0C09051B */ jal func_8024146C +/* C32E24 80241944 02A0302D */ daddu $a2, $s5, $zero +/* C32E28 80241948 08090662 */ j .L80241988 +/* C32E2C 8024194C 00000000 */ nop +/* C32E30 80241950 0280202D */ daddu $a0, $s4, $zero +/* C32E34 80241954 0260282D */ daddu $a1, $s3, $zero +/* C32E38 80241958 0C090563 */ jal func_8024158C +/* C32E3C 8024195C 02A0302D */ daddu $a2, $s5, $zero +/* C32E40 80241960 08090662 */ j .L80241988 +/* C32E44 80241964 00000000 */ nop +/* C32E48 80241968 0280202D */ daddu $a0, $s4, $zero +/* C32E4C 8024196C 0260282D */ daddu $a1, $s3, $zero +/* C32E50 80241970 0C09057D */ jal func_802415F4 +/* C32E54 80241974 02A0302D */ daddu $a2, $s5, $zero +/* C32E58 80241978 08090662 */ j .L80241988 +/* C32E5C 8024197C 00000000 */ nop +/* C32E60 80241980 0C0129CF */ jal func_8004A73C +/* C32E64 80241984 0280202D */ daddu $a0, $s4, $zero +.L80241988: +/* C32E68 80241988 8FBF0060 */ lw $ra, 0x60($sp) +/* C32E6C 8024198C 8FB5005C */ lw $s5, 0x5c($sp) +/* C32E70 80241990 8FB40058 */ lw $s4, 0x58($sp) +/* C32E74 80241994 8FB30054 */ lw $s3, 0x54($sp) +/* C32E78 80241998 8FB20050 */ lw $s2, 0x50($sp) +/* C32E7C 8024199C 8FB1004C */ lw $s1, 0x4c($sp) +/* C32E80 802419A0 8FB00048 */ lw $s0, 0x48($sp) +/* C32E84 802419A4 0000102D */ daddu $v0, $zero, $zero +/* C32E88 802419A8 03E00008 */ jr $ra +/* C32E8C 802419AC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802419B0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802419B0.s new file mode 100644 index 0000000000..bf698d951e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802419B0.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419B0 +/* C32E90 802419B0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C32E94 802419B4 AFB20038 */ sw $s2, 0x38($sp) +/* C32E98 802419B8 0080902D */ daddu $s2, $a0, $zero +/* C32E9C 802419BC AFBF0048 */ sw $ra, 0x48($sp) +/* C32EA0 802419C0 AFB50044 */ sw $s5, 0x44($sp) +/* C32EA4 802419C4 AFB40040 */ sw $s4, 0x40($sp) +/* C32EA8 802419C8 AFB3003C */ sw $s3, 0x3c($sp) +/* C32EAC 802419CC AFB10034 */ sw $s1, 0x34($sp) +/* C32EB0 802419D0 AFB00030 */ sw $s0, 0x30($sp) +/* C32EB4 802419D4 8E510148 */ lw $s1, 0x148($s2) +/* C32EB8 802419D8 86240008 */ lh $a0, 8($s1) +/* C32EBC 802419DC 0C00EABB */ jal get_npc_unsafe +/* C32EC0 802419E0 00A0802D */ daddu $s0, $a1, $zero +/* C32EC4 802419E4 8E43000C */ lw $v1, 0xc($s2) +/* C32EC8 802419E8 0240202D */ daddu $a0, $s2, $zero +/* C32ECC 802419EC 8C650000 */ lw $a1, ($v1) +/* C32ED0 802419F0 0C0B1EAF */ jal get_variable +/* C32ED4 802419F4 0040A82D */ daddu $s5, $v0, $zero +/* C32ED8 802419F8 AFA00010 */ sw $zero, 0x10($sp) +/* C32EDC 802419FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32EE0 80241A00 8C630094 */ lw $v1, 0x94($v1) +/* C32EE4 80241A04 AFA30014 */ sw $v1, 0x14($sp) +/* C32EE8 80241A08 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32EEC 80241A0C 8C630080 */ lw $v1, 0x80($v1) +/* C32EF0 80241A10 AFA30018 */ sw $v1, 0x18($sp) +/* C32EF4 80241A14 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32EF8 80241A18 8C630088 */ lw $v1, 0x88($v1) +/* C32EFC 80241A1C AFA3001C */ sw $v1, 0x1c($sp) +/* C32F00 80241A20 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32F04 80241A24 8C63008C */ lw $v1, 0x8c($v1) +/* C32F08 80241A28 27B40010 */ addiu $s4, $sp, 0x10 +/* C32F0C 80241A2C AFA30020 */ sw $v1, 0x20($sp) +/* C32F10 80241A30 8E2300D0 */ lw $v1, 0xd0($s1) +/* C32F14 80241A34 3C014282 */ lui $at, 0x4282 +/* C32F18 80241A38 44810000 */ mtc1 $at, $f0 +/* C32F1C 80241A3C 8C630090 */ lw $v1, 0x90($v1) +/* C32F20 80241A40 0040982D */ daddu $s3, $v0, $zero +/* C32F24 80241A44 E7A00028 */ swc1 $f0, 0x28($sp) +/* C32F28 80241A48 A7A0002C */ sh $zero, 0x2c($sp) +/* C32F2C 80241A4C 16000005 */ bnez $s0, .L80241A64 +/* C32F30 80241A50 AFA30024 */ sw $v1, 0x24($sp) +/* C32F34 80241A54 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32F38 80241A58 30420004 */ andi $v0, $v0, 4 +/* C32F3C 80241A5C 10400020 */ beqz $v0, .L80241AE0 +/* C32F40 80241A60 00000000 */ nop +.L80241A64: +/* C32F44 80241A64 2404F7FF */ addiu $a0, $zero, -0x801 +/* C32F48 80241A68 AE400070 */ sw $zero, 0x70($s2) +/* C32F4C 80241A6C A6A0008E */ sh $zero, 0x8e($s5) +/* C32F50 80241A70 8E2200CC */ lw $v0, 0xcc($s1) +/* C32F54 80241A74 8EA30000 */ lw $v1, ($s5) +/* C32F58 80241A78 8C420000 */ lw $v0, ($v0) +/* C32F5C 80241A7C 00641824 */ and $v1, $v1, $a0 +/* C32F60 80241A80 AEA30000 */ sw $v1, ($s5) +/* C32F64 80241A84 AEA20028 */ sw $v0, 0x28($s5) +/* C32F68 80241A88 8E2200D0 */ lw $v0, 0xd0($s1) +/* C32F6C 80241A8C 8C420098 */ lw $v0, 0x98($v0) +/* C32F70 80241A90 54400005 */ bnel $v0, $zero, .L80241AA8 +/* C32F74 80241A94 2402FDFF */ addiu $v0, $zero, -0x201 +/* C32F78 80241A98 34620200 */ ori $v0, $v1, 0x200 +/* C32F7C 80241A9C 2403FFF7 */ addiu $v1, $zero, -9 +/* C32F80 80241AA0 080906AC */ j .L80241AB0 +/* C32F84 80241AA4 00431024 */ and $v0, $v0, $v1 +.L80241AA8: +/* C32F88 80241AA8 00621024 */ and $v0, $v1, $v0 +/* C32F8C 80241AAC 34420008 */ ori $v0, $v0, 8 +.L80241AB0: +/* C32F90 80241AB0 AEA20000 */ sw $v0, ($s5) +/* C32F94 80241AB4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32F98 80241AB8 30420004 */ andi $v0, $v0, 4 +/* C32F9C 80241ABC 10400007 */ beqz $v0, .L80241ADC +/* C32FA0 80241AC0 24020063 */ addiu $v0, $zero, 0x63 +/* C32FA4 80241AC4 AE420070 */ sw $v0, 0x70($s2) +/* C32FA8 80241AC8 AE400074 */ sw $zero, 0x74($s2) +/* C32FAC 80241ACC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C32FB0 80241AD0 2403FFFB */ addiu $v1, $zero, -5 +/* C32FB4 80241AD4 00431024 */ and $v0, $v0, $v1 +/* C32FB8 80241AD8 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241ADC: +/* C32FBC 80241ADC AE20006C */ sw $zero, 0x6c($s1) +.L80241AE0: +/* C32FC0 80241AE0 8E420070 */ lw $v0, 0x70($s2) +/* C32FC4 80241AE4 2842001E */ slti $v0, $v0, 0x1e +/* C32FC8 80241AE8 10400009 */ beqz $v0, .L80241B10 +/* C32FCC 80241AEC 00000000 */ nop +/* C32FD0 80241AF0 8E22006C */ lw $v0, 0x6c($s1) +/* C32FD4 80241AF4 14400006 */ bnez $v0, .L80241B10 +/* C32FD8 80241AF8 00000000 */ nop +/* C32FDC 80241AFC 0C090116 */ jal func_80240458 +/* C32FE0 80241B00 0240202D */ daddu $a0, $s2, $zero +/* C32FE4 80241B04 10400002 */ beqz $v0, .L80241B10 +/* C32FE8 80241B08 2402001E */ addiu $v0, $zero, 0x1e +/* C32FEC 80241B0C AE420070 */ sw $v0, 0x70($s2) +.L80241B10: +/* C32FF0 80241B10 8E430070 */ lw $v1, 0x70($s2) +/* C32FF4 80241B14 2C620064 */ sltiu $v0, $v1, 0x64 +/* C32FF8 80241B18 1040004E */ beqz $v0, .L80241C54 +/* C32FFC 80241B1C 00031080 */ sll $v0, $v1, 2 +/* C33000 80241B20 3C018024 */ lui $at, 0x8024 +/* C33004 80241B24 00220821 */ addu $at, $at, $v0 +/* C33008 80241B28 8C224D28 */ lw $v0, 0x4d28($at) +/* C3300C 80241B2C 00400008 */ jr $v0 +/* C33010 80241B30 00000000 */ nop +/* C33014 80241B34 0240202D */ daddu $a0, $s2, $zero +/* C33018 80241B38 0260282D */ daddu $a1, $s3, $zero +/* C3301C 80241B3C 0C0902C8 */ jal func_80240B20 +/* C33020 80241B40 0280302D */ daddu $a2, $s4, $zero +/* C33024 80241B44 0240202D */ daddu $a0, $s2, $zero +/* C33028 80241B48 0260282D */ daddu $a1, $s3, $zero +/* C3302C 80241B4C 0C09031E */ jal func_80240C78 +/* C33030 80241B50 0280302D */ daddu $a2, $s4, $zero +/* C33034 80241B54 08090715 */ j .L80241C54 +/* C33038 80241B58 00000000 */ nop +/* C3303C 80241B5C 0240202D */ daddu $a0, $s2, $zero +/* C33040 80241B60 0260282D */ daddu $a1, $s3, $zero +/* C33044 80241B64 0C0903C8 */ jal func_80240F20 +/* C33048 80241B68 0280302D */ daddu $a2, $s4, $zero +/* C3304C 80241B6C 0240202D */ daddu $a0, $s2, $zero +/* C33050 80241B70 0260282D */ daddu $a1, $s3, $zero +/* C33054 80241B74 0C0903F8 */ jal func_80240FE0 +/* C33058 80241B78 0280302D */ daddu $a2, $s4, $zero +/* C3305C 80241B7C 08090715 */ j .L80241C54 +/* C33060 80241B80 00000000 */ nop +/* C33064 80241B84 0240202D */ daddu $a0, $s2, $zero +/* C33068 80241B88 0260282D */ daddu $a1, $s3, $zero +/* C3306C 80241B8C 0C090467 */ jal func_8024119C +/* C33070 80241B90 0280302D */ daddu $a2, $s4, $zero +/* C33074 80241B94 08090715 */ j .L80241C54 +/* C33078 80241B98 00000000 */ nop +/* C3307C 80241B9C 0240202D */ daddu $a0, $s2, $zero +/* C33080 80241BA0 0260282D */ daddu $a1, $s3, $zero +/* C33084 80241BA4 0C090494 */ jal func_80241250 +/* C33088 80241BA8 0280302D */ daddu $a2, $s4, $zero +/* C3308C 80241BAC 0240202D */ daddu $a0, $s2, $zero +/* C33090 80241BB0 0260282D */ daddu $a1, $s3, $zero +/* C33094 80241BB4 0C0904B1 */ jal func_802412C4 +/* C33098 80241BB8 0280302D */ daddu $a2, $s4, $zero +/* C3309C 80241BBC 08090715 */ j .L80241C54 +/* C330A0 80241BC0 00000000 */ nop +/* C330A4 80241BC4 0240202D */ daddu $a0, $s2, $zero +/* C330A8 80241BC8 0260282D */ daddu $a1, $s3, $zero +/* C330AC 80241BCC 0C0904CF */ jal func_8024133C +/* C330B0 80241BD0 0280302D */ daddu $a2, $s4, $zero +/* C330B4 80241BD4 0240202D */ daddu $a0, $s2, $zero +/* C330B8 80241BD8 0260282D */ daddu $a1, $s3, $zero +/* C330BC 80241BDC 0C09051B */ jal func_8024146C +/* C330C0 80241BE0 0280302D */ daddu $a2, $s4, $zero +/* C330C4 80241BE4 08090715 */ j .L80241C54 +/* C330C8 80241BE8 00000000 */ nop +/* C330CC 80241BEC 0240202D */ daddu $a0, $s2, $zero +/* C330D0 80241BF0 0260282D */ daddu $a1, $s3, $zero +/* C330D4 80241BF4 0C090563 */ jal func_8024158C +/* C330D8 80241BF8 0280302D */ daddu $a2, $s4, $zero +/* C330DC 80241BFC 08090715 */ j .L80241C54 +/* C330E0 80241C00 00000000 */ nop +/* C330E4 80241C04 0C090094 */ jal func_80240250 +/* C330E8 80241C08 0240202D */ daddu $a0, $s2, $zero +/* C330EC 80241C0C 0C0900AF */ jal func_802402BC +/* C330F0 80241C10 0240202D */ daddu $a0, $s2, $zero +/* C330F4 80241C14 8E430070 */ lw $v1, 0x70($s2) +/* C330F8 80241C18 24020020 */ addiu $v0, $zero, 0x20 +/* C330FC 80241C1C 1462000D */ bne $v1, $v0, .L80241C54 +/* C33100 80241C20 00000000 */ nop +/* C33104 80241C24 0C0900CB */ jal func_8024032C +/* C33108 80241C28 0240202D */ daddu $a0, $s2, $zero +/* C3310C 80241C2C 8E430070 */ lw $v1, 0x70($s2) +/* C33110 80241C30 24020021 */ addiu $v0, $zero, 0x21 +/* C33114 80241C34 14620007 */ bne $v1, $v0, .L80241C54 +/* C33118 80241C38 00000000 */ nop +/* C3311C 80241C3C 0C090101 */ jal func_80240404 +/* C33120 80241C40 0240202D */ daddu $a0, $s2, $zero +/* C33124 80241C44 08090715 */ j .L80241C54 +/* C33128 80241C48 00000000 */ nop +/* C3312C 80241C4C 0C0129CF */ jal func_8004A73C +/* C33130 80241C50 0240202D */ daddu $a0, $s2, $zero +.L80241C54: +/* C33134 80241C54 8FBF0048 */ lw $ra, 0x48($sp) +/* C33138 80241C58 8FB50044 */ lw $s5, 0x44($sp) +/* C3313C 80241C5C 8FB40040 */ lw $s4, 0x40($sp) +/* C33140 80241C60 8FB3003C */ lw $s3, 0x3c($sp) +/* C33144 80241C64 8FB20038 */ lw $s2, 0x38($sp) +/* C33148 80241C68 8FB10034 */ lw $s1, 0x34($sp) +/* C3314C 80241C6C 8FB00030 */ lw $s0, 0x30($sp) +/* C33150 80241C70 0000102D */ daddu $v0, $zero, $zero +/* C33154 80241C74 03E00008 */ jr $ra +/* C33158 80241C78 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80241C7C.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241C7C.s new file mode 100644 index 0000000000..f69e7b3d3e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241C7C.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C7C +/* C3315C 80241C7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C33160 80241C80 AFB10014 */ sw $s1, 0x14($sp) +/* C33164 80241C84 0080882D */ daddu $s1, $a0, $zero +/* C33168 80241C88 AFBF0018 */ sw $ra, 0x18($sp) +/* C3316C 80241C8C AFB00010 */ sw $s0, 0x10($sp) +/* C33170 80241C90 8E300148 */ lw $s0, 0x148($s1) +/* C33174 80241C94 0C00EABB */ jal get_npc_unsafe +/* C33178 80241C98 86040008 */ lh $a0, 8($s0) +/* C3317C 80241C9C 0040202D */ daddu $a0, $v0, $zero +/* C33180 80241CA0 8482008E */ lh $v0, 0x8e($a0) +/* C33184 80241CA4 9483008E */ lhu $v1, 0x8e($a0) +/* C33188 80241CA8 18400002 */ blez $v0, .L80241CB4 +/* C3318C 80241CAC 2462FFFF */ addiu $v0, $v1, -1 +/* C33190 80241CB0 A482008E */ sh $v0, 0x8e($a0) +.L80241CB4: +/* C33194 80241CB4 8482008E */ lh $v0, 0x8e($a0) +/* C33198 80241CB8 24030001 */ addiu $v1, $zero, 1 +/* C3319C 80241CBC 14430005 */ bne $v0, $v1, .L80241CD4 +/* C331A0 80241CC0 00000000 */ nop +/* C331A4 80241CC4 8E0200CC */ lw $v0, 0xcc($s0) +/* C331A8 80241CC8 8C420030 */ lw $v0, 0x30($v0) +/* C331AC 80241CCC 0809073C */ j .L80241CF0 +/* C331B0 80241CD0 AC820028 */ sw $v0, 0x28($a0) +.L80241CD4: +/* C331B4 80241CD4 1C400006 */ bgtz $v0, .L80241CF0 +/* C331B8 80241CD8 00000000 */ nop +/* C331BC 80241CDC 8E0200CC */ lw $v0, 0xcc($s0) +/* C331C0 80241CE0 8C420028 */ lw $v0, 0x28($v0) +/* C331C4 80241CE4 A480008E */ sh $zero, 0x8e($a0) +/* C331C8 80241CE8 AC820028 */ sw $v0, 0x28($a0) +/* C331CC 80241CEC AE230070 */ sw $v1, 0x70($s1) +.L80241CF0: +/* C331D0 80241CF0 8FBF0018 */ lw $ra, 0x18($sp) +/* C331D4 80241CF4 8FB10014 */ lw $s1, 0x14($sp) +/* C331D8 80241CF8 8FB00010 */ lw $s0, 0x10($sp) +/* C331DC 80241CFC 03E00008 */ jr $ra +/* C331E0 80241D00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80241D04.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241D04.s new file mode 100644 index 0000000000..e9ab494634 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241D04.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D04 +/* C331E4 80241D04 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C331E8 80241D08 AFB40048 */ sw $s4, 0x48($sp) +/* C331EC 80241D0C 0080A02D */ daddu $s4, $a0, $zero +/* C331F0 80241D10 AFBF004C */ sw $ra, 0x4c($sp) +/* C331F4 80241D14 AFB30044 */ sw $s3, 0x44($sp) +/* C331F8 80241D18 AFB20040 */ sw $s2, 0x40($sp) +/* C331FC 80241D1C AFB1003C */ sw $s1, 0x3c($sp) +/* C33200 80241D20 AFB00038 */ sw $s0, 0x38($sp) +/* C33204 80241D24 8E930148 */ lw $s3, 0x148($s4) +/* C33208 80241D28 00C0802D */ daddu $s0, $a2, $zero +/* C3320C 80241D2C 86640008 */ lh $a0, 8($s3) +/* C33210 80241D30 0C00EABB */ jal get_npc_unsafe +/* C33214 80241D34 0000902D */ daddu $s2, $zero, $zero +/* C33218 80241D38 0C039D59 */ jal get_player_data +/* C3321C 80241D3C 0040882D */ daddu $s1, $v0, $zero +/* C33220 80241D40 0200202D */ daddu $a0, $s0, $zero +/* C33224 80241D44 0260282D */ daddu $a1, $s3, $zero +/* C33228 80241D48 0000382D */ daddu $a3, $zero, $zero +/* C3322C 80241D4C 3C0642A0 */ lui $a2, 0x42a0 +/* C33230 80241D50 0040802D */ daddu $s0, $v0, $zero +/* C33234 80241D54 0C01242D */ jal func_800490B4 +/* C33238 80241D58 AFA00010 */ sw $zero, 0x10($sp) +/* C3323C 80241D5C 10400022 */ beqz $v0, .L80241DE8 +/* C33240 80241D60 00000000 */ nop +/* C33244 80241D64 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C33248 80241D68 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3324C 80241D6C 804300B4 */ lb $v1, 0xb4($v0) +/* C33250 80241D70 24020002 */ addiu $v0, $zero, 2 +/* C33254 80241D74 10620013 */ beq $v1, $v0, .L80241DC4 +/* C33258 80241D78 2402001A */ addiu $v0, $zero, 0x1a +/* C3325C 80241D7C 10620011 */ beq $v1, $v0, .L80241DC4 +/* C33260 80241D80 24020003 */ addiu $v0, $zero, 3 +/* C33264 80241D84 1062000F */ beq $v1, $v0, .L80241DC4 +/* C33268 80241D88 2402000E */ addiu $v0, $zero, 0xe +/* C3326C 80241D8C 1062000D */ beq $v1, $v0, .L80241DC4 +/* C33270 80241D90 24020010 */ addiu $v0, $zero, 0x10 +/* C33274 80241D94 1062000B */ beq $v1, $v0, .L80241DC4 +/* C33278 80241D98 2402000B */ addiu $v0, $zero, 0xb +/* C3327C 80241D9C 10620009 */ beq $v1, $v0, .L80241DC4 +/* C33280 80241DA0 2402000A */ addiu $v0, $zero, 0xa +/* C33284 80241DA4 10620007 */ beq $v1, $v0, .L80241DC4 +/* C33288 80241DA8 24020012 */ addiu $v0, $zero, 0x12 +/* C3328C 80241DAC 10620005 */ beq $v1, $v0, .L80241DC4 +/* C33290 80241DB0 24020013 */ addiu $v0, $zero, 0x13 +/* C33294 80241DB4 10620003 */ beq $v1, $v0, .L80241DC4 +/* C33298 80241DB8 24020025 */ addiu $v0, $zero, 0x25 +/* C3329C 80241DBC 14620002 */ bne $v1, $v0, .L80241DC8 +/* C332A0 80241DC0 00000000 */ nop +.L80241DC4: +/* C332A4 80241DC4 24120001 */ addiu $s2, $zero, 1 +.L80241DC8: +/* C332A8 80241DC8 82030012 */ lb $v1, 0x12($s0) +/* C332AC 80241DCC 24020002 */ addiu $v0, $zero, 2 +/* C332B0 80241DD0 14620007 */ bne $v1, $v0, .L80241DF0 +/* C332B4 80241DD4 24020001 */ addiu $v0, $zero, 1 +/* C332B8 80241DD8 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C332BC 80241DDC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C332C0 80241DE0 50430002 */ beql $v0, $v1, .L80241DEC +/* C332C4 80241DE4 24120001 */ addiu $s2, $zero, 1 +.L80241DE8: +/* C332C8 80241DE8 82030012 */ lb $v1, 0x12($s0) +.L80241DEC: +/* C332CC 80241DEC 24020001 */ addiu $v0, $zero, 1 +.L80241DF0: +/* C332D0 80241DF0 14620006 */ bne $v1, $v0, .L80241E0C +/* C332D4 80241DF4 24020003 */ addiu $v0, $zero, 3 +/* C332D8 80241DF8 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C332DC 80241DFC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C332E0 80241E00 14400008 */ bnez $v0, .L80241E24 +/* C332E4 80241E04 27A40028 */ addiu $a0, $sp, 0x28 +/* C332E8 80241E08 24020003 */ addiu $v0, $zero, 3 +.L80241E0C: +/* C332EC 80241E0C 1462001B */ bne $v1, $v0, .L80241E7C +/* C332F0 80241E10 24020002 */ addiu $v0, $zero, 2 +/* C332F4 80241E14 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C332F8 80241E18 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C332FC 80241E1C 14620017 */ bne $v1, $v0, .L80241E7C +/* C33300 80241E20 27A40028 */ addiu $a0, $sp, 0x28 +.L80241E24: +/* C33304 80241E24 27A5002C */ addiu $a1, $sp, 0x2c +/* C33308 80241E28 8E27000C */ lw $a3, 0xc($s1) +/* C3330C 80241E2C C6200038 */ lwc1 $f0, 0x38($s1) +/* C33310 80241E30 C6220040 */ lwc1 $f2, 0x40($s1) +/* C33314 80241E34 0000302D */ daddu $a2, $zero, $zero +/* C33318 80241E38 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3331C 80241E3C 0C00A7E7 */ jal add_vec2D_polar +/* C33320 80241E40 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C33324 80241E44 3C028011 */ lui $v0, 0x8011 +/* C33328 80241E48 8C42C930 */ lw $v0, -0x36d0($v0) +/* C3332C 80241E4C C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C33330 80241E50 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C33334 80241E54 8C460038 */ lw $a2, 0x38($v0) +/* C33338 80241E58 0C00A7B5 */ jal dist2D +/* C3333C 80241E5C 8C470040 */ lw $a3, 0x40($v0) +/* C33340 80241E60 3C0142A0 */ lui $at, 0x42a0 +/* C33344 80241E64 44811000 */ mtc1 $at, $f2 +/* C33348 80241E68 00000000 */ nop +/* C3334C 80241E6C 4602003E */ c.le.s $f0, $f2 +/* C33350 80241E70 00000000 */ nop +/* C33354 80241E74 45030001 */ bc1tl .L80241E7C +/* C33358 80241E78 24120001 */ addiu $s2, $zero, 1 +.L80241E7C: +/* C3335C 80241E7C 12400026 */ beqz $s2, .L80241F18 +/* C33360 80241E80 0220202D */ daddu $a0, $s1, $zero +/* C33364 80241E84 3C05B000 */ lui $a1, 0xb000 +/* C33368 80241E88 34A5000E */ ori $a1, $a1, 0xe +/* C3336C 80241E8C 0C012530 */ jal func_800494C0 +/* C33370 80241E90 0000302D */ daddu $a2, $zero, $zero +/* C33374 80241E94 0000202D */ daddu $a0, $zero, $zero +/* C33378 80241E98 0220282D */ daddu $a1, $s1, $zero +/* C3337C 80241E9C 0000302D */ daddu $a2, $zero, $zero +/* C33380 80241EA0 862200A8 */ lh $v0, 0xa8($s1) +/* C33384 80241EA4 8E6300CC */ lw $v1, 0xcc($s3) +/* C33388 80241EA8 3C013F80 */ lui $at, 0x3f80 +/* C3338C 80241EAC 44810000 */ mtc1 $at, $f0 +/* C33390 80241EB0 3C014000 */ lui $at, 0x4000 +/* C33394 80241EB4 44811000 */ mtc1 $at, $f2 +/* C33398 80241EB8 3C01C1A0 */ lui $at, 0xc1a0 +/* C3339C 80241EBC 44812000 */ mtc1 $at, $f4 +/* C333A0 80241EC0 44823000 */ mtc1 $v0, $f6 +/* C333A4 80241EC4 00000000 */ nop +/* C333A8 80241EC8 468031A0 */ cvt.s.w $f6, $f6 +/* C333AC 80241ECC 44073000 */ mfc1 $a3, $f6 +/* C333B0 80241ED0 8C63002C */ lw $v1, 0x2c($v1) +/* C333B4 80241ED4 2402000A */ addiu $v0, $zero, 0xa +/* C333B8 80241ED8 A622008E */ sh $v0, 0x8e($s1) +/* C333BC 80241EDC 2402000F */ addiu $v0, $zero, 0xf +/* C333C0 80241EE0 AE230028 */ sw $v1, 0x28($s1) +/* C333C4 80241EE4 AFA2001C */ sw $v0, 0x1c($sp) +/* C333C8 80241EE8 27A20030 */ addiu $v0, $sp, 0x30 +/* C333CC 80241EEC E7A00010 */ swc1 $f0, 0x10($sp) +/* C333D0 80241EF0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C333D4 80241EF4 E7A40018 */ swc1 $f4, 0x18($sp) +/* C333D8 80241EF8 0C01BFA4 */ jal fx_emote +/* C333DC 80241EFC AFA20020 */ sw $v0, 0x20($sp) +/* C333E0 80241F00 0220202D */ daddu $a0, $s1, $zero +/* C333E4 80241F04 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C333E8 80241F08 0C012530 */ jal func_800494C0 +/* C333EC 80241F0C 3C060020 */ lui $a2, 0x20 +/* C333F0 80241F10 24020002 */ addiu $v0, $zero, 2 +/* C333F4 80241F14 AE820070 */ sw $v0, 0x70($s4) +.L80241F18: +/* C333F8 80241F18 9622008E */ lhu $v0, 0x8e($s1) +/* C333FC 80241F1C 24420001 */ addiu $v0, $v0, 1 +/* C33400 80241F20 A622008E */ sh $v0, 0x8e($s1) +/* C33404 80241F24 00021400 */ sll $v0, $v0, 0x10 +/* C33408 80241F28 00021C03 */ sra $v1, $v0, 0x10 +/* C3340C 80241F2C 2402001B */ addiu $v0, $zero, 0x1b +/* C33410 80241F30 14620005 */ bne $v1, $v0, .L80241F48 +/* C33414 80241F34 24020039 */ addiu $v0, $zero, 0x39 +/* C33418 80241F38 0220202D */ daddu $a0, $s1, $zero +/* C3341C 80241F3C 3C05B000 */ lui $a1, 0xb000 +/* C33420 80241F40 080907D7 */ j .L80241F5C +/* C33424 80241F44 34A5000C */ ori $a1, $a1, 0xc +.L80241F48: +/* C33428 80241F48 14620008 */ bne $v1, $v0, .L80241F6C +/* C3342C 80241F4C 2402003B */ addiu $v0, $zero, 0x3b +/* C33430 80241F50 0220202D */ daddu $a0, $s1, $zero +/* C33434 80241F54 3C05B000 */ lui $a1, 0xb000 +/* C33438 80241F58 34A5000D */ ori $a1, $a1, 0xd +.L80241F5C: +/* C3343C 80241F5C 0C012530 */ jal func_800494C0 +/* C33440 80241F60 0000302D */ daddu $a2, $zero, $zero +/* C33444 80241F64 080907E7 */ j .L80241F9C +/* C33448 80241F68 00000000 */ nop +.L80241F6C: +/* C3344C 80241F6C 14620005 */ bne $v1, $v0, .L80241F84 +/* C33450 80241F70 2402003C */ addiu $v0, $zero, 0x3c +/* C33454 80241F74 8E6200CC */ lw $v0, 0xcc($s3) +/* C33458 80241F78 8C420030 */ lw $v0, 0x30($v0) +/* C3345C 80241F7C 080907E7 */ j .L80241F9C +/* C33460 80241F80 AE220028 */ sw $v0, 0x28($s1) +.L80241F84: +/* C33464 80241F84 14620005 */ bne $v1, $v0, .L80241F9C +/* C33468 80241F88 00000000 */ nop +/* C3346C 80241F8C 8E6200CC */ lw $v0, 0xcc($s3) +/* C33470 80241F90 8C420028 */ lw $v0, 0x28($v0) +/* C33474 80241F94 A620008E */ sh $zero, 0x8e($s1) +/* C33478 80241F98 AE220028 */ sw $v0, 0x28($s1) +.L80241F9C: +/* C3347C 80241F9C 8FBF004C */ lw $ra, 0x4c($sp) +/* C33480 80241FA0 8FB40048 */ lw $s4, 0x48($sp) +/* C33484 80241FA4 8FB30044 */ lw $s3, 0x44($sp) +/* C33488 80241FA8 8FB20040 */ lw $s2, 0x40($sp) +/* C3348C 80241FAC 8FB1003C */ lw $s1, 0x3c($sp) +/* C33490 80241FB0 8FB00038 */ lw $s0, 0x38($sp) +/* C33494 80241FB4 03E00008 */ jr $ra +/* C33498 80241FB8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80241FBC_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241FBC_C314E0.s new file mode 100644 index 0000000000..626e4ba600 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80241FBC_C314E0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FBC_C3349C +/* C3349C 80241FBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C334A0 80241FC0 AFB10014 */ sw $s1, 0x14($sp) +/* C334A4 80241FC4 0080882D */ daddu $s1, $a0, $zero +/* C334A8 80241FC8 AFBF0018 */ sw $ra, 0x18($sp) +/* C334AC 80241FCC AFB00010 */ sw $s0, 0x10($sp) +/* C334B0 80241FD0 8E300148 */ lw $s0, 0x148($s1) +/* C334B4 80241FD4 0C00EABB */ jal get_npc_unsafe +/* C334B8 80241FD8 86040008 */ lh $a0, 8($s0) +/* C334BC 80241FDC 0040182D */ daddu $v1, $v0, $zero +/* C334C0 80241FE0 9462008E */ lhu $v0, 0x8e($v1) +/* C334C4 80241FE4 2442FFFF */ addiu $v0, $v0, -1 +/* C334C8 80241FE8 A462008E */ sh $v0, 0x8e($v1) +/* C334CC 80241FEC 00021400 */ sll $v0, $v0, 0x10 +/* C334D0 80241FF0 1C400006 */ bgtz $v0, .L8024200C +/* C334D4 80241FF4 24020001 */ addiu $v0, $zero, 1 +/* C334D8 80241FF8 A462008E */ sh $v0, 0x8e($v1) +/* C334DC 80241FFC 24020028 */ addiu $v0, $zero, 0x28 +/* C334E0 80242000 AE020088 */ sw $v0, 0x88($s0) +/* C334E4 80242004 24020003 */ addiu $v0, $zero, 3 +/* C334E8 80242008 AE220070 */ sw $v0, 0x70($s1) +.L8024200C: +/* C334EC 8024200C 8FBF0018 */ lw $ra, 0x18($sp) +/* C334F0 80242010 8FB10014 */ lw $s1, 0x14($sp) +/* C334F4 80242014 8FB00010 */ lw $s0, 0x10($sp) +/* C334F8 80242018 03E00008 */ jr $ra +/* C334FC 8024201C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80242020.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242020.s new file mode 100644 index 0000000000..27f64e6c21 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242020.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242020 +/* C33500 80242020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C33504 80242024 AFB10014 */ sw $s1, 0x14($sp) +/* C33508 80242028 0080882D */ daddu $s1, $a0, $zero +/* C3350C 8024202C AFBF001C */ sw $ra, 0x1c($sp) +/* C33510 80242030 AFB20018 */ sw $s2, 0x18($sp) +/* C33514 80242034 AFB00010 */ sw $s0, 0x10($sp) +/* C33518 80242038 8E320148 */ lw $s2, 0x148($s1) +/* C3351C 8024203C 0C00EABB */ jal get_npc_unsafe +/* C33520 80242040 86440008 */ lh $a0, 8($s2) +/* C33524 80242044 240400B4 */ addiu $a0, $zero, 0xb4 +/* C33528 80242048 0C00A67F */ jal rand_int +/* C3352C 8024204C 0040802D */ daddu $s0, $v0, $zero +/* C33530 80242050 C60C000C */ lwc1 $f12, 0xc($s0) +/* C33534 80242054 44820000 */ mtc1 $v0, $f0 +/* C33538 80242058 00000000 */ nop +/* C3353C 8024205C 46800020 */ cvt.s.w $f0, $f0 +/* C33540 80242060 46006300 */ add.s $f12, $f12, $f0 +/* C33544 80242064 3C0142B4 */ lui $at, 0x42b4 +/* C33548 80242068 44810000 */ mtc1 $at, $f0 +/* C3354C 8024206C 0C00A6C9 */ jal clamp_angle +/* C33550 80242070 46006301 */ sub.s $f12, $f12, $f0 +/* C33554 80242074 E600000C */ swc1 $f0, 0xc($s0) +/* C33558 80242078 8E4200CC */ lw $v0, 0xcc($s2) +/* C3355C 8024207C 8C420000 */ lw $v0, ($v0) +/* C33560 80242080 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C33564 80242084 0C00A67F */ jal rand_int +/* C33568 80242088 AE020028 */ sw $v0, 0x28($s0) +/* C3356C 8024208C 00021FC2 */ srl $v1, $v0, 0x1f +/* C33570 80242090 00431821 */ addu $v1, $v0, $v1 +/* C33574 80242094 00031843 */ sra $v1, $v1, 1 +/* C33578 80242098 00031840 */ sll $v1, $v1, 1 +/* C3357C 8024209C 00431023 */ subu $v0, $v0, $v1 +/* C33580 802420A0 24420002 */ addiu $v0, $v0, 2 +/* C33584 802420A4 AE220074 */ sw $v0, 0x74($s1) +/* C33588 802420A8 24020004 */ addiu $v0, $zero, 4 +/* C3358C 802420AC AE220070 */ sw $v0, 0x70($s1) +/* C33590 802420B0 8FBF001C */ lw $ra, 0x1c($sp) +/* C33594 802420B4 8FB20018 */ lw $s2, 0x18($sp) +/* C33598 802420B8 8FB10014 */ lw $s1, 0x14($sp) +/* C3359C 802420BC 8FB00010 */ lw $s0, 0x10($sp) +/* C335A0 802420C0 03E00008 */ jr $ra +/* C335A4 802420C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802420C8.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802420C8.s new file mode 100644 index 0000000000..d4039b3c15 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802420C8.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420C8 +/* C335A8 802420C8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C335AC 802420CC AFB20020 */ sw $s2, 0x20($sp) +/* C335B0 802420D0 0080902D */ daddu $s2, $a0, $zero +/* C335B4 802420D4 AFBF0028 */ sw $ra, 0x28($sp) +/* C335B8 802420D8 AFB30024 */ sw $s3, 0x24($sp) +/* C335BC 802420DC AFB1001C */ sw $s1, 0x1c($sp) +/* C335C0 802420E0 AFB00018 */ sw $s0, 0x18($sp) +/* C335C4 802420E4 8E510148 */ lw $s1, 0x148($s2) +/* C335C8 802420E8 00A0982D */ daddu $s3, $a1, $zero +/* C335CC 802420EC 86240008 */ lh $a0, 8($s1) +/* C335D0 802420F0 0C00EABB */ jal get_npc_unsafe +/* C335D4 802420F4 00C0802D */ daddu $s0, $a2, $zero +/* C335D8 802420F8 0200202D */ daddu $a0, $s0, $zero +/* C335DC 802420FC 0040802D */ daddu $s0, $v0, $zero +/* C335E0 80242100 AFA00010 */ sw $zero, 0x10($sp) +/* C335E4 80242104 8E660024 */ lw $a2, 0x24($s3) +/* C335E8 80242108 8E670028 */ lw $a3, 0x28($s3) +/* C335EC 8024210C 0C01242D */ jal func_800490B4 +/* C335F0 80242110 0220282D */ daddu $a1, $s1, $zero +/* C335F4 80242114 1040000C */ beqz $v0, .L80242148 +/* C335F8 80242118 00000000 */ nop +/* C335FC 8024211C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C33600 80242120 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C33604 80242124 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C33608 80242128 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3360C 8024212C 8C460028 */ lw $a2, 0x28($v0) +/* C33610 80242130 0C00A720 */ jal atan2 +/* C33614 80242134 8C470030 */ lw $a3, 0x30($v0) +/* C33618 80242138 2402000C */ addiu $v0, $zero, 0xc +/* C3361C 8024213C E600000C */ swc1 $f0, 0xc($s0) +/* C33620 80242140 08090879 */ j .L802421E4 +/* C33624 80242144 AE420070 */ sw $v0, 0x70($s2) +.L80242148: +/* C33628 80242148 9602008E */ lhu $v0, 0x8e($s0) +/* C3362C 8024214C 2442FFFF */ addiu $v0, $v0, -1 +/* C33630 80242150 A602008E */ sh $v0, 0x8e($s0) +/* C33634 80242154 00021400 */ sll $v0, $v0, 0x10 +/* C33638 80242158 1C400022 */ bgtz $v0, .L802421E4 +/* C3363C 8024215C 00000000 */ nop +/* C33640 80242160 8E420074 */ lw $v0, 0x74($s2) +/* C33644 80242164 2442FFFF */ addiu $v0, $v0, -1 +/* C33648 80242168 18400014 */ blez $v0, .L802421BC +/* C3364C 8024216C AE420074 */ sw $v0, 0x74($s2) +/* C33650 80242170 C600000C */ lwc1 $f0, 0xc($s0) +/* C33654 80242174 3C014334 */ lui $at, 0x4334 +/* C33658 80242178 44816000 */ mtc1 $at, $f12 +/* C3365C 8024217C 0C00A6C9 */ jal clamp_angle +/* C33660 80242180 460C0300 */ add.s $f12, $f0, $f12 +/* C33664 80242184 E600000C */ swc1 $f0, 0xc($s0) +/* C33668 80242188 8E640008 */ lw $a0, 8($s3) +/* C3366C 8024218C 000417C2 */ srl $v0, $a0, 0x1f +/* C33670 80242190 00822021 */ addu $a0, $a0, $v0 +/* C33674 80242194 00042043 */ sra $a0, $a0, 1 +/* C33678 80242198 0C00A67F */ jal rand_int +/* C3367C 8024219C 24840001 */ addiu $a0, $a0, 1 +/* C33680 802421A0 8E630008 */ lw $v1, 8($s3) +/* C33684 802421A4 000327C2 */ srl $a0, $v1, 0x1f +/* C33688 802421A8 00641821 */ addu $v1, $v1, $a0 +/* C3368C 802421AC 00031843 */ sra $v1, $v1, 1 +/* C33690 802421B0 00621821 */ addu $v1, $v1, $v0 +/* C33694 802421B4 08090879 */ j .L802421E4 +/* C33698 802421B8 A603008E */ sh $v1, 0x8e($s0) +.L802421BC: +/* C3369C 802421BC 8E250088 */ lw $a1, 0x88($s1) +/* C336A0 802421C0 24020028 */ addiu $v0, $zero, 0x28 +/* C336A4 802421C4 14A20003 */ bne $a1, $v0, .L802421D4 +/* C336A8 802421C8 24020032 */ addiu $v0, $zero, 0x32 +/* C336AC 802421CC 08090877 */ j .L802421DC +/* C336B0 802421D0 24020014 */ addiu $v0, $zero, 0x14 +.L802421D4: +/* C336B4 802421D4 14A20003 */ bne $a1, $v0, .L802421E4 +/* C336B8 802421D8 24020019 */ addiu $v0, $zero, 0x19 +.L802421DC: +/* C336BC 802421DC A602008E */ sh $v0, 0x8e($s0) +/* C336C0 802421E0 AE450070 */ sw $a1, 0x70($s2) +.L802421E4: +/* C336C4 802421E4 8FBF0028 */ lw $ra, 0x28($sp) +/* C336C8 802421E8 8FB30024 */ lw $s3, 0x24($sp) +/* C336CC 802421EC 8FB20020 */ lw $s2, 0x20($sp) +/* C336D0 802421F0 8FB1001C */ lw $s1, 0x1c($sp) +/* C336D4 802421F4 8FB00018 */ lw $s0, 0x18($sp) +/* C336D8 802421F8 03E00008 */ jr $ra +/* C336DC 802421FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80242200.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242200.s new file mode 100644 index 0000000000..eef89a4bff --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242200.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242200 +/* C336E0 80242200 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C336E4 80242204 AFB20018 */ sw $s2, 0x18($sp) +/* C336E8 80242208 0080902D */ daddu $s2, $a0, $zero +/* C336EC 8024220C AFBF001C */ sw $ra, 0x1c($sp) +/* C336F0 80242210 AFB10014 */ sw $s1, 0x14($sp) +/* C336F4 80242214 AFB00010 */ sw $s0, 0x10($sp) +/* C336F8 80242218 8E500148 */ lw $s0, 0x148($s2) +/* C336FC 8024221C 86040008 */ lh $a0, 8($s0) +/* C33700 80242220 0C00EABB */ jal get_npc_unsafe +/* C33704 80242224 00A0882D */ daddu $s1, $a1, $zero +/* C33708 80242228 0040182D */ daddu $v1, $v0, $zero +/* C3370C 8024222C 9462008E */ lhu $v0, 0x8e($v1) +/* C33710 80242230 2442FFFF */ addiu $v0, $v0, -1 +/* C33714 80242234 A462008E */ sh $v0, 0x8e($v1) +/* C33718 80242238 00021400 */ sll $v0, $v0, 0x10 +/* C3371C 8024223C 1C400015 */ bgtz $v0, .L80242294 +/* C33720 80242240 00000000 */ nop +/* C33724 80242244 8E0200CC */ lw $v0, 0xcc($s0) +/* C33728 80242248 8C420004 */ lw $v0, 4($v0) +/* C3372C 8024224C AC620028 */ sw $v0, 0x28($v1) +/* C33730 80242250 8E0200D0 */ lw $v0, 0xd0($s0) +/* C33734 80242254 8C420014 */ lw $v0, 0x14($v0) +/* C33738 80242258 04410004 */ bgez $v0, .L8024226C +/* C3373C 8024225C 00000000 */ nop +/* C33740 80242260 C6200000 */ lwc1 $f0, ($s1) +/* C33744 80242264 080908A3 */ j .L8024228C +/* C33748 80242268 E4600018 */ swc1 $f0, 0x18($v1) +.L8024226C: +/* C3374C 8024226C 3C018024 */ lui $at, 0x8024 +/* C33750 80242270 D4224EB8 */ ldc1 $f2, 0x4eb8($at) +/* C33754 80242274 44820000 */ mtc1 $v0, $f0 +/* C33758 80242278 00000000 */ nop +/* C3375C 8024227C 46800021 */ cvt.d.w $f0, $f0 +/* C33760 80242280 46220003 */ div.d $f0, $f0, $f2 +/* C33764 80242284 46200020 */ cvt.s.d $f0, $f0 +/* C33768 80242288 E4600018 */ swc1 $f0, 0x18($v1) +.L8024228C: +/* C3376C 8024228C 24020029 */ addiu $v0, $zero, 0x29 +/* C33770 80242290 AE420070 */ sw $v0, 0x70($s2) +.L80242294: +/* C33774 80242294 8FBF001C */ lw $ra, 0x1c($sp) +/* C33778 80242298 8FB20018 */ lw $s2, 0x18($sp) +/* C3377C 8024229C 8FB10014 */ lw $s1, 0x14($sp) +/* C33780 802422A0 8FB00010 */ lw $s0, 0x10($sp) +/* C33784 802422A4 03E00008 */ jr $ra +/* C33788 802422A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_802422AC.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_802422AC.s new file mode 100644 index 0000000000..e7fe641d82 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_802422AC.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422AC +/* C3378C 802422AC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C33790 802422B0 AFB3002C */ sw $s3, 0x2c($sp) +/* C33794 802422B4 0080982D */ daddu $s3, $a0, $zero +/* C33798 802422B8 AFBF0030 */ sw $ra, 0x30($sp) +/* C3379C 802422BC AFB20028 */ sw $s2, 0x28($sp) +/* C337A0 802422C0 AFB10024 */ sw $s1, 0x24($sp) +/* C337A4 802422C4 AFB00020 */ sw $s0, 0x20($sp) +/* C337A8 802422C8 8E720148 */ lw $s2, 0x148($s3) +/* C337AC 802422CC 00A0882D */ daddu $s1, $a1, $zero +/* C337B0 802422D0 86440008 */ lh $a0, 8($s2) +/* C337B4 802422D4 0C00EABB */ jal get_npc_unsafe +/* C337B8 802422D8 00C0802D */ daddu $s0, $a2, $zero +/* C337BC 802422DC 0200202D */ daddu $a0, $s0, $zero +/* C337C0 802422E0 0240282D */ daddu $a1, $s2, $zero +/* C337C4 802422E4 AFA00010 */ sw $zero, 0x10($sp) +/* C337C8 802422E8 8E260024 */ lw $a2, 0x24($s1) +/* C337CC 802422EC 8E270028 */ lw $a3, 0x28($s1) +/* C337D0 802422F0 0C01242D */ jal func_800490B4 +/* C337D4 802422F4 0040802D */ daddu $s0, $v0, $zero +/* C337D8 802422F8 1040000C */ beqz $v0, .L8024232C +/* C337DC 802422FC 00000000 */ nop +/* C337E0 80242300 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C337E4 80242304 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C337E8 80242308 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C337EC 8024230C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C337F0 80242310 8C460028 */ lw $a2, 0x28($v0) +/* C337F4 80242314 0C00A720 */ jal atan2 +/* C337F8 80242318 8C470030 */ lw $a3, 0x30($v0) +/* C337FC 8024231C 2402000C */ addiu $v0, $zero, 0xc +/* C33800 80242320 E600000C */ swc1 $f0, 0xc($s0) +/* C33804 80242324 08090902 */ j .L80242408 +/* C33808 80242328 AE620070 */ sw $v0, 0x70($s3) +.L8024232C: +/* C3380C 8024232C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C33810 80242330 8E4200D0 */ lw $v0, 0xd0($s2) +/* C33814 80242334 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C33818 80242338 C4440000 */ lwc1 $f4, ($v0) +/* C3381C 8024233C 46802120 */ cvt.s.w $f4, $f4 +/* C33820 80242340 44062000 */ mfc1 $a2, $f4 +/* C33824 80242344 C4440008 */ lwc1 $f4, 8($v0) +/* C33828 80242348 46802120 */ cvt.s.w $f4, $f4 +/* C3382C 8024234C 44072000 */ mfc1 $a3, $f4 +/* C33830 80242350 0C00A7B5 */ jal dist2D +/* C33834 80242354 00000000 */ nop +/* C33838 80242358 C6020018 */ lwc1 $f2, 0x18($s0) +/* C3383C 8024235C 4602003E */ c.le.s $f0, $f2 +/* C33840 80242360 00000000 */ nop +/* C33844 80242364 4500000B */ bc1f .L80242394 +/* C33848 80242368 00000000 */ nop +/* C3384C 8024236C 8E4200CC */ lw $v0, 0xcc($s2) +/* C33850 80242370 8C430000 */ lw $v1, ($v0) +/* C33854 80242374 2402000F */ addiu $v0, $zero, 0xf +/* C33858 80242378 A602008E */ sh $v0, 0x8e($s0) +/* C3385C 8024237C 24020032 */ addiu $v0, $zero, 0x32 +/* C33860 80242380 AE030028 */ sw $v1, 0x28($s0) +/* C33864 80242384 AE420088 */ sw $v0, 0x88($s2) +/* C33868 80242388 24020003 */ addiu $v0, $zero, 3 +/* C3386C 8024238C 08090902 */ j .L80242408 +/* C33870 80242390 AE620070 */ sw $v0, 0x70($s3) +.L80242394: +/* C33874 80242394 8602008C */ lh $v0, 0x8c($s0) +/* C33878 80242398 1440001B */ bnez $v0, .L80242408 +/* C3387C 8024239C 0200202D */ daddu $a0, $s0, $zero +/* C33880 802423A0 27A60018 */ addiu $a2, $sp, 0x18 +/* C33884 802423A4 3C0540A0 */ lui $a1, 0x40a0 +/* C33888 802423A8 C600000C */ lwc1 $f0, 0xc($s0) +/* C3388C 802423AC 0000382D */ daddu $a3, $zero, $zero +/* C33890 802423B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C33894 802423B4 AFA00010 */ sw $zero, 0x10($sp) +/* C33898 802423B8 0C0129E1 */ jal func_8004A784 +/* C3389C 802423BC AFA00014 */ sw $zero, 0x14($sp) +/* C338A0 802423C0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C338A4 802423C4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C338A8 802423C8 E600000C */ swc1 $f0, 0xc($s0) +/* C338AC 802423CC 8E4200D0 */ lw $v0, 0xd0($s2) +/* C338B0 802423D0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C338B4 802423D4 C4440000 */ lwc1 $f4, ($v0) +/* C338B8 802423D8 46802120 */ cvt.s.w $f4, $f4 +/* C338BC 802423DC 44062000 */ mfc1 $a2, $f4 +/* C338C0 802423E0 C4440008 */ lwc1 $f4, 8($v0) +/* C338C4 802423E4 46802120 */ cvt.s.w $f4, $f4 +/* C338C8 802423E8 44072000 */ mfc1 $a3, $f4 +/* C338CC 802423EC 0C00A720 */ jal atan2 +/* C338D0 802423F0 00000000 */ nop +/* C338D4 802423F4 8E050018 */ lw $a1, 0x18($s0) +/* C338D8 802423F8 44060000 */ mfc1 $a2, $f0 +/* C338DC 802423FC 0200202D */ daddu $a0, $s0, $zero +/* C338E0 80242400 0C00EA95 */ jal npc_move_heading +/* C338E4 80242404 AC86000C */ sw $a2, 0xc($a0) +.L80242408: +/* C338E8 80242408 8FBF0030 */ lw $ra, 0x30($sp) +/* C338EC 8024240C 8FB3002C */ lw $s3, 0x2c($sp) +/* C338F0 80242410 8FB20028 */ lw $s2, 0x28($sp) +/* C338F4 80242414 8FB10024 */ lw $s1, 0x24($sp) +/* C338F8 80242418 8FB00020 */ lw $s0, 0x20($sp) +/* C338FC 8024241C 03E00008 */ jr $ra +/* C33900 80242420 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80242424_C314E0.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242424_C314E0.s new file mode 100644 index 0000000000..e8b64af1fb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242424_C314E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242424_C33904 +/* C33904 80242424 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C33908 80242428 AFB00010 */ sw $s0, 0x10($sp) +/* C3390C 8024242C 0080802D */ daddu $s0, $a0, $zero +/* C33910 80242430 AFBF0014 */ sw $ra, 0x14($sp) +/* C33914 80242434 8E020148 */ lw $v0, 0x148($s0) +/* C33918 80242438 0C00EABB */ jal get_npc_unsafe +/* C3391C 8024243C 84440008 */ lh $a0, 8($v0) +/* C33920 80242440 0040182D */ daddu $v1, $v0, $zero +/* C33924 80242444 8462008C */ lh $v0, 0x8c($v1) +/* C33928 80242448 14400009 */ bnez $v0, .L80242470 +/* C3392C 8024244C 00000000 */ nop +/* C33930 80242450 9462008E */ lhu $v0, 0x8e($v1) +/* C33934 80242454 2442FFFF */ addiu $v0, $v0, -1 +/* C33938 80242458 A462008E */ sh $v0, 0x8e($v1) +/* C3393C 8024245C 00021400 */ sll $v0, $v0, 0x10 +/* C33940 80242460 1C400003 */ bgtz $v0, .L80242470 +/* C33944 80242464 00000000 */ nop +/* C33948 80242468 A460008E */ sh $zero, 0x8e($v1) +/* C3394C 8024246C AE000070 */ sw $zero, 0x70($s0) +.L80242470: +/* C33950 80242470 8FBF0014 */ lw $ra, 0x14($sp) +/* C33954 80242474 8FB00010 */ lw $s0, 0x10($sp) +/* C33958 80242478 03E00008 */ jr $ra +/* C3395C 8024247C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_03/func_80242480.s b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242480.s new file mode 100644 index 0000000000..97ce1dffdf --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_03/func_80242480.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242480 +/* C33960 80242480 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C33964 80242484 AFB20038 */ sw $s2, 0x38($sp) +/* C33968 80242488 0080902D */ daddu $s2, $a0, $zero +/* C3396C 8024248C AFBF0048 */ sw $ra, 0x48($sp) +/* C33970 80242490 AFB50044 */ sw $s5, 0x44($sp) +/* C33974 80242494 AFB40040 */ sw $s4, 0x40($sp) +/* C33978 80242498 AFB3003C */ sw $s3, 0x3c($sp) +/* C3397C 8024249C AFB10034 */ sw $s1, 0x34($sp) +/* C33980 802424A0 AFB00030 */ sw $s0, 0x30($sp) +/* C33984 802424A4 8E510148 */ lw $s1, 0x148($s2) +/* C33988 802424A8 86240008 */ lh $a0, 8($s1) +/* C3398C 802424AC 0C00EABB */ jal get_npc_unsafe +/* C33990 802424B0 00A0802D */ daddu $s0, $a1, $zero +/* C33994 802424B4 8E43000C */ lw $v1, 0xc($s2) +/* C33998 802424B8 0240202D */ daddu $a0, $s2, $zero +/* C3399C 802424BC 8C650000 */ lw $a1, ($v1) +/* C339A0 802424C0 0C0B1EAF */ jal get_variable +/* C339A4 802424C4 0040A02D */ daddu $s4, $v0, $zero +/* C339A8 802424C8 AFA00010 */ sw $zero, 0x10($sp) +/* C339AC 802424CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C339B0 802424D0 8C630030 */ lw $v1, 0x30($v1) +/* C339B4 802424D4 AFA30014 */ sw $v1, 0x14($sp) +/* C339B8 802424D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C339BC 802424DC 8C63001C */ lw $v1, 0x1c($v1) +/* C339C0 802424E0 AFA30018 */ sw $v1, 0x18($sp) +/* C339C4 802424E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C339C8 802424E8 8C630024 */ lw $v1, 0x24($v1) +/* C339CC 802424EC AFA3001C */ sw $v1, 0x1c($sp) +/* C339D0 802424F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C339D4 802424F4 8C630028 */ lw $v1, 0x28($v1) +/* C339D8 802424F8 27B50010 */ addiu $s5, $sp, 0x10 +/* C339DC 802424FC AFA30020 */ sw $v1, 0x20($sp) +/* C339E0 80242500 8E2300D0 */ lw $v1, 0xd0($s1) +/* C339E4 80242504 3C014220 */ lui $at, 0x4220 +/* C339E8 80242508 44810000 */ mtc1 $at, $f0 +/* C339EC 8024250C 8C63002C */ lw $v1, 0x2c($v1) +/* C339F0 80242510 0040982D */ daddu $s3, $v0, $zero +/* C339F4 80242514 E7A00028 */ swc1 $f0, 0x28($sp) +/* C339F8 80242518 A7A0002C */ sh $zero, 0x2c($sp) +/* C339FC 8024251C 16000005 */ bnez $s0, .L80242534 +/* C33A00 80242520 AFA30024 */ sw $v1, 0x24($sp) +/* C33A04 80242524 8E2200B0 */ lw $v0, 0xb0($s1) +/* C33A08 80242528 30420004 */ andi $v0, $v0, 4 +/* C33A0C 8024252C 10400027 */ beqz $v0, .L802425CC +/* C33A10 80242530 00000000 */ nop +.L80242534: +/* C33A14 80242534 2402001E */ addiu $v0, $zero, 0x1e +/* C33A18 80242538 2404F7FF */ addiu $a0, $zero, -0x801 +/* C33A1C 8024253C AE400070 */ sw $zero, 0x70($s2) +/* C33A20 80242540 A682008E */ sh $v0, 0x8e($s4) +/* C33A24 80242544 8E2300CC */ lw $v1, 0xcc($s1) +/* C33A28 80242548 8E820000 */ lw $v0, ($s4) +/* C33A2C 8024254C 8C630028 */ lw $v1, 0x28($v1) +/* C33A30 80242550 00441024 */ and $v0, $v0, $a0 +/* C33A34 80242554 AE820000 */ sw $v0, ($s4) +/* C33A38 80242558 AE830028 */ sw $v1, 0x28($s4) +/* C33A3C 8024255C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C33A40 80242560 AE20006C */ sw $zero, 0x6c($s1) +/* C33A44 80242564 8C420034 */ lw $v0, 0x34($v0) +/* C33A48 80242568 14400006 */ bnez $v0, .L80242584 +/* C33A4C 8024256C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C33A50 80242570 8E820000 */ lw $v0, ($s4) +/* C33A54 80242574 2403FFF7 */ addiu $v1, $zero, -9 +/* C33A58 80242578 34420200 */ ori $v0, $v0, 0x200 +/* C33A5C 8024257C 08090964 */ j .L80242590 +/* C33A60 80242580 00431024 */ and $v0, $v0, $v1 +.L80242584: +/* C33A64 80242584 8E820000 */ lw $v0, ($s4) +/* C33A68 80242588 00431024 */ and $v0, $v0, $v1 +/* C33A6C 8024258C 34420008 */ ori $v0, $v0, 8 +.L80242590: +/* C33A70 80242590 AE820000 */ sw $v0, ($s4) +/* C33A74 80242594 8E2200B0 */ lw $v0, 0xb0($s1) +/* C33A78 80242598 30420004 */ andi $v0, $v0, 4 +/* C33A7C 8024259C 10400007 */ beqz $v0, .L802425BC +/* C33A80 802425A0 24020063 */ addiu $v0, $zero, 0x63 +/* C33A84 802425A4 AE420070 */ sw $v0, 0x70($s2) +/* C33A88 802425A8 24020028 */ addiu $v0, $zero, 0x28 +/* C33A8C 802425AC AE420074 */ sw $v0, 0x74($s2) +/* C33A90 802425B0 8E2200CC */ lw $v0, 0xcc($s1) +/* C33A94 802425B4 8C420000 */ lw $v0, ($v0) +/* C33A98 802425B8 AE820028 */ sw $v0, 0x28($s4) +.L802425BC: +/* C33A9C 802425BC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C33AA0 802425C0 2403FFFB */ addiu $v1, $zero, -5 +/* C33AA4 802425C4 00431024 */ and $v0, $v0, $v1 +/* C33AA8 802425C8 AE2200B0 */ sw $v0, 0xb0($s1) +.L802425CC: +/* C33AAC 802425CC 8E420070 */ lw $v0, 0x70($s2) +/* C33AB0 802425D0 2442FFF6 */ addiu $v0, $v0, -0xa +/* C33AB4 802425D4 2C420014 */ sltiu $v0, $v0, 0x14 +/* C33AB8 802425D8 10400009 */ beqz $v0, .L80242600 +/* C33ABC 802425DC 00000000 */ nop +/* C33AC0 802425E0 8E22006C */ lw $v0, 0x6c($s1) +/* C33AC4 802425E4 14400006 */ bnez $v0, .L80242600 +/* C33AC8 802425E8 00000000 */ nop +/* C33ACC 802425EC 0C090116 */ jal func_80240458 +/* C33AD0 802425F0 0240202D */ daddu $a0, $s2, $zero +/* C33AD4 802425F4 10400002 */ beqz $v0, .L80242600 +/* C33AD8 802425F8 2402001E */ addiu $v0, $zero, 0x1e +/* C33ADC 802425FC AE420070 */ sw $v0, 0x70($s2) +.L80242600: +/* C33AE0 80242600 8E430070 */ lw $v1, 0x70($s2) +/* C33AE4 80242604 2C620064 */ sltiu $v0, $v1, 0x64 +/* C33AE8 80242608 10400067 */ beqz $v0, .L802427A8 +/* C33AEC 8024260C 00031080 */ sll $v0, $v1, 2 +/* C33AF0 80242610 3C018024 */ lui $at, 0x8024 +/* C33AF4 80242614 00220821 */ addu $at, $at, $v0 +/* C33AF8 80242618 8C224EC0 */ lw $v0, 0x4ec0($at) +/* C33AFC 8024261C 00400008 */ jr $v0 +/* C33B00 80242620 00000000 */ nop +/* C33B04 80242624 0240202D */ daddu $a0, $s2, $zero +/* C33B08 80242628 0260282D */ daddu $a1, $s3, $zero +/* C33B0C 8024262C 0C09071F */ jal func_80241C7C +/* C33B10 80242630 02A0302D */ daddu $a2, $s5, $zero +/* C33B14 80242634 080909EA */ j .L802427A8 +/* C33B18 80242638 00000000 */ nop +/* C33B1C 8024263C 0240202D */ daddu $a0, $s2, $zero +/* C33B20 80242640 0260282D */ daddu $a1, $s3, $zero +/* C33B24 80242644 0C090741 */ jal func_80241D04 +/* C33B28 80242648 02A0302D */ daddu $a2, $s5, $zero +/* C33B2C 8024264C 080909EA */ j .L802427A8 +/* C33B30 80242650 00000000 */ nop +/* C33B34 80242654 0240202D */ daddu $a0, $s2, $zero +/* C33B38 80242658 0260282D */ daddu $a1, $s3, $zero +/* C33B3C 8024265C 0C0907EF */ jal func_80241FBC +/* C33B40 80242660 02A0302D */ daddu $a2, $s5, $zero +/* C33B44 80242664 080909EA */ j .L802427A8 +/* C33B48 80242668 00000000 */ nop +/* C33B4C 8024266C 0240202D */ daddu $a0, $s2, $zero +/* C33B50 80242670 0260282D */ daddu $a1, $s3, $zero +/* C33B54 80242674 0C090808 */ jal func_80242020 +/* C33B58 80242678 02A0302D */ daddu $a2, $s5, $zero +/* C33B5C 8024267C 080909EA */ j .L802427A8 +/* C33B60 80242680 00000000 */ nop +/* C33B64 80242684 0240202D */ daddu $a0, $s2, $zero +/* C33B68 80242688 0260282D */ daddu $a1, $s3, $zero +/* C33B6C 8024268C 0C090832 */ jal func_802420C8 +/* C33B70 80242690 02A0302D */ daddu $a2, $s5, $zero +/* C33B74 80242694 080909EA */ j .L802427A8 +/* C33B78 80242698 00000000 */ nop +/* C33B7C 8024269C 0240202D */ daddu $a0, $s2, $zero +/* C33B80 802426A0 0260282D */ daddu $a1, $s3, $zero +/* C33B84 802426A4 0C0127DF */ jal func_80049F7C +/* C33B88 802426A8 02A0302D */ daddu $a2, $s5, $zero +/* C33B8C 802426AC 8E430070 */ lw $v1, 0x70($s2) +/* C33B90 802426B0 2402000D */ addiu $v0, $zero, 0xd +/* C33B94 802426B4 1462003C */ bne $v1, $v0, .L802427A8 +/* C33B98 802426B8 00000000 */ nop +/* C33B9C 802426BC 0240202D */ daddu $a0, $s2, $zero +/* C33BA0 802426C0 0260282D */ daddu $a1, $s3, $zero +/* C33BA4 802426C4 0C012849 */ jal func_8004A124 +/* C33BA8 802426C8 02A0302D */ daddu $a2, $s5, $zero +/* C33BAC 802426CC 080909EA */ j .L802427A8 +/* C33BB0 802426D0 00000000 */ nop +/* C33BB4 802426D4 0240202D */ daddu $a0, $s2, $zero +/* C33BB8 802426D8 0260282D */ daddu $a1, $s3, $zero +/* C33BBC 802426DC 0C0128FA */ jal func_8004A3E8 +/* C33BC0 802426E0 02A0302D */ daddu $a2, $s5, $zero +/* C33BC4 802426E4 2402000F */ addiu $v0, $zero, 0xf +/* C33BC8 802426E8 A682008E */ sh $v0, 0x8e($s4) +/* C33BCC 802426EC 24020028 */ addiu $v0, $zero, 0x28 +/* C33BD0 802426F0 AE220088 */ sw $v0, 0x88($s1) +/* C33BD4 802426F4 24020003 */ addiu $v0, $zero, 3 +/* C33BD8 802426F8 080909EA */ j .L802427A8 +/* C33BDC 802426FC AE420070 */ sw $v0, 0x70($s2) +/* C33BE0 80242700 0C090094 */ jal func_80240250 +/* C33BE4 80242704 0240202D */ daddu $a0, $s2, $zero +/* C33BE8 80242708 8E430070 */ lw $v1, 0x70($s2) +/* C33BEC 8024270C 2402001F */ addiu $v0, $zero, 0x1f +/* C33BF0 80242710 14620025 */ bne $v1, $v0, .L802427A8 +/* C33BF4 80242714 00000000 */ nop +/* C33BF8 80242718 0C0900AF */ jal func_802402BC +/* C33BFC 8024271C 0240202D */ daddu $a0, $s2, $zero +/* C33C00 80242720 8E430070 */ lw $v1, 0x70($s2) +/* C33C04 80242724 24020020 */ addiu $v0, $zero, 0x20 +/* C33C08 80242728 1462001F */ bne $v1, $v0, .L802427A8 +/* C33C0C 8024272C 00000000 */ nop +/* C33C10 80242730 0C0900CB */ jal func_8024032C +/* C33C14 80242734 0240202D */ daddu $a0, $s2, $zero +/* C33C18 80242738 080909EA */ j .L802427A8 +/* C33C1C 8024273C 00000000 */ nop +/* C33C20 80242740 0C090101 */ jal func_80240404 +/* C33C24 80242744 0240202D */ daddu $a0, $s2, $zero +/* C33C28 80242748 080909EA */ j .L802427A8 +/* C33C2C 8024274C 00000000 */ nop +/* C33C30 80242750 0240202D */ daddu $a0, $s2, $zero +/* C33C34 80242754 0260282D */ daddu $a1, $s3, $zero +/* C33C38 80242758 0C090880 */ jal func_80242200 +/* C33C3C 8024275C 02A0302D */ daddu $a2, $s5, $zero +/* C33C40 80242760 8E430070 */ lw $v1, 0x70($s2) +/* C33C44 80242764 24020029 */ addiu $v0, $zero, 0x29 +/* C33C48 80242768 1462000F */ bne $v1, $v0, .L802427A8 +/* C33C4C 8024276C 00000000 */ nop +/* C33C50 80242770 0240202D */ daddu $a0, $s2, $zero +/* C33C54 80242774 0260282D */ daddu $a1, $s3, $zero +/* C33C58 80242778 0C0908AB */ jal func_802422AC +/* C33C5C 8024277C 02A0302D */ daddu $a2, $s5, $zero +/* C33C60 80242780 080909EA */ j .L802427A8 +/* C33C64 80242784 00000000 */ nop +/* C33C68 80242788 0240202D */ daddu $a0, $s2, $zero +/* C33C6C 8024278C 0260282D */ daddu $a1, $s3, $zero +/* C33C70 80242790 0C090909 */ jal func_80242424 +/* C33C74 80242794 02A0302D */ daddu $a2, $s5, $zero +/* C33C78 80242798 080909EA */ j .L802427A8 +/* C33C7C 8024279C 00000000 */ nop +/* C33C80 802427A0 0C0129CF */ jal func_8004A73C +/* C33C84 802427A4 0240202D */ daddu $a0, $s2, $zero +.L802427A8: +/* C33C88 802427A8 8FBF0048 */ lw $ra, 0x48($sp) +/* C33C8C 802427AC 8FB50044 */ lw $s5, 0x44($sp) +/* C33C90 802427B0 8FB40040 */ lw $s4, 0x40($sp) +/* C33C94 802427B4 8FB3003C */ lw $s3, 0x3c($sp) +/* C33C98 802427B8 8FB20038 */ lw $s2, 0x38($sp) +/* C33C9C 802427BC 8FB10034 */ lw $s1, 0x34($sp) +/* C33CA0 802427C0 8FB00030 */ lw $s0, 0x30($sp) +/* C33CA4 802427C4 0000102D */ daddu $v0, $zero, $zero +/* C33CA8 802427C8 03E00008 */ jr $ra +/* C33CAC 802427CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240000_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240000_C36530.s new file mode 100644 index 0000000000..0705462b1f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240000_C36530.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C36530 +/* C36530 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C36534 80240004 AFB3002C */ sw $s3, 0x2c($sp) +/* C36538 80240008 0080982D */ daddu $s3, $a0, $zero +/* C3653C 8024000C AFBF0030 */ sw $ra, 0x30($sp) +/* C36540 80240010 AFB20028 */ sw $s2, 0x28($sp) +/* C36544 80240014 AFB10024 */ sw $s1, 0x24($sp) +/* C36548 80240018 AFB00020 */ sw $s0, 0x20($sp) +/* C3654C 8024001C 8E710148 */ lw $s1, 0x148($s3) +/* C36550 80240020 86240008 */ lh $a0, 8($s1) +/* C36554 80240024 0C00EABB */ jal get_npc_unsafe +/* C36558 80240028 00A0902D */ daddu $s2, $a1, $zero +/* C3655C 8024002C 8E440004 */ lw $a0, 4($s2) +/* C36560 80240030 0040802D */ daddu $s0, $v0, $zero +/* C36564 80240034 00041FC2 */ srl $v1, $a0, 0x1f +/* C36568 80240038 00832021 */ addu $a0, $a0, $v1 +/* C3656C 8024003C 00042043 */ sra $a0, $a0, 1 +/* C36570 80240040 0C00A67F */ jal rand_int +/* C36574 80240044 24840001 */ addiu $a0, $a0, 1 +/* C36578 80240048 8E430004 */ lw $v1, 4($s2) +/* C3657C 8024004C 000327C2 */ srl $a0, $v1, 0x1f +/* C36580 80240050 00641821 */ addu $v1, $v1, $a0 +/* C36584 80240054 00031843 */ sra $v1, $v1, 1 +/* C36588 80240058 00621821 */ addu $v1, $v1, $v0 +/* C3658C 8024005C A603008E */ sh $v1, 0x8e($s0) +/* C36590 80240060 8E2300D0 */ lw $v1, 0xd0($s1) +/* C36594 80240064 C6000040 */ lwc1 $f0, 0x40($s0) +/* C36598 80240068 C4640000 */ lwc1 $f4, ($v1) +/* C3659C 8024006C 46802120 */ cvt.s.w $f4, $f4 +/* C365A0 80240070 C4620008 */ lwc1 $f2, 8($v1) +/* C365A4 80240074 468010A0 */ cvt.s.w $f2, $f2 +/* C365A8 80240078 E7A00010 */ swc1 $f0, 0x10($sp) +/* C365AC 8024007C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C365B0 80240080 44061000 */ mfc1 $a2, $f2 +/* C365B4 80240084 C440000C */ lwc1 $f0, 0xc($v0) +/* C365B8 80240088 46800020 */ cvt.s.w $f0, $f0 +/* C365BC 8024008C E7A00014 */ swc1 $f0, 0x14($sp) +/* C365C0 80240090 8E2200D0 */ lw $v0, 0xd0($s1) +/* C365C4 80240094 44052000 */ mfc1 $a1, $f4 +/* C365C8 80240098 C4400010 */ lwc1 $f0, 0x10($v0) +/* C365CC 8024009C 46800020 */ cvt.s.w $f0, $f0 +/* C365D0 802400A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C365D4 802400A4 8C640018 */ lw $a0, 0x18($v1) +/* C365D8 802400A8 0C0123F5 */ jal is_point_within_region +/* C365DC 802400AC 8E070038 */ lw $a3, 0x38($s0) +/* C365E0 802400B0 1040000E */ beqz $v0, .L802400EC +/* C365E4 802400B4 00000000 */ nop +/* C365E8 802400B8 8E2200D0 */ lw $v0, 0xd0($s1) +/* C365EC 802400BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C365F0 802400C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C365F4 802400C4 C4460000 */ lwc1 $f6, ($v0) +/* C365F8 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* C365FC 802400CC 44063000 */ mfc1 $a2, $f6 +/* C36600 802400D0 C4460008 */ lwc1 $f6, 8($v0) +/* C36604 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* C36608 802400D8 44073000 */ mfc1 $a3, $f6 +/* C3660C 802400DC 0C00A720 */ jal atan2 +/* C36610 802400E0 00000000 */ nop +/* C36614 802400E4 08090047 */ j .L8024011C +/* C36618 802400E8 E600000C */ swc1 $f0, 0xc($s0) +.L802400EC: +/* C3661C 802400EC 0C00A67F */ jal rand_int +/* C36620 802400F0 2404003C */ addiu $a0, $zero, 0x3c +/* C36624 802400F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* C36628 802400F8 44820000 */ mtc1 $v0, $f0 +/* C3662C 802400FC 00000000 */ nop +/* C36630 80240100 46800020 */ cvt.s.w $f0, $f0 +/* C36634 80240104 46006300 */ add.s $f12, $f12, $f0 +/* C36638 80240108 3C0141F0 */ lui $at, 0x41f0 +/* C3663C 8024010C 44810000 */ mtc1 $at, $f0 +/* C36640 80240110 0C00A6C9 */ jal clamp_angle +/* C36644 80240114 46006301 */ sub.s $f12, $f12, $f0 +/* C36648 80240118 E600000C */ swc1 $f0, 0xc($s0) +.L8024011C: +/* C3664C 8024011C 8E2200CC */ lw $v0, 0xcc($s1) +/* C36650 80240120 8C420004 */ lw $v0, 4($v0) +/* C36654 80240124 AE020028 */ sw $v0, 0x28($s0) +/* C36658 80240128 AE600074 */ sw $zero, 0x74($s3) +/* C3665C 8024012C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36660 80240130 8C420014 */ lw $v0, 0x14($v0) +/* C36664 80240134 04410004 */ bgez $v0, .L80240148 +/* C36668 80240138 00000000 */ nop +/* C3666C 8024013C C6400000 */ lwc1 $f0, ($s2) +/* C36670 80240140 0809005A */ j .L80240168 +/* C36674 80240144 E6000018 */ swc1 $f0, 0x18($s0) +.L80240148: +/* C36678 80240148 3C018024 */ lui $at, 0x8024 +/* C3667C 8024014C D42243F0 */ ldc1 $f2, 0x43f0($at) +/* C36680 80240150 44820000 */ mtc1 $v0, $f0 +/* C36684 80240154 00000000 */ nop +/* C36688 80240158 46800021 */ cvt.d.w $f0, $f0 +/* C3668C 8024015C 46220003 */ div.d $f0, $f0, $f2 +/* C36690 80240160 46200020 */ cvt.s.d $f0, $f0 +/* C36694 80240164 E6000018 */ swc1 $f0, 0x18($s0) +.L80240168: +/* C36698 80240168 C600003C */ lwc1 $f0, 0x3c($s0) +/* C3669C 8024016C 3C014059 */ lui $at, 0x4059 +/* C366A0 80240170 44811800 */ mtc1 $at, $f3 +/* C366A4 80240174 44801000 */ mtc1 $zero, $f2 +/* C366A8 80240178 46000021 */ cvt.d.s $f0, $f0 +/* C366AC 8024017C 46220002 */ mul.d $f0, $f0, $f2 +/* C366B0 80240180 00000000 */ nop +/* C366B4 80240184 24020001 */ addiu $v0, $zero, 1 +/* C366B8 80240188 4620018D */ trunc.w.d $f6, $f0 +/* C366BC 8024018C E626007C */ swc1 $f6, 0x7c($s1) +/* C366C0 80240190 AE620070 */ sw $v0, 0x70($s3) +/* C366C4 80240194 8FBF0030 */ lw $ra, 0x30($sp) +/* C366C8 80240198 8FB3002C */ lw $s3, 0x2c($sp) +/* C366CC 8024019C 8FB20028 */ lw $s2, 0x28($sp) +/* C366D0 802401A0 8FB10024 */ lw $s1, 0x24($sp) +/* C366D4 802401A4 8FB00020 */ lw $s0, 0x20($sp) +/* C366D8 802401A8 03E00008 */ jr $ra +/* C366DC 802401AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802401B0_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802401B0_C36530.s new file mode 100644 index 0000000000..47e39d70bc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802401B0_C36530.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_C366E0 +/* C366E0 802401B0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C366E4 802401B4 AFB3004C */ sw $s3, 0x4c($sp) +/* C366E8 802401B8 0080982D */ daddu $s3, $a0, $zero +/* C366EC 802401BC AFBF0058 */ sw $ra, 0x58($sp) +/* C366F0 802401C0 AFB50054 */ sw $s5, 0x54($sp) +/* C366F4 802401C4 AFB40050 */ sw $s4, 0x50($sp) +/* C366F8 802401C8 AFB20048 */ sw $s2, 0x48($sp) +/* C366FC 802401CC AFB10044 */ sw $s1, 0x44($sp) +/* C36700 802401D0 AFB00040 */ sw $s0, 0x40($sp) +/* C36704 802401D4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C36708 802401D8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C3670C 802401DC F7B60068 */ sdc1 $f22, 0x68($sp) +/* C36710 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C36714 802401E4 8E710148 */ lw $s1, 0x148($s3) +/* C36718 802401E8 00A0902D */ daddu $s2, $a1, $zero +/* C3671C 802401EC 86240008 */ lh $a0, 8($s1) +/* C36720 802401F0 0C00EABB */ jal get_npc_unsafe +/* C36724 802401F4 00C0A82D */ daddu $s5, $a2, $zero +/* C36728 802401F8 0040802D */ daddu $s0, $v0, $zero +/* C3672C 802401FC 0000A02D */ daddu $s4, $zero, $zero +/* C36730 80240200 C624007C */ lwc1 $f4, 0x7c($s1) +/* C36734 80240204 46802120 */ cvt.s.w $f4, $f4 +/* C36738 80240208 C6220088 */ lwc1 $f2, 0x88($s1) +/* C3673C 8024020C 468010A0 */ cvt.s.w $f2, $f2 +/* C36740 80240210 460010A1 */ cvt.d.s $f2, $f2 +/* C36744 80240214 46002121 */ cvt.d.s $f4, $f4 +/* C36748 80240218 C600003C */ lwc1 $f0, 0x3c($s0) +/* C3674C 8024021C 3C014059 */ lui $at, 0x4059 +/* C36750 80240220 44813800 */ mtc1 $at, $f7 +/* C36754 80240224 44803000 */ mtc1 $zero, $f6 +/* C36758 80240228 46000021 */ cvt.d.s $f0, $f0 +/* C3675C 8024022C 46260002 */ mul.d $f0, $f0, $f6 +/* C36760 80240230 00000000 */ nop +/* C36764 80240234 24020001 */ addiu $v0, $zero, 1 +/* C36768 80240238 8E24006C */ lw $a0, 0x6c($s1) +/* C3676C 8024023C 46261083 */ div.d $f2, $f2, $f6 +/* C36770 80240240 462010A0 */ cvt.s.d $f2, $f2 +/* C36774 80240244 46262103 */ div.d $f4, $f4, $f6 +/* C36778 80240248 46202520 */ cvt.s.d $f20, $f4 +/* C3677C 8024024C 30830011 */ andi $v1, $a0, 0x11 +/* C36780 80240250 4620020D */ trunc.w.d $f8, $f0 +/* C36784 80240254 E628007C */ swc1 $f8, 0x7c($s1) +/* C36788 80240258 C6200078 */ lwc1 $f0, 0x78($s1) +/* C3678C 8024025C 46800020 */ cvt.s.w $f0, $f0 +/* C36790 80240260 46000021 */ cvt.d.s $f0, $f0 +/* C36794 80240264 46260003 */ div.d $f0, $f0, $f6 +/* C36798 80240268 462006A0 */ cvt.s.d $f26, $f0 +/* C3679C 8024026C C6200070 */ lwc1 $f0, 0x70($s1) +/* C367A0 80240270 46800020 */ cvt.s.w $f0, $f0 +/* C367A4 80240274 46000021 */ cvt.d.s $f0, $f0 +/* C367A8 80240278 46260003 */ div.d $f0, $f0, $f6 +/* C367AC 8024027C 462005A0 */ cvt.s.d $f22, $f0 +/* C367B0 80240280 14620025 */ bne $v1, $v0, .L80240318 +/* C367B4 80240284 4602D600 */ add.s $f24, $f26, $f2 +/* C367B8 80240288 8E020000 */ lw $v0, ($s0) +/* C367BC 8024028C 30420008 */ andi $v0, $v0, 8 +/* C367C0 80240290 10400009 */ beqz $v0, .L802402B8 +/* C367C4 80240294 27A50028 */ addiu $a1, $sp, 0x28 +/* C367C8 80240298 C600003C */ lwc1 $f0, 0x3c($s0) +/* C367CC 8024029C 4600C001 */ sub.s $f0, $f24, $f0 +/* C367D0 802402A0 4600B03C */ c.lt.s $f22, $f0 +/* C367D4 802402A4 00000000 */ nop +/* C367D8 802402A8 4500001B */ bc1f .L80240318 +/* C367DC 802402AC 34820010 */ ori $v0, $a0, 0x10 +/* C367E0 802402B0 080900C6 */ j .L80240318 +/* C367E4 802402B4 AE22006C */ sw $v0, 0x6c($s1) +.L802402B8: +/* C367E8 802402B8 27A6002C */ addiu $a2, $sp, 0x2c +/* C367EC 802402BC C6000038 */ lwc1 $f0, 0x38($s0) +/* C367F0 802402C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C367F4 802402C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C367F8 802402C8 3C01447A */ lui $at, 0x447a +/* C367FC 802402CC 44813000 */ mtc1 $at, $f6 +/* C36800 802402D0 27A20034 */ addiu $v0, $sp, 0x34 +/* C36804 802402D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C36808 802402D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C3680C 802402DC E7A40030 */ swc1 $f4, 0x30($sp) +/* C36810 802402E0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C36814 802402E4 AFA20010 */ sw $v0, 0x10($sp) +/* C36818 802402E8 8E040080 */ lw $a0, 0x80($s0) +/* C3681C 802402EC 0C0372DF */ jal func_800DCB7C +/* C36820 802402F0 27A70030 */ addiu $a3, $sp, 0x30 +/* C36824 802402F4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C36828 802402F8 4600D001 */ sub.s $f0, $f26, $f0 +/* C3682C 802402FC 4600B03C */ c.lt.s $f22, $f0 +/* C36830 80240300 00000000 */ nop +/* C36834 80240304 45000004 */ bc1f .L80240318 +/* C36838 80240308 00000000 */ nop +/* C3683C 8024030C 8E22006C */ lw $v0, 0x6c($s1) +/* C36840 80240310 34420010 */ ori $v0, $v0, 0x10 +/* C36844 80240314 AE22006C */ sw $v0, 0x6c($s1) +.L80240318: +/* C36848 80240318 8E22006C */ lw $v0, 0x6c($s1) +/* C3684C 8024031C 24030011 */ addiu $v1, $zero, 0x11 +/* C36850 80240320 30420011 */ andi $v0, $v0, 0x11 +/* C36854 80240324 14430039 */ bne $v0, $v1, .L8024040C +/* C36858 80240328 00000000 */ nop +/* C3685C 8024032C 8E020000 */ lw $v0, ($s0) +/* C36860 80240330 30420008 */ andi $v0, $v0, 8 +/* C36864 80240334 1040000A */ beqz $v0, .L80240360 +/* C36868 80240338 4600C106 */ mov.s $f4, $f24 +/* C3686C 8024033C 4614C081 */ sub.s $f2, $f24, $f20 +/* C36870 80240340 3C018024 */ lui $at, 0x8024 +/* C36874 80240344 D42043F8 */ ldc1 $f0, 0x43f8($at) +/* C36878 80240348 460010A1 */ cvt.d.s $f2, $f2 +/* C3687C 8024034C 46201082 */ mul.d $f2, $f2, $f0 +/* C36880 80240350 00000000 */ nop +/* C36884 80240354 4600A021 */ cvt.d.s $f0, $f20 +/* C36888 80240358 080900F1 */ j .L802403C4 +/* C3688C 8024035C 46220000 */ add.d $f0, $f0, $f2 +.L80240360: +/* C36890 80240360 27A50028 */ addiu $a1, $sp, 0x28 +/* C36894 80240364 27A6002C */ addiu $a2, $sp, 0x2c +/* C36898 80240368 C6000038 */ lwc1 $f0, 0x38($s0) +/* C3689C 8024036C C6020040 */ lwc1 $f2, 0x40($s0) +/* C368A0 80240370 3C01447A */ lui $at, 0x447a +/* C368A4 80240374 44812000 */ mtc1 $at, $f4 +/* C368A8 80240378 27A20034 */ addiu $v0, $sp, 0x34 +/* C368AC 8024037C E7B4002C */ swc1 $f20, 0x2c($sp) +/* C368B0 80240380 E7A00028 */ swc1 $f0, 0x28($sp) +/* C368B4 80240384 E7A20030 */ swc1 $f2, 0x30($sp) +/* C368B8 80240388 E7A40034 */ swc1 $f4, 0x34($sp) +/* C368BC 8024038C AFA20010 */ sw $v0, 0x10($sp) +/* C368C0 80240390 8E040080 */ lw $a0, 0x80($s0) +/* C368C4 80240394 0C0372DF */ jal func_800DCB7C +/* C368C8 80240398 27A70030 */ addiu $a3, $sp, 0x30 +/* C368CC 8024039C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C368D0 802403A0 461A2100 */ add.s $f4, $f4, $f26 +/* C368D4 802403A4 46142081 */ sub.s $f2, $f4, $f20 +/* C368D8 802403A8 3C018024 */ lui $at, 0x8024 +/* C368DC 802403AC D4204400 */ ldc1 $f0, 0x4400($at) +/* C368E0 802403B0 460010A1 */ cvt.d.s $f2, $f2 +/* C368E4 802403B4 46201082 */ mul.d $f2, $f2, $f0 +/* C368E8 802403B8 00000000 */ nop +/* C368EC 802403BC 4600A021 */ cvt.d.s $f0, $f20 +/* C368F0 802403C0 46220000 */ add.d $f0, $f0, $f2 +.L802403C4: +/* C368F4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* C368F8 802403C8 E600003C */ swc1 $f0, 0x3c($s0) +/* C368FC 802403CC C600003C */ lwc1 $f0, 0x3c($s0) +/* C36900 802403D0 46002001 */ sub.s $f0, $f4, $f0 +/* C36904 802403D4 3C013FF0 */ lui $at, 0x3ff0 +/* C36908 802403D8 44811800 */ mtc1 $at, $f3 +/* C3690C 802403DC 44801000 */ mtc1 $zero, $f2 +/* C36910 802403E0 46000005 */ abs.s $f0, $f0 +/* C36914 802403E4 46000021 */ cvt.d.s $f0, $f0 +/* C36918 802403E8 4622003C */ c.lt.d $f0, $f2 +/* C3691C 802403EC 00000000 */ nop +/* C36920 802403F0 45000036 */ bc1f .L802404CC +/* C36924 802403F4 2403FFEF */ addiu $v1, $zero, -0x11 +/* C36928 802403F8 E604003C */ swc1 $f4, 0x3c($s0) +/* C3692C 802403FC 8E22006C */ lw $v0, 0x6c($s1) +/* C36930 80240400 00431024 */ and $v0, $v0, $v1 +/* C36934 80240404 08090133 */ j .L802404CC +/* C36938 80240408 AE22006C */ sw $v0, 0x6c($s1) +.L8024040C: +/* C3693C 8024040C 8E220070 */ lw $v0, 0x70($s1) +/* C36940 80240410 1840002E */ blez $v0, .L802404CC +/* C36944 80240414 00000000 */ nop +/* C36948 80240418 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C3694C 8024041C 0C00A8BB */ jal sin_deg +/* C36950 80240420 46806320 */ cvt.s.w $f12, $f12 +/* C36954 80240424 8E020000 */ lw $v0, ($s0) +/* C36958 80240428 30420008 */ andi $v0, $v0, 8 +/* C3695C 8024042C 10400003 */ beqz $v0, .L8024043C +/* C36960 80240430 46000506 */ mov.s $f20, $f0 +/* C36964 80240434 0809011F */ j .L8024047C +/* C36968 80240438 0000102D */ daddu $v0, $zero, $zero +.L8024043C: +/* C3696C 8024043C 27A50028 */ addiu $a1, $sp, 0x28 +/* C36970 80240440 27A6002C */ addiu $a2, $sp, 0x2c +/* C36974 80240444 C6000038 */ lwc1 $f0, 0x38($s0) +/* C36978 80240448 C602003C */ lwc1 $f2, 0x3c($s0) +/* C3697C 8024044C C6040040 */ lwc1 $f4, 0x40($s0) +/* C36980 80240450 3C01447A */ lui $at, 0x447a +/* C36984 80240454 44813000 */ mtc1 $at, $f6 +/* C36988 80240458 27A20034 */ addiu $v0, $sp, 0x34 +/* C3698C 8024045C E7A00028 */ swc1 $f0, 0x28($sp) +/* C36990 80240460 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C36994 80240464 E7A40030 */ swc1 $f4, 0x30($sp) +/* C36998 80240468 E7A60034 */ swc1 $f6, 0x34($sp) +/* C3699C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* C369A0 80240470 8E040080 */ lw $a0, 0x80($s0) +/* C369A4 80240474 0C0372DF */ jal func_800DCB7C +/* C369A8 80240478 27A70030 */ addiu $a3, $sp, 0x30 +.L8024047C: +/* C369AC 8024047C 10400007 */ beqz $v0, .L8024049C +/* C369B0 80240480 00000000 */ nop +/* C369B4 80240484 4616A082 */ mul.s $f2, $f20, $f22 +/* C369B8 80240488 00000000 */ nop +/* C369BC 8024048C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C369C0 80240490 461A0000 */ add.s $f0, $f0, $f26 +/* C369C4 80240494 0809012A */ j .L802404A8 +/* C369C8 80240498 46020000 */ add.s $f0, $f0, $f2 +.L8024049C: +/* C369CC 8024049C 4616A002 */ mul.s $f0, $f20, $f22 +/* C369D0 802404A0 00000000 */ nop +/* C369D4 802404A4 4600C000 */ add.s $f0, $f24, $f0 +.L802404A8: +/* C369D8 802404A8 E600003C */ swc1 $f0, 0x3c($s0) +/* C369DC 802404AC 8E220074 */ lw $v0, 0x74($s1) +/* C369E0 802404B0 2442000A */ addiu $v0, $v0, 0xa +/* C369E4 802404B4 44826000 */ mtc1 $v0, $f12 +/* C369E8 802404B8 00000000 */ nop +/* C369EC 802404BC 0C00A6C9 */ jal clamp_angle +/* C369F0 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* C369F4 802404C4 4600020D */ trunc.w.s $f8, $f0 +/* C369F8 802404C8 E6280074 */ swc1 $f8, 0x74($s1) +.L802404CC: +/* C369FC 802404CC 8E220090 */ lw $v0, 0x90($s1) +/* C36A00 802404D0 1C40004A */ bgtz $v0, .L802405FC +/* C36A04 802404D4 2442FFFF */ addiu $v0, $v0, -1 +/* C36A08 802404D8 8E430014 */ lw $v1, 0x14($s2) +/* C36A0C 802404DC 04600048 */ bltz $v1, .L80240600 +/* C36A10 802404E0 00000000 */ nop +/* C36A14 802404E4 8E620074 */ lw $v0, 0x74($s3) +/* C36A18 802404E8 1C400042 */ bgtz $v0, .L802405F4 +/* C36A1C 802404EC 2442FFFF */ addiu $v0, $v0, -1 +/* C36A20 802404F0 AE630074 */ sw $v1, 0x74($s3) +/* C36A24 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* C36A28 802404F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C36A2C 802404FC 44820000 */ mtc1 $v0, $f0 +/* C36A30 80240500 00000000 */ nop +/* C36A34 80240504 46800020 */ cvt.s.w $f0, $f0 +/* C36A38 80240508 46001080 */ add.s $f2, $f2, $f0 +/* C36A3C 8024050C 3C014024 */ lui $at, 0x4024 +/* C36A40 80240510 44810800 */ mtc1 $at, $f1 +/* C36A44 80240514 44800000 */ mtc1 $zero, $f0 +/* C36A48 80240518 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C36A4C 8024051C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C36A50 80240520 460010A1 */ cvt.d.s $f2, $f2 +/* C36A54 80240524 46201080 */ add.d $f2, $f2, $f0 +/* C36A58 80240528 C440002C */ lwc1 $f0, 0x2c($v0) +/* C36A5C 8024052C 46000021 */ cvt.d.s $f0, $f0 +/* C36A60 80240530 4622003C */ c.lt.d $f0, $f2 +/* C36A64 80240534 00000000 */ nop +/* C36A68 80240538 4500002C */ bc1f .L802405EC +/* C36A6C 8024053C 02A0202D */ daddu $a0, $s5, $zero +/* C36A70 80240540 AFA00010 */ sw $zero, 0x10($sp) +/* C36A74 80240544 8E46000C */ lw $a2, 0xc($s2) +/* C36A78 80240548 8E470010 */ lw $a3, 0x10($s2) +/* C36A7C 8024054C 0C01242D */ jal func_800490B4 +/* C36A80 80240550 0220282D */ daddu $a1, $s1, $zero +/* C36A84 80240554 10400025 */ beqz $v0, .L802405EC +/* C36A88 80240558 0000202D */ daddu $a0, $zero, $zero +/* C36A8C 8024055C 0200282D */ daddu $a1, $s0, $zero +/* C36A90 80240560 0000302D */ daddu $a2, $zero, $zero +/* C36A94 80240564 2412000C */ addiu $s2, $zero, 0xc +/* C36A98 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* C36A9C 8024056C 3C013F80 */ lui $at, 0x3f80 +/* C36AA0 80240570 44810000 */ mtc1 $at, $f0 +/* C36AA4 80240574 3C014000 */ lui $at, 0x4000 +/* C36AA8 80240578 44811000 */ mtc1 $at, $f2 +/* C36AAC 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* C36AB0 80240580 44812000 */ mtc1 $at, $f4 +/* C36AB4 80240584 44834000 */ mtc1 $v1, $f8 +/* C36AB8 80240588 00000000 */ nop +/* C36ABC 8024058C 46804220 */ cvt.s.w $f8, $f8 +/* C36AC0 80240590 44074000 */ mfc1 $a3, $f8 +/* C36AC4 80240594 27A20038 */ addiu $v0, $sp, 0x38 +/* C36AC8 80240598 AFB2001C */ sw $s2, 0x1c($sp) +/* C36ACC 8024059C AFA20020 */ sw $v0, 0x20($sp) +/* C36AD0 802405A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C36AD4 802405A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C36AD8 802405A8 0C01BFA4 */ jal fx_emote +/* C36ADC 802405AC E7A40018 */ swc1 $f4, 0x18($sp) +/* C36AE0 802405B0 0200202D */ daddu $a0, $s0, $zero +/* C36AE4 802405B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C36AE8 802405B8 C480003C */ lwc1 $f0, 0x3c($a0) +/* C36AEC 802405BC 3C060020 */ lui $a2, 0x20 +/* C36AF0 802405C0 0C012530 */ jal func_800494C0 +/* C36AF4 802405C4 E4800064 */ swc1 $f0, 0x64($a0) +/* C36AF8 802405C8 8E220018 */ lw $v0, 0x18($s1) +/* C36AFC 802405CC 9442002A */ lhu $v0, 0x2a($v0) +/* C36B00 802405D0 30420001 */ andi $v0, $v0, 1 +/* C36B04 802405D4 10400003 */ beqz $v0, .L802405E4 +/* C36B08 802405D8 2402000A */ addiu $v0, $zero, 0xa +/* C36B0C 802405DC 080901E9 */ j .L802407A4 +/* C36B10 802405E0 AE620070 */ sw $v0, 0x70($s3) +.L802405E4: +/* C36B14 802405E4 080901E9 */ j .L802407A4 +/* C36B18 802405E8 AE720070 */ sw $s2, 0x70($s3) +.L802405EC: +/* C36B1C 802405EC 8E620074 */ lw $v0, 0x74($s3) +/* C36B20 802405F0 2442FFFF */ addiu $v0, $v0, -1 +.L802405F4: +/* C36B24 802405F4 08090180 */ j .L80240600 +/* C36B28 802405F8 AE620074 */ sw $v0, 0x74($s3) +.L802405FC: +/* C36B2C 802405FC AE220090 */ sw $v0, 0x90($s1) +.L80240600: +/* C36B30 80240600 8E2300D0 */ lw $v1, 0xd0($s1) +/* C36B34 80240604 C6000040 */ lwc1 $f0, 0x40($s0) +/* C36B38 80240608 C4620000 */ lwc1 $f2, ($v1) +/* C36B3C 8024060C 468010A0 */ cvt.s.w $f2, $f2 +/* C36B40 80240610 C4640008 */ lwc1 $f4, 8($v1) +/* C36B44 80240614 46802120 */ cvt.s.w $f4, $f4 +/* C36B48 80240618 E7A00010 */ swc1 $f0, 0x10($sp) +/* C36B4C 8024061C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36B50 80240620 44051000 */ mfc1 $a1, $f2 +/* C36B54 80240624 C440000C */ lwc1 $f0, 0xc($v0) +/* C36B58 80240628 46800020 */ cvt.s.w $f0, $f0 +/* C36B5C 8024062C E7A00014 */ swc1 $f0, 0x14($sp) +/* C36B60 80240630 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36B64 80240634 44062000 */ mfc1 $a2, $f4 +/* C36B68 80240638 C4400010 */ lwc1 $f0, 0x10($v0) +/* C36B6C 8024063C 46800020 */ cvt.s.w $f0, $f0 +/* C36B70 80240640 E7A00018 */ swc1 $f0, 0x18($sp) +/* C36B74 80240644 8C640018 */ lw $a0, 0x18($v1) +/* C36B78 80240648 0C0123F5 */ jal is_point_within_region +/* C36B7C 8024064C 8E070038 */ lw $a3, 0x38($s0) +/* C36B80 80240650 1040001A */ beqz $v0, .L802406BC +/* C36B84 80240654 00000000 */ nop +/* C36B88 80240658 8E060038 */ lw $a2, 0x38($s0) +/* C36B8C 8024065C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36B90 80240660 8E070040 */ lw $a3, 0x40($s0) +/* C36B94 80240664 C44C0000 */ lwc1 $f12, ($v0) +/* C36B98 80240668 46806320 */ cvt.s.w $f12, $f12 +/* C36B9C 8024066C C44E0008 */ lwc1 $f14, 8($v0) +/* C36BA0 80240670 0C00A7B5 */ jal dist2D +/* C36BA4 80240674 468073A0 */ cvt.s.w $f14, $f14 +/* C36BA8 80240678 C6020018 */ lwc1 $f2, 0x18($s0) +/* C36BAC 8024067C 4600103C */ c.lt.s $f2, $f0 +/* C36BB0 80240680 00000000 */ nop +/* C36BB4 80240684 4500000D */ bc1f .L802406BC +/* C36BB8 80240688 E7A00034 */ swc1 $f0, 0x34($sp) +/* C36BBC 8024068C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C36BC0 80240690 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36BC4 80240694 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C36BC8 80240698 C4480000 */ lwc1 $f8, ($v0) +/* C36BCC 8024069C 46804220 */ cvt.s.w $f8, $f8 +/* C36BD0 802406A0 44064000 */ mfc1 $a2, $f8 +/* C36BD4 802406A4 C4480008 */ lwc1 $f8, 8($v0) +/* C36BD8 802406A8 46804220 */ cvt.s.w $f8, $f8 +/* C36BDC 802406AC 44074000 */ mfc1 $a3, $f8 +/* C36BE0 802406B0 0C00A720 */ jal atan2 +/* C36BE4 802406B4 24140001 */ addiu $s4, $zero, 1 +/* C36BE8 802406B8 E600000C */ swc1 $f0, 0xc($s0) +.L802406BC: +/* C36BEC 802406BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C36BF0 802406C0 8C43000C */ lw $v1, 0xc($v0) +/* C36BF4 802406C4 8C420010 */ lw $v0, 0x10($v0) +/* C36BF8 802406C8 00621825 */ or $v1, $v1, $v0 +/* C36BFC 802406CC 00741825 */ or $v1, $v1, $s4 +/* C36C00 802406D0 10600008 */ beqz $v1, .L802406F4 +/* C36C04 802406D4 00000000 */ nop +/* C36C08 802406D8 8602008C */ lh $v0, 0x8c($s0) +/* C36C0C 802406DC 14400031 */ bnez $v0, .L802407A4 +/* C36C10 802406E0 00000000 */ nop +/* C36C14 802406E4 8E050018 */ lw $a1, 0x18($s0) +/* C36C18 802406E8 8E06000C */ lw $a2, 0xc($s0) +/* C36C1C 802406EC 0C00EA95 */ jal npc_move_heading +/* C36C20 802406F0 0200202D */ daddu $a0, $s0, $zero +.L802406F4: +/* C36C24 802406F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* C36C28 802406F8 3C014059 */ lui $at, 0x4059 +/* C36C2C 802406FC 44811800 */ mtc1 $at, $f3 +/* C36C30 80240700 44801000 */ mtc1 $zero, $f2 +/* C36C34 80240704 46000021 */ cvt.d.s $f0, $f0 +/* C36C38 80240708 46220002 */ mul.d $f0, $f0, $f2 +/* C36C3C 8024070C 00000000 */ nop +/* C36C40 80240710 4620020D */ trunc.w.d $f8, $f0 +/* C36C44 80240714 E628007C */ swc1 $f8, 0x7c($s1) +/* C36C48 80240718 8E420004 */ lw $v0, 4($s2) +/* C36C4C 8024071C 18400021 */ blez $v0, .L802407A4 +/* C36C50 80240720 00000000 */ nop +/* C36C54 80240724 8602008E */ lh $v0, 0x8e($s0) +/* C36C58 80240728 9603008E */ lhu $v1, 0x8e($s0) +/* C36C5C 8024072C 18400005 */ blez $v0, .L80240744 +/* C36C60 80240730 2462FFFF */ addiu $v0, $v1, -1 +/* C36C64 80240734 A602008E */ sh $v0, 0x8e($s0) +/* C36C68 80240738 00021400 */ sll $v0, $v0, 0x10 +/* C36C6C 8024073C 1C400019 */ bgtz $v0, .L802407A4 +/* C36C70 80240740 00000000 */ nop +.L80240744: +/* C36C74 80240744 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C36C78 80240748 24020002 */ addiu $v0, $zero, 2 +/* C36C7C 8024074C 0C00A67F */ jal rand_int +/* C36C80 80240750 AE620070 */ sw $v0, 0x70($s3) +/* C36C84 80240754 3C035555 */ lui $v1, 0x5555 +/* C36C88 80240758 34635556 */ ori $v1, $v1, 0x5556 +/* C36C8C 8024075C 00430018 */ mult $v0, $v1 +/* C36C90 80240760 000227C3 */ sra $a0, $v0, 0x1f +/* C36C94 80240764 00004010 */ mfhi $t0 +/* C36C98 80240768 01042023 */ subu $a0, $t0, $a0 +/* C36C9C 8024076C 00041840 */ sll $v1, $a0, 1 +/* C36CA0 80240770 00641821 */ addu $v1, $v1, $a0 +/* C36CA4 80240774 00431023 */ subu $v0, $v0, $v1 +/* C36CA8 80240778 24430002 */ addiu $v1, $v0, 2 +/* C36CAC 8024077C AE630074 */ sw $v1, 0x74($s3) +/* C36CB0 80240780 8E42002C */ lw $v0, 0x2c($s2) +/* C36CB4 80240784 58400007 */ blezl $v0, .L802407A4 +/* C36CB8 80240788 AE600070 */ sw $zero, 0x70($s3) +/* C36CBC 8024078C 8E420008 */ lw $v0, 8($s2) +/* C36CC0 80240790 18400003 */ blez $v0, .L802407A0 +/* C36CC4 80240794 28620003 */ slti $v0, $v1, 3 +/* C36CC8 80240798 10400002 */ beqz $v0, .L802407A4 +/* C36CCC 8024079C 00000000 */ nop +.L802407A0: +/* C36CD0 802407A0 AE600070 */ sw $zero, 0x70($s3) +.L802407A4: +/* C36CD4 802407A4 8FBF0058 */ lw $ra, 0x58($sp) +/* C36CD8 802407A8 8FB50054 */ lw $s5, 0x54($sp) +/* C36CDC 802407AC 8FB40050 */ lw $s4, 0x50($sp) +/* C36CE0 802407B0 8FB3004C */ lw $s3, 0x4c($sp) +/* C36CE4 802407B4 8FB20048 */ lw $s2, 0x48($sp) +/* C36CE8 802407B8 8FB10044 */ lw $s1, 0x44($sp) +/* C36CEC 802407BC 8FB00040 */ lw $s0, 0x40($sp) +/* C36CF0 802407C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C36CF4 802407C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C36CF8 802407C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C36CFC 802407CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* C36D00 802407D0 03E00008 */ jr $ra +/* C36D04 802407D4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802407D8_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802407D8_C36530.s new file mode 100644 index 0000000000..61886d78b9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802407D8_C36530.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D8_C36D08 +/* C36D08 802407D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C36D0C 802407DC AFB3001C */ sw $s3, 0x1c($sp) +/* C36D10 802407E0 0080982D */ daddu $s3, $a0, $zero +/* C36D14 802407E4 AFBF0020 */ sw $ra, 0x20($sp) +/* C36D18 802407E8 AFB20018 */ sw $s2, 0x18($sp) +/* C36D1C 802407EC AFB10014 */ sw $s1, 0x14($sp) +/* C36D20 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* C36D24 802407F4 8E720148 */ lw $s2, 0x148($s3) +/* C36D28 802407F8 86440008 */ lh $a0, 8($s2) +/* C36D2C 802407FC 0C00EABB */ jal get_npc_unsafe +/* C36D30 80240800 00A0882D */ daddu $s1, $a1, $zero +/* C36D34 80240804 8E240008 */ lw $a0, 8($s1) +/* C36D38 80240808 0040802D */ daddu $s0, $v0, $zero +/* C36D3C 8024080C 00041FC2 */ srl $v1, $a0, 0x1f +/* C36D40 80240810 00832021 */ addu $a0, $a0, $v1 +/* C36D44 80240814 00042043 */ sra $a0, $a0, 1 +/* C36D48 80240818 0C00A67F */ jal rand_int +/* C36D4C 8024081C 24840001 */ addiu $a0, $a0, 1 +/* C36D50 80240820 8E230008 */ lw $v1, 8($s1) +/* C36D54 80240824 240400B4 */ addiu $a0, $zero, 0xb4 +/* C36D58 80240828 00032FC2 */ srl $a1, $v1, 0x1f +/* C36D5C 8024082C 00651821 */ addu $v1, $v1, $a1 +/* C36D60 80240830 00031843 */ sra $v1, $v1, 1 +/* C36D64 80240834 00621821 */ addu $v1, $v1, $v0 +/* C36D68 80240838 0C00A67F */ jal rand_int +/* C36D6C 8024083C A603008E */ sh $v1, 0x8e($s0) +/* C36D70 80240840 C60C000C */ lwc1 $f12, 0xc($s0) +/* C36D74 80240844 44820000 */ mtc1 $v0, $f0 +/* C36D78 80240848 00000000 */ nop +/* C36D7C 8024084C 46800020 */ cvt.s.w $f0, $f0 +/* C36D80 80240850 46006300 */ add.s $f12, $f12, $f0 +/* C36D84 80240854 3C0142B4 */ lui $at, 0x42b4 +/* C36D88 80240858 44810000 */ mtc1 $at, $f0 +/* C36D8C 8024085C 0C00A6C9 */ jal clamp_angle +/* C36D90 80240860 46006301 */ sub.s $f12, $f12, $f0 +/* C36D94 80240864 E600000C */ swc1 $f0, 0xc($s0) +/* C36D98 80240868 8E4200CC */ lw $v0, 0xcc($s2) +/* C36D9C 8024086C 8C420000 */ lw $v0, ($v0) +/* C36DA0 80240870 AE020028 */ sw $v0, 0x28($s0) +/* C36DA4 80240874 24020003 */ addiu $v0, $zero, 3 +/* C36DA8 80240878 AE620070 */ sw $v0, 0x70($s3) +/* C36DAC 8024087C 8FBF0020 */ lw $ra, 0x20($sp) +/* C36DB0 80240880 8FB3001C */ lw $s3, 0x1c($sp) +/* C36DB4 80240884 8FB20018 */ lw $s2, 0x18($sp) +/* C36DB8 80240888 8FB10014 */ lw $s1, 0x14($sp) +/* C36DBC 8024088C 8FB00010 */ lw $s0, 0x10($sp) +/* C36DC0 80240890 03E00008 */ jr $ra +/* C36DC4 80240894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240898_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240898_C36530.s new file mode 100644 index 0000000000..b9b66e4006 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240898_C36530.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898_C36DC8 +/* C36DC8 80240898 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C36DCC 8024089C AFB3004C */ sw $s3, 0x4c($sp) +/* C36DD0 802408A0 0080982D */ daddu $s3, $a0, $zero +/* C36DD4 802408A4 AFBF0054 */ sw $ra, 0x54($sp) +/* C36DD8 802408A8 AFB40050 */ sw $s4, 0x50($sp) +/* C36DDC 802408AC AFB20048 */ sw $s2, 0x48($sp) +/* C36DE0 802408B0 AFB10044 */ sw $s1, 0x44($sp) +/* C36DE4 802408B4 AFB00040 */ sw $s0, 0x40($sp) +/* C36DE8 802408B8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C36DEC 802408BC F7B80068 */ sdc1 $f24, 0x68($sp) +/* C36DF0 802408C0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C36DF4 802408C4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C36DF8 802408C8 8E710148 */ lw $s1, 0x148($s3) +/* C36DFC 802408CC 00A0902D */ daddu $s2, $a1, $zero +/* C36E00 802408D0 86240008 */ lh $a0, 8($s1) +/* C36E04 802408D4 0C00EABB */ jal get_npc_unsafe +/* C36E08 802408D8 00C0A02D */ daddu $s4, $a2, $zero +/* C36E0C 802408DC 0040802D */ daddu $s0, $v0, $zero +/* C36E10 802408E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* C36E14 802408E4 46800020 */ cvt.s.w $f0, $f0 +/* C36E18 802408E8 46000021 */ cvt.d.s $f0, $f0 +/* C36E1C 802408EC 3C014059 */ lui $at, 0x4059 +/* C36E20 802408F0 44811800 */ mtc1 $at, $f3 +/* C36E24 802408F4 44801000 */ mtc1 $zero, $f2 +/* C36E28 802408F8 8602008E */ lh $v0, 0x8e($s0) +/* C36E2C 802408FC 9603008E */ lhu $v1, 0x8e($s0) +/* C36E30 80240900 46220003 */ div.d $f0, $f0, $f2 +/* C36E34 80240904 46200620 */ cvt.s.d $f24, $f0 +/* C36E38 80240908 C6200088 */ lwc1 $f0, 0x88($s1) +/* C36E3C 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* C36E40 80240910 46000021 */ cvt.d.s $f0, $f0 +/* C36E44 80240914 46220003 */ div.d $f0, $f0, $f2 +/* C36E48 80240918 46200020 */ cvt.s.d $f0, $f0 +/* C36E4C 8024091C 18400003 */ blez $v0, .L8024092C +/* C36E50 80240920 4600C680 */ add.s $f26, $f24, $f0 +/* C36E54 80240924 2462FFFF */ addiu $v0, $v1, -1 +/* C36E58 80240928 A602008E */ sh $v0, 0x8e($s0) +.L8024092C: +/* C36E5C 8024092C 8E220070 */ lw $v0, 0x70($s1) +/* C36E60 80240930 18400034 */ blez $v0, .L80240A04 +/* C36E64 80240934 00000000 */ nop +/* C36E68 80240938 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C36E6C 8024093C 46806320 */ cvt.s.w $f12, $f12 +/* C36E70 80240940 44820000 */ mtc1 $v0, $f0 +/* C36E74 80240944 00000000 */ nop +/* C36E78 80240948 46800020 */ cvt.s.w $f0, $f0 +/* C36E7C 8024094C 46000021 */ cvt.d.s $f0, $f0 +/* C36E80 80240950 46220003 */ div.d $f0, $f0, $f2 +/* C36E84 80240954 0C00A8BB */ jal sin_deg +/* C36E88 80240958 462005A0 */ cvt.s.d $f22, $f0 +/* C36E8C 8024095C 8E020000 */ lw $v0, ($s0) +/* C36E90 80240960 30420008 */ andi $v0, $v0, 8 +/* C36E94 80240964 10400003 */ beqz $v0, .L80240974 +/* C36E98 80240968 46000506 */ mov.s $f20, $f0 +/* C36E9C 8024096C 0809026D */ j .L802409B4 +/* C36EA0 80240970 0000102D */ daddu $v0, $zero, $zero +.L80240974: +/* C36EA4 80240974 27A50028 */ addiu $a1, $sp, 0x28 +/* C36EA8 80240978 27A6002C */ addiu $a2, $sp, 0x2c +/* C36EAC 8024097C C6000038 */ lwc1 $f0, 0x38($s0) +/* C36EB0 80240980 C602003C */ lwc1 $f2, 0x3c($s0) +/* C36EB4 80240984 C6040040 */ lwc1 $f4, 0x40($s0) +/* C36EB8 80240988 3C01447A */ lui $at, 0x447a +/* C36EBC 8024098C 44813000 */ mtc1 $at, $f6 +/* C36EC0 80240990 27A20034 */ addiu $v0, $sp, 0x34 +/* C36EC4 80240994 E7A00028 */ swc1 $f0, 0x28($sp) +/* C36EC8 80240998 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C36ECC 8024099C E7A40030 */ swc1 $f4, 0x30($sp) +/* C36ED0 802409A0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C36ED4 802409A4 AFA20010 */ sw $v0, 0x10($sp) +/* C36ED8 802409A8 8E040080 */ lw $a0, 0x80($s0) +/* C36EDC 802409AC 0C0372DF */ jal func_800DCB7C +/* C36EE0 802409B0 27A70030 */ addiu $a3, $sp, 0x30 +.L802409B4: +/* C36EE4 802409B4 10400007 */ beqz $v0, .L802409D4 +/* C36EE8 802409B8 00000000 */ nop +/* C36EEC 802409BC 4616A082 */ mul.s $f2, $f20, $f22 +/* C36EF0 802409C0 00000000 */ nop +/* C36EF4 802409C4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C36EF8 802409C8 46180000 */ add.s $f0, $f0, $f24 +/* C36EFC 802409CC 08090278 */ j .L802409E0 +/* C36F00 802409D0 46020000 */ add.s $f0, $f0, $f2 +.L802409D4: +/* C36F04 802409D4 4616A002 */ mul.s $f0, $f20, $f22 +/* C36F08 802409D8 00000000 */ nop +/* C36F0C 802409DC 4600D000 */ add.s $f0, $f26, $f0 +.L802409E0: +/* C36F10 802409E0 E600003C */ swc1 $f0, 0x3c($s0) +/* C36F14 802409E4 8E220074 */ lw $v0, 0x74($s1) +/* C36F18 802409E8 2442000A */ addiu $v0, $v0, 0xa +/* C36F1C 802409EC 44826000 */ mtc1 $v0, $f12 +/* C36F20 802409F0 00000000 */ nop +/* C36F24 802409F4 0C00A6C9 */ jal clamp_angle +/* C36F28 802409F8 46806320 */ cvt.s.w $f12, $f12 +/* C36F2C 802409FC 4600020D */ trunc.w.s $f8, $f0 +/* C36F30 80240A00 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A04: +/* C36F34 80240A04 8E220090 */ lw $v0, 0x90($s1) +/* C36F38 80240A08 1C400040 */ bgtz $v0, .L80240B0C +/* C36F3C 80240A0C 2442FFFF */ addiu $v0, $v0, -1 +/* C36F40 80240A10 860200A8 */ lh $v0, 0xa8($s0) +/* C36F44 80240A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* C36F48 80240A18 44821000 */ mtc1 $v0, $f2 +/* C36F4C 80240A1C 00000000 */ nop +/* C36F50 80240A20 468010A0 */ cvt.s.w $f2, $f2 +/* C36F54 80240A24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C36F58 80240A28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C36F5C 80240A2C 46020000 */ add.s $f0, $f0, $f2 +/* C36F60 80240A30 3C014024 */ lui $at, 0x4024 +/* C36F64 80240A34 44812800 */ mtc1 $at, $f5 +/* C36F68 80240A38 44802000 */ mtc1 $zero, $f4 +/* C36F6C 80240A3C C442002C */ lwc1 $f2, 0x2c($v0) +/* C36F70 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* C36F74 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* C36F78 80240A48 460010A1 */ cvt.d.s $f2, $f2 +/* C36F7C 80240A4C 4620103C */ c.lt.d $f2, $f0 +/* C36F80 80240A50 00000000 */ nop +/* C36F84 80240A54 4500002E */ bc1f .L80240B10 +/* C36F88 80240A58 0280202D */ daddu $a0, $s4, $zero +/* C36F8C 80240A5C 24020001 */ addiu $v0, $zero, 1 +/* C36F90 80240A60 AFA20010 */ sw $v0, 0x10($sp) +/* C36F94 80240A64 8E460024 */ lw $a2, 0x24($s2) +/* C36F98 80240A68 8E470028 */ lw $a3, 0x28($s2) +/* C36F9C 80240A6C 0C01242D */ jal func_800490B4 +/* C36FA0 80240A70 0220282D */ daddu $a1, $s1, $zero +/* C36FA4 80240A74 10400026 */ beqz $v0, .L80240B10 +/* C36FA8 80240A78 0000202D */ daddu $a0, $zero, $zero +/* C36FAC 80240A7C 0200282D */ daddu $a1, $s0, $zero +/* C36FB0 80240A80 0000302D */ daddu $a2, $zero, $zero +/* C36FB4 80240A84 2412000C */ addiu $s2, $zero, 0xc +/* C36FB8 80240A88 860300A8 */ lh $v1, 0xa8($s0) +/* C36FBC 80240A8C 3C013F80 */ lui $at, 0x3f80 +/* C36FC0 80240A90 44810000 */ mtc1 $at, $f0 +/* C36FC4 80240A94 3C014000 */ lui $at, 0x4000 +/* C36FC8 80240A98 44811000 */ mtc1 $at, $f2 +/* C36FCC 80240A9C 3C01C1A0 */ lui $at, 0xc1a0 +/* C36FD0 80240AA0 44812000 */ mtc1 $at, $f4 +/* C36FD4 80240AA4 44834000 */ mtc1 $v1, $f8 +/* C36FD8 80240AA8 00000000 */ nop +/* C36FDC 80240AAC 46804220 */ cvt.s.w $f8, $f8 +/* C36FE0 80240AB0 44074000 */ mfc1 $a3, $f8 +/* C36FE4 80240AB4 27A20038 */ addiu $v0, $sp, 0x38 +/* C36FE8 80240AB8 AFB2001C */ sw $s2, 0x1c($sp) +/* C36FEC 80240ABC AFA20020 */ sw $v0, 0x20($sp) +/* C36FF0 80240AC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C36FF4 80240AC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C36FF8 80240AC8 0C01BFA4 */ jal fx_emote +/* C36FFC 80240ACC E7A40018 */ swc1 $f4, 0x18($sp) +/* C37000 80240AD0 0200202D */ daddu $a0, $s0, $zero +/* C37004 80240AD4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C37008 80240AD8 C480003C */ lwc1 $f0, 0x3c($a0) +/* C3700C 80240ADC 3C060020 */ lui $a2, 0x20 +/* C37010 80240AE0 0C012530 */ jal func_800494C0 +/* C37014 80240AE4 E4800064 */ swc1 $f0, 0x64($a0) +/* C37018 80240AE8 8E220018 */ lw $v0, 0x18($s1) +/* C3701C 80240AEC 9442002A */ lhu $v0, 0x2a($v0) +/* C37020 80240AF0 30420001 */ andi $v0, $v0, 1 +/* C37024 80240AF4 10400003 */ beqz $v0, .L80240B04 +/* C37028 80240AF8 2402000A */ addiu $v0, $zero, 0xa +/* C3702C 80240AFC 080902EB */ j .L80240BAC +/* C37030 80240B00 AE620070 */ sw $v0, 0x70($s3) +.L80240B04: +/* C37034 80240B04 080902EB */ j .L80240BAC +/* C37038 80240B08 AE720070 */ sw $s2, 0x70($s3) +.L80240B0C: +/* C3703C 80240B0C AE220090 */ sw $v0, 0x90($s1) +.L80240B10: +/* C37040 80240B10 8602008C */ lh $v0, 0x8c($s0) +/* C37044 80240B14 14400025 */ bnez $v0, .L80240BAC +/* C37048 80240B18 00000000 */ nop +/* C3704C 80240B1C 8602008E */ lh $v0, 0x8e($s0) +/* C37050 80240B20 1C400022 */ bgtz $v0, .L80240BAC +/* C37054 80240B24 00000000 */ nop +/* C37058 80240B28 8E620074 */ lw $v0, 0x74($s3) +/* C3705C 80240B2C 2442FFFF */ addiu $v0, $v0, -1 +/* C37060 80240B30 1840001D */ blez $v0, .L80240BA8 +/* C37064 80240B34 AE620074 */ sw $v0, 0x74($s3) +/* C37068 80240B38 8E220018 */ lw $v0, 0x18($s1) +/* C3706C 80240B3C 9442002A */ lhu $v0, 0x2a($v0) +/* C37070 80240B40 30420010 */ andi $v0, $v0, 0x10 +/* C37074 80240B44 14400007 */ bnez $v0, .L80240B64 +/* C37078 80240B48 00000000 */ nop +/* C3707C 80240B4C C600000C */ lwc1 $f0, 0xc($s0) +/* C37080 80240B50 3C014334 */ lui $at, 0x4334 +/* C37084 80240B54 44816000 */ mtc1 $at, $f12 +/* C37088 80240B58 0C00A6C9 */ jal clamp_angle +/* C3708C 80240B5C 460C0300 */ add.s $f12, $f0, $f12 +/* C37090 80240B60 E600000C */ swc1 $f0, 0xc($s0) +.L80240B64: +/* C37094 80240B64 0C00A67F */ jal rand_int +/* C37098 80240B68 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C3709C 80240B6C 3C032E8B */ lui $v1, 0x2e8b +/* C370A0 80240B70 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C370A4 80240B74 00430018 */ mult $v0, $v1 +/* C370A8 80240B78 00021FC3 */ sra $v1, $v0, 0x1f +/* C370AC 80240B7C 00004010 */ mfhi $t0 +/* C370B0 80240B80 00082043 */ sra $a0, $t0, 1 +/* C370B4 80240B84 00832023 */ subu $a0, $a0, $v1 +/* C370B8 80240B88 00041840 */ sll $v1, $a0, 1 +/* C370BC 80240B8C 00641821 */ addu $v1, $v1, $a0 +/* C370C0 80240B90 00031880 */ sll $v1, $v1, 2 +/* C370C4 80240B94 00641823 */ subu $v1, $v1, $a0 +/* C370C8 80240B98 00431023 */ subu $v0, $v0, $v1 +/* C370CC 80240B9C 24420005 */ addiu $v0, $v0, 5 +/* C370D0 80240BA0 080902EB */ j .L80240BAC +/* C370D4 80240BA4 A602008E */ sh $v0, 0x8e($s0) +.L80240BA8: +/* C370D8 80240BA8 AE600070 */ sw $zero, 0x70($s3) +.L80240BAC: +/* C370DC 80240BAC 8FBF0054 */ lw $ra, 0x54($sp) +/* C370E0 80240BB0 8FB40050 */ lw $s4, 0x50($sp) +/* C370E4 80240BB4 8FB3004C */ lw $s3, 0x4c($sp) +/* C370E8 80240BB8 8FB20048 */ lw $s2, 0x48($sp) +/* C370EC 80240BBC 8FB10044 */ lw $s1, 0x44($sp) +/* C370F0 80240BC0 8FB00040 */ lw $s0, 0x40($sp) +/* C370F4 80240BC4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C370F8 80240BC8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C370FC 80240BCC D7B60060 */ ldc1 $f22, 0x60($sp) +/* C37100 80240BD0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C37104 80240BD4 03E00008 */ jr $ra +/* C37108 80240BD8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240BDC_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240BDC_C36530.s new file mode 100644 index 0000000000..1543aa3ea0 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240BDC_C36530.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BDC_C3710C +/* C3710C 80240BDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C37110 80240BE0 AFB20018 */ sw $s2, 0x18($sp) +/* C37114 80240BE4 0080902D */ daddu $s2, $a0, $zero +/* C37118 80240BE8 AFBF001C */ sw $ra, 0x1c($sp) +/* C3711C 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* C37120 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* C37124 80240BF4 8E510148 */ lw $s1, 0x148($s2) +/* C37128 80240BF8 0C00EABB */ jal get_npc_unsafe +/* C3712C 80240BFC 86240008 */ lh $a0, 8($s1) +/* C37130 80240C00 0040802D */ daddu $s0, $v0, $zero +/* C37134 80240C04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C37138 80240C08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3713C 80240C0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C37140 80240C10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C37144 80240C14 A600008E */ sh $zero, 0x8e($s0) +/* C37148 80240C18 8C460028 */ lw $a2, 0x28($v0) +/* C3714C 80240C1C 0C00A720 */ jal atan2 +/* C37150 80240C20 8C470030 */ lw $a3, 0x30($v0) +/* C37154 80240C24 E600000C */ swc1 $f0, 0xc($s0) +/* C37158 80240C28 8E2200CC */ lw $v0, 0xcc($s1) +/* C3715C 80240C2C 8C420020 */ lw $v0, 0x20($v0) +/* C37160 80240C30 AE020028 */ sw $v0, 0x28($s0) +/* C37164 80240C34 2402000B */ addiu $v0, $zero, 0xb +/* C37168 80240C38 AE420070 */ sw $v0, 0x70($s2) +/* C3716C 80240C3C 8FBF001C */ lw $ra, 0x1c($sp) +/* C37170 80240C40 8FB20018 */ lw $s2, 0x18($sp) +/* C37174 80240C44 8FB10014 */ lw $s1, 0x14($sp) +/* C37178 80240C48 8FB00010 */ lw $s0, 0x10($sp) +/* C3717C 80240C4C 03E00008 */ jr $ra +/* C37180 80240C50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240C54_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240C54_C36530.s new file mode 100644 index 0000000000..eba7604bdf --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240C54_C36530.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C54_C37184 +/* C37184 80240C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C37188 80240C58 AFB00010 */ sw $s0, 0x10($sp) +/* C3718C 80240C5C 0080802D */ daddu $s0, $a0, $zero +/* C37190 80240C60 AFBF0014 */ sw $ra, 0x14($sp) +/* C37194 80240C64 8E020148 */ lw $v0, 0x148($s0) +/* C37198 80240C68 0C00EABB */ jal get_npc_unsafe +/* C3719C 80240C6C 84440008 */ lh $a0, 8($v0) +/* C371A0 80240C70 9443008E */ lhu $v1, 0x8e($v0) +/* C371A4 80240C74 C440003C */ lwc1 $f0, 0x3c($v0) +/* C371A8 80240C78 24640001 */ addiu $a0, $v1, 1 +/* C371AC 80240C7C 00031C00 */ sll $v1, $v1, 0x10 +/* C371B0 80240C80 00031B83 */ sra $v1, $v1, 0xe +/* C371B4 80240C84 A444008E */ sh $a0, 0x8e($v0) +/* C371B8 80240C88 3C018024 */ lui $at, 0x8024 +/* C371BC 80240C8C 00230821 */ addu $at, $at, $v1 +/* C371C0 80240C90 C4223560 */ lwc1 $f2, 0x3560($at) +/* C371C4 80240C94 8443008E */ lh $v1, 0x8e($v0) +/* C371C8 80240C98 46020000 */ add.s $f0, $f0, $f2 +/* C371CC 80240C9C 28630005 */ slti $v1, $v1, 5 +/* C371D0 80240CA0 14600003 */ bnez $v1, .L80240CB0 +/* C371D4 80240CA4 E440003C */ swc1 $f0, 0x3c($v0) +/* C371D8 80240CA8 2402000C */ addiu $v0, $zero, 0xc +/* C371DC 80240CAC AE020070 */ sw $v0, 0x70($s0) +.L80240CB0: +/* C371E0 80240CB0 8FBF0014 */ lw $ra, 0x14($sp) +/* C371E4 80240CB4 8FB00010 */ lw $s0, 0x10($sp) +/* C371E8 80240CB8 03E00008 */ jr $ra +/* C371EC 80240CBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240CC0_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240CC0_C36530.s new file mode 100644 index 0000000000..c2fdef28b1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240CC0_C36530.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_C371F0 +/* C371F0 80240CC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C371F4 80240CC4 AFB3001C */ sw $s3, 0x1c($sp) +/* C371F8 80240CC8 0080982D */ daddu $s3, $a0, $zero +/* C371FC 80240CCC AFBF0020 */ sw $ra, 0x20($sp) +/* C37200 80240CD0 AFB20018 */ sw $s2, 0x18($sp) +/* C37204 80240CD4 AFB10014 */ sw $s1, 0x14($sp) +/* C37208 80240CD8 AFB00010 */ sw $s0, 0x10($sp) +/* C3720C 80240CDC 8E720148 */ lw $s2, 0x148($s3) +/* C37210 80240CE0 86440008 */ lh $a0, 8($s2) +/* C37214 80240CE4 0C00EABB */ jal get_npc_unsafe +/* C37218 80240CE8 00A0802D */ daddu $s0, $a1, $zero +/* C3721C 80240CEC 0040882D */ daddu $s1, $v0, $zero +/* C37220 80240CF0 C6420080 */ lwc1 $f2, 0x80($s2) +/* C37224 80240CF4 468010A0 */ cvt.s.w $f2, $f2 +/* C37228 80240CF8 460010A1 */ cvt.d.s $f2, $f2 +/* C3722C 80240CFC C6400084 */ lwc1 $f0, 0x84($s2) +/* C37230 80240D00 46800020 */ cvt.s.w $f0, $f0 +/* C37234 80240D04 46000021 */ cvt.d.s $f0, $f0 +/* C37238 80240D08 3C014059 */ lui $at, 0x4059 +/* C3723C 80240D0C 44812800 */ mtc1 $at, $f5 +/* C37240 80240D10 44802000 */ mtc1 $zero, $f4 +/* C37244 80240D14 8E4200CC */ lw $v0, 0xcc($s2) +/* C37248 80240D18 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C3724C 80240D1C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C37250 80240D20 46241083 */ div.d $f2, $f2, $f4 +/* C37254 80240D24 462010A0 */ cvt.s.d $f2, $f2 +/* C37258 80240D28 46240003 */ div.d $f0, $f0, $f4 +/* C3725C 80240D2C 8C420020 */ lw $v0, 0x20($v0) +/* C37260 80240D30 46200020 */ cvt.s.d $f0, $f0 +/* C37264 80240D34 E622001C */ swc1 $f2, 0x1c($s1) +/* C37268 80240D38 E6200014 */ swc1 $f0, 0x14($s1) +/* C3726C 80240D3C AE220028 */ sw $v0, 0x28($s1) +/* C37270 80240D40 C6000018 */ lwc1 $f0, 0x18($s0) +/* C37274 80240D44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C37278 80240D48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3727C 80240D4C E6200018 */ swc1 $f0, 0x18($s1) +/* C37280 80240D50 8C460028 */ lw $a2, 0x28($v0) +/* C37284 80240D54 0C00A720 */ jal atan2 +/* C37288 80240D58 8C470030 */ lw $a3, 0x30($v0) +/* C3728C 80240D5C E620000C */ swc1 $f0, 0xc($s1) +/* C37290 80240D60 8E420018 */ lw $v0, 0x18($s2) +/* C37294 80240D64 AE400074 */ sw $zero, 0x74($s2) +/* C37298 80240D68 9442002A */ lhu $v0, 0x2a($v0) +/* C3729C 80240D6C 30420002 */ andi $v0, $v0, 2 +/* C372A0 80240D70 10400005 */ beqz $v0, .L80240D88 +/* C372A4 80240D74 24020003 */ addiu $v0, $zero, 3 +/* C372A8 80240D78 A622008E */ sh $v0, 0x8e($s1) +/* C372AC 80240D7C 2402000D */ addiu $v0, $zero, 0xd +/* C372B0 80240D80 08090376 */ j .L80240DD8 +/* C372B4 80240D84 AE620070 */ sw $v0, 0x70($s3) +.L80240D88: +/* C372B8 80240D88 24030001 */ addiu $v1, $zero, 1 +/* C372BC 80240D8C 2402000E */ addiu $v0, $zero, 0xe +/* C372C0 80240D90 A623008E */ sh $v1, 0x8e($s1) +/* C372C4 80240D94 AE620070 */ sw $v0, 0x70($s3) +/* C372C8 80240D98 C6200038 */ lwc1 $f0, 0x38($s1) +/* C372CC 80240D9C 4600018D */ trunc.w.s $f6, $f0 +/* C372D0 80240DA0 44023000 */ mfc1 $v0, $f6 +/* C372D4 80240DA4 00000000 */ nop +/* C372D8 80240DA8 A6420010 */ sh $v0, 0x10($s2) +/* C372DC 80240DAC C620003C */ lwc1 $f0, 0x3c($s1) +/* C372E0 80240DB0 4600018D */ trunc.w.s $f6, $f0 +/* C372E4 80240DB4 44023000 */ mfc1 $v0, $f6 +/* C372E8 80240DB8 00000000 */ nop +/* C372EC 80240DBC A6420012 */ sh $v0, 0x12($s2) +/* C372F0 80240DC0 C6200040 */ lwc1 $f0, 0x40($s1) +/* C372F4 80240DC4 A2430007 */ sb $v1, 7($s2) +/* C372F8 80240DC8 4600018D */ trunc.w.s $f6, $f0 +/* C372FC 80240DCC 44023000 */ mfc1 $v0, $f6 +/* C37300 80240DD0 00000000 */ nop +/* C37304 80240DD4 A6420014 */ sh $v0, 0x14($s2) +.L80240DD8: +/* C37308 80240DD8 8FBF0020 */ lw $ra, 0x20($sp) +/* C3730C 80240DDC 8FB3001C */ lw $s3, 0x1c($sp) +/* C37310 80240DE0 8FB20018 */ lw $s2, 0x18($sp) +/* C37314 80240DE4 8FB10014 */ lw $s1, 0x14($sp) +/* C37318 80240DE8 8FB00010 */ lw $s0, 0x10($sp) +/* C3731C 80240DEC 03E00008 */ jr $ra +/* C37320 80240DF0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240DF4_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240DF4_C36530.s new file mode 100644 index 0000000000..2648e7b444 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240DF4_C36530.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF4_C37324 +/* C37324 80240DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C37328 80240DF8 AFB00010 */ sw $s0, 0x10($sp) +/* C3732C 80240DFC 0080802D */ daddu $s0, $a0, $zero +/* C37330 80240E00 AFBF0014 */ sw $ra, 0x14($sp) +/* C37334 80240E04 8E020148 */ lw $v0, 0x148($s0) +/* C37338 80240E08 0C00EABB */ jal get_npc_unsafe +/* C3733C 80240E0C 84440008 */ lh $a0, 8($v0) +/* C37340 80240E10 0040202D */ daddu $a0, $v0, $zero +/* C37344 80240E14 8482008E */ lh $v0, 0x8e($a0) +/* C37348 80240E18 9483008E */ lhu $v1, 0x8e($a0) +/* C3734C 80240E1C 18400005 */ blez $v0, .L80240E34 +/* C37350 80240E20 2462FFFF */ addiu $v0, $v1, -1 +/* C37354 80240E24 A482008E */ sh $v0, 0x8e($a0) +/* C37358 80240E28 00021400 */ sll $v0, $v0, 0x10 +/* C3735C 80240E2C 1C400006 */ bgtz $v0, .L80240E48 +/* C37360 80240E30 00000000 */ nop +.L80240E34: +/* C37364 80240E34 8482008C */ lh $v0, 0x8c($a0) +/* C37368 80240E38 14400003 */ bnez $v0, .L80240E48 +/* C3736C 80240E3C 2402000E */ addiu $v0, $zero, 0xe +/* C37370 80240E40 A480008E */ sh $zero, 0x8e($a0) +/* C37374 80240E44 AE020070 */ sw $v0, 0x70($s0) +.L80240E48: +/* C37378 80240E48 8FBF0014 */ lw $ra, 0x14($sp) +/* C3737C 80240E4C 8FB00010 */ lw $s0, 0x10($sp) +/* C37380 80240E50 03E00008 */ jr $ra +/* C37384 80240E54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80240E58_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240E58_C36530.s new file mode 100644 index 0000000000..4c56e68b9b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80240E58_C36530.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E58_C37388 +/* C37388 80240E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3738C 80240E5C AFB20030 */ sw $s2, 0x30($sp) +/* C37390 80240E60 0080902D */ daddu $s2, $a0, $zero +/* C37394 80240E64 AFBF0038 */ sw $ra, 0x38($sp) +/* C37398 80240E68 AFB30034 */ sw $s3, 0x34($sp) +/* C3739C 80240E6C AFB1002C */ sw $s1, 0x2c($sp) +/* C373A0 80240E70 AFB00028 */ sw $s0, 0x28($sp) +/* C373A4 80240E74 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C373A8 80240E78 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C373AC 80240E7C 8E510148 */ lw $s1, 0x148($s2) +/* C373B0 80240E80 86240008 */ lh $a0, 8($s1) +/* C373B4 80240E84 0C00EABB */ jal get_npc_unsafe +/* C373B8 80240E88 00A0982D */ daddu $s3, $a1, $zero +/* C373BC 80240E8C 0040802D */ daddu $s0, $v0, $zero +/* C373C0 80240E90 0200202D */ daddu $a0, $s0, $zero +/* C373C4 80240E94 C6220088 */ lwc1 $f2, 0x88($s1) +/* C373C8 80240E98 468010A0 */ cvt.s.w $f2, $f2 +/* C373CC 80240E9C 460010A1 */ cvt.d.s $f2, $f2 +/* C373D0 80240EA0 C604001C */ lwc1 $f4, 0x1c($s0) +/* C373D4 80240EA4 C6000014 */ lwc1 $f0, 0x14($s0) +/* C373D8 80240EA8 8E050018 */ lw $a1, 0x18($s0) +/* C373DC 80240EAC 46002100 */ add.s $f4, $f4, $f0 +/* C373E0 80240EB0 8E06000C */ lw $a2, 0xc($s0) +/* C373E4 80240EB4 C6200078 */ lwc1 $f0, 0x78($s1) +/* C373E8 80240EB8 46800020 */ cvt.s.w $f0, $f0 +/* C373EC 80240EBC E604001C */ swc1 $f4, 0x1c($s0) +/* C373F0 80240EC0 3C014059 */ lui $at, 0x4059 +/* C373F4 80240EC4 44812800 */ mtc1 $at, $f5 +/* C373F8 80240EC8 44802000 */ mtc1 $zero, $f4 +/* C373FC 80240ECC 46000021 */ cvt.d.s $f0, $f0 +/* C37400 80240ED0 46240003 */ div.d $f0, $f0, $f4 +/* C37404 80240ED4 46200520 */ cvt.s.d $f20, $f0 +/* C37408 80240ED8 46241083 */ div.d $f2, $f2, $f4 +/* C3740C 80240EDC 0C00EA95 */ jal npc_move_heading +/* C37410 80240EE0 462015A0 */ cvt.s.d $f22, $f2 +/* C37414 80240EE4 C604001C */ lwc1 $f4, 0x1c($s0) +/* C37418 80240EE8 44801000 */ mtc1 $zero, $f2 +/* C3741C 80240EEC 44801800 */ mtc1 $zero, $f3 +/* C37420 80240EF0 46002021 */ cvt.d.s $f0, $f4 +/* C37424 80240EF4 4620103E */ c.le.d $f2, $f0 +/* C37428 80240EF8 00000000 */ nop +/* C3742C 80240EFC 45000030 */ bc1f .L80240FC0 +/* C37430 80240F00 00000000 */ nop +/* C37434 80240F04 C600003C */ lwc1 $f0, 0x3c($s0) +/* C37438 80240F08 46040000 */ add.s $f0, $f0, $f4 +/* C3743C 80240F0C E600003C */ swc1 $f0, 0x3c($s0) +/* C37440 80240F10 8E2200CC */ lw $v0, 0xcc($s1) +/* C37444 80240F14 8C420024 */ lw $v0, 0x24($v0) +/* C37448 80240F18 AE020028 */ sw $v0, 0x28($s0) +/* C3744C 80240F1C A2200007 */ sb $zero, 7($s1) +/* C37450 80240F20 8E020000 */ lw $v0, ($s0) +/* C37454 80240F24 30420008 */ andi $v0, $v0, 8 +/* C37458 80240F28 14400011 */ bnez $v0, .L80240F70 +/* C3745C 80240F2C 0000102D */ daddu $v0, $zero, $zero +/* C37460 80240F30 27A50018 */ addiu $a1, $sp, 0x18 +/* C37464 80240F34 27A6001C */ addiu $a2, $sp, 0x1c +/* C37468 80240F38 C6000038 */ lwc1 $f0, 0x38($s0) +/* C3746C 80240F3C C602003C */ lwc1 $f2, 0x3c($s0) +/* C37470 80240F40 C6040040 */ lwc1 $f4, 0x40($s0) +/* C37474 80240F44 3C01447A */ lui $at, 0x447a +/* C37478 80240F48 44813000 */ mtc1 $at, $f6 +/* C3747C 80240F4C 27A20024 */ addiu $v0, $sp, 0x24 +/* C37480 80240F50 E7A00018 */ swc1 $f0, 0x18($sp) +/* C37484 80240F54 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C37488 80240F58 E7A40020 */ swc1 $f4, 0x20($sp) +/* C3748C 80240F5C E7A60024 */ swc1 $f6, 0x24($sp) +/* C37490 80240F60 AFA20010 */ sw $v0, 0x10($sp) +/* C37494 80240F64 8E040080 */ lw $a0, 0x80($s0) +/* C37498 80240F68 0C0372DF */ jal func_800DCB7C +/* C3749C 80240F6C 27A70020 */ addiu $a3, $sp, 0x20 +.L80240F70: +/* C374A0 80240F70 1040000B */ beqz $v0, .L80240FA0 +/* C374A4 80240F74 00000000 */ nop +/* C374A8 80240F78 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C374AC 80240F7C 46140080 */ add.s $f2, $f0, $f20 +/* C374B0 80240F80 C600003C */ lwc1 $f0, 0x3c($s0) +/* C374B4 80240F84 4600103E */ c.le.s $f2, $f0 +/* C374B8 80240F88 00000000 */ nop +/* C374BC 80240F8C 4500008D */ bc1f .L802411C4 +/* C374C0 80240F90 00000000 */ nop +/* C374C4 80240F94 E602003C */ swc1 $f2, 0x3c($s0) +/* C374C8 80240F98 08090471 */ j .L802411C4 +/* C374CC 80240F9C AE400070 */ sw $zero, 0x70($s2) +.L80240FA0: +/* C374D0 80240FA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C374D4 80240FA4 C6000064 */ lwc1 $f0, 0x64($s0) +/* C374D8 80240FA8 4602003E */ c.le.s $f0, $f2 +/* C374DC 80240FAC 00000000 */ nop +/* C374E0 80240FB0 45030084 */ bc1tl .L802411C4 +/* C374E4 80240FB4 AE400070 */ sw $zero, 0x70($s2) +/* C374E8 80240FB8 08090471 */ j .L802411C4 +/* C374EC 80240FBC 00000000 */ nop +.L80240FC0: +/* C374F0 80240FC0 4622003C */ c.lt.d $f0, $f2 +/* C374F4 80240FC4 00000000 */ nop +/* C374F8 80240FC8 4500007E */ bc1f .L802411C4 +/* C374FC 80240FCC 00000000 */ nop +/* C37500 80240FD0 9602008E */ lhu $v0, 0x8e($s0) +/* C37504 80240FD4 24420001 */ addiu $v0, $v0, 1 +/* C37508 80240FD8 A602008E */ sh $v0, 0x8e($s0) +/* C3750C 80240FDC 00021400 */ sll $v0, $v0, 0x10 +/* C37510 80240FE0 8E630020 */ lw $v1, 0x20($s3) +/* C37514 80240FE4 00021403 */ sra $v0, $v0, 0x10 +/* C37518 80240FE8 0043102A */ slt $v0, $v0, $v1 +/* C3751C 80240FEC 14400026 */ bnez $v0, .L80241088 +/* C37520 80240FF0 00000000 */ nop +/* C37524 80240FF4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C37528 80240FF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3752C 80240FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C37530 80241000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C37534 80241004 A600008E */ sh $zero, 0x8e($s0) +/* C37538 80241008 8C460028 */ lw $a2, 0x28($v0) +/* C3753C 8024100C 0C00A720 */ jal atan2 +/* C37540 80241010 8C470030 */ lw $a3, 0x30($v0) +/* C37544 80241014 46000506 */ mov.s $f20, $f0 +/* C37548 80241018 C60C000C */ lwc1 $f12, 0xc($s0) +/* C3754C 8024101C 0C00A70A */ jal get_clamped_angle_diff +/* C37550 80241020 4600A386 */ mov.s $f14, $f20 +/* C37554 80241024 46000086 */ mov.s $f2, $f0 +/* C37558 80241028 8E62001C */ lw $v0, 0x1c($s3) +/* C3755C 8024102C 46001005 */ abs.s $f0, $f2 +/* C37560 80241030 44822000 */ mtc1 $v0, $f4 +/* C37564 80241034 00000000 */ nop +/* C37568 80241038 46802120 */ cvt.s.w $f4, $f4 +/* C3756C 8024103C 4600203C */ c.lt.s $f4, $f0 +/* C37570 80241040 00000000 */ nop +/* C37574 80241044 4500000D */ bc1f .L8024107C +/* C37578 80241048 00000000 */ nop +/* C3757C 8024104C 44800000 */ mtc1 $zero, $f0 +/* C37580 80241050 C614000C */ lwc1 $f20, 0xc($s0) +/* C37584 80241054 4600103C */ c.lt.s $f2, $f0 +/* C37588 80241058 00000000 */ nop +/* C3758C 8024105C 45000006 */ bc1f .L80241078 +/* C37590 80241060 00021023 */ negu $v0, $v0 +/* C37594 80241064 44820000 */ mtc1 $v0, $f0 +/* C37598 80241068 00000000 */ nop +/* C3759C 8024106C 46800020 */ cvt.s.w $f0, $f0 +/* C375A0 80241070 0809041F */ j .L8024107C +/* C375A4 80241074 4600A500 */ add.s $f20, $f20, $f0 +.L80241078: +/* C375A8 80241078 4604A500 */ add.s $f20, $f20, $f4 +.L8024107C: +/* C375AC 8024107C 0C00A6C9 */ jal clamp_angle +/* C375B0 80241080 4600A306 */ mov.s $f12, $f20 +/* C375B4 80241084 E600000C */ swc1 $f0, 0xc($s0) +.L80241088: +/* C375B8 80241088 8E020000 */ lw $v0, ($s0) +/* C375BC 8024108C 30420008 */ andi $v0, $v0, 8 +/* C375C0 80241090 1040000A */ beqz $v0, .L802410BC +/* C375C4 80241094 27A50018 */ addiu $a1, $sp, 0x18 +/* C375C8 80241098 C602003C */ lwc1 $f2, 0x3c($s0) +/* C375CC 8024109C C600001C */ lwc1 $f0, 0x1c($s0) +/* C375D0 802410A0 46001080 */ add.s $f2, $f2, $f0 +/* C375D4 802410A4 4616103C */ c.lt.s $f2, $f22 +/* C375D8 802410A8 00000000 */ nop +/* C375DC 802410AC 45020045 */ bc1fl .L802411C4 +/* C375E0 802410B0 E602003C */ swc1 $f2, 0x3c($s0) +/* C375E4 802410B4 08090470 */ j .L802411C0 +/* C375E8 802410B8 E616003C */ swc1 $f22, 0x3c($s0) +.L802410BC: +/* C375EC 802410BC C6000038 */ lwc1 $f0, 0x38($s0) +/* C375F0 802410C0 27A6001C */ addiu $a2, $sp, 0x1c +/* C375F4 802410C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C375F8 802410C8 860200A8 */ lh $v0, 0xa8($s0) +/* C375FC 802410CC C600001C */ lwc1 $f0, 0x1c($s0) +/* C37600 802410D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* C37604 802410D4 44821000 */ mtc1 $v0, $f2 +/* C37608 802410D8 00000000 */ nop +/* C3760C 802410DC 468010A0 */ cvt.s.w $f2, $f2 +/* C37610 802410E0 46000005 */ abs.s $f0, $f0 +/* C37614 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* C37618 802410E8 C6060040 */ lwc1 $f6, 0x40($s0) +/* C3761C 802410EC 27A20024 */ addiu $v0, $sp, 0x24 +/* C37620 802410F0 46022100 */ add.s $f4, $f4, $f2 +/* C37624 802410F4 3C014024 */ lui $at, 0x4024 +/* C37628 802410F8 44811800 */ mtc1 $at, $f3 +/* C3762C 802410FC 44801000 */ mtc1 $zero, $f2 +/* C37630 80241100 46000021 */ cvt.d.s $f0, $f0 +/* C37634 80241104 46220000 */ add.d $f0, $f0, $f2 +/* C37638 80241108 E7A60020 */ swc1 $f6, 0x20($sp) +/* C3763C 8024110C E7A4001C */ swc1 $f4, 0x1c($sp) +/* C37640 80241110 46200020 */ cvt.s.d $f0, $f0 +/* C37644 80241114 E7A00024 */ swc1 $f0, 0x24($sp) +/* C37648 80241118 AFA20010 */ sw $v0, 0x10($sp) +/* C3764C 8024111C 8E040080 */ lw $a0, 0x80($s0) +/* C37650 80241120 0C0372DF */ jal func_800DCB7C +/* C37654 80241124 27A70020 */ addiu $a3, $sp, 0x20 +/* C37658 80241128 10400015 */ beqz $v0, .L80241180 +/* C3765C 8024112C 00000000 */ nop +/* C37660 80241130 860200A8 */ lh $v0, 0xa8($s0) +/* C37664 80241134 C604001C */ lwc1 $f4, 0x1c($s0) +/* C37668 80241138 44820000 */ mtc1 $v0, $f0 +/* C3766C 8024113C 00000000 */ nop +/* C37670 80241140 46800020 */ cvt.s.w $f0, $f0 +/* C37674 80241144 46002085 */ abs.s $f2, $f4 +/* C37678 80241148 46020000 */ add.s $f0, $f0, $f2 +/* C3767C 8024114C C7A20024 */ lwc1 $f2, 0x24($sp) +/* C37680 80241150 4600103E */ c.le.s $f2, $f0 +/* C37684 80241154 00000000 */ nop +/* C37688 80241158 45000005 */ bc1f .L80241170 +/* C3768C 8024115C 00000000 */ nop +/* C37690 80241160 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C37694 80241164 AE00001C */ sw $zero, 0x1c($s0) +/* C37698 80241168 08090471 */ j .L802411C4 +/* C3769C 8024116C E600003C */ swc1 $f0, 0x3c($s0) +.L80241170: +/* C376A0 80241170 C600003C */ lwc1 $f0, 0x3c($s0) +/* C376A4 80241174 46040000 */ add.s $f0, $f0, $f4 +/* C376A8 80241178 08090471 */ j .L802411C4 +/* C376AC 8024117C E600003C */ swc1 $f0, 0x3c($s0) +.L80241180: +/* C376B0 80241180 C606003C */ lwc1 $f6, 0x3c($s0) +/* C376B4 80241184 860200A8 */ lh $v0, 0xa8($s0) +/* C376B8 80241188 46163081 */ sub.s $f2, $f6, $f22 +/* C376BC 8024118C 44820000 */ mtc1 $v0, $f0 +/* C376C0 80241190 00000000 */ nop +/* C376C4 80241194 46800020 */ cvt.s.w $f0, $f0 +/* C376C8 80241198 46001080 */ add.s $f2, $f2, $f0 +/* C376CC 8024119C C604001C */ lwc1 $f4, 0x1c($s0) +/* C376D0 802411A0 46002005 */ abs.s $f0, $f4 +/* C376D4 802411A4 4602003C */ c.lt.s $f0, $f2 +/* C376D8 802411A8 00000000 */ nop +/* C376DC 802411AC 45020005 */ bc1fl .L802411C4 +/* C376E0 802411B0 AE00001C */ sw $zero, 0x1c($s0) +/* C376E4 802411B4 46043000 */ add.s $f0, $f6, $f4 +/* C376E8 802411B8 08090471 */ j .L802411C4 +/* C376EC 802411BC E600003C */ swc1 $f0, 0x3c($s0) +.L802411C0: +/* C376F0 802411C0 AE00001C */ sw $zero, 0x1c($s0) +.L802411C4: +/* C376F4 802411C4 8FBF0038 */ lw $ra, 0x38($sp) +/* C376F8 802411C8 8FB30034 */ lw $s3, 0x34($sp) +/* C376FC 802411CC 8FB20030 */ lw $s2, 0x30($sp) +/* C37700 802411D0 8FB1002C */ lw $s1, 0x2c($sp) +/* C37704 802411D4 8FB00028 */ lw $s0, 0x28($sp) +/* C37708 802411D8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C3770C 802411DC D7B40040 */ ldc1 $f20, 0x40($sp) +/* C37710 802411E0 03E00008 */ jr $ra +/* C37714 802411E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802411E8_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802411E8_C36530.s new file mode 100644 index 0000000000..67916706c7 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802411E8_C36530.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E8_C37718 +/* C37718 802411E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C3771C 802411EC AFB00028 */ sw $s0, 0x28($sp) +/* C37720 802411F0 00A0802D */ daddu $s0, $a1, $zero +/* C37724 802411F4 AFB1002C */ sw $s1, 0x2c($sp) +/* C37728 802411F8 00C0882D */ daddu $s1, $a2, $zero +/* C3772C 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* C37730 80241200 AFB20030 */ sw $s2, 0x30($sp) +/* C37734 80241204 AE200070 */ sw $zero, 0x70($s1) +/* C37738 80241208 8C830000 */ lw $v1, ($a0) +/* C3773C 8024120C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C37740 80241210 A480008E */ sh $zero, 0x8e($a0) +/* C37744 80241214 00621824 */ and $v1, $v1, $v0 +/* C37748 80241218 34650800 */ ori $a1, $v1, 0x800 +/* C3774C 8024121C AC850000 */ sw $a1, ($a0) +/* C37750 80241220 8E0200D0 */ lw $v0, 0xd0($s0) +/* C37754 80241224 8C420034 */ lw $v0, 0x34($v0) +/* C37758 80241228 10400003 */ beqz $v0, .L80241238 +/* C3775C 8024122C 00E0902D */ daddu $s2, $a3, $zero +/* C37760 80241230 08090490 */ j .L80241240 +/* C37764 80241234 34620808 */ ori $v0, $v1, 0x808 +.L80241238: +/* C37768 80241238 2402FFF7 */ addiu $v0, $zero, -9 +/* C3776C 8024123C 00A21024 */ and $v0, $a1, $v0 +.L80241240: +/* C37770 80241240 AC820000 */ sw $v0, ($a0) +/* C37774 80241244 27A20024 */ addiu $v0, $sp, 0x24 +/* C37778 80241248 27A50018 */ addiu $a1, $sp, 0x18 +/* C3777C 8024124C C4800038 */ lwc1 $f0, 0x38($a0) +/* C37780 80241250 C482003C */ lwc1 $f2, 0x3c($a0) +/* C37784 80241254 C4840040 */ lwc1 $f4, 0x40($a0) +/* C37788 80241258 3C01447A */ lui $at, 0x447a +/* C3778C 8024125C 44813000 */ mtc1 $at, $f6 +/* C37790 80241260 27A6001C */ addiu $a2, $sp, 0x1c +/* C37794 80241264 E7A00018 */ swc1 $f0, 0x18($sp) +/* C37798 80241268 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C3779C 8024126C E7A40020 */ swc1 $f4, 0x20($sp) +/* C377A0 80241270 E7A60024 */ swc1 $f6, 0x24($sp) +/* C377A4 80241274 AFA20010 */ sw $v0, 0x10($sp) +/* C377A8 80241278 8C840080 */ lw $a0, 0x80($a0) +/* C377AC 8024127C 0C0372DF */ jal func_800DCB7C +/* C377B0 80241280 27A70020 */ addiu $a3, $sp, 0x20 +/* C377B4 80241284 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C377B8 80241288 3C014059 */ lui $at, 0x4059 +/* C377BC 8024128C 44812800 */ mtc1 $at, $f5 +/* C377C0 80241290 44802000 */ mtc1 $zero, $f4 +/* C377C4 80241294 460010A1 */ cvt.d.s $f2, $f2 +/* C377C8 80241298 46241082 */ mul.d $f2, $f2, $f4 +/* C377CC 8024129C 00000000 */ nop +/* C377D0 802412A0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C377D4 802412A4 46000021 */ cvt.d.s $f0, $f0 +/* C377D8 802412A8 46240002 */ mul.d $f0, $f0, $f4 +/* C377DC 802412AC 00000000 */ nop +/* C377E0 802412B0 3C013FE0 */ lui $at, 0x3fe0 +/* C377E4 802412B4 44812800 */ mtc1 $at, $f5 +/* C377E8 802412B8 44802000 */ mtc1 $zero, $f4 +/* C377EC 802412BC 00000000 */ nop +/* C377F0 802412C0 46241080 */ add.d $f2, $f2, $f4 +/* C377F4 802412C4 AE000074 */ sw $zero, 0x74($s0) +/* C377F8 802412C8 46240000 */ add.d $f0, $f0, $f4 +/* C377FC 802412CC AE000090 */ sw $zero, 0x90($s0) +/* C37800 802412D0 4620120D */ trunc.w.d $f8, $f2 +/* C37804 802412D4 E6080078 */ swc1 $f8, 0x78($s0) +/* C37808 802412D8 4620020D */ trunc.w.d $f8, $f0 +/* C3780C 802412DC E6080088 */ swc1 $f8, 0x88($s0) +/* C37810 802412E0 8E420014 */ lw $v0, 0x14($s2) +/* C37814 802412E4 AE220074 */ sw $v0, 0x74($s1) +/* C37818 802412E8 8E0200B0 */ lw $v0, 0xb0($s0) +/* C3781C 802412EC 34420010 */ ori $v0, $v0, 0x10 +/* C37820 802412F0 AE0200B0 */ sw $v0, 0xb0($s0) +/* C37824 802412F4 8FBF0034 */ lw $ra, 0x34($sp) +/* C37828 802412F8 8FB20030 */ lw $s2, 0x30($sp) +/* C3782C 802412FC 8FB1002C */ lw $s1, 0x2c($sp) +/* C37830 80241300 8FB00028 */ lw $s0, 0x28($sp) +/* C37834 80241304 03E00008 */ jr $ra +/* C37838 80241308 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_8024130C_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024130C_C36530.s new file mode 100644 index 0000000000..d4315cec8d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024130C_C36530.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_C3783C +/* C3783C 8024130C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C37840 80241310 AFB40040 */ sw $s4, 0x40($sp) +/* C37844 80241314 0080A02D */ daddu $s4, $a0, $zero +/* C37848 80241318 AFBF0048 */ sw $ra, 0x48($sp) +/* C3784C 8024131C AFB50044 */ sw $s5, 0x44($sp) +/* C37850 80241320 AFB3003C */ sw $s3, 0x3c($sp) +/* C37854 80241324 AFB20038 */ sw $s2, 0x38($sp) +/* C37858 80241328 AFB10034 */ sw $s1, 0x34($sp) +/* C3785C 8024132C AFB00030 */ sw $s0, 0x30($sp) +/* C37860 80241330 8E920148 */ lw $s2, 0x148($s4) +/* C37864 80241334 86440008 */ lh $a0, 8($s2) +/* C37868 80241338 8E90000C */ lw $s0, 0xc($s4) +/* C3786C 8024133C 0C00EABB */ jal get_npc_unsafe +/* C37870 80241340 00A0882D */ daddu $s1, $a1, $zero +/* C37874 80241344 0280202D */ daddu $a0, $s4, $zero +/* C37878 80241348 8E050000 */ lw $a1, ($s0) +/* C3787C 8024134C 0C0B1EAF */ jal get_variable +/* C37880 80241350 0040A82D */ daddu $s5, $v0, $zero +/* C37884 80241354 AFA00010 */ sw $zero, 0x10($sp) +/* C37888 80241358 8E4300D0 */ lw $v1, 0xd0($s2) +/* C3788C 8024135C 8C630030 */ lw $v1, 0x30($v1) +/* C37890 80241360 AFA30014 */ sw $v1, 0x14($sp) +/* C37894 80241364 8E4300D0 */ lw $v1, 0xd0($s2) +/* C37898 80241368 8C63001C */ lw $v1, 0x1c($v1) +/* C3789C 8024136C AFA30018 */ sw $v1, 0x18($sp) +/* C378A0 80241370 8E4300D0 */ lw $v1, 0xd0($s2) +/* C378A4 80241374 8C630024 */ lw $v1, 0x24($v1) +/* C378A8 80241378 AFA3001C */ sw $v1, 0x1c($sp) +/* C378AC 8024137C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C378B0 80241380 8C630028 */ lw $v1, 0x28($v1) +/* C378B4 80241384 27B30010 */ addiu $s3, $sp, 0x10 +/* C378B8 80241388 AFA30020 */ sw $v1, 0x20($sp) +/* C378BC 8024138C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C378C0 80241390 3C0142F0 */ lui $at, 0x42f0 +/* C378C4 80241394 44810000 */ mtc1 $at, $f0 +/* C378C8 80241398 8C63002C */ lw $v1, 0x2c($v1) +/* C378CC 8024139C 0040802D */ daddu $s0, $v0, $zero +/* C378D0 802413A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C378D4 802413A4 A7A0002C */ sh $zero, 0x2c($sp) +/* C378D8 802413A8 12200006 */ beqz $s1, .L802413C4 +/* C378DC 802413AC AFA30024 */ sw $v1, 0x24($sp) +/* C378E0 802413B0 02A0202D */ daddu $a0, $s5, $zero +/* C378E4 802413B4 0240282D */ daddu $a1, $s2, $zero +/* C378E8 802413B8 0280302D */ daddu $a2, $s4, $zero +/* C378EC 802413BC 0C09047A */ jal func_802411E8 +/* C378F0 802413C0 0200382D */ daddu $a3, $s0, $zero +.L802413C4: +/* C378F4 802413C4 2402FFFE */ addiu $v0, $zero, -2 +/* C378F8 802413C8 A2A200AB */ sb $v0, 0xab($s5) +/* C378FC 802413CC 8E4300B0 */ lw $v1, 0xb0($s2) +/* C37900 802413D0 30620004 */ andi $v0, $v1, 4 +/* C37904 802413D4 10400007 */ beqz $v0, .L802413F4 +/* C37908 802413D8 00000000 */ nop +/* C3790C 802413DC 824200B4 */ lb $v0, 0xb4($s2) +/* C37910 802413E0 1440003C */ bnez $v0, .L802414D4 +/* C37914 802413E4 0000102D */ daddu $v0, $zero, $zero +/* C37918 802413E8 2402FFFB */ addiu $v0, $zero, -5 +/* C3791C 802413EC 00621024 */ and $v0, $v1, $v0 +/* C37920 802413F0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802413F4: +/* C37924 802413F4 8E830070 */ lw $v1, 0x70($s4) +/* C37928 802413F8 2C62000F */ sltiu $v0, $v1, 0xf +/* C3792C 802413FC 10400034 */ beqz $v0, .L802414D0 +/* C37930 80241400 00031080 */ sll $v0, $v1, 2 +/* C37934 80241404 3C018024 */ lui $at, 0x8024 +/* C37938 80241408 00220821 */ addu $at, $at, $v0 +/* C3793C 8024140C 8C224408 */ lw $v0, 0x4408($at) +/* C37940 80241410 00400008 */ jr $v0 +/* C37944 80241414 00000000 */ nop +/* C37948 80241418 0280202D */ daddu $a0, $s4, $zero +/* C3794C 8024141C 0200282D */ daddu $a1, $s0, $zero +/* C37950 80241420 0C090000 */ jal func_80240000 +/* C37954 80241424 0260302D */ daddu $a2, $s3, $zero +/* C37958 80241428 0280202D */ daddu $a0, $s4, $zero +/* C3795C 8024142C 0200282D */ daddu $a1, $s0, $zero +/* C37960 80241430 0C09006C */ jal func_802401B0 +/* C37964 80241434 0260302D */ daddu $a2, $s3, $zero +/* C37968 80241438 08090535 */ j .L802414D4 +/* C3796C 8024143C 0000102D */ daddu $v0, $zero, $zero +/* C37970 80241440 0280202D */ daddu $a0, $s4, $zero +/* C37974 80241444 0200282D */ daddu $a1, $s0, $zero +/* C37978 80241448 0C0901F6 */ jal func_802407D8 +/* C3797C 8024144C 0260302D */ daddu $a2, $s3, $zero +/* C37980 80241450 0280202D */ daddu $a0, $s4, $zero +/* C37984 80241454 0200282D */ daddu $a1, $s0, $zero +/* C37988 80241458 0C090226 */ jal func_80240898 +/* C3798C 8024145C 0260302D */ daddu $a2, $s3, $zero +/* C37990 80241460 08090535 */ j .L802414D4 +/* C37994 80241464 0000102D */ daddu $v0, $zero, $zero +/* C37998 80241468 0280202D */ daddu $a0, $s4, $zero +/* C3799C 8024146C 0200282D */ daddu $a1, $s0, $zero +/* C379A0 80241470 0C0902F7 */ jal func_80240BDC +/* C379A4 80241474 0260302D */ daddu $a2, $s3, $zero +/* C379A8 80241478 0280202D */ daddu $a0, $s4, $zero +/* C379AC 8024147C 0200282D */ daddu $a1, $s0, $zero +/* C379B0 80241480 0C090315 */ jal func_80240C54 +/* C379B4 80241484 0260302D */ daddu $a2, $s3, $zero +/* C379B8 80241488 08090535 */ j .L802414D4 +/* C379BC 8024148C 0000102D */ daddu $v0, $zero, $zero +/* C379C0 80241490 0280202D */ daddu $a0, $s4, $zero +/* C379C4 80241494 0200282D */ daddu $a1, $s0, $zero +/* C379C8 80241498 0C090330 */ jal func_80240CC0 +/* C379CC 8024149C 0260302D */ daddu $a2, $s3, $zero +/* C379D0 802414A0 08090535 */ j .L802414D4 +/* C379D4 802414A4 0000102D */ daddu $v0, $zero, $zero +/* C379D8 802414A8 0280202D */ daddu $a0, $s4, $zero +/* C379DC 802414AC 0200282D */ daddu $a1, $s0, $zero +/* C379E0 802414B0 0C09037D */ jal func_80240DF4 +/* C379E4 802414B4 0260302D */ daddu $a2, $s3, $zero +/* C379E8 802414B8 08090535 */ j .L802414D4 +/* C379EC 802414BC 0000102D */ daddu $v0, $zero, $zero +/* C379F0 802414C0 0280202D */ daddu $a0, $s4, $zero +/* C379F4 802414C4 0200282D */ daddu $a1, $s0, $zero +/* C379F8 802414C8 0C090396 */ jal func_80240E58 +/* C379FC 802414CC 0260302D */ daddu $a2, $s3, $zero +.L802414D0: +/* C37A00 802414D0 0000102D */ daddu $v0, $zero, $zero +.L802414D4: +/* C37A04 802414D4 8FBF0048 */ lw $ra, 0x48($sp) +/* C37A08 802414D8 8FB50044 */ lw $s5, 0x44($sp) +/* C37A0C 802414DC 8FB40040 */ lw $s4, 0x40($sp) +/* C37A10 802414E0 8FB3003C */ lw $s3, 0x3c($sp) +/* C37A14 802414E4 8FB20038 */ lw $s2, 0x38($sp) +/* C37A18 802414E8 8FB10034 */ lw $s1, 0x34($sp) +/* C37A1C 802414EC 8FB00030 */ lw $s0, 0x30($sp) +/* C37A20 802414F0 03E00008 */ jr $ra +/* C37A24 802414F4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802414F8_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802414F8_C36530.s new file mode 100644 index 0000000000..60b602905b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802414F8_C36530.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F8_C37A28 +/* C37A28 802414F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C37A2C 802414FC AFB3001C */ sw $s3, 0x1c($sp) +/* C37A30 80241500 0080982D */ daddu $s3, $a0, $zero +/* C37A34 80241504 AFBF0020 */ sw $ra, 0x20($sp) +/* C37A38 80241508 AFB20018 */ sw $s2, 0x18($sp) +/* C37A3C 8024150C AFB10014 */ sw $s1, 0x14($sp) +/* C37A40 80241510 AFB00010 */ sw $s0, 0x10($sp) +/* C37A44 80241514 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C37A48 80241518 8E720148 */ lw $s2, 0x148($s3) +/* C37A4C 8024151C 86440008 */ lh $a0, 8($s2) +/* C37A50 80241520 0C00EABB */ jal get_npc_unsafe +/* C37A54 80241524 00A0882D */ daddu $s1, $a1, $zero +/* C37A58 80241528 0040802D */ daddu $s0, $v0, $zero +/* C37A5C 8024152C 9602008E */ lhu $v0, 0x8e($s0) +/* C37A60 80241530 2442FFFF */ addiu $v0, $v0, -1 +/* C37A64 80241534 A602008E */ sh $v0, 0x8e($s0) +/* C37A68 80241538 00021400 */ sll $v0, $v0, 0x10 +/* C37A6C 8024153C 1C40003C */ bgtz $v0, .L80241630 +/* C37A70 80241540 3C03FFDF */ lui $v1, 0xffdf +/* C37A74 80241544 8E020000 */ lw $v0, ($s0) +/* C37A78 80241548 3463FFFF */ ori $v1, $v1, 0xffff +/* C37A7C 8024154C 00431024 */ and $v0, $v0, $v1 +/* C37A80 80241550 AE020000 */ sw $v0, ($s0) +/* C37A84 80241554 8E240020 */ lw $a0, 0x20($s1) +/* C37A88 80241558 000417C2 */ srl $v0, $a0, 0x1f +/* C37A8C 8024155C 00822021 */ addu $a0, $a0, $v0 +/* C37A90 80241560 00042043 */ sra $a0, $a0, 1 +/* C37A94 80241564 0C00A67F */ jal rand_int +/* C37A98 80241568 24840001 */ addiu $a0, $a0, 1 +/* C37A9C 8024156C 8E230020 */ lw $v1, 0x20($s1) +/* C37AA0 80241570 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C37AA4 80241574 000327C2 */ srl $a0, $v1, 0x1f +/* C37AA8 80241578 00641821 */ addu $v1, $v1, $a0 +/* C37AAC 8024157C 00031843 */ sra $v1, $v1, 1 +/* C37AB0 80241580 00621821 */ addu $v1, $v1, $v0 +/* C37AB4 80241584 A603008E */ sh $v1, 0x8e($s0) +/* C37AB8 80241588 8E4200CC */ lw $v0, 0xcc($s2) +/* C37ABC 8024158C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C37AC0 80241590 8C420020 */ lw $v0, 0x20($v0) +/* C37AC4 80241594 AE020028 */ sw $v0, 0x28($s0) +/* C37AC8 80241598 C6200018 */ lwc1 $f0, 0x18($s1) +/* C37ACC 8024159C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C37AD0 802415A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C37AD4 802415A4 E6000018 */ swc1 $f0, 0x18($s0) +/* C37AD8 802415A8 8C460028 */ lw $a2, 0x28($v0) +/* C37ADC 802415AC 0C00A720 */ jal atan2 +/* C37AE0 802415B0 8C470030 */ lw $a3, 0x30($v0) +/* C37AE4 802415B4 46000506 */ mov.s $f20, $f0 +/* C37AE8 802415B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* C37AEC 802415BC 0C00A70A */ jal get_clamped_angle_diff +/* C37AF0 802415C0 4600A386 */ mov.s $f14, $f20 +/* C37AF4 802415C4 46000086 */ mov.s $f2, $f0 +/* C37AF8 802415C8 8E22001C */ lw $v0, 0x1c($s1) +/* C37AFC 802415CC 46001005 */ abs.s $f0, $f2 +/* C37B00 802415D0 44822000 */ mtc1 $v0, $f4 +/* C37B04 802415D4 00000000 */ nop +/* C37B08 802415D8 46802120 */ cvt.s.w $f4, $f4 +/* C37B0C 802415DC 4600203C */ c.lt.s $f4, $f0 +/* C37B10 802415E0 00000000 */ nop +/* C37B14 802415E4 4500000D */ bc1f .L8024161C +/* C37B18 802415E8 00000000 */ nop +/* C37B1C 802415EC 44800000 */ mtc1 $zero, $f0 +/* C37B20 802415F0 C614000C */ lwc1 $f20, 0xc($s0) +/* C37B24 802415F4 4600103C */ c.lt.s $f2, $f0 +/* C37B28 802415F8 00000000 */ nop +/* C37B2C 802415FC 45000006 */ bc1f .L80241618 +/* C37B30 80241600 00021023 */ negu $v0, $v0 +/* C37B34 80241604 44820000 */ mtc1 $v0, $f0 +/* C37B38 80241608 00000000 */ nop +/* C37B3C 8024160C 46800020 */ cvt.s.w $f0, $f0 +/* C37B40 80241610 08090587 */ j .L8024161C +/* C37B44 80241614 4600A500 */ add.s $f20, $f20, $f0 +.L80241618: +/* C37B48 80241618 4604A500 */ add.s $f20, $f20, $f4 +.L8024161C: +/* C37B4C 8024161C 0C00A6C9 */ jal clamp_angle +/* C37B50 80241620 4600A306 */ mov.s $f12, $f20 +/* C37B54 80241624 2402000D */ addiu $v0, $zero, 0xd +/* C37B58 80241628 E600000C */ swc1 $f0, 0xc($s0) +/* C37B5C 8024162C AE620070 */ sw $v0, 0x70($s3) +.L80241630: +/* C37B60 80241630 8FBF0020 */ lw $ra, 0x20($sp) +/* C37B64 80241634 8FB3001C */ lw $s3, 0x1c($sp) +/* C37B68 80241638 8FB20018 */ lw $s2, 0x18($sp) +/* C37B6C 8024163C 8FB10014 */ lw $s1, 0x14($sp) +/* C37B70 80241640 8FB00010 */ lw $s0, 0x10($sp) +/* C37B74 80241644 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C37B78 80241648 03E00008 */ jr $ra +/* C37B7C 8024164C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241650_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241650_C36530.s new file mode 100644 index 0000000000..8503a37bef --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241650_C36530.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650_C37B80 +/* C37B80 80241650 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C37B84 80241654 AFB30024 */ sw $s3, 0x24($sp) +/* C37B88 80241658 0080982D */ daddu $s3, $a0, $zero +/* C37B8C 8024165C AFBF0028 */ sw $ra, 0x28($sp) +/* C37B90 80241660 AFB20020 */ sw $s2, 0x20($sp) +/* C37B94 80241664 AFB1001C */ sw $s1, 0x1c($sp) +/* C37B98 80241668 AFB00018 */ sw $s0, 0x18($sp) +/* C37B9C 8024166C 8E700148 */ lw $s0, 0x148($s3) +/* C37BA0 80241670 00A0902D */ daddu $s2, $a1, $zero +/* C37BA4 80241674 86040008 */ lh $a0, 8($s0) +/* C37BA8 80241678 0C00EABB */ jal get_npc_unsafe +/* C37BAC 8024167C 00C0882D */ daddu $s1, $a2, $zero +/* C37BB0 80241680 0220202D */ daddu $a0, $s1, $zero +/* C37BB4 80241684 0200282D */ daddu $a1, $s0, $zero +/* C37BB8 80241688 24030001 */ addiu $v1, $zero, 1 +/* C37BBC 8024168C AFA30010 */ sw $v1, 0x10($sp) +/* C37BC0 80241690 8E460024 */ lw $a2, 0x24($s2) +/* C37BC4 80241694 8E470028 */ lw $a3, 0x28($s2) +/* C37BC8 80241698 0C01242D */ jal func_800490B4 +/* C37BCC 8024169C 0040802D */ daddu $s0, $v0, $zero +/* C37BD0 802416A0 10400024 */ beqz $v0, .L80241734 +/* C37BD4 802416A4 24020010 */ addiu $v0, $zero, 0x10 +/* C37BD8 802416A8 8E050018 */ lw $a1, 0x18($s0) +/* C37BDC 802416AC 8E06000C */ lw $a2, 0xc($s0) +/* C37BE0 802416B0 0C00EA95 */ jal npc_move_heading +/* C37BE4 802416B4 0200202D */ daddu $a0, $s0, $zero +/* C37BE8 802416B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C37BEC 802416BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C37BF0 802416C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C37BF4 802416C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C37BF8 802416C8 8C460028 */ lw $a2, 0x28($v0) +/* C37BFC 802416CC 0C00A7B5 */ jal dist2D +/* C37C00 802416D0 8C470030 */ lw $a3, 0x30($v0) +/* C37C04 802416D4 C6020018 */ lwc1 $f2, 0x18($s0) +/* C37C08 802416D8 3C014004 */ lui $at, 0x4004 +/* C37C0C 802416DC 44812800 */ mtc1 $at, $f5 +/* C37C10 802416E0 44802000 */ mtc1 $zero, $f4 +/* C37C14 802416E4 460010A1 */ cvt.d.s $f2, $f2 +/* C37C18 802416E8 46241082 */ mul.d $f2, $f2, $f4 +/* C37C1C 802416EC 00000000 */ nop +/* C37C20 802416F0 46000021 */ cvt.d.s $f0, $f0 +/* C37C24 802416F4 4622003E */ c.le.d $f0, $f2 +/* C37C28 802416F8 00000000 */ nop +/* C37C2C 802416FC 45000003 */ bc1f .L8024170C +/* C37C30 80241700 2402000E */ addiu $v0, $zero, 0xe +/* C37C34 80241704 080905CD */ j .L80241734 +/* C37C38 80241708 A600008E */ sh $zero, 0x8e($s0) +.L8024170C: +/* C37C3C 8024170C 9602008E */ lhu $v0, 0x8e($s0) +/* C37C40 80241710 2442FFFF */ addiu $v0, $v0, -1 +/* C37C44 80241714 A602008E */ sh $v0, 0x8e($s0) +/* C37C48 80241718 00021400 */ sll $v0, $v0, 0x10 +/* C37C4C 8024171C 1C400006 */ bgtz $v0, .L80241738 +/* C37C50 80241720 3C030020 */ lui $v1, 0x20 +/* C37C54 80241724 8E020000 */ lw $v0, ($s0) +/* C37C58 80241728 00431025 */ or $v0, $v0, $v1 +/* C37C5C 8024172C AE020000 */ sw $v0, ($s0) +/* C37C60 80241730 2402000C */ addiu $v0, $zero, 0xc +.L80241734: +/* C37C64 80241734 AE620070 */ sw $v0, 0x70($s3) +.L80241738: +/* C37C68 80241738 8FBF0028 */ lw $ra, 0x28($sp) +/* C37C6C 8024173C 8FB30024 */ lw $s3, 0x24($sp) +/* C37C70 80241740 8FB20020 */ lw $s2, 0x20($sp) +/* C37C74 80241744 8FB1001C */ lw $s1, 0x1c($sp) +/* C37C78 80241748 8FB00018 */ lw $s0, 0x18($sp) +/* C37C7C 8024174C 03E00008 */ jr $ra +/* C37C80 80241750 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241754_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241754_C36530.s new file mode 100644 index 0000000000..b64cc24b07 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241754_C36530.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241754_C37C84 +/* C37C84 80241754 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C37C88 80241758 AFB20020 */ sw $s2, 0x20($sp) +/* C37C8C 8024175C 0080902D */ daddu $s2, $a0, $zero +/* C37C90 80241760 AFBF0024 */ sw $ra, 0x24($sp) +/* C37C94 80241764 AFB1001C */ sw $s1, 0x1c($sp) +/* C37C98 80241768 AFB00018 */ sw $s0, 0x18($sp) +/* C37C9C 8024176C 8E500148 */ lw $s0, 0x148($s2) +/* C37CA0 80241770 0C00EABB */ jal get_npc_unsafe +/* C37CA4 80241774 86040008 */ lh $a0, 8($s0) +/* C37CA8 80241778 0040882D */ daddu $s1, $v0, $zero +/* C37CAC 8024177C 8E02006C */ lw $v0, 0x6c($s0) +/* C37CB0 80241780 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C37CB4 80241784 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C37CB8 80241788 34420100 */ ori $v0, $v0, 0x100 +/* C37CBC 8024178C AE02006C */ sw $v0, 0x6c($s0) +/* C37CC0 80241790 C4600028 */ lwc1 $f0, 0x28($v1) +/* C37CC4 80241794 E6200038 */ swc1 $f0, 0x38($s1) +/* C37CC8 80241798 C4600030 */ lwc1 $f0, 0x30($v1) +/* C37CCC 8024179C E6200040 */ swc1 $f0, 0x40($s1) +/* C37CD0 802417A0 8E03006C */ lw $v1, 0x6c($s0) +/* C37CD4 802417A4 30621000 */ andi $v0, $v1, 0x1000 +/* C37CD8 802417A8 14400003 */ bnez $v0, .L802417B8 +/* C37CDC 802417AC 3C048000 */ lui $a0, 0x8000 +/* C37CE0 802417B0 34621000 */ ori $v0, $v1, 0x1000 +/* C37CE4 802417B4 AE02006C */ sw $v0, 0x6c($s0) +.L802417B8: +/* C37CE8 802417B8 C6200040 */ lwc1 $f0, 0x40($s1) +/* C37CEC 802417BC 34840011 */ ori $a0, $a0, 0x11 +/* C37CF0 802417C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C37CF4 802417C4 8E260038 */ lw $a2, 0x38($s1) +/* C37CF8 802417C8 8E27003C */ lw $a3, 0x3c($s1) +/* C37CFC 802417CC 0C052757 */ jal play_sound_at_position +/* C37D00 802417D0 24050002 */ addiu $a1, $zero, 2 +/* C37D04 802417D4 2402000F */ addiu $v0, $zero, 0xf +/* C37D08 802417D8 A620008E */ sh $zero, 0x8e($s1) +/* C37D0C 802417DC AE420070 */ sw $v0, 0x70($s2) +/* C37D10 802417E0 8FBF0024 */ lw $ra, 0x24($sp) +/* C37D14 802417E4 8FB20020 */ lw $s2, 0x20($sp) +/* C37D18 802417E8 8FB1001C */ lw $s1, 0x1c($sp) +/* C37D1C 802417EC 8FB00018 */ lw $s0, 0x18($sp) +/* C37D20 802417F0 03E00008 */ jr $ra +/* C37D24 802417F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802417F8.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802417F8.s new file mode 100644 index 0000000000..bcf98b00a7 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802417F8.s @@ -0,0 +1,177 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417F8 +/* C37D28 802417F8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C37D2C 802417FC AFB40040 */ sw $s4, 0x40($sp) +/* C37D30 80241800 0080A02D */ daddu $s4, $a0, $zero +/* C37D34 80241804 AFBF0044 */ sw $ra, 0x44($sp) +/* C37D38 80241808 AFB3003C */ sw $s3, 0x3c($sp) +/* C37D3C 8024180C AFB20038 */ sw $s2, 0x38($sp) +/* C37D40 80241810 AFB10034 */ sw $s1, 0x34($sp) +/* C37D44 80241814 AFB00030 */ sw $s0, 0x30($sp) +/* C37D48 80241818 8E930148 */ lw $s3, 0x148($s4) +/* C37D4C 8024181C 00A0802D */ daddu $s0, $a1, $zero +/* C37D50 80241820 86640008 */ lh $a0, 8($s3) +/* C37D54 80241824 0C00EABB */ jal get_npc_unsafe +/* C37D58 80241828 00C0882D */ daddu $s1, $a2, $zero +/* C37D5C 8024182C 3C048000 */ lui $a0, 0x8000 +/* C37D60 80241830 0040902D */ daddu $s2, $v0, $zero +/* C37D64 80241834 C6400040 */ lwc1 $f0, 0x40($s2) +/* C37D68 80241838 34840011 */ ori $a0, $a0, 0x11 +/* C37D6C 8024183C E7A00010 */ swc1 $f0, 0x10($sp) +/* C37D70 80241840 8E460038 */ lw $a2, 0x38($s2) +/* C37D74 80241844 8E47003C */ lw $a3, 0x3c($s2) +/* C37D78 80241848 0C05267B */ jal func_801499EC +/* C37D7C 8024184C 24050002 */ addiu $a1, $zero, 2 +/* C37D80 80241850 0220202D */ daddu $a0, $s1, $zero +/* C37D84 80241854 24020001 */ addiu $v0, $zero, 1 +/* C37D88 80241858 AFA20010 */ sw $v0, 0x10($sp) +/* C37D8C 8024185C 8E060024 */ lw $a2, 0x24($s0) +/* C37D90 80241860 8E070028 */ lw $a3, 0x28($s0) +/* C37D94 80241864 0C01242D */ jal func_800490B4 +/* C37D98 80241868 0260282D */ daddu $a1, $s3, $zero +/* C37D9C 8024186C 1440000B */ bnez $v0, .L8024189C +/* C37DA0 80241870 3C04FFDF */ lui $a0, 0xffdf +/* C37DA4 80241874 8E62006C */ lw $v0, 0x6c($s3) +/* C37DA8 80241878 2403FEFF */ addiu $v1, $zero, -0x101 +/* C37DAC 8024187C 00431024 */ and $v0, $v0, $v1 +/* C37DB0 80241880 AE62006C */ sw $v0, 0x6c($s3) +/* C37DB4 80241884 8E420000 */ lw $v0, ($s2) +/* C37DB8 80241888 3484FFFF */ ori $a0, $a0, 0xffff +/* C37DBC 8024188C AE400048 */ sw $zero, 0x48($s2) +/* C37DC0 80241890 00441024 */ and $v0, $v0, $a0 +/* C37DC4 80241894 0809069B */ j .L80241A6C +/* C37DC8 80241898 AE420000 */ sw $v0, ($s2) +.L8024189C: +/* C37DCC 8024189C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C37DD0 802418A0 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C37DD4 802418A4 C6440048 */ lwc1 $f4, 0x48($s2) +/* C37DD8 802418A8 3C0141C8 */ lui $at, 0x41c8 +/* C37DDC 802418AC 44810000 */ mtc1 $at, $f0 +/* C37DE0 802418B0 8E020000 */ lw $v0, ($s0) +/* C37DE4 802418B4 46002100 */ add.s $f4, $f4, $f0 +/* C37DE8 802418B8 C4420028 */ lwc1 $f2, 0x28($v0) +/* C37DEC 802418BC 3C014000 */ lui $at, 0x4000 +/* C37DF0 802418C0 44810000 */ mtc1 $at, $f0 +/* C37DF4 802418C4 E6420038 */ swc1 $f2, 0x38($s2) +/* C37DF8 802418C8 C4420030 */ lwc1 $f2, 0x30($v0) +/* C37DFC 802418CC 46001080 */ add.s $f2, $f2, $f0 +/* C37E00 802418D0 3C018024 */ lui $at, 0x8024 +/* C37E04 802418D4 D4264448 */ ldc1 $f6, 0x4448($at) +/* C37E08 802418D8 46002021 */ cvt.d.s $f0, $f4 +/* C37E0C 802418DC 4620303C */ c.lt.d $f6, $f0 +/* C37E10 802418E0 E6440048 */ swc1 $f4, 0x48($s2) +/* C37E14 802418E4 45000004 */ bc1f .L802418F8 +/* C37E18 802418E8 E6420040 */ swc1 $f2, 0x40($s2) +/* C37E1C 802418EC 46260001 */ sub.d $f0, $f0, $f6 +/* C37E20 802418F0 46200020 */ cvt.s.d $f0, $f0 +/* C37E24 802418F4 E6400048 */ swc1 $f0, 0x48($s2) +.L802418F8: +/* C37E28 802418F8 3C02B60B */ lui $v0, 0xb60b +/* C37E2C 802418FC C6400048 */ lwc1 $f0, 0x48($s2) +/* C37E30 80241900 344260B7 */ ori $v0, $v0, 0x60b7 +/* C37E34 80241904 4600020D */ trunc.w.s $f8, $f0 +/* C37E38 80241908 44044000 */ mfc1 $a0, $f8 +/* C37E3C 8024190C 00000000 */ nop +/* C37E40 80241910 00820018 */ mult $a0, $v0 +/* C37E44 80241914 00041FC3 */ sra $v1, $a0, 0x1f +/* C37E48 80241918 00004010 */ mfhi $t0 +/* C37E4C 8024191C 01041021 */ addu $v0, $t0, $a0 +/* C37E50 80241920 000211C3 */ sra $v0, $v0, 7 +/* C37E54 80241924 00431023 */ subu $v0, $v0, $v1 +/* C37E58 80241928 00021840 */ sll $v1, $v0, 1 +/* C37E5C 8024192C 00621821 */ addu $v1, $v1, $v0 +/* C37E60 80241930 00031100 */ sll $v0, $v1, 4 +/* C37E64 80241934 00431023 */ subu $v0, $v0, $v1 +/* C37E68 80241938 00021080 */ sll $v0, $v0, 2 +/* C37E6C 8024193C 00822023 */ subu $a0, $a0, $v0 +/* C37E70 80241940 00042400 */ sll $a0, $a0, 0x10 +/* C37E74 80241944 0C00A4F5 */ jal cosine +/* C37E78 80241948 00042403 */ sra $a0, $a0, 0x10 +/* C37E7C 8024194C 3C014260 */ lui $at, 0x4260 +/* C37E80 80241950 44811000 */ mtc1 $at, $f2 +/* C37E84 80241954 00000000 */ nop +/* C37E88 80241958 46020002 */ mul.s $f0, $f0, $f2 +/* C37E8C 8024195C 00000000 */ nop +/* C37E90 80241960 24050006 */ addiu $a1, $zero, 6 +/* C37E94 80241964 3C01437F */ lui $at, 0x437f +/* C37E98 80241968 44811000 */ mtc1 $at, $f2 +/* C37E9C 8024196C 240200FF */ addiu $v0, $zero, 0xff +/* C37EA0 80241970 46001081 */ sub.s $f2, $f2, $f0 +/* C37EA4 80241974 AFA20014 */ sw $v0, 0x14($sp) +/* C37EA8 80241978 AFA00018 */ sw $zero, 0x18($sp) +/* C37EAC 8024197C 4600120D */ trunc.w.s $f8, $f2 +/* C37EB0 80241980 44064000 */ mfc1 $a2, $f8 +/* C37EB4 80241984 00000000 */ nop +/* C37EB8 80241988 AFA60010 */ sw $a2, 0x10($sp) +/* C37EBC 8024198C 8E440024 */ lw $a0, 0x24($s2) +/* C37EC0 80241990 0C0B7A25 */ jal func_802DE894 +/* C37EC4 80241994 00C0382D */ daddu $a3, $a2, $zero +/* C37EC8 80241998 27A50020 */ addiu $a1, $sp, 0x20 +/* C37ECC 8024199C 27A60024 */ addiu $a2, $sp, 0x24 +/* C37ED0 802419A0 8E020000 */ lw $v0, ($s0) +/* C37ED4 802419A4 3C01447A */ lui $at, 0x447a +/* C37ED8 802419A8 44810000 */ mtc1 $at, $f0 +/* C37EDC 802419AC C4420028 */ lwc1 $f2, 0x28($v0) +/* C37EE0 802419B0 C444002C */ lwc1 $f4, 0x2c($v0) +/* C37EE4 802419B4 C4460030 */ lwc1 $f6, 0x30($v0) +/* C37EE8 802419B8 27A2002C */ addiu $v0, $sp, 0x2c +/* C37EEC 802419BC E7A0002C */ swc1 $f0, 0x2c($sp) +/* C37EF0 802419C0 E7A20020 */ swc1 $f2, 0x20($sp) +/* C37EF4 802419C4 E7A40024 */ swc1 $f4, 0x24($sp) +/* C37EF8 802419C8 E7A60028 */ swc1 $f6, 0x28($sp) +/* C37EFC 802419CC AFA20010 */ sw $v0, 0x10($sp) +/* C37F00 802419D0 8E440080 */ lw $a0, 0x80($s2) +/* C37F04 802419D4 0C0372DF */ jal func_800DCB7C +/* C37F08 802419D8 27A70028 */ addiu $a3, $sp, 0x28 +/* C37F0C 802419DC C644003C */ lwc1 $f4, 0x3c($s2) +/* C37F10 802419E0 C7A00024 */ lwc1 $f0, 0x24($sp) +/* C37F14 802419E4 46002001 */ sub.s $f0, $f4, $f0 +/* C37F18 802419E8 3C014038 */ lui $at, 0x4038 +/* C37F1C 802419EC 44811800 */ mtc1 $at, $f3 +/* C37F20 802419F0 44801000 */ mtc1 $zero, $f2 +/* C37F24 802419F4 46000005 */ abs.s $f0, $f0 +/* C37F28 802419F8 46000021 */ cvt.d.s $f0, $f0 +/* C37F2C 802419FC 4620103C */ c.lt.d $f2, $f0 +/* C37F30 80241A00 00000000 */ nop +/* C37F34 80241A04 45000008 */ bc1f .L80241A28 +/* C37F38 80241A08 3C03FFDF */ lui $v1, 0xffdf +/* C37F3C 80241A0C 3C018024 */ lui $at, 0x8024 +/* C37F40 80241A10 D4224450 */ ldc1 $f2, 0x4450($at) +/* C37F44 80241A14 46002021 */ cvt.d.s $f0, $f4 +/* C37F48 80241A18 46220001 */ sub.d $f0, $f0, $f2 +/* C37F4C 80241A1C 46200020 */ cvt.s.d $f0, $f0 +/* C37F50 80241A20 0809069D */ j .L80241A74 +/* C37F54 80241A24 E640003C */ swc1 $f0, 0x3c($s2) +.L80241A28: +/* C37F58 80241A28 8E420000 */ lw $v0, ($s2) +/* C37F5C 80241A2C 3463FFFF */ ori $v1, $v1, 0xffff +/* C37F60 80241A30 AE400048 */ sw $zero, 0x48($s2) +/* C37F64 80241A34 00431024 */ and $v0, $v0, $v1 +/* C37F68 80241A38 AE420000 */ sw $v0, ($s2) +/* C37F6C 80241A3C 3C038011 */ lui $v1, 0x8011 +/* C37F70 80241A40 8063EBB3 */ lb $v1, -0x144d($v1) +/* C37F74 80241A44 24020009 */ addiu $v0, $zero, 9 +/* C37F78 80241A48 10620009 */ beq $v1, $v0, .L80241A70 +/* C37F7C 80241A4C 24020010 */ addiu $v0, $zero, 0x10 +/* C37F80 80241A50 0C03805E */ jal disable_player_input +/* C37F84 80241A54 00000000 */ nop +/* C37F88 80241A58 0C03BD8A */ jal func_800EF628 +/* C37F8C 80241A5C 00000000 */ nop +/* C37F90 80241A60 24020014 */ addiu $v0, $zero, 0x14 +/* C37F94 80241A64 0809069C */ j .L80241A70 +/* C37F98 80241A68 A640008E */ sh $zero, 0x8e($s2) +.L80241A6C: +/* C37F9C 80241A6C 24020010 */ addiu $v0, $zero, 0x10 +.L80241A70: +/* C37FA0 80241A70 AE820070 */ sw $v0, 0x70($s4) +.L80241A74: +/* C37FA4 80241A74 8FBF0044 */ lw $ra, 0x44($sp) +/* C37FA8 80241A78 8FB40040 */ lw $s4, 0x40($sp) +/* C37FAC 80241A7C 8FB3003C */ lw $s3, 0x3c($sp) +/* C37FB0 80241A80 8FB20038 */ lw $s2, 0x38($sp) +/* C37FB4 80241A84 8FB10034 */ lw $s1, 0x34($sp) +/* C37FB8 80241A88 8FB00030 */ lw $s0, 0x30($sp) +/* C37FBC 80241A8C 03E00008 */ jr $ra +/* C37FC0 80241A90 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241A94.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241A94.s new file mode 100644 index 0000000000..ed376358f8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241A94.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A94 +/* C37FC4 80241A94 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C37FC8 80241A98 AFB20028 */ sw $s2, 0x28($sp) +/* C37FCC 80241A9C 0080902D */ daddu $s2, $a0, $zero +/* C37FD0 80241AA0 AFBF002C */ sw $ra, 0x2c($sp) +/* C37FD4 80241AA4 AFB10024 */ sw $s1, 0x24($sp) +/* C37FD8 80241AA8 AFB00020 */ sw $s0, 0x20($sp) +/* C37FDC 80241AAC 8E500148 */ lw $s0, 0x148($s2) +/* C37FE0 80241AB0 0C00EABB */ jal get_npc_unsafe +/* C37FE4 80241AB4 86040008 */ lh $a0, 8($s0) +/* C37FE8 80241AB8 2404FEFF */ addiu $a0, $zero, -0x101 +/* C37FEC 80241ABC 0040882D */ daddu $s1, $v0, $zero +/* C37FF0 80241AC0 0000282D */ daddu $a1, $zero, $zero +/* C37FF4 80241AC4 8E03006C */ lw $v1, 0x6c($s0) +/* C37FF8 80241AC8 00A0302D */ daddu $a2, $a1, $zero +/* C37FFC 80241ACC 00641824 */ and $v1, $v1, $a0 +/* C38000 80241AD0 AE03006C */ sw $v1, 0x6c($s0) +/* C38004 80241AD4 AFA00010 */ sw $zero, 0x10($sp) +/* C38008 80241AD8 AFA00014 */ sw $zero, 0x14($sp) +/* C3800C 80241ADC AFA00018 */ sw $zero, 0x18($sp) +/* C38010 80241AE0 8E240024 */ lw $a0, 0x24($s1) +/* C38014 80241AE4 0C0B7A25 */ jal func_802DE894 +/* C38018 80241AE8 00A0382D */ daddu $a3, $a1, $zero +/* C3801C 80241AEC 8E02006C */ lw $v0, 0x6c($s0) +/* C38020 80241AF0 30421000 */ andi $v0, $v0, 0x1000 +/* C38024 80241AF4 10400008 */ beqz $v0, .L80241B18 +/* C38028 80241AF8 00000000 */ nop +/* C3802C 80241AFC 3C048000 */ lui $a0, 0x8000 +/* C38030 80241B00 0C05271B */ jal stop_sound +/* C38034 80241B04 34840011 */ ori $a0, $a0, 0x11 +/* C38038 80241B08 8E02006C */ lw $v0, 0x6c($s0) +/* C3803C 80241B0C 2403EFFF */ addiu $v1, $zero, -0x1001 +/* C38040 80241B10 00431024 */ and $v0, $v0, $v1 +/* C38044 80241B14 AE02006C */ sw $v0, 0x6c($s0) +.L80241B18: +/* C38048 80241B18 8E0200CC */ lw $v0, 0xcc($s0) +/* C3804C 80241B1C 8C430024 */ lw $v1, 0x24($v0) +/* C38050 80241B20 24020014 */ addiu $v0, $zero, 0x14 +/* C38054 80241B24 A622008E */ sh $v0, 0x8e($s1) +/* C38058 80241B28 24020011 */ addiu $v0, $zero, 0x11 +/* C3805C 80241B2C AE230028 */ sw $v1, 0x28($s1) +/* C38060 80241B30 AE420070 */ sw $v0, 0x70($s2) +/* C38064 80241B34 8FBF002C */ lw $ra, 0x2c($sp) +/* C38068 80241B38 8FB20028 */ lw $s2, 0x28($sp) +/* C3806C 80241B3C 8FB10024 */ lw $s1, 0x24($sp) +/* C38070 80241B40 8FB00020 */ lw $s0, 0x20($sp) +/* C38074 80241B44 03E00008 */ jr $ra +/* C38078 80241B48 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241B4C.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241B4C.s new file mode 100644 index 0000000000..8bc41b2b04 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241B4C.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B4C +/* C3807C 80241B4C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C38080 80241B50 AFB20048 */ sw $s2, 0x48($sp) +/* C38084 80241B54 0080902D */ daddu $s2, $a0, $zero +/* C38088 80241B58 AFBF004C */ sw $ra, 0x4c($sp) +/* C3808C 80241B5C AFB10044 */ sw $s1, 0x44($sp) +/* C38090 80241B60 AFB00040 */ sw $s0, 0x40($sp) +/* C38094 80241B64 F7B40050 */ sdc1 $f20, 0x50($sp) +/* C38098 80241B68 8E500148 */ lw $s0, 0x148($s2) +/* C3809C 80241B6C 0C00EABB */ jal get_npc_unsafe +/* C380A0 80241B70 86040008 */ lh $a0, 8($s0) +/* C380A4 80241B74 27A50028 */ addiu $a1, $sp, 0x28 +/* C380A8 80241B78 0040882D */ daddu $s1, $v0, $zero +/* C380AC 80241B7C 27A6002C */ addiu $a2, $sp, 0x2c +/* C380B0 80241B80 27A70030 */ addiu $a3, $sp, 0x30 +/* C380B4 80241B84 C620003C */ lwc1 $f0, 0x3c($s1) +/* C380B8 80241B88 3C014004 */ lui $at, 0x4004 +/* C380BC 80241B8C 44811800 */ mtc1 $at, $f3 +/* C380C0 80241B90 44801000 */ mtc1 $zero, $f2 +/* C380C4 80241B94 C6260038 */ lwc1 $f6, 0x38($s1) +/* C380C8 80241B98 46000021 */ cvt.d.s $f0, $f0 +/* C380CC 80241B9C 46220000 */ add.d $f0, $f0, $f2 +/* C380D0 80241BA0 3C01447A */ lui $at, 0x447a +/* C380D4 80241BA4 44812000 */ mtc1 $at, $f4 +/* C380D8 80241BA8 C6020078 */ lwc1 $f2, 0x78($s0) +/* C380DC 80241BAC 468010A0 */ cvt.s.w $f2, $f2 +/* C380E0 80241BB0 46200020 */ cvt.s.d $f0, $f0 +/* C380E4 80241BB4 E620003C */ swc1 $f0, 0x3c($s1) +/* C380E8 80241BB8 46000206 */ mov.s $f8, $f0 +/* C380EC 80241BBC C6200040 */ lwc1 $f0, 0x40($s1) +/* C380F0 80241BC0 27A20034 */ addiu $v0, $sp, 0x34 +/* C380F4 80241BC4 E7A00030 */ swc1 $f0, 0x30($sp) +/* C380F8 80241BC8 3C014059 */ lui $at, 0x4059 +/* C380FC 80241BCC 44810800 */ mtc1 $at, $f1 +/* C38100 80241BD0 44800000 */ mtc1 $zero, $f0 +/* C38104 80241BD4 460010A1 */ cvt.d.s $f2, $f2 +/* C38108 80241BD8 E7A60028 */ swc1 $f6, 0x28($sp) +/* C3810C 80241BDC E7A40034 */ swc1 $f4, 0x34($sp) +/* C38110 80241BE0 E7A8002C */ swc1 $f8, 0x2c($sp) +/* C38114 80241BE4 AFA20010 */ sw $v0, 0x10($sp) +/* C38118 80241BE8 8E240080 */ lw $a0, 0x80($s1) +/* C3811C 80241BEC 46201083 */ div.d $f2, $f2, $f0 +/* C38120 80241BF0 0C0372DF */ jal func_800DCB7C +/* C38124 80241BF4 46201520 */ cvt.s.d $f20, $f2 +/* C38128 80241BF8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C3812C 80241BFC 46140000 */ add.s $f0, $f0, $f20 +/* C38130 80241C00 C622003C */ lwc1 $f2, 0x3c($s1) +/* C38134 80241C04 4600103C */ c.lt.s $f2, $f0 +/* C38138 80241C08 00000000 */ nop +/* C3813C 80241C0C 45010028 */ bc1t .L80241CB0 +/* C38140 80241C10 00000000 */ nop +/* C38144 80241C14 8E0200D0 */ lw $v0, 0xd0($s0) +/* C38148 80241C18 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C3814C 80241C1C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C38150 80241C20 C44A0000 */ lwc1 $f10, ($v0) +/* C38154 80241C24 468052A0 */ cvt.s.w $f10, $f10 +/* C38158 80241C28 44065000 */ mfc1 $a2, $f10 +/* C3815C 80241C2C C44A0008 */ lwc1 $f10, 8($v0) +/* C38160 80241C30 468052A0 */ cvt.s.w $f10, $f10 +/* C38164 80241C34 44075000 */ mfc1 $a3, $f10 +/* C38168 80241C38 0C00A720 */ jal atan2 +/* C3816C 80241C3C 2410000A */ addiu $s0, $zero, 0xa +/* C38170 80241C40 24040002 */ addiu $a0, $zero, 2 +/* C38174 80241C44 0220282D */ daddu $a1, $s1, $zero +/* C38178 80241C48 0000302D */ daddu $a2, $zero, $zero +/* C3817C 80241C4C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* C38180 80241C50 862200A8 */ lh $v0, 0xa8($s1) +/* C38184 80241C54 E620000C */ swc1 $f0, 0xc($s1) +/* C38188 80241C58 3C013F80 */ lui $at, 0x3f80 +/* C3818C 80241C5C 44810000 */ mtc1 $at, $f0 +/* C38190 80241C60 3C014000 */ lui $at, 0x4000 +/* C38194 80241C64 44812000 */ mtc1 $at, $f4 +/* C38198 80241C68 3C01C1A0 */ lui $at, 0xc1a0 +/* C3819C 80241C6C 44813000 */ mtc1 $at, $f6 +/* C381A0 80241C70 44825000 */ mtc1 $v0, $f10 +/* C381A4 80241C74 00000000 */ nop +/* C381A8 80241C78 468052A0 */ cvt.s.w $f10, $f10 +/* C381AC 80241C7C 46141080 */ add.s $f2, $f2, $f20 +/* C381B0 80241C80 44075000 */ mfc1 $a3, $f10 +/* C381B4 80241C84 27A20038 */ addiu $v0, $sp, 0x38 +/* C381B8 80241C88 E622003C */ swc1 $f2, 0x3c($s1) +/* C381BC 80241C8C E7A00010 */ swc1 $f0, 0x10($sp) +/* C381C0 80241C90 E7A40014 */ swc1 $f4, 0x14($sp) +/* C381C4 80241C94 E7A60018 */ swc1 $f6, 0x18($sp) +/* C381C8 80241C98 AFB0001C */ sw $s0, 0x1c($sp) +/* C381CC 80241C9C 0C01BFA4 */ jal fx_emote +/* C381D0 80241CA0 AFA20020 */ sw $v0, 0x20($sp) +/* C381D4 80241CA4 24020012 */ addiu $v0, $zero, 0x12 +/* C381D8 80241CA8 A630008E */ sh $s0, 0x8e($s1) +/* C381DC 80241CAC AE420070 */ sw $v0, 0x70($s2) +.L80241CB0: +/* C381E0 80241CB0 8FBF004C */ lw $ra, 0x4c($sp) +/* C381E4 80241CB4 8FB20048 */ lw $s2, 0x48($sp) +/* C381E8 80241CB8 8FB10044 */ lw $s1, 0x44($sp) +/* C381EC 80241CBC 8FB00040 */ lw $s0, 0x40($sp) +/* C381F0 80241CC0 D7B40050 */ ldc1 $f20, 0x50($sp) +/* C381F4 80241CC4 03E00008 */ jr $ra +/* C381F8 80241CC8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241CCC_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241CCC_C36530.s new file mode 100644 index 0000000000..1791e7a9f5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241CCC_C36530.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CCC_C381FC +/* C381FC 80241CCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38200 80241CD0 AFB00010 */ sw $s0, 0x10($sp) +/* C38204 80241CD4 0080802D */ daddu $s0, $a0, $zero +/* C38208 80241CD8 AFBF0014 */ sw $ra, 0x14($sp) +/* C3820C 80241CDC 8E020148 */ lw $v0, 0x148($s0) +/* C38210 80241CE0 0C00EABB */ jal get_npc_unsafe +/* C38214 80241CE4 84440008 */ lh $a0, 8($v0) +/* C38218 80241CE8 9443008E */ lhu $v1, 0x8e($v0) +/* C3821C 80241CEC 2463FFFF */ addiu $v1, $v1, -1 +/* C38220 80241CF0 A443008E */ sh $v1, 0x8e($v0) +/* C38224 80241CF4 00031C00 */ sll $v1, $v1, 0x10 +/* C38228 80241CF8 1C600002 */ bgtz $v1, .L80241D04 +/* C3822C 80241CFC 2402001E */ addiu $v0, $zero, 0x1e +/* C38230 80241D00 AE020070 */ sw $v0, 0x70($s0) +.L80241D04: +/* C38234 80241D04 8FBF0014 */ lw $ra, 0x14($sp) +/* C38238 80241D08 8FB00010 */ lw $s0, 0x10($sp) +/* C3823C 80241D0C 03E00008 */ jr $ra +/* C38240 80241D10 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D14.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D14.s new file mode 100644 index 0000000000..cabb807a15 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D14.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D14 +/* C38244 80241D14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38248 80241D18 AFB00010 */ sw $s0, 0x10($sp) +/* C3824C 80241D1C 0080802D */ daddu $s0, $a0, $zero +/* C38250 80241D20 AFBF0014 */ sw $ra, 0x14($sp) +/* C38254 80241D24 8E020148 */ lw $v0, 0x148($s0) +/* C38258 80241D28 0C00EABB */ jal get_npc_unsafe +/* C3825C 80241D2C 84440008 */ lh $a0, 8($v0) +/* C38260 80241D30 0040202D */ daddu $a0, $v0, $zero +/* C38264 80241D34 9482008E */ lhu $v0, 0x8e($a0) +/* C38268 80241D38 24420001 */ addiu $v0, $v0, 1 +/* C3826C 80241D3C A482008E */ sh $v0, 0x8e($a0) +/* C38270 80241D40 00021400 */ sll $v0, $v0, 0x10 +/* C38274 80241D44 00021403 */ sra $v0, $v0, 0x10 +/* C38278 80241D48 28420003 */ slti $v0, $v0, 3 +/* C3827C 80241D4C 1440000D */ bnez $v0, .L80241D84 +/* C38280 80241D50 24020009 */ addiu $v0, $zero, 9 +/* C38284 80241D54 3C038011 */ lui $v1, 0x8011 +/* C38288 80241D58 8063EBB3 */ lb $v1, -0x144d($v1) +/* C3828C 80241D5C 10620003 */ beq $v1, $v0, .L80241D6C +/* C38290 80241D60 24020064 */ addiu $v0, $zero, 0x64 +/* C38294 80241D64 08090760 */ j .L80241D80 +/* C38298 80241D68 A480008E */ sh $zero, 0x8e($a0) +.L80241D6C: +/* C3829C 80241D6C 0C038069 */ jal enable_player_input +/* C382A0 80241D70 00000000 */ nop +/* C382A4 80241D74 0C03BD80 */ jal func_800EF600 +/* C382A8 80241D78 00000000 */ nop +/* C382AC 80241D7C 24020010 */ addiu $v0, $zero, 0x10 +.L80241D80: +/* C382B0 80241D80 AE020070 */ sw $v0, 0x70($s0) +.L80241D84: +/* C382B4 80241D84 8FBF0014 */ lw $ra, 0x14($sp) +/* C382B8 80241D88 8FB00010 */ lw $s0, 0x10($sp) +/* C382BC 80241D8C 03E00008 */ jr $ra +/* C382C0 80241D90 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D94.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D94.s new file mode 100644 index 0000000000..df420a07f6 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241D94.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D94 +/* C382C4 80241D94 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C382C8 80241D98 AFB20018 */ sw $s2, 0x18($sp) +/* C382CC 80241D9C 0080902D */ daddu $s2, $a0, $zero +/* C382D0 80241DA0 AFBF001C */ sw $ra, 0x1c($sp) +/* C382D4 80241DA4 AFB10014 */ sw $s1, 0x14($sp) +/* C382D8 80241DA8 AFB00010 */ sw $s0, 0x10($sp) +/* C382DC 80241DAC 8E500148 */ lw $s0, 0x148($s2) +/* C382E0 80241DB0 86040008 */ lh $a0, 8($s0) +/* C382E4 80241DB4 0C00EABB */ jal get_npc_unsafe +/* C382E8 80241DB8 00A0882D */ daddu $s1, $a1, $zero +/* C382EC 80241DBC 3C05FFDF */ lui $a1, 0xffdf +/* C382F0 80241DC0 8E03006C */ lw $v1, 0x6c($s0) +/* C382F4 80241DC4 2404FEFF */ addiu $a0, $zero, -0x101 +/* C382F8 80241DC8 00641824 */ and $v1, $v1, $a0 +/* C382FC 80241DCC AE03006C */ sw $v1, 0x6c($s0) +/* C38300 80241DD0 8C430000 */ lw $v1, ($v0) +/* C38304 80241DD4 34A5FFFF */ ori $a1, $a1, 0xffff +/* C38308 80241DD8 00651824 */ and $v1, $v1, $a1 +/* C3830C 80241DDC AC430000 */ sw $v1, ($v0) +/* C38310 80241DE0 C6200000 */ lwc1 $f0, ($s1) +/* C38314 80241DE4 46000021 */ cvt.d.s $f0, $f0 +/* C38318 80241DE8 46200000 */ add.d $f0, $f0, $f0 +/* C3831C 80241DEC 46200020 */ cvt.s.d $f0, $f0 +/* C38320 80241DF0 E4400018 */ swc1 $f0, 0x18($v0) +/* C38324 80241DF4 AE000074 */ sw $zero, 0x74($s0) +/* C38328 80241DF8 C440003C */ lwc1 $f0, 0x3c($v0) +/* C3832C 80241DFC 3C014059 */ lui $at, 0x4059 +/* C38330 80241E00 44811800 */ mtc1 $at, $f3 +/* C38334 80241E04 44801000 */ mtc1 $zero, $f2 +/* C38338 80241E08 46000021 */ cvt.d.s $f0, $f0 +/* C3833C 80241E0C 46220002 */ mul.d $f0, $f0, $f2 +/* C38340 80241E10 00000000 */ nop +/* C38344 80241E14 2402001E */ addiu $v0, $zero, 0x1e +/* C38348 80241E18 4620010D */ trunc.w.d $f4, $f0 +/* C3834C 80241E1C E604007C */ swc1 $f4, 0x7c($s0) +/* C38350 80241E20 AE420074 */ sw $v0, 0x74($s2) +/* C38354 80241E24 8FBF001C */ lw $ra, 0x1c($sp) +/* C38358 80241E28 8FB20018 */ lw $s2, 0x18($sp) +/* C3835C 80241E2C 8FB10014 */ lw $s1, 0x14($sp) +/* C38360 80241E30 8FB00010 */ lw $s0, 0x10($sp) +/* C38364 80241E34 03E00008 */ jr $ra +/* C38368 80241E38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80241E3C.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241E3C.s new file mode 100644 index 0000000000..27ebf65e89 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80241E3C.s @@ -0,0 +1,207 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E3C +/* C3836C 80241E3C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C38370 80241E40 AFB20048 */ sw $s2, 0x48($sp) +/* C38374 80241E44 0080902D */ daddu $s2, $a0, $zero +/* C38378 80241E48 AFBF0054 */ sw $ra, 0x54($sp) +/* C3837C 80241E4C AFB40050 */ sw $s4, 0x50($sp) +/* C38380 80241E50 AFB3004C */ sw $s3, 0x4c($sp) +/* C38384 80241E54 AFB10044 */ sw $s1, 0x44($sp) +/* C38388 80241E58 AFB00040 */ sw $s0, 0x40($sp) +/* C3838C 80241E5C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C38390 80241E60 F7B80068 */ sdc1 $f24, 0x68($sp) +/* C38394 80241E64 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C38398 80241E68 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C3839C 80241E6C 8E500148 */ lw $s0, 0x148($s2) +/* C383A0 80241E70 00A0982D */ daddu $s3, $a1, $zero +/* C383A4 80241E74 86040008 */ lh $a0, 8($s0) +/* C383A8 80241E78 0C00EABB */ jal get_npc_unsafe +/* C383AC 80241E7C 00C0A02D */ daddu $s4, $a2, $zero +/* C383B0 80241E80 0040882D */ daddu $s1, $v0, $zero +/* C383B4 80241E84 C6200038 */ lwc1 $f0, 0x38($s1) +/* C383B8 80241E88 C622003C */ lwc1 $f2, 0x3c($s1) +/* C383BC 80241E8C C6240040 */ lwc1 $f4, 0x40($s1) +/* C383C0 80241E90 3C01447A */ lui $at, 0x447a +/* C383C4 80241E94 44813000 */ mtc1 $at, $f6 +/* C383C8 80241E98 C60C0074 */ lwc1 $f12, 0x74($s0) +/* C383CC 80241E9C 46806320 */ cvt.s.w $f12, $f12 +/* C383D0 80241EA0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C383D4 80241EA4 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C383D8 80241EA8 E7A40030 */ swc1 $f4, 0x30($sp) +/* C383DC 80241EAC E7A60034 */ swc1 $f6, 0x34($sp) +/* C383E0 80241EB0 C6000078 */ lwc1 $f0, 0x78($s0) +/* C383E4 80241EB4 46800020 */ cvt.s.w $f0, $f0 +/* C383E8 80241EB8 46000021 */ cvt.d.s $f0, $f0 +/* C383EC 80241EBC C6020088 */ lwc1 $f2, 0x88($s0) +/* C383F0 80241EC0 468010A0 */ cvt.s.w $f2, $f2 +/* C383F4 80241EC4 3C014059 */ lui $at, 0x4059 +/* C383F8 80241EC8 44812800 */ mtc1 $at, $f5 +/* C383FC 80241ECC 44802000 */ mtc1 $zero, $f4 +/* C38400 80241ED0 460010A1 */ cvt.d.s $f2, $f2 +/* C38404 80241ED4 46240003 */ div.d $f0, $f0, $f4 +/* C38408 80241ED8 462006A0 */ cvt.s.d $f26, $f0 +/* C3840C 80241EDC 46241083 */ div.d $f2, $f2, $f4 +/* C38410 80241EE0 462010A0 */ cvt.s.d $f2, $f2 +/* C38414 80241EE4 C6000070 */ lwc1 $f0, 0x70($s0) +/* C38418 80241EE8 46800020 */ cvt.s.w $f0, $f0 +/* C3841C 80241EEC 46000021 */ cvt.d.s $f0, $f0 +/* C38420 80241EF0 46240003 */ div.d $f0, $f0, $f4 +/* C38424 80241EF4 462005A0 */ cvt.s.d $f22, $f0 +/* C38428 80241EF8 0C00A8BB */ jal sin_deg +/* C3842C 80241EFC 4602D600 */ add.s $f24, $f26, $f2 +/* C38430 80241F00 27A50028 */ addiu $a1, $sp, 0x28 +/* C38434 80241F04 27A6002C */ addiu $a2, $sp, 0x2c +/* C38438 80241F08 27A70030 */ addiu $a3, $sp, 0x30 +/* C3843C 80241F0C 27A20034 */ addiu $v0, $sp, 0x34 +/* C38440 80241F10 AFA20010 */ sw $v0, 0x10($sp) +/* C38444 80241F14 8E240080 */ lw $a0, 0x80($s1) +/* C38448 80241F18 0C0372DF */ jal func_800DCB7C +/* C3844C 80241F1C 46000506 */ mov.s $f20, $f0 +/* C38450 80241F20 10400007 */ beqz $v0, .L80241F40 +/* C38454 80241F24 00000000 */ nop +/* C38458 80241F28 4616A082 */ mul.s $f2, $f20, $f22 +/* C3845C 80241F2C 00000000 */ nop +/* C38460 80241F30 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C38464 80241F34 461A0000 */ add.s $f0, $f0, $f26 +/* C38468 80241F38 080907D3 */ j .L80241F4C +/* C3846C 80241F3C 46020000 */ add.s $f0, $f0, $f2 +.L80241F40: +/* C38470 80241F40 4616A002 */ mul.s $f0, $f20, $f22 +/* C38474 80241F44 00000000 */ nop +/* C38478 80241F48 4600C000 */ add.s $f0, $f24, $f0 +.L80241F4C: +/* C3847C 80241F4C E620003C */ swc1 $f0, 0x3c($s1) +/* C38480 80241F50 8E020074 */ lw $v0, 0x74($s0) +/* C38484 80241F54 2442000C */ addiu $v0, $v0, 0xc +/* C38488 80241F58 44826000 */ mtc1 $v0, $f12 +/* C3848C 80241F5C 00000000 */ nop +/* C38490 80241F60 0C00A6C9 */ jal clamp_angle +/* C38494 80241F64 46806320 */ cvt.s.w $f12, $f12 +/* C38498 80241F68 4600020D */ trunc.w.s $f8, $f0 +/* C3849C 80241F6C E6080074 */ swc1 $f8, 0x74($s0) +/* C384A0 80241F70 8E420074 */ lw $v0, 0x74($s2) +/* C384A4 80241F74 1C400037 */ bgtz $v0, .L80242054 +/* C384A8 80241F78 2442FFFF */ addiu $v0, $v0, -1 +/* C384AC 80241F7C 8E620014 */ lw $v0, 0x14($s3) +/* C384B0 80241F80 AE420074 */ sw $v0, 0x74($s2) +/* C384B4 80241F84 C662000C */ lwc1 $f2, 0xc($s3) +/* C384B8 80241F88 3C013FE0 */ lui $at, 0x3fe0 +/* C384BC 80241F8C 44812800 */ mtc1 $at, $f5 +/* C384C0 80241F90 44802000 */ mtc1 $zero, $f4 +/* C384C4 80241F94 460010A1 */ cvt.d.s $f2, $f2 +/* C384C8 80241F98 46241082 */ mul.d $f2, $f2, $f4 +/* C384CC 80241F9C 00000000 */ nop +/* C384D0 80241FA0 C6600010 */ lwc1 $f0, 0x10($s3) +/* C384D4 80241FA4 46000021 */ cvt.d.s $f0, $f0 +/* C384D8 80241FA8 46240002 */ mul.d $f0, $f0, $f4 +/* C384DC 80241FAC 00000000 */ nop +/* C384E0 80241FB0 0280202D */ daddu $a0, $s4, $zero +/* C384E4 80241FB4 462010A0 */ cvt.s.d $f2, $f2 +/* C384E8 80241FB8 46200020 */ cvt.s.d $f0, $f0 +/* C384EC 80241FBC 44061000 */ mfc1 $a2, $f2 +/* C384F0 80241FC0 44070000 */ mfc1 $a3, $f0 +/* C384F4 80241FC4 0200282D */ daddu $a1, $s0, $zero +/* C384F8 80241FC8 0C01242D */ jal func_800490B4 +/* C384FC 80241FCC AFA00010 */ sw $zero, 0x10($sp) +/* C38500 80241FD0 1040001E */ beqz $v0, .L8024204C +/* C38504 80241FD4 0000202D */ daddu $a0, $zero, $zero +/* C38508 80241FD8 0220282D */ daddu $a1, $s1, $zero +/* C3850C 80241FDC 0000302D */ daddu $a2, $zero, $zero +/* C38510 80241FE0 2410000C */ addiu $s0, $zero, 0xc +/* C38514 80241FE4 862300A8 */ lh $v1, 0xa8($s1) +/* C38518 80241FE8 3C013F80 */ lui $at, 0x3f80 +/* C3851C 80241FEC 44810000 */ mtc1 $at, $f0 +/* C38520 80241FF0 3C014000 */ lui $at, 0x4000 +/* C38524 80241FF4 44811000 */ mtc1 $at, $f2 +/* C38528 80241FF8 3C01C1A0 */ lui $at, 0xc1a0 +/* C3852C 80241FFC 44812000 */ mtc1 $at, $f4 +/* C38530 80242000 44834000 */ mtc1 $v1, $f8 +/* C38534 80242004 00000000 */ nop +/* C38538 80242008 46804220 */ cvt.s.w $f8, $f8 +/* C3853C 8024200C 44074000 */ mfc1 $a3, $f8 +/* C38540 80242010 27A20038 */ addiu $v0, $sp, 0x38 +/* C38544 80242014 AFB0001C */ sw $s0, 0x1c($sp) +/* C38548 80242018 AFA20020 */ sw $v0, 0x20($sp) +/* C3854C 8024201C E7A00010 */ swc1 $f0, 0x10($sp) +/* C38550 80242020 E7A20014 */ swc1 $f2, 0x14($sp) +/* C38554 80242024 0C01BFA4 */ jal fx_emote +/* C38558 80242028 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3855C 8024202C 0220202D */ daddu $a0, $s1, $zero +/* C38560 80242030 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C38564 80242034 0C012530 */ jal func_800494C0 +/* C38568 80242038 3C060020 */ lui $a2, 0x20 +/* C3856C 8024203C C620003C */ lwc1 $f0, 0x3c($s1) +/* C38570 80242040 E6200064 */ swc1 $f0, 0x64($s1) +/* C38574 80242044 08090849 */ j .L80242124 +/* C38578 80242048 AE500070 */ sw $s0, 0x70($s2) +.L8024204C: +/* C3857C 8024204C 8E420074 */ lw $v0, 0x74($s2) +/* C38580 80242050 2442FFFF */ addiu $v0, $v0, -1 +.L80242054: +/* C38584 80242054 AE420074 */ sw $v0, 0x74($s2) +/* C38588 80242058 8622008C */ lh $v0, 0x8c($s1) +/* C3858C 8024205C 14400031 */ bnez $v0, .L80242124 +/* C38590 80242060 00000000 */ nop +/* C38594 80242064 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C38598 80242068 8E0200D0 */ lw $v0, 0xd0($s0) +/* C3859C 8024206C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C385A0 80242070 C4480000 */ lwc1 $f8, ($v0) +/* C385A4 80242074 46804220 */ cvt.s.w $f8, $f8 +/* C385A8 80242078 44064000 */ mfc1 $a2, $f8 +/* C385AC 8024207C C4480008 */ lwc1 $f8, 8($v0) +/* C385B0 80242080 46804220 */ cvt.s.w $f8, $f8 +/* C385B4 80242084 44074000 */ mfc1 $a3, $f8 +/* C385B8 80242088 0C00A720 */ jal atan2 +/* C385BC 8024208C 00000000 */ nop +/* C385C0 80242090 8E250018 */ lw $a1, 0x18($s1) +/* C385C4 80242094 44060000 */ mfc1 $a2, $f0 +/* C385C8 80242098 0220202D */ daddu $a0, $s1, $zero +/* C385CC 8024209C 0C00EA95 */ jal npc_move_heading +/* C385D0 802420A0 AE26000C */ sw $a2, 0xc($s1) +/* C385D4 802420A4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C385D8 802420A8 8E0200D0 */ lw $v0, 0xd0($s0) +/* C385DC 802420AC C62E0040 */ lwc1 $f14, 0x40($s1) +/* C385E0 802420B0 C4480000 */ lwc1 $f8, ($v0) +/* C385E4 802420B4 46804220 */ cvt.s.w $f8, $f8 +/* C385E8 802420B8 44064000 */ mfc1 $a2, $f8 +/* C385EC 802420BC C4480008 */ lwc1 $f8, 8($v0) +/* C385F0 802420C0 46804220 */ cvt.s.w $f8, $f8 +/* C385F4 802420C4 44074000 */ mfc1 $a3, $f8 +/* C385F8 802420C8 0C00A7B5 */ jal dist2D +/* C385FC 802420CC 00000000 */ nop +/* C38600 802420D0 C6220018 */ lwc1 $f2, 0x18($s1) +/* C38604 802420D4 46021080 */ add.s $f2, $f2, $f2 +/* C38608 802420D8 4602003E */ c.le.s $f0, $f2 +/* C3860C 802420DC 00000000 */ nop +/* C38610 802420E0 45000010 */ bc1f .L80242124 +/* C38614 802420E4 E7A00034 */ swc1 $f0, 0x34($sp) +/* C38618 802420E8 0C00A67F */ jal rand_int +/* C3861C 802420EC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C38620 802420F0 3C035555 */ lui $v1, 0x5555 +/* C38624 802420F4 34635556 */ ori $v1, $v1, 0x5556 +/* C38628 802420F8 00430018 */ mult $v0, $v1 +/* C3862C 802420FC 24030002 */ addiu $v1, $zero, 2 +/* C38630 80242100 000227C3 */ sra $a0, $v0, 0x1f +/* C38634 80242104 AE430070 */ sw $v1, 0x70($s2) +/* C38638 80242108 00004010 */ mfhi $t0 +/* C3863C 8024210C 01042023 */ subu $a0, $t0, $a0 +/* C38640 80242110 00041840 */ sll $v1, $a0, 1 +/* C38644 80242114 00641821 */ addu $v1, $v1, $a0 +/* C38648 80242118 00431023 */ subu $v0, $v0, $v1 +/* C3864C 8024211C 24420002 */ addiu $v0, $v0, 2 +/* C38650 80242120 AE420074 */ sw $v0, 0x74($s2) +.L80242124: +/* C38654 80242124 8FBF0054 */ lw $ra, 0x54($sp) +/* C38658 80242128 8FB40050 */ lw $s4, 0x50($sp) +/* C3865C 8024212C 8FB3004C */ lw $s3, 0x4c($sp) +/* C38660 80242130 8FB20048 */ lw $s2, 0x48($sp) +/* C38664 80242134 8FB10044 */ lw $s1, 0x44($sp) +/* C38668 80242138 8FB00040 */ lw $s0, 0x40($sp) +/* C3866C 8024213C D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C38670 80242140 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C38674 80242144 D7B60060 */ ldc1 $f22, 0x60($sp) +/* C38678 80242148 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C3867C 8024214C 03E00008 */ jr $ra +/* C38680 80242150 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242154.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242154.s new file mode 100644 index 0000000000..ac1fed8d87 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242154.s @@ -0,0 +1,166 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242154 +/* C38684 80242154 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C38688 80242158 AFB40050 */ sw $s4, 0x50($sp) +/* C3868C 8024215C 0080A02D */ daddu $s4, $a0, $zero +/* C38690 80242160 AFBF0058 */ sw $ra, 0x58($sp) +/* C38694 80242164 AFB50054 */ sw $s5, 0x54($sp) +/* C38698 80242168 AFB3004C */ sw $s3, 0x4c($sp) +/* C3869C 8024216C AFB20048 */ sw $s2, 0x48($sp) +/* C386A0 80242170 AFB10044 */ sw $s1, 0x44($sp) +/* C386A4 80242174 AFB00040 */ sw $s0, 0x40($sp) +/* C386A8 80242178 8E920148 */ lw $s2, 0x148($s4) +/* C386AC 8024217C 86440008 */ lh $a0, 8($s2) +/* C386B0 80242180 0C00EABB */ jal get_npc_unsafe +/* C386B4 80242184 00A0802D */ daddu $s0, $a1, $zero +/* C386B8 80242188 8E83000C */ lw $v1, 0xc($s4) +/* C386BC 8024218C 0280202D */ daddu $a0, $s4, $zero +/* C386C0 80242190 8C650000 */ lw $a1, ($v1) +/* C386C4 80242194 0C0B1EAF */ jal get_variable +/* C386C8 80242198 0040A82D */ daddu $s5, $v0, $zero +/* C386CC 8024219C AFA00020 */ sw $zero, 0x20($sp) +/* C386D0 802421A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C386D4 802421A4 8C630030 */ lw $v1, 0x30($v1) +/* C386D8 802421A8 AFA30024 */ sw $v1, 0x24($sp) +/* C386DC 802421AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C386E0 802421B0 8C63001C */ lw $v1, 0x1c($v1) +/* C386E4 802421B4 AFA30028 */ sw $v1, 0x28($sp) +/* C386E8 802421B8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C386EC 802421BC 8C630024 */ lw $v1, 0x24($v1) +/* C386F0 802421C0 AFA3002C */ sw $v1, 0x2c($sp) +/* C386F4 802421C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C386F8 802421C8 8C630028 */ lw $v1, 0x28($v1) +/* C386FC 802421CC 27B30020 */ addiu $s3, $sp, 0x20 +/* C38700 802421D0 AFA30030 */ sw $v1, 0x30($sp) +/* C38704 802421D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C38708 802421D8 3C0142FA */ lui $at, 0x42fa +/* C3870C 802421DC 44810000 */ mtc1 $at, $f0 +/* C38710 802421E0 8C63002C */ lw $v1, 0x2c($v1) +/* C38714 802421E4 0040882D */ daddu $s1, $v0, $zero +/* C38718 802421E8 E7A00038 */ swc1 $f0, 0x38($sp) +/* C3871C 802421EC A7A0003C */ sh $zero, 0x3c($sp) +/* C38720 802421F0 12000007 */ beqz $s0, .L80242210 +/* C38724 802421F4 AFA30034 */ sw $v1, 0x34($sp) +/* C38728 802421F8 AE800070 */ sw $zero, 0x70($s4) +/* C3872C 802421FC 02A0202D */ daddu $a0, $s5, $zero +/* C38730 80242200 0240282D */ daddu $a1, $s2, $zero +/* C38734 80242204 0280302D */ daddu $a2, $s4, $zero +/* C38738 80242208 0C09047A */ jal func_802411E8 +/* C3873C 8024220C 0220382D */ daddu $a3, $s1, $zero +.L80242210: +/* C38740 80242210 8E830070 */ lw $v1, 0x70($s4) +/* C38744 80242214 2C620020 */ sltiu $v0, $v1, 0x20 +/* C38748 80242218 10400060 */ beqz $v0, .L8024239C +/* C3874C 8024221C 00031080 */ sll $v0, $v1, 2 +/* C38750 80242220 3C018024 */ lui $at, 0x8024 +/* C38754 80242224 00220821 */ addu $at, $at, $v0 +/* C38758 80242228 8C224458 */ lw $v0, 0x4458($at) +/* C3875C 8024222C 00400008 */ jr $v0 +/* C38760 80242230 00000000 */ nop +/* C38764 80242234 0280202D */ daddu $a0, $s4, $zero +/* C38768 80242238 0220282D */ daddu $a1, $s1, $zero +/* C3876C 8024223C 0C090000 */ jal func_80240000 +/* C38770 80242240 0260302D */ daddu $a2, $s3, $zero +/* C38774 80242244 0000282D */ daddu $a1, $zero, $zero +/* C38778 80242248 00A0302D */ daddu $a2, $a1, $zero +/* C3877C 8024224C AFA00010 */ sw $zero, 0x10($sp) +/* C38780 80242250 AFA00014 */ sw $zero, 0x14($sp) +/* C38784 80242254 AFA00018 */ sw $zero, 0x18($sp) +/* C38788 80242258 8EA40024 */ lw $a0, 0x24($s5) +/* C3878C 8024225C 0C0B7A25 */ jal func_802DE894 +/* C38790 80242260 00A0382D */ daddu $a3, $a1, $zero +/* C38794 80242264 0280202D */ daddu $a0, $s4, $zero +/* C38798 80242268 0220282D */ daddu $a1, $s1, $zero +/* C3879C 8024226C 0C09006C */ jal func_802401B0 +/* C387A0 80242270 0260302D */ daddu $a2, $s3, $zero +/* C387A4 80242274 080908A7 */ j .L8024229C +/* C387A8 80242278 00000000 */ nop +/* C387AC 8024227C 0280202D */ daddu $a0, $s4, $zero +/* C387B0 80242280 0220282D */ daddu $a1, $s1, $zero +/* C387B4 80242284 0C0901F6 */ jal func_802407D8 +/* C387B8 80242288 0260302D */ daddu $a2, $s3, $zero +/* C387BC 8024228C 0280202D */ daddu $a0, $s4, $zero +/* C387C0 80242290 0220282D */ daddu $a1, $s1, $zero +/* C387C4 80242294 0C090226 */ jal func_80240898 +/* C387C8 80242298 0260302D */ daddu $a2, $s3, $zero +.L8024229C: +/* C387CC 8024229C 8E830070 */ lw $v1, 0x70($s4) +/* C387D0 802422A0 2402000C */ addiu $v0, $zero, 0xc +/* C387D4 802422A4 1462003D */ bne $v1, $v0, .L8024239C +/* C387D8 802422A8 24020006 */ addiu $v0, $zero, 6 +/* C387DC 802422AC 080908E7 */ j .L8024239C +/* C387E0 802422B0 A6A2008E */ sh $v0, 0x8e($s5) +/* C387E4 802422B4 0280202D */ daddu $a0, $s4, $zero +/* C387E8 802422B8 0220282D */ daddu $a1, $s1, $zero +/* C387EC 802422BC 0C09053E */ jal func_802414F8 +/* C387F0 802422C0 0260302D */ daddu $a2, $s3, $zero +/* C387F4 802422C4 8E830070 */ lw $v1, 0x70($s4) +/* C387F8 802422C8 2402000D */ addiu $v0, $zero, 0xd +/* C387FC 802422CC 14620033 */ bne $v1, $v0, .L8024239C +/* C38800 802422D0 00000000 */ nop +/* C38804 802422D4 0280202D */ daddu $a0, $s4, $zero +/* C38808 802422D8 0220282D */ daddu $a1, $s1, $zero +/* C3880C 802422DC 0C090594 */ jal func_80241650 +/* C38810 802422E0 0260302D */ daddu $a2, $s3, $zero +/* C38814 802422E4 080908E7 */ j .L8024239C +/* C38818 802422E8 00000000 */ nop +/* C3881C 802422EC 0280202D */ daddu $a0, $s4, $zero +/* C38820 802422F0 0220282D */ daddu $a1, $s1, $zero +/* C38824 802422F4 0C0905D5 */ jal func_80241754 +/* C38828 802422F8 0260302D */ daddu $a2, $s3, $zero +/* C3882C 802422FC 8E830070 */ lw $v1, 0x70($s4) +/* C38830 80242300 2402000F */ addiu $v0, $zero, 0xf +/* C38834 80242304 14620025 */ bne $v1, $v0, .L8024239C +/* C38838 80242308 00000000 */ nop +/* C3883C 8024230C 0280202D */ daddu $a0, $s4, $zero +/* C38840 80242310 0220282D */ daddu $a1, $s1, $zero +/* C38844 80242314 0C0905FE */ jal func_802417F8 +/* C38848 80242318 0260302D */ daddu $a2, $s3, $zero +/* C3884C 8024231C 080908E7 */ j .L8024239C +/* C38850 80242320 00000000 */ nop +/* C38854 80242324 0280202D */ daddu $a0, $s4, $zero +/* C38858 80242328 0220282D */ daddu $a1, $s1, $zero +/* C3885C 8024232C 0C0906A5 */ jal func_80241A94 +/* C38860 80242330 0260302D */ daddu $a2, $s3, $zero +/* C38864 80242334 0280202D */ daddu $a0, $s4, $zero +/* C38868 80242338 0220282D */ daddu $a1, $s1, $zero +/* C3886C 8024233C 0C0906D3 */ jal func_80241B4C +/* C38870 80242340 0260302D */ daddu $a2, $s3, $zero +/* C38874 80242344 080908E7 */ j .L8024239C +/* C38878 80242348 00000000 */ nop +/* C3887C 8024234C 0280202D */ daddu $a0, $s4, $zero +/* C38880 80242350 0220282D */ daddu $a1, $s1, $zero +/* C38884 80242354 0C090733 */ jal func_80241CCC +/* C38888 80242358 0260302D */ daddu $a2, $s3, $zero +/* C3888C 8024235C 080908E7 */ j .L8024239C +/* C38890 80242360 00000000 */ nop +/* C38894 80242364 0280202D */ daddu $a0, $s4, $zero +/* C38898 80242368 0220282D */ daddu $a1, $s1, $zero +/* C3889C 8024236C 0C090745 */ jal func_80241D14 +/* C388A0 80242370 0260302D */ daddu $a2, $s3, $zero +/* C388A4 80242374 080908E7 */ j .L8024239C +/* C388A8 80242378 00000000 */ nop +/* C388AC 8024237C 0280202D */ daddu $a0, $s4, $zero +/* C388B0 80242380 0220282D */ daddu $a1, $s1, $zero +/* C388B4 80242384 0C090765 */ jal func_80241D94 +/* C388B8 80242388 0260302D */ daddu $a2, $s3, $zero +/* C388BC 8024238C 0280202D */ daddu $a0, $s4, $zero +/* C388C0 80242390 0220282D */ daddu $a1, $s1, $zero +/* C388C4 80242394 0C09078F */ jal func_80241E3C +/* C388C8 80242398 0260302D */ daddu $a2, $s3, $zero +.L8024239C: +/* C388CC 8024239C 8E820070 */ lw $v0, 0x70($s4) +/* C388D0 802423A0 8FBF0058 */ lw $ra, 0x58($sp) +/* C388D4 802423A4 8FB50054 */ lw $s5, 0x54($sp) +/* C388D8 802423A8 8FB40050 */ lw $s4, 0x50($sp) +/* C388DC 802423AC 8FB3004C */ lw $s3, 0x4c($sp) +/* C388E0 802423B0 8FB20048 */ lw $s2, 0x48($sp) +/* C388E4 802423B4 8FB10044 */ lw $s1, 0x44($sp) +/* C388E8 802423B8 8FB00040 */ lw $s0, 0x40($sp) +/* C388EC 802423BC 38420064 */ xori $v0, $v0, 0x64 +/* C388F0 802423C0 2C420001 */ sltiu $v0, $v0, 1 +/* C388F4 802423C4 00021040 */ sll $v0, $v0, 1 +/* C388F8 802423C8 03E00008 */ jr $ra +/* C388FC 802423CC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802423D0.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802423D0.s new file mode 100644 index 0000000000..49e5cacde5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802423D0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423D0 +/* C38900 802423D0 3C03800A */ lui $v1, %hi(D_8009A650) +/* C38904 802423D4 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* C38908 802423D8 8C620000 */ lw $v0, ($v1) +/* C3890C 802423DC 34420040 */ ori $v0, $v0, 0x40 +/* C38910 802423E0 AC620000 */ sw $v0, ($v1) +/* C38914 802423E4 03E00008 */ jr $ra +/* C38918 802423E8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802423EC.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802423EC.s new file mode 100644 index 0000000000..f6f273ab90 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802423EC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423EC +/* C3891C 802423EC 3C02800A */ lui $v0, %hi(D_8009A650) +/* C38920 802423F0 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* C38924 802423F4 8C430000 */ lw $v1, ($v0) +/* C38928 802423F8 2404FFBF */ addiu $a0, $zero, -0x41 +/* C3892C 802423FC 00641824 */ and $v1, $v1, $a0 +/* C38930 80242400 AC430000 */ sw $v1, ($v0) +/* C38934 80242404 03E00008 */ jr $ra +/* C38938 80242408 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_8024240C_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024240C_C36530.s new file mode 100644 index 0000000000..44238febd6 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024240C_C36530.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024240C_C3893C +/* C3893C 8024240C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38940 80242410 AFBF0010 */ sw $ra, 0x10($sp) +/* C38944 80242414 8C82000C */ lw $v0, 0xc($a0) +/* C38948 80242418 0C0B1EAF */ jal get_variable +/* C3894C 8024241C 8C450000 */ lw $a1, ($v0) +/* C38950 80242420 0C0B95A4 */ jal func_802E5690 +/* C38954 80242424 0040202D */ daddu $a0, $v0, $zero +/* C38958 80242428 8FBF0010 */ lw $ra, 0x10($sp) +/* C3895C 8024242C 24020002 */ addiu $v0, $zero, 2 +/* C38960 80242430 03E00008 */ jr $ra +/* C38964 80242434 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242438_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242438_C36530.s new file mode 100644 index 0000000000..60cd4b4daf --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242438_C36530.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242438_C38968 +/* C38968 80242438 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3896C 8024243C AFB00010 */ sw $s0, 0x10($sp) +/* C38970 80242440 0080802D */ daddu $s0, $a0, $zero +/* C38974 80242444 AFBF0018 */ sw $ra, 0x18($sp) +/* C38978 80242448 AFB10014 */ sw $s1, 0x14($sp) +/* C3897C 8024244C 8E11000C */ lw $s1, 0xc($s0) +/* C38980 80242450 8E250000 */ lw $a1, ($s1) +/* C38984 80242454 0C0B1EAF */ jal get_variable +/* C38988 80242458 26310004 */ addiu $s1, $s1, 4 +/* C3898C 8024245C 0200202D */ daddu $a0, $s0, $zero +/* C38990 80242460 3C038011 */ lui $v1, %hi(gPlayerData) +/* C38994 80242464 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* C38998 80242468 000210C0 */ sll $v0, $v0, 3 +/* C3899C 8024246C 00431021 */ addu $v0, $v0, $v1 +/* C389A0 80242470 90460015 */ lbu $a2, 0x15($v0) +/* C389A4 80242474 8E250000 */ lw $a1, ($s1) +/* C389A8 80242478 24C60001 */ addiu $a2, $a2, 1 +/* C389AC 8024247C A0460015 */ sb $a2, 0x15($v0) +/* C389B0 80242480 00063600 */ sll $a2, $a2, 0x18 +/* C389B4 80242484 0C0B2026 */ jal set_variable +/* C389B8 80242488 00063603 */ sra $a2, $a2, 0x18 +/* C389BC 8024248C 8FBF0018 */ lw $ra, 0x18($sp) +/* C389C0 80242490 8FB10014 */ lw $s1, 0x14($sp) +/* C389C4 80242494 8FB00010 */ lw $s0, 0x10($sp) +/* C389C8 80242498 24020002 */ addiu $v0, $zero, 2 +/* C389CC 8024249C 03E00008 */ jr $ra +/* C389D0 802424A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802424A4_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802424A4_C36530.s new file mode 100644 index 0000000000..ec31123bb2 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802424A4_C36530.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424A4_C389D4 +/* C389D4 802424A4 3C028011 */ lui $v0, %hi(gPlayerData) +/* C389D8 802424A8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* C389DC 802424AC 000420C0 */ sll $a0, $a0, 3 +/* C389E0 802424B0 00822021 */ addu $a0, $a0, $v0 +/* C389E4 802424B4 90820014 */ lbu $v0, 0x14($a0) +/* C389E8 802424B8 10400009 */ beqz $v0, .L802424E0 +/* C389EC 802424BC 00000000 */ nop +/* C389F0 802424C0 90820015 */ lbu $v0, 0x15($a0) +/* C389F4 802424C4 00022600 */ sll $a0, $v0, 0x18 +/* C389F8 802424C8 00041E03 */ sra $v1, $a0, 0x18 +/* C389FC 802424CC 00051400 */ sll $v0, $a1, 0x10 +/* C38A00 802424D0 00021403 */ sra $v0, $v0, 0x10 +/* C38A04 802424D4 0043102A */ slt $v0, $v0, $v1 +/* C38A08 802424D8 10400003 */ beqz $v0, .L802424E8 +/* C38A0C 802424DC 00000000 */ nop +.L802424E0: +/* C38A10 802424E0 03E00008 */ jr $ra +/* C38A14 802424E4 2402FFFF */ addiu $v0, $zero, -1 +.L802424E8: +/* C38A18 802424E8 03E00008 */ jr $ra +/* C38A1C 802424EC 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802424F0_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802424F0_C36530.s new file mode 100644 index 0000000000..3ad9e58953 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802424F0_C36530.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424F0_C38A20 +/* C38A20 802424F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C38A24 802424F4 AFB3001C */ sw $s3, 0x1c($sp) +/* C38A28 802424F8 0080982D */ daddu $s3, $a0, $zero +/* C38A2C 802424FC AFB00010 */ sw $s0, 0x10($sp) +/* C38A30 80242500 24100001 */ addiu $s0, $zero, 1 +/* C38A34 80242504 AFB40020 */ sw $s4, 0x20($sp) +/* C38A38 80242508 2414FFFF */ addiu $s4, $zero, -1 +/* C38A3C 8024250C AFB50024 */ sw $s5, 0x24($sp) +/* C38A40 80242510 0200A82D */ daddu $s5, $s0, $zero +/* C38A44 80242514 AFB10014 */ sw $s1, 0x14($sp) +/* C38A48 80242518 3C118011 */ lui $s1, 0x8011 +/* C38A4C 8024251C 2631F298 */ addiu $s1, $s1, -0xd68 +/* C38A50 80242520 AFBF0028 */ sw $ra, 0x28($sp) +/* C38A54 80242524 AFB20018 */ sw $s2, 0x18($sp) +/* C38A58 80242528 8E6200B4 */ lw $v0, 0xb4($s3) +/* C38A5C 8024252C 0280182D */ daddu $v1, $s4, $zero +/* C38A60 80242530 AE630084 */ sw $v1, 0x84($s3) +/* C38A64 80242534 00021027 */ nor $v0, $zero, $v0 +/* C38A68 80242538 000217C2 */ srl $v0, $v0, 0x1f +/* C38A6C 8024253C 00029400 */ sll $s2, $v0, 0x10 +.L80242540: +/* C38A70 80242540 92220014 */ lbu $v0, 0x14($s1) +/* C38A74 80242544 50400008 */ beql $v0, $zero, .L80242568 +/* C38A78 80242548 26100001 */ addiu $s0, $s0, 1 +/* C38A7C 8024254C 0200202D */ daddu $a0, $s0, $zero +/* C38A80 80242550 0C090929 */ jal func_802424A4 +/* C38A84 80242554 00122C03 */ sra $a1, $s2, 0x10 +/* C38A88 80242558 10540003 */ beq $v0, $s4, .L80242568 +/* C38A8C 8024255C 26100001 */ addiu $s0, $s0, 1 +/* C38A90 80242560 0809095D */ j .L80242574 +/* C38A94 80242564 AE750084 */ sw $s5, 0x84($s3) +.L80242568: +/* C38A98 80242568 2A02000C */ slti $v0, $s0, 0xc +/* C38A9C 8024256C 1440FFF4 */ bnez $v0, .L80242540 +/* C38AA0 80242570 26310008 */ addiu $s1, $s1, 8 +.L80242574: +/* C38AA4 80242574 8FBF0028 */ lw $ra, 0x28($sp) +/* C38AA8 80242578 8FB50024 */ lw $s5, 0x24($sp) +/* C38AAC 8024257C 8FB40020 */ lw $s4, 0x20($sp) +/* C38AB0 80242580 8FB3001C */ lw $s3, 0x1c($sp) +/* C38AB4 80242584 8FB20018 */ lw $s2, 0x18($sp) +/* C38AB8 80242588 8FB10014 */ lw $s1, 0x14($sp) +/* C38ABC 8024258C 8FB00010 */ lw $s0, 0x10($sp) +/* C38AC0 80242590 24020002 */ addiu $v0, $zero, 2 +/* C38AC4 80242594 03E00008 */ jr $ra +/* C38AC8 80242598 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_8024259C.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024259C.s new file mode 100644 index 0000000000..0e65684aa8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_8024259C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024259C +/* C38ACC 8024259C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C38AD0 802425A0 AFB5002C */ sw $s5, 0x2c($sp) +/* C38AD4 802425A4 0080A82D */ daddu $s5, $a0, $zero +/* C38AD8 802425A8 AFBE0038 */ sw $fp, 0x38($sp) +/* C38ADC 802425AC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* C38AE0 802425B0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* C38AE4 802425B4 AFBF003C */ sw $ra, 0x3c($sp) +/* C38AE8 802425B8 AFB70034 */ sw $s7, 0x34($sp) +/* C38AEC 802425BC AFB60030 */ sw $s6, 0x30($sp) +/* C38AF0 802425C0 AFB40028 */ sw $s4, 0x28($sp) +/* C38AF4 802425C4 AFB30024 */ sw $s3, 0x24($sp) +/* C38AF8 802425C8 AFB20020 */ sw $s2, 0x20($sp) +/* C38AFC 802425CC AFB1001C */ sw $s1, 0x1c($sp) +/* C38B00 802425D0 10A0004F */ beqz $a1, .L80242710 +/* C38B04 802425D4 AFB00018 */ sw $s0, 0x18($sp) +/* C38B08 802425D8 0C00AB39 */ jal heap_malloc +/* C38B0C 802425DC 24040330 */ addiu $a0, $zero, 0x330 +/* C38B10 802425E0 0040982D */ daddu $s3, $v0, $zero +/* C38B14 802425E4 0000B02D */ daddu $s6, $zero, $zero +/* C38B18 802425E8 02C0902D */ daddu $s2, $s6, $zero +/* C38B1C 802425EC 3C148024 */ lui $s4, 0x8024 +/* C38B20 802425F0 26943D38 */ addiu $s4, $s4, 0x3d38 +/* C38B24 802425F4 0260882D */ daddu $s1, $s3, $zero +/* C38B28 802425F8 8EA200B4 */ lw $v0, 0xb4($s5) +/* C38B2C 802425FC 3C038024 */ lui $v1, 0x8024 +/* C38B30 80242600 24633D30 */ addiu $v1, $v1, 0x3d30 +/* C38B34 80242604 AEB30078 */ sw $s3, 0x78($s5) +/* C38B38 80242608 00021027 */ nor $v0, $zero, $v0 +/* C38B3C 8024260C 0002BFC2 */ srl $s7, $v0, 0x1f +/* C38B40 80242610 00171080 */ sll $v0, $s7, 2 +/* C38B44 80242614 00431021 */ addu $v0, $v0, $v1 +/* C38B48 80242618 AFA20010 */ sw $v0, 0x10($sp) +.L8024261C: +/* C38B4C 8024261C 86900000 */ lh $s0, ($s4) +/* C38B50 80242620 001010C0 */ sll $v0, $s0, 3 +/* C38B54 80242624 03C21021 */ addu $v0, $fp, $v0 +/* C38B58 80242628 90420014 */ lbu $v0, 0x14($v0) +/* C38B5C 8024262C 5040002E */ beql $v0, $zero, .L802426E8 +/* C38B60 80242630 26520001 */ addiu $s2, $s2, 1 +/* C38B64 80242634 00101100 */ sll $v0, $s0, 4 +/* C38B68 80242638 3C068009 */ lui $a2, 0x8009 +/* C38B6C 8024263C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* C38B70 80242640 00461021 */ addu $v0, $v0, $a2 +/* C38B74 80242644 0200202D */ daddu $a0, $s0, $zero +/* C38B78 80242648 AE300108 */ sw $s0, 0x108($s1) +/* C38B7C 8024264C 8C420000 */ lw $v0, ($v0) +/* C38B80 80242650 02E0282D */ daddu $a1, $s7, $zero +/* C38B84 80242654 0C090929 */ jal func_802424A4 +/* C38B88 80242658 AE220084 */ sw $v0, 0x84($s1) +/* C38B8C 8024265C 0040202D */ daddu $a0, $v0, $zero +/* C38B90 80242660 04800011 */ bltz $a0, .L802426A8 +/* C38B94 80242664 00101080 */ sll $v0, $s0, 2 +/* C38B98 80242668 3C06800F */ lui $a2, 0x800f +/* C38B9C 8024266C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* C38BA0 80242670 00461021 */ addu $v0, $v0, $a2 +/* C38BA4 80242674 8C430000 */ lw $v1, ($v0) +/* C38BA8 80242678 24020001 */ addiu $v0, $zero, 1 +/* C38BAC 8024267C AE22018C */ sw $v0, 0x18c($s1) +/* C38BB0 80242680 00041080 */ sll $v0, $a0, 2 +/* C38BB4 80242684 3C068024 */ lui $a2, 0x8024 +/* C38BB8 80242688 24C63D48 */ addiu $a2, $a2, 0x3d48 +/* C38BBC 8024268C AE230000 */ sw $v1, ($s1) +/* C38BC0 80242690 001218C0 */ sll $v1, $s2, 3 +/* C38BC4 80242694 00431021 */ addu $v0, $v0, $v1 +/* C38BC8 80242698 00461021 */ addu $v0, $v0, $a2 +/* C38BCC 8024269C 8C420000 */ lw $v0, ($v0) +/* C38BD0 802426A0 080909B3 */ j .L802426CC +/* C38BD4 802426A4 AE220294 */ sw $v0, 0x294($s1) +.L802426A8: +/* C38BD8 802426A8 3C06800F */ lui $a2, 0x800f +/* C38BDC 802426AC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* C38BE0 802426B0 00461021 */ addu $v0, $v0, $a2 +/* C38BE4 802426B4 8C420000 */ lw $v0, ($v0) +/* C38BE8 802426B8 AE20018C */ sw $zero, 0x18c($s1) +/* C38BEC 802426BC AE220000 */ sw $v0, ($s1) +/* C38BF0 802426C0 8FA60010 */ lw $a2, 0x10($sp) +/* C38BF4 802426C4 8CC20000 */ lw $v0, ($a2) +/* C38BF8 802426C8 AE220294 */ sw $v0, 0x294($s1) +.L802426CC: +/* C38BFC 802426CC 001010C0 */ sll $v0, $s0, 3 +/* C38C00 802426D0 03C21021 */ addu $v0, $fp, $v0 +/* C38C04 802426D4 80420015 */ lb $v0, 0x15($v0) +/* C38C08 802426D8 26D60001 */ addiu $s6, $s6, 1 +/* C38C0C 802426DC AE220210 */ sw $v0, 0x210($s1) +/* C38C10 802426E0 26310004 */ addiu $s1, $s1, 4 +/* C38C14 802426E4 26520001 */ addiu $s2, $s2, 1 +.L802426E8: +/* C38C18 802426E8 2A420008 */ slti $v0, $s2, 8 +/* C38C1C 802426EC 1440FFCB */ bnez $v0, .L8024261C +/* C38C20 802426F0 26940002 */ addiu $s4, $s4, 2 +/* C38C24 802426F4 0260202D */ daddu $a0, $s3, $zero +/* C38C28 802426F8 24020004 */ addiu $v0, $zero, 4 +/* C38C2C 802426FC AC820318 */ sw $v0, 0x318($a0) +/* C38C30 80242700 AC960324 */ sw $s6, 0x324($a0) +/* C38C34 80242704 0C03D390 */ jal func_800F4E40 +/* C38C38 80242708 AC800328 */ sw $zero, 0x328($a0) +/* C38C3C 8024270C AEA00070 */ sw $zero, 0x70($s5) +.L80242710: +/* C38C40 80242710 8EA20070 */ lw $v0, 0x70($s5) +/* C38C44 80242714 8EB30078 */ lw $s3, 0x78($s5) +/* C38C48 80242718 14400008 */ bnez $v0, .L8024273C +/* C38C4C 8024271C 24420001 */ addiu $v0, $v0, 1 +/* C38C50 80242720 8662032C */ lh $v0, 0x32c($s3) +/* C38C54 80242724 10400009 */ beqz $v0, .L8024274C +/* C38C58 80242728 AEA20074 */ sw $v0, 0x74($s5) +/* C38C5C 8024272C 0C03C4EC */ jal func_800F13B0 +/* C38C60 80242730 00000000 */ nop +/* C38C64 80242734 8EA20070 */ lw $v0, 0x70($s5) +/* C38C68 80242738 24420001 */ addiu $v0, $v0, 1 +.L8024273C: +/* C38C6C 8024273C AEA20070 */ sw $v0, 0x70($s5) +/* C38C70 80242740 2842000F */ slti $v0, $v0, 0xf +/* C38C74 80242744 10400003 */ beqz $v0, .L80242754 +/* C38C78 80242748 00000000 */ nop +.L8024274C: +/* C38C7C 8024274C 080909EF */ j .L802427BC +/* C38C80 80242750 0000102D */ daddu $v0, $zero, $zero +.L80242754: +/* C38C84 80242754 0C03C54E */ jal func_800F1538 +/* C38C88 80242758 00000000 */ nop +/* C38C8C 8024275C 8EA30074 */ lw $v1, 0x74($s5) +/* C38C90 80242760 240200FF */ addiu $v0, $zero, 0xff +/* C38C94 80242764 10620010 */ beq $v1, $v0, .L802427A8 +/* C38C98 80242768 2462FFFF */ addiu $v0, $v1, -1 +/* C38C9C 8024276C 00021080 */ sll $v0, $v0, 2 +/* C38CA0 80242770 02621021 */ addu $v0, $s3, $v0 +/* C38CA4 80242774 8C420108 */ lw $v0, 0x108($v0) +/* C38CA8 80242778 00021100 */ sll $v0, $v0, 4 +/* C38CAC 8024277C 3C038009 */ lui $v1, 0x8009 +/* C38CB0 80242780 00621821 */ addu $v1, $v1, $v0 +/* C38CB4 80242784 8C63EF20 */ lw $v1, -0x10e0($v1) +/* C38CB8 80242788 8EA20074 */ lw $v0, 0x74($s5) +/* C38CBC 8024278C 2442FFFF */ addiu $v0, $v0, -1 +/* C38CC0 80242790 00021080 */ sll $v0, $v0, 2 +/* C38CC4 80242794 02621021 */ addu $v0, $s3, $v0 +/* C38CC8 80242798 AEA30084 */ sw $v1, 0x84($s5) +/* C38CCC 8024279C 8C420108 */ lw $v0, 0x108($v0) +/* C38CD0 802427A0 080909EC */ j .L802427B0 +/* C38CD4 802427A4 AEA20088 */ sw $v0, 0x88($s5) +.L802427A8: +/* C38CD8 802427A8 2402FFFF */ addiu $v0, $zero, -1 +/* C38CDC 802427AC AEA20084 */ sw $v0, 0x84($s5) +.L802427B0: +/* C38CE0 802427B0 0C00AB4B */ jal heap_free +/* C38CE4 802427B4 8EA40078 */ lw $a0, 0x78($s5) +/* C38CE8 802427B8 24020002 */ addiu $v0, $zero, 2 +.L802427BC: +/* C38CEC 802427BC 8FBF003C */ lw $ra, 0x3c($sp) +/* C38CF0 802427C0 8FBE0038 */ lw $fp, 0x38($sp) +/* C38CF4 802427C4 8FB70034 */ lw $s7, 0x34($sp) +/* C38CF8 802427C8 8FB60030 */ lw $s6, 0x30($sp) +/* C38CFC 802427CC 8FB5002C */ lw $s5, 0x2c($sp) +/* C38D00 802427D0 8FB40028 */ lw $s4, 0x28($sp) +/* C38D04 802427D4 8FB30024 */ lw $s3, 0x24($sp) +/* C38D08 802427D8 8FB20020 */ lw $s2, 0x20($sp) +/* C38D0C 802427DC 8FB1001C */ lw $s1, 0x1c($sp) +/* C38D10 802427E0 8FB00018 */ lw $s0, 0x18($sp) +/* C38D14 802427E4 03E00008 */ jr $ra +/* C38D18 802427E8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802427EC_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802427EC_C36530.s new file mode 100644 index 0000000000..786852bb66 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802427EC_C36530.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427EC_C38D1C +/* C38D1C 802427EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38D20 802427F0 AFBF0010 */ sw $ra, 0x10($sp) +/* C38D24 802427F4 8C82000C */ lw $v0, 0xc($a0) +/* C38D28 802427F8 0C0B1EAF */ jal get_variable +/* C38D2C 802427FC 8C450000 */ lw $a1, ($v0) +/* C38D30 80242800 0C03AC5A */ jal func_800EB168 +/* C38D34 80242804 0040202D */ daddu $a0, $v0, $zero +/* C38D38 80242808 8FBF0010 */ lw $ra, 0x10($sp) +/* C38D3C 8024280C 24020002 */ addiu $v0, $zero, 2 +/* C38D40 80242810 03E00008 */ jr $ra +/* C38D44 80242814 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242818.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242818.s new file mode 100644 index 0000000000..47e96558a8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242818.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242818 +/* C38D48 80242818 3C028011 */ lui $v0, 0x8011 +/* C38D4C 8024281C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* C38D50 80242820 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38D54 80242824 AFBF0010 */ sw $ra, 0x10($sp) +/* C38D58 80242828 00021100 */ sll $v0, $v0, 4 +/* C38D5C 8024282C 3C048009 */ lui $a0, 0x8009 +/* C38D60 80242830 00822021 */ addu $a0, $a0, $v0 +/* C38D64 80242834 8C84EF20 */ lw $a0, -0x10e0($a0) +/* C38D68 80242838 0C0496CF */ jal set_message_string +/* C38D6C 8024283C 0000282D */ daddu $a1, $zero, $zero +/* C38D70 80242840 8FBF0010 */ lw $ra, 0x10($sp) +/* C38D74 80242844 24020002 */ addiu $v0, $zero, 2 +/* C38D78 80242848 03E00008 */ jr $ra +/* C38D7C 8024284C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242850_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242850_C36530.s new file mode 100644 index 0000000000..e95e4f2f8d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242850_C36530.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242850_C38D80 +/* C38D80 80242850 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C38D84 80242854 AFB1001C */ sw $s1, 0x1c($sp) +/* C38D88 80242858 0080882D */ daddu $s1, $a0, $zero +/* C38D8C 8024285C AFBF0020 */ sw $ra, 0x20($sp) +/* C38D90 80242860 AFB00018 */ sw $s0, 0x18($sp) +/* C38D94 80242864 8E30000C */ lw $s0, 0xc($s1) +/* C38D98 80242868 8E050000 */ lw $a1, ($s0) +/* C38D9C 8024286C 0C0B1EAF */ jal get_variable +/* C38DA0 80242870 26100004 */ addiu $s0, $s0, 4 +/* C38DA4 80242874 0C04417A */ jal get_entity_by_index +/* C38DA8 80242878 0040202D */ daddu $a0, $v0, $zero +/* C38DAC 8024287C 8E100000 */ lw $s0, ($s0) +/* C38DB0 80242880 C444004C */ lwc1 $f4, 0x4c($v0) +/* C38DB4 80242884 3C014148 */ lui $at, 0x4148 +/* C38DB8 80242888 44810000 */ mtc1 $at, $f0 +/* C38DBC 8024288C 3C013F33 */ lui $at, 0x3f33 +/* C38DC0 80242890 34213333 */ ori $at, $at, 0x3333 +/* C38DC4 80242894 44811000 */ mtc1 $at, $f2 +/* C38DC8 80242898 AFA00014 */ sw $zero, 0x14($sp) +/* C38DCC 8024289C 46002100 */ add.s $f4, $f4, $f0 +/* C38DD0 802428A0 E7A20010 */ swc1 $f2, 0x10($sp) +/* C38DD4 802428A4 8C450048 */ lw $a1, 0x48($v0) +/* C38DD8 802428A8 8C470050 */ lw $a3, 0x50($v0) +/* C38DDC 802428AC 44062000 */ mfc1 $a2, $f4 +/* C38DE0 802428B0 0C01C5D4 */ jal func_80071750 +/* C38DE4 802428B4 0000202D */ daddu $a0, $zero, $zero +/* C38DE8 802428B8 0220202D */ daddu $a0, $s1, $zero +/* C38DEC 802428BC 0200282D */ daddu $a1, $s0, $zero +/* C38DF0 802428C0 0C0B2026 */ jal set_variable +/* C38DF4 802428C4 0040302D */ daddu $a2, $v0, $zero +/* C38DF8 802428C8 8FBF0020 */ lw $ra, 0x20($sp) +/* C38DFC 802428CC 8FB1001C */ lw $s1, 0x1c($sp) +/* C38E00 802428D0 8FB00018 */ lw $s0, 0x18($sp) +/* C38E04 802428D4 24020002 */ addiu $v0, $zero, 2 +/* C38E08 802428D8 03E00008 */ jr $ra +/* C38E0C 802428DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802428E0.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802428E0.s new file mode 100644 index 0000000000..0c23106a57 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802428E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428E0 +/* C38E10 802428E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C38E14 802428E4 AFBF0010 */ sw $ra, 0x10($sp) +/* C38E18 802428E8 8C82000C */ lw $v0, 0xc($a0) +/* C38E1C 802428EC 0C0B1EAF */ jal get_variable +/* C38E20 802428F0 8C450000 */ lw $a1, ($v0) +/* C38E24 802428F4 0040202D */ daddu $a0, $v0, $zero +/* C38E28 802428F8 8C830000 */ lw $v1, ($a0) +/* C38E2C 802428FC 34630010 */ ori $v1, $v1, 0x10 +/* C38E30 80242900 AC830000 */ sw $v1, ($a0) +/* C38E34 80242904 8FBF0010 */ lw $ra, 0x10($sp) +/* C38E38 80242908 24020002 */ addiu $v0, $zero, 2 +/* C38E3C 8024290C 03E00008 */ jr $ra +/* C38E40 80242910 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242914.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242914.s new file mode 100644 index 0000000000..93b4e395d8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242914.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242914 +/* C38E44 80242914 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C38E48 80242918 AFBF0018 */ sw $ra, 0x18($sp) +/* C38E4C 8024291C 8C82000C */ lw $v0, 0xc($a0) +/* C38E50 80242920 0C0B1EAF */ jal get_variable +/* C38E54 80242924 8C450000 */ lw $a1, ($v0) +/* C38E58 80242928 0C04417A */ jal get_entity_by_index +/* C38E5C 8024292C 0040202D */ daddu $a0, $v0, $zero +/* C38E60 80242930 3C013F80 */ lui $at, 0x3f80 +/* C38E64 80242934 44810000 */ mtc1 $at, $f0 +/* C38E68 80242938 C442004C */ lwc1 $f2, 0x4c($v0) +/* C38E6C 8024293C E7A00010 */ swc1 $f0, 0x10($sp) +/* C38E70 80242940 3C014148 */ lui $at, 0x4148 +/* C38E74 80242944 44810000 */ mtc1 $at, $f0 +/* C38E78 80242948 2403004B */ addiu $v1, $zero, 0x4b +/* C38E7C 8024294C AFA30014 */ sw $v1, 0x14($sp) +/* C38E80 80242950 46001080 */ add.s $f2, $f2, $f0 +/* C38E84 80242954 8C450048 */ lw $a1, 0x48($v0) +/* C38E88 80242958 8C470050 */ lw $a3, 0x50($v0) +/* C38E8C 8024295C 44061000 */ mfc1 $a2, $f2 +/* C38E90 80242960 0C01C2EC */ jal func_80070BB0 +/* C38E94 80242964 24040004 */ addiu $a0, $zero, 4 +/* C38E98 80242968 8FBF0018 */ lw $ra, 0x18($sp) +/* C38E9C 8024296C 24020002 */ addiu $v0, $zero, 2 +/* C38EA0 80242970 03E00008 */ jr $ra +/* C38EA4 80242974 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242978.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242978.s new file mode 100644 index 0000000000..55879888f1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242978.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242978 +/* C38EA8 80242978 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C38EAC 8024297C AFBF0018 */ sw $ra, 0x18($sp) +/* C38EB0 80242980 0C00EAD2 */ jal get_npc_safe +/* C38EB4 80242984 2404FFFC */ addiu $a0, $zero, -4 +/* C38EB8 80242988 C444003C */ lwc1 $f4, 0x3c($v0) +/* C38EBC 8024298C 3C014148 */ lui $at, 0x4148 +/* C38EC0 80242990 44811000 */ mtc1 $at, $f2 +/* C38EC4 80242994 3C013F80 */ lui $at, 0x3f80 +/* C38EC8 80242998 44810000 */ mtc1 $at, $f0 +/* C38ECC 8024299C 2403001E */ addiu $v1, $zero, 0x1e +/* C38ED0 802429A0 AFA30014 */ sw $v1, 0x14($sp) +/* C38ED4 802429A4 46022100 */ add.s $f4, $f4, $f2 +/* C38ED8 802429A8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C38EDC 802429AC 8C450038 */ lw $a1, 0x38($v0) +/* C38EE0 802429B0 8C470040 */ lw $a3, 0x40($v0) +/* C38EE4 802429B4 44062000 */ mfc1 $a2, $f4 +/* C38EE8 802429B8 0C01C2EC */ jal func_80070BB0 +/* C38EEC 802429BC 24040009 */ addiu $a0, $zero, 9 +/* C38EF0 802429C0 8FBF0018 */ lw $ra, 0x18($sp) +/* C38EF4 802429C4 24020002 */ addiu $v0, $zero, 2 +/* C38EF8 802429C8 03E00008 */ jr $ra +/* C38EFC 802429CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802429D0.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802429D0.s new file mode 100644 index 0000000000..dcd08b09c3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802429D0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429D0 +/* C38F00 802429D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C38F04 802429D4 AFB60040 */ sw $s6, 0x40($sp) +/* C38F08 802429D8 0080B02D */ daddu $s6, $a0, $zero +/* C38F0C 802429DC AFB00028 */ sw $s0, 0x28($sp) +/* C38F10 802429E0 00A0802D */ daddu $s0, $a1, $zero +/* C38F14 802429E4 AFBF0044 */ sw $ra, 0x44($sp) +/* C38F18 802429E8 AFB5003C */ sw $s5, 0x3c($sp) +/* C38F1C 802429EC AFB40038 */ sw $s4, 0x38($sp) +/* C38F20 802429F0 AFB30034 */ sw $s3, 0x34($sp) +/* C38F24 802429F4 AFB20030 */ sw $s2, 0x30($sp) +/* C38F28 802429F8 AFB1002C */ sw $s1, 0x2c($sp) +/* C38F2C 802429FC F7B80058 */ sdc1 $f24, 0x58($sp) +/* C38F30 80242A00 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C38F34 80242A04 F7B40048 */ sdc1 $f20, 0x48($sp) +/* C38F38 80242A08 8ED3000C */ lw $s3, 0xc($s6) +/* C38F3C 80242A0C 0C00EAD2 */ jal get_npc_safe +/* C38F40 80242A10 2404FFFC */ addiu $a0, $zero, -4 +/* C38F44 80242A14 27A50018 */ addiu $a1, $sp, 0x18 +/* C38F48 80242A18 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C38F4C 80242A1C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C38F50 80242A20 27A6001C */ addiu $a2, $sp, 0x1c +/* C38F54 80242A24 00041880 */ sll $v1, $a0, 2 +/* C38F58 80242A28 00641821 */ addu $v1, $v1, $a0 +/* C38F5C 80242A2C 00031880 */ sll $v1, $v1, 2 +/* C38F60 80242A30 00641823 */ subu $v1, $v1, $a0 +/* C38F64 80242A34 000320C0 */ sll $a0, $v1, 3 +/* C38F68 80242A38 00641821 */ addu $v1, $v1, $a0 +/* C38F6C 80242A3C 000318C0 */ sll $v1, $v1, 3 +/* C38F70 80242A40 3C01800B */ lui $at, 0x800b +/* C38F74 80242A44 00230821 */ addu $at, $at, $v1 +/* C38F78 80242A48 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* C38F7C 80242A4C 0C00A88D */ jal sin_cos_deg +/* C38F80 80242A50 0040A82D */ daddu $s5, $v0, $zero +/* C38F84 80242A54 1200005D */ beqz $s0, .L80242BCC +/* C38F88 80242A58 00000000 */ nop +/* C38F8C 80242A5C 0C00AB0A */ jal general_heap_malloc +/* C38F90 80242A60 24040068 */ addiu $a0, $zero, 0x68 +/* C38F94 80242A64 0040902D */ daddu $s2, $v0, $zero +/* C38F98 80242A68 02C0202D */ daddu $a0, $s6, $zero +/* C38F9C 80242A6C 0000882D */ daddu $s1, $zero, $zero +/* C38FA0 80242A70 2414FFFF */ addiu $s4, $zero, -1 +/* C38FA4 80242A74 AED20060 */ sw $s2, 0x60($s6) +/* C38FA8 80242A78 8E650000 */ lw $a1, ($s3) +/* C38FAC 80242A7C 3C014148 */ lui $at, 0x4148 +/* C38FB0 80242A80 4481C000 */ mtc1 $at, $f24 +/* C38FB4 80242A84 3C013F80 */ lui $at, 0x3f80 +/* C38FB8 80242A88 4481B000 */ mtc1 $at, $f22 +/* C38FBC 80242A8C 4480A000 */ mtc1 $zero, $f20 +/* C38FC0 80242A90 0C0B1EAF */ jal get_variable +/* C38FC4 80242A94 0240802D */ daddu $s0, $s2, $zero +/* C38FC8 80242A98 0C04417A */ jal get_entity_by_index +/* C38FCC 80242A9C 0040202D */ daddu $a0, $v0, $zero +/* C38FD0 80242AA0 AE42005C */ sw $v0, 0x5c($s2) +.L80242AA4: +/* C38FD4 80242AA4 8E42005C */ lw $v0, 0x5c($s2) +/* C38FD8 80242AA8 C440004C */ lwc1 $f0, 0x4c($v0) +/* C38FDC 80242AAC 0000202D */ daddu $a0, $zero, $zero +/* C38FE0 80242AB0 E7B60010 */ swc1 $f22, 0x10($sp) +/* C38FE4 80242AB4 AFB40014 */ sw $s4, 0x14($sp) +/* C38FE8 80242AB8 46180000 */ add.s $f0, $f0, $f24 +/* C38FEC 80242ABC 8C450048 */ lw $a1, 0x48($v0) +/* C38FF0 80242AC0 8C470050 */ lw $a3, 0x50($v0) +/* C38FF4 80242AC4 44060000 */ mfc1 $a2, $f0 +/* C38FF8 80242AC8 0C01C5BC */ jal func_800716F0 +/* C38FFC 80242ACC 26310001 */ addiu $s1, $s1, 1 +/* C39000 80242AD0 AE020008 */ sw $v0, 8($s0) +/* C39004 80242AD4 E614002C */ swc1 $f20, 0x2c($s0) +/* C39008 80242AD8 E6140020 */ swc1 $f20, 0x20($s0) +/* C3900C 80242ADC E6140014 */ swc1 $f20, 0x14($s0) +/* C39010 80242AE0 E6140050 */ swc1 $f20, 0x50($s0) +/* C39014 80242AE4 E6140044 */ swc1 $f20, 0x44($s0) +/* C39018 80242AE8 E6140038 */ swc1 $f20, 0x38($s0) +/* C3901C 80242AEC 2A220003 */ slti $v0, $s1, 3 +/* C39020 80242AF0 1440FFEC */ bnez $v0, .L80242AA4 +/* C39024 80242AF4 26100004 */ addiu $s0, $s0, 4 +/* C39028 80242AF8 0000882D */ daddu $s1, $zero, $zero +/* C3902C 80242AFC 0240802D */ daddu $s0, $s2, $zero +/* C39030 80242B00 3C148024 */ lui $s4, 0x8024 +/* C39034 80242B04 26943D88 */ addiu $s4, $s4, 0x3d88 +/* C39038 80242B08 3C014248 */ lui $at, 0x4248 +/* C3903C 80242B0C 4481A000 */ mtc1 $at, $f20 +/* C39040 80242B10 24130044 */ addiu $s3, $zero, 0x44 +/* C39044 80242B14 AE400000 */ sw $zero, ($s2) +/* C39048 80242B18 AE400004 */ sw $zero, 4($s2) +/* C3904C 80242B1C AE400060 */ sw $zero, 0x60($s2) +/* C39050 80242B20 AE400064 */ sw $zero, 0x64($s2) +.L80242B24: +/* C39054 80242B24 27A40020 */ addiu $a0, $sp, 0x20 +/* C39058 80242B28 4406A000 */ mfc1 $a2, $f20 +/* C3905C 80242B2C 8E870000 */ lw $a3, ($s4) +/* C39060 80242B30 02532821 */ addu $a1, $s2, $s3 +/* C39064 80242B34 0C00A7E7 */ jal add_vec2D_polar +/* C39068 80242B38 AFA00020 */ sw $zero, 0x20($sp) +/* C3906C 80242B3C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C39070 80242B40 C7A40020 */ lwc1 $f4, 0x20($sp) +/* C39074 80242B44 46041082 */ mul.s $f2, $f2, $f4 +/* C39078 80242B48 00000000 */ nop +/* C3907C 80242B4C C7A00018 */ lwc1 $f0, 0x18($sp) +/* C39080 80242B50 46040002 */ mul.s $f0, $f0, $f4 +/* C39084 80242B54 00000000 */ nop +/* C39088 80242B58 E6020038 */ swc1 $f2, 0x38($s0) +/* C3908C 80242B5C E6000050 */ swc1 $f0, 0x50($s0) +/* C39090 80242B60 8E42005C */ lw $v0, 0x5c($s2) +/* C39094 80242B64 C6000038 */ lwc1 $f0, 0x38($s0) +/* C39098 80242B68 C4420048 */ lwc1 $f2, 0x48($v0) +/* C3909C 80242B6C 46001080 */ add.s $f2, $f2, $f0 +/* C390A0 80242B70 C6A00038 */ lwc1 $f0, 0x38($s5) +/* C390A4 80242B74 46020001 */ sub.s $f0, $f0, $f2 +/* C390A8 80242B78 E6000038 */ swc1 $f0, 0x38($s0) +/* C390AC 80242B7C 8E42005C */ lw $v0, 0x5c($s2) +/* C390B0 80242B80 C6000044 */ lwc1 $f0, 0x44($s0) +/* C390B4 80242B84 C442004C */ lwc1 $f2, 0x4c($v0) +/* C390B8 80242B88 46001080 */ add.s $f2, $f2, $f0 +/* C390BC 80242B8C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* C390C0 80242B90 46020001 */ sub.s $f0, $f0, $f2 +/* C390C4 80242B94 E6000044 */ swc1 $f0, 0x44($s0) +/* C390C8 80242B98 8E42005C */ lw $v0, 0x5c($s2) +/* C390CC 80242B9C C6000050 */ lwc1 $f0, 0x50($s0) +/* C390D0 80242BA0 C4420050 */ lwc1 $f2, 0x50($v0) +/* C390D4 80242BA4 26940004 */ addiu $s4, $s4, 4 +/* C390D8 80242BA8 46001080 */ add.s $f2, $f2, $f0 +/* C390DC 80242BAC C6A00040 */ lwc1 $f0, 0x40($s5) +/* C390E0 80242BB0 26730004 */ addiu $s3, $s3, 4 +/* C390E4 80242BB4 46020001 */ sub.s $f0, $f0, $f2 +/* C390E8 80242BB8 26310001 */ addiu $s1, $s1, 1 +/* C390EC 80242BBC 2A220003 */ slti $v0, $s1, 3 +/* C390F0 80242BC0 E6000050 */ swc1 $f0, 0x50($s0) +/* C390F4 80242BC4 1440FFD7 */ bnez $v0, .L80242B24 +/* C390F8 80242BC8 26100004 */ addiu $s0, $s0, 4 +.L80242BCC: +/* C390FC 80242BCC 8ED20060 */ lw $s2, 0x60($s6) +/* C39100 80242BD0 8E430000 */ lw $v1, ($s2) +/* C39104 80242BD4 24020001 */ addiu $v0, $zero, 1 +/* C39108 80242BD8 10620038 */ beq $v1, $v0, .L80242CBC +/* C3910C 80242BDC 28620002 */ slti $v0, $v1, 2 +/* C39110 80242BE0 50400005 */ beql $v0, $zero, .L80242BF8 +/* C39114 80242BE4 24020002 */ addiu $v0, $zero, 2 +/* C39118 80242BE8 10600007 */ beqz $v1, .L80242C08 +/* C3911C 80242BEC 24040005 */ addiu $a0, $zero, 5 +/* C39120 80242BF0 08090B68 */ j .L80242DA0 +/* C39124 80242BF4 00000000 */ nop +.L80242BF8: +/* C39128 80242BF8 10620058 */ beq $v1, $v0, .L80242D5C +/* C3912C 80242BFC 00000000 */ nop +/* C39130 80242C00 08090B68 */ j .L80242DA0 +/* C39134 80242C04 00000000 */ nop +.L80242C08: +/* C39138 80242C08 0000882D */ daddu $s1, $zero, $zero +/* C3913C 80242C0C 3C148024 */ lui $s4, 0x8024 +/* C39140 80242C10 26943D88 */ addiu $s4, $s4, 0x3d88 +/* C39144 80242C14 24130020 */ addiu $s3, $zero, 0x20 +/* C39148 80242C18 3C064248 */ lui $a2, 0x4248 +/* C3914C 80242C1C 44800000 */ mtc1 $zero, $f0 +/* C39150 80242C20 24020014 */ addiu $v0, $zero, 0x14 +/* C39154 80242C24 AFA20010 */ sw $v0, 0x10($sp) +/* C39158 80242C28 44050000 */ mfc1 $a1, $f0 +/* C3915C 80242C2C 8E470060 */ lw $a3, 0x60($s2) +/* C39160 80242C30 4485B000 */ mtc1 $a1, $f22 +/* C39164 80242C34 0C00A8ED */ jal update_lerp +/* C39168 80242C38 0240802D */ daddu $s0, $s2, $zero +/* C3916C 80242C3C 46000506 */ mov.s $f20, $f0 +.L80242C40: +/* C39170 80242C40 4406A000 */ mfc1 $a2, $f20 +/* C39174 80242C44 27A40020 */ addiu $a0, $sp, 0x20 +/* C39178 80242C48 E6160020 */ swc1 $f22, 0x20($s0) +/* C3917C 80242C4C 8E870000 */ lw $a3, ($s4) +/* C39180 80242C50 02532821 */ addu $a1, $s2, $s3 +/* C39184 80242C54 0C00A7E7 */ jal add_vec2D_polar +/* C39188 80242C58 E7B60020 */ swc1 $f22, 0x20($sp) +/* C3918C 80242C5C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C39190 80242C60 C7A00020 */ lwc1 $f0, 0x20($sp) +/* C39194 80242C64 46002102 */ mul.s $f4, $f4, $f0 +/* C39198 80242C68 00000000 */ nop +/* C3919C 80242C6C C7A20018 */ lwc1 $f2, 0x18($sp) +/* C391A0 80242C70 26940004 */ addiu $s4, $s4, 4 +/* C391A4 80242C74 46001082 */ mul.s $f2, $f2, $f0 +/* C391A8 80242C78 00000000 */ nop +/* C391AC 80242C7C 26730004 */ addiu $s3, $s3, 4 +/* C391B0 80242C80 26310001 */ addiu $s1, $s1, 1 +/* C391B4 80242C84 2A220003 */ slti $v0, $s1, 3 +/* C391B8 80242C88 E6040014 */ swc1 $f4, 0x14($s0) +/* C391BC 80242C8C E602002C */ swc1 $f2, 0x2c($s0) +/* C391C0 80242C90 1440FFEB */ bnez $v0, .L80242C40 +/* C391C4 80242C94 26100004 */ addiu $s0, $s0, 4 +/* C391C8 80242C98 8E420060 */ lw $v0, 0x60($s2) +/* C391CC 80242C9C 24420001 */ addiu $v0, $v0, 1 +/* C391D0 80242CA0 AE420060 */ sw $v0, 0x60($s2) +/* C391D4 80242CA4 28420015 */ slti $v0, $v0, 0x15 +/* C391D8 80242CA8 1440003D */ bnez $v0, .L80242DA0 +/* C391DC 80242CAC 24020001 */ addiu $v0, $zero, 1 +/* C391E0 80242CB0 AE420000 */ sw $v0, ($s2) +/* C391E4 80242CB4 08090B68 */ j .L80242DA0 +/* C391E8 80242CB8 AE400060 */ sw $zero, 0x60($s2) +.L80242CBC: +/* C391EC 80242CBC 0000882D */ daddu $s1, $zero, $zero +/* C391F0 80242CC0 3C148024 */ lui $s4, 0x8024 +/* C391F4 80242CC4 26943D88 */ addiu $s4, $s4, 0x3d88 +/* C391F8 80242CC8 24130020 */ addiu $s3, $zero, 0x20 +/* C391FC 80242CCC 0240802D */ daddu $s0, $s2, $zero +/* C39200 80242CD0 3C014248 */ lui $at, 0x4248 +/* C39204 80242CD4 4481A000 */ mtc1 $at, $f20 +/* C39208 80242CD8 4480B000 */ mtc1 $zero, $f22 +.L80242CDC: +/* C3920C 80242CDC 4406A000 */ mfc1 $a2, $f20 +/* C39210 80242CE0 27A40020 */ addiu $a0, $sp, 0x20 +/* C39214 80242CE4 E6160020 */ swc1 $f22, 0x20($s0) +/* C39218 80242CE8 8E870000 */ lw $a3, ($s4) +/* C3921C 80242CEC 02532821 */ addu $a1, $s2, $s3 +/* C39220 80242CF0 0C00A7E7 */ jal add_vec2D_polar +/* C39224 80242CF4 E7B60020 */ swc1 $f22, 0x20($sp) +/* C39228 80242CF8 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C3922C 80242CFC C7A00020 */ lwc1 $f0, 0x20($sp) +/* C39230 80242D00 46002102 */ mul.s $f4, $f4, $f0 +/* C39234 80242D04 00000000 */ nop +/* C39238 80242D08 C7A20018 */ lwc1 $f2, 0x18($sp) +/* C3923C 80242D0C 26940004 */ addiu $s4, $s4, 4 +/* C39240 80242D10 46001082 */ mul.s $f2, $f2, $f0 +/* C39244 80242D14 00000000 */ nop +/* C39248 80242D18 26730004 */ addiu $s3, $s3, 4 +/* C3924C 80242D1C 26310001 */ addiu $s1, $s1, 1 +/* C39250 80242D20 2A220003 */ slti $v0, $s1, 3 +/* C39254 80242D24 E6040014 */ swc1 $f4, 0x14($s0) +/* C39258 80242D28 E602002C */ swc1 $f2, 0x2c($s0) +/* C3925C 80242D2C 1440FFEB */ bnez $v0, .L80242CDC +/* C39260 80242D30 26100004 */ addiu $s0, $s0, 4 +/* C39264 80242D34 8E420060 */ lw $v0, 0x60($s2) +/* C39268 80242D38 24420001 */ addiu $v0, $v0, 1 +/* C3926C 80242D3C AE420060 */ sw $v0, 0x60($s2) +/* C39270 80242D40 28420010 */ slti $v0, $v0, 0x10 +/* C39274 80242D44 14400016 */ bnez $v0, .L80242DA0 +/* C39278 80242D48 2402000F */ addiu $v0, $zero, 0xf +/* C3927C 80242D4C AE420060 */ sw $v0, 0x60($s2) +/* C39280 80242D50 24020002 */ addiu $v0, $zero, 2 +/* C39284 80242D54 08090B68 */ j .L80242DA0 +/* C39288 80242D58 AE420000 */ sw $v0, ($s2) +.L80242D5C: +/* C3928C 80242D5C 8E420060 */ lw $v0, 0x60($s2) +/* C39290 80242D60 24420001 */ addiu $v0, $v0, 1 +/* C39294 80242D64 AE420060 */ sw $v0, 0x60($s2) +/* C39298 80242D68 2842001F */ slti $v0, $v0, 0x1f +/* C3929C 80242D6C 1440000C */ bnez $v0, .L80242DA0 +/* C392A0 80242D70 0000882D */ daddu $s1, $zero, $zero +/* C392A4 80242D74 0240282D */ daddu $a1, $s2, $zero +.L80242D78: +/* C392A8 80242D78 8CA20008 */ lw $v0, 8($a1) +/* C392AC 80242D7C 8C430000 */ lw $v1, ($v0) +/* C392B0 80242D80 26310001 */ addiu $s1, $s1, 1 +/* C392B4 80242D84 34630010 */ ori $v1, $v1, 0x10 +/* C392B8 80242D88 AC430000 */ sw $v1, ($v0) +/* C392BC 80242D8C 2A220003 */ slti $v0, $s1, 3 +/* C392C0 80242D90 1440FFF9 */ bnez $v0, .L80242D78 +/* C392C4 80242D94 24A50004 */ addiu $a1, $a1, 4 +/* C392C8 80242D98 08090BB5 */ j .L80242ED4 +/* C392CC 80242D9C 24020002 */ addiu $v0, $zero, 2 +.L80242DA0: +/* C392D0 80242DA0 8E430004 */ lw $v1, 4($s2) +/* C392D4 80242DA4 10600005 */ beqz $v1, .L80242DBC +/* C392D8 80242DA8 24020001 */ addiu $v0, $zero, 1 +/* C392DC 80242DAC 1062000B */ beq $v1, $v0, .L80242DDC +/* C392E0 80242DB0 0000882D */ daddu $s1, $zero, $zero +/* C392E4 80242DB4 08090BA4 */ j .L80242E90 +/* C392E8 80242DB8 0240282D */ daddu $a1, $s2, $zero +.L80242DBC: +/* C392EC 80242DBC 8E420064 */ lw $v0, 0x64($s2) +/* C392F0 80242DC0 24420001 */ addiu $v0, $v0, 1 +/* C392F4 80242DC4 AE420064 */ sw $v0, 0x64($s2) +/* C392F8 80242DC8 28420010 */ slti $v0, $v0, 0x10 +/* C392FC 80242DCC 1440002F */ bnez $v0, .L80242E8C +/* C39300 80242DD0 0000882D */ daddu $s1, $zero, $zero +/* C39304 80242DD4 08090BA0 */ j .L80242E80 +/* C39308 80242DD8 24020001 */ addiu $v0, $zero, 1 +.L80242DDC: +/* C3930C 80242DDC 4480A000 */ mtc1 $zero, $f20 +/* C39310 80242DE0 24130014 */ addiu $s3, $zero, 0x14 +/* C39314 80242DE4 0240802D */ daddu $s0, $s2, $zero +.L80242DE8: +/* C39318 80242DE8 4405A000 */ mfc1 $a1, $f20 +/* C3931C 80242DEC AFB30010 */ sw $s3, 0x10($sp) +/* C39320 80242DF0 8E060038 */ lw $a2, 0x38($s0) +/* C39324 80242DF4 8E470064 */ lw $a3, 0x64($s2) +/* C39328 80242DF8 0C00A8ED */ jal update_lerp +/* C3932C 80242DFC 24040001 */ addiu $a0, $zero, 1 +/* C39330 80242E00 C6020014 */ lwc1 $f2, 0x14($s0) +/* C39334 80242E04 46001080 */ add.s $f2, $f2, $f0 +/* C39338 80242E08 4405A000 */ mfc1 $a1, $f20 +/* C3933C 80242E0C E6020014 */ swc1 $f2, 0x14($s0) +/* C39340 80242E10 AFB30010 */ sw $s3, 0x10($sp) +/* C39344 80242E14 8E060044 */ lw $a2, 0x44($s0) +/* C39348 80242E18 8E470064 */ lw $a3, 0x64($s2) +/* C3934C 80242E1C 0C00A8ED */ jal update_lerp +/* C39350 80242E20 24040001 */ addiu $a0, $zero, 1 +/* C39354 80242E24 C6020020 */ lwc1 $f2, 0x20($s0) +/* C39358 80242E28 46001080 */ add.s $f2, $f2, $f0 +/* C3935C 80242E2C 4405A000 */ mfc1 $a1, $f20 +/* C39360 80242E30 E6020020 */ swc1 $f2, 0x20($s0) +/* C39364 80242E34 AFB30010 */ sw $s3, 0x10($sp) +/* C39368 80242E38 8E060050 */ lw $a2, 0x50($s0) +/* C3936C 80242E3C 8E470064 */ lw $a3, 0x64($s2) +/* C39370 80242E40 0C00A8ED */ jal update_lerp +/* C39374 80242E44 24040001 */ addiu $a0, $zero, 1 +/* C39378 80242E48 C602002C */ lwc1 $f2, 0x2c($s0) +/* C3937C 80242E4C 46001080 */ add.s $f2, $f2, $f0 +/* C39380 80242E50 26310001 */ addiu $s1, $s1, 1 +/* C39384 80242E54 2A220003 */ slti $v0, $s1, 3 +/* C39388 80242E58 E602002C */ swc1 $f2, 0x2c($s0) +/* C3938C 80242E5C 1440FFE2 */ bnez $v0, .L80242DE8 +/* C39390 80242E60 26100004 */ addiu $s0, $s0, 4 +/* C39394 80242E64 8E420064 */ lw $v0, 0x64($s2) +/* C39398 80242E68 24420001 */ addiu $v0, $v0, 1 +/* C3939C 80242E6C AE420064 */ sw $v0, 0x64($s2) +/* C393A0 80242E70 28420015 */ slti $v0, $v0, 0x15 +/* C393A4 80242E74 14400005 */ bnez $v0, .L80242E8C +/* C393A8 80242E78 0000882D */ daddu $s1, $zero, $zero +/* C393AC 80242E7C 24020002 */ addiu $v0, $zero, 2 +.L80242E80: +/* C393B0 80242E80 AE420004 */ sw $v0, 4($s2) +/* C393B4 80242E84 AE400064 */ sw $zero, 0x64($s2) +/* C393B8 80242E88 0000882D */ daddu $s1, $zero, $zero +.L80242E8C: +/* C393BC 80242E8C 0240282D */ daddu $a1, $s2, $zero +.L80242E90: +/* C393C0 80242E90 8CA20008 */ lw $v0, 8($a1) +/* C393C4 80242E94 C4A00014 */ lwc1 $f0, 0x14($a1) +/* C393C8 80242E98 8C42000C */ lw $v0, 0xc($v0) +/* C393CC 80242E9C E4400010 */ swc1 $f0, 0x10($v0) +/* C393D0 80242EA0 8CA20008 */ lw $v0, 8($a1) +/* C393D4 80242EA4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* C393D8 80242EA8 8C42000C */ lw $v0, 0xc($v0) +/* C393DC 80242EAC 26310001 */ addiu $s1, $s1, 1 +/* C393E0 80242EB0 E4400014 */ swc1 $f0, 0x14($v0) +/* C393E4 80242EB4 8CA20008 */ lw $v0, 8($a1) +/* C393E8 80242EB8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* C393EC 80242EBC 8C42000C */ lw $v0, 0xc($v0) +/* C393F0 80242EC0 E4400018 */ swc1 $f0, 0x18($v0) +/* C393F4 80242EC4 2A220003 */ slti $v0, $s1, 3 +/* C393F8 80242EC8 1440FFF1 */ bnez $v0, .L80242E90 +/* C393FC 80242ECC 24A50004 */ addiu $a1, $a1, 4 +/* C39400 80242ED0 0000102D */ daddu $v0, $zero, $zero +.L80242ED4: +/* C39404 80242ED4 8FBF0044 */ lw $ra, 0x44($sp) +/* C39408 80242ED8 8FB60040 */ lw $s6, 0x40($sp) +/* C3940C 80242EDC 8FB5003C */ lw $s5, 0x3c($sp) +/* C39410 80242EE0 8FB40038 */ lw $s4, 0x38($sp) +/* C39414 80242EE4 8FB30034 */ lw $s3, 0x34($sp) +/* C39418 80242EE8 8FB20030 */ lw $s2, 0x30($sp) +/* C3941C 80242EEC 8FB1002C */ lw $s1, 0x2c($sp) +/* C39420 80242EF0 8FB00028 */ lw $s0, 0x28($sp) +/* C39424 80242EF4 D7B80058 */ ldc1 $f24, 0x58($sp) +/* C39428 80242EF8 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C3942C 80242EFC D7B40048 */ ldc1 $f20, 0x48($sp) +/* C39430 80242F00 03E00008 */ jr $ra +/* C39434 80242F04 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80242F08_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242F08_C36530.s new file mode 100644 index 0000000000..3d10bc953d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80242F08_C36530.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F08_C39438 +/* C39438 80242F08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3943C 80242F0C AFB10014 */ sw $s1, 0x14($sp) +/* C39440 80242F10 0080882D */ daddu $s1, $a0, $zero +/* C39444 80242F14 AFB20018 */ sw $s2, 0x18($sp) +/* C39448 80242F18 AFBF001C */ sw $ra, 0x1c($sp) +/* C3944C 80242F1C AFB00010 */ sw $s0, 0x10($sp) +/* C39450 80242F20 8E30000C */ lw $s0, 0xc($s1) +/* C39454 80242F24 10A00010 */ beqz $a1, .L80242F68 +/* C39458 80242F28 0000902D */ daddu $s2, $zero, $zero +/* C3945C 80242F2C 8E050000 */ lw $a1, ($s0) +/* C39460 80242F30 0C0B1EAF */ jal get_variable +/* C39464 80242F34 26100004 */ addiu $s0, $s0, 4 +/* C39468 80242F38 AE220084 */ sw $v0, 0x84($s1) +/* C3946C 80242F3C 8E050000 */ lw $a1, ($s0) +/* C39470 80242F40 0C0B1EAF */ jal get_variable +/* C39474 80242F44 0220202D */ daddu $a0, $s1, $zero +/* C39478 80242F48 0240202D */ daddu $a0, $s2, $zero +/* C3947C 80242F4C 240500D0 */ addiu $a1, $zero, 0xd0 +/* C39480 80242F50 00A0302D */ daddu $a2, $a1, $zero +/* C39484 80242F54 00A0382D */ daddu $a3, $a1, $zero +/* C39488 80242F58 AE220088 */ sw $v0, 0x88($s1) +/* C3948C 80242F5C AE200070 */ sw $zero, 0x70($s1) +/* C39490 80242F60 0C04DF84 */ jal func_80137E10 +/* C39494 80242F64 AE200074 */ sw $zero, 0x74($s1) +.L80242F68: +/* C39498 80242F68 8E230070 */ lw $v1, 0x70($s1) +/* C3949C 80242F6C 24040001 */ addiu $a0, $zero, 1 +/* C394A0 80242F70 10640019 */ beq $v1, $a0, .L80242FD8 +/* C394A4 80242F74 28620002 */ slti $v0, $v1, 2 +/* C394A8 80242F78 10400005 */ beqz $v0, .L80242F90 +/* C394AC 80242F7C 24020002 */ addiu $v0, $zero, 2 +/* C394B0 80242F80 10600007 */ beqz $v1, .L80242FA0 +/* C394B4 80242F84 240500FF */ addiu $a1, $zero, 0xff +/* C394B8 80242F88 08090C06 */ j .L80243018 +/* C394BC 80242F8C 00000000 */ nop +.L80242F90: +/* C394C0 80242F90 10620019 */ beq $v1, $v0, .L80242FF8 +/* C394C4 80242F94 00000000 */ nop +/* C394C8 80242F98 08090C06 */ j .L80243018 +/* C394CC 80242F9C 00000000 */ nop +.L80242FA0: +/* C394D0 80242FA0 8E220074 */ lw $v0, 0x74($s1) +/* C394D4 80242FA4 14450004 */ bne $v0, $a1, .L80242FB8 +/* C394D8 80242FA8 00000000 */ nop +/* C394DC 80242FAC AE240070 */ sw $a0, 0x70($s1) +/* C394E0 80242FB0 AE200078 */ sw $zero, 0x78($s1) +/* C394E4 80242FB4 8E220074 */ lw $v0, 0x74($s1) +.L80242FB8: +/* C394E8 80242FB8 8E230084 */ lw $v1, 0x84($s1) +/* C394EC 80242FBC 00431021 */ addu $v0, $v0, $v1 +/* C394F0 80242FC0 AE220074 */ sw $v0, 0x74($s1) +/* C394F4 80242FC4 28420100 */ slti $v0, $v0, 0x100 +/* C394F8 80242FC8 50400013 */ beql $v0, $zero, .L80243018 +/* C394FC 80242FCC AE250074 */ sw $a1, 0x74($s1) +/* C39500 80242FD0 08090C06 */ j .L80243018 +/* C39504 80242FD4 00000000 */ nop +.L80242FD8: +/* C39508 80242FD8 8E220078 */ lw $v0, 0x78($s1) +/* C3950C 80242FDC 24420001 */ addiu $v0, $v0, 1 +/* C39510 80242FE0 AE220078 */ sw $v0, 0x78($s1) +/* C39514 80242FE4 28420002 */ slti $v0, $v0, 2 +/* C39518 80242FE8 1440000B */ bnez $v0, .L80243018 +/* C3951C 80242FEC 24020002 */ addiu $v0, $zero, 2 +/* C39520 80242FF0 08090C06 */ j .L80243018 +/* C39524 80242FF4 AE220070 */ sw $v0, 0x70($s1) +.L80242FF8: +/* C39528 80242FF8 8E230074 */ lw $v1, 0x74($s1) +/* C3952C 80242FFC 50600001 */ beql $v1, $zero, .L80243004 +/* C39530 80243000 24120001 */ addiu $s2, $zero, 1 +.L80243004: +/* C39534 80243004 8E220088 */ lw $v0, 0x88($s1) +/* C39538 80243008 00621023 */ subu $v0, $v1, $v0 +/* C3953C 8024300C 04410002 */ bgez $v0, .L80243018 +/* C39540 80243010 AE220074 */ sw $v0, 0x74($s1) +/* C39544 80243014 AE200074 */ sw $zero, 0x74($s1) +.L80243018: +/* C39548 80243018 C6200074 */ lwc1 $f0, 0x74($s1) +/* C3954C 8024301C 46800020 */ cvt.s.w $f0, $f0 +/* C39550 80243020 44050000 */ mfc1 $a1, $f0 +/* C39554 80243024 0C04DF62 */ jal func_80137D88 +/* C39558 80243028 24040001 */ addiu $a0, $zero, 1 +/* C3955C 8024302C 0240102D */ daddu $v0, $s2, $zero +/* C39560 80243030 8FBF001C */ lw $ra, 0x1c($sp) +/* C39564 80243034 8FB20018 */ lw $s2, 0x18($sp) +/* C39568 80243038 8FB10014 */ lw $s1, 0x14($sp) +/* C3956C 8024303C 8FB00010 */ lw $s0, 0x10($sp) +/* C39570 80243040 03E00008 */ jr $ra +/* C39574 80243044 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80243048.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80243048.s new file mode 100644 index 0000000000..60298906dd --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80243048.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243048 +/* C39578 80243048 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3957C 8024304C AFBF0018 */ sw $ra, 0x18($sp) +/* C39580 80243050 0C00EAD2 */ jal get_npc_safe +/* C39584 80243054 2404FFFC */ addiu $a0, $zero, -4 +/* C39588 80243058 3C0141F0 */ lui $at, 0x41f0 +/* C3958C 8024305C 44810000 */ mtc1 $at, $f0 +/* C39590 80243060 C442003C */ lwc1 $f2, 0x3c($v0) +/* C39594 80243064 46001080 */ add.s $f2, $f2, $f0 +/* C39598 80243068 E7A00010 */ swc1 $f0, 0x10($sp) +/* C3959C 8024306C 8C450038 */ lw $a1, 0x38($v0) +/* C395A0 80243070 8C470040 */ lw $a3, 0x40($v0) +/* C395A4 80243074 44061000 */ mfc1 $a2, $f2 +/* C395A8 80243078 0C01BFBC */ jal func_8006FEF0 +/* C395AC 8024307C 24040002 */ addiu $a0, $zero, 2 +/* C395B0 80243080 8FBF0018 */ lw $ra, 0x18($sp) +/* C395B4 80243084 24020002 */ addiu $v0, $zero, 2 +/* C395B8 80243088 03E00008 */ jr $ra +/* C395BC 8024308C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_80243090_C36530.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_80243090_C36530.s new file mode 100644 index 0000000000..4532e191f5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_80243090_C36530.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243090_C395C0 +/* C395C0 80243090 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C395C4 80243094 AFBF0018 */ sw $ra, 0x18($sp) +/* C395C8 80243098 0C00EAD2 */ jal get_npc_safe +/* C395CC 8024309C 2404FFFC */ addiu $a0, $zero, -4 +/* C395D0 802430A0 3C0141F0 */ lui $at, 0x41f0 +/* C395D4 802430A4 44810000 */ mtc1 $at, $f0 +/* C395D8 802430A8 C442003C */ lwc1 $f2, 0x3c($v0) +/* C395DC 802430AC 46001080 */ add.s $f2, $f2, $f0 +/* C395E0 802430B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C395E4 802430B4 8C450038 */ lw $a1, 0x38($v0) +/* C395E8 802430B8 8C470040 */ lw $a3, 0x40($v0) +/* C395EC 802430BC 44061000 */ mfc1 $a2, $f2 +/* C395F0 802430C0 0C01BFBC */ jal func_8006FEF0 +/* C395F4 802430C4 24040004 */ addiu $a0, $zero, 4 +/* C395F8 802430C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C395FC 802430CC 24020002 */ addiu $v0, $zero, 2 +/* C39600 802430D0 03E00008 */ jr $ra +/* C39604 802430D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_04/func_802430D8.s b/asm/nonmatchings/world/area_dgb/dgb_04/func_802430D8.s new file mode 100644 index 0000000000..7fb9fcea84 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_04/func_802430D8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430D8 +/* C39608 802430D8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C3960C 802430DC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* C39610 802430E0 AC800084 */ sw $zero, 0x84($a0) +/* C39614 802430E4 80620000 */ lb $v0, ($v1) +/* C39618 802430E8 10400005 */ beqz $v0, .L80243100 +/* C3961C 802430EC 24020003 */ addiu $v0, $zero, 3 +/* C39620 802430F0 80630003 */ lb $v1, 3($v1) +/* C39624 802430F4 14620002 */ bne $v1, $v0, .L80243100 +/* C39628 802430F8 24020001 */ addiu $v0, $zero, 1 +/* C3962C 802430FC AC820084 */ sw $v0, 0x84($a0) +.L80243100: +/* C39630 80243100 03E00008 */ jr $ra +/* C39634 80243104 24020002 */ addiu $v0, $zero, 2 +/* C39638 80243108 00000000 */ nop +/* C3963C 8024310C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240000_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240000_C3AA10.s new file mode 100644 index 0000000000..284d7229ed --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240000_C3AA10.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C3AA10 +/* C3AA10 80240000 3C018011 */ lui $at, 0x8011 +/* C3AA14 80240004 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* C3AA18 80240008 3C01C352 */ lui $at, 0xc352 +/* C3AA1C 8024000C 44810000 */ mtc1 $at, $f0 +/* C3AA20 80240010 00000000 */ nop +/* C3AA24 80240014 4602003E */ c.le.s $f0, $f2 +/* C3AA28 80240018 00000000 */ nop +/* C3AA2C 8024001C 45010002 */ bc1t .L80240028 +/* C3AA30 80240020 0000102D */ daddu $v0, $zero, $zero +/* C3AA34 80240024 24020002 */ addiu $v0, $zero, 2 +.L80240028: +/* C3AA38 80240028 03E00008 */ jr $ra +/* C3AA3C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240030_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240030_C3AA10.s new file mode 100644 index 0000000000..144c1b352c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240030_C3AA10.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_C3AA40 +/* C3AA40 80240030 3C018011 */ lui $at, 0x8011 +/* C3AA44 80240034 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* C3AA48 80240038 3C01C387 */ lui $at, 0xc387 +/* C3AA4C 8024003C 44810000 */ mtc1 $at, $f0 +/* C3AA50 80240040 00000000 */ nop +/* C3AA54 80240044 4602003C */ c.lt.s $f0, $f2 +/* C3AA58 80240048 00000000 */ nop +/* C3AA5C 8024004C 45010002 */ bc1t .L80240058 +/* C3AA60 80240050 0000102D */ daddu $v0, $zero, $zero +/* C3AA64 80240054 24020002 */ addiu $v0, $zero, 2 +.L80240058: +/* C3AA68 80240058 03E00008 */ jr $ra +/* C3AA6C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240060_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240060_C3AA10.s new file mode 100644 index 0000000000..a01e26da4a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240060_C3AA10.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060_C3AA70 +/* C3AA70 80240060 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3AA74 80240064 AFB10014 */ sw $s1, 0x14($sp) +/* C3AA78 80240068 0080882D */ daddu $s1, $a0, $zero +/* C3AA7C 8024006C AFBF0018 */ sw $ra, 0x18($sp) +/* C3AA80 80240070 AFB00010 */ sw $s0, 0x10($sp) +/* C3AA84 80240074 8E300148 */ lw $s0, 0x148($s1) +/* C3AA88 80240078 0C00EABB */ jal get_npc_unsafe +/* C3AA8C 8024007C 86040008 */ lh $a0, 8($s0) +/* C3AA90 80240080 24030001 */ addiu $v1, $zero, 1 +/* C3AA94 80240084 0040202D */ daddu $a0, $v0, $zero +/* C3AA98 80240088 AE03006C */ sw $v1, 0x6c($s0) +/* C3AA9C 8024008C 8482008C */ lh $v0, 0x8c($a0) +/* C3AAA0 80240090 14400009 */ bnez $v0, .L802400B8 +/* C3AAA4 80240094 24020002 */ addiu $v0, $zero, 2 +/* C3AAA8 80240098 96030072 */ lhu $v1, 0x72($s0) +/* C3AAAC 8024009C AE02006C */ sw $v0, 0x6c($s0) +/* C3AAB0 802400A0 A483008E */ sh $v1, 0x8e($a0) +/* C3AAB4 802400A4 8E0200CC */ lw $v0, 0xcc($s0) +/* C3AAB8 802400A8 8C420020 */ lw $v0, 0x20($v0) +/* C3AABC 802400AC AC820028 */ sw $v0, 0x28($a0) +/* C3AAC0 802400B0 2402001F */ addiu $v0, $zero, 0x1f +/* C3AAC4 802400B4 AE220070 */ sw $v0, 0x70($s1) +.L802400B8: +/* C3AAC8 802400B8 8FBF0018 */ lw $ra, 0x18($sp) +/* C3AACC 802400BC 8FB10014 */ lw $s1, 0x14($sp) +/* C3AAD0 802400C0 8FB00010 */ lw $s0, 0x10($sp) +/* C3AAD4 802400C4 03E00008 */ jr $ra +/* C3AAD8 802400C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_802400CC_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_802400CC_C3AA10.s new file mode 100644 index 0000000000..17ad61f51f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_802400CC_C3AA10.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400CC_C3AADC +/* C3AADC 802400CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3AAE0 802400D0 AFB10014 */ sw $s1, 0x14($sp) +/* C3AAE4 802400D4 0080882D */ daddu $s1, $a0, $zero +/* C3AAE8 802400D8 AFBF0018 */ sw $ra, 0x18($sp) +/* C3AAEC 802400DC AFB00010 */ sw $s0, 0x10($sp) +/* C3AAF0 802400E0 8E300148 */ lw $s0, 0x148($s1) +/* C3AAF4 802400E4 0C00EABB */ jal get_npc_unsafe +/* C3AAF8 802400E8 86040008 */ lh $a0, 8($s0) +/* C3AAFC 802400EC 0040202D */ daddu $a0, $v0, $zero +/* C3AB00 802400F0 9482008E */ lhu $v0, 0x8e($a0) +/* C3AB04 802400F4 2442FFFF */ addiu $v0, $v0, -1 +/* C3AB08 802400F8 A482008E */ sh $v0, 0x8e($a0) +/* C3AB0C 802400FC 00021400 */ sll $v0, $v0, 0x10 +/* C3AB10 80240100 1C400009 */ bgtz $v0, .L80240128 +/* C3AB14 80240104 24020003 */ addiu $v0, $zero, 3 +/* C3AB18 80240108 96030076 */ lhu $v1, 0x76($s0) +/* C3AB1C 8024010C AE02006C */ sw $v0, 0x6c($s0) +/* C3AB20 80240110 A483008E */ sh $v1, 0x8e($a0) +/* C3AB24 80240114 8E0200CC */ lw $v0, 0xcc($s0) +/* C3AB28 80240118 8C420024 */ lw $v0, 0x24($v0) +/* C3AB2C 8024011C AC820028 */ sw $v0, 0x28($a0) +/* C3AB30 80240120 24020020 */ addiu $v0, $zero, 0x20 +/* C3AB34 80240124 AE220070 */ sw $v0, 0x70($s1) +.L80240128: +/* C3AB38 80240128 8FBF0018 */ lw $ra, 0x18($sp) +/* C3AB3C 8024012C 8FB10014 */ lw $s1, 0x14($sp) +/* C3AB40 80240130 8FB00010 */ lw $s0, 0x10($sp) +/* C3AB44 80240134 03E00008 */ jr $ra +/* C3AB48 80240138 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_8024013C_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024013C_C3AA10.s new file mode 100644 index 0000000000..105d4af803 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024013C_C3AA10.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024013C_C3AB4C +/* C3AB4C 8024013C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C3AB50 80240140 AFB10034 */ sw $s1, 0x34($sp) +/* C3AB54 80240144 0080882D */ daddu $s1, $a0, $zero +/* C3AB58 80240148 AFBF0038 */ sw $ra, 0x38($sp) +/* C3AB5C 8024014C AFB00030 */ sw $s0, 0x30($sp) +/* C3AB60 80240150 8E300148 */ lw $s0, 0x148($s1) +/* C3AB64 80240154 0C00EABB */ jal get_npc_unsafe +/* C3AB68 80240158 86040008 */ lh $a0, 8($s0) +/* C3AB6C 8024015C 0040282D */ daddu $a1, $v0, $zero +/* C3AB70 80240160 94A2008E */ lhu $v0, 0x8e($a1) +/* C3AB74 80240164 2442FFFF */ addiu $v0, $v0, -1 +/* C3AB78 80240168 A4A2008E */ sh $v0, 0x8e($a1) +/* C3AB7C 8024016C 00021400 */ sll $v0, $v0, 0x10 +/* C3AB80 80240170 1C400023 */ bgtz $v0, .L80240200 +/* C3AB84 80240174 24020004 */ addiu $v0, $zero, 4 +/* C3AB88 80240178 8E0300CC */ lw $v1, 0xcc($s0) +/* C3AB8C 8024017C AE02006C */ sw $v0, 0x6c($s0) +/* C3AB90 80240180 8C620000 */ lw $v0, ($v1) +/* C3AB94 80240184 ACA20028 */ sw $v0, 0x28($a1) +/* C3AB98 80240188 9602007A */ lhu $v0, 0x7a($s0) +/* C3AB9C 8024018C A4A2008E */ sh $v0, 0x8e($a1) +/* C3ABA0 80240190 8E020078 */ lw $v0, 0x78($s0) +/* C3ABA4 80240194 28420008 */ slti $v0, $v0, 8 +/* C3ABA8 80240198 14400018 */ bnez $v0, .L802401FC +/* C3ABAC 8024019C 24020021 */ addiu $v0, $zero, 0x21 +/* C3ABB0 802401A0 24040003 */ addiu $a0, $zero, 3 +/* C3ABB4 802401A4 27A30028 */ addiu $v1, $sp, 0x28 +/* C3ABB8 802401A8 84A700A8 */ lh $a3, 0xa8($a1) +/* C3ABBC 802401AC 3C013F80 */ lui $at, 0x3f80 +/* C3ABC0 802401B0 44810000 */ mtc1 $at, $f0 +/* C3ABC4 802401B4 3C014000 */ lui $at, 0x4000 +/* C3ABC8 802401B8 44811000 */ mtc1 $at, $f2 +/* C3ABCC 802401BC 3C01C1A0 */ lui $at, 0xc1a0 +/* C3ABD0 802401C0 44812000 */ mtc1 $at, $f4 +/* C3ABD4 802401C4 44873000 */ mtc1 $a3, $f6 +/* C3ABD8 802401C8 00000000 */ nop +/* C3ABDC 802401CC 468031A0 */ cvt.s.w $f6, $f6 +/* C3ABE0 802401D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C3ABE4 802401D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3ABE8 802401D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3ABEC 802401DC 8E020078 */ lw $v0, 0x78($s0) +/* C3ABF0 802401E0 44073000 */ mfc1 $a3, $f6 +/* C3ABF4 802401E4 0000302D */ daddu $a2, $zero, $zero +/* C3ABF8 802401E8 AFA30020 */ sw $v1, 0x20($sp) +/* C3ABFC 802401EC 2442FFFF */ addiu $v0, $v0, -1 +/* C3AC00 802401F0 0C01BFA4 */ jal fx_emote +/* C3AC04 802401F4 AFA2001C */ sw $v0, 0x1c($sp) +/* C3AC08 802401F8 24020021 */ addiu $v0, $zero, 0x21 +.L802401FC: +/* C3AC0C 802401FC AE220070 */ sw $v0, 0x70($s1) +.L80240200: +/* C3AC10 80240200 8FBF0038 */ lw $ra, 0x38($sp) +/* C3AC14 80240204 8FB10034 */ lw $s1, 0x34($sp) +/* C3AC18 80240208 8FB00030 */ lw $s0, 0x30($sp) +/* C3AC1C 8024020C 03E00008 */ jr $ra +/* C3AC20 80240210 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240214_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240214_C3AA10.s new file mode 100644 index 0000000000..c54b59dcea --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240214_C3AA10.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240214_C3AC24 +/* C3AC24 80240214 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3AC28 80240218 AFB10014 */ sw $s1, 0x14($sp) +/* C3AC2C 8024021C 0080882D */ daddu $s1, $a0, $zero +/* C3AC30 80240220 AFBF0018 */ sw $ra, 0x18($sp) +/* C3AC34 80240224 AFB00010 */ sw $s0, 0x10($sp) +/* C3AC38 80240228 8E300148 */ lw $s0, 0x148($s1) +/* C3AC3C 8024022C 0C00EABB */ jal get_npc_unsafe +/* C3AC40 80240230 86040008 */ lh $a0, 8($s0) +/* C3AC44 80240234 9443008E */ lhu $v1, 0x8e($v0) +/* C3AC48 80240238 2463FFFF */ addiu $v1, $v1, -1 +/* C3AC4C 8024023C A443008E */ sh $v1, 0x8e($v0) +/* C3AC50 80240240 00031C00 */ sll $v1, $v1, 0x10 +/* C3AC54 80240244 1C600003 */ bgtz $v1, .L80240254 +/* C3AC58 80240248 2402000C */ addiu $v0, $zero, 0xc +/* C3AC5C 8024024C AE00006C */ sw $zero, 0x6c($s0) +/* C3AC60 80240250 AE220070 */ sw $v0, 0x70($s1) +.L80240254: +/* C3AC64 80240254 8FBF0018 */ lw $ra, 0x18($sp) +/* C3AC68 80240258 8FB10014 */ lw $s1, 0x14($sp) +/* C3AC6C 8024025C 8FB00010 */ lw $s0, 0x10($sp) +/* C3AC70 80240260 03E00008 */ jr $ra +/* C3AC74 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240268_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240268_C3AA10.s new file mode 100644 index 0000000000..3d6afe762c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240268_C3AA10.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_C3AC78 +/* C3AC78 80240268 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3AC7C 8024026C AFBF0024 */ sw $ra, 0x24($sp) +/* C3AC80 80240270 AFB40020 */ sw $s4, 0x20($sp) +/* C3AC84 80240274 AFB3001C */ sw $s3, 0x1c($sp) +/* C3AC88 80240278 AFB20018 */ sw $s2, 0x18($sp) +/* C3AC8C 8024027C AFB10014 */ sw $s1, 0x14($sp) +/* C3AC90 80240280 AFB00010 */ sw $s0, 0x10($sp) +/* C3AC94 80240284 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C3AC98 80240288 8C900148 */ lw $s0, 0x148($a0) +/* C3AC9C 8024028C 86040008 */ lh $a0, 8($s0) +/* C3ACA0 80240290 0C00EABB */ jal get_npc_unsafe +/* C3ACA4 80240294 24110001 */ addiu $s1, $zero, 1 +/* C3ACA8 80240298 86040008 */ lh $a0, 8($s0) +/* C3ACAC 8024029C 0040802D */ daddu $s0, $v0, $zero +/* C3ACB0 802402A0 3C05800B */ lui $a1, %hi(gCameras) +/* C3ACB4 802402A4 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C3ACB8 802402A8 3C03800A */ lui $v1, 0x800a +/* C3ACBC 802402AC 8463A634 */ lh $v1, -0x59cc($v1) +/* C3ACC0 802402B0 00912021 */ addu $a0, $a0, $s1 +/* C3ACC4 802402B4 00031080 */ sll $v0, $v1, 2 +/* C3ACC8 802402B8 00431021 */ addu $v0, $v0, $v1 +/* C3ACCC 802402BC 00021080 */ sll $v0, $v0, 2 +/* C3ACD0 802402C0 00431023 */ subu $v0, $v0, $v1 +/* C3ACD4 802402C4 000218C0 */ sll $v1, $v0, 3 +/* C3ACD8 802402C8 00431021 */ addu $v0, $v0, $v1 +/* C3ACDC 802402CC 000210C0 */ sll $v0, $v0, 3 +/* C3ACE0 802402D0 0C00FB3A */ jal get_enemy +/* C3ACE4 802402D4 00459021 */ addu $s2, $v0, $a1 +/* C3ACE8 802402D8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C3ACEC 802402DC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C3ACF0 802402E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3ACF4 802402E4 8E830000 */ lw $v1, ($s4) +/* C3ACF8 802402E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3ACFC 802402EC 8C660028 */ lw $a2, 0x28($v1) +/* C3AD00 802402F0 8C670030 */ lw $a3, 0x30($v1) +/* C3AD04 802402F4 0C00A7B5 */ jal dist2D +/* C3AD08 802402F8 0040982D */ daddu $s3, $v0, $zero +/* C3AD0C 802402FC C6620074 */ lwc1 $f2, 0x74($s3) +/* C3AD10 80240300 468010A0 */ cvt.s.w $f2, $f2 +/* C3AD14 80240304 4600103C */ c.lt.s $f2, $f0 +/* C3AD18 80240308 00000000 */ nop +/* C3AD1C 8024030C 45030001 */ bc1tl .L80240314 +/* C3AD20 80240310 0000882D */ daddu $s1, $zero, $zero +.L80240314: +/* C3AD24 80240314 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C3AD28 80240318 C60E000C */ lwc1 $f14, 0xc($s0) +/* C3AD2C 8024031C 3C014387 */ lui $at, 0x4387 +/* C3AD30 80240320 4481A000 */ mtc1 $at, $f20 +/* C3AD34 80240324 0C00A70A */ jal get_clamped_angle_diff +/* C3AD38 80240328 00000000 */ nop +/* C3AD3C 8024032C 0C00A6C9 */ jal clamp_angle +/* C3AD40 80240330 46000306 */ mov.s $f12, $f0 +/* C3AD44 80240334 3C018024 */ lui $at, 0x8024 +/* C3AD48 80240338 D4222340 */ ldc1 $f2, 0x2340($at) +/* C3AD4C 8024033C 46000021 */ cvt.d.s $f0, $f0 +/* C3AD50 80240340 4622003C */ c.lt.d $f0, $f2 +/* C3AD54 80240344 00000000 */ nop +/* C3AD58 80240348 45000003 */ bc1f .L80240358 +/* C3AD5C 8024034C 00000000 */ nop +/* C3AD60 80240350 3C0142B4 */ lui $at, 0x42b4 +/* C3AD64 80240354 4481A000 */ mtc1 $at, $f20 +.L80240358: +/* C3AD68 80240358 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3AD6C 8024035C 8E820000 */ lw $v0, ($s4) +/* C3AD70 80240360 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3AD74 80240364 8C460028 */ lw $a2, 0x28($v0) +/* C3AD78 80240368 0C00A720 */ jal atan2 +/* C3AD7C 8024036C 8C470030 */ lw $a3, 0x30($v0) +/* C3AD80 80240370 4600A306 */ mov.s $f12, $f20 +/* C3AD84 80240374 0C00A70A */ jal get_clamped_angle_diff +/* C3AD88 80240378 46000386 */ mov.s $f14, $f0 +/* C3AD8C 8024037C C6620078 */ lwc1 $f2, 0x78($s3) +/* C3AD90 80240380 468010A0 */ cvt.s.w $f2, $f2 +/* C3AD94 80240384 46000005 */ abs.s $f0, $f0 +/* C3AD98 80240388 4600103C */ c.lt.s $f2, $f0 +/* C3AD9C 8024038C 00000000 */ nop +/* C3ADA0 80240390 45030001 */ bc1tl .L80240398 +/* C3ADA4 80240394 0000882D */ daddu $s1, $zero, $zero +.L80240398: +/* C3ADA8 80240398 8E820000 */ lw $v0, ($s4) +/* C3ADAC 8024039C C600003C */ lwc1 $f0, 0x3c($s0) +/* C3ADB0 802403A0 C442002C */ lwc1 $f2, 0x2c($v0) +/* C3ADB4 802403A4 860200A8 */ lh $v0, 0xa8($s0) +/* C3ADB8 802403A8 46020001 */ sub.s $f0, $f0, $f2 +/* C3ADBC 802403AC 44821000 */ mtc1 $v0, $f2 +/* C3ADC0 802403B0 00000000 */ nop +/* C3ADC4 802403B4 468010A1 */ cvt.d.w $f2, $f2 +/* C3ADC8 802403B8 46221080 */ add.d $f2, $f2, $f2 +/* C3ADCC 802403BC 46000005 */ abs.s $f0, $f0 +/* C3ADD0 802403C0 46000021 */ cvt.d.s $f0, $f0 +/* C3ADD4 802403C4 4620103E */ c.le.d $f2, $f0 +/* C3ADD8 802403C8 00000000 */ nop +/* C3ADDC 802403CC 45030001 */ bc1tl .L802403D4 +/* C3ADE0 802403D0 0000882D */ daddu $s1, $zero, $zero +.L802403D4: +/* C3ADE4 802403D4 3C038011 */ lui $v1, 0x8011 +/* C3ADE8 802403D8 8063EBB3 */ lb $v1, -0x144d($v1) +/* C3ADEC 802403DC 24020009 */ addiu $v0, $zero, 9 +/* C3ADF0 802403E0 50620001 */ beql $v1, $v0, .L802403E8 +/* C3ADF4 802403E4 0000882D */ daddu $s1, $zero, $zero +.L802403E8: +/* C3ADF8 802403E8 24020007 */ addiu $v0, $zero, 7 +/* C3ADFC 802403EC 50620001 */ beql $v1, $v0, .L802403F4 +/* C3AE00 802403F0 0000882D */ daddu $s1, $zero, $zero +.L802403F4: +/* C3AE04 802403F4 0220102D */ daddu $v0, $s1, $zero +/* C3AE08 802403F8 8FBF0024 */ lw $ra, 0x24($sp) +/* C3AE0C 802403FC 8FB40020 */ lw $s4, 0x20($sp) +/* C3AE10 80240400 8FB3001C */ lw $s3, 0x1c($sp) +/* C3AE14 80240404 8FB20018 */ lw $s2, 0x18($sp) +/* C3AE18 80240408 8FB10014 */ lw $s1, 0x14($sp) +/* C3AE1C 8024040C 8FB00010 */ lw $s0, 0x10($sp) +/* C3AE20 80240410 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C3AE24 80240414 03E00008 */ jr $ra +/* C3AE28 80240418 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_8024041C_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024041C_C3AA10.s new file mode 100644 index 0000000000..7b6db14a8f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024041C_C3AA10.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_C3AE2C +/* C3AE2C 8024041C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3AE30 80240420 AFB40028 */ sw $s4, 0x28($sp) +/* C3AE34 80240424 0080A02D */ daddu $s4, $a0, $zero +/* C3AE38 80240428 AFBF002C */ sw $ra, 0x2c($sp) +/* C3AE3C 8024042C AFB30024 */ sw $s3, 0x24($sp) +/* C3AE40 80240430 AFB20020 */ sw $s2, 0x20($sp) +/* C3AE44 80240434 AFB1001C */ sw $s1, 0x1c($sp) +/* C3AE48 80240438 AFB00018 */ sw $s0, 0x18($sp) +/* C3AE4C 8024043C 8E910148 */ lw $s1, 0x148($s4) +/* C3AE50 80240440 86240008 */ lh $a0, 8($s1) +/* C3AE54 80240444 0C00EABB */ jal get_npc_unsafe +/* C3AE58 80240448 00A0802D */ daddu $s0, $a1, $zero +/* C3AE5C 8024044C 16000005 */ bnez $s0, .L80240464 +/* C3AE60 80240450 0040902D */ daddu $s2, $v0, $zero +/* C3AE64 80240454 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3AE68 80240458 30420004 */ andi $v0, $v0, 4 +/* C3AE6C 8024045C 10400015 */ beqz $v0, .L802404B4 +/* C3AE70 80240460 00000000 */ nop +.L80240464: +/* C3AE74 80240464 AE800070 */ sw $zero, 0x70($s4) +/* C3AE78 80240468 8E420000 */ lw $v0, ($s2) +/* C3AE7C 8024046C 3C031F30 */ lui $v1, 0x1f30 +/* C3AE80 80240470 A640008E */ sh $zero, 0x8e($s2) +/* C3AE84 80240474 34420102 */ ori $v0, $v0, 0x102 +/* C3AE88 80240478 AE420000 */ sw $v0, ($s2) +/* C3AE8C 8024047C 8E220000 */ lw $v0, ($s1) +/* C3AE90 80240480 3C01C47A */ lui $at, 0xc47a +/* C3AE94 80240484 44810000 */ mtc1 $at, $f0 +/* C3AE98 80240488 00431025 */ or $v0, $v0, $v1 +/* C3AE9C 8024048C AE220000 */ sw $v0, ($s1) +/* C3AEA0 80240490 AE400038 */ sw $zero, 0x38($s2) +/* C3AEA4 80240494 E640003C */ swc1 $f0, 0x3c($s2) +/* C3AEA8 80240498 AE400040 */ sw $zero, 0x40($s2) +/* C3AEAC 8024049C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C3AEB0 802404A0 30620004 */ andi $v0, $v1, 4 +/* C3AEB4 802404A4 10400003 */ beqz $v0, .L802404B4 +/* C3AEB8 802404A8 2402FFFB */ addiu $v0, $zero, -5 +/* C3AEBC 802404AC 00621024 */ and $v0, $v1, $v0 +/* C3AEC0 802404B0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802404B4: +/* C3AEC4 802404B4 8E930070 */ lw $s3, 0x70($s4) +/* C3AEC8 802404B8 12600005 */ beqz $s3, .L802404D0 +/* C3AECC 802404BC 24020001 */ addiu $v0, $zero, 1 +/* C3AED0 802404C0 12620048 */ beq $s3, $v0, .L802405E4 +/* C3AED4 802404C4 00000000 */ nop +/* C3AED8 802404C8 08090196 */ j .L80240658 +/* C3AEDC 802404CC 00000000 */ nop +.L802404D0: +/* C3AEE0 802404D0 86240008 */ lh $a0, 8($s1) +/* C3AEE4 802404D4 0C00FB3A */ jal get_enemy +/* C3AEE8 802404D8 2484FFFF */ addiu $a0, $a0, -1 +/* C3AEEC 802404DC 0040802D */ daddu $s0, $v0, $zero +/* C3AEF0 802404E0 0C00EABB */ jal get_npc_unsafe +/* C3AEF4 802404E4 86040008 */ lh $a0, 8($s0) +/* C3AEF8 802404E8 24030001 */ addiu $v1, $zero, 1 +/* C3AEFC 802404EC 0040982D */ daddu $s3, $v0, $zero +/* C3AF00 802404F0 A2230007 */ sb $v1, 7($s1) +/* C3AF04 802404F4 8E03006C */ lw $v1, 0x6c($s0) +/* C3AF08 802404F8 24020003 */ addiu $v0, $zero, 3 +/* C3AF0C 802404FC 14620056 */ bne $v1, $v0, .L80240658 +/* C3AF10 80240500 00000000 */ nop +/* C3AF14 80240504 8E2500A8 */ lw $a1, 0xa8($s1) +/* C3AF18 80240508 10A00003 */ beqz $a1, .L80240518 +/* C3AF1C 8024050C 0260202D */ daddu $a0, $s3, $zero +/* C3AF20 80240510 0C012530 */ jal func_800494C0 +/* C3AF24 80240514 0000302D */ daddu $a2, $zero, $zero +.L80240518: +/* C3AF28 80240518 27A40010 */ addiu $a0, $sp, 0x10 +/* C3AF2C 8024051C C6280070 */ lwc1 $f8, 0x70($s1) +/* C3AF30 80240520 46804220 */ cvt.s.w $f8, $f8 +/* C3AF34 80240524 C6620034 */ lwc1 $f2, 0x34($s3) +/* C3AF38 80240528 3C014387 */ lui $at, 0x4387 +/* C3AF3C 8024052C 44810000 */ mtc1 $at, $f0 +/* C3AF40 80240530 44064000 */ mfc1 $a2, $f8 +/* C3AF44 80240534 46020001 */ sub.s $f0, $f0, $f2 +/* C3AF48 80240538 C6660038 */ lwc1 $f6, 0x38($s3) +/* C3AF4C 8024053C C6640040 */ lwc1 $f4, 0x40($s3) +/* C3AF50 80240540 44070000 */ mfc1 $a3, $f0 +/* C3AF54 80240544 27A50014 */ addiu $a1, $sp, 0x14 +/* C3AF58 80240548 E7A60010 */ swc1 $f6, 0x10($sp) +/* C3AF5C 8024054C 0C00A7E7 */ jal add_vec2D_polar +/* C3AF60 80240550 E7A40014 */ swc1 $f4, 0x14($sp) +/* C3AF64 80240554 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C3AF68 80240558 4600020D */ trunc.w.s $f8, $f0 +/* C3AF6C 8024055C 44024000 */ mfc1 $v0, $f8 +/* C3AF70 80240560 E6400038 */ swc1 $f0, 0x38($s2) +/* C3AF74 80240564 A6220010 */ sh $v0, 0x10($s1) +/* C3AF78 80240568 C660003C */ lwc1 $f0, 0x3c($s3) +/* C3AF7C 8024056C C622006C */ lwc1 $f2, 0x6c($s1) +/* C3AF80 80240570 468010A0 */ cvt.s.w $f2, $f2 +/* C3AF84 80240574 46020000 */ add.s $f0, $f0, $f2 +/* C3AF88 80240578 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C3AF8C 8024057C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C3AF90 80240580 E640003C */ swc1 $f0, 0x3c($s2) +/* C3AF94 80240584 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C3AF98 80240588 4600020D */ trunc.w.s $f8, $f0 +/* C3AF9C 8024058C 44024000 */ mfc1 $v0, $f8 +/* C3AFA0 80240590 00000000 */ nop +/* C3AFA4 80240594 A6220012 */ sh $v0, 0x12($s1) +/* C3AFA8 80240598 4600120D */ trunc.w.s $f8, $f2 +/* C3AFAC 8024059C 44024000 */ mfc1 $v0, $f8 +/* C3AFB0 802405A0 E6420040 */ swc1 $f2, 0x40($s2) +/* C3AFB4 802405A4 A6220014 */ sh $v0, 0x14($s1) +/* C3AFB8 802405A8 8C660028 */ lw $a2, 0x28($v1) +/* C3AFBC 802405AC 8C670030 */ lw $a3, 0x30($v1) +/* C3AFC0 802405B0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C3AFC4 802405B4 0C00A720 */ jal atan2 +/* C3AFC8 802405B8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C3AFCC 802405BC 3C03E0EF */ lui $v1, 0xe0ef +/* C3AFD0 802405C0 E640000C */ swc1 $f0, 0xc($s2) +/* C3AFD4 802405C4 8E220000 */ lw $v0, ($s1) +/* C3AFD8 802405C8 3463FFFF */ ori $v1, $v1, 0xffff +/* C3AFDC 802405CC 00431024 */ and $v0, $v0, $v1 +/* C3AFE0 802405D0 AE220000 */ sw $v0, ($s1) +/* C3AFE4 802405D4 24020001 */ addiu $v0, $zero, 1 +/* C3AFE8 802405D8 A640008E */ sh $zero, 0x8e($s2) +/* C3AFEC 802405DC 08090196 */ j .L80240658 +/* C3AFF0 802405E0 AE820070 */ sw $v0, 0x70($s4) +.L802405E4: +/* C3AFF4 802405E4 86240008 */ lh $a0, 8($s1) +/* C3AFF8 802405E8 0C00FB3A */ jal get_enemy +/* C3AFFC 802405EC 2484FFFF */ addiu $a0, $a0, -1 +/* C3B000 802405F0 0040802D */ daddu $s0, $v0, $zero +/* C3B004 802405F4 0C00EABB */ jal get_npc_unsafe +/* C3B008 802405F8 86040008 */ lh $a0, 8($s0) +/* C3B00C 802405FC 9642008E */ lhu $v0, 0x8e($s2) +/* C3B010 80240600 24420001 */ addiu $v0, $v0, 1 +/* C3B014 80240604 A642008E */ sh $v0, 0x8e($s2) +/* C3B018 80240608 00021400 */ sll $v0, $v0, 0x10 +/* C3B01C 8024060C 8E23007C */ lw $v1, 0x7c($s1) +/* C3B020 80240610 00021403 */ sra $v0, $v0, 0x10 +/* C3B024 80240614 0043102A */ slt $v0, $v0, $v1 +/* C3B028 80240618 50400001 */ beql $v0, $zero, .L80240620 +/* C3B02C 8024061C A2200007 */ sb $zero, 7($s1) +.L80240620: +/* C3B030 80240620 8E03006C */ lw $v1, 0x6c($s0) +/* C3B034 80240624 24020004 */ addiu $v0, $zero, 4 +/* C3B038 80240628 1462000B */ bne $v1, $v0, .L80240658 +/* C3B03C 8024062C 3C021F10 */ lui $v0, 0x1f10 +/* C3B040 80240630 8E230000 */ lw $v1, ($s1) +/* C3B044 80240634 3C01C47A */ lui $at, 0xc47a +/* C3B048 80240638 44810000 */ mtc1 $at, $f0 +/* C3B04C 8024063C 00621825 */ or $v1, $v1, $v0 +/* C3B050 80240640 AE230000 */ sw $v1, ($s1) +/* C3B054 80240644 AE400038 */ sw $zero, 0x38($s2) +/* C3B058 80240648 E640003C */ swc1 $f0, 0x3c($s2) +/* C3B05C 8024064C AE400040 */ sw $zero, 0x40($s2) +/* C3B060 80240650 A2330007 */ sb $s3, 7($s1) +/* C3B064 80240654 AE800070 */ sw $zero, 0x70($s4) +.L80240658: +/* C3B068 80240658 8FBF002C */ lw $ra, 0x2c($sp) +/* C3B06C 8024065C 8FB40028 */ lw $s4, 0x28($sp) +/* C3B070 80240660 8FB30024 */ lw $s3, 0x24($sp) +/* C3B074 80240664 8FB20020 */ lw $s2, 0x20($sp) +/* C3B078 80240668 8FB1001C */ lw $s1, 0x1c($sp) +/* C3B07C 8024066C 8FB00018 */ lw $s0, 0x18($sp) +/* C3B080 80240670 0000102D */ daddu $v0, $zero, $zero +/* C3B084 80240674 03E00008 */ jr $ra +/* C3B088 80240678 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_8024067C_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024067C_C3AA10.s new file mode 100644 index 0000000000..396b87090a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_8024067C_C3AA10.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_C3B08C +/* C3B08C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3B090 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* C3B094 80240684 0080882D */ daddu $s1, $a0, $zero +/* C3B098 80240688 AFBF0018 */ sw $ra, 0x18($sp) +/* C3B09C 8024068C AFB00010 */ sw $s0, 0x10($sp) +/* C3B0A0 80240690 8E300148 */ lw $s0, 0x148($s1) +/* C3B0A4 80240694 0C00EABB */ jal get_npc_unsafe +/* C3B0A8 80240698 86040008 */ lh $a0, 8($s0) +/* C3B0AC 8024069C 0040202D */ daddu $a0, $v0, $zero +/* C3B0B0 802406A0 8482008E */ lh $v0, 0x8e($a0) +/* C3B0B4 802406A4 9483008E */ lhu $v1, 0x8e($a0) +/* C3B0B8 802406A8 18400002 */ blez $v0, .L802406B4 +/* C3B0BC 802406AC 2462FFFF */ addiu $v0, $v1, -1 +/* C3B0C0 802406B0 A482008E */ sh $v0, 0x8e($a0) +.L802406B4: +/* C3B0C4 802406B4 8482008E */ lh $v0, 0x8e($a0) +/* C3B0C8 802406B8 24030001 */ addiu $v1, $zero, 1 +/* C3B0CC 802406BC 14430005 */ bne $v0, $v1, .L802406D4 +/* C3B0D0 802406C0 00000000 */ nop +/* C3B0D4 802406C4 8E0200CC */ lw $v0, 0xcc($s0) +/* C3B0D8 802406C8 8C420030 */ lw $v0, 0x30($v0) +/* C3B0DC 802406CC 080901BC */ j .L802406F0 +/* C3B0E0 802406D0 AC820028 */ sw $v0, 0x28($a0) +.L802406D4: +/* C3B0E4 802406D4 1C400006 */ bgtz $v0, .L802406F0 +/* C3B0E8 802406D8 00000000 */ nop +/* C3B0EC 802406DC 8E0200CC */ lw $v0, 0xcc($s0) +/* C3B0F0 802406E0 8C420028 */ lw $v0, 0x28($v0) +/* C3B0F4 802406E4 A480008E */ sh $zero, 0x8e($a0) +/* C3B0F8 802406E8 AC820028 */ sw $v0, 0x28($a0) +/* C3B0FC 802406EC AE230070 */ sw $v1, 0x70($s1) +.L802406F0: +/* C3B100 802406F0 8FBF0018 */ lw $ra, 0x18($sp) +/* C3B104 802406F4 8FB10014 */ lw $s1, 0x14($sp) +/* C3B108 802406F8 8FB00010 */ lw $s0, 0x10($sp) +/* C3B10C 802406FC 03E00008 */ jr $ra +/* C3B110 80240700 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240704_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240704_C3AA10.s new file mode 100644 index 0000000000..e026d53f8a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240704_C3AA10.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240704_C3B114 +/* C3B114 80240704 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3B118 80240708 AFB40048 */ sw $s4, 0x48($sp) +/* C3B11C 8024070C 0080A02D */ daddu $s4, $a0, $zero +/* C3B120 80240710 AFBF004C */ sw $ra, 0x4c($sp) +/* C3B124 80240714 AFB30044 */ sw $s3, 0x44($sp) +/* C3B128 80240718 AFB20040 */ sw $s2, 0x40($sp) +/* C3B12C 8024071C AFB1003C */ sw $s1, 0x3c($sp) +/* C3B130 80240720 AFB00038 */ sw $s0, 0x38($sp) +/* C3B134 80240724 8E930148 */ lw $s3, 0x148($s4) +/* C3B138 80240728 00C0802D */ daddu $s0, $a2, $zero +/* C3B13C 8024072C 86640008 */ lh $a0, 8($s3) +/* C3B140 80240730 0C00EABB */ jal get_npc_unsafe +/* C3B144 80240734 0000902D */ daddu $s2, $zero, $zero +/* C3B148 80240738 0C039D59 */ jal get_player_data +/* C3B14C 8024073C 0040882D */ daddu $s1, $v0, $zero +/* C3B150 80240740 0200202D */ daddu $a0, $s0, $zero +/* C3B154 80240744 0260282D */ daddu $a1, $s3, $zero +/* C3B158 80240748 0000382D */ daddu $a3, $zero, $zero +/* C3B15C 8024074C 3C0642A0 */ lui $a2, 0x42a0 +/* C3B160 80240750 0040802D */ daddu $s0, $v0, $zero +/* C3B164 80240754 0C01242D */ jal func_800490B4 +/* C3B168 80240758 AFA00010 */ sw $zero, 0x10($sp) +/* C3B16C 8024075C 10400022 */ beqz $v0, .L802407E8 +/* C3B170 80240760 00000000 */ nop +/* C3B174 80240764 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3B178 80240768 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3B17C 8024076C 804300B4 */ lb $v1, 0xb4($v0) +/* C3B180 80240770 24020002 */ addiu $v0, $zero, 2 +/* C3B184 80240774 10620013 */ beq $v1, $v0, .L802407C4 +/* C3B188 80240778 2402001A */ addiu $v0, $zero, 0x1a +/* C3B18C 8024077C 10620011 */ beq $v1, $v0, .L802407C4 +/* C3B190 80240780 24020003 */ addiu $v0, $zero, 3 +/* C3B194 80240784 1062000F */ beq $v1, $v0, .L802407C4 +/* C3B198 80240788 2402000E */ addiu $v0, $zero, 0xe +/* C3B19C 8024078C 1062000D */ beq $v1, $v0, .L802407C4 +/* C3B1A0 80240790 24020010 */ addiu $v0, $zero, 0x10 +/* C3B1A4 80240794 1062000B */ beq $v1, $v0, .L802407C4 +/* C3B1A8 80240798 2402000B */ addiu $v0, $zero, 0xb +/* C3B1AC 8024079C 10620009 */ beq $v1, $v0, .L802407C4 +/* C3B1B0 802407A0 2402000A */ addiu $v0, $zero, 0xa +/* C3B1B4 802407A4 10620007 */ beq $v1, $v0, .L802407C4 +/* C3B1B8 802407A8 24020012 */ addiu $v0, $zero, 0x12 +/* C3B1BC 802407AC 10620005 */ beq $v1, $v0, .L802407C4 +/* C3B1C0 802407B0 24020013 */ addiu $v0, $zero, 0x13 +/* C3B1C4 802407B4 10620003 */ beq $v1, $v0, .L802407C4 +/* C3B1C8 802407B8 24020025 */ addiu $v0, $zero, 0x25 +/* C3B1CC 802407BC 14620002 */ bne $v1, $v0, .L802407C8 +/* C3B1D0 802407C0 00000000 */ nop +.L802407C4: +/* C3B1D4 802407C4 24120001 */ addiu $s2, $zero, 1 +.L802407C8: +/* C3B1D8 802407C8 82030012 */ lb $v1, 0x12($s0) +/* C3B1DC 802407CC 24020002 */ addiu $v0, $zero, 2 +/* C3B1E0 802407D0 14620007 */ bne $v1, $v0, .L802407F0 +/* C3B1E4 802407D4 24020001 */ addiu $v0, $zero, 1 +/* C3B1E8 802407D8 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C3B1EC 802407DC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C3B1F0 802407E0 50430002 */ beql $v0, $v1, .L802407EC +/* C3B1F4 802407E4 24120001 */ addiu $s2, $zero, 1 +.L802407E8: +/* C3B1F8 802407E8 82030012 */ lb $v1, 0x12($s0) +.L802407EC: +/* C3B1FC 802407EC 24020001 */ addiu $v0, $zero, 1 +.L802407F0: +/* C3B200 802407F0 14620006 */ bne $v1, $v0, .L8024080C +/* C3B204 802407F4 24020003 */ addiu $v0, $zero, 3 +/* C3B208 802407F8 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C3B20C 802407FC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C3B210 80240800 14400008 */ bnez $v0, .L80240824 +/* C3B214 80240804 27A40028 */ addiu $a0, $sp, 0x28 +/* C3B218 80240808 24020003 */ addiu $v0, $zero, 3 +.L8024080C: +/* C3B21C 8024080C 1462001B */ bne $v1, $v0, .L8024087C +/* C3B220 80240810 24020002 */ addiu $v0, $zero, 2 +/* C3B224 80240814 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C3B228 80240818 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C3B22C 8024081C 14620017 */ bne $v1, $v0, .L8024087C +/* C3B230 80240820 27A40028 */ addiu $a0, $sp, 0x28 +.L80240824: +/* C3B234 80240824 27A5002C */ addiu $a1, $sp, 0x2c +/* C3B238 80240828 8E27000C */ lw $a3, 0xc($s1) +/* C3B23C 8024082C C6200038 */ lwc1 $f0, 0x38($s1) +/* C3B240 80240830 C6220040 */ lwc1 $f2, 0x40($s1) +/* C3B244 80240834 0000302D */ daddu $a2, $zero, $zero +/* C3B248 80240838 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3B24C 8024083C 0C00A7E7 */ jal add_vec2D_polar +/* C3B250 80240840 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C3B254 80240844 3C028011 */ lui $v0, 0x8011 +/* C3B258 80240848 8C42C930 */ lw $v0, -0x36d0($v0) +/* C3B25C 8024084C C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C3B260 80240850 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C3B264 80240854 8C460038 */ lw $a2, 0x38($v0) +/* C3B268 80240858 0C00A7B5 */ jal dist2D +/* C3B26C 8024085C 8C470040 */ lw $a3, 0x40($v0) +/* C3B270 80240860 3C0142A0 */ lui $at, 0x42a0 +/* C3B274 80240864 44811000 */ mtc1 $at, $f2 +/* C3B278 80240868 00000000 */ nop +/* C3B27C 8024086C 4602003E */ c.le.s $f0, $f2 +/* C3B280 80240870 00000000 */ nop +/* C3B284 80240874 45030001 */ bc1tl .L8024087C +/* C3B288 80240878 24120001 */ addiu $s2, $zero, 1 +.L8024087C: +/* C3B28C 8024087C 12400026 */ beqz $s2, .L80240918 +/* C3B290 80240880 0220202D */ daddu $a0, $s1, $zero +/* C3B294 80240884 3C05B000 */ lui $a1, 0xb000 +/* C3B298 80240888 34A5000E */ ori $a1, $a1, 0xe +/* C3B29C 8024088C 0C012530 */ jal func_800494C0 +/* C3B2A0 80240890 0000302D */ daddu $a2, $zero, $zero +/* C3B2A4 80240894 0000202D */ daddu $a0, $zero, $zero +/* C3B2A8 80240898 0220282D */ daddu $a1, $s1, $zero +/* C3B2AC 8024089C 0000302D */ daddu $a2, $zero, $zero +/* C3B2B0 802408A0 862200A8 */ lh $v0, 0xa8($s1) +/* C3B2B4 802408A4 8E6300CC */ lw $v1, 0xcc($s3) +/* C3B2B8 802408A8 3C013F80 */ lui $at, 0x3f80 +/* C3B2BC 802408AC 44810000 */ mtc1 $at, $f0 +/* C3B2C0 802408B0 3C014000 */ lui $at, 0x4000 +/* C3B2C4 802408B4 44811000 */ mtc1 $at, $f2 +/* C3B2C8 802408B8 3C01C1A0 */ lui $at, 0xc1a0 +/* C3B2CC 802408BC 44812000 */ mtc1 $at, $f4 +/* C3B2D0 802408C0 44823000 */ mtc1 $v0, $f6 +/* C3B2D4 802408C4 00000000 */ nop +/* C3B2D8 802408C8 468031A0 */ cvt.s.w $f6, $f6 +/* C3B2DC 802408CC 44073000 */ mfc1 $a3, $f6 +/* C3B2E0 802408D0 8C63002C */ lw $v1, 0x2c($v1) +/* C3B2E4 802408D4 2402000A */ addiu $v0, $zero, 0xa +/* C3B2E8 802408D8 A622008E */ sh $v0, 0x8e($s1) +/* C3B2EC 802408DC 2402000F */ addiu $v0, $zero, 0xf +/* C3B2F0 802408E0 AE230028 */ sw $v1, 0x28($s1) +/* C3B2F4 802408E4 AFA2001C */ sw $v0, 0x1c($sp) +/* C3B2F8 802408E8 27A20030 */ addiu $v0, $sp, 0x30 +/* C3B2FC 802408EC E7A00010 */ swc1 $f0, 0x10($sp) +/* C3B300 802408F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3B304 802408F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3B308 802408F8 0C01BFA4 */ jal fx_emote +/* C3B30C 802408FC AFA20020 */ sw $v0, 0x20($sp) +/* C3B310 80240900 0220202D */ daddu $a0, $s1, $zero +/* C3B314 80240904 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C3B318 80240908 0C012530 */ jal func_800494C0 +/* C3B31C 8024090C 3C060020 */ lui $a2, 0x20 +/* C3B320 80240910 24020002 */ addiu $v0, $zero, 2 +/* C3B324 80240914 AE820070 */ sw $v0, 0x70($s4) +.L80240918: +/* C3B328 80240918 9622008E */ lhu $v0, 0x8e($s1) +/* C3B32C 8024091C 24420001 */ addiu $v0, $v0, 1 +/* C3B330 80240920 A622008E */ sh $v0, 0x8e($s1) +/* C3B334 80240924 00021400 */ sll $v0, $v0, 0x10 +/* C3B338 80240928 00021C03 */ sra $v1, $v0, 0x10 +/* C3B33C 8024092C 2402001B */ addiu $v0, $zero, 0x1b +/* C3B340 80240930 14620005 */ bne $v1, $v0, .L80240948 +/* C3B344 80240934 24020039 */ addiu $v0, $zero, 0x39 +/* C3B348 80240938 0220202D */ daddu $a0, $s1, $zero +/* C3B34C 8024093C 3C05B000 */ lui $a1, 0xb000 +/* C3B350 80240940 08090257 */ j .L8024095C +/* C3B354 80240944 34A5000C */ ori $a1, $a1, 0xc +.L80240948: +/* C3B358 80240948 14620008 */ bne $v1, $v0, .L8024096C +/* C3B35C 8024094C 2402003B */ addiu $v0, $zero, 0x3b +/* C3B360 80240950 0220202D */ daddu $a0, $s1, $zero +/* C3B364 80240954 3C05B000 */ lui $a1, 0xb000 +/* C3B368 80240958 34A5000D */ ori $a1, $a1, 0xd +.L8024095C: +/* C3B36C 8024095C 0C012530 */ jal func_800494C0 +/* C3B370 80240960 0000302D */ daddu $a2, $zero, $zero +/* C3B374 80240964 08090267 */ j .L8024099C +/* C3B378 80240968 00000000 */ nop +.L8024096C: +/* C3B37C 8024096C 14620005 */ bne $v1, $v0, .L80240984 +/* C3B380 80240970 2402003C */ addiu $v0, $zero, 0x3c +/* C3B384 80240974 8E6200CC */ lw $v0, 0xcc($s3) +/* C3B388 80240978 8C420030 */ lw $v0, 0x30($v0) +/* C3B38C 8024097C 08090267 */ j .L8024099C +/* C3B390 80240980 AE220028 */ sw $v0, 0x28($s1) +.L80240984: +/* C3B394 80240984 14620005 */ bne $v1, $v0, .L8024099C +/* C3B398 80240988 00000000 */ nop +/* C3B39C 8024098C 8E6200CC */ lw $v0, 0xcc($s3) +/* C3B3A0 80240990 8C420028 */ lw $v0, 0x28($v0) +/* C3B3A4 80240994 A620008E */ sh $zero, 0x8e($s1) +/* C3B3A8 80240998 AE220028 */ sw $v0, 0x28($s1) +.L8024099C: +/* C3B3AC 8024099C 8FBF004C */ lw $ra, 0x4c($sp) +/* C3B3B0 802409A0 8FB40048 */ lw $s4, 0x48($sp) +/* C3B3B4 802409A4 8FB30044 */ lw $s3, 0x44($sp) +/* C3B3B8 802409A8 8FB20040 */ lw $s2, 0x40($sp) +/* C3B3BC 802409AC 8FB1003C */ lw $s1, 0x3c($sp) +/* C3B3C0 802409B0 8FB00038 */ lw $s0, 0x38($sp) +/* C3B3C4 802409B4 03E00008 */ jr $ra +/* C3B3C8 802409B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_802409BC.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_802409BC.s new file mode 100644 index 0000000000..4306e7348d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_802409BC.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409BC +/* C3B3CC 802409BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3B3D0 802409C0 AFB10014 */ sw $s1, 0x14($sp) +/* C3B3D4 802409C4 0080882D */ daddu $s1, $a0, $zero +/* C3B3D8 802409C8 AFBF0018 */ sw $ra, 0x18($sp) +/* C3B3DC 802409CC AFB00010 */ sw $s0, 0x10($sp) +/* C3B3E0 802409D0 8E300148 */ lw $s0, 0x148($s1) +/* C3B3E4 802409D4 0C00EABB */ jal get_npc_unsafe +/* C3B3E8 802409D8 86040008 */ lh $a0, 8($s0) +/* C3B3EC 802409DC 0040182D */ daddu $v1, $v0, $zero +/* C3B3F0 802409E0 9462008E */ lhu $v0, 0x8e($v1) +/* C3B3F4 802409E4 2442FFFF */ addiu $v0, $v0, -1 +/* C3B3F8 802409E8 A462008E */ sh $v0, 0x8e($v1) +/* C3B3FC 802409EC 00021400 */ sll $v0, $v0, 0x10 +/* C3B400 802409F0 1C400006 */ bgtz $v0, .L80240A0C +/* C3B404 802409F4 24020001 */ addiu $v0, $zero, 1 +/* C3B408 802409F8 A462008E */ sh $v0, 0x8e($v1) +/* C3B40C 802409FC 24020028 */ addiu $v0, $zero, 0x28 +/* C3B410 80240A00 AE020088 */ sw $v0, 0x88($s0) +/* C3B414 80240A04 24020003 */ addiu $v0, $zero, 3 +/* C3B418 80240A08 AE220070 */ sw $v0, 0x70($s1) +.L80240A0C: +/* C3B41C 80240A0C 8FBF0018 */ lw $ra, 0x18($sp) +/* C3B420 80240A10 8FB10014 */ lw $s1, 0x14($sp) +/* C3B424 80240A14 8FB00010 */ lw $s0, 0x10($sp) +/* C3B428 80240A18 03E00008 */ jr $ra +/* C3B42C 80240A1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240A20_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240A20_C3AA10.s new file mode 100644 index 0000000000..5d94a53670 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240A20_C3AA10.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A20_C3B430 +/* C3B430 80240A20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3B434 80240A24 AFB10014 */ sw $s1, 0x14($sp) +/* C3B438 80240A28 0080882D */ daddu $s1, $a0, $zero +/* C3B43C 80240A2C AFBF001C */ sw $ra, 0x1c($sp) +/* C3B440 80240A30 AFB20018 */ sw $s2, 0x18($sp) +/* C3B444 80240A34 AFB00010 */ sw $s0, 0x10($sp) +/* C3B448 80240A38 8E320148 */ lw $s2, 0x148($s1) +/* C3B44C 80240A3C 0C00EABB */ jal get_npc_unsafe +/* C3B450 80240A40 86440008 */ lh $a0, 8($s2) +/* C3B454 80240A44 240400B4 */ addiu $a0, $zero, 0xb4 +/* C3B458 80240A48 0C00A67F */ jal rand_int +/* C3B45C 80240A4C 0040802D */ daddu $s0, $v0, $zero +/* C3B460 80240A50 C60C000C */ lwc1 $f12, 0xc($s0) +/* C3B464 80240A54 44820000 */ mtc1 $v0, $f0 +/* C3B468 80240A58 00000000 */ nop +/* C3B46C 80240A5C 46800020 */ cvt.s.w $f0, $f0 +/* C3B470 80240A60 46006300 */ add.s $f12, $f12, $f0 +/* C3B474 80240A64 3C0142B4 */ lui $at, 0x42b4 +/* C3B478 80240A68 44810000 */ mtc1 $at, $f0 +/* C3B47C 80240A6C 0C00A6C9 */ jal clamp_angle +/* C3B480 80240A70 46006301 */ sub.s $f12, $f12, $f0 +/* C3B484 80240A74 E600000C */ swc1 $f0, 0xc($s0) +/* C3B488 80240A78 8E4200CC */ lw $v0, 0xcc($s2) +/* C3B48C 80240A7C 8C420000 */ lw $v0, ($v0) +/* C3B490 80240A80 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C3B494 80240A84 0C00A67F */ jal rand_int +/* C3B498 80240A88 AE020028 */ sw $v0, 0x28($s0) +/* C3B49C 80240A8C 00021FC2 */ srl $v1, $v0, 0x1f +/* C3B4A0 80240A90 00431821 */ addu $v1, $v0, $v1 +/* C3B4A4 80240A94 00031843 */ sra $v1, $v1, 1 +/* C3B4A8 80240A98 00031840 */ sll $v1, $v1, 1 +/* C3B4AC 80240A9C 00431023 */ subu $v0, $v0, $v1 +/* C3B4B0 80240AA0 24420002 */ addiu $v0, $v0, 2 +/* C3B4B4 80240AA4 AE220074 */ sw $v0, 0x74($s1) +/* C3B4B8 80240AA8 24020004 */ addiu $v0, $zero, 4 +/* C3B4BC 80240AAC AE220070 */ sw $v0, 0x70($s1) +/* C3B4C0 80240AB0 8FBF001C */ lw $ra, 0x1c($sp) +/* C3B4C4 80240AB4 8FB20018 */ lw $s2, 0x18($sp) +/* C3B4C8 80240AB8 8FB10014 */ lw $s1, 0x14($sp) +/* C3B4CC 80240ABC 8FB00010 */ lw $s0, 0x10($sp) +/* C3B4D0 80240AC0 03E00008 */ jr $ra +/* C3B4D4 80240AC4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240AC8_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240AC8_C3AA10.s new file mode 100644 index 0000000000..77f8bffc06 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240AC8_C3AA10.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AC8_C3B4D8 +/* C3B4D8 80240AC8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3B4DC 80240ACC AFB20020 */ sw $s2, 0x20($sp) +/* C3B4E0 80240AD0 0080902D */ daddu $s2, $a0, $zero +/* C3B4E4 80240AD4 AFBF0028 */ sw $ra, 0x28($sp) +/* C3B4E8 80240AD8 AFB30024 */ sw $s3, 0x24($sp) +/* C3B4EC 80240ADC AFB1001C */ sw $s1, 0x1c($sp) +/* C3B4F0 80240AE0 AFB00018 */ sw $s0, 0x18($sp) +/* C3B4F4 80240AE4 8E510148 */ lw $s1, 0x148($s2) +/* C3B4F8 80240AE8 00A0982D */ daddu $s3, $a1, $zero +/* C3B4FC 80240AEC 86240008 */ lh $a0, 8($s1) +/* C3B500 80240AF0 0C00EABB */ jal get_npc_unsafe +/* C3B504 80240AF4 00C0802D */ daddu $s0, $a2, $zero +/* C3B508 80240AF8 0200202D */ daddu $a0, $s0, $zero +/* C3B50C 80240AFC 0040802D */ daddu $s0, $v0, $zero +/* C3B510 80240B00 AFA00010 */ sw $zero, 0x10($sp) +/* C3B514 80240B04 8E660024 */ lw $a2, 0x24($s3) +/* C3B518 80240B08 8E670028 */ lw $a3, 0x28($s3) +/* C3B51C 80240B0C 0C01242D */ jal func_800490B4 +/* C3B520 80240B10 0220282D */ daddu $a1, $s1, $zero +/* C3B524 80240B14 1040000C */ beqz $v0, .L80240B48 +/* C3B528 80240B18 00000000 */ nop +/* C3B52C 80240B1C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3B530 80240B20 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3B534 80240B24 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3B538 80240B28 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3B53C 80240B2C 8C460028 */ lw $a2, 0x28($v0) +/* C3B540 80240B30 0C00A720 */ jal atan2 +/* C3B544 80240B34 8C470030 */ lw $a3, 0x30($v0) +/* C3B548 80240B38 2402000C */ addiu $v0, $zero, 0xc +/* C3B54C 80240B3C E600000C */ swc1 $f0, 0xc($s0) +/* C3B550 80240B40 080902F9 */ j .L80240BE4 +/* C3B554 80240B44 AE420070 */ sw $v0, 0x70($s2) +.L80240B48: +/* C3B558 80240B48 9602008E */ lhu $v0, 0x8e($s0) +/* C3B55C 80240B4C 2442FFFF */ addiu $v0, $v0, -1 +/* C3B560 80240B50 A602008E */ sh $v0, 0x8e($s0) +/* C3B564 80240B54 00021400 */ sll $v0, $v0, 0x10 +/* C3B568 80240B58 1C400022 */ bgtz $v0, .L80240BE4 +/* C3B56C 80240B5C 00000000 */ nop +/* C3B570 80240B60 8E420074 */ lw $v0, 0x74($s2) +/* C3B574 80240B64 2442FFFF */ addiu $v0, $v0, -1 +/* C3B578 80240B68 18400014 */ blez $v0, .L80240BBC +/* C3B57C 80240B6C AE420074 */ sw $v0, 0x74($s2) +/* C3B580 80240B70 C600000C */ lwc1 $f0, 0xc($s0) +/* C3B584 80240B74 3C014334 */ lui $at, 0x4334 +/* C3B588 80240B78 44816000 */ mtc1 $at, $f12 +/* C3B58C 80240B7C 0C00A6C9 */ jal clamp_angle +/* C3B590 80240B80 460C0300 */ add.s $f12, $f0, $f12 +/* C3B594 80240B84 E600000C */ swc1 $f0, 0xc($s0) +/* C3B598 80240B88 8E640008 */ lw $a0, 8($s3) +/* C3B59C 80240B8C 000417C2 */ srl $v0, $a0, 0x1f +/* C3B5A0 80240B90 00822021 */ addu $a0, $a0, $v0 +/* C3B5A4 80240B94 00042043 */ sra $a0, $a0, 1 +/* C3B5A8 80240B98 0C00A67F */ jal rand_int +/* C3B5AC 80240B9C 24840001 */ addiu $a0, $a0, 1 +/* C3B5B0 80240BA0 8E630008 */ lw $v1, 8($s3) +/* C3B5B4 80240BA4 000327C2 */ srl $a0, $v1, 0x1f +/* C3B5B8 80240BA8 00641821 */ addu $v1, $v1, $a0 +/* C3B5BC 80240BAC 00031843 */ sra $v1, $v1, 1 +/* C3B5C0 80240BB0 00621821 */ addu $v1, $v1, $v0 +/* C3B5C4 80240BB4 080902F9 */ j .L80240BE4 +/* C3B5C8 80240BB8 A603008E */ sh $v1, 0x8e($s0) +.L80240BBC: +/* C3B5CC 80240BBC 8E250088 */ lw $a1, 0x88($s1) +/* C3B5D0 80240BC0 24020028 */ addiu $v0, $zero, 0x28 +/* C3B5D4 80240BC4 14A20003 */ bne $a1, $v0, .L80240BD4 +/* C3B5D8 80240BC8 24020032 */ addiu $v0, $zero, 0x32 +/* C3B5DC 80240BCC 080902F7 */ j .L80240BDC +/* C3B5E0 80240BD0 24020014 */ addiu $v0, $zero, 0x14 +.L80240BD4: +/* C3B5E4 80240BD4 14A20003 */ bne $a1, $v0, .L80240BE4 +/* C3B5E8 80240BD8 24020019 */ addiu $v0, $zero, 0x19 +.L80240BDC: +/* C3B5EC 80240BDC A602008E */ sh $v0, 0x8e($s0) +/* C3B5F0 80240BE0 AE450070 */ sw $a1, 0x70($s2) +.L80240BE4: +/* C3B5F4 80240BE4 8FBF0028 */ lw $ra, 0x28($sp) +/* C3B5F8 80240BE8 8FB30024 */ lw $s3, 0x24($sp) +/* C3B5FC 80240BEC 8FB20020 */ lw $s2, 0x20($sp) +/* C3B600 80240BF0 8FB1001C */ lw $s1, 0x1c($sp) +/* C3B604 80240BF4 8FB00018 */ lw $s0, 0x18($sp) +/* C3B608 80240BF8 03E00008 */ jr $ra +/* C3B60C 80240BFC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240C00.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240C00.s new file mode 100644 index 0000000000..4b1ffd0d6d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240C00.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C00 +/* C3B610 80240C00 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3B614 80240C04 AFB20018 */ sw $s2, 0x18($sp) +/* C3B618 80240C08 0080902D */ daddu $s2, $a0, $zero +/* C3B61C 80240C0C AFBF001C */ sw $ra, 0x1c($sp) +/* C3B620 80240C10 AFB10014 */ sw $s1, 0x14($sp) +/* C3B624 80240C14 AFB00010 */ sw $s0, 0x10($sp) +/* C3B628 80240C18 8E500148 */ lw $s0, 0x148($s2) +/* C3B62C 80240C1C 86040008 */ lh $a0, 8($s0) +/* C3B630 80240C20 0C00EABB */ jal get_npc_unsafe +/* C3B634 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* C3B638 80240C28 0040182D */ daddu $v1, $v0, $zero +/* C3B63C 80240C2C 9462008E */ lhu $v0, 0x8e($v1) +/* C3B640 80240C30 2442FFFF */ addiu $v0, $v0, -1 +/* C3B644 80240C34 A462008E */ sh $v0, 0x8e($v1) +/* C3B648 80240C38 00021400 */ sll $v0, $v0, 0x10 +/* C3B64C 80240C3C 1C400015 */ bgtz $v0, .L80240C94 +/* C3B650 80240C40 00000000 */ nop +/* C3B654 80240C44 8E0200CC */ lw $v0, 0xcc($s0) +/* C3B658 80240C48 8C420004 */ lw $v0, 4($v0) +/* C3B65C 80240C4C AC620028 */ sw $v0, 0x28($v1) +/* C3B660 80240C50 8E0200D0 */ lw $v0, 0xd0($s0) +/* C3B664 80240C54 8C420014 */ lw $v0, 0x14($v0) +/* C3B668 80240C58 04410004 */ bgez $v0, .L80240C6C +/* C3B66C 80240C5C 00000000 */ nop +/* C3B670 80240C60 C6200000 */ lwc1 $f0, ($s1) +/* C3B674 80240C64 08090323 */ j .L80240C8C +/* C3B678 80240C68 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C6C: +/* C3B67C 80240C6C 3C018024 */ lui $at, 0x8024 +/* C3B680 80240C70 D4222348 */ ldc1 $f2, 0x2348($at) +/* C3B684 80240C74 44820000 */ mtc1 $v0, $f0 +/* C3B688 80240C78 00000000 */ nop +/* C3B68C 80240C7C 46800021 */ cvt.d.w $f0, $f0 +/* C3B690 80240C80 46220003 */ div.d $f0, $f0, $f2 +/* C3B694 80240C84 46200020 */ cvt.s.d $f0, $f0 +/* C3B698 80240C88 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C8C: +/* C3B69C 80240C8C 24020029 */ addiu $v0, $zero, 0x29 +/* C3B6A0 80240C90 AE420070 */ sw $v0, 0x70($s2) +.L80240C94: +/* C3B6A4 80240C94 8FBF001C */ lw $ra, 0x1c($sp) +/* C3B6A8 80240C98 8FB20018 */ lw $s2, 0x18($sp) +/* C3B6AC 80240C9C 8FB10014 */ lw $s1, 0x14($sp) +/* C3B6B0 80240CA0 8FB00010 */ lw $s0, 0x10($sp) +/* C3B6B4 80240CA4 03E00008 */ jr $ra +/* C3B6B8 80240CA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240CAC_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240CAC_C3AA10.s new file mode 100644 index 0000000000..696d7b7971 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240CAC_C3AA10.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CAC_C3B6BC +/* C3B6BC 80240CAC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C3B6C0 80240CB0 AFB3002C */ sw $s3, 0x2c($sp) +/* C3B6C4 80240CB4 0080982D */ daddu $s3, $a0, $zero +/* C3B6C8 80240CB8 AFBF0030 */ sw $ra, 0x30($sp) +/* C3B6CC 80240CBC AFB20028 */ sw $s2, 0x28($sp) +/* C3B6D0 80240CC0 AFB10024 */ sw $s1, 0x24($sp) +/* C3B6D4 80240CC4 AFB00020 */ sw $s0, 0x20($sp) +/* C3B6D8 80240CC8 8E720148 */ lw $s2, 0x148($s3) +/* C3B6DC 80240CCC 00A0882D */ daddu $s1, $a1, $zero +/* C3B6E0 80240CD0 86440008 */ lh $a0, 8($s2) +/* C3B6E4 80240CD4 0C00EABB */ jal get_npc_unsafe +/* C3B6E8 80240CD8 00C0802D */ daddu $s0, $a2, $zero +/* C3B6EC 80240CDC 0200202D */ daddu $a0, $s0, $zero +/* C3B6F0 80240CE0 0240282D */ daddu $a1, $s2, $zero +/* C3B6F4 80240CE4 AFA00010 */ sw $zero, 0x10($sp) +/* C3B6F8 80240CE8 8E260024 */ lw $a2, 0x24($s1) +/* C3B6FC 80240CEC 8E270028 */ lw $a3, 0x28($s1) +/* C3B700 80240CF0 0C01242D */ jal func_800490B4 +/* C3B704 80240CF4 0040802D */ daddu $s0, $v0, $zero +/* C3B708 80240CF8 1040000C */ beqz $v0, .L80240D2C +/* C3B70C 80240CFC 00000000 */ nop +/* C3B710 80240D00 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3B714 80240D04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3B718 80240D08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3B71C 80240D0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3B720 80240D10 8C460028 */ lw $a2, 0x28($v0) +/* C3B724 80240D14 0C00A720 */ jal atan2 +/* C3B728 80240D18 8C470030 */ lw $a3, 0x30($v0) +/* C3B72C 80240D1C 2402000C */ addiu $v0, $zero, 0xc +/* C3B730 80240D20 E600000C */ swc1 $f0, 0xc($s0) +/* C3B734 80240D24 08090382 */ j .L80240E08 +/* C3B738 80240D28 AE620070 */ sw $v0, 0x70($s3) +.L80240D2C: +/* C3B73C 80240D2C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3B740 80240D30 8E4200D0 */ lw $v0, 0xd0($s2) +/* C3B744 80240D34 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3B748 80240D38 C4440000 */ lwc1 $f4, ($v0) +/* C3B74C 80240D3C 46802120 */ cvt.s.w $f4, $f4 +/* C3B750 80240D40 44062000 */ mfc1 $a2, $f4 +/* C3B754 80240D44 C4440008 */ lwc1 $f4, 8($v0) +/* C3B758 80240D48 46802120 */ cvt.s.w $f4, $f4 +/* C3B75C 80240D4C 44072000 */ mfc1 $a3, $f4 +/* C3B760 80240D50 0C00A7B5 */ jal dist2D +/* C3B764 80240D54 00000000 */ nop +/* C3B768 80240D58 C6020018 */ lwc1 $f2, 0x18($s0) +/* C3B76C 80240D5C 4602003E */ c.le.s $f0, $f2 +/* C3B770 80240D60 00000000 */ nop +/* C3B774 80240D64 4500000B */ bc1f .L80240D94 +/* C3B778 80240D68 00000000 */ nop +/* C3B77C 80240D6C 8E4200CC */ lw $v0, 0xcc($s2) +/* C3B780 80240D70 8C430000 */ lw $v1, ($v0) +/* C3B784 80240D74 2402000F */ addiu $v0, $zero, 0xf +/* C3B788 80240D78 A602008E */ sh $v0, 0x8e($s0) +/* C3B78C 80240D7C 24020032 */ addiu $v0, $zero, 0x32 +/* C3B790 80240D80 AE030028 */ sw $v1, 0x28($s0) +/* C3B794 80240D84 AE420088 */ sw $v0, 0x88($s2) +/* C3B798 80240D88 24020003 */ addiu $v0, $zero, 3 +/* C3B79C 80240D8C 08090382 */ j .L80240E08 +/* C3B7A0 80240D90 AE620070 */ sw $v0, 0x70($s3) +.L80240D94: +/* C3B7A4 80240D94 8602008C */ lh $v0, 0x8c($s0) +/* C3B7A8 80240D98 1440001B */ bnez $v0, .L80240E08 +/* C3B7AC 80240D9C 0200202D */ daddu $a0, $s0, $zero +/* C3B7B0 80240DA0 27A60018 */ addiu $a2, $sp, 0x18 +/* C3B7B4 80240DA4 3C0540A0 */ lui $a1, 0x40a0 +/* C3B7B8 80240DA8 C600000C */ lwc1 $f0, 0xc($s0) +/* C3B7BC 80240DAC 0000382D */ daddu $a3, $zero, $zero +/* C3B7C0 80240DB0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C3B7C4 80240DB4 AFA00010 */ sw $zero, 0x10($sp) +/* C3B7C8 80240DB8 0C0129E1 */ jal func_8004A784 +/* C3B7CC 80240DBC AFA00014 */ sw $zero, 0x14($sp) +/* C3B7D0 80240DC0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C3B7D4 80240DC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3B7D8 80240DC8 E600000C */ swc1 $f0, 0xc($s0) +/* C3B7DC 80240DCC 8E4200D0 */ lw $v0, 0xd0($s2) +/* C3B7E0 80240DD0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3B7E4 80240DD4 C4440000 */ lwc1 $f4, ($v0) +/* C3B7E8 80240DD8 46802120 */ cvt.s.w $f4, $f4 +/* C3B7EC 80240DDC 44062000 */ mfc1 $a2, $f4 +/* C3B7F0 80240DE0 C4440008 */ lwc1 $f4, 8($v0) +/* C3B7F4 80240DE4 46802120 */ cvt.s.w $f4, $f4 +/* C3B7F8 80240DE8 44072000 */ mfc1 $a3, $f4 +/* C3B7FC 80240DEC 0C00A720 */ jal atan2 +/* C3B800 80240DF0 00000000 */ nop +/* C3B804 80240DF4 8E050018 */ lw $a1, 0x18($s0) +/* C3B808 80240DF8 44060000 */ mfc1 $a2, $f0 +/* C3B80C 80240DFC 0200202D */ daddu $a0, $s0, $zero +/* C3B810 80240E00 0C00EA95 */ jal npc_move_heading +/* C3B814 80240E04 AC86000C */ sw $a2, 0xc($a0) +.L80240E08: +/* C3B818 80240E08 8FBF0030 */ lw $ra, 0x30($sp) +/* C3B81C 80240E0C 8FB3002C */ lw $s3, 0x2c($sp) +/* C3B820 80240E10 8FB20028 */ lw $s2, 0x28($sp) +/* C3B824 80240E14 8FB10024 */ lw $s1, 0x24($sp) +/* C3B828 80240E18 8FB00020 */ lw $s0, 0x20($sp) +/* C3B82C 80240E1C 03E00008 */ jr $ra +/* C3B830 80240E20 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E24_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E24_C3AA10.s new file mode 100644 index 0000000000..45a298c215 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E24_C3AA10.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E24_C3B834 +/* C3B834 80240E24 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C3B838 80240E28 AFB00010 */ sw $s0, 0x10($sp) +/* C3B83C 80240E2C 0080802D */ daddu $s0, $a0, $zero +/* C3B840 80240E30 AFBF0014 */ sw $ra, 0x14($sp) +/* C3B844 80240E34 8E020148 */ lw $v0, 0x148($s0) +/* C3B848 80240E38 0C00EABB */ jal get_npc_unsafe +/* C3B84C 80240E3C 84440008 */ lh $a0, 8($v0) +/* C3B850 80240E40 0040182D */ daddu $v1, $v0, $zero +/* C3B854 80240E44 8462008C */ lh $v0, 0x8c($v1) +/* C3B858 80240E48 14400009 */ bnez $v0, .L80240E70 +/* C3B85C 80240E4C 00000000 */ nop +/* C3B860 80240E50 9462008E */ lhu $v0, 0x8e($v1) +/* C3B864 80240E54 2442FFFF */ addiu $v0, $v0, -1 +/* C3B868 80240E58 A462008E */ sh $v0, 0x8e($v1) +/* C3B86C 80240E5C 00021400 */ sll $v0, $v0, 0x10 +/* C3B870 80240E60 1C400003 */ bgtz $v0, .L80240E70 +/* C3B874 80240E64 00000000 */ nop +/* C3B878 80240E68 A460008E */ sh $zero, 0x8e($v1) +/* C3B87C 80240E6C AE000070 */ sw $zero, 0x70($s0) +.L80240E70: +/* C3B880 80240E70 8FBF0014 */ lw $ra, 0x14($sp) +/* C3B884 80240E74 8FB00010 */ lw $s0, 0x10($sp) +/* C3B888 80240E78 03E00008 */ jr $ra +/* C3B88C 80240E7C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E80_C3AA10.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E80_C3AA10.s new file mode 100644 index 0000000000..7a1cde69c0 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_80240E80_C3AA10.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80_C3B890 +/* C3B890 80240E80 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3B894 80240E84 AFB20038 */ sw $s2, 0x38($sp) +/* C3B898 80240E88 0080902D */ daddu $s2, $a0, $zero +/* C3B89C 80240E8C AFBF0048 */ sw $ra, 0x48($sp) +/* C3B8A0 80240E90 AFB50044 */ sw $s5, 0x44($sp) +/* C3B8A4 80240E94 AFB40040 */ sw $s4, 0x40($sp) +/* C3B8A8 80240E98 AFB3003C */ sw $s3, 0x3c($sp) +/* C3B8AC 80240E9C AFB10034 */ sw $s1, 0x34($sp) +/* C3B8B0 80240EA0 AFB00030 */ sw $s0, 0x30($sp) +/* C3B8B4 80240EA4 8E510148 */ lw $s1, 0x148($s2) +/* C3B8B8 80240EA8 86240008 */ lh $a0, 8($s1) +/* C3B8BC 80240EAC 0C00EABB */ jal get_npc_unsafe +/* C3B8C0 80240EB0 00A0802D */ daddu $s0, $a1, $zero +/* C3B8C4 80240EB4 8E43000C */ lw $v1, 0xc($s2) +/* C3B8C8 80240EB8 0240202D */ daddu $a0, $s2, $zero +/* C3B8CC 80240EBC 8C650000 */ lw $a1, ($v1) +/* C3B8D0 80240EC0 0C0B1EAF */ jal get_variable +/* C3B8D4 80240EC4 0040A02D */ daddu $s4, $v0, $zero +/* C3B8D8 80240EC8 AFA00010 */ sw $zero, 0x10($sp) +/* C3B8DC 80240ECC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3B8E0 80240ED0 8C630030 */ lw $v1, 0x30($v1) +/* C3B8E4 80240ED4 AFA30014 */ sw $v1, 0x14($sp) +/* C3B8E8 80240ED8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3B8EC 80240EDC 8C63001C */ lw $v1, 0x1c($v1) +/* C3B8F0 80240EE0 AFA30018 */ sw $v1, 0x18($sp) +/* C3B8F4 80240EE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3B8F8 80240EE8 8C630024 */ lw $v1, 0x24($v1) +/* C3B8FC 80240EEC AFA3001C */ sw $v1, 0x1c($sp) +/* C3B900 80240EF0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3B904 80240EF4 8C630028 */ lw $v1, 0x28($v1) +/* C3B908 80240EF8 27B50010 */ addiu $s5, $sp, 0x10 +/* C3B90C 80240EFC AFA30020 */ sw $v1, 0x20($sp) +/* C3B910 80240F00 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3B914 80240F04 3C014220 */ lui $at, 0x4220 +/* C3B918 80240F08 44810000 */ mtc1 $at, $f0 +/* C3B91C 80240F0C 8C63002C */ lw $v1, 0x2c($v1) +/* C3B920 80240F10 0040982D */ daddu $s3, $v0, $zero +/* C3B924 80240F14 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3B928 80240F18 A7A0002C */ sh $zero, 0x2c($sp) +/* C3B92C 80240F1C 16000005 */ bnez $s0, .L80240F34 +/* C3B930 80240F20 AFA30024 */ sw $v1, 0x24($sp) +/* C3B934 80240F24 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3B938 80240F28 30420004 */ andi $v0, $v0, 4 +/* C3B93C 80240F2C 10400027 */ beqz $v0, .L80240FCC +/* C3B940 80240F30 00000000 */ nop +.L80240F34: +/* C3B944 80240F34 2402001E */ addiu $v0, $zero, 0x1e +/* C3B948 80240F38 2404F7FF */ addiu $a0, $zero, -0x801 +/* C3B94C 80240F3C AE400070 */ sw $zero, 0x70($s2) +/* C3B950 80240F40 A682008E */ sh $v0, 0x8e($s4) +/* C3B954 80240F44 8E2300CC */ lw $v1, 0xcc($s1) +/* C3B958 80240F48 8E820000 */ lw $v0, ($s4) +/* C3B95C 80240F4C 8C630028 */ lw $v1, 0x28($v1) +/* C3B960 80240F50 00441024 */ and $v0, $v0, $a0 +/* C3B964 80240F54 AE820000 */ sw $v0, ($s4) +/* C3B968 80240F58 AE830028 */ sw $v1, 0x28($s4) +/* C3B96C 80240F5C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C3B970 80240F60 AE20006C */ sw $zero, 0x6c($s1) +/* C3B974 80240F64 8C420034 */ lw $v0, 0x34($v0) +/* C3B978 80240F68 14400006 */ bnez $v0, .L80240F84 +/* C3B97C 80240F6C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C3B980 80240F70 8E820000 */ lw $v0, ($s4) +/* C3B984 80240F74 2403FFF7 */ addiu $v1, $zero, -9 +/* C3B988 80240F78 34420200 */ ori $v0, $v0, 0x200 +/* C3B98C 80240F7C 080903E4 */ j .L80240F90 +/* C3B990 80240F80 00431024 */ and $v0, $v0, $v1 +.L80240F84: +/* C3B994 80240F84 8E820000 */ lw $v0, ($s4) +/* C3B998 80240F88 00431024 */ and $v0, $v0, $v1 +/* C3B99C 80240F8C 34420008 */ ori $v0, $v0, 8 +.L80240F90: +/* C3B9A0 80240F90 AE820000 */ sw $v0, ($s4) +/* C3B9A4 80240F94 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3B9A8 80240F98 30420004 */ andi $v0, $v0, 4 +/* C3B9AC 80240F9C 10400007 */ beqz $v0, .L80240FBC +/* C3B9B0 80240FA0 24020063 */ addiu $v0, $zero, 0x63 +/* C3B9B4 80240FA4 AE420070 */ sw $v0, 0x70($s2) +/* C3B9B8 80240FA8 24020028 */ addiu $v0, $zero, 0x28 +/* C3B9BC 80240FAC AE420074 */ sw $v0, 0x74($s2) +/* C3B9C0 80240FB0 8E2200CC */ lw $v0, 0xcc($s1) +/* C3B9C4 80240FB4 8C420000 */ lw $v0, ($v0) +/* C3B9C8 80240FB8 AE820028 */ sw $v0, 0x28($s4) +.L80240FBC: +/* C3B9CC 80240FBC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3B9D0 80240FC0 2403FFFB */ addiu $v1, $zero, -5 +/* C3B9D4 80240FC4 00431024 */ and $v0, $v0, $v1 +/* C3B9D8 80240FC8 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240FCC: +/* C3B9DC 80240FCC 8E420070 */ lw $v0, 0x70($s2) +/* C3B9E0 80240FD0 2442FFF6 */ addiu $v0, $v0, -0xa +/* C3B9E4 80240FD4 2C420014 */ sltiu $v0, $v0, 0x14 +/* C3B9E8 80240FD8 10400009 */ beqz $v0, .L80241000 +/* C3B9EC 80240FDC 00000000 */ nop +/* C3B9F0 80240FE0 8E22006C */ lw $v0, 0x6c($s1) +/* C3B9F4 80240FE4 14400006 */ bnez $v0, .L80241000 +/* C3B9F8 80240FE8 00000000 */ nop +/* C3B9FC 80240FEC 0C09009A */ jal func_80240268 +/* C3BA00 80240FF0 0240202D */ daddu $a0, $s2, $zero +/* C3BA04 80240FF4 10400002 */ beqz $v0, .L80241000 +/* C3BA08 80240FF8 2402001E */ addiu $v0, $zero, 0x1e +/* C3BA0C 80240FFC AE420070 */ sw $v0, 0x70($s2) +.L80241000: +/* C3BA10 80241000 8E430070 */ lw $v1, 0x70($s2) +/* C3BA14 80241004 2C620064 */ sltiu $v0, $v1, 0x64 +/* C3BA18 80241008 10400067 */ beqz $v0, .L802411A8 +/* C3BA1C 8024100C 00031080 */ sll $v0, $v1, 2 +/* C3BA20 80241010 3C018024 */ lui $at, 0x8024 +/* C3BA24 80241014 00220821 */ addu $at, $at, $v0 +/* C3BA28 80241018 8C222350 */ lw $v0, 0x2350($at) +/* C3BA2C 8024101C 00400008 */ jr $v0 +/* C3BA30 80241020 00000000 */ nop +/* C3BA34 80241024 0240202D */ daddu $a0, $s2, $zero +/* C3BA38 80241028 0260282D */ daddu $a1, $s3, $zero +/* C3BA3C 8024102C 0C09019F */ jal func_8024067C +/* C3BA40 80241030 02A0302D */ daddu $a2, $s5, $zero +/* C3BA44 80241034 0809046A */ j .L802411A8 +/* C3BA48 80241038 00000000 */ nop +/* C3BA4C 8024103C 0240202D */ daddu $a0, $s2, $zero +/* C3BA50 80241040 0260282D */ daddu $a1, $s3, $zero +/* C3BA54 80241044 0C0901C1 */ jal func_80240704 +/* C3BA58 80241048 02A0302D */ daddu $a2, $s5, $zero +/* C3BA5C 8024104C 0809046A */ j .L802411A8 +/* C3BA60 80241050 00000000 */ nop +/* C3BA64 80241054 0240202D */ daddu $a0, $s2, $zero +/* C3BA68 80241058 0260282D */ daddu $a1, $s3, $zero +/* C3BA6C 8024105C 0C09026F */ jal func_802409BC +/* C3BA70 80241060 02A0302D */ daddu $a2, $s5, $zero +/* C3BA74 80241064 0809046A */ j .L802411A8 +/* C3BA78 80241068 00000000 */ nop +/* C3BA7C 8024106C 0240202D */ daddu $a0, $s2, $zero +/* C3BA80 80241070 0260282D */ daddu $a1, $s3, $zero +/* C3BA84 80241074 0C090288 */ jal func_80240A20 +/* C3BA88 80241078 02A0302D */ daddu $a2, $s5, $zero +/* C3BA8C 8024107C 0809046A */ j .L802411A8 +/* C3BA90 80241080 00000000 */ nop +/* C3BA94 80241084 0240202D */ daddu $a0, $s2, $zero +/* C3BA98 80241088 0260282D */ daddu $a1, $s3, $zero +/* C3BA9C 8024108C 0C0902B2 */ jal func_80240AC8 +/* C3BAA0 80241090 02A0302D */ daddu $a2, $s5, $zero +/* C3BAA4 80241094 0809046A */ j .L802411A8 +/* C3BAA8 80241098 00000000 */ nop +/* C3BAAC 8024109C 0240202D */ daddu $a0, $s2, $zero +/* C3BAB0 802410A0 0260282D */ daddu $a1, $s3, $zero +/* C3BAB4 802410A4 0C0127DF */ jal func_80049F7C +/* C3BAB8 802410A8 02A0302D */ daddu $a2, $s5, $zero +/* C3BABC 802410AC 8E430070 */ lw $v1, 0x70($s2) +/* C3BAC0 802410B0 2402000D */ addiu $v0, $zero, 0xd +/* C3BAC4 802410B4 1462003C */ bne $v1, $v0, .L802411A8 +/* C3BAC8 802410B8 00000000 */ nop +/* C3BACC 802410BC 0240202D */ daddu $a0, $s2, $zero +/* C3BAD0 802410C0 0260282D */ daddu $a1, $s3, $zero +/* C3BAD4 802410C4 0C012849 */ jal func_8004A124 +/* C3BAD8 802410C8 02A0302D */ daddu $a2, $s5, $zero +/* C3BADC 802410CC 0809046A */ j .L802411A8 +/* C3BAE0 802410D0 00000000 */ nop +/* C3BAE4 802410D4 0240202D */ daddu $a0, $s2, $zero +/* C3BAE8 802410D8 0260282D */ daddu $a1, $s3, $zero +/* C3BAEC 802410DC 0C0128FA */ jal func_8004A3E8 +/* C3BAF0 802410E0 02A0302D */ daddu $a2, $s5, $zero +/* C3BAF4 802410E4 2402000F */ addiu $v0, $zero, 0xf +/* C3BAF8 802410E8 A682008E */ sh $v0, 0x8e($s4) +/* C3BAFC 802410EC 24020028 */ addiu $v0, $zero, 0x28 +/* C3BB00 802410F0 AE220088 */ sw $v0, 0x88($s1) +/* C3BB04 802410F4 24020003 */ addiu $v0, $zero, 3 +/* C3BB08 802410F8 0809046A */ j .L802411A8 +/* C3BB0C 802410FC AE420070 */ sw $v0, 0x70($s2) +/* C3BB10 80241100 0C090018 */ jal func_80240060 +/* C3BB14 80241104 0240202D */ daddu $a0, $s2, $zero +/* C3BB18 80241108 8E430070 */ lw $v1, 0x70($s2) +/* C3BB1C 8024110C 2402001F */ addiu $v0, $zero, 0x1f +/* C3BB20 80241110 14620025 */ bne $v1, $v0, .L802411A8 +/* C3BB24 80241114 00000000 */ nop +/* C3BB28 80241118 0C090033 */ jal func_802400CC +/* C3BB2C 8024111C 0240202D */ daddu $a0, $s2, $zero +/* C3BB30 80241120 8E430070 */ lw $v1, 0x70($s2) +/* C3BB34 80241124 24020020 */ addiu $v0, $zero, 0x20 +/* C3BB38 80241128 1462001F */ bne $v1, $v0, .L802411A8 +/* C3BB3C 8024112C 00000000 */ nop +/* C3BB40 80241130 0C09004F */ jal func_8024013C +/* C3BB44 80241134 0240202D */ daddu $a0, $s2, $zero +/* C3BB48 80241138 0809046A */ j .L802411A8 +/* C3BB4C 8024113C 00000000 */ nop +/* C3BB50 80241140 0C090085 */ jal func_80240214 +/* C3BB54 80241144 0240202D */ daddu $a0, $s2, $zero +/* C3BB58 80241148 0809046A */ j .L802411A8 +/* C3BB5C 8024114C 00000000 */ nop +/* C3BB60 80241150 0240202D */ daddu $a0, $s2, $zero +/* C3BB64 80241154 0260282D */ daddu $a1, $s3, $zero +/* C3BB68 80241158 0C090300 */ jal func_80240C00 +/* C3BB6C 8024115C 02A0302D */ daddu $a2, $s5, $zero +/* C3BB70 80241160 8E430070 */ lw $v1, 0x70($s2) +/* C3BB74 80241164 24020029 */ addiu $v0, $zero, 0x29 +/* C3BB78 80241168 1462000F */ bne $v1, $v0, .L802411A8 +/* C3BB7C 8024116C 00000000 */ nop +/* C3BB80 80241170 0240202D */ daddu $a0, $s2, $zero +/* C3BB84 80241174 0260282D */ daddu $a1, $s3, $zero +/* C3BB88 80241178 0C09032B */ jal func_80240CAC +/* C3BB8C 8024117C 02A0302D */ daddu $a2, $s5, $zero +/* C3BB90 80241180 0809046A */ j .L802411A8 +/* C3BB94 80241184 00000000 */ nop +/* C3BB98 80241188 0240202D */ daddu $a0, $s2, $zero +/* C3BB9C 8024118C 0260282D */ daddu $a1, $s3, $zero +/* C3BBA0 80241190 0C090389 */ jal func_80240E24 +/* C3BBA4 80241194 02A0302D */ daddu $a2, $s5, $zero +/* C3BBA8 80241198 0809046A */ j .L802411A8 +/* C3BBAC 8024119C 00000000 */ nop +/* C3BBB0 802411A0 0C0129CF */ jal func_8004A73C +/* C3BBB4 802411A4 0240202D */ daddu $a0, $s2, $zero +.L802411A8: +/* C3BBB8 802411A8 8FBF0048 */ lw $ra, 0x48($sp) +/* C3BBBC 802411AC 8FB50044 */ lw $s5, 0x44($sp) +/* C3BBC0 802411B0 8FB40040 */ lw $s4, 0x40($sp) +/* C3BBC4 802411B4 8FB3003C */ lw $s3, 0x3c($sp) +/* C3BBC8 802411B8 8FB20038 */ lw $s2, 0x38($sp) +/* C3BBCC 802411BC 8FB10034 */ lw $s1, 0x34($sp) +/* C3BBD0 802411C0 8FB00030 */ lw $s0, 0x30($sp) +/* C3BBD4 802411C4 0000102D */ daddu $v0, $zero, $zero +/* C3BBD8 802411C8 03E00008 */ jr $ra +/* C3BBDC 802411CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_05/func_802411D0.s b/asm/nonmatchings/world/area_dgb/dgb_05/func_802411D0.s new file mode 100644 index 0000000000..1d89b4b744 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_05/func_802411D0.s @@ -0,0 +1,187 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D0 +/* C3BBE0 802411D0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3BBE4 802411D4 AFB20038 */ sw $s2, 0x38($sp) +/* C3BBE8 802411D8 0080902D */ daddu $s2, $a0, $zero +/* C3BBEC 802411DC AFBF0048 */ sw $ra, 0x48($sp) +/* C3BBF0 802411E0 AFB50044 */ sw $s5, 0x44($sp) +/* C3BBF4 802411E4 AFB40040 */ sw $s4, 0x40($sp) +/* C3BBF8 802411E8 AFB3003C */ sw $s3, 0x3c($sp) +/* C3BBFC 802411EC AFB10034 */ sw $s1, 0x34($sp) +/* C3BC00 802411F0 AFB00030 */ sw $s0, 0x30($sp) +/* C3BC04 802411F4 8E510148 */ lw $s1, 0x148($s2) +/* C3BC08 802411F8 86240008 */ lh $a0, 8($s1) +/* C3BC0C 802411FC 0C00EABB */ jal get_npc_unsafe +/* C3BC10 80241200 00A0802D */ daddu $s0, $a1, $zero +/* C3BC14 80241204 8E43000C */ lw $v1, 0xc($s2) +/* C3BC18 80241208 0240202D */ daddu $a0, $s2, $zero +/* C3BC1C 8024120C 8C650000 */ lw $a1, ($v1) +/* C3BC20 80241210 0C0B1EAF */ jal get_variable +/* C3BC24 80241214 0040A82D */ daddu $s5, $v0, $zero +/* C3BC28 80241218 AFA00010 */ sw $zero, 0x10($sp) +/* C3BC2C 8024121C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3BC30 80241220 8C630030 */ lw $v1, 0x30($v1) +/* C3BC34 80241224 AFA30014 */ sw $v1, 0x14($sp) +/* C3BC38 80241228 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3BC3C 8024122C 8C63001C */ lw $v1, 0x1c($v1) +/* C3BC40 80241230 AFA30018 */ sw $v1, 0x18($sp) +/* C3BC44 80241234 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3BC48 80241238 8C630024 */ lw $v1, 0x24($v1) +/* C3BC4C 8024123C AFA3001C */ sw $v1, 0x1c($sp) +/* C3BC50 80241240 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3BC54 80241244 8C630028 */ lw $v1, 0x28($v1) +/* C3BC58 80241248 27B40010 */ addiu $s4, $sp, 0x10 +/* C3BC5C 8024124C AFA30020 */ sw $v1, 0x20($sp) +/* C3BC60 80241250 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3BC64 80241254 3C014282 */ lui $at, 0x4282 +/* C3BC68 80241258 44810000 */ mtc1 $at, $f0 +/* C3BC6C 8024125C 8C63002C */ lw $v1, 0x2c($v1) +/* C3BC70 80241260 0040982D */ daddu $s3, $v0, $zero +/* C3BC74 80241264 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3BC78 80241268 A7A0002C */ sh $zero, 0x2c($sp) +/* C3BC7C 8024126C 16000005 */ bnez $s0, .L80241284 +/* C3BC80 80241270 AFA30024 */ sw $v1, 0x24($sp) +/* C3BC84 80241274 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3BC88 80241278 30420004 */ andi $v0, $v0, 4 +/* C3BC8C 8024127C 10400020 */ beqz $v0, .L80241300 +/* C3BC90 80241280 00000000 */ nop +.L80241284: +/* C3BC94 80241284 2404F7FF */ addiu $a0, $zero, -0x801 +/* C3BC98 80241288 AE400070 */ sw $zero, 0x70($s2) +/* C3BC9C 8024128C A6A0008E */ sh $zero, 0x8e($s5) +/* C3BCA0 80241290 8E2200CC */ lw $v0, 0xcc($s1) +/* C3BCA4 80241294 8EA30000 */ lw $v1, ($s5) +/* C3BCA8 80241298 8C420000 */ lw $v0, ($v0) +/* C3BCAC 8024129C 00641824 */ and $v1, $v1, $a0 +/* C3BCB0 802412A0 AEA30000 */ sw $v1, ($s5) +/* C3BCB4 802412A4 AEA20028 */ sw $v0, 0x28($s5) +/* C3BCB8 802412A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* C3BCBC 802412AC 8C420034 */ lw $v0, 0x34($v0) +/* C3BCC0 802412B0 54400005 */ bnel $v0, $zero, .L802412C8 +/* C3BCC4 802412B4 2402FDFF */ addiu $v0, $zero, -0x201 +/* C3BCC8 802412B8 34620200 */ ori $v0, $v1, 0x200 +/* C3BCCC 802412BC 2403FFF7 */ addiu $v1, $zero, -9 +/* C3BCD0 802412C0 080904B4 */ j .L802412D0 +/* C3BCD4 802412C4 00431024 */ and $v0, $v0, $v1 +.L802412C8: +/* C3BCD8 802412C8 00621024 */ and $v0, $v1, $v0 +/* C3BCDC 802412CC 34420008 */ ori $v0, $v0, 8 +.L802412D0: +/* C3BCE0 802412D0 AEA20000 */ sw $v0, ($s5) +/* C3BCE4 802412D4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3BCE8 802412D8 30420004 */ andi $v0, $v0, 4 +/* C3BCEC 802412DC 10400007 */ beqz $v0, .L802412FC +/* C3BCF0 802412E0 24020063 */ addiu $v0, $zero, 0x63 +/* C3BCF4 802412E4 AE420070 */ sw $v0, 0x70($s2) +/* C3BCF8 802412E8 AE400074 */ sw $zero, 0x74($s2) +/* C3BCFC 802412EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3BD00 802412F0 2403FFFB */ addiu $v1, $zero, -5 +/* C3BD04 802412F4 00431024 */ and $v0, $v0, $v1 +/* C3BD08 802412F8 AE2200B0 */ sw $v0, 0xb0($s1) +.L802412FC: +/* C3BD0C 802412FC AE20006C */ sw $zero, 0x6c($s1) +.L80241300: +/* C3BD10 80241300 8E420070 */ lw $v0, 0x70($s2) +/* C3BD14 80241304 2842001E */ slti $v0, $v0, 0x1e +/* C3BD18 80241308 10400009 */ beqz $v0, .L80241330 +/* C3BD1C 8024130C 00000000 */ nop +/* C3BD20 80241310 8E22006C */ lw $v0, 0x6c($s1) +/* C3BD24 80241314 14400006 */ bnez $v0, .L80241330 +/* C3BD28 80241318 00000000 */ nop +/* C3BD2C 8024131C 0C09009A */ jal func_80240268 +/* C3BD30 80241320 0240202D */ daddu $a0, $s2, $zero +/* C3BD34 80241324 10400002 */ beqz $v0, .L80241330 +/* C3BD38 80241328 2402001E */ addiu $v0, $zero, 0x1e +/* C3BD3C 8024132C AE420070 */ sw $v0, 0x70($s2) +.L80241330: +/* C3BD40 80241330 8E430070 */ lw $v1, 0x70($s2) +/* C3BD44 80241334 2C620064 */ sltiu $v0, $v1, 0x64 +/* C3BD48 80241338 10400048 */ beqz $v0, .L8024145C +/* C3BD4C 8024133C 00031080 */ sll $v0, $v1, 2 +/* C3BD50 80241340 3C018024 */ lui $at, 0x8024 +/* C3BD54 80241344 00220821 */ addu $at, $at, $v0 +/* C3BD58 80241348 8C2224E0 */ lw $v0, 0x24e0($at) +/* C3BD5C 8024134C 00400008 */ jr $v0 +/* C3BD60 80241350 00000000 */ nop +/* C3BD64 80241354 0240202D */ daddu $a0, $s2, $zero +/* C3BD68 80241358 0260282D */ daddu $a1, $s3, $zero +/* C3BD6C 8024135C 0C012568 */ jal func_800495A0 +/* C3BD70 80241360 0280302D */ daddu $a2, $s4, $zero +/* C3BD74 80241364 0240202D */ daddu $a0, $s2, $zero +/* C3BD78 80241368 0260282D */ daddu $a1, $s3, $zero +/* C3BD7C 8024136C 0C0125AE */ jal func_800496B8 +/* C3BD80 80241370 0280302D */ daddu $a2, $s4, $zero +/* C3BD84 80241374 08090517 */ j .L8024145C +/* C3BD88 80241378 00000000 */ nop +/* C3BD8C 8024137C 0240202D */ daddu $a0, $s2, $zero +/* C3BD90 80241380 0260282D */ daddu $a1, $s3, $zero +/* C3BD94 80241384 0C0126D1 */ jal func_80049B44 +/* C3BD98 80241388 0280302D */ daddu $a2, $s4, $zero +/* C3BD9C 8024138C 0240202D */ daddu $a0, $s2, $zero +/* C3BDA0 80241390 0260282D */ daddu $a1, $s3, $zero +/* C3BDA4 80241394 0C012701 */ jal func_80049C04 +/* C3BDA8 80241398 0280302D */ daddu $a2, $s4, $zero +/* C3BDAC 8024139C 08090517 */ j .L8024145C +/* C3BDB0 802413A0 00000000 */ nop +/* C3BDB4 802413A4 0240202D */ daddu $a0, $s2, $zero +/* C3BDB8 802413A8 0260282D */ daddu $a1, $s3, $zero +/* C3BDBC 802413AC 0C01278F */ jal func_80049E3C +/* C3BDC0 802413B0 0280302D */ daddu $a2, $s4, $zero +/* C3BDC4 802413B4 0240202D */ daddu $a0, $s2, $zero +/* C3BDC8 802413B8 0260282D */ daddu $a1, $s3, $zero +/* C3BDCC 802413BC 0C0127B3 */ jal func_80049ECC +/* C3BDD0 802413C0 0280302D */ daddu $a2, $s4, $zero +/* C3BDD4 802413C4 08090517 */ j .L8024145C +/* C3BDD8 802413C8 00000000 */ nop +/* C3BDDC 802413CC 0240202D */ daddu $a0, $s2, $zero +/* C3BDE0 802413D0 0260282D */ daddu $a1, $s3, $zero +/* C3BDE4 802413D4 0C0127DF */ jal func_80049F7C +/* C3BDE8 802413D8 0280302D */ daddu $a2, $s4, $zero +/* C3BDEC 802413DC 0240202D */ daddu $a0, $s2, $zero +/* C3BDF0 802413E0 0260282D */ daddu $a1, $s3, $zero +/* C3BDF4 802413E4 0C012849 */ jal func_8004A124 +/* C3BDF8 802413E8 0280302D */ daddu $a2, $s4, $zero +/* C3BDFC 802413EC 08090517 */ j .L8024145C +/* C3BE00 802413F0 00000000 */ nop +/* C3BE04 802413F4 0240202D */ daddu $a0, $s2, $zero +/* C3BE08 802413F8 0260282D */ daddu $a1, $s3, $zero +/* C3BE0C 802413FC 0C0128FA */ jal func_8004A3E8 +/* C3BE10 80241400 0280302D */ daddu $a2, $s4, $zero +/* C3BE14 80241404 08090517 */ j .L8024145C +/* C3BE18 80241408 00000000 */ nop +/* C3BE1C 8024140C 0C090018 */ jal func_80240060 +/* C3BE20 80241410 0240202D */ daddu $a0, $s2, $zero +/* C3BE24 80241414 0C090033 */ jal func_802400CC +/* C3BE28 80241418 0240202D */ daddu $a0, $s2, $zero +/* C3BE2C 8024141C 8E430070 */ lw $v1, 0x70($s2) +/* C3BE30 80241420 24020020 */ addiu $v0, $zero, 0x20 +/* C3BE34 80241424 1462000D */ bne $v1, $v0, .L8024145C +/* C3BE38 80241428 00000000 */ nop +/* C3BE3C 8024142C 0C09004F */ jal func_8024013C +/* C3BE40 80241430 0240202D */ daddu $a0, $s2, $zero +/* C3BE44 80241434 8E430070 */ lw $v1, 0x70($s2) +/* C3BE48 80241438 24020021 */ addiu $v0, $zero, 0x21 +/* C3BE4C 8024143C 14620007 */ bne $v1, $v0, .L8024145C +/* C3BE50 80241440 00000000 */ nop +/* C3BE54 80241444 0C090085 */ jal func_80240214 +/* C3BE58 80241448 0240202D */ daddu $a0, $s2, $zero +/* C3BE5C 8024144C 08090517 */ j .L8024145C +/* C3BE60 80241450 00000000 */ nop +/* C3BE64 80241454 0C0129CF */ jal func_8004A73C +/* C3BE68 80241458 0240202D */ daddu $a0, $s2, $zero +.L8024145C: +/* C3BE6C 8024145C 8FBF0048 */ lw $ra, 0x48($sp) +/* C3BE70 80241460 8FB50044 */ lw $s5, 0x44($sp) +/* C3BE74 80241464 8FB40040 */ lw $s4, 0x40($sp) +/* C3BE78 80241468 8FB3003C */ lw $s3, 0x3c($sp) +/* C3BE7C 8024146C 8FB20038 */ lw $s2, 0x38($sp) +/* C3BE80 80241470 8FB10034 */ lw $s1, 0x34($sp) +/* C3BE84 80241474 8FB00030 */ lw $s0, 0x30($sp) +/* C3BE88 80241478 0000102D */ daddu $v0, $zero, $zero +/* C3BE8C 8024147C 03E00008 */ jr $ra +/* C3BE90 80241480 27BD0050 */ addiu $sp, $sp, 0x50 +/* C3BE94 80241484 00000000 */ nop +/* C3BE98 80241488 00000000 */ nop +/* C3BE9C 8024148C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_06/func_80240000_C3D080.s b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240000_C3D080.s new file mode 100644 index 0000000000..650f0a33e3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240000_C3D080.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C3D080 +/* C3D080 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3D084 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C3D088 80240008 3C108024 */ lui $s0, 0x8024 +/* C3D08C 8024000C 26100620 */ addiu $s0, $s0, 0x620 +/* C3D090 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* C3D094 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* C3D098 80240018 8E020000 */ lw $v0, ($s0) +/* C3D09C 8024001C 14400010 */ bnez $v0, .L80240060 +/* C3D0A0 80240020 0080882D */ daddu $s1, $a0, $zero +/* C3D0A4 80240024 0C00AB39 */ jal heap_malloc +/* C3D0A8 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* C3D0AC 8024002C AE020000 */ sw $v0, ($s0) +/* C3D0B0 80240030 0000182D */ daddu $v1, $zero, $zero +/* C3D0B4 80240034 0040282D */ daddu $a1, $v0, $zero +/* C3D0B8 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* C3D0BC 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* C3D0C0 80240040 24840004 */ addiu $a0, $a0, 4 +/* C3D0C4 80240044 24630001 */ addiu $v1, $v1, 1 +/* C3D0C8 80240048 ACA20000 */ sw $v0, ($a1) +/* C3D0CC 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* C3D0D0 80240050 1440FFFA */ bnez $v0, .L8024003C +/* C3D0D4 80240054 24A50004 */ addiu $a1, $a1, 4 +/* C3D0D8 80240058 08090027 */ j .L8024009C +/* C3D0DC 8024005C 00000000 */ nop +.L80240060: +/* C3D0E0 80240060 0000182D */ daddu $v1, $zero, $zero +/* C3D0E4 80240064 0040282D */ daddu $a1, $v0, $zero +/* C3D0E8 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* C3D0EC 8024006C 8CA20000 */ lw $v0, ($a1) +/* C3D0F0 80240070 24A50004 */ addiu $a1, $a1, 4 +/* C3D0F4 80240074 24630001 */ addiu $v1, $v1, 1 +/* C3D0F8 80240078 AC820084 */ sw $v0, 0x84($a0) +/* C3D0FC 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* C3D100 80240080 1440FFFA */ bnez $v0, .L8024006C +/* C3D104 80240084 24840004 */ addiu $a0, $a0, 4 +/* C3D108 80240088 3C108024 */ lui $s0, 0x8024 +/* C3D10C 8024008C 26100620 */ addiu $s0, $s0, 0x620 +/* C3D110 80240090 0C00AB4B */ jal heap_free +/* C3D114 80240094 8E040000 */ lw $a0, ($s0) +/* C3D118 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* C3D11C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* C3D120 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* C3D124 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* C3D128 802400A8 24020002 */ addiu $v0, $zero, 2 +/* C3D12C 802400AC 03E00008 */ jr $ra +/* C3D130 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_06/func_802400B4_C3D080.s b/asm/nonmatchings/world/area_dgb/dgb_06/func_802400B4_C3D080.s new file mode 100644 index 0000000000..a5213b7278 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_06/func_802400B4_C3D080.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_C3D134 +/* C3D134 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3D138 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* C3D13C 802400BC 0080802D */ daddu $s0, $a0, $zero +/* C3D140 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C3D144 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* C3D148 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* C3D14C 802400CC 8C510000 */ lw $s1, ($v0) +/* C3D150 802400D0 0C0B1EAF */ jal get_variable +/* C3D154 802400D4 0220282D */ daddu $a1, $s1, $zero +/* C3D158 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* C3D15C 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* C3D160 802400E0 0200202D */ daddu $a0, $s0, $zero +/* C3D164 802400E4 00431024 */ and $v0, $v0, $v1 +/* C3D168 802400E8 00021140 */ sll $v0, $v0, 5 +/* C3D16C 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* C3D170 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* C3D174 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C3D178 802400F8 0C0B2026 */ jal set_variable +/* C3D17C 802400FC 0220282D */ daddu $a1, $s1, $zero +/* C3D180 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* C3D184 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* C3D188 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* C3D18C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* C3D190 80240110 03E00008 */ jr $ra +/* C3D194 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_06/func_80240118_C3D080.s b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240118_C3D080.s new file mode 100644 index 0000000000..35475f59e3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240118_C3D080.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_C3D198 +/* C3D198 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3D19C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* C3D1A0 80240120 0080882D */ daddu $s1, $a0, $zero +/* C3D1A4 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* C3D1A8 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* C3D1AC 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* C3D1B0 80240130 8E240084 */ lw $a0, 0x84($s1) +/* C3D1B4 80240134 0C04C3D6 */ jal get_item_entity +/* C3D1B8 80240138 00A0802D */ daddu $s0, $a1, $zero +/* C3D1BC 8024013C 12000005 */ beqz $s0, .L80240154 +/* C3D1C0 80240140 0040902D */ daddu $s2, $v0, $zero +/* C3D1C4 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* C3D1C8 80240148 AE200074 */ sw $zero, 0x74($s1) +/* C3D1CC 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* C3D1D0 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* C3D1D4 80240154 8E230074 */ lw $v1, 0x74($s1) +/* C3D1D8 80240158 10600005 */ beqz $v1, .L80240170 +/* C3D1DC 8024015C 24020001 */ addiu $v0, $zero, 1 +/* C3D1E0 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* C3D1E4 80240164 00000000 */ nop +/* C3D1E8 80240168 08090093 */ j .L8024024C +/* C3D1EC 8024016C 00000000 */ nop +.L80240170: +/* C3D1F0 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* C3D1F4 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* C3D1F8 80240178 44810000 */ mtc1 $at, $f0 +/* C3D1FC 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* C3D200 80240180 46806320 */ cvt.s.w $f12, $f12 +/* C3D204 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* C3D208 80240188 00000000 */ nop +/* C3D20C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* C3D210 80240190 44810000 */ mtc1 $at, $f0 +/* C3D214 80240194 0C00A874 */ jal cos_rad +/* C3D218 80240198 46006303 */ div.s $f12, $f12, $f0 +/* C3D21C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* C3D220 802401A0 44811000 */ mtc1 $at, $f2 +/* C3D224 802401A4 00000000 */ nop +/* C3D228 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* C3D22C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* C3D230 802401B0 44810000 */ mtc1 $at, $f0 +/* C3D234 802401B4 00000000 */ nop +/* C3D238 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* C3D23C 802401BC 00000000 */ nop +/* C3D240 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* C3D244 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* C3D248 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* C3D24C 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* C3D250 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* C3D254 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* C3D258 802401D8 24620001 */ addiu $v0, $v1, 1 +/* C3D25C 802401DC 24020001 */ addiu $v0, $zero, 1 +/* C3D260 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* C3D264 802401E4 08090093 */ j .L8024024C +/* C3D268 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* C3D26C 802401EC 08090093 */ j .L8024024C +/* C3D270 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* C3D274 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* C3D278 802401F8 0C00A8D4 */ jal cos_deg +/* C3D27C 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* C3D280 80240200 3C014040 */ lui $at, 0x4040 +/* C3D284 80240204 44811000 */ mtc1 $at, $f2 +/* C3D288 80240208 00000000 */ nop +/* C3D28C 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* C3D290 80240210 00000000 */ nop +/* C3D294 80240214 3C014188 */ lui $at, 0x4188 +/* C3D298 80240218 44812000 */ mtc1 $at, $f4 +/* C3D29C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* C3D2A0 80240220 46041080 */ add.s $f2, $f2, $f4 +/* C3D2A4 80240224 46001080 */ add.s $f2, $f2, $f0 +/* C3D2A8 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* C3D2AC 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* C3D2B0 80240230 24420009 */ addiu $v0, $v0, 9 +/* C3D2B4 80240234 44826000 */ mtc1 $v0, $f12 +/* C3D2B8 80240238 00000000 */ nop +/* C3D2BC 8024023C 0C00A6C9 */ jal clamp_angle +/* C3D2C0 80240240 46806320 */ cvt.s.w $f12, $f12 +/* C3D2C4 80240244 4600018D */ trunc.w.s $f6, $f0 +/* C3D2C8 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* C3D2CC 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* C3D2D0 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* C3D2D4 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* C3D2D8 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* C3D2DC 8024025C 0000102D */ daddu $v0, $zero, $zero +/* C3D2E0 80240260 03E00008 */ jr $ra +/* C3D2E4 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_06/func_80240268_C3D080.s b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240268_C3D080.s new file mode 100644 index 0000000000..77f053290b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_06/func_80240268_C3D080.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_C3D2E8 +/* C3D2E8 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C3D2EC 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* C3D2F0 80240270 0080802D */ daddu $s0, $a0, $zero +/* C3D2F4 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* C3D2F8 80240278 8E02000C */ lw $v0, 0xc($s0) +/* C3D2FC 8024027C 0C0B1EAF */ jal get_variable +/* C3D300 80240280 8C450000 */ lw $a1, ($v0) +/* C3D304 80240284 00021140 */ sll $v0, $v0, 5 +/* C3D308 80240288 AE000084 */ sw $zero, 0x84($s0) +/* C3D30C 8024028C 3C018008 */ lui $at, 0x8008 +/* C3D310 80240290 00220821 */ addu $at, $at, $v0 +/* C3D314 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* C3D318 80240298 30420040 */ andi $v0, $v0, 0x40 +/* C3D31C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* C3D320 802402A0 24020001 */ addiu $v0, $zero, 1 +/* C3D324 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* C3D328 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* C3D32C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* C3D330 802402B0 24020002 */ addiu $v0, $zero, 2 +/* C3D334 802402B4 03E00008 */ jr $ra +/* C3D338 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* C3D33C 802402BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240000_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240000_C3DBF0.s new file mode 100644 index 0000000000..585903793d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240000_C3DBF0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C3DBF0 +/* C3DBF0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3DBF4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C3DBF8 80240008 0080882D */ daddu $s1, $a0, $zero +/* C3DBFC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* C3DC00 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* C3DC04 80240014 8E300148 */ lw $s0, 0x148($s1) +/* C3DC08 80240018 0C00EABB */ jal get_npc_unsafe +/* C3DC0C 8024001C 86040008 */ lh $a0, 8($s0) +/* C3DC10 80240020 24030001 */ addiu $v1, $zero, 1 +/* C3DC14 80240024 0040202D */ daddu $a0, $v0, $zero +/* C3DC18 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* C3DC1C 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* C3DC20 80240030 14400009 */ bnez $v0, .L80240058 +/* C3DC24 80240034 24020002 */ addiu $v0, $zero, 2 +/* C3DC28 80240038 96030072 */ lhu $v1, 0x72($s0) +/* C3DC2C 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* C3DC30 80240040 A483008E */ sh $v1, 0x8e($a0) +/* C3DC34 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* C3DC38 80240048 8C420020 */ lw $v0, 0x20($v0) +/* C3DC3C 8024004C AC820028 */ sw $v0, 0x28($a0) +/* C3DC40 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* C3DC44 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* C3DC48 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* C3DC4C 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* C3DC50 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* C3DC54 80240064 03E00008 */ jr $ra +/* C3DC58 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_8024006C_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024006C_C3DBF0.s new file mode 100644 index 0000000000..650d2d48f1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024006C_C3DBF0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_C3DC5C +/* C3DC5C 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3DC60 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* C3DC64 80240074 0080882D */ daddu $s1, $a0, $zero +/* C3DC68 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* C3DC6C 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* C3DC70 80240080 8E300148 */ lw $s0, 0x148($s1) +/* C3DC74 80240084 0C00EABB */ jal get_npc_unsafe +/* C3DC78 80240088 86040008 */ lh $a0, 8($s0) +/* C3DC7C 8024008C 0040202D */ daddu $a0, $v0, $zero +/* C3DC80 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* C3DC84 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* C3DC88 80240098 A482008E */ sh $v0, 0x8e($a0) +/* C3DC8C 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* C3DC90 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* C3DC94 802400A4 24020003 */ addiu $v0, $zero, 3 +/* C3DC98 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* C3DC9C 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* C3DCA0 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* C3DCA4 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C3DCA8 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* C3DCAC 802400BC AC820028 */ sw $v0, 0x28($a0) +/* C3DCB0 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* C3DCB4 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* C3DCB8 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C3DCBC 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* C3DCC0 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* C3DCC4 802400D4 03E00008 */ jr $ra +/* C3DCC8 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_802400DC_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_802400DC_C3DBF0.s new file mode 100644 index 0000000000..c98de8fbf1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_802400DC_C3DBF0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_C3DCCC +/* C3DCCC 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C3DCD0 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* C3DCD4 802400E4 0080882D */ daddu $s1, $a0, $zero +/* C3DCD8 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* C3DCDC 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* C3DCE0 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* C3DCE4 802400F4 0C00EABB */ jal get_npc_unsafe +/* C3DCE8 802400F8 86040008 */ lh $a0, 8($s0) +/* C3DCEC 802400FC 0040282D */ daddu $a1, $v0, $zero +/* C3DCF0 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* C3DCF4 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* C3DCF8 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* C3DCFC 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* C3DD00 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* C3DD04 80240114 24020004 */ addiu $v0, $zero, 4 +/* C3DD08 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* C3DD0C 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* C3DD10 80240120 8C620000 */ lw $v0, ($v1) +/* C3DD14 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* C3DD18 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* C3DD1C 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* C3DD20 80240130 8E020078 */ lw $v0, 0x78($s0) +/* C3DD24 80240134 28420008 */ slti $v0, $v0, 8 +/* C3DD28 80240138 14400018 */ bnez $v0, .L8024019C +/* C3DD2C 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* C3DD30 80240140 24040003 */ addiu $a0, $zero, 3 +/* C3DD34 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* C3DD38 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* C3DD3C 8024014C 3C013F80 */ lui $at, 0x3f80 +/* C3DD40 80240150 44810000 */ mtc1 $at, $f0 +/* C3DD44 80240154 3C014000 */ lui $at, 0x4000 +/* C3DD48 80240158 44811000 */ mtc1 $at, $f2 +/* C3DD4C 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* C3DD50 80240160 44812000 */ mtc1 $at, $f4 +/* C3DD54 80240164 44873000 */ mtc1 $a3, $f6 +/* C3DD58 80240168 00000000 */ nop +/* C3DD5C 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* C3DD60 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* C3DD64 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3DD68 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3DD6C 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* C3DD70 80240180 44073000 */ mfc1 $a3, $f6 +/* C3DD74 80240184 0000302D */ daddu $a2, $zero, $zero +/* C3DD78 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* C3DD7C 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* C3DD80 80240190 0C01BFA4 */ jal fx_emote +/* C3DD84 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* C3DD88 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* C3DD8C 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* C3DD90 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* C3DD94 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* C3DD98 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* C3DD9C 802401AC 03E00008 */ jr $ra +/* C3DDA0 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_802401B4_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_802401B4_C3DBF0.s new file mode 100644 index 0000000000..5cb8eba7b9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_802401B4_C3DBF0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_C3DDA4 +/* C3DDA4 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3DDA8 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* C3DDAC 802401BC 0080882D */ daddu $s1, $a0, $zero +/* C3DDB0 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C3DDB4 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* C3DDB8 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* C3DDBC 802401CC 0C00EABB */ jal get_npc_unsafe +/* C3DDC0 802401D0 86040008 */ lh $a0, 8($s0) +/* C3DDC4 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* C3DDC8 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* C3DDCC 802401DC A443008E */ sh $v1, 0x8e($v0) +/* C3DDD0 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* C3DDD4 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* C3DDD8 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* C3DDDC 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* C3DDE0 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* C3DDE4 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* C3DDE8 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* C3DDEC 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* C3DDF0 80240200 03E00008 */ jr $ra +/* C3DDF4 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240208_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240208_C3DBF0.s new file mode 100644 index 0000000000..65ebc584ee --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240208_C3DBF0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_C3DDF8 +/* C3DDF8 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3DDFC 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* C3DE00 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* C3DE04 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* C3DE08 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* C3DE0C 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* C3DE10 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* C3DE14 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C3DE18 80240228 8C900148 */ lw $s0, 0x148($a0) +/* C3DE1C 8024022C 86040008 */ lh $a0, 8($s0) +/* C3DE20 80240230 0C00EABB */ jal get_npc_unsafe +/* C3DE24 80240234 24110001 */ addiu $s1, $zero, 1 +/* C3DE28 80240238 86040008 */ lh $a0, 8($s0) +/* C3DE2C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* C3DE30 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* C3DE34 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C3DE38 80240248 3C03800A */ lui $v1, 0x800a +/* C3DE3C 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* C3DE40 80240250 00912021 */ addu $a0, $a0, $s1 +/* C3DE44 80240254 00031080 */ sll $v0, $v1, 2 +/* C3DE48 80240258 00431021 */ addu $v0, $v0, $v1 +/* C3DE4C 8024025C 00021080 */ sll $v0, $v0, 2 +/* C3DE50 80240260 00431023 */ subu $v0, $v0, $v1 +/* C3DE54 80240264 000218C0 */ sll $v1, $v0, 3 +/* C3DE58 80240268 00431021 */ addu $v0, $v0, $v1 +/* C3DE5C 8024026C 000210C0 */ sll $v0, $v0, 3 +/* C3DE60 80240270 0C00FB3A */ jal get_enemy +/* C3DE64 80240274 00459021 */ addu $s2, $v0, $a1 +/* C3DE68 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C3DE6C 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C3DE70 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3DE74 80240284 8E830000 */ lw $v1, ($s4) +/* C3DE78 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3DE7C 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* C3DE80 80240290 8C670030 */ lw $a3, 0x30($v1) +/* C3DE84 80240294 0C00A7B5 */ jal dist2D +/* C3DE88 80240298 0040982D */ daddu $s3, $v0, $zero +/* C3DE8C 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* C3DE90 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* C3DE94 802402A4 4600103C */ c.lt.s $f2, $f0 +/* C3DE98 802402A8 00000000 */ nop +/* C3DE9C 802402AC 45030001 */ bc1tl .L802402B4 +/* C3DEA0 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* C3DEA4 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C3DEA8 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C3DEAC 802402BC 3C014387 */ lui $at, 0x4387 +/* C3DEB0 802402C0 4481A000 */ mtc1 $at, $f20 +/* C3DEB4 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* C3DEB8 802402C8 00000000 */ nop +/* C3DEBC 802402CC 0C00A6C9 */ jal clamp_angle +/* C3DEC0 802402D0 46000306 */ mov.s $f12, $f0 +/* C3DEC4 802402D4 3C018024 */ lui $at, 0x8024 +/* C3DEC8 802402D8 D4221E90 */ ldc1 $f2, 0x1e90($at) +/* C3DECC 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* C3DED0 802402E0 4622003C */ c.lt.d $f0, $f2 +/* C3DED4 802402E4 00000000 */ nop +/* C3DED8 802402E8 45000003 */ bc1f .L802402F8 +/* C3DEDC 802402EC 00000000 */ nop +/* C3DEE0 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* C3DEE4 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* C3DEE8 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3DEEC 802402FC 8E820000 */ lw $v0, ($s4) +/* C3DEF0 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3DEF4 80240304 8C460028 */ lw $a2, 0x28($v0) +/* C3DEF8 80240308 0C00A720 */ jal atan2 +/* C3DEFC 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* C3DF00 80240310 4600A306 */ mov.s $f12, $f20 +/* C3DF04 80240314 0C00A70A */ jal get_clamped_angle_diff +/* C3DF08 80240318 46000386 */ mov.s $f14, $f0 +/* C3DF0C 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* C3DF10 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* C3DF14 80240324 46000005 */ abs.s $f0, $f0 +/* C3DF18 80240328 4600103C */ c.lt.s $f2, $f0 +/* C3DF1C 8024032C 00000000 */ nop +/* C3DF20 80240330 45030001 */ bc1tl .L80240338 +/* C3DF24 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* C3DF28 80240338 8E820000 */ lw $v0, ($s4) +/* C3DF2C 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* C3DF30 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* C3DF34 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* C3DF38 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* C3DF3C 8024034C 44821000 */ mtc1 $v0, $f2 +/* C3DF40 80240350 00000000 */ nop +/* C3DF44 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* C3DF48 80240358 46221080 */ add.d $f2, $f2, $f2 +/* C3DF4C 8024035C 46000005 */ abs.s $f0, $f0 +/* C3DF50 80240360 46000021 */ cvt.d.s $f0, $f0 +/* C3DF54 80240364 4620103E */ c.le.d $f2, $f0 +/* C3DF58 80240368 00000000 */ nop +/* C3DF5C 8024036C 45030001 */ bc1tl .L80240374 +/* C3DF60 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* C3DF64 80240374 3C038011 */ lui $v1, 0x8011 +/* C3DF68 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* C3DF6C 8024037C 24020009 */ addiu $v0, $zero, 9 +/* C3DF70 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* C3DF74 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* C3DF78 80240388 24020007 */ addiu $v0, $zero, 7 +/* C3DF7C 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* C3DF80 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* C3DF84 80240394 0220102D */ daddu $v0, $s1, $zero +/* C3DF88 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* C3DF8C 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* C3DF90 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C3DF94 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* C3DF98 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* C3DF9C 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* C3DFA0 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C3DFA4 802403B4 03E00008 */ jr $ra +/* C3DFA8 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_8024061C_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024061C_C3DBF0.s new file mode 100644 index 0000000000..b06762ed77 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024061C_C3DBF0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_C3E20C +/* C3E20C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3E210 80240620 AFB10014 */ sw $s1, 0x14($sp) +/* C3E214 80240624 0080882D */ daddu $s1, $a0, $zero +/* C3E218 80240628 AFBF0018 */ sw $ra, 0x18($sp) +/* C3E21C 8024062C AFB00010 */ sw $s0, 0x10($sp) +/* C3E220 80240630 8E300148 */ lw $s0, 0x148($s1) +/* C3E224 80240634 0C00EABB */ jal get_npc_unsafe +/* C3E228 80240638 86040008 */ lh $a0, 8($s0) +/* C3E22C 8024063C 0040202D */ daddu $a0, $v0, $zero +/* C3E230 80240640 8482008E */ lh $v0, 0x8e($a0) +/* C3E234 80240644 9483008E */ lhu $v1, 0x8e($a0) +/* C3E238 80240648 18400002 */ blez $v0, .L80240654 +/* C3E23C 8024064C 2462FFFF */ addiu $v0, $v1, -1 +/* C3E240 80240650 A482008E */ sh $v0, 0x8e($a0) +.L80240654: +/* C3E244 80240654 8482008E */ lh $v0, 0x8e($a0) +/* C3E248 80240658 24030001 */ addiu $v1, $zero, 1 +/* C3E24C 8024065C 14430005 */ bne $v0, $v1, .L80240674 +/* C3E250 80240660 00000000 */ nop +/* C3E254 80240664 8E0200CC */ lw $v0, 0xcc($s0) +/* C3E258 80240668 8C420030 */ lw $v0, 0x30($v0) +/* C3E25C 8024066C 080901A4 */ j .L80240690 +/* C3E260 80240670 AC820028 */ sw $v0, 0x28($a0) +.L80240674: +/* C3E264 80240674 1C400006 */ bgtz $v0, .L80240690 +/* C3E268 80240678 00000000 */ nop +/* C3E26C 8024067C 8E0200CC */ lw $v0, 0xcc($s0) +/* C3E270 80240680 8C420028 */ lw $v0, 0x28($v0) +/* C3E274 80240684 A480008E */ sh $zero, 0x8e($a0) +/* C3E278 80240688 AC820028 */ sw $v0, 0x28($a0) +/* C3E27C 8024068C AE230070 */ sw $v1, 0x70($s1) +.L80240690: +/* C3E280 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* C3E284 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* C3E288 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* C3E28C 8024069C 03E00008 */ jr $ra +/* C3E290 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_802406A4_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_802406A4_C3DBF0.s new file mode 100644 index 0000000000..121fed2797 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_802406A4_C3DBF0.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_C3E294 +/* C3E294 802406A4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3E298 802406A8 AFB40048 */ sw $s4, 0x48($sp) +/* C3E29C 802406AC 0080A02D */ daddu $s4, $a0, $zero +/* C3E2A0 802406B0 AFBF004C */ sw $ra, 0x4c($sp) +/* C3E2A4 802406B4 AFB30044 */ sw $s3, 0x44($sp) +/* C3E2A8 802406B8 AFB20040 */ sw $s2, 0x40($sp) +/* C3E2AC 802406BC AFB1003C */ sw $s1, 0x3c($sp) +/* C3E2B0 802406C0 AFB00038 */ sw $s0, 0x38($sp) +/* C3E2B4 802406C4 8E930148 */ lw $s3, 0x148($s4) +/* C3E2B8 802406C8 00C0802D */ daddu $s0, $a2, $zero +/* C3E2BC 802406CC 86640008 */ lh $a0, 8($s3) +/* C3E2C0 802406D0 0C00EABB */ jal get_npc_unsafe +/* C3E2C4 802406D4 0000902D */ daddu $s2, $zero, $zero +/* C3E2C8 802406D8 0C039D59 */ jal get_player_data +/* C3E2CC 802406DC 0040882D */ daddu $s1, $v0, $zero +/* C3E2D0 802406E0 0200202D */ daddu $a0, $s0, $zero +/* C3E2D4 802406E4 0260282D */ daddu $a1, $s3, $zero +/* C3E2D8 802406E8 0000382D */ daddu $a3, $zero, $zero +/* C3E2DC 802406EC 3C0642A0 */ lui $a2, 0x42a0 +/* C3E2E0 802406F0 0040802D */ daddu $s0, $v0, $zero +/* C3E2E4 802406F4 0C01242D */ jal func_800490B4 +/* C3E2E8 802406F8 AFA00010 */ sw $zero, 0x10($sp) +/* C3E2EC 802406FC 10400022 */ beqz $v0, .L80240788 +/* C3E2F0 80240700 00000000 */ nop +/* C3E2F4 80240704 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3E2F8 80240708 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3E2FC 8024070C 804300B4 */ lb $v1, 0xb4($v0) +/* C3E300 80240710 24020002 */ addiu $v0, $zero, 2 +/* C3E304 80240714 10620013 */ beq $v1, $v0, .L80240764 +/* C3E308 80240718 2402001A */ addiu $v0, $zero, 0x1a +/* C3E30C 8024071C 10620011 */ beq $v1, $v0, .L80240764 +/* C3E310 80240720 24020003 */ addiu $v0, $zero, 3 +/* C3E314 80240724 1062000F */ beq $v1, $v0, .L80240764 +/* C3E318 80240728 2402000E */ addiu $v0, $zero, 0xe +/* C3E31C 8024072C 1062000D */ beq $v1, $v0, .L80240764 +/* C3E320 80240730 24020010 */ addiu $v0, $zero, 0x10 +/* C3E324 80240734 1062000B */ beq $v1, $v0, .L80240764 +/* C3E328 80240738 2402000B */ addiu $v0, $zero, 0xb +/* C3E32C 8024073C 10620009 */ beq $v1, $v0, .L80240764 +/* C3E330 80240740 2402000A */ addiu $v0, $zero, 0xa +/* C3E334 80240744 10620007 */ beq $v1, $v0, .L80240764 +/* C3E338 80240748 24020012 */ addiu $v0, $zero, 0x12 +/* C3E33C 8024074C 10620005 */ beq $v1, $v0, .L80240764 +/* C3E340 80240750 24020013 */ addiu $v0, $zero, 0x13 +/* C3E344 80240754 10620003 */ beq $v1, $v0, .L80240764 +/* C3E348 80240758 24020025 */ addiu $v0, $zero, 0x25 +/* C3E34C 8024075C 14620002 */ bne $v1, $v0, .L80240768 +/* C3E350 80240760 00000000 */ nop +.L80240764: +/* C3E354 80240764 24120001 */ addiu $s2, $zero, 1 +.L80240768: +/* C3E358 80240768 82030012 */ lb $v1, 0x12($s0) +/* C3E35C 8024076C 24020002 */ addiu $v0, $zero, 2 +/* C3E360 80240770 14620007 */ bne $v1, $v0, .L80240790 +/* C3E364 80240774 24020001 */ addiu $v0, $zero, 1 +/* C3E368 80240778 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C3E36C 8024077C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C3E370 80240780 50430002 */ beql $v0, $v1, .L8024078C +/* C3E374 80240784 24120001 */ addiu $s2, $zero, 1 +.L80240788: +/* C3E378 80240788 82030012 */ lb $v1, 0x12($s0) +.L8024078C: +/* C3E37C 8024078C 24020001 */ addiu $v0, $zero, 1 +.L80240790: +/* C3E380 80240790 14620006 */ bne $v1, $v0, .L802407AC +/* C3E384 80240794 24020003 */ addiu $v0, $zero, 3 +/* C3E388 80240798 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C3E38C 8024079C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C3E390 802407A0 14400008 */ bnez $v0, .L802407C4 +/* C3E394 802407A4 27A40028 */ addiu $a0, $sp, 0x28 +/* C3E398 802407A8 24020003 */ addiu $v0, $zero, 3 +.L802407AC: +/* C3E39C 802407AC 1462001B */ bne $v1, $v0, .L8024081C +/* C3E3A0 802407B0 24020002 */ addiu $v0, $zero, 2 +/* C3E3A4 802407B4 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C3E3A8 802407B8 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C3E3AC 802407BC 14620017 */ bne $v1, $v0, .L8024081C +/* C3E3B0 802407C0 27A40028 */ addiu $a0, $sp, 0x28 +.L802407C4: +/* C3E3B4 802407C4 27A5002C */ addiu $a1, $sp, 0x2c +/* C3E3B8 802407C8 8E27000C */ lw $a3, 0xc($s1) +/* C3E3BC 802407CC C6200038 */ lwc1 $f0, 0x38($s1) +/* C3E3C0 802407D0 C6220040 */ lwc1 $f2, 0x40($s1) +/* C3E3C4 802407D4 0000302D */ daddu $a2, $zero, $zero +/* C3E3C8 802407D8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3E3CC 802407DC 0C00A7E7 */ jal add_vec2D_polar +/* C3E3D0 802407E0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C3E3D4 802407E4 3C028011 */ lui $v0, 0x8011 +/* C3E3D8 802407E8 8C42C930 */ lw $v0, -0x36d0($v0) +/* C3E3DC 802407EC C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C3E3E0 802407F0 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C3E3E4 802407F4 8C460038 */ lw $a2, 0x38($v0) +/* C3E3E8 802407F8 0C00A7B5 */ jal dist2D +/* C3E3EC 802407FC 8C470040 */ lw $a3, 0x40($v0) +/* C3E3F0 80240800 3C0142A0 */ lui $at, 0x42a0 +/* C3E3F4 80240804 44811000 */ mtc1 $at, $f2 +/* C3E3F8 80240808 00000000 */ nop +/* C3E3FC 8024080C 4602003E */ c.le.s $f0, $f2 +/* C3E400 80240810 00000000 */ nop +/* C3E404 80240814 45030001 */ bc1tl .L8024081C +/* C3E408 80240818 24120001 */ addiu $s2, $zero, 1 +.L8024081C: +/* C3E40C 8024081C 12400026 */ beqz $s2, .L802408B8 +/* C3E410 80240820 0220202D */ daddu $a0, $s1, $zero +/* C3E414 80240824 3C05B000 */ lui $a1, 0xb000 +/* C3E418 80240828 34A5000E */ ori $a1, $a1, 0xe +/* C3E41C 8024082C 0C012530 */ jal func_800494C0 +/* C3E420 80240830 0000302D */ daddu $a2, $zero, $zero +/* C3E424 80240834 0000202D */ daddu $a0, $zero, $zero +/* C3E428 80240838 0220282D */ daddu $a1, $s1, $zero +/* C3E42C 8024083C 0000302D */ daddu $a2, $zero, $zero +/* C3E430 80240840 862200A8 */ lh $v0, 0xa8($s1) +/* C3E434 80240844 8E6300CC */ lw $v1, 0xcc($s3) +/* C3E438 80240848 3C013F80 */ lui $at, 0x3f80 +/* C3E43C 8024084C 44810000 */ mtc1 $at, $f0 +/* C3E440 80240850 3C014000 */ lui $at, 0x4000 +/* C3E444 80240854 44811000 */ mtc1 $at, $f2 +/* C3E448 80240858 3C01C1A0 */ lui $at, 0xc1a0 +/* C3E44C 8024085C 44812000 */ mtc1 $at, $f4 +/* C3E450 80240860 44823000 */ mtc1 $v0, $f6 +/* C3E454 80240864 00000000 */ nop +/* C3E458 80240868 468031A0 */ cvt.s.w $f6, $f6 +/* C3E45C 8024086C 44073000 */ mfc1 $a3, $f6 +/* C3E460 80240870 8C63002C */ lw $v1, 0x2c($v1) +/* C3E464 80240874 2402000A */ addiu $v0, $zero, 0xa +/* C3E468 80240878 A622008E */ sh $v0, 0x8e($s1) +/* C3E46C 8024087C 2402000F */ addiu $v0, $zero, 0xf +/* C3E470 80240880 AE230028 */ sw $v1, 0x28($s1) +/* C3E474 80240884 AFA2001C */ sw $v0, 0x1c($sp) +/* C3E478 80240888 27A20030 */ addiu $v0, $sp, 0x30 +/* C3E47C 8024088C E7A00010 */ swc1 $f0, 0x10($sp) +/* C3E480 80240890 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3E484 80240894 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3E488 80240898 0C01BFA4 */ jal fx_emote +/* C3E48C 8024089C AFA20020 */ sw $v0, 0x20($sp) +/* C3E490 802408A0 0220202D */ daddu $a0, $s1, $zero +/* C3E494 802408A4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C3E498 802408A8 0C012530 */ jal func_800494C0 +/* C3E49C 802408AC 3C060020 */ lui $a2, 0x20 +/* C3E4A0 802408B0 24020002 */ addiu $v0, $zero, 2 +/* C3E4A4 802408B4 AE820070 */ sw $v0, 0x70($s4) +.L802408B8: +/* C3E4A8 802408B8 9622008E */ lhu $v0, 0x8e($s1) +/* C3E4AC 802408BC 24420001 */ addiu $v0, $v0, 1 +/* C3E4B0 802408C0 A622008E */ sh $v0, 0x8e($s1) +/* C3E4B4 802408C4 00021400 */ sll $v0, $v0, 0x10 +/* C3E4B8 802408C8 00021C03 */ sra $v1, $v0, 0x10 +/* C3E4BC 802408CC 2402001B */ addiu $v0, $zero, 0x1b +/* C3E4C0 802408D0 14620005 */ bne $v1, $v0, .L802408E8 +/* C3E4C4 802408D4 24020039 */ addiu $v0, $zero, 0x39 +/* C3E4C8 802408D8 0220202D */ daddu $a0, $s1, $zero +/* C3E4CC 802408DC 3C05B000 */ lui $a1, 0xb000 +/* C3E4D0 802408E0 0809023F */ j .L802408FC +/* C3E4D4 802408E4 34A5000C */ ori $a1, $a1, 0xc +.L802408E8: +/* C3E4D8 802408E8 14620008 */ bne $v1, $v0, .L8024090C +/* C3E4DC 802408EC 2402003B */ addiu $v0, $zero, 0x3b +/* C3E4E0 802408F0 0220202D */ daddu $a0, $s1, $zero +/* C3E4E4 802408F4 3C05B000 */ lui $a1, 0xb000 +/* C3E4E8 802408F8 34A5000D */ ori $a1, $a1, 0xd +.L802408FC: +/* C3E4EC 802408FC 0C012530 */ jal func_800494C0 +/* C3E4F0 80240900 0000302D */ daddu $a2, $zero, $zero +/* C3E4F4 80240904 0809024F */ j .L8024093C +/* C3E4F8 80240908 00000000 */ nop +.L8024090C: +/* C3E4FC 8024090C 14620005 */ bne $v1, $v0, .L80240924 +/* C3E500 80240910 2402003C */ addiu $v0, $zero, 0x3c +/* C3E504 80240914 8E6200CC */ lw $v0, 0xcc($s3) +/* C3E508 80240918 8C420030 */ lw $v0, 0x30($v0) +/* C3E50C 8024091C 0809024F */ j .L8024093C +/* C3E510 80240920 AE220028 */ sw $v0, 0x28($s1) +.L80240924: +/* C3E514 80240924 14620005 */ bne $v1, $v0, .L8024093C +/* C3E518 80240928 00000000 */ nop +/* C3E51C 8024092C 8E6200CC */ lw $v0, 0xcc($s3) +/* C3E520 80240930 8C420028 */ lw $v0, 0x28($v0) +/* C3E524 80240934 A620008E */ sh $zero, 0x8e($s1) +/* C3E528 80240938 AE220028 */ sw $v0, 0x28($s1) +.L8024093C: +/* C3E52C 8024093C 8FBF004C */ lw $ra, 0x4c($sp) +/* C3E530 80240940 8FB40048 */ lw $s4, 0x48($sp) +/* C3E534 80240944 8FB30044 */ lw $s3, 0x44($sp) +/* C3E538 80240948 8FB20040 */ lw $s2, 0x40($sp) +/* C3E53C 8024094C 8FB1003C */ lw $s1, 0x3c($sp) +/* C3E540 80240950 8FB00038 */ lw $s0, 0x38($sp) +/* C3E544 80240954 03E00008 */ jr $ra +/* C3E548 80240958 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_8024095C_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024095C_C3DBF0.s new file mode 100644 index 0000000000..c66ddd5988 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_8024095C_C3DBF0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_C3E54C +/* C3E54C 8024095C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3E550 80240960 AFB10014 */ sw $s1, 0x14($sp) +/* C3E554 80240964 0080882D */ daddu $s1, $a0, $zero +/* C3E558 80240968 AFBF0018 */ sw $ra, 0x18($sp) +/* C3E55C 8024096C AFB00010 */ sw $s0, 0x10($sp) +/* C3E560 80240970 8E300148 */ lw $s0, 0x148($s1) +/* C3E564 80240974 0C00EABB */ jal get_npc_unsafe +/* C3E568 80240978 86040008 */ lh $a0, 8($s0) +/* C3E56C 8024097C 0040182D */ daddu $v1, $v0, $zero +/* C3E570 80240980 9462008E */ lhu $v0, 0x8e($v1) +/* C3E574 80240984 2442FFFF */ addiu $v0, $v0, -1 +/* C3E578 80240988 A462008E */ sh $v0, 0x8e($v1) +/* C3E57C 8024098C 00021400 */ sll $v0, $v0, 0x10 +/* C3E580 80240990 1C400006 */ bgtz $v0, .L802409AC +/* C3E584 80240994 24020001 */ addiu $v0, $zero, 1 +/* C3E588 80240998 A462008E */ sh $v0, 0x8e($v1) +/* C3E58C 8024099C 24020028 */ addiu $v0, $zero, 0x28 +/* C3E590 802409A0 AE020088 */ sw $v0, 0x88($s0) +/* C3E594 802409A4 24020003 */ addiu $v0, $zero, 3 +/* C3E598 802409A8 AE220070 */ sw $v0, 0x70($s1) +.L802409AC: +/* C3E59C 802409AC 8FBF0018 */ lw $ra, 0x18($sp) +/* C3E5A0 802409B0 8FB10014 */ lw $s1, 0x14($sp) +/* C3E5A4 802409B4 8FB00010 */ lw $s0, 0x10($sp) +/* C3E5A8 802409B8 03E00008 */ jr $ra +/* C3E5AC 802409BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_802409C0_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_802409C0_C3DBF0.s new file mode 100644 index 0000000000..3e1c35fd4b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_802409C0_C3DBF0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409C0_C3E5B0 +/* C3E5B0 802409C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3E5B4 802409C4 AFB10014 */ sw $s1, 0x14($sp) +/* C3E5B8 802409C8 0080882D */ daddu $s1, $a0, $zero +/* C3E5BC 802409CC AFBF001C */ sw $ra, 0x1c($sp) +/* C3E5C0 802409D0 AFB20018 */ sw $s2, 0x18($sp) +/* C3E5C4 802409D4 AFB00010 */ sw $s0, 0x10($sp) +/* C3E5C8 802409D8 8E320148 */ lw $s2, 0x148($s1) +/* C3E5CC 802409DC 0C00EABB */ jal get_npc_unsafe +/* C3E5D0 802409E0 86440008 */ lh $a0, 8($s2) +/* C3E5D4 802409E4 240400B4 */ addiu $a0, $zero, 0xb4 +/* C3E5D8 802409E8 0C00A67F */ jal rand_int +/* C3E5DC 802409EC 0040802D */ daddu $s0, $v0, $zero +/* C3E5E0 802409F0 C60C000C */ lwc1 $f12, 0xc($s0) +/* C3E5E4 802409F4 44820000 */ mtc1 $v0, $f0 +/* C3E5E8 802409F8 00000000 */ nop +/* C3E5EC 802409FC 46800020 */ cvt.s.w $f0, $f0 +/* C3E5F0 80240A00 46006300 */ add.s $f12, $f12, $f0 +/* C3E5F4 80240A04 3C0142B4 */ lui $at, 0x42b4 +/* C3E5F8 80240A08 44810000 */ mtc1 $at, $f0 +/* C3E5FC 80240A0C 0C00A6C9 */ jal clamp_angle +/* C3E600 80240A10 46006301 */ sub.s $f12, $f12, $f0 +/* C3E604 80240A14 E600000C */ swc1 $f0, 0xc($s0) +/* C3E608 80240A18 8E4200CC */ lw $v0, 0xcc($s2) +/* C3E60C 80240A1C 8C420000 */ lw $v0, ($v0) +/* C3E610 80240A20 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C3E614 80240A24 0C00A67F */ jal rand_int +/* C3E618 80240A28 AE020028 */ sw $v0, 0x28($s0) +/* C3E61C 80240A2C 00021FC2 */ srl $v1, $v0, 0x1f +/* C3E620 80240A30 00431821 */ addu $v1, $v0, $v1 +/* C3E624 80240A34 00031843 */ sra $v1, $v1, 1 +/* C3E628 80240A38 00031840 */ sll $v1, $v1, 1 +/* C3E62C 80240A3C 00431023 */ subu $v0, $v0, $v1 +/* C3E630 80240A40 24420002 */ addiu $v0, $v0, 2 +/* C3E634 80240A44 AE220074 */ sw $v0, 0x74($s1) +/* C3E638 80240A48 24020004 */ addiu $v0, $zero, 4 +/* C3E63C 80240A4C AE220070 */ sw $v0, 0x70($s1) +/* C3E640 80240A50 8FBF001C */ lw $ra, 0x1c($sp) +/* C3E644 80240A54 8FB20018 */ lw $s2, 0x18($sp) +/* C3E648 80240A58 8FB10014 */ lw $s1, 0x14($sp) +/* C3E64C 80240A5C 8FB00010 */ lw $s0, 0x10($sp) +/* C3E650 80240A60 03E00008 */ jr $ra +/* C3E654 80240A64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240A68_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240A68_C3DBF0.s new file mode 100644 index 0000000000..1738828a13 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240A68_C3DBF0.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A68_C3E658 +/* C3E658 80240A68 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3E65C 80240A6C AFB20020 */ sw $s2, 0x20($sp) +/* C3E660 80240A70 0080902D */ daddu $s2, $a0, $zero +/* C3E664 80240A74 AFBF0028 */ sw $ra, 0x28($sp) +/* C3E668 80240A78 AFB30024 */ sw $s3, 0x24($sp) +/* C3E66C 80240A7C AFB1001C */ sw $s1, 0x1c($sp) +/* C3E670 80240A80 AFB00018 */ sw $s0, 0x18($sp) +/* C3E674 80240A84 8E510148 */ lw $s1, 0x148($s2) +/* C3E678 80240A88 00A0982D */ daddu $s3, $a1, $zero +/* C3E67C 80240A8C 86240008 */ lh $a0, 8($s1) +/* C3E680 80240A90 0C00EABB */ jal get_npc_unsafe +/* C3E684 80240A94 00C0802D */ daddu $s0, $a2, $zero +/* C3E688 80240A98 0200202D */ daddu $a0, $s0, $zero +/* C3E68C 80240A9C 0040802D */ daddu $s0, $v0, $zero +/* C3E690 80240AA0 AFA00010 */ sw $zero, 0x10($sp) +/* C3E694 80240AA4 8E660024 */ lw $a2, 0x24($s3) +/* C3E698 80240AA8 8E670028 */ lw $a3, 0x28($s3) +/* C3E69C 80240AAC 0C01242D */ jal func_800490B4 +/* C3E6A0 80240AB0 0220282D */ daddu $a1, $s1, $zero +/* C3E6A4 80240AB4 1040000C */ beqz $v0, .L80240AE8 +/* C3E6A8 80240AB8 00000000 */ nop +/* C3E6AC 80240ABC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3E6B0 80240AC0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3E6B4 80240AC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3E6B8 80240AC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3E6BC 80240ACC 8C460028 */ lw $a2, 0x28($v0) +/* C3E6C0 80240AD0 0C00A720 */ jal atan2 +/* C3E6C4 80240AD4 8C470030 */ lw $a3, 0x30($v0) +/* C3E6C8 80240AD8 2402000C */ addiu $v0, $zero, 0xc +/* C3E6CC 80240ADC E600000C */ swc1 $f0, 0xc($s0) +/* C3E6D0 80240AE0 080902E1 */ j .L80240B84 +/* C3E6D4 80240AE4 AE420070 */ sw $v0, 0x70($s2) +.L80240AE8: +/* C3E6D8 80240AE8 9602008E */ lhu $v0, 0x8e($s0) +/* C3E6DC 80240AEC 2442FFFF */ addiu $v0, $v0, -1 +/* C3E6E0 80240AF0 A602008E */ sh $v0, 0x8e($s0) +/* C3E6E4 80240AF4 00021400 */ sll $v0, $v0, 0x10 +/* C3E6E8 80240AF8 1C400022 */ bgtz $v0, .L80240B84 +/* C3E6EC 80240AFC 00000000 */ nop +/* C3E6F0 80240B00 8E420074 */ lw $v0, 0x74($s2) +/* C3E6F4 80240B04 2442FFFF */ addiu $v0, $v0, -1 +/* C3E6F8 80240B08 18400014 */ blez $v0, .L80240B5C +/* C3E6FC 80240B0C AE420074 */ sw $v0, 0x74($s2) +/* C3E700 80240B10 C600000C */ lwc1 $f0, 0xc($s0) +/* C3E704 80240B14 3C014334 */ lui $at, 0x4334 +/* C3E708 80240B18 44816000 */ mtc1 $at, $f12 +/* C3E70C 80240B1C 0C00A6C9 */ jal clamp_angle +/* C3E710 80240B20 460C0300 */ add.s $f12, $f0, $f12 +/* C3E714 80240B24 E600000C */ swc1 $f0, 0xc($s0) +/* C3E718 80240B28 8E640008 */ lw $a0, 8($s3) +/* C3E71C 80240B2C 000417C2 */ srl $v0, $a0, 0x1f +/* C3E720 80240B30 00822021 */ addu $a0, $a0, $v0 +/* C3E724 80240B34 00042043 */ sra $a0, $a0, 1 +/* C3E728 80240B38 0C00A67F */ jal rand_int +/* C3E72C 80240B3C 24840001 */ addiu $a0, $a0, 1 +/* C3E730 80240B40 8E630008 */ lw $v1, 8($s3) +/* C3E734 80240B44 000327C2 */ srl $a0, $v1, 0x1f +/* C3E738 80240B48 00641821 */ addu $v1, $v1, $a0 +/* C3E73C 80240B4C 00031843 */ sra $v1, $v1, 1 +/* C3E740 80240B50 00621821 */ addu $v1, $v1, $v0 +/* C3E744 80240B54 080902E1 */ j .L80240B84 +/* C3E748 80240B58 A603008E */ sh $v1, 0x8e($s0) +.L80240B5C: +/* C3E74C 80240B5C 8E250088 */ lw $a1, 0x88($s1) +/* C3E750 80240B60 24020028 */ addiu $v0, $zero, 0x28 +/* C3E754 80240B64 14A20003 */ bne $a1, $v0, .L80240B74 +/* C3E758 80240B68 24020032 */ addiu $v0, $zero, 0x32 +/* C3E75C 80240B6C 080902DF */ j .L80240B7C +/* C3E760 80240B70 24020014 */ addiu $v0, $zero, 0x14 +.L80240B74: +/* C3E764 80240B74 14A20003 */ bne $a1, $v0, .L80240B84 +/* C3E768 80240B78 24020019 */ addiu $v0, $zero, 0x19 +.L80240B7C: +/* C3E76C 80240B7C A602008E */ sh $v0, 0x8e($s0) +/* C3E770 80240B80 AE450070 */ sw $a1, 0x70($s2) +.L80240B84: +/* C3E774 80240B84 8FBF0028 */ lw $ra, 0x28($sp) +/* C3E778 80240B88 8FB30024 */ lw $s3, 0x24($sp) +/* C3E77C 80240B8C 8FB20020 */ lw $s2, 0x20($sp) +/* C3E780 80240B90 8FB1001C */ lw $s1, 0x1c($sp) +/* C3E784 80240B94 8FB00018 */ lw $s0, 0x18($sp) +/* C3E788 80240B98 03E00008 */ jr $ra +/* C3E78C 80240B9C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240BA0_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240BA0_C3DBF0.s new file mode 100644 index 0000000000..afac790394 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240BA0_C3DBF0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA0_C3E790 +/* C3E790 80240BA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C3E794 80240BA4 AFB20018 */ sw $s2, 0x18($sp) +/* C3E798 80240BA8 0080902D */ daddu $s2, $a0, $zero +/* C3E79C 80240BAC AFBF001C */ sw $ra, 0x1c($sp) +/* C3E7A0 80240BB0 AFB10014 */ sw $s1, 0x14($sp) +/* C3E7A4 80240BB4 AFB00010 */ sw $s0, 0x10($sp) +/* C3E7A8 80240BB8 8E500148 */ lw $s0, 0x148($s2) +/* C3E7AC 80240BBC 86040008 */ lh $a0, 8($s0) +/* C3E7B0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* C3E7B4 80240BC4 00A0882D */ daddu $s1, $a1, $zero +/* C3E7B8 80240BC8 0040182D */ daddu $v1, $v0, $zero +/* C3E7BC 80240BCC 9462008E */ lhu $v0, 0x8e($v1) +/* C3E7C0 80240BD0 2442FFFF */ addiu $v0, $v0, -1 +/* C3E7C4 80240BD4 A462008E */ sh $v0, 0x8e($v1) +/* C3E7C8 80240BD8 00021400 */ sll $v0, $v0, 0x10 +/* C3E7CC 80240BDC 1C400015 */ bgtz $v0, .L80240C34 +/* C3E7D0 80240BE0 00000000 */ nop +/* C3E7D4 80240BE4 8E0200CC */ lw $v0, 0xcc($s0) +/* C3E7D8 80240BE8 8C420004 */ lw $v0, 4($v0) +/* C3E7DC 80240BEC AC620028 */ sw $v0, 0x28($v1) +/* C3E7E0 80240BF0 8E0200D0 */ lw $v0, 0xd0($s0) +/* C3E7E4 80240BF4 8C420014 */ lw $v0, 0x14($v0) +/* C3E7E8 80240BF8 04410004 */ bgez $v0, .L80240C0C +/* C3E7EC 80240BFC 00000000 */ nop +/* C3E7F0 80240C00 C6200000 */ lwc1 $f0, ($s1) +/* C3E7F4 80240C04 0809030B */ j .L80240C2C +/* C3E7F8 80240C08 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C0C: +/* C3E7FC 80240C0C 3C018024 */ lui $at, 0x8024 +/* C3E800 80240C10 D4221E98 */ ldc1 $f2, 0x1e98($at) +/* C3E804 80240C14 44820000 */ mtc1 $v0, $f0 +/* C3E808 80240C18 00000000 */ nop +/* C3E80C 80240C1C 46800021 */ cvt.d.w $f0, $f0 +/* C3E810 80240C20 46220003 */ div.d $f0, $f0, $f2 +/* C3E814 80240C24 46200020 */ cvt.s.d $f0, $f0 +/* C3E818 80240C28 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C2C: +/* C3E81C 80240C2C 24020029 */ addiu $v0, $zero, 0x29 +/* C3E820 80240C30 AE420070 */ sw $v0, 0x70($s2) +.L80240C34: +/* C3E824 80240C34 8FBF001C */ lw $ra, 0x1c($sp) +/* C3E828 80240C38 8FB20018 */ lw $s2, 0x18($sp) +/* C3E82C 80240C3C 8FB10014 */ lw $s1, 0x14($sp) +/* C3E830 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* C3E834 80240C44 03E00008 */ jr $ra +/* C3E838 80240C48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240C4C_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240C4C_C3DBF0.s new file mode 100644 index 0000000000..d721dc9bab --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240C4C_C3DBF0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_C3E83C +/* C3E83C 80240C4C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C3E840 80240C50 AFB3002C */ sw $s3, 0x2c($sp) +/* C3E844 80240C54 0080982D */ daddu $s3, $a0, $zero +/* C3E848 80240C58 AFBF0030 */ sw $ra, 0x30($sp) +/* C3E84C 80240C5C AFB20028 */ sw $s2, 0x28($sp) +/* C3E850 80240C60 AFB10024 */ sw $s1, 0x24($sp) +/* C3E854 80240C64 AFB00020 */ sw $s0, 0x20($sp) +/* C3E858 80240C68 8E720148 */ lw $s2, 0x148($s3) +/* C3E85C 80240C6C 00A0882D */ daddu $s1, $a1, $zero +/* C3E860 80240C70 86440008 */ lh $a0, 8($s2) +/* C3E864 80240C74 0C00EABB */ jal get_npc_unsafe +/* C3E868 80240C78 00C0802D */ daddu $s0, $a2, $zero +/* C3E86C 80240C7C 0200202D */ daddu $a0, $s0, $zero +/* C3E870 80240C80 0240282D */ daddu $a1, $s2, $zero +/* C3E874 80240C84 AFA00010 */ sw $zero, 0x10($sp) +/* C3E878 80240C88 8E260024 */ lw $a2, 0x24($s1) +/* C3E87C 80240C8C 8E270028 */ lw $a3, 0x28($s1) +/* C3E880 80240C90 0C01242D */ jal func_800490B4 +/* C3E884 80240C94 0040802D */ daddu $s0, $v0, $zero +/* C3E888 80240C98 1040000C */ beqz $v0, .L80240CCC +/* C3E88C 80240C9C 00000000 */ nop +/* C3E890 80240CA0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3E894 80240CA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C3E898 80240CA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C3E89C 80240CAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3E8A0 80240CB0 8C460028 */ lw $a2, 0x28($v0) +/* C3E8A4 80240CB4 0C00A720 */ jal atan2 +/* C3E8A8 80240CB8 8C470030 */ lw $a3, 0x30($v0) +/* C3E8AC 80240CBC 2402000C */ addiu $v0, $zero, 0xc +/* C3E8B0 80240CC0 E600000C */ swc1 $f0, 0xc($s0) +/* C3E8B4 80240CC4 0809036A */ j .L80240DA8 +/* C3E8B8 80240CC8 AE620070 */ sw $v0, 0x70($s3) +.L80240CCC: +/* C3E8BC 80240CCC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3E8C0 80240CD0 8E4200D0 */ lw $v0, 0xd0($s2) +/* C3E8C4 80240CD4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3E8C8 80240CD8 C4440000 */ lwc1 $f4, ($v0) +/* C3E8CC 80240CDC 46802120 */ cvt.s.w $f4, $f4 +/* C3E8D0 80240CE0 44062000 */ mfc1 $a2, $f4 +/* C3E8D4 80240CE4 C4440008 */ lwc1 $f4, 8($v0) +/* C3E8D8 80240CE8 46802120 */ cvt.s.w $f4, $f4 +/* C3E8DC 80240CEC 44072000 */ mfc1 $a3, $f4 +/* C3E8E0 80240CF0 0C00A7B5 */ jal dist2D +/* C3E8E4 80240CF4 00000000 */ nop +/* C3E8E8 80240CF8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C3E8EC 80240CFC 4602003E */ c.le.s $f0, $f2 +/* C3E8F0 80240D00 00000000 */ nop +/* C3E8F4 80240D04 4500000B */ bc1f .L80240D34 +/* C3E8F8 80240D08 00000000 */ nop +/* C3E8FC 80240D0C 8E4200CC */ lw $v0, 0xcc($s2) +/* C3E900 80240D10 8C430000 */ lw $v1, ($v0) +/* C3E904 80240D14 2402000F */ addiu $v0, $zero, 0xf +/* C3E908 80240D18 A602008E */ sh $v0, 0x8e($s0) +/* C3E90C 80240D1C 24020032 */ addiu $v0, $zero, 0x32 +/* C3E910 80240D20 AE030028 */ sw $v1, 0x28($s0) +/* C3E914 80240D24 AE420088 */ sw $v0, 0x88($s2) +/* C3E918 80240D28 24020003 */ addiu $v0, $zero, 3 +/* C3E91C 80240D2C 0809036A */ j .L80240DA8 +/* C3E920 80240D30 AE620070 */ sw $v0, 0x70($s3) +.L80240D34: +/* C3E924 80240D34 8602008C */ lh $v0, 0x8c($s0) +/* C3E928 80240D38 1440001B */ bnez $v0, .L80240DA8 +/* C3E92C 80240D3C 0200202D */ daddu $a0, $s0, $zero +/* C3E930 80240D40 27A60018 */ addiu $a2, $sp, 0x18 +/* C3E934 80240D44 3C0540A0 */ lui $a1, 0x40a0 +/* C3E938 80240D48 C600000C */ lwc1 $f0, 0xc($s0) +/* C3E93C 80240D4C 0000382D */ daddu $a3, $zero, $zero +/* C3E940 80240D50 E7A00018 */ swc1 $f0, 0x18($sp) +/* C3E944 80240D54 AFA00010 */ sw $zero, 0x10($sp) +/* C3E948 80240D58 0C0129E1 */ jal func_8004A784 +/* C3E94C 80240D5C AFA00014 */ sw $zero, 0x14($sp) +/* C3E950 80240D60 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C3E954 80240D64 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C3E958 80240D68 E600000C */ swc1 $f0, 0xc($s0) +/* C3E95C 80240D6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* C3E960 80240D70 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C3E964 80240D74 C4440000 */ lwc1 $f4, ($v0) +/* C3E968 80240D78 46802120 */ cvt.s.w $f4, $f4 +/* C3E96C 80240D7C 44062000 */ mfc1 $a2, $f4 +/* C3E970 80240D80 C4440008 */ lwc1 $f4, 8($v0) +/* C3E974 80240D84 46802120 */ cvt.s.w $f4, $f4 +/* C3E978 80240D88 44072000 */ mfc1 $a3, $f4 +/* C3E97C 80240D8C 0C00A720 */ jal atan2 +/* C3E980 80240D90 00000000 */ nop +/* C3E984 80240D94 8E050018 */ lw $a1, 0x18($s0) +/* C3E988 80240D98 44060000 */ mfc1 $a2, $f0 +/* C3E98C 80240D9C 0200202D */ daddu $a0, $s0, $zero +/* C3E990 80240DA0 0C00EA95 */ jal npc_move_heading +/* C3E994 80240DA4 AC86000C */ sw $a2, 0xc($a0) +.L80240DA8: +/* C3E998 80240DA8 8FBF0030 */ lw $ra, 0x30($sp) +/* C3E99C 80240DAC 8FB3002C */ lw $s3, 0x2c($sp) +/* C3E9A0 80240DB0 8FB20028 */ lw $s2, 0x28($sp) +/* C3E9A4 80240DB4 8FB10024 */ lw $s1, 0x24($sp) +/* C3E9A8 80240DB8 8FB00020 */ lw $s0, 0x20($sp) +/* C3E9AC 80240DBC 03E00008 */ jr $ra +/* C3E9B0 80240DC0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240DC4_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240DC4_C3DBF0.s new file mode 100644 index 0000000000..c849bb54ce --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240DC4_C3DBF0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DC4_C3E9B4 +/* C3E9B4 80240DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C3E9B8 80240DC8 AFB00010 */ sw $s0, 0x10($sp) +/* C3E9BC 80240DCC 0080802D */ daddu $s0, $a0, $zero +/* C3E9C0 80240DD0 AFBF0014 */ sw $ra, 0x14($sp) +/* C3E9C4 80240DD4 8E020148 */ lw $v0, 0x148($s0) +/* C3E9C8 80240DD8 0C00EABB */ jal get_npc_unsafe +/* C3E9CC 80240DDC 84440008 */ lh $a0, 8($v0) +/* C3E9D0 80240DE0 0040182D */ daddu $v1, $v0, $zero +/* C3E9D4 80240DE4 8462008C */ lh $v0, 0x8c($v1) +/* C3E9D8 80240DE8 14400009 */ bnez $v0, .L80240E10 +/* C3E9DC 80240DEC 00000000 */ nop +/* C3E9E0 80240DF0 9462008E */ lhu $v0, 0x8e($v1) +/* C3E9E4 80240DF4 2442FFFF */ addiu $v0, $v0, -1 +/* C3E9E8 80240DF8 A462008E */ sh $v0, 0x8e($v1) +/* C3E9EC 80240DFC 00021400 */ sll $v0, $v0, 0x10 +/* C3E9F0 80240E00 1C400003 */ bgtz $v0, .L80240E10 +/* C3E9F4 80240E04 00000000 */ nop +/* C3E9F8 80240E08 A460008E */ sh $zero, 0x8e($v1) +/* C3E9FC 80240E0C AE000070 */ sw $zero, 0x70($s0) +.L80240E10: +/* C3EA00 80240E10 8FBF0014 */ lw $ra, 0x14($sp) +/* C3EA04 80240E14 8FB00010 */ lw $s0, 0x10($sp) +/* C3EA08 80240E18 03E00008 */ jr $ra +/* C3EA0C 80240E1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80240E20_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240E20_C3DBF0.s new file mode 100644 index 0000000000..0ca492763e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80240E20_C3DBF0.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E20_C3EA10 +/* C3EA10 80240E20 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3EA14 80240E24 AFB20038 */ sw $s2, 0x38($sp) +/* C3EA18 80240E28 0080902D */ daddu $s2, $a0, $zero +/* C3EA1C 80240E2C AFBF0048 */ sw $ra, 0x48($sp) +/* C3EA20 80240E30 AFB50044 */ sw $s5, 0x44($sp) +/* C3EA24 80240E34 AFB40040 */ sw $s4, 0x40($sp) +/* C3EA28 80240E38 AFB3003C */ sw $s3, 0x3c($sp) +/* C3EA2C 80240E3C AFB10034 */ sw $s1, 0x34($sp) +/* C3EA30 80240E40 AFB00030 */ sw $s0, 0x30($sp) +/* C3EA34 80240E44 8E510148 */ lw $s1, 0x148($s2) +/* C3EA38 80240E48 86240008 */ lh $a0, 8($s1) +/* C3EA3C 80240E4C 0C00EABB */ jal get_npc_unsafe +/* C3EA40 80240E50 00A0802D */ daddu $s0, $a1, $zero +/* C3EA44 80240E54 8E43000C */ lw $v1, 0xc($s2) +/* C3EA48 80240E58 0240202D */ daddu $a0, $s2, $zero +/* C3EA4C 80240E5C 8C650000 */ lw $a1, ($v1) +/* C3EA50 80240E60 0C0B1EAF */ jal get_variable +/* C3EA54 80240E64 0040A02D */ daddu $s4, $v0, $zero +/* C3EA58 80240E68 AFA00010 */ sw $zero, 0x10($sp) +/* C3EA5C 80240E6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EA60 80240E70 8C630030 */ lw $v1, 0x30($v1) +/* C3EA64 80240E74 AFA30014 */ sw $v1, 0x14($sp) +/* C3EA68 80240E78 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EA6C 80240E7C 8C63001C */ lw $v1, 0x1c($v1) +/* C3EA70 80240E80 AFA30018 */ sw $v1, 0x18($sp) +/* C3EA74 80240E84 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EA78 80240E88 8C630024 */ lw $v1, 0x24($v1) +/* C3EA7C 80240E8C AFA3001C */ sw $v1, 0x1c($sp) +/* C3EA80 80240E90 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EA84 80240E94 8C630028 */ lw $v1, 0x28($v1) +/* C3EA88 80240E98 27B50010 */ addiu $s5, $sp, 0x10 +/* C3EA8C 80240E9C AFA30020 */ sw $v1, 0x20($sp) +/* C3EA90 80240EA0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EA94 80240EA4 3C014220 */ lui $at, 0x4220 +/* C3EA98 80240EA8 44810000 */ mtc1 $at, $f0 +/* C3EA9C 80240EAC 8C63002C */ lw $v1, 0x2c($v1) +/* C3EAA0 80240EB0 0040982D */ daddu $s3, $v0, $zero +/* C3EAA4 80240EB4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3EAA8 80240EB8 A7A0002C */ sh $zero, 0x2c($sp) +/* C3EAAC 80240EBC 16000005 */ bnez $s0, .L80240ED4 +/* C3EAB0 80240EC0 AFA30024 */ sw $v1, 0x24($sp) +/* C3EAB4 80240EC4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EAB8 80240EC8 30420004 */ andi $v0, $v0, 4 +/* C3EABC 80240ECC 10400027 */ beqz $v0, .L80240F6C +/* C3EAC0 80240ED0 00000000 */ nop +.L80240ED4: +/* C3EAC4 80240ED4 2402001E */ addiu $v0, $zero, 0x1e +/* C3EAC8 80240ED8 2404F7FF */ addiu $a0, $zero, -0x801 +/* C3EACC 80240EDC AE400070 */ sw $zero, 0x70($s2) +/* C3EAD0 80240EE0 A682008E */ sh $v0, 0x8e($s4) +/* C3EAD4 80240EE4 8E2300CC */ lw $v1, 0xcc($s1) +/* C3EAD8 80240EE8 8E820000 */ lw $v0, ($s4) +/* C3EADC 80240EEC 8C630028 */ lw $v1, 0x28($v1) +/* C3EAE0 80240EF0 00441024 */ and $v0, $v0, $a0 +/* C3EAE4 80240EF4 AE820000 */ sw $v0, ($s4) +/* C3EAE8 80240EF8 AE830028 */ sw $v1, 0x28($s4) +/* C3EAEC 80240EFC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C3EAF0 80240F00 AE20006C */ sw $zero, 0x6c($s1) +/* C3EAF4 80240F04 8C420034 */ lw $v0, 0x34($v0) +/* C3EAF8 80240F08 14400006 */ bnez $v0, .L80240F24 +/* C3EAFC 80240F0C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C3EB00 80240F10 8E820000 */ lw $v0, ($s4) +/* C3EB04 80240F14 2403FFF7 */ addiu $v1, $zero, -9 +/* C3EB08 80240F18 34420200 */ ori $v0, $v0, 0x200 +/* C3EB0C 80240F1C 080903CC */ j .L80240F30 +/* C3EB10 80240F20 00431024 */ and $v0, $v0, $v1 +.L80240F24: +/* C3EB14 80240F24 8E820000 */ lw $v0, ($s4) +/* C3EB18 80240F28 00431024 */ and $v0, $v0, $v1 +/* C3EB1C 80240F2C 34420008 */ ori $v0, $v0, 8 +.L80240F30: +/* C3EB20 80240F30 AE820000 */ sw $v0, ($s4) +/* C3EB24 80240F34 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EB28 80240F38 30420004 */ andi $v0, $v0, 4 +/* C3EB2C 80240F3C 10400007 */ beqz $v0, .L80240F5C +/* C3EB30 80240F40 24020063 */ addiu $v0, $zero, 0x63 +/* C3EB34 80240F44 AE420070 */ sw $v0, 0x70($s2) +/* C3EB38 80240F48 24020028 */ addiu $v0, $zero, 0x28 +/* C3EB3C 80240F4C AE420074 */ sw $v0, 0x74($s2) +/* C3EB40 80240F50 8E2200CC */ lw $v0, 0xcc($s1) +/* C3EB44 80240F54 8C420000 */ lw $v0, ($v0) +/* C3EB48 80240F58 AE820028 */ sw $v0, 0x28($s4) +.L80240F5C: +/* C3EB4C 80240F5C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EB50 80240F60 2403FFFB */ addiu $v1, $zero, -5 +/* C3EB54 80240F64 00431024 */ and $v0, $v0, $v1 +/* C3EB58 80240F68 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240F6C: +/* C3EB5C 80240F6C 8E420070 */ lw $v0, 0x70($s2) +/* C3EB60 80240F70 2442FFF6 */ addiu $v0, $v0, -0xa +/* C3EB64 80240F74 2C420014 */ sltiu $v0, $v0, 0x14 +/* C3EB68 80240F78 10400009 */ beqz $v0, .L80240FA0 +/* C3EB6C 80240F7C 00000000 */ nop +/* C3EB70 80240F80 8E22006C */ lw $v0, 0x6c($s1) +/* C3EB74 80240F84 14400006 */ bnez $v0, .L80240FA0 +/* C3EB78 80240F88 00000000 */ nop +/* C3EB7C 80240F8C 0C090082 */ jal func_80240208 +/* C3EB80 80240F90 0240202D */ daddu $a0, $s2, $zero +/* C3EB84 80240F94 10400002 */ beqz $v0, .L80240FA0 +/* C3EB88 80240F98 2402001E */ addiu $v0, $zero, 0x1e +/* C3EB8C 80240F9C AE420070 */ sw $v0, 0x70($s2) +.L80240FA0: +/* C3EB90 80240FA0 8E430070 */ lw $v1, 0x70($s2) +/* C3EB94 80240FA4 2C620064 */ sltiu $v0, $v1, 0x64 +/* C3EB98 80240FA8 10400067 */ beqz $v0, .L80241148 +/* C3EB9C 80240FAC 00031080 */ sll $v0, $v1, 2 +/* C3EBA0 80240FB0 3C018024 */ lui $at, 0x8024 +/* C3EBA4 80240FB4 00220821 */ addu $at, $at, $v0 +/* C3EBA8 80240FB8 8C221EA0 */ lw $v0, 0x1ea0($at) +/* C3EBAC 80240FBC 00400008 */ jr $v0 +/* C3EBB0 80240FC0 00000000 */ nop +/* C3EBB4 80240FC4 0240202D */ daddu $a0, $s2, $zero +/* C3EBB8 80240FC8 0260282D */ daddu $a1, $s3, $zero +/* C3EBBC 80240FCC 0C090187 */ jal func_8024061C +/* C3EBC0 80240FD0 02A0302D */ daddu $a2, $s5, $zero +/* C3EBC4 80240FD4 08090452 */ j .L80241148 +/* C3EBC8 80240FD8 00000000 */ nop +/* C3EBCC 80240FDC 0240202D */ daddu $a0, $s2, $zero +/* C3EBD0 80240FE0 0260282D */ daddu $a1, $s3, $zero +/* C3EBD4 80240FE4 0C0901A9 */ jal func_802406A4 +/* C3EBD8 80240FE8 02A0302D */ daddu $a2, $s5, $zero +/* C3EBDC 80240FEC 08090452 */ j .L80241148 +/* C3EBE0 80240FF0 00000000 */ nop +/* C3EBE4 80240FF4 0240202D */ daddu $a0, $s2, $zero +/* C3EBE8 80240FF8 0260282D */ daddu $a1, $s3, $zero +/* C3EBEC 80240FFC 0C090257 */ jal func_8024095C +/* C3EBF0 80241000 02A0302D */ daddu $a2, $s5, $zero +/* C3EBF4 80241004 08090452 */ j .L80241148 +/* C3EBF8 80241008 00000000 */ nop +/* C3EBFC 8024100C 0240202D */ daddu $a0, $s2, $zero +/* C3EC00 80241010 0260282D */ daddu $a1, $s3, $zero +/* C3EC04 80241014 0C090270 */ jal func_802409C0 +/* C3EC08 80241018 02A0302D */ daddu $a2, $s5, $zero +/* C3EC0C 8024101C 08090452 */ j .L80241148 +/* C3EC10 80241020 00000000 */ nop +/* C3EC14 80241024 0240202D */ daddu $a0, $s2, $zero +/* C3EC18 80241028 0260282D */ daddu $a1, $s3, $zero +/* C3EC1C 8024102C 0C09029A */ jal func_80240A68 +/* C3EC20 80241030 02A0302D */ daddu $a2, $s5, $zero +/* C3EC24 80241034 08090452 */ j .L80241148 +/* C3EC28 80241038 00000000 */ nop +/* C3EC2C 8024103C 0240202D */ daddu $a0, $s2, $zero +/* C3EC30 80241040 0260282D */ daddu $a1, $s3, $zero +/* C3EC34 80241044 0C0127DF */ jal func_80049F7C +/* C3EC38 80241048 02A0302D */ daddu $a2, $s5, $zero +/* C3EC3C 8024104C 8E430070 */ lw $v1, 0x70($s2) +/* C3EC40 80241050 2402000D */ addiu $v0, $zero, 0xd +/* C3EC44 80241054 1462003C */ bne $v1, $v0, .L80241148 +/* C3EC48 80241058 00000000 */ nop +/* C3EC4C 8024105C 0240202D */ daddu $a0, $s2, $zero +/* C3EC50 80241060 0260282D */ daddu $a1, $s3, $zero +/* C3EC54 80241064 0C012849 */ jal func_8004A124 +/* C3EC58 80241068 02A0302D */ daddu $a2, $s5, $zero +/* C3EC5C 8024106C 08090452 */ j .L80241148 +/* C3EC60 80241070 00000000 */ nop +/* C3EC64 80241074 0240202D */ daddu $a0, $s2, $zero +/* C3EC68 80241078 0260282D */ daddu $a1, $s3, $zero +/* C3EC6C 8024107C 0C0128FA */ jal func_8004A3E8 +/* C3EC70 80241080 02A0302D */ daddu $a2, $s5, $zero +/* C3EC74 80241084 2402000F */ addiu $v0, $zero, 0xf +/* C3EC78 80241088 A682008E */ sh $v0, 0x8e($s4) +/* C3EC7C 8024108C 24020028 */ addiu $v0, $zero, 0x28 +/* C3EC80 80241090 AE220088 */ sw $v0, 0x88($s1) +/* C3EC84 80241094 24020003 */ addiu $v0, $zero, 3 +/* C3EC88 80241098 08090452 */ j .L80241148 +/* C3EC8C 8024109C AE420070 */ sw $v0, 0x70($s2) +/* C3EC90 802410A0 0C090000 */ jal func_80240000 +/* C3EC94 802410A4 0240202D */ daddu $a0, $s2, $zero +/* C3EC98 802410A8 8E430070 */ lw $v1, 0x70($s2) +/* C3EC9C 802410AC 2402001F */ addiu $v0, $zero, 0x1f +/* C3ECA0 802410B0 14620025 */ bne $v1, $v0, .L80241148 +/* C3ECA4 802410B4 00000000 */ nop +/* C3ECA8 802410B8 0C09001B */ jal func_8024006C +/* C3ECAC 802410BC 0240202D */ daddu $a0, $s2, $zero +/* C3ECB0 802410C0 8E430070 */ lw $v1, 0x70($s2) +/* C3ECB4 802410C4 24020020 */ addiu $v0, $zero, 0x20 +/* C3ECB8 802410C8 1462001F */ bne $v1, $v0, .L80241148 +/* C3ECBC 802410CC 00000000 */ nop +/* C3ECC0 802410D0 0C090037 */ jal func_802400DC +/* C3ECC4 802410D4 0240202D */ daddu $a0, $s2, $zero +/* C3ECC8 802410D8 08090452 */ j .L80241148 +/* C3ECCC 802410DC 00000000 */ nop +/* C3ECD0 802410E0 0C09006D */ jal func_802401B4 +/* C3ECD4 802410E4 0240202D */ daddu $a0, $s2, $zero +/* C3ECD8 802410E8 08090452 */ j .L80241148 +/* C3ECDC 802410EC 00000000 */ nop +/* C3ECE0 802410F0 0240202D */ daddu $a0, $s2, $zero +/* C3ECE4 802410F4 0260282D */ daddu $a1, $s3, $zero +/* C3ECE8 802410F8 0C0902E8 */ jal func_80240BA0 +/* C3ECEC 802410FC 02A0302D */ daddu $a2, $s5, $zero +/* C3ECF0 80241100 8E430070 */ lw $v1, 0x70($s2) +/* C3ECF4 80241104 24020029 */ addiu $v0, $zero, 0x29 +/* C3ECF8 80241108 1462000F */ bne $v1, $v0, .L80241148 +/* C3ECFC 8024110C 00000000 */ nop +/* C3ED00 80241110 0240202D */ daddu $a0, $s2, $zero +/* C3ED04 80241114 0260282D */ daddu $a1, $s3, $zero +/* C3ED08 80241118 0C090313 */ jal func_80240C4C +/* C3ED0C 8024111C 02A0302D */ daddu $a2, $s5, $zero +/* C3ED10 80241120 08090452 */ j .L80241148 +/* C3ED14 80241124 00000000 */ nop +/* C3ED18 80241128 0240202D */ daddu $a0, $s2, $zero +/* C3ED1C 8024112C 0260282D */ daddu $a1, $s3, $zero +/* C3ED20 80241130 0C090371 */ jal func_80240DC4 +/* C3ED24 80241134 02A0302D */ daddu $a2, $s5, $zero +/* C3ED28 80241138 08090452 */ j .L80241148 +/* C3ED2C 8024113C 00000000 */ nop +/* C3ED30 80241140 0C0129CF */ jal func_8004A73C +/* C3ED34 80241144 0240202D */ daddu $a0, $s2, $zero +.L80241148: +/* C3ED38 80241148 8FBF0048 */ lw $ra, 0x48($sp) +/* C3ED3C 8024114C 8FB50044 */ lw $s5, 0x44($sp) +/* C3ED40 80241150 8FB40040 */ lw $s4, 0x40($sp) +/* C3ED44 80241154 8FB3003C */ lw $s3, 0x3c($sp) +/* C3ED48 80241158 8FB20038 */ lw $s2, 0x38($sp) +/* C3ED4C 8024115C 8FB10034 */ lw $s1, 0x34($sp) +/* C3ED50 80241160 8FB00030 */ lw $s0, 0x30($sp) +/* C3ED54 80241164 0000102D */ daddu $v0, $zero, $zero +/* C3ED58 80241168 03E00008 */ jr $ra +/* C3ED5C 8024116C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/func_80241170_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/func_80241170_C3DBF0.s new file mode 100644 index 0000000000..60cfb6cd40 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/func_80241170_C3DBF0.s @@ -0,0 +1,187 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170_C3ED60 +/* C3ED60 80241170 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C3ED64 80241174 AFB20038 */ sw $s2, 0x38($sp) +/* C3ED68 80241178 0080902D */ daddu $s2, $a0, $zero +/* C3ED6C 8024117C AFBF0048 */ sw $ra, 0x48($sp) +/* C3ED70 80241180 AFB50044 */ sw $s5, 0x44($sp) +/* C3ED74 80241184 AFB40040 */ sw $s4, 0x40($sp) +/* C3ED78 80241188 AFB3003C */ sw $s3, 0x3c($sp) +/* C3ED7C 8024118C AFB10034 */ sw $s1, 0x34($sp) +/* C3ED80 80241190 AFB00030 */ sw $s0, 0x30($sp) +/* C3ED84 80241194 8E510148 */ lw $s1, 0x148($s2) +/* C3ED88 80241198 86240008 */ lh $a0, 8($s1) +/* C3ED8C 8024119C 0C00EABB */ jal get_npc_unsafe +/* C3ED90 802411A0 00A0802D */ daddu $s0, $a1, $zero +/* C3ED94 802411A4 8E43000C */ lw $v1, 0xc($s2) +/* C3ED98 802411A8 0240202D */ daddu $a0, $s2, $zero +/* C3ED9C 802411AC 8C650000 */ lw $a1, ($v1) +/* C3EDA0 802411B0 0C0B1EAF */ jal get_variable +/* C3EDA4 802411B4 0040A82D */ daddu $s5, $v0, $zero +/* C3EDA8 802411B8 AFA00010 */ sw $zero, 0x10($sp) +/* C3EDAC 802411BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EDB0 802411C0 8C630030 */ lw $v1, 0x30($v1) +/* C3EDB4 802411C4 AFA30014 */ sw $v1, 0x14($sp) +/* C3EDB8 802411C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EDBC 802411CC 8C63001C */ lw $v1, 0x1c($v1) +/* C3EDC0 802411D0 AFA30018 */ sw $v1, 0x18($sp) +/* C3EDC4 802411D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EDC8 802411D8 8C630024 */ lw $v1, 0x24($v1) +/* C3EDCC 802411DC AFA3001C */ sw $v1, 0x1c($sp) +/* C3EDD0 802411E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EDD4 802411E4 8C630028 */ lw $v1, 0x28($v1) +/* C3EDD8 802411E8 27B40010 */ addiu $s4, $sp, 0x10 +/* C3EDDC 802411EC AFA30020 */ sw $v1, 0x20($sp) +/* C3EDE0 802411F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C3EDE4 802411F4 3C014282 */ lui $at, 0x4282 +/* C3EDE8 802411F8 44810000 */ mtc1 $at, $f0 +/* C3EDEC 802411FC 8C63002C */ lw $v1, 0x2c($v1) +/* C3EDF0 80241200 0040982D */ daddu $s3, $v0, $zero +/* C3EDF4 80241204 E7A00028 */ swc1 $f0, 0x28($sp) +/* C3EDF8 80241208 A7A0002C */ sh $zero, 0x2c($sp) +/* C3EDFC 8024120C 16000005 */ bnez $s0, .L80241224 +/* C3EE00 80241210 AFA30024 */ sw $v1, 0x24($sp) +/* C3EE04 80241214 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EE08 80241218 30420004 */ andi $v0, $v0, 4 +/* C3EE0C 8024121C 10400020 */ beqz $v0, .L802412A0 +/* C3EE10 80241220 00000000 */ nop +.L80241224: +/* C3EE14 80241224 2404F7FF */ addiu $a0, $zero, -0x801 +/* C3EE18 80241228 AE400070 */ sw $zero, 0x70($s2) +/* C3EE1C 8024122C A6A0008E */ sh $zero, 0x8e($s5) +/* C3EE20 80241230 8E2200CC */ lw $v0, 0xcc($s1) +/* C3EE24 80241234 8EA30000 */ lw $v1, ($s5) +/* C3EE28 80241238 8C420000 */ lw $v0, ($v0) +/* C3EE2C 8024123C 00641824 */ and $v1, $v1, $a0 +/* C3EE30 80241240 AEA30000 */ sw $v1, ($s5) +/* C3EE34 80241244 AEA20028 */ sw $v0, 0x28($s5) +/* C3EE38 80241248 8E2200D0 */ lw $v0, 0xd0($s1) +/* C3EE3C 8024124C 8C420034 */ lw $v0, 0x34($v0) +/* C3EE40 80241250 54400005 */ bnel $v0, $zero, .L80241268 +/* C3EE44 80241254 2402FDFF */ addiu $v0, $zero, -0x201 +/* C3EE48 80241258 34620200 */ ori $v0, $v1, 0x200 +/* C3EE4C 8024125C 2403FFF7 */ addiu $v1, $zero, -9 +/* C3EE50 80241260 0809049C */ j .L80241270 +/* C3EE54 80241264 00431024 */ and $v0, $v0, $v1 +.L80241268: +/* C3EE58 80241268 00621024 */ and $v0, $v1, $v0 +/* C3EE5C 8024126C 34420008 */ ori $v0, $v0, 8 +.L80241270: +/* C3EE60 80241270 AEA20000 */ sw $v0, ($s5) +/* C3EE64 80241274 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EE68 80241278 30420004 */ andi $v0, $v0, 4 +/* C3EE6C 8024127C 10400007 */ beqz $v0, .L8024129C +/* C3EE70 80241280 24020063 */ addiu $v0, $zero, 0x63 +/* C3EE74 80241284 AE420070 */ sw $v0, 0x70($s2) +/* C3EE78 80241288 AE400074 */ sw $zero, 0x74($s2) +/* C3EE7C 8024128C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3EE80 80241290 2403FFFB */ addiu $v1, $zero, -5 +/* C3EE84 80241294 00431024 */ and $v0, $v0, $v1 +/* C3EE88 80241298 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024129C: +/* C3EE8C 8024129C AE20006C */ sw $zero, 0x6c($s1) +.L802412A0: +/* C3EE90 802412A0 8E420070 */ lw $v0, 0x70($s2) +/* C3EE94 802412A4 2842001E */ slti $v0, $v0, 0x1e +/* C3EE98 802412A8 10400009 */ beqz $v0, .L802412D0 +/* C3EE9C 802412AC 00000000 */ nop +/* C3EEA0 802412B0 8E22006C */ lw $v0, 0x6c($s1) +/* C3EEA4 802412B4 14400006 */ bnez $v0, .L802412D0 +/* C3EEA8 802412B8 00000000 */ nop +/* C3EEAC 802412BC 0C090082 */ jal func_80240208 +/* C3EEB0 802412C0 0240202D */ daddu $a0, $s2, $zero +/* C3EEB4 802412C4 10400002 */ beqz $v0, .L802412D0 +/* C3EEB8 802412C8 2402001E */ addiu $v0, $zero, 0x1e +/* C3EEBC 802412CC AE420070 */ sw $v0, 0x70($s2) +.L802412D0: +/* C3EEC0 802412D0 8E430070 */ lw $v1, 0x70($s2) +/* C3EEC4 802412D4 2C620064 */ sltiu $v0, $v1, 0x64 +/* C3EEC8 802412D8 10400048 */ beqz $v0, .L802413FC +/* C3EECC 802412DC 00031080 */ sll $v0, $v1, 2 +/* C3EED0 802412E0 3C018024 */ lui $at, 0x8024 +/* C3EED4 802412E4 00220821 */ addu $at, $at, $v0 +/* C3EED8 802412E8 8C222030 */ lw $v0, 0x2030($at) +/* C3EEDC 802412EC 00400008 */ jr $v0 +/* C3EEE0 802412F0 00000000 */ nop +/* C3EEE4 802412F4 0240202D */ daddu $a0, $s2, $zero +/* C3EEE8 802412F8 0260282D */ daddu $a1, $s3, $zero +/* C3EEEC 802412FC 0C012568 */ jal func_800495A0 +/* C3EEF0 80241300 0280302D */ daddu $a2, $s4, $zero +/* C3EEF4 80241304 0240202D */ daddu $a0, $s2, $zero +/* C3EEF8 80241308 0260282D */ daddu $a1, $s3, $zero +/* C3EEFC 8024130C 0C0125AE */ jal func_800496B8 +/* C3EF00 80241310 0280302D */ daddu $a2, $s4, $zero +/* C3EF04 80241314 080904FF */ j .L802413FC +/* C3EF08 80241318 00000000 */ nop +/* C3EF0C 8024131C 0240202D */ daddu $a0, $s2, $zero +/* C3EF10 80241320 0260282D */ daddu $a1, $s3, $zero +/* C3EF14 80241324 0C0126D1 */ jal func_80049B44 +/* C3EF18 80241328 0280302D */ daddu $a2, $s4, $zero +/* C3EF1C 8024132C 0240202D */ daddu $a0, $s2, $zero +/* C3EF20 80241330 0260282D */ daddu $a1, $s3, $zero +/* C3EF24 80241334 0C012701 */ jal func_80049C04 +/* C3EF28 80241338 0280302D */ daddu $a2, $s4, $zero +/* C3EF2C 8024133C 080904FF */ j .L802413FC +/* C3EF30 80241340 00000000 */ nop +/* C3EF34 80241344 0240202D */ daddu $a0, $s2, $zero +/* C3EF38 80241348 0260282D */ daddu $a1, $s3, $zero +/* C3EF3C 8024134C 0C01278F */ jal func_80049E3C +/* C3EF40 80241350 0280302D */ daddu $a2, $s4, $zero +/* C3EF44 80241354 0240202D */ daddu $a0, $s2, $zero +/* C3EF48 80241358 0260282D */ daddu $a1, $s3, $zero +/* C3EF4C 8024135C 0C0127B3 */ jal func_80049ECC +/* C3EF50 80241360 0280302D */ daddu $a2, $s4, $zero +/* C3EF54 80241364 080904FF */ j .L802413FC +/* C3EF58 80241368 00000000 */ nop +/* C3EF5C 8024136C 0240202D */ daddu $a0, $s2, $zero +/* C3EF60 80241370 0260282D */ daddu $a1, $s3, $zero +/* C3EF64 80241374 0C0127DF */ jal func_80049F7C +/* C3EF68 80241378 0280302D */ daddu $a2, $s4, $zero +/* C3EF6C 8024137C 0240202D */ daddu $a0, $s2, $zero +/* C3EF70 80241380 0260282D */ daddu $a1, $s3, $zero +/* C3EF74 80241384 0C012849 */ jal func_8004A124 +/* C3EF78 80241388 0280302D */ daddu $a2, $s4, $zero +/* C3EF7C 8024138C 080904FF */ j .L802413FC +/* C3EF80 80241390 00000000 */ nop +/* C3EF84 80241394 0240202D */ daddu $a0, $s2, $zero +/* C3EF88 80241398 0260282D */ daddu $a1, $s3, $zero +/* C3EF8C 8024139C 0C0128FA */ jal func_8004A3E8 +/* C3EF90 802413A0 0280302D */ daddu $a2, $s4, $zero +/* C3EF94 802413A4 080904FF */ j .L802413FC +/* C3EF98 802413A8 00000000 */ nop +/* C3EF9C 802413AC 0C090000 */ jal func_80240000 +/* C3EFA0 802413B0 0240202D */ daddu $a0, $s2, $zero +/* C3EFA4 802413B4 0C09001B */ jal func_8024006C +/* C3EFA8 802413B8 0240202D */ daddu $a0, $s2, $zero +/* C3EFAC 802413BC 8E430070 */ lw $v1, 0x70($s2) +/* C3EFB0 802413C0 24020020 */ addiu $v0, $zero, 0x20 +/* C3EFB4 802413C4 1462000D */ bne $v1, $v0, .L802413FC +/* C3EFB8 802413C8 00000000 */ nop +/* C3EFBC 802413CC 0C090037 */ jal func_802400DC +/* C3EFC0 802413D0 0240202D */ daddu $a0, $s2, $zero +/* C3EFC4 802413D4 8E430070 */ lw $v1, 0x70($s2) +/* C3EFC8 802413D8 24020021 */ addiu $v0, $zero, 0x21 +/* C3EFCC 802413DC 14620007 */ bne $v1, $v0, .L802413FC +/* C3EFD0 802413E0 00000000 */ nop +/* C3EFD4 802413E4 0C09006D */ jal func_802401B4 +/* C3EFD8 802413E8 0240202D */ daddu $a0, $s2, $zero +/* C3EFDC 802413EC 080904FF */ j .L802413FC +/* C3EFE0 802413F0 00000000 */ nop +/* C3EFE4 802413F4 0C0129CF */ jal func_8004A73C +/* C3EFE8 802413F8 0240202D */ daddu $a0, $s2, $zero +.L802413FC: +/* C3EFEC 802413FC 8FBF0048 */ lw $ra, 0x48($sp) +/* C3EFF0 80241400 8FB50044 */ lw $s5, 0x44($sp) +/* C3EFF4 80241404 8FB40040 */ lw $s4, 0x40($sp) +/* C3EFF8 80241408 8FB3003C */ lw $s3, 0x3c($sp) +/* C3EFFC 8024140C 8FB20038 */ lw $s2, 0x38($sp) +/* C3F000 80241410 8FB10034 */ lw $s1, 0x34($sp) +/* C3F004 80241414 8FB00030 */ lw $s0, 0x30($sp) +/* C3F008 80241418 0000102D */ daddu $v0, $zero, $zero +/* C3F00C 8024141C 03E00008 */ jr $ra +/* C3F010 80241420 27BD0050 */ addiu $sp, $sp, 0x50 +/* C3F014 80241424 00000000 */ nop +/* C3F018 80241428 00000000 */ nop +/* C3F01C 8024142C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_07/update_starpoints_display_C3DBF0.s b/asm/nonmatchings/world/area_dgb/dgb_07/update_starpoints_display_C3DBF0.s new file mode 100644 index 0000000000..4388e72948 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_07/update_starpoints_display_C3DBF0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_C3DFAC +/* C3DFAC 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C3DFB0 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* C3DFB4 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* C3DFB8 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* C3DFBC 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* C3DFC0 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* C3DFC4 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* C3DFC8 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* C3DFCC 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* C3DFD0 802403E0 86240008 */ lh $a0, 8($s1) +/* C3DFD4 802403E4 0C00EABB */ jal get_npc_unsafe +/* C3DFD8 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* C3DFDC 802403EC 16000005 */ bnez $s0, .L80240404 +/* C3DFE0 802403F0 0040902D */ daddu $s2, $v0, $zero +/* C3DFE4 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C3DFE8 802403F8 30420004 */ andi $v0, $v0, 4 +/* C3DFEC 802403FC 10400015 */ beqz $v0, .L80240454 +/* C3DFF0 80240400 00000000 */ nop +.L80240404: +/* C3DFF4 80240404 AE800070 */ sw $zero, 0x70($s4) +/* C3DFF8 80240408 8E420000 */ lw $v0, ($s2) +/* C3DFFC 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* C3E000 80240410 A640008E */ sh $zero, 0x8e($s2) +/* C3E004 80240414 34420102 */ ori $v0, $v0, 0x102 +/* C3E008 80240418 AE420000 */ sw $v0, ($s2) +/* C3E00C 8024041C 8E220000 */ lw $v0, ($s1) +/* C3E010 80240420 3C01C47A */ lui $at, 0xc47a +/* C3E014 80240424 44810000 */ mtc1 $at, $f0 +/* C3E018 80240428 00431025 */ or $v0, $v0, $v1 +/* C3E01C 8024042C AE220000 */ sw $v0, ($s1) +/* C3E020 80240430 AE400038 */ sw $zero, 0x38($s2) +/* C3E024 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* C3E028 80240438 AE400040 */ sw $zero, 0x40($s2) +/* C3E02C 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C3E030 80240440 30620004 */ andi $v0, $v1, 4 +/* C3E034 80240444 10400003 */ beqz $v0, .L80240454 +/* C3E038 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* C3E03C 8024044C 00621024 */ and $v0, $v1, $v0 +/* C3E040 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* C3E044 80240454 8E930070 */ lw $s3, 0x70($s4) +/* C3E048 80240458 12600005 */ beqz $s3, .L80240470 +/* C3E04C 8024045C 24020001 */ addiu $v0, $zero, 1 +/* C3E050 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* C3E054 80240464 00000000 */ nop +/* C3E058 80240468 0809017E */ j .L802405F8 +/* C3E05C 8024046C 00000000 */ nop +.L80240470: +/* C3E060 80240470 86240008 */ lh $a0, 8($s1) +/* C3E064 80240474 0C00FB3A */ jal get_enemy +/* C3E068 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* C3E06C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* C3E070 80240480 0C00EABB */ jal get_npc_unsafe +/* C3E074 80240484 86040008 */ lh $a0, 8($s0) +/* C3E078 80240488 24030001 */ addiu $v1, $zero, 1 +/* C3E07C 8024048C 0040982D */ daddu $s3, $v0, $zero +/* C3E080 80240490 A2230007 */ sb $v1, 7($s1) +/* C3E084 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* C3E088 80240498 24020003 */ addiu $v0, $zero, 3 +/* C3E08C 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* C3E090 802404A0 00000000 */ nop +/* C3E094 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C3E098 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* C3E09C 802404AC 0260202D */ daddu $a0, $s3, $zero +/* C3E0A0 802404B0 0C012530 */ jal func_800494C0 +/* C3E0A4 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* C3E0A8 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* C3E0AC 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* C3E0B0 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* C3E0B4 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C3E0B8 802404C8 3C014387 */ lui $at, 0x4387 +/* C3E0BC 802404CC 44810000 */ mtc1 $at, $f0 +/* C3E0C0 802404D0 44064000 */ mfc1 $a2, $f8 +/* C3E0C4 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* C3E0C8 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C3E0CC 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* C3E0D0 802404E0 44070000 */ mfc1 $a3, $f0 +/* C3E0D4 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* C3E0D8 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C3E0DC 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* C3E0E0 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* C3E0E4 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C3E0E8 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* C3E0EC 802404FC 44024000 */ mfc1 $v0, $f8 +/* C3E0F0 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* C3E0F4 80240504 A6220010 */ sh $v0, 0x10($s1) +/* C3E0F8 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* C3E0FC 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* C3E100 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* C3E104 80240514 46020000 */ add.s $f0, $f0, $f2 +/* C3E108 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C3E10C 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C3E110 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* C3E114 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C3E118 80240528 4600020D */ trunc.w.s $f8, $f0 +/* C3E11C 8024052C 44024000 */ mfc1 $v0, $f8 +/* C3E120 80240530 00000000 */ nop +/* C3E124 80240534 A6220012 */ sh $v0, 0x12($s1) +/* C3E128 80240538 4600120D */ trunc.w.s $f8, $f2 +/* C3E12C 8024053C 44024000 */ mfc1 $v0, $f8 +/* C3E130 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* C3E134 80240544 A6220014 */ sh $v0, 0x14($s1) +/* C3E138 80240548 8C660028 */ lw $a2, 0x28($v1) +/* C3E13C 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* C3E140 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C3E144 80240554 0C00A720 */ jal atan2 +/* C3E148 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C3E14C 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* C3E150 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* C3E154 80240564 8E220000 */ lw $v0, ($s1) +/* C3E158 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* C3E15C 8024056C 00431024 */ and $v0, $v0, $v1 +/* C3E160 80240570 AE220000 */ sw $v0, ($s1) +/* C3E164 80240574 24020001 */ addiu $v0, $zero, 1 +/* C3E168 80240578 A640008E */ sh $zero, 0x8e($s2) +/* C3E16C 8024057C 0809017E */ j .L802405F8 +/* C3E170 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* C3E174 80240584 86240008 */ lh $a0, 8($s1) +/* C3E178 80240588 0C00FB3A */ jal get_enemy +/* C3E17C 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* C3E180 80240590 0040802D */ daddu $s0, $v0, $zero +/* C3E184 80240594 0C00EABB */ jal get_npc_unsafe +/* C3E188 80240598 86040008 */ lh $a0, 8($s0) +/* C3E18C 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* C3E190 802405A0 24420001 */ addiu $v0, $v0, 1 +/* C3E194 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* C3E198 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* C3E19C 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* C3E1A0 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* C3E1A4 802405B4 0043102A */ slt $v0, $v0, $v1 +/* C3E1A8 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* C3E1AC 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* C3E1B0 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* C3E1B4 802405C4 24020004 */ addiu $v0, $zero, 4 +/* C3E1B8 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* C3E1BC 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* C3E1C0 802405D0 8E230000 */ lw $v1, ($s1) +/* C3E1C4 802405D4 3C01C47A */ lui $at, 0xc47a +/* C3E1C8 802405D8 44810000 */ mtc1 $at, $f0 +/* C3E1CC 802405DC 00621825 */ or $v1, $v1, $v0 +/* C3E1D0 802405E0 AE230000 */ sw $v1, ($s1) +/* C3E1D4 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* C3E1D8 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* C3E1DC 802405EC AE400040 */ sw $zero, 0x40($s2) +/* C3E1E0 802405F0 A2330007 */ sb $s3, 7($s1) +/* C3E1E4 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* C3E1E8 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* C3E1EC 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* C3E1F0 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* C3E1F4 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* C3E1F8 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* C3E1FC 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* C3E200 80240610 0000102D */ daddu $v0, $zero, $zero +/* C3E204 80240614 03E00008 */ jr $ra +/* C3E208 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240000_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240000_C3FDB0.s new file mode 100644 index 0000000000..dae09ffee4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240000_C3FDB0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C3FDB0 +/* C3FDB0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C3FDB4 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* C3FDB8 80240008 0080A82D */ daddu $s5, $a0, $zero +/* C3FDBC 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* C3FDC0 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* C3FDC4 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* C3FDC8 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* C3FDCC 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* C3FDD0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* C3FDD4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* C3FDD8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C3FDDC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* C3FDE0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C3FDE4 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* C3FDE8 80240038 86640008 */ lh $a0, 8($s3) +/* C3FDEC 8024003C 0C00EABB */ jal get_npc_unsafe +/* C3FDF0 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* C3FDF4 80240044 0040A02D */ daddu $s4, $v0, $zero +/* C3FDF8 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* C3FDFC 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* C3FE00 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* C3FE04 80240054 0000902D */ daddu $s2, $zero, $zero +/* C3FE08 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* C3FE0C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C3FE10 80240060 8C620000 */ lw $v0, ($v1) +/* C3FE14 80240064 3C0146FF */ lui $at, 0x46ff +/* C3FE18 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* C3FE1C 8024006C 4481A000 */ mtc1 $at, $f20 +/* C3FE20 80240070 18400018 */ blez $v0, .L802400D4 +/* C3FE24 80240074 0240802D */ daddu $s0, $s2, $zero +/* C3FE28 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* C3FE2C 8024007C 02231021 */ addu $v0, $s1, $v1 +/* C3FE30 80240080 4600C306 */ mov.s $f12, $f24 +/* C3FE34 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* C3FE38 80240088 46802120 */ cvt.s.w $f4, $f4 +/* C3FE3C 8024008C 44062000 */ mfc1 $a2, $f4 +/* C3FE40 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* C3FE44 80240094 46802120 */ cvt.s.w $f4, $f4 +/* C3FE48 80240098 44072000 */ mfc1 $a3, $f4 +/* C3FE4C 8024009C 0C00A7B5 */ jal dist2D +/* C3FE50 802400A0 4600B386 */ mov.s $f14, $f22 +/* C3FE54 802400A4 4614003C */ c.lt.s $f0, $f20 +/* C3FE58 802400A8 00000000 */ nop +/* C3FE5C 802400AC 45000003 */ bc1f .L802400BC +/* C3FE60 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* C3FE64 802400B4 46000506 */ mov.s $f20, $f0 +/* C3FE68 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* C3FE6C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* C3FE70 802400C0 26100001 */ addiu $s0, $s0, 1 +/* C3FE74 802400C4 8C620000 */ lw $v0, ($v1) +/* C3FE78 802400C8 0202102A */ slt $v0, $s0, $v0 +/* C3FE7C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* C3FE80 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* C3FE84 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* C3FE88 802400D8 8C420004 */ lw $v0, 4($v0) +/* C3FE8C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* C3FE90 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* C3FE94 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* C3FE98 802400E8 04410004 */ bgez $v0, .L802400FC +/* C3FE9C 802400EC 00000000 */ nop +/* C3FEA0 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* C3FEA4 802400F4 08090047 */ j .L8024011C +/* C3FEA8 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* C3FEAC 802400FC 3C018024 */ lui $at, 0x8024 +/* C3FEB0 80240100 D4226A00 */ ldc1 $f2, 0x6a00($at) +/* C3FEB4 80240104 44820000 */ mtc1 $v0, $f0 +/* C3FEB8 80240108 00000000 */ nop +/* C3FEBC 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* C3FEC0 80240110 46220003 */ div.d $f0, $f0, $f2 +/* C3FEC4 80240114 46200020 */ cvt.s.d $f0, $f0 +/* C3FEC8 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* C3FECC 8024011C 24020001 */ addiu $v0, $zero, 1 +/* C3FED0 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* C3FED4 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* C3FED8 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* C3FEDC 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* C3FEE0 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* C3FEE4 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* C3FEE8 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* C3FEEC 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* C3FEF0 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* C3FEF4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C3FEF8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C3FEFC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C3FF00 80240150 03E00008 */ jr $ra +/* C3FF04 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240158_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240158_C3FDB0.s new file mode 100644 index 0000000000..e44fa74a8a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240158_C3FDB0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_C3FF08 +/* C3FF08 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C3FF0C 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* C3FF10 80240160 0080902D */ daddu $s2, $a0, $zero +/* C3FF14 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* C3FF18 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* C3FF1C 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* C3FF20 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* C3FF24 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* C3FF28 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C3FF2C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* C3FF30 80240180 8E510148 */ lw $s1, 0x148($s2) +/* C3FF34 80240184 00A0982D */ daddu $s3, $a1, $zero +/* C3FF38 80240188 86240008 */ lh $a0, 8($s1) +/* C3FF3C 8024018C 0C00EABB */ jal get_npc_unsafe +/* C3FF40 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* C3FF44 80240194 8E630014 */ lw $v1, 0x14($s3) +/* C3FF48 80240198 04600030 */ bltz $v1, .L8024025C +/* C3FF4C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* C3FF50 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* C3FF54 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* C3FF58 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* C3FF5C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* C3FF60 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* C3FF64 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* C3FF68 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* C3FF6C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* C3FF70 802401C0 0C01242D */ jal func_800490B4 +/* C3FF74 802401C4 0220282D */ daddu $a1, $s1, $zero +/* C3FF78 802401C8 10400021 */ beqz $v0, .L80240250 +/* C3FF7C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* C3FF80 802401D0 0200282D */ daddu $a1, $s0, $zero +/* C3FF84 802401D4 0000302D */ daddu $a2, $zero, $zero +/* C3FF88 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* C3FF8C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* C3FF90 802401E0 44810000 */ mtc1 $at, $f0 +/* C3FF94 802401E4 3C014000 */ lui $at, 0x4000 +/* C3FF98 802401E8 44811000 */ mtc1 $at, $f2 +/* C3FF9C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* C3FFA0 802401F0 44812000 */ mtc1 $at, $f4 +/* C3FFA4 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* C3FFA8 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* C3FFAC 802401FC 44833000 */ mtc1 $v1, $f6 +/* C3FFB0 80240200 00000000 */ nop +/* C3FFB4 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* C3FFB8 80240208 44073000 */ mfc1 $a3, $f6 +/* C3FFBC 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* C3FFC0 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* C3FFC4 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* C3FFC8 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* C3FFCC 8024021C 0C01BFA4 */ jal fx_emote +/* C3FFD0 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* C3FFD4 80240224 0200202D */ daddu $a0, $s0, $zero +/* C3FFD8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C3FFDC 8024022C 0C012530 */ jal func_800494C0 +/* C3FFE0 80240230 3C060020 */ lui $a2, 0x20 +/* C3FFE4 80240234 8E220018 */ lw $v0, 0x18($s1) +/* C3FFE8 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* C3FFEC 8024023C 30420001 */ andi $v0, $v0, 1 +/* C3FFF0 80240240 14400064 */ bnez $v0, .L802403D4 +/* C3FFF4 80240244 2402000A */ addiu $v0, $zero, 0xa +/* C3FFF8 80240248 080900F5 */ j .L802403D4 +/* C3FFFC 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* C40000 80240250 8E420074 */ lw $v0, 0x74($s2) +/* C40004 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* C40008 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* C4000C 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* C40010 80240260 1440005D */ bnez $v0, .L802403D8 +/* C40014 80240264 00000000 */ nop +/* C40018 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* C4001C 8024026C 3C014010 */ lui $at, 0x4010 +/* C40020 80240270 44811800 */ mtc1 $at, $f3 +/* C40024 80240274 44801000 */ mtc1 $zero, $f2 +/* C40028 80240278 46000021 */ cvt.d.s $f0, $f0 +/* C4002C 8024027C 4622003C */ c.lt.d $f0, $f2 +/* C40030 80240280 00000000 */ nop +/* C40034 80240284 45000003 */ bc1f .L80240294 +/* C40038 80240288 0200202D */ daddu $a0, $s0, $zero +/* C4003C 8024028C 080900A6 */ j .L80240298 +/* C40040 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* C40044 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* C40048 80240298 0C00F598 */ jal func_8003D660 +/* C4004C 8024029C 00000000 */ nop +/* C40050 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C40054 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* C40058 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C4005C 802402AC 00031040 */ sll $v0, $v1, 1 +/* C40060 802402B0 00431021 */ addu $v0, $v0, $v1 +/* C40064 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C40068 802402B8 00021080 */ sll $v0, $v0, 2 +/* C4006C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* C40070 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* C40074 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* C40078 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* C4007C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* C40080 802402D0 4406B000 */ mfc1 $a2, $f22 +/* C40084 802402D4 4407A000 */ mfc1 $a3, $f20 +/* C40088 802402D8 0C00A720 */ jal atan2 +/* C4008C 802402DC 00000000 */ nop +/* C40090 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* C40094 802402E4 44060000 */ mfc1 $a2, $f0 +/* C40098 802402E8 0200202D */ daddu $a0, $s0, $zero +/* C4009C 802402EC 0C00EA95 */ jal npc_move_heading +/* C400A0 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* C400A4 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C400A8 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C400AC 802402FC 4406B000 */ mfc1 $a2, $f22 +/* C400B0 80240300 4407A000 */ mfc1 $a3, $f20 +/* C400B4 80240304 0C00A7B5 */ jal dist2D +/* C400B8 80240308 00000000 */ nop +/* C400BC 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* C400C0 80240310 4602003E */ c.le.s $f0, $f2 +/* C400C4 80240314 00000000 */ nop +/* C400C8 80240318 4500002F */ bc1f .L802403D8 +/* C400CC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C400D0 80240320 24020002 */ addiu $v0, $zero, 2 +/* C400D4 80240324 0C00A67F */ jal rand_int +/* C400D8 80240328 AE420070 */ sw $v0, 0x70($s2) +/* C400DC 8024032C 3C035555 */ lui $v1, 0x5555 +/* C400E0 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* C400E4 80240334 00430018 */ mult $v0, $v1 +/* C400E8 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* C400EC 8024033C 00004010 */ mfhi $t0 +/* C400F0 80240340 01042023 */ subu $a0, $t0, $a0 +/* C400F4 80240344 00041840 */ sll $v1, $a0, 1 +/* C400F8 80240348 00641821 */ addu $v1, $v1, $a0 +/* C400FC 8024034C 00431023 */ subu $v0, $v0, $v1 +/* C40100 80240350 24430002 */ addiu $v1, $v0, 2 +/* C40104 80240354 AE430074 */ sw $v1, 0x74($s2) +/* C40108 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* C4010C 8024035C 18400009 */ blez $v0, .L80240384 +/* C40110 80240360 24020004 */ addiu $v0, $zero, 4 +/* C40114 80240364 8E620004 */ lw $v0, 4($s3) +/* C40118 80240368 18400006 */ blez $v0, .L80240384 +/* C4011C 8024036C 24020004 */ addiu $v0, $zero, 4 +/* C40120 80240370 8E620008 */ lw $v0, 8($s3) +/* C40124 80240374 18400003 */ blez $v0, .L80240384 +/* C40128 80240378 24020004 */ addiu $v0, $zero, 4 +/* C4012C 8024037C 14600002 */ bnez $v1, .L80240388 +/* C40130 80240380 00000000 */ nop +.L80240384: +/* C40134 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* C40138 80240388 0C00A67F */ jal rand_int +/* C4013C 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* C40140 80240390 3C0351EB */ lui $v1, 0x51eb +/* C40144 80240394 3463851F */ ori $v1, $v1, 0x851f +/* C40148 80240398 00430018 */ mult $v0, $v1 +/* C4014C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* C40150 802403A0 00004010 */ mfhi $t0 +/* C40154 802403A4 00082143 */ sra $a0, $t0, 5 +/* C40158 802403A8 00832023 */ subu $a0, $a0, $v1 +/* C4015C 802403AC 00041840 */ sll $v1, $a0, 1 +/* C40160 802403B0 00641821 */ addu $v1, $v1, $a0 +/* C40164 802403B4 000318C0 */ sll $v1, $v1, 3 +/* C40168 802403B8 00641821 */ addu $v1, $v1, $a0 +/* C4016C 802403BC 00031880 */ sll $v1, $v1, 2 +/* C40170 802403C0 8E640004 */ lw $a0, 4($s3) +/* C40174 802403C4 00431023 */ subu $v0, $v0, $v1 +/* C40178 802403C8 0044102A */ slt $v0, $v0, $a0 +/* C4017C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* C40180 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* C40184 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* C40188 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* C4018C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* C40190 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* C40194 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* C40198 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* C4019C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* C401A0 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C401A4 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C401A8 802403F8 03E00008 */ jr $ra +/* C401AC 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240400_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240400_C3FDB0.s new file mode 100644 index 0000000000..740c062e44 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240400_C3FDB0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_C401B0 +/* C401B0 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C401B4 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* C401B8 80240408 0080982D */ daddu $s3, $a0, $zero +/* C401BC 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* C401C0 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* C401C4 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* C401C8 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* C401CC 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* C401D0 80240420 86440008 */ lh $a0, 8($s2) +/* C401D4 80240424 0C00EABB */ jal get_npc_unsafe +/* C401D8 80240428 00A0882D */ daddu $s1, $a1, $zero +/* C401DC 8024042C 8E240008 */ lw $a0, 8($s1) +/* C401E0 80240430 0040802D */ daddu $s0, $v0, $zero +/* C401E4 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* C401E8 80240438 00832021 */ addu $a0, $a0, $v1 +/* C401EC 8024043C 00042043 */ sra $a0, $a0, 1 +/* C401F0 80240440 0C00A67F */ jal rand_int +/* C401F4 80240444 24840001 */ addiu $a0, $a0, 1 +/* C401F8 80240448 8E230008 */ lw $v1, 8($s1) +/* C401FC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* C40200 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* C40204 80240454 00651821 */ addu $v1, $v1, $a1 +/* C40208 80240458 00031843 */ sra $v1, $v1, 1 +/* C4020C 8024045C 00621821 */ addu $v1, $v1, $v0 +/* C40210 80240460 0C00A67F */ jal rand_int +/* C40214 80240464 A603008E */ sh $v1, 0x8e($s0) +/* C40218 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* C4021C 8024046C 44820000 */ mtc1 $v0, $f0 +/* C40220 80240470 00000000 */ nop +/* C40224 80240474 46800020 */ cvt.s.w $f0, $f0 +/* C40228 80240478 46006300 */ add.s $f12, $f12, $f0 +/* C4022C 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* C40230 80240480 44810000 */ mtc1 $at, $f0 +/* C40234 80240484 0C00A6C9 */ jal clamp_angle +/* C40238 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* C4023C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* C40240 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* C40244 80240494 8C420000 */ lw $v0, ($v0) +/* C40248 80240498 AE020028 */ sw $v0, 0x28($s0) +/* C4024C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* C40250 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* C40254 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* C40258 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* C4025C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* C40260 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* C40264 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* C40268 802404B8 03E00008 */ jr $ra +/* C4026C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802404C0_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802404C0_C3FDB0.s new file mode 100644 index 0000000000..db3983086d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802404C0_C3FDB0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_C40270 +/* C40270 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C40274 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* C40278 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* C4027C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* C40280 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* C40284 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* C40288 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* C4028C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* C40290 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* C40294 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* C40298 802404E8 86240008 */ lh $a0, 8($s1) +/* C4029C 802404EC 0C00EABB */ jal get_npc_unsafe +/* C402A0 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* C402A4 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* C402A8 802404F8 04600031 */ bltz $v1, .L802405C0 +/* C402AC 802404FC 0040802D */ daddu $s0, $v0, $zero +/* C402B0 80240500 0260202D */ daddu $a0, $s3, $zero +/* C402B4 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* C402B8 80240508 8E460024 */ lw $a2, 0x24($s2) +/* C402BC 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* C402C0 80240510 0C01242D */ jal func_800490B4 +/* C402C4 80240514 0220282D */ daddu $a1, $s1, $zero +/* C402C8 80240518 10400029 */ beqz $v0, .L802405C0 +/* C402CC 8024051C 0000202D */ daddu $a0, $zero, $zero +/* C402D0 80240520 0200282D */ daddu $a1, $s0, $zero +/* C402D4 80240524 0000302D */ daddu $a2, $zero, $zero +/* C402D8 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* C402DC 8024052C 3C013F80 */ lui $at, 0x3f80 +/* C402E0 80240530 44810000 */ mtc1 $at, $f0 +/* C402E4 80240534 3C014000 */ lui $at, 0x4000 +/* C402E8 80240538 44811000 */ mtc1 $at, $f2 +/* C402EC 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* C402F0 80240540 44812000 */ mtc1 $at, $f4 +/* C402F4 80240544 2402000F */ addiu $v0, $zero, 0xf +/* C402F8 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* C402FC 8024054C 44833000 */ mtc1 $v1, $f6 +/* C40300 80240550 00000000 */ nop +/* C40304 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* C40308 80240558 44073000 */ mfc1 $a3, $f6 +/* C4030C 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* C40310 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* C40314 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* C40318 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* C4031C 8024056C 0C01BFA4 */ jal fx_emote +/* C40320 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* C40324 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C40328 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C4032C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C40330 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C40334 80240584 8C460028 */ lw $a2, 0x28($v0) +/* C40338 80240588 0C00A720 */ jal atan2 +/* C4033C 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* C40340 80240590 0200202D */ daddu $a0, $s0, $zero +/* C40344 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C40348 80240598 3C060020 */ lui $a2, 0x20 +/* C4034C 8024059C 0C012530 */ jal func_800494C0 +/* C40350 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* C40354 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* C40358 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* C4035C 802405AC 30420001 */ andi $v0, $v0, 1 +/* C40360 802405B0 14400029 */ bnez $v0, .L80240658 +/* C40364 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* C40368 802405B8 08090196 */ j .L80240658 +/* C4036C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* C40370 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* C40374 802405C4 14400025 */ bnez $v0, .L8024065C +/* C40378 802405C8 00000000 */ nop +/* C4037C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* C40380 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* C40384 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* C40388 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* C4038C 802405DC 1440001F */ bnez $v0, .L8024065C +/* C40390 802405E0 00000000 */ nop +/* C40394 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* C40398 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* C4039C 802405EC 10400019 */ beqz $v0, .L80240654 +/* C403A0 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* C403A4 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* C403A8 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* C403AC 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* C403B0 80240600 14400007 */ bnez $v0, .L80240620 +/* C403B4 80240604 00000000 */ nop +/* C403B8 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* C403BC 8024060C 3C014334 */ lui $at, 0x4334 +/* C403C0 80240610 44816000 */ mtc1 $at, $f12 +/* C403C4 80240614 0C00A6C9 */ jal clamp_angle +/* C403C8 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* C403CC 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* C403D0 80240620 8E440008 */ lw $a0, 8($s2) +/* C403D4 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* C403D8 80240628 00822021 */ addu $a0, $a0, $v0 +/* C403DC 8024062C 00042043 */ sra $a0, $a0, 1 +/* C403E0 80240630 0C00A67F */ jal rand_int +/* C403E4 80240634 24840001 */ addiu $a0, $a0, 1 +/* C403E8 80240638 8E430008 */ lw $v1, 8($s2) +/* C403EC 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* C403F0 80240640 00641821 */ addu $v1, $v1, $a0 +/* C403F4 80240644 00031843 */ sra $v1, $v1, 1 +/* C403F8 80240648 00621821 */ addu $v1, $v1, $v0 +/* C403FC 8024064C 08090197 */ j .L8024065C +/* C40400 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* C40404 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* C40408 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* C4040C 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* C40410 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* C40414 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* C40418 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* C4041C 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* C40420 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* C40424 80240674 03E00008 */ jr $ra +/* C40428 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_8024067C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024067C_C3FDB0.s new file mode 100644 index 0000000000..e8e5f6f2c0 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024067C_C3FDB0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_C4042C +/* C4042C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40430 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* C40434 80240684 0080882D */ daddu $s1, $a0, $zero +/* C40438 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* C4043C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* C40440 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* C40444 80240694 8E300148 */ lw $s0, 0x148($s1) +/* C40448 80240698 86040008 */ lh $a0, 8($s0) +/* C4044C 8024069C 0C00EABB */ jal get_npc_unsafe +/* C40450 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* C40454 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* C40458 802406A8 24630001 */ addiu $v1, $v1, 1 +/* C4045C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* C40460 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* C40464 802406B4 8C840000 */ lw $a0, ($a0) +/* C40468 802406B8 0064182A */ slt $v1, $v1, $a0 +/* C4046C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* C40470 802406C0 0040282D */ daddu $a1, $v0, $zero +/* C40474 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* C40478 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* C4047C 802406CC 8C420004 */ lw $v0, 4($v0) +/* C40480 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* C40484 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C40488 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* C4048C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* C40490 802406E0 00000000 */ nop +/* C40494 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* C40498 802406E8 080901C4 */ j .L80240710 +/* C4049C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* C404A0 802406F0 3C018024 */ lui $at, 0x8024 +/* C404A4 802406F4 D4226A08 */ ldc1 $f2, 0x6a08($at) +/* C404A8 802406F8 44820000 */ mtc1 $v0, $f0 +/* C404AC 802406FC 00000000 */ nop +/* C404B0 80240700 46800021 */ cvt.d.w $f0, $f0 +/* C404B4 80240704 46220003 */ div.d $f0, $f0, $f2 +/* C404B8 80240708 46200020 */ cvt.s.d $f0, $f0 +/* C404BC 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* C404C0 80240710 24020001 */ addiu $v0, $zero, 1 +/* C404C4 80240714 AE220070 */ sw $v0, 0x70($s1) +/* C404C8 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* C404CC 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* C404D0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* C404D4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* C404D8 80240728 03E00008 */ jr $ra +/* C404DC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240730_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240730_C3FDB0.s new file mode 100644 index 0000000000..27abf1d1f8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240730_C3FDB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_C404E0 +/* C404E0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C404E4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* C404E8 80240738 0080882D */ daddu $s1, $a0, $zero +/* C404EC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* C404F0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* C404F4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* C404F8 80240748 0C00EABB */ jal get_npc_unsafe +/* C404FC 8024074C 86040008 */ lh $a0, 8($s0) +/* C40500 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* C40504 80240754 3C014120 */ lui $at, 0x4120 +/* C40508 80240758 44812000 */ mtc1 $at, $f4 +/* C4050C 8024075C 3C014000 */ lui $at, 0x4000 +/* C40510 80240760 44810000 */ mtc1 $at, $f0 +/* C40514 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* C40518 80240768 8C640010 */ lw $a0, 0x10($v1) +/* C4051C 8024076C 8C430000 */ lw $v1, ($v0) +/* C40520 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* C40524 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* C40528 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* C4052C 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* C40530 80240780 AC430000 */ sw $v1, ($v0) +/* C40534 80240784 AC440028 */ sw $a0, 0x28($v0) +/* C40538 80240788 2402000B */ addiu $v0, $zero, 0xb +/* C4053C 8024078C AE220070 */ sw $v0, 0x70($s1) +/* C40540 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* C40544 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* C40548 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* C4054C 8024079C 03E00008 */ jr $ra +/* C40550 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802407A4_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802407A4_C3FDB0.s new file mode 100644 index 0000000000..11786ff8cd --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802407A4_C3FDB0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_C40554 +/* C40554 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C40558 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* C4055C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* C40560 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* C40564 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* C40568 802407B8 0C00EABB */ jal get_npc_unsafe +/* C4056C 802407BC 84440008 */ lh $a0, 8($v0) +/* C40570 802407C0 0040202D */ daddu $a0, $v0, $zero +/* C40574 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* C40578 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* C4057C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* C40580 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* C40584 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* C40588 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* C4058C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* C40590 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* C40594 802407E4 45010009 */ bc1t .L8024080C +/* C40598 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* C4059C 802407EC 8C820000 */ lw $v0, ($a0) +/* C405A0 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* C405A4 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* C405A8 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* C405AC 802407FC 00431024 */ and $v0, $v0, $v1 +/* C405B0 80240800 AC820000 */ sw $v0, ($a0) +/* C405B4 80240804 2402000C */ addiu $v0, $zero, 0xc +/* C405B8 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* C405BC 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* C405C0 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* C405C4 80240814 03E00008 */ jr $ra +/* C405C8 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_8024081C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024081C_C3FDB0.s new file mode 100644 index 0000000000..e852984e1f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024081C_C3FDB0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_C405CC +/* C405CC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C405D0 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* C405D4 80240824 0080982D */ daddu $s3, $a0, $zero +/* C405D8 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* C405DC 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* C405E0 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* C405E4 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* C405E8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C405EC 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* C405F0 80240840 86240008 */ lh $a0, 8($s1) +/* C405F4 80240844 0C00EABB */ jal get_npc_unsafe +/* C405F8 80240848 00A0802D */ daddu $s0, $a1, $zero +/* C405FC 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* C40600 80240850 0040902D */ daddu $s2, $v0, $zero +/* C40604 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* C40608 80240858 00832021 */ addu $a0, $a0, $v1 +/* C4060C 8024085C 00042043 */ sra $a0, $a0, 1 +/* C40610 80240860 0C00A67F */ jal rand_int +/* C40614 80240864 24840001 */ addiu $a0, $a0, 1 +/* C40618 80240868 8E030020 */ lw $v1, 0x20($s0) +/* C4061C 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* C40620 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* C40624 80240874 00641821 */ addu $v1, $v1, $a0 +/* C40628 80240878 00031843 */ sra $v1, $v1, 1 +/* C4062C 8024087C 00621821 */ addu $v1, $v1, $v0 +/* C40630 80240880 A643008E */ sh $v1, 0x8e($s2) +/* C40634 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* C40638 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C4063C 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* C40640 80240890 AE420028 */ sw $v0, 0x28($s2) +/* C40644 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* C40648 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C4064C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C40650 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* C40654 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* C40658 802408A8 0C00A720 */ jal atan2 +/* C4065C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* C40660 802408B0 46000506 */ mov.s $f20, $f0 +/* C40664 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* C40668 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* C4066C 802408BC 4600A386 */ mov.s $f14, $f20 +/* C40670 802408C0 46000086 */ mov.s $f2, $f0 +/* C40674 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* C40678 802408C8 46001005 */ abs.s $f0, $f2 +/* C4067C 802408CC 44822000 */ mtc1 $v0, $f4 +/* C40680 802408D0 00000000 */ nop +/* C40684 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* C40688 802408D8 4600203C */ c.lt.s $f4, $f0 +/* C4068C 802408DC 00000000 */ nop +/* C40690 802408E0 4500000D */ bc1f .L80240918 +/* C40694 802408E4 00000000 */ nop +/* C40698 802408E8 44800000 */ mtc1 $zero, $f0 +/* C4069C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* C406A0 802408F0 4600103C */ c.lt.s $f2, $f0 +/* C406A4 802408F4 00000000 */ nop +/* C406A8 802408F8 45000006 */ bc1f .L80240914 +/* C406AC 802408FC 00021023 */ negu $v0, $v0 +/* C406B0 80240900 44820000 */ mtc1 $v0, $f0 +/* C406B4 80240904 00000000 */ nop +/* C406B8 80240908 46800020 */ cvt.s.w $f0, $f0 +/* C406BC 8024090C 08090246 */ j .L80240918 +/* C406C0 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* C406C4 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* C406C8 80240918 0C00A6C9 */ jal clamp_angle +/* C406CC 8024091C 4600A306 */ mov.s $f12, $f20 +/* C406D0 80240920 2402000D */ addiu $v0, $zero, 0xd +/* C406D4 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* C406D8 80240928 AE620070 */ sw $v0, 0x70($s3) +/* C406DC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* C406E0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* C406E4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* C406E8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* C406EC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* C406F0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C406F4 80240944 03E00008 */ jr $ra +/* C406F8 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_8024094C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024094C_C3FDB0.s new file mode 100644 index 0000000000..7997a0de78 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024094C_C3FDB0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_C406FC +/* C406FC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C40700 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* C40704 80240954 0080982D */ daddu $s3, $a0, $zero +/* C40708 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* C4070C 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* C40710 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* C40714 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* C40718 80240968 8E720148 */ lw $s2, 0x148($s3) +/* C4071C 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* C40720 80240970 86440008 */ lh $a0, 8($s2) +/* C40724 80240974 0C00EABB */ jal get_npc_unsafe +/* C40728 80240978 00C0802D */ daddu $s0, $a2, $zero +/* C4072C 8024097C 0200202D */ daddu $a0, $s0, $zero +/* C40730 80240980 0240282D */ daddu $a1, $s2, $zero +/* C40734 80240984 24030001 */ addiu $v1, $zero, 1 +/* C40738 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* C4073C 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* C40740 80240990 8E270028 */ lw $a3, 0x28($s1) +/* C40744 80240994 0C01242D */ jal func_800490B4 +/* C40748 80240998 0040802D */ daddu $s0, $v0, $zero +/* C4074C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* C40750 802409A0 0200202D */ daddu $a0, $s0, $zero +/* C40754 802409A4 24040002 */ addiu $a0, $zero, 2 +/* C40758 802409A8 0200282D */ daddu $a1, $s0, $zero +/* C4075C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* C40760 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* C40764 802409B4 3C013F80 */ lui $at, 0x3f80 +/* C40768 802409B8 44810000 */ mtc1 $at, $f0 +/* C4076C 802409BC 3C014000 */ lui $at, 0x4000 +/* C40770 802409C0 44811000 */ mtc1 $at, $f2 +/* C40774 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* C40778 802409C8 44812000 */ mtc1 $at, $f4 +/* C4077C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* C40780 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* C40784 802409D4 44833000 */ mtc1 $v1, $f6 +/* C40788 802409D8 00000000 */ nop +/* C4078C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* C40790 802409E0 44073000 */ mfc1 $a3, $f6 +/* C40794 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* C40798 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* C4079C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* C407A0 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C407A4 802409F4 0C01BFA4 */ jal fx_emote +/* C407A8 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C407AC 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* C407B0 80240A00 8C430000 */ lw $v1, ($v0) +/* C407B4 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* C407B8 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* C407BC 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* C407C0 80240A10 08090293 */ j .L80240A4C +/* C407C4 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* C407C8 80240A18 0C00F598 */ jal func_8003D660 +/* C407CC 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* C407D0 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* C407D4 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* C407D8 80240A28 0C00EA95 */ jal npc_move_heading +/* C407DC 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* C407E0 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* C407E4 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* C407E8 80240A38 18400003 */ blez $v0, .L80240A48 +/* C407EC 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* C407F0 80240A40 08090294 */ j .L80240A50 +/* C407F4 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* C407F8 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* C407FC 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* C40800 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* C40804 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* C40808 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* C4080C 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* C40810 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* C40814 80240A64 03E00008 */ jr $ra +/* C40818 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240A6C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240A6C_C3FDB0.s new file mode 100644 index 0000000000..d9db53685a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240A6C_C3FDB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_C4081C +/* C4081C 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40820 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* C40824 80240A74 0080882D */ daddu $s1, $a0, $zero +/* C40828 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* C4082C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* C40830 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* C40834 80240A84 0C00EABB */ jal get_npc_unsafe +/* C40838 80240A88 86040008 */ lh $a0, 8($s0) +/* C4083C 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* C40840 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* C40844 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* C40848 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* C4084C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* C40850 80240AA0 00000000 */ nop +/* C40854 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* C40858 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* C4085C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* C40860 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* C40864 80240AB4 080902B0 */ j .L80240AC0 +/* C40868 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* C4086C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* C40870 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* C40874 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* C40878 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* C4087C 80240ACC 03E00008 */ jr $ra +/* C40880 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240AD4_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240AD4_C3FDB0.s new file mode 100644 index 0000000000..1c16bf5657 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240AD4_C3FDB0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_C40884 +/* C40884 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40888 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* C4088C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* C40890 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* C40894 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* C40898 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* C4089C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* C408A0 80240AF0 86040008 */ lh $a0, 8($s0) +/* C408A4 80240AF4 0C00EABB */ jal get_npc_unsafe +/* C408A8 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* C408AC 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* C408B0 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* C408B4 80240B04 8C630000 */ lw $v1, ($v1) +/* C408B8 80240B08 0083182A */ slt $v1, $a0, $v1 +/* C408BC 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* C408C0 80240B10 0040302D */ daddu $a2, $v0, $zero +/* C408C4 80240B14 00041040 */ sll $v0, $a0, 1 +/* C408C8 80240B18 00441021 */ addu $v0, $v0, $a0 +/* C408CC 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* C408D0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* C408D4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C408D8 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* C408DC 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* C408E0 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* C408E4 80240B34 4602003E */ c.le.s $f0, $f2 +/* C408E8 80240B38 00000000 */ nop +/* C408EC 80240B3C 45020003 */ bc1fl .L80240B4C +/* C408F0 80240B40 24840001 */ addiu $a0, $a0, 1 +/* C408F4 80240B44 080902D7 */ j .L80240B5C +/* C408F8 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* C408FC 80240B4C 8C620000 */ lw $v0, ($v1) +/* C40900 80240B50 0082102A */ slt $v0, $a0, $v0 +/* C40904 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* C40908 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* C4090C 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* C40910 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* C40914 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* C40918 80240B68 8C420004 */ lw $v0, 4($v0) +/* C4091C 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* C40920 80240B70 24020001 */ addiu $v0, $zero, 1 +/* C40924 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* C40928 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* C4092C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* C40930 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* C40934 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* C40938 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* C4093C 80240B8C 03E00008 */ jr $ra +/* C40940 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240B94_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240B94_C3FDB0.s new file mode 100644 index 0000000000..58dc824ff1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240B94_C3FDB0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_C40944 +/* C40944 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C40948 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* C4094C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* C40950 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* C40954 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* C40958 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* C4095C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* C40960 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* C40964 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* C40968 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* C4096C 80240BBC 86240008 */ lh $a0, 8($s1) +/* C40970 80240BC0 0C00EABB */ jal get_npc_unsafe +/* C40974 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* C40978 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* C4097C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* C40980 80240BD0 8C650000 */ lw $a1, ($v1) +/* C40984 80240BD4 0C0B1EAF */ jal get_variable +/* C40988 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* C4098C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* C40990 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C40994 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* C40998 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* C4099C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C409A0 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* C409A4 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* C409A8 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C409AC 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* C409B0 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* C409B4 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* C409B8 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* C409BC 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* C409C0 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* C409C4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* C409C8 80240C18 3C014282 */ lui $at, 0x4282 +/* C409CC 80240C1C 44810000 */ mtc1 $at, $f0 +/* C409D0 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* C409D4 80240C24 0040982D */ daddu $s3, $v0, $zero +/* C409D8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* C409DC 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* C409E0 80240C30 16000005 */ bnez $s0, .L80240C48 +/* C409E4 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* C409E8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* C409EC 80240C3C 30420004 */ andi $v0, $v0, 4 +/* C409F0 80240C40 10400044 */ beqz $v0, .L80240D54 +/* C409F4 80240C44 00000000 */ nop +.L80240C48: +/* C409F8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* C409FC 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* C40A00 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* C40A04 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* C40A08 80240C58 8E430000 */ lw $v1, ($s2) +/* C40A0C 80240C5C 8C420000 */ lw $v0, ($v0) +/* C40A10 80240C60 00641824 */ and $v1, $v1, $a0 +/* C40A14 80240C64 AE430000 */ sw $v1, ($s2) +/* C40A18 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* C40A1C 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C40A20 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* C40A24 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* C40A28 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* C40A2C 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* C40A30 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* C40A34 80240C84 08090325 */ j .L80240C94 +/* C40A38 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* C40A3C 80240C8C 00621024 */ and $v0, $v1, $v0 +/* C40A40 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* C40A44 80240C94 AE420000 */ sw $v0, ($s2) +/* C40A48 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* C40A4C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* C40A50 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* C40A54 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* C40A58 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* C40A5C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* C40A60 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C40A64 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* C40A68 80240CB8 00431024 */ and $v0, $v0, $v1 +/* C40A6C 80240CBC 0809033C */ j .L80240CF0 +/* C40A70 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* C40A74 80240CC4 8E220000 */ lw $v0, ($s1) +/* C40A78 80240CC8 3C034000 */ lui $v1, 0x4000 +/* C40A7C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* C40A80 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* C40A84 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* C40A88 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* C40A8C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* C40A90 80240CE0 8E220000 */ lw $v0, ($s1) +/* C40A94 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* C40A98 80240CE8 00431024 */ and $v0, $v0, $v1 +/* C40A9C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* C40AA0 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* C40AA4 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* C40AA8 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* C40AAC 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* C40AB0 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* C40AB4 80240D04 44812000 */ mtc1 $at, $f4 +/* C40AB8 80240D08 44823000 */ mtc1 $v0, $f6 +/* C40ABC 80240D0C 00000000 */ nop +/* C40AC0 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* C40AC4 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* C40AC8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* C40ACC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* C40AD0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* C40AD4 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* C40AD8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* C40ADC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* C40AE0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* C40AE4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* C40AE8 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* C40AEC 80240D3C 0C0372DF */ jal func_800DCB7C +/* C40AF0 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* C40AF4 80240D44 10400003 */ beqz $v0, .L80240D54 +/* C40AF8 80240D48 00000000 */ nop +/* C40AFC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C40B00 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* C40B04 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* C40B08 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* C40B0C 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* C40B10 80240D60 00031080 */ sll $v0, $v1, 2 +/* C40B14 80240D64 3C018024 */ lui $at, 0x8024 +/* C40B18 80240D68 00220821 */ addu $at, $at, $v0 +/* C40B1C 80240D6C 8C226A10 */ lw $v0, 0x6a10($at) +/* C40B20 80240D70 00400008 */ jr $v0 +/* C40B24 80240D74 00000000 */ nop +/* C40B28 80240D78 0280202D */ daddu $a0, $s4, $zero +/* C40B2C 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* C40B30 80240D80 0C090000 */ jal func_80240000 +/* C40B34 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* C40B38 80240D88 0280202D */ daddu $a0, $s4, $zero +/* C40B3C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* C40B40 80240D90 0C090056 */ jal func_80240158 +/* C40B44 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* C40B48 80240D98 0809039A */ j .L80240E68 +/* C40B4C 80240D9C 00000000 */ nop +/* C40B50 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* C40B54 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* C40B58 80240DA8 0C090100 */ jal func_80240400 +/* C40B5C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* C40B60 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* C40B64 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* C40B68 80240DB8 0C090130 */ jal func_802404C0 +/* C40B6C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* C40B70 80240DC0 0809039A */ j .L80240E68 +/* C40B74 80240DC4 00000000 */ nop +/* C40B78 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* C40B7C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* C40B80 80240DD0 0C09019F */ jal func_8024067C +/* C40B84 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* C40B88 80240DD8 0809039A */ j .L80240E68 +/* C40B8C 80240DDC 00000000 */ nop +/* C40B90 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* C40B94 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* C40B98 80240DE8 0C0901CC */ jal func_80240730 +/* C40B9C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* C40BA0 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* C40BA4 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* C40BA8 80240DF8 0C0901E9 */ jal func_802407A4 +/* C40BAC 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* C40BB0 80240E00 0809039A */ j .L80240E68 +/* C40BB4 80240E04 00000000 */ nop +/* C40BB8 80240E08 0280202D */ daddu $a0, $s4, $zero +/* C40BBC 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* C40BC0 80240E10 0C090207 */ jal func_8024081C +/* C40BC4 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* C40BC8 80240E18 0280202D */ daddu $a0, $s4, $zero +/* C40BCC 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* C40BD0 80240E20 0C090253 */ jal func_8024094C +/* C40BD4 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* C40BD8 80240E28 0809039A */ j .L80240E68 +/* C40BDC 80240E2C 00000000 */ nop +/* C40BE0 80240E30 0280202D */ daddu $a0, $s4, $zero +/* C40BE4 80240E34 0260282D */ daddu $a1, $s3, $zero +/* C40BE8 80240E38 0C09029B */ jal func_80240A6C +/* C40BEC 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* C40BF0 80240E40 0809039A */ j .L80240E68 +/* C40BF4 80240E44 00000000 */ nop +/* C40BF8 80240E48 0280202D */ daddu $a0, $s4, $zero +/* C40BFC 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* C40C00 80240E50 0C0902B5 */ jal func_80240AD4 +/* C40C04 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* C40C08 80240E58 0809039A */ j .L80240E68 +/* C40C0C 80240E5C 00000000 */ nop +/* C40C10 80240E60 0C0129CF */ jal func_8004A73C +/* C40C14 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* C40C18 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* C40C1C 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* C40C20 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* C40C24 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* C40C28 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* C40C2C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* C40C30 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* C40C34 80240E84 0000102D */ daddu $v0, $zero, $zero +/* C40C38 80240E88 03E00008 */ jr $ra +/* C40C3C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240E90_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240E90_C3FDB0.s new file mode 100644 index 0000000000..135ff9a1eb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240E90_C3FDB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_C40C40 +/* C40C40 80240E90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40C44 80240E94 AFB10014 */ sw $s1, 0x14($sp) +/* C40C48 80240E98 0080882D */ daddu $s1, $a0, $zero +/* C40C4C 80240E9C AFBF0018 */ sw $ra, 0x18($sp) +/* C40C50 80240EA0 AFB00010 */ sw $s0, 0x10($sp) +/* C40C54 80240EA4 8E300148 */ lw $s0, 0x148($s1) +/* C40C58 80240EA8 0C00EABB */ jal get_npc_unsafe +/* C40C5C 80240EAC 86040008 */ lh $a0, 8($s0) +/* C40C60 80240EB0 24030001 */ addiu $v1, $zero, 1 +/* C40C64 80240EB4 0040202D */ daddu $a0, $v0, $zero +/* C40C68 80240EB8 AE03006C */ sw $v1, 0x6c($s0) +/* C40C6C 80240EBC 8482008C */ lh $v0, 0x8c($a0) +/* C40C70 80240EC0 14400009 */ bnez $v0, .L80240EE8 +/* C40C74 80240EC4 24020002 */ addiu $v0, $zero, 2 +/* C40C78 80240EC8 96030072 */ lhu $v1, 0x72($s0) +/* C40C7C 80240ECC AE02006C */ sw $v0, 0x6c($s0) +/* C40C80 80240ED0 A483008E */ sh $v1, 0x8e($a0) +/* C40C84 80240ED4 8E0200CC */ lw $v0, 0xcc($s0) +/* C40C88 80240ED8 8C420020 */ lw $v0, 0x20($v0) +/* C40C8C 80240EDC AC820028 */ sw $v0, 0x28($a0) +/* C40C90 80240EE0 2402001F */ addiu $v0, $zero, 0x1f +/* C40C94 80240EE4 AE220070 */ sw $v0, 0x70($s1) +.L80240EE8: +/* C40C98 80240EE8 8FBF0018 */ lw $ra, 0x18($sp) +/* C40C9C 80240EEC 8FB10014 */ lw $s1, 0x14($sp) +/* C40CA0 80240EF0 8FB00010 */ lw $s0, 0x10($sp) +/* C40CA4 80240EF4 03E00008 */ jr $ra +/* C40CA8 80240EF8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240EFC_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240EFC_C3FDB0.s new file mode 100644 index 0000000000..99f70ce678 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240EFC_C3FDB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EFC_C40CAC +/* C40CAC 80240EFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40CB0 80240F00 AFB10014 */ sw $s1, 0x14($sp) +/* C40CB4 80240F04 0080882D */ daddu $s1, $a0, $zero +/* C40CB8 80240F08 AFBF0018 */ sw $ra, 0x18($sp) +/* C40CBC 80240F0C AFB00010 */ sw $s0, 0x10($sp) +/* C40CC0 80240F10 8E300148 */ lw $s0, 0x148($s1) +/* C40CC4 80240F14 0C00EABB */ jal get_npc_unsafe +/* C40CC8 80240F18 86040008 */ lh $a0, 8($s0) +/* C40CCC 80240F1C 0040202D */ daddu $a0, $v0, $zero +/* C40CD0 80240F20 9482008E */ lhu $v0, 0x8e($a0) +/* C40CD4 80240F24 2442FFFF */ addiu $v0, $v0, -1 +/* C40CD8 80240F28 A482008E */ sh $v0, 0x8e($a0) +/* C40CDC 80240F2C 00021400 */ sll $v0, $v0, 0x10 +/* C40CE0 80240F30 1C400009 */ bgtz $v0, .L80240F58 +/* C40CE4 80240F34 24020003 */ addiu $v0, $zero, 3 +/* C40CE8 80240F38 96030076 */ lhu $v1, 0x76($s0) +/* C40CEC 80240F3C AE02006C */ sw $v0, 0x6c($s0) +/* C40CF0 80240F40 A483008E */ sh $v1, 0x8e($a0) +/* C40CF4 80240F44 8E0200CC */ lw $v0, 0xcc($s0) +/* C40CF8 80240F48 8C420024 */ lw $v0, 0x24($v0) +/* C40CFC 80240F4C AC820028 */ sw $v0, 0x28($a0) +/* C40D00 80240F50 24020020 */ addiu $v0, $zero, 0x20 +/* C40D04 80240F54 AE220070 */ sw $v0, 0x70($s1) +.L80240F58: +/* C40D08 80240F58 8FBF0018 */ lw $ra, 0x18($sp) +/* C40D0C 80240F5C 8FB10014 */ lw $s1, 0x14($sp) +/* C40D10 80240F60 8FB00010 */ lw $s0, 0x10($sp) +/* C40D14 80240F64 03E00008 */ jr $ra +/* C40D18 80240F68 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80240F6C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240F6C_C3FDB0.s new file mode 100644 index 0000000000..26a314b377 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80240F6C_C3FDB0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F6C_C40D1C +/* C40D1C 80240F6C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C40D20 80240F70 AFB10034 */ sw $s1, 0x34($sp) +/* C40D24 80240F74 0080882D */ daddu $s1, $a0, $zero +/* C40D28 80240F78 AFBF0038 */ sw $ra, 0x38($sp) +/* C40D2C 80240F7C AFB00030 */ sw $s0, 0x30($sp) +/* C40D30 80240F80 8E300148 */ lw $s0, 0x148($s1) +/* C40D34 80240F84 0C00EABB */ jal get_npc_unsafe +/* C40D38 80240F88 86040008 */ lh $a0, 8($s0) +/* C40D3C 80240F8C 0040282D */ daddu $a1, $v0, $zero +/* C40D40 80240F90 94A2008E */ lhu $v0, 0x8e($a1) +/* C40D44 80240F94 2442FFFF */ addiu $v0, $v0, -1 +/* C40D48 80240F98 A4A2008E */ sh $v0, 0x8e($a1) +/* C40D4C 80240F9C 00021400 */ sll $v0, $v0, 0x10 +/* C40D50 80240FA0 1C400023 */ bgtz $v0, .L80241030 +/* C40D54 80240FA4 24020004 */ addiu $v0, $zero, 4 +/* C40D58 80240FA8 8E0300CC */ lw $v1, 0xcc($s0) +/* C40D5C 80240FAC AE02006C */ sw $v0, 0x6c($s0) +/* C40D60 80240FB0 8C620000 */ lw $v0, ($v1) +/* C40D64 80240FB4 ACA20028 */ sw $v0, 0x28($a1) +/* C40D68 80240FB8 9602007A */ lhu $v0, 0x7a($s0) +/* C40D6C 80240FBC A4A2008E */ sh $v0, 0x8e($a1) +/* C40D70 80240FC0 8E020078 */ lw $v0, 0x78($s0) +/* C40D74 80240FC4 28420008 */ slti $v0, $v0, 8 +/* C40D78 80240FC8 14400018 */ bnez $v0, .L8024102C +/* C40D7C 80240FCC 24020021 */ addiu $v0, $zero, 0x21 +/* C40D80 80240FD0 24040003 */ addiu $a0, $zero, 3 +/* C40D84 80240FD4 27A30028 */ addiu $v1, $sp, 0x28 +/* C40D88 80240FD8 84A700A8 */ lh $a3, 0xa8($a1) +/* C40D8C 80240FDC 3C013F80 */ lui $at, 0x3f80 +/* C40D90 80240FE0 44810000 */ mtc1 $at, $f0 +/* C40D94 80240FE4 3C014000 */ lui $at, 0x4000 +/* C40D98 80240FE8 44811000 */ mtc1 $at, $f2 +/* C40D9C 80240FEC 3C01C1A0 */ lui $at, 0xc1a0 +/* C40DA0 80240FF0 44812000 */ mtc1 $at, $f4 +/* C40DA4 80240FF4 44873000 */ mtc1 $a3, $f6 +/* C40DA8 80240FF8 00000000 */ nop +/* C40DAC 80240FFC 468031A0 */ cvt.s.w $f6, $f6 +/* C40DB0 80241000 E7A00010 */ swc1 $f0, 0x10($sp) +/* C40DB4 80241004 E7A20014 */ swc1 $f2, 0x14($sp) +/* C40DB8 80241008 E7A40018 */ swc1 $f4, 0x18($sp) +/* C40DBC 8024100C 8E020078 */ lw $v0, 0x78($s0) +/* C40DC0 80241010 44073000 */ mfc1 $a3, $f6 +/* C40DC4 80241014 0000302D */ daddu $a2, $zero, $zero +/* C40DC8 80241018 AFA30020 */ sw $v1, 0x20($sp) +/* C40DCC 8024101C 2442FFFF */ addiu $v0, $v0, -1 +/* C40DD0 80241020 0C01BFA4 */ jal fx_emote +/* C40DD4 80241024 AFA2001C */ sw $v0, 0x1c($sp) +/* C40DD8 80241028 24020021 */ addiu $v0, $zero, 0x21 +.L8024102C: +/* C40DDC 8024102C AE220070 */ sw $v0, 0x70($s1) +.L80241030: +/* C40DE0 80241030 8FBF0038 */ lw $ra, 0x38($sp) +/* C40DE4 80241034 8FB10034 */ lw $s1, 0x34($sp) +/* C40DE8 80241038 8FB00030 */ lw $s0, 0x30($sp) +/* C40DEC 8024103C 03E00008 */ jr $ra +/* C40DF0 80241040 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241044_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241044_C3FDB0.s new file mode 100644 index 0000000000..f412817d3e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241044_C3FDB0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241044_C40DF4 +/* C40DF4 80241044 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C40DF8 80241048 AFB10014 */ sw $s1, 0x14($sp) +/* C40DFC 8024104C 0080882D */ daddu $s1, $a0, $zero +/* C40E00 80241050 AFBF0018 */ sw $ra, 0x18($sp) +/* C40E04 80241054 AFB00010 */ sw $s0, 0x10($sp) +/* C40E08 80241058 8E300148 */ lw $s0, 0x148($s1) +/* C40E0C 8024105C 0C00EABB */ jal get_npc_unsafe +/* C40E10 80241060 86040008 */ lh $a0, 8($s0) +/* C40E14 80241064 9443008E */ lhu $v1, 0x8e($v0) +/* C40E18 80241068 2463FFFF */ addiu $v1, $v1, -1 +/* C40E1C 8024106C A443008E */ sh $v1, 0x8e($v0) +/* C40E20 80241070 00031C00 */ sll $v1, $v1, 0x10 +/* C40E24 80241074 1C600003 */ bgtz $v1, .L80241084 +/* C40E28 80241078 2402000C */ addiu $v0, $zero, 0xc +/* C40E2C 8024107C AE00006C */ sw $zero, 0x6c($s0) +/* C40E30 80241080 AE220070 */ sw $v0, 0x70($s1) +.L80241084: +/* C40E34 80241084 8FBF0018 */ lw $ra, 0x18($sp) +/* C40E38 80241088 8FB10014 */ lw $s1, 0x14($sp) +/* C40E3C 8024108C 8FB00010 */ lw $s0, 0x10($sp) +/* C40E40 80241090 03E00008 */ jr $ra +/* C40E44 80241094 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241098_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241098_C3FDB0.s new file mode 100644 index 0000000000..ec362bac70 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241098_C3FDB0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241098_C40E48 +/* C40E48 80241098 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C40E4C 8024109C AFBF0024 */ sw $ra, 0x24($sp) +/* C40E50 802410A0 AFB40020 */ sw $s4, 0x20($sp) +/* C40E54 802410A4 AFB3001C */ sw $s3, 0x1c($sp) +/* C40E58 802410A8 AFB20018 */ sw $s2, 0x18($sp) +/* C40E5C 802410AC AFB10014 */ sw $s1, 0x14($sp) +/* C40E60 802410B0 AFB00010 */ sw $s0, 0x10($sp) +/* C40E64 802410B4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C40E68 802410B8 8C900148 */ lw $s0, 0x148($a0) +/* C40E6C 802410BC 86040008 */ lh $a0, 8($s0) +/* C40E70 802410C0 0C00EABB */ jal get_npc_unsafe +/* C40E74 802410C4 24110001 */ addiu $s1, $zero, 1 +/* C40E78 802410C8 86040008 */ lh $a0, 8($s0) +/* C40E7C 802410CC 0040802D */ daddu $s0, $v0, $zero +/* C40E80 802410D0 3C05800B */ lui $a1, %hi(gCameras) +/* C40E84 802410D4 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C40E88 802410D8 3C03800A */ lui $v1, 0x800a +/* C40E8C 802410DC 8463A634 */ lh $v1, -0x59cc($v1) +/* C40E90 802410E0 00912021 */ addu $a0, $a0, $s1 +/* C40E94 802410E4 00031080 */ sll $v0, $v1, 2 +/* C40E98 802410E8 00431021 */ addu $v0, $v0, $v1 +/* C40E9C 802410EC 00021080 */ sll $v0, $v0, 2 +/* C40EA0 802410F0 00431023 */ subu $v0, $v0, $v1 +/* C40EA4 802410F4 000218C0 */ sll $v1, $v0, 3 +/* C40EA8 802410F8 00431021 */ addu $v0, $v0, $v1 +/* C40EAC 802410FC 000210C0 */ sll $v0, $v0, 3 +/* C40EB0 80241100 0C00FB3A */ jal get_enemy +/* C40EB4 80241104 00459021 */ addu $s2, $v0, $a1 +/* C40EB8 80241108 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C40EBC 8024110C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C40EC0 80241110 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C40EC4 80241114 8E830000 */ lw $v1, ($s4) +/* C40EC8 80241118 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C40ECC 8024111C 8C660028 */ lw $a2, 0x28($v1) +/* C40ED0 80241120 8C670030 */ lw $a3, 0x30($v1) +/* C40ED4 80241124 0C00A7B5 */ jal dist2D +/* C40ED8 80241128 0040982D */ daddu $s3, $v0, $zero +/* C40EDC 8024112C C6620074 */ lwc1 $f2, 0x74($s3) +/* C40EE0 80241130 468010A0 */ cvt.s.w $f2, $f2 +/* C40EE4 80241134 4600103C */ c.lt.s $f2, $f0 +/* C40EE8 80241138 00000000 */ nop +/* C40EEC 8024113C 45030001 */ bc1tl .L80241144 +/* C40EF0 80241140 0000882D */ daddu $s1, $zero, $zero +.L80241144: +/* C40EF4 80241144 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C40EF8 80241148 C60E000C */ lwc1 $f14, 0xc($s0) +/* C40EFC 8024114C 3C014387 */ lui $at, 0x4387 +/* C40F00 80241150 4481A000 */ mtc1 $at, $f20 +/* C40F04 80241154 0C00A70A */ jal get_clamped_angle_diff +/* C40F08 80241158 00000000 */ nop +/* C40F0C 8024115C 0C00A6C9 */ jal clamp_angle +/* C40F10 80241160 46000306 */ mov.s $f12, $f0 +/* C40F14 80241164 3C018024 */ lui $at, 0x8024 +/* C40F18 80241168 D4226BA0 */ ldc1 $f2, 0x6ba0($at) +/* C40F1C 8024116C 46000021 */ cvt.d.s $f0, $f0 +/* C40F20 80241170 4622003C */ c.lt.d $f0, $f2 +/* C40F24 80241174 00000000 */ nop +/* C40F28 80241178 45000003 */ bc1f .L80241188 +/* C40F2C 8024117C 00000000 */ nop +/* C40F30 80241180 3C0142B4 */ lui $at, 0x42b4 +/* C40F34 80241184 4481A000 */ mtc1 $at, $f20 +.L80241188: +/* C40F38 80241188 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C40F3C 8024118C 8E820000 */ lw $v0, ($s4) +/* C40F40 80241190 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C40F44 80241194 8C460028 */ lw $a2, 0x28($v0) +/* C40F48 80241198 0C00A720 */ jal atan2 +/* C40F4C 8024119C 8C470030 */ lw $a3, 0x30($v0) +/* C40F50 802411A0 4600A306 */ mov.s $f12, $f20 +/* C40F54 802411A4 0C00A70A */ jal get_clamped_angle_diff +/* C40F58 802411A8 46000386 */ mov.s $f14, $f0 +/* C40F5C 802411AC C6620078 */ lwc1 $f2, 0x78($s3) +/* C40F60 802411B0 468010A0 */ cvt.s.w $f2, $f2 +/* C40F64 802411B4 46000005 */ abs.s $f0, $f0 +/* C40F68 802411B8 4600103C */ c.lt.s $f2, $f0 +/* C40F6C 802411BC 00000000 */ nop +/* C40F70 802411C0 45030001 */ bc1tl .L802411C8 +/* C40F74 802411C4 0000882D */ daddu $s1, $zero, $zero +.L802411C8: +/* C40F78 802411C8 8E820000 */ lw $v0, ($s4) +/* C40F7C 802411CC C600003C */ lwc1 $f0, 0x3c($s0) +/* C40F80 802411D0 C442002C */ lwc1 $f2, 0x2c($v0) +/* C40F84 802411D4 860200A8 */ lh $v0, 0xa8($s0) +/* C40F88 802411D8 46020001 */ sub.s $f0, $f0, $f2 +/* C40F8C 802411DC 44821000 */ mtc1 $v0, $f2 +/* C40F90 802411E0 00000000 */ nop +/* C40F94 802411E4 468010A1 */ cvt.d.w $f2, $f2 +/* C40F98 802411E8 46221080 */ add.d $f2, $f2, $f2 +/* C40F9C 802411EC 46000005 */ abs.s $f0, $f0 +/* C40FA0 802411F0 46000021 */ cvt.d.s $f0, $f0 +/* C40FA4 802411F4 4620103E */ c.le.d $f2, $f0 +/* C40FA8 802411F8 00000000 */ nop +/* C40FAC 802411FC 45030001 */ bc1tl .L80241204 +/* C40FB0 80241200 0000882D */ daddu $s1, $zero, $zero +.L80241204: +/* C40FB4 80241204 3C038011 */ lui $v1, 0x8011 +/* C40FB8 80241208 8063EBB3 */ lb $v1, -0x144d($v1) +/* C40FBC 8024120C 24020009 */ addiu $v0, $zero, 9 +/* C40FC0 80241210 50620001 */ beql $v1, $v0, .L80241218 +/* C40FC4 80241214 0000882D */ daddu $s1, $zero, $zero +.L80241218: +/* C40FC8 80241218 24020007 */ addiu $v0, $zero, 7 +/* C40FCC 8024121C 50620001 */ beql $v1, $v0, .L80241224 +/* C40FD0 80241220 0000882D */ daddu $s1, $zero, $zero +.L80241224: +/* C40FD4 80241224 0220102D */ daddu $v0, $s1, $zero +/* C40FD8 80241228 8FBF0024 */ lw $ra, 0x24($sp) +/* C40FDC 8024122C 8FB40020 */ lw $s4, 0x20($sp) +/* C40FE0 80241230 8FB3001C */ lw $s3, 0x1c($sp) +/* C40FE4 80241234 8FB20018 */ lw $s2, 0x18($sp) +/* C40FE8 80241238 8FB10014 */ lw $s1, 0x14($sp) +/* C40FEC 8024123C 8FB00010 */ lw $s0, 0x10($sp) +/* C40FF0 80241240 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C40FF4 80241244 03E00008 */ jr $ra +/* C40FF8 80241248 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_8024124C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024124C_C3FDB0.s new file mode 100644 index 0000000000..55d4c2013a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024124C_C3FDB0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024124C_C40FFC +/* C40FFC 8024124C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C41000 80241250 AFB40028 */ sw $s4, 0x28($sp) +/* C41004 80241254 0080A02D */ daddu $s4, $a0, $zero +/* C41008 80241258 AFBF002C */ sw $ra, 0x2c($sp) +/* C4100C 8024125C AFB30024 */ sw $s3, 0x24($sp) +/* C41010 80241260 AFB20020 */ sw $s2, 0x20($sp) +/* C41014 80241264 AFB1001C */ sw $s1, 0x1c($sp) +/* C41018 80241268 AFB00018 */ sw $s0, 0x18($sp) +/* C4101C 8024126C 8E910148 */ lw $s1, 0x148($s4) +/* C41020 80241270 86240008 */ lh $a0, 8($s1) +/* C41024 80241274 0C00EABB */ jal get_npc_unsafe +/* C41028 80241278 00A0802D */ daddu $s0, $a1, $zero +/* C4102C 8024127C 16000005 */ bnez $s0, .L80241294 +/* C41030 80241280 0040902D */ daddu $s2, $v0, $zero +/* C41034 80241284 8E2200B0 */ lw $v0, 0xb0($s1) +/* C41038 80241288 30420004 */ andi $v0, $v0, 4 +/* C4103C 8024128C 10400015 */ beqz $v0, .L802412E4 +/* C41040 80241290 00000000 */ nop +.L80241294: +/* C41044 80241294 AE800070 */ sw $zero, 0x70($s4) +/* C41048 80241298 8E420000 */ lw $v0, ($s2) +/* C4104C 8024129C 3C031F30 */ lui $v1, 0x1f30 +/* C41050 802412A0 A640008E */ sh $zero, 0x8e($s2) +/* C41054 802412A4 34420102 */ ori $v0, $v0, 0x102 +/* C41058 802412A8 AE420000 */ sw $v0, ($s2) +/* C4105C 802412AC 8E220000 */ lw $v0, ($s1) +/* C41060 802412B0 3C01C47A */ lui $at, 0xc47a +/* C41064 802412B4 44810000 */ mtc1 $at, $f0 +/* C41068 802412B8 00431025 */ or $v0, $v0, $v1 +/* C4106C 802412BC AE220000 */ sw $v0, ($s1) +/* C41070 802412C0 AE400038 */ sw $zero, 0x38($s2) +/* C41074 802412C4 E640003C */ swc1 $f0, 0x3c($s2) +/* C41078 802412C8 AE400040 */ sw $zero, 0x40($s2) +/* C4107C 802412CC 8E2300B0 */ lw $v1, 0xb0($s1) +/* C41080 802412D0 30620004 */ andi $v0, $v1, 4 +/* C41084 802412D4 10400003 */ beqz $v0, .L802412E4 +/* C41088 802412D8 2402FFFB */ addiu $v0, $zero, -5 +/* C4108C 802412DC 00621024 */ and $v0, $v1, $v0 +/* C41090 802412E0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802412E4: +/* C41094 802412E4 8E930070 */ lw $s3, 0x70($s4) +/* C41098 802412E8 12600005 */ beqz $s3, .L80241300 +/* C4109C 802412EC 24020001 */ addiu $v0, $zero, 1 +/* C410A0 802412F0 12620048 */ beq $s3, $v0, .L80241414 +/* C410A4 802412F4 00000000 */ nop +/* C410A8 802412F8 08090522 */ j .L80241488 +/* C410AC 802412FC 00000000 */ nop +.L80241300: +/* C410B0 80241300 86240008 */ lh $a0, 8($s1) +/* C410B4 80241304 0C00FB3A */ jal get_enemy +/* C410B8 80241308 2484FFFF */ addiu $a0, $a0, -1 +/* C410BC 8024130C 0040802D */ daddu $s0, $v0, $zero +/* C410C0 80241310 0C00EABB */ jal get_npc_unsafe +/* C410C4 80241314 86040008 */ lh $a0, 8($s0) +/* C410C8 80241318 24030001 */ addiu $v1, $zero, 1 +/* C410CC 8024131C 0040982D */ daddu $s3, $v0, $zero +/* C410D0 80241320 A2230007 */ sb $v1, 7($s1) +/* C410D4 80241324 8E03006C */ lw $v1, 0x6c($s0) +/* C410D8 80241328 24020003 */ addiu $v0, $zero, 3 +/* C410DC 8024132C 14620056 */ bne $v1, $v0, .L80241488 +/* C410E0 80241330 00000000 */ nop +/* C410E4 80241334 8E2500A8 */ lw $a1, 0xa8($s1) +/* C410E8 80241338 10A00003 */ beqz $a1, .L80241348 +/* C410EC 8024133C 0260202D */ daddu $a0, $s3, $zero +/* C410F0 80241340 0C012530 */ jal func_800494C0 +/* C410F4 80241344 0000302D */ daddu $a2, $zero, $zero +.L80241348: +/* C410F8 80241348 27A40010 */ addiu $a0, $sp, 0x10 +/* C410FC 8024134C C6280070 */ lwc1 $f8, 0x70($s1) +/* C41100 80241350 46804220 */ cvt.s.w $f8, $f8 +/* C41104 80241354 C6620034 */ lwc1 $f2, 0x34($s3) +/* C41108 80241358 3C014387 */ lui $at, 0x4387 +/* C4110C 8024135C 44810000 */ mtc1 $at, $f0 +/* C41110 80241360 44064000 */ mfc1 $a2, $f8 +/* C41114 80241364 46020001 */ sub.s $f0, $f0, $f2 +/* C41118 80241368 C6660038 */ lwc1 $f6, 0x38($s3) +/* C4111C 8024136C C6640040 */ lwc1 $f4, 0x40($s3) +/* C41120 80241370 44070000 */ mfc1 $a3, $f0 +/* C41124 80241374 27A50014 */ addiu $a1, $sp, 0x14 +/* C41128 80241378 E7A60010 */ swc1 $f6, 0x10($sp) +/* C4112C 8024137C 0C00A7E7 */ jal add_vec2D_polar +/* C41130 80241380 E7A40014 */ swc1 $f4, 0x14($sp) +/* C41134 80241384 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C41138 80241388 4600020D */ trunc.w.s $f8, $f0 +/* C4113C 8024138C 44024000 */ mfc1 $v0, $f8 +/* C41140 80241390 E6400038 */ swc1 $f0, 0x38($s2) +/* C41144 80241394 A6220010 */ sh $v0, 0x10($s1) +/* C41148 80241398 C660003C */ lwc1 $f0, 0x3c($s3) +/* C4114C 8024139C C622006C */ lwc1 $f2, 0x6c($s1) +/* C41150 802413A0 468010A0 */ cvt.s.w $f2, $f2 +/* C41154 802413A4 46020000 */ add.s $f0, $f0, $f2 +/* C41158 802413A8 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C4115C 802413AC 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C41160 802413B0 E640003C */ swc1 $f0, 0x3c($s2) +/* C41164 802413B4 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C41168 802413B8 4600020D */ trunc.w.s $f8, $f0 +/* C4116C 802413BC 44024000 */ mfc1 $v0, $f8 +/* C41170 802413C0 00000000 */ nop +/* C41174 802413C4 A6220012 */ sh $v0, 0x12($s1) +/* C41178 802413C8 4600120D */ trunc.w.s $f8, $f2 +/* C4117C 802413CC 44024000 */ mfc1 $v0, $f8 +/* C41180 802413D0 E6420040 */ swc1 $f2, 0x40($s2) +/* C41184 802413D4 A6220014 */ sh $v0, 0x14($s1) +/* C41188 802413D8 8C660028 */ lw $a2, 0x28($v1) +/* C4118C 802413DC 8C670030 */ lw $a3, 0x30($v1) +/* C41190 802413E0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C41194 802413E4 0C00A720 */ jal atan2 +/* C41198 802413E8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C4119C 802413EC 3C03E0EF */ lui $v1, 0xe0ef +/* C411A0 802413F0 E640000C */ swc1 $f0, 0xc($s2) +/* C411A4 802413F4 8E220000 */ lw $v0, ($s1) +/* C411A8 802413F8 3463FFFF */ ori $v1, $v1, 0xffff +/* C411AC 802413FC 00431024 */ and $v0, $v0, $v1 +/* C411B0 80241400 AE220000 */ sw $v0, ($s1) +/* C411B4 80241404 24020001 */ addiu $v0, $zero, 1 +/* C411B8 80241408 A640008E */ sh $zero, 0x8e($s2) +/* C411BC 8024140C 08090522 */ j .L80241488 +/* C411C0 80241410 AE820070 */ sw $v0, 0x70($s4) +.L80241414: +/* C411C4 80241414 86240008 */ lh $a0, 8($s1) +/* C411C8 80241418 0C00FB3A */ jal get_enemy +/* C411CC 8024141C 2484FFFF */ addiu $a0, $a0, -1 +/* C411D0 80241420 0040802D */ daddu $s0, $v0, $zero +/* C411D4 80241424 0C00EABB */ jal get_npc_unsafe +/* C411D8 80241428 86040008 */ lh $a0, 8($s0) +/* C411DC 8024142C 9642008E */ lhu $v0, 0x8e($s2) +/* C411E0 80241430 24420001 */ addiu $v0, $v0, 1 +/* C411E4 80241434 A642008E */ sh $v0, 0x8e($s2) +/* C411E8 80241438 00021400 */ sll $v0, $v0, 0x10 +/* C411EC 8024143C 8E23007C */ lw $v1, 0x7c($s1) +/* C411F0 80241440 00021403 */ sra $v0, $v0, 0x10 +/* C411F4 80241444 0043102A */ slt $v0, $v0, $v1 +/* C411F8 80241448 50400001 */ beql $v0, $zero, .L80241450 +/* C411FC 8024144C A2200007 */ sb $zero, 7($s1) +.L80241450: +/* C41200 80241450 8E03006C */ lw $v1, 0x6c($s0) +/* C41204 80241454 24020004 */ addiu $v0, $zero, 4 +/* C41208 80241458 1462000B */ bne $v1, $v0, .L80241488 +/* C4120C 8024145C 3C021F10 */ lui $v0, 0x1f10 +/* C41210 80241460 8E230000 */ lw $v1, ($s1) +/* C41214 80241464 3C01C47A */ lui $at, 0xc47a +/* C41218 80241468 44810000 */ mtc1 $at, $f0 +/* C4121C 8024146C 00621825 */ or $v1, $v1, $v0 +/* C41220 80241470 AE230000 */ sw $v1, ($s1) +/* C41224 80241474 AE400038 */ sw $zero, 0x38($s2) +/* C41228 80241478 E640003C */ swc1 $f0, 0x3c($s2) +/* C4122C 8024147C AE400040 */ sw $zero, 0x40($s2) +/* C41230 80241480 A2330007 */ sb $s3, 7($s1) +/* C41234 80241484 AE800070 */ sw $zero, 0x70($s4) +.L80241488: +/* C41238 80241488 8FBF002C */ lw $ra, 0x2c($sp) +/* C4123C 8024148C 8FB40028 */ lw $s4, 0x28($sp) +/* C41240 80241490 8FB30024 */ lw $s3, 0x24($sp) +/* C41244 80241494 8FB20020 */ lw $s2, 0x20($sp) +/* C41248 80241498 8FB1001C */ lw $s1, 0x1c($sp) +/* C4124C 8024149C 8FB00018 */ lw $s0, 0x18($sp) +/* C41250 802414A0 0000102D */ daddu $v0, $zero, $zero +/* C41254 802414A4 03E00008 */ jr $ra +/* C41258 802414A8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802414AC.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802414AC.s new file mode 100644 index 0000000000..ffcc7e6e4e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802414AC.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414AC +/* C4125C 802414AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C41260 802414B0 AFB20038 */ sw $s2, 0x38($sp) +/* C41264 802414B4 0080902D */ daddu $s2, $a0, $zero +/* C41268 802414B8 AFBF0048 */ sw $ra, 0x48($sp) +/* C4126C 802414BC AFB50044 */ sw $s5, 0x44($sp) +/* C41270 802414C0 AFB40040 */ sw $s4, 0x40($sp) +/* C41274 802414C4 AFB3003C */ sw $s3, 0x3c($sp) +/* C41278 802414C8 AFB10034 */ sw $s1, 0x34($sp) +/* C4127C 802414CC AFB00030 */ sw $s0, 0x30($sp) +/* C41280 802414D0 8E510148 */ lw $s1, 0x148($s2) +/* C41284 802414D4 86240008 */ lh $a0, 8($s1) +/* C41288 802414D8 0C00EABB */ jal get_npc_unsafe +/* C4128C 802414DC 00A0802D */ daddu $s0, $a1, $zero +/* C41290 802414E0 8E43000C */ lw $v1, 0xc($s2) +/* C41294 802414E4 0240202D */ daddu $a0, $s2, $zero +/* C41298 802414E8 8C650000 */ lw $a1, ($v1) +/* C4129C 802414EC 0C0B1EAF */ jal get_variable +/* C412A0 802414F0 0040A82D */ daddu $s5, $v0, $zero +/* C412A4 802414F4 AFA00010 */ sw $zero, 0x10($sp) +/* C412A8 802414F8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C412AC 802414FC 8C630030 */ lw $v1, 0x30($v1) +/* C412B0 80241500 AFA30014 */ sw $v1, 0x14($sp) +/* C412B4 80241504 8E2300D0 */ lw $v1, 0xd0($s1) +/* C412B8 80241508 8C63001C */ lw $v1, 0x1c($v1) +/* C412BC 8024150C AFA30018 */ sw $v1, 0x18($sp) +/* C412C0 80241510 8E2300D0 */ lw $v1, 0xd0($s1) +/* C412C4 80241514 8C630024 */ lw $v1, 0x24($v1) +/* C412C8 80241518 AFA3001C */ sw $v1, 0x1c($sp) +/* C412CC 8024151C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C412D0 80241520 8C630028 */ lw $v1, 0x28($v1) +/* C412D4 80241524 27B40010 */ addiu $s4, $sp, 0x10 +/* C412D8 80241528 AFA30020 */ sw $v1, 0x20($sp) +/* C412DC 8024152C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C412E0 80241530 3C014282 */ lui $at, 0x4282 +/* C412E4 80241534 44810000 */ mtc1 $at, $f0 +/* C412E8 80241538 8C63002C */ lw $v1, 0x2c($v1) +/* C412EC 8024153C 0040982D */ daddu $s3, $v0, $zero +/* C412F0 80241540 E7A00028 */ swc1 $f0, 0x28($sp) +/* C412F4 80241544 A7A0002C */ sh $zero, 0x2c($sp) +/* C412F8 80241548 16000005 */ bnez $s0, .L80241560 +/* C412FC 8024154C AFA30024 */ sw $v1, 0x24($sp) +/* C41300 80241550 8E2200B0 */ lw $v0, 0xb0($s1) +/* C41304 80241554 30420004 */ andi $v0, $v0, 4 +/* C41308 80241558 10400020 */ beqz $v0, .L802415DC +/* C4130C 8024155C 00000000 */ nop +.L80241560: +/* C41310 80241560 2404F7FF */ addiu $a0, $zero, -0x801 +/* C41314 80241564 AE400070 */ sw $zero, 0x70($s2) +/* C41318 80241568 A6A0008E */ sh $zero, 0x8e($s5) +/* C4131C 8024156C 8E2200CC */ lw $v0, 0xcc($s1) +/* C41320 80241570 8EA30000 */ lw $v1, ($s5) +/* C41324 80241574 8C420000 */ lw $v0, ($v0) +/* C41328 80241578 00641824 */ and $v1, $v1, $a0 +/* C4132C 8024157C AEA30000 */ sw $v1, ($s5) +/* C41330 80241580 AEA20028 */ sw $v0, 0x28($s5) +/* C41334 80241584 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41338 80241588 8C420034 */ lw $v0, 0x34($v0) +/* C4133C 8024158C 54400005 */ bnel $v0, $zero, .L802415A4 +/* C41340 80241590 2402FDFF */ addiu $v0, $zero, -0x201 +/* C41344 80241594 34620200 */ ori $v0, $v1, 0x200 +/* C41348 80241598 2403FFF7 */ addiu $v1, $zero, -9 +/* C4134C 8024159C 0809056B */ j .L802415AC +/* C41350 802415A0 00431024 */ and $v0, $v0, $v1 +.L802415A4: +/* C41354 802415A4 00621024 */ and $v0, $v1, $v0 +/* C41358 802415A8 34420008 */ ori $v0, $v0, 8 +.L802415AC: +/* C4135C 802415AC AEA20000 */ sw $v0, ($s5) +/* C41360 802415B0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C41364 802415B4 30420004 */ andi $v0, $v0, 4 +/* C41368 802415B8 10400007 */ beqz $v0, .L802415D8 +/* C4136C 802415BC 24020063 */ addiu $v0, $zero, 0x63 +/* C41370 802415C0 AE420070 */ sw $v0, 0x70($s2) +/* C41374 802415C4 AE400074 */ sw $zero, 0x74($s2) +/* C41378 802415C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4137C 802415CC 2403FFFB */ addiu $v1, $zero, -5 +/* C41380 802415D0 00431024 */ and $v0, $v0, $v1 +/* C41384 802415D4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802415D8: +/* C41388 802415D8 AE20006C */ sw $zero, 0x6c($s1) +.L802415DC: +/* C4138C 802415DC 8E420070 */ lw $v0, 0x70($s2) +/* C41390 802415E0 2842001E */ slti $v0, $v0, 0x1e +/* C41394 802415E4 10400009 */ beqz $v0, .L8024160C +/* C41398 802415E8 00000000 */ nop +/* C4139C 802415EC 8E22006C */ lw $v0, 0x6c($s1) +/* C413A0 802415F0 14400006 */ bnez $v0, .L8024160C +/* C413A4 802415F4 00000000 */ nop +/* C413A8 802415F8 0C090426 */ jal func_80241098 +/* C413AC 802415FC 0240202D */ daddu $a0, $s2, $zero +/* C413B0 80241600 10400002 */ beqz $v0, .L8024160C +/* C413B4 80241604 2402001E */ addiu $v0, $zero, 0x1e +/* C413B8 80241608 AE420070 */ sw $v0, 0x70($s2) +.L8024160C: +/* C413BC 8024160C 8E430070 */ lw $v1, 0x70($s2) +/* C413C0 80241610 2C620064 */ sltiu $v0, $v1, 0x64 +/* C413C4 80241614 10400048 */ beqz $v0, .L80241738 +/* C413C8 80241618 00031080 */ sll $v0, $v1, 2 +/* C413CC 8024161C 3C018024 */ lui $at, 0x8024 +/* C413D0 80241620 00220821 */ addu $at, $at, $v0 +/* C413D4 80241624 8C226BA8 */ lw $v0, 0x6ba8($at) +/* C413D8 80241628 00400008 */ jr $v0 +/* C413DC 8024162C 00000000 */ nop +/* C413E0 80241630 0240202D */ daddu $a0, $s2, $zero +/* C413E4 80241634 0260282D */ daddu $a1, $s3, $zero +/* C413E8 80241638 0C012568 */ jal func_800495A0 +/* C413EC 8024163C 0280302D */ daddu $a2, $s4, $zero +/* C413F0 80241640 0240202D */ daddu $a0, $s2, $zero +/* C413F4 80241644 0260282D */ daddu $a1, $s3, $zero +/* C413F8 80241648 0C0125AE */ jal func_800496B8 +/* C413FC 8024164C 0280302D */ daddu $a2, $s4, $zero +/* C41400 80241650 080905CE */ j .L80241738 +/* C41404 80241654 00000000 */ nop +/* C41408 80241658 0240202D */ daddu $a0, $s2, $zero +/* C4140C 8024165C 0260282D */ daddu $a1, $s3, $zero +/* C41410 80241660 0C0126D1 */ jal func_80049B44 +/* C41414 80241664 0280302D */ daddu $a2, $s4, $zero +/* C41418 80241668 0240202D */ daddu $a0, $s2, $zero +/* C4141C 8024166C 0260282D */ daddu $a1, $s3, $zero +/* C41420 80241670 0C012701 */ jal func_80049C04 +/* C41424 80241674 0280302D */ daddu $a2, $s4, $zero +/* C41428 80241678 080905CE */ j .L80241738 +/* C4142C 8024167C 00000000 */ nop +/* C41430 80241680 0240202D */ daddu $a0, $s2, $zero +/* C41434 80241684 0260282D */ daddu $a1, $s3, $zero +/* C41438 80241688 0C01278F */ jal func_80049E3C +/* C4143C 8024168C 0280302D */ daddu $a2, $s4, $zero +/* C41440 80241690 0240202D */ daddu $a0, $s2, $zero +/* C41444 80241694 0260282D */ daddu $a1, $s3, $zero +/* C41448 80241698 0C0127B3 */ jal func_80049ECC +/* C4144C 8024169C 0280302D */ daddu $a2, $s4, $zero +/* C41450 802416A0 080905CE */ j .L80241738 +/* C41454 802416A4 00000000 */ nop +/* C41458 802416A8 0240202D */ daddu $a0, $s2, $zero +/* C4145C 802416AC 0260282D */ daddu $a1, $s3, $zero +/* C41460 802416B0 0C0127DF */ jal func_80049F7C +/* C41464 802416B4 0280302D */ daddu $a2, $s4, $zero +/* C41468 802416B8 0240202D */ daddu $a0, $s2, $zero +/* C4146C 802416BC 0260282D */ daddu $a1, $s3, $zero +/* C41470 802416C0 0C012849 */ jal func_8004A124 +/* C41474 802416C4 0280302D */ daddu $a2, $s4, $zero +/* C41478 802416C8 080905CE */ j .L80241738 +/* C4147C 802416CC 00000000 */ nop +/* C41480 802416D0 0240202D */ daddu $a0, $s2, $zero +/* C41484 802416D4 0260282D */ daddu $a1, $s3, $zero +/* C41488 802416D8 0C0128FA */ jal func_8004A3E8 +/* C4148C 802416DC 0280302D */ daddu $a2, $s4, $zero +/* C41490 802416E0 080905CE */ j .L80241738 +/* C41494 802416E4 00000000 */ nop +/* C41498 802416E8 0C0903A4 */ jal func_80240E90 +/* C4149C 802416EC 0240202D */ daddu $a0, $s2, $zero +/* C414A0 802416F0 0C0903BF */ jal func_80240EFC +/* C414A4 802416F4 0240202D */ daddu $a0, $s2, $zero +/* C414A8 802416F8 8E430070 */ lw $v1, 0x70($s2) +/* C414AC 802416FC 24020020 */ addiu $v0, $zero, 0x20 +/* C414B0 80241700 1462000D */ bne $v1, $v0, .L80241738 +/* C414B4 80241704 00000000 */ nop +/* C414B8 80241708 0C0903DB */ jal func_80240F6C +/* C414BC 8024170C 0240202D */ daddu $a0, $s2, $zero +/* C414C0 80241710 8E430070 */ lw $v1, 0x70($s2) +/* C414C4 80241714 24020021 */ addiu $v0, $zero, 0x21 +/* C414C8 80241718 14620007 */ bne $v1, $v0, .L80241738 +/* C414CC 8024171C 00000000 */ nop +/* C414D0 80241720 0C090411 */ jal func_80241044 +/* C414D4 80241724 0240202D */ daddu $a0, $s2, $zero +/* C414D8 80241728 080905CE */ j .L80241738 +/* C414DC 8024172C 00000000 */ nop +/* C414E0 80241730 0C0129CF */ jal func_8004A73C +/* C414E4 80241734 0240202D */ daddu $a0, $s2, $zero +.L80241738: +/* C414E8 80241738 8FBF0048 */ lw $ra, 0x48($sp) +/* C414EC 8024173C 8FB50044 */ lw $s5, 0x44($sp) +/* C414F0 80241740 8FB40040 */ lw $s4, 0x40($sp) +/* C414F4 80241744 8FB3003C */ lw $s3, 0x3c($sp) +/* C414F8 80241748 8FB20038 */ lw $s2, 0x38($sp) +/* C414FC 8024174C 8FB10034 */ lw $s1, 0x34($sp) +/* C41500 80241750 8FB00030 */ lw $s0, 0x30($sp) +/* C41504 80241754 0000102D */ daddu $v0, $zero, $zero +/* C41508 80241758 03E00008 */ jr $ra +/* C4150C 8024175C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241760_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241760_C3FDB0.s new file mode 100644 index 0000000000..306920020c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241760_C3FDB0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241760_C41510 +/* C41510 80241760 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C41514 80241764 AFB3002C */ sw $s3, 0x2c($sp) +/* C41518 80241768 0080982D */ daddu $s3, $a0, $zero +/* C4151C 8024176C AFBF0030 */ sw $ra, 0x30($sp) +/* C41520 80241770 AFB20028 */ sw $s2, 0x28($sp) +/* C41524 80241774 AFB10024 */ sw $s1, 0x24($sp) +/* C41528 80241778 AFB00020 */ sw $s0, 0x20($sp) +/* C4152C 8024177C 8E710148 */ lw $s1, 0x148($s3) +/* C41530 80241780 86240008 */ lh $a0, 8($s1) +/* C41534 80241784 0C00EABB */ jal get_npc_unsafe +/* C41538 80241788 00A0902D */ daddu $s2, $a1, $zero +/* C4153C 8024178C 8E440004 */ lw $a0, 4($s2) +/* C41540 80241790 0040802D */ daddu $s0, $v0, $zero +/* C41544 80241794 00041FC2 */ srl $v1, $a0, 0x1f +/* C41548 80241798 00832021 */ addu $a0, $a0, $v1 +/* C4154C 8024179C 00042043 */ sra $a0, $a0, 1 +/* C41550 802417A0 0C00A67F */ jal rand_int +/* C41554 802417A4 24840001 */ addiu $a0, $a0, 1 +/* C41558 802417A8 8E430004 */ lw $v1, 4($s2) +/* C4155C 802417AC 000327C2 */ srl $a0, $v1, 0x1f +/* C41560 802417B0 00641821 */ addu $v1, $v1, $a0 +/* C41564 802417B4 00031843 */ sra $v1, $v1, 1 +/* C41568 802417B8 00621821 */ addu $v1, $v1, $v0 +/* C4156C 802417BC A603008E */ sh $v1, 0x8e($s0) +/* C41570 802417C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C41574 802417C4 C6000040 */ lwc1 $f0, 0x40($s0) +/* C41578 802417C8 C4640000 */ lwc1 $f4, ($v1) +/* C4157C 802417CC 46802120 */ cvt.s.w $f4, $f4 +/* C41580 802417D0 C4620008 */ lwc1 $f2, 8($v1) +/* C41584 802417D4 468010A0 */ cvt.s.w $f2, $f2 +/* C41588 802417D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C4158C 802417DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41590 802417E0 44061000 */ mfc1 $a2, $f2 +/* C41594 802417E4 C440000C */ lwc1 $f0, 0xc($v0) +/* C41598 802417E8 46800020 */ cvt.s.w $f0, $f0 +/* C4159C 802417EC E7A00014 */ swc1 $f0, 0x14($sp) +/* C415A0 802417F0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C415A4 802417F4 44052000 */ mfc1 $a1, $f4 +/* C415A8 802417F8 C4400010 */ lwc1 $f0, 0x10($v0) +/* C415AC 802417FC 46800020 */ cvt.s.w $f0, $f0 +/* C415B0 80241800 E7A00018 */ swc1 $f0, 0x18($sp) +/* C415B4 80241804 8C640018 */ lw $a0, 0x18($v1) +/* C415B8 80241808 0C0123F5 */ jal is_point_within_region +/* C415BC 8024180C 8E070038 */ lw $a3, 0x38($s0) +/* C415C0 80241810 1040000E */ beqz $v0, .L8024184C +/* C415C4 80241814 00000000 */ nop +/* C415C8 80241818 8E2200D0 */ lw $v0, 0xd0($s1) +/* C415CC 8024181C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C415D0 80241820 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C415D4 80241824 C4460000 */ lwc1 $f6, ($v0) +/* C415D8 80241828 468031A0 */ cvt.s.w $f6, $f6 +/* C415DC 8024182C 44063000 */ mfc1 $a2, $f6 +/* C415E0 80241830 C4460008 */ lwc1 $f6, 8($v0) +/* C415E4 80241834 468031A0 */ cvt.s.w $f6, $f6 +/* C415E8 80241838 44073000 */ mfc1 $a3, $f6 +/* C415EC 8024183C 0C00A720 */ jal atan2 +/* C415F0 80241840 00000000 */ nop +/* C415F4 80241844 0809061F */ j .L8024187C +/* C415F8 80241848 E600000C */ swc1 $f0, 0xc($s0) +.L8024184C: +/* C415FC 8024184C 0C00A67F */ jal rand_int +/* C41600 80241850 2404003C */ addiu $a0, $zero, 0x3c +/* C41604 80241854 C60C000C */ lwc1 $f12, 0xc($s0) +/* C41608 80241858 44820000 */ mtc1 $v0, $f0 +/* C4160C 8024185C 00000000 */ nop +/* C41610 80241860 46800020 */ cvt.s.w $f0, $f0 +/* C41614 80241864 46006300 */ add.s $f12, $f12, $f0 +/* C41618 80241868 3C0141F0 */ lui $at, 0x41f0 +/* C4161C 8024186C 44810000 */ mtc1 $at, $f0 +/* C41620 80241870 0C00A6C9 */ jal clamp_angle +/* C41624 80241874 46006301 */ sub.s $f12, $f12, $f0 +/* C41628 80241878 E600000C */ swc1 $f0, 0xc($s0) +.L8024187C: +/* C4162C 8024187C 8E2200CC */ lw $v0, 0xcc($s1) +/* C41630 80241880 8C420004 */ lw $v0, 4($v0) +/* C41634 80241884 AE020028 */ sw $v0, 0x28($s0) +/* C41638 80241888 AE600074 */ sw $zero, 0x74($s3) +/* C4163C 8024188C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41640 80241890 8C420014 */ lw $v0, 0x14($v0) +/* C41644 80241894 04410004 */ bgez $v0, .L802418A8 +/* C41648 80241898 00000000 */ nop +/* C4164C 8024189C C6400000 */ lwc1 $f0, ($s2) +/* C41650 802418A0 08090632 */ j .L802418C8 +/* C41654 802418A4 E6000018 */ swc1 $f0, 0x18($s0) +.L802418A8: +/* C41658 802418A8 3C018024 */ lui $at, 0x8024 +/* C4165C 802418AC D4226D38 */ ldc1 $f2, 0x6d38($at) +/* C41660 802418B0 44820000 */ mtc1 $v0, $f0 +/* C41664 802418B4 00000000 */ nop +/* C41668 802418B8 46800021 */ cvt.d.w $f0, $f0 +/* C4166C 802418BC 46220003 */ div.d $f0, $f0, $f2 +/* C41670 802418C0 46200020 */ cvt.s.d $f0, $f0 +/* C41674 802418C4 E6000018 */ swc1 $f0, 0x18($s0) +.L802418C8: +/* C41678 802418C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C4167C 802418CC 3C014059 */ lui $at, 0x4059 +/* C41680 802418D0 44811800 */ mtc1 $at, $f3 +/* C41684 802418D4 44801000 */ mtc1 $zero, $f2 +/* C41688 802418D8 46000021 */ cvt.d.s $f0, $f0 +/* C4168C 802418DC 46220002 */ mul.d $f0, $f0, $f2 +/* C41690 802418E0 00000000 */ nop +/* C41694 802418E4 24020001 */ addiu $v0, $zero, 1 +/* C41698 802418E8 4620018D */ trunc.w.d $f6, $f0 +/* C4169C 802418EC E626007C */ swc1 $f6, 0x7c($s1) +/* C416A0 802418F0 AE620070 */ sw $v0, 0x70($s3) +/* C416A4 802418F4 8FBF0030 */ lw $ra, 0x30($sp) +/* C416A8 802418F8 8FB3002C */ lw $s3, 0x2c($sp) +/* C416AC 802418FC 8FB20028 */ lw $s2, 0x28($sp) +/* C416B0 80241900 8FB10024 */ lw $s1, 0x24($sp) +/* C416B4 80241904 8FB00020 */ lw $s0, 0x20($sp) +/* C416B8 80241908 03E00008 */ jr $ra +/* C416BC 8024190C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241910_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241910_C3FDB0.s new file mode 100644 index 0000000000..b814fbffa2 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241910_C3FDB0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241910_C416C0 +/* C416C0 80241910 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C416C4 80241914 AFB3004C */ sw $s3, 0x4c($sp) +/* C416C8 80241918 0080982D */ daddu $s3, $a0, $zero +/* C416CC 8024191C AFBF0058 */ sw $ra, 0x58($sp) +/* C416D0 80241920 AFB50054 */ sw $s5, 0x54($sp) +/* C416D4 80241924 AFB40050 */ sw $s4, 0x50($sp) +/* C416D8 80241928 AFB20048 */ sw $s2, 0x48($sp) +/* C416DC 8024192C AFB10044 */ sw $s1, 0x44($sp) +/* C416E0 80241930 AFB00040 */ sw $s0, 0x40($sp) +/* C416E4 80241934 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C416E8 80241938 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C416EC 8024193C F7B60068 */ sdc1 $f22, 0x68($sp) +/* C416F0 80241940 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C416F4 80241944 8E710148 */ lw $s1, 0x148($s3) +/* C416F8 80241948 00A0902D */ daddu $s2, $a1, $zero +/* C416FC 8024194C 86240008 */ lh $a0, 8($s1) +/* C41700 80241950 0C00EABB */ jal get_npc_unsafe +/* C41704 80241954 00C0A82D */ daddu $s5, $a2, $zero +/* C41708 80241958 0040802D */ daddu $s0, $v0, $zero +/* C4170C 8024195C 0000A02D */ daddu $s4, $zero, $zero +/* C41710 80241960 C624007C */ lwc1 $f4, 0x7c($s1) +/* C41714 80241964 46802120 */ cvt.s.w $f4, $f4 +/* C41718 80241968 C6220088 */ lwc1 $f2, 0x88($s1) +/* C4171C 8024196C 468010A0 */ cvt.s.w $f2, $f2 +/* C41720 80241970 460010A1 */ cvt.d.s $f2, $f2 +/* C41724 80241974 46002121 */ cvt.d.s $f4, $f4 +/* C41728 80241978 C600003C */ lwc1 $f0, 0x3c($s0) +/* C4172C 8024197C 3C014059 */ lui $at, 0x4059 +/* C41730 80241980 44813800 */ mtc1 $at, $f7 +/* C41734 80241984 44803000 */ mtc1 $zero, $f6 +/* C41738 80241988 46000021 */ cvt.d.s $f0, $f0 +/* C4173C 8024198C 46260002 */ mul.d $f0, $f0, $f6 +/* C41740 80241990 00000000 */ nop +/* C41744 80241994 24020001 */ addiu $v0, $zero, 1 +/* C41748 80241998 8E24006C */ lw $a0, 0x6c($s1) +/* C4174C 8024199C 46261083 */ div.d $f2, $f2, $f6 +/* C41750 802419A0 462010A0 */ cvt.s.d $f2, $f2 +/* C41754 802419A4 46262103 */ div.d $f4, $f4, $f6 +/* C41758 802419A8 46202520 */ cvt.s.d $f20, $f4 +/* C4175C 802419AC 30830011 */ andi $v1, $a0, 0x11 +/* C41760 802419B0 4620020D */ trunc.w.d $f8, $f0 +/* C41764 802419B4 E628007C */ swc1 $f8, 0x7c($s1) +/* C41768 802419B8 C6200078 */ lwc1 $f0, 0x78($s1) +/* C4176C 802419BC 46800020 */ cvt.s.w $f0, $f0 +/* C41770 802419C0 46000021 */ cvt.d.s $f0, $f0 +/* C41774 802419C4 46260003 */ div.d $f0, $f0, $f6 +/* C41778 802419C8 462006A0 */ cvt.s.d $f26, $f0 +/* C4177C 802419CC C6200070 */ lwc1 $f0, 0x70($s1) +/* C41780 802419D0 46800020 */ cvt.s.w $f0, $f0 +/* C41784 802419D4 46000021 */ cvt.d.s $f0, $f0 +/* C41788 802419D8 46260003 */ div.d $f0, $f0, $f6 +/* C4178C 802419DC 462005A0 */ cvt.s.d $f22, $f0 +/* C41790 802419E0 14620025 */ bne $v1, $v0, .L80241A78 +/* C41794 802419E4 4602D600 */ add.s $f24, $f26, $f2 +/* C41798 802419E8 8E020000 */ lw $v0, ($s0) +/* C4179C 802419EC 30420008 */ andi $v0, $v0, 8 +/* C417A0 802419F0 10400009 */ beqz $v0, .L80241A18 +/* C417A4 802419F4 27A50028 */ addiu $a1, $sp, 0x28 +/* C417A8 802419F8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C417AC 802419FC 4600C001 */ sub.s $f0, $f24, $f0 +/* C417B0 80241A00 4600B03C */ c.lt.s $f22, $f0 +/* C417B4 80241A04 00000000 */ nop +/* C417B8 80241A08 4500001B */ bc1f .L80241A78 +/* C417BC 80241A0C 34820010 */ ori $v0, $a0, 0x10 +/* C417C0 80241A10 0809069E */ j .L80241A78 +/* C417C4 80241A14 AE22006C */ sw $v0, 0x6c($s1) +.L80241A18: +/* C417C8 80241A18 27A6002C */ addiu $a2, $sp, 0x2c +/* C417CC 80241A1C C6000038 */ lwc1 $f0, 0x38($s0) +/* C417D0 80241A20 C602003C */ lwc1 $f2, 0x3c($s0) +/* C417D4 80241A24 C6040040 */ lwc1 $f4, 0x40($s0) +/* C417D8 80241A28 3C01447A */ lui $at, 0x447a +/* C417DC 80241A2C 44813000 */ mtc1 $at, $f6 +/* C417E0 80241A30 27A20034 */ addiu $v0, $sp, 0x34 +/* C417E4 80241A34 E7A00028 */ swc1 $f0, 0x28($sp) +/* C417E8 80241A38 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C417EC 80241A3C E7A40030 */ swc1 $f4, 0x30($sp) +/* C417F0 80241A40 E7A60034 */ swc1 $f6, 0x34($sp) +/* C417F4 80241A44 AFA20010 */ sw $v0, 0x10($sp) +/* C417F8 80241A48 8E040080 */ lw $a0, 0x80($s0) +/* C417FC 80241A4C 0C0372DF */ jal func_800DCB7C +/* C41800 80241A50 27A70030 */ addiu $a3, $sp, 0x30 +/* C41804 80241A54 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C41808 80241A58 4600D001 */ sub.s $f0, $f26, $f0 +/* C4180C 80241A5C 4600B03C */ c.lt.s $f22, $f0 +/* C41810 80241A60 00000000 */ nop +/* C41814 80241A64 45000004 */ bc1f .L80241A78 +/* C41818 80241A68 00000000 */ nop +/* C4181C 80241A6C 8E22006C */ lw $v0, 0x6c($s1) +/* C41820 80241A70 34420010 */ ori $v0, $v0, 0x10 +/* C41824 80241A74 AE22006C */ sw $v0, 0x6c($s1) +.L80241A78: +/* C41828 80241A78 8E22006C */ lw $v0, 0x6c($s1) +/* C4182C 80241A7C 24030011 */ addiu $v1, $zero, 0x11 +/* C41830 80241A80 30420011 */ andi $v0, $v0, 0x11 +/* C41834 80241A84 14430039 */ bne $v0, $v1, .L80241B6C +/* C41838 80241A88 00000000 */ nop +/* C4183C 80241A8C 8E020000 */ lw $v0, ($s0) +/* C41840 80241A90 30420008 */ andi $v0, $v0, 8 +/* C41844 80241A94 1040000A */ beqz $v0, .L80241AC0 +/* C41848 80241A98 4600C106 */ mov.s $f4, $f24 +/* C4184C 80241A9C 4614C081 */ sub.s $f2, $f24, $f20 +/* C41850 80241AA0 3C018024 */ lui $at, 0x8024 +/* C41854 80241AA4 D4206D40 */ ldc1 $f0, 0x6d40($at) +/* C41858 80241AA8 460010A1 */ cvt.d.s $f2, $f2 +/* C4185C 80241AAC 46201082 */ mul.d $f2, $f2, $f0 +/* C41860 80241AB0 00000000 */ nop +/* C41864 80241AB4 4600A021 */ cvt.d.s $f0, $f20 +/* C41868 80241AB8 080906C9 */ j .L80241B24 +/* C4186C 80241ABC 46220000 */ add.d $f0, $f0, $f2 +.L80241AC0: +/* C41870 80241AC0 27A50028 */ addiu $a1, $sp, 0x28 +/* C41874 80241AC4 27A6002C */ addiu $a2, $sp, 0x2c +/* C41878 80241AC8 C6000038 */ lwc1 $f0, 0x38($s0) +/* C4187C 80241ACC C6020040 */ lwc1 $f2, 0x40($s0) +/* C41880 80241AD0 3C01447A */ lui $at, 0x447a +/* C41884 80241AD4 44812000 */ mtc1 $at, $f4 +/* C41888 80241AD8 27A20034 */ addiu $v0, $sp, 0x34 +/* C4188C 80241ADC E7B4002C */ swc1 $f20, 0x2c($sp) +/* C41890 80241AE0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C41894 80241AE4 E7A20030 */ swc1 $f2, 0x30($sp) +/* C41898 80241AE8 E7A40034 */ swc1 $f4, 0x34($sp) +/* C4189C 80241AEC AFA20010 */ sw $v0, 0x10($sp) +/* C418A0 80241AF0 8E040080 */ lw $a0, 0x80($s0) +/* C418A4 80241AF4 0C0372DF */ jal func_800DCB7C +/* C418A8 80241AF8 27A70030 */ addiu $a3, $sp, 0x30 +/* C418AC 80241AFC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C418B0 80241B00 461A2100 */ add.s $f4, $f4, $f26 +/* C418B4 80241B04 46142081 */ sub.s $f2, $f4, $f20 +/* C418B8 80241B08 3C018024 */ lui $at, 0x8024 +/* C418BC 80241B0C D4206D48 */ ldc1 $f0, 0x6d48($at) +/* C418C0 80241B10 460010A1 */ cvt.d.s $f2, $f2 +/* C418C4 80241B14 46201082 */ mul.d $f2, $f2, $f0 +/* C418C8 80241B18 00000000 */ nop +/* C418CC 80241B1C 4600A021 */ cvt.d.s $f0, $f20 +/* C418D0 80241B20 46220000 */ add.d $f0, $f0, $f2 +.L80241B24: +/* C418D4 80241B24 46200020 */ cvt.s.d $f0, $f0 +/* C418D8 80241B28 E600003C */ swc1 $f0, 0x3c($s0) +/* C418DC 80241B2C C600003C */ lwc1 $f0, 0x3c($s0) +/* C418E0 80241B30 46002001 */ sub.s $f0, $f4, $f0 +/* C418E4 80241B34 3C013FF0 */ lui $at, 0x3ff0 +/* C418E8 80241B38 44811800 */ mtc1 $at, $f3 +/* C418EC 80241B3C 44801000 */ mtc1 $zero, $f2 +/* C418F0 80241B40 46000005 */ abs.s $f0, $f0 +/* C418F4 80241B44 46000021 */ cvt.d.s $f0, $f0 +/* C418F8 80241B48 4622003C */ c.lt.d $f0, $f2 +/* C418FC 80241B4C 00000000 */ nop +/* C41900 80241B50 45000036 */ bc1f .L80241C2C +/* C41904 80241B54 2403FFEF */ addiu $v1, $zero, -0x11 +/* C41908 80241B58 E604003C */ swc1 $f4, 0x3c($s0) +/* C4190C 80241B5C 8E22006C */ lw $v0, 0x6c($s1) +/* C41910 80241B60 00431024 */ and $v0, $v0, $v1 +/* C41914 80241B64 0809070B */ j .L80241C2C +/* C41918 80241B68 AE22006C */ sw $v0, 0x6c($s1) +.L80241B6C: +/* C4191C 80241B6C 8E220070 */ lw $v0, 0x70($s1) +/* C41920 80241B70 1840002E */ blez $v0, .L80241C2C +/* C41924 80241B74 00000000 */ nop +/* C41928 80241B78 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C4192C 80241B7C 0C00A8BB */ jal sin_deg +/* C41930 80241B80 46806320 */ cvt.s.w $f12, $f12 +/* C41934 80241B84 8E020000 */ lw $v0, ($s0) +/* C41938 80241B88 30420008 */ andi $v0, $v0, 8 +/* C4193C 80241B8C 10400003 */ beqz $v0, .L80241B9C +/* C41940 80241B90 46000506 */ mov.s $f20, $f0 +/* C41944 80241B94 080906F7 */ j .L80241BDC +/* C41948 80241B98 0000102D */ daddu $v0, $zero, $zero +.L80241B9C: +/* C4194C 80241B9C 27A50028 */ addiu $a1, $sp, 0x28 +/* C41950 80241BA0 27A6002C */ addiu $a2, $sp, 0x2c +/* C41954 80241BA4 C6000038 */ lwc1 $f0, 0x38($s0) +/* C41958 80241BA8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C4195C 80241BAC C6040040 */ lwc1 $f4, 0x40($s0) +/* C41960 80241BB0 3C01447A */ lui $at, 0x447a +/* C41964 80241BB4 44813000 */ mtc1 $at, $f6 +/* C41968 80241BB8 27A20034 */ addiu $v0, $sp, 0x34 +/* C4196C 80241BBC E7A00028 */ swc1 $f0, 0x28($sp) +/* C41970 80241BC0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C41974 80241BC4 E7A40030 */ swc1 $f4, 0x30($sp) +/* C41978 80241BC8 E7A60034 */ swc1 $f6, 0x34($sp) +/* C4197C 80241BCC AFA20010 */ sw $v0, 0x10($sp) +/* C41980 80241BD0 8E040080 */ lw $a0, 0x80($s0) +/* C41984 80241BD4 0C0372DF */ jal func_800DCB7C +/* C41988 80241BD8 27A70030 */ addiu $a3, $sp, 0x30 +.L80241BDC: +/* C4198C 80241BDC 10400007 */ beqz $v0, .L80241BFC +/* C41990 80241BE0 00000000 */ nop +/* C41994 80241BE4 4616A082 */ mul.s $f2, $f20, $f22 +/* C41998 80241BE8 00000000 */ nop +/* C4199C 80241BEC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C419A0 80241BF0 461A0000 */ add.s $f0, $f0, $f26 +/* C419A4 80241BF4 08090702 */ j .L80241C08 +/* C419A8 80241BF8 46020000 */ add.s $f0, $f0, $f2 +.L80241BFC: +/* C419AC 80241BFC 4616A002 */ mul.s $f0, $f20, $f22 +/* C419B0 80241C00 00000000 */ nop +/* C419B4 80241C04 4600C000 */ add.s $f0, $f24, $f0 +.L80241C08: +/* C419B8 80241C08 E600003C */ swc1 $f0, 0x3c($s0) +/* C419BC 80241C0C 8E220074 */ lw $v0, 0x74($s1) +/* C419C0 80241C10 2442000A */ addiu $v0, $v0, 0xa +/* C419C4 80241C14 44826000 */ mtc1 $v0, $f12 +/* C419C8 80241C18 00000000 */ nop +/* C419CC 80241C1C 0C00A6C9 */ jal clamp_angle +/* C419D0 80241C20 46806320 */ cvt.s.w $f12, $f12 +/* C419D4 80241C24 4600020D */ trunc.w.s $f8, $f0 +/* C419D8 80241C28 E6280074 */ swc1 $f8, 0x74($s1) +.L80241C2C: +/* C419DC 80241C2C 8E220090 */ lw $v0, 0x90($s1) +/* C419E0 80241C30 1C40004A */ bgtz $v0, .L80241D5C +/* C419E4 80241C34 2442FFFF */ addiu $v0, $v0, -1 +/* C419E8 80241C38 8E430014 */ lw $v1, 0x14($s2) +/* C419EC 80241C3C 04600048 */ bltz $v1, .L80241D60 +/* C419F0 80241C40 00000000 */ nop +/* C419F4 80241C44 8E620074 */ lw $v0, 0x74($s3) +/* C419F8 80241C48 1C400042 */ bgtz $v0, .L80241D54 +/* C419FC 80241C4C 2442FFFF */ addiu $v0, $v0, -1 +/* C41A00 80241C50 AE630074 */ sw $v1, 0x74($s3) +/* C41A04 80241C54 860200A8 */ lh $v0, 0xa8($s0) +/* C41A08 80241C58 C602003C */ lwc1 $f2, 0x3c($s0) +/* C41A0C 80241C5C 44820000 */ mtc1 $v0, $f0 +/* C41A10 80241C60 00000000 */ nop +/* C41A14 80241C64 46800020 */ cvt.s.w $f0, $f0 +/* C41A18 80241C68 46001080 */ add.s $f2, $f2, $f0 +/* C41A1C 80241C6C 3C014024 */ lui $at, 0x4024 +/* C41A20 80241C70 44810800 */ mtc1 $at, $f1 +/* C41A24 80241C74 44800000 */ mtc1 $zero, $f0 +/* C41A28 80241C78 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C41A2C 80241C7C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C41A30 80241C80 460010A1 */ cvt.d.s $f2, $f2 +/* C41A34 80241C84 46201080 */ add.d $f2, $f2, $f0 +/* C41A38 80241C88 C440002C */ lwc1 $f0, 0x2c($v0) +/* C41A3C 80241C8C 46000021 */ cvt.d.s $f0, $f0 +/* C41A40 80241C90 4622003C */ c.lt.d $f0, $f2 +/* C41A44 80241C94 00000000 */ nop +/* C41A48 80241C98 4500002C */ bc1f .L80241D4C +/* C41A4C 80241C9C 02A0202D */ daddu $a0, $s5, $zero +/* C41A50 80241CA0 AFA00010 */ sw $zero, 0x10($sp) +/* C41A54 80241CA4 8E46000C */ lw $a2, 0xc($s2) +/* C41A58 80241CA8 8E470010 */ lw $a3, 0x10($s2) +/* C41A5C 80241CAC 0C01242D */ jal func_800490B4 +/* C41A60 80241CB0 0220282D */ daddu $a1, $s1, $zero +/* C41A64 80241CB4 10400025 */ beqz $v0, .L80241D4C +/* C41A68 80241CB8 0000202D */ daddu $a0, $zero, $zero +/* C41A6C 80241CBC 0200282D */ daddu $a1, $s0, $zero +/* C41A70 80241CC0 0000302D */ daddu $a2, $zero, $zero +/* C41A74 80241CC4 2412000C */ addiu $s2, $zero, 0xc +/* C41A78 80241CC8 860300A8 */ lh $v1, 0xa8($s0) +/* C41A7C 80241CCC 3C013F80 */ lui $at, 0x3f80 +/* C41A80 80241CD0 44810000 */ mtc1 $at, $f0 +/* C41A84 80241CD4 3C014000 */ lui $at, 0x4000 +/* C41A88 80241CD8 44811000 */ mtc1 $at, $f2 +/* C41A8C 80241CDC 3C01C1A0 */ lui $at, 0xc1a0 +/* C41A90 80241CE0 44812000 */ mtc1 $at, $f4 +/* C41A94 80241CE4 44834000 */ mtc1 $v1, $f8 +/* C41A98 80241CE8 00000000 */ nop +/* C41A9C 80241CEC 46804220 */ cvt.s.w $f8, $f8 +/* C41AA0 80241CF0 44074000 */ mfc1 $a3, $f8 +/* C41AA4 80241CF4 27A20038 */ addiu $v0, $sp, 0x38 +/* C41AA8 80241CF8 AFB2001C */ sw $s2, 0x1c($sp) +/* C41AAC 80241CFC AFA20020 */ sw $v0, 0x20($sp) +/* C41AB0 80241D00 E7A00010 */ swc1 $f0, 0x10($sp) +/* C41AB4 80241D04 E7A20014 */ swc1 $f2, 0x14($sp) +/* C41AB8 80241D08 0C01BFA4 */ jal fx_emote +/* C41ABC 80241D0C E7A40018 */ swc1 $f4, 0x18($sp) +/* C41AC0 80241D10 0200202D */ daddu $a0, $s0, $zero +/* C41AC4 80241D14 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C41AC8 80241D18 C480003C */ lwc1 $f0, 0x3c($a0) +/* C41ACC 80241D1C 3C060020 */ lui $a2, 0x20 +/* C41AD0 80241D20 0C012530 */ jal func_800494C0 +/* C41AD4 80241D24 E4800064 */ swc1 $f0, 0x64($a0) +/* C41AD8 80241D28 8E220018 */ lw $v0, 0x18($s1) +/* C41ADC 80241D2C 9442002A */ lhu $v0, 0x2a($v0) +/* C41AE0 80241D30 30420001 */ andi $v0, $v0, 1 +/* C41AE4 80241D34 10400003 */ beqz $v0, .L80241D44 +/* C41AE8 80241D38 2402000A */ addiu $v0, $zero, 0xa +/* C41AEC 80241D3C 080907C1 */ j .L80241F04 +/* C41AF0 80241D40 AE620070 */ sw $v0, 0x70($s3) +.L80241D44: +/* C41AF4 80241D44 080907C1 */ j .L80241F04 +/* C41AF8 80241D48 AE720070 */ sw $s2, 0x70($s3) +.L80241D4C: +/* C41AFC 80241D4C 8E620074 */ lw $v0, 0x74($s3) +/* C41B00 80241D50 2442FFFF */ addiu $v0, $v0, -1 +.L80241D54: +/* C41B04 80241D54 08090758 */ j .L80241D60 +/* C41B08 80241D58 AE620074 */ sw $v0, 0x74($s3) +.L80241D5C: +/* C41B0C 80241D5C AE220090 */ sw $v0, 0x90($s1) +.L80241D60: +/* C41B10 80241D60 8E2300D0 */ lw $v1, 0xd0($s1) +/* C41B14 80241D64 C6000040 */ lwc1 $f0, 0x40($s0) +/* C41B18 80241D68 C4620000 */ lwc1 $f2, ($v1) +/* C41B1C 80241D6C 468010A0 */ cvt.s.w $f2, $f2 +/* C41B20 80241D70 C4640008 */ lwc1 $f4, 8($v1) +/* C41B24 80241D74 46802120 */ cvt.s.w $f4, $f4 +/* C41B28 80241D78 E7A00010 */ swc1 $f0, 0x10($sp) +/* C41B2C 80241D7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41B30 80241D80 44051000 */ mfc1 $a1, $f2 +/* C41B34 80241D84 C440000C */ lwc1 $f0, 0xc($v0) +/* C41B38 80241D88 46800020 */ cvt.s.w $f0, $f0 +/* C41B3C 80241D8C E7A00014 */ swc1 $f0, 0x14($sp) +/* C41B40 80241D90 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41B44 80241D94 44062000 */ mfc1 $a2, $f4 +/* C41B48 80241D98 C4400010 */ lwc1 $f0, 0x10($v0) +/* C41B4C 80241D9C 46800020 */ cvt.s.w $f0, $f0 +/* C41B50 80241DA0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C41B54 80241DA4 8C640018 */ lw $a0, 0x18($v1) +/* C41B58 80241DA8 0C0123F5 */ jal is_point_within_region +/* C41B5C 80241DAC 8E070038 */ lw $a3, 0x38($s0) +/* C41B60 80241DB0 1040001A */ beqz $v0, .L80241E1C +/* C41B64 80241DB4 00000000 */ nop +/* C41B68 80241DB8 8E060038 */ lw $a2, 0x38($s0) +/* C41B6C 80241DBC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41B70 80241DC0 8E070040 */ lw $a3, 0x40($s0) +/* C41B74 80241DC4 C44C0000 */ lwc1 $f12, ($v0) +/* C41B78 80241DC8 46806320 */ cvt.s.w $f12, $f12 +/* C41B7C 80241DCC C44E0008 */ lwc1 $f14, 8($v0) +/* C41B80 80241DD0 0C00A7B5 */ jal dist2D +/* C41B84 80241DD4 468073A0 */ cvt.s.w $f14, $f14 +/* C41B88 80241DD8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C41B8C 80241DDC 4600103C */ c.lt.s $f2, $f0 +/* C41B90 80241DE0 00000000 */ nop +/* C41B94 80241DE4 4500000D */ bc1f .L80241E1C +/* C41B98 80241DE8 E7A00034 */ swc1 $f0, 0x34($sp) +/* C41B9C 80241DEC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C41BA0 80241DF0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41BA4 80241DF4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C41BA8 80241DF8 C4480000 */ lwc1 $f8, ($v0) +/* C41BAC 80241DFC 46804220 */ cvt.s.w $f8, $f8 +/* C41BB0 80241E00 44064000 */ mfc1 $a2, $f8 +/* C41BB4 80241E04 C4480008 */ lwc1 $f8, 8($v0) +/* C41BB8 80241E08 46804220 */ cvt.s.w $f8, $f8 +/* C41BBC 80241E0C 44074000 */ mfc1 $a3, $f8 +/* C41BC0 80241E10 0C00A720 */ jal atan2 +/* C41BC4 80241E14 24140001 */ addiu $s4, $zero, 1 +/* C41BC8 80241E18 E600000C */ swc1 $f0, 0xc($s0) +.L80241E1C: +/* C41BCC 80241E1C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C41BD0 80241E20 8C43000C */ lw $v1, 0xc($v0) +/* C41BD4 80241E24 8C420010 */ lw $v0, 0x10($v0) +/* C41BD8 80241E28 00621825 */ or $v1, $v1, $v0 +/* C41BDC 80241E2C 00741825 */ or $v1, $v1, $s4 +/* C41BE0 80241E30 10600008 */ beqz $v1, .L80241E54 +/* C41BE4 80241E34 00000000 */ nop +/* C41BE8 80241E38 8602008C */ lh $v0, 0x8c($s0) +/* C41BEC 80241E3C 14400031 */ bnez $v0, .L80241F04 +/* C41BF0 80241E40 00000000 */ nop +/* C41BF4 80241E44 8E050018 */ lw $a1, 0x18($s0) +/* C41BF8 80241E48 8E06000C */ lw $a2, 0xc($s0) +/* C41BFC 80241E4C 0C00EA95 */ jal npc_move_heading +/* C41C00 80241E50 0200202D */ daddu $a0, $s0, $zero +.L80241E54: +/* C41C04 80241E54 C600003C */ lwc1 $f0, 0x3c($s0) +/* C41C08 80241E58 3C014059 */ lui $at, 0x4059 +/* C41C0C 80241E5C 44811800 */ mtc1 $at, $f3 +/* C41C10 80241E60 44801000 */ mtc1 $zero, $f2 +/* C41C14 80241E64 46000021 */ cvt.d.s $f0, $f0 +/* C41C18 80241E68 46220002 */ mul.d $f0, $f0, $f2 +/* C41C1C 80241E6C 00000000 */ nop +/* C41C20 80241E70 4620020D */ trunc.w.d $f8, $f0 +/* C41C24 80241E74 E628007C */ swc1 $f8, 0x7c($s1) +/* C41C28 80241E78 8E420004 */ lw $v0, 4($s2) +/* C41C2C 80241E7C 18400021 */ blez $v0, .L80241F04 +/* C41C30 80241E80 00000000 */ nop +/* C41C34 80241E84 8602008E */ lh $v0, 0x8e($s0) +/* C41C38 80241E88 9603008E */ lhu $v1, 0x8e($s0) +/* C41C3C 80241E8C 18400005 */ blez $v0, .L80241EA4 +/* C41C40 80241E90 2462FFFF */ addiu $v0, $v1, -1 +/* C41C44 80241E94 A602008E */ sh $v0, 0x8e($s0) +/* C41C48 80241E98 00021400 */ sll $v0, $v0, 0x10 +/* C41C4C 80241E9C 1C400019 */ bgtz $v0, .L80241F04 +/* C41C50 80241EA0 00000000 */ nop +.L80241EA4: +/* C41C54 80241EA4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C41C58 80241EA8 24020002 */ addiu $v0, $zero, 2 +/* C41C5C 80241EAC 0C00A67F */ jal rand_int +/* C41C60 80241EB0 AE620070 */ sw $v0, 0x70($s3) +/* C41C64 80241EB4 3C035555 */ lui $v1, 0x5555 +/* C41C68 80241EB8 34635556 */ ori $v1, $v1, 0x5556 +/* C41C6C 80241EBC 00430018 */ mult $v0, $v1 +/* C41C70 80241EC0 000227C3 */ sra $a0, $v0, 0x1f +/* C41C74 80241EC4 00004010 */ mfhi $t0 +/* C41C78 80241EC8 01042023 */ subu $a0, $t0, $a0 +/* C41C7C 80241ECC 00041840 */ sll $v1, $a0, 1 +/* C41C80 80241ED0 00641821 */ addu $v1, $v1, $a0 +/* C41C84 80241ED4 00431023 */ subu $v0, $v0, $v1 +/* C41C88 80241ED8 24430002 */ addiu $v1, $v0, 2 +/* C41C8C 80241EDC AE630074 */ sw $v1, 0x74($s3) +/* C41C90 80241EE0 8E42002C */ lw $v0, 0x2c($s2) +/* C41C94 80241EE4 58400007 */ blezl $v0, .L80241F04 +/* C41C98 80241EE8 AE600070 */ sw $zero, 0x70($s3) +/* C41C9C 80241EEC 8E420008 */ lw $v0, 8($s2) +/* C41CA0 80241EF0 18400003 */ blez $v0, .L80241F00 +/* C41CA4 80241EF4 28620003 */ slti $v0, $v1, 3 +/* C41CA8 80241EF8 10400002 */ beqz $v0, .L80241F04 +/* C41CAC 80241EFC 00000000 */ nop +.L80241F00: +/* C41CB0 80241F00 AE600070 */ sw $zero, 0x70($s3) +.L80241F04: +/* C41CB4 80241F04 8FBF0058 */ lw $ra, 0x58($sp) +/* C41CB8 80241F08 8FB50054 */ lw $s5, 0x54($sp) +/* C41CBC 80241F0C 8FB40050 */ lw $s4, 0x50($sp) +/* C41CC0 80241F10 8FB3004C */ lw $s3, 0x4c($sp) +/* C41CC4 80241F14 8FB20048 */ lw $s2, 0x48($sp) +/* C41CC8 80241F18 8FB10044 */ lw $s1, 0x44($sp) +/* C41CCC 80241F1C 8FB00040 */ lw $s0, 0x40($sp) +/* C41CD0 80241F20 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C41CD4 80241F24 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C41CD8 80241F28 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C41CDC 80241F2C D7B40060 */ ldc1 $f20, 0x60($sp) +/* C41CE0 80241F30 03E00008 */ jr $ra +/* C41CE4 80241F34 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241F38_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241F38_C3FDB0.s new file mode 100644 index 0000000000..4fefeb90f1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241F38_C3FDB0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F38_C41CE8 +/* C41CE8 80241F38 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C41CEC 80241F3C AFB3001C */ sw $s3, 0x1c($sp) +/* C41CF0 80241F40 0080982D */ daddu $s3, $a0, $zero +/* C41CF4 80241F44 AFBF0020 */ sw $ra, 0x20($sp) +/* C41CF8 80241F48 AFB20018 */ sw $s2, 0x18($sp) +/* C41CFC 80241F4C AFB10014 */ sw $s1, 0x14($sp) +/* C41D00 80241F50 AFB00010 */ sw $s0, 0x10($sp) +/* C41D04 80241F54 8E720148 */ lw $s2, 0x148($s3) +/* C41D08 80241F58 86440008 */ lh $a0, 8($s2) +/* C41D0C 80241F5C 0C00EABB */ jal get_npc_unsafe +/* C41D10 80241F60 00A0882D */ daddu $s1, $a1, $zero +/* C41D14 80241F64 8E240008 */ lw $a0, 8($s1) +/* C41D18 80241F68 0040802D */ daddu $s0, $v0, $zero +/* C41D1C 80241F6C 00041FC2 */ srl $v1, $a0, 0x1f +/* C41D20 80241F70 00832021 */ addu $a0, $a0, $v1 +/* C41D24 80241F74 00042043 */ sra $a0, $a0, 1 +/* C41D28 80241F78 0C00A67F */ jal rand_int +/* C41D2C 80241F7C 24840001 */ addiu $a0, $a0, 1 +/* C41D30 80241F80 8E230008 */ lw $v1, 8($s1) +/* C41D34 80241F84 240400B4 */ addiu $a0, $zero, 0xb4 +/* C41D38 80241F88 00032FC2 */ srl $a1, $v1, 0x1f +/* C41D3C 80241F8C 00651821 */ addu $v1, $v1, $a1 +/* C41D40 80241F90 00031843 */ sra $v1, $v1, 1 +/* C41D44 80241F94 00621821 */ addu $v1, $v1, $v0 +/* C41D48 80241F98 0C00A67F */ jal rand_int +/* C41D4C 80241F9C A603008E */ sh $v1, 0x8e($s0) +/* C41D50 80241FA0 C60C000C */ lwc1 $f12, 0xc($s0) +/* C41D54 80241FA4 44820000 */ mtc1 $v0, $f0 +/* C41D58 80241FA8 00000000 */ nop +/* C41D5C 80241FAC 46800020 */ cvt.s.w $f0, $f0 +/* C41D60 80241FB0 46006300 */ add.s $f12, $f12, $f0 +/* C41D64 80241FB4 3C0142B4 */ lui $at, 0x42b4 +/* C41D68 80241FB8 44810000 */ mtc1 $at, $f0 +/* C41D6C 80241FBC 0C00A6C9 */ jal clamp_angle +/* C41D70 80241FC0 46006301 */ sub.s $f12, $f12, $f0 +/* C41D74 80241FC4 E600000C */ swc1 $f0, 0xc($s0) +/* C41D78 80241FC8 8E4200CC */ lw $v0, 0xcc($s2) +/* C41D7C 80241FCC 8C420000 */ lw $v0, ($v0) +/* C41D80 80241FD0 AE020028 */ sw $v0, 0x28($s0) +/* C41D84 80241FD4 24020003 */ addiu $v0, $zero, 3 +/* C41D88 80241FD8 AE620070 */ sw $v0, 0x70($s3) +/* C41D8C 80241FDC 8FBF0020 */ lw $ra, 0x20($sp) +/* C41D90 80241FE0 8FB3001C */ lw $s3, 0x1c($sp) +/* C41D94 80241FE4 8FB20018 */ lw $s2, 0x18($sp) +/* C41D98 80241FE8 8FB10014 */ lw $s1, 0x14($sp) +/* C41D9C 80241FEC 8FB00010 */ lw $s0, 0x10($sp) +/* C41DA0 80241FF0 03E00008 */ jr $ra +/* C41DA4 80241FF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80241FF8.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241FF8.s new file mode 100644 index 0000000000..f30f6df13e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80241FF8.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FF8 +/* C41DA8 80241FF8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C41DAC 80241FFC AFB3004C */ sw $s3, 0x4c($sp) +/* C41DB0 80242000 0080982D */ daddu $s3, $a0, $zero +/* C41DB4 80242004 AFBF0054 */ sw $ra, 0x54($sp) +/* C41DB8 80242008 AFB40050 */ sw $s4, 0x50($sp) +/* C41DBC 8024200C AFB20048 */ sw $s2, 0x48($sp) +/* C41DC0 80242010 AFB10044 */ sw $s1, 0x44($sp) +/* C41DC4 80242014 AFB00040 */ sw $s0, 0x40($sp) +/* C41DC8 80242018 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C41DCC 8024201C F7B80068 */ sdc1 $f24, 0x68($sp) +/* C41DD0 80242020 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C41DD4 80242024 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C41DD8 80242028 8E710148 */ lw $s1, 0x148($s3) +/* C41DDC 8024202C 00A0902D */ daddu $s2, $a1, $zero +/* C41DE0 80242030 86240008 */ lh $a0, 8($s1) +/* C41DE4 80242034 0C00EABB */ jal get_npc_unsafe +/* C41DE8 80242038 00C0A02D */ daddu $s4, $a2, $zero +/* C41DEC 8024203C 0040802D */ daddu $s0, $v0, $zero +/* C41DF0 80242040 C6200078 */ lwc1 $f0, 0x78($s1) +/* C41DF4 80242044 46800020 */ cvt.s.w $f0, $f0 +/* C41DF8 80242048 46000021 */ cvt.d.s $f0, $f0 +/* C41DFC 8024204C 3C014059 */ lui $at, 0x4059 +/* C41E00 80242050 44811800 */ mtc1 $at, $f3 +/* C41E04 80242054 44801000 */ mtc1 $zero, $f2 +/* C41E08 80242058 8602008E */ lh $v0, 0x8e($s0) +/* C41E0C 8024205C 9603008E */ lhu $v1, 0x8e($s0) +/* C41E10 80242060 46220003 */ div.d $f0, $f0, $f2 +/* C41E14 80242064 46200620 */ cvt.s.d $f24, $f0 +/* C41E18 80242068 C6200088 */ lwc1 $f0, 0x88($s1) +/* C41E1C 8024206C 46800020 */ cvt.s.w $f0, $f0 +/* C41E20 80242070 46000021 */ cvt.d.s $f0, $f0 +/* C41E24 80242074 46220003 */ div.d $f0, $f0, $f2 +/* C41E28 80242078 46200020 */ cvt.s.d $f0, $f0 +/* C41E2C 8024207C 18400003 */ blez $v0, .L8024208C +/* C41E30 80242080 4600C680 */ add.s $f26, $f24, $f0 +/* C41E34 80242084 2462FFFF */ addiu $v0, $v1, -1 +/* C41E38 80242088 A602008E */ sh $v0, 0x8e($s0) +.L8024208C: +/* C41E3C 8024208C 8E220070 */ lw $v0, 0x70($s1) +/* C41E40 80242090 18400034 */ blez $v0, .L80242164 +/* C41E44 80242094 00000000 */ nop +/* C41E48 80242098 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C41E4C 8024209C 46806320 */ cvt.s.w $f12, $f12 +/* C41E50 802420A0 44820000 */ mtc1 $v0, $f0 +/* C41E54 802420A4 00000000 */ nop +/* C41E58 802420A8 46800020 */ cvt.s.w $f0, $f0 +/* C41E5C 802420AC 46000021 */ cvt.d.s $f0, $f0 +/* C41E60 802420B0 46220003 */ div.d $f0, $f0, $f2 +/* C41E64 802420B4 0C00A8BB */ jal sin_deg +/* C41E68 802420B8 462005A0 */ cvt.s.d $f22, $f0 +/* C41E6C 802420BC 8E020000 */ lw $v0, ($s0) +/* C41E70 802420C0 30420008 */ andi $v0, $v0, 8 +/* C41E74 802420C4 10400003 */ beqz $v0, .L802420D4 +/* C41E78 802420C8 46000506 */ mov.s $f20, $f0 +/* C41E7C 802420CC 08090845 */ j .L80242114 +/* C41E80 802420D0 0000102D */ daddu $v0, $zero, $zero +.L802420D4: +/* C41E84 802420D4 27A50028 */ addiu $a1, $sp, 0x28 +/* C41E88 802420D8 27A6002C */ addiu $a2, $sp, 0x2c +/* C41E8C 802420DC C6000038 */ lwc1 $f0, 0x38($s0) +/* C41E90 802420E0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C41E94 802420E4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C41E98 802420E8 3C01447A */ lui $at, 0x447a +/* C41E9C 802420EC 44813000 */ mtc1 $at, $f6 +/* C41EA0 802420F0 27A20034 */ addiu $v0, $sp, 0x34 +/* C41EA4 802420F4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C41EA8 802420F8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C41EAC 802420FC E7A40030 */ swc1 $f4, 0x30($sp) +/* C41EB0 80242100 E7A60034 */ swc1 $f6, 0x34($sp) +/* C41EB4 80242104 AFA20010 */ sw $v0, 0x10($sp) +/* C41EB8 80242108 8E040080 */ lw $a0, 0x80($s0) +/* C41EBC 8024210C 0C0372DF */ jal func_800DCB7C +/* C41EC0 80242110 27A70030 */ addiu $a3, $sp, 0x30 +.L80242114: +/* C41EC4 80242114 10400007 */ beqz $v0, .L80242134 +/* C41EC8 80242118 00000000 */ nop +/* C41ECC 8024211C 4616A082 */ mul.s $f2, $f20, $f22 +/* C41ED0 80242120 00000000 */ nop +/* C41ED4 80242124 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C41ED8 80242128 46180000 */ add.s $f0, $f0, $f24 +/* C41EDC 8024212C 08090850 */ j .L80242140 +/* C41EE0 80242130 46020000 */ add.s $f0, $f0, $f2 +.L80242134: +/* C41EE4 80242134 4616A002 */ mul.s $f0, $f20, $f22 +/* C41EE8 80242138 00000000 */ nop +/* C41EEC 8024213C 4600D000 */ add.s $f0, $f26, $f0 +.L80242140: +/* C41EF0 80242140 E600003C */ swc1 $f0, 0x3c($s0) +/* C41EF4 80242144 8E220074 */ lw $v0, 0x74($s1) +/* C41EF8 80242148 2442000A */ addiu $v0, $v0, 0xa +/* C41EFC 8024214C 44826000 */ mtc1 $v0, $f12 +/* C41F00 80242150 00000000 */ nop +/* C41F04 80242154 0C00A6C9 */ jal clamp_angle +/* C41F08 80242158 46806320 */ cvt.s.w $f12, $f12 +/* C41F0C 8024215C 4600020D */ trunc.w.s $f8, $f0 +/* C41F10 80242160 E6280074 */ swc1 $f8, 0x74($s1) +.L80242164: +/* C41F14 80242164 8E220090 */ lw $v0, 0x90($s1) +/* C41F18 80242168 1C400040 */ bgtz $v0, .L8024226C +/* C41F1C 8024216C 2442FFFF */ addiu $v0, $v0, -1 +/* C41F20 80242170 860200A8 */ lh $v0, 0xa8($s0) +/* C41F24 80242174 C600003C */ lwc1 $f0, 0x3c($s0) +/* C41F28 80242178 44821000 */ mtc1 $v0, $f2 +/* C41F2C 8024217C 00000000 */ nop +/* C41F30 80242180 468010A0 */ cvt.s.w $f2, $f2 +/* C41F34 80242184 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C41F38 80242188 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C41F3C 8024218C 46020000 */ add.s $f0, $f0, $f2 +/* C41F40 80242190 3C014024 */ lui $at, 0x4024 +/* C41F44 80242194 44812800 */ mtc1 $at, $f5 +/* C41F48 80242198 44802000 */ mtc1 $zero, $f4 +/* C41F4C 8024219C C442002C */ lwc1 $f2, 0x2c($v0) +/* C41F50 802421A0 46000021 */ cvt.d.s $f0, $f0 +/* C41F54 802421A4 46240000 */ add.d $f0, $f0, $f4 +/* C41F58 802421A8 460010A1 */ cvt.d.s $f2, $f2 +/* C41F5C 802421AC 4620103C */ c.lt.d $f2, $f0 +/* C41F60 802421B0 00000000 */ nop +/* C41F64 802421B4 4500002E */ bc1f .L80242270 +/* C41F68 802421B8 0280202D */ daddu $a0, $s4, $zero +/* C41F6C 802421BC 24020001 */ addiu $v0, $zero, 1 +/* C41F70 802421C0 AFA20010 */ sw $v0, 0x10($sp) +/* C41F74 802421C4 8E460024 */ lw $a2, 0x24($s2) +/* C41F78 802421C8 8E470028 */ lw $a3, 0x28($s2) +/* C41F7C 802421CC 0C01242D */ jal func_800490B4 +/* C41F80 802421D0 0220282D */ daddu $a1, $s1, $zero +/* C41F84 802421D4 10400026 */ beqz $v0, .L80242270 +/* C41F88 802421D8 0000202D */ daddu $a0, $zero, $zero +/* C41F8C 802421DC 0200282D */ daddu $a1, $s0, $zero +/* C41F90 802421E0 0000302D */ daddu $a2, $zero, $zero +/* C41F94 802421E4 2412000C */ addiu $s2, $zero, 0xc +/* C41F98 802421E8 860300A8 */ lh $v1, 0xa8($s0) +/* C41F9C 802421EC 3C013F80 */ lui $at, 0x3f80 +/* C41FA0 802421F0 44810000 */ mtc1 $at, $f0 +/* C41FA4 802421F4 3C014000 */ lui $at, 0x4000 +/* C41FA8 802421F8 44811000 */ mtc1 $at, $f2 +/* C41FAC 802421FC 3C01C1A0 */ lui $at, 0xc1a0 +/* C41FB0 80242200 44812000 */ mtc1 $at, $f4 +/* C41FB4 80242204 44834000 */ mtc1 $v1, $f8 +/* C41FB8 80242208 00000000 */ nop +/* C41FBC 8024220C 46804220 */ cvt.s.w $f8, $f8 +/* C41FC0 80242210 44074000 */ mfc1 $a3, $f8 +/* C41FC4 80242214 27A20038 */ addiu $v0, $sp, 0x38 +/* C41FC8 80242218 AFB2001C */ sw $s2, 0x1c($sp) +/* C41FCC 8024221C AFA20020 */ sw $v0, 0x20($sp) +/* C41FD0 80242220 E7A00010 */ swc1 $f0, 0x10($sp) +/* C41FD4 80242224 E7A20014 */ swc1 $f2, 0x14($sp) +/* C41FD8 80242228 0C01BFA4 */ jal fx_emote +/* C41FDC 8024222C E7A40018 */ swc1 $f4, 0x18($sp) +/* C41FE0 80242230 0200202D */ daddu $a0, $s0, $zero +/* C41FE4 80242234 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C41FE8 80242238 C480003C */ lwc1 $f0, 0x3c($a0) +/* C41FEC 8024223C 3C060020 */ lui $a2, 0x20 +/* C41FF0 80242240 0C012530 */ jal func_800494C0 +/* C41FF4 80242244 E4800064 */ swc1 $f0, 0x64($a0) +/* C41FF8 80242248 8E220018 */ lw $v0, 0x18($s1) +/* C41FFC 8024224C 9442002A */ lhu $v0, 0x2a($v0) +/* C42000 80242250 30420001 */ andi $v0, $v0, 1 +/* C42004 80242254 10400003 */ beqz $v0, .L80242264 +/* C42008 80242258 2402000A */ addiu $v0, $zero, 0xa +/* C4200C 8024225C 080908C3 */ j .L8024230C +/* C42010 80242260 AE620070 */ sw $v0, 0x70($s3) +.L80242264: +/* C42014 80242264 080908C3 */ j .L8024230C +/* C42018 80242268 AE720070 */ sw $s2, 0x70($s3) +.L8024226C: +/* C4201C 8024226C AE220090 */ sw $v0, 0x90($s1) +.L80242270: +/* C42020 80242270 8602008C */ lh $v0, 0x8c($s0) +/* C42024 80242274 14400025 */ bnez $v0, .L8024230C +/* C42028 80242278 00000000 */ nop +/* C4202C 8024227C 8602008E */ lh $v0, 0x8e($s0) +/* C42030 80242280 1C400022 */ bgtz $v0, .L8024230C +/* C42034 80242284 00000000 */ nop +/* C42038 80242288 8E620074 */ lw $v0, 0x74($s3) +/* C4203C 8024228C 2442FFFF */ addiu $v0, $v0, -1 +/* C42040 80242290 1840001D */ blez $v0, .L80242308 +/* C42044 80242294 AE620074 */ sw $v0, 0x74($s3) +/* C42048 80242298 8E220018 */ lw $v0, 0x18($s1) +/* C4204C 8024229C 9442002A */ lhu $v0, 0x2a($v0) +/* C42050 802422A0 30420010 */ andi $v0, $v0, 0x10 +/* C42054 802422A4 14400007 */ bnez $v0, .L802422C4 +/* C42058 802422A8 00000000 */ nop +/* C4205C 802422AC C600000C */ lwc1 $f0, 0xc($s0) +/* C42060 802422B0 3C014334 */ lui $at, 0x4334 +/* C42064 802422B4 44816000 */ mtc1 $at, $f12 +/* C42068 802422B8 0C00A6C9 */ jal clamp_angle +/* C4206C 802422BC 460C0300 */ add.s $f12, $f0, $f12 +/* C42070 802422C0 E600000C */ swc1 $f0, 0xc($s0) +.L802422C4: +/* C42074 802422C4 0C00A67F */ jal rand_int +/* C42078 802422C8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C4207C 802422CC 3C032E8B */ lui $v1, 0x2e8b +/* C42080 802422D0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C42084 802422D4 00430018 */ mult $v0, $v1 +/* C42088 802422D8 00021FC3 */ sra $v1, $v0, 0x1f +/* C4208C 802422DC 00004010 */ mfhi $t0 +/* C42090 802422E0 00082043 */ sra $a0, $t0, 1 +/* C42094 802422E4 00832023 */ subu $a0, $a0, $v1 +/* C42098 802422E8 00041840 */ sll $v1, $a0, 1 +/* C4209C 802422EC 00641821 */ addu $v1, $v1, $a0 +/* C420A0 802422F0 00031880 */ sll $v1, $v1, 2 +/* C420A4 802422F4 00641823 */ subu $v1, $v1, $a0 +/* C420A8 802422F8 00431023 */ subu $v0, $v0, $v1 +/* C420AC 802422FC 24420005 */ addiu $v0, $v0, 5 +/* C420B0 80242300 080908C3 */ j .L8024230C +/* C420B4 80242304 A602008E */ sh $v0, 0x8e($s0) +.L80242308: +/* C420B8 80242308 AE600070 */ sw $zero, 0x70($s3) +.L8024230C: +/* C420BC 8024230C 8FBF0054 */ lw $ra, 0x54($sp) +/* C420C0 80242310 8FB40050 */ lw $s4, 0x50($sp) +/* C420C4 80242314 8FB3004C */ lw $s3, 0x4c($sp) +/* C420C8 80242318 8FB20048 */ lw $s2, 0x48($sp) +/* C420CC 8024231C 8FB10044 */ lw $s1, 0x44($sp) +/* C420D0 80242320 8FB00040 */ lw $s0, 0x40($sp) +/* C420D4 80242324 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C420D8 80242328 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C420DC 8024232C D7B60060 */ ldc1 $f22, 0x60($sp) +/* C420E0 80242330 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C420E4 80242334 03E00008 */ jr $ra +/* C420E8 80242338 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_8024233C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024233C_C3FDB0.s new file mode 100644 index 0000000000..494dc33084 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_8024233C_C3FDB0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024233C_C420EC +/* C420EC 8024233C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C420F0 80242340 AFB20018 */ sw $s2, 0x18($sp) +/* C420F4 80242344 0080902D */ daddu $s2, $a0, $zero +/* C420F8 80242348 AFBF001C */ sw $ra, 0x1c($sp) +/* C420FC 8024234C AFB10014 */ sw $s1, 0x14($sp) +/* C42100 80242350 AFB00010 */ sw $s0, 0x10($sp) +/* C42104 80242354 8E510148 */ lw $s1, 0x148($s2) +/* C42108 80242358 0C00EABB */ jal get_npc_unsafe +/* C4210C 8024235C 86240008 */ lh $a0, 8($s1) +/* C42110 80242360 0040802D */ daddu $s0, $v0, $zero +/* C42114 80242364 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C42118 80242368 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C4211C 8024236C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C42120 80242370 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C42124 80242374 A600008E */ sh $zero, 0x8e($s0) +/* C42128 80242378 8C460028 */ lw $a2, 0x28($v0) +/* C4212C 8024237C 0C00A720 */ jal atan2 +/* C42130 80242380 8C470030 */ lw $a3, 0x30($v0) +/* C42134 80242384 E600000C */ swc1 $f0, 0xc($s0) +/* C42138 80242388 8E2200CC */ lw $v0, 0xcc($s1) +/* C4213C 8024238C 8C420020 */ lw $v0, 0x20($v0) +/* C42140 80242390 AE020028 */ sw $v0, 0x28($s0) +/* C42144 80242394 2402000B */ addiu $v0, $zero, 0xb +/* C42148 80242398 AE420070 */ sw $v0, 0x70($s2) +/* C4214C 8024239C 8FBF001C */ lw $ra, 0x1c($sp) +/* C42150 802423A0 8FB20018 */ lw $s2, 0x18($sp) +/* C42154 802423A4 8FB10014 */ lw $s1, 0x14($sp) +/* C42158 802423A8 8FB00010 */ lw $s0, 0x10($sp) +/* C4215C 802423AC 03E00008 */ jr $ra +/* C42160 802423B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802423B4_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802423B4_C3FDB0.s new file mode 100644 index 0000000000..0f995ab5b8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802423B4_C3FDB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423B4_C42164 +/* C42164 802423B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C42168 802423B8 AFB00010 */ sw $s0, 0x10($sp) +/* C4216C 802423BC 0080802D */ daddu $s0, $a0, $zero +/* C42170 802423C0 AFBF0014 */ sw $ra, 0x14($sp) +/* C42174 802423C4 8E020148 */ lw $v0, 0x148($s0) +/* C42178 802423C8 0C00EABB */ jal get_npc_unsafe +/* C4217C 802423CC 84440008 */ lh $a0, 8($v0) +/* C42180 802423D0 9443008E */ lhu $v1, 0x8e($v0) +/* C42184 802423D4 C440003C */ lwc1 $f0, 0x3c($v0) +/* C42188 802423D8 24640001 */ addiu $a0, $v1, 1 +/* C4218C 802423DC 00031C00 */ sll $v1, $v1, 0x10 +/* C42190 802423E0 00031B83 */ sra $v1, $v1, 0xe +/* C42194 802423E4 A444008E */ sh $a0, 0x8e($v0) +/* C42198 802423E8 3C018024 */ lui $at, 0x8024 +/* C4219C 802423EC 00230821 */ addu $at, $at, $v1 +/* C421A0 802423F0 C4224460 */ lwc1 $f2, 0x4460($at) +/* C421A4 802423F4 8443008E */ lh $v1, 0x8e($v0) +/* C421A8 802423F8 46020000 */ add.s $f0, $f0, $f2 +/* C421AC 802423FC 28630005 */ slti $v1, $v1, 5 +/* C421B0 80242400 14600003 */ bnez $v1, .L80242410 +/* C421B4 80242404 E440003C */ swc1 $f0, 0x3c($v0) +/* C421B8 80242408 2402000C */ addiu $v0, $zero, 0xc +/* C421BC 8024240C AE020070 */ sw $v0, 0x70($s0) +.L80242410: +/* C421C0 80242410 8FBF0014 */ lw $ra, 0x14($sp) +/* C421C4 80242414 8FB00010 */ lw $s0, 0x10($sp) +/* C421C8 80242418 03E00008 */ jr $ra +/* C421CC 8024241C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242420.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242420.s new file mode 100644 index 0000000000..898e3b2d04 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242420.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242420 +/* C421D0 80242420 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C421D4 80242424 AFB3001C */ sw $s3, 0x1c($sp) +/* C421D8 80242428 0080982D */ daddu $s3, $a0, $zero +/* C421DC 8024242C AFBF0020 */ sw $ra, 0x20($sp) +/* C421E0 80242430 AFB20018 */ sw $s2, 0x18($sp) +/* C421E4 80242434 AFB10014 */ sw $s1, 0x14($sp) +/* C421E8 80242438 AFB00010 */ sw $s0, 0x10($sp) +/* C421EC 8024243C 8E720148 */ lw $s2, 0x148($s3) +/* C421F0 80242440 86440008 */ lh $a0, 8($s2) +/* C421F4 80242444 0C00EABB */ jal get_npc_unsafe +/* C421F8 80242448 00A0802D */ daddu $s0, $a1, $zero +/* C421FC 8024244C 0040882D */ daddu $s1, $v0, $zero +/* C42200 80242450 C6420080 */ lwc1 $f2, 0x80($s2) +/* C42204 80242454 468010A0 */ cvt.s.w $f2, $f2 +/* C42208 80242458 460010A1 */ cvt.d.s $f2, $f2 +/* C4220C 8024245C C6400084 */ lwc1 $f0, 0x84($s2) +/* C42210 80242460 46800020 */ cvt.s.w $f0, $f0 +/* C42214 80242464 46000021 */ cvt.d.s $f0, $f0 +/* C42218 80242468 3C014059 */ lui $at, 0x4059 +/* C4221C 8024246C 44812800 */ mtc1 $at, $f5 +/* C42220 80242470 44802000 */ mtc1 $zero, $f4 +/* C42224 80242474 8E4200CC */ lw $v0, 0xcc($s2) +/* C42228 80242478 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C4222C 8024247C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C42230 80242480 46241083 */ div.d $f2, $f2, $f4 +/* C42234 80242484 462010A0 */ cvt.s.d $f2, $f2 +/* C42238 80242488 46240003 */ div.d $f0, $f0, $f4 +/* C4223C 8024248C 8C420020 */ lw $v0, 0x20($v0) +/* C42240 80242490 46200020 */ cvt.s.d $f0, $f0 +/* C42244 80242494 E622001C */ swc1 $f2, 0x1c($s1) +/* C42248 80242498 E6200014 */ swc1 $f0, 0x14($s1) +/* C4224C 8024249C AE220028 */ sw $v0, 0x28($s1) +/* C42250 802424A0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C42254 802424A4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C42258 802424A8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C4225C 802424AC E6200018 */ swc1 $f0, 0x18($s1) +/* C42260 802424B0 8C460028 */ lw $a2, 0x28($v0) +/* C42264 802424B4 0C00A720 */ jal atan2 +/* C42268 802424B8 8C470030 */ lw $a3, 0x30($v0) +/* C4226C 802424BC E620000C */ swc1 $f0, 0xc($s1) +/* C42270 802424C0 8E420018 */ lw $v0, 0x18($s2) +/* C42274 802424C4 AE400074 */ sw $zero, 0x74($s2) +/* C42278 802424C8 9442002A */ lhu $v0, 0x2a($v0) +/* C4227C 802424CC 30420002 */ andi $v0, $v0, 2 +/* C42280 802424D0 10400005 */ beqz $v0, .L802424E8 +/* C42284 802424D4 24020003 */ addiu $v0, $zero, 3 +/* C42288 802424D8 A622008E */ sh $v0, 0x8e($s1) +/* C4228C 802424DC 2402000D */ addiu $v0, $zero, 0xd +/* C42290 802424E0 0809094E */ j .L80242538 +/* C42294 802424E4 AE620070 */ sw $v0, 0x70($s3) +.L802424E8: +/* C42298 802424E8 24030001 */ addiu $v1, $zero, 1 +/* C4229C 802424EC 2402000E */ addiu $v0, $zero, 0xe +/* C422A0 802424F0 A623008E */ sh $v1, 0x8e($s1) +/* C422A4 802424F4 AE620070 */ sw $v0, 0x70($s3) +/* C422A8 802424F8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C422AC 802424FC 4600018D */ trunc.w.s $f6, $f0 +/* C422B0 80242500 44023000 */ mfc1 $v0, $f6 +/* C422B4 80242504 00000000 */ nop +/* C422B8 80242508 A6420010 */ sh $v0, 0x10($s2) +/* C422BC 8024250C C620003C */ lwc1 $f0, 0x3c($s1) +/* C422C0 80242510 4600018D */ trunc.w.s $f6, $f0 +/* C422C4 80242514 44023000 */ mfc1 $v0, $f6 +/* C422C8 80242518 00000000 */ nop +/* C422CC 8024251C A6420012 */ sh $v0, 0x12($s2) +/* C422D0 80242520 C6200040 */ lwc1 $f0, 0x40($s1) +/* C422D4 80242524 A2430007 */ sb $v1, 7($s2) +/* C422D8 80242528 4600018D */ trunc.w.s $f6, $f0 +/* C422DC 8024252C 44023000 */ mfc1 $v0, $f6 +/* C422E0 80242530 00000000 */ nop +/* C422E4 80242534 A6420014 */ sh $v0, 0x14($s2) +.L80242538: +/* C422E8 80242538 8FBF0020 */ lw $ra, 0x20($sp) +/* C422EC 8024253C 8FB3001C */ lw $s3, 0x1c($sp) +/* C422F0 80242540 8FB20018 */ lw $s2, 0x18($sp) +/* C422F4 80242544 8FB10014 */ lw $s1, 0x14($sp) +/* C422F8 80242548 8FB00010 */ lw $s0, 0x10($sp) +/* C422FC 8024254C 03E00008 */ jr $ra +/* C42300 80242550 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242554.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242554.s new file mode 100644 index 0000000000..7aecea436a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242554.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242554 +/* C42304 80242554 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C42308 80242558 AFB00010 */ sw $s0, 0x10($sp) +/* C4230C 8024255C 0080802D */ daddu $s0, $a0, $zero +/* C42310 80242560 AFBF0014 */ sw $ra, 0x14($sp) +/* C42314 80242564 8E020148 */ lw $v0, 0x148($s0) +/* C42318 80242568 0C00EABB */ jal get_npc_unsafe +/* C4231C 8024256C 84440008 */ lh $a0, 8($v0) +/* C42320 80242570 0040202D */ daddu $a0, $v0, $zero +/* C42324 80242574 8482008E */ lh $v0, 0x8e($a0) +/* C42328 80242578 9483008E */ lhu $v1, 0x8e($a0) +/* C4232C 8024257C 18400005 */ blez $v0, .L80242594 +/* C42330 80242580 2462FFFF */ addiu $v0, $v1, -1 +/* C42334 80242584 A482008E */ sh $v0, 0x8e($a0) +/* C42338 80242588 00021400 */ sll $v0, $v0, 0x10 +/* C4233C 8024258C 1C400006 */ bgtz $v0, .L802425A8 +/* C42340 80242590 00000000 */ nop +.L80242594: +/* C42344 80242594 8482008C */ lh $v0, 0x8c($a0) +/* C42348 80242598 14400003 */ bnez $v0, .L802425A8 +/* C4234C 8024259C 2402000E */ addiu $v0, $zero, 0xe +/* C42350 802425A0 A480008E */ sh $zero, 0x8e($a0) +/* C42354 802425A4 AE020070 */ sw $v0, 0x70($s0) +.L802425A8: +/* C42358 802425A8 8FBF0014 */ lw $ra, 0x14($sp) +/* C4235C 802425AC 8FB00010 */ lw $s0, 0x10($sp) +/* C42360 802425B0 03E00008 */ jr $ra +/* C42364 802425B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802425B8.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802425B8.s new file mode 100644 index 0000000000..3b7624470d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802425B8.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425B8 +/* C42368 802425B8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C4236C 802425BC AFB20030 */ sw $s2, 0x30($sp) +/* C42370 802425C0 0080902D */ daddu $s2, $a0, $zero +/* C42374 802425C4 AFBF0038 */ sw $ra, 0x38($sp) +/* C42378 802425C8 AFB30034 */ sw $s3, 0x34($sp) +/* C4237C 802425CC AFB1002C */ sw $s1, 0x2c($sp) +/* C42380 802425D0 AFB00028 */ sw $s0, 0x28($sp) +/* C42384 802425D4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C42388 802425D8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C4238C 802425DC 8E510148 */ lw $s1, 0x148($s2) +/* C42390 802425E0 86240008 */ lh $a0, 8($s1) +/* C42394 802425E4 0C00EABB */ jal get_npc_unsafe +/* C42398 802425E8 00A0982D */ daddu $s3, $a1, $zero +/* C4239C 802425EC 0040802D */ daddu $s0, $v0, $zero +/* C423A0 802425F0 0200202D */ daddu $a0, $s0, $zero +/* C423A4 802425F4 C6220088 */ lwc1 $f2, 0x88($s1) +/* C423A8 802425F8 468010A0 */ cvt.s.w $f2, $f2 +/* C423AC 802425FC 460010A1 */ cvt.d.s $f2, $f2 +/* C423B0 80242600 C604001C */ lwc1 $f4, 0x1c($s0) +/* C423B4 80242604 C6000014 */ lwc1 $f0, 0x14($s0) +/* C423B8 80242608 8E050018 */ lw $a1, 0x18($s0) +/* C423BC 8024260C 46002100 */ add.s $f4, $f4, $f0 +/* C423C0 80242610 8E06000C */ lw $a2, 0xc($s0) +/* C423C4 80242614 C6200078 */ lwc1 $f0, 0x78($s1) +/* C423C8 80242618 46800020 */ cvt.s.w $f0, $f0 +/* C423CC 8024261C E604001C */ swc1 $f4, 0x1c($s0) +/* C423D0 80242620 3C014059 */ lui $at, 0x4059 +/* C423D4 80242624 44812800 */ mtc1 $at, $f5 +/* C423D8 80242628 44802000 */ mtc1 $zero, $f4 +/* C423DC 8024262C 46000021 */ cvt.d.s $f0, $f0 +/* C423E0 80242630 46240003 */ div.d $f0, $f0, $f4 +/* C423E4 80242634 46200520 */ cvt.s.d $f20, $f0 +/* C423E8 80242638 46241083 */ div.d $f2, $f2, $f4 +/* C423EC 8024263C 0C00EA95 */ jal npc_move_heading +/* C423F0 80242640 462015A0 */ cvt.s.d $f22, $f2 +/* C423F4 80242644 C604001C */ lwc1 $f4, 0x1c($s0) +/* C423F8 80242648 44801000 */ mtc1 $zero, $f2 +/* C423FC 8024264C 44801800 */ mtc1 $zero, $f3 +/* C42400 80242650 46002021 */ cvt.d.s $f0, $f4 +/* C42404 80242654 4620103E */ c.le.d $f2, $f0 +/* C42408 80242658 00000000 */ nop +/* C4240C 8024265C 45000030 */ bc1f .L80242720 +/* C42410 80242660 00000000 */ nop +/* C42414 80242664 C600003C */ lwc1 $f0, 0x3c($s0) +/* C42418 80242668 46040000 */ add.s $f0, $f0, $f4 +/* C4241C 8024266C E600003C */ swc1 $f0, 0x3c($s0) +/* C42420 80242670 8E2200CC */ lw $v0, 0xcc($s1) +/* C42424 80242674 8C420024 */ lw $v0, 0x24($v0) +/* C42428 80242678 AE020028 */ sw $v0, 0x28($s0) +/* C4242C 8024267C A2200007 */ sb $zero, 7($s1) +/* C42430 80242680 8E020000 */ lw $v0, ($s0) +/* C42434 80242684 30420008 */ andi $v0, $v0, 8 +/* C42438 80242688 14400011 */ bnez $v0, .L802426D0 +/* C4243C 8024268C 0000102D */ daddu $v0, $zero, $zero +/* C42440 80242690 27A50018 */ addiu $a1, $sp, 0x18 +/* C42444 80242694 27A6001C */ addiu $a2, $sp, 0x1c +/* C42448 80242698 C6000038 */ lwc1 $f0, 0x38($s0) +/* C4244C 8024269C C602003C */ lwc1 $f2, 0x3c($s0) +/* C42450 802426A0 C6040040 */ lwc1 $f4, 0x40($s0) +/* C42454 802426A4 3C01447A */ lui $at, 0x447a +/* C42458 802426A8 44813000 */ mtc1 $at, $f6 +/* C4245C 802426AC 27A20024 */ addiu $v0, $sp, 0x24 +/* C42460 802426B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C42464 802426B4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C42468 802426B8 E7A40020 */ swc1 $f4, 0x20($sp) +/* C4246C 802426BC E7A60024 */ swc1 $f6, 0x24($sp) +/* C42470 802426C0 AFA20010 */ sw $v0, 0x10($sp) +/* C42474 802426C4 8E040080 */ lw $a0, 0x80($s0) +/* C42478 802426C8 0C0372DF */ jal func_800DCB7C +/* C4247C 802426CC 27A70020 */ addiu $a3, $sp, 0x20 +.L802426D0: +/* C42480 802426D0 1040000B */ beqz $v0, .L80242700 +/* C42484 802426D4 00000000 */ nop +/* C42488 802426D8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C4248C 802426DC 46140080 */ add.s $f2, $f0, $f20 +/* C42490 802426E0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C42494 802426E4 4600103E */ c.le.s $f2, $f0 +/* C42498 802426E8 00000000 */ nop +/* C4249C 802426EC 4500008D */ bc1f .L80242924 +/* C424A0 802426F0 00000000 */ nop +/* C424A4 802426F4 E602003C */ swc1 $f2, 0x3c($s0) +/* C424A8 802426F8 08090A49 */ j .L80242924 +/* C424AC 802426FC AE400070 */ sw $zero, 0x70($s2) +.L80242700: +/* C424B0 80242700 C602003C */ lwc1 $f2, 0x3c($s0) +/* C424B4 80242704 C6000064 */ lwc1 $f0, 0x64($s0) +/* C424B8 80242708 4602003E */ c.le.s $f0, $f2 +/* C424BC 8024270C 00000000 */ nop +/* C424C0 80242710 45030084 */ bc1tl .L80242924 +/* C424C4 80242714 AE400070 */ sw $zero, 0x70($s2) +/* C424C8 80242718 08090A49 */ j .L80242924 +/* C424CC 8024271C 00000000 */ nop +.L80242720: +/* C424D0 80242720 4622003C */ c.lt.d $f0, $f2 +/* C424D4 80242724 00000000 */ nop +/* C424D8 80242728 4500007E */ bc1f .L80242924 +/* C424DC 8024272C 00000000 */ nop +/* C424E0 80242730 9602008E */ lhu $v0, 0x8e($s0) +/* C424E4 80242734 24420001 */ addiu $v0, $v0, 1 +/* C424E8 80242738 A602008E */ sh $v0, 0x8e($s0) +/* C424EC 8024273C 00021400 */ sll $v0, $v0, 0x10 +/* C424F0 80242740 8E630020 */ lw $v1, 0x20($s3) +/* C424F4 80242744 00021403 */ sra $v0, $v0, 0x10 +/* C424F8 80242748 0043102A */ slt $v0, $v0, $v1 +/* C424FC 8024274C 14400026 */ bnez $v0, .L802427E8 +/* C42500 80242750 00000000 */ nop +/* C42504 80242754 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C42508 80242758 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C4250C 8024275C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C42510 80242760 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C42514 80242764 A600008E */ sh $zero, 0x8e($s0) +/* C42518 80242768 8C460028 */ lw $a2, 0x28($v0) +/* C4251C 8024276C 0C00A720 */ jal atan2 +/* C42520 80242770 8C470030 */ lw $a3, 0x30($v0) +/* C42524 80242774 46000506 */ mov.s $f20, $f0 +/* C42528 80242778 C60C000C */ lwc1 $f12, 0xc($s0) +/* C4252C 8024277C 0C00A70A */ jal get_clamped_angle_diff +/* C42530 80242780 4600A386 */ mov.s $f14, $f20 +/* C42534 80242784 46000086 */ mov.s $f2, $f0 +/* C42538 80242788 8E62001C */ lw $v0, 0x1c($s3) +/* C4253C 8024278C 46001005 */ abs.s $f0, $f2 +/* C42540 80242790 44822000 */ mtc1 $v0, $f4 +/* C42544 80242794 00000000 */ nop +/* C42548 80242798 46802120 */ cvt.s.w $f4, $f4 +/* C4254C 8024279C 4600203C */ c.lt.s $f4, $f0 +/* C42550 802427A0 00000000 */ nop +/* C42554 802427A4 4500000D */ bc1f .L802427DC +/* C42558 802427A8 00000000 */ nop +/* C4255C 802427AC 44800000 */ mtc1 $zero, $f0 +/* C42560 802427B0 C614000C */ lwc1 $f20, 0xc($s0) +/* C42564 802427B4 4600103C */ c.lt.s $f2, $f0 +/* C42568 802427B8 00000000 */ nop +/* C4256C 802427BC 45000006 */ bc1f .L802427D8 +/* C42570 802427C0 00021023 */ negu $v0, $v0 +/* C42574 802427C4 44820000 */ mtc1 $v0, $f0 +/* C42578 802427C8 00000000 */ nop +/* C4257C 802427CC 46800020 */ cvt.s.w $f0, $f0 +/* C42580 802427D0 080909F7 */ j .L802427DC +/* C42584 802427D4 4600A500 */ add.s $f20, $f20, $f0 +.L802427D8: +/* C42588 802427D8 4604A500 */ add.s $f20, $f20, $f4 +.L802427DC: +/* C4258C 802427DC 0C00A6C9 */ jal clamp_angle +/* C42590 802427E0 4600A306 */ mov.s $f12, $f20 +/* C42594 802427E4 E600000C */ swc1 $f0, 0xc($s0) +.L802427E8: +/* C42598 802427E8 8E020000 */ lw $v0, ($s0) +/* C4259C 802427EC 30420008 */ andi $v0, $v0, 8 +/* C425A0 802427F0 1040000A */ beqz $v0, .L8024281C +/* C425A4 802427F4 27A50018 */ addiu $a1, $sp, 0x18 +/* C425A8 802427F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C425AC 802427FC C600001C */ lwc1 $f0, 0x1c($s0) +/* C425B0 80242800 46001080 */ add.s $f2, $f2, $f0 +/* C425B4 80242804 4616103C */ c.lt.s $f2, $f22 +/* C425B8 80242808 00000000 */ nop +/* C425BC 8024280C 45020045 */ bc1fl .L80242924 +/* C425C0 80242810 E602003C */ swc1 $f2, 0x3c($s0) +/* C425C4 80242814 08090A48 */ j .L80242920 +/* C425C8 80242818 E616003C */ swc1 $f22, 0x3c($s0) +.L8024281C: +/* C425CC 8024281C C6000038 */ lwc1 $f0, 0x38($s0) +/* C425D0 80242820 27A6001C */ addiu $a2, $sp, 0x1c +/* C425D4 80242824 E7A00018 */ swc1 $f0, 0x18($sp) +/* C425D8 80242828 860200A8 */ lh $v0, 0xa8($s0) +/* C425DC 8024282C C600001C */ lwc1 $f0, 0x1c($s0) +/* C425E0 80242830 C604003C */ lwc1 $f4, 0x3c($s0) +/* C425E4 80242834 44821000 */ mtc1 $v0, $f2 +/* C425E8 80242838 00000000 */ nop +/* C425EC 8024283C 468010A0 */ cvt.s.w $f2, $f2 +/* C425F0 80242840 46000005 */ abs.s $f0, $f0 +/* C425F4 80242844 46020000 */ add.s $f0, $f0, $f2 +/* C425F8 80242848 C6060040 */ lwc1 $f6, 0x40($s0) +/* C425FC 8024284C 27A20024 */ addiu $v0, $sp, 0x24 +/* C42600 80242850 46022100 */ add.s $f4, $f4, $f2 +/* C42604 80242854 3C014024 */ lui $at, 0x4024 +/* C42608 80242858 44811800 */ mtc1 $at, $f3 +/* C4260C 8024285C 44801000 */ mtc1 $zero, $f2 +/* C42610 80242860 46000021 */ cvt.d.s $f0, $f0 +/* C42614 80242864 46220000 */ add.d $f0, $f0, $f2 +/* C42618 80242868 E7A60020 */ swc1 $f6, 0x20($sp) +/* C4261C 8024286C E7A4001C */ swc1 $f4, 0x1c($sp) +/* C42620 80242870 46200020 */ cvt.s.d $f0, $f0 +/* C42624 80242874 E7A00024 */ swc1 $f0, 0x24($sp) +/* C42628 80242878 AFA20010 */ sw $v0, 0x10($sp) +/* C4262C 8024287C 8E040080 */ lw $a0, 0x80($s0) +/* C42630 80242880 0C0372DF */ jal func_800DCB7C +/* C42634 80242884 27A70020 */ addiu $a3, $sp, 0x20 +/* C42638 80242888 10400015 */ beqz $v0, .L802428E0 +/* C4263C 8024288C 00000000 */ nop +/* C42640 80242890 860200A8 */ lh $v0, 0xa8($s0) +/* C42644 80242894 C604001C */ lwc1 $f4, 0x1c($s0) +/* C42648 80242898 44820000 */ mtc1 $v0, $f0 +/* C4264C 8024289C 00000000 */ nop +/* C42650 802428A0 46800020 */ cvt.s.w $f0, $f0 +/* C42654 802428A4 46002085 */ abs.s $f2, $f4 +/* C42658 802428A8 46020000 */ add.s $f0, $f0, $f2 +/* C4265C 802428AC C7A20024 */ lwc1 $f2, 0x24($sp) +/* C42660 802428B0 4600103E */ c.le.s $f2, $f0 +/* C42664 802428B4 00000000 */ nop +/* C42668 802428B8 45000005 */ bc1f .L802428D0 +/* C4266C 802428BC 00000000 */ nop +/* C42670 802428C0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C42674 802428C4 AE00001C */ sw $zero, 0x1c($s0) +/* C42678 802428C8 08090A49 */ j .L80242924 +/* C4267C 802428CC E600003C */ swc1 $f0, 0x3c($s0) +.L802428D0: +/* C42680 802428D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C42684 802428D4 46040000 */ add.s $f0, $f0, $f4 +/* C42688 802428D8 08090A49 */ j .L80242924 +/* C4268C 802428DC E600003C */ swc1 $f0, 0x3c($s0) +.L802428E0: +/* C42690 802428E0 C606003C */ lwc1 $f6, 0x3c($s0) +/* C42694 802428E4 860200A8 */ lh $v0, 0xa8($s0) +/* C42698 802428E8 46163081 */ sub.s $f2, $f6, $f22 +/* C4269C 802428EC 44820000 */ mtc1 $v0, $f0 +/* C426A0 802428F0 00000000 */ nop +/* C426A4 802428F4 46800020 */ cvt.s.w $f0, $f0 +/* C426A8 802428F8 46001080 */ add.s $f2, $f2, $f0 +/* C426AC 802428FC C604001C */ lwc1 $f4, 0x1c($s0) +/* C426B0 80242900 46002005 */ abs.s $f0, $f4 +/* C426B4 80242904 4602003C */ c.lt.s $f0, $f2 +/* C426B8 80242908 00000000 */ nop +/* C426BC 8024290C 45020005 */ bc1fl .L80242924 +/* C426C0 80242910 AE00001C */ sw $zero, 0x1c($s0) +/* C426C4 80242914 46043000 */ add.s $f0, $f6, $f4 +/* C426C8 80242918 08090A49 */ j .L80242924 +/* C426CC 8024291C E600003C */ swc1 $f0, 0x3c($s0) +.L80242920: +/* C426D0 80242920 AE00001C */ sw $zero, 0x1c($s0) +.L80242924: +/* C426D4 80242924 8FBF0038 */ lw $ra, 0x38($sp) +/* C426D8 80242928 8FB30034 */ lw $s3, 0x34($sp) +/* C426DC 8024292C 8FB20030 */ lw $s2, 0x30($sp) +/* C426E0 80242930 8FB1002C */ lw $s1, 0x2c($sp) +/* C426E4 80242934 8FB00028 */ lw $s0, 0x28($sp) +/* C426E8 80242938 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C426EC 8024293C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C426F0 80242940 03E00008 */ jr $ra +/* C426F4 80242944 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242948.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242948.s new file mode 100644 index 0000000000..e279179135 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242948.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242948 +/* C426F8 80242948 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C426FC 8024294C AFB00028 */ sw $s0, 0x28($sp) +/* C42700 80242950 00A0802D */ daddu $s0, $a1, $zero +/* C42704 80242954 AFB1002C */ sw $s1, 0x2c($sp) +/* C42708 80242958 00C0882D */ daddu $s1, $a2, $zero +/* C4270C 8024295C AFBF0034 */ sw $ra, 0x34($sp) +/* C42710 80242960 AFB20030 */ sw $s2, 0x30($sp) +/* C42714 80242964 AE200070 */ sw $zero, 0x70($s1) +/* C42718 80242968 8C830000 */ lw $v1, ($a0) +/* C4271C 8024296C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C42720 80242970 A480008E */ sh $zero, 0x8e($a0) +/* C42724 80242974 00621824 */ and $v1, $v1, $v0 +/* C42728 80242978 34650800 */ ori $a1, $v1, 0x800 +/* C4272C 8024297C AC850000 */ sw $a1, ($a0) +/* C42730 80242980 8E0200D0 */ lw $v0, 0xd0($s0) +/* C42734 80242984 8C420034 */ lw $v0, 0x34($v0) +/* C42738 80242988 10400003 */ beqz $v0, .L80242998 +/* C4273C 8024298C 00E0902D */ daddu $s2, $a3, $zero +/* C42740 80242990 08090A68 */ j .L802429A0 +/* C42744 80242994 34620808 */ ori $v0, $v1, 0x808 +.L80242998: +/* C42748 80242998 2402FFF7 */ addiu $v0, $zero, -9 +/* C4274C 8024299C 00A21024 */ and $v0, $a1, $v0 +.L802429A0: +/* C42750 802429A0 AC820000 */ sw $v0, ($a0) +/* C42754 802429A4 27A20024 */ addiu $v0, $sp, 0x24 +/* C42758 802429A8 27A50018 */ addiu $a1, $sp, 0x18 +/* C4275C 802429AC C4800038 */ lwc1 $f0, 0x38($a0) +/* C42760 802429B0 C482003C */ lwc1 $f2, 0x3c($a0) +/* C42764 802429B4 C4840040 */ lwc1 $f4, 0x40($a0) +/* C42768 802429B8 3C01447A */ lui $at, 0x447a +/* C4276C 802429BC 44813000 */ mtc1 $at, $f6 +/* C42770 802429C0 27A6001C */ addiu $a2, $sp, 0x1c +/* C42774 802429C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C42778 802429C8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C4277C 802429CC E7A40020 */ swc1 $f4, 0x20($sp) +/* C42780 802429D0 E7A60024 */ swc1 $f6, 0x24($sp) +/* C42784 802429D4 AFA20010 */ sw $v0, 0x10($sp) +/* C42788 802429D8 8C840080 */ lw $a0, 0x80($a0) +/* C4278C 802429DC 0C0372DF */ jal func_800DCB7C +/* C42790 802429E0 27A70020 */ addiu $a3, $sp, 0x20 +/* C42794 802429E4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C42798 802429E8 3C014059 */ lui $at, 0x4059 +/* C4279C 802429EC 44812800 */ mtc1 $at, $f5 +/* C427A0 802429F0 44802000 */ mtc1 $zero, $f4 +/* C427A4 802429F4 460010A1 */ cvt.d.s $f2, $f2 +/* C427A8 802429F8 46241082 */ mul.d $f2, $f2, $f4 +/* C427AC 802429FC 00000000 */ nop +/* C427B0 80242A00 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C427B4 80242A04 46000021 */ cvt.d.s $f0, $f0 +/* C427B8 80242A08 46240002 */ mul.d $f0, $f0, $f4 +/* C427BC 80242A0C 00000000 */ nop +/* C427C0 80242A10 3C013FE0 */ lui $at, 0x3fe0 +/* C427C4 80242A14 44812800 */ mtc1 $at, $f5 +/* C427C8 80242A18 44802000 */ mtc1 $zero, $f4 +/* C427CC 80242A1C 00000000 */ nop +/* C427D0 80242A20 46241080 */ add.d $f2, $f2, $f4 +/* C427D4 80242A24 AE000074 */ sw $zero, 0x74($s0) +/* C427D8 80242A28 46240000 */ add.d $f0, $f0, $f4 +/* C427DC 80242A2C AE000090 */ sw $zero, 0x90($s0) +/* C427E0 80242A30 4620120D */ trunc.w.d $f8, $f2 +/* C427E4 80242A34 E6080078 */ swc1 $f8, 0x78($s0) +/* C427E8 80242A38 4620020D */ trunc.w.d $f8, $f0 +/* C427EC 80242A3C E6080088 */ swc1 $f8, 0x88($s0) +/* C427F0 80242A40 8E420014 */ lw $v0, 0x14($s2) +/* C427F4 80242A44 AE220074 */ sw $v0, 0x74($s1) +/* C427F8 80242A48 8E0200B0 */ lw $v0, 0xb0($s0) +/* C427FC 80242A4C 34420010 */ ori $v0, $v0, 0x10 +/* C42800 80242A50 AE0200B0 */ sw $v0, 0xb0($s0) +/* C42804 80242A54 8FBF0034 */ lw $ra, 0x34($sp) +/* C42808 80242A58 8FB20030 */ lw $s2, 0x30($sp) +/* C4280C 80242A5C 8FB1002C */ lw $s1, 0x2c($sp) +/* C42810 80242A60 8FB00028 */ lw $s0, 0x28($sp) +/* C42814 80242A64 03E00008 */ jr $ra +/* C42818 80242A68 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242A6C_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242A6C_C3FDB0.s new file mode 100644 index 0000000000..16e0d06b62 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242A6C_C3FDB0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A6C_C4281C +/* C4281C 80242A6C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C42820 80242A70 AFB40040 */ sw $s4, 0x40($sp) +/* C42824 80242A74 0080A02D */ daddu $s4, $a0, $zero +/* C42828 80242A78 AFBF0048 */ sw $ra, 0x48($sp) +/* C4282C 80242A7C AFB50044 */ sw $s5, 0x44($sp) +/* C42830 80242A80 AFB3003C */ sw $s3, 0x3c($sp) +/* C42834 80242A84 AFB20038 */ sw $s2, 0x38($sp) +/* C42838 80242A88 AFB10034 */ sw $s1, 0x34($sp) +/* C4283C 80242A8C AFB00030 */ sw $s0, 0x30($sp) +/* C42840 80242A90 8E920148 */ lw $s2, 0x148($s4) +/* C42844 80242A94 86440008 */ lh $a0, 8($s2) +/* C42848 80242A98 8E90000C */ lw $s0, 0xc($s4) +/* C4284C 80242A9C 0C00EABB */ jal get_npc_unsafe +/* C42850 80242AA0 00A0882D */ daddu $s1, $a1, $zero +/* C42854 80242AA4 0280202D */ daddu $a0, $s4, $zero +/* C42858 80242AA8 8E050000 */ lw $a1, ($s0) +/* C4285C 80242AAC 0C0B1EAF */ jal get_variable +/* C42860 80242AB0 0040A82D */ daddu $s5, $v0, $zero +/* C42864 80242AB4 AFA00010 */ sw $zero, 0x10($sp) +/* C42868 80242AB8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4286C 80242ABC 8C630030 */ lw $v1, 0x30($v1) +/* C42870 80242AC0 AFA30014 */ sw $v1, 0x14($sp) +/* C42874 80242AC4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C42878 80242AC8 8C63001C */ lw $v1, 0x1c($v1) +/* C4287C 80242ACC AFA30018 */ sw $v1, 0x18($sp) +/* C42880 80242AD0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C42884 80242AD4 8C630024 */ lw $v1, 0x24($v1) +/* C42888 80242AD8 AFA3001C */ sw $v1, 0x1c($sp) +/* C4288C 80242ADC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C42890 80242AE0 8C630028 */ lw $v1, 0x28($v1) +/* C42894 80242AE4 27B30010 */ addiu $s3, $sp, 0x10 +/* C42898 80242AE8 AFA30020 */ sw $v1, 0x20($sp) +/* C4289C 80242AEC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C428A0 80242AF0 3C0142F0 */ lui $at, 0x42f0 +/* C428A4 80242AF4 44810000 */ mtc1 $at, $f0 +/* C428A8 80242AF8 8C63002C */ lw $v1, 0x2c($v1) +/* C428AC 80242AFC 0040802D */ daddu $s0, $v0, $zero +/* C428B0 80242B00 E7A00028 */ swc1 $f0, 0x28($sp) +/* C428B4 80242B04 A7A0002C */ sh $zero, 0x2c($sp) +/* C428B8 80242B08 12200006 */ beqz $s1, .L80242B24 +/* C428BC 80242B0C AFA30024 */ sw $v1, 0x24($sp) +/* C428C0 80242B10 02A0202D */ daddu $a0, $s5, $zero +/* C428C4 80242B14 0240282D */ daddu $a1, $s2, $zero +/* C428C8 80242B18 0280302D */ daddu $a2, $s4, $zero +/* C428CC 80242B1C 0C090A52 */ jal func_80242948 +/* C428D0 80242B20 0200382D */ daddu $a3, $s0, $zero +.L80242B24: +/* C428D4 80242B24 2402FFFE */ addiu $v0, $zero, -2 +/* C428D8 80242B28 A2A200AB */ sb $v0, 0xab($s5) +/* C428DC 80242B2C 8E4300B0 */ lw $v1, 0xb0($s2) +/* C428E0 80242B30 30620004 */ andi $v0, $v1, 4 +/* C428E4 80242B34 10400007 */ beqz $v0, .L80242B54 +/* C428E8 80242B38 00000000 */ nop +/* C428EC 80242B3C 824200B4 */ lb $v0, 0xb4($s2) +/* C428F0 80242B40 1440003C */ bnez $v0, .L80242C34 +/* C428F4 80242B44 0000102D */ daddu $v0, $zero, $zero +/* C428F8 80242B48 2402FFFB */ addiu $v0, $zero, -5 +/* C428FC 80242B4C 00621024 */ and $v0, $v1, $v0 +/* C42900 80242B50 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242B54: +/* C42904 80242B54 8E830070 */ lw $v1, 0x70($s4) +/* C42908 80242B58 2C62000F */ sltiu $v0, $v1, 0xf +/* C4290C 80242B5C 10400034 */ beqz $v0, .L80242C30 +/* C42910 80242B60 00031080 */ sll $v0, $v1, 2 +/* C42914 80242B64 3C018024 */ lui $at, 0x8024 +/* C42918 80242B68 00220821 */ addu $at, $at, $v0 +/* C4291C 80242B6C 8C226D50 */ lw $v0, 0x6d50($at) +/* C42920 80242B70 00400008 */ jr $v0 +/* C42924 80242B74 00000000 */ nop +/* C42928 80242B78 0280202D */ daddu $a0, $s4, $zero +/* C4292C 80242B7C 0200282D */ daddu $a1, $s0, $zero +/* C42930 80242B80 0C0905D8 */ jal func_80241760 +/* C42934 80242B84 0260302D */ daddu $a2, $s3, $zero +/* C42938 80242B88 0280202D */ daddu $a0, $s4, $zero +/* C4293C 80242B8C 0200282D */ daddu $a1, $s0, $zero +/* C42940 80242B90 0C090644 */ jal func_80241910 +/* C42944 80242B94 0260302D */ daddu $a2, $s3, $zero +/* C42948 80242B98 08090B0D */ j .L80242C34 +/* C4294C 80242B9C 0000102D */ daddu $v0, $zero, $zero +/* C42950 80242BA0 0280202D */ daddu $a0, $s4, $zero +/* C42954 80242BA4 0200282D */ daddu $a1, $s0, $zero +/* C42958 80242BA8 0C0907CE */ jal func_80241F38 +/* C4295C 80242BAC 0260302D */ daddu $a2, $s3, $zero +/* C42960 80242BB0 0280202D */ daddu $a0, $s4, $zero +/* C42964 80242BB4 0200282D */ daddu $a1, $s0, $zero +/* C42968 80242BB8 0C0907FE */ jal func_80241FF8 +/* C4296C 80242BBC 0260302D */ daddu $a2, $s3, $zero +/* C42970 80242BC0 08090B0D */ j .L80242C34 +/* C42974 80242BC4 0000102D */ daddu $v0, $zero, $zero +/* C42978 80242BC8 0280202D */ daddu $a0, $s4, $zero +/* C4297C 80242BCC 0200282D */ daddu $a1, $s0, $zero +/* C42980 80242BD0 0C0908CF */ jal func_8024233C +/* C42984 80242BD4 0260302D */ daddu $a2, $s3, $zero +/* C42988 80242BD8 0280202D */ daddu $a0, $s4, $zero +/* C4298C 80242BDC 0200282D */ daddu $a1, $s0, $zero +/* C42990 80242BE0 0C0908ED */ jal func_802423B4 +/* C42994 80242BE4 0260302D */ daddu $a2, $s3, $zero +/* C42998 80242BE8 08090B0D */ j .L80242C34 +/* C4299C 80242BEC 0000102D */ daddu $v0, $zero, $zero +/* C429A0 80242BF0 0280202D */ daddu $a0, $s4, $zero +/* C429A4 80242BF4 0200282D */ daddu $a1, $s0, $zero +/* C429A8 80242BF8 0C090908 */ jal func_80242420 +/* C429AC 80242BFC 0260302D */ daddu $a2, $s3, $zero +/* C429B0 80242C00 08090B0D */ j .L80242C34 +/* C429B4 80242C04 0000102D */ daddu $v0, $zero, $zero +/* C429B8 80242C08 0280202D */ daddu $a0, $s4, $zero +/* C429BC 80242C0C 0200282D */ daddu $a1, $s0, $zero +/* C429C0 80242C10 0C090955 */ jal func_80242554 +/* C429C4 80242C14 0260302D */ daddu $a2, $s3, $zero +/* C429C8 80242C18 08090B0D */ j .L80242C34 +/* C429CC 80242C1C 0000102D */ daddu $v0, $zero, $zero +/* C429D0 80242C20 0280202D */ daddu $a0, $s4, $zero +/* C429D4 80242C24 0200282D */ daddu $a1, $s0, $zero +/* C429D8 80242C28 0C09096E */ jal func_802425B8 +/* C429DC 80242C2C 0260302D */ daddu $a2, $s3, $zero +.L80242C30: +/* C429E0 80242C30 0000102D */ daddu $v0, $zero, $zero +.L80242C34: +/* C429E4 80242C34 8FBF0048 */ lw $ra, 0x48($sp) +/* C429E8 80242C38 8FB50044 */ lw $s5, 0x44($sp) +/* C429EC 80242C3C 8FB40040 */ lw $s4, 0x40($sp) +/* C429F0 80242C40 8FB3003C */ lw $s3, 0x3c($sp) +/* C429F4 80242C44 8FB20038 */ lw $s2, 0x38($sp) +/* C429F8 80242C48 8FB10034 */ lw $s1, 0x34($sp) +/* C429FC 80242C4C 8FB00030 */ lw $s0, 0x30($sp) +/* C42A00 80242C50 03E00008 */ jr $ra +/* C42A04 80242C54 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242C58.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242C58.s new file mode 100644 index 0000000000..2e0d02090b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242C58.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C58 +/* C42A08 80242C58 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C42A0C 80242C5C AFB3001C */ sw $s3, 0x1c($sp) +/* C42A10 80242C60 0080982D */ daddu $s3, $a0, $zero +/* C42A14 80242C64 AFBF0020 */ sw $ra, 0x20($sp) +/* C42A18 80242C68 AFB20018 */ sw $s2, 0x18($sp) +/* C42A1C 80242C6C AFB10014 */ sw $s1, 0x14($sp) +/* C42A20 80242C70 AFB00010 */ sw $s0, 0x10($sp) +/* C42A24 80242C74 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C42A28 80242C78 8E720148 */ lw $s2, 0x148($s3) +/* C42A2C 80242C7C 86440008 */ lh $a0, 8($s2) +/* C42A30 80242C80 0C00EABB */ jal get_npc_unsafe +/* C42A34 80242C84 00A0882D */ daddu $s1, $a1, $zero +/* C42A38 80242C88 0040802D */ daddu $s0, $v0, $zero +/* C42A3C 80242C8C 9602008E */ lhu $v0, 0x8e($s0) +/* C42A40 80242C90 2442FFFF */ addiu $v0, $v0, -1 +/* C42A44 80242C94 A602008E */ sh $v0, 0x8e($s0) +/* C42A48 80242C98 00021400 */ sll $v0, $v0, 0x10 +/* C42A4C 80242C9C 1C40003C */ bgtz $v0, .L80242D90 +/* C42A50 80242CA0 3C03FFDF */ lui $v1, 0xffdf +/* C42A54 80242CA4 8E020000 */ lw $v0, ($s0) +/* C42A58 80242CA8 3463FFFF */ ori $v1, $v1, 0xffff +/* C42A5C 80242CAC 00431024 */ and $v0, $v0, $v1 +/* C42A60 80242CB0 AE020000 */ sw $v0, ($s0) +/* C42A64 80242CB4 8E240020 */ lw $a0, 0x20($s1) +/* C42A68 80242CB8 000417C2 */ srl $v0, $a0, 0x1f +/* C42A6C 80242CBC 00822021 */ addu $a0, $a0, $v0 +/* C42A70 80242CC0 00042043 */ sra $a0, $a0, 1 +/* C42A74 80242CC4 0C00A67F */ jal rand_int +/* C42A78 80242CC8 24840001 */ addiu $a0, $a0, 1 +/* C42A7C 80242CCC 8E230020 */ lw $v1, 0x20($s1) +/* C42A80 80242CD0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C42A84 80242CD4 000327C2 */ srl $a0, $v1, 0x1f +/* C42A88 80242CD8 00641821 */ addu $v1, $v1, $a0 +/* C42A8C 80242CDC 00031843 */ sra $v1, $v1, 1 +/* C42A90 80242CE0 00621821 */ addu $v1, $v1, $v0 +/* C42A94 80242CE4 A603008E */ sh $v1, 0x8e($s0) +/* C42A98 80242CE8 8E4200CC */ lw $v0, 0xcc($s2) +/* C42A9C 80242CEC C60E0040 */ lwc1 $f14, 0x40($s0) +/* C42AA0 80242CF0 8C420020 */ lw $v0, 0x20($v0) +/* C42AA4 80242CF4 AE020028 */ sw $v0, 0x28($s0) +/* C42AA8 80242CF8 C6200018 */ lwc1 $f0, 0x18($s1) +/* C42AAC 80242CFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C42AB0 80242D00 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C42AB4 80242D04 E6000018 */ swc1 $f0, 0x18($s0) +/* C42AB8 80242D08 8C460028 */ lw $a2, 0x28($v0) +/* C42ABC 80242D0C 0C00A720 */ jal atan2 +/* C42AC0 80242D10 8C470030 */ lw $a3, 0x30($v0) +/* C42AC4 80242D14 46000506 */ mov.s $f20, $f0 +/* C42AC8 80242D18 C60C000C */ lwc1 $f12, 0xc($s0) +/* C42ACC 80242D1C 0C00A70A */ jal get_clamped_angle_diff +/* C42AD0 80242D20 4600A386 */ mov.s $f14, $f20 +/* C42AD4 80242D24 46000086 */ mov.s $f2, $f0 +/* C42AD8 80242D28 8E22001C */ lw $v0, 0x1c($s1) +/* C42ADC 80242D2C 46001005 */ abs.s $f0, $f2 +/* C42AE0 80242D30 44822000 */ mtc1 $v0, $f4 +/* C42AE4 80242D34 00000000 */ nop +/* C42AE8 80242D38 46802120 */ cvt.s.w $f4, $f4 +/* C42AEC 80242D3C 4600203C */ c.lt.s $f4, $f0 +/* C42AF0 80242D40 00000000 */ nop +/* C42AF4 80242D44 4500000D */ bc1f .L80242D7C +/* C42AF8 80242D48 00000000 */ nop +/* C42AFC 80242D4C 44800000 */ mtc1 $zero, $f0 +/* C42B00 80242D50 C614000C */ lwc1 $f20, 0xc($s0) +/* C42B04 80242D54 4600103C */ c.lt.s $f2, $f0 +/* C42B08 80242D58 00000000 */ nop +/* C42B0C 80242D5C 45000006 */ bc1f .L80242D78 +/* C42B10 80242D60 00021023 */ negu $v0, $v0 +/* C42B14 80242D64 44820000 */ mtc1 $v0, $f0 +/* C42B18 80242D68 00000000 */ nop +/* C42B1C 80242D6C 46800020 */ cvt.s.w $f0, $f0 +/* C42B20 80242D70 08090B5F */ j .L80242D7C +/* C42B24 80242D74 4600A500 */ add.s $f20, $f20, $f0 +.L80242D78: +/* C42B28 80242D78 4604A500 */ add.s $f20, $f20, $f4 +.L80242D7C: +/* C42B2C 80242D7C 0C00A6C9 */ jal clamp_angle +/* C42B30 80242D80 4600A306 */ mov.s $f12, $f20 +/* C42B34 80242D84 2402000D */ addiu $v0, $zero, 0xd +/* C42B38 80242D88 E600000C */ swc1 $f0, 0xc($s0) +/* C42B3C 80242D8C AE620070 */ sw $v0, 0x70($s3) +.L80242D90: +/* C42B40 80242D90 8FBF0020 */ lw $ra, 0x20($sp) +/* C42B44 80242D94 8FB3001C */ lw $s3, 0x1c($sp) +/* C42B48 80242D98 8FB20018 */ lw $s2, 0x18($sp) +/* C42B4C 80242D9C 8FB10014 */ lw $s1, 0x14($sp) +/* C42B50 80242DA0 8FB00010 */ lw $s0, 0x10($sp) +/* C42B54 80242DA4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C42B58 80242DA8 03E00008 */ jr $ra +/* C42B5C 80242DAC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242DB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242DB0.s new file mode 100644 index 0000000000..24890b48cb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242DB0.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DB0 +/* C42B60 80242DB0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C42B64 80242DB4 AFB30024 */ sw $s3, 0x24($sp) +/* C42B68 80242DB8 0080982D */ daddu $s3, $a0, $zero +/* C42B6C 80242DBC AFBF0028 */ sw $ra, 0x28($sp) +/* C42B70 80242DC0 AFB20020 */ sw $s2, 0x20($sp) +/* C42B74 80242DC4 AFB1001C */ sw $s1, 0x1c($sp) +/* C42B78 80242DC8 AFB00018 */ sw $s0, 0x18($sp) +/* C42B7C 80242DCC 8E700148 */ lw $s0, 0x148($s3) +/* C42B80 80242DD0 00A0902D */ daddu $s2, $a1, $zero +/* C42B84 80242DD4 86040008 */ lh $a0, 8($s0) +/* C42B88 80242DD8 0C00EABB */ jal get_npc_unsafe +/* C42B8C 80242DDC 00C0882D */ daddu $s1, $a2, $zero +/* C42B90 80242DE0 0220202D */ daddu $a0, $s1, $zero +/* C42B94 80242DE4 0200282D */ daddu $a1, $s0, $zero +/* C42B98 80242DE8 24030001 */ addiu $v1, $zero, 1 +/* C42B9C 80242DEC AFA30010 */ sw $v1, 0x10($sp) +/* C42BA0 80242DF0 8E460024 */ lw $a2, 0x24($s2) +/* C42BA4 80242DF4 8E470028 */ lw $a3, 0x28($s2) +/* C42BA8 80242DF8 0C01242D */ jal func_800490B4 +/* C42BAC 80242DFC 0040802D */ daddu $s0, $v0, $zero +/* C42BB0 80242E00 10400024 */ beqz $v0, .L80242E94 +/* C42BB4 80242E04 24020010 */ addiu $v0, $zero, 0x10 +/* C42BB8 80242E08 8E050018 */ lw $a1, 0x18($s0) +/* C42BBC 80242E0C 8E06000C */ lw $a2, 0xc($s0) +/* C42BC0 80242E10 0C00EA95 */ jal npc_move_heading +/* C42BC4 80242E14 0200202D */ daddu $a0, $s0, $zero +/* C42BC8 80242E18 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C42BCC 80242E1C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C42BD0 80242E20 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C42BD4 80242E24 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C42BD8 80242E28 8C460028 */ lw $a2, 0x28($v0) +/* C42BDC 80242E2C 0C00A7B5 */ jal dist2D +/* C42BE0 80242E30 8C470030 */ lw $a3, 0x30($v0) +/* C42BE4 80242E34 C6020018 */ lwc1 $f2, 0x18($s0) +/* C42BE8 80242E38 3C014004 */ lui $at, 0x4004 +/* C42BEC 80242E3C 44812800 */ mtc1 $at, $f5 +/* C42BF0 80242E40 44802000 */ mtc1 $zero, $f4 +/* C42BF4 80242E44 460010A1 */ cvt.d.s $f2, $f2 +/* C42BF8 80242E48 46241082 */ mul.d $f2, $f2, $f4 +/* C42BFC 80242E4C 00000000 */ nop +/* C42C00 80242E50 46000021 */ cvt.d.s $f0, $f0 +/* C42C04 80242E54 4622003E */ c.le.d $f0, $f2 +/* C42C08 80242E58 00000000 */ nop +/* C42C0C 80242E5C 45000003 */ bc1f .L80242E6C +/* C42C10 80242E60 2402000E */ addiu $v0, $zero, 0xe +/* C42C14 80242E64 08090BA5 */ j .L80242E94 +/* C42C18 80242E68 A600008E */ sh $zero, 0x8e($s0) +.L80242E6C: +/* C42C1C 80242E6C 9602008E */ lhu $v0, 0x8e($s0) +/* C42C20 80242E70 2442FFFF */ addiu $v0, $v0, -1 +/* C42C24 80242E74 A602008E */ sh $v0, 0x8e($s0) +/* C42C28 80242E78 00021400 */ sll $v0, $v0, 0x10 +/* C42C2C 80242E7C 1C400006 */ bgtz $v0, .L80242E98 +/* C42C30 80242E80 3C030020 */ lui $v1, 0x20 +/* C42C34 80242E84 8E020000 */ lw $v0, ($s0) +/* C42C38 80242E88 00431025 */ or $v0, $v0, $v1 +/* C42C3C 80242E8C AE020000 */ sw $v0, ($s0) +/* C42C40 80242E90 2402000C */ addiu $v0, $zero, 0xc +.L80242E94: +/* C42C44 80242E94 AE620070 */ sw $v0, 0x70($s3) +.L80242E98: +/* C42C48 80242E98 8FBF0028 */ lw $ra, 0x28($sp) +/* C42C4C 80242E9C 8FB30024 */ lw $s3, 0x24($sp) +/* C42C50 80242EA0 8FB20020 */ lw $s2, 0x20($sp) +/* C42C54 80242EA4 8FB1001C */ lw $s1, 0x1c($sp) +/* C42C58 80242EA8 8FB00018 */ lw $s0, 0x18($sp) +/* C42C5C 80242EAC 03E00008 */ jr $ra +/* C42C60 80242EB0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242EB4.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242EB4.s new file mode 100644 index 0000000000..cab9e70be5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242EB4.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EB4 +/* C42C64 80242EB4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C42C68 80242EB8 AFB30024 */ sw $s3, 0x24($sp) +/* C42C6C 80242EBC 0080982D */ daddu $s3, $a0, $zero +/* C42C70 80242EC0 AFBF0028 */ sw $ra, 0x28($sp) +/* C42C74 80242EC4 AFB20020 */ sw $s2, 0x20($sp) +/* C42C78 80242EC8 AFB1001C */ sw $s1, 0x1c($sp) +/* C42C7C 80242ECC AFB00018 */ sw $s0, 0x18($sp) +/* C42C80 80242ED0 8E720148 */ lw $s2, 0x148($s3) +/* C42C84 80242ED4 86440008 */ lh $a0, 8($s2) +/* C42C88 80242ED8 0C00EABB */ jal get_npc_unsafe +/* C42C8C 80242EDC 24100007 */ addiu $s0, $zero, 7 +/* C42C90 80242EE0 0040882D */ daddu $s1, $v0, $zero +.L80242EE4: +/* C42C94 80242EE4 822200A4 */ lb $v0, 0xa4($s1) +/* C42C98 80242EE8 52020007 */ beql $s0, $v0, .L80242F08 +/* C42C9C 80242EEC 26100001 */ addiu $s0, $s0, 1 +/* C42CA0 80242EF0 0C00FB3A */ jal get_enemy +/* C42CA4 80242EF4 0200202D */ daddu $a0, $s0, $zero +/* C42CA8 80242EF8 8C42006C */ lw $v0, 0x6c($v0) +/* C42CAC 80242EFC 30420100 */ andi $v0, $v0, 0x100 +/* C42CB0 80242F00 1440001D */ bnez $v0, .L80242F78 +/* C42CB4 80242F04 26100001 */ addiu $s0, $s0, 1 +.L80242F08: +/* C42CB8 80242F08 2A020009 */ slti $v0, $s0, 9 +/* C42CBC 80242F0C 1440FFF5 */ bnez $v0, .L80242EE4 +/* C42CC0 80242F10 00000000 */ nop +/* C42CC4 80242F14 8E42006C */ lw $v0, 0x6c($s2) +/* C42CC8 80242F18 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C42CCC 80242F1C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C42CD0 80242F20 34420100 */ ori $v0, $v0, 0x100 +/* C42CD4 80242F24 AE42006C */ sw $v0, 0x6c($s2) +/* C42CD8 80242F28 C4600028 */ lwc1 $f0, 0x28($v1) +/* C42CDC 80242F2C E6200038 */ swc1 $f0, 0x38($s1) +/* C42CE0 80242F30 C4600030 */ lwc1 $f0, 0x30($v1) +/* C42CE4 80242F34 E6200040 */ swc1 $f0, 0x40($s1) +/* C42CE8 80242F38 8E43006C */ lw $v1, 0x6c($s2) +/* C42CEC 80242F3C 30621000 */ andi $v0, $v1, 0x1000 +/* C42CF0 80242F40 14400003 */ bnez $v0, .L80242F50 +/* C42CF4 80242F44 3C048000 */ lui $a0, 0x8000 +/* C42CF8 80242F48 34621000 */ ori $v0, $v1, 0x1000 +/* C42CFC 80242F4C AE42006C */ sw $v0, 0x6c($s2) +.L80242F50: +/* C42D00 80242F50 C6200040 */ lwc1 $f0, 0x40($s1) +/* C42D04 80242F54 34840011 */ ori $a0, $a0, 0x11 +/* C42D08 80242F58 E7A00010 */ swc1 $f0, 0x10($sp) +/* C42D0C 80242F5C 8E260038 */ lw $a2, 0x38($s1) +/* C42D10 80242F60 8E27003C */ lw $a3, 0x3c($s1) +/* C42D14 80242F64 0C052757 */ jal play_sound_at_position +/* C42D18 80242F68 24050002 */ addiu $a1, $zero, 2 +/* C42D1C 80242F6C 2402000F */ addiu $v0, $zero, 0xf +/* C42D20 80242F70 A620008E */ sh $zero, 0x8e($s1) +/* C42D24 80242F74 AE620070 */ sw $v0, 0x70($s3) +.L80242F78: +/* C42D28 80242F78 8FBF0028 */ lw $ra, 0x28($sp) +/* C42D2C 80242F7C 8FB30024 */ lw $s3, 0x24($sp) +/* C42D30 80242F80 8FB20020 */ lw $s2, 0x20($sp) +/* C42D34 80242F84 8FB1001C */ lw $s1, 0x1c($sp) +/* C42D38 80242F88 8FB00018 */ lw $s0, 0x18($sp) +/* C42D3C 80242F8C 03E00008 */ jr $ra +/* C42D40 80242F90 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80242F94_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242F94_C3FDB0.s new file mode 100644 index 0000000000..a44ea33a62 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80242F94_C3FDB0.s @@ -0,0 +1,177 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F94_C42D44 +/* C42D44 80242F94 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C42D48 80242F98 AFB40040 */ sw $s4, 0x40($sp) +/* C42D4C 80242F9C 0080A02D */ daddu $s4, $a0, $zero +/* C42D50 80242FA0 AFBF0044 */ sw $ra, 0x44($sp) +/* C42D54 80242FA4 AFB3003C */ sw $s3, 0x3c($sp) +/* C42D58 80242FA8 AFB20038 */ sw $s2, 0x38($sp) +/* C42D5C 80242FAC AFB10034 */ sw $s1, 0x34($sp) +/* C42D60 80242FB0 AFB00030 */ sw $s0, 0x30($sp) +/* C42D64 80242FB4 8E930148 */ lw $s3, 0x148($s4) +/* C42D68 80242FB8 00A0802D */ daddu $s0, $a1, $zero +/* C42D6C 80242FBC 86640008 */ lh $a0, 8($s3) +/* C42D70 80242FC0 0C00EABB */ jal get_npc_unsafe +/* C42D74 80242FC4 00C0882D */ daddu $s1, $a2, $zero +/* C42D78 80242FC8 3C048000 */ lui $a0, 0x8000 +/* C42D7C 80242FCC 0040902D */ daddu $s2, $v0, $zero +/* C42D80 80242FD0 C6400040 */ lwc1 $f0, 0x40($s2) +/* C42D84 80242FD4 34840011 */ ori $a0, $a0, 0x11 +/* C42D88 80242FD8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C42D8C 80242FDC 8E460038 */ lw $a2, 0x38($s2) +/* C42D90 80242FE0 8E47003C */ lw $a3, 0x3c($s2) +/* C42D94 80242FE4 0C05267B */ jal func_801499EC +/* C42D98 80242FE8 24050002 */ addiu $a1, $zero, 2 +/* C42D9C 80242FEC 0220202D */ daddu $a0, $s1, $zero +/* C42DA0 80242FF0 24020001 */ addiu $v0, $zero, 1 +/* C42DA4 80242FF4 AFA20010 */ sw $v0, 0x10($sp) +/* C42DA8 80242FF8 8E060024 */ lw $a2, 0x24($s0) +/* C42DAC 80242FFC 8E070028 */ lw $a3, 0x28($s0) +/* C42DB0 80243000 0C01242D */ jal func_800490B4 +/* C42DB4 80243004 0260282D */ daddu $a1, $s3, $zero +/* C42DB8 80243008 1440000B */ bnez $v0, .L80243038 +/* C42DBC 8024300C 3C04FFDF */ lui $a0, 0xffdf +/* C42DC0 80243010 8E62006C */ lw $v0, 0x6c($s3) +/* C42DC4 80243014 2403FEFF */ addiu $v1, $zero, -0x101 +/* C42DC8 80243018 00431024 */ and $v0, $v0, $v1 +/* C42DCC 8024301C AE62006C */ sw $v0, 0x6c($s3) +/* C42DD0 80243020 8E420000 */ lw $v0, ($s2) +/* C42DD4 80243024 3484FFFF */ ori $a0, $a0, 0xffff +/* C42DD8 80243028 AE400048 */ sw $zero, 0x48($s2) +/* C42DDC 8024302C 00441024 */ and $v0, $v0, $a0 +/* C42DE0 80243030 08090C82 */ j .L80243208 +/* C42DE4 80243034 AE420000 */ sw $v0, ($s2) +.L80243038: +/* C42DE8 80243038 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C42DEC 8024303C 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C42DF0 80243040 C6440048 */ lwc1 $f4, 0x48($s2) +/* C42DF4 80243044 3C0141C8 */ lui $at, 0x41c8 +/* C42DF8 80243048 44810000 */ mtc1 $at, $f0 +/* C42DFC 8024304C 8E020000 */ lw $v0, ($s0) +/* C42E00 80243050 46002100 */ add.s $f4, $f4, $f0 +/* C42E04 80243054 C4420028 */ lwc1 $f2, 0x28($v0) +/* C42E08 80243058 3C014000 */ lui $at, 0x4000 +/* C42E0C 8024305C 44810000 */ mtc1 $at, $f0 +/* C42E10 80243060 E6420038 */ swc1 $f2, 0x38($s2) +/* C42E14 80243064 C4420030 */ lwc1 $f2, 0x30($v0) +/* C42E18 80243068 46001080 */ add.s $f2, $f2, $f0 +/* C42E1C 8024306C 3C018024 */ lui $at, 0x8024 +/* C42E20 80243070 D4266D90 */ ldc1 $f6, 0x6d90($at) +/* C42E24 80243074 46002021 */ cvt.d.s $f0, $f4 +/* C42E28 80243078 4620303C */ c.lt.d $f6, $f0 +/* C42E2C 8024307C E6440048 */ swc1 $f4, 0x48($s2) +/* C42E30 80243080 45000004 */ bc1f .L80243094 +/* C42E34 80243084 E6420040 */ swc1 $f2, 0x40($s2) +/* C42E38 80243088 46260001 */ sub.d $f0, $f0, $f6 +/* C42E3C 8024308C 46200020 */ cvt.s.d $f0, $f0 +/* C42E40 80243090 E6400048 */ swc1 $f0, 0x48($s2) +.L80243094: +/* C42E44 80243094 3C02B60B */ lui $v0, 0xb60b +/* C42E48 80243098 C6400048 */ lwc1 $f0, 0x48($s2) +/* C42E4C 8024309C 344260B7 */ ori $v0, $v0, 0x60b7 +/* C42E50 802430A0 4600020D */ trunc.w.s $f8, $f0 +/* C42E54 802430A4 44044000 */ mfc1 $a0, $f8 +/* C42E58 802430A8 00000000 */ nop +/* C42E5C 802430AC 00820018 */ mult $a0, $v0 +/* C42E60 802430B0 00041FC3 */ sra $v1, $a0, 0x1f +/* C42E64 802430B4 00004010 */ mfhi $t0 +/* C42E68 802430B8 01041021 */ addu $v0, $t0, $a0 +/* C42E6C 802430BC 000211C3 */ sra $v0, $v0, 7 +/* C42E70 802430C0 00431023 */ subu $v0, $v0, $v1 +/* C42E74 802430C4 00021840 */ sll $v1, $v0, 1 +/* C42E78 802430C8 00621821 */ addu $v1, $v1, $v0 +/* C42E7C 802430CC 00031100 */ sll $v0, $v1, 4 +/* C42E80 802430D0 00431023 */ subu $v0, $v0, $v1 +/* C42E84 802430D4 00021080 */ sll $v0, $v0, 2 +/* C42E88 802430D8 00822023 */ subu $a0, $a0, $v0 +/* C42E8C 802430DC 00042400 */ sll $a0, $a0, 0x10 +/* C42E90 802430E0 0C00A4F5 */ jal cosine +/* C42E94 802430E4 00042403 */ sra $a0, $a0, 0x10 +/* C42E98 802430E8 3C014260 */ lui $at, 0x4260 +/* C42E9C 802430EC 44811000 */ mtc1 $at, $f2 +/* C42EA0 802430F0 00000000 */ nop +/* C42EA4 802430F4 46020002 */ mul.s $f0, $f0, $f2 +/* C42EA8 802430F8 00000000 */ nop +/* C42EAC 802430FC 24050006 */ addiu $a1, $zero, 6 +/* C42EB0 80243100 3C01437F */ lui $at, 0x437f +/* C42EB4 80243104 44811000 */ mtc1 $at, $f2 +/* C42EB8 80243108 240200FF */ addiu $v0, $zero, 0xff +/* C42EBC 8024310C 46001081 */ sub.s $f2, $f2, $f0 +/* C42EC0 80243110 AFA20014 */ sw $v0, 0x14($sp) +/* C42EC4 80243114 AFA00018 */ sw $zero, 0x18($sp) +/* C42EC8 80243118 4600120D */ trunc.w.s $f8, $f2 +/* C42ECC 8024311C 44064000 */ mfc1 $a2, $f8 +/* C42ED0 80243120 00000000 */ nop +/* C42ED4 80243124 AFA60010 */ sw $a2, 0x10($sp) +/* C42ED8 80243128 8E440024 */ lw $a0, 0x24($s2) +/* C42EDC 8024312C 0C0B7A25 */ jal func_802DE894 +/* C42EE0 80243130 00C0382D */ daddu $a3, $a2, $zero +/* C42EE4 80243134 27A50020 */ addiu $a1, $sp, 0x20 +/* C42EE8 80243138 27A60024 */ addiu $a2, $sp, 0x24 +/* C42EEC 8024313C 8E020000 */ lw $v0, ($s0) +/* C42EF0 80243140 3C01447A */ lui $at, 0x447a +/* C42EF4 80243144 44810000 */ mtc1 $at, $f0 +/* C42EF8 80243148 C4420028 */ lwc1 $f2, 0x28($v0) +/* C42EFC 8024314C C444002C */ lwc1 $f4, 0x2c($v0) +/* C42F00 80243150 C4460030 */ lwc1 $f6, 0x30($v0) +/* C42F04 80243154 27A2002C */ addiu $v0, $sp, 0x2c +/* C42F08 80243158 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C42F0C 8024315C E7A20020 */ swc1 $f2, 0x20($sp) +/* C42F10 80243160 E7A40024 */ swc1 $f4, 0x24($sp) +/* C42F14 80243164 E7A60028 */ swc1 $f6, 0x28($sp) +/* C42F18 80243168 AFA20010 */ sw $v0, 0x10($sp) +/* C42F1C 8024316C 8E440080 */ lw $a0, 0x80($s2) +/* C42F20 80243170 0C0372DF */ jal func_800DCB7C +/* C42F24 80243174 27A70028 */ addiu $a3, $sp, 0x28 +/* C42F28 80243178 C644003C */ lwc1 $f4, 0x3c($s2) +/* C42F2C 8024317C C7A00024 */ lwc1 $f0, 0x24($sp) +/* C42F30 80243180 46002001 */ sub.s $f0, $f4, $f0 +/* C42F34 80243184 3C014038 */ lui $at, 0x4038 +/* C42F38 80243188 44811800 */ mtc1 $at, $f3 +/* C42F3C 8024318C 44801000 */ mtc1 $zero, $f2 +/* C42F40 80243190 46000005 */ abs.s $f0, $f0 +/* C42F44 80243194 46000021 */ cvt.d.s $f0, $f0 +/* C42F48 80243198 4620103C */ c.lt.d $f2, $f0 +/* C42F4C 8024319C 00000000 */ nop +/* C42F50 802431A0 45000008 */ bc1f .L802431C4 +/* C42F54 802431A4 3C03FFDF */ lui $v1, 0xffdf +/* C42F58 802431A8 3C018024 */ lui $at, 0x8024 +/* C42F5C 802431AC D4226D98 */ ldc1 $f2, 0x6d98($at) +/* C42F60 802431B0 46002021 */ cvt.d.s $f0, $f4 +/* C42F64 802431B4 46220001 */ sub.d $f0, $f0, $f2 +/* C42F68 802431B8 46200020 */ cvt.s.d $f0, $f0 +/* C42F6C 802431BC 08090C84 */ j .L80243210 +/* C42F70 802431C0 E640003C */ swc1 $f0, 0x3c($s2) +.L802431C4: +/* C42F74 802431C4 8E420000 */ lw $v0, ($s2) +/* C42F78 802431C8 3463FFFF */ ori $v1, $v1, 0xffff +/* C42F7C 802431CC AE400048 */ sw $zero, 0x48($s2) +/* C42F80 802431D0 00431024 */ and $v0, $v0, $v1 +/* C42F84 802431D4 AE420000 */ sw $v0, ($s2) +/* C42F88 802431D8 3C038011 */ lui $v1, 0x8011 +/* C42F8C 802431DC 8063EBB3 */ lb $v1, -0x144d($v1) +/* C42F90 802431E0 24020009 */ addiu $v0, $zero, 9 +/* C42F94 802431E4 10620009 */ beq $v1, $v0, .L8024320C +/* C42F98 802431E8 24020010 */ addiu $v0, $zero, 0x10 +/* C42F9C 802431EC 0C03805E */ jal disable_player_input +/* C42FA0 802431F0 00000000 */ nop +/* C42FA4 802431F4 0C03BD8A */ jal func_800EF628 +/* C42FA8 802431F8 00000000 */ nop +/* C42FAC 802431FC 24020014 */ addiu $v0, $zero, 0x14 +/* C42FB0 80243200 08090C83 */ j .L8024320C +/* C42FB4 80243204 A640008E */ sh $zero, 0x8e($s2) +.L80243208: +/* C42FB8 80243208 24020010 */ addiu $v0, $zero, 0x10 +.L8024320C: +/* C42FBC 8024320C AE820070 */ sw $v0, 0x70($s4) +.L80243210: +/* C42FC0 80243210 8FBF0044 */ lw $ra, 0x44($sp) +/* C42FC4 80243214 8FB40040 */ lw $s4, 0x40($sp) +/* C42FC8 80243218 8FB3003C */ lw $s3, 0x3c($sp) +/* C42FCC 8024321C 8FB20038 */ lw $s2, 0x38($sp) +/* C42FD0 80243220 8FB10034 */ lw $s1, 0x34($sp) +/* C42FD4 80243224 8FB00030 */ lw $s0, 0x30($sp) +/* C42FD8 80243228 03E00008 */ jr $ra +/* C42FDC 8024322C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243230_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243230_C3FDB0.s new file mode 100644 index 0000000000..bcb9fb4d1a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243230_C3FDB0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243230_C42FE0 +/* C42FE0 80243230 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C42FE4 80243234 AFB20028 */ sw $s2, 0x28($sp) +/* C42FE8 80243238 0080902D */ daddu $s2, $a0, $zero +/* C42FEC 8024323C AFBF002C */ sw $ra, 0x2c($sp) +/* C42FF0 80243240 AFB10024 */ sw $s1, 0x24($sp) +/* C42FF4 80243244 AFB00020 */ sw $s0, 0x20($sp) +/* C42FF8 80243248 8E500148 */ lw $s0, 0x148($s2) +/* C42FFC 8024324C 0C00EABB */ jal get_npc_unsafe +/* C43000 80243250 86040008 */ lh $a0, 8($s0) +/* C43004 80243254 2404FEFF */ addiu $a0, $zero, -0x101 +/* C43008 80243258 0040882D */ daddu $s1, $v0, $zero +/* C4300C 8024325C 0000282D */ daddu $a1, $zero, $zero +/* C43010 80243260 8E03006C */ lw $v1, 0x6c($s0) +/* C43014 80243264 00A0302D */ daddu $a2, $a1, $zero +/* C43018 80243268 00641824 */ and $v1, $v1, $a0 +/* C4301C 8024326C AE03006C */ sw $v1, 0x6c($s0) +/* C43020 80243270 AFA00010 */ sw $zero, 0x10($sp) +/* C43024 80243274 AFA00014 */ sw $zero, 0x14($sp) +/* C43028 80243278 AFA00018 */ sw $zero, 0x18($sp) +/* C4302C 8024327C 8E240024 */ lw $a0, 0x24($s1) +/* C43030 80243280 0C0B7A25 */ jal func_802DE894 +/* C43034 80243284 00A0382D */ daddu $a3, $a1, $zero +/* C43038 80243288 8E02006C */ lw $v0, 0x6c($s0) +/* C4303C 8024328C 30421000 */ andi $v0, $v0, 0x1000 +/* C43040 80243290 10400008 */ beqz $v0, .L802432B4 +/* C43044 80243294 00000000 */ nop +/* C43048 80243298 3C048000 */ lui $a0, 0x8000 +/* C4304C 8024329C 0C05271B */ jal stop_sound +/* C43050 802432A0 34840011 */ ori $a0, $a0, 0x11 +/* C43054 802432A4 8E02006C */ lw $v0, 0x6c($s0) +/* C43058 802432A8 2403EFFF */ addiu $v1, $zero, -0x1001 +/* C4305C 802432AC 00431024 */ and $v0, $v0, $v1 +/* C43060 802432B0 AE02006C */ sw $v0, 0x6c($s0) +.L802432B4: +/* C43064 802432B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C43068 802432B8 8C430024 */ lw $v1, 0x24($v0) +/* C4306C 802432BC 24020014 */ addiu $v0, $zero, 0x14 +/* C43070 802432C0 A622008E */ sh $v0, 0x8e($s1) +/* C43074 802432C4 24020011 */ addiu $v0, $zero, 0x11 +/* C43078 802432C8 AE230028 */ sw $v1, 0x28($s1) +/* C4307C 802432CC AE420070 */ sw $v0, 0x70($s2) +/* C43080 802432D0 8FBF002C */ lw $ra, 0x2c($sp) +/* C43084 802432D4 8FB20028 */ lw $s2, 0x28($sp) +/* C43088 802432D8 8FB10024 */ lw $s1, 0x24($sp) +/* C4308C 802432DC 8FB00020 */ lw $s0, 0x20($sp) +/* C43090 802432E0 03E00008 */ jr $ra +/* C43094 802432E4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802432E8_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802432E8_C3FDB0.s new file mode 100644 index 0000000000..4da36cb61c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802432E8_C3FDB0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802432E8_C43098 +/* C43098 802432E8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C4309C 802432EC AFB20048 */ sw $s2, 0x48($sp) +/* C430A0 802432F0 0080902D */ daddu $s2, $a0, $zero +/* C430A4 802432F4 AFBF004C */ sw $ra, 0x4c($sp) +/* C430A8 802432F8 AFB10044 */ sw $s1, 0x44($sp) +/* C430AC 802432FC AFB00040 */ sw $s0, 0x40($sp) +/* C430B0 80243300 F7B40050 */ sdc1 $f20, 0x50($sp) +/* C430B4 80243304 8E500148 */ lw $s0, 0x148($s2) +/* C430B8 80243308 0C00EABB */ jal get_npc_unsafe +/* C430BC 8024330C 86040008 */ lh $a0, 8($s0) +/* C430C0 80243310 27A50028 */ addiu $a1, $sp, 0x28 +/* C430C4 80243314 0040882D */ daddu $s1, $v0, $zero +/* C430C8 80243318 27A6002C */ addiu $a2, $sp, 0x2c +/* C430CC 8024331C 27A70030 */ addiu $a3, $sp, 0x30 +/* C430D0 80243320 C620003C */ lwc1 $f0, 0x3c($s1) +/* C430D4 80243324 3C014004 */ lui $at, 0x4004 +/* C430D8 80243328 44811800 */ mtc1 $at, $f3 +/* C430DC 8024332C 44801000 */ mtc1 $zero, $f2 +/* C430E0 80243330 C6260038 */ lwc1 $f6, 0x38($s1) +/* C430E4 80243334 46000021 */ cvt.d.s $f0, $f0 +/* C430E8 80243338 46220000 */ add.d $f0, $f0, $f2 +/* C430EC 8024333C 3C01447A */ lui $at, 0x447a +/* C430F0 80243340 44812000 */ mtc1 $at, $f4 +/* C430F4 80243344 C6020078 */ lwc1 $f2, 0x78($s0) +/* C430F8 80243348 468010A0 */ cvt.s.w $f2, $f2 +/* C430FC 8024334C 46200020 */ cvt.s.d $f0, $f0 +/* C43100 80243350 E620003C */ swc1 $f0, 0x3c($s1) +/* C43104 80243354 46000206 */ mov.s $f8, $f0 +/* C43108 80243358 C6200040 */ lwc1 $f0, 0x40($s1) +/* C4310C 8024335C 27A20034 */ addiu $v0, $sp, 0x34 +/* C43110 80243360 E7A00030 */ swc1 $f0, 0x30($sp) +/* C43114 80243364 3C014059 */ lui $at, 0x4059 +/* C43118 80243368 44810800 */ mtc1 $at, $f1 +/* C4311C 8024336C 44800000 */ mtc1 $zero, $f0 +/* C43120 80243370 460010A1 */ cvt.d.s $f2, $f2 +/* C43124 80243374 E7A60028 */ swc1 $f6, 0x28($sp) +/* C43128 80243378 E7A40034 */ swc1 $f4, 0x34($sp) +/* C4312C 8024337C E7A8002C */ swc1 $f8, 0x2c($sp) +/* C43130 80243380 AFA20010 */ sw $v0, 0x10($sp) +/* C43134 80243384 8E240080 */ lw $a0, 0x80($s1) +/* C43138 80243388 46201083 */ div.d $f2, $f2, $f0 +/* C4313C 8024338C 0C0372DF */ jal func_800DCB7C +/* C43140 80243390 46201520 */ cvt.s.d $f20, $f2 +/* C43144 80243394 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C43148 80243398 46140000 */ add.s $f0, $f0, $f20 +/* C4314C 8024339C C622003C */ lwc1 $f2, 0x3c($s1) +/* C43150 802433A0 4600103C */ c.lt.s $f2, $f0 +/* C43154 802433A4 00000000 */ nop +/* C43158 802433A8 45010028 */ bc1t .L8024344C +/* C4315C 802433AC 00000000 */ nop +/* C43160 802433B0 8E0200D0 */ lw $v0, 0xd0($s0) +/* C43164 802433B4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C43168 802433B8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C4316C 802433BC C44A0000 */ lwc1 $f10, ($v0) +/* C43170 802433C0 468052A0 */ cvt.s.w $f10, $f10 +/* C43174 802433C4 44065000 */ mfc1 $a2, $f10 +/* C43178 802433C8 C44A0008 */ lwc1 $f10, 8($v0) +/* C4317C 802433CC 468052A0 */ cvt.s.w $f10, $f10 +/* C43180 802433D0 44075000 */ mfc1 $a3, $f10 +/* C43184 802433D4 0C00A720 */ jal atan2 +/* C43188 802433D8 2410000A */ addiu $s0, $zero, 0xa +/* C4318C 802433DC 24040002 */ addiu $a0, $zero, 2 +/* C43190 802433E0 0220282D */ daddu $a1, $s1, $zero +/* C43194 802433E4 0000302D */ daddu $a2, $zero, $zero +/* C43198 802433E8 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* C4319C 802433EC 862200A8 */ lh $v0, 0xa8($s1) +/* C431A0 802433F0 E620000C */ swc1 $f0, 0xc($s1) +/* C431A4 802433F4 3C013F80 */ lui $at, 0x3f80 +/* C431A8 802433F8 44810000 */ mtc1 $at, $f0 +/* C431AC 802433FC 3C014000 */ lui $at, 0x4000 +/* C431B0 80243400 44812000 */ mtc1 $at, $f4 +/* C431B4 80243404 3C01C1A0 */ lui $at, 0xc1a0 +/* C431B8 80243408 44813000 */ mtc1 $at, $f6 +/* C431BC 8024340C 44825000 */ mtc1 $v0, $f10 +/* C431C0 80243410 00000000 */ nop +/* C431C4 80243414 468052A0 */ cvt.s.w $f10, $f10 +/* C431C8 80243418 46141080 */ add.s $f2, $f2, $f20 +/* C431CC 8024341C 44075000 */ mfc1 $a3, $f10 +/* C431D0 80243420 27A20038 */ addiu $v0, $sp, 0x38 +/* C431D4 80243424 E622003C */ swc1 $f2, 0x3c($s1) +/* C431D8 80243428 E7A00010 */ swc1 $f0, 0x10($sp) +/* C431DC 8024342C E7A40014 */ swc1 $f4, 0x14($sp) +/* C431E0 80243430 E7A60018 */ swc1 $f6, 0x18($sp) +/* C431E4 80243434 AFB0001C */ sw $s0, 0x1c($sp) +/* C431E8 80243438 0C01BFA4 */ jal fx_emote +/* C431EC 8024343C AFA20020 */ sw $v0, 0x20($sp) +/* C431F0 80243440 24020012 */ addiu $v0, $zero, 0x12 +/* C431F4 80243444 A630008E */ sh $s0, 0x8e($s1) +/* C431F8 80243448 AE420070 */ sw $v0, 0x70($s2) +.L8024344C: +/* C431FC 8024344C 8FBF004C */ lw $ra, 0x4c($sp) +/* C43200 80243450 8FB20048 */ lw $s2, 0x48($sp) +/* C43204 80243454 8FB10044 */ lw $s1, 0x44($sp) +/* C43208 80243458 8FB00040 */ lw $s0, 0x40($sp) +/* C4320C 8024345C D7B40050 */ ldc1 $f20, 0x50($sp) +/* C43210 80243460 03E00008 */ jr $ra +/* C43214 80243464 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243468_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243468_C3FDB0.s new file mode 100644 index 0000000000..dce26df896 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243468_C3FDB0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243468_C43218 +/* C43218 80243468 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C4321C 8024346C AFB00010 */ sw $s0, 0x10($sp) +/* C43220 80243470 0080802D */ daddu $s0, $a0, $zero +/* C43224 80243474 AFBF0014 */ sw $ra, 0x14($sp) +/* C43228 80243478 8E020148 */ lw $v0, 0x148($s0) +/* C4322C 8024347C 0C00EABB */ jal get_npc_unsafe +/* C43230 80243480 84440008 */ lh $a0, 8($v0) +/* C43234 80243484 9443008E */ lhu $v1, 0x8e($v0) +/* C43238 80243488 2463FFFF */ addiu $v1, $v1, -1 +/* C4323C 8024348C A443008E */ sh $v1, 0x8e($v0) +/* C43240 80243490 00031C00 */ sll $v1, $v1, 0x10 +/* C43244 80243494 1C600002 */ bgtz $v1, .L802434A0 +/* C43248 80243498 2402001E */ addiu $v0, $zero, 0x1e +/* C4324C 8024349C AE020070 */ sw $v0, 0x70($s0) +.L802434A0: +/* C43250 802434A0 8FBF0014 */ lw $ra, 0x14($sp) +/* C43254 802434A4 8FB00010 */ lw $s0, 0x10($sp) +/* C43258 802434A8 03E00008 */ jr $ra +/* C4325C 802434AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802434B0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802434B0.s new file mode 100644 index 0000000000..24771f8507 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802434B0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434B0 +/* C43260 802434B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C43264 802434B4 AFB00010 */ sw $s0, 0x10($sp) +/* C43268 802434B8 0080802D */ daddu $s0, $a0, $zero +/* C4326C 802434BC AFBF0014 */ sw $ra, 0x14($sp) +/* C43270 802434C0 8E020148 */ lw $v0, 0x148($s0) +/* C43274 802434C4 0C00EABB */ jal get_npc_unsafe +/* C43278 802434C8 84440008 */ lh $a0, 8($v0) +/* C4327C 802434CC 0040202D */ daddu $a0, $v0, $zero +/* C43280 802434D0 9482008E */ lhu $v0, 0x8e($a0) +/* C43284 802434D4 24420001 */ addiu $v0, $v0, 1 +/* C43288 802434D8 A482008E */ sh $v0, 0x8e($a0) +/* C4328C 802434DC 00021400 */ sll $v0, $v0, 0x10 +/* C43290 802434E0 00021403 */ sra $v0, $v0, 0x10 +/* C43294 802434E4 28420003 */ slti $v0, $v0, 3 +/* C43298 802434E8 1440000D */ bnez $v0, .L80243520 +/* C4329C 802434EC 24020009 */ addiu $v0, $zero, 9 +/* C432A0 802434F0 3C038011 */ lui $v1, 0x8011 +/* C432A4 802434F4 8063EBB3 */ lb $v1, -0x144d($v1) +/* C432A8 802434F8 10620003 */ beq $v1, $v0, .L80243508 +/* C432AC 802434FC 24020064 */ addiu $v0, $zero, 0x64 +/* C432B0 80243500 08090D47 */ j .L8024351C +/* C432B4 80243504 A480008E */ sh $zero, 0x8e($a0) +.L80243508: +/* C432B8 80243508 0C038069 */ jal enable_player_input +/* C432BC 8024350C 00000000 */ nop +/* C432C0 80243510 0C03BD80 */ jal func_800EF600 +/* C432C4 80243514 00000000 */ nop +/* C432C8 80243518 24020010 */ addiu $v0, $zero, 0x10 +.L8024351C: +/* C432CC 8024351C AE020070 */ sw $v0, 0x70($s0) +.L80243520: +/* C432D0 80243520 8FBF0014 */ lw $ra, 0x14($sp) +/* C432D4 80243524 8FB00010 */ lw $s0, 0x10($sp) +/* C432D8 80243528 03E00008 */ jr $ra +/* C432DC 8024352C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243530.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243530.s new file mode 100644 index 0000000000..9ca8fda081 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243530.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243530 +/* C432E0 80243530 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C432E4 80243534 AFB20018 */ sw $s2, 0x18($sp) +/* C432E8 80243538 0080902D */ daddu $s2, $a0, $zero +/* C432EC 8024353C AFBF001C */ sw $ra, 0x1c($sp) +/* C432F0 80243540 AFB10014 */ sw $s1, 0x14($sp) +/* C432F4 80243544 AFB00010 */ sw $s0, 0x10($sp) +/* C432F8 80243548 8E500148 */ lw $s0, 0x148($s2) +/* C432FC 8024354C 86040008 */ lh $a0, 8($s0) +/* C43300 80243550 0C00EABB */ jal get_npc_unsafe +/* C43304 80243554 00A0882D */ daddu $s1, $a1, $zero +/* C43308 80243558 3C05FFDF */ lui $a1, 0xffdf +/* C4330C 8024355C 8E03006C */ lw $v1, 0x6c($s0) +/* C43310 80243560 2404FEFF */ addiu $a0, $zero, -0x101 +/* C43314 80243564 00641824 */ and $v1, $v1, $a0 +/* C43318 80243568 AE03006C */ sw $v1, 0x6c($s0) +/* C4331C 8024356C 8C430000 */ lw $v1, ($v0) +/* C43320 80243570 34A5FFFF */ ori $a1, $a1, 0xffff +/* C43324 80243574 00651824 */ and $v1, $v1, $a1 +/* C43328 80243578 AC430000 */ sw $v1, ($v0) +/* C4332C 8024357C C6200000 */ lwc1 $f0, ($s1) +/* C43330 80243580 46000021 */ cvt.d.s $f0, $f0 +/* C43334 80243584 46200000 */ add.d $f0, $f0, $f0 +/* C43338 80243588 46200020 */ cvt.s.d $f0, $f0 +/* C4333C 8024358C E4400018 */ swc1 $f0, 0x18($v0) +/* C43340 80243590 AE000074 */ sw $zero, 0x74($s0) +/* C43344 80243594 C440003C */ lwc1 $f0, 0x3c($v0) +/* C43348 80243598 3C014059 */ lui $at, 0x4059 +/* C4334C 8024359C 44811800 */ mtc1 $at, $f3 +/* C43350 802435A0 44801000 */ mtc1 $zero, $f2 +/* C43354 802435A4 46000021 */ cvt.d.s $f0, $f0 +/* C43358 802435A8 46220002 */ mul.d $f0, $f0, $f2 +/* C4335C 802435AC 00000000 */ nop +/* C43360 802435B0 2402001E */ addiu $v0, $zero, 0x1e +/* C43364 802435B4 4620010D */ trunc.w.d $f4, $f0 +/* C43368 802435B8 E604007C */ swc1 $f4, 0x7c($s0) +/* C4336C 802435BC AE420074 */ sw $v0, 0x74($s2) +/* C43370 802435C0 8FBF001C */ lw $ra, 0x1c($sp) +/* C43374 802435C4 8FB20018 */ lw $s2, 0x18($sp) +/* C43378 802435C8 8FB10014 */ lw $s1, 0x14($sp) +/* C4337C 802435CC 8FB00010 */ lw $s0, 0x10($sp) +/* C43380 802435D0 03E00008 */ jr $ra +/* C43384 802435D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802435D8.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802435D8.s new file mode 100644 index 0000000000..79b4006c61 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802435D8.s @@ -0,0 +1,207 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435D8 +/* C43388 802435D8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C4338C 802435DC AFB20048 */ sw $s2, 0x48($sp) +/* C43390 802435E0 0080902D */ daddu $s2, $a0, $zero +/* C43394 802435E4 AFBF0054 */ sw $ra, 0x54($sp) +/* C43398 802435E8 AFB40050 */ sw $s4, 0x50($sp) +/* C4339C 802435EC AFB3004C */ sw $s3, 0x4c($sp) +/* C433A0 802435F0 AFB10044 */ sw $s1, 0x44($sp) +/* C433A4 802435F4 AFB00040 */ sw $s0, 0x40($sp) +/* C433A8 802435F8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C433AC 802435FC F7B80068 */ sdc1 $f24, 0x68($sp) +/* C433B0 80243600 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C433B4 80243604 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C433B8 80243608 8E500148 */ lw $s0, 0x148($s2) +/* C433BC 8024360C 00A0982D */ daddu $s3, $a1, $zero +/* C433C0 80243610 86040008 */ lh $a0, 8($s0) +/* C433C4 80243614 0C00EABB */ jal get_npc_unsafe +/* C433C8 80243618 00C0A02D */ daddu $s4, $a2, $zero +/* C433CC 8024361C 0040882D */ daddu $s1, $v0, $zero +/* C433D0 80243620 C6200038 */ lwc1 $f0, 0x38($s1) +/* C433D4 80243624 C622003C */ lwc1 $f2, 0x3c($s1) +/* C433D8 80243628 C6240040 */ lwc1 $f4, 0x40($s1) +/* C433DC 8024362C 3C01447A */ lui $at, 0x447a +/* C433E0 80243630 44813000 */ mtc1 $at, $f6 +/* C433E4 80243634 C60C0074 */ lwc1 $f12, 0x74($s0) +/* C433E8 80243638 46806320 */ cvt.s.w $f12, $f12 +/* C433EC 8024363C E7A00028 */ swc1 $f0, 0x28($sp) +/* C433F0 80243640 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C433F4 80243644 E7A40030 */ swc1 $f4, 0x30($sp) +/* C433F8 80243648 E7A60034 */ swc1 $f6, 0x34($sp) +/* C433FC 8024364C C6000078 */ lwc1 $f0, 0x78($s0) +/* C43400 80243650 46800020 */ cvt.s.w $f0, $f0 +/* C43404 80243654 46000021 */ cvt.d.s $f0, $f0 +/* C43408 80243658 C6020088 */ lwc1 $f2, 0x88($s0) +/* C4340C 8024365C 468010A0 */ cvt.s.w $f2, $f2 +/* C43410 80243660 3C014059 */ lui $at, 0x4059 +/* C43414 80243664 44812800 */ mtc1 $at, $f5 +/* C43418 80243668 44802000 */ mtc1 $zero, $f4 +/* C4341C 8024366C 460010A1 */ cvt.d.s $f2, $f2 +/* C43420 80243670 46240003 */ div.d $f0, $f0, $f4 +/* C43424 80243674 462006A0 */ cvt.s.d $f26, $f0 +/* C43428 80243678 46241083 */ div.d $f2, $f2, $f4 +/* C4342C 8024367C 462010A0 */ cvt.s.d $f2, $f2 +/* C43430 80243680 C6000070 */ lwc1 $f0, 0x70($s0) +/* C43434 80243684 46800020 */ cvt.s.w $f0, $f0 +/* C43438 80243688 46000021 */ cvt.d.s $f0, $f0 +/* C4343C 8024368C 46240003 */ div.d $f0, $f0, $f4 +/* C43440 80243690 462005A0 */ cvt.s.d $f22, $f0 +/* C43444 80243694 0C00A8BB */ jal sin_deg +/* C43448 80243698 4602D600 */ add.s $f24, $f26, $f2 +/* C4344C 8024369C 27A50028 */ addiu $a1, $sp, 0x28 +/* C43450 802436A0 27A6002C */ addiu $a2, $sp, 0x2c +/* C43454 802436A4 27A70030 */ addiu $a3, $sp, 0x30 +/* C43458 802436A8 27A20034 */ addiu $v0, $sp, 0x34 +/* C4345C 802436AC AFA20010 */ sw $v0, 0x10($sp) +/* C43460 802436B0 8E240080 */ lw $a0, 0x80($s1) +/* C43464 802436B4 0C0372DF */ jal func_800DCB7C +/* C43468 802436B8 46000506 */ mov.s $f20, $f0 +/* C4346C 802436BC 10400007 */ beqz $v0, .L802436DC +/* C43470 802436C0 00000000 */ nop +/* C43474 802436C4 4616A082 */ mul.s $f2, $f20, $f22 +/* C43478 802436C8 00000000 */ nop +/* C4347C 802436CC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C43480 802436D0 461A0000 */ add.s $f0, $f0, $f26 +/* C43484 802436D4 08090DBA */ j .L802436E8 +/* C43488 802436D8 46020000 */ add.s $f0, $f0, $f2 +.L802436DC: +/* C4348C 802436DC 4616A002 */ mul.s $f0, $f20, $f22 +/* C43490 802436E0 00000000 */ nop +/* C43494 802436E4 4600C000 */ add.s $f0, $f24, $f0 +.L802436E8: +/* C43498 802436E8 E620003C */ swc1 $f0, 0x3c($s1) +/* C4349C 802436EC 8E020074 */ lw $v0, 0x74($s0) +/* C434A0 802436F0 2442000C */ addiu $v0, $v0, 0xc +/* C434A4 802436F4 44826000 */ mtc1 $v0, $f12 +/* C434A8 802436F8 00000000 */ nop +/* C434AC 802436FC 0C00A6C9 */ jal clamp_angle +/* C434B0 80243700 46806320 */ cvt.s.w $f12, $f12 +/* C434B4 80243704 4600020D */ trunc.w.s $f8, $f0 +/* C434B8 80243708 E6080074 */ swc1 $f8, 0x74($s0) +/* C434BC 8024370C 8E420074 */ lw $v0, 0x74($s2) +/* C434C0 80243710 1C400037 */ bgtz $v0, .L802437F0 +/* C434C4 80243714 2442FFFF */ addiu $v0, $v0, -1 +/* C434C8 80243718 8E620014 */ lw $v0, 0x14($s3) +/* C434CC 8024371C AE420074 */ sw $v0, 0x74($s2) +/* C434D0 80243720 C662000C */ lwc1 $f2, 0xc($s3) +/* C434D4 80243724 3C013FE0 */ lui $at, 0x3fe0 +/* C434D8 80243728 44812800 */ mtc1 $at, $f5 +/* C434DC 8024372C 44802000 */ mtc1 $zero, $f4 +/* C434E0 80243730 460010A1 */ cvt.d.s $f2, $f2 +/* C434E4 80243734 46241082 */ mul.d $f2, $f2, $f4 +/* C434E8 80243738 00000000 */ nop +/* C434EC 8024373C C6600010 */ lwc1 $f0, 0x10($s3) +/* C434F0 80243740 46000021 */ cvt.d.s $f0, $f0 +/* C434F4 80243744 46240002 */ mul.d $f0, $f0, $f4 +/* C434F8 80243748 00000000 */ nop +/* C434FC 8024374C 0280202D */ daddu $a0, $s4, $zero +/* C43500 80243750 462010A0 */ cvt.s.d $f2, $f2 +/* C43504 80243754 46200020 */ cvt.s.d $f0, $f0 +/* C43508 80243758 44061000 */ mfc1 $a2, $f2 +/* C4350C 8024375C 44070000 */ mfc1 $a3, $f0 +/* C43510 80243760 0200282D */ daddu $a1, $s0, $zero +/* C43514 80243764 0C01242D */ jal func_800490B4 +/* C43518 80243768 AFA00010 */ sw $zero, 0x10($sp) +/* C4351C 8024376C 1040001E */ beqz $v0, .L802437E8 +/* C43520 80243770 0000202D */ daddu $a0, $zero, $zero +/* C43524 80243774 0220282D */ daddu $a1, $s1, $zero +/* C43528 80243778 0000302D */ daddu $a2, $zero, $zero +/* C4352C 8024377C 2410000C */ addiu $s0, $zero, 0xc +/* C43530 80243780 862300A8 */ lh $v1, 0xa8($s1) +/* C43534 80243784 3C013F80 */ lui $at, 0x3f80 +/* C43538 80243788 44810000 */ mtc1 $at, $f0 +/* C4353C 8024378C 3C014000 */ lui $at, 0x4000 +/* C43540 80243790 44811000 */ mtc1 $at, $f2 +/* C43544 80243794 3C01C1A0 */ lui $at, 0xc1a0 +/* C43548 80243798 44812000 */ mtc1 $at, $f4 +/* C4354C 8024379C 44834000 */ mtc1 $v1, $f8 +/* C43550 802437A0 00000000 */ nop +/* C43554 802437A4 46804220 */ cvt.s.w $f8, $f8 +/* C43558 802437A8 44074000 */ mfc1 $a3, $f8 +/* C4355C 802437AC 27A20038 */ addiu $v0, $sp, 0x38 +/* C43560 802437B0 AFB0001C */ sw $s0, 0x1c($sp) +/* C43564 802437B4 AFA20020 */ sw $v0, 0x20($sp) +/* C43568 802437B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C4356C 802437BC E7A20014 */ swc1 $f2, 0x14($sp) +/* C43570 802437C0 0C01BFA4 */ jal fx_emote +/* C43574 802437C4 E7A40018 */ swc1 $f4, 0x18($sp) +/* C43578 802437C8 0220202D */ daddu $a0, $s1, $zero +/* C4357C 802437CC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C43580 802437D0 0C012530 */ jal func_800494C0 +/* C43584 802437D4 3C060020 */ lui $a2, 0x20 +/* C43588 802437D8 C620003C */ lwc1 $f0, 0x3c($s1) +/* C4358C 802437DC E6200064 */ swc1 $f0, 0x64($s1) +/* C43590 802437E0 08090E30 */ j .L802438C0 +/* C43594 802437E4 AE500070 */ sw $s0, 0x70($s2) +.L802437E8: +/* C43598 802437E8 8E420074 */ lw $v0, 0x74($s2) +/* C4359C 802437EC 2442FFFF */ addiu $v0, $v0, -1 +.L802437F0: +/* C435A0 802437F0 AE420074 */ sw $v0, 0x74($s2) +/* C435A4 802437F4 8622008C */ lh $v0, 0x8c($s1) +/* C435A8 802437F8 14400031 */ bnez $v0, .L802438C0 +/* C435AC 802437FC 00000000 */ nop +/* C435B0 80243800 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C435B4 80243804 8E0200D0 */ lw $v0, 0xd0($s0) +/* C435B8 80243808 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C435BC 8024380C C4480000 */ lwc1 $f8, ($v0) +/* C435C0 80243810 46804220 */ cvt.s.w $f8, $f8 +/* C435C4 80243814 44064000 */ mfc1 $a2, $f8 +/* C435C8 80243818 C4480008 */ lwc1 $f8, 8($v0) +/* C435CC 8024381C 46804220 */ cvt.s.w $f8, $f8 +/* C435D0 80243820 44074000 */ mfc1 $a3, $f8 +/* C435D4 80243824 0C00A720 */ jal atan2 +/* C435D8 80243828 00000000 */ nop +/* C435DC 8024382C 8E250018 */ lw $a1, 0x18($s1) +/* C435E0 80243830 44060000 */ mfc1 $a2, $f0 +/* C435E4 80243834 0220202D */ daddu $a0, $s1, $zero +/* C435E8 80243838 0C00EA95 */ jal npc_move_heading +/* C435EC 8024383C AE26000C */ sw $a2, 0xc($s1) +/* C435F0 80243840 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C435F4 80243844 8E0200D0 */ lw $v0, 0xd0($s0) +/* C435F8 80243848 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C435FC 8024384C C4480000 */ lwc1 $f8, ($v0) +/* C43600 80243850 46804220 */ cvt.s.w $f8, $f8 +/* C43604 80243854 44064000 */ mfc1 $a2, $f8 +/* C43608 80243858 C4480008 */ lwc1 $f8, 8($v0) +/* C4360C 8024385C 46804220 */ cvt.s.w $f8, $f8 +/* C43610 80243860 44074000 */ mfc1 $a3, $f8 +/* C43614 80243864 0C00A7B5 */ jal dist2D +/* C43618 80243868 00000000 */ nop +/* C4361C 8024386C C6220018 */ lwc1 $f2, 0x18($s1) +/* C43620 80243870 46021080 */ add.s $f2, $f2, $f2 +/* C43624 80243874 4602003E */ c.le.s $f0, $f2 +/* C43628 80243878 00000000 */ nop +/* C4362C 8024387C 45000010 */ bc1f .L802438C0 +/* C43630 80243880 E7A00034 */ swc1 $f0, 0x34($sp) +/* C43634 80243884 0C00A67F */ jal rand_int +/* C43638 80243888 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C4363C 8024388C 3C035555 */ lui $v1, 0x5555 +/* C43640 80243890 34635556 */ ori $v1, $v1, 0x5556 +/* C43644 80243894 00430018 */ mult $v0, $v1 +/* C43648 80243898 24030002 */ addiu $v1, $zero, 2 +/* C4364C 8024389C 000227C3 */ sra $a0, $v0, 0x1f +/* C43650 802438A0 AE430070 */ sw $v1, 0x70($s2) +/* C43654 802438A4 00004010 */ mfhi $t0 +/* C43658 802438A8 01042023 */ subu $a0, $t0, $a0 +/* C4365C 802438AC 00041840 */ sll $v1, $a0, 1 +/* C43660 802438B0 00641821 */ addu $v1, $v1, $a0 +/* C43664 802438B4 00431023 */ subu $v0, $v0, $v1 +/* C43668 802438B8 24420002 */ addiu $v0, $v0, 2 +/* C4366C 802438BC AE420074 */ sw $v0, 0x74($s2) +.L802438C0: +/* C43670 802438C0 8FBF0054 */ lw $ra, 0x54($sp) +/* C43674 802438C4 8FB40050 */ lw $s4, 0x50($sp) +/* C43678 802438C8 8FB3004C */ lw $s3, 0x4c($sp) +/* C4367C 802438CC 8FB20048 */ lw $s2, 0x48($sp) +/* C43680 802438D0 8FB10044 */ lw $s1, 0x44($sp) +/* C43684 802438D4 8FB00040 */ lw $s0, 0x40($sp) +/* C43688 802438D8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C4368C 802438DC D7B80068 */ ldc1 $f24, 0x68($sp) +/* C43690 802438E0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* C43694 802438E4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C43698 802438E8 03E00008 */ jr $ra +/* C4369C 802438EC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_802438F0_C3FDB0.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_802438F0_C3FDB0.s new file mode 100644 index 0000000000..d60bc3e5bc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_802438F0_C3FDB0.s @@ -0,0 +1,166 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802438F0_C436A0 +/* C436A0 802438F0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C436A4 802438F4 AFB40050 */ sw $s4, 0x50($sp) +/* C436A8 802438F8 0080A02D */ daddu $s4, $a0, $zero +/* C436AC 802438FC AFBF0058 */ sw $ra, 0x58($sp) +/* C436B0 80243900 AFB50054 */ sw $s5, 0x54($sp) +/* C436B4 80243904 AFB3004C */ sw $s3, 0x4c($sp) +/* C436B8 80243908 AFB20048 */ sw $s2, 0x48($sp) +/* C436BC 8024390C AFB10044 */ sw $s1, 0x44($sp) +/* C436C0 80243910 AFB00040 */ sw $s0, 0x40($sp) +/* C436C4 80243914 8E920148 */ lw $s2, 0x148($s4) +/* C436C8 80243918 86440008 */ lh $a0, 8($s2) +/* C436CC 8024391C 0C00EABB */ jal get_npc_unsafe +/* C436D0 80243920 00A0802D */ daddu $s0, $a1, $zero +/* C436D4 80243924 8E83000C */ lw $v1, 0xc($s4) +/* C436D8 80243928 0280202D */ daddu $a0, $s4, $zero +/* C436DC 8024392C 8C650000 */ lw $a1, ($v1) +/* C436E0 80243930 0C0B1EAF */ jal get_variable +/* C436E4 80243934 0040A82D */ daddu $s5, $v0, $zero +/* C436E8 80243938 AFA00020 */ sw $zero, 0x20($sp) +/* C436EC 8024393C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C436F0 80243940 8C630030 */ lw $v1, 0x30($v1) +/* C436F4 80243944 AFA30024 */ sw $v1, 0x24($sp) +/* C436F8 80243948 8E4300D0 */ lw $v1, 0xd0($s2) +/* C436FC 8024394C 8C63001C */ lw $v1, 0x1c($v1) +/* C43700 80243950 AFA30028 */ sw $v1, 0x28($sp) +/* C43704 80243954 8E4300D0 */ lw $v1, 0xd0($s2) +/* C43708 80243958 8C630024 */ lw $v1, 0x24($v1) +/* C4370C 8024395C AFA3002C */ sw $v1, 0x2c($sp) +/* C43710 80243960 8E4300D0 */ lw $v1, 0xd0($s2) +/* C43714 80243964 8C630028 */ lw $v1, 0x28($v1) +/* C43718 80243968 27B30020 */ addiu $s3, $sp, 0x20 +/* C4371C 8024396C AFA30030 */ sw $v1, 0x30($sp) +/* C43720 80243970 8E4300D0 */ lw $v1, 0xd0($s2) +/* C43724 80243974 3C0142FA */ lui $at, 0x42fa +/* C43728 80243978 44810000 */ mtc1 $at, $f0 +/* C4372C 8024397C 8C63002C */ lw $v1, 0x2c($v1) +/* C43730 80243980 0040882D */ daddu $s1, $v0, $zero +/* C43734 80243984 E7A00038 */ swc1 $f0, 0x38($sp) +/* C43738 80243988 A7A0003C */ sh $zero, 0x3c($sp) +/* C4373C 8024398C 12000007 */ beqz $s0, .L802439AC +/* C43740 80243990 AFA30034 */ sw $v1, 0x34($sp) +/* C43744 80243994 AE800070 */ sw $zero, 0x70($s4) +/* C43748 80243998 02A0202D */ daddu $a0, $s5, $zero +/* C4374C 8024399C 0240282D */ daddu $a1, $s2, $zero +/* C43750 802439A0 0280302D */ daddu $a2, $s4, $zero +/* C43754 802439A4 0C090A52 */ jal func_80242948 +/* C43758 802439A8 0220382D */ daddu $a3, $s1, $zero +.L802439AC: +/* C4375C 802439AC 8E830070 */ lw $v1, 0x70($s4) +/* C43760 802439B0 2C620020 */ sltiu $v0, $v1, 0x20 +/* C43764 802439B4 10400060 */ beqz $v0, .L80243B38 +/* C43768 802439B8 00031080 */ sll $v0, $v1, 2 +/* C4376C 802439BC 3C018024 */ lui $at, 0x8024 +/* C43770 802439C0 00220821 */ addu $at, $at, $v0 +/* C43774 802439C4 8C226DA0 */ lw $v0, 0x6da0($at) +/* C43778 802439C8 00400008 */ jr $v0 +/* C4377C 802439CC 00000000 */ nop +/* C43780 802439D0 0280202D */ daddu $a0, $s4, $zero +/* C43784 802439D4 0220282D */ daddu $a1, $s1, $zero +/* C43788 802439D8 0C0905D8 */ jal func_80241760 +/* C4378C 802439DC 0260302D */ daddu $a2, $s3, $zero +/* C43790 802439E0 0000282D */ daddu $a1, $zero, $zero +/* C43794 802439E4 00A0302D */ daddu $a2, $a1, $zero +/* C43798 802439E8 AFA00010 */ sw $zero, 0x10($sp) +/* C4379C 802439EC AFA00014 */ sw $zero, 0x14($sp) +/* C437A0 802439F0 AFA00018 */ sw $zero, 0x18($sp) +/* C437A4 802439F4 8EA40024 */ lw $a0, 0x24($s5) +/* C437A8 802439F8 0C0B7A25 */ jal func_802DE894 +/* C437AC 802439FC 00A0382D */ daddu $a3, $a1, $zero +/* C437B0 80243A00 0280202D */ daddu $a0, $s4, $zero +/* C437B4 80243A04 0220282D */ daddu $a1, $s1, $zero +/* C437B8 80243A08 0C090644 */ jal func_80241910 +/* C437BC 80243A0C 0260302D */ daddu $a2, $s3, $zero +/* C437C0 80243A10 08090E8E */ j .L80243A38 +/* C437C4 80243A14 00000000 */ nop +/* C437C8 80243A18 0280202D */ daddu $a0, $s4, $zero +/* C437CC 80243A1C 0220282D */ daddu $a1, $s1, $zero +/* C437D0 80243A20 0C0907CE */ jal func_80241F38 +/* C437D4 80243A24 0260302D */ daddu $a2, $s3, $zero +/* C437D8 80243A28 0280202D */ daddu $a0, $s4, $zero +/* C437DC 80243A2C 0220282D */ daddu $a1, $s1, $zero +/* C437E0 80243A30 0C0907FE */ jal func_80241FF8 +/* C437E4 80243A34 0260302D */ daddu $a2, $s3, $zero +.L80243A38: +/* C437E8 80243A38 8E830070 */ lw $v1, 0x70($s4) +/* C437EC 80243A3C 2402000C */ addiu $v0, $zero, 0xc +/* C437F0 80243A40 1462003D */ bne $v1, $v0, .L80243B38 +/* C437F4 80243A44 24020006 */ addiu $v0, $zero, 6 +/* C437F8 80243A48 08090ECE */ j .L80243B38 +/* C437FC 80243A4C A6A2008E */ sh $v0, 0x8e($s5) +/* C43800 80243A50 0280202D */ daddu $a0, $s4, $zero +/* C43804 80243A54 0220282D */ daddu $a1, $s1, $zero +/* C43808 80243A58 0C090B16 */ jal func_80242C58 +/* C4380C 80243A5C 0260302D */ daddu $a2, $s3, $zero +/* C43810 80243A60 8E830070 */ lw $v1, 0x70($s4) +/* C43814 80243A64 2402000D */ addiu $v0, $zero, 0xd +/* C43818 80243A68 14620033 */ bne $v1, $v0, .L80243B38 +/* C4381C 80243A6C 00000000 */ nop +/* C43820 80243A70 0280202D */ daddu $a0, $s4, $zero +/* C43824 80243A74 0220282D */ daddu $a1, $s1, $zero +/* C43828 80243A78 0C090B6C */ jal func_80242DB0 +/* C4382C 80243A7C 0260302D */ daddu $a2, $s3, $zero +/* C43830 80243A80 08090ECE */ j .L80243B38 +/* C43834 80243A84 00000000 */ nop +/* C43838 80243A88 0280202D */ daddu $a0, $s4, $zero +/* C4383C 80243A8C 0220282D */ daddu $a1, $s1, $zero +/* C43840 80243A90 0C090BAD */ jal func_80242EB4 +/* C43844 80243A94 0260302D */ daddu $a2, $s3, $zero +/* C43848 80243A98 8E830070 */ lw $v1, 0x70($s4) +/* C4384C 80243A9C 2402000F */ addiu $v0, $zero, 0xf +/* C43850 80243AA0 14620025 */ bne $v1, $v0, .L80243B38 +/* C43854 80243AA4 00000000 */ nop +/* C43858 80243AA8 0280202D */ daddu $a0, $s4, $zero +/* C4385C 80243AAC 0220282D */ daddu $a1, $s1, $zero +/* C43860 80243AB0 0C090BE5 */ jal func_80242F94 +/* C43864 80243AB4 0260302D */ daddu $a2, $s3, $zero +/* C43868 80243AB8 08090ECE */ j .L80243B38 +/* C4386C 80243ABC 00000000 */ nop +/* C43870 80243AC0 0280202D */ daddu $a0, $s4, $zero +/* C43874 80243AC4 0220282D */ daddu $a1, $s1, $zero +/* C43878 80243AC8 0C090C8C */ jal func_80243230 +/* C4387C 80243ACC 0260302D */ daddu $a2, $s3, $zero +/* C43880 80243AD0 0280202D */ daddu $a0, $s4, $zero +/* C43884 80243AD4 0220282D */ daddu $a1, $s1, $zero +/* C43888 80243AD8 0C090CBA */ jal func_802432E8 +/* C4388C 80243ADC 0260302D */ daddu $a2, $s3, $zero +/* C43890 80243AE0 08090ECE */ j .L80243B38 +/* C43894 80243AE4 00000000 */ nop +/* C43898 80243AE8 0280202D */ daddu $a0, $s4, $zero +/* C4389C 80243AEC 0220282D */ daddu $a1, $s1, $zero +/* C438A0 80243AF0 0C090D1A */ jal func_80243468 +/* C438A4 80243AF4 0260302D */ daddu $a2, $s3, $zero +/* C438A8 80243AF8 08090ECE */ j .L80243B38 +/* C438AC 80243AFC 00000000 */ nop +/* C438B0 80243B00 0280202D */ daddu $a0, $s4, $zero +/* C438B4 80243B04 0220282D */ daddu $a1, $s1, $zero +/* C438B8 80243B08 0C090D2C */ jal func_802434B0 +/* C438BC 80243B0C 0260302D */ daddu $a2, $s3, $zero +/* C438C0 80243B10 08090ECE */ j .L80243B38 +/* C438C4 80243B14 00000000 */ nop +/* C438C8 80243B18 0280202D */ daddu $a0, $s4, $zero +/* C438CC 80243B1C 0220282D */ daddu $a1, $s1, $zero +/* C438D0 80243B20 0C090D4C */ jal func_80243530 +/* C438D4 80243B24 0260302D */ daddu $a2, $s3, $zero +/* C438D8 80243B28 0280202D */ daddu $a0, $s4, $zero +/* C438DC 80243B2C 0220282D */ daddu $a1, $s1, $zero +/* C438E0 80243B30 0C090D76 */ jal func_802435D8 +/* C438E4 80243B34 0260302D */ daddu $a2, $s3, $zero +.L80243B38: +/* C438E8 80243B38 8E820070 */ lw $v0, 0x70($s4) +/* C438EC 80243B3C 8FBF0058 */ lw $ra, 0x58($sp) +/* C438F0 80243B40 8FB50054 */ lw $s5, 0x54($sp) +/* C438F4 80243B44 8FB40050 */ lw $s4, 0x50($sp) +/* C438F8 80243B48 8FB3004C */ lw $s3, 0x4c($sp) +/* C438FC 80243B4C 8FB20048 */ lw $s2, 0x48($sp) +/* C43900 80243B50 8FB10044 */ lw $s1, 0x44($sp) +/* C43904 80243B54 8FB00040 */ lw $s0, 0x40($sp) +/* C43908 80243B58 38420064 */ xori $v0, $v0, 0x64 +/* C4390C 80243B5C 2C420001 */ sltiu $v0, $v0, 1 +/* C43910 80243B60 00021040 */ sll $v0, $v0, 1 +/* C43914 80243B64 03E00008 */ jr $ra +/* C43918 80243B68 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B6C.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B6C.s new file mode 100644 index 0000000000..04f80d29b5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B6C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243B6C +/* C4391C 80243B6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C43920 80243B70 AFBF0010 */ sw $ra, 0x10($sp) +/* C43924 80243B74 0C03A6D5 */ jal increment_status_menu_disabled +/* C43928 80243B78 00000000 */ nop +/* C4392C 80243B7C 3C05437F */ lui $a1, 0x437f +/* C43930 80243B80 0C04DF69 */ jal func_80137DA4 +/* C43934 80243B84 0000202D */ daddu $a0, $zero, $zero +/* C43938 80243B88 8FBF0010 */ lw $ra, 0x10($sp) +/* C4393C 80243B8C 24020002 */ addiu $v0, $zero, 2 +/* C43940 80243B90 03E00008 */ jr $ra +/* C43944 80243B94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B98.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B98.s new file mode 100644 index 0000000000..4b533d384d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243B98.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243B98 +/* C43948 80243B98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C4394C 80243B9C AFBF0010 */ sw $ra, 0x10($sp) +/* C43950 80243BA0 0C00FB5A */ jal get_enemy_safe +/* C43954 80243BA4 24040009 */ addiu $a0, $zero, 9 +/* C43958 80243BA8 10400016 */ beqz $v0, .L80243C04 +/* C4395C 80243BAC 24020002 */ addiu $v0, $zero, 2 +/* C43960 80243BB0 0C00FB3A */ jal get_enemy +/* C43964 80243BB4 24040009 */ addiu $a0, $zero, 9 +/* C43968 80243BB8 8C4400D0 */ lw $a0, 0xd0($v0) +/* C4396C 80243BBC 24030002 */ addiu $v1, $zero, 2 +/* C43970 80243BC0 AC830000 */ sw $v1, ($a0) +/* C43974 80243BC4 8C4400D0 */ lw $a0, 0xd0($v0) +/* C43978 80243BC8 2403FE3E */ addiu $v1, $zero, -0x1c2 +/* C4397C 80243BCC AC830004 */ sw $v1, 4($a0) +/* C43980 80243BD0 8C4300D0 */ lw $v1, 0xd0($v0) +/* C43984 80243BD4 AC600008 */ sw $zero, 8($v1) +/* C43988 80243BD8 8C4300D0 */ lw $v1, 0xd0($v0) +/* C4398C 80243BDC 240500AF */ addiu $a1, $zero, 0xaf +/* C43990 80243BE0 AC65000C */ sw $a1, 0xc($v1) +/* C43994 80243BE4 8C4400D0 */ lw $a0, 0xd0($v0) +/* C43998 80243BE8 2403012C */ addiu $v1, $zero, 0x12c +/* C4399C 80243BEC AC830010 */ sw $v1, 0x10($a0) +/* C439A0 80243BF0 8C4300D0 */ lw $v1, 0xd0($v0) +/* C439A4 80243BF4 AC600014 */ sw $zero, 0x14($v1) +/* C439A8 80243BF8 8C4300D0 */ lw $v1, 0xd0($v0) +/* C439AC 80243BFC 24020002 */ addiu $v0, $zero, 2 +/* C439B0 80243C00 AC650018 */ sw $a1, 0x18($v1) +.L80243C04: +/* C439B4 80243C04 8FBF0010 */ lw $ra, 0x10($sp) +/* C439B8 80243C08 03E00008 */ jr $ra +/* C439BC 80243C0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C10.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C10.s new file mode 100644 index 0000000000..6d8d397f91 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C10.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243C10 +/* C439C0 80243C10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C439C4 80243C14 AFBF0010 */ sw $ra, 0x10($sp) +/* C439C8 80243C18 0C00FB5A */ jal get_enemy_safe +/* C439CC 80243C1C 24040009 */ addiu $a0, $zero, 9 +/* C439D0 80243C20 10400008 */ beqz $v0, .L80243C44 +/* C439D4 80243C24 24020002 */ addiu $v0, $zero, 2 +/* C439D8 80243C28 0C00FB3A */ jal get_enemy +/* C439DC 80243C2C 24040009 */ addiu $a0, $zero, 9 +/* C439E0 80243C30 0040202D */ daddu $a0, $v0, $zero +/* C439E4 80243C34 8C8300B0 */ lw $v1, 0xb0($a0) +/* C439E8 80243C38 24020002 */ addiu $v0, $zero, 2 +/* C439EC 80243C3C 34630080 */ ori $v1, $v1, 0x80 +/* C439F0 80243C40 AC8300B0 */ sw $v1, 0xb0($a0) +.L80243C44: +/* C439F4 80243C44 8FBF0010 */ lw $ra, 0x10($sp) +/* C439F8 80243C48 03E00008 */ jr $ra +/* C439FC 80243C4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C50.s b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C50.s new file mode 100644 index 0000000000..7781e9af0a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_08/func_80243C50.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243C50 +/* C43A00 80243C50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C43A04 80243C54 AFBF0010 */ sw $ra, 0x10($sp) +/* C43A08 80243C58 8C820148 */ lw $v0, 0x148($a0) +/* C43A0C 80243C5C 0C00EABB */ jal get_npc_unsafe +/* C43A10 80243C60 84440008 */ lh $a0, 8($v0) +/* C43A14 80243C64 0040202D */ daddu $a0, $v0, $zero +/* C43A18 80243C68 2405032F */ addiu $a1, $zero, 0x32f +/* C43A1C 80243C6C 0C012530 */ jal func_800494C0 +/* C43A20 80243C70 0000302D */ daddu $a2, $zero, $zero +/* C43A24 80243C74 8FBF0010 */ lw $ra, 0x10($sp) +/* C43A28 80243C78 24020002 */ addiu $v0, $zero, 2 +/* C43A2C 80243C7C 03E00008 */ jr $ra +/* C43A30 80243C80 27BD0018 */ addiu $sp, $sp, 0x18 +/* C43A34 80243C84 00000000 */ nop +/* C43A38 80243C88 00000000 */ nop +/* C43A3C 80243C8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240000_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240000_C46BE0.s new file mode 100644 index 0000000000..487945ade1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240000_C46BE0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C46BE0 +/* C46BE0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C46BE4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C46BE8 80240008 0080882D */ daddu $s1, $a0, $zero +/* C46BEC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* C46BF0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* C46BF4 80240014 8E300148 */ lw $s0, 0x148($s1) +/* C46BF8 80240018 0C00EABB */ jal get_npc_unsafe +/* C46BFC 8024001C 86040008 */ lh $a0, 8($s0) +/* C46C00 80240020 24030001 */ addiu $v1, $zero, 1 +/* C46C04 80240024 0040202D */ daddu $a0, $v0, $zero +/* C46C08 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* C46C0C 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* C46C10 80240030 14400009 */ bnez $v0, .L80240058 +/* C46C14 80240034 24020002 */ addiu $v0, $zero, 2 +/* C46C18 80240038 96030072 */ lhu $v1, 0x72($s0) +/* C46C1C 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* C46C20 80240040 A483008E */ sh $v1, 0x8e($a0) +/* C46C24 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* C46C28 80240048 8C420020 */ lw $v0, 0x20($v0) +/* C46C2C 8024004C AC820028 */ sw $v0, 0x28($a0) +/* C46C30 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* C46C34 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* C46C38 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* C46C3C 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* C46C40 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* C46C44 80240064 03E00008 */ jr $ra +/* C46C48 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_8024006C_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024006C_C46BE0.s new file mode 100644 index 0000000000..3e6e856ef3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024006C_C46BE0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_C46C4C +/* C46C4C 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C46C50 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* C46C54 80240074 0080882D */ daddu $s1, $a0, $zero +/* C46C58 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* C46C5C 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* C46C60 80240080 8E300148 */ lw $s0, 0x148($s1) +/* C46C64 80240084 0C00EABB */ jal get_npc_unsafe +/* C46C68 80240088 86040008 */ lh $a0, 8($s0) +/* C46C6C 8024008C 0040202D */ daddu $a0, $v0, $zero +/* C46C70 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* C46C74 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* C46C78 80240098 A482008E */ sh $v0, 0x8e($a0) +/* C46C7C 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* C46C80 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* C46C84 802400A4 24020003 */ addiu $v0, $zero, 3 +/* C46C88 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* C46C8C 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* C46C90 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* C46C94 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C46C98 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* C46C9C 802400BC AC820028 */ sw $v0, 0x28($a0) +/* C46CA0 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* C46CA4 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* C46CA8 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C46CAC 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* C46CB0 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* C46CB4 802400D4 03E00008 */ jr $ra +/* C46CB8 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802400DC_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802400DC_C46BE0.s new file mode 100644 index 0000000000..ac12ccfa3d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802400DC_C46BE0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_C46CBC +/* C46CBC 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C46CC0 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* C46CC4 802400E4 0080882D */ daddu $s1, $a0, $zero +/* C46CC8 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* C46CCC 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* C46CD0 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* C46CD4 802400F4 0C00EABB */ jal get_npc_unsafe +/* C46CD8 802400F8 86040008 */ lh $a0, 8($s0) +/* C46CDC 802400FC 0040282D */ daddu $a1, $v0, $zero +/* C46CE0 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* C46CE4 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* C46CE8 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* C46CEC 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* C46CF0 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* C46CF4 80240114 24020004 */ addiu $v0, $zero, 4 +/* C46CF8 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* C46CFC 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* C46D00 80240120 8C620000 */ lw $v0, ($v1) +/* C46D04 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* C46D08 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* C46D0C 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* C46D10 80240130 8E020078 */ lw $v0, 0x78($s0) +/* C46D14 80240134 28420008 */ slti $v0, $v0, 8 +/* C46D18 80240138 14400018 */ bnez $v0, .L8024019C +/* C46D1C 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* C46D20 80240140 24040003 */ addiu $a0, $zero, 3 +/* C46D24 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* C46D28 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* C46D2C 8024014C 3C013F80 */ lui $at, 0x3f80 +/* C46D30 80240150 44810000 */ mtc1 $at, $f0 +/* C46D34 80240154 3C014000 */ lui $at, 0x4000 +/* C46D38 80240158 44811000 */ mtc1 $at, $f2 +/* C46D3C 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* C46D40 80240160 44812000 */ mtc1 $at, $f4 +/* C46D44 80240164 44873000 */ mtc1 $a3, $f6 +/* C46D48 80240168 00000000 */ nop +/* C46D4C 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* C46D50 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* C46D54 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* C46D58 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* C46D5C 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* C46D60 80240180 44073000 */ mfc1 $a3, $f6 +/* C46D64 80240184 0000302D */ daddu $a2, $zero, $zero +/* C46D68 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* C46D6C 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* C46D70 80240190 0C01BFA4 */ jal fx_emote +/* C46D74 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* C46D78 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* C46D7C 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* C46D80 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* C46D84 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* C46D88 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* C46D8C 802401AC 03E00008 */ jr $ra +/* C46D90 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802401B4_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802401B4_C46BE0.s new file mode 100644 index 0000000000..83cfef7113 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802401B4_C46BE0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_C46D94 +/* C46D94 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C46D98 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* C46D9C 802401BC 0080882D */ daddu $s1, $a0, $zero +/* C46DA0 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C46DA4 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* C46DA8 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* C46DAC 802401CC 0C00EABB */ jal get_npc_unsafe +/* C46DB0 802401D0 86040008 */ lh $a0, 8($s0) +/* C46DB4 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* C46DB8 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* C46DBC 802401DC A443008E */ sh $v1, 0x8e($v0) +/* C46DC0 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* C46DC4 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* C46DC8 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* C46DCC 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* C46DD0 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* C46DD4 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* C46DD8 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* C46DDC 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* C46DE0 80240200 03E00008 */ jr $ra +/* C46DE4 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240208_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240208_C46BE0.s new file mode 100644 index 0000000000..02d2c662d3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240208_C46BE0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_C46DE8 +/* C46DE8 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C46DEC 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* C46DF0 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* C46DF4 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* C46DF8 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* C46DFC 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* C46E00 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* C46E04 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C46E08 80240228 8C900148 */ lw $s0, 0x148($a0) +/* C46E0C 8024022C 86040008 */ lh $a0, 8($s0) +/* C46E10 80240230 0C00EABB */ jal get_npc_unsafe +/* C46E14 80240234 24110001 */ addiu $s1, $zero, 1 +/* C46E18 80240238 86040008 */ lh $a0, 8($s0) +/* C46E1C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* C46E20 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* C46E24 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C46E28 80240248 3C03800A */ lui $v1, 0x800a +/* C46E2C 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* C46E30 80240250 00912021 */ addu $a0, $a0, $s1 +/* C46E34 80240254 00031080 */ sll $v0, $v1, 2 +/* C46E38 80240258 00431021 */ addu $v0, $v0, $v1 +/* C46E3C 8024025C 00021080 */ sll $v0, $v0, 2 +/* C46E40 80240260 00431023 */ subu $v0, $v0, $v1 +/* C46E44 80240264 000218C0 */ sll $v1, $v0, 3 +/* C46E48 80240268 00431021 */ addu $v0, $v0, $v1 +/* C46E4C 8024026C 000210C0 */ sll $v0, $v0, 3 +/* C46E50 80240270 0C00FB3A */ jal get_enemy +/* C46E54 80240274 00459021 */ addu $s2, $v0, $a1 +/* C46E58 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C46E5C 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C46E60 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C46E64 80240284 8E830000 */ lw $v1, ($s4) +/* C46E68 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C46E6C 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* C46E70 80240290 8C670030 */ lw $a3, 0x30($v1) +/* C46E74 80240294 0C00A7B5 */ jal dist2D +/* C46E78 80240298 0040982D */ daddu $s3, $v0, $zero +/* C46E7C 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* C46E80 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* C46E84 802402A4 4600103C */ c.lt.s $f2, $f0 +/* C46E88 802402A8 00000000 */ nop +/* C46E8C 802402AC 45030001 */ bc1tl .L802402B4 +/* C46E90 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* C46E94 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C46E98 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C46E9C 802402BC 3C014387 */ lui $at, 0x4387 +/* C46EA0 802402C0 4481A000 */ mtc1 $at, $f20 +/* C46EA4 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* C46EA8 802402C8 00000000 */ nop +/* C46EAC 802402CC 0C00A6C9 */ jal clamp_angle +/* C46EB0 802402D0 46000306 */ mov.s $f12, $f0 +/* C46EB4 802402D4 3C018024 */ lui $at, 0x8024 +/* C46EB8 802402D8 D4225390 */ ldc1 $f2, 0x5390($at) +/* C46EBC 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* C46EC0 802402E0 4622003C */ c.lt.d $f0, $f2 +/* C46EC4 802402E4 00000000 */ nop +/* C46EC8 802402E8 45000003 */ bc1f .L802402F8 +/* C46ECC 802402EC 00000000 */ nop +/* C46ED0 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* C46ED4 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* C46ED8 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C46EDC 802402FC 8E820000 */ lw $v0, ($s4) +/* C46EE0 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C46EE4 80240304 8C460028 */ lw $a2, 0x28($v0) +/* C46EE8 80240308 0C00A720 */ jal atan2 +/* C46EEC 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* C46EF0 80240310 4600A306 */ mov.s $f12, $f20 +/* C46EF4 80240314 0C00A70A */ jal get_clamped_angle_diff +/* C46EF8 80240318 46000386 */ mov.s $f14, $f0 +/* C46EFC 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* C46F00 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* C46F04 80240324 46000005 */ abs.s $f0, $f0 +/* C46F08 80240328 4600103C */ c.lt.s $f2, $f0 +/* C46F0C 8024032C 00000000 */ nop +/* C46F10 80240330 45030001 */ bc1tl .L80240338 +/* C46F14 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* C46F18 80240338 8E820000 */ lw $v0, ($s4) +/* C46F1C 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* C46F20 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* C46F24 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* C46F28 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* C46F2C 8024034C 44821000 */ mtc1 $v0, $f2 +/* C46F30 80240350 00000000 */ nop +/* C46F34 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* C46F38 80240358 46221080 */ add.d $f2, $f2, $f2 +/* C46F3C 8024035C 46000005 */ abs.s $f0, $f0 +/* C46F40 80240360 46000021 */ cvt.d.s $f0, $f0 +/* C46F44 80240364 4620103E */ c.le.d $f2, $f0 +/* C46F48 80240368 00000000 */ nop +/* C46F4C 8024036C 45030001 */ bc1tl .L80240374 +/* C46F50 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* C46F54 80240374 3C038011 */ lui $v1, 0x8011 +/* C46F58 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* C46F5C 8024037C 24020009 */ addiu $v0, $zero, 9 +/* C46F60 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* C46F64 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* C46F68 80240388 24020007 */ addiu $v0, $zero, 7 +/* C46F6C 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* C46F70 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* C46F74 80240394 0220102D */ daddu $v0, $s1, $zero +/* C46F78 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* C46F7C 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* C46F80 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C46F84 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* C46F88 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* C46F8C 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* C46F90 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C46F94 802403B4 03E00008 */ jr $ra +/* C46F98 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_8024061C_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024061C_C46BE0.s new file mode 100644 index 0000000000..cdf817f5cc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024061C_C46BE0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_C471FC +/* C471FC 8024061C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C47200 80240620 AFB20038 */ sw $s2, 0x38($sp) +/* C47204 80240624 0080902D */ daddu $s2, $a0, $zero +/* C47208 80240628 AFBF0048 */ sw $ra, 0x48($sp) +/* C4720C 8024062C AFB50044 */ sw $s5, 0x44($sp) +/* C47210 80240630 AFB40040 */ sw $s4, 0x40($sp) +/* C47214 80240634 AFB3003C */ sw $s3, 0x3c($sp) +/* C47218 80240638 AFB10034 */ sw $s1, 0x34($sp) +/* C4721C 8024063C AFB00030 */ sw $s0, 0x30($sp) +/* C47220 80240640 8E510148 */ lw $s1, 0x148($s2) +/* C47224 80240644 86240008 */ lh $a0, 8($s1) +/* C47228 80240648 0C00EABB */ jal get_npc_unsafe +/* C4722C 8024064C 00A0802D */ daddu $s0, $a1, $zero +/* C47230 80240650 8E43000C */ lw $v1, 0xc($s2) +/* C47234 80240654 0240202D */ daddu $a0, $s2, $zero +/* C47238 80240658 8C650000 */ lw $a1, ($v1) +/* C4723C 8024065C 0C0B1EAF */ jal get_variable +/* C47240 80240660 0040A82D */ daddu $s5, $v0, $zero +/* C47244 80240664 AFA00010 */ sw $zero, 0x10($sp) +/* C47248 80240668 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4724C 8024066C 8C630030 */ lw $v1, 0x30($v1) +/* C47250 80240670 AFA30014 */ sw $v1, 0x14($sp) +/* C47254 80240674 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47258 80240678 8C63001C */ lw $v1, 0x1c($v1) +/* C4725C 8024067C AFA30018 */ sw $v1, 0x18($sp) +/* C47260 80240680 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47264 80240684 8C630024 */ lw $v1, 0x24($v1) +/* C47268 80240688 AFA3001C */ sw $v1, 0x1c($sp) +/* C4726C 8024068C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47270 80240690 8C630028 */ lw $v1, 0x28($v1) +/* C47274 80240694 27B40010 */ addiu $s4, $sp, 0x10 +/* C47278 80240698 AFA30020 */ sw $v1, 0x20($sp) +/* C4727C 8024069C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47280 802406A0 3C014282 */ lui $at, 0x4282 +/* C47284 802406A4 44810000 */ mtc1 $at, $f0 +/* C47288 802406A8 8C63002C */ lw $v1, 0x2c($v1) +/* C4728C 802406AC 0040982D */ daddu $s3, $v0, $zero +/* C47290 802406B0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C47294 802406B4 A7A0002C */ sh $zero, 0x2c($sp) +/* C47298 802406B8 16000005 */ bnez $s0, .L802406D0 +/* C4729C 802406BC AFA30024 */ sw $v1, 0x24($sp) +/* C472A0 802406C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C472A4 802406C4 30420004 */ andi $v0, $v0, 4 +/* C472A8 802406C8 10400020 */ beqz $v0, .L8024074C +/* C472AC 802406CC 00000000 */ nop +.L802406D0: +/* C472B0 802406D0 2404F7FF */ addiu $a0, $zero, -0x801 +/* C472B4 802406D4 AE400070 */ sw $zero, 0x70($s2) +/* C472B8 802406D8 A6A0008E */ sh $zero, 0x8e($s5) +/* C472BC 802406DC 8E2200CC */ lw $v0, 0xcc($s1) +/* C472C0 802406E0 8EA30000 */ lw $v1, ($s5) +/* C472C4 802406E4 8C420000 */ lw $v0, ($v0) +/* C472C8 802406E8 00641824 */ and $v1, $v1, $a0 +/* C472CC 802406EC AEA30000 */ sw $v1, ($s5) +/* C472D0 802406F0 AEA20028 */ sw $v0, 0x28($s5) +/* C472D4 802406F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* C472D8 802406F8 8C420034 */ lw $v0, 0x34($v0) +/* C472DC 802406FC 54400005 */ bnel $v0, $zero, .L80240714 +/* C472E0 80240700 2402FDFF */ addiu $v0, $zero, -0x201 +/* C472E4 80240704 34620200 */ ori $v0, $v1, 0x200 +/* C472E8 80240708 2403FFF7 */ addiu $v1, $zero, -9 +/* C472EC 8024070C 080901C7 */ j .L8024071C +/* C472F0 80240710 00431024 */ and $v0, $v0, $v1 +.L80240714: +/* C472F4 80240714 00621024 */ and $v0, $v1, $v0 +/* C472F8 80240718 34420008 */ ori $v0, $v0, 8 +.L8024071C: +/* C472FC 8024071C AEA20000 */ sw $v0, ($s5) +/* C47300 80240720 8E2200B0 */ lw $v0, 0xb0($s1) +/* C47304 80240724 30420004 */ andi $v0, $v0, 4 +/* C47308 80240728 10400007 */ beqz $v0, .L80240748 +/* C4730C 8024072C 24020063 */ addiu $v0, $zero, 0x63 +/* C47310 80240730 AE420070 */ sw $v0, 0x70($s2) +/* C47314 80240734 AE400074 */ sw $zero, 0x74($s2) +/* C47318 80240738 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4731C 8024073C 2403FFFB */ addiu $v1, $zero, -5 +/* C47320 80240740 00431024 */ and $v0, $v0, $v1 +/* C47324 80240744 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240748: +/* C47328 80240748 AE20006C */ sw $zero, 0x6c($s1) +.L8024074C: +/* C4732C 8024074C 8E420070 */ lw $v0, 0x70($s2) +/* C47330 80240750 2842001E */ slti $v0, $v0, 0x1e +/* C47334 80240754 10400009 */ beqz $v0, .L8024077C +/* C47338 80240758 00000000 */ nop +/* C4733C 8024075C 8E22006C */ lw $v0, 0x6c($s1) +/* C47340 80240760 14400006 */ bnez $v0, .L8024077C +/* C47344 80240764 00000000 */ nop +/* C47348 80240768 0C090082 */ jal func_80240208 +/* C4734C 8024076C 0240202D */ daddu $a0, $s2, $zero +/* C47350 80240770 10400002 */ beqz $v0, .L8024077C +/* C47354 80240774 2402001E */ addiu $v0, $zero, 0x1e +/* C47358 80240778 AE420070 */ sw $v0, 0x70($s2) +.L8024077C: +/* C4735C 8024077C 8E430070 */ lw $v1, 0x70($s2) +/* C47360 80240780 2C620064 */ sltiu $v0, $v1, 0x64 +/* C47364 80240784 10400048 */ beqz $v0, .L802408A8 +/* C47368 80240788 00031080 */ sll $v0, $v1, 2 +/* C4736C 8024078C 3C018024 */ lui $at, 0x8024 +/* C47370 80240790 00220821 */ addu $at, $at, $v0 +/* C47374 80240794 8C225398 */ lw $v0, 0x5398($at) +/* C47378 80240798 00400008 */ jr $v0 +/* C4737C 8024079C 00000000 */ nop +/* C47380 802407A0 0240202D */ daddu $a0, $s2, $zero +/* C47384 802407A4 0260282D */ daddu $a1, $s3, $zero +/* C47388 802407A8 0C012568 */ jal func_800495A0 +/* C4738C 802407AC 0280302D */ daddu $a2, $s4, $zero +/* C47390 802407B0 0240202D */ daddu $a0, $s2, $zero +/* C47394 802407B4 0260282D */ daddu $a1, $s3, $zero +/* C47398 802407B8 0C0125AE */ jal func_800496B8 +/* C4739C 802407BC 0280302D */ daddu $a2, $s4, $zero +/* C473A0 802407C0 0809022A */ j .L802408A8 +/* C473A4 802407C4 00000000 */ nop +/* C473A8 802407C8 0240202D */ daddu $a0, $s2, $zero +/* C473AC 802407CC 0260282D */ daddu $a1, $s3, $zero +/* C473B0 802407D0 0C0126D1 */ jal func_80049B44 +/* C473B4 802407D4 0280302D */ daddu $a2, $s4, $zero +/* C473B8 802407D8 0240202D */ daddu $a0, $s2, $zero +/* C473BC 802407DC 0260282D */ daddu $a1, $s3, $zero +/* C473C0 802407E0 0C012701 */ jal func_80049C04 +/* C473C4 802407E4 0280302D */ daddu $a2, $s4, $zero +/* C473C8 802407E8 0809022A */ j .L802408A8 +/* C473CC 802407EC 00000000 */ nop +/* C473D0 802407F0 0240202D */ daddu $a0, $s2, $zero +/* C473D4 802407F4 0260282D */ daddu $a1, $s3, $zero +/* C473D8 802407F8 0C01278F */ jal func_80049E3C +/* C473DC 802407FC 0280302D */ daddu $a2, $s4, $zero +/* C473E0 80240800 0240202D */ daddu $a0, $s2, $zero +/* C473E4 80240804 0260282D */ daddu $a1, $s3, $zero +/* C473E8 80240808 0C0127B3 */ jal func_80049ECC +/* C473EC 8024080C 0280302D */ daddu $a2, $s4, $zero +/* C473F0 80240810 0809022A */ j .L802408A8 +/* C473F4 80240814 00000000 */ nop +/* C473F8 80240818 0240202D */ daddu $a0, $s2, $zero +/* C473FC 8024081C 0260282D */ daddu $a1, $s3, $zero +/* C47400 80240820 0C0127DF */ jal func_80049F7C +/* C47404 80240824 0280302D */ daddu $a2, $s4, $zero +/* C47408 80240828 0240202D */ daddu $a0, $s2, $zero +/* C4740C 8024082C 0260282D */ daddu $a1, $s3, $zero +/* C47410 80240830 0C012849 */ jal func_8004A124 +/* C47414 80240834 0280302D */ daddu $a2, $s4, $zero +/* C47418 80240838 0809022A */ j .L802408A8 +/* C4741C 8024083C 00000000 */ nop +/* C47420 80240840 0240202D */ daddu $a0, $s2, $zero +/* C47424 80240844 0260282D */ daddu $a1, $s3, $zero +/* C47428 80240848 0C0128FA */ jal func_8004A3E8 +/* C4742C 8024084C 0280302D */ daddu $a2, $s4, $zero +/* C47430 80240850 0809022A */ j .L802408A8 +/* C47434 80240854 00000000 */ nop +/* C47438 80240858 0C090000 */ jal func_80240000 +/* C4743C 8024085C 0240202D */ daddu $a0, $s2, $zero +/* C47440 80240860 0C09001B */ jal func_8024006C +/* C47444 80240864 0240202D */ daddu $a0, $s2, $zero +/* C47448 80240868 8E430070 */ lw $v1, 0x70($s2) +/* C4744C 8024086C 24020020 */ addiu $v0, $zero, 0x20 +/* C47450 80240870 1462000D */ bne $v1, $v0, .L802408A8 +/* C47454 80240874 00000000 */ nop +/* C47458 80240878 0C090037 */ jal func_802400DC +/* C4745C 8024087C 0240202D */ daddu $a0, $s2, $zero +/* C47460 80240880 8E430070 */ lw $v1, 0x70($s2) +/* C47464 80240884 24020021 */ addiu $v0, $zero, 0x21 +/* C47468 80240888 14620007 */ bne $v1, $v0, .L802408A8 +/* C4746C 8024088C 00000000 */ nop +/* C47470 80240890 0C09006D */ jal func_802401B4 +/* C47474 80240894 0240202D */ daddu $a0, $s2, $zero +/* C47478 80240898 0809022A */ j .L802408A8 +/* C4747C 8024089C 00000000 */ nop +/* C47480 802408A0 0C0129CF */ jal func_8004A73C +/* C47484 802408A4 0240202D */ daddu $a0, $s2, $zero +.L802408A8: +/* C47488 802408A8 8FBF0048 */ lw $ra, 0x48($sp) +/* C4748C 802408AC 8FB50044 */ lw $s5, 0x44($sp) +/* C47490 802408B0 8FB40040 */ lw $s4, 0x40($sp) +/* C47494 802408B4 8FB3003C */ lw $s3, 0x3c($sp) +/* C47498 802408B8 8FB20038 */ lw $s2, 0x38($sp) +/* C4749C 802408BC 8FB10034 */ lw $s1, 0x34($sp) +/* C474A0 802408C0 8FB00030 */ lw $s0, 0x30($sp) +/* C474A4 802408C4 0000102D */ daddu $v0, $zero, $zero +/* C474A8 802408C8 03E00008 */ jr $ra +/* C474AC 802408CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802408D0_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802408D0_C46BE0.s new file mode 100644 index 0000000000..6ccc31010f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802408D0_C46BE0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_C474B0 +/* C474B0 802408D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C474B4 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* C474B8 802408D8 0080882D */ daddu $s1, $a0, $zero +/* C474BC 802408DC AFBF0018 */ sw $ra, 0x18($sp) +/* C474C0 802408E0 AFB00010 */ sw $s0, 0x10($sp) +/* C474C4 802408E4 8E300148 */ lw $s0, 0x148($s1) +/* C474C8 802408E8 0C00EABB */ jal get_npc_unsafe +/* C474CC 802408EC 86040008 */ lh $a0, 8($s0) +/* C474D0 802408F0 0040202D */ daddu $a0, $v0, $zero +/* C474D4 802408F4 8482008E */ lh $v0, 0x8e($a0) +/* C474D8 802408F8 9483008E */ lhu $v1, 0x8e($a0) +/* C474DC 802408FC 18400002 */ blez $v0, .L80240908 +/* C474E0 80240900 2462FFFF */ addiu $v0, $v1, -1 +/* C474E4 80240904 A482008E */ sh $v0, 0x8e($a0) +.L80240908: +/* C474E8 80240908 8482008E */ lh $v0, 0x8e($a0) +/* C474EC 8024090C 24030001 */ addiu $v1, $zero, 1 +/* C474F0 80240910 14430005 */ bne $v0, $v1, .L80240928 +/* C474F4 80240914 00000000 */ nop +/* C474F8 80240918 8E0200CC */ lw $v0, 0xcc($s0) +/* C474FC 8024091C 8C420030 */ lw $v0, 0x30($v0) +/* C47500 80240920 08090251 */ j .L80240944 +/* C47504 80240924 AC820028 */ sw $v0, 0x28($a0) +.L80240928: +/* C47508 80240928 1C400006 */ bgtz $v0, .L80240944 +/* C4750C 8024092C 00000000 */ nop +/* C47510 80240930 8E0200CC */ lw $v0, 0xcc($s0) +/* C47514 80240934 8C420028 */ lw $v0, 0x28($v0) +/* C47518 80240938 A480008E */ sh $zero, 0x8e($a0) +/* C4751C 8024093C AC820028 */ sw $v0, 0x28($a0) +/* C47520 80240940 AE230070 */ sw $v1, 0x70($s1) +.L80240944: +/* C47524 80240944 8FBF0018 */ lw $ra, 0x18($sp) +/* C47528 80240948 8FB10014 */ lw $s1, 0x14($sp) +/* C4752C 8024094C 8FB00010 */ lw $s0, 0x10($sp) +/* C47530 80240950 03E00008 */ jr $ra +/* C47534 80240954 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240958_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240958_C46BE0.s new file mode 100644 index 0000000000..0c5d6aa6ea --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240958_C46BE0.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240958_C47538 +/* C47538 80240958 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C4753C 8024095C AFB40048 */ sw $s4, 0x48($sp) +/* C47540 80240960 0080A02D */ daddu $s4, $a0, $zero +/* C47544 80240964 AFBF004C */ sw $ra, 0x4c($sp) +/* C47548 80240968 AFB30044 */ sw $s3, 0x44($sp) +/* C4754C 8024096C AFB20040 */ sw $s2, 0x40($sp) +/* C47550 80240970 AFB1003C */ sw $s1, 0x3c($sp) +/* C47554 80240974 AFB00038 */ sw $s0, 0x38($sp) +/* C47558 80240978 8E930148 */ lw $s3, 0x148($s4) +/* C4755C 8024097C 00C0802D */ daddu $s0, $a2, $zero +/* C47560 80240980 86640008 */ lh $a0, 8($s3) +/* C47564 80240984 0C00EABB */ jal get_npc_unsafe +/* C47568 80240988 0000902D */ daddu $s2, $zero, $zero +/* C4756C 8024098C 0C039D59 */ jal get_player_data +/* C47570 80240990 0040882D */ daddu $s1, $v0, $zero +/* C47574 80240994 0200202D */ daddu $a0, $s0, $zero +/* C47578 80240998 0260282D */ daddu $a1, $s3, $zero +/* C4757C 8024099C 0000382D */ daddu $a3, $zero, $zero +/* C47580 802409A0 3C0642A0 */ lui $a2, 0x42a0 +/* C47584 802409A4 0040802D */ daddu $s0, $v0, $zero +/* C47588 802409A8 0C01242D */ jal func_800490B4 +/* C4758C 802409AC AFA00010 */ sw $zero, 0x10($sp) +/* C47590 802409B0 10400022 */ beqz $v0, .L80240A3C +/* C47594 802409B4 00000000 */ nop +/* C47598 802409B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C4759C 802409BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C475A0 802409C0 804300B4 */ lb $v1, 0xb4($v0) +/* C475A4 802409C4 24020002 */ addiu $v0, $zero, 2 +/* C475A8 802409C8 10620013 */ beq $v1, $v0, .L80240A18 +/* C475AC 802409CC 2402001A */ addiu $v0, $zero, 0x1a +/* C475B0 802409D0 10620011 */ beq $v1, $v0, .L80240A18 +/* C475B4 802409D4 24020003 */ addiu $v0, $zero, 3 +/* C475B8 802409D8 1062000F */ beq $v1, $v0, .L80240A18 +/* C475BC 802409DC 2402000E */ addiu $v0, $zero, 0xe +/* C475C0 802409E0 1062000D */ beq $v1, $v0, .L80240A18 +/* C475C4 802409E4 24020010 */ addiu $v0, $zero, 0x10 +/* C475C8 802409E8 1062000B */ beq $v1, $v0, .L80240A18 +/* C475CC 802409EC 2402000B */ addiu $v0, $zero, 0xb +/* C475D0 802409F0 10620009 */ beq $v1, $v0, .L80240A18 +/* C475D4 802409F4 2402000A */ addiu $v0, $zero, 0xa +/* C475D8 802409F8 10620007 */ beq $v1, $v0, .L80240A18 +/* C475DC 802409FC 24020012 */ addiu $v0, $zero, 0x12 +/* C475E0 80240A00 10620005 */ beq $v1, $v0, .L80240A18 +/* C475E4 80240A04 24020013 */ addiu $v0, $zero, 0x13 +/* C475E8 80240A08 10620003 */ beq $v1, $v0, .L80240A18 +/* C475EC 80240A0C 24020025 */ addiu $v0, $zero, 0x25 +/* C475F0 80240A10 14620002 */ bne $v1, $v0, .L80240A1C +/* C475F4 80240A14 00000000 */ nop +.L80240A18: +/* C475F8 80240A18 24120001 */ addiu $s2, $zero, 1 +.L80240A1C: +/* C475FC 80240A1C 82030012 */ lb $v1, 0x12($s0) +/* C47600 80240A20 24020002 */ addiu $v0, $zero, 2 +/* C47604 80240A24 14620007 */ bne $v1, $v0, .L80240A44 +/* C47608 80240A28 24020001 */ addiu $v0, $zero, 1 +/* C4760C 80240A2C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C47610 80240A30 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C47614 80240A34 50430002 */ beql $v0, $v1, .L80240A40 +/* C47618 80240A38 24120001 */ addiu $s2, $zero, 1 +.L80240A3C: +/* C4761C 80240A3C 82030012 */ lb $v1, 0x12($s0) +.L80240A40: +/* C47620 80240A40 24020001 */ addiu $v0, $zero, 1 +.L80240A44: +/* C47624 80240A44 14620006 */ bne $v1, $v0, .L80240A60 +/* C47628 80240A48 24020003 */ addiu $v0, $zero, 3 +/* C4762C 80240A4C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C47630 80240A50 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C47634 80240A54 14400008 */ bnez $v0, .L80240A78 +/* C47638 80240A58 27A40028 */ addiu $a0, $sp, 0x28 +/* C4763C 80240A5C 24020003 */ addiu $v0, $zero, 3 +.L80240A60: +/* C47640 80240A60 1462001B */ bne $v1, $v0, .L80240AD0 +/* C47644 80240A64 24020002 */ addiu $v0, $zero, 2 +/* C47648 80240A68 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C4764C 80240A6C 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C47650 80240A70 14620017 */ bne $v1, $v0, .L80240AD0 +/* C47654 80240A74 27A40028 */ addiu $a0, $sp, 0x28 +.L80240A78: +/* C47658 80240A78 27A5002C */ addiu $a1, $sp, 0x2c +/* C4765C 80240A7C 8E27000C */ lw $a3, 0xc($s1) +/* C47660 80240A80 C6200038 */ lwc1 $f0, 0x38($s1) +/* C47664 80240A84 C6220040 */ lwc1 $f2, 0x40($s1) +/* C47668 80240A88 0000302D */ daddu $a2, $zero, $zero +/* C4766C 80240A8C E7A00028 */ swc1 $f0, 0x28($sp) +/* C47670 80240A90 0C00A7E7 */ jal add_vec2D_polar +/* C47674 80240A94 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C47678 80240A98 3C028011 */ lui $v0, 0x8011 +/* C4767C 80240A9C 8C42C930 */ lw $v0, -0x36d0($v0) +/* C47680 80240AA0 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C47684 80240AA4 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C47688 80240AA8 8C460038 */ lw $a2, 0x38($v0) +/* C4768C 80240AAC 0C00A7B5 */ jal dist2D +/* C47690 80240AB0 8C470040 */ lw $a3, 0x40($v0) +/* C47694 80240AB4 3C0142A0 */ lui $at, 0x42a0 +/* C47698 80240AB8 44811000 */ mtc1 $at, $f2 +/* C4769C 80240ABC 00000000 */ nop +/* C476A0 80240AC0 4602003E */ c.le.s $f0, $f2 +/* C476A4 80240AC4 00000000 */ nop +/* C476A8 80240AC8 45030001 */ bc1tl .L80240AD0 +/* C476AC 80240ACC 24120001 */ addiu $s2, $zero, 1 +.L80240AD0: +/* C476B0 80240AD0 12400026 */ beqz $s2, .L80240B6C +/* C476B4 80240AD4 0220202D */ daddu $a0, $s1, $zero +/* C476B8 80240AD8 3C05B000 */ lui $a1, 0xb000 +/* C476BC 80240ADC 34A5000E */ ori $a1, $a1, 0xe +/* C476C0 80240AE0 0C012530 */ jal func_800494C0 +/* C476C4 80240AE4 0000302D */ daddu $a2, $zero, $zero +/* C476C8 80240AE8 0000202D */ daddu $a0, $zero, $zero +/* C476CC 80240AEC 0220282D */ daddu $a1, $s1, $zero +/* C476D0 80240AF0 0000302D */ daddu $a2, $zero, $zero +/* C476D4 80240AF4 862200A8 */ lh $v0, 0xa8($s1) +/* C476D8 80240AF8 8E6300CC */ lw $v1, 0xcc($s3) +/* C476DC 80240AFC 3C013F80 */ lui $at, 0x3f80 +/* C476E0 80240B00 44810000 */ mtc1 $at, $f0 +/* C476E4 80240B04 3C014000 */ lui $at, 0x4000 +/* C476E8 80240B08 44811000 */ mtc1 $at, $f2 +/* C476EC 80240B0C 3C01C1A0 */ lui $at, 0xc1a0 +/* C476F0 80240B10 44812000 */ mtc1 $at, $f4 +/* C476F4 80240B14 44823000 */ mtc1 $v0, $f6 +/* C476F8 80240B18 00000000 */ nop +/* C476FC 80240B1C 468031A0 */ cvt.s.w $f6, $f6 +/* C47700 80240B20 44073000 */ mfc1 $a3, $f6 +/* C47704 80240B24 8C63002C */ lw $v1, 0x2c($v1) +/* C47708 80240B28 2402000A */ addiu $v0, $zero, 0xa +/* C4770C 80240B2C A622008E */ sh $v0, 0x8e($s1) +/* C47710 80240B30 2402000F */ addiu $v0, $zero, 0xf +/* C47714 80240B34 AE230028 */ sw $v1, 0x28($s1) +/* C47718 80240B38 AFA2001C */ sw $v0, 0x1c($sp) +/* C4771C 80240B3C 27A20030 */ addiu $v0, $sp, 0x30 +/* C47720 80240B40 E7A00010 */ swc1 $f0, 0x10($sp) +/* C47724 80240B44 E7A20014 */ swc1 $f2, 0x14($sp) +/* C47728 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* C4772C 80240B4C 0C01BFA4 */ jal fx_emote +/* C47730 80240B50 AFA20020 */ sw $v0, 0x20($sp) +/* C47734 80240B54 0220202D */ daddu $a0, $s1, $zero +/* C47738 80240B58 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C4773C 80240B5C 0C012530 */ jal func_800494C0 +/* C47740 80240B60 3C060020 */ lui $a2, 0x20 +/* C47744 80240B64 24020002 */ addiu $v0, $zero, 2 +/* C47748 80240B68 AE820070 */ sw $v0, 0x70($s4) +.L80240B6C: +/* C4774C 80240B6C 9622008E */ lhu $v0, 0x8e($s1) +/* C47750 80240B70 24420001 */ addiu $v0, $v0, 1 +/* C47754 80240B74 A622008E */ sh $v0, 0x8e($s1) +/* C47758 80240B78 00021400 */ sll $v0, $v0, 0x10 +/* C4775C 80240B7C 00021C03 */ sra $v1, $v0, 0x10 +/* C47760 80240B80 2402001B */ addiu $v0, $zero, 0x1b +/* C47764 80240B84 14620005 */ bne $v1, $v0, .L80240B9C +/* C47768 80240B88 24020039 */ addiu $v0, $zero, 0x39 +/* C4776C 80240B8C 0220202D */ daddu $a0, $s1, $zero +/* C47770 80240B90 3C05B000 */ lui $a1, 0xb000 +/* C47774 80240B94 080902EC */ j .L80240BB0 +/* C47778 80240B98 34A5000C */ ori $a1, $a1, 0xc +.L80240B9C: +/* C4777C 80240B9C 14620008 */ bne $v1, $v0, .L80240BC0 +/* C47780 80240BA0 2402003B */ addiu $v0, $zero, 0x3b +/* C47784 80240BA4 0220202D */ daddu $a0, $s1, $zero +/* C47788 80240BA8 3C05B000 */ lui $a1, 0xb000 +/* C4778C 80240BAC 34A5000D */ ori $a1, $a1, 0xd +.L80240BB0: +/* C47790 80240BB0 0C012530 */ jal func_800494C0 +/* C47794 80240BB4 0000302D */ daddu $a2, $zero, $zero +/* C47798 80240BB8 080902FC */ j .L80240BF0 +/* C4779C 80240BBC 00000000 */ nop +.L80240BC0: +/* C477A0 80240BC0 14620005 */ bne $v1, $v0, .L80240BD8 +/* C477A4 80240BC4 2402003C */ addiu $v0, $zero, 0x3c +/* C477A8 80240BC8 8E6200CC */ lw $v0, 0xcc($s3) +/* C477AC 80240BCC 8C420030 */ lw $v0, 0x30($v0) +/* C477B0 80240BD0 080902FC */ j .L80240BF0 +/* C477B4 80240BD4 AE220028 */ sw $v0, 0x28($s1) +.L80240BD8: +/* C477B8 80240BD8 14620005 */ bne $v1, $v0, .L80240BF0 +/* C477BC 80240BDC 00000000 */ nop +/* C477C0 80240BE0 8E6200CC */ lw $v0, 0xcc($s3) +/* C477C4 80240BE4 8C420028 */ lw $v0, 0x28($v0) +/* C477C8 80240BE8 A620008E */ sh $zero, 0x8e($s1) +/* C477CC 80240BEC AE220028 */ sw $v0, 0x28($s1) +.L80240BF0: +/* C477D0 80240BF0 8FBF004C */ lw $ra, 0x4c($sp) +/* C477D4 80240BF4 8FB40048 */ lw $s4, 0x48($sp) +/* C477D8 80240BF8 8FB30044 */ lw $s3, 0x44($sp) +/* C477DC 80240BFC 8FB20040 */ lw $s2, 0x40($sp) +/* C477E0 80240C00 8FB1003C */ lw $s1, 0x3c($sp) +/* C477E4 80240C04 8FB00038 */ lw $s0, 0x38($sp) +/* C477E8 80240C08 03E00008 */ jr $ra +/* C477EC 80240C0C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C10_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C10_C46BE0.s new file mode 100644 index 0000000000..ac232ee665 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C10_C46BE0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C10_C477F0 +/* C477F0 80240C10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C477F4 80240C14 AFB10014 */ sw $s1, 0x14($sp) +/* C477F8 80240C18 0080882D */ daddu $s1, $a0, $zero +/* C477FC 80240C1C AFBF0018 */ sw $ra, 0x18($sp) +/* C47800 80240C20 AFB00010 */ sw $s0, 0x10($sp) +/* C47804 80240C24 8E300148 */ lw $s0, 0x148($s1) +/* C47808 80240C28 0C00EABB */ jal get_npc_unsafe +/* C4780C 80240C2C 86040008 */ lh $a0, 8($s0) +/* C47810 80240C30 0040182D */ daddu $v1, $v0, $zero +/* C47814 80240C34 9462008E */ lhu $v0, 0x8e($v1) +/* C47818 80240C38 2442FFFF */ addiu $v0, $v0, -1 +/* C4781C 80240C3C A462008E */ sh $v0, 0x8e($v1) +/* C47820 80240C40 00021400 */ sll $v0, $v0, 0x10 +/* C47824 80240C44 1C400006 */ bgtz $v0, .L80240C60 +/* C47828 80240C48 24020001 */ addiu $v0, $zero, 1 +/* C4782C 80240C4C A462008E */ sh $v0, 0x8e($v1) +/* C47830 80240C50 24020028 */ addiu $v0, $zero, 0x28 +/* C47834 80240C54 AE020088 */ sw $v0, 0x88($s0) +/* C47838 80240C58 24020003 */ addiu $v0, $zero, 3 +/* C4783C 80240C5C AE220070 */ sw $v0, 0x70($s1) +.L80240C60: +/* C47840 80240C60 8FBF0018 */ lw $ra, 0x18($sp) +/* C47844 80240C64 8FB10014 */ lw $s1, 0x14($sp) +/* C47848 80240C68 8FB00010 */ lw $s0, 0x10($sp) +/* C4784C 80240C6C 03E00008 */ jr $ra +/* C47850 80240C70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C74_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C74_C46BE0.s new file mode 100644 index 0000000000..04efbef90f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240C74_C46BE0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74_C47854 +/* C47854 80240C74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C47858 80240C78 AFB10014 */ sw $s1, 0x14($sp) +/* C4785C 80240C7C 0080882D */ daddu $s1, $a0, $zero +/* C47860 80240C80 AFBF001C */ sw $ra, 0x1c($sp) +/* C47864 80240C84 AFB20018 */ sw $s2, 0x18($sp) +/* C47868 80240C88 AFB00010 */ sw $s0, 0x10($sp) +/* C4786C 80240C8C 8E320148 */ lw $s2, 0x148($s1) +/* C47870 80240C90 0C00EABB */ jal get_npc_unsafe +/* C47874 80240C94 86440008 */ lh $a0, 8($s2) +/* C47878 80240C98 240400B4 */ addiu $a0, $zero, 0xb4 +/* C4787C 80240C9C 0C00A67F */ jal rand_int +/* C47880 80240CA0 0040802D */ daddu $s0, $v0, $zero +/* C47884 80240CA4 C60C000C */ lwc1 $f12, 0xc($s0) +/* C47888 80240CA8 44820000 */ mtc1 $v0, $f0 +/* C4788C 80240CAC 00000000 */ nop +/* C47890 80240CB0 46800020 */ cvt.s.w $f0, $f0 +/* C47894 80240CB4 46006300 */ add.s $f12, $f12, $f0 +/* C47898 80240CB8 3C0142B4 */ lui $at, 0x42b4 +/* C4789C 80240CBC 44810000 */ mtc1 $at, $f0 +/* C478A0 80240CC0 0C00A6C9 */ jal clamp_angle +/* C478A4 80240CC4 46006301 */ sub.s $f12, $f12, $f0 +/* C478A8 80240CC8 E600000C */ swc1 $f0, 0xc($s0) +/* C478AC 80240CCC 8E4200CC */ lw $v0, 0xcc($s2) +/* C478B0 80240CD0 8C420000 */ lw $v0, ($v0) +/* C478B4 80240CD4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C478B8 80240CD8 0C00A67F */ jal rand_int +/* C478BC 80240CDC AE020028 */ sw $v0, 0x28($s0) +/* C478C0 80240CE0 00021FC2 */ srl $v1, $v0, 0x1f +/* C478C4 80240CE4 00431821 */ addu $v1, $v0, $v1 +/* C478C8 80240CE8 00031843 */ sra $v1, $v1, 1 +/* C478CC 80240CEC 00031840 */ sll $v1, $v1, 1 +/* C478D0 80240CF0 00431023 */ subu $v0, $v0, $v1 +/* C478D4 80240CF4 24420002 */ addiu $v0, $v0, 2 +/* C478D8 80240CF8 AE220074 */ sw $v0, 0x74($s1) +/* C478DC 80240CFC 24020004 */ addiu $v0, $zero, 4 +/* C478E0 80240D00 AE220070 */ sw $v0, 0x70($s1) +/* C478E4 80240D04 8FBF001C */ lw $ra, 0x1c($sp) +/* C478E8 80240D08 8FB20018 */ lw $s2, 0x18($sp) +/* C478EC 80240D0C 8FB10014 */ lw $s1, 0x14($sp) +/* C478F0 80240D10 8FB00010 */ lw $s0, 0x10($sp) +/* C478F4 80240D14 03E00008 */ jr $ra +/* C478F8 80240D18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240D1C_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240D1C_C46BE0.s new file mode 100644 index 0000000000..d01942d192 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240D1C_C46BE0.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D1C_C478FC +/* C478FC 80240D1C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C47900 80240D20 AFB20020 */ sw $s2, 0x20($sp) +/* C47904 80240D24 0080902D */ daddu $s2, $a0, $zero +/* C47908 80240D28 AFBF0028 */ sw $ra, 0x28($sp) +/* C4790C 80240D2C AFB30024 */ sw $s3, 0x24($sp) +/* C47910 80240D30 AFB1001C */ sw $s1, 0x1c($sp) +/* C47914 80240D34 AFB00018 */ sw $s0, 0x18($sp) +/* C47918 80240D38 8E510148 */ lw $s1, 0x148($s2) +/* C4791C 80240D3C 00A0982D */ daddu $s3, $a1, $zero +/* C47920 80240D40 86240008 */ lh $a0, 8($s1) +/* C47924 80240D44 0C00EABB */ jal get_npc_unsafe +/* C47928 80240D48 00C0802D */ daddu $s0, $a2, $zero +/* C4792C 80240D4C 0200202D */ daddu $a0, $s0, $zero +/* C47930 80240D50 0040802D */ daddu $s0, $v0, $zero +/* C47934 80240D54 AFA00010 */ sw $zero, 0x10($sp) +/* C47938 80240D58 8E660024 */ lw $a2, 0x24($s3) +/* C4793C 80240D5C 8E670028 */ lw $a3, 0x28($s3) +/* C47940 80240D60 0C01242D */ jal func_800490B4 +/* C47944 80240D64 0220282D */ daddu $a1, $s1, $zero +/* C47948 80240D68 1040000C */ beqz $v0, .L80240D9C +/* C4794C 80240D6C 00000000 */ nop +/* C47950 80240D70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C47954 80240D74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C47958 80240D78 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C4795C 80240D7C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C47960 80240D80 8C460028 */ lw $a2, 0x28($v0) +/* C47964 80240D84 0C00A720 */ jal atan2 +/* C47968 80240D88 8C470030 */ lw $a3, 0x30($v0) +/* C4796C 80240D8C 2402000C */ addiu $v0, $zero, 0xc +/* C47970 80240D90 E600000C */ swc1 $f0, 0xc($s0) +/* C47974 80240D94 0809038E */ j .L80240E38 +/* C47978 80240D98 AE420070 */ sw $v0, 0x70($s2) +.L80240D9C: +/* C4797C 80240D9C 9602008E */ lhu $v0, 0x8e($s0) +/* C47980 80240DA0 2442FFFF */ addiu $v0, $v0, -1 +/* C47984 80240DA4 A602008E */ sh $v0, 0x8e($s0) +/* C47988 80240DA8 00021400 */ sll $v0, $v0, 0x10 +/* C4798C 80240DAC 1C400022 */ bgtz $v0, .L80240E38 +/* C47990 80240DB0 00000000 */ nop +/* C47994 80240DB4 8E420074 */ lw $v0, 0x74($s2) +/* C47998 80240DB8 2442FFFF */ addiu $v0, $v0, -1 +/* C4799C 80240DBC 18400014 */ blez $v0, .L80240E10 +/* C479A0 80240DC0 AE420074 */ sw $v0, 0x74($s2) +/* C479A4 80240DC4 C600000C */ lwc1 $f0, 0xc($s0) +/* C479A8 80240DC8 3C014334 */ lui $at, 0x4334 +/* C479AC 80240DCC 44816000 */ mtc1 $at, $f12 +/* C479B0 80240DD0 0C00A6C9 */ jal clamp_angle +/* C479B4 80240DD4 460C0300 */ add.s $f12, $f0, $f12 +/* C479B8 80240DD8 E600000C */ swc1 $f0, 0xc($s0) +/* C479BC 80240DDC 8E640008 */ lw $a0, 8($s3) +/* C479C0 80240DE0 000417C2 */ srl $v0, $a0, 0x1f +/* C479C4 80240DE4 00822021 */ addu $a0, $a0, $v0 +/* C479C8 80240DE8 00042043 */ sra $a0, $a0, 1 +/* C479CC 80240DEC 0C00A67F */ jal rand_int +/* C479D0 80240DF0 24840001 */ addiu $a0, $a0, 1 +/* C479D4 80240DF4 8E630008 */ lw $v1, 8($s3) +/* C479D8 80240DF8 000327C2 */ srl $a0, $v1, 0x1f +/* C479DC 80240DFC 00641821 */ addu $v1, $v1, $a0 +/* C479E0 80240E00 00031843 */ sra $v1, $v1, 1 +/* C479E4 80240E04 00621821 */ addu $v1, $v1, $v0 +/* C479E8 80240E08 0809038E */ j .L80240E38 +/* C479EC 80240E0C A603008E */ sh $v1, 0x8e($s0) +.L80240E10: +/* C479F0 80240E10 8E250088 */ lw $a1, 0x88($s1) +/* C479F4 80240E14 24020028 */ addiu $v0, $zero, 0x28 +/* C479F8 80240E18 14A20003 */ bne $a1, $v0, .L80240E28 +/* C479FC 80240E1C 24020032 */ addiu $v0, $zero, 0x32 +/* C47A00 80240E20 0809038C */ j .L80240E30 +/* C47A04 80240E24 24020014 */ addiu $v0, $zero, 0x14 +.L80240E28: +/* C47A08 80240E28 14A20003 */ bne $a1, $v0, .L80240E38 +/* C47A0C 80240E2C 24020019 */ addiu $v0, $zero, 0x19 +.L80240E30: +/* C47A10 80240E30 A602008E */ sh $v0, 0x8e($s0) +/* C47A14 80240E34 AE450070 */ sw $a1, 0x70($s2) +.L80240E38: +/* C47A18 80240E38 8FBF0028 */ lw $ra, 0x28($sp) +/* C47A1C 80240E3C 8FB30024 */ lw $s3, 0x24($sp) +/* C47A20 80240E40 8FB20020 */ lw $s2, 0x20($sp) +/* C47A24 80240E44 8FB1001C */ lw $s1, 0x1c($sp) +/* C47A28 80240E48 8FB00018 */ lw $s0, 0x18($sp) +/* C47A2C 80240E4C 03E00008 */ jr $ra +/* C47A30 80240E50 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240E54_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240E54_C46BE0.s new file mode 100644 index 0000000000..8cb9b7a8a4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240E54_C46BE0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E54_C47A34 +/* C47A34 80240E54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C47A38 80240E58 AFB20018 */ sw $s2, 0x18($sp) +/* C47A3C 80240E5C 0080902D */ daddu $s2, $a0, $zero +/* C47A40 80240E60 AFBF001C */ sw $ra, 0x1c($sp) +/* C47A44 80240E64 AFB10014 */ sw $s1, 0x14($sp) +/* C47A48 80240E68 AFB00010 */ sw $s0, 0x10($sp) +/* C47A4C 80240E6C 8E500148 */ lw $s0, 0x148($s2) +/* C47A50 80240E70 86040008 */ lh $a0, 8($s0) +/* C47A54 80240E74 0C00EABB */ jal get_npc_unsafe +/* C47A58 80240E78 00A0882D */ daddu $s1, $a1, $zero +/* C47A5C 80240E7C 0040182D */ daddu $v1, $v0, $zero +/* C47A60 80240E80 9462008E */ lhu $v0, 0x8e($v1) +/* C47A64 80240E84 2442FFFF */ addiu $v0, $v0, -1 +/* C47A68 80240E88 A462008E */ sh $v0, 0x8e($v1) +/* C47A6C 80240E8C 00021400 */ sll $v0, $v0, 0x10 +/* C47A70 80240E90 1C400015 */ bgtz $v0, .L80240EE8 +/* C47A74 80240E94 00000000 */ nop +/* C47A78 80240E98 8E0200CC */ lw $v0, 0xcc($s0) +/* C47A7C 80240E9C 8C420004 */ lw $v0, 4($v0) +/* C47A80 80240EA0 AC620028 */ sw $v0, 0x28($v1) +/* C47A84 80240EA4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C47A88 80240EA8 8C420014 */ lw $v0, 0x14($v0) +/* C47A8C 80240EAC 04410004 */ bgez $v0, .L80240EC0 +/* C47A90 80240EB0 00000000 */ nop +/* C47A94 80240EB4 C6200000 */ lwc1 $f0, ($s1) +/* C47A98 80240EB8 080903B8 */ j .L80240EE0 +/* C47A9C 80240EBC E4600018 */ swc1 $f0, 0x18($v1) +.L80240EC0: +/* C47AA0 80240EC0 3C018024 */ lui $at, 0x8024 +/* C47AA4 80240EC4 D4225528 */ ldc1 $f2, 0x5528($at) +/* C47AA8 80240EC8 44820000 */ mtc1 $v0, $f0 +/* C47AAC 80240ECC 00000000 */ nop +/* C47AB0 80240ED0 46800021 */ cvt.d.w $f0, $f0 +/* C47AB4 80240ED4 46220003 */ div.d $f0, $f0, $f2 +/* C47AB8 80240ED8 46200020 */ cvt.s.d $f0, $f0 +/* C47ABC 80240EDC E4600018 */ swc1 $f0, 0x18($v1) +.L80240EE0: +/* C47AC0 80240EE0 24020029 */ addiu $v0, $zero, 0x29 +/* C47AC4 80240EE4 AE420070 */ sw $v0, 0x70($s2) +.L80240EE8: +/* C47AC8 80240EE8 8FBF001C */ lw $ra, 0x1c($sp) +/* C47ACC 80240EEC 8FB20018 */ lw $s2, 0x18($sp) +/* C47AD0 80240EF0 8FB10014 */ lw $s1, 0x14($sp) +/* C47AD4 80240EF4 8FB00010 */ lw $s0, 0x10($sp) +/* C47AD8 80240EF8 03E00008 */ jr $ra +/* C47ADC 80240EFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80240F00_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240F00_C46BE0.s new file mode 100644 index 0000000000..49bfdb877f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80240F00_C46BE0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F00_C47AE0 +/* C47AE0 80240F00 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C47AE4 80240F04 AFB3002C */ sw $s3, 0x2c($sp) +/* C47AE8 80240F08 0080982D */ daddu $s3, $a0, $zero +/* C47AEC 80240F0C AFBF0030 */ sw $ra, 0x30($sp) +/* C47AF0 80240F10 AFB20028 */ sw $s2, 0x28($sp) +/* C47AF4 80240F14 AFB10024 */ sw $s1, 0x24($sp) +/* C47AF8 80240F18 AFB00020 */ sw $s0, 0x20($sp) +/* C47AFC 80240F1C 8E720148 */ lw $s2, 0x148($s3) +/* C47B00 80240F20 00A0882D */ daddu $s1, $a1, $zero +/* C47B04 80240F24 86440008 */ lh $a0, 8($s2) +/* C47B08 80240F28 0C00EABB */ jal get_npc_unsafe +/* C47B0C 80240F2C 00C0802D */ daddu $s0, $a2, $zero +/* C47B10 80240F30 0200202D */ daddu $a0, $s0, $zero +/* C47B14 80240F34 0240282D */ daddu $a1, $s2, $zero +/* C47B18 80240F38 AFA00010 */ sw $zero, 0x10($sp) +/* C47B1C 80240F3C 8E260024 */ lw $a2, 0x24($s1) +/* C47B20 80240F40 8E270028 */ lw $a3, 0x28($s1) +/* C47B24 80240F44 0C01242D */ jal func_800490B4 +/* C47B28 80240F48 0040802D */ daddu $s0, $v0, $zero +/* C47B2C 80240F4C 1040000C */ beqz $v0, .L80240F80 +/* C47B30 80240F50 00000000 */ nop +/* C47B34 80240F54 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C47B38 80240F58 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C47B3C 80240F5C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C47B40 80240F60 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C47B44 80240F64 8C460028 */ lw $a2, 0x28($v0) +/* C47B48 80240F68 0C00A720 */ jal atan2 +/* C47B4C 80240F6C 8C470030 */ lw $a3, 0x30($v0) +/* C47B50 80240F70 2402000C */ addiu $v0, $zero, 0xc +/* C47B54 80240F74 E600000C */ swc1 $f0, 0xc($s0) +/* C47B58 80240F78 08090417 */ j .L8024105C +/* C47B5C 80240F7C AE620070 */ sw $v0, 0x70($s3) +.L80240F80: +/* C47B60 80240F80 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C47B64 80240F84 8E4200D0 */ lw $v0, 0xd0($s2) +/* C47B68 80240F88 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C47B6C 80240F8C C4440000 */ lwc1 $f4, ($v0) +/* C47B70 80240F90 46802120 */ cvt.s.w $f4, $f4 +/* C47B74 80240F94 44062000 */ mfc1 $a2, $f4 +/* C47B78 80240F98 C4440008 */ lwc1 $f4, 8($v0) +/* C47B7C 80240F9C 46802120 */ cvt.s.w $f4, $f4 +/* C47B80 80240FA0 44072000 */ mfc1 $a3, $f4 +/* C47B84 80240FA4 0C00A7B5 */ jal dist2D +/* C47B88 80240FA8 00000000 */ nop +/* C47B8C 80240FAC C6020018 */ lwc1 $f2, 0x18($s0) +/* C47B90 80240FB0 4602003E */ c.le.s $f0, $f2 +/* C47B94 80240FB4 00000000 */ nop +/* C47B98 80240FB8 4500000B */ bc1f .L80240FE8 +/* C47B9C 80240FBC 00000000 */ nop +/* C47BA0 80240FC0 8E4200CC */ lw $v0, 0xcc($s2) +/* C47BA4 80240FC4 8C430000 */ lw $v1, ($v0) +/* C47BA8 80240FC8 2402000F */ addiu $v0, $zero, 0xf +/* C47BAC 80240FCC A602008E */ sh $v0, 0x8e($s0) +/* C47BB0 80240FD0 24020032 */ addiu $v0, $zero, 0x32 +/* C47BB4 80240FD4 AE030028 */ sw $v1, 0x28($s0) +/* C47BB8 80240FD8 AE420088 */ sw $v0, 0x88($s2) +/* C47BBC 80240FDC 24020003 */ addiu $v0, $zero, 3 +/* C47BC0 80240FE0 08090417 */ j .L8024105C +/* C47BC4 80240FE4 AE620070 */ sw $v0, 0x70($s3) +.L80240FE8: +/* C47BC8 80240FE8 8602008C */ lh $v0, 0x8c($s0) +/* C47BCC 80240FEC 1440001B */ bnez $v0, .L8024105C +/* C47BD0 80240FF0 0200202D */ daddu $a0, $s0, $zero +/* C47BD4 80240FF4 27A60018 */ addiu $a2, $sp, 0x18 +/* C47BD8 80240FF8 3C0540A0 */ lui $a1, 0x40a0 +/* C47BDC 80240FFC C600000C */ lwc1 $f0, 0xc($s0) +/* C47BE0 80241000 0000382D */ daddu $a3, $zero, $zero +/* C47BE4 80241004 E7A00018 */ swc1 $f0, 0x18($sp) +/* C47BE8 80241008 AFA00010 */ sw $zero, 0x10($sp) +/* C47BEC 8024100C 0C0129E1 */ jal func_8004A784 +/* C47BF0 80241010 AFA00014 */ sw $zero, 0x14($sp) +/* C47BF4 80241014 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C47BF8 80241018 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C47BFC 8024101C E600000C */ swc1 $f0, 0xc($s0) +/* C47C00 80241020 8E4200D0 */ lw $v0, 0xd0($s2) +/* C47C04 80241024 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C47C08 80241028 C4440000 */ lwc1 $f4, ($v0) +/* C47C0C 8024102C 46802120 */ cvt.s.w $f4, $f4 +/* C47C10 80241030 44062000 */ mfc1 $a2, $f4 +/* C47C14 80241034 C4440008 */ lwc1 $f4, 8($v0) +/* C47C18 80241038 46802120 */ cvt.s.w $f4, $f4 +/* C47C1C 8024103C 44072000 */ mfc1 $a3, $f4 +/* C47C20 80241040 0C00A720 */ jal atan2 +/* C47C24 80241044 00000000 */ nop +/* C47C28 80241048 8E050018 */ lw $a1, 0x18($s0) +/* C47C2C 8024104C 44060000 */ mfc1 $a2, $f0 +/* C47C30 80241050 0200202D */ daddu $a0, $s0, $zero +/* C47C34 80241054 0C00EA95 */ jal npc_move_heading +/* C47C38 80241058 AC86000C */ sw $a2, 0xc($a0) +.L8024105C: +/* C47C3C 8024105C 8FBF0030 */ lw $ra, 0x30($sp) +/* C47C40 80241060 8FB3002C */ lw $s3, 0x2c($sp) +/* C47C44 80241064 8FB20028 */ lw $s2, 0x28($sp) +/* C47C48 80241068 8FB10024 */ lw $s1, 0x24($sp) +/* C47C4C 8024106C 8FB00020 */ lw $s0, 0x20($sp) +/* C47C50 80241070 03E00008 */ jr $ra +/* C47C54 80241074 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80241078_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241078_C46BE0.s new file mode 100644 index 0000000000..fe93740b61 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241078_C46BE0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241078_C47C58 +/* C47C58 80241078 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C47C5C 8024107C AFB00010 */ sw $s0, 0x10($sp) +/* C47C60 80241080 0080802D */ daddu $s0, $a0, $zero +/* C47C64 80241084 AFBF0014 */ sw $ra, 0x14($sp) +/* C47C68 80241088 8E020148 */ lw $v0, 0x148($s0) +/* C47C6C 8024108C 0C00EABB */ jal get_npc_unsafe +/* C47C70 80241090 84440008 */ lh $a0, 8($v0) +/* C47C74 80241094 0040182D */ daddu $v1, $v0, $zero +/* C47C78 80241098 8462008C */ lh $v0, 0x8c($v1) +/* C47C7C 8024109C 14400009 */ bnez $v0, .L802410C4 +/* C47C80 802410A0 00000000 */ nop +/* C47C84 802410A4 9462008E */ lhu $v0, 0x8e($v1) +/* C47C88 802410A8 2442FFFF */ addiu $v0, $v0, -1 +/* C47C8C 802410AC A462008E */ sh $v0, 0x8e($v1) +/* C47C90 802410B0 00021400 */ sll $v0, $v0, 0x10 +/* C47C94 802410B4 1C400003 */ bgtz $v0, .L802410C4 +/* C47C98 802410B8 00000000 */ nop +/* C47C9C 802410BC A460008E */ sh $zero, 0x8e($v1) +/* C47CA0 802410C0 AE000070 */ sw $zero, 0x70($s0) +.L802410C4: +/* C47CA4 802410C4 8FBF0014 */ lw $ra, 0x14($sp) +/* C47CA8 802410C8 8FB00010 */ lw $s0, 0x10($sp) +/* C47CAC 802410CC 03E00008 */ jr $ra +/* C47CB0 802410D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802410D4_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802410D4_C46BE0.s new file mode 100644 index 0000000000..d5de70e4a1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802410D4_C46BE0.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410D4_C47CB4 +/* C47CB4 802410D4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C47CB8 802410D8 AFB20038 */ sw $s2, 0x38($sp) +/* C47CBC 802410DC 0080902D */ daddu $s2, $a0, $zero +/* C47CC0 802410E0 AFBF0048 */ sw $ra, 0x48($sp) +/* C47CC4 802410E4 AFB50044 */ sw $s5, 0x44($sp) +/* C47CC8 802410E8 AFB40040 */ sw $s4, 0x40($sp) +/* C47CCC 802410EC AFB3003C */ sw $s3, 0x3c($sp) +/* C47CD0 802410F0 AFB10034 */ sw $s1, 0x34($sp) +/* C47CD4 802410F4 AFB00030 */ sw $s0, 0x30($sp) +/* C47CD8 802410F8 8E510148 */ lw $s1, 0x148($s2) +/* C47CDC 802410FC 86240008 */ lh $a0, 8($s1) +/* C47CE0 80241100 0C00EABB */ jal get_npc_unsafe +/* C47CE4 80241104 00A0802D */ daddu $s0, $a1, $zero +/* C47CE8 80241108 8E43000C */ lw $v1, 0xc($s2) +/* C47CEC 8024110C 0240202D */ daddu $a0, $s2, $zero +/* C47CF0 80241110 8C650000 */ lw $a1, ($v1) +/* C47CF4 80241114 0C0B1EAF */ jal get_variable +/* C47CF8 80241118 0040A02D */ daddu $s4, $v0, $zero +/* C47CFC 8024111C AFA00010 */ sw $zero, 0x10($sp) +/* C47D00 80241120 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47D04 80241124 8C630030 */ lw $v1, 0x30($v1) +/* C47D08 80241128 AFA30014 */ sw $v1, 0x14($sp) +/* C47D0C 8024112C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47D10 80241130 8C63001C */ lw $v1, 0x1c($v1) +/* C47D14 80241134 AFA30018 */ sw $v1, 0x18($sp) +/* C47D18 80241138 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47D1C 8024113C 8C630024 */ lw $v1, 0x24($v1) +/* C47D20 80241140 AFA3001C */ sw $v1, 0x1c($sp) +/* C47D24 80241144 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47D28 80241148 8C630028 */ lw $v1, 0x28($v1) +/* C47D2C 8024114C 27B50010 */ addiu $s5, $sp, 0x10 +/* C47D30 80241150 AFA30020 */ sw $v1, 0x20($sp) +/* C47D34 80241154 8E2300D0 */ lw $v1, 0xd0($s1) +/* C47D38 80241158 3C014220 */ lui $at, 0x4220 +/* C47D3C 8024115C 44810000 */ mtc1 $at, $f0 +/* C47D40 80241160 8C63002C */ lw $v1, 0x2c($v1) +/* C47D44 80241164 0040982D */ daddu $s3, $v0, $zero +/* C47D48 80241168 E7A00028 */ swc1 $f0, 0x28($sp) +/* C47D4C 8024116C A7A0002C */ sh $zero, 0x2c($sp) +/* C47D50 80241170 16000005 */ bnez $s0, .L80241188 +/* C47D54 80241174 AFA30024 */ sw $v1, 0x24($sp) +/* C47D58 80241178 8E2200B0 */ lw $v0, 0xb0($s1) +/* C47D5C 8024117C 30420004 */ andi $v0, $v0, 4 +/* C47D60 80241180 10400027 */ beqz $v0, .L80241220 +/* C47D64 80241184 00000000 */ nop +.L80241188: +/* C47D68 80241188 2402001E */ addiu $v0, $zero, 0x1e +/* C47D6C 8024118C 2404F7FF */ addiu $a0, $zero, -0x801 +/* C47D70 80241190 AE400070 */ sw $zero, 0x70($s2) +/* C47D74 80241194 A682008E */ sh $v0, 0x8e($s4) +/* C47D78 80241198 8E2300CC */ lw $v1, 0xcc($s1) +/* C47D7C 8024119C 8E820000 */ lw $v0, ($s4) +/* C47D80 802411A0 8C630028 */ lw $v1, 0x28($v1) +/* C47D84 802411A4 00441024 */ and $v0, $v0, $a0 +/* C47D88 802411A8 AE820000 */ sw $v0, ($s4) +/* C47D8C 802411AC AE830028 */ sw $v1, 0x28($s4) +/* C47D90 802411B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C47D94 802411B4 AE20006C */ sw $zero, 0x6c($s1) +/* C47D98 802411B8 8C420034 */ lw $v0, 0x34($v0) +/* C47D9C 802411BC 14400006 */ bnez $v0, .L802411D8 +/* C47DA0 802411C0 2403FDFF */ addiu $v1, $zero, -0x201 +/* C47DA4 802411C4 8E820000 */ lw $v0, ($s4) +/* C47DA8 802411C8 2403FFF7 */ addiu $v1, $zero, -9 +/* C47DAC 802411CC 34420200 */ ori $v0, $v0, 0x200 +/* C47DB0 802411D0 08090479 */ j .L802411E4 +/* C47DB4 802411D4 00431024 */ and $v0, $v0, $v1 +.L802411D8: +/* C47DB8 802411D8 8E820000 */ lw $v0, ($s4) +/* C47DBC 802411DC 00431024 */ and $v0, $v0, $v1 +/* C47DC0 802411E0 34420008 */ ori $v0, $v0, 8 +.L802411E4: +/* C47DC4 802411E4 AE820000 */ sw $v0, ($s4) +/* C47DC8 802411E8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C47DCC 802411EC 30420004 */ andi $v0, $v0, 4 +/* C47DD0 802411F0 10400007 */ beqz $v0, .L80241210 +/* C47DD4 802411F4 24020063 */ addiu $v0, $zero, 0x63 +/* C47DD8 802411F8 AE420070 */ sw $v0, 0x70($s2) +/* C47DDC 802411FC 24020028 */ addiu $v0, $zero, 0x28 +/* C47DE0 80241200 AE420074 */ sw $v0, 0x74($s2) +/* C47DE4 80241204 8E2200CC */ lw $v0, 0xcc($s1) +/* C47DE8 80241208 8C420000 */ lw $v0, ($v0) +/* C47DEC 8024120C AE820028 */ sw $v0, 0x28($s4) +.L80241210: +/* C47DF0 80241210 8E2200B0 */ lw $v0, 0xb0($s1) +/* C47DF4 80241214 2403FFFB */ addiu $v1, $zero, -5 +/* C47DF8 80241218 00431024 */ and $v0, $v0, $v1 +/* C47DFC 8024121C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241220: +/* C47E00 80241220 8E420070 */ lw $v0, 0x70($s2) +/* C47E04 80241224 2442FFF6 */ addiu $v0, $v0, -0xa +/* C47E08 80241228 2C420014 */ sltiu $v0, $v0, 0x14 +/* C47E0C 8024122C 10400009 */ beqz $v0, .L80241254 +/* C47E10 80241230 00000000 */ nop +/* C47E14 80241234 8E22006C */ lw $v0, 0x6c($s1) +/* C47E18 80241238 14400006 */ bnez $v0, .L80241254 +/* C47E1C 8024123C 00000000 */ nop +/* C47E20 80241240 0C090082 */ jal func_80240208 +/* C47E24 80241244 0240202D */ daddu $a0, $s2, $zero +/* C47E28 80241248 10400002 */ beqz $v0, .L80241254 +/* C47E2C 8024124C 2402001E */ addiu $v0, $zero, 0x1e +/* C47E30 80241250 AE420070 */ sw $v0, 0x70($s2) +.L80241254: +/* C47E34 80241254 8E430070 */ lw $v1, 0x70($s2) +/* C47E38 80241258 2C620064 */ sltiu $v0, $v1, 0x64 +/* C47E3C 8024125C 10400067 */ beqz $v0, .L802413FC +/* C47E40 80241260 00031080 */ sll $v0, $v1, 2 +/* C47E44 80241264 3C018024 */ lui $at, 0x8024 +/* C47E48 80241268 00220821 */ addu $at, $at, $v0 +/* C47E4C 8024126C 8C225530 */ lw $v0, 0x5530($at) +/* C47E50 80241270 00400008 */ jr $v0 +/* C47E54 80241274 00000000 */ nop +/* C47E58 80241278 0240202D */ daddu $a0, $s2, $zero +/* C47E5C 8024127C 0260282D */ daddu $a1, $s3, $zero +/* C47E60 80241280 0C090234 */ jal func_802408D0 +/* C47E64 80241284 02A0302D */ daddu $a2, $s5, $zero +/* C47E68 80241288 080904FF */ j .L802413FC +/* C47E6C 8024128C 00000000 */ nop +/* C47E70 80241290 0240202D */ daddu $a0, $s2, $zero +/* C47E74 80241294 0260282D */ daddu $a1, $s3, $zero +/* C47E78 80241298 0C090256 */ jal func_80240958 +/* C47E7C 8024129C 02A0302D */ daddu $a2, $s5, $zero +/* C47E80 802412A0 080904FF */ j .L802413FC +/* C47E84 802412A4 00000000 */ nop +/* C47E88 802412A8 0240202D */ daddu $a0, $s2, $zero +/* C47E8C 802412AC 0260282D */ daddu $a1, $s3, $zero +/* C47E90 802412B0 0C090304 */ jal func_80240C10 +/* C47E94 802412B4 02A0302D */ daddu $a2, $s5, $zero +/* C47E98 802412B8 080904FF */ j .L802413FC +/* C47E9C 802412BC 00000000 */ nop +/* C47EA0 802412C0 0240202D */ daddu $a0, $s2, $zero +/* C47EA4 802412C4 0260282D */ daddu $a1, $s3, $zero +/* C47EA8 802412C8 0C09031D */ jal func_80240C74 +/* C47EAC 802412CC 02A0302D */ daddu $a2, $s5, $zero +/* C47EB0 802412D0 080904FF */ j .L802413FC +/* C47EB4 802412D4 00000000 */ nop +/* C47EB8 802412D8 0240202D */ daddu $a0, $s2, $zero +/* C47EBC 802412DC 0260282D */ daddu $a1, $s3, $zero +/* C47EC0 802412E0 0C090347 */ jal func_80240D1C +/* C47EC4 802412E4 02A0302D */ daddu $a2, $s5, $zero +/* C47EC8 802412E8 080904FF */ j .L802413FC +/* C47ECC 802412EC 00000000 */ nop +/* C47ED0 802412F0 0240202D */ daddu $a0, $s2, $zero +/* C47ED4 802412F4 0260282D */ daddu $a1, $s3, $zero +/* C47ED8 802412F8 0C0127DF */ jal func_80049F7C +/* C47EDC 802412FC 02A0302D */ daddu $a2, $s5, $zero +/* C47EE0 80241300 8E430070 */ lw $v1, 0x70($s2) +/* C47EE4 80241304 2402000D */ addiu $v0, $zero, 0xd +/* C47EE8 80241308 1462003C */ bne $v1, $v0, .L802413FC +/* C47EEC 8024130C 00000000 */ nop +/* C47EF0 80241310 0240202D */ daddu $a0, $s2, $zero +/* C47EF4 80241314 0260282D */ daddu $a1, $s3, $zero +/* C47EF8 80241318 0C012849 */ jal func_8004A124 +/* C47EFC 8024131C 02A0302D */ daddu $a2, $s5, $zero +/* C47F00 80241320 080904FF */ j .L802413FC +/* C47F04 80241324 00000000 */ nop +/* C47F08 80241328 0240202D */ daddu $a0, $s2, $zero +/* C47F0C 8024132C 0260282D */ daddu $a1, $s3, $zero +/* C47F10 80241330 0C0128FA */ jal func_8004A3E8 +/* C47F14 80241334 02A0302D */ daddu $a2, $s5, $zero +/* C47F18 80241338 2402000F */ addiu $v0, $zero, 0xf +/* C47F1C 8024133C A682008E */ sh $v0, 0x8e($s4) +/* C47F20 80241340 24020028 */ addiu $v0, $zero, 0x28 +/* C47F24 80241344 AE220088 */ sw $v0, 0x88($s1) +/* C47F28 80241348 24020003 */ addiu $v0, $zero, 3 +/* C47F2C 8024134C 080904FF */ j .L802413FC +/* C47F30 80241350 AE420070 */ sw $v0, 0x70($s2) +/* C47F34 80241354 0C090000 */ jal func_80240000 +/* C47F38 80241358 0240202D */ daddu $a0, $s2, $zero +/* C47F3C 8024135C 8E430070 */ lw $v1, 0x70($s2) +/* C47F40 80241360 2402001F */ addiu $v0, $zero, 0x1f +/* C47F44 80241364 14620025 */ bne $v1, $v0, .L802413FC +/* C47F48 80241368 00000000 */ nop +/* C47F4C 8024136C 0C09001B */ jal func_8024006C +/* C47F50 80241370 0240202D */ daddu $a0, $s2, $zero +/* C47F54 80241374 8E430070 */ lw $v1, 0x70($s2) +/* C47F58 80241378 24020020 */ addiu $v0, $zero, 0x20 +/* C47F5C 8024137C 1462001F */ bne $v1, $v0, .L802413FC +/* C47F60 80241380 00000000 */ nop +/* C47F64 80241384 0C090037 */ jal func_802400DC +/* C47F68 80241388 0240202D */ daddu $a0, $s2, $zero +/* C47F6C 8024138C 080904FF */ j .L802413FC +/* C47F70 80241390 00000000 */ nop +/* C47F74 80241394 0C09006D */ jal func_802401B4 +/* C47F78 80241398 0240202D */ daddu $a0, $s2, $zero +/* C47F7C 8024139C 080904FF */ j .L802413FC +/* C47F80 802413A0 00000000 */ nop +/* C47F84 802413A4 0240202D */ daddu $a0, $s2, $zero +/* C47F88 802413A8 0260282D */ daddu $a1, $s3, $zero +/* C47F8C 802413AC 0C090395 */ jal func_80240E54 +/* C47F90 802413B0 02A0302D */ daddu $a2, $s5, $zero +/* C47F94 802413B4 8E430070 */ lw $v1, 0x70($s2) +/* C47F98 802413B8 24020029 */ addiu $v0, $zero, 0x29 +/* C47F9C 802413BC 1462000F */ bne $v1, $v0, .L802413FC +/* C47FA0 802413C0 00000000 */ nop +/* C47FA4 802413C4 0240202D */ daddu $a0, $s2, $zero +/* C47FA8 802413C8 0260282D */ daddu $a1, $s3, $zero +/* C47FAC 802413CC 0C0903C0 */ jal func_80240F00 +/* C47FB0 802413D0 02A0302D */ daddu $a2, $s5, $zero +/* C47FB4 802413D4 080904FF */ j .L802413FC +/* C47FB8 802413D8 00000000 */ nop +/* C47FBC 802413DC 0240202D */ daddu $a0, $s2, $zero +/* C47FC0 802413E0 0260282D */ daddu $a1, $s3, $zero +/* C47FC4 802413E4 0C09041E */ jal func_80241078 +/* C47FC8 802413E8 02A0302D */ daddu $a2, $s5, $zero +/* C47FCC 802413EC 080904FF */ j .L802413FC +/* C47FD0 802413F0 00000000 */ nop +/* C47FD4 802413F4 0C0129CF */ jal func_8004A73C +/* C47FD8 802413F8 0240202D */ daddu $a0, $s2, $zero +.L802413FC: +/* C47FDC 802413FC 8FBF0048 */ lw $ra, 0x48($sp) +/* C47FE0 80241400 8FB50044 */ lw $s5, 0x44($sp) +/* C47FE4 80241404 8FB40040 */ lw $s4, 0x40($sp) +/* C47FE8 80241408 8FB3003C */ lw $s3, 0x3c($sp) +/* C47FEC 8024140C 8FB20038 */ lw $s2, 0x38($sp) +/* C47FF0 80241410 8FB10034 */ lw $s1, 0x34($sp) +/* C47FF4 80241414 8FB00030 */ lw $s0, 0x30($sp) +/* C47FF8 80241418 0000102D */ daddu $v0, $zero, $zero +/* C47FFC 8024141C 03E00008 */ jr $ra +/* C48000 80241420 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80241424_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241424_C46BE0.s new file mode 100644 index 0000000000..534306964b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241424_C46BE0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241424_C48004 +/* C48004 80241424 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C48008 80241428 AFB3002C */ sw $s3, 0x2c($sp) +/* C4800C 8024142C 0080982D */ daddu $s3, $a0, $zero +/* C48010 80241430 AFBF0030 */ sw $ra, 0x30($sp) +/* C48014 80241434 AFB20028 */ sw $s2, 0x28($sp) +/* C48018 80241438 AFB10024 */ sw $s1, 0x24($sp) +/* C4801C 8024143C AFB00020 */ sw $s0, 0x20($sp) +/* C48020 80241440 8E710148 */ lw $s1, 0x148($s3) +/* C48024 80241444 86240008 */ lh $a0, 8($s1) +/* C48028 80241448 0C00EABB */ jal get_npc_unsafe +/* C4802C 8024144C 00A0902D */ daddu $s2, $a1, $zero +/* C48030 80241450 8E440004 */ lw $a0, 4($s2) +/* C48034 80241454 0040802D */ daddu $s0, $v0, $zero +/* C48038 80241458 00041FC2 */ srl $v1, $a0, 0x1f +/* C4803C 8024145C 00832021 */ addu $a0, $a0, $v1 +/* C48040 80241460 00042043 */ sra $a0, $a0, 1 +/* C48044 80241464 0C00A67F */ jal rand_int +/* C48048 80241468 24840001 */ addiu $a0, $a0, 1 +/* C4804C 8024146C 8E430004 */ lw $v1, 4($s2) +/* C48050 80241470 000327C2 */ srl $a0, $v1, 0x1f +/* C48054 80241474 00641821 */ addu $v1, $v1, $a0 +/* C48058 80241478 00031843 */ sra $v1, $v1, 1 +/* C4805C 8024147C 00621821 */ addu $v1, $v1, $v0 +/* C48060 80241480 A603008E */ sh $v1, 0x8e($s0) +/* C48064 80241484 8E2300D0 */ lw $v1, 0xd0($s1) +/* C48068 80241488 C6000040 */ lwc1 $f0, 0x40($s0) +/* C4806C 8024148C C4640000 */ lwc1 $f4, ($v1) +/* C48070 80241490 46802120 */ cvt.s.w $f4, $f4 +/* C48074 80241494 C4620008 */ lwc1 $f2, 8($v1) +/* C48078 80241498 468010A0 */ cvt.s.w $f2, $f2 +/* C4807C 8024149C E7A00010 */ swc1 $f0, 0x10($sp) +/* C48080 802414A0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48084 802414A4 44061000 */ mfc1 $a2, $f2 +/* C48088 802414A8 C440000C */ lwc1 $f0, 0xc($v0) +/* C4808C 802414AC 46800020 */ cvt.s.w $f0, $f0 +/* C48090 802414B0 E7A00014 */ swc1 $f0, 0x14($sp) +/* C48094 802414B4 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48098 802414B8 44052000 */ mfc1 $a1, $f4 +/* C4809C 802414BC C4400010 */ lwc1 $f0, 0x10($v0) +/* C480A0 802414C0 46800020 */ cvt.s.w $f0, $f0 +/* C480A4 802414C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C480A8 802414C8 8C640018 */ lw $a0, 0x18($v1) +/* C480AC 802414CC 0C0123F5 */ jal is_point_within_region +/* C480B0 802414D0 8E070038 */ lw $a3, 0x38($s0) +/* C480B4 802414D4 1040000E */ beqz $v0, .L80241510 +/* C480B8 802414D8 00000000 */ nop +/* C480BC 802414DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C480C0 802414E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C480C4 802414E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C480C8 802414E8 C4460000 */ lwc1 $f6, ($v0) +/* C480CC 802414EC 468031A0 */ cvt.s.w $f6, $f6 +/* C480D0 802414F0 44063000 */ mfc1 $a2, $f6 +/* C480D4 802414F4 C4460008 */ lwc1 $f6, 8($v0) +/* C480D8 802414F8 468031A0 */ cvt.s.w $f6, $f6 +/* C480DC 802414FC 44073000 */ mfc1 $a3, $f6 +/* C480E0 80241500 0C00A720 */ jal atan2 +/* C480E4 80241504 00000000 */ nop +/* C480E8 80241508 08090550 */ j .L80241540 +/* C480EC 8024150C E600000C */ swc1 $f0, 0xc($s0) +.L80241510: +/* C480F0 80241510 0C00A67F */ jal rand_int +/* C480F4 80241514 2404003C */ addiu $a0, $zero, 0x3c +/* C480F8 80241518 C60C000C */ lwc1 $f12, 0xc($s0) +/* C480FC 8024151C 44820000 */ mtc1 $v0, $f0 +/* C48100 80241520 00000000 */ nop +/* C48104 80241524 46800020 */ cvt.s.w $f0, $f0 +/* C48108 80241528 46006300 */ add.s $f12, $f12, $f0 +/* C4810C 8024152C 3C0141F0 */ lui $at, 0x41f0 +/* C48110 80241530 44810000 */ mtc1 $at, $f0 +/* C48114 80241534 0C00A6C9 */ jal clamp_angle +/* C48118 80241538 46006301 */ sub.s $f12, $f12, $f0 +/* C4811C 8024153C E600000C */ swc1 $f0, 0xc($s0) +.L80241540: +/* C48120 80241540 8E2200CC */ lw $v0, 0xcc($s1) +/* C48124 80241544 8C420004 */ lw $v0, 4($v0) +/* C48128 80241548 AE020028 */ sw $v0, 0x28($s0) +/* C4812C 8024154C AE600074 */ sw $zero, 0x74($s3) +/* C48130 80241550 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48134 80241554 8C420014 */ lw $v0, 0x14($v0) +/* C48138 80241558 04410004 */ bgez $v0, .L8024156C +/* C4813C 8024155C 00000000 */ nop +/* C48140 80241560 C6400000 */ lwc1 $f0, ($s2) +/* C48144 80241564 08090563 */ j .L8024158C +/* C48148 80241568 E6000018 */ swc1 $f0, 0x18($s0) +.L8024156C: +/* C4814C 8024156C 3C018024 */ lui $at, 0x8024 +/* C48150 80241570 D42256C0 */ ldc1 $f2, 0x56c0($at) +/* C48154 80241574 44820000 */ mtc1 $v0, $f0 +/* C48158 80241578 00000000 */ nop +/* C4815C 8024157C 46800021 */ cvt.d.w $f0, $f0 +/* C48160 80241580 46220003 */ div.d $f0, $f0, $f2 +/* C48164 80241584 46200020 */ cvt.s.d $f0, $f0 +/* C48168 80241588 E6000018 */ swc1 $f0, 0x18($s0) +.L8024158C: +/* C4816C 8024158C C600003C */ lwc1 $f0, 0x3c($s0) +/* C48170 80241590 3C014059 */ lui $at, 0x4059 +/* C48174 80241594 44811800 */ mtc1 $at, $f3 +/* C48178 80241598 44801000 */ mtc1 $zero, $f2 +/* C4817C 8024159C 46000021 */ cvt.d.s $f0, $f0 +/* C48180 802415A0 46220002 */ mul.d $f0, $f0, $f2 +/* C48184 802415A4 00000000 */ nop +/* C48188 802415A8 24020001 */ addiu $v0, $zero, 1 +/* C4818C 802415AC 4620018D */ trunc.w.d $f6, $f0 +/* C48190 802415B0 E626007C */ swc1 $f6, 0x7c($s1) +/* C48194 802415B4 AE620070 */ sw $v0, 0x70($s3) +/* C48198 802415B8 8FBF0030 */ lw $ra, 0x30($sp) +/* C4819C 802415BC 8FB3002C */ lw $s3, 0x2c($sp) +/* C481A0 802415C0 8FB20028 */ lw $s2, 0x28($sp) +/* C481A4 802415C4 8FB10024 */ lw $s1, 0x24($sp) +/* C481A8 802415C8 8FB00020 */ lw $s0, 0x20($sp) +/* C481AC 802415CC 03E00008 */ jr $ra +/* C481B0 802415D0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802415D4.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802415D4.s new file mode 100644 index 0000000000..dd5553e0fd --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802415D4.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415D4 +/* C481B4 802415D4 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C481B8 802415D8 AFB3004C */ sw $s3, 0x4c($sp) +/* C481BC 802415DC 0080982D */ daddu $s3, $a0, $zero +/* C481C0 802415E0 AFBF0058 */ sw $ra, 0x58($sp) +/* C481C4 802415E4 AFB50054 */ sw $s5, 0x54($sp) +/* C481C8 802415E8 AFB40050 */ sw $s4, 0x50($sp) +/* C481CC 802415EC AFB20048 */ sw $s2, 0x48($sp) +/* C481D0 802415F0 AFB10044 */ sw $s1, 0x44($sp) +/* C481D4 802415F4 AFB00040 */ sw $s0, 0x40($sp) +/* C481D8 802415F8 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C481DC 802415FC F7B80070 */ sdc1 $f24, 0x70($sp) +/* C481E0 80241600 F7B60068 */ sdc1 $f22, 0x68($sp) +/* C481E4 80241604 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C481E8 80241608 8E710148 */ lw $s1, 0x148($s3) +/* C481EC 8024160C 00A0902D */ daddu $s2, $a1, $zero +/* C481F0 80241610 86240008 */ lh $a0, 8($s1) +/* C481F4 80241614 0C00EABB */ jal get_npc_unsafe +/* C481F8 80241618 00C0A82D */ daddu $s5, $a2, $zero +/* C481FC 8024161C 0040802D */ daddu $s0, $v0, $zero +/* C48200 80241620 0000A02D */ daddu $s4, $zero, $zero +/* C48204 80241624 C624007C */ lwc1 $f4, 0x7c($s1) +/* C48208 80241628 46802120 */ cvt.s.w $f4, $f4 +/* C4820C 8024162C C6220088 */ lwc1 $f2, 0x88($s1) +/* C48210 80241630 468010A0 */ cvt.s.w $f2, $f2 +/* C48214 80241634 460010A1 */ cvt.d.s $f2, $f2 +/* C48218 80241638 46002121 */ cvt.d.s $f4, $f4 +/* C4821C 8024163C C600003C */ lwc1 $f0, 0x3c($s0) +/* C48220 80241640 3C014059 */ lui $at, 0x4059 +/* C48224 80241644 44813800 */ mtc1 $at, $f7 +/* C48228 80241648 44803000 */ mtc1 $zero, $f6 +/* C4822C 8024164C 46000021 */ cvt.d.s $f0, $f0 +/* C48230 80241650 46260002 */ mul.d $f0, $f0, $f6 +/* C48234 80241654 00000000 */ nop +/* C48238 80241658 24020001 */ addiu $v0, $zero, 1 +/* C4823C 8024165C 8E24006C */ lw $a0, 0x6c($s1) +/* C48240 80241660 46261083 */ div.d $f2, $f2, $f6 +/* C48244 80241664 462010A0 */ cvt.s.d $f2, $f2 +/* C48248 80241668 46262103 */ div.d $f4, $f4, $f6 +/* C4824C 8024166C 46202520 */ cvt.s.d $f20, $f4 +/* C48250 80241670 30830011 */ andi $v1, $a0, 0x11 +/* C48254 80241674 4620020D */ trunc.w.d $f8, $f0 +/* C48258 80241678 E628007C */ swc1 $f8, 0x7c($s1) +/* C4825C 8024167C C6200078 */ lwc1 $f0, 0x78($s1) +/* C48260 80241680 46800020 */ cvt.s.w $f0, $f0 +/* C48264 80241684 46000021 */ cvt.d.s $f0, $f0 +/* C48268 80241688 46260003 */ div.d $f0, $f0, $f6 +/* C4826C 8024168C 462006A0 */ cvt.s.d $f26, $f0 +/* C48270 80241690 C6200070 */ lwc1 $f0, 0x70($s1) +/* C48274 80241694 46800020 */ cvt.s.w $f0, $f0 +/* C48278 80241698 46000021 */ cvt.d.s $f0, $f0 +/* C4827C 8024169C 46260003 */ div.d $f0, $f0, $f6 +/* C48280 802416A0 462005A0 */ cvt.s.d $f22, $f0 +/* C48284 802416A4 14620025 */ bne $v1, $v0, .L8024173C +/* C48288 802416A8 4602D600 */ add.s $f24, $f26, $f2 +/* C4828C 802416AC 8E020000 */ lw $v0, ($s0) +/* C48290 802416B0 30420008 */ andi $v0, $v0, 8 +/* C48294 802416B4 10400009 */ beqz $v0, .L802416DC +/* C48298 802416B8 27A50028 */ addiu $a1, $sp, 0x28 +/* C4829C 802416BC C600003C */ lwc1 $f0, 0x3c($s0) +/* C482A0 802416C0 4600C001 */ sub.s $f0, $f24, $f0 +/* C482A4 802416C4 4600B03C */ c.lt.s $f22, $f0 +/* C482A8 802416C8 00000000 */ nop +/* C482AC 802416CC 4500001B */ bc1f .L8024173C +/* C482B0 802416D0 34820010 */ ori $v0, $a0, 0x10 +/* C482B4 802416D4 080905CF */ j .L8024173C +/* C482B8 802416D8 AE22006C */ sw $v0, 0x6c($s1) +.L802416DC: +/* C482BC 802416DC 27A6002C */ addiu $a2, $sp, 0x2c +/* C482C0 802416E0 C6000038 */ lwc1 $f0, 0x38($s0) +/* C482C4 802416E4 C602003C */ lwc1 $f2, 0x3c($s0) +/* C482C8 802416E8 C6040040 */ lwc1 $f4, 0x40($s0) +/* C482CC 802416EC 3C01447A */ lui $at, 0x447a +/* C482D0 802416F0 44813000 */ mtc1 $at, $f6 +/* C482D4 802416F4 27A20034 */ addiu $v0, $sp, 0x34 +/* C482D8 802416F8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C482DC 802416FC E7A2002C */ swc1 $f2, 0x2c($sp) +/* C482E0 80241700 E7A40030 */ swc1 $f4, 0x30($sp) +/* C482E4 80241704 E7A60034 */ swc1 $f6, 0x34($sp) +/* C482E8 80241708 AFA20010 */ sw $v0, 0x10($sp) +/* C482EC 8024170C 8E040080 */ lw $a0, 0x80($s0) +/* C482F0 80241710 0C0372DF */ jal func_800DCB7C +/* C482F4 80241714 27A70030 */ addiu $a3, $sp, 0x30 +/* C482F8 80241718 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C482FC 8024171C 4600D001 */ sub.s $f0, $f26, $f0 +/* C48300 80241720 4600B03C */ c.lt.s $f22, $f0 +/* C48304 80241724 00000000 */ nop +/* C48308 80241728 45000004 */ bc1f .L8024173C +/* C4830C 8024172C 00000000 */ nop +/* C48310 80241730 8E22006C */ lw $v0, 0x6c($s1) +/* C48314 80241734 34420010 */ ori $v0, $v0, 0x10 +/* C48318 80241738 AE22006C */ sw $v0, 0x6c($s1) +.L8024173C: +/* C4831C 8024173C 8E22006C */ lw $v0, 0x6c($s1) +/* C48320 80241740 24030011 */ addiu $v1, $zero, 0x11 +/* C48324 80241744 30420011 */ andi $v0, $v0, 0x11 +/* C48328 80241748 14430039 */ bne $v0, $v1, .L80241830 +/* C4832C 8024174C 00000000 */ nop +/* C48330 80241750 8E020000 */ lw $v0, ($s0) +/* C48334 80241754 30420008 */ andi $v0, $v0, 8 +/* C48338 80241758 1040000A */ beqz $v0, .L80241784 +/* C4833C 8024175C 4600C106 */ mov.s $f4, $f24 +/* C48340 80241760 4614C081 */ sub.s $f2, $f24, $f20 +/* C48344 80241764 3C018024 */ lui $at, 0x8024 +/* C48348 80241768 D42056C8 */ ldc1 $f0, 0x56c8($at) +/* C4834C 8024176C 460010A1 */ cvt.d.s $f2, $f2 +/* C48350 80241770 46201082 */ mul.d $f2, $f2, $f0 +/* C48354 80241774 00000000 */ nop +/* C48358 80241778 4600A021 */ cvt.d.s $f0, $f20 +/* C4835C 8024177C 080905FA */ j .L802417E8 +/* C48360 80241780 46220000 */ add.d $f0, $f0, $f2 +.L80241784: +/* C48364 80241784 27A50028 */ addiu $a1, $sp, 0x28 +/* C48368 80241788 27A6002C */ addiu $a2, $sp, 0x2c +/* C4836C 8024178C C6000038 */ lwc1 $f0, 0x38($s0) +/* C48370 80241790 C6020040 */ lwc1 $f2, 0x40($s0) +/* C48374 80241794 3C01447A */ lui $at, 0x447a +/* C48378 80241798 44812000 */ mtc1 $at, $f4 +/* C4837C 8024179C 27A20034 */ addiu $v0, $sp, 0x34 +/* C48380 802417A0 E7B4002C */ swc1 $f20, 0x2c($sp) +/* C48384 802417A4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C48388 802417A8 E7A20030 */ swc1 $f2, 0x30($sp) +/* C4838C 802417AC E7A40034 */ swc1 $f4, 0x34($sp) +/* C48390 802417B0 AFA20010 */ sw $v0, 0x10($sp) +/* C48394 802417B4 8E040080 */ lw $a0, 0x80($s0) +/* C48398 802417B8 0C0372DF */ jal func_800DCB7C +/* C4839C 802417BC 27A70030 */ addiu $a3, $sp, 0x30 +/* C483A0 802417C0 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C483A4 802417C4 461A2100 */ add.s $f4, $f4, $f26 +/* C483A8 802417C8 46142081 */ sub.s $f2, $f4, $f20 +/* C483AC 802417CC 3C018024 */ lui $at, 0x8024 +/* C483B0 802417D0 D42056D0 */ ldc1 $f0, 0x56d0($at) +/* C483B4 802417D4 460010A1 */ cvt.d.s $f2, $f2 +/* C483B8 802417D8 46201082 */ mul.d $f2, $f2, $f0 +/* C483BC 802417DC 00000000 */ nop +/* C483C0 802417E0 4600A021 */ cvt.d.s $f0, $f20 +/* C483C4 802417E4 46220000 */ add.d $f0, $f0, $f2 +.L802417E8: +/* C483C8 802417E8 46200020 */ cvt.s.d $f0, $f0 +/* C483CC 802417EC E600003C */ swc1 $f0, 0x3c($s0) +/* C483D0 802417F0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C483D4 802417F4 46002001 */ sub.s $f0, $f4, $f0 +/* C483D8 802417F8 3C013FF0 */ lui $at, 0x3ff0 +/* C483DC 802417FC 44811800 */ mtc1 $at, $f3 +/* C483E0 80241800 44801000 */ mtc1 $zero, $f2 +/* C483E4 80241804 46000005 */ abs.s $f0, $f0 +/* C483E8 80241808 46000021 */ cvt.d.s $f0, $f0 +/* C483EC 8024180C 4622003C */ c.lt.d $f0, $f2 +/* C483F0 80241810 00000000 */ nop +/* C483F4 80241814 45000036 */ bc1f .L802418F0 +/* C483F8 80241818 2403FFEF */ addiu $v1, $zero, -0x11 +/* C483FC 8024181C E604003C */ swc1 $f4, 0x3c($s0) +/* C48400 80241820 8E22006C */ lw $v0, 0x6c($s1) +/* C48404 80241824 00431024 */ and $v0, $v0, $v1 +/* C48408 80241828 0809063C */ j .L802418F0 +/* C4840C 8024182C AE22006C */ sw $v0, 0x6c($s1) +.L80241830: +/* C48410 80241830 8E220070 */ lw $v0, 0x70($s1) +/* C48414 80241834 1840002E */ blez $v0, .L802418F0 +/* C48418 80241838 00000000 */ nop +/* C4841C 8024183C C62C0074 */ lwc1 $f12, 0x74($s1) +/* C48420 80241840 0C00A8BB */ jal sin_deg +/* C48424 80241844 46806320 */ cvt.s.w $f12, $f12 +/* C48428 80241848 8E020000 */ lw $v0, ($s0) +/* C4842C 8024184C 30420008 */ andi $v0, $v0, 8 +/* C48430 80241850 10400003 */ beqz $v0, .L80241860 +/* C48434 80241854 46000506 */ mov.s $f20, $f0 +/* C48438 80241858 08090628 */ j .L802418A0 +/* C4843C 8024185C 0000102D */ daddu $v0, $zero, $zero +.L80241860: +/* C48440 80241860 27A50028 */ addiu $a1, $sp, 0x28 +/* C48444 80241864 27A6002C */ addiu $a2, $sp, 0x2c +/* C48448 80241868 C6000038 */ lwc1 $f0, 0x38($s0) +/* C4844C 8024186C C602003C */ lwc1 $f2, 0x3c($s0) +/* C48450 80241870 C6040040 */ lwc1 $f4, 0x40($s0) +/* C48454 80241874 3C01447A */ lui $at, 0x447a +/* C48458 80241878 44813000 */ mtc1 $at, $f6 +/* C4845C 8024187C 27A20034 */ addiu $v0, $sp, 0x34 +/* C48460 80241880 E7A00028 */ swc1 $f0, 0x28($sp) +/* C48464 80241884 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C48468 80241888 E7A40030 */ swc1 $f4, 0x30($sp) +/* C4846C 8024188C E7A60034 */ swc1 $f6, 0x34($sp) +/* C48470 80241890 AFA20010 */ sw $v0, 0x10($sp) +/* C48474 80241894 8E040080 */ lw $a0, 0x80($s0) +/* C48478 80241898 0C0372DF */ jal func_800DCB7C +/* C4847C 8024189C 27A70030 */ addiu $a3, $sp, 0x30 +.L802418A0: +/* C48480 802418A0 10400007 */ beqz $v0, .L802418C0 +/* C48484 802418A4 00000000 */ nop +/* C48488 802418A8 4616A082 */ mul.s $f2, $f20, $f22 +/* C4848C 802418AC 00000000 */ nop +/* C48490 802418B0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C48494 802418B4 461A0000 */ add.s $f0, $f0, $f26 +/* C48498 802418B8 08090633 */ j .L802418CC +/* C4849C 802418BC 46020000 */ add.s $f0, $f0, $f2 +.L802418C0: +/* C484A0 802418C0 4616A002 */ mul.s $f0, $f20, $f22 +/* C484A4 802418C4 00000000 */ nop +/* C484A8 802418C8 4600C000 */ add.s $f0, $f24, $f0 +.L802418CC: +/* C484AC 802418CC E600003C */ swc1 $f0, 0x3c($s0) +/* C484B0 802418D0 8E220074 */ lw $v0, 0x74($s1) +/* C484B4 802418D4 2442000A */ addiu $v0, $v0, 0xa +/* C484B8 802418D8 44826000 */ mtc1 $v0, $f12 +/* C484BC 802418DC 00000000 */ nop +/* C484C0 802418E0 0C00A6C9 */ jal clamp_angle +/* C484C4 802418E4 46806320 */ cvt.s.w $f12, $f12 +/* C484C8 802418E8 4600020D */ trunc.w.s $f8, $f0 +/* C484CC 802418EC E6280074 */ swc1 $f8, 0x74($s1) +.L802418F0: +/* C484D0 802418F0 8E220090 */ lw $v0, 0x90($s1) +/* C484D4 802418F4 1C40004A */ bgtz $v0, .L80241A20 +/* C484D8 802418F8 2442FFFF */ addiu $v0, $v0, -1 +/* C484DC 802418FC 8E430014 */ lw $v1, 0x14($s2) +/* C484E0 80241900 04600048 */ bltz $v1, .L80241A24 +/* C484E4 80241904 00000000 */ nop +/* C484E8 80241908 8E620074 */ lw $v0, 0x74($s3) +/* C484EC 8024190C 1C400042 */ bgtz $v0, .L80241A18 +/* C484F0 80241910 2442FFFF */ addiu $v0, $v0, -1 +/* C484F4 80241914 AE630074 */ sw $v1, 0x74($s3) +/* C484F8 80241918 860200A8 */ lh $v0, 0xa8($s0) +/* C484FC 8024191C C602003C */ lwc1 $f2, 0x3c($s0) +/* C48500 80241920 44820000 */ mtc1 $v0, $f0 +/* C48504 80241924 00000000 */ nop +/* C48508 80241928 46800020 */ cvt.s.w $f0, $f0 +/* C4850C 8024192C 46001080 */ add.s $f2, $f2, $f0 +/* C48510 80241930 3C014024 */ lui $at, 0x4024 +/* C48514 80241934 44810800 */ mtc1 $at, $f1 +/* C48518 80241938 44800000 */ mtc1 $zero, $f0 +/* C4851C 8024193C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C48520 80241940 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C48524 80241944 460010A1 */ cvt.d.s $f2, $f2 +/* C48528 80241948 46201080 */ add.d $f2, $f2, $f0 +/* C4852C 8024194C C440002C */ lwc1 $f0, 0x2c($v0) +/* C48530 80241950 46000021 */ cvt.d.s $f0, $f0 +/* C48534 80241954 4622003C */ c.lt.d $f0, $f2 +/* C48538 80241958 00000000 */ nop +/* C4853C 8024195C 4500002C */ bc1f .L80241A10 +/* C48540 80241960 02A0202D */ daddu $a0, $s5, $zero +/* C48544 80241964 AFA00010 */ sw $zero, 0x10($sp) +/* C48548 80241968 8E46000C */ lw $a2, 0xc($s2) +/* C4854C 8024196C 8E470010 */ lw $a3, 0x10($s2) +/* C48550 80241970 0C01242D */ jal func_800490B4 +/* C48554 80241974 0220282D */ daddu $a1, $s1, $zero +/* C48558 80241978 10400025 */ beqz $v0, .L80241A10 +/* C4855C 8024197C 0000202D */ daddu $a0, $zero, $zero +/* C48560 80241980 0200282D */ daddu $a1, $s0, $zero +/* C48564 80241984 0000302D */ daddu $a2, $zero, $zero +/* C48568 80241988 2412000C */ addiu $s2, $zero, 0xc +/* C4856C 8024198C 860300A8 */ lh $v1, 0xa8($s0) +/* C48570 80241990 3C013F80 */ lui $at, 0x3f80 +/* C48574 80241994 44810000 */ mtc1 $at, $f0 +/* C48578 80241998 3C014000 */ lui $at, 0x4000 +/* C4857C 8024199C 44811000 */ mtc1 $at, $f2 +/* C48580 802419A0 3C01C1A0 */ lui $at, 0xc1a0 +/* C48584 802419A4 44812000 */ mtc1 $at, $f4 +/* C48588 802419A8 44834000 */ mtc1 $v1, $f8 +/* C4858C 802419AC 00000000 */ nop +/* C48590 802419B0 46804220 */ cvt.s.w $f8, $f8 +/* C48594 802419B4 44074000 */ mfc1 $a3, $f8 +/* C48598 802419B8 27A20038 */ addiu $v0, $sp, 0x38 +/* C4859C 802419BC AFB2001C */ sw $s2, 0x1c($sp) +/* C485A0 802419C0 AFA20020 */ sw $v0, 0x20($sp) +/* C485A4 802419C4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C485A8 802419C8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C485AC 802419CC 0C01BFA4 */ jal fx_emote +/* C485B0 802419D0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C485B4 802419D4 0200202D */ daddu $a0, $s0, $zero +/* C485B8 802419D8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C485BC 802419DC C480003C */ lwc1 $f0, 0x3c($a0) +/* C485C0 802419E0 3C060020 */ lui $a2, 0x20 +/* C485C4 802419E4 0C012530 */ jal func_800494C0 +/* C485C8 802419E8 E4800064 */ swc1 $f0, 0x64($a0) +/* C485CC 802419EC 8E220018 */ lw $v0, 0x18($s1) +/* C485D0 802419F0 9442002A */ lhu $v0, 0x2a($v0) +/* C485D4 802419F4 30420001 */ andi $v0, $v0, 1 +/* C485D8 802419F8 10400003 */ beqz $v0, .L80241A08 +/* C485DC 802419FC 2402000A */ addiu $v0, $zero, 0xa +/* C485E0 80241A00 080906F2 */ j .L80241BC8 +/* C485E4 80241A04 AE620070 */ sw $v0, 0x70($s3) +.L80241A08: +/* C485E8 80241A08 080906F2 */ j .L80241BC8 +/* C485EC 80241A0C AE720070 */ sw $s2, 0x70($s3) +.L80241A10: +/* C485F0 80241A10 8E620074 */ lw $v0, 0x74($s3) +/* C485F4 80241A14 2442FFFF */ addiu $v0, $v0, -1 +.L80241A18: +/* C485F8 80241A18 08090689 */ j .L80241A24 +/* C485FC 80241A1C AE620074 */ sw $v0, 0x74($s3) +.L80241A20: +/* C48600 80241A20 AE220090 */ sw $v0, 0x90($s1) +.L80241A24: +/* C48604 80241A24 8E2300D0 */ lw $v1, 0xd0($s1) +/* C48608 80241A28 C6000040 */ lwc1 $f0, 0x40($s0) +/* C4860C 80241A2C C4620000 */ lwc1 $f2, ($v1) +/* C48610 80241A30 468010A0 */ cvt.s.w $f2, $f2 +/* C48614 80241A34 C4640008 */ lwc1 $f4, 8($v1) +/* C48618 80241A38 46802120 */ cvt.s.w $f4, $f4 +/* C4861C 80241A3C E7A00010 */ swc1 $f0, 0x10($sp) +/* C48620 80241A40 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48624 80241A44 44051000 */ mfc1 $a1, $f2 +/* C48628 80241A48 C440000C */ lwc1 $f0, 0xc($v0) +/* C4862C 80241A4C 46800020 */ cvt.s.w $f0, $f0 +/* C48630 80241A50 E7A00014 */ swc1 $f0, 0x14($sp) +/* C48634 80241A54 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48638 80241A58 44062000 */ mfc1 $a2, $f4 +/* C4863C 80241A5C C4400010 */ lwc1 $f0, 0x10($v0) +/* C48640 80241A60 46800020 */ cvt.s.w $f0, $f0 +/* C48644 80241A64 E7A00018 */ swc1 $f0, 0x18($sp) +/* C48648 80241A68 8C640018 */ lw $a0, 0x18($v1) +/* C4864C 80241A6C 0C0123F5 */ jal is_point_within_region +/* C48650 80241A70 8E070038 */ lw $a3, 0x38($s0) +/* C48654 80241A74 1040001A */ beqz $v0, .L80241AE0 +/* C48658 80241A78 00000000 */ nop +/* C4865C 80241A7C 8E060038 */ lw $a2, 0x38($s0) +/* C48660 80241A80 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48664 80241A84 8E070040 */ lw $a3, 0x40($s0) +/* C48668 80241A88 C44C0000 */ lwc1 $f12, ($v0) +/* C4866C 80241A8C 46806320 */ cvt.s.w $f12, $f12 +/* C48670 80241A90 C44E0008 */ lwc1 $f14, 8($v0) +/* C48674 80241A94 0C00A7B5 */ jal dist2D +/* C48678 80241A98 468073A0 */ cvt.s.w $f14, $f14 +/* C4867C 80241A9C C6020018 */ lwc1 $f2, 0x18($s0) +/* C48680 80241AA0 4600103C */ c.lt.s $f2, $f0 +/* C48684 80241AA4 00000000 */ nop +/* C48688 80241AA8 4500000D */ bc1f .L80241AE0 +/* C4868C 80241AAC E7A00034 */ swc1 $f0, 0x34($sp) +/* C48690 80241AB0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C48694 80241AB4 8E2200D0 */ lw $v0, 0xd0($s1) +/* C48698 80241AB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C4869C 80241ABC C4480000 */ lwc1 $f8, ($v0) +/* C486A0 80241AC0 46804220 */ cvt.s.w $f8, $f8 +/* C486A4 80241AC4 44064000 */ mfc1 $a2, $f8 +/* C486A8 80241AC8 C4480008 */ lwc1 $f8, 8($v0) +/* C486AC 80241ACC 46804220 */ cvt.s.w $f8, $f8 +/* C486B0 80241AD0 44074000 */ mfc1 $a3, $f8 +/* C486B4 80241AD4 0C00A720 */ jal atan2 +/* C486B8 80241AD8 24140001 */ addiu $s4, $zero, 1 +/* C486BC 80241ADC E600000C */ swc1 $f0, 0xc($s0) +.L80241AE0: +/* C486C0 80241AE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C486C4 80241AE4 8C43000C */ lw $v1, 0xc($v0) +/* C486C8 80241AE8 8C420010 */ lw $v0, 0x10($v0) +/* C486CC 80241AEC 00621825 */ or $v1, $v1, $v0 +/* C486D0 80241AF0 00741825 */ or $v1, $v1, $s4 +/* C486D4 80241AF4 10600008 */ beqz $v1, .L80241B18 +/* C486D8 80241AF8 00000000 */ nop +/* C486DC 80241AFC 8602008C */ lh $v0, 0x8c($s0) +/* C486E0 80241B00 14400031 */ bnez $v0, .L80241BC8 +/* C486E4 80241B04 00000000 */ nop +/* C486E8 80241B08 8E050018 */ lw $a1, 0x18($s0) +/* C486EC 80241B0C 8E06000C */ lw $a2, 0xc($s0) +/* C486F0 80241B10 0C00EA95 */ jal npc_move_heading +/* C486F4 80241B14 0200202D */ daddu $a0, $s0, $zero +.L80241B18: +/* C486F8 80241B18 C600003C */ lwc1 $f0, 0x3c($s0) +/* C486FC 80241B1C 3C014059 */ lui $at, 0x4059 +/* C48700 80241B20 44811800 */ mtc1 $at, $f3 +/* C48704 80241B24 44801000 */ mtc1 $zero, $f2 +/* C48708 80241B28 46000021 */ cvt.d.s $f0, $f0 +/* C4870C 80241B2C 46220002 */ mul.d $f0, $f0, $f2 +/* C48710 80241B30 00000000 */ nop +/* C48714 80241B34 4620020D */ trunc.w.d $f8, $f0 +/* C48718 80241B38 E628007C */ swc1 $f8, 0x7c($s1) +/* C4871C 80241B3C 8E420004 */ lw $v0, 4($s2) +/* C48720 80241B40 18400021 */ blez $v0, .L80241BC8 +/* C48724 80241B44 00000000 */ nop +/* C48728 80241B48 8602008E */ lh $v0, 0x8e($s0) +/* C4872C 80241B4C 9603008E */ lhu $v1, 0x8e($s0) +/* C48730 80241B50 18400005 */ blez $v0, .L80241B68 +/* C48734 80241B54 2462FFFF */ addiu $v0, $v1, -1 +/* C48738 80241B58 A602008E */ sh $v0, 0x8e($s0) +/* C4873C 80241B5C 00021400 */ sll $v0, $v0, 0x10 +/* C48740 80241B60 1C400019 */ bgtz $v0, .L80241BC8 +/* C48744 80241B64 00000000 */ nop +.L80241B68: +/* C48748 80241B68 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C4874C 80241B6C 24020002 */ addiu $v0, $zero, 2 +/* C48750 80241B70 0C00A67F */ jal rand_int +/* C48754 80241B74 AE620070 */ sw $v0, 0x70($s3) +/* C48758 80241B78 3C035555 */ lui $v1, 0x5555 +/* C4875C 80241B7C 34635556 */ ori $v1, $v1, 0x5556 +/* C48760 80241B80 00430018 */ mult $v0, $v1 +/* C48764 80241B84 000227C3 */ sra $a0, $v0, 0x1f +/* C48768 80241B88 00004010 */ mfhi $t0 +/* C4876C 80241B8C 01042023 */ subu $a0, $t0, $a0 +/* C48770 80241B90 00041840 */ sll $v1, $a0, 1 +/* C48774 80241B94 00641821 */ addu $v1, $v1, $a0 +/* C48778 80241B98 00431023 */ subu $v0, $v0, $v1 +/* C4877C 80241B9C 24430002 */ addiu $v1, $v0, 2 +/* C48780 80241BA0 AE630074 */ sw $v1, 0x74($s3) +/* C48784 80241BA4 8E42002C */ lw $v0, 0x2c($s2) +/* C48788 80241BA8 58400007 */ blezl $v0, .L80241BC8 +/* C4878C 80241BAC AE600070 */ sw $zero, 0x70($s3) +/* C48790 80241BB0 8E420008 */ lw $v0, 8($s2) +/* C48794 80241BB4 18400003 */ blez $v0, .L80241BC4 +/* C48798 80241BB8 28620003 */ slti $v0, $v1, 3 +/* C4879C 80241BBC 10400002 */ beqz $v0, .L80241BC8 +/* C487A0 80241BC0 00000000 */ nop +.L80241BC4: +/* C487A4 80241BC4 AE600070 */ sw $zero, 0x70($s3) +.L80241BC8: +/* C487A8 80241BC8 8FBF0058 */ lw $ra, 0x58($sp) +/* C487AC 80241BCC 8FB50054 */ lw $s5, 0x54($sp) +/* C487B0 80241BD0 8FB40050 */ lw $s4, 0x50($sp) +/* C487B4 80241BD4 8FB3004C */ lw $s3, 0x4c($sp) +/* C487B8 80241BD8 8FB20048 */ lw $s2, 0x48($sp) +/* C487BC 80241BDC 8FB10044 */ lw $s1, 0x44($sp) +/* C487C0 80241BE0 8FB00040 */ lw $s0, 0x40($sp) +/* C487C4 80241BE4 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C487C8 80241BE8 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C487CC 80241BEC D7B60068 */ ldc1 $f22, 0x68($sp) +/* C487D0 80241BF0 D7B40060 */ ldc1 $f20, 0x60($sp) +/* C487D4 80241BF4 03E00008 */ jr $ra +/* C487D8 80241BF8 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80241BFC.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241BFC.s new file mode 100644 index 0000000000..3f373c30d5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241BFC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BFC +/* C487DC 80241BFC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C487E0 80241C00 AFB3001C */ sw $s3, 0x1c($sp) +/* C487E4 80241C04 0080982D */ daddu $s3, $a0, $zero +/* C487E8 80241C08 AFBF0020 */ sw $ra, 0x20($sp) +/* C487EC 80241C0C AFB20018 */ sw $s2, 0x18($sp) +/* C487F0 80241C10 AFB10014 */ sw $s1, 0x14($sp) +/* C487F4 80241C14 AFB00010 */ sw $s0, 0x10($sp) +/* C487F8 80241C18 8E720148 */ lw $s2, 0x148($s3) +/* C487FC 80241C1C 86440008 */ lh $a0, 8($s2) +/* C48800 80241C20 0C00EABB */ jal get_npc_unsafe +/* C48804 80241C24 00A0882D */ daddu $s1, $a1, $zero +/* C48808 80241C28 8E240008 */ lw $a0, 8($s1) +/* C4880C 80241C2C 0040802D */ daddu $s0, $v0, $zero +/* C48810 80241C30 00041FC2 */ srl $v1, $a0, 0x1f +/* C48814 80241C34 00832021 */ addu $a0, $a0, $v1 +/* C48818 80241C38 00042043 */ sra $a0, $a0, 1 +/* C4881C 80241C3C 0C00A67F */ jal rand_int +/* C48820 80241C40 24840001 */ addiu $a0, $a0, 1 +/* C48824 80241C44 8E230008 */ lw $v1, 8($s1) +/* C48828 80241C48 240400B4 */ addiu $a0, $zero, 0xb4 +/* C4882C 80241C4C 00032FC2 */ srl $a1, $v1, 0x1f +/* C48830 80241C50 00651821 */ addu $v1, $v1, $a1 +/* C48834 80241C54 00031843 */ sra $v1, $v1, 1 +/* C48838 80241C58 00621821 */ addu $v1, $v1, $v0 +/* C4883C 80241C5C 0C00A67F */ jal rand_int +/* C48840 80241C60 A603008E */ sh $v1, 0x8e($s0) +/* C48844 80241C64 C60C000C */ lwc1 $f12, 0xc($s0) +/* C48848 80241C68 44820000 */ mtc1 $v0, $f0 +/* C4884C 80241C6C 00000000 */ nop +/* C48850 80241C70 46800020 */ cvt.s.w $f0, $f0 +/* C48854 80241C74 46006300 */ add.s $f12, $f12, $f0 +/* C48858 80241C78 3C0142B4 */ lui $at, 0x42b4 +/* C4885C 80241C7C 44810000 */ mtc1 $at, $f0 +/* C48860 80241C80 0C00A6C9 */ jal clamp_angle +/* C48864 80241C84 46006301 */ sub.s $f12, $f12, $f0 +/* C48868 80241C88 E600000C */ swc1 $f0, 0xc($s0) +/* C4886C 80241C8C 8E4200CC */ lw $v0, 0xcc($s2) +/* C48870 80241C90 8C420000 */ lw $v0, ($v0) +/* C48874 80241C94 AE020028 */ sw $v0, 0x28($s0) +/* C48878 80241C98 24020003 */ addiu $v0, $zero, 3 +/* C4887C 80241C9C AE620070 */ sw $v0, 0x70($s3) +/* C48880 80241CA0 8FBF0020 */ lw $ra, 0x20($sp) +/* C48884 80241CA4 8FB3001C */ lw $s3, 0x1c($sp) +/* C48888 80241CA8 8FB20018 */ lw $s2, 0x18($sp) +/* C4888C 80241CAC 8FB10014 */ lw $s1, 0x14($sp) +/* C48890 80241CB0 8FB00010 */ lw $s0, 0x10($sp) +/* C48894 80241CB4 03E00008 */ jr $ra +/* C48898 80241CB8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80241CBC_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241CBC_C46BE0.s new file mode 100644 index 0000000000..5f6164e7d5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80241CBC_C46BE0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CBC_C4889C +/* C4889C 80241CBC 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C488A0 80241CC0 AFB3004C */ sw $s3, 0x4c($sp) +/* C488A4 80241CC4 0080982D */ daddu $s3, $a0, $zero +/* C488A8 80241CC8 AFBF0054 */ sw $ra, 0x54($sp) +/* C488AC 80241CCC AFB40050 */ sw $s4, 0x50($sp) +/* C488B0 80241CD0 AFB20048 */ sw $s2, 0x48($sp) +/* C488B4 80241CD4 AFB10044 */ sw $s1, 0x44($sp) +/* C488B8 80241CD8 AFB00040 */ sw $s0, 0x40($sp) +/* C488BC 80241CDC F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C488C0 80241CE0 F7B80068 */ sdc1 $f24, 0x68($sp) +/* C488C4 80241CE4 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C488C8 80241CE8 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C488CC 80241CEC 8E710148 */ lw $s1, 0x148($s3) +/* C488D0 80241CF0 00A0902D */ daddu $s2, $a1, $zero +/* C488D4 80241CF4 86240008 */ lh $a0, 8($s1) +/* C488D8 80241CF8 0C00EABB */ jal get_npc_unsafe +/* C488DC 80241CFC 00C0A02D */ daddu $s4, $a2, $zero +/* C488E0 80241D00 0040802D */ daddu $s0, $v0, $zero +/* C488E4 80241D04 C6200078 */ lwc1 $f0, 0x78($s1) +/* C488E8 80241D08 46800020 */ cvt.s.w $f0, $f0 +/* C488EC 80241D0C 46000021 */ cvt.d.s $f0, $f0 +/* C488F0 80241D10 3C014059 */ lui $at, 0x4059 +/* C488F4 80241D14 44811800 */ mtc1 $at, $f3 +/* C488F8 80241D18 44801000 */ mtc1 $zero, $f2 +/* C488FC 80241D1C 8602008E */ lh $v0, 0x8e($s0) +/* C48900 80241D20 9603008E */ lhu $v1, 0x8e($s0) +/* C48904 80241D24 46220003 */ div.d $f0, $f0, $f2 +/* C48908 80241D28 46200620 */ cvt.s.d $f24, $f0 +/* C4890C 80241D2C C6200088 */ lwc1 $f0, 0x88($s1) +/* C48910 80241D30 46800020 */ cvt.s.w $f0, $f0 +/* C48914 80241D34 46000021 */ cvt.d.s $f0, $f0 +/* C48918 80241D38 46220003 */ div.d $f0, $f0, $f2 +/* C4891C 80241D3C 46200020 */ cvt.s.d $f0, $f0 +/* C48920 80241D40 18400003 */ blez $v0, .L80241D50 +/* C48924 80241D44 4600C680 */ add.s $f26, $f24, $f0 +/* C48928 80241D48 2462FFFF */ addiu $v0, $v1, -1 +/* C4892C 80241D4C A602008E */ sh $v0, 0x8e($s0) +.L80241D50: +/* C48930 80241D50 8E220070 */ lw $v0, 0x70($s1) +/* C48934 80241D54 18400034 */ blez $v0, .L80241E28 +/* C48938 80241D58 00000000 */ nop +/* C4893C 80241D5C C62C0074 */ lwc1 $f12, 0x74($s1) +/* C48940 80241D60 46806320 */ cvt.s.w $f12, $f12 +/* C48944 80241D64 44820000 */ mtc1 $v0, $f0 +/* C48948 80241D68 00000000 */ nop +/* C4894C 80241D6C 46800020 */ cvt.s.w $f0, $f0 +/* C48950 80241D70 46000021 */ cvt.d.s $f0, $f0 +/* C48954 80241D74 46220003 */ div.d $f0, $f0, $f2 +/* C48958 80241D78 0C00A8BB */ jal sin_deg +/* C4895C 80241D7C 462005A0 */ cvt.s.d $f22, $f0 +/* C48960 80241D80 8E020000 */ lw $v0, ($s0) +/* C48964 80241D84 30420008 */ andi $v0, $v0, 8 +/* C48968 80241D88 10400003 */ beqz $v0, .L80241D98 +/* C4896C 80241D8C 46000506 */ mov.s $f20, $f0 +/* C48970 80241D90 08090776 */ j .L80241DD8 +/* C48974 80241D94 0000102D */ daddu $v0, $zero, $zero +.L80241D98: +/* C48978 80241D98 27A50028 */ addiu $a1, $sp, 0x28 +/* C4897C 80241D9C 27A6002C */ addiu $a2, $sp, 0x2c +/* C48980 80241DA0 C6000038 */ lwc1 $f0, 0x38($s0) +/* C48984 80241DA4 C602003C */ lwc1 $f2, 0x3c($s0) +/* C48988 80241DA8 C6040040 */ lwc1 $f4, 0x40($s0) +/* C4898C 80241DAC 3C01447A */ lui $at, 0x447a +/* C48990 80241DB0 44813000 */ mtc1 $at, $f6 +/* C48994 80241DB4 27A20034 */ addiu $v0, $sp, 0x34 +/* C48998 80241DB8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C4899C 80241DBC E7A2002C */ swc1 $f2, 0x2c($sp) +/* C489A0 80241DC0 E7A40030 */ swc1 $f4, 0x30($sp) +/* C489A4 80241DC4 E7A60034 */ swc1 $f6, 0x34($sp) +/* C489A8 80241DC8 AFA20010 */ sw $v0, 0x10($sp) +/* C489AC 80241DCC 8E040080 */ lw $a0, 0x80($s0) +/* C489B0 80241DD0 0C0372DF */ jal func_800DCB7C +/* C489B4 80241DD4 27A70030 */ addiu $a3, $sp, 0x30 +.L80241DD8: +/* C489B8 80241DD8 10400007 */ beqz $v0, .L80241DF8 +/* C489BC 80241DDC 00000000 */ nop +/* C489C0 80241DE0 4616A082 */ mul.s $f2, $f20, $f22 +/* C489C4 80241DE4 00000000 */ nop +/* C489C8 80241DE8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C489CC 80241DEC 46180000 */ add.s $f0, $f0, $f24 +/* C489D0 80241DF0 08090781 */ j .L80241E04 +/* C489D4 80241DF4 46020000 */ add.s $f0, $f0, $f2 +.L80241DF8: +/* C489D8 80241DF8 4616A002 */ mul.s $f0, $f20, $f22 +/* C489DC 80241DFC 00000000 */ nop +/* C489E0 80241E00 4600D000 */ add.s $f0, $f26, $f0 +.L80241E04: +/* C489E4 80241E04 E600003C */ swc1 $f0, 0x3c($s0) +/* C489E8 80241E08 8E220074 */ lw $v0, 0x74($s1) +/* C489EC 80241E0C 2442000A */ addiu $v0, $v0, 0xa +/* C489F0 80241E10 44826000 */ mtc1 $v0, $f12 +/* C489F4 80241E14 00000000 */ nop +/* C489F8 80241E18 0C00A6C9 */ jal clamp_angle +/* C489FC 80241E1C 46806320 */ cvt.s.w $f12, $f12 +/* C48A00 80241E20 4600020D */ trunc.w.s $f8, $f0 +/* C48A04 80241E24 E6280074 */ swc1 $f8, 0x74($s1) +.L80241E28: +/* C48A08 80241E28 8E220090 */ lw $v0, 0x90($s1) +/* C48A0C 80241E2C 1C400040 */ bgtz $v0, .L80241F30 +/* C48A10 80241E30 2442FFFF */ addiu $v0, $v0, -1 +/* C48A14 80241E34 860200A8 */ lh $v0, 0xa8($s0) +/* C48A18 80241E38 C600003C */ lwc1 $f0, 0x3c($s0) +/* C48A1C 80241E3C 44821000 */ mtc1 $v0, $f2 +/* C48A20 80241E40 00000000 */ nop +/* C48A24 80241E44 468010A0 */ cvt.s.w $f2, $f2 +/* C48A28 80241E48 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C48A2C 80241E4C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C48A30 80241E50 46020000 */ add.s $f0, $f0, $f2 +/* C48A34 80241E54 3C014024 */ lui $at, 0x4024 +/* C48A38 80241E58 44812800 */ mtc1 $at, $f5 +/* C48A3C 80241E5C 44802000 */ mtc1 $zero, $f4 +/* C48A40 80241E60 C442002C */ lwc1 $f2, 0x2c($v0) +/* C48A44 80241E64 46000021 */ cvt.d.s $f0, $f0 +/* C48A48 80241E68 46240000 */ add.d $f0, $f0, $f4 +/* C48A4C 80241E6C 460010A1 */ cvt.d.s $f2, $f2 +/* C48A50 80241E70 4620103C */ c.lt.d $f2, $f0 +/* C48A54 80241E74 00000000 */ nop +/* C48A58 80241E78 4500002E */ bc1f .L80241F34 +/* C48A5C 80241E7C 0280202D */ daddu $a0, $s4, $zero +/* C48A60 80241E80 24020001 */ addiu $v0, $zero, 1 +/* C48A64 80241E84 AFA20010 */ sw $v0, 0x10($sp) +/* C48A68 80241E88 8E460024 */ lw $a2, 0x24($s2) +/* C48A6C 80241E8C 8E470028 */ lw $a3, 0x28($s2) +/* C48A70 80241E90 0C01242D */ jal func_800490B4 +/* C48A74 80241E94 0220282D */ daddu $a1, $s1, $zero +/* C48A78 80241E98 10400026 */ beqz $v0, .L80241F34 +/* C48A7C 80241E9C 0000202D */ daddu $a0, $zero, $zero +/* C48A80 80241EA0 0200282D */ daddu $a1, $s0, $zero +/* C48A84 80241EA4 0000302D */ daddu $a2, $zero, $zero +/* C48A88 80241EA8 2412000C */ addiu $s2, $zero, 0xc +/* C48A8C 80241EAC 860300A8 */ lh $v1, 0xa8($s0) +/* C48A90 80241EB0 3C013F80 */ lui $at, 0x3f80 +/* C48A94 80241EB4 44810000 */ mtc1 $at, $f0 +/* C48A98 80241EB8 3C014000 */ lui $at, 0x4000 +/* C48A9C 80241EBC 44811000 */ mtc1 $at, $f2 +/* C48AA0 80241EC0 3C01C1A0 */ lui $at, 0xc1a0 +/* C48AA4 80241EC4 44812000 */ mtc1 $at, $f4 +/* C48AA8 80241EC8 44834000 */ mtc1 $v1, $f8 +/* C48AAC 80241ECC 00000000 */ nop +/* C48AB0 80241ED0 46804220 */ cvt.s.w $f8, $f8 +/* C48AB4 80241ED4 44074000 */ mfc1 $a3, $f8 +/* C48AB8 80241ED8 27A20038 */ addiu $v0, $sp, 0x38 +/* C48ABC 80241EDC AFB2001C */ sw $s2, 0x1c($sp) +/* C48AC0 80241EE0 AFA20020 */ sw $v0, 0x20($sp) +/* C48AC4 80241EE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C48AC8 80241EE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C48ACC 80241EEC 0C01BFA4 */ jal fx_emote +/* C48AD0 80241EF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C48AD4 80241EF4 0200202D */ daddu $a0, $s0, $zero +/* C48AD8 80241EF8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C48ADC 80241EFC C480003C */ lwc1 $f0, 0x3c($a0) +/* C48AE0 80241F00 3C060020 */ lui $a2, 0x20 +/* C48AE4 80241F04 0C012530 */ jal func_800494C0 +/* C48AE8 80241F08 E4800064 */ swc1 $f0, 0x64($a0) +/* C48AEC 80241F0C 8E220018 */ lw $v0, 0x18($s1) +/* C48AF0 80241F10 9442002A */ lhu $v0, 0x2a($v0) +/* C48AF4 80241F14 30420001 */ andi $v0, $v0, 1 +/* C48AF8 80241F18 10400003 */ beqz $v0, .L80241F28 +/* C48AFC 80241F1C 2402000A */ addiu $v0, $zero, 0xa +/* C48B00 80241F20 080907F4 */ j .L80241FD0 +/* C48B04 80241F24 AE620070 */ sw $v0, 0x70($s3) +.L80241F28: +/* C48B08 80241F28 080907F4 */ j .L80241FD0 +/* C48B0C 80241F2C AE720070 */ sw $s2, 0x70($s3) +.L80241F30: +/* C48B10 80241F30 AE220090 */ sw $v0, 0x90($s1) +.L80241F34: +/* C48B14 80241F34 8602008C */ lh $v0, 0x8c($s0) +/* C48B18 80241F38 14400025 */ bnez $v0, .L80241FD0 +/* C48B1C 80241F3C 00000000 */ nop +/* C48B20 80241F40 8602008E */ lh $v0, 0x8e($s0) +/* C48B24 80241F44 1C400022 */ bgtz $v0, .L80241FD0 +/* C48B28 80241F48 00000000 */ nop +/* C48B2C 80241F4C 8E620074 */ lw $v0, 0x74($s3) +/* C48B30 80241F50 2442FFFF */ addiu $v0, $v0, -1 +/* C48B34 80241F54 1840001D */ blez $v0, .L80241FCC +/* C48B38 80241F58 AE620074 */ sw $v0, 0x74($s3) +/* C48B3C 80241F5C 8E220018 */ lw $v0, 0x18($s1) +/* C48B40 80241F60 9442002A */ lhu $v0, 0x2a($v0) +/* C48B44 80241F64 30420010 */ andi $v0, $v0, 0x10 +/* C48B48 80241F68 14400007 */ bnez $v0, .L80241F88 +/* C48B4C 80241F6C 00000000 */ nop +/* C48B50 80241F70 C600000C */ lwc1 $f0, 0xc($s0) +/* C48B54 80241F74 3C014334 */ lui $at, 0x4334 +/* C48B58 80241F78 44816000 */ mtc1 $at, $f12 +/* C48B5C 80241F7C 0C00A6C9 */ jal clamp_angle +/* C48B60 80241F80 460C0300 */ add.s $f12, $f0, $f12 +/* C48B64 80241F84 E600000C */ swc1 $f0, 0xc($s0) +.L80241F88: +/* C48B68 80241F88 0C00A67F */ jal rand_int +/* C48B6C 80241F8C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C48B70 80241F90 3C032E8B */ lui $v1, 0x2e8b +/* C48B74 80241F94 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C48B78 80241F98 00430018 */ mult $v0, $v1 +/* C48B7C 80241F9C 00021FC3 */ sra $v1, $v0, 0x1f +/* C48B80 80241FA0 00004010 */ mfhi $t0 +/* C48B84 80241FA4 00082043 */ sra $a0, $t0, 1 +/* C48B88 80241FA8 00832023 */ subu $a0, $a0, $v1 +/* C48B8C 80241FAC 00041840 */ sll $v1, $a0, 1 +/* C48B90 80241FB0 00641821 */ addu $v1, $v1, $a0 +/* C48B94 80241FB4 00031880 */ sll $v1, $v1, 2 +/* C48B98 80241FB8 00641823 */ subu $v1, $v1, $a0 +/* C48B9C 80241FBC 00431023 */ subu $v0, $v0, $v1 +/* C48BA0 80241FC0 24420005 */ addiu $v0, $v0, 5 +/* C48BA4 80241FC4 080907F4 */ j .L80241FD0 +/* C48BA8 80241FC8 A602008E */ sh $v0, 0x8e($s0) +.L80241FCC: +/* C48BAC 80241FCC AE600070 */ sw $zero, 0x70($s3) +.L80241FD0: +/* C48BB0 80241FD0 8FBF0054 */ lw $ra, 0x54($sp) +/* C48BB4 80241FD4 8FB40050 */ lw $s4, 0x50($sp) +/* C48BB8 80241FD8 8FB3004C */ lw $s3, 0x4c($sp) +/* C48BBC 80241FDC 8FB20048 */ lw $s2, 0x48($sp) +/* C48BC0 80241FE0 8FB10044 */ lw $s1, 0x44($sp) +/* C48BC4 80241FE4 8FB00040 */ lw $s0, 0x40($sp) +/* C48BC8 80241FE8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C48BCC 80241FEC D7B80068 */ ldc1 $f24, 0x68($sp) +/* C48BD0 80241FF0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* C48BD4 80241FF4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C48BD8 80241FF8 03E00008 */ jr $ra +/* C48BDC 80241FFC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242000.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242000.s new file mode 100644 index 0000000000..17fc063dde --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242000.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242000 +/* C48BE0 80242000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C48BE4 80242004 AFB20018 */ sw $s2, 0x18($sp) +/* C48BE8 80242008 0080902D */ daddu $s2, $a0, $zero +/* C48BEC 8024200C AFBF001C */ sw $ra, 0x1c($sp) +/* C48BF0 80242010 AFB10014 */ sw $s1, 0x14($sp) +/* C48BF4 80242014 AFB00010 */ sw $s0, 0x10($sp) +/* C48BF8 80242018 8E510148 */ lw $s1, 0x148($s2) +/* C48BFC 8024201C 0C00EABB */ jal get_npc_unsafe +/* C48C00 80242020 86240008 */ lh $a0, 8($s1) +/* C48C04 80242024 0040802D */ daddu $s0, $v0, $zero +/* C48C08 80242028 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C48C0C 8024202C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C48C10 80242030 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C48C14 80242034 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C48C18 80242038 A600008E */ sh $zero, 0x8e($s0) +/* C48C1C 8024203C 8C460028 */ lw $a2, 0x28($v0) +/* C48C20 80242040 0C00A720 */ jal atan2 +/* C48C24 80242044 8C470030 */ lw $a3, 0x30($v0) +/* C48C28 80242048 E600000C */ swc1 $f0, 0xc($s0) +/* C48C2C 8024204C 8E2200CC */ lw $v0, 0xcc($s1) +/* C48C30 80242050 8C420020 */ lw $v0, 0x20($v0) +/* C48C34 80242054 AE020028 */ sw $v0, 0x28($s0) +/* C48C38 80242058 2402000B */ addiu $v0, $zero, 0xb +/* C48C3C 8024205C AE420070 */ sw $v0, 0x70($s2) +/* C48C40 80242060 8FBF001C */ lw $ra, 0x1c($sp) +/* C48C44 80242064 8FB20018 */ lw $s2, 0x18($sp) +/* C48C48 80242068 8FB10014 */ lw $s1, 0x14($sp) +/* C48C4C 8024206C 8FB00010 */ lw $s0, 0x10($sp) +/* C48C50 80242070 03E00008 */ jr $ra +/* C48C54 80242074 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242078_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242078_C46BE0.s new file mode 100644 index 0000000000..d2c07b3016 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242078_C46BE0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242078_C48C58 +/* C48C58 80242078 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C48C5C 8024207C AFB00010 */ sw $s0, 0x10($sp) +/* C48C60 80242080 0080802D */ daddu $s0, $a0, $zero +/* C48C64 80242084 AFBF0014 */ sw $ra, 0x14($sp) +/* C48C68 80242088 8E020148 */ lw $v0, 0x148($s0) +/* C48C6C 8024208C 0C00EABB */ jal get_npc_unsafe +/* C48C70 80242090 84440008 */ lh $a0, 8($v0) +/* C48C74 80242094 9443008E */ lhu $v1, 0x8e($v0) +/* C48C78 80242098 C440003C */ lwc1 $f0, 0x3c($v0) +/* C48C7C 8024209C 24640001 */ addiu $a0, $v1, 1 +/* C48C80 802420A0 00031C00 */ sll $v1, $v1, 0x10 +/* C48C84 802420A4 00031B83 */ sra $v1, $v1, 0xe +/* C48C88 802420A8 A444008E */ sh $a0, 0x8e($v0) +/* C48C8C 802420AC 3C018024 */ lui $at, 0x8024 +/* C48C90 802420B0 00230821 */ addu $at, $at, $v1 +/* C48C94 802420B4 C4224358 */ lwc1 $f2, 0x4358($at) +/* C48C98 802420B8 8443008E */ lh $v1, 0x8e($v0) +/* C48C9C 802420BC 46020000 */ add.s $f0, $f0, $f2 +/* C48CA0 802420C0 28630005 */ slti $v1, $v1, 5 +/* C48CA4 802420C4 14600003 */ bnez $v1, .L802420D4 +/* C48CA8 802420C8 E440003C */ swc1 $f0, 0x3c($v0) +/* C48CAC 802420CC 2402000C */ addiu $v0, $zero, 0xc +/* C48CB0 802420D0 AE020070 */ sw $v0, 0x70($s0) +.L802420D4: +/* C48CB4 802420D4 8FBF0014 */ lw $ra, 0x14($sp) +/* C48CB8 802420D8 8FB00010 */ lw $s0, 0x10($sp) +/* C48CBC 802420DC 03E00008 */ jr $ra +/* C48CC0 802420E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802420E4.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802420E4.s new file mode 100644 index 0000000000..0e062d085d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802420E4.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420E4 +/* C48CC4 802420E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C48CC8 802420E8 AFB3001C */ sw $s3, 0x1c($sp) +/* C48CCC 802420EC 0080982D */ daddu $s3, $a0, $zero +/* C48CD0 802420F0 AFBF0020 */ sw $ra, 0x20($sp) +/* C48CD4 802420F4 AFB20018 */ sw $s2, 0x18($sp) +/* C48CD8 802420F8 AFB10014 */ sw $s1, 0x14($sp) +/* C48CDC 802420FC AFB00010 */ sw $s0, 0x10($sp) +/* C48CE0 80242100 8E720148 */ lw $s2, 0x148($s3) +/* C48CE4 80242104 86440008 */ lh $a0, 8($s2) +/* C48CE8 80242108 0C00EABB */ jal get_npc_unsafe +/* C48CEC 8024210C 00A0802D */ daddu $s0, $a1, $zero +/* C48CF0 80242110 0040882D */ daddu $s1, $v0, $zero +/* C48CF4 80242114 C6420080 */ lwc1 $f2, 0x80($s2) +/* C48CF8 80242118 468010A0 */ cvt.s.w $f2, $f2 +/* C48CFC 8024211C 460010A1 */ cvt.d.s $f2, $f2 +/* C48D00 80242120 C6400084 */ lwc1 $f0, 0x84($s2) +/* C48D04 80242124 46800020 */ cvt.s.w $f0, $f0 +/* C48D08 80242128 46000021 */ cvt.d.s $f0, $f0 +/* C48D0C 8024212C 3C014059 */ lui $at, 0x4059 +/* C48D10 80242130 44812800 */ mtc1 $at, $f5 +/* C48D14 80242134 44802000 */ mtc1 $zero, $f4 +/* C48D18 80242138 8E4200CC */ lw $v0, 0xcc($s2) +/* C48D1C 8024213C C62C0038 */ lwc1 $f12, 0x38($s1) +/* C48D20 80242140 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C48D24 80242144 46241083 */ div.d $f2, $f2, $f4 +/* C48D28 80242148 462010A0 */ cvt.s.d $f2, $f2 +/* C48D2C 8024214C 46240003 */ div.d $f0, $f0, $f4 +/* C48D30 80242150 8C420020 */ lw $v0, 0x20($v0) +/* C48D34 80242154 46200020 */ cvt.s.d $f0, $f0 +/* C48D38 80242158 E622001C */ swc1 $f2, 0x1c($s1) +/* C48D3C 8024215C E6200014 */ swc1 $f0, 0x14($s1) +/* C48D40 80242160 AE220028 */ sw $v0, 0x28($s1) +/* C48D44 80242164 C6000018 */ lwc1 $f0, 0x18($s0) +/* C48D48 80242168 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C48D4C 8024216C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C48D50 80242170 E6200018 */ swc1 $f0, 0x18($s1) +/* C48D54 80242174 8C460028 */ lw $a2, 0x28($v0) +/* C48D58 80242178 0C00A720 */ jal atan2 +/* C48D5C 8024217C 8C470030 */ lw $a3, 0x30($v0) +/* C48D60 80242180 E620000C */ swc1 $f0, 0xc($s1) +/* C48D64 80242184 8E420018 */ lw $v0, 0x18($s2) +/* C48D68 80242188 AE400074 */ sw $zero, 0x74($s2) +/* C48D6C 8024218C 9442002A */ lhu $v0, 0x2a($v0) +/* C48D70 80242190 30420002 */ andi $v0, $v0, 2 +/* C48D74 80242194 10400005 */ beqz $v0, .L802421AC +/* C48D78 80242198 24020003 */ addiu $v0, $zero, 3 +/* C48D7C 8024219C A622008E */ sh $v0, 0x8e($s1) +/* C48D80 802421A0 2402000D */ addiu $v0, $zero, 0xd +/* C48D84 802421A4 0809087F */ j .L802421FC +/* C48D88 802421A8 AE620070 */ sw $v0, 0x70($s3) +.L802421AC: +/* C48D8C 802421AC 24030001 */ addiu $v1, $zero, 1 +/* C48D90 802421B0 2402000E */ addiu $v0, $zero, 0xe +/* C48D94 802421B4 A623008E */ sh $v1, 0x8e($s1) +/* C48D98 802421B8 AE620070 */ sw $v0, 0x70($s3) +/* C48D9C 802421BC C6200038 */ lwc1 $f0, 0x38($s1) +/* C48DA0 802421C0 4600018D */ trunc.w.s $f6, $f0 +/* C48DA4 802421C4 44023000 */ mfc1 $v0, $f6 +/* C48DA8 802421C8 00000000 */ nop +/* C48DAC 802421CC A6420010 */ sh $v0, 0x10($s2) +/* C48DB0 802421D0 C620003C */ lwc1 $f0, 0x3c($s1) +/* C48DB4 802421D4 4600018D */ trunc.w.s $f6, $f0 +/* C48DB8 802421D8 44023000 */ mfc1 $v0, $f6 +/* C48DBC 802421DC 00000000 */ nop +/* C48DC0 802421E0 A6420012 */ sh $v0, 0x12($s2) +/* C48DC4 802421E4 C6200040 */ lwc1 $f0, 0x40($s1) +/* C48DC8 802421E8 A2430007 */ sb $v1, 7($s2) +/* C48DCC 802421EC 4600018D */ trunc.w.s $f6, $f0 +/* C48DD0 802421F0 44023000 */ mfc1 $v0, $f6 +/* C48DD4 802421F4 00000000 */ nop +/* C48DD8 802421F8 A6420014 */ sh $v0, 0x14($s2) +.L802421FC: +/* C48DDC 802421FC 8FBF0020 */ lw $ra, 0x20($sp) +/* C48DE0 80242200 8FB3001C */ lw $s3, 0x1c($sp) +/* C48DE4 80242204 8FB20018 */ lw $s2, 0x18($sp) +/* C48DE8 80242208 8FB10014 */ lw $s1, 0x14($sp) +/* C48DEC 8024220C 8FB00010 */ lw $s0, 0x10($sp) +/* C48DF0 80242210 03E00008 */ jr $ra +/* C48DF4 80242214 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242218.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242218.s new file mode 100644 index 0000000000..c96d0d35d3 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242218.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242218 +/* C48DF8 80242218 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C48DFC 8024221C AFB00010 */ sw $s0, 0x10($sp) +/* C48E00 80242220 0080802D */ daddu $s0, $a0, $zero +/* C48E04 80242224 AFBF0014 */ sw $ra, 0x14($sp) +/* C48E08 80242228 8E020148 */ lw $v0, 0x148($s0) +/* C48E0C 8024222C 0C00EABB */ jal get_npc_unsafe +/* C48E10 80242230 84440008 */ lh $a0, 8($v0) +/* C48E14 80242234 0040202D */ daddu $a0, $v0, $zero +/* C48E18 80242238 8482008E */ lh $v0, 0x8e($a0) +/* C48E1C 8024223C 9483008E */ lhu $v1, 0x8e($a0) +/* C48E20 80242240 18400005 */ blez $v0, .L80242258 +/* C48E24 80242244 2462FFFF */ addiu $v0, $v1, -1 +/* C48E28 80242248 A482008E */ sh $v0, 0x8e($a0) +/* C48E2C 8024224C 00021400 */ sll $v0, $v0, 0x10 +/* C48E30 80242250 1C400006 */ bgtz $v0, .L8024226C +/* C48E34 80242254 00000000 */ nop +.L80242258: +/* C48E38 80242258 8482008C */ lh $v0, 0x8c($a0) +/* C48E3C 8024225C 14400003 */ bnez $v0, .L8024226C +/* C48E40 80242260 2402000E */ addiu $v0, $zero, 0xe +/* C48E44 80242264 A480008E */ sh $zero, 0x8e($a0) +/* C48E48 80242268 AE020070 */ sw $v0, 0x70($s0) +.L8024226C: +/* C48E4C 8024226C 8FBF0014 */ lw $ra, 0x14($sp) +/* C48E50 80242270 8FB00010 */ lw $s0, 0x10($sp) +/* C48E54 80242274 03E00008 */ jr $ra +/* C48E58 80242278 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_8024227C.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024227C.s new file mode 100644 index 0000000000..184e4ec99b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024227C.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024227C +/* C48E5C 8024227C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C48E60 80242280 AFB20030 */ sw $s2, 0x30($sp) +/* C48E64 80242284 0080902D */ daddu $s2, $a0, $zero +/* C48E68 80242288 AFBF0038 */ sw $ra, 0x38($sp) +/* C48E6C 8024228C AFB30034 */ sw $s3, 0x34($sp) +/* C48E70 80242290 AFB1002C */ sw $s1, 0x2c($sp) +/* C48E74 80242294 AFB00028 */ sw $s0, 0x28($sp) +/* C48E78 80242298 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C48E7C 8024229C F7B40040 */ sdc1 $f20, 0x40($sp) +/* C48E80 802422A0 8E510148 */ lw $s1, 0x148($s2) +/* C48E84 802422A4 86240008 */ lh $a0, 8($s1) +/* C48E88 802422A8 0C00EABB */ jal get_npc_unsafe +/* C48E8C 802422AC 00A0982D */ daddu $s3, $a1, $zero +/* C48E90 802422B0 0040802D */ daddu $s0, $v0, $zero +/* C48E94 802422B4 0200202D */ daddu $a0, $s0, $zero +/* C48E98 802422B8 C6220088 */ lwc1 $f2, 0x88($s1) +/* C48E9C 802422BC 468010A0 */ cvt.s.w $f2, $f2 +/* C48EA0 802422C0 460010A1 */ cvt.d.s $f2, $f2 +/* C48EA4 802422C4 C604001C */ lwc1 $f4, 0x1c($s0) +/* C48EA8 802422C8 C6000014 */ lwc1 $f0, 0x14($s0) +/* C48EAC 802422CC 8E050018 */ lw $a1, 0x18($s0) +/* C48EB0 802422D0 46002100 */ add.s $f4, $f4, $f0 +/* C48EB4 802422D4 8E06000C */ lw $a2, 0xc($s0) +/* C48EB8 802422D8 C6200078 */ lwc1 $f0, 0x78($s1) +/* C48EBC 802422DC 46800020 */ cvt.s.w $f0, $f0 +/* C48EC0 802422E0 E604001C */ swc1 $f4, 0x1c($s0) +/* C48EC4 802422E4 3C014059 */ lui $at, 0x4059 +/* C48EC8 802422E8 44812800 */ mtc1 $at, $f5 +/* C48ECC 802422EC 44802000 */ mtc1 $zero, $f4 +/* C48ED0 802422F0 46000021 */ cvt.d.s $f0, $f0 +/* C48ED4 802422F4 46240003 */ div.d $f0, $f0, $f4 +/* C48ED8 802422F8 46200520 */ cvt.s.d $f20, $f0 +/* C48EDC 802422FC 46241083 */ div.d $f2, $f2, $f4 +/* C48EE0 80242300 0C00EA95 */ jal npc_move_heading +/* C48EE4 80242304 462015A0 */ cvt.s.d $f22, $f2 +/* C48EE8 80242308 C604001C */ lwc1 $f4, 0x1c($s0) +/* C48EEC 8024230C 44801000 */ mtc1 $zero, $f2 +/* C48EF0 80242310 44801800 */ mtc1 $zero, $f3 +/* C48EF4 80242314 46002021 */ cvt.d.s $f0, $f4 +/* C48EF8 80242318 4620103E */ c.le.d $f2, $f0 +/* C48EFC 8024231C 00000000 */ nop +/* C48F00 80242320 45000030 */ bc1f .L802423E4 +/* C48F04 80242324 00000000 */ nop +/* C48F08 80242328 C600003C */ lwc1 $f0, 0x3c($s0) +/* C48F0C 8024232C 46040000 */ add.s $f0, $f0, $f4 +/* C48F10 80242330 E600003C */ swc1 $f0, 0x3c($s0) +/* C48F14 80242334 8E2200CC */ lw $v0, 0xcc($s1) +/* C48F18 80242338 8C420024 */ lw $v0, 0x24($v0) +/* C48F1C 8024233C AE020028 */ sw $v0, 0x28($s0) +/* C48F20 80242340 A2200007 */ sb $zero, 7($s1) +/* C48F24 80242344 8E020000 */ lw $v0, ($s0) +/* C48F28 80242348 30420008 */ andi $v0, $v0, 8 +/* C48F2C 8024234C 14400011 */ bnez $v0, .L80242394 +/* C48F30 80242350 0000102D */ daddu $v0, $zero, $zero +/* C48F34 80242354 27A50018 */ addiu $a1, $sp, 0x18 +/* C48F38 80242358 27A6001C */ addiu $a2, $sp, 0x1c +/* C48F3C 8024235C C6000038 */ lwc1 $f0, 0x38($s0) +/* C48F40 80242360 C602003C */ lwc1 $f2, 0x3c($s0) +/* C48F44 80242364 C6040040 */ lwc1 $f4, 0x40($s0) +/* C48F48 80242368 3C01447A */ lui $at, 0x447a +/* C48F4C 8024236C 44813000 */ mtc1 $at, $f6 +/* C48F50 80242370 27A20024 */ addiu $v0, $sp, 0x24 +/* C48F54 80242374 E7A00018 */ swc1 $f0, 0x18($sp) +/* C48F58 80242378 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C48F5C 8024237C E7A40020 */ swc1 $f4, 0x20($sp) +/* C48F60 80242380 E7A60024 */ swc1 $f6, 0x24($sp) +/* C48F64 80242384 AFA20010 */ sw $v0, 0x10($sp) +/* C48F68 80242388 8E040080 */ lw $a0, 0x80($s0) +/* C48F6C 8024238C 0C0372DF */ jal func_800DCB7C +/* C48F70 80242390 27A70020 */ addiu $a3, $sp, 0x20 +.L80242394: +/* C48F74 80242394 1040000B */ beqz $v0, .L802423C4 +/* C48F78 80242398 00000000 */ nop +/* C48F7C 8024239C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C48F80 802423A0 46140080 */ add.s $f2, $f0, $f20 +/* C48F84 802423A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* C48F88 802423A8 4600103E */ c.le.s $f2, $f0 +/* C48F8C 802423AC 00000000 */ nop +/* C48F90 802423B0 4500008D */ bc1f .L802425E8 +/* C48F94 802423B4 00000000 */ nop +/* C48F98 802423B8 E602003C */ swc1 $f2, 0x3c($s0) +/* C48F9C 802423BC 0809097A */ j .L802425E8 +/* C48FA0 802423C0 AE400070 */ sw $zero, 0x70($s2) +.L802423C4: +/* C48FA4 802423C4 C602003C */ lwc1 $f2, 0x3c($s0) +/* C48FA8 802423C8 C6000064 */ lwc1 $f0, 0x64($s0) +/* C48FAC 802423CC 4602003E */ c.le.s $f0, $f2 +/* C48FB0 802423D0 00000000 */ nop +/* C48FB4 802423D4 45030084 */ bc1tl .L802425E8 +/* C48FB8 802423D8 AE400070 */ sw $zero, 0x70($s2) +/* C48FBC 802423DC 0809097A */ j .L802425E8 +/* C48FC0 802423E0 00000000 */ nop +.L802423E4: +/* C48FC4 802423E4 4622003C */ c.lt.d $f0, $f2 +/* C48FC8 802423E8 00000000 */ nop +/* C48FCC 802423EC 4500007E */ bc1f .L802425E8 +/* C48FD0 802423F0 00000000 */ nop +/* C48FD4 802423F4 9602008E */ lhu $v0, 0x8e($s0) +/* C48FD8 802423F8 24420001 */ addiu $v0, $v0, 1 +/* C48FDC 802423FC A602008E */ sh $v0, 0x8e($s0) +/* C48FE0 80242400 00021400 */ sll $v0, $v0, 0x10 +/* C48FE4 80242404 8E630020 */ lw $v1, 0x20($s3) +/* C48FE8 80242408 00021403 */ sra $v0, $v0, 0x10 +/* C48FEC 8024240C 0043102A */ slt $v0, $v0, $v1 +/* C48FF0 80242410 14400026 */ bnez $v0, .L802424AC +/* C48FF4 80242414 00000000 */ nop +/* C48FF8 80242418 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C48FFC 8024241C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C49000 80242420 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C49004 80242424 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C49008 80242428 A600008E */ sh $zero, 0x8e($s0) +/* C4900C 8024242C 8C460028 */ lw $a2, 0x28($v0) +/* C49010 80242430 0C00A720 */ jal atan2 +/* C49014 80242434 8C470030 */ lw $a3, 0x30($v0) +/* C49018 80242438 46000506 */ mov.s $f20, $f0 +/* C4901C 8024243C C60C000C */ lwc1 $f12, 0xc($s0) +/* C49020 80242440 0C00A70A */ jal get_clamped_angle_diff +/* C49024 80242444 4600A386 */ mov.s $f14, $f20 +/* C49028 80242448 46000086 */ mov.s $f2, $f0 +/* C4902C 8024244C 8E62001C */ lw $v0, 0x1c($s3) +/* C49030 80242450 46001005 */ abs.s $f0, $f2 +/* C49034 80242454 44822000 */ mtc1 $v0, $f4 +/* C49038 80242458 00000000 */ nop +/* C4903C 8024245C 46802120 */ cvt.s.w $f4, $f4 +/* C49040 80242460 4600203C */ c.lt.s $f4, $f0 +/* C49044 80242464 00000000 */ nop +/* C49048 80242468 4500000D */ bc1f .L802424A0 +/* C4904C 8024246C 00000000 */ nop +/* C49050 80242470 44800000 */ mtc1 $zero, $f0 +/* C49054 80242474 C614000C */ lwc1 $f20, 0xc($s0) +/* C49058 80242478 4600103C */ c.lt.s $f2, $f0 +/* C4905C 8024247C 00000000 */ nop +/* C49060 80242480 45000006 */ bc1f .L8024249C +/* C49064 80242484 00021023 */ negu $v0, $v0 +/* C49068 80242488 44820000 */ mtc1 $v0, $f0 +/* C4906C 8024248C 00000000 */ nop +/* C49070 80242490 46800020 */ cvt.s.w $f0, $f0 +/* C49074 80242494 08090928 */ j .L802424A0 +/* C49078 80242498 4600A500 */ add.s $f20, $f20, $f0 +.L8024249C: +/* C4907C 8024249C 4604A500 */ add.s $f20, $f20, $f4 +.L802424A0: +/* C49080 802424A0 0C00A6C9 */ jal clamp_angle +/* C49084 802424A4 4600A306 */ mov.s $f12, $f20 +/* C49088 802424A8 E600000C */ swc1 $f0, 0xc($s0) +.L802424AC: +/* C4908C 802424AC 8E020000 */ lw $v0, ($s0) +/* C49090 802424B0 30420008 */ andi $v0, $v0, 8 +/* C49094 802424B4 1040000A */ beqz $v0, .L802424E0 +/* C49098 802424B8 27A50018 */ addiu $a1, $sp, 0x18 +/* C4909C 802424BC C602003C */ lwc1 $f2, 0x3c($s0) +/* C490A0 802424C0 C600001C */ lwc1 $f0, 0x1c($s0) +/* C490A4 802424C4 46001080 */ add.s $f2, $f2, $f0 +/* C490A8 802424C8 4616103C */ c.lt.s $f2, $f22 +/* C490AC 802424CC 00000000 */ nop +/* C490B0 802424D0 45020045 */ bc1fl .L802425E8 +/* C490B4 802424D4 E602003C */ swc1 $f2, 0x3c($s0) +/* C490B8 802424D8 08090979 */ j .L802425E4 +/* C490BC 802424DC E616003C */ swc1 $f22, 0x3c($s0) +.L802424E0: +/* C490C0 802424E0 C6000038 */ lwc1 $f0, 0x38($s0) +/* C490C4 802424E4 27A6001C */ addiu $a2, $sp, 0x1c +/* C490C8 802424E8 E7A00018 */ swc1 $f0, 0x18($sp) +/* C490CC 802424EC 860200A8 */ lh $v0, 0xa8($s0) +/* C490D0 802424F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* C490D4 802424F4 C604003C */ lwc1 $f4, 0x3c($s0) +/* C490D8 802424F8 44821000 */ mtc1 $v0, $f2 +/* C490DC 802424FC 00000000 */ nop +/* C490E0 80242500 468010A0 */ cvt.s.w $f2, $f2 +/* C490E4 80242504 46000005 */ abs.s $f0, $f0 +/* C490E8 80242508 46020000 */ add.s $f0, $f0, $f2 +/* C490EC 8024250C C6060040 */ lwc1 $f6, 0x40($s0) +/* C490F0 80242510 27A20024 */ addiu $v0, $sp, 0x24 +/* C490F4 80242514 46022100 */ add.s $f4, $f4, $f2 +/* C490F8 80242518 3C014024 */ lui $at, 0x4024 +/* C490FC 8024251C 44811800 */ mtc1 $at, $f3 +/* C49100 80242520 44801000 */ mtc1 $zero, $f2 +/* C49104 80242524 46000021 */ cvt.d.s $f0, $f0 +/* C49108 80242528 46220000 */ add.d $f0, $f0, $f2 +/* C4910C 8024252C E7A60020 */ swc1 $f6, 0x20($sp) +/* C49110 80242530 E7A4001C */ swc1 $f4, 0x1c($sp) +/* C49114 80242534 46200020 */ cvt.s.d $f0, $f0 +/* C49118 80242538 E7A00024 */ swc1 $f0, 0x24($sp) +/* C4911C 8024253C AFA20010 */ sw $v0, 0x10($sp) +/* C49120 80242540 8E040080 */ lw $a0, 0x80($s0) +/* C49124 80242544 0C0372DF */ jal func_800DCB7C +/* C49128 80242548 27A70020 */ addiu $a3, $sp, 0x20 +/* C4912C 8024254C 10400015 */ beqz $v0, .L802425A4 +/* C49130 80242550 00000000 */ nop +/* C49134 80242554 860200A8 */ lh $v0, 0xa8($s0) +/* C49138 80242558 C604001C */ lwc1 $f4, 0x1c($s0) +/* C4913C 8024255C 44820000 */ mtc1 $v0, $f0 +/* C49140 80242560 00000000 */ nop +/* C49144 80242564 46800020 */ cvt.s.w $f0, $f0 +/* C49148 80242568 46002085 */ abs.s $f2, $f4 +/* C4914C 8024256C 46020000 */ add.s $f0, $f0, $f2 +/* C49150 80242570 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C49154 80242574 4600103E */ c.le.s $f2, $f0 +/* C49158 80242578 00000000 */ nop +/* C4915C 8024257C 45000005 */ bc1f .L80242594 +/* C49160 80242580 00000000 */ nop +/* C49164 80242584 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C49168 80242588 AE00001C */ sw $zero, 0x1c($s0) +/* C4916C 8024258C 0809097A */ j .L802425E8 +/* C49170 80242590 E600003C */ swc1 $f0, 0x3c($s0) +.L80242594: +/* C49174 80242594 C600003C */ lwc1 $f0, 0x3c($s0) +/* C49178 80242598 46040000 */ add.s $f0, $f0, $f4 +/* C4917C 8024259C 0809097A */ j .L802425E8 +/* C49180 802425A0 E600003C */ swc1 $f0, 0x3c($s0) +.L802425A4: +/* C49184 802425A4 C606003C */ lwc1 $f6, 0x3c($s0) +/* C49188 802425A8 860200A8 */ lh $v0, 0xa8($s0) +/* C4918C 802425AC 46163081 */ sub.s $f2, $f6, $f22 +/* C49190 802425B0 44820000 */ mtc1 $v0, $f0 +/* C49194 802425B4 00000000 */ nop +/* C49198 802425B8 46800020 */ cvt.s.w $f0, $f0 +/* C4919C 802425BC 46001080 */ add.s $f2, $f2, $f0 +/* C491A0 802425C0 C604001C */ lwc1 $f4, 0x1c($s0) +/* C491A4 802425C4 46002005 */ abs.s $f0, $f4 +/* C491A8 802425C8 4602003C */ c.lt.s $f0, $f2 +/* C491AC 802425CC 00000000 */ nop +/* C491B0 802425D0 45020005 */ bc1fl .L802425E8 +/* C491B4 802425D4 AE00001C */ sw $zero, 0x1c($s0) +/* C491B8 802425D8 46043000 */ add.s $f0, $f6, $f4 +/* C491BC 802425DC 0809097A */ j .L802425E8 +/* C491C0 802425E0 E600003C */ swc1 $f0, 0x3c($s0) +.L802425E4: +/* C491C4 802425E4 AE00001C */ sw $zero, 0x1c($s0) +.L802425E8: +/* C491C8 802425E8 8FBF0038 */ lw $ra, 0x38($sp) +/* C491CC 802425EC 8FB30034 */ lw $s3, 0x34($sp) +/* C491D0 802425F0 8FB20030 */ lw $s2, 0x30($sp) +/* C491D4 802425F4 8FB1002C */ lw $s1, 0x2c($sp) +/* C491D8 802425F8 8FB00028 */ lw $s0, 0x28($sp) +/* C491DC 802425FC D7B60048 */ ldc1 $f22, 0x48($sp) +/* C491E0 80242600 D7B40040 */ ldc1 $f20, 0x40($sp) +/* C491E4 80242604 03E00008 */ jr $ra +/* C491E8 80242608 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_8024260C_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024260C_C46BE0.s new file mode 100644 index 0000000000..ee2d2cf4fb --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024260C_C46BE0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024260C_C491EC +/* C491EC 8024260C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C491F0 80242610 AFB00028 */ sw $s0, 0x28($sp) +/* C491F4 80242614 00A0802D */ daddu $s0, $a1, $zero +/* C491F8 80242618 AFB1002C */ sw $s1, 0x2c($sp) +/* C491FC 8024261C 00C0882D */ daddu $s1, $a2, $zero +/* C49200 80242620 AFBF0034 */ sw $ra, 0x34($sp) +/* C49204 80242624 AFB20030 */ sw $s2, 0x30($sp) +/* C49208 80242628 AE200070 */ sw $zero, 0x70($s1) +/* C4920C 8024262C 8C830000 */ lw $v1, ($a0) +/* C49210 80242630 2402FDFF */ addiu $v0, $zero, -0x201 +/* C49214 80242634 A480008E */ sh $zero, 0x8e($a0) +/* C49218 80242638 00621824 */ and $v1, $v1, $v0 +/* C4921C 8024263C 34650800 */ ori $a1, $v1, 0x800 +/* C49220 80242640 AC850000 */ sw $a1, ($a0) +/* C49224 80242644 8E0200D0 */ lw $v0, 0xd0($s0) +/* C49228 80242648 8C420034 */ lw $v0, 0x34($v0) +/* C4922C 8024264C 10400003 */ beqz $v0, .L8024265C +/* C49230 80242650 00E0902D */ daddu $s2, $a3, $zero +/* C49234 80242654 08090999 */ j .L80242664 +/* C49238 80242658 34620808 */ ori $v0, $v1, 0x808 +.L8024265C: +/* C4923C 8024265C 2402FFF7 */ addiu $v0, $zero, -9 +/* C49240 80242660 00A21024 */ and $v0, $a1, $v0 +.L80242664: +/* C49244 80242664 AC820000 */ sw $v0, ($a0) +/* C49248 80242668 27A20024 */ addiu $v0, $sp, 0x24 +/* C4924C 8024266C 27A50018 */ addiu $a1, $sp, 0x18 +/* C49250 80242670 C4800038 */ lwc1 $f0, 0x38($a0) +/* C49254 80242674 C482003C */ lwc1 $f2, 0x3c($a0) +/* C49258 80242678 C4840040 */ lwc1 $f4, 0x40($a0) +/* C4925C 8024267C 3C01447A */ lui $at, 0x447a +/* C49260 80242680 44813000 */ mtc1 $at, $f6 +/* C49264 80242684 27A6001C */ addiu $a2, $sp, 0x1c +/* C49268 80242688 E7A00018 */ swc1 $f0, 0x18($sp) +/* C4926C 8024268C E7A2001C */ swc1 $f2, 0x1c($sp) +/* C49270 80242690 E7A40020 */ swc1 $f4, 0x20($sp) +/* C49274 80242694 E7A60024 */ swc1 $f6, 0x24($sp) +/* C49278 80242698 AFA20010 */ sw $v0, 0x10($sp) +/* C4927C 8024269C 8C840080 */ lw $a0, 0x80($a0) +/* C49280 802426A0 0C0372DF */ jal func_800DCB7C +/* C49284 802426A4 27A70020 */ addiu $a3, $sp, 0x20 +/* C49288 802426A8 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C4928C 802426AC 3C014059 */ lui $at, 0x4059 +/* C49290 802426B0 44812800 */ mtc1 $at, $f5 +/* C49294 802426B4 44802000 */ mtc1 $zero, $f4 +/* C49298 802426B8 460010A1 */ cvt.d.s $f2, $f2 +/* C4929C 802426BC 46241082 */ mul.d $f2, $f2, $f4 +/* C492A0 802426C0 00000000 */ nop +/* C492A4 802426C4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C492A8 802426C8 46000021 */ cvt.d.s $f0, $f0 +/* C492AC 802426CC 46240002 */ mul.d $f0, $f0, $f4 +/* C492B0 802426D0 00000000 */ nop +/* C492B4 802426D4 3C013FE0 */ lui $at, 0x3fe0 +/* C492B8 802426D8 44812800 */ mtc1 $at, $f5 +/* C492BC 802426DC 44802000 */ mtc1 $zero, $f4 +/* C492C0 802426E0 00000000 */ nop +/* C492C4 802426E4 46241080 */ add.d $f2, $f2, $f4 +/* C492C8 802426E8 AE000074 */ sw $zero, 0x74($s0) +/* C492CC 802426EC 46240000 */ add.d $f0, $f0, $f4 +/* C492D0 802426F0 AE000090 */ sw $zero, 0x90($s0) +/* C492D4 802426F4 4620120D */ trunc.w.d $f8, $f2 +/* C492D8 802426F8 E6080078 */ swc1 $f8, 0x78($s0) +/* C492DC 802426FC 4620020D */ trunc.w.d $f8, $f0 +/* C492E0 80242700 E6080088 */ swc1 $f8, 0x88($s0) +/* C492E4 80242704 8E420014 */ lw $v0, 0x14($s2) +/* C492E8 80242708 AE220074 */ sw $v0, 0x74($s1) +/* C492EC 8024270C 8E0200B0 */ lw $v0, 0xb0($s0) +/* C492F0 80242710 34420010 */ ori $v0, $v0, 0x10 +/* C492F4 80242714 AE0200B0 */ sw $v0, 0xb0($s0) +/* C492F8 80242718 8FBF0034 */ lw $ra, 0x34($sp) +/* C492FC 8024271C 8FB20030 */ lw $s2, 0x30($sp) +/* C49300 80242720 8FB1002C */ lw $s1, 0x2c($sp) +/* C49304 80242724 8FB00028 */ lw $s0, 0x28($sp) +/* C49308 80242728 03E00008 */ jr $ra +/* C4930C 8024272C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242730_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242730_C46BE0.s new file mode 100644 index 0000000000..3220dcda05 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242730_C46BE0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242730_C49310 +/* C49310 80242730 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C49314 80242734 AFB40040 */ sw $s4, 0x40($sp) +/* C49318 80242738 0080A02D */ daddu $s4, $a0, $zero +/* C4931C 8024273C AFBF0048 */ sw $ra, 0x48($sp) +/* C49320 80242740 AFB50044 */ sw $s5, 0x44($sp) +/* C49324 80242744 AFB3003C */ sw $s3, 0x3c($sp) +/* C49328 80242748 AFB20038 */ sw $s2, 0x38($sp) +/* C4932C 8024274C AFB10034 */ sw $s1, 0x34($sp) +/* C49330 80242750 AFB00030 */ sw $s0, 0x30($sp) +/* C49334 80242754 8E920148 */ lw $s2, 0x148($s4) +/* C49338 80242758 86440008 */ lh $a0, 8($s2) +/* C4933C 8024275C 8E90000C */ lw $s0, 0xc($s4) +/* C49340 80242760 0C00EABB */ jal get_npc_unsafe +/* C49344 80242764 00A0882D */ daddu $s1, $a1, $zero +/* C49348 80242768 0280202D */ daddu $a0, $s4, $zero +/* C4934C 8024276C 8E050000 */ lw $a1, ($s0) +/* C49350 80242770 0C0B1EAF */ jal get_variable +/* C49354 80242774 0040A82D */ daddu $s5, $v0, $zero +/* C49358 80242778 AFA00010 */ sw $zero, 0x10($sp) +/* C4935C 8024277C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C49360 80242780 8C630030 */ lw $v1, 0x30($v1) +/* C49364 80242784 AFA30014 */ sw $v1, 0x14($sp) +/* C49368 80242788 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4936C 8024278C 8C63001C */ lw $v1, 0x1c($v1) +/* C49370 80242790 AFA30018 */ sw $v1, 0x18($sp) +/* C49374 80242794 8E4300D0 */ lw $v1, 0xd0($s2) +/* C49378 80242798 8C630024 */ lw $v1, 0x24($v1) +/* C4937C 8024279C AFA3001C */ sw $v1, 0x1c($sp) +/* C49380 802427A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C49384 802427A4 8C630028 */ lw $v1, 0x28($v1) +/* C49388 802427A8 27B30010 */ addiu $s3, $sp, 0x10 +/* C4938C 802427AC AFA30020 */ sw $v1, 0x20($sp) +/* C49390 802427B0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C49394 802427B4 3C0142F0 */ lui $at, 0x42f0 +/* C49398 802427B8 44810000 */ mtc1 $at, $f0 +/* C4939C 802427BC 8C63002C */ lw $v1, 0x2c($v1) +/* C493A0 802427C0 0040802D */ daddu $s0, $v0, $zero +/* C493A4 802427C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C493A8 802427C8 A7A0002C */ sh $zero, 0x2c($sp) +/* C493AC 802427CC 12200006 */ beqz $s1, .L802427E8 +/* C493B0 802427D0 AFA30024 */ sw $v1, 0x24($sp) +/* C493B4 802427D4 02A0202D */ daddu $a0, $s5, $zero +/* C493B8 802427D8 0240282D */ daddu $a1, $s2, $zero +/* C493BC 802427DC 0280302D */ daddu $a2, $s4, $zero +/* C493C0 802427E0 0C090983 */ jal func_8024260C +/* C493C4 802427E4 0200382D */ daddu $a3, $s0, $zero +.L802427E8: +/* C493C8 802427E8 2402FFFE */ addiu $v0, $zero, -2 +/* C493CC 802427EC A2A200AB */ sb $v0, 0xab($s5) +/* C493D0 802427F0 8E4300B0 */ lw $v1, 0xb0($s2) +/* C493D4 802427F4 30620004 */ andi $v0, $v1, 4 +/* C493D8 802427F8 10400007 */ beqz $v0, .L80242818 +/* C493DC 802427FC 00000000 */ nop +/* C493E0 80242800 824200B4 */ lb $v0, 0xb4($s2) +/* C493E4 80242804 1440003C */ bnez $v0, .L802428F8 +/* C493E8 80242808 0000102D */ daddu $v0, $zero, $zero +/* C493EC 8024280C 2402FFFB */ addiu $v0, $zero, -5 +/* C493F0 80242810 00621024 */ and $v0, $v1, $v0 +/* C493F4 80242814 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242818: +/* C493F8 80242818 8E830070 */ lw $v1, 0x70($s4) +/* C493FC 8024281C 2C62000F */ sltiu $v0, $v1, 0xf +/* C49400 80242820 10400034 */ beqz $v0, .L802428F4 +/* C49404 80242824 00031080 */ sll $v0, $v1, 2 +/* C49408 80242828 3C018024 */ lui $at, 0x8024 +/* C4940C 8024282C 00220821 */ addu $at, $at, $v0 +/* C49410 80242830 8C2256D8 */ lw $v0, 0x56d8($at) +/* C49414 80242834 00400008 */ jr $v0 +/* C49418 80242838 00000000 */ nop +/* C4941C 8024283C 0280202D */ daddu $a0, $s4, $zero +/* C49420 80242840 0200282D */ daddu $a1, $s0, $zero +/* C49424 80242844 0C090509 */ jal func_80241424 +/* C49428 80242848 0260302D */ daddu $a2, $s3, $zero +/* C4942C 8024284C 0280202D */ daddu $a0, $s4, $zero +/* C49430 80242850 0200282D */ daddu $a1, $s0, $zero +/* C49434 80242854 0C090575 */ jal func_802415D4 +/* C49438 80242858 0260302D */ daddu $a2, $s3, $zero +/* C4943C 8024285C 08090A3E */ j .L802428F8 +/* C49440 80242860 0000102D */ daddu $v0, $zero, $zero +/* C49444 80242864 0280202D */ daddu $a0, $s4, $zero +/* C49448 80242868 0200282D */ daddu $a1, $s0, $zero +/* C4944C 8024286C 0C0906FF */ jal func_80241BFC +/* C49450 80242870 0260302D */ daddu $a2, $s3, $zero +/* C49454 80242874 0280202D */ daddu $a0, $s4, $zero +/* C49458 80242878 0200282D */ daddu $a1, $s0, $zero +/* C4945C 8024287C 0C09072F */ jal func_80241CBC +/* C49460 80242880 0260302D */ daddu $a2, $s3, $zero +/* C49464 80242884 08090A3E */ j .L802428F8 +/* C49468 80242888 0000102D */ daddu $v0, $zero, $zero +/* C4946C 8024288C 0280202D */ daddu $a0, $s4, $zero +/* C49470 80242890 0200282D */ daddu $a1, $s0, $zero +/* C49474 80242894 0C090800 */ jal func_80242000 +/* C49478 80242898 0260302D */ daddu $a2, $s3, $zero +/* C4947C 8024289C 0280202D */ daddu $a0, $s4, $zero +/* C49480 802428A0 0200282D */ daddu $a1, $s0, $zero +/* C49484 802428A4 0C09081E */ jal func_80242078 +/* C49488 802428A8 0260302D */ daddu $a2, $s3, $zero +/* C4948C 802428AC 08090A3E */ j .L802428F8 +/* C49490 802428B0 0000102D */ daddu $v0, $zero, $zero +/* C49494 802428B4 0280202D */ daddu $a0, $s4, $zero +/* C49498 802428B8 0200282D */ daddu $a1, $s0, $zero +/* C4949C 802428BC 0C090839 */ jal func_802420E4 +/* C494A0 802428C0 0260302D */ daddu $a2, $s3, $zero +/* C494A4 802428C4 08090A3E */ j .L802428F8 +/* C494A8 802428C8 0000102D */ daddu $v0, $zero, $zero +/* C494AC 802428CC 0280202D */ daddu $a0, $s4, $zero +/* C494B0 802428D0 0200282D */ daddu $a1, $s0, $zero +/* C494B4 802428D4 0C090886 */ jal func_80242218 +/* C494B8 802428D8 0260302D */ daddu $a2, $s3, $zero +/* C494BC 802428DC 08090A3E */ j .L802428F8 +/* C494C0 802428E0 0000102D */ daddu $v0, $zero, $zero +/* C494C4 802428E4 0280202D */ daddu $a0, $s4, $zero +/* C494C8 802428E8 0200282D */ daddu $a1, $s0, $zero +/* C494CC 802428EC 0C09089F */ jal func_8024227C +/* C494D0 802428F0 0260302D */ daddu $a2, $s3, $zero +.L802428F4: +/* C494D4 802428F4 0000102D */ daddu $v0, $zero, $zero +.L802428F8: +/* C494D8 802428F8 8FBF0048 */ lw $ra, 0x48($sp) +/* C494DC 802428FC 8FB50044 */ lw $s5, 0x44($sp) +/* C494E0 80242900 8FB40040 */ lw $s4, 0x40($sp) +/* C494E4 80242904 8FB3003C */ lw $s3, 0x3c($sp) +/* C494E8 80242908 8FB20038 */ lw $s2, 0x38($sp) +/* C494EC 8024290C 8FB10034 */ lw $s1, 0x34($sp) +/* C494F0 80242910 8FB00030 */ lw $s0, 0x30($sp) +/* C494F4 80242914 03E00008 */ jr $ra +/* C494F8 80242918 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_8024291C.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024291C.s new file mode 100644 index 0000000000..0913288d09 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_8024291C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024291C +/* C494FC 8024291C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C49500 80242920 AFB3001C */ sw $s3, 0x1c($sp) +/* C49504 80242924 0080982D */ daddu $s3, $a0, $zero +/* C49508 80242928 AFBF0020 */ sw $ra, 0x20($sp) +/* C4950C 8024292C AFB20018 */ sw $s2, 0x18($sp) +/* C49510 80242930 AFB10014 */ sw $s1, 0x14($sp) +/* C49514 80242934 AFB00010 */ sw $s0, 0x10($sp) +/* C49518 80242938 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C4951C 8024293C 8E720148 */ lw $s2, 0x148($s3) +/* C49520 80242940 86440008 */ lh $a0, 8($s2) +/* C49524 80242944 0C00EABB */ jal get_npc_unsafe +/* C49528 80242948 00A0882D */ daddu $s1, $a1, $zero +/* C4952C 8024294C 0040802D */ daddu $s0, $v0, $zero +/* C49530 80242950 9602008E */ lhu $v0, 0x8e($s0) +/* C49534 80242954 2442FFFF */ addiu $v0, $v0, -1 +/* C49538 80242958 A602008E */ sh $v0, 0x8e($s0) +/* C4953C 8024295C 00021400 */ sll $v0, $v0, 0x10 +/* C49540 80242960 1C40003C */ bgtz $v0, .L80242A54 +/* C49544 80242964 3C03FFDF */ lui $v1, 0xffdf +/* C49548 80242968 8E020000 */ lw $v0, ($s0) +/* C4954C 8024296C 3463FFFF */ ori $v1, $v1, 0xffff +/* C49550 80242970 00431024 */ and $v0, $v0, $v1 +/* C49554 80242974 AE020000 */ sw $v0, ($s0) +/* C49558 80242978 8E240020 */ lw $a0, 0x20($s1) +/* C4955C 8024297C 000417C2 */ srl $v0, $a0, 0x1f +/* C49560 80242980 00822021 */ addu $a0, $a0, $v0 +/* C49564 80242984 00042043 */ sra $a0, $a0, 1 +/* C49568 80242988 0C00A67F */ jal rand_int +/* C4956C 8024298C 24840001 */ addiu $a0, $a0, 1 +/* C49570 80242990 8E230020 */ lw $v1, 0x20($s1) +/* C49574 80242994 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C49578 80242998 000327C2 */ srl $a0, $v1, 0x1f +/* C4957C 8024299C 00641821 */ addu $v1, $v1, $a0 +/* C49580 802429A0 00031843 */ sra $v1, $v1, 1 +/* C49584 802429A4 00621821 */ addu $v1, $v1, $v0 +/* C49588 802429A8 A603008E */ sh $v1, 0x8e($s0) +/* C4958C 802429AC 8E4200CC */ lw $v0, 0xcc($s2) +/* C49590 802429B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C49594 802429B4 8C420020 */ lw $v0, 0x20($v0) +/* C49598 802429B8 AE020028 */ sw $v0, 0x28($s0) +/* C4959C 802429BC C6200018 */ lwc1 $f0, 0x18($s1) +/* C495A0 802429C0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C495A4 802429C4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C495A8 802429C8 E6000018 */ swc1 $f0, 0x18($s0) +/* C495AC 802429CC 8C460028 */ lw $a2, 0x28($v0) +/* C495B0 802429D0 0C00A720 */ jal atan2 +/* C495B4 802429D4 8C470030 */ lw $a3, 0x30($v0) +/* C495B8 802429D8 46000506 */ mov.s $f20, $f0 +/* C495BC 802429DC C60C000C */ lwc1 $f12, 0xc($s0) +/* C495C0 802429E0 0C00A70A */ jal get_clamped_angle_diff +/* C495C4 802429E4 4600A386 */ mov.s $f14, $f20 +/* C495C8 802429E8 46000086 */ mov.s $f2, $f0 +/* C495CC 802429EC 8E22001C */ lw $v0, 0x1c($s1) +/* C495D0 802429F0 46001005 */ abs.s $f0, $f2 +/* C495D4 802429F4 44822000 */ mtc1 $v0, $f4 +/* C495D8 802429F8 00000000 */ nop +/* C495DC 802429FC 46802120 */ cvt.s.w $f4, $f4 +/* C495E0 80242A00 4600203C */ c.lt.s $f4, $f0 +/* C495E4 80242A04 00000000 */ nop +/* C495E8 80242A08 4500000D */ bc1f .L80242A40 +/* C495EC 80242A0C 00000000 */ nop +/* C495F0 80242A10 44800000 */ mtc1 $zero, $f0 +/* C495F4 80242A14 C614000C */ lwc1 $f20, 0xc($s0) +/* C495F8 80242A18 4600103C */ c.lt.s $f2, $f0 +/* C495FC 80242A1C 00000000 */ nop +/* C49600 80242A20 45000006 */ bc1f .L80242A3C +/* C49604 80242A24 00021023 */ negu $v0, $v0 +/* C49608 80242A28 44820000 */ mtc1 $v0, $f0 +/* C4960C 80242A2C 00000000 */ nop +/* C49610 80242A30 46800020 */ cvt.s.w $f0, $f0 +/* C49614 80242A34 08090A90 */ j .L80242A40 +/* C49618 80242A38 4600A500 */ add.s $f20, $f20, $f0 +.L80242A3C: +/* C4961C 80242A3C 4604A500 */ add.s $f20, $f20, $f4 +.L80242A40: +/* C49620 80242A40 0C00A6C9 */ jal clamp_angle +/* C49624 80242A44 4600A306 */ mov.s $f12, $f20 +/* C49628 80242A48 2402000D */ addiu $v0, $zero, 0xd +/* C4962C 80242A4C E600000C */ swc1 $f0, 0xc($s0) +/* C49630 80242A50 AE620070 */ sw $v0, 0x70($s3) +.L80242A54: +/* C49634 80242A54 8FBF0020 */ lw $ra, 0x20($sp) +/* C49638 80242A58 8FB3001C */ lw $s3, 0x1c($sp) +/* C4963C 80242A5C 8FB20018 */ lw $s2, 0x18($sp) +/* C49640 80242A60 8FB10014 */ lw $s1, 0x14($sp) +/* C49644 80242A64 8FB00010 */ lw $s0, 0x10($sp) +/* C49648 80242A68 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C4964C 80242A6C 03E00008 */ jr $ra +/* C49650 80242A70 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242A74.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242A74.s new file mode 100644 index 0000000000..c37dd9179a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242A74.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A74 +/* C49654 80242A74 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C49658 80242A78 AFB30024 */ sw $s3, 0x24($sp) +/* C4965C 80242A7C 0080982D */ daddu $s3, $a0, $zero +/* C49660 80242A80 AFBF0028 */ sw $ra, 0x28($sp) +/* C49664 80242A84 AFB20020 */ sw $s2, 0x20($sp) +/* C49668 80242A88 AFB1001C */ sw $s1, 0x1c($sp) +/* C4966C 80242A8C AFB00018 */ sw $s0, 0x18($sp) +/* C49670 80242A90 8E700148 */ lw $s0, 0x148($s3) +/* C49674 80242A94 00A0902D */ daddu $s2, $a1, $zero +/* C49678 80242A98 86040008 */ lh $a0, 8($s0) +/* C4967C 80242A9C 0C00EABB */ jal get_npc_unsafe +/* C49680 80242AA0 00C0882D */ daddu $s1, $a2, $zero +/* C49684 80242AA4 0220202D */ daddu $a0, $s1, $zero +/* C49688 80242AA8 0200282D */ daddu $a1, $s0, $zero +/* C4968C 80242AAC 24030001 */ addiu $v1, $zero, 1 +/* C49690 80242AB0 AFA30010 */ sw $v1, 0x10($sp) +/* C49694 80242AB4 8E460024 */ lw $a2, 0x24($s2) +/* C49698 80242AB8 8E470028 */ lw $a3, 0x28($s2) +/* C4969C 80242ABC 0C01242D */ jal func_800490B4 +/* C496A0 80242AC0 0040802D */ daddu $s0, $v0, $zero +/* C496A4 80242AC4 10400024 */ beqz $v0, .L80242B58 +/* C496A8 80242AC8 24020010 */ addiu $v0, $zero, 0x10 +/* C496AC 80242ACC 8E050018 */ lw $a1, 0x18($s0) +/* C496B0 80242AD0 8E06000C */ lw $a2, 0xc($s0) +/* C496B4 80242AD4 0C00EA95 */ jal npc_move_heading +/* C496B8 80242AD8 0200202D */ daddu $a0, $s0, $zero +/* C496BC 80242ADC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C496C0 80242AE0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C496C4 80242AE4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C496C8 80242AE8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C496CC 80242AEC 8C460028 */ lw $a2, 0x28($v0) +/* C496D0 80242AF0 0C00A7B5 */ jal dist2D +/* C496D4 80242AF4 8C470030 */ lw $a3, 0x30($v0) +/* C496D8 80242AF8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C496DC 80242AFC 3C014004 */ lui $at, 0x4004 +/* C496E0 80242B00 44812800 */ mtc1 $at, $f5 +/* C496E4 80242B04 44802000 */ mtc1 $zero, $f4 +/* C496E8 80242B08 460010A1 */ cvt.d.s $f2, $f2 +/* C496EC 80242B0C 46241082 */ mul.d $f2, $f2, $f4 +/* C496F0 80242B10 00000000 */ nop +/* C496F4 80242B14 46000021 */ cvt.d.s $f0, $f0 +/* C496F8 80242B18 4622003E */ c.le.d $f0, $f2 +/* C496FC 80242B1C 00000000 */ nop +/* C49700 80242B20 45000003 */ bc1f .L80242B30 +/* C49704 80242B24 2402000E */ addiu $v0, $zero, 0xe +/* C49708 80242B28 08090AD6 */ j .L80242B58 +/* C4970C 80242B2C A600008E */ sh $zero, 0x8e($s0) +.L80242B30: +/* C49710 80242B30 9602008E */ lhu $v0, 0x8e($s0) +/* C49714 80242B34 2442FFFF */ addiu $v0, $v0, -1 +/* C49718 80242B38 A602008E */ sh $v0, 0x8e($s0) +/* C4971C 80242B3C 00021400 */ sll $v0, $v0, 0x10 +/* C49720 80242B40 1C400006 */ bgtz $v0, .L80242B5C +/* C49724 80242B44 3C030020 */ lui $v1, 0x20 +/* C49728 80242B48 8E020000 */ lw $v0, ($s0) +/* C4972C 80242B4C 00431025 */ or $v0, $v0, $v1 +/* C49730 80242B50 AE020000 */ sw $v0, ($s0) +/* C49734 80242B54 2402000C */ addiu $v0, $zero, 0xc +.L80242B58: +/* C49738 80242B58 AE620070 */ sw $v0, 0x70($s3) +.L80242B5C: +/* C4973C 80242B5C 8FBF0028 */ lw $ra, 0x28($sp) +/* C49740 80242B60 8FB30024 */ lw $s3, 0x24($sp) +/* C49744 80242B64 8FB20020 */ lw $s2, 0x20($sp) +/* C49748 80242B68 8FB1001C */ lw $s1, 0x1c($sp) +/* C4974C 80242B6C 8FB00018 */ lw $s0, 0x18($sp) +/* C49750 80242B70 03E00008 */ jr $ra +/* C49754 80242B74 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242B78.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242B78.s new file mode 100644 index 0000000000..6b62ba8fb1 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242B78.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B78 +/* C49758 80242B78 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C4975C 80242B7C AFB20020 */ sw $s2, 0x20($sp) +/* C49760 80242B80 0080902D */ daddu $s2, $a0, $zero +/* C49764 80242B84 AFBF0024 */ sw $ra, 0x24($sp) +/* C49768 80242B88 AFB1001C */ sw $s1, 0x1c($sp) +/* C4976C 80242B8C AFB00018 */ sw $s0, 0x18($sp) +/* C49770 80242B90 8E500148 */ lw $s0, 0x148($s2) +/* C49774 80242B94 0C00EABB */ jal get_npc_unsafe +/* C49778 80242B98 86040008 */ lh $a0, 8($s0) +/* C4977C 80242B9C 0040882D */ daddu $s1, $v0, $zero +/* C49780 80242BA0 8E02006C */ lw $v0, 0x6c($s0) +/* C49784 80242BA4 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C49788 80242BA8 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C4978C 80242BAC 34420100 */ ori $v0, $v0, 0x100 +/* C49790 80242BB0 AE02006C */ sw $v0, 0x6c($s0) +/* C49794 80242BB4 C4600028 */ lwc1 $f0, 0x28($v1) +/* C49798 80242BB8 E6200038 */ swc1 $f0, 0x38($s1) +/* C4979C 80242BBC C4600030 */ lwc1 $f0, 0x30($v1) +/* C497A0 80242BC0 E6200040 */ swc1 $f0, 0x40($s1) +/* C497A4 80242BC4 8E03006C */ lw $v1, 0x6c($s0) +/* C497A8 80242BC8 30621000 */ andi $v0, $v1, 0x1000 +/* C497AC 80242BCC 14400003 */ bnez $v0, .L80242BDC +/* C497B0 80242BD0 3C048000 */ lui $a0, 0x8000 +/* C497B4 80242BD4 34621000 */ ori $v0, $v1, 0x1000 +/* C497B8 80242BD8 AE02006C */ sw $v0, 0x6c($s0) +.L80242BDC: +/* C497BC 80242BDC C6200040 */ lwc1 $f0, 0x40($s1) +/* C497C0 80242BE0 34840011 */ ori $a0, $a0, 0x11 +/* C497C4 80242BE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C497C8 80242BE8 8E260038 */ lw $a2, 0x38($s1) +/* C497CC 80242BEC 8E27003C */ lw $a3, 0x3c($s1) +/* C497D0 80242BF0 0C052757 */ jal play_sound_at_position +/* C497D4 80242BF4 24050002 */ addiu $a1, $zero, 2 +/* C497D8 80242BF8 2402000F */ addiu $v0, $zero, 0xf +/* C497DC 80242BFC A620008E */ sh $zero, 0x8e($s1) +/* C497E0 80242C00 AE420070 */ sw $v0, 0x70($s2) +/* C497E4 80242C04 8FBF0024 */ lw $ra, 0x24($sp) +/* C497E8 80242C08 8FB20020 */ lw $s2, 0x20($sp) +/* C497EC 80242C0C 8FB1001C */ lw $s1, 0x1c($sp) +/* C497F0 80242C10 8FB00018 */ lw $s0, 0x18($sp) +/* C497F4 80242C14 03E00008 */ jr $ra +/* C497F8 80242C18 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242C1C.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242C1C.s new file mode 100644 index 0000000000..09a992f91b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242C1C.s @@ -0,0 +1,177 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C1C +/* C497FC 80242C1C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C49800 80242C20 AFB40040 */ sw $s4, 0x40($sp) +/* C49804 80242C24 0080A02D */ daddu $s4, $a0, $zero +/* C49808 80242C28 AFBF0044 */ sw $ra, 0x44($sp) +/* C4980C 80242C2C AFB3003C */ sw $s3, 0x3c($sp) +/* C49810 80242C30 AFB20038 */ sw $s2, 0x38($sp) +/* C49814 80242C34 AFB10034 */ sw $s1, 0x34($sp) +/* C49818 80242C38 AFB00030 */ sw $s0, 0x30($sp) +/* C4981C 80242C3C 8E930148 */ lw $s3, 0x148($s4) +/* C49820 80242C40 00A0802D */ daddu $s0, $a1, $zero +/* C49824 80242C44 86640008 */ lh $a0, 8($s3) +/* C49828 80242C48 0C00EABB */ jal get_npc_unsafe +/* C4982C 80242C4C 00C0882D */ daddu $s1, $a2, $zero +/* C49830 80242C50 3C048000 */ lui $a0, 0x8000 +/* C49834 80242C54 0040902D */ daddu $s2, $v0, $zero +/* C49838 80242C58 C6400040 */ lwc1 $f0, 0x40($s2) +/* C4983C 80242C5C 34840011 */ ori $a0, $a0, 0x11 +/* C49840 80242C60 E7A00010 */ swc1 $f0, 0x10($sp) +/* C49844 80242C64 8E460038 */ lw $a2, 0x38($s2) +/* C49848 80242C68 8E47003C */ lw $a3, 0x3c($s2) +/* C4984C 80242C6C 0C05267B */ jal func_801499EC +/* C49850 80242C70 24050002 */ addiu $a1, $zero, 2 +/* C49854 80242C74 0220202D */ daddu $a0, $s1, $zero +/* C49858 80242C78 24020001 */ addiu $v0, $zero, 1 +/* C4985C 80242C7C AFA20010 */ sw $v0, 0x10($sp) +/* C49860 80242C80 8E060024 */ lw $a2, 0x24($s0) +/* C49864 80242C84 8E070028 */ lw $a3, 0x28($s0) +/* C49868 80242C88 0C01242D */ jal func_800490B4 +/* C4986C 80242C8C 0260282D */ daddu $a1, $s3, $zero +/* C49870 80242C90 1440000B */ bnez $v0, .L80242CC0 +/* C49874 80242C94 3C04FFDF */ lui $a0, 0xffdf +/* C49878 80242C98 8E62006C */ lw $v0, 0x6c($s3) +/* C4987C 80242C9C 2403FEFF */ addiu $v1, $zero, -0x101 +/* C49880 80242CA0 00431024 */ and $v0, $v0, $v1 +/* C49884 80242CA4 AE62006C */ sw $v0, 0x6c($s3) +/* C49888 80242CA8 8E420000 */ lw $v0, ($s2) +/* C4988C 80242CAC 3484FFFF */ ori $a0, $a0, 0xffff +/* C49890 80242CB0 AE400048 */ sw $zero, 0x48($s2) +/* C49894 80242CB4 00441024 */ and $v0, $v0, $a0 +/* C49898 80242CB8 08090BA4 */ j .L80242E90 +/* C4989C 80242CBC AE420000 */ sw $v0, ($s2) +.L80242CC0: +/* C498A0 80242CC0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C498A4 80242CC4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C498A8 80242CC8 C6440048 */ lwc1 $f4, 0x48($s2) +/* C498AC 80242CCC 3C0141C8 */ lui $at, 0x41c8 +/* C498B0 80242CD0 44810000 */ mtc1 $at, $f0 +/* C498B4 80242CD4 8E020000 */ lw $v0, ($s0) +/* C498B8 80242CD8 46002100 */ add.s $f4, $f4, $f0 +/* C498BC 80242CDC C4420028 */ lwc1 $f2, 0x28($v0) +/* C498C0 80242CE0 3C014000 */ lui $at, 0x4000 +/* C498C4 80242CE4 44810000 */ mtc1 $at, $f0 +/* C498C8 80242CE8 E6420038 */ swc1 $f2, 0x38($s2) +/* C498CC 80242CEC C4420030 */ lwc1 $f2, 0x30($v0) +/* C498D0 80242CF0 46001080 */ add.s $f2, $f2, $f0 +/* C498D4 80242CF4 3C018024 */ lui $at, 0x8024 +/* C498D8 80242CF8 D4265718 */ ldc1 $f6, 0x5718($at) +/* C498DC 80242CFC 46002021 */ cvt.d.s $f0, $f4 +/* C498E0 80242D00 4620303C */ c.lt.d $f6, $f0 +/* C498E4 80242D04 E6440048 */ swc1 $f4, 0x48($s2) +/* C498E8 80242D08 45000004 */ bc1f .L80242D1C +/* C498EC 80242D0C E6420040 */ swc1 $f2, 0x40($s2) +/* C498F0 80242D10 46260001 */ sub.d $f0, $f0, $f6 +/* C498F4 80242D14 46200020 */ cvt.s.d $f0, $f0 +/* C498F8 80242D18 E6400048 */ swc1 $f0, 0x48($s2) +.L80242D1C: +/* C498FC 80242D1C 3C02B60B */ lui $v0, 0xb60b +/* C49900 80242D20 C6400048 */ lwc1 $f0, 0x48($s2) +/* C49904 80242D24 344260B7 */ ori $v0, $v0, 0x60b7 +/* C49908 80242D28 4600020D */ trunc.w.s $f8, $f0 +/* C4990C 80242D2C 44044000 */ mfc1 $a0, $f8 +/* C49910 80242D30 00000000 */ nop +/* C49914 80242D34 00820018 */ mult $a0, $v0 +/* C49918 80242D38 00041FC3 */ sra $v1, $a0, 0x1f +/* C4991C 80242D3C 00004010 */ mfhi $t0 +/* C49920 80242D40 01041021 */ addu $v0, $t0, $a0 +/* C49924 80242D44 000211C3 */ sra $v0, $v0, 7 +/* C49928 80242D48 00431023 */ subu $v0, $v0, $v1 +/* C4992C 80242D4C 00021840 */ sll $v1, $v0, 1 +/* C49930 80242D50 00621821 */ addu $v1, $v1, $v0 +/* C49934 80242D54 00031100 */ sll $v0, $v1, 4 +/* C49938 80242D58 00431023 */ subu $v0, $v0, $v1 +/* C4993C 80242D5C 00021080 */ sll $v0, $v0, 2 +/* C49940 80242D60 00822023 */ subu $a0, $a0, $v0 +/* C49944 80242D64 00042400 */ sll $a0, $a0, 0x10 +/* C49948 80242D68 0C00A4F5 */ jal cosine +/* C4994C 80242D6C 00042403 */ sra $a0, $a0, 0x10 +/* C49950 80242D70 3C014260 */ lui $at, 0x4260 +/* C49954 80242D74 44811000 */ mtc1 $at, $f2 +/* C49958 80242D78 00000000 */ nop +/* C4995C 80242D7C 46020002 */ mul.s $f0, $f0, $f2 +/* C49960 80242D80 00000000 */ nop +/* C49964 80242D84 24050006 */ addiu $a1, $zero, 6 +/* C49968 80242D88 3C01437F */ lui $at, 0x437f +/* C4996C 80242D8C 44811000 */ mtc1 $at, $f2 +/* C49970 80242D90 240200FF */ addiu $v0, $zero, 0xff +/* C49974 80242D94 46001081 */ sub.s $f2, $f2, $f0 +/* C49978 80242D98 AFA20014 */ sw $v0, 0x14($sp) +/* C4997C 80242D9C AFA00018 */ sw $zero, 0x18($sp) +/* C49980 80242DA0 4600120D */ trunc.w.s $f8, $f2 +/* C49984 80242DA4 44064000 */ mfc1 $a2, $f8 +/* C49988 80242DA8 00000000 */ nop +/* C4998C 80242DAC AFA60010 */ sw $a2, 0x10($sp) +/* C49990 80242DB0 8E440024 */ lw $a0, 0x24($s2) +/* C49994 80242DB4 0C0B7A25 */ jal func_802DE894 +/* C49998 80242DB8 00C0382D */ daddu $a3, $a2, $zero +/* C4999C 80242DBC 27A50020 */ addiu $a1, $sp, 0x20 +/* C499A0 80242DC0 27A60024 */ addiu $a2, $sp, 0x24 +/* C499A4 80242DC4 8E020000 */ lw $v0, ($s0) +/* C499A8 80242DC8 3C01447A */ lui $at, 0x447a +/* C499AC 80242DCC 44810000 */ mtc1 $at, $f0 +/* C499B0 80242DD0 C4420028 */ lwc1 $f2, 0x28($v0) +/* C499B4 80242DD4 C444002C */ lwc1 $f4, 0x2c($v0) +/* C499B8 80242DD8 C4460030 */ lwc1 $f6, 0x30($v0) +/* C499BC 80242DDC 27A2002C */ addiu $v0, $sp, 0x2c +/* C499C0 80242DE0 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C499C4 80242DE4 E7A20020 */ swc1 $f2, 0x20($sp) +/* C499C8 80242DE8 E7A40024 */ swc1 $f4, 0x24($sp) +/* C499CC 80242DEC E7A60028 */ swc1 $f6, 0x28($sp) +/* C499D0 80242DF0 AFA20010 */ sw $v0, 0x10($sp) +/* C499D4 80242DF4 8E440080 */ lw $a0, 0x80($s2) +/* C499D8 80242DF8 0C0372DF */ jal func_800DCB7C +/* C499DC 80242DFC 27A70028 */ addiu $a3, $sp, 0x28 +/* C499E0 80242E00 C644003C */ lwc1 $f4, 0x3c($s2) +/* C499E4 80242E04 C7A00024 */ lwc1 $f0, 0x24($sp) +/* C499E8 80242E08 46002001 */ sub.s $f0, $f4, $f0 +/* C499EC 80242E0C 3C014038 */ lui $at, 0x4038 +/* C499F0 80242E10 44811800 */ mtc1 $at, $f3 +/* C499F4 80242E14 44801000 */ mtc1 $zero, $f2 +/* C499F8 80242E18 46000005 */ abs.s $f0, $f0 +/* C499FC 80242E1C 46000021 */ cvt.d.s $f0, $f0 +/* C49A00 80242E20 4620103C */ c.lt.d $f2, $f0 +/* C49A04 80242E24 00000000 */ nop +/* C49A08 80242E28 45000008 */ bc1f .L80242E4C +/* C49A0C 80242E2C 3C03FFDF */ lui $v1, 0xffdf +/* C49A10 80242E30 3C018024 */ lui $at, 0x8024 +/* C49A14 80242E34 D4225720 */ ldc1 $f2, 0x5720($at) +/* C49A18 80242E38 46002021 */ cvt.d.s $f0, $f4 +/* C49A1C 80242E3C 46220001 */ sub.d $f0, $f0, $f2 +/* C49A20 80242E40 46200020 */ cvt.s.d $f0, $f0 +/* C49A24 80242E44 08090BA6 */ j .L80242E98 +/* C49A28 80242E48 E640003C */ swc1 $f0, 0x3c($s2) +.L80242E4C: +/* C49A2C 80242E4C 8E420000 */ lw $v0, ($s2) +/* C49A30 80242E50 3463FFFF */ ori $v1, $v1, 0xffff +/* C49A34 80242E54 AE400048 */ sw $zero, 0x48($s2) +/* C49A38 80242E58 00431024 */ and $v0, $v0, $v1 +/* C49A3C 80242E5C AE420000 */ sw $v0, ($s2) +/* C49A40 80242E60 3C038011 */ lui $v1, 0x8011 +/* C49A44 80242E64 8063EBB3 */ lb $v1, -0x144d($v1) +/* C49A48 80242E68 24020009 */ addiu $v0, $zero, 9 +/* C49A4C 80242E6C 10620009 */ beq $v1, $v0, .L80242E94 +/* C49A50 80242E70 24020010 */ addiu $v0, $zero, 0x10 +/* C49A54 80242E74 0C03805E */ jal disable_player_input +/* C49A58 80242E78 00000000 */ nop +/* C49A5C 80242E7C 0C03BD8A */ jal func_800EF628 +/* C49A60 80242E80 00000000 */ nop +/* C49A64 80242E84 24020014 */ addiu $v0, $zero, 0x14 +/* C49A68 80242E88 08090BA5 */ j .L80242E94 +/* C49A6C 80242E8C A640008E */ sh $zero, 0x8e($s2) +.L80242E90: +/* C49A70 80242E90 24020010 */ addiu $v0, $zero, 0x10 +.L80242E94: +/* C49A74 80242E94 AE820070 */ sw $v0, 0x70($s4) +.L80242E98: +/* C49A78 80242E98 8FBF0044 */ lw $ra, 0x44($sp) +/* C49A7C 80242E9C 8FB40040 */ lw $s4, 0x40($sp) +/* C49A80 80242EA0 8FB3003C */ lw $s3, 0x3c($sp) +/* C49A84 80242EA4 8FB20038 */ lw $s2, 0x38($sp) +/* C49A88 80242EA8 8FB10034 */ lw $s1, 0x34($sp) +/* C49A8C 80242EAC 8FB00030 */ lw $s0, 0x30($sp) +/* C49A90 80242EB0 03E00008 */ jr $ra +/* C49A94 80242EB4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242EB8.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242EB8.s new file mode 100644 index 0000000000..a742fb41d5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242EB8.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EB8 +/* C49A98 80242EB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C49A9C 80242EBC AFB20028 */ sw $s2, 0x28($sp) +/* C49AA0 80242EC0 0080902D */ daddu $s2, $a0, $zero +/* C49AA4 80242EC4 AFBF002C */ sw $ra, 0x2c($sp) +/* C49AA8 80242EC8 AFB10024 */ sw $s1, 0x24($sp) +/* C49AAC 80242ECC AFB00020 */ sw $s0, 0x20($sp) +/* C49AB0 80242ED0 8E500148 */ lw $s0, 0x148($s2) +/* C49AB4 80242ED4 0C00EABB */ jal get_npc_unsafe +/* C49AB8 80242ED8 86040008 */ lh $a0, 8($s0) +/* C49ABC 80242EDC 2404FEFF */ addiu $a0, $zero, -0x101 +/* C49AC0 80242EE0 0040882D */ daddu $s1, $v0, $zero +/* C49AC4 80242EE4 0000282D */ daddu $a1, $zero, $zero +/* C49AC8 80242EE8 8E03006C */ lw $v1, 0x6c($s0) +/* C49ACC 80242EEC 00A0302D */ daddu $a2, $a1, $zero +/* C49AD0 80242EF0 00641824 */ and $v1, $v1, $a0 +/* C49AD4 80242EF4 AE03006C */ sw $v1, 0x6c($s0) +/* C49AD8 80242EF8 AFA00010 */ sw $zero, 0x10($sp) +/* C49ADC 80242EFC AFA00014 */ sw $zero, 0x14($sp) +/* C49AE0 80242F00 AFA00018 */ sw $zero, 0x18($sp) +/* C49AE4 80242F04 8E240024 */ lw $a0, 0x24($s1) +/* C49AE8 80242F08 0C0B7A25 */ jal func_802DE894 +/* C49AEC 80242F0C 00A0382D */ daddu $a3, $a1, $zero +/* C49AF0 80242F10 8E02006C */ lw $v0, 0x6c($s0) +/* C49AF4 80242F14 30421000 */ andi $v0, $v0, 0x1000 +/* C49AF8 80242F18 10400008 */ beqz $v0, .L80242F3C +/* C49AFC 80242F1C 00000000 */ nop +/* C49B00 80242F20 3C048000 */ lui $a0, 0x8000 +/* C49B04 80242F24 0C05271B */ jal stop_sound +/* C49B08 80242F28 34840011 */ ori $a0, $a0, 0x11 +/* C49B0C 80242F2C 8E02006C */ lw $v0, 0x6c($s0) +/* C49B10 80242F30 2403EFFF */ addiu $v1, $zero, -0x1001 +/* C49B14 80242F34 00431024 */ and $v0, $v0, $v1 +/* C49B18 80242F38 AE02006C */ sw $v0, 0x6c($s0) +.L80242F3C: +/* C49B1C 80242F3C 8E0200CC */ lw $v0, 0xcc($s0) +/* C49B20 80242F40 8C430024 */ lw $v1, 0x24($v0) +/* C49B24 80242F44 24020014 */ addiu $v0, $zero, 0x14 +/* C49B28 80242F48 A622008E */ sh $v0, 0x8e($s1) +/* C49B2C 80242F4C 24020011 */ addiu $v0, $zero, 0x11 +/* C49B30 80242F50 AE230028 */ sw $v1, 0x28($s1) +/* C49B34 80242F54 AE420070 */ sw $v0, 0x70($s2) +/* C49B38 80242F58 8FBF002C */ lw $ra, 0x2c($sp) +/* C49B3C 80242F5C 8FB20028 */ lw $s2, 0x28($sp) +/* C49B40 80242F60 8FB10024 */ lw $s1, 0x24($sp) +/* C49B44 80242F64 8FB00020 */ lw $s0, 0x20($sp) +/* C49B48 80242F68 03E00008 */ jr $ra +/* C49B4C 80242F6C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80242F70.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242F70.s new file mode 100644 index 0000000000..7d9921c784 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80242F70.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F70 +/* C49B50 80242F70 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C49B54 80242F74 AFB20048 */ sw $s2, 0x48($sp) +/* C49B58 80242F78 0080902D */ daddu $s2, $a0, $zero +/* C49B5C 80242F7C AFBF004C */ sw $ra, 0x4c($sp) +/* C49B60 80242F80 AFB10044 */ sw $s1, 0x44($sp) +/* C49B64 80242F84 AFB00040 */ sw $s0, 0x40($sp) +/* C49B68 80242F88 F7B40050 */ sdc1 $f20, 0x50($sp) +/* C49B6C 80242F8C 8E500148 */ lw $s0, 0x148($s2) +/* C49B70 80242F90 0C00EABB */ jal get_npc_unsafe +/* C49B74 80242F94 86040008 */ lh $a0, 8($s0) +/* C49B78 80242F98 27A50028 */ addiu $a1, $sp, 0x28 +/* C49B7C 80242F9C 0040882D */ daddu $s1, $v0, $zero +/* C49B80 80242FA0 27A6002C */ addiu $a2, $sp, 0x2c +/* C49B84 80242FA4 27A70030 */ addiu $a3, $sp, 0x30 +/* C49B88 80242FA8 C620003C */ lwc1 $f0, 0x3c($s1) +/* C49B8C 80242FAC 3C014004 */ lui $at, 0x4004 +/* C49B90 80242FB0 44811800 */ mtc1 $at, $f3 +/* C49B94 80242FB4 44801000 */ mtc1 $zero, $f2 +/* C49B98 80242FB8 C6260038 */ lwc1 $f6, 0x38($s1) +/* C49B9C 80242FBC 46000021 */ cvt.d.s $f0, $f0 +/* C49BA0 80242FC0 46220000 */ add.d $f0, $f0, $f2 +/* C49BA4 80242FC4 3C01447A */ lui $at, 0x447a +/* C49BA8 80242FC8 44812000 */ mtc1 $at, $f4 +/* C49BAC 80242FCC C6020078 */ lwc1 $f2, 0x78($s0) +/* C49BB0 80242FD0 468010A0 */ cvt.s.w $f2, $f2 +/* C49BB4 80242FD4 46200020 */ cvt.s.d $f0, $f0 +/* C49BB8 80242FD8 E620003C */ swc1 $f0, 0x3c($s1) +/* C49BBC 80242FDC 46000206 */ mov.s $f8, $f0 +/* C49BC0 80242FE0 C6200040 */ lwc1 $f0, 0x40($s1) +/* C49BC4 80242FE4 27A20034 */ addiu $v0, $sp, 0x34 +/* C49BC8 80242FE8 E7A00030 */ swc1 $f0, 0x30($sp) +/* C49BCC 80242FEC 3C014059 */ lui $at, 0x4059 +/* C49BD0 80242FF0 44810800 */ mtc1 $at, $f1 +/* C49BD4 80242FF4 44800000 */ mtc1 $zero, $f0 +/* C49BD8 80242FF8 460010A1 */ cvt.d.s $f2, $f2 +/* C49BDC 80242FFC E7A60028 */ swc1 $f6, 0x28($sp) +/* C49BE0 80243000 E7A40034 */ swc1 $f4, 0x34($sp) +/* C49BE4 80243004 E7A8002C */ swc1 $f8, 0x2c($sp) +/* C49BE8 80243008 AFA20010 */ sw $v0, 0x10($sp) +/* C49BEC 8024300C 8E240080 */ lw $a0, 0x80($s1) +/* C49BF0 80243010 46201083 */ div.d $f2, $f2, $f0 +/* C49BF4 80243014 0C0372DF */ jal func_800DCB7C +/* C49BF8 80243018 46201520 */ cvt.s.d $f20, $f2 +/* C49BFC 8024301C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C49C00 80243020 46140000 */ add.s $f0, $f0, $f20 +/* C49C04 80243024 C622003C */ lwc1 $f2, 0x3c($s1) +/* C49C08 80243028 4600103C */ c.lt.s $f2, $f0 +/* C49C0C 8024302C 00000000 */ nop +/* C49C10 80243030 45010028 */ bc1t .L802430D4 +/* C49C14 80243034 00000000 */ nop +/* C49C18 80243038 8E0200D0 */ lw $v0, 0xd0($s0) +/* C49C1C 8024303C C62C0038 */ lwc1 $f12, 0x38($s1) +/* C49C20 80243040 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C49C24 80243044 C44A0000 */ lwc1 $f10, ($v0) +/* C49C28 80243048 468052A0 */ cvt.s.w $f10, $f10 +/* C49C2C 8024304C 44065000 */ mfc1 $a2, $f10 +/* C49C30 80243050 C44A0008 */ lwc1 $f10, 8($v0) +/* C49C34 80243054 468052A0 */ cvt.s.w $f10, $f10 +/* C49C38 80243058 44075000 */ mfc1 $a3, $f10 +/* C49C3C 8024305C 0C00A720 */ jal atan2 +/* C49C40 80243060 2410000A */ addiu $s0, $zero, 0xa +/* C49C44 80243064 24040002 */ addiu $a0, $zero, 2 +/* C49C48 80243068 0220282D */ daddu $a1, $s1, $zero +/* C49C4C 8024306C 0000302D */ daddu $a2, $zero, $zero +/* C49C50 80243070 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* C49C54 80243074 862200A8 */ lh $v0, 0xa8($s1) +/* C49C58 80243078 E620000C */ swc1 $f0, 0xc($s1) +/* C49C5C 8024307C 3C013F80 */ lui $at, 0x3f80 +/* C49C60 80243080 44810000 */ mtc1 $at, $f0 +/* C49C64 80243084 3C014000 */ lui $at, 0x4000 +/* C49C68 80243088 44812000 */ mtc1 $at, $f4 +/* C49C6C 8024308C 3C01C1A0 */ lui $at, 0xc1a0 +/* C49C70 80243090 44813000 */ mtc1 $at, $f6 +/* C49C74 80243094 44825000 */ mtc1 $v0, $f10 +/* C49C78 80243098 00000000 */ nop +/* C49C7C 8024309C 468052A0 */ cvt.s.w $f10, $f10 +/* C49C80 802430A0 46141080 */ add.s $f2, $f2, $f20 +/* C49C84 802430A4 44075000 */ mfc1 $a3, $f10 +/* C49C88 802430A8 27A20038 */ addiu $v0, $sp, 0x38 +/* C49C8C 802430AC E622003C */ swc1 $f2, 0x3c($s1) +/* C49C90 802430B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C49C94 802430B4 E7A40014 */ swc1 $f4, 0x14($sp) +/* C49C98 802430B8 E7A60018 */ swc1 $f6, 0x18($sp) +/* C49C9C 802430BC AFB0001C */ sw $s0, 0x1c($sp) +/* C49CA0 802430C0 0C01BFA4 */ jal fx_emote +/* C49CA4 802430C4 AFA20020 */ sw $v0, 0x20($sp) +/* C49CA8 802430C8 24020012 */ addiu $v0, $zero, 0x12 +/* C49CAC 802430CC A630008E */ sh $s0, 0x8e($s1) +/* C49CB0 802430D0 AE420070 */ sw $v0, 0x70($s2) +.L802430D4: +/* C49CB4 802430D4 8FBF004C */ lw $ra, 0x4c($sp) +/* C49CB8 802430D8 8FB20048 */ lw $s2, 0x48($sp) +/* C49CBC 802430DC 8FB10044 */ lw $s1, 0x44($sp) +/* C49CC0 802430E0 8FB00040 */ lw $s0, 0x40($sp) +/* C49CC4 802430E4 D7B40050 */ ldc1 $f20, 0x50($sp) +/* C49CC8 802430E8 03E00008 */ jr $ra +/* C49CCC 802430EC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802430F0_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802430F0_C46BE0.s new file mode 100644 index 0000000000..9556a309e8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802430F0_C46BE0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430F0_C49CD0 +/* C49CD0 802430F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C49CD4 802430F4 AFB00010 */ sw $s0, 0x10($sp) +/* C49CD8 802430F8 0080802D */ daddu $s0, $a0, $zero +/* C49CDC 802430FC AFBF0014 */ sw $ra, 0x14($sp) +/* C49CE0 80243100 8E020148 */ lw $v0, 0x148($s0) +/* C49CE4 80243104 0C00EABB */ jal get_npc_unsafe +/* C49CE8 80243108 84440008 */ lh $a0, 8($v0) +/* C49CEC 8024310C 9443008E */ lhu $v1, 0x8e($v0) +/* C49CF0 80243110 2463FFFF */ addiu $v1, $v1, -1 +/* C49CF4 80243114 A443008E */ sh $v1, 0x8e($v0) +/* C49CF8 80243118 00031C00 */ sll $v1, $v1, 0x10 +/* C49CFC 8024311C 1C600002 */ bgtz $v1, .L80243128 +/* C49D00 80243120 2402001E */ addiu $v0, $zero, 0x1e +/* C49D04 80243124 AE020070 */ sw $v0, 0x70($s0) +.L80243128: +/* C49D08 80243128 8FBF0014 */ lw $ra, 0x14($sp) +/* C49D0C 8024312C 8FB00010 */ lw $s0, 0x10($sp) +/* C49D10 80243130 03E00008 */ jr $ra +/* C49D14 80243134 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80243138.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243138.s new file mode 100644 index 0000000000..9840bbe3af --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243138.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243138 +/* C49D18 80243138 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C49D1C 8024313C AFB00010 */ sw $s0, 0x10($sp) +/* C49D20 80243140 0080802D */ daddu $s0, $a0, $zero +/* C49D24 80243144 AFBF0014 */ sw $ra, 0x14($sp) +/* C49D28 80243148 8E020148 */ lw $v0, 0x148($s0) +/* C49D2C 8024314C 0C00EABB */ jal get_npc_unsafe +/* C49D30 80243150 84440008 */ lh $a0, 8($v0) +/* C49D34 80243154 0040202D */ daddu $a0, $v0, $zero +/* C49D38 80243158 9482008E */ lhu $v0, 0x8e($a0) +/* C49D3C 8024315C 24420001 */ addiu $v0, $v0, 1 +/* C49D40 80243160 A482008E */ sh $v0, 0x8e($a0) +/* C49D44 80243164 00021400 */ sll $v0, $v0, 0x10 +/* C49D48 80243168 00021403 */ sra $v0, $v0, 0x10 +/* C49D4C 8024316C 28420003 */ slti $v0, $v0, 3 +/* C49D50 80243170 1440000D */ bnez $v0, .L802431A8 +/* C49D54 80243174 24020009 */ addiu $v0, $zero, 9 +/* C49D58 80243178 3C038011 */ lui $v1, 0x8011 +/* C49D5C 8024317C 8063EBB3 */ lb $v1, -0x144d($v1) +/* C49D60 80243180 10620003 */ beq $v1, $v0, .L80243190 +/* C49D64 80243184 24020064 */ addiu $v0, $zero, 0x64 +/* C49D68 80243188 08090C69 */ j .L802431A4 +/* C49D6C 8024318C A480008E */ sh $zero, 0x8e($a0) +.L80243190: +/* C49D70 80243190 0C038069 */ jal enable_player_input +/* C49D74 80243194 00000000 */ nop +/* C49D78 80243198 0C03BD80 */ jal func_800EF600 +/* C49D7C 8024319C 00000000 */ nop +/* C49D80 802431A0 24020010 */ addiu $v0, $zero, 0x10 +.L802431A4: +/* C49D84 802431A4 AE020070 */ sw $v0, 0x70($s0) +.L802431A8: +/* C49D88 802431A8 8FBF0014 */ lw $ra, 0x14($sp) +/* C49D8C 802431AC 8FB00010 */ lw $s0, 0x10($sp) +/* C49D90 802431B0 03E00008 */ jr $ra +/* C49D94 802431B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_802431B8.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_802431B8.s new file mode 100644 index 0000000000..08127ff01b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_802431B8.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431B8 +/* C49D98 802431B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C49D9C 802431BC AFB20018 */ sw $s2, 0x18($sp) +/* C49DA0 802431C0 0080902D */ daddu $s2, $a0, $zero +/* C49DA4 802431C4 AFBF001C */ sw $ra, 0x1c($sp) +/* C49DA8 802431C8 AFB10014 */ sw $s1, 0x14($sp) +/* C49DAC 802431CC AFB00010 */ sw $s0, 0x10($sp) +/* C49DB0 802431D0 8E500148 */ lw $s0, 0x148($s2) +/* C49DB4 802431D4 86040008 */ lh $a0, 8($s0) +/* C49DB8 802431D8 0C00EABB */ jal get_npc_unsafe +/* C49DBC 802431DC 00A0882D */ daddu $s1, $a1, $zero +/* C49DC0 802431E0 3C05FFDF */ lui $a1, 0xffdf +/* C49DC4 802431E4 8E03006C */ lw $v1, 0x6c($s0) +/* C49DC8 802431E8 2404FEFF */ addiu $a0, $zero, -0x101 +/* C49DCC 802431EC 00641824 */ and $v1, $v1, $a0 +/* C49DD0 802431F0 AE03006C */ sw $v1, 0x6c($s0) +/* C49DD4 802431F4 8C430000 */ lw $v1, ($v0) +/* C49DD8 802431F8 34A5FFFF */ ori $a1, $a1, 0xffff +/* C49DDC 802431FC 00651824 */ and $v1, $v1, $a1 +/* C49DE0 80243200 AC430000 */ sw $v1, ($v0) +/* C49DE4 80243204 C6200000 */ lwc1 $f0, ($s1) +/* C49DE8 80243208 46000021 */ cvt.d.s $f0, $f0 +/* C49DEC 8024320C 46200000 */ add.d $f0, $f0, $f0 +/* C49DF0 80243210 46200020 */ cvt.s.d $f0, $f0 +/* C49DF4 80243214 E4400018 */ swc1 $f0, 0x18($v0) +/* C49DF8 80243218 AE000074 */ sw $zero, 0x74($s0) +/* C49DFC 8024321C C440003C */ lwc1 $f0, 0x3c($v0) +/* C49E00 80243220 3C014059 */ lui $at, 0x4059 +/* C49E04 80243224 44811800 */ mtc1 $at, $f3 +/* C49E08 80243228 44801000 */ mtc1 $zero, $f2 +/* C49E0C 8024322C 46000021 */ cvt.d.s $f0, $f0 +/* C49E10 80243230 46220002 */ mul.d $f0, $f0, $f2 +/* C49E14 80243234 00000000 */ nop +/* C49E18 80243238 2402001E */ addiu $v0, $zero, 0x1e +/* C49E1C 8024323C 4620010D */ trunc.w.d $f4, $f0 +/* C49E20 80243240 E604007C */ swc1 $f4, 0x7c($s0) +/* C49E24 80243244 AE420074 */ sw $v0, 0x74($s2) +/* C49E28 80243248 8FBF001C */ lw $ra, 0x1c($sp) +/* C49E2C 8024324C 8FB20018 */ lw $s2, 0x18($sp) +/* C49E30 80243250 8FB10014 */ lw $s1, 0x14($sp) +/* C49E34 80243254 8FB00010 */ lw $s0, 0x10($sp) +/* C49E38 80243258 03E00008 */ jr $ra +/* C49E3C 8024325C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80243260.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243260.s new file mode 100644 index 0000000000..8ffaaa5b4e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243260.s @@ -0,0 +1,207 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243260 +/* C49E40 80243260 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C49E44 80243264 AFB20048 */ sw $s2, 0x48($sp) +/* C49E48 80243268 0080902D */ daddu $s2, $a0, $zero +/* C49E4C 8024326C AFBF0054 */ sw $ra, 0x54($sp) +/* C49E50 80243270 AFB40050 */ sw $s4, 0x50($sp) +/* C49E54 80243274 AFB3004C */ sw $s3, 0x4c($sp) +/* C49E58 80243278 AFB10044 */ sw $s1, 0x44($sp) +/* C49E5C 8024327C AFB00040 */ sw $s0, 0x40($sp) +/* C49E60 80243280 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C49E64 80243284 F7B80068 */ sdc1 $f24, 0x68($sp) +/* C49E68 80243288 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C49E6C 8024328C F7B40058 */ sdc1 $f20, 0x58($sp) +/* C49E70 80243290 8E500148 */ lw $s0, 0x148($s2) +/* C49E74 80243294 00A0982D */ daddu $s3, $a1, $zero +/* C49E78 80243298 86040008 */ lh $a0, 8($s0) +/* C49E7C 8024329C 0C00EABB */ jal get_npc_unsafe +/* C49E80 802432A0 00C0A02D */ daddu $s4, $a2, $zero +/* C49E84 802432A4 0040882D */ daddu $s1, $v0, $zero +/* C49E88 802432A8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C49E8C 802432AC C622003C */ lwc1 $f2, 0x3c($s1) +/* C49E90 802432B0 C6240040 */ lwc1 $f4, 0x40($s1) +/* C49E94 802432B4 3C01447A */ lui $at, 0x447a +/* C49E98 802432B8 44813000 */ mtc1 $at, $f6 +/* C49E9C 802432BC C60C0074 */ lwc1 $f12, 0x74($s0) +/* C49EA0 802432C0 46806320 */ cvt.s.w $f12, $f12 +/* C49EA4 802432C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C49EA8 802432C8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C49EAC 802432CC E7A40030 */ swc1 $f4, 0x30($sp) +/* C49EB0 802432D0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C49EB4 802432D4 C6000078 */ lwc1 $f0, 0x78($s0) +/* C49EB8 802432D8 46800020 */ cvt.s.w $f0, $f0 +/* C49EBC 802432DC 46000021 */ cvt.d.s $f0, $f0 +/* C49EC0 802432E0 C6020088 */ lwc1 $f2, 0x88($s0) +/* C49EC4 802432E4 468010A0 */ cvt.s.w $f2, $f2 +/* C49EC8 802432E8 3C014059 */ lui $at, 0x4059 +/* C49ECC 802432EC 44812800 */ mtc1 $at, $f5 +/* C49ED0 802432F0 44802000 */ mtc1 $zero, $f4 +/* C49ED4 802432F4 460010A1 */ cvt.d.s $f2, $f2 +/* C49ED8 802432F8 46240003 */ div.d $f0, $f0, $f4 +/* C49EDC 802432FC 462006A0 */ cvt.s.d $f26, $f0 +/* C49EE0 80243300 46241083 */ div.d $f2, $f2, $f4 +/* C49EE4 80243304 462010A0 */ cvt.s.d $f2, $f2 +/* C49EE8 80243308 C6000070 */ lwc1 $f0, 0x70($s0) +/* C49EEC 8024330C 46800020 */ cvt.s.w $f0, $f0 +/* C49EF0 80243310 46000021 */ cvt.d.s $f0, $f0 +/* C49EF4 80243314 46240003 */ div.d $f0, $f0, $f4 +/* C49EF8 80243318 462005A0 */ cvt.s.d $f22, $f0 +/* C49EFC 8024331C 0C00A8BB */ jal sin_deg +/* C49F00 80243320 4602D600 */ add.s $f24, $f26, $f2 +/* C49F04 80243324 27A50028 */ addiu $a1, $sp, 0x28 +/* C49F08 80243328 27A6002C */ addiu $a2, $sp, 0x2c +/* C49F0C 8024332C 27A70030 */ addiu $a3, $sp, 0x30 +/* C49F10 80243330 27A20034 */ addiu $v0, $sp, 0x34 +/* C49F14 80243334 AFA20010 */ sw $v0, 0x10($sp) +/* C49F18 80243338 8E240080 */ lw $a0, 0x80($s1) +/* C49F1C 8024333C 0C0372DF */ jal func_800DCB7C +/* C49F20 80243340 46000506 */ mov.s $f20, $f0 +/* C49F24 80243344 10400007 */ beqz $v0, .L80243364 +/* C49F28 80243348 00000000 */ nop +/* C49F2C 8024334C 4616A082 */ mul.s $f2, $f20, $f22 +/* C49F30 80243350 00000000 */ nop +/* C49F34 80243354 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C49F38 80243358 461A0000 */ add.s $f0, $f0, $f26 +/* C49F3C 8024335C 08090CDC */ j .L80243370 +/* C49F40 80243360 46020000 */ add.s $f0, $f0, $f2 +.L80243364: +/* C49F44 80243364 4616A002 */ mul.s $f0, $f20, $f22 +/* C49F48 80243368 00000000 */ nop +/* C49F4C 8024336C 4600C000 */ add.s $f0, $f24, $f0 +.L80243370: +/* C49F50 80243370 E620003C */ swc1 $f0, 0x3c($s1) +/* C49F54 80243374 8E020074 */ lw $v0, 0x74($s0) +/* C49F58 80243378 2442000C */ addiu $v0, $v0, 0xc +/* C49F5C 8024337C 44826000 */ mtc1 $v0, $f12 +/* C49F60 80243380 00000000 */ nop +/* C49F64 80243384 0C00A6C9 */ jal clamp_angle +/* C49F68 80243388 46806320 */ cvt.s.w $f12, $f12 +/* C49F6C 8024338C 4600020D */ trunc.w.s $f8, $f0 +/* C49F70 80243390 E6080074 */ swc1 $f8, 0x74($s0) +/* C49F74 80243394 8E420074 */ lw $v0, 0x74($s2) +/* C49F78 80243398 1C400037 */ bgtz $v0, .L80243478 +/* C49F7C 8024339C 2442FFFF */ addiu $v0, $v0, -1 +/* C49F80 802433A0 8E620014 */ lw $v0, 0x14($s3) +/* C49F84 802433A4 AE420074 */ sw $v0, 0x74($s2) +/* C49F88 802433A8 C662000C */ lwc1 $f2, 0xc($s3) +/* C49F8C 802433AC 3C013FE0 */ lui $at, 0x3fe0 +/* C49F90 802433B0 44812800 */ mtc1 $at, $f5 +/* C49F94 802433B4 44802000 */ mtc1 $zero, $f4 +/* C49F98 802433B8 460010A1 */ cvt.d.s $f2, $f2 +/* C49F9C 802433BC 46241082 */ mul.d $f2, $f2, $f4 +/* C49FA0 802433C0 00000000 */ nop +/* C49FA4 802433C4 C6600010 */ lwc1 $f0, 0x10($s3) +/* C49FA8 802433C8 46000021 */ cvt.d.s $f0, $f0 +/* C49FAC 802433CC 46240002 */ mul.d $f0, $f0, $f4 +/* C49FB0 802433D0 00000000 */ nop +/* C49FB4 802433D4 0280202D */ daddu $a0, $s4, $zero +/* C49FB8 802433D8 462010A0 */ cvt.s.d $f2, $f2 +/* C49FBC 802433DC 46200020 */ cvt.s.d $f0, $f0 +/* C49FC0 802433E0 44061000 */ mfc1 $a2, $f2 +/* C49FC4 802433E4 44070000 */ mfc1 $a3, $f0 +/* C49FC8 802433E8 0200282D */ daddu $a1, $s0, $zero +/* C49FCC 802433EC 0C01242D */ jal func_800490B4 +/* C49FD0 802433F0 AFA00010 */ sw $zero, 0x10($sp) +/* C49FD4 802433F4 1040001E */ beqz $v0, .L80243470 +/* C49FD8 802433F8 0000202D */ daddu $a0, $zero, $zero +/* C49FDC 802433FC 0220282D */ daddu $a1, $s1, $zero +/* C49FE0 80243400 0000302D */ daddu $a2, $zero, $zero +/* C49FE4 80243404 2410000C */ addiu $s0, $zero, 0xc +/* C49FE8 80243408 862300A8 */ lh $v1, 0xa8($s1) +/* C49FEC 8024340C 3C013F80 */ lui $at, 0x3f80 +/* C49FF0 80243410 44810000 */ mtc1 $at, $f0 +/* C49FF4 80243414 3C014000 */ lui $at, 0x4000 +/* C49FF8 80243418 44811000 */ mtc1 $at, $f2 +/* C49FFC 8024341C 3C01C1A0 */ lui $at, 0xc1a0 +/* C4A000 80243420 44812000 */ mtc1 $at, $f4 +/* C4A004 80243424 44834000 */ mtc1 $v1, $f8 +/* C4A008 80243428 00000000 */ nop +/* C4A00C 8024342C 46804220 */ cvt.s.w $f8, $f8 +/* C4A010 80243430 44074000 */ mfc1 $a3, $f8 +/* C4A014 80243434 27A20038 */ addiu $v0, $sp, 0x38 +/* C4A018 80243438 AFB0001C */ sw $s0, 0x1c($sp) +/* C4A01C 8024343C AFA20020 */ sw $v0, 0x20($sp) +/* C4A020 80243440 E7A00010 */ swc1 $f0, 0x10($sp) +/* C4A024 80243444 E7A20014 */ swc1 $f2, 0x14($sp) +/* C4A028 80243448 0C01BFA4 */ jal fx_emote +/* C4A02C 8024344C E7A40018 */ swc1 $f4, 0x18($sp) +/* C4A030 80243450 0220202D */ daddu $a0, $s1, $zero +/* C4A034 80243454 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C4A038 80243458 0C012530 */ jal func_800494C0 +/* C4A03C 8024345C 3C060020 */ lui $a2, 0x20 +/* C4A040 80243460 C620003C */ lwc1 $f0, 0x3c($s1) +/* C4A044 80243464 E6200064 */ swc1 $f0, 0x64($s1) +/* C4A048 80243468 08090D52 */ j .L80243548 +/* C4A04C 8024346C AE500070 */ sw $s0, 0x70($s2) +.L80243470: +/* C4A050 80243470 8E420074 */ lw $v0, 0x74($s2) +/* C4A054 80243474 2442FFFF */ addiu $v0, $v0, -1 +.L80243478: +/* C4A058 80243478 AE420074 */ sw $v0, 0x74($s2) +/* C4A05C 8024347C 8622008C */ lh $v0, 0x8c($s1) +/* C4A060 80243480 14400031 */ bnez $v0, .L80243548 +/* C4A064 80243484 00000000 */ nop +/* C4A068 80243488 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C4A06C 8024348C 8E0200D0 */ lw $v0, 0xd0($s0) +/* C4A070 80243490 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C4A074 80243494 C4480000 */ lwc1 $f8, ($v0) +/* C4A078 80243498 46804220 */ cvt.s.w $f8, $f8 +/* C4A07C 8024349C 44064000 */ mfc1 $a2, $f8 +/* C4A080 802434A0 C4480008 */ lwc1 $f8, 8($v0) +/* C4A084 802434A4 46804220 */ cvt.s.w $f8, $f8 +/* C4A088 802434A8 44074000 */ mfc1 $a3, $f8 +/* C4A08C 802434AC 0C00A720 */ jal atan2 +/* C4A090 802434B0 00000000 */ nop +/* C4A094 802434B4 8E250018 */ lw $a1, 0x18($s1) +/* C4A098 802434B8 44060000 */ mfc1 $a2, $f0 +/* C4A09C 802434BC 0220202D */ daddu $a0, $s1, $zero +/* C4A0A0 802434C0 0C00EA95 */ jal npc_move_heading +/* C4A0A4 802434C4 AE26000C */ sw $a2, 0xc($s1) +/* C4A0A8 802434C8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C4A0AC 802434CC 8E0200D0 */ lw $v0, 0xd0($s0) +/* C4A0B0 802434D0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C4A0B4 802434D4 C4480000 */ lwc1 $f8, ($v0) +/* C4A0B8 802434D8 46804220 */ cvt.s.w $f8, $f8 +/* C4A0BC 802434DC 44064000 */ mfc1 $a2, $f8 +/* C4A0C0 802434E0 C4480008 */ lwc1 $f8, 8($v0) +/* C4A0C4 802434E4 46804220 */ cvt.s.w $f8, $f8 +/* C4A0C8 802434E8 44074000 */ mfc1 $a3, $f8 +/* C4A0CC 802434EC 0C00A7B5 */ jal dist2D +/* C4A0D0 802434F0 00000000 */ nop +/* C4A0D4 802434F4 C6220018 */ lwc1 $f2, 0x18($s1) +/* C4A0D8 802434F8 46021080 */ add.s $f2, $f2, $f2 +/* C4A0DC 802434FC 4602003E */ c.le.s $f0, $f2 +/* C4A0E0 80243500 00000000 */ nop +/* C4A0E4 80243504 45000010 */ bc1f .L80243548 +/* C4A0E8 80243508 E7A00034 */ swc1 $f0, 0x34($sp) +/* C4A0EC 8024350C 0C00A67F */ jal rand_int +/* C4A0F0 80243510 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C4A0F4 80243514 3C035555 */ lui $v1, 0x5555 +/* C4A0F8 80243518 34635556 */ ori $v1, $v1, 0x5556 +/* C4A0FC 8024351C 00430018 */ mult $v0, $v1 +/* C4A100 80243520 24030002 */ addiu $v1, $zero, 2 +/* C4A104 80243524 000227C3 */ sra $a0, $v0, 0x1f +/* C4A108 80243528 AE430070 */ sw $v1, 0x70($s2) +/* C4A10C 8024352C 00004010 */ mfhi $t0 +/* C4A110 80243530 01042023 */ subu $a0, $t0, $a0 +/* C4A114 80243534 00041840 */ sll $v1, $a0, 1 +/* C4A118 80243538 00641821 */ addu $v1, $v1, $a0 +/* C4A11C 8024353C 00431023 */ subu $v0, $v0, $v1 +/* C4A120 80243540 24420002 */ addiu $v0, $v0, 2 +/* C4A124 80243544 AE420074 */ sw $v0, 0x74($s2) +.L80243548: +/* C4A128 80243548 8FBF0054 */ lw $ra, 0x54($sp) +/* C4A12C 8024354C 8FB40050 */ lw $s4, 0x50($sp) +/* C4A130 80243550 8FB3004C */ lw $s3, 0x4c($sp) +/* C4A134 80243554 8FB20048 */ lw $s2, 0x48($sp) +/* C4A138 80243558 8FB10044 */ lw $s1, 0x44($sp) +/* C4A13C 8024355C 8FB00040 */ lw $s0, 0x40($sp) +/* C4A140 80243560 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C4A144 80243564 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C4A148 80243568 D7B60060 */ ldc1 $f22, 0x60($sp) +/* C4A14C 8024356C D7B40058 */ ldc1 $f20, 0x58($sp) +/* C4A150 80243570 03E00008 */ jr $ra +/* C4A154 80243574 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/func_80243578_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243578_C46BE0.s new file mode 100644 index 0000000000..786d788b63 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/func_80243578_C46BE0.s @@ -0,0 +1,169 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243578_C4A158 +/* C4A158 80243578 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C4A15C 8024357C AFB40050 */ sw $s4, 0x50($sp) +/* C4A160 80243580 0080A02D */ daddu $s4, $a0, $zero +/* C4A164 80243584 AFBF0058 */ sw $ra, 0x58($sp) +/* C4A168 80243588 AFB50054 */ sw $s5, 0x54($sp) +/* C4A16C 8024358C AFB3004C */ sw $s3, 0x4c($sp) +/* C4A170 80243590 AFB20048 */ sw $s2, 0x48($sp) +/* C4A174 80243594 AFB10044 */ sw $s1, 0x44($sp) +/* C4A178 80243598 AFB00040 */ sw $s0, 0x40($sp) +/* C4A17C 8024359C 8E920148 */ lw $s2, 0x148($s4) +/* C4A180 802435A0 86440008 */ lh $a0, 8($s2) +/* C4A184 802435A4 0C00EABB */ jal get_npc_unsafe +/* C4A188 802435A8 00A0802D */ daddu $s0, $a1, $zero +/* C4A18C 802435AC 8E83000C */ lw $v1, 0xc($s4) +/* C4A190 802435B0 0280202D */ daddu $a0, $s4, $zero +/* C4A194 802435B4 8C650000 */ lw $a1, ($v1) +/* C4A198 802435B8 0C0B1EAF */ jal get_variable +/* C4A19C 802435BC 0040A82D */ daddu $s5, $v0, $zero +/* C4A1A0 802435C0 AFA00020 */ sw $zero, 0x20($sp) +/* C4A1A4 802435C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4A1A8 802435C8 8C630030 */ lw $v1, 0x30($v1) +/* C4A1AC 802435CC AFA30024 */ sw $v1, 0x24($sp) +/* C4A1B0 802435D0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4A1B4 802435D4 8C63001C */ lw $v1, 0x1c($v1) +/* C4A1B8 802435D8 AFA30028 */ sw $v1, 0x28($sp) +/* C4A1BC 802435DC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4A1C0 802435E0 8C630024 */ lw $v1, 0x24($v1) +/* C4A1C4 802435E4 AFA3002C */ sw $v1, 0x2c($sp) +/* C4A1C8 802435E8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4A1CC 802435EC 8C630028 */ lw $v1, 0x28($v1) +/* C4A1D0 802435F0 27B30020 */ addiu $s3, $sp, 0x20 +/* C4A1D4 802435F4 AFA30030 */ sw $v1, 0x30($sp) +/* C4A1D8 802435F8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C4A1DC 802435FC 3C0142FA */ lui $at, 0x42fa +/* C4A1E0 80243600 44810000 */ mtc1 $at, $f0 +/* C4A1E4 80243604 8C63002C */ lw $v1, 0x2c($v1) +/* C4A1E8 80243608 0040882D */ daddu $s1, $v0, $zero +/* C4A1EC 8024360C E7A00038 */ swc1 $f0, 0x38($sp) +/* C4A1F0 80243610 A7A0003C */ sh $zero, 0x3c($sp) +/* C4A1F4 80243614 12000007 */ beqz $s0, .L80243634 +/* C4A1F8 80243618 AFA30034 */ sw $v1, 0x34($sp) +/* C4A1FC 8024361C AE800070 */ sw $zero, 0x70($s4) +/* C4A200 80243620 02A0202D */ daddu $a0, $s5, $zero +/* C4A204 80243624 0240282D */ daddu $a1, $s2, $zero +/* C4A208 80243628 0280302D */ daddu $a2, $s4, $zero +/* C4A20C 8024362C 0C090983 */ jal func_8024260C +/* C4A210 80243630 0220382D */ daddu $a3, $s1, $zero +.L80243634: +/* C4A214 80243634 8E830070 */ lw $v1, 0x70($s4) +/* C4A218 80243638 2C620020 */ sltiu $v0, $v1, 0x20 +/* C4A21C 8024363C 10400060 */ beqz $v0, .L802437C0 +/* C4A220 80243640 00031080 */ sll $v0, $v1, 2 +/* C4A224 80243644 3C018024 */ lui $at, 0x8024 +/* C4A228 80243648 00220821 */ addu $at, $at, $v0 +/* C4A22C 8024364C 8C225728 */ lw $v0, 0x5728($at) +/* C4A230 80243650 00400008 */ jr $v0 +/* C4A234 80243654 00000000 */ nop +/* C4A238 80243658 0280202D */ daddu $a0, $s4, $zero +/* C4A23C 8024365C 0220282D */ daddu $a1, $s1, $zero +/* C4A240 80243660 0C090509 */ jal func_80241424 +/* C4A244 80243664 0260302D */ daddu $a2, $s3, $zero +/* C4A248 80243668 0000282D */ daddu $a1, $zero, $zero +/* C4A24C 8024366C 00A0302D */ daddu $a2, $a1, $zero +/* C4A250 80243670 AFA00010 */ sw $zero, 0x10($sp) +/* C4A254 80243674 AFA00014 */ sw $zero, 0x14($sp) +/* C4A258 80243678 AFA00018 */ sw $zero, 0x18($sp) +/* C4A25C 8024367C 8EA40024 */ lw $a0, 0x24($s5) +/* C4A260 80243680 0C0B7A25 */ jal func_802DE894 +/* C4A264 80243684 00A0382D */ daddu $a3, $a1, $zero +/* C4A268 80243688 0280202D */ daddu $a0, $s4, $zero +/* C4A26C 8024368C 0220282D */ daddu $a1, $s1, $zero +/* C4A270 80243690 0C090575 */ jal func_802415D4 +/* C4A274 80243694 0260302D */ daddu $a2, $s3, $zero +/* C4A278 80243698 08090DB0 */ j .L802436C0 +/* C4A27C 8024369C 00000000 */ nop +/* C4A280 802436A0 0280202D */ daddu $a0, $s4, $zero +/* C4A284 802436A4 0220282D */ daddu $a1, $s1, $zero +/* C4A288 802436A8 0C0906FF */ jal func_80241BFC +/* C4A28C 802436AC 0260302D */ daddu $a2, $s3, $zero +/* C4A290 802436B0 0280202D */ daddu $a0, $s4, $zero +/* C4A294 802436B4 0220282D */ daddu $a1, $s1, $zero +/* C4A298 802436B8 0C09072F */ jal func_80241CBC +/* C4A29C 802436BC 0260302D */ daddu $a2, $s3, $zero +.L802436C0: +/* C4A2A0 802436C0 8E830070 */ lw $v1, 0x70($s4) +/* C4A2A4 802436C4 2402000C */ addiu $v0, $zero, 0xc +/* C4A2A8 802436C8 1462003D */ bne $v1, $v0, .L802437C0 +/* C4A2AC 802436CC 24020006 */ addiu $v0, $zero, 6 +/* C4A2B0 802436D0 08090DF0 */ j .L802437C0 +/* C4A2B4 802436D4 A6A2008E */ sh $v0, 0x8e($s5) +/* C4A2B8 802436D8 0280202D */ daddu $a0, $s4, $zero +/* C4A2BC 802436DC 0220282D */ daddu $a1, $s1, $zero +/* C4A2C0 802436E0 0C090A47 */ jal func_8024291C +/* C4A2C4 802436E4 0260302D */ daddu $a2, $s3, $zero +/* C4A2C8 802436E8 8E830070 */ lw $v1, 0x70($s4) +/* C4A2CC 802436EC 2402000D */ addiu $v0, $zero, 0xd +/* C4A2D0 802436F0 14620033 */ bne $v1, $v0, .L802437C0 +/* C4A2D4 802436F4 00000000 */ nop +/* C4A2D8 802436F8 0280202D */ daddu $a0, $s4, $zero +/* C4A2DC 802436FC 0220282D */ daddu $a1, $s1, $zero +/* C4A2E0 80243700 0C090A9D */ jal func_80242A74 +/* C4A2E4 80243704 0260302D */ daddu $a2, $s3, $zero +/* C4A2E8 80243708 08090DF0 */ j .L802437C0 +/* C4A2EC 8024370C 00000000 */ nop +/* C4A2F0 80243710 0280202D */ daddu $a0, $s4, $zero +/* C4A2F4 80243714 0220282D */ daddu $a1, $s1, $zero +/* C4A2F8 80243718 0C090ADE */ jal func_80242B78 +/* C4A2FC 8024371C 0260302D */ daddu $a2, $s3, $zero +/* C4A300 80243720 8E830070 */ lw $v1, 0x70($s4) +/* C4A304 80243724 2402000F */ addiu $v0, $zero, 0xf +/* C4A308 80243728 14620025 */ bne $v1, $v0, .L802437C0 +/* C4A30C 8024372C 00000000 */ nop +/* C4A310 80243730 0280202D */ daddu $a0, $s4, $zero +/* C4A314 80243734 0220282D */ daddu $a1, $s1, $zero +/* C4A318 80243738 0C090B07 */ jal func_80242C1C +/* C4A31C 8024373C 0260302D */ daddu $a2, $s3, $zero +/* C4A320 80243740 08090DF0 */ j .L802437C0 +/* C4A324 80243744 00000000 */ nop +/* C4A328 80243748 0280202D */ daddu $a0, $s4, $zero +/* C4A32C 8024374C 0220282D */ daddu $a1, $s1, $zero +/* C4A330 80243750 0C090BAE */ jal func_80242EB8 +/* C4A334 80243754 0260302D */ daddu $a2, $s3, $zero +/* C4A338 80243758 0280202D */ daddu $a0, $s4, $zero +/* C4A33C 8024375C 0220282D */ daddu $a1, $s1, $zero +/* C4A340 80243760 0C090BDC */ jal func_80242F70 +/* C4A344 80243764 0260302D */ daddu $a2, $s3, $zero +/* C4A348 80243768 08090DF0 */ j .L802437C0 +/* C4A34C 8024376C 00000000 */ nop +/* C4A350 80243770 0280202D */ daddu $a0, $s4, $zero +/* C4A354 80243774 0220282D */ daddu $a1, $s1, $zero +/* C4A358 80243778 0C090C3C */ jal func_802430F0 +/* C4A35C 8024377C 0260302D */ daddu $a2, $s3, $zero +/* C4A360 80243780 08090DF0 */ j .L802437C0 +/* C4A364 80243784 00000000 */ nop +/* C4A368 80243788 0280202D */ daddu $a0, $s4, $zero +/* C4A36C 8024378C 0220282D */ daddu $a1, $s1, $zero +/* C4A370 80243790 0C090C4E */ jal func_80243138 +/* C4A374 80243794 0260302D */ daddu $a2, $s3, $zero +/* C4A378 80243798 08090DF0 */ j .L802437C0 +/* C4A37C 8024379C 00000000 */ nop +/* C4A380 802437A0 0280202D */ daddu $a0, $s4, $zero +/* C4A384 802437A4 0220282D */ daddu $a1, $s1, $zero +/* C4A388 802437A8 0C090C6E */ jal func_802431B8 +/* C4A38C 802437AC 0260302D */ daddu $a2, $s3, $zero +/* C4A390 802437B0 0280202D */ daddu $a0, $s4, $zero +/* C4A394 802437B4 0220282D */ daddu $a1, $s1, $zero +/* C4A398 802437B8 0C090C98 */ jal func_80243260 +/* C4A39C 802437BC 0260302D */ daddu $a2, $s3, $zero +.L802437C0: +/* C4A3A0 802437C0 8E820070 */ lw $v0, 0x70($s4) +/* C4A3A4 802437C4 8FBF0058 */ lw $ra, 0x58($sp) +/* C4A3A8 802437C8 8FB50054 */ lw $s5, 0x54($sp) +/* C4A3AC 802437CC 8FB40050 */ lw $s4, 0x50($sp) +/* C4A3B0 802437D0 8FB3004C */ lw $s3, 0x4c($sp) +/* C4A3B4 802437D4 8FB20048 */ lw $s2, 0x48($sp) +/* C4A3B8 802437D8 8FB10044 */ lw $s1, 0x44($sp) +/* C4A3BC 802437DC 8FB00040 */ lw $s0, 0x40($sp) +/* C4A3C0 802437E0 38420064 */ xori $v0, $v0, 0x64 +/* C4A3C4 802437E4 2C420001 */ sltiu $v0, $v0, 1 +/* C4A3C8 802437E8 00021040 */ sll $v0, $v0, 1 +/* C4A3CC 802437EC 03E00008 */ jr $ra +/* C4A3D0 802437F0 27BD0060 */ addiu $sp, $sp, 0x60 +/* C4A3D4 802437F4 00000000 */ nop +/* C4A3D8 802437F8 00000000 */ nop +/* C4A3DC 802437FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_09/update_starpoints_display_C46BE0.s b/asm/nonmatchings/world/area_dgb/dgb_09/update_starpoints_display_C46BE0.s new file mode 100644 index 0000000000..aa14e1a4ef --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_09/update_starpoints_display_C46BE0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_C46F9C +/* C46F9C 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C46FA0 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* C46FA4 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* C46FA8 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* C46FAC 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* C46FB0 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* C46FB4 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* C46FB8 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* C46FBC 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* C46FC0 802403E0 86240008 */ lh $a0, 8($s1) +/* C46FC4 802403E4 0C00EABB */ jal get_npc_unsafe +/* C46FC8 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* C46FCC 802403EC 16000005 */ bnez $s0, .L80240404 +/* C46FD0 802403F0 0040902D */ daddu $s2, $v0, $zero +/* C46FD4 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C46FD8 802403F8 30420004 */ andi $v0, $v0, 4 +/* C46FDC 802403FC 10400015 */ beqz $v0, .L80240454 +/* C46FE0 80240400 00000000 */ nop +.L80240404: +/* C46FE4 80240404 AE800070 */ sw $zero, 0x70($s4) +/* C46FE8 80240408 8E420000 */ lw $v0, ($s2) +/* C46FEC 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* C46FF0 80240410 A640008E */ sh $zero, 0x8e($s2) +/* C46FF4 80240414 34420102 */ ori $v0, $v0, 0x102 +/* C46FF8 80240418 AE420000 */ sw $v0, ($s2) +/* C46FFC 8024041C 8E220000 */ lw $v0, ($s1) +/* C47000 80240420 3C01C47A */ lui $at, 0xc47a +/* C47004 80240424 44810000 */ mtc1 $at, $f0 +/* C47008 80240428 00431025 */ or $v0, $v0, $v1 +/* C4700C 8024042C AE220000 */ sw $v0, ($s1) +/* C47010 80240430 AE400038 */ sw $zero, 0x38($s2) +/* C47014 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* C47018 80240438 AE400040 */ sw $zero, 0x40($s2) +/* C4701C 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C47020 80240440 30620004 */ andi $v0, $v1, 4 +/* C47024 80240444 10400003 */ beqz $v0, .L80240454 +/* C47028 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* C4702C 8024044C 00621024 */ and $v0, $v1, $v0 +/* C47030 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* C47034 80240454 8E930070 */ lw $s3, 0x70($s4) +/* C47038 80240458 12600005 */ beqz $s3, .L80240470 +/* C4703C 8024045C 24020001 */ addiu $v0, $zero, 1 +/* C47040 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* C47044 80240464 00000000 */ nop +/* C47048 80240468 0809017E */ j .L802405F8 +/* C4704C 8024046C 00000000 */ nop +.L80240470: +/* C47050 80240470 86240008 */ lh $a0, 8($s1) +/* C47054 80240474 0C00FB3A */ jal get_enemy +/* C47058 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* C4705C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* C47060 80240480 0C00EABB */ jal get_npc_unsafe +/* C47064 80240484 86040008 */ lh $a0, 8($s0) +/* C47068 80240488 24030001 */ addiu $v1, $zero, 1 +/* C4706C 8024048C 0040982D */ daddu $s3, $v0, $zero +/* C47070 80240490 A2230007 */ sb $v1, 7($s1) +/* C47074 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* C47078 80240498 24020003 */ addiu $v0, $zero, 3 +/* C4707C 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* C47080 802404A0 00000000 */ nop +/* C47084 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C47088 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* C4708C 802404AC 0260202D */ daddu $a0, $s3, $zero +/* C47090 802404B0 0C012530 */ jal func_800494C0 +/* C47094 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* C47098 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* C4709C 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* C470A0 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* C470A4 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C470A8 802404C8 3C014387 */ lui $at, 0x4387 +/* C470AC 802404CC 44810000 */ mtc1 $at, $f0 +/* C470B0 802404D0 44064000 */ mfc1 $a2, $f8 +/* C470B4 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* C470B8 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C470BC 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* C470C0 802404E0 44070000 */ mfc1 $a3, $f0 +/* C470C4 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* C470C8 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C470CC 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* C470D0 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* C470D4 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C470D8 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* C470DC 802404FC 44024000 */ mfc1 $v0, $f8 +/* C470E0 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* C470E4 80240504 A6220010 */ sh $v0, 0x10($s1) +/* C470E8 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* C470EC 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* C470F0 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* C470F4 80240514 46020000 */ add.s $f0, $f0, $f2 +/* C470F8 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C470FC 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C47100 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* C47104 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C47108 80240528 4600020D */ trunc.w.s $f8, $f0 +/* C4710C 8024052C 44024000 */ mfc1 $v0, $f8 +/* C47110 80240530 00000000 */ nop +/* C47114 80240534 A6220012 */ sh $v0, 0x12($s1) +/* C47118 80240538 4600120D */ trunc.w.s $f8, $f2 +/* C4711C 8024053C 44024000 */ mfc1 $v0, $f8 +/* C47120 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* C47124 80240544 A6220014 */ sh $v0, 0x14($s1) +/* C47128 80240548 8C660028 */ lw $a2, 0x28($v1) +/* C4712C 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* C47130 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C47134 80240554 0C00A720 */ jal atan2 +/* C47138 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C4713C 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* C47140 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* C47144 80240564 8E220000 */ lw $v0, ($s1) +/* C47148 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* C4714C 8024056C 00431024 */ and $v0, $v0, $v1 +/* C47150 80240570 AE220000 */ sw $v0, ($s1) +/* C47154 80240574 24020001 */ addiu $v0, $zero, 1 +/* C47158 80240578 A640008E */ sh $zero, 0x8e($s2) +/* C4715C 8024057C 0809017E */ j .L802405F8 +/* C47160 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* C47164 80240584 86240008 */ lh $a0, 8($s1) +/* C47168 80240588 0C00FB3A */ jal get_enemy +/* C4716C 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* C47170 80240590 0040802D */ daddu $s0, $v0, $zero +/* C47174 80240594 0C00EABB */ jal get_npc_unsafe +/* C47178 80240598 86040008 */ lh $a0, 8($s0) +/* C4717C 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* C47180 802405A0 24420001 */ addiu $v0, $v0, 1 +/* C47184 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* C47188 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* C4718C 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* C47190 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* C47194 802405B4 0043102A */ slt $v0, $v0, $v1 +/* C47198 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* C4719C 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* C471A0 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* C471A4 802405C4 24020004 */ addiu $v0, $zero, 4 +/* C471A8 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* C471AC 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* C471B0 802405D0 8E230000 */ lw $v1, ($s1) +/* C471B4 802405D4 3C01C47A */ lui $at, 0xc47a +/* C471B8 802405D8 44810000 */ mtc1 $at, $f0 +/* C471BC 802405DC 00621825 */ or $v1, $v1, $v0 +/* C471C0 802405E0 AE230000 */ sw $v1, ($s1) +/* C471C4 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* C471C8 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* C471CC 802405EC AE400040 */ sw $zero, 0x40($s2) +/* C471D0 802405F0 A2330007 */ sb $s3, 7($s1) +/* C471D4 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* C471D8 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* C471DC 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* C471E0 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* C471E4 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* C471E8 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* C471EC 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* C471F0 80240610 0000102D */ daddu $v0, $zero, $zero +/* C471F4 80240614 03E00008 */ jr $ra +/* C471F8 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_10/func_80240000_C4C390.s b/asm/nonmatchings/world/area_dgb/dgb_10/func_80240000_C4C390.s new file mode 100644 index 0000000000..3d0195dc34 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_10/func_80240000_C4C390.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C4C390 +/* C4C390 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4C394 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C4C398 80240008 0080882D */ daddu $s1, $a0, $zero +/* C4C39C 8024000C AFB00010 */ sw $s0, 0x10($sp) +/* C4C3A0 80240010 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* C4C3A4 80240014 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* C4C3A8 80240018 AFBF0018 */ sw $ra, 0x18($sp) +/* C4C3AC 8024001C 8E22013C */ lw $v0, 0x13c($s1) +/* C4C3B0 80240020 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C4C3B4 80240024 C60E0030 */ lwc1 $f14, 0x30($s0) +/* C4C3B8 80240028 C4440008 */ lwc1 $f4, 8($v0) +/* C4C3BC 8024002C 46802120 */ cvt.s.w $f4, $f4 +/* C4C3C0 80240030 44062000 */ mfc1 $a2, $f4 +/* C4C3C4 80240034 C444000C */ lwc1 $f4, 0xc($v0) +/* C4C3C8 80240038 46802120 */ cvt.s.w $f4, $f4 +/* C4C3CC 8024003C 44072000 */ mfc1 $a3, $f4 +/* C4C3D0 80240040 0C00A7B5 */ jal dist2D +/* C4C3D4 80240044 00000000 */ nop +/* C4C3D8 80240048 24020001 */ addiu $v0, $zero, 1 +/* C4C3DC 8024004C AE220084 */ sw $v0, 0x84($s1) +/* C4C3E0 80240050 820300B4 */ lb $v1, 0xb4($s0) +/* C4C3E4 80240054 2402000E */ addiu $v0, $zero, 0xe +/* C4C3E8 80240058 10620004 */ beq $v1, $v0, .L8024006C +/* C4C3EC 8024005C 46000086 */ mov.s $f2, $f0 +/* C4C3F0 80240060 24020010 */ addiu $v0, $zero, 0x10 +/* C4C3F4 80240064 54620001 */ bnel $v1, $v0, .L8024006C +/* C4C3F8 80240068 AE200084 */ sw $zero, 0x84($s1) +.L8024006C: +/* C4C3FC 8024006C 8E22013C */ lw $v0, 0x13c($s1) +/* C4C400 80240070 C4400010 */ lwc1 $f0, 0x10($v0) +/* C4C404 80240074 46800020 */ cvt.s.w $f0, $f0 +/* C4C408 80240078 4602003E */ c.le.s $f0, $f2 +/* C4C40C 8024007C 00000000 */ nop +/* C4C410 80240080 45030001 */ bc1tl .L80240088 +/* C4C414 80240084 AE200084 */ sw $zero, 0x84($s1) +.L80240088: +/* C4C418 80240088 8FBF0018 */ lw $ra, 0x18($sp) +/* C4C41C 8024008C 8FB10014 */ lw $s1, 0x14($sp) +/* C4C420 80240090 8FB00010 */ lw $s0, 0x10($sp) +/* C4C424 80240094 24020002 */ addiu $v0, $zero, 2 +/* C4C428 80240098 03E00008 */ jr $ra +/* C4C42C 8024009C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_10/func_802400A0_C4C390.s b/asm/nonmatchings/world/area_dgb/dgb_10/func_802400A0_C4C390.s new file mode 100644 index 0000000000..3fc53d1d07 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_10/func_802400A0_C4C390.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_C4C430 +/* C4C430 802400A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C4C434 802400A4 AFB00010 */ sw $s0, 0x10($sp) +/* C4C438 802400A8 0080802D */ daddu $s0, $a0, $zero +/* C4C43C 802400AC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* C4C440 802400B0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* C4C444 802400B4 AFBF0014 */ sw $ra, 0x14($sp) +/* C4C448 802400B8 8E02013C */ lw $v0, 0x13c($s0) +/* C4C44C 802400BC C46C0028 */ lwc1 $f12, 0x28($v1) +/* C4C450 802400C0 C46E0030 */ lwc1 $f14, 0x30($v1) +/* C4C454 802400C4 C4460008 */ lwc1 $f6, 8($v0) +/* C4C458 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* C4C45C 802400CC 44063000 */ mfc1 $a2, $f6 +/* C4C460 802400D0 C4460010 */ lwc1 $f6, 0x10($v0) +/* C4C464 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* C4C468 802400D8 44073000 */ mfc1 $a3, $f6 +/* C4C46C 802400DC 0C00A7B5 */ jal dist2D +/* C4C470 802400E0 00000000 */ nop +/* C4C474 802400E4 3C0142E1 */ lui $at, 0x42e1 +/* C4C478 802400E8 44811000 */ mtc1 $at, $f2 +/* C4C47C 802400EC 46000106 */ mov.s $f4, $f0 +/* C4C480 802400F0 4602203C */ c.lt.s $f4, $f2 +/* C4C484 802400F4 00000000 */ nop +/* C4C488 802400F8 45000003 */ bc1f .L80240108 +/* C4C48C 802400FC AE000084 */ sw $zero, 0x84($s0) +/* C4C490 80240100 24020002 */ addiu $v0, $zero, 2 +/* C4C494 80240104 AE020084 */ sw $v0, 0x84($s0) +.L80240108: +/* C4C498 80240108 3C014216 */ lui $at, 0x4216 +/* C4C49C 8024010C 44810000 */ mtc1 $at, $f0 +/* C4C4A0 80240110 00000000 */ nop +/* C4C4A4 80240114 4600203C */ c.lt.s $f4, $f0 +/* C4C4A8 80240118 00000000 */ nop +/* C4C4AC 8024011C 45000002 */ bc1f .L80240128 +/* C4C4B0 80240120 24020001 */ addiu $v0, $zero, 1 +/* C4C4B4 80240124 AE020084 */ sw $v0, 0x84($s0) +.L80240128: +/* C4C4B8 80240128 8FBF0014 */ lw $ra, 0x14($sp) +/* C4C4BC 8024012C 8FB00010 */ lw $s0, 0x10($sp) +/* C4C4C0 80240130 24020002 */ addiu $v0, $zero, 2 +/* C4C4C4 80240134 03E00008 */ jr $ra +/* C4C4C8 80240138 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_10/func_8024013C_C4C390.s b/asm/nonmatchings/world/area_dgb/dgb_10/func_8024013C_C4C390.s new file mode 100644 index 0000000000..57fdfc7a3d --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_10/func_8024013C_C4C390.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024013C_C4C4CC +/* C4C4CC 8024013C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C4C4D0 80240140 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C4C4D4 80240144 C442002C */ lwc1 $f2, 0x2c($v0) +/* C4C4D8 80240148 44800000 */ mtc1 $zero, $f0 +/* C4C4DC 8024014C 00000000 */ nop +/* C4C4E0 80240150 4602003E */ c.le.s $f0, $f2 +/* C4C4E4 80240154 00000000 */ nop +/* C4C4E8 80240158 45000003 */ bc1f .L80240168 +/* C4C4EC 8024015C 0040182D */ daddu $v1, $v0, $zero +/* C4C4F0 80240160 03E00008 */ jr $ra +/* C4C4F4 80240164 0000102D */ daddu $v0, $zero, $zero +.L80240168: +/* C4C4F8 80240168 C4420028 */ lwc1 $f2, 0x28($v0) +/* C4C4FC 8024016C 3C0143DC */ lui $at, 0x43dc +/* C4C500 80240170 44810000 */ mtc1 $at, $f0 +/* C4C504 80240174 00000000 */ nop +/* C4C508 80240178 4600103C */ c.lt.s $f2, $f0 +/* C4C50C 8024017C 00000000 */ nop +/* C4C510 80240180 45000003 */ bc1f .L80240190 +/* C4C514 80240184 00000000 */ nop +/* C4C518 80240188 0809006D */ j .L802401B4 +/* C4C51C 8024018C 24020003 */ addiu $v0, $zero, 3 +.L80240190: +/* C4C520 80240190 C4620030 */ lwc1 $f2, 0x30($v1) +/* C4C524 80240194 3C01C32A */ lui $at, 0xc32a +/* C4C528 80240198 44810000 */ mtc1 $at, $f0 +/* C4C52C 8024019C 00000000 */ nop +/* C4C530 802401A0 4600103C */ c.lt.s $f2, $f0 +/* C4C534 802401A4 00000000 */ nop +/* C4C538 802401A8 45000002 */ bc1f .L802401B4 +/* C4C53C 802401AC 24020001 */ addiu $v0, $zero, 1 +/* C4C540 802401B0 24020002 */ addiu $v0, $zero, 2 +.L802401B4: +/* C4C544 802401B4 AC820084 */ sw $v0, 0x84($a0) +/* C4C548 802401B8 03E00008 */ jr $ra +/* C4C54C 802401BC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dgb/dgb_10/func_802401C0_C4C390.s b/asm/nonmatchings/world/area_dgb/dgb_10/func_802401C0_C4C390.s new file mode 100644 index 0000000000..0f988639e4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_10/func_802401C0_C4C390.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401C0_C4C550 +/* C4C550 802401C0 3C018011 */ lui $at, 0x8011 +/* C4C554 802401C4 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* C4C558 802401C8 3C01C270 */ lui $at, 0xc270 +/* C4C55C 802401CC 44810000 */ mtc1 $at, $f0 +/* C4C560 802401D0 00000000 */ nop +/* C4C564 802401D4 4602003C */ c.lt.s $f0, $f2 +/* C4C568 802401D8 00000000 */ nop +/* C4C56C 802401DC 45010002 */ bc1t .L802401E8 +/* C4C570 802401E0 0000102D */ daddu $v0, $zero, $zero +/* C4C574 802401E4 24020002 */ addiu $v0, $zero, 2 +.L802401E8: +/* C4C578 802401E8 03E00008 */ jr $ra +/* C4C57C 802401EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_11/func_80240000_C4D3E0.s b/asm/nonmatchings/world/area_dgb/dgb_11/func_80240000_C4D3E0.s new file mode 100644 index 0000000000..f1dbe368a6 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_11/func_80240000_C4D3E0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C4D3E0 +/* C4D3E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C4D3E4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* C4D3E8 80240008 0000202D */ daddu $a0, $zero, $zero +/* C4D3EC 8024000C 3C05FD05 */ lui $a1, 0xfd05 +/* C4D3F0 80240010 0C0B1EAF */ jal get_variable +/* C4D3F4 80240014 34A50F80 */ ori $a1, $a1, 0xf80 +/* C4D3F8 80240018 0C04417A */ jal get_entity_by_index +/* C4D3FC 8024001C 0040202D */ daddu $a0, $v0, $zero +/* C4D400 80240020 50400007 */ beql $v0, $zero, .L80240040 +/* C4D404 80240024 0000102D */ daddu $v0, $zero, $zero +/* C4D408 80240028 84440014 */ lh $a0, 0x14($v0) +/* C4D40C 8024002C 3C050000 */ lui $a1, 0 +/* C4D410 80240030 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* C4D414 80240034 0C048052 */ jal play_model_animation +/* C4D418 80240038 00000000 */ nop +/* C4D41C 8024003C 24020002 */ addiu $v0, $zero, 2 +.L80240040: +/* C4D420 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* C4D424 80240044 03E00008 */ jr $ra +/* C4D428 80240048 27BD0018 */ addiu $sp, $sp, 0x18 +/* C4D42C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_12/func_80240000_C4DEF0.s b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240000_C4DEF0.s new file mode 100644 index 0000000000..53b62b9ecc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240000_C4DEF0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C4DEF0 +/* C4DEF0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4DEF4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C4DEF8 80240008 3C108024 */ lui $s0, 0x8024 +/* C4DEFC 8024000C 26100870 */ addiu $s0, $s0, 0x870 +/* C4DF00 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* C4DF04 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* C4DF08 80240018 8E020000 */ lw $v0, ($s0) +/* C4DF0C 8024001C 14400010 */ bnez $v0, .L80240060 +/* C4DF10 80240020 0080882D */ daddu $s1, $a0, $zero +/* C4DF14 80240024 0C00AB39 */ jal heap_malloc +/* C4DF18 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* C4DF1C 8024002C AE020000 */ sw $v0, ($s0) +/* C4DF20 80240030 0000182D */ daddu $v1, $zero, $zero +/* C4DF24 80240034 0040282D */ daddu $a1, $v0, $zero +/* C4DF28 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* C4DF2C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* C4DF30 80240040 24840004 */ addiu $a0, $a0, 4 +/* C4DF34 80240044 24630001 */ addiu $v1, $v1, 1 +/* C4DF38 80240048 ACA20000 */ sw $v0, ($a1) +/* C4DF3C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* C4DF40 80240050 1440FFFA */ bnez $v0, .L8024003C +/* C4DF44 80240054 24A50004 */ addiu $a1, $a1, 4 +/* C4DF48 80240058 08090027 */ j .L8024009C +/* C4DF4C 8024005C 00000000 */ nop +.L80240060: +/* C4DF50 80240060 0000182D */ daddu $v1, $zero, $zero +/* C4DF54 80240064 0040282D */ daddu $a1, $v0, $zero +/* C4DF58 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* C4DF5C 8024006C 8CA20000 */ lw $v0, ($a1) +/* C4DF60 80240070 24A50004 */ addiu $a1, $a1, 4 +/* C4DF64 80240074 24630001 */ addiu $v1, $v1, 1 +/* C4DF68 80240078 AC820084 */ sw $v0, 0x84($a0) +/* C4DF6C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* C4DF70 80240080 1440FFFA */ bnez $v0, .L8024006C +/* C4DF74 80240084 24840004 */ addiu $a0, $a0, 4 +/* C4DF78 80240088 3C108024 */ lui $s0, 0x8024 +/* C4DF7C 8024008C 26100870 */ addiu $s0, $s0, 0x870 +/* C4DF80 80240090 0C00AB4B */ jal heap_free +/* C4DF84 80240094 8E040000 */ lw $a0, ($s0) +/* C4DF88 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* C4DF8C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* C4DF90 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* C4DF94 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* C4DF98 802400A8 24020002 */ addiu $v0, $zero, 2 +/* C4DF9C 802400AC 03E00008 */ jr $ra +/* C4DFA0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_12/func_802400B4_C4DEF0.s b/asm/nonmatchings/world/area_dgb/dgb_12/func_802400B4_C4DEF0.s new file mode 100644 index 0000000000..25833d3eca --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_12/func_802400B4_C4DEF0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_C4DFA4 +/* C4DFA4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4DFA8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* C4DFAC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* C4DFB0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C4DFB4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* C4DFB8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* C4DFBC 802400CC 8C510000 */ lw $s1, ($v0) +/* C4DFC0 802400D0 0C0B1EAF */ jal get_variable +/* C4DFC4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* C4DFC8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* C4DFCC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* C4DFD0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* C4DFD4 802400E4 00431024 */ and $v0, $v0, $v1 +/* C4DFD8 802400E8 00021140 */ sll $v0, $v0, 5 +/* C4DFDC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* C4DFE0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* C4DFE4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C4DFE8 802400F8 0C0B2026 */ jal set_variable +/* C4DFEC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* C4DFF0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* C4DFF4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* C4DFF8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* C4DFFC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* C4E000 80240110 03E00008 */ jr $ra +/* C4E004 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_12/func_80240118_C4DEF0.s b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240118_C4DEF0.s new file mode 100644 index 0000000000..c5d4c9ea45 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240118_C4DEF0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_C4E008 +/* C4E008 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4E00C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* C4E010 80240120 0080882D */ daddu $s1, $a0, $zero +/* C4E014 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* C4E018 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* C4E01C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* C4E020 80240130 8E240084 */ lw $a0, 0x84($s1) +/* C4E024 80240134 0C04C3D6 */ jal get_item_entity +/* C4E028 80240138 00A0802D */ daddu $s0, $a1, $zero +/* C4E02C 8024013C 12000005 */ beqz $s0, .L80240154 +/* C4E030 80240140 0040902D */ daddu $s2, $v0, $zero +/* C4E034 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* C4E038 80240148 AE200074 */ sw $zero, 0x74($s1) +/* C4E03C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* C4E040 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* C4E044 80240154 8E230074 */ lw $v1, 0x74($s1) +/* C4E048 80240158 10600005 */ beqz $v1, .L80240170 +/* C4E04C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* C4E050 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* C4E054 80240164 00000000 */ nop +/* C4E058 80240168 08090093 */ j .L8024024C +/* C4E05C 8024016C 00000000 */ nop +.L80240170: +/* C4E060 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* C4E064 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* C4E068 80240178 44810000 */ mtc1 $at, $f0 +/* C4E06C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* C4E070 80240180 46806320 */ cvt.s.w $f12, $f12 +/* C4E074 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* C4E078 80240188 00000000 */ nop +/* C4E07C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* C4E080 80240190 44810000 */ mtc1 $at, $f0 +/* C4E084 80240194 0C00A874 */ jal cos_rad +/* C4E088 80240198 46006303 */ div.s $f12, $f12, $f0 +/* C4E08C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* C4E090 802401A0 44811000 */ mtc1 $at, $f2 +/* C4E094 802401A4 00000000 */ nop +/* C4E098 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* C4E09C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* C4E0A0 802401B0 44810000 */ mtc1 $at, $f0 +/* C4E0A4 802401B4 00000000 */ nop +/* C4E0A8 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* C4E0AC 802401BC 00000000 */ nop +/* C4E0B0 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* C4E0B4 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* C4E0B8 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* C4E0BC 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* C4E0C0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* C4E0C4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* C4E0C8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* C4E0CC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* C4E0D0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* C4E0D4 802401E4 08090093 */ j .L8024024C +/* C4E0D8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* C4E0DC 802401EC 08090093 */ j .L8024024C +/* C4E0E0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* C4E0E4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* C4E0E8 802401F8 0C00A8D4 */ jal cos_deg +/* C4E0EC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* C4E0F0 80240200 3C014040 */ lui $at, 0x4040 +/* C4E0F4 80240204 44811000 */ mtc1 $at, $f2 +/* C4E0F8 80240208 00000000 */ nop +/* C4E0FC 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* C4E100 80240210 00000000 */ nop +/* C4E104 80240214 3C014188 */ lui $at, 0x4188 +/* C4E108 80240218 44812000 */ mtc1 $at, $f4 +/* C4E10C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* C4E110 80240220 46041080 */ add.s $f2, $f2, $f4 +/* C4E114 80240224 46001080 */ add.s $f2, $f2, $f0 +/* C4E118 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* C4E11C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* C4E120 80240230 24420009 */ addiu $v0, $v0, 9 +/* C4E124 80240234 44826000 */ mtc1 $v0, $f12 +/* C4E128 80240238 00000000 */ nop +/* C4E12C 8024023C 0C00A6C9 */ jal clamp_angle +/* C4E130 80240240 46806320 */ cvt.s.w $f12, $f12 +/* C4E134 80240244 4600018D */ trunc.w.s $f6, $f0 +/* C4E138 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* C4E13C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* C4E140 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* C4E144 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* C4E148 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* C4E14C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* C4E150 80240260 03E00008 */ jr $ra +/* C4E154 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_12/func_80240268_C4DEF0.s b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240268_C4DEF0.s new file mode 100644 index 0000000000..c12eeb8986 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_12/func_80240268_C4DEF0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_C4E158 +/* C4E158 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C4E15C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* C4E160 80240270 0080802D */ daddu $s0, $a0, $zero +/* C4E164 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* C4E168 80240278 8E02000C */ lw $v0, 0xc($s0) +/* C4E16C 8024027C 0C0B1EAF */ jal get_variable +/* C4E170 80240280 8C450000 */ lw $a1, ($v0) +/* C4E174 80240284 00021140 */ sll $v0, $v0, 5 +/* C4E178 80240288 AE000084 */ sw $zero, 0x84($s0) +/* C4E17C 8024028C 3C018008 */ lui $at, 0x8008 +/* C4E180 80240290 00220821 */ addu $at, $at, $v0 +/* C4E184 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* C4E188 80240298 30420040 */ andi $v0, $v0, 0x40 +/* C4E18C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* C4E190 802402A0 24020001 */ addiu $v0, $zero, 1 +/* C4E194 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* C4E198 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* C4E19C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* C4E1A0 802402B0 24020002 */ addiu $v0, $zero, 2 +/* C4E1A4 802402B4 03E00008 */ jr $ra +/* C4E1A8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* C4E1AC 802402BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240000_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240000_C4F510.s new file mode 100644 index 0000000000..5180120921 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240000_C4F510.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C4F510 +/* C4F510 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4F514 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C4F518 80240008 0080882D */ daddu $s1, $a0, $zero +/* C4F51C 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* C4F520 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* C4F524 80240014 8E300148 */ lw $s0, 0x148($s1) +/* C4F528 80240018 0C00EABB */ jal get_npc_unsafe +/* C4F52C 8024001C 86040008 */ lh $a0, 8($s0) +/* C4F530 80240020 24030001 */ addiu $v1, $zero, 1 +/* C4F534 80240024 0040202D */ daddu $a0, $v0, $zero +/* C4F538 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* C4F53C 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* C4F540 80240030 14400009 */ bnez $v0, .L80240058 +/* C4F544 80240034 24020002 */ addiu $v0, $zero, 2 +/* C4F548 80240038 96030072 */ lhu $v1, 0x72($s0) +/* C4F54C 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* C4F550 80240040 A483008E */ sh $v1, 0x8e($a0) +/* C4F554 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* C4F558 80240048 8C420020 */ lw $v0, 0x20($v0) +/* C4F55C 8024004C AC820028 */ sw $v0, 0x28($a0) +/* C4F560 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* C4F564 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* C4F568 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* C4F56C 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* C4F570 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* C4F574 80240064 03E00008 */ jr $ra +/* C4F578 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_8024006C_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024006C_C4F510.s new file mode 100644 index 0000000000..e6ea1103f7 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024006C_C4F510.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_C4F57C +/* C4F57C 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4F580 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* C4F584 80240074 0080882D */ daddu $s1, $a0, $zero +/* C4F588 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* C4F58C 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* C4F590 80240080 8E300148 */ lw $s0, 0x148($s1) +/* C4F594 80240084 0C00EABB */ jal get_npc_unsafe +/* C4F598 80240088 86040008 */ lh $a0, 8($s0) +/* C4F59C 8024008C 0040202D */ daddu $a0, $v0, $zero +/* C4F5A0 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* C4F5A4 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* C4F5A8 80240098 A482008E */ sh $v0, 0x8e($a0) +/* C4F5AC 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* C4F5B0 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* C4F5B4 802400A4 24020003 */ addiu $v0, $zero, 3 +/* C4F5B8 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* C4F5BC 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* C4F5C0 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* C4F5C4 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C4F5C8 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* C4F5CC 802400BC AC820028 */ sw $v0, 0x28($a0) +/* C4F5D0 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* C4F5D4 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* C4F5D8 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C4F5DC 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* C4F5E0 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* C4F5E4 802400D4 03E00008 */ jr $ra +/* C4F5E8 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_802400DC_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_802400DC_C4F510.s new file mode 100644 index 0000000000..3e9ad94761 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_802400DC_C4F510.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_C4F5EC +/* C4F5EC 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C4F5F0 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* C4F5F4 802400E4 0080882D */ daddu $s1, $a0, $zero +/* C4F5F8 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* C4F5FC 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* C4F600 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* C4F604 802400F4 0C00EABB */ jal get_npc_unsafe +/* C4F608 802400F8 86040008 */ lh $a0, 8($s0) +/* C4F60C 802400FC 0040282D */ daddu $a1, $v0, $zero +/* C4F610 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* C4F614 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* C4F618 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* C4F61C 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* C4F620 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* C4F624 80240114 24020004 */ addiu $v0, $zero, 4 +/* C4F628 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* C4F62C 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* C4F630 80240120 8C620000 */ lw $v0, ($v1) +/* C4F634 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* C4F638 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* C4F63C 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* C4F640 80240130 8E020078 */ lw $v0, 0x78($s0) +/* C4F644 80240134 28420008 */ slti $v0, $v0, 8 +/* C4F648 80240138 14400018 */ bnez $v0, .L8024019C +/* C4F64C 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* C4F650 80240140 24040003 */ addiu $a0, $zero, 3 +/* C4F654 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* C4F658 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* C4F65C 8024014C 3C013F80 */ lui $at, 0x3f80 +/* C4F660 80240150 44810000 */ mtc1 $at, $f0 +/* C4F664 80240154 3C014000 */ lui $at, 0x4000 +/* C4F668 80240158 44811000 */ mtc1 $at, $f2 +/* C4F66C 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* C4F670 80240160 44812000 */ mtc1 $at, $f4 +/* C4F674 80240164 44873000 */ mtc1 $a3, $f6 +/* C4F678 80240168 00000000 */ nop +/* C4F67C 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* C4F680 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* C4F684 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* C4F688 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* C4F68C 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* C4F690 80240180 44073000 */ mfc1 $a3, $f6 +/* C4F694 80240184 0000302D */ daddu $a2, $zero, $zero +/* C4F698 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* C4F69C 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* C4F6A0 80240190 0C01BFA4 */ jal fx_emote +/* C4F6A4 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* C4F6A8 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* C4F6AC 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* C4F6B0 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* C4F6B4 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* C4F6B8 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* C4F6BC 802401AC 03E00008 */ jr $ra +/* C4F6C0 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_802401B4_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_802401B4_C4F510.s new file mode 100644 index 0000000000..f9e025df1f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_802401B4_C4F510.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_C4F6C4 +/* C4F6C4 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C4F6C8 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* C4F6CC 802401BC 0080882D */ daddu $s1, $a0, $zero +/* C4F6D0 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C4F6D4 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* C4F6D8 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* C4F6DC 802401CC 0C00EABB */ jal get_npc_unsafe +/* C4F6E0 802401D0 86040008 */ lh $a0, 8($s0) +/* C4F6E4 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* C4F6E8 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* C4F6EC 802401DC A443008E */ sh $v1, 0x8e($v0) +/* C4F6F0 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* C4F6F4 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* C4F6F8 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* C4F6FC 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* C4F700 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* C4F704 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* C4F708 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* C4F70C 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* C4F710 80240200 03E00008 */ jr $ra +/* C4F714 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240208_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240208_C4F510.s new file mode 100644 index 0000000000..f4c17ac8cc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240208_C4F510.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_C4F718 +/* C4F718 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C4F71C 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* C4F720 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* C4F724 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* C4F728 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* C4F72C 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* C4F730 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* C4F734 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C4F738 80240228 8C900148 */ lw $s0, 0x148($a0) +/* C4F73C 8024022C 86040008 */ lh $a0, 8($s0) +/* C4F740 80240230 0C00EABB */ jal get_npc_unsafe +/* C4F744 80240234 24110001 */ addiu $s1, $zero, 1 +/* C4F748 80240238 86040008 */ lh $a0, 8($s0) +/* C4F74C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* C4F750 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* C4F754 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C4F758 80240248 3C03800A */ lui $v1, 0x800a +/* C4F75C 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* C4F760 80240250 00912021 */ addu $a0, $a0, $s1 +/* C4F764 80240254 00031080 */ sll $v0, $v1, 2 +/* C4F768 80240258 00431021 */ addu $v0, $v0, $v1 +/* C4F76C 8024025C 00021080 */ sll $v0, $v0, 2 +/* C4F770 80240260 00431023 */ subu $v0, $v0, $v1 +/* C4F774 80240264 000218C0 */ sll $v1, $v0, 3 +/* C4F778 80240268 00431021 */ addu $v0, $v0, $v1 +/* C4F77C 8024026C 000210C0 */ sll $v0, $v0, 3 +/* C4F780 80240270 0C00FB3A */ jal get_enemy +/* C4F784 80240274 00459021 */ addu $s2, $v0, $a1 +/* C4F788 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C4F78C 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C4F790 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C4F794 80240284 8E830000 */ lw $v1, ($s4) +/* C4F798 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C4F79C 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* C4F7A0 80240290 8C670030 */ lw $a3, 0x30($v1) +/* C4F7A4 80240294 0C00A7B5 */ jal dist2D +/* C4F7A8 80240298 0040982D */ daddu $s3, $v0, $zero +/* C4F7AC 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* C4F7B0 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* C4F7B4 802402A4 4600103C */ c.lt.s $f2, $f0 +/* C4F7B8 802402A8 00000000 */ nop +/* C4F7BC 802402AC 45030001 */ bc1tl .L802402B4 +/* C4F7C0 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* C4F7C4 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C4F7C8 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C4F7CC 802402BC 3C014387 */ lui $at, 0x4387 +/* C4F7D0 802402C0 4481A000 */ mtc1 $at, $f20 +/* C4F7D4 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* C4F7D8 802402C8 00000000 */ nop +/* C4F7DC 802402CC 0C00A6C9 */ jal clamp_angle +/* C4F7E0 802402D0 46000306 */ mov.s $f12, $f0 +/* C4F7E4 802402D4 3C018024 */ lui $at, 0x8024 +/* C4F7E8 802402D8 D4222CF0 */ ldc1 $f2, 0x2cf0($at) +/* C4F7EC 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* C4F7F0 802402E0 4622003C */ c.lt.d $f0, $f2 +/* C4F7F4 802402E4 00000000 */ nop +/* C4F7F8 802402E8 45000003 */ bc1f .L802402F8 +/* C4F7FC 802402EC 00000000 */ nop +/* C4F800 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* C4F804 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* C4F808 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C4F80C 802402FC 8E820000 */ lw $v0, ($s4) +/* C4F810 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C4F814 80240304 8C460028 */ lw $a2, 0x28($v0) +/* C4F818 80240308 0C00A720 */ jal atan2 +/* C4F81C 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* C4F820 80240310 4600A306 */ mov.s $f12, $f20 +/* C4F824 80240314 0C00A70A */ jal get_clamped_angle_diff +/* C4F828 80240318 46000386 */ mov.s $f14, $f0 +/* C4F82C 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* C4F830 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* C4F834 80240324 46000005 */ abs.s $f0, $f0 +/* C4F838 80240328 4600103C */ c.lt.s $f2, $f0 +/* C4F83C 8024032C 00000000 */ nop +/* C4F840 80240330 45030001 */ bc1tl .L80240338 +/* C4F844 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* C4F848 80240338 8E820000 */ lw $v0, ($s4) +/* C4F84C 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* C4F850 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* C4F854 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* C4F858 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* C4F85C 8024034C 44821000 */ mtc1 $v0, $f2 +/* C4F860 80240350 00000000 */ nop +/* C4F864 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* C4F868 80240358 46221080 */ add.d $f2, $f2, $f2 +/* C4F86C 8024035C 46000005 */ abs.s $f0, $f0 +/* C4F870 80240360 46000021 */ cvt.d.s $f0, $f0 +/* C4F874 80240364 4620103E */ c.le.d $f2, $f0 +/* C4F878 80240368 00000000 */ nop +/* C4F87C 8024036C 45030001 */ bc1tl .L80240374 +/* C4F880 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* C4F884 80240374 3C038011 */ lui $v1, 0x8011 +/* C4F888 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* C4F88C 8024037C 24020009 */ addiu $v0, $zero, 9 +/* C4F890 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* C4F894 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* C4F898 80240388 24020007 */ addiu $v0, $zero, 7 +/* C4F89C 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* C4F8A0 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* C4F8A4 80240394 0220102D */ daddu $v0, $s1, $zero +/* C4F8A8 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* C4F8AC 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* C4F8B0 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C4F8B4 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* C4F8B8 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* C4F8BC 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* C4F8C0 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C4F8C4 802403B4 03E00008 */ jr $ra +/* C4F8C8 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_8024061C_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024061C_C4F510.s new file mode 100644 index 0000000000..1a1a4cb273 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024061C_C4F510.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_C4FB2C +/* C4FB2C 8024061C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C4FB30 80240620 AFB20038 */ sw $s2, 0x38($sp) +/* C4FB34 80240624 0080902D */ daddu $s2, $a0, $zero +/* C4FB38 80240628 AFBF0048 */ sw $ra, 0x48($sp) +/* C4FB3C 8024062C AFB50044 */ sw $s5, 0x44($sp) +/* C4FB40 80240630 AFB40040 */ sw $s4, 0x40($sp) +/* C4FB44 80240634 AFB3003C */ sw $s3, 0x3c($sp) +/* C4FB48 80240638 AFB10034 */ sw $s1, 0x34($sp) +/* C4FB4C 8024063C AFB00030 */ sw $s0, 0x30($sp) +/* C4FB50 80240640 8E510148 */ lw $s1, 0x148($s2) +/* C4FB54 80240644 86240008 */ lh $a0, 8($s1) +/* C4FB58 80240648 0C00EABB */ jal get_npc_unsafe +/* C4FB5C 8024064C 00A0802D */ daddu $s0, $a1, $zero +/* C4FB60 80240650 8E43000C */ lw $v1, 0xc($s2) +/* C4FB64 80240654 0240202D */ daddu $a0, $s2, $zero +/* C4FB68 80240658 8C650000 */ lw $a1, ($v1) +/* C4FB6C 8024065C 0C0B1EAF */ jal get_variable +/* C4FB70 80240660 0040A82D */ daddu $s5, $v0, $zero +/* C4FB74 80240664 AFA00010 */ sw $zero, 0x10($sp) +/* C4FB78 80240668 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4FB7C 8024066C 8C630030 */ lw $v1, 0x30($v1) +/* C4FB80 80240670 AFA30014 */ sw $v1, 0x14($sp) +/* C4FB84 80240674 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4FB88 80240678 8C63001C */ lw $v1, 0x1c($v1) +/* C4FB8C 8024067C AFA30018 */ sw $v1, 0x18($sp) +/* C4FB90 80240680 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4FB94 80240684 8C630024 */ lw $v1, 0x24($v1) +/* C4FB98 80240688 AFA3001C */ sw $v1, 0x1c($sp) +/* C4FB9C 8024068C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4FBA0 80240690 8C630028 */ lw $v1, 0x28($v1) +/* C4FBA4 80240694 27B40010 */ addiu $s4, $sp, 0x10 +/* C4FBA8 80240698 AFA30020 */ sw $v1, 0x20($sp) +/* C4FBAC 8024069C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C4FBB0 802406A0 3C014282 */ lui $at, 0x4282 +/* C4FBB4 802406A4 44810000 */ mtc1 $at, $f0 +/* C4FBB8 802406A8 8C63002C */ lw $v1, 0x2c($v1) +/* C4FBBC 802406AC 0040982D */ daddu $s3, $v0, $zero +/* C4FBC0 802406B0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C4FBC4 802406B4 A7A0002C */ sh $zero, 0x2c($sp) +/* C4FBC8 802406B8 16000005 */ bnez $s0, .L802406D0 +/* C4FBCC 802406BC AFA30024 */ sw $v1, 0x24($sp) +/* C4FBD0 802406C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4FBD4 802406C4 30420004 */ andi $v0, $v0, 4 +/* C4FBD8 802406C8 10400020 */ beqz $v0, .L8024074C +/* C4FBDC 802406CC 00000000 */ nop +.L802406D0: +/* C4FBE0 802406D0 2404F7FF */ addiu $a0, $zero, -0x801 +/* C4FBE4 802406D4 AE400070 */ sw $zero, 0x70($s2) +/* C4FBE8 802406D8 A6A0008E */ sh $zero, 0x8e($s5) +/* C4FBEC 802406DC 8E2200CC */ lw $v0, 0xcc($s1) +/* C4FBF0 802406E0 8EA30000 */ lw $v1, ($s5) +/* C4FBF4 802406E4 8C420000 */ lw $v0, ($v0) +/* C4FBF8 802406E8 00641824 */ and $v1, $v1, $a0 +/* C4FBFC 802406EC AEA30000 */ sw $v1, ($s5) +/* C4FC00 802406F0 AEA20028 */ sw $v0, 0x28($s5) +/* C4FC04 802406F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* C4FC08 802406F8 8C420034 */ lw $v0, 0x34($v0) +/* C4FC0C 802406FC 54400005 */ bnel $v0, $zero, .L80240714 +/* C4FC10 80240700 2402FDFF */ addiu $v0, $zero, -0x201 +/* C4FC14 80240704 34620200 */ ori $v0, $v1, 0x200 +/* C4FC18 80240708 2403FFF7 */ addiu $v1, $zero, -9 +/* C4FC1C 8024070C 080901C7 */ j .L8024071C +/* C4FC20 80240710 00431024 */ and $v0, $v0, $v1 +.L80240714: +/* C4FC24 80240714 00621024 */ and $v0, $v1, $v0 +/* C4FC28 80240718 34420008 */ ori $v0, $v0, 8 +.L8024071C: +/* C4FC2C 8024071C AEA20000 */ sw $v0, ($s5) +/* C4FC30 80240720 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4FC34 80240724 30420004 */ andi $v0, $v0, 4 +/* C4FC38 80240728 10400007 */ beqz $v0, .L80240748 +/* C4FC3C 8024072C 24020063 */ addiu $v0, $zero, 0x63 +/* C4FC40 80240730 AE420070 */ sw $v0, 0x70($s2) +/* C4FC44 80240734 AE400074 */ sw $zero, 0x74($s2) +/* C4FC48 80240738 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4FC4C 8024073C 2403FFFB */ addiu $v1, $zero, -5 +/* C4FC50 80240740 00431024 */ and $v0, $v0, $v1 +/* C4FC54 80240744 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240748: +/* C4FC58 80240748 AE20006C */ sw $zero, 0x6c($s1) +.L8024074C: +/* C4FC5C 8024074C 8E420070 */ lw $v0, 0x70($s2) +/* C4FC60 80240750 2842001E */ slti $v0, $v0, 0x1e +/* C4FC64 80240754 10400009 */ beqz $v0, .L8024077C +/* C4FC68 80240758 00000000 */ nop +/* C4FC6C 8024075C 8E22006C */ lw $v0, 0x6c($s1) +/* C4FC70 80240760 14400006 */ bnez $v0, .L8024077C +/* C4FC74 80240764 00000000 */ nop +/* C4FC78 80240768 0C090082 */ jal func_80240208 +/* C4FC7C 8024076C 0240202D */ daddu $a0, $s2, $zero +/* C4FC80 80240770 10400002 */ beqz $v0, .L8024077C +/* C4FC84 80240774 2402001E */ addiu $v0, $zero, 0x1e +/* C4FC88 80240778 AE420070 */ sw $v0, 0x70($s2) +.L8024077C: +/* C4FC8C 8024077C 8E430070 */ lw $v1, 0x70($s2) +/* C4FC90 80240780 2C620064 */ sltiu $v0, $v1, 0x64 +/* C4FC94 80240784 10400048 */ beqz $v0, .L802408A8 +/* C4FC98 80240788 00031080 */ sll $v0, $v1, 2 +/* C4FC9C 8024078C 3C018024 */ lui $at, 0x8024 +/* C4FCA0 80240790 00220821 */ addu $at, $at, $v0 +/* C4FCA4 80240794 8C222CF8 */ lw $v0, 0x2cf8($at) +/* C4FCA8 80240798 00400008 */ jr $v0 +/* C4FCAC 8024079C 00000000 */ nop +/* C4FCB0 802407A0 0240202D */ daddu $a0, $s2, $zero +/* C4FCB4 802407A4 0260282D */ daddu $a1, $s3, $zero +/* C4FCB8 802407A8 0C012568 */ jal func_800495A0 +/* C4FCBC 802407AC 0280302D */ daddu $a2, $s4, $zero +/* C4FCC0 802407B0 0240202D */ daddu $a0, $s2, $zero +/* C4FCC4 802407B4 0260282D */ daddu $a1, $s3, $zero +/* C4FCC8 802407B8 0C0125AE */ jal func_800496B8 +/* C4FCCC 802407BC 0280302D */ daddu $a2, $s4, $zero +/* C4FCD0 802407C0 0809022A */ j .L802408A8 +/* C4FCD4 802407C4 00000000 */ nop +/* C4FCD8 802407C8 0240202D */ daddu $a0, $s2, $zero +/* C4FCDC 802407CC 0260282D */ daddu $a1, $s3, $zero +/* C4FCE0 802407D0 0C0126D1 */ jal func_80049B44 +/* C4FCE4 802407D4 0280302D */ daddu $a2, $s4, $zero +/* C4FCE8 802407D8 0240202D */ daddu $a0, $s2, $zero +/* C4FCEC 802407DC 0260282D */ daddu $a1, $s3, $zero +/* C4FCF0 802407E0 0C012701 */ jal func_80049C04 +/* C4FCF4 802407E4 0280302D */ daddu $a2, $s4, $zero +/* C4FCF8 802407E8 0809022A */ j .L802408A8 +/* C4FCFC 802407EC 00000000 */ nop +/* C4FD00 802407F0 0240202D */ daddu $a0, $s2, $zero +/* C4FD04 802407F4 0260282D */ daddu $a1, $s3, $zero +/* C4FD08 802407F8 0C01278F */ jal func_80049E3C +/* C4FD0C 802407FC 0280302D */ daddu $a2, $s4, $zero +/* C4FD10 80240800 0240202D */ daddu $a0, $s2, $zero +/* C4FD14 80240804 0260282D */ daddu $a1, $s3, $zero +/* C4FD18 80240808 0C0127B3 */ jal func_80049ECC +/* C4FD1C 8024080C 0280302D */ daddu $a2, $s4, $zero +/* C4FD20 80240810 0809022A */ j .L802408A8 +/* C4FD24 80240814 00000000 */ nop +/* C4FD28 80240818 0240202D */ daddu $a0, $s2, $zero +/* C4FD2C 8024081C 0260282D */ daddu $a1, $s3, $zero +/* C4FD30 80240820 0C0127DF */ jal func_80049F7C +/* C4FD34 80240824 0280302D */ daddu $a2, $s4, $zero +/* C4FD38 80240828 0240202D */ daddu $a0, $s2, $zero +/* C4FD3C 8024082C 0260282D */ daddu $a1, $s3, $zero +/* C4FD40 80240830 0C012849 */ jal func_8004A124 +/* C4FD44 80240834 0280302D */ daddu $a2, $s4, $zero +/* C4FD48 80240838 0809022A */ j .L802408A8 +/* C4FD4C 8024083C 00000000 */ nop +/* C4FD50 80240840 0240202D */ daddu $a0, $s2, $zero +/* C4FD54 80240844 0260282D */ daddu $a1, $s3, $zero +/* C4FD58 80240848 0C0128FA */ jal func_8004A3E8 +/* C4FD5C 8024084C 0280302D */ daddu $a2, $s4, $zero +/* C4FD60 80240850 0809022A */ j .L802408A8 +/* C4FD64 80240854 00000000 */ nop +/* C4FD68 80240858 0C090000 */ jal func_80240000 +/* C4FD6C 8024085C 0240202D */ daddu $a0, $s2, $zero +/* C4FD70 80240860 0C09001B */ jal func_8024006C +/* C4FD74 80240864 0240202D */ daddu $a0, $s2, $zero +/* C4FD78 80240868 8E430070 */ lw $v1, 0x70($s2) +/* C4FD7C 8024086C 24020020 */ addiu $v0, $zero, 0x20 +/* C4FD80 80240870 1462000D */ bne $v1, $v0, .L802408A8 +/* C4FD84 80240874 00000000 */ nop +/* C4FD88 80240878 0C090037 */ jal func_802400DC +/* C4FD8C 8024087C 0240202D */ daddu $a0, $s2, $zero +/* C4FD90 80240880 8E430070 */ lw $v1, 0x70($s2) +/* C4FD94 80240884 24020021 */ addiu $v0, $zero, 0x21 +/* C4FD98 80240888 14620007 */ bne $v1, $v0, .L802408A8 +/* C4FD9C 8024088C 00000000 */ nop +/* C4FDA0 80240890 0C09006D */ jal func_802401B4 +/* C4FDA4 80240894 0240202D */ daddu $a0, $s2, $zero +/* C4FDA8 80240898 0809022A */ j .L802408A8 +/* C4FDAC 8024089C 00000000 */ nop +/* C4FDB0 802408A0 0C0129CF */ jal func_8004A73C +/* C4FDB4 802408A4 0240202D */ daddu $a0, $s2, $zero +.L802408A8: +/* C4FDB8 802408A8 8FBF0048 */ lw $ra, 0x48($sp) +/* C4FDBC 802408AC 8FB50044 */ lw $s5, 0x44($sp) +/* C4FDC0 802408B0 8FB40040 */ lw $s4, 0x40($sp) +/* C4FDC4 802408B4 8FB3003C */ lw $s3, 0x3c($sp) +/* C4FDC8 802408B8 8FB20038 */ lw $s2, 0x38($sp) +/* C4FDCC 802408BC 8FB10034 */ lw $s1, 0x34($sp) +/* C4FDD0 802408C0 8FB00030 */ lw $s0, 0x30($sp) +/* C4FDD4 802408C4 0000102D */ daddu $v0, $zero, $zero +/* C4FDD8 802408C8 03E00008 */ jr $ra +/* C4FDDC 802408CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_802408D0_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_802408D0_C4F510.s new file mode 100644 index 0000000000..3d0147cb7a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_802408D0_C4F510.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_C4FDE0 +/* C4FDE0 802408D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C4FDE4 802408D4 AFB50024 */ sw $s5, 0x24($sp) +/* C4FDE8 802408D8 0080A82D */ daddu $s5, $a0, $zero +/* C4FDEC 802408DC AFBF002C */ sw $ra, 0x2c($sp) +/* C4FDF0 802408E0 AFB60028 */ sw $s6, 0x28($sp) +/* C4FDF4 802408E4 AFB40020 */ sw $s4, 0x20($sp) +/* C4FDF8 802408E8 AFB3001C */ sw $s3, 0x1c($sp) +/* C4FDFC 802408EC AFB20018 */ sw $s2, 0x18($sp) +/* C4FE00 802408F0 AFB10014 */ sw $s1, 0x14($sp) +/* C4FE04 802408F4 AFB00010 */ sw $s0, 0x10($sp) +/* C4FE08 802408F8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C4FE0C 802408FC F7B60038 */ sdc1 $f22, 0x38($sp) +/* C4FE10 80240900 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C4FE14 80240904 8EB30148 */ lw $s3, 0x148($s5) +/* C4FE18 80240908 86640008 */ lh $a0, 8($s3) +/* C4FE1C 8024090C 0C00EABB */ jal get_npc_unsafe +/* C4FE20 80240910 00A0B02D */ daddu $s6, $a1, $zero +/* C4FE24 80240914 0040A02D */ daddu $s4, $v0, $zero +/* C4FE28 80240918 AEA00074 */ sw $zero, 0x74($s5) +/* C4FE2C 8024091C C6980038 */ lwc1 $f24, 0x38($s4) +/* C4FE30 80240920 C6960040 */ lwc1 $f22, 0x40($s4) +/* C4FE34 80240924 0000902D */ daddu $s2, $zero, $zero +/* C4FE38 80240928 AEA00078 */ sw $zero, 0x78($s5) +/* C4FE3C 8024092C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C4FE40 80240930 8C620000 */ lw $v0, ($v1) +/* C4FE44 80240934 3C0146FF */ lui $at, 0x46ff +/* C4FE48 80240938 3421FE00 */ ori $at, $at, 0xfe00 +/* C4FE4C 8024093C 4481A000 */ mtc1 $at, $f20 +/* C4FE50 80240940 18400018 */ blez $v0, .L802409A4 +/* C4FE54 80240944 0240802D */ daddu $s0, $s2, $zero +/* C4FE58 80240948 0240882D */ daddu $s1, $s2, $zero +.L8024094C: +/* C4FE5C 8024094C 02231021 */ addu $v0, $s1, $v1 +/* C4FE60 80240950 4600C306 */ mov.s $f12, $f24 +/* C4FE64 80240954 C4440004 */ lwc1 $f4, 4($v0) +/* C4FE68 80240958 46802120 */ cvt.s.w $f4, $f4 +/* C4FE6C 8024095C 44062000 */ mfc1 $a2, $f4 +/* C4FE70 80240960 C444000C */ lwc1 $f4, 0xc($v0) +/* C4FE74 80240964 46802120 */ cvt.s.w $f4, $f4 +/* C4FE78 80240968 44072000 */ mfc1 $a3, $f4 +/* C4FE7C 8024096C 0C00A7B5 */ jal dist2D +/* C4FE80 80240970 4600B386 */ mov.s $f14, $f22 +/* C4FE84 80240974 4614003C */ c.lt.s $f0, $f20 +/* C4FE88 80240978 00000000 */ nop +/* C4FE8C 8024097C 45000003 */ bc1f .L8024098C +/* C4FE90 80240980 2631000C */ addiu $s1, $s1, 0xc +/* C4FE94 80240984 46000506 */ mov.s $f20, $f0 +/* C4FE98 80240988 AEB20078 */ sw $s2, 0x78($s5) +.L8024098C: +/* C4FE9C 8024098C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C4FEA0 80240990 26100001 */ addiu $s0, $s0, 1 +/* C4FEA4 80240994 8C620000 */ lw $v0, ($v1) +/* C4FEA8 80240998 0202102A */ slt $v0, $s0, $v0 +/* C4FEAC 8024099C 1440FFEB */ bnez $v0, .L8024094C +/* C4FEB0 802409A0 26520001 */ addiu $s2, $s2, 1 +.L802409A4: +/* C4FEB4 802409A4 8E6200CC */ lw $v0, 0xcc($s3) +/* C4FEB8 802409A8 8C420004 */ lw $v0, 4($v0) +/* C4FEBC 802409AC AE820028 */ sw $v0, 0x28($s4) +/* C4FEC0 802409B0 8E6200D0 */ lw $v0, 0xd0($s3) +/* C4FEC4 802409B4 8C42007C */ lw $v0, 0x7c($v0) +/* C4FEC8 802409B8 04410004 */ bgez $v0, .L802409CC +/* C4FECC 802409BC 00000000 */ nop +/* C4FED0 802409C0 C6C00000 */ lwc1 $f0, ($s6) +/* C4FED4 802409C4 0809027B */ j .L802409EC +/* C4FED8 802409C8 E6800018 */ swc1 $f0, 0x18($s4) +.L802409CC: +/* C4FEDC 802409CC 3C018024 */ lui $at, 0x8024 +/* C4FEE0 802409D0 D4222E88 */ ldc1 $f2, 0x2e88($at) +/* C4FEE4 802409D4 44820000 */ mtc1 $v0, $f0 +/* C4FEE8 802409D8 00000000 */ nop +/* C4FEEC 802409DC 46800021 */ cvt.d.w $f0, $f0 +/* C4FEF0 802409E0 46220003 */ div.d $f0, $f0, $f2 +/* C4FEF4 802409E4 46200020 */ cvt.s.d $f0, $f0 +/* C4FEF8 802409E8 E6800018 */ swc1 $f0, 0x18($s4) +.L802409EC: +/* C4FEFC 802409EC 24020001 */ addiu $v0, $zero, 1 +/* C4FF00 802409F0 AEA20070 */ sw $v0, 0x70($s5) +/* C4FF04 802409F4 8FBF002C */ lw $ra, 0x2c($sp) +/* C4FF08 802409F8 8FB60028 */ lw $s6, 0x28($sp) +/* C4FF0C 802409FC 8FB50024 */ lw $s5, 0x24($sp) +/* C4FF10 80240A00 8FB40020 */ lw $s4, 0x20($sp) +/* C4FF14 80240A04 8FB3001C */ lw $s3, 0x1c($sp) +/* C4FF18 80240A08 8FB20018 */ lw $s2, 0x18($sp) +/* C4FF1C 80240A0C 8FB10014 */ lw $s1, 0x14($sp) +/* C4FF20 80240A10 8FB00010 */ lw $s0, 0x10($sp) +/* C4FF24 80240A14 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C4FF28 80240A18 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C4FF2C 80240A1C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C4FF30 80240A20 03E00008 */ jr $ra +/* C4FF34 80240A24 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240A28_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240A28_C4F510.s new file mode 100644 index 0000000000..ac06c4f872 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240A28_C4F510.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A28_C4FF38 +/* C4FF38 80240A28 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C4FF3C 80240A2C AFB20038 */ sw $s2, 0x38($sp) +/* C4FF40 80240A30 0080902D */ daddu $s2, $a0, $zero +/* C4FF44 80240A34 AFBF0044 */ sw $ra, 0x44($sp) +/* C4FF48 80240A38 AFB40040 */ sw $s4, 0x40($sp) +/* C4FF4C 80240A3C AFB3003C */ sw $s3, 0x3c($sp) +/* C4FF50 80240A40 AFB10034 */ sw $s1, 0x34($sp) +/* C4FF54 80240A44 AFB00030 */ sw $s0, 0x30($sp) +/* C4FF58 80240A48 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C4FF5C 80240A4C F7B40048 */ sdc1 $f20, 0x48($sp) +/* C4FF60 80240A50 8E510148 */ lw $s1, 0x148($s2) +/* C4FF64 80240A54 00A0982D */ daddu $s3, $a1, $zero +/* C4FF68 80240A58 86240008 */ lh $a0, 8($s1) +/* C4FF6C 80240A5C 0C00EABB */ jal get_npc_unsafe +/* C4FF70 80240A60 00C0A02D */ daddu $s4, $a2, $zero +/* C4FF74 80240A64 8E630014 */ lw $v1, 0x14($s3) +/* C4FF78 80240A68 04600030 */ bltz $v1, .L80240B2C +/* C4FF7C 80240A6C 0040802D */ daddu $s0, $v0, $zero +/* C4FF80 80240A70 8E420074 */ lw $v0, 0x74($s2) +/* C4FF84 80240A74 1C40002C */ bgtz $v0, .L80240B28 +/* C4FF88 80240A78 2442FFFF */ addiu $v0, $v0, -1 +/* C4FF8C 80240A7C 0280202D */ daddu $a0, $s4, $zero +/* C4FF90 80240A80 AE430074 */ sw $v1, 0x74($s2) +/* C4FF94 80240A84 AFA00010 */ sw $zero, 0x10($sp) +/* C4FF98 80240A88 8E66000C */ lw $a2, 0xc($s3) +/* C4FF9C 80240A8C 8E670010 */ lw $a3, 0x10($s3) +/* C4FFA0 80240A90 0C01242D */ jal func_800490B4 +/* C4FFA4 80240A94 0220282D */ daddu $a1, $s1, $zero +/* C4FFA8 80240A98 10400021 */ beqz $v0, .L80240B20 +/* C4FFAC 80240A9C 0000202D */ daddu $a0, $zero, $zero +/* C4FFB0 80240AA0 0200282D */ daddu $a1, $s0, $zero +/* C4FFB4 80240AA4 0000302D */ daddu $a2, $zero, $zero +/* C4FFB8 80240AA8 860300A8 */ lh $v1, 0xa8($s0) +/* C4FFBC 80240AAC 3C013F80 */ lui $at, 0x3f80 +/* C4FFC0 80240AB0 44810000 */ mtc1 $at, $f0 +/* C4FFC4 80240AB4 3C014000 */ lui $at, 0x4000 +/* C4FFC8 80240AB8 44811000 */ mtc1 $at, $f2 +/* C4FFCC 80240ABC 3C01C1A0 */ lui $at, 0xc1a0 +/* C4FFD0 80240AC0 44812000 */ mtc1 $at, $f4 +/* C4FFD4 80240AC4 2402000F */ addiu $v0, $zero, 0xf +/* C4FFD8 80240AC8 AFA2001C */ sw $v0, 0x1c($sp) +/* C4FFDC 80240ACC 44833000 */ mtc1 $v1, $f6 +/* C4FFE0 80240AD0 00000000 */ nop +/* C4FFE4 80240AD4 468031A0 */ cvt.s.w $f6, $f6 +/* C4FFE8 80240AD8 44073000 */ mfc1 $a3, $f6 +/* C4FFEC 80240ADC 27A20028 */ addiu $v0, $sp, 0x28 +/* C4FFF0 80240AE0 AFA20020 */ sw $v0, 0x20($sp) +/* C4FFF4 80240AE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C4FFF8 80240AE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C4FFFC 80240AEC 0C01BFA4 */ jal fx_emote +/* C50000 80240AF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C50004 80240AF4 0200202D */ daddu $a0, $s0, $zero +/* C50008 80240AF8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C5000C 80240AFC 0C012530 */ jal func_800494C0 +/* C50010 80240B00 3C060020 */ lui $a2, 0x20 +/* C50014 80240B04 8E220018 */ lw $v0, 0x18($s1) +/* C50018 80240B08 9442002A */ lhu $v0, 0x2a($v0) +/* C5001C 80240B0C 30420001 */ andi $v0, $v0, 1 +/* C50020 80240B10 14400064 */ bnez $v0, .L80240CA4 +/* C50024 80240B14 2402000A */ addiu $v0, $zero, 0xa +/* C50028 80240B18 08090329 */ j .L80240CA4 +/* C5002C 80240B1C 2402000C */ addiu $v0, $zero, 0xc +.L80240B20: +/* C50030 80240B20 8E420074 */ lw $v0, 0x74($s2) +/* C50034 80240B24 2442FFFF */ addiu $v0, $v0, -1 +.L80240B28: +/* C50038 80240B28 AE420074 */ sw $v0, 0x74($s2) +.L80240B2C: +/* C5003C 80240B2C 8602008C */ lh $v0, 0x8c($s0) +/* C50040 80240B30 1440005D */ bnez $v0, .L80240CA8 +/* C50044 80240B34 00000000 */ nop +/* C50048 80240B38 C6000018 */ lwc1 $f0, 0x18($s0) +/* C5004C 80240B3C 3C014010 */ lui $at, 0x4010 +/* C50050 80240B40 44811800 */ mtc1 $at, $f3 +/* C50054 80240B44 44801000 */ mtc1 $zero, $f2 +/* C50058 80240B48 46000021 */ cvt.d.s $f0, $f0 +/* C5005C 80240B4C 4622003C */ c.lt.d $f0, $f2 +/* C50060 80240B50 00000000 */ nop +/* C50064 80240B54 45000003 */ bc1f .L80240B64 +/* C50068 80240B58 0200202D */ daddu $a0, $s0, $zero +/* C5006C 80240B5C 080902DA */ j .L80240B68 +/* C50070 80240B60 0000282D */ daddu $a1, $zero, $zero +.L80240B64: +/* C50074 80240B64 24050001 */ addiu $a1, $zero, 1 +.L80240B68: +/* C50078 80240B68 0C00F598 */ jal func_8003D660 +/* C5007C 80240B6C 00000000 */ nop +/* C50080 80240B70 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C50084 80240B74 8E430078 */ lw $v1, 0x78($s2) +/* C50088 80240B78 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5008C 80240B7C 00031040 */ sll $v0, $v1, 1 +/* C50090 80240B80 00431021 */ addu $v0, $v0, $v1 +/* C50094 80240B84 8E2300D0 */ lw $v1, 0xd0($s1) +/* C50098 80240B88 00021080 */ sll $v0, $v0, 2 +/* C5009C 80240B8C 00431021 */ addu $v0, $v0, $v1 +/* C500A0 80240B90 C4560004 */ lwc1 $f22, 4($v0) +/* C500A4 80240B94 4680B5A0 */ cvt.s.w $f22, $f22 +/* C500A8 80240B98 C454000C */ lwc1 $f20, 0xc($v0) +/* C500AC 80240B9C 4680A520 */ cvt.s.w $f20, $f20 +/* C500B0 80240BA0 4406B000 */ mfc1 $a2, $f22 +/* C500B4 80240BA4 4407A000 */ mfc1 $a3, $f20 +/* C500B8 80240BA8 0C00A720 */ jal atan2 +/* C500BC 80240BAC 00000000 */ nop +/* C500C0 80240BB0 8E050018 */ lw $a1, 0x18($s0) +/* C500C4 80240BB4 44060000 */ mfc1 $a2, $f0 +/* C500C8 80240BB8 0200202D */ daddu $a0, $s0, $zero +/* C500CC 80240BBC 0C00EA95 */ jal npc_move_heading +/* C500D0 80240BC0 AE06000C */ sw $a2, 0xc($s0) +/* C500D4 80240BC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C500D8 80240BC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C500DC 80240BCC 4406B000 */ mfc1 $a2, $f22 +/* C500E0 80240BD0 4407A000 */ mfc1 $a3, $f20 +/* C500E4 80240BD4 0C00A7B5 */ jal dist2D +/* C500E8 80240BD8 00000000 */ nop +/* C500EC 80240BDC C6020018 */ lwc1 $f2, 0x18($s0) +/* C500F0 80240BE0 4602003E */ c.le.s $f0, $f2 +/* C500F4 80240BE4 00000000 */ nop +/* C500F8 80240BE8 4500002F */ bc1f .L80240CA8 +/* C500FC 80240BEC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C50100 80240BF0 24020002 */ addiu $v0, $zero, 2 +/* C50104 80240BF4 0C00A67F */ jal rand_int +/* C50108 80240BF8 AE420070 */ sw $v0, 0x70($s2) +/* C5010C 80240BFC 3C035555 */ lui $v1, 0x5555 +/* C50110 80240C00 34635556 */ ori $v1, $v1, 0x5556 +/* C50114 80240C04 00430018 */ mult $v0, $v1 +/* C50118 80240C08 000227C3 */ sra $a0, $v0, 0x1f +/* C5011C 80240C0C 00004010 */ mfhi $t0 +/* C50120 80240C10 01042023 */ subu $a0, $t0, $a0 +/* C50124 80240C14 00041840 */ sll $v1, $a0, 1 +/* C50128 80240C18 00641821 */ addu $v1, $v1, $a0 +/* C5012C 80240C1C 00431023 */ subu $v0, $v0, $v1 +/* C50130 80240C20 24430002 */ addiu $v1, $v0, 2 +/* C50134 80240C24 AE430074 */ sw $v1, 0x74($s2) +/* C50138 80240C28 8E62002C */ lw $v0, 0x2c($s3) +/* C5013C 80240C2C 18400009 */ blez $v0, .L80240C54 +/* C50140 80240C30 24020004 */ addiu $v0, $zero, 4 +/* C50144 80240C34 8E620004 */ lw $v0, 4($s3) +/* C50148 80240C38 18400006 */ blez $v0, .L80240C54 +/* C5014C 80240C3C 24020004 */ addiu $v0, $zero, 4 +/* C50150 80240C40 8E620008 */ lw $v0, 8($s3) +/* C50154 80240C44 18400003 */ blez $v0, .L80240C54 +/* C50158 80240C48 24020004 */ addiu $v0, $zero, 4 +/* C5015C 80240C4C 14600002 */ bnez $v1, .L80240C58 +/* C50160 80240C50 00000000 */ nop +.L80240C54: +/* C50164 80240C54 AE420070 */ sw $v0, 0x70($s2) +.L80240C58: +/* C50168 80240C58 0C00A67F */ jal rand_int +/* C5016C 80240C5C 24042710 */ addiu $a0, $zero, 0x2710 +/* C50170 80240C60 3C0351EB */ lui $v1, 0x51eb +/* C50174 80240C64 3463851F */ ori $v1, $v1, 0x851f +/* C50178 80240C68 00430018 */ mult $v0, $v1 +/* C5017C 80240C6C 00021FC3 */ sra $v1, $v0, 0x1f +/* C50180 80240C70 00004010 */ mfhi $t0 +/* C50184 80240C74 00082143 */ sra $a0, $t0, 5 +/* C50188 80240C78 00832023 */ subu $a0, $a0, $v1 +/* C5018C 80240C7C 00041840 */ sll $v1, $a0, 1 +/* C50190 80240C80 00641821 */ addu $v1, $v1, $a0 +/* C50194 80240C84 000318C0 */ sll $v1, $v1, 3 +/* C50198 80240C88 00641821 */ addu $v1, $v1, $a0 +/* C5019C 80240C8C 00031880 */ sll $v1, $v1, 2 +/* C501A0 80240C90 8E640004 */ lw $a0, 4($s3) +/* C501A4 80240C94 00431023 */ subu $v0, $v0, $v1 +/* C501A8 80240C98 0044102A */ slt $v0, $v0, $a0 +/* C501AC 80240C9C 10400002 */ beqz $v0, .L80240CA8 +/* C501B0 80240CA0 24020004 */ addiu $v0, $zero, 4 +.L80240CA4: +/* C501B4 80240CA4 AE420070 */ sw $v0, 0x70($s2) +.L80240CA8: +/* C501B8 80240CA8 8FBF0044 */ lw $ra, 0x44($sp) +/* C501BC 80240CAC 8FB40040 */ lw $s4, 0x40($sp) +/* C501C0 80240CB0 8FB3003C */ lw $s3, 0x3c($sp) +/* C501C4 80240CB4 8FB20038 */ lw $s2, 0x38($sp) +/* C501C8 80240CB8 8FB10034 */ lw $s1, 0x34($sp) +/* C501CC 80240CBC 8FB00030 */ lw $s0, 0x30($sp) +/* C501D0 80240CC0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C501D4 80240CC4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C501D8 80240CC8 03E00008 */ jr $ra +/* C501DC 80240CCC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240CD0.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240CD0.s new file mode 100644 index 0000000000..f753aca4a4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240CD0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD0 +/* C501E0 80240CD0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C501E4 80240CD4 AFB3001C */ sw $s3, 0x1c($sp) +/* C501E8 80240CD8 0080982D */ daddu $s3, $a0, $zero +/* C501EC 80240CDC AFBF0020 */ sw $ra, 0x20($sp) +/* C501F0 80240CE0 AFB20018 */ sw $s2, 0x18($sp) +/* C501F4 80240CE4 AFB10014 */ sw $s1, 0x14($sp) +/* C501F8 80240CE8 AFB00010 */ sw $s0, 0x10($sp) +/* C501FC 80240CEC 8E720148 */ lw $s2, 0x148($s3) +/* C50200 80240CF0 86440008 */ lh $a0, 8($s2) +/* C50204 80240CF4 0C00EABB */ jal get_npc_unsafe +/* C50208 80240CF8 00A0882D */ daddu $s1, $a1, $zero +/* C5020C 80240CFC 8E240008 */ lw $a0, 8($s1) +/* C50210 80240D00 0040802D */ daddu $s0, $v0, $zero +/* C50214 80240D04 00041FC2 */ srl $v1, $a0, 0x1f +/* C50218 80240D08 00832021 */ addu $a0, $a0, $v1 +/* C5021C 80240D0C 00042043 */ sra $a0, $a0, 1 +/* C50220 80240D10 0C00A67F */ jal rand_int +/* C50224 80240D14 24840001 */ addiu $a0, $a0, 1 +/* C50228 80240D18 8E230008 */ lw $v1, 8($s1) +/* C5022C 80240D1C 240400B4 */ addiu $a0, $zero, 0xb4 +/* C50230 80240D20 00032FC2 */ srl $a1, $v1, 0x1f +/* C50234 80240D24 00651821 */ addu $v1, $v1, $a1 +/* C50238 80240D28 00031843 */ sra $v1, $v1, 1 +/* C5023C 80240D2C 00621821 */ addu $v1, $v1, $v0 +/* C50240 80240D30 0C00A67F */ jal rand_int +/* C50244 80240D34 A603008E */ sh $v1, 0x8e($s0) +/* C50248 80240D38 C60C000C */ lwc1 $f12, 0xc($s0) +/* C5024C 80240D3C 44820000 */ mtc1 $v0, $f0 +/* C50250 80240D40 00000000 */ nop +/* C50254 80240D44 46800020 */ cvt.s.w $f0, $f0 +/* C50258 80240D48 46006300 */ add.s $f12, $f12, $f0 +/* C5025C 80240D4C 3C0142B4 */ lui $at, 0x42b4 +/* C50260 80240D50 44810000 */ mtc1 $at, $f0 +/* C50264 80240D54 0C00A6C9 */ jal clamp_angle +/* C50268 80240D58 46006301 */ sub.s $f12, $f12, $f0 +/* C5026C 80240D5C E600000C */ swc1 $f0, 0xc($s0) +/* C50270 80240D60 8E4200CC */ lw $v0, 0xcc($s2) +/* C50274 80240D64 8C420000 */ lw $v0, ($v0) +/* C50278 80240D68 AE020028 */ sw $v0, 0x28($s0) +/* C5027C 80240D6C 24020003 */ addiu $v0, $zero, 3 +/* C50280 80240D70 AE620070 */ sw $v0, 0x70($s3) +/* C50284 80240D74 8FBF0020 */ lw $ra, 0x20($sp) +/* C50288 80240D78 8FB3001C */ lw $s3, 0x1c($sp) +/* C5028C 80240D7C 8FB20018 */ lw $s2, 0x18($sp) +/* C50290 80240D80 8FB10014 */ lw $s1, 0x14($sp) +/* C50294 80240D84 8FB00010 */ lw $s0, 0x10($sp) +/* C50298 80240D88 03E00008 */ jr $ra +/* C5029C 80240D8C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240D90_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240D90_C4F510.s new file mode 100644 index 0000000000..1438fbd616 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240D90_C4F510.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D90_C502A0 +/* C502A0 80240D90 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C502A4 80240D94 AFB40040 */ sw $s4, 0x40($sp) +/* C502A8 80240D98 0080A02D */ daddu $s4, $a0, $zero +/* C502AC 80240D9C AFBF0044 */ sw $ra, 0x44($sp) +/* C502B0 80240DA0 AFB3003C */ sw $s3, 0x3c($sp) +/* C502B4 80240DA4 AFB20038 */ sw $s2, 0x38($sp) +/* C502B8 80240DA8 AFB10034 */ sw $s1, 0x34($sp) +/* C502BC 80240DAC AFB00030 */ sw $s0, 0x30($sp) +/* C502C0 80240DB0 8E910148 */ lw $s1, 0x148($s4) +/* C502C4 80240DB4 00A0902D */ daddu $s2, $a1, $zero +/* C502C8 80240DB8 86240008 */ lh $a0, 8($s1) +/* C502CC 80240DBC 0C00EABB */ jal get_npc_unsafe +/* C502D0 80240DC0 00C0982D */ daddu $s3, $a2, $zero +/* C502D4 80240DC4 8E430014 */ lw $v1, 0x14($s2) +/* C502D8 80240DC8 04600031 */ bltz $v1, .L80240E90 +/* C502DC 80240DCC 0040802D */ daddu $s0, $v0, $zero +/* C502E0 80240DD0 0260202D */ daddu $a0, $s3, $zero +/* C502E4 80240DD4 AFA00010 */ sw $zero, 0x10($sp) +/* C502E8 80240DD8 8E460024 */ lw $a2, 0x24($s2) +/* C502EC 80240DDC 8E470028 */ lw $a3, 0x28($s2) +/* C502F0 80240DE0 0C01242D */ jal func_800490B4 +/* C502F4 80240DE4 0220282D */ daddu $a1, $s1, $zero +/* C502F8 80240DE8 10400029 */ beqz $v0, .L80240E90 +/* C502FC 80240DEC 0000202D */ daddu $a0, $zero, $zero +/* C50300 80240DF0 0200282D */ daddu $a1, $s0, $zero +/* C50304 80240DF4 0000302D */ daddu $a2, $zero, $zero +/* C50308 80240DF8 860300A8 */ lh $v1, 0xa8($s0) +/* C5030C 80240DFC 3C013F80 */ lui $at, 0x3f80 +/* C50310 80240E00 44810000 */ mtc1 $at, $f0 +/* C50314 80240E04 3C014000 */ lui $at, 0x4000 +/* C50318 80240E08 44811000 */ mtc1 $at, $f2 +/* C5031C 80240E0C 3C01C1A0 */ lui $at, 0xc1a0 +/* C50320 80240E10 44812000 */ mtc1 $at, $f4 +/* C50324 80240E14 2402000F */ addiu $v0, $zero, 0xf +/* C50328 80240E18 AFA2001C */ sw $v0, 0x1c($sp) +/* C5032C 80240E1C 44833000 */ mtc1 $v1, $f6 +/* C50330 80240E20 00000000 */ nop +/* C50334 80240E24 468031A0 */ cvt.s.w $f6, $f6 +/* C50338 80240E28 44073000 */ mfc1 $a3, $f6 +/* C5033C 80240E2C 27A20028 */ addiu $v0, $sp, 0x28 +/* C50340 80240E30 AFA20020 */ sw $v0, 0x20($sp) +/* C50344 80240E34 E7A00010 */ swc1 $f0, 0x10($sp) +/* C50348 80240E38 E7A20014 */ swc1 $f2, 0x14($sp) +/* C5034C 80240E3C 0C01BFA4 */ jal fx_emote +/* C50350 80240E40 E7A40018 */ swc1 $f4, 0x18($sp) +/* C50354 80240E44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C50358 80240E48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5035C 80240E4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C50360 80240E50 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C50364 80240E54 8C460028 */ lw $a2, 0x28($v0) +/* C50368 80240E58 0C00A720 */ jal atan2 +/* C5036C 80240E5C 8C470030 */ lw $a3, 0x30($v0) +/* C50370 80240E60 0200202D */ daddu $a0, $s0, $zero +/* C50374 80240E64 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C50378 80240E68 3C060020 */ lui $a2, 0x20 +/* C5037C 80240E6C 0C012530 */ jal func_800494C0 +/* C50380 80240E70 E480000C */ swc1 $f0, 0xc($a0) +/* C50384 80240E74 8E220018 */ lw $v0, 0x18($s1) +/* C50388 80240E78 9442002A */ lhu $v0, 0x2a($v0) +/* C5038C 80240E7C 30420001 */ andi $v0, $v0, 1 +/* C50390 80240E80 14400029 */ bnez $v0, .L80240F28 +/* C50394 80240E84 2402000A */ addiu $v0, $zero, 0xa +/* C50398 80240E88 080903CA */ j .L80240F28 +/* C5039C 80240E8C 2402000C */ addiu $v0, $zero, 0xc +.L80240E90: +/* C503A0 80240E90 8602008C */ lh $v0, 0x8c($s0) +/* C503A4 80240E94 14400025 */ bnez $v0, .L80240F2C +/* C503A8 80240E98 00000000 */ nop +/* C503AC 80240E9C 9602008E */ lhu $v0, 0x8e($s0) +/* C503B0 80240EA0 2442FFFF */ addiu $v0, $v0, -1 +/* C503B4 80240EA4 A602008E */ sh $v0, 0x8e($s0) +/* C503B8 80240EA8 00021400 */ sll $v0, $v0, 0x10 +/* C503BC 80240EAC 1440001F */ bnez $v0, .L80240F2C +/* C503C0 80240EB0 00000000 */ nop +/* C503C4 80240EB4 8E820074 */ lw $v0, 0x74($s4) +/* C503C8 80240EB8 2442FFFF */ addiu $v0, $v0, -1 +/* C503CC 80240EBC 10400019 */ beqz $v0, .L80240F24 +/* C503D0 80240EC0 AE820074 */ sw $v0, 0x74($s4) +/* C503D4 80240EC4 8E220018 */ lw $v0, 0x18($s1) +/* C503D8 80240EC8 9442002A */ lhu $v0, 0x2a($v0) +/* C503DC 80240ECC 30420010 */ andi $v0, $v0, 0x10 +/* C503E0 80240ED0 14400007 */ bnez $v0, .L80240EF0 +/* C503E4 80240ED4 00000000 */ nop +/* C503E8 80240ED8 C600000C */ lwc1 $f0, 0xc($s0) +/* C503EC 80240EDC 3C014334 */ lui $at, 0x4334 +/* C503F0 80240EE0 44816000 */ mtc1 $at, $f12 +/* C503F4 80240EE4 0C00A6C9 */ jal clamp_angle +/* C503F8 80240EE8 460C0300 */ add.s $f12, $f0, $f12 +/* C503FC 80240EEC E600000C */ swc1 $f0, 0xc($s0) +.L80240EF0: +/* C50400 80240EF0 8E440008 */ lw $a0, 8($s2) +/* C50404 80240EF4 000417C2 */ srl $v0, $a0, 0x1f +/* C50408 80240EF8 00822021 */ addu $a0, $a0, $v0 +/* C5040C 80240EFC 00042043 */ sra $a0, $a0, 1 +/* C50410 80240F00 0C00A67F */ jal rand_int +/* C50414 80240F04 24840001 */ addiu $a0, $a0, 1 +/* C50418 80240F08 8E430008 */ lw $v1, 8($s2) +/* C5041C 80240F0C 000327C2 */ srl $a0, $v1, 0x1f +/* C50420 80240F10 00641821 */ addu $v1, $v1, $a0 +/* C50424 80240F14 00031843 */ sra $v1, $v1, 1 +/* C50428 80240F18 00621821 */ addu $v1, $v1, $v0 +/* C5042C 80240F1C 080903CB */ j .L80240F2C +/* C50430 80240F20 A603008E */ sh $v1, 0x8e($s0) +.L80240F24: +/* C50434 80240F24 24020004 */ addiu $v0, $zero, 4 +.L80240F28: +/* C50438 80240F28 AE820070 */ sw $v0, 0x70($s4) +.L80240F2C: +/* C5043C 80240F2C 8FBF0044 */ lw $ra, 0x44($sp) +/* C50440 80240F30 8FB40040 */ lw $s4, 0x40($sp) +/* C50444 80240F34 8FB3003C */ lw $s3, 0x3c($sp) +/* C50448 80240F38 8FB20038 */ lw $s2, 0x38($sp) +/* C5044C 80240F3C 8FB10034 */ lw $s1, 0x34($sp) +/* C50450 80240F40 8FB00030 */ lw $s0, 0x30($sp) +/* C50454 80240F44 03E00008 */ jr $ra +/* C50458 80240F48 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80240F4C.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240F4C.s new file mode 100644 index 0000000000..52a62b4c7b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80240F4C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F4C +/* C5045C 80240F4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C50460 80240F50 AFB10014 */ sw $s1, 0x14($sp) +/* C50464 80240F54 0080882D */ daddu $s1, $a0, $zero +/* C50468 80240F58 AFBF001C */ sw $ra, 0x1c($sp) +/* C5046C 80240F5C AFB20018 */ sw $s2, 0x18($sp) +/* C50470 80240F60 AFB00010 */ sw $s0, 0x10($sp) +/* C50474 80240F64 8E300148 */ lw $s0, 0x148($s1) +/* C50478 80240F68 86040008 */ lh $a0, 8($s0) +/* C5047C 80240F6C 0C00EABB */ jal get_npc_unsafe +/* C50480 80240F70 00A0902D */ daddu $s2, $a1, $zero +/* C50484 80240F74 8E230078 */ lw $v1, 0x78($s1) +/* C50488 80240F78 24630001 */ addiu $v1, $v1, 1 +/* C5048C 80240F7C AE230078 */ sw $v1, 0x78($s1) +/* C50490 80240F80 8E0400D0 */ lw $a0, 0xd0($s0) +/* C50494 80240F84 8C840000 */ lw $a0, ($a0) +/* C50498 80240F88 0064182A */ slt $v1, $v1, $a0 +/* C5049C 80240F8C 14600002 */ bnez $v1, .L80240F98 +/* C504A0 80240F90 0040282D */ daddu $a1, $v0, $zero +/* C504A4 80240F94 AE200078 */ sw $zero, 0x78($s1) +.L80240F98: +/* C504A8 80240F98 8E0200CC */ lw $v0, 0xcc($s0) +/* C504AC 80240F9C 8C420004 */ lw $v0, 4($v0) +/* C504B0 80240FA0 ACA20028 */ sw $v0, 0x28($a1) +/* C504B4 80240FA4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C504B8 80240FA8 8C42007C */ lw $v0, 0x7c($v0) +/* C504BC 80240FAC 04410004 */ bgez $v0, .L80240FC0 +/* C504C0 80240FB0 00000000 */ nop +/* C504C4 80240FB4 C6400000 */ lwc1 $f0, ($s2) +/* C504C8 80240FB8 080903F8 */ j .L80240FE0 +/* C504CC 80240FBC E4A00018 */ swc1 $f0, 0x18($a1) +.L80240FC0: +/* C504D0 80240FC0 3C018024 */ lui $at, 0x8024 +/* C504D4 80240FC4 D4222E90 */ ldc1 $f2, 0x2e90($at) +/* C504D8 80240FC8 44820000 */ mtc1 $v0, $f0 +/* C504DC 80240FCC 00000000 */ nop +/* C504E0 80240FD0 46800021 */ cvt.d.w $f0, $f0 +/* C504E4 80240FD4 46220003 */ div.d $f0, $f0, $f2 +/* C504E8 80240FD8 46200020 */ cvt.s.d $f0, $f0 +/* C504EC 80240FDC E4A00018 */ swc1 $f0, 0x18($a1) +.L80240FE0: +/* C504F0 80240FE0 24020001 */ addiu $v0, $zero, 1 +/* C504F4 80240FE4 AE220070 */ sw $v0, 0x70($s1) +/* C504F8 80240FE8 8FBF001C */ lw $ra, 0x1c($sp) +/* C504FC 80240FEC 8FB20018 */ lw $s2, 0x18($sp) +/* C50500 80240FF0 8FB10014 */ lw $s1, 0x14($sp) +/* C50504 80240FF4 8FB00010 */ lw $s0, 0x10($sp) +/* C50508 80240FF8 03E00008 */ jr $ra +/* C5050C 80240FFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241000.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241000.s new file mode 100644 index 0000000000..a8e2c97161 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241000.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241000 +/* C50510 80241000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C50514 80241004 AFB10014 */ sw $s1, 0x14($sp) +/* C50518 80241008 0080882D */ daddu $s1, $a0, $zero +/* C5051C 8024100C AFBF0018 */ sw $ra, 0x18($sp) +/* C50520 80241010 AFB00010 */ sw $s0, 0x10($sp) +/* C50524 80241014 8E300148 */ lw $s0, 0x148($s1) +/* C50528 80241018 0C00EABB */ jal get_npc_unsafe +/* C5052C 8024101C 86040008 */ lh $a0, 8($s0) +/* C50530 80241020 8E0300CC */ lw $v1, 0xcc($s0) +/* C50534 80241024 3C014120 */ lui $at, 0x4120 +/* C50538 80241028 44812000 */ mtc1 $at, $f4 +/* C5053C 8024102C 3C014000 */ lui $at, 0x4000 +/* C50540 80241030 44810000 */ mtc1 $at, $f0 +/* C50544 80241034 C442003C */ lwc1 $f2, 0x3c($v0) +/* C50548 80241038 8C640010 */ lw $a0, 0x10($v1) +/* C5054C 8024103C 8C430000 */ lw $v1, ($v0) +/* C50550 80241040 E444001C */ swc1 $f4, 0x1c($v0) +/* C50554 80241044 E4400014 */ swc1 $f0, 0x14($v0) +/* C50558 80241048 E4420064 */ swc1 $f2, 0x64($v0) +/* C5055C 8024104C 34630800 */ ori $v1, $v1, 0x800 +/* C50560 80241050 AC430000 */ sw $v1, ($v0) +/* C50564 80241054 AC440028 */ sw $a0, 0x28($v0) +/* C50568 80241058 2402000B */ addiu $v0, $zero, 0xb +/* C5056C 8024105C AE220070 */ sw $v0, 0x70($s1) +/* C50570 80241060 8FBF0018 */ lw $ra, 0x18($sp) +/* C50574 80241064 8FB10014 */ lw $s1, 0x14($sp) +/* C50578 80241068 8FB00010 */ lw $s0, 0x10($sp) +/* C5057C 8024106C 03E00008 */ jr $ra +/* C50580 80241070 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241074.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241074.s new file mode 100644 index 0000000000..7a0b450bc7 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241074.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241074 +/* C50584 80241074 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C50588 80241078 AFB00010 */ sw $s0, 0x10($sp) +/* C5058C 8024107C 0080802D */ daddu $s0, $a0, $zero +/* C50590 80241080 AFBF0014 */ sw $ra, 0x14($sp) +/* C50594 80241084 8E020148 */ lw $v0, 0x148($s0) +/* C50598 80241088 0C00EABB */ jal get_npc_unsafe +/* C5059C 8024108C 84440008 */ lh $a0, 8($v0) +/* C505A0 80241090 0040202D */ daddu $a0, $v0, $zero +/* C505A4 80241094 C482003C */ lwc1 $f2, 0x3c($a0) +/* C505A8 80241098 C480001C */ lwc1 $f0, 0x1c($a0) +/* C505AC 8024109C 46001080 */ add.s $f2, $f2, $f0 +/* C505B0 802410A0 C4840014 */ lwc1 $f4, 0x14($a0) +/* C505B4 802410A4 46040001 */ sub.s $f0, $f0, $f4 +/* C505B8 802410A8 C4840064 */ lwc1 $f4, 0x64($a0) +/* C505BC 802410AC 4602203C */ c.lt.s $f4, $f2 +/* C505C0 802410B0 E482003C */ swc1 $f2, 0x3c($a0) +/* C505C4 802410B4 45010009 */ bc1t .L802410DC +/* C505C8 802410B8 E480001C */ swc1 $f0, 0x1c($a0) +/* C505CC 802410BC 8C820000 */ lw $v0, ($a0) +/* C505D0 802410C0 2403F7FF */ addiu $v1, $zero, -0x801 +/* C505D4 802410C4 E484003C */ swc1 $f4, 0x3c($a0) +/* C505D8 802410C8 AC80001C */ sw $zero, 0x1c($a0) +/* C505DC 802410CC 00431024 */ and $v0, $v0, $v1 +/* C505E0 802410D0 AC820000 */ sw $v0, ($a0) +/* C505E4 802410D4 2402000C */ addiu $v0, $zero, 0xc +/* C505E8 802410D8 AE020070 */ sw $v0, 0x70($s0) +.L802410DC: +/* C505EC 802410DC 8FBF0014 */ lw $ra, 0x14($sp) +/* C505F0 802410E0 8FB00010 */ lw $s0, 0x10($sp) +/* C505F4 802410E4 03E00008 */ jr $ra +/* C505F8 802410E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_802410EC.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_802410EC.s new file mode 100644 index 0000000000..4792bace39 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_802410EC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410EC +/* C505FC 802410EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C50600 802410F0 AFB3001C */ sw $s3, 0x1c($sp) +/* C50604 802410F4 0080982D */ daddu $s3, $a0, $zero +/* C50608 802410F8 AFBF0020 */ sw $ra, 0x20($sp) +/* C5060C 802410FC AFB20018 */ sw $s2, 0x18($sp) +/* C50610 80241100 AFB10014 */ sw $s1, 0x14($sp) +/* C50614 80241104 AFB00010 */ sw $s0, 0x10($sp) +/* C50618 80241108 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C5061C 8024110C 8E710148 */ lw $s1, 0x148($s3) +/* C50620 80241110 86240008 */ lh $a0, 8($s1) +/* C50624 80241114 0C00EABB */ jal get_npc_unsafe +/* C50628 80241118 00A0802D */ daddu $s0, $a1, $zero +/* C5062C 8024111C 8E040020 */ lw $a0, 0x20($s0) +/* C50630 80241120 0040902D */ daddu $s2, $v0, $zero +/* C50634 80241124 00041FC2 */ srl $v1, $a0, 0x1f +/* C50638 80241128 00832021 */ addu $a0, $a0, $v1 +/* C5063C 8024112C 00042043 */ sra $a0, $a0, 1 +/* C50640 80241130 0C00A67F */ jal rand_int +/* C50644 80241134 24840001 */ addiu $a0, $a0, 1 +/* C50648 80241138 8E030020 */ lw $v1, 0x20($s0) +/* C5064C 8024113C C64C0038 */ lwc1 $f12, 0x38($s2) +/* C50650 80241140 000327C2 */ srl $a0, $v1, 0x1f +/* C50654 80241144 00641821 */ addu $v1, $v1, $a0 +/* C50658 80241148 00031843 */ sra $v1, $v1, 1 +/* C5065C 8024114C 00621821 */ addu $v1, $v1, $v0 +/* C50660 80241150 A643008E */ sh $v1, 0x8e($s2) +/* C50664 80241154 8E2200CC */ lw $v0, 0xcc($s1) +/* C50668 80241158 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C5066C 8024115C 8C42000C */ lw $v0, 0xc($v0) +/* C50670 80241160 AE420028 */ sw $v0, 0x28($s2) +/* C50674 80241164 C6000018 */ lwc1 $f0, 0x18($s0) +/* C50678 80241168 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5067C 8024116C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C50680 80241170 E6400018 */ swc1 $f0, 0x18($s2) +/* C50684 80241174 8C460028 */ lw $a2, 0x28($v0) +/* C50688 80241178 0C00A720 */ jal atan2 +/* C5068C 8024117C 8C470030 */ lw $a3, 0x30($v0) +/* C50690 80241180 46000506 */ mov.s $f20, $f0 +/* C50694 80241184 C64C000C */ lwc1 $f12, 0xc($s2) +/* C50698 80241188 0C00A70A */ jal get_clamped_angle_diff +/* C5069C 8024118C 4600A386 */ mov.s $f14, $f20 +/* C506A0 80241190 46000086 */ mov.s $f2, $f0 +/* C506A4 80241194 8E02001C */ lw $v0, 0x1c($s0) +/* C506A8 80241198 46001005 */ abs.s $f0, $f2 +/* C506AC 8024119C 44822000 */ mtc1 $v0, $f4 +/* C506B0 802411A0 00000000 */ nop +/* C506B4 802411A4 46802120 */ cvt.s.w $f4, $f4 +/* C506B8 802411A8 4600203C */ c.lt.s $f4, $f0 +/* C506BC 802411AC 00000000 */ nop +/* C506C0 802411B0 4500000D */ bc1f .L802411E8 +/* C506C4 802411B4 00000000 */ nop +/* C506C8 802411B8 44800000 */ mtc1 $zero, $f0 +/* C506CC 802411BC C654000C */ lwc1 $f20, 0xc($s2) +/* C506D0 802411C0 4600103C */ c.lt.s $f2, $f0 +/* C506D4 802411C4 00000000 */ nop +/* C506D8 802411C8 45000006 */ bc1f .L802411E4 +/* C506DC 802411CC 00021023 */ negu $v0, $v0 +/* C506E0 802411D0 44820000 */ mtc1 $v0, $f0 +/* C506E4 802411D4 00000000 */ nop +/* C506E8 802411D8 46800020 */ cvt.s.w $f0, $f0 +/* C506EC 802411DC 0809047A */ j .L802411E8 +/* C506F0 802411E0 4600A500 */ add.s $f20, $f20, $f0 +.L802411E4: +/* C506F4 802411E4 4604A500 */ add.s $f20, $f20, $f4 +.L802411E8: +/* C506F8 802411E8 0C00A6C9 */ jal clamp_angle +/* C506FC 802411EC 4600A306 */ mov.s $f12, $f20 +/* C50700 802411F0 2402000D */ addiu $v0, $zero, 0xd +/* C50704 802411F4 E640000C */ swc1 $f0, 0xc($s2) +/* C50708 802411F8 AE620070 */ sw $v0, 0x70($s3) +/* C5070C 802411FC 8FBF0020 */ lw $ra, 0x20($sp) +/* C50710 80241200 8FB3001C */ lw $s3, 0x1c($sp) +/* C50714 80241204 8FB20018 */ lw $s2, 0x18($sp) +/* C50718 80241208 8FB10014 */ lw $s1, 0x14($sp) +/* C5071C 8024120C 8FB00010 */ lw $s0, 0x10($sp) +/* C50720 80241210 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C50724 80241214 03E00008 */ jr $ra +/* C50728 80241218 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_8024121C_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024121C_C4F510.s new file mode 100644 index 0000000000..54db2faeca --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024121C_C4F510.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024121C_C5072C +/* C5072C 8024121C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C50730 80241220 AFB3003C */ sw $s3, 0x3c($sp) +/* C50734 80241224 0080982D */ daddu $s3, $a0, $zero +/* C50738 80241228 AFBF0040 */ sw $ra, 0x40($sp) +/* C5073C 8024122C AFB20038 */ sw $s2, 0x38($sp) +/* C50740 80241230 AFB10034 */ sw $s1, 0x34($sp) +/* C50744 80241234 AFB00030 */ sw $s0, 0x30($sp) +/* C50748 80241238 8E720148 */ lw $s2, 0x148($s3) +/* C5074C 8024123C 00A0882D */ daddu $s1, $a1, $zero +/* C50750 80241240 86440008 */ lh $a0, 8($s2) +/* C50754 80241244 0C00EABB */ jal get_npc_unsafe +/* C50758 80241248 00C0802D */ daddu $s0, $a2, $zero +/* C5075C 8024124C 0200202D */ daddu $a0, $s0, $zero +/* C50760 80241250 0240282D */ daddu $a1, $s2, $zero +/* C50764 80241254 24030001 */ addiu $v1, $zero, 1 +/* C50768 80241258 AFA30010 */ sw $v1, 0x10($sp) +/* C5076C 8024125C 8E260024 */ lw $a2, 0x24($s1) +/* C50770 80241260 8E270028 */ lw $a3, 0x28($s1) +/* C50774 80241264 0C01242D */ jal func_800490B4 +/* C50778 80241268 0040802D */ daddu $s0, $v0, $zero +/* C5077C 8024126C 1440001E */ bnez $v0, .L802412E8 +/* C50780 80241270 0200202D */ daddu $a0, $s0, $zero +/* C50784 80241274 24040002 */ addiu $a0, $zero, 2 +/* C50788 80241278 0200282D */ daddu $a1, $s0, $zero +/* C5078C 8024127C 0000302D */ daddu $a2, $zero, $zero +/* C50790 80241280 860300A8 */ lh $v1, 0xa8($s0) +/* C50794 80241284 3C013F80 */ lui $at, 0x3f80 +/* C50798 80241288 44810000 */ mtc1 $at, $f0 +/* C5079C 8024128C 3C014000 */ lui $at, 0x4000 +/* C507A0 80241290 44811000 */ mtc1 $at, $f2 +/* C507A4 80241294 3C01C1A0 */ lui $at, 0xc1a0 +/* C507A8 80241298 44812000 */ mtc1 $at, $f4 +/* C507AC 8024129C 2402000F */ addiu $v0, $zero, 0xf +/* C507B0 802412A0 AFA2001C */ sw $v0, 0x1c($sp) +/* C507B4 802412A4 44833000 */ mtc1 $v1, $f6 +/* C507B8 802412A8 00000000 */ nop +/* C507BC 802412AC 468031A0 */ cvt.s.w $f6, $f6 +/* C507C0 802412B0 44073000 */ mfc1 $a3, $f6 +/* C507C4 802412B4 27A20028 */ addiu $v0, $sp, 0x28 +/* C507C8 802412B8 AFA20020 */ sw $v0, 0x20($sp) +/* C507CC 802412BC E7A00010 */ swc1 $f0, 0x10($sp) +/* C507D0 802412C0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C507D4 802412C4 0C01BFA4 */ jal fx_emote +/* C507D8 802412C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C507DC 802412CC 8E4200CC */ lw $v0, 0xcc($s2) +/* C507E0 802412D0 8C430000 */ lw $v1, ($v0) +/* C507E4 802412D4 24020019 */ addiu $v0, $zero, 0x19 +/* C507E8 802412D8 A602008E */ sh $v0, 0x8e($s0) +/* C507EC 802412DC 2402000E */ addiu $v0, $zero, 0xe +/* C507F0 802412E0 080904C7 */ j .L8024131C +/* C507F4 802412E4 AE030028 */ sw $v1, 0x28($s0) +.L802412E8: +/* C507F8 802412E8 0C00F598 */ jal func_8003D660 +/* C507FC 802412EC 24050001 */ addiu $a1, $zero, 1 +/* C50800 802412F0 8E050018 */ lw $a1, 0x18($s0) +/* C50804 802412F4 8E06000C */ lw $a2, 0xc($s0) +/* C50808 802412F8 0C00EA95 */ jal npc_move_heading +/* C5080C 802412FC 0200202D */ daddu $a0, $s0, $zero +/* C50810 80241300 8602008E */ lh $v0, 0x8e($s0) +/* C50814 80241304 9603008E */ lhu $v1, 0x8e($s0) +/* C50818 80241308 18400003 */ blez $v0, .L80241318 +/* C5081C 8024130C 2462FFFF */ addiu $v0, $v1, -1 +/* C50820 80241310 080904C8 */ j .L80241320 +/* C50824 80241314 A602008E */ sh $v0, 0x8e($s0) +.L80241318: +/* C50828 80241318 2402000C */ addiu $v0, $zero, 0xc +.L8024131C: +/* C5082C 8024131C AE620070 */ sw $v0, 0x70($s3) +.L80241320: +/* C50830 80241320 8FBF0040 */ lw $ra, 0x40($sp) +/* C50834 80241324 8FB3003C */ lw $s3, 0x3c($sp) +/* C50838 80241328 8FB20038 */ lw $s2, 0x38($sp) +/* C5083C 8024132C 8FB10034 */ lw $s1, 0x34($sp) +/* C50840 80241330 8FB00030 */ lw $s0, 0x30($sp) +/* C50844 80241334 03E00008 */ jr $ra +/* C50848 80241338 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_8024133C_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024133C_C4F510.s new file mode 100644 index 0000000000..0cad4a343b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_8024133C_C4F510.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024133C_C5084C +/* C5084C 8024133C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C50850 80241340 AFB10014 */ sw $s1, 0x14($sp) +/* C50854 80241344 0080882D */ daddu $s1, $a0, $zero +/* C50858 80241348 AFBF0018 */ sw $ra, 0x18($sp) +/* C5085C 8024134C AFB00010 */ sw $s0, 0x10($sp) +/* C50860 80241350 8E300148 */ lw $s0, 0x148($s1) +/* C50864 80241354 0C00EABB */ jal get_npc_unsafe +/* C50868 80241358 86040008 */ lh $a0, 8($s0) +/* C5086C 8024135C 9443008E */ lhu $v1, 0x8e($v0) +/* C50870 80241360 2463FFFF */ addiu $v1, $v1, -1 +/* C50874 80241364 A443008E */ sh $v1, 0x8e($v0) +/* C50878 80241368 00031C00 */ sll $v1, $v1, 0x10 +/* C5087C 8024136C 14600008 */ bnez $v1, .L80241390 +/* C50880 80241370 00000000 */ nop +/* C50884 80241374 8E0200B0 */ lw $v0, 0xb0($s0) +/* C50888 80241378 30420080 */ andi $v0, $v0, 0x80 +/* C5088C 8024137C 10400003 */ beqz $v0, .L8024138C +/* C50890 80241380 2402000F */ addiu $v0, $zero, 0xf +/* C50894 80241384 080904E4 */ j .L80241390 +/* C50898 80241388 AE220070 */ sw $v0, 0x70($s1) +.L8024138C: +/* C5089C 8024138C AE200070 */ sw $zero, 0x70($s1) +.L80241390: +/* C508A0 80241390 8FBF0018 */ lw $ra, 0x18($sp) +/* C508A4 80241394 8FB10014 */ lw $s1, 0x14($sp) +/* C508A8 80241398 8FB00010 */ lw $s0, 0x10($sp) +/* C508AC 8024139C 03E00008 */ jr $ra +/* C508B0 802413A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_802413A4.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_802413A4.s new file mode 100644 index 0000000000..b3139b2085 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_802413A4.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A4 +/* C508B4 802413A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C508B8 802413A8 AFB10014 */ sw $s1, 0x14($sp) +/* C508BC 802413AC 0080882D */ daddu $s1, $a0, $zero +/* C508C0 802413B0 AFBF001C */ sw $ra, 0x1c($sp) +/* C508C4 802413B4 AFB20018 */ sw $s2, 0x18($sp) +/* C508C8 802413B8 AFB00010 */ sw $s0, 0x10($sp) +/* C508CC 802413BC 8E300148 */ lw $s0, 0x148($s1) +/* C508D0 802413C0 86040008 */ lh $a0, 8($s0) +/* C508D4 802413C4 0C00EABB */ jal get_npc_unsafe +/* C508D8 802413C8 00A0902D */ daddu $s2, $a1, $zero +/* C508DC 802413CC 8E0300D0 */ lw $v1, 0xd0($s0) +/* C508E0 802413D0 8E240078 */ lw $a0, 0x78($s1) +/* C508E4 802413D4 8C630000 */ lw $v1, ($v1) +/* C508E8 802413D8 0083182A */ slt $v1, $a0, $v1 +/* C508EC 802413DC 10600013 */ beqz $v1, .L8024142C +/* C508F0 802413E0 0040302D */ daddu $a2, $v0, $zero +/* C508F4 802413E4 00041040 */ sll $v0, $a0, 1 +/* C508F8 802413E8 00441021 */ addu $v0, $v0, $a0 +/* C508FC 802413EC 00022880 */ sll $a1, $v0, 2 +.L802413F0: +/* C50900 802413F0 8E0300D0 */ lw $v1, 0xd0($s0) +/* C50904 802413F4 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C50908 802413F8 00A31021 */ addu $v0, $a1, $v1 +/* C5090C 802413FC C4400008 */ lwc1 $f0, 8($v0) +/* C50910 80241400 46800020 */ cvt.s.w $f0, $f0 +/* C50914 80241404 4602003E */ c.le.s $f0, $f2 +/* C50918 80241408 00000000 */ nop +/* C5091C 8024140C 45020003 */ bc1fl .L8024141C +/* C50920 80241410 24840001 */ addiu $a0, $a0, 1 +/* C50924 80241414 0809050B */ j .L8024142C +/* C50928 80241418 AE240078 */ sw $a0, 0x78($s1) +.L8024141C: +/* C5092C 8024141C 8C620000 */ lw $v0, ($v1) +/* C50930 80241420 0082102A */ slt $v0, $a0, $v0 +/* C50934 80241424 1440FFF2 */ bnez $v0, .L802413F0 +/* C50938 80241428 24A5000C */ addiu $a1, $a1, 0xc +.L8024142C: +/* C5093C 8024142C C6400000 */ lwc1 $f0, ($s2) +/* C50940 80241430 E4C00018 */ swc1 $f0, 0x18($a2) +/* C50944 80241434 8E0200CC */ lw $v0, 0xcc($s0) +/* C50948 80241438 8C420004 */ lw $v0, 4($v0) +/* C5094C 8024143C ACC20028 */ sw $v0, 0x28($a2) +/* C50950 80241440 24020001 */ addiu $v0, $zero, 1 +/* C50954 80241444 AE200074 */ sw $zero, 0x74($s1) +/* C50958 80241448 AE220070 */ sw $v0, 0x70($s1) +/* C5095C 8024144C 8FBF001C */ lw $ra, 0x1c($sp) +/* C50960 80241450 8FB20018 */ lw $s2, 0x18($sp) +/* C50964 80241454 8FB10014 */ lw $s1, 0x14($sp) +/* C50968 80241458 8FB00010 */ lw $s0, 0x10($sp) +/* C5096C 8024145C 03E00008 */ jr $ra +/* C50970 80241460 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241464.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241464.s new file mode 100644 index 0000000000..c888f9484a --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241464.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241464 +/* C50974 80241464 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C50978 80241468 AFB40058 */ sw $s4, 0x58($sp) +/* C5097C 8024146C 0080A02D */ daddu $s4, $a0, $zero +/* C50980 80241470 AFBF0060 */ sw $ra, 0x60($sp) +/* C50984 80241474 AFB5005C */ sw $s5, 0x5c($sp) +/* C50988 80241478 AFB30054 */ sw $s3, 0x54($sp) +/* C5098C 8024147C AFB20050 */ sw $s2, 0x50($sp) +/* C50990 80241480 AFB1004C */ sw $s1, 0x4c($sp) +/* C50994 80241484 AFB00048 */ sw $s0, 0x48($sp) +/* C50998 80241488 8E910148 */ lw $s1, 0x148($s4) +/* C5099C 8024148C 86240008 */ lh $a0, 8($s1) +/* C509A0 80241490 0C00EABB */ jal get_npc_unsafe +/* C509A4 80241494 00A0802D */ daddu $s0, $a1, $zero +/* C509A8 80241498 8E83000C */ lw $v1, 0xc($s4) +/* C509AC 8024149C 0280202D */ daddu $a0, $s4, $zero +/* C509B0 802414A0 8C650000 */ lw $a1, ($v1) +/* C509B4 802414A4 0C0B1EAF */ jal get_variable +/* C509B8 802414A8 0040902D */ daddu $s2, $v0, $zero +/* C509BC 802414AC AFA00018 */ sw $zero, 0x18($sp) +/* C509C0 802414B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C509C4 802414B4 8C630094 */ lw $v1, 0x94($v1) +/* C509C8 802414B8 AFA3001C */ sw $v1, 0x1c($sp) +/* C509CC 802414BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C509D0 802414C0 8C630080 */ lw $v1, 0x80($v1) +/* C509D4 802414C4 AFA30020 */ sw $v1, 0x20($sp) +/* C509D8 802414C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C509DC 802414CC 8C630088 */ lw $v1, 0x88($v1) +/* C509E0 802414D0 AFA30024 */ sw $v1, 0x24($sp) +/* C509E4 802414D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C509E8 802414D8 8C63008C */ lw $v1, 0x8c($v1) +/* C509EC 802414DC 27B50018 */ addiu $s5, $sp, 0x18 +/* C509F0 802414E0 AFA30028 */ sw $v1, 0x28($sp) +/* C509F4 802414E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C509F8 802414E8 3C014282 */ lui $at, 0x4282 +/* C509FC 802414EC 44810000 */ mtc1 $at, $f0 +/* C50A00 802414F0 8C630090 */ lw $v1, 0x90($v1) +/* C50A04 802414F4 0040982D */ daddu $s3, $v0, $zero +/* C50A08 802414F8 E7A00030 */ swc1 $f0, 0x30($sp) +/* C50A0C 802414FC A7A00034 */ sh $zero, 0x34($sp) +/* C50A10 80241500 16000005 */ bnez $s0, .L80241518 +/* C50A14 80241504 AFA3002C */ sw $v1, 0x2c($sp) +/* C50A18 80241508 8E2200B0 */ lw $v0, 0xb0($s1) +/* C50A1C 8024150C 30420004 */ andi $v0, $v0, 4 +/* C50A20 80241510 10400044 */ beqz $v0, .L80241624 +/* C50A24 80241514 00000000 */ nop +.L80241518: +/* C50A28 80241518 2404F7FF */ addiu $a0, $zero, -0x801 +/* C50A2C 8024151C AE800070 */ sw $zero, 0x70($s4) +/* C50A30 80241520 A640008E */ sh $zero, 0x8e($s2) +/* C50A34 80241524 8E2200CC */ lw $v0, 0xcc($s1) +/* C50A38 80241528 8E430000 */ lw $v1, ($s2) +/* C50A3C 8024152C 8C420000 */ lw $v0, ($v0) +/* C50A40 80241530 00641824 */ and $v1, $v1, $a0 +/* C50A44 80241534 AE430000 */ sw $v1, ($s2) +/* C50A48 80241538 AE420028 */ sw $v0, 0x28($s2) +/* C50A4C 8024153C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C50A50 80241540 8C420098 */ lw $v0, 0x98($v0) +/* C50A54 80241544 54400005 */ bnel $v0, $zero, .L8024155C +/* C50A58 80241548 2402FDFF */ addiu $v0, $zero, -0x201 +/* C50A5C 8024154C 34620200 */ ori $v0, $v1, 0x200 +/* C50A60 80241550 2403FFF7 */ addiu $v1, $zero, -9 +/* C50A64 80241554 08090559 */ j .L80241564 +/* C50A68 80241558 00431024 */ and $v0, $v0, $v1 +.L8024155C: +/* C50A6C 8024155C 00621024 */ and $v0, $v1, $v0 +/* C50A70 80241560 34420008 */ ori $v0, $v0, 8 +.L80241564: +/* C50A74 80241564 AE420000 */ sw $v0, ($s2) +/* C50A78 80241568 8E2200B0 */ lw $v0, 0xb0($s1) +/* C50A7C 8024156C 30420004 */ andi $v0, $v0, 4 +/* C50A80 80241570 10400008 */ beqz $v0, .L80241594 +/* C50A84 80241574 24020063 */ addiu $v0, $zero, 0x63 +/* C50A88 80241578 AE820070 */ sw $v0, 0x70($s4) +/* C50A8C 8024157C AE800074 */ sw $zero, 0x74($s4) +/* C50A90 80241580 8E2200B0 */ lw $v0, 0xb0($s1) +/* C50A94 80241584 2403FFFB */ addiu $v1, $zero, -5 +/* C50A98 80241588 00431024 */ and $v0, $v0, $v1 +/* C50A9C 8024158C 08090570 */ j .L802415C0 +/* C50AA0 80241590 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241594: +/* C50AA4 80241594 8E220000 */ lw $v0, ($s1) +/* C50AA8 80241598 3C034000 */ lui $v1, 0x4000 +/* C50AAC 8024159C 00431024 */ and $v0, $v0, $v1 +/* C50AB0 802415A0 10400007 */ beqz $v0, .L802415C0 +/* C50AB4 802415A4 3C03BFFF */ lui $v1, 0xbfff +/* C50AB8 802415A8 2402000C */ addiu $v0, $zero, 0xc +/* C50ABC 802415AC AE820070 */ sw $v0, 0x70($s4) +/* C50AC0 802415B0 8E220000 */ lw $v0, ($s1) +/* C50AC4 802415B4 3463FFFF */ ori $v1, $v1, 0xffff +/* C50AC8 802415B8 00431024 */ and $v0, $v0, $v1 +/* C50ACC 802415BC AE220000 */ sw $v0, ($s1) +.L802415C0: +/* C50AD0 802415C0 27A50038 */ addiu $a1, $sp, 0x38 +/* C50AD4 802415C4 27A6003C */ addiu $a2, $sp, 0x3c +/* C50AD8 802415C8 C6400038 */ lwc1 $f0, 0x38($s2) +/* C50ADC 802415CC 864200A8 */ lh $v0, 0xa8($s2) +/* C50AE0 802415D0 3C0142C8 */ lui $at, 0x42c8 +/* C50AE4 802415D4 44812000 */ mtc1 $at, $f4 +/* C50AE8 802415D8 44823000 */ mtc1 $v0, $f6 +/* C50AEC 802415DC 00000000 */ nop +/* C50AF0 802415E0 468031A0 */ cvt.s.w $f6, $f6 +/* C50AF4 802415E4 27A20044 */ addiu $v0, $sp, 0x44 +/* C50AF8 802415E8 E7A00038 */ swc1 $f0, 0x38($sp) +/* C50AFC 802415EC C640003C */ lwc1 $f0, 0x3c($s2) +/* C50B00 802415F0 C6420040 */ lwc1 $f2, 0x40($s2) +/* C50B04 802415F4 46060000 */ add.s $f0, $f0, $f6 +/* C50B08 802415F8 E7A40044 */ swc1 $f4, 0x44($sp) +/* C50B0C 802415FC E7A20040 */ swc1 $f2, 0x40($sp) +/* C50B10 80241600 E7A0003C */ swc1 $f0, 0x3c($sp) +/* C50B14 80241604 AFA20010 */ sw $v0, 0x10($sp) +/* C50B18 80241608 8E440080 */ lw $a0, 0x80($s2) +/* C50B1C 8024160C 0C0372DF */ jal func_800DCB7C +/* C50B20 80241610 27A70040 */ addiu $a3, $sp, 0x40 +/* C50B24 80241614 10400003 */ beqz $v0, .L80241624 +/* C50B28 80241618 00000000 */ nop +/* C50B2C 8024161C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C50B30 80241620 E640003C */ swc1 $f0, 0x3c($s2) +.L80241624: +/* C50B34 80241624 8E830070 */ lw $v1, 0x70($s4) +/* C50B38 80241628 2C620064 */ sltiu $v0, $v1, 0x64 +/* C50B3C 8024162C 10400042 */ beqz $v0, .L80241738 +/* C50B40 80241630 00031080 */ sll $v0, $v1, 2 +/* C50B44 80241634 3C018024 */ lui $at, 0x8024 +/* C50B48 80241638 00220821 */ addu $at, $at, $v0 +/* C50B4C 8024163C 8C222E98 */ lw $v0, 0x2e98($at) +/* C50B50 80241640 00400008 */ jr $v0 +/* C50B54 80241644 00000000 */ nop +/* C50B58 80241648 0280202D */ daddu $a0, $s4, $zero +/* C50B5C 8024164C 0260282D */ daddu $a1, $s3, $zero +/* C50B60 80241650 0C090234 */ jal func_802408D0 +/* C50B64 80241654 02A0302D */ daddu $a2, $s5, $zero +/* C50B68 80241658 0280202D */ daddu $a0, $s4, $zero +/* C50B6C 8024165C 0260282D */ daddu $a1, $s3, $zero +/* C50B70 80241660 0C09028A */ jal func_80240A28 +/* C50B74 80241664 02A0302D */ daddu $a2, $s5, $zero +/* C50B78 80241668 080905CE */ j .L80241738 +/* C50B7C 8024166C 00000000 */ nop +/* C50B80 80241670 0280202D */ daddu $a0, $s4, $zero +/* C50B84 80241674 0260282D */ daddu $a1, $s3, $zero +/* C50B88 80241678 0C090334 */ jal func_80240CD0 +/* C50B8C 8024167C 02A0302D */ daddu $a2, $s5, $zero +/* C50B90 80241680 0280202D */ daddu $a0, $s4, $zero +/* C50B94 80241684 0260282D */ daddu $a1, $s3, $zero +/* C50B98 80241688 0C090364 */ jal func_80240D90 +/* C50B9C 8024168C 02A0302D */ daddu $a2, $s5, $zero +/* C50BA0 80241690 080905CE */ j .L80241738 +/* C50BA4 80241694 00000000 */ nop +/* C50BA8 80241698 0280202D */ daddu $a0, $s4, $zero +/* C50BAC 8024169C 0260282D */ daddu $a1, $s3, $zero +/* C50BB0 802416A0 0C0903D3 */ jal func_80240F4C +/* C50BB4 802416A4 02A0302D */ daddu $a2, $s5, $zero +/* C50BB8 802416A8 080905CE */ j .L80241738 +/* C50BBC 802416AC 00000000 */ nop +/* C50BC0 802416B0 0280202D */ daddu $a0, $s4, $zero +/* C50BC4 802416B4 0260282D */ daddu $a1, $s3, $zero +/* C50BC8 802416B8 0C090400 */ jal func_80241000 +/* C50BCC 802416BC 02A0302D */ daddu $a2, $s5, $zero +/* C50BD0 802416C0 0280202D */ daddu $a0, $s4, $zero +/* C50BD4 802416C4 0260282D */ daddu $a1, $s3, $zero +/* C50BD8 802416C8 0C09041D */ jal func_80241074 +/* C50BDC 802416CC 02A0302D */ daddu $a2, $s5, $zero +/* C50BE0 802416D0 080905CE */ j .L80241738 +/* C50BE4 802416D4 00000000 */ nop +/* C50BE8 802416D8 0280202D */ daddu $a0, $s4, $zero +/* C50BEC 802416DC 0260282D */ daddu $a1, $s3, $zero +/* C50BF0 802416E0 0C09043B */ jal func_802410EC +/* C50BF4 802416E4 02A0302D */ daddu $a2, $s5, $zero +/* C50BF8 802416E8 0280202D */ daddu $a0, $s4, $zero +/* C50BFC 802416EC 0260282D */ daddu $a1, $s3, $zero +/* C50C00 802416F0 0C090487 */ jal func_8024121C +/* C50C04 802416F4 02A0302D */ daddu $a2, $s5, $zero +/* C50C08 802416F8 080905CE */ j .L80241738 +/* C50C0C 802416FC 00000000 */ nop +/* C50C10 80241700 0280202D */ daddu $a0, $s4, $zero +/* C50C14 80241704 0260282D */ daddu $a1, $s3, $zero +/* C50C18 80241708 0C0904CF */ jal func_8024133C +/* C50C1C 8024170C 02A0302D */ daddu $a2, $s5, $zero +/* C50C20 80241710 080905CE */ j .L80241738 +/* C50C24 80241714 00000000 */ nop +/* C50C28 80241718 0280202D */ daddu $a0, $s4, $zero +/* C50C2C 8024171C 0260282D */ daddu $a1, $s3, $zero +/* C50C30 80241720 0C0904E9 */ jal func_802413A4 +/* C50C34 80241724 02A0302D */ daddu $a2, $s5, $zero +/* C50C38 80241728 080905CE */ j .L80241738 +/* C50C3C 8024172C 00000000 */ nop +/* C50C40 80241730 0C0129CF */ jal func_8004A73C +/* C50C44 80241734 0280202D */ daddu $a0, $s4, $zero +.L80241738: +/* C50C48 80241738 8FBF0060 */ lw $ra, 0x60($sp) +/* C50C4C 8024173C 8FB5005C */ lw $s5, 0x5c($sp) +/* C50C50 80241740 8FB40058 */ lw $s4, 0x58($sp) +/* C50C54 80241744 8FB30054 */ lw $s3, 0x54($sp) +/* C50C58 80241748 8FB20050 */ lw $s2, 0x50($sp) +/* C50C5C 8024174C 8FB1004C */ lw $s1, 0x4c($sp) +/* C50C60 80241750 8FB00048 */ lw $s0, 0x48($sp) +/* C50C64 80241754 0000102D */ daddu $v0, $zero, $zero +/* C50C68 80241758 03E00008 */ jr $ra +/* C50C6C 8024175C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241760_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241760_C4F510.s new file mode 100644 index 0000000000..6930360aea --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241760_C4F510.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241760_C50C70 +/* C50C70 80241760 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C50C74 80241764 AFBF0010 */ sw $ra, 0x10($sp) +/* C50C78 80241768 0C03A6D5 */ jal increment_status_menu_disabled +/* C50C7C 8024176C 00000000 */ nop +/* C50C80 80241770 3C05437F */ lui $a1, 0x437f +/* C50C84 80241774 0C04DF69 */ jal func_80137DA4 +/* C50C88 80241778 0000202D */ daddu $a0, $zero, $zero +/* C50C8C 8024177C 8FBF0010 */ lw $ra, 0x10($sp) +/* C50C90 80241780 24020002 */ addiu $v0, $zero, 2 +/* C50C94 80241784 03E00008 */ jr $ra +/* C50C98 80241788 27BD0018 */ addiu $sp, $sp, 0x18 +/* C50C9C 8024178C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241790_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241790_C4F510.s new file mode 100644 index 0000000000..8ad1f98dc6 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241790_C4F510.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241790_C50CA0 +/* C50CA0 80241790 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C50CA4 80241794 AFB20018 */ sw $s2, 0x18($sp) +/* C50CA8 80241798 0080902D */ daddu $s2, $a0, $zero +/* C50CAC 8024179C AFBF001C */ sw $ra, 0x1c($sp) +/* C50CB0 802417A0 AFB10014 */ sw $s1, 0x14($sp) +/* C50CB4 802417A4 AFB00010 */ sw $s0, 0x10($sp) +/* C50CB8 802417A8 8E50000C */ lw $s0, 0xc($s2) +/* C50CBC 802417AC 8E050000 */ lw $a1, ($s0) +/* C50CC0 802417B0 0C0B1EAF */ jal get_variable +/* C50CC4 802417B4 26100004 */ addiu $s0, $s0, 4 +/* C50CC8 802417B8 0C04417A */ jal get_entity_by_index +/* C50CCC 802417BC 0040202D */ daddu $a0, $v0, $zero +/* C50CD0 802417C0 8E050000 */ lw $a1, ($s0) +/* C50CD4 802417C4 26100004 */ addiu $s0, $s0, 4 +/* C50CD8 802417C8 0040882D */ daddu $s1, $v0, $zero +/* C50CDC 802417CC C6200048 */ lwc1 $f0, 0x48($s1) +/* C50CE0 802417D0 4600008D */ trunc.w.s $f2, $f0 +/* C50CE4 802417D4 44061000 */ mfc1 $a2, $f2 +/* C50CE8 802417D8 0C0B2026 */ jal set_variable +/* C50CEC 802417DC 0240202D */ daddu $a0, $s2, $zero +/* C50CF0 802417E0 8E050000 */ lw $a1, ($s0) +/* C50CF4 802417E4 26100004 */ addiu $s0, $s0, 4 +/* C50CF8 802417E8 C620004C */ lwc1 $f0, 0x4c($s1) +/* C50CFC 802417EC 4600008D */ trunc.w.s $f2, $f0 +/* C50D00 802417F0 44061000 */ mfc1 $a2, $f2 +/* C50D04 802417F4 0C0B2026 */ jal set_variable +/* C50D08 802417F8 0240202D */ daddu $a0, $s2, $zero +/* C50D0C 802417FC C6200050 */ lwc1 $f0, 0x50($s1) +/* C50D10 80241800 8E050000 */ lw $a1, ($s0) +/* C50D14 80241804 4600008D */ trunc.w.s $f2, $f0 +/* C50D18 80241808 44061000 */ mfc1 $a2, $f2 +/* C50D1C 8024180C 0C0B2026 */ jal set_variable +/* C50D20 80241810 0240202D */ daddu $a0, $s2, $zero +/* C50D24 80241814 8FBF001C */ lw $ra, 0x1c($sp) +/* C50D28 80241818 8FB20018 */ lw $s2, 0x18($sp) +/* C50D2C 8024181C 8FB10014 */ lw $s1, 0x14($sp) +/* C50D30 80241820 8FB00010 */ lw $s0, 0x10($sp) +/* C50D34 80241824 24020002 */ addiu $v0, $zero, 2 +/* C50D38 80241828 03E00008 */ jr $ra +/* C50D3C 8024182C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/func_80241830_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241830_C4F510.s new file mode 100644 index 0000000000..7aa1bf0169 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/func_80241830_C4F510.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241830_C50D40 +/* C50D40 80241830 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C50D44 80241834 AFBF0010 */ sw $ra, 0x10($sp) +/* C50D48 80241838 0C04417A */ jal get_entity_by_index +/* C50D4C 8024183C 8C840084 */ lw $a0, 0x84($a0) +/* C50D50 80241840 0040182D */ daddu $v1, $v0, $zero +/* C50D54 80241844 8C640000 */ lw $a0, ($v1) +/* C50D58 80241848 3C050010 */ lui $a1, 0x10 +/* C50D5C 8024184C 00852025 */ or $a0, $a0, $a1 +/* C50D60 80241850 AC640000 */ sw $a0, ($v1) +/* C50D64 80241854 8FBF0010 */ lw $ra, 0x10($sp) +/* C50D68 80241858 24020002 */ addiu $v0, $zero, 2 +/* C50D6C 8024185C 03E00008 */ jr $ra +/* C50D70 80241860 27BD0018 */ addiu $sp, $sp, 0x18 +/* C50D74 80241864 00000000 */ nop +/* C50D78 80241868 00000000 */ nop +/* C50D7C 8024186C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_15/update_starpoints_display_C4F510.s b/asm/nonmatchings/world/area_dgb/dgb_15/update_starpoints_display_C4F510.s new file mode 100644 index 0000000000..980347d650 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_15/update_starpoints_display_C4F510.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_C4F8CC +/* C4F8CC 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C4F8D0 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* C4F8D4 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* C4F8D8 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* C4F8DC 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* C4F8E0 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* C4F8E4 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* C4F8E8 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* C4F8EC 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* C4F8F0 802403E0 86240008 */ lh $a0, 8($s1) +/* C4F8F4 802403E4 0C00EABB */ jal get_npc_unsafe +/* C4F8F8 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* C4F8FC 802403EC 16000005 */ bnez $s0, .L80240404 +/* C4F900 802403F0 0040902D */ daddu $s2, $v0, $zero +/* C4F904 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C4F908 802403F8 30420004 */ andi $v0, $v0, 4 +/* C4F90C 802403FC 10400015 */ beqz $v0, .L80240454 +/* C4F910 80240400 00000000 */ nop +.L80240404: +/* C4F914 80240404 AE800070 */ sw $zero, 0x70($s4) +/* C4F918 80240408 8E420000 */ lw $v0, ($s2) +/* C4F91C 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* C4F920 80240410 A640008E */ sh $zero, 0x8e($s2) +/* C4F924 80240414 34420102 */ ori $v0, $v0, 0x102 +/* C4F928 80240418 AE420000 */ sw $v0, ($s2) +/* C4F92C 8024041C 8E220000 */ lw $v0, ($s1) +/* C4F930 80240420 3C01C47A */ lui $at, 0xc47a +/* C4F934 80240424 44810000 */ mtc1 $at, $f0 +/* C4F938 80240428 00431025 */ or $v0, $v0, $v1 +/* C4F93C 8024042C AE220000 */ sw $v0, ($s1) +/* C4F940 80240430 AE400038 */ sw $zero, 0x38($s2) +/* C4F944 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* C4F948 80240438 AE400040 */ sw $zero, 0x40($s2) +/* C4F94C 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C4F950 80240440 30620004 */ andi $v0, $v1, 4 +/* C4F954 80240444 10400003 */ beqz $v0, .L80240454 +/* C4F958 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* C4F95C 8024044C 00621024 */ and $v0, $v1, $v0 +/* C4F960 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* C4F964 80240454 8E930070 */ lw $s3, 0x70($s4) +/* C4F968 80240458 12600005 */ beqz $s3, .L80240470 +/* C4F96C 8024045C 24020001 */ addiu $v0, $zero, 1 +/* C4F970 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* C4F974 80240464 00000000 */ nop +/* C4F978 80240468 0809017E */ j .L802405F8 +/* C4F97C 8024046C 00000000 */ nop +.L80240470: +/* C4F980 80240470 86240008 */ lh $a0, 8($s1) +/* C4F984 80240474 0C00FB3A */ jal get_enemy +/* C4F988 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* C4F98C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* C4F990 80240480 0C00EABB */ jal get_npc_unsafe +/* C4F994 80240484 86040008 */ lh $a0, 8($s0) +/* C4F998 80240488 24030001 */ addiu $v1, $zero, 1 +/* C4F99C 8024048C 0040982D */ daddu $s3, $v0, $zero +/* C4F9A0 80240490 A2230007 */ sb $v1, 7($s1) +/* C4F9A4 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* C4F9A8 80240498 24020003 */ addiu $v0, $zero, 3 +/* C4F9AC 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* C4F9B0 802404A0 00000000 */ nop +/* C4F9B4 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C4F9B8 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* C4F9BC 802404AC 0260202D */ daddu $a0, $s3, $zero +/* C4F9C0 802404B0 0C012530 */ jal func_800494C0 +/* C4F9C4 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* C4F9C8 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* C4F9CC 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* C4F9D0 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* C4F9D4 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C4F9D8 802404C8 3C014387 */ lui $at, 0x4387 +/* C4F9DC 802404CC 44810000 */ mtc1 $at, $f0 +/* C4F9E0 802404D0 44064000 */ mfc1 $a2, $f8 +/* C4F9E4 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* C4F9E8 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C4F9EC 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* C4F9F0 802404E0 44070000 */ mfc1 $a3, $f0 +/* C4F9F4 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* C4F9F8 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C4F9FC 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* C4FA00 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* C4FA04 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C4FA08 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* C4FA0C 802404FC 44024000 */ mfc1 $v0, $f8 +/* C4FA10 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* C4FA14 80240504 A6220010 */ sh $v0, 0x10($s1) +/* C4FA18 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* C4FA1C 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* C4FA20 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* C4FA24 80240514 46020000 */ add.s $f0, $f0, $f2 +/* C4FA28 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C4FA2C 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C4FA30 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* C4FA34 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C4FA38 80240528 4600020D */ trunc.w.s $f8, $f0 +/* C4FA3C 8024052C 44024000 */ mfc1 $v0, $f8 +/* C4FA40 80240530 00000000 */ nop +/* C4FA44 80240534 A6220012 */ sh $v0, 0x12($s1) +/* C4FA48 80240538 4600120D */ trunc.w.s $f8, $f2 +/* C4FA4C 8024053C 44024000 */ mfc1 $v0, $f8 +/* C4FA50 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* C4FA54 80240544 A6220014 */ sh $v0, 0x14($s1) +/* C4FA58 80240548 8C660028 */ lw $a2, 0x28($v1) +/* C4FA5C 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* C4FA60 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C4FA64 80240554 0C00A720 */ jal atan2 +/* C4FA68 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C4FA6C 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* C4FA70 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* C4FA74 80240564 8E220000 */ lw $v0, ($s1) +/* C4FA78 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* C4FA7C 8024056C 00431024 */ and $v0, $v0, $v1 +/* C4FA80 80240570 AE220000 */ sw $v0, ($s1) +/* C4FA84 80240574 24020001 */ addiu $v0, $zero, 1 +/* C4FA88 80240578 A640008E */ sh $zero, 0x8e($s2) +/* C4FA8C 8024057C 0809017E */ j .L802405F8 +/* C4FA90 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* C4FA94 80240584 86240008 */ lh $a0, 8($s1) +/* C4FA98 80240588 0C00FB3A */ jal get_enemy +/* C4FA9C 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* C4FAA0 80240590 0040802D */ daddu $s0, $v0, $zero +/* C4FAA4 80240594 0C00EABB */ jal get_npc_unsafe +/* C4FAA8 80240598 86040008 */ lh $a0, 8($s0) +/* C4FAAC 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* C4FAB0 802405A0 24420001 */ addiu $v0, $v0, 1 +/* C4FAB4 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* C4FAB8 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* C4FABC 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* C4FAC0 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* C4FAC4 802405B4 0043102A */ slt $v0, $v0, $v1 +/* C4FAC8 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* C4FACC 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* C4FAD0 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* C4FAD4 802405C4 24020004 */ addiu $v0, $zero, 4 +/* C4FAD8 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* C4FADC 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* C4FAE0 802405D0 8E230000 */ lw $v1, ($s1) +/* C4FAE4 802405D4 3C01C47A */ lui $at, 0xc47a +/* C4FAE8 802405D8 44810000 */ mtc1 $at, $f0 +/* C4FAEC 802405DC 00621825 */ or $v1, $v1, $v0 +/* C4FAF0 802405E0 AE230000 */ sw $v1, ($s1) +/* C4FAF4 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* C4FAF8 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* C4FAFC 802405EC AE400040 */ sw $zero, 0x40($s2) +/* C4FB00 802405F0 A2330007 */ sb $s3, 7($s1) +/* C4FB04 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* C4FB08 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* C4FB0C 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* C4FB10 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* C4FB14 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* C4FB18 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* C4FB1C 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* C4FB20 80240610 0000102D */ daddu $v0, $zero, $zero +/* C4FB24 80240614 03E00008 */ jr $ra +/* C4FB28 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240000_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240000_C52540.s new file mode 100644 index 0000000000..58a43ce663 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240000_C52540.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C52540 +/* C52540 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C52544 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* C52548 80240008 0080882D */ daddu $s1, $a0, $zero +/* C5254C 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* C52550 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* C52554 80240014 8E300148 */ lw $s0, 0x148($s1) +/* C52558 80240018 0C00EABB */ jal get_npc_unsafe +/* C5255C 8024001C 86040008 */ lh $a0, 8($s0) +/* C52560 80240020 24030001 */ addiu $v1, $zero, 1 +/* C52564 80240024 0040202D */ daddu $a0, $v0, $zero +/* C52568 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* C5256C 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* C52570 80240030 14400009 */ bnez $v0, .L80240058 +/* C52574 80240034 24020002 */ addiu $v0, $zero, 2 +/* C52578 80240038 96030072 */ lhu $v1, 0x72($s0) +/* C5257C 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* C52580 80240040 A483008E */ sh $v1, 0x8e($a0) +/* C52584 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* C52588 80240048 8C420020 */ lw $v0, 0x20($v0) +/* C5258C 8024004C AC820028 */ sw $v0, 0x28($a0) +/* C52590 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* C52594 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* C52598 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* C5259C 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* C525A0 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* C525A4 80240064 03E00008 */ jr $ra +/* C525A8 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_8024006C_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024006C_C52540.s new file mode 100644 index 0000000000..839fd0407b --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024006C_C52540.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_C525AC +/* C525AC 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C525B0 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* C525B4 80240074 0080882D */ daddu $s1, $a0, $zero +/* C525B8 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* C525BC 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* C525C0 80240080 8E300148 */ lw $s0, 0x148($s1) +/* C525C4 80240084 0C00EABB */ jal get_npc_unsafe +/* C525C8 80240088 86040008 */ lh $a0, 8($s0) +/* C525CC 8024008C 0040202D */ daddu $a0, $v0, $zero +/* C525D0 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* C525D4 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* C525D8 80240098 A482008E */ sh $v0, 0x8e($a0) +/* C525DC 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* C525E0 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* C525E4 802400A4 24020003 */ addiu $v0, $zero, 3 +/* C525E8 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* C525EC 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* C525F0 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* C525F4 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* C525F8 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* C525FC 802400BC AC820028 */ sw $v0, 0x28($a0) +/* C52600 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* C52604 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* C52608 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* C5260C 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* C52610 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* C52614 802400D4 03E00008 */ jr $ra +/* C52618 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_802400DC_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_802400DC_C52540.s new file mode 100644 index 0000000000..998dd47300 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_802400DC_C52540.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_C5261C +/* C5261C 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C52620 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* C52624 802400E4 0080882D */ daddu $s1, $a0, $zero +/* C52628 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* C5262C 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* C52630 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* C52634 802400F4 0C00EABB */ jal get_npc_unsafe +/* C52638 802400F8 86040008 */ lh $a0, 8($s0) +/* C5263C 802400FC 0040282D */ daddu $a1, $v0, $zero +/* C52640 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* C52644 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* C52648 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* C5264C 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* C52650 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* C52654 80240114 24020004 */ addiu $v0, $zero, 4 +/* C52658 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* C5265C 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* C52660 80240120 8C620000 */ lw $v0, ($v1) +/* C52664 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* C52668 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* C5266C 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* C52670 80240130 8E020078 */ lw $v0, 0x78($s0) +/* C52674 80240134 28420008 */ slti $v0, $v0, 8 +/* C52678 80240138 14400018 */ bnez $v0, .L8024019C +/* C5267C 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* C52680 80240140 24040003 */ addiu $a0, $zero, 3 +/* C52684 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* C52688 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* C5268C 8024014C 3C013F80 */ lui $at, 0x3f80 +/* C52690 80240150 44810000 */ mtc1 $at, $f0 +/* C52694 80240154 3C014000 */ lui $at, 0x4000 +/* C52698 80240158 44811000 */ mtc1 $at, $f2 +/* C5269C 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* C526A0 80240160 44812000 */ mtc1 $at, $f4 +/* C526A4 80240164 44873000 */ mtc1 $a3, $f6 +/* C526A8 80240168 00000000 */ nop +/* C526AC 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* C526B0 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* C526B4 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* C526B8 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* C526BC 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* C526C0 80240180 44073000 */ mfc1 $a3, $f6 +/* C526C4 80240184 0000302D */ daddu $a2, $zero, $zero +/* C526C8 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* C526CC 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* C526D0 80240190 0C01BFA4 */ jal fx_emote +/* C526D4 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* C526D8 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* C526DC 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* C526E0 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* C526E4 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* C526E8 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* C526EC 802401AC 03E00008 */ jr $ra +/* C526F0 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_802401B4_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_802401B4_C52540.s new file mode 100644 index 0000000000..d5532ce774 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_802401B4_C52540.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_C526F4 +/* C526F4 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C526F8 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* C526FC 802401BC 0080882D */ daddu $s1, $a0, $zero +/* C52700 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C52704 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* C52708 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* C5270C 802401CC 0C00EABB */ jal get_npc_unsafe +/* C52710 802401D0 86040008 */ lh $a0, 8($s0) +/* C52714 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* C52718 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* C5271C 802401DC A443008E */ sh $v1, 0x8e($v0) +/* C52720 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* C52724 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* C52728 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* C5272C 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* C52730 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* C52734 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* C52738 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* C5273C 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* C52740 80240200 03E00008 */ jr $ra +/* C52744 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240208_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240208_C52540.s new file mode 100644 index 0000000000..f85f8bc734 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240208_C52540.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_C52748 +/* C52748 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C5274C 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* C52750 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* C52754 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* C52758 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* C5275C 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* C52760 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* C52764 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C52768 80240228 8C900148 */ lw $s0, 0x148($a0) +/* C5276C 8024022C 86040008 */ lh $a0, 8($s0) +/* C52770 80240230 0C00EABB */ jal get_npc_unsafe +/* C52774 80240234 24110001 */ addiu $s1, $zero, 1 +/* C52778 80240238 86040008 */ lh $a0, 8($s0) +/* C5277C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* C52780 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* C52784 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C52788 80240248 3C03800A */ lui $v1, 0x800a +/* C5278C 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* C52790 80240250 00912021 */ addu $a0, $a0, $s1 +/* C52794 80240254 00031080 */ sll $v0, $v1, 2 +/* C52798 80240258 00431021 */ addu $v0, $v0, $v1 +/* C5279C 8024025C 00021080 */ sll $v0, $v0, 2 +/* C527A0 80240260 00431023 */ subu $v0, $v0, $v1 +/* C527A4 80240264 000218C0 */ sll $v1, $v0, 3 +/* C527A8 80240268 00431021 */ addu $v0, $v0, $v1 +/* C527AC 8024026C 000210C0 */ sll $v0, $v0, 3 +/* C527B0 80240270 0C00FB3A */ jal get_enemy +/* C527B4 80240274 00459021 */ addu $s2, $v0, $a1 +/* C527B8 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C527BC 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C527C0 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C527C4 80240284 8E830000 */ lw $v1, ($s4) +/* C527C8 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C527CC 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* C527D0 80240290 8C670030 */ lw $a3, 0x30($v1) +/* C527D4 80240294 0C00A7B5 */ jal dist2D +/* C527D8 80240298 0040982D */ daddu $s3, $v0, $zero +/* C527DC 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* C527E0 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* C527E4 802402A4 4600103C */ c.lt.s $f2, $f0 +/* C527E8 802402A8 00000000 */ nop +/* C527EC 802402AC 45030001 */ bc1tl .L802402B4 +/* C527F0 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* C527F4 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C527F8 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C527FC 802402BC 3C014387 */ lui $at, 0x4387 +/* C52800 802402C0 4481A000 */ mtc1 $at, $f20 +/* C52804 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* C52808 802402C8 00000000 */ nop +/* C5280C 802402CC 0C00A6C9 */ jal clamp_angle +/* C52810 802402D0 46000306 */ mov.s $f12, $f0 +/* C52814 802402D4 3C018024 */ lui $at, 0x8024 +/* C52818 802402D8 D42231F0 */ ldc1 $f2, 0x31f0($at) +/* C5281C 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* C52820 802402E0 4622003C */ c.lt.d $f0, $f2 +/* C52824 802402E4 00000000 */ nop +/* C52828 802402E8 45000003 */ bc1f .L802402F8 +/* C5282C 802402EC 00000000 */ nop +/* C52830 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* C52834 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* C52838 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C5283C 802402FC 8E820000 */ lw $v0, ($s4) +/* C52840 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C52844 80240304 8C460028 */ lw $a2, 0x28($v0) +/* C52848 80240308 0C00A720 */ jal atan2 +/* C5284C 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* C52850 80240310 4600A306 */ mov.s $f12, $f20 +/* C52854 80240314 0C00A70A */ jal get_clamped_angle_diff +/* C52858 80240318 46000386 */ mov.s $f14, $f0 +/* C5285C 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* C52860 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* C52864 80240324 46000005 */ abs.s $f0, $f0 +/* C52868 80240328 4600103C */ c.lt.s $f2, $f0 +/* C5286C 8024032C 00000000 */ nop +/* C52870 80240330 45030001 */ bc1tl .L80240338 +/* C52874 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* C52878 80240338 8E820000 */ lw $v0, ($s4) +/* C5287C 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* C52880 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* C52884 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* C52888 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* C5288C 8024034C 44821000 */ mtc1 $v0, $f2 +/* C52890 80240350 00000000 */ nop +/* C52894 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* C52898 80240358 46221080 */ add.d $f2, $f2, $f2 +/* C5289C 8024035C 46000005 */ abs.s $f0, $f0 +/* C528A0 80240360 46000021 */ cvt.d.s $f0, $f0 +/* C528A4 80240364 4620103E */ c.le.d $f2, $f0 +/* C528A8 80240368 00000000 */ nop +/* C528AC 8024036C 45030001 */ bc1tl .L80240374 +/* C528B0 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* C528B4 80240374 3C038011 */ lui $v1, 0x8011 +/* C528B8 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* C528BC 8024037C 24020009 */ addiu $v0, $zero, 9 +/* C528C0 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* C528C4 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* C528C8 80240388 24020007 */ addiu $v0, $zero, 7 +/* C528CC 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* C528D0 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* C528D4 80240394 0220102D */ daddu $v0, $s1, $zero +/* C528D8 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* C528DC 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* C528E0 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C528E4 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* C528E8 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* C528EC 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* C528F0 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C528F4 802403B4 03E00008 */ jr $ra +/* C528F8 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_8024061C_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024061C_C52540.s new file mode 100644 index 0000000000..d6239df6fa --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024061C_C52540.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_C52B5C +/* C52B5C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C52B60 80240620 AFB10014 */ sw $s1, 0x14($sp) +/* C52B64 80240624 0080882D */ daddu $s1, $a0, $zero +/* C52B68 80240628 AFBF0018 */ sw $ra, 0x18($sp) +/* C52B6C 8024062C AFB00010 */ sw $s0, 0x10($sp) +/* C52B70 80240630 8E300148 */ lw $s0, 0x148($s1) +/* C52B74 80240634 0C00EABB */ jal get_npc_unsafe +/* C52B78 80240638 86040008 */ lh $a0, 8($s0) +/* C52B7C 8024063C 0040202D */ daddu $a0, $v0, $zero +/* C52B80 80240640 8482008E */ lh $v0, 0x8e($a0) +/* C52B84 80240644 9483008E */ lhu $v1, 0x8e($a0) +/* C52B88 80240648 18400002 */ blez $v0, .L80240654 +/* C52B8C 8024064C 2462FFFF */ addiu $v0, $v1, -1 +/* C52B90 80240650 A482008E */ sh $v0, 0x8e($a0) +.L80240654: +/* C52B94 80240654 8482008E */ lh $v0, 0x8e($a0) +/* C52B98 80240658 24030001 */ addiu $v1, $zero, 1 +/* C52B9C 8024065C 14430005 */ bne $v0, $v1, .L80240674 +/* C52BA0 80240660 00000000 */ nop +/* C52BA4 80240664 8E0200CC */ lw $v0, 0xcc($s0) +/* C52BA8 80240668 8C420030 */ lw $v0, 0x30($v0) +/* C52BAC 8024066C 080901A4 */ j .L80240690 +/* C52BB0 80240670 AC820028 */ sw $v0, 0x28($a0) +.L80240674: +/* C52BB4 80240674 1C400006 */ bgtz $v0, .L80240690 +/* C52BB8 80240678 00000000 */ nop +/* C52BBC 8024067C 8E0200CC */ lw $v0, 0xcc($s0) +/* C52BC0 80240680 8C420028 */ lw $v0, 0x28($v0) +/* C52BC4 80240684 A480008E */ sh $zero, 0x8e($a0) +/* C52BC8 80240688 AC820028 */ sw $v0, 0x28($a0) +/* C52BCC 8024068C AE230070 */ sw $v1, 0x70($s1) +.L80240690: +/* C52BD0 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* C52BD4 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* C52BD8 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* C52BDC 8024069C 03E00008 */ jr $ra +/* C52BE0 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_802406A4_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_802406A4_C52540.s new file mode 100644 index 0000000000..ec2fc82c83 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_802406A4_C52540.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_C52BE4 +/* C52BE4 802406A4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C52BE8 802406A8 AFB40048 */ sw $s4, 0x48($sp) +/* C52BEC 802406AC 0080A02D */ daddu $s4, $a0, $zero +/* C52BF0 802406B0 AFBF004C */ sw $ra, 0x4c($sp) +/* C52BF4 802406B4 AFB30044 */ sw $s3, 0x44($sp) +/* C52BF8 802406B8 AFB20040 */ sw $s2, 0x40($sp) +/* C52BFC 802406BC AFB1003C */ sw $s1, 0x3c($sp) +/* C52C00 802406C0 AFB00038 */ sw $s0, 0x38($sp) +/* C52C04 802406C4 8E930148 */ lw $s3, 0x148($s4) +/* C52C08 802406C8 00C0802D */ daddu $s0, $a2, $zero +/* C52C0C 802406CC 86640008 */ lh $a0, 8($s3) +/* C52C10 802406D0 0C00EABB */ jal get_npc_unsafe +/* C52C14 802406D4 0000902D */ daddu $s2, $zero, $zero +/* C52C18 802406D8 0C039D59 */ jal get_player_data +/* C52C1C 802406DC 0040882D */ daddu $s1, $v0, $zero +/* C52C20 802406E0 0200202D */ daddu $a0, $s0, $zero +/* C52C24 802406E4 0260282D */ daddu $a1, $s3, $zero +/* C52C28 802406E8 0000382D */ daddu $a3, $zero, $zero +/* C52C2C 802406EC 3C0642A0 */ lui $a2, 0x42a0 +/* C52C30 802406F0 0040802D */ daddu $s0, $v0, $zero +/* C52C34 802406F4 0C01242D */ jal func_800490B4 +/* C52C38 802406F8 AFA00010 */ sw $zero, 0x10($sp) +/* C52C3C 802406FC 10400022 */ beqz $v0, .L80240788 +/* C52C40 80240700 00000000 */ nop +/* C52C44 80240704 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C52C48 80240708 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C52C4C 8024070C 804300B4 */ lb $v1, 0xb4($v0) +/* C52C50 80240710 24020002 */ addiu $v0, $zero, 2 +/* C52C54 80240714 10620013 */ beq $v1, $v0, .L80240764 +/* C52C58 80240718 2402001A */ addiu $v0, $zero, 0x1a +/* C52C5C 8024071C 10620011 */ beq $v1, $v0, .L80240764 +/* C52C60 80240720 24020003 */ addiu $v0, $zero, 3 +/* C52C64 80240724 1062000F */ beq $v1, $v0, .L80240764 +/* C52C68 80240728 2402000E */ addiu $v0, $zero, 0xe +/* C52C6C 8024072C 1062000D */ beq $v1, $v0, .L80240764 +/* C52C70 80240730 24020010 */ addiu $v0, $zero, 0x10 +/* C52C74 80240734 1062000B */ beq $v1, $v0, .L80240764 +/* C52C78 80240738 2402000B */ addiu $v0, $zero, 0xb +/* C52C7C 8024073C 10620009 */ beq $v1, $v0, .L80240764 +/* C52C80 80240740 2402000A */ addiu $v0, $zero, 0xa +/* C52C84 80240744 10620007 */ beq $v1, $v0, .L80240764 +/* C52C88 80240748 24020012 */ addiu $v0, $zero, 0x12 +/* C52C8C 8024074C 10620005 */ beq $v1, $v0, .L80240764 +/* C52C90 80240750 24020013 */ addiu $v0, $zero, 0x13 +/* C52C94 80240754 10620003 */ beq $v1, $v0, .L80240764 +/* C52C98 80240758 24020025 */ addiu $v0, $zero, 0x25 +/* C52C9C 8024075C 14620002 */ bne $v1, $v0, .L80240768 +/* C52CA0 80240760 00000000 */ nop +.L80240764: +/* C52CA4 80240764 24120001 */ addiu $s2, $zero, 1 +.L80240768: +/* C52CA8 80240768 82030012 */ lb $v1, 0x12($s0) +/* C52CAC 8024076C 24020002 */ addiu $v0, $zero, 2 +/* C52CB0 80240770 14620007 */ bne $v1, $v0, .L80240790 +/* C52CB4 80240774 24020001 */ addiu $v0, $zero, 1 +/* C52CB8 80240778 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C52CBC 8024077C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C52CC0 80240780 50430002 */ beql $v0, $v1, .L8024078C +/* C52CC4 80240784 24120001 */ addiu $s2, $zero, 1 +.L80240788: +/* C52CC8 80240788 82030012 */ lb $v1, 0x12($s0) +.L8024078C: +/* C52CCC 8024078C 24020001 */ addiu $v0, $zero, 1 +.L80240790: +/* C52CD0 80240790 14620006 */ bne $v1, $v0, .L802407AC +/* C52CD4 80240794 24020003 */ addiu $v0, $zero, 3 +/* C52CD8 80240798 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C52CDC 8024079C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C52CE0 802407A0 14400008 */ bnez $v0, .L802407C4 +/* C52CE4 802407A4 27A40028 */ addiu $a0, $sp, 0x28 +/* C52CE8 802407A8 24020003 */ addiu $v0, $zero, 3 +.L802407AC: +/* C52CEC 802407AC 1462001B */ bne $v1, $v0, .L8024081C +/* C52CF0 802407B0 24020002 */ addiu $v0, $zero, 2 +/* C52CF4 802407B4 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C52CF8 802407B8 8063EBB0 */ lb $v1, %lo(D_8010EBB0)($v1) +/* C52CFC 802407BC 14620017 */ bne $v1, $v0, .L8024081C +/* C52D00 802407C0 27A40028 */ addiu $a0, $sp, 0x28 +.L802407C4: +/* C52D04 802407C4 27A5002C */ addiu $a1, $sp, 0x2c +/* C52D08 802407C8 8E27000C */ lw $a3, 0xc($s1) +/* C52D0C 802407CC C6200038 */ lwc1 $f0, 0x38($s1) +/* C52D10 802407D0 C6220040 */ lwc1 $f2, 0x40($s1) +/* C52D14 802407D4 0000302D */ daddu $a2, $zero, $zero +/* C52D18 802407D8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C52D1C 802407DC 0C00A7E7 */ jal add_vec2D_polar +/* C52D20 802407E0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C52D24 802407E4 3C028011 */ lui $v0, 0x8011 +/* C52D28 802407E8 8C42C930 */ lw $v0, -0x36d0($v0) +/* C52D2C 802407EC C7AC0028 */ lwc1 $f12, 0x28($sp) +/* C52D30 802407F0 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* C52D34 802407F4 8C460038 */ lw $a2, 0x38($v0) +/* C52D38 802407F8 0C00A7B5 */ jal dist2D +/* C52D3C 802407FC 8C470040 */ lw $a3, 0x40($v0) +/* C52D40 80240800 3C0142A0 */ lui $at, 0x42a0 +/* C52D44 80240804 44811000 */ mtc1 $at, $f2 +/* C52D48 80240808 00000000 */ nop +/* C52D4C 8024080C 4602003E */ c.le.s $f0, $f2 +/* C52D50 80240810 00000000 */ nop +/* C52D54 80240814 45030001 */ bc1tl .L8024081C +/* C52D58 80240818 24120001 */ addiu $s2, $zero, 1 +.L8024081C: +/* C52D5C 8024081C 12400026 */ beqz $s2, .L802408B8 +/* C52D60 80240820 0220202D */ daddu $a0, $s1, $zero +/* C52D64 80240824 3C05B000 */ lui $a1, 0xb000 +/* C52D68 80240828 34A5000E */ ori $a1, $a1, 0xe +/* C52D6C 8024082C 0C012530 */ jal func_800494C0 +/* C52D70 80240830 0000302D */ daddu $a2, $zero, $zero +/* C52D74 80240834 0000202D */ daddu $a0, $zero, $zero +/* C52D78 80240838 0220282D */ daddu $a1, $s1, $zero +/* C52D7C 8024083C 0000302D */ daddu $a2, $zero, $zero +/* C52D80 80240840 862200A8 */ lh $v0, 0xa8($s1) +/* C52D84 80240844 8E6300CC */ lw $v1, 0xcc($s3) +/* C52D88 80240848 3C013F80 */ lui $at, 0x3f80 +/* C52D8C 8024084C 44810000 */ mtc1 $at, $f0 +/* C52D90 80240850 3C014000 */ lui $at, 0x4000 +/* C52D94 80240854 44811000 */ mtc1 $at, $f2 +/* C52D98 80240858 3C01C1A0 */ lui $at, 0xc1a0 +/* C52D9C 8024085C 44812000 */ mtc1 $at, $f4 +/* C52DA0 80240860 44823000 */ mtc1 $v0, $f6 +/* C52DA4 80240864 00000000 */ nop +/* C52DA8 80240868 468031A0 */ cvt.s.w $f6, $f6 +/* C52DAC 8024086C 44073000 */ mfc1 $a3, $f6 +/* C52DB0 80240870 8C63002C */ lw $v1, 0x2c($v1) +/* C52DB4 80240874 2402000A */ addiu $v0, $zero, 0xa +/* C52DB8 80240878 A622008E */ sh $v0, 0x8e($s1) +/* C52DBC 8024087C 2402000F */ addiu $v0, $zero, 0xf +/* C52DC0 80240880 AE230028 */ sw $v1, 0x28($s1) +/* C52DC4 80240884 AFA2001C */ sw $v0, 0x1c($sp) +/* C52DC8 80240888 27A20030 */ addiu $v0, $sp, 0x30 +/* C52DCC 8024088C E7A00010 */ swc1 $f0, 0x10($sp) +/* C52DD0 80240890 E7A20014 */ swc1 $f2, 0x14($sp) +/* C52DD4 80240894 E7A40018 */ swc1 $f4, 0x18($sp) +/* C52DD8 80240898 0C01BFA4 */ jal fx_emote +/* C52DDC 8024089C AFA20020 */ sw $v0, 0x20($sp) +/* C52DE0 802408A0 0220202D */ daddu $a0, $s1, $zero +/* C52DE4 802408A4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C52DE8 802408A8 0C012530 */ jal func_800494C0 +/* C52DEC 802408AC 3C060020 */ lui $a2, 0x20 +/* C52DF0 802408B0 24020002 */ addiu $v0, $zero, 2 +/* C52DF4 802408B4 AE820070 */ sw $v0, 0x70($s4) +.L802408B8: +/* C52DF8 802408B8 9622008E */ lhu $v0, 0x8e($s1) +/* C52DFC 802408BC 24420001 */ addiu $v0, $v0, 1 +/* C52E00 802408C0 A622008E */ sh $v0, 0x8e($s1) +/* C52E04 802408C4 00021400 */ sll $v0, $v0, 0x10 +/* C52E08 802408C8 00021C03 */ sra $v1, $v0, 0x10 +/* C52E0C 802408CC 2402001B */ addiu $v0, $zero, 0x1b +/* C52E10 802408D0 14620005 */ bne $v1, $v0, .L802408E8 +/* C52E14 802408D4 24020039 */ addiu $v0, $zero, 0x39 +/* C52E18 802408D8 0220202D */ daddu $a0, $s1, $zero +/* C52E1C 802408DC 3C05B000 */ lui $a1, 0xb000 +/* C52E20 802408E0 0809023F */ j .L802408FC +/* C52E24 802408E4 34A5000C */ ori $a1, $a1, 0xc +.L802408E8: +/* C52E28 802408E8 14620008 */ bne $v1, $v0, .L8024090C +/* C52E2C 802408EC 2402003B */ addiu $v0, $zero, 0x3b +/* C52E30 802408F0 0220202D */ daddu $a0, $s1, $zero +/* C52E34 802408F4 3C05B000 */ lui $a1, 0xb000 +/* C52E38 802408F8 34A5000D */ ori $a1, $a1, 0xd +.L802408FC: +/* C52E3C 802408FC 0C012530 */ jal func_800494C0 +/* C52E40 80240900 0000302D */ daddu $a2, $zero, $zero +/* C52E44 80240904 0809024F */ j .L8024093C +/* C52E48 80240908 00000000 */ nop +.L8024090C: +/* C52E4C 8024090C 14620005 */ bne $v1, $v0, .L80240924 +/* C52E50 80240910 2402003C */ addiu $v0, $zero, 0x3c +/* C52E54 80240914 8E6200CC */ lw $v0, 0xcc($s3) +/* C52E58 80240918 8C420030 */ lw $v0, 0x30($v0) +/* C52E5C 8024091C 0809024F */ j .L8024093C +/* C52E60 80240920 AE220028 */ sw $v0, 0x28($s1) +.L80240924: +/* C52E64 80240924 14620005 */ bne $v1, $v0, .L8024093C +/* C52E68 80240928 00000000 */ nop +/* C52E6C 8024092C 8E6200CC */ lw $v0, 0xcc($s3) +/* C52E70 80240930 8C420028 */ lw $v0, 0x28($v0) +/* C52E74 80240934 A620008E */ sh $zero, 0x8e($s1) +/* C52E78 80240938 AE220028 */ sw $v0, 0x28($s1) +.L8024093C: +/* C52E7C 8024093C 8FBF004C */ lw $ra, 0x4c($sp) +/* C52E80 80240940 8FB40048 */ lw $s4, 0x48($sp) +/* C52E84 80240944 8FB30044 */ lw $s3, 0x44($sp) +/* C52E88 80240948 8FB20040 */ lw $s2, 0x40($sp) +/* C52E8C 8024094C 8FB1003C */ lw $s1, 0x3c($sp) +/* C52E90 80240950 8FB00038 */ lw $s0, 0x38($sp) +/* C52E94 80240954 03E00008 */ jr $ra +/* C52E98 80240958 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_8024095C_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024095C_C52540.s new file mode 100644 index 0000000000..5d2cd6306f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_8024095C_C52540.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_C52E9C +/* C52E9C 8024095C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C52EA0 80240960 AFB10014 */ sw $s1, 0x14($sp) +/* C52EA4 80240964 0080882D */ daddu $s1, $a0, $zero +/* C52EA8 80240968 AFBF0018 */ sw $ra, 0x18($sp) +/* C52EAC 8024096C AFB00010 */ sw $s0, 0x10($sp) +/* C52EB0 80240970 8E300148 */ lw $s0, 0x148($s1) +/* C52EB4 80240974 0C00EABB */ jal get_npc_unsafe +/* C52EB8 80240978 86040008 */ lh $a0, 8($s0) +/* C52EBC 8024097C 0040182D */ daddu $v1, $v0, $zero +/* C52EC0 80240980 9462008E */ lhu $v0, 0x8e($v1) +/* C52EC4 80240984 2442FFFF */ addiu $v0, $v0, -1 +/* C52EC8 80240988 A462008E */ sh $v0, 0x8e($v1) +/* C52ECC 8024098C 00021400 */ sll $v0, $v0, 0x10 +/* C52ED0 80240990 1C400006 */ bgtz $v0, .L802409AC +/* C52ED4 80240994 24020001 */ addiu $v0, $zero, 1 +/* C52ED8 80240998 A462008E */ sh $v0, 0x8e($v1) +/* C52EDC 8024099C 24020028 */ addiu $v0, $zero, 0x28 +/* C52EE0 802409A0 AE020088 */ sw $v0, 0x88($s0) +/* C52EE4 802409A4 24020003 */ addiu $v0, $zero, 3 +/* C52EE8 802409A8 AE220070 */ sw $v0, 0x70($s1) +.L802409AC: +/* C52EEC 802409AC 8FBF0018 */ lw $ra, 0x18($sp) +/* C52EF0 802409B0 8FB10014 */ lw $s1, 0x14($sp) +/* C52EF4 802409B4 8FB00010 */ lw $s0, 0x10($sp) +/* C52EF8 802409B8 03E00008 */ jr $ra +/* C52EFC 802409BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_802409C0_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_802409C0_C52540.s new file mode 100644 index 0000000000..f0b4a65dd8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_802409C0_C52540.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409C0_C52F00 +/* C52F00 802409C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C52F04 802409C4 AFB10014 */ sw $s1, 0x14($sp) +/* C52F08 802409C8 0080882D */ daddu $s1, $a0, $zero +/* C52F0C 802409CC AFBF001C */ sw $ra, 0x1c($sp) +/* C52F10 802409D0 AFB20018 */ sw $s2, 0x18($sp) +/* C52F14 802409D4 AFB00010 */ sw $s0, 0x10($sp) +/* C52F18 802409D8 8E320148 */ lw $s2, 0x148($s1) +/* C52F1C 802409DC 0C00EABB */ jal get_npc_unsafe +/* C52F20 802409E0 86440008 */ lh $a0, 8($s2) +/* C52F24 802409E4 240400B4 */ addiu $a0, $zero, 0xb4 +/* C52F28 802409E8 0C00A67F */ jal rand_int +/* C52F2C 802409EC 0040802D */ daddu $s0, $v0, $zero +/* C52F30 802409F0 C60C000C */ lwc1 $f12, 0xc($s0) +/* C52F34 802409F4 44820000 */ mtc1 $v0, $f0 +/* C52F38 802409F8 00000000 */ nop +/* C52F3C 802409FC 46800020 */ cvt.s.w $f0, $f0 +/* C52F40 80240A00 46006300 */ add.s $f12, $f12, $f0 +/* C52F44 80240A04 3C0142B4 */ lui $at, 0x42b4 +/* C52F48 80240A08 44810000 */ mtc1 $at, $f0 +/* C52F4C 80240A0C 0C00A6C9 */ jal clamp_angle +/* C52F50 80240A10 46006301 */ sub.s $f12, $f12, $f0 +/* C52F54 80240A14 E600000C */ swc1 $f0, 0xc($s0) +/* C52F58 80240A18 8E4200CC */ lw $v0, 0xcc($s2) +/* C52F5C 80240A1C 8C420000 */ lw $v0, ($v0) +/* C52F60 80240A20 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C52F64 80240A24 0C00A67F */ jal rand_int +/* C52F68 80240A28 AE020028 */ sw $v0, 0x28($s0) +/* C52F6C 80240A2C 00021FC2 */ srl $v1, $v0, 0x1f +/* C52F70 80240A30 00431821 */ addu $v1, $v0, $v1 +/* C52F74 80240A34 00031843 */ sra $v1, $v1, 1 +/* C52F78 80240A38 00031840 */ sll $v1, $v1, 1 +/* C52F7C 80240A3C 00431023 */ subu $v0, $v0, $v1 +/* C52F80 80240A40 24420002 */ addiu $v0, $v0, 2 +/* C52F84 80240A44 AE220074 */ sw $v0, 0x74($s1) +/* C52F88 80240A48 24020004 */ addiu $v0, $zero, 4 +/* C52F8C 80240A4C AE220070 */ sw $v0, 0x70($s1) +/* C52F90 80240A50 8FBF001C */ lw $ra, 0x1c($sp) +/* C52F94 80240A54 8FB20018 */ lw $s2, 0x18($sp) +/* C52F98 80240A58 8FB10014 */ lw $s1, 0x14($sp) +/* C52F9C 80240A5C 8FB00010 */ lw $s0, 0x10($sp) +/* C52FA0 80240A60 03E00008 */ jr $ra +/* C52FA4 80240A64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240A68_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240A68_C52540.s new file mode 100644 index 0000000000..ed6c4fd7d4 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240A68_C52540.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A68_C52FA8 +/* C52FA8 80240A68 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C52FAC 80240A6C AFB20020 */ sw $s2, 0x20($sp) +/* C52FB0 80240A70 0080902D */ daddu $s2, $a0, $zero +/* C52FB4 80240A74 AFBF0028 */ sw $ra, 0x28($sp) +/* C52FB8 80240A78 AFB30024 */ sw $s3, 0x24($sp) +/* C52FBC 80240A7C AFB1001C */ sw $s1, 0x1c($sp) +/* C52FC0 80240A80 AFB00018 */ sw $s0, 0x18($sp) +/* C52FC4 80240A84 8E510148 */ lw $s1, 0x148($s2) +/* C52FC8 80240A88 00A0982D */ daddu $s3, $a1, $zero +/* C52FCC 80240A8C 86240008 */ lh $a0, 8($s1) +/* C52FD0 80240A90 0C00EABB */ jal get_npc_unsafe +/* C52FD4 80240A94 00C0802D */ daddu $s0, $a2, $zero +/* C52FD8 80240A98 0200202D */ daddu $a0, $s0, $zero +/* C52FDC 80240A9C 0040802D */ daddu $s0, $v0, $zero +/* C52FE0 80240AA0 AFA00010 */ sw $zero, 0x10($sp) +/* C52FE4 80240AA4 8E660024 */ lw $a2, 0x24($s3) +/* C52FE8 80240AA8 8E670028 */ lw $a3, 0x28($s3) +/* C52FEC 80240AAC 0C01242D */ jal func_800490B4 +/* C52FF0 80240AB0 0220282D */ daddu $a1, $s1, $zero +/* C52FF4 80240AB4 1040000C */ beqz $v0, .L80240AE8 +/* C52FF8 80240AB8 00000000 */ nop +/* C52FFC 80240ABC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C53000 80240AC0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C53004 80240AC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C53008 80240AC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5300C 80240ACC 8C460028 */ lw $a2, 0x28($v0) +/* C53010 80240AD0 0C00A720 */ jal atan2 +/* C53014 80240AD4 8C470030 */ lw $a3, 0x30($v0) +/* C53018 80240AD8 2402000C */ addiu $v0, $zero, 0xc +/* C5301C 80240ADC E600000C */ swc1 $f0, 0xc($s0) +/* C53020 80240AE0 080902E1 */ j .L80240B84 +/* C53024 80240AE4 AE420070 */ sw $v0, 0x70($s2) +.L80240AE8: +/* C53028 80240AE8 9602008E */ lhu $v0, 0x8e($s0) +/* C5302C 80240AEC 2442FFFF */ addiu $v0, $v0, -1 +/* C53030 80240AF0 A602008E */ sh $v0, 0x8e($s0) +/* C53034 80240AF4 00021400 */ sll $v0, $v0, 0x10 +/* C53038 80240AF8 1C400022 */ bgtz $v0, .L80240B84 +/* C5303C 80240AFC 00000000 */ nop +/* C53040 80240B00 8E420074 */ lw $v0, 0x74($s2) +/* C53044 80240B04 2442FFFF */ addiu $v0, $v0, -1 +/* C53048 80240B08 18400014 */ blez $v0, .L80240B5C +/* C5304C 80240B0C AE420074 */ sw $v0, 0x74($s2) +/* C53050 80240B10 C600000C */ lwc1 $f0, 0xc($s0) +/* C53054 80240B14 3C014334 */ lui $at, 0x4334 +/* C53058 80240B18 44816000 */ mtc1 $at, $f12 +/* C5305C 80240B1C 0C00A6C9 */ jal clamp_angle +/* C53060 80240B20 460C0300 */ add.s $f12, $f0, $f12 +/* C53064 80240B24 E600000C */ swc1 $f0, 0xc($s0) +/* C53068 80240B28 8E640008 */ lw $a0, 8($s3) +/* C5306C 80240B2C 000417C2 */ srl $v0, $a0, 0x1f +/* C53070 80240B30 00822021 */ addu $a0, $a0, $v0 +/* C53074 80240B34 00042043 */ sra $a0, $a0, 1 +/* C53078 80240B38 0C00A67F */ jal rand_int +/* C5307C 80240B3C 24840001 */ addiu $a0, $a0, 1 +/* C53080 80240B40 8E630008 */ lw $v1, 8($s3) +/* C53084 80240B44 000327C2 */ srl $a0, $v1, 0x1f +/* C53088 80240B48 00641821 */ addu $v1, $v1, $a0 +/* C5308C 80240B4C 00031843 */ sra $v1, $v1, 1 +/* C53090 80240B50 00621821 */ addu $v1, $v1, $v0 +/* C53094 80240B54 080902E1 */ j .L80240B84 +/* C53098 80240B58 A603008E */ sh $v1, 0x8e($s0) +.L80240B5C: +/* C5309C 80240B5C 8E250088 */ lw $a1, 0x88($s1) +/* C530A0 80240B60 24020028 */ addiu $v0, $zero, 0x28 +/* C530A4 80240B64 14A20003 */ bne $a1, $v0, .L80240B74 +/* C530A8 80240B68 24020032 */ addiu $v0, $zero, 0x32 +/* C530AC 80240B6C 080902DF */ j .L80240B7C +/* C530B0 80240B70 24020014 */ addiu $v0, $zero, 0x14 +.L80240B74: +/* C530B4 80240B74 14A20003 */ bne $a1, $v0, .L80240B84 +/* C530B8 80240B78 24020019 */ addiu $v0, $zero, 0x19 +.L80240B7C: +/* C530BC 80240B7C A602008E */ sh $v0, 0x8e($s0) +/* C530C0 80240B80 AE450070 */ sw $a1, 0x70($s2) +.L80240B84: +/* C530C4 80240B84 8FBF0028 */ lw $ra, 0x28($sp) +/* C530C8 80240B88 8FB30024 */ lw $s3, 0x24($sp) +/* C530CC 80240B8C 8FB20020 */ lw $s2, 0x20($sp) +/* C530D0 80240B90 8FB1001C */ lw $s1, 0x1c($sp) +/* C530D4 80240B94 8FB00018 */ lw $s0, 0x18($sp) +/* C530D8 80240B98 03E00008 */ jr $ra +/* C530DC 80240B9C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240BA0_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240BA0_C52540.s new file mode 100644 index 0000000000..e23ba8df6c --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240BA0_C52540.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA0_C530E0 +/* C530E0 80240BA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C530E4 80240BA4 AFB20018 */ sw $s2, 0x18($sp) +/* C530E8 80240BA8 0080902D */ daddu $s2, $a0, $zero +/* C530EC 80240BAC AFBF001C */ sw $ra, 0x1c($sp) +/* C530F0 80240BB0 AFB10014 */ sw $s1, 0x14($sp) +/* C530F4 80240BB4 AFB00010 */ sw $s0, 0x10($sp) +/* C530F8 80240BB8 8E500148 */ lw $s0, 0x148($s2) +/* C530FC 80240BBC 86040008 */ lh $a0, 8($s0) +/* C53100 80240BC0 0C00EABB */ jal get_npc_unsafe +/* C53104 80240BC4 00A0882D */ daddu $s1, $a1, $zero +/* C53108 80240BC8 0040182D */ daddu $v1, $v0, $zero +/* C5310C 80240BCC 9462008E */ lhu $v0, 0x8e($v1) +/* C53110 80240BD0 2442FFFF */ addiu $v0, $v0, -1 +/* C53114 80240BD4 A462008E */ sh $v0, 0x8e($v1) +/* C53118 80240BD8 00021400 */ sll $v0, $v0, 0x10 +/* C5311C 80240BDC 1C400015 */ bgtz $v0, .L80240C34 +/* C53120 80240BE0 00000000 */ nop +/* C53124 80240BE4 8E0200CC */ lw $v0, 0xcc($s0) +/* C53128 80240BE8 8C420004 */ lw $v0, 4($v0) +/* C5312C 80240BEC AC620028 */ sw $v0, 0x28($v1) +/* C53130 80240BF0 8E0200D0 */ lw $v0, 0xd0($s0) +/* C53134 80240BF4 8C420014 */ lw $v0, 0x14($v0) +/* C53138 80240BF8 04410004 */ bgez $v0, .L80240C0C +/* C5313C 80240BFC 00000000 */ nop +/* C53140 80240C00 C6200000 */ lwc1 $f0, ($s1) +/* C53144 80240C04 0809030B */ j .L80240C2C +/* C53148 80240C08 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C0C: +/* C5314C 80240C0C 3C018024 */ lui $at, 0x8024 +/* C53150 80240C10 D42231F8 */ ldc1 $f2, 0x31f8($at) +/* C53154 80240C14 44820000 */ mtc1 $v0, $f0 +/* C53158 80240C18 00000000 */ nop +/* C5315C 80240C1C 46800021 */ cvt.d.w $f0, $f0 +/* C53160 80240C20 46220003 */ div.d $f0, $f0, $f2 +/* C53164 80240C24 46200020 */ cvt.s.d $f0, $f0 +/* C53168 80240C28 E4600018 */ swc1 $f0, 0x18($v1) +.L80240C2C: +/* C5316C 80240C2C 24020029 */ addiu $v0, $zero, 0x29 +/* C53170 80240C30 AE420070 */ sw $v0, 0x70($s2) +.L80240C34: +/* C53174 80240C34 8FBF001C */ lw $ra, 0x1c($sp) +/* C53178 80240C38 8FB20018 */ lw $s2, 0x18($sp) +/* C5317C 80240C3C 8FB10014 */ lw $s1, 0x14($sp) +/* C53180 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* C53184 80240C44 03E00008 */ jr $ra +/* C53188 80240C48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240C4C_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240C4C_C52540.s new file mode 100644 index 0000000000..fbfe04b938 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240C4C_C52540.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_C5318C +/* C5318C 80240C4C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C53190 80240C50 AFB3002C */ sw $s3, 0x2c($sp) +/* C53194 80240C54 0080982D */ daddu $s3, $a0, $zero +/* C53198 80240C58 AFBF0030 */ sw $ra, 0x30($sp) +/* C5319C 80240C5C AFB20028 */ sw $s2, 0x28($sp) +/* C531A0 80240C60 AFB10024 */ sw $s1, 0x24($sp) +/* C531A4 80240C64 AFB00020 */ sw $s0, 0x20($sp) +/* C531A8 80240C68 8E720148 */ lw $s2, 0x148($s3) +/* C531AC 80240C6C 00A0882D */ daddu $s1, $a1, $zero +/* C531B0 80240C70 86440008 */ lh $a0, 8($s2) +/* C531B4 80240C74 0C00EABB */ jal get_npc_unsafe +/* C531B8 80240C78 00C0802D */ daddu $s0, $a2, $zero +/* C531BC 80240C7C 0200202D */ daddu $a0, $s0, $zero +/* C531C0 80240C80 0240282D */ daddu $a1, $s2, $zero +/* C531C4 80240C84 AFA00010 */ sw $zero, 0x10($sp) +/* C531C8 80240C88 8E260024 */ lw $a2, 0x24($s1) +/* C531CC 80240C8C 8E270028 */ lw $a3, 0x28($s1) +/* C531D0 80240C90 0C01242D */ jal func_800490B4 +/* C531D4 80240C94 0040802D */ daddu $s0, $v0, $zero +/* C531D8 80240C98 1040000C */ beqz $v0, .L80240CCC +/* C531DC 80240C9C 00000000 */ nop +/* C531E0 80240CA0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C531E4 80240CA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C531E8 80240CA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C531EC 80240CAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* C531F0 80240CB0 8C460028 */ lw $a2, 0x28($v0) +/* C531F4 80240CB4 0C00A720 */ jal atan2 +/* C531F8 80240CB8 8C470030 */ lw $a3, 0x30($v0) +/* C531FC 80240CBC 2402000C */ addiu $v0, $zero, 0xc +/* C53200 80240CC0 E600000C */ swc1 $f0, 0xc($s0) +/* C53204 80240CC4 0809036A */ j .L80240DA8 +/* C53208 80240CC8 AE620070 */ sw $v0, 0x70($s3) +.L80240CCC: +/* C5320C 80240CCC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C53210 80240CD0 8E4200D0 */ lw $v0, 0xd0($s2) +/* C53214 80240CD4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C53218 80240CD8 C4440000 */ lwc1 $f4, ($v0) +/* C5321C 80240CDC 46802120 */ cvt.s.w $f4, $f4 +/* C53220 80240CE0 44062000 */ mfc1 $a2, $f4 +/* C53224 80240CE4 C4440008 */ lwc1 $f4, 8($v0) +/* C53228 80240CE8 46802120 */ cvt.s.w $f4, $f4 +/* C5322C 80240CEC 44072000 */ mfc1 $a3, $f4 +/* C53230 80240CF0 0C00A7B5 */ jal dist2D +/* C53234 80240CF4 00000000 */ nop +/* C53238 80240CF8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C5323C 80240CFC 4602003E */ c.le.s $f0, $f2 +/* C53240 80240D00 00000000 */ nop +/* C53244 80240D04 4500000B */ bc1f .L80240D34 +/* C53248 80240D08 00000000 */ nop +/* C5324C 80240D0C 8E4200CC */ lw $v0, 0xcc($s2) +/* C53250 80240D10 8C430000 */ lw $v1, ($v0) +/* C53254 80240D14 2402000F */ addiu $v0, $zero, 0xf +/* C53258 80240D18 A602008E */ sh $v0, 0x8e($s0) +/* C5325C 80240D1C 24020032 */ addiu $v0, $zero, 0x32 +/* C53260 80240D20 AE030028 */ sw $v1, 0x28($s0) +/* C53264 80240D24 AE420088 */ sw $v0, 0x88($s2) +/* C53268 80240D28 24020003 */ addiu $v0, $zero, 3 +/* C5326C 80240D2C 0809036A */ j .L80240DA8 +/* C53270 80240D30 AE620070 */ sw $v0, 0x70($s3) +.L80240D34: +/* C53274 80240D34 8602008C */ lh $v0, 0x8c($s0) +/* C53278 80240D38 1440001B */ bnez $v0, .L80240DA8 +/* C5327C 80240D3C 0200202D */ daddu $a0, $s0, $zero +/* C53280 80240D40 27A60018 */ addiu $a2, $sp, 0x18 +/* C53284 80240D44 3C0540A0 */ lui $a1, 0x40a0 +/* C53288 80240D48 C600000C */ lwc1 $f0, 0xc($s0) +/* C5328C 80240D4C 0000382D */ daddu $a3, $zero, $zero +/* C53290 80240D50 E7A00018 */ swc1 $f0, 0x18($sp) +/* C53294 80240D54 AFA00010 */ sw $zero, 0x10($sp) +/* C53298 80240D58 0C0129E1 */ jal func_8004A784 +/* C5329C 80240D5C AFA00014 */ sw $zero, 0x14($sp) +/* C532A0 80240D60 C7A00018 */ lwc1 $f0, 0x18($sp) +/* C532A4 80240D64 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C532A8 80240D68 E600000C */ swc1 $f0, 0xc($s0) +/* C532AC 80240D6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* C532B0 80240D70 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C532B4 80240D74 C4440000 */ lwc1 $f4, ($v0) +/* C532B8 80240D78 46802120 */ cvt.s.w $f4, $f4 +/* C532BC 80240D7C 44062000 */ mfc1 $a2, $f4 +/* C532C0 80240D80 C4440008 */ lwc1 $f4, 8($v0) +/* C532C4 80240D84 46802120 */ cvt.s.w $f4, $f4 +/* C532C8 80240D88 44072000 */ mfc1 $a3, $f4 +/* C532CC 80240D8C 0C00A720 */ jal atan2 +/* C532D0 80240D90 00000000 */ nop +/* C532D4 80240D94 8E050018 */ lw $a1, 0x18($s0) +/* C532D8 80240D98 44060000 */ mfc1 $a2, $f0 +/* C532DC 80240D9C 0200202D */ daddu $a0, $s0, $zero +/* C532E0 80240DA0 0C00EA95 */ jal npc_move_heading +/* C532E4 80240DA4 AC86000C */ sw $a2, 0xc($a0) +.L80240DA8: +/* C532E8 80240DA8 8FBF0030 */ lw $ra, 0x30($sp) +/* C532EC 80240DAC 8FB3002C */ lw $s3, 0x2c($sp) +/* C532F0 80240DB0 8FB20028 */ lw $s2, 0x28($sp) +/* C532F4 80240DB4 8FB10024 */ lw $s1, 0x24($sp) +/* C532F8 80240DB8 8FB00020 */ lw $s0, 0x20($sp) +/* C532FC 80240DBC 03E00008 */ jr $ra +/* C53300 80240DC0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240DC4_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240DC4_C52540.s new file mode 100644 index 0000000000..1eba4663ac --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240DC4_C52540.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DC4_C53304 +/* C53304 80240DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C53308 80240DC8 AFB00010 */ sw $s0, 0x10($sp) +/* C5330C 80240DCC 0080802D */ daddu $s0, $a0, $zero +/* C53310 80240DD0 AFBF0014 */ sw $ra, 0x14($sp) +/* C53314 80240DD4 8E020148 */ lw $v0, 0x148($s0) +/* C53318 80240DD8 0C00EABB */ jal get_npc_unsafe +/* C5331C 80240DDC 84440008 */ lh $a0, 8($v0) +/* C53320 80240DE0 0040182D */ daddu $v1, $v0, $zero +/* C53324 80240DE4 8462008C */ lh $v0, 0x8c($v1) +/* C53328 80240DE8 14400009 */ bnez $v0, .L80240E10 +/* C5332C 80240DEC 00000000 */ nop +/* C53330 80240DF0 9462008E */ lhu $v0, 0x8e($v1) +/* C53334 80240DF4 2442FFFF */ addiu $v0, $v0, -1 +/* C53338 80240DF8 A462008E */ sh $v0, 0x8e($v1) +/* C5333C 80240DFC 00021400 */ sll $v0, $v0, 0x10 +/* C53340 80240E00 1C400003 */ bgtz $v0, .L80240E10 +/* C53344 80240E04 00000000 */ nop +/* C53348 80240E08 A460008E */ sh $zero, 0x8e($v1) +/* C5334C 80240E0C AE000070 */ sw $zero, 0x70($s0) +.L80240E10: +/* C53350 80240E10 8FBF0014 */ lw $ra, 0x14($sp) +/* C53354 80240E14 8FB00010 */ lw $s0, 0x10($sp) +/* C53358 80240E18 03E00008 */ jr $ra +/* C5335C 80240E1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80240E20_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240E20_C52540.s new file mode 100644 index 0000000000..9bb74e3282 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80240E20_C52540.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E20_C53360 +/* C53360 80240E20 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C53364 80240E24 AFB20038 */ sw $s2, 0x38($sp) +/* C53368 80240E28 0080902D */ daddu $s2, $a0, $zero +/* C5336C 80240E2C AFBF0048 */ sw $ra, 0x48($sp) +/* C53370 80240E30 AFB50044 */ sw $s5, 0x44($sp) +/* C53374 80240E34 AFB40040 */ sw $s4, 0x40($sp) +/* C53378 80240E38 AFB3003C */ sw $s3, 0x3c($sp) +/* C5337C 80240E3C AFB10034 */ sw $s1, 0x34($sp) +/* C53380 80240E40 AFB00030 */ sw $s0, 0x30($sp) +/* C53384 80240E44 8E510148 */ lw $s1, 0x148($s2) +/* C53388 80240E48 86240008 */ lh $a0, 8($s1) +/* C5338C 80240E4C 0C00EABB */ jal get_npc_unsafe +/* C53390 80240E50 00A0802D */ daddu $s0, $a1, $zero +/* C53394 80240E54 8E43000C */ lw $v1, 0xc($s2) +/* C53398 80240E58 0240202D */ daddu $a0, $s2, $zero +/* C5339C 80240E5C 8C650000 */ lw $a1, ($v1) +/* C533A0 80240E60 0C0B1EAF */ jal get_variable +/* C533A4 80240E64 0040A02D */ daddu $s4, $v0, $zero +/* C533A8 80240E68 AFA00010 */ sw $zero, 0x10($sp) +/* C533AC 80240E6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C533B0 80240E70 8C630030 */ lw $v1, 0x30($v1) +/* C533B4 80240E74 AFA30014 */ sw $v1, 0x14($sp) +/* C533B8 80240E78 8E2300D0 */ lw $v1, 0xd0($s1) +/* C533BC 80240E7C 8C63001C */ lw $v1, 0x1c($v1) +/* C533C0 80240E80 AFA30018 */ sw $v1, 0x18($sp) +/* C533C4 80240E84 8E2300D0 */ lw $v1, 0xd0($s1) +/* C533C8 80240E88 8C630024 */ lw $v1, 0x24($v1) +/* C533CC 80240E8C AFA3001C */ sw $v1, 0x1c($sp) +/* C533D0 80240E90 8E2300D0 */ lw $v1, 0xd0($s1) +/* C533D4 80240E94 8C630028 */ lw $v1, 0x28($v1) +/* C533D8 80240E98 27B50010 */ addiu $s5, $sp, 0x10 +/* C533DC 80240E9C AFA30020 */ sw $v1, 0x20($sp) +/* C533E0 80240EA0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C533E4 80240EA4 3C014220 */ lui $at, 0x4220 +/* C533E8 80240EA8 44810000 */ mtc1 $at, $f0 +/* C533EC 80240EAC 8C63002C */ lw $v1, 0x2c($v1) +/* C533F0 80240EB0 0040982D */ daddu $s3, $v0, $zero +/* C533F4 80240EB4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C533F8 80240EB8 A7A0002C */ sh $zero, 0x2c($sp) +/* C533FC 80240EBC 16000005 */ bnez $s0, .L80240ED4 +/* C53400 80240EC0 AFA30024 */ sw $v1, 0x24($sp) +/* C53404 80240EC4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C53408 80240EC8 30420004 */ andi $v0, $v0, 4 +/* C5340C 80240ECC 10400027 */ beqz $v0, .L80240F6C +/* C53410 80240ED0 00000000 */ nop +.L80240ED4: +/* C53414 80240ED4 2402001E */ addiu $v0, $zero, 0x1e +/* C53418 80240ED8 2404F7FF */ addiu $a0, $zero, -0x801 +/* C5341C 80240EDC AE400070 */ sw $zero, 0x70($s2) +/* C53420 80240EE0 A682008E */ sh $v0, 0x8e($s4) +/* C53424 80240EE4 8E2300CC */ lw $v1, 0xcc($s1) +/* C53428 80240EE8 8E820000 */ lw $v0, ($s4) +/* C5342C 80240EEC 8C630028 */ lw $v1, 0x28($v1) +/* C53430 80240EF0 00441024 */ and $v0, $v0, $a0 +/* C53434 80240EF4 AE820000 */ sw $v0, ($s4) +/* C53438 80240EF8 AE830028 */ sw $v1, 0x28($s4) +/* C5343C 80240EFC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C53440 80240F00 AE20006C */ sw $zero, 0x6c($s1) +/* C53444 80240F04 8C420034 */ lw $v0, 0x34($v0) +/* C53448 80240F08 14400006 */ bnez $v0, .L80240F24 +/* C5344C 80240F0C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C53450 80240F10 8E820000 */ lw $v0, ($s4) +/* C53454 80240F14 2403FFF7 */ addiu $v1, $zero, -9 +/* C53458 80240F18 34420200 */ ori $v0, $v0, 0x200 +/* C5345C 80240F1C 080903CC */ j .L80240F30 +/* C53460 80240F20 00431024 */ and $v0, $v0, $v1 +.L80240F24: +/* C53464 80240F24 8E820000 */ lw $v0, ($s4) +/* C53468 80240F28 00431024 */ and $v0, $v0, $v1 +/* C5346C 80240F2C 34420008 */ ori $v0, $v0, 8 +.L80240F30: +/* C53470 80240F30 AE820000 */ sw $v0, ($s4) +/* C53474 80240F34 8E2200B0 */ lw $v0, 0xb0($s1) +/* C53478 80240F38 30420004 */ andi $v0, $v0, 4 +/* C5347C 80240F3C 10400007 */ beqz $v0, .L80240F5C +/* C53480 80240F40 24020063 */ addiu $v0, $zero, 0x63 +/* C53484 80240F44 AE420070 */ sw $v0, 0x70($s2) +/* C53488 80240F48 24020028 */ addiu $v0, $zero, 0x28 +/* C5348C 80240F4C AE420074 */ sw $v0, 0x74($s2) +/* C53490 80240F50 8E2200CC */ lw $v0, 0xcc($s1) +/* C53494 80240F54 8C420000 */ lw $v0, ($v0) +/* C53498 80240F58 AE820028 */ sw $v0, 0x28($s4) +.L80240F5C: +/* C5349C 80240F5C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C534A0 80240F60 2403FFFB */ addiu $v1, $zero, -5 +/* C534A4 80240F64 00431024 */ and $v0, $v0, $v1 +/* C534A8 80240F68 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240F6C: +/* C534AC 80240F6C 8E420070 */ lw $v0, 0x70($s2) +/* C534B0 80240F70 2442FFF6 */ addiu $v0, $v0, -0xa +/* C534B4 80240F74 2C420014 */ sltiu $v0, $v0, 0x14 +/* C534B8 80240F78 10400009 */ beqz $v0, .L80240FA0 +/* C534BC 80240F7C 00000000 */ nop +/* C534C0 80240F80 8E22006C */ lw $v0, 0x6c($s1) +/* C534C4 80240F84 14400006 */ bnez $v0, .L80240FA0 +/* C534C8 80240F88 00000000 */ nop +/* C534CC 80240F8C 0C090082 */ jal func_80240208 +/* C534D0 80240F90 0240202D */ daddu $a0, $s2, $zero +/* C534D4 80240F94 10400002 */ beqz $v0, .L80240FA0 +/* C534D8 80240F98 2402001E */ addiu $v0, $zero, 0x1e +/* C534DC 80240F9C AE420070 */ sw $v0, 0x70($s2) +.L80240FA0: +/* C534E0 80240FA0 8E430070 */ lw $v1, 0x70($s2) +/* C534E4 80240FA4 2C620064 */ sltiu $v0, $v1, 0x64 +/* C534E8 80240FA8 10400067 */ beqz $v0, .L80241148 +/* C534EC 80240FAC 00031080 */ sll $v0, $v1, 2 +/* C534F0 80240FB0 3C018024 */ lui $at, 0x8024 +/* C534F4 80240FB4 00220821 */ addu $at, $at, $v0 +/* C534F8 80240FB8 8C223200 */ lw $v0, 0x3200($at) +/* C534FC 80240FBC 00400008 */ jr $v0 +/* C53500 80240FC0 00000000 */ nop +/* C53504 80240FC4 0240202D */ daddu $a0, $s2, $zero +/* C53508 80240FC8 0260282D */ daddu $a1, $s3, $zero +/* C5350C 80240FCC 0C090187 */ jal func_8024061C +/* C53510 80240FD0 02A0302D */ daddu $a2, $s5, $zero +/* C53514 80240FD4 08090452 */ j .L80241148 +/* C53518 80240FD8 00000000 */ nop +/* C5351C 80240FDC 0240202D */ daddu $a0, $s2, $zero +/* C53520 80240FE0 0260282D */ daddu $a1, $s3, $zero +/* C53524 80240FE4 0C0901A9 */ jal func_802406A4 +/* C53528 80240FE8 02A0302D */ daddu $a2, $s5, $zero +/* C5352C 80240FEC 08090452 */ j .L80241148 +/* C53530 80240FF0 00000000 */ nop +/* C53534 80240FF4 0240202D */ daddu $a0, $s2, $zero +/* C53538 80240FF8 0260282D */ daddu $a1, $s3, $zero +/* C5353C 80240FFC 0C090257 */ jal func_8024095C +/* C53540 80241000 02A0302D */ daddu $a2, $s5, $zero +/* C53544 80241004 08090452 */ j .L80241148 +/* C53548 80241008 00000000 */ nop +/* C5354C 8024100C 0240202D */ daddu $a0, $s2, $zero +/* C53550 80241010 0260282D */ daddu $a1, $s3, $zero +/* C53554 80241014 0C090270 */ jal func_802409C0 +/* C53558 80241018 02A0302D */ daddu $a2, $s5, $zero +/* C5355C 8024101C 08090452 */ j .L80241148 +/* C53560 80241020 00000000 */ nop +/* C53564 80241024 0240202D */ daddu $a0, $s2, $zero +/* C53568 80241028 0260282D */ daddu $a1, $s3, $zero +/* C5356C 8024102C 0C09029A */ jal func_80240A68 +/* C53570 80241030 02A0302D */ daddu $a2, $s5, $zero +/* C53574 80241034 08090452 */ j .L80241148 +/* C53578 80241038 00000000 */ nop +/* C5357C 8024103C 0240202D */ daddu $a0, $s2, $zero +/* C53580 80241040 0260282D */ daddu $a1, $s3, $zero +/* C53584 80241044 0C0127DF */ jal func_80049F7C +/* C53588 80241048 02A0302D */ daddu $a2, $s5, $zero +/* C5358C 8024104C 8E430070 */ lw $v1, 0x70($s2) +/* C53590 80241050 2402000D */ addiu $v0, $zero, 0xd +/* C53594 80241054 1462003C */ bne $v1, $v0, .L80241148 +/* C53598 80241058 00000000 */ nop +/* C5359C 8024105C 0240202D */ daddu $a0, $s2, $zero +/* C535A0 80241060 0260282D */ daddu $a1, $s3, $zero +/* C535A4 80241064 0C012849 */ jal func_8004A124 +/* C535A8 80241068 02A0302D */ daddu $a2, $s5, $zero +/* C535AC 8024106C 08090452 */ j .L80241148 +/* C535B0 80241070 00000000 */ nop +/* C535B4 80241074 0240202D */ daddu $a0, $s2, $zero +/* C535B8 80241078 0260282D */ daddu $a1, $s3, $zero +/* C535BC 8024107C 0C0128FA */ jal func_8004A3E8 +/* C535C0 80241080 02A0302D */ daddu $a2, $s5, $zero +/* C535C4 80241084 2402000F */ addiu $v0, $zero, 0xf +/* C535C8 80241088 A682008E */ sh $v0, 0x8e($s4) +/* C535CC 8024108C 24020028 */ addiu $v0, $zero, 0x28 +/* C535D0 80241090 AE220088 */ sw $v0, 0x88($s1) +/* C535D4 80241094 24020003 */ addiu $v0, $zero, 3 +/* C535D8 80241098 08090452 */ j .L80241148 +/* C535DC 8024109C AE420070 */ sw $v0, 0x70($s2) +/* C535E0 802410A0 0C090000 */ jal func_80240000 +/* C535E4 802410A4 0240202D */ daddu $a0, $s2, $zero +/* C535E8 802410A8 8E430070 */ lw $v1, 0x70($s2) +/* C535EC 802410AC 2402001F */ addiu $v0, $zero, 0x1f +/* C535F0 802410B0 14620025 */ bne $v1, $v0, .L80241148 +/* C535F4 802410B4 00000000 */ nop +/* C535F8 802410B8 0C09001B */ jal func_8024006C +/* C535FC 802410BC 0240202D */ daddu $a0, $s2, $zero +/* C53600 802410C0 8E430070 */ lw $v1, 0x70($s2) +/* C53604 802410C4 24020020 */ addiu $v0, $zero, 0x20 +/* C53608 802410C8 1462001F */ bne $v1, $v0, .L80241148 +/* C5360C 802410CC 00000000 */ nop +/* C53610 802410D0 0C090037 */ jal func_802400DC +/* C53614 802410D4 0240202D */ daddu $a0, $s2, $zero +/* C53618 802410D8 08090452 */ j .L80241148 +/* C5361C 802410DC 00000000 */ nop +/* C53620 802410E0 0C09006D */ jal func_802401B4 +/* C53624 802410E4 0240202D */ daddu $a0, $s2, $zero +/* C53628 802410E8 08090452 */ j .L80241148 +/* C5362C 802410EC 00000000 */ nop +/* C53630 802410F0 0240202D */ daddu $a0, $s2, $zero +/* C53634 802410F4 0260282D */ daddu $a1, $s3, $zero +/* C53638 802410F8 0C0902E8 */ jal func_80240BA0 +/* C5363C 802410FC 02A0302D */ daddu $a2, $s5, $zero +/* C53640 80241100 8E430070 */ lw $v1, 0x70($s2) +/* C53644 80241104 24020029 */ addiu $v0, $zero, 0x29 +/* C53648 80241108 1462000F */ bne $v1, $v0, .L80241148 +/* C5364C 8024110C 00000000 */ nop +/* C53650 80241110 0240202D */ daddu $a0, $s2, $zero +/* C53654 80241114 0260282D */ daddu $a1, $s3, $zero +/* C53658 80241118 0C090313 */ jal func_80240C4C +/* C5365C 8024111C 02A0302D */ daddu $a2, $s5, $zero +/* C53660 80241120 08090452 */ j .L80241148 +/* C53664 80241124 00000000 */ nop +/* C53668 80241128 0240202D */ daddu $a0, $s2, $zero +/* C5366C 8024112C 0260282D */ daddu $a1, $s3, $zero +/* C53670 80241130 0C090371 */ jal func_80240DC4 +/* C53674 80241134 02A0302D */ daddu $a2, $s5, $zero +/* C53678 80241138 08090452 */ j .L80241148 +/* C5367C 8024113C 00000000 */ nop +/* C53680 80241140 0C0129CF */ jal func_8004A73C +/* C53684 80241144 0240202D */ daddu $a0, $s2, $zero +.L80241148: +/* C53688 80241148 8FBF0048 */ lw $ra, 0x48($sp) +/* C5368C 8024114C 8FB50044 */ lw $s5, 0x44($sp) +/* C53690 80241150 8FB40040 */ lw $s4, 0x40($sp) +/* C53694 80241154 8FB3003C */ lw $s3, 0x3c($sp) +/* C53698 80241158 8FB20038 */ lw $s2, 0x38($sp) +/* C5369C 8024115C 8FB10034 */ lw $s1, 0x34($sp) +/* C536A0 80241160 8FB00030 */ lw $s0, 0x30($sp) +/* C536A4 80241164 0000102D */ daddu $v0, $zero, $zero +/* C536A8 80241168 03E00008 */ jr $ra +/* C536AC 8024116C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/func_80241170_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/func_80241170_C52540.s new file mode 100644 index 0000000000..3ce6b44d09 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/func_80241170_C52540.s @@ -0,0 +1,187 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170_C536B0 +/* C536B0 80241170 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C536B4 80241174 AFB20038 */ sw $s2, 0x38($sp) +/* C536B8 80241178 0080902D */ daddu $s2, $a0, $zero +/* C536BC 8024117C AFBF0048 */ sw $ra, 0x48($sp) +/* C536C0 80241180 AFB50044 */ sw $s5, 0x44($sp) +/* C536C4 80241184 AFB40040 */ sw $s4, 0x40($sp) +/* C536C8 80241188 AFB3003C */ sw $s3, 0x3c($sp) +/* C536CC 8024118C AFB10034 */ sw $s1, 0x34($sp) +/* C536D0 80241190 AFB00030 */ sw $s0, 0x30($sp) +/* C536D4 80241194 8E510148 */ lw $s1, 0x148($s2) +/* C536D8 80241198 86240008 */ lh $a0, 8($s1) +/* C536DC 8024119C 0C00EABB */ jal get_npc_unsafe +/* C536E0 802411A0 00A0802D */ daddu $s0, $a1, $zero +/* C536E4 802411A4 8E43000C */ lw $v1, 0xc($s2) +/* C536E8 802411A8 0240202D */ daddu $a0, $s2, $zero +/* C536EC 802411AC 8C650000 */ lw $a1, ($v1) +/* C536F0 802411B0 0C0B1EAF */ jal get_variable +/* C536F4 802411B4 0040A82D */ daddu $s5, $v0, $zero +/* C536F8 802411B8 AFA00010 */ sw $zero, 0x10($sp) +/* C536FC 802411BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C53700 802411C0 8C630030 */ lw $v1, 0x30($v1) +/* C53704 802411C4 AFA30014 */ sw $v1, 0x14($sp) +/* C53708 802411C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C5370C 802411CC 8C63001C */ lw $v1, 0x1c($v1) +/* C53710 802411D0 AFA30018 */ sw $v1, 0x18($sp) +/* C53714 802411D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C53718 802411D8 8C630024 */ lw $v1, 0x24($v1) +/* C5371C 802411DC AFA3001C */ sw $v1, 0x1c($sp) +/* C53720 802411E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C53724 802411E4 8C630028 */ lw $v1, 0x28($v1) +/* C53728 802411E8 27B40010 */ addiu $s4, $sp, 0x10 +/* C5372C 802411EC AFA30020 */ sw $v1, 0x20($sp) +/* C53730 802411F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C53734 802411F4 3C014282 */ lui $at, 0x4282 +/* C53738 802411F8 44810000 */ mtc1 $at, $f0 +/* C5373C 802411FC 8C63002C */ lw $v1, 0x2c($v1) +/* C53740 80241200 0040982D */ daddu $s3, $v0, $zero +/* C53744 80241204 E7A00028 */ swc1 $f0, 0x28($sp) +/* C53748 80241208 A7A0002C */ sh $zero, 0x2c($sp) +/* C5374C 8024120C 16000005 */ bnez $s0, .L80241224 +/* C53750 80241210 AFA30024 */ sw $v1, 0x24($sp) +/* C53754 80241214 8E2200B0 */ lw $v0, 0xb0($s1) +/* C53758 80241218 30420004 */ andi $v0, $v0, 4 +/* C5375C 8024121C 10400020 */ beqz $v0, .L802412A0 +/* C53760 80241220 00000000 */ nop +.L80241224: +/* C53764 80241224 2404F7FF */ addiu $a0, $zero, -0x801 +/* C53768 80241228 AE400070 */ sw $zero, 0x70($s2) +/* C5376C 8024122C A6A0008E */ sh $zero, 0x8e($s5) +/* C53770 80241230 8E2200CC */ lw $v0, 0xcc($s1) +/* C53774 80241234 8EA30000 */ lw $v1, ($s5) +/* C53778 80241238 8C420000 */ lw $v0, ($v0) +/* C5377C 8024123C 00641824 */ and $v1, $v1, $a0 +/* C53780 80241240 AEA30000 */ sw $v1, ($s5) +/* C53784 80241244 AEA20028 */ sw $v0, 0x28($s5) +/* C53788 80241248 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5378C 8024124C 8C420034 */ lw $v0, 0x34($v0) +/* C53790 80241250 54400005 */ bnel $v0, $zero, .L80241268 +/* C53794 80241254 2402FDFF */ addiu $v0, $zero, -0x201 +/* C53798 80241258 34620200 */ ori $v0, $v1, 0x200 +/* C5379C 8024125C 2403FFF7 */ addiu $v1, $zero, -9 +/* C537A0 80241260 0809049C */ j .L80241270 +/* C537A4 80241264 00431024 */ and $v0, $v0, $v1 +.L80241268: +/* C537A8 80241268 00621024 */ and $v0, $v1, $v0 +/* C537AC 8024126C 34420008 */ ori $v0, $v0, 8 +.L80241270: +/* C537B0 80241270 AEA20000 */ sw $v0, ($s5) +/* C537B4 80241274 8E2200B0 */ lw $v0, 0xb0($s1) +/* C537B8 80241278 30420004 */ andi $v0, $v0, 4 +/* C537BC 8024127C 10400007 */ beqz $v0, .L8024129C +/* C537C0 80241280 24020063 */ addiu $v0, $zero, 0x63 +/* C537C4 80241284 AE420070 */ sw $v0, 0x70($s2) +/* C537C8 80241288 AE400074 */ sw $zero, 0x74($s2) +/* C537CC 8024128C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C537D0 80241290 2403FFFB */ addiu $v1, $zero, -5 +/* C537D4 80241294 00431024 */ and $v0, $v0, $v1 +/* C537D8 80241298 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024129C: +/* C537DC 8024129C AE20006C */ sw $zero, 0x6c($s1) +.L802412A0: +/* C537E0 802412A0 8E420070 */ lw $v0, 0x70($s2) +/* C537E4 802412A4 2842001E */ slti $v0, $v0, 0x1e +/* C537E8 802412A8 10400009 */ beqz $v0, .L802412D0 +/* C537EC 802412AC 00000000 */ nop +/* C537F0 802412B0 8E22006C */ lw $v0, 0x6c($s1) +/* C537F4 802412B4 14400006 */ bnez $v0, .L802412D0 +/* C537F8 802412B8 00000000 */ nop +/* C537FC 802412BC 0C090082 */ jal func_80240208 +/* C53800 802412C0 0240202D */ daddu $a0, $s2, $zero +/* C53804 802412C4 10400002 */ beqz $v0, .L802412D0 +/* C53808 802412C8 2402001E */ addiu $v0, $zero, 0x1e +/* C5380C 802412CC AE420070 */ sw $v0, 0x70($s2) +.L802412D0: +/* C53810 802412D0 8E430070 */ lw $v1, 0x70($s2) +/* C53814 802412D4 2C620064 */ sltiu $v0, $v1, 0x64 +/* C53818 802412D8 10400048 */ beqz $v0, .L802413FC +/* C5381C 802412DC 00031080 */ sll $v0, $v1, 2 +/* C53820 802412E0 3C018024 */ lui $at, 0x8024 +/* C53824 802412E4 00220821 */ addu $at, $at, $v0 +/* C53828 802412E8 8C223390 */ lw $v0, 0x3390($at) +/* C5382C 802412EC 00400008 */ jr $v0 +/* C53830 802412F0 00000000 */ nop +/* C53834 802412F4 0240202D */ daddu $a0, $s2, $zero +/* C53838 802412F8 0260282D */ daddu $a1, $s3, $zero +/* C5383C 802412FC 0C012568 */ jal func_800495A0 +/* C53840 80241300 0280302D */ daddu $a2, $s4, $zero +/* C53844 80241304 0240202D */ daddu $a0, $s2, $zero +/* C53848 80241308 0260282D */ daddu $a1, $s3, $zero +/* C5384C 8024130C 0C0125AE */ jal func_800496B8 +/* C53850 80241310 0280302D */ daddu $a2, $s4, $zero +/* C53854 80241314 080904FF */ j .L802413FC +/* C53858 80241318 00000000 */ nop +/* C5385C 8024131C 0240202D */ daddu $a0, $s2, $zero +/* C53860 80241320 0260282D */ daddu $a1, $s3, $zero +/* C53864 80241324 0C0126D1 */ jal func_80049B44 +/* C53868 80241328 0280302D */ daddu $a2, $s4, $zero +/* C5386C 8024132C 0240202D */ daddu $a0, $s2, $zero +/* C53870 80241330 0260282D */ daddu $a1, $s3, $zero +/* C53874 80241334 0C012701 */ jal func_80049C04 +/* C53878 80241338 0280302D */ daddu $a2, $s4, $zero +/* C5387C 8024133C 080904FF */ j .L802413FC +/* C53880 80241340 00000000 */ nop +/* C53884 80241344 0240202D */ daddu $a0, $s2, $zero +/* C53888 80241348 0260282D */ daddu $a1, $s3, $zero +/* C5388C 8024134C 0C01278F */ jal func_80049E3C +/* C53890 80241350 0280302D */ daddu $a2, $s4, $zero +/* C53894 80241354 0240202D */ daddu $a0, $s2, $zero +/* C53898 80241358 0260282D */ daddu $a1, $s3, $zero +/* C5389C 8024135C 0C0127B3 */ jal func_80049ECC +/* C538A0 80241360 0280302D */ daddu $a2, $s4, $zero +/* C538A4 80241364 080904FF */ j .L802413FC +/* C538A8 80241368 00000000 */ nop +/* C538AC 8024136C 0240202D */ daddu $a0, $s2, $zero +/* C538B0 80241370 0260282D */ daddu $a1, $s3, $zero +/* C538B4 80241374 0C0127DF */ jal func_80049F7C +/* C538B8 80241378 0280302D */ daddu $a2, $s4, $zero +/* C538BC 8024137C 0240202D */ daddu $a0, $s2, $zero +/* C538C0 80241380 0260282D */ daddu $a1, $s3, $zero +/* C538C4 80241384 0C012849 */ jal func_8004A124 +/* C538C8 80241388 0280302D */ daddu $a2, $s4, $zero +/* C538CC 8024138C 080904FF */ j .L802413FC +/* C538D0 80241390 00000000 */ nop +/* C538D4 80241394 0240202D */ daddu $a0, $s2, $zero +/* C538D8 80241398 0260282D */ daddu $a1, $s3, $zero +/* C538DC 8024139C 0C0128FA */ jal func_8004A3E8 +/* C538E0 802413A0 0280302D */ daddu $a2, $s4, $zero +/* C538E4 802413A4 080904FF */ j .L802413FC +/* C538E8 802413A8 00000000 */ nop +/* C538EC 802413AC 0C090000 */ jal func_80240000 +/* C538F0 802413B0 0240202D */ daddu $a0, $s2, $zero +/* C538F4 802413B4 0C09001B */ jal func_8024006C +/* C538F8 802413B8 0240202D */ daddu $a0, $s2, $zero +/* C538FC 802413BC 8E430070 */ lw $v1, 0x70($s2) +/* C53900 802413C0 24020020 */ addiu $v0, $zero, 0x20 +/* C53904 802413C4 1462000D */ bne $v1, $v0, .L802413FC +/* C53908 802413C8 00000000 */ nop +/* C5390C 802413CC 0C090037 */ jal func_802400DC +/* C53910 802413D0 0240202D */ daddu $a0, $s2, $zero +/* C53914 802413D4 8E430070 */ lw $v1, 0x70($s2) +/* C53918 802413D8 24020021 */ addiu $v0, $zero, 0x21 +/* C5391C 802413DC 14620007 */ bne $v1, $v0, .L802413FC +/* C53920 802413E0 00000000 */ nop +/* C53924 802413E4 0C09006D */ jal func_802401B4 +/* C53928 802413E8 0240202D */ daddu $a0, $s2, $zero +/* C5392C 802413EC 080904FF */ j .L802413FC +/* C53930 802413F0 00000000 */ nop +/* C53934 802413F4 0C0129CF */ jal func_8004A73C +/* C53938 802413F8 0240202D */ daddu $a0, $s2, $zero +.L802413FC: +/* C5393C 802413FC 8FBF0048 */ lw $ra, 0x48($sp) +/* C53940 80241400 8FB50044 */ lw $s5, 0x44($sp) +/* C53944 80241404 8FB40040 */ lw $s4, 0x40($sp) +/* C53948 80241408 8FB3003C */ lw $s3, 0x3c($sp) +/* C5394C 8024140C 8FB20038 */ lw $s2, 0x38($sp) +/* C53950 80241410 8FB10034 */ lw $s1, 0x34($sp) +/* C53954 80241414 8FB00030 */ lw $s0, 0x30($sp) +/* C53958 80241418 0000102D */ daddu $v0, $zero, $zero +/* C5395C 8024141C 03E00008 */ jr $ra +/* C53960 80241420 27BD0050 */ addiu $sp, $sp, 0x50 +/* C53964 80241424 00000000 */ nop +/* C53968 80241428 00000000 */ nop +/* C5396C 8024142C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_16/update_starpoints_display_C52540.s b/asm/nonmatchings/world/area_dgb/dgb_16/update_starpoints_display_C52540.s new file mode 100644 index 0000000000..2c4d284f33 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_16/update_starpoints_display_C52540.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_C528FC +/* C528FC 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C52900 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* C52904 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* C52908 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* C5290C 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* C52910 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* C52914 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* C52918 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* C5291C 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* C52920 802403E0 86240008 */ lh $a0, 8($s1) +/* C52924 802403E4 0C00EABB */ jal get_npc_unsafe +/* C52928 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* C5292C 802403EC 16000005 */ bnez $s0, .L80240404 +/* C52930 802403F0 0040902D */ daddu $s2, $v0, $zero +/* C52934 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C52938 802403F8 30420004 */ andi $v0, $v0, 4 +/* C5293C 802403FC 10400015 */ beqz $v0, .L80240454 +/* C52940 80240400 00000000 */ nop +.L80240404: +/* C52944 80240404 AE800070 */ sw $zero, 0x70($s4) +/* C52948 80240408 8E420000 */ lw $v0, ($s2) +/* C5294C 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* C52950 80240410 A640008E */ sh $zero, 0x8e($s2) +/* C52954 80240414 34420102 */ ori $v0, $v0, 0x102 +/* C52958 80240418 AE420000 */ sw $v0, ($s2) +/* C5295C 8024041C 8E220000 */ lw $v0, ($s1) +/* C52960 80240420 3C01C47A */ lui $at, 0xc47a +/* C52964 80240424 44810000 */ mtc1 $at, $f0 +/* C52968 80240428 00431025 */ or $v0, $v0, $v1 +/* C5296C 8024042C AE220000 */ sw $v0, ($s1) +/* C52970 80240430 AE400038 */ sw $zero, 0x38($s2) +/* C52974 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* C52978 80240438 AE400040 */ sw $zero, 0x40($s2) +/* C5297C 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C52980 80240440 30620004 */ andi $v0, $v1, 4 +/* C52984 80240444 10400003 */ beqz $v0, .L80240454 +/* C52988 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* C5298C 8024044C 00621024 */ and $v0, $v1, $v0 +/* C52990 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* C52994 80240454 8E930070 */ lw $s3, 0x70($s4) +/* C52998 80240458 12600005 */ beqz $s3, .L80240470 +/* C5299C 8024045C 24020001 */ addiu $v0, $zero, 1 +/* C529A0 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* C529A4 80240464 00000000 */ nop +/* C529A8 80240468 0809017E */ j .L802405F8 +/* C529AC 8024046C 00000000 */ nop +.L80240470: +/* C529B0 80240470 86240008 */ lh $a0, 8($s1) +/* C529B4 80240474 0C00FB3A */ jal get_enemy +/* C529B8 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* C529BC 8024047C 0040802D */ daddu $s0, $v0, $zero +/* C529C0 80240480 0C00EABB */ jal get_npc_unsafe +/* C529C4 80240484 86040008 */ lh $a0, 8($s0) +/* C529C8 80240488 24030001 */ addiu $v1, $zero, 1 +/* C529CC 8024048C 0040982D */ daddu $s3, $v0, $zero +/* C529D0 80240490 A2230007 */ sb $v1, 7($s1) +/* C529D4 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* C529D8 80240498 24020003 */ addiu $v0, $zero, 3 +/* C529DC 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* C529E0 802404A0 00000000 */ nop +/* C529E4 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C529E8 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* C529EC 802404AC 0260202D */ daddu $a0, $s3, $zero +/* C529F0 802404B0 0C012530 */ jal func_800494C0 +/* C529F4 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* C529F8 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* C529FC 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* C52A00 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* C52A04 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C52A08 802404C8 3C014387 */ lui $at, 0x4387 +/* C52A0C 802404CC 44810000 */ mtc1 $at, $f0 +/* C52A10 802404D0 44064000 */ mfc1 $a2, $f8 +/* C52A14 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* C52A18 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C52A1C 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* C52A20 802404E0 44070000 */ mfc1 $a3, $f0 +/* C52A24 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* C52A28 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C52A2C 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* C52A30 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* C52A34 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C52A38 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* C52A3C 802404FC 44024000 */ mfc1 $v0, $f8 +/* C52A40 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* C52A44 80240504 A6220010 */ sh $v0, 0x10($s1) +/* C52A48 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* C52A4C 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* C52A50 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* C52A54 80240514 46020000 */ add.s $f0, $f0, $f2 +/* C52A58 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C52A5C 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C52A60 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* C52A64 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C52A68 80240528 4600020D */ trunc.w.s $f8, $f0 +/* C52A6C 8024052C 44024000 */ mfc1 $v0, $f8 +/* C52A70 80240530 00000000 */ nop +/* C52A74 80240534 A6220012 */ sh $v0, 0x12($s1) +/* C52A78 80240538 4600120D */ trunc.w.s $f8, $f2 +/* C52A7C 8024053C 44024000 */ mfc1 $v0, $f8 +/* C52A80 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* C52A84 80240544 A6220014 */ sh $v0, 0x14($s1) +/* C52A88 80240548 8C660028 */ lw $a2, 0x28($v1) +/* C52A8C 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* C52A90 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C52A94 80240554 0C00A720 */ jal atan2 +/* C52A98 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C52A9C 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* C52AA0 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* C52AA4 80240564 8E220000 */ lw $v0, ($s1) +/* C52AA8 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* C52AAC 8024056C 00431024 */ and $v0, $v0, $v1 +/* C52AB0 80240570 AE220000 */ sw $v0, ($s1) +/* C52AB4 80240574 24020001 */ addiu $v0, $zero, 1 +/* C52AB8 80240578 A640008E */ sh $zero, 0x8e($s2) +/* C52ABC 8024057C 0809017E */ j .L802405F8 +/* C52AC0 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* C52AC4 80240584 86240008 */ lh $a0, 8($s1) +/* C52AC8 80240588 0C00FB3A */ jal get_enemy +/* C52ACC 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* C52AD0 80240590 0040802D */ daddu $s0, $v0, $zero +/* C52AD4 80240594 0C00EABB */ jal get_npc_unsafe +/* C52AD8 80240598 86040008 */ lh $a0, 8($s0) +/* C52ADC 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* C52AE0 802405A0 24420001 */ addiu $v0, $v0, 1 +/* C52AE4 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* C52AE8 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* C52AEC 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* C52AF0 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* C52AF4 802405B4 0043102A */ slt $v0, $v0, $v1 +/* C52AF8 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* C52AFC 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* C52B00 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* C52B04 802405C4 24020004 */ addiu $v0, $zero, 4 +/* C52B08 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* C52B0C 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* C52B10 802405D0 8E230000 */ lw $v1, ($s1) +/* C52B14 802405D4 3C01C47A */ lui $at, 0xc47a +/* C52B18 802405D8 44810000 */ mtc1 $at, $f0 +/* C52B1C 802405DC 00621825 */ or $v1, $v1, $v0 +/* C52B20 802405E0 AE230000 */ sw $v1, ($s1) +/* C52B24 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* C52B28 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* C52B2C 802405EC AE400040 */ sw $zero, 0x40($s2) +/* C52B30 802405F0 A2330007 */ sb $s3, 7($s1) +/* C52B34 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* C52B38 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* C52B3C 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* C52B40 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* C52B44 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* C52B48 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* C52B4C 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* C52B50 80240610 0000102D */ daddu $v0, $zero, $zero +/* C52B54 80240614 03E00008 */ jr $ra +/* C52B58 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/begin_battle_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/begin_battle_C55F40.s new file mode 100644 index 0000000000..99c367974e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/begin_battle_C55F40.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel begin_battle_C57158 +/* C57158 80241218 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5715C 8024121C AFB00010 */ sw $s0, 0x10($sp) +/* C57160 80241220 0080802D */ daddu $s0, $a0, $zero +/* C57164 80241224 AFBF0014 */ sw $ra, 0x14($sp) +/* C57168 80241228 8E02000C */ lw $v0, 0xc($s0) +/* C5716C 8024122C 0C0B1EAF */ jal get_variable +/* C57170 80241230 8C450000 */ lw $a1, ($v0) +/* C57174 80241234 00021140 */ sll $v0, $v0, 5 +/* C57178 80241238 AE000084 */ sw $zero, 0x84($s0) +/* C5717C 8024123C 3C018008 */ lui $at, 0x8008 +/* C57180 80241240 00220821 */ addu $at, $at, $v0 +/* C57184 80241244 942278F8 */ lhu $v0, 0x78f8($at) +/* C57188 80241248 30420040 */ andi $v0, $v0, 0x40 +/* C5718C 8024124C 10400002 */ beqz $v0, .L80241258 +/* C57190 80241250 24020001 */ addiu $v0, $zero, 1 +/* C57194 80241254 AE020084 */ sw $v0, 0x84($s0) +.L80241258: +/* C57198 80241258 8FBF0014 */ lw $ra, 0x14($sp) +/* C5719C 8024125C 8FB00010 */ lw $s0, 0x10($sp) +/* C571A0 80241260 24020002 */ addiu $v0, $zero, 2 +/* C571A4 80241264 03E00008 */ jr $ra +/* C571A8 80241268 27BD0018 */ addiu $sp, $sp, 0x18 +/* C571AC 8024126C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240000_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240000_C55F40.s new file mode 100644 index 0000000000..df67d813e8 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240000_C55F40.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C55F40 +/* C55F40 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C55F44 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* C55F48 80240008 0080A82D */ daddu $s5, $a0, $zero +/* C55F4C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* C55F50 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* C55F54 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* C55F58 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* C55F5C 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* C55F60 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* C55F64 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* C55F68 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C55F6C 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* C55F70 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C55F74 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* C55F78 80240038 86640008 */ lh $a0, 8($s3) +/* C55F7C 8024003C 0C00EABB */ jal get_npc_unsafe +/* C55F80 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* C55F84 80240044 0040A02D */ daddu $s4, $v0, $zero +/* C55F88 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* C55F8C 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* C55F90 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* C55F94 80240054 0000902D */ daddu $s2, $zero, $zero +/* C55F98 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* C55F9C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C55FA0 80240060 8C620000 */ lw $v0, ($v1) +/* C55FA4 80240064 3C0146FF */ lui $at, 0x46ff +/* C55FA8 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* C55FAC 8024006C 4481A000 */ mtc1 $at, $f20 +/* C55FB0 80240070 18400018 */ blez $v0, .L802400D4 +/* C55FB4 80240074 0240802D */ daddu $s0, $s2, $zero +/* C55FB8 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* C55FBC 8024007C 02231021 */ addu $v0, $s1, $v1 +/* C55FC0 80240080 4600C306 */ mov.s $f12, $f24 +/* C55FC4 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* C55FC8 80240088 46802120 */ cvt.s.w $f4, $f4 +/* C55FCC 8024008C 44062000 */ mfc1 $a2, $f4 +/* C55FD0 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* C55FD4 80240094 46802120 */ cvt.s.w $f4, $f4 +/* C55FD8 80240098 44072000 */ mfc1 $a3, $f4 +/* C55FDC 8024009C 0C00A7B5 */ jal dist2D +/* C55FE0 802400A0 4600B386 */ mov.s $f14, $f22 +/* C55FE4 802400A4 4614003C */ c.lt.s $f0, $f20 +/* C55FE8 802400A8 00000000 */ nop +/* C55FEC 802400AC 45000003 */ bc1f .L802400BC +/* C55FF0 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* C55FF4 802400B4 46000506 */ mov.s $f20, $f0 +/* C55FF8 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* C55FFC 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* C56000 802400C0 26100001 */ addiu $s0, $s0, 1 +/* C56004 802400C4 8C620000 */ lw $v0, ($v1) +/* C56008 802400C8 0202102A */ slt $v0, $s0, $v0 +/* C5600C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* C56010 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* C56014 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* C56018 802400D8 8C420004 */ lw $v0, 4($v0) +/* C5601C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* C56020 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* C56024 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* C56028 802400E8 04410004 */ bgez $v0, .L802400FC +/* C5602C 802400EC 00000000 */ nop +/* C56030 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* C56034 802400F4 08090047 */ j .L8024011C +/* C56038 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* C5603C 802400FC 3C018024 */ lui $at, 0x8024 +/* C56040 80240100 D42238E0 */ ldc1 $f2, 0x38e0($at) +/* C56044 80240104 44820000 */ mtc1 $v0, $f0 +/* C56048 80240108 00000000 */ nop +/* C5604C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* C56050 80240110 46220003 */ div.d $f0, $f0, $f2 +/* C56054 80240114 46200020 */ cvt.s.d $f0, $f0 +/* C56058 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* C5605C 8024011C 24020001 */ addiu $v0, $zero, 1 +/* C56060 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* C56064 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* C56068 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* C5606C 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* C56070 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* C56074 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* C56078 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* C5607C 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* C56080 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* C56084 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C56088 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C5608C 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C56090 80240150 03E00008 */ jr $ra +/* C56094 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240158_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240158_C55F40.s new file mode 100644 index 0000000000..ef112d540e --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240158_C55F40.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_C56098 +/* C56098 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C5609C 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* C560A0 80240160 0080902D */ daddu $s2, $a0, $zero +/* C560A4 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* C560A8 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* C560AC 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* C560B0 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* C560B4 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* C560B8 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C560BC 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* C560C0 80240180 8E510148 */ lw $s1, 0x148($s2) +/* C560C4 80240184 00A0982D */ daddu $s3, $a1, $zero +/* C560C8 80240188 86240008 */ lh $a0, 8($s1) +/* C560CC 8024018C 0C00EABB */ jal get_npc_unsafe +/* C560D0 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* C560D4 80240194 8E630014 */ lw $v1, 0x14($s3) +/* C560D8 80240198 04600030 */ bltz $v1, .L8024025C +/* C560DC 8024019C 0040802D */ daddu $s0, $v0, $zero +/* C560E0 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* C560E4 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* C560E8 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* C560EC 802401AC 0280202D */ daddu $a0, $s4, $zero +/* C560F0 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* C560F4 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* C560F8 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* C560FC 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* C56100 802401C0 0C01242D */ jal func_800490B4 +/* C56104 802401C4 0220282D */ daddu $a1, $s1, $zero +/* C56108 802401C8 10400021 */ beqz $v0, .L80240250 +/* C5610C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* C56110 802401D0 0200282D */ daddu $a1, $s0, $zero +/* C56114 802401D4 0000302D */ daddu $a2, $zero, $zero +/* C56118 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* C5611C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* C56120 802401E0 44810000 */ mtc1 $at, $f0 +/* C56124 802401E4 3C014000 */ lui $at, 0x4000 +/* C56128 802401E8 44811000 */ mtc1 $at, $f2 +/* C5612C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* C56130 802401F0 44812000 */ mtc1 $at, $f4 +/* C56134 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* C56138 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* C5613C 802401FC 44833000 */ mtc1 $v1, $f6 +/* C56140 80240200 00000000 */ nop +/* C56144 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* C56148 80240208 44073000 */ mfc1 $a3, $f6 +/* C5614C 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* C56150 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* C56154 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* C56158 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* C5615C 8024021C 0C01BFA4 */ jal fx_emote +/* C56160 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* C56164 80240224 0200202D */ daddu $a0, $s0, $zero +/* C56168 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C5616C 8024022C 0C012530 */ jal func_800494C0 +/* C56170 80240230 3C060020 */ lui $a2, 0x20 +/* C56174 80240234 8E220018 */ lw $v0, 0x18($s1) +/* C56178 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* C5617C 8024023C 30420001 */ andi $v0, $v0, 1 +/* C56180 80240240 14400064 */ bnez $v0, .L802403D4 +/* C56184 80240244 2402000A */ addiu $v0, $zero, 0xa +/* C56188 80240248 080900F5 */ j .L802403D4 +/* C5618C 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* C56190 80240250 8E420074 */ lw $v0, 0x74($s2) +/* C56194 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* C56198 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* C5619C 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* C561A0 80240260 1440005D */ bnez $v0, .L802403D8 +/* C561A4 80240264 00000000 */ nop +/* C561A8 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* C561AC 8024026C 3C014010 */ lui $at, 0x4010 +/* C561B0 80240270 44811800 */ mtc1 $at, $f3 +/* C561B4 80240274 44801000 */ mtc1 $zero, $f2 +/* C561B8 80240278 46000021 */ cvt.d.s $f0, $f0 +/* C561BC 8024027C 4622003C */ c.lt.d $f0, $f2 +/* C561C0 80240280 00000000 */ nop +/* C561C4 80240284 45000003 */ bc1f .L80240294 +/* C561C8 80240288 0200202D */ daddu $a0, $s0, $zero +/* C561CC 8024028C 080900A6 */ j .L80240298 +/* C561D0 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* C561D4 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* C561D8 80240298 0C00F598 */ jal func_8003D660 +/* C561DC 8024029C 00000000 */ nop +/* C561E0 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C561E4 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* C561E8 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C561EC 802402AC 00031040 */ sll $v0, $v1, 1 +/* C561F0 802402B0 00431021 */ addu $v0, $v0, $v1 +/* C561F4 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C561F8 802402B8 00021080 */ sll $v0, $v0, 2 +/* C561FC 802402BC 00431021 */ addu $v0, $v0, $v1 +/* C56200 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* C56204 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* C56208 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* C5620C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* C56210 802402D0 4406B000 */ mfc1 $a2, $f22 +/* C56214 802402D4 4407A000 */ mfc1 $a3, $f20 +/* C56218 802402D8 0C00A720 */ jal atan2 +/* C5621C 802402DC 00000000 */ nop +/* C56220 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* C56224 802402E4 44060000 */ mfc1 $a2, $f0 +/* C56228 802402E8 0200202D */ daddu $a0, $s0, $zero +/* C5622C 802402EC 0C00EA95 */ jal npc_move_heading +/* C56230 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* C56234 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C56238 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5623C 802402FC 4406B000 */ mfc1 $a2, $f22 +/* C56240 80240300 4407A000 */ mfc1 $a3, $f20 +/* C56244 80240304 0C00A7B5 */ jal dist2D +/* C56248 80240308 00000000 */ nop +/* C5624C 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* C56250 80240310 4602003E */ c.le.s $f0, $f2 +/* C56254 80240314 00000000 */ nop +/* C56258 80240318 4500002F */ bc1f .L802403D8 +/* C5625C 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C56260 80240320 24020002 */ addiu $v0, $zero, 2 +/* C56264 80240324 0C00A67F */ jal rand_int +/* C56268 80240328 AE420070 */ sw $v0, 0x70($s2) +/* C5626C 8024032C 3C035555 */ lui $v1, 0x5555 +/* C56270 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* C56274 80240334 00430018 */ mult $v0, $v1 +/* C56278 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* C5627C 8024033C 00004010 */ mfhi $t0 +/* C56280 80240340 01042023 */ subu $a0, $t0, $a0 +/* C56284 80240344 00041840 */ sll $v1, $a0, 1 +/* C56288 80240348 00641821 */ addu $v1, $v1, $a0 +/* C5628C 8024034C 00431023 */ subu $v0, $v0, $v1 +/* C56290 80240350 24430002 */ addiu $v1, $v0, 2 +/* C56294 80240354 AE430074 */ sw $v1, 0x74($s2) +/* C56298 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* C5629C 8024035C 18400009 */ blez $v0, .L80240384 +/* C562A0 80240360 24020004 */ addiu $v0, $zero, 4 +/* C562A4 80240364 8E620004 */ lw $v0, 4($s3) +/* C562A8 80240368 18400006 */ blez $v0, .L80240384 +/* C562AC 8024036C 24020004 */ addiu $v0, $zero, 4 +/* C562B0 80240370 8E620008 */ lw $v0, 8($s3) +/* C562B4 80240374 18400003 */ blez $v0, .L80240384 +/* C562B8 80240378 24020004 */ addiu $v0, $zero, 4 +/* C562BC 8024037C 14600002 */ bnez $v1, .L80240388 +/* C562C0 80240380 00000000 */ nop +.L80240384: +/* C562C4 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* C562C8 80240388 0C00A67F */ jal rand_int +/* C562CC 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* C562D0 80240390 3C0351EB */ lui $v1, 0x51eb +/* C562D4 80240394 3463851F */ ori $v1, $v1, 0x851f +/* C562D8 80240398 00430018 */ mult $v0, $v1 +/* C562DC 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* C562E0 802403A0 00004010 */ mfhi $t0 +/* C562E4 802403A4 00082143 */ sra $a0, $t0, 5 +/* C562E8 802403A8 00832023 */ subu $a0, $a0, $v1 +/* C562EC 802403AC 00041840 */ sll $v1, $a0, 1 +/* C562F0 802403B0 00641821 */ addu $v1, $v1, $a0 +/* C562F4 802403B4 000318C0 */ sll $v1, $v1, 3 +/* C562F8 802403B8 00641821 */ addu $v1, $v1, $a0 +/* C562FC 802403BC 00031880 */ sll $v1, $v1, 2 +/* C56300 802403C0 8E640004 */ lw $a0, 4($s3) +/* C56304 802403C4 00431023 */ subu $v0, $v0, $v1 +/* C56308 802403C8 0044102A */ slt $v0, $v0, $a0 +/* C5630C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* C56310 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* C56314 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* C56318 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* C5631C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* C56320 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* C56324 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* C56328 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* C5632C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* C56330 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C56334 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C56338 802403F8 03E00008 */ jr $ra +/* C5633C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240400_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240400_C55F40.s new file mode 100644 index 0000000000..f9a06a63b5 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240400_C55F40.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_C56340 +/* C56340 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C56344 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* C56348 80240408 0080982D */ daddu $s3, $a0, $zero +/* C5634C 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* C56350 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* C56354 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* C56358 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* C5635C 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* C56360 80240420 86440008 */ lh $a0, 8($s2) +/* C56364 80240424 0C00EABB */ jal get_npc_unsafe +/* C56368 80240428 00A0882D */ daddu $s1, $a1, $zero +/* C5636C 8024042C 8E240008 */ lw $a0, 8($s1) +/* C56370 80240430 0040802D */ daddu $s0, $v0, $zero +/* C56374 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* C56378 80240438 00832021 */ addu $a0, $a0, $v1 +/* C5637C 8024043C 00042043 */ sra $a0, $a0, 1 +/* C56380 80240440 0C00A67F */ jal rand_int +/* C56384 80240444 24840001 */ addiu $a0, $a0, 1 +/* C56388 80240448 8E230008 */ lw $v1, 8($s1) +/* C5638C 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* C56390 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* C56394 80240454 00651821 */ addu $v1, $v1, $a1 +/* C56398 80240458 00031843 */ sra $v1, $v1, 1 +/* C5639C 8024045C 00621821 */ addu $v1, $v1, $v0 +/* C563A0 80240460 0C00A67F */ jal rand_int +/* C563A4 80240464 A603008E */ sh $v1, 0x8e($s0) +/* C563A8 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* C563AC 8024046C 44820000 */ mtc1 $v0, $f0 +/* C563B0 80240470 00000000 */ nop +/* C563B4 80240474 46800020 */ cvt.s.w $f0, $f0 +/* C563B8 80240478 46006300 */ add.s $f12, $f12, $f0 +/* C563BC 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* C563C0 80240480 44810000 */ mtc1 $at, $f0 +/* C563C4 80240484 0C00A6C9 */ jal clamp_angle +/* C563C8 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* C563CC 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* C563D0 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* C563D4 80240494 8C420000 */ lw $v0, ($v0) +/* C563D8 80240498 AE020028 */ sw $v0, 0x28($s0) +/* C563DC 8024049C 24020003 */ addiu $v0, $zero, 3 +/* C563E0 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* C563E4 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* C563E8 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* C563EC 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* C563F0 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* C563F4 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* C563F8 802404B8 03E00008 */ jr $ra +/* C563FC 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_802404C0_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_802404C0_C55F40.s new file mode 100644 index 0000000000..5d45ce5521 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_802404C0_C55F40.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_C56400 +/* C56400 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C56404 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* C56408 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* C5640C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* C56410 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* C56414 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* C56418 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* C5641C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* C56420 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* C56424 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* C56428 802404E8 86240008 */ lh $a0, 8($s1) +/* C5642C 802404EC 0C00EABB */ jal get_npc_unsafe +/* C56430 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* C56434 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* C56438 802404F8 04600031 */ bltz $v1, .L802405C0 +/* C5643C 802404FC 0040802D */ daddu $s0, $v0, $zero +/* C56440 80240500 0260202D */ daddu $a0, $s3, $zero +/* C56444 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* C56448 80240508 8E460024 */ lw $a2, 0x24($s2) +/* C5644C 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* C56450 80240510 0C01242D */ jal func_800490B4 +/* C56454 80240514 0220282D */ daddu $a1, $s1, $zero +/* C56458 80240518 10400029 */ beqz $v0, .L802405C0 +/* C5645C 8024051C 0000202D */ daddu $a0, $zero, $zero +/* C56460 80240520 0200282D */ daddu $a1, $s0, $zero +/* C56464 80240524 0000302D */ daddu $a2, $zero, $zero +/* C56468 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* C5646C 8024052C 3C013F80 */ lui $at, 0x3f80 +/* C56470 80240530 44810000 */ mtc1 $at, $f0 +/* C56474 80240534 3C014000 */ lui $at, 0x4000 +/* C56478 80240538 44811000 */ mtc1 $at, $f2 +/* C5647C 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* C56480 80240540 44812000 */ mtc1 $at, $f4 +/* C56484 80240544 2402000F */ addiu $v0, $zero, 0xf +/* C56488 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* C5648C 8024054C 44833000 */ mtc1 $v1, $f6 +/* C56490 80240550 00000000 */ nop +/* C56494 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* C56498 80240558 44073000 */ mfc1 $a3, $f6 +/* C5649C 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* C564A0 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* C564A4 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* C564A8 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* C564AC 8024056C 0C01BFA4 */ jal fx_emote +/* C564B0 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* C564B4 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C564B8 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C564BC 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C564C0 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C564C4 80240584 8C460028 */ lw $a2, 0x28($v0) +/* C564C8 80240588 0C00A720 */ jal atan2 +/* C564CC 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* C564D0 80240590 0200202D */ daddu $a0, $s0, $zero +/* C564D4 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C564D8 80240598 3C060020 */ lui $a2, 0x20 +/* C564DC 8024059C 0C012530 */ jal func_800494C0 +/* C564E0 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* C564E4 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* C564E8 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* C564EC 802405AC 30420001 */ andi $v0, $v0, 1 +/* C564F0 802405B0 14400029 */ bnez $v0, .L80240658 +/* C564F4 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* C564F8 802405B8 08090196 */ j .L80240658 +/* C564FC 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* C56500 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* C56504 802405C4 14400025 */ bnez $v0, .L8024065C +/* C56508 802405C8 00000000 */ nop +/* C5650C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* C56510 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* C56514 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* C56518 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* C5651C 802405DC 1440001F */ bnez $v0, .L8024065C +/* C56520 802405E0 00000000 */ nop +/* C56524 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* C56528 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* C5652C 802405EC 10400019 */ beqz $v0, .L80240654 +/* C56530 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* C56534 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* C56538 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* C5653C 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* C56540 80240600 14400007 */ bnez $v0, .L80240620 +/* C56544 80240604 00000000 */ nop +/* C56548 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* C5654C 8024060C 3C014334 */ lui $at, 0x4334 +/* C56550 80240610 44816000 */ mtc1 $at, $f12 +/* C56554 80240614 0C00A6C9 */ jal clamp_angle +/* C56558 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* C5655C 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* C56560 80240620 8E440008 */ lw $a0, 8($s2) +/* C56564 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* C56568 80240628 00822021 */ addu $a0, $a0, $v0 +/* C5656C 8024062C 00042043 */ sra $a0, $a0, 1 +/* C56570 80240630 0C00A67F */ jal rand_int +/* C56574 80240634 24840001 */ addiu $a0, $a0, 1 +/* C56578 80240638 8E430008 */ lw $v1, 8($s2) +/* C5657C 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* C56580 80240640 00641821 */ addu $v1, $v1, $a0 +/* C56584 80240644 00031843 */ sra $v1, $v1, 1 +/* C56588 80240648 00621821 */ addu $v1, $v1, $v0 +/* C5658C 8024064C 08090197 */ j .L8024065C +/* C56590 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* C56594 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* C56598 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* C5659C 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* C565A0 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* C565A4 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* C565A8 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* C565AC 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* C565B0 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* C565B4 80240674 03E00008 */ jr $ra +/* C565B8 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_8024067C_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024067C_C55F40.s new file mode 100644 index 0000000000..2ac543d912 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024067C_C55F40.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_C565BC +/* C565BC 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C565C0 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* C565C4 80240684 0080882D */ daddu $s1, $a0, $zero +/* C565C8 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* C565CC 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* C565D0 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* C565D4 80240694 8E300148 */ lw $s0, 0x148($s1) +/* C565D8 80240698 86040008 */ lh $a0, 8($s0) +/* C565DC 8024069C 0C00EABB */ jal get_npc_unsafe +/* C565E0 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* C565E4 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* C565E8 802406A8 24630001 */ addiu $v1, $v1, 1 +/* C565EC 802406AC AE230078 */ sw $v1, 0x78($s1) +/* C565F0 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* C565F4 802406B4 8C840000 */ lw $a0, ($a0) +/* C565F8 802406B8 0064182A */ slt $v1, $v1, $a0 +/* C565FC 802406BC 14600002 */ bnez $v1, .L802406C8 +/* C56600 802406C0 0040282D */ daddu $a1, $v0, $zero +/* C56604 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* C56608 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* C5660C 802406CC 8C420004 */ lw $v0, 4($v0) +/* C56610 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* C56614 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* C56618 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* C5661C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* C56620 802406E0 00000000 */ nop +/* C56624 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* C56628 802406E8 080901C4 */ j .L80240710 +/* C5662C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* C56630 802406F0 3C018024 */ lui $at, 0x8024 +/* C56634 802406F4 D42238E8 */ ldc1 $f2, 0x38e8($at) +/* C56638 802406F8 44820000 */ mtc1 $v0, $f0 +/* C5663C 802406FC 00000000 */ nop +/* C56640 80240700 46800021 */ cvt.d.w $f0, $f0 +/* C56644 80240704 46220003 */ div.d $f0, $f0, $f2 +/* C56648 80240708 46200020 */ cvt.s.d $f0, $f0 +/* C5664C 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* C56650 80240710 24020001 */ addiu $v0, $zero, 1 +/* C56654 80240714 AE220070 */ sw $v0, 0x70($s1) +/* C56658 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* C5665C 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* C56660 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* C56664 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* C56668 80240728 03E00008 */ jr $ra +/* C5666C 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240730_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240730_C55F40.s new file mode 100644 index 0000000000..26d8f8c2b9 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240730_C55F40.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_C56670 +/* C56670 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C56674 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* C56678 80240738 0080882D */ daddu $s1, $a0, $zero +/* C5667C 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* C56680 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* C56684 80240744 8E300148 */ lw $s0, 0x148($s1) +/* C56688 80240748 0C00EABB */ jal get_npc_unsafe +/* C5668C 8024074C 86040008 */ lh $a0, 8($s0) +/* C56690 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* C56694 80240754 3C014120 */ lui $at, 0x4120 +/* C56698 80240758 44812000 */ mtc1 $at, $f4 +/* C5669C 8024075C 3C014000 */ lui $at, 0x4000 +/* C566A0 80240760 44810000 */ mtc1 $at, $f0 +/* C566A4 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* C566A8 80240768 8C640010 */ lw $a0, 0x10($v1) +/* C566AC 8024076C 8C430000 */ lw $v1, ($v0) +/* C566B0 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* C566B4 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* C566B8 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* C566BC 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* C566C0 80240780 AC430000 */ sw $v1, ($v0) +/* C566C4 80240784 AC440028 */ sw $a0, 0x28($v0) +/* C566C8 80240788 2402000B */ addiu $v0, $zero, 0xb +/* C566CC 8024078C AE220070 */ sw $v0, 0x70($s1) +/* C566D0 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* C566D4 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* C566D8 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* C566DC 8024079C 03E00008 */ jr $ra +/* C566E0 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_802407A4_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_802407A4_C55F40.s new file mode 100644 index 0000000000..9b25ec53dc --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_802407A4_C55F40.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_C566E4 +/* C566E4 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C566E8 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* C566EC 802407AC 0080802D */ daddu $s0, $a0, $zero +/* C566F0 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* C566F4 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* C566F8 802407B8 0C00EABB */ jal get_npc_unsafe +/* C566FC 802407BC 84440008 */ lh $a0, 8($v0) +/* C56700 802407C0 0040202D */ daddu $a0, $v0, $zero +/* C56704 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* C56708 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* C5670C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* C56710 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* C56714 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* C56718 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* C5671C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* C56720 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* C56724 802407E4 45010009 */ bc1t .L8024080C +/* C56728 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* C5672C 802407EC 8C820000 */ lw $v0, ($a0) +/* C56730 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* C56734 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* C56738 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* C5673C 802407FC 00431024 */ and $v0, $v0, $v1 +/* C56740 80240800 AC820000 */ sw $v0, ($a0) +/* C56744 80240804 2402000C */ addiu $v0, $zero, 0xc +/* C56748 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* C5674C 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* C56750 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* C56754 80240814 03E00008 */ jr $ra +/* C56758 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_8024081C_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024081C_C55F40.s new file mode 100644 index 0000000000..55115fedee --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024081C_C55F40.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_C5675C +/* C5675C 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C56760 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* C56764 80240824 0080982D */ daddu $s3, $a0, $zero +/* C56768 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* C5676C 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* C56770 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* C56774 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* C56778 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C5677C 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* C56780 80240840 86240008 */ lh $a0, 8($s1) +/* C56784 80240844 0C00EABB */ jal get_npc_unsafe +/* C56788 80240848 00A0802D */ daddu $s0, $a1, $zero +/* C5678C 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* C56790 80240850 0040902D */ daddu $s2, $v0, $zero +/* C56794 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* C56798 80240858 00832021 */ addu $a0, $a0, $v1 +/* C5679C 8024085C 00042043 */ sra $a0, $a0, 1 +/* C567A0 80240860 0C00A67F */ jal rand_int +/* C567A4 80240864 24840001 */ addiu $a0, $a0, 1 +/* C567A8 80240868 8E030020 */ lw $v1, 0x20($s0) +/* C567AC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* C567B0 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* C567B4 80240874 00641821 */ addu $v1, $v1, $a0 +/* C567B8 80240878 00031843 */ sra $v1, $v1, 1 +/* C567BC 8024087C 00621821 */ addu $v1, $v1, $v0 +/* C567C0 80240880 A643008E */ sh $v1, 0x8e($s2) +/* C567C4 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* C567C8 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C567CC 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* C567D0 80240890 AE420028 */ sw $v0, 0x28($s2) +/* C567D4 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* C567D8 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C567DC 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C567E0 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* C567E4 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* C567E8 802408A8 0C00A720 */ jal atan2 +/* C567EC 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* C567F0 802408B0 46000506 */ mov.s $f20, $f0 +/* C567F4 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* C567F8 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* C567FC 802408BC 4600A386 */ mov.s $f14, $f20 +/* C56800 802408C0 46000086 */ mov.s $f2, $f0 +/* C56804 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* C56808 802408C8 46001005 */ abs.s $f0, $f2 +/* C5680C 802408CC 44822000 */ mtc1 $v0, $f4 +/* C56810 802408D0 00000000 */ nop +/* C56814 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* C56818 802408D8 4600203C */ c.lt.s $f4, $f0 +/* C5681C 802408DC 00000000 */ nop +/* C56820 802408E0 4500000D */ bc1f .L80240918 +/* C56824 802408E4 00000000 */ nop +/* C56828 802408E8 44800000 */ mtc1 $zero, $f0 +/* C5682C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* C56830 802408F0 4600103C */ c.lt.s $f2, $f0 +/* C56834 802408F4 00000000 */ nop +/* C56838 802408F8 45000006 */ bc1f .L80240914 +/* C5683C 802408FC 00021023 */ negu $v0, $v0 +/* C56840 80240900 44820000 */ mtc1 $v0, $f0 +/* C56844 80240904 00000000 */ nop +/* C56848 80240908 46800020 */ cvt.s.w $f0, $f0 +/* C5684C 8024090C 08090246 */ j .L80240918 +/* C56850 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* C56854 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* C56858 80240918 0C00A6C9 */ jal clamp_angle +/* C5685C 8024091C 4600A306 */ mov.s $f12, $f20 +/* C56860 80240920 2402000D */ addiu $v0, $zero, 0xd +/* C56864 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* C56868 80240928 AE620070 */ sw $v0, 0x70($s3) +/* C5686C 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* C56870 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* C56874 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* C56878 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* C5687C 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* C56880 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C56884 80240944 03E00008 */ jr $ra +/* C56888 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_8024094C_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024094C_C55F40.s new file mode 100644 index 0000000000..529ba84707 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_8024094C_C55F40.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_C5688C +/* C5688C 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C56890 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* C56894 80240954 0080982D */ daddu $s3, $a0, $zero +/* C56898 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* C5689C 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* C568A0 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* C568A4 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* C568A8 80240968 8E720148 */ lw $s2, 0x148($s3) +/* C568AC 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* C568B0 80240970 86440008 */ lh $a0, 8($s2) +/* C568B4 80240974 0C00EABB */ jal get_npc_unsafe +/* C568B8 80240978 00C0802D */ daddu $s0, $a2, $zero +/* C568BC 8024097C 0200202D */ daddu $a0, $s0, $zero +/* C568C0 80240980 0240282D */ daddu $a1, $s2, $zero +/* C568C4 80240984 24030001 */ addiu $v1, $zero, 1 +/* C568C8 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* C568CC 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* C568D0 80240990 8E270028 */ lw $a3, 0x28($s1) +/* C568D4 80240994 0C01242D */ jal func_800490B4 +/* C568D8 80240998 0040802D */ daddu $s0, $v0, $zero +/* C568DC 8024099C 1440001E */ bnez $v0, .L80240A18 +/* C568E0 802409A0 0200202D */ daddu $a0, $s0, $zero +/* C568E4 802409A4 24040002 */ addiu $a0, $zero, 2 +/* C568E8 802409A8 0200282D */ daddu $a1, $s0, $zero +/* C568EC 802409AC 0000302D */ daddu $a2, $zero, $zero +/* C568F0 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* C568F4 802409B4 3C013F80 */ lui $at, 0x3f80 +/* C568F8 802409B8 44810000 */ mtc1 $at, $f0 +/* C568FC 802409BC 3C014000 */ lui $at, 0x4000 +/* C56900 802409C0 44811000 */ mtc1 $at, $f2 +/* C56904 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* C56908 802409C8 44812000 */ mtc1 $at, $f4 +/* C5690C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* C56910 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* C56914 802409D4 44833000 */ mtc1 $v1, $f6 +/* C56918 802409D8 00000000 */ nop +/* C5691C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* C56920 802409E0 44073000 */ mfc1 $a3, $f6 +/* C56924 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* C56928 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* C5692C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* C56930 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C56934 802409F4 0C01BFA4 */ jal fx_emote +/* C56938 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C5693C 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* C56940 80240A00 8C430000 */ lw $v1, ($v0) +/* C56944 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* C56948 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* C5694C 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* C56950 80240A10 08090293 */ j .L80240A4C +/* C56954 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* C56958 80240A18 0C00F598 */ jal func_8003D660 +/* C5695C 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* C56960 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* C56964 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* C56968 80240A28 0C00EA95 */ jal npc_move_heading +/* C5696C 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* C56970 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* C56974 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* C56978 80240A38 18400003 */ blez $v0, .L80240A48 +/* C5697C 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* C56980 80240A40 08090294 */ j .L80240A50 +/* C56984 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* C56988 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* C5698C 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* C56990 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* C56994 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* C56998 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* C5699C 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* C569A0 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* C569A4 80240A64 03E00008 */ jr $ra +/* C569A8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240A6C_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240A6C_C55F40.s new file mode 100644 index 0000000000..30dd6eb008 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240A6C_C55F40.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_C569AC +/* C569AC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C569B0 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* C569B4 80240A74 0080882D */ daddu $s1, $a0, $zero +/* C569B8 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* C569BC 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* C569C0 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* C569C4 80240A84 0C00EABB */ jal get_npc_unsafe +/* C569C8 80240A88 86040008 */ lh $a0, 8($s0) +/* C569CC 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* C569D0 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* C569D4 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* C569D8 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* C569DC 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* C569E0 80240AA0 00000000 */ nop +/* C569E4 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* C569E8 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* C569EC 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* C569F0 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* C569F4 80240AB4 080902B0 */ j .L80240AC0 +/* C569F8 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* C569FC 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* C56A00 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* C56A04 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* C56A08 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* C56A0C 80240ACC 03E00008 */ jr $ra +/* C56A10 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240AD4_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240AD4_C55F40.s new file mode 100644 index 0000000000..7ca7f0d074 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240AD4_C55F40.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_C56A14 +/* C56A14 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C56A18 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* C56A1C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* C56A20 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* C56A24 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* C56A28 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* C56A2C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* C56A30 80240AF0 86040008 */ lh $a0, 8($s0) +/* C56A34 80240AF4 0C00EABB */ jal get_npc_unsafe +/* C56A38 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* C56A3C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* C56A40 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* C56A44 80240B04 8C630000 */ lw $v1, ($v1) +/* C56A48 80240B08 0083182A */ slt $v1, $a0, $v1 +/* C56A4C 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* C56A50 80240B10 0040302D */ daddu $a2, $v0, $zero +/* C56A54 80240B14 00041040 */ sll $v0, $a0, 1 +/* C56A58 80240B18 00441021 */ addu $v0, $v0, $a0 +/* C56A5C 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* C56A60 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* C56A64 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C56A68 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* C56A6C 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* C56A70 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* C56A74 80240B34 4602003E */ c.le.s $f0, $f2 +/* C56A78 80240B38 00000000 */ nop +/* C56A7C 80240B3C 45020003 */ bc1fl .L80240B4C +/* C56A80 80240B40 24840001 */ addiu $a0, $a0, 1 +/* C56A84 80240B44 080902D7 */ j .L80240B5C +/* C56A88 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* C56A8C 80240B4C 8C620000 */ lw $v0, ($v1) +/* C56A90 80240B50 0082102A */ slt $v0, $a0, $v0 +/* C56A94 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* C56A98 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* C56A9C 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* C56AA0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* C56AA4 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* C56AA8 80240B68 8C420004 */ lw $v0, 4($v0) +/* C56AAC 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* C56AB0 80240B70 24020001 */ addiu $v0, $zero, 1 +/* C56AB4 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* C56AB8 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* C56ABC 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* C56AC0 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* C56AC4 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* C56AC8 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* C56ACC 80240B8C 03E00008 */ jr $ra +/* C56AD0 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240B94_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240B94_C55F40.s new file mode 100644 index 0000000000..a9965d9d70 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240B94_C55F40.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_C56AD4 +/* C56AD4 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C56AD8 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* C56ADC 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* C56AE0 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* C56AE4 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* C56AE8 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* C56AEC 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* C56AF0 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* C56AF4 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* C56AF8 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* C56AFC 80240BBC 86240008 */ lh $a0, 8($s1) +/* C56B00 80240BC0 0C00EABB */ jal get_npc_unsafe +/* C56B04 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* C56B08 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* C56B0C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* C56B10 80240BD0 8C650000 */ lw $a1, ($v1) +/* C56B14 80240BD4 0C0B1EAF */ jal get_variable +/* C56B18 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* C56B1C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* C56B20 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C56B24 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* C56B28 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* C56B2C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C56B30 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* C56B34 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* C56B38 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C56B3C 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* C56B40 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* C56B44 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* C56B48 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* C56B4C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* C56B50 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* C56B54 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* C56B58 80240C18 3C014282 */ lui $at, 0x4282 +/* C56B5C 80240C1C 44810000 */ mtc1 $at, $f0 +/* C56B60 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* C56B64 80240C24 0040982D */ daddu $s3, $v0, $zero +/* C56B68 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* C56B6C 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* C56B70 80240C30 16000005 */ bnez $s0, .L80240C48 +/* C56B74 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* C56B78 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* C56B7C 80240C3C 30420004 */ andi $v0, $v0, 4 +/* C56B80 80240C40 10400044 */ beqz $v0, .L80240D54 +/* C56B84 80240C44 00000000 */ nop +.L80240C48: +/* C56B88 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* C56B8C 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* C56B90 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* C56B94 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* C56B98 80240C58 8E430000 */ lw $v1, ($s2) +/* C56B9C 80240C5C 8C420000 */ lw $v0, ($v0) +/* C56BA0 80240C60 00641824 */ and $v1, $v1, $a0 +/* C56BA4 80240C64 AE430000 */ sw $v1, ($s2) +/* C56BA8 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* C56BAC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C56BB0 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* C56BB4 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* C56BB8 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* C56BBC 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* C56BC0 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* C56BC4 80240C84 08090325 */ j .L80240C94 +/* C56BC8 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* C56BCC 80240C8C 00621024 */ and $v0, $v1, $v0 +/* C56BD0 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* C56BD4 80240C94 AE420000 */ sw $v0, ($s2) +/* C56BD8 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* C56BDC 80240C9C 30420004 */ andi $v0, $v0, 4 +/* C56BE0 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* C56BE4 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* C56BE8 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* C56BEC 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* C56BF0 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C56BF4 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* C56BF8 80240CB8 00431024 */ and $v0, $v0, $v1 +/* C56BFC 80240CBC 0809033C */ j .L80240CF0 +/* C56C00 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* C56C04 80240CC4 8E220000 */ lw $v0, ($s1) +/* C56C08 80240CC8 3C034000 */ lui $v1, 0x4000 +/* C56C0C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* C56C10 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* C56C14 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* C56C18 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* C56C1C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* C56C20 80240CE0 8E220000 */ lw $v0, ($s1) +/* C56C24 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* C56C28 80240CE8 00431024 */ and $v0, $v0, $v1 +/* C56C2C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* C56C30 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* C56C34 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* C56C38 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* C56C3C 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* C56C40 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* C56C44 80240D04 44812000 */ mtc1 $at, $f4 +/* C56C48 80240D08 44823000 */ mtc1 $v0, $f6 +/* C56C4C 80240D0C 00000000 */ nop +/* C56C50 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* C56C54 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* C56C58 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* C56C5C 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* C56C60 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* C56C64 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* C56C68 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* C56C6C 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* C56C70 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* C56C74 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* C56C78 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* C56C7C 80240D3C 0C0372DF */ jal func_800DCB7C +/* C56C80 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* C56C84 80240D44 10400003 */ beqz $v0, .L80240D54 +/* C56C88 80240D48 00000000 */ nop +/* C56C8C 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C56C90 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* C56C94 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* C56C98 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* C56C9C 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* C56CA0 80240D60 00031080 */ sll $v0, $v1, 2 +/* C56CA4 80240D64 3C018024 */ lui $at, 0x8024 +/* C56CA8 80240D68 00220821 */ addu $at, $at, $v0 +/* C56CAC 80240D6C 8C2238F0 */ lw $v0, 0x38f0($at) +/* C56CB0 80240D70 00400008 */ jr $v0 +/* C56CB4 80240D74 00000000 */ nop +/* C56CB8 80240D78 0280202D */ daddu $a0, $s4, $zero +/* C56CBC 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* C56CC0 80240D80 0C090000 */ jal func_80240000 +/* C56CC4 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* C56CC8 80240D88 0280202D */ daddu $a0, $s4, $zero +/* C56CCC 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* C56CD0 80240D90 0C090056 */ jal func_80240158 +/* C56CD4 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* C56CD8 80240D98 0809039A */ j .L80240E68 +/* C56CDC 80240D9C 00000000 */ nop +/* C56CE0 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* C56CE4 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* C56CE8 80240DA8 0C090100 */ jal func_80240400 +/* C56CEC 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* C56CF0 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* C56CF4 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* C56CF8 80240DB8 0C090130 */ jal func_802404C0 +/* C56CFC 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* C56D00 80240DC0 0809039A */ j .L80240E68 +/* C56D04 80240DC4 00000000 */ nop +/* C56D08 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* C56D0C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* C56D10 80240DD0 0C09019F */ jal func_8024067C +/* C56D14 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* C56D18 80240DD8 0809039A */ j .L80240E68 +/* C56D1C 80240DDC 00000000 */ nop +/* C56D20 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* C56D24 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* C56D28 80240DE8 0C0901CC */ jal func_80240730 +/* C56D2C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* C56D30 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* C56D34 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* C56D38 80240DF8 0C0901E9 */ jal func_802407A4 +/* C56D3C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* C56D40 80240E00 0809039A */ j .L80240E68 +/* C56D44 80240E04 00000000 */ nop +/* C56D48 80240E08 0280202D */ daddu $a0, $s4, $zero +/* C56D4C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* C56D50 80240E10 0C090207 */ jal func_8024081C +/* C56D54 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* C56D58 80240E18 0280202D */ daddu $a0, $s4, $zero +/* C56D5C 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* C56D60 80240E20 0C090253 */ jal func_8024094C +/* C56D64 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* C56D68 80240E28 0809039A */ j .L80240E68 +/* C56D6C 80240E2C 00000000 */ nop +/* C56D70 80240E30 0280202D */ daddu $a0, $s4, $zero +/* C56D74 80240E34 0260282D */ daddu $a1, $s3, $zero +/* C56D78 80240E38 0C09029B */ jal func_80240A6C +/* C56D7C 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* C56D80 80240E40 0809039A */ j .L80240E68 +/* C56D84 80240E44 00000000 */ nop +/* C56D88 80240E48 0280202D */ daddu $a0, $s4, $zero +/* C56D8C 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* C56D90 80240E50 0C0902B5 */ jal func_80240AD4 +/* C56D94 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* C56D98 80240E58 0809039A */ j .L80240E68 +/* C56D9C 80240E5C 00000000 */ nop +/* C56DA0 80240E60 0C0129CF */ jal func_8004A73C +/* C56DA4 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* C56DA8 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* C56DAC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* C56DB0 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* C56DB4 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* C56DB8 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* C56DBC 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* C56DC0 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* C56DC4 80240E84 0000102D */ daddu $v0, $zero, $zero +/* C56DC8 80240E88 03E00008 */ jr $ra +/* C56DCC 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240E90_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240E90_C55F40.s new file mode 100644 index 0000000000..4c68fcda40 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240E90_C55F40.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_C56DD0 +/* C56DD0 80240E90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C56DD4 80240E94 AFBF0010 */ sw $ra, 0x10($sp) +/* C56DD8 80240E98 0C03A6D5 */ jal increment_status_menu_disabled +/* C56DDC 80240E9C 00000000 */ nop +/* C56DE0 80240EA0 3C05437F */ lui $a1, 0x437f +/* C56DE4 80240EA4 0C04DF69 */ jal func_80137DA4 +/* C56DE8 80240EA8 0000202D */ daddu $a0, $zero, $zero +/* C56DEC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* C56DF0 80240EB0 24020002 */ addiu $v0, $zero, 2 +/* C56DF4 80240EB4 03E00008 */ jr $ra +/* C56DF8 80240EB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240EBC_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240EBC_C55F40.s new file mode 100644 index 0000000000..7df4bc968f --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240EBC_C55F40.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EBC_C56DFC +/* C56DFC 80240EBC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C56E00 80240EC0 AFB3001C */ sw $s3, 0x1c($sp) +/* C56E04 80240EC4 0080982D */ daddu $s3, $a0, $zero +/* C56E08 80240EC8 AFB00010 */ sw $s0, 0x10($sp) +/* C56E0C 80240ECC 00A0802D */ daddu $s0, $a1, $zero +/* C56E10 80240ED0 0000202D */ daddu $a0, $zero, $zero +/* C56E14 80240ED4 AFBF0024 */ sw $ra, 0x24($sp) +/* C56E18 80240ED8 AFB40020 */ sw $s4, 0x20($sp) +/* C56E1C 80240EDC AFB20018 */ sw $s2, 0x18($sp) +/* C56E20 80240EE0 0C00EABB */ jal get_npc_unsafe +/* C56E24 80240EE4 AFB10014 */ sw $s1, 0x14($sp) +/* C56E28 80240EE8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C56E2C 80240EEC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C56E30 80240EF0 0240A02D */ daddu $s4, $s2, $zero +/* C56E34 80240EF4 1200000E */ beqz $s0, .L80240F30 +/* C56E38 80240EF8 0040882D */ daddu $s1, $v0, $zero +/* C56E3C 80240EFC 3C01406C */ lui $at, 0x406c +/* C56E40 80240F00 3421CCCD */ ori $at, $at, 0xcccd +/* C56E44 80240F04 44810000 */ mtc1 $at, $f0 +/* C56E48 80240F08 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C56E4C 80240F0C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C56E50 80240F10 E6200018 */ swc1 $f0, 0x18($s1) +/* C56E54 80240F14 8E460028 */ lw $a2, 0x28($s2) +/* C56E58 80240F18 0C00A720 */ jal atan2 +/* C56E5C 80240F1C 8E470030 */ lw $a3, 0x30($s2) +/* C56E60 80240F20 2402000F */ addiu $v0, $zero, 0xf +/* C56E64 80240F24 E620000C */ swc1 $f0, 0xc($s1) +/* C56E68 80240F28 AE600074 */ sw $zero, 0x74($s3) +/* C56E6C 80240F2C A622008E */ sh $v0, 0x8e($s1) +.L80240F30: +/* C56E70 80240F30 8E620074 */ lw $v0, 0x74($s3) +/* C56E74 80240F34 1440000F */ bnez $v0, .L80240F74 +/* C56E78 80240F38 00000000 */ nop +/* C56E7C 80240F3C 8622008E */ lh $v0, 0x8e($s1) +/* C56E80 80240F40 14400009 */ bnez $v0, .L80240F68 +/* C56E84 80240F44 00000000 */ nop +/* C56E88 80240F48 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C56E8C 80240F4C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C56E90 80240F50 8E860028 */ lw $a2, 0x28($s4) +/* C56E94 80240F54 0C00A720 */ jal atan2 +/* C56E98 80240F58 8E870030 */ lw $a3, 0x30($s4) +/* C56E9C 80240F5C 2402000F */ addiu $v0, $zero, 0xf +/* C56EA0 80240F60 E620000C */ swc1 $f0, 0xc($s1) +/* C56EA4 80240F64 A622008E */ sh $v0, 0x8e($s1) +.L80240F68: +/* C56EA8 80240F68 9622008E */ lhu $v0, 0x8e($s1) +/* C56EAC 80240F6C 2442FFFF */ addiu $v0, $v0, -1 +/* C56EB0 80240F70 A622008E */ sh $v0, 0x8e($s1) +.L80240F74: +/* C56EB4 80240F74 8E26000C */ lw $a2, 0xc($s1) +/* C56EB8 80240F78 8E250018 */ lw $a1, 0x18($s1) +/* C56EBC 80240F7C 0C00EA95 */ jal npc_move_heading +/* C56EC0 80240F80 0220202D */ daddu $a0, $s1, $zero +/* C56EC4 80240F84 8FBF0024 */ lw $ra, 0x24($sp) +/* C56EC8 80240F88 8FB40020 */ lw $s4, 0x20($sp) +/* C56ECC 80240F8C 8FB3001C */ lw $s3, 0x1c($sp) +/* C56ED0 80240F90 8FB20018 */ lw $s2, 0x18($sp) +/* C56ED4 80240F94 8FB10014 */ lw $s1, 0x14($sp) +/* C56ED8 80240F98 8FB00010 */ lw $s0, 0x10($sp) +/* C56EDC 80240F9C 0000102D */ daddu $v0, $zero, $zero +/* C56EE0 80240FA0 03E00008 */ jr $ra +/* C56EE4 80240FA4 27BD0028 */ addiu $sp, $sp, 0x28 +/* C56EE8 80240FA8 00000000 */ nop +/* C56EEC 80240FAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80240FB0_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240FB0_C55F40.s new file mode 100644 index 0000000000..3cc00b4104 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80240FB0_C55F40.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB0_C56EF0 +/* C56EF0 80240FB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C56EF4 80240FB4 AFB00010 */ sw $s0, 0x10($sp) +/* C56EF8 80240FB8 3C108024 */ lui $s0, 0x8024 +/* C56EFC 80240FBC 261036E0 */ addiu $s0, $s0, 0x36e0 +/* C56F00 80240FC0 AFBF0018 */ sw $ra, 0x18($sp) +/* C56F04 80240FC4 AFB10014 */ sw $s1, 0x14($sp) +/* C56F08 80240FC8 8E020000 */ lw $v0, ($s0) +/* C56F0C 80240FCC 14400010 */ bnez $v0, .L80241010 +/* C56F10 80240FD0 0080882D */ daddu $s1, $a0, $zero +/* C56F14 80240FD4 0C00AB39 */ jal heap_malloc +/* C56F18 80240FD8 24040040 */ addiu $a0, $zero, 0x40 +/* C56F1C 80240FDC AE020000 */ sw $v0, ($s0) +/* C56F20 80240FE0 0000182D */ daddu $v1, $zero, $zero +/* C56F24 80240FE4 0040282D */ daddu $a1, $v0, $zero +/* C56F28 80240FE8 0220202D */ daddu $a0, $s1, $zero +.L80240FEC: +/* C56F2C 80240FEC 8C820084 */ lw $v0, 0x84($a0) +/* C56F30 80240FF0 24840004 */ addiu $a0, $a0, 4 +/* C56F34 80240FF4 24630001 */ addiu $v1, $v1, 1 +/* C56F38 80240FF8 ACA20000 */ sw $v0, ($a1) +/* C56F3C 80240FFC 28620010 */ slti $v0, $v1, 0x10 +/* C56F40 80241000 1440FFFA */ bnez $v0, .L80240FEC +/* C56F44 80241004 24A50004 */ addiu $a1, $a1, 4 +/* C56F48 80241008 08090413 */ j .L8024104C +/* C56F4C 8024100C 00000000 */ nop +.L80241010: +/* C56F50 80241010 0000182D */ daddu $v1, $zero, $zero +/* C56F54 80241014 0040282D */ daddu $a1, $v0, $zero +/* C56F58 80241018 0220202D */ daddu $a0, $s1, $zero +.L8024101C: +/* C56F5C 8024101C 8CA20000 */ lw $v0, ($a1) +/* C56F60 80241020 24A50004 */ addiu $a1, $a1, 4 +/* C56F64 80241024 24630001 */ addiu $v1, $v1, 1 +/* C56F68 80241028 AC820084 */ sw $v0, 0x84($a0) +/* C56F6C 8024102C 28620010 */ slti $v0, $v1, 0x10 +/* C56F70 80241030 1440FFFA */ bnez $v0, .L8024101C +/* C56F74 80241034 24840004 */ addiu $a0, $a0, 4 +/* C56F78 80241038 3C108024 */ lui $s0, 0x8024 +/* C56F7C 8024103C 261036E0 */ addiu $s0, $s0, 0x36e0 +/* C56F80 80241040 0C00AB4B */ jal heap_free +/* C56F84 80241044 8E040000 */ lw $a0, ($s0) +/* C56F88 80241048 AE000000 */ sw $zero, ($s0) +.L8024104C: +/* C56F8C 8024104C 8FBF0018 */ lw $ra, 0x18($sp) +/* C56F90 80241050 8FB10014 */ lw $s1, 0x14($sp) +/* C56F94 80241054 8FB00010 */ lw $s0, 0x10($sp) +/* C56F98 80241058 24020002 */ addiu $v0, $zero, 2 +/* C56F9C 8024105C 03E00008 */ jr $ra +/* C56FA0 80241060 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_80241064_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_80241064_C55F40.s new file mode 100644 index 0000000000..663bf368e2 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_80241064_C55F40.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241064_C56FA4 +/* C56FA4 80241064 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C56FA8 80241068 AFB00010 */ sw $s0, 0x10($sp) +/* C56FAC 8024106C 0080802D */ daddu $s0, $a0, $zero +/* C56FB0 80241070 AFBF0018 */ sw $ra, 0x18($sp) +/* C56FB4 80241074 AFB10014 */ sw $s1, 0x14($sp) +/* C56FB8 80241078 8E02000C */ lw $v0, 0xc($s0) +/* C56FBC 8024107C 8C510000 */ lw $s1, ($v0) +/* C56FC0 80241080 0C0B1EAF */ jal get_variable +/* C56FC4 80241084 0220282D */ daddu $a1, $s1, $zero +/* C56FC8 80241088 3C03FFF0 */ lui $v1, 0xfff0 +/* C56FCC 8024108C 3463FFFF */ ori $v1, $v1, 0xffff +/* C56FD0 80241090 0200202D */ daddu $a0, $s0, $zero +/* C56FD4 80241094 00431024 */ and $v0, $v0, $v1 +/* C56FD8 80241098 00021140 */ sll $v0, $v0, 5 +/* C56FDC 8024109C 3C068008 */ lui $a2, %hi(gItemTable) +/* C56FE0 802410A0 00C23021 */ addu $a2, $a2, $v0 +/* C56FE4 802410A4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C56FE8 802410A8 0C0B2026 */ jal set_variable +/* C56FEC 802410AC 0220282D */ daddu $a1, $s1, $zero +/* C56FF0 802410B0 8FBF0018 */ lw $ra, 0x18($sp) +/* C56FF4 802410B4 8FB10014 */ lw $s1, 0x14($sp) +/* C56FF8 802410B8 8FB00010 */ lw $s0, 0x10($sp) +/* C56FFC 802410BC 24020002 */ addiu $v0, $zero, 2 +/* C57000 802410C0 03E00008 */ jr $ra +/* C57004 802410C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dgb/dgb_18/func_802410C8_C55F40.s b/asm/nonmatchings/world/area_dgb/dgb_18/func_802410C8_C55F40.s new file mode 100644 index 0000000000..d5bac78964 --- /dev/null +++ b/asm/nonmatchings/world/area_dgb/dgb_18/func_802410C8_C55F40.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410C8_C57008 +/* C57008 802410C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5700C 802410CC AFB10014 */ sw $s1, 0x14($sp) +/* C57010 802410D0 0080882D */ daddu $s1, $a0, $zero +/* C57014 802410D4 AFBF001C */ sw $ra, 0x1c($sp) +/* C57018 802410D8 AFB20018 */ sw $s2, 0x18($sp) +/* C5701C 802410DC AFB00010 */ sw $s0, 0x10($sp) +/* C57020 802410E0 8E240084 */ lw $a0, 0x84($s1) +/* C57024 802410E4 0C04C3D6 */ jal get_item_entity +/* C57028 802410E8 00A0802D */ daddu $s0, $a1, $zero +/* C5702C 802410EC 12000005 */ beqz $s0, .L80241104 +/* C57030 802410F0 0040902D */ daddu $s2, $v0, $zero +/* C57034 802410F4 C640000C */ lwc1 $f0, 0xc($s2) +/* C57038 802410F8 AE200074 */ sw $zero, 0x74($s1) +/* C5703C 802410FC AE20007C */ sw $zero, 0x7c($s1) +/* C57040 80241100 E6200078 */ swc1 $f0, 0x78($s1) +.L80241104: +/* C57044 80241104 8E230074 */ lw $v1, 0x74($s1) +/* C57048 80241108 10600005 */ beqz $v1, .L80241120 +/* C5704C 8024110C 24020001 */ addiu $v0, $zero, 1 +/* C57050 80241110 10620024 */ beq $v1, $v0, .L802411A4 +/* C57054 80241114 00000000 */ nop +/* C57058 80241118 0809047F */ j .L802411FC +/* C5705C 8024111C 00000000 */ nop +.L80241120: +/* C57060 80241120 3C013FC9 */ lui $at, 0x3fc9 +/* C57064 80241124 34210FD8 */ ori $at, $at, 0xfd8 +/* C57068 80241128 44810000 */ mtc1 $at, $f0 +/* C5706C 8024112C C62C007C */ lwc1 $f12, 0x7c($s1) +/* C57070 80241130 46806320 */ cvt.s.w $f12, $f12 +/* C57074 80241134 46006302 */ mul.s $f12, $f12, $f0 +/* C57078 80241138 00000000 */ nop +/* C5707C 8024113C 3C0141F0 */ lui $at, 0x41f0 +/* C57080 80241140 44810000 */ mtc1 $at, $f0 +/* C57084 80241144 0C00A874 */ jal cos_rad +/* C57088 80241148 46006303 */ div.s $f12, $f12, $f0 +/* C5708C 8024114C 3C013F80 */ lui $at, 0x3f80 +/* C57090 80241150 44811000 */ mtc1 $at, $f2 +/* C57094 80241154 00000000 */ nop +/* C57098 80241158 46001081 */ sub.s $f2, $f2, $f0 +/* C5709C 8024115C 3C0141A0 */ lui $at, 0x41a0 +/* C570A0 80241160 44810000 */ mtc1 $at, $f0 +/* C570A4 80241164 00000000 */ nop +/* C570A8 80241168 46001082 */ mul.s $f2, $f2, $f0 +/* C570AC 8024116C 00000000 */ nop +/* C570B0 80241170 C6200078 */ lwc1 $f0, 0x78($s1) +/* C570B4 80241174 46020000 */ add.s $f0, $f0, $f2 +/* C570B8 80241178 E640000C */ swc1 $f0, 0xc($s2) +/* C570BC 8024117C 8E23007C */ lw $v1, 0x7c($s1) +/* C570C0 80241180 2402001E */ addiu $v0, $zero, 0x1e +/* C570C4 80241184 14620005 */ bne $v1, $v0, .L8024119C +/* C570C8 80241188 24620001 */ addiu $v0, $v1, 1 +/* C570CC 8024118C 24020001 */ addiu $v0, $zero, 1 +/* C570D0 80241190 AE220074 */ sw $v0, 0x74($s1) +/* C570D4 80241194 0809047F */ j .L802411FC +/* C570D8 80241198 AE20007C */ sw $zero, 0x7c($s1) +.L8024119C: +/* C570DC 8024119C 0809047F */ j .L802411FC +/* C570E0 802411A0 AE22007C */ sw $v0, 0x7c($s1) +.L802411A4: +/* C570E4 802411A4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* C570E8 802411A8 0C00A8D4 */ jal cos_deg +/* C570EC 802411AC 46806320 */ cvt.s.w $f12, $f12 +/* C570F0 802411B0 3C014040 */ lui $at, 0x4040 +/* C570F4 802411B4 44811000 */ mtc1 $at, $f2 +/* C570F8 802411B8 00000000 */ nop +/* C570FC 802411BC 46020002 */ mul.s $f0, $f0, $f2 +/* C57100 802411C0 00000000 */ nop +/* C57104 802411C4 3C014188 */ lui $at, 0x4188 +/* C57108 802411C8 44812000 */ mtc1 $at, $f4 +/* C5710C 802411CC C6220078 */ lwc1 $f2, 0x78($s1) +/* C57110 802411D0 46041080 */ add.s $f2, $f2, $f4 +/* C57114 802411D4 46001080 */ add.s $f2, $f2, $f0 +/* C57118 802411D8 E642000C */ swc1 $f2, 0xc($s2) +/* C5711C 802411DC 8E22007C */ lw $v0, 0x7c($s1) +/* C57120 802411E0 24420009 */ addiu $v0, $v0, 9 +/* C57124 802411E4 44826000 */ mtc1 $v0, $f12 +/* C57128 802411E8 00000000 */ nop +/* C5712C 802411EC 0C00A6C9 */ jal clamp_angle +/* C57130 802411F0 46806320 */ cvt.s.w $f12, $f12 +/* C57134 802411F4 4600018D */ trunc.w.s $f6, $f0 +/* C57138 802411F8 E626007C */ swc1 $f6, 0x7c($s1) +.L802411FC: +/* C5713C 802411FC 8FBF001C */ lw $ra, 0x1c($sp) +/* C57140 80241200 8FB20018 */ lw $s2, 0x18($sp) +/* C57144 80241204 8FB10014 */ lw $s1, 0x14($sp) +/* C57148 80241208 8FB00010 */ lw $s0, 0x10($sp) +/* C5714C 8024120C 0000102D */ daddu $v0, $zero, $zero +/* C57150 80241210 03E00008 */ jr $ra +/* C57154 80241214 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240000_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240000_95B200.s new file mode 100644 index 0000000000..b715a9132d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240000_95B200.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_95B200 +/* 95B200 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 95B204 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 95B208 80240008 8C430004 */ lw $v1, 4($v0) +/* 95B20C 8024000C 3C040010 */ lui $a0, 0x10 +/* 95B210 80240010 00641825 */ or $v1, $v1, $a0 +/* 95B214 80240014 AC430004 */ sw $v1, 4($v0) +/* 95B218 80240018 03E00008 */ jr $ra +/* 95B21C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240020_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240020_95B200.s new file mode 100644 index 0000000000..37de318f0a --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240020_95B200.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_95B220 +/* 95B220 80240020 3C028016 */ lui $v0, 0x8016 +/* 95B224 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 95B228 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 95B22C 8024002C 03E00008 */ jr $ra +/* 95B230 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240034_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240034_95B200.s new file mode 100644 index 0000000000..1db5dc5b8d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240034_95B200.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_95B234 +/* 95B234 80240034 3C038016 */ lui $v1, 0x8016 +/* 95B238 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 95B23C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95B240 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 95B244 80240044 0080802D */ daddu $s0, $a0, $zero +/* 95B248 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 95B24C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 95B250 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 95B254 80240054 24020002 */ addiu $v0, $zero, 2 +/* 95B258 80240058 08090038 */ j .L802400E0 +/* 95B25C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 95B260 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 95B264 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 95B268 80240068 80620040 */ lb $v0, 0x40($v1) +/* 95B26C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 95B270 80240070 04420001 */ bltzl $v0, .L80240078 +/* 95B274 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 95B278 80240078 14400003 */ bnez $v0, .L80240088 +/* 95B27C 8024007C 00000000 */ nop +/* 95B280 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 95B284 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 95B288 80240088 44822000 */ mtc1 $v0, $f4 +/* 95B28C 8024008C 00000000 */ nop +/* 95B290 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 95B294 80240094 44062000 */ mfc1 $a2, $f4 +/* 95B298 80240098 44872000 */ mtc1 $a3, $f4 +/* 95B29C 8024009C 00000000 */ nop +/* 95B2A0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 95B2A4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 95B2A8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 95B2AC 802400AC 0C00A720 */ jal atan2 +/* 95B2B0 802400B0 46006386 */ mov.s $f14, $f12 +/* 95B2B4 802400B4 3C014270 */ lui $at, 0x4270 +/* 95B2B8 802400B8 44811000 */ mtc1 $at, $f2 +/* 95B2BC 802400BC 00000000 */ nop +/* 95B2C0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 95B2C4 802400C4 00000000 */ nop +/* 95B2C8 802400C8 45000004 */ bc1f .L802400DC +/* 95B2CC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 95B2D0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 95B2D4 802400D4 08090038 */ j .L802400E0 +/* 95B2D8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 95B2DC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 95B2E0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 95B2E4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 95B2E8 802400E8 03E00008 */ jr $ra +/* 95B2EC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802400F0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802400F0_95B200.s new file mode 100644 index 0000000000..16a9b9c13f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802400F0_95B200.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_95B2F0 +/* 95B2F0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95B2F4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 95B2F8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 95B2FC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 95B300 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 95B304 80240104 0C016AFA */ jal get_current_map_header +/* 95B308 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 95B30C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 95B310 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 95B314 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95B318 80240118 0C0B1EAF */ jal get_variable +/* 95B31C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 95B320 80240120 0220202D */ daddu $a0, $s1, $zero +/* 95B324 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 95B328 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 95B32C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 95B330 80240130 02031821 */ addu $v1, $s0, $v1 +/* 95B334 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 95B338 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 95B33C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 95B340 80240140 0C0B2026 */ jal set_variable +/* 95B344 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 95B348 80240148 0220202D */ daddu $a0, $s1, $zero +/* 95B34C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 95B350 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 95B354 80240154 02021021 */ addu $v0, $s0, $v0 +/* 95B358 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 95B35C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 95B360 80240160 44061000 */ mfc1 $a2, $f2 +/* 95B364 80240164 0C0B2026 */ jal set_variable +/* 95B368 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 95B36C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 95B370 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 95B374 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 95B378 80240178 02021021 */ addu $v0, $s0, $v0 +/* 95B37C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 95B380 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 95B384 80240184 44061000 */ mfc1 $a2, $f2 +/* 95B388 80240188 0C0B2026 */ jal set_variable +/* 95B38C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 95B390 80240190 0220202D */ daddu $a0, $s1, $zero +/* 95B394 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 95B398 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 95B39C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 95B3A0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 95B3A4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 95B3A8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 95B3AC 802401AC 0C0B2026 */ jal set_variable +/* 95B3B0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 95B3B4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 95B3B8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 95B3BC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 95B3C0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 95B3C4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 95B3C8 802401C8 03E00008 */ jr $ra +/* 95B3CC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802401D0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802401D0_95B200.s new file mode 100644 index 0000000000..91f004377d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802401D0_95B200.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_95B3D0 +/* 95B3D0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 95B3D4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 95B3D8 802401D8 3C014334 */ lui $at, 0x4334 +/* 95B3DC 802401DC 44816000 */ mtc1 $at, $f12 +/* 95B3E0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95B3E4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 95B3E8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 95B3EC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 95B3F0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 95B3F4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 95B3F8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 95B3FC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 95B400 80240200 00431021 */ addu $v0, $v0, $v1 +/* 95B404 80240204 000210C0 */ sll $v0, $v0, 3 +/* 95B408 80240208 3C01800B */ lui $at, 0x800b +/* 95B40C 8024020C 00220821 */ addu $at, $at, $v0 +/* 95B410 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 95B414 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 95B418 80240218 0C00A6C9 */ jal clamp_angle +/* 95B41C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 95B420 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 95B424 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 95B428 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 95B42C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 95B430 80240230 24020002 */ addiu $v0, $zero, 2 +/* 95B434 80240234 03E00008 */ jr $ra +/* 95B438 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024023C_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024023C_95B200.s new file mode 100644 index 0000000000..e2b18efb07 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024023C_95B200.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_95B43C +/* 95B43C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95B440 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 95B444 80240244 0080802D */ daddu $s0, $a0, $zero +/* 95B448 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 95B44C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95B450 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 95B454 80240254 0C0B210B */ jal get_float_variable +/* 95B458 80240258 8C450000 */ lw $a1, ($v0) +/* 95B45C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 95B460 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 95B464 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 95B468 80240268 44060000 */ mfc1 $a2, $f0 +/* 95B46C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 95B470 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 95B474 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95B478 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 95B47C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 95B480 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 95B484 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 95B488 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 95B48C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 95B490 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 95B494 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 95B498 80240298 0C0B2190 */ jal set_float_variable +/* 95B49C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95B4A0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 95B4A4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 95B4A8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 95B4AC 802402AC 0C0B2190 */ jal set_float_variable +/* 95B4B0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 95B4B4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 95B4B8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 95B4BC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 95B4C0 802402C0 0C0B2190 */ jal set_float_variable +/* 95B4C4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 95B4C8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 95B4CC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 95B4D0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95B4D4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 95B4D8 802402D8 03E00008 */ jr $ra +/* 95B4DC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802402E0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802402E0_95B200.s new file mode 100644 index 0000000000..a7ea913395 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802402E0_95B200.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_95B4E0 +/* 95B4E0 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95B4E4 802402E4 AFB10014 */ sw $s1, 0x14($sp) +/* 95B4E8 802402E8 0080882D */ daddu $s1, $a0, $zero +/* 95B4EC 802402EC AFBF001C */ sw $ra, 0x1c($sp) +/* 95B4F0 802402F0 AFB20018 */ sw $s2, 0x18($sp) +/* 95B4F4 802402F4 AFB00010 */ sw $s0, 0x10($sp) +/* 95B4F8 802402F8 8E30000C */ lw $s0, 0xc($s1) +/* 95B4FC 802402FC 8E050000 */ lw $a1, ($s0) +/* 95B500 80240300 0C0B1EAF */ jal get_variable +/* 95B504 80240304 26100004 */ addiu $s0, $s0, 4 +/* 95B508 80240308 8E050000 */ lw $a1, ($s0) +/* 95B50C 8024030C 26100004 */ addiu $s0, $s0, 4 +/* 95B510 80240310 0220202D */ daddu $a0, $s1, $zero +/* 95B514 80240314 0C0B1EAF */ jal get_variable +/* 95B518 80240318 0040902D */ daddu $s2, $v0, $zero +/* 95B51C 8024031C 0220202D */ daddu $a0, $s1, $zero +/* 95B520 80240320 8E050000 */ lw $a1, ($s0) +/* 95B524 80240324 0C0B1EAF */ jal get_variable +/* 95B528 80240328 0040802D */ daddu $s0, $v0, $zero +/* 95B52C 8024032C 0040882D */ daddu $s1, $v0, $zero +/* 95B530 80240330 2402FFFF */ addiu $v0, $zero, -1 +/* 95B534 80240334 16020005 */ bne $s0, $v0, .L8024034C +/* 95B538 80240338 24020001 */ addiu $v0, $zero, 1 +/* 95B53C 8024033C 0C04760B */ jal func_8011D82C +/* 95B540 80240340 0220202D */ daddu $a0, $s1, $zero +/* 95B544 80240344 080900FB */ j .L802403EC +/* 95B548 80240348 24020002 */ addiu $v0, $zero, 2 +.L8024034C: +/* 95B54C 8024034C 12420018 */ beq $s2, $v0, .L802403B0 +/* 95B550 80240350 2A420002 */ slti $v0, $s2, 2 +/* 95B554 80240354 10400005 */ beqz $v0, .L8024036C +/* 95B558 80240358 24020002 */ addiu $v0, $zero, 2 +/* 95B55C 8024035C 12400007 */ beqz $s2, .L8024037C +/* 95B560 80240360 3412FFFF */ ori $s2, $zero, 0xffff +/* 95B564 80240364 080900FB */ j .L802403EC +/* 95B568 80240368 00000000 */ nop +.L8024036C: +/* 95B56C 8024036C 1242001B */ beq $s2, $v0, .L802403DC +/* 95B570 80240370 24020002 */ addiu $v0, $zero, 2 +/* 95B574 80240374 080900FB */ j .L802403EC +/* 95B578 80240378 00000000 */ nop +.L8024037C: +/* 95B57C 8024037C 8E040000 */ lw $a0, ($s0) +/* 95B580 80240380 1092001A */ beq $a0, $s2, .L802403EC +/* 95B584 80240384 24020002 */ addiu $v0, $zero, 2 +/* 95B588 80240388 0C046C04 */ jal get_model_list_index_from_tree_index +/* 95B58C 8024038C 26100004 */ addiu $s0, $s0, 4 +/* 95B590 80240390 0C046B4C */ jal get_model_from_list_index +/* 95B594 80240394 0040202D */ daddu $a0, $v0, $zero +/* 95B598 80240398 0040202D */ daddu $a0, $v0, $zero +/* 95B59C 8024039C 2405FFFF */ addiu $a1, $zero, -1 +/* 95B5A0 802403A0 0C046F1F */ jal func_8011BC7C +/* 95B5A4 802403A4 0220302D */ daddu $a2, $s1, $zero +/* 95B5A8 802403A8 080900DF */ j .L8024037C +/* 95B5AC 802403AC 00000000 */ nop +.L802403B0: +/* 95B5B0 802403B0 3412FFFF */ ori $s2, $zero, 0xffff +.L802403B4: +/* 95B5B4 802403B4 8E020000 */ lw $v0, ($s0) +/* 95B5B8 802403B8 1052000B */ beq $v0, $s2, .L802403E8 +/* 95B5BC 802403BC 2405FFFF */ addiu $a1, $zero, -1 +/* 95B5C0 802403C0 96040002 */ lhu $a0, 2($s0) +/* 95B5C4 802403C4 0220302D */ daddu $a2, $s1, $zero +/* 95B5C8 802403C8 26100004 */ addiu $s0, $s0, 4 +/* 95B5CC 802403CC 0C046E54 */ jal func_8011B950 +/* 95B5D0 802403D0 0000382D */ daddu $a3, $zero, $zero +/* 95B5D4 802403D4 080900ED */ j .L802403B4 +/* 95B5D8 802403D8 00000000 */ nop +.L802403DC: +/* 95B5DC 802403DC 3C028015 */ lui $v0, 0x8015 +/* 95B5E0 802403E0 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 95B5E4 802403E4 A0510000 */ sb $s1, ($v0) +.L802403E8: +/* 95B5E8 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* 95B5EC 802403EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 95B5F0 802403F0 8FB20018 */ lw $s2, 0x18($sp) +/* 95B5F4 802403F4 8FB10014 */ lw $s1, 0x14($sp) +/* 95B5F8 802403F8 8FB00010 */ lw $s0, 0x10($sp) +/* 95B5FC 802403FC 03E00008 */ jr $ra +/* 95B600 80240400 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240404_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240404_95B200.s new file mode 100644 index 0000000000..252440ab76 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240404_95B200.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_95B604 +/* 95B604 80240404 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 95B608 80240408 AFB10034 */ sw $s1, 0x34($sp) +/* 95B60C 8024040C 0080882D */ daddu $s1, $a0, $zero +/* 95B610 80240410 AFBF0054 */ sw $ra, 0x54($sp) +/* 95B614 80240414 AFBE0050 */ sw $fp, 0x50($sp) +/* 95B618 80240418 AFB7004C */ sw $s7, 0x4c($sp) +/* 95B61C 8024041C AFB60048 */ sw $s6, 0x48($sp) +/* 95B620 80240420 AFB50044 */ sw $s5, 0x44($sp) +/* 95B624 80240424 AFB40040 */ sw $s4, 0x40($sp) +/* 95B628 80240428 AFB3003C */ sw $s3, 0x3c($sp) +/* 95B62C 8024042C AFB20038 */ sw $s2, 0x38($sp) +/* 95B630 80240430 AFB00030 */ sw $s0, 0x30($sp) +/* 95B634 80240434 8E30000C */ lw $s0, 0xc($s1) +/* 95B638 80240438 8E050000 */ lw $a1, ($s0) +/* 95B63C 8024043C 0C0B1EAF */ jal get_variable +/* 95B640 80240440 26100004 */ addiu $s0, $s0, 4 +/* 95B644 80240444 8E050000 */ lw $a1, ($s0) +/* 95B648 80240448 26100004 */ addiu $s0, $s0, 4 +/* 95B64C 8024044C 0220202D */ daddu $a0, $s1, $zero +/* 95B650 80240450 0C0B1EAF */ jal get_variable +/* 95B654 80240454 0040982D */ daddu $s3, $v0, $zero +/* 95B658 80240458 8E050000 */ lw $a1, ($s0) +/* 95B65C 8024045C 26100004 */ addiu $s0, $s0, 4 +/* 95B660 80240460 0220202D */ daddu $a0, $s1, $zero +/* 95B664 80240464 0C0B1EAF */ jal get_variable +/* 95B668 80240468 0040B02D */ daddu $s6, $v0, $zero +/* 95B66C 8024046C 8E050000 */ lw $a1, ($s0) +/* 95B670 80240470 26100004 */ addiu $s0, $s0, 4 +/* 95B674 80240474 0220202D */ daddu $a0, $s1, $zero +/* 95B678 80240478 0C0B1EAF */ jal get_variable +/* 95B67C 8024047C 0040A82D */ daddu $s5, $v0, $zero +/* 95B680 80240480 8E050000 */ lw $a1, ($s0) +/* 95B684 80240484 26100004 */ addiu $s0, $s0, 4 +/* 95B688 80240488 0220202D */ daddu $a0, $s1, $zero +/* 95B68C 8024048C 0C0B1EAF */ jal get_variable +/* 95B690 80240490 0040A02D */ daddu $s4, $v0, $zero +/* 95B694 80240494 8E050000 */ lw $a1, ($s0) +/* 95B698 80240498 26100004 */ addiu $s0, $s0, 4 +/* 95B69C 8024049C 0220202D */ daddu $a0, $s1, $zero +/* 95B6A0 802404A0 0C0B1EAF */ jal get_variable +/* 95B6A4 802404A4 0040902D */ daddu $s2, $v0, $zero +/* 95B6A8 802404A8 8E050000 */ lw $a1, ($s0) +/* 95B6AC 802404AC 26100004 */ addiu $s0, $s0, 4 +/* 95B6B0 802404B0 0220202D */ daddu $a0, $s1, $zero +/* 95B6B4 802404B4 0C0B1EAF */ jal get_variable +/* 95B6B8 802404B8 AFA20028 */ sw $v0, 0x28($sp) +/* 95B6BC 802404BC 8E050000 */ lw $a1, ($s0) +/* 95B6C0 802404C0 26100004 */ addiu $s0, $s0, 4 +/* 95B6C4 802404C4 0220202D */ daddu $a0, $s1, $zero +/* 95B6C8 802404C8 0C0B1EAF */ jal get_variable +/* 95B6CC 802404CC 0040F02D */ daddu $fp, $v0, $zero +/* 95B6D0 802404D0 8E050000 */ lw $a1, ($s0) +/* 95B6D4 802404D4 26100004 */ addiu $s0, $s0, 4 +/* 95B6D8 802404D8 0220202D */ daddu $a0, $s1, $zero +/* 95B6DC 802404DC 0C0B1EAF */ jal get_variable +/* 95B6E0 802404E0 0040B82D */ daddu $s7, $v0, $zero +/* 95B6E4 802404E4 0220202D */ daddu $a0, $s1, $zero +/* 95B6E8 802404E8 8E050000 */ lw $a1, ($s0) +/* 95B6EC 802404EC 0C0B1EAF */ jal get_variable +/* 95B6F0 802404F0 0040802D */ daddu $s0, $v0, $zero +/* 95B6F4 802404F4 0040182D */ daddu $v1, $v0, $zero +/* 95B6F8 802404F8 24020002 */ addiu $v0, $zero, 2 +/* 95B6FC 802404FC 12620012 */ beq $s3, $v0, .L80240548 +/* 95B700 80240500 2A620003 */ slti $v0, $s3, 3 +/* 95B704 80240504 10400005 */ beqz $v0, .L8024051C +/* 95B708 80240508 24020001 */ addiu $v0, $zero, 1 +/* 95B70C 8024050C 12620008 */ beq $s3, $v0, .L80240530 +/* 95B710 80240510 32C400FF */ andi $a0, $s6, 0xff +/* 95B714 80240514 08090169 */ j .L802405A4 +/* 95B718 80240518 00000000 */ nop +.L8024051C: +/* 95B71C 8024051C 24020003 */ addiu $v0, $zero, 3 +/* 95B720 80240520 12620018 */ beq $s3, $v0, .L80240584 +/* 95B724 80240524 32C400FF */ andi $a0, $s6, 0xff +/* 95B728 80240528 08090169 */ j .L802405A4 +/* 95B72C 8024052C 00000000 */ nop +.L80240530: +/* 95B730 80240530 32A500FF */ andi $a1, $s5, 0xff +/* 95B734 80240534 328600FF */ andi $a2, $s4, 0xff +/* 95B738 80240538 0C046F97 */ jal set_background_color_blend +/* 95B73C 8024053C 324700FF */ andi $a3, $s2, 0xff +/* 95B740 80240540 08090169 */ j .L802405A4 +/* 95B744 80240544 00000000 */ nop +.L80240548: +/* 95B748 80240548 32C400FF */ andi $a0, $s6, 0xff +/* 95B74C 8024054C 32A500FF */ andi $a1, $s5, 0xff +/* 95B750 80240550 328600FF */ andi $a2, $s4, 0xff +/* 95B754 80240554 324700FF */ andi $a3, $s2, 0xff +/* 95B758 80240558 93A2002B */ lbu $v0, 0x2b($sp) +/* 95B75C 8024055C AFB0001C */ sw $s0, 0x1c($sp) +/* 95B760 80240560 AFA30020 */ sw $v1, 0x20($sp) +/* 95B764 80240564 AFA20010 */ sw $v0, 0x10($sp) +/* 95B768 80240568 33C200FF */ andi $v0, $fp, 0xff +/* 95B76C 8024056C AFA20014 */ sw $v0, 0x14($sp) +/* 95B770 80240570 32E200FF */ andi $v0, $s7, 0xff +/* 95B774 80240574 0C046FAD */ jal func_8011BEB4 +/* 95B778 80240578 AFA20018 */ sw $v0, 0x18($sp) +/* 95B77C 8024057C 08090169 */ j .L802405A4 +/* 95B780 80240580 00000000 */ nop +.L80240584: +/* 95B784 80240584 32A500FF */ andi $a1, $s5, 0xff +/* 95B788 80240588 328600FF */ andi $a2, $s4, 0xff +/* 95B78C 8024058C 324700FF */ andi $a3, $s2, 0xff +/* 95B790 80240590 93A2002B */ lbu $v0, 0x2b($sp) +/* 95B794 80240594 AFA20010 */ sw $v0, 0x10($sp) +/* 95B798 80240598 33C200FF */ andi $v0, $fp, 0xff +/* 95B79C 8024059C 0C046FE6 */ jal func_8011BF98 +/* 95B7A0 802405A0 AFA20014 */ sw $v0, 0x14($sp) +.L802405A4: +/* 95B7A4 802405A4 8FBF0054 */ lw $ra, 0x54($sp) +/* 95B7A8 802405A8 8FBE0050 */ lw $fp, 0x50($sp) +/* 95B7AC 802405AC 8FB7004C */ lw $s7, 0x4c($sp) +/* 95B7B0 802405B0 8FB60048 */ lw $s6, 0x48($sp) +/* 95B7B4 802405B4 8FB50044 */ lw $s5, 0x44($sp) +/* 95B7B8 802405B8 8FB40040 */ lw $s4, 0x40($sp) +/* 95B7BC 802405BC 8FB3003C */ lw $s3, 0x3c($sp) +/* 95B7C0 802405C0 8FB20038 */ lw $s2, 0x38($sp) +/* 95B7C4 802405C4 8FB10034 */ lw $s1, 0x34($sp) +/* 95B7C8 802405C8 8FB00030 */ lw $s0, 0x30($sp) +/* 95B7CC 802405CC 24020002 */ addiu $v0, $zero, 2 +/* 95B7D0 802405D0 03E00008 */ jr $ra +/* 95B7D4 802405D4 27BD0058 */ addiu $sp, $sp, 0x58 +/* 95B7D8 802405D8 00000000 */ nop +/* 95B7DC 802405DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802405E0.s b/asm/nonmatchings/world/area_dro/dro_01/func_802405E0.s new file mode 100644 index 0000000000..5a5fccbbe2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802405E0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E0 +/* 95B7E0 802405E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95B7E4 802405E4 AFB50024 */ sw $s5, 0x24($sp) +/* 95B7E8 802405E8 0080A82D */ daddu $s5, $a0, $zero +/* 95B7EC 802405EC AFBF002C */ sw $ra, 0x2c($sp) +/* 95B7F0 802405F0 AFB60028 */ sw $s6, 0x28($sp) +/* 95B7F4 802405F4 AFB40020 */ sw $s4, 0x20($sp) +/* 95B7F8 802405F8 AFB3001C */ sw $s3, 0x1c($sp) +/* 95B7FC 802405FC AFB20018 */ sw $s2, 0x18($sp) +/* 95B800 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 95B804 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* 95B808 80240608 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 95B80C 8024060C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 95B810 80240610 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 95B814 80240614 8EB30148 */ lw $s3, 0x148($s5) +/* 95B818 80240618 86640008 */ lh $a0, 8($s3) +/* 95B81C 8024061C 0C00EABB */ jal get_npc_unsafe +/* 95B820 80240620 00A0B02D */ daddu $s6, $a1, $zero +/* 95B824 80240624 0040A02D */ daddu $s4, $v0, $zero +/* 95B828 80240628 AEA00074 */ sw $zero, 0x74($s5) +/* 95B82C 8024062C C6980038 */ lwc1 $f24, 0x38($s4) +/* 95B830 80240630 C6960040 */ lwc1 $f22, 0x40($s4) +/* 95B834 80240634 0000902D */ daddu $s2, $zero, $zero +/* 95B838 80240638 AEA00078 */ sw $zero, 0x78($s5) +/* 95B83C 8024063C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 95B840 80240640 8C620000 */ lw $v0, ($v1) +/* 95B844 80240644 3C0146FF */ lui $at, 0x46ff +/* 95B848 80240648 3421FE00 */ ori $at, $at, 0xfe00 +/* 95B84C 8024064C 4481A000 */ mtc1 $at, $f20 +/* 95B850 80240650 18400018 */ blez $v0, .L802406B4 +/* 95B854 80240654 0240802D */ daddu $s0, $s2, $zero +/* 95B858 80240658 0240882D */ daddu $s1, $s2, $zero +.L8024065C: +/* 95B85C 8024065C 02231021 */ addu $v0, $s1, $v1 +/* 95B860 80240660 4600C306 */ mov.s $f12, $f24 +/* 95B864 80240664 C4440004 */ lwc1 $f4, 4($v0) +/* 95B868 80240668 46802120 */ cvt.s.w $f4, $f4 +/* 95B86C 8024066C 44062000 */ mfc1 $a2, $f4 +/* 95B870 80240670 C444000C */ lwc1 $f4, 0xc($v0) +/* 95B874 80240674 46802120 */ cvt.s.w $f4, $f4 +/* 95B878 80240678 44072000 */ mfc1 $a3, $f4 +/* 95B87C 8024067C 0C00A7B5 */ jal dist2D +/* 95B880 80240680 4600B386 */ mov.s $f14, $f22 +/* 95B884 80240684 4614003C */ c.lt.s $f0, $f20 +/* 95B888 80240688 00000000 */ nop +/* 95B88C 8024068C 45000003 */ bc1f .L8024069C +/* 95B890 80240690 2631000C */ addiu $s1, $s1, 0xc +/* 95B894 80240694 46000506 */ mov.s $f20, $f0 +/* 95B898 80240698 AEB20078 */ sw $s2, 0x78($s5) +.L8024069C: +/* 95B89C 8024069C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 95B8A0 802406A0 26100001 */ addiu $s0, $s0, 1 +/* 95B8A4 802406A4 8C620000 */ lw $v0, ($v1) +/* 95B8A8 802406A8 0202102A */ slt $v0, $s0, $v0 +/* 95B8AC 802406AC 1440FFEB */ bnez $v0, .L8024065C +/* 95B8B0 802406B0 26520001 */ addiu $s2, $s2, 1 +.L802406B4: +/* 95B8B4 802406B4 8E6200CC */ lw $v0, 0xcc($s3) +/* 95B8B8 802406B8 8C420004 */ lw $v0, 4($v0) +/* 95B8BC 802406BC AE820028 */ sw $v0, 0x28($s4) +/* 95B8C0 802406C0 8E6200D0 */ lw $v0, 0xd0($s3) +/* 95B8C4 802406C4 8C42007C */ lw $v0, 0x7c($v0) +/* 95B8C8 802406C8 04410004 */ bgez $v0, .L802406DC +/* 95B8CC 802406CC 00000000 */ nop +/* 95B8D0 802406D0 C6C00000 */ lwc1 $f0, ($s6) +/* 95B8D4 802406D4 080901BF */ j .L802406FC +/* 95B8D8 802406D8 E6800018 */ swc1 $f0, 0x18($s4) +.L802406DC: +/* 95B8DC 802406DC 3C018025 */ lui $at, 0x8025 +/* 95B8E0 802406E0 D422DDE0 */ ldc1 $f2, -0x2220($at) +/* 95B8E4 802406E4 44820000 */ mtc1 $v0, $f0 +/* 95B8E8 802406E8 00000000 */ nop +/* 95B8EC 802406EC 46800021 */ cvt.d.w $f0, $f0 +/* 95B8F0 802406F0 46220003 */ div.d $f0, $f0, $f2 +/* 95B8F4 802406F4 46200020 */ cvt.s.d $f0, $f0 +/* 95B8F8 802406F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802406FC: +/* 95B8FC 802406FC 24020001 */ addiu $v0, $zero, 1 +/* 95B900 80240700 AEA20070 */ sw $v0, 0x70($s5) +/* 95B904 80240704 8FBF002C */ lw $ra, 0x2c($sp) +/* 95B908 80240708 8FB60028 */ lw $s6, 0x28($sp) +/* 95B90C 8024070C 8FB50024 */ lw $s5, 0x24($sp) +/* 95B910 80240710 8FB40020 */ lw $s4, 0x20($sp) +/* 95B914 80240714 8FB3001C */ lw $s3, 0x1c($sp) +/* 95B918 80240718 8FB20018 */ lw $s2, 0x18($sp) +/* 95B91C 8024071C 8FB10014 */ lw $s1, 0x14($sp) +/* 95B920 80240720 8FB00010 */ lw $s0, 0x10($sp) +/* 95B924 80240724 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 95B928 80240728 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 95B92C 8024072C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 95B930 80240730 03E00008 */ jr $ra +/* 95B934 80240734 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240738_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240738_95B200.s new file mode 100644 index 0000000000..41e2d96ab7 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240738_95B200.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738_95B938 +/* 95B938 80240738 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 95B93C 8024073C AFB20038 */ sw $s2, 0x38($sp) +/* 95B940 80240740 0080902D */ daddu $s2, $a0, $zero +/* 95B944 80240744 AFBF0044 */ sw $ra, 0x44($sp) +/* 95B948 80240748 AFB40040 */ sw $s4, 0x40($sp) +/* 95B94C 8024074C AFB3003C */ sw $s3, 0x3c($sp) +/* 95B950 80240750 AFB10034 */ sw $s1, 0x34($sp) +/* 95B954 80240754 AFB00030 */ sw $s0, 0x30($sp) +/* 95B958 80240758 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 95B95C 8024075C F7B40048 */ sdc1 $f20, 0x48($sp) +/* 95B960 80240760 8E510148 */ lw $s1, 0x148($s2) +/* 95B964 80240764 00A0982D */ daddu $s3, $a1, $zero +/* 95B968 80240768 86240008 */ lh $a0, 8($s1) +/* 95B96C 8024076C 0C00EABB */ jal get_npc_unsafe +/* 95B970 80240770 00C0A02D */ daddu $s4, $a2, $zero +/* 95B974 80240774 8E630014 */ lw $v1, 0x14($s3) +/* 95B978 80240778 04600030 */ bltz $v1, .L8024083C +/* 95B97C 8024077C 0040802D */ daddu $s0, $v0, $zero +/* 95B980 80240780 8E420074 */ lw $v0, 0x74($s2) +/* 95B984 80240784 1C40002C */ bgtz $v0, .L80240838 +/* 95B988 80240788 2442FFFF */ addiu $v0, $v0, -1 +/* 95B98C 8024078C 0280202D */ daddu $a0, $s4, $zero +/* 95B990 80240790 AE430074 */ sw $v1, 0x74($s2) +/* 95B994 80240794 AFA00010 */ sw $zero, 0x10($sp) +/* 95B998 80240798 8E66000C */ lw $a2, 0xc($s3) +/* 95B99C 8024079C 8E670010 */ lw $a3, 0x10($s3) +/* 95B9A0 802407A0 0C01242D */ jal func_800490B4 +/* 95B9A4 802407A4 0220282D */ daddu $a1, $s1, $zero +/* 95B9A8 802407A8 10400021 */ beqz $v0, .L80240830 +/* 95B9AC 802407AC 0000202D */ daddu $a0, $zero, $zero +/* 95B9B0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* 95B9B4 802407B4 0000302D */ daddu $a2, $zero, $zero +/* 95B9B8 802407B8 860300A8 */ lh $v1, 0xa8($s0) +/* 95B9BC 802407BC 3C013F80 */ lui $at, 0x3f80 +/* 95B9C0 802407C0 44810000 */ mtc1 $at, $f0 +/* 95B9C4 802407C4 3C014000 */ lui $at, 0x4000 +/* 95B9C8 802407C8 44811000 */ mtc1 $at, $f2 +/* 95B9CC 802407CC 3C01C1A0 */ lui $at, 0xc1a0 +/* 95B9D0 802407D0 44812000 */ mtc1 $at, $f4 +/* 95B9D4 802407D4 2402000F */ addiu $v0, $zero, 0xf +/* 95B9D8 802407D8 AFA2001C */ sw $v0, 0x1c($sp) +/* 95B9DC 802407DC 44833000 */ mtc1 $v1, $f6 +/* 95B9E0 802407E0 00000000 */ nop +/* 95B9E4 802407E4 468031A0 */ cvt.s.w $f6, $f6 +/* 95B9E8 802407E8 44073000 */ mfc1 $a3, $f6 +/* 95B9EC 802407EC 27A20028 */ addiu $v0, $sp, 0x28 +/* 95B9F0 802407F0 AFA20020 */ sw $v0, 0x20($sp) +/* 95B9F4 802407F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95B9F8 802407F8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 95B9FC 802407FC 0C01BFA4 */ jal fx_emote +/* 95BA00 80240800 E7A40018 */ swc1 $f4, 0x18($sp) +/* 95BA04 80240804 0200202D */ daddu $a0, $s0, $zero +/* 95BA08 80240808 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 95BA0C 8024080C 0C012530 */ jal func_800494C0 +/* 95BA10 80240810 3C060020 */ lui $a2, 0x20 +/* 95BA14 80240814 8E220018 */ lw $v0, 0x18($s1) +/* 95BA18 80240818 9442002A */ lhu $v0, 0x2a($v0) +/* 95BA1C 8024081C 30420001 */ andi $v0, $v0, 1 +/* 95BA20 80240820 14400064 */ bnez $v0, .L802409B4 +/* 95BA24 80240824 2402000A */ addiu $v0, $zero, 0xa +/* 95BA28 80240828 0809026D */ j .L802409B4 +/* 95BA2C 8024082C 2402000C */ addiu $v0, $zero, 0xc +.L80240830: +/* 95BA30 80240830 8E420074 */ lw $v0, 0x74($s2) +/* 95BA34 80240834 2442FFFF */ addiu $v0, $v0, -1 +.L80240838: +/* 95BA38 80240838 AE420074 */ sw $v0, 0x74($s2) +.L8024083C: +/* 95BA3C 8024083C 8602008C */ lh $v0, 0x8c($s0) +/* 95BA40 80240840 1440005D */ bnez $v0, .L802409B8 +/* 95BA44 80240844 00000000 */ nop +/* 95BA48 80240848 C6000018 */ lwc1 $f0, 0x18($s0) +/* 95BA4C 8024084C 3C014010 */ lui $at, 0x4010 +/* 95BA50 80240850 44811800 */ mtc1 $at, $f3 +/* 95BA54 80240854 44801000 */ mtc1 $zero, $f2 +/* 95BA58 80240858 46000021 */ cvt.d.s $f0, $f0 +/* 95BA5C 8024085C 4622003C */ c.lt.d $f0, $f2 +/* 95BA60 80240860 00000000 */ nop +/* 95BA64 80240864 45000003 */ bc1f .L80240874 +/* 95BA68 80240868 0200202D */ daddu $a0, $s0, $zero +/* 95BA6C 8024086C 0809021E */ j .L80240878 +/* 95BA70 80240870 0000282D */ daddu $a1, $zero, $zero +.L80240874: +/* 95BA74 80240874 24050001 */ addiu $a1, $zero, 1 +.L80240878: +/* 95BA78 80240878 0C00F598 */ jal func_8003D660 +/* 95BA7C 8024087C 00000000 */ nop +/* 95BA80 80240880 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 95BA84 80240884 8E430078 */ lw $v1, 0x78($s2) +/* 95BA88 80240888 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 95BA8C 8024088C 00031040 */ sll $v0, $v1, 1 +/* 95BA90 80240890 00431021 */ addu $v0, $v0, $v1 +/* 95BA94 80240894 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95BA98 80240898 00021080 */ sll $v0, $v0, 2 +/* 95BA9C 8024089C 00431021 */ addu $v0, $v0, $v1 +/* 95BAA0 802408A0 C4560004 */ lwc1 $f22, 4($v0) +/* 95BAA4 802408A4 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95BAA8 802408A8 C454000C */ lwc1 $f20, 0xc($v0) +/* 95BAAC 802408AC 4680A520 */ cvt.s.w $f20, $f20 +/* 95BAB0 802408B0 4406B000 */ mfc1 $a2, $f22 +/* 95BAB4 802408B4 4407A000 */ mfc1 $a3, $f20 +/* 95BAB8 802408B8 0C00A720 */ jal atan2 +/* 95BABC 802408BC 00000000 */ nop +/* 95BAC0 802408C0 8E050018 */ lw $a1, 0x18($s0) +/* 95BAC4 802408C4 44060000 */ mfc1 $a2, $f0 +/* 95BAC8 802408C8 0200202D */ daddu $a0, $s0, $zero +/* 95BACC 802408CC 0C00EA95 */ jal npc_move_heading +/* 95BAD0 802408D0 AE06000C */ sw $a2, 0xc($s0) +/* 95BAD4 802408D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 95BAD8 802408D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 95BADC 802408DC 4406B000 */ mfc1 $a2, $f22 +/* 95BAE0 802408E0 4407A000 */ mfc1 $a3, $f20 +/* 95BAE4 802408E4 0C00A7B5 */ jal dist2D +/* 95BAE8 802408E8 00000000 */ nop +/* 95BAEC 802408EC C6020018 */ lwc1 $f2, 0x18($s0) +/* 95BAF0 802408F0 4602003E */ c.le.s $f0, $f2 +/* 95BAF4 802408F4 00000000 */ nop +/* 95BAF8 802408F8 4500002F */ bc1f .L802409B8 +/* 95BAFC 802408FC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 95BB00 80240900 24020002 */ addiu $v0, $zero, 2 +/* 95BB04 80240904 0C00A67F */ jal rand_int +/* 95BB08 80240908 AE420070 */ sw $v0, 0x70($s2) +/* 95BB0C 8024090C 3C035555 */ lui $v1, 0x5555 +/* 95BB10 80240910 34635556 */ ori $v1, $v1, 0x5556 +/* 95BB14 80240914 00430018 */ mult $v0, $v1 +/* 95BB18 80240918 000227C3 */ sra $a0, $v0, 0x1f +/* 95BB1C 8024091C 00004010 */ mfhi $t0 +/* 95BB20 80240920 01042023 */ subu $a0, $t0, $a0 +/* 95BB24 80240924 00041840 */ sll $v1, $a0, 1 +/* 95BB28 80240928 00641821 */ addu $v1, $v1, $a0 +/* 95BB2C 8024092C 00431023 */ subu $v0, $v0, $v1 +/* 95BB30 80240930 24430002 */ addiu $v1, $v0, 2 +/* 95BB34 80240934 AE430074 */ sw $v1, 0x74($s2) +/* 95BB38 80240938 8E62002C */ lw $v0, 0x2c($s3) +/* 95BB3C 8024093C 18400009 */ blez $v0, .L80240964 +/* 95BB40 80240940 24020004 */ addiu $v0, $zero, 4 +/* 95BB44 80240944 8E620004 */ lw $v0, 4($s3) +/* 95BB48 80240948 18400006 */ blez $v0, .L80240964 +/* 95BB4C 8024094C 24020004 */ addiu $v0, $zero, 4 +/* 95BB50 80240950 8E620008 */ lw $v0, 8($s3) +/* 95BB54 80240954 18400003 */ blez $v0, .L80240964 +/* 95BB58 80240958 24020004 */ addiu $v0, $zero, 4 +/* 95BB5C 8024095C 14600002 */ bnez $v1, .L80240968 +/* 95BB60 80240960 00000000 */ nop +.L80240964: +/* 95BB64 80240964 AE420070 */ sw $v0, 0x70($s2) +.L80240968: +/* 95BB68 80240968 0C00A67F */ jal rand_int +/* 95BB6C 8024096C 24042710 */ addiu $a0, $zero, 0x2710 +/* 95BB70 80240970 3C0351EB */ lui $v1, 0x51eb +/* 95BB74 80240974 3463851F */ ori $v1, $v1, 0x851f +/* 95BB78 80240978 00430018 */ mult $v0, $v1 +/* 95BB7C 8024097C 00021FC3 */ sra $v1, $v0, 0x1f +/* 95BB80 80240980 00004010 */ mfhi $t0 +/* 95BB84 80240984 00082143 */ sra $a0, $t0, 5 +/* 95BB88 80240988 00832023 */ subu $a0, $a0, $v1 +/* 95BB8C 8024098C 00041840 */ sll $v1, $a0, 1 +/* 95BB90 80240990 00641821 */ addu $v1, $v1, $a0 +/* 95BB94 80240994 000318C0 */ sll $v1, $v1, 3 +/* 95BB98 80240998 00641821 */ addu $v1, $v1, $a0 +/* 95BB9C 8024099C 00031880 */ sll $v1, $v1, 2 +/* 95BBA0 802409A0 8E640004 */ lw $a0, 4($s3) +/* 95BBA4 802409A4 00431023 */ subu $v0, $v0, $v1 +/* 95BBA8 802409A8 0044102A */ slt $v0, $v0, $a0 +/* 95BBAC 802409AC 10400002 */ beqz $v0, .L802409B8 +/* 95BBB0 802409B0 24020004 */ addiu $v0, $zero, 4 +.L802409B4: +/* 95BBB4 802409B4 AE420070 */ sw $v0, 0x70($s2) +.L802409B8: +/* 95BBB8 802409B8 8FBF0044 */ lw $ra, 0x44($sp) +/* 95BBBC 802409BC 8FB40040 */ lw $s4, 0x40($sp) +/* 95BBC0 802409C0 8FB3003C */ lw $s3, 0x3c($sp) +/* 95BBC4 802409C4 8FB20038 */ lw $s2, 0x38($sp) +/* 95BBC8 802409C8 8FB10034 */ lw $s1, 0x34($sp) +/* 95BBCC 802409CC 8FB00030 */ lw $s0, 0x30($sp) +/* 95BBD0 802409D0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 95BBD4 802409D4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 95BBD8 802409D8 03E00008 */ jr $ra +/* 95BBDC 802409DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802409E0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802409E0_95B200.s new file mode 100644 index 0000000000..af4c82231f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802409E0_95B200.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E0_95BBE0 +/* 95BBE0 802409E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95BBE4 802409E4 AFB3001C */ sw $s3, 0x1c($sp) +/* 95BBE8 802409E8 0080982D */ daddu $s3, $a0, $zero +/* 95BBEC 802409EC AFBF0020 */ sw $ra, 0x20($sp) +/* 95BBF0 802409F0 AFB20018 */ sw $s2, 0x18($sp) +/* 95BBF4 802409F4 AFB10014 */ sw $s1, 0x14($sp) +/* 95BBF8 802409F8 AFB00010 */ sw $s0, 0x10($sp) +/* 95BBFC 802409FC 8E720148 */ lw $s2, 0x148($s3) +/* 95BC00 80240A00 86440008 */ lh $a0, 8($s2) +/* 95BC04 80240A04 0C00EABB */ jal get_npc_unsafe +/* 95BC08 80240A08 00A0882D */ daddu $s1, $a1, $zero +/* 95BC0C 80240A0C 8E240008 */ lw $a0, 8($s1) +/* 95BC10 80240A10 0040802D */ daddu $s0, $v0, $zero +/* 95BC14 80240A14 00041FC2 */ srl $v1, $a0, 0x1f +/* 95BC18 80240A18 00832021 */ addu $a0, $a0, $v1 +/* 95BC1C 80240A1C 00042043 */ sra $a0, $a0, 1 +/* 95BC20 80240A20 0C00A67F */ jal rand_int +/* 95BC24 80240A24 24840001 */ addiu $a0, $a0, 1 +/* 95BC28 80240A28 8E230008 */ lw $v1, 8($s1) +/* 95BC2C 80240A2C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 95BC30 80240A30 00032FC2 */ srl $a1, $v1, 0x1f +/* 95BC34 80240A34 00651821 */ addu $v1, $v1, $a1 +/* 95BC38 80240A38 00031843 */ sra $v1, $v1, 1 +/* 95BC3C 80240A3C 00621821 */ addu $v1, $v1, $v0 +/* 95BC40 80240A40 0C00A67F */ jal rand_int +/* 95BC44 80240A44 A603008E */ sh $v1, 0x8e($s0) +/* 95BC48 80240A48 C60C000C */ lwc1 $f12, 0xc($s0) +/* 95BC4C 80240A4C 44820000 */ mtc1 $v0, $f0 +/* 95BC50 80240A50 00000000 */ nop +/* 95BC54 80240A54 46800020 */ cvt.s.w $f0, $f0 +/* 95BC58 80240A58 46006300 */ add.s $f12, $f12, $f0 +/* 95BC5C 80240A5C 3C0142B4 */ lui $at, 0x42b4 +/* 95BC60 80240A60 44810000 */ mtc1 $at, $f0 +/* 95BC64 80240A64 0C00A6C9 */ jal clamp_angle +/* 95BC68 80240A68 46006301 */ sub.s $f12, $f12, $f0 +/* 95BC6C 80240A6C E600000C */ swc1 $f0, 0xc($s0) +/* 95BC70 80240A70 8E4200CC */ lw $v0, 0xcc($s2) +/* 95BC74 80240A74 8C420000 */ lw $v0, ($v0) +/* 95BC78 80240A78 AE020028 */ sw $v0, 0x28($s0) +/* 95BC7C 80240A7C 24020003 */ addiu $v0, $zero, 3 +/* 95BC80 80240A80 AE620070 */ sw $v0, 0x70($s3) +/* 95BC84 80240A84 8FBF0020 */ lw $ra, 0x20($sp) +/* 95BC88 80240A88 8FB3001C */ lw $s3, 0x1c($sp) +/* 95BC8C 80240A8C 8FB20018 */ lw $s2, 0x18($sp) +/* 95BC90 80240A90 8FB10014 */ lw $s1, 0x14($sp) +/* 95BC94 80240A94 8FB00010 */ lw $s0, 0x10($sp) +/* 95BC98 80240A98 03E00008 */ jr $ra +/* 95BC9C 80240A9C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240AA0.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240AA0.s new file mode 100644 index 0000000000..776822714c --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240AA0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AA0 +/* 95BCA0 80240AA0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95BCA4 80240AA4 AFB40040 */ sw $s4, 0x40($sp) +/* 95BCA8 80240AA8 0080A02D */ daddu $s4, $a0, $zero +/* 95BCAC 80240AAC AFBF0044 */ sw $ra, 0x44($sp) +/* 95BCB0 80240AB0 AFB3003C */ sw $s3, 0x3c($sp) +/* 95BCB4 80240AB4 AFB20038 */ sw $s2, 0x38($sp) +/* 95BCB8 80240AB8 AFB10034 */ sw $s1, 0x34($sp) +/* 95BCBC 80240ABC AFB00030 */ sw $s0, 0x30($sp) +/* 95BCC0 80240AC0 8E910148 */ lw $s1, 0x148($s4) +/* 95BCC4 80240AC4 00A0902D */ daddu $s2, $a1, $zero +/* 95BCC8 80240AC8 86240008 */ lh $a0, 8($s1) +/* 95BCCC 80240ACC 0C00EABB */ jal get_npc_unsafe +/* 95BCD0 80240AD0 00C0982D */ daddu $s3, $a2, $zero +/* 95BCD4 80240AD4 8E430014 */ lw $v1, 0x14($s2) +/* 95BCD8 80240AD8 04600031 */ bltz $v1, .L80240BA0 +/* 95BCDC 80240ADC 0040802D */ daddu $s0, $v0, $zero +/* 95BCE0 80240AE0 0260202D */ daddu $a0, $s3, $zero +/* 95BCE4 80240AE4 AFA00010 */ sw $zero, 0x10($sp) +/* 95BCE8 80240AE8 8E460024 */ lw $a2, 0x24($s2) +/* 95BCEC 80240AEC 8E470028 */ lw $a3, 0x28($s2) +/* 95BCF0 80240AF0 0C01242D */ jal func_800490B4 +/* 95BCF4 80240AF4 0220282D */ daddu $a1, $s1, $zero +/* 95BCF8 80240AF8 10400029 */ beqz $v0, .L80240BA0 +/* 95BCFC 80240AFC 0000202D */ daddu $a0, $zero, $zero +/* 95BD00 80240B00 0200282D */ daddu $a1, $s0, $zero +/* 95BD04 80240B04 0000302D */ daddu $a2, $zero, $zero +/* 95BD08 80240B08 860300A8 */ lh $v1, 0xa8($s0) +/* 95BD0C 80240B0C 3C013F80 */ lui $at, 0x3f80 +/* 95BD10 80240B10 44810000 */ mtc1 $at, $f0 +/* 95BD14 80240B14 3C014000 */ lui $at, 0x4000 +/* 95BD18 80240B18 44811000 */ mtc1 $at, $f2 +/* 95BD1C 80240B1C 3C01C1A0 */ lui $at, 0xc1a0 +/* 95BD20 80240B20 44812000 */ mtc1 $at, $f4 +/* 95BD24 80240B24 2402000F */ addiu $v0, $zero, 0xf +/* 95BD28 80240B28 AFA2001C */ sw $v0, 0x1c($sp) +/* 95BD2C 80240B2C 44833000 */ mtc1 $v1, $f6 +/* 95BD30 80240B30 00000000 */ nop +/* 95BD34 80240B34 468031A0 */ cvt.s.w $f6, $f6 +/* 95BD38 80240B38 44073000 */ mfc1 $a3, $f6 +/* 95BD3C 80240B3C 27A20028 */ addiu $v0, $sp, 0x28 +/* 95BD40 80240B40 AFA20020 */ sw $v0, 0x20($sp) +/* 95BD44 80240B44 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95BD48 80240B48 E7A20014 */ swc1 $f2, 0x14($sp) +/* 95BD4C 80240B4C 0C01BFA4 */ jal fx_emote +/* 95BD50 80240B50 E7A40018 */ swc1 $f4, 0x18($sp) +/* 95BD54 80240B54 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 95BD58 80240B58 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 95BD5C 80240B5C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 95BD60 80240B60 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 95BD64 80240B64 8C460028 */ lw $a2, 0x28($v0) +/* 95BD68 80240B68 0C00A720 */ jal atan2 +/* 95BD6C 80240B6C 8C470030 */ lw $a3, 0x30($v0) +/* 95BD70 80240B70 0200202D */ daddu $a0, $s0, $zero +/* 95BD74 80240B74 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 95BD78 80240B78 3C060020 */ lui $a2, 0x20 +/* 95BD7C 80240B7C 0C012530 */ jal func_800494C0 +/* 95BD80 80240B80 E480000C */ swc1 $f0, 0xc($a0) +/* 95BD84 80240B84 8E220018 */ lw $v0, 0x18($s1) +/* 95BD88 80240B88 9442002A */ lhu $v0, 0x2a($v0) +/* 95BD8C 80240B8C 30420001 */ andi $v0, $v0, 1 +/* 95BD90 80240B90 14400029 */ bnez $v0, .L80240C38 +/* 95BD94 80240B94 2402000A */ addiu $v0, $zero, 0xa +/* 95BD98 80240B98 0809030E */ j .L80240C38 +/* 95BD9C 80240B9C 2402000C */ addiu $v0, $zero, 0xc +.L80240BA0: +/* 95BDA0 80240BA0 8602008C */ lh $v0, 0x8c($s0) +/* 95BDA4 80240BA4 14400025 */ bnez $v0, .L80240C3C +/* 95BDA8 80240BA8 00000000 */ nop +/* 95BDAC 80240BAC 9602008E */ lhu $v0, 0x8e($s0) +/* 95BDB0 80240BB0 2442FFFF */ addiu $v0, $v0, -1 +/* 95BDB4 80240BB4 A602008E */ sh $v0, 0x8e($s0) +/* 95BDB8 80240BB8 00021400 */ sll $v0, $v0, 0x10 +/* 95BDBC 80240BBC 1440001F */ bnez $v0, .L80240C3C +/* 95BDC0 80240BC0 00000000 */ nop +/* 95BDC4 80240BC4 8E820074 */ lw $v0, 0x74($s4) +/* 95BDC8 80240BC8 2442FFFF */ addiu $v0, $v0, -1 +/* 95BDCC 80240BCC 10400019 */ beqz $v0, .L80240C34 +/* 95BDD0 80240BD0 AE820074 */ sw $v0, 0x74($s4) +/* 95BDD4 80240BD4 8E220018 */ lw $v0, 0x18($s1) +/* 95BDD8 80240BD8 9442002A */ lhu $v0, 0x2a($v0) +/* 95BDDC 80240BDC 30420010 */ andi $v0, $v0, 0x10 +/* 95BDE0 80240BE0 14400007 */ bnez $v0, .L80240C00 +/* 95BDE4 80240BE4 00000000 */ nop +/* 95BDE8 80240BE8 C600000C */ lwc1 $f0, 0xc($s0) +/* 95BDEC 80240BEC 3C014334 */ lui $at, 0x4334 +/* 95BDF0 80240BF0 44816000 */ mtc1 $at, $f12 +/* 95BDF4 80240BF4 0C00A6C9 */ jal clamp_angle +/* 95BDF8 80240BF8 460C0300 */ add.s $f12, $f0, $f12 +/* 95BDFC 80240BFC E600000C */ swc1 $f0, 0xc($s0) +.L80240C00: +/* 95BE00 80240C00 8E440008 */ lw $a0, 8($s2) +/* 95BE04 80240C04 000417C2 */ srl $v0, $a0, 0x1f +/* 95BE08 80240C08 00822021 */ addu $a0, $a0, $v0 +/* 95BE0C 80240C0C 00042043 */ sra $a0, $a0, 1 +/* 95BE10 80240C10 0C00A67F */ jal rand_int +/* 95BE14 80240C14 24840001 */ addiu $a0, $a0, 1 +/* 95BE18 80240C18 8E430008 */ lw $v1, 8($s2) +/* 95BE1C 80240C1C 000327C2 */ srl $a0, $v1, 0x1f +/* 95BE20 80240C20 00641821 */ addu $v1, $v1, $a0 +/* 95BE24 80240C24 00031843 */ sra $v1, $v1, 1 +/* 95BE28 80240C28 00621821 */ addu $v1, $v1, $v0 +/* 95BE2C 80240C2C 0809030F */ j .L80240C3C +/* 95BE30 80240C30 A603008E */ sh $v1, 0x8e($s0) +.L80240C34: +/* 95BE34 80240C34 24020004 */ addiu $v0, $zero, 4 +.L80240C38: +/* 95BE38 80240C38 AE820070 */ sw $v0, 0x70($s4) +.L80240C3C: +/* 95BE3C 80240C3C 8FBF0044 */ lw $ra, 0x44($sp) +/* 95BE40 80240C40 8FB40040 */ lw $s4, 0x40($sp) +/* 95BE44 80240C44 8FB3003C */ lw $s3, 0x3c($sp) +/* 95BE48 80240C48 8FB20038 */ lw $s2, 0x38($sp) +/* 95BE4C 80240C4C 8FB10034 */ lw $s1, 0x34($sp) +/* 95BE50 80240C50 8FB00030 */ lw $s0, 0x30($sp) +/* 95BE54 80240C54 03E00008 */ jr $ra +/* 95BE58 80240C58 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240C5C.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240C5C.s new file mode 100644 index 0000000000..69746bd536 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240C5C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C5C +/* 95BE5C 80240C5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95BE60 80240C60 AFB10014 */ sw $s1, 0x14($sp) +/* 95BE64 80240C64 0080882D */ daddu $s1, $a0, $zero +/* 95BE68 80240C68 AFBF001C */ sw $ra, 0x1c($sp) +/* 95BE6C 80240C6C AFB20018 */ sw $s2, 0x18($sp) +/* 95BE70 80240C70 AFB00010 */ sw $s0, 0x10($sp) +/* 95BE74 80240C74 8E300148 */ lw $s0, 0x148($s1) +/* 95BE78 80240C78 86040008 */ lh $a0, 8($s0) +/* 95BE7C 80240C7C 0C00EABB */ jal get_npc_unsafe +/* 95BE80 80240C80 00A0902D */ daddu $s2, $a1, $zero +/* 95BE84 80240C84 8E230078 */ lw $v1, 0x78($s1) +/* 95BE88 80240C88 24630001 */ addiu $v1, $v1, 1 +/* 95BE8C 80240C8C AE230078 */ sw $v1, 0x78($s1) +/* 95BE90 80240C90 8E0400D0 */ lw $a0, 0xd0($s0) +/* 95BE94 80240C94 8C840000 */ lw $a0, ($a0) +/* 95BE98 80240C98 0064182A */ slt $v1, $v1, $a0 +/* 95BE9C 80240C9C 14600002 */ bnez $v1, .L80240CA8 +/* 95BEA0 80240CA0 0040282D */ daddu $a1, $v0, $zero +/* 95BEA4 80240CA4 AE200078 */ sw $zero, 0x78($s1) +.L80240CA8: +/* 95BEA8 80240CA8 8E0200CC */ lw $v0, 0xcc($s0) +/* 95BEAC 80240CAC 8C420004 */ lw $v0, 4($v0) +/* 95BEB0 80240CB0 ACA20028 */ sw $v0, 0x28($a1) +/* 95BEB4 80240CB4 8E0200D0 */ lw $v0, 0xd0($s0) +/* 95BEB8 80240CB8 8C42007C */ lw $v0, 0x7c($v0) +/* 95BEBC 80240CBC 04410004 */ bgez $v0, .L80240CD0 +/* 95BEC0 80240CC0 00000000 */ nop +/* 95BEC4 80240CC4 C6400000 */ lwc1 $f0, ($s2) +/* 95BEC8 80240CC8 0809033C */ j .L80240CF0 +/* 95BECC 80240CCC E4A00018 */ swc1 $f0, 0x18($a1) +.L80240CD0: +/* 95BED0 80240CD0 3C018025 */ lui $at, 0x8025 +/* 95BED4 80240CD4 D422DDE8 */ ldc1 $f2, -0x2218($at) +/* 95BED8 80240CD8 44820000 */ mtc1 $v0, $f0 +/* 95BEDC 80240CDC 00000000 */ nop +/* 95BEE0 80240CE0 46800021 */ cvt.d.w $f0, $f0 +/* 95BEE4 80240CE4 46220003 */ div.d $f0, $f0, $f2 +/* 95BEE8 80240CE8 46200020 */ cvt.s.d $f0, $f0 +/* 95BEEC 80240CEC E4A00018 */ swc1 $f0, 0x18($a1) +.L80240CF0: +/* 95BEF0 80240CF0 24020001 */ addiu $v0, $zero, 1 +/* 95BEF4 80240CF4 AE220070 */ sw $v0, 0x70($s1) +/* 95BEF8 80240CF8 8FBF001C */ lw $ra, 0x1c($sp) +/* 95BEFC 80240CFC 8FB20018 */ lw $s2, 0x18($sp) +/* 95BF00 80240D00 8FB10014 */ lw $s1, 0x14($sp) +/* 95BF04 80240D04 8FB00010 */ lw $s0, 0x10($sp) +/* 95BF08 80240D08 03E00008 */ jr $ra +/* 95BF0C 80240D0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240D10_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240D10_95B200.s new file mode 100644 index 0000000000..ed26aab7fc --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240D10_95B200.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D10_95BF10 +/* 95BF10 80240D10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95BF14 80240D14 AFB10014 */ sw $s1, 0x14($sp) +/* 95BF18 80240D18 0080882D */ daddu $s1, $a0, $zero +/* 95BF1C 80240D1C AFBF0018 */ sw $ra, 0x18($sp) +/* 95BF20 80240D20 AFB00010 */ sw $s0, 0x10($sp) +/* 95BF24 80240D24 8E300148 */ lw $s0, 0x148($s1) +/* 95BF28 80240D28 0C00EABB */ jal get_npc_unsafe +/* 95BF2C 80240D2C 86040008 */ lh $a0, 8($s0) +/* 95BF30 80240D30 8E0300CC */ lw $v1, 0xcc($s0) +/* 95BF34 80240D34 3C014120 */ lui $at, 0x4120 +/* 95BF38 80240D38 44812000 */ mtc1 $at, $f4 +/* 95BF3C 80240D3C 3C014000 */ lui $at, 0x4000 +/* 95BF40 80240D40 44810000 */ mtc1 $at, $f0 +/* 95BF44 80240D44 C442003C */ lwc1 $f2, 0x3c($v0) +/* 95BF48 80240D48 8C640010 */ lw $a0, 0x10($v1) +/* 95BF4C 80240D4C 8C430000 */ lw $v1, ($v0) +/* 95BF50 80240D50 E444001C */ swc1 $f4, 0x1c($v0) +/* 95BF54 80240D54 E4400014 */ swc1 $f0, 0x14($v0) +/* 95BF58 80240D58 E4420064 */ swc1 $f2, 0x64($v0) +/* 95BF5C 80240D5C 34630800 */ ori $v1, $v1, 0x800 +/* 95BF60 80240D60 AC430000 */ sw $v1, ($v0) +/* 95BF64 80240D64 AC440028 */ sw $a0, 0x28($v0) +/* 95BF68 80240D68 2402000B */ addiu $v0, $zero, 0xb +/* 95BF6C 80240D6C AE220070 */ sw $v0, 0x70($s1) +/* 95BF70 80240D70 8FBF0018 */ lw $ra, 0x18($sp) +/* 95BF74 80240D74 8FB10014 */ lw $s1, 0x14($sp) +/* 95BF78 80240D78 8FB00010 */ lw $s0, 0x10($sp) +/* 95BF7C 80240D7C 03E00008 */ jr $ra +/* 95BF80 80240D80 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240D84.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240D84.s new file mode 100644 index 0000000000..0f4fc6d0b9 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240D84.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D84 +/* 95BF84 80240D84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95BF88 80240D88 AFB00010 */ sw $s0, 0x10($sp) +/* 95BF8C 80240D8C 0080802D */ daddu $s0, $a0, $zero +/* 95BF90 80240D90 AFBF0014 */ sw $ra, 0x14($sp) +/* 95BF94 80240D94 8E020148 */ lw $v0, 0x148($s0) +/* 95BF98 80240D98 0C00EABB */ jal get_npc_unsafe +/* 95BF9C 80240D9C 84440008 */ lh $a0, 8($v0) +/* 95BFA0 80240DA0 0040202D */ daddu $a0, $v0, $zero +/* 95BFA4 80240DA4 C482003C */ lwc1 $f2, 0x3c($a0) +/* 95BFA8 80240DA8 C480001C */ lwc1 $f0, 0x1c($a0) +/* 95BFAC 80240DAC 46001080 */ add.s $f2, $f2, $f0 +/* 95BFB0 80240DB0 C4840014 */ lwc1 $f4, 0x14($a0) +/* 95BFB4 80240DB4 46040001 */ sub.s $f0, $f0, $f4 +/* 95BFB8 80240DB8 C4840064 */ lwc1 $f4, 0x64($a0) +/* 95BFBC 80240DBC 4602203C */ c.lt.s $f4, $f2 +/* 95BFC0 80240DC0 E482003C */ swc1 $f2, 0x3c($a0) +/* 95BFC4 80240DC4 45010009 */ bc1t .L80240DEC +/* 95BFC8 80240DC8 E480001C */ swc1 $f0, 0x1c($a0) +/* 95BFCC 80240DCC 8C820000 */ lw $v0, ($a0) +/* 95BFD0 80240DD0 2403F7FF */ addiu $v1, $zero, -0x801 +/* 95BFD4 80240DD4 E484003C */ swc1 $f4, 0x3c($a0) +/* 95BFD8 80240DD8 AC80001C */ sw $zero, 0x1c($a0) +/* 95BFDC 80240DDC 00431024 */ and $v0, $v0, $v1 +/* 95BFE0 80240DE0 AC820000 */ sw $v0, ($a0) +/* 95BFE4 80240DE4 2402000C */ addiu $v0, $zero, 0xc +/* 95BFE8 80240DE8 AE020070 */ sw $v0, 0x70($s0) +.L80240DEC: +/* 95BFEC 80240DEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 95BFF0 80240DF0 8FB00010 */ lw $s0, 0x10($sp) +/* 95BFF4 80240DF4 03E00008 */ jr $ra +/* 95BFF8 80240DF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240DFC.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240DFC.s new file mode 100644 index 0000000000..f735c03550 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240DFC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DFC +/* 95BFFC 80240DFC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 95C000 80240E00 AFB3001C */ sw $s3, 0x1c($sp) +/* 95C004 80240E04 0080982D */ daddu $s3, $a0, $zero +/* 95C008 80240E08 AFBF0020 */ sw $ra, 0x20($sp) +/* 95C00C 80240E0C AFB20018 */ sw $s2, 0x18($sp) +/* 95C010 80240E10 AFB10014 */ sw $s1, 0x14($sp) +/* 95C014 80240E14 AFB00010 */ sw $s0, 0x10($sp) +/* 95C018 80240E18 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 95C01C 80240E1C 8E710148 */ lw $s1, 0x148($s3) +/* 95C020 80240E20 86240008 */ lh $a0, 8($s1) +/* 95C024 80240E24 0C00EABB */ jal get_npc_unsafe +/* 95C028 80240E28 00A0802D */ daddu $s0, $a1, $zero +/* 95C02C 80240E2C 8E040020 */ lw $a0, 0x20($s0) +/* 95C030 80240E30 0040902D */ daddu $s2, $v0, $zero +/* 95C034 80240E34 00041FC2 */ srl $v1, $a0, 0x1f +/* 95C038 80240E38 00832021 */ addu $a0, $a0, $v1 +/* 95C03C 80240E3C 00042043 */ sra $a0, $a0, 1 +/* 95C040 80240E40 0C00A67F */ jal rand_int +/* 95C044 80240E44 24840001 */ addiu $a0, $a0, 1 +/* 95C048 80240E48 8E030020 */ lw $v1, 0x20($s0) +/* 95C04C 80240E4C C64C0038 */ lwc1 $f12, 0x38($s2) +/* 95C050 80240E50 000327C2 */ srl $a0, $v1, 0x1f +/* 95C054 80240E54 00641821 */ addu $v1, $v1, $a0 +/* 95C058 80240E58 00031843 */ sra $v1, $v1, 1 +/* 95C05C 80240E5C 00621821 */ addu $v1, $v1, $v0 +/* 95C060 80240E60 A643008E */ sh $v1, 0x8e($s2) +/* 95C064 80240E64 8E2200CC */ lw $v0, 0xcc($s1) +/* 95C068 80240E68 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 95C06C 80240E6C 8C42000C */ lw $v0, 0xc($v0) +/* 95C070 80240E70 AE420028 */ sw $v0, 0x28($s2) +/* 95C074 80240E74 C6000018 */ lwc1 $f0, 0x18($s0) +/* 95C078 80240E78 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 95C07C 80240E7C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 95C080 80240E80 E6400018 */ swc1 $f0, 0x18($s2) +/* 95C084 80240E84 8C460028 */ lw $a2, 0x28($v0) +/* 95C088 80240E88 0C00A720 */ jal atan2 +/* 95C08C 80240E8C 8C470030 */ lw $a3, 0x30($v0) +/* 95C090 80240E90 46000506 */ mov.s $f20, $f0 +/* 95C094 80240E94 C64C000C */ lwc1 $f12, 0xc($s2) +/* 95C098 80240E98 0C00A70A */ jal get_clamped_angle_diff +/* 95C09C 80240E9C 4600A386 */ mov.s $f14, $f20 +/* 95C0A0 80240EA0 46000086 */ mov.s $f2, $f0 +/* 95C0A4 80240EA4 8E02001C */ lw $v0, 0x1c($s0) +/* 95C0A8 80240EA8 46001005 */ abs.s $f0, $f2 +/* 95C0AC 80240EAC 44822000 */ mtc1 $v0, $f4 +/* 95C0B0 80240EB0 00000000 */ nop +/* 95C0B4 80240EB4 46802120 */ cvt.s.w $f4, $f4 +/* 95C0B8 80240EB8 4600203C */ c.lt.s $f4, $f0 +/* 95C0BC 80240EBC 00000000 */ nop +/* 95C0C0 80240EC0 4500000D */ bc1f .L80240EF8 +/* 95C0C4 80240EC4 00000000 */ nop +/* 95C0C8 80240EC8 44800000 */ mtc1 $zero, $f0 +/* 95C0CC 80240ECC C654000C */ lwc1 $f20, 0xc($s2) +/* 95C0D0 80240ED0 4600103C */ c.lt.s $f2, $f0 +/* 95C0D4 80240ED4 00000000 */ nop +/* 95C0D8 80240ED8 45000006 */ bc1f .L80240EF4 +/* 95C0DC 80240EDC 00021023 */ negu $v0, $v0 +/* 95C0E0 80240EE0 44820000 */ mtc1 $v0, $f0 +/* 95C0E4 80240EE4 00000000 */ nop +/* 95C0E8 80240EE8 46800020 */ cvt.s.w $f0, $f0 +/* 95C0EC 80240EEC 080903BE */ j .L80240EF8 +/* 95C0F0 80240EF0 4600A500 */ add.s $f20, $f20, $f0 +.L80240EF4: +/* 95C0F4 80240EF4 4604A500 */ add.s $f20, $f20, $f4 +.L80240EF8: +/* 95C0F8 80240EF8 0C00A6C9 */ jal clamp_angle +/* 95C0FC 80240EFC 4600A306 */ mov.s $f12, $f20 +/* 95C100 80240F00 2402000D */ addiu $v0, $zero, 0xd +/* 95C104 80240F04 E640000C */ swc1 $f0, 0xc($s2) +/* 95C108 80240F08 AE620070 */ sw $v0, 0x70($s3) +/* 95C10C 80240F0C 8FBF0020 */ lw $ra, 0x20($sp) +/* 95C110 80240F10 8FB3001C */ lw $s3, 0x1c($sp) +/* 95C114 80240F14 8FB20018 */ lw $s2, 0x18($sp) +/* 95C118 80240F18 8FB10014 */ lw $s1, 0x14($sp) +/* 95C11C 80240F1C 8FB00010 */ lw $s0, 0x10($sp) +/* 95C120 80240F20 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 95C124 80240F24 03E00008 */ jr $ra +/* 95C128 80240F28 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80240F2C.s b/asm/nonmatchings/world/area_dro/dro_01/func_80240F2C.s new file mode 100644 index 0000000000..174aa72cd5 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80240F2C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F2C +/* 95C12C 80240F2C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95C130 80240F30 AFB3003C */ sw $s3, 0x3c($sp) +/* 95C134 80240F34 0080982D */ daddu $s3, $a0, $zero +/* 95C138 80240F38 AFBF0040 */ sw $ra, 0x40($sp) +/* 95C13C 80240F3C AFB20038 */ sw $s2, 0x38($sp) +/* 95C140 80240F40 AFB10034 */ sw $s1, 0x34($sp) +/* 95C144 80240F44 AFB00030 */ sw $s0, 0x30($sp) +/* 95C148 80240F48 8E720148 */ lw $s2, 0x148($s3) +/* 95C14C 80240F4C 00A0882D */ daddu $s1, $a1, $zero +/* 95C150 80240F50 86440008 */ lh $a0, 8($s2) +/* 95C154 80240F54 0C00EABB */ jal get_npc_unsafe +/* 95C158 80240F58 00C0802D */ daddu $s0, $a2, $zero +/* 95C15C 80240F5C 0200202D */ daddu $a0, $s0, $zero +/* 95C160 80240F60 0240282D */ daddu $a1, $s2, $zero +/* 95C164 80240F64 24030001 */ addiu $v1, $zero, 1 +/* 95C168 80240F68 AFA30010 */ sw $v1, 0x10($sp) +/* 95C16C 80240F6C 8E260024 */ lw $a2, 0x24($s1) +/* 95C170 80240F70 8E270028 */ lw $a3, 0x28($s1) +/* 95C174 80240F74 0C01242D */ jal func_800490B4 +/* 95C178 80240F78 0040802D */ daddu $s0, $v0, $zero +/* 95C17C 80240F7C 1440001E */ bnez $v0, .L80240FF8 +/* 95C180 80240F80 0200202D */ daddu $a0, $s0, $zero +/* 95C184 80240F84 24040002 */ addiu $a0, $zero, 2 +/* 95C188 80240F88 0200282D */ daddu $a1, $s0, $zero +/* 95C18C 80240F8C 0000302D */ daddu $a2, $zero, $zero +/* 95C190 80240F90 860300A8 */ lh $v1, 0xa8($s0) +/* 95C194 80240F94 3C013F80 */ lui $at, 0x3f80 +/* 95C198 80240F98 44810000 */ mtc1 $at, $f0 +/* 95C19C 80240F9C 3C014000 */ lui $at, 0x4000 +/* 95C1A0 80240FA0 44811000 */ mtc1 $at, $f2 +/* 95C1A4 80240FA4 3C01C1A0 */ lui $at, 0xc1a0 +/* 95C1A8 80240FA8 44812000 */ mtc1 $at, $f4 +/* 95C1AC 80240FAC 2402000F */ addiu $v0, $zero, 0xf +/* 95C1B0 80240FB0 AFA2001C */ sw $v0, 0x1c($sp) +/* 95C1B4 80240FB4 44833000 */ mtc1 $v1, $f6 +/* 95C1B8 80240FB8 00000000 */ nop +/* 95C1BC 80240FBC 468031A0 */ cvt.s.w $f6, $f6 +/* 95C1C0 80240FC0 44073000 */ mfc1 $a3, $f6 +/* 95C1C4 80240FC4 27A20028 */ addiu $v0, $sp, 0x28 +/* 95C1C8 80240FC8 AFA20020 */ sw $v0, 0x20($sp) +/* 95C1CC 80240FCC E7A00010 */ swc1 $f0, 0x10($sp) +/* 95C1D0 80240FD0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 95C1D4 80240FD4 0C01BFA4 */ jal fx_emote +/* 95C1D8 80240FD8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 95C1DC 80240FDC 8E4200CC */ lw $v0, 0xcc($s2) +/* 95C1E0 80240FE0 8C430000 */ lw $v1, ($v0) +/* 95C1E4 80240FE4 24020019 */ addiu $v0, $zero, 0x19 +/* 95C1E8 80240FE8 A602008E */ sh $v0, 0x8e($s0) +/* 95C1EC 80240FEC 2402000E */ addiu $v0, $zero, 0xe +/* 95C1F0 80240FF0 0809040B */ j .L8024102C +/* 95C1F4 80240FF4 AE030028 */ sw $v1, 0x28($s0) +.L80240FF8: +/* 95C1F8 80240FF8 0C00F598 */ jal func_8003D660 +/* 95C1FC 80240FFC 24050001 */ addiu $a1, $zero, 1 +/* 95C200 80241000 8E050018 */ lw $a1, 0x18($s0) +/* 95C204 80241004 8E06000C */ lw $a2, 0xc($s0) +/* 95C208 80241008 0C00EA95 */ jal npc_move_heading +/* 95C20C 8024100C 0200202D */ daddu $a0, $s0, $zero +/* 95C210 80241010 8602008E */ lh $v0, 0x8e($s0) +/* 95C214 80241014 9603008E */ lhu $v1, 0x8e($s0) +/* 95C218 80241018 18400003 */ blez $v0, .L80241028 +/* 95C21C 8024101C 2462FFFF */ addiu $v0, $v1, -1 +/* 95C220 80241020 0809040C */ j .L80241030 +/* 95C224 80241024 A602008E */ sh $v0, 0x8e($s0) +.L80241028: +/* 95C228 80241028 2402000C */ addiu $v0, $zero, 0xc +.L8024102C: +/* 95C22C 8024102C AE620070 */ sw $v0, 0x70($s3) +.L80241030: +/* 95C230 80241030 8FBF0040 */ lw $ra, 0x40($sp) +/* 95C234 80241034 8FB3003C */ lw $s3, 0x3c($sp) +/* 95C238 80241038 8FB20038 */ lw $s2, 0x38($sp) +/* 95C23C 8024103C 8FB10034 */ lw $s1, 0x34($sp) +/* 95C240 80241040 8FB00030 */ lw $s0, 0x30($sp) +/* 95C244 80241044 03E00008 */ jr $ra +/* 95C248 80241048 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024104C.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024104C.s new file mode 100644 index 0000000000..afa1d4c403 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024104C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024104C +/* 95C24C 8024104C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95C250 80241050 AFB10014 */ sw $s1, 0x14($sp) +/* 95C254 80241054 0080882D */ daddu $s1, $a0, $zero +/* 95C258 80241058 AFBF0018 */ sw $ra, 0x18($sp) +/* 95C25C 8024105C AFB00010 */ sw $s0, 0x10($sp) +/* 95C260 80241060 8E300148 */ lw $s0, 0x148($s1) +/* 95C264 80241064 0C00EABB */ jal get_npc_unsafe +/* 95C268 80241068 86040008 */ lh $a0, 8($s0) +/* 95C26C 8024106C 9443008E */ lhu $v1, 0x8e($v0) +/* 95C270 80241070 2463FFFF */ addiu $v1, $v1, -1 +/* 95C274 80241074 A443008E */ sh $v1, 0x8e($v0) +/* 95C278 80241078 00031C00 */ sll $v1, $v1, 0x10 +/* 95C27C 8024107C 14600008 */ bnez $v1, .L802410A0 +/* 95C280 80241080 00000000 */ nop +/* 95C284 80241084 8E0200B0 */ lw $v0, 0xb0($s0) +/* 95C288 80241088 30420080 */ andi $v0, $v0, 0x80 +/* 95C28C 8024108C 10400003 */ beqz $v0, .L8024109C +/* 95C290 80241090 2402000F */ addiu $v0, $zero, 0xf +/* 95C294 80241094 08090428 */ j .L802410A0 +/* 95C298 80241098 AE220070 */ sw $v0, 0x70($s1) +.L8024109C: +/* 95C29C 8024109C AE200070 */ sw $zero, 0x70($s1) +.L802410A0: +/* 95C2A0 802410A0 8FBF0018 */ lw $ra, 0x18($sp) +/* 95C2A4 802410A4 8FB10014 */ lw $s1, 0x14($sp) +/* 95C2A8 802410A8 8FB00010 */ lw $s0, 0x10($sp) +/* 95C2AC 802410AC 03E00008 */ jr $ra +/* 95C2B0 802410B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802410B4.s b/asm/nonmatchings/world/area_dro/dro_01/func_802410B4.s new file mode 100644 index 0000000000..0d15c3d867 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802410B4.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B4 +/* 95C2B4 802410B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95C2B8 802410B8 AFB10014 */ sw $s1, 0x14($sp) +/* 95C2BC 802410BC 0080882D */ daddu $s1, $a0, $zero +/* 95C2C0 802410C0 AFBF001C */ sw $ra, 0x1c($sp) +/* 95C2C4 802410C4 AFB20018 */ sw $s2, 0x18($sp) +/* 95C2C8 802410C8 AFB00010 */ sw $s0, 0x10($sp) +/* 95C2CC 802410CC 8E300148 */ lw $s0, 0x148($s1) +/* 95C2D0 802410D0 86040008 */ lh $a0, 8($s0) +/* 95C2D4 802410D4 0C00EABB */ jal get_npc_unsafe +/* 95C2D8 802410D8 00A0902D */ daddu $s2, $a1, $zero +/* 95C2DC 802410DC 8E0300D0 */ lw $v1, 0xd0($s0) +/* 95C2E0 802410E0 8E240078 */ lw $a0, 0x78($s1) +/* 95C2E4 802410E4 8C630000 */ lw $v1, ($v1) +/* 95C2E8 802410E8 0083182A */ slt $v1, $a0, $v1 +/* 95C2EC 802410EC 10600013 */ beqz $v1, .L8024113C +/* 95C2F0 802410F0 0040302D */ daddu $a2, $v0, $zero +/* 95C2F4 802410F4 00041040 */ sll $v0, $a0, 1 +/* 95C2F8 802410F8 00441021 */ addu $v0, $v0, $a0 +/* 95C2FC 802410FC 00022880 */ sll $a1, $v0, 2 +.L80241100: +/* 95C300 80241100 8E0300D0 */ lw $v1, 0xd0($s0) +/* 95C304 80241104 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 95C308 80241108 00A31021 */ addu $v0, $a1, $v1 +/* 95C30C 8024110C C4400008 */ lwc1 $f0, 8($v0) +/* 95C310 80241110 46800020 */ cvt.s.w $f0, $f0 +/* 95C314 80241114 4602003E */ c.le.s $f0, $f2 +/* 95C318 80241118 00000000 */ nop +/* 95C31C 8024111C 45020003 */ bc1fl .L8024112C +/* 95C320 80241120 24840001 */ addiu $a0, $a0, 1 +/* 95C324 80241124 0809044F */ j .L8024113C +/* 95C328 80241128 AE240078 */ sw $a0, 0x78($s1) +.L8024112C: +/* 95C32C 8024112C 8C620000 */ lw $v0, ($v1) +/* 95C330 80241130 0082102A */ slt $v0, $a0, $v0 +/* 95C334 80241134 1440FFF2 */ bnez $v0, .L80241100 +/* 95C338 80241138 24A5000C */ addiu $a1, $a1, 0xc +.L8024113C: +/* 95C33C 8024113C C6400000 */ lwc1 $f0, ($s2) +/* 95C340 80241140 E4C00018 */ swc1 $f0, 0x18($a2) +/* 95C344 80241144 8E0200CC */ lw $v0, 0xcc($s0) +/* 95C348 80241148 8C420004 */ lw $v0, 4($v0) +/* 95C34C 8024114C ACC20028 */ sw $v0, 0x28($a2) +/* 95C350 80241150 24020001 */ addiu $v0, $zero, 1 +/* 95C354 80241154 AE200074 */ sw $zero, 0x74($s1) +/* 95C358 80241158 AE220070 */ sw $v0, 0x70($s1) +/* 95C35C 8024115C 8FBF001C */ lw $ra, 0x1c($sp) +/* 95C360 80241160 8FB20018 */ lw $s2, 0x18($sp) +/* 95C364 80241164 8FB10014 */ lw $s1, 0x14($sp) +/* 95C368 80241168 8FB00010 */ lw $s0, 0x10($sp) +/* 95C36C 8024116C 03E00008 */ jr $ra +/* 95C370 80241170 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241174_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241174_95B200.s new file mode 100644 index 0000000000..e0af860996 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241174_95B200.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241174_95C374 +/* 95C374 80241174 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 95C378 80241178 AFB40058 */ sw $s4, 0x58($sp) +/* 95C37C 8024117C 0080A02D */ daddu $s4, $a0, $zero +/* 95C380 80241180 AFBF0060 */ sw $ra, 0x60($sp) +/* 95C384 80241184 AFB5005C */ sw $s5, 0x5c($sp) +/* 95C388 80241188 AFB30054 */ sw $s3, 0x54($sp) +/* 95C38C 8024118C AFB20050 */ sw $s2, 0x50($sp) +/* 95C390 80241190 AFB1004C */ sw $s1, 0x4c($sp) +/* 95C394 80241194 AFB00048 */ sw $s0, 0x48($sp) +/* 95C398 80241198 8E910148 */ lw $s1, 0x148($s4) +/* 95C39C 8024119C 86240008 */ lh $a0, 8($s1) +/* 95C3A0 802411A0 0C00EABB */ jal get_npc_unsafe +/* 95C3A4 802411A4 00A0802D */ daddu $s0, $a1, $zero +/* 95C3A8 802411A8 8E83000C */ lw $v1, 0xc($s4) +/* 95C3AC 802411AC 0280202D */ daddu $a0, $s4, $zero +/* 95C3B0 802411B0 8C650000 */ lw $a1, ($v1) +/* 95C3B4 802411B4 0C0B1EAF */ jal get_variable +/* 95C3B8 802411B8 0040902D */ daddu $s2, $v0, $zero +/* 95C3BC 802411BC AFA00018 */ sw $zero, 0x18($sp) +/* 95C3C0 802411C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95C3C4 802411C4 8C630094 */ lw $v1, 0x94($v1) +/* 95C3C8 802411C8 AFA3001C */ sw $v1, 0x1c($sp) +/* 95C3CC 802411CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95C3D0 802411D0 8C630080 */ lw $v1, 0x80($v1) +/* 95C3D4 802411D4 AFA30020 */ sw $v1, 0x20($sp) +/* 95C3D8 802411D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95C3DC 802411DC 8C630088 */ lw $v1, 0x88($v1) +/* 95C3E0 802411E0 AFA30024 */ sw $v1, 0x24($sp) +/* 95C3E4 802411E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95C3E8 802411E8 8C63008C */ lw $v1, 0x8c($v1) +/* 95C3EC 802411EC 27B50018 */ addiu $s5, $sp, 0x18 +/* 95C3F0 802411F0 AFA30028 */ sw $v1, 0x28($sp) +/* 95C3F4 802411F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 95C3F8 802411F8 3C014282 */ lui $at, 0x4282 +/* 95C3FC 802411FC 44810000 */ mtc1 $at, $f0 +/* 95C400 80241200 8C630090 */ lw $v1, 0x90($v1) +/* 95C404 80241204 0040982D */ daddu $s3, $v0, $zero +/* 95C408 80241208 E7A00030 */ swc1 $f0, 0x30($sp) +/* 95C40C 8024120C A7A00034 */ sh $zero, 0x34($sp) +/* 95C410 80241210 16000005 */ bnez $s0, .L80241228 +/* 95C414 80241214 AFA3002C */ sw $v1, 0x2c($sp) +/* 95C418 80241218 8E2200B0 */ lw $v0, 0xb0($s1) +/* 95C41C 8024121C 30420004 */ andi $v0, $v0, 4 +/* 95C420 80241220 10400044 */ beqz $v0, .L80241334 +/* 95C424 80241224 00000000 */ nop +.L80241228: +/* 95C428 80241228 2404F7FF */ addiu $a0, $zero, -0x801 +/* 95C42C 8024122C AE800070 */ sw $zero, 0x70($s4) +/* 95C430 80241230 A640008E */ sh $zero, 0x8e($s2) +/* 95C434 80241234 8E2200CC */ lw $v0, 0xcc($s1) +/* 95C438 80241238 8E430000 */ lw $v1, ($s2) +/* 95C43C 8024123C 8C420000 */ lw $v0, ($v0) +/* 95C440 80241240 00641824 */ and $v1, $v1, $a0 +/* 95C444 80241244 AE430000 */ sw $v1, ($s2) +/* 95C448 80241248 AE420028 */ sw $v0, 0x28($s2) +/* 95C44C 8024124C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 95C450 80241250 8C420098 */ lw $v0, 0x98($v0) +/* 95C454 80241254 54400005 */ bnel $v0, $zero, .L8024126C +/* 95C458 80241258 2402FDFF */ addiu $v0, $zero, -0x201 +/* 95C45C 8024125C 34620200 */ ori $v0, $v1, 0x200 +/* 95C460 80241260 2403FFF7 */ addiu $v1, $zero, -9 +/* 95C464 80241264 0809049D */ j .L80241274 +/* 95C468 80241268 00431024 */ and $v0, $v0, $v1 +.L8024126C: +/* 95C46C 8024126C 00621024 */ and $v0, $v1, $v0 +/* 95C470 80241270 34420008 */ ori $v0, $v0, 8 +.L80241274: +/* 95C474 80241274 AE420000 */ sw $v0, ($s2) +/* 95C478 80241278 8E2200B0 */ lw $v0, 0xb0($s1) +/* 95C47C 8024127C 30420004 */ andi $v0, $v0, 4 +/* 95C480 80241280 10400008 */ beqz $v0, .L802412A4 +/* 95C484 80241284 24020063 */ addiu $v0, $zero, 0x63 +/* 95C488 80241288 AE820070 */ sw $v0, 0x70($s4) +/* 95C48C 8024128C AE800074 */ sw $zero, 0x74($s4) +/* 95C490 80241290 8E2200B0 */ lw $v0, 0xb0($s1) +/* 95C494 80241294 2403FFFB */ addiu $v1, $zero, -5 +/* 95C498 80241298 00431024 */ and $v0, $v0, $v1 +/* 95C49C 8024129C 080904B4 */ j .L802412D0 +/* 95C4A0 802412A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802412A4: +/* 95C4A4 802412A4 8E220000 */ lw $v0, ($s1) +/* 95C4A8 802412A8 3C034000 */ lui $v1, 0x4000 +/* 95C4AC 802412AC 00431024 */ and $v0, $v0, $v1 +/* 95C4B0 802412B0 10400007 */ beqz $v0, .L802412D0 +/* 95C4B4 802412B4 3C03BFFF */ lui $v1, 0xbfff +/* 95C4B8 802412B8 2402000C */ addiu $v0, $zero, 0xc +/* 95C4BC 802412BC AE820070 */ sw $v0, 0x70($s4) +/* 95C4C0 802412C0 8E220000 */ lw $v0, ($s1) +/* 95C4C4 802412C4 3463FFFF */ ori $v1, $v1, 0xffff +/* 95C4C8 802412C8 00431024 */ and $v0, $v0, $v1 +/* 95C4CC 802412CC AE220000 */ sw $v0, ($s1) +.L802412D0: +/* 95C4D0 802412D0 27A50038 */ addiu $a1, $sp, 0x38 +/* 95C4D4 802412D4 27A6003C */ addiu $a2, $sp, 0x3c +/* 95C4D8 802412D8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 95C4DC 802412DC 864200A8 */ lh $v0, 0xa8($s2) +/* 95C4E0 802412E0 3C0142C8 */ lui $at, 0x42c8 +/* 95C4E4 802412E4 44812000 */ mtc1 $at, $f4 +/* 95C4E8 802412E8 44823000 */ mtc1 $v0, $f6 +/* 95C4EC 802412EC 00000000 */ nop +/* 95C4F0 802412F0 468031A0 */ cvt.s.w $f6, $f6 +/* 95C4F4 802412F4 27A20044 */ addiu $v0, $sp, 0x44 +/* 95C4F8 802412F8 E7A00038 */ swc1 $f0, 0x38($sp) +/* 95C4FC 802412FC C640003C */ lwc1 $f0, 0x3c($s2) +/* 95C500 80241300 C6420040 */ lwc1 $f2, 0x40($s2) +/* 95C504 80241304 46060000 */ add.s $f0, $f0, $f6 +/* 95C508 80241308 E7A40044 */ swc1 $f4, 0x44($sp) +/* 95C50C 8024130C E7A20040 */ swc1 $f2, 0x40($sp) +/* 95C510 80241310 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 95C514 80241314 AFA20010 */ sw $v0, 0x10($sp) +/* 95C518 80241318 8E440080 */ lw $a0, 0x80($s2) +/* 95C51C 8024131C 0C0372DF */ jal func_800DCB7C +/* 95C520 80241320 27A70040 */ addiu $a3, $sp, 0x40 +/* 95C524 80241324 10400003 */ beqz $v0, .L80241334 +/* 95C528 80241328 00000000 */ nop +/* 95C52C 8024132C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 95C530 80241330 E640003C */ swc1 $f0, 0x3c($s2) +.L80241334: +/* 95C534 80241334 8E830070 */ lw $v1, 0x70($s4) +/* 95C538 80241338 2C620064 */ sltiu $v0, $v1, 0x64 +/* 95C53C 8024133C 10400042 */ beqz $v0, .L80241448 +/* 95C540 80241340 00031080 */ sll $v0, $v1, 2 +/* 95C544 80241344 3C018025 */ lui $at, 0x8025 +/* 95C548 80241348 00220821 */ addu $at, $at, $v0 +/* 95C54C 8024134C 8C22DDF0 */ lw $v0, -0x2210($at) +/* 95C550 80241350 00400008 */ jr $v0 +/* 95C554 80241354 00000000 */ nop +/* 95C558 80241358 0280202D */ daddu $a0, $s4, $zero +/* 95C55C 8024135C 0260282D */ daddu $a1, $s3, $zero +/* 95C560 80241360 0C090178 */ jal func_802405E0 +/* 95C564 80241364 02A0302D */ daddu $a2, $s5, $zero +/* 95C568 80241368 0280202D */ daddu $a0, $s4, $zero +/* 95C56C 8024136C 0260282D */ daddu $a1, $s3, $zero +/* 95C570 80241370 0C0901CE */ jal func_80240738 +/* 95C574 80241374 02A0302D */ daddu $a2, $s5, $zero +/* 95C578 80241378 08090512 */ j .L80241448 +/* 95C57C 8024137C 00000000 */ nop +/* 95C580 80241380 0280202D */ daddu $a0, $s4, $zero +/* 95C584 80241384 0260282D */ daddu $a1, $s3, $zero +/* 95C588 80241388 0C090278 */ jal func_802409E0 +/* 95C58C 8024138C 02A0302D */ daddu $a2, $s5, $zero +/* 95C590 80241390 0280202D */ daddu $a0, $s4, $zero +/* 95C594 80241394 0260282D */ daddu $a1, $s3, $zero +/* 95C598 80241398 0C0902A8 */ jal func_80240AA0 +/* 95C59C 8024139C 02A0302D */ daddu $a2, $s5, $zero +/* 95C5A0 802413A0 08090512 */ j .L80241448 +/* 95C5A4 802413A4 00000000 */ nop +/* 95C5A8 802413A8 0280202D */ daddu $a0, $s4, $zero +/* 95C5AC 802413AC 0260282D */ daddu $a1, $s3, $zero +/* 95C5B0 802413B0 0C090317 */ jal func_80240C5C +/* 95C5B4 802413B4 02A0302D */ daddu $a2, $s5, $zero +/* 95C5B8 802413B8 08090512 */ j .L80241448 +/* 95C5BC 802413BC 00000000 */ nop +/* 95C5C0 802413C0 0280202D */ daddu $a0, $s4, $zero +/* 95C5C4 802413C4 0260282D */ daddu $a1, $s3, $zero +/* 95C5C8 802413C8 0C090344 */ jal func_80240D10 +/* 95C5CC 802413CC 02A0302D */ daddu $a2, $s5, $zero +/* 95C5D0 802413D0 0280202D */ daddu $a0, $s4, $zero +/* 95C5D4 802413D4 0260282D */ daddu $a1, $s3, $zero +/* 95C5D8 802413D8 0C090361 */ jal func_80240D84 +/* 95C5DC 802413DC 02A0302D */ daddu $a2, $s5, $zero +/* 95C5E0 802413E0 08090512 */ j .L80241448 +/* 95C5E4 802413E4 00000000 */ nop +/* 95C5E8 802413E8 0280202D */ daddu $a0, $s4, $zero +/* 95C5EC 802413EC 0260282D */ daddu $a1, $s3, $zero +/* 95C5F0 802413F0 0C09037F */ jal func_80240DFC +/* 95C5F4 802413F4 02A0302D */ daddu $a2, $s5, $zero +/* 95C5F8 802413F8 0280202D */ daddu $a0, $s4, $zero +/* 95C5FC 802413FC 0260282D */ daddu $a1, $s3, $zero +/* 95C600 80241400 0C0903CB */ jal func_80240F2C +/* 95C604 80241404 02A0302D */ daddu $a2, $s5, $zero +/* 95C608 80241408 08090512 */ j .L80241448 +/* 95C60C 8024140C 00000000 */ nop +/* 95C610 80241410 0280202D */ daddu $a0, $s4, $zero +/* 95C614 80241414 0260282D */ daddu $a1, $s3, $zero +/* 95C618 80241418 0C090413 */ jal func_8024104C +/* 95C61C 8024141C 02A0302D */ daddu $a2, $s5, $zero +/* 95C620 80241420 08090512 */ j .L80241448 +/* 95C624 80241424 00000000 */ nop +/* 95C628 80241428 0280202D */ daddu $a0, $s4, $zero +/* 95C62C 8024142C 0260282D */ daddu $a1, $s3, $zero +/* 95C630 80241430 0C09042D */ jal func_802410B4 +/* 95C634 80241434 02A0302D */ daddu $a2, $s5, $zero +/* 95C638 80241438 08090512 */ j .L80241448 +/* 95C63C 8024143C 00000000 */ nop +/* 95C640 80241440 0C0129CF */ jal func_8004A73C +/* 95C644 80241444 0280202D */ daddu $a0, $s4, $zero +.L80241448: +/* 95C648 80241448 8FBF0060 */ lw $ra, 0x60($sp) +/* 95C64C 8024144C 8FB5005C */ lw $s5, 0x5c($sp) +/* 95C650 80241450 8FB40058 */ lw $s4, 0x58($sp) +/* 95C654 80241454 8FB30054 */ lw $s3, 0x54($sp) +/* 95C658 80241458 8FB20050 */ lw $s2, 0x50($sp) +/* 95C65C 8024145C 8FB1004C */ lw $s1, 0x4c($sp) +/* 95C660 80241460 8FB00048 */ lw $s0, 0x48($sp) +/* 95C664 80241464 0000102D */ daddu $v0, $zero, $zero +/* 95C668 80241468 03E00008 */ jr $ra +/* 95C66C 8024146C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241470.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241470.s new file mode 100644 index 0000000000..7bd7a91644 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241470.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241470 +/* 95C670 80241470 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95C674 80241474 AFB00010 */ sw $s0, 0x10($sp) +/* 95C678 80241478 3C108024 */ lui $s0, 0x8024 +/* 95C67C 8024147C 261051B8 */ addiu $s0, $s0, 0x51b8 +/* 95C680 80241480 AFBF0018 */ sw $ra, 0x18($sp) +/* 95C684 80241484 AFB10014 */ sw $s1, 0x14($sp) +/* 95C688 80241488 8E020000 */ lw $v0, ($s0) +/* 95C68C 8024148C 14400010 */ bnez $v0, .L802414D0 +/* 95C690 80241490 0080882D */ daddu $s1, $a0, $zero +/* 95C694 80241494 0C00AB39 */ jal heap_malloc +/* 95C698 80241498 24040040 */ addiu $a0, $zero, 0x40 +/* 95C69C 8024149C AE020000 */ sw $v0, ($s0) +/* 95C6A0 802414A0 0000182D */ daddu $v1, $zero, $zero +/* 95C6A4 802414A4 0040282D */ daddu $a1, $v0, $zero +/* 95C6A8 802414A8 0220202D */ daddu $a0, $s1, $zero +.L802414AC: +/* 95C6AC 802414AC 8C820084 */ lw $v0, 0x84($a0) +/* 95C6B0 802414B0 24840004 */ addiu $a0, $a0, 4 +/* 95C6B4 802414B4 24630001 */ addiu $v1, $v1, 1 +/* 95C6B8 802414B8 ACA20000 */ sw $v0, ($a1) +/* 95C6BC 802414BC 28620010 */ slti $v0, $v1, 0x10 +/* 95C6C0 802414C0 1440FFFA */ bnez $v0, .L802414AC +/* 95C6C4 802414C4 24A50004 */ addiu $a1, $a1, 4 +/* 95C6C8 802414C8 08090543 */ j .L8024150C +/* 95C6CC 802414CC 00000000 */ nop +.L802414D0: +/* 95C6D0 802414D0 0000182D */ daddu $v1, $zero, $zero +/* 95C6D4 802414D4 0040282D */ daddu $a1, $v0, $zero +/* 95C6D8 802414D8 0220202D */ daddu $a0, $s1, $zero +.L802414DC: +/* 95C6DC 802414DC 8CA20000 */ lw $v0, ($a1) +/* 95C6E0 802414E0 24A50004 */ addiu $a1, $a1, 4 +/* 95C6E4 802414E4 24630001 */ addiu $v1, $v1, 1 +/* 95C6E8 802414E8 AC820084 */ sw $v0, 0x84($a0) +/* 95C6EC 802414EC 28620010 */ slti $v0, $v1, 0x10 +/* 95C6F0 802414F0 1440FFFA */ bnez $v0, .L802414DC +/* 95C6F4 802414F4 24840004 */ addiu $a0, $a0, 4 +/* 95C6F8 802414F8 3C108024 */ lui $s0, 0x8024 +/* 95C6FC 802414FC 261051B8 */ addiu $s0, $s0, 0x51b8 +/* 95C700 80241500 0C00AB4B */ jal heap_free +/* 95C704 80241504 8E040000 */ lw $a0, ($s0) +/* 95C708 80241508 AE000000 */ sw $zero, ($s0) +.L8024150C: +/* 95C70C 8024150C 8FBF0018 */ lw $ra, 0x18($sp) +/* 95C710 80241510 8FB10014 */ lw $s1, 0x14($sp) +/* 95C714 80241514 8FB00010 */ lw $s0, 0x10($sp) +/* 95C718 80241518 24020002 */ addiu $v0, $zero, 2 +/* 95C71C 8024151C 03E00008 */ jr $ra +/* 95C720 80241520 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241524.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241524.s new file mode 100644 index 0000000000..c70ed986d0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241524.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241524 +/* 95C724 80241524 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95C728 80241528 AFB00010 */ sw $s0, 0x10($sp) +/* 95C72C 8024152C 0080802D */ daddu $s0, $a0, $zero +/* 95C730 80241530 AFBF0018 */ sw $ra, 0x18($sp) +/* 95C734 80241534 AFB10014 */ sw $s1, 0x14($sp) +/* 95C738 80241538 8E02000C */ lw $v0, 0xc($s0) +/* 95C73C 8024153C 8C510000 */ lw $s1, ($v0) +/* 95C740 80241540 0C0B1EAF */ jal get_variable +/* 95C744 80241544 0220282D */ daddu $a1, $s1, $zero +/* 95C748 80241548 3C03FFF0 */ lui $v1, 0xfff0 +/* 95C74C 8024154C 3463FFFF */ ori $v1, $v1, 0xffff +/* 95C750 80241550 0200202D */ daddu $a0, $s0, $zero +/* 95C754 80241554 00431024 */ and $v0, $v0, $v1 +/* 95C758 80241558 00021140 */ sll $v0, $v0, 5 +/* 95C75C 8024155C 3C068008 */ lui $a2, %hi(gItemTable) +/* 95C760 80241560 00C23021 */ addu $a2, $a2, $v0 +/* 95C764 80241564 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 95C768 80241568 0C0B2026 */ jal set_variable +/* 95C76C 8024156C 0220282D */ daddu $a1, $s1, $zero +/* 95C770 80241570 8FBF0018 */ lw $ra, 0x18($sp) +/* 95C774 80241574 8FB10014 */ lw $s1, 0x14($sp) +/* 95C778 80241578 8FB00010 */ lw $s0, 0x10($sp) +/* 95C77C 8024157C 24020002 */ addiu $v0, $zero, 2 +/* 95C780 80241580 03E00008 */ jr $ra +/* 95C784 80241584 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241588.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241588.s new file mode 100644 index 0000000000..db46a0fdec --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241588.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241588 +/* 95C788 80241588 24020001 */ addiu $v0, $zero, 1 +/* 95C78C 8024158C 3C018015 */ lui $at, %hi(D_80151310) +/* 95C790 80241590 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 95C794 80241594 03E00008 */ jr $ra +/* 95C798 80241598 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024159C_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024159C_95B200.s new file mode 100644 index 0000000000..a09e694f23 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024159C_95B200.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024159C_95C79C +/* 95C79C 8024159C 3C018015 */ lui $at, %hi(D_80151310) +/* 95C7A0 802415A0 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 95C7A4 802415A4 03E00008 */ jr $ra +/* 95C7A8 802415A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802415AC.s b/asm/nonmatchings/world/area_dro/dro_01/func_802415AC.s new file mode 100644 index 0000000000..95b5bcba5d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802415AC.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415AC +/* 95C7AC 802415AC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95C7B0 802415B0 AFB10024 */ sw $s1, 0x24($sp) +/* 95C7B4 802415B4 0080882D */ daddu $s1, $a0, $zero +/* 95C7B8 802415B8 3C05F840 */ lui $a1, 0xf840 +/* 95C7BC 802415BC AFBF0044 */ sw $ra, 0x44($sp) +/* 95C7C0 802415C0 AFBE0040 */ sw $fp, 0x40($sp) +/* 95C7C4 802415C4 AFB7003C */ sw $s7, 0x3c($sp) +/* 95C7C8 802415C8 AFB60038 */ sw $s6, 0x38($sp) +/* 95C7CC 802415CC AFB50034 */ sw $s5, 0x34($sp) +/* 95C7D0 802415D0 AFB40030 */ sw $s4, 0x30($sp) +/* 95C7D4 802415D4 AFB3002C */ sw $s3, 0x2c($sp) +/* 95C7D8 802415D8 AFB20028 */ sw $s2, 0x28($sp) +/* 95C7DC 802415DC AFB00020 */ sw $s0, 0x20($sp) +/* 95C7E0 802415E0 8E3E0148 */ lw $fp, 0x148($s1) +/* 95C7E4 802415E4 0C0B1EAF */ jal get_variable +/* 95C7E8 802415E8 34A56268 */ ori $a1, $a1, 0x6268 +/* 95C7EC 802415EC 0040802D */ daddu $s0, $v0, $zero +/* 95C7F0 802415F0 0220202D */ daddu $a0, $s1, $zero +/* 95C7F4 802415F4 3C05F840 */ lui $a1, 0xf840 +/* 95C7F8 802415F8 0C0B1EAF */ jal get_variable +/* 95C7FC 802415FC 34A56269 */ ori $a1, $a1, 0x6269 +/* 95C800 80241600 0040B82D */ daddu $s7, $v0, $zero +/* 95C804 80241604 0220202D */ daddu $a0, $s1, $zero +/* 95C808 80241608 3C05F5DE */ lui $a1, 0xf5de +/* 95C80C 8024160C 0C0B1EAF */ jal get_variable +/* 95C810 80241610 34A502DE */ ori $a1, $a1, 0x2de +/* 95C814 80241614 0040B02D */ daddu $s6, $v0, $zero +/* 95C818 80241618 0220202D */ daddu $a0, $s1, $zero +/* 95C81C 8024161C 3C05F5DE */ lui $a1, 0xf5de +/* 95C820 80241620 0C0B1EAF */ jal get_variable +/* 95C824 80241624 34A502DF */ ori $a1, $a1, 0x2df +/* 95C828 80241628 0040A82D */ daddu $s5, $v0, $zero +/* 95C82C 8024162C 93D3006D */ lbu $s3, 0x6d($fp) +/* 95C830 80241630 32C2FFFF */ andi $v0, $s6, 0xffff +/* 95C834 80241634 A7B30010 */ sh $s3, 0x10($sp) +/* 95C838 80241638 93D2006E */ lbu $s2, 0x6e($fp) +/* 95C83C 8024163C 93C7006F */ lbu $a3, 0x6f($fp) +/* 95C840 80241640 3274FFFF */ andi $s4, $s3, 0xffff +/* 95C844 80241644 12820003 */ beq $s4, $v0, .L80241654 +/* 95C848 80241648 A7A7001E */ sh $a3, 0x1e($sp) +/* 95C84C 8024164C 0000B82D */ daddu $s7, $zero, $zero +/* 95C850 80241650 02E0802D */ daddu $s0, $s7, $zero +.L80241654: +/* 95C854 80241654 3202FFFF */ andi $v0, $s0, 0xffff +/* 95C858 80241658 14400016 */ bnez $v0, .L802416B4 +/* 95C85C 8024165C 0220202D */ daddu $a0, $s1, $zero +/* 95C860 80241660 0C00A67F */ jal rand_int +/* 95C864 80241664 24040064 */ addiu $a0, $zero, 0x64 +/* 95C868 80241668 2842001E */ slti $v0, $v0, 0x1e +/* 95C86C 8024166C 10400011 */ beqz $v0, .L802416B4 +/* 95C870 80241670 0220202D */ daddu $a0, $s1, $zero +/* 95C874 80241674 0C00A67F */ jal rand_int +/* 95C878 80241678 2644FFFF */ addiu $a0, $s2, -1 +/* 95C87C 8024167C 0040A82D */ daddu $s5, $v0, $zero +/* 95C880 80241680 0260B02D */ daddu $s6, $s3, $zero +/* 95C884 80241684 0220202D */ daddu $a0, $s1, $zero +/* 95C888 80241688 3C05F5DE */ lui $a1, 0xf5de +/* 95C88C 8024168C 34A502DE */ ori $a1, $a1, 0x2de +/* 95C890 80241690 0C0B2026 */ jal set_variable +/* 95C894 80241694 0280302D */ daddu $a2, $s4, $zero +/* 95C898 80241698 0220202D */ daddu $a0, $s1, $zero +/* 95C89C 8024169C 3C05F5DE */ lui $a1, 0xf5de +/* 95C8A0 802416A0 34A502DF */ ori $a1, $a1, 0x2df +/* 95C8A4 802416A4 0C0B2026 */ jal set_variable +/* 95C8A8 802416A8 32A6FFFF */ andi $a2, $s5, 0xffff +/* 95C8AC 802416AC 24100001 */ addiu $s0, $zero, 1 +/* 95C8B0 802416B0 0220202D */ daddu $a0, $s1, $zero +.L802416B4: +/* 95C8B4 802416B4 3C05F840 */ lui $a1, 0xf840 +/* 95C8B8 802416B8 34A56268 */ ori $a1, $a1, 0x6268 +/* 95C8BC 802416BC 0C0B2026 */ jal set_variable +/* 95C8C0 802416C0 3206FFFF */ andi $a2, $s0, 0xffff +/* 95C8C4 802416C4 0220202D */ daddu $a0, $s1, $zero +/* 95C8C8 802416C8 3C05F840 */ lui $a1, 0xf840 +/* 95C8CC 802416CC 34A56269 */ ori $a1, $a1, 0x6269 +/* 95C8D0 802416D0 0C0B2026 */ jal set_variable +/* 95C8D4 802416D4 32E6FFFF */ andi $a2, $s7, 0xffff +/* 95C8D8 802416D8 0000202D */ daddu $a0, $zero, $zero +/* 95C8DC 802416DC 3C05F5DE */ lui $a1, 0xf5de +/* 95C8E0 802416E0 0C0B1EAF */ jal get_variable +/* 95C8E4 802416E4 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 95C8E8 802416E8 0000202D */ daddu $a0, $zero, $zero +/* 95C8EC 802416EC 3C05F5DE */ lui $a1, 0xf5de +/* 95C8F0 802416F0 34A50180 */ ori $a1, $a1, 0x180 +/* 95C8F4 802416F4 0C0B1EAF */ jal get_variable +/* 95C8F8 802416F8 0040802D */ daddu $s0, $v0, $zero +/* 95C8FC 802416FC 0040282D */ daddu $a1, $v0, $zero +/* 95C900 80241700 0000182D */ daddu $v1, $zero, $zero +/* 95C904 80241704 3C068024 */ lui $a2, 0x8024 +/* 95C908 80241708 24C6525C */ addiu $a2, $a2, 0x525c +/* 95C90C 8024170C 00C0202D */ daddu $a0, $a2, $zero +.L80241710: +/* 95C910 80241710 8C820000 */ lw $v0, ($a0) +/* 95C914 80241714 00A2102A */ slt $v0, $a1, $v0 +/* 95C918 80241718 14400006 */ bnez $v0, .L80241734 +/* 95C91C 8024171C 000310C0 */ sll $v0, $v1, 3 +/* 95C920 80241720 24630001 */ addiu $v1, $v1, 1 +/* 95C924 80241724 28620008 */ slti $v0, $v1, 8 +/* 95C928 80241728 1440FFF9 */ bnez $v0, .L80241710 +/* 95C92C 8024172C 24840008 */ addiu $a0, $a0, 8 +/* 95C930 80241730 000310C0 */ sll $v0, $v1, 3 +.L80241734: +/* 95C934 80241734 00461021 */ addu $v0, $v0, $a2 +/* 95C938 80241738 8C420004 */ lw $v0, 4($v0) +/* 95C93C 8024173C 97A30010 */ lhu $v1, 0x10($sp) +/* 95C940 80241740 0202202A */ slt $a0, $s0, $v0 +/* 95C944 80241744 32C2FFFF */ andi $v0, $s6, 0xffff +/* 95C948 80241748 14620008 */ bne $v1, $v0, .L8024176C +/* 95C94C 8024174C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 95C950 80241750 97A7001E */ lhu $a3, 0x1e($sp) +/* 95C954 80241754 14E20005 */ bne $a3, $v0, .L8024176C +/* 95C958 80241758 32E2FFFF */ andi $v0, $s7, 0xffff +/* 95C95C 8024175C 14400003 */ bnez $v0, .L8024176C +/* 95C960 80241760 00000000 */ nop +/* 95C964 80241764 14800008 */ bnez $a0, .L80241788 +/* 95C968 80241768 24020001 */ addiu $v0, $zero, 1 +.L8024176C: +/* 95C96C 8024176C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 95C970 80241770 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 95C974 80241774 80420075 */ lb $v0, 0x75($v0) +/* 95C978 80241778 10400005 */ beqz $v0, .L80241790 +/* 95C97C 8024177C 00000000 */ nop +/* 95C980 80241780 10800003 */ beqz $a0, .L80241790 +/* 95C984 80241784 24020001 */ addiu $v0, $zero, 1 +.L80241788: +/* 95C988 80241788 080905E7 */ j .L8024179C +/* 95C98C 8024178C AE220084 */ sw $v0, 0x84($s1) +.L80241790: +/* 95C990 80241790 0C00F9EB */ jal kill_enemy +/* 95C994 80241794 03C0202D */ daddu $a0, $fp, $zero +/* 95C998 80241798 AE200084 */ sw $zero, 0x84($s1) +.L8024179C: +/* 95C99C 8024179C 8FBF0044 */ lw $ra, 0x44($sp) +/* 95C9A0 802417A0 8FBE0040 */ lw $fp, 0x40($sp) +/* 95C9A4 802417A4 8FB7003C */ lw $s7, 0x3c($sp) +/* 95C9A8 802417A8 8FB60038 */ lw $s6, 0x38($sp) +/* 95C9AC 802417AC 8FB50034 */ lw $s5, 0x34($sp) +/* 95C9B0 802417B0 8FB40030 */ lw $s4, 0x30($sp) +/* 95C9B4 802417B4 8FB3002C */ lw $s3, 0x2c($sp) +/* 95C9B8 802417B8 8FB20028 */ lw $s2, 0x28($sp) +/* 95C9BC 802417BC 8FB10024 */ lw $s1, 0x24($sp) +/* 95C9C0 802417C0 8FB00020 */ lw $s0, 0x20($sp) +/* 95C9C4 802417C4 24020002 */ addiu $v0, $zero, 2 +/* 95C9C8 802417C8 03E00008 */ jr $ra +/* 95C9CC 802417CC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802417D0.s b/asm/nonmatchings/world/area_dro/dro_01/func_802417D0.s new file mode 100644 index 0000000000..17d6c537da --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802417D0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417D0 +/* 95C9D0 802417D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95C9D4 802417D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 95C9D8 802417D8 AFB00010 */ sw $s0, 0x10($sp) +/* 95C9DC 802417DC 0C00EABB */ jal get_npc_unsafe +/* 95C9E0 802417E0 8C84014C */ lw $a0, 0x14c($a0) +/* 95C9E4 802417E4 24040008 */ addiu $a0, $zero, 8 +/* 95C9E8 802417E8 0040802D */ daddu $s0, $v0, $zero +/* 95C9EC 802417EC 3C028024 */ lui $v0, 0x8024 +/* 95C9F0 802417F0 2442183C */ addiu $v0, $v0, 0x183c +/* 95C9F4 802417F4 0C00AB39 */ jal heap_malloc +/* 95C9F8 802417F8 AE020008 */ sw $v0, 8($s0) +/* 95C9FC 802417FC 0040182D */ daddu $v1, $v0, $zero +/* 95CA00 80241800 AE030020 */ sw $v1, 0x20($s0) +/* 95CA04 80241804 AC600000 */ sw $zero, ($v1) +/* 95CA08 80241808 8FBF0014 */ lw $ra, 0x14($sp) +/* 95CA0C 8024180C 8FB00010 */ lw $s0, 0x10($sp) +/* 95CA10 80241810 24020001 */ addiu $v0, $zero, 1 +/* 95CA14 80241814 03E00008 */ jr $ra +/* 95CA18 80241818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024181C.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024181C.s new file mode 100644 index 0000000000..826f4d2d12 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024181C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024181C +/* 95CA1C 8024181C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95CA20 80241820 AFBF0010 */ sw $ra, 0x10($sp) +/* 95CA24 80241824 0C00EABB */ jal get_npc_unsafe +/* 95CA28 80241828 8C84014C */ lw $a0, 0x14c($a0) +/* 95CA2C 8024182C 8FBF0010 */ lw $ra, 0x10($sp) +/* 95CA30 80241830 0000102D */ daddu $v0, $zero, $zero +/* 95CA34 80241834 03E00008 */ jr $ra +/* 95CA38 80241838 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024183C.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024183C.s new file mode 100644 index 0000000000..582e0fa191 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024183C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024183C +/* 95CA3C 8024183C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95CA40 80241840 3C03800A */ lui $v1, 0x800a +/* 95CA44 80241844 8463A634 */ lh $v1, -0x59cc($v1) +/* 95CA48 80241848 3C05800B */ lui $a1, %hi(gCameras) +/* 95CA4C 8024184C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 95CA50 80241850 AFBF0010 */ sw $ra, 0x10($sp) +/* 95CA54 80241854 00031080 */ sll $v0, $v1, 2 +/* 95CA58 80241858 00431021 */ addu $v0, $v0, $v1 +/* 95CA5C 8024185C 00021080 */ sll $v0, $v0, 2 +/* 95CA60 80241860 00431023 */ subu $v0, $v0, $v1 +/* 95CA64 80241864 000218C0 */ sll $v1, $v0, 3 +/* 95CA68 80241868 00431021 */ addu $v0, $v0, $v1 +/* 95CA6C 8024186C 8C830020 */ lw $v1, 0x20($a0) +/* 95CA70 80241870 000210C0 */ sll $v0, $v0, 3 +/* 95CA74 80241874 8C630000 */ lw $v1, ($v1) +/* 95CA78 80241878 30630001 */ andi $v1, $v1, 1 +/* 95CA7C 8024187C 10600004 */ beqz $v1, .L80241890 +/* 95CA80 80241880 00451021 */ addu $v0, $v0, $a1 +/* 95CA84 80241884 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 95CA88 80241888 0C00A6C9 */ jal clamp_angle +/* 95CA8C 8024188C 46006307 */ neg.s $f12, $f12 +.L80241890: +/* 95CA90 80241890 8FBF0010 */ lw $ra, 0x10($sp) +/* 95CA94 80241894 03E00008 */ jr $ra +/* 95CA98 80241898 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024189C_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024189C_95B200.s new file mode 100644 index 0000000000..e6bff98043 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024189C_95B200.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024189C_95CA9C +/* 95CA9C 8024189C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95CAA0 802418A0 AFB10014 */ sw $s1, 0x14($sp) +/* 95CAA4 802418A4 0080882D */ daddu $s1, $a0, $zero +/* 95CAA8 802418A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 95CAAC 802418AC AFB40020 */ sw $s4, 0x20($sp) +/* 95CAB0 802418B0 AFB3001C */ sw $s3, 0x1c($sp) +/* 95CAB4 802418B4 AFB20018 */ sw $s2, 0x18($sp) +/* 95CAB8 802418B8 10A00033 */ beqz $a1, .L80241988 +/* 95CABC 802418BC AFB00010 */ sw $s0, 0x10($sp) +/* 95CAC0 802418C0 0C04760B */ jal func_8011D82C +/* 95CAC4 802418C4 24040001 */ addiu $a0, $zero, 1 +/* 95CAC8 802418C8 0000202D */ daddu $a0, $zero, $zero +/* 95CACC 802418CC 0080282D */ daddu $a1, $a0, $zero +/* 95CAD0 802418D0 0080302D */ daddu $a2, $a0, $zero +/* 95CAD4 802418D4 0080382D */ daddu $a3, $a0, $zero +/* 95CAD8 802418D8 0080802D */ daddu $s0, $a0, $zero +/* 95CADC 802418DC 2414FFFC */ addiu $s4, $zero, -4 +/* 95CAE0 802418E0 2413000A */ addiu $s3, $zero, 0xa +/* 95CAE4 802418E4 3C120080 */ lui $s2, 0x80 +/* 95CAE8 802418E8 3C038015 */ lui $v1, 0x8015 +/* 95CAEC 802418EC 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 95CAF0 802418F0 24020001 */ addiu $v0, $zero, 1 +/* 95CAF4 802418F4 0C046F97 */ jal set_background_color_blend +/* 95CAF8 802418F8 A0620000 */ sb $v0, ($v1) +.L802418FC: +/* 95CAFC 802418FC 0C00E2B7 */ jal get_npc_by_index +/* 95CB00 80241900 0200202D */ daddu $a0, $s0, $zero +/* 95CB04 80241904 0040202D */ daddu $a0, $v0, $zero +/* 95CB08 80241908 5080000B */ beql $a0, $zero, .L80241938 +/* 95CB0C 8024190C 26100001 */ addiu $s0, $s0, 1 +/* 95CB10 80241910 8C820000 */ lw $v0, ($a0) +/* 95CB14 80241914 50400008 */ beql $v0, $zero, .L80241938 +/* 95CB18 80241918 26100001 */ addiu $s0, $s0, 1 +/* 95CB1C 8024191C 808300A4 */ lb $v1, 0xa4($a0) +/* 95CB20 80241920 10740005 */ beq $v1, $s4, .L80241938 +/* 95CB24 80241924 26100001 */ addiu $s0, $s0, 1 +/* 95CB28 80241928 10730003 */ beq $v1, $s3, .L80241938 +/* 95CB2C 8024192C 00000000 */ nop +/* 95CB30 80241930 00521025 */ or $v0, $v0, $s2 +/* 95CB34 80241934 AC820000 */ sw $v0, ($a0) +.L80241938: +/* 95CB38 80241938 2A020040 */ slti $v0, $s0, 0x40 +/* 95CB3C 8024193C 1440FFEF */ bnez $v0, .L802418FC +/* 95CB40 80241940 00000000 */ nop +/* 95CB44 80241944 0000802D */ daddu $s0, $zero, $zero +/* 95CB48 80241948 3C120800 */ lui $s2, 0x800 +.L8024194C: +/* 95CB4C 8024194C 0C04C3D6 */ jal get_item_entity +/* 95CB50 80241950 0200202D */ daddu $a0, $s0, $zero +/* 95CB54 80241954 0040182D */ daddu $v1, $v0, $zero +/* 95CB58 80241958 10600007 */ beqz $v1, .L80241978 +/* 95CB5C 8024195C 26100001 */ addiu $s0, $s0, 1 +/* 95CB60 80241960 8C640000 */ lw $a0, ($v1) +/* 95CB64 80241964 30820010 */ andi $v0, $a0, 0x10 +/* 95CB68 80241968 10400003 */ beqz $v0, .L80241978 +/* 95CB6C 8024196C 00000000 */ nop +/* 95CB70 80241970 00921025 */ or $v0, $a0, $s2 +/* 95CB74 80241974 AC620000 */ sw $v0, ($v1) +.L80241978: +/* 95CB78 80241978 2A020100 */ slti $v0, $s0, 0x100 +/* 95CB7C 8024197C 1440FFF3 */ bnez $v0, .L8024194C +/* 95CB80 80241980 00000000 */ nop +/* 95CB84 80241984 AE200070 */ sw $zero, 0x70($s1) +.L80241988: +/* 95CB88 80241988 8E220070 */ lw $v0, 0x70($s1) +/* 95CB8C 8024198C 24420008 */ addiu $v0, $v0, 8 +/* 95CB90 80241990 AE220070 */ sw $v0, 0x70($s1) +/* 95CB94 80241994 28420100 */ slti $v0, $v0, 0x100 +/* 95CB98 80241998 14400003 */ bnez $v0, .L802419A8 +/* 95CB9C 8024199C 0000202D */ daddu $a0, $zero, $zero +/* 95CBA0 802419A0 240200FF */ addiu $v0, $zero, 0xff +/* 95CBA4 802419A4 AE220070 */ sw $v0, 0x70($s1) +.L802419A8: +/* 95CBA8 802419A8 0080282D */ daddu $a1, $a0, $zero +/* 95CBAC 802419AC 92270073 */ lbu $a3, 0x73($s1) +/* 95CBB0 802419B0 0C046F97 */ jal set_background_color_blend +/* 95CBB4 802419B4 0080302D */ daddu $a2, $a0, $zero +/* 95CBB8 802419B8 8E220070 */ lw $v0, 0x70($s1) +/* 95CBBC 802419BC 8FBF0024 */ lw $ra, 0x24($sp) +/* 95CBC0 802419C0 8FB40020 */ lw $s4, 0x20($sp) +/* 95CBC4 802419C4 8FB3001C */ lw $s3, 0x1c($sp) +/* 95CBC8 802419C8 8FB20018 */ lw $s2, 0x18($sp) +/* 95CBCC 802419CC 8FB10014 */ lw $s1, 0x14($sp) +/* 95CBD0 802419D0 8FB00010 */ lw $s0, 0x10($sp) +/* 95CBD4 802419D4 384200FF */ xori $v0, $v0, 0xff +/* 95CBD8 802419D8 2C420001 */ sltiu $v0, $v0, 1 +/* 95CBDC 802419DC 00021040 */ sll $v0, $v0, 1 +/* 95CBE0 802419E0 03E00008 */ jr $ra +/* 95CBE4 802419E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802419E8.s b/asm/nonmatchings/world/area_dro/dro_01/func_802419E8.s new file mode 100644 index 0000000000..5ca8c19840 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802419E8.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419E8 +/* 95CBE8 802419E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95CBEC 802419EC AFB00010 */ sw $s0, 0x10($sp) +/* 95CBF0 802419F0 0080802D */ daddu $s0, $a0, $zero +/* 95CBF4 802419F4 AFBF0020 */ sw $ra, 0x20($sp) +/* 95CBF8 802419F8 AFB3001C */ sw $s3, 0x1c($sp) +/* 95CBFC 802419FC AFB20018 */ sw $s2, 0x18($sp) +/* 95CC00 80241A00 10A00009 */ beqz $a1, .L80241A28 +/* 95CC04 80241A04 AFB10014 */ sw $s1, 0x14($sp) +/* 95CC08 80241A08 0000202D */ daddu $a0, $zero, $zero +/* 95CC0C 80241A0C 0080282D */ daddu $a1, $a0, $zero +/* 95CC10 80241A10 0080302D */ daddu $a2, $a0, $zero +/* 95CC14 80241A14 0C046F97 */ jal set_background_color_blend +/* 95CC18 80241A18 240700FF */ addiu $a3, $zero, 0xff +/* 95CC1C 80241A1C 240200FF */ addiu $v0, $zero, 0xff +/* 95CC20 80241A20 AE020070 */ sw $v0, 0x70($s0) +/* 95CC24 80241A24 AE000074 */ sw $zero, 0x74($s0) +.L80241A28: +/* 95CC28 80241A28 8E020070 */ lw $v0, 0x70($s0) +/* 95CC2C 80241A2C 2442FFF8 */ addiu $v0, $v0, -8 +/* 95CC30 80241A30 04410002 */ bgez $v0, .L80241A3C +/* 95CC34 80241A34 AE020070 */ sw $v0, 0x70($s0) +/* 95CC38 80241A38 AE000070 */ sw $zero, 0x70($s0) +.L80241A3C: +/* 95CC3C 80241A3C 0000202D */ daddu $a0, $zero, $zero +/* 95CC40 80241A40 0080282D */ daddu $a1, $a0, $zero +/* 95CC44 80241A44 92070073 */ lbu $a3, 0x73($s0) +/* 95CC48 80241A48 0C046F97 */ jal set_background_color_blend +/* 95CC4C 80241A4C 0080302D */ daddu $a2, $a0, $zero +/* 95CC50 80241A50 8E020070 */ lw $v0, 0x70($s0) +/* 95CC54 80241A54 14400006 */ bnez $v0, .L80241A70 +/* 95CC58 80241A58 00000000 */ nop +/* 95CC5C 80241A5C 8E020074 */ lw $v0, 0x74($s0) +/* 95CC60 80241A60 14400003 */ bnez $v0, .L80241A70 +/* 95CC64 80241A64 24020001 */ addiu $v0, $zero, 1 +/* 95CC68 80241A68 080906CF */ j .L80241B3C +/* 95CC6C 80241A6C AE020074 */ sw $v0, 0x74($s0) +.L80241A70: +/* 95CC70 80241A70 8E030074 */ lw $v1, 0x74($s0) +/* 95CC74 80241A74 24020001 */ addiu $v0, $zero, 1 +/* 95CC78 80241A78 14620031 */ bne $v1, $v0, .L80241B40 +/* 95CC7C 80241A7C 0000102D */ daddu $v0, $zero, $zero +/* 95CC80 80241A80 0C04760B */ jal func_8011D82C +/* 95CC84 80241A84 0000202D */ daddu $a0, $zero, $zero +/* 95CC88 80241A88 0000802D */ daddu $s0, $zero, $zero +/* 95CC8C 80241A8C 2413FFFC */ addiu $s3, $zero, -4 +/* 95CC90 80241A90 2412000A */ addiu $s2, $zero, 0xa +/* 95CC94 80241A94 3C11FF7F */ lui $s1, 0xff7f +/* 95CC98 80241A98 3C028015 */ lui $v0, 0x8015 +/* 95CC9C 80241A9C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 95CCA0 80241AA0 3631FFFF */ ori $s1, $s1, 0xffff +/* 95CCA4 80241AA4 A0400000 */ sb $zero, ($v0) +.L80241AA8: +/* 95CCA8 80241AA8 0C00E2B7 */ jal get_npc_by_index +/* 95CCAC 80241AAC 0200202D */ daddu $a0, $s0, $zero +/* 95CCB0 80241AB0 0040202D */ daddu $a0, $v0, $zero +/* 95CCB4 80241AB4 5080000B */ beql $a0, $zero, .L80241AE4 +/* 95CCB8 80241AB8 26100001 */ addiu $s0, $s0, 1 +/* 95CCBC 80241ABC 8C820000 */ lw $v0, ($a0) +/* 95CCC0 80241AC0 50400008 */ beql $v0, $zero, .L80241AE4 +/* 95CCC4 80241AC4 26100001 */ addiu $s0, $s0, 1 +/* 95CCC8 80241AC8 808300A4 */ lb $v1, 0xa4($a0) +/* 95CCCC 80241ACC 10730005 */ beq $v1, $s3, .L80241AE4 +/* 95CCD0 80241AD0 26100001 */ addiu $s0, $s0, 1 +/* 95CCD4 80241AD4 10720003 */ beq $v1, $s2, .L80241AE4 +/* 95CCD8 80241AD8 00000000 */ nop +/* 95CCDC 80241ADC 00511024 */ and $v0, $v0, $s1 +/* 95CCE0 80241AE0 AC820000 */ sw $v0, ($a0) +.L80241AE4: +/* 95CCE4 80241AE4 2A020040 */ slti $v0, $s0, 0x40 +/* 95CCE8 80241AE8 1440FFEF */ bnez $v0, .L80241AA8 +/* 95CCEC 80241AEC 00000000 */ nop +/* 95CCF0 80241AF0 0000802D */ daddu $s0, $zero, $zero +/* 95CCF4 80241AF4 3C11F7FF */ lui $s1, 0xf7ff +/* 95CCF8 80241AF8 3631FFFF */ ori $s1, $s1, 0xffff +.L80241AFC: +/* 95CCFC 80241AFC 0C04C3D6 */ jal get_item_entity +/* 95CD00 80241B00 0200202D */ daddu $a0, $s0, $zero +/* 95CD04 80241B04 0040182D */ daddu $v1, $v0, $zero +/* 95CD08 80241B08 10600007 */ beqz $v1, .L80241B28 +/* 95CD0C 80241B0C 26100001 */ addiu $s0, $s0, 1 +/* 95CD10 80241B10 8C640000 */ lw $a0, ($v1) +/* 95CD14 80241B14 30820010 */ andi $v0, $a0, 0x10 +/* 95CD18 80241B18 10400003 */ beqz $v0, .L80241B28 +/* 95CD1C 80241B1C 00000000 */ nop +/* 95CD20 80241B20 00911024 */ and $v0, $a0, $s1 +/* 95CD24 80241B24 AC620000 */ sw $v0, ($v1) +.L80241B28: +/* 95CD28 80241B28 2A020100 */ slti $v0, $s0, 0x100 +/* 95CD2C 80241B2C 1440FFF3 */ bnez $v0, .L80241AFC +/* 95CD30 80241B30 24020002 */ addiu $v0, $zero, 2 +/* 95CD34 80241B34 080906D0 */ j .L80241B40 +/* 95CD38 80241B38 00000000 */ nop +.L80241B3C: +/* 95CD3C 80241B3C 0000102D */ daddu $v0, $zero, $zero +.L80241B40: +/* 95CD40 80241B40 8FBF0020 */ lw $ra, 0x20($sp) +/* 95CD44 80241B44 8FB3001C */ lw $s3, 0x1c($sp) +/* 95CD48 80241B48 8FB20018 */ lw $s2, 0x18($sp) +/* 95CD4C 80241B4C 8FB10014 */ lw $s1, 0x14($sp) +/* 95CD50 80241B50 8FB00010 */ lw $s0, 0x10($sp) +/* 95CD54 80241B54 03E00008 */ jr $ra +/* 95CD58 80241B58 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241B5C.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241B5C.s new file mode 100644 index 0000000000..6135e204b2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241B5C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B5C +/* 95CD5C 80241B5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95CD60 80241B60 AFB00010 */ sw $s0, 0x10($sp) +/* 95CD64 80241B64 3C108011 */ lui $s0, %hi(gPlayerData) +/* 95CD68 80241B68 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 95CD6C 80241B6C AFBF0018 */ sw $ra, 0x18($sp) +/* 95CD70 80241B70 AFB10014 */ sw $s1, 0x14($sp) +/* 95CD74 80241B74 960302C0 */ lhu $v1, 0x2c0($s0) +/* 95CD78 80241B78 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 95CD7C 80241B7C 10400003 */ beqz $v0, .L80241B8C +/* 95CD80 80241B80 0080882D */ daddu $s1, $a0, $zero +/* 95CD84 80241B84 24620001 */ addiu $v0, $v1, 1 +/* 95CD88 80241B88 A60202C0 */ sh $v0, 0x2c0($s0) +.L80241B8C: +/* 95CD8C 80241B8C 3C05F5DE */ lui $a1, 0xf5de +/* 95CD90 80241B90 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 95CD94 80241B94 0C0B1EAF */ jal get_variable +/* 95CD98 80241B98 0000202D */ daddu $a0, $zero, $zero +/* 95CD9C 80241B9C 3C038024 */ lui $v1, 0x8024 +/* 95CDA0 80241BA0 00621821 */ addu $v1, $v1, $v0 +/* 95CDA4 80241BA4 9063521C */ lbu $v1, 0x521c($v1) +/* 95CDA8 80241BA8 8E220084 */ lw $v0, 0x84($s1) +/* 95CDAC 80241BAC 54430006 */ bnel $v0, $v1, .L80241BC8 +/* 95CDB0 80241BB0 AE200084 */ sw $zero, 0x84($s1) +/* 95CDB4 80241BB4 24020001 */ addiu $v0, $zero, 1 +/* 95CDB8 80241BB8 AE220084 */ sw $v0, 0x84($s1) +/* 95CDBC 80241BBC 960202C2 */ lhu $v0, 0x2c2($s0) +/* 95CDC0 80241BC0 24420001 */ addiu $v0, $v0, 1 +/* 95CDC4 80241BC4 A60202C2 */ sh $v0, 0x2c2($s0) +.L80241BC8: +/* 95CDC8 80241BC8 8FBF0018 */ lw $ra, 0x18($sp) +/* 95CDCC 80241BCC 8FB10014 */ lw $s1, 0x14($sp) +/* 95CDD0 80241BD0 8FB00010 */ lw $s0, 0x10($sp) +/* 95CDD4 80241BD4 24020002 */ addiu $v0, $zero, 2 +/* 95CDD8 80241BD8 03E00008 */ jr $ra +/* 95CDDC 80241BDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241BE0.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241BE0.s new file mode 100644 index 0000000000..71b406b501 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241BE0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BE0 +/* 95CDE0 80241BE0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 95CDE4 80241BE4 AFB1001C */ sw $s1, 0x1c($sp) +/* 95CDE8 80241BE8 AFBF0020 */ sw $ra, 0x20($sp) +/* 95CDEC 80241BEC AFB00018 */ sw $s0, 0x18($sp) +/* 95CDF0 80241BF0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 95CDF4 80241BF4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 95CDF8 80241BF8 10A00060 */ beqz $a1, .L80241D7C +/* 95CDFC 80241BFC 0080882D */ daddu $s1, $a0, $zero +/* 95CE00 80241C00 3C05F4AC */ lui $a1, 0xf4ac +/* 95CE04 80241C04 0C0B1EAF */ jal get_variable +/* 95CE08 80241C08 34A5D481 */ ori $a1, $a1, 0xd481 +/* 95CE0C 80241C0C 0220202D */ daddu $a0, $s1, $zero +/* 95CE10 80241C10 3C05F4AC */ lui $a1, 0xf4ac +/* 95CE14 80241C14 4482B000 */ mtc1 $v0, $f22 +/* 95CE18 80241C18 00000000 */ nop +/* 95CE1C 80241C1C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95CE20 80241C20 0C0B1EAF */ jal get_variable +/* 95CE24 80241C24 34A5D482 */ ori $a1, $a1, 0xd482 +/* 95CE28 80241C28 0220202D */ daddu $a0, $s1, $zero +/* 95CE2C 80241C2C 3C05F4AC */ lui $a1, 0xf4ac +/* 95CE30 80241C30 4482A000 */ mtc1 $v0, $f20 +/* 95CE34 80241C34 00000000 */ nop +/* 95CE38 80241C38 4680A520 */ cvt.s.w $f20, $f20 +/* 95CE3C 80241C3C 0C0B1EAF */ jal get_variable +/* 95CE40 80241C40 34A5D483 */ ori $a1, $a1, 0xd483 +/* 95CE44 80241C44 44821000 */ mtc1 $v0, $f2 +/* 95CE48 80241C48 00000000 */ nop +/* 95CE4C 80241C4C 468010A0 */ cvt.s.w $f2, $f2 +/* 95CE50 80241C50 4405B000 */ mfc1 $a1, $f22 +/* 95CE54 80241C54 4406A000 */ mfc1 $a2, $f20 +/* 95CE58 80241C58 44071000 */ mfc1 $a3, $f2 +/* 95CE5C 80241C5C 0C01C574 */ jal func_800715D0 +/* 95CE60 80241C60 0000202D */ daddu $a0, $zero, $zero +/* 95CE64 80241C64 0220202D */ daddu $a0, $s1, $zero +/* 95CE68 80241C68 3C05F4AC */ lui $a1, 0xf4ac +/* 95CE6C 80241C6C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 95CE70 80241C70 3C108025 */ lui $s0, 0x8025 +/* 95CE74 80241C74 2610DFE0 */ addiu $s0, $s0, -0x2020 +/* 95CE78 80241C78 0C0B1EAF */ jal get_variable +/* 95CE7C 80241C7C AE020000 */ sw $v0, ($s0) +/* 95CE80 80241C80 0220202D */ daddu $a0, $s1, $zero +/* 95CE84 80241C84 3C05F4AC */ lui $a1, 0xf4ac +/* 95CE88 80241C88 4482B000 */ mtc1 $v0, $f22 +/* 95CE8C 80241C8C 00000000 */ nop +/* 95CE90 80241C90 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95CE94 80241C94 0C0B1EAF */ jal get_variable +/* 95CE98 80241C98 34A5D482 */ ori $a1, $a1, 0xd482 +/* 95CE9C 80241C9C 0220202D */ daddu $a0, $s1, $zero +/* 95CEA0 80241CA0 3C05F4AC */ lui $a1, 0xf4ac +/* 95CEA4 80241CA4 4482A000 */ mtc1 $v0, $f20 +/* 95CEA8 80241CA8 00000000 */ nop +/* 95CEAC 80241CAC 4680A520 */ cvt.s.w $f20, $f20 +/* 95CEB0 80241CB0 0C0B1EAF */ jal get_variable +/* 95CEB4 80241CB4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 95CEB8 80241CB8 44821000 */ mtc1 $v0, $f2 +/* 95CEBC 80241CBC 00000000 */ nop +/* 95CEC0 80241CC0 468010A0 */ cvt.s.w $f2, $f2 +/* 95CEC4 80241CC4 4405B000 */ mfc1 $a1, $f22 +/* 95CEC8 80241CC8 4406A000 */ mfc1 $a2, $f20 +/* 95CECC 80241CCC 44071000 */ mfc1 $a3, $f2 +/* 95CED0 80241CD0 0C01C604 */ jal func_80071810 +/* 95CED4 80241CD4 0000202D */ daddu $a0, $zero, $zero +/* 95CED8 80241CD8 0220202D */ daddu $a0, $s1, $zero +/* 95CEDC 80241CDC 3C05F4AC */ lui $a1, 0xf4ac +/* 95CEE0 80241CE0 3C018025 */ lui $at, 0x8025 +/* 95CEE4 80241CE4 AC22DFE4 */ sw $v0, -0x201c($at) +/* 95CEE8 80241CE8 0C0B1EAF */ jal get_variable +/* 95CEEC 80241CEC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 95CEF0 80241CF0 0220202D */ daddu $a0, $s1, $zero +/* 95CEF4 80241CF4 3C05F4AC */ lui $a1, 0xf4ac +/* 95CEF8 80241CF8 4482B000 */ mtc1 $v0, $f22 +/* 95CEFC 80241CFC 00000000 */ nop +/* 95CF00 80241D00 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95CF04 80241D04 0C0B1EAF */ jal get_variable +/* 95CF08 80241D08 34A5D482 */ ori $a1, $a1, 0xd482 +/* 95CF0C 80241D0C 0220202D */ daddu $a0, $s1, $zero +/* 95CF10 80241D10 3C05F4AC */ lui $a1, 0xf4ac +/* 95CF14 80241D14 4482A000 */ mtc1 $v0, $f20 +/* 95CF18 80241D18 00000000 */ nop +/* 95CF1C 80241D1C 4680A520 */ cvt.s.w $f20, $f20 +/* 95CF20 80241D20 0C0B1EAF */ jal get_variable +/* 95CF24 80241D24 34A5D483 */ ori $a1, $a1, 0xd483 +/* 95CF28 80241D28 44821000 */ mtc1 $v0, $f2 +/* 95CF2C 80241D2C 00000000 */ nop +/* 95CF30 80241D30 468010A0 */ cvt.s.w $f2, $f2 +/* 95CF34 80241D34 4405B000 */ mfc1 $a1, $f22 +/* 95CF38 80241D38 4406A000 */ mfc1 $a2, $f20 +/* 95CF3C 80241D3C 3C013F80 */ lui $at, 0x3f80 +/* 95CF40 80241D40 44810000 */ mtc1 $at, $f0 +/* 95CF44 80241D44 44071000 */ mfc1 $a3, $f2 +/* 95CF48 80241D48 0000202D */ daddu $a0, $zero, $zero +/* 95CF4C 80241D4C AFA00014 */ sw $zero, 0x14($sp) +/* 95CF50 80241D50 0C01CA24 */ jal func_80072890 +/* 95CF54 80241D54 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95CF58 80241D58 8E030000 */ lw $v1, ($s0) +/* 95CF5C 80241D5C 8C64000C */ lw $a0, 0xc($v1) +/* 95CF60 80241D60 3C018025 */ lui $at, 0x8025 +/* 95CF64 80241D64 AC22DFE8 */ sw $v0, -0x2018($at) +/* 95CF68 80241D68 AC800018 */ sw $zero, 0x18($a0) +/* 95CF6C 80241D6C AC800020 */ sw $zero, 0x20($a0) +/* 95CF70 80241D70 AC800024 */ sw $zero, 0x24($a0) +/* 95CF74 80241D74 AC800028 */ sw $zero, 0x28($a0) +/* 95CF78 80241D78 AC80001C */ sw $zero, 0x1c($a0) +.L80241D7C: +/* 95CF7C 80241D7C 3C028025 */ lui $v0, 0x8025 +/* 95CF80 80241D80 8C42DFE0 */ lw $v0, -0x2020($v0) +/* 95CF84 80241D84 8C44000C */ lw $a0, 0xc($v0) +/* 95CF88 80241D88 8C820020 */ lw $v0, 0x20($a0) +/* 95CF8C 80241D8C 8C830028 */ lw $v1, 0x28($a0) +/* 95CF90 80241D90 2442000A */ addiu $v0, $v0, 0xa +/* 95CF94 80241D94 AC820020 */ sw $v0, 0x20($a0) +/* 95CF98 80241D98 8C820024 */ lw $v0, 0x24($a0) +/* 95CF9C 80241D9C 2463000A */ addiu $v1, $v1, 0xa +/* 95CFA0 80241DA0 AC830028 */ sw $v1, 0x28($a0) +/* 95CFA4 80241DA4 8C830018 */ lw $v1, 0x18($a0) +/* 95CFA8 80241DA8 2442000A */ addiu $v0, $v0, 0xa +/* 95CFAC 80241DAC AC820024 */ sw $v0, 0x24($a0) +/* 95CFB0 80241DB0 8C82001C */ lw $v0, 0x1c($a0) +/* 95CFB4 80241DB4 2463000A */ addiu $v1, $v1, 0xa +/* 95CFB8 80241DB8 AC830018 */ sw $v1, 0x18($a0) +/* 95CFBC 80241DBC 286300FF */ slti $v1, $v1, 0xff +/* 95CFC0 80241DC0 2442000A */ addiu $v0, $v0, 0xa +/* 95CFC4 80241DC4 AC82001C */ sw $v0, 0x1c($a0) +/* 95CFC8 80241DC8 14600004 */ bnez $v1, .L80241DDC +/* 95CFCC 80241DCC 0000102D */ daddu $v0, $zero, $zero +/* 95CFD0 80241DD0 240200FF */ addiu $v0, $zero, 0xff +/* 95CFD4 80241DD4 AC820018 */ sw $v0, 0x18($a0) +/* 95CFD8 80241DD8 24020002 */ addiu $v0, $zero, 2 +.L80241DDC: +/* 95CFDC 80241DDC 8FBF0020 */ lw $ra, 0x20($sp) +/* 95CFE0 80241DE0 8FB1001C */ lw $s1, 0x1c($sp) +/* 95CFE4 80241DE4 8FB00018 */ lw $s0, 0x18($sp) +/* 95CFE8 80241DE8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 95CFEC 80241DEC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 95CFF0 80241DF0 03E00008 */ jr $ra +/* 95CFF4 80241DF4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241DF8.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241DF8.s new file mode 100644 index 0000000000..42c1319e7f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241DF8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DF8 +/* 95CFF8 80241DF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95CFFC 80241DFC 10A0000B */ beqz $a1, .L80241E2C +/* 95D000 80241E00 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D004 80241E04 3C038025 */ lui $v1, 0x8025 +/* 95D008 80241E08 8C63DFE4 */ lw $v1, -0x201c($v1) +/* 95D00C 80241E0C 8C620000 */ lw $v0, ($v1) +/* 95D010 80241E10 3C048025 */ lui $a0, 0x8025 +/* 95D014 80241E14 8C84DFE8 */ lw $a0, -0x2018($a0) +/* 95D018 80241E18 34420010 */ ori $v0, $v0, 0x10 +/* 95D01C 80241E1C AC620000 */ sw $v0, ($v1) +/* 95D020 80241E20 8C820000 */ lw $v0, ($a0) +/* 95D024 80241E24 34420010 */ ori $v0, $v0, 0x10 +/* 95D028 80241E28 AC820000 */ sw $v0, ($a0) +.L80241E2C: +/* 95D02C 80241E2C 3C048025 */ lui $a0, 0x8025 +/* 95D030 80241E30 8C84DFE0 */ lw $a0, -0x2020($a0) +/* 95D034 80241E34 8C85000C */ lw $a1, 0xc($a0) +/* 95D038 80241E38 8CA20018 */ lw $v0, 0x18($a1) +/* 95D03C 80241E3C 8CA30020 */ lw $v1, 0x20($a1) +/* 95D040 80241E40 2442FFF6 */ addiu $v0, $v0, -0xa +/* 95D044 80241E44 ACA20018 */ sw $v0, 0x18($a1) +/* 95D048 80241E48 8CA20024 */ lw $v0, 0x24($a1) +/* 95D04C 80241E4C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 95D050 80241E50 ACA30020 */ sw $v1, 0x20($a1) +/* 95D054 80241E54 8CA30028 */ lw $v1, 0x28($a1) +/* 95D058 80241E58 2442FFF6 */ addiu $v0, $v0, -0xa +/* 95D05C 80241E5C ACA20024 */ sw $v0, 0x24($a1) +/* 95D060 80241E60 8CA2001C */ lw $v0, 0x1c($a1) +/* 95D064 80241E64 2463FFF6 */ addiu $v1, $v1, -0xa +/* 95D068 80241E68 ACA30028 */ sw $v1, 0x28($a1) +/* 95D06C 80241E6C 8CA30018 */ lw $v1, 0x18($a1) +/* 95D070 80241E70 2442FFF6 */ addiu $v0, $v0, -0xa +/* 95D074 80241E74 18600003 */ blez $v1, .L80241E84 +/* 95D078 80241E78 ACA2001C */ sw $v0, 0x1c($a1) +/* 95D07C 80241E7C 080907A8 */ j .L80241EA0 +/* 95D080 80241E80 0000102D */ daddu $v0, $zero, $zero +.L80241E84: +/* 95D084 80241E84 0C016914 */ jal remove_effect +/* 95D088 80241E88 ACA00018 */ sw $zero, 0x18($a1) +/* 95D08C 80241E8C 3C048025 */ lui $a0, 0x8025 +/* 95D090 80241E90 8C84DFC0 */ lw $a0, -0x2040($a0) +/* 95D094 80241E94 0C048D70 */ jal func_801235C0 +/* 95D098 80241E98 00000000 */ nop +/* 95D09C 80241E9C 24020002 */ addiu $v0, $zero, 2 +.L80241EA0: +/* 95D0A0 80241EA0 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D0A4 80241EA4 03E00008 */ jr $ra +/* 95D0A8 80241EA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241EAC_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241EAC_95B200.s new file mode 100644 index 0000000000..28dca7491d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241EAC_95B200.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EAC_95D0AC +/* 95D0AC 80241EAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D0B0 80241EB0 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D0B4 80241EB4 8C82000C */ lw $v0, 0xc($a0) +/* 95D0B8 80241EB8 0C0B1EAF */ jal get_variable +/* 95D0BC 80241EBC 8C450000 */ lw $a1, ($v0) +/* 95D0C0 80241EC0 3C038025 */ lui $v1, 0x8025 +/* 95D0C4 80241EC4 8C63DFE0 */ lw $v1, -0x2020($v1) +/* 95D0C8 80241EC8 8C63000C */ lw $v1, 0xc($v1) +/* 95D0CC 80241ECC AC620034 */ sw $v0, 0x34($v1) +/* 95D0D0 80241ED0 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D0D4 80241ED4 24020002 */ addiu $v0, $zero, 2 +/* 95D0D8 80241ED8 03E00008 */ jr $ra +/* 95D0DC 80241EDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241EE0.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241EE0.s new file mode 100644 index 0000000000..9c2cc424c3 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241EE0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EE0 +/* 95D0E0 80241EE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D0E4 80241EE4 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D0E8 80241EE8 8C82000C */ lw $v0, 0xc($a0) +/* 95D0EC 80241EEC 0C0B1EAF */ jal get_variable +/* 95D0F0 80241EF0 8C450000 */ lw $a1, ($v0) +/* 95D0F4 80241EF4 0040202D */ daddu $a0, $v0, $zero +/* 95D0F8 80241EF8 3C028025 */ lui $v0, 0x8025 +/* 95D0FC 80241EFC 8C42DFE0 */ lw $v0, -0x2020($v0) +/* 95D100 80241F00 24030001 */ addiu $v1, $zero, 1 +/* 95D104 80241F04 8C45000C */ lw $a1, 0xc($v0) +/* 95D108 80241F08 1083000D */ beq $a0, $v1, .L80241F40 +/* 95D10C 80241F0C 28820002 */ slti $v0, $a0, 2 +/* 95D110 80241F10 10400005 */ beqz $v0, .L80241F28 +/* 95D114 80241F14 24020002 */ addiu $v0, $zero, 2 +/* 95D118 80241F18 10800007 */ beqz $a0, .L80241F38 +/* 95D11C 80241F1C 240200C0 */ addiu $v0, $zero, 0xc0 +/* 95D120 80241F20 080907D4 */ j .L80241F50 +/* 95D124 80241F24 ACA00038 */ sw $zero, 0x38($a1) +.L80241F28: +/* 95D128 80241F28 10820008 */ beq $a0, $v0, .L80241F4C +/* 95D12C 80241F2C 24020040 */ addiu $v0, $zero, 0x40 +/* 95D130 80241F30 080907D4 */ j .L80241F50 +/* 95D134 80241F34 ACA00038 */ sw $zero, 0x38($a1) +.L80241F38: +/* 95D138 80241F38 080907D4 */ j .L80241F50 +/* 95D13C 80241F3C ACA20038 */ sw $v0, 0x38($a1) +.L80241F40: +/* 95D140 80241F40 24020080 */ addiu $v0, $zero, 0x80 +/* 95D144 80241F44 080907D4 */ j .L80241F50 +/* 95D148 80241F48 ACA20038 */ sw $v0, 0x38($a1) +.L80241F4C: +/* 95D14C 80241F4C ACA20038 */ sw $v0, 0x38($a1) +.L80241F50: +/* 95D150 80241F50 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D154 80241F54 24020002 */ addiu $v0, $zero, 2 +/* 95D158 80241F58 03E00008 */ jr $ra +/* 95D15C 80241F5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241F60.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241F60.s new file mode 100644 index 0000000000..88196ff69d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241F60.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F60 +/* 95D160 80241F60 3C028025 */ lui $v0, 0x8025 +/* 95D164 80241F64 8C42DFE8 */ lw $v0, -0x2018($v0) +/* 95D168 80241F68 8C42000C */ lw $v0, 0xc($v0) +/* 95D16C 80241F6C AC40001C */ sw $zero, 0x1c($v0) +/* 95D170 80241F70 03E00008 */ jr $ra +/* 95D174 80241F74 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241F78.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241F78.s new file mode 100644 index 0000000000..5f945816df --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241F78.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F78 +/* 95D178 80241F78 3C028025 */ lui $v0, 0x8025 +/* 95D17C 80241F7C 8C42DFE8 */ lw $v0, -0x2018($v0) +/* 95D180 80241F80 8C43000C */ lw $v1, 0xc($v0) +/* 95D184 80241F84 24020001 */ addiu $v0, $zero, 1 +/* 95D188 80241F88 AC62001C */ sw $v0, 0x1c($v1) +/* 95D18C 80241F8C 03E00008 */ jr $ra +/* 95D190 80241F90 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241F94.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241F94.s new file mode 100644 index 0000000000..a0f22a8922 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241F94.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F94 +/* 95D194 80241F94 3C028025 */ lui $v0, 0x8025 +/* 95D198 80241F98 8C42DFE8 */ lw $v0, -0x2018($v0) +/* 95D19C 80241F9C 8C43000C */ lw $v1, 0xc($v0) +/* 95D1A0 80241FA0 24020002 */ addiu $v0, $zero, 2 +/* 95D1A4 80241FA4 03E00008 */ jr $ra +/* 95D1A8 80241FA8 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241FAC.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241FAC.s new file mode 100644 index 0000000000..a0d7c49945 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241FAC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FAC +/* 95D1AC 80241FAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D1B0 80241FB0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 95D1B4 80241FB4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 95D1B8 80241FB8 3C05FE36 */ lui $a1, 0xfe36 +/* 95D1BC 80241FBC AFBF0010 */ sw $ra, 0x10($sp) +/* 95D1C0 80241FC0 80460075 */ lb $a2, 0x75($v0) +/* 95D1C4 80241FC4 0C0B2026 */ jal set_variable +/* 95D1C8 80241FC8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95D1CC 80241FCC 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D1D0 80241FD0 24020002 */ addiu $v0, $zero, 2 +/* 95D1D4 80241FD4 03E00008 */ jr $ra +/* 95D1D8 80241FD8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80241FDC.s b/asm/nonmatchings/world/area_dro/dro_01/func_80241FDC.s new file mode 100644 index 0000000000..9a9cb96acb --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80241FDC.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FDC +/* 95D1DC 80241FDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95D1E0 80241FE0 AFB10014 */ sw $s1, 0x14($sp) +/* 95D1E4 80241FE4 0080882D */ daddu $s1, $a0, $zero +/* 95D1E8 80241FE8 AFBF0018 */ sw $ra, 0x18($sp) +/* 95D1EC 80241FEC AFB00010 */ sw $s0, 0x10($sp) +/* 95D1F0 80241FF0 8E30000C */ lw $s0, 0xc($s1) +/* 95D1F4 80241FF4 8E050000 */ lw $a1, ($s0) +/* 95D1F8 80241FF8 0C0B1EAF */ jal get_variable +/* 95D1FC 80241FFC 26100004 */ addiu $s0, $s0, 4 +/* 95D200 80242000 0220202D */ daddu $a0, $s1, $zero +/* 95D204 80242004 8E050000 */ lw $a1, ($s0) +/* 95D208 80242008 0C0B210B */ jal get_float_variable +/* 95D20C 8024200C 0040802D */ daddu $s0, $v0, $zero +/* 95D210 80242010 24020002 */ addiu $v0, $zero, 2 +/* 95D214 80242014 00501804 */ sllv $v1, $s0, $v0 +/* 95D218 80242018 00701821 */ addu $v1, $v1, $s0 +/* 95D21C 8024201C 00431804 */ sllv $v1, $v1, $v0 +/* 95D220 80242020 00701823 */ subu $v1, $v1, $s0 +/* 95D224 80242024 000320C0 */ sll $a0, $v1, 3 +/* 95D228 80242028 00641821 */ addu $v1, $v1, $a0 +/* 95D22C 8024202C 000318C0 */ sll $v1, $v1, 3 +/* 95D230 80242030 3C01800B */ lui $at, 0x800b +/* 95D234 80242034 00230821 */ addu $at, $at, $v1 +/* 95D238 80242038 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 95D23C 8024203C 8FBF0018 */ lw $ra, 0x18($sp) +/* 95D240 80242040 8FB10014 */ lw $s1, 0x14($sp) +/* 95D244 80242044 8FB00010 */ lw $s0, 0x10($sp) +/* 95D248 80242048 03E00008 */ jr $ra +/* 95D24C 8024204C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242050.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242050.s new file mode 100644 index 0000000000..cb3347fb46 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242050.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242050 +/* 95D250 80242050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95D254 80242054 AFB10014 */ sw $s1, 0x14($sp) +/* 95D258 80242058 0080882D */ daddu $s1, $a0, $zero +/* 95D25C 8024205C AFBF0018 */ sw $ra, 0x18($sp) +/* 95D260 80242060 AFB00010 */ sw $s0, 0x10($sp) +/* 95D264 80242064 8E30000C */ lw $s0, 0xc($s1) +/* 95D268 80242068 8E050000 */ lw $a1, ($s0) +/* 95D26C 8024206C 0C0B1EAF */ jal get_variable +/* 95D270 80242070 26100004 */ addiu $s0, $s0, 4 +/* 95D274 80242074 00021880 */ sll $v1, $v0, 2 +/* 95D278 80242078 00621821 */ addu $v1, $v1, $v0 +/* 95D27C 8024207C 00031880 */ sll $v1, $v1, 2 +/* 95D280 80242080 00621823 */ subu $v1, $v1, $v0 +/* 95D284 80242084 000310C0 */ sll $v0, $v1, 3 +/* 95D288 80242088 00621821 */ addu $v1, $v1, $v0 +/* 95D28C 8024208C 000318C0 */ sll $v1, $v1, 3 +/* 95D290 80242090 3C01800B */ lui $at, 0x800b +/* 95D294 80242094 00230821 */ addu $at, $at, $v1 +/* 95D298 80242098 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 95D29C 8024209C 3C014480 */ lui $at, 0x4480 +/* 95D2A0 802420A0 44810000 */ mtc1 $at, $f0 +/* 95D2A4 802420A4 00000000 */ nop +/* 95D2A8 802420A8 46001082 */ mul.s $f2, $f2, $f0 +/* 95D2AC 802420AC 00000000 */ nop +/* 95D2B0 802420B0 3C01CD5B */ lui $at, 0xcd5b +/* 95D2B4 802420B4 34215858 */ ori $at, $at, 0x5858 +/* 95D2B8 802420B8 44810000 */ mtc1 $at, $f0 +/* 95D2BC 802420BC 00000000 */ nop +/* 95D2C0 802420C0 46001080 */ add.s $f2, $f2, $f0 +/* 95D2C4 802420C4 8E050000 */ lw $a1, ($s0) +/* 95D2C8 802420C8 4600110D */ trunc.w.s $f4, $f2 +/* 95D2CC 802420CC 44062000 */ mfc1 $a2, $f4 +/* 95D2D0 802420D0 0C0B2026 */ jal set_variable +/* 95D2D4 802420D4 0220202D */ daddu $a0, $s1, $zero +/* 95D2D8 802420D8 8FBF0018 */ lw $ra, 0x18($sp) +/* 95D2DC 802420DC 8FB10014 */ lw $s1, 0x14($sp) +/* 95D2E0 802420E0 8FB00010 */ lw $s0, 0x10($sp) +/* 95D2E4 802420E4 24020002 */ addiu $v0, $zero, 2 +/* 95D2E8 802420E8 03E00008 */ jr $ra +/* 95D2EC 802420EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802420F0.s b/asm/nonmatchings/world/area_dro/dro_01/func_802420F0.s new file mode 100644 index 0000000000..c0987b9bd1 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802420F0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420F0 +/* 95D2F0 802420F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95D2F4 802420F4 AFB20018 */ sw $s2, 0x18($sp) +/* 95D2F8 802420F8 0080902D */ daddu $s2, $a0, $zero +/* 95D2FC 802420FC AFBF0030 */ sw $ra, 0x30($sp) +/* 95D300 80242100 AFB7002C */ sw $s7, 0x2c($sp) +/* 95D304 80242104 AFB60028 */ sw $s6, 0x28($sp) +/* 95D308 80242108 AFB50024 */ sw $s5, 0x24($sp) +/* 95D30C 8024210C AFB40020 */ sw $s4, 0x20($sp) +/* 95D310 80242110 AFB3001C */ sw $s3, 0x1c($sp) +/* 95D314 80242114 AFB10014 */ sw $s1, 0x14($sp) +/* 95D318 80242118 AFB00010 */ sw $s0, 0x10($sp) +/* 95D31C 8024211C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 95D320 80242120 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 95D324 80242124 8E50000C */ lw $s0, 0xc($s2) +/* 95D328 80242128 8E050000 */ lw $a1, ($s0) +/* 95D32C 8024212C 0C0B1EAF */ jal get_variable +/* 95D330 80242130 26100004 */ addiu $s0, $s0, 4 +/* 95D334 80242134 8E050000 */ lw $a1, ($s0) +/* 95D338 80242138 26100004 */ addiu $s0, $s0, 4 +/* 95D33C 8024213C 0240202D */ daddu $a0, $s2, $zero +/* 95D340 80242140 0C0B1EAF */ jal get_variable +/* 95D344 80242144 0040B82D */ daddu $s7, $v0, $zero +/* 95D348 80242148 8E050000 */ lw $a1, ($s0) +/* 95D34C 8024214C 26100004 */ addiu $s0, $s0, 4 +/* 95D350 80242150 0240202D */ daddu $a0, $s2, $zero +/* 95D354 80242154 0C0B1EAF */ jal get_variable +/* 95D358 80242158 0040B02D */ daddu $s6, $v0, $zero +/* 95D35C 8024215C 0240202D */ daddu $a0, $s2, $zero +/* 95D360 80242160 3C05F4AC */ lui $a1, 0xf4ac +/* 95D364 80242164 34A5D481 */ ori $a1, $a1, 0xd481 +/* 95D368 80242168 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 95D36C 8024216C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 95D370 80242170 8E140000 */ lw $s4, ($s0) +/* 95D374 80242174 00061880 */ sll $v1, $a2, 2 +/* 95D378 80242178 00661821 */ addu $v1, $v1, $a2 +/* 95D37C 8024217C 00031880 */ sll $v1, $v1, 2 +/* 95D380 80242180 00661823 */ subu $v1, $v1, $a2 +/* 95D384 80242184 000330C0 */ sll $a2, $v1, 3 +/* 95D388 80242188 00661821 */ addu $v1, $v1, $a2 +/* 95D38C 8024218C 000318C0 */ sll $v1, $v1, 3 +/* 95D390 80242190 3C01800B */ lui $at, 0x800b +/* 95D394 80242194 00230821 */ addu $at, $at, $v1 +/* 95D398 80242198 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 95D39C 8024219C 8E150004 */ lw $s5, 4($s0) +/* 95D3A0 802421A0 4600010D */ trunc.w.s $f4, $f0 +/* 95D3A4 802421A4 44112000 */ mfc1 $s1, $f4 +/* 95D3A8 802421A8 0C0B1EAF */ jal get_variable +/* 95D3AC 802421AC 0040982D */ daddu $s3, $v0, $zero +/* 95D3B0 802421B0 4491B000 */ mtc1 $s1, $f22 +/* 95D3B4 802421B4 00000000 */ nop +/* 95D3B8 802421B8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95D3BC 802421BC 4600B306 */ mov.s $f12, $f22 +/* 95D3C0 802421C0 0C00A8D4 */ jal cos_deg +/* 95D3C4 802421C4 0040802D */ daddu $s0, $v0, $zero +/* 95D3C8 802421C8 4493A000 */ mtc1 $s3, $f20 +/* 95D3CC 802421CC 00000000 */ nop +/* 95D3D0 802421D0 4680A520 */ cvt.s.w $f20, $f20 +/* 95D3D4 802421D4 4600A002 */ mul.s $f0, $f20, $f0 +/* 95D3D8 802421D8 00000000 */ nop +/* 95D3DC 802421DC 0240202D */ daddu $a0, $s2, $zero +/* 95D3E0 802421E0 44901000 */ mtc1 $s0, $f2 +/* 95D3E4 802421E4 00000000 */ nop +/* 95D3E8 802421E8 468010A0 */ cvt.s.w $f2, $f2 +/* 95D3EC 802421EC 46001081 */ sub.s $f2, $f2, $f0 +/* 95D3F0 802421F0 3C05F4AC */ lui $a1, 0xf4ac +/* 95D3F4 802421F4 4600110D */ trunc.w.s $f4, $f2 +/* 95D3F8 802421F8 44102000 */ mfc1 $s0, $f4 +/* 95D3FC 802421FC 0C0B1EAF */ jal get_variable +/* 95D400 80242200 34A5D483 */ ori $a1, $a1, 0xd483 +/* 95D404 80242204 4600B306 */ mov.s $f12, $f22 +/* 95D408 80242208 0C00A8BB */ jal sin_deg +/* 95D40C 8024220C 0040882D */ daddu $s1, $v0, $zero +/* 95D410 80242210 4600A502 */ mul.s $f20, $f20, $f0 +/* 95D414 80242214 00000000 */ nop +/* 95D418 80242218 0240202D */ daddu $a0, $s2, $zero +/* 95D41C 8024221C 44910000 */ mtc1 $s1, $f0 +/* 95D420 80242220 00000000 */ nop +/* 95D424 80242224 46800020 */ cvt.s.w $f0, $f0 +/* 95D428 80242228 46140001 */ sub.s $f0, $f0, $f20 +/* 95D42C 8024222C 0280282D */ daddu $a1, $s4, $zero +/* 95D430 80242230 02173023 */ subu $a2, $s0, $s7 +/* 95D434 80242234 4600010D */ trunc.w.s $f4, $f0 +/* 95D438 80242238 44102000 */ mfc1 $s0, $f4 +/* 95D43C 8024223C 0C0B2026 */ jal set_variable +/* 95D440 80242240 02168023 */ subu $s0, $s0, $s6 +/* 95D444 80242244 0240202D */ daddu $a0, $s2, $zero +/* 95D448 80242248 02A0282D */ daddu $a1, $s5, $zero +/* 95D44C 8024224C 0C0B2026 */ jal set_variable +/* 95D450 80242250 0200302D */ daddu $a2, $s0, $zero +/* 95D454 80242254 8FBF0030 */ lw $ra, 0x30($sp) +/* 95D458 80242258 8FB7002C */ lw $s7, 0x2c($sp) +/* 95D45C 8024225C 8FB60028 */ lw $s6, 0x28($sp) +/* 95D460 80242260 8FB50024 */ lw $s5, 0x24($sp) +/* 95D464 80242264 8FB40020 */ lw $s4, 0x20($sp) +/* 95D468 80242268 8FB3001C */ lw $s3, 0x1c($sp) +/* 95D46C 8024226C 8FB20018 */ lw $s2, 0x18($sp) +/* 95D470 80242270 8FB10014 */ lw $s1, 0x14($sp) +/* 95D474 80242274 8FB00010 */ lw $s0, 0x10($sp) +/* 95D478 80242278 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 95D47C 8024227C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 95D480 80242280 24020002 */ addiu $v0, $zero, 2 +/* 95D484 80242284 03E00008 */ jr $ra +/* 95D488 80242288 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024228C_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024228C_95B200.s new file mode 100644 index 0000000000..7cffdb15ba --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024228C_95B200.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024228C_95D48C +/* 95D48C 8024228C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 95D490 80242290 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 95D494 80242294 10A00002 */ beqz $a1, .L802422A0 +/* 95D498 80242298 2402003C */ addiu $v0, $zero, 0x3c +/* 95D49C 8024229C AC820070 */ sw $v0, 0x70($a0) +.L802422A0: +/* 95D4A0 802422A0 C4620080 */ lwc1 $f2, 0x80($v1) +/* 95D4A4 802422A4 3C0141F0 */ lui $at, 0x41f0 +/* 95D4A8 802422A8 44810000 */ mtc1 $at, $f0 +/* 95D4AC 802422AC 00000000 */ nop +/* 95D4B0 802422B0 46001000 */ add.s $f0, $f2, $f0 +/* 95D4B4 802422B4 3C0143B4 */ lui $at, 0x43b4 +/* 95D4B8 802422B8 44811000 */ mtc1 $at, $f2 +/* 95D4BC 802422BC 00000000 */ nop +/* 95D4C0 802422C0 4600103E */ c.le.s $f2, $f0 +/* 95D4C4 802422C4 00000000 */ nop +/* 95D4C8 802422C8 45000003 */ bc1f .L802422D8 +/* 95D4CC 802422CC E4600080 */ swc1 $f0, 0x80($v1) +/* 95D4D0 802422D0 46020001 */ sub.s $f0, $f0, $f2 +/* 95D4D4 802422D4 E4600080 */ swc1 $f0, 0x80($v1) +.L802422D8: +/* 95D4D8 802422D8 8C820070 */ lw $v0, 0x70($a0) +/* 95D4DC 802422DC 2442FFFF */ addiu $v0, $v0, -1 +/* 95D4E0 802422E0 AC820070 */ sw $v0, 0x70($a0) +/* 95D4E4 802422E4 000217C3 */ sra $v0, $v0, 0x1f +/* 95D4E8 802422E8 03E00008 */ jr $ra +/* 95D4EC 802422EC 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802422F0.s b/asm/nonmatchings/world/area_dro/dro_01/func_802422F0.s new file mode 100644 index 0000000000..f09584a601 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802422F0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422F0 +/* 95D4F0 802422F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95D4F4 802422F4 AFB10014 */ sw $s1, 0x14($sp) +/* 95D4F8 802422F8 0080882D */ daddu $s1, $a0, $zero +/* 95D4FC 802422FC AFB00010 */ sw $s0, 0x10($sp) +/* 95D500 80242300 00A0802D */ daddu $s0, $a1, $zero +/* 95D504 80242304 AFBF0018 */ sw $ra, 0x18($sp) +/* 95D508 80242308 0C00EABB */ jal get_npc_unsafe +/* 95D50C 8024230C 2404FFFC */ addiu $a0, $zero, -4 +/* 95D510 80242310 12000003 */ beqz $s0, .L80242320 +/* 95D514 80242314 0040182D */ daddu $v1, $v0, $zero +/* 95D518 80242318 2402003C */ addiu $v0, $zero, 0x3c +/* 95D51C 8024231C AE220070 */ sw $v0, 0x70($s1) +.L80242320: +/* 95D520 80242320 C462000C */ lwc1 $f2, 0xc($v1) +/* 95D524 80242324 3C0141F0 */ lui $at, 0x41f0 +/* 95D528 80242328 44810000 */ mtc1 $at, $f0 +/* 95D52C 8024232C 00000000 */ nop +/* 95D530 80242330 46001000 */ add.s $f0, $f2, $f0 +/* 95D534 80242334 3C0143B4 */ lui $at, 0x43b4 +/* 95D538 80242338 44811000 */ mtc1 $at, $f2 +/* 95D53C 8024233C 00000000 */ nop +/* 95D540 80242340 4600103E */ c.le.s $f2, $f0 +/* 95D544 80242344 00000000 */ nop +/* 95D548 80242348 45000003 */ bc1f .L80242358 +/* 95D54C 8024234C E460000C */ swc1 $f0, 0xc($v1) +/* 95D550 80242350 46020001 */ sub.s $f0, $f0, $f2 +/* 95D554 80242354 E460000C */ swc1 $f0, 0xc($v1) +.L80242358: +/* 95D558 80242358 8E230070 */ lw $v1, 0x70($s1) +/* 95D55C 8024235C 2463FFFF */ addiu $v1, $v1, -1 +/* 95D560 80242360 000317C3 */ sra $v0, $v1, 0x1f +/* 95D564 80242364 AE230070 */ sw $v1, 0x70($s1) +/* 95D568 80242368 8FBF0018 */ lw $ra, 0x18($sp) +/* 95D56C 8024236C 8FB10014 */ lw $s1, 0x14($sp) +/* 95D570 80242370 8FB00010 */ lw $s0, 0x10($sp) +/* 95D574 80242374 30420002 */ andi $v0, $v0, 2 +/* 95D578 80242378 03E00008 */ jr $ra +/* 95D57C 8024237C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242380.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242380.s new file mode 100644 index 0000000000..ce5589273c --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242380.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242380 +/* 95D580 80242380 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95D584 80242384 AFB10014 */ sw $s1, 0x14($sp) +/* 95D588 80242388 0080882D */ daddu $s1, $a0, $zero +/* 95D58C 8024238C AFB00010 */ sw $s0, 0x10($sp) +/* 95D590 80242390 00A0802D */ daddu $s0, $a1, $zero +/* 95D594 80242394 AFBF001C */ sw $ra, 0x1c($sp) +/* 95D598 80242398 AFB20018 */ sw $s2, 0x18($sp) +/* 95D59C 8024239C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95D5A0 802423A0 0C00EABB */ jal get_npc_unsafe +/* 95D5A4 802423A4 2404FFFC */ addiu $a0, $zero, -4 +/* 95D5A8 802423A8 12000017 */ beqz $s0, .L80242408 +/* 95D5AC 802423AC 0040902D */ daddu $s2, $v0, $zero +/* 95D5B0 802423B0 0220202D */ daddu $a0, $s1, $zero +/* 95D5B4 802423B4 3C05FE36 */ lui $a1, 0xfe36 +/* 95D5B8 802423B8 0C0B210B */ jal get_float_variable +/* 95D5BC 802423BC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95D5C0 802423C0 0220202D */ daddu $a0, $s1, $zero +/* 95D5C4 802423C4 3C05FE36 */ lui $a1, 0xfe36 +/* 95D5C8 802423C8 3C014270 */ lui $at, 0x4270 +/* 95D5CC 802423CC 4481A000 */ mtc1 $at, $f20 +/* 95D5D0 802423D0 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 95D5D4 802423D4 46140003 */ div.s $f0, $f0, $f20 +/* 95D5D8 802423D8 0C0B210B */ jal get_float_variable +/* 95D5DC 802423DC E6200074 */ swc1 $f0, 0x74($s1) +/* 95D5E0 802423E0 0220202D */ daddu $a0, $s1, $zero +/* 95D5E4 802423E4 3C05FE36 */ lui $a1, 0xfe36 +/* 95D5E8 802423E8 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 95D5EC 802423EC 46140003 */ div.s $f0, $f0, $f20 +/* 95D5F0 802423F0 0C0B210B */ jal get_float_variable +/* 95D5F4 802423F4 E6200078 */ swc1 $f0, 0x78($s1) +/* 95D5F8 802423F8 46140003 */ div.s $f0, $f0, $f20 +/* 95D5FC 802423FC 2402003C */ addiu $v0, $zero, 0x3c +/* 95D600 80242400 E620007C */ swc1 $f0, 0x7c($s1) +/* 95D604 80242404 AE220070 */ sw $v0, 0x70($s1) +.L80242408: +/* 95D608 80242408 C6400038 */ lwc1 $f0, 0x38($s2) +/* 95D60C 8024240C C6220074 */ lwc1 $f2, 0x74($s1) +/* 95D610 80242410 46020000 */ add.s $f0, $f0, $f2 +/* 95D614 80242414 E6400038 */ swc1 $f0, 0x38($s2) +/* 95D618 80242418 C640003C */ lwc1 $f0, 0x3c($s2) +/* 95D61C 8024241C C6220078 */ lwc1 $f2, 0x78($s1) +/* 95D620 80242420 46020000 */ add.s $f0, $f0, $f2 +/* 95D624 80242424 E640003C */ swc1 $f0, 0x3c($s2) +/* 95D628 80242428 C6400040 */ lwc1 $f0, 0x40($s2) +/* 95D62C 8024242C C622007C */ lwc1 $f2, 0x7c($s1) +/* 95D630 80242430 46020000 */ add.s $f0, $f0, $f2 +/* 95D634 80242434 E6400040 */ swc1 $f0, 0x40($s2) +/* 95D638 80242438 8E230070 */ lw $v1, 0x70($s1) +/* 95D63C 8024243C 2463FFFF */ addiu $v1, $v1, -1 +/* 95D640 80242440 2C620001 */ sltiu $v0, $v1, 1 +/* 95D644 80242444 AE230070 */ sw $v1, 0x70($s1) +/* 95D648 80242448 8FBF001C */ lw $ra, 0x1c($sp) +/* 95D64C 8024244C 8FB20018 */ lw $s2, 0x18($sp) +/* 95D650 80242450 8FB10014 */ lw $s1, 0x14($sp) +/* 95D654 80242454 8FB00010 */ lw $s0, 0x10($sp) +/* 95D658 80242458 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95D65C 8024245C 00021040 */ sll $v0, $v0, 1 +/* 95D660 80242460 03E00008 */ jr $ra +/* 95D664 80242464 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242468.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242468.s new file mode 100644 index 0000000000..94aaf517fc --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242468.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242468 +/* 95D668 80242468 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D66C 8024246C 3C058025 */ lui $a1, 0x8025 +/* 95D670 80242470 8CA5DFD8 */ lw $a1, -0x2028($a1) +/* 95D674 80242474 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D678 80242478 0C0B1EAF */ jal get_variable +/* 95D67C 8024247C 0000202D */ daddu $a0, $zero, $zero +/* 95D680 80242480 0040182D */ daddu $v1, $v0, $zero +/* 95D684 80242484 24020001 */ addiu $v0, $zero, 1 +/* 95D688 80242488 14620006 */ bne $v1, $v0, .L802424A4 +/* 95D68C 8024248C 24020002 */ addiu $v0, $zero, 2 +/* 95D690 80242490 44800000 */ mtc1 $zero, $f0 +/* 95D694 80242494 00000000 */ nop +/* 95D698 80242498 44050000 */ mfc1 $a1, $f0 +/* 95D69C 8024249C 0809092F */ j .L802424BC +/* 95D6A0 802424A0 0000202D */ daddu $a0, $zero, $zero +.L802424A4: +/* 95D6A4 802424A4 14620008 */ bne $v1, $v0, .L802424C8 +/* 95D6A8 802424A8 24040001 */ addiu $a0, $zero, 1 +/* 95D6AC 802424AC 44800000 */ mtc1 $zero, $f0 +/* 95D6B0 802424B0 00000000 */ nop +/* 95D6B4 802424B4 44050000 */ mfc1 $a1, $f0 +/* 95D6B8 802424B8 00000000 */ nop +.L802424BC: +/* 95D6BC 802424BC 00A0302D */ daddu $a2, $a1, $zero +/* 95D6C0 802424C0 0C01C5A4 */ jal func_80071690 +/* 95D6C4 802424C4 00A0382D */ daddu $a3, $a1, $zero +.L802424C8: +/* 95D6C8 802424C8 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D6CC 802424CC 03E00008 */ jr $ra +/* 95D6D0 802424D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802424D4.s b/asm/nonmatchings/world/area_dro/dro_01/func_802424D4.s new file mode 100644 index 0000000000..d2f25a1c69 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802424D4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424D4 +/* 95D6D4 802424D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D6D8 802424D8 3C058024 */ lui $a1, 0x8024 +/* 95D6DC 802424DC 24A52468 */ addiu $a1, $a1, 0x2468 +/* 95D6E0 802424E0 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D6E4 802424E4 0C048C8F */ jal bind_dynamic_entity_7 +/* 95D6E8 802424E8 0000202D */ daddu $a0, $zero, $zero +/* 95D6EC 802424EC 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D6F0 802424F0 3C018025 */ lui $at, 0x8025 +/* 95D6F4 802424F4 AC22DFC0 */ sw $v0, -0x2040($at) +/* 95D6F8 802424F8 24020002 */ addiu $v0, $zero, 2 +/* 95D6FC 802424FC 03E00008 */ jr $ra +/* 95D700 80242500 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242504.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242504.s new file mode 100644 index 0000000000..4a81218da2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242504.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242504 +/* 95D704 80242504 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95D708 80242508 AFB10014 */ sw $s1, 0x14($sp) +/* 95D70C 8024250C 0080882D */ daddu $s1, $a0, $zero +/* 95D710 80242510 AFBF0018 */ sw $ra, 0x18($sp) +/* 95D714 80242514 AFB00010 */ sw $s0, 0x10($sp) +/* 95D718 80242518 8E30000C */ lw $s0, 0xc($s1) +/* 95D71C 8024251C 8E050000 */ lw $a1, ($s0) +/* 95D720 80242520 0C0B1EAF */ jal get_variable +/* 95D724 80242524 26100004 */ addiu $s0, $s0, 4 +/* 95D728 80242528 0C00EAD2 */ jal get_npc_safe +/* 95D72C 8024252C 0040202D */ daddu $a0, $v0, $zero +/* 95D730 80242530 10400005 */ beqz $v0, .L80242548 +/* 95D734 80242534 00000000 */ nop +/* 95D738 80242538 8E050000 */ lw $a1, ($s0) +/* 95D73C 8024253C 844600A8 */ lh $a2, 0xa8($v0) +/* 95D740 80242540 0C0B2026 */ jal set_variable +/* 95D744 80242544 0220202D */ daddu $a0, $s1, $zero +.L80242548: +/* 95D748 80242548 8FBF0018 */ lw $ra, 0x18($sp) +/* 95D74C 8024254C 8FB10014 */ lw $s1, 0x14($sp) +/* 95D750 80242550 8FB00010 */ lw $s0, 0x10($sp) +/* 95D754 80242554 24020002 */ addiu $v0, $zero, 2 +/* 95D758 80242558 03E00008 */ jr $ra +/* 95D75C 8024255C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242560.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242560.s new file mode 100644 index 0000000000..9f5b37fc10 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242560.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242560 +/* 95D760 80242560 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 95D764 80242564 AFB10014 */ sw $s1, 0x14($sp) +/* 95D768 80242568 0080882D */ daddu $s1, $a0, $zero +/* 95D76C 8024256C AFBF0024 */ sw $ra, 0x24($sp) +/* 95D770 80242570 AFB40020 */ sw $s4, 0x20($sp) +/* 95D774 80242574 AFB3001C */ sw $s3, 0x1c($sp) +/* 95D778 80242578 AFB20018 */ sw $s2, 0x18($sp) +/* 95D77C 8024257C AFB00010 */ sw $s0, 0x10($sp) +/* 95D780 80242580 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 95D784 80242584 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 95D788 80242588 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 95D78C 8024258C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 95D790 80242590 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 95D794 80242594 8E30000C */ lw $s0, 0xc($s1) +/* 95D798 80242598 8E130000 */ lw $s3, ($s0) +/* 95D79C 8024259C 26100004 */ addiu $s0, $s0, 4 +/* 95D7A0 802425A0 0C0B1EAF */ jal get_variable +/* 95D7A4 802425A4 0260282D */ daddu $a1, $s3, $zero +/* 95D7A8 802425A8 4482E000 */ mtc1 $v0, $f28 +/* 95D7AC 802425AC 00000000 */ nop +/* 95D7B0 802425B0 4680E720 */ cvt.s.w $f28, $f28 +/* 95D7B4 802425B4 8E140000 */ lw $s4, ($s0) +/* 95D7B8 802425B8 26100004 */ addiu $s0, $s0, 4 +/* 95D7BC 802425BC 0220202D */ daddu $a0, $s1, $zero +/* 95D7C0 802425C0 0C0B1EAF */ jal get_variable +/* 95D7C4 802425C4 0280282D */ daddu $a1, $s4, $zero +/* 95D7C8 802425C8 4482D000 */ mtc1 $v0, $f26 +/* 95D7CC 802425CC 00000000 */ nop +/* 95D7D0 802425D0 4680D6A0 */ cvt.s.w $f26, $f26 +/* 95D7D4 802425D4 8E100000 */ lw $s0, ($s0) +/* 95D7D8 802425D8 0220202D */ daddu $a0, $s1, $zero +/* 95D7DC 802425DC 0C0B1EAF */ jal get_variable +/* 95D7E0 802425E0 0200282D */ daddu $a1, $s0, $zero +/* 95D7E4 802425E4 4482C000 */ mtc1 $v0, $f24 +/* 95D7E8 802425E8 00000000 */ nop +/* 95D7EC 802425EC 4680C620 */ cvt.s.w $f24, $f24 +/* 95D7F0 802425F0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 95D7F4 802425F4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 95D7F8 802425F8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 95D7FC 802425FC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 95D800 80242600 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 95D804 80242604 44800000 */ mtc1 $zero, $f0 +/* 95D808 80242608 00031080 */ sll $v0, $v1, 2 +/* 95D80C 8024260C 00431021 */ addu $v0, $v0, $v1 +/* 95D810 80242610 00021080 */ sll $v0, $v0, 2 +/* 95D814 80242614 00431023 */ subu $v0, $v0, $v1 +/* 95D818 80242618 000218C0 */ sll $v1, $v0, 3 +/* 95D81C 8024261C 00431021 */ addu $v0, $v0, $v1 +/* 95D820 80242620 000210C0 */ sll $v0, $v0, 3 +/* 95D824 80242624 46001032 */ c.eq.s $f2, $f0 +/* 95D828 80242628 3C01800B */ lui $at, 0x800b +/* 95D82C 8024262C 00220821 */ addu $at, $at, $v0 +/* 95D830 80242630 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 95D834 80242634 45000005 */ bc1f .L8024264C +/* 95D838 80242638 00000000 */ nop +/* 95D83C 8024263C 3C0142C8 */ lui $at, 0x42c8 +/* 95D840 80242640 44810000 */ mtc1 $at, $f0 +/* 95D844 80242644 08090997 */ j .L8024265C +/* 95D848 80242648 4600B581 */ sub.s $f22, $f22, $f0 +.L8024264C: +/* 95D84C 8024264C 3C0142C8 */ lui $at, 0x42c8 +/* 95D850 80242650 44810000 */ mtc1 $at, $f0 +/* 95D854 80242654 00000000 */ nop +/* 95D858 80242658 4600B580 */ add.s $f22, $f22, $f0 +.L8024265C: +/* 95D85C 8024265C 0C00A6C9 */ jal clamp_angle +/* 95D860 80242660 4600B306 */ mov.s $f12, $f22 +/* 95D864 80242664 46000586 */ mov.s $f22, $f0 +/* 95D868 80242668 3C014170 */ lui $at, 0x4170 +/* 95D86C 8024266C 4481A000 */ mtc1 $at, $f20 +/* 95D870 80242670 0C00A8BB */ jal sin_deg +/* 95D874 80242674 4600B306 */ mov.s $f12, $f22 +/* 95D878 80242678 46140002 */ mul.s $f0, $f0, $f20 +/* 95D87C 8024267C 00000000 */ nop +/* 95D880 80242680 864200B0 */ lh $v0, 0xb0($s2) +/* 95D884 80242684 3C013F00 */ lui $at, 0x3f00 +/* 95D888 80242688 44812000 */ mtc1 $at, $f4 +/* 95D88C 8024268C 44821000 */ mtc1 $v0, $f2 +/* 95D890 80242690 00000000 */ nop +/* 95D894 80242694 468010A0 */ cvt.s.w $f2, $f2 +/* 95D898 80242698 46041082 */ mul.s $f2, $f2, $f4 +/* 95D89C 8024269C 00000000 */ nop +/* 95D8A0 802426A0 4600E700 */ add.s $f28, $f28, $f0 +/* 95D8A4 802426A4 4602D680 */ add.s $f26, $f26, $f2 +/* 95D8A8 802426A8 0C00A8D4 */ jal cos_deg +/* 95D8AC 802426AC 4600B306 */ mov.s $f12, $f22 +/* 95D8B0 802426B0 46140002 */ mul.s $f0, $f0, $f20 +/* 95D8B4 802426B4 00000000 */ nop +/* 95D8B8 802426B8 0220202D */ daddu $a0, $s1, $zero +/* 95D8BC 802426BC 0260282D */ daddu $a1, $s3, $zero +/* 95D8C0 802426C0 4600E18D */ trunc.w.s $f6, $f28 +/* 95D8C4 802426C4 44063000 */ mfc1 $a2, $f6 +/* 95D8C8 802426C8 0C0B2026 */ jal set_variable +/* 95D8CC 802426CC 4600C601 */ sub.s $f24, $f24, $f0 +/* 95D8D0 802426D0 0220202D */ daddu $a0, $s1, $zero +/* 95D8D4 802426D4 4600D18D */ trunc.w.s $f6, $f26 +/* 95D8D8 802426D8 44063000 */ mfc1 $a2, $f6 +/* 95D8DC 802426DC 0C0B2026 */ jal set_variable +/* 95D8E0 802426E0 0280282D */ daddu $a1, $s4, $zero +/* 95D8E4 802426E4 0220202D */ daddu $a0, $s1, $zero +/* 95D8E8 802426E8 4600C18D */ trunc.w.s $f6, $f24 +/* 95D8EC 802426EC 44063000 */ mfc1 $a2, $f6 +/* 95D8F0 802426F0 0C0B2026 */ jal set_variable +/* 95D8F4 802426F4 0200282D */ daddu $a1, $s0, $zero +/* 95D8F8 802426F8 8FBF0024 */ lw $ra, 0x24($sp) +/* 95D8FC 802426FC 8FB40020 */ lw $s4, 0x20($sp) +/* 95D900 80242700 8FB3001C */ lw $s3, 0x1c($sp) +/* 95D904 80242704 8FB20018 */ lw $s2, 0x18($sp) +/* 95D908 80242708 8FB10014 */ lw $s1, 0x14($sp) +/* 95D90C 8024270C 8FB00010 */ lw $s0, 0x10($sp) +/* 95D910 80242710 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 95D914 80242714 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 95D918 80242718 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 95D91C 8024271C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 95D920 80242720 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 95D924 80242724 24020002 */ addiu $v0, $zero, 2 +/* 95D928 80242728 03E00008 */ jr $ra +/* 95D92C 8024272C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242730.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242730.s new file mode 100644 index 0000000000..8c889bf1d0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242730.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242730 +/* 95D930 80242730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D934 80242734 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D938 80242738 10A00003 */ beqz $a1, .L80242748 +/* 95D93C 8024273C 8C86000C */ lw $a2, 0xc($a0) +/* 95D940 80242740 3C018024 */ lui $at, 0x8024 +/* 95D944 80242744 AC2077E0 */ sw $zero, 0x77e0($at) +.L80242748: +/* 95D948 80242748 3C038024 */ lui $v1, 0x8024 +/* 95D94C 8024274C 246377E0 */ addiu $v1, $v1, 0x77e0 +/* 95D950 80242750 8C620000 */ lw $v0, ($v1) +/* 95D954 80242754 54400003 */ bnel $v0, $zero, .L80242764 +/* 95D958 80242758 AC600000 */ sw $zero, ($v1) +/* 95D95C 8024275C 080909DE */ j .L80242778 +/* 95D960 80242760 0000102D */ daddu $v0, $zero, $zero +.L80242764: +/* 95D964 80242764 8CC50000 */ lw $a1, ($a2) +/* 95D968 80242768 3C068024 */ lui $a2, 0x8024 +/* 95D96C 8024276C 0C0B2026 */ jal set_variable +/* 95D970 80242770 8CC677E4 */ lw $a2, 0x77e4($a2) +/* 95D974 80242774 24020002 */ addiu $v0, $zero, 2 +.L80242778: +/* 95D978 80242778 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D97C 8024277C 03E00008 */ jr $ra +/* 95D980 80242780 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242784.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242784.s new file mode 100644 index 0000000000..f0070cb960 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242784.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242784 +/* 95D984 80242784 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D988 80242788 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D98C 8024278C 8C82000C */ lw $v0, 0xc($a0) +/* 95D990 80242790 0C0B1EAF */ jal get_variable +/* 95D994 80242794 8C450000 */ lw $a1, ($v0) +/* 95D998 80242798 3C018024 */ lui $at, 0x8024 +/* 95D99C 8024279C AC2277E4 */ sw $v0, 0x77e4($at) +/* 95D9A0 802427A0 24020002 */ addiu $v0, $zero, 2 +/* 95D9A4 802427A4 8FBF0010 */ lw $ra, 0x10($sp) +/* 95D9A8 802427A8 24030001 */ addiu $v1, $zero, 1 +/* 95D9AC 802427AC 3C018024 */ lui $at, 0x8024 +/* 95D9B0 802427B0 AC2377E0 */ sw $v1, 0x77e0($at) +/* 95D9B4 802427B4 03E00008 */ jr $ra +/* 95D9B8 802427B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802427BC.s b/asm/nonmatchings/world/area_dro/dro_01/func_802427BC.s new file mode 100644 index 0000000000..341f5017c1 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802427BC.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427BC +/* 95D9BC 802427BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95D9C0 802427C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 95D9C4 802427C4 8C82000C */ lw $v0, 0xc($a0) +/* 95D9C8 802427C8 0C0B1EAF */ jal get_variable +/* 95D9CC 802427CC 8C450000 */ lw $a1, ($v0) +/* 95D9D0 802427D0 0040182D */ daddu $v1, $v0, $zero +/* 95D9D4 802427D4 10600012 */ beqz $v1, .L80242820 +/* 95D9D8 802427D8 0000202D */ daddu $a0, $zero, $zero +/* 95D9DC 802427DC 8C620000 */ lw $v0, ($v1) +/* 95D9E0 802427E0 5040000A */ beql $v0, $zero, .L8024280C +/* 95D9E4 802427E4 00041080 */ sll $v0, $a0, 2 +/* 95D9E8 802427E8 3C058025 */ lui $a1, 0x8025 +/* 95D9EC 802427EC 24A5DFF0 */ addiu $a1, $a1, -0x2010 +.L802427F0: +/* 95D9F0 802427F0 24630004 */ addiu $v1, $v1, 4 +/* 95D9F4 802427F4 24840001 */ addiu $a0, $a0, 1 +/* 95D9F8 802427F8 ACA20000 */ sw $v0, ($a1) +/* 95D9FC 802427FC 8C620000 */ lw $v0, ($v1) +/* 95DA00 80242800 1440FFFB */ bnez $v0, .L802427F0 +/* 95DA04 80242804 24A50004 */ addiu $a1, $a1, 4 +/* 95DA08 80242808 00041080 */ sll $v0, $a0, 2 +.L8024280C: +/* 95DA0C 8024280C 3C018025 */ lui $at, 0x8025 +/* 95DA10 80242810 00220821 */ addu $at, $at, $v0 +/* 95DA14 80242814 AC20DFF0 */ sw $zero, -0x2010($at) +/* 95DA18 80242818 08090A12 */ j .L80242848 +/* 95DA1C 8024281C 00000000 */ nop +.L80242820: +/* 95DA20 80242820 3C038025 */ lui $v1, 0x8025 +/* 95DA24 80242824 2463DFF0 */ addiu $v1, $v1, -0x2010 +/* 95DA28 80242828 0060282D */ daddu $a1, $v1, $zero +.L8024282C: +/* 95DA2C 8024282C 24820010 */ addiu $v0, $a0, 0x10 +/* 95DA30 80242830 AC620000 */ sw $v0, ($v1) +/* 95DA34 80242834 24630004 */ addiu $v1, $v1, 4 +/* 95DA38 80242838 24840001 */ addiu $a0, $a0, 1 +/* 95DA3C 8024283C 28820070 */ slti $v0, $a0, 0x70 +/* 95DA40 80242840 1440FFFA */ bnez $v0, .L8024282C +/* 95DA44 80242844 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242848: +/* 95DA48 80242848 8FBF0010 */ lw $ra, 0x10($sp) +/* 95DA4C 8024284C 24020002 */ addiu $v0, $zero, 2 +/* 95DA50 80242850 03E00008 */ jr $ra +/* 95DA54 80242854 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242858.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242858.s new file mode 100644 index 0000000000..4f706ccd05 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242858.s @@ -0,0 +1,350 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242858 +/* 95DA58 80242858 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 95DA5C 8024285C AFB20018 */ sw $s2, 0x18($sp) +/* 95DA60 80242860 0080902D */ daddu $s2, $a0, $zero +/* 95DA64 80242864 AFBF0020 */ sw $ra, 0x20($sp) +/* 95DA68 80242868 AFB3001C */ sw $s3, 0x1c($sp) +/* 95DA6C 8024286C AFB10014 */ sw $s1, 0x14($sp) +/* 95DA70 80242870 AFB00010 */ sw $s0, 0x10($sp) +/* 95DA74 80242874 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 95DA78 80242878 8E42000C */ lw $v0, 0xc($s2) +/* 95DA7C 8024287C 00A0802D */ daddu $s0, $a1, $zero +/* 95DA80 80242880 0C0B1EAF */ jal get_variable +/* 95DA84 80242884 8C450000 */ lw $a1, ($v0) +/* 95DA88 80242888 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 95DA8C 8024288C 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 95DA90 80242890 1200001A */ beqz $s0, .L802428FC +/* 95DA94 80242894 0040882D */ daddu $s1, $v0, $zero +/* 95DA98 80242898 0C00AB39 */ jal heap_malloc +/* 95DA9C 8024289C 2404003C */ addiu $a0, $zero, 0x3c +/* 95DAA0 802428A0 AE420074 */ sw $v0, 0x74($s2) +/* 95DAA4 802428A4 8E230000 */ lw $v1, ($s1) +/* 95DAA8 802428A8 0040802D */ daddu $s0, $v0, $zero +/* 95DAAC 802428AC AE030000 */ sw $v1, ($s0) +/* 95DAB0 802428B0 8E220004 */ lw $v0, 4($s1) +/* 95DAB4 802428B4 AE020004 */ sw $v0, 4($s0) +/* 95DAB8 802428B8 8E220008 */ lw $v0, 8($s1) +/* 95DABC 802428BC AE020008 */ sw $v0, 8($s0) +/* 95DAC0 802428C0 8E22000C */ lw $v0, 0xc($s1) +/* 95DAC4 802428C4 AE02000C */ sw $v0, 0xc($s0) +/* 95DAC8 802428C8 8E220010 */ lw $v0, 0x10($s1) +/* 95DACC 802428CC AE020010 */ sw $v0, 0x10($s0) +/* 95DAD0 802428D0 8E220014 */ lw $v0, 0x14($s1) +/* 95DAD4 802428D4 AE000018 */ sw $zero, 0x18($s0) +/* 95DAD8 802428D8 AE00001C */ sw $zero, 0x1c($s0) +/* 95DADC 802428DC AE000020 */ sw $zero, 0x20($s0) +/* 95DAE0 802428E0 AE000024 */ sw $zero, 0x24($s0) +/* 95DAE4 802428E4 AE000028 */ sw $zero, 0x28($s0) +/* 95DAE8 802428E8 AE00002C */ sw $zero, 0x2c($s0) +/* 95DAEC 802428EC AE000030 */ sw $zero, 0x30($s0) +/* 95DAF0 802428F0 AE000034 */ sw $zero, 0x34($s0) +/* 95DAF4 802428F4 AE000038 */ sw $zero, 0x38($s0) +/* 95DAF8 802428F8 AE020014 */ sw $v0, 0x14($s0) +.L802428FC: +/* 95DAFC 802428FC 8E500074 */ lw $s0, 0x74($s2) +/* 95DB00 80242900 8E030020 */ lw $v1, 0x20($s0) +/* 95DB04 80242904 2C620005 */ sltiu $v0, $v1, 5 +/* 95DB08 80242908 10400116 */ beqz $v0, .L80242D64 +/* 95DB0C 8024290C 00031080 */ sll $v0, $v1, 2 +/* 95DB10 80242910 3C018025 */ lui $at, 0x8025 +/* 95DB14 80242914 00220821 */ addu $at, $at, $v0 +/* 95DB18 80242918 8C22DF80 */ lw $v0, -0x2080($at) +/* 95DB1C 8024291C 00400008 */ jr $v0 +/* 95DB20 80242920 00000000 */ nop +/* 95DB24 80242924 C60C0000 */ lwc1 $f12, ($s0) +/* 95DB28 80242928 46806320 */ cvt.s.w $f12, $f12 +/* 95DB2C 8024292C C60E0008 */ lwc1 $f14, 8($s0) +/* 95DB30 80242930 0C038022 */ jal func_800E0088 +/* 95DB34 80242934 468073A0 */ cvt.s.w $f14, $f14 +/* 95DB38 80242938 8E02000C */ lw $v0, 0xc($s0) +/* 95DB3C 8024293C 4600010D */ trunc.w.s $f4, $f0 +/* 95DB40 80242940 44032000 */ mfc1 $v1, $f4 +/* 95DB44 80242944 00000000 */ nop +/* 95DB48 80242948 0062102A */ slt $v0, $v1, $v0 +/* 95DB4C 8024294C 10400105 */ beqz $v0, .L80242D64 +/* 95DB50 80242950 00000000 */ nop +/* 95DB54 80242954 C6600028 */ lwc1 $f0, 0x28($s3) +/* 95DB58 80242958 8E020020 */ lw $v0, 0x20($s0) +/* 95DB5C 8024295C E6000024 */ swc1 $f0, 0x24($s0) +/* 95DB60 80242960 C6600030 */ lwc1 $f0, 0x30($s3) +/* 95DB64 80242964 24420001 */ addiu $v0, $v0, 1 +/* 95DB68 80242968 AE020020 */ sw $v0, 0x20($s0) +/* 95DB6C 8024296C 08090B59 */ j .L80242D64 +/* 95DB70 80242970 E6000028 */ swc1 $f0, 0x28($s0) +/* 95DB74 80242974 C60C0000 */ lwc1 $f12, ($s0) +/* 95DB78 80242978 46806320 */ cvt.s.w $f12, $f12 +/* 95DB7C 8024297C C60E0008 */ lwc1 $f14, 8($s0) +/* 95DB80 80242980 0C038022 */ jal func_800E0088 +/* 95DB84 80242984 468073A0 */ cvt.s.w $f14, $f14 +/* 95DB88 80242988 8E02000C */ lw $v0, 0xc($s0) +/* 95DB8C 8024298C 4600010D */ trunc.w.s $f4, $f0 +/* 95DB90 80242990 44032000 */ mfc1 $v1, $f4 +/* 95DB94 80242994 00000000 */ nop +/* 95DB98 80242998 0062102A */ slt $v0, $v1, $v0 +/* 95DB9C 8024299C 504000F1 */ beql $v0, $zero, .L80242D64 +/* 95DBA0 802429A0 AE000020 */ sw $zero, 0x20($s0) +/* 95DBA4 802429A4 C60C0000 */ lwc1 $f12, ($s0) +/* 95DBA8 802429A8 46806320 */ cvt.s.w $f12, $f12 +/* 95DBAC 802429AC 8E060024 */ lw $a2, 0x24($s0) +/* 95DBB0 802429B0 8E070028 */ lw $a3, 0x28($s0) +/* 95DBB4 802429B4 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DBB8 802429B8 0C00A720 */ jal atan2 +/* 95DBBC 802429BC 468073A0 */ cvt.s.w $f14, $f14 +/* 95DBC0 802429C0 4600010D */ trunc.w.s $f4, $f0 +/* 95DBC4 802429C4 44112000 */ mfc1 $s1, $f4 +/* 95DBC8 802429C8 C60C0000 */ lwc1 $f12, ($s0) +/* 95DBCC 802429CC 46806320 */ cvt.s.w $f12, $f12 +/* 95DBD0 802429D0 8E660028 */ lw $a2, 0x28($s3) +/* 95DBD4 802429D4 8E670030 */ lw $a3, 0x30($s3) +/* 95DBD8 802429D8 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DBDC 802429DC 0C00A720 */ jal atan2 +/* 95DBE0 802429E0 468073A0 */ cvt.s.w $f14, $f14 +/* 95DBE4 802429E4 4600010D */ trunc.w.s $f4, $f0 +/* 95DBE8 802429E8 44022000 */ mfc1 $v0, $f4 +/* 95DBEC 802429EC 44916000 */ mtc1 $s1, $f12 +/* 95DBF0 802429F0 00000000 */ nop +/* 95DBF4 802429F4 46806320 */ cvt.s.w $f12, $f12 +/* 95DBF8 802429F8 44827000 */ mtc1 $v0, $f14 +/* 95DBFC 802429FC 00000000 */ nop +/* 95DC00 80242A00 0C00A70A */ jal get_clamped_angle_diff +/* 95DC04 80242A04 468073A0 */ cvt.s.w $f14, $f14 +/* 95DC08 80242A08 4600010D */ trunc.w.s $f4, $f0 +/* 95DC0C 80242A0C 44022000 */ mfc1 $v0, $f4 +/* 95DC10 80242A10 00000000 */ nop +/* 95DC14 80242A14 44826000 */ mtc1 $v0, $f12 +/* 95DC18 80242A18 00000000 */ nop +/* 95DC1C 80242A1C 0C00A69F */ jal signF +/* 95DC20 80242A20 46806320 */ cvt.s.w $f12, $f12 +/* 95DC24 80242A24 8E020020 */ lw $v0, 0x20($s0) +/* 95DC28 80242A28 08090B52 */ j .L80242D48 +/* 95DC2C 80242A2C E6000034 */ swc1 $f0, 0x34($s0) +/* 95DC30 80242A30 C60C0000 */ lwc1 $f12, ($s0) +/* 95DC34 80242A34 46806320 */ cvt.s.w $f12, $f12 +/* 95DC38 80242A38 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DC3C 80242A3C 0C038022 */ jal func_800E0088 +/* 95DC40 80242A40 468073A0 */ cvt.s.w $f14, $f14 +/* 95DC44 80242A44 8E02000C */ lw $v0, 0xc($s0) +/* 95DC48 80242A48 4600010D */ trunc.w.s $f4, $f0 +/* 95DC4C 80242A4C 44032000 */ mfc1 $v1, $f4 +/* 95DC50 80242A50 00000000 */ nop +/* 95DC54 80242A54 0062102A */ slt $v0, $v1, $v0 +/* 95DC58 80242A58 504000C2 */ beql $v0, $zero, .L80242D64 +/* 95DC5C 80242A5C AE000020 */ sw $zero, 0x20($s0) +/* 95DC60 80242A60 C60C0000 */ lwc1 $f12, ($s0) +/* 95DC64 80242A64 46806320 */ cvt.s.w $f12, $f12 +/* 95DC68 80242A68 8E06002C */ lw $a2, 0x2c($s0) +/* 95DC6C 80242A6C 8E070030 */ lw $a3, 0x30($s0) +/* 95DC70 80242A70 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DC74 80242A74 0C00A720 */ jal atan2 +/* 95DC78 80242A78 468073A0 */ cvt.s.w $f14, $f14 +/* 95DC7C 80242A7C 4600010D */ trunc.w.s $f4, $f0 +/* 95DC80 80242A80 44112000 */ mfc1 $s1, $f4 +/* 95DC84 80242A84 C60C0000 */ lwc1 $f12, ($s0) +/* 95DC88 80242A88 46806320 */ cvt.s.w $f12, $f12 +/* 95DC8C 80242A8C 8E660028 */ lw $a2, 0x28($s3) +/* 95DC90 80242A90 8E670030 */ lw $a3, 0x30($s3) +/* 95DC94 80242A94 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DC98 80242A98 0C00A720 */ jal atan2 +/* 95DC9C 80242A9C 468073A0 */ cvt.s.w $f14, $f14 +/* 95DCA0 80242AA0 4600010D */ trunc.w.s $f4, $f0 +/* 95DCA4 80242AA4 44022000 */ mfc1 $v0, $f4 +/* 95DCA8 80242AA8 44916000 */ mtc1 $s1, $f12 +/* 95DCAC 80242AAC 00000000 */ nop +/* 95DCB0 80242AB0 46806320 */ cvt.s.w $f12, $f12 +/* 95DCB4 80242AB4 44827000 */ mtc1 $v0, $f14 +/* 95DCB8 80242AB8 00000000 */ nop +/* 95DCBC 80242ABC 0C00A70A */ jal get_clamped_angle_diff +/* 95DCC0 80242AC0 468073A0 */ cvt.s.w $f14, $f14 +/* 95DCC4 80242AC4 4600010D */ trunc.w.s $f4, $f0 +/* 95DCC8 80242AC8 44022000 */ mfc1 $v0, $f4 +/* 95DCCC 80242ACC 00000000 */ nop +/* 95DCD0 80242AD0 44826000 */ mtc1 $v0, $f12 +/* 95DCD4 80242AD4 00000000 */ nop +/* 95DCD8 80242AD8 0C00A69F */ jal signF +/* 95DCDC 80242ADC 46806320 */ cvt.s.w $f12, $f12 +/* 95DCE0 80242AE0 C6020034 */ lwc1 $f2, 0x34($s0) +/* 95DCE4 80242AE4 46001032 */ c.eq.s $f2, $f0 +/* 95DCE8 80242AE8 00000000 */ nop +/* 95DCEC 80242AEC 4502009D */ bc1fl .L80242D64 +/* 95DCF0 80242AF0 AE000020 */ sw $zero, 0x20($s0) +/* 95DCF4 80242AF4 C60C0000 */ lwc1 $f12, ($s0) +/* 95DCF8 80242AF8 46806320 */ cvt.s.w $f12, $f12 +/* 95DCFC 80242AFC 8E060024 */ lw $a2, 0x24($s0) +/* 95DD00 80242B00 8E070028 */ lw $a3, 0x28($s0) +/* 95DD04 80242B04 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DD08 80242B08 0C00A720 */ jal atan2 +/* 95DD0C 80242B0C 468073A0 */ cvt.s.w $f14, $f14 +/* 95DD10 80242B10 4600010D */ trunc.w.s $f4, $f0 +/* 95DD14 80242B14 44112000 */ mfc1 $s1, $f4 +/* 95DD18 80242B18 C60C0000 */ lwc1 $f12, ($s0) +/* 95DD1C 80242B1C 46806320 */ cvt.s.w $f12, $f12 +/* 95DD20 80242B20 8E660028 */ lw $a2, 0x28($s3) +/* 95DD24 80242B24 8E670030 */ lw $a3, 0x30($s3) +/* 95DD28 80242B28 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DD2C 80242B2C 0C00A720 */ jal atan2 +/* 95DD30 80242B30 468073A0 */ cvt.s.w $f14, $f14 +/* 95DD34 80242B34 4600010D */ trunc.w.s $f4, $f0 +/* 95DD38 80242B38 44022000 */ mfc1 $v0, $f4 +/* 95DD3C 80242B3C 44916000 */ mtc1 $s1, $f12 +/* 95DD40 80242B40 00000000 */ nop +/* 95DD44 80242B44 46806320 */ cvt.s.w $f12, $f12 +/* 95DD48 80242B48 44827000 */ mtc1 $v0, $f14 +/* 95DD4C 80242B4C 00000000 */ nop +/* 95DD50 80242B50 0C00A70A */ jal get_clamped_angle_diff +/* 95DD54 80242B54 468073A0 */ cvt.s.w $f14, $f14 +/* 95DD58 80242B58 4600010D */ trunc.w.s $f4, $f0 +/* 95DD5C 80242B5C 44022000 */ mfc1 $v0, $f4 +/* 95DD60 80242B60 00000000 */ nop +/* 95DD64 80242B64 44820000 */ mtc1 $v0, $f0 +/* 95DD68 80242B68 00000000 */ nop +/* 95DD6C 80242B6C 46800020 */ cvt.s.w $f0, $f0 +/* 95DD70 80242B70 3C0142B4 */ lui $at, 0x42b4 +/* 95DD74 80242B74 44811000 */ mtc1 $at, $f2 +/* 95DD78 80242B78 46000505 */ abs.s $f20, $f0 +/* 95DD7C 80242B7C 4614103C */ c.lt.s $f2, $f20 +/* 95DD80 80242B80 00000000 */ nop +/* 95DD84 80242B84 45000077 */ bc1f .L80242D64 +/* 95DD88 80242B88 00000000 */ nop +/* 95DD8C 80242B8C 8E020014 */ lw $v0, 0x14($s0) +/* 95DD90 80242B90 10400003 */ beqz $v0, .L80242BA0 +/* 95DD94 80242B94 0200202D */ daddu $a0, $s0, $zero +/* 95DD98 80242B98 0040F809 */ jalr $v0 +/* 95DD9C 80242B9C 0000282D */ daddu $a1, $zero, $zero +.L80242BA0: +/* 95DDA0 80242BA0 C6000018 */ lwc1 $f0, 0x18($s0) +/* 95DDA4 80242BA4 46800020 */ cvt.s.w $f0, $f0 +/* 95DDA8 80242BA8 8E020020 */ lw $v0, 0x20($s0) +/* 95DDAC 80242BAC 46140000 */ add.s $f0, $f0, $f20 +/* 95DDB0 80242BB0 24420001 */ addiu $v0, $v0, 1 +/* 95DDB4 80242BB4 AE020020 */ sw $v0, 0x20($s0) +/* 95DDB8 80242BB8 4600010D */ trunc.w.s $f4, $f0 +/* 95DDBC 80242BBC 08090B59 */ j .L80242D64 +/* 95DDC0 80242BC0 E6040018 */ swc1 $f4, 0x18($s0) +/* 95DDC4 80242BC4 C60C0000 */ lwc1 $f12, ($s0) +/* 95DDC8 80242BC8 46806320 */ cvt.s.w $f12, $f12 +/* 95DDCC 80242BCC C60E0008 */ lwc1 $f14, 8($s0) +/* 95DDD0 80242BD0 0C038022 */ jal func_800E0088 +/* 95DDD4 80242BD4 468073A0 */ cvt.s.w $f14, $f14 +/* 95DDD8 80242BD8 8E020010 */ lw $v0, 0x10($s0) +/* 95DDDC 80242BDC 4600010D */ trunc.w.s $f4, $f0 +/* 95DDE0 80242BE0 44032000 */ mfc1 $v1, $f4 +/* 95DDE4 80242BE4 00000000 */ nop +/* 95DDE8 80242BE8 0062102A */ slt $v0, $v1, $v0 +/* 95DDEC 80242BEC 10400050 */ beqz $v0, .L80242D30 +/* 95DDF0 80242BF0 00000000 */ nop +/* 95DDF4 80242BF4 C60C0000 */ lwc1 $f12, ($s0) +/* 95DDF8 80242BF8 46806320 */ cvt.s.w $f12, $f12 +/* 95DDFC 80242BFC 8E06002C */ lw $a2, 0x2c($s0) +/* 95DE00 80242C00 8E070030 */ lw $a3, 0x30($s0) +/* 95DE04 80242C04 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DE08 80242C08 0C00A720 */ jal atan2 +/* 95DE0C 80242C0C 468073A0 */ cvt.s.w $f14, $f14 +/* 95DE10 80242C10 4600010D */ trunc.w.s $f4, $f0 +/* 95DE14 80242C14 44112000 */ mfc1 $s1, $f4 +/* 95DE18 80242C18 C60C0000 */ lwc1 $f12, ($s0) +/* 95DE1C 80242C1C 46806320 */ cvt.s.w $f12, $f12 +/* 95DE20 80242C20 8E660028 */ lw $a2, 0x28($s3) +/* 95DE24 80242C24 8E670030 */ lw $a3, 0x30($s3) +/* 95DE28 80242C28 C60E0008 */ lwc1 $f14, 8($s0) +/* 95DE2C 80242C2C 0C00A720 */ jal atan2 +/* 95DE30 80242C30 468073A0 */ cvt.s.w $f14, $f14 +/* 95DE34 80242C34 4600010D */ trunc.w.s $f4, $f0 +/* 95DE38 80242C38 44022000 */ mfc1 $v0, $f4 +/* 95DE3C 80242C3C 44916000 */ mtc1 $s1, $f12 +/* 95DE40 80242C40 00000000 */ nop +/* 95DE44 80242C44 46806320 */ cvt.s.w $f12, $f12 +/* 95DE48 80242C48 44827000 */ mtc1 $v0, $f14 +/* 95DE4C 80242C4C 00000000 */ nop +/* 95DE50 80242C50 0C00A70A */ jal get_clamped_angle_diff +/* 95DE54 80242C54 468073A0 */ cvt.s.w $f14, $f14 +/* 95DE58 80242C58 4600010D */ trunc.w.s $f4, $f0 +/* 95DE5C 80242C5C 44022000 */ mfc1 $v0, $f4 +/* 95DE60 80242C60 00000000 */ nop +/* 95DE64 80242C64 4482A000 */ mtc1 $v0, $f20 +/* 95DE68 80242C68 00000000 */ nop +/* 95DE6C 80242C6C 4680A520 */ cvt.s.w $f20, $f20 +/* 95DE70 80242C70 0C00A69F */ jal signF +/* 95DE74 80242C74 4600A306 */ mov.s $f12, $f20 +/* 95DE78 80242C78 C6020034 */ lwc1 $f2, 0x34($s0) +/* 95DE7C 80242C7C 46001032 */ c.eq.s $f2, $f0 +/* 95DE80 80242C80 00000000 */ nop +/* 95DE84 80242C84 4503000A */ bc1tl .L80242CB0 +/* 95DE88 80242C88 4600A005 */ abs.s $f0, $f20 +/* 95DE8C 80242C8C 8E020014 */ lw $v0, 0x14($s0) +/* 95DE90 80242C90 10400003 */ beqz $v0, .L80242CA0 +/* 95DE94 80242C94 0200202D */ daddu $a0, $s0, $zero +/* 95DE98 80242C98 0040F809 */ jalr $v0 +/* 95DE9C 80242C9C 24050003 */ addiu $a1, $zero, 3 +.L80242CA0: +/* 95DEA0 80242CA0 8E020020 */ lw $v0, 0x20($s0) +/* 95DEA4 80242CA4 24420001 */ addiu $v0, $v0, 1 +/* 95DEA8 80242CA8 08090B45 */ j .L80242D14 +/* 95DEAC 80242CAC AE020020 */ sw $v0, 0x20($s0) +.L80242CB0: +/* 95DEB0 80242CB0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 95DEB4 80242CB4 468010A0 */ cvt.s.w $f2, $f2 +/* 95DEB8 80242CB8 46001080 */ add.s $f2, $f2, $f0 +/* 95DEBC 80242CBC 3C02B60B */ lui $v0, 0xb60b +/* 95DEC0 80242CC0 344260B7 */ ori $v0, $v0, 0x60b7 +/* 95DEC4 80242CC4 4600110D */ trunc.w.s $f4, $f2 +/* 95DEC8 80242CC8 44032000 */ mfc1 $v1, $f4 +/* 95DECC 80242CCC 00000000 */ nop +/* 95DED0 80242CD0 00620018 */ mult $v1, $v0 +/* 95DED4 80242CD4 8E040038 */ lw $a0, 0x38($s0) +/* 95DED8 80242CD8 AE030018 */ sw $v1, 0x18($s0) +/* 95DEDC 80242CDC 00004010 */ mfhi $t0 +/* 95DEE0 80242CE0 01031021 */ addu $v0, $t0, $v1 +/* 95DEE4 80242CE4 00021203 */ sra $v0, $v0, 8 +/* 95DEE8 80242CE8 00031FC3 */ sra $v1, $v1, 0x1f +/* 95DEEC 80242CEC 00431023 */ subu $v0, $v0, $v1 +/* 95DEF0 80242CF0 10440008 */ beq $v0, $a0, .L80242D14 +/* 95DEF4 80242CF4 AE02001C */ sw $v0, 0x1c($s0) +/* 95DEF8 80242CF8 8E020014 */ lw $v0, 0x14($s0) +/* 95DEFC 80242CFC 10400003 */ beqz $v0, .L80242D0C +/* 95DF00 80242D00 0200202D */ daddu $a0, $s0, $zero +/* 95DF04 80242D04 0040F809 */ jalr $v0 +/* 95DF08 80242D08 24050001 */ addiu $a1, $zero, 1 +.L80242D0C: +/* 95DF0C 80242D0C 8E02001C */ lw $v0, 0x1c($s0) +/* 95DF10 80242D10 AE020038 */ sw $v0, 0x38($s0) +.L80242D14: +/* 95DF14 80242D14 8E020014 */ lw $v0, 0x14($s0) +/* 95DF18 80242D18 10400012 */ beqz $v0, .L80242D64 +/* 95DF1C 80242D1C 0200202D */ daddu $a0, $s0, $zero +/* 95DF20 80242D20 0040F809 */ jalr $v0 +/* 95DF24 80242D24 24050002 */ addiu $a1, $zero, 2 +/* 95DF28 80242D28 08090B59 */ j .L80242D64 +/* 95DF2C 80242D2C 00000000 */ nop +.L80242D30: +/* 95DF30 80242D30 8E020014 */ lw $v0, 0x14($s0) +/* 95DF34 80242D34 10400003 */ beqz $v0, .L80242D44 +/* 95DF38 80242D38 0200202D */ daddu $a0, $s0, $zero +/* 95DF3C 80242D3C 0040F809 */ jalr $v0 +/* 95DF40 80242D40 24050004 */ addiu $a1, $zero, 4 +.L80242D44: +/* 95DF44 80242D44 8E020020 */ lw $v0, 0x20($s0) +.L80242D48: +/* 95DF48 80242D48 24420001 */ addiu $v0, $v0, 1 +/* 95DF4C 80242D4C 08090B59 */ j .L80242D64 +/* 95DF50 80242D50 AE020020 */ sw $v0, 0x20($s0) +/* 95DF54 80242D54 AE000018 */ sw $zero, 0x18($s0) +/* 95DF58 80242D58 AE00001C */ sw $zero, 0x1c($s0) +/* 95DF5C 80242D5C AE000038 */ sw $zero, 0x38($s0) +/* 95DF60 80242D60 AE000020 */ sw $zero, 0x20($s0) +.L80242D64: +/* 95DF64 80242D64 C6600028 */ lwc1 $f0, 0x28($s3) +/* 95DF68 80242D68 E600002C */ swc1 $f0, 0x2c($s0) +/* 95DF6C 80242D6C C6600030 */ lwc1 $f0, 0x30($s3) +/* 95DF70 80242D70 E6000030 */ swc1 $f0, 0x30($s0) +/* 95DF74 80242D74 8FBF0020 */ lw $ra, 0x20($sp) +/* 95DF78 80242D78 8FB3001C */ lw $s3, 0x1c($sp) +/* 95DF7C 80242D7C 8FB20018 */ lw $s2, 0x18($sp) +/* 95DF80 80242D80 8FB10014 */ lw $s1, 0x14($sp) +/* 95DF84 80242D84 8FB00010 */ lw $s0, 0x10($sp) +/* 95DF88 80242D88 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 95DF8C 80242D8C 0000102D */ daddu $v0, $zero, $zero +/* 95DF90 80242D90 03E00008 */ jr $ra +/* 95DF94 80242D94 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242D98.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242D98.s new file mode 100644 index 0000000000..64291ec283 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242D98.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D98 +/* 95DF98 80242D98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95DF9C 80242D9C AFB10014 */ sw $s1, 0x14($sp) +/* 95DFA0 80242DA0 0080882D */ daddu $s1, $a0, $zero +/* 95DFA4 80242DA4 AFBF0018 */ sw $ra, 0x18($sp) +/* 95DFA8 80242DA8 AFB00010 */ sw $s0, 0x10($sp) +/* 95DFAC 80242DAC 8E30000C */ lw $s0, 0xc($s1) +/* 95DFB0 80242DB0 8E050000 */ lw $a1, ($s0) +/* 95DFB4 80242DB4 0C0B1EAF */ jal get_variable +/* 95DFB8 80242DB8 26100004 */ addiu $s0, $s0, 4 +/* 95DFBC 80242DBC AE22008C */ sw $v0, 0x8c($s1) +/* 95DFC0 80242DC0 8E050000 */ lw $a1, ($s0) +/* 95DFC4 80242DC4 26100004 */ addiu $s0, $s0, 4 +/* 95DFC8 80242DC8 0C0B1EAF */ jal get_variable +/* 95DFCC 80242DCC 0220202D */ daddu $a0, $s1, $zero +/* 95DFD0 80242DD0 AE220090 */ sw $v0, 0x90($s1) +/* 95DFD4 80242DD4 8E050000 */ lw $a1, ($s0) +/* 95DFD8 80242DD8 26100004 */ addiu $s0, $s0, 4 +/* 95DFDC 80242DDC 0C0B1EAF */ jal get_variable +/* 95DFE0 80242DE0 0220202D */ daddu $a0, $s1, $zero +/* 95DFE4 80242DE4 AE220094 */ sw $v0, 0x94($s1) +/* 95DFE8 80242DE8 8E050000 */ lw $a1, ($s0) +/* 95DFEC 80242DEC 26100004 */ addiu $s0, $s0, 4 +/* 95DFF0 80242DF0 0C0B1EAF */ jal get_variable +/* 95DFF4 80242DF4 0220202D */ daddu $a0, $s1, $zero +/* 95DFF8 80242DF8 AE220098 */ sw $v0, 0x98($s1) +/* 95DFFC 80242DFC 8E050000 */ lw $a1, ($s0) +/* 95E000 80242E00 26100004 */ addiu $s0, $s0, 4 +/* 95E004 80242E04 0C0B1EAF */ jal get_variable +/* 95E008 80242E08 0220202D */ daddu $a0, $s1, $zero +/* 95E00C 80242E0C AE22009C */ sw $v0, 0x9c($s1) +/* 95E010 80242E10 8E050000 */ lw $a1, ($s0) +/* 95E014 80242E14 26100004 */ addiu $s0, $s0, 4 +/* 95E018 80242E18 0C0B1EAF */ jal get_variable +/* 95E01C 80242E1C 0220202D */ daddu $a0, $s1, $zero +/* 95E020 80242E20 AE2200A0 */ sw $v0, 0xa0($s1) +/* 95E024 80242E24 8E050000 */ lw $a1, ($s0) +/* 95E028 80242E28 26100004 */ addiu $s0, $s0, 4 +/* 95E02C 80242E2C 0C0B1EAF */ jal get_variable +/* 95E030 80242E30 0220202D */ daddu $a0, $s1, $zero +/* 95E034 80242E34 AE2200A4 */ sw $v0, 0xa4($s1) +/* 95E038 80242E38 8E050000 */ lw $a1, ($s0) +/* 95E03C 80242E3C 26100004 */ addiu $s0, $s0, 4 +/* 95E040 80242E40 0C0B1EAF */ jal get_variable +/* 95E044 80242E44 0220202D */ daddu $a0, $s1, $zero +/* 95E048 80242E48 AE2200A8 */ sw $v0, 0xa8($s1) +/* 95E04C 80242E4C 8E050000 */ lw $a1, ($s0) +/* 95E050 80242E50 26100004 */ addiu $s0, $s0, 4 +/* 95E054 80242E54 0C0B1EAF */ jal get_variable +/* 95E058 80242E58 0220202D */ daddu $a0, $s1, $zero +/* 95E05C 80242E5C AE2200AC */ sw $v0, 0xac($s1) +/* 95E060 80242E60 8E050000 */ lw $a1, ($s0) +/* 95E064 80242E64 0C0B1EAF */ jal get_variable +/* 95E068 80242E68 0220202D */ daddu $a0, $s1, $zero +/* 95E06C 80242E6C AE2200B0 */ sw $v0, 0xb0($s1) +/* 95E070 80242E70 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E074 80242E74 8FB10014 */ lw $s1, 0x14($sp) +/* 95E078 80242E78 8FB00010 */ lw $s0, 0x10($sp) +/* 95E07C 80242E7C 24020002 */ addiu $v0, $zero, 2 +/* 95E080 80242E80 03E00008 */ jr $ra +/* 95E084 80242E84 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80242E88.s b/asm/nonmatchings/world/area_dro/dro_01/func_80242E88.s new file mode 100644 index 0000000000..45a0d227f1 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80242E88.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E88 +/* 95E088 80242E88 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 95E08C 80242E8C AFB1001C */ sw $s1, 0x1c($sp) +/* 95E090 80242E90 0080882D */ daddu $s1, $a0, $zero +/* 95E094 80242E94 AFBF0034 */ sw $ra, 0x34($sp) +/* 95E098 80242E98 AFB60030 */ sw $s6, 0x30($sp) +/* 95E09C 80242E9C AFB5002C */ sw $s5, 0x2c($sp) +/* 95E0A0 80242EA0 AFB40028 */ sw $s4, 0x28($sp) +/* 95E0A4 80242EA4 AFB30024 */ sw $s3, 0x24($sp) +/* 95E0A8 80242EA8 AFB20020 */ sw $s2, 0x20($sp) +/* 95E0AC 80242EAC AFB00018 */ sw $s0, 0x18($sp) +/* 95E0B0 80242EB0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 95E0B4 80242EB4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 95E0B8 80242EB8 8E30000C */ lw $s0, 0xc($s1) +/* 95E0BC 80242EBC 8E160000 */ lw $s6, ($s0) +/* 95E0C0 80242EC0 26100004 */ addiu $s0, $s0, 4 +/* 95E0C4 80242EC4 0C0B1EAF */ jal get_variable +/* 95E0C8 80242EC8 02C0282D */ daddu $a1, $s6, $zero +/* 95E0CC 80242ECC 44820000 */ mtc1 $v0, $f0 +/* 95E0D0 80242ED0 00000000 */ nop +/* 95E0D4 80242ED4 46800020 */ cvt.s.w $f0, $f0 +/* 95E0D8 80242ED8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95E0DC 80242EDC 8E140000 */ lw $s4, ($s0) +/* 95E0E0 80242EE0 26100004 */ addiu $s0, $s0, 4 +/* 95E0E4 80242EE4 0220202D */ daddu $a0, $s1, $zero +/* 95E0E8 80242EE8 0C0B1EAF */ jal get_variable +/* 95E0EC 80242EEC 0280282D */ daddu $a1, $s4, $zero +/* 95E0F0 80242EF0 0220202D */ daddu $a0, $s1, $zero +/* 95E0F4 80242EF4 8E150000 */ lw $s5, ($s0) +/* 95E0F8 80242EF8 4482B000 */ mtc1 $v0, $f22 +/* 95E0FC 80242EFC 00000000 */ nop +/* 95E100 80242F00 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95E104 80242F04 0C0B1EAF */ jal get_variable +/* 95E108 80242F08 02A0282D */ daddu $a1, $s5, $zero +/* 95E10C 80242F0C 2404FFFC */ addiu $a0, $zero, -4 +/* 95E110 80242F10 44820000 */ mtc1 $v0, $f0 +/* 95E114 80242F14 00000000 */ nop +/* 95E118 80242F18 46800020 */ cvt.s.w $f0, $f0 +/* 95E11C 80242F1C 0C00EABB */ jal get_npc_unsafe +/* 95E120 80242F20 E7A00014 */ swc1 $f0, 0x14($sp) +/* 95E124 80242F24 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 95E128 80242F28 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 95E12C 80242F2C 3C014334 */ lui $at, 0x4334 +/* 95E130 80242F30 44816000 */ mtc1 $at, $f12 +/* 95E134 80242F34 00041880 */ sll $v1, $a0, 2 +/* 95E138 80242F38 00641821 */ addu $v1, $v1, $a0 +/* 95E13C 80242F3C 00031880 */ sll $v1, $v1, 2 +/* 95E140 80242F40 00641823 */ subu $v1, $v1, $a0 +/* 95E144 80242F44 000320C0 */ sll $a0, $v1, 3 +/* 95E148 80242F48 00641821 */ addu $v1, $v1, $a0 +/* 95E14C 80242F4C 000318C0 */ sll $v1, $v1, 3 +/* 95E150 80242F50 3C01800B */ lui $at, 0x800b +/* 95E154 80242F54 00230821 */ addu $at, $at, $v1 +/* 95E158 80242F58 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 95E15C 80242F5C 460C0300 */ add.s $f12, $f0, $f12 +/* 95E160 80242F60 0C00A6C9 */ jal clamp_angle +/* 95E164 80242F64 0040982D */ daddu $s3, $v0, $zero +/* 95E168 80242F68 27B00010 */ addiu $s0, $sp, 0x10 +/* 95E16C 80242F6C 0200202D */ daddu $a0, $s0, $zero +/* 95E170 80242F70 27B20014 */ addiu $s2, $sp, 0x14 +/* 95E174 80242F74 0240282D */ daddu $a1, $s2, $zero +/* 95E178 80242F78 3C064170 */ lui $a2, 0x4170 +/* 95E17C 80242F7C 8E67000C */ lw $a3, 0xc($s3) +/* 95E180 80242F80 0C00A7E7 */ jal add_vec2D_polar +/* 95E184 80242F84 46000506 */ mov.s $f20, $f0 +/* 95E188 80242F88 0200202D */ daddu $a0, $s0, $zero +/* 95E18C 80242F8C 3C064120 */ lui $a2, 0x4120 +/* 95E190 80242F90 4407A000 */ mfc1 $a3, $f20 +/* 95E194 80242F94 0C00A7E7 */ jal add_vec2D_polar +/* 95E198 80242F98 0240282D */ daddu $a1, $s2, $zero +/* 95E19C 80242F9C 0220202D */ daddu $a0, $s1, $zero +/* 95E1A0 80242FA0 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 95E1A4 80242FA4 4600008D */ trunc.w.s $f2, $f0 +/* 95E1A8 80242FA8 44061000 */ mfc1 $a2, $f2 +/* 95E1AC 80242FAC 0C0B2026 */ jal set_variable +/* 95E1B0 80242FB0 02C0282D */ daddu $a1, $s6, $zero +/* 95E1B4 80242FB4 0220202D */ daddu $a0, $s1, $zero +/* 95E1B8 80242FB8 4600B08D */ trunc.w.s $f2, $f22 +/* 95E1BC 80242FBC 44061000 */ mfc1 $a2, $f2 +/* 95E1C0 80242FC0 0C0B2026 */ jal set_variable +/* 95E1C4 80242FC4 0280282D */ daddu $a1, $s4, $zero +/* 95E1C8 80242FC8 0220202D */ daddu $a0, $s1, $zero +/* 95E1CC 80242FCC C7A00014 */ lwc1 $f0, 0x14($sp) +/* 95E1D0 80242FD0 4600008D */ trunc.w.s $f2, $f0 +/* 95E1D4 80242FD4 44061000 */ mfc1 $a2, $f2 +/* 95E1D8 80242FD8 0C0B2026 */ jal set_variable +/* 95E1DC 80242FDC 02A0282D */ daddu $a1, $s5, $zero +/* 95E1E0 80242FE0 8FBF0034 */ lw $ra, 0x34($sp) +/* 95E1E4 80242FE4 8FB60030 */ lw $s6, 0x30($sp) +/* 95E1E8 80242FE8 8FB5002C */ lw $s5, 0x2c($sp) +/* 95E1EC 80242FEC 8FB40028 */ lw $s4, 0x28($sp) +/* 95E1F0 80242FF0 8FB30024 */ lw $s3, 0x24($sp) +/* 95E1F4 80242FF4 8FB20020 */ lw $s2, 0x20($sp) +/* 95E1F8 80242FF8 8FB1001C */ lw $s1, 0x1c($sp) +/* 95E1FC 80242FFC 8FB00018 */ lw $s0, 0x18($sp) +/* 95E200 80243000 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 95E204 80243004 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 95E208 80243008 24020002 */ addiu $v0, $zero, 2 +/* 95E20C 8024300C 03E00008 */ jr $ra +/* 95E210 80243010 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243014.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243014.s new file mode 100644 index 0000000000..780f6f224b --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243014.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243014 +/* 95E214 80243014 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E218 80243018 AFB00010 */ sw $s0, 0x10($sp) +/* 95E21C 8024301C 0080802D */ daddu $s0, $a0, $zero +/* 95E220 80243020 AFBF0014 */ sw $ra, 0x14($sp) +/* 95E224 80243024 0C00EABB */ jal get_npc_unsafe +/* 95E228 80243028 8E04008C */ lw $a0, 0x8c($s0) +/* 95E22C 8024302C 0040282D */ daddu $a1, $v0, $zero +/* 95E230 80243030 8E040094 */ lw $a0, 0x94($s0) +/* 95E234 80243034 8CA30028 */ lw $v1, 0x28($a1) +/* 95E238 80243038 ACA40028 */ sw $a0, 0x28($a1) +/* 95E23C 8024303C 8FBF0014 */ lw $ra, 0x14($sp) +/* 95E240 80243040 8FB00010 */ lw $s0, 0x10($sp) +/* 95E244 80243044 24020002 */ addiu $v0, $zero, 2 +/* 95E248 80243048 3C018025 */ lui $at, 0x8025 +/* 95E24C 8024304C AC23E1B4 */ sw $v1, -0x1e4c($at) +/* 95E250 80243050 03E00008 */ jr $ra +/* 95E254 80243054 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243058.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243058.s new file mode 100644 index 0000000000..628d74e433 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243058.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243058 +/* 95E258 80243058 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E25C 8024305C AFBF0010 */ sw $ra, 0x10($sp) +/* 95E260 80243060 0C00EABB */ jal get_npc_unsafe +/* 95E264 80243064 8C84008C */ lw $a0, 0x8c($a0) +/* 95E268 80243068 3C038025 */ lui $v1, 0x8025 +/* 95E26C 8024306C 8C63E1B4 */ lw $v1, -0x1e4c($v1) +/* 95E270 80243070 AC430028 */ sw $v1, 0x28($v0) +/* 95E274 80243074 8FBF0010 */ lw $ra, 0x10($sp) +/* 95E278 80243078 24020002 */ addiu $v0, $zero, 2 +/* 95E27C 8024307C 03E00008 */ jr $ra +/* 95E280 80243080 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243084.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243084.s new file mode 100644 index 0000000000..646210007a --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243084.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243084 +/* 95E284 80243084 3C038011 */ lui $v1, %hi(gPlayerData) +/* 95E288 80243088 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 95E28C 8024308C 8C6202BC */ lw $v0, 0x2bc($v1) +/* 95E290 80243090 AC620328 */ sw $v0, 0x328($v1) +/* 95E294 80243094 03E00008 */ jr $ra +/* 95E298 80243098 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_8024309C.s b/asm/nonmatchings/world/area_dro/dro_01/func_8024309C.s new file mode 100644 index 0000000000..affacd5c34 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_8024309C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024309C +/* 95E29C 8024309C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E2A0 802430A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 95E2A4 802430A4 8C82000C */ lw $v0, 0xc($a0) +/* 95E2A8 802430A8 3C068016 */ lui $a2, 0x8016 +/* 95E2AC 802430AC 84C6A552 */ lh $a2, -0x5aae($a2) +/* 95E2B0 802430B0 0C0B2026 */ jal set_variable +/* 95E2B4 802430B4 8C450000 */ lw $a1, ($v0) +/* 95E2B8 802430B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 95E2BC 802430BC 24020002 */ addiu $v0, $zero, 2 +/* 95E2C0 802430C0 03E00008 */ jr $ra +/* 95E2C4 802430C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802430C8.s b/asm/nonmatchings/world/area_dro/dro_01/func_802430C8.s new file mode 100644 index 0000000000..10876cf3f5 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802430C8.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430C8 +/* 95E2C8 802430C8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 95E2CC 802430CC AFB10014 */ sw $s1, 0x14($sp) +/* 95E2D0 802430D0 AFB00010 */ sw $s0, 0x10($sp) +/* 95E2D4 802430D4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 95E2D8 802430D8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 95E2DC 802430DC 2CA20005 */ sltiu $v0, $a1, 5 +/* 95E2E0 802430E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 95E2E4 802430E4 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 95E2E8 802430E8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95E2EC 802430EC 1040002A */ beqz $v0, .L80243198 +/* 95E2F0 802430F0 0080882D */ daddu $s1, $a0, $zero +/* 95E2F4 802430F4 00051080 */ sll $v0, $a1, 2 +/* 95E2F8 802430F8 3C018025 */ lui $at, 0x8025 +/* 95E2FC 802430FC 00220821 */ addu $at, $at, $v0 +/* 95E300 80243100 8C22DF98 */ lw $v0, -0x2068($at) +/* 95E304 80243104 00400008 */ jr $v0 +/* 95E308 80243108 00000000 */ nop +/* 95E30C 8024310C 8E22001C */ lw $v0, 0x1c($s1) +/* 95E310 80243110 28420006 */ slti $v0, $v0, 6 +/* 95E314 80243114 14400020 */ bnez $v0, .L80243198 +/* 95E318 80243118 00000000 */ nop +/* 95E31C 8024311C 3C064318 */ lui $a2, 0x4318 +/* 95E320 80243120 3C07C274 */ lui $a3, 0xc274 +/* 95E324 80243124 3C0142FA */ lui $at, 0x42fa +/* 95E328 80243128 4481A000 */ mtc1 $at, $f20 +/* 95E32C 8024312C 3C01C228 */ lui $at, 0xc228 +/* 95E330 80243130 4481B000 */ mtc1 $at, $f22 +/* 95E334 80243134 4600A306 */ mov.s $f12, $f20 +/* 95E338 80243138 0C00A720 */ jal atan2 +/* 95E33C 8024313C 4600B386 */ mov.s $f14, $f22 +/* 95E340 80243140 4600A306 */ mov.s $f12, $f20 +/* 95E344 80243144 4600B386 */ mov.s $f14, $f22 +/* 95E348 80243148 8E060028 */ lw $a2, 0x28($s0) +/* 95E34C 8024314C 8E070030 */ lw $a3, 0x30($s0) +/* 95E350 80243150 0C00A720 */ jal atan2 +/* 95E354 80243154 46000506 */ mov.s $f20, $f0 +/* 95E358 80243158 4600A306 */ mov.s $f12, $f20 +/* 95E35C 8024315C 0C00A70A */ jal get_clamped_angle_diff +/* 95E360 80243160 46000386 */ mov.s $f14, $f0 +/* 95E364 80243164 3C0141F0 */ lui $at, 0x41f0 +/* 95E368 80243168 44811000 */ mtc1 $at, $f2 +/* 95E36C 8024316C 46000005 */ abs.s $f0, $f0 +/* 95E370 80243170 4602003C */ c.lt.s $f0, $f2 +/* 95E374 80243174 00000000 */ nop +/* 95E378 80243178 45000007 */ bc1f .L80243198 +/* 95E37C 8024317C 0000302D */ daddu $a2, $zero, $zero +/* 95E380 80243180 3C048025 */ lui $a0, 0x8025 +/* 95E384 80243184 24848504 */ addiu $a0, $a0, -0x7afc +/* 95E388 80243188 0C0B0CF8 */ jal start_script +/* 95E38C 8024318C 24050001 */ addiu $a1, $zero, 1 +/* 95E390 80243190 24020004 */ addiu $v0, $zero, 4 +/* 95E394 80243194 AE220020 */ sw $v0, 0x20($s1) +.L80243198: +/* 95E398 80243198 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E39C 8024319C 8FB10014 */ lw $s1, 0x14($sp) +/* 95E3A0 802431A0 8FB00010 */ lw $s0, 0x10($sp) +/* 95E3A4 802431A4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 95E3A8 802431A8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95E3AC 802431AC 03E00008 */ jr $ra +/* 95E3B0 802431B0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802431B4_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802431B4_95B200.s new file mode 100644 index 0000000000..c20a03d473 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802431B4_95B200.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431B4_95E3B4 +/* 95E3B4 802431B4 3C038011 */ lui $v1, %hi(gPlayerData) +/* 95E3B8 802431B8 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 95E3BC 802431BC 8C6202BC */ lw $v0, 0x2bc($v1) +/* 95E3C0 802431C0 8C630328 */ lw $v1, 0x328($v1) +/* 95E3C4 802431C4 00431023 */ subu $v0, $v0, $v1 +/* 95E3C8 802431C8 3C0391A2 */ lui $v1, 0x91a2 +/* 95E3CC 802431CC 3463B3C5 */ ori $v1, $v1, 0xb3c5 +/* 95E3D0 802431D0 00430019 */ multu $v0, $v1 +/* 95E3D4 802431D4 00002810 */ mfhi $a1 +/* 95E3D8 802431D8 000512C2 */ srl $v0, $a1, 0xb +/* 95E3DC 802431DC 2842001E */ slti $v0, $v0, 0x1e +/* 95E3E0 802431E0 10400003 */ beqz $v0, .L802431F0 +/* 95E3E4 802431E4 24020001 */ addiu $v0, $zero, 1 +/* 95E3E8 802431E8 08090C7D */ j .L802431F4 +/* 95E3EC 802431EC AC820084 */ sw $v0, 0x84($a0) +.L802431F0: +/* 95E3F0 802431F0 AC800084 */ sw $zero, 0x84($a0) +.L802431F4: +/* 95E3F4 802431F4 03E00008 */ jr $ra +/* 95E3F8 802431F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802431FC.s b/asm/nonmatchings/world/area_dro/dro_01/func_802431FC.s new file mode 100644 index 0000000000..99e299a450 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802431FC.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431FC +/* 95E3FC 802431FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 95E400 80243200 AFB10014 */ sw $s1, 0x14($sp) +/* 95E404 80243204 0080882D */ daddu $s1, $a0, $zero +/* 95E408 80243208 AFBF0018 */ sw $ra, 0x18($sp) +/* 95E40C 8024320C AFB00010 */ sw $s0, 0x10($sp) +/* 95E410 80243210 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 95E414 80243214 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 95E418 80243218 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95E41C 8024321C 0C00EAD2 */ jal get_npc_safe +/* 95E420 80243220 8E24014C */ lw $a0, 0x14c($s1) +/* 95E424 80243224 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 95E428 80243228 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 95E42C 8024322C 0040802D */ daddu $s0, $v0, $zero +/* 95E430 80243230 3C014337 */ lui $at, 0x4337 +/* 95E434 80243234 4481A000 */ mtc1 $at, $f20 +/* 95E438 80243238 3C01C296 */ lui $at, 0xc296 +/* 95E43C 8024323C 4481B000 */ mtc1 $at, $f22 +/* 95E440 80243240 8C660028 */ lw $a2, 0x28($v1) +/* 95E444 80243244 8C670030 */ lw $a3, 0x30($v1) +/* 95E448 80243248 4600A306 */ mov.s $f12, $f20 +/* 95E44C 8024324C 0C00A720 */ jal atan2 +/* 95E450 80243250 4600B386 */ mov.s $f14, $f22 +/* 95E454 80243254 46000606 */ mov.s $f24, $f0 +/* 95E458 80243258 4600A306 */ mov.s $f12, $f20 +/* 95E45C 8024325C 8E060038 */ lw $a2, 0x38($s0) +/* 95E460 80243260 8E070040 */ lw $a3, 0x40($s0) +/* 95E464 80243264 0C00A720 */ jal atan2 +/* 95E468 80243268 4600B386 */ mov.s $f14, $f22 +/* 95E46C 8024326C 46000586 */ mov.s $f22, $f0 +/* 95E470 80243270 4600B306 */ mov.s $f12, $f22 +/* 95E474 80243274 0C00A70A */ jal get_clamped_angle_diff +/* 95E478 80243278 4600C386 */ mov.s $f14, $f24 +/* 95E47C 8024327C 46000606 */ mov.s $f24, $f0 +/* 95E480 80243280 0C00A67F */ jal rand_int +/* 95E484 80243284 2404000A */ addiu $a0, $zero, 0xa +/* 95E488 80243288 44800000 */ mtc1 $zero, $f0 +/* 95E48C 8024328C 00000000 */ nop +/* 95E490 80243290 4600C03C */ c.lt.s $f24, $f0 +/* 95E494 80243294 00000000 */ nop +/* 95E498 80243298 45000006 */ bc1f .L802432B4 +/* 95E49C 8024329C 2450001E */ addiu $s0, $v0, 0x1e +/* 95E4A0 802432A0 44900000 */ mtc1 $s0, $f0 +/* 95E4A4 802432A4 00000000 */ nop +/* 95E4A8 802432A8 46800020 */ cvt.s.w $f0, $f0 +/* 95E4AC 802432AC 08090CB1 */ j .L802432C4 +/* 95E4B0 802432B0 4600B580 */ add.s $f22, $f22, $f0 +.L802432B4: +/* 95E4B4 802432B4 44900000 */ mtc1 $s0, $f0 +/* 95E4B8 802432B8 00000000 */ nop +/* 95E4BC 802432BC 46800020 */ cvt.s.w $f0, $f0 +/* 95E4C0 802432C0 4600B581 */ sub.s $f22, $f22, $f0 +.L802432C4: +/* 95E4C4 802432C4 0C00A67F */ jal rand_int +/* 95E4C8 802432C8 24040014 */ addiu $a0, $zero, 0x14 +/* 95E4CC 802432CC 2450001E */ addiu $s0, $v0, 0x1e +/* 95E4D0 802432D0 0C00A8BB */ jal sin_deg +/* 95E4D4 802432D4 4600B306 */ mov.s $f12, $f22 +/* 95E4D8 802432D8 4490A000 */ mtc1 $s0, $f20 +/* 95E4DC 802432DC 00000000 */ nop +/* 95E4E0 802432E0 4680A520 */ cvt.s.w $f20, $f20 +/* 95E4E4 802432E4 46140002 */ mul.s $f0, $f0, $f20 +/* 95E4E8 802432E8 00000000 */ nop +/* 95E4EC 802432EC 3C014337 */ lui $at, 0x4337 +/* 95E4F0 802432F0 44811000 */ mtc1 $at, $f2 +/* 95E4F4 802432F4 00000000 */ nop +/* 95E4F8 802432F8 46020000 */ add.s $f0, $f0, $f2 +/* 95E4FC 802432FC 4600010D */ trunc.w.s $f4, $f0 +/* 95E500 80243300 E6240084 */ swc1 $f4, 0x84($s1) +/* 95E504 80243304 0C00A8D4 */ jal cos_deg +/* 95E508 80243308 4600B306 */ mov.s $f12, $f22 +/* 95E50C 8024330C 46140002 */ mul.s $f0, $f0, $f20 +/* 95E510 80243310 00000000 */ nop +/* 95E514 80243314 3C01C296 */ lui $at, 0xc296 +/* 95E518 80243318 44811000 */ mtc1 $at, $f2 +/* 95E51C 8024331C 00000000 */ nop +/* 95E520 80243320 46001081 */ sub.s $f2, $f2, $f0 +/* 95E524 80243324 4600110D */ trunc.w.s $f4, $f2 +/* 95E528 80243328 E6240088 */ swc1 $f4, 0x88($s1) +/* 95E52C 8024332C 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E530 80243330 8FB10014 */ lw $s1, 0x14($sp) +/* 95E534 80243334 8FB00010 */ lw $s0, 0x10($sp) +/* 95E538 80243338 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 95E53C 8024333C D7B60028 */ ldc1 $f22, 0x28($sp) +/* 95E540 80243340 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95E544 80243344 24020002 */ addiu $v0, $zero, 2 +/* 95E548 80243348 03E00008 */ jr $ra +/* 95E54C 8024334C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243350.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243350.s new file mode 100644 index 0000000000..6efdd28820 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243350.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243350 +/* 95E550 80243350 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 95E554 80243354 AFB10014 */ sw $s1, 0x14($sp) +/* 95E558 80243358 0080882D */ daddu $s1, $a0, $zero +/* 95E55C 8024335C AFBF0018 */ sw $ra, 0x18($sp) +/* 95E560 80243360 AFB00010 */ sw $s0, 0x10($sp) +/* 95E564 80243364 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 95E568 80243368 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 95E56C 8024336C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95E570 80243370 8E30000C */ lw $s0, 0xc($s1) +/* 95E574 80243374 8E050000 */ lw $a1, ($s0) +/* 95E578 80243378 0C0B1EAF */ jal get_variable +/* 95E57C 8024337C 26100004 */ addiu $s0, $s0, 4 +/* 95E580 80243380 8E050000 */ lw $a1, ($s0) +/* 95E584 80243384 26100004 */ addiu $s0, $s0, 4 +/* 95E588 80243388 4482C000 */ mtc1 $v0, $f24 +/* 95E58C 8024338C 00000000 */ nop +/* 95E590 80243390 4680C620 */ cvt.s.w $f24, $f24 +/* 95E594 80243394 0C0B1EAF */ jal get_variable +/* 95E598 80243398 0220202D */ daddu $a0, $s1, $zero +/* 95E59C 8024339C 8E050000 */ lw $a1, ($s0) +/* 95E5A0 802433A0 26100004 */ addiu $s0, $s0, 4 +/* 95E5A4 802433A4 4482B000 */ mtc1 $v0, $f22 +/* 95E5A8 802433A8 00000000 */ nop +/* 95E5AC 802433AC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 95E5B0 802433B0 0C0B1EAF */ jal get_variable +/* 95E5B4 802433B4 0220202D */ daddu $a0, $s1, $zero +/* 95E5B8 802433B8 8E050000 */ lw $a1, ($s0) +/* 95E5BC 802433BC 4482A000 */ mtc1 $v0, $f20 +/* 95E5C0 802433C0 00000000 */ nop +/* 95E5C4 802433C4 4680A520 */ cvt.s.w $f20, $f20 +/* 95E5C8 802433C8 0C0B1EAF */ jal get_variable +/* 95E5CC 802433CC 0220202D */ daddu $a0, $s1, $zero +/* 95E5D0 802433D0 44820000 */ mtc1 $v0, $f0 +/* 95E5D4 802433D4 00000000 */ nop +/* 95E5D8 802433D8 46800020 */ cvt.s.w $f0, $f0 +/* 95E5DC 802433DC 46160001 */ sub.s $f0, $f0, $f22 +/* 95E5E0 802433E0 4618A501 */ sub.s $f20, $f20, $f24 +/* 95E5E4 802433E4 46140003 */ div.s $f0, $f0, $f20 +/* 95E5E8 802433E8 46180602 */ mul.s $f24, $f0, $f24 +/* 95E5EC 802433EC 00000000 */ nop +/* 95E5F0 802433F0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 95E5F4 802433F4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 95E5F8 802433F8 C4420028 */ lwc1 $f2, 0x28($v0) +/* 95E5FC 802433FC 46020002 */ mul.s $f0, $f0, $f2 +/* 95E600 80243400 00000000 */ nop +/* 95E604 80243404 4618B581 */ sub.s $f22, $f22, $f24 +/* 95E608 80243408 46160000 */ add.s $f0, $f0, $f22 +/* 95E60C 8024340C C4420030 */ lwc1 $f2, 0x30($v0) +/* 95E610 80243410 4600103C */ c.lt.s $f2, $f0 +/* 95E614 80243414 00000000 */ nop +/* 95E618 80243418 45030005 */ bc1tl .L80243430 +/* 95E61C 8024341C AE200084 */ sw $zero, 0x84($s1) +/* 95E620 80243420 24020001 */ addiu $v0, $zero, 1 +/* 95E624 80243424 AE220084 */ sw $v0, 0x84($s1) +/* 95E628 80243428 08090D0D */ j .L80243434 +/* 95E62C 8024342C 0000102D */ daddu $v0, $zero, $zero +.L80243430: +/* 95E630 80243430 24020002 */ addiu $v0, $zero, 2 +.L80243434: +/* 95E634 80243434 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E638 80243438 8FB10014 */ lw $s1, 0x14($sp) +/* 95E63C 8024343C 8FB00010 */ lw $s0, 0x10($sp) +/* 95E640 80243440 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 95E644 80243444 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 95E648 80243448 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95E64C 8024344C 03E00008 */ jr $ra +/* 95E650 80243450 27BD0038 */ addiu $sp, $sp, 0x38 +/* 95E654 80243454 00000000 */ nop +/* 95E658 80243458 00000000 */ nop +/* 95E65C 8024345C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243460.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243460.s new file mode 100644 index 0000000000..3384e3752d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243460.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243460 +/* 95E660 80243460 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95E664 80243464 AFB00010 */ sw $s0, 0x10($sp) +/* 95E668 80243468 3C108025 */ lui $s0, 0x8025 +/* 95E66C 8024346C 2610B5B0 */ addiu $s0, $s0, -0x4a50 +/* 95E670 80243470 AFBF0018 */ sw $ra, 0x18($sp) +/* 95E674 80243474 AFB10014 */ sw $s1, 0x14($sp) +/* 95E678 80243478 8E020000 */ lw $v0, ($s0) +/* 95E67C 8024347C 14400010 */ bnez $v0, .L802434C0 +/* 95E680 80243480 0080882D */ daddu $s1, $a0, $zero +/* 95E684 80243484 0C00AB39 */ jal heap_malloc +/* 95E688 80243488 24040040 */ addiu $a0, $zero, 0x40 +/* 95E68C 8024348C AE020000 */ sw $v0, ($s0) +/* 95E690 80243490 0000182D */ daddu $v1, $zero, $zero +/* 95E694 80243494 0040282D */ daddu $a1, $v0, $zero +/* 95E698 80243498 0220202D */ daddu $a0, $s1, $zero +.L8024349C: +/* 95E69C 8024349C 8C820084 */ lw $v0, 0x84($a0) +/* 95E6A0 802434A0 24840004 */ addiu $a0, $a0, 4 +/* 95E6A4 802434A4 24630001 */ addiu $v1, $v1, 1 +/* 95E6A8 802434A8 ACA20000 */ sw $v0, ($a1) +/* 95E6AC 802434AC 28620010 */ slti $v0, $v1, 0x10 +/* 95E6B0 802434B0 1440FFFA */ bnez $v0, .L8024349C +/* 95E6B4 802434B4 24A50004 */ addiu $a1, $a1, 4 +/* 95E6B8 802434B8 08090D3F */ j .L802434FC +/* 95E6BC 802434BC 00000000 */ nop +.L802434C0: +/* 95E6C0 802434C0 0000182D */ daddu $v1, $zero, $zero +/* 95E6C4 802434C4 0040282D */ daddu $a1, $v0, $zero +/* 95E6C8 802434C8 0220202D */ daddu $a0, $s1, $zero +.L802434CC: +/* 95E6CC 802434CC 8CA20000 */ lw $v0, ($a1) +/* 95E6D0 802434D0 24A50004 */ addiu $a1, $a1, 4 +/* 95E6D4 802434D4 24630001 */ addiu $v1, $v1, 1 +/* 95E6D8 802434D8 AC820084 */ sw $v0, 0x84($a0) +/* 95E6DC 802434DC 28620010 */ slti $v0, $v1, 0x10 +/* 95E6E0 802434E0 1440FFFA */ bnez $v0, .L802434CC +/* 95E6E4 802434E4 24840004 */ addiu $a0, $a0, 4 +/* 95E6E8 802434E8 3C108025 */ lui $s0, 0x8025 +/* 95E6EC 802434EC 2610B5B0 */ addiu $s0, $s0, -0x4a50 +/* 95E6F0 802434F0 0C00AB4B */ jal heap_free +/* 95E6F4 802434F4 8E040000 */ lw $a0, ($s0) +/* 95E6F8 802434F8 AE000000 */ sw $zero, ($s0) +.L802434FC: +/* 95E6FC 802434FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E700 80243500 8FB10014 */ lw $s1, 0x14($sp) +/* 95E704 80243504 8FB00010 */ lw $s0, 0x10($sp) +/* 95E708 80243508 24020002 */ addiu $v0, $zero, 2 +/* 95E70C 8024350C 03E00008 */ jr $ra +/* 95E710 80243510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243514_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243514_95B200.s new file mode 100644 index 0000000000..cb13d1cce3 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243514_95B200.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243514_95E714 +/* 95E714 80243514 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95E718 80243518 AFB00010 */ sw $s0, 0x10($sp) +/* 95E71C 8024351C 0080802D */ daddu $s0, $a0, $zero +/* 95E720 80243520 AFBF0018 */ sw $ra, 0x18($sp) +/* 95E724 80243524 AFB10014 */ sw $s1, 0x14($sp) +/* 95E728 80243528 8E02000C */ lw $v0, 0xc($s0) +/* 95E72C 8024352C 8C510000 */ lw $s1, ($v0) +/* 95E730 80243530 0C0B1EAF */ jal get_variable +/* 95E734 80243534 0220282D */ daddu $a1, $s1, $zero +/* 95E738 80243538 3C03FFF0 */ lui $v1, 0xfff0 +/* 95E73C 8024353C 3463FFFF */ ori $v1, $v1, 0xffff +/* 95E740 80243540 0200202D */ daddu $a0, $s0, $zero +/* 95E744 80243544 00431024 */ and $v0, $v0, $v1 +/* 95E748 80243548 00021140 */ sll $v0, $v0, 5 +/* 95E74C 8024354C 3C068008 */ lui $a2, %hi(gItemTable) +/* 95E750 80243550 00C23021 */ addu $a2, $a2, $v0 +/* 95E754 80243554 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 95E758 80243558 0C0B2026 */ jal set_variable +/* 95E75C 8024355C 0220282D */ daddu $a1, $s1, $zero +/* 95E760 80243560 8FBF0018 */ lw $ra, 0x18($sp) +/* 95E764 80243564 8FB10014 */ lw $s1, 0x14($sp) +/* 95E768 80243568 8FB00010 */ lw $s0, 0x10($sp) +/* 95E76C 8024356C 24020002 */ addiu $v0, $zero, 2 +/* 95E770 80243570 03E00008 */ jr $ra +/* 95E774 80243574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243578.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243578.s new file mode 100644 index 0000000000..5cca7ae89d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243578.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243578 +/* 95E778 80243578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E77C 8024357C AFBF0010 */ sw $ra, 0x10($sp) +/* 95E780 80243580 0C03A5B2 */ jal func_800E96C8 +/* 95E784 80243584 00000000 */ nop +/* 95E788 80243588 8FBF0010 */ lw $ra, 0x10($sp) +/* 95E78C 8024358C 24020002 */ addiu $v0, $zero, 2 +/* 95E790 80243590 03E00008 */ jr $ra +/* 95E794 80243594 27BD0018 */ addiu $sp, $sp, 0x18 +/* 95E798 80243598 00000000 */ nop +/* 95E79C 8024359C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802435A0.s b/asm/nonmatchings/world/area_dro/dro_01/func_802435A0.s new file mode 100644 index 0000000000..3884a31e84 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802435A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435A0 +/* 95E7A0 802435A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 95E7A4 802435A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 95E7A8 802435A8 8C430004 */ lw $v1, 4($v0) +/* 95E7AC 802435AC 3C040010 */ lui $a0, 0x10 +/* 95E7B0 802435B0 00641825 */ or $v1, $v1, $a0 +/* 95E7B4 802435B4 AC430004 */ sw $v1, 4($v0) +/* 95E7B8 802435B8 03E00008 */ jr $ra +/* 95E7BC 802435BC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802435C0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802435C0_95B200.s new file mode 100644 index 0000000000..5abd0821d0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802435C0_95B200.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435C0_95E7C0 +/* 95E7C0 802435C0 3C028016 */ lui $v0, 0x8016 +/* 95E7C4 802435C4 8442A552 */ lh $v0, -0x5aae($v0) +/* 95E7C8 802435C8 AC820084 */ sw $v0, 0x84($a0) +/* 95E7CC 802435CC 03E00008 */ jr $ra +/* 95E7D0 802435D0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802435D4.s b/asm/nonmatchings/world/area_dro/dro_01/func_802435D4.s new file mode 100644 index 0000000000..c8eb3952b8 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802435D4.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435D4 +/* 95E7D4 802435D4 3C038016 */ lui $v1, 0x8016 +/* 95E7D8 802435D8 8463A552 */ lh $v1, -0x5aae($v1) +/* 95E7DC 802435DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E7E0 802435E0 AFB00010 */ sw $s0, 0x10($sp) +/* 95E7E4 802435E4 0080802D */ daddu $s0, $a0, $zero +/* 95E7E8 802435E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 95E7EC 802435EC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 95E7F0 802435F0 10620003 */ beq $v1, $v0, .L80243600 +/* 95E7F4 802435F4 24020002 */ addiu $v0, $zero, 2 +/* 95E7F8 802435F8 08090DA0 */ j .L80243680 +/* 95E7FC 802435FC AE000084 */ sw $zero, 0x84($s0) +.L80243600: +/* 95E800 80243600 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 95E804 80243604 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 95E808 80243608 80620040 */ lb $v0, 0x40($v1) +/* 95E80C 8024360C 80670044 */ lb $a3, 0x44($v1) +/* 95E810 80243610 04420001 */ bltzl $v0, .L80243618 +/* 95E814 80243614 00021023 */ negu $v0, $v0 +.L80243618: +/* 95E818 80243618 14400003 */ bnez $v0, .L80243628 +/* 95E81C 8024361C 00000000 */ nop +/* 95E820 80243620 50E00017 */ beql $a3, $zero, .L80243680 +/* 95E824 80243624 0000102D */ daddu $v0, $zero, $zero +.L80243628: +/* 95E828 80243628 44822000 */ mtc1 $v0, $f4 +/* 95E82C 8024362C 00000000 */ nop +/* 95E830 80243630 46802120 */ cvt.s.w $f4, $f4 +/* 95E834 80243634 44062000 */ mfc1 $a2, $f4 +/* 95E838 80243638 44872000 */ mtc1 $a3, $f4 +/* 95E83C 8024363C 00000000 */ nop +/* 95E840 80243640 46802120 */ cvt.s.w $f4, $f4 +/* 95E844 80243644 44806000 */ mtc1 $zero, $f12 +/* 95E848 80243648 44072000 */ mfc1 $a3, $f4 +/* 95E84C 8024364C 0C00A720 */ jal atan2 +/* 95E850 80243650 46006386 */ mov.s $f14, $f12 +/* 95E854 80243654 3C014270 */ lui $at, 0x4270 +/* 95E858 80243658 44811000 */ mtc1 $at, $f2 +/* 95E85C 8024365C 00000000 */ nop +/* 95E860 80243660 4602003C */ c.lt.s $f0, $f2 +/* 95E864 80243664 00000000 */ nop +/* 95E868 80243668 45000004 */ bc1f .L8024367C +/* 95E86C 8024366C 24020001 */ addiu $v0, $zero, 1 +/* 95E870 80243670 AE020084 */ sw $v0, 0x84($s0) +/* 95E874 80243674 08090DA0 */ j .L80243680 +/* 95E878 80243678 24020002 */ addiu $v0, $zero, 2 +.L8024367C: +/* 95E87C 8024367C 0000102D */ daddu $v0, $zero, $zero +.L80243680: +/* 95E880 80243680 8FBF0014 */ lw $ra, 0x14($sp) +/* 95E884 80243684 8FB00010 */ lw $s0, 0x10($sp) +/* 95E888 80243688 03E00008 */ jr $ra +/* 95E88C 8024368C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243690.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243690.s new file mode 100644 index 0000000000..3d9a1fd9d2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243690.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243690 +/* 95E890 80243690 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 95E894 80243694 AFB10014 */ sw $s1, 0x14($sp) +/* 95E898 80243698 0080882D */ daddu $s1, $a0, $zero +/* 95E89C 8024369C AFBF001C */ sw $ra, 0x1c($sp) +/* 95E8A0 802436A0 AFB20018 */ sw $s2, 0x18($sp) +/* 95E8A4 802436A4 0C016AFA */ jal get_current_map_header +/* 95E8A8 802436A8 AFB00010 */ sw $s0, 0x10($sp) +/* 95E8AC 802436AC 0220202D */ daddu $a0, $s1, $zero +/* 95E8B0 802436B0 3C05FE36 */ lui $a1, 0xfe36 +/* 95E8B4 802436B4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95E8B8 802436B8 0C0B1EAF */ jal get_variable +/* 95E8BC 802436BC 0040902D */ daddu $s2, $v0, $zero +/* 95E8C0 802436C0 0220202D */ daddu $a0, $s1, $zero +/* 95E8C4 802436C4 3C05FE36 */ lui $a1, 0xfe36 +/* 95E8C8 802436C8 8E430014 */ lw $v1, 0x14($s2) +/* 95E8CC 802436CC 00028100 */ sll $s0, $v0, 4 +/* 95E8D0 802436D0 02031821 */ addu $v1, $s0, $v1 +/* 95E8D4 802436D4 C4600000 */ lwc1 $f0, ($v1) +/* 95E8D8 802436D8 4600008D */ trunc.w.s $f2, $f0 +/* 95E8DC 802436DC 44061000 */ mfc1 $a2, $f2 +/* 95E8E0 802436E0 0C0B2026 */ jal set_variable +/* 95E8E4 802436E4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 95E8E8 802436E8 0220202D */ daddu $a0, $s1, $zero +/* 95E8EC 802436EC 8E420014 */ lw $v0, 0x14($s2) +/* 95E8F0 802436F0 3C05FE36 */ lui $a1, 0xfe36 +/* 95E8F4 802436F4 02021021 */ addu $v0, $s0, $v0 +/* 95E8F8 802436F8 C4400004 */ lwc1 $f0, 4($v0) +/* 95E8FC 802436FC 4600008D */ trunc.w.s $f2, $f0 +/* 95E900 80243700 44061000 */ mfc1 $a2, $f2 +/* 95E904 80243704 0C0B2026 */ jal set_variable +/* 95E908 80243708 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 95E90C 8024370C 0220202D */ daddu $a0, $s1, $zero +/* 95E910 80243710 8E420014 */ lw $v0, 0x14($s2) +/* 95E914 80243714 3C05FE36 */ lui $a1, 0xfe36 +/* 95E918 80243718 02021021 */ addu $v0, $s0, $v0 +/* 95E91C 8024371C C4400008 */ lwc1 $f0, 8($v0) +/* 95E920 80243720 4600008D */ trunc.w.s $f2, $f0 +/* 95E924 80243724 44061000 */ mfc1 $a2, $f2 +/* 95E928 80243728 0C0B2026 */ jal set_variable +/* 95E92C 8024372C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 95E930 80243730 0220202D */ daddu $a0, $s1, $zero +/* 95E934 80243734 8E420014 */ lw $v0, 0x14($s2) +/* 95E938 80243738 3C05FE36 */ lui $a1, 0xfe36 +/* 95E93C 8024373C 02028021 */ addu $s0, $s0, $v0 +/* 95E940 80243740 C600000C */ lwc1 $f0, 0xc($s0) +/* 95E944 80243744 4600008D */ trunc.w.s $f2, $f0 +/* 95E948 80243748 44061000 */ mfc1 $a2, $f2 +/* 95E94C 8024374C 0C0B2026 */ jal set_variable +/* 95E950 80243750 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 95E954 80243754 8FBF001C */ lw $ra, 0x1c($sp) +/* 95E958 80243758 8FB20018 */ lw $s2, 0x18($sp) +/* 95E95C 8024375C 8FB10014 */ lw $s1, 0x14($sp) +/* 95E960 80243760 8FB00010 */ lw $s0, 0x10($sp) +/* 95E964 80243764 24020002 */ addiu $v0, $zero, 2 +/* 95E968 80243768 03E00008 */ jr $ra +/* 95E96C 8024376C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243770.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243770.s new file mode 100644 index 0000000000..d2735706fa --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243770.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243770 +/* 95E970 80243770 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 95E974 80243774 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 95E978 80243778 3C014334 */ lui $at, 0x4334 +/* 95E97C 8024377C 44816000 */ mtc1 $at, $f12 +/* 95E980 80243780 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 95E984 80243784 AFBF0014 */ sw $ra, 0x14($sp) +/* 95E988 80243788 AFB00010 */ sw $s0, 0x10($sp) +/* 95E98C 8024378C 00031080 */ sll $v0, $v1, 2 +/* 95E990 80243790 00431021 */ addu $v0, $v0, $v1 +/* 95E994 80243794 00021080 */ sll $v0, $v0, 2 +/* 95E998 80243798 00431023 */ subu $v0, $v0, $v1 +/* 95E99C 8024379C 000218C0 */ sll $v1, $v0, 3 +/* 95E9A0 802437A0 00431021 */ addu $v0, $v0, $v1 +/* 95E9A4 802437A4 000210C0 */ sll $v0, $v0, 3 +/* 95E9A8 802437A8 3C01800B */ lui $at, 0x800b +/* 95E9AC 802437AC 00220821 */ addu $at, $at, $v0 +/* 95E9B0 802437B0 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 95E9B4 802437B4 460C0300 */ add.s $f12, $f0, $f12 +/* 95E9B8 802437B8 0C00A6C9 */ jal clamp_angle +/* 95E9BC 802437BC 0080802D */ daddu $s0, $a0, $zero +/* 95E9C0 802437C0 4600008D */ trunc.w.s $f2, $f0 +/* 95E9C4 802437C4 E6020084 */ swc1 $f2, 0x84($s0) +/* 95E9C8 802437C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 95E9CC 802437CC 8FB00010 */ lw $s0, 0x10($sp) +/* 95E9D0 802437D0 24020002 */ addiu $v0, $zero, 2 +/* 95E9D4 802437D4 03E00008 */ jr $ra +/* 95E9D8 802437D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802437DC.s b/asm/nonmatchings/world/area_dro/dro_01/func_802437DC.s new file mode 100644 index 0000000000..55e11d76dd --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802437DC.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802437DC +/* 95E9DC 802437DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 95E9E0 802437E0 AFB00018 */ sw $s0, 0x18($sp) +/* 95E9E4 802437E4 0080802D */ daddu $s0, $a0, $zero +/* 95E9E8 802437E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 95E9EC 802437EC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 95E9F0 802437F0 8E02000C */ lw $v0, 0xc($s0) +/* 95E9F4 802437F4 0C0B210B */ jal get_float_variable +/* 95E9F8 802437F8 8C450000 */ lw $a1, ($v0) +/* 95E9FC 802437FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EA00 80243800 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 95EA04 80243804 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 95EA08 80243808 44060000 */ mfc1 $a2, $f0 +/* 95EA0C 8024380C C4400028 */ lwc1 $f0, 0x28($v0) +/* 95EA10 80243810 C4420030 */ lwc1 $f2, 0x30($v0) +/* 95EA14 80243814 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95EA18 80243818 E7A20014 */ swc1 $f2, 0x14($sp) +/* 95EA1C 8024381C 8C470080 */ lw $a3, 0x80($v0) +/* 95EA20 80243820 C454002C */ lwc1 $f20, 0x2c($v0) +/* 95EA24 80243824 0C00A7E7 */ jal add_vec2D_polar +/* 95EA28 80243828 27A50014 */ addiu $a1, $sp, 0x14 +/* 95EA2C 8024382C 0200202D */ daddu $a0, $s0, $zero +/* 95EA30 80243830 3C05FE36 */ lui $a1, 0xfe36 +/* 95EA34 80243834 8FA60010 */ lw $a2, 0x10($sp) +/* 95EA38 80243838 0C0B2190 */ jal set_float_variable +/* 95EA3C 8024383C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 95EA40 80243840 0200202D */ daddu $a0, $s0, $zero +/* 95EA44 80243844 3C05FE36 */ lui $a1, 0xfe36 +/* 95EA48 80243848 4406A000 */ mfc1 $a2, $f20 +/* 95EA4C 8024384C 0C0B2190 */ jal set_float_variable +/* 95EA50 80243850 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 95EA54 80243854 0200202D */ daddu $a0, $s0, $zero +/* 95EA58 80243858 3C05FE36 */ lui $a1, 0xfe36 +/* 95EA5C 8024385C 8FA60014 */ lw $a2, 0x14($sp) +/* 95EA60 80243860 0C0B2190 */ jal set_float_variable +/* 95EA64 80243864 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 95EA68 80243868 8FBF001C */ lw $ra, 0x1c($sp) +/* 95EA6C 8024386C 8FB00018 */ lw $s0, 0x18($sp) +/* 95EA70 80243870 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 95EA74 80243874 24020002 */ addiu $v0, $zero, 2 +/* 95EA78 80243878 03E00008 */ jr $ra +/* 95EA7C 8024387C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_80243880.s b/asm/nonmatchings/world/area_dro/dro_01/func_80243880.s new file mode 100644 index 0000000000..987fb62d2d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_80243880.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243880 +/* 95EA80 80243880 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 95EA84 80243884 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 95EA88 80243888 4485A000 */ mtc1 $a1, $f20 +/* 95EA8C 8024388C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 95EA90 80243890 4486B000 */ mtc1 $a2, $f22 +/* 95EA94 80243894 AFB00010 */ sw $s0, 0x10($sp) +/* 95EA98 80243898 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 95EA9C 8024389C 4487C000 */ mtc1 $a3, $f24 +/* 95EAA0 802438A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 95EAA4 802438A4 0C019D28 */ jal guMtxIdentF +/* 95EAA8 802438A8 0080802D */ daddu $s0, $a0, $zero +/* 95EAAC 802438AC 4616A582 */ mul.s $f22, $f20, $f22 +/* 95EAB0 802438B0 00000000 */ nop +/* 95EAB4 802438B4 4618A502 */ mul.s $f20, $f20, $f24 +/* 95EAB8 802438B8 00000000 */ nop +/* 95EABC 802438BC 3C013F80 */ lui $at, 0x3f80 +/* 95EAC0 802438C0 44810000 */ mtc1 $at, $f0 +/* 95EAC4 802438C4 00000000 */ nop +/* 95EAC8 802438C8 E6000014 */ swc1 $f0, 0x14($s0) +/* 95EACC 802438CC E6160010 */ swc1 $f22, 0x10($s0) +/* 95EAD0 802438D0 E6140018 */ swc1 $f20, 0x18($s0) +/* 95EAD4 802438D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 95EAD8 802438D8 8FB00010 */ lw $s0, 0x10($sp) +/* 95EADC 802438DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 95EAE0 802438E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 95EAE4 802438E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 95EAE8 802438E8 03E00008 */ jr $ra +/* 95EAEC 802438EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_dro/dro_01/func_802438F0_95B200.s b/asm/nonmatchings/world/area_dro/dro_01/func_802438F0_95B200.s new file mode 100644 index 0000000000..4f77e4fe6e --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_01/func_802438F0_95B200.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802438F0_95EAF0 +/* 95EAF0 802438F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 95EAF4 802438F4 AFB10054 */ sw $s1, 0x54($sp) +/* 95EAF8 802438F8 0080882D */ daddu $s1, $a0, $zero +/* 95EAFC 802438FC AFBF005C */ sw $ra, 0x5c($sp) +/* 95EB00 80243900 AFB20058 */ sw $s2, 0x58($sp) +/* 95EB04 80243904 AFB00050 */ sw $s0, 0x50($sp) +/* 95EB08 80243908 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 95EB0C 8024390C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 95EB10 80243910 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 95EB14 80243914 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 95EB18 80243918 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 95EB1C 8024391C 8E30000C */ lw $s0, 0xc($s1) +/* 95EB20 80243920 8E050000 */ lw $a1, ($s0) +/* 95EB24 80243924 0C0B1EAF */ jal get_variable +/* 95EB28 80243928 26100004 */ addiu $s0, $s0, 4 +/* 95EB2C 8024392C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 95EB30 80243930 0040202D */ daddu $a0, $v0, $zero +/* 95EB34 80243934 8E050000 */ lw $a1, ($s0) +/* 95EB38 80243938 26100004 */ addiu $s0, $s0, 4 +/* 95EB3C 8024393C 0220202D */ daddu $a0, $s1, $zero +/* 95EB40 80243940 0C0B210B */ jal get_float_variable +/* 95EB44 80243944 0040902D */ daddu $s2, $v0, $zero +/* 95EB48 80243948 8E050000 */ lw $a1, ($s0) +/* 95EB4C 8024394C 26100004 */ addiu $s0, $s0, 4 +/* 95EB50 80243950 0220202D */ daddu $a0, $s1, $zero +/* 95EB54 80243954 0C0B210B */ jal get_float_variable +/* 95EB58 80243958 46000706 */ mov.s $f28, $f0 +/* 95EB5C 8024395C 8E050000 */ lw $a1, ($s0) +/* 95EB60 80243960 26100004 */ addiu $s0, $s0, 4 +/* 95EB64 80243964 0220202D */ daddu $a0, $s1, $zero +/* 95EB68 80243968 0C0B210B */ jal get_float_variable +/* 95EB6C 8024396C 46000686 */ mov.s $f26, $f0 +/* 95EB70 80243970 0220202D */ daddu $a0, $s1, $zero +/* 95EB74 80243974 8E050000 */ lw $a1, ($s0) +/* 95EB78 80243978 0C0B210B */ jal get_float_variable +/* 95EB7C 8024397C 46000586 */ mov.s $f22, $f0 +/* 95EB80 80243980 0240202D */ daddu $a0, $s2, $zero +/* 95EB84 80243984 0C046B4C */ jal get_model_from_list_index +/* 95EB88 80243988 46000606 */ mov.s $f24, $f0 +/* 95EB8C 8024398C 0040882D */ daddu $s1, $v0, $zero +/* 95EB90 80243990 96220000 */ lhu $v0, ($s1) +/* 95EB94 80243994 30420400 */ andi $v0, $v0, 0x400 +/* 95EB98 80243998 1440001E */ bnez $v0, .L80243A14 +/* 95EB9C 8024399C 26300058 */ addiu $s0, $s1, 0x58 +/* 95EBA0 802439A0 4480A000 */ mtc1 $zero, $f20 +/* 95EBA4 802439A4 4406B000 */ mfc1 $a2, $f22 +/* 95EBA8 802439A8 4405A000 */ mfc1 $a1, $f20 +/* 95EBAC 802439AC 4407A000 */ mfc1 $a3, $f20 +/* 95EBB0 802439B0 0C019E40 */ jal guTranslateF +/* 95EBB4 802439B4 0200202D */ daddu $a0, $s0, $zero +/* 95EBB8 802439B8 4405E000 */ mfc1 $a1, $f28 +/* 95EBBC 802439BC 4406D000 */ mfc1 $a2, $f26 +/* 95EBC0 802439C0 4407C000 */ mfc1 $a3, $f24 +/* 95EBC4 802439C4 0C090E20 */ jal func_80243880 +/* 95EBC8 802439C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EBCC 802439CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EBD0 802439D0 0200282D */ daddu $a1, $s0, $zero +/* 95EBD4 802439D4 0C019D80 */ jal guMtxCatF +/* 95EBD8 802439D8 0200302D */ daddu $a2, $s0, $zero +/* 95EBDC 802439DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EBE0 802439E0 4600B587 */ neg.s $f22, $f22 +/* 95EBE4 802439E4 4405A000 */ mfc1 $a1, $f20 +/* 95EBE8 802439E8 4406B000 */ mfc1 $a2, $f22 +/* 95EBEC 802439EC 0C019E40 */ jal guTranslateF +/* 95EBF0 802439F0 00A0382D */ daddu $a3, $a1, $zero +/* 95EBF4 802439F4 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EBF8 802439F8 0200282D */ daddu $a1, $s0, $zero +/* 95EBFC 802439FC 0C019D80 */ jal guMtxCatF +/* 95EC00 80243A00 00A0302D */ daddu $a2, $a1, $zero +/* 95EC04 80243A04 96220000 */ lhu $v0, ($s1) +/* 95EC08 80243A08 34421400 */ ori $v0, $v0, 0x1400 +/* 95EC0C 80243A0C 08090EA3 */ j .L80243A8C +/* 95EC10 80243A10 A6220000 */ sh $v0, ($s1) +.L80243A14: +/* 95EC14 80243A14 4480A000 */ mtc1 $zero, $f20 +/* 95EC18 80243A18 4406B000 */ mfc1 $a2, $f22 +/* 95EC1C 80243A1C 4405A000 */ mfc1 $a1, $f20 +/* 95EC20 80243A20 4407A000 */ mfc1 $a3, $f20 +/* 95EC24 80243A24 0C019E40 */ jal guTranslateF +/* 95EC28 80243A28 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC2C 80243A2C 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC30 80243A30 26300058 */ addiu $s0, $s1, 0x58 +/* 95EC34 80243A34 0200282D */ daddu $a1, $s0, $zero +/* 95EC38 80243A38 0C019D80 */ jal guMtxCatF +/* 95EC3C 80243A3C 0200302D */ daddu $a2, $s0, $zero +/* 95EC40 80243A40 4405E000 */ mfc1 $a1, $f28 +/* 95EC44 80243A44 4406D000 */ mfc1 $a2, $f26 +/* 95EC48 80243A48 4407C000 */ mfc1 $a3, $f24 +/* 95EC4C 80243A4C 0C090E20 */ jal func_80243880 +/* 95EC50 80243A50 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC54 80243A54 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC58 80243A58 0200282D */ daddu $a1, $s0, $zero +/* 95EC5C 80243A5C 0C019D80 */ jal guMtxCatF +/* 95EC60 80243A60 0200302D */ daddu $a2, $s0, $zero +/* 95EC64 80243A64 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC68 80243A68 4600B587 */ neg.s $f22, $f22 +/* 95EC6C 80243A6C 4405A000 */ mfc1 $a1, $f20 +/* 95EC70 80243A70 4406B000 */ mfc1 $a2, $f22 +/* 95EC74 80243A74 0C019E40 */ jal guTranslateF +/* 95EC78 80243A78 00A0382D */ daddu $a3, $a1, $zero +/* 95EC7C 80243A7C 27A40010 */ addiu $a0, $sp, 0x10 +/* 95EC80 80243A80 0200282D */ daddu $a1, $s0, $zero +/* 95EC84 80243A84 0C019D80 */ jal guMtxCatF +/* 95EC88 80243A88 00A0302D */ daddu $a2, $a1, $zero +.L80243A8C: +/* 95EC8C 80243A8C 8FBF005C */ lw $ra, 0x5c($sp) +/* 95EC90 80243A90 8FB20058 */ lw $s2, 0x58($sp) +/* 95EC94 80243A94 8FB10054 */ lw $s1, 0x54($sp) +/* 95EC98 80243A98 8FB00050 */ lw $s0, 0x50($sp) +/* 95EC9C 80243A9C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 95ECA0 80243AA0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 95ECA4 80243AA4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 95ECA8 80243AA8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 95ECAC 80243AAC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 95ECB0 80243AB0 24020002 */ addiu $v0, $zero, 2 +/* 95ECB4 80243AB4 03E00008 */ jr $ra +/* 95ECB8 80243AB8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 95ECBC 80243ABC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240000_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240000_9691C0.s new file mode 100644 index 0000000000..e25342769b --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240000_9691C0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9691C0 +/* 9691C0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9691C4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* 9691C8 80240008 0080882D */ daddu $s1, $a0, $zero +/* 9691CC 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 9691D0 80240010 AFB20018 */ sw $s2, 0x18($sp) +/* 9691D4 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* 9691D8 80240018 8E30000C */ lw $s0, 0xc($s1) +/* 9691DC 8024001C 8E050000 */ lw $a1, ($s0) +/* 9691E0 80240020 0C0B1EAF */ jal get_variable +/* 9691E4 80240024 26100004 */ addiu $s0, $s0, 4 +/* 9691E8 80240028 8E050000 */ lw $a1, ($s0) +/* 9691EC 8024002C 26100004 */ addiu $s0, $s0, 4 +/* 9691F0 80240030 0220202D */ daddu $a0, $s1, $zero +/* 9691F4 80240034 0C0B1EAF */ jal get_variable +/* 9691F8 80240038 0040902D */ daddu $s2, $v0, $zero +/* 9691FC 8024003C 0220202D */ daddu $a0, $s1, $zero +/* 969200 80240040 8E050000 */ lw $a1, ($s0) +/* 969204 80240044 0C0B1EAF */ jal get_variable +/* 969208 80240048 0040802D */ daddu $s0, $v0, $zero +/* 96920C 8024004C 0040882D */ daddu $s1, $v0, $zero +/* 969210 80240050 2402FFFF */ addiu $v0, $zero, -1 +/* 969214 80240054 16020005 */ bne $s0, $v0, .L8024006C +/* 969218 80240058 24020001 */ addiu $v0, $zero, 1 +/* 96921C 8024005C 0C04760B */ jal func_8011D82C +/* 969220 80240060 0220202D */ daddu $a0, $s1, $zero +/* 969224 80240064 08090043 */ j .L8024010C +/* 969228 80240068 24020002 */ addiu $v0, $zero, 2 +.L8024006C: +/* 96922C 8024006C 12420018 */ beq $s2, $v0, .L802400D0 +/* 969230 80240070 2A420002 */ slti $v0, $s2, 2 +/* 969234 80240074 10400005 */ beqz $v0, .L8024008C +/* 969238 80240078 24020002 */ addiu $v0, $zero, 2 +/* 96923C 8024007C 12400007 */ beqz $s2, .L8024009C +/* 969240 80240080 3412FFFF */ ori $s2, $zero, 0xffff +/* 969244 80240084 08090043 */ j .L8024010C +/* 969248 80240088 00000000 */ nop +.L8024008C: +/* 96924C 8024008C 1242001B */ beq $s2, $v0, .L802400FC +/* 969250 80240090 24020002 */ addiu $v0, $zero, 2 +/* 969254 80240094 08090043 */ j .L8024010C +/* 969258 80240098 00000000 */ nop +.L8024009C: +/* 96925C 8024009C 8E040000 */ lw $a0, ($s0) +/* 969260 802400A0 1092001A */ beq $a0, $s2, .L8024010C +/* 969264 802400A4 24020002 */ addiu $v0, $zero, 2 +/* 969268 802400A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 96926C 802400AC 26100004 */ addiu $s0, $s0, 4 +/* 969270 802400B0 0C046B4C */ jal get_model_from_list_index +/* 969274 802400B4 0040202D */ daddu $a0, $v0, $zero +/* 969278 802400B8 0040202D */ daddu $a0, $v0, $zero +/* 96927C 802400BC 2405FFFF */ addiu $a1, $zero, -1 +/* 969280 802400C0 0C046F1F */ jal func_8011BC7C +/* 969284 802400C4 0220302D */ daddu $a2, $s1, $zero +/* 969288 802400C8 08090027 */ j .L8024009C +/* 96928C 802400CC 00000000 */ nop +.L802400D0: +/* 969290 802400D0 3412FFFF */ ori $s2, $zero, 0xffff +.L802400D4: +/* 969294 802400D4 8E020000 */ lw $v0, ($s0) +/* 969298 802400D8 1052000B */ beq $v0, $s2, .L80240108 +/* 96929C 802400DC 2405FFFF */ addiu $a1, $zero, -1 +/* 9692A0 802400E0 96040002 */ lhu $a0, 2($s0) +/* 9692A4 802400E4 0220302D */ daddu $a2, $s1, $zero +/* 9692A8 802400E8 26100004 */ addiu $s0, $s0, 4 +/* 9692AC 802400EC 0C046E54 */ jal func_8011B950 +/* 9692B0 802400F0 0000382D */ daddu $a3, $zero, $zero +/* 9692B4 802400F4 08090035 */ j .L802400D4 +/* 9692B8 802400F8 00000000 */ nop +.L802400FC: +/* 9692BC 802400FC 3C028015 */ lui $v0, 0x8015 +/* 9692C0 80240100 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 9692C4 80240104 A0510000 */ sb $s1, ($v0) +.L80240108: +/* 9692C8 80240108 24020002 */ addiu $v0, $zero, 2 +.L8024010C: +/* 9692CC 8024010C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9692D0 80240110 8FB20018 */ lw $s2, 0x18($sp) +/* 9692D4 80240114 8FB10014 */ lw $s1, 0x14($sp) +/* 9692D8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* 9692DC 8024011C 03E00008 */ jr $ra +/* 9692E0 80240120 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240124_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240124_9691C0.s new file mode 100644 index 0000000000..4b2108a004 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240124_9691C0.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_9692E4 +/* 9692E4 80240124 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9692E8 80240128 AFB10034 */ sw $s1, 0x34($sp) +/* 9692EC 8024012C 0080882D */ daddu $s1, $a0, $zero +/* 9692F0 80240130 AFBF0054 */ sw $ra, 0x54($sp) +/* 9692F4 80240134 AFBE0050 */ sw $fp, 0x50($sp) +/* 9692F8 80240138 AFB7004C */ sw $s7, 0x4c($sp) +/* 9692FC 8024013C AFB60048 */ sw $s6, 0x48($sp) +/* 969300 80240140 AFB50044 */ sw $s5, 0x44($sp) +/* 969304 80240144 AFB40040 */ sw $s4, 0x40($sp) +/* 969308 80240148 AFB3003C */ sw $s3, 0x3c($sp) +/* 96930C 8024014C AFB20038 */ sw $s2, 0x38($sp) +/* 969310 80240150 AFB00030 */ sw $s0, 0x30($sp) +/* 969314 80240154 8E30000C */ lw $s0, 0xc($s1) +/* 969318 80240158 8E050000 */ lw $a1, ($s0) +/* 96931C 8024015C 0C0B1EAF */ jal get_variable +/* 969320 80240160 26100004 */ addiu $s0, $s0, 4 +/* 969324 80240164 8E050000 */ lw $a1, ($s0) +/* 969328 80240168 26100004 */ addiu $s0, $s0, 4 +/* 96932C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 969330 80240170 0C0B1EAF */ jal get_variable +/* 969334 80240174 0040982D */ daddu $s3, $v0, $zero +/* 969338 80240178 8E050000 */ lw $a1, ($s0) +/* 96933C 8024017C 26100004 */ addiu $s0, $s0, 4 +/* 969340 80240180 0220202D */ daddu $a0, $s1, $zero +/* 969344 80240184 0C0B1EAF */ jal get_variable +/* 969348 80240188 0040B02D */ daddu $s6, $v0, $zero +/* 96934C 8024018C 8E050000 */ lw $a1, ($s0) +/* 969350 80240190 26100004 */ addiu $s0, $s0, 4 +/* 969354 80240194 0220202D */ daddu $a0, $s1, $zero +/* 969358 80240198 0C0B1EAF */ jal get_variable +/* 96935C 8024019C 0040A82D */ daddu $s5, $v0, $zero +/* 969360 802401A0 8E050000 */ lw $a1, ($s0) +/* 969364 802401A4 26100004 */ addiu $s0, $s0, 4 +/* 969368 802401A8 0220202D */ daddu $a0, $s1, $zero +/* 96936C 802401AC 0C0B1EAF */ jal get_variable +/* 969370 802401B0 0040A02D */ daddu $s4, $v0, $zero +/* 969374 802401B4 8E050000 */ lw $a1, ($s0) +/* 969378 802401B8 26100004 */ addiu $s0, $s0, 4 +/* 96937C 802401BC 0220202D */ daddu $a0, $s1, $zero +/* 969380 802401C0 0C0B1EAF */ jal get_variable +/* 969384 802401C4 0040902D */ daddu $s2, $v0, $zero +/* 969388 802401C8 8E050000 */ lw $a1, ($s0) +/* 96938C 802401CC 26100004 */ addiu $s0, $s0, 4 +/* 969390 802401D0 0220202D */ daddu $a0, $s1, $zero +/* 969394 802401D4 0C0B1EAF */ jal get_variable +/* 969398 802401D8 AFA20028 */ sw $v0, 0x28($sp) +/* 96939C 802401DC 8E050000 */ lw $a1, ($s0) +/* 9693A0 802401E0 26100004 */ addiu $s0, $s0, 4 +/* 9693A4 802401E4 0220202D */ daddu $a0, $s1, $zero +/* 9693A8 802401E8 0C0B1EAF */ jal get_variable +/* 9693AC 802401EC 0040F02D */ daddu $fp, $v0, $zero +/* 9693B0 802401F0 8E050000 */ lw $a1, ($s0) +/* 9693B4 802401F4 26100004 */ addiu $s0, $s0, 4 +/* 9693B8 802401F8 0220202D */ daddu $a0, $s1, $zero +/* 9693BC 802401FC 0C0B1EAF */ jal get_variable +/* 9693C0 80240200 0040B82D */ daddu $s7, $v0, $zero +/* 9693C4 80240204 0220202D */ daddu $a0, $s1, $zero +/* 9693C8 80240208 8E050000 */ lw $a1, ($s0) +/* 9693CC 8024020C 0C0B1EAF */ jal get_variable +/* 9693D0 80240210 0040802D */ daddu $s0, $v0, $zero +/* 9693D4 80240214 0040182D */ daddu $v1, $v0, $zero +/* 9693D8 80240218 24020002 */ addiu $v0, $zero, 2 +/* 9693DC 8024021C 12620012 */ beq $s3, $v0, .L80240268 +/* 9693E0 80240220 2A620003 */ slti $v0, $s3, 3 +/* 9693E4 80240224 10400005 */ beqz $v0, .L8024023C +/* 9693E8 80240228 24020001 */ addiu $v0, $zero, 1 +/* 9693EC 8024022C 12620008 */ beq $s3, $v0, .L80240250 +/* 9693F0 80240230 32C400FF */ andi $a0, $s6, 0xff +/* 9693F4 80240234 080900B1 */ j .L802402C4 +/* 9693F8 80240238 00000000 */ nop +.L8024023C: +/* 9693FC 8024023C 24020003 */ addiu $v0, $zero, 3 +/* 969400 80240240 12620018 */ beq $s3, $v0, .L802402A4 +/* 969404 80240244 32C400FF */ andi $a0, $s6, 0xff +/* 969408 80240248 080900B1 */ j .L802402C4 +/* 96940C 8024024C 00000000 */ nop +.L80240250: +/* 969410 80240250 32A500FF */ andi $a1, $s5, 0xff +/* 969414 80240254 328600FF */ andi $a2, $s4, 0xff +/* 969418 80240258 0C046F97 */ jal set_background_color_blend +/* 96941C 8024025C 324700FF */ andi $a3, $s2, 0xff +/* 969420 80240260 080900B1 */ j .L802402C4 +/* 969424 80240264 00000000 */ nop +.L80240268: +/* 969428 80240268 32C400FF */ andi $a0, $s6, 0xff +/* 96942C 8024026C 32A500FF */ andi $a1, $s5, 0xff +/* 969430 80240270 328600FF */ andi $a2, $s4, 0xff +/* 969434 80240274 324700FF */ andi $a3, $s2, 0xff +/* 969438 80240278 93A2002B */ lbu $v0, 0x2b($sp) +/* 96943C 8024027C AFB0001C */ sw $s0, 0x1c($sp) +/* 969440 80240280 AFA30020 */ sw $v1, 0x20($sp) +/* 969444 80240284 AFA20010 */ sw $v0, 0x10($sp) +/* 969448 80240288 33C200FF */ andi $v0, $fp, 0xff +/* 96944C 8024028C AFA20014 */ sw $v0, 0x14($sp) +/* 969450 80240290 32E200FF */ andi $v0, $s7, 0xff +/* 969454 80240294 0C046FAD */ jal func_8011BEB4 +/* 969458 80240298 AFA20018 */ sw $v0, 0x18($sp) +/* 96945C 8024029C 080900B1 */ j .L802402C4 +/* 969460 802402A0 00000000 */ nop +.L802402A4: +/* 969464 802402A4 32A500FF */ andi $a1, $s5, 0xff +/* 969468 802402A8 328600FF */ andi $a2, $s4, 0xff +/* 96946C 802402AC 324700FF */ andi $a3, $s2, 0xff +/* 969470 802402B0 93A2002B */ lbu $v0, 0x2b($sp) +/* 969474 802402B4 AFA20010 */ sw $v0, 0x10($sp) +/* 969478 802402B8 33C200FF */ andi $v0, $fp, 0xff +/* 96947C 802402BC 0C046FE6 */ jal func_8011BF98 +/* 969480 802402C0 AFA20014 */ sw $v0, 0x14($sp) +.L802402C4: +/* 969484 802402C4 8FBF0054 */ lw $ra, 0x54($sp) +/* 969488 802402C8 8FBE0050 */ lw $fp, 0x50($sp) +/* 96948C 802402CC 8FB7004C */ lw $s7, 0x4c($sp) +/* 969490 802402D0 8FB60048 */ lw $s6, 0x48($sp) +/* 969494 802402D4 8FB50044 */ lw $s5, 0x44($sp) +/* 969498 802402D8 8FB40040 */ lw $s4, 0x40($sp) +/* 96949C 802402DC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9694A0 802402E0 8FB20038 */ lw $s2, 0x38($sp) +/* 9694A4 802402E4 8FB10034 */ lw $s1, 0x34($sp) +/* 9694A8 802402E8 8FB00030 */ lw $s0, 0x30($sp) +/* 9694AC 802402EC 24020002 */ addiu $v0, $zero, 2 +/* 9694B0 802402F0 03E00008 */ jr $ra +/* 9694B4 802402F4 27BD0058 */ addiu $sp, $sp, 0x58 +/* 9694B8 802402F8 00000000 */ nop +/* 9694BC 802402FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240300_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240300_9691C0.s new file mode 100644 index 0000000000..06889b3548 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240300_9691C0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240300_9694C0 +/* 9694C0 80240300 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9694C4 80240304 AFB00010 */ sw $s0, 0x10($sp) +/* 9694C8 80240308 3C108024 */ lui $s0, 0x8024 +/* 9694CC 8024030C 26104DE0 */ addiu $s0, $s0, 0x4de0 +/* 9694D0 80240310 AFBF0018 */ sw $ra, 0x18($sp) +/* 9694D4 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* 9694D8 80240318 8E020000 */ lw $v0, ($s0) +/* 9694DC 8024031C 14400010 */ bnez $v0, .L80240360 +/* 9694E0 80240320 0080882D */ daddu $s1, $a0, $zero +/* 9694E4 80240324 0C00AB39 */ jal heap_malloc +/* 9694E8 80240328 24040040 */ addiu $a0, $zero, 0x40 +/* 9694EC 8024032C AE020000 */ sw $v0, ($s0) +/* 9694F0 80240330 0000182D */ daddu $v1, $zero, $zero +/* 9694F4 80240334 0040282D */ daddu $a1, $v0, $zero +/* 9694F8 80240338 0220202D */ daddu $a0, $s1, $zero +.L8024033C: +/* 9694FC 8024033C 8C820084 */ lw $v0, 0x84($a0) +/* 969500 80240340 24840004 */ addiu $a0, $a0, 4 +/* 969504 80240344 24630001 */ addiu $v1, $v1, 1 +/* 969508 80240348 ACA20000 */ sw $v0, ($a1) +/* 96950C 8024034C 28620010 */ slti $v0, $v1, 0x10 +/* 969510 80240350 1440FFFA */ bnez $v0, .L8024033C +/* 969514 80240354 24A50004 */ addiu $a1, $a1, 4 +/* 969518 80240358 080900E7 */ j .L8024039C +/* 96951C 8024035C 00000000 */ nop +.L80240360: +/* 969520 80240360 0000182D */ daddu $v1, $zero, $zero +/* 969524 80240364 0040282D */ daddu $a1, $v0, $zero +/* 969528 80240368 0220202D */ daddu $a0, $s1, $zero +.L8024036C: +/* 96952C 8024036C 8CA20000 */ lw $v0, ($a1) +/* 969530 80240370 24A50004 */ addiu $a1, $a1, 4 +/* 969534 80240374 24630001 */ addiu $v1, $v1, 1 +/* 969538 80240378 AC820084 */ sw $v0, 0x84($a0) +/* 96953C 8024037C 28620010 */ slti $v0, $v1, 0x10 +/* 969540 80240380 1440FFFA */ bnez $v0, .L8024036C +/* 969544 80240384 24840004 */ addiu $a0, $a0, 4 +/* 969548 80240388 3C108024 */ lui $s0, 0x8024 +/* 96954C 8024038C 26104DE0 */ addiu $s0, $s0, 0x4de0 +/* 969550 80240390 0C00AB4B */ jal heap_free +/* 969554 80240394 8E040000 */ lw $a0, ($s0) +/* 969558 80240398 AE000000 */ sw $zero, ($s0) +.L8024039C: +/* 96955C 8024039C 8FBF0018 */ lw $ra, 0x18($sp) +/* 969560 802403A0 8FB10014 */ lw $s1, 0x14($sp) +/* 969564 802403A4 8FB00010 */ lw $s0, 0x10($sp) +/* 969568 802403A8 24020002 */ addiu $v0, $zero, 2 +/* 96956C 802403AC 03E00008 */ jr $ra +/* 969570 802403B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802403B4_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802403B4_9691C0.s new file mode 100644 index 0000000000..9f49ee3cc5 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802403B4_9691C0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B4_969574 +/* 969574 802403B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 969578 802403B8 AFB00010 */ sw $s0, 0x10($sp) +/* 96957C 802403BC 0080802D */ daddu $s0, $a0, $zero +/* 969580 802403C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 969584 802403C4 AFB10014 */ sw $s1, 0x14($sp) +/* 969588 802403C8 8E02000C */ lw $v0, 0xc($s0) +/* 96958C 802403CC 8C510000 */ lw $s1, ($v0) +/* 969590 802403D0 0C0B1EAF */ jal get_variable +/* 969594 802403D4 0220282D */ daddu $a1, $s1, $zero +/* 969598 802403D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 96959C 802403DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9695A0 802403E0 0200202D */ daddu $a0, $s0, $zero +/* 9695A4 802403E4 00431024 */ and $v0, $v0, $v1 +/* 9695A8 802403E8 00021140 */ sll $v0, $v0, 5 +/* 9695AC 802403EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 9695B0 802403F0 00C23021 */ addu $a2, $a2, $v0 +/* 9695B4 802403F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9695B8 802403F8 0C0B2026 */ jal set_variable +/* 9695BC 802403FC 0220282D */ daddu $a1, $s1, $zero +/* 9695C0 80240400 8FBF0018 */ lw $ra, 0x18($sp) +/* 9695C4 80240404 8FB10014 */ lw $s1, 0x14($sp) +/* 9695C8 80240408 8FB00010 */ lw $s0, 0x10($sp) +/* 9695CC 8024040C 24020002 */ addiu $v0, $zero, 2 +/* 9695D0 80240410 03E00008 */ jr $ra +/* 9695D4 80240414 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240418_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240418_9691C0.s new file mode 100644 index 0000000000..a2c503ecc0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240418_9691C0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240418_9695D8 +/* 9695D8 80240418 24020001 */ addiu $v0, $zero, 1 +/* 9695DC 8024041C 3C018015 */ lui $at, %hi(D_80151310) +/* 9695E0 80240420 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 9695E4 80240424 03E00008 */ jr $ra +/* 9695E8 80240428 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024042C_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024042C_9691C0.s new file mode 100644 index 0000000000..67a3458f14 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024042C_9691C0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024042C_9695EC +/* 9695EC 8024042C 3C018015 */ lui $at, %hi(D_80151310) +/* 9695F0 80240430 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 9695F4 80240434 03E00008 */ jr $ra +/* 9695F8 80240438 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024043C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024043C.s new file mode 100644 index 0000000000..2a58cf2fe1 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024043C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024043C +/* 9695FC 8024043C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 969600 80240440 AFB10024 */ sw $s1, 0x24($sp) +/* 969604 80240444 0080882D */ daddu $s1, $a0, $zero +/* 969608 80240448 3C05F840 */ lui $a1, 0xf840 +/* 96960C 8024044C AFBF0044 */ sw $ra, 0x44($sp) +/* 969610 80240450 AFBE0040 */ sw $fp, 0x40($sp) +/* 969614 80240454 AFB7003C */ sw $s7, 0x3c($sp) +/* 969618 80240458 AFB60038 */ sw $s6, 0x38($sp) +/* 96961C 8024045C AFB50034 */ sw $s5, 0x34($sp) +/* 969620 80240460 AFB40030 */ sw $s4, 0x30($sp) +/* 969624 80240464 AFB3002C */ sw $s3, 0x2c($sp) +/* 969628 80240468 AFB20028 */ sw $s2, 0x28($sp) +/* 96962C 8024046C AFB00020 */ sw $s0, 0x20($sp) +/* 969630 80240470 8E3E0148 */ lw $fp, 0x148($s1) +/* 969634 80240474 0C0B1EAF */ jal get_variable +/* 969638 80240478 34A56268 */ ori $a1, $a1, 0x6268 +/* 96963C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* 969640 80240480 0220202D */ daddu $a0, $s1, $zero +/* 969644 80240484 3C05F840 */ lui $a1, 0xf840 +/* 969648 80240488 0C0B1EAF */ jal get_variable +/* 96964C 8024048C 34A56269 */ ori $a1, $a1, 0x6269 +/* 969650 80240490 0040B82D */ daddu $s7, $v0, $zero +/* 969654 80240494 0220202D */ daddu $a0, $s1, $zero +/* 969658 80240498 3C05F5DE */ lui $a1, 0xf5de +/* 96965C 8024049C 0C0B1EAF */ jal get_variable +/* 969660 802404A0 34A502DE */ ori $a1, $a1, 0x2de +/* 969664 802404A4 0040B02D */ daddu $s6, $v0, $zero +/* 969668 802404A8 0220202D */ daddu $a0, $s1, $zero +/* 96966C 802404AC 3C05F5DE */ lui $a1, 0xf5de +/* 969670 802404B0 0C0B1EAF */ jal get_variable +/* 969674 802404B4 34A502DF */ ori $a1, $a1, 0x2df +/* 969678 802404B8 0040A82D */ daddu $s5, $v0, $zero +/* 96967C 802404BC 93D3006D */ lbu $s3, 0x6d($fp) +/* 969680 802404C0 32C2FFFF */ andi $v0, $s6, 0xffff +/* 969684 802404C4 A7B30010 */ sh $s3, 0x10($sp) +/* 969688 802404C8 93D2006E */ lbu $s2, 0x6e($fp) +/* 96968C 802404CC 93C7006F */ lbu $a3, 0x6f($fp) +/* 969690 802404D0 3274FFFF */ andi $s4, $s3, 0xffff +/* 969694 802404D4 12820003 */ beq $s4, $v0, .L802404E4 +/* 969698 802404D8 A7A7001E */ sh $a3, 0x1e($sp) +/* 96969C 802404DC 0000B82D */ daddu $s7, $zero, $zero +/* 9696A0 802404E0 02E0802D */ daddu $s0, $s7, $zero +.L802404E4: +/* 9696A4 802404E4 3202FFFF */ andi $v0, $s0, 0xffff +/* 9696A8 802404E8 14400016 */ bnez $v0, .L80240544 +/* 9696AC 802404EC 0220202D */ daddu $a0, $s1, $zero +/* 9696B0 802404F0 0C00A67F */ jal rand_int +/* 9696B4 802404F4 24040064 */ addiu $a0, $zero, 0x64 +/* 9696B8 802404F8 2842001E */ slti $v0, $v0, 0x1e +/* 9696BC 802404FC 10400011 */ beqz $v0, .L80240544 +/* 9696C0 80240500 0220202D */ daddu $a0, $s1, $zero +/* 9696C4 80240504 0C00A67F */ jal rand_int +/* 9696C8 80240508 2644FFFF */ addiu $a0, $s2, -1 +/* 9696CC 8024050C 0040A82D */ daddu $s5, $v0, $zero +/* 9696D0 80240510 0260B02D */ daddu $s6, $s3, $zero +/* 9696D4 80240514 0220202D */ daddu $a0, $s1, $zero +/* 9696D8 80240518 3C05F5DE */ lui $a1, 0xf5de +/* 9696DC 8024051C 34A502DE */ ori $a1, $a1, 0x2de +/* 9696E0 80240520 0C0B2026 */ jal set_variable +/* 9696E4 80240524 0280302D */ daddu $a2, $s4, $zero +/* 9696E8 80240528 0220202D */ daddu $a0, $s1, $zero +/* 9696EC 8024052C 3C05F5DE */ lui $a1, 0xf5de +/* 9696F0 80240530 34A502DF */ ori $a1, $a1, 0x2df +/* 9696F4 80240534 0C0B2026 */ jal set_variable +/* 9696F8 80240538 32A6FFFF */ andi $a2, $s5, 0xffff +/* 9696FC 8024053C 24100001 */ addiu $s0, $zero, 1 +/* 969700 80240540 0220202D */ daddu $a0, $s1, $zero +.L80240544: +/* 969704 80240544 3C05F840 */ lui $a1, 0xf840 +/* 969708 80240548 34A56268 */ ori $a1, $a1, 0x6268 +/* 96970C 8024054C 0C0B2026 */ jal set_variable +/* 969710 80240550 3206FFFF */ andi $a2, $s0, 0xffff +/* 969714 80240554 0220202D */ daddu $a0, $s1, $zero +/* 969718 80240558 3C05F840 */ lui $a1, 0xf840 +/* 96971C 8024055C 34A56269 */ ori $a1, $a1, 0x6269 +/* 969720 80240560 0C0B2026 */ jal set_variable +/* 969724 80240564 32E6FFFF */ andi $a2, $s7, 0xffff +/* 969728 80240568 0000202D */ daddu $a0, $zero, $zero +/* 96972C 8024056C 3C05F5DE */ lui $a1, 0xf5de +/* 969730 80240570 0C0B1EAF */ jal get_variable +/* 969734 80240574 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 969738 80240578 0000202D */ daddu $a0, $zero, $zero +/* 96973C 8024057C 3C05F5DE */ lui $a1, 0xf5de +/* 969740 80240580 34A50180 */ ori $a1, $a1, 0x180 +/* 969744 80240584 0C0B1EAF */ jal get_variable +/* 969748 80240588 0040802D */ daddu $s0, $v0, $zero +/* 96974C 8024058C 0040282D */ daddu $a1, $v0, $zero +/* 969750 80240590 0000182D */ daddu $v1, $zero, $zero +/* 969754 80240594 3C068024 */ lui $a2, 0x8024 +/* 969758 80240598 24C64E84 */ addiu $a2, $a2, 0x4e84 +/* 96975C 8024059C 00C0202D */ daddu $a0, $a2, $zero +.L802405A0: +/* 969760 802405A0 8C820000 */ lw $v0, ($a0) +/* 969764 802405A4 00A2102A */ slt $v0, $a1, $v0 +/* 969768 802405A8 14400006 */ bnez $v0, .L802405C4 +/* 96976C 802405AC 000310C0 */ sll $v0, $v1, 3 +/* 969770 802405B0 24630001 */ addiu $v1, $v1, 1 +/* 969774 802405B4 28620008 */ slti $v0, $v1, 8 +/* 969778 802405B8 1440FFF9 */ bnez $v0, .L802405A0 +/* 96977C 802405BC 24840008 */ addiu $a0, $a0, 8 +/* 969780 802405C0 000310C0 */ sll $v0, $v1, 3 +.L802405C4: +/* 969784 802405C4 00461021 */ addu $v0, $v0, $a2 +/* 969788 802405C8 8C420004 */ lw $v0, 4($v0) +/* 96978C 802405CC 97A30010 */ lhu $v1, 0x10($sp) +/* 969790 802405D0 0202202A */ slt $a0, $s0, $v0 +/* 969794 802405D4 32C2FFFF */ andi $v0, $s6, 0xffff +/* 969798 802405D8 14620008 */ bne $v1, $v0, .L802405FC +/* 96979C 802405DC 32A2FFFF */ andi $v0, $s5, 0xffff +/* 9697A0 802405E0 97A7001E */ lhu $a3, 0x1e($sp) +/* 9697A4 802405E4 14E20005 */ bne $a3, $v0, .L802405FC +/* 9697A8 802405E8 32E2FFFF */ andi $v0, $s7, 0xffff +/* 9697AC 802405EC 14400003 */ bnez $v0, .L802405FC +/* 9697B0 802405F0 00000000 */ nop +/* 9697B4 802405F4 14800008 */ bnez $a0, .L80240618 +/* 9697B8 802405F8 24020001 */ addiu $v0, $zero, 1 +.L802405FC: +/* 9697BC 802405FC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9697C0 80240600 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9697C4 80240604 80420075 */ lb $v0, 0x75($v0) +/* 9697C8 80240608 10400005 */ beqz $v0, .L80240620 +/* 9697CC 8024060C 00000000 */ nop +/* 9697D0 80240610 10800003 */ beqz $a0, .L80240620 +/* 9697D4 80240614 24020001 */ addiu $v0, $zero, 1 +.L80240618: +/* 9697D8 80240618 0809018B */ j .L8024062C +/* 9697DC 8024061C AE220084 */ sw $v0, 0x84($s1) +.L80240620: +/* 9697E0 80240620 0C00F9EB */ jal kill_enemy +/* 9697E4 80240624 03C0202D */ daddu $a0, $fp, $zero +/* 9697E8 80240628 AE200084 */ sw $zero, 0x84($s1) +.L8024062C: +/* 9697EC 8024062C 8FBF0044 */ lw $ra, 0x44($sp) +/* 9697F0 80240630 8FBE0040 */ lw $fp, 0x40($sp) +/* 9697F4 80240634 8FB7003C */ lw $s7, 0x3c($sp) +/* 9697F8 80240638 8FB60038 */ lw $s6, 0x38($sp) +/* 9697FC 8024063C 8FB50034 */ lw $s5, 0x34($sp) +/* 969800 80240640 8FB40030 */ lw $s4, 0x30($sp) +/* 969804 80240644 8FB3002C */ lw $s3, 0x2c($sp) +/* 969808 80240648 8FB20028 */ lw $s2, 0x28($sp) +/* 96980C 8024064C 8FB10024 */ lw $s1, 0x24($sp) +/* 969810 80240650 8FB00020 */ lw $s0, 0x20($sp) +/* 969814 80240654 24020002 */ addiu $v0, $zero, 2 +/* 969818 80240658 03E00008 */ jr $ra +/* 96981C 8024065C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240660.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240660.s new file mode 100644 index 0000000000..c68ac92076 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240660.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660 +/* 969820 80240660 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969824 80240664 AFBF0014 */ sw $ra, 0x14($sp) +/* 969828 80240668 AFB00010 */ sw $s0, 0x10($sp) +/* 96982C 8024066C 0C00EABB */ jal get_npc_unsafe +/* 969830 80240670 8C84014C */ lw $a0, 0x14c($a0) +/* 969834 80240674 24040008 */ addiu $a0, $zero, 8 +/* 969838 80240678 0040802D */ daddu $s0, $v0, $zero +/* 96983C 8024067C 3C028024 */ lui $v0, 0x8024 +/* 969840 80240680 244206CC */ addiu $v0, $v0, 0x6cc +/* 969844 80240684 0C00AB39 */ jal heap_malloc +/* 969848 80240688 AE020008 */ sw $v0, 8($s0) +/* 96984C 8024068C 0040182D */ daddu $v1, $v0, $zero +/* 969850 80240690 AE030020 */ sw $v1, 0x20($s0) +/* 969854 80240694 AC600000 */ sw $zero, ($v1) +/* 969858 80240698 8FBF0014 */ lw $ra, 0x14($sp) +/* 96985C 8024069C 8FB00010 */ lw $s0, 0x10($sp) +/* 969860 802406A0 24020001 */ addiu $v0, $zero, 1 +/* 969864 802406A4 03E00008 */ jr $ra +/* 969868 802406A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802406AC_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802406AC_9691C0.s new file mode 100644 index 0000000000..5726597c6e --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802406AC_9691C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406AC_96986C +/* 96986C 802406AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969870 802406B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 969874 802406B4 0C00EABB */ jal get_npc_unsafe +/* 969878 802406B8 8C84014C */ lw $a0, 0x14c($a0) +/* 96987C 802406BC 8FBF0010 */ lw $ra, 0x10($sp) +/* 969880 802406C0 0000102D */ daddu $v0, $zero, $zero +/* 969884 802406C4 03E00008 */ jr $ra +/* 969888 802406C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802406CC.s b/asm/nonmatchings/world/area_dro/dro_02/func_802406CC.s new file mode 100644 index 0000000000..22f7f58cac --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802406CC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406CC +/* 96988C 802406CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969890 802406D0 3C03800A */ lui $v1, 0x800a +/* 969894 802406D4 8463A634 */ lh $v1, -0x59cc($v1) +/* 969898 802406D8 3C05800B */ lui $a1, %hi(gCameras) +/* 96989C 802406DC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 9698A0 802406E0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9698A4 802406E4 00031080 */ sll $v0, $v1, 2 +/* 9698A8 802406E8 00431021 */ addu $v0, $v0, $v1 +/* 9698AC 802406EC 00021080 */ sll $v0, $v0, 2 +/* 9698B0 802406F0 00431023 */ subu $v0, $v0, $v1 +/* 9698B4 802406F4 000218C0 */ sll $v1, $v0, 3 +/* 9698B8 802406F8 00431021 */ addu $v0, $v0, $v1 +/* 9698BC 802406FC 8C830020 */ lw $v1, 0x20($a0) +/* 9698C0 80240700 000210C0 */ sll $v0, $v0, 3 +/* 9698C4 80240704 8C630000 */ lw $v1, ($v1) +/* 9698C8 80240708 30630001 */ andi $v1, $v1, 1 +/* 9698CC 8024070C 10600004 */ beqz $v1, .L80240720 +/* 9698D0 80240710 00451021 */ addu $v0, $v0, $a1 +/* 9698D4 80240714 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 9698D8 80240718 0C00A6C9 */ jal clamp_angle +/* 9698DC 8024071C 46006307 */ neg.s $f12, $f12 +.L80240720: +/* 9698E0 80240720 8FBF0010 */ lw $ra, 0x10($sp) +/* 9698E4 80240724 03E00008 */ jr $ra +/* 9698E8 80240728 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024072C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024072C.s new file mode 100644 index 0000000000..7c7c476925 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024072C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024072C +/* 9698EC 8024072C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9698F0 80240730 AFB10014 */ sw $s1, 0x14($sp) +/* 9698F4 80240734 0080882D */ daddu $s1, $a0, $zero +/* 9698F8 80240738 AFBF0024 */ sw $ra, 0x24($sp) +/* 9698FC 8024073C AFB40020 */ sw $s4, 0x20($sp) +/* 969900 80240740 AFB3001C */ sw $s3, 0x1c($sp) +/* 969904 80240744 AFB20018 */ sw $s2, 0x18($sp) +/* 969908 80240748 10A00033 */ beqz $a1, .L80240818 +/* 96990C 8024074C AFB00010 */ sw $s0, 0x10($sp) +/* 969910 80240750 0C04760B */ jal func_8011D82C +/* 969914 80240754 24040001 */ addiu $a0, $zero, 1 +/* 969918 80240758 0000202D */ daddu $a0, $zero, $zero +/* 96991C 8024075C 0080282D */ daddu $a1, $a0, $zero +/* 969920 80240760 0080302D */ daddu $a2, $a0, $zero +/* 969924 80240764 0080382D */ daddu $a3, $a0, $zero +/* 969928 80240768 0080802D */ daddu $s0, $a0, $zero +/* 96992C 8024076C 2414FFFC */ addiu $s4, $zero, -4 +/* 969930 80240770 2413000A */ addiu $s3, $zero, 0xa +/* 969934 80240774 3C120080 */ lui $s2, 0x80 +/* 969938 80240778 3C038015 */ lui $v1, 0x8015 +/* 96993C 8024077C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 969940 80240780 24020001 */ addiu $v0, $zero, 1 +/* 969944 80240784 0C046F97 */ jal set_background_color_blend +/* 969948 80240788 A0620000 */ sb $v0, ($v1) +.L8024078C: +/* 96994C 8024078C 0C00E2B7 */ jal get_npc_by_index +/* 969950 80240790 0200202D */ daddu $a0, $s0, $zero +/* 969954 80240794 0040202D */ daddu $a0, $v0, $zero +/* 969958 80240798 5080000B */ beql $a0, $zero, .L802407C8 +/* 96995C 8024079C 26100001 */ addiu $s0, $s0, 1 +/* 969960 802407A0 8C820000 */ lw $v0, ($a0) +/* 969964 802407A4 50400008 */ beql $v0, $zero, .L802407C8 +/* 969968 802407A8 26100001 */ addiu $s0, $s0, 1 +/* 96996C 802407AC 808300A4 */ lb $v1, 0xa4($a0) +/* 969970 802407B0 10740005 */ beq $v1, $s4, .L802407C8 +/* 969974 802407B4 26100001 */ addiu $s0, $s0, 1 +/* 969978 802407B8 10730003 */ beq $v1, $s3, .L802407C8 +/* 96997C 802407BC 00000000 */ nop +/* 969980 802407C0 00521025 */ or $v0, $v0, $s2 +/* 969984 802407C4 AC820000 */ sw $v0, ($a0) +.L802407C8: +/* 969988 802407C8 2A020040 */ slti $v0, $s0, 0x40 +/* 96998C 802407CC 1440FFEF */ bnez $v0, .L8024078C +/* 969990 802407D0 00000000 */ nop +/* 969994 802407D4 0000802D */ daddu $s0, $zero, $zero +/* 969998 802407D8 3C120800 */ lui $s2, 0x800 +.L802407DC: +/* 96999C 802407DC 0C04C3D6 */ jal get_item_entity +/* 9699A0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* 9699A4 802407E4 0040182D */ daddu $v1, $v0, $zero +/* 9699A8 802407E8 10600007 */ beqz $v1, .L80240808 +/* 9699AC 802407EC 26100001 */ addiu $s0, $s0, 1 +/* 9699B0 802407F0 8C640000 */ lw $a0, ($v1) +/* 9699B4 802407F4 30820010 */ andi $v0, $a0, 0x10 +/* 9699B8 802407F8 10400003 */ beqz $v0, .L80240808 +/* 9699BC 802407FC 00000000 */ nop +/* 9699C0 80240800 00921025 */ or $v0, $a0, $s2 +/* 9699C4 80240804 AC620000 */ sw $v0, ($v1) +.L80240808: +/* 9699C8 80240808 2A020100 */ slti $v0, $s0, 0x100 +/* 9699CC 8024080C 1440FFF3 */ bnez $v0, .L802407DC +/* 9699D0 80240810 00000000 */ nop +/* 9699D4 80240814 AE200070 */ sw $zero, 0x70($s1) +.L80240818: +/* 9699D8 80240818 8E220070 */ lw $v0, 0x70($s1) +/* 9699DC 8024081C 24420008 */ addiu $v0, $v0, 8 +/* 9699E0 80240820 AE220070 */ sw $v0, 0x70($s1) +/* 9699E4 80240824 28420100 */ slti $v0, $v0, 0x100 +/* 9699E8 80240828 14400003 */ bnez $v0, .L80240838 +/* 9699EC 8024082C 0000202D */ daddu $a0, $zero, $zero +/* 9699F0 80240830 240200FF */ addiu $v0, $zero, 0xff +/* 9699F4 80240834 AE220070 */ sw $v0, 0x70($s1) +.L80240838: +/* 9699F8 80240838 0080282D */ daddu $a1, $a0, $zero +/* 9699FC 8024083C 92270073 */ lbu $a3, 0x73($s1) +/* 969A00 80240840 0C046F97 */ jal set_background_color_blend +/* 969A04 80240844 0080302D */ daddu $a2, $a0, $zero +/* 969A08 80240848 8E220070 */ lw $v0, 0x70($s1) +/* 969A0C 8024084C 8FBF0024 */ lw $ra, 0x24($sp) +/* 969A10 80240850 8FB40020 */ lw $s4, 0x20($sp) +/* 969A14 80240854 8FB3001C */ lw $s3, 0x1c($sp) +/* 969A18 80240858 8FB20018 */ lw $s2, 0x18($sp) +/* 969A1C 8024085C 8FB10014 */ lw $s1, 0x14($sp) +/* 969A20 80240860 8FB00010 */ lw $s0, 0x10($sp) +/* 969A24 80240864 384200FF */ xori $v0, $v0, 0xff +/* 969A28 80240868 2C420001 */ sltiu $v0, $v0, 1 +/* 969A2C 8024086C 00021040 */ sll $v0, $v0, 1 +/* 969A30 80240870 03E00008 */ jr $ra +/* 969A34 80240874 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240878.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240878.s new file mode 100644 index 0000000000..8f4de26cf7 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240878.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240878 +/* 969A38 80240878 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 969A3C 8024087C AFB00010 */ sw $s0, 0x10($sp) +/* 969A40 80240880 0080802D */ daddu $s0, $a0, $zero +/* 969A44 80240884 AFBF0020 */ sw $ra, 0x20($sp) +/* 969A48 80240888 AFB3001C */ sw $s3, 0x1c($sp) +/* 969A4C 8024088C AFB20018 */ sw $s2, 0x18($sp) +/* 969A50 80240890 10A00009 */ beqz $a1, .L802408B8 +/* 969A54 80240894 AFB10014 */ sw $s1, 0x14($sp) +/* 969A58 80240898 0000202D */ daddu $a0, $zero, $zero +/* 969A5C 8024089C 0080282D */ daddu $a1, $a0, $zero +/* 969A60 802408A0 0080302D */ daddu $a2, $a0, $zero +/* 969A64 802408A4 0C046F97 */ jal set_background_color_blend +/* 969A68 802408A8 240700FF */ addiu $a3, $zero, 0xff +/* 969A6C 802408AC 240200FF */ addiu $v0, $zero, 0xff +/* 969A70 802408B0 AE020070 */ sw $v0, 0x70($s0) +/* 969A74 802408B4 AE000074 */ sw $zero, 0x74($s0) +.L802408B8: +/* 969A78 802408B8 8E020070 */ lw $v0, 0x70($s0) +/* 969A7C 802408BC 2442FFF8 */ addiu $v0, $v0, -8 +/* 969A80 802408C0 04410002 */ bgez $v0, .L802408CC +/* 969A84 802408C4 AE020070 */ sw $v0, 0x70($s0) +/* 969A88 802408C8 AE000070 */ sw $zero, 0x70($s0) +.L802408CC: +/* 969A8C 802408CC 0000202D */ daddu $a0, $zero, $zero +/* 969A90 802408D0 0080282D */ daddu $a1, $a0, $zero +/* 969A94 802408D4 92070073 */ lbu $a3, 0x73($s0) +/* 969A98 802408D8 0C046F97 */ jal set_background_color_blend +/* 969A9C 802408DC 0080302D */ daddu $a2, $a0, $zero +/* 969AA0 802408E0 8E020070 */ lw $v0, 0x70($s0) +/* 969AA4 802408E4 14400006 */ bnez $v0, .L80240900 +/* 969AA8 802408E8 00000000 */ nop +/* 969AAC 802408EC 8E020074 */ lw $v0, 0x74($s0) +/* 969AB0 802408F0 14400003 */ bnez $v0, .L80240900 +/* 969AB4 802408F4 24020001 */ addiu $v0, $zero, 1 +/* 969AB8 802408F8 08090273 */ j .L802409CC +/* 969ABC 802408FC AE020074 */ sw $v0, 0x74($s0) +.L80240900: +/* 969AC0 80240900 8E030074 */ lw $v1, 0x74($s0) +/* 969AC4 80240904 24020001 */ addiu $v0, $zero, 1 +/* 969AC8 80240908 14620031 */ bne $v1, $v0, .L802409D0 +/* 969ACC 8024090C 0000102D */ daddu $v0, $zero, $zero +/* 969AD0 80240910 0C04760B */ jal func_8011D82C +/* 969AD4 80240914 0000202D */ daddu $a0, $zero, $zero +/* 969AD8 80240918 0000802D */ daddu $s0, $zero, $zero +/* 969ADC 8024091C 2413FFFC */ addiu $s3, $zero, -4 +/* 969AE0 80240920 2412000A */ addiu $s2, $zero, 0xa +/* 969AE4 80240924 3C11FF7F */ lui $s1, 0xff7f +/* 969AE8 80240928 3C028015 */ lui $v0, 0x8015 +/* 969AEC 8024092C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 969AF0 80240930 3631FFFF */ ori $s1, $s1, 0xffff +/* 969AF4 80240934 A0400000 */ sb $zero, ($v0) +.L80240938: +/* 969AF8 80240938 0C00E2B7 */ jal get_npc_by_index +/* 969AFC 8024093C 0200202D */ daddu $a0, $s0, $zero +/* 969B00 80240940 0040202D */ daddu $a0, $v0, $zero +/* 969B04 80240944 5080000B */ beql $a0, $zero, .L80240974 +/* 969B08 80240948 26100001 */ addiu $s0, $s0, 1 +/* 969B0C 8024094C 8C820000 */ lw $v0, ($a0) +/* 969B10 80240950 50400008 */ beql $v0, $zero, .L80240974 +/* 969B14 80240954 26100001 */ addiu $s0, $s0, 1 +/* 969B18 80240958 808300A4 */ lb $v1, 0xa4($a0) +/* 969B1C 8024095C 10730005 */ beq $v1, $s3, .L80240974 +/* 969B20 80240960 26100001 */ addiu $s0, $s0, 1 +/* 969B24 80240964 10720003 */ beq $v1, $s2, .L80240974 +/* 969B28 80240968 00000000 */ nop +/* 969B2C 8024096C 00511024 */ and $v0, $v0, $s1 +/* 969B30 80240970 AC820000 */ sw $v0, ($a0) +.L80240974: +/* 969B34 80240974 2A020040 */ slti $v0, $s0, 0x40 +/* 969B38 80240978 1440FFEF */ bnez $v0, .L80240938 +/* 969B3C 8024097C 00000000 */ nop +/* 969B40 80240980 0000802D */ daddu $s0, $zero, $zero +/* 969B44 80240984 3C11F7FF */ lui $s1, 0xf7ff +/* 969B48 80240988 3631FFFF */ ori $s1, $s1, 0xffff +.L8024098C: +/* 969B4C 8024098C 0C04C3D6 */ jal get_item_entity +/* 969B50 80240990 0200202D */ daddu $a0, $s0, $zero +/* 969B54 80240994 0040182D */ daddu $v1, $v0, $zero +/* 969B58 80240998 10600007 */ beqz $v1, .L802409B8 +/* 969B5C 8024099C 26100001 */ addiu $s0, $s0, 1 +/* 969B60 802409A0 8C640000 */ lw $a0, ($v1) +/* 969B64 802409A4 30820010 */ andi $v0, $a0, 0x10 +/* 969B68 802409A8 10400003 */ beqz $v0, .L802409B8 +/* 969B6C 802409AC 00000000 */ nop +/* 969B70 802409B0 00911024 */ and $v0, $a0, $s1 +/* 969B74 802409B4 AC620000 */ sw $v0, ($v1) +.L802409B8: +/* 969B78 802409B8 2A020100 */ slti $v0, $s0, 0x100 +/* 969B7C 802409BC 1440FFF3 */ bnez $v0, .L8024098C +/* 969B80 802409C0 24020002 */ addiu $v0, $zero, 2 +/* 969B84 802409C4 08090274 */ j .L802409D0 +/* 969B88 802409C8 00000000 */ nop +.L802409CC: +/* 969B8C 802409CC 0000102D */ daddu $v0, $zero, $zero +.L802409D0: +/* 969B90 802409D0 8FBF0020 */ lw $ra, 0x20($sp) +/* 969B94 802409D4 8FB3001C */ lw $s3, 0x1c($sp) +/* 969B98 802409D8 8FB20018 */ lw $s2, 0x18($sp) +/* 969B9C 802409DC 8FB10014 */ lw $s1, 0x14($sp) +/* 969BA0 802409E0 8FB00010 */ lw $s0, 0x10($sp) +/* 969BA4 802409E4 03E00008 */ jr $ra +/* 969BA8 802409E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802409EC.s b/asm/nonmatchings/world/area_dro/dro_02/func_802409EC.s new file mode 100644 index 0000000000..627c388065 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802409EC.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409EC +/* 969BAC 802409EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 969BB0 802409F0 AFB00010 */ sw $s0, 0x10($sp) +/* 969BB4 802409F4 3C108011 */ lui $s0, %hi(gPlayerData) +/* 969BB8 802409F8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 969BBC 802409FC AFBF0018 */ sw $ra, 0x18($sp) +/* 969BC0 80240A00 AFB10014 */ sw $s1, 0x14($sp) +/* 969BC4 80240A04 960302C0 */ lhu $v1, 0x2c0($s0) +/* 969BC8 80240A08 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 969BCC 80240A0C 10400003 */ beqz $v0, .L80240A1C +/* 969BD0 80240A10 0080882D */ daddu $s1, $a0, $zero +/* 969BD4 80240A14 24620001 */ addiu $v0, $v1, 1 +/* 969BD8 80240A18 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240A1C: +/* 969BDC 80240A1C 3C05F5DE */ lui $a1, 0xf5de +/* 969BE0 80240A20 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 969BE4 80240A24 0C0B1EAF */ jal get_variable +/* 969BE8 80240A28 0000202D */ daddu $a0, $zero, $zero +/* 969BEC 80240A2C 3C038024 */ lui $v1, 0x8024 +/* 969BF0 80240A30 00621821 */ addu $v1, $v1, $v0 +/* 969BF4 80240A34 90634E44 */ lbu $v1, 0x4e44($v1) +/* 969BF8 80240A38 8E220084 */ lw $v0, 0x84($s1) +/* 969BFC 80240A3C 54430006 */ bnel $v0, $v1, .L80240A58 +/* 969C00 80240A40 AE200084 */ sw $zero, 0x84($s1) +/* 969C04 80240A44 24020001 */ addiu $v0, $zero, 1 +/* 969C08 80240A48 AE220084 */ sw $v0, 0x84($s1) +/* 969C0C 80240A4C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 969C10 80240A50 24420001 */ addiu $v0, $v0, 1 +/* 969C14 80240A54 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240A58: +/* 969C18 80240A58 8FBF0018 */ lw $ra, 0x18($sp) +/* 969C1C 80240A5C 8FB10014 */ lw $s1, 0x14($sp) +/* 969C20 80240A60 8FB00010 */ lw $s0, 0x10($sp) +/* 969C24 80240A64 24020002 */ addiu $v0, $zero, 2 +/* 969C28 80240A68 03E00008 */ jr $ra +/* 969C2C 80240A6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240A70_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240A70_9691C0.s new file mode 100644 index 0000000000..0c9c4bd015 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240A70_9691C0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A70_969C30 +/* 969C30 80240A70 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 969C34 80240A74 AFB1001C */ sw $s1, 0x1c($sp) +/* 969C38 80240A78 AFBF0020 */ sw $ra, 0x20($sp) +/* 969C3C 80240A7C AFB00018 */ sw $s0, 0x18($sp) +/* 969C40 80240A80 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 969C44 80240A84 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 969C48 80240A88 10A00060 */ beqz $a1, .L80240C0C +/* 969C4C 80240A8C 0080882D */ daddu $s1, $a0, $zero +/* 969C50 80240A90 3C05F4AC */ lui $a1, 0xf4ac +/* 969C54 80240A94 0C0B1EAF */ jal get_variable +/* 969C58 80240A98 34A5D481 */ ori $a1, $a1, 0xd481 +/* 969C5C 80240A9C 0220202D */ daddu $a0, $s1, $zero +/* 969C60 80240AA0 3C05F4AC */ lui $a1, 0xf4ac +/* 969C64 80240AA4 4482B000 */ mtc1 $v0, $f22 +/* 969C68 80240AA8 00000000 */ nop +/* 969C6C 80240AAC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 969C70 80240AB0 0C0B1EAF */ jal get_variable +/* 969C74 80240AB4 34A5D482 */ ori $a1, $a1, 0xd482 +/* 969C78 80240AB8 0220202D */ daddu $a0, $s1, $zero +/* 969C7C 80240ABC 3C05F4AC */ lui $a1, 0xf4ac +/* 969C80 80240AC0 4482A000 */ mtc1 $v0, $f20 +/* 969C84 80240AC4 00000000 */ nop +/* 969C88 80240AC8 4680A520 */ cvt.s.w $f20, $f20 +/* 969C8C 80240ACC 0C0B1EAF */ jal get_variable +/* 969C90 80240AD0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 969C94 80240AD4 44821000 */ mtc1 $v0, $f2 +/* 969C98 80240AD8 00000000 */ nop +/* 969C9C 80240ADC 468010A0 */ cvt.s.w $f2, $f2 +/* 969CA0 80240AE0 4405B000 */ mfc1 $a1, $f22 +/* 969CA4 80240AE4 4406A000 */ mfc1 $a2, $f20 +/* 969CA8 80240AE8 44071000 */ mfc1 $a3, $f2 +/* 969CAC 80240AEC 0C01C574 */ jal func_800715D0 +/* 969CB0 80240AF0 0000202D */ daddu $a0, $zero, $zero +/* 969CB4 80240AF4 0220202D */ daddu $a0, $s1, $zero +/* 969CB8 80240AF8 3C05F4AC */ lui $a1, 0xf4ac +/* 969CBC 80240AFC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 969CC0 80240B00 3C108025 */ lui $s0, 0x8025 +/* 969CC4 80240B04 2610EFC0 */ addiu $s0, $s0, -0x1040 +/* 969CC8 80240B08 0C0B1EAF */ jal get_variable +/* 969CCC 80240B0C AE020000 */ sw $v0, ($s0) +/* 969CD0 80240B10 0220202D */ daddu $a0, $s1, $zero +/* 969CD4 80240B14 3C05F4AC */ lui $a1, 0xf4ac +/* 969CD8 80240B18 4482B000 */ mtc1 $v0, $f22 +/* 969CDC 80240B1C 00000000 */ nop +/* 969CE0 80240B20 4680B5A0 */ cvt.s.w $f22, $f22 +/* 969CE4 80240B24 0C0B1EAF */ jal get_variable +/* 969CE8 80240B28 34A5D482 */ ori $a1, $a1, 0xd482 +/* 969CEC 80240B2C 0220202D */ daddu $a0, $s1, $zero +/* 969CF0 80240B30 3C05F4AC */ lui $a1, 0xf4ac +/* 969CF4 80240B34 4482A000 */ mtc1 $v0, $f20 +/* 969CF8 80240B38 00000000 */ nop +/* 969CFC 80240B3C 4680A520 */ cvt.s.w $f20, $f20 +/* 969D00 80240B40 0C0B1EAF */ jal get_variable +/* 969D04 80240B44 34A5D483 */ ori $a1, $a1, 0xd483 +/* 969D08 80240B48 44821000 */ mtc1 $v0, $f2 +/* 969D0C 80240B4C 00000000 */ nop +/* 969D10 80240B50 468010A0 */ cvt.s.w $f2, $f2 +/* 969D14 80240B54 4405B000 */ mfc1 $a1, $f22 +/* 969D18 80240B58 4406A000 */ mfc1 $a2, $f20 +/* 969D1C 80240B5C 44071000 */ mfc1 $a3, $f2 +/* 969D20 80240B60 0C01C604 */ jal func_80071810 +/* 969D24 80240B64 0000202D */ daddu $a0, $zero, $zero +/* 969D28 80240B68 0220202D */ daddu $a0, $s1, $zero +/* 969D2C 80240B6C 3C05F4AC */ lui $a1, 0xf4ac +/* 969D30 80240B70 3C018025 */ lui $at, 0x8025 +/* 969D34 80240B74 AC22EFC4 */ sw $v0, -0x103c($at) +/* 969D38 80240B78 0C0B1EAF */ jal get_variable +/* 969D3C 80240B7C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 969D40 80240B80 0220202D */ daddu $a0, $s1, $zero +/* 969D44 80240B84 3C05F4AC */ lui $a1, 0xf4ac +/* 969D48 80240B88 4482B000 */ mtc1 $v0, $f22 +/* 969D4C 80240B8C 00000000 */ nop +/* 969D50 80240B90 4680B5A0 */ cvt.s.w $f22, $f22 +/* 969D54 80240B94 0C0B1EAF */ jal get_variable +/* 969D58 80240B98 34A5D482 */ ori $a1, $a1, 0xd482 +/* 969D5C 80240B9C 0220202D */ daddu $a0, $s1, $zero +/* 969D60 80240BA0 3C05F4AC */ lui $a1, 0xf4ac +/* 969D64 80240BA4 4482A000 */ mtc1 $v0, $f20 +/* 969D68 80240BA8 00000000 */ nop +/* 969D6C 80240BAC 4680A520 */ cvt.s.w $f20, $f20 +/* 969D70 80240BB0 0C0B1EAF */ jal get_variable +/* 969D74 80240BB4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 969D78 80240BB8 44821000 */ mtc1 $v0, $f2 +/* 969D7C 80240BBC 00000000 */ nop +/* 969D80 80240BC0 468010A0 */ cvt.s.w $f2, $f2 +/* 969D84 80240BC4 4405B000 */ mfc1 $a1, $f22 +/* 969D88 80240BC8 4406A000 */ mfc1 $a2, $f20 +/* 969D8C 80240BCC 3C013F80 */ lui $at, 0x3f80 +/* 969D90 80240BD0 44810000 */ mtc1 $at, $f0 +/* 969D94 80240BD4 44071000 */ mfc1 $a3, $f2 +/* 969D98 80240BD8 0000202D */ daddu $a0, $zero, $zero +/* 969D9C 80240BDC AFA00014 */ sw $zero, 0x14($sp) +/* 969DA0 80240BE0 0C01CA24 */ jal func_80072890 +/* 969DA4 80240BE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 969DA8 80240BE8 8E030000 */ lw $v1, ($s0) +/* 969DAC 80240BEC 8C64000C */ lw $a0, 0xc($v1) +/* 969DB0 80240BF0 3C018025 */ lui $at, 0x8025 +/* 969DB4 80240BF4 AC22EFC8 */ sw $v0, -0x1038($at) +/* 969DB8 80240BF8 AC800018 */ sw $zero, 0x18($a0) +/* 969DBC 80240BFC AC800020 */ sw $zero, 0x20($a0) +/* 969DC0 80240C00 AC800024 */ sw $zero, 0x24($a0) +/* 969DC4 80240C04 AC800028 */ sw $zero, 0x28($a0) +/* 969DC8 80240C08 AC80001C */ sw $zero, 0x1c($a0) +.L80240C0C: +/* 969DCC 80240C0C 3C028025 */ lui $v0, 0x8025 +/* 969DD0 80240C10 8C42EFC0 */ lw $v0, -0x1040($v0) +/* 969DD4 80240C14 8C44000C */ lw $a0, 0xc($v0) +/* 969DD8 80240C18 8C820020 */ lw $v0, 0x20($a0) +/* 969DDC 80240C1C 8C830028 */ lw $v1, 0x28($a0) +/* 969DE0 80240C20 2442000A */ addiu $v0, $v0, 0xa +/* 969DE4 80240C24 AC820020 */ sw $v0, 0x20($a0) +/* 969DE8 80240C28 8C820024 */ lw $v0, 0x24($a0) +/* 969DEC 80240C2C 2463000A */ addiu $v1, $v1, 0xa +/* 969DF0 80240C30 AC830028 */ sw $v1, 0x28($a0) +/* 969DF4 80240C34 8C830018 */ lw $v1, 0x18($a0) +/* 969DF8 80240C38 2442000A */ addiu $v0, $v0, 0xa +/* 969DFC 80240C3C AC820024 */ sw $v0, 0x24($a0) +/* 969E00 80240C40 8C82001C */ lw $v0, 0x1c($a0) +/* 969E04 80240C44 2463000A */ addiu $v1, $v1, 0xa +/* 969E08 80240C48 AC830018 */ sw $v1, 0x18($a0) +/* 969E0C 80240C4C 286300FF */ slti $v1, $v1, 0xff +/* 969E10 80240C50 2442000A */ addiu $v0, $v0, 0xa +/* 969E14 80240C54 AC82001C */ sw $v0, 0x1c($a0) +/* 969E18 80240C58 14600004 */ bnez $v1, .L80240C6C +/* 969E1C 80240C5C 0000102D */ daddu $v0, $zero, $zero +/* 969E20 80240C60 240200FF */ addiu $v0, $zero, 0xff +/* 969E24 80240C64 AC820018 */ sw $v0, 0x18($a0) +/* 969E28 80240C68 24020002 */ addiu $v0, $zero, 2 +.L80240C6C: +/* 969E2C 80240C6C 8FBF0020 */ lw $ra, 0x20($sp) +/* 969E30 80240C70 8FB1001C */ lw $s1, 0x1c($sp) +/* 969E34 80240C74 8FB00018 */ lw $s0, 0x18($sp) +/* 969E38 80240C78 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 969E3C 80240C7C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 969E40 80240C80 03E00008 */ jr $ra +/* 969E44 80240C84 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240C88.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240C88.s new file mode 100644 index 0000000000..7f1fb1f60c --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240C88.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C88 +/* 969E48 80240C88 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969E4C 80240C8C 10A0000B */ beqz $a1, .L80240CBC +/* 969E50 80240C90 AFBF0010 */ sw $ra, 0x10($sp) +/* 969E54 80240C94 3C038025 */ lui $v1, 0x8025 +/* 969E58 80240C98 8C63EFC4 */ lw $v1, -0x103c($v1) +/* 969E5C 80240C9C 8C620000 */ lw $v0, ($v1) +/* 969E60 80240CA0 3C048025 */ lui $a0, 0x8025 +/* 969E64 80240CA4 8C84EFC8 */ lw $a0, -0x1038($a0) +/* 969E68 80240CA8 34420010 */ ori $v0, $v0, 0x10 +/* 969E6C 80240CAC AC620000 */ sw $v0, ($v1) +/* 969E70 80240CB0 8C820000 */ lw $v0, ($a0) +/* 969E74 80240CB4 34420010 */ ori $v0, $v0, 0x10 +/* 969E78 80240CB8 AC820000 */ sw $v0, ($a0) +.L80240CBC: +/* 969E7C 80240CBC 3C048025 */ lui $a0, 0x8025 +/* 969E80 80240CC0 8C84EFC0 */ lw $a0, -0x1040($a0) +/* 969E84 80240CC4 8C85000C */ lw $a1, 0xc($a0) +/* 969E88 80240CC8 8CA20018 */ lw $v0, 0x18($a1) +/* 969E8C 80240CCC 8CA30020 */ lw $v1, 0x20($a1) +/* 969E90 80240CD0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 969E94 80240CD4 ACA20018 */ sw $v0, 0x18($a1) +/* 969E98 80240CD8 8CA20024 */ lw $v0, 0x24($a1) +/* 969E9C 80240CDC 2463FFF6 */ addiu $v1, $v1, -0xa +/* 969EA0 80240CE0 ACA30020 */ sw $v1, 0x20($a1) +/* 969EA4 80240CE4 8CA30028 */ lw $v1, 0x28($a1) +/* 969EA8 80240CE8 2442FFF6 */ addiu $v0, $v0, -0xa +/* 969EAC 80240CEC ACA20024 */ sw $v0, 0x24($a1) +/* 969EB0 80240CF0 8CA2001C */ lw $v0, 0x1c($a1) +/* 969EB4 80240CF4 2463FFF6 */ addiu $v1, $v1, -0xa +/* 969EB8 80240CF8 ACA30028 */ sw $v1, 0x28($a1) +/* 969EBC 80240CFC 8CA30018 */ lw $v1, 0x18($a1) +/* 969EC0 80240D00 2442FFF6 */ addiu $v0, $v0, -0xa +/* 969EC4 80240D04 18600003 */ blez $v1, .L80240D14 +/* 969EC8 80240D08 ACA2001C */ sw $v0, 0x1c($a1) +/* 969ECC 80240D0C 0809034C */ j .L80240D30 +/* 969ED0 80240D10 0000102D */ daddu $v0, $zero, $zero +.L80240D14: +/* 969ED4 80240D14 0C016914 */ jal remove_effect +/* 969ED8 80240D18 ACA00018 */ sw $zero, 0x18($a1) +/* 969EDC 80240D1C 3C048025 */ lui $a0, 0x8025 +/* 969EE0 80240D20 8C84EFA0 */ lw $a0, -0x1060($a0) +/* 969EE4 80240D24 0C048D70 */ jal func_801235C0 +/* 969EE8 80240D28 00000000 */ nop +/* 969EEC 80240D2C 24020002 */ addiu $v0, $zero, 2 +.L80240D30: +/* 969EF0 80240D30 8FBF0010 */ lw $ra, 0x10($sp) +/* 969EF4 80240D34 03E00008 */ jr $ra +/* 969EF8 80240D38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240D3C_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240D3C_9691C0.s new file mode 100644 index 0000000000..73011eae1d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240D3C_9691C0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_969EFC +/* 969EFC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969F00 80240D40 AFBF0010 */ sw $ra, 0x10($sp) +/* 969F04 80240D44 8C82000C */ lw $v0, 0xc($a0) +/* 969F08 80240D48 0C0B1EAF */ jal get_variable +/* 969F0C 80240D4C 8C450000 */ lw $a1, ($v0) +/* 969F10 80240D50 3C038025 */ lui $v1, 0x8025 +/* 969F14 80240D54 8C63EFC0 */ lw $v1, -0x1040($v1) +/* 969F18 80240D58 8C63000C */ lw $v1, 0xc($v1) +/* 969F1C 80240D5C AC620034 */ sw $v0, 0x34($v1) +/* 969F20 80240D60 8FBF0010 */ lw $ra, 0x10($sp) +/* 969F24 80240D64 24020002 */ addiu $v0, $zero, 2 +/* 969F28 80240D68 03E00008 */ jr $ra +/* 969F2C 80240D6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240D70_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240D70_9691C0.s new file mode 100644 index 0000000000..c87c6e9ad4 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240D70_9691C0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D70_969F30 +/* 969F30 80240D70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 969F34 80240D74 AFBF0010 */ sw $ra, 0x10($sp) +/* 969F38 80240D78 8C82000C */ lw $v0, 0xc($a0) +/* 969F3C 80240D7C 0C0B1EAF */ jal get_variable +/* 969F40 80240D80 8C450000 */ lw $a1, ($v0) +/* 969F44 80240D84 0040202D */ daddu $a0, $v0, $zero +/* 969F48 80240D88 3C028025 */ lui $v0, 0x8025 +/* 969F4C 80240D8C 8C42EFC0 */ lw $v0, -0x1040($v0) +/* 969F50 80240D90 24030001 */ addiu $v1, $zero, 1 +/* 969F54 80240D94 8C45000C */ lw $a1, 0xc($v0) +/* 969F58 80240D98 1083000D */ beq $a0, $v1, .L80240DD0 +/* 969F5C 80240D9C 28820002 */ slti $v0, $a0, 2 +/* 969F60 80240DA0 10400005 */ beqz $v0, .L80240DB8 +/* 969F64 80240DA4 24020002 */ addiu $v0, $zero, 2 +/* 969F68 80240DA8 10800007 */ beqz $a0, .L80240DC8 +/* 969F6C 80240DAC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 969F70 80240DB0 08090378 */ j .L80240DE0 +/* 969F74 80240DB4 ACA00038 */ sw $zero, 0x38($a1) +.L80240DB8: +/* 969F78 80240DB8 10820008 */ beq $a0, $v0, .L80240DDC +/* 969F7C 80240DBC 24020040 */ addiu $v0, $zero, 0x40 +/* 969F80 80240DC0 08090378 */ j .L80240DE0 +/* 969F84 80240DC4 ACA00038 */ sw $zero, 0x38($a1) +.L80240DC8: +/* 969F88 80240DC8 08090378 */ j .L80240DE0 +/* 969F8C 80240DCC ACA20038 */ sw $v0, 0x38($a1) +.L80240DD0: +/* 969F90 80240DD0 24020080 */ addiu $v0, $zero, 0x80 +/* 969F94 80240DD4 08090378 */ j .L80240DE0 +/* 969F98 80240DD8 ACA20038 */ sw $v0, 0x38($a1) +.L80240DDC: +/* 969F9C 80240DDC ACA20038 */ sw $v0, 0x38($a1) +.L80240DE0: +/* 969FA0 80240DE0 8FBF0010 */ lw $ra, 0x10($sp) +/* 969FA4 80240DE4 24020002 */ addiu $v0, $zero, 2 +/* 969FA8 80240DE8 03E00008 */ jr $ra +/* 969FAC 80240DEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240DF0_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240DF0_9691C0.s new file mode 100644 index 0000000000..316c997580 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240DF0_9691C0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF0_969FB0 +/* 969FB0 80240DF0 3C028025 */ lui $v0, 0x8025 +/* 969FB4 80240DF4 8C42EFC8 */ lw $v0, -0x1038($v0) +/* 969FB8 80240DF8 8C42000C */ lw $v0, 0xc($v0) +/* 969FBC 80240DFC AC40001C */ sw $zero, 0x1c($v0) +/* 969FC0 80240E00 03E00008 */ jr $ra +/* 969FC4 80240E04 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240E08.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240E08.s new file mode 100644 index 0000000000..a9dd98bfc2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240E08.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E08 +/* 969FC8 80240E08 3C028025 */ lui $v0, 0x8025 +/* 969FCC 80240E0C 8C42EFC8 */ lw $v0, -0x1038($v0) +/* 969FD0 80240E10 8C43000C */ lw $v1, 0xc($v0) +/* 969FD4 80240E14 24020001 */ addiu $v0, $zero, 1 +/* 969FD8 80240E18 AC62001C */ sw $v0, 0x1c($v1) +/* 969FDC 80240E1C 03E00008 */ jr $ra +/* 969FE0 80240E20 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240E24.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240E24.s new file mode 100644 index 0000000000..7b5bf9a5d0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240E24.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E24 +/* 969FE4 80240E24 3C028025 */ lui $v0, 0x8025 +/* 969FE8 80240E28 8C42EFC8 */ lw $v0, -0x1038($v0) +/* 969FEC 80240E2C 8C43000C */ lw $v1, 0xc($v0) +/* 969FF0 80240E30 24020002 */ addiu $v0, $zero, 2 +/* 969FF4 80240E34 03E00008 */ jr $ra +/* 969FF8 80240E38 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240E3C.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240E3C.s new file mode 100644 index 0000000000..1e2bffde2c --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240E3C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E3C +/* 969FFC 80240E3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96A000 80240E40 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 96A004 80240E44 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 96A008 80240E48 3C05FE36 */ lui $a1, 0xfe36 +/* 96A00C 80240E4C AFBF0010 */ sw $ra, 0x10($sp) +/* 96A010 80240E50 80460075 */ lb $a2, 0x75($v0) +/* 96A014 80240E54 0C0B2026 */ jal set_variable +/* 96A018 80240E58 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 96A01C 80240E5C 8FBF0010 */ lw $ra, 0x10($sp) +/* 96A020 80240E60 24020002 */ addiu $v0, $zero, 2 +/* 96A024 80240E64 03E00008 */ jr $ra +/* 96A028 80240E68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240E6C.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240E6C.s new file mode 100644 index 0000000000..612b3d8bb0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240E6C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E6C +/* 96A02C 80240E6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96A030 80240E70 AFB10014 */ sw $s1, 0x14($sp) +/* 96A034 80240E74 0080882D */ daddu $s1, $a0, $zero +/* 96A038 80240E78 AFBF0018 */ sw $ra, 0x18($sp) +/* 96A03C 80240E7C AFB00010 */ sw $s0, 0x10($sp) +/* 96A040 80240E80 8E30000C */ lw $s0, 0xc($s1) +/* 96A044 80240E84 8E050000 */ lw $a1, ($s0) +/* 96A048 80240E88 0C0B1EAF */ jal get_variable +/* 96A04C 80240E8C 26100004 */ addiu $s0, $s0, 4 +/* 96A050 80240E90 0220202D */ daddu $a0, $s1, $zero +/* 96A054 80240E94 8E050000 */ lw $a1, ($s0) +/* 96A058 80240E98 0C0B210B */ jal get_float_variable +/* 96A05C 80240E9C 0040802D */ daddu $s0, $v0, $zero +/* 96A060 80240EA0 24020002 */ addiu $v0, $zero, 2 +/* 96A064 80240EA4 00501804 */ sllv $v1, $s0, $v0 +/* 96A068 80240EA8 00701821 */ addu $v1, $v1, $s0 +/* 96A06C 80240EAC 00431804 */ sllv $v1, $v1, $v0 +/* 96A070 80240EB0 00701823 */ subu $v1, $v1, $s0 +/* 96A074 80240EB4 000320C0 */ sll $a0, $v1, 3 +/* 96A078 80240EB8 00641821 */ addu $v1, $v1, $a0 +/* 96A07C 80240EBC 000318C0 */ sll $v1, $v1, 3 +/* 96A080 80240EC0 3C01800B */ lui $at, 0x800b +/* 96A084 80240EC4 00230821 */ addu $at, $at, $v1 +/* 96A088 80240EC8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 96A08C 80240ECC 8FBF0018 */ lw $ra, 0x18($sp) +/* 96A090 80240ED0 8FB10014 */ lw $s1, 0x14($sp) +/* 96A094 80240ED4 8FB00010 */ lw $s0, 0x10($sp) +/* 96A098 80240ED8 03E00008 */ jr $ra +/* 96A09C 80240EDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240EE0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240EE0.s new file mode 100644 index 0000000000..8dd8eccb44 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240EE0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE0 +/* 96A0A0 80240EE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96A0A4 80240EE4 AFB10014 */ sw $s1, 0x14($sp) +/* 96A0A8 80240EE8 0080882D */ daddu $s1, $a0, $zero +/* 96A0AC 80240EEC AFBF0018 */ sw $ra, 0x18($sp) +/* 96A0B0 80240EF0 AFB00010 */ sw $s0, 0x10($sp) +/* 96A0B4 80240EF4 8E30000C */ lw $s0, 0xc($s1) +/* 96A0B8 80240EF8 8E050000 */ lw $a1, ($s0) +/* 96A0BC 80240EFC 0C0B1EAF */ jal get_variable +/* 96A0C0 80240F00 26100004 */ addiu $s0, $s0, 4 +/* 96A0C4 80240F04 00021880 */ sll $v1, $v0, 2 +/* 96A0C8 80240F08 00621821 */ addu $v1, $v1, $v0 +/* 96A0CC 80240F0C 00031880 */ sll $v1, $v1, 2 +/* 96A0D0 80240F10 00621823 */ subu $v1, $v1, $v0 +/* 96A0D4 80240F14 000310C0 */ sll $v0, $v1, 3 +/* 96A0D8 80240F18 00621821 */ addu $v1, $v1, $v0 +/* 96A0DC 80240F1C 000318C0 */ sll $v1, $v1, 3 +/* 96A0E0 80240F20 3C01800B */ lui $at, 0x800b +/* 96A0E4 80240F24 00230821 */ addu $at, $at, $v1 +/* 96A0E8 80240F28 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 96A0EC 80240F2C 3C014480 */ lui $at, 0x4480 +/* 96A0F0 80240F30 44810000 */ mtc1 $at, $f0 +/* 96A0F4 80240F34 00000000 */ nop +/* 96A0F8 80240F38 46001082 */ mul.s $f2, $f2, $f0 +/* 96A0FC 80240F3C 00000000 */ nop +/* 96A100 80240F40 3C01CD5B */ lui $at, 0xcd5b +/* 96A104 80240F44 34215858 */ ori $at, $at, 0x5858 +/* 96A108 80240F48 44810000 */ mtc1 $at, $f0 +/* 96A10C 80240F4C 00000000 */ nop +/* 96A110 80240F50 46001080 */ add.s $f2, $f2, $f0 +/* 96A114 80240F54 8E050000 */ lw $a1, ($s0) +/* 96A118 80240F58 4600110D */ trunc.w.s $f4, $f2 +/* 96A11C 80240F5C 44062000 */ mfc1 $a2, $f4 +/* 96A120 80240F60 0C0B2026 */ jal set_variable +/* 96A124 80240F64 0220202D */ daddu $a0, $s1, $zero +/* 96A128 80240F68 8FBF0018 */ lw $ra, 0x18($sp) +/* 96A12C 80240F6C 8FB10014 */ lw $s1, 0x14($sp) +/* 96A130 80240F70 8FB00010 */ lw $s0, 0x10($sp) +/* 96A134 80240F74 24020002 */ addiu $v0, $zero, 2 +/* 96A138 80240F78 03E00008 */ jr $ra +/* 96A13C 80240F7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80240F80.s b/asm/nonmatchings/world/area_dro/dro_02/func_80240F80.s new file mode 100644 index 0000000000..10a553fea7 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80240F80.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F80 +/* 96A140 80240F80 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 96A144 80240F84 AFB20018 */ sw $s2, 0x18($sp) +/* 96A148 80240F88 0080902D */ daddu $s2, $a0, $zero +/* 96A14C 80240F8C AFBF0030 */ sw $ra, 0x30($sp) +/* 96A150 80240F90 AFB7002C */ sw $s7, 0x2c($sp) +/* 96A154 80240F94 AFB60028 */ sw $s6, 0x28($sp) +/* 96A158 80240F98 AFB50024 */ sw $s5, 0x24($sp) +/* 96A15C 80240F9C AFB40020 */ sw $s4, 0x20($sp) +/* 96A160 80240FA0 AFB3001C */ sw $s3, 0x1c($sp) +/* 96A164 80240FA4 AFB10014 */ sw $s1, 0x14($sp) +/* 96A168 80240FA8 AFB00010 */ sw $s0, 0x10($sp) +/* 96A16C 80240FAC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 96A170 80240FB0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 96A174 80240FB4 8E50000C */ lw $s0, 0xc($s2) +/* 96A178 80240FB8 8E050000 */ lw $a1, ($s0) +/* 96A17C 80240FBC 0C0B1EAF */ jal get_variable +/* 96A180 80240FC0 26100004 */ addiu $s0, $s0, 4 +/* 96A184 80240FC4 8E050000 */ lw $a1, ($s0) +/* 96A188 80240FC8 26100004 */ addiu $s0, $s0, 4 +/* 96A18C 80240FCC 0240202D */ daddu $a0, $s2, $zero +/* 96A190 80240FD0 0C0B1EAF */ jal get_variable +/* 96A194 80240FD4 0040B82D */ daddu $s7, $v0, $zero +/* 96A198 80240FD8 8E050000 */ lw $a1, ($s0) +/* 96A19C 80240FDC 26100004 */ addiu $s0, $s0, 4 +/* 96A1A0 80240FE0 0240202D */ daddu $a0, $s2, $zero +/* 96A1A4 80240FE4 0C0B1EAF */ jal get_variable +/* 96A1A8 80240FE8 0040B02D */ daddu $s6, $v0, $zero +/* 96A1AC 80240FEC 0240202D */ daddu $a0, $s2, $zero +/* 96A1B0 80240FF0 3C05F4AC */ lui $a1, 0xf4ac +/* 96A1B4 80240FF4 34A5D481 */ ori $a1, $a1, 0xd481 +/* 96A1B8 80240FF8 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 96A1BC 80240FFC 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 96A1C0 80241000 8E140000 */ lw $s4, ($s0) +/* 96A1C4 80241004 00061880 */ sll $v1, $a2, 2 +/* 96A1C8 80241008 00661821 */ addu $v1, $v1, $a2 +/* 96A1CC 8024100C 00031880 */ sll $v1, $v1, 2 +/* 96A1D0 80241010 00661823 */ subu $v1, $v1, $a2 +/* 96A1D4 80241014 000330C0 */ sll $a2, $v1, 3 +/* 96A1D8 80241018 00661821 */ addu $v1, $v1, $a2 +/* 96A1DC 8024101C 000318C0 */ sll $v1, $v1, 3 +/* 96A1E0 80241020 3C01800B */ lui $at, 0x800b +/* 96A1E4 80241024 00230821 */ addu $at, $at, $v1 +/* 96A1E8 80241028 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 96A1EC 8024102C 8E150004 */ lw $s5, 4($s0) +/* 96A1F0 80241030 4600010D */ trunc.w.s $f4, $f0 +/* 96A1F4 80241034 44112000 */ mfc1 $s1, $f4 +/* 96A1F8 80241038 0C0B1EAF */ jal get_variable +/* 96A1FC 8024103C 0040982D */ daddu $s3, $v0, $zero +/* 96A200 80241040 4491B000 */ mtc1 $s1, $f22 +/* 96A204 80241044 00000000 */ nop +/* 96A208 80241048 4680B5A0 */ cvt.s.w $f22, $f22 +/* 96A20C 8024104C 4600B306 */ mov.s $f12, $f22 +/* 96A210 80241050 0C00A8D4 */ jal cos_deg +/* 96A214 80241054 0040802D */ daddu $s0, $v0, $zero +/* 96A218 80241058 4493A000 */ mtc1 $s3, $f20 +/* 96A21C 8024105C 00000000 */ nop +/* 96A220 80241060 4680A520 */ cvt.s.w $f20, $f20 +/* 96A224 80241064 4600A002 */ mul.s $f0, $f20, $f0 +/* 96A228 80241068 00000000 */ nop +/* 96A22C 8024106C 0240202D */ daddu $a0, $s2, $zero +/* 96A230 80241070 44901000 */ mtc1 $s0, $f2 +/* 96A234 80241074 00000000 */ nop +/* 96A238 80241078 468010A0 */ cvt.s.w $f2, $f2 +/* 96A23C 8024107C 46001081 */ sub.s $f2, $f2, $f0 +/* 96A240 80241080 3C05F4AC */ lui $a1, 0xf4ac +/* 96A244 80241084 4600110D */ trunc.w.s $f4, $f2 +/* 96A248 80241088 44102000 */ mfc1 $s0, $f4 +/* 96A24C 8024108C 0C0B1EAF */ jal get_variable +/* 96A250 80241090 34A5D483 */ ori $a1, $a1, 0xd483 +/* 96A254 80241094 4600B306 */ mov.s $f12, $f22 +/* 96A258 80241098 0C00A8BB */ jal sin_deg +/* 96A25C 8024109C 0040882D */ daddu $s1, $v0, $zero +/* 96A260 802410A0 4600A502 */ mul.s $f20, $f20, $f0 +/* 96A264 802410A4 00000000 */ nop +/* 96A268 802410A8 0240202D */ daddu $a0, $s2, $zero +/* 96A26C 802410AC 44910000 */ mtc1 $s1, $f0 +/* 96A270 802410B0 00000000 */ nop +/* 96A274 802410B4 46800020 */ cvt.s.w $f0, $f0 +/* 96A278 802410B8 46140001 */ sub.s $f0, $f0, $f20 +/* 96A27C 802410BC 0280282D */ daddu $a1, $s4, $zero +/* 96A280 802410C0 02173023 */ subu $a2, $s0, $s7 +/* 96A284 802410C4 4600010D */ trunc.w.s $f4, $f0 +/* 96A288 802410C8 44102000 */ mfc1 $s0, $f4 +/* 96A28C 802410CC 0C0B2026 */ jal set_variable +/* 96A290 802410D0 02168023 */ subu $s0, $s0, $s6 +/* 96A294 802410D4 0240202D */ daddu $a0, $s2, $zero +/* 96A298 802410D8 02A0282D */ daddu $a1, $s5, $zero +/* 96A29C 802410DC 0C0B2026 */ jal set_variable +/* 96A2A0 802410E0 0200302D */ daddu $a2, $s0, $zero +/* 96A2A4 802410E4 8FBF0030 */ lw $ra, 0x30($sp) +/* 96A2A8 802410E8 8FB7002C */ lw $s7, 0x2c($sp) +/* 96A2AC 802410EC 8FB60028 */ lw $s6, 0x28($sp) +/* 96A2B0 802410F0 8FB50024 */ lw $s5, 0x24($sp) +/* 96A2B4 802410F4 8FB40020 */ lw $s4, 0x20($sp) +/* 96A2B8 802410F8 8FB3001C */ lw $s3, 0x1c($sp) +/* 96A2BC 802410FC 8FB20018 */ lw $s2, 0x18($sp) +/* 96A2C0 80241100 8FB10014 */ lw $s1, 0x14($sp) +/* 96A2C4 80241104 8FB00010 */ lw $s0, 0x10($sp) +/* 96A2C8 80241108 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 96A2CC 8024110C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 96A2D0 80241110 24020002 */ addiu $v0, $zero, 2 +/* 96A2D4 80241114 03E00008 */ jr $ra +/* 96A2D8 80241118 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024111C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024111C.s new file mode 100644 index 0000000000..8700c07c08 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024111C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024111C +/* 96A2DC 8024111C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 96A2E0 80241120 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 96A2E4 80241124 10A00002 */ beqz $a1, .L80241130 +/* 96A2E8 80241128 2402003C */ addiu $v0, $zero, 0x3c +/* 96A2EC 8024112C AC820070 */ sw $v0, 0x70($a0) +.L80241130: +/* 96A2F0 80241130 C4620080 */ lwc1 $f2, 0x80($v1) +/* 96A2F4 80241134 3C0141F0 */ lui $at, 0x41f0 +/* 96A2F8 80241138 44810000 */ mtc1 $at, $f0 +/* 96A2FC 8024113C 00000000 */ nop +/* 96A300 80241140 46001000 */ add.s $f0, $f2, $f0 +/* 96A304 80241144 3C0143B4 */ lui $at, 0x43b4 +/* 96A308 80241148 44811000 */ mtc1 $at, $f2 +/* 96A30C 8024114C 00000000 */ nop +/* 96A310 80241150 4600103E */ c.le.s $f2, $f0 +/* 96A314 80241154 00000000 */ nop +/* 96A318 80241158 45000003 */ bc1f .L80241168 +/* 96A31C 8024115C E4600080 */ swc1 $f0, 0x80($v1) +/* 96A320 80241160 46020001 */ sub.s $f0, $f0, $f2 +/* 96A324 80241164 E4600080 */ swc1 $f0, 0x80($v1) +.L80241168: +/* 96A328 80241168 8C820070 */ lw $v0, 0x70($a0) +/* 96A32C 8024116C 2442FFFF */ addiu $v0, $v0, -1 +/* 96A330 80241170 AC820070 */ sw $v0, 0x70($a0) +/* 96A334 80241174 000217C3 */ sra $v0, $v0, 0x1f +/* 96A338 80241178 03E00008 */ jr $ra +/* 96A33C 8024117C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80241180.s b/asm/nonmatchings/world/area_dro/dro_02/func_80241180.s new file mode 100644 index 0000000000..35fa024f12 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80241180.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241180 +/* 96A340 80241180 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96A344 80241184 AFB10014 */ sw $s1, 0x14($sp) +/* 96A348 80241188 0080882D */ daddu $s1, $a0, $zero +/* 96A34C 8024118C AFB00010 */ sw $s0, 0x10($sp) +/* 96A350 80241190 00A0802D */ daddu $s0, $a1, $zero +/* 96A354 80241194 AFBF0018 */ sw $ra, 0x18($sp) +/* 96A358 80241198 0C00EABB */ jal get_npc_unsafe +/* 96A35C 8024119C 2404FFFC */ addiu $a0, $zero, -4 +/* 96A360 802411A0 12000003 */ beqz $s0, .L802411B0 +/* 96A364 802411A4 0040182D */ daddu $v1, $v0, $zero +/* 96A368 802411A8 2402003C */ addiu $v0, $zero, 0x3c +/* 96A36C 802411AC AE220070 */ sw $v0, 0x70($s1) +.L802411B0: +/* 96A370 802411B0 C462000C */ lwc1 $f2, 0xc($v1) +/* 96A374 802411B4 3C0141F0 */ lui $at, 0x41f0 +/* 96A378 802411B8 44810000 */ mtc1 $at, $f0 +/* 96A37C 802411BC 00000000 */ nop +/* 96A380 802411C0 46001000 */ add.s $f0, $f2, $f0 +/* 96A384 802411C4 3C0143B4 */ lui $at, 0x43b4 +/* 96A388 802411C8 44811000 */ mtc1 $at, $f2 +/* 96A38C 802411CC 00000000 */ nop +/* 96A390 802411D0 4600103E */ c.le.s $f2, $f0 +/* 96A394 802411D4 00000000 */ nop +/* 96A398 802411D8 45000003 */ bc1f .L802411E8 +/* 96A39C 802411DC E460000C */ swc1 $f0, 0xc($v1) +/* 96A3A0 802411E0 46020001 */ sub.s $f0, $f0, $f2 +/* 96A3A4 802411E4 E460000C */ swc1 $f0, 0xc($v1) +.L802411E8: +/* 96A3A8 802411E8 8E230070 */ lw $v1, 0x70($s1) +/* 96A3AC 802411EC 2463FFFF */ addiu $v1, $v1, -1 +/* 96A3B0 802411F0 000317C3 */ sra $v0, $v1, 0x1f +/* 96A3B4 802411F4 AE230070 */ sw $v1, 0x70($s1) +/* 96A3B8 802411F8 8FBF0018 */ lw $ra, 0x18($sp) +/* 96A3BC 802411FC 8FB10014 */ lw $s1, 0x14($sp) +/* 96A3C0 80241200 8FB00010 */ lw $s0, 0x10($sp) +/* 96A3C4 80241204 30420002 */ andi $v0, $v0, 2 +/* 96A3C8 80241208 03E00008 */ jr $ra +/* 96A3CC 8024120C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80241210_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80241210_9691C0.s new file mode 100644 index 0000000000..1311c901c0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80241210_9691C0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241210_96A3D0 +/* 96A3D0 80241210 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 96A3D4 80241214 AFB10014 */ sw $s1, 0x14($sp) +/* 96A3D8 80241218 0080882D */ daddu $s1, $a0, $zero +/* 96A3DC 8024121C AFB00010 */ sw $s0, 0x10($sp) +/* 96A3E0 80241220 00A0802D */ daddu $s0, $a1, $zero +/* 96A3E4 80241224 AFBF001C */ sw $ra, 0x1c($sp) +/* 96A3E8 80241228 AFB20018 */ sw $s2, 0x18($sp) +/* 96A3EC 8024122C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 96A3F0 80241230 0C00EABB */ jal get_npc_unsafe +/* 96A3F4 80241234 2404FFFC */ addiu $a0, $zero, -4 +/* 96A3F8 80241238 12000017 */ beqz $s0, .L80241298 +/* 96A3FC 8024123C 0040902D */ daddu $s2, $v0, $zero +/* 96A400 80241240 0220202D */ daddu $a0, $s1, $zero +/* 96A404 80241244 3C05FE36 */ lui $a1, 0xfe36 +/* 96A408 80241248 0C0B210B */ jal get_float_variable +/* 96A40C 8024124C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 96A410 80241250 0220202D */ daddu $a0, $s1, $zero +/* 96A414 80241254 3C05FE36 */ lui $a1, 0xfe36 +/* 96A418 80241258 3C014270 */ lui $at, 0x4270 +/* 96A41C 8024125C 4481A000 */ mtc1 $at, $f20 +/* 96A420 80241260 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 96A424 80241264 46140003 */ div.s $f0, $f0, $f20 +/* 96A428 80241268 0C0B210B */ jal get_float_variable +/* 96A42C 8024126C E6200074 */ swc1 $f0, 0x74($s1) +/* 96A430 80241270 0220202D */ daddu $a0, $s1, $zero +/* 96A434 80241274 3C05FE36 */ lui $a1, 0xfe36 +/* 96A438 80241278 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 96A43C 8024127C 46140003 */ div.s $f0, $f0, $f20 +/* 96A440 80241280 0C0B210B */ jal get_float_variable +/* 96A444 80241284 E6200078 */ swc1 $f0, 0x78($s1) +/* 96A448 80241288 46140003 */ div.s $f0, $f0, $f20 +/* 96A44C 8024128C 2402003C */ addiu $v0, $zero, 0x3c +/* 96A450 80241290 E620007C */ swc1 $f0, 0x7c($s1) +/* 96A454 80241294 AE220070 */ sw $v0, 0x70($s1) +.L80241298: +/* 96A458 80241298 C6400038 */ lwc1 $f0, 0x38($s2) +/* 96A45C 8024129C C6220074 */ lwc1 $f2, 0x74($s1) +/* 96A460 802412A0 46020000 */ add.s $f0, $f0, $f2 +/* 96A464 802412A4 E6400038 */ swc1 $f0, 0x38($s2) +/* 96A468 802412A8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 96A46C 802412AC C6220078 */ lwc1 $f2, 0x78($s1) +/* 96A470 802412B0 46020000 */ add.s $f0, $f0, $f2 +/* 96A474 802412B4 E640003C */ swc1 $f0, 0x3c($s2) +/* 96A478 802412B8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 96A47C 802412BC C622007C */ lwc1 $f2, 0x7c($s1) +/* 96A480 802412C0 46020000 */ add.s $f0, $f0, $f2 +/* 96A484 802412C4 E6400040 */ swc1 $f0, 0x40($s2) +/* 96A488 802412C8 8E230070 */ lw $v1, 0x70($s1) +/* 96A48C 802412CC 2463FFFF */ addiu $v1, $v1, -1 +/* 96A490 802412D0 2C620001 */ sltiu $v0, $v1, 1 +/* 96A494 802412D4 AE230070 */ sw $v1, 0x70($s1) +/* 96A498 802412D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 96A49C 802412DC 8FB20018 */ lw $s2, 0x18($sp) +/* 96A4A0 802412E0 8FB10014 */ lw $s1, 0x14($sp) +/* 96A4A4 802412E4 8FB00010 */ lw $s0, 0x10($sp) +/* 96A4A8 802412E8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 96A4AC 802412EC 00021040 */ sll $v0, $v0, 1 +/* 96A4B0 802412F0 03E00008 */ jr $ra +/* 96A4B4 802412F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802412F8_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802412F8_9691C0.s new file mode 100644 index 0000000000..e8f3e6e374 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802412F8_9691C0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F8_96A4B8 +/* 96A4B8 802412F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96A4BC 802412FC 3C058025 */ lui $a1, 0x8025 +/* 96A4C0 80241300 8CA5EFB8 */ lw $a1, -0x1048($a1) +/* 96A4C4 80241304 AFBF0010 */ sw $ra, 0x10($sp) +/* 96A4C8 80241308 0C0B1EAF */ jal get_variable +/* 96A4CC 8024130C 0000202D */ daddu $a0, $zero, $zero +/* 96A4D0 80241310 0040182D */ daddu $v1, $v0, $zero +/* 96A4D4 80241314 24020001 */ addiu $v0, $zero, 1 +/* 96A4D8 80241318 14620006 */ bne $v1, $v0, .L80241334 +/* 96A4DC 8024131C 24020002 */ addiu $v0, $zero, 2 +/* 96A4E0 80241320 44800000 */ mtc1 $zero, $f0 +/* 96A4E4 80241324 00000000 */ nop +/* 96A4E8 80241328 44050000 */ mfc1 $a1, $f0 +/* 96A4EC 8024132C 080904D3 */ j .L8024134C +/* 96A4F0 80241330 0000202D */ daddu $a0, $zero, $zero +.L80241334: +/* 96A4F4 80241334 14620008 */ bne $v1, $v0, .L80241358 +/* 96A4F8 80241338 24040001 */ addiu $a0, $zero, 1 +/* 96A4FC 8024133C 44800000 */ mtc1 $zero, $f0 +/* 96A500 80241340 00000000 */ nop +/* 96A504 80241344 44050000 */ mfc1 $a1, $f0 +/* 96A508 80241348 00000000 */ nop +.L8024134C: +/* 96A50C 8024134C 00A0302D */ daddu $a2, $a1, $zero +/* 96A510 80241350 0C01C5A4 */ jal func_80071690 +/* 96A514 80241354 00A0382D */ daddu $a3, $a1, $zero +.L80241358: +/* 96A518 80241358 8FBF0010 */ lw $ra, 0x10($sp) +/* 96A51C 8024135C 03E00008 */ jr $ra +/* 96A520 80241360 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80241364_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80241364_9691C0.s new file mode 100644 index 0000000000..87ece7f871 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80241364_9691C0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241364_96A524 +/* 96A524 80241364 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96A528 80241368 3C058024 */ lui $a1, 0x8024 +/* 96A52C 8024136C 24A512F8 */ addiu $a1, $a1, 0x12f8 +/* 96A530 80241370 AFBF0010 */ sw $ra, 0x10($sp) +/* 96A534 80241374 0C048C8F */ jal bind_dynamic_entity_7 +/* 96A538 80241378 0000202D */ daddu $a0, $zero, $zero +/* 96A53C 8024137C 8FBF0010 */ lw $ra, 0x10($sp) +/* 96A540 80241380 3C018025 */ lui $at, 0x8025 +/* 96A544 80241384 AC22EFA0 */ sw $v0, -0x1060($at) +/* 96A548 80241388 24020002 */ addiu $v0, $zero, 2 +/* 96A54C 8024138C 03E00008 */ jr $ra +/* 96A550 80241390 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80241394.s b/asm/nonmatchings/world/area_dro/dro_02/func_80241394.s new file mode 100644 index 0000000000..ac78570edf --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80241394.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241394 +/* 96A554 80241394 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96A558 80241398 AFB20018 */ sw $s2, 0x18($sp) +/* 96A55C 8024139C 0080902D */ daddu $s2, $a0, $zero +/* 96A560 802413A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 96A564 802413A4 AFB10014 */ sw $s1, 0x14($sp) +/* 96A568 802413A8 AFB00010 */ sw $s0, 0x10($sp) +/* 96A56C 802413AC 8E50000C */ lw $s0, 0xc($s2) +/* 96A570 802413B0 8E050000 */ lw $a1, ($s0) +/* 96A574 802413B4 0C0B1EAF */ jal get_variable +/* 96A578 802413B8 26100004 */ addiu $s0, $s0, 4 +/* 96A57C 802413BC 3C118011 */ lui $s1, %hi(gPlayerData) +/* 96A580 802413C0 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 96A584 802413C4 3C058024 */ lui $a1, 0x8024 +/* 96A588 802413C8 00A22821 */ addu $a1, $a1, $v0 +/* 96A58C 802413CC 90A575E0 */ lbu $a1, 0x75e0($a1) +/* 96A590 802413D0 8623000C */ lh $v1, 0xc($s1) +/* 96A594 802413D4 8E100000 */ lw $s0, ($s0) +/* 96A598 802413D8 3C068024 */ lui $a2, 0x8024 +/* 96A59C 802413DC 00C23021 */ addu $a2, $a2, $v0 +/* 96A5A0 802413E0 90C675DC */ lbu $a2, 0x75dc($a2) +/* 96A5A4 802413E4 9624000C */ lhu $a0, 0xc($s1) +/* 96A5A8 802413E8 0065182A */ slt $v1, $v1, $a1 +/* 96A5AC 802413EC 10600005 */ beqz $v1, .L80241404 +/* 96A5B0 802413F0 30A200FF */ andi $v0, $a1, 0xff +/* 96A5B4 802413F4 0240202D */ daddu $a0, $s2, $zero +/* 96A5B8 802413F8 0200282D */ daddu $a1, $s0, $zero +/* 96A5BC 802413FC 08090527 */ j .L8024149C +/* 96A5C0 80241400 24060001 */ addiu $a2, $zero, 1 +.L80241404: +/* 96A5C4 80241404 00821023 */ subu $v0, $a0, $v0 +/* 96A5C8 80241408 A622000C */ sh $v0, 0xc($s1) +/* 96A5CC 8024140C 8222028A */ lb $v0, 0x28a($s1) +/* 96A5D0 80241410 30C300FF */ andi $v1, $a2, 0xff +/* 96A5D4 80241414 0043102A */ slt $v0, $v0, $v1 +/* 96A5D8 80241418 54400001 */ bnel $v0, $zero, .L80241420 +/* 96A5DC 8024141C A226028A */ sb $a2, 0x28a($s1) +.L80241420: +/* 96A5E0 80241420 0C00A67F */ jal rand_int +/* 96A5E4 80241424 24040002 */ addiu $a0, $zero, 2 +/* 96A5E8 80241428 24420001 */ addiu $v0, $v0, 1 +/* 96A5EC 8024142C A622028C */ sh $v0, 0x28c($s1) +/* 96A5F0 80241430 0C00A67F */ jal rand_int +/* 96A5F4 80241434 24040003 */ addiu $a0, $zero, 3 +/* 96A5F8 80241438 0040182D */ daddu $v1, $v0, $zero +/* 96A5FC 8024143C 24040001 */ addiu $a0, $zero, 1 +/* 96A600 80241440 1064000D */ beq $v1, $a0, .L80241478 +/* 96A604 80241444 28620002 */ slti $v0, $v1, 2 +/* 96A608 80241448 10400005 */ beqz $v0, .L80241460 +/* 96A60C 8024144C 24020002 */ addiu $v0, $zero, 2 +/* 96A610 80241450 5060000F */ beql $v1, $zero, .L80241490 +/* 96A614 80241454 A2240289 */ sb $a0, 0x289($s1) +/* 96A618 80241458 08090525 */ j .L80241494 +/* 96A61C 8024145C 0240202D */ daddu $a0, $s2, $zero +.L80241460: +/* 96A620 80241460 10620007 */ beq $v1, $v0, .L80241480 +/* 96A624 80241464 24020003 */ addiu $v0, $zero, 3 +/* 96A628 80241468 10620007 */ beq $v1, $v0, .L80241488 +/* 96A62C 8024146C 0240202D */ daddu $a0, $s2, $zero +/* 96A630 80241470 08090526 */ j .L80241498 +/* 96A634 80241474 0200282D */ daddu $a1, $s0, $zero +.L80241478: +/* 96A638 80241478 08090523 */ j .L8024148C +/* 96A63C 8024147C 24020002 */ addiu $v0, $zero, 2 +.L80241480: +/* 96A640 80241480 08090523 */ j .L8024148C +/* 96A644 80241484 24020003 */ addiu $v0, $zero, 3 +.L80241488: +/* 96A648 80241488 24020004 */ addiu $v0, $zero, 4 +.L8024148C: +/* 96A64C 8024148C A2220289 */ sb $v0, 0x289($s1) +.L80241490: +/* 96A650 80241490 0240202D */ daddu $a0, $s2, $zero +.L80241494: +/* 96A654 80241494 0200282D */ daddu $a1, $s0, $zero +.L80241498: +/* 96A658 80241498 0000302D */ daddu $a2, $zero, $zero +.L8024149C: +/* 96A65C 8024149C 0C0B2026 */ jal set_variable +/* 96A660 802414A0 00000000 */ nop +/* 96A664 802414A4 8FBF001C */ lw $ra, 0x1c($sp) +/* 96A668 802414A8 8FB20018 */ lw $s2, 0x18($sp) +/* 96A66C 802414AC 8FB10014 */ lw $s1, 0x14($sp) +/* 96A670 802414B0 8FB00010 */ lw $s0, 0x10($sp) +/* 96A674 802414B4 24020002 */ addiu $v0, $zero, 2 +/* 96A678 802414B8 03E00008 */ jr $ra +/* 96A67C 802414BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802414C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802414C0.s new file mode 100644 index 0000000000..a330bda55f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802414C0.s @@ -0,0 +1,75 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C0 +/* 96A680 802414C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 96A684 802414C4 AFB10014 */ sw $s1, 0x14($sp) +/* 96A688 802414C8 0080882D */ daddu $s1, $a0, $zero +/* 96A68C 802414CC AFBF0024 */ sw $ra, 0x24($sp) +/* 96A690 802414D0 AFB40020 */ sw $s4, 0x20($sp) +/* 96A694 802414D4 AFB3001C */ sw $s3, 0x1c($sp) +/* 96A698 802414D8 AFB20018 */ sw $s2, 0x18($sp) +/* 96A69C 802414DC 10A00023 */ beqz $a1, .L8024156C +/* 96A6A0 802414E0 AFB00010 */ sw $s0, 0x10($sp) +/* 96A6A4 802414E4 0C04760B */ jal func_8011D82C +/* 96A6A8 802414E8 24040001 */ addiu $a0, $zero, 1 +/* 96A6AC 802414EC 0000202D */ daddu $a0, $zero, $zero +/* 96A6B0 802414F0 0080282D */ daddu $a1, $a0, $zero +/* 96A6B4 802414F4 0080302D */ daddu $a2, $a0, $zero +/* 96A6B8 802414F8 0080382D */ daddu $a3, $a0, $zero +/* 96A6BC 802414FC 0080802D */ daddu $s0, $a0, $zero +/* 96A6C0 80241500 2414FFFC */ addiu $s4, $zero, -4 +/* 96A6C4 80241504 24130004 */ addiu $s3, $zero, 4 +/* 96A6C8 80241508 3C120080 */ lui $s2, 0x80 +/* 96A6CC 8024150C 3C038015 */ lui $v1, 0x8015 +/* 96A6D0 80241510 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 96A6D4 80241514 24020001 */ addiu $v0, $zero, 1 +/* 96A6D8 80241518 0C046F97 */ jal set_background_color_blend +/* 96A6DC 8024151C A0620000 */ sb $v0, ($v1) +.L80241520: +/* 96A6E0 80241520 0C00E2B7 */ jal get_npc_by_index +/* 96A6E4 80241524 0200202D */ daddu $a0, $s0, $zero +/* 96A6E8 80241528 0040202D */ daddu $a0, $v0, $zero +/* 96A6EC 8024152C 5080000B */ beql $a0, $zero, .L8024155C +/* 96A6F0 80241530 26100001 */ addiu $s0, $s0, 1 +/* 96A6F4 80241534 8C820000 */ lw $v0, ($a0) +/* 96A6F8 80241538 50400008 */ beql $v0, $zero, .L8024155C +/* 96A6FC 8024153C 26100001 */ addiu $s0, $s0, 1 +/* 96A700 80241540 808300A4 */ lb $v1, 0xa4($a0) +/* 96A704 80241544 10740005 */ beq $v1, $s4, .L8024155C +/* 96A708 80241548 26100001 */ addiu $s0, $s0, 1 +/* 96A70C 8024154C 10730003 */ beq $v1, $s3, .L8024155C +/* 96A710 80241550 00000000 */ nop +/* 96A714 80241554 00521025 */ or $v0, $v0, $s2 +/* 96A718 80241558 AC820000 */ sw $v0, ($a0) +.L8024155C: +/* 96A71C 8024155C 2A020040 */ slti $v0, $s0, 0x40 +/* 96A720 80241560 1440FFEF */ bnez $v0, .L80241520 +/* 96A724 80241564 00000000 */ nop +/* 96A728 80241568 AE200070 */ sw $zero, 0x70($s1) +.L8024156C: +/* 96A72C 8024156C 8E220070 */ lw $v0, 0x70($s1) +/* 96A730 80241570 24420008 */ addiu $v0, $v0, 8 +/* 96A734 80241574 AE220070 */ sw $v0, 0x70($s1) +/* 96A738 80241578 28420100 */ slti $v0, $v0, 0x100 +/* 96A73C 8024157C 14400003 */ bnez $v0, .L8024158C +/* 96A740 80241580 0000202D */ daddu $a0, $zero, $zero +/* 96A744 80241584 240200FF */ addiu $v0, $zero, 0xff +/* 96A748 80241588 AE220070 */ sw $v0, 0x70($s1) +.L8024158C: +/* 96A74C 8024158C 0080282D */ daddu $a1, $a0, $zero +/* 96A750 80241590 92270073 */ lbu $a3, 0x73($s1) +/* 96A754 80241594 0C046F97 */ jal set_background_color_blend +/* 96A758 80241598 0080302D */ daddu $a2, $a0, $zero +/* 96A75C 8024159C 8E220070 */ lw $v0, 0x70($s1) +/* 96A760 802415A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 96A764 802415A4 8FB40020 */ lw $s4, 0x20($sp) +/* 96A768 802415A8 8FB3001C */ lw $s3, 0x1c($sp) +/* 96A76C 802415AC 8FB20018 */ lw $s2, 0x18($sp) +/* 96A770 802415B0 8FB10014 */ lw $s1, 0x14($sp) +/* 96A774 802415B4 8FB00010 */ lw $s0, 0x10($sp) +/* 96A778 802415B8 384200FF */ xori $v0, $v0, 0xff +/* 96A77C 802415BC 2C420001 */ sltiu $v0, $v0, 1 +/* 96A780 802415C0 00021040 */ sll $v0, $v0, 1 +/* 96A784 802415C4 03E00008 */ jr $ra +/* 96A788 802415C8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802415CC.s b/asm/nonmatchings/world/area_dro/dro_02/func_802415CC.s new file mode 100644 index 0000000000..142de62c37 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802415CC.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415CC +/* 96A78C 802415CC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 96A790 802415D0 AFB00010 */ sw $s0, 0x10($sp) +/* 96A794 802415D4 0080802D */ daddu $s0, $a0, $zero +/* 96A798 802415D8 AFBF0020 */ sw $ra, 0x20($sp) +/* 96A79C 802415DC AFB3001C */ sw $s3, 0x1c($sp) +/* 96A7A0 802415E0 AFB20018 */ sw $s2, 0x18($sp) +/* 96A7A4 802415E4 10A00009 */ beqz $a1, .L8024160C +/* 96A7A8 802415E8 AFB10014 */ sw $s1, 0x14($sp) +/* 96A7AC 802415EC 0000202D */ daddu $a0, $zero, $zero +/* 96A7B0 802415F0 0080282D */ daddu $a1, $a0, $zero +/* 96A7B4 802415F4 0080302D */ daddu $a2, $a0, $zero +/* 96A7B8 802415F8 0C046F97 */ jal set_background_color_blend +/* 96A7BC 802415FC 240700FF */ addiu $a3, $zero, 0xff +/* 96A7C0 80241600 240200FF */ addiu $v0, $zero, 0xff +/* 96A7C4 80241604 AE020070 */ sw $v0, 0x70($s0) +/* 96A7C8 80241608 AE000074 */ sw $zero, 0x74($s0) +.L8024160C: +/* 96A7CC 8024160C 8E020070 */ lw $v0, 0x70($s0) +/* 96A7D0 80241610 2442FFF8 */ addiu $v0, $v0, -8 +/* 96A7D4 80241614 04410002 */ bgez $v0, .L80241620 +/* 96A7D8 80241618 AE020070 */ sw $v0, 0x70($s0) +/* 96A7DC 8024161C AE000070 */ sw $zero, 0x70($s0) +.L80241620: +/* 96A7E0 80241620 0000202D */ daddu $a0, $zero, $zero +/* 96A7E4 80241624 0080282D */ daddu $a1, $a0, $zero +/* 96A7E8 80241628 92070073 */ lbu $a3, 0x73($s0) +/* 96A7EC 8024162C 0C046F97 */ jal set_background_color_blend +/* 96A7F0 80241630 0080302D */ daddu $a2, $a0, $zero +/* 96A7F4 80241634 8E020070 */ lw $v0, 0x70($s0) +/* 96A7F8 80241638 14400006 */ bnez $v0, .L80241654 +/* 96A7FC 8024163C 00000000 */ nop +/* 96A800 80241640 8E020074 */ lw $v0, 0x74($s0) +/* 96A804 80241644 14400003 */ bnez $v0, .L80241654 +/* 96A808 80241648 24020001 */ addiu $v0, $zero, 1 +/* 96A80C 8024164C 080905B7 */ j .L802416DC +/* 96A810 80241650 AE020074 */ sw $v0, 0x74($s0) +.L80241654: +/* 96A814 80241654 8E030074 */ lw $v1, 0x74($s0) +/* 96A818 80241658 24020001 */ addiu $v0, $zero, 1 +/* 96A81C 8024165C 14620020 */ bne $v1, $v0, .L802416E0 +/* 96A820 80241660 0000102D */ daddu $v0, $zero, $zero +/* 96A824 80241664 0C04760B */ jal func_8011D82C +/* 96A828 80241668 0000202D */ daddu $a0, $zero, $zero +/* 96A82C 8024166C 0000802D */ daddu $s0, $zero, $zero +/* 96A830 80241670 2413FFFC */ addiu $s3, $zero, -4 +/* 96A834 80241674 24120004 */ addiu $s2, $zero, 4 +/* 96A838 80241678 3C11FF7F */ lui $s1, 0xff7f +/* 96A83C 8024167C 3C028015 */ lui $v0, 0x8015 +/* 96A840 80241680 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 96A844 80241684 3631FFFF */ ori $s1, $s1, 0xffff +/* 96A848 80241688 A0400000 */ sb $zero, ($v0) +.L8024168C: +/* 96A84C 8024168C 0C00E2B7 */ jal get_npc_by_index +/* 96A850 80241690 0200202D */ daddu $a0, $s0, $zero +/* 96A854 80241694 0040202D */ daddu $a0, $v0, $zero +/* 96A858 80241698 5080000B */ beql $a0, $zero, .L802416C8 +/* 96A85C 8024169C 26100001 */ addiu $s0, $s0, 1 +/* 96A860 802416A0 8C820000 */ lw $v0, ($a0) +/* 96A864 802416A4 50400008 */ beql $v0, $zero, .L802416C8 +/* 96A868 802416A8 26100001 */ addiu $s0, $s0, 1 +/* 96A86C 802416AC 808300A4 */ lb $v1, 0xa4($a0) +/* 96A870 802416B0 10730005 */ beq $v1, $s3, .L802416C8 +/* 96A874 802416B4 26100001 */ addiu $s0, $s0, 1 +/* 96A878 802416B8 10720003 */ beq $v1, $s2, .L802416C8 +/* 96A87C 802416BC 00000000 */ nop +/* 96A880 802416C0 00511024 */ and $v0, $v0, $s1 +/* 96A884 802416C4 AC820000 */ sw $v0, ($a0) +.L802416C8: +/* 96A888 802416C8 2A020040 */ slti $v0, $s0, 0x40 +/* 96A88C 802416CC 1440FFEF */ bnez $v0, .L8024168C +/* 96A890 802416D0 24020002 */ addiu $v0, $zero, 2 +/* 96A894 802416D4 080905B8 */ j .L802416E0 +/* 96A898 802416D8 00000000 */ nop +.L802416DC: +/* 96A89C 802416DC 0000102D */ daddu $v0, $zero, $zero +.L802416E0: +/* 96A8A0 802416E0 8FBF0020 */ lw $ra, 0x20($sp) +/* 96A8A4 802416E4 8FB3001C */ lw $s3, 0x1c($sp) +/* 96A8A8 802416E8 8FB20018 */ lw $s2, 0x18($sp) +/* 96A8AC 802416EC 8FB10014 */ lw $s1, 0x14($sp) +/* 96A8B0 802416F0 8FB00010 */ lw $s0, 0x10($sp) +/* 96A8B4 802416F4 03E00008 */ jr $ra +/* 96A8B8 802416F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802416FC_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802416FC_9691C0.s new file mode 100644 index 0000000000..6c6011589f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802416FC_9691C0.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416FC_96A8BC +/* 96A8BC 802416FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 96A8C0 80241700 AFB20028 */ sw $s2, 0x28($sp) +/* 96A8C4 80241704 0080902D */ daddu $s2, $a0, $zero +/* 96A8C8 80241708 AFBF0030 */ sw $ra, 0x30($sp) +/* 96A8CC 8024170C AFB3002C */ sw $s3, 0x2c($sp) +/* 96A8D0 80241710 AFB10024 */ sw $s1, 0x24($sp) +/* 96A8D4 80241714 AFB00020 */ sw $s0, 0x20($sp) +/* 96A8D8 80241718 3C018025 */ lui $at, 0x8025 +/* 96A8DC 8024171C AC32EFCC */ sw $s2, -0x1034($at) +/* 96A8E0 80241720 0C04E9C1 */ jal func_8013A704 +/* 96A8E4 80241724 24040001 */ addiu $a0, $zero, 1 +/* 96A8E8 80241728 0040982D */ daddu $s3, $v0, $zero +/* 96A8EC 8024172C 0260202D */ daddu $a0, $s3, $zero +/* 96A8F0 80241730 24050005 */ addiu $a1, $zero, 5 +/* 96A8F4 80241734 2406000F */ addiu $a2, $zero, 0xf +/* 96A8F8 80241738 24070001 */ addiu $a3, $zero, 1 +/* 96A8FC 8024173C 00E0882D */ daddu $s1, $a3, $zero +/* 96A900 80241740 24100800 */ addiu $s0, $zero, 0x800 +/* 96A904 80241744 AFB10010 */ sw $s1, 0x10($sp) +/* 96A908 80241748 AFA00014 */ sw $zero, 0x14($sp) +/* 96A90C 8024174C 0C04EAA7 */ jal func_8013AA9C +/* 96A910 80241750 AFB00018 */ sw $s0, 0x18($sp) +/* 96A914 80241754 0240202D */ daddu $a0, $s2, $zero +/* 96A918 80241758 3C05F4AC */ lui $a1, 0xf4ac +/* 96A91C 8024175C 34A5D480 */ ori $a1, $a1, 0xd480 +/* 96A920 80241760 0C0B2026 */ jal set_variable +/* 96A924 80241764 0260302D */ daddu $a2, $s3, $zero +/* 96A928 80241768 0C04E9C1 */ jal func_8013A704 +/* 96A92C 8024176C 24040001 */ addiu $a0, $zero, 1 +/* 96A930 80241770 0040982D */ daddu $s3, $v0, $zero +/* 96A934 80241774 0260202D */ daddu $a0, $s3, $zero +/* 96A938 80241778 24050005 */ addiu $a1, $zero, 5 +/* 96A93C 8024177C 24060010 */ addiu $a2, $zero, 0x10 +/* 96A940 80241780 24070001 */ addiu $a3, $zero, 1 +/* 96A944 80241784 AFB10010 */ sw $s1, 0x10($sp) +/* 96A948 80241788 AFA00014 */ sw $zero, 0x14($sp) +/* 96A94C 8024178C 0C04EAA7 */ jal func_8013AA9C +/* 96A950 80241790 AFB00018 */ sw $s0, 0x18($sp) +/* 96A954 80241794 0240202D */ daddu $a0, $s2, $zero +/* 96A958 80241798 3C05F4AC */ lui $a1, 0xf4ac +/* 96A95C 8024179C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 96A960 802417A0 0C0B2026 */ jal set_variable +/* 96A964 802417A4 0260302D */ daddu $a2, $s3, $zero +/* 96A968 802417A8 0C04E9C1 */ jal func_8013A704 +/* 96A96C 802417AC 24040001 */ addiu $a0, $zero, 1 +/* 96A970 802417B0 0040982D */ daddu $s3, $v0, $zero +/* 96A974 802417B4 0260202D */ daddu $a0, $s3, $zero +/* 96A978 802417B8 24050005 */ addiu $a1, $zero, 5 +/* 96A97C 802417BC 24060011 */ addiu $a2, $zero, 0x11 +/* 96A980 802417C0 24070001 */ addiu $a3, $zero, 1 +/* 96A984 802417C4 AFB10010 */ sw $s1, 0x10($sp) +/* 96A988 802417C8 AFA00014 */ sw $zero, 0x14($sp) +/* 96A98C 802417CC 0C04EAA7 */ jal func_8013AA9C +/* 96A990 802417D0 AFB00018 */ sw $s0, 0x18($sp) +/* 96A994 802417D4 0240202D */ daddu $a0, $s2, $zero +/* 96A998 802417D8 3C05F4AC */ lui $a1, 0xf4ac +/* 96A99C 802417DC 34A5D482 */ ori $a1, $a1, 0xd482 +/* 96A9A0 802417E0 0C0B2026 */ jal set_variable +/* 96A9A4 802417E4 0260302D */ daddu $a2, $s3, $zero +/* 96A9A8 802417E8 0C04E9C1 */ jal func_8013A704 +/* 96A9AC 802417EC 24040001 */ addiu $a0, $zero, 1 +/* 96A9B0 802417F0 0040982D */ daddu $s3, $v0, $zero +/* 96A9B4 802417F4 0260202D */ daddu $a0, $s3, $zero +/* 96A9B8 802417F8 24050005 */ addiu $a1, $zero, 5 +/* 96A9BC 802417FC 24060012 */ addiu $a2, $zero, 0x12 +/* 96A9C0 80241800 24070001 */ addiu $a3, $zero, 1 +/* 96A9C4 80241804 AFB10010 */ sw $s1, 0x10($sp) +/* 96A9C8 80241808 AFA00014 */ sw $zero, 0x14($sp) +/* 96A9CC 8024180C 0C04EAA7 */ jal func_8013AA9C +/* 96A9D0 80241810 AFB00018 */ sw $s0, 0x18($sp) +/* 96A9D4 80241814 0240202D */ daddu $a0, $s2, $zero +/* 96A9D8 80241818 3C05F4AC */ lui $a1, 0xf4ac +/* 96A9DC 8024181C 34A5D483 */ ori $a1, $a1, 0xd483 +/* 96A9E0 80241820 0C0B2026 */ jal set_variable +/* 96A9E4 80241824 0260302D */ daddu $a2, $s3, $zero +/* 96A9E8 80241828 3C048024 */ lui $a0, 0x8024 +/* 96A9EC 8024182C 2484240C */ addiu $a0, $a0, 0x240c +/* 96A9F0 80241830 3C058024 */ lui $a1, 0x8024 +/* 96A9F4 80241834 24A52EAC */ addiu $a1, $a1, 0x2eac +/* 96A9F8 80241838 0C048C56 */ jal bind_dynamic_entity_3 +/* 96A9FC 8024183C 00000000 */ nop +/* 96AA00 80241840 0240202D */ daddu $a0, $s2, $zero +/* 96AA04 80241844 3C05F4AC */ lui $a1, 0xf4ac +/* 96AA08 80241848 34A5D487 */ ori $a1, $a1, 0xd487 +/* 96AA0C 8024184C 0C0B2026 */ jal set_variable +/* 96AA10 80241850 0040302D */ daddu $a2, $v0, $zero +/* 96AA14 80241854 8FBF0030 */ lw $ra, 0x30($sp) +/* 96AA18 80241858 8FB3002C */ lw $s3, 0x2c($sp) +/* 96AA1C 8024185C 8FB20028 */ lw $s2, 0x28($sp) +/* 96AA20 80241860 8FB10024 */ lw $s1, 0x24($sp) +/* 96AA24 80241864 8FB00020 */ lw $s0, 0x20($sp) +/* 96AA28 80241868 24020002 */ addiu $v0, $zero, 2 +/* 96AA2C 8024186C 03E00008 */ jr $ra +/* 96AA30 80241870 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80241874_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80241874_9691C0.s new file mode 100644 index 0000000000..1f785747d8 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80241874_9691C0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241874_96AA34 +/* 96AA34 80241874 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96AA38 80241878 AFB00010 */ sw $s0, 0x10($sp) +/* 96AA3C 8024187C 0080802D */ daddu $s0, $a0, $zero +/* 96AA40 80241880 3C05F4AC */ lui $a1, 0xf4ac +/* 96AA44 80241884 AFBF0014 */ sw $ra, 0x14($sp) +/* 96AA48 80241888 0C0B1EAF */ jal get_variable +/* 96AA4C 8024188C 34A5D480 */ ori $a1, $a1, 0xd480 +/* 96AA50 80241890 0C04EA15 */ jal func_8013A854 +/* 96AA54 80241894 0040202D */ daddu $a0, $v0, $zero +/* 96AA58 80241898 0200202D */ daddu $a0, $s0, $zero +/* 96AA5C 8024189C 3C05F4AC */ lui $a1, 0xf4ac +/* 96AA60 802418A0 0C0B1EAF */ jal get_variable +/* 96AA64 802418A4 34A5D481 */ ori $a1, $a1, 0xd481 +/* 96AA68 802418A8 0C04EA15 */ jal func_8013A854 +/* 96AA6C 802418AC 0040202D */ daddu $a0, $v0, $zero +/* 96AA70 802418B0 0200202D */ daddu $a0, $s0, $zero +/* 96AA74 802418B4 3C05F4AC */ lui $a1, 0xf4ac +/* 96AA78 802418B8 0C0B1EAF */ jal get_variable +/* 96AA7C 802418BC 34A5D482 */ ori $a1, $a1, 0xd482 +/* 96AA80 802418C0 0C04EA15 */ jal func_8013A854 +/* 96AA84 802418C4 0040202D */ daddu $a0, $v0, $zero +/* 96AA88 802418C8 0200202D */ daddu $a0, $s0, $zero +/* 96AA8C 802418CC 3C05F4AC */ lui $a1, 0xf4ac +/* 96AA90 802418D0 0C0B1EAF */ jal get_variable +/* 96AA94 802418D4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 96AA98 802418D8 0C04EA15 */ jal func_8013A854 +/* 96AA9C 802418DC 0040202D */ daddu $a0, $v0, $zero +/* 96AAA0 802418E0 0200202D */ daddu $a0, $s0, $zero +/* 96AAA4 802418E4 3C05F4AC */ lui $a1, 0xf4ac +/* 96AAA8 802418E8 0C0B1EAF */ jal get_variable +/* 96AAAC 802418EC 34A5D487 */ ori $a1, $a1, 0xd487 +/* 96AAB0 802418F0 0C048D70 */ jal func_801235C0 +/* 96AAB4 802418F4 0040202D */ daddu $a0, $v0, $zero +/* 96AAB8 802418F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 96AABC 802418FC 8FB00010 */ lw $s0, 0x10($sp) +/* 96AAC0 80241900 24020002 */ addiu $v0, $zero, 2 +/* 96AAC4 80241904 03E00008 */ jr $ra +/* 96AAC8 80241908 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024190C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024190C.s new file mode 100644 index 0000000000..c1072ffb37 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024190C.s @@ -0,0 +1,592 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024190C +/* 96AACC 8024190C 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 96AAD0 80241910 AFBF00EC */ sw $ra, 0xec($sp) +/* 96AAD4 80241914 AFBE00E8 */ sw $fp, 0xe8($sp) +/* 96AAD8 80241918 AFB700E4 */ sw $s7, 0xe4($sp) +/* 96AADC 8024191C AFB600E0 */ sw $s6, 0xe0($sp) +/* 96AAE0 80241920 AFB500DC */ sw $s5, 0xdc($sp) +/* 96AAE4 80241924 AFB400D8 */ sw $s4, 0xd8($sp) +/* 96AAE8 80241928 AFB300D4 */ sw $s3, 0xd4($sp) +/* 96AAEC 8024192C AFB200D0 */ sw $s2, 0xd0($sp) +/* 96AAF0 80241930 AFB100CC */ sw $s1, 0xcc($sp) +/* 96AAF4 80241934 AFB000C8 */ sw $s0, 0xc8($sp) +/* 96AAF8 80241938 F7B600F8 */ sdc1 $f22, 0xf8($sp) +/* 96AAFC 8024193C F7B400F0 */ sdc1 $f20, 0xf0($sp) +/* 96AB00 80241940 AFA40100 */ sw $a0, 0x100($sp) +/* 96AB04 80241944 AFA50104 */ sw $a1, 0x104($sp) +/* 96AB08 80241948 8C820000 */ lw $v0, ($a0) +/* 96AB0C 8024194C 10400184 */ beqz $v0, .L80241F60 +/* 96AB10 80241950 3C02DE00 */ lui $v0, 0xde00 +/* 96AB14 80241954 3C1E800A */ lui $fp, 0x800a +/* 96AB18 80241958 27DEA66C */ addiu $fp, $fp, -0x5994 +/* 96AB1C 8024195C 8FC80000 */ lw $t0, ($fp) +/* 96AB20 80241960 0100182D */ daddu $v1, $t0, $zero +/* 96AB24 80241964 25080008 */ addiu $t0, $t0, 8 +/* 96AB28 80241968 AFC80000 */ sw $t0, ($fp) +/* 96AB2C 8024196C AC620000 */ sw $v0, ($v1) +/* 96AB30 80241970 3C028024 */ lui $v0, 0x8024 +/* 96AB34 80241974 244278C8 */ addiu $v0, $v0, 0x78c8 +/* 96AB38 80241978 AC620004 */ sw $v0, 4($v1) +/* 96AB3C 8024197C 8FAD0100 */ lw $t5, 0x100($sp) +/* 96AB40 80241980 8DA30000 */ lw $v1, ($t5) +/* 96AB44 80241984 24020001 */ addiu $v0, $zero, 1 +/* 96AB48 80241988 10620006 */ beq $v1, $v0, .L802419A4 +/* 96AB4C 8024198C 24020004 */ addiu $v0, $zero, 4 +/* 96AB50 80241990 10620004 */ beq $v1, $v0, .L802419A4 +/* 96AB54 80241994 24020005 */ addiu $v0, $zero, 5 +/* 96AB58 80241998 14620126 */ bne $v1, $v0, .L80241E34 +/* 96AB5C 8024199C 24020002 */ addiu $v0, $zero, 2 +/* 96AB60 802419A0 8FAD0100 */ lw $t5, 0x100($sp) +.L802419A4: +/* 96AB64 802419A4 27B00058 */ addiu $s0, $sp, 0x58 +/* 96AB68 802419A8 8DA50004 */ lw $a1, 4($t5) +/* 96AB6C 802419AC 8DA60008 */ lw $a2, 8($t5) +/* 96AB70 802419B0 8DA7000C */ lw $a3, 0xc($t5) +/* 96AB74 802419B4 0C019E40 */ jal guTranslateF +/* 96AB78 802419B8 0200202D */ daddu $a0, $s0, $zero +/* 96AB7C 802419BC 0200202D */ daddu $a0, $s0, $zero +/* 96AB80 802419C0 8FA50104 */ lw $a1, 0x104($sp) +/* 96AB84 802419C4 4480A000 */ mtc1 $zero, $f20 +/* 96AB88 802419C8 0C019D80 */ jal guMtxCatF +/* 96AB8C 802419CC 27A60018 */ addiu $a2, $sp, 0x18 +/* 96AB90 802419D0 8FAD0100 */ lw $t5, 0x100($sp) +/* 96AB94 802419D4 3C013F80 */ lui $at, 0x3f80 +/* 96AB98 802419D8 4481B000 */ mtc1 $at, $f22 +/* 96AB9C 802419DC 4406A000 */ mfc1 $a2, $f20 +/* 96ABA0 802419E0 3C120001 */ lui $s2, 1 +/* 96ABA4 802419E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 96ABA8 802419E8 8DA50010 */ lw $a1, 0x10($t5) +/* 96ABAC 802419EC 4407B000 */ mfc1 $a3, $f22 +/* 96ABB0 802419F0 0C019EC8 */ jal guRotateF +/* 96ABB4 802419F4 0200202D */ daddu $a0, $s0, $zero +/* 96ABB8 802419F8 0200202D */ daddu $a0, $s0, $zero +/* 96ABBC 802419FC 27A50018 */ addiu $a1, $sp, 0x18 +/* 96ABC0 80241A00 0C019D80 */ jal guMtxCatF +/* 96ABC4 80241A04 00A0302D */ daddu $a2, $a1, $zero +/* 96ABC8 80241A08 8FAD0100 */ lw $t5, 0x100($sp) +/* 96ABCC 80241A0C 4406B000 */ mfc1 $a2, $f22 +/* 96ABD0 80241A10 4407A000 */ mfc1 $a3, $f20 +/* 96ABD4 80241A14 36521630 */ ori $s2, $s2, 0x1630 +/* 96ABD8 80241A18 E7B40010 */ swc1 $f20, 0x10($sp) +/* 96ABDC 80241A1C 8DA50014 */ lw $a1, 0x14($t5) +/* 96ABE0 80241A20 0C019EC8 */ jal guRotateF +/* 96ABE4 80241A24 0200202D */ daddu $a0, $s0, $zero +/* 96ABE8 80241A28 0200202D */ daddu $a0, $s0, $zero +/* 96ABEC 80241A2C 27A50018 */ addiu $a1, $sp, 0x18 +/* 96ABF0 80241A30 0C019D80 */ jal guMtxCatF +/* 96ABF4 80241A34 00A0302D */ daddu $a2, $a1, $zero +/* 96ABF8 80241A38 27A40018 */ addiu $a0, $sp, 0x18 +/* 96ABFC 80241A3C 3C108007 */ lui $s0, 0x8007 +/* 96AC00 80241A40 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 96AC04 80241A44 3C11800A */ lui $s1, 0x800a +/* 96AC08 80241A48 2631A674 */ addiu $s1, $s1, -0x598c +/* 96AC0C 80241A4C 96050000 */ lhu $a1, ($s0) +/* 96AC10 80241A50 8E220000 */ lw $v0, ($s1) +/* 96AC14 80241A54 00052980 */ sll $a1, $a1, 6 +/* 96AC18 80241A58 00B22821 */ addu $a1, $a1, $s2 +/* 96AC1C 80241A5C 0C019D40 */ jal guMtxF2L +/* 96AC20 80241A60 00452821 */ addu $a1, $v0, $a1 +/* 96AC24 80241A64 3C03DA38 */ lui $v1, 0xda38 +/* 96AC28 80241A68 3C06800A */ lui $a2, 0x800a +/* 96AC2C 80241A6C 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 96AC30 80241A70 34630002 */ ori $v1, $v1, 2 +/* 96AC34 80241A74 8CC50000 */ lw $a1, ($a2) +/* 96AC38 80241A78 96020000 */ lhu $v0, ($s0) +/* 96AC3C 80241A7C 00A0202D */ daddu $a0, $a1, $zero +/* 96AC40 80241A80 24A50008 */ addiu $a1, $a1, 8 +/* 96AC44 80241A84 ACC50000 */ sw $a1, ($a2) +/* 96AC48 80241A88 AC830000 */ sw $v1, ($a0) +/* 96AC4C 80241A8C 24430001 */ addiu $v1, $v0, 1 +/* 96AC50 80241A90 3042FFFF */ andi $v0, $v0, 0xffff +/* 96AC54 80241A94 00021180 */ sll $v0, $v0, 6 +/* 96AC58 80241A98 A6030000 */ sh $v1, ($s0) +/* 96AC5C 80241A9C 8E230000 */ lw $v1, ($s1) +/* 96AC60 80241AA0 00521021 */ addu $v0, $v0, $s2 +/* 96AC64 80241AA4 00621821 */ addu $v1, $v1, $v0 +/* 96AC68 80241AA8 3C028000 */ lui $v0, 0x8000 +/* 96AC6C 80241AAC 00621821 */ addu $v1, $v1, $v0 +/* 96AC70 80241AB0 AC830004 */ sw $v1, 4($a0) +/* 96AC74 80241AB4 8FAD0100 */ lw $t5, 0x100($sp) +/* 96AC78 80241AB8 8DA30000 */ lw $v1, ($t5) +/* 96AC7C 80241ABC 24020001 */ addiu $v0, $zero, 1 +/* 96AC80 80241AC0 10620003 */ beq $v1, $v0, .L80241AD0 +/* 96AC84 80241AC4 24020004 */ addiu $v0, $zero, 4 +/* 96AC88 80241AC8 1462000B */ bne $v1, $v0, .L80241AF8 +/* 96AC8C 80241ACC 24020001 */ addiu $v0, $zero, 1 +.L80241AD0: +/* 96AC90 80241AD0 24A20008 */ addiu $v0, $a1, 8 +/* 96AC94 80241AD4 ACC20000 */ sw $v0, ($a2) +/* 96AC98 80241AD8 3C02DE00 */ lui $v0, 0xde00 +/* 96AC9C 80241ADC ACA20000 */ sw $v0, ($a1) +/* 96ACA0 80241AE0 3C028024 */ lui $v0, 0x8024 +/* 96ACA4 80241AE4 244279B8 */ addiu $v0, $v0, 0x79b8 +/* 96ACA8 80241AE8 ACA20004 */ sw $v0, 4($a1) +/* 96ACAC 80241AEC 8FAD0100 */ lw $t5, 0x100($sp) +/* 96ACB0 80241AF0 8DA30000 */ lw $v1, ($t5) +/* 96ACB4 80241AF4 24020001 */ addiu $v0, $zero, 1 +.L80241AF8: +/* 96ACB8 80241AF8 10620003 */ beq $v1, $v0, .L80241B08 +/* 96ACBC 80241AFC 24020005 */ addiu $v0, $zero, 5 +/* 96ACC0 80241B00 146200C0 */ bne $v1, $v0, .L80241E04 +/* 96ACC4 80241B04 3C06D838 */ lui $a2, 0xd838 +.L80241B08: +/* 96ACC8 80241B08 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 96ACCC 80241B0C 8FAD0100 */ lw $t5, 0x100($sp) +/* 96ACD0 80241B10 3C130001 */ lui $s3, 1 +/* 96ACD4 80241B14 8DA50018 */ lw $a1, 0x18($t5) +/* 96ACD8 80241B18 8DA6001C */ lw $a2, 0x1c($t5) +/* 96ACDC 80241B1C 0C0B7811 */ jal func_802DE044 +/* 96ACE0 80241B20 36731630 */ ori $s3, $s3, 0x1630 +/* 96ACE4 80241B24 3C02E300 */ lui $v0, 0xe300 +/* 96ACE8 80241B28 34421001 */ ori $v0, $v0, 0x1001 +/* 96ACEC 80241B2C 3C08F500 */ lui $t0, 0xf500 +/* 96ACF0 80241B30 35080100 */ ori $t0, $t0, 0x100 +/* 96ACF4 80241B34 3C090703 */ lui $t1, 0x703 +/* 96ACF8 80241B38 3529C000 */ ori $t1, $t1, 0xc000 +/* 96ACFC 80241B3C 3C0B070A */ lui $t3, 0x70a +/* 96AD00 80241B40 356B0280 */ ori $t3, $t3, 0x280 +/* 96AD04 80241B44 3C0C000A */ lui $t4, 0xa +/* 96AD08 80241B48 358C0280 */ ori $t4, $t4, 0x280 +/* 96AD0C 80241B4C 27A40018 */ addiu $a0, $sp, 0x18 +/* 96AD10 80241B50 3C10800A */ lui $s0, 0x800a +/* 96AD14 80241B54 2610A66C */ addiu $s0, $s0, -0x5994 +/* 96AD18 80241B58 3C0A0700 */ lui $t2, 0x700 +/* 96AD1C 80241B5C 8E050000 */ lw $a1, ($s0) +/* 96AD20 80241B60 44800000 */ mtc1 $zero, $f0 +/* 96AD24 80241B64 00A0182D */ daddu $v1, $a1, $zero +/* 96AD28 80241B68 44060000 */ mfc1 $a2, $f0 +/* 96AD2C 80241B6C 24A50008 */ addiu $a1, $a1, 8 +/* 96AD30 80241B70 AE050000 */ sw $a1, ($s0) +/* 96AD34 80241B74 AC620000 */ sw $v0, ($v1) +/* 96AD38 80241B78 34028000 */ ori $v0, $zero, 0x8000 +/* 96AD3C 80241B7C AC620004 */ sw $v0, 4($v1) +/* 96AD40 80241B80 24A20008 */ addiu $v0, $a1, 8 +/* 96AD44 80241B84 AE020000 */ sw $v0, ($s0) +/* 96AD48 80241B88 3C02FD10 */ lui $v0, 0xfd10 +/* 96AD4C 80241B8C ACA20000 */ sw $v0, ($a1) +/* 96AD50 80241B90 24A20010 */ addiu $v0, $a1, 0x10 +/* 96AD54 80241B94 AE020000 */ sw $v0, ($s0) +/* 96AD58 80241B98 8FA300B4 */ lw $v1, 0xb4($sp) +/* 96AD5C 80241B9C 3C02E800 */ lui $v0, 0xe800 +/* 96AD60 80241BA0 ACA20008 */ sw $v0, 8($a1) +/* 96AD64 80241BA4 24A20018 */ addiu $v0, $a1, 0x18 +/* 96AD68 80241BA8 ACA0000C */ sw $zero, 0xc($a1) +/* 96AD6C 80241BAC AE020000 */ sw $v0, ($s0) +/* 96AD70 80241BB0 24A20020 */ addiu $v0, $a1, 0x20 +/* 96AD74 80241BB4 ACA80010 */ sw $t0, 0x10($a1) +/* 96AD78 80241BB8 3C08E600 */ lui $t0, 0xe600 +/* 96AD7C 80241BBC ACAA0014 */ sw $t2, 0x14($a1) +/* 96AD80 80241BC0 AE020000 */ sw $v0, ($s0) +/* 96AD84 80241BC4 24A20028 */ addiu $v0, $a1, 0x28 +/* 96AD88 80241BC8 ACA80018 */ sw $t0, 0x18($a1) +/* 96AD8C 80241BCC ACA0001C */ sw $zero, 0x1c($a1) +/* 96AD90 80241BD0 AE020000 */ sw $v0, ($s0) +/* 96AD94 80241BD4 3C02F000 */ lui $v0, 0xf000 +/* 96AD98 80241BD8 ACA20020 */ sw $v0, 0x20($a1) +/* 96AD9C 80241BDC 24A20030 */ addiu $v0, $a1, 0x30 +/* 96ADA0 80241BE0 ACA90024 */ sw $t1, 0x24($a1) +/* 96ADA4 80241BE4 3C09E700 */ lui $t1, 0xe700 +/* 96ADA8 80241BE8 AE020000 */ sw $v0, ($s0) +/* 96ADAC 80241BEC ACA90028 */ sw $t1, 0x28($a1) +/* 96ADB0 80241BF0 ACA0002C */ sw $zero, 0x2c($a1) +/* 96ADB4 80241BF4 ACA30004 */ sw $v1, 4($a1) +/* 96ADB8 80241BF8 8FA200B8 */ lw $v0, 0xb8($sp) +/* 96ADBC 80241BFC 24A30038 */ addiu $v1, $a1, 0x38 +/* 96ADC0 80241C00 AE030000 */ sw $v1, ($s0) +/* 96ADC4 80241C04 3C03FD48 */ lui $v1, 0xfd48 +/* 96ADC8 80241C08 00021043 */ sra $v0, $v0, 1 +/* 96ADCC 80241C0C 2442FFFF */ addiu $v0, $v0, -1 +/* 96ADD0 80241C10 30420FFF */ andi $v0, $v0, 0xfff +/* 96ADD4 80241C14 00431025 */ or $v0, $v0, $v1 +/* 96ADD8 80241C18 ACA20030 */ sw $v0, 0x30($a1) +/* 96ADDC 80241C1C 8FA300B0 */ lw $v1, 0xb0($sp) +/* 96ADE0 80241C20 24A20040 */ addiu $v0, $a1, 0x40 +/* 96ADE4 80241C24 AE020000 */ sw $v0, ($s0) +/* 96ADE8 80241C28 ACA30034 */ sw $v1, 0x34($a1) +/* 96ADEC 80241C2C 8FA200B8 */ lw $v0, 0xb8($sp) +/* 96ADF0 80241C30 24A30048 */ addiu $v1, $a1, 0x48 +/* 96ADF4 80241C34 AE030000 */ sw $v1, ($s0) +/* 96ADF8 80241C38 3C03F548 */ lui $v1, 0xf548 +/* 96ADFC 80241C3C ACAB003C */ sw $t3, 0x3c($a1) +/* 96AE00 80241C40 00021043 */ sra $v0, $v0, 1 +/* 96AE04 80241C44 24420007 */ addiu $v0, $v0, 7 +/* 96AE08 80241C48 000210C3 */ sra $v0, $v0, 3 +/* 96AE0C 80241C4C 304201FF */ andi $v0, $v0, 0x1ff +/* 96AE10 80241C50 00021240 */ sll $v0, $v0, 9 +/* 96AE14 80241C54 00431025 */ or $v0, $v0, $v1 +/* 96AE18 80241C58 ACA20038 */ sw $v0, 0x38($a1) +/* 96AE1C 80241C5C 3C02F400 */ lui $v0, 0xf400 +/* 96AE20 80241C60 ACA80040 */ sw $t0, 0x40($a1) +/* 96AE24 80241C64 ACA00044 */ sw $zero, 0x44($a1) +/* 96AE28 80241C68 ACA20048 */ sw $v0, 0x48($a1) +/* 96AE2C 80241C6C 8FA200B8 */ lw $v0, 0xb8($sp) +/* 96AE30 80241C70 8FA300BC */ lw $v1, 0xbc($sp) +/* 96AE34 80241C74 24A80050 */ addiu $t0, $a1, 0x50 +/* 96AE38 80241C78 AE080000 */ sw $t0, ($s0) +/* 96AE3C 80241C7C ACA90050 */ sw $t1, 0x50($a1) +/* 96AE40 80241C80 ACA00054 */ sw $zero, 0x54($a1) +/* 96AE44 80241C84 2442FFFF */ addiu $v0, $v0, -1 +/* 96AE48 80241C88 00021040 */ sll $v0, $v0, 1 +/* 96AE4C 80241C8C 30420FFF */ andi $v0, $v0, 0xfff +/* 96AE50 80241C90 00021300 */ sll $v0, $v0, 0xc +/* 96AE54 80241C94 2463FFFF */ addiu $v1, $v1, -1 +/* 96AE58 80241C98 00031880 */ sll $v1, $v1, 2 +/* 96AE5C 80241C9C 30630FFF */ andi $v1, $v1, 0xfff +/* 96AE60 80241CA0 006A1825 */ or $v1, $v1, $t2 +/* 96AE64 80241CA4 00431025 */ or $v0, $v0, $v1 +/* 96AE68 80241CA8 ACA2004C */ sw $v0, 0x4c($a1) +/* 96AE6C 80241CAC 8FA200B8 */ lw $v0, 0xb8($sp) +/* 96AE70 80241CB0 24A30058 */ addiu $v1, $a1, 0x58 +/* 96AE74 80241CB4 AE030000 */ sw $v1, ($s0) +/* 96AE78 80241CB8 3C03F200 */ lui $v1, 0xf200 +/* 96AE7C 80241CBC ACA30060 */ sw $v1, 0x60($a1) +/* 96AE80 80241CC0 3C03F540 */ lui $v1, 0xf540 +/* 96AE84 80241CC4 ACAC005C */ sw $t4, 0x5c($a1) +/* 96AE88 80241CC8 00021043 */ sra $v0, $v0, 1 +/* 96AE8C 80241CCC 24420007 */ addiu $v0, $v0, 7 +/* 96AE90 80241CD0 000210C3 */ sra $v0, $v0, 3 +/* 96AE94 80241CD4 304201FF */ andi $v0, $v0, 0x1ff +/* 96AE98 80241CD8 00021240 */ sll $v0, $v0, 9 +/* 96AE9C 80241CDC 00431025 */ or $v0, $v0, $v1 +/* 96AEA0 80241CE0 ACA20058 */ sw $v0, 0x58($a1) +/* 96AEA4 80241CE4 8FA300B8 */ lw $v1, 0xb8($sp) +/* 96AEA8 80241CE8 24A20060 */ addiu $v0, $a1, 0x60 +/* 96AEAC 80241CEC AE020000 */ sw $v0, ($s0) +/* 96AEB0 80241CF0 8FA200BC */ lw $v0, 0xbc($sp) +/* 96AEB4 80241CF4 2463FFFF */ addiu $v1, $v1, -1 +/* 96AEB8 80241CF8 00031880 */ sll $v1, $v1, 2 +/* 96AEBC 80241CFC 30630FFF */ andi $v1, $v1, 0xfff +/* 96AEC0 80241D00 00031B00 */ sll $v1, $v1, 0xc +/* 96AEC4 80241D04 2442FFFF */ addiu $v0, $v0, -1 +/* 96AEC8 80241D08 00021080 */ sll $v0, $v0, 2 +/* 96AECC 80241D0C 30420FFF */ andi $v0, $v0, 0xfff +/* 96AED0 80241D10 00621825 */ or $v1, $v1, $v0 +/* 96AED4 80241D14 ACA30064 */ sw $v1, 0x64($a1) +/* 96AED8 80241D18 8FA200B8 */ lw $v0, 0xb8($sp) +/* 96AEDC 80241D1C 24A50068 */ addiu $a1, $a1, 0x68 +/* 96AEE0 80241D20 AE050000 */ sw $a1, ($s0) +/* 96AEE4 80241D24 8FAD0100 */ lw $t5, 0x100($sp) +/* 96AEE8 80241D28 00021FC2 */ srl $v1, $v0, 0x1f +/* 96AEEC 80241D2C 00431021 */ addu $v0, $v0, $v1 +/* 96AEF0 80241D30 00021043 */ sra $v0, $v0, 1 +/* 96AEF4 80241D34 8DA30020 */ lw $v1, 0x20($t5) +/* 96AEF8 80241D38 2442FFE2 */ addiu $v0, $v0, -0x1e +/* 96AEFC 80241D3C 00621823 */ subu $v1, $v1, $v0 +/* 96AF00 80241D40 44831000 */ mtc1 $v1, $f2 +/* 96AF04 80241D44 00000000 */ nop +/* 96AF08 80241D48 468010A0 */ cvt.s.w $f2, $f2 +/* 96AF0C 80241D4C 44051000 */ mfc1 $a1, $f2 +/* 96AF10 80241D50 0C019E40 */ jal guTranslateF +/* 96AF14 80241D54 00C0382D */ daddu $a3, $a2, $zero +/* 96AF18 80241D58 27A40018 */ addiu $a0, $sp, 0x18 +/* 96AF1C 80241D5C 3C118007 */ lui $s1, 0x8007 +/* 96AF20 80241D60 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 96AF24 80241D64 3C12800A */ lui $s2, 0x800a +/* 96AF28 80241D68 2652A674 */ addiu $s2, $s2, -0x598c +/* 96AF2C 80241D6C 96250000 */ lhu $a1, ($s1) +/* 96AF30 80241D70 8E420000 */ lw $v0, ($s2) +/* 96AF34 80241D74 00052980 */ sll $a1, $a1, 6 +/* 96AF38 80241D78 00B32821 */ addu $a1, $a1, $s3 +/* 96AF3C 80241D7C 0C019D40 */ jal guMtxF2L +/* 96AF40 80241D80 00452821 */ addu $a1, $v0, $a1 +/* 96AF44 80241D84 3C06D838 */ lui $a2, 0xd838 +/* 96AF48 80241D88 8E040000 */ lw $a0, ($s0) +/* 96AF4C 80241D8C 34C60002 */ ori $a2, $a2, 2 +/* 96AF50 80241D90 0080282D */ daddu $a1, $a0, $zero +/* 96AF54 80241D94 24840008 */ addiu $a0, $a0, 8 +/* 96AF58 80241D98 AE040000 */ sw $a0, ($s0) +/* 96AF5C 80241D9C 96220000 */ lhu $v0, ($s1) +/* 96AF60 80241DA0 3C03DA38 */ lui $v1, 0xda38 +/* 96AF64 80241DA4 ACA30000 */ sw $v1, ($a1) +/* 96AF68 80241DA8 24430001 */ addiu $v1, $v0, 1 +/* 96AF6C 80241DAC 3042FFFF */ andi $v0, $v0, 0xffff +/* 96AF70 80241DB0 00021180 */ sll $v0, $v0, 6 +/* 96AF74 80241DB4 A6230000 */ sh $v1, ($s1) +/* 96AF78 80241DB8 8E430000 */ lw $v1, ($s2) +/* 96AF7C 80241DBC 00531021 */ addu $v0, $v0, $s3 +/* 96AF80 80241DC0 00621821 */ addu $v1, $v1, $v0 +/* 96AF84 80241DC4 3C028000 */ lui $v0, 0x8000 +/* 96AF88 80241DC8 00621821 */ addu $v1, $v1, $v0 +/* 96AF8C 80241DCC 24820008 */ addiu $v0, $a0, 8 +/* 96AF90 80241DD0 ACA30004 */ sw $v1, 4($a1) +/* 96AF94 80241DD4 AE020000 */ sw $v0, ($s0) +/* 96AF98 80241DD8 3C02DE00 */ lui $v0, 0xde00 +/* 96AF9C 80241DDC AC820000 */ sw $v0, ($a0) +/* 96AFA0 80241DE0 3C028024 */ lui $v0, 0x8024 +/* 96AFA4 80241DE4 24427A38 */ addiu $v0, $v0, 0x7a38 +/* 96AFA8 80241DE8 AC820004 */ sw $v0, 4($a0) +/* 96AFAC 80241DEC 24820010 */ addiu $v0, $a0, 0x10 +/* 96AFB0 80241DF0 AE020000 */ sw $v0, ($s0) +/* 96AFB4 80241DF4 24020040 */ addiu $v0, $zero, 0x40 +/* 96AFB8 80241DF8 AC860008 */ sw $a2, 8($a0) +/* 96AFBC 80241DFC AC82000C */ sw $v0, 0xc($a0) +/* 96AFC0 80241E00 3C06D838 */ lui $a2, 0xd838 +.L80241E04: +/* 96AFC4 80241E04 34C60002 */ ori $a2, $a2, 2 +/* 96AFC8 80241E08 3C04800A */ lui $a0, 0x800a +/* 96AFCC 80241E0C 2484A66C */ addiu $a0, $a0, -0x5994 +/* 96AFD0 80241E10 8C830000 */ lw $v1, ($a0) +/* 96AFD4 80241E14 24020001 */ addiu $v0, $zero, 1 +/* 96AFD8 80241E18 0060282D */ daddu $a1, $v1, $zero +/* 96AFDC 80241E1C 24630008 */ addiu $v1, $v1, 8 +/* 96AFE0 80241E20 AC830000 */ sw $v1, ($a0) +/* 96AFE4 80241E24 24030040 */ addiu $v1, $zero, 0x40 +/* 96AFE8 80241E28 ACA60000 */ sw $a2, ($a1) +/* 96AFEC 80241E2C 08090877 */ j .L802421DC +/* 96AFF0 80241E30 ACA30004 */ sw $v1, 4($a1) +.L80241E34: +/* 96AFF4 80241E34 14620048 */ bne $v1, $v0, .L80241F58 +/* 96AFF8 80241E38 24020003 */ addiu $v0, $zero, 3 +/* 96AFFC 80241E3C 3C03F240 */ lui $v1, 0xf240 +/* 96B000 80241E40 34630400 */ ori $v1, $v1, 0x400 +/* 96B004 80241E44 3C020047 */ lui $v0, 0x47 +/* 96B008 80241E48 3442C47C */ ori $v0, $v0, 0xc47c +/* 96B00C 80241E4C 27B00058 */ addiu $s0, $sp, 0x58 +/* 96B010 80241E50 0200202D */ daddu $a0, $s0, $zero +/* 96B014 80241E54 3C120001 */ lui $s2, 1 +/* 96B018 80241E58 36521630 */ ori $s2, $s2, 0x1630 +/* 96B01C 80241E5C AD020004 */ sw $v0, 4($t0) +/* 96B020 80241E60 3C028025 */ lui $v0, 0x8025 +/* 96B024 80241E64 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B028 80241E68 AD030000 */ sw $v1, ($t0) +/* 96B02C 80241E6C 8C450004 */ lw $a1, 4($v0) +/* 96B030 80241E70 8C460008 */ lw $a2, 8($v0) +/* 96B034 80241E74 8C47000C */ lw $a3, 0xc($v0) +/* 96B038 80241E78 25020008 */ addiu $v0, $t0, 8 +/* 96B03C 80241E7C 0C019E40 */ jal guTranslateF +/* 96B040 80241E80 AFC20000 */ sw $v0, ($fp) +/* 96B044 80241E84 0200202D */ daddu $a0, $s0, $zero +/* 96B048 80241E88 8FA50104 */ lw $a1, 0x104($sp) +/* 96B04C 80241E8C 0C019D80 */ jal guMtxCatF +/* 96B050 80241E90 27A60018 */ addiu $a2, $sp, 0x18 +/* 96B054 80241E94 27A40018 */ addiu $a0, $sp, 0x18 +/* 96B058 80241E98 3C108007 */ lui $s0, 0x8007 +/* 96B05C 80241E9C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 96B060 80241EA0 3C11800A */ lui $s1, 0x800a +/* 96B064 80241EA4 2631A674 */ addiu $s1, $s1, -0x598c +/* 96B068 80241EA8 96050000 */ lhu $a1, ($s0) +/* 96B06C 80241EAC 8E220000 */ lw $v0, ($s1) +/* 96B070 80241EB0 00052980 */ sll $a1, $a1, 6 +/* 96B074 80241EB4 00B22821 */ addu $a1, $a1, $s2 +/* 96B078 80241EB8 0C019D40 */ jal guMtxF2L +/* 96B07C 80241EBC 00452821 */ addu $a1, $v0, $a1 +/* 96B080 80241EC0 3C07DA38 */ lui $a3, 0xda38 +/* 96B084 80241EC4 34E70002 */ ori $a3, $a3, 2 +/* 96B088 80241EC8 3C05F4AC */ lui $a1, 0xf4ac +/* 96B08C 80241ECC 34A5D480 */ ori $a1, $a1, 0xd480 +/* 96B090 80241ED0 8FC30000 */ lw $v1, ($fp) +/* 96B094 80241ED4 3C048025 */ lui $a0, 0x8025 +/* 96B098 80241ED8 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B09C 80241EDC 96020000 */ lhu $v0, ($s0) +/* 96B0A0 80241EE0 0060302D */ daddu $a2, $v1, $zero +/* 96B0A4 80241EE4 24630008 */ addiu $v1, $v1, 8 +/* 96B0A8 80241EE8 AFC30000 */ sw $v1, ($fp) +/* 96B0AC 80241EEC 24430001 */ addiu $v1, $v0, 1 +/* 96B0B0 80241EF0 3042FFFF */ andi $v0, $v0, 0xffff +/* 96B0B4 80241EF4 00021180 */ sll $v0, $v0, 6 +/* 96B0B8 80241EF8 ACC70000 */ sw $a3, ($a2) +/* 96B0BC 80241EFC A6030000 */ sh $v1, ($s0) +/* 96B0C0 80241F00 8E230000 */ lw $v1, ($s1) +/* 96B0C4 80241F04 00521021 */ addu $v0, $v0, $s2 +/* 96B0C8 80241F08 00621821 */ addu $v1, $v1, $v0 +/* 96B0CC 80241F0C 3C028000 */ lui $v0, 0x8000 +/* 96B0D0 80241F10 00621821 */ addu $v1, $v1, $v0 +/* 96B0D4 80241F14 0C0B1EAF */ jal get_variable +/* 96B0D8 80241F18 ACC30004 */ sw $v1, 4($a2) +/* 96B0DC 80241F1C 0040202D */ daddu $a0, $v0, $zero +/* 96B0E0 80241F20 27A50098 */ addiu $a1, $sp, 0x98 +/* 96B0E4 80241F24 24060030 */ addiu $a2, $zero, 0x30 +/* 96B0E8 80241F28 0C04EBDC */ jal func_8013AF70 +/* 96B0EC 80241F2C 27A70018 */ addiu $a3, $sp, 0x18 +/* 96B0F0 80241F30 3C05D838 */ lui $a1, 0xd838 +/* 96B0F4 80241F34 8FC30000 */ lw $v1, ($fp) +/* 96B0F8 80241F38 34A50002 */ ori $a1, $a1, 2 +/* 96B0FC 80241F3C 0060202D */ daddu $a0, $v1, $zero +/* 96B100 80241F40 24630008 */ addiu $v1, $v1, 8 +/* 96B104 80241F44 AFC30000 */ sw $v1, ($fp) +/* 96B108 80241F48 24030040 */ addiu $v1, $zero, 0x40 +/* 96B10C 80241F4C AC850000 */ sw $a1, ($a0) +/* 96B110 80241F50 08090877 */ j .L802421DC +/* 96B114 80241F54 AC830004 */ sw $v1, 4($a0) +.L80241F58: +/* 96B118 80241F58 10620003 */ beq $v1, $v0, .L80241F68 +/* 96B11C 80241F5C 3C03F240 */ lui $v1, 0xf240 +.L80241F60: +/* 96B120 80241F60 08090877 */ j .L802421DC +/* 96B124 80241F64 24020001 */ addiu $v0, $zero, 1 +.L80241F68: +/* 96B128 80241F68 34630400 */ ori $v1, $v1, 0x400 +/* 96B12C 80241F6C 3C020047 */ lui $v0, 0x47 +/* 96B130 80241F70 3442C47C */ ori $v0, $v0, 0xc47c +/* 96B134 80241F74 27B30058 */ addiu $s3, $sp, 0x58 +/* 96B138 80241F78 0260202D */ daddu $a0, $s3, $zero +/* 96B13C 80241F7C 3C140001 */ lui $s4, 1 +/* 96B140 80241F80 36941630 */ ori $s4, $s4, 0x1630 +/* 96B144 80241F84 3C17DA38 */ lui $s7, 0xda38 +/* 96B148 80241F88 36F70002 */ ori $s7, $s7, 2 +/* 96B14C 80241F8C 3C0DD838 */ lui $t5, 0xd838 +/* 96B150 80241F90 35AD0002 */ ori $t5, $t5, 2 +/* 96B154 80241F94 3C108025 */ lui $s0, 0x8025 +/* 96B158 80241F98 2610F010 */ addiu $s0, $s0, -0xff0 +/* 96B15C 80241F9C AFAD00C0 */ sw $t5, 0xc0($sp) +/* 96B160 80241FA0 AD030000 */ sw $v1, ($t0) +/* 96B164 80241FA4 AD020004 */ sw $v0, 4($t0) +/* 96B168 80241FA8 8E050004 */ lw $a1, 4($s0) +/* 96B16C 80241FAC 8E060008 */ lw $a2, 8($s0) +/* 96B170 80241FB0 8E07000C */ lw $a3, 0xc($s0) +/* 96B174 80241FB4 25020008 */ addiu $v0, $t0, 8 +/* 96B178 80241FB8 0C019E40 */ jal guTranslateF +/* 96B17C 80241FBC AFC20000 */ sw $v0, ($fp) +/* 96B180 80241FC0 0260202D */ daddu $a0, $s3, $zero +/* 96B184 80241FC4 8FA50104 */ lw $a1, 0x104($sp) +/* 96B188 80241FC8 0C019D80 */ jal guMtxCatF +/* 96B18C 80241FCC 27A60018 */ addiu $a2, $sp, 0x18 +/* 96B190 80241FD0 27A40018 */ addiu $a0, $sp, 0x18 +/* 96B194 80241FD4 3C118007 */ lui $s1, 0x8007 +/* 96B198 80241FD8 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 96B19C 80241FDC 3C12800A */ lui $s2, 0x800a +/* 96B1A0 80241FE0 2652A674 */ addiu $s2, $s2, -0x598c +/* 96B1A4 80241FE4 96250000 */ lhu $a1, ($s1) +/* 96B1A8 80241FE8 8E420000 */ lw $v0, ($s2) +/* 96B1AC 80241FEC 00052980 */ sll $a1, $a1, 6 +/* 96B1B0 80241FF0 00B42821 */ addu $a1, $a1, $s4 +/* 96B1B4 80241FF4 0C019D40 */ jal guMtxF2L +/* 96B1B8 80241FF8 00452821 */ addu $a1, $v0, $a1 +/* 96B1BC 80241FFC 3C05F4AC */ lui $a1, 0xf4ac +/* 96B1C0 80242000 34A5D481 */ ori $a1, $a1, 0xd481 +/* 96B1C4 80242004 3C158025 */ lui $s5, 0x8025 +/* 96B1C8 80242008 26B5EFCC */ addiu $s5, $s5, -0x1034 +/* 96B1CC 8024200C 3C0D8000 */ lui $t5, 0x8000 +/* 96B1D0 80242010 8FC30000 */ lw $v1, ($fp) +/* 96B1D4 80242014 8EA40000 */ lw $a0, ($s5) +/* 96B1D8 80242018 96220000 */ lhu $v0, ($s1) +/* 96B1DC 8024201C 0060302D */ daddu $a2, $v1, $zero +/* 96B1E0 80242020 24630008 */ addiu $v1, $v1, 8 +/* 96B1E4 80242024 AFC30000 */ sw $v1, ($fp) +/* 96B1E8 80242028 24430001 */ addiu $v1, $v0, 1 +/* 96B1EC 8024202C 3042FFFF */ andi $v0, $v0, 0xffff +/* 96B1F0 80242030 00021180 */ sll $v0, $v0, 6 +/* 96B1F4 80242034 ACD70000 */ sw $s7, ($a2) +/* 96B1F8 80242038 A6230000 */ sh $v1, ($s1) +/* 96B1FC 8024203C 8E430000 */ lw $v1, ($s2) +/* 96B200 80242040 00541021 */ addu $v0, $v0, $s4 +/* 96B204 80242044 00621821 */ addu $v1, $v1, $v0 +/* 96B208 80242048 006D1821 */ addu $v1, $v1, $t5 +/* 96B20C 8024204C 0C0B1EAF */ jal get_variable +/* 96B210 80242050 ACC30004 */ sw $v1, 4($a2) +/* 96B214 80242054 0040202D */ daddu $a0, $v0, $zero +/* 96B218 80242058 27B60098 */ addiu $s6, $sp, 0x98 +/* 96B21C 8024205C 02C0282D */ daddu $a1, $s6, $zero +/* 96B220 80242060 24060030 */ addiu $a2, $zero, 0x30 +/* 96B224 80242064 0C04EBDC */ jal func_8013AF70 +/* 96B228 80242068 27A70018 */ addiu $a3, $sp, 0x18 +/* 96B22C 8024206C 3C05F4AC */ lui $a1, 0xf4ac +/* 96B230 80242070 8EA40000 */ lw $a0, ($s5) +/* 96B234 80242074 0C0B1EAF */ jal get_variable +/* 96B238 80242078 34A5D482 */ ori $a1, $a1, 0xd482 +/* 96B23C 8024207C 0040202D */ daddu $a0, $v0, $zero +/* 96B240 80242080 02C0282D */ daddu $a1, $s6, $zero +/* 96B244 80242084 24060030 */ addiu $a2, $zero, 0x30 +/* 96B248 80242088 0C04EBDC */ jal func_8013AF70 +/* 96B24C 8024208C 27A70018 */ addiu $a3, $sp, 0x18 +/* 96B250 80242090 0260202D */ daddu $a0, $s3, $zero +/* 96B254 80242094 8FC20000 */ lw $v0, ($fp) +/* 96B258 80242098 8FAD00C0 */ lw $t5, 0xc0($sp) +/* 96B25C 8024209C 0040182D */ daddu $v1, $v0, $zero +/* 96B260 802420A0 AC6D0000 */ sw $t5, ($v1) +/* 96B264 802420A4 240D0040 */ addiu $t5, $zero, 0x40 +/* 96B268 802420A8 AC6D0004 */ sw $t5, 4($v1) +/* 96B26C 802420AC 8E050004 */ lw $a1, 4($s0) +/* 96B270 802420B0 8E060008 */ lw $a2, 8($s0) +/* 96B274 802420B4 8E07000C */ lw $a3, 0xc($s0) +/* 96B278 802420B8 24420008 */ addiu $v0, $v0, 8 +/* 96B27C 802420BC 0C019E40 */ jal guTranslateF +/* 96B280 802420C0 AFC20000 */ sw $v0, ($fp) +/* 96B284 802420C4 0260202D */ daddu $a0, $s3, $zero +/* 96B288 802420C8 8FA50104 */ lw $a1, 0x104($sp) +/* 96B28C 802420CC 0C019D80 */ jal guMtxCatF +/* 96B290 802420D0 27A60018 */ addiu $a2, $sp, 0x18 +/* 96B294 802420D4 27A40018 */ addiu $a0, $sp, 0x18 +/* 96B298 802420D8 96250000 */ lhu $a1, ($s1) +/* 96B29C 802420DC 8E420000 */ lw $v0, ($s2) +/* 96B2A0 802420E0 00052980 */ sll $a1, $a1, 6 +/* 96B2A4 802420E4 00B42821 */ addu $a1, $a1, $s4 +/* 96B2A8 802420E8 0C019D40 */ jal guMtxF2L +/* 96B2AC 802420EC 00452821 */ addu $a1, $v0, $a1 +/* 96B2B0 802420F0 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 96B2B4 802420F4 3C0D8000 */ lui $t5, 0x8000 +/* 96B2B8 802420F8 8FC70000 */ lw $a3, ($fp) +/* 96B2BC 802420FC 96280000 */ lhu $t0, ($s1) +/* 96B2C0 80242100 00E0282D */ daddu $a1, $a3, $zero +/* 96B2C4 80242104 3102FFFF */ andi $v0, $t0, 0xffff +/* 96B2C8 80242108 00021180 */ sll $v0, $v0, 6 +/* 96B2CC 8024210C ACB70000 */ sw $s7, ($a1) +/* 96B2D0 80242110 8E430000 */ lw $v1, ($s2) +/* 96B2D4 80242114 00541021 */ addu $v0, $v0, $s4 +/* 96B2D8 80242118 00621821 */ addu $v1, $v1, $v0 +/* 96B2DC 8024211C 006D1821 */ addu $v1, $v1, $t5 +/* 96B2E0 80242120 ACA30004 */ sw $v1, 4($a1) +/* 96B2E4 80242124 8FAD0100 */ lw $t5, 0x100($sp) +/* 96B2E8 80242128 24E70008 */ addiu $a3, $a3, 8 +/* 96B2EC 8024212C 8DA50018 */ lw $a1, 0x18($t5) +/* 96B2F0 80242130 8DA6001C */ lw $a2, 0x1c($t5) +/* 96B2F4 80242134 25080001 */ addiu $t0, $t0, 1 +/* 96B2F8 80242138 AFC70000 */ sw $a3, ($fp) +/* 96B2FC 8024213C 0C0B7811 */ jal func_802DE044 +/* 96B300 80242140 A6280000 */ sh $t0, ($s1) +/* 96B304 80242144 3C05F4AC */ lui $a1, 0xf4ac +/* 96B308 80242148 34A5D483 */ ori $a1, $a1, 0xd483 +/* 96B30C 8024214C 8EA40000 */ lw $a0, ($s5) +/* 96B310 80242150 8FA600B0 */ lw $a2, 0xb0($sp) +/* 96B314 80242154 8FA700B4 */ lw $a3, 0xb4($sp) +/* 96B318 80242158 97A800BA */ lhu $t0, 0xba($sp) +/* 96B31C 8024215C 97A900BE */ lhu $t1, 0xbe($sp) +/* 96B320 80242160 8FA300B8 */ lw $v1, 0xb8($sp) +/* 96B324 80242164 240200FF */ addiu $v0, $zero, 0xff +/* 96B328 80242168 A3A200A8 */ sb $v0, 0xa8($sp) +/* 96B32C 8024216C 000317C2 */ srl $v0, $v1, 0x1f +/* 96B330 80242170 00621821 */ addu $v1, $v1, $v0 +/* 96B334 80242174 00031843 */ sra $v1, $v1, 1 +/* 96B338 80242178 8FA200BC */ lw $v0, 0xbc($sp) +/* 96B33C 8024217C 00031823 */ negu $v1, $v1 +/* 96B340 80242180 AFA60098 */ sw $a2, 0x98($sp) +/* 96B344 80242184 AFA7009C */ sw $a3, 0x9c($sp) +/* 96B348 80242188 A7A800A0 */ sh $t0, 0xa0($sp) +/* 96B34C 8024218C A7A900A2 */ sh $t1, 0xa2($sp) +/* 96B350 80242190 A7A300A4 */ sh $v1, 0xa4($sp) +/* 96B354 80242194 00021FC2 */ srl $v1, $v0, 0x1f +/* 96B358 80242198 00431021 */ addu $v0, $v0, $v1 +/* 96B35C 8024219C 00021043 */ sra $v0, $v0, 1 +/* 96B360 802421A0 0C0B1EAF */ jal get_variable +/* 96B364 802421A4 A7A200A6 */ sh $v0, 0xa6($sp) +/* 96B368 802421A8 0040202D */ daddu $a0, $v0, $zero +/* 96B36C 802421AC 02C0282D */ daddu $a1, $s6, $zero +/* 96B370 802421B0 24060010 */ addiu $a2, $zero, 0x10 +/* 96B374 802421B4 0C04EBDC */ jal func_8013AF70 +/* 96B378 802421B8 27A70018 */ addiu $a3, $sp, 0x18 +/* 96B37C 802421BC 8FC30000 */ lw $v1, ($fp) +/* 96B380 802421C0 0060202D */ daddu $a0, $v1, $zero +/* 96B384 802421C4 24630008 */ addiu $v1, $v1, 8 +/* 96B388 802421C8 AFC30000 */ sw $v1, ($fp) +/* 96B38C 802421CC 8FAD00C0 */ lw $t5, 0xc0($sp) +/* 96B390 802421D0 AC8D0000 */ sw $t5, ($a0) +/* 96B394 802421D4 240D0040 */ addiu $t5, $zero, 0x40 +/* 96B398 802421D8 AC8D0004 */ sw $t5, 4($a0) +.L802421DC: +/* 96B39C 802421DC 8FBF00EC */ lw $ra, 0xec($sp) +/* 96B3A0 802421E0 8FBE00E8 */ lw $fp, 0xe8($sp) +/* 96B3A4 802421E4 8FB700E4 */ lw $s7, 0xe4($sp) +/* 96B3A8 802421E8 8FB600E0 */ lw $s6, 0xe0($sp) +/* 96B3AC 802421EC 8FB500DC */ lw $s5, 0xdc($sp) +/* 96B3B0 802421F0 8FB400D8 */ lw $s4, 0xd8($sp) +/* 96B3B4 802421F4 8FB300D4 */ lw $s3, 0xd4($sp) +/* 96B3B8 802421F8 8FB200D0 */ lw $s2, 0xd0($sp) +/* 96B3BC 802421FC 8FB100CC */ lw $s1, 0xcc($sp) +/* 96B3C0 80242200 8FB000C8 */ lw $s0, 0xc8($sp) +/* 96B3C4 80242204 D7B600F8 */ ldc1 $f22, 0xf8($sp) +/* 96B3C8 80242208 D7B400F0 */ ldc1 $f20, 0xf0($sp) +/* 96B3CC 8024220C 03E00008 */ jr $ra +/* 96B3D0 80242210 27BD0100 */ addiu $sp, $sp, 0x100 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80242214.s b/asm/nonmatchings/world/area_dro/dro_02/func_80242214.s new file mode 100644 index 0000000000..9995d0296d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80242214.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242214 +/* 96B3D4 80242214 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 96B3D8 80242218 AFB100E4 */ sw $s1, 0xe4($sp) +/* 96B3DC 8024221C 0080882D */ daddu $s1, $a0, $zero +/* 96B3E0 80242220 AFB300EC */ sw $s3, 0xec($sp) +/* 96B3E4 80242224 00A0982D */ daddu $s3, $a1, $zero +/* 96B3E8 80242228 AFB500F4 */ sw $s5, 0xf4($sp) +/* 96B3EC 8024222C 00C0A82D */ daddu $s5, $a2, $zero +/* 96B3F0 80242230 AFB600F8 */ sw $s6, 0xf8($sp) +/* 96B3F4 80242234 00E0B02D */ daddu $s6, $a3, $zero +/* 96B3F8 80242238 3C05F4AC */ lui $a1, 0xf4ac +/* 96B3FC 8024223C AFB000E0 */ sw $s0, 0xe0($sp) +/* 96B400 80242240 3C108025 */ lui $s0, 0x8025 +/* 96B404 80242244 2610EFCC */ addiu $s0, $s0, -0x1034 +/* 96B408 80242248 AFBF00FC */ sw $ra, 0xfc($sp) +/* 96B40C 8024224C AFB400F0 */ sw $s4, 0xf0($sp) +/* 96B410 80242250 AFB200E8 */ sw $s2, 0xe8($sp) +/* 96B414 80242254 F7B80110 */ sdc1 $f24, 0x110($sp) +/* 96B418 80242258 F7B60108 */ sdc1 $f22, 0x108($sp) +/* 96B41C 8024225C F7B40100 */ sdc1 $f20, 0x100($sp) +/* 96B420 80242260 8E040000 */ lw $a0, ($s0) +/* 96B424 80242264 8FB40128 */ lw $s4, 0x128($sp) +/* 96B428 80242268 0C0B1EAF */ jal get_variable +/* 96B42C 8024226C 34A5D484 */ ori $a1, $a1, 0xd484 +/* 96B430 80242270 3C05F4AC */ lui $a1, 0xf4ac +/* 96B434 80242274 8E040000 */ lw $a0, ($s0) +/* 96B438 80242278 4482C000 */ mtc1 $v0, $f24 +/* 96B43C 8024227C 00000000 */ nop +/* 96B440 80242280 4680C620 */ cvt.s.w $f24, $f24 +/* 96B444 80242284 0C0B1EAF */ jal get_variable +/* 96B448 80242288 34A5D485 */ ori $a1, $a1, 0xd485 +/* 96B44C 8024228C 3C05F4AC */ lui $a1, 0xf4ac +/* 96B450 80242290 4482A000 */ mtc1 $v0, $f20 +/* 96B454 80242294 00000000 */ nop +/* 96B458 80242298 4680A520 */ cvt.s.w $f20, $f20 +/* 96B45C 8024229C 8E040000 */ lw $a0, ($s0) +/* 96B460 802422A0 4480B000 */ mtc1 $zero, $f22 +/* 96B464 802422A4 0C0B1EAF */ jal get_variable +/* 96B468 802422A8 34A5D486 */ ori $a1, $a1, 0xd486 +/* 96B46C 802422AC 27B200A0 */ addiu $s2, $sp, 0xa0 +/* 96B470 802422B0 4405B000 */ mfc1 $a1, $f22 +/* 96B474 802422B4 4407B000 */ mfc1 $a3, $f22 +/* 96B478 802422B8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 96B47C 802422BC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 96B480 802422C0 3C013F36 */ lui $at, 0x3f36 +/* 96B484 802422C4 3421DB6E */ ori $at, $at, 0xdb6e +/* 96B488 802422C8 44810000 */ mtc1 $at, $f0 +/* 96B48C 802422CC 00041880 */ sll $v1, $a0, 2 +/* 96B490 802422D0 00641821 */ addu $v1, $v1, $a0 +/* 96B494 802422D4 00031880 */ sll $v1, $v1, 2 +/* 96B498 802422D8 00641823 */ subu $v1, $v1, $a0 +/* 96B49C 802422DC 000320C0 */ sll $a0, $v1, 3 +/* 96B4A0 802422E0 00641821 */ addu $v1, $v1, $a0 +/* 96B4A4 802422E4 000318C0 */ sll $v1, $v1, 3 +/* 96B4A8 802422E8 3C01800B */ lui $at, 0x800b +/* 96B4AC 802422EC 00230821 */ addu $at, $at, $v1 +/* 96B4B0 802422F0 C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 96B4B4 802422F4 0240202D */ daddu $a0, $s2, $zero +/* 96B4B8 802422F8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 96B4BC 802422FC 46001087 */ neg.s $f2, $f2 +/* 96B4C0 80242300 44061000 */ mfc1 $a2, $f2 +/* 96B4C4 80242304 44820000 */ mtc1 $v0, $f0 +/* 96B4C8 80242308 00000000 */ nop +/* 96B4CC 8024230C 46800020 */ cvt.s.w $f0, $f0 +/* 96B4D0 80242310 E7B80014 */ swc1 $f24, 0x14($sp) +/* 96B4D4 80242314 E7B40018 */ swc1 $f20, 0x18($sp) +/* 96B4D8 80242318 0C018FC4 */ jal guPositionF +/* 96B4DC 8024231C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 96B4E0 80242320 3C028025 */ lui $v0, 0x8025 +/* 96B4E4 80242324 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B4E8 80242328 001180C0 */ sll $s0, $s1, 3 +/* 96B4EC 8024232C 02118021 */ addu $s0, $s0, $s1 +/* 96B4F0 80242330 00108080 */ sll $s0, $s0, 2 +/* 96B4F4 80242334 02028021 */ addu $s0, $s0, $v0 +/* 96B4F8 80242338 27B10060 */ addiu $s1, $sp, 0x60 +/* 96B4FC 8024233C 8E050004 */ lw $a1, 4($s0) +/* 96B500 80242340 8E060008 */ lw $a2, 8($s0) +/* 96B504 80242344 8E07000C */ lw $a3, 0xc($s0) +/* 96B508 80242348 0C019E40 */ jal guTranslateF +/* 96B50C 8024234C 0220202D */ daddu $a0, $s1, $zero +/* 96B510 80242350 0220202D */ daddu $a0, $s1, $zero +/* 96B514 80242354 0240282D */ daddu $a1, $s2, $zero +/* 96B518 80242358 0C019D80 */ jal guMtxCatF +/* 96B51C 8024235C 27A60020 */ addiu $a2, $sp, 0x20 +/* 96B520 80242360 E7B60010 */ swc1 $f22, 0x10($sp) +/* 96B524 80242364 8E050010 */ lw $a1, 0x10($s0) +/* 96B528 80242368 3C013F80 */ lui $at, 0x3f80 +/* 96B52C 8024236C 4481A000 */ mtc1 $at, $f20 +/* 96B530 80242370 4406B000 */ mfc1 $a2, $f22 +/* 96B534 80242374 4407A000 */ mfc1 $a3, $f20 +/* 96B538 80242378 0C019EC8 */ jal guRotateF +/* 96B53C 8024237C 0220202D */ daddu $a0, $s1, $zero +/* 96B540 80242380 0220202D */ daddu $a0, $s1, $zero +/* 96B544 80242384 27A50020 */ addiu $a1, $sp, 0x20 +/* 96B548 80242388 0C019D80 */ jal guMtxCatF +/* 96B54C 8024238C 00A0302D */ daddu $a2, $a1, $zero +/* 96B550 80242390 0220202D */ daddu $a0, $s1, $zero +/* 96B554 80242394 4405B000 */ mfc1 $a1, $f22 +/* 96B558 80242398 4407A000 */ mfc1 $a3, $f20 +/* 96B55C 8024239C 0C019E40 */ jal guTranslateF +/* 96B560 802423A0 00A0302D */ daddu $a2, $a1, $zero +/* 96B564 802423A4 0220202D */ daddu $a0, $s1, $zero +/* 96B568 802423A8 27A50020 */ addiu $a1, $sp, 0x20 +/* 96B56C 802423AC 0C019D80 */ jal guMtxCatF +/* 96B570 802423B0 00A0302D */ daddu $a2, $a1, $zero +/* 96B574 802423B4 C7A00050 */ lwc1 $f0, 0x50($sp) +/* 96B578 802423B8 E6600000 */ swc1 $f0, ($s3) +/* 96B57C 802423BC C7A00054 */ lwc1 $f0, 0x54($sp) +/* 96B580 802423C0 E6A00000 */ swc1 $f0, ($s5) +/* 96B584 802423C4 C7A00058 */ lwc1 $f0, 0x58($sp) +/* 96B588 802423C8 E6C00000 */ swc1 $f0, ($s6) +/* 96B58C 802423CC 0C00A6C9 */ jal clamp_angle +/* 96B590 802423D0 C60C0010 */ lwc1 $f12, 0x10($s0) +/* 96B594 802423D4 E6800000 */ swc1 $f0, ($s4) +/* 96B598 802423D8 8FBF00FC */ lw $ra, 0xfc($sp) +/* 96B59C 802423DC 8FB600F8 */ lw $s6, 0xf8($sp) +/* 96B5A0 802423E0 8FB500F4 */ lw $s5, 0xf4($sp) +/* 96B5A4 802423E4 8FB400F0 */ lw $s4, 0xf0($sp) +/* 96B5A8 802423E8 8FB300EC */ lw $s3, 0xec($sp) +/* 96B5AC 802423EC 8FB200E8 */ lw $s2, 0xe8($sp) +/* 96B5B0 802423F0 8FB100E4 */ lw $s1, 0xe4($sp) +/* 96B5B4 802423F4 8FB000E0 */ lw $s0, 0xe0($sp) +/* 96B5B8 802423F8 D7B80110 */ ldc1 $f24, 0x110($sp) +/* 96B5BC 802423FC D7B60108 */ ldc1 $f22, 0x108($sp) +/* 96B5C0 80242400 D7B40100 */ ldc1 $f20, 0x100($sp) +/* 96B5C4 80242404 03E00008 */ jr $ra +/* 96B5C8 80242408 27BD0118 */ addiu $sp, $sp, 0x118 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024240C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024240C.s new file mode 100644 index 0000000000..490fd5a10f --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024240C.s @@ -0,0 +1,699 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024240C +/* 96B5CC 8024240C 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 96B5D0 80242410 3C05F4AC */ lui $a1, 0xf4ac +/* 96B5D4 80242414 3C048025 */ lui $a0, 0x8025 +/* 96B5D8 80242418 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B5DC 8024241C AFBF0080 */ sw $ra, 0x80($sp) +/* 96B5E0 80242420 AFB1007C */ sw $s1, 0x7c($sp) +/* 96B5E4 80242424 AFB00078 */ sw $s0, 0x78($sp) +/* 96B5E8 80242428 F7B40088 */ sdc1 $f20, 0x88($sp) +/* 96B5EC 8024242C 0C0B1EAF */ jal get_variable +/* 96B5F0 80242430 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B5F4 80242434 0040182D */ daddu $v1, $v0, $zero +/* 96B5F8 80242438 2C62000E */ sltiu $v0, $v1, 0xe +/* 96B5FC 8024243C 10400295 */ beqz $v0, .L80242E94 +/* 96B600 80242440 00031080 */ sll $v0, $v1, 2 +/* 96B604 80242444 3C018025 */ lui $at, 0x8025 +/* 96B608 80242448 00220821 */ addu $at, $at, $v0 +/* 96B60C 8024244C 8C22EF20 */ lw $v0, -0x10e0($at) +/* 96B610 80242450 00400008 */ jr $v0 +/* 96B614 80242454 00000000 */ nop +/* 96B618 80242458 3C05F4AC */ lui $a1, 0xf4ac +/* 96B61C 8024245C 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B620 80242460 3C048025 */ lui $a0, 0x8025 +/* 96B624 80242464 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B628 80242468 3C018025 */ lui $at, 0x8025 +/* 96B62C 8024246C AC20EF88 */ sw $zero, -0x1078($at) +/* 96B630 80242470 0C0B2026 */ jal set_variable +/* 96B634 80242474 24060001 */ addiu $a2, $zero, 1 +/* 96B638 80242478 3C028025 */ lui $v0, 0x8025 +/* 96B63C 8024247C 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B640 80242480 24040001 */ addiu $a0, $zero, 1 +/* 96B644 80242484 3C01C348 */ lui $at, 0xc348 +/* 96B648 80242488 44811000 */ mtc1 $at, $f2 +/* 96B64C 8024248C 3C014348 */ lui $at, 0x4348 +/* 96B650 80242490 44810000 */ mtc1 $at, $f0 +/* 96B654 80242494 3C013F80 */ lui $at, 0x3f80 +/* 96B658 80242498 44812000 */ mtc1 $at, $f4 +/* 96B65C 8024249C 3C014000 */ lui $at, 0x4000 +/* 96B660 802424A0 44813000 */ mtc1 $at, $f6 +/* 96B664 802424A4 2403000C */ addiu $v1, $zero, 0xc +/* 96B668 802424A8 AC43001C */ sw $v1, 0x1c($v0) +/* 96B66C 802424AC 24030002 */ addiu $v1, $zero, 2 +/* 96B670 802424B0 AC430020 */ sw $v1, 0x20($v0) +/* 96B674 802424B4 24030030 */ addiu $v1, $zero, 0x30 +/* 96B678 802424B8 AC430040 */ sw $v1, 0x40($v0) +/* 96B67C 802424BC 24030008 */ addiu $v1, $zero, 8 +/* 96B680 802424C0 AC430060 */ sw $v1, 0x60($v0) +/* 96B684 802424C4 24030005 */ addiu $v1, $zero, 5 +/* 96B688 802424C8 AC430064 */ sw $v1, 0x64($v0) +/* 96B68C 802424CC 24030004 */ addiu $v1, $zero, 4 +/* 96B690 802424D0 AC440000 */ sw $a0, ($v0) +/* 96B694 802424D4 AC400008 */ sw $zero, 8($v0) +/* 96B698 802424D8 AC40000C */ sw $zero, 0xc($v0) +/* 96B69C 802424DC AC400014 */ sw $zero, 0x14($v0) +/* 96B6A0 802424E0 AC400010 */ sw $zero, 0x10($v0) +/* 96B6A4 802424E4 AC440018 */ sw $a0, 0x18($v0) +/* 96B6A8 802424E8 AC440024 */ sw $a0, 0x24($v0) +/* 96B6AC 802424EC AC40002C */ sw $zero, 0x2c($v0) +/* 96B6B0 802424F0 AC400038 */ sw $zero, 0x38($v0) +/* 96B6B4 802424F4 AC400034 */ sw $zero, 0x34($v0) +/* 96B6B8 802424F8 AC44003C */ sw $a0, 0x3c($v0) +/* 96B6BC 802424FC AC400044 */ sw $zero, 0x44($v0) +/* 96B6C0 80242500 AC440048 */ sw $a0, 0x48($v0) +/* 96B6C4 80242504 AC40004C */ sw $zero, 0x4c($v0) +/* 96B6C8 80242508 AC40005C */ sw $zero, 0x5c($v0) +/* 96B6CC 8024250C AC400058 */ sw $zero, 0x58($v0) +/* 96B6D0 80242510 AC430068 */ sw $v1, 0x68($v0) +/* 96B6D4 80242514 E4420004 */ swc1 $f2, 4($v0) +/* 96B6D8 80242518 E4400028 */ swc1 $f0, 0x28($v0) +/* 96B6DC 8024251C E4440030 */ swc1 $f4, 0x30($v0) +/* 96B6E0 80242520 E4400050 */ swc1 $f0, 0x50($v0) +/* 96B6E4 80242524 08090BA5 */ j .L80242E94 +/* 96B6E8 80242528 E4460054 */ swc1 $f6, 0x54($v0) +/* 96B6EC 8024252C 3C028025 */ lui $v0, 0x8025 +/* 96B6F0 80242530 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B6F4 80242534 3C108025 */ lui $s0, 0x8025 +/* 96B6F8 80242538 2610EF88 */ addiu $s0, $s0, -0x1078 +/* 96B6FC 8024253C C4440004 */ lwc1 $f4, 4($v0) +/* 96B700 80242540 3C014120 */ lui $at, 0x4120 +/* 96B704 80242544 44810000 */ mtc1 $at, $f0 +/* 96B708 80242548 C4420028 */ lwc1 $f2, 0x28($v0) +/* 96B70C 8024254C 46002100 */ add.s $f4, $f4, $f0 +/* 96B710 80242550 3C01C120 */ lui $at, 0xc120 +/* 96B714 80242554 44813000 */ mtc1 $at, $f6 +/* 96B718 80242558 8E030000 */ lw $v1, ($s0) +/* 96B71C 8024255C 46061080 */ add.s $f2, $f2, $f6 +/* 96B720 80242560 C4400050 */ lwc1 $f0, 0x50($v0) +/* 96B724 80242564 24630001 */ addiu $v1, $v1, 1 +/* 96B728 80242568 AE030000 */ sw $v1, ($s0) +/* 96B72C 8024256C 46060000 */ add.s $f0, $f0, $f6 +/* 96B730 80242570 E4440004 */ swc1 $f4, 4($v0) +/* 96B734 80242574 E4420028 */ swc1 $f2, 0x28($v0) +/* 96B738 80242578 E4400050 */ swc1 $f0, 0x50($v0) +/* 96B73C 8024257C 24020012 */ addiu $v0, $zero, 0x12 +/* 96B740 80242580 14620006 */ bne $v1, $v0, .L8024259C +/* 96B744 80242584 00000000 */ nop +/* 96B748 80242588 3C01C47A */ lui $at, 0xc47a +/* 96B74C 8024258C 44810000 */ mtc1 $at, $f0 +/* 96B750 80242590 00000000 */ nop +/* 96B754 80242594 3C018011 */ lui $at, 0x8011 +/* 96B758 80242598 E420EFF4 */ swc1 $f0, -0x100c($at) +.L8024259C: +/* 96B75C 8024259C 8E030000 */ lw $v1, ($s0) +/* 96B760 802425A0 24020014 */ addiu $v0, $zero, 0x14 +/* 96B764 802425A4 1462023B */ bne $v1, $v0, .L80242E94 +/* 96B768 802425A8 00000000 */ nop +/* 96B76C 802425AC 3C05F4AC */ lui $a1, 0xf4ac +/* 96B770 802425B0 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B774 802425B4 3C048025 */ lui $a0, 0x8025 +/* 96B778 802425B8 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B77C 802425BC 0C0B2026 */ jal set_variable +/* 96B780 802425C0 24060002 */ addiu $a2, $zero, 2 +/* 96B784 802425C4 08090BA5 */ j .L80242E94 +/* 96B788 802425C8 AE000000 */ sw $zero, ($s0) +/* 96B78C 802425CC 3C028025 */ lui $v0, 0x8025 +/* 96B790 802425D0 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B794 802425D4 24030002 */ addiu $v1, $zero, 2 +/* 96B798 802425D8 AC430000 */ sw $v1, ($v0) +/* 96B79C 802425DC AC400024 */ sw $zero, 0x24($v0) +/* 96B7A0 802425E0 AC400048 */ sw $zero, 0x48($v0) +/* 96B7A4 802425E4 AC400004 */ sw $zero, 4($v0) +/* 96B7A8 802425E8 AC400008 */ sw $zero, 8($v0) +/* 96B7AC 802425EC 08090BA5 */ j .L80242E94 +/* 96B7B0 802425F0 AC40000C */ sw $zero, 0xc($v0) +/* 96B7B4 802425F4 3C038025 */ lui $v1, 0x8025 +/* 96B7B8 802425F8 2463F010 */ addiu $v1, $v1, -0xff0 +/* 96B7BC 802425FC 24020001 */ addiu $v0, $zero, 1 +/* 96B7C0 80242600 C4620004 */ lwc1 $f2, 4($v1) +/* 96B7C4 80242604 3C014120 */ lui $at, 0x4120 +/* 96B7C8 80242608 44812000 */ mtc1 $at, $f4 +/* 96B7CC 8024260C 3C078025 */ lui $a3, 0x8025 +/* 96B7D0 80242610 24E7EF88 */ addiu $a3, $a3, -0x1078 +/* 96B7D4 80242614 AC620000 */ sw $v0, ($v1) +/* 96B7D8 80242618 AC620024 */ sw $v0, 0x24($v1) +/* 96B7DC 8024261C AC620048 */ sw $v0, 0x48($v1) +/* 96B7E0 80242620 8CE40000 */ lw $a0, ($a3) +/* 96B7E4 80242624 C4600028 */ lwc1 $f0, 0x28($v1) +/* 96B7E8 80242628 46041081 */ sub.s $f2, $f2, $f4 +/* 96B7EC 8024262C 00822021 */ addu $a0, $a0, $v0 +/* 96B7F0 80242630 2402000A */ addiu $v0, $zero, 0xa +/* 96B7F4 80242634 46040000 */ add.s $f0, $f0, $f4 +/* 96B7F8 80242638 ACE40000 */ sw $a0, ($a3) +/* 96B7FC 8024263C E4620004 */ swc1 $f2, 4($v1) +/* 96B800 80242640 14820214 */ bne $a0, $v0, .L80242E94 +/* 96B804 80242644 E4600028 */ swc1 $f0, 0x28($v1) +/* 96B808 80242648 3C05F4AC */ lui $a1, 0xf4ac +/* 96B80C 8024264C 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B810 80242650 3C048025 */ lui $a0, 0x8025 +/* 96B814 80242654 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B818 80242658 08090A91 */ j .L80242A44 +/* 96B81C 8024265C 24060004 */ addiu $a2, $zero, 4 +/* 96B820 80242660 3C078025 */ lui $a3, 0x8025 +/* 96B824 80242664 24E7EF88 */ addiu $a3, $a3, -0x1078 +/* 96B828 80242668 3C01C2C8 */ lui $at, 0xc2c8 +/* 96B82C 8024266C 44810000 */ mtc1 $at, $f0 +/* 96B830 80242670 3C0142C8 */ lui $at, 0x42c8 +/* 96B834 80242674 44811000 */ mtc1 $at, $f2 +/* 96B838 80242678 3C013F80 */ lui $at, 0x3f80 +/* 96B83C 8024267C 44812000 */ mtc1 $at, $f4 +/* 96B840 80242680 3C014000 */ lui $at, 0x4000 +/* 96B844 80242684 44813000 */ mtc1 $at, $f6 +/* 96B848 80242688 8CE30000 */ lw $v1, ($a3) +/* 96B84C 8024268C 3C028025 */ lui $v0, 0x8025 +/* 96B850 80242690 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B854 80242694 AC400008 */ sw $zero, 8($v0) +/* 96B858 80242698 AC40000C */ sw $zero, 0xc($v0) +/* 96B85C 8024269C AC40002C */ sw $zero, 0x2c($v0) +/* 96B860 802426A0 AC40004C */ sw $zero, 0x4c($v0) +/* 96B864 802426A4 AC400050 */ sw $zero, 0x50($v0) +/* 96B868 802426A8 24630001 */ addiu $v1, $v1, 1 +/* 96B86C 802426AC E4400004 */ swc1 $f0, 4($v0) +/* 96B870 802426B0 E4420028 */ swc1 $f2, 0x28($v0) +/* 96B874 802426B4 E4440030 */ swc1 $f4, 0x30($v0) +/* 96B878 802426B8 E4460054 */ swc1 $f6, 0x54($v0) +/* 96B87C 802426BC 24020014 */ addiu $v0, $zero, 0x14 +/* 96B880 802426C0 146201F4 */ bne $v1, $v0, .L80242E94 +/* 96B884 802426C4 ACE30000 */ sw $v1, ($a3) +/* 96B888 802426C8 3C05F4AC */ lui $a1, 0xf4ac +/* 96B88C 802426CC 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B890 802426D0 3C048025 */ lui $a0, 0x8025 +/* 96B894 802426D4 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B898 802426D8 24060005 */ addiu $a2, $zero, 5 +/* 96B89C 802426DC 0C0B2026 */ jal set_variable +/* 96B8A0 802426E0 ACE00000 */ sw $zero, ($a3) +/* 96B8A4 802426E4 24040203 */ addiu $a0, $zero, 0x203 +/* 96B8A8 802426E8 0000282D */ daddu $a1, $zero, $zero +/* 96B8AC 802426EC 08090A26 */ j .L80242898 +/* 96B8B0 802426F0 24060018 */ addiu $a2, $zero, 0x18 +/* 96B8B4 802426F4 3C028025 */ lui $v0, 0x8025 +/* 96B8B8 802426F8 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B8BC 802426FC C4400010 */ lwc1 $f0, 0x10($v0) +/* 96B8C0 80242700 3C014190 */ lui $at, 0x4190 +/* 96B8C4 80242704 44811000 */ mtc1 $at, $f2 +/* 96B8C8 80242708 3C108025 */ lui $s0, 0x8025 +/* 96B8CC 8024270C 2610EF88 */ addiu $s0, $s0, -0x1078 +/* 96B8D0 80242710 AC400034 */ sw $zero, 0x34($v0) +/* 96B8D4 80242714 AC400058 */ sw $zero, 0x58($v0) +/* 96B8D8 80242718 8E030000 */ lw $v1, ($s0) +/* 96B8DC 8024271C 46020000 */ add.s $f0, $f0, $f2 +/* 96B8E0 80242720 24630001 */ addiu $v1, $v1, 1 +/* 96B8E4 80242724 AE030000 */ sw $v1, ($s0) +/* 96B8E8 80242728 E4400010 */ swc1 $f0, 0x10($v0) +/* 96B8EC 8024272C 24020008 */ addiu $v0, $zero, 8 +/* 96B8F0 80242730 14620016 */ bne $v1, $v0, .L8024278C +/* 96B8F4 80242734 0000202D */ daddu $a0, $zero, $zero +/* 96B8F8 80242738 27A50018 */ addiu $a1, $sp, 0x18 +/* 96B8FC 8024273C 27A6001C */ addiu $a2, $sp, 0x1c +/* 96B900 80242740 27A70020 */ addiu $a3, $sp, 0x20 +/* 96B904 80242744 27A20024 */ addiu $v0, $sp, 0x24 +/* 96B908 80242748 0C090885 */ jal func_80242214 +/* 96B90C 8024274C AFA20010 */ sw $v0, 0x10($sp) +/* 96B910 80242750 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 96B914 80242754 3C0141A0 */ lui $at, 0x41a0 +/* 96B918 80242758 44810000 */ mtc1 $at, $f0 +/* 96B91C 8024275C 00000000 */ nop +/* 96B920 80242760 46001080 */ add.s $f2, $f2, $f0 +/* 96B924 80242764 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 96B928 80242768 44050000 */ mfc1 $a1, $f0 +/* 96B92C 8024276C 44061000 */ mfc1 $a2, $f2 +/* 96B930 80242770 C7A20020 */ lwc1 $f2, 0x20($sp) +/* 96B934 80242774 3C0141F0 */ lui $at, 0x41f0 +/* 96B938 80242778 44810000 */ mtc1 $at, $f0 +/* 96B93C 8024277C 44071000 */ mfc1 $a3, $f2 +/* 96B940 80242780 0000202D */ daddu $a0, $zero, $zero +/* 96B944 80242784 0C01BFBC */ jal func_8006FEF0 +/* 96B948 80242788 E7A00010 */ swc1 $f0, 0x10($sp) +.L8024278C: +/* 96B94C 8024278C 8E030000 */ lw $v1, ($s0) +/* 96B950 80242790 2402000A */ addiu $v0, $zero, 0xa +/* 96B954 80242794 146201BF */ bne $v1, $v0, .L80242E94 +/* 96B958 80242798 24060006 */ addiu $a2, $zero, 6 +/* 96B95C 8024279C 3C05F4AC */ lui $a1, 0xf4ac +/* 96B960 802427A0 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96B964 802427A4 3C048025 */ lui $a0, 0x8025 +/* 96B968 802427A8 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96B96C 802427AC 0C0B2026 */ jal set_variable +/* 96B970 802427B0 AE000000 */ sw $zero, ($s0) +/* 96B974 802427B4 24040203 */ addiu $a0, $zero, 0x203 +/* 96B978 802427B8 0000282D */ daddu $a1, $zero, $zero +/* 96B97C 802427BC 08090A26 */ j .L80242898 +/* 96B980 802427C0 24060040 */ addiu $a2, $zero, 0x40 +/* 96B984 802427C4 3C028025 */ lui $v0, 0x8025 +/* 96B988 802427C8 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96B98C 802427CC C4420010 */ lwc1 $f2, 0x10($v0) +/* 96B990 802427D0 3C014190 */ lui $at, 0x4190 +/* 96B994 802427D4 44812000 */ mtc1 $at, $f4 +/* 96B998 802427D8 3C108025 */ lui $s0, 0x8025 +/* 96B99C 802427DC 2610EF88 */ addiu $s0, $s0, -0x1078 +/* 96B9A0 802427E0 AC400034 */ sw $zero, 0x34($v0) +/* 96B9A4 802427E4 8E030000 */ lw $v1, ($s0) +/* 96B9A8 802427E8 46041080 */ add.s $f2, $f2, $f4 +/* 96B9AC 802427EC C4400058 */ lwc1 $f0, 0x58($v0) +/* 96B9B0 802427F0 24630001 */ addiu $v1, $v1, 1 +/* 96B9B4 802427F4 46040000 */ add.s $f0, $f0, $f4 +/* 96B9B8 802427F8 AE030000 */ sw $v1, ($s0) +/* 96B9BC 802427FC E4420010 */ swc1 $f2, 0x10($v0) +/* 96B9C0 80242800 E4400058 */ swc1 $f0, 0x58($v0) +/* 96B9C4 80242804 24020008 */ addiu $v0, $zero, 8 +/* 96B9C8 80242808 14620016 */ bne $v1, $v0, .L80242864 +/* 96B9CC 8024280C 24040002 */ addiu $a0, $zero, 2 +/* 96B9D0 80242810 27A50028 */ addiu $a1, $sp, 0x28 +/* 96B9D4 80242814 27A6002C */ addiu $a2, $sp, 0x2c +/* 96B9D8 80242818 27A70030 */ addiu $a3, $sp, 0x30 +/* 96B9DC 8024281C 27A20034 */ addiu $v0, $sp, 0x34 +/* 96B9E0 80242820 0C090885 */ jal func_80242214 +/* 96B9E4 80242824 AFA20010 */ sw $v0, 0x10($sp) +/* 96B9E8 80242828 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 96B9EC 8024282C 3C0141A0 */ lui $at, 0x41a0 +/* 96B9F0 80242830 44810000 */ mtc1 $at, $f0 +/* 96B9F4 80242834 00000000 */ nop +/* 96B9F8 80242838 46001080 */ add.s $f2, $f2, $f0 +/* 96B9FC 8024283C C7A00028 */ lwc1 $f0, 0x28($sp) +/* 96BA00 80242840 44050000 */ mfc1 $a1, $f0 +/* 96BA04 80242844 44061000 */ mfc1 $a2, $f2 +/* 96BA08 80242848 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 96BA0C 8024284C 3C0141F0 */ lui $at, 0x41f0 +/* 96BA10 80242850 44810000 */ mtc1 $at, $f0 +/* 96BA14 80242854 44071000 */ mfc1 $a3, $f2 +/* 96BA18 80242858 0000202D */ daddu $a0, $zero, $zero +/* 96BA1C 8024285C 0C01BFBC */ jal func_8006FEF0 +/* 96BA20 80242860 E7A00010 */ swc1 $f0, 0x10($sp) +.L80242864: +/* 96BA24 80242864 8E030000 */ lw $v1, ($s0) +/* 96BA28 80242868 2402000A */ addiu $v0, $zero, 0xa +/* 96BA2C 8024286C 14620189 */ bne $v1, $v0, .L80242E94 +/* 96BA30 80242870 24060007 */ addiu $a2, $zero, 7 +/* 96BA34 80242874 3C05F4AC */ lui $a1, 0xf4ac +/* 96BA38 80242878 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BA3C 8024287C 3C048025 */ lui $a0, 0x8025 +/* 96BA40 80242880 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96BA44 80242884 0C0B2026 */ jal set_variable +/* 96BA48 80242888 AE000000 */ sw $zero, ($s0) +/* 96BA4C 8024288C 24040203 */ addiu $a0, $zero, 0x203 +/* 96BA50 80242890 0000282D */ daddu $a1, $zero, $zero +/* 96BA54 80242894 24060068 */ addiu $a2, $zero, 0x68 +.L80242898: +/* 96BA58 80242898 0C0526AE */ jal _play_sound +/* 96BA5C 8024289C 00A0382D */ daddu $a3, $a1, $zero +/* 96BA60 802428A0 08090BA5 */ j .L80242E94 +/* 96BA64 802428A4 00000000 */ nop +/* 96BA68 802428A8 3C028025 */ lui $v0, 0x8025 +/* 96BA6C 802428AC 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96BA70 802428B0 C4420034 */ lwc1 $f2, 0x34($v0) +/* 96BA74 802428B4 3C014190 */ lui $at, 0x4190 +/* 96BA78 802428B8 44812000 */ mtc1 $at, $f4 +/* 96BA7C 802428BC 3C108025 */ lui $s0, 0x8025 +/* 96BA80 802428C0 2610EF88 */ addiu $s0, $s0, -0x1078 +/* 96BA84 802428C4 AC400010 */ sw $zero, 0x10($v0) +/* 96BA88 802428C8 8E030000 */ lw $v1, ($s0) +/* 96BA8C 802428CC 46041080 */ add.s $f2, $f2, $f4 +/* 96BA90 802428D0 C4400058 */ lwc1 $f0, 0x58($v0) +/* 96BA94 802428D4 24630001 */ addiu $v1, $v1, 1 +/* 96BA98 802428D8 46040000 */ add.s $f0, $f0, $f4 +/* 96BA9C 802428DC AE030000 */ sw $v1, ($s0) +/* 96BAA0 802428E0 E4420034 */ swc1 $f2, 0x34($v0) +/* 96BAA4 802428E4 E4400058 */ swc1 $f0, 0x58($v0) +/* 96BAA8 802428E8 24020008 */ addiu $v0, $zero, 8 +/* 96BAAC 802428EC 14620016 */ bne $v1, $v0, .L80242948 +/* 96BAB0 802428F0 24040001 */ addiu $a0, $zero, 1 +/* 96BAB4 802428F4 27A50038 */ addiu $a1, $sp, 0x38 +/* 96BAB8 802428F8 27A6003C */ addiu $a2, $sp, 0x3c +/* 96BABC 802428FC 27A70040 */ addiu $a3, $sp, 0x40 +/* 96BAC0 80242900 27A20044 */ addiu $v0, $sp, 0x44 +/* 96BAC4 80242904 0C090885 */ jal func_80242214 +/* 96BAC8 80242908 AFA20010 */ sw $v0, 0x10($sp) +/* 96BACC 8024290C C7A2003C */ lwc1 $f2, 0x3c($sp) +/* 96BAD0 80242910 3C0141A0 */ lui $at, 0x41a0 +/* 96BAD4 80242914 44810000 */ mtc1 $at, $f0 +/* 96BAD8 80242918 00000000 */ nop +/* 96BADC 8024291C 46001080 */ add.s $f2, $f2, $f0 +/* 96BAE0 80242920 C7A00038 */ lwc1 $f0, 0x38($sp) +/* 96BAE4 80242924 44050000 */ mfc1 $a1, $f0 +/* 96BAE8 80242928 44061000 */ mfc1 $a2, $f2 +/* 96BAEC 8024292C C7A20040 */ lwc1 $f2, 0x40($sp) +/* 96BAF0 80242930 3C0141F0 */ lui $at, 0x41f0 +/* 96BAF4 80242934 44810000 */ mtc1 $at, $f0 +/* 96BAF8 80242938 44071000 */ mfc1 $a3, $f2 +/* 96BAFC 8024293C 0000202D */ daddu $a0, $zero, $zero +/* 96BB00 80242940 0C01BFBC */ jal func_8006FEF0 +/* 96BB04 80242944 E7A00010 */ swc1 $f0, 0x10($sp) +.L80242948: +/* 96BB08 80242948 8E030000 */ lw $v1, ($s0) +/* 96BB0C 8024294C 2402000A */ addiu $v0, $zero, 0xa +/* 96BB10 80242950 14620150 */ bne $v1, $v0, .L80242E94 +/* 96BB14 80242954 24060008 */ addiu $a2, $zero, 8 +/* 96BB18 80242958 3C05F4AC */ lui $a1, 0xf4ac +/* 96BB1C 8024295C 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BB20 80242960 3C048025 */ lui $a0, 0x8025 +/* 96BB24 80242964 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96BB28 80242968 0C0B2026 */ jal set_variable +/* 96BB2C 8024296C AE000000 */ sw $zero, ($s0) +/* 96BB30 80242970 08090BA5 */ j .L80242E94 +/* 96BB34 80242974 00000000 */ nop +/* 96BB38 80242978 3C028025 */ lui $v0, 0x8025 +/* 96BB3C 8024297C 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96BB40 80242980 C4400034 */ lwc1 $f0, 0x34($v0) +/* 96BB44 80242984 3C014190 */ lui $at, 0x4190 +/* 96BB48 80242988 44811000 */ mtc1 $at, $f2 +/* 96BB4C 8024298C 3C078025 */ lui $a3, 0x8025 +/* 96BB50 80242990 24E7EF88 */ addiu $a3, $a3, -0x1078 +/* 96BB54 80242994 AC400010 */ sw $zero, 0x10($v0) +/* 96BB58 80242998 AC400058 */ sw $zero, 0x58($v0) +/* 96BB5C 8024299C 8CE30000 */ lw $v1, ($a3) +/* 96BB60 802429A0 46020000 */ add.s $f0, $f0, $f2 +/* 96BB64 802429A4 24630001 */ addiu $v1, $v1, 1 +/* 96BB68 802429A8 ACE30000 */ sw $v1, ($a3) +/* 96BB6C 802429AC E4400034 */ swc1 $f0, 0x34($v0) +/* 96BB70 802429B0 2402000A */ addiu $v0, $zero, 0xa +/* 96BB74 802429B4 14620137 */ bne $v1, $v0, .L80242E94 +/* 96BB78 802429B8 24060009 */ addiu $a2, $zero, 9 +/* 96BB7C 802429BC 3C05F4AC */ lui $a1, 0xf4ac +/* 96BB80 802429C0 3C048025 */ lui $a0, 0x8025 +/* 96BB84 802429C4 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96BB88 802429C8 08090A91 */ j .L80242A44 +/* 96BB8C 802429CC 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BB90 802429D0 3C028025 */ lui $v0, 0x8025 +/* 96BB94 802429D4 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96BB98 802429D8 C4420004 */ lwc1 $f2, 4($v0) +/* 96BB9C 802429DC 3C014120 */ lui $at, 0x4120 +/* 96BBA0 802429E0 44812000 */ mtc1 $at, $f4 +/* 96BBA4 802429E4 3C078025 */ lui $a3, 0x8025 +/* 96BBA8 802429E8 24E7EF88 */ addiu $a3, $a3, -0x1078 +/* 96BBAC 802429EC AC400008 */ sw $zero, 8($v0) +/* 96BBB0 802429F0 AC400010 */ sw $zero, 0x10($v0) +/* 96BBB4 802429F4 AC40002C */ sw $zero, 0x2c($v0) +/* 96BBB8 802429F8 AC400034 */ sw $zero, 0x34($v0) +/* 96BBBC 802429FC AC40004C */ sw $zero, 0x4c($v0) +/* 96BBC0 80242A00 AC400050 */ sw $zero, 0x50($v0) +/* 96BBC4 80242A04 AC400058 */ sw $zero, 0x58($v0) +/* 96BBC8 80242A08 8CE30000 */ lw $v1, ($a3) +/* 96BBCC 80242A0C 46041080 */ add.s $f2, $f2, $f4 +/* 96BBD0 80242A10 C4400028 */ lwc1 $f0, 0x28($v0) +/* 96BBD4 80242A14 24630001 */ addiu $v1, $v1, 1 +/* 96BBD8 80242A18 46040001 */ sub.s $f0, $f0, $f4 +/* 96BBDC 80242A1C ACE30000 */ sw $v1, ($a3) +/* 96BBE0 80242A20 E4420004 */ swc1 $f2, 4($v0) +/* 96BBE4 80242A24 E4400028 */ swc1 $f0, 0x28($v0) +/* 96BBE8 80242A28 2402000A */ addiu $v0, $zero, 0xa +/* 96BBEC 80242A2C 14620119 */ bne $v1, $v0, .L80242E94 +/* 96BBF0 80242A30 0040302D */ daddu $a2, $v0, $zero +/* 96BBF4 80242A34 3C05F4AC */ lui $a1, 0xf4ac +/* 96BBF8 80242A38 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BBFC 80242A3C 3C048025 */ lui $a0, 0x8025 +/* 96BC00 80242A40 8C84EFCC */ lw $a0, -0x1034($a0) +.L80242A44: +/* 96BC04 80242A44 0C0B2026 */ jal set_variable +/* 96BC08 80242A48 ACE00000 */ sw $zero, ($a3) +/* 96BC0C 80242A4C 08090BA5 */ j .L80242E94 +/* 96BC10 80242A50 00000000 */ nop +/* 96BC14 80242A54 3C038025 */ lui $v1, 0x8025 +/* 96BC18 80242A58 2463F010 */ addiu $v1, $v1, -0xff0 +/* 96BC1C 80242A5C 24020003 */ addiu $v0, $zero, 3 +/* 96BC20 80242A60 AC620000 */ sw $v0, ($v1) +/* 96BC24 80242A64 24020008 */ addiu $v0, $zero, 8 +/* 96BC28 80242A68 AC620018 */ sw $v0, 0x18($v1) +/* 96BC2C 80242A6C 24020011 */ addiu $v0, $zero, 0x11 +/* 96BC30 80242A70 AC600024 */ sw $zero, 0x24($v1) +/* 96BC34 80242A74 AC600048 */ sw $zero, 0x48($v1) +/* 96BC38 80242A78 08090BA5 */ j .L80242E94 +/* 96BC3C 80242A7C AC62001C */ sw $v0, 0x1c($v1) +/* 96BC40 80242A80 3C05F4AC */ lui $a1, 0xf4ac +/* 96BC44 80242A84 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BC48 80242A88 2406000C */ addiu $a2, $zero, 0xc +/* 96BC4C 80242A8C 3C118025 */ lui $s1, 0x8025 +/* 96BC50 80242A90 2631EF90 */ addiu $s1, $s1, -0x1070 +/* 96BC54 80242A94 0220802D */ daddu $s0, $s1, $zero +/* 96BC58 80242A98 3C028025 */ lui $v0, 0x8025 +/* 96BC5C 80242A9C 2442F010 */ addiu $v0, $v0, -0xff0 +/* 96BC60 80242AA0 3C048025 */ lui $a0, 0x8025 +/* 96BC64 80242AA4 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96BC68 80242AA8 3C018025 */ lui $at, 0x8025 +/* 96BC6C 80242AAC D434EF58 */ ldc1 $f20, -0x10a8($at) +/* 96BC70 80242AB0 3C014288 */ lui $at, 0x4288 +/* 96BC74 80242AB4 44810000 */ mtc1 $at, $f0 +/* 96BC78 80242AB8 3C014334 */ lui $at, 0x4334 +/* 96BC7C 80242ABC 44811000 */ mtc1 $at, $f2 +/* 96BC80 80242AC0 24030004 */ addiu $v1, $zero, 4 +/* 96BC84 80242AC4 AC430000 */ sw $v1, ($v0) +/* 96BC88 80242AC8 24030005 */ addiu $v1, $zero, 5 +/* 96BC8C 80242ACC AC430024 */ sw $v1, 0x24($v0) +/* 96BC90 80242AD0 24030008 */ addiu $v1, $zero, 8 +/* 96BC94 80242AD4 AC43003C */ sw $v1, 0x3c($v0) +/* 96BC98 80242AD8 2403000A */ addiu $v1, $zero, 0xa +/* 96BC9C 80242ADC AC400004 */ sw $zero, 4($v0) +/* 96BCA0 80242AE0 AC40000C */ sw $zero, 0xc($v0) +/* 96BCA4 80242AE4 AC400028 */ sw $zero, 0x28($v0) +/* 96BCA8 80242AE8 AC400030 */ sw $zero, 0x30($v0) +/* 96BCAC 80242AEC AC430040 */ sw $v1, 0x40($v0) +/* 96BCB0 80242AF0 AC400044 */ sw $zero, 0x44($v0) +/* 96BCB4 80242AF4 3C018025 */ lui $at, 0x8025 +/* 96BCB8 80242AF8 AC20EF88 */ sw $zero, -0x1078($at) +/* 96BCBC 80242AFC E4400008 */ swc1 $f0, 8($v0) +/* 96BCC0 80242B00 E4420010 */ swc1 $f2, 0x10($v0) +/* 96BCC4 80242B04 E440002C */ swc1 $f0, 0x2c($v0) +/* 96BCC8 80242B08 0C0B2026 */ jal set_variable +/* 96BCCC 80242B0C E4420034 */ swc1 $f2, 0x34($v0) +/* 96BCD0 80242B10 24040001 */ addiu $a0, $zero, 1 +/* 96BCD4 80242B14 27A50048 */ addiu $a1, $sp, 0x48 +/* 96BCD8 80242B18 27A6004C */ addiu $a2, $sp, 0x4c +/* 96BCDC 80242B1C 3C013F80 */ lui $at, 0x3f80 +/* 96BCE0 80242B20 44810000 */ mtc1 $at, $f0 +/* 96BCE4 80242B24 27A20054 */ addiu $v0, $sp, 0x54 +/* 96BCE8 80242B28 3C018025 */ lui $at, 0x8025 +/* 96BCEC 80242B2C AC20EF80 */ sw $zero, -0x1080($at) +/* 96BCF0 80242B30 AFA20010 */ sw $v0, 0x10($sp) +/* 96BCF4 80242B34 3C018025 */ lui $at, 0x8025 +/* 96BCF8 80242B38 E420EF84 */ swc1 $f0, -0x107c($at) +/* 96BCFC 80242B3C 0C090885 */ jal func_80242214 +/* 96BD00 80242B40 27A70050 */ addiu $a3, $sp, 0x50 +.L80242B44: +/* 96BD04 80242B44 C7A2004C */ lwc1 $f2, 0x4c($sp) +/* 96BD08 80242B48 3C0141A0 */ lui $at, 0x41a0 +/* 96BD0C 80242B4C 44810000 */ mtc1 $at, $f0 +/* 96BD10 80242B50 00000000 */ nop +/* 96BD14 80242B54 46001080 */ add.s $f2, $f2, $f0 +/* 96BD18 80242B58 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 96BD1C 80242B5C 24040002 */ addiu $a0, $zero, 2 +/* 96BD20 80242B60 44050000 */ mfc1 $a1, $f0 +/* 96BD24 80242B64 44061000 */ mfc1 $a2, $f2 +/* 96BD28 80242B68 C7A20050 */ lwc1 $f2, 0x50($sp) +/* 96BD2C 80242B6C 3C014100 */ lui $at, 0x4100 +/* 96BD30 80242B70 44810000 */ mtc1 $at, $f0 +/* 96BD34 80242B74 44071000 */ mfc1 $a3, $f2 +/* 96BD38 80242B78 2402FFFF */ addiu $v0, $zero, -1 +/* 96BD3C 80242B7C AFA20014 */ sw $v0, 0x14($sp) +/* 96BD40 80242B80 0C01C82C */ jal func_800720B0 +/* 96BD44 80242B84 E7A00010 */ swc1 $f0, 0x10($sp) +/* 96BD48 80242B88 AE020000 */ sw $v0, ($s0) +/* 96BD4C 80242B8C 8C43000C */ lw $v1, 0xc($v0) +/* 96BD50 80242B90 240200D7 */ addiu $v0, $zero, 0xd7 +/* 96BD54 80242B94 AC620028 */ sw $v0, 0x28($v1) +/* 96BD58 80242B98 8E020000 */ lw $v0, ($s0) +/* 96BD5C 80242B9C 8C43000C */ lw $v1, 0xc($v0) +/* 96BD60 80242BA0 24020037 */ addiu $v0, $zero, 0x37 +/* 96BD64 80242BA4 AC62002C */ sw $v0, 0x2c($v1) +/* 96BD68 80242BA8 8E020000 */ lw $v0, ($s0) +/* 96BD6C 80242BAC 8C43000C */ lw $v1, 0xc($v0) +/* 96BD70 80242BB0 240200FF */ addiu $v0, $zero, 0xff +/* 96BD74 80242BB4 AC620030 */ sw $v0, 0x30($v1) +/* 96BD78 80242BB8 8E020000 */ lw $v0, ($s0) +/* 96BD7C 80242BBC 8C420008 */ lw $v0, 8($v0) +/* 96BD80 80242BC0 24040001 */ addiu $a0, $zero, 1 +/* 96BD84 80242BC4 0082102A */ slt $v0, $a0, $v0 +/* 96BD88 80242BC8 50400012 */ beql $v0, $zero, .L80242C14 +/* 96BD8C 80242BCC 26100004 */ addiu $s0, $s0, 4 +/* 96BD90 80242BD0 24030048 */ addiu $v1, $zero, 0x48 +.L80242BD4: +/* 96BD94 80242BD4 8E020000 */ lw $v0, ($s0) +/* 96BD98 80242BD8 8C42000C */ lw $v0, 0xc($v0) +/* 96BD9C 80242BDC 00621021 */ addu $v0, $v1, $v0 +/* 96BDA0 80242BE0 C4400038 */ lwc1 $f0, 0x38($v0) +/* 96BDA4 80242BE4 46000021 */ cvt.d.s $f0, $f0 +/* 96BDA8 80242BE8 46340002 */ mul.d $f0, $f0, $f20 +/* 96BDAC 80242BEC 00000000 */ nop +/* 96BDB0 80242BF0 46200020 */ cvt.s.d $f0, $f0 +/* 96BDB4 80242BF4 E4400038 */ swc1 $f0, 0x38($v0) +/* 96BDB8 80242BF8 8E020000 */ lw $v0, ($s0) +/* 96BDBC 80242BFC 24840001 */ addiu $a0, $a0, 1 +/* 96BDC0 80242C00 8C420008 */ lw $v0, 8($v0) +/* 96BDC4 80242C04 0082102A */ slt $v0, $a0, $v0 +/* 96BDC8 80242C08 1440FFF2 */ bnez $v0, .L80242BD4 +/* 96BDCC 80242C0C 24630048 */ addiu $v1, $v1, 0x48 +/* 96BDD0 80242C10 26100004 */ addiu $s0, $s0, 4 +.L80242C14: +/* 96BDD4 80242C14 26220010 */ addiu $v0, $s1, 0x10 +/* 96BDD8 80242C18 0202102A */ slt $v0, $s0, $v0 +/* 96BDDC 80242C1C 1040009D */ beqz $v0, .L80242E94 +/* 96BDE0 80242C20 00000000 */ nop +/* 96BDE4 80242C24 08090AD1 */ j .L80242B44 +/* 96BDE8 80242C28 00000000 */ nop +/* 96BDEC 80242C2C 24040001 */ addiu $a0, $zero, 1 +/* 96BDF0 80242C30 27A50058 */ addiu $a1, $sp, 0x58 +/* 96BDF4 80242C34 27A6005C */ addiu $a2, $sp, 0x5c +/* 96BDF8 80242C38 27A70060 */ addiu $a3, $sp, 0x60 +/* 96BDFC 80242C3C 27A20064 */ addiu $v0, $sp, 0x64 +/* 96BE00 80242C40 0C090885 */ jal func_80242214 +/* 96BE04 80242C44 AFA20010 */ sw $v0, 0x10($sp) +/* 96BE08 80242C48 3C028025 */ lui $v0, 0x8025 +/* 96BE0C 80242C4C 2442EF90 */ addiu $v0, $v0, -0x1070 +/* 96BE10 80242C50 0040282D */ daddu $a1, $v0, $zero +/* 96BE14 80242C54 24A70010 */ addiu $a3, $a1, 0x10 +/* 96BE18 80242C58 C7AA0058 */ lwc1 $f10, 0x58($sp) +/* 96BE1C 80242C5C C7A80060 */ lwc1 $f8, 0x60($sp) +/* 96BE20 80242C60 3C018025 */ lui $at, 0x8025 +/* 96BE24 80242C64 D424EF60 */ ldc1 $f4, -0x10a0($at) +/* 96BE28 80242C68 3C013DCC */ lui $at, 0x3dcc +/* 96BE2C 80242C6C 3421CCCD */ ori $at, $at, 0xcccd +/* 96BE30 80242C70 44816000 */ mtc1 $at, $f12 +/* 96BE34 80242C74 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 96BE38 80242C78 3C0141A0 */ lui $at, 0x41a0 +/* 96BE3C 80242C7C 44810000 */ mtc1 $at, $f0 +/* 96BE40 80242C80 3C018025 */ lui $at, 0x8025 +/* 96BE44 80242C84 D426EF68 */ ldc1 $f6, -0x1098($at) +/* 96BE48 80242C88 46001080 */ add.s $f2, $f2, $f0 +.L80242C8C: +/* 96BE4C 80242C8C 8CA20000 */ lw $v0, ($a1) +/* 96BE50 80242C90 8C42000C */ lw $v0, 0xc($v0) +/* 96BE54 80242C94 E44A0004 */ swc1 $f10, 4($v0) +/* 96BE58 80242C98 8CA20000 */ lw $v0, ($a1) +/* 96BE5C 80242C9C 8C42000C */ lw $v0, 0xc($v0) +/* 96BE60 80242CA0 E4420008 */ swc1 $f2, 8($v0) +/* 96BE64 80242CA4 8CA20000 */ lw $v0, ($a1) +/* 96BE68 80242CA8 8C42000C */ lw $v0, 0xc($v0) +/* 96BE6C 80242CAC E448000C */ swc1 $f8, 0xc($v0) +/* 96BE70 80242CB0 8CA20000 */ lw $v0, ($a1) +/* 96BE74 80242CB4 8C42000C */ lw $v0, 0xc($v0) +/* 96BE78 80242CB8 C4400034 */ lwc1 $f0, 0x34($v0) +/* 96BE7C 80242CBC 46000021 */ cvt.d.s $f0, $f0 +/* 96BE80 80242CC0 46240001 */ sub.d $f0, $f0, $f4 +/* 96BE84 80242CC4 46200020 */ cvt.s.d $f0, $f0 +/* 96BE88 80242CC8 E4400034 */ swc1 $f0, 0x34($v0) +/* 96BE8C 80242CCC 8CA20000 */ lw $v0, ($a1) +/* 96BE90 80242CD0 8C42000C */ lw $v0, 0xc($v0) +/* 96BE94 80242CD4 C4400034 */ lwc1 $f0, 0x34($v0) +/* 96BE98 80242CD8 46000021 */ cvt.d.s $f0, $f0 +/* 96BE9C 80242CDC 4624003C */ c.lt.d $f0, $f4 +/* 96BEA0 80242CE0 00000000 */ nop +/* 96BEA4 80242CE4 45030001 */ bc1tl .L80242CEC +/* 96BEA8 80242CE8 E44C0034 */ swc1 $f12, 0x34($v0) +.L80242CEC: +/* 96BEAC 80242CEC 8CA20000 */ lw $v0, ($a1) +/* 96BEB0 80242CF0 8C420008 */ lw $v0, 8($v0) +/* 96BEB4 80242CF4 24040001 */ addiu $a0, $zero, 1 +/* 96BEB8 80242CF8 0082102A */ slt $v0, $a0, $v0 +/* 96BEBC 80242CFC 50400012 */ beql $v0, $zero, .L80242D48 +/* 96BEC0 80242D00 24A50004 */ addiu $a1, $a1, 4 +/* 96BEC4 80242D04 00A0302D */ daddu $a2, $a1, $zero +/* 96BEC8 80242D08 24030048 */ addiu $v1, $zero, 0x48 +.L80242D0C: +/* 96BECC 80242D0C 8CC20000 */ lw $v0, ($a2) +/* 96BED0 80242D10 8C42000C */ lw $v0, 0xc($v0) +/* 96BED4 80242D14 00621021 */ addu $v0, $v1, $v0 +/* 96BED8 80242D18 C4400038 */ lwc1 $f0, 0x38($v0) +/* 96BEDC 80242D1C 46000021 */ cvt.d.s $f0, $f0 +/* 96BEE0 80242D20 46260000 */ add.d $f0, $f0, $f6 +/* 96BEE4 80242D24 46200020 */ cvt.s.d $f0, $f0 +/* 96BEE8 80242D28 E4400038 */ swc1 $f0, 0x38($v0) +/* 96BEEC 80242D2C 8CC20000 */ lw $v0, ($a2) +/* 96BEF0 80242D30 24840001 */ addiu $a0, $a0, 1 +/* 96BEF4 80242D34 8C420008 */ lw $v0, 8($v0) +/* 96BEF8 80242D38 0082102A */ slt $v0, $a0, $v0 +/* 96BEFC 80242D3C 1440FFF3 */ bnez $v0, .L80242D0C +/* 96BF00 80242D40 24630048 */ addiu $v1, $v1, 0x48 +/* 96BF04 80242D44 24A50004 */ addiu $a1, $a1, 4 +.L80242D48: +/* 96BF08 80242D48 00A7102A */ slt $v0, $a1, $a3 +/* 96BF0C 80242D4C 1440FFCF */ bnez $v0, .L80242C8C +/* 96BF10 80242D50 00000000 */ nop +/* 96BF14 80242D54 3C108025 */ lui $s0, 0x8025 +/* 96BF18 80242D58 2610F010 */ addiu $s0, $s0, -0xff0 +/* 96BF1C 80242D5C 3C048025 */ lui $a0, 0x8025 +/* 96BF20 80242D60 2484EF80 */ addiu $a0, $a0, -0x1080 +/* 96BF24 80242D64 3C038025 */ lui $v1, 0x8025 +/* 96BF28 80242D68 2463EF84 */ addiu $v1, $v1, -0x107c +/* 96BF2C 80242D6C 3C078025 */ lui $a3, 0x8025 +/* 96BF30 80242D70 24E7EF88 */ addiu $a3, $a3, -0x1078 +/* 96BF34 80242D74 C6060008 */ lwc1 $f6, 8($s0) +/* 96BF38 80242D78 C4820000 */ lwc1 $f2, ($a0) +/* 96BF3C 80242D7C C604002C */ lwc1 $f4, 0x2c($s0) +/* 96BF40 80242D80 C4600000 */ lwc1 $f0, ($v1) +/* 96BF44 80242D84 46023180 */ add.s $f6, $f6, $f2 +/* 96BF48 80242D88 8CE20000 */ lw $v0, ($a3) +/* 96BF4C 80242D8C 3C01C0A0 */ lui $at, 0xc0a0 +/* 96BF50 80242D90 44814000 */ mtc1 $at, $f8 +/* 96BF54 80242D94 46002100 */ add.s $f4, $f4, $f0 +/* 96BF58 80242D98 24420001 */ addiu $v0, $v0, 1 +/* 96BF5C 80242D9C ACE20000 */ sw $v0, ($a3) +/* 96BF60 80242DA0 4608203C */ c.lt.s $f4, $f8 +/* 96BF64 80242DA4 E604002C */ swc1 $f4, 0x2c($s0) +/* 96BF68 80242DA8 3C018025 */ lui $at, 0x8025 +/* 96BF6C 80242DAC D424EF70 */ ldc1 $f4, -0x1090($at) +/* 96BF70 80242DB0 460010A1 */ cvt.d.s $f2, $f2 +/* 96BF74 80242DB4 46241080 */ add.d $f2, $f2, $f4 +/* 96BF78 80242DB8 3C018025 */ lui $at, 0x8025 +/* 96BF7C 80242DBC D424EF78 */ ldc1 $f4, -0x1088($at) +/* 96BF80 80242DC0 46000021 */ cvt.d.s $f0, $f0 +/* 96BF84 80242DC4 E6060008 */ swc1 $f6, 8($s0) +/* 96BF88 80242DC8 46240001 */ sub.d $f0, $f0, $f4 +/* 96BF8C 80242DCC 462010A0 */ cvt.s.d $f2, $f2 +/* 96BF90 80242DD0 E4820000 */ swc1 $f2, ($a0) +/* 96BF94 80242DD4 46200020 */ cvt.s.d $f0, $f0 +/* 96BF98 80242DD8 4500002E */ bc1f .L80242E94 +/* 96BF9C 80242DDC E4600000 */ swc1 $f0, ($v1) +/* 96BFA0 80242DE0 3C05F4AC */ lui $a1, 0xf4ac +/* 96BFA4 80242DE4 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96BFA8 80242DE8 3C048025 */ lui $a0, 0x8025 +/* 96BFAC 80242DEC 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96BFB0 80242DF0 2406000D */ addiu $a2, $zero, 0xd +/* 96BFB4 80242DF4 E608002C */ swc1 $f8, 0x2c($s0) +/* 96BFB8 80242DF8 0C0B2026 */ jal set_variable +/* 96BFBC 80242DFC ACE00000 */ sw $zero, ($a3) +/* 96BFC0 80242E00 24040001 */ addiu $a0, $zero, 1 +/* 96BFC4 80242E04 27A50068 */ addiu $a1, $sp, 0x68 +/* 96BFC8 80242E08 27A6006C */ addiu $a2, $sp, 0x6c +/* 96BFCC 80242E0C 27A70070 */ addiu $a3, $sp, 0x70 +/* 96BFD0 80242E10 27A20074 */ addiu $v0, $sp, 0x74 +/* 96BFD4 80242E14 AE000000 */ sw $zero, ($s0) +/* 96BFD8 80242E18 AE000024 */ sw $zero, 0x24($s0) +/* 96BFDC 80242E1C 0C090885 */ jal func_80242214 +/* 96BFE0 80242E20 AFA20010 */ sw $v0, 0x10($sp) +/* 96BFE4 80242E24 C7A2006C */ lwc1 $f2, 0x6c($sp) +/* 96BFE8 80242E28 3C0141A0 */ lui $at, 0x41a0 +/* 96BFEC 80242E2C 44810000 */ mtc1 $at, $f0 +/* 96BFF0 80242E30 00000000 */ nop +/* 96BFF4 80242E34 46001080 */ add.s $f2, $f2, $f0 +/* 96BFF8 80242E38 C7A00068 */ lwc1 $f0, 0x68($sp) +/* 96BFFC 80242E3C 44050000 */ mfc1 $a1, $f0 +/* 96C000 80242E40 44061000 */ mfc1 $a2, $f2 +/* 96C004 80242E44 C7A20070 */ lwc1 $f2, 0x70($sp) +/* 96C008 80242E48 3C0141F0 */ lui $at, 0x41f0 +/* 96C00C 80242E4C 44810000 */ mtc1 $at, $f0 +/* 96C010 80242E50 44071000 */ mfc1 $a3, $f2 +/* 96C014 80242E54 0000202D */ daddu $a0, $zero, $zero +/* 96C018 80242E58 0C01BFBC */ jal func_8006FEF0 +/* 96C01C 80242E5C E7A00010 */ swc1 $f0, 0x10($sp) +/* 96C020 80242E60 0C05272D */ jal play_sound +/* 96C024 80242E64 24040206 */ addiu $a0, $zero, 0x206 +/* 96C028 80242E68 0000282D */ daddu $a1, $zero, $zero +/* 96C02C 80242E6C 3C048025 */ lui $a0, 0x8025 +/* 96C030 80242E70 2484EF90 */ addiu $a0, $a0, -0x1070 +.L80242E74: +/* 96C034 80242E74 8C820000 */ lw $v0, ($a0) +/* 96C038 80242E78 8C430000 */ lw $v1, ($v0) +/* 96C03C 80242E7C 24A50001 */ addiu $a1, $a1, 1 +/* 96C040 80242E80 34630010 */ ori $v1, $v1, 0x10 +/* 96C044 80242E84 AC430000 */ sw $v1, ($v0) +/* 96C048 80242E88 28A20004 */ slti $v0, $a1, 4 +/* 96C04C 80242E8C 1440FFF9 */ bnez $v0, .L80242E74 +/* 96C050 80242E90 24840004 */ addiu $a0, $a0, 4 +.L80242E94: +/* 96C054 80242E94 8FBF0080 */ lw $ra, 0x80($sp) +/* 96C058 80242E98 8FB1007C */ lw $s1, 0x7c($sp) +/* 96C05C 80242E9C 8FB00078 */ lw $s0, 0x78($sp) +/* 96C060 80242EA0 D7B40088 */ ldc1 $f20, 0x88($sp) +/* 96C064 80242EA4 03E00008 */ jr $ra +/* 96C068 80242EA8 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80242EAC.s b/asm/nonmatchings/world/area_dro/dro_02/func_80242EAC.s new file mode 100644 index 0000000000..a0e05df7b3 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80242EAC.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EAC +/* 96C06C 80242EAC 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 96C070 80242EB0 3C05F4AC */ lui $a1, 0xf4ac +/* 96C074 80242EB4 AFB20068 */ sw $s2, 0x68($sp) +/* 96C078 80242EB8 3C128025 */ lui $s2, 0x8025 +/* 96C07C 80242EBC 2652EFCC */ addiu $s2, $s2, -0x1034 +/* 96C080 80242EC0 AFBF006C */ sw $ra, 0x6c($sp) +/* 96C084 80242EC4 AFB10064 */ sw $s1, 0x64($sp) +/* 96C088 80242EC8 AFB00060 */ sw $s0, 0x60($sp) +/* 96C08C 80242ECC F7B60078 */ sdc1 $f22, 0x78($sp) +/* 96C090 80242ED0 F7B40070 */ sdc1 $f20, 0x70($sp) +/* 96C094 80242ED4 8E440000 */ lw $a0, ($s2) +/* 96C098 80242ED8 0C0B1EAF */ jal get_variable +/* 96C09C 80242EDC 34A5D484 */ ori $a1, $a1, 0xd484 +/* 96C0A0 80242EE0 3C05F4AC */ lui $a1, 0xf4ac +/* 96C0A4 80242EE4 8E440000 */ lw $a0, ($s2) +/* 96C0A8 80242EE8 4482B000 */ mtc1 $v0, $f22 +/* 96C0AC 80242EEC 00000000 */ nop +/* 96C0B0 80242EF0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 96C0B4 80242EF4 0C0B1EAF */ jal get_variable +/* 96C0B8 80242EF8 34A5D485 */ ori $a1, $a1, 0xd485 +/* 96C0BC 80242EFC 3C05F4AC */ lui $a1, 0xf4ac +/* 96C0C0 80242F00 8E440000 */ lw $a0, ($s2) +/* 96C0C4 80242F04 4482A000 */ mtc1 $v0, $f20 +/* 96C0C8 80242F08 00000000 */ nop +/* 96C0CC 80242F0C 4680A520 */ cvt.s.w $f20, $f20 +/* 96C0D0 80242F10 0C0B1EAF */ jal get_variable +/* 96C0D4 80242F14 34A5D486 */ ori $a1, $a1, 0xd486 +/* 96C0D8 80242F18 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 96C0DC 80242F1C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 96C0E0 80242F20 44800000 */ mtc1 $zero, $f0 +/* 96C0E4 80242F24 00041880 */ sll $v1, $a0, 2 +/* 96C0E8 80242F28 00641821 */ addu $v1, $v1, $a0 +/* 96C0EC 80242F2C 00031880 */ sll $v1, $v1, 2 +/* 96C0F0 80242F30 00641823 */ subu $v1, $v1, $a0 +/* 96C0F4 80242F34 000320C0 */ sll $a0, $v1, 3 +/* 96C0F8 80242F38 00641821 */ addu $v1, $v1, $a0 +/* 96C0FC 80242F3C 000318C0 */ sll $v1, $v1, 3 +/* 96C100 80242F40 44050000 */ mfc1 $a1, $f0 +/* 96C104 80242F44 3C01800B */ lui $at, 0x800b +/* 96C108 80242F48 00230821 */ addu $at, $at, $v1 +/* 96C10C 80242F4C C4221DEC */ lwc1 $f2, 0x1dec($at) +/* 96C110 80242F50 3C013F36 */ lui $at, 0x3f36 +/* 96C114 80242F54 3421DB6E */ ori $at, $at, 0xdb6e +/* 96C118 80242F58 44810000 */ mtc1 $at, $f0 +/* 96C11C 80242F5C 27A40020 */ addiu $a0, $sp, 0x20 +/* 96C120 80242F60 E7B60014 */ swc1 $f22, 0x14($sp) +/* 96C124 80242F64 E7B40018 */ swc1 $f20, 0x18($sp) +/* 96C128 80242F68 E7A00010 */ swc1 $f0, 0x10($sp) +/* 96C12C 80242F6C 44820000 */ mtc1 $v0, $f0 +/* 96C130 80242F70 00000000 */ nop +/* 96C134 80242F74 46800020 */ cvt.s.w $f0, $f0 +/* 96C138 80242F78 46001087 */ neg.s $f2, $f2 +/* 96C13C 80242F7C 44061000 */ mfc1 $a2, $f2 +/* 96C140 80242F80 00A0382D */ daddu $a3, $a1, $zero +/* 96C144 80242F84 0C018FC4 */ jal guPositionF +/* 96C148 80242F88 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 96C14C 80242F8C 3C108025 */ lui $s0, 0x8025 +/* 96C150 80242F90 2610F010 */ addiu $s0, $s0, -0xff0 +/* 96C154 80242F94 0200202D */ daddu $a0, $s0, $zero +/* 96C158 80242F98 0C090643 */ jal func_8024190C +/* 96C15C 80242F9C 27A50020 */ addiu $a1, $sp, 0x20 +/* 96C160 80242FA0 26040024 */ addiu $a0, $s0, 0x24 +/* 96C164 80242FA4 27A50020 */ addiu $a1, $sp, 0x20 +/* 96C168 80242FA8 0C090643 */ jal func_8024190C +/* 96C16C 80242FAC 0040882D */ daddu $s1, $v0, $zero +/* 96C170 80242FB0 26040048 */ addiu $a0, $s0, 0x48 +/* 96C174 80242FB4 0C090643 */ jal func_8024190C +/* 96C178 80242FB8 27A50020 */ addiu $a1, $sp, 0x20 +/* 96C17C 80242FBC 8E030000 */ lw $v1, ($s0) +/* 96C180 80242FC0 24020002 */ addiu $v0, $zero, 2 +/* 96C184 80242FC4 14620008 */ bne $v1, $v0, .L80242FE8 +/* 96C188 80242FC8 2622FFFF */ addiu $v0, $s1, -1 +/* 96C18C 80242FCC 2C420002 */ sltiu $v0, $v0, 2 +/* 96C190 80242FD0 10400005 */ beqz $v0, .L80242FE8 +/* 96C194 80242FD4 3C05F4AC */ lui $a1, 0xf4ac +/* 96C198 80242FD8 8E440000 */ lw $a0, ($s2) +/* 96C19C 80242FDC 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96C1A0 80242FE0 0C0B2026 */ jal set_variable +/* 96C1A4 80242FE4 24060003 */ addiu $a2, $zero, 3 +.L80242FE8: +/* 96C1A8 80242FE8 3C038025 */ lui $v1, 0x8025 +/* 96C1AC 80242FEC 8C63F010 */ lw $v1, -0xff0($v1) +/* 96C1B0 80242FF0 24020003 */ addiu $v0, $zero, 3 +/* 96C1B4 80242FF4 14620009 */ bne $v1, $v0, .L8024301C +/* 96C1B8 80242FF8 2622FFFF */ addiu $v0, $s1, -1 +/* 96C1BC 80242FFC 2C420002 */ sltiu $v0, $v0, 2 +/* 96C1C0 80243000 10400006 */ beqz $v0, .L8024301C +/* 96C1C4 80243004 3C05F4AC */ lui $a1, 0xf4ac +/* 96C1C8 80243008 3C048025 */ lui $a0, 0x8025 +/* 96C1CC 8024300C 8C84EFCC */ lw $a0, -0x1034($a0) +/* 96C1D0 80243010 34A5D489 */ ori $a1, $a1, 0xd489 +/* 96C1D4 80243014 0C0B2026 */ jal set_variable +/* 96C1D8 80243018 2406000B */ addiu $a2, $zero, 0xb +.L8024301C: +/* 96C1DC 8024301C 8FBF006C */ lw $ra, 0x6c($sp) +/* 96C1E0 80243020 8FB20068 */ lw $s2, 0x68($sp) +/* 96C1E4 80243024 8FB10064 */ lw $s1, 0x64($sp) +/* 96C1E8 80243028 8FB00060 */ lw $s0, 0x60($sp) +/* 96C1EC 8024302C D7B60078 */ ldc1 $f22, 0x78($sp) +/* 96C1F0 80243030 D7B40070 */ ldc1 $f20, 0x70($sp) +/* 96C1F4 80243034 03E00008 */ jr $ra +/* 96C1F8 80243038 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024303C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024303C.s new file mode 100644 index 0000000000..3c1cc4fbe0 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024303C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024303C +/* 96C1FC 8024303C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C200 80243040 2404202A */ addiu $a0, $zero, 0x202a +/* 96C204 80243044 0000282D */ daddu $a1, $zero, $zero +/* 96C208 80243048 24060018 */ addiu $a2, $zero, 0x18 +/* 96C20C 8024304C AFBF0010 */ sw $ra, 0x10($sp) +/* 96C210 80243050 0C0526AE */ jal _play_sound +/* 96C214 80243054 00A0382D */ daddu $a3, $a1, $zero +/* 96C218 80243058 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C21C 8024305C 24020002 */ addiu $v0, $zero, 2 +/* 96C220 80243060 03E00008 */ jr $ra +/* 96C224 80243064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243068.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243068.s new file mode 100644 index 0000000000..d39b83f017 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243068.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243068 +/* 96C228 80243068 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C22C 8024306C 2404202B */ addiu $a0, $zero, 0x202b +/* 96C230 80243070 0000282D */ daddu $a1, $zero, $zero +/* 96C234 80243074 24060068 */ addiu $a2, $zero, 0x68 +/* 96C238 80243078 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C23C 8024307C 0C0526AE */ jal _play_sound +/* 96C240 80243080 00A0382D */ daddu $a3, $a1, $zero +/* 96C244 80243084 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C248 80243088 24020002 */ addiu $v0, $zero, 2 +/* 96C24C 8024308C 03E00008 */ jr $ra +/* 96C250 80243090 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243094.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243094.s new file mode 100644 index 0000000000..212760883d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243094.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243094 +/* 96C254 80243094 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96C258 80243098 AFB10014 */ sw $s1, 0x14($sp) +/* 96C25C 8024309C 0080882D */ daddu $s1, $a0, $zero +/* 96C260 802430A0 AFBF0018 */ sw $ra, 0x18($sp) +/* 96C264 802430A4 AFB00010 */ sw $s0, 0x10($sp) +/* 96C268 802430A8 8E30000C */ lw $s0, 0xc($s1) +/* 96C26C 802430AC 8E050000 */ lw $a1, ($s0) +/* 96C270 802430B0 0C0B1EAF */ jal get_variable +/* 96C274 802430B4 26100004 */ addiu $s0, $s0, 4 +/* 96C278 802430B8 0C00EAD2 */ jal get_npc_safe +/* 96C27C 802430BC 0040202D */ daddu $a0, $v0, $zero +/* 96C280 802430C0 10400005 */ beqz $v0, .L802430D8 +/* 96C284 802430C4 00000000 */ nop +/* 96C288 802430C8 8E050000 */ lw $a1, ($s0) +/* 96C28C 802430CC 844600A8 */ lh $a2, 0xa8($v0) +/* 96C290 802430D0 0C0B2026 */ jal set_variable +/* 96C294 802430D4 0220202D */ daddu $a0, $s1, $zero +.L802430D8: +/* 96C298 802430D8 8FBF0018 */ lw $ra, 0x18($sp) +/* 96C29C 802430DC 8FB10014 */ lw $s1, 0x14($sp) +/* 96C2A0 802430E0 8FB00010 */ lw $s0, 0x10($sp) +/* 96C2A4 802430E4 24020002 */ addiu $v0, $zero, 2 +/* 96C2A8 802430E8 03E00008 */ jr $ra +/* 96C2AC 802430EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802430F0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802430F0.s new file mode 100644 index 0000000000..a4dcb7a566 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802430F0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430F0 +/* 96C2B0 802430F0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 96C2B4 802430F4 AFB10014 */ sw $s1, 0x14($sp) +/* 96C2B8 802430F8 0080882D */ daddu $s1, $a0, $zero +/* 96C2BC 802430FC AFBF0024 */ sw $ra, 0x24($sp) +/* 96C2C0 80243100 AFB40020 */ sw $s4, 0x20($sp) +/* 96C2C4 80243104 AFB3001C */ sw $s3, 0x1c($sp) +/* 96C2C8 80243108 AFB20018 */ sw $s2, 0x18($sp) +/* 96C2CC 8024310C AFB00010 */ sw $s0, 0x10($sp) +/* 96C2D0 80243110 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 96C2D4 80243114 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 96C2D8 80243118 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 96C2DC 8024311C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 96C2E0 80243120 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 96C2E4 80243124 8E30000C */ lw $s0, 0xc($s1) +/* 96C2E8 80243128 8E130000 */ lw $s3, ($s0) +/* 96C2EC 8024312C 26100004 */ addiu $s0, $s0, 4 +/* 96C2F0 80243130 0C0B1EAF */ jal get_variable +/* 96C2F4 80243134 0260282D */ daddu $a1, $s3, $zero +/* 96C2F8 80243138 4482E000 */ mtc1 $v0, $f28 +/* 96C2FC 8024313C 00000000 */ nop +/* 96C300 80243140 4680E720 */ cvt.s.w $f28, $f28 +/* 96C304 80243144 8E140000 */ lw $s4, ($s0) +/* 96C308 80243148 26100004 */ addiu $s0, $s0, 4 +/* 96C30C 8024314C 0220202D */ daddu $a0, $s1, $zero +/* 96C310 80243150 0C0B1EAF */ jal get_variable +/* 96C314 80243154 0280282D */ daddu $a1, $s4, $zero +/* 96C318 80243158 4482D000 */ mtc1 $v0, $f26 +/* 96C31C 8024315C 00000000 */ nop +/* 96C320 80243160 4680D6A0 */ cvt.s.w $f26, $f26 +/* 96C324 80243164 8E100000 */ lw $s0, ($s0) +/* 96C328 80243168 0220202D */ daddu $a0, $s1, $zero +/* 96C32C 8024316C 0C0B1EAF */ jal get_variable +/* 96C330 80243170 0200282D */ daddu $a1, $s0, $zero +/* 96C334 80243174 4482C000 */ mtc1 $v0, $f24 +/* 96C338 80243178 00000000 */ nop +/* 96C33C 8024317C 4680C620 */ cvt.s.w $f24, $f24 +/* 96C340 80243180 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 96C344 80243184 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 96C348 80243188 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 96C34C 8024318C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 96C350 80243190 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 96C354 80243194 44800000 */ mtc1 $zero, $f0 +/* 96C358 80243198 00031080 */ sll $v0, $v1, 2 +/* 96C35C 8024319C 00431021 */ addu $v0, $v0, $v1 +/* 96C360 802431A0 00021080 */ sll $v0, $v0, 2 +/* 96C364 802431A4 00431023 */ subu $v0, $v0, $v1 +/* 96C368 802431A8 000218C0 */ sll $v1, $v0, 3 +/* 96C36C 802431AC 00431021 */ addu $v0, $v0, $v1 +/* 96C370 802431B0 000210C0 */ sll $v0, $v0, 3 +/* 96C374 802431B4 46001032 */ c.eq.s $f2, $f0 +/* 96C378 802431B8 3C01800B */ lui $at, 0x800b +/* 96C37C 802431BC 00220821 */ addu $at, $at, $v0 +/* 96C380 802431C0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 96C384 802431C4 45000005 */ bc1f .L802431DC +/* 96C388 802431C8 00000000 */ nop +/* 96C38C 802431CC 3C0142C8 */ lui $at, 0x42c8 +/* 96C390 802431D0 44810000 */ mtc1 $at, $f0 +/* 96C394 802431D4 08090C7B */ j .L802431EC +/* 96C398 802431D8 4600B581 */ sub.s $f22, $f22, $f0 +.L802431DC: +/* 96C39C 802431DC 3C0142C8 */ lui $at, 0x42c8 +/* 96C3A0 802431E0 44810000 */ mtc1 $at, $f0 +/* 96C3A4 802431E4 00000000 */ nop +/* 96C3A8 802431E8 4600B580 */ add.s $f22, $f22, $f0 +.L802431EC: +/* 96C3AC 802431EC 0C00A6C9 */ jal clamp_angle +/* 96C3B0 802431F0 4600B306 */ mov.s $f12, $f22 +/* 96C3B4 802431F4 46000586 */ mov.s $f22, $f0 +/* 96C3B8 802431F8 3C014170 */ lui $at, 0x4170 +/* 96C3BC 802431FC 4481A000 */ mtc1 $at, $f20 +/* 96C3C0 80243200 0C00A8BB */ jal sin_deg +/* 96C3C4 80243204 4600B306 */ mov.s $f12, $f22 +/* 96C3C8 80243208 46140002 */ mul.s $f0, $f0, $f20 +/* 96C3CC 8024320C 00000000 */ nop +/* 96C3D0 80243210 864200B0 */ lh $v0, 0xb0($s2) +/* 96C3D4 80243214 3C013F00 */ lui $at, 0x3f00 +/* 96C3D8 80243218 44812000 */ mtc1 $at, $f4 +/* 96C3DC 8024321C 44821000 */ mtc1 $v0, $f2 +/* 96C3E0 80243220 00000000 */ nop +/* 96C3E4 80243224 468010A0 */ cvt.s.w $f2, $f2 +/* 96C3E8 80243228 46041082 */ mul.s $f2, $f2, $f4 +/* 96C3EC 8024322C 00000000 */ nop +/* 96C3F0 80243230 4600E700 */ add.s $f28, $f28, $f0 +/* 96C3F4 80243234 4602D680 */ add.s $f26, $f26, $f2 +/* 96C3F8 80243238 0C00A8D4 */ jal cos_deg +/* 96C3FC 8024323C 4600B306 */ mov.s $f12, $f22 +/* 96C400 80243240 46140002 */ mul.s $f0, $f0, $f20 +/* 96C404 80243244 00000000 */ nop +/* 96C408 80243248 0220202D */ daddu $a0, $s1, $zero +/* 96C40C 8024324C 0260282D */ daddu $a1, $s3, $zero +/* 96C410 80243250 4600E18D */ trunc.w.s $f6, $f28 +/* 96C414 80243254 44063000 */ mfc1 $a2, $f6 +/* 96C418 80243258 0C0B2026 */ jal set_variable +/* 96C41C 8024325C 4600C601 */ sub.s $f24, $f24, $f0 +/* 96C420 80243260 0220202D */ daddu $a0, $s1, $zero +/* 96C424 80243264 4600D18D */ trunc.w.s $f6, $f26 +/* 96C428 80243268 44063000 */ mfc1 $a2, $f6 +/* 96C42C 8024326C 0C0B2026 */ jal set_variable +/* 96C430 80243270 0280282D */ daddu $a1, $s4, $zero +/* 96C434 80243274 0220202D */ daddu $a0, $s1, $zero +/* 96C438 80243278 4600C18D */ trunc.w.s $f6, $f24 +/* 96C43C 8024327C 44063000 */ mfc1 $a2, $f6 +/* 96C440 80243280 0C0B2026 */ jal set_variable +/* 96C444 80243284 0200282D */ daddu $a1, $s0, $zero +/* 96C448 80243288 8FBF0024 */ lw $ra, 0x24($sp) +/* 96C44C 8024328C 8FB40020 */ lw $s4, 0x20($sp) +/* 96C450 80243290 8FB3001C */ lw $s3, 0x1c($sp) +/* 96C454 80243294 8FB20018 */ lw $s2, 0x18($sp) +/* 96C458 80243298 8FB10014 */ lw $s1, 0x14($sp) +/* 96C45C 8024329C 8FB00010 */ lw $s0, 0x10($sp) +/* 96C460 802432A0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 96C464 802432A4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 96C468 802432A8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 96C46C 802432AC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 96C470 802432B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 96C474 802432B4 24020002 */ addiu $v0, $zero, 2 +/* 96C478 802432B8 03E00008 */ jr $ra +/* 96C47C 802432BC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802432C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_802432C0.s new file mode 100644 index 0000000000..cfe82f412d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802432C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802432C0 +/* 96C480 802432C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C484 802432C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C488 802432C8 10A00003 */ beqz $a1, .L802432D8 +/* 96C48C 802432CC 8C86000C */ lw $a2, 0xc($a0) +/* 96C490 802432D0 3C018025 */ lui $at, 0x8025 +/* 96C494 802432D4 AC208780 */ sw $zero, -0x7880($at) +.L802432D8: +/* 96C498 802432D8 3C038025 */ lui $v1, 0x8025 +/* 96C49C 802432DC 24638780 */ addiu $v1, $v1, -0x7880 +/* 96C4A0 802432E0 8C620000 */ lw $v0, ($v1) +/* 96C4A4 802432E4 54400003 */ bnel $v0, $zero, .L802432F4 +/* 96C4A8 802432E8 AC600000 */ sw $zero, ($v1) +/* 96C4AC 802432EC 08090CC2 */ j .L80243308 +/* 96C4B0 802432F0 0000102D */ daddu $v0, $zero, $zero +.L802432F4: +/* 96C4B4 802432F4 8CC50000 */ lw $a1, ($a2) +/* 96C4B8 802432F8 3C068025 */ lui $a2, 0x8025 +/* 96C4BC 802432FC 0C0B2026 */ jal set_variable +/* 96C4C0 80243300 8CC68784 */ lw $a2, -0x787c($a2) +/* 96C4C4 80243304 24020002 */ addiu $v0, $zero, 2 +.L80243308: +/* 96C4C8 80243308 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C4CC 8024330C 03E00008 */ jr $ra +/* 96C4D0 80243310 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243314.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243314.s new file mode 100644 index 0000000000..2b691060dc --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243314.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243314 +/* 96C4D4 80243314 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C4D8 80243318 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C4DC 8024331C 8C82000C */ lw $v0, 0xc($a0) +/* 96C4E0 80243320 0C0B1EAF */ jal get_variable +/* 96C4E4 80243324 8C450000 */ lw $a1, ($v0) +/* 96C4E8 80243328 3C018025 */ lui $at, 0x8025 +/* 96C4EC 8024332C AC228784 */ sw $v0, -0x787c($at) +/* 96C4F0 80243330 24020002 */ addiu $v0, $zero, 2 +/* 96C4F4 80243334 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C4F8 80243338 24030001 */ addiu $v1, $zero, 1 +/* 96C4FC 8024333C 3C018025 */ lui $at, 0x8025 +/* 96C500 80243340 AC238780 */ sw $v1, -0x7880($at) +/* 96C504 80243344 03E00008 */ jr $ra +/* 96C508 80243348 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_8024334C.s b/asm/nonmatchings/world/area_dro/dro_02/func_8024334C.s new file mode 100644 index 0000000000..40d489dd06 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_8024334C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024334C +/* 96C50C 8024334C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C510 80243350 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C514 80243354 8C82000C */ lw $v0, 0xc($a0) +/* 96C518 80243358 0C0B1EAF */ jal get_variable +/* 96C51C 8024335C 8C450000 */ lw $a1, ($v0) +/* 96C520 80243360 0040182D */ daddu $v1, $v0, $zero +/* 96C524 80243364 10600012 */ beqz $v1, .L802433B0 +/* 96C528 80243368 0000202D */ daddu $a0, $zero, $zero +/* 96C52C 8024336C 8C620000 */ lw $v0, ($v1) +/* 96C530 80243370 5040000A */ beql $v0, $zero, .L8024339C +/* 96C534 80243374 00041080 */ sll $v0, $a0, 2 +/* 96C538 80243378 3C058025 */ lui $a1, 0x8025 +/* 96C53C 8024337C 24A5F080 */ addiu $a1, $a1, -0xf80 +.L80243380: +/* 96C540 80243380 24630004 */ addiu $v1, $v1, 4 +/* 96C544 80243384 24840001 */ addiu $a0, $a0, 1 +/* 96C548 80243388 ACA20000 */ sw $v0, ($a1) +/* 96C54C 8024338C 8C620000 */ lw $v0, ($v1) +/* 96C550 80243390 1440FFFB */ bnez $v0, .L80243380 +/* 96C554 80243394 24A50004 */ addiu $a1, $a1, 4 +/* 96C558 80243398 00041080 */ sll $v0, $a0, 2 +.L8024339C: +/* 96C55C 8024339C 3C018025 */ lui $at, 0x8025 +/* 96C560 802433A0 00220821 */ addu $at, $at, $v0 +/* 96C564 802433A4 AC20F080 */ sw $zero, -0xf80($at) +/* 96C568 802433A8 08090CF6 */ j .L802433D8 +/* 96C56C 802433AC 00000000 */ nop +.L802433B0: +/* 96C570 802433B0 3C038025 */ lui $v1, 0x8025 +/* 96C574 802433B4 2463F080 */ addiu $v1, $v1, -0xf80 +/* 96C578 802433B8 0060282D */ daddu $a1, $v1, $zero +.L802433BC: +/* 96C57C 802433BC 24820010 */ addiu $v0, $a0, 0x10 +/* 96C580 802433C0 AC620000 */ sw $v0, ($v1) +/* 96C584 802433C4 24630004 */ addiu $v1, $v1, 4 +/* 96C588 802433C8 24840001 */ addiu $a0, $a0, 1 +/* 96C58C 802433CC 28820070 */ slti $v0, $a0, 0x70 +/* 96C590 802433D0 1440FFFA */ bnez $v0, .L802433BC +/* 96C594 802433D4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802433D8: +/* 96C598 802433D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C59C 802433DC 24020002 */ addiu $v0, $zero, 2 +/* 96C5A0 802433E0 03E00008 */ jr $ra +/* 96C5A4 802433E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802433E8.s b/asm/nonmatchings/world/area_dro/dro_02/func_802433E8.s new file mode 100644 index 0000000000..a5ae655e1c --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802433E8.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433E8 +/* 96C5A8 802433E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C5AC 802433EC AFBF0010 */ sw $ra, 0x10($sp) +/* 96C5B0 802433F0 8C82000C */ lw $v0, 0xc($a0) +/* 96C5B4 802433F4 0C0B1EAF */ jal get_variable +/* 96C5B8 802433F8 8C450000 */ lw $a1, ($v0) +/* 96C5BC 802433FC 0040182D */ daddu $v1, $v0, $zero +/* 96C5C0 80243400 10600012 */ beqz $v1, .L8024344C +/* 96C5C4 80243404 0000202D */ daddu $a0, $zero, $zero +/* 96C5C8 80243408 8C620000 */ lw $v0, ($v1) +/* 96C5CC 8024340C 5040000A */ beql $v0, $zero, .L80243438 +/* 96C5D0 80243410 00041080 */ sll $v0, $a0, 2 +/* 96C5D4 80243414 3C058025 */ lui $a1, 0x8025 +/* 96C5D8 80243418 24A5F248 */ addiu $a1, $a1, -0xdb8 +.L8024341C: +/* 96C5DC 8024341C 24630004 */ addiu $v1, $v1, 4 +/* 96C5E0 80243420 24840001 */ addiu $a0, $a0, 1 +/* 96C5E4 80243424 ACA20000 */ sw $v0, ($a1) +/* 96C5E8 80243428 8C620000 */ lw $v0, ($v1) +/* 96C5EC 8024342C 1440FFFB */ bnez $v0, .L8024341C +/* 96C5F0 80243430 24A50004 */ addiu $a1, $a1, 4 +/* 96C5F4 80243434 00041080 */ sll $v0, $a0, 2 +.L80243438: +/* 96C5F8 80243438 3C018025 */ lui $at, 0x8025 +/* 96C5FC 8024343C 00220821 */ addu $at, $at, $v0 +/* 96C600 80243440 AC20F248 */ sw $zero, -0xdb8($at) +/* 96C604 80243444 08090D1D */ j .L80243474 +/* 96C608 80243448 00000000 */ nop +.L8024344C: +/* 96C60C 8024344C 3C038025 */ lui $v1, 0x8025 +/* 96C610 80243450 2463F248 */ addiu $v1, $v1, -0xdb8 +/* 96C614 80243454 0060282D */ daddu $a1, $v1, $zero +.L80243458: +/* 96C618 80243458 24820080 */ addiu $v0, $a0, 0x80 +/* 96C61C 8024345C AC620000 */ sw $v0, ($v1) +/* 96C620 80243460 24630004 */ addiu $v1, $v1, 4 +/* 96C624 80243464 24840001 */ addiu $a0, $a0, 1 +/* 96C628 80243468 2882005B */ slti $v0, $a0, 0x5b +/* 96C62C 8024346C 1440FFFA */ bnez $v0, .L80243458 +/* 96C630 80243470 ACA0016C */ sw $zero, 0x16c($a1) +.L80243474: +/* 96C634 80243474 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C638 80243478 24020002 */ addiu $v0, $zero, 2 +/* 96C63C 8024347C 03E00008 */ jr $ra +/* 96C640 80243480 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243484.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243484.s new file mode 100644 index 0000000000..c23d74d092 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243484.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243484 +/* 96C644 80243484 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C648 80243488 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C64C 8024348C 0C03A625 */ jal func_800E9894 +/* 96C650 80243490 00000000 */ nop +/* 96C654 80243494 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C658 80243498 24020002 */ addiu $v0, $zero, 2 +/* 96C65C 8024349C 03E00008 */ jr $ra +/* 96C660 802434A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802434A4.s b/asm/nonmatchings/world/area_dro/dro_02/func_802434A4.s new file mode 100644 index 0000000000..755a536f16 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802434A4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434A4 +/* 96C664 802434A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C668 802434A8 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C66C 802434AC 0C03A631 */ jal func_800E98C4 +/* 96C670 802434B0 00000000 */ nop +/* 96C674 802434B4 0C03A6DB */ jal sync_status_menu +/* 96C678 802434B8 00000000 */ nop +/* 96C67C 802434BC 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C680 802434C0 24020002 */ addiu $v0, $zero, 2 +/* 96C684 802434C4 03E00008 */ jr $ra +/* 96C688 802434C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802434CC.s b/asm/nonmatchings/world/area_dro/dro_02/func_802434CC.s new file mode 100644 index 0000000000..b877a09d68 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802434CC.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434CC +/* 96C68C 802434CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96C690 802434D0 AFB10014 */ sw $s1, 0x14($sp) +/* 96C694 802434D4 0080882D */ daddu $s1, $a0, $zero +/* 96C698 802434D8 AFBF0018 */ sw $ra, 0x18($sp) +/* 96C69C 802434DC AFB00010 */ sw $s0, 0x10($sp) +/* 96C6A0 802434E0 8E30000C */ lw $s0, 0xc($s1) +/* 96C6A4 802434E4 8E050000 */ lw $a1, ($s0) +/* 96C6A8 802434E8 0C0B1EAF */ jal get_variable +/* 96C6AC 802434EC 26100004 */ addiu $s0, $s0, 4 +/* 96C6B0 802434F0 0220202D */ daddu $a0, $s1, $zero +/* 96C6B4 802434F4 8E050000 */ lw $a1, ($s0) +/* 96C6B8 802434F8 0C0B1EAF */ jal get_variable +/* 96C6BC 802434FC 0040882D */ daddu $s1, $v0, $zero +/* 96C6C0 80243500 0000202D */ daddu $a0, $zero, $zero +/* 96C6C4 80243504 0080282D */ daddu $a1, $a0, $zero +/* 96C6C8 80243508 0040802D */ daddu $s0, $v0, $zero +/* 96C6CC 8024350C 240600BE */ addiu $a2, $zero, 0xbe +/* 96C6D0 80243510 0C04DF93 */ jal func_80137E4C +/* 96C6D4 80243514 24070091 */ addiu $a3, $zero, 0x91 +/* 96C6D8 80243518 44900000 */ mtc1 $s0, $f0 +/* 96C6DC 8024351C 00000000 */ nop +/* 96C6E0 80243520 46800020 */ cvt.s.w $f0, $f0 +/* 96C6E4 80243524 44050000 */ mfc1 $a1, $f0 +/* 96C6E8 80243528 0C04DF62 */ jal func_80137D88 +/* 96C6EC 8024352C 322400FF */ andi $a0, $s1, 0xff +/* 96C6F0 80243530 8FBF0018 */ lw $ra, 0x18($sp) +/* 96C6F4 80243534 8FB10014 */ lw $s1, 0x14($sp) +/* 96C6F8 80243538 8FB00010 */ lw $s0, 0x10($sp) +/* 96C6FC 8024353C 24020002 */ addiu $v0, $zero, 2 +/* 96C700 80243540 03E00008 */ jr $ra +/* 96C704 80243544 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243548.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243548.s new file mode 100644 index 0000000000..ed5c08f50b --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243548.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243548 +/* 96C708 80243548 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96C70C 8024354C AFB10014 */ sw $s1, 0x14($sp) +/* 96C710 80243550 0080882D */ daddu $s1, $a0, $zero +/* 96C714 80243554 AFBF0018 */ sw $ra, 0x18($sp) +/* 96C718 80243558 AFB00010 */ sw $s0, 0x10($sp) +/* 96C71C 8024355C 8E30000C */ lw $s0, 0xc($s1) +/* 96C720 80243560 8E050000 */ lw $a1, ($s0) +/* 96C724 80243564 0C0B1EAF */ jal get_variable +/* 96C728 80243568 26100004 */ addiu $s0, $s0, 4 +/* 96C72C 8024356C 0220202D */ daddu $a0, $s1, $zero +/* 96C730 80243570 8E050000 */ lw $a1, ($s0) +/* 96C734 80243574 0C0B1EAF */ jal get_variable +/* 96C738 80243578 0040802D */ daddu $s0, $v0, $zero +/* 96C73C 8024357C 44820000 */ mtc1 $v0, $f0 +/* 96C740 80243580 00000000 */ nop +/* 96C744 80243584 46800020 */ cvt.s.w $f0, $f0 +/* 96C748 80243588 24020002 */ addiu $v0, $zero, 2 +/* 96C74C 8024358C 00501804 */ sllv $v1, $s0, $v0 +/* 96C750 80243590 00701821 */ addu $v1, $v1, $s0 +/* 96C754 80243594 00431804 */ sllv $v1, $v1, $v0 +/* 96C758 80243598 00701823 */ subu $v1, $v1, $s0 +/* 96C75C 8024359C 000320C0 */ sll $a0, $v1, 3 +/* 96C760 802435A0 00641821 */ addu $v1, $v1, $a0 +/* 96C764 802435A4 000318C0 */ sll $v1, $v1, 3 +/* 96C768 802435A8 3C01800B */ lui $at, 0x800b +/* 96C76C 802435AC 00230821 */ addu $at, $at, $v1 +/* 96C770 802435B0 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 96C774 802435B4 8FBF0018 */ lw $ra, 0x18($sp) +/* 96C778 802435B8 8FB10014 */ lw $s1, 0x14($sp) +/* 96C77C 802435BC 8FB00010 */ lw $s0, 0x10($sp) +/* 96C780 802435C0 03E00008 */ jr $ra +/* 96C784 802435C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802435C8.s b/asm/nonmatchings/world/area_dro/dro_02/func_802435C8.s new file mode 100644 index 0000000000..ffaa4caa20 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802435C8.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435C8 +/* 96C788 802435C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C78C 802435CC AFBF0010 */ sw $ra, 0x10($sp) +/* 96C790 802435D0 8C82000C */ lw $v0, 0xc($a0) +/* 96C794 802435D4 0C0B1EAF */ jal get_variable +/* 96C798 802435D8 8C450000 */ lw $a1, ($v0) +/* 96C79C 802435DC 0C0B1059 */ jal does_script_exist +/* 96C7A0 802435E0 0040202D */ daddu $a0, $v0, $zero +/* 96C7A4 802435E4 2C420001 */ sltiu $v0, $v0, 1 +/* 96C7A8 802435E8 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C7AC 802435EC 00021040 */ sll $v0, $v0, 1 +/* 96C7B0 802435F0 03E00008 */ jr $ra +/* 96C7B4 802435F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802435F8.s b/asm/nonmatchings/world/area_dro/dro_02/func_802435F8.s new file mode 100644 index 0000000000..6c14df93f2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802435F8.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435F8 +/* 96C7B8 802435F8 3C028011 */ lui $v0, 0x8011 +/* 96C7BC 802435FC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 96C7C0 80243600 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C7C4 80243604 10400003 */ beqz $v0, .L80243614 +/* 96C7C8 80243608 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C7CC 8024360C 0C03AE06 */ jal partner_suspend_ability_script +/* 96C7D0 80243610 00000000 */ nop +.L80243614: +/* 96C7D4 80243614 24020002 */ addiu $v0, $zero, 2 +/* 96C7D8 80243618 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C7DC 8024361C 03E00008 */ jr $ra +/* 96C7E0 80243620 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243624.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243624.s new file mode 100644 index 0000000000..c299a1d1fd --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243624.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243624 +/* 96C7E4 80243624 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C7E8 80243628 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C7EC 8024362C 0C03AE18 */ jal partner_resume_ability_script +/* 96C7F0 80243630 00000000 */ nop +/* 96C7F4 80243634 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C7F8 80243638 24020002 */ addiu $v0, $zero, 2 +/* 96C7FC 8024363C 03E00008 */ jr $ra +/* 96C800 80243640 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243644.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243644.s new file mode 100644 index 0000000000..bc4909dd4e --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243644.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243644 +/* 96C804 80243644 3C058011 */ lui $a1, %hi(gPlayerData) +/* 96C808 80243648 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 96C80C 8024364C AC800088 */ sw $zero, 0x88($a0) +/* 96C810 80243650 80A30003 */ lb $v1, 3($a1) +/* 96C814 80243654 80A20002 */ lb $v0, 2($a1) +/* 96C818 80243658 1462000B */ bne $v1, $v0, .L80243688 +/* 96C81C 8024365C 00A0302D */ daddu $a2, $a1, $zero +/* 96C820 80243660 80A30006 */ lb $v1, 6($a1) +/* 96C824 80243664 80A20005 */ lb $v0, 5($a1) +/* 96C828 80243668 14620007 */ bne $v1, $v0, .L80243688 +/* 96C82C 8024366C 00000000 */ nop +/* 96C830 80243670 80C2028E */ lb $v0, 0x28e($a2) +/* 96C834 80243674 84C30290 */ lh $v1, 0x290($a2) +/* 96C838 80243678 00021200 */ sll $v0, $v0, 8 +/* 96C83C 8024367C 14620004 */ bne $v1, $v0, .L80243690 +/* 96C840 80243680 24020001 */ addiu $v0, $zero, 1 +/* 96C844 80243684 AC820088 */ sw $v0, 0x88($a0) +.L80243688: +/* 96C848 80243688 03E00008 */ jr $ra +/* 96C84C 8024368C 24020002 */ addiu $v0, $zero, 2 +.L80243690: +/* 96C850 80243690 03E00008 */ jr $ra +/* 96C854 80243694 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243698.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243698.s new file mode 100644 index 0000000000..7eeac25a24 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243698.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243698 +/* 96C858 80243698 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96C85C 8024369C AFB10014 */ sw $s1, 0x14($sp) +/* 96C860 802436A0 0080882D */ daddu $s1, $a0, $zero +/* 96C864 802436A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 96C868 802436A8 AFB20018 */ sw $s2, 0x18($sp) +/* 96C86C 802436AC AFB00010 */ sw $s0, 0x10($sp) +/* 96C870 802436B0 8E30000C */ lw $s0, 0xc($s1) +/* 96C874 802436B4 8E050000 */ lw $a1, ($s0) +/* 96C878 802436B8 0C0B1EAF */ jal get_variable +/* 96C87C 802436BC 26100004 */ addiu $s0, $s0, 4 +/* 96C880 802436C0 8E050000 */ lw $a1, ($s0) +/* 96C884 802436C4 26100004 */ addiu $s0, $s0, 4 +/* 96C888 802436C8 0220202D */ daddu $a0, $s1, $zero +/* 96C88C 802436CC 0C0B1EAF */ jal get_variable +/* 96C890 802436D0 0040902D */ daddu $s2, $v0, $zero +/* 96C894 802436D4 0220202D */ daddu $a0, $s1, $zero +/* 96C898 802436D8 8E050000 */ lw $a1, ($s0) +/* 96C89C 802436DC 0C0B1EAF */ jal get_variable +/* 96C8A0 802436E0 0040802D */ daddu $s0, $v0, $zero +/* 96C8A4 802436E4 0000202D */ daddu $a0, $zero, $zero +/* 96C8A8 802436E8 324500FF */ andi $a1, $s2, 0xff +/* 96C8AC 802436EC 320600FF */ andi $a2, $s0, 0xff +/* 96C8B0 802436F0 0C04DF84 */ jal func_80137E10 +/* 96C8B4 802436F4 304700FF */ andi $a3, $v0, 0xff +/* 96C8B8 802436F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 96C8BC 802436FC 8FB20018 */ lw $s2, 0x18($sp) +/* 96C8C0 80243700 8FB10014 */ lw $s1, 0x14($sp) +/* 96C8C4 80243704 8FB00010 */ lw $s0, 0x10($sp) +/* 96C8C8 80243708 24020002 */ addiu $v0, $zero, 2 +/* 96C8CC 8024370C 03E00008 */ jr $ra +/* 96C8D0 80243710 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243714.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243714.s new file mode 100644 index 0000000000..d669cca14d --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243714.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243714 +/* 96C8D4 80243714 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C8D8 80243718 AFBF0010 */ sw $ra, 0x10($sp) +/* 96C8DC 8024371C 8C82000C */ lw $v0, 0xc($a0) +/* 96C8E0 80243720 3C068011 */ lui $a2, 0x8011 +/* 96C8E4 80243724 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* 96C8E8 80243728 0C0B2026 */ jal set_variable +/* 96C8EC 8024372C 8C450000 */ lw $a1, ($v0) +/* 96C8F0 80243730 0C03AC5A */ jal func_800EB168 +/* 96C8F4 80243734 0000202D */ daddu $a0, $zero, $zero +/* 96C8F8 80243738 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C8FC 8024373C 24020002 */ addiu $v0, $zero, 2 +/* 96C900 80243740 03E00008 */ jr $ra +/* 96C904 80243744 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243748.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243748.s new file mode 100644 index 0000000000..ebb8d41da3 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243748.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243748 +/* 96C908 80243748 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96C90C 8024374C AFBF0010 */ sw $ra, 0x10($sp) +/* 96C910 80243750 8C82000C */ lw $v0, 0xc($a0) +/* 96C914 80243754 0C0B1EAF */ jal get_variable +/* 96C918 80243758 8C450000 */ lw $a1, ($v0) +/* 96C91C 8024375C 00021600 */ sll $v0, $v0, 0x18 +/* 96C920 80243760 0C03AC5A */ jal func_800EB168 +/* 96C924 80243764 00022603 */ sra $a0, $v0, 0x18 +/* 96C928 80243768 8FBF0010 */ lw $ra, 0x10($sp) +/* 96C92C 8024376C 24020002 */ addiu $v0, $zero, 2 +/* 96C930 80243770 03E00008 */ jr $ra +/* 96C934 80243774 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243778.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243778.s new file mode 100644 index 0000000000..3986884fcc --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243778.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243778 +/* 96C938 80243778 03E00008 */ jr $ra +/* 96C93C 8024377C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243780.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243780.s new file mode 100644 index 0000000000..5d91fe9239 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243780.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243780 +/* 96C940 80243780 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 96C944 80243784 AFB10014 */ sw $s1, 0x14($sp) +/* 96C948 80243788 0080882D */ daddu $s1, $a0, $zero +/* 96C94C 8024378C AFBF0018 */ sw $ra, 0x18($sp) +/* 96C950 80243790 AFB00010 */ sw $s0, 0x10($sp) +/* 96C954 80243794 8E30000C */ lw $s0, 0xc($s1) +/* 96C958 80243798 8E050000 */ lw $a1, ($s0) +/* 96C95C 8024379C 0C0B1EAF */ jal get_variable +/* 96C960 802437A0 26100004 */ addiu $s0, $s0, 4 +/* 96C964 802437A4 AE22008C */ sw $v0, 0x8c($s1) +/* 96C968 802437A8 8E050000 */ lw $a1, ($s0) +/* 96C96C 802437AC 26100004 */ addiu $s0, $s0, 4 +/* 96C970 802437B0 0C0B1EAF */ jal get_variable +/* 96C974 802437B4 0220202D */ daddu $a0, $s1, $zero +/* 96C978 802437B8 AE220090 */ sw $v0, 0x90($s1) +/* 96C97C 802437BC 8E050000 */ lw $a1, ($s0) +/* 96C980 802437C0 26100004 */ addiu $s0, $s0, 4 +/* 96C984 802437C4 0C0B1EAF */ jal get_variable +/* 96C988 802437C8 0220202D */ daddu $a0, $s1, $zero +/* 96C98C 802437CC AE220094 */ sw $v0, 0x94($s1) +/* 96C990 802437D0 8E050000 */ lw $a1, ($s0) +/* 96C994 802437D4 26100004 */ addiu $s0, $s0, 4 +/* 96C998 802437D8 0C0B1EAF */ jal get_variable +/* 96C99C 802437DC 0220202D */ daddu $a0, $s1, $zero +/* 96C9A0 802437E0 AE220098 */ sw $v0, 0x98($s1) +/* 96C9A4 802437E4 8E050000 */ lw $a1, ($s0) +/* 96C9A8 802437E8 26100004 */ addiu $s0, $s0, 4 +/* 96C9AC 802437EC 0C0B1EAF */ jal get_variable +/* 96C9B0 802437F0 0220202D */ daddu $a0, $s1, $zero +/* 96C9B4 802437F4 AE22009C */ sw $v0, 0x9c($s1) +/* 96C9B8 802437F8 8E050000 */ lw $a1, ($s0) +/* 96C9BC 802437FC 26100004 */ addiu $s0, $s0, 4 +/* 96C9C0 80243800 0C0B1EAF */ jal get_variable +/* 96C9C4 80243804 0220202D */ daddu $a0, $s1, $zero +/* 96C9C8 80243808 AE2200A0 */ sw $v0, 0xa0($s1) +/* 96C9CC 8024380C 8E050000 */ lw $a1, ($s0) +/* 96C9D0 80243810 26100004 */ addiu $s0, $s0, 4 +/* 96C9D4 80243814 0C0B1EAF */ jal get_variable +/* 96C9D8 80243818 0220202D */ daddu $a0, $s1, $zero +/* 96C9DC 8024381C AE2200A4 */ sw $v0, 0xa4($s1) +/* 96C9E0 80243820 8E050000 */ lw $a1, ($s0) +/* 96C9E4 80243824 26100004 */ addiu $s0, $s0, 4 +/* 96C9E8 80243828 0C0B1EAF */ jal get_variable +/* 96C9EC 8024382C 0220202D */ daddu $a0, $s1, $zero +/* 96C9F0 80243830 AE2200A8 */ sw $v0, 0xa8($s1) +/* 96C9F4 80243834 8E050000 */ lw $a1, ($s0) +/* 96C9F8 80243838 26100004 */ addiu $s0, $s0, 4 +/* 96C9FC 8024383C 0C0B1EAF */ jal get_variable +/* 96CA00 80243840 0220202D */ daddu $a0, $s1, $zero +/* 96CA04 80243844 AE2200AC */ sw $v0, 0xac($s1) +/* 96CA08 80243848 8E050000 */ lw $a1, ($s0) +/* 96CA0C 8024384C 0C0B1EAF */ jal get_variable +/* 96CA10 80243850 0220202D */ daddu $a0, $s1, $zero +/* 96CA14 80243854 AE2200B0 */ sw $v0, 0xb0($s1) +/* 96CA18 80243858 8FBF0018 */ lw $ra, 0x18($sp) +/* 96CA1C 8024385C 8FB10014 */ lw $s1, 0x14($sp) +/* 96CA20 80243860 8FB00010 */ lw $s0, 0x10($sp) +/* 96CA24 80243864 24020002 */ addiu $v0, $zero, 2 +/* 96CA28 80243868 03E00008 */ jr $ra +/* 96CA2C 8024386C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243870_9691C0.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243870_9691C0.s new file mode 100644 index 0000000000..dc7c48892b --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243870_9691C0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243870_96CA30 +/* 96CA30 80243870 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 96CA34 80243874 AFB1001C */ sw $s1, 0x1c($sp) +/* 96CA38 80243878 0080882D */ daddu $s1, $a0, $zero +/* 96CA3C 8024387C AFBF0034 */ sw $ra, 0x34($sp) +/* 96CA40 80243880 AFB60030 */ sw $s6, 0x30($sp) +/* 96CA44 80243884 AFB5002C */ sw $s5, 0x2c($sp) +/* 96CA48 80243888 AFB40028 */ sw $s4, 0x28($sp) +/* 96CA4C 8024388C AFB30024 */ sw $s3, 0x24($sp) +/* 96CA50 80243890 AFB20020 */ sw $s2, 0x20($sp) +/* 96CA54 80243894 AFB00018 */ sw $s0, 0x18($sp) +/* 96CA58 80243898 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 96CA5C 8024389C F7B40038 */ sdc1 $f20, 0x38($sp) +/* 96CA60 802438A0 8E30000C */ lw $s0, 0xc($s1) +/* 96CA64 802438A4 8E160000 */ lw $s6, ($s0) +/* 96CA68 802438A8 26100004 */ addiu $s0, $s0, 4 +/* 96CA6C 802438AC 0C0B1EAF */ jal get_variable +/* 96CA70 802438B0 02C0282D */ daddu $a1, $s6, $zero +/* 96CA74 802438B4 44820000 */ mtc1 $v0, $f0 +/* 96CA78 802438B8 00000000 */ nop +/* 96CA7C 802438BC 46800020 */ cvt.s.w $f0, $f0 +/* 96CA80 802438C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 96CA84 802438C4 8E140000 */ lw $s4, ($s0) +/* 96CA88 802438C8 26100004 */ addiu $s0, $s0, 4 +/* 96CA8C 802438CC 0220202D */ daddu $a0, $s1, $zero +/* 96CA90 802438D0 0C0B1EAF */ jal get_variable +/* 96CA94 802438D4 0280282D */ daddu $a1, $s4, $zero +/* 96CA98 802438D8 0220202D */ daddu $a0, $s1, $zero +/* 96CA9C 802438DC 8E150000 */ lw $s5, ($s0) +/* 96CAA0 802438E0 4482B000 */ mtc1 $v0, $f22 +/* 96CAA4 802438E4 00000000 */ nop +/* 96CAA8 802438E8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 96CAAC 802438EC 0C0B1EAF */ jal get_variable +/* 96CAB0 802438F0 02A0282D */ daddu $a1, $s5, $zero +/* 96CAB4 802438F4 2404FFFC */ addiu $a0, $zero, -4 +/* 96CAB8 802438F8 44820000 */ mtc1 $v0, $f0 +/* 96CABC 802438FC 00000000 */ nop +/* 96CAC0 80243900 46800020 */ cvt.s.w $f0, $f0 +/* 96CAC4 80243904 0C00EABB */ jal get_npc_unsafe +/* 96CAC8 80243908 E7A00014 */ swc1 $f0, 0x14($sp) +/* 96CACC 8024390C 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 96CAD0 80243910 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 96CAD4 80243914 3C014334 */ lui $at, 0x4334 +/* 96CAD8 80243918 44816000 */ mtc1 $at, $f12 +/* 96CADC 8024391C 00041880 */ sll $v1, $a0, 2 +/* 96CAE0 80243920 00641821 */ addu $v1, $v1, $a0 +/* 96CAE4 80243924 00031880 */ sll $v1, $v1, 2 +/* 96CAE8 80243928 00641823 */ subu $v1, $v1, $a0 +/* 96CAEC 8024392C 000320C0 */ sll $a0, $v1, 3 +/* 96CAF0 80243930 00641821 */ addu $v1, $v1, $a0 +/* 96CAF4 80243934 000318C0 */ sll $v1, $v1, 3 +/* 96CAF8 80243938 3C01800B */ lui $at, 0x800b +/* 96CAFC 8024393C 00230821 */ addu $at, $at, $v1 +/* 96CB00 80243940 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 96CB04 80243944 460C0300 */ add.s $f12, $f0, $f12 +/* 96CB08 80243948 0C00A6C9 */ jal clamp_angle +/* 96CB0C 8024394C 0040982D */ daddu $s3, $v0, $zero +/* 96CB10 80243950 27B00010 */ addiu $s0, $sp, 0x10 +/* 96CB14 80243954 0200202D */ daddu $a0, $s0, $zero +/* 96CB18 80243958 27B20014 */ addiu $s2, $sp, 0x14 +/* 96CB1C 8024395C 0240282D */ daddu $a1, $s2, $zero +/* 96CB20 80243960 3C064170 */ lui $a2, 0x4170 +/* 96CB24 80243964 8E67000C */ lw $a3, 0xc($s3) +/* 96CB28 80243968 0C00A7E7 */ jal add_vec2D_polar +/* 96CB2C 8024396C 46000506 */ mov.s $f20, $f0 +/* 96CB30 80243970 0200202D */ daddu $a0, $s0, $zero +/* 96CB34 80243974 3C064120 */ lui $a2, 0x4120 +/* 96CB38 80243978 4407A000 */ mfc1 $a3, $f20 +/* 96CB3C 8024397C 0C00A7E7 */ jal add_vec2D_polar +/* 96CB40 80243980 0240282D */ daddu $a1, $s2, $zero +/* 96CB44 80243984 0220202D */ daddu $a0, $s1, $zero +/* 96CB48 80243988 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 96CB4C 8024398C 4600008D */ trunc.w.s $f2, $f0 +/* 96CB50 80243990 44061000 */ mfc1 $a2, $f2 +/* 96CB54 80243994 0C0B2026 */ jal set_variable +/* 96CB58 80243998 02C0282D */ daddu $a1, $s6, $zero +/* 96CB5C 8024399C 0220202D */ daddu $a0, $s1, $zero +/* 96CB60 802439A0 4600B08D */ trunc.w.s $f2, $f22 +/* 96CB64 802439A4 44061000 */ mfc1 $a2, $f2 +/* 96CB68 802439A8 0C0B2026 */ jal set_variable +/* 96CB6C 802439AC 0280282D */ daddu $a1, $s4, $zero +/* 96CB70 802439B0 0220202D */ daddu $a0, $s1, $zero +/* 96CB74 802439B4 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 96CB78 802439B8 4600008D */ trunc.w.s $f2, $f0 +/* 96CB7C 802439BC 44061000 */ mfc1 $a2, $f2 +/* 96CB80 802439C0 0C0B2026 */ jal set_variable +/* 96CB84 802439C4 02A0282D */ daddu $a1, $s5, $zero +/* 96CB88 802439C8 8FBF0034 */ lw $ra, 0x34($sp) +/* 96CB8C 802439CC 8FB60030 */ lw $s6, 0x30($sp) +/* 96CB90 802439D0 8FB5002C */ lw $s5, 0x2c($sp) +/* 96CB94 802439D4 8FB40028 */ lw $s4, 0x28($sp) +/* 96CB98 802439D8 8FB30024 */ lw $s3, 0x24($sp) +/* 96CB9C 802439DC 8FB20020 */ lw $s2, 0x20($sp) +/* 96CBA0 802439E0 8FB1001C */ lw $s1, 0x1c($sp) +/* 96CBA4 802439E4 8FB00018 */ lw $s0, 0x18($sp) +/* 96CBA8 802439E8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 96CBAC 802439EC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 96CBB0 802439F0 24020002 */ addiu $v0, $zero, 2 +/* 96CBB4 802439F4 03E00008 */ jr $ra +/* 96CBB8 802439F8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_802439FC.s b/asm/nonmatchings/world/area_dro/dro_02/func_802439FC.s new file mode 100644 index 0000000000..4425cb94f2 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_802439FC.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439FC +/* 96CBBC 802439FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96CBC0 80243A00 AFB00010 */ sw $s0, 0x10($sp) +/* 96CBC4 80243A04 0080802D */ daddu $s0, $a0, $zero +/* 96CBC8 80243A08 AFBF0014 */ sw $ra, 0x14($sp) +/* 96CBCC 80243A0C 0C00EABB */ jal get_npc_unsafe +/* 96CBD0 80243A10 8E04008C */ lw $a0, 0x8c($s0) +/* 96CBD4 80243A14 0040282D */ daddu $a1, $v0, $zero +/* 96CBD8 80243A18 8E040094 */ lw $a0, 0x94($s0) +/* 96CBDC 80243A1C 8CA30028 */ lw $v1, 0x28($a1) +/* 96CBE0 80243A20 ACA40028 */ sw $a0, 0x28($a1) +/* 96CBE4 80243A24 8FBF0014 */ lw $ra, 0x14($sp) +/* 96CBE8 80243A28 8FB00010 */ lw $s0, 0x10($sp) +/* 96CBEC 80243A2C 24020002 */ addiu $v0, $zero, 2 +/* 96CBF0 80243A30 3C018025 */ lui $at, 0x8025 +/* 96CBF4 80243A34 AC23F3B8 */ sw $v1, -0xc48($at) +/* 96CBF8 80243A38 03E00008 */ jr $ra +/* 96CBFC 80243A3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_dro/dro_02/func_80243A40.s b/asm/nonmatchings/world/area_dro/dro_02/func_80243A40.s new file mode 100644 index 0000000000..3662956416 --- /dev/null +++ b/asm/nonmatchings/world/area_dro/dro_02/func_80243A40.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243A40 +/* 96CC00 80243A40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 96CC04 80243A44 AFBF0010 */ sw $ra, 0x10($sp) +/* 96CC08 80243A48 0C00EABB */ jal get_npc_unsafe +/* 96CC0C 80243A4C 8C84008C */ lw $a0, 0x8c($a0) +/* 96CC10 80243A50 3C038025 */ lui $v1, 0x8025 +/* 96CC14 80243A54 8C63F3B8 */ lw $v1, -0xc48($v1) +/* 96CC18 80243A58 AC430028 */ sw $v1, 0x28($v0) +/* 96CC1C 80243A5C 8FBF0010 */ lw $ra, 0x10($sp) +/* 96CC20 80243A60 24020002 */ addiu $v0, $zero, 2 +/* 96CC24 80243A64 03E00008 */ jr $ra +/* 96CC28 80243A68 27BD0018 */ addiu $sp, $sp, 0x18 +/* 96CC2C 80243A6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240000_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240000_DF6A00.s new file mode 100644 index 0000000000..0628bf40e4 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240000_DF6A00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DF6A00 +/* DF6A00 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DF6A04 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* DF6A08 80240008 24020003 */ addiu $v0, $zero, 3 +/* DF6A0C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* DF6A10 80240010 03E00008 */ jr $ra +/* DF6A14 80240014 0000102D */ daddu $v0, $zero, $zero +/* DF6A18 80240018 00000000 */ nop +/* DF6A1C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240020_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240020_DF6A00.s new file mode 100644 index 0000000000..8d4446207b --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240020_DF6A00.s @@ -0,0 +1,153 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_DF6A20 +/* DF6A20 80240020 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* DF6A24 80240024 AFB00088 */ sw $s0, 0x88($sp) +/* DF6A28 80240028 00A0802D */ daddu $s0, $a1, $zero +/* DF6A2C 8024002C AFBF00A0 */ sw $ra, 0xa0($sp) +/* DF6A30 80240030 AFB5009C */ sw $s5, 0x9c($sp) +/* DF6A34 80240034 AFB40098 */ sw $s4, 0x98($sp) +/* DF6A38 80240038 AFB30094 */ sw $s3, 0x94($sp) +/* DF6A3C 8024003C AFB20090 */ sw $s2, 0x90($sp) +/* DF6A40 80240040 AFB1008C */ sw $s1, 0x8c($sp) +/* DF6A44 80240044 F7BA00C0 */ sdc1 $f26, 0xc0($sp) +/* DF6A48 80240048 F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* DF6A4C 8024004C F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* DF6A50 80240050 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* DF6A54 80240054 C6160010 */ lwc1 $f22, 0x10($s0) +/* DF6A58 80240058 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF6A5C 8024005C 4480D000 */ mtc1 $zero, $f26 +/* DF6A60 80240060 3C01437F */ lui $at, 0x437f +/* DF6A64 80240064 4481A000 */ mtc1 $at, $f20 +/* DF6A68 80240068 8C82001C */ lw $v0, 0x1c($a0) +/* DF6A6C 8024006C 4405D000 */ mfc1 $a1, $f26 +/* DF6A70 80240070 4406A000 */ mfc1 $a2, $f20 +/* DF6A74 80240074 C6180014 */ lwc1 $f24, 0x14($s0) +/* DF6A78 80240078 4680C620 */ cvt.s.w $f24, $f24 +/* DF6A7C 8024007C AFA20010 */ sw $v0, 0x10($sp) +/* DF6A80 80240080 8E070018 */ lw $a3, 0x18($s0) +/* DF6A84 80240084 0C00A8ED */ jal update_lerp +/* DF6A88 80240088 0000202D */ daddu $a0, $zero, $zero +/* DF6A8C 8024008C 4600A03C */ c.lt.s $f20, $f0 +/* DF6A90 80240090 00000000 */ nop +/* DF6A94 80240094 45000002 */ bc1f .L802400A0 +/* DF6A98 80240098 27B10038 */ addiu $s1, $sp, 0x38 +/* DF6A9C 8024009C 4600A006 */ mov.s $f0, $f20 +.L802400A0: +/* DF6AA0 802400A0 4600010D */ trunc.w.s $f4, $f0 +/* DF6AA4 802400A4 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6AA8 802400A8 0000202D */ daddu $a0, $zero, $zero +/* DF6AAC 802400AC 24050007 */ addiu $a1, $zero, 7 +/* DF6AB0 802400B0 240600FF */ addiu $a2, $zero, 0xff +/* DF6AB4 802400B4 00C0382D */ daddu $a3, $a2, $zero +/* DF6AB8 802400B8 00C0A82D */ daddu $s5, $a2, $zero +/* DF6ABC 802400BC AFB50010 */ sw $s5, 0x10($sp) +/* DF6AC0 802400C0 0C04EAA7 */ jal func_8013AA9C +/* DF6AC4 802400C4 AFA00018 */ sw $zero, 0x18($sp) +/* DF6AC8 802400C8 AFB10010 */ sw $s1, 0x10($sp) +/* DF6ACC 802400CC 8E040004 */ lw $a0, 4($s0) +/* DF6AD0 802400D0 8E050008 */ lw $a1, 8($s0) +/* DF6AD4 802400D4 8E060000 */ lw $a2, ($s0) +/* DF6AD8 802400D8 8E07000C */ lw $a3, 0xc($s0) +/* DF6ADC 802400DC 0C04BA38 */ jal func_8012E8E0 +/* DF6AE0 802400E0 3C140001 */ lui $s4, 1 +/* DF6AE4 802400E4 93A20042 */ lbu $v0, 0x42($sp) +/* DF6AE8 802400E8 3C013FE0 */ lui $at, 0x3fe0 +/* DF6AEC 802400EC 4481A800 */ mtc1 $at, $f21 +/* DF6AF0 802400F0 4480A000 */ mtc1 $zero, $f20 +/* DF6AF4 802400F4 44820000 */ mtc1 $v0, $f0 +/* DF6AF8 802400F8 00000000 */ nop +/* DF6AFC 802400FC 46800021 */ cvt.d.w $f0, $f0 +/* DF6B00 80240100 46340002 */ mul.d $f0, $f0, $f20 +/* DF6B04 80240104 00000000 */ nop +/* DF6B08 80240108 36941630 */ ori $s4, $s4, 0x1630 +/* DF6B0C 8024010C 4600B0A1 */ cvt.d.s $f2, $f22 +/* DF6B10 80240110 27B00048 */ addiu $s0, $sp, 0x48 +/* DF6B14 80240114 4600C607 */ neg.s $f24, $f24 +/* DF6B18 80240118 46201080 */ add.d $f2, $f2, $f0 +/* DF6B1C 8024011C 4406C000 */ mfc1 $a2, $f24 +/* DF6B20 80240120 4407D000 */ mfc1 $a3, $f26 +/* DF6B24 80240124 462010A0 */ cvt.s.d $f2, $f2 +/* DF6B28 80240128 44051000 */ mfc1 $a1, $f2 +/* DF6B2C 8024012C 0C019E40 */ jal guTranslateF +/* DF6B30 80240130 0200202D */ daddu $a0, $s0, $zero +/* DF6B34 80240134 0200202D */ daddu $a0, $s0, $zero +/* DF6B38 80240138 3C128007 */ lui $s2, 0x8007 +/* DF6B3C 8024013C 265241F0 */ addiu $s2, $s2, 0x41f0 +/* DF6B40 80240140 3C13800A */ lui $s3, 0x800a +/* DF6B44 80240144 2673A674 */ addiu $s3, $s3, -0x598c +/* DF6B48 80240148 96450000 */ lhu $a1, ($s2) +/* DF6B4C 8024014C 8E620000 */ lw $v0, ($s3) +/* DF6B50 80240150 00052980 */ sll $a1, $a1, 6 +/* DF6B54 80240154 00B42821 */ addu $a1, $a1, $s4 +/* DF6B58 80240158 0C019D40 */ jal guMtxF2L +/* DF6B5C 8024015C 00452821 */ addu $a1, $v0, $a1 +/* DF6B60 80240160 3C03DA38 */ lui $v1, 0xda38 +/* DF6B64 80240164 34630002 */ ori $v1, $v1, 2 +/* DF6B68 80240168 0000202D */ daddu $a0, $zero, $zero +/* DF6B6C 8024016C 27A50020 */ addiu $a1, $sp, 0x20 +/* DF6B70 80240170 3C060005 */ lui $a2, 5 +/* DF6B74 80240174 34C60040 */ ori $a2, $a2, 0x40 +/* DF6B78 80240178 3C11800A */ lui $s1, 0x800a +/* DF6B7C 8024017C 2631A66C */ addiu $s1, $s1, -0x5994 +/* DF6B80 80240180 0200382D */ daddu $a3, $s0, $zero +/* DF6B84 80240184 8E220000 */ lw $v0, ($s1) +/* DF6B88 80240188 96480000 */ lhu $t0, ($s2) +/* DF6B8C 8024018C 0040482D */ daddu $t1, $v0, $zero +/* DF6B90 80240190 24420008 */ addiu $v0, $v0, 8 +/* DF6B94 80240194 AE220000 */ sw $v0, ($s1) +/* DF6B98 80240198 3102FFFF */ andi $v0, $t0, 0xffff +/* DF6B9C 8024019C 00021180 */ sll $v0, $v0, 6 +/* DF6BA0 802401A0 00541021 */ addu $v0, $v0, $s4 +/* DF6BA4 802401A4 AD230000 */ sw $v1, ($t1) +/* DF6BA8 802401A8 8E630000 */ lw $v1, ($s3) +/* DF6BAC 802401AC 25080001 */ addiu $t0, $t0, 1 +/* DF6BB0 802401B0 00621821 */ addu $v1, $v1, $v0 +/* DF6BB4 802401B4 3C028000 */ lui $v0, 0x8000 +/* DF6BB8 802401B8 00621821 */ addu $v1, $v1, $v0 +/* DF6BBC 802401BC AD230004 */ sw $v1, 4($t1) +/* DF6BC0 802401C0 93A20042 */ lbu $v0, 0x42($sp) +/* DF6BC4 802401C4 8FA3003C */ lw $v1, 0x3c($sp) +/* DF6BC8 802401C8 93A90040 */ lbu $t1, 0x40($sp) +/* DF6BCC 802401CC 93AA0041 */ lbu $t2, 0x41($sp) +/* DF6BD0 802401D0 44820000 */ mtc1 $v0, $f0 +/* DF6BD4 802401D4 00000000 */ nop +/* DF6BD8 802401D8 46800021 */ cvt.d.w $f0, $f0 +/* DF6BDC 802401DC 8FA20038 */ lw $v0, 0x38($sp) +/* DF6BE0 802401E0 46340002 */ mul.d $f0, $f0, $f20 +/* DF6BE4 802401E4 00000000 */ nop +/* DF6BE8 802401E8 A6480000 */ sh $t0, ($s2) +/* DF6BEC 802401EC A7A0002E */ sh $zero, 0x2e($sp) +/* DF6BF0 802401F0 A3B50030 */ sb $s5, 0x30($sp) +/* DF6BF4 802401F4 AFA30024 */ sw $v1, 0x24($sp) +/* DF6BF8 802401F8 A7A90028 */ sh $t1, 0x28($sp) +/* DF6BFC 802401FC A7AA002A */ sh $t2, 0x2a($sp) +/* DF6C00 80240200 AFA20020 */ sw $v0, 0x20($sp) +/* DF6C04 80240204 46200007 */ neg.d $f0, $f0 +/* DF6C08 80240208 4620010D */ trunc.w.d $f4, $f0 +/* DF6C0C 8024020C 44022000 */ mfc1 $v0, $f4 +/* DF6C10 80240210 0C04EBDC */ jal func_8013AF70 +/* DF6C14 80240214 A7A2002C */ sh $v0, 0x2c($sp) +/* DF6C18 80240218 3C04D838 */ lui $a0, 0xd838 +/* DF6C1C 8024021C 8E220000 */ lw $v0, ($s1) +/* DF6C20 80240220 34840002 */ ori $a0, $a0, 2 +/* DF6C24 80240224 0040182D */ daddu $v1, $v0, $zero +/* DF6C28 80240228 24420008 */ addiu $v0, $v0, 8 +/* DF6C2C 8024022C AE220000 */ sw $v0, ($s1) +/* DF6C30 80240230 24020040 */ addiu $v0, $zero, 0x40 +/* DF6C34 80240234 AC640000 */ sw $a0, ($v1) +/* DF6C38 80240238 AC620004 */ sw $v0, 4($v1) +/* DF6C3C 8024023C 8FBF00A0 */ lw $ra, 0xa0($sp) +/* DF6C40 80240240 8FB5009C */ lw $s5, 0x9c($sp) +/* DF6C44 80240244 8FB40098 */ lw $s4, 0x98($sp) +/* DF6C48 80240248 8FB30094 */ lw $s3, 0x94($sp) +/* DF6C4C 8024024C 8FB20090 */ lw $s2, 0x90($sp) +/* DF6C50 80240250 8FB1008C */ lw $s1, 0x8c($sp) +/* DF6C54 80240254 8FB00088 */ lw $s0, 0x88($sp) +/* DF6C58 80240258 D7BA00C0 */ ldc1 $f26, 0xc0($sp) +/* DF6C5C 8024025C D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* DF6C60 80240260 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* DF6C64 80240264 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* DF6C68 80240268 03E00008 */ jr $ra +/* DF6C6C 8024026C 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240270_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240270_DF6A00.s new file mode 100644 index 0000000000..7fa27e8dcd --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240270_DF6A00.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240270_DF6C70 +/* DF6C70 80240270 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* DF6C74 80240274 AFB1008C */ sw $s1, 0x8c($sp) +/* DF6C78 80240278 0080882D */ daddu $s1, $a0, $zero +/* DF6C7C 8024027C AFB00088 */ sw $s0, 0x88($sp) +/* DF6C80 80240280 00A0802D */ daddu $s0, $a1, $zero +/* DF6C84 80240284 0000202D */ daddu $a0, $zero, $zero +/* DF6C88 80240288 AFBF00A0 */ sw $ra, 0xa0($sp) +/* DF6C8C 8024028C AFB5009C */ sw $s5, 0x9c($sp) +/* DF6C90 80240290 AFB40098 */ sw $s4, 0x98($sp) +/* DF6C94 80240294 AFB30094 */ sw $s3, 0x94($sp) +/* DF6C98 80240298 AFB20090 */ sw $s2, 0x90($sp) +/* DF6C9C 8024029C F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* DF6CA0 802402A0 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* DF6CA4 802402A4 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* DF6CA8 802402A8 C6160010 */ lwc1 $f22, 0x10($s0) +/* DF6CAC 802402AC 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF6CB0 802402B0 3C01437F */ lui $at, 0x437f +/* DF6CB4 802402B4 4481A000 */ mtc1 $at, $f20 +/* DF6CB8 802402B8 8E22001C */ lw $v0, 0x1c($s1) +/* DF6CBC 802402BC 4406A000 */ mfc1 $a2, $f20 +/* DF6CC0 802402C0 C6180014 */ lwc1 $f24, 0x14($s0) +/* DF6CC4 802402C4 4680C620 */ cvt.s.w $f24, $f24 +/* DF6CC8 802402C8 AFA20010 */ sw $v0, 0x10($sp) +/* DF6CCC 802402CC 8E070018 */ lw $a3, 0x18($s0) +/* DF6CD0 802402D0 0C00A8ED */ jal update_lerp +/* DF6CD4 802402D4 0000282D */ daddu $a1, $zero, $zero +/* DF6CD8 802402D8 4600A03C */ c.lt.s $f20, $f0 +/* DF6CDC 802402DC 00000000 */ nop +/* DF6CE0 802402E0 45000002 */ bc1f .L802402EC +/* DF6CE4 802402E4 27B50038 */ addiu $s5, $sp, 0x38 +/* DF6CE8 802402E8 4600A006 */ mov.s $f0, $f20 +.L802402EC: +/* DF6CEC 802402EC 8E24001C */ lw $a0, 0x1c($s1) +/* DF6CF0 802402F0 8E030018 */ lw $v1, 0x18($s0) +/* DF6CF4 802402F4 2482FFFC */ addiu $v0, $a0, -4 +/* DF6CF8 802402F8 14620007 */ bne $v1, $v0, .L80240318 +/* DF6CFC 802402FC 2482FFFD */ addiu $v0, $a0, -3 +/* DF6D00 80240300 4600010D */ trunc.w.s $f4, $f0 +/* DF6D04 80240304 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6D08 80240308 0000202D */ daddu $a0, $zero, $zero +/* DF6D0C 8024030C 2405000A */ addiu $a1, $zero, 0xa +/* DF6D10 80240310 080900E1 */ j .L80240384 +/* DF6D14 80240314 24060040 */ addiu $a2, $zero, 0x40 +.L80240318: +/* DF6D18 80240318 14620007 */ bne $v1, $v0, .L80240338 +/* DF6D1C 8024031C 2482FFFE */ addiu $v0, $a0, -2 +/* DF6D20 80240320 4600010D */ trunc.w.s $f4, $f0 +/* DF6D24 80240324 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6D28 80240328 0000202D */ daddu $a0, $zero, $zero +/* DF6D2C 8024032C 2405000A */ addiu $a1, $zero, 0xa +/* DF6D30 80240330 080900E1 */ j .L80240384 +/* DF6D34 80240334 24060060 */ addiu $a2, $zero, 0x60 +.L80240338: +/* DF6D38 80240338 14620007 */ bne $v1, $v0, .L80240358 +/* DF6D3C 8024033C 2482FFFF */ addiu $v0, $a0, -1 +/* DF6D40 80240340 4600010D */ trunc.w.s $f4, $f0 +/* DF6D44 80240344 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6D48 80240348 0000202D */ daddu $a0, $zero, $zero +/* DF6D4C 8024034C 2405000A */ addiu $a1, $zero, 0xa +/* DF6D50 80240350 080900E1 */ j .L80240384 +/* DF6D54 80240354 2406007F */ addiu $a2, $zero, 0x7f +.L80240358: +/* DF6D58 80240358 14620006 */ bne $v1, $v0, .L80240374 +/* DF6D5C 8024035C 0000202D */ daddu $a0, $zero, $zero +/* DF6D60 80240360 4600010D */ trunc.w.s $f4, $f0 +/* DF6D64 80240364 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6D68 80240368 2405000A */ addiu $a1, $zero, 0xa +/* DF6D6C 8024036C 080900E1 */ j .L80240384 +/* DF6D70 80240370 24060050 */ addiu $a2, $zero, 0x50 +.L80240374: +/* DF6D74 80240374 4600010D */ trunc.w.s $f4, $f0 +/* DF6D78 80240378 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6D7C 8024037C 24050007 */ addiu $a1, $zero, 7 +/* DF6D80 80240380 240600FF */ addiu $a2, $zero, 0xff +.L80240384: +/* DF6D84 80240384 00C0382D */ daddu $a3, $a2, $zero +/* DF6D88 80240388 00C0102D */ daddu $v0, $a2, $zero +/* DF6D8C 8024038C AFA20010 */ sw $v0, 0x10($sp) +/* DF6D90 80240390 0C04EAA7 */ jal func_8013AA9C +/* DF6D94 80240394 AFA00018 */ sw $zero, 0x18($sp) +/* DF6D98 80240398 AFB50010 */ sw $s5, 0x10($sp) +/* DF6D9C 8024039C 8E040004 */ lw $a0, 4($s0) +/* DF6DA0 802403A0 8E050008 */ lw $a1, 8($s0) +/* DF6DA4 802403A4 8E060000 */ lw $a2, ($s0) +/* DF6DA8 802403A8 8E07000C */ lw $a3, 0xc($s0) +/* DF6DAC 802403AC 0C04BA38 */ jal func_8012E8E0 +/* DF6DB0 802403B0 3C140001 */ lui $s4, 1 +/* DF6DB4 802403B4 92A2000A */ lbu $v0, 0xa($s5) +/* DF6DB8 802403B8 3C013FE0 */ lui $at, 0x3fe0 +/* DF6DBC 802403BC 4481A800 */ mtc1 $at, $f21 +/* DF6DC0 802403C0 4480A000 */ mtc1 $zero, $f20 +/* DF6DC4 802403C4 44820000 */ mtc1 $v0, $f0 +/* DF6DC8 802403C8 00000000 */ nop +/* DF6DCC 802403CC 46800021 */ cvt.d.w $f0, $f0 +/* DF6DD0 802403D0 46340002 */ mul.d $f0, $f0, $f20 +/* DF6DD4 802403D4 00000000 */ nop +/* DF6DD8 802403D8 36941630 */ ori $s4, $s4, 0x1630 +/* DF6DDC 802403DC 4600B0A1 */ cvt.d.s $f2, $f22 +/* DF6DE0 802403E0 46201080 */ add.d $f2, $f2, $f0 +/* DF6DE4 802403E4 27B30048 */ addiu $s3, $sp, 0x48 +/* DF6DE8 802403E8 0260202D */ daddu $a0, $s3, $zero +/* DF6DEC 802403EC 4600C607 */ neg.s $f24, $f24 +/* DF6DF0 802403F0 4406C000 */ mfc1 $a2, $f24 +/* DF6DF4 802403F4 462010A0 */ cvt.s.d $f2, $f2 +/* DF6DF8 802403F8 44051000 */ mfc1 $a1, $f2 +/* DF6DFC 802403FC 0C019E40 */ jal guTranslateF +/* DF6E00 80240400 0000382D */ daddu $a3, $zero, $zero +/* DF6E04 80240404 0260202D */ daddu $a0, $s3, $zero +/* DF6E08 80240408 3C108007 */ lui $s0, 0x8007 +/* DF6E0C 8024040C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* DF6E10 80240410 3C12800A */ lui $s2, 0x800a +/* DF6E14 80240414 2652A674 */ addiu $s2, $s2, -0x598c +/* DF6E18 80240418 96050000 */ lhu $a1, ($s0) +/* DF6E1C 8024041C 8E420000 */ lw $v0, ($s2) +/* DF6E20 80240420 00052980 */ sll $a1, $a1, 6 +/* DF6E24 80240424 00B42821 */ addu $a1, $a1, $s4 +/* DF6E28 80240428 0C019D40 */ jal guMtxF2L +/* DF6E2C 8024042C 00452821 */ addu $a1, $v0, $a1 +/* DF6E30 80240430 3C02DA38 */ lui $v0, 0xda38 +/* DF6E34 80240434 34420002 */ ori $v0, $v0, 2 +/* DF6E38 80240438 3C11800A */ lui $s1, 0x800a +/* DF6E3C 8024043C 2631A66C */ addiu $s1, $s1, -0x5994 +/* DF6E40 80240440 8E240000 */ lw $a0, ($s1) +/* DF6E44 80240444 96050000 */ lhu $a1, ($s0) +/* DF6E48 80240448 0080302D */ daddu $a2, $a0, $zero +/* DF6E4C 8024044C ACC20000 */ sw $v0, ($a2) +/* DF6E50 80240450 30A2FFFF */ andi $v0, $a1, 0xffff +/* DF6E54 80240454 00021180 */ sll $v0, $v0, 6 +/* DF6E58 80240458 8E430000 */ lw $v1, ($s2) +/* DF6E5C 8024045C 00541021 */ addu $v0, $v0, $s4 +/* DF6E60 80240460 00621821 */ addu $v1, $v1, $v0 +/* DF6E64 80240464 3C028000 */ lui $v0, 0x8000 +/* DF6E68 80240468 00621821 */ addu $v1, $v1, $v0 +/* DF6E6C 8024046C ACC30004 */ sw $v1, 4($a2) +/* DF6E70 80240470 8EA20000 */ lw $v0, ($s5) +/* DF6E74 80240474 24840008 */ addiu $a0, $a0, 8 +/* DF6E78 80240478 AE240000 */ sw $a0, ($s1) +/* DF6E7C 8024047C AFA20020 */ sw $v0, 0x20($sp) +/* DF6E80 80240480 8EA20004 */ lw $v0, 4($s5) +/* DF6E84 80240484 24A50001 */ addiu $a1, $a1, 1 +/* DF6E88 80240488 A6050000 */ sh $a1, ($s0) +/* DF6E8C 8024048C AFA20024 */ sw $v0, 0x24($sp) +/* DF6E90 80240490 92A20008 */ lbu $v0, 8($s5) +/* DF6E94 80240494 A7A20028 */ sh $v0, 0x28($sp) +/* DF6E98 80240498 92A20009 */ lbu $v0, 9($s5) +/* DF6E9C 8024049C A7A2002A */ sh $v0, 0x2a($sp) +/* DF6EA0 802404A0 92A2000A */ lbu $v0, 0xa($s5) +/* DF6EA4 802404A4 0260382D */ daddu $a3, $s3, $zero +/* DF6EA8 802404A8 44820000 */ mtc1 $v0, $f0 +/* DF6EAC 802404AC 00000000 */ nop +/* DF6EB0 802404B0 46800021 */ cvt.d.w $f0, $f0 +/* DF6EB4 802404B4 46340002 */ mul.d $f0, $f0, $f20 +/* DF6EB8 802404B8 00000000 */ nop +/* DF6EBC 802404BC 0000202D */ daddu $a0, $zero, $zero +/* DF6EC0 802404C0 3C060005 */ lui $a2, 5 +/* DF6EC4 802404C4 34C60040 */ ori $a2, $a2, 0x40 +/* DF6EC8 802404C8 27A50020 */ addiu $a1, $sp, 0x20 +/* DF6ECC 802404CC A7A0002E */ sh $zero, 0x2e($sp) +/* DF6ED0 802404D0 240200FF */ addiu $v0, $zero, 0xff +/* DF6ED4 802404D4 A3A20030 */ sb $v0, 0x30($sp) +/* DF6ED8 802404D8 46200007 */ neg.d $f0, $f0 +/* DF6EDC 802404DC 4620010D */ trunc.w.d $f4, $f0 +/* DF6EE0 802404E0 44022000 */ mfc1 $v0, $f4 +/* DF6EE4 802404E4 0C04EBDC */ jal func_8013AF70 +/* DF6EE8 802404E8 A7A2002C */ sh $v0, 0x2c($sp) +/* DF6EEC 802404EC 3C04D838 */ lui $a0, 0xd838 +/* DF6EF0 802404F0 8E220000 */ lw $v0, ($s1) +/* DF6EF4 802404F4 34840002 */ ori $a0, $a0, 2 +/* DF6EF8 802404F8 0040182D */ daddu $v1, $v0, $zero +/* DF6EFC 802404FC 24420008 */ addiu $v0, $v0, 8 +/* DF6F00 80240500 AE220000 */ sw $v0, ($s1) +/* DF6F04 80240504 24020040 */ addiu $v0, $zero, 0x40 +/* DF6F08 80240508 AC640000 */ sw $a0, ($v1) +/* DF6F0C 8024050C AC620004 */ sw $v0, 4($v1) +/* DF6F10 80240510 8FBF00A0 */ lw $ra, 0xa0($sp) +/* DF6F14 80240514 8FB5009C */ lw $s5, 0x9c($sp) +/* DF6F18 80240518 8FB40098 */ lw $s4, 0x98($sp) +/* DF6F1C 8024051C 8FB30094 */ lw $s3, 0x94($sp) +/* DF6F20 80240520 8FB20090 */ lw $s2, 0x90($sp) +/* DF6F24 80240524 8FB1008C */ lw $s1, 0x8c($sp) +/* DF6F28 80240528 8FB00088 */ lw $s0, 0x88($sp) +/* DF6F2C 8024052C D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* DF6F30 80240530 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* DF6F34 80240534 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* DF6F38 80240538 03E00008 */ jr $ra +/* DF6F3C 8024053C 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240540_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240540_DF6A00.s new file mode 100644 index 0000000000..8ab6f9a32e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240540_DF6A00.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_DF6F40 +/* DF6F40 80240540 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* DF6F44 80240544 AFB200D0 */ sw $s2, 0xd0($sp) +/* DF6F48 80240548 0080902D */ daddu $s2, $a0, $zero +/* DF6F4C 8024054C AFB000C8 */ sw $s0, 0xc8($sp) +/* DF6F50 80240550 00A0802D */ daddu $s0, $a1, $zero +/* DF6F54 80240554 AFBF00E0 */ sw $ra, 0xe0($sp) +/* DF6F58 80240558 AFB500DC */ sw $s5, 0xdc($sp) +/* DF6F5C 8024055C AFB400D8 */ sw $s4, 0xd8($sp) +/* DF6F60 80240560 AFB300D4 */ sw $s3, 0xd4($sp) +/* DF6F64 80240564 AFB100CC */ sw $s1, 0xcc($sp) +/* DF6F68 80240568 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* DF6F6C 8024056C F7BA0100 */ sdc1 $f26, 0x100($sp) +/* DF6F70 80240570 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* DF6F74 80240574 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* DF6F78 80240578 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* DF6F7C 8024057C C6160010 */ lwc1 $f22, 0x10($s0) +/* DF6F80 80240580 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF6F84 80240584 3C054180 */ lui $a1, 0x4180 +/* DF6F88 80240588 3C064396 */ lui $a2, 0x4396 +/* DF6F8C 8024058C 8E42001C */ lw $v0, 0x1c($s2) +/* DF6F90 80240590 C61C0014 */ lwc1 $f28, 0x14($s0) +/* DF6F94 80240594 4680E720 */ cvt.s.w $f28, $f28 +/* DF6F98 80240598 AFA20010 */ sw $v0, 0x10($sp) +/* DF6F9C 8024059C 8E070018 */ lw $a3, 0x18($s0) +/* DF6FA0 802405A0 0C00A8ED */ jal update_lerp +/* DF6FA4 802405A4 2404000C */ addiu $a0, $zero, 0xc +/* DF6FA8 802405A8 3C01437F */ lui $at, 0x437f +/* DF6FAC 802405AC 44811000 */ mtc1 $at, $f2 +/* DF6FB0 802405B0 00000000 */ nop +/* DF6FB4 802405B4 4600103C */ c.lt.s $f2, $f0 +/* DF6FB8 802405B8 00000000 */ nop +/* DF6FBC 802405BC 45000002 */ bc1f .L802405C8 +/* DF6FC0 802405C0 27B10038 */ addiu $s1, $sp, 0x38 +/* DF6FC4 802405C4 46001006 */ mov.s $f0, $f2 +.L802405C8: +/* DF6FC8 802405C8 4600010D */ trunc.w.s $f4, $f0 +/* DF6FCC 802405CC E7A40014 */ swc1 $f4, 0x14($sp) +/* DF6FD0 802405D0 0000202D */ daddu $a0, $zero, $zero +/* DF6FD4 802405D4 24050007 */ addiu $a1, $zero, 7 +/* DF6FD8 802405D8 240600FF */ addiu $a2, $zero, 0xff +/* DF6FDC 802405DC 00C0382D */ daddu $a3, $a2, $zero +/* DF6FE0 802405E0 00C0A82D */ daddu $s5, $a2, $zero +/* DF6FE4 802405E4 AFB50010 */ sw $s5, 0x10($sp) +/* DF6FE8 802405E8 0C04EAA7 */ jal func_8013AA9C +/* DF6FEC 802405EC AFA00018 */ sw $zero, 0x18($sp) +/* DF6FF0 802405F0 8E42001C */ lw $v0, 0x1c($s2) +/* DF6FF4 802405F4 3C053E4C */ lui $a1, 0x3e4c +/* DF6FF8 802405F8 34A5CCCD */ ori $a1, $a1, 0xcccd +/* DF6FFC 802405FC 3C064000 */ lui $a2, 0x4000 +/* DF7000 80240600 AFA20010 */ sw $v0, 0x10($sp) +/* DF7004 80240604 8E070018 */ lw $a3, 0x18($s0) +/* DF7008 80240608 0C00A8ED */ jal update_lerp +/* DF700C 8024060C 0000202D */ daddu $a0, $zero, $zero +/* DF7010 80240610 46000506 */ mov.s $f20, $f0 +/* DF7014 80240614 3C013FF0 */ lui $at, 0x3ff0 +/* DF7018 80240618 4481C800 */ mtc1 $at, $f25 +/* DF701C 8024061C 4480C000 */ mtc1 $zero, $f24 +/* DF7020 80240620 4600A021 */ cvt.d.s $f0, $f20 +/* DF7024 80240624 4620C03C */ c.lt.d $f24, $f0 +/* DF7028 80240628 00000000 */ nop +/* DF702C 8024062C 45000003 */ bc1f .L8024063C +/* DF7030 80240630 AFB10010 */ sw $s1, 0x10($sp) +/* DF7034 80240634 3C013F80 */ lui $at, 0x3f80 +/* DF7038 80240638 4481A000 */ mtc1 $at, $f20 +.L8024063C: +/* DF703C 8024063C 8E040004 */ lw $a0, 4($s0) +/* DF7040 80240640 8E050008 */ lw $a1, 8($s0) +/* DF7044 80240644 8E060000 */ lw $a2, ($s0) +/* DF7048 80240648 0C04BA38 */ jal func_8012E8E0 +/* DF704C 8024064C 8E07000C */ lw $a3, 0xc($s0) +/* DF7050 80240650 93A20042 */ lbu $v0, 0x42($sp) +/* DF7054 80240654 3C013FE0 */ lui $at, 0x3fe0 +/* DF7058 80240658 4481D800 */ mtc1 $at, $f27 +/* DF705C 8024065C 4480D000 */ mtc1 $zero, $f26 +/* DF7060 80240660 44820000 */ mtc1 $v0, $f0 +/* DF7064 80240664 00000000 */ nop +/* DF7068 80240668 46800021 */ cvt.d.w $f0, $f0 +/* DF706C 8024066C 463A0002 */ mul.d $f0, $f0, $f26 +/* DF7070 80240670 00000000 */ nop +/* DF7074 80240674 4600B0A1 */ cvt.d.s $f2, $f22 +/* DF7078 80240678 46201080 */ add.d $f2, $f2, $f0 +/* DF707C 8024067C 27B40048 */ addiu $s4, $sp, 0x48 +/* DF7080 80240680 0280202D */ daddu $a0, $s4, $zero +/* DF7084 80240684 4600E707 */ neg.s $f28, $f28 +/* DF7088 80240688 4406E000 */ mfc1 $a2, $f28 +/* DF708C 8024068C 462010A0 */ cvt.s.d $f2, $f2 +/* DF7090 80240690 44051000 */ mfc1 $a1, $f2 +/* DF7094 80240694 0C019E40 */ jal guTranslateF +/* DF7098 80240698 0000382D */ daddu $a3, $zero, $zero +/* DF709C 8024069C 4600A021 */ cvt.d.s $f0, $f20 +/* DF70A0 802406A0 46380032 */ c.eq.d $f0, $f24 +/* DF70A4 802406A4 00000000 */ nop +/* DF70A8 802406A8 4501000C */ bc1t .L802406DC +/* DF70AC 802406AC 3C130001 */ lui $s3, 1 +/* DF70B0 802406B0 27B00088 */ addiu $s0, $sp, 0x88 +/* DF70B4 802406B4 0200202D */ daddu $a0, $s0, $zero +/* DF70B8 802406B8 4405A000 */ mfc1 $a1, $f20 +/* DF70BC 802406BC 3C073F80 */ lui $a3, 0x3f80 +/* DF70C0 802406C0 0C019DF0 */ jal guScaleF +/* DF70C4 802406C4 00A0302D */ daddu $a2, $a1, $zero +/* DF70C8 802406C8 0200202D */ daddu $a0, $s0, $zero +/* DF70CC 802406CC 0280282D */ daddu $a1, $s4, $zero +/* DF70D0 802406D0 0C019D80 */ jal guMtxCatF +/* DF70D4 802406D4 0280302D */ daddu $a2, $s4, $zero +/* DF70D8 802406D8 3C130001 */ lui $s3, 1 +.L802406DC: +/* DF70DC 802406DC 36731630 */ ori $s3, $s3, 0x1630 +/* DF70E0 802406E0 0280202D */ daddu $a0, $s4, $zero +/* DF70E4 802406E4 3C118007 */ lui $s1, 0x8007 +/* DF70E8 802406E8 263141F0 */ addiu $s1, $s1, 0x41f0 +/* DF70EC 802406EC 3C12800A */ lui $s2, 0x800a +/* DF70F0 802406F0 2652A674 */ addiu $s2, $s2, -0x598c +/* DF70F4 802406F4 96250000 */ lhu $a1, ($s1) +/* DF70F8 802406F8 8E420000 */ lw $v0, ($s2) +/* DF70FC 802406FC 00052980 */ sll $a1, $a1, 6 +/* DF7100 80240700 00B32821 */ addu $a1, $a1, $s3 +/* DF7104 80240704 0C019D40 */ jal guMtxF2L +/* DF7108 80240708 00452821 */ addu $a1, $v0, $a1 +/* DF710C 8024070C 3C03DA38 */ lui $v1, 0xda38 +/* DF7110 80240710 34630002 */ ori $v1, $v1, 2 +/* DF7114 80240714 0000202D */ daddu $a0, $zero, $zero +/* DF7118 80240718 27A50020 */ addiu $a1, $sp, 0x20 +/* DF711C 8024071C 24060040 */ addiu $a2, $zero, 0x40 +/* DF7120 80240720 3C10800A */ lui $s0, 0x800a +/* DF7124 80240724 2610A66C */ addiu $s0, $s0, -0x5994 +/* DF7128 80240728 0280382D */ daddu $a3, $s4, $zero +/* DF712C 8024072C 8E020000 */ lw $v0, ($s0) +/* DF7130 80240730 96280000 */ lhu $t0, ($s1) +/* DF7134 80240734 0040482D */ daddu $t1, $v0, $zero +/* DF7138 80240738 24420008 */ addiu $v0, $v0, 8 +/* DF713C 8024073C AE020000 */ sw $v0, ($s0) +/* DF7140 80240740 3102FFFF */ andi $v0, $t0, 0xffff +/* DF7144 80240744 00021180 */ sll $v0, $v0, 6 +/* DF7148 80240748 00531021 */ addu $v0, $v0, $s3 +/* DF714C 8024074C AD230000 */ sw $v1, ($t1) +/* DF7150 80240750 8E430000 */ lw $v1, ($s2) +/* DF7154 80240754 25080001 */ addiu $t0, $t0, 1 +/* DF7158 80240758 00621821 */ addu $v1, $v1, $v0 +/* DF715C 8024075C 3C028000 */ lui $v0, 0x8000 +/* DF7160 80240760 00621821 */ addu $v1, $v1, $v0 +/* DF7164 80240764 AD230004 */ sw $v1, 4($t1) +/* DF7168 80240768 93A20042 */ lbu $v0, 0x42($sp) +/* DF716C 8024076C 8FA3003C */ lw $v1, 0x3c($sp) +/* DF7170 80240770 93A90040 */ lbu $t1, 0x40($sp) +/* DF7174 80240774 93AA0041 */ lbu $t2, 0x41($sp) +/* DF7178 80240778 44820000 */ mtc1 $v0, $f0 +/* DF717C 8024077C 00000000 */ nop +/* DF7180 80240780 46800021 */ cvt.d.w $f0, $f0 +/* DF7184 80240784 8FA20038 */ lw $v0, 0x38($sp) +/* DF7188 80240788 463A0002 */ mul.d $f0, $f0, $f26 +/* DF718C 8024078C 00000000 */ nop +/* DF7190 80240790 A6280000 */ sh $t0, ($s1) +/* DF7194 80240794 A7A0002E */ sh $zero, 0x2e($sp) +/* DF7198 80240798 A3B50030 */ sb $s5, 0x30($sp) +/* DF719C 8024079C AFA30024 */ sw $v1, 0x24($sp) +/* DF71A0 802407A0 A7A90028 */ sh $t1, 0x28($sp) +/* DF71A4 802407A4 A7AA002A */ sh $t2, 0x2a($sp) +/* DF71A8 802407A8 AFA20020 */ sw $v0, 0x20($sp) +/* DF71AC 802407AC 46200007 */ neg.d $f0, $f0 +/* DF71B0 802407B0 4620010D */ trunc.w.d $f4, $f0 +/* DF71B4 802407B4 44022000 */ mfc1 $v0, $f4 +/* DF71B8 802407B8 0C04EBDC */ jal func_8013AF70 +/* DF71BC 802407BC A7A2002C */ sh $v0, 0x2c($sp) +/* DF71C0 802407C0 3C04D838 */ lui $a0, 0xd838 +/* DF71C4 802407C4 8E020000 */ lw $v0, ($s0) +/* DF71C8 802407C8 34840002 */ ori $a0, $a0, 2 +/* DF71CC 802407CC 0040182D */ daddu $v1, $v0, $zero +/* DF71D0 802407D0 24420008 */ addiu $v0, $v0, 8 +/* DF71D4 802407D4 AE020000 */ sw $v0, ($s0) +/* DF71D8 802407D8 24020040 */ addiu $v0, $zero, 0x40 +/* DF71DC 802407DC AC640000 */ sw $a0, ($v1) +/* DF71E0 802407E0 AC620004 */ sw $v0, 4($v1) +/* DF71E4 802407E4 8FBF00E0 */ lw $ra, 0xe0($sp) +/* DF71E8 802407E8 8FB500DC */ lw $s5, 0xdc($sp) +/* DF71EC 802407EC 8FB400D8 */ lw $s4, 0xd8($sp) +/* DF71F0 802407F0 8FB300D4 */ lw $s3, 0xd4($sp) +/* DF71F4 802407F4 8FB200D0 */ lw $s2, 0xd0($sp) +/* DF71F8 802407F8 8FB100CC */ lw $s1, 0xcc($sp) +/* DF71FC 802407FC 8FB000C8 */ lw $s0, 0xc8($sp) +/* DF7200 80240800 D7BC0108 */ ldc1 $f28, 0x108($sp) +/* DF7204 80240804 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* DF7208 80240808 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* DF720C 8024080C D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* DF7210 80240810 D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* DF7214 80240814 03E00008 */ jr $ra +/* DF7218 80240818 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_00/func_8024081C_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_8024081C_DF6A00.s new file mode 100644 index 0000000000..43217d860f --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_8024081C_DF6A00.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_DF721C +/* DF721C 8024081C 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* DF7220 80240820 AFB200D0 */ sw $s2, 0xd0($sp) +/* DF7224 80240824 0080902D */ daddu $s2, $a0, $zero +/* DF7228 80240828 AFB000C8 */ sw $s0, 0xc8($sp) +/* DF722C 8024082C 00A0802D */ daddu $s0, $a1, $zero +/* DF7230 80240830 AFBF00E0 */ sw $ra, 0xe0($sp) +/* DF7234 80240834 AFB500DC */ sw $s5, 0xdc($sp) +/* DF7238 80240838 AFB400D8 */ sw $s4, 0xd8($sp) +/* DF723C 8024083C AFB300D4 */ sw $s3, 0xd4($sp) +/* DF7240 80240840 AFB100CC */ sw $s1, 0xcc($sp) +/* DF7244 80240844 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* DF7248 80240848 F7BA0100 */ sdc1 $f26, 0x100($sp) +/* DF724C 8024084C F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* DF7250 80240850 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* DF7254 80240854 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* DF7258 80240858 C6180010 */ lwc1 $f24, 0x10($s0) +/* DF725C 8024085C 4680C620 */ cvt.s.w $f24, $f24 +/* DF7260 80240860 3C054200 */ lui $a1, 0x4200 +/* DF7264 80240864 3C064396 */ lui $a2, 0x4396 +/* DF7268 80240868 8E42001C */ lw $v0, 0x1c($s2) +/* DF726C 8024086C C61C0014 */ lwc1 $f28, 0x14($s0) +/* DF7270 80240870 4680E720 */ cvt.s.w $f28, $f28 +/* DF7274 80240874 AFA20010 */ sw $v0, 0x10($sp) +/* DF7278 80240878 8E070018 */ lw $a3, 0x18($s0) +/* DF727C 8024087C 0C00A8ED */ jal update_lerp +/* DF7280 80240880 2404000C */ addiu $a0, $zero, 0xc +/* DF7284 80240884 3C01437F */ lui $at, 0x437f +/* DF7288 80240888 44811000 */ mtc1 $at, $f2 +/* DF728C 8024088C 00000000 */ nop +/* DF7290 80240890 4600103C */ c.lt.s $f2, $f0 +/* DF7294 80240894 00000000 */ nop +/* DF7298 80240898 45000002 */ bc1f .L802408A4 +/* DF729C 8024089C 27B10038 */ addiu $s1, $sp, 0x38 +/* DF72A0 802408A0 46001006 */ mov.s $f0, $f2 +.L802408A4: +/* DF72A4 802408A4 4600010D */ trunc.w.s $f4, $f0 +/* DF72A8 802408A8 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF72AC 802408AC 0000202D */ daddu $a0, $zero, $zero +/* DF72B0 802408B0 24050007 */ addiu $a1, $zero, 7 +/* DF72B4 802408B4 240600FF */ addiu $a2, $zero, 0xff +/* DF72B8 802408B8 00C0382D */ daddu $a3, $a2, $zero +/* DF72BC 802408BC 00C0A82D */ daddu $s5, $a2, $zero +/* DF72C0 802408C0 AFB50010 */ sw $s5, 0x10($sp) +/* DF72C4 802408C4 0C04EAA7 */ jal func_8013AA9C +/* DF72C8 802408C8 AFA00018 */ sw $zero, 0x18($sp) +/* DF72CC 802408CC 8E42001C */ lw $v0, 0x1c($s2) +/* DF72D0 802408D0 3C05C296 */ lui $a1, 0xc296 +/* DF72D4 802408D4 3C0641F0 */ lui $a2, 0x41f0 +/* DF72D8 802408D8 AFA20010 */ sw $v0, 0x10($sp) +/* DF72DC 802408DC 8E070018 */ lw $a3, 0x18($s0) +/* DF72E0 802408E0 0C00A8ED */ jal update_lerp +/* DF72E4 802408E4 0000202D */ daddu $a0, $zero, $zero +/* DF72E8 802408E8 4480B000 */ mtc1 $zero, $f22 +/* DF72EC 802408EC 46000506 */ mov.s $f20, $f0 +/* DF72F0 802408F0 4614B03E */ c.le.s $f22, $f20 +/* DF72F4 802408F4 00000000 */ nop +/* DF72F8 802408F8 45030001 */ bc1tl .L80240900 +/* DF72FC 802408FC 4600B506 */ mov.s $f20, $f22 +.L80240900: +/* DF7300 80240900 AFB10010 */ sw $s1, 0x10($sp) +/* DF7304 80240904 8E040004 */ lw $a0, 4($s0) +/* DF7308 80240908 8E050008 */ lw $a1, 8($s0) +/* DF730C 8024090C 8E060000 */ lw $a2, ($s0) +/* DF7310 80240910 0C04BA38 */ jal func_8012E8E0 +/* DF7314 80240914 8E07000C */ lw $a3, 0xc($s0) +/* DF7318 80240918 93A20042 */ lbu $v0, 0x42($sp) +/* DF731C 8024091C 3C013FE0 */ lui $at, 0x3fe0 +/* DF7320 80240920 4481D800 */ mtc1 $at, $f27 +/* DF7324 80240924 4480D000 */ mtc1 $zero, $f26 +/* DF7328 80240928 44820000 */ mtc1 $v0, $f0 +/* DF732C 8024092C 00000000 */ nop +/* DF7330 80240930 46800021 */ cvt.d.w $f0, $f0 +/* DF7334 80240934 463A0002 */ mul.d $f0, $f0, $f26 +/* DF7338 80240938 00000000 */ nop +/* DF733C 8024093C 4600C0A1 */ cvt.d.s $f2, $f24 +/* DF7340 80240940 27B40048 */ addiu $s4, $sp, 0x48 +/* DF7344 80240944 4600E707 */ neg.s $f28, $f28 +/* DF7348 80240948 46201080 */ add.d $f2, $f2, $f0 +/* DF734C 8024094C 4406E000 */ mfc1 $a2, $f28 +/* DF7350 80240950 4407B000 */ mfc1 $a3, $f22 +/* DF7354 80240954 462010A0 */ cvt.s.d $f2, $f2 +/* DF7358 80240958 44051000 */ mfc1 $a1, $f2 +/* DF735C 8024095C 0C019E40 */ jal guTranslateF +/* DF7360 80240960 0280202D */ daddu $a0, $s4, $zero +/* DF7364 80240964 4616A032 */ c.eq.s $f20, $f22 +/* DF7368 80240968 00000000 */ nop +/* DF736C 8024096C 4501000D */ bc1t .L802409A4 +/* DF7370 80240970 3C130001 */ lui $s3, 1 +/* DF7374 80240974 27B00088 */ addiu $s0, $sp, 0x88 +/* DF7378 80240978 4405A000 */ mfc1 $a1, $f20 +/* DF737C 8024097C 4406B000 */ mfc1 $a2, $f22 +/* DF7380 80240980 3C073F80 */ lui $a3, 0x3f80 +/* DF7384 80240984 0200202D */ daddu $a0, $s0, $zero +/* DF7388 80240988 0C019EC8 */ jal guRotateF +/* DF738C 8024098C AFA60010 */ sw $a2, 0x10($sp) +/* DF7390 80240990 0200202D */ daddu $a0, $s0, $zero +/* DF7394 80240994 0280282D */ daddu $a1, $s4, $zero +/* DF7398 80240998 0C019D80 */ jal guMtxCatF +/* DF739C 8024099C 0280302D */ daddu $a2, $s4, $zero +/* DF73A0 802409A0 3C130001 */ lui $s3, 1 +.L802409A4: +/* DF73A4 802409A4 36731630 */ ori $s3, $s3, 0x1630 +/* DF73A8 802409A8 0280202D */ daddu $a0, $s4, $zero +/* DF73AC 802409AC 3C118007 */ lui $s1, 0x8007 +/* DF73B0 802409B0 263141F0 */ addiu $s1, $s1, 0x41f0 +/* DF73B4 802409B4 3C12800A */ lui $s2, 0x800a +/* DF73B8 802409B8 2652A674 */ addiu $s2, $s2, -0x598c +/* DF73BC 802409BC 96250000 */ lhu $a1, ($s1) +/* DF73C0 802409C0 8E420000 */ lw $v0, ($s2) +/* DF73C4 802409C4 00052980 */ sll $a1, $a1, 6 +/* DF73C8 802409C8 00B32821 */ addu $a1, $a1, $s3 +/* DF73CC 802409CC 0C019D40 */ jal guMtxF2L +/* DF73D0 802409D0 00452821 */ addu $a1, $v0, $a1 +/* DF73D4 802409D4 3C03DA38 */ lui $v1, 0xda38 +/* DF73D8 802409D8 34630002 */ ori $v1, $v1, 2 +/* DF73DC 802409DC 0000202D */ daddu $a0, $zero, $zero +/* DF73E0 802409E0 27A50020 */ addiu $a1, $sp, 0x20 +/* DF73E4 802409E4 3C060001 */ lui $a2, 1 +/* DF73E8 802409E8 34C60040 */ ori $a2, $a2, 0x40 +/* DF73EC 802409EC 3C10800A */ lui $s0, 0x800a +/* DF73F0 802409F0 2610A66C */ addiu $s0, $s0, -0x5994 +/* DF73F4 802409F4 0280382D */ daddu $a3, $s4, $zero +/* DF73F8 802409F8 8E020000 */ lw $v0, ($s0) +/* DF73FC 802409FC 96280000 */ lhu $t0, ($s1) +/* DF7400 80240A00 0040482D */ daddu $t1, $v0, $zero +/* DF7404 80240A04 24420008 */ addiu $v0, $v0, 8 +/* DF7408 80240A08 AE020000 */ sw $v0, ($s0) +/* DF740C 80240A0C 3102FFFF */ andi $v0, $t0, 0xffff +/* DF7410 80240A10 00021180 */ sll $v0, $v0, 6 +/* DF7414 80240A14 00531021 */ addu $v0, $v0, $s3 +/* DF7418 80240A18 AD230000 */ sw $v1, ($t1) +/* DF741C 80240A1C 8E430000 */ lw $v1, ($s2) +/* DF7420 80240A20 25080001 */ addiu $t0, $t0, 1 +/* DF7424 80240A24 00621821 */ addu $v1, $v1, $v0 +/* DF7428 80240A28 3C028000 */ lui $v0, 0x8000 +/* DF742C 80240A2C 00621821 */ addu $v1, $v1, $v0 +/* DF7430 80240A30 AD230004 */ sw $v1, 4($t1) +/* DF7434 80240A34 93A20042 */ lbu $v0, 0x42($sp) +/* DF7438 80240A38 8FA3003C */ lw $v1, 0x3c($sp) +/* DF743C 80240A3C 93A90040 */ lbu $t1, 0x40($sp) +/* DF7440 80240A40 93AA0041 */ lbu $t2, 0x41($sp) +/* DF7444 80240A44 44820000 */ mtc1 $v0, $f0 +/* DF7448 80240A48 00000000 */ nop +/* DF744C 80240A4C 46800021 */ cvt.d.w $f0, $f0 +/* DF7450 80240A50 8FA20038 */ lw $v0, 0x38($sp) +/* DF7454 80240A54 463A0002 */ mul.d $f0, $f0, $f26 +/* DF7458 80240A58 00000000 */ nop +/* DF745C 80240A5C A6280000 */ sh $t0, ($s1) +/* DF7460 80240A60 A7A0002E */ sh $zero, 0x2e($sp) +/* DF7464 80240A64 A3B50030 */ sb $s5, 0x30($sp) +/* DF7468 80240A68 AFA30024 */ sw $v1, 0x24($sp) +/* DF746C 80240A6C A7A90028 */ sh $t1, 0x28($sp) +/* DF7470 80240A70 A7AA002A */ sh $t2, 0x2a($sp) +/* DF7474 80240A74 AFA20020 */ sw $v0, 0x20($sp) +/* DF7478 80240A78 46200007 */ neg.d $f0, $f0 +/* DF747C 80240A7C 4620010D */ trunc.w.d $f4, $f0 +/* DF7480 80240A80 44022000 */ mfc1 $v0, $f4 +/* DF7484 80240A84 0C04EBDC */ jal func_8013AF70 +/* DF7488 80240A88 A7A2002C */ sh $v0, 0x2c($sp) +/* DF748C 80240A8C 3C04D838 */ lui $a0, 0xd838 +/* DF7490 80240A90 8E020000 */ lw $v0, ($s0) +/* DF7494 80240A94 34840002 */ ori $a0, $a0, 2 +/* DF7498 80240A98 0040182D */ daddu $v1, $v0, $zero +/* DF749C 80240A9C 24420008 */ addiu $v0, $v0, 8 +/* DF74A0 80240AA0 AE020000 */ sw $v0, ($s0) +/* DF74A4 80240AA4 24020040 */ addiu $v0, $zero, 0x40 +/* DF74A8 80240AA8 AC640000 */ sw $a0, ($v1) +/* DF74AC 80240AAC AC620004 */ sw $v0, 4($v1) +/* DF74B0 80240AB0 8FBF00E0 */ lw $ra, 0xe0($sp) +/* DF74B4 80240AB4 8FB500DC */ lw $s5, 0xdc($sp) +/* DF74B8 80240AB8 8FB400D8 */ lw $s4, 0xd8($sp) +/* DF74BC 80240ABC 8FB300D4 */ lw $s3, 0xd4($sp) +/* DF74C0 80240AC0 8FB200D0 */ lw $s2, 0xd0($sp) +/* DF74C4 80240AC4 8FB100CC */ lw $s1, 0xcc($sp) +/* DF74C8 80240AC8 8FB000C8 */ lw $s0, 0xc8($sp) +/* DF74CC 80240ACC D7BC0108 */ ldc1 $f28, 0x108($sp) +/* DF74D0 80240AD0 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* DF74D4 80240AD4 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* DF74D8 80240AD8 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* DF74DC 80240ADC D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* DF74E0 80240AE0 03E00008 */ jr $ra +/* DF74E4 80240AE4 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240AE8_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240AE8_DF6A00.s new file mode 100644 index 0000000000..081a476c5e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240AE8_DF6A00.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE8_DF74E8 +/* DF74E8 80240AE8 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* DF74EC 80240AEC AFB000C8 */ sw $s0, 0xc8($sp) +/* DF74F0 80240AF0 0080802D */ daddu $s0, $a0, $zero +/* DF74F4 80240AF4 AFB100CC */ sw $s1, 0xcc($sp) +/* DF74F8 80240AF8 00A0882D */ daddu $s1, $a1, $zero +/* DF74FC 80240AFC AFB600E0 */ sw $s6, 0xe0($sp) +/* DF7500 80240B00 24160040 */ addiu $s6, $zero, 0x40 +/* DF7504 80240B04 AFBF00E4 */ sw $ra, 0xe4($sp) +/* DF7508 80240B08 AFB500DC */ sw $s5, 0xdc($sp) +/* DF750C 80240B0C AFB400D8 */ sw $s4, 0xd8($sp) +/* DF7510 80240B10 AFB300D4 */ sw $s3, 0xd4($sp) +/* DF7514 80240B14 AFB200D0 */ sw $s2, 0xd0($sp) +/* DF7518 80240B18 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* DF751C 80240B1C F7BA0100 */ sdc1 $f26, 0x100($sp) +/* DF7520 80240B20 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* DF7524 80240B24 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* DF7528 80240B28 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* DF752C 80240B2C C6200010 */ lwc1 $f0, 0x10($s1) +/* DF7530 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* DF7534 80240B34 8E020068 */ lw $v0, 0x68($s0) +/* DF7538 80240B38 8E030014 */ lw $v1, 0x14($s0) +/* DF753C 80240B3C 44060000 */ mfc1 $a2, $f0 +/* DF7540 80240B40 8E07001C */ lw $a3, 0x1c($s0) +/* DF7544 80240B44 00431021 */ addu $v0, $v0, $v1 +/* DF7548 80240B48 2442FFF0 */ addiu $v0, $v0, -0x10 +/* DF754C 80240B4C 44822000 */ mtc1 $v0, $f4 +/* DF7550 80240B50 00000000 */ nop +/* DF7554 80240B54 46802120 */ cvt.s.w $f4, $f4 +/* DF7558 80240B58 8E03006C */ lw $v1, 0x6c($s0) +/* DF755C 80240B5C 44052000 */ mfc1 $a1, $f4 +/* DF7560 80240B60 AFA70010 */ sw $a3, 0x10($sp) +/* DF7564 80240B64 8E270018 */ lw $a3, 0x18($s1) +/* DF7568 80240B68 2463003C */ addiu $v1, $v1, 0x3c +/* DF756C 80240B6C 4483A000 */ mtc1 $v1, $f20 +/* DF7570 80240B70 00000000 */ nop +/* DF7574 80240B74 4680A520 */ cvt.s.w $f20, $f20 +/* DF7578 80240B78 0C00A8ED */ jal update_lerp +/* DF757C 80240B7C 2404000A */ addiu $a0, $zero, 0xa +/* DF7580 80240B80 C6220014 */ lwc1 $f2, 0x14($s1) +/* DF7584 80240B84 468010A0 */ cvt.s.w $f2, $f2 +/* DF7588 80240B88 4405A000 */ mfc1 $a1, $f20 +/* DF758C 80240B8C 44061000 */ mfc1 $a2, $f2 +/* DF7590 80240B90 8E02001C */ lw $v0, 0x1c($s0) +/* DF7594 80240B94 24040005 */ addiu $a0, $zero, 5 +/* DF7598 80240B98 AFA20010 */ sw $v0, 0x10($sp) +/* DF759C 80240B9C 8E270018 */ lw $a3, 0x18($s1) +/* DF75A0 80240BA0 0C00A8ED */ jal update_lerp +/* DF75A4 80240BA4 46000506 */ mov.s $f20, $f0 +/* DF75A8 80240BA8 27B50038 */ addiu $s5, $sp, 0x38 +/* DF75AC 80240BAC 8E220018 */ lw $v0, 0x18($s1) +/* DF75B0 80240BB0 8E03001C */ lw $v1, 0x1c($s0) +/* DF75B4 80240BB4 14430004 */ bne $v0, $v1, .L80240BC8 +/* DF75B8 80240BB8 46000706 */ mov.s $f28, $f0 +/* DF75BC 80240BBC 4480B000 */ mtc1 $zero, $f22 +/* DF75C0 80240BC0 080902F9 */ j .L80240BE4 +/* DF75C4 80240BC4 00000000 */ nop +.L80240BC8: +/* DF75C8 80240BC8 00621823 */ subu $v1, $v1, $v0 +/* DF75CC 80240BCC 00031080 */ sll $v0, $v1, 2 +/* DF75D0 80240BD0 00431021 */ addu $v0, $v0, $v1 +/* DF75D4 80240BD4 00021040 */ sll $v0, $v0, 1 +/* DF75D8 80240BD8 4482B000 */ mtc1 $v0, $f22 +/* DF75DC 80240BDC 00000000 */ nop +/* DF75E0 80240BE0 4680B5A0 */ cvt.s.w $f22, $f22 +.L80240BE4: +/* DF75E4 80240BE4 8E02001C */ lw $v0, 0x1c($s0) +/* DF75E8 80240BE8 3C054000 */ lui $a1, 0x4000 +/* DF75EC 80240BEC 3C063F80 */ lui $a2, 0x3f80 +/* DF75F0 80240BF0 AFA20010 */ sw $v0, 0x10($sp) +/* DF75F4 80240BF4 8E270018 */ lw $a3, 0x18($s1) +/* DF75F8 80240BF8 0C00A8ED */ jal update_lerp +/* DF75FC 80240BFC 24040004 */ addiu $a0, $zero, 4 +/* DF7600 80240C00 8E220018 */ lw $v0, 0x18($s1) +/* DF7604 80240C04 8E04001C */ lw $a0, 0x1c($s0) +/* DF7608 80240C08 1444000C */ bne $v0, $a0, .L80240C3C +/* DF760C 80240C0C 46000686 */ mov.s $f26, $f0 +/* DF7610 80240C10 0000202D */ daddu $a0, $zero, $zero +/* DF7614 80240C14 0080282D */ daddu $a1, $a0, $zero +/* DF7618 80240C18 0080302D */ daddu $a2, $a0, $zero +/* DF761C 80240C1C 0080382D */ daddu $a3, $a0, $zero +/* DF7620 80240C20 AFA00010 */ sw $zero, 0x10($sp) +/* DF7624 80240C24 AFA00014 */ sw $zero, 0x14($sp) +/* DF7628 80240C28 0C04EAA7 */ jal func_8013AA9C +/* DF762C 80240C2C AFA00018 */ sw $zero, 0x18($sp) +/* DF7630 80240C30 3C020001 */ lui $v0, 1 +/* DF7634 80240C34 08090326 */ j .L80240C98 +/* DF7638 80240C38 02C2B025 */ or $s6, $s6, $v0 +.L80240C3C: +/* DF763C 80240C3C 3C054180 */ lui $a1, 0x4180 +/* DF7640 80240C40 3C064396 */ lui $a2, 0x4396 +/* DF7644 80240C44 AFA40010 */ sw $a0, 0x10($sp) +/* DF7648 80240C48 8E270018 */ lw $a3, 0x18($s1) +/* DF764C 80240C4C 0C00A8ED */ jal update_lerp +/* DF7650 80240C50 0000202D */ daddu $a0, $zero, $zero +/* DF7654 80240C54 3C01437F */ lui $at, 0x437f +/* DF7658 80240C58 44811000 */ mtc1 $at, $f2 +/* DF765C 80240C5C 00000000 */ nop +/* DF7660 80240C60 4600103C */ c.lt.s $f2, $f0 +/* DF7664 80240C64 00000000 */ nop +/* DF7668 80240C68 45030001 */ bc1tl .L80240C70 +/* DF766C 80240C6C 46001006 */ mov.s $f0, $f2 +.L80240C70: +/* DF7670 80240C70 4600010D */ trunc.w.s $f4, $f0 +/* DF7674 80240C74 E7A40014 */ swc1 $f4, 0x14($sp) +/* DF7678 80240C78 0000202D */ daddu $a0, $zero, $zero +/* DF767C 80240C7C 24050007 */ addiu $a1, $zero, 7 +/* DF7680 80240C80 240600FF */ addiu $a2, $zero, 0xff +/* DF7684 80240C84 00C0382D */ daddu $a3, $a2, $zero +/* DF7688 80240C88 00C0102D */ daddu $v0, $a2, $zero +/* DF768C 80240C8C AFA20010 */ sw $v0, 0x10($sp) +/* DF7690 80240C90 0C04EAA7 */ jal func_8013AA9C +/* DF7694 80240C94 AFA00018 */ sw $zero, 0x18($sp) +.L80240C98: +/* DF7698 80240C98 AFB50010 */ sw $s5, 0x10($sp) +/* DF769C 80240C9C 8E240004 */ lw $a0, 4($s1) +/* DF76A0 80240CA0 8E250008 */ lw $a1, 8($s1) +/* DF76A4 80240CA4 8E260000 */ lw $a2, ($s1) +/* DF76A8 80240CA8 8E27000C */ lw $a3, 0xc($s1) +/* DF76AC 80240CAC 0C04BA38 */ jal func_8012E8E0 +/* DF76B0 80240CB0 3C140001 */ lui $s4, 1 +/* DF76B4 80240CB4 92A2000A */ lbu $v0, 0xa($s5) +/* DF76B8 80240CB8 3C013FE0 */ lui $at, 0x3fe0 +/* DF76BC 80240CBC 4481C800 */ mtc1 $at, $f25 +/* DF76C0 80240CC0 4480C000 */ mtc1 $zero, $f24 +/* DF76C4 80240CC4 44820000 */ mtc1 $v0, $f0 +/* DF76C8 80240CC8 00000000 */ nop +/* DF76CC 80240CCC 46800021 */ cvt.d.w $f0, $f0 +/* DF76D0 80240CD0 46380002 */ mul.d $f0, $f0, $f24 +/* DF76D4 80240CD4 00000000 */ nop +/* DF76D8 80240CD8 36941630 */ ori $s4, $s4, 0x1630 +/* DF76DC 80240CDC 4600A0A1 */ cvt.d.s $f2, $f20 +/* DF76E0 80240CE0 27B10048 */ addiu $s1, $sp, 0x48 +/* DF76E4 80240CE4 4600E707 */ neg.s $f28, $f28 +/* DF76E8 80240CE8 4480A000 */ mtc1 $zero, $f20 +/* DF76EC 80240CEC 46201080 */ add.d $f2, $f2, $f0 +/* DF76F0 80240CF0 4406E000 */ mfc1 $a2, $f28 +/* DF76F4 80240CF4 4407A000 */ mfc1 $a3, $f20 +/* DF76F8 80240CF8 462010A0 */ cvt.s.d $f2, $f2 +/* DF76FC 80240CFC 44051000 */ mfc1 $a1, $f2 +/* DF7700 80240D00 0C019E40 */ jal guTranslateF +/* DF7704 80240D04 0220202D */ daddu $a0, $s1, $zero +/* DF7708 80240D08 27B00088 */ addiu $s0, $sp, 0x88 +/* DF770C 80240D0C 4405B000 */ mfc1 $a1, $f22 +/* DF7710 80240D10 3C013F80 */ lui $at, 0x3f80 +/* DF7714 80240D14 4481B000 */ mtc1 $at, $f22 +/* DF7718 80240D18 4406A000 */ mfc1 $a2, $f20 +/* DF771C 80240D1C 3C013E4C */ lui $at, 0x3e4c +/* DF7720 80240D20 3421CCCD */ ori $at, $at, 0xcccd +/* DF7724 80240D24 44810000 */ mtc1 $at, $f0 +/* DF7728 80240D28 4407B000 */ mfc1 $a3, $f22 +/* DF772C 80240D2C 0200202D */ daddu $a0, $s0, $zero +/* DF7730 80240D30 0C019EC8 */ jal guRotateF +/* DF7734 80240D34 E7A00010 */ swc1 $f0, 0x10($sp) +/* DF7738 80240D38 0200202D */ daddu $a0, $s0, $zero +/* DF773C 80240D3C 0220282D */ daddu $a1, $s1, $zero +/* DF7740 80240D40 0C019D80 */ jal guMtxCatF +/* DF7744 80240D44 0220302D */ daddu $a2, $s1, $zero +/* DF7748 80240D48 0200202D */ daddu $a0, $s0, $zero +/* DF774C 80240D4C 4405D000 */ mfc1 $a1, $f26 +/* DF7750 80240D50 4407B000 */ mfc1 $a3, $f22 +/* DF7754 80240D54 0C019DF0 */ jal guScaleF +/* DF7758 80240D58 00A0302D */ daddu $a2, $a1, $zero +/* DF775C 80240D5C 0200202D */ daddu $a0, $s0, $zero +/* DF7760 80240D60 0220282D */ daddu $a1, $s1, $zero +/* DF7764 80240D64 0C019D80 */ jal guMtxCatF +/* DF7768 80240D68 0220302D */ daddu $a2, $s1, $zero +/* DF776C 80240D6C 0220202D */ daddu $a0, $s1, $zero +/* DF7770 80240D70 3C108007 */ lui $s0, 0x8007 +/* DF7774 80240D74 261041F0 */ addiu $s0, $s0, 0x41f0 +/* DF7778 80240D78 3C13800A */ lui $s3, 0x800a +/* DF777C 80240D7C 2673A674 */ addiu $s3, $s3, -0x598c +/* DF7780 80240D80 96050000 */ lhu $a1, ($s0) +/* DF7784 80240D84 8E620000 */ lw $v0, ($s3) +/* DF7788 80240D88 00052980 */ sll $a1, $a1, 6 +/* DF778C 80240D8C 00B42821 */ addu $a1, $a1, $s4 +/* DF7790 80240D90 0C019D40 */ jal guMtxF2L +/* DF7794 80240D94 00452821 */ addu $a1, $v0, $a1 +/* DF7798 80240D98 3C02DA38 */ lui $v0, 0xda38 +/* DF779C 80240D9C 34420002 */ ori $v0, $v0, 2 +/* DF77A0 80240DA0 3C12800A */ lui $s2, 0x800a +/* DF77A4 80240DA4 2652A66C */ addiu $s2, $s2, -0x5994 +/* DF77A8 80240DA8 8E440000 */ lw $a0, ($s2) +/* DF77AC 80240DAC 96050000 */ lhu $a1, ($s0) +/* DF77B0 80240DB0 0080302D */ daddu $a2, $a0, $zero +/* DF77B4 80240DB4 ACC20000 */ sw $v0, ($a2) +/* DF77B8 80240DB8 30A2FFFF */ andi $v0, $a1, 0xffff +/* DF77BC 80240DBC 00021180 */ sll $v0, $v0, 6 +/* DF77C0 80240DC0 8E630000 */ lw $v1, ($s3) +/* DF77C4 80240DC4 00541021 */ addu $v0, $v0, $s4 +/* DF77C8 80240DC8 00621821 */ addu $v1, $v1, $v0 +/* DF77CC 80240DCC 3C028000 */ lui $v0, 0x8000 +/* DF77D0 80240DD0 00621821 */ addu $v1, $v1, $v0 +/* DF77D4 80240DD4 ACC30004 */ sw $v1, 4($a2) +/* DF77D8 80240DD8 8EA20000 */ lw $v0, ($s5) +/* DF77DC 80240DDC 24840008 */ addiu $a0, $a0, 8 +/* DF77E0 80240DE0 AE440000 */ sw $a0, ($s2) +/* DF77E4 80240DE4 AFA20020 */ sw $v0, 0x20($sp) +/* DF77E8 80240DE8 8EA20004 */ lw $v0, 4($s5) +/* DF77EC 80240DEC 24A50001 */ addiu $a1, $a1, 1 +/* DF77F0 80240DF0 A6050000 */ sh $a1, ($s0) +/* DF77F4 80240DF4 AFA20024 */ sw $v0, 0x24($sp) +/* DF77F8 80240DF8 92A20008 */ lbu $v0, 8($s5) +/* DF77FC 80240DFC A7A20028 */ sh $v0, 0x28($sp) +/* DF7800 80240E00 92A20009 */ lbu $v0, 9($s5) +/* DF7804 80240E04 A7A2002A */ sh $v0, 0x2a($sp) +/* DF7808 80240E08 92A2000A */ lbu $v0, 0xa($s5) +/* DF780C 80240E0C 44820000 */ mtc1 $v0, $f0 +/* DF7810 80240E10 00000000 */ nop +/* DF7814 80240E14 46800021 */ cvt.d.w $f0, $f0 +/* DF7818 80240E18 46380002 */ mul.d $f0, $f0, $f24 +/* DF781C 80240E1C 00000000 */ nop +/* DF7820 80240E20 0220382D */ daddu $a3, $s1, $zero +/* DF7824 80240E24 0000202D */ daddu $a0, $zero, $zero +/* DF7828 80240E28 02C0302D */ daddu $a2, $s6, $zero +/* DF782C 80240E2C 27A50020 */ addiu $a1, $sp, 0x20 +/* DF7830 80240E30 A7A0002E */ sh $zero, 0x2e($sp) +/* DF7834 80240E34 240200FF */ addiu $v0, $zero, 0xff +/* DF7838 80240E38 A3A20030 */ sb $v0, 0x30($sp) +/* DF783C 80240E3C 46200007 */ neg.d $f0, $f0 +/* DF7840 80240E40 4620010D */ trunc.w.d $f4, $f0 +/* DF7844 80240E44 44022000 */ mfc1 $v0, $f4 +/* DF7848 80240E48 0C04EBDC */ jal func_8013AF70 +/* DF784C 80240E4C A7A2002C */ sh $v0, 0x2c($sp) +/* DF7850 80240E50 3C04D838 */ lui $a0, 0xd838 +/* DF7854 80240E54 8E420000 */ lw $v0, ($s2) +/* DF7858 80240E58 34840002 */ ori $a0, $a0, 2 +/* DF785C 80240E5C 0040182D */ daddu $v1, $v0, $zero +/* DF7860 80240E60 24420008 */ addiu $v0, $v0, 8 +/* DF7864 80240E64 AE420000 */ sw $v0, ($s2) +/* DF7868 80240E68 24020040 */ addiu $v0, $zero, 0x40 +/* DF786C 80240E6C AC640000 */ sw $a0, ($v1) +/* DF7870 80240E70 AC620004 */ sw $v0, 4($v1) +/* DF7874 80240E74 8FBF00E4 */ lw $ra, 0xe4($sp) +/* DF7878 80240E78 8FB600E0 */ lw $s6, 0xe0($sp) +/* DF787C 80240E7C 8FB500DC */ lw $s5, 0xdc($sp) +/* DF7880 80240E80 8FB400D8 */ lw $s4, 0xd8($sp) +/* DF7884 80240E84 8FB300D4 */ lw $s3, 0xd4($sp) +/* DF7888 80240E88 8FB200D0 */ lw $s2, 0xd0($sp) +/* DF788C 80240E8C 8FB100CC */ lw $s1, 0xcc($sp) +/* DF7890 80240E90 8FB000C8 */ lw $s0, 0xc8($sp) +/* DF7894 80240E94 D7BC0108 */ ldc1 $f28, 0x108($sp) +/* DF7898 80240E98 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* DF789C 80240E9C D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* DF78A0 80240EA0 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* DF78A4 80240EA4 D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* DF78A8 80240EA8 03E00008 */ jr $ra +/* DF78AC 80240EAC 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240EB0.s b/asm/nonmatchings/world/area_end/end_00/func_80240EB0.s new file mode 100644 index 0000000000..a1932dac76 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240EB0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB0 +/* DF78B0 80240EB0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* DF78B4 80240EB4 AFB00048 */ sw $s0, 0x48($sp) +/* DF78B8 80240EB8 00A0802D */ daddu $s0, $a1, $zero +/* DF78BC 80240EBC AFBF0050 */ sw $ra, 0x50($sp) +/* DF78C0 80240EC0 AFB1004C */ sw $s1, 0x4c($sp) +/* DF78C4 80240EC4 F7B80068 */ sdc1 $f24, 0x68($sp) +/* DF78C8 80240EC8 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DF78CC 80240ECC F7B40058 */ sdc1 $f20, 0x58($sp) +/* DF78D0 80240ED0 8C82001C */ lw $v0, 0x1c($a0) +/* DF78D4 80240ED4 0000202D */ daddu $a0, $zero, $zero +/* DF78D8 80240ED8 0000282D */ daddu $a1, $zero, $zero +/* DF78DC 80240EDC C6140010 */ lwc1 $f20, 0x10($s0) +/* DF78E0 80240EE0 4680A520 */ cvt.s.w $f20, $f20 +/* DF78E4 80240EE4 3C06437F */ lui $a2, 0x437f +/* DF78E8 80240EE8 C6160014 */ lwc1 $f22, 0x14($s0) +/* DF78EC 80240EEC 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF78F0 80240EF0 AFA20010 */ sw $v0, 0x10($sp) +/* DF78F4 80240EF4 8E070018 */ lw $a3, 0x18($s0) +/* DF78F8 80240EF8 0C00A8ED */ jal update_lerp +/* DF78FC 80240EFC 27B10038 */ addiu $s1, $sp, 0x38 +/* DF7900 80240F00 AFB10010 */ sw $s1, 0x10($sp) +/* DF7904 80240F04 8E040004 */ lw $a0, 4($s0) +/* DF7908 80240F08 8E050008 */ lw $a1, 8($s0) +/* DF790C 80240F0C 8E060000 */ lw $a2, ($s0) +/* DF7910 80240F10 8E07000C */ lw $a3, 0xc($s0) +/* DF7914 80240F14 0C04BA38 */ jal func_8012E8E0 +/* DF7918 80240F18 46000606 */ mov.s $f24, $f0 +/* DF791C 80240F1C 4600A08D */ trunc.w.s $f2, $f20 +/* DF7920 80240F20 44021000 */ mfc1 $v0, $f2 +/* DF7924 80240F24 93A50040 */ lbu $a1, 0x40($sp) +/* DF7928 80240F28 93A60041 */ lbu $a2, 0x41($sp) +/* DF792C 80240F2C 00021400 */ sll $v0, $v0, 0x10 +/* DF7930 80240F30 AFA00010 */ sw $zero, 0x10($sp) +/* DF7934 80240F34 8FA3003C */ lw $v1, 0x3c($sp) +/* DF7938 80240F38 00021403 */ sra $v0, $v0, 0x10 +/* DF793C 80240F3C AFA20018 */ sw $v0, 0x18($sp) +/* DF7940 80240F40 4600B08D */ trunc.w.s $f2, $f22 +/* DF7944 80240F44 44021000 */ mfc1 $v0, $f2 +/* DF7948 80240F48 00000000 */ nop +/* DF794C 80240F4C 00021400 */ sll $v0, $v0, 0x10 +/* DF7950 80240F50 3C014F00 */ lui $at, 0x4f00 +/* DF7954 80240F54 44810000 */ mtc1 $at, $f0 +/* DF7958 80240F58 00021403 */ sra $v0, $v0, 0x10 +/* DF795C 80240F5C AFA2001C */ sw $v0, 0x1c($sp) +/* DF7960 80240F60 2402000A */ addiu $v0, $zero, 0xa +/* DF7964 80240F64 AFA20020 */ sw $v0, 0x20($sp) +/* DF7968 80240F68 24020014 */ addiu $v0, $zero, 0x14 +/* DF796C 80240F6C AFA20024 */ sw $v0, 0x24($sp) +/* DF7970 80240F70 2402012C */ addiu $v0, $zero, 0x12c +/* DF7974 80240F74 AFA20028 */ sw $v0, 0x28($sp) +/* DF7978 80240F78 240200C8 */ addiu $v0, $zero, 0xc8 +/* DF797C 80240F7C AFA2002C */ sw $v0, 0x2c($sp) +/* DF7980 80240F80 4618003E */ c.le.s $f0, $f24 +/* DF7984 80240F84 00000000 */ nop +/* DF7988 80240F88 45010005 */ bc1t .L80240FA0 +/* DF798C 80240F8C AFA30014 */ sw $v1, 0x14($sp) +/* DF7990 80240F90 4600C08D */ trunc.w.s $f2, $f24 +/* DF7994 80240F94 44031000 */ mfc1 $v1, $f2 +/* DF7998 80240F98 080903EF */ j .L80240FBC +/* DF799C 80240F9C 306200FF */ andi $v0, $v1, 0xff +.L80240FA0: +/* DF79A0 80240FA0 4600C001 */ sub.s $f0, $f24, $f0 +/* DF79A4 80240FA4 3C028000 */ lui $v0, 0x8000 +/* DF79A8 80240FA8 4600008D */ trunc.w.s $f2, $f0 +/* DF79AC 80240FAC 44031000 */ mfc1 $v1, $f2 +/* DF79B0 80240FB0 00000000 */ nop +/* DF79B4 80240FB4 00621825 */ or $v1, $v1, $v0 +/* DF79B8 80240FB8 306200FF */ andi $v0, $v1, 0xff +.L80240FBC: +/* DF79BC 80240FBC AFA20030 */ sw $v0, 0x30($sp) +/* DF79C0 80240FC0 8E240000 */ lw $a0, ($s1) +/* DF79C4 80240FC4 0C04BA68 */ jal func_8012E9A0 +/* DF79C8 80240FC8 24070002 */ addiu $a3, $zero, 2 +/* DF79CC 80240FCC 8FBF0050 */ lw $ra, 0x50($sp) +/* DF79D0 80240FD0 8FB1004C */ lw $s1, 0x4c($sp) +/* DF79D4 80240FD4 8FB00048 */ lw $s0, 0x48($sp) +/* DF79D8 80240FD8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* DF79DC 80240FDC D7B60060 */ ldc1 $f22, 0x60($sp) +/* DF79E0 80240FE0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DF79E4 80240FE4 03E00008 */ jr $ra +/* DF79E8 80240FE8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80240FEC_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80240FEC_DF6A00.s new file mode 100644 index 0000000000..213533d1bf --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80240FEC_DF6A00.s @@ -0,0 +1,124 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FEC_DF79EC +/* DF79EC 80240FEC 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* DF79F0 80240FF0 AFB00088 */ sw $s0, 0x88($sp) +/* DF79F4 80240FF4 00A0802D */ daddu $s0, $a1, $zero +/* DF79F8 80240FF8 0000202D */ daddu $a0, $zero, $zero +/* DF79FC 80240FFC 0080282D */ daddu $a1, $a0, $zero +/* DF7A00 80241000 0080302D */ daddu $a2, $a0, $zero +/* DF7A04 80241004 0080382D */ daddu $a3, $a0, $zero +/* DF7A08 80241008 AFBF00A0 */ sw $ra, 0xa0($sp) +/* DF7A0C 8024100C AFB5009C */ sw $s5, 0x9c($sp) +/* DF7A10 80241010 AFB40098 */ sw $s4, 0x98($sp) +/* DF7A14 80241014 AFB30094 */ sw $s3, 0x94($sp) +/* DF7A18 80241018 AFB20090 */ sw $s2, 0x90($sp) +/* DF7A1C 8024101C AFB1008C */ sw $s1, 0x8c($sp) +/* DF7A20 80241020 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* DF7A24 80241024 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* DF7A28 80241028 C6140010 */ lwc1 $f20, 0x10($s0) +/* DF7A2C 8024102C 4680A520 */ cvt.s.w $f20, $f20 +/* DF7A30 80241030 C6160014 */ lwc1 $f22, 0x14($s0) +/* DF7A34 80241034 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF7A38 80241038 AFA00010 */ sw $zero, 0x10($sp) +/* DF7A3C 8024103C AFA00014 */ sw $zero, 0x14($sp) +/* DF7A40 80241040 0C04EAA7 */ jal func_8013AA9C +/* DF7A44 80241044 AFA00018 */ sw $zero, 0x18($sp) +/* DF7A48 80241048 27B40048 */ addiu $s4, $sp, 0x48 +/* DF7A4C 8024104C 0280202D */ daddu $a0, $s4, $zero +/* DF7A50 80241050 0000382D */ daddu $a3, $zero, $zero +/* DF7A54 80241054 3C150001 */ lui $s5, 1 +/* DF7A58 80241058 4600B587 */ neg.s $f22, $f22 +/* DF7A5C 8024105C 4405A000 */ mfc1 $a1, $f20 +/* DF7A60 80241060 4406B000 */ mfc1 $a2, $f22 +/* DF7A64 80241064 0C019E40 */ jal guTranslateF +/* DF7A68 80241068 36B51630 */ ori $s5, $s5, 0x1630 +/* DF7A6C 8024106C 0280202D */ daddu $a0, $s4, $zero +/* DF7A70 80241070 3C118007 */ lui $s1, 0x8007 +/* DF7A74 80241074 263141F0 */ addiu $s1, $s1, 0x41f0 +/* DF7A78 80241078 3C12800A */ lui $s2, 0x800a +/* DF7A7C 8024107C 2652A674 */ addiu $s2, $s2, -0x598c +/* DF7A80 80241080 96250000 */ lhu $a1, ($s1) +/* DF7A84 80241084 8E420000 */ lw $v0, ($s2) +/* DF7A88 80241088 00052980 */ sll $a1, $a1, 6 +/* DF7A8C 8024108C 00B52821 */ addu $a1, $a1, $s5 +/* DF7A90 80241090 0C019D40 */ jal guMtxF2L +/* DF7A94 80241094 00452821 */ addu $a1, $v0, $a1 +/* DF7A98 80241098 3C02DA38 */ lui $v0, 0xda38 +/* DF7A9C 8024109C 34420002 */ ori $v0, $v0, 2 +/* DF7AA0 802410A0 3C13800A */ lui $s3, 0x800a +/* DF7AA4 802410A4 2673A66C */ addiu $s3, $s3, -0x5994 +/* DF7AA8 802410A8 8E680000 */ lw $t0, ($s3) +/* DF7AAC 802410AC 96290000 */ lhu $t1, ($s1) +/* DF7AB0 802410B0 0100202D */ daddu $a0, $t0, $zero +/* DF7AB4 802410B4 AC820000 */ sw $v0, ($a0) +/* DF7AB8 802410B8 3122FFFF */ andi $v0, $t1, 0xffff +/* DF7ABC 802410BC 00021180 */ sll $v0, $v0, 6 +/* DF7AC0 802410C0 00551021 */ addu $v0, $v0, $s5 +/* DF7AC4 802410C4 8E430000 */ lw $v1, ($s2) +/* DF7AC8 802410C8 25080008 */ addiu $t0, $t0, 8 +/* DF7ACC 802410CC 00621821 */ addu $v1, $v1, $v0 +/* DF7AD0 802410D0 3C028000 */ lui $v0, 0x8000 +/* DF7AD4 802410D4 00621821 */ addu $v1, $v1, $v0 +/* DF7AD8 802410D8 27A20038 */ addiu $v0, $sp, 0x38 +/* DF7ADC 802410DC AC830004 */ sw $v1, 4($a0) +/* DF7AE0 802410E0 AFA20010 */ sw $v0, 0x10($sp) +/* DF7AE4 802410E4 8E040004 */ lw $a0, 4($s0) +/* DF7AE8 802410E8 8E050008 */ lw $a1, 8($s0) +/* DF7AEC 802410EC 8E060000 */ lw $a2, ($s0) +/* DF7AF0 802410F0 8E07000C */ lw $a3, 0xc($s0) +/* DF7AF4 802410F4 25290001 */ addiu $t1, $t1, 1 +/* DF7AF8 802410F8 AE680000 */ sw $t0, ($s3) +/* DF7AFC 802410FC 0C04BA38 */ jal func_8012E8E0 +/* DF7B00 80241100 A6290000 */ sh $t1, ($s1) +/* DF7B04 80241104 0000202D */ daddu $a0, $zero, $zero +/* DF7B08 80241108 27A50020 */ addiu $a1, $sp, 0x20 +/* DF7B0C 8024110C 3C060005 */ lui $a2, 5 +/* DF7B10 80241110 34C60040 */ ori $a2, $a2, 0x40 +/* DF7B14 80241114 0280382D */ daddu $a3, $s4, $zero +/* DF7B18 80241118 93A20042 */ lbu $v0, 0x42($sp) +/* DF7B1C 8024111C 3C013FE0 */ lui $at, 0x3fe0 +/* DF7B20 80241120 44810800 */ mtc1 $at, $f1 +/* DF7B24 80241124 44800000 */ mtc1 $zero, $f0 +/* DF7B28 80241128 8FA30038 */ lw $v1, 0x38($sp) +/* DF7B2C 8024112C 8FA8003C */ lw $t0, 0x3c($sp) +/* DF7B30 80241130 93A90040 */ lbu $t1, 0x40($sp) +/* DF7B34 80241134 93AA0041 */ lbu $t2, 0x41($sp) +/* DF7B38 80241138 44821000 */ mtc1 $v0, $f2 +/* DF7B3C 8024113C 00000000 */ nop +/* DF7B40 80241140 468010A1 */ cvt.d.w $f2, $f2 +/* DF7B44 80241144 46201082 */ mul.d $f2, $f2, $f0 +/* DF7B48 80241148 00000000 */ nop +/* DF7B4C 8024114C A7A0002E */ sh $zero, 0x2e($sp) +/* DF7B50 80241150 240200FF */ addiu $v0, $zero, 0xff +/* DF7B54 80241154 A3A20030 */ sb $v0, 0x30($sp) +/* DF7B58 80241158 AFA30020 */ sw $v1, 0x20($sp) +/* DF7B5C 8024115C AFA80024 */ sw $t0, 0x24($sp) +/* DF7B60 80241160 A7A90028 */ sh $t1, 0x28($sp) +/* DF7B64 80241164 A7AA002A */ sh $t2, 0x2a($sp) +/* DF7B68 80241168 46201087 */ neg.d $f2, $f2 +/* DF7B6C 8024116C 4620110D */ trunc.w.d $f4, $f2 +/* DF7B70 80241170 44022000 */ mfc1 $v0, $f4 +/* DF7B74 80241174 0C04EBDC */ jal func_8013AF70 +/* DF7B78 80241178 A7A2002C */ sh $v0, 0x2c($sp) +/* DF7B7C 8024117C 3C04D838 */ lui $a0, 0xd838 +/* DF7B80 80241180 8E620000 */ lw $v0, ($s3) +/* DF7B84 80241184 34840002 */ ori $a0, $a0, 2 +/* DF7B88 80241188 0040182D */ daddu $v1, $v0, $zero +/* DF7B8C 8024118C 24420008 */ addiu $v0, $v0, 8 +/* DF7B90 80241190 AE620000 */ sw $v0, ($s3) +/* DF7B94 80241194 24020040 */ addiu $v0, $zero, 0x40 +/* DF7B98 80241198 AC640000 */ sw $a0, ($v1) +/* DF7B9C 8024119C AC620004 */ sw $v0, 4($v1) +/* DF7BA0 802411A0 8FBF00A0 */ lw $ra, 0xa0($sp) +/* DF7BA4 802411A4 8FB5009C */ lw $s5, 0x9c($sp) +/* DF7BA8 802411A8 8FB40098 */ lw $s4, 0x98($sp) +/* DF7BAC 802411AC 8FB30094 */ lw $s3, 0x94($sp) +/* DF7BB0 802411B0 8FB20090 */ lw $s2, 0x90($sp) +/* DF7BB4 802411B4 8FB1008C */ lw $s1, 0x8c($sp) +/* DF7BB8 802411B8 8FB00088 */ lw $s0, 0x88($sp) +/* DF7BBC 802411BC D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* DF7BC0 802411C0 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* DF7BC4 802411C4 03E00008 */ jr $ra +/* DF7BC8 802411C8 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802411CC.s b/asm/nonmatchings/world/area_end/end_00/func_802411CC.s new file mode 100644 index 0000000000..9192b98d70 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802411CC.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411CC +/* DF7BCC 802411CC 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* DF7BD0 802411D0 00A0102D */ daddu $v0, $a1, $zero +/* DF7BD4 802411D4 27A30038 */ addiu $v1, $sp, 0x38 +/* DF7BD8 802411D8 AFBF0048 */ sw $ra, 0x48($sp) +/* DF7BDC 802411DC F7B60058 */ sdc1 $f22, 0x58($sp) +/* DF7BE0 802411E0 F7B40050 */ sdc1 $f20, 0x50($sp) +/* DF7BE4 802411E4 C4540010 */ lwc1 $f20, 0x10($v0) +/* DF7BE8 802411E8 4680A520 */ cvt.s.w $f20, $f20 +/* DF7BEC 802411EC C4560014 */ lwc1 $f22, 0x14($v0) +/* DF7BF0 802411F0 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF7BF4 802411F4 AFA30010 */ sw $v1, 0x10($sp) +/* DF7BF8 802411F8 8C440004 */ lw $a0, 4($v0) +/* DF7BFC 802411FC 8C450008 */ lw $a1, 8($v0) +/* DF7C00 80241200 8C460000 */ lw $a2, ($v0) +/* DF7C04 80241204 0C04BA38 */ jal func_8012E8E0 +/* DF7C08 80241208 8C47000C */ lw $a3, 0xc($v0) +/* DF7C0C 8024120C 4600A00D */ trunc.w.s $f0, $f20 +/* DF7C10 80241210 44020000 */ mfc1 $v0, $f0 +/* DF7C14 80241214 93A50040 */ lbu $a1, 0x40($sp) +/* DF7C18 80241218 93A60041 */ lbu $a2, 0x41($sp) +/* DF7C1C 8024121C 00021400 */ sll $v0, $v0, 0x10 +/* DF7C20 80241220 AFA00010 */ sw $zero, 0x10($sp) +/* DF7C24 80241224 8FA3003C */ lw $v1, 0x3c($sp) +/* DF7C28 80241228 00021403 */ sra $v0, $v0, 0x10 +/* DF7C2C 8024122C AFA20018 */ sw $v0, 0x18($sp) +/* DF7C30 80241230 4600B00D */ trunc.w.s $f0, $f22 +/* DF7C34 80241234 44020000 */ mfc1 $v0, $f0 +/* DF7C38 80241238 00000000 */ nop +/* DF7C3C 8024123C 00021400 */ sll $v0, $v0, 0x10 +/* DF7C40 80241240 00021403 */ sra $v0, $v0, 0x10 +/* DF7C44 80241244 AFA2001C */ sw $v0, 0x1c($sp) +/* DF7C48 80241248 2402000A */ addiu $v0, $zero, 0xa +/* DF7C4C 8024124C AFA20020 */ sw $v0, 0x20($sp) +/* DF7C50 80241250 24020014 */ addiu $v0, $zero, 0x14 +/* DF7C54 80241254 AFA20024 */ sw $v0, 0x24($sp) +/* DF7C58 80241258 2402012C */ addiu $v0, $zero, 0x12c +/* DF7C5C 8024125C AFA20028 */ sw $v0, 0x28($sp) +/* DF7C60 80241260 240200C8 */ addiu $v0, $zero, 0xc8 +/* DF7C64 80241264 AFA2002C */ sw $v0, 0x2c($sp) +/* DF7C68 80241268 240200FF */ addiu $v0, $zero, 0xff +/* DF7C6C 8024126C AFA20030 */ sw $v0, 0x30($sp) +/* DF7C70 80241270 AFA30014 */ sw $v1, 0x14($sp) +/* DF7C74 80241274 8FA40038 */ lw $a0, 0x38($sp) +/* DF7C78 80241278 0C04BA68 */ jal func_8012E9A0 +/* DF7C7C 8024127C 24070002 */ addiu $a3, $zero, 2 +/* DF7C80 80241280 8FBF0048 */ lw $ra, 0x48($sp) +/* DF7C84 80241284 D7B60058 */ ldc1 $f22, 0x58($sp) +/* DF7C88 80241288 D7B40050 */ ldc1 $f20, 0x50($sp) +/* DF7C8C 8024128C 03E00008 */ jr $ra +/* DF7C90 80241290 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80241294.s b/asm/nonmatchings/world/area_end/end_00/func_80241294.s new file mode 100644 index 0000000000..2d4a8420ef --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80241294.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241294 +/* DF7C94 80241294 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* DF7C98 80241298 AFB00088 */ sw $s0, 0x88($sp) +/* DF7C9C 8024129C 00A0802D */ daddu $s0, $a1, $zero +/* DF7CA0 802412A0 AFBF00A0 */ sw $ra, 0xa0($sp) +/* DF7CA4 802412A4 AFB5009C */ sw $s5, 0x9c($sp) +/* DF7CA8 802412A8 AFB40098 */ sw $s4, 0x98($sp) +/* DF7CAC 802412AC AFB30094 */ sw $s3, 0x94($sp) +/* DF7CB0 802412B0 AFB20090 */ sw $s2, 0x90($sp) +/* DF7CB4 802412B4 AFB1008C */ sw $s1, 0x8c($sp) +/* DF7CB8 802412B8 F7BA00C0 */ sdc1 $f26, 0xc0($sp) +/* DF7CBC 802412BC F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* DF7CC0 802412C0 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* DF7CC4 802412C4 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* DF7CC8 802412C8 C6140010 */ lwc1 $f20, 0x10($s0) +/* DF7CCC 802412CC 4680A520 */ cvt.s.w $f20, $f20 +/* DF7CD0 802412D0 4480C000 */ mtc1 $zero, $f24 +/* DF7CD4 802412D4 3C05437F */ lui $a1, 0x437f +/* DF7CD8 802412D8 8C820050 */ lw $v0, 0x50($a0) +/* DF7CDC 802412DC 4406C000 */ mfc1 $a2, $f24 +/* DF7CE0 802412E0 C61A0014 */ lwc1 $f26, 0x14($s0) +/* DF7CE4 802412E4 4680D6A0 */ cvt.s.w $f26, $f26 +/* DF7CE8 802412E8 AFA20010 */ sw $v0, 0x10($sp) +/* DF7CEC 802412EC 8E070018 */ lw $a3, 0x18($s0) +/* DF7CF0 802412F0 0C00A8ED */ jal update_lerp +/* DF7CF4 802412F4 2404000B */ addiu $a0, $zero, 0xb +/* DF7CF8 802412F8 4600008D */ trunc.w.s $f2, $f0 +/* DF7CFC 802412FC E7A20014 */ swc1 $f2, 0x14($sp) +/* DF7D00 80241300 0000202D */ daddu $a0, $zero, $zero +/* DF7D04 80241304 24050007 */ addiu $a1, $zero, 7 +/* DF7D08 80241308 240600FF */ addiu $a2, $zero, 0xff +/* DF7D0C 8024130C 00C0382D */ daddu $a3, $a2, $zero +/* DF7D10 80241310 00C0A82D */ daddu $s5, $a2, $zero +/* DF7D14 80241314 AFB50010 */ sw $s5, 0x10($sp) +/* DF7D18 80241318 0C04EAA7 */ jal func_8013AA9C +/* DF7D1C 8024131C AFA00018 */ sw $zero, 0x18($sp) +/* DF7D20 80241320 27A20038 */ addiu $v0, $sp, 0x38 +/* DF7D24 80241324 AFA20010 */ sw $v0, 0x10($sp) +/* DF7D28 80241328 8E040004 */ lw $a0, 4($s0) +/* DF7D2C 8024132C 8E050008 */ lw $a1, 8($s0) +/* DF7D30 80241330 8E060000 */ lw $a2, ($s0) +/* DF7D34 80241334 8E07000C */ lw $a3, 0xc($s0) +/* DF7D38 80241338 0C04BA38 */ jal func_8012E8E0 +/* DF7D3C 8024133C 3C140001 */ lui $s4, 1 +/* DF7D40 80241340 93A20042 */ lbu $v0, 0x42($sp) +/* DF7D44 80241344 3C013FE0 */ lui $at, 0x3fe0 +/* DF7D48 80241348 4481B800 */ mtc1 $at, $f23 +/* DF7D4C 8024134C 4480B000 */ mtc1 $zero, $f22 +/* DF7D50 80241350 44820000 */ mtc1 $v0, $f0 +/* DF7D54 80241354 00000000 */ nop +/* DF7D58 80241358 46800021 */ cvt.d.w $f0, $f0 +/* DF7D5C 8024135C 46360002 */ mul.d $f0, $f0, $f22 +/* DF7D60 80241360 00000000 */ nop +/* DF7D64 80241364 36941630 */ ori $s4, $s4, 0x1630 +/* DF7D68 80241368 4600A521 */ cvt.d.s $f20, $f20 +/* DF7D6C 8024136C 27B00048 */ addiu $s0, $sp, 0x48 +/* DF7D70 80241370 4600D687 */ neg.s $f26, $f26 +/* DF7D74 80241374 4620A500 */ add.d $f20, $f20, $f0 +/* DF7D78 80241378 4406D000 */ mfc1 $a2, $f26 +/* DF7D7C 8024137C 4407C000 */ mfc1 $a3, $f24 +/* DF7D80 80241380 4620A520 */ cvt.s.d $f20, $f20 +/* DF7D84 80241384 4405A000 */ mfc1 $a1, $f20 +/* DF7D88 80241388 0C019E40 */ jal guTranslateF +/* DF7D8C 8024138C 0200202D */ daddu $a0, $s0, $zero +/* DF7D90 80241390 0200202D */ daddu $a0, $s0, $zero +/* DF7D94 80241394 3C128007 */ lui $s2, 0x8007 +/* DF7D98 80241398 265241F0 */ addiu $s2, $s2, 0x41f0 +/* DF7D9C 8024139C 3C13800A */ lui $s3, 0x800a +/* DF7DA0 802413A0 2673A674 */ addiu $s3, $s3, -0x598c +/* DF7DA4 802413A4 96450000 */ lhu $a1, ($s2) +/* DF7DA8 802413A8 8E620000 */ lw $v0, ($s3) +/* DF7DAC 802413AC 00052980 */ sll $a1, $a1, 6 +/* DF7DB0 802413B0 00B42821 */ addu $a1, $a1, $s4 +/* DF7DB4 802413B4 0C019D40 */ jal guMtxF2L +/* DF7DB8 802413B8 00452821 */ addu $a1, $v0, $a1 +/* DF7DBC 802413BC 3C03DA38 */ lui $v1, 0xda38 +/* DF7DC0 802413C0 34630002 */ ori $v1, $v1, 2 +/* DF7DC4 802413C4 0000202D */ daddu $a0, $zero, $zero +/* DF7DC8 802413C8 27A50020 */ addiu $a1, $sp, 0x20 +/* DF7DCC 802413CC 3C060001 */ lui $a2, 1 +/* DF7DD0 802413D0 34C60040 */ ori $a2, $a2, 0x40 +/* DF7DD4 802413D4 3C11800A */ lui $s1, 0x800a +/* DF7DD8 802413D8 2631A66C */ addiu $s1, $s1, -0x5994 +/* DF7DDC 802413DC 0200382D */ daddu $a3, $s0, $zero +/* DF7DE0 802413E0 8E220000 */ lw $v0, ($s1) +/* DF7DE4 802413E4 96480000 */ lhu $t0, ($s2) +/* DF7DE8 802413E8 0040482D */ daddu $t1, $v0, $zero +/* DF7DEC 802413EC 24420008 */ addiu $v0, $v0, 8 +/* DF7DF0 802413F0 AE220000 */ sw $v0, ($s1) +/* DF7DF4 802413F4 3102FFFF */ andi $v0, $t0, 0xffff +/* DF7DF8 802413F8 00021180 */ sll $v0, $v0, 6 +/* DF7DFC 802413FC 00541021 */ addu $v0, $v0, $s4 +/* DF7E00 80241400 AD230000 */ sw $v1, ($t1) +/* DF7E04 80241404 8E630000 */ lw $v1, ($s3) +/* DF7E08 80241408 25080001 */ addiu $t0, $t0, 1 +/* DF7E0C 8024140C 00621821 */ addu $v1, $v1, $v0 +/* DF7E10 80241410 3C028000 */ lui $v0, 0x8000 +/* DF7E14 80241414 00621821 */ addu $v1, $v1, $v0 +/* DF7E18 80241418 AD230004 */ sw $v1, 4($t1) +/* DF7E1C 8024141C 93A20042 */ lbu $v0, 0x42($sp) +/* DF7E20 80241420 8FA3003C */ lw $v1, 0x3c($sp) +/* DF7E24 80241424 93A90040 */ lbu $t1, 0x40($sp) +/* DF7E28 80241428 93AA0041 */ lbu $t2, 0x41($sp) +/* DF7E2C 8024142C 44820000 */ mtc1 $v0, $f0 +/* DF7E30 80241430 00000000 */ nop +/* DF7E34 80241434 46800021 */ cvt.d.w $f0, $f0 +/* DF7E38 80241438 8FA20038 */ lw $v0, 0x38($sp) +/* DF7E3C 8024143C 46360002 */ mul.d $f0, $f0, $f22 +/* DF7E40 80241440 00000000 */ nop +/* DF7E44 80241444 A6480000 */ sh $t0, ($s2) +/* DF7E48 80241448 A7A0002E */ sh $zero, 0x2e($sp) +/* DF7E4C 8024144C A3B50030 */ sb $s5, 0x30($sp) +/* DF7E50 80241450 AFA30024 */ sw $v1, 0x24($sp) +/* DF7E54 80241454 A7A90028 */ sh $t1, 0x28($sp) +/* DF7E58 80241458 A7AA002A */ sh $t2, 0x2a($sp) +/* DF7E5C 8024145C AFA20020 */ sw $v0, 0x20($sp) +/* DF7E60 80241460 46200007 */ neg.d $f0, $f0 +/* DF7E64 80241464 4620008D */ trunc.w.d $f2, $f0 +/* DF7E68 80241468 44021000 */ mfc1 $v0, $f2 +/* DF7E6C 8024146C 0C04EBDC */ jal func_8013AF70 +/* DF7E70 80241470 A7A2002C */ sh $v0, 0x2c($sp) +/* DF7E74 80241474 3C04D838 */ lui $a0, 0xd838 +/* DF7E78 80241478 8E220000 */ lw $v0, ($s1) +/* DF7E7C 8024147C 34840002 */ ori $a0, $a0, 2 +/* DF7E80 80241480 0040182D */ daddu $v1, $v0, $zero +/* DF7E84 80241484 24420008 */ addiu $v0, $v0, 8 +/* DF7E88 80241488 AE220000 */ sw $v0, ($s1) +/* DF7E8C 8024148C 24020040 */ addiu $v0, $zero, 0x40 +/* DF7E90 80241490 AC640000 */ sw $a0, ($v1) +/* DF7E94 80241494 AC620004 */ sw $v0, 4($v1) +/* DF7E98 80241498 8FBF00A0 */ lw $ra, 0xa0($sp) +/* DF7E9C 8024149C 8FB5009C */ lw $s5, 0x9c($sp) +/* DF7EA0 802414A0 8FB40098 */ lw $s4, 0x98($sp) +/* DF7EA4 802414A4 8FB30094 */ lw $s3, 0x94($sp) +/* DF7EA8 802414A8 8FB20090 */ lw $s2, 0x90($sp) +/* DF7EAC 802414AC 8FB1008C */ lw $s1, 0x8c($sp) +/* DF7EB0 802414B0 8FB00088 */ lw $s0, 0x88($sp) +/* DF7EB4 802414B4 D7BA00C0 */ ldc1 $f26, 0xc0($sp) +/* DF7EB8 802414B8 D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* DF7EBC 802414BC D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* DF7EC0 802414C0 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* DF7EC4 802414C4 03E00008 */ jr $ra +/* DF7EC8 802414C8 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802414CC.s b/asm/nonmatchings/world/area_end/end_00/func_802414CC.s new file mode 100644 index 0000000000..309e0dd946 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802414CC.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414CC +/* DF7ECC 802414CC 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* DF7ED0 802414D0 AFB100CC */ sw $s1, 0xcc($sp) +/* DF7ED4 802414D4 0080882D */ daddu $s1, $a0, $zero +/* DF7ED8 802414D8 AFB000C8 */ sw $s0, 0xc8($sp) +/* DF7EDC 802414DC 00A0802D */ daddu $s0, $a1, $zero +/* DF7EE0 802414E0 AFBF00E0 */ sw $ra, 0xe0($sp) +/* DF7EE4 802414E4 AFB500DC */ sw $s5, 0xdc($sp) +/* DF7EE8 802414E8 AFB400D8 */ sw $s4, 0xd8($sp) +/* DF7EEC 802414EC AFB300D4 */ sw $s3, 0xd4($sp) +/* DF7EF0 802414F0 AFB200D0 */ sw $s2, 0xd0($sp) +/* DF7EF4 802414F4 F7BE0110 */ sdc1 $f30, 0x110($sp) +/* DF7EF8 802414F8 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* DF7EFC 802414FC F7BA0100 */ sdc1 $f26, 0x100($sp) +/* DF7F00 80241500 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* DF7F04 80241504 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* DF7F08 80241508 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* DF7F0C 8024150C C6140010 */ lwc1 $f20, 0x10($s0) +/* DF7F10 80241510 4680A520 */ cvt.s.w $f20, $f20 +/* DF7F14 80241514 4480E000 */ mtc1 $zero, $f28 +/* DF7F18 80241518 3C05437F */ lui $a1, 0x437f +/* DF7F1C 8024151C 8E220050 */ lw $v0, 0x50($s1) +/* DF7F20 80241520 4406E000 */ mfc1 $a2, $f28 +/* DF7F24 80241524 C61E0014 */ lwc1 $f30, 0x14($s0) +/* DF7F28 80241528 4680F7A0 */ cvt.s.w $f30, $f30 +/* DF7F2C 8024152C AFA20010 */ sw $v0, 0x10($sp) +/* DF7F30 80241530 8E070018 */ lw $a3, 0x18($s0) +/* DF7F34 80241534 0C00A8ED */ jal update_lerp +/* DF7F38 80241538 2404000B */ addiu $a0, $zero, 0xb +/* DF7F3C 8024153C 4600008D */ trunc.w.s $f2, $f0 +/* DF7F40 80241540 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF7F44 80241544 0000202D */ daddu $a0, $zero, $zero +/* DF7F48 80241548 24050007 */ addiu $a1, $zero, 7 +/* DF7F4C 8024154C 240600FF */ addiu $a2, $zero, 0xff +/* DF7F50 80241550 00C0382D */ daddu $a3, $a2, $zero +/* DF7F54 80241554 00C0A82D */ daddu $s5, $a2, $zero +/* DF7F58 80241558 AFB50010 */ sw $s5, 0x10($sp) +/* DF7F5C 8024155C 0C04EAA7 */ jal func_8013AA9C +/* DF7F60 80241560 AFA00018 */ sw $zero, 0x18($sp) +/* DF7F64 80241564 3C013F80 */ lui $at, 0x3f80 +/* DF7F68 80241568 4481D000 */ mtc1 $at, $f26 +/* DF7F6C 8024156C 8E220050 */ lw $v0, 0x50($s1) +/* DF7F70 80241570 3C063E4C */ lui $a2, 0x3e4c +/* DF7F74 80241574 34C6CCCD */ ori $a2, $a2, 0xcccd +/* DF7F78 80241578 4405D000 */ mfc1 $a1, $f26 +/* DF7F7C 8024157C AFA20010 */ sw $v0, 0x10($sp) +/* DF7F80 80241580 8E070018 */ lw $a3, 0x18($s0) +/* DF7F84 80241584 0C00A8ED */ jal update_lerp +/* DF7F88 80241588 0000202D */ daddu $a0, $zero, $zero +/* DF7F8C 8024158C 27A20038 */ addiu $v0, $sp, 0x38 +/* DF7F90 80241590 AFA20010 */ sw $v0, 0x10($sp) +/* DF7F94 80241594 8E040004 */ lw $a0, 4($s0) +/* DF7F98 80241598 8E050008 */ lw $a1, 8($s0) +/* DF7F9C 8024159C 8E060000 */ lw $a2, ($s0) +/* DF7FA0 802415A0 8E07000C */ lw $a3, 0xc($s0) +/* DF7FA4 802415A4 0C04BA38 */ jal func_8012E8E0 +/* DF7FA8 802415A8 46000586 */ mov.s $f22, $f0 +/* DF7FAC 802415AC 93A20042 */ lbu $v0, 0x42($sp) +/* DF7FB0 802415B0 3C013FE0 */ lui $at, 0x3fe0 +/* DF7FB4 802415B4 4481C800 */ mtc1 $at, $f25 +/* DF7FB8 802415B8 4480C000 */ mtc1 $zero, $f24 +/* DF7FBC 802415BC 44820000 */ mtc1 $v0, $f0 +/* DF7FC0 802415C0 00000000 */ nop +/* DF7FC4 802415C4 46800021 */ cvt.d.w $f0, $f0 +/* DF7FC8 802415C8 46380002 */ mul.d $f0, $f0, $f24 +/* DF7FCC 802415CC 00000000 */ nop +/* DF7FD0 802415D0 3C140001 */ lui $s4, 1 +/* DF7FD4 802415D4 36941630 */ ori $s4, $s4, 0x1630 +/* DF7FD8 802415D8 4600A521 */ cvt.d.s $f20, $f20 +/* DF7FDC 802415DC 27B10048 */ addiu $s1, $sp, 0x48 +/* DF7FE0 802415E0 4600F787 */ neg.s $f30, $f30 +/* DF7FE4 802415E4 4620A500 */ add.d $f20, $f20, $f0 +/* DF7FE8 802415E8 4406F000 */ mfc1 $a2, $f30 +/* DF7FEC 802415EC 4407E000 */ mfc1 $a3, $f28 +/* DF7FF0 802415F0 4620A520 */ cvt.s.d $f20, $f20 +/* DF7FF4 802415F4 4405A000 */ mfc1 $a1, $f20 +/* DF7FF8 802415F8 0C019E40 */ jal guTranslateF +/* DF7FFC 802415FC 0220202D */ daddu $a0, $s1, $zero +/* DF8000 80241600 27B00088 */ addiu $s0, $sp, 0x88 +/* DF8004 80241604 0200202D */ daddu $a0, $s0, $zero +/* DF8008 80241608 4405B000 */ mfc1 $a1, $f22 +/* DF800C 8024160C 4407D000 */ mfc1 $a3, $f26 +/* DF8010 80241610 0C019DF0 */ jal guScaleF +/* DF8014 80241614 00A0302D */ daddu $a2, $a1, $zero +/* DF8018 80241618 0200202D */ daddu $a0, $s0, $zero +/* DF801C 8024161C 0220282D */ daddu $a1, $s1, $zero +/* DF8020 80241620 0C019D80 */ jal guMtxCatF +/* DF8024 80241624 0220302D */ daddu $a2, $s1, $zero +/* DF8028 80241628 0220202D */ daddu $a0, $s1, $zero +/* DF802C 8024162C 3C128007 */ lui $s2, 0x8007 +/* DF8030 80241630 265241F0 */ addiu $s2, $s2, 0x41f0 +/* DF8034 80241634 3C13800A */ lui $s3, 0x800a +/* DF8038 80241638 2673A674 */ addiu $s3, $s3, -0x598c +/* DF803C 8024163C 96450000 */ lhu $a1, ($s2) +/* DF8040 80241640 8E620000 */ lw $v0, ($s3) +/* DF8044 80241644 00052980 */ sll $a1, $a1, 6 +/* DF8048 80241648 00B42821 */ addu $a1, $a1, $s4 +/* DF804C 8024164C 0C019D40 */ jal guMtxF2L +/* DF8050 80241650 00452821 */ addu $a1, $v0, $a1 +/* DF8054 80241654 3C03DA38 */ lui $v1, 0xda38 +/* DF8058 80241658 34630002 */ ori $v1, $v1, 2 +/* DF805C 8024165C 0000202D */ daddu $a0, $zero, $zero +/* DF8060 80241660 27A50020 */ addiu $a1, $sp, 0x20 +/* DF8064 80241664 24060040 */ addiu $a2, $zero, 0x40 +/* DF8068 80241668 3C10800A */ lui $s0, 0x800a +/* DF806C 8024166C 2610A66C */ addiu $s0, $s0, -0x5994 +/* DF8070 80241670 0220382D */ daddu $a3, $s1, $zero +/* DF8074 80241674 8E020000 */ lw $v0, ($s0) +/* DF8078 80241678 96480000 */ lhu $t0, ($s2) +/* DF807C 8024167C 0040482D */ daddu $t1, $v0, $zero +/* DF8080 80241680 24420008 */ addiu $v0, $v0, 8 +/* DF8084 80241684 AE020000 */ sw $v0, ($s0) +/* DF8088 80241688 3102FFFF */ andi $v0, $t0, 0xffff +/* DF808C 8024168C 00021180 */ sll $v0, $v0, 6 +/* DF8090 80241690 00541021 */ addu $v0, $v0, $s4 +/* DF8094 80241694 AD230000 */ sw $v1, ($t1) +/* DF8098 80241698 8E630000 */ lw $v1, ($s3) +/* DF809C 8024169C 25080001 */ addiu $t0, $t0, 1 +/* DF80A0 802416A0 00621821 */ addu $v1, $v1, $v0 +/* DF80A4 802416A4 3C028000 */ lui $v0, 0x8000 +/* DF80A8 802416A8 00621821 */ addu $v1, $v1, $v0 +/* DF80AC 802416AC AD230004 */ sw $v1, 4($t1) +/* DF80B0 802416B0 93A20042 */ lbu $v0, 0x42($sp) +/* DF80B4 802416B4 8FA3003C */ lw $v1, 0x3c($sp) +/* DF80B8 802416B8 93A90040 */ lbu $t1, 0x40($sp) +/* DF80BC 802416BC 93AA0041 */ lbu $t2, 0x41($sp) +/* DF80C0 802416C0 44820000 */ mtc1 $v0, $f0 +/* DF80C4 802416C4 00000000 */ nop +/* DF80C8 802416C8 46800021 */ cvt.d.w $f0, $f0 +/* DF80CC 802416CC 8FA20038 */ lw $v0, 0x38($sp) +/* DF80D0 802416D0 46380002 */ mul.d $f0, $f0, $f24 +/* DF80D4 802416D4 00000000 */ nop +/* DF80D8 802416D8 A6480000 */ sh $t0, ($s2) +/* DF80DC 802416DC A7A0002E */ sh $zero, 0x2e($sp) +/* DF80E0 802416E0 A3B50030 */ sb $s5, 0x30($sp) +/* DF80E4 802416E4 AFA30024 */ sw $v1, 0x24($sp) +/* DF80E8 802416E8 A7A90028 */ sh $t1, 0x28($sp) +/* DF80EC 802416EC A7AA002A */ sh $t2, 0x2a($sp) +/* DF80F0 802416F0 AFA20020 */ sw $v0, 0x20($sp) +/* DF80F4 802416F4 46200007 */ neg.d $f0, $f0 +/* DF80F8 802416F8 4620008D */ trunc.w.d $f2, $f0 +/* DF80FC 802416FC 44021000 */ mfc1 $v0, $f2 +/* DF8100 80241700 0C04EBDC */ jal func_8013AF70 +/* DF8104 80241704 A7A2002C */ sh $v0, 0x2c($sp) +/* DF8108 80241708 3C04D838 */ lui $a0, 0xd838 +/* DF810C 8024170C 8E020000 */ lw $v0, ($s0) +/* DF8110 80241710 34840002 */ ori $a0, $a0, 2 +/* DF8114 80241714 0040182D */ daddu $v1, $v0, $zero +/* DF8118 80241718 24420008 */ addiu $v0, $v0, 8 +/* DF811C 8024171C AE020000 */ sw $v0, ($s0) +/* DF8120 80241720 24020040 */ addiu $v0, $zero, 0x40 +/* DF8124 80241724 AC640000 */ sw $a0, ($v1) +/* DF8128 80241728 AC620004 */ sw $v0, 4($v1) +/* DF812C 8024172C 8FBF00E0 */ lw $ra, 0xe0($sp) +/* DF8130 80241730 8FB500DC */ lw $s5, 0xdc($sp) +/* DF8134 80241734 8FB400D8 */ lw $s4, 0xd8($sp) +/* DF8138 80241738 8FB300D4 */ lw $s3, 0xd4($sp) +/* DF813C 8024173C 8FB200D0 */ lw $s2, 0xd0($sp) +/* DF8140 80241740 8FB100CC */ lw $s1, 0xcc($sp) +/* DF8144 80241744 8FB000C8 */ lw $s0, 0xc8($sp) +/* DF8148 80241748 D7BE0110 */ ldc1 $f30, 0x110($sp) +/* DF814C 8024174C D7BC0108 */ ldc1 $f28, 0x108($sp) +/* DF8150 80241750 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* DF8154 80241754 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* DF8158 80241758 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* DF815C 8024175C D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* DF8160 80241760 03E00008 */ jr $ra +/* DF8164 80241764 27BD0118 */ addiu $sp, $sp, 0x118 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80241768_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80241768_DF6A00.s new file mode 100644 index 0000000000..4cb09cfa03 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80241768_DF6A00.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241768_DF8168 +/* DF8168 80241768 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* DF816C 8024176C AFB100CC */ sw $s1, 0xcc($sp) +/* DF8170 80241770 0080882D */ daddu $s1, $a0, $zero +/* DF8174 80241774 AFB000C8 */ sw $s0, 0xc8($sp) +/* DF8178 80241778 00A0802D */ daddu $s0, $a1, $zero +/* DF817C 8024177C AFBF00E0 */ sw $ra, 0xe0($sp) +/* DF8180 80241780 AFB500DC */ sw $s5, 0xdc($sp) +/* DF8184 80241784 AFB400D8 */ sw $s4, 0xd8($sp) +/* DF8188 80241788 AFB300D4 */ sw $s3, 0xd4($sp) +/* DF818C 8024178C AFB200D0 */ sw $s2, 0xd0($sp) +/* DF8190 80241790 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* DF8194 80241794 F7BA0100 */ sdc1 $f26, 0x100($sp) +/* DF8198 80241798 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* DF819C 8024179C F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* DF81A0 802417A0 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* DF81A4 802417A4 C6140010 */ lwc1 $f20, 0x10($s0) +/* DF81A8 802417A8 4680A520 */ cvt.s.w $f20, $f20 +/* DF81AC 802417AC 4480B000 */ mtc1 $zero, $f22 +/* DF81B0 802417B0 3C05437F */ lui $a1, 0x437f +/* DF81B4 802417B4 8E220050 */ lw $v0, 0x50($s1) +/* DF81B8 802417B8 4406B000 */ mfc1 $a2, $f22 +/* DF81BC 802417BC C61C0014 */ lwc1 $f28, 0x14($s0) +/* DF81C0 802417C0 4680E720 */ cvt.s.w $f28, $f28 +/* DF81C4 802417C4 AFA20010 */ sw $v0, 0x10($sp) +/* DF81C8 802417C8 8E070018 */ lw $a3, 0x18($s0) +/* DF81CC 802417CC 0C00A8ED */ jal update_lerp +/* DF81D0 802417D0 2404000B */ addiu $a0, $zero, 0xb +/* DF81D4 802417D4 4600008D */ trunc.w.s $f2, $f0 +/* DF81D8 802417D8 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF81DC 802417DC 0000202D */ daddu $a0, $zero, $zero +/* DF81E0 802417E0 24050007 */ addiu $a1, $zero, 7 +/* DF81E4 802417E4 240600FF */ addiu $a2, $zero, 0xff +/* DF81E8 802417E8 00C0382D */ daddu $a3, $a2, $zero +/* DF81EC 802417EC 00C0A82D */ daddu $s5, $a2, $zero +/* DF81F0 802417F0 AFB50010 */ sw $s5, 0x10($sp) +/* DF81F4 802417F4 0C04EAA7 */ jal func_8013AA9C +/* DF81F8 802417F8 AFA00018 */ sw $zero, 0x18($sp) +/* DF81FC 802417FC 8E220050 */ lw $v0, 0x50($s1) +/* DF8200 80241800 4405B000 */ mfc1 $a1, $f22 +/* DF8204 80241804 3C064270 */ lui $a2, 0x4270 +/* DF8208 80241808 AFA20010 */ sw $v0, 0x10($sp) +/* DF820C 8024180C 8E070018 */ lw $a3, 0x18($s0) +/* DF8210 80241810 0C00A8ED */ jal update_lerp +/* DF8214 80241814 0000202D */ daddu $a0, $zero, $zero +/* DF8218 80241818 27A20038 */ addiu $v0, $sp, 0x38 +/* DF821C 8024181C AFA20010 */ sw $v0, 0x10($sp) +/* DF8220 80241820 8E040004 */ lw $a0, 4($s0) +/* DF8224 80241824 8E050008 */ lw $a1, 8($s0) +/* DF8228 80241828 8E060000 */ lw $a2, ($s0) +/* DF822C 8024182C 8E07000C */ lw $a3, 0xc($s0) +/* DF8230 80241830 0C04BA38 */ jal func_8012E8E0 +/* DF8234 80241834 46000606 */ mov.s $f24, $f0 +/* DF8238 80241838 93A20042 */ lbu $v0, 0x42($sp) +/* DF823C 8024183C 3C013FE0 */ lui $at, 0x3fe0 +/* DF8240 80241840 4481D800 */ mtc1 $at, $f27 +/* DF8244 80241844 4480D000 */ mtc1 $zero, $f26 +/* DF8248 80241848 44820000 */ mtc1 $v0, $f0 +/* DF824C 8024184C 00000000 */ nop +/* DF8250 80241850 46800021 */ cvt.d.w $f0, $f0 +/* DF8254 80241854 463A0002 */ mul.d $f0, $f0, $f26 +/* DF8258 80241858 00000000 */ nop +/* DF825C 8024185C 3C140001 */ lui $s4, 1 +/* DF8260 80241860 36941630 */ ori $s4, $s4, 0x1630 +/* DF8264 80241864 4600A521 */ cvt.d.s $f20, $f20 +/* DF8268 80241868 27B10048 */ addiu $s1, $sp, 0x48 +/* DF826C 8024186C 4600E707 */ neg.s $f28, $f28 +/* DF8270 80241870 4620A500 */ add.d $f20, $f20, $f0 +/* DF8274 80241874 4406E000 */ mfc1 $a2, $f28 +/* DF8278 80241878 4407B000 */ mfc1 $a3, $f22 +/* DF827C 8024187C 4620A520 */ cvt.s.d $f20, $f20 +/* DF8280 80241880 4405A000 */ mfc1 $a1, $f20 +/* DF8284 80241884 0C019E40 */ jal guTranslateF +/* DF8288 80241888 0220202D */ daddu $a0, $s1, $zero +/* DF828C 8024188C 27B00088 */ addiu $s0, $sp, 0x88 +/* DF8290 80241890 4405C000 */ mfc1 $a1, $f24 +/* DF8294 80241894 4406B000 */ mfc1 $a2, $f22 +/* DF8298 80241898 3C073F80 */ lui $a3, 0x3f80 +/* DF829C 8024189C 0200202D */ daddu $a0, $s0, $zero +/* DF82A0 802418A0 0C019EC8 */ jal guRotateF +/* DF82A4 802418A4 AFA60010 */ sw $a2, 0x10($sp) +/* DF82A8 802418A8 0200202D */ daddu $a0, $s0, $zero +/* DF82AC 802418AC 0220282D */ daddu $a1, $s1, $zero +/* DF82B0 802418B0 0C019D80 */ jal guMtxCatF +/* DF82B4 802418B4 0220302D */ daddu $a2, $s1, $zero +/* DF82B8 802418B8 0220202D */ daddu $a0, $s1, $zero +/* DF82BC 802418BC 3C128007 */ lui $s2, 0x8007 +/* DF82C0 802418C0 265241F0 */ addiu $s2, $s2, 0x41f0 +/* DF82C4 802418C4 3C13800A */ lui $s3, 0x800a +/* DF82C8 802418C8 2673A674 */ addiu $s3, $s3, -0x598c +/* DF82CC 802418CC 96450000 */ lhu $a1, ($s2) +/* DF82D0 802418D0 8E620000 */ lw $v0, ($s3) +/* DF82D4 802418D4 00052980 */ sll $a1, $a1, 6 +/* DF82D8 802418D8 00B42821 */ addu $a1, $a1, $s4 +/* DF82DC 802418DC 0C019D40 */ jal guMtxF2L +/* DF82E0 802418E0 00452821 */ addu $a1, $v0, $a1 +/* DF82E4 802418E4 3C03DA38 */ lui $v1, 0xda38 +/* DF82E8 802418E8 34630002 */ ori $v1, $v1, 2 +/* DF82EC 802418EC 0000202D */ daddu $a0, $zero, $zero +/* DF82F0 802418F0 27A50020 */ addiu $a1, $sp, 0x20 +/* DF82F4 802418F4 3C060001 */ lui $a2, 1 +/* DF82F8 802418F8 34C60040 */ ori $a2, $a2, 0x40 +/* DF82FC 802418FC 3C10800A */ lui $s0, 0x800a +/* DF8300 80241900 2610A66C */ addiu $s0, $s0, -0x5994 +/* DF8304 80241904 0220382D */ daddu $a3, $s1, $zero +/* DF8308 80241908 8E020000 */ lw $v0, ($s0) +/* DF830C 8024190C 96480000 */ lhu $t0, ($s2) +/* DF8310 80241910 0040482D */ daddu $t1, $v0, $zero +/* DF8314 80241914 24420008 */ addiu $v0, $v0, 8 +/* DF8318 80241918 AE020000 */ sw $v0, ($s0) +/* DF831C 8024191C 3102FFFF */ andi $v0, $t0, 0xffff +/* DF8320 80241920 00021180 */ sll $v0, $v0, 6 +/* DF8324 80241924 00541021 */ addu $v0, $v0, $s4 +/* DF8328 80241928 AD230000 */ sw $v1, ($t1) +/* DF832C 8024192C 8E630000 */ lw $v1, ($s3) +/* DF8330 80241930 25080001 */ addiu $t0, $t0, 1 +/* DF8334 80241934 00621821 */ addu $v1, $v1, $v0 +/* DF8338 80241938 3C028000 */ lui $v0, 0x8000 +/* DF833C 8024193C 00621821 */ addu $v1, $v1, $v0 +/* DF8340 80241940 AD230004 */ sw $v1, 4($t1) +/* DF8344 80241944 93A20042 */ lbu $v0, 0x42($sp) +/* DF8348 80241948 8FA3003C */ lw $v1, 0x3c($sp) +/* DF834C 8024194C 93A90040 */ lbu $t1, 0x40($sp) +/* DF8350 80241950 93AA0041 */ lbu $t2, 0x41($sp) +/* DF8354 80241954 44820000 */ mtc1 $v0, $f0 +/* DF8358 80241958 00000000 */ nop +/* DF835C 8024195C 46800021 */ cvt.d.w $f0, $f0 +/* DF8360 80241960 8FA20038 */ lw $v0, 0x38($sp) +/* DF8364 80241964 463A0002 */ mul.d $f0, $f0, $f26 +/* DF8368 80241968 00000000 */ nop +/* DF836C 8024196C A6480000 */ sh $t0, ($s2) +/* DF8370 80241970 A7A0002E */ sh $zero, 0x2e($sp) +/* DF8374 80241974 A3B50030 */ sb $s5, 0x30($sp) +/* DF8378 80241978 AFA30024 */ sw $v1, 0x24($sp) +/* DF837C 8024197C A7A90028 */ sh $t1, 0x28($sp) +/* DF8380 80241980 A7AA002A */ sh $t2, 0x2a($sp) +/* DF8384 80241984 AFA20020 */ sw $v0, 0x20($sp) +/* DF8388 80241988 46200007 */ neg.d $f0, $f0 +/* DF838C 8024198C 4620008D */ trunc.w.d $f2, $f0 +/* DF8390 80241990 44021000 */ mfc1 $v0, $f2 +/* DF8394 80241994 0C04EBDC */ jal func_8013AF70 +/* DF8398 80241998 A7A2002C */ sh $v0, 0x2c($sp) +/* DF839C 8024199C 3C04D838 */ lui $a0, 0xd838 +/* DF83A0 802419A0 8E020000 */ lw $v0, ($s0) +/* DF83A4 802419A4 34840002 */ ori $a0, $a0, 2 +/* DF83A8 802419A8 0040182D */ daddu $v1, $v0, $zero +/* DF83AC 802419AC 24420008 */ addiu $v0, $v0, 8 +/* DF83B0 802419B0 AE020000 */ sw $v0, ($s0) +/* DF83B4 802419B4 24020040 */ addiu $v0, $zero, 0x40 +/* DF83B8 802419B8 AC640000 */ sw $a0, ($v1) +/* DF83BC 802419BC AC620004 */ sw $v0, 4($v1) +/* DF83C0 802419C0 8FBF00E0 */ lw $ra, 0xe0($sp) +/* DF83C4 802419C4 8FB500DC */ lw $s5, 0xdc($sp) +/* DF83C8 802419C8 8FB400D8 */ lw $s4, 0xd8($sp) +/* DF83CC 802419CC 8FB300D4 */ lw $s3, 0xd4($sp) +/* DF83D0 802419D0 8FB200D0 */ lw $s2, 0xd0($sp) +/* DF83D4 802419D4 8FB100CC */ lw $s1, 0xcc($sp) +/* DF83D8 802419D8 8FB000C8 */ lw $s0, 0xc8($sp) +/* DF83DC 802419DC D7BC0108 */ ldc1 $f28, 0x108($sp) +/* DF83E0 802419E0 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* DF83E4 802419E4 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* DF83E8 802419E8 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* DF83EC 802419EC D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* DF83F0 802419F0 03E00008 */ jr $ra +/* DF83F4 802419F4 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802419F8.s b/asm/nonmatchings/world/area_end/end_00/func_802419F8.s new file mode 100644 index 0000000000..dd10096294 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802419F8.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419F8 +/* DF83F8 802419F8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* DF83FC 802419FC AFB00048 */ sw $s0, 0x48($sp) +/* DF8400 80241A00 00A0802D */ daddu $s0, $a1, $zero +/* DF8404 80241A04 AFBF0050 */ sw $ra, 0x50($sp) +/* DF8408 80241A08 AFB1004C */ sw $s1, 0x4c($sp) +/* DF840C 80241A0C F7B80068 */ sdc1 $f24, 0x68($sp) +/* DF8410 80241A10 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DF8414 80241A14 F7B40058 */ sdc1 $f20, 0x58($sp) +/* DF8418 80241A18 8C820050 */ lw $v0, 0x50($a0) +/* DF841C 80241A1C 2404000B */ addiu $a0, $zero, 0xb +/* DF8420 80241A20 0000302D */ daddu $a2, $zero, $zero +/* DF8424 80241A24 C6140010 */ lwc1 $f20, 0x10($s0) +/* DF8428 80241A28 4680A520 */ cvt.s.w $f20, $f20 +/* DF842C 80241A2C 3C05437F */ lui $a1, 0x437f +/* DF8430 80241A30 C6160014 */ lwc1 $f22, 0x14($s0) +/* DF8434 80241A34 4680B5A0 */ cvt.s.w $f22, $f22 +/* DF8438 80241A38 AFA20010 */ sw $v0, 0x10($sp) +/* DF843C 80241A3C 8E070018 */ lw $a3, 0x18($s0) +/* DF8440 80241A40 0C00A8ED */ jal update_lerp +/* DF8444 80241A44 27B10038 */ addiu $s1, $sp, 0x38 +/* DF8448 80241A48 AFB10010 */ sw $s1, 0x10($sp) +/* DF844C 80241A4C 8E040004 */ lw $a0, 4($s0) +/* DF8450 80241A50 8E050008 */ lw $a1, 8($s0) +/* DF8454 80241A54 8E060000 */ lw $a2, ($s0) +/* DF8458 80241A58 8E07000C */ lw $a3, 0xc($s0) +/* DF845C 80241A5C 0C04BA38 */ jal func_8012E8E0 +/* DF8460 80241A60 46000606 */ mov.s $f24, $f0 +/* DF8464 80241A64 4600A08D */ trunc.w.s $f2, $f20 +/* DF8468 80241A68 44021000 */ mfc1 $v0, $f2 +/* DF846C 80241A6C 93A50040 */ lbu $a1, 0x40($sp) +/* DF8470 80241A70 93A60041 */ lbu $a2, 0x41($sp) +/* DF8474 80241A74 00021400 */ sll $v0, $v0, 0x10 +/* DF8478 80241A78 AFA00010 */ sw $zero, 0x10($sp) +/* DF847C 80241A7C 8FA3003C */ lw $v1, 0x3c($sp) +/* DF8480 80241A80 00021403 */ sra $v0, $v0, 0x10 +/* DF8484 80241A84 AFA20018 */ sw $v0, 0x18($sp) +/* DF8488 80241A88 4600B08D */ trunc.w.s $f2, $f22 +/* DF848C 80241A8C 44021000 */ mfc1 $v0, $f2 +/* DF8490 80241A90 00000000 */ nop +/* DF8494 80241A94 00021400 */ sll $v0, $v0, 0x10 +/* DF8498 80241A98 3C014F00 */ lui $at, 0x4f00 +/* DF849C 80241A9C 44810000 */ mtc1 $at, $f0 +/* DF84A0 80241AA0 00021403 */ sra $v0, $v0, 0x10 +/* DF84A4 80241AA4 AFA2001C */ sw $v0, 0x1c($sp) +/* DF84A8 80241AA8 2402000A */ addiu $v0, $zero, 0xa +/* DF84AC 80241AAC AFA20020 */ sw $v0, 0x20($sp) +/* DF84B0 80241AB0 24020014 */ addiu $v0, $zero, 0x14 +/* DF84B4 80241AB4 AFA20024 */ sw $v0, 0x24($sp) +/* DF84B8 80241AB8 2402012C */ addiu $v0, $zero, 0x12c +/* DF84BC 80241ABC AFA20028 */ sw $v0, 0x28($sp) +/* DF84C0 80241AC0 240200C8 */ addiu $v0, $zero, 0xc8 +/* DF84C4 80241AC4 AFA2002C */ sw $v0, 0x2c($sp) +/* DF84C8 80241AC8 4618003E */ c.le.s $f0, $f24 +/* DF84CC 80241ACC 00000000 */ nop +/* DF84D0 80241AD0 45010005 */ bc1t .L80241AE8 +/* DF84D4 80241AD4 AFA30014 */ sw $v1, 0x14($sp) +/* DF84D8 80241AD8 4600C08D */ trunc.w.s $f2, $f24 +/* DF84DC 80241ADC 44031000 */ mfc1 $v1, $f2 +/* DF84E0 80241AE0 080906C1 */ j .L80241B04 +/* DF84E4 80241AE4 306200FF */ andi $v0, $v1, 0xff +.L80241AE8: +/* DF84E8 80241AE8 4600C001 */ sub.s $f0, $f24, $f0 +/* DF84EC 80241AEC 3C028000 */ lui $v0, 0x8000 +/* DF84F0 80241AF0 4600008D */ trunc.w.s $f2, $f0 +/* DF84F4 80241AF4 44031000 */ mfc1 $v1, $f2 +/* DF84F8 80241AF8 00000000 */ nop +/* DF84FC 80241AFC 00621825 */ or $v1, $v1, $v0 +/* DF8500 80241B00 306200FF */ andi $v0, $v1, 0xff +.L80241B04: +/* DF8504 80241B04 AFA20030 */ sw $v0, 0x30($sp) +/* DF8508 80241B08 8E240000 */ lw $a0, ($s1) +/* DF850C 80241B0C 0C04BA68 */ jal func_8012E9A0 +/* DF8510 80241B10 24070002 */ addiu $a3, $zero, 2 +/* DF8514 80241B14 8FBF0050 */ lw $ra, 0x50($sp) +/* DF8518 80241B18 8FB1004C */ lw $s1, 0x4c($sp) +/* DF851C 80241B1C 8FB00048 */ lw $s0, 0x48($sp) +/* DF8520 80241B20 D7B80068 */ ldc1 $f24, 0x68($sp) +/* DF8524 80241B24 D7B60060 */ ldc1 $f22, 0x60($sp) +/* DF8528 80241B28 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DF852C 80241B2C 03E00008 */ jr $ra +/* DF8530 80241B30 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80241B34.s b/asm/nonmatchings/world/area_end/end_00/func_80241B34.s new file mode 100644 index 0000000000..d848124240 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80241B34.s @@ -0,0 +1,470 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B34 +/* DF8534 80241B34 27BDFF80 */ addiu $sp, $sp, -0x80 +/* DF8538 80241B38 AFB30064 */ sw $s3, 0x64($sp) +/* DF853C 80241B3C 0080982D */ daddu $s3, $a0, $zero +/* DF8540 80241B40 AFBE0078 */ sw $fp, 0x78($sp) +/* DF8544 80241B44 0000F02D */ daddu $fp, $zero, $zero +/* DF8548 80241B48 AFBF007C */ sw $ra, 0x7c($sp) +/* DF854C 80241B4C AFB70074 */ sw $s7, 0x74($sp) +/* DF8550 80241B50 AFB60070 */ sw $s6, 0x70($sp) +/* DF8554 80241B54 AFB5006C */ sw $s5, 0x6c($sp) +/* DF8558 80241B58 AFB40068 */ sw $s4, 0x68($sp) +/* DF855C 80241B5C AFB20060 */ sw $s2, 0x60($sp) +/* DF8560 80241B60 AFB1005C */ sw $s1, 0x5c($sp) +/* DF8564 80241B64 AFB00058 */ sw $s0, 0x58($sp) +/* DF8568 80241B68 96630070 */ lhu $v1, 0x70($s3) +/* DF856C 80241B6C 30620002 */ andi $v0, $v1, 2 +/* DF8570 80241B70 10400005 */ beqz $v0, .L80241B88 +/* DF8574 80241B74 27B00020 */ addiu $s0, $sp, 0x20 +/* DF8578 80241B78 3062FFFD */ andi $v0, $v1, 0xfffd +/* DF857C 80241B7C A6620070 */ sh $v0, 0x70($s3) +/* DF8580 80241B80 AE600008 */ sw $zero, 8($s3) +/* DF8584 80241B84 AE60000C */ sw $zero, 0xc($s3) +.L80241B88: +/* DF8588 80241B88 27A50040 */ addiu $a1, $sp, 0x40 +/* DF858C 80241B8C 27A60044 */ addiu $a2, $sp, 0x44 +/* DF8590 80241B90 27A70048 */ addiu $a3, $sp, 0x48 +/* DF8594 80241B94 0000882D */ daddu $s1, $zero, $zero +/* DF8598 80241B98 AFA00010 */ sw $zero, 0x10($sp) +/* DF859C 80241B9C AFA00014 */ sw $zero, 0x14($sp) +/* DF85A0 80241BA0 AFA00018 */ sw $zero, 0x18($sp) +/* DF85A4 80241BA4 AFA0001C */ sw $zero, 0x1c($sp) +/* DF85A8 80241BA8 8E640000 */ lw $a0, ($s3) +/* DF85AC 80241BAC 0C0497DA */ jal get_string_properties +/* DF85B0 80241BB0 24170008 */ addiu $s7, $zero, 8 +/* DF85B4 80241BB4 24020001 */ addiu $v0, $zero, 1 +/* DF85B8 80241BB8 AFA00024 */ sw $zero, 0x24($sp) +/* DF85BC 80241BBC AFA00028 */ sw $zero, 0x28($sp) +/* DF85C0 80241BC0 AFA20044 */ sw $v0, 0x44($sp) +.L80241BC4: +/* DF85C4 80241BC4 8E620000 */ lw $v0, ($s3) +/* DF85C8 80241BC8 00511821 */ addu $v1, $v0, $s1 +/* DF85CC 80241BCC 26310001 */ addiu $s1, $s1, 1 +/* DF85D0 80241BD0 00511021 */ addu $v0, $v0, $s1 +/* DF85D4 80241BD4 90740000 */ lbu $s4, ($v1) +/* DF85D8 80241BD8 90550000 */ lbu $s5, ($v0) +/* DF85DC 80241BDC 2684FF10 */ addiu $a0, $s4, -0xf0 +/* DF85E0 80241BE0 2C830010 */ sltiu $v1, $a0, 0x10 +/* DF85E4 80241BE4 10600017 */ beqz $v1, .L80241C44 +/* DF85E8 80241BE8 0000B02D */ daddu $s6, $zero, $zero +/* DF85EC 80241BEC 00041080 */ sll $v0, $a0, 2 +/* DF85F0 80241BF0 3C098025 */ lui $t1, 0x8025 +/* DF85F4 80241BF4 2529E8C0 */ addiu $t1, $t1, -0x1740 +/* DF85F8 80241BF8 00491021 */ addu $v0, $v0, $t1 +/* DF85FC 80241BFC 8C420000 */ lw $v0, ($v0) +/* DF8600 80241C00 00400008 */ jr $v0 +/* DF8604 80241C04 00000000 */ nop +/* DF8608 80241C08 2682FF0D */ addiu $v0, $s4, -0xf3 +/* DF860C 80241C0C 08090743 */ j .L80241D0C +/* DF8610 80241C10 AE020008 */ sw $v0, 8($s0) +/* DF8614 80241C14 08090743 */ j .L80241D0C +/* DF8618 80241C18 24160001 */ addiu $s6, $zero, 1 +/* DF861C 80241C1C 8E630000 */ lw $v1, ($s3) +/* DF8620 80241C20 00711021 */ addu $v0, $v1, $s1 +/* DF8624 80241C24 90420000 */ lbu $v0, ($v0) +/* DF8628 80241C28 14400038 */ bnez $v0, .L80241D0C +/* DF862C 80241C2C 26310001 */ addiu $s1, $s1, 1 +/* DF8630 80241C30 00711021 */ addu $v0, $v1, $s1 +/* DF8634 80241C34 90420000 */ lbu $v0, ($v0) +/* DF8638 80241C38 26310001 */ addiu $s1, $s1, 1 +/* DF863C 80241C3C 08090743 */ j .L80241D0C +/* DF8640 80241C40 AE020004 */ sw $v0, 4($s0) +.L80241C44: +/* DF8644 80241C44 24020001 */ addiu $v0, $zero, 1 +/* DF8648 80241C48 329200FF */ andi $s2, $s4, 0xff +/* DF864C 80241C4C AFA00010 */ sw $zero, 0x10($sp) +/* DF8650 80241C50 AFA20014 */ sw $v0, 0x14($sp) +/* DF8654 80241C54 8E050004 */ lw $a1, 4($s0) +/* DF8658 80241C58 8E060008 */ lw $a2, 8($s0) +/* DF865C 80241C5C 3C073F80 */ lui $a3, 0x3f80 +/* DF8660 80241C60 0C049721 */ jal func_80125C84 +/* DF8664 80241C64 0240202D */ daddu $a0, $s2, $zero +/* DF8668 80241C68 8FA30044 */ lw $v1, 0x44($sp) +/* DF866C 80241C6C 8E040004 */ lw $a0, 4($s0) +/* DF8670 80241C70 2463FFFF */ addiu $v1, $v1, -1 +/* DF8674 80241C74 00621821 */ addu $v1, $v1, $v0 +/* DF8678 80241C78 2482FFFD */ addiu $v0, $a0, -3 +/* DF867C 80241C7C 2C420002 */ sltiu $v0, $v0, 2 +/* DF8680 80241C80 10400022 */ beqz $v0, .L80241D0C +/* DF8684 80241C84 AFA30044 */ sw $v1, 0x44($sp) +/* DF8688 80241C88 3C058024 */ lui $a1, 0x8024 +/* DF868C 80241C8C 24A52CD8 */ addiu $a1, $a1, 0x2cd8 +/* DF8690 80241C90 24090004 */ addiu $t1, $zero, 4 +/* DF8694 80241C94 14890003 */ bne $a0, $t1, .L80241CA4 +/* DF8698 80241C98 00000000 */ nop +/* DF869C 80241C9C 3C058024 */ lui $a1, 0x8024 +/* DF86A0 80241CA0 24A52C70 */ addiu $a1, $a1, 0x2c70 +.L80241CA4: +/* DF86A4 80241CA4 14890007 */ bne $a0, $t1, .L80241CC4 +/* DF86A8 80241CA8 0000302D */ daddu $a2, $zero, $zero +/* DF86AC 80241CAC 12570004 */ beq $s2, $s7, .L80241CC0 +/* DF86B0 80241CB0 24620001 */ addiu $v0, $v1, 1 +/* DF86B4 80241CB4 16B70004 */ bne $s5, $s7, .L80241CC8 +/* DF86B8 80241CB8 328800FF */ andi $t0, $s4, 0xff +/* DF86BC 80241CBC 24620001 */ addiu $v0, $v1, 1 +.L80241CC0: +/* DF86C0 80241CC0 AFA20044 */ sw $v0, 0x44($sp) +.L80241CC4: +/* DF86C4 80241CC4 328800FF */ andi $t0, $s4, 0xff +.L80241CC8: +/* DF86C8 80241CC8 32A7FFFF */ andi $a3, $s5, 0xffff +/* DF86CC 80241CCC 00061080 */ sll $v0, $a2, 2 +/* DF86D0 80241CD0 00452021 */ addu $a0, $v0, $a1 +.L80241CD4: +/* DF86D4 80241CD4 90820000 */ lbu $v0, ($a0) +/* DF86D8 80241CD8 55020009 */ bnel $t0, $v0, .L80241D00 +/* DF86DC 80241CDC 24840004 */ addiu $a0, $a0, 4 +/* DF86E0 80241CE0 90820001 */ lbu $v0, 1($a0) +/* DF86E4 80241CE4 54E20006 */ bnel $a3, $v0, .L80241D00 +/* DF86E8 80241CE8 24840004 */ addiu $a0, $a0, 4 +/* DF86EC 80241CEC 84830002 */ lh $v1, 2($a0) +/* DF86F0 80241CF0 8FA20044 */ lw $v0, 0x44($sp) +/* DF86F4 80241CF4 00431021 */ addu $v0, $v0, $v1 +/* DF86F8 80241CF8 AFA20044 */ sw $v0, 0x44($sp) +/* DF86FC 80241CFC 24840004 */ addiu $a0, $a0, 4 +.L80241D00: +/* DF8700 80241D00 84820002 */ lh $v0, 2($a0) +/* DF8704 80241D04 1440FFF3 */ bnez $v0, .L80241CD4 +/* DF8708 80241D08 00000000 */ nop +.L80241D0C: +/* DF870C 80241D0C 32C2FFFF */ andi $v0, $s6, 0xffff +/* DF8710 80241D10 1040FFAC */ beqz $v0, .L80241BC4 +/* DF8714 80241D14 00000000 */ nop +/* DF8718 80241D18 96620070 */ lhu $v0, 0x70($s3) +/* DF871C 80241D1C 8FA30044 */ lw $v1, 0x44($sp) +/* DF8720 80241D20 30420001 */ andi $v0, $v0, 1 +/* DF8724 80241D24 10400015 */ beqz $v0, .L80241D7C +/* DF8728 80241D28 AE630014 */ sw $v1, 0x14($s3) +/* DF872C 80241D2C 44831000 */ mtc1 $v1, $f2 +/* DF8730 80241D30 00000000 */ nop +/* DF8734 80241D34 468010A0 */ cvt.s.w $f2, $f2 +/* DF8738 80241D38 3C013FE0 */ lui $at, 0x3fe0 +/* DF873C 80241D3C 44810800 */ mtc1 $at, $f1 +/* DF8740 80241D40 44800000 */ mtc1 $zero, $f0 +/* DF8744 80241D44 460010A1 */ cvt.d.s $f2, $f2 +/* DF8748 80241D48 46201082 */ mul.d $f2, $f2, $f0 +/* DF874C 80241D4C 00000000 */ nop +/* DF8750 80241D50 44800000 */ mtc1 $zero, $f0 +/* DF8754 80241D54 44800800 */ mtc1 $zero, $f1 +/* DF8758 80241D58 00000000 */ nop +/* DF875C 80241D5C 46201080 */ add.d $f2, $f2, $f0 +/* DF8760 80241D60 C6600068 */ lwc1 $f0, 0x68($s3) +/* DF8764 80241D64 46800021 */ cvt.d.w $f0, $f0 +/* DF8768 80241D68 46220001 */ sub.d $f0, $f0, $f2 +/* DF876C 80241D6C 4620010D */ trunc.w.d $f4, $f0 +/* DF8770 80241D70 44152000 */ mfc1 $s5, $f4 +/* DF8774 80241D74 08090761 */ j .L80241D84 +/* DF8778 80241D78 0000B82D */ daddu $s7, $zero, $zero +.L80241D7C: +/* DF877C 80241D7C 8E750068 */ lw $s5, 0x68($s3) +/* DF8780 80241D80 0000B82D */ daddu $s7, $zero, $zero +.L80241D84: +/* DF8784 80241D84 AE000004 */ sw $zero, 4($s0) +/* DF8788 80241D88 AE000008 */ sw $zero, 8($s0) +/* DF878C 80241D8C 8E620010 */ lw $v0, 0x10($s3) +/* DF8790 80241D90 02E0882D */ daddu $s1, $s7, $zero +/* DF8794 80241D94 AE02000C */ sw $v0, 0xc($s0) +.L80241D98: +/* DF8798 80241D98 8E620000 */ lw $v0, ($s3) +/* DF879C 80241D9C A7A00050 */ sh $zero, 0x50($sp) +/* DF87A0 80241DA0 00511821 */ addu $v1, $v0, $s1 +/* DF87A4 80241DA4 26310001 */ addiu $s1, $s1, 1 +/* DF87A8 80241DA8 00511021 */ addu $v0, $v0, $s1 +/* DF87AC 80241DAC 90740000 */ lbu $s4, ($v1) +/* DF87B0 80241DB0 90560000 */ lbu $s6, ($v0) +/* DF87B4 80241DB4 2684FF10 */ addiu $a0, $s4, -0xf0 +/* DF87B8 80241DB8 2C830010 */ sltiu $v1, $a0, 0x10 +/* DF87BC 80241DBC 10600016 */ beqz $v1, .L80241E18 +/* DF87C0 80241DC0 00041080 */ sll $v0, $a0, 2 +/* DF87C4 80241DC4 3C018025 */ lui $at, 0x8025 +/* DF87C8 80241DC8 00220821 */ addu $at, $at, $v0 +/* DF87CC 80241DCC 8C22E900 */ lw $v0, -0x1700($at) +/* DF87D0 80241DD0 00400008 */ jr $v0 +/* DF87D4 80241DD4 00000000 */ nop +/* DF87D8 80241DD8 2682FF0D */ addiu $v0, $s4, -0xf3 +/* DF87DC 80241DDC 0809083B */ j .L802420EC +/* DF87E0 80241DE0 AE020008 */ sw $v0, 8($s0) +/* DF87E4 80241DE4 24090001 */ addiu $t1, $zero, 1 +/* DF87E8 80241DE8 0809083B */ j .L802420EC +/* DF87EC 80241DEC A7A90050 */ sh $t1, 0x50($sp) +/* DF87F0 80241DF0 8E630000 */ lw $v1, ($s3) +/* DF87F4 80241DF4 00711021 */ addu $v0, $v1, $s1 +/* DF87F8 80241DF8 90420000 */ lbu $v0, ($v0) +/* DF87FC 80241DFC 144000BB */ bnez $v0, .L802420EC +/* DF8800 80241E00 26310001 */ addiu $s1, $s1, 1 +/* DF8804 80241E04 00711021 */ addu $v0, $v1, $s1 +/* DF8808 80241E08 90420000 */ lbu $v0, ($v0) +/* DF880C 80241E0C 26310001 */ addiu $s1, $s1, 1 +/* DF8810 80241E10 0809083B */ j .L802420EC +/* DF8814 80241E14 AE020004 */ sw $v0, 4($s0) +.L80241E18: +/* DF8818 80241E18 328300FF */ andi $v1, $s4, 0xff +/* DF881C 80241E1C 2C6200F0 */ sltiu $v0, $v1, 0xf0 +/* DF8820 80241E20 10400083 */ beqz $v0, .L80242030 +/* DF8824 80241E24 24090001 */ addiu $t1, $zero, 1 +/* DF8828 80241E28 AE030000 */ sw $v1, ($s0) +/* DF882C 80241E2C AE150010 */ sw $s5, 0x10($s0) +/* DF8830 80241E30 8E62006C */ lw $v0, 0x6c($s3) +/* DF8834 80241E34 AE020014 */ sw $v0, 0x14($s0) +/* DF8838 80241E38 8E63000C */ lw $v1, 0xc($s3) +/* DF883C 80241E3C 1069003F */ beq $v1, $t1, .L80241F3C +/* DF8840 80241E40 28620002 */ slti $v0, $v1, 2 +/* DF8844 80241E44 50400005 */ beql $v0, $zero, .L80241E5C +/* DF8848 80241E48 24090002 */ addiu $t1, $zero, 2 +/* DF884C 80241E4C 10600007 */ beqz $v1, .L80241E6C +/* DF8850 80241E50 00000000 */ nop +/* DF8854 80241E54 0809080D */ j .L80242034 +/* DF8858 80241E58 26F70001 */ addiu $s7, $s7, 1 +.L80241E5C: +/* DF885C 80241E5C 10690043 */ beq $v1, $t1, .L80241F6C +/* DF8860 80241E60 00000000 */ nop +/* DF8864 80241E64 0809080C */ j .L80242030 +/* DF8868 80241E68 26F70001 */ addiu $s7, $s7, 1 +.L80241E6C: +/* DF886C 80241E6C 8E620020 */ lw $v0, 0x20($s3) +/* DF8870 80241E70 00570018 */ mult $v0, $s7 +/* DF8874 80241E74 8E620008 */ lw $v0, 8($s3) +/* DF8878 80241E78 00004812 */ mflo $t1 +/* DF887C 80241E7C 00491023 */ subu $v0, $v0, $t1 +/* DF8880 80241E80 0440006A */ bltz $v0, .L8024202C +/* DF8884 80241E84 AE020018 */ sw $v0, 0x18($s0) +/* DF8888 80241E88 8E63001C */ lw $v1, 0x1c($s3) +/* DF888C 80241E8C 0062102A */ slt $v0, $v1, $v0 +/* DF8890 80241E90 54400001 */ bnel $v0, $zero, .L80241E98 +/* DF8894 80241E94 AE030018 */ sw $v1, 0x18($s0) +.L80241E98: +/* DF8898 80241E98 240900FD */ addiu $t1, $zero, 0xfd +/* DF889C 80241E9C 16C90005 */ bne $s6, $t1, .L80241EB4 +/* DF88A0 80241EA0 00000000 */ nop +/* DF88A4 80241EA4 8E030018 */ lw $v1, 0x18($s0) +/* DF88A8 80241EA8 8E62001C */ lw $v0, 0x1c($s3) +/* DF88AC 80241EAC 50620001 */ beql $v1, $v0, .L80241EB4 +/* DF88B0 80241EB0 241E0001 */ addiu $fp, $zero, 1 +.L80241EB4: +/* DF88B4 80241EB4 8E630018 */ lw $v1, 0x18($s3) +/* DF88B8 80241EB8 2C620006 */ sltiu $v0, $v1, 6 +/* DF88BC 80241EBC 1040005B */ beqz $v0, .L8024202C +/* DF88C0 80241EC0 00031080 */ sll $v0, $v1, 2 +/* DF88C4 80241EC4 3C018025 */ lui $at, 0x8025 +/* DF88C8 80241EC8 00220821 */ addu $at, $at, $v0 +/* DF88CC 80241ECC 8C22E940 */ lw $v0, -0x16c0($at) +/* DF88D0 80241ED0 00400008 */ jr $v0 +/* DF88D4 80241ED4 00000000 */ nop +/* DF88D8 80241ED8 0260202D */ daddu $a0, $s3, $zero +/* DF88DC 80241EDC 0C09009C */ jal func_80240270 +/* DF88E0 80241EE0 0200282D */ daddu $a1, $s0, $zero +/* DF88E4 80241EE4 0809080C */ j .L80242030 +/* DF88E8 80241EE8 26F70001 */ addiu $s7, $s7, 1 +/* DF88EC 80241EEC 0260202D */ daddu $a0, $s3, $zero +/* DF88F0 80241EF0 0C090150 */ jal func_80240540 +/* DF88F4 80241EF4 0200282D */ daddu $a1, $s0, $zero +/* DF88F8 80241EF8 0809080C */ j .L80242030 +/* DF88FC 80241EFC 26F70001 */ addiu $s7, $s7, 1 +/* DF8900 80241F00 0260202D */ daddu $a0, $s3, $zero +/* DF8904 80241F04 0C090207 */ jal func_8024081C +/* DF8908 80241F08 0200282D */ daddu $a1, $s0, $zero +/* DF890C 80241F0C 0809080C */ j .L80242030 +/* DF8910 80241F10 26F70001 */ addiu $s7, $s7, 1 +/* DF8914 80241F14 0260202D */ daddu $a0, $s3, $zero +/* DF8918 80241F18 0C0902BA */ jal func_80240AE8 +/* DF891C 80241F1C 0200282D */ daddu $a1, $s0, $zero +/* DF8920 80241F20 0809080C */ j .L80242030 +/* DF8924 80241F24 26F70001 */ addiu $s7, $s7, 1 +/* DF8928 80241F28 0260202D */ daddu $a0, $s3, $zero +/* DF892C 80241F2C 0C0903AC */ jal func_80240EB0 +/* DF8930 80241F30 0200282D */ daddu $a1, $s0, $zero +/* DF8934 80241F34 0809080C */ j .L80242030 +/* DF8938 80241F38 26F70001 */ addiu $s7, $s7, 1 +.L80241F3C: +/* DF893C 80241F3C 240900FD */ addiu $t1, $zero, 0xfd +/* DF8940 80241F40 16C90006 */ bne $s6, $t1, .L80241F5C +/* DF8944 80241F44 0260202D */ daddu $a0, $s3, $zero +/* DF8948 80241F48 8E630008 */ lw $v1, 8($s3) +/* DF894C 80241F4C 8E620038 */ lw $v0, 0x38($s3) +/* DF8950 80241F50 50620002 */ beql $v1, $v0, .L80241F5C +/* DF8954 80241F54 241E0001 */ addiu $fp, $zero, 1 +/* DF8958 80241F58 0260202D */ daddu $a0, $s3, $zero +.L80241F5C: +/* DF895C 80241F5C 0C090473 */ jal func_802411CC +/* DF8960 80241F60 0200282D */ daddu $a1, $s0, $zero +/* DF8964 80241F64 0809080C */ j .L80242030 +/* DF8968 80241F68 26F70001 */ addiu $s7, $s7, 1 +.L80241F6C: +/* DF896C 80241F6C 8E620054 */ lw $v0, 0x54($s3) +/* DF8970 80241F70 00570018 */ mult $v0, $s7 +/* DF8974 80241F74 8E620008 */ lw $v0, 8($s3) +/* DF8978 80241F78 00004812 */ mflo $t1 +/* DF897C 80241F7C 00491023 */ subu $v0, $v0, $t1 +/* DF8980 80241F80 04410002 */ bgez $v0, .L80241F8C +/* DF8984 80241F84 AE020018 */ sw $v0, 0x18($s0) +/* DF8988 80241F88 AE000018 */ sw $zero, 0x18($s0) +.L80241F8C: +/* DF898C 80241F8C 8E020018 */ lw $v0, 0x18($s0) +/* DF8990 80241F90 8E630050 */ lw $v1, 0x50($s3) +/* DF8994 80241F94 0062102A */ slt $v0, $v1, $v0 +/* DF8998 80241F98 54400001 */ bnel $v0, $zero, .L80241FA0 +/* DF899C 80241F9C AE030018 */ sw $v1, 0x18($s0) +.L80241FA0: +/* DF89A0 80241FA0 240900FD */ addiu $t1, $zero, 0xfd +/* DF89A4 80241FA4 16C90005 */ bne $s6, $t1, .L80241FBC +/* DF89A8 80241FA8 00000000 */ nop +/* DF89AC 80241FAC 8E030018 */ lw $v1, 0x18($s0) +/* DF89B0 80241FB0 8E620050 */ lw $v0, 0x50($s3) +/* DF89B4 80241FB4 50620001 */ beql $v1, $v0, .L80241FBC +/* DF89B8 80241FB8 241E0001 */ addiu $fp, $zero, 1 +.L80241FBC: +/* DF89BC 80241FBC 8E63004C */ lw $v1, 0x4c($s3) +/* DF89C0 80241FC0 24090001 */ addiu $t1, $zero, 1 +/* DF89C4 80241FC4 1069000D */ beq $v1, $t1, .L80241FFC +/* DF89C8 80241FC8 28620002 */ slti $v0, $v1, 2 +/* DF89CC 80241FCC 50400005 */ beql $v0, $zero, .L80241FE4 +/* DF89D0 80241FD0 24090002 */ addiu $t1, $zero, 2 +/* DF89D4 80241FD4 10600013 */ beqz $v1, .L80242024 +/* DF89D8 80241FD8 0260202D */ daddu $a0, $s3, $zero +/* DF89DC 80241FDC 0809080D */ j .L80242034 +/* DF89E0 80241FE0 26F70001 */ addiu $s7, $s7, 1 +.L80241FE4: +/* DF89E4 80241FE4 1069000A */ beq $v1, $t1, .L80242010 +/* DF89E8 80241FE8 24020003 */ addiu $v0, $zero, 3 +/* DF89EC 80241FEC 1062000D */ beq $v1, $v0, .L80242024 +/* DF89F0 80241FF0 0260202D */ daddu $a0, $s3, $zero +/* DF89F4 80241FF4 0809080C */ j .L80242030 +/* DF89F8 80241FF8 26F70001 */ addiu $s7, $s7, 1 +.L80241FFC: +/* DF89FC 80241FFC 0260202D */ daddu $a0, $s3, $zero +/* DF8A00 80242000 0C090533 */ jal func_802414CC +/* DF8A04 80242004 0200282D */ daddu $a1, $s0, $zero +/* DF8A08 80242008 0809080C */ j .L80242030 +/* DF8A0C 8024200C 26F70001 */ addiu $s7, $s7, 1 +.L80242010: +/* DF8A10 80242010 0260202D */ daddu $a0, $s3, $zero +/* DF8A14 80242014 0C0905DA */ jal func_80241768 +/* DF8A18 80242018 0200282D */ daddu $a1, $s0, $zero +/* DF8A1C 8024201C 0809080C */ j .L80242030 +/* DF8A20 80242020 26F70001 */ addiu $s7, $s7, 1 +.L80242024: +/* DF8A24 80242024 0C09067E */ jal func_802419F8 +/* DF8A28 80242028 0200282D */ daddu $a1, $s0, $zero +.L8024202C: +/* DF8A2C 8024202C 26F70001 */ addiu $s7, $s7, 1 +.L80242030: +/* DF8A30 80242030 24090001 */ addiu $t1, $zero, 1 +.L80242034: +/* DF8A34 80242034 329200FF */ andi $s2, $s4, 0xff +/* DF8A38 80242038 AFA00010 */ sw $zero, 0x10($sp) +/* DF8A3C 8024203C AFA90014 */ sw $t1, 0x14($sp) +/* DF8A40 80242040 8E050004 */ lw $a1, 4($s0) +/* DF8A44 80242044 8E060008 */ lw $a2, 8($s0) +/* DF8A48 80242048 3C073F80 */ lui $a3, 0x3f80 +/* DF8A4C 8024204C 0C049721 */ jal func_80125C84 +/* DF8A50 80242050 0240202D */ daddu $a0, $s2, $zero +/* DF8A54 80242054 26A3FFFF */ addiu $v1, $s5, -1 +/* DF8A58 80242058 8E040004 */ lw $a0, 4($s0) +/* DF8A5C 8024205C 0062A821 */ addu $s5, $v1, $v0 +/* DF8A60 80242060 2482FFFD */ addiu $v0, $a0, -3 +/* DF8A64 80242064 2C420002 */ sltiu $v0, $v0, 2 +/* DF8A68 80242068 10400020 */ beqz $v0, .L802420EC +/* DF8A6C 8024206C 00000000 */ nop +/* DF8A70 80242070 3C058024 */ lui $a1, 0x8024 +/* DF8A74 80242074 24A52CD8 */ addiu $a1, $a1, 0x2cd8 +/* DF8A78 80242078 24090004 */ addiu $t1, $zero, 4 +/* DF8A7C 8024207C 14890003 */ bne $a0, $t1, .L8024208C +/* DF8A80 80242080 00000000 */ nop +/* DF8A84 80242084 3C058024 */ lui $a1, 0x8024 +/* DF8A88 80242088 24A52C70 */ addiu $a1, $a1, 0x2c70 +.L8024208C: +/* DF8A8C 8024208C 14890007 */ bne $a0, $t1, .L802420AC +/* DF8A90 80242090 0000302D */ daddu $a2, $zero, $zero +/* DF8A94 80242094 24020008 */ addiu $v0, $zero, 8 +/* DF8A98 80242098 52420004 */ beql $s2, $v0, .L802420AC +/* DF8A9C 8024209C 26B50001 */ addiu $s5, $s5, 1 +/* DF8AA0 802420A0 16C20003 */ bne $s6, $v0, .L802420B0 +/* DF8AA4 802420A4 328300FF */ andi $v1, $s4, 0xff +/* DF8AA8 802420A8 26B50001 */ addiu $s5, $s5, 1 +.L802420AC: +/* DF8AAC 802420AC 328300FF */ andi $v1, $s4, 0xff +.L802420B0: +/* DF8AB0 802420B0 32C7FFFF */ andi $a3, $s6, 0xffff +/* DF8AB4 802420B4 00061080 */ sll $v0, $a2, 2 +/* DF8AB8 802420B8 00452021 */ addu $a0, $v0, $a1 +.L802420BC: +/* DF8ABC 802420BC 90820000 */ lbu $v0, ($a0) +/* DF8AC0 802420C0 54620007 */ bnel $v1, $v0, .L802420E0 +/* DF8AC4 802420C4 24840004 */ addiu $a0, $a0, 4 +/* DF8AC8 802420C8 90820001 */ lbu $v0, 1($a0) +/* DF8ACC 802420CC 54E20004 */ bnel $a3, $v0, .L802420E0 +/* DF8AD0 802420D0 24840004 */ addiu $a0, $a0, 4 +/* DF8AD4 802420D4 84820002 */ lh $v0, 2($a0) +/* DF8AD8 802420D8 02A2A821 */ addu $s5, $s5, $v0 +/* DF8ADC 802420DC 24840004 */ addiu $a0, $a0, 4 +.L802420E0: +/* DF8AE0 802420E0 84820002 */ lh $v0, 2($a0) +/* DF8AE4 802420E4 1440FFF5 */ bnez $v0, .L802420BC +/* DF8AE8 802420E8 00000000 */ nop +.L802420EC: +/* DF8AEC 802420EC 97A20050 */ lhu $v0, 0x50($sp) +/* DF8AF0 802420F0 1040FF29 */ beqz $v0, .L80241D98 +/* DF8AF4 802420F4 00000000 */ nop +/* DF8AF8 802420F8 8E62000C */ lw $v0, 0xc($s3) +/* DF8AFC 802420FC 14400015 */ bnez $v0, .L80242154 +/* DF8B00 80242100 00000000 */ nop +/* DF8B04 80242104 13C00013 */ beqz $fp, .L80242154 +/* DF8B08 80242108 0000282D */ daddu $a1, $zero, $zero +/* DF8B0C 8024210C 00A0302D */ daddu $a2, $a1, $zero +/* DF8B10 80242110 AFA0004C */ sw $zero, 0x4c($sp) +/* DF8B14 80242114 AFA00010 */ sw $zero, 0x10($sp) +/* DF8B18 80242118 AFA00014 */ sw $zero, 0x14($sp) +/* DF8B1C 8024211C AFA00018 */ sw $zero, 0x18($sp) +/* DF8B20 80242120 AFA0001C */ sw $zero, 0x1c($sp) +/* DF8B24 80242124 8E640000 */ lw $a0, ($s3) +/* DF8B28 80242128 0C0497DA */ jal get_string_properties +/* DF8B2C 8024212C 27A7004C */ addiu $a3, $sp, 0x4c +/* DF8B30 80242130 8E64000C */ lw $a0, 0xc($s3) +/* DF8B34 80242134 8E630038 */ lw $v1, 0x38($s3) +/* DF8B38 80242138 AE600008 */ sw $zero, 8($s3) +/* DF8B3C 8024213C 24820001 */ addiu $v0, $a0, 1 +/* DF8B40 80242140 1C600016 */ bgtz $v1, .L8024219C +/* DF8B44 80242144 AE62000C */ sw $v0, 0xc($s3) +/* DF8B48 80242148 24820002 */ addiu $v0, $a0, 2 +/* DF8B4C 8024214C 08090867 */ j .L8024219C +/* DF8B50 80242150 AE62000C */ sw $v0, 0xc($s3) +.L80242154: +/* DF8B54 80242154 8E63000C */ lw $v1, 0xc($s3) +/* DF8B58 80242158 24020001 */ addiu $v0, $zero, 1 +/* DF8B5C 8024215C 14620008 */ bne $v1, $v0, .L80242180 +/* DF8B60 80242160 24020002 */ addiu $v0, $zero, 2 +/* DF8B64 80242164 13C00005 */ beqz $fp, .L8024217C +/* DF8B68 80242168 0060102D */ daddu $v0, $v1, $zero +/* DF8B6C 8024216C 24420001 */ addiu $v0, $v0, 1 +/* DF8B70 80242170 AE600008 */ sw $zero, 8($s3) +/* DF8B74 80242174 08090867 */ j .L8024219C +/* DF8B78 80242178 AE62000C */ sw $v0, 0xc($s3) +.L8024217C: +/* DF8B7C 8024217C 24020002 */ addiu $v0, $zero, 2 +.L80242180: +/* DF8B80 80242180 14620006 */ bne $v1, $v0, .L8024219C +/* DF8B84 80242184 00000000 */ nop +/* DF8B88 80242188 13C00004 */ beqz $fp, .L8024219C +/* DF8B8C 8024218C 00000000 */ nop +/* DF8B90 80242190 96620070 */ lhu $v0, 0x70($s3) +/* DF8B94 80242194 3042FFFE */ andi $v0, $v0, 0xfffe +/* DF8B98 80242198 A6620070 */ sh $v0, 0x70($s3) +.L8024219C: +/* DF8B9C 8024219C 8E620008 */ lw $v0, 8($s3) +/* DF8BA0 802421A0 24420001 */ addiu $v0, $v0, 1 +/* DF8BA4 802421A4 AE620008 */ sw $v0, 8($s3) +/* DF8BA8 802421A8 8FBF007C */ lw $ra, 0x7c($sp) +/* DF8BAC 802421AC 8FBE0078 */ lw $fp, 0x78($sp) +/* DF8BB0 802421B0 8FB70074 */ lw $s7, 0x74($sp) +/* DF8BB4 802421B4 8FB60070 */ lw $s6, 0x70($sp) +/* DF8BB8 802421B8 8FB5006C */ lw $s5, 0x6c($sp) +/* DF8BBC 802421BC 8FB40068 */ lw $s4, 0x68($sp) +/* DF8BC0 802421C0 8FB30064 */ lw $s3, 0x64($sp) +/* DF8BC4 802421C4 8FB20060 */ lw $s2, 0x60($sp) +/* DF8BC8 802421C8 8FB1005C */ lw $s1, 0x5c($sp) +/* DF8BCC 802421CC 8FB00058 */ lw $s0, 0x58($sp) +/* DF8BD0 802421D0 03E00008 */ jr $ra +/* DF8BD4 802421D4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802421D8_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_802421D8_DF6A00.s new file mode 100644 index 0000000000..58c7534f3b --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802421D8_DF6A00.s @@ -0,0 +1,102 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421D8_DF8BD8 +/* DF8BD8 802421D8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DF8BDC 802421DC 3C05DC08 */ lui $a1, 0xdc08 +/* DF8BE0 802421E0 34A50008 */ ori $a1, $a1, 8 +/* DF8BE4 802421E4 AFB40030 */ sw $s4, 0x30($sp) +/* DF8BE8 802421E8 0000A02D */ daddu $s4, $zero, $zero +/* DF8BEC 802421EC AFB10024 */ sw $s1, 0x24($sp) +/* DF8BF0 802421F0 3C11800A */ lui $s1, 0x800a +/* DF8BF4 802421F4 2631A66C */ addiu $s1, $s1, -0x5994 +/* DF8BF8 802421F8 AFB3002C */ sw $s3, 0x2c($sp) +/* DF8BFC 802421FC 24130004 */ addiu $s3, $zero, 4 +/* DF8C00 80242200 3C028025 */ lui $v0, 0x8025 +/* DF8C04 80242204 24420EF0 */ addiu $v0, $v0, 0xef0 +/* DF8C08 80242208 AFBF0038 */ sw $ra, 0x38($sp) +/* DF8C0C 8024220C AFB50034 */ sw $s5, 0x34($sp) +/* DF8C10 80242210 AFB20028 */ sw $s2, 0x28($sp) +/* DF8C14 80242214 AFB00020 */ sw $s0, 0x20($sp) +/* DF8C18 80242218 8E230000 */ lw $v1, ($s1) +/* DF8C1C 8024221C 3C108007 */ lui $s0, 0x8007 +/* DF8C20 80242220 8E1041F4 */ lw $s0, 0x41f4($s0) +/* DF8C24 80242224 3C158025 */ lui $s5, 0x8025 +/* DF8C28 80242228 8EB5F7E4 */ lw $s5, -0x81c($s5) +/* DF8C2C 8024222C 44800000 */ mtc1 $zero, $f0 +/* DF8C30 80242230 3C01C2C8 */ lui $at, 0xc2c8 +/* DF8C34 80242234 44811000 */ mtc1 $at, $f2 +/* DF8C38 80242238 3C0142C8 */ lui $at, 0x42c8 +/* DF8C3C 8024223C 44812000 */ mtc1 $at, $f4 +/* DF8C40 80242240 3C013F80 */ lui $at, 0x3f80 +/* DF8C44 80242244 44813000 */ mtc1 $at, $f6 +/* DF8C48 80242248 3C0643A0 */ lui $a2, 0x43a0 +/* DF8C4C 8024224C 3C07C370 */ lui $a3, 0xc370 +/* DF8C50 80242250 0060402D */ daddu $t0, $v1, $zero +/* DF8C54 80242254 24630008 */ addiu $v1, $v1, 8 +/* DF8C58 80242258 00108180 */ sll $s0, $s0, 6 +/* DF8C5C 8024225C 02028021 */ addu $s0, $s0, $v0 +/* DF8C60 80242260 0200202D */ daddu $a0, $s0, $zero +/* DF8C64 80242264 02A0902D */ daddu $s2, $s5, $zero +/* DF8C68 80242268 AE230000 */ sw $v1, ($s1) +/* DF8C6C 8024226C AD050000 */ sw $a1, ($t0) +/* DF8C70 80242270 44050000 */ mfc1 $a1, $f0 +/* DF8C74 80242274 3C028024 */ lui $v0, 0x8024 +/* DF8C78 80242278 24422D60 */ addiu $v0, $v0, 0x2d60 +/* DF8C7C 8024227C AD020004 */ sw $v0, 4($t0) +/* DF8C80 80242280 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF8C84 80242284 E7A40018 */ swc1 $f4, 0x18($sp) +/* DF8C88 80242288 E7A6001C */ swc1 $f6, 0x1c($sp) +/* DF8C8C 8024228C 0C018E90 */ jal guOrtho +/* DF8C90 80242290 AFA50010 */ sw $a1, 0x10($sp) +/* DF8C94 80242294 3C03DA38 */ lui $v1, 0xda38 +/* DF8C98 80242298 34630007 */ ori $v1, $v1, 7 +/* DF8C9C 8024229C 3C05D9C0 */ lui $a1, 0xd9c0 +/* DF8CA0 802422A0 34A5F9FB */ ori $a1, $a1, 0xf9fb +/* DF8CA4 802422A4 3C07D9FF */ lui $a3, 0xd9ff +/* DF8CA8 802422A8 34E7FFFF */ ori $a3, $a3, 0xffff +/* DF8CAC 802422AC 3C060020 */ lui $a2, 0x20 +/* DF8CB0 802422B0 8E220000 */ lw $v0, ($s1) +/* DF8CB4 802422B4 00D33025 */ or $a2, $a2, $s3 +/* DF8CB8 802422B8 0040202D */ daddu $a0, $v0, $zero +/* DF8CBC 802422BC 24420008 */ addiu $v0, $v0, 8 +/* DF8CC0 802422C0 AE220000 */ sw $v0, ($s1) +/* DF8CC4 802422C4 AC830000 */ sw $v1, ($a0) +/* DF8CC8 802422C8 3C038000 */ lui $v1, 0x8000 +/* DF8CCC 802422CC 02038021 */ addu $s0, $s0, $v1 +/* DF8CD0 802422D0 24430008 */ addiu $v1, $v0, 8 +/* DF8CD4 802422D4 AC900004 */ sw $s0, 4($a0) +/* DF8CD8 802422D8 AE230000 */ sw $v1, ($s1) +/* DF8CDC 802422DC 3C03E700 */ lui $v1, 0xe700 +/* DF8CE0 802422E0 AC430000 */ sw $v1, ($v0) +/* DF8CE4 802422E4 24430010 */ addiu $v1, $v0, 0x10 +/* DF8CE8 802422E8 AC400004 */ sw $zero, 4($v0) +/* DF8CEC 802422EC AE230000 */ sw $v1, ($s1) +/* DF8CF0 802422F0 24430018 */ addiu $v1, $v0, 0x18 +/* DF8CF4 802422F4 AC450008 */ sw $a1, 8($v0) +/* DF8CF8 802422F8 AC40000C */ sw $zero, 0xc($v0) +/* DF8CFC 802422FC AE230000 */ sw $v1, ($s1) +/* DF8D00 80242300 AC470010 */ sw $a3, 0x10($v0) +/* DF8D04 80242304 AC460014 */ sw $a2, 0x14($v0) +.L80242308: +/* DF8D08 80242308 96420074 */ lhu $v0, 0x74($s2) +/* DF8D0C 8024230C 30420001 */ andi $v0, $v0, 1 +/* DF8D10 80242310 50400004 */ beql $v0, $zero, .L80242324 +/* DF8D14 80242314 26730074 */ addiu $s3, $s3, 0x74 +/* DF8D18 80242318 0C0906CD */ jal func_80241B34 +/* DF8D1C 8024231C 02B32021 */ addu $a0, $s5, $s3 +/* DF8D20 80242320 26730074 */ addiu $s3, $s3, 0x74 +.L80242324: +/* DF8D24 80242324 26940001 */ addiu $s4, $s4, 1 +/* DF8D28 80242328 2A820020 */ slti $v0, $s4, 0x20 +/* DF8D2C 8024232C 1440FFF6 */ bnez $v0, .L80242308 +/* DF8D30 80242330 26520074 */ addiu $s2, $s2, 0x74 +/* DF8D34 80242334 8FBF0038 */ lw $ra, 0x38($sp) +/* DF8D38 80242338 8FB50034 */ lw $s5, 0x34($sp) +/* DF8D3C 8024233C 8FB40030 */ lw $s4, 0x30($sp) +/* DF8D40 80242340 8FB3002C */ lw $s3, 0x2c($sp) +/* DF8D44 80242344 8FB20028 */ lw $s2, 0x28($sp) +/* DF8D48 80242348 8FB10024 */ lw $s1, 0x24($sp) +/* DF8D4C 8024234C 8FB00020 */ lw $s0, 0x20($sp) +/* DF8D50 80242350 03E00008 */ jr $ra +/* DF8D54 80242354 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242358_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242358_DF6A00.s new file mode 100644 index 0000000000..1d76ed0521 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242358_DF6A00.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242358_DF8D58 +/* DF8D58 80242358 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DF8D5C 8024235C AFB20030 */ sw $s2, 0x30($sp) +/* DF8D60 80242360 0080902D */ daddu $s2, $a0, $zero +/* DF8D64 80242364 0000182D */ daddu $v1, $zero, $zero +/* DF8D68 80242368 3C068025 */ lui $a2, 0x8025 +/* DF8D6C 8024236C 8CC6F7E4 */ lw $a2, -0x81c($a2) +/* DF8D70 80242370 24040020 */ addiu $a0, $zero, 0x20 +/* DF8D74 80242374 AFBF0038 */ sw $ra, 0x38($sp) +/* DF8D78 80242378 AFB30034 */ sw $s3, 0x34($sp) +/* DF8D7C 8024237C AFB1002C */ sw $s1, 0x2c($sp) +/* DF8D80 80242380 AFB00028 */ sw $s0, 0x28($sp) +/* DF8D84 80242384 00C0282D */ daddu $a1, $a2, $zero +.L80242388: +/* DF8D88 80242388 94A20074 */ lhu $v0, 0x74($a1) +/* DF8D8C 8024238C 30420001 */ andi $v0, $v0, 1 +/* DF8D90 80242390 10400006 */ beqz $v0, .L802423AC +/* DF8D94 80242394 000310C0 */ sll $v0, $v1, 3 +/* DF8D98 80242398 24630001 */ addiu $v1, $v1, 1 +/* DF8D9C 8024239C 10640051 */ beq $v1, $a0, .L802424E4 +/* DF8DA0 802423A0 24A50074 */ addiu $a1, $a1, 0x74 +/* DF8DA4 802423A4 080908E2 */ j .L80242388 +/* DF8DA8 802423A8 00000000 */ nop +.L802423AC: +/* DF8DAC 802423AC 00431023 */ subu $v0, $v0, $v1 +/* DF8DB0 802423B0 00021080 */ sll $v0, $v0, 2 +/* DF8DB4 802423B4 00431021 */ addu $v0, $v0, $v1 +/* DF8DB8 802423B8 00021080 */ sll $v0, $v0, 2 +/* DF8DBC 802423BC 24420004 */ addiu $v0, $v0, 4 +/* DF8DC0 802423C0 8E440000 */ lw $a0, ($s2) +/* DF8DC4 802423C4 10800047 */ beqz $a0, .L802424E4 +/* DF8DC8 802423C8 00C28821 */ addu $s1, $a2, $v0 +/* DF8DCC 802423CC 04820014 */ bltzl $a0, .L80242420 +/* DF8DD0 802423D0 AE240000 */ sw $a0, ($s1) +/* DF8DD4 802423D4 3C138024 */ lui $s3, 0x8024 +/* DF8DD8 802423D8 26732D70 */ addiu $s3, $s3, 0x2d70 +/* DF8DDC 802423DC 8E650000 */ lw $a1, ($s3) +/* DF8DE0 802423E0 3C108025 */ lui $s0, 0x8025 +/* DF8DE4 802423E4 2610F7F0 */ addiu $s0, $s0, -0x810 +/* DF8DE8 802423E8 00052A00 */ sll $a1, $a1, 8 +/* DF8DEC 802423EC 0C049601 */ jal dma_load_string +/* DF8DF0 802423F0 00B02821 */ addu $a1, $a1, $s0 +/* DF8DF4 802423F4 8E630000 */ lw $v1, ($s3) +/* DF8DF8 802423F8 00031200 */ sll $v0, $v1, 8 +/* DF8DFC 802423FC 00501021 */ addu $v0, $v0, $s0 +/* DF8E00 80242400 24630001 */ addiu $v1, $v1, 1 +/* DF8E04 80242404 AE220000 */ sw $v0, ($s1) +/* DF8E08 80242408 AE630000 */ sw $v1, ($s3) +/* DF8E0C 8024240C 28630017 */ slti $v1, $v1, 0x17 +/* DF8E10 80242410 50600003 */ beql $v1, $zero, .L80242420 +/* DF8E14 80242414 AE600000 */ sw $zero, ($s3) +/* DF8E18 80242418 08090909 */ j .L80242424 +/* DF8E1C 8024241C 0000282D */ daddu $a1, $zero, $zero +.L80242420: +/* DF8E20 80242420 0000282D */ daddu $a1, $zero, $zero +.L80242424: +/* DF8E24 80242424 27A20024 */ addiu $v0, $sp, 0x24 +/* DF8E28 80242428 00A0302D */ daddu $a2, $a1, $zero +/* DF8E2C 8024242C AFA00010 */ sw $zero, 0x10($sp) +/* DF8E30 80242430 AFA00014 */ sw $zero, 0x14($sp) +/* DF8E34 80242434 AFA20018 */ sw $v0, 0x18($sp) +/* DF8E38 80242438 AFA0001C */ sw $zero, 0x1c($sp) +/* DF8E3C 8024243C 8E240000 */ lw $a0, ($s1) +/* DF8E40 80242440 0C0497DA */ jal get_string_properties +/* DF8E44 80242444 27A70020 */ addiu $a3, $sp, 0x20 +/* DF8E48 80242448 8E420004 */ lw $v0, 4($s2) +/* DF8E4C 8024244C AE220068 */ sw $v0, 0x68($s1) +/* DF8E50 80242450 8E420008 */ lw $v0, 8($s2) +/* DF8E54 80242454 AE22006C */ sw $v0, 0x6c($s1) +/* DF8E58 80242458 8E42000C */ lw $v0, 0xc($s2) +/* DF8E5C 8024245C AE220010 */ sw $v0, 0x10($s1) +/* DF8E60 80242460 8E420010 */ lw $v0, 0x10($s2) +/* DF8E64 80242464 AE220018 */ sw $v0, 0x18($s1) +/* DF8E68 80242468 8E420014 */ lw $v0, 0x14($s2) +/* DF8E6C 8024246C AE22001C */ sw $v0, 0x1c($s1) +/* DF8E70 80242470 8E42001C */ lw $v0, 0x1c($s2) +/* DF8E74 80242474 AE220034 */ sw $v0, 0x34($s1) +/* DF8E78 80242478 8E420020 */ lw $v0, 0x20($s2) +/* DF8E7C 8024247C AE220038 */ sw $v0, 0x38($s1) +/* DF8E80 80242480 8E440018 */ lw $a0, 0x18($s2) +/* DF8E84 80242484 1080000C */ beqz $a0, .L802424B8 +/* DF8E88 80242488 00000000 */ nop +/* DF8E8C 8024248C 8FA20024 */ lw $v0, 0x24($sp) +/* DF8E90 80242490 8FA30020 */ lw $v1, 0x20($sp) +/* DF8E94 80242494 24420001 */ addiu $v0, $v0, 1 +/* DF8E98 80242498 00621823 */ subu $v1, $v1, $v0 +/* DF8E9C 8024249C 00640018 */ mult $v1, $a0 +/* DF8EA0 802424A0 8E420020 */ lw $v0, 0x20($s2) +/* DF8EA4 802424A4 00004012 */ mflo $t0 +/* DF8EA8 802424A8 00481023 */ subu $v0, $v0, $t0 +/* DF8EAC 802424AC 04410002 */ bgez $v0, .L802424B8 +/* DF8EB0 802424B0 AE220038 */ sw $v0, 0x38($s1) +/* DF8EB4 802424B4 AE200038 */ sw $zero, 0x38($s1) +.L802424B8: +/* DF8EB8 802424B8 8E420024 */ lw $v0, 0x24($s2) +/* DF8EBC 802424BC AE22004C */ sw $v0, 0x4c($s1) +/* DF8EC0 802424C0 8E420028 */ lw $v0, 0x28($s2) +/* DF8EC4 802424C4 AE220050 */ sw $v0, 0x50($s1) +/* DF8EC8 802424C8 8E420018 */ lw $v0, 0x18($s2) +/* DF8ECC 802424CC AE220020 */ sw $v0, 0x20($s1) +/* DF8ED0 802424D0 8E42002C */ lw $v0, 0x2c($s2) +/* DF8ED4 802424D4 AE220054 */ sw $v0, 0x54($s1) +/* DF8ED8 802424D8 96420034 */ lhu $v0, 0x34($s2) +/* DF8EDC 802424DC 34420003 */ ori $v0, $v0, 3 +/* DF8EE0 802424E0 A6220070 */ sh $v0, 0x70($s1) +.L802424E4: +/* DF8EE4 802424E4 8FBF0038 */ lw $ra, 0x38($sp) +/* DF8EE8 802424E8 8FB30034 */ lw $s3, 0x34($sp) +/* DF8EEC 802424EC 8FB20030 */ lw $s2, 0x30($sp) +/* DF8EF0 802424F0 8FB1002C */ lw $s1, 0x2c($sp) +/* DF8EF4 802424F4 8FB00028 */ lw $s0, 0x28($sp) +/* DF8EF8 802424F8 03E00008 */ jr $ra +/* DF8EFC 802424FC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242500.s b/asm/nonmatchings/world/area_end/end_00/func_80242500.s new file mode 100644 index 0000000000..215aa90107 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242500.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242500 +/* DF8F00 80242500 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF8F04 80242504 AFB00010 */ sw $s0, 0x10($sp) +/* DF8F08 80242508 3C108025 */ lui $s0, 0x8025 +/* DF8F0C 8024250C 2610E960 */ addiu $s0, $s0, -0x16a0 +/* DF8F10 80242510 3C058024 */ lui $a1, 0x8024 +/* DF8F14 80242514 24A521D8 */ addiu $a1, $a1, 0x21d8 +/* DF8F18 80242518 AFBF0014 */ sw $ra, 0x14($sp) +/* DF8F1C 8024251C 3C018025 */ lui $at, 0x8025 +/* DF8F20 80242520 AC30F7E4 */ sw $s0, -0x81c($at) +/* DF8F24 80242524 0C048C8F */ jal bind_dynamic_entity_7 +/* DF8F28 80242528 0000202D */ daddu $a0, $zero, $zero +/* DF8F2C 8024252C 2404001F */ addiu $a0, $zero, 0x1f +/* DF8F30 80242530 26030E0C */ addiu $v1, $s0, 0xe0c +/* DF8F34 80242534 AE020000 */ sw $v0, ($s0) +.L80242538: +/* DF8F38 80242538 A4600074 */ sh $zero, 0x74($v1) +/* DF8F3C 8024253C 2484FFFF */ addiu $a0, $a0, -1 +/* DF8F40 80242540 0481FFFD */ bgez $a0, .L80242538 +/* DF8F44 80242544 2463FF8C */ addiu $v1, $v1, -0x74 +/* DF8F48 80242548 8FBF0014 */ lw $ra, 0x14($sp) +/* DF8F4C 8024254C 8FB00010 */ lw $s0, 0x10($sp) +/* DF8F50 80242550 03E00008 */ jr $ra +/* DF8F54 80242554 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242558_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242558_DF6A00.s new file mode 100644 index 0000000000..a2b0e716df --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242558_DF6A00.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242558_DF8F58 +/* DF8F58 80242558 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF8F5C 8024255C AFBF0010 */ sw $ra, 0x10($sp) +/* DF8F60 80242560 0C090940 */ jal func_80242500 +/* DF8F64 80242564 00000000 */ nop +/* DF8F68 80242568 0C048DCD */ jal load_font +/* DF8F6C 8024256C 24040001 */ addiu $a0, $zero, 1 +/* DF8F70 80242570 8FBF0010 */ lw $ra, 0x10($sp) +/* DF8F74 80242574 24020002 */ addiu $v0, $zero, 2 +/* DF8F78 80242578 03E00008 */ jr $ra +/* DF8F7C 8024257C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242580.s b/asm/nonmatchings/world/area_end/end_00/func_80242580.s new file mode 100644 index 0000000000..146cecba4d --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242580.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242580 +/* DF8F80 80242580 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DF8F84 80242584 AFB10014 */ sw $s1, 0x14($sp) +/* DF8F88 80242588 0080882D */ daddu $s1, $a0, $zero +/* DF8F8C 8024258C AFBF001C */ sw $ra, 0x1c($sp) +/* DF8F90 80242590 AFB20018 */ sw $s2, 0x18($sp) +/* DF8F94 80242594 AFB00010 */ sw $s0, 0x10($sp) +/* DF8F98 80242598 8E22000C */ lw $v0, 0xc($s1) +/* DF8F9C 8024259C 00A0802D */ daddu $s0, $a1, $zero +/* DF8FA0 802425A0 0C0B1EAF */ jal get_variable +/* DF8FA4 802425A4 8C450000 */ lw $a1, ($v0) +/* DF8FA8 802425A8 12000005 */ beqz $s0, .L802425C0 +/* DF8FAC 802425AC 0040902D */ daddu $s2, $v0, $zero +/* DF8FB0 802425B0 2402FFFF */ addiu $v0, $zero, -1 +/* DF8FB4 802425B4 AE200084 */ sw $zero, 0x84($s1) +/* DF8FB8 802425B8 AE220088 */ sw $v0, 0x88($s1) +/* DF8FBC 802425BC AE20008C */ sw $zero, 0x8c($s1) +.L802425C0: +/* DF8FC0 802425C0 8E230084 */ lw $v1, 0x84($s1) +/* DF8FC4 802425C4 10600005 */ beqz $v1, .L802425DC +/* DF8FC8 802425C8 24020001 */ addiu $v0, $zero, 1 +/* DF8FCC 802425CC 10620020 */ beq $v1, $v0, .L80242650 +/* DF8FD0 802425D0 0000102D */ daddu $v0, $zero, $zero +/* DF8FD4 802425D4 0809099A */ j .L80242668 +/* DF8FD8 802425D8 00000000 */ nop +.L802425DC: +/* DF8FDC 802425DC 2410FFFF */ addiu $s0, $zero, -1 +.L802425E0: +/* DF8FE0 802425E0 8E22008C */ lw $v0, 0x8c($s1) +/* DF8FE4 802425E4 000218C0 */ sll $v1, $v0, 3 +/* DF8FE8 802425E8 00621823 */ subu $v1, $v1, $v0 +/* DF8FEC 802425EC 000318C0 */ sll $v1, $v1, 3 +/* DF8FF0 802425F0 00722021 */ addu $a0, $v1, $s2 +/* DF8FF4 802425F4 8C820000 */ lw $v0, ($a0) +/* DF8FF8 802425F8 10400003 */ beqz $v0, .L80242608 +/* DF8FFC 802425FC 00000000 */ nop +/* DF9000 80242600 0C0908D6 */ jal func_80242358 +/* DF9004 80242604 00000000 */ nop +.L80242608: +/* DF9008 80242608 8E23008C */ lw $v1, 0x8c($s1) +/* DF900C 8024260C 000310C0 */ sll $v0, $v1, 3 +/* DF9010 80242610 00431023 */ subu $v0, $v0, $v1 +/* DF9014 80242614 000210C0 */ sll $v0, $v0, 3 +/* DF9018 80242618 00521021 */ addu $v0, $v0, $s2 +/* DF901C 8024261C 8C420030 */ lw $v0, 0x30($v0) +/* DF9020 80242620 AE220088 */ sw $v0, 0x88($s1) +/* DF9024 80242624 0060102D */ daddu $v0, $v1, $zero +/* DF9028 80242628 8E230088 */ lw $v1, 0x88($s1) +/* DF902C 8024262C 24420001 */ addiu $v0, $v0, 1 +/* DF9030 80242630 1C600005 */ bgtz $v1, .L80242648 +/* DF9034 80242634 AE22008C */ sw $v0, 0x8c($s1) +/* DF9038 80242638 1470FFE9 */ bne $v1, $s0, .L802425E0 +/* DF903C 8024263C 24020002 */ addiu $v0, $zero, 2 +/* DF9040 80242640 0809099A */ j .L80242668 +/* DF9044 80242644 00000000 */ nop +.L80242648: +/* DF9048 80242648 24020001 */ addiu $v0, $zero, 1 +/* DF904C 8024264C AE220084 */ sw $v0, 0x84($s1) +.L80242650: +/* DF9050 80242650 8E220088 */ lw $v0, 0x88($s1) +/* DF9054 80242654 2442FFFF */ addiu $v0, $v0, -1 +/* DF9058 80242658 1C400002 */ bgtz $v0, .L80242664 +/* DF905C 8024265C AE220088 */ sw $v0, 0x88($s1) +/* DF9060 80242660 AE200084 */ sw $zero, 0x84($s1) +.L80242664: +/* DF9064 80242664 0000102D */ daddu $v0, $zero, $zero +.L80242668: +/* DF9068 80242668 8FBF001C */ lw $ra, 0x1c($sp) +/* DF906C 8024266C 8FB20018 */ lw $s2, 0x18($sp) +/* DF9070 80242670 8FB10014 */ lw $s1, 0x14($sp) +/* DF9074 80242674 8FB00010 */ lw $s0, 0x10($sp) +/* DF9078 80242678 03E00008 */ jr $ra +/* DF907C 8024267C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242680_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242680_DF6A00.s new file mode 100644 index 0000000000..12c867923f --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242680_DF6A00.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242680_DF9080 +/* DF9080 80242680 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DF9084 80242684 AFBF0028 */ sw $ra, 0x28($sp) +/* DF9088 80242688 AFB10024 */ sw $s1, 0x24($sp) +/* DF908C 8024268C AFB00020 */ sw $s0, 0x20($sp) +/* DF9090 80242690 8C82000C */ lw $v0, 0xc($a0) +/* DF9094 80242694 0C0B1EAF */ jal get_variable +/* DF9098 80242698 8C450000 */ lw $a1, ($v0) +/* DF909C 8024269C 24030100 */ addiu $v1, $zero, 0x100 +/* DF90A0 802426A0 0040882D */ daddu $s1, $v0, $zero +/* DF90A4 802426A4 3C028024 */ lui $v0, 0x8024 +/* DF90A8 802426A8 24424D74 */ addiu $v0, $v0, 0x4d74 +/* DF90AC 802426AC 00118040 */ sll $s0, $s1, 1 +/* DF90B0 802426B0 02118021 */ addu $s0, $s0, $s1 +/* DF90B4 802426B4 001080C0 */ sll $s0, $s0, 3 +/* DF90B8 802426B8 02028021 */ addu $s0, $s0, $v0 +/* DF90BC 802426BC AFA30010 */ sw $v1, 0x10($sp) +/* DF90C0 802426C0 8E020000 */ lw $v0, ($s0) +/* DF90C4 802426C4 AFA00018 */ sw $zero, 0x18($sp) +/* DF90C8 802426C8 AFA0001C */ sw $zero, 0x1c($sp) +/* DF90CC 802426CC AFA20014 */ sw $v0, 0x14($sp) +/* DF90D0 802426D0 8E050004 */ lw $a1, 4($s0) +/* DF90D4 802426D4 24020001 */ addiu $v0, $zero, 1 +/* DF90D8 802426D8 3C01802E */ lui $at, 0x802e +/* DF90DC 802426DC AC22F524 */ sw $v0, -0xadc($at) +/* DF90E0 802426E0 0C00E219 */ jal create_standard_npc +/* DF90E4 802426E4 27A40010 */ addiu $a0, $sp, 0x10 +/* DF90E8 802426E8 0C00E2B7 */ jal get_npc_by_index +/* DF90EC 802426EC 0040202D */ daddu $a0, $v0, $zero +/* DF90F0 802426F0 3C04FBFF */ lui $a0, 0xfbff +/* DF90F4 802426F4 8C430000 */ lw $v1, ($v0) +/* DF90F8 802426F8 3484FFFF */ ori $a0, $a0, 0xffff +/* DF90FC 802426FC A05100A4 */ sb $s1, 0xa4($v0) +/* DF9100 80242700 00641824 */ and $v1, $v1, $a0 +/* DF9104 80242704 AC430000 */ sw $v1, ($v0) +/* DF9108 80242708 C6000008 */ lwc1 $f0, 8($s0) +/* DF910C 8024270C E4400038 */ swc1 $f0, 0x38($v0) +/* DF9110 80242710 C600000C */ lwc1 $f0, 0xc($s0) +/* DF9114 80242714 E440003C */ swc1 $f0, 0x3c($v0) +/* DF9118 80242718 C6000010 */ lwc1 $f0, 0x10($s0) +/* DF911C 8024271C E4400040 */ swc1 $f0, 0x40($v0) +/* DF9120 80242720 8E050014 */ lw $a1, 0x14($s0) +/* DF9124 80242724 0C00ECD0 */ jal set_npc_yaw +/* DF9128 80242728 0040202D */ daddu $a0, $v0, $zero +/* DF912C 8024272C 8FBF0028 */ lw $ra, 0x28($sp) +/* DF9130 80242730 8FB10024 */ lw $s1, 0x24($sp) +/* DF9134 80242734 8FB00020 */ lw $s0, 0x20($sp) +/* DF9138 80242738 24020002 */ addiu $v0, $zero, 2 +/* DF913C 8024273C 03E00008 */ jr $ra +/* DF9140 80242740 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242744_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242744_DF6A00.s new file mode 100644 index 0000000000..d539ca5ad7 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242744_DF6A00.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242744_DF9144 +/* DF9144 80242744 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DF9148 80242748 AFB10014 */ sw $s1, 0x14($sp) +/* DF914C 8024274C 0080882D */ daddu $s1, $a0, $zero +/* DF9150 80242750 AFBF0018 */ sw $ra, 0x18($sp) +/* DF9154 80242754 AFB00010 */ sw $s0, 0x10($sp) +/* DF9158 80242758 8E30000C */ lw $s0, 0xc($s1) +/* DF915C 8024275C 8E050000 */ lw $a1, ($s0) +/* DF9160 80242760 0C0B1EAF */ jal get_variable +/* DF9164 80242764 26100004 */ addiu $s0, $s0, 4 +/* DF9168 80242768 3C048035 */ lui $a0, 0x8035 +/* DF916C 8024276C 2484F800 */ addiu $a0, $a0, -0x800 +/* DF9170 80242770 8E100000 */ lw $s0, ($s0) +/* DF9174 80242774 0C00A41B */ jal _heap_malloc +/* DF9178 80242778 0040282D */ daddu $a1, $v0, $zero +/* DF917C 8024277C 0220202D */ daddu $a0, $s1, $zero +/* DF9180 80242780 0040302D */ daddu $a2, $v0, $zero +/* DF9184 80242784 0C0B2026 */ jal set_variable +/* DF9188 80242788 0200282D */ daddu $a1, $s0, $zero +/* DF918C 8024278C 8FBF0018 */ lw $ra, 0x18($sp) +/* DF9190 80242790 8FB10014 */ lw $s1, 0x14($sp) +/* DF9194 80242794 8FB00010 */ lw $s0, 0x10($sp) +/* DF9198 80242798 24020002 */ addiu $v0, $zero, 2 +/* DF919C 8024279C 03E00008 */ jr $ra +/* DF91A0 802427A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802427A4_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_802427A4_DF6A00.s new file mode 100644 index 0000000000..4558745999 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802427A4_DF6A00.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427A4_DF91A4 +/* DF91A4 802427A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF91A8 802427A8 AFBF0010 */ sw $ra, 0x10($sp) +/* DF91AC 802427AC 8C82000C */ lw $v0, 0xc($a0) +/* DF91B0 802427B0 0C0B1EAF */ jal get_variable +/* DF91B4 802427B4 8C450000 */ lw $a1, ($v0) +/* DF91B8 802427B8 3C048035 */ lui $a0, 0x8035 +/* DF91BC 802427BC 2484F800 */ addiu $a0, $a0, -0x800 +/* DF91C0 802427C0 0C00A487 */ jal _heap_free +/* DF91C4 802427C4 0040282D */ daddu $a1, $v0, $zero +/* DF91C8 802427C8 8FBF0010 */ lw $ra, 0x10($sp) +/* DF91CC 802427CC 24020002 */ addiu $v0, $zero, 2 +/* DF91D0 802427D0 03E00008 */ jr $ra +/* DF91D4 802427D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_00/func_802427D8.s b/asm/nonmatchings/world/area_end/end_00/func_802427D8.s new file mode 100644 index 0000000000..687d790e17 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_802427D8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427D8 +/* DF91D8 802427D8 3C04800B */ lui $a0, %hi(gCameras) +/* DF91DC 802427DC 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* DF91E0 802427E0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* DF91E4 802427E4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* DF91E8 802427E8 3C013F2A */ lui $at, 0x3f2a +/* DF91EC 802427EC 3421AAAB */ ori $at, $at, 0xaaab +/* DF91F0 802427F0 44810000 */ mtc1 $at, $f0 +/* DF91F4 802427F4 00031080 */ sll $v0, $v1, 2 +/* DF91F8 802427F8 00431021 */ addu $v0, $v0, $v1 +/* DF91FC 802427FC 00021080 */ sll $v0, $v0, 2 +/* DF9200 80242800 00431023 */ subu $v0, $v0, $v1 +/* DF9204 80242804 000218C0 */ sll $v1, $v0, 3 +/* DF9208 80242808 00431021 */ addu $v0, $v0, $v1 +/* DF920C 8024280C 000210C0 */ sll $v0, $v0, 3 +/* DF9210 80242810 00441021 */ addu $v0, $v0, $a0 +/* DF9214 80242814 C44204B0 */ lwc1 $f2, 0x4b0($v0) +/* DF9218 80242818 46001080 */ add.s $f2, $f2, $f0 +/* DF921C 8024281C 24030001 */ addiu $v1, $zero, 1 +/* DF9220 80242820 A4430506 */ sh $v1, 0x506($v0) +/* DF9224 80242824 E44204B0 */ swc1 $f2, 0x4b0($v0) +/* DF9228 80242828 03E00008 */ jr $ra +/* DF922C 8024282C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242830.s b/asm/nonmatchings/world/area_end/end_00/func_80242830.s new file mode 100644 index 0000000000..244b5f8c2e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242830.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242830 +/* DF9230 80242830 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DF9234 80242834 AFB10014 */ sw $s1, 0x14($sp) +/* DF9238 80242838 0080882D */ daddu $s1, $a0, $zero +/* DF923C 8024283C AFBF0018 */ sw $ra, 0x18($sp) +/* DF9240 80242840 AFB00010 */ sw $s0, 0x10($sp) +/* DF9244 80242844 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DF9248 80242848 8E30000C */ lw $s0, 0xc($s1) +/* DF924C 8024284C 8E050000 */ lw $a1, ($s0) +/* DF9250 80242850 0C0B1EAF */ jal get_variable +/* DF9254 80242854 26100004 */ addiu $s0, $s0, 4 +/* DF9258 80242858 0220202D */ daddu $a0, $s1, $zero +/* DF925C 8024285C 8E050000 */ lw $a1, ($s0) +/* DF9260 80242860 0C0B210B */ jal get_float_variable +/* DF9264 80242864 0040802D */ daddu $s0, $v0, $zero +/* DF9268 80242868 0220202D */ daddu $a0, $s1, $zero +/* DF926C 8024286C 0200282D */ daddu $a1, $s0, $zero +/* DF9270 80242870 0C0B36B0 */ jal resolve_npc +/* DF9274 80242874 46000506 */ mov.s $f20, $f0 +/* DF9278 80242878 E454007C */ swc1 $f20, 0x7c($v0) +/* DF927C 8024287C 8FBF0018 */ lw $ra, 0x18($sp) +/* DF9280 80242880 8FB10014 */ lw $s1, 0x14($sp) +/* DF9284 80242884 8FB00010 */ lw $s0, 0x10($sp) +/* DF9288 80242888 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DF928C 8024288C 24020002 */ addiu $v0, $zero, 2 +/* DF9290 80242890 03E00008 */ jr $ra +/* DF9294 80242894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242898_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242898_DF6A00.s new file mode 100644 index 0000000000..dfd328794e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242898_DF6A00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242898_DF9298 +/* DF9298 80242898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF929C 8024289C AFB00010 */ sw $s0, 0x10($sp) +/* DF92A0 802428A0 0080802D */ daddu $s0, $a0, $zero +/* DF92A4 802428A4 AFBF0014 */ sw $ra, 0x14($sp) +/* DF92A8 802428A8 10A00006 */ beqz $a1, .L802428C4 +/* DF92AC 802428AC 8E02000C */ lw $v0, 0xc($s0) +/* DF92B0 802428B0 0C0B1EAF */ jal get_variable +/* DF92B4 802428B4 8C450000 */ lw $a1, ($v0) +/* DF92B8 802428B8 0C00EABB */ jal get_npc_unsafe +/* DF92BC 802428BC 0040202D */ daddu $a0, $v0, $zero +/* DF92C0 802428C0 AE020074 */ sw $v0, 0x74($s0) +.L802428C4: +/* DF92C4 802428C4 8E030074 */ lw $v1, 0x74($s0) +/* DF92C8 802428C8 3C013F2A */ lui $at, 0x3f2a +/* DF92CC 802428CC 3421AAAB */ ori $at, $at, 0xaaab +/* DF92D0 802428D0 44811000 */ mtc1 $at, $f2 +/* DF92D4 802428D4 C4600038 */ lwc1 $f0, 0x38($v1) +/* DF92D8 802428D8 46020000 */ add.s $f0, $f0, $f2 +/* DF92DC 802428DC E4600038 */ swc1 $f0, 0x38($v1) +/* DF92E0 802428E0 8FBF0014 */ lw $ra, 0x14($sp) +/* DF92E4 802428E4 8FB00010 */ lw $s0, 0x10($sp) +/* DF92E8 802428E8 0000102D */ daddu $v0, $zero, $zero +/* DF92EC 802428EC 03E00008 */ jr $ra +/* DF92F0 802428F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* DF92F4 802428F4 00000000 */ nop +/* DF92F8 802428F8 00000000 */ nop +/* DF92FC 802428FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242900.s b/asm/nonmatchings/world/area_end/end_00/func_80242900.s new file mode 100644 index 0000000000..d90e54af50 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242900.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242900 +/* DF9300 80242900 27BDFF90 */ addiu $sp, $sp, -0x70 +/* DF9304 80242904 AFB10034 */ sw $s1, 0x34($sp) +/* DF9308 80242908 0080882D */ daddu $s1, $a0, $zero +/* DF930C 8024290C AFBF003C */ sw $ra, 0x3c($sp) +/* DF9310 80242910 AFB20038 */ sw $s2, 0x38($sp) +/* DF9314 80242914 AFB00030 */ sw $s0, 0x30($sp) +/* DF9318 80242918 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* DF931C 8024291C F7BC0060 */ sdc1 $f28, 0x60($sp) +/* DF9320 80242920 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* DF9324 80242924 F7B80050 */ sdc1 $f24, 0x50($sp) +/* DF9328 80242928 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DF932C 8024292C F7B40040 */ sdc1 $f20, 0x40($sp) +/* DF9330 80242930 8E30000C */ lw $s0, 0xc($s1) +/* DF9334 80242934 8E050000 */ lw $a1, ($s0) +/* DF9338 80242938 0C0B1EAF */ jal get_variable +/* DF933C 8024293C 26100004 */ addiu $s0, $s0, 4 +/* DF9340 80242940 8E050000 */ lw $a1, ($s0) +/* DF9344 80242944 26100004 */ addiu $s0, $s0, 4 +/* DF9348 80242948 0220202D */ daddu $a0, $s1, $zero +/* DF934C 8024294C 0C0B210B */ jal get_float_variable +/* DF9350 80242950 0040902D */ daddu $s2, $v0, $zero +/* DF9354 80242954 8E050000 */ lw $a1, ($s0) +/* DF9358 80242958 26100004 */ addiu $s0, $s0, 4 +/* DF935C 8024295C 0220202D */ daddu $a0, $s1, $zero +/* DF9360 80242960 0C0B210B */ jal get_float_variable +/* DF9364 80242964 46000706 */ mov.s $f28, $f0 +/* DF9368 80242968 8E050000 */ lw $a1, ($s0) +/* DF936C 8024296C 26100004 */ addiu $s0, $s0, 4 +/* DF9370 80242970 0220202D */ daddu $a0, $s1, $zero +/* DF9374 80242974 0C0B210B */ jal get_float_variable +/* DF9378 80242978 46000786 */ mov.s $f30, $f0 +/* DF937C 8024297C 8E050000 */ lw $a1, ($s0) +/* DF9380 80242980 26100004 */ addiu $s0, $s0, 4 +/* DF9384 80242984 0220202D */ daddu $a0, $s1, $zero +/* DF9388 80242988 0C0B210B */ jal get_float_variable +/* DF938C 8024298C 46000686 */ mov.s $f26, $f0 +/* DF9390 80242990 8E050000 */ lw $a1, ($s0) +/* DF9394 80242994 26100004 */ addiu $s0, $s0, 4 +/* DF9398 80242998 0220202D */ daddu $a0, $s1, $zero +/* DF939C 8024299C 0C0B210B */ jal get_float_variable +/* DF93A0 802429A0 46000606 */ mov.s $f24, $f0 +/* DF93A4 802429A4 8E050000 */ lw $a1, ($s0) +/* DF93A8 802429A8 26100004 */ addiu $s0, $s0, 4 +/* DF93AC 802429AC 0220202D */ daddu $a0, $s1, $zero +/* DF93B0 802429B0 0C0B210B */ jal get_float_variable +/* DF93B4 802429B4 46000586 */ mov.s $f22, $f0 +/* DF93B8 802429B8 0220202D */ daddu $a0, $s1, $zero +/* DF93BC 802429BC 8E050000 */ lw $a1, ($s0) +/* DF93C0 802429C0 0C0B1EAF */ jal get_variable +/* DF93C4 802429C4 46000506 */ mov.s $f20, $f0 +/* DF93C8 802429C8 4405E000 */ mfc1 $a1, $f28 +/* DF93CC 802429CC 4406F000 */ mfc1 $a2, $f30 +/* DF93D0 802429D0 4407D000 */ mfc1 $a3, $f26 +/* DF93D4 802429D4 0240202D */ daddu $a0, $s2, $zero +/* DF93D8 802429D8 AFA2001C */ sw $v0, 0x1c($sp) +/* DF93DC 802429DC 27A20028 */ addiu $v0, $sp, 0x28 +/* DF93E0 802429E0 E7B80010 */ swc1 $f24, 0x10($sp) +/* DF93E4 802429E4 E7B60014 */ swc1 $f22, 0x14($sp) +/* DF93E8 802429E8 E7B40018 */ swc1 $f20, 0x18($sp) +/* DF93EC 802429EC 0C01C3DC */ jal func_80070F70 +/* DF93F0 802429F0 AFA20020 */ sw $v0, 0x20($sp) +/* DF93F4 802429F4 8FA30028 */ lw $v1, 0x28($sp) +/* DF93F8 802429F8 AE230084 */ sw $v1, 0x84($s1) +/* DF93FC 802429FC 8FBF003C */ lw $ra, 0x3c($sp) +/* DF9400 80242A00 8FB20038 */ lw $s2, 0x38($sp) +/* DF9404 80242A04 8FB10034 */ lw $s1, 0x34($sp) +/* DF9408 80242A08 8FB00030 */ lw $s0, 0x30($sp) +/* DF940C 80242A0C D7BE0068 */ ldc1 $f30, 0x68($sp) +/* DF9410 80242A10 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* DF9414 80242A14 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* DF9418 80242A18 D7B80050 */ ldc1 $f24, 0x50($sp) +/* DF941C 80242A1C D7B60048 */ ldc1 $f22, 0x48($sp) +/* DF9420 80242A20 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DF9424 80242A24 24020002 */ addiu $v0, $zero, 2 +/* DF9428 80242A28 03E00008 */ jr $ra +/* DF942C 80242A2C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242A30_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242A30_DF6A00.s new file mode 100644 index 0000000000..d7538e5faa --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242A30_DF6A00.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A30_DF9430 +/* DF9430 80242A30 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DF9434 80242A34 AFB10014 */ sw $s1, 0x14($sp) +/* DF9438 80242A38 0080882D */ daddu $s1, $a0, $zero +/* DF943C 80242A3C AFBF001C */ sw $ra, 0x1c($sp) +/* DF9440 80242A40 AFB20018 */ sw $s2, 0x18($sp) +/* DF9444 80242A44 AFB00010 */ sw $s0, 0x10($sp) +/* DF9448 80242A48 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DF944C 80242A4C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DF9450 80242A50 8E30000C */ lw $s0, 0xc($s1) +/* DF9454 80242A54 8E050000 */ lw $a1, ($s0) +/* DF9458 80242A58 0C0B1EAF */ jal get_variable +/* DF945C 80242A5C 26100004 */ addiu $s0, $s0, 4 +/* DF9460 80242A60 8E050000 */ lw $a1, ($s0) +/* DF9464 80242A64 26100004 */ addiu $s0, $s0, 4 +/* DF9468 80242A68 0220202D */ daddu $a0, $s1, $zero +/* DF946C 80242A6C 0C0B210B */ jal get_float_variable +/* DF9470 80242A70 0040902D */ daddu $s2, $v0, $zero +/* DF9474 80242A74 8E050000 */ lw $a1, ($s0) +/* DF9478 80242A78 26100004 */ addiu $s0, $s0, 4 +/* DF947C 80242A7C 0220202D */ daddu $a0, $s1, $zero +/* DF9480 80242A80 0C0B210B */ jal get_float_variable +/* DF9484 80242A84 46000586 */ mov.s $f22, $f0 +/* DF9488 80242A88 0220202D */ daddu $a0, $s1, $zero +/* DF948C 80242A8C 8E050000 */ lw $a1, ($s0) +/* DF9490 80242A90 0C0B210B */ jal get_float_variable +/* DF9494 80242A94 46000506 */ mov.s $f20, $f0 +/* DF9498 80242A98 8E42000C */ lw $v0, 0xc($s2) +/* DF949C 80242A9C E4560008 */ swc1 $f22, 8($v0) +/* DF94A0 80242AA0 8E42000C */ lw $v0, 0xc($s2) +/* DF94A4 80242AA4 E454000C */ swc1 $f20, 0xc($v0) +/* DF94A8 80242AA8 8E43000C */ lw $v1, 0xc($s2) +/* DF94AC 80242AAC E4600010 */ swc1 $f0, 0x10($v1) +/* DF94B0 80242AB0 8FBF001C */ lw $ra, 0x1c($sp) +/* DF94B4 80242AB4 8FB20018 */ lw $s2, 0x18($sp) +/* DF94B8 80242AB8 8FB10014 */ lw $s1, 0x14($sp) +/* DF94BC 80242ABC 8FB00010 */ lw $s0, 0x10($sp) +/* DF94C0 80242AC0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DF94C4 80242AC4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DF94C8 80242AC8 24020002 */ addiu $v0, $zero, 2 +/* DF94CC 80242ACC 03E00008 */ jr $ra +/* DF94D0 80242AD0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242AD4_DF6A00.s b/asm/nonmatchings/world/area_end/end_00/func_80242AD4_DF6A00.s new file mode 100644 index 0000000000..5ad028f6df --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242AD4_DF6A00.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AD4_DF94D4 +/* DF94D4 80242AD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF94D8 80242AD8 AFBF0010 */ sw $ra, 0x10($sp) +/* DF94DC 80242ADC 8C82000C */ lw $v0, 0xc($a0) +/* DF94E0 80242AE0 0C0B1EAF */ jal get_variable +/* DF94E4 80242AE4 8C450000 */ lw $a1, ($v0) +/* DF94E8 80242AE8 8C44000C */ lw $a0, 0xc($v0) +/* DF94EC 80242AEC 24030001 */ addiu $v1, $zero, 1 +/* DF94F0 80242AF0 AC830004 */ sw $v1, 4($a0) +/* DF94F4 80242AF4 8FBF0010 */ lw $ra, 0x10($sp) +/* DF94F8 80242AF8 24020002 */ addiu $v0, $zero, 2 +/* DF94FC 80242AFC 03E00008 */ jr $ra +/* DF9500 80242B00 27BD0018 */ addiu $sp, $sp, 0x18 +/* DF9504 80242B04 00000000 */ nop +/* DF9508 80242B08 00000000 */ nop +/* DF950C 80242B0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_00/func_80242B10.s b/asm/nonmatchings/world/area_end/end_00/func_80242B10.s new file mode 100644 index 0000000000..8563d04564 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_00/func_80242B10.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B10 +/* DF9510 80242B10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF9514 80242B14 AFBF0010 */ sw $ra, 0x10($sp) +/* DF9518 80242B18 8C82000C */ lw $v0, 0xc($a0) +/* DF951C 80242B1C 0C0B1EAF */ jal get_variable +/* DF9520 80242B20 8C450000 */ lw $a1, ($v0) +/* DF9524 80242B24 8FBF0010 */ lw $ra, 0x10($sp) +/* DF9528 80242B28 3C018025 */ lui $at, 0x8025 +/* DF952C 80242B2C AC229D60 */ sw $v0, -0x62a0($at) +/* DF9530 80242B30 24020002 */ addiu $v0, $zero, 2 +/* DF9534 80242B34 03E00008 */ jr $ra +/* DF9538 80242B38 27BD0018 */ addiu $sp, $sp, 0x18 +/* DF953C 80242B3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240000_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240000_E05360.s new file mode 100644 index 0000000000..e6695316a2 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240000_E05360.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_E05360 +/* E05360 80240000 03E00008 */ jr $ra +/* E05364 80240004 0000102D */ daddu $v0, $zero, $zero +/* E05368 80240008 00000000 */ nop +/* E0536C 8024000C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240010_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240010_E05360.s new file mode 100644 index 0000000000..fa2262d9a7 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240010_E05360.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240010_E05370 +/* E05370 80240010 3C01420C */ lui $at, 0x420c +/* E05374 80240014 44810000 */ mtc1 $at, $f0 +/* E05378 80240018 00000000 */ nop +/* E0537C 8024001C 3C01800B */ lui $at, 0x800b +/* E05380 80240020 E4201D98 */ swc1 $f0, 0x1d98($at) +/* E05384 80240024 03E00008 */ jr $ra +/* E05388 80240028 24020002 */ addiu $v0, $zero, 2 +/* E0538C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240030_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240030_E05360.s new file mode 100644 index 0000000000..ab52763ac8 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240030_E05360.s @@ -0,0 +1,153 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_E05390 +/* E05390 80240030 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* E05394 80240034 AFB00088 */ sw $s0, 0x88($sp) +/* E05398 80240038 00A0802D */ daddu $s0, $a1, $zero +/* E0539C 8024003C AFBF00A0 */ sw $ra, 0xa0($sp) +/* E053A0 80240040 AFB5009C */ sw $s5, 0x9c($sp) +/* E053A4 80240044 AFB40098 */ sw $s4, 0x98($sp) +/* E053A8 80240048 AFB30094 */ sw $s3, 0x94($sp) +/* E053AC 8024004C AFB20090 */ sw $s2, 0x90($sp) +/* E053B0 80240050 AFB1008C */ sw $s1, 0x8c($sp) +/* E053B4 80240054 F7BA00C0 */ sdc1 $f26, 0xc0($sp) +/* E053B8 80240058 F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* E053BC 8024005C F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* E053C0 80240060 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* E053C4 80240064 C6160010 */ lwc1 $f22, 0x10($s0) +/* E053C8 80240068 4680B5A0 */ cvt.s.w $f22, $f22 +/* E053CC 8024006C 4480D000 */ mtc1 $zero, $f26 +/* E053D0 80240070 3C01437F */ lui $at, 0x437f +/* E053D4 80240074 4481A000 */ mtc1 $at, $f20 +/* E053D8 80240078 8C82001C */ lw $v0, 0x1c($a0) +/* E053DC 8024007C 4405D000 */ mfc1 $a1, $f26 +/* E053E0 80240080 4406A000 */ mfc1 $a2, $f20 +/* E053E4 80240084 C6180014 */ lwc1 $f24, 0x14($s0) +/* E053E8 80240088 4680C620 */ cvt.s.w $f24, $f24 +/* E053EC 8024008C AFA20010 */ sw $v0, 0x10($sp) +/* E053F0 80240090 8E070018 */ lw $a3, 0x18($s0) +/* E053F4 80240094 0C00A8ED */ jal update_lerp +/* E053F8 80240098 0000202D */ daddu $a0, $zero, $zero +/* E053FC 8024009C 4600A03C */ c.lt.s $f20, $f0 +/* E05400 802400A0 00000000 */ nop +/* E05404 802400A4 45000002 */ bc1f .L802400B0 +/* E05408 802400A8 27B10038 */ addiu $s1, $sp, 0x38 +/* E0540C 802400AC 4600A006 */ mov.s $f0, $f20 +.L802400B0: +/* E05410 802400B0 4600010D */ trunc.w.s $f4, $f0 +/* E05414 802400B4 E7A40014 */ swc1 $f4, 0x14($sp) +/* E05418 802400B8 0000202D */ daddu $a0, $zero, $zero +/* E0541C 802400BC 24050007 */ addiu $a1, $zero, 7 +/* E05420 802400C0 240600FF */ addiu $a2, $zero, 0xff +/* E05424 802400C4 00C0382D */ daddu $a3, $a2, $zero +/* E05428 802400C8 00C0A82D */ daddu $s5, $a2, $zero +/* E0542C 802400CC AFB50010 */ sw $s5, 0x10($sp) +/* E05430 802400D0 0C04EAA7 */ jal func_8013AA9C +/* E05434 802400D4 AFA00018 */ sw $zero, 0x18($sp) +/* E05438 802400D8 AFB10010 */ sw $s1, 0x10($sp) +/* E0543C 802400DC 8E040004 */ lw $a0, 4($s0) +/* E05440 802400E0 8E050008 */ lw $a1, 8($s0) +/* E05444 802400E4 8E060000 */ lw $a2, ($s0) +/* E05448 802400E8 8E07000C */ lw $a3, 0xc($s0) +/* E0544C 802400EC 0C04BA38 */ jal func_8012E8E0 +/* E05450 802400F0 3C140001 */ lui $s4, 1 +/* E05454 802400F4 93A20042 */ lbu $v0, 0x42($sp) +/* E05458 802400F8 3C013FE0 */ lui $at, 0x3fe0 +/* E0545C 802400FC 4481A800 */ mtc1 $at, $f21 +/* E05460 80240100 4480A000 */ mtc1 $zero, $f20 +/* E05464 80240104 44820000 */ mtc1 $v0, $f0 +/* E05468 80240108 00000000 */ nop +/* E0546C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* E05470 80240110 46340002 */ mul.d $f0, $f0, $f20 +/* E05474 80240114 00000000 */ nop +/* E05478 80240118 36941630 */ ori $s4, $s4, 0x1630 +/* E0547C 8024011C 4600B0A1 */ cvt.d.s $f2, $f22 +/* E05480 80240120 27B00048 */ addiu $s0, $sp, 0x48 +/* E05484 80240124 4600C607 */ neg.s $f24, $f24 +/* E05488 80240128 46201080 */ add.d $f2, $f2, $f0 +/* E0548C 8024012C 4406C000 */ mfc1 $a2, $f24 +/* E05490 80240130 4407D000 */ mfc1 $a3, $f26 +/* E05494 80240134 462010A0 */ cvt.s.d $f2, $f2 +/* E05498 80240138 44051000 */ mfc1 $a1, $f2 +/* E0549C 8024013C 0C019E40 */ jal guTranslateF +/* E054A0 80240140 0200202D */ daddu $a0, $s0, $zero +/* E054A4 80240144 0200202D */ daddu $a0, $s0, $zero +/* E054A8 80240148 3C128007 */ lui $s2, 0x8007 +/* E054AC 8024014C 265241F0 */ addiu $s2, $s2, 0x41f0 +/* E054B0 80240150 3C13800A */ lui $s3, 0x800a +/* E054B4 80240154 2673A674 */ addiu $s3, $s3, -0x598c +/* E054B8 80240158 96450000 */ lhu $a1, ($s2) +/* E054BC 8024015C 8E620000 */ lw $v0, ($s3) +/* E054C0 80240160 00052980 */ sll $a1, $a1, 6 +/* E054C4 80240164 00B42821 */ addu $a1, $a1, $s4 +/* E054C8 80240168 0C019D40 */ jal guMtxF2L +/* E054CC 8024016C 00452821 */ addu $a1, $v0, $a1 +/* E054D0 80240170 3C03DA38 */ lui $v1, 0xda38 +/* E054D4 80240174 34630002 */ ori $v1, $v1, 2 +/* E054D8 80240178 0000202D */ daddu $a0, $zero, $zero +/* E054DC 8024017C 27A50020 */ addiu $a1, $sp, 0x20 +/* E054E0 80240180 3C060005 */ lui $a2, 5 +/* E054E4 80240184 34C60040 */ ori $a2, $a2, 0x40 +/* E054E8 80240188 3C11800A */ lui $s1, 0x800a +/* E054EC 8024018C 2631A66C */ addiu $s1, $s1, -0x5994 +/* E054F0 80240190 0200382D */ daddu $a3, $s0, $zero +/* E054F4 80240194 8E220000 */ lw $v0, ($s1) +/* E054F8 80240198 96480000 */ lhu $t0, ($s2) +/* E054FC 8024019C 0040482D */ daddu $t1, $v0, $zero +/* E05500 802401A0 24420008 */ addiu $v0, $v0, 8 +/* E05504 802401A4 AE220000 */ sw $v0, ($s1) +/* E05508 802401A8 3102FFFF */ andi $v0, $t0, 0xffff +/* E0550C 802401AC 00021180 */ sll $v0, $v0, 6 +/* E05510 802401B0 00541021 */ addu $v0, $v0, $s4 +/* E05514 802401B4 AD230000 */ sw $v1, ($t1) +/* E05518 802401B8 8E630000 */ lw $v1, ($s3) +/* E0551C 802401BC 25080001 */ addiu $t0, $t0, 1 +/* E05520 802401C0 00621821 */ addu $v1, $v1, $v0 +/* E05524 802401C4 3C028000 */ lui $v0, 0x8000 +/* E05528 802401C8 00621821 */ addu $v1, $v1, $v0 +/* E0552C 802401CC AD230004 */ sw $v1, 4($t1) +/* E05530 802401D0 93A20042 */ lbu $v0, 0x42($sp) +/* E05534 802401D4 8FA3003C */ lw $v1, 0x3c($sp) +/* E05538 802401D8 93A90040 */ lbu $t1, 0x40($sp) +/* E0553C 802401DC 93AA0041 */ lbu $t2, 0x41($sp) +/* E05540 802401E0 44820000 */ mtc1 $v0, $f0 +/* E05544 802401E4 00000000 */ nop +/* E05548 802401E8 46800021 */ cvt.d.w $f0, $f0 +/* E0554C 802401EC 8FA20038 */ lw $v0, 0x38($sp) +/* E05550 802401F0 46340002 */ mul.d $f0, $f0, $f20 +/* E05554 802401F4 00000000 */ nop +/* E05558 802401F8 A6480000 */ sh $t0, ($s2) +/* E0555C 802401FC A7A0002E */ sh $zero, 0x2e($sp) +/* E05560 80240200 A3B50030 */ sb $s5, 0x30($sp) +/* E05564 80240204 AFA30024 */ sw $v1, 0x24($sp) +/* E05568 80240208 A7A90028 */ sh $t1, 0x28($sp) +/* E0556C 8024020C A7AA002A */ sh $t2, 0x2a($sp) +/* E05570 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* E05574 80240214 46200007 */ neg.d $f0, $f0 +/* E05578 80240218 4620010D */ trunc.w.d $f4, $f0 +/* E0557C 8024021C 44022000 */ mfc1 $v0, $f4 +/* E05580 80240220 0C04EBDC */ jal func_8013AF70 +/* E05584 80240224 A7A2002C */ sh $v0, 0x2c($sp) +/* E05588 80240228 3C04D838 */ lui $a0, 0xd838 +/* E0558C 8024022C 8E220000 */ lw $v0, ($s1) +/* E05590 80240230 34840002 */ ori $a0, $a0, 2 +/* E05594 80240234 0040182D */ daddu $v1, $v0, $zero +/* E05598 80240238 24420008 */ addiu $v0, $v0, 8 +/* E0559C 8024023C AE220000 */ sw $v0, ($s1) +/* E055A0 80240240 24020040 */ addiu $v0, $zero, 0x40 +/* E055A4 80240244 AC640000 */ sw $a0, ($v1) +/* E055A8 80240248 AC620004 */ sw $v0, 4($v1) +/* E055AC 8024024C 8FBF00A0 */ lw $ra, 0xa0($sp) +/* E055B0 80240250 8FB5009C */ lw $s5, 0x9c($sp) +/* E055B4 80240254 8FB40098 */ lw $s4, 0x98($sp) +/* E055B8 80240258 8FB30094 */ lw $s3, 0x94($sp) +/* E055BC 8024025C 8FB20090 */ lw $s2, 0x90($sp) +/* E055C0 80240260 8FB1008C */ lw $s1, 0x8c($sp) +/* E055C4 80240264 8FB00088 */ lw $s0, 0x88($sp) +/* E055C8 80240268 D7BA00C0 */ ldc1 $f26, 0xc0($sp) +/* E055CC 8024026C D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* E055D0 80240270 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* E055D4 80240274 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* E055D8 80240278 03E00008 */ jr $ra +/* E055DC 8024027C 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240280_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240280_E05360.s new file mode 100644 index 0000000000..c40523671d --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240280_E05360.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_E055E0 +/* E055E0 80240280 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* E055E4 80240284 AFB1008C */ sw $s1, 0x8c($sp) +/* E055E8 80240288 0080882D */ daddu $s1, $a0, $zero +/* E055EC 8024028C AFB00088 */ sw $s0, 0x88($sp) +/* E055F0 80240290 00A0802D */ daddu $s0, $a1, $zero +/* E055F4 80240294 0000202D */ daddu $a0, $zero, $zero +/* E055F8 80240298 AFBF00A0 */ sw $ra, 0xa0($sp) +/* E055FC 8024029C AFB5009C */ sw $s5, 0x9c($sp) +/* E05600 802402A0 AFB40098 */ sw $s4, 0x98($sp) +/* E05604 802402A4 AFB30094 */ sw $s3, 0x94($sp) +/* E05608 802402A8 AFB20090 */ sw $s2, 0x90($sp) +/* E0560C 802402AC F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* E05610 802402B0 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* E05614 802402B4 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* E05618 802402B8 C6160010 */ lwc1 $f22, 0x10($s0) +/* E0561C 802402BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* E05620 802402C0 3C01437F */ lui $at, 0x437f +/* E05624 802402C4 4481A000 */ mtc1 $at, $f20 +/* E05628 802402C8 8E22001C */ lw $v0, 0x1c($s1) +/* E0562C 802402CC 4406A000 */ mfc1 $a2, $f20 +/* E05630 802402D0 C6180014 */ lwc1 $f24, 0x14($s0) +/* E05634 802402D4 4680C620 */ cvt.s.w $f24, $f24 +/* E05638 802402D8 AFA20010 */ sw $v0, 0x10($sp) +/* E0563C 802402DC 8E070018 */ lw $a3, 0x18($s0) +/* E05640 802402E0 0C00A8ED */ jal update_lerp +/* E05644 802402E4 0000282D */ daddu $a1, $zero, $zero +/* E05648 802402E8 4600A03C */ c.lt.s $f20, $f0 +/* E0564C 802402EC 00000000 */ nop +/* E05650 802402F0 45000002 */ bc1f .L802402FC +/* E05654 802402F4 27B50038 */ addiu $s5, $sp, 0x38 +/* E05658 802402F8 4600A006 */ mov.s $f0, $f20 +.L802402FC: +/* E0565C 802402FC 8E24001C */ lw $a0, 0x1c($s1) +/* E05660 80240300 8E030018 */ lw $v1, 0x18($s0) +/* E05664 80240304 2482FFFC */ addiu $v0, $a0, -4 +/* E05668 80240308 14620007 */ bne $v1, $v0, .L80240328 +/* E0566C 8024030C 2482FFFD */ addiu $v0, $a0, -3 +/* E05670 80240310 4600010D */ trunc.w.s $f4, $f0 +/* E05674 80240314 E7A40014 */ swc1 $f4, 0x14($sp) +/* E05678 80240318 0000202D */ daddu $a0, $zero, $zero +/* E0567C 8024031C 2405000A */ addiu $a1, $zero, 0xa +/* E05680 80240320 080900E5 */ j .L80240394 +/* E05684 80240324 24060040 */ addiu $a2, $zero, 0x40 +.L80240328: +/* E05688 80240328 14620007 */ bne $v1, $v0, .L80240348 +/* E0568C 8024032C 2482FFFE */ addiu $v0, $a0, -2 +/* E05690 80240330 4600010D */ trunc.w.s $f4, $f0 +/* E05694 80240334 E7A40014 */ swc1 $f4, 0x14($sp) +/* E05698 80240338 0000202D */ daddu $a0, $zero, $zero +/* E0569C 8024033C 2405000A */ addiu $a1, $zero, 0xa +/* E056A0 80240340 080900E5 */ j .L80240394 +/* E056A4 80240344 24060060 */ addiu $a2, $zero, 0x60 +.L80240348: +/* E056A8 80240348 14620007 */ bne $v1, $v0, .L80240368 +/* E056AC 8024034C 2482FFFF */ addiu $v0, $a0, -1 +/* E056B0 80240350 4600010D */ trunc.w.s $f4, $f0 +/* E056B4 80240354 E7A40014 */ swc1 $f4, 0x14($sp) +/* E056B8 80240358 0000202D */ daddu $a0, $zero, $zero +/* E056BC 8024035C 2405000A */ addiu $a1, $zero, 0xa +/* E056C0 80240360 080900E5 */ j .L80240394 +/* E056C4 80240364 2406007F */ addiu $a2, $zero, 0x7f +.L80240368: +/* E056C8 80240368 14620006 */ bne $v1, $v0, .L80240384 +/* E056CC 8024036C 0000202D */ daddu $a0, $zero, $zero +/* E056D0 80240370 4600010D */ trunc.w.s $f4, $f0 +/* E056D4 80240374 E7A40014 */ swc1 $f4, 0x14($sp) +/* E056D8 80240378 2405000A */ addiu $a1, $zero, 0xa +/* E056DC 8024037C 080900E5 */ j .L80240394 +/* E056E0 80240380 24060050 */ addiu $a2, $zero, 0x50 +.L80240384: +/* E056E4 80240384 4600010D */ trunc.w.s $f4, $f0 +/* E056E8 80240388 E7A40014 */ swc1 $f4, 0x14($sp) +/* E056EC 8024038C 24050007 */ addiu $a1, $zero, 7 +/* E056F0 80240390 240600FF */ addiu $a2, $zero, 0xff +.L80240394: +/* E056F4 80240394 00C0382D */ daddu $a3, $a2, $zero +/* E056F8 80240398 00C0102D */ daddu $v0, $a2, $zero +/* E056FC 8024039C AFA20010 */ sw $v0, 0x10($sp) +/* E05700 802403A0 0C04EAA7 */ jal func_8013AA9C +/* E05704 802403A4 AFA00018 */ sw $zero, 0x18($sp) +/* E05708 802403A8 AFB50010 */ sw $s5, 0x10($sp) +/* E0570C 802403AC 8E040004 */ lw $a0, 4($s0) +/* E05710 802403B0 8E050008 */ lw $a1, 8($s0) +/* E05714 802403B4 8E060000 */ lw $a2, ($s0) +/* E05718 802403B8 8E07000C */ lw $a3, 0xc($s0) +/* E0571C 802403BC 0C04BA38 */ jal func_8012E8E0 +/* E05720 802403C0 3C140001 */ lui $s4, 1 +/* E05724 802403C4 92A2000A */ lbu $v0, 0xa($s5) +/* E05728 802403C8 3C013FE0 */ lui $at, 0x3fe0 +/* E0572C 802403CC 4481A800 */ mtc1 $at, $f21 +/* E05730 802403D0 4480A000 */ mtc1 $zero, $f20 +/* E05734 802403D4 44820000 */ mtc1 $v0, $f0 +/* E05738 802403D8 00000000 */ nop +/* E0573C 802403DC 46800021 */ cvt.d.w $f0, $f0 +/* E05740 802403E0 46340002 */ mul.d $f0, $f0, $f20 +/* E05744 802403E4 00000000 */ nop +/* E05748 802403E8 36941630 */ ori $s4, $s4, 0x1630 +/* E0574C 802403EC 4600B0A1 */ cvt.d.s $f2, $f22 +/* E05750 802403F0 46201080 */ add.d $f2, $f2, $f0 +/* E05754 802403F4 27B30048 */ addiu $s3, $sp, 0x48 +/* E05758 802403F8 0260202D */ daddu $a0, $s3, $zero +/* E0575C 802403FC 4600C607 */ neg.s $f24, $f24 +/* E05760 80240400 4406C000 */ mfc1 $a2, $f24 +/* E05764 80240404 462010A0 */ cvt.s.d $f2, $f2 +/* E05768 80240408 44051000 */ mfc1 $a1, $f2 +/* E0576C 8024040C 0C019E40 */ jal guTranslateF +/* E05770 80240410 0000382D */ daddu $a3, $zero, $zero +/* E05774 80240414 0260202D */ daddu $a0, $s3, $zero +/* E05778 80240418 3C108007 */ lui $s0, 0x8007 +/* E0577C 8024041C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* E05780 80240420 3C12800A */ lui $s2, 0x800a +/* E05784 80240424 2652A674 */ addiu $s2, $s2, -0x598c +/* E05788 80240428 96050000 */ lhu $a1, ($s0) +/* E0578C 8024042C 8E420000 */ lw $v0, ($s2) +/* E05790 80240430 00052980 */ sll $a1, $a1, 6 +/* E05794 80240434 00B42821 */ addu $a1, $a1, $s4 +/* E05798 80240438 0C019D40 */ jal guMtxF2L +/* E0579C 8024043C 00452821 */ addu $a1, $v0, $a1 +/* E057A0 80240440 3C02DA38 */ lui $v0, 0xda38 +/* E057A4 80240444 34420002 */ ori $v0, $v0, 2 +/* E057A8 80240448 3C11800A */ lui $s1, 0x800a +/* E057AC 8024044C 2631A66C */ addiu $s1, $s1, -0x5994 +/* E057B0 80240450 8E240000 */ lw $a0, ($s1) +/* E057B4 80240454 96050000 */ lhu $a1, ($s0) +/* E057B8 80240458 0080302D */ daddu $a2, $a0, $zero +/* E057BC 8024045C ACC20000 */ sw $v0, ($a2) +/* E057C0 80240460 30A2FFFF */ andi $v0, $a1, 0xffff +/* E057C4 80240464 00021180 */ sll $v0, $v0, 6 +/* E057C8 80240468 8E430000 */ lw $v1, ($s2) +/* E057CC 8024046C 00541021 */ addu $v0, $v0, $s4 +/* E057D0 80240470 00621821 */ addu $v1, $v1, $v0 +/* E057D4 80240474 3C028000 */ lui $v0, 0x8000 +/* E057D8 80240478 00621821 */ addu $v1, $v1, $v0 +/* E057DC 8024047C ACC30004 */ sw $v1, 4($a2) +/* E057E0 80240480 8EA20000 */ lw $v0, ($s5) +/* E057E4 80240484 24840008 */ addiu $a0, $a0, 8 +/* E057E8 80240488 AE240000 */ sw $a0, ($s1) +/* E057EC 8024048C AFA20020 */ sw $v0, 0x20($sp) +/* E057F0 80240490 8EA20004 */ lw $v0, 4($s5) +/* E057F4 80240494 24A50001 */ addiu $a1, $a1, 1 +/* E057F8 80240498 A6050000 */ sh $a1, ($s0) +/* E057FC 8024049C AFA20024 */ sw $v0, 0x24($sp) +/* E05800 802404A0 92A20008 */ lbu $v0, 8($s5) +/* E05804 802404A4 A7A20028 */ sh $v0, 0x28($sp) +/* E05808 802404A8 92A20009 */ lbu $v0, 9($s5) +/* E0580C 802404AC A7A2002A */ sh $v0, 0x2a($sp) +/* E05810 802404B0 92A2000A */ lbu $v0, 0xa($s5) +/* E05814 802404B4 0260382D */ daddu $a3, $s3, $zero +/* E05818 802404B8 44820000 */ mtc1 $v0, $f0 +/* E0581C 802404BC 00000000 */ nop +/* E05820 802404C0 46800021 */ cvt.d.w $f0, $f0 +/* E05824 802404C4 46340002 */ mul.d $f0, $f0, $f20 +/* E05828 802404C8 00000000 */ nop +/* E0582C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* E05830 802404D0 3C060005 */ lui $a2, 5 +/* E05834 802404D4 34C60040 */ ori $a2, $a2, 0x40 +/* E05838 802404D8 27A50020 */ addiu $a1, $sp, 0x20 +/* E0583C 802404DC A7A0002E */ sh $zero, 0x2e($sp) +/* E05840 802404E0 240200FF */ addiu $v0, $zero, 0xff +/* E05844 802404E4 A3A20030 */ sb $v0, 0x30($sp) +/* E05848 802404E8 46200007 */ neg.d $f0, $f0 +/* E0584C 802404EC 4620010D */ trunc.w.d $f4, $f0 +/* E05850 802404F0 44022000 */ mfc1 $v0, $f4 +/* E05854 802404F4 0C04EBDC */ jal func_8013AF70 +/* E05858 802404F8 A7A2002C */ sh $v0, 0x2c($sp) +/* E0585C 802404FC 3C04D838 */ lui $a0, 0xd838 +/* E05860 80240500 8E220000 */ lw $v0, ($s1) +/* E05864 80240504 34840002 */ ori $a0, $a0, 2 +/* E05868 80240508 0040182D */ daddu $v1, $v0, $zero +/* E0586C 8024050C 24420008 */ addiu $v0, $v0, 8 +/* E05870 80240510 AE220000 */ sw $v0, ($s1) +/* E05874 80240514 24020040 */ addiu $v0, $zero, 0x40 +/* E05878 80240518 AC640000 */ sw $a0, ($v1) +/* E0587C 8024051C AC620004 */ sw $v0, 4($v1) +/* E05880 80240520 8FBF00A0 */ lw $ra, 0xa0($sp) +/* E05884 80240524 8FB5009C */ lw $s5, 0x9c($sp) +/* E05888 80240528 8FB40098 */ lw $s4, 0x98($sp) +/* E0588C 8024052C 8FB30094 */ lw $s3, 0x94($sp) +/* E05890 80240530 8FB20090 */ lw $s2, 0x90($sp) +/* E05894 80240534 8FB1008C */ lw $s1, 0x8c($sp) +/* E05898 80240538 8FB00088 */ lw $s0, 0x88($sp) +/* E0589C 8024053C D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* E058A0 80240540 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* E058A4 80240544 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* E058A8 80240548 03E00008 */ jr $ra +/* E058AC 8024054C 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240550_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240550_E05360.s new file mode 100644 index 0000000000..d3ce747db6 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240550_E05360.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240550_E058B0 +/* E058B0 80240550 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* E058B4 80240554 AFB200D0 */ sw $s2, 0xd0($sp) +/* E058B8 80240558 0080902D */ daddu $s2, $a0, $zero +/* E058BC 8024055C AFB000C8 */ sw $s0, 0xc8($sp) +/* E058C0 80240560 00A0802D */ daddu $s0, $a1, $zero +/* E058C4 80240564 AFBF00E0 */ sw $ra, 0xe0($sp) +/* E058C8 80240568 AFB500DC */ sw $s5, 0xdc($sp) +/* E058CC 8024056C AFB400D8 */ sw $s4, 0xd8($sp) +/* E058D0 80240570 AFB300D4 */ sw $s3, 0xd4($sp) +/* E058D4 80240574 AFB100CC */ sw $s1, 0xcc($sp) +/* E058D8 80240578 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* E058DC 8024057C F7BA0100 */ sdc1 $f26, 0x100($sp) +/* E058E0 80240580 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* E058E4 80240584 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* E058E8 80240588 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* E058EC 8024058C C6160010 */ lwc1 $f22, 0x10($s0) +/* E058F0 80240590 4680B5A0 */ cvt.s.w $f22, $f22 +/* E058F4 80240594 3C054180 */ lui $a1, 0x4180 +/* E058F8 80240598 3C064396 */ lui $a2, 0x4396 +/* E058FC 8024059C 8E42001C */ lw $v0, 0x1c($s2) +/* E05900 802405A0 C61C0014 */ lwc1 $f28, 0x14($s0) +/* E05904 802405A4 4680E720 */ cvt.s.w $f28, $f28 +/* E05908 802405A8 AFA20010 */ sw $v0, 0x10($sp) +/* E0590C 802405AC 8E070018 */ lw $a3, 0x18($s0) +/* E05910 802405B0 0C00A8ED */ jal update_lerp +/* E05914 802405B4 2404000C */ addiu $a0, $zero, 0xc +/* E05918 802405B8 3C01437F */ lui $at, 0x437f +/* E0591C 802405BC 44811000 */ mtc1 $at, $f2 +/* E05920 802405C0 00000000 */ nop +/* E05924 802405C4 4600103C */ c.lt.s $f2, $f0 +/* E05928 802405C8 00000000 */ nop +/* E0592C 802405CC 45000002 */ bc1f .L802405D8 +/* E05930 802405D0 27B10038 */ addiu $s1, $sp, 0x38 +/* E05934 802405D4 46001006 */ mov.s $f0, $f2 +.L802405D8: +/* E05938 802405D8 4600010D */ trunc.w.s $f4, $f0 +/* E0593C 802405DC E7A40014 */ swc1 $f4, 0x14($sp) +/* E05940 802405E0 0000202D */ daddu $a0, $zero, $zero +/* E05944 802405E4 24050007 */ addiu $a1, $zero, 7 +/* E05948 802405E8 240600FF */ addiu $a2, $zero, 0xff +/* E0594C 802405EC 00C0382D */ daddu $a3, $a2, $zero +/* E05950 802405F0 00C0A82D */ daddu $s5, $a2, $zero +/* E05954 802405F4 AFB50010 */ sw $s5, 0x10($sp) +/* E05958 802405F8 0C04EAA7 */ jal func_8013AA9C +/* E0595C 802405FC AFA00018 */ sw $zero, 0x18($sp) +/* E05960 80240600 8E42001C */ lw $v0, 0x1c($s2) +/* E05964 80240604 3C053E4C */ lui $a1, 0x3e4c +/* E05968 80240608 34A5CCCD */ ori $a1, $a1, 0xcccd +/* E0596C 8024060C 3C064000 */ lui $a2, 0x4000 +/* E05970 80240610 AFA20010 */ sw $v0, 0x10($sp) +/* E05974 80240614 8E070018 */ lw $a3, 0x18($s0) +/* E05978 80240618 0C00A8ED */ jal update_lerp +/* E0597C 8024061C 0000202D */ daddu $a0, $zero, $zero +/* E05980 80240620 46000506 */ mov.s $f20, $f0 +/* E05984 80240624 3C013FF0 */ lui $at, 0x3ff0 +/* E05988 80240628 4481C800 */ mtc1 $at, $f25 +/* E0598C 8024062C 4480C000 */ mtc1 $zero, $f24 +/* E05990 80240630 4600A021 */ cvt.d.s $f0, $f20 +/* E05994 80240634 4620C03C */ c.lt.d $f24, $f0 +/* E05998 80240638 00000000 */ nop +/* E0599C 8024063C 45000003 */ bc1f .L8024064C +/* E059A0 80240640 AFB10010 */ sw $s1, 0x10($sp) +/* E059A4 80240644 3C013F80 */ lui $at, 0x3f80 +/* E059A8 80240648 4481A000 */ mtc1 $at, $f20 +.L8024064C: +/* E059AC 8024064C 8E040004 */ lw $a0, 4($s0) +/* E059B0 80240650 8E050008 */ lw $a1, 8($s0) +/* E059B4 80240654 8E060000 */ lw $a2, ($s0) +/* E059B8 80240658 0C04BA38 */ jal func_8012E8E0 +/* E059BC 8024065C 8E07000C */ lw $a3, 0xc($s0) +/* E059C0 80240660 93A20042 */ lbu $v0, 0x42($sp) +/* E059C4 80240664 3C013FE0 */ lui $at, 0x3fe0 +/* E059C8 80240668 4481D800 */ mtc1 $at, $f27 +/* E059CC 8024066C 4480D000 */ mtc1 $zero, $f26 +/* E059D0 80240670 44820000 */ mtc1 $v0, $f0 +/* E059D4 80240674 00000000 */ nop +/* E059D8 80240678 46800021 */ cvt.d.w $f0, $f0 +/* E059DC 8024067C 463A0002 */ mul.d $f0, $f0, $f26 +/* E059E0 80240680 00000000 */ nop +/* E059E4 80240684 4600B0A1 */ cvt.d.s $f2, $f22 +/* E059E8 80240688 46201080 */ add.d $f2, $f2, $f0 +/* E059EC 8024068C 27B40048 */ addiu $s4, $sp, 0x48 +/* E059F0 80240690 0280202D */ daddu $a0, $s4, $zero +/* E059F4 80240694 4600E707 */ neg.s $f28, $f28 +/* E059F8 80240698 4406E000 */ mfc1 $a2, $f28 +/* E059FC 8024069C 462010A0 */ cvt.s.d $f2, $f2 +/* E05A00 802406A0 44051000 */ mfc1 $a1, $f2 +/* E05A04 802406A4 0C019E40 */ jal guTranslateF +/* E05A08 802406A8 0000382D */ daddu $a3, $zero, $zero +/* E05A0C 802406AC 4600A021 */ cvt.d.s $f0, $f20 +/* E05A10 802406B0 46380032 */ c.eq.d $f0, $f24 +/* E05A14 802406B4 00000000 */ nop +/* E05A18 802406B8 4501000C */ bc1t .L802406EC +/* E05A1C 802406BC 3C130001 */ lui $s3, 1 +/* E05A20 802406C0 27B00088 */ addiu $s0, $sp, 0x88 +/* E05A24 802406C4 0200202D */ daddu $a0, $s0, $zero +/* E05A28 802406C8 4405A000 */ mfc1 $a1, $f20 +/* E05A2C 802406CC 3C073F80 */ lui $a3, 0x3f80 +/* E05A30 802406D0 0C019DF0 */ jal guScaleF +/* E05A34 802406D4 00A0302D */ daddu $a2, $a1, $zero +/* E05A38 802406D8 0200202D */ daddu $a0, $s0, $zero +/* E05A3C 802406DC 0280282D */ daddu $a1, $s4, $zero +/* E05A40 802406E0 0C019D80 */ jal guMtxCatF +/* E05A44 802406E4 0280302D */ daddu $a2, $s4, $zero +/* E05A48 802406E8 3C130001 */ lui $s3, 1 +.L802406EC: +/* E05A4C 802406EC 36731630 */ ori $s3, $s3, 0x1630 +/* E05A50 802406F0 0280202D */ daddu $a0, $s4, $zero +/* E05A54 802406F4 3C118007 */ lui $s1, 0x8007 +/* E05A58 802406F8 263141F0 */ addiu $s1, $s1, 0x41f0 +/* E05A5C 802406FC 3C12800A */ lui $s2, 0x800a +/* E05A60 80240700 2652A674 */ addiu $s2, $s2, -0x598c +/* E05A64 80240704 96250000 */ lhu $a1, ($s1) +/* E05A68 80240708 8E420000 */ lw $v0, ($s2) +/* E05A6C 8024070C 00052980 */ sll $a1, $a1, 6 +/* E05A70 80240710 00B32821 */ addu $a1, $a1, $s3 +/* E05A74 80240714 0C019D40 */ jal guMtxF2L +/* E05A78 80240718 00452821 */ addu $a1, $v0, $a1 +/* E05A7C 8024071C 3C03DA38 */ lui $v1, 0xda38 +/* E05A80 80240720 34630002 */ ori $v1, $v1, 2 +/* E05A84 80240724 0000202D */ daddu $a0, $zero, $zero +/* E05A88 80240728 27A50020 */ addiu $a1, $sp, 0x20 +/* E05A8C 8024072C 24060040 */ addiu $a2, $zero, 0x40 +/* E05A90 80240730 3C10800A */ lui $s0, 0x800a +/* E05A94 80240734 2610A66C */ addiu $s0, $s0, -0x5994 +/* E05A98 80240738 0280382D */ daddu $a3, $s4, $zero +/* E05A9C 8024073C 8E020000 */ lw $v0, ($s0) +/* E05AA0 80240740 96280000 */ lhu $t0, ($s1) +/* E05AA4 80240744 0040482D */ daddu $t1, $v0, $zero +/* E05AA8 80240748 24420008 */ addiu $v0, $v0, 8 +/* E05AAC 8024074C AE020000 */ sw $v0, ($s0) +/* E05AB0 80240750 3102FFFF */ andi $v0, $t0, 0xffff +/* E05AB4 80240754 00021180 */ sll $v0, $v0, 6 +/* E05AB8 80240758 00531021 */ addu $v0, $v0, $s3 +/* E05ABC 8024075C AD230000 */ sw $v1, ($t1) +/* E05AC0 80240760 8E430000 */ lw $v1, ($s2) +/* E05AC4 80240764 25080001 */ addiu $t0, $t0, 1 +/* E05AC8 80240768 00621821 */ addu $v1, $v1, $v0 +/* E05ACC 8024076C 3C028000 */ lui $v0, 0x8000 +/* E05AD0 80240770 00621821 */ addu $v1, $v1, $v0 +/* E05AD4 80240774 AD230004 */ sw $v1, 4($t1) +/* E05AD8 80240778 93A20042 */ lbu $v0, 0x42($sp) +/* E05ADC 8024077C 8FA3003C */ lw $v1, 0x3c($sp) +/* E05AE0 80240780 93A90040 */ lbu $t1, 0x40($sp) +/* E05AE4 80240784 93AA0041 */ lbu $t2, 0x41($sp) +/* E05AE8 80240788 44820000 */ mtc1 $v0, $f0 +/* E05AEC 8024078C 00000000 */ nop +/* E05AF0 80240790 46800021 */ cvt.d.w $f0, $f0 +/* E05AF4 80240794 8FA20038 */ lw $v0, 0x38($sp) +/* E05AF8 80240798 463A0002 */ mul.d $f0, $f0, $f26 +/* E05AFC 8024079C 00000000 */ nop +/* E05B00 802407A0 A6280000 */ sh $t0, ($s1) +/* E05B04 802407A4 A7A0002E */ sh $zero, 0x2e($sp) +/* E05B08 802407A8 A3B50030 */ sb $s5, 0x30($sp) +/* E05B0C 802407AC AFA30024 */ sw $v1, 0x24($sp) +/* E05B10 802407B0 A7A90028 */ sh $t1, 0x28($sp) +/* E05B14 802407B4 A7AA002A */ sh $t2, 0x2a($sp) +/* E05B18 802407B8 AFA20020 */ sw $v0, 0x20($sp) +/* E05B1C 802407BC 46200007 */ neg.d $f0, $f0 +/* E05B20 802407C0 4620010D */ trunc.w.d $f4, $f0 +/* E05B24 802407C4 44022000 */ mfc1 $v0, $f4 +/* E05B28 802407C8 0C04EBDC */ jal func_8013AF70 +/* E05B2C 802407CC A7A2002C */ sh $v0, 0x2c($sp) +/* E05B30 802407D0 3C04D838 */ lui $a0, 0xd838 +/* E05B34 802407D4 8E020000 */ lw $v0, ($s0) +/* E05B38 802407D8 34840002 */ ori $a0, $a0, 2 +/* E05B3C 802407DC 0040182D */ daddu $v1, $v0, $zero +/* E05B40 802407E0 24420008 */ addiu $v0, $v0, 8 +/* E05B44 802407E4 AE020000 */ sw $v0, ($s0) +/* E05B48 802407E8 24020040 */ addiu $v0, $zero, 0x40 +/* E05B4C 802407EC AC640000 */ sw $a0, ($v1) +/* E05B50 802407F0 AC620004 */ sw $v0, 4($v1) +/* E05B54 802407F4 8FBF00E0 */ lw $ra, 0xe0($sp) +/* E05B58 802407F8 8FB500DC */ lw $s5, 0xdc($sp) +/* E05B5C 802407FC 8FB400D8 */ lw $s4, 0xd8($sp) +/* E05B60 80240800 8FB300D4 */ lw $s3, 0xd4($sp) +/* E05B64 80240804 8FB200D0 */ lw $s2, 0xd0($sp) +/* E05B68 80240808 8FB100CC */ lw $s1, 0xcc($sp) +/* E05B6C 8024080C 8FB000C8 */ lw $s0, 0xc8($sp) +/* E05B70 80240810 D7BC0108 */ ldc1 $f28, 0x108($sp) +/* E05B74 80240814 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* E05B78 80240818 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* E05B7C 8024081C D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* E05B80 80240820 D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* E05B84 80240824 03E00008 */ jr $ra +/* E05B88 80240828 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_01/func_8024082C_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_8024082C_E05360.s new file mode 100644 index 0000000000..673e2edd83 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_8024082C_E05360.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024082C_E05B8C +/* E05B8C 8024082C 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* E05B90 80240830 AFB200D0 */ sw $s2, 0xd0($sp) +/* E05B94 80240834 0080902D */ daddu $s2, $a0, $zero +/* E05B98 80240838 AFB000C8 */ sw $s0, 0xc8($sp) +/* E05B9C 8024083C 00A0802D */ daddu $s0, $a1, $zero +/* E05BA0 80240840 AFBF00E0 */ sw $ra, 0xe0($sp) +/* E05BA4 80240844 AFB500DC */ sw $s5, 0xdc($sp) +/* E05BA8 80240848 AFB400D8 */ sw $s4, 0xd8($sp) +/* E05BAC 8024084C AFB300D4 */ sw $s3, 0xd4($sp) +/* E05BB0 80240850 AFB100CC */ sw $s1, 0xcc($sp) +/* E05BB4 80240854 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* E05BB8 80240858 F7BA0100 */ sdc1 $f26, 0x100($sp) +/* E05BBC 8024085C F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* E05BC0 80240860 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* E05BC4 80240864 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* E05BC8 80240868 C6180010 */ lwc1 $f24, 0x10($s0) +/* E05BCC 8024086C 4680C620 */ cvt.s.w $f24, $f24 +/* E05BD0 80240870 3C054200 */ lui $a1, 0x4200 +/* E05BD4 80240874 3C064396 */ lui $a2, 0x4396 +/* E05BD8 80240878 8E42001C */ lw $v0, 0x1c($s2) +/* E05BDC 8024087C C61C0014 */ lwc1 $f28, 0x14($s0) +/* E05BE0 80240880 4680E720 */ cvt.s.w $f28, $f28 +/* E05BE4 80240884 AFA20010 */ sw $v0, 0x10($sp) +/* E05BE8 80240888 8E070018 */ lw $a3, 0x18($s0) +/* E05BEC 8024088C 0C00A8ED */ jal update_lerp +/* E05BF0 80240890 2404000C */ addiu $a0, $zero, 0xc +/* E05BF4 80240894 3C01437F */ lui $at, 0x437f +/* E05BF8 80240898 44811000 */ mtc1 $at, $f2 +/* E05BFC 8024089C 00000000 */ nop +/* E05C00 802408A0 4600103C */ c.lt.s $f2, $f0 +/* E05C04 802408A4 00000000 */ nop +/* E05C08 802408A8 45000002 */ bc1f .L802408B4 +/* E05C0C 802408AC 27B10038 */ addiu $s1, $sp, 0x38 +/* E05C10 802408B0 46001006 */ mov.s $f0, $f2 +.L802408B4: +/* E05C14 802408B4 4600010D */ trunc.w.s $f4, $f0 +/* E05C18 802408B8 E7A40014 */ swc1 $f4, 0x14($sp) +/* E05C1C 802408BC 0000202D */ daddu $a0, $zero, $zero +/* E05C20 802408C0 24050007 */ addiu $a1, $zero, 7 +/* E05C24 802408C4 240600FF */ addiu $a2, $zero, 0xff +/* E05C28 802408C8 00C0382D */ daddu $a3, $a2, $zero +/* E05C2C 802408CC 00C0A82D */ daddu $s5, $a2, $zero +/* E05C30 802408D0 AFB50010 */ sw $s5, 0x10($sp) +/* E05C34 802408D4 0C04EAA7 */ jal func_8013AA9C +/* E05C38 802408D8 AFA00018 */ sw $zero, 0x18($sp) +/* E05C3C 802408DC 8E42001C */ lw $v0, 0x1c($s2) +/* E05C40 802408E0 3C05C296 */ lui $a1, 0xc296 +/* E05C44 802408E4 3C0641F0 */ lui $a2, 0x41f0 +/* E05C48 802408E8 AFA20010 */ sw $v0, 0x10($sp) +/* E05C4C 802408EC 8E070018 */ lw $a3, 0x18($s0) +/* E05C50 802408F0 0C00A8ED */ jal update_lerp +/* E05C54 802408F4 0000202D */ daddu $a0, $zero, $zero +/* E05C58 802408F8 4480B000 */ mtc1 $zero, $f22 +/* E05C5C 802408FC 46000506 */ mov.s $f20, $f0 +/* E05C60 80240900 4614B03E */ c.le.s $f22, $f20 +/* E05C64 80240904 00000000 */ nop +/* E05C68 80240908 45030001 */ bc1tl .L80240910 +/* E05C6C 8024090C 4600B506 */ mov.s $f20, $f22 +.L80240910: +/* E05C70 80240910 AFB10010 */ sw $s1, 0x10($sp) +/* E05C74 80240914 8E040004 */ lw $a0, 4($s0) +/* E05C78 80240918 8E050008 */ lw $a1, 8($s0) +/* E05C7C 8024091C 8E060000 */ lw $a2, ($s0) +/* E05C80 80240920 0C04BA38 */ jal func_8012E8E0 +/* E05C84 80240924 8E07000C */ lw $a3, 0xc($s0) +/* E05C88 80240928 93A20042 */ lbu $v0, 0x42($sp) +/* E05C8C 8024092C 3C013FE0 */ lui $at, 0x3fe0 +/* E05C90 80240930 4481D800 */ mtc1 $at, $f27 +/* E05C94 80240934 4480D000 */ mtc1 $zero, $f26 +/* E05C98 80240938 44820000 */ mtc1 $v0, $f0 +/* E05C9C 8024093C 00000000 */ nop +/* E05CA0 80240940 46800021 */ cvt.d.w $f0, $f0 +/* E05CA4 80240944 463A0002 */ mul.d $f0, $f0, $f26 +/* E05CA8 80240948 00000000 */ nop +/* E05CAC 8024094C 4600C0A1 */ cvt.d.s $f2, $f24 +/* E05CB0 80240950 27B40048 */ addiu $s4, $sp, 0x48 +/* E05CB4 80240954 4600E707 */ neg.s $f28, $f28 +/* E05CB8 80240958 46201080 */ add.d $f2, $f2, $f0 +/* E05CBC 8024095C 4406E000 */ mfc1 $a2, $f28 +/* E05CC0 80240960 4407B000 */ mfc1 $a3, $f22 +/* E05CC4 80240964 462010A0 */ cvt.s.d $f2, $f2 +/* E05CC8 80240968 44051000 */ mfc1 $a1, $f2 +/* E05CCC 8024096C 0C019E40 */ jal guTranslateF +/* E05CD0 80240970 0280202D */ daddu $a0, $s4, $zero +/* E05CD4 80240974 4616A032 */ c.eq.s $f20, $f22 +/* E05CD8 80240978 00000000 */ nop +/* E05CDC 8024097C 4501000D */ bc1t .L802409B4 +/* E05CE0 80240980 3C130001 */ lui $s3, 1 +/* E05CE4 80240984 27B00088 */ addiu $s0, $sp, 0x88 +/* E05CE8 80240988 4405A000 */ mfc1 $a1, $f20 +/* E05CEC 8024098C 4406B000 */ mfc1 $a2, $f22 +/* E05CF0 80240990 3C073F80 */ lui $a3, 0x3f80 +/* E05CF4 80240994 0200202D */ daddu $a0, $s0, $zero +/* E05CF8 80240998 0C019EC8 */ jal guRotateF +/* E05CFC 8024099C AFA60010 */ sw $a2, 0x10($sp) +/* E05D00 802409A0 0200202D */ daddu $a0, $s0, $zero +/* E05D04 802409A4 0280282D */ daddu $a1, $s4, $zero +/* E05D08 802409A8 0C019D80 */ jal guMtxCatF +/* E05D0C 802409AC 0280302D */ daddu $a2, $s4, $zero +/* E05D10 802409B0 3C130001 */ lui $s3, 1 +.L802409B4: +/* E05D14 802409B4 36731630 */ ori $s3, $s3, 0x1630 +/* E05D18 802409B8 0280202D */ daddu $a0, $s4, $zero +/* E05D1C 802409BC 3C118007 */ lui $s1, 0x8007 +/* E05D20 802409C0 263141F0 */ addiu $s1, $s1, 0x41f0 +/* E05D24 802409C4 3C12800A */ lui $s2, 0x800a +/* E05D28 802409C8 2652A674 */ addiu $s2, $s2, -0x598c +/* E05D2C 802409CC 96250000 */ lhu $a1, ($s1) +/* E05D30 802409D0 8E420000 */ lw $v0, ($s2) +/* E05D34 802409D4 00052980 */ sll $a1, $a1, 6 +/* E05D38 802409D8 00B32821 */ addu $a1, $a1, $s3 +/* E05D3C 802409DC 0C019D40 */ jal guMtxF2L +/* E05D40 802409E0 00452821 */ addu $a1, $v0, $a1 +/* E05D44 802409E4 3C03DA38 */ lui $v1, 0xda38 +/* E05D48 802409E8 34630002 */ ori $v1, $v1, 2 +/* E05D4C 802409EC 0000202D */ daddu $a0, $zero, $zero +/* E05D50 802409F0 27A50020 */ addiu $a1, $sp, 0x20 +/* E05D54 802409F4 3C060001 */ lui $a2, 1 +/* E05D58 802409F8 34C60040 */ ori $a2, $a2, 0x40 +/* E05D5C 802409FC 3C10800A */ lui $s0, 0x800a +/* E05D60 80240A00 2610A66C */ addiu $s0, $s0, -0x5994 +/* E05D64 80240A04 0280382D */ daddu $a3, $s4, $zero +/* E05D68 80240A08 8E020000 */ lw $v0, ($s0) +/* E05D6C 80240A0C 96280000 */ lhu $t0, ($s1) +/* E05D70 80240A10 0040482D */ daddu $t1, $v0, $zero +/* E05D74 80240A14 24420008 */ addiu $v0, $v0, 8 +/* E05D78 80240A18 AE020000 */ sw $v0, ($s0) +/* E05D7C 80240A1C 3102FFFF */ andi $v0, $t0, 0xffff +/* E05D80 80240A20 00021180 */ sll $v0, $v0, 6 +/* E05D84 80240A24 00531021 */ addu $v0, $v0, $s3 +/* E05D88 80240A28 AD230000 */ sw $v1, ($t1) +/* E05D8C 80240A2C 8E430000 */ lw $v1, ($s2) +/* E05D90 80240A30 25080001 */ addiu $t0, $t0, 1 +/* E05D94 80240A34 00621821 */ addu $v1, $v1, $v0 +/* E05D98 80240A38 3C028000 */ lui $v0, 0x8000 +/* E05D9C 80240A3C 00621821 */ addu $v1, $v1, $v0 +/* E05DA0 80240A40 AD230004 */ sw $v1, 4($t1) +/* E05DA4 80240A44 93A20042 */ lbu $v0, 0x42($sp) +/* E05DA8 80240A48 8FA3003C */ lw $v1, 0x3c($sp) +/* E05DAC 80240A4C 93A90040 */ lbu $t1, 0x40($sp) +/* E05DB0 80240A50 93AA0041 */ lbu $t2, 0x41($sp) +/* E05DB4 80240A54 44820000 */ mtc1 $v0, $f0 +/* E05DB8 80240A58 00000000 */ nop +/* E05DBC 80240A5C 46800021 */ cvt.d.w $f0, $f0 +/* E05DC0 80240A60 8FA20038 */ lw $v0, 0x38($sp) +/* E05DC4 80240A64 463A0002 */ mul.d $f0, $f0, $f26 +/* E05DC8 80240A68 00000000 */ nop +/* E05DCC 80240A6C A6280000 */ sh $t0, ($s1) +/* E05DD0 80240A70 A7A0002E */ sh $zero, 0x2e($sp) +/* E05DD4 80240A74 A3B50030 */ sb $s5, 0x30($sp) +/* E05DD8 80240A78 AFA30024 */ sw $v1, 0x24($sp) +/* E05DDC 80240A7C A7A90028 */ sh $t1, 0x28($sp) +/* E05DE0 80240A80 A7AA002A */ sh $t2, 0x2a($sp) +/* E05DE4 80240A84 AFA20020 */ sw $v0, 0x20($sp) +/* E05DE8 80240A88 46200007 */ neg.d $f0, $f0 +/* E05DEC 80240A8C 4620010D */ trunc.w.d $f4, $f0 +/* E05DF0 80240A90 44022000 */ mfc1 $v0, $f4 +/* E05DF4 80240A94 0C04EBDC */ jal func_8013AF70 +/* E05DF8 80240A98 A7A2002C */ sh $v0, 0x2c($sp) +/* E05DFC 80240A9C 3C04D838 */ lui $a0, 0xd838 +/* E05E00 80240AA0 8E020000 */ lw $v0, ($s0) +/* E05E04 80240AA4 34840002 */ ori $a0, $a0, 2 +/* E05E08 80240AA8 0040182D */ daddu $v1, $v0, $zero +/* E05E0C 80240AAC 24420008 */ addiu $v0, $v0, 8 +/* E05E10 80240AB0 AE020000 */ sw $v0, ($s0) +/* E05E14 80240AB4 24020040 */ addiu $v0, $zero, 0x40 +/* E05E18 80240AB8 AC640000 */ sw $a0, ($v1) +/* E05E1C 80240ABC AC620004 */ sw $v0, 4($v1) +/* E05E20 80240AC0 8FBF00E0 */ lw $ra, 0xe0($sp) +/* E05E24 80240AC4 8FB500DC */ lw $s5, 0xdc($sp) +/* E05E28 80240AC8 8FB400D8 */ lw $s4, 0xd8($sp) +/* E05E2C 80240ACC 8FB300D4 */ lw $s3, 0xd4($sp) +/* E05E30 80240AD0 8FB200D0 */ lw $s2, 0xd0($sp) +/* E05E34 80240AD4 8FB100CC */ lw $s1, 0xcc($sp) +/* E05E38 80240AD8 8FB000C8 */ lw $s0, 0xc8($sp) +/* E05E3C 80240ADC D7BC0108 */ ldc1 $f28, 0x108($sp) +/* E05E40 80240AE0 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* E05E44 80240AE4 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* E05E48 80240AE8 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* E05E4C 80240AEC D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* E05E50 80240AF0 03E00008 */ jr $ra +/* E05E54 80240AF4 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240AF8_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240AF8_E05360.s new file mode 100644 index 0000000000..9f9998e63a --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240AF8_E05360.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF8_E05E58 +/* E05E58 80240AF8 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* E05E5C 80240AFC AFB000C8 */ sw $s0, 0xc8($sp) +/* E05E60 80240B00 0080802D */ daddu $s0, $a0, $zero +/* E05E64 80240B04 AFB100CC */ sw $s1, 0xcc($sp) +/* E05E68 80240B08 00A0882D */ daddu $s1, $a1, $zero +/* E05E6C 80240B0C AFB600E0 */ sw $s6, 0xe0($sp) +/* E05E70 80240B10 24160040 */ addiu $s6, $zero, 0x40 +/* E05E74 80240B14 AFBF00E4 */ sw $ra, 0xe4($sp) +/* E05E78 80240B18 AFB500DC */ sw $s5, 0xdc($sp) +/* E05E7C 80240B1C AFB400D8 */ sw $s4, 0xd8($sp) +/* E05E80 80240B20 AFB300D4 */ sw $s3, 0xd4($sp) +/* E05E84 80240B24 AFB200D0 */ sw $s2, 0xd0($sp) +/* E05E88 80240B28 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* E05E8C 80240B2C F7BA0100 */ sdc1 $f26, 0x100($sp) +/* E05E90 80240B30 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* E05E94 80240B34 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* E05E98 80240B38 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* E05E9C 80240B3C C6200010 */ lwc1 $f0, 0x10($s1) +/* E05EA0 80240B40 46800020 */ cvt.s.w $f0, $f0 +/* E05EA4 80240B44 8E020068 */ lw $v0, 0x68($s0) +/* E05EA8 80240B48 8E030014 */ lw $v1, 0x14($s0) +/* E05EAC 80240B4C 44060000 */ mfc1 $a2, $f0 +/* E05EB0 80240B50 8E07001C */ lw $a3, 0x1c($s0) +/* E05EB4 80240B54 00431021 */ addu $v0, $v0, $v1 +/* E05EB8 80240B58 2442FFF0 */ addiu $v0, $v0, -0x10 +/* E05EBC 80240B5C 44822000 */ mtc1 $v0, $f4 +/* E05EC0 80240B60 00000000 */ nop +/* E05EC4 80240B64 46802120 */ cvt.s.w $f4, $f4 +/* E05EC8 80240B68 8E03006C */ lw $v1, 0x6c($s0) +/* E05ECC 80240B6C 44052000 */ mfc1 $a1, $f4 +/* E05ED0 80240B70 AFA70010 */ sw $a3, 0x10($sp) +/* E05ED4 80240B74 8E270018 */ lw $a3, 0x18($s1) +/* E05ED8 80240B78 2463003C */ addiu $v1, $v1, 0x3c +/* E05EDC 80240B7C 4483A000 */ mtc1 $v1, $f20 +/* E05EE0 80240B80 00000000 */ nop +/* E05EE4 80240B84 4680A520 */ cvt.s.w $f20, $f20 +/* E05EE8 80240B88 0C00A8ED */ jal update_lerp +/* E05EEC 80240B8C 2404000A */ addiu $a0, $zero, 0xa +/* E05EF0 80240B90 C6220014 */ lwc1 $f2, 0x14($s1) +/* E05EF4 80240B94 468010A0 */ cvt.s.w $f2, $f2 +/* E05EF8 80240B98 4405A000 */ mfc1 $a1, $f20 +/* E05EFC 80240B9C 44061000 */ mfc1 $a2, $f2 +/* E05F00 80240BA0 8E02001C */ lw $v0, 0x1c($s0) +/* E05F04 80240BA4 24040005 */ addiu $a0, $zero, 5 +/* E05F08 80240BA8 AFA20010 */ sw $v0, 0x10($sp) +/* E05F0C 80240BAC 8E270018 */ lw $a3, 0x18($s1) +/* E05F10 80240BB0 0C00A8ED */ jal update_lerp +/* E05F14 80240BB4 46000506 */ mov.s $f20, $f0 +/* E05F18 80240BB8 27B50038 */ addiu $s5, $sp, 0x38 +/* E05F1C 80240BBC 8E220018 */ lw $v0, 0x18($s1) +/* E05F20 80240BC0 8E03001C */ lw $v1, 0x1c($s0) +/* E05F24 80240BC4 14430004 */ bne $v0, $v1, .L80240BD8 +/* E05F28 80240BC8 46000706 */ mov.s $f28, $f0 +/* E05F2C 80240BCC 4480B000 */ mtc1 $zero, $f22 +/* E05F30 80240BD0 080902FD */ j .L80240BF4 +/* E05F34 80240BD4 00000000 */ nop +.L80240BD8: +/* E05F38 80240BD8 00621823 */ subu $v1, $v1, $v0 +/* E05F3C 80240BDC 00031080 */ sll $v0, $v1, 2 +/* E05F40 80240BE0 00431021 */ addu $v0, $v0, $v1 +/* E05F44 80240BE4 00021040 */ sll $v0, $v0, 1 +/* E05F48 80240BE8 4482B000 */ mtc1 $v0, $f22 +/* E05F4C 80240BEC 00000000 */ nop +/* E05F50 80240BF0 4680B5A0 */ cvt.s.w $f22, $f22 +.L80240BF4: +/* E05F54 80240BF4 8E02001C */ lw $v0, 0x1c($s0) +/* E05F58 80240BF8 3C054000 */ lui $a1, 0x4000 +/* E05F5C 80240BFC 3C063F80 */ lui $a2, 0x3f80 +/* E05F60 80240C00 AFA20010 */ sw $v0, 0x10($sp) +/* E05F64 80240C04 8E270018 */ lw $a3, 0x18($s1) +/* E05F68 80240C08 0C00A8ED */ jal update_lerp +/* E05F6C 80240C0C 24040004 */ addiu $a0, $zero, 4 +/* E05F70 80240C10 8E220018 */ lw $v0, 0x18($s1) +/* E05F74 80240C14 8E04001C */ lw $a0, 0x1c($s0) +/* E05F78 80240C18 1444000C */ bne $v0, $a0, .L80240C4C +/* E05F7C 80240C1C 46000686 */ mov.s $f26, $f0 +/* E05F80 80240C20 0000202D */ daddu $a0, $zero, $zero +/* E05F84 80240C24 0080282D */ daddu $a1, $a0, $zero +/* E05F88 80240C28 0080302D */ daddu $a2, $a0, $zero +/* E05F8C 80240C2C 0080382D */ daddu $a3, $a0, $zero +/* E05F90 80240C30 AFA00010 */ sw $zero, 0x10($sp) +/* E05F94 80240C34 AFA00014 */ sw $zero, 0x14($sp) +/* E05F98 80240C38 0C04EAA7 */ jal func_8013AA9C +/* E05F9C 80240C3C AFA00018 */ sw $zero, 0x18($sp) +/* E05FA0 80240C40 3C020001 */ lui $v0, 1 +/* E05FA4 80240C44 0809032A */ j .L80240CA8 +/* E05FA8 80240C48 02C2B025 */ or $s6, $s6, $v0 +.L80240C4C: +/* E05FAC 80240C4C 3C054180 */ lui $a1, 0x4180 +/* E05FB0 80240C50 3C064396 */ lui $a2, 0x4396 +/* E05FB4 80240C54 AFA40010 */ sw $a0, 0x10($sp) +/* E05FB8 80240C58 8E270018 */ lw $a3, 0x18($s1) +/* E05FBC 80240C5C 0C00A8ED */ jal update_lerp +/* E05FC0 80240C60 0000202D */ daddu $a0, $zero, $zero +/* E05FC4 80240C64 3C01437F */ lui $at, 0x437f +/* E05FC8 80240C68 44811000 */ mtc1 $at, $f2 +/* E05FCC 80240C6C 00000000 */ nop +/* E05FD0 80240C70 4600103C */ c.lt.s $f2, $f0 +/* E05FD4 80240C74 00000000 */ nop +/* E05FD8 80240C78 45030001 */ bc1tl .L80240C80 +/* E05FDC 80240C7C 46001006 */ mov.s $f0, $f2 +.L80240C80: +/* E05FE0 80240C80 4600010D */ trunc.w.s $f4, $f0 +/* E05FE4 80240C84 E7A40014 */ swc1 $f4, 0x14($sp) +/* E05FE8 80240C88 0000202D */ daddu $a0, $zero, $zero +/* E05FEC 80240C8C 24050007 */ addiu $a1, $zero, 7 +/* E05FF0 80240C90 240600FF */ addiu $a2, $zero, 0xff +/* E05FF4 80240C94 00C0382D */ daddu $a3, $a2, $zero +/* E05FF8 80240C98 00C0102D */ daddu $v0, $a2, $zero +/* E05FFC 80240C9C AFA20010 */ sw $v0, 0x10($sp) +/* E06000 80240CA0 0C04EAA7 */ jal func_8013AA9C +/* E06004 80240CA4 AFA00018 */ sw $zero, 0x18($sp) +.L80240CA8: +/* E06008 80240CA8 AFB50010 */ sw $s5, 0x10($sp) +/* E0600C 80240CAC 8E240004 */ lw $a0, 4($s1) +/* E06010 80240CB0 8E250008 */ lw $a1, 8($s1) +/* E06014 80240CB4 8E260000 */ lw $a2, ($s1) +/* E06018 80240CB8 8E27000C */ lw $a3, 0xc($s1) +/* E0601C 80240CBC 0C04BA38 */ jal func_8012E8E0 +/* E06020 80240CC0 3C140001 */ lui $s4, 1 +/* E06024 80240CC4 92A2000A */ lbu $v0, 0xa($s5) +/* E06028 80240CC8 3C013FE0 */ lui $at, 0x3fe0 +/* E0602C 80240CCC 4481C800 */ mtc1 $at, $f25 +/* E06030 80240CD0 4480C000 */ mtc1 $zero, $f24 +/* E06034 80240CD4 44820000 */ mtc1 $v0, $f0 +/* E06038 80240CD8 00000000 */ nop +/* E0603C 80240CDC 46800021 */ cvt.d.w $f0, $f0 +/* E06040 80240CE0 46380002 */ mul.d $f0, $f0, $f24 +/* E06044 80240CE4 00000000 */ nop +/* E06048 80240CE8 36941630 */ ori $s4, $s4, 0x1630 +/* E0604C 80240CEC 4600A0A1 */ cvt.d.s $f2, $f20 +/* E06050 80240CF0 27B10048 */ addiu $s1, $sp, 0x48 +/* E06054 80240CF4 4600E707 */ neg.s $f28, $f28 +/* E06058 80240CF8 4480A000 */ mtc1 $zero, $f20 +/* E0605C 80240CFC 46201080 */ add.d $f2, $f2, $f0 +/* E06060 80240D00 4406E000 */ mfc1 $a2, $f28 +/* E06064 80240D04 4407A000 */ mfc1 $a3, $f20 +/* E06068 80240D08 462010A0 */ cvt.s.d $f2, $f2 +/* E0606C 80240D0C 44051000 */ mfc1 $a1, $f2 +/* E06070 80240D10 0C019E40 */ jal guTranslateF +/* E06074 80240D14 0220202D */ daddu $a0, $s1, $zero +/* E06078 80240D18 27B00088 */ addiu $s0, $sp, 0x88 +/* E0607C 80240D1C 4405B000 */ mfc1 $a1, $f22 +/* E06080 80240D20 3C013F80 */ lui $at, 0x3f80 +/* E06084 80240D24 4481B000 */ mtc1 $at, $f22 +/* E06088 80240D28 4406A000 */ mfc1 $a2, $f20 +/* E0608C 80240D2C 3C013E4C */ lui $at, 0x3e4c +/* E06090 80240D30 3421CCCD */ ori $at, $at, 0xcccd +/* E06094 80240D34 44810000 */ mtc1 $at, $f0 +/* E06098 80240D38 4407B000 */ mfc1 $a3, $f22 +/* E0609C 80240D3C 0200202D */ daddu $a0, $s0, $zero +/* E060A0 80240D40 0C019EC8 */ jal guRotateF +/* E060A4 80240D44 E7A00010 */ swc1 $f0, 0x10($sp) +/* E060A8 80240D48 0200202D */ daddu $a0, $s0, $zero +/* E060AC 80240D4C 0220282D */ daddu $a1, $s1, $zero +/* E060B0 80240D50 0C019D80 */ jal guMtxCatF +/* E060B4 80240D54 0220302D */ daddu $a2, $s1, $zero +/* E060B8 80240D58 0200202D */ daddu $a0, $s0, $zero +/* E060BC 80240D5C 4405D000 */ mfc1 $a1, $f26 +/* E060C0 80240D60 4407B000 */ mfc1 $a3, $f22 +/* E060C4 80240D64 0C019DF0 */ jal guScaleF +/* E060C8 80240D68 00A0302D */ daddu $a2, $a1, $zero +/* E060CC 80240D6C 0200202D */ daddu $a0, $s0, $zero +/* E060D0 80240D70 0220282D */ daddu $a1, $s1, $zero +/* E060D4 80240D74 0C019D80 */ jal guMtxCatF +/* E060D8 80240D78 0220302D */ daddu $a2, $s1, $zero +/* E060DC 80240D7C 0220202D */ daddu $a0, $s1, $zero +/* E060E0 80240D80 3C108007 */ lui $s0, 0x8007 +/* E060E4 80240D84 261041F0 */ addiu $s0, $s0, 0x41f0 +/* E060E8 80240D88 3C13800A */ lui $s3, 0x800a +/* E060EC 80240D8C 2673A674 */ addiu $s3, $s3, -0x598c +/* E060F0 80240D90 96050000 */ lhu $a1, ($s0) +/* E060F4 80240D94 8E620000 */ lw $v0, ($s3) +/* E060F8 80240D98 00052980 */ sll $a1, $a1, 6 +/* E060FC 80240D9C 00B42821 */ addu $a1, $a1, $s4 +/* E06100 80240DA0 0C019D40 */ jal guMtxF2L +/* E06104 80240DA4 00452821 */ addu $a1, $v0, $a1 +/* E06108 80240DA8 3C02DA38 */ lui $v0, 0xda38 +/* E0610C 80240DAC 34420002 */ ori $v0, $v0, 2 +/* E06110 80240DB0 3C12800A */ lui $s2, 0x800a +/* E06114 80240DB4 2652A66C */ addiu $s2, $s2, -0x5994 +/* E06118 80240DB8 8E440000 */ lw $a0, ($s2) +/* E0611C 80240DBC 96050000 */ lhu $a1, ($s0) +/* E06120 80240DC0 0080302D */ daddu $a2, $a0, $zero +/* E06124 80240DC4 ACC20000 */ sw $v0, ($a2) +/* E06128 80240DC8 30A2FFFF */ andi $v0, $a1, 0xffff +/* E0612C 80240DCC 00021180 */ sll $v0, $v0, 6 +/* E06130 80240DD0 8E630000 */ lw $v1, ($s3) +/* E06134 80240DD4 00541021 */ addu $v0, $v0, $s4 +/* E06138 80240DD8 00621821 */ addu $v1, $v1, $v0 +/* E0613C 80240DDC 3C028000 */ lui $v0, 0x8000 +/* E06140 80240DE0 00621821 */ addu $v1, $v1, $v0 +/* E06144 80240DE4 ACC30004 */ sw $v1, 4($a2) +/* E06148 80240DE8 8EA20000 */ lw $v0, ($s5) +/* E0614C 80240DEC 24840008 */ addiu $a0, $a0, 8 +/* E06150 80240DF0 AE440000 */ sw $a0, ($s2) +/* E06154 80240DF4 AFA20020 */ sw $v0, 0x20($sp) +/* E06158 80240DF8 8EA20004 */ lw $v0, 4($s5) +/* E0615C 80240DFC 24A50001 */ addiu $a1, $a1, 1 +/* E06160 80240E00 A6050000 */ sh $a1, ($s0) +/* E06164 80240E04 AFA20024 */ sw $v0, 0x24($sp) +/* E06168 80240E08 92A20008 */ lbu $v0, 8($s5) +/* E0616C 80240E0C A7A20028 */ sh $v0, 0x28($sp) +/* E06170 80240E10 92A20009 */ lbu $v0, 9($s5) +/* E06174 80240E14 A7A2002A */ sh $v0, 0x2a($sp) +/* E06178 80240E18 92A2000A */ lbu $v0, 0xa($s5) +/* E0617C 80240E1C 44820000 */ mtc1 $v0, $f0 +/* E06180 80240E20 00000000 */ nop +/* E06184 80240E24 46800021 */ cvt.d.w $f0, $f0 +/* E06188 80240E28 46380002 */ mul.d $f0, $f0, $f24 +/* E0618C 80240E2C 00000000 */ nop +/* E06190 80240E30 0220382D */ daddu $a3, $s1, $zero +/* E06194 80240E34 0000202D */ daddu $a0, $zero, $zero +/* E06198 80240E38 02C0302D */ daddu $a2, $s6, $zero +/* E0619C 80240E3C 27A50020 */ addiu $a1, $sp, 0x20 +/* E061A0 80240E40 A7A0002E */ sh $zero, 0x2e($sp) +/* E061A4 80240E44 240200FF */ addiu $v0, $zero, 0xff +/* E061A8 80240E48 A3A20030 */ sb $v0, 0x30($sp) +/* E061AC 80240E4C 46200007 */ neg.d $f0, $f0 +/* E061B0 80240E50 4620010D */ trunc.w.d $f4, $f0 +/* E061B4 80240E54 44022000 */ mfc1 $v0, $f4 +/* E061B8 80240E58 0C04EBDC */ jal func_8013AF70 +/* E061BC 80240E5C A7A2002C */ sh $v0, 0x2c($sp) +/* E061C0 80240E60 3C04D838 */ lui $a0, 0xd838 +/* E061C4 80240E64 8E420000 */ lw $v0, ($s2) +/* E061C8 80240E68 34840002 */ ori $a0, $a0, 2 +/* E061CC 80240E6C 0040182D */ daddu $v1, $v0, $zero +/* E061D0 80240E70 24420008 */ addiu $v0, $v0, 8 +/* E061D4 80240E74 AE420000 */ sw $v0, ($s2) +/* E061D8 80240E78 24020040 */ addiu $v0, $zero, 0x40 +/* E061DC 80240E7C AC640000 */ sw $a0, ($v1) +/* E061E0 80240E80 AC620004 */ sw $v0, 4($v1) +/* E061E4 80240E84 8FBF00E4 */ lw $ra, 0xe4($sp) +/* E061E8 80240E88 8FB600E0 */ lw $s6, 0xe0($sp) +/* E061EC 80240E8C 8FB500DC */ lw $s5, 0xdc($sp) +/* E061F0 80240E90 8FB400D8 */ lw $s4, 0xd8($sp) +/* E061F4 80240E94 8FB300D4 */ lw $s3, 0xd4($sp) +/* E061F8 80240E98 8FB200D0 */ lw $s2, 0xd0($sp) +/* E061FC 80240E9C 8FB100CC */ lw $s1, 0xcc($sp) +/* E06200 80240EA0 8FB000C8 */ lw $s0, 0xc8($sp) +/* E06204 80240EA4 D7BC0108 */ ldc1 $f28, 0x108($sp) +/* E06208 80240EA8 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* E0620C 80240EAC D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* E06210 80240EB0 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* E06214 80240EB4 D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* E06218 80240EB8 03E00008 */ jr $ra +/* E0621C 80240EBC 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240EC0_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80240EC0_E05360.s new file mode 100644 index 0000000000..5bf94d13a0 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240EC0_E05360.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EC0_E06220 +/* E06220 80240EC0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* E06224 80240EC4 AFB00048 */ sw $s0, 0x48($sp) +/* E06228 80240EC8 00A0802D */ daddu $s0, $a1, $zero +/* E0622C 80240ECC AFBF0050 */ sw $ra, 0x50($sp) +/* E06230 80240ED0 AFB1004C */ sw $s1, 0x4c($sp) +/* E06234 80240ED4 F7B80068 */ sdc1 $f24, 0x68($sp) +/* E06238 80240ED8 F7B60060 */ sdc1 $f22, 0x60($sp) +/* E0623C 80240EDC F7B40058 */ sdc1 $f20, 0x58($sp) +/* E06240 80240EE0 8C82001C */ lw $v0, 0x1c($a0) +/* E06244 80240EE4 0000202D */ daddu $a0, $zero, $zero +/* E06248 80240EE8 0000282D */ daddu $a1, $zero, $zero +/* E0624C 80240EEC C6140010 */ lwc1 $f20, 0x10($s0) +/* E06250 80240EF0 4680A520 */ cvt.s.w $f20, $f20 +/* E06254 80240EF4 3C06437F */ lui $a2, 0x437f +/* E06258 80240EF8 C6160014 */ lwc1 $f22, 0x14($s0) +/* E0625C 80240EFC 4680B5A0 */ cvt.s.w $f22, $f22 +/* E06260 80240F00 AFA20010 */ sw $v0, 0x10($sp) +/* E06264 80240F04 8E070018 */ lw $a3, 0x18($s0) +/* E06268 80240F08 0C00A8ED */ jal update_lerp +/* E0626C 80240F0C 27B10038 */ addiu $s1, $sp, 0x38 +/* E06270 80240F10 AFB10010 */ sw $s1, 0x10($sp) +/* E06274 80240F14 8E040004 */ lw $a0, 4($s0) +/* E06278 80240F18 8E050008 */ lw $a1, 8($s0) +/* E0627C 80240F1C 8E060000 */ lw $a2, ($s0) +/* E06280 80240F20 8E07000C */ lw $a3, 0xc($s0) +/* E06284 80240F24 0C04BA38 */ jal func_8012E8E0 +/* E06288 80240F28 46000606 */ mov.s $f24, $f0 +/* E0628C 80240F2C 4600A08D */ trunc.w.s $f2, $f20 +/* E06290 80240F30 44021000 */ mfc1 $v0, $f2 +/* E06294 80240F34 93A50040 */ lbu $a1, 0x40($sp) +/* E06298 80240F38 93A60041 */ lbu $a2, 0x41($sp) +/* E0629C 80240F3C 00021400 */ sll $v0, $v0, 0x10 +/* E062A0 80240F40 AFA00010 */ sw $zero, 0x10($sp) +/* E062A4 80240F44 8FA3003C */ lw $v1, 0x3c($sp) +/* E062A8 80240F48 00021403 */ sra $v0, $v0, 0x10 +/* E062AC 80240F4C AFA20018 */ sw $v0, 0x18($sp) +/* E062B0 80240F50 4600B08D */ trunc.w.s $f2, $f22 +/* E062B4 80240F54 44021000 */ mfc1 $v0, $f2 +/* E062B8 80240F58 00000000 */ nop +/* E062BC 80240F5C 00021400 */ sll $v0, $v0, 0x10 +/* E062C0 80240F60 3C014F00 */ lui $at, 0x4f00 +/* E062C4 80240F64 44810000 */ mtc1 $at, $f0 +/* E062C8 80240F68 00021403 */ sra $v0, $v0, 0x10 +/* E062CC 80240F6C AFA2001C */ sw $v0, 0x1c($sp) +/* E062D0 80240F70 2402000A */ addiu $v0, $zero, 0xa +/* E062D4 80240F74 AFA20020 */ sw $v0, 0x20($sp) +/* E062D8 80240F78 24020014 */ addiu $v0, $zero, 0x14 +/* E062DC 80240F7C AFA20024 */ sw $v0, 0x24($sp) +/* E062E0 80240F80 2402012C */ addiu $v0, $zero, 0x12c +/* E062E4 80240F84 AFA20028 */ sw $v0, 0x28($sp) +/* E062E8 80240F88 240200C8 */ addiu $v0, $zero, 0xc8 +/* E062EC 80240F8C AFA2002C */ sw $v0, 0x2c($sp) +/* E062F0 80240F90 4618003E */ c.le.s $f0, $f24 +/* E062F4 80240F94 00000000 */ nop +/* E062F8 80240F98 45010005 */ bc1t .L80240FB0 +/* E062FC 80240F9C AFA30014 */ sw $v1, 0x14($sp) +/* E06300 80240FA0 4600C08D */ trunc.w.s $f2, $f24 +/* E06304 80240FA4 44031000 */ mfc1 $v1, $f2 +/* E06308 80240FA8 080903F3 */ j .L80240FCC +/* E0630C 80240FAC 306200FF */ andi $v0, $v1, 0xff +.L80240FB0: +/* E06310 80240FB0 4600C001 */ sub.s $f0, $f24, $f0 +/* E06314 80240FB4 3C028000 */ lui $v0, 0x8000 +/* E06318 80240FB8 4600008D */ trunc.w.s $f2, $f0 +/* E0631C 80240FBC 44031000 */ mfc1 $v1, $f2 +/* E06320 80240FC0 00000000 */ nop +/* E06324 80240FC4 00621825 */ or $v1, $v1, $v0 +/* E06328 80240FC8 306200FF */ andi $v0, $v1, 0xff +.L80240FCC: +/* E0632C 80240FCC AFA20030 */ sw $v0, 0x30($sp) +/* E06330 80240FD0 8E240000 */ lw $a0, ($s1) +/* E06334 80240FD4 0C04BA68 */ jal func_8012E9A0 +/* E06338 80240FD8 24070002 */ addiu $a3, $zero, 2 +/* E0633C 80240FDC 8FBF0050 */ lw $ra, 0x50($sp) +/* E06340 80240FE0 8FB1004C */ lw $s1, 0x4c($sp) +/* E06344 80240FE4 8FB00048 */ lw $s0, 0x48($sp) +/* E06348 80240FE8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* E0634C 80240FEC D7B60060 */ ldc1 $f22, 0x60($sp) +/* E06350 80240FF0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* E06354 80240FF4 03E00008 */ jr $ra +/* E06358 80240FF8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80240FFC.s b/asm/nonmatchings/world/area_end/end_01/func_80240FFC.s new file mode 100644 index 0000000000..03df81e54f --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80240FFC.s @@ -0,0 +1,124 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FFC +/* E0635C 80240FFC 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* E06360 80241000 AFB00088 */ sw $s0, 0x88($sp) +/* E06364 80241004 00A0802D */ daddu $s0, $a1, $zero +/* E06368 80241008 0000202D */ daddu $a0, $zero, $zero +/* E0636C 8024100C 0080282D */ daddu $a1, $a0, $zero +/* E06370 80241010 0080302D */ daddu $a2, $a0, $zero +/* E06374 80241014 0080382D */ daddu $a3, $a0, $zero +/* E06378 80241018 AFBF00A0 */ sw $ra, 0xa0($sp) +/* E0637C 8024101C AFB5009C */ sw $s5, 0x9c($sp) +/* E06380 80241020 AFB40098 */ sw $s4, 0x98($sp) +/* E06384 80241024 AFB30094 */ sw $s3, 0x94($sp) +/* E06388 80241028 AFB20090 */ sw $s2, 0x90($sp) +/* E0638C 8024102C AFB1008C */ sw $s1, 0x8c($sp) +/* E06390 80241030 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* E06394 80241034 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* E06398 80241038 C6140010 */ lwc1 $f20, 0x10($s0) +/* E0639C 8024103C 4680A520 */ cvt.s.w $f20, $f20 +/* E063A0 80241040 C6160014 */ lwc1 $f22, 0x14($s0) +/* E063A4 80241044 4680B5A0 */ cvt.s.w $f22, $f22 +/* E063A8 80241048 AFA00010 */ sw $zero, 0x10($sp) +/* E063AC 8024104C AFA00014 */ sw $zero, 0x14($sp) +/* E063B0 80241050 0C04EAA7 */ jal func_8013AA9C +/* E063B4 80241054 AFA00018 */ sw $zero, 0x18($sp) +/* E063B8 80241058 27B40048 */ addiu $s4, $sp, 0x48 +/* E063BC 8024105C 0280202D */ daddu $a0, $s4, $zero +/* E063C0 80241060 0000382D */ daddu $a3, $zero, $zero +/* E063C4 80241064 3C150001 */ lui $s5, 1 +/* E063C8 80241068 4600B587 */ neg.s $f22, $f22 +/* E063CC 8024106C 4405A000 */ mfc1 $a1, $f20 +/* E063D0 80241070 4406B000 */ mfc1 $a2, $f22 +/* E063D4 80241074 0C019E40 */ jal guTranslateF +/* E063D8 80241078 36B51630 */ ori $s5, $s5, 0x1630 +/* E063DC 8024107C 0280202D */ daddu $a0, $s4, $zero +/* E063E0 80241080 3C118007 */ lui $s1, 0x8007 +/* E063E4 80241084 263141F0 */ addiu $s1, $s1, 0x41f0 +/* E063E8 80241088 3C12800A */ lui $s2, 0x800a +/* E063EC 8024108C 2652A674 */ addiu $s2, $s2, -0x598c +/* E063F0 80241090 96250000 */ lhu $a1, ($s1) +/* E063F4 80241094 8E420000 */ lw $v0, ($s2) +/* E063F8 80241098 00052980 */ sll $a1, $a1, 6 +/* E063FC 8024109C 00B52821 */ addu $a1, $a1, $s5 +/* E06400 802410A0 0C019D40 */ jal guMtxF2L +/* E06404 802410A4 00452821 */ addu $a1, $v0, $a1 +/* E06408 802410A8 3C02DA38 */ lui $v0, 0xda38 +/* E0640C 802410AC 34420002 */ ori $v0, $v0, 2 +/* E06410 802410B0 3C13800A */ lui $s3, 0x800a +/* E06414 802410B4 2673A66C */ addiu $s3, $s3, -0x5994 +/* E06418 802410B8 8E680000 */ lw $t0, ($s3) +/* E0641C 802410BC 96290000 */ lhu $t1, ($s1) +/* E06420 802410C0 0100202D */ daddu $a0, $t0, $zero +/* E06424 802410C4 AC820000 */ sw $v0, ($a0) +/* E06428 802410C8 3122FFFF */ andi $v0, $t1, 0xffff +/* E0642C 802410CC 00021180 */ sll $v0, $v0, 6 +/* E06430 802410D0 00551021 */ addu $v0, $v0, $s5 +/* E06434 802410D4 8E430000 */ lw $v1, ($s2) +/* E06438 802410D8 25080008 */ addiu $t0, $t0, 8 +/* E0643C 802410DC 00621821 */ addu $v1, $v1, $v0 +/* E06440 802410E0 3C028000 */ lui $v0, 0x8000 +/* E06444 802410E4 00621821 */ addu $v1, $v1, $v0 +/* E06448 802410E8 27A20038 */ addiu $v0, $sp, 0x38 +/* E0644C 802410EC AC830004 */ sw $v1, 4($a0) +/* E06450 802410F0 AFA20010 */ sw $v0, 0x10($sp) +/* E06454 802410F4 8E040004 */ lw $a0, 4($s0) +/* E06458 802410F8 8E050008 */ lw $a1, 8($s0) +/* E0645C 802410FC 8E060000 */ lw $a2, ($s0) +/* E06460 80241100 8E07000C */ lw $a3, 0xc($s0) +/* E06464 80241104 25290001 */ addiu $t1, $t1, 1 +/* E06468 80241108 AE680000 */ sw $t0, ($s3) +/* E0646C 8024110C 0C04BA38 */ jal func_8012E8E0 +/* E06470 80241110 A6290000 */ sh $t1, ($s1) +/* E06474 80241114 0000202D */ daddu $a0, $zero, $zero +/* E06478 80241118 27A50020 */ addiu $a1, $sp, 0x20 +/* E0647C 8024111C 3C060005 */ lui $a2, 5 +/* E06480 80241120 34C60040 */ ori $a2, $a2, 0x40 +/* E06484 80241124 0280382D */ daddu $a3, $s4, $zero +/* E06488 80241128 93A20042 */ lbu $v0, 0x42($sp) +/* E0648C 8024112C 3C013FE0 */ lui $at, 0x3fe0 +/* E06490 80241130 44810800 */ mtc1 $at, $f1 +/* E06494 80241134 44800000 */ mtc1 $zero, $f0 +/* E06498 80241138 8FA30038 */ lw $v1, 0x38($sp) +/* E0649C 8024113C 8FA8003C */ lw $t0, 0x3c($sp) +/* E064A0 80241140 93A90040 */ lbu $t1, 0x40($sp) +/* E064A4 80241144 93AA0041 */ lbu $t2, 0x41($sp) +/* E064A8 80241148 44821000 */ mtc1 $v0, $f2 +/* E064AC 8024114C 00000000 */ nop +/* E064B0 80241150 468010A1 */ cvt.d.w $f2, $f2 +/* E064B4 80241154 46201082 */ mul.d $f2, $f2, $f0 +/* E064B8 80241158 00000000 */ nop +/* E064BC 8024115C A7A0002E */ sh $zero, 0x2e($sp) +/* E064C0 80241160 240200FF */ addiu $v0, $zero, 0xff +/* E064C4 80241164 A3A20030 */ sb $v0, 0x30($sp) +/* E064C8 80241168 AFA30020 */ sw $v1, 0x20($sp) +/* E064CC 8024116C AFA80024 */ sw $t0, 0x24($sp) +/* E064D0 80241170 A7A90028 */ sh $t1, 0x28($sp) +/* E064D4 80241174 A7AA002A */ sh $t2, 0x2a($sp) +/* E064D8 80241178 46201087 */ neg.d $f2, $f2 +/* E064DC 8024117C 4620110D */ trunc.w.d $f4, $f2 +/* E064E0 80241180 44022000 */ mfc1 $v0, $f4 +/* E064E4 80241184 0C04EBDC */ jal func_8013AF70 +/* E064E8 80241188 A7A2002C */ sh $v0, 0x2c($sp) +/* E064EC 8024118C 3C04D838 */ lui $a0, 0xd838 +/* E064F0 80241190 8E620000 */ lw $v0, ($s3) +/* E064F4 80241194 34840002 */ ori $a0, $a0, 2 +/* E064F8 80241198 0040182D */ daddu $v1, $v0, $zero +/* E064FC 8024119C 24420008 */ addiu $v0, $v0, 8 +/* E06500 802411A0 AE620000 */ sw $v0, ($s3) +/* E06504 802411A4 24020040 */ addiu $v0, $zero, 0x40 +/* E06508 802411A8 AC640000 */ sw $a0, ($v1) +/* E0650C 802411AC AC620004 */ sw $v0, 4($v1) +/* E06510 802411B0 8FBF00A0 */ lw $ra, 0xa0($sp) +/* E06514 802411B4 8FB5009C */ lw $s5, 0x9c($sp) +/* E06518 802411B8 8FB40098 */ lw $s4, 0x98($sp) +/* E0651C 802411BC 8FB30094 */ lw $s3, 0x94($sp) +/* E06520 802411C0 8FB20090 */ lw $s2, 0x90($sp) +/* E06524 802411C4 8FB1008C */ lw $s1, 0x8c($sp) +/* E06528 802411C8 8FB00088 */ lw $s0, 0x88($sp) +/* E0652C 802411CC D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* E06530 802411D0 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* E06534 802411D4 03E00008 */ jr $ra +/* E06538 802411D8 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802411DC.s b/asm/nonmatchings/world/area_end/end_01/func_802411DC.s new file mode 100644 index 0000000000..d03626d82d --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802411DC.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411DC +/* E0653C 802411DC 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* E06540 802411E0 00A0102D */ daddu $v0, $a1, $zero +/* E06544 802411E4 27A30038 */ addiu $v1, $sp, 0x38 +/* E06548 802411E8 AFBF0048 */ sw $ra, 0x48($sp) +/* E0654C 802411EC F7B60058 */ sdc1 $f22, 0x58($sp) +/* E06550 802411F0 F7B40050 */ sdc1 $f20, 0x50($sp) +/* E06554 802411F4 C4540010 */ lwc1 $f20, 0x10($v0) +/* E06558 802411F8 4680A520 */ cvt.s.w $f20, $f20 +/* E0655C 802411FC C4560014 */ lwc1 $f22, 0x14($v0) +/* E06560 80241200 4680B5A0 */ cvt.s.w $f22, $f22 +/* E06564 80241204 AFA30010 */ sw $v1, 0x10($sp) +/* E06568 80241208 8C440004 */ lw $a0, 4($v0) +/* E0656C 8024120C 8C450008 */ lw $a1, 8($v0) +/* E06570 80241210 8C460000 */ lw $a2, ($v0) +/* E06574 80241214 0C04BA38 */ jal func_8012E8E0 +/* E06578 80241218 8C47000C */ lw $a3, 0xc($v0) +/* E0657C 8024121C 4600A00D */ trunc.w.s $f0, $f20 +/* E06580 80241220 44020000 */ mfc1 $v0, $f0 +/* E06584 80241224 93A50040 */ lbu $a1, 0x40($sp) +/* E06588 80241228 93A60041 */ lbu $a2, 0x41($sp) +/* E0658C 8024122C 00021400 */ sll $v0, $v0, 0x10 +/* E06590 80241230 AFA00010 */ sw $zero, 0x10($sp) +/* E06594 80241234 8FA3003C */ lw $v1, 0x3c($sp) +/* E06598 80241238 00021403 */ sra $v0, $v0, 0x10 +/* E0659C 8024123C AFA20018 */ sw $v0, 0x18($sp) +/* E065A0 80241240 4600B00D */ trunc.w.s $f0, $f22 +/* E065A4 80241244 44020000 */ mfc1 $v0, $f0 +/* E065A8 80241248 00000000 */ nop +/* E065AC 8024124C 00021400 */ sll $v0, $v0, 0x10 +/* E065B0 80241250 00021403 */ sra $v0, $v0, 0x10 +/* E065B4 80241254 AFA2001C */ sw $v0, 0x1c($sp) +/* E065B8 80241258 2402000A */ addiu $v0, $zero, 0xa +/* E065BC 8024125C AFA20020 */ sw $v0, 0x20($sp) +/* E065C0 80241260 24020014 */ addiu $v0, $zero, 0x14 +/* E065C4 80241264 AFA20024 */ sw $v0, 0x24($sp) +/* E065C8 80241268 2402012C */ addiu $v0, $zero, 0x12c +/* E065CC 8024126C AFA20028 */ sw $v0, 0x28($sp) +/* E065D0 80241270 240200C8 */ addiu $v0, $zero, 0xc8 +/* E065D4 80241274 AFA2002C */ sw $v0, 0x2c($sp) +/* E065D8 80241278 240200FF */ addiu $v0, $zero, 0xff +/* E065DC 8024127C AFA20030 */ sw $v0, 0x30($sp) +/* E065E0 80241280 AFA30014 */ sw $v1, 0x14($sp) +/* E065E4 80241284 8FA40038 */ lw $a0, 0x38($sp) +/* E065E8 80241288 0C04BA68 */ jal func_8012E9A0 +/* E065EC 8024128C 24070002 */ addiu $a3, $zero, 2 +/* E065F0 80241290 8FBF0048 */ lw $ra, 0x48($sp) +/* E065F4 80241294 D7B60058 */ ldc1 $f22, 0x58($sp) +/* E065F8 80241298 D7B40050 */ ldc1 $f20, 0x50($sp) +/* E065FC 8024129C 03E00008 */ jr $ra +/* E06600 802412A0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802412A4.s b/asm/nonmatchings/world/area_end/end_01/func_802412A4.s new file mode 100644 index 0000000000..3cf2f0211a --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802412A4.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412A4 +/* E06604 802412A4 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* E06608 802412A8 AFB00088 */ sw $s0, 0x88($sp) +/* E0660C 802412AC 00A0802D */ daddu $s0, $a1, $zero +/* E06610 802412B0 AFBF00A0 */ sw $ra, 0xa0($sp) +/* E06614 802412B4 AFB5009C */ sw $s5, 0x9c($sp) +/* E06618 802412B8 AFB40098 */ sw $s4, 0x98($sp) +/* E0661C 802412BC AFB30094 */ sw $s3, 0x94($sp) +/* E06620 802412C0 AFB20090 */ sw $s2, 0x90($sp) +/* E06624 802412C4 AFB1008C */ sw $s1, 0x8c($sp) +/* E06628 802412C8 F7BA00C0 */ sdc1 $f26, 0xc0($sp) +/* E0662C 802412CC F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* E06630 802412D0 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* E06634 802412D4 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* E06638 802412D8 C6140010 */ lwc1 $f20, 0x10($s0) +/* E0663C 802412DC 4680A520 */ cvt.s.w $f20, $f20 +/* E06640 802412E0 4480C000 */ mtc1 $zero, $f24 +/* E06644 802412E4 3C05437F */ lui $a1, 0x437f +/* E06648 802412E8 8C820050 */ lw $v0, 0x50($a0) +/* E0664C 802412EC 4406C000 */ mfc1 $a2, $f24 +/* E06650 802412F0 C61A0014 */ lwc1 $f26, 0x14($s0) +/* E06654 802412F4 4680D6A0 */ cvt.s.w $f26, $f26 +/* E06658 802412F8 AFA20010 */ sw $v0, 0x10($sp) +/* E0665C 802412FC 8E070018 */ lw $a3, 0x18($s0) +/* E06660 80241300 0C00A8ED */ jal update_lerp +/* E06664 80241304 2404000B */ addiu $a0, $zero, 0xb +/* E06668 80241308 4600008D */ trunc.w.s $f2, $f0 +/* E0666C 8024130C E7A20014 */ swc1 $f2, 0x14($sp) +/* E06670 80241310 0000202D */ daddu $a0, $zero, $zero +/* E06674 80241314 24050007 */ addiu $a1, $zero, 7 +/* E06678 80241318 240600FF */ addiu $a2, $zero, 0xff +/* E0667C 8024131C 00C0382D */ daddu $a3, $a2, $zero +/* E06680 80241320 00C0A82D */ daddu $s5, $a2, $zero +/* E06684 80241324 AFB50010 */ sw $s5, 0x10($sp) +/* E06688 80241328 0C04EAA7 */ jal func_8013AA9C +/* E0668C 8024132C AFA00018 */ sw $zero, 0x18($sp) +/* E06690 80241330 27A20038 */ addiu $v0, $sp, 0x38 +/* E06694 80241334 AFA20010 */ sw $v0, 0x10($sp) +/* E06698 80241338 8E040004 */ lw $a0, 4($s0) +/* E0669C 8024133C 8E050008 */ lw $a1, 8($s0) +/* E066A0 80241340 8E060000 */ lw $a2, ($s0) +/* E066A4 80241344 8E07000C */ lw $a3, 0xc($s0) +/* E066A8 80241348 0C04BA38 */ jal func_8012E8E0 +/* E066AC 8024134C 3C140001 */ lui $s4, 1 +/* E066B0 80241350 93A20042 */ lbu $v0, 0x42($sp) +/* E066B4 80241354 3C013FE0 */ lui $at, 0x3fe0 +/* E066B8 80241358 4481B800 */ mtc1 $at, $f23 +/* E066BC 8024135C 4480B000 */ mtc1 $zero, $f22 +/* E066C0 80241360 44820000 */ mtc1 $v0, $f0 +/* E066C4 80241364 00000000 */ nop +/* E066C8 80241368 46800021 */ cvt.d.w $f0, $f0 +/* E066CC 8024136C 46360002 */ mul.d $f0, $f0, $f22 +/* E066D0 80241370 00000000 */ nop +/* E066D4 80241374 36941630 */ ori $s4, $s4, 0x1630 +/* E066D8 80241378 4600A521 */ cvt.d.s $f20, $f20 +/* E066DC 8024137C 27B00048 */ addiu $s0, $sp, 0x48 +/* E066E0 80241380 4600D687 */ neg.s $f26, $f26 +/* E066E4 80241384 4620A500 */ add.d $f20, $f20, $f0 +/* E066E8 80241388 4406D000 */ mfc1 $a2, $f26 +/* E066EC 8024138C 4407C000 */ mfc1 $a3, $f24 +/* E066F0 80241390 4620A520 */ cvt.s.d $f20, $f20 +/* E066F4 80241394 4405A000 */ mfc1 $a1, $f20 +/* E066F8 80241398 0C019E40 */ jal guTranslateF +/* E066FC 8024139C 0200202D */ daddu $a0, $s0, $zero +/* E06700 802413A0 0200202D */ daddu $a0, $s0, $zero +/* E06704 802413A4 3C128007 */ lui $s2, 0x8007 +/* E06708 802413A8 265241F0 */ addiu $s2, $s2, 0x41f0 +/* E0670C 802413AC 3C13800A */ lui $s3, 0x800a +/* E06710 802413B0 2673A674 */ addiu $s3, $s3, -0x598c +/* E06714 802413B4 96450000 */ lhu $a1, ($s2) +/* E06718 802413B8 8E620000 */ lw $v0, ($s3) +/* E0671C 802413BC 00052980 */ sll $a1, $a1, 6 +/* E06720 802413C0 00B42821 */ addu $a1, $a1, $s4 +/* E06724 802413C4 0C019D40 */ jal guMtxF2L +/* E06728 802413C8 00452821 */ addu $a1, $v0, $a1 +/* E0672C 802413CC 3C03DA38 */ lui $v1, 0xda38 +/* E06730 802413D0 34630002 */ ori $v1, $v1, 2 +/* E06734 802413D4 0000202D */ daddu $a0, $zero, $zero +/* E06738 802413D8 27A50020 */ addiu $a1, $sp, 0x20 +/* E0673C 802413DC 3C060001 */ lui $a2, 1 +/* E06740 802413E0 34C60040 */ ori $a2, $a2, 0x40 +/* E06744 802413E4 3C11800A */ lui $s1, 0x800a +/* E06748 802413E8 2631A66C */ addiu $s1, $s1, -0x5994 +/* E0674C 802413EC 0200382D */ daddu $a3, $s0, $zero +/* E06750 802413F0 8E220000 */ lw $v0, ($s1) +/* E06754 802413F4 96480000 */ lhu $t0, ($s2) +/* E06758 802413F8 0040482D */ daddu $t1, $v0, $zero +/* E0675C 802413FC 24420008 */ addiu $v0, $v0, 8 +/* E06760 80241400 AE220000 */ sw $v0, ($s1) +/* E06764 80241404 3102FFFF */ andi $v0, $t0, 0xffff +/* E06768 80241408 00021180 */ sll $v0, $v0, 6 +/* E0676C 8024140C 00541021 */ addu $v0, $v0, $s4 +/* E06770 80241410 AD230000 */ sw $v1, ($t1) +/* E06774 80241414 8E630000 */ lw $v1, ($s3) +/* E06778 80241418 25080001 */ addiu $t0, $t0, 1 +/* E0677C 8024141C 00621821 */ addu $v1, $v1, $v0 +/* E06780 80241420 3C028000 */ lui $v0, 0x8000 +/* E06784 80241424 00621821 */ addu $v1, $v1, $v0 +/* E06788 80241428 AD230004 */ sw $v1, 4($t1) +/* E0678C 8024142C 93A20042 */ lbu $v0, 0x42($sp) +/* E06790 80241430 8FA3003C */ lw $v1, 0x3c($sp) +/* E06794 80241434 93A90040 */ lbu $t1, 0x40($sp) +/* E06798 80241438 93AA0041 */ lbu $t2, 0x41($sp) +/* E0679C 8024143C 44820000 */ mtc1 $v0, $f0 +/* E067A0 80241440 00000000 */ nop +/* E067A4 80241444 46800021 */ cvt.d.w $f0, $f0 +/* E067A8 80241448 8FA20038 */ lw $v0, 0x38($sp) +/* E067AC 8024144C 46360002 */ mul.d $f0, $f0, $f22 +/* E067B0 80241450 00000000 */ nop +/* E067B4 80241454 A6480000 */ sh $t0, ($s2) +/* E067B8 80241458 A7A0002E */ sh $zero, 0x2e($sp) +/* E067BC 8024145C A3B50030 */ sb $s5, 0x30($sp) +/* E067C0 80241460 AFA30024 */ sw $v1, 0x24($sp) +/* E067C4 80241464 A7A90028 */ sh $t1, 0x28($sp) +/* E067C8 80241468 A7AA002A */ sh $t2, 0x2a($sp) +/* E067CC 8024146C AFA20020 */ sw $v0, 0x20($sp) +/* E067D0 80241470 46200007 */ neg.d $f0, $f0 +/* E067D4 80241474 4620008D */ trunc.w.d $f2, $f0 +/* E067D8 80241478 44021000 */ mfc1 $v0, $f2 +/* E067DC 8024147C 0C04EBDC */ jal func_8013AF70 +/* E067E0 80241480 A7A2002C */ sh $v0, 0x2c($sp) +/* E067E4 80241484 3C04D838 */ lui $a0, 0xd838 +/* E067E8 80241488 8E220000 */ lw $v0, ($s1) +/* E067EC 8024148C 34840002 */ ori $a0, $a0, 2 +/* E067F0 80241490 0040182D */ daddu $v1, $v0, $zero +/* E067F4 80241494 24420008 */ addiu $v0, $v0, 8 +/* E067F8 80241498 AE220000 */ sw $v0, ($s1) +/* E067FC 8024149C 24020040 */ addiu $v0, $zero, 0x40 +/* E06800 802414A0 AC640000 */ sw $a0, ($v1) +/* E06804 802414A4 AC620004 */ sw $v0, 4($v1) +/* E06808 802414A8 8FBF00A0 */ lw $ra, 0xa0($sp) +/* E0680C 802414AC 8FB5009C */ lw $s5, 0x9c($sp) +/* E06810 802414B0 8FB40098 */ lw $s4, 0x98($sp) +/* E06814 802414B4 8FB30094 */ lw $s3, 0x94($sp) +/* E06818 802414B8 8FB20090 */ lw $s2, 0x90($sp) +/* E0681C 802414BC 8FB1008C */ lw $s1, 0x8c($sp) +/* E06820 802414C0 8FB00088 */ lw $s0, 0x88($sp) +/* E06824 802414C4 D7BA00C0 */ ldc1 $f26, 0xc0($sp) +/* E06828 802414C8 D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* E0682C 802414CC D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* E06830 802414D0 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* E06834 802414D4 03E00008 */ jr $ra +/* E06838 802414D8 27BD00C8 */ addiu $sp, $sp, 0xc8 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802414DC.s b/asm/nonmatchings/world/area_end/end_01/func_802414DC.s new file mode 100644 index 0000000000..9f6dd99667 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802414DC.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414DC +/* E0683C 802414DC 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* E06840 802414E0 AFB100CC */ sw $s1, 0xcc($sp) +/* E06844 802414E4 0080882D */ daddu $s1, $a0, $zero +/* E06848 802414E8 AFB000C8 */ sw $s0, 0xc8($sp) +/* E0684C 802414EC 00A0802D */ daddu $s0, $a1, $zero +/* E06850 802414F0 AFBF00E0 */ sw $ra, 0xe0($sp) +/* E06854 802414F4 AFB500DC */ sw $s5, 0xdc($sp) +/* E06858 802414F8 AFB400D8 */ sw $s4, 0xd8($sp) +/* E0685C 802414FC AFB300D4 */ sw $s3, 0xd4($sp) +/* E06860 80241500 AFB200D0 */ sw $s2, 0xd0($sp) +/* E06864 80241504 F7BE0110 */ sdc1 $f30, 0x110($sp) +/* E06868 80241508 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* E0686C 8024150C F7BA0100 */ sdc1 $f26, 0x100($sp) +/* E06870 80241510 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* E06874 80241514 F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* E06878 80241518 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* E0687C 8024151C C6140010 */ lwc1 $f20, 0x10($s0) +/* E06880 80241520 4680A520 */ cvt.s.w $f20, $f20 +/* E06884 80241524 4480E000 */ mtc1 $zero, $f28 +/* E06888 80241528 3C05437F */ lui $a1, 0x437f +/* E0688C 8024152C 8E220050 */ lw $v0, 0x50($s1) +/* E06890 80241530 4406E000 */ mfc1 $a2, $f28 +/* E06894 80241534 C61E0014 */ lwc1 $f30, 0x14($s0) +/* E06898 80241538 4680F7A0 */ cvt.s.w $f30, $f30 +/* E0689C 8024153C AFA20010 */ sw $v0, 0x10($sp) +/* E068A0 80241540 8E070018 */ lw $a3, 0x18($s0) +/* E068A4 80241544 0C00A8ED */ jal update_lerp +/* E068A8 80241548 2404000B */ addiu $a0, $zero, 0xb +/* E068AC 8024154C 4600008D */ trunc.w.s $f2, $f0 +/* E068B0 80241550 E7A20014 */ swc1 $f2, 0x14($sp) +/* E068B4 80241554 0000202D */ daddu $a0, $zero, $zero +/* E068B8 80241558 24050007 */ addiu $a1, $zero, 7 +/* E068BC 8024155C 240600FF */ addiu $a2, $zero, 0xff +/* E068C0 80241560 00C0382D */ daddu $a3, $a2, $zero +/* E068C4 80241564 00C0A82D */ daddu $s5, $a2, $zero +/* E068C8 80241568 AFB50010 */ sw $s5, 0x10($sp) +/* E068CC 8024156C 0C04EAA7 */ jal func_8013AA9C +/* E068D0 80241570 AFA00018 */ sw $zero, 0x18($sp) +/* E068D4 80241574 3C013F80 */ lui $at, 0x3f80 +/* E068D8 80241578 4481D000 */ mtc1 $at, $f26 +/* E068DC 8024157C 8E220050 */ lw $v0, 0x50($s1) +/* E068E0 80241580 3C063E4C */ lui $a2, 0x3e4c +/* E068E4 80241584 34C6CCCD */ ori $a2, $a2, 0xcccd +/* E068E8 80241588 4405D000 */ mfc1 $a1, $f26 +/* E068EC 8024158C AFA20010 */ sw $v0, 0x10($sp) +/* E068F0 80241590 8E070018 */ lw $a3, 0x18($s0) +/* E068F4 80241594 0C00A8ED */ jal update_lerp +/* E068F8 80241598 0000202D */ daddu $a0, $zero, $zero +/* E068FC 8024159C 27A20038 */ addiu $v0, $sp, 0x38 +/* E06900 802415A0 AFA20010 */ sw $v0, 0x10($sp) +/* E06904 802415A4 8E040004 */ lw $a0, 4($s0) +/* E06908 802415A8 8E050008 */ lw $a1, 8($s0) +/* E0690C 802415AC 8E060000 */ lw $a2, ($s0) +/* E06910 802415B0 8E07000C */ lw $a3, 0xc($s0) +/* E06914 802415B4 0C04BA38 */ jal func_8012E8E0 +/* E06918 802415B8 46000586 */ mov.s $f22, $f0 +/* E0691C 802415BC 93A20042 */ lbu $v0, 0x42($sp) +/* E06920 802415C0 3C013FE0 */ lui $at, 0x3fe0 +/* E06924 802415C4 4481C800 */ mtc1 $at, $f25 +/* E06928 802415C8 4480C000 */ mtc1 $zero, $f24 +/* E0692C 802415CC 44820000 */ mtc1 $v0, $f0 +/* E06930 802415D0 00000000 */ nop +/* E06934 802415D4 46800021 */ cvt.d.w $f0, $f0 +/* E06938 802415D8 46380002 */ mul.d $f0, $f0, $f24 +/* E0693C 802415DC 00000000 */ nop +/* E06940 802415E0 3C140001 */ lui $s4, 1 +/* E06944 802415E4 36941630 */ ori $s4, $s4, 0x1630 +/* E06948 802415E8 4600A521 */ cvt.d.s $f20, $f20 +/* E0694C 802415EC 27B10048 */ addiu $s1, $sp, 0x48 +/* E06950 802415F0 4600F787 */ neg.s $f30, $f30 +/* E06954 802415F4 4620A500 */ add.d $f20, $f20, $f0 +/* E06958 802415F8 4406F000 */ mfc1 $a2, $f30 +/* E0695C 802415FC 4407E000 */ mfc1 $a3, $f28 +/* E06960 80241600 4620A520 */ cvt.s.d $f20, $f20 +/* E06964 80241604 4405A000 */ mfc1 $a1, $f20 +/* E06968 80241608 0C019E40 */ jal guTranslateF +/* E0696C 8024160C 0220202D */ daddu $a0, $s1, $zero +/* E06970 80241610 27B00088 */ addiu $s0, $sp, 0x88 +/* E06974 80241614 0200202D */ daddu $a0, $s0, $zero +/* E06978 80241618 4405B000 */ mfc1 $a1, $f22 +/* E0697C 8024161C 4407D000 */ mfc1 $a3, $f26 +/* E06980 80241620 0C019DF0 */ jal guScaleF +/* E06984 80241624 00A0302D */ daddu $a2, $a1, $zero +/* E06988 80241628 0200202D */ daddu $a0, $s0, $zero +/* E0698C 8024162C 0220282D */ daddu $a1, $s1, $zero +/* E06990 80241630 0C019D80 */ jal guMtxCatF +/* E06994 80241634 0220302D */ daddu $a2, $s1, $zero +/* E06998 80241638 0220202D */ daddu $a0, $s1, $zero +/* E0699C 8024163C 3C128007 */ lui $s2, 0x8007 +/* E069A0 80241640 265241F0 */ addiu $s2, $s2, 0x41f0 +/* E069A4 80241644 3C13800A */ lui $s3, 0x800a +/* E069A8 80241648 2673A674 */ addiu $s3, $s3, -0x598c +/* E069AC 8024164C 96450000 */ lhu $a1, ($s2) +/* E069B0 80241650 8E620000 */ lw $v0, ($s3) +/* E069B4 80241654 00052980 */ sll $a1, $a1, 6 +/* E069B8 80241658 00B42821 */ addu $a1, $a1, $s4 +/* E069BC 8024165C 0C019D40 */ jal guMtxF2L +/* E069C0 80241660 00452821 */ addu $a1, $v0, $a1 +/* E069C4 80241664 3C03DA38 */ lui $v1, 0xda38 +/* E069C8 80241668 34630002 */ ori $v1, $v1, 2 +/* E069CC 8024166C 0000202D */ daddu $a0, $zero, $zero +/* E069D0 80241670 27A50020 */ addiu $a1, $sp, 0x20 +/* E069D4 80241674 24060040 */ addiu $a2, $zero, 0x40 +/* E069D8 80241678 3C10800A */ lui $s0, 0x800a +/* E069DC 8024167C 2610A66C */ addiu $s0, $s0, -0x5994 +/* E069E0 80241680 0220382D */ daddu $a3, $s1, $zero +/* E069E4 80241684 8E020000 */ lw $v0, ($s0) +/* E069E8 80241688 96480000 */ lhu $t0, ($s2) +/* E069EC 8024168C 0040482D */ daddu $t1, $v0, $zero +/* E069F0 80241690 24420008 */ addiu $v0, $v0, 8 +/* E069F4 80241694 AE020000 */ sw $v0, ($s0) +/* E069F8 80241698 3102FFFF */ andi $v0, $t0, 0xffff +/* E069FC 8024169C 00021180 */ sll $v0, $v0, 6 +/* E06A00 802416A0 00541021 */ addu $v0, $v0, $s4 +/* E06A04 802416A4 AD230000 */ sw $v1, ($t1) +/* E06A08 802416A8 8E630000 */ lw $v1, ($s3) +/* E06A0C 802416AC 25080001 */ addiu $t0, $t0, 1 +/* E06A10 802416B0 00621821 */ addu $v1, $v1, $v0 +/* E06A14 802416B4 3C028000 */ lui $v0, 0x8000 +/* E06A18 802416B8 00621821 */ addu $v1, $v1, $v0 +/* E06A1C 802416BC AD230004 */ sw $v1, 4($t1) +/* E06A20 802416C0 93A20042 */ lbu $v0, 0x42($sp) +/* E06A24 802416C4 8FA3003C */ lw $v1, 0x3c($sp) +/* E06A28 802416C8 93A90040 */ lbu $t1, 0x40($sp) +/* E06A2C 802416CC 93AA0041 */ lbu $t2, 0x41($sp) +/* E06A30 802416D0 44820000 */ mtc1 $v0, $f0 +/* E06A34 802416D4 00000000 */ nop +/* E06A38 802416D8 46800021 */ cvt.d.w $f0, $f0 +/* E06A3C 802416DC 8FA20038 */ lw $v0, 0x38($sp) +/* E06A40 802416E0 46380002 */ mul.d $f0, $f0, $f24 +/* E06A44 802416E4 00000000 */ nop +/* E06A48 802416E8 A6480000 */ sh $t0, ($s2) +/* E06A4C 802416EC A7A0002E */ sh $zero, 0x2e($sp) +/* E06A50 802416F0 A3B50030 */ sb $s5, 0x30($sp) +/* E06A54 802416F4 AFA30024 */ sw $v1, 0x24($sp) +/* E06A58 802416F8 A7A90028 */ sh $t1, 0x28($sp) +/* E06A5C 802416FC A7AA002A */ sh $t2, 0x2a($sp) +/* E06A60 80241700 AFA20020 */ sw $v0, 0x20($sp) +/* E06A64 80241704 46200007 */ neg.d $f0, $f0 +/* E06A68 80241708 4620008D */ trunc.w.d $f2, $f0 +/* E06A6C 8024170C 44021000 */ mfc1 $v0, $f2 +/* E06A70 80241710 0C04EBDC */ jal func_8013AF70 +/* E06A74 80241714 A7A2002C */ sh $v0, 0x2c($sp) +/* E06A78 80241718 3C04D838 */ lui $a0, 0xd838 +/* E06A7C 8024171C 8E020000 */ lw $v0, ($s0) +/* E06A80 80241720 34840002 */ ori $a0, $a0, 2 +/* E06A84 80241724 0040182D */ daddu $v1, $v0, $zero +/* E06A88 80241728 24420008 */ addiu $v0, $v0, 8 +/* E06A8C 8024172C AE020000 */ sw $v0, ($s0) +/* E06A90 80241730 24020040 */ addiu $v0, $zero, 0x40 +/* E06A94 80241734 AC640000 */ sw $a0, ($v1) +/* E06A98 80241738 AC620004 */ sw $v0, 4($v1) +/* E06A9C 8024173C 8FBF00E0 */ lw $ra, 0xe0($sp) +/* E06AA0 80241740 8FB500DC */ lw $s5, 0xdc($sp) +/* E06AA4 80241744 8FB400D8 */ lw $s4, 0xd8($sp) +/* E06AA8 80241748 8FB300D4 */ lw $s3, 0xd4($sp) +/* E06AAC 8024174C 8FB200D0 */ lw $s2, 0xd0($sp) +/* E06AB0 80241750 8FB100CC */ lw $s1, 0xcc($sp) +/* E06AB4 80241754 8FB000C8 */ lw $s0, 0xc8($sp) +/* E06AB8 80241758 D7BE0110 */ ldc1 $f30, 0x110($sp) +/* E06ABC 8024175C D7BC0108 */ ldc1 $f28, 0x108($sp) +/* E06AC0 80241760 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* E06AC4 80241764 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* E06AC8 80241768 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* E06ACC 8024176C D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* E06AD0 80241770 03E00008 */ jr $ra +/* E06AD4 80241774 27BD0118 */ addiu $sp, $sp, 0x118 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80241778.s b/asm/nonmatchings/world/area_end/end_01/func_80241778.s new file mode 100644 index 0000000000..9c5db554bf --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80241778.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241778 +/* E06AD8 80241778 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* E06ADC 8024177C AFB100CC */ sw $s1, 0xcc($sp) +/* E06AE0 80241780 0080882D */ daddu $s1, $a0, $zero +/* E06AE4 80241784 AFB000C8 */ sw $s0, 0xc8($sp) +/* E06AE8 80241788 00A0802D */ daddu $s0, $a1, $zero +/* E06AEC 8024178C AFBF00E0 */ sw $ra, 0xe0($sp) +/* E06AF0 80241790 AFB500DC */ sw $s5, 0xdc($sp) +/* E06AF4 80241794 AFB400D8 */ sw $s4, 0xd8($sp) +/* E06AF8 80241798 AFB300D4 */ sw $s3, 0xd4($sp) +/* E06AFC 8024179C AFB200D0 */ sw $s2, 0xd0($sp) +/* E06B00 802417A0 F7BC0108 */ sdc1 $f28, 0x108($sp) +/* E06B04 802417A4 F7BA0100 */ sdc1 $f26, 0x100($sp) +/* E06B08 802417A8 F7B800F8 */ sdc1 $f24, 0xf8($sp) +/* E06B0C 802417AC F7B600F0 */ sdc1 $f22, 0xf0($sp) +/* E06B10 802417B0 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* E06B14 802417B4 C6140010 */ lwc1 $f20, 0x10($s0) +/* E06B18 802417B8 4680A520 */ cvt.s.w $f20, $f20 +/* E06B1C 802417BC 4480B000 */ mtc1 $zero, $f22 +/* E06B20 802417C0 3C05437F */ lui $a1, 0x437f +/* E06B24 802417C4 8E220050 */ lw $v0, 0x50($s1) +/* E06B28 802417C8 4406B000 */ mfc1 $a2, $f22 +/* E06B2C 802417CC C61C0014 */ lwc1 $f28, 0x14($s0) +/* E06B30 802417D0 4680E720 */ cvt.s.w $f28, $f28 +/* E06B34 802417D4 AFA20010 */ sw $v0, 0x10($sp) +/* E06B38 802417D8 8E070018 */ lw $a3, 0x18($s0) +/* E06B3C 802417DC 0C00A8ED */ jal update_lerp +/* E06B40 802417E0 2404000B */ addiu $a0, $zero, 0xb +/* E06B44 802417E4 4600008D */ trunc.w.s $f2, $f0 +/* E06B48 802417E8 E7A20014 */ swc1 $f2, 0x14($sp) +/* E06B4C 802417EC 0000202D */ daddu $a0, $zero, $zero +/* E06B50 802417F0 24050007 */ addiu $a1, $zero, 7 +/* E06B54 802417F4 240600FF */ addiu $a2, $zero, 0xff +/* E06B58 802417F8 00C0382D */ daddu $a3, $a2, $zero +/* E06B5C 802417FC 00C0A82D */ daddu $s5, $a2, $zero +/* E06B60 80241800 AFB50010 */ sw $s5, 0x10($sp) +/* E06B64 80241804 0C04EAA7 */ jal func_8013AA9C +/* E06B68 80241808 AFA00018 */ sw $zero, 0x18($sp) +/* E06B6C 8024180C 8E220050 */ lw $v0, 0x50($s1) +/* E06B70 80241810 4405B000 */ mfc1 $a1, $f22 +/* E06B74 80241814 3C064270 */ lui $a2, 0x4270 +/* E06B78 80241818 AFA20010 */ sw $v0, 0x10($sp) +/* E06B7C 8024181C 8E070018 */ lw $a3, 0x18($s0) +/* E06B80 80241820 0C00A8ED */ jal update_lerp +/* E06B84 80241824 0000202D */ daddu $a0, $zero, $zero +/* E06B88 80241828 27A20038 */ addiu $v0, $sp, 0x38 +/* E06B8C 8024182C AFA20010 */ sw $v0, 0x10($sp) +/* E06B90 80241830 8E040004 */ lw $a0, 4($s0) +/* E06B94 80241834 8E050008 */ lw $a1, 8($s0) +/* E06B98 80241838 8E060000 */ lw $a2, ($s0) +/* E06B9C 8024183C 8E07000C */ lw $a3, 0xc($s0) +/* E06BA0 80241840 0C04BA38 */ jal func_8012E8E0 +/* E06BA4 80241844 46000606 */ mov.s $f24, $f0 +/* E06BA8 80241848 93A20042 */ lbu $v0, 0x42($sp) +/* E06BAC 8024184C 3C013FE0 */ lui $at, 0x3fe0 +/* E06BB0 80241850 4481D800 */ mtc1 $at, $f27 +/* E06BB4 80241854 4480D000 */ mtc1 $zero, $f26 +/* E06BB8 80241858 44820000 */ mtc1 $v0, $f0 +/* E06BBC 8024185C 00000000 */ nop +/* E06BC0 80241860 46800021 */ cvt.d.w $f0, $f0 +/* E06BC4 80241864 463A0002 */ mul.d $f0, $f0, $f26 +/* E06BC8 80241868 00000000 */ nop +/* E06BCC 8024186C 3C140001 */ lui $s4, 1 +/* E06BD0 80241870 36941630 */ ori $s4, $s4, 0x1630 +/* E06BD4 80241874 4600A521 */ cvt.d.s $f20, $f20 +/* E06BD8 80241878 27B10048 */ addiu $s1, $sp, 0x48 +/* E06BDC 8024187C 4600E707 */ neg.s $f28, $f28 +/* E06BE0 80241880 4620A500 */ add.d $f20, $f20, $f0 +/* E06BE4 80241884 4406E000 */ mfc1 $a2, $f28 +/* E06BE8 80241888 4407B000 */ mfc1 $a3, $f22 +/* E06BEC 8024188C 4620A520 */ cvt.s.d $f20, $f20 +/* E06BF0 80241890 4405A000 */ mfc1 $a1, $f20 +/* E06BF4 80241894 0C019E40 */ jal guTranslateF +/* E06BF8 80241898 0220202D */ daddu $a0, $s1, $zero +/* E06BFC 8024189C 27B00088 */ addiu $s0, $sp, 0x88 +/* E06C00 802418A0 4405C000 */ mfc1 $a1, $f24 +/* E06C04 802418A4 4406B000 */ mfc1 $a2, $f22 +/* E06C08 802418A8 3C073F80 */ lui $a3, 0x3f80 +/* E06C0C 802418AC 0200202D */ daddu $a0, $s0, $zero +/* E06C10 802418B0 0C019EC8 */ jal guRotateF +/* E06C14 802418B4 AFA60010 */ sw $a2, 0x10($sp) +/* E06C18 802418B8 0200202D */ daddu $a0, $s0, $zero +/* E06C1C 802418BC 0220282D */ daddu $a1, $s1, $zero +/* E06C20 802418C0 0C019D80 */ jal guMtxCatF +/* E06C24 802418C4 0220302D */ daddu $a2, $s1, $zero +/* E06C28 802418C8 0220202D */ daddu $a0, $s1, $zero +/* E06C2C 802418CC 3C128007 */ lui $s2, 0x8007 +/* E06C30 802418D0 265241F0 */ addiu $s2, $s2, 0x41f0 +/* E06C34 802418D4 3C13800A */ lui $s3, 0x800a +/* E06C38 802418D8 2673A674 */ addiu $s3, $s3, -0x598c +/* E06C3C 802418DC 96450000 */ lhu $a1, ($s2) +/* E06C40 802418E0 8E620000 */ lw $v0, ($s3) +/* E06C44 802418E4 00052980 */ sll $a1, $a1, 6 +/* E06C48 802418E8 00B42821 */ addu $a1, $a1, $s4 +/* E06C4C 802418EC 0C019D40 */ jal guMtxF2L +/* E06C50 802418F0 00452821 */ addu $a1, $v0, $a1 +/* E06C54 802418F4 3C03DA38 */ lui $v1, 0xda38 +/* E06C58 802418F8 34630002 */ ori $v1, $v1, 2 +/* E06C5C 802418FC 0000202D */ daddu $a0, $zero, $zero +/* E06C60 80241900 27A50020 */ addiu $a1, $sp, 0x20 +/* E06C64 80241904 3C060001 */ lui $a2, 1 +/* E06C68 80241908 34C60040 */ ori $a2, $a2, 0x40 +/* E06C6C 8024190C 3C10800A */ lui $s0, 0x800a +/* E06C70 80241910 2610A66C */ addiu $s0, $s0, -0x5994 +/* E06C74 80241914 0220382D */ daddu $a3, $s1, $zero +/* E06C78 80241918 8E020000 */ lw $v0, ($s0) +/* E06C7C 8024191C 96480000 */ lhu $t0, ($s2) +/* E06C80 80241920 0040482D */ daddu $t1, $v0, $zero +/* E06C84 80241924 24420008 */ addiu $v0, $v0, 8 +/* E06C88 80241928 AE020000 */ sw $v0, ($s0) +/* E06C8C 8024192C 3102FFFF */ andi $v0, $t0, 0xffff +/* E06C90 80241930 00021180 */ sll $v0, $v0, 6 +/* E06C94 80241934 00541021 */ addu $v0, $v0, $s4 +/* E06C98 80241938 AD230000 */ sw $v1, ($t1) +/* E06C9C 8024193C 8E630000 */ lw $v1, ($s3) +/* E06CA0 80241940 25080001 */ addiu $t0, $t0, 1 +/* E06CA4 80241944 00621821 */ addu $v1, $v1, $v0 +/* E06CA8 80241948 3C028000 */ lui $v0, 0x8000 +/* E06CAC 8024194C 00621821 */ addu $v1, $v1, $v0 +/* E06CB0 80241950 AD230004 */ sw $v1, 4($t1) +/* E06CB4 80241954 93A20042 */ lbu $v0, 0x42($sp) +/* E06CB8 80241958 8FA3003C */ lw $v1, 0x3c($sp) +/* E06CBC 8024195C 93A90040 */ lbu $t1, 0x40($sp) +/* E06CC0 80241960 93AA0041 */ lbu $t2, 0x41($sp) +/* E06CC4 80241964 44820000 */ mtc1 $v0, $f0 +/* E06CC8 80241968 00000000 */ nop +/* E06CCC 8024196C 46800021 */ cvt.d.w $f0, $f0 +/* E06CD0 80241970 8FA20038 */ lw $v0, 0x38($sp) +/* E06CD4 80241974 463A0002 */ mul.d $f0, $f0, $f26 +/* E06CD8 80241978 00000000 */ nop +/* E06CDC 8024197C A6480000 */ sh $t0, ($s2) +/* E06CE0 80241980 A7A0002E */ sh $zero, 0x2e($sp) +/* E06CE4 80241984 A3B50030 */ sb $s5, 0x30($sp) +/* E06CE8 80241988 AFA30024 */ sw $v1, 0x24($sp) +/* E06CEC 8024198C A7A90028 */ sh $t1, 0x28($sp) +/* E06CF0 80241990 A7AA002A */ sh $t2, 0x2a($sp) +/* E06CF4 80241994 AFA20020 */ sw $v0, 0x20($sp) +/* E06CF8 80241998 46200007 */ neg.d $f0, $f0 +/* E06CFC 8024199C 4620008D */ trunc.w.d $f2, $f0 +/* E06D00 802419A0 44021000 */ mfc1 $v0, $f2 +/* E06D04 802419A4 0C04EBDC */ jal func_8013AF70 +/* E06D08 802419A8 A7A2002C */ sh $v0, 0x2c($sp) +/* E06D0C 802419AC 3C04D838 */ lui $a0, 0xd838 +/* E06D10 802419B0 8E020000 */ lw $v0, ($s0) +/* E06D14 802419B4 34840002 */ ori $a0, $a0, 2 +/* E06D18 802419B8 0040182D */ daddu $v1, $v0, $zero +/* E06D1C 802419BC 24420008 */ addiu $v0, $v0, 8 +/* E06D20 802419C0 AE020000 */ sw $v0, ($s0) +/* E06D24 802419C4 24020040 */ addiu $v0, $zero, 0x40 +/* E06D28 802419C8 AC640000 */ sw $a0, ($v1) +/* E06D2C 802419CC AC620004 */ sw $v0, 4($v1) +/* E06D30 802419D0 8FBF00E0 */ lw $ra, 0xe0($sp) +/* E06D34 802419D4 8FB500DC */ lw $s5, 0xdc($sp) +/* E06D38 802419D8 8FB400D8 */ lw $s4, 0xd8($sp) +/* E06D3C 802419DC 8FB300D4 */ lw $s3, 0xd4($sp) +/* E06D40 802419E0 8FB200D0 */ lw $s2, 0xd0($sp) +/* E06D44 802419E4 8FB100CC */ lw $s1, 0xcc($sp) +/* E06D48 802419E8 8FB000C8 */ lw $s0, 0xc8($sp) +/* E06D4C 802419EC D7BC0108 */ ldc1 $f28, 0x108($sp) +/* E06D50 802419F0 D7BA0100 */ ldc1 $f26, 0x100($sp) +/* E06D54 802419F4 D7B800F8 */ ldc1 $f24, 0xf8($sp) +/* E06D58 802419F8 D7B600F0 */ ldc1 $f22, 0xf0($sp) +/* E06D5C 802419FC D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* E06D60 80241A00 03E00008 */ jr $ra +/* E06D64 80241A04 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80241A08_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80241A08_E05360.s new file mode 100644 index 0000000000..95843426e9 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80241A08_E05360.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A08_E06D68 +/* E06D68 80241A08 27BDFF90 */ addiu $sp, $sp, -0x70 +/* E06D6C 80241A0C AFB00048 */ sw $s0, 0x48($sp) +/* E06D70 80241A10 00A0802D */ daddu $s0, $a1, $zero +/* E06D74 80241A14 AFBF0050 */ sw $ra, 0x50($sp) +/* E06D78 80241A18 AFB1004C */ sw $s1, 0x4c($sp) +/* E06D7C 80241A1C F7B80068 */ sdc1 $f24, 0x68($sp) +/* E06D80 80241A20 F7B60060 */ sdc1 $f22, 0x60($sp) +/* E06D84 80241A24 F7B40058 */ sdc1 $f20, 0x58($sp) +/* E06D88 80241A28 8C820050 */ lw $v0, 0x50($a0) +/* E06D8C 80241A2C 2404000B */ addiu $a0, $zero, 0xb +/* E06D90 80241A30 0000302D */ daddu $a2, $zero, $zero +/* E06D94 80241A34 C6140010 */ lwc1 $f20, 0x10($s0) +/* E06D98 80241A38 4680A520 */ cvt.s.w $f20, $f20 +/* E06D9C 80241A3C 3C05437F */ lui $a1, 0x437f +/* E06DA0 80241A40 C6160014 */ lwc1 $f22, 0x14($s0) +/* E06DA4 80241A44 4680B5A0 */ cvt.s.w $f22, $f22 +/* E06DA8 80241A48 AFA20010 */ sw $v0, 0x10($sp) +/* E06DAC 80241A4C 8E070018 */ lw $a3, 0x18($s0) +/* E06DB0 80241A50 0C00A8ED */ jal update_lerp +/* E06DB4 80241A54 27B10038 */ addiu $s1, $sp, 0x38 +/* E06DB8 80241A58 AFB10010 */ sw $s1, 0x10($sp) +/* E06DBC 80241A5C 8E040004 */ lw $a0, 4($s0) +/* E06DC0 80241A60 8E050008 */ lw $a1, 8($s0) +/* E06DC4 80241A64 8E060000 */ lw $a2, ($s0) +/* E06DC8 80241A68 8E07000C */ lw $a3, 0xc($s0) +/* E06DCC 80241A6C 0C04BA38 */ jal func_8012E8E0 +/* E06DD0 80241A70 46000606 */ mov.s $f24, $f0 +/* E06DD4 80241A74 4600A08D */ trunc.w.s $f2, $f20 +/* E06DD8 80241A78 44021000 */ mfc1 $v0, $f2 +/* E06DDC 80241A7C 93A50040 */ lbu $a1, 0x40($sp) +/* E06DE0 80241A80 93A60041 */ lbu $a2, 0x41($sp) +/* E06DE4 80241A84 00021400 */ sll $v0, $v0, 0x10 +/* E06DE8 80241A88 AFA00010 */ sw $zero, 0x10($sp) +/* E06DEC 80241A8C 8FA3003C */ lw $v1, 0x3c($sp) +/* E06DF0 80241A90 00021403 */ sra $v0, $v0, 0x10 +/* E06DF4 80241A94 AFA20018 */ sw $v0, 0x18($sp) +/* E06DF8 80241A98 4600B08D */ trunc.w.s $f2, $f22 +/* E06DFC 80241A9C 44021000 */ mfc1 $v0, $f2 +/* E06E00 80241AA0 00000000 */ nop +/* E06E04 80241AA4 00021400 */ sll $v0, $v0, 0x10 +/* E06E08 80241AA8 3C014F00 */ lui $at, 0x4f00 +/* E06E0C 80241AAC 44810000 */ mtc1 $at, $f0 +/* E06E10 80241AB0 00021403 */ sra $v0, $v0, 0x10 +/* E06E14 80241AB4 AFA2001C */ sw $v0, 0x1c($sp) +/* E06E18 80241AB8 2402000A */ addiu $v0, $zero, 0xa +/* E06E1C 80241ABC AFA20020 */ sw $v0, 0x20($sp) +/* E06E20 80241AC0 24020014 */ addiu $v0, $zero, 0x14 +/* E06E24 80241AC4 AFA20024 */ sw $v0, 0x24($sp) +/* E06E28 80241AC8 2402012C */ addiu $v0, $zero, 0x12c +/* E06E2C 80241ACC AFA20028 */ sw $v0, 0x28($sp) +/* E06E30 80241AD0 240200C8 */ addiu $v0, $zero, 0xc8 +/* E06E34 80241AD4 AFA2002C */ sw $v0, 0x2c($sp) +/* E06E38 80241AD8 4618003E */ c.le.s $f0, $f24 +/* E06E3C 80241ADC 00000000 */ nop +/* E06E40 80241AE0 45010005 */ bc1t .L80241AF8 +/* E06E44 80241AE4 AFA30014 */ sw $v1, 0x14($sp) +/* E06E48 80241AE8 4600C08D */ trunc.w.s $f2, $f24 +/* E06E4C 80241AEC 44031000 */ mfc1 $v1, $f2 +/* E06E50 80241AF0 080906C5 */ j .L80241B14 +/* E06E54 80241AF4 306200FF */ andi $v0, $v1, 0xff +.L80241AF8: +/* E06E58 80241AF8 4600C001 */ sub.s $f0, $f24, $f0 +/* E06E5C 80241AFC 3C028000 */ lui $v0, 0x8000 +/* E06E60 80241B00 4600008D */ trunc.w.s $f2, $f0 +/* E06E64 80241B04 44031000 */ mfc1 $v1, $f2 +/* E06E68 80241B08 00000000 */ nop +/* E06E6C 80241B0C 00621825 */ or $v1, $v1, $v0 +/* E06E70 80241B10 306200FF */ andi $v0, $v1, 0xff +.L80241B14: +/* E06E74 80241B14 AFA20030 */ sw $v0, 0x30($sp) +/* E06E78 80241B18 8E240000 */ lw $a0, ($s1) +/* E06E7C 80241B1C 0C04BA68 */ jal func_8012E9A0 +/* E06E80 80241B20 24070002 */ addiu $a3, $zero, 2 +/* E06E84 80241B24 8FBF0050 */ lw $ra, 0x50($sp) +/* E06E88 80241B28 8FB1004C */ lw $s1, 0x4c($sp) +/* E06E8C 80241B2C 8FB00048 */ lw $s0, 0x48($sp) +/* E06E90 80241B30 D7B80068 */ ldc1 $f24, 0x68($sp) +/* E06E94 80241B34 D7B60060 */ ldc1 $f22, 0x60($sp) +/* E06E98 80241B38 D7B40058 */ ldc1 $f20, 0x58($sp) +/* E06E9C 80241B3C 03E00008 */ jr $ra +/* E06EA0 80241B40 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80241B44.s b/asm/nonmatchings/world/area_end/end_01/func_80241B44.s new file mode 100644 index 0000000000..84c3d34889 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80241B44.s @@ -0,0 +1,470 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B44 +/* E06EA4 80241B44 27BDFF80 */ addiu $sp, $sp, -0x80 +/* E06EA8 80241B48 AFB30064 */ sw $s3, 0x64($sp) +/* E06EAC 80241B4C 0080982D */ daddu $s3, $a0, $zero +/* E06EB0 80241B50 AFBE0078 */ sw $fp, 0x78($sp) +/* E06EB4 80241B54 0000F02D */ daddu $fp, $zero, $zero +/* E06EB8 80241B58 AFBF007C */ sw $ra, 0x7c($sp) +/* E06EBC 80241B5C AFB70074 */ sw $s7, 0x74($sp) +/* E06EC0 80241B60 AFB60070 */ sw $s6, 0x70($sp) +/* E06EC4 80241B64 AFB5006C */ sw $s5, 0x6c($sp) +/* E06EC8 80241B68 AFB40068 */ sw $s4, 0x68($sp) +/* E06ECC 80241B6C AFB20060 */ sw $s2, 0x60($sp) +/* E06ED0 80241B70 AFB1005C */ sw $s1, 0x5c($sp) +/* E06ED4 80241B74 AFB00058 */ sw $s0, 0x58($sp) +/* E06ED8 80241B78 96630070 */ lhu $v1, 0x70($s3) +/* E06EDC 80241B7C 30620002 */ andi $v0, $v1, 2 +/* E06EE0 80241B80 10400005 */ beqz $v0, .L80241B98 +/* E06EE4 80241B84 27B00020 */ addiu $s0, $sp, 0x20 +/* E06EE8 80241B88 3062FFFD */ andi $v0, $v1, 0xfffd +/* E06EEC 80241B8C A6620070 */ sh $v0, 0x70($s3) +/* E06EF0 80241B90 AE600008 */ sw $zero, 8($s3) +/* E06EF4 80241B94 AE60000C */ sw $zero, 0xc($s3) +.L80241B98: +/* E06EF8 80241B98 27A50040 */ addiu $a1, $sp, 0x40 +/* E06EFC 80241B9C 27A60044 */ addiu $a2, $sp, 0x44 +/* E06F00 80241BA0 27A70048 */ addiu $a3, $sp, 0x48 +/* E06F04 80241BA4 0000882D */ daddu $s1, $zero, $zero +/* E06F08 80241BA8 AFA00010 */ sw $zero, 0x10($sp) +/* E06F0C 80241BAC AFA00014 */ sw $zero, 0x14($sp) +/* E06F10 80241BB0 AFA00018 */ sw $zero, 0x18($sp) +/* E06F14 80241BB4 AFA0001C */ sw $zero, 0x1c($sp) +/* E06F18 80241BB8 8E640000 */ lw $a0, ($s3) +/* E06F1C 80241BBC 0C0497DA */ jal get_string_properties +/* E06F20 80241BC0 24170008 */ addiu $s7, $zero, 8 +/* E06F24 80241BC4 24020001 */ addiu $v0, $zero, 1 +/* E06F28 80241BC8 AFA00024 */ sw $zero, 0x24($sp) +/* E06F2C 80241BCC AFA00028 */ sw $zero, 0x28($sp) +/* E06F30 80241BD0 AFA20044 */ sw $v0, 0x44($sp) +.L80241BD4: +/* E06F34 80241BD4 8E620000 */ lw $v0, ($s3) +/* E06F38 80241BD8 00511821 */ addu $v1, $v0, $s1 +/* E06F3C 80241BDC 26310001 */ addiu $s1, $s1, 1 +/* E06F40 80241BE0 00511021 */ addu $v0, $v0, $s1 +/* E06F44 80241BE4 90740000 */ lbu $s4, ($v1) +/* E06F48 80241BE8 90550000 */ lbu $s5, ($v0) +/* E06F4C 80241BEC 2684FF10 */ addiu $a0, $s4, -0xf0 +/* E06F50 80241BF0 2C830010 */ sltiu $v1, $a0, 0x10 +/* E06F54 80241BF4 10600017 */ beqz $v1, .L80241C54 +/* E06F58 80241BF8 0000B02D */ daddu $s6, $zero, $zero +/* E06F5C 80241BFC 00041080 */ sll $v0, $a0, 2 +/* E06F60 80241C00 3C098025 */ lui $t1, 0x8025 +/* E06F64 80241C04 252993A0 */ addiu $t1, $t1, -0x6c60 +/* E06F68 80241C08 00491021 */ addu $v0, $v0, $t1 +/* E06F6C 80241C0C 8C420000 */ lw $v0, ($v0) +/* E06F70 80241C10 00400008 */ jr $v0 +/* E06F74 80241C14 00000000 */ nop +/* E06F78 80241C18 2682FF0D */ addiu $v0, $s4, -0xf3 +/* E06F7C 80241C1C 08090747 */ j .L80241D1C +/* E06F80 80241C20 AE020008 */ sw $v0, 8($s0) +/* E06F84 80241C24 08090747 */ j .L80241D1C +/* E06F88 80241C28 24160001 */ addiu $s6, $zero, 1 +/* E06F8C 80241C2C 8E630000 */ lw $v1, ($s3) +/* E06F90 80241C30 00711021 */ addu $v0, $v1, $s1 +/* E06F94 80241C34 90420000 */ lbu $v0, ($v0) +/* E06F98 80241C38 14400038 */ bnez $v0, .L80241D1C +/* E06F9C 80241C3C 26310001 */ addiu $s1, $s1, 1 +/* E06FA0 80241C40 00711021 */ addu $v0, $v1, $s1 +/* E06FA4 80241C44 90420000 */ lbu $v0, ($v0) +/* E06FA8 80241C48 26310001 */ addiu $s1, $s1, 1 +/* E06FAC 80241C4C 08090747 */ j .L80241D1C +/* E06FB0 80241C50 AE020004 */ sw $v0, 4($s0) +.L80241C54: +/* E06FB4 80241C54 24020001 */ addiu $v0, $zero, 1 +/* E06FB8 80241C58 329200FF */ andi $s2, $s4, 0xff +/* E06FBC 80241C5C AFA00010 */ sw $zero, 0x10($sp) +/* E06FC0 80241C60 AFA20014 */ sw $v0, 0x14($sp) +/* E06FC4 80241C64 8E050004 */ lw $a1, 4($s0) +/* E06FC8 80241C68 8E060008 */ lw $a2, 8($s0) +/* E06FCC 80241C6C 3C073F80 */ lui $a3, 0x3f80 +/* E06FD0 80241C70 0C049721 */ jal func_80125C84 +/* E06FD4 80241C74 0240202D */ daddu $a0, $s2, $zero +/* E06FD8 80241C78 8FA30044 */ lw $v1, 0x44($sp) +/* E06FDC 80241C7C 8E040004 */ lw $a0, 4($s0) +/* E06FE0 80241C80 2463FFFF */ addiu $v1, $v1, -1 +/* E06FE4 80241C84 00621821 */ addu $v1, $v1, $v0 +/* E06FE8 80241C88 2482FFFD */ addiu $v0, $a0, -3 +/* E06FEC 80241C8C 2C420002 */ sltiu $v0, $v0, 2 +/* E06FF0 80241C90 10400022 */ beqz $v0, .L80241D1C +/* E06FF4 80241C94 AFA30044 */ sw $v1, 0x44($sp) +/* E06FF8 80241C98 3C058024 */ lui $a1, 0x8024 +/* E06FFC 80241C9C 24A53178 */ addiu $a1, $a1, 0x3178 +/* E07000 80241CA0 24090004 */ addiu $t1, $zero, 4 +/* E07004 80241CA4 14890003 */ bne $a0, $t1, .L80241CB4 +/* E07008 80241CA8 00000000 */ nop +/* E0700C 80241CAC 3C058024 */ lui $a1, 0x8024 +/* E07010 80241CB0 24A53110 */ addiu $a1, $a1, 0x3110 +.L80241CB4: +/* E07014 80241CB4 14890007 */ bne $a0, $t1, .L80241CD4 +/* E07018 80241CB8 0000302D */ daddu $a2, $zero, $zero +/* E0701C 80241CBC 12570004 */ beq $s2, $s7, .L80241CD0 +/* E07020 80241CC0 24620001 */ addiu $v0, $v1, 1 +/* E07024 80241CC4 16B70004 */ bne $s5, $s7, .L80241CD8 +/* E07028 80241CC8 328800FF */ andi $t0, $s4, 0xff +/* E0702C 80241CCC 24620001 */ addiu $v0, $v1, 1 +.L80241CD0: +/* E07030 80241CD0 AFA20044 */ sw $v0, 0x44($sp) +.L80241CD4: +/* E07034 80241CD4 328800FF */ andi $t0, $s4, 0xff +.L80241CD8: +/* E07038 80241CD8 32A7FFFF */ andi $a3, $s5, 0xffff +/* E0703C 80241CDC 00061080 */ sll $v0, $a2, 2 +/* E07040 80241CE0 00452021 */ addu $a0, $v0, $a1 +.L80241CE4: +/* E07044 80241CE4 90820000 */ lbu $v0, ($a0) +/* E07048 80241CE8 55020009 */ bnel $t0, $v0, .L80241D10 +/* E0704C 80241CEC 24840004 */ addiu $a0, $a0, 4 +/* E07050 80241CF0 90820001 */ lbu $v0, 1($a0) +/* E07054 80241CF4 54E20006 */ bnel $a3, $v0, .L80241D10 +/* E07058 80241CF8 24840004 */ addiu $a0, $a0, 4 +/* E0705C 80241CFC 84830002 */ lh $v1, 2($a0) +/* E07060 80241D00 8FA20044 */ lw $v0, 0x44($sp) +/* E07064 80241D04 00431021 */ addu $v0, $v0, $v1 +/* E07068 80241D08 AFA20044 */ sw $v0, 0x44($sp) +/* E0706C 80241D0C 24840004 */ addiu $a0, $a0, 4 +.L80241D10: +/* E07070 80241D10 84820002 */ lh $v0, 2($a0) +/* E07074 80241D14 1440FFF3 */ bnez $v0, .L80241CE4 +/* E07078 80241D18 00000000 */ nop +.L80241D1C: +/* E0707C 80241D1C 32C2FFFF */ andi $v0, $s6, 0xffff +/* E07080 80241D20 1040FFAC */ beqz $v0, .L80241BD4 +/* E07084 80241D24 00000000 */ nop +/* E07088 80241D28 96620070 */ lhu $v0, 0x70($s3) +/* E0708C 80241D2C 8FA30044 */ lw $v1, 0x44($sp) +/* E07090 80241D30 30420001 */ andi $v0, $v0, 1 +/* E07094 80241D34 10400015 */ beqz $v0, .L80241D8C +/* E07098 80241D38 AE630014 */ sw $v1, 0x14($s3) +/* E0709C 80241D3C 44831000 */ mtc1 $v1, $f2 +/* E070A0 80241D40 00000000 */ nop +/* E070A4 80241D44 468010A0 */ cvt.s.w $f2, $f2 +/* E070A8 80241D48 3C013FE0 */ lui $at, 0x3fe0 +/* E070AC 80241D4C 44810800 */ mtc1 $at, $f1 +/* E070B0 80241D50 44800000 */ mtc1 $zero, $f0 +/* E070B4 80241D54 460010A1 */ cvt.d.s $f2, $f2 +/* E070B8 80241D58 46201082 */ mul.d $f2, $f2, $f0 +/* E070BC 80241D5C 00000000 */ nop +/* E070C0 80241D60 44800000 */ mtc1 $zero, $f0 +/* E070C4 80241D64 44800800 */ mtc1 $zero, $f1 +/* E070C8 80241D68 00000000 */ nop +/* E070CC 80241D6C 46201080 */ add.d $f2, $f2, $f0 +/* E070D0 80241D70 C6600068 */ lwc1 $f0, 0x68($s3) +/* E070D4 80241D74 46800021 */ cvt.d.w $f0, $f0 +/* E070D8 80241D78 46220001 */ sub.d $f0, $f0, $f2 +/* E070DC 80241D7C 4620010D */ trunc.w.d $f4, $f0 +/* E070E0 80241D80 44152000 */ mfc1 $s5, $f4 +/* E070E4 80241D84 08090765 */ j .L80241D94 +/* E070E8 80241D88 0000B82D */ daddu $s7, $zero, $zero +.L80241D8C: +/* E070EC 80241D8C 8E750068 */ lw $s5, 0x68($s3) +/* E070F0 80241D90 0000B82D */ daddu $s7, $zero, $zero +.L80241D94: +/* E070F4 80241D94 AE000004 */ sw $zero, 4($s0) +/* E070F8 80241D98 AE000008 */ sw $zero, 8($s0) +/* E070FC 80241D9C 8E620010 */ lw $v0, 0x10($s3) +/* E07100 80241DA0 02E0882D */ daddu $s1, $s7, $zero +/* E07104 80241DA4 AE02000C */ sw $v0, 0xc($s0) +.L80241DA8: +/* E07108 80241DA8 8E620000 */ lw $v0, ($s3) +/* E0710C 80241DAC A7A00050 */ sh $zero, 0x50($sp) +/* E07110 80241DB0 00511821 */ addu $v1, $v0, $s1 +/* E07114 80241DB4 26310001 */ addiu $s1, $s1, 1 +/* E07118 80241DB8 00511021 */ addu $v0, $v0, $s1 +/* E0711C 80241DBC 90740000 */ lbu $s4, ($v1) +/* E07120 80241DC0 90560000 */ lbu $s6, ($v0) +/* E07124 80241DC4 2684FF10 */ addiu $a0, $s4, -0xf0 +/* E07128 80241DC8 2C830010 */ sltiu $v1, $a0, 0x10 +/* E0712C 80241DCC 10600016 */ beqz $v1, .L80241E28 +/* E07130 80241DD0 00041080 */ sll $v0, $a0, 2 +/* E07134 80241DD4 3C018025 */ lui $at, 0x8025 +/* E07138 80241DD8 00220821 */ addu $at, $at, $v0 +/* E0713C 80241DDC 8C2293E0 */ lw $v0, -0x6c20($at) +/* E07140 80241DE0 00400008 */ jr $v0 +/* E07144 80241DE4 00000000 */ nop +/* E07148 80241DE8 2682FF0D */ addiu $v0, $s4, -0xf3 +/* E0714C 80241DEC 0809083F */ j .L802420FC +/* E07150 80241DF0 AE020008 */ sw $v0, 8($s0) +/* E07154 80241DF4 24090001 */ addiu $t1, $zero, 1 +/* E07158 80241DF8 0809083F */ j .L802420FC +/* E0715C 80241DFC A7A90050 */ sh $t1, 0x50($sp) +/* E07160 80241E00 8E630000 */ lw $v1, ($s3) +/* E07164 80241E04 00711021 */ addu $v0, $v1, $s1 +/* E07168 80241E08 90420000 */ lbu $v0, ($v0) +/* E0716C 80241E0C 144000BB */ bnez $v0, .L802420FC +/* E07170 80241E10 26310001 */ addiu $s1, $s1, 1 +/* E07174 80241E14 00711021 */ addu $v0, $v1, $s1 +/* E07178 80241E18 90420000 */ lbu $v0, ($v0) +/* E0717C 80241E1C 26310001 */ addiu $s1, $s1, 1 +/* E07180 80241E20 0809083F */ j .L802420FC +/* E07184 80241E24 AE020004 */ sw $v0, 4($s0) +.L80241E28: +/* E07188 80241E28 328300FF */ andi $v1, $s4, 0xff +/* E0718C 80241E2C 2C6200F0 */ sltiu $v0, $v1, 0xf0 +/* E07190 80241E30 10400083 */ beqz $v0, .L80242040 +/* E07194 80241E34 24090001 */ addiu $t1, $zero, 1 +/* E07198 80241E38 AE030000 */ sw $v1, ($s0) +/* E0719C 80241E3C AE150010 */ sw $s5, 0x10($s0) +/* E071A0 80241E40 8E62006C */ lw $v0, 0x6c($s3) +/* E071A4 80241E44 AE020014 */ sw $v0, 0x14($s0) +/* E071A8 80241E48 8E63000C */ lw $v1, 0xc($s3) +/* E071AC 80241E4C 1069003F */ beq $v1, $t1, .L80241F4C +/* E071B0 80241E50 28620002 */ slti $v0, $v1, 2 +/* E071B4 80241E54 50400005 */ beql $v0, $zero, .L80241E6C +/* E071B8 80241E58 24090002 */ addiu $t1, $zero, 2 +/* E071BC 80241E5C 10600007 */ beqz $v1, .L80241E7C +/* E071C0 80241E60 00000000 */ nop +/* E071C4 80241E64 08090811 */ j .L80242044 +/* E071C8 80241E68 26F70001 */ addiu $s7, $s7, 1 +.L80241E6C: +/* E071CC 80241E6C 10690043 */ beq $v1, $t1, .L80241F7C +/* E071D0 80241E70 00000000 */ nop +/* E071D4 80241E74 08090810 */ j .L80242040 +/* E071D8 80241E78 26F70001 */ addiu $s7, $s7, 1 +.L80241E7C: +/* E071DC 80241E7C 8E620020 */ lw $v0, 0x20($s3) +/* E071E0 80241E80 00570018 */ mult $v0, $s7 +/* E071E4 80241E84 8E620008 */ lw $v0, 8($s3) +/* E071E8 80241E88 00004812 */ mflo $t1 +/* E071EC 80241E8C 00491023 */ subu $v0, $v0, $t1 +/* E071F0 80241E90 0440006A */ bltz $v0, .L8024203C +/* E071F4 80241E94 AE020018 */ sw $v0, 0x18($s0) +/* E071F8 80241E98 8E63001C */ lw $v1, 0x1c($s3) +/* E071FC 80241E9C 0062102A */ slt $v0, $v1, $v0 +/* E07200 80241EA0 54400001 */ bnel $v0, $zero, .L80241EA8 +/* E07204 80241EA4 AE030018 */ sw $v1, 0x18($s0) +.L80241EA8: +/* E07208 80241EA8 240900FD */ addiu $t1, $zero, 0xfd +/* E0720C 80241EAC 16C90005 */ bne $s6, $t1, .L80241EC4 +/* E07210 80241EB0 00000000 */ nop +/* E07214 80241EB4 8E030018 */ lw $v1, 0x18($s0) +/* E07218 80241EB8 8E62001C */ lw $v0, 0x1c($s3) +/* E0721C 80241EBC 50620001 */ beql $v1, $v0, .L80241EC4 +/* E07220 80241EC0 241E0001 */ addiu $fp, $zero, 1 +.L80241EC4: +/* E07224 80241EC4 8E630018 */ lw $v1, 0x18($s3) +/* E07228 80241EC8 2C620006 */ sltiu $v0, $v1, 6 +/* E0722C 80241ECC 1040005B */ beqz $v0, .L8024203C +/* E07230 80241ED0 00031080 */ sll $v0, $v1, 2 +/* E07234 80241ED4 3C018025 */ lui $at, 0x8025 +/* E07238 80241ED8 00220821 */ addu $at, $at, $v0 +/* E0723C 80241EDC 8C229420 */ lw $v0, -0x6be0($at) +/* E07240 80241EE0 00400008 */ jr $v0 +/* E07244 80241EE4 00000000 */ nop +/* E07248 80241EE8 0260202D */ daddu $a0, $s3, $zero +/* E0724C 80241EEC 0C0900A0 */ jal func_80240280 +/* E07250 80241EF0 0200282D */ daddu $a1, $s0, $zero +/* E07254 80241EF4 08090810 */ j .L80242040 +/* E07258 80241EF8 26F70001 */ addiu $s7, $s7, 1 +/* E0725C 80241EFC 0260202D */ daddu $a0, $s3, $zero +/* E07260 80241F00 0C090154 */ jal func_80240550 +/* E07264 80241F04 0200282D */ daddu $a1, $s0, $zero +/* E07268 80241F08 08090810 */ j .L80242040 +/* E0726C 80241F0C 26F70001 */ addiu $s7, $s7, 1 +/* E07270 80241F10 0260202D */ daddu $a0, $s3, $zero +/* E07274 80241F14 0C09020B */ jal func_8024082C +/* E07278 80241F18 0200282D */ daddu $a1, $s0, $zero +/* E0727C 80241F1C 08090810 */ j .L80242040 +/* E07280 80241F20 26F70001 */ addiu $s7, $s7, 1 +/* E07284 80241F24 0260202D */ daddu $a0, $s3, $zero +/* E07288 80241F28 0C0902BE */ jal func_80240AF8 +/* E0728C 80241F2C 0200282D */ daddu $a1, $s0, $zero +/* E07290 80241F30 08090810 */ j .L80242040 +/* E07294 80241F34 26F70001 */ addiu $s7, $s7, 1 +/* E07298 80241F38 0260202D */ daddu $a0, $s3, $zero +/* E0729C 80241F3C 0C0903B0 */ jal func_80240EC0 +/* E072A0 80241F40 0200282D */ daddu $a1, $s0, $zero +/* E072A4 80241F44 08090810 */ j .L80242040 +/* E072A8 80241F48 26F70001 */ addiu $s7, $s7, 1 +.L80241F4C: +/* E072AC 80241F4C 240900FD */ addiu $t1, $zero, 0xfd +/* E072B0 80241F50 16C90006 */ bne $s6, $t1, .L80241F6C +/* E072B4 80241F54 0260202D */ daddu $a0, $s3, $zero +/* E072B8 80241F58 8E630008 */ lw $v1, 8($s3) +/* E072BC 80241F5C 8E620038 */ lw $v0, 0x38($s3) +/* E072C0 80241F60 50620002 */ beql $v1, $v0, .L80241F6C +/* E072C4 80241F64 241E0001 */ addiu $fp, $zero, 1 +/* E072C8 80241F68 0260202D */ daddu $a0, $s3, $zero +.L80241F6C: +/* E072CC 80241F6C 0C090477 */ jal func_802411DC +/* E072D0 80241F70 0200282D */ daddu $a1, $s0, $zero +/* E072D4 80241F74 08090810 */ j .L80242040 +/* E072D8 80241F78 26F70001 */ addiu $s7, $s7, 1 +.L80241F7C: +/* E072DC 80241F7C 8E620054 */ lw $v0, 0x54($s3) +/* E072E0 80241F80 00570018 */ mult $v0, $s7 +/* E072E4 80241F84 8E620008 */ lw $v0, 8($s3) +/* E072E8 80241F88 00004812 */ mflo $t1 +/* E072EC 80241F8C 00491023 */ subu $v0, $v0, $t1 +/* E072F0 80241F90 04410002 */ bgez $v0, .L80241F9C +/* E072F4 80241F94 AE020018 */ sw $v0, 0x18($s0) +/* E072F8 80241F98 AE000018 */ sw $zero, 0x18($s0) +.L80241F9C: +/* E072FC 80241F9C 8E020018 */ lw $v0, 0x18($s0) +/* E07300 80241FA0 8E630050 */ lw $v1, 0x50($s3) +/* E07304 80241FA4 0062102A */ slt $v0, $v1, $v0 +/* E07308 80241FA8 54400001 */ bnel $v0, $zero, .L80241FB0 +/* E0730C 80241FAC AE030018 */ sw $v1, 0x18($s0) +.L80241FB0: +/* E07310 80241FB0 240900FD */ addiu $t1, $zero, 0xfd +/* E07314 80241FB4 16C90005 */ bne $s6, $t1, .L80241FCC +/* E07318 80241FB8 00000000 */ nop +/* E0731C 80241FBC 8E030018 */ lw $v1, 0x18($s0) +/* E07320 80241FC0 8E620050 */ lw $v0, 0x50($s3) +/* E07324 80241FC4 50620001 */ beql $v1, $v0, .L80241FCC +/* E07328 80241FC8 241E0001 */ addiu $fp, $zero, 1 +.L80241FCC: +/* E0732C 80241FCC 8E63004C */ lw $v1, 0x4c($s3) +/* E07330 80241FD0 24090001 */ addiu $t1, $zero, 1 +/* E07334 80241FD4 1069000D */ beq $v1, $t1, .L8024200C +/* E07338 80241FD8 28620002 */ slti $v0, $v1, 2 +/* E0733C 80241FDC 50400005 */ beql $v0, $zero, .L80241FF4 +/* E07340 80241FE0 24090002 */ addiu $t1, $zero, 2 +/* E07344 80241FE4 10600013 */ beqz $v1, .L80242034 +/* E07348 80241FE8 0260202D */ daddu $a0, $s3, $zero +/* E0734C 80241FEC 08090811 */ j .L80242044 +/* E07350 80241FF0 26F70001 */ addiu $s7, $s7, 1 +.L80241FF4: +/* E07354 80241FF4 1069000A */ beq $v1, $t1, .L80242020 +/* E07358 80241FF8 24020003 */ addiu $v0, $zero, 3 +/* E0735C 80241FFC 1062000D */ beq $v1, $v0, .L80242034 +/* E07360 80242000 0260202D */ daddu $a0, $s3, $zero +/* E07364 80242004 08090810 */ j .L80242040 +/* E07368 80242008 26F70001 */ addiu $s7, $s7, 1 +.L8024200C: +/* E0736C 8024200C 0260202D */ daddu $a0, $s3, $zero +/* E07370 80242010 0C090537 */ jal func_802414DC +/* E07374 80242014 0200282D */ daddu $a1, $s0, $zero +/* E07378 80242018 08090810 */ j .L80242040 +/* E0737C 8024201C 26F70001 */ addiu $s7, $s7, 1 +.L80242020: +/* E07380 80242020 0260202D */ daddu $a0, $s3, $zero +/* E07384 80242024 0C0905DE */ jal func_80241778 +/* E07388 80242028 0200282D */ daddu $a1, $s0, $zero +/* E0738C 8024202C 08090810 */ j .L80242040 +/* E07390 80242030 26F70001 */ addiu $s7, $s7, 1 +.L80242034: +/* E07394 80242034 0C090682 */ jal func_80241A08 +/* E07398 80242038 0200282D */ daddu $a1, $s0, $zero +.L8024203C: +/* E0739C 8024203C 26F70001 */ addiu $s7, $s7, 1 +.L80242040: +/* E073A0 80242040 24090001 */ addiu $t1, $zero, 1 +.L80242044: +/* E073A4 80242044 329200FF */ andi $s2, $s4, 0xff +/* E073A8 80242048 AFA00010 */ sw $zero, 0x10($sp) +/* E073AC 8024204C AFA90014 */ sw $t1, 0x14($sp) +/* E073B0 80242050 8E050004 */ lw $a1, 4($s0) +/* E073B4 80242054 8E060008 */ lw $a2, 8($s0) +/* E073B8 80242058 3C073F80 */ lui $a3, 0x3f80 +/* E073BC 8024205C 0C049721 */ jal func_80125C84 +/* E073C0 80242060 0240202D */ daddu $a0, $s2, $zero +/* E073C4 80242064 26A3FFFF */ addiu $v1, $s5, -1 +/* E073C8 80242068 8E040004 */ lw $a0, 4($s0) +/* E073CC 8024206C 0062A821 */ addu $s5, $v1, $v0 +/* E073D0 80242070 2482FFFD */ addiu $v0, $a0, -3 +/* E073D4 80242074 2C420002 */ sltiu $v0, $v0, 2 +/* E073D8 80242078 10400020 */ beqz $v0, .L802420FC +/* E073DC 8024207C 00000000 */ nop +/* E073E0 80242080 3C058024 */ lui $a1, 0x8024 +/* E073E4 80242084 24A53178 */ addiu $a1, $a1, 0x3178 +/* E073E8 80242088 24090004 */ addiu $t1, $zero, 4 +/* E073EC 8024208C 14890003 */ bne $a0, $t1, .L8024209C +/* E073F0 80242090 00000000 */ nop +/* E073F4 80242094 3C058024 */ lui $a1, 0x8024 +/* E073F8 80242098 24A53110 */ addiu $a1, $a1, 0x3110 +.L8024209C: +/* E073FC 8024209C 14890007 */ bne $a0, $t1, .L802420BC +/* E07400 802420A0 0000302D */ daddu $a2, $zero, $zero +/* E07404 802420A4 24020008 */ addiu $v0, $zero, 8 +/* E07408 802420A8 52420004 */ beql $s2, $v0, .L802420BC +/* E0740C 802420AC 26B50001 */ addiu $s5, $s5, 1 +/* E07410 802420B0 16C20003 */ bne $s6, $v0, .L802420C0 +/* E07414 802420B4 328300FF */ andi $v1, $s4, 0xff +/* E07418 802420B8 26B50001 */ addiu $s5, $s5, 1 +.L802420BC: +/* E0741C 802420BC 328300FF */ andi $v1, $s4, 0xff +.L802420C0: +/* E07420 802420C0 32C7FFFF */ andi $a3, $s6, 0xffff +/* E07424 802420C4 00061080 */ sll $v0, $a2, 2 +/* E07428 802420C8 00452021 */ addu $a0, $v0, $a1 +.L802420CC: +/* E0742C 802420CC 90820000 */ lbu $v0, ($a0) +/* E07430 802420D0 54620007 */ bnel $v1, $v0, .L802420F0 +/* E07434 802420D4 24840004 */ addiu $a0, $a0, 4 +/* E07438 802420D8 90820001 */ lbu $v0, 1($a0) +/* E0743C 802420DC 54E20004 */ bnel $a3, $v0, .L802420F0 +/* E07440 802420E0 24840004 */ addiu $a0, $a0, 4 +/* E07444 802420E4 84820002 */ lh $v0, 2($a0) +/* E07448 802420E8 02A2A821 */ addu $s5, $s5, $v0 +/* E0744C 802420EC 24840004 */ addiu $a0, $a0, 4 +.L802420F0: +/* E07450 802420F0 84820002 */ lh $v0, 2($a0) +/* E07454 802420F4 1440FFF5 */ bnez $v0, .L802420CC +/* E07458 802420F8 00000000 */ nop +.L802420FC: +/* E0745C 802420FC 97A20050 */ lhu $v0, 0x50($sp) +/* E07460 80242100 1040FF29 */ beqz $v0, .L80241DA8 +/* E07464 80242104 00000000 */ nop +/* E07468 80242108 8E62000C */ lw $v0, 0xc($s3) +/* E0746C 8024210C 14400015 */ bnez $v0, .L80242164 +/* E07470 80242110 00000000 */ nop +/* E07474 80242114 13C00013 */ beqz $fp, .L80242164 +/* E07478 80242118 0000282D */ daddu $a1, $zero, $zero +/* E0747C 8024211C 00A0302D */ daddu $a2, $a1, $zero +/* E07480 80242120 AFA0004C */ sw $zero, 0x4c($sp) +/* E07484 80242124 AFA00010 */ sw $zero, 0x10($sp) +/* E07488 80242128 AFA00014 */ sw $zero, 0x14($sp) +/* E0748C 8024212C AFA00018 */ sw $zero, 0x18($sp) +/* E07490 80242130 AFA0001C */ sw $zero, 0x1c($sp) +/* E07494 80242134 8E640000 */ lw $a0, ($s3) +/* E07498 80242138 0C0497DA */ jal get_string_properties +/* E0749C 8024213C 27A7004C */ addiu $a3, $sp, 0x4c +/* E074A0 80242140 8E64000C */ lw $a0, 0xc($s3) +/* E074A4 80242144 8E630038 */ lw $v1, 0x38($s3) +/* E074A8 80242148 AE600008 */ sw $zero, 8($s3) +/* E074AC 8024214C 24820001 */ addiu $v0, $a0, 1 +/* E074B0 80242150 1C600016 */ bgtz $v1, .L802421AC +/* E074B4 80242154 AE62000C */ sw $v0, 0xc($s3) +/* E074B8 80242158 24820002 */ addiu $v0, $a0, 2 +/* E074BC 8024215C 0809086B */ j .L802421AC +/* E074C0 80242160 AE62000C */ sw $v0, 0xc($s3) +.L80242164: +/* E074C4 80242164 8E63000C */ lw $v1, 0xc($s3) +/* E074C8 80242168 24020001 */ addiu $v0, $zero, 1 +/* E074CC 8024216C 14620008 */ bne $v1, $v0, .L80242190 +/* E074D0 80242170 24020002 */ addiu $v0, $zero, 2 +/* E074D4 80242174 13C00005 */ beqz $fp, .L8024218C +/* E074D8 80242178 0060102D */ daddu $v0, $v1, $zero +/* E074DC 8024217C 24420001 */ addiu $v0, $v0, 1 +/* E074E0 80242180 AE600008 */ sw $zero, 8($s3) +/* E074E4 80242184 0809086B */ j .L802421AC +/* E074E8 80242188 AE62000C */ sw $v0, 0xc($s3) +.L8024218C: +/* E074EC 8024218C 24020002 */ addiu $v0, $zero, 2 +.L80242190: +/* E074F0 80242190 14620006 */ bne $v1, $v0, .L802421AC +/* E074F4 80242194 00000000 */ nop +/* E074F8 80242198 13C00004 */ beqz $fp, .L802421AC +/* E074FC 8024219C 00000000 */ nop +/* E07500 802421A0 96620070 */ lhu $v0, 0x70($s3) +/* E07504 802421A4 3042FFFE */ andi $v0, $v0, 0xfffe +/* E07508 802421A8 A6620070 */ sh $v0, 0x70($s3) +.L802421AC: +/* E0750C 802421AC 8E620008 */ lw $v0, 8($s3) +/* E07510 802421B0 24420001 */ addiu $v0, $v0, 1 +/* E07514 802421B4 AE620008 */ sw $v0, 8($s3) +/* E07518 802421B8 8FBF007C */ lw $ra, 0x7c($sp) +/* E0751C 802421BC 8FBE0078 */ lw $fp, 0x78($sp) +/* E07520 802421C0 8FB70074 */ lw $s7, 0x74($sp) +/* E07524 802421C4 8FB60070 */ lw $s6, 0x70($sp) +/* E07528 802421C8 8FB5006C */ lw $s5, 0x6c($sp) +/* E0752C 802421CC 8FB40068 */ lw $s4, 0x68($sp) +/* E07530 802421D0 8FB30064 */ lw $s3, 0x64($sp) +/* E07534 802421D4 8FB20060 */ lw $s2, 0x60($sp) +/* E07538 802421D8 8FB1005C */ lw $s1, 0x5c($sp) +/* E0753C 802421DC 8FB00058 */ lw $s0, 0x58($sp) +/* E07540 802421E0 03E00008 */ jr $ra +/* E07544 802421E4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802421E8_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_802421E8_E05360.s new file mode 100644 index 0000000000..97f78cca0e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802421E8_E05360.s @@ -0,0 +1,102 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421E8_E07548 +/* E07548 802421E8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* E0754C 802421EC 3C05DC08 */ lui $a1, 0xdc08 +/* E07550 802421F0 34A50008 */ ori $a1, $a1, 8 +/* E07554 802421F4 AFB40030 */ sw $s4, 0x30($sp) +/* E07558 802421F8 0000A02D */ daddu $s4, $zero, $zero +/* E0755C 802421FC AFB10024 */ sw $s1, 0x24($sp) +/* E07560 80242200 3C11800A */ lui $s1, 0x800a +/* E07564 80242204 2631A66C */ addiu $s1, $s1, -0x5994 +/* E07568 80242208 AFB3002C */ sw $s3, 0x2c($sp) +/* E0756C 8024220C 24130004 */ addiu $s3, $zero, 4 +/* E07570 80242210 3C028025 */ lui $v0, 0x8025 +/* E07574 80242214 2442B9D0 */ addiu $v0, $v0, -0x4630 +/* E07578 80242218 AFBF0038 */ sw $ra, 0x38($sp) +/* E0757C 8024221C AFB50034 */ sw $s5, 0x34($sp) +/* E07580 80242220 AFB20028 */ sw $s2, 0x28($sp) +/* E07584 80242224 AFB00020 */ sw $s0, 0x20($sp) +/* E07588 80242228 8E230000 */ lw $v1, ($s1) +/* E0758C 8024222C 3C108007 */ lui $s0, 0x8007 +/* E07590 80242230 8E1041F4 */ lw $s0, 0x41f4($s0) +/* E07594 80242234 3C158025 */ lui $s5, 0x8025 +/* E07598 80242238 8EB5A2C4 */ lw $s5, -0x5d3c($s5) +/* E0759C 8024223C 44800000 */ mtc1 $zero, $f0 +/* E075A0 80242240 3C01C2C8 */ lui $at, 0xc2c8 +/* E075A4 80242244 44811000 */ mtc1 $at, $f2 +/* E075A8 80242248 3C0142C8 */ lui $at, 0x42c8 +/* E075AC 8024224C 44812000 */ mtc1 $at, $f4 +/* E075B0 80242250 3C013F80 */ lui $at, 0x3f80 +/* E075B4 80242254 44813000 */ mtc1 $at, $f6 +/* E075B8 80242258 3C0643A0 */ lui $a2, 0x43a0 +/* E075BC 8024225C 3C07C370 */ lui $a3, 0xc370 +/* E075C0 80242260 0060402D */ daddu $t0, $v1, $zero +/* E075C4 80242264 24630008 */ addiu $v1, $v1, 8 +/* E075C8 80242268 00108180 */ sll $s0, $s0, 6 +/* E075CC 8024226C 02028021 */ addu $s0, $s0, $v0 +/* E075D0 80242270 0200202D */ daddu $a0, $s0, $zero +/* E075D4 80242274 02A0902D */ daddu $s2, $s5, $zero +/* E075D8 80242278 AE230000 */ sw $v1, ($s1) +/* E075DC 8024227C AD050000 */ sw $a1, ($t0) +/* E075E0 80242280 44050000 */ mfc1 $a1, $f0 +/* E075E4 80242284 3C028024 */ lui $v0, 0x8024 +/* E075E8 80242288 24423200 */ addiu $v0, $v0, 0x3200 +/* E075EC 8024228C AD020004 */ sw $v0, 4($t0) +/* E075F0 80242290 E7A20014 */ swc1 $f2, 0x14($sp) +/* E075F4 80242294 E7A40018 */ swc1 $f4, 0x18($sp) +/* E075F8 80242298 E7A6001C */ swc1 $f6, 0x1c($sp) +/* E075FC 8024229C 0C018E90 */ jal guOrtho +/* E07600 802422A0 AFA50010 */ sw $a1, 0x10($sp) +/* E07604 802422A4 3C03DA38 */ lui $v1, 0xda38 +/* E07608 802422A8 34630007 */ ori $v1, $v1, 7 +/* E0760C 802422AC 3C05D9C0 */ lui $a1, 0xd9c0 +/* E07610 802422B0 34A5F9FB */ ori $a1, $a1, 0xf9fb +/* E07614 802422B4 3C07D9FF */ lui $a3, 0xd9ff +/* E07618 802422B8 34E7FFFF */ ori $a3, $a3, 0xffff +/* E0761C 802422BC 3C060020 */ lui $a2, 0x20 +/* E07620 802422C0 8E220000 */ lw $v0, ($s1) +/* E07624 802422C4 00D33025 */ or $a2, $a2, $s3 +/* E07628 802422C8 0040202D */ daddu $a0, $v0, $zero +/* E0762C 802422CC 24420008 */ addiu $v0, $v0, 8 +/* E07630 802422D0 AE220000 */ sw $v0, ($s1) +/* E07634 802422D4 AC830000 */ sw $v1, ($a0) +/* E07638 802422D8 3C038000 */ lui $v1, 0x8000 +/* E0763C 802422DC 02038021 */ addu $s0, $s0, $v1 +/* E07640 802422E0 24430008 */ addiu $v1, $v0, 8 +/* E07644 802422E4 AC900004 */ sw $s0, 4($a0) +/* E07648 802422E8 AE230000 */ sw $v1, ($s1) +/* E0764C 802422EC 3C03E700 */ lui $v1, 0xe700 +/* E07650 802422F0 AC430000 */ sw $v1, ($v0) +/* E07654 802422F4 24430010 */ addiu $v1, $v0, 0x10 +/* E07658 802422F8 AC400004 */ sw $zero, 4($v0) +/* E0765C 802422FC AE230000 */ sw $v1, ($s1) +/* E07660 80242300 24430018 */ addiu $v1, $v0, 0x18 +/* E07664 80242304 AC450008 */ sw $a1, 8($v0) +/* E07668 80242308 AC40000C */ sw $zero, 0xc($v0) +/* E0766C 8024230C AE230000 */ sw $v1, ($s1) +/* E07670 80242310 AC470010 */ sw $a3, 0x10($v0) +/* E07674 80242314 AC460014 */ sw $a2, 0x14($v0) +.L80242318: +/* E07678 80242318 96420074 */ lhu $v0, 0x74($s2) +/* E0767C 8024231C 30420001 */ andi $v0, $v0, 1 +/* E07680 80242320 50400004 */ beql $v0, $zero, .L80242334 +/* E07684 80242324 26730074 */ addiu $s3, $s3, 0x74 +/* E07688 80242328 0C0906D1 */ jal func_80241B44 +/* E0768C 8024232C 02B32021 */ addu $a0, $s5, $s3 +/* E07690 80242330 26730074 */ addiu $s3, $s3, 0x74 +.L80242334: +/* E07694 80242334 26940001 */ addiu $s4, $s4, 1 +/* E07698 80242338 2A820020 */ slti $v0, $s4, 0x20 +/* E0769C 8024233C 1440FFF6 */ bnez $v0, .L80242318 +/* E076A0 80242340 26520074 */ addiu $s2, $s2, 0x74 +/* E076A4 80242344 8FBF0038 */ lw $ra, 0x38($sp) +/* E076A8 80242348 8FB50034 */ lw $s5, 0x34($sp) +/* E076AC 8024234C 8FB40030 */ lw $s4, 0x30($sp) +/* E076B0 80242350 8FB3002C */ lw $s3, 0x2c($sp) +/* E076B4 80242354 8FB20028 */ lw $s2, 0x28($sp) +/* E076B8 80242358 8FB10024 */ lw $s1, 0x24($sp) +/* E076BC 8024235C 8FB00020 */ lw $s0, 0x20($sp) +/* E076C0 80242360 03E00008 */ jr $ra +/* E076C4 80242364 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242368_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242368_E05360.s new file mode 100644 index 0000000000..5cc6770b1c --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242368_E05360.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242368_E076C8 +/* E076C8 80242368 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* E076CC 8024236C AFB20030 */ sw $s2, 0x30($sp) +/* E076D0 80242370 0080902D */ daddu $s2, $a0, $zero +/* E076D4 80242374 0000182D */ daddu $v1, $zero, $zero +/* E076D8 80242378 3C068025 */ lui $a2, 0x8025 +/* E076DC 8024237C 8CC6A2C4 */ lw $a2, -0x5d3c($a2) +/* E076E0 80242380 24040020 */ addiu $a0, $zero, 0x20 +/* E076E4 80242384 AFBF0038 */ sw $ra, 0x38($sp) +/* E076E8 80242388 AFB30034 */ sw $s3, 0x34($sp) +/* E076EC 8024238C AFB1002C */ sw $s1, 0x2c($sp) +/* E076F0 80242390 AFB00028 */ sw $s0, 0x28($sp) +/* E076F4 80242394 00C0282D */ daddu $a1, $a2, $zero +.L80242398: +/* E076F8 80242398 94A20074 */ lhu $v0, 0x74($a1) +/* E076FC 8024239C 30420001 */ andi $v0, $v0, 1 +/* E07700 802423A0 10400006 */ beqz $v0, .L802423BC +/* E07704 802423A4 000310C0 */ sll $v0, $v1, 3 +/* E07708 802423A8 24630001 */ addiu $v1, $v1, 1 +/* E0770C 802423AC 10640051 */ beq $v1, $a0, .L802424F4 +/* E07710 802423B0 24A50074 */ addiu $a1, $a1, 0x74 +/* E07714 802423B4 080908E6 */ j .L80242398 +/* E07718 802423B8 00000000 */ nop +.L802423BC: +/* E0771C 802423BC 00431023 */ subu $v0, $v0, $v1 +/* E07720 802423C0 00021080 */ sll $v0, $v0, 2 +/* E07724 802423C4 00431021 */ addu $v0, $v0, $v1 +/* E07728 802423C8 00021080 */ sll $v0, $v0, 2 +/* E0772C 802423CC 24420004 */ addiu $v0, $v0, 4 +/* E07730 802423D0 8E440000 */ lw $a0, ($s2) +/* E07734 802423D4 10800047 */ beqz $a0, .L802424F4 +/* E07738 802423D8 00C28821 */ addu $s1, $a2, $v0 +/* E0773C 802423DC 04820014 */ bltzl $a0, .L80242430 +/* E07740 802423E0 AE240000 */ sw $a0, ($s1) +/* E07744 802423E4 3C138024 */ lui $s3, 0x8024 +/* E07748 802423E8 26733210 */ addiu $s3, $s3, 0x3210 +/* E0774C 802423EC 8E650000 */ lw $a1, ($s3) +/* E07750 802423F0 3C108025 */ lui $s0, 0x8025 +/* E07754 802423F4 2610A2D0 */ addiu $s0, $s0, -0x5d30 +/* E07758 802423F8 00052A00 */ sll $a1, $a1, 8 +/* E0775C 802423FC 0C049601 */ jal dma_load_string +/* E07760 80242400 00B02821 */ addu $a1, $a1, $s0 +/* E07764 80242404 8E630000 */ lw $v1, ($s3) +/* E07768 80242408 00031200 */ sll $v0, $v1, 8 +/* E0776C 8024240C 00501021 */ addu $v0, $v0, $s0 +/* E07770 80242410 24630001 */ addiu $v1, $v1, 1 +/* E07774 80242414 AE220000 */ sw $v0, ($s1) +/* E07778 80242418 AE630000 */ sw $v1, ($s3) +/* E0777C 8024241C 28630017 */ slti $v1, $v1, 0x17 +/* E07780 80242420 50600003 */ beql $v1, $zero, .L80242430 +/* E07784 80242424 AE600000 */ sw $zero, ($s3) +/* E07788 80242428 0809090D */ j .L80242434 +/* E0778C 8024242C 0000282D */ daddu $a1, $zero, $zero +.L80242430: +/* E07790 80242430 0000282D */ daddu $a1, $zero, $zero +.L80242434: +/* E07794 80242434 27A20024 */ addiu $v0, $sp, 0x24 +/* E07798 80242438 00A0302D */ daddu $a2, $a1, $zero +/* E0779C 8024243C AFA00010 */ sw $zero, 0x10($sp) +/* E077A0 80242440 AFA00014 */ sw $zero, 0x14($sp) +/* E077A4 80242444 AFA20018 */ sw $v0, 0x18($sp) +/* E077A8 80242448 AFA0001C */ sw $zero, 0x1c($sp) +/* E077AC 8024244C 8E240000 */ lw $a0, ($s1) +/* E077B0 80242450 0C0497DA */ jal get_string_properties +/* E077B4 80242454 27A70020 */ addiu $a3, $sp, 0x20 +/* E077B8 80242458 8E420004 */ lw $v0, 4($s2) +/* E077BC 8024245C AE220068 */ sw $v0, 0x68($s1) +/* E077C0 80242460 8E420008 */ lw $v0, 8($s2) +/* E077C4 80242464 AE22006C */ sw $v0, 0x6c($s1) +/* E077C8 80242468 8E42000C */ lw $v0, 0xc($s2) +/* E077CC 8024246C AE220010 */ sw $v0, 0x10($s1) +/* E077D0 80242470 8E420010 */ lw $v0, 0x10($s2) +/* E077D4 80242474 AE220018 */ sw $v0, 0x18($s1) +/* E077D8 80242478 8E420014 */ lw $v0, 0x14($s2) +/* E077DC 8024247C AE22001C */ sw $v0, 0x1c($s1) +/* E077E0 80242480 8E42001C */ lw $v0, 0x1c($s2) +/* E077E4 80242484 AE220034 */ sw $v0, 0x34($s1) +/* E077E8 80242488 8E420020 */ lw $v0, 0x20($s2) +/* E077EC 8024248C AE220038 */ sw $v0, 0x38($s1) +/* E077F0 80242490 8E440018 */ lw $a0, 0x18($s2) +/* E077F4 80242494 1080000C */ beqz $a0, .L802424C8 +/* E077F8 80242498 00000000 */ nop +/* E077FC 8024249C 8FA20024 */ lw $v0, 0x24($sp) +/* E07800 802424A0 8FA30020 */ lw $v1, 0x20($sp) +/* E07804 802424A4 24420001 */ addiu $v0, $v0, 1 +/* E07808 802424A8 00621823 */ subu $v1, $v1, $v0 +/* E0780C 802424AC 00640018 */ mult $v1, $a0 +/* E07810 802424B0 8E420020 */ lw $v0, 0x20($s2) +/* E07814 802424B4 00004012 */ mflo $t0 +/* E07818 802424B8 00481023 */ subu $v0, $v0, $t0 +/* E0781C 802424BC 04410002 */ bgez $v0, .L802424C8 +/* E07820 802424C0 AE220038 */ sw $v0, 0x38($s1) +/* E07824 802424C4 AE200038 */ sw $zero, 0x38($s1) +.L802424C8: +/* E07828 802424C8 8E420024 */ lw $v0, 0x24($s2) +/* E0782C 802424CC AE22004C */ sw $v0, 0x4c($s1) +/* E07830 802424D0 8E420028 */ lw $v0, 0x28($s2) +/* E07834 802424D4 AE220050 */ sw $v0, 0x50($s1) +/* E07838 802424D8 8E420018 */ lw $v0, 0x18($s2) +/* E0783C 802424DC AE220020 */ sw $v0, 0x20($s1) +/* E07840 802424E0 8E42002C */ lw $v0, 0x2c($s2) +/* E07844 802424E4 AE220054 */ sw $v0, 0x54($s1) +/* E07848 802424E8 96420034 */ lhu $v0, 0x34($s2) +/* E0784C 802424EC 34420003 */ ori $v0, $v0, 3 +/* E07850 802424F0 A6220070 */ sh $v0, 0x70($s1) +.L802424F4: +/* E07854 802424F4 8FBF0038 */ lw $ra, 0x38($sp) +/* E07858 802424F8 8FB30034 */ lw $s3, 0x34($sp) +/* E0785C 802424FC 8FB20030 */ lw $s2, 0x30($sp) +/* E07860 80242500 8FB1002C */ lw $s1, 0x2c($sp) +/* E07864 80242504 8FB00028 */ lw $s0, 0x28($sp) +/* E07868 80242508 03E00008 */ jr $ra +/* E0786C 8024250C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242510.s b/asm/nonmatchings/world/area_end/end_01/func_80242510.s new file mode 100644 index 0000000000..4df1f51b1b --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242510.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242510 +/* E07870 80242510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07874 80242514 AFB00010 */ sw $s0, 0x10($sp) +/* E07878 80242518 3C108025 */ lui $s0, 0x8025 +/* E0787C 8024251C 26109440 */ addiu $s0, $s0, -0x6bc0 +/* E07880 80242520 3C058024 */ lui $a1, 0x8024 +/* E07884 80242524 24A521E8 */ addiu $a1, $a1, 0x21e8 +/* E07888 80242528 AFBF0014 */ sw $ra, 0x14($sp) +/* E0788C 8024252C 3C018025 */ lui $at, 0x8025 +/* E07890 80242530 AC30A2C4 */ sw $s0, -0x5d3c($at) +/* E07894 80242534 0C048C8F */ jal bind_dynamic_entity_7 +/* E07898 80242538 0000202D */ daddu $a0, $zero, $zero +/* E0789C 8024253C 2404001F */ addiu $a0, $zero, 0x1f +/* E078A0 80242540 26030E0C */ addiu $v1, $s0, 0xe0c +/* E078A4 80242544 AE020000 */ sw $v0, ($s0) +.L80242548: +/* E078A8 80242548 A4600074 */ sh $zero, 0x74($v1) +/* E078AC 8024254C 2484FFFF */ addiu $a0, $a0, -1 +/* E078B0 80242550 0481FFFD */ bgez $a0, .L80242548 +/* E078B4 80242554 2463FF8C */ addiu $v1, $v1, -0x74 +/* E078B8 80242558 8FBF0014 */ lw $ra, 0x14($sp) +/* E078BC 8024255C 8FB00010 */ lw $s0, 0x10($sp) +/* E078C0 80242560 03E00008 */ jr $ra +/* E078C4 80242564 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242568.s b/asm/nonmatchings/world/area_end/end_01/func_80242568.s new file mode 100644 index 0000000000..a9a5c7eb67 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242568.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242568 +/* E078C8 80242568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E078CC 8024256C AFBF0010 */ sw $ra, 0x10($sp) +/* E078D0 80242570 0C090944 */ jal func_80242510 +/* E078D4 80242574 00000000 */ nop +/* E078D8 80242578 0C048DCD */ jal load_font +/* E078DC 8024257C 24040001 */ addiu $a0, $zero, 1 +/* E078E0 80242580 8FBF0010 */ lw $ra, 0x10($sp) +/* E078E4 80242584 24020002 */ addiu $v0, $zero, 2 +/* E078E8 80242588 03E00008 */ jr $ra +/* E078EC 8024258C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242590_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242590_E05360.s new file mode 100644 index 0000000000..98f1d27bdc --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242590_E05360.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242590_E078F0 +/* E078F0 80242590 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E078F4 80242594 AFB10014 */ sw $s1, 0x14($sp) +/* E078F8 80242598 0080882D */ daddu $s1, $a0, $zero +/* E078FC 8024259C AFBF001C */ sw $ra, 0x1c($sp) +/* E07900 802425A0 AFB20018 */ sw $s2, 0x18($sp) +/* E07904 802425A4 AFB00010 */ sw $s0, 0x10($sp) +/* E07908 802425A8 8E22000C */ lw $v0, 0xc($s1) +/* E0790C 802425AC 00A0802D */ daddu $s0, $a1, $zero +/* E07910 802425B0 0C0B1EAF */ jal get_variable +/* E07914 802425B4 8C450000 */ lw $a1, ($v0) +/* E07918 802425B8 12000005 */ beqz $s0, .L802425D0 +/* E0791C 802425BC 0040902D */ daddu $s2, $v0, $zero +/* E07920 802425C0 2402FFFF */ addiu $v0, $zero, -1 +/* E07924 802425C4 AE200084 */ sw $zero, 0x84($s1) +/* E07928 802425C8 AE220088 */ sw $v0, 0x88($s1) +/* E0792C 802425CC AE20008C */ sw $zero, 0x8c($s1) +.L802425D0: +/* E07930 802425D0 8E230084 */ lw $v1, 0x84($s1) +/* E07934 802425D4 10600005 */ beqz $v1, .L802425EC +/* E07938 802425D8 24020001 */ addiu $v0, $zero, 1 +/* E0793C 802425DC 10620020 */ beq $v1, $v0, .L80242660 +/* E07940 802425E0 0000102D */ daddu $v0, $zero, $zero +/* E07944 802425E4 0809099E */ j .L80242678 +/* E07948 802425E8 00000000 */ nop +.L802425EC: +/* E0794C 802425EC 2410FFFF */ addiu $s0, $zero, -1 +.L802425F0: +/* E07950 802425F0 8E22008C */ lw $v0, 0x8c($s1) +/* E07954 802425F4 000218C0 */ sll $v1, $v0, 3 +/* E07958 802425F8 00621823 */ subu $v1, $v1, $v0 +/* E0795C 802425FC 000318C0 */ sll $v1, $v1, 3 +/* E07960 80242600 00722021 */ addu $a0, $v1, $s2 +/* E07964 80242604 8C820000 */ lw $v0, ($a0) +/* E07968 80242608 10400003 */ beqz $v0, .L80242618 +/* E0796C 8024260C 00000000 */ nop +/* E07970 80242610 0C0908DA */ jal func_80242368 +/* E07974 80242614 00000000 */ nop +.L80242618: +/* E07978 80242618 8E23008C */ lw $v1, 0x8c($s1) +/* E0797C 8024261C 000310C0 */ sll $v0, $v1, 3 +/* E07980 80242620 00431023 */ subu $v0, $v0, $v1 +/* E07984 80242624 000210C0 */ sll $v0, $v0, 3 +/* E07988 80242628 00521021 */ addu $v0, $v0, $s2 +/* E0798C 8024262C 8C420030 */ lw $v0, 0x30($v0) +/* E07990 80242630 AE220088 */ sw $v0, 0x88($s1) +/* E07994 80242634 0060102D */ daddu $v0, $v1, $zero +/* E07998 80242638 8E230088 */ lw $v1, 0x88($s1) +/* E0799C 8024263C 24420001 */ addiu $v0, $v0, 1 +/* E079A0 80242640 1C600005 */ bgtz $v1, .L80242658 +/* E079A4 80242644 AE22008C */ sw $v0, 0x8c($s1) +/* E079A8 80242648 1470FFE9 */ bne $v1, $s0, .L802425F0 +/* E079AC 8024264C 24020002 */ addiu $v0, $zero, 2 +/* E079B0 80242650 0809099E */ j .L80242678 +/* E079B4 80242654 00000000 */ nop +.L80242658: +/* E079B8 80242658 24020001 */ addiu $v0, $zero, 1 +/* E079BC 8024265C AE220084 */ sw $v0, 0x84($s1) +.L80242660: +/* E079C0 80242660 8E220088 */ lw $v0, 0x88($s1) +/* E079C4 80242664 2442FFFF */ addiu $v0, $v0, -1 +/* E079C8 80242668 1C400002 */ bgtz $v0, .L80242674 +/* E079CC 8024266C AE220088 */ sw $v0, 0x88($s1) +/* E079D0 80242670 AE200084 */ sw $zero, 0x84($s1) +.L80242674: +/* E079D4 80242674 0000102D */ daddu $v0, $zero, $zero +.L80242678: +/* E079D8 80242678 8FBF001C */ lw $ra, 0x1c($sp) +/* E079DC 8024267C 8FB20018 */ lw $s2, 0x18($sp) +/* E079E0 80242680 8FB10014 */ lw $s1, 0x14($sp) +/* E079E4 80242684 8FB00010 */ lw $s0, 0x10($sp) +/* E079E8 80242688 03E00008 */ jr $ra +/* E079EC 8024268C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242690.s b/asm/nonmatchings/world/area_end/end_01/func_80242690.s new file mode 100644 index 0000000000..aee2cdc8ce --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242690.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242690 +/* E079F0 80242690 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* E079F4 80242694 AFBF0028 */ sw $ra, 0x28($sp) +/* E079F8 80242698 AFB10024 */ sw $s1, 0x24($sp) +/* E079FC 8024269C AFB00020 */ sw $s0, 0x20($sp) +/* E07A00 802426A0 8C82000C */ lw $v0, 0xc($a0) +/* E07A04 802426A4 0C0B1EAF */ jal get_variable +/* E07A08 802426A8 8C450000 */ lw $a1, ($v0) +/* E07A0C 802426AC 24030100 */ addiu $v1, $zero, 0x100 +/* E07A10 802426B0 0040882D */ daddu $s1, $v0, $zero +/* E07A14 802426B4 3C028024 */ lui $v0, 0x8024 +/* E07A18 802426B8 244241F0 */ addiu $v0, $v0, 0x41f0 +/* E07A1C 802426BC 00118040 */ sll $s0, $s1, 1 +/* E07A20 802426C0 02118021 */ addu $s0, $s0, $s1 +/* E07A24 802426C4 001080C0 */ sll $s0, $s0, 3 +/* E07A28 802426C8 02028021 */ addu $s0, $s0, $v0 +/* E07A2C 802426CC AFA30010 */ sw $v1, 0x10($sp) +/* E07A30 802426D0 8E020000 */ lw $v0, ($s0) +/* E07A34 802426D4 AFA00018 */ sw $zero, 0x18($sp) +/* E07A38 802426D8 AFA0001C */ sw $zero, 0x1c($sp) +/* E07A3C 802426DC AFA20014 */ sw $v0, 0x14($sp) +/* E07A40 802426E0 8E050004 */ lw $a1, 4($s0) +/* E07A44 802426E4 24020001 */ addiu $v0, $zero, 1 +/* E07A48 802426E8 3C01802E */ lui $at, 0x802e +/* E07A4C 802426EC AC22F524 */ sw $v0, -0xadc($at) +/* E07A50 802426F0 0C00E219 */ jal create_standard_npc +/* E07A54 802426F4 27A40010 */ addiu $a0, $sp, 0x10 +/* E07A58 802426F8 0C00E2B7 */ jal get_npc_by_index +/* E07A5C 802426FC 0040202D */ daddu $a0, $v0, $zero +/* E07A60 80242700 3C04FBFF */ lui $a0, 0xfbff +/* E07A64 80242704 8C430000 */ lw $v1, ($v0) +/* E07A68 80242708 3484FFFF */ ori $a0, $a0, 0xffff +/* E07A6C 8024270C A05100A4 */ sb $s1, 0xa4($v0) +/* E07A70 80242710 00641824 */ and $v1, $v1, $a0 +/* E07A74 80242714 AC430000 */ sw $v1, ($v0) +/* E07A78 80242718 C6000008 */ lwc1 $f0, 8($s0) +/* E07A7C 8024271C E4400038 */ swc1 $f0, 0x38($v0) +/* E07A80 80242720 C600000C */ lwc1 $f0, 0xc($s0) +/* E07A84 80242724 E440003C */ swc1 $f0, 0x3c($v0) +/* E07A88 80242728 C6000010 */ lwc1 $f0, 0x10($s0) +/* E07A8C 8024272C E4400040 */ swc1 $f0, 0x40($v0) +/* E07A90 80242730 8E050014 */ lw $a1, 0x14($s0) +/* E07A94 80242734 0C00ECD0 */ jal set_npc_yaw +/* E07A98 80242738 0040202D */ daddu $a0, $v0, $zero +/* E07A9C 8024273C 8FBF0028 */ lw $ra, 0x28($sp) +/* E07AA0 80242740 8FB10024 */ lw $s1, 0x24($sp) +/* E07AA4 80242744 8FB00020 */ lw $s0, 0x20($sp) +/* E07AA8 80242748 24020002 */ addiu $v0, $zero, 2 +/* E07AAC 8024274C 03E00008 */ jr $ra +/* E07AB0 80242750 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242754_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242754_E05360.s new file mode 100644 index 0000000000..dacab1c174 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242754_E05360.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242754_E07AB4 +/* E07AB4 80242754 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E07AB8 80242758 AFB10014 */ sw $s1, 0x14($sp) +/* E07ABC 8024275C 0080882D */ daddu $s1, $a0, $zero +/* E07AC0 80242760 AFBF0018 */ sw $ra, 0x18($sp) +/* E07AC4 80242764 AFB00010 */ sw $s0, 0x10($sp) +/* E07AC8 80242768 8E30000C */ lw $s0, 0xc($s1) +/* E07ACC 8024276C 8E050000 */ lw $a1, ($s0) +/* E07AD0 80242770 0C0B1EAF */ jal get_variable +/* E07AD4 80242774 26100004 */ addiu $s0, $s0, 4 +/* E07AD8 80242778 3C048035 */ lui $a0, 0x8035 +/* E07ADC 8024277C 2484F800 */ addiu $a0, $a0, -0x800 +/* E07AE0 80242780 8E100000 */ lw $s0, ($s0) +/* E07AE4 80242784 0C00A41B */ jal _heap_malloc +/* E07AE8 80242788 0040282D */ daddu $a1, $v0, $zero +/* E07AEC 8024278C 0220202D */ daddu $a0, $s1, $zero +/* E07AF0 80242790 0040302D */ daddu $a2, $v0, $zero +/* E07AF4 80242794 0C0B2026 */ jal set_variable +/* E07AF8 80242798 0200282D */ daddu $a1, $s0, $zero +/* E07AFC 8024279C 8FBF0018 */ lw $ra, 0x18($sp) +/* E07B00 802427A0 8FB10014 */ lw $s1, 0x14($sp) +/* E07B04 802427A4 8FB00010 */ lw $s0, 0x10($sp) +/* E07B08 802427A8 24020002 */ addiu $v0, $zero, 2 +/* E07B0C 802427AC 03E00008 */ jr $ra +/* E07B10 802427B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802427B4.s b/asm/nonmatchings/world/area_end/end_01/func_802427B4.s new file mode 100644 index 0000000000..81442d2c46 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802427B4.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427B4 +/* E07B14 802427B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07B18 802427B8 AFBF0010 */ sw $ra, 0x10($sp) +/* E07B1C 802427BC 8C82000C */ lw $v0, 0xc($a0) +/* E07B20 802427C0 0C0B1EAF */ jal get_variable +/* E07B24 802427C4 8C450000 */ lw $a1, ($v0) +/* E07B28 802427C8 3C048035 */ lui $a0, 0x8035 +/* E07B2C 802427CC 2484F800 */ addiu $a0, $a0, -0x800 +/* E07B30 802427D0 0C00A487 */ jal _heap_free +/* E07B34 802427D4 0040282D */ daddu $a1, $v0, $zero +/* E07B38 802427D8 8FBF0010 */ lw $ra, 0x10($sp) +/* E07B3C 802427DC 24020002 */ addiu $v0, $zero, 2 +/* E07B40 802427E0 03E00008 */ jr $ra +/* E07B44 802427E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_802427E8.s b/asm/nonmatchings/world/area_end/end_01/func_802427E8.s new file mode 100644 index 0000000000..a2af07edca --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802427E8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427E8 +/* E07B48 802427E8 3C04800B */ lui $a0, %hi(gCameras) +/* E07B4C 802427EC 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* E07B50 802427F0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* E07B54 802427F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* E07B58 802427F8 3C013F2A */ lui $at, 0x3f2a +/* E07B5C 802427FC 3421AAAB */ ori $at, $at, 0xaaab +/* E07B60 80242800 44810000 */ mtc1 $at, $f0 +/* E07B64 80242804 00031080 */ sll $v0, $v1, 2 +/* E07B68 80242808 00431021 */ addu $v0, $v0, $v1 +/* E07B6C 8024280C 00021080 */ sll $v0, $v0, 2 +/* E07B70 80242810 00431023 */ subu $v0, $v0, $v1 +/* E07B74 80242814 000218C0 */ sll $v1, $v0, 3 +/* E07B78 80242818 00431021 */ addu $v0, $v0, $v1 +/* E07B7C 8024281C 000210C0 */ sll $v0, $v0, 3 +/* E07B80 80242820 00441021 */ addu $v0, $v0, $a0 +/* E07B84 80242824 C44204B0 */ lwc1 $f2, 0x4b0($v0) +/* E07B88 80242828 46001080 */ add.s $f2, $f2, $f0 +/* E07B8C 8024282C 24030001 */ addiu $v1, $zero, 1 +/* E07B90 80242830 A4430506 */ sh $v1, 0x506($v0) +/* E07B94 80242834 E44204B0 */ swc1 $f2, 0x4b0($v0) +/* E07B98 80242838 03E00008 */ jr $ra +/* E07B9C 8024283C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242840.s b/asm/nonmatchings/world/area_end/end_01/func_80242840.s new file mode 100644 index 0000000000..777bf9c06b --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242840.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242840 +/* E07BA0 80242840 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07BA4 80242844 AFB00010 */ sw $s0, 0x10($sp) +/* E07BA8 80242848 0080802D */ daddu $s0, $a0, $zero +/* E07BAC 8024284C AFBF0014 */ sw $ra, 0x14($sp) +/* E07BB0 80242850 10A00006 */ beqz $a1, .L8024286C +/* E07BB4 80242854 8E02000C */ lw $v0, 0xc($s0) +/* E07BB8 80242858 0C0B1EAF */ jal get_variable +/* E07BBC 8024285C 8C450000 */ lw $a1, ($v0) +/* E07BC0 80242860 0C00EABB */ jal get_npc_unsafe +/* E07BC4 80242864 0040202D */ daddu $a0, $v0, $zero +/* E07BC8 80242868 AE020074 */ sw $v0, 0x74($s0) +.L8024286C: +/* E07BCC 8024286C 8E030074 */ lw $v1, 0x74($s0) +/* E07BD0 80242870 3C013F2A */ lui $at, 0x3f2a +/* E07BD4 80242874 3421AAAB */ ori $at, $at, 0xaaab +/* E07BD8 80242878 44811000 */ mtc1 $at, $f2 +/* E07BDC 8024287C C4600038 */ lwc1 $f0, 0x38($v1) +/* E07BE0 80242880 46020000 */ add.s $f0, $f0, $f2 +/* E07BE4 80242884 E4600038 */ swc1 $f0, 0x38($v1) +/* E07BE8 80242888 8FBF0014 */ lw $ra, 0x14($sp) +/* E07BEC 8024288C 8FB00010 */ lw $s0, 0x10($sp) +/* E07BF0 80242890 0000102D */ daddu $v0, $zero, $zero +/* E07BF4 80242894 03E00008 */ jr $ra +/* E07BF8 80242898 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_8024289C.s b/asm/nonmatchings/world/area_end/end_01/func_8024289C.s new file mode 100644 index 0000000000..13edac695c --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_8024289C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024289C +/* E07BFC 8024289C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* E07C00 802428A0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* E07C04 802428A4 8C420010 */ lw $v0, 0x10($v0) +/* E07C08 802428A8 30429000 */ andi $v0, $v0, 0x9000 +/* E07C0C 802428AC 0002102B */ sltu $v0, $zero, $v0 +/* E07C10 802428B0 03E00008 */ jr $ra +/* E07C14 802428B4 00021040 */ sll $v0, $v0, 1 +/* E07C18 802428B8 00000000 */ nop +/* E07C1C 802428BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_01/func_802428C0.s b/asm/nonmatchings/world/area_end/end_01/func_802428C0.s new file mode 100644 index 0000000000..35e467928e --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_802428C0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428C0 +/* E07C20 802428C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07C24 802428C4 2404005B */ addiu $a0, $zero, 0x5b +/* E07C28 802428C8 2405FFFF */ addiu $a1, $zero, -1 +/* E07C2C 802428CC 24060001 */ addiu $a2, $zero, 1 +/* E07C30 802428D0 AFBF0010 */ sw $ra, 0x10($sp) +/* E07C34 802428D4 0C046E54 */ jal func_8011B950 +/* E07C38 802428D8 0000382D */ daddu $a3, $zero, $zero +/* E07C3C 802428DC 0000202D */ daddu $a0, $zero, $zero +/* E07C40 802428E0 0080282D */ daddu $a1, $a0, $zero +/* E07C44 802428E4 0080302D */ daddu $a2, $a0, $zero +/* E07C48 802428E8 0C046F97 */ jal set_background_color_blend +/* E07C4C 802428EC 240700FF */ addiu $a3, $zero, 0xff +/* E07C50 802428F0 8FBF0010 */ lw $ra, 0x10($sp) +/* E07C54 802428F4 24020002 */ addiu $v0, $zero, 2 +/* E07C58 802428F8 03E00008 */ jr $ra +/* E07C5C 802428FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242900_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242900_E05360.s new file mode 100644 index 0000000000..f658cae9bb --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242900_E05360.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242900_E07C60 +/* E07C60 80242900 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07C64 80242904 AFB00010 */ sw $s0, 0x10($sp) +/* E07C68 80242908 0080802D */ daddu $s0, $a0, $zero +/* E07C6C 8024290C 10A00003 */ beqz $a1, .L8024291C +/* E07C70 80242910 AFBF0014 */ sw $ra, 0x14($sp) +/* E07C74 80242914 240200FF */ addiu $v0, $zero, 0xff +/* E07C78 80242918 AE020074 */ sw $v0, 0x74($s0) +.L8024291C: +/* E07C7C 8024291C 8E020074 */ lw $v0, 0x74($s0) +/* E07C80 80242920 2442FFF6 */ addiu $v0, $v0, -0xa +/* E07C84 80242924 04410002 */ bgez $v0, .L80242930 +/* E07C88 80242928 AE020074 */ sw $v0, 0x74($s0) +/* E07C8C 8024292C AE000074 */ sw $zero, 0x74($s0) +.L80242930: +/* E07C90 80242930 0000202D */ daddu $a0, $zero, $zero +/* E07C94 80242934 0080282D */ daddu $a1, $a0, $zero +/* E07C98 80242938 92070077 */ lbu $a3, 0x77($s0) +/* E07C9C 8024293C 0C046F97 */ jal set_background_color_blend +/* E07CA0 80242940 0080302D */ daddu $a2, $a0, $zero +/* E07CA4 80242944 8E020074 */ lw $v0, 0x74($s0) +/* E07CA8 80242948 14400007 */ bnez $v0, .L80242968 +/* E07CAC 8024294C 0000102D */ daddu $v0, $zero, $zero +/* E07CB0 80242950 2404005B */ addiu $a0, $zero, 0x5b +/* E07CB4 80242954 2405FFFF */ addiu $a1, $zero, -1 +/* E07CB8 80242958 0000302D */ daddu $a2, $zero, $zero +/* E07CBC 8024295C 0C046E54 */ jal func_8011B950 +/* E07CC0 80242960 00C0382D */ daddu $a3, $a2, $zero +/* E07CC4 80242964 24020002 */ addiu $v0, $zero, 2 +.L80242968: +/* E07CC8 80242968 8FBF0014 */ lw $ra, 0x14($sp) +/* E07CCC 8024296C 8FB00010 */ lw $s0, 0x10($sp) +/* E07CD0 80242970 03E00008 */ jr $ra +/* E07CD4 80242974 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242978_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242978_E05360.s new file mode 100644 index 0000000000..125c322ce3 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242978_E05360.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242978_E07CD8 +/* E07CD8 80242978 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* E07CDC 8024297C AFB20020 */ sw $s2, 0x20($sp) +/* E07CE0 80242980 AFBF0024 */ sw $ra, 0x24($sp) +/* E07CE4 80242984 AFB1001C */ sw $s1, 0x1c($sp) +/* E07CE8 80242988 AFB00018 */ sw $s0, 0x18($sp) +/* E07CEC 8024298C F7B40028 */ sdc1 $f20, 0x28($sp) +/* E07CF0 80242990 10A00006 */ beqz $a1, .L802429AC +/* E07CF4 80242994 0080902D */ daddu $s2, $a0, $zero +/* E07CF8 80242998 8E4400AC */ lw $a0, 0xac($s2) +/* E07CFC 8024299C 0C00EAD2 */ jal get_npc_safe +/* E07D00 802429A0 00000000 */ nop +/* E07D04 802429A4 AE420078 */ sw $v0, 0x78($s2) +/* E07D08 802429A8 AE400070 */ sw $zero, 0x70($s2) +.L802429AC: +/* E07D0C 802429AC 3C05444A */ lui $a1, 0x444a +/* E07D10 802429B0 34A58000 */ ori $a1, $a1, 0x8000 +/* E07D14 802429B4 8E510078 */ lw $s1, 0x78($s2) +/* E07D18 802429B8 4480A000 */ mtc1 $zero, $f20 +/* E07D1C 802429BC 2410002D */ addiu $s0, $zero, 0x2d +/* E07D20 802429C0 AFB00010 */ sw $s0, 0x10($sp) +/* E07D24 802429C4 8E470070 */ lw $a3, 0x70($s2) +/* E07D28 802429C8 4406A000 */ mfc1 $a2, $f20 +/* E07D2C 802429CC 0C00A8ED */ jal update_lerp +/* E07D30 802429D0 24040004 */ addiu $a0, $zero, 4 +/* E07D34 802429D4 4405A000 */ mfc1 $a1, $f20 +/* E07D38 802429D8 3C06437F */ lui $a2, 0x437f +/* E07D3C 802429DC E6200048 */ swc1 $f0, 0x48($s1) +/* E07D40 802429E0 AFB00010 */ sw $s0, 0x10($sp) +/* E07D44 802429E4 8E470070 */ lw $a3, 0x70($s2) +/* E07D48 802429E8 0C00A8ED */ jal update_lerp +/* E07D4C 802429EC 24040004 */ addiu $a0, $zero, 4 +/* E07D50 802429F0 3C014F00 */ lui $at, 0x4f00 +/* E07D54 802429F4 44811000 */ mtc1 $at, $f2 +/* E07D58 802429F8 00000000 */ nop +/* E07D5C 802429FC 4600103E */ c.le.s $f2, $f0 +/* E07D60 80242A00 00000000 */ nop +/* E07D64 80242A04 45010005 */ bc1t .L80242A1C +/* E07D68 80242A08 263100AC */ addiu $s1, $s1, 0xac +/* E07D6C 80242A0C 4600010D */ trunc.w.s $f4, $f0 +/* E07D70 80242A10 44032000 */ mfc1 $v1, $f4 +/* E07D74 80242A14 08090A8E */ j .L80242A38 +/* E07D78 80242A18 A2230000 */ sb $v1, ($s1) +.L80242A1C: +/* E07D7C 80242A1C 46020001 */ sub.s $f0, $f0, $f2 +/* E07D80 80242A20 3C028000 */ lui $v0, 0x8000 +/* E07D84 80242A24 4600010D */ trunc.w.s $f4, $f0 +/* E07D88 80242A28 44032000 */ mfc1 $v1, $f4 +/* E07D8C 80242A2C 00000000 */ nop +/* E07D90 80242A30 00621825 */ or $v1, $v1, $v0 +/* E07D94 80242A34 A2230000 */ sb $v1, ($s1) +.L80242A38: +/* E07D98 80242A38 8E430070 */ lw $v1, 0x70($s2) +/* E07D9C 80242A3C 24630001 */ addiu $v1, $v1, 1 +/* E07DA0 80242A40 2862002E */ slti $v0, $v1, 0x2e +/* E07DA4 80242A44 AE430070 */ sw $v1, 0x70($s2) +/* E07DA8 80242A48 8FBF0024 */ lw $ra, 0x24($sp) +/* E07DAC 80242A4C 8FB20020 */ lw $s2, 0x20($sp) +/* E07DB0 80242A50 8FB1001C */ lw $s1, 0x1c($sp) +/* E07DB4 80242A54 8FB00018 */ lw $s0, 0x18($sp) +/* E07DB8 80242A58 D7B40028 */ ldc1 $f20, 0x28($sp) +/* E07DBC 80242A5C 38420001 */ xori $v0, $v0, 1 +/* E07DC0 80242A60 03E00008 */ jr $ra +/* E07DC4 80242A64 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242A68_E05360.s b/asm/nonmatchings/world/area_end/end_01/func_80242A68_E05360.s new file mode 100644 index 0000000000..63b94e3d1c --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242A68_E05360.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A68_E07DC8 +/* E07DC8 80242A68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E07DCC 80242A6C AFB10014 */ sw $s1, 0x14($sp) +/* E07DD0 80242A70 0080882D */ daddu $s1, $a0, $zero +/* E07DD4 80242A74 AFBF0018 */ sw $ra, 0x18($sp) +/* E07DD8 80242A78 AFB00010 */ sw $s0, 0x10($sp) +/* E07DDC 80242A7C 8E22000C */ lw $v0, 0xc($s1) +/* E07DE0 80242A80 00A0802D */ daddu $s0, $a1, $zero +/* E07DE4 80242A84 0C0B1EAF */ jal get_variable +/* E07DE8 80242A88 8C450000 */ lw $a1, ($v0) +/* E07DEC 80242A8C 1200000C */ beqz $s0, .L80242AC0 +/* E07DF0 80242A90 0220202D */ daddu $a0, $s1, $zero +/* E07DF4 80242A94 0C0B36B0 */ jal resolve_npc +/* E07DF8 80242A98 0040282D */ daddu $a1, $v0, $zero +/* E07DFC 80242A9C AE220074 */ sw $v0, 0x74($s1) +/* E07E00 80242AA0 C4420038 */ lwc1 $f2, 0x38($v0) +/* E07E04 80242AA4 3C014334 */ lui $at, 0x4334 +/* E07E08 80242AA8 44810000 */ mtc1 $at, $f0 +/* E07E0C 80242AAC 24020048 */ addiu $v0, $zero, 0x48 +/* E07E10 80242AB0 AE220070 */ sw $v0, 0x70($s1) +/* E07E14 80242AB4 4600110D */ trunc.w.s $f4, $f2 +/* E07E18 80242AB8 E6240078 */ swc1 $f4, 0x78($s1) +/* E07E1C 80242ABC E620007C */ swc1 $f0, 0x7c($s1) +.L80242AC0: +/* E07E20 80242AC0 C620007C */ lwc1 $f0, 0x7c($s1) +/* E07E24 80242AC4 3C0140A0 */ lui $at, 0x40a0 +/* E07E28 80242AC8 44816000 */ mtc1 $at, $f12 +/* E07E2C 80242ACC 8E300074 */ lw $s0, 0x74($s1) +/* E07E30 80242AD0 0C00A6C9 */ jal clamp_angle +/* E07E34 80242AD4 460C0301 */ sub.s $f12, $f0, $f12 +/* E07E38 80242AD8 46000306 */ mov.s $f12, $f0 +/* E07E3C 80242ADC 0C00A8D4 */ jal cos_deg +/* E07E40 80242AE0 E62C007C */ swc1 $f12, 0x7c($s1) +/* E07E44 80242AE4 3C0140C0 */ lui $at, 0x40c0 +/* E07E48 80242AE8 44811000 */ mtc1 $at, $f2 +/* E07E4C 80242AEC 00000000 */ nop +/* E07E50 80242AF0 46020002 */ mul.s $f0, $f0, $f2 +/* E07E54 80242AF4 00000000 */ nop +/* E07E58 80242AF8 C6020038 */ lwc1 $f2, 0x38($s0) +/* E07E5C 80242AFC 46001080 */ add.s $f2, $f2, $f0 +/* E07E60 80242B00 E6020038 */ swc1 $f2, 0x38($s0) +/* E07E64 80242B04 0C00A8BB */ jal sin_deg +/* E07E68 80242B08 C62C007C */ lwc1 $f12, 0x7c($s1) +/* E07E6C 80242B0C 3C014020 */ lui $at, 0x4020 +/* E07E70 80242B10 44811000 */ mtc1 $at, $f2 +/* E07E74 80242B14 00000000 */ nop +/* E07E78 80242B18 46020002 */ mul.s $f0, $f0, $f2 +/* E07E7C 80242B1C 00000000 */ nop +/* E07E80 80242B20 C6020040 */ lwc1 $f2, 0x40($s0) +/* E07E84 80242B24 46001080 */ add.s $f2, $f2, $f0 +/* E07E88 80242B28 3C014334 */ lui $at, 0x4334 +/* E07E8C 80242B2C 44816000 */ mtc1 $at, $f12 +/* E07E90 80242B30 E6020040 */ swc1 $f2, 0x40($s0) +/* E07E94 80242B34 C620007C */ lwc1 $f0, 0x7c($s1) +/* E07E98 80242B38 0C00A6C9 */ jal clamp_angle +/* E07E9C 80242B3C 46006301 */ sub.s $f12, $f12, $f0 +/* E07EA0 80242B40 E6000034 */ swc1 $f0, 0x34($s0) +/* E07EA4 80242B44 8E230070 */ lw $v1, 0x70($s1) +/* E07EA8 80242B48 2463FFFF */ addiu $v1, $v1, -1 +/* E07EAC 80242B4C AE230070 */ sw $v1, 0x70($s1) +/* E07EB0 80242B50 8FBF0018 */ lw $ra, 0x18($sp) +/* E07EB4 80242B54 8FB10014 */ lw $s1, 0x14($sp) +/* E07EB8 80242B58 8FB00010 */ lw $s0, 0x10($sp) +/* E07EBC 80242B5C 2C620001 */ sltiu $v0, $v1, 1 +/* E07EC0 80242B60 03E00008 */ jr $ra +/* E07EC4 80242B64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242B68.s b/asm/nonmatchings/world/area_end/end_01/func_80242B68.s new file mode 100644 index 0000000000..ee1a878a5c --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242B68.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B68 +/* E07EC8 80242B68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E07ECC 80242B6C AFB10014 */ sw $s1, 0x14($sp) +/* E07ED0 80242B70 0080882D */ daddu $s1, $a0, $zero +/* E07ED4 80242B74 AFBF0018 */ sw $ra, 0x18($sp) +/* E07ED8 80242B78 AFB00010 */ sw $s0, 0x10($sp) +/* E07EDC 80242B7C 8E22000C */ lw $v0, 0xc($s1) +/* E07EE0 80242B80 00A0802D */ daddu $s0, $a1, $zero +/* E07EE4 80242B84 0C0B1EAF */ jal get_variable +/* E07EE8 80242B88 8C450000 */ lw $a1, ($v0) +/* E07EEC 80242B8C 1200000C */ beqz $s0, .L80242BC0 +/* E07EF0 80242B90 0220202D */ daddu $a0, $s1, $zero +/* E07EF4 80242B94 0C0B36B0 */ jal resolve_npc +/* E07EF8 80242B98 0040282D */ daddu $a1, $v0, $zero +/* E07EFC 80242B9C AE220074 */ sw $v0, 0x74($s1) +/* E07F00 80242BA0 C4420038 */ lwc1 $f2, 0x38($v0) +/* E07F04 80242BA4 3C014334 */ lui $at, 0x4334 +/* E07F08 80242BA8 44810000 */ mtc1 $at, $f0 +/* E07F0C 80242BAC 24020048 */ addiu $v0, $zero, 0x48 +/* E07F10 80242BB0 AE220070 */ sw $v0, 0x70($s1) +/* E07F14 80242BB4 4600110D */ trunc.w.s $f4, $f2 +/* E07F18 80242BB8 E6240078 */ swc1 $f4, 0x78($s1) +/* E07F1C 80242BBC E620007C */ swc1 $f0, 0x7c($s1) +.L80242BC0: +/* E07F20 80242BC0 C620007C */ lwc1 $f0, 0x7c($s1) +/* E07F24 80242BC4 3C0140A0 */ lui $at, 0x40a0 +/* E07F28 80242BC8 44816000 */ mtc1 $at, $f12 +/* E07F2C 80242BCC 8E300074 */ lw $s0, 0x74($s1) +/* E07F30 80242BD0 0C00A6C9 */ jal clamp_angle +/* E07F34 80242BD4 460C0300 */ add.s $f12, $f0, $f12 +/* E07F38 80242BD8 46000306 */ mov.s $f12, $f0 +/* E07F3C 80242BDC 0C00A8D4 */ jal cos_deg +/* E07F40 80242BE0 E62C007C */ swc1 $f12, 0x7c($s1) +/* E07F44 80242BE4 3C0140C0 */ lui $at, 0x40c0 +/* E07F48 80242BE8 44811000 */ mtc1 $at, $f2 +/* E07F4C 80242BEC 00000000 */ nop +/* E07F50 80242BF0 46020002 */ mul.s $f0, $f0, $f2 +/* E07F54 80242BF4 00000000 */ nop +/* E07F58 80242BF8 C6020038 */ lwc1 $f2, 0x38($s0) +/* E07F5C 80242BFC 46001080 */ add.s $f2, $f2, $f0 +/* E07F60 80242C00 E6020038 */ swc1 $f2, 0x38($s0) +/* E07F64 80242C04 0C00A8BB */ jal sin_deg +/* E07F68 80242C08 C62C007C */ lwc1 $f12, 0x7c($s1) +/* E07F6C 80242C0C 3C014020 */ lui $at, 0x4020 +/* E07F70 80242C10 44811000 */ mtc1 $at, $f2 +/* E07F74 80242C14 00000000 */ nop +/* E07F78 80242C18 46020002 */ mul.s $f0, $f0, $f2 +/* E07F7C 80242C1C 00000000 */ nop +/* E07F80 80242C20 C6020040 */ lwc1 $f2, 0x40($s0) +/* E07F84 80242C24 46001080 */ add.s $f2, $f2, $f0 +/* E07F88 80242C28 3C014334 */ lui $at, 0x4334 +/* E07F8C 80242C2C 44816000 */ mtc1 $at, $f12 +/* E07F90 80242C30 E6020040 */ swc1 $f2, 0x40($s0) +/* E07F94 80242C34 C620007C */ lwc1 $f0, 0x7c($s1) +/* E07F98 80242C38 0C00A6C9 */ jal clamp_angle +/* E07F9C 80242C3C 46006301 */ sub.s $f12, $f12, $f0 +/* E07FA0 80242C40 E6000034 */ swc1 $f0, 0x34($s0) +/* E07FA4 80242C44 8E230070 */ lw $v1, 0x70($s1) +/* E07FA8 80242C48 2463FFFF */ addiu $v1, $v1, -1 +/* E07FAC 80242C4C AE230070 */ sw $v1, 0x70($s1) +/* E07FB0 80242C50 8FBF0018 */ lw $ra, 0x18($sp) +/* E07FB4 80242C54 8FB10014 */ lw $s1, 0x14($sp) +/* E07FB8 80242C58 8FB00010 */ lw $s0, 0x10($sp) +/* E07FBC 80242C5C 2C620001 */ sltiu $v0, $v1, 1 +/* E07FC0 80242C60 03E00008 */ jr $ra +/* E07FC4 80242C64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242C68.s b/asm/nonmatchings/world/area_end/end_01/func_80242C68.s new file mode 100644 index 0000000000..537768cfe4 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242C68.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C68 +/* E07FC8 80242C68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E07FCC 80242C6C AFBF0010 */ sw $ra, 0x10($sp) +/* E07FD0 80242C70 8C82000C */ lw $v0, 0xc($a0) +/* E07FD4 80242C74 0C0B1EAF */ jal get_variable +/* E07FD8 80242C78 8C450000 */ lw $a1, ($v0) +/* E07FDC 80242C7C 8FBF0010 */ lw $ra, 0x10($sp) +/* E07FE0 80242C80 3C018024 */ lui $at, 0x8024 +/* E07FE4 80242C84 AC225D34 */ sw $v0, 0x5d34($at) +/* E07FE8 80242C88 24020002 */ addiu $v0, $zero, 2 +/* E07FEC 80242C8C 03E00008 */ jr $ra +/* E07FF0 80242C90 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242C94.s b/asm/nonmatchings/world/area_end/end_01/func_80242C94.s new file mode 100644 index 0000000000..17bbe48363 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242C94.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C94 +/* E07FF4 80242C94 3C06FC12 */ lui $a2, 0xfc12 +/* E07FF8 80242C98 34C64624 */ ori $a2, $a2, 0x4624 +/* E07FFC 80242C9C 3C05FF8F */ lui $a1, 0xff8f +/* E08000 80242CA0 3C04800A */ lui $a0, 0x800a +/* E08004 80242CA4 2484A66C */ addiu $a0, $a0, -0x5994 +/* E08008 80242CA8 8C820000 */ lw $v0, ($a0) +/* E0800C 80242CAC 34A5FFFF */ ori $a1, $a1, 0xffff +/* E08010 80242CB0 0040182D */ daddu $v1, $v0, $zero +/* E08014 80242CB4 24420008 */ addiu $v0, $v0, 8 +/* E08018 80242CB8 AC820000 */ sw $v0, ($a0) +/* E0801C 80242CBC AC660000 */ sw $a2, ($v1) +/* E08020 80242CC0 AC650004 */ sw $a1, 4($v1) +/* E08024 80242CC4 24430008 */ addiu $v1, $v0, 8 +/* E08028 80242CC8 AC830000 */ sw $v1, ($a0) +/* E0802C 80242CCC 3C048024 */ lui $a0, 0x8024 +/* E08030 80242CD0 90845D37 */ lbu $a0, 0x5d37($a0) +/* E08034 80242CD4 3C03FA00 */ lui $v1, 0xfa00 +/* E08038 80242CD8 AC430000 */ sw $v1, ($v0) +/* E0803C 80242CDC 03E00008 */ jr $ra +/* E08040 80242CE0 AC440004 */ sw $a0, 4($v0) +/* E08044 80242CE4 00000000 */ nop +/* E08048 80242CE8 00000000 */ nop +/* E0804C 80242CEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242CF0.s b/asm/nonmatchings/world/area_end/end_01/func_80242CF0.s new file mode 100644 index 0000000000..5d899c52f8 --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242CF0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CF0 +/* E08050 80242CF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E08054 80242CF4 AFB10014 */ sw $s1, 0x14($sp) +/* E08058 80242CF8 0080882D */ daddu $s1, $a0, $zero +/* E0805C 80242CFC AFBF001C */ sw $ra, 0x1c($sp) +/* E08060 80242D00 AFB20018 */ sw $s2, 0x18($sp) +/* E08064 80242D04 AFB00010 */ sw $s0, 0x10($sp) +/* E08068 80242D08 8E30000C */ lw $s0, 0xc($s1) +/* E0806C 80242D0C 8E050000 */ lw $a1, ($s0) +/* E08070 80242D10 0C0B1EAF */ jal get_variable +/* E08074 80242D14 26100004 */ addiu $s0, $s0, 4 +/* E08078 80242D18 8E050000 */ lw $a1, ($s0) +/* E0807C 80242D1C 26100004 */ addiu $s0, $s0, 4 +/* E08080 80242D20 0220202D */ daddu $a0, $s1, $zero +/* E08084 80242D24 0C0B1EAF */ jal get_variable +/* E08088 80242D28 0040902D */ daddu $s2, $v0, $zero +/* E0808C 80242D2C 0220202D */ daddu $a0, $s1, $zero +/* E08090 80242D30 8E050000 */ lw $a1, ($s0) +/* E08094 80242D34 0C0B1EAF */ jal get_variable +/* E08098 80242D38 0040802D */ daddu $s0, $v0, $zero +/* E0809C 80242D3C 0040882D */ daddu $s1, $v0, $zero +/* E080A0 80242D40 2402FFFF */ addiu $v0, $zero, -1 +/* E080A4 80242D44 16020005 */ bne $s0, $v0, .L80242D5C +/* E080A8 80242D48 24020001 */ addiu $v0, $zero, 1 +/* E080AC 80242D4C 0C04760B */ jal func_8011D82C +/* E080B0 80242D50 0220202D */ daddu $a0, $s1, $zero +/* E080B4 80242D54 08090B7F */ j .L80242DFC +/* E080B8 80242D58 24020002 */ addiu $v0, $zero, 2 +.L80242D5C: +/* E080BC 80242D5C 12420018 */ beq $s2, $v0, .L80242DC0 +/* E080C0 80242D60 2A420002 */ slti $v0, $s2, 2 +/* E080C4 80242D64 10400005 */ beqz $v0, .L80242D7C +/* E080C8 80242D68 24020002 */ addiu $v0, $zero, 2 +/* E080CC 80242D6C 12400007 */ beqz $s2, .L80242D8C +/* E080D0 80242D70 3412FFFF */ ori $s2, $zero, 0xffff +/* E080D4 80242D74 08090B7F */ j .L80242DFC +/* E080D8 80242D78 00000000 */ nop +.L80242D7C: +/* E080DC 80242D7C 1242001B */ beq $s2, $v0, .L80242DEC +/* E080E0 80242D80 24020002 */ addiu $v0, $zero, 2 +/* E080E4 80242D84 08090B7F */ j .L80242DFC +/* E080E8 80242D88 00000000 */ nop +.L80242D8C: +/* E080EC 80242D8C 8E040000 */ lw $a0, ($s0) +/* E080F0 80242D90 1092001A */ beq $a0, $s2, .L80242DFC +/* E080F4 80242D94 24020002 */ addiu $v0, $zero, 2 +/* E080F8 80242D98 0C046C04 */ jal get_model_list_index_from_tree_index +/* E080FC 80242D9C 26100004 */ addiu $s0, $s0, 4 +/* E08100 80242DA0 0C046B4C */ jal get_model_from_list_index +/* E08104 80242DA4 0040202D */ daddu $a0, $v0, $zero +/* E08108 80242DA8 0040202D */ daddu $a0, $v0, $zero +/* E0810C 80242DAC 2405FFFF */ addiu $a1, $zero, -1 +/* E08110 80242DB0 0C046F1F */ jal func_8011BC7C +/* E08114 80242DB4 0220302D */ daddu $a2, $s1, $zero +/* E08118 80242DB8 08090B63 */ j .L80242D8C +/* E0811C 80242DBC 00000000 */ nop +.L80242DC0: +/* E08120 80242DC0 3412FFFF */ ori $s2, $zero, 0xffff +.L80242DC4: +/* E08124 80242DC4 8E020000 */ lw $v0, ($s0) +/* E08128 80242DC8 1052000B */ beq $v0, $s2, .L80242DF8 +/* E0812C 80242DCC 2405FFFF */ addiu $a1, $zero, -1 +/* E08130 80242DD0 96040002 */ lhu $a0, 2($s0) +/* E08134 80242DD4 0220302D */ daddu $a2, $s1, $zero +/* E08138 80242DD8 26100004 */ addiu $s0, $s0, 4 +/* E0813C 80242DDC 0C046E54 */ jal func_8011B950 +/* E08140 80242DE0 0000382D */ daddu $a3, $zero, $zero +/* E08144 80242DE4 08090B71 */ j .L80242DC4 +/* E08148 80242DE8 00000000 */ nop +.L80242DEC: +/* E0814C 80242DEC 3C028015 */ lui $v0, 0x8015 +/* E08150 80242DF0 8C4212F0 */ lw $v0, 0x12f0($v0) +/* E08154 80242DF4 A0510000 */ sb $s1, ($v0) +.L80242DF8: +/* E08158 80242DF8 24020002 */ addiu $v0, $zero, 2 +.L80242DFC: +/* E0815C 80242DFC 8FBF001C */ lw $ra, 0x1c($sp) +/* E08160 80242E00 8FB20018 */ lw $s2, 0x18($sp) +/* E08164 80242E04 8FB10014 */ lw $s1, 0x14($sp) +/* E08168 80242E08 8FB00010 */ lw $s0, 0x10($sp) +/* E0816C 80242E0C 03E00008 */ jr $ra +/* E08170 80242E10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_end/end_01/func_80242E14.s b/asm/nonmatchings/world/area_end/end_01/func_80242E14.s new file mode 100644 index 0000000000..8e52f1f91c --- /dev/null +++ b/asm/nonmatchings/world/area_end/end_01/func_80242E14.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E14 +/* E08174 80242E14 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* E08178 80242E18 AFB10034 */ sw $s1, 0x34($sp) +/* E0817C 80242E1C 0080882D */ daddu $s1, $a0, $zero +/* E08180 80242E20 AFBF0054 */ sw $ra, 0x54($sp) +/* E08184 80242E24 AFBE0050 */ sw $fp, 0x50($sp) +/* E08188 80242E28 AFB7004C */ sw $s7, 0x4c($sp) +/* E0818C 80242E2C AFB60048 */ sw $s6, 0x48($sp) +/* E08190 80242E30 AFB50044 */ sw $s5, 0x44($sp) +/* E08194 80242E34 AFB40040 */ sw $s4, 0x40($sp) +/* E08198 80242E38 AFB3003C */ sw $s3, 0x3c($sp) +/* E0819C 80242E3C AFB20038 */ sw $s2, 0x38($sp) +/* E081A0 80242E40 AFB00030 */ sw $s0, 0x30($sp) +/* E081A4 80242E44 8E30000C */ lw $s0, 0xc($s1) +/* E081A8 80242E48 8E050000 */ lw $a1, ($s0) +/* E081AC 80242E4C 0C0B1EAF */ jal get_variable +/* E081B0 80242E50 26100004 */ addiu $s0, $s0, 4 +/* E081B4 80242E54 8E050000 */ lw $a1, ($s0) +/* E081B8 80242E58 26100004 */ addiu $s0, $s0, 4 +/* E081BC 80242E5C 0220202D */ daddu $a0, $s1, $zero +/* E081C0 80242E60 0C0B1EAF */ jal get_variable +/* E081C4 80242E64 0040982D */ daddu $s3, $v0, $zero +/* E081C8 80242E68 8E050000 */ lw $a1, ($s0) +/* E081CC 80242E6C 26100004 */ addiu $s0, $s0, 4 +/* E081D0 80242E70 0220202D */ daddu $a0, $s1, $zero +/* E081D4 80242E74 0C0B1EAF */ jal get_variable +/* E081D8 80242E78 0040B02D */ daddu $s6, $v0, $zero +/* E081DC 80242E7C 8E050000 */ lw $a1, ($s0) +/* E081E0 80242E80 26100004 */ addiu $s0, $s0, 4 +/* E081E4 80242E84 0220202D */ daddu $a0, $s1, $zero +/* E081E8 80242E88 0C0B1EAF */ jal get_variable +/* E081EC 80242E8C 0040A82D */ daddu $s5, $v0, $zero +/* E081F0 80242E90 8E050000 */ lw $a1, ($s0) +/* E081F4 80242E94 26100004 */ addiu $s0, $s0, 4 +/* E081F8 80242E98 0220202D */ daddu $a0, $s1, $zero +/* E081FC 80242E9C 0C0B1EAF */ jal get_variable +/* E08200 80242EA0 0040A02D */ daddu $s4, $v0, $zero +/* E08204 80242EA4 8E050000 */ lw $a1, ($s0) +/* E08208 80242EA8 26100004 */ addiu $s0, $s0, 4 +/* E0820C 80242EAC 0220202D */ daddu $a0, $s1, $zero +/* E08210 80242EB0 0C0B1EAF */ jal get_variable +/* E08214 80242EB4 0040902D */ daddu $s2, $v0, $zero +/* E08218 80242EB8 8E050000 */ lw $a1, ($s0) +/* E0821C 80242EBC 26100004 */ addiu $s0, $s0, 4 +/* E08220 80242EC0 0220202D */ daddu $a0, $s1, $zero +/* E08224 80242EC4 0C0B1EAF */ jal get_variable +/* E08228 80242EC8 AFA20028 */ sw $v0, 0x28($sp) +/* E0822C 80242ECC 8E050000 */ lw $a1, ($s0) +/* E08230 80242ED0 26100004 */ addiu $s0, $s0, 4 +/* E08234 80242ED4 0220202D */ daddu $a0, $s1, $zero +/* E08238 80242ED8 0C0B1EAF */ jal get_variable +/* E0823C 80242EDC 0040F02D */ daddu $fp, $v0, $zero +/* E08240 80242EE0 8E050000 */ lw $a1, ($s0) +/* E08244 80242EE4 26100004 */ addiu $s0, $s0, 4 +/* E08248 80242EE8 0220202D */ daddu $a0, $s1, $zero +/* E0824C 80242EEC 0C0B1EAF */ jal get_variable +/* E08250 80242EF0 0040B82D */ daddu $s7, $v0, $zero +/* E08254 80242EF4 0220202D */ daddu $a0, $s1, $zero +/* E08258 80242EF8 8E050000 */ lw $a1, ($s0) +/* E0825C 80242EFC 0C0B1EAF */ jal get_variable +/* E08260 80242F00 0040802D */ daddu $s0, $v0, $zero +/* E08264 80242F04 0040182D */ daddu $v1, $v0, $zero +/* E08268 80242F08 24020002 */ addiu $v0, $zero, 2 +/* E0826C 80242F0C 12620012 */ beq $s3, $v0, .L80242F58 +/* E08270 80242F10 2A620003 */ slti $v0, $s3, 3 +/* E08274 80242F14 10400005 */ beqz $v0, .L80242F2C +/* E08278 80242F18 24020001 */ addiu $v0, $zero, 1 +/* E0827C 80242F1C 12620008 */ beq $s3, $v0, .L80242F40 +/* E08280 80242F20 32C400FF */ andi $a0, $s6, 0xff +/* E08284 80242F24 08090BED */ j .L80242FB4 +/* E08288 80242F28 00000000 */ nop +.L80242F2C: +/* E0828C 80242F2C 24020003 */ addiu $v0, $zero, 3 +/* E08290 80242F30 12620018 */ beq $s3, $v0, .L80242F94 +/* E08294 80242F34 32C400FF */ andi $a0, $s6, 0xff +/* E08298 80242F38 08090BED */ j .L80242FB4 +/* E0829C 80242F3C 00000000 */ nop +.L80242F40: +/* E082A0 80242F40 32A500FF */ andi $a1, $s5, 0xff +/* E082A4 80242F44 328600FF */ andi $a2, $s4, 0xff +/* E082A8 80242F48 0C046F97 */ jal set_background_color_blend +/* E082AC 80242F4C 324700FF */ andi $a3, $s2, 0xff +/* E082B0 80242F50 08090BED */ j .L80242FB4 +/* E082B4 80242F54 00000000 */ nop +.L80242F58: +/* E082B8 80242F58 32C400FF */ andi $a0, $s6, 0xff +/* E082BC 80242F5C 32A500FF */ andi $a1, $s5, 0xff +/* E082C0 80242F60 328600FF */ andi $a2, $s4, 0xff +/* E082C4 80242F64 324700FF */ andi $a3, $s2, 0xff +/* E082C8 80242F68 93A2002B */ lbu $v0, 0x2b($sp) +/* E082CC 80242F6C AFB0001C */ sw $s0, 0x1c($sp) +/* E082D0 80242F70 AFA30020 */ sw $v1, 0x20($sp) +/* E082D4 80242F74 AFA20010 */ sw $v0, 0x10($sp) +/* E082D8 80242F78 33C200FF */ andi $v0, $fp, 0xff +/* E082DC 80242F7C AFA20014 */ sw $v0, 0x14($sp) +/* E082E0 80242F80 32E200FF */ andi $v0, $s7, 0xff +/* E082E4 80242F84 0C046FAD */ jal func_8011BEB4 +/* E082E8 80242F88 AFA20018 */ sw $v0, 0x18($sp) +/* E082EC 80242F8C 08090BED */ j .L80242FB4 +/* E082F0 80242F90 00000000 */ nop +.L80242F94: +/* E082F4 80242F94 32A500FF */ andi $a1, $s5, 0xff +/* E082F8 80242F98 328600FF */ andi $a2, $s4, 0xff +/* E082FC 80242F9C 324700FF */ andi $a3, $s2, 0xff +/* E08300 80242FA0 93A2002B */ lbu $v0, 0x2b($sp) +/* E08304 80242FA4 AFA20010 */ sw $v0, 0x10($sp) +/* E08308 80242FA8 33C200FF */ andi $v0, $fp, 0xff +/* E0830C 80242FAC 0C046FE6 */ jal func_8011BF98 +/* E08310 80242FB0 AFA20014 */ sw $v0, 0x14($sp) +.L80242FB4: +/* E08314 80242FB4 8FBF0054 */ lw $ra, 0x54($sp) +/* E08318 80242FB8 8FBE0050 */ lw $fp, 0x50($sp) +/* E0831C 80242FBC 8FB7004C */ lw $s7, 0x4c($sp) +/* E08320 80242FC0 8FB60048 */ lw $s6, 0x48($sp) +/* E08324 80242FC4 8FB50044 */ lw $s5, 0x44($sp) +/* E08328 80242FC8 8FB40040 */ lw $s4, 0x40($sp) +/* E0832C 80242FCC 8FB3003C */ lw $s3, 0x3c($sp) +/* E08330 80242FD0 8FB20038 */ lw $s2, 0x38($sp) +/* E08334 80242FD4 8FB10034 */ lw $s1, 0x34($sp) +/* E08338 80242FD8 8FB00030 */ lw $s0, 0x30($sp) +/* E0833C 80242FDC 24020002 */ addiu $v0, $zero, 2 +/* E08340 80242FE0 03E00008 */ jr $ra +/* E08344 80242FE4 27BD0058 */ addiu $sp, $sp, 0x58 +/* E08348 80242FE8 00000000 */ nop +/* E0834C 80242FEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240000_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240000_C9DF20.s new file mode 100644 index 0000000000..56540bca7f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240000_C9DF20.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C9DF20 +/* C9DF20 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9DF24 80240004 0000202D */ daddu $a0, $zero, $zero +/* C9DF28 80240008 0080282D */ daddu $a1, $a0, $zero +/* C9DF2C 8024000C 0080302D */ daddu $a2, $a0, $zero +/* C9DF30 80240010 0080382D */ daddu $a3, $a0, $zero +/* C9DF34 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* C9DF38 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* C9DF3C 8024001C 0C01CA54 */ jal func_80072950 +/* C9DF40 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* C9DF44 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* C9DF48 80240028 24020002 */ addiu $v0, $zero, 2 +/* C9DF4C 8024002C 03E00008 */ jr $ra +/* C9DF50 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* C9DF54 80240034 00000000 */ nop +/* C9DF58 80240038 00000000 */ nop +/* C9DF5C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240040_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240040_C9DF20.s new file mode 100644 index 0000000000..4f93c5a0b9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240040_C9DF20.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_C9DF60 +/* C9DF60 80240040 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C9DF64 80240044 AFB50024 */ sw $s5, 0x24($sp) +/* C9DF68 80240048 0080A82D */ daddu $s5, $a0, $zero +/* C9DF6C 8024004C AFBF002C */ sw $ra, 0x2c($sp) +/* C9DF70 80240050 AFB60028 */ sw $s6, 0x28($sp) +/* C9DF74 80240054 AFB40020 */ sw $s4, 0x20($sp) +/* C9DF78 80240058 AFB3001C */ sw $s3, 0x1c($sp) +/* C9DF7C 8024005C AFB20018 */ sw $s2, 0x18($sp) +/* C9DF80 80240060 AFB10014 */ sw $s1, 0x14($sp) +/* C9DF84 80240064 AFB00010 */ sw $s0, 0x10($sp) +/* C9DF88 80240068 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C9DF8C 8024006C F7B60038 */ sdc1 $f22, 0x38($sp) +/* C9DF90 80240070 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C9DF94 80240074 8EB30148 */ lw $s3, 0x148($s5) +/* C9DF98 80240078 86640008 */ lh $a0, 8($s3) +/* C9DF9C 8024007C 0C00EABB */ jal get_npc_unsafe +/* C9DFA0 80240080 00A0B02D */ daddu $s6, $a1, $zero +/* C9DFA4 80240084 0040A02D */ daddu $s4, $v0, $zero +/* C9DFA8 80240088 AEA00074 */ sw $zero, 0x74($s5) +/* C9DFAC 8024008C C6980038 */ lwc1 $f24, 0x38($s4) +/* C9DFB0 80240090 C6960040 */ lwc1 $f22, 0x40($s4) +/* C9DFB4 80240094 0000902D */ daddu $s2, $zero, $zero +/* C9DFB8 80240098 AEA00078 */ sw $zero, 0x78($s5) +/* C9DFBC 8024009C 8E6300D0 */ lw $v1, 0xd0($s3) +/* C9DFC0 802400A0 8C620000 */ lw $v0, ($v1) +/* C9DFC4 802400A4 3C0146FF */ lui $at, 0x46ff +/* C9DFC8 802400A8 3421FE00 */ ori $at, $at, 0xfe00 +/* C9DFCC 802400AC 4481A000 */ mtc1 $at, $f20 +/* C9DFD0 802400B0 18400018 */ blez $v0, .L80240114 +/* C9DFD4 802400B4 0240802D */ daddu $s0, $s2, $zero +/* C9DFD8 802400B8 0240882D */ daddu $s1, $s2, $zero +.L802400BC: +/* C9DFDC 802400BC 02231021 */ addu $v0, $s1, $v1 +/* C9DFE0 802400C0 4600C306 */ mov.s $f12, $f24 +/* C9DFE4 802400C4 C4440004 */ lwc1 $f4, 4($v0) +/* C9DFE8 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* C9DFEC 802400CC 44062000 */ mfc1 $a2, $f4 +/* C9DFF0 802400D0 C444000C */ lwc1 $f4, 0xc($v0) +/* C9DFF4 802400D4 46802120 */ cvt.s.w $f4, $f4 +/* C9DFF8 802400D8 44072000 */ mfc1 $a3, $f4 +/* C9DFFC 802400DC 0C00A7B5 */ jal dist2D +/* C9E000 802400E0 4600B386 */ mov.s $f14, $f22 +/* C9E004 802400E4 4614003C */ c.lt.s $f0, $f20 +/* C9E008 802400E8 00000000 */ nop +/* C9E00C 802400EC 45000003 */ bc1f .L802400FC +/* C9E010 802400F0 2631000C */ addiu $s1, $s1, 0xc +/* C9E014 802400F4 46000506 */ mov.s $f20, $f0 +/* C9E018 802400F8 AEB20078 */ sw $s2, 0x78($s5) +.L802400FC: +/* C9E01C 802400FC 8E6300D0 */ lw $v1, 0xd0($s3) +/* C9E020 80240100 26100001 */ addiu $s0, $s0, 1 +/* C9E024 80240104 8C620000 */ lw $v0, ($v1) +/* C9E028 80240108 0202102A */ slt $v0, $s0, $v0 +/* C9E02C 8024010C 1440FFEB */ bnez $v0, .L802400BC +/* C9E030 80240110 26520001 */ addiu $s2, $s2, 1 +.L80240114: +/* C9E034 80240114 8E6200CC */ lw $v0, 0xcc($s3) +/* C9E038 80240118 8C420004 */ lw $v0, 4($v0) +/* C9E03C 8024011C AE820028 */ sw $v0, 0x28($s4) +/* C9E040 80240120 8E6200D0 */ lw $v0, 0xd0($s3) +/* C9E044 80240124 8C42007C */ lw $v0, 0x7c($v0) +/* C9E048 80240128 04410004 */ bgez $v0, .L8024013C +/* C9E04C 8024012C 00000000 */ nop +/* C9E050 80240130 C6C00000 */ lwc1 $f0, ($s6) +/* C9E054 80240134 08090057 */ j .L8024015C +/* C9E058 80240138 E6800018 */ swc1 $f0, 0x18($s4) +.L8024013C: +/* C9E05C 8024013C 3C018025 */ lui $at, 0x8025 +/* C9E060 80240140 D42291C0 */ ldc1 $f2, -0x6e40($at) +/* C9E064 80240144 44820000 */ mtc1 $v0, $f0 +/* C9E068 80240148 00000000 */ nop +/* C9E06C 8024014C 46800021 */ cvt.d.w $f0, $f0 +/* C9E070 80240150 46220003 */ div.d $f0, $f0, $f2 +/* C9E074 80240154 46200020 */ cvt.s.d $f0, $f0 +/* C9E078 80240158 E6800018 */ swc1 $f0, 0x18($s4) +.L8024015C: +/* C9E07C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* C9E080 80240160 AEA20070 */ sw $v0, 0x70($s5) +/* C9E084 80240164 8FBF002C */ lw $ra, 0x2c($sp) +/* C9E088 80240168 8FB60028 */ lw $s6, 0x28($sp) +/* C9E08C 8024016C 8FB50024 */ lw $s5, 0x24($sp) +/* C9E090 80240170 8FB40020 */ lw $s4, 0x20($sp) +/* C9E094 80240174 8FB3001C */ lw $s3, 0x1c($sp) +/* C9E098 80240178 8FB20018 */ lw $s2, 0x18($sp) +/* C9E09C 8024017C 8FB10014 */ lw $s1, 0x14($sp) +/* C9E0A0 80240180 8FB00010 */ lw $s0, 0x10($sp) +/* C9E0A4 80240184 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C9E0A8 80240188 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C9E0AC 8024018C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C9E0B0 80240190 03E00008 */ jr $ra +/* C9E0B4 80240194 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240198_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240198_C9DF20.s new file mode 100644 index 0000000000..5fc04f5558 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240198_C9DF20.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240198_C9E0B8 +/* C9E0B8 80240198 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C9E0BC 8024019C AFB20038 */ sw $s2, 0x38($sp) +/* C9E0C0 802401A0 0080902D */ daddu $s2, $a0, $zero +/* C9E0C4 802401A4 AFBF0044 */ sw $ra, 0x44($sp) +/* C9E0C8 802401A8 AFB40040 */ sw $s4, 0x40($sp) +/* C9E0CC 802401AC AFB3003C */ sw $s3, 0x3c($sp) +/* C9E0D0 802401B0 AFB10034 */ sw $s1, 0x34($sp) +/* C9E0D4 802401B4 AFB00030 */ sw $s0, 0x30($sp) +/* C9E0D8 802401B8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C9E0DC 802401BC F7B40048 */ sdc1 $f20, 0x48($sp) +/* C9E0E0 802401C0 8E510148 */ lw $s1, 0x148($s2) +/* C9E0E4 802401C4 00A0982D */ daddu $s3, $a1, $zero +/* C9E0E8 802401C8 86240008 */ lh $a0, 8($s1) +/* C9E0EC 802401CC 0C00EABB */ jal get_npc_unsafe +/* C9E0F0 802401D0 00C0A02D */ daddu $s4, $a2, $zero +/* C9E0F4 802401D4 8E630014 */ lw $v1, 0x14($s3) +/* C9E0F8 802401D8 04600030 */ bltz $v1, .L8024029C +/* C9E0FC 802401DC 0040802D */ daddu $s0, $v0, $zero +/* C9E100 802401E0 8E420074 */ lw $v0, 0x74($s2) +/* C9E104 802401E4 1C40002C */ bgtz $v0, .L80240298 +/* C9E108 802401E8 2442FFFF */ addiu $v0, $v0, -1 +/* C9E10C 802401EC 0280202D */ daddu $a0, $s4, $zero +/* C9E110 802401F0 AE430074 */ sw $v1, 0x74($s2) +/* C9E114 802401F4 AFA00010 */ sw $zero, 0x10($sp) +/* C9E118 802401F8 8E66000C */ lw $a2, 0xc($s3) +/* C9E11C 802401FC 8E670010 */ lw $a3, 0x10($s3) +/* C9E120 80240200 0C01242D */ jal func_800490B4 +/* C9E124 80240204 0220282D */ daddu $a1, $s1, $zero +/* C9E128 80240208 10400021 */ beqz $v0, .L80240290 +/* C9E12C 8024020C 0000202D */ daddu $a0, $zero, $zero +/* C9E130 80240210 0200282D */ daddu $a1, $s0, $zero +/* C9E134 80240214 0000302D */ daddu $a2, $zero, $zero +/* C9E138 80240218 860300A8 */ lh $v1, 0xa8($s0) +/* C9E13C 8024021C 3C013F80 */ lui $at, 0x3f80 +/* C9E140 80240220 44810000 */ mtc1 $at, $f0 +/* C9E144 80240224 3C014000 */ lui $at, 0x4000 +/* C9E148 80240228 44811000 */ mtc1 $at, $f2 +/* C9E14C 8024022C 3C01C1A0 */ lui $at, 0xc1a0 +/* C9E150 80240230 44812000 */ mtc1 $at, $f4 +/* C9E154 80240234 2402000F */ addiu $v0, $zero, 0xf +/* C9E158 80240238 AFA2001C */ sw $v0, 0x1c($sp) +/* C9E15C 8024023C 44833000 */ mtc1 $v1, $f6 +/* C9E160 80240240 00000000 */ nop +/* C9E164 80240244 468031A0 */ cvt.s.w $f6, $f6 +/* C9E168 80240248 44073000 */ mfc1 $a3, $f6 +/* C9E16C 8024024C 27A20028 */ addiu $v0, $sp, 0x28 +/* C9E170 80240250 AFA20020 */ sw $v0, 0x20($sp) +/* C9E174 80240254 E7A00010 */ swc1 $f0, 0x10($sp) +/* C9E178 80240258 E7A20014 */ swc1 $f2, 0x14($sp) +/* C9E17C 8024025C 0C01BFA4 */ jal fx_emote +/* C9E180 80240260 E7A40018 */ swc1 $f4, 0x18($sp) +/* C9E184 80240264 0200202D */ daddu $a0, $s0, $zero +/* C9E188 80240268 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C9E18C 8024026C 0C012530 */ jal func_800494C0 +/* C9E190 80240270 3C060020 */ lui $a2, 0x20 +/* C9E194 80240274 8E220018 */ lw $v0, 0x18($s1) +/* C9E198 80240278 9442002A */ lhu $v0, 0x2a($v0) +/* C9E19C 8024027C 30420001 */ andi $v0, $v0, 1 +/* C9E1A0 80240280 14400064 */ bnez $v0, .L80240414 +/* C9E1A4 80240284 2402000A */ addiu $v0, $zero, 0xa +/* C9E1A8 80240288 08090105 */ j .L80240414 +/* C9E1AC 8024028C 2402000C */ addiu $v0, $zero, 0xc +.L80240290: +/* C9E1B0 80240290 8E420074 */ lw $v0, 0x74($s2) +/* C9E1B4 80240294 2442FFFF */ addiu $v0, $v0, -1 +.L80240298: +/* C9E1B8 80240298 AE420074 */ sw $v0, 0x74($s2) +.L8024029C: +/* C9E1BC 8024029C 8602008C */ lh $v0, 0x8c($s0) +/* C9E1C0 802402A0 1440005D */ bnez $v0, .L80240418 +/* C9E1C4 802402A4 00000000 */ nop +/* C9E1C8 802402A8 C6000018 */ lwc1 $f0, 0x18($s0) +/* C9E1CC 802402AC 3C014010 */ lui $at, 0x4010 +/* C9E1D0 802402B0 44811800 */ mtc1 $at, $f3 +/* C9E1D4 802402B4 44801000 */ mtc1 $zero, $f2 +/* C9E1D8 802402B8 46000021 */ cvt.d.s $f0, $f0 +/* C9E1DC 802402BC 4622003C */ c.lt.d $f0, $f2 +/* C9E1E0 802402C0 00000000 */ nop +/* C9E1E4 802402C4 45000003 */ bc1f .L802402D4 +/* C9E1E8 802402C8 0200202D */ daddu $a0, $s0, $zero +/* C9E1EC 802402CC 080900B6 */ j .L802402D8 +/* C9E1F0 802402D0 0000282D */ daddu $a1, $zero, $zero +.L802402D4: +/* C9E1F4 802402D4 24050001 */ addiu $a1, $zero, 1 +.L802402D8: +/* C9E1F8 802402D8 0C00F598 */ jal func_8003D660 +/* C9E1FC 802402DC 00000000 */ nop +/* C9E200 802402E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C9E204 802402E4 8E430078 */ lw $v1, 0x78($s2) +/* C9E208 802402E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C9E20C 802402EC 00031040 */ sll $v0, $v1, 1 +/* C9E210 802402F0 00431021 */ addu $v0, $v0, $v1 +/* C9E214 802402F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9E218 802402F8 00021080 */ sll $v0, $v0, 2 +/* C9E21C 802402FC 00431021 */ addu $v0, $v0, $v1 +/* C9E220 80240300 C4560004 */ lwc1 $f22, 4($v0) +/* C9E224 80240304 4680B5A0 */ cvt.s.w $f22, $f22 +/* C9E228 80240308 C454000C */ lwc1 $f20, 0xc($v0) +/* C9E22C 8024030C 4680A520 */ cvt.s.w $f20, $f20 +/* C9E230 80240310 4406B000 */ mfc1 $a2, $f22 +/* C9E234 80240314 4407A000 */ mfc1 $a3, $f20 +/* C9E238 80240318 0C00A720 */ jal atan2 +/* C9E23C 8024031C 00000000 */ nop +/* C9E240 80240320 8E050018 */ lw $a1, 0x18($s0) +/* C9E244 80240324 44060000 */ mfc1 $a2, $f0 +/* C9E248 80240328 0200202D */ daddu $a0, $s0, $zero +/* C9E24C 8024032C 0C00EA95 */ jal npc_move_heading +/* C9E250 80240330 AE06000C */ sw $a2, 0xc($s0) +/* C9E254 80240334 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C9E258 80240338 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C9E25C 8024033C 4406B000 */ mfc1 $a2, $f22 +/* C9E260 80240340 4407A000 */ mfc1 $a3, $f20 +/* C9E264 80240344 0C00A7B5 */ jal dist2D +/* C9E268 80240348 00000000 */ nop +/* C9E26C 8024034C C6020018 */ lwc1 $f2, 0x18($s0) +/* C9E270 80240350 4602003E */ c.le.s $f0, $f2 +/* C9E274 80240354 00000000 */ nop +/* C9E278 80240358 4500002F */ bc1f .L80240418 +/* C9E27C 8024035C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C9E280 80240360 24020002 */ addiu $v0, $zero, 2 +/* C9E284 80240364 0C00A67F */ jal rand_int +/* C9E288 80240368 AE420070 */ sw $v0, 0x70($s2) +/* C9E28C 8024036C 3C035555 */ lui $v1, 0x5555 +/* C9E290 80240370 34635556 */ ori $v1, $v1, 0x5556 +/* C9E294 80240374 00430018 */ mult $v0, $v1 +/* C9E298 80240378 000227C3 */ sra $a0, $v0, 0x1f +/* C9E29C 8024037C 00004010 */ mfhi $t0 +/* C9E2A0 80240380 01042023 */ subu $a0, $t0, $a0 +/* C9E2A4 80240384 00041840 */ sll $v1, $a0, 1 +/* C9E2A8 80240388 00641821 */ addu $v1, $v1, $a0 +/* C9E2AC 8024038C 00431023 */ subu $v0, $v0, $v1 +/* C9E2B0 80240390 24430002 */ addiu $v1, $v0, 2 +/* C9E2B4 80240394 AE430074 */ sw $v1, 0x74($s2) +/* C9E2B8 80240398 8E62002C */ lw $v0, 0x2c($s3) +/* C9E2BC 8024039C 18400009 */ blez $v0, .L802403C4 +/* C9E2C0 802403A0 24020004 */ addiu $v0, $zero, 4 +/* C9E2C4 802403A4 8E620004 */ lw $v0, 4($s3) +/* C9E2C8 802403A8 18400006 */ blez $v0, .L802403C4 +/* C9E2CC 802403AC 24020004 */ addiu $v0, $zero, 4 +/* C9E2D0 802403B0 8E620008 */ lw $v0, 8($s3) +/* C9E2D4 802403B4 18400003 */ blez $v0, .L802403C4 +/* C9E2D8 802403B8 24020004 */ addiu $v0, $zero, 4 +/* C9E2DC 802403BC 14600002 */ bnez $v1, .L802403C8 +/* C9E2E0 802403C0 00000000 */ nop +.L802403C4: +/* C9E2E4 802403C4 AE420070 */ sw $v0, 0x70($s2) +.L802403C8: +/* C9E2E8 802403C8 0C00A67F */ jal rand_int +/* C9E2EC 802403CC 24042710 */ addiu $a0, $zero, 0x2710 +/* C9E2F0 802403D0 3C0351EB */ lui $v1, 0x51eb +/* C9E2F4 802403D4 3463851F */ ori $v1, $v1, 0x851f +/* C9E2F8 802403D8 00430018 */ mult $v0, $v1 +/* C9E2FC 802403DC 00021FC3 */ sra $v1, $v0, 0x1f +/* C9E300 802403E0 00004010 */ mfhi $t0 +/* C9E304 802403E4 00082143 */ sra $a0, $t0, 5 +/* C9E308 802403E8 00832023 */ subu $a0, $a0, $v1 +/* C9E30C 802403EC 00041840 */ sll $v1, $a0, 1 +/* C9E310 802403F0 00641821 */ addu $v1, $v1, $a0 +/* C9E314 802403F4 000318C0 */ sll $v1, $v1, 3 +/* C9E318 802403F8 00641821 */ addu $v1, $v1, $a0 +/* C9E31C 802403FC 00031880 */ sll $v1, $v1, 2 +/* C9E320 80240400 8E640004 */ lw $a0, 4($s3) +/* C9E324 80240404 00431023 */ subu $v0, $v0, $v1 +/* C9E328 80240408 0044102A */ slt $v0, $v0, $a0 +/* C9E32C 8024040C 10400002 */ beqz $v0, .L80240418 +/* C9E330 80240410 24020004 */ addiu $v0, $zero, 4 +.L80240414: +/* C9E334 80240414 AE420070 */ sw $v0, 0x70($s2) +.L80240418: +/* C9E338 80240418 8FBF0044 */ lw $ra, 0x44($sp) +/* C9E33C 8024041C 8FB40040 */ lw $s4, 0x40($sp) +/* C9E340 80240420 8FB3003C */ lw $s3, 0x3c($sp) +/* C9E344 80240424 8FB20038 */ lw $s2, 0x38($sp) +/* C9E348 80240428 8FB10034 */ lw $s1, 0x34($sp) +/* C9E34C 8024042C 8FB00030 */ lw $s0, 0x30($sp) +/* C9E350 80240430 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C9E354 80240434 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C9E358 80240438 03E00008 */ jr $ra +/* C9E35C 8024043C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240440_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240440_C9DF20.s new file mode 100644 index 0000000000..f6cb56f8ac --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240440_C9DF20.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240440_C9E360 +/* C9E360 80240440 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C9E364 80240444 AFB3001C */ sw $s3, 0x1c($sp) +/* C9E368 80240448 0080982D */ daddu $s3, $a0, $zero +/* C9E36C 8024044C AFBF0020 */ sw $ra, 0x20($sp) +/* C9E370 80240450 AFB20018 */ sw $s2, 0x18($sp) +/* C9E374 80240454 AFB10014 */ sw $s1, 0x14($sp) +/* C9E378 80240458 AFB00010 */ sw $s0, 0x10($sp) +/* C9E37C 8024045C 8E720148 */ lw $s2, 0x148($s3) +/* C9E380 80240460 86440008 */ lh $a0, 8($s2) +/* C9E384 80240464 0C00EABB */ jal get_npc_unsafe +/* C9E388 80240468 00A0882D */ daddu $s1, $a1, $zero +/* C9E38C 8024046C 8E240008 */ lw $a0, 8($s1) +/* C9E390 80240470 0040802D */ daddu $s0, $v0, $zero +/* C9E394 80240474 00041FC2 */ srl $v1, $a0, 0x1f +/* C9E398 80240478 00832021 */ addu $a0, $a0, $v1 +/* C9E39C 8024047C 00042043 */ sra $a0, $a0, 1 +/* C9E3A0 80240480 0C00A67F */ jal rand_int +/* C9E3A4 80240484 24840001 */ addiu $a0, $a0, 1 +/* C9E3A8 80240488 8E230008 */ lw $v1, 8($s1) +/* C9E3AC 8024048C 240400B4 */ addiu $a0, $zero, 0xb4 +/* C9E3B0 80240490 00032FC2 */ srl $a1, $v1, 0x1f +/* C9E3B4 80240494 00651821 */ addu $v1, $v1, $a1 +/* C9E3B8 80240498 00031843 */ sra $v1, $v1, 1 +/* C9E3BC 8024049C 00621821 */ addu $v1, $v1, $v0 +/* C9E3C0 802404A0 0C00A67F */ jal rand_int +/* C9E3C4 802404A4 A603008E */ sh $v1, 0x8e($s0) +/* C9E3C8 802404A8 C60C000C */ lwc1 $f12, 0xc($s0) +/* C9E3CC 802404AC 44820000 */ mtc1 $v0, $f0 +/* C9E3D0 802404B0 00000000 */ nop +/* C9E3D4 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* C9E3D8 802404B8 46006300 */ add.s $f12, $f12, $f0 +/* C9E3DC 802404BC 3C0142B4 */ lui $at, 0x42b4 +/* C9E3E0 802404C0 44810000 */ mtc1 $at, $f0 +/* C9E3E4 802404C4 0C00A6C9 */ jal clamp_angle +/* C9E3E8 802404C8 46006301 */ sub.s $f12, $f12, $f0 +/* C9E3EC 802404CC E600000C */ swc1 $f0, 0xc($s0) +/* C9E3F0 802404D0 8E4200CC */ lw $v0, 0xcc($s2) +/* C9E3F4 802404D4 8C420000 */ lw $v0, ($v0) +/* C9E3F8 802404D8 AE020028 */ sw $v0, 0x28($s0) +/* C9E3FC 802404DC 24020003 */ addiu $v0, $zero, 3 +/* C9E400 802404E0 AE620070 */ sw $v0, 0x70($s3) +/* C9E404 802404E4 8FBF0020 */ lw $ra, 0x20($sp) +/* C9E408 802404E8 8FB3001C */ lw $s3, 0x1c($sp) +/* C9E40C 802404EC 8FB20018 */ lw $s2, 0x18($sp) +/* C9E410 802404F0 8FB10014 */ lw $s1, 0x14($sp) +/* C9E414 802404F4 8FB00010 */ lw $s0, 0x10($sp) +/* C9E418 802404F8 03E00008 */ jr $ra +/* C9E41C 802404FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240500_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240500_C9DF20.s new file mode 100644 index 0000000000..20e62e9e01 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240500_C9DF20.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_C9E420 +/* C9E420 80240500 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C9E424 80240504 AFB40040 */ sw $s4, 0x40($sp) +/* C9E428 80240508 0080A02D */ daddu $s4, $a0, $zero +/* C9E42C 8024050C AFBF0044 */ sw $ra, 0x44($sp) +/* C9E430 80240510 AFB3003C */ sw $s3, 0x3c($sp) +/* C9E434 80240514 AFB20038 */ sw $s2, 0x38($sp) +/* C9E438 80240518 AFB10034 */ sw $s1, 0x34($sp) +/* C9E43C 8024051C AFB00030 */ sw $s0, 0x30($sp) +/* C9E440 80240520 8E910148 */ lw $s1, 0x148($s4) +/* C9E444 80240524 00A0902D */ daddu $s2, $a1, $zero +/* C9E448 80240528 86240008 */ lh $a0, 8($s1) +/* C9E44C 8024052C 0C00EABB */ jal get_npc_unsafe +/* C9E450 80240530 00C0982D */ daddu $s3, $a2, $zero +/* C9E454 80240534 8E430014 */ lw $v1, 0x14($s2) +/* C9E458 80240538 04600031 */ bltz $v1, .L80240600 +/* C9E45C 8024053C 0040802D */ daddu $s0, $v0, $zero +/* C9E460 80240540 0260202D */ daddu $a0, $s3, $zero +/* C9E464 80240544 AFA00010 */ sw $zero, 0x10($sp) +/* C9E468 80240548 8E460024 */ lw $a2, 0x24($s2) +/* C9E46C 8024054C 8E470028 */ lw $a3, 0x28($s2) +/* C9E470 80240550 0C01242D */ jal func_800490B4 +/* C9E474 80240554 0220282D */ daddu $a1, $s1, $zero +/* C9E478 80240558 10400029 */ beqz $v0, .L80240600 +/* C9E47C 8024055C 0000202D */ daddu $a0, $zero, $zero +/* C9E480 80240560 0200282D */ daddu $a1, $s0, $zero +/* C9E484 80240564 0000302D */ daddu $a2, $zero, $zero +/* C9E488 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* C9E48C 8024056C 3C013F80 */ lui $at, 0x3f80 +/* C9E490 80240570 44810000 */ mtc1 $at, $f0 +/* C9E494 80240574 3C014000 */ lui $at, 0x4000 +/* C9E498 80240578 44811000 */ mtc1 $at, $f2 +/* C9E49C 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* C9E4A0 80240580 44812000 */ mtc1 $at, $f4 +/* C9E4A4 80240584 2402000F */ addiu $v0, $zero, 0xf +/* C9E4A8 80240588 AFA2001C */ sw $v0, 0x1c($sp) +/* C9E4AC 8024058C 44833000 */ mtc1 $v1, $f6 +/* C9E4B0 80240590 00000000 */ nop +/* C9E4B4 80240594 468031A0 */ cvt.s.w $f6, $f6 +/* C9E4B8 80240598 44073000 */ mfc1 $a3, $f6 +/* C9E4BC 8024059C 27A20028 */ addiu $v0, $sp, 0x28 +/* C9E4C0 802405A0 AFA20020 */ sw $v0, 0x20($sp) +/* C9E4C4 802405A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C9E4C8 802405A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C9E4CC 802405AC 0C01BFA4 */ jal fx_emote +/* C9E4D0 802405B0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C9E4D4 802405B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C9E4D8 802405B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C9E4DC 802405BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C9E4E0 802405C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C9E4E4 802405C4 8C460028 */ lw $a2, 0x28($v0) +/* C9E4E8 802405C8 0C00A720 */ jal atan2 +/* C9E4EC 802405CC 8C470030 */ lw $a3, 0x30($v0) +/* C9E4F0 802405D0 0200202D */ daddu $a0, $s0, $zero +/* C9E4F4 802405D4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C9E4F8 802405D8 3C060020 */ lui $a2, 0x20 +/* C9E4FC 802405DC 0C012530 */ jal func_800494C0 +/* C9E500 802405E0 E480000C */ swc1 $f0, 0xc($a0) +/* C9E504 802405E4 8E220018 */ lw $v0, 0x18($s1) +/* C9E508 802405E8 9442002A */ lhu $v0, 0x2a($v0) +/* C9E50C 802405EC 30420001 */ andi $v0, $v0, 1 +/* C9E510 802405F0 14400029 */ bnez $v0, .L80240698 +/* C9E514 802405F4 2402000A */ addiu $v0, $zero, 0xa +/* C9E518 802405F8 080901A6 */ j .L80240698 +/* C9E51C 802405FC 2402000C */ addiu $v0, $zero, 0xc +.L80240600: +/* C9E520 80240600 8602008C */ lh $v0, 0x8c($s0) +/* C9E524 80240604 14400025 */ bnez $v0, .L8024069C +/* C9E528 80240608 00000000 */ nop +/* C9E52C 8024060C 9602008E */ lhu $v0, 0x8e($s0) +/* C9E530 80240610 2442FFFF */ addiu $v0, $v0, -1 +/* C9E534 80240614 A602008E */ sh $v0, 0x8e($s0) +/* C9E538 80240618 00021400 */ sll $v0, $v0, 0x10 +/* C9E53C 8024061C 1440001F */ bnez $v0, .L8024069C +/* C9E540 80240620 00000000 */ nop +/* C9E544 80240624 8E820074 */ lw $v0, 0x74($s4) +/* C9E548 80240628 2442FFFF */ addiu $v0, $v0, -1 +/* C9E54C 8024062C 10400019 */ beqz $v0, .L80240694 +/* C9E550 80240630 AE820074 */ sw $v0, 0x74($s4) +/* C9E554 80240634 8E220018 */ lw $v0, 0x18($s1) +/* C9E558 80240638 9442002A */ lhu $v0, 0x2a($v0) +/* C9E55C 8024063C 30420010 */ andi $v0, $v0, 0x10 +/* C9E560 80240640 14400007 */ bnez $v0, .L80240660 +/* C9E564 80240644 00000000 */ nop +/* C9E568 80240648 C600000C */ lwc1 $f0, 0xc($s0) +/* C9E56C 8024064C 3C014334 */ lui $at, 0x4334 +/* C9E570 80240650 44816000 */ mtc1 $at, $f12 +/* C9E574 80240654 0C00A6C9 */ jal clamp_angle +/* C9E578 80240658 460C0300 */ add.s $f12, $f0, $f12 +/* C9E57C 8024065C E600000C */ swc1 $f0, 0xc($s0) +.L80240660: +/* C9E580 80240660 8E440008 */ lw $a0, 8($s2) +/* C9E584 80240664 000417C2 */ srl $v0, $a0, 0x1f +/* C9E588 80240668 00822021 */ addu $a0, $a0, $v0 +/* C9E58C 8024066C 00042043 */ sra $a0, $a0, 1 +/* C9E590 80240670 0C00A67F */ jal rand_int +/* C9E594 80240674 24840001 */ addiu $a0, $a0, 1 +/* C9E598 80240678 8E430008 */ lw $v1, 8($s2) +/* C9E59C 8024067C 000327C2 */ srl $a0, $v1, 0x1f +/* C9E5A0 80240680 00641821 */ addu $v1, $v1, $a0 +/* C9E5A4 80240684 00031843 */ sra $v1, $v1, 1 +/* C9E5A8 80240688 00621821 */ addu $v1, $v1, $v0 +/* C9E5AC 8024068C 080901A7 */ j .L8024069C +/* C9E5B0 80240690 A603008E */ sh $v1, 0x8e($s0) +.L80240694: +/* C9E5B4 80240694 24020004 */ addiu $v0, $zero, 4 +.L80240698: +/* C9E5B8 80240698 AE820070 */ sw $v0, 0x70($s4) +.L8024069C: +/* C9E5BC 8024069C 8FBF0044 */ lw $ra, 0x44($sp) +/* C9E5C0 802406A0 8FB40040 */ lw $s4, 0x40($sp) +/* C9E5C4 802406A4 8FB3003C */ lw $s3, 0x3c($sp) +/* C9E5C8 802406A8 8FB20038 */ lw $s2, 0x38($sp) +/* C9E5CC 802406AC 8FB10034 */ lw $s1, 0x34($sp) +/* C9E5D0 802406B0 8FB00030 */ lw $s0, 0x30($sp) +/* C9E5D4 802406B4 03E00008 */ jr $ra +/* C9E5D8 802406B8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_802406BC_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_802406BC_C9DF20.s new file mode 100644 index 0000000000..45b2e9d2a2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_802406BC_C9DF20.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_C9E5DC +/* C9E5DC 802406BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9E5E0 802406C0 AFB10014 */ sw $s1, 0x14($sp) +/* C9E5E4 802406C4 0080882D */ daddu $s1, $a0, $zero +/* C9E5E8 802406C8 AFBF001C */ sw $ra, 0x1c($sp) +/* C9E5EC 802406CC AFB20018 */ sw $s2, 0x18($sp) +/* C9E5F0 802406D0 AFB00010 */ sw $s0, 0x10($sp) +/* C9E5F4 802406D4 8E300148 */ lw $s0, 0x148($s1) +/* C9E5F8 802406D8 86040008 */ lh $a0, 8($s0) +/* C9E5FC 802406DC 0C00EABB */ jal get_npc_unsafe +/* C9E600 802406E0 00A0902D */ daddu $s2, $a1, $zero +/* C9E604 802406E4 8E230078 */ lw $v1, 0x78($s1) +/* C9E608 802406E8 24630001 */ addiu $v1, $v1, 1 +/* C9E60C 802406EC AE230078 */ sw $v1, 0x78($s1) +/* C9E610 802406F0 8E0400D0 */ lw $a0, 0xd0($s0) +/* C9E614 802406F4 8C840000 */ lw $a0, ($a0) +/* C9E618 802406F8 0064182A */ slt $v1, $v1, $a0 +/* C9E61C 802406FC 14600002 */ bnez $v1, .L80240708 +/* C9E620 80240700 0040282D */ daddu $a1, $v0, $zero +/* C9E624 80240704 AE200078 */ sw $zero, 0x78($s1) +.L80240708: +/* C9E628 80240708 8E0200CC */ lw $v0, 0xcc($s0) +/* C9E62C 8024070C 8C420004 */ lw $v0, 4($v0) +/* C9E630 80240710 ACA20028 */ sw $v0, 0x28($a1) +/* C9E634 80240714 8E0200D0 */ lw $v0, 0xd0($s0) +/* C9E638 80240718 8C42007C */ lw $v0, 0x7c($v0) +/* C9E63C 8024071C 04410004 */ bgez $v0, .L80240730 +/* C9E640 80240720 00000000 */ nop +/* C9E644 80240724 C6400000 */ lwc1 $f0, ($s2) +/* C9E648 80240728 080901D4 */ j .L80240750 +/* C9E64C 8024072C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240730: +/* C9E650 80240730 3C018025 */ lui $at, 0x8025 +/* C9E654 80240734 D42291C8 */ ldc1 $f2, -0x6e38($at) +/* C9E658 80240738 44820000 */ mtc1 $v0, $f0 +/* C9E65C 8024073C 00000000 */ nop +/* C9E660 80240740 46800021 */ cvt.d.w $f0, $f0 +/* C9E664 80240744 46220003 */ div.d $f0, $f0, $f2 +/* C9E668 80240748 46200020 */ cvt.s.d $f0, $f0 +/* C9E66C 8024074C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240750: +/* C9E670 80240750 24020001 */ addiu $v0, $zero, 1 +/* C9E674 80240754 AE220070 */ sw $v0, 0x70($s1) +/* C9E678 80240758 8FBF001C */ lw $ra, 0x1c($sp) +/* C9E67C 8024075C 8FB20018 */ lw $s2, 0x18($sp) +/* C9E680 80240760 8FB10014 */ lw $s1, 0x14($sp) +/* C9E684 80240764 8FB00010 */ lw $s0, 0x10($sp) +/* C9E688 80240768 03E00008 */ jr $ra +/* C9E68C 8024076C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240770_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240770_C9DF20.s new file mode 100644 index 0000000000..34112785b0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240770_C9DF20.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240770_C9E690 +/* C9E690 80240770 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9E694 80240774 AFB10014 */ sw $s1, 0x14($sp) +/* C9E698 80240778 0080882D */ daddu $s1, $a0, $zero +/* C9E69C 8024077C AFBF0018 */ sw $ra, 0x18($sp) +/* C9E6A0 80240780 AFB00010 */ sw $s0, 0x10($sp) +/* C9E6A4 80240784 8E300148 */ lw $s0, 0x148($s1) +/* C9E6A8 80240788 0C00EABB */ jal get_npc_unsafe +/* C9E6AC 8024078C 86040008 */ lh $a0, 8($s0) +/* C9E6B0 80240790 8E0300CC */ lw $v1, 0xcc($s0) +/* C9E6B4 80240794 3C014120 */ lui $at, 0x4120 +/* C9E6B8 80240798 44812000 */ mtc1 $at, $f4 +/* C9E6BC 8024079C 3C014000 */ lui $at, 0x4000 +/* C9E6C0 802407A0 44810000 */ mtc1 $at, $f0 +/* C9E6C4 802407A4 C442003C */ lwc1 $f2, 0x3c($v0) +/* C9E6C8 802407A8 8C640010 */ lw $a0, 0x10($v1) +/* C9E6CC 802407AC 8C430000 */ lw $v1, ($v0) +/* C9E6D0 802407B0 E444001C */ swc1 $f4, 0x1c($v0) +/* C9E6D4 802407B4 E4400014 */ swc1 $f0, 0x14($v0) +/* C9E6D8 802407B8 E4420064 */ swc1 $f2, 0x64($v0) +/* C9E6DC 802407BC 34630800 */ ori $v1, $v1, 0x800 +/* C9E6E0 802407C0 AC430000 */ sw $v1, ($v0) +/* C9E6E4 802407C4 AC440028 */ sw $a0, 0x28($v0) +/* C9E6E8 802407C8 2402000B */ addiu $v0, $zero, 0xb +/* C9E6EC 802407CC AE220070 */ sw $v0, 0x70($s1) +/* C9E6F0 802407D0 8FBF0018 */ lw $ra, 0x18($sp) +/* C9E6F4 802407D4 8FB10014 */ lw $s1, 0x14($sp) +/* C9E6F8 802407D8 8FB00010 */ lw $s0, 0x10($sp) +/* C9E6FC 802407DC 03E00008 */ jr $ra +/* C9E700 802407E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_802407E4.s b/asm/nonmatchings/world/area_flo/flo_00/func_802407E4.s new file mode 100644 index 0000000000..59dff83887 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_802407E4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407E4 +/* C9E704 802407E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9E708 802407E8 AFB00010 */ sw $s0, 0x10($sp) +/* C9E70C 802407EC 0080802D */ daddu $s0, $a0, $zero +/* C9E710 802407F0 AFBF0014 */ sw $ra, 0x14($sp) +/* C9E714 802407F4 8E020148 */ lw $v0, 0x148($s0) +/* C9E718 802407F8 0C00EABB */ jal get_npc_unsafe +/* C9E71C 802407FC 84440008 */ lh $a0, 8($v0) +/* C9E720 80240800 0040202D */ daddu $a0, $v0, $zero +/* C9E724 80240804 C482003C */ lwc1 $f2, 0x3c($a0) +/* C9E728 80240808 C480001C */ lwc1 $f0, 0x1c($a0) +/* C9E72C 8024080C 46001080 */ add.s $f2, $f2, $f0 +/* C9E730 80240810 C4840014 */ lwc1 $f4, 0x14($a0) +/* C9E734 80240814 46040001 */ sub.s $f0, $f0, $f4 +/* C9E738 80240818 C4840064 */ lwc1 $f4, 0x64($a0) +/* C9E73C 8024081C 4602203C */ c.lt.s $f4, $f2 +/* C9E740 80240820 E482003C */ swc1 $f2, 0x3c($a0) +/* C9E744 80240824 45010009 */ bc1t .L8024084C +/* C9E748 80240828 E480001C */ swc1 $f0, 0x1c($a0) +/* C9E74C 8024082C 8C820000 */ lw $v0, ($a0) +/* C9E750 80240830 2403F7FF */ addiu $v1, $zero, -0x801 +/* C9E754 80240834 E484003C */ swc1 $f4, 0x3c($a0) +/* C9E758 80240838 AC80001C */ sw $zero, 0x1c($a0) +/* C9E75C 8024083C 00431024 */ and $v0, $v0, $v1 +/* C9E760 80240840 AC820000 */ sw $v0, ($a0) +/* C9E764 80240844 2402000C */ addiu $v0, $zero, 0xc +/* C9E768 80240848 AE020070 */ sw $v0, 0x70($s0) +.L8024084C: +/* C9E76C 8024084C 8FBF0014 */ lw $ra, 0x14($sp) +/* C9E770 80240850 8FB00010 */ lw $s0, 0x10($sp) +/* C9E774 80240854 03E00008 */ jr $ra +/* C9E778 80240858 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_8024085C_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_8024085C_C9DF20.s new file mode 100644 index 0000000000..f2a5e50174 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_8024085C_C9DF20.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024085C_C9E77C +/* C9E77C 8024085C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C9E780 80240860 AFB3001C */ sw $s3, 0x1c($sp) +/* C9E784 80240864 0080982D */ daddu $s3, $a0, $zero +/* C9E788 80240868 AFBF0020 */ sw $ra, 0x20($sp) +/* C9E78C 8024086C AFB20018 */ sw $s2, 0x18($sp) +/* C9E790 80240870 AFB10014 */ sw $s1, 0x14($sp) +/* C9E794 80240874 AFB00010 */ sw $s0, 0x10($sp) +/* C9E798 80240878 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C9E79C 8024087C 8E710148 */ lw $s1, 0x148($s3) +/* C9E7A0 80240880 86240008 */ lh $a0, 8($s1) +/* C9E7A4 80240884 0C00EABB */ jal get_npc_unsafe +/* C9E7A8 80240888 00A0802D */ daddu $s0, $a1, $zero +/* C9E7AC 8024088C 8E040020 */ lw $a0, 0x20($s0) +/* C9E7B0 80240890 0040902D */ daddu $s2, $v0, $zero +/* C9E7B4 80240894 00041FC2 */ srl $v1, $a0, 0x1f +/* C9E7B8 80240898 00832021 */ addu $a0, $a0, $v1 +/* C9E7BC 8024089C 00042043 */ sra $a0, $a0, 1 +/* C9E7C0 802408A0 0C00A67F */ jal rand_int +/* C9E7C4 802408A4 24840001 */ addiu $a0, $a0, 1 +/* C9E7C8 802408A8 8E030020 */ lw $v1, 0x20($s0) +/* C9E7CC 802408AC C64C0038 */ lwc1 $f12, 0x38($s2) +/* C9E7D0 802408B0 000327C2 */ srl $a0, $v1, 0x1f +/* C9E7D4 802408B4 00641821 */ addu $v1, $v1, $a0 +/* C9E7D8 802408B8 00031843 */ sra $v1, $v1, 1 +/* C9E7DC 802408BC 00621821 */ addu $v1, $v1, $v0 +/* C9E7E0 802408C0 A643008E */ sh $v1, 0x8e($s2) +/* C9E7E4 802408C4 8E2200CC */ lw $v0, 0xcc($s1) +/* C9E7E8 802408C8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C9E7EC 802408CC 8C42000C */ lw $v0, 0xc($v0) +/* C9E7F0 802408D0 AE420028 */ sw $v0, 0x28($s2) +/* C9E7F4 802408D4 C6000018 */ lwc1 $f0, 0x18($s0) +/* C9E7F8 802408D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C9E7FC 802408DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C9E800 802408E0 E6400018 */ swc1 $f0, 0x18($s2) +/* C9E804 802408E4 8C460028 */ lw $a2, 0x28($v0) +/* C9E808 802408E8 0C00A720 */ jal atan2 +/* C9E80C 802408EC 8C470030 */ lw $a3, 0x30($v0) +/* C9E810 802408F0 46000506 */ mov.s $f20, $f0 +/* C9E814 802408F4 C64C000C */ lwc1 $f12, 0xc($s2) +/* C9E818 802408F8 0C00A70A */ jal get_clamped_angle_diff +/* C9E81C 802408FC 4600A386 */ mov.s $f14, $f20 +/* C9E820 80240900 46000086 */ mov.s $f2, $f0 +/* C9E824 80240904 8E02001C */ lw $v0, 0x1c($s0) +/* C9E828 80240908 46001005 */ abs.s $f0, $f2 +/* C9E82C 8024090C 44822000 */ mtc1 $v0, $f4 +/* C9E830 80240910 00000000 */ nop +/* C9E834 80240914 46802120 */ cvt.s.w $f4, $f4 +/* C9E838 80240918 4600203C */ c.lt.s $f4, $f0 +/* C9E83C 8024091C 00000000 */ nop +/* C9E840 80240920 4500000D */ bc1f .L80240958 +/* C9E844 80240924 00000000 */ nop +/* C9E848 80240928 44800000 */ mtc1 $zero, $f0 +/* C9E84C 8024092C C654000C */ lwc1 $f20, 0xc($s2) +/* C9E850 80240930 4600103C */ c.lt.s $f2, $f0 +/* C9E854 80240934 00000000 */ nop +/* C9E858 80240938 45000006 */ bc1f .L80240954 +/* C9E85C 8024093C 00021023 */ negu $v0, $v0 +/* C9E860 80240940 44820000 */ mtc1 $v0, $f0 +/* C9E864 80240944 00000000 */ nop +/* C9E868 80240948 46800020 */ cvt.s.w $f0, $f0 +/* C9E86C 8024094C 08090256 */ j .L80240958 +/* C9E870 80240950 4600A500 */ add.s $f20, $f20, $f0 +.L80240954: +/* C9E874 80240954 4604A500 */ add.s $f20, $f20, $f4 +.L80240958: +/* C9E878 80240958 0C00A6C9 */ jal clamp_angle +/* C9E87C 8024095C 4600A306 */ mov.s $f12, $f20 +/* C9E880 80240960 2402000D */ addiu $v0, $zero, 0xd +/* C9E884 80240964 E640000C */ swc1 $f0, 0xc($s2) +/* C9E888 80240968 AE620070 */ sw $v0, 0x70($s3) +/* C9E88C 8024096C 8FBF0020 */ lw $ra, 0x20($sp) +/* C9E890 80240970 8FB3001C */ lw $s3, 0x1c($sp) +/* C9E894 80240974 8FB20018 */ lw $s2, 0x18($sp) +/* C9E898 80240978 8FB10014 */ lw $s1, 0x14($sp) +/* C9E89C 8024097C 8FB00010 */ lw $s0, 0x10($sp) +/* C9E8A0 80240980 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C9E8A4 80240984 03E00008 */ jr $ra +/* C9E8A8 80240988 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_8024098C.s b/asm/nonmatchings/world/area_flo/flo_00/func_8024098C.s new file mode 100644 index 0000000000..7891dbe466 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_8024098C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024098C +/* C9E8AC 8024098C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C9E8B0 80240990 AFB3003C */ sw $s3, 0x3c($sp) +/* C9E8B4 80240994 0080982D */ daddu $s3, $a0, $zero +/* C9E8B8 80240998 AFBF0040 */ sw $ra, 0x40($sp) +/* C9E8BC 8024099C AFB20038 */ sw $s2, 0x38($sp) +/* C9E8C0 802409A0 AFB10034 */ sw $s1, 0x34($sp) +/* C9E8C4 802409A4 AFB00030 */ sw $s0, 0x30($sp) +/* C9E8C8 802409A8 8E720148 */ lw $s2, 0x148($s3) +/* C9E8CC 802409AC 00A0882D */ daddu $s1, $a1, $zero +/* C9E8D0 802409B0 86440008 */ lh $a0, 8($s2) +/* C9E8D4 802409B4 0C00EABB */ jal get_npc_unsafe +/* C9E8D8 802409B8 00C0802D */ daddu $s0, $a2, $zero +/* C9E8DC 802409BC 0200202D */ daddu $a0, $s0, $zero +/* C9E8E0 802409C0 0240282D */ daddu $a1, $s2, $zero +/* C9E8E4 802409C4 24030001 */ addiu $v1, $zero, 1 +/* C9E8E8 802409C8 AFA30010 */ sw $v1, 0x10($sp) +/* C9E8EC 802409CC 8E260024 */ lw $a2, 0x24($s1) +/* C9E8F0 802409D0 8E270028 */ lw $a3, 0x28($s1) +/* C9E8F4 802409D4 0C01242D */ jal func_800490B4 +/* C9E8F8 802409D8 0040802D */ daddu $s0, $v0, $zero +/* C9E8FC 802409DC 1440001E */ bnez $v0, .L80240A58 +/* C9E900 802409E0 0200202D */ daddu $a0, $s0, $zero +/* C9E904 802409E4 24040002 */ addiu $a0, $zero, 2 +/* C9E908 802409E8 0200282D */ daddu $a1, $s0, $zero +/* C9E90C 802409EC 0000302D */ daddu $a2, $zero, $zero +/* C9E910 802409F0 860300A8 */ lh $v1, 0xa8($s0) +/* C9E914 802409F4 3C013F80 */ lui $at, 0x3f80 +/* C9E918 802409F8 44810000 */ mtc1 $at, $f0 +/* C9E91C 802409FC 3C014000 */ lui $at, 0x4000 +/* C9E920 80240A00 44811000 */ mtc1 $at, $f2 +/* C9E924 80240A04 3C01C1A0 */ lui $at, 0xc1a0 +/* C9E928 80240A08 44812000 */ mtc1 $at, $f4 +/* C9E92C 80240A0C 2402000F */ addiu $v0, $zero, 0xf +/* C9E930 80240A10 AFA2001C */ sw $v0, 0x1c($sp) +/* C9E934 80240A14 44833000 */ mtc1 $v1, $f6 +/* C9E938 80240A18 00000000 */ nop +/* C9E93C 80240A1C 468031A0 */ cvt.s.w $f6, $f6 +/* C9E940 80240A20 44073000 */ mfc1 $a3, $f6 +/* C9E944 80240A24 27A20028 */ addiu $v0, $sp, 0x28 +/* C9E948 80240A28 AFA20020 */ sw $v0, 0x20($sp) +/* C9E94C 80240A2C E7A00010 */ swc1 $f0, 0x10($sp) +/* C9E950 80240A30 E7A20014 */ swc1 $f2, 0x14($sp) +/* C9E954 80240A34 0C01BFA4 */ jal fx_emote +/* C9E958 80240A38 E7A40018 */ swc1 $f4, 0x18($sp) +/* C9E95C 80240A3C 8E4200CC */ lw $v0, 0xcc($s2) +/* C9E960 80240A40 8C430000 */ lw $v1, ($v0) +/* C9E964 80240A44 24020019 */ addiu $v0, $zero, 0x19 +/* C9E968 80240A48 A602008E */ sh $v0, 0x8e($s0) +/* C9E96C 80240A4C 2402000E */ addiu $v0, $zero, 0xe +/* C9E970 80240A50 080902A3 */ j .L80240A8C +/* C9E974 80240A54 AE030028 */ sw $v1, 0x28($s0) +.L80240A58: +/* C9E978 80240A58 0C00F598 */ jal func_8003D660 +/* C9E97C 80240A5C 24050001 */ addiu $a1, $zero, 1 +/* C9E980 80240A60 8E050018 */ lw $a1, 0x18($s0) +/* C9E984 80240A64 8E06000C */ lw $a2, 0xc($s0) +/* C9E988 80240A68 0C00EA95 */ jal npc_move_heading +/* C9E98C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* C9E990 80240A70 8602008E */ lh $v0, 0x8e($s0) +/* C9E994 80240A74 9603008E */ lhu $v1, 0x8e($s0) +/* C9E998 80240A78 18400003 */ blez $v0, .L80240A88 +/* C9E99C 80240A7C 2462FFFF */ addiu $v0, $v1, -1 +/* C9E9A0 80240A80 080902A4 */ j .L80240A90 +/* C9E9A4 80240A84 A602008E */ sh $v0, 0x8e($s0) +.L80240A88: +/* C9E9A8 80240A88 2402000C */ addiu $v0, $zero, 0xc +.L80240A8C: +/* C9E9AC 80240A8C AE620070 */ sw $v0, 0x70($s3) +.L80240A90: +/* C9E9B0 80240A90 8FBF0040 */ lw $ra, 0x40($sp) +/* C9E9B4 80240A94 8FB3003C */ lw $s3, 0x3c($sp) +/* C9E9B8 80240A98 8FB20038 */ lw $s2, 0x38($sp) +/* C9E9BC 80240A9C 8FB10034 */ lw $s1, 0x34($sp) +/* C9E9C0 80240AA0 8FB00030 */ lw $s0, 0x30($sp) +/* C9E9C4 80240AA4 03E00008 */ jr $ra +/* C9E9C8 80240AA8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240AAC_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240AAC_C9DF20.s new file mode 100644 index 0000000000..852a15f512 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240AAC_C9DF20.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_C9E9CC +/* C9E9CC 80240AAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9E9D0 80240AB0 AFB10014 */ sw $s1, 0x14($sp) +/* C9E9D4 80240AB4 0080882D */ daddu $s1, $a0, $zero +/* C9E9D8 80240AB8 AFBF0018 */ sw $ra, 0x18($sp) +/* C9E9DC 80240ABC AFB00010 */ sw $s0, 0x10($sp) +/* C9E9E0 80240AC0 8E300148 */ lw $s0, 0x148($s1) +/* C9E9E4 80240AC4 0C00EABB */ jal get_npc_unsafe +/* C9E9E8 80240AC8 86040008 */ lh $a0, 8($s0) +/* C9E9EC 80240ACC 9443008E */ lhu $v1, 0x8e($v0) +/* C9E9F0 80240AD0 2463FFFF */ addiu $v1, $v1, -1 +/* C9E9F4 80240AD4 A443008E */ sh $v1, 0x8e($v0) +/* C9E9F8 80240AD8 00031C00 */ sll $v1, $v1, 0x10 +/* C9E9FC 80240ADC 14600008 */ bnez $v1, .L80240B00 +/* C9EA00 80240AE0 00000000 */ nop +/* C9EA04 80240AE4 8E0200B0 */ lw $v0, 0xb0($s0) +/* C9EA08 80240AE8 30420080 */ andi $v0, $v0, 0x80 +/* C9EA0C 80240AEC 10400003 */ beqz $v0, .L80240AFC +/* C9EA10 80240AF0 2402000F */ addiu $v0, $zero, 0xf +/* C9EA14 80240AF4 080902C0 */ j .L80240B00 +/* C9EA18 80240AF8 AE220070 */ sw $v0, 0x70($s1) +.L80240AFC: +/* C9EA1C 80240AFC AE200070 */ sw $zero, 0x70($s1) +.L80240B00: +/* C9EA20 80240B00 8FBF0018 */ lw $ra, 0x18($sp) +/* C9EA24 80240B04 8FB10014 */ lw $s1, 0x14($sp) +/* C9EA28 80240B08 8FB00010 */ lw $s0, 0x10($sp) +/* C9EA2C 80240B0C 03E00008 */ jr $ra +/* C9EA30 80240B10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240B14_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240B14_C9DF20.s new file mode 100644 index 0000000000..106876158f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240B14_C9DF20.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B14_C9EA34 +/* C9EA34 80240B14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9EA38 80240B18 AFB10014 */ sw $s1, 0x14($sp) +/* C9EA3C 80240B1C 0080882D */ daddu $s1, $a0, $zero +/* C9EA40 80240B20 AFBF001C */ sw $ra, 0x1c($sp) +/* C9EA44 80240B24 AFB20018 */ sw $s2, 0x18($sp) +/* C9EA48 80240B28 AFB00010 */ sw $s0, 0x10($sp) +/* C9EA4C 80240B2C 8E300148 */ lw $s0, 0x148($s1) +/* C9EA50 80240B30 86040008 */ lh $a0, 8($s0) +/* C9EA54 80240B34 0C00EABB */ jal get_npc_unsafe +/* C9EA58 80240B38 00A0902D */ daddu $s2, $a1, $zero +/* C9EA5C 80240B3C 8E0300D0 */ lw $v1, 0xd0($s0) +/* C9EA60 80240B40 8E240078 */ lw $a0, 0x78($s1) +/* C9EA64 80240B44 8C630000 */ lw $v1, ($v1) +/* C9EA68 80240B48 0083182A */ slt $v1, $a0, $v1 +/* C9EA6C 80240B4C 10600013 */ beqz $v1, .L80240B9C +/* C9EA70 80240B50 0040302D */ daddu $a2, $v0, $zero +/* C9EA74 80240B54 00041040 */ sll $v0, $a0, 1 +/* C9EA78 80240B58 00441021 */ addu $v0, $v0, $a0 +/* C9EA7C 80240B5C 00022880 */ sll $a1, $v0, 2 +.L80240B60: +/* C9EA80 80240B60 8E0300D0 */ lw $v1, 0xd0($s0) +/* C9EA84 80240B64 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* C9EA88 80240B68 00A31021 */ addu $v0, $a1, $v1 +/* C9EA8C 80240B6C C4400008 */ lwc1 $f0, 8($v0) +/* C9EA90 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* C9EA94 80240B74 4602003E */ c.le.s $f0, $f2 +/* C9EA98 80240B78 00000000 */ nop +/* C9EA9C 80240B7C 45020003 */ bc1fl .L80240B8C +/* C9EAA0 80240B80 24840001 */ addiu $a0, $a0, 1 +/* C9EAA4 80240B84 080902E7 */ j .L80240B9C +/* C9EAA8 80240B88 AE240078 */ sw $a0, 0x78($s1) +.L80240B8C: +/* C9EAAC 80240B8C 8C620000 */ lw $v0, ($v1) +/* C9EAB0 80240B90 0082102A */ slt $v0, $a0, $v0 +/* C9EAB4 80240B94 1440FFF2 */ bnez $v0, .L80240B60 +/* C9EAB8 80240B98 24A5000C */ addiu $a1, $a1, 0xc +.L80240B9C: +/* C9EABC 80240B9C C6400000 */ lwc1 $f0, ($s2) +/* C9EAC0 80240BA0 E4C00018 */ swc1 $f0, 0x18($a2) +/* C9EAC4 80240BA4 8E0200CC */ lw $v0, 0xcc($s0) +/* C9EAC8 80240BA8 8C420004 */ lw $v0, 4($v0) +/* C9EACC 80240BAC ACC20028 */ sw $v0, 0x28($a2) +/* C9EAD0 80240BB0 24020001 */ addiu $v0, $zero, 1 +/* C9EAD4 80240BB4 AE200074 */ sw $zero, 0x74($s1) +/* C9EAD8 80240BB8 AE220070 */ sw $v0, 0x70($s1) +/* C9EADC 80240BBC 8FBF001C */ lw $ra, 0x1c($sp) +/* C9EAE0 80240BC0 8FB20018 */ lw $s2, 0x18($sp) +/* C9EAE4 80240BC4 8FB10014 */ lw $s1, 0x14($sp) +/* C9EAE8 80240BC8 8FB00010 */ lw $s0, 0x10($sp) +/* C9EAEC 80240BCC 03E00008 */ jr $ra +/* C9EAF0 80240BD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240BD4_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240BD4_C9DF20.s new file mode 100644 index 0000000000..58372ec2cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240BD4_C9DF20.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD4_C9EAF4 +/* C9EAF4 80240BD4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* C9EAF8 80240BD8 AFB40058 */ sw $s4, 0x58($sp) +/* C9EAFC 80240BDC 0080A02D */ daddu $s4, $a0, $zero +/* C9EB00 80240BE0 AFBF0060 */ sw $ra, 0x60($sp) +/* C9EB04 80240BE4 AFB5005C */ sw $s5, 0x5c($sp) +/* C9EB08 80240BE8 AFB30054 */ sw $s3, 0x54($sp) +/* C9EB0C 80240BEC AFB20050 */ sw $s2, 0x50($sp) +/* C9EB10 80240BF0 AFB1004C */ sw $s1, 0x4c($sp) +/* C9EB14 80240BF4 AFB00048 */ sw $s0, 0x48($sp) +/* C9EB18 80240BF8 8E910148 */ lw $s1, 0x148($s4) +/* C9EB1C 80240BFC 86240008 */ lh $a0, 8($s1) +/* C9EB20 80240C00 0C00EABB */ jal get_npc_unsafe +/* C9EB24 80240C04 00A0802D */ daddu $s0, $a1, $zero +/* C9EB28 80240C08 8E83000C */ lw $v1, 0xc($s4) +/* C9EB2C 80240C0C 0280202D */ daddu $a0, $s4, $zero +/* C9EB30 80240C10 8C650000 */ lw $a1, ($v1) +/* C9EB34 80240C14 0C0B1EAF */ jal get_variable +/* C9EB38 80240C18 0040902D */ daddu $s2, $v0, $zero +/* C9EB3C 80240C1C AFA00018 */ sw $zero, 0x18($sp) +/* C9EB40 80240C20 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9EB44 80240C24 8C630094 */ lw $v1, 0x94($v1) +/* C9EB48 80240C28 AFA3001C */ sw $v1, 0x1c($sp) +/* C9EB4C 80240C2C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9EB50 80240C30 8C630080 */ lw $v1, 0x80($v1) +/* C9EB54 80240C34 AFA30020 */ sw $v1, 0x20($sp) +/* C9EB58 80240C38 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9EB5C 80240C3C 8C630088 */ lw $v1, 0x88($v1) +/* C9EB60 80240C40 AFA30024 */ sw $v1, 0x24($sp) +/* C9EB64 80240C44 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9EB68 80240C48 8C63008C */ lw $v1, 0x8c($v1) +/* C9EB6C 80240C4C 27B50018 */ addiu $s5, $sp, 0x18 +/* C9EB70 80240C50 AFA30028 */ sw $v1, 0x28($sp) +/* C9EB74 80240C54 8E2300D0 */ lw $v1, 0xd0($s1) +/* C9EB78 80240C58 3C014282 */ lui $at, 0x4282 +/* C9EB7C 80240C5C 44810000 */ mtc1 $at, $f0 +/* C9EB80 80240C60 8C630090 */ lw $v1, 0x90($v1) +/* C9EB84 80240C64 0040982D */ daddu $s3, $v0, $zero +/* C9EB88 80240C68 E7A00030 */ swc1 $f0, 0x30($sp) +/* C9EB8C 80240C6C A7A00034 */ sh $zero, 0x34($sp) +/* C9EB90 80240C70 16000005 */ bnez $s0, .L80240C88 +/* C9EB94 80240C74 AFA3002C */ sw $v1, 0x2c($sp) +/* C9EB98 80240C78 8E2200B0 */ lw $v0, 0xb0($s1) +/* C9EB9C 80240C7C 30420004 */ andi $v0, $v0, 4 +/* C9EBA0 80240C80 10400044 */ beqz $v0, .L80240D94 +/* C9EBA4 80240C84 00000000 */ nop +.L80240C88: +/* C9EBA8 80240C88 2404F7FF */ addiu $a0, $zero, -0x801 +/* C9EBAC 80240C8C AE800070 */ sw $zero, 0x70($s4) +/* C9EBB0 80240C90 A640008E */ sh $zero, 0x8e($s2) +/* C9EBB4 80240C94 8E2200CC */ lw $v0, 0xcc($s1) +/* C9EBB8 80240C98 8E430000 */ lw $v1, ($s2) +/* C9EBBC 80240C9C 8C420000 */ lw $v0, ($v0) +/* C9EBC0 80240CA0 00641824 */ and $v1, $v1, $a0 +/* C9EBC4 80240CA4 AE430000 */ sw $v1, ($s2) +/* C9EBC8 80240CA8 AE420028 */ sw $v0, 0x28($s2) +/* C9EBCC 80240CAC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C9EBD0 80240CB0 8C420098 */ lw $v0, 0x98($v0) +/* C9EBD4 80240CB4 54400005 */ bnel $v0, $zero, .L80240CCC +/* C9EBD8 80240CB8 2402FDFF */ addiu $v0, $zero, -0x201 +/* C9EBDC 80240CBC 34620200 */ ori $v0, $v1, 0x200 +/* C9EBE0 80240CC0 2403FFF7 */ addiu $v1, $zero, -9 +/* C9EBE4 80240CC4 08090335 */ j .L80240CD4 +/* C9EBE8 80240CC8 00431024 */ and $v0, $v0, $v1 +.L80240CCC: +/* C9EBEC 80240CCC 00621024 */ and $v0, $v1, $v0 +/* C9EBF0 80240CD0 34420008 */ ori $v0, $v0, 8 +.L80240CD4: +/* C9EBF4 80240CD4 AE420000 */ sw $v0, ($s2) +/* C9EBF8 80240CD8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C9EBFC 80240CDC 30420004 */ andi $v0, $v0, 4 +/* C9EC00 80240CE0 10400008 */ beqz $v0, .L80240D04 +/* C9EC04 80240CE4 24020063 */ addiu $v0, $zero, 0x63 +/* C9EC08 80240CE8 AE820070 */ sw $v0, 0x70($s4) +/* C9EC0C 80240CEC AE800074 */ sw $zero, 0x74($s4) +/* C9EC10 80240CF0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C9EC14 80240CF4 2403FFFB */ addiu $v1, $zero, -5 +/* C9EC18 80240CF8 00431024 */ and $v0, $v0, $v1 +/* C9EC1C 80240CFC 0809034C */ j .L80240D30 +/* C9EC20 80240D00 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240D04: +/* C9EC24 80240D04 8E220000 */ lw $v0, ($s1) +/* C9EC28 80240D08 3C034000 */ lui $v1, 0x4000 +/* C9EC2C 80240D0C 00431024 */ and $v0, $v0, $v1 +/* C9EC30 80240D10 10400007 */ beqz $v0, .L80240D30 +/* C9EC34 80240D14 3C03BFFF */ lui $v1, 0xbfff +/* C9EC38 80240D18 2402000C */ addiu $v0, $zero, 0xc +/* C9EC3C 80240D1C AE820070 */ sw $v0, 0x70($s4) +/* C9EC40 80240D20 8E220000 */ lw $v0, ($s1) +/* C9EC44 80240D24 3463FFFF */ ori $v1, $v1, 0xffff +/* C9EC48 80240D28 00431024 */ and $v0, $v0, $v1 +/* C9EC4C 80240D2C AE220000 */ sw $v0, ($s1) +.L80240D30: +/* C9EC50 80240D30 27A50038 */ addiu $a1, $sp, 0x38 +/* C9EC54 80240D34 27A6003C */ addiu $a2, $sp, 0x3c +/* C9EC58 80240D38 C6400038 */ lwc1 $f0, 0x38($s2) +/* C9EC5C 80240D3C 864200A8 */ lh $v0, 0xa8($s2) +/* C9EC60 80240D40 3C0142C8 */ lui $at, 0x42c8 +/* C9EC64 80240D44 44812000 */ mtc1 $at, $f4 +/* C9EC68 80240D48 44823000 */ mtc1 $v0, $f6 +/* C9EC6C 80240D4C 00000000 */ nop +/* C9EC70 80240D50 468031A0 */ cvt.s.w $f6, $f6 +/* C9EC74 80240D54 27A20044 */ addiu $v0, $sp, 0x44 +/* C9EC78 80240D58 E7A00038 */ swc1 $f0, 0x38($sp) +/* C9EC7C 80240D5C C640003C */ lwc1 $f0, 0x3c($s2) +/* C9EC80 80240D60 C6420040 */ lwc1 $f2, 0x40($s2) +/* C9EC84 80240D64 46060000 */ add.s $f0, $f0, $f6 +/* C9EC88 80240D68 E7A40044 */ swc1 $f4, 0x44($sp) +/* C9EC8C 80240D6C E7A20040 */ swc1 $f2, 0x40($sp) +/* C9EC90 80240D70 E7A0003C */ swc1 $f0, 0x3c($sp) +/* C9EC94 80240D74 AFA20010 */ sw $v0, 0x10($sp) +/* C9EC98 80240D78 8E440080 */ lw $a0, 0x80($s2) +/* C9EC9C 80240D7C 0C0372DF */ jal func_800DCB7C +/* C9ECA0 80240D80 27A70040 */ addiu $a3, $sp, 0x40 +/* C9ECA4 80240D84 10400003 */ beqz $v0, .L80240D94 +/* C9ECA8 80240D88 00000000 */ nop +/* C9ECAC 80240D8C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* C9ECB0 80240D90 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D94: +/* C9ECB4 80240D94 8E830070 */ lw $v1, 0x70($s4) +/* C9ECB8 80240D98 2C620064 */ sltiu $v0, $v1, 0x64 +/* C9ECBC 80240D9C 10400042 */ beqz $v0, .L80240EA8 +/* C9ECC0 80240DA0 00031080 */ sll $v0, $v1, 2 +/* C9ECC4 80240DA4 3C018025 */ lui $at, 0x8025 +/* C9ECC8 80240DA8 00220821 */ addu $at, $at, $v0 +/* C9ECCC 80240DAC 8C2291D0 */ lw $v0, -0x6e30($at) +/* C9ECD0 80240DB0 00400008 */ jr $v0 +/* C9ECD4 80240DB4 00000000 */ nop +/* C9ECD8 80240DB8 0280202D */ daddu $a0, $s4, $zero +/* C9ECDC 80240DBC 0260282D */ daddu $a1, $s3, $zero +/* C9ECE0 80240DC0 0C090010 */ jal func_80240040 +/* C9ECE4 80240DC4 02A0302D */ daddu $a2, $s5, $zero +/* C9ECE8 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* C9ECEC 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* C9ECF0 80240DD0 0C090066 */ jal func_80240198 +/* C9ECF4 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* C9ECF8 80240DD8 080903AA */ j .L80240EA8 +/* C9ECFC 80240DDC 00000000 */ nop +/* C9ED00 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* C9ED04 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* C9ED08 80240DE8 0C090110 */ jal func_80240440 +/* C9ED0C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* C9ED10 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* C9ED14 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* C9ED18 80240DF8 0C090140 */ jal func_80240500 +/* C9ED1C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* C9ED20 80240E00 080903AA */ j .L80240EA8 +/* C9ED24 80240E04 00000000 */ nop +/* C9ED28 80240E08 0280202D */ daddu $a0, $s4, $zero +/* C9ED2C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* C9ED30 80240E10 0C0901AF */ jal func_802406BC +/* C9ED34 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* C9ED38 80240E18 080903AA */ j .L80240EA8 +/* C9ED3C 80240E1C 00000000 */ nop +/* C9ED40 80240E20 0280202D */ daddu $a0, $s4, $zero +/* C9ED44 80240E24 0260282D */ daddu $a1, $s3, $zero +/* C9ED48 80240E28 0C0901DC */ jal func_80240770 +/* C9ED4C 80240E2C 02A0302D */ daddu $a2, $s5, $zero +/* C9ED50 80240E30 0280202D */ daddu $a0, $s4, $zero +/* C9ED54 80240E34 0260282D */ daddu $a1, $s3, $zero +/* C9ED58 80240E38 0C0901F9 */ jal func_802407E4 +/* C9ED5C 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* C9ED60 80240E40 080903AA */ j .L80240EA8 +/* C9ED64 80240E44 00000000 */ nop +/* C9ED68 80240E48 0280202D */ daddu $a0, $s4, $zero +/* C9ED6C 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* C9ED70 80240E50 0C090217 */ jal func_8024085C +/* C9ED74 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* C9ED78 80240E58 0280202D */ daddu $a0, $s4, $zero +/* C9ED7C 80240E5C 0260282D */ daddu $a1, $s3, $zero +/* C9ED80 80240E60 0C090263 */ jal func_8024098C +/* C9ED84 80240E64 02A0302D */ daddu $a2, $s5, $zero +/* C9ED88 80240E68 080903AA */ j .L80240EA8 +/* C9ED8C 80240E6C 00000000 */ nop +/* C9ED90 80240E70 0280202D */ daddu $a0, $s4, $zero +/* C9ED94 80240E74 0260282D */ daddu $a1, $s3, $zero +/* C9ED98 80240E78 0C0902AB */ jal func_80240AAC +/* C9ED9C 80240E7C 02A0302D */ daddu $a2, $s5, $zero +/* C9EDA0 80240E80 080903AA */ j .L80240EA8 +/* C9EDA4 80240E84 00000000 */ nop +/* C9EDA8 80240E88 0280202D */ daddu $a0, $s4, $zero +/* C9EDAC 80240E8C 0260282D */ daddu $a1, $s3, $zero +/* C9EDB0 80240E90 0C0902C5 */ jal func_80240B14 +/* C9EDB4 80240E94 02A0302D */ daddu $a2, $s5, $zero +/* C9EDB8 80240E98 080903AA */ j .L80240EA8 +/* C9EDBC 80240E9C 00000000 */ nop +/* C9EDC0 80240EA0 0C0129CF */ jal func_8004A73C +/* C9EDC4 80240EA4 0280202D */ daddu $a0, $s4, $zero +.L80240EA8: +/* C9EDC8 80240EA8 8FBF0060 */ lw $ra, 0x60($sp) +/* C9EDCC 80240EAC 8FB5005C */ lw $s5, 0x5c($sp) +/* C9EDD0 80240EB0 8FB40058 */ lw $s4, 0x58($sp) +/* C9EDD4 80240EB4 8FB30054 */ lw $s3, 0x54($sp) +/* C9EDD8 80240EB8 8FB20050 */ lw $s2, 0x50($sp) +/* C9EDDC 80240EBC 8FB1004C */ lw $s1, 0x4c($sp) +/* C9EDE0 80240EC0 8FB00048 */ lw $s0, 0x48($sp) +/* C9EDE4 80240EC4 0000102D */ daddu $v0, $zero, $zero +/* C9EDE8 80240EC8 03E00008 */ jr $ra +/* C9EDEC 80240ECC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240ED0_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240ED0_C9DF20.s new file mode 100644 index 0000000000..28b154b8a4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240ED0_C9DF20.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ED0_C9EDF0 +/* C9EDF0 80240ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9EDF4 80240ED4 AFBF0010 */ sw $ra, 0x10($sp) +/* C9EDF8 80240ED8 0C03A876 */ jal set_max_SP +/* C9EDFC 80240EDC 24040006 */ addiu $a0, $zero, 6 +/* C9EE00 80240EE0 3C028011 */ lui $v0, %hi(gPlayerData) +/* C9EE04 80240EE4 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* C9EE08 80240EE8 90430003 */ lbu $v1, 3($v0) +/* C9EE0C 80240EEC 90440006 */ lbu $a0, 6($v0) +/* C9EE10 80240EF0 A0430002 */ sb $v1, 2($v0) +/* C9EE14 80240EF4 0C03A6DB */ jal sync_status_menu +/* C9EE18 80240EF8 A0440005 */ sb $a0, 5($v0) +/* C9EE1C 80240EFC 8FBF0010 */ lw $ra, 0x10($sp) +/* C9EE20 80240F00 24020002 */ addiu $v0, $zero, 2 +/* C9EE24 80240F04 03E00008 */ jr $ra +/* C9EE28 80240F08 27BD0018 */ addiu $sp, $sp, 0x18 +/* C9EE2C 80240F0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240F10_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240F10_C9DF20.s new file mode 100644 index 0000000000..e1c9689626 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240F10_C9DF20.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F10_C9EE30 +/* C9EE30 80240F10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9EE34 80240F14 AFB00010 */ sw $s0, 0x10($sp) +/* C9EE38 80240F18 0080802D */ daddu $s0, $a0, $zero +/* C9EE3C 80240F1C AFB20018 */ sw $s2, 0x18($sp) +/* C9EE40 80240F20 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C9EE44 80240F24 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C9EE48 80240F28 AFBF001C */ sw $ra, 0x1c($sp) +/* C9EE4C 80240F2C AFB10014 */ sw $s1, 0x14($sp) +/* C9EE50 80240F30 C64000A8 */ lwc1 $f0, 0xa8($s2) +/* C9EE54 80240F34 8E02000C */ lw $v0, 0xc($s0) +/* C9EE58 80240F38 4600008D */ trunc.w.s $f2, $f0 +/* C9EE5C 80240F3C 44061000 */ mfc1 $a2, $f2 +/* C9EE60 80240F40 8C450000 */ lw $a1, ($v0) +/* C9EE64 80240F44 0C0B2026 */ jal set_variable +/* C9EE68 80240F48 8C510004 */ lw $s1, 4($v0) +/* C9EE6C 80240F4C 0200202D */ daddu $a0, $s0, $zero +/* C9EE70 80240F50 C6400080 */ lwc1 $f0, 0x80($s2) +/* C9EE74 80240F54 4600008D */ trunc.w.s $f2, $f0 +/* C9EE78 80240F58 44061000 */ mfc1 $a2, $f2 +/* C9EE7C 80240F5C 0C0B2026 */ jal set_variable +/* C9EE80 80240F60 0220282D */ daddu $a1, $s1, $zero +/* C9EE84 80240F64 8FBF001C */ lw $ra, 0x1c($sp) +/* C9EE88 80240F68 8FB20018 */ lw $s2, 0x18($sp) +/* C9EE8C 80240F6C 8FB10014 */ lw $s1, 0x14($sp) +/* C9EE90 80240F70 8FB00010 */ lw $s0, 0x10($sp) +/* C9EE94 80240F74 24020002 */ addiu $v0, $zero, 2 +/* C9EE98 80240F78 03E00008 */ jr $ra +/* C9EE9C 80240F7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_80240F80_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_80240F80_C9DF20.s new file mode 100644 index 0000000000..ef0dec8934 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_80240F80_C9DF20.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F80_C9EEA0 +/* C9EEA0 80240F80 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C9EEA4 80240F84 AFB00010 */ sw $s0, 0x10($sp) +/* C9EEA8 80240F88 0080802D */ daddu $s0, $a0, $zero +/* C9EEAC 80240F8C AFBF0018 */ sw $ra, 0x18($sp) +/* C9EEB0 80240F90 AFB10014 */ sw $s1, 0x14($sp) +/* C9EEB4 80240F94 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* C9EEB8 80240F98 F7B80030 */ sdc1 $f24, 0x30($sp) +/* C9EEBC 80240F9C F7B60028 */ sdc1 $f22, 0x28($sp) +/* C9EEC0 80240FA0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* C9EEC4 80240FA4 8E05008C */ lw $a1, 0x8c($s0) +/* C9EEC8 80240FA8 0C0B1EAF */ jal get_variable +/* C9EECC 80240FAC 0000202D */ daddu $a0, $zero, $zero +/* C9EED0 80240FB0 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* C9EED4 80240FB4 468010A0 */ cvt.s.w $f2, $f2 +/* C9EED8 80240FB8 44061000 */ mfc1 $a2, $f2 +/* C9EEDC 80240FBC C60200B0 */ lwc1 $f2, 0xb0($s0) +/* C9EEE0 80240FC0 468010A0 */ cvt.s.w $f2, $f2 +/* C9EEE4 80240FC4 4482A000 */ mtc1 $v0, $f20 +/* C9EEE8 80240FC8 00000000 */ nop +/* C9EEEC 80240FCC 4680A520 */ cvt.s.w $f20, $f20 +/* C9EEF0 80240FD0 3C01C2A6 */ lui $at, 0xc2a6 +/* C9EEF4 80240FD4 4481C000 */ mtc1 $at, $f24 +/* C9EEF8 80240FD8 3C0142AE */ lui $at, 0x42ae +/* C9EEFC 80240FDC 4481D000 */ mtc1 $at, $f26 +/* C9EF00 80240FE0 44071000 */ mfc1 $a3, $f2 +/* C9EF04 80240FE4 4600C306 */ mov.s $f12, $f24 +/* C9EF08 80240FE8 0C00A7B5 */ jal dist2D +/* C9EF0C 80240FEC 4600D386 */ mov.s $f14, $f26 +/* C9EF10 80240FF0 4600C306 */ mov.s $f12, $f24 +/* C9EF14 80240FF4 4600D386 */ mov.s $f14, $f26 +/* C9EF18 80240FF8 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* C9EF1C 80240FFC 468010A0 */ cvt.s.w $f2, $f2 +/* C9EF20 80241000 44061000 */ mfc1 $a2, $f2 +/* C9EF24 80241004 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* C9EF28 80241008 468010A0 */ cvt.s.w $f2, $f2 +/* C9EF2C 8024100C 44071000 */ mfc1 $a3, $f2 +/* C9EF30 80241010 0C00A720 */ jal atan2 +/* C9EF34 80241014 46000586 */ mov.s $f22, $f0 +/* C9EF38 80241018 0C00A6C9 */ jal clamp_angle +/* C9EF3C 8024101C 46140301 */ sub.s $f12, $f0, $f20 +/* C9EF40 80241020 46000506 */ mov.s $f20, $f0 +/* C9EF44 80241024 0C00A8BB */ jal sin_deg +/* C9EF48 80241028 4600A306 */ mov.s $f12, $f20 +/* C9EF4C 8024102C 4600B002 */ mul.s $f0, $f22, $f0 +/* C9EF50 80241030 00000000 */ nop +/* C9EF54 80241034 46180000 */ add.s $f0, $f0, $f24 +/* C9EF58 80241038 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* C9EF5C 8024103C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* C9EF60 80241040 E6200028 */ swc1 $f0, 0x28($s1) +/* C9EF64 80241044 8E0500AC */ lw $a1, 0xac($s0) +/* C9EF68 80241048 0C0B1EAF */ jal get_variable +/* C9EF6C 8024104C 0000202D */ daddu $a0, $zero, $zero +/* C9EF70 80241050 0000202D */ daddu $a0, $zero, $zero +/* C9EF74 80241054 8E050090 */ lw $a1, 0x90($s0) +/* C9EF78 80241058 0C0B1EAF */ jal get_variable +/* C9EF7C 8024105C 0040802D */ daddu $s0, $v0, $zero +/* C9EF80 80241060 4600A306 */ mov.s $f12, $f20 +/* C9EF84 80241064 02028021 */ addu $s0, $s0, $v0 +/* C9EF88 80241068 44900000 */ mtc1 $s0, $f0 +/* C9EF8C 8024106C 00000000 */ nop +/* C9EF90 80241070 46800020 */ cvt.s.w $f0, $f0 +/* C9EF94 80241074 0C00A8D4 */ jal cos_deg +/* C9EF98 80241078 E620002C */ swc1 $f0, 0x2c($s1) +/* C9EF9C 8024107C 4600B582 */ mul.s $f22, $f22, $f0 +/* C9EFA0 80241080 00000000 */ nop +/* C9EFA4 80241084 4616D681 */ sub.s $f26, $f26, $f22 +/* C9EFA8 80241088 E63A0030 */ swc1 $f26, 0x30($s1) +/* C9EFAC 8024108C 8FBF0018 */ lw $ra, 0x18($sp) +/* C9EFB0 80241090 8FB10014 */ lw $s1, 0x14($sp) +/* C9EFB4 80241094 8FB00010 */ lw $s0, 0x10($sp) +/* C9EFB8 80241098 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* C9EFBC 8024109C D7B80030 */ ldc1 $f24, 0x30($sp) +/* C9EFC0 802410A0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* C9EFC4 802410A4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* C9EFC8 802410A8 24020002 */ addiu $v0, $zero, 2 +/* C9EFCC 802410AC 03E00008 */ jr $ra +/* C9EFD0 802410B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_802410B4_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_802410B4_C9DF20.s new file mode 100644 index 0000000000..b6f2d2c4e2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_802410B4_C9DF20.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B4_C9EFD4 +/* C9EFD4 802410B4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C9EFD8 802410B8 AFB00010 */ sw $s0, 0x10($sp) +/* C9EFDC 802410BC 0080802D */ daddu $s0, $a0, $zero +/* C9EFE0 802410C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C9EFE4 802410C4 AFB10014 */ sw $s1, 0x14($sp) +/* C9EFE8 802410C8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* C9EFEC 802410CC F7B80030 */ sdc1 $f24, 0x30($sp) +/* C9EFF0 802410D0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* C9EFF4 802410D4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* C9EFF8 802410D8 0C00E2B7 */ jal get_npc_by_index +/* C9EFFC 802410DC 0000202D */ daddu $a0, $zero, $zero +/* C9F000 802410E0 0000202D */ daddu $a0, $zero, $zero +/* C9F004 802410E4 8E05008C */ lw $a1, 0x8c($s0) +/* C9F008 802410E8 0C0B1EAF */ jal get_variable +/* C9F00C 802410EC 0040882D */ daddu $s1, $v0, $zero +/* C9F010 802410F0 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* C9F014 802410F4 468010A0 */ cvt.s.w $f2, $f2 +/* C9F018 802410F8 44061000 */ mfc1 $a2, $f2 +/* C9F01C 802410FC C60200BC */ lwc1 $f2, 0xbc($s0) +/* C9F020 80241100 468010A0 */ cvt.s.w $f2, $f2 +/* C9F024 80241104 4482A000 */ mtc1 $v0, $f20 +/* C9F028 80241108 00000000 */ nop +/* C9F02C 8024110C 4680A520 */ cvt.s.w $f20, $f20 +/* C9F030 80241110 3C01C2A6 */ lui $at, 0xc2a6 +/* C9F034 80241114 4481C000 */ mtc1 $at, $f24 +/* C9F038 80241118 3C0142AE */ lui $at, 0x42ae +/* C9F03C 8024111C 4481D000 */ mtc1 $at, $f26 +/* C9F040 80241120 44071000 */ mfc1 $a3, $f2 +/* C9F044 80241124 4600C306 */ mov.s $f12, $f24 +/* C9F048 80241128 0C00A7B5 */ jal dist2D +/* C9F04C 8024112C 4600D386 */ mov.s $f14, $f26 +/* C9F050 80241130 4600C306 */ mov.s $f12, $f24 +/* C9F054 80241134 4600D386 */ mov.s $f14, $f26 +/* C9F058 80241138 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* C9F05C 8024113C 468010A0 */ cvt.s.w $f2, $f2 +/* C9F060 80241140 44061000 */ mfc1 $a2, $f2 +/* C9F064 80241144 C60200BC */ lwc1 $f2, 0xbc($s0) +/* C9F068 80241148 468010A0 */ cvt.s.w $f2, $f2 +/* C9F06C 8024114C 44071000 */ mfc1 $a3, $f2 +/* C9F070 80241150 0C00A720 */ jal atan2 +/* C9F074 80241154 46000586 */ mov.s $f22, $f0 +/* C9F078 80241158 0C00A6C9 */ jal clamp_angle +/* C9F07C 8024115C 46140301 */ sub.s $f12, $f0, $f20 +/* C9F080 80241160 46000506 */ mov.s $f20, $f0 +/* C9F084 80241164 0C00A8BB */ jal sin_deg +/* C9F088 80241168 4600A306 */ mov.s $f12, $f20 +/* C9F08C 8024116C 4600B002 */ mul.s $f0, $f22, $f0 +/* C9F090 80241170 00000000 */ nop +/* C9F094 80241174 46180000 */ add.s $f0, $f0, $f24 +/* C9F098 80241178 E6200038 */ swc1 $f0, 0x38($s1) +/* C9F09C 8024117C 8E0500B8 */ lw $a1, 0xb8($s0) +/* C9F0A0 80241180 0C0B1EAF */ jal get_variable +/* C9F0A4 80241184 0000202D */ daddu $a0, $zero, $zero +/* C9F0A8 80241188 0000202D */ daddu $a0, $zero, $zero +/* C9F0AC 8024118C 8E050090 */ lw $a1, 0x90($s0) +/* C9F0B0 80241190 0C0B1EAF */ jal get_variable +/* C9F0B4 80241194 0040802D */ daddu $s0, $v0, $zero +/* C9F0B8 80241198 4600A306 */ mov.s $f12, $f20 +/* C9F0BC 8024119C 02028021 */ addu $s0, $s0, $v0 +/* C9F0C0 802411A0 44900000 */ mtc1 $s0, $f0 +/* C9F0C4 802411A4 00000000 */ nop +/* C9F0C8 802411A8 46800020 */ cvt.s.w $f0, $f0 +/* C9F0CC 802411AC 0C00A8D4 */ jal cos_deg +/* C9F0D0 802411B0 E620003C */ swc1 $f0, 0x3c($s1) +/* C9F0D4 802411B4 4600B582 */ mul.s $f22, $f22, $f0 +/* C9F0D8 802411B8 00000000 */ nop +/* C9F0DC 802411BC 4616D681 */ sub.s $f26, $f26, $f22 +/* C9F0E0 802411C0 E63A0040 */ swc1 $f26, 0x40($s1) +/* C9F0E4 802411C4 8FBF0018 */ lw $ra, 0x18($sp) +/* C9F0E8 802411C8 8FB10014 */ lw $s1, 0x14($sp) +/* C9F0EC 802411CC 8FB00010 */ lw $s0, 0x10($sp) +/* C9F0F0 802411D0 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* C9F0F4 802411D4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* C9F0F8 802411D8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* C9F0FC 802411DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* C9F100 802411E0 24020002 */ addiu $v0, $zero, 2 +/* C9F104 802411E4 03E00008 */ jr $ra +/* C9F108 802411E8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_802411EC_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_802411EC_C9DF20.s new file mode 100644 index 0000000000..59e27a8f08 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_802411EC_C9DF20.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411EC_C9F10C +/* C9F10C 802411EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C9F110 802411F0 AFB20018 */ sw $s2, 0x18($sp) +/* C9F114 802411F4 0080902D */ daddu $s2, $a0, $zero +/* C9F118 802411F8 AFBF0028 */ sw $ra, 0x28($sp) +/* C9F11C 802411FC AFB50024 */ sw $s5, 0x24($sp) +/* C9F120 80241200 AFB40020 */ sw $s4, 0x20($sp) +/* C9F124 80241204 AFB3001C */ sw $s3, 0x1c($sp) +/* C9F128 80241208 AFB10014 */ sw $s1, 0x14($sp) +/* C9F12C 8024120C AFB00010 */ sw $s0, 0x10($sp) +/* C9F130 80241210 F7B80040 */ sdc1 $f24, 0x40($sp) +/* C9F134 80241214 F7B60038 */ sdc1 $f22, 0x38($sp) +/* C9F138 80241218 F7B40030 */ sdc1 $f20, 0x30($sp) +/* C9F13C 8024121C 8E50000C */ lw $s0, 0xc($s2) +/* C9F140 80241220 8E140000 */ lw $s4, ($s0) +/* C9F144 80241224 26100004 */ addiu $s0, $s0, 4 +/* C9F148 80241228 0C0B1EAF */ jal get_variable +/* C9F14C 8024122C 0280282D */ daddu $a1, $s4, $zero +/* C9F150 80241230 0040982D */ daddu $s3, $v0, $zero +/* C9F154 80241234 8E150000 */ lw $s5, ($s0) +/* C9F158 80241238 26100004 */ addiu $s0, $s0, 4 +/* C9F15C 8024123C 8E050000 */ lw $a1, ($s0) +/* C9F160 80241240 26100004 */ addiu $s0, $s0, 4 +/* C9F164 80241244 0C0B210B */ jal get_float_variable +/* C9F168 80241248 0240202D */ daddu $a0, $s2, $zero +/* C9F16C 8024124C 8E050000 */ lw $a1, ($s0) +/* C9F170 80241250 26100004 */ addiu $s0, $s0, 4 +/* C9F174 80241254 0240202D */ daddu $a0, $s2, $zero +/* C9F178 80241258 0C0B210B */ jal get_float_variable +/* C9F17C 8024125C 46000606 */ mov.s $f24, $f0 +/* C9F180 80241260 8E050000 */ lw $a1, ($s0) +/* C9F184 80241264 26100004 */ addiu $s0, $s0, 4 +/* C9F188 80241268 0240202D */ daddu $a0, $s2, $zero +/* C9F18C 8024126C 0C0B1EAF */ jal get_variable +/* C9F190 80241270 46000506 */ mov.s $f20, $f0 +/* C9F194 80241274 8E050000 */ lw $a1, ($s0) +/* C9F198 80241278 26100004 */ addiu $s0, $s0, 4 +/* C9F19C 8024127C 0240202D */ daddu $a0, $s2, $zero +/* C9F1A0 80241280 0C0B1EAF */ jal get_variable +/* C9F1A4 80241284 0040882D */ daddu $s1, $v0, $zero +/* C9F1A8 80241288 0240202D */ daddu $a0, $s2, $zero +/* C9F1AC 8024128C 8E050000 */ lw $a1, ($s0) +/* C9F1B0 80241290 0C0B210B */ jal get_float_variable +/* C9F1B4 80241294 0040802D */ daddu $s0, $v0, $zero +/* C9F1B8 80241298 3C014334 */ lui $at, 0x4334 +/* C9F1BC 8024129C 44811000 */ mtc1 $at, $f2 +/* C9F1C0 802412A0 3C014049 */ lui $at, 0x4049 +/* C9F1C4 802412A4 34210FD8 */ ori $at, $at, 0xfd8 +/* C9F1C8 802412A8 44812000 */ mtc1 $at, $f4 +/* C9F1CC 802412AC 46020003 */ div.s $f0, $f0, $f2 +/* C9F1D0 802412B0 46040582 */ mul.s $f22, $f0, $f4 +/* C9F1D4 802412B4 00000000 */ nop +/* C9F1D8 802412B8 4618A501 */ sub.s $f20, $f20, $f24 +/* C9F1DC 802412BC 3C013F00 */ lui $at, 0x3f00 +/* C9F1E0 802412C0 44810000 */ mtc1 $at, $f0 +/* C9F1E4 802412C4 00000000 */ nop +/* C9F1E8 802412C8 4600A502 */ mul.s $f20, $f20, $f0 +/* C9F1EC 802412CC 00000000 */ nop +/* C9F1F0 802412D0 12000007 */ beqz $s0, .L802412F0 +/* C9F1F4 802412D4 0233102A */ slt $v0, $s1, $s3 +/* C9F1F8 802412D8 10400005 */ beqz $v0, .L802412F0 +/* C9F1FC 802412DC 0240202D */ daddu $a0, $s2, $zero +/* C9F200 802412E0 0220982D */ daddu $s3, $s1, $zero +/* C9F204 802412E4 0280282D */ daddu $a1, $s4, $zero +/* C9F208 802412E8 0C0B2026 */ jal set_variable +/* C9F20C 802412EC 0220302D */ daddu $a2, $s1, $zero +.L802412F0: +/* C9F210 802412F0 3C014049 */ lui $at, 0x4049 +/* C9F214 802412F4 34210FD8 */ ori $at, $at, 0xfd8 +/* C9F218 802412F8 44810000 */ mtc1 $at, $f0 +/* C9F21C 802412FC 44936000 */ mtc1 $s3, $f12 +/* C9F220 80241300 00000000 */ nop +/* C9F224 80241304 46806320 */ cvt.s.w $f12, $f12 +/* C9F228 80241308 46006302 */ mul.s $f12, $f12, $f0 +/* C9F22C 8024130C 00000000 */ nop +/* C9F230 80241310 44910000 */ mtc1 $s1, $f0 +/* C9F234 80241314 00000000 */ nop +/* C9F238 80241318 46800020 */ cvt.s.w $f0, $f0 +/* C9F23C 8024131C 46006303 */ div.s $f12, $f12, $f0 +/* C9F240 80241320 0C00A874 */ jal cos_rad +/* C9F244 80241324 46166300 */ add.s $f12, $f12, $f22 +/* C9F248 80241328 4600A002 */ mul.s $f0, $f20, $f0 +/* C9F24C 8024132C 00000000 */ nop +/* C9F250 80241330 4614C080 */ add.s $f2, $f24, $f20 +/* C9F254 80241334 46001081 */ sub.s $f2, $f2, $f0 +/* C9F258 80241338 0240202D */ daddu $a0, $s2, $zero +/* C9F25C 8024133C 44061000 */ mfc1 $a2, $f2 +/* C9F260 80241340 0C0B2190 */ jal set_float_variable +/* C9F264 80241344 02A0282D */ daddu $a1, $s5, $zero +/* C9F268 80241348 8FBF0028 */ lw $ra, 0x28($sp) +/* C9F26C 8024134C 8FB50024 */ lw $s5, 0x24($sp) +/* C9F270 80241350 8FB40020 */ lw $s4, 0x20($sp) +/* C9F274 80241354 8FB3001C */ lw $s3, 0x1c($sp) +/* C9F278 80241358 8FB20018 */ lw $s2, 0x18($sp) +/* C9F27C 8024135C 8FB10014 */ lw $s1, 0x14($sp) +/* C9F280 80241360 8FB00010 */ lw $s0, 0x10($sp) +/* C9F284 80241364 D7B80040 */ ldc1 $f24, 0x40($sp) +/* C9F288 80241368 D7B60038 */ ldc1 $f22, 0x38($sp) +/* C9F28C 8024136C D7B40030 */ ldc1 $f20, 0x30($sp) +/* C9F290 80241370 24020002 */ addiu $v0, $zero, 2 +/* C9F294 80241374 03E00008 */ jr $ra +/* C9F298 80241378 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_8024137C_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_8024137C_C9DF20.s new file mode 100644 index 0000000000..1c169d7a02 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_8024137C_C9DF20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024137C_C9F29C +/* C9F29C 8024137C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9F2A0 80241380 AFBF0010 */ sw $ra, 0x10($sp) +/* C9F2A4 80241384 0C03A6DB */ jal sync_status_menu +/* C9F2A8 80241388 00000000 */ nop +/* C9F2AC 8024138C 8FBF0010 */ lw $ra, 0x10($sp) +/* C9F2B0 80241390 24020002 */ addiu $v0, $zero, 2 +/* C9F2B4 80241394 03E00008 */ jr $ra +/* C9F2B8 80241398 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_8024139C_C9DF20.s b/asm/nonmatchings/world/area_flo/flo_00/func_8024139C_C9DF20.s new file mode 100644 index 0000000000..888c1b13a6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_8024139C_C9DF20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024139C_C9F2BC +/* C9F2BC 8024139C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9F2C0 802413A0 AFBF0010 */ sw $ra, 0x10($sp) +/* C9F2C4 802413A4 0C03A6D5 */ jal increment_status_menu_disabled +/* C9F2C8 802413A8 00000000 */ nop +/* C9F2CC 802413AC 8FBF0010 */ lw $ra, 0x10($sp) +/* C9F2D0 802413B0 24020002 */ addiu $v0, $zero, 2 +/* C9F2D4 802413B4 03E00008 */ jr $ra +/* C9F2D8 802413B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_00/func_802413BC.s b/asm/nonmatchings/world/area_flo/flo_00/func_802413BC.s new file mode 100644 index 0000000000..8cb7d6e9f6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_00/func_802413BC.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413BC +/* C9F2DC 802413BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9F2E0 802413C0 AFBF0010 */ sw $ra, 0x10($sp) +/* C9F2E4 802413C4 0C03A6CC */ jal decrement_status_menu_disabled +/* C9F2E8 802413C8 00000000 */ nop +/* C9F2EC 802413CC 8FBF0010 */ lw $ra, 0x10($sp) +/* C9F2F0 802413D0 24020002 */ addiu $v0, $zero, 2 +/* C9F2F4 802413D4 03E00008 */ jr $ra +/* C9F2F8 802413D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* C9F2FC 802413DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_80240000_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_80240000_CA72A0.s new file mode 100644 index 0000000000..0f39d889ac --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_80240000_CA72A0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CA72A0 +/* CA72A0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CA72A4 80240004 24040001 */ addiu $a0, $zero, 1 +/* CA72A8 80240008 0000282D */ daddu $a1, $zero, $zero +/* CA72AC 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CA72B0 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CA72B4 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CA72B8 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CA72BC 8024001C 0C01CA54 */ jal func_80072950 +/* CA72C0 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CA72C4 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CA72C8 80240028 24020002 */ addiu $v0, $zero, 2 +/* CA72CC 8024002C 03E00008 */ jr $ra +/* CA72D0 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CA72D4 80240034 00000000 */ nop +/* CA72D8 80240038 00000000 */ nop +/* CA72DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_80240040_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_80240040_CA72A0.s new file mode 100644 index 0000000000..7141302d04 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_80240040_CA72A0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CA72E0 +/* CA72E0 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CA72E4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* CA72E8 80240048 3C108024 */ lui $s0, 0x8024 +/* CA72EC 8024004C 26100F08 */ addiu $s0, $s0, 0xf08 +/* CA72F0 80240050 AFBF0018 */ sw $ra, 0x18($sp) +/* CA72F4 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* CA72F8 80240058 8E020000 */ lw $v0, ($s0) +/* CA72FC 8024005C 14400010 */ bnez $v0, .L802400A0 +/* CA7300 80240060 0080882D */ daddu $s1, $a0, $zero +/* CA7304 80240064 0C00AB39 */ jal heap_malloc +/* CA7308 80240068 24040040 */ addiu $a0, $zero, 0x40 +/* CA730C 8024006C AE020000 */ sw $v0, ($s0) +/* CA7310 80240070 0000182D */ daddu $v1, $zero, $zero +/* CA7314 80240074 0040282D */ daddu $a1, $v0, $zero +/* CA7318 80240078 0220202D */ daddu $a0, $s1, $zero +.L8024007C: +/* CA731C 8024007C 8C820084 */ lw $v0, 0x84($a0) +/* CA7320 80240080 24840004 */ addiu $a0, $a0, 4 +/* CA7324 80240084 24630001 */ addiu $v1, $v1, 1 +/* CA7328 80240088 ACA20000 */ sw $v0, ($a1) +/* CA732C 8024008C 28620010 */ slti $v0, $v1, 0x10 +/* CA7330 80240090 1440FFFA */ bnez $v0, .L8024007C +/* CA7334 80240094 24A50004 */ addiu $a1, $a1, 4 +/* CA7338 80240098 08090037 */ j .L802400DC +/* CA733C 8024009C 00000000 */ nop +.L802400A0: +/* CA7340 802400A0 0000182D */ daddu $v1, $zero, $zero +/* CA7344 802400A4 0040282D */ daddu $a1, $v0, $zero +/* CA7348 802400A8 0220202D */ daddu $a0, $s1, $zero +.L802400AC: +/* CA734C 802400AC 8CA20000 */ lw $v0, ($a1) +/* CA7350 802400B0 24A50004 */ addiu $a1, $a1, 4 +/* CA7354 802400B4 24630001 */ addiu $v1, $v1, 1 +/* CA7358 802400B8 AC820084 */ sw $v0, 0x84($a0) +/* CA735C 802400BC 28620010 */ slti $v0, $v1, 0x10 +/* CA7360 802400C0 1440FFFA */ bnez $v0, .L802400AC +/* CA7364 802400C4 24840004 */ addiu $a0, $a0, 4 +/* CA7368 802400C8 3C108024 */ lui $s0, 0x8024 +/* CA736C 802400CC 26100F08 */ addiu $s0, $s0, 0xf08 +/* CA7370 802400D0 0C00AB4B */ jal heap_free +/* CA7374 802400D4 8E040000 */ lw $a0, ($s0) +/* CA7378 802400D8 AE000000 */ sw $zero, ($s0) +.L802400DC: +/* CA737C 802400DC 8FBF0018 */ lw $ra, 0x18($sp) +/* CA7380 802400E0 8FB10014 */ lw $s1, 0x14($sp) +/* CA7384 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* CA7388 802400E8 24020002 */ addiu $v0, $zero, 2 +/* CA738C 802400EC 03E00008 */ jr $ra +/* CA7390 802400F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_802400F4_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_802400F4_CA72A0.s new file mode 100644 index 0000000000..6c2f06a846 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_802400F4_CA72A0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F4_CA7394 +/* CA7394 802400F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CA7398 802400F8 AFB00010 */ sw $s0, 0x10($sp) +/* CA739C 802400FC 0080802D */ daddu $s0, $a0, $zero +/* CA73A0 80240100 AFBF0018 */ sw $ra, 0x18($sp) +/* CA73A4 80240104 AFB10014 */ sw $s1, 0x14($sp) +/* CA73A8 80240108 8E02000C */ lw $v0, 0xc($s0) +/* CA73AC 8024010C 8C510000 */ lw $s1, ($v0) +/* CA73B0 80240110 0C0B1EAF */ jal get_variable +/* CA73B4 80240114 0220282D */ daddu $a1, $s1, $zero +/* CA73B8 80240118 3C03FFF0 */ lui $v1, 0xfff0 +/* CA73BC 8024011C 3463FFFF */ ori $v1, $v1, 0xffff +/* CA73C0 80240120 0200202D */ daddu $a0, $s0, $zero +/* CA73C4 80240124 00431024 */ and $v0, $v0, $v1 +/* CA73C8 80240128 00021140 */ sll $v0, $v0, 5 +/* CA73CC 8024012C 3C068008 */ lui $a2, %hi(gItemTable) +/* CA73D0 80240130 00C23021 */ addu $a2, $a2, $v0 +/* CA73D4 80240134 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CA73D8 80240138 0C0B2026 */ jal set_variable +/* CA73DC 8024013C 0220282D */ daddu $a1, $s1, $zero +/* CA73E0 80240140 8FBF0018 */ lw $ra, 0x18($sp) +/* CA73E4 80240144 8FB10014 */ lw $s1, 0x14($sp) +/* CA73E8 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* CA73EC 8024014C 24020002 */ addiu $v0, $zero, 2 +/* CA73F0 80240150 03E00008 */ jr $ra +/* CA73F4 80240154 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_80240158_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_80240158_CA72A0.s new file mode 100644 index 0000000000..0ce770d2a9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_80240158_CA72A0.s @@ -0,0 +1,179 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_CA73F8 +/* CA73F8 80240158 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CA73FC 8024015C AFBF0020 */ sw $ra, 0x20($sp) +/* CA7400 80240160 AFB1001C */ sw $s1, 0x1c($sp) +/* CA7404 80240164 AFB00018 */ sw $s0, 0x18($sp) +/* CA7408 80240168 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CA740C 8024016C F7B80038 */ sdc1 $f24, 0x38($sp) +/* CA7410 80240170 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CA7414 80240174 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CA7418 80240178 8C910148 */ lw $s1, 0x148($a0) +/* CA741C 8024017C 0C00EABB */ jal get_npc_unsafe +/* CA7420 80240180 86240008 */ lh $a0, 8($s1) +/* CA7424 80240184 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* CA7428 80240188 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* CA742C 8024018C 0040802D */ daddu $s0, $v0, $zero +/* CA7430 80240190 3C01C352 */ lui $at, 0xc352 +/* CA7434 80240194 4481B000 */ mtc1 $at, $f22 +/* CA7438 80240198 3C01C337 */ lui $at, 0xc337 +/* CA743C 8024019C 4481C000 */ mtc1 $at, $f24 +/* CA7440 802401A0 8C660028 */ lw $a2, 0x28($v1) +/* CA7444 802401A4 8C670030 */ lw $a3, 0x30($v1) +/* CA7448 802401A8 3C014334 */ lui $at, 0x4334 +/* CA744C 802401AC 4481D000 */ mtc1 $at, $f26 +/* CA7450 802401B0 4600B306 */ mov.s $f12, $f22 +/* CA7454 802401B4 0C00A720 */ jal atan2 +/* CA7458 802401B8 4600C386 */ mov.s $f14, $f24 +/* CA745C 802401BC 0C00A6C9 */ jal clamp_angle +/* CA7460 802401C0 461A0300 */ add.s $f12, $f0, $f26 +/* CA7464 802401C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7468 802401C8 3C064238 */ lui $a2, 0x4238 +/* CA746C 802401CC 44070000 */ mfc1 $a3, $f0 +/* CA7470 802401D0 27A50014 */ addiu $a1, $sp, 0x14 +/* CA7474 802401D4 E7B60010 */ swc1 $f22, 0x10($sp) +/* CA7478 802401D8 0C00A7E7 */ jal add_vec2D_polar +/* CA747C 802401DC E7B80014 */ swc1 $f24, 0x14($sp) +/* CA7480 802401E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CA7484 802401E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CA7488 802401E8 8FA60010 */ lw $a2, 0x10($sp) +/* CA748C 802401EC 0C00A7B5 */ jal dist2D +/* CA7490 802401F0 8FA70014 */ lw $a3, 0x14($sp) +/* CA7494 802401F4 3C014000 */ lui $at, 0x4000 +/* CA7498 802401F8 44811800 */ mtc1 $at, $f3 +/* CA749C 802401FC 44801000 */ mtc1 $zero, $f2 +/* CA74A0 80240200 46000121 */ cvt.d.s $f4, $f0 +/* CA74A4 80240204 4624103C */ c.lt.d $f2, $f4 +/* CA74A8 80240208 00000000 */ nop +/* CA74AC 8024020C 45000053 */ bc1f .L8024035C +/* CA74B0 80240210 4600B306 */ mov.s $f12, $f22 +/* CA74B4 80240214 8E060038 */ lw $a2, 0x38($s0) +/* CA74B8 80240218 8E070040 */ lw $a3, 0x40($s0) +/* CA74BC 8024021C 0C00A720 */ jal atan2 +/* CA74C0 80240220 4600C386 */ mov.s $f14, $f24 +/* CA74C4 80240224 0C00A6C9 */ jal clamp_angle +/* CA74C8 80240228 46000306 */ mov.s $f12, $f0 +/* CA74CC 8024022C 4600B306 */ mov.s $f12, $f22 +/* CA74D0 80240230 4600C386 */ mov.s $f14, $f24 +/* CA74D4 80240234 8FA60010 */ lw $a2, 0x10($sp) +/* CA74D8 80240238 8FA70014 */ lw $a3, 0x14($sp) +/* CA74DC 8024023C 0C00A720 */ jal atan2 +/* CA74E0 80240240 46000506 */ mov.s $f20, $f0 +/* CA74E4 80240244 0C00A6C9 */ jal clamp_angle +/* CA74E8 80240248 46000306 */ mov.s $f12, $f0 +/* CA74EC 8024024C 4600A101 */ sub.s $f4, $f20, $f0 +/* CA74F0 80240250 4600218D */ trunc.w.s $f6, $f4 +/* CA74F4 80240254 44023000 */ mfc1 $v0, $f6 +/* CA74F8 80240258 00000000 */ nop +/* CA74FC 8024025C 04420001 */ bltzl $v0, .L80240264 +/* CA7500 80240260 00021023 */ negu $v0, $v0 +.L80240264: +/* CA7504 80240264 28420015 */ slti $v0, $v0, 0x15 +/* CA7508 80240268 1440002D */ bnez $v0, .L80240320 +/* CA750C 8024026C 00000000 */ nop +/* CA7510 80240270 4604D03E */ c.le.s $f26, $f4 +/* CA7514 80240274 00000000 */ nop +/* CA7518 80240278 45000005 */ bc1f .L80240290 +/* CA751C 8024027C 46002086 */ mov.s $f2, $f4 +/* CA7520 80240280 3C0143B4 */ lui $at, 0x43b4 +/* CA7524 80240284 44810000 */ mtc1 $at, $f0 +/* CA7528 80240288 00000000 */ nop +/* CA752C 8024028C 46002081 */ sub.s $f2, $f4, $f0 +.L80240290: +/* CA7530 80240290 3C01C334 */ lui $at, 0xc334 +/* CA7534 80240294 44810000 */ mtc1 $at, $f0 +/* CA7538 80240298 00000000 */ nop +/* CA753C 8024029C 4600103E */ c.le.s $f2, $f0 +/* CA7540 802402A0 00000000 */ nop +/* CA7544 802402A4 45000005 */ bc1f .L802402BC +/* CA7548 802402A8 00000000 */ nop +/* CA754C 802402AC 3C0143B4 */ lui $at, 0x43b4 +/* CA7550 802402B0 44810000 */ mtc1 $at, $f0 +/* CA7554 802402B4 00000000 */ nop +/* CA7558 802402B8 46001080 */ add.s $f2, $f2, $f0 +.L802402BC: +/* CA755C 802402BC 46022032 */ c.eq.s $f4, $f2 +/* CA7560 802402C0 00000000 */ nop +/* CA7564 802402C4 45000016 */ bc1f .L80240320 +/* CA7568 802402C8 00000000 */ nop +/* CA756C 802402CC 44800000 */ mtc1 $zero, $f0 +/* CA7570 802402D0 E7B60010 */ swc1 $f22, 0x10($sp) +/* CA7574 802402D4 4604003E */ c.le.s $f0, $f4 +/* CA7578 802402D8 00000000 */ nop +/* CA757C 802402DC 45000005 */ bc1f .L802402F4 +/* CA7580 802402E0 E7B80014 */ swc1 $f24, 0x14($sp) +/* CA7584 802402E4 3C0141A0 */ lui $at, 0x41a0 +/* CA7588 802402E8 44816000 */ mtc1 $at, $f12 +/* CA758C 802402EC 080900C1 */ j .L80240304 +/* CA7590 802402F0 460CA301 */ sub.s $f12, $f20, $f12 +.L802402F4: +/* CA7594 802402F4 3C0141A0 */ lui $at, 0x41a0 +/* CA7598 802402F8 44816000 */ mtc1 $at, $f12 +/* CA759C 802402FC 00000000 */ nop +/* CA75A0 80240300 460CA300 */ add.s $f12, $f20, $f12 +.L80240304: +/* CA75A4 80240304 0C00A6C9 */ jal clamp_angle +/* CA75A8 80240308 00000000 */ nop +/* CA75AC 8024030C 27A40010 */ addiu $a0, $sp, 0x10 +/* CA75B0 80240310 3C064238 */ lui $a2, 0x4238 +/* CA75B4 80240314 44070000 */ mfc1 $a3, $f0 +/* CA75B8 80240318 0C00A7E7 */ jal add_vec2D_polar +/* CA75BC 8024031C 27A50014 */ addiu $a1, $sp, 0x14 +.L80240320: +/* CA75C0 80240320 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CA75C4 80240324 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CA75C8 80240328 8FA60010 */ lw $a2, 0x10($sp) +/* CA75CC 8024032C 8E2200CC */ lw $v0, 0xcc($s1) +/* CA75D0 80240330 8FA70014 */ lw $a3, 0x14($sp) +/* CA75D4 80240334 8C420008 */ lw $v0, 8($v0) +/* CA75D8 80240338 0C00A720 */ jal atan2 +/* CA75DC 8024033C AE020028 */ sw $v0, 0x28($s0) +/* CA75E0 80240340 3C054000 */ lui $a1, 0x4000 +/* CA75E4 80240344 44060000 */ mfc1 $a2, $f0 +/* CA75E8 80240348 0200202D */ daddu $a0, $s0, $zero +/* CA75EC 8024034C 0C00EA95 */ jal npc_move_heading +/* CA75F0 80240350 AC86000C */ sw $a2, 0xc($a0) +/* CA75F4 80240354 080900F2 */ j .L802403C8 +/* CA75F8 80240358 00000000 */ nop +.L8024035C: +/* CA75FC 8024035C 3C018024 */ lui $at, 0x8024 +/* CA7600 80240360 D4204F48 */ ldc1 $f0, 0x4f48($at) +/* CA7604 80240364 4624003C */ c.lt.d $f0, $f4 +/* CA7608 80240368 00000000 */ nop +/* CA760C 8024036C 4500000F */ bc1f .L802403AC +/* CA7610 80240370 00000000 */ nop +/* CA7614 80240374 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CA7618 80240378 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CA761C 8024037C 8FA60010 */ lw $a2, 0x10($sp) +/* CA7620 80240380 0C00A720 */ jal atan2 +/* CA7624 80240384 8FA70014 */ lw $a3, 0x14($sp) +/* CA7628 80240388 C7A20010 */ lwc1 $f2, 0x10($sp) +/* CA762C 8024038C C7A40014 */ lwc1 $f4, 0x14($sp) +/* CA7630 80240390 E600000C */ swc1 $f0, 0xc($s0) +/* CA7634 80240394 E6020038 */ swc1 $f2, 0x38($s0) +/* CA7638 80240398 E6040040 */ swc1 $f4, 0x40($s0) +/* CA763C 8024039C 8E2200CC */ lw $v0, 0xcc($s1) +/* CA7640 802403A0 8C420004 */ lw $v0, 4($v0) +/* CA7644 802403A4 080900F2 */ j .L802403C8 +/* CA7648 802403A8 AE020028 */ sw $v0, 0x28($s0) +.L802403AC: +/* CA764C 802403AC C7A00010 */ lwc1 $f0, 0x10($sp) +/* CA7650 802403B0 C7A20014 */ lwc1 $f2, 0x14($sp) +/* CA7654 802403B4 E6000038 */ swc1 $f0, 0x38($s0) +/* CA7658 802403B8 E6020040 */ swc1 $f2, 0x40($s0) +/* CA765C 802403BC 8E2200CC */ lw $v0, 0xcc($s1) +/* CA7660 802403C0 8C420000 */ lw $v0, ($v0) +/* CA7664 802403C4 AE020028 */ sw $v0, 0x28($s0) +.L802403C8: +/* CA7668 802403C8 8FBF0020 */ lw $ra, 0x20($sp) +/* CA766C 802403CC 8FB1001C */ lw $s1, 0x1c($sp) +/* CA7670 802403D0 8FB00018 */ lw $s0, 0x18($sp) +/* CA7674 802403D4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CA7678 802403D8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CA767C 802403DC D7B60030 */ ldc1 $f22, 0x30($sp) +/* CA7680 802403E0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CA7684 802403E4 0000102D */ daddu $v0, $zero, $zero +/* CA7688 802403E8 03E00008 */ jr $ra +/* CA768C 802403EC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_802403F0_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_802403F0_CA72A0.s new file mode 100644 index 0000000000..ad9b63274a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_802403F0_CA72A0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_CA7690 +/* CA7690 802403F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CA7694 802403F4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CA7698 802403F8 4485A000 */ mtc1 $a1, $f20 +/* CA769C 802403FC F7B60020 */ sdc1 $f22, 0x20($sp) +/* CA76A0 80240400 4486B000 */ mtc1 $a2, $f22 +/* CA76A4 80240404 AFB00010 */ sw $s0, 0x10($sp) +/* CA76A8 80240408 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CA76AC 8024040C 4487C000 */ mtc1 $a3, $f24 +/* CA76B0 80240410 AFBF0014 */ sw $ra, 0x14($sp) +/* CA76B4 80240414 0C019D28 */ jal guMtxIdentF +/* CA76B8 80240418 0080802D */ daddu $s0, $a0, $zero +/* CA76BC 8024041C 4616A582 */ mul.s $f22, $f20, $f22 +/* CA76C0 80240420 00000000 */ nop +/* CA76C4 80240424 4618A502 */ mul.s $f20, $f20, $f24 +/* CA76C8 80240428 00000000 */ nop +/* CA76CC 8024042C 3C013F80 */ lui $at, 0x3f80 +/* CA76D0 80240430 44810000 */ mtc1 $at, $f0 +/* CA76D4 80240434 00000000 */ nop +/* CA76D8 80240438 E6000014 */ swc1 $f0, 0x14($s0) +/* CA76DC 8024043C E6160010 */ swc1 $f22, 0x10($s0) +/* CA76E0 80240440 E6140018 */ swc1 $f20, 0x18($s0) +/* CA76E4 80240444 8FBF0014 */ lw $ra, 0x14($sp) +/* CA76E8 80240448 8FB00010 */ lw $s0, 0x10($sp) +/* CA76EC 8024044C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CA76F0 80240450 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CA76F4 80240454 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CA76F8 80240458 03E00008 */ jr $ra +/* CA76FC 8024045C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_03/func_80240460_CA72A0.s b/asm/nonmatchings/world/area_flo/flo_03/func_80240460_CA72A0.s new file mode 100644 index 0000000000..713bad0ac5 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_03/func_80240460_CA72A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240460_CA7700 +/* CA7700 80240460 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CA7704 80240464 AFB10054 */ sw $s1, 0x54($sp) +/* CA7708 80240468 0080882D */ daddu $s1, $a0, $zero +/* CA770C 8024046C AFBF005C */ sw $ra, 0x5c($sp) +/* CA7710 80240470 AFB20058 */ sw $s2, 0x58($sp) +/* CA7714 80240474 AFB00050 */ sw $s0, 0x50($sp) +/* CA7718 80240478 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CA771C 8024047C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CA7720 80240480 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CA7724 80240484 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CA7728 80240488 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CA772C 8024048C 8E30000C */ lw $s0, 0xc($s1) +/* CA7730 80240490 8E050000 */ lw $a1, ($s0) +/* CA7734 80240494 0C0B1EAF */ jal get_variable +/* CA7738 80240498 26100004 */ addiu $s0, $s0, 4 +/* CA773C 8024049C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CA7740 802404A0 0040202D */ daddu $a0, $v0, $zero +/* CA7744 802404A4 8E050000 */ lw $a1, ($s0) +/* CA7748 802404A8 26100004 */ addiu $s0, $s0, 4 +/* CA774C 802404AC 0220202D */ daddu $a0, $s1, $zero +/* CA7750 802404B0 0C0B210B */ jal get_float_variable +/* CA7754 802404B4 0040902D */ daddu $s2, $v0, $zero +/* CA7758 802404B8 8E050000 */ lw $a1, ($s0) +/* CA775C 802404BC 26100004 */ addiu $s0, $s0, 4 +/* CA7760 802404C0 0220202D */ daddu $a0, $s1, $zero +/* CA7764 802404C4 0C0B210B */ jal get_float_variable +/* CA7768 802404C8 46000706 */ mov.s $f28, $f0 +/* CA776C 802404CC 8E050000 */ lw $a1, ($s0) +/* CA7770 802404D0 26100004 */ addiu $s0, $s0, 4 +/* CA7774 802404D4 0220202D */ daddu $a0, $s1, $zero +/* CA7778 802404D8 0C0B210B */ jal get_float_variable +/* CA777C 802404DC 46000686 */ mov.s $f26, $f0 +/* CA7780 802404E0 0220202D */ daddu $a0, $s1, $zero +/* CA7784 802404E4 8E050000 */ lw $a1, ($s0) +/* CA7788 802404E8 0C0B210B */ jal get_float_variable +/* CA778C 802404EC 46000586 */ mov.s $f22, $f0 +/* CA7790 802404F0 0240202D */ daddu $a0, $s2, $zero +/* CA7794 802404F4 0C046B4C */ jal get_model_from_list_index +/* CA7798 802404F8 46000606 */ mov.s $f24, $f0 +/* CA779C 802404FC 0040882D */ daddu $s1, $v0, $zero +/* CA77A0 80240500 96220000 */ lhu $v0, ($s1) +/* CA77A4 80240504 30420400 */ andi $v0, $v0, 0x400 +/* CA77A8 80240508 1440001E */ bnez $v0, .L80240584 +/* CA77AC 8024050C 26300058 */ addiu $s0, $s1, 0x58 +/* CA77B0 80240510 4480A000 */ mtc1 $zero, $f20 +/* CA77B4 80240514 4406B000 */ mfc1 $a2, $f22 +/* CA77B8 80240518 4405A000 */ mfc1 $a1, $f20 +/* CA77BC 8024051C 4407A000 */ mfc1 $a3, $f20 +/* CA77C0 80240520 0C019E40 */ jal guTranslateF +/* CA77C4 80240524 0200202D */ daddu $a0, $s0, $zero +/* CA77C8 80240528 4405E000 */ mfc1 $a1, $f28 +/* CA77CC 8024052C 4406D000 */ mfc1 $a2, $f26 +/* CA77D0 80240530 4407C000 */ mfc1 $a3, $f24 +/* CA77D4 80240534 0C0900FC */ jal func_802403F0 +/* CA77D8 80240538 27A40010 */ addiu $a0, $sp, 0x10 +/* CA77DC 8024053C 27A40010 */ addiu $a0, $sp, 0x10 +/* CA77E0 80240540 0200282D */ daddu $a1, $s0, $zero +/* CA77E4 80240544 0C019D80 */ jal guMtxCatF +/* CA77E8 80240548 0200302D */ daddu $a2, $s0, $zero +/* CA77EC 8024054C 27A40010 */ addiu $a0, $sp, 0x10 +/* CA77F0 80240550 4600B587 */ neg.s $f22, $f22 +/* CA77F4 80240554 4405A000 */ mfc1 $a1, $f20 +/* CA77F8 80240558 4406B000 */ mfc1 $a2, $f22 +/* CA77FC 8024055C 0C019E40 */ jal guTranslateF +/* CA7800 80240560 00A0382D */ daddu $a3, $a1, $zero +/* CA7804 80240564 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7808 80240568 0200282D */ daddu $a1, $s0, $zero +/* CA780C 8024056C 0C019D80 */ jal guMtxCatF +/* CA7810 80240570 00A0302D */ daddu $a2, $a1, $zero +/* CA7814 80240574 96220000 */ lhu $v0, ($s1) +/* CA7818 80240578 34421400 */ ori $v0, $v0, 0x1400 +/* CA781C 8024057C 0809017F */ j .L802405FC +/* CA7820 80240580 A6220000 */ sh $v0, ($s1) +.L80240584: +/* CA7824 80240584 4480A000 */ mtc1 $zero, $f20 +/* CA7828 80240588 4406B000 */ mfc1 $a2, $f22 +/* CA782C 8024058C 4405A000 */ mfc1 $a1, $f20 +/* CA7830 80240590 4407A000 */ mfc1 $a3, $f20 +/* CA7834 80240594 0C019E40 */ jal guTranslateF +/* CA7838 80240598 27A40010 */ addiu $a0, $sp, 0x10 +/* CA783C 8024059C 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7840 802405A0 26300058 */ addiu $s0, $s1, 0x58 +/* CA7844 802405A4 0200282D */ daddu $a1, $s0, $zero +/* CA7848 802405A8 0C019D80 */ jal guMtxCatF +/* CA784C 802405AC 0200302D */ daddu $a2, $s0, $zero +/* CA7850 802405B0 4405E000 */ mfc1 $a1, $f28 +/* CA7854 802405B4 4406D000 */ mfc1 $a2, $f26 +/* CA7858 802405B8 4407C000 */ mfc1 $a3, $f24 +/* CA785C 802405BC 0C0900FC */ jal func_802403F0 +/* CA7860 802405C0 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7864 802405C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7868 802405C8 0200282D */ daddu $a1, $s0, $zero +/* CA786C 802405CC 0C019D80 */ jal guMtxCatF +/* CA7870 802405D0 0200302D */ daddu $a2, $s0, $zero +/* CA7874 802405D4 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7878 802405D8 4600B587 */ neg.s $f22, $f22 +/* CA787C 802405DC 4405A000 */ mfc1 $a1, $f20 +/* CA7880 802405E0 4406B000 */ mfc1 $a2, $f22 +/* CA7884 802405E4 0C019E40 */ jal guTranslateF +/* CA7888 802405E8 00A0382D */ daddu $a3, $a1, $zero +/* CA788C 802405EC 27A40010 */ addiu $a0, $sp, 0x10 +/* CA7890 802405F0 0200282D */ daddu $a1, $s0, $zero +/* CA7894 802405F4 0C019D80 */ jal guMtxCatF +/* CA7898 802405F8 00A0302D */ daddu $a2, $a1, $zero +.L802405FC: +/* CA789C 802405FC 8FBF005C */ lw $ra, 0x5c($sp) +/* CA78A0 80240600 8FB20058 */ lw $s2, 0x58($sp) +/* CA78A4 80240604 8FB10054 */ lw $s1, 0x54($sp) +/* CA78A8 80240608 8FB00050 */ lw $s0, 0x50($sp) +/* CA78AC 8024060C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CA78B0 80240610 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CA78B4 80240614 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CA78B8 80240618 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CA78BC 8024061C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CA78C0 80240620 24020002 */ addiu $v0, $zero, 2 +/* CA78C4 80240624 03E00008 */ jr $ra +/* CA78C8 80240628 27BD0088 */ addiu $sp, $sp, 0x88 +/* CA78CC 8024062C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_80240000_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_80240000_CAC1F0.s new file mode 100644 index 0000000000..2fc4153a70 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_80240000_CAC1F0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CAC1F0 +/* CAC1F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAC1F4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* CAC1F8 80240008 0080802D */ daddu $s0, $a0, $zero +/* CAC1FC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* CAC200 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* CAC204 80240014 8E020088 */ lw $v0, 0x88($s0) +/* CAC208 80240018 00621821 */ addu $v1, $v1, $v0 +/* CAC20C 8024001C 04610004 */ bgez $v1, .L80240030 +/* CAC210 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* CAC214 80240024 3C020002 */ lui $v0, 2 +/* CAC218 80240028 08090010 */ j .L80240040 +/* CAC21C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* CAC220 80240030 3C040002 */ lui $a0, 2 +/* CAC224 80240034 0083102A */ slt $v0, $a0, $v1 +/* CAC228 80240038 10400002 */ beqz $v0, .L80240044 +/* CAC22C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* CAC230 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* CAC234 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* CAC238 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* CAC23C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* CAC240 80240050 04610004 */ bgez $v1, .L80240064 +/* CAC244 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* CAC248 80240058 3C020002 */ lui $v0, 2 +/* CAC24C 8024005C 0809001D */ j .L80240074 +/* CAC250 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* CAC254 80240064 3C040002 */ lui $a0, 2 +/* CAC258 80240068 0083102A */ slt $v0, $a0, $v1 +/* CAC25C 8024006C 10400002 */ beqz $v0, .L80240078 +/* CAC260 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* CAC264 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* CAC268 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* CAC26C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* CAC270 80240080 00621821 */ addu $v1, $v1, $v0 +/* CAC274 80240084 04610004 */ bgez $v1, .L80240098 +/* CAC278 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* CAC27C 8024008C 3C020002 */ lui $v0, 2 +/* CAC280 80240090 0809002A */ j .L802400A8 +/* CAC284 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* CAC288 80240098 3C040002 */ lui $a0, 2 +/* CAC28C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* CAC290 802400A0 10400002 */ beqz $v0, .L802400AC +/* CAC294 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* CAC298 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* CAC29C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CAC2A0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* CAC2A4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* CAC2A8 802400B8 04610004 */ bgez $v1, .L802400CC +/* CAC2AC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CAC2B0 802400C0 3C020002 */ lui $v0, 2 +/* CAC2B4 802400C4 08090037 */ j .L802400DC +/* CAC2B8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* CAC2BC 802400CC 3C040002 */ lui $a0, 2 +/* CAC2C0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* CAC2C4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* CAC2C8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* CAC2CC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* CAC2D0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* CAC2D4 802400E4 0C046F07 */ jal set_main_pan_u +/* CAC2D8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CAC2DC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* CAC2E0 802400F0 0C046F0D */ jal set_main_pan_v +/* CAC2E4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* CAC2E8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* CAC2EC 802400FC 0C046F13 */ jal set_aux_pan_u +/* CAC2F0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* CAC2F4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* CAC2F8 80240108 0C046F19 */ jal set_aux_pan_v +/* CAC2FC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CAC300 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* CAC304 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* CAC308 80240118 0000102D */ daddu $v0, $zero, $zero +/* CAC30C 8024011C 03E00008 */ jr $ra +/* CAC310 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_80240124_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_80240124_CAC1F0.s new file mode 100644 index 0000000000..41de7241ca --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_80240124_CAC1F0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_CAC314 +/* CAC314 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAC318 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* CAC31C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* CAC320 80240130 10A00005 */ beqz $a1, .L80240148 +/* CAC324 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* CAC328 80240138 AE000070 */ sw $zero, 0x70($s0) +/* CAC32C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* CAC330 80240140 AE000078 */ sw $zero, 0x78($s0) +/* CAC334 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* CAC338 80240148 8E020070 */ lw $v0, 0x70($s0) +/* CAC33C 8024014C 1440000E */ bnez $v0, .L80240188 +/* CAC340 80240150 00000000 */ nop +/* CAC344 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* CAC348 80240158 8E020088 */ lw $v0, 0x88($s0) +/* CAC34C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* CAC350 80240160 04610004 */ bgez $v1, .L80240174 +/* CAC354 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* CAC358 80240168 3C020002 */ lui $v0, 2 +/* CAC35C 8024016C 08090061 */ j .L80240184 +/* CAC360 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* CAC364 80240174 3C040002 */ lui $a0, 2 +/* CAC368 80240178 0083102A */ slt $v0, $a0, $v1 +/* CAC36C 8024017C 10400002 */ beqz $v0, .L80240188 +/* CAC370 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* CAC374 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* CAC378 80240188 8E020074 */ lw $v0, 0x74($s0) +/* CAC37C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* CAC380 80240190 00000000 */ nop +/* CAC384 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* CAC388 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* CAC38C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* CAC390 802401A0 04610004 */ bgez $v1, .L802401B4 +/* CAC394 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* CAC398 802401A8 3C020002 */ lui $v0, 2 +/* CAC39C 802401AC 08090071 */ j .L802401C4 +/* CAC3A0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* CAC3A4 802401B4 3C040002 */ lui $a0, 2 +/* CAC3A8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* CAC3AC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* CAC3B0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* CAC3B4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* CAC3B8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* CAC3BC 802401CC 1440000E */ bnez $v0, .L80240208 +/* CAC3C0 802401D0 00000000 */ nop +/* CAC3C4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* CAC3C8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* CAC3CC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* CAC3D0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* CAC3D4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* CAC3D8 802401E8 3C020002 */ lui $v0, 2 +/* CAC3DC 802401EC 08090081 */ j .L80240204 +/* CAC3E0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* CAC3E4 802401F4 3C040002 */ lui $a0, 2 +/* CAC3E8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* CAC3EC 802401FC 10400002 */ beqz $v0, .L80240208 +/* CAC3F0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* CAC3F4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* CAC3F8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* CAC3FC 8024020C 1440000E */ bnez $v0, .L80240248 +/* CAC400 80240210 00000000 */ nop +/* CAC404 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* CAC408 80240218 8E020094 */ lw $v0, 0x94($s0) +/* CAC40C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CAC410 80240220 04610004 */ bgez $v1, .L80240234 +/* CAC414 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* CAC418 80240228 3C020002 */ lui $v0, 2 +/* CAC41C 8024022C 08090091 */ j .L80240244 +/* CAC420 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* CAC424 80240234 3C040002 */ lui $a0, 2 +/* CAC428 80240238 0083102A */ slt $v0, $a0, $v1 +/* CAC42C 8024023C 10400002 */ beqz $v0, .L80240248 +/* CAC430 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* CAC434 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* CAC438 80240248 8E040084 */ lw $a0, 0x84($s0) +/* CAC43C 8024024C 0C046F07 */ jal set_main_pan_u +/* CAC440 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* CAC444 80240254 8E040084 */ lw $a0, 0x84($s0) +/* CAC448 80240258 0C046F0D */ jal set_main_pan_v +/* CAC44C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* CAC450 80240260 8E040084 */ lw $a0, 0x84($s0) +/* CAC454 80240264 0C046F13 */ jal set_aux_pan_u +/* CAC458 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* CAC45C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* CAC460 80240270 0C046F19 */ jal set_aux_pan_v +/* CAC464 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* CAC468 80240278 8E020070 */ lw $v0, 0x70($s0) +/* CAC46C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* CAC470 80240280 8E040098 */ lw $a0, 0x98($s0) +/* CAC474 80240284 24420001 */ addiu $v0, $v0, 1 +/* CAC478 80240288 AE020070 */ sw $v0, 0x70($s0) +/* CAC47C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* CAC480 80240290 24630001 */ addiu $v1, $v1, 1 +/* CAC484 80240294 AE030078 */ sw $v1, 0x78($s0) +/* CAC488 80240298 8E030070 */ lw $v1, 0x70($s0) +/* CAC48C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* CAC490 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* CAC494 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* CAC498 802402A8 0064182A */ slt $v1, $v1, $a0 +/* CAC49C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* CAC4A0 802402B0 14600002 */ bnez $v1, .L802402BC +/* CAC4A4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* CAC4A8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* CAC4AC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* CAC4B0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* CAC4B4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* CAC4B8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* CAC4BC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* CAC4C0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* CAC4C4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* CAC4C8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* CAC4CC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* CAC4D0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* CAC4D4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* CAC4D8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* CAC4DC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* CAC4E0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* CAC4E4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* CAC4E8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* CAC4EC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* CAC4F0 80240300 0000102D */ daddu $v0, $zero, $zero +/* CAC4F4 80240304 03E00008 */ jr $ra +/* CAC4F8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_8024030C_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_8024030C_CAC1F0.s new file mode 100644 index 0000000000..c3dfd29b09 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_8024030C_CAC1F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_CAC4FC +/* CAC4FC 8024030C 44800000 */ mtc1 $zero, $f0 +/* CAC500 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAC504 80240314 44050000 */ mfc1 $a1, $f0 +/* CAC508 80240318 0000202D */ daddu $a0, $zero, $zero +/* CAC50C 8024031C AFBF0018 */ sw $ra, 0x18($sp) +/* CAC510 80240320 AFA00014 */ sw $zero, 0x14($sp) +/* CAC514 80240324 E7A00010 */ swc1 $f0, 0x10($sp) +/* CAC518 80240328 00A0302D */ daddu $a2, $a1, $zero +/* CAC51C 8024032C 0C01CA54 */ jal func_80072950 +/* CAC520 80240330 00A0382D */ daddu $a3, $a1, $zero +/* CAC524 80240334 8FBF0018 */ lw $ra, 0x18($sp) +/* CAC528 80240338 24020002 */ addiu $v0, $zero, 2 +/* CAC52C 8024033C 03E00008 */ jr $ra +/* CAC530 80240340 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_80240344_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_80240344_CAC1F0.s new file mode 100644 index 0000000000..39ccafa5f1 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_80240344_CAC1F0.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344_CAC534 +/* CAC534 80240344 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CAC538 80240348 24020008 */ addiu $v0, $zero, 8 +/* CAC53C 8024034C 3C014348 */ lui $at, 0x4348 +/* CAC540 80240350 44810000 */ mtc1 $at, $f0 +/* CAC544 80240354 3C0142F0 */ lui $at, 0x42f0 +/* CAC548 80240358 44811000 */ mtc1 $at, $f2 +/* CAC54C 8024035C 3C014080 */ lui $at, 0x4080 +/* CAC550 80240360 44812000 */ mtc1 $at, $f4 +/* CAC554 80240364 3C05C388 */ lui $a1, 0xc388 +/* CAC558 80240368 3C0642A0 */ lui $a2, 0x42a0 +/* CAC55C 8024036C 3C0741A0 */ lui $a3, 0x41a0 +/* CAC560 80240370 24040003 */ addiu $a0, $zero, 3 +/* CAC564 80240374 AFBF0028 */ sw $ra, 0x28($sp) +/* CAC568 80240378 AFA2001C */ sw $v0, 0x1c($sp) +/* CAC56C 8024037C AFA00020 */ sw $zero, 0x20($sp) +/* CAC570 80240380 E7A00010 */ swc1 $f0, 0x10($sp) +/* CAC574 80240384 E7A20014 */ swc1 $f2, 0x14($sp) +/* CAC578 80240388 0C01C8D4 */ jal func_80072350 +/* CAC57C 8024038C E7A40018 */ swc1 $f4, 0x18($sp) +/* CAC580 80240390 8C43000C */ lw $v1, 0xc($v0) +/* CAC584 80240394 240500F0 */ addiu $a1, $zero, 0xf0 +/* CAC588 80240398 AC650038 */ sw $a1, 0x38($v1) +/* CAC58C 8024039C 8C43000C */ lw $v1, 0xc($v0) +/* CAC590 802403A0 AC65003C */ sw $a1, 0x3c($v1) +/* CAC594 802403A4 8C43000C */ lw $v1, 0xc($v0) +/* CAC598 802403A8 AC650040 */ sw $a1, 0x40($v1) +/* CAC59C 802403AC 8C43000C */ lw $v1, 0xc($v0) +/* CAC5A0 802403B0 240400E6 */ addiu $a0, $zero, 0xe6 +/* CAC5A4 802403B4 AC640048 */ sw $a0, 0x48($v1) +/* CAC5A8 802403B8 8C43000C */ lw $v1, 0xc($v0) +/* CAC5AC 802403BC AC64004C */ sw $a0, 0x4c($v1) +/* CAC5B0 802403C0 8C43000C */ lw $v1, 0xc($v0) +/* CAC5B4 802403C4 AC650050 */ sw $a1, 0x50($v1) +/* CAC5B8 802403C8 8FBF0028 */ lw $ra, 0x28($sp) +/* CAC5BC 802403CC 24020002 */ addiu $v0, $zero, 2 +/* CAC5C0 802403D0 03E00008 */ jr $ra +/* CAC5C4 802403D4 27BD0030 */ addiu $sp, $sp, 0x30 +/* CAC5C8 802403D8 00000000 */ nop +/* CAC5CC 802403DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_802403E0_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_802403E0_CAC1F0.s new file mode 100644 index 0000000000..39f5512b00 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_802403E0_CAC1F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403E0_CAC5D0 +/* CAC5D0 802403E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CAC5D4 802403E4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CAC5D8 802403E8 4485A000 */ mtc1 $a1, $f20 +/* CAC5DC 802403EC F7B60020 */ sdc1 $f22, 0x20($sp) +/* CAC5E0 802403F0 4486B000 */ mtc1 $a2, $f22 +/* CAC5E4 802403F4 AFB00010 */ sw $s0, 0x10($sp) +/* CAC5E8 802403F8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CAC5EC 802403FC 4487C000 */ mtc1 $a3, $f24 +/* CAC5F0 80240400 AFBF0014 */ sw $ra, 0x14($sp) +/* CAC5F4 80240404 0C019D28 */ jal guMtxIdentF +/* CAC5F8 80240408 0080802D */ daddu $s0, $a0, $zero +/* CAC5FC 8024040C 4616A582 */ mul.s $f22, $f20, $f22 +/* CAC600 80240410 00000000 */ nop +/* CAC604 80240414 4618A502 */ mul.s $f20, $f20, $f24 +/* CAC608 80240418 00000000 */ nop +/* CAC60C 8024041C 3C013F80 */ lui $at, 0x3f80 +/* CAC610 80240420 44810000 */ mtc1 $at, $f0 +/* CAC614 80240424 00000000 */ nop +/* CAC618 80240428 E6000014 */ swc1 $f0, 0x14($s0) +/* CAC61C 8024042C E6160010 */ swc1 $f22, 0x10($s0) +/* CAC620 80240430 E6140018 */ swc1 $f20, 0x18($s0) +/* CAC624 80240434 8FBF0014 */ lw $ra, 0x14($sp) +/* CAC628 80240438 8FB00010 */ lw $s0, 0x10($sp) +/* CAC62C 8024043C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CAC630 80240440 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CAC634 80240444 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CAC638 80240448 03E00008 */ jr $ra +/* CAC63C 8024044C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_80240450.s b/asm/nonmatchings/world/area_flo/flo_07/func_80240450.s new file mode 100644 index 0000000000..70a0c34034 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_80240450.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240450 +/* CAC640 80240450 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CAC644 80240454 AFB10054 */ sw $s1, 0x54($sp) +/* CAC648 80240458 0080882D */ daddu $s1, $a0, $zero +/* CAC64C 8024045C AFBF005C */ sw $ra, 0x5c($sp) +/* CAC650 80240460 AFB20058 */ sw $s2, 0x58($sp) +/* CAC654 80240464 AFB00050 */ sw $s0, 0x50($sp) +/* CAC658 80240468 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CAC65C 8024046C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CAC660 80240470 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CAC664 80240474 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CAC668 80240478 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CAC66C 8024047C 8E30000C */ lw $s0, 0xc($s1) +/* CAC670 80240480 8E050000 */ lw $a1, ($s0) +/* CAC674 80240484 0C0B1EAF */ jal get_variable +/* CAC678 80240488 26100004 */ addiu $s0, $s0, 4 +/* CAC67C 8024048C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CAC680 80240490 0040202D */ daddu $a0, $v0, $zero +/* CAC684 80240494 8E050000 */ lw $a1, ($s0) +/* CAC688 80240498 26100004 */ addiu $s0, $s0, 4 +/* CAC68C 8024049C 0220202D */ daddu $a0, $s1, $zero +/* CAC690 802404A0 0C0B210B */ jal get_float_variable +/* CAC694 802404A4 0040902D */ daddu $s2, $v0, $zero +/* CAC698 802404A8 8E050000 */ lw $a1, ($s0) +/* CAC69C 802404AC 26100004 */ addiu $s0, $s0, 4 +/* CAC6A0 802404B0 0220202D */ daddu $a0, $s1, $zero +/* CAC6A4 802404B4 0C0B210B */ jal get_float_variable +/* CAC6A8 802404B8 46000706 */ mov.s $f28, $f0 +/* CAC6AC 802404BC 8E050000 */ lw $a1, ($s0) +/* CAC6B0 802404C0 26100004 */ addiu $s0, $s0, 4 +/* CAC6B4 802404C4 0220202D */ daddu $a0, $s1, $zero +/* CAC6B8 802404C8 0C0B210B */ jal get_float_variable +/* CAC6BC 802404CC 46000686 */ mov.s $f26, $f0 +/* CAC6C0 802404D0 0220202D */ daddu $a0, $s1, $zero +/* CAC6C4 802404D4 8E050000 */ lw $a1, ($s0) +/* CAC6C8 802404D8 0C0B210B */ jal get_float_variable +/* CAC6CC 802404DC 46000586 */ mov.s $f22, $f0 +/* CAC6D0 802404E0 0240202D */ daddu $a0, $s2, $zero +/* CAC6D4 802404E4 0C046B4C */ jal get_model_from_list_index +/* CAC6D8 802404E8 46000606 */ mov.s $f24, $f0 +/* CAC6DC 802404EC 0040882D */ daddu $s1, $v0, $zero +/* CAC6E0 802404F0 96220000 */ lhu $v0, ($s1) +/* CAC6E4 802404F4 30420400 */ andi $v0, $v0, 0x400 +/* CAC6E8 802404F8 1440001E */ bnez $v0, .L80240574 +/* CAC6EC 802404FC 26300058 */ addiu $s0, $s1, 0x58 +/* CAC6F0 80240500 4480A000 */ mtc1 $zero, $f20 +/* CAC6F4 80240504 4406B000 */ mfc1 $a2, $f22 +/* CAC6F8 80240508 4405A000 */ mfc1 $a1, $f20 +/* CAC6FC 8024050C 4407A000 */ mfc1 $a3, $f20 +/* CAC700 80240510 0C019E40 */ jal guTranslateF +/* CAC704 80240514 0200202D */ daddu $a0, $s0, $zero +/* CAC708 80240518 4405E000 */ mfc1 $a1, $f28 +/* CAC70C 8024051C 4406D000 */ mfc1 $a2, $f26 +/* CAC710 80240520 4407C000 */ mfc1 $a3, $f24 +/* CAC714 80240524 0C0900F8 */ jal func_802403E0 +/* CAC718 80240528 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC71C 8024052C 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC720 80240530 0200282D */ daddu $a1, $s0, $zero +/* CAC724 80240534 0C019D80 */ jal guMtxCatF +/* CAC728 80240538 0200302D */ daddu $a2, $s0, $zero +/* CAC72C 8024053C 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC730 80240540 4600B587 */ neg.s $f22, $f22 +/* CAC734 80240544 4405A000 */ mfc1 $a1, $f20 +/* CAC738 80240548 4406B000 */ mfc1 $a2, $f22 +/* CAC73C 8024054C 0C019E40 */ jal guTranslateF +/* CAC740 80240550 00A0382D */ daddu $a3, $a1, $zero +/* CAC744 80240554 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC748 80240558 0200282D */ daddu $a1, $s0, $zero +/* CAC74C 8024055C 0C019D80 */ jal guMtxCatF +/* CAC750 80240560 00A0302D */ daddu $a2, $a1, $zero +/* CAC754 80240564 96220000 */ lhu $v0, ($s1) +/* CAC758 80240568 34421400 */ ori $v0, $v0, 0x1400 +/* CAC75C 8024056C 0809017B */ j .L802405EC +/* CAC760 80240570 A6220000 */ sh $v0, ($s1) +.L80240574: +/* CAC764 80240574 4480A000 */ mtc1 $zero, $f20 +/* CAC768 80240578 4406B000 */ mfc1 $a2, $f22 +/* CAC76C 8024057C 4405A000 */ mfc1 $a1, $f20 +/* CAC770 80240580 4407A000 */ mfc1 $a3, $f20 +/* CAC774 80240584 0C019E40 */ jal guTranslateF +/* CAC778 80240588 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC77C 8024058C 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC780 80240590 26300058 */ addiu $s0, $s1, 0x58 +/* CAC784 80240594 0200282D */ daddu $a1, $s0, $zero +/* CAC788 80240598 0C019D80 */ jal guMtxCatF +/* CAC78C 8024059C 0200302D */ daddu $a2, $s0, $zero +/* CAC790 802405A0 4405E000 */ mfc1 $a1, $f28 +/* CAC794 802405A4 4406D000 */ mfc1 $a2, $f26 +/* CAC798 802405A8 4407C000 */ mfc1 $a3, $f24 +/* CAC79C 802405AC 0C0900F8 */ jal func_802403E0 +/* CAC7A0 802405B0 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC7A4 802405B4 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC7A8 802405B8 0200282D */ daddu $a1, $s0, $zero +/* CAC7AC 802405BC 0C019D80 */ jal guMtxCatF +/* CAC7B0 802405C0 0200302D */ daddu $a2, $s0, $zero +/* CAC7B4 802405C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC7B8 802405C8 4600B587 */ neg.s $f22, $f22 +/* CAC7BC 802405CC 4405A000 */ mfc1 $a1, $f20 +/* CAC7C0 802405D0 4406B000 */ mfc1 $a2, $f22 +/* CAC7C4 802405D4 0C019E40 */ jal guTranslateF +/* CAC7C8 802405D8 00A0382D */ daddu $a3, $a1, $zero +/* CAC7CC 802405DC 27A40010 */ addiu $a0, $sp, 0x10 +/* CAC7D0 802405E0 0200282D */ daddu $a1, $s0, $zero +/* CAC7D4 802405E4 0C019D80 */ jal guMtxCatF +/* CAC7D8 802405E8 00A0302D */ daddu $a2, $a1, $zero +.L802405EC: +/* CAC7DC 802405EC 8FBF005C */ lw $ra, 0x5c($sp) +/* CAC7E0 802405F0 8FB20058 */ lw $s2, 0x58($sp) +/* CAC7E4 802405F4 8FB10054 */ lw $s1, 0x54($sp) +/* CAC7E8 802405F8 8FB00050 */ lw $s0, 0x50($sp) +/* CAC7EC 802405FC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CAC7F0 80240600 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CAC7F4 80240604 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CAC7F8 80240608 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CAC7FC 8024060C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CAC800 80240610 24020002 */ addiu $v0, $zero, 2 +/* CAC804 80240614 03E00008 */ jr $ra +/* CAC808 80240618 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_8024061C_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_8024061C_CAC1F0.s new file mode 100644 index 0000000000..62829aff0a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_8024061C_CAC1F0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_CAC80C +/* CAC80C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAC810 80240620 AFB00010 */ sw $s0, 0x10($sp) +/* CAC814 80240624 3C108024 */ lui $s0, 0x8024 +/* CAC818 80240628 26101BB0 */ addiu $s0, $s0, 0x1bb0 +/* CAC81C 8024062C AFBF0018 */ sw $ra, 0x18($sp) +/* CAC820 80240630 AFB10014 */ sw $s1, 0x14($sp) +/* CAC824 80240634 8E020000 */ lw $v0, ($s0) +/* CAC828 80240638 14400010 */ bnez $v0, .L8024067C +/* CAC82C 8024063C 0080882D */ daddu $s1, $a0, $zero +/* CAC830 80240640 0C00AB39 */ jal heap_malloc +/* CAC834 80240644 24040040 */ addiu $a0, $zero, 0x40 +/* CAC838 80240648 AE020000 */ sw $v0, ($s0) +/* CAC83C 8024064C 0000182D */ daddu $v1, $zero, $zero +/* CAC840 80240650 0040282D */ daddu $a1, $v0, $zero +/* CAC844 80240654 0220202D */ daddu $a0, $s1, $zero +.L80240658: +/* CAC848 80240658 8C820084 */ lw $v0, 0x84($a0) +/* CAC84C 8024065C 24840004 */ addiu $a0, $a0, 4 +/* CAC850 80240660 24630001 */ addiu $v1, $v1, 1 +/* CAC854 80240664 ACA20000 */ sw $v0, ($a1) +/* CAC858 80240668 28620010 */ slti $v0, $v1, 0x10 +/* CAC85C 8024066C 1440FFFA */ bnez $v0, .L80240658 +/* CAC860 80240670 24A50004 */ addiu $a1, $a1, 4 +/* CAC864 80240674 080901AE */ j .L802406B8 +/* CAC868 80240678 00000000 */ nop +.L8024067C: +/* CAC86C 8024067C 0000182D */ daddu $v1, $zero, $zero +/* CAC870 80240680 0040282D */ daddu $a1, $v0, $zero +/* CAC874 80240684 0220202D */ daddu $a0, $s1, $zero +.L80240688: +/* CAC878 80240688 8CA20000 */ lw $v0, ($a1) +/* CAC87C 8024068C 24A50004 */ addiu $a1, $a1, 4 +/* CAC880 80240690 24630001 */ addiu $v1, $v1, 1 +/* CAC884 80240694 AC820084 */ sw $v0, 0x84($a0) +/* CAC888 80240698 28620010 */ slti $v0, $v1, 0x10 +/* CAC88C 8024069C 1440FFFA */ bnez $v0, .L80240688 +/* CAC890 802406A0 24840004 */ addiu $a0, $a0, 4 +/* CAC894 802406A4 3C108024 */ lui $s0, 0x8024 +/* CAC898 802406A8 26101BB0 */ addiu $s0, $s0, 0x1bb0 +/* CAC89C 802406AC 0C00AB4B */ jal heap_free +/* CAC8A0 802406B0 8E040000 */ lw $a0, ($s0) +/* CAC8A4 802406B4 AE000000 */ sw $zero, ($s0) +.L802406B8: +/* CAC8A8 802406B8 8FBF0018 */ lw $ra, 0x18($sp) +/* CAC8AC 802406BC 8FB10014 */ lw $s1, 0x14($sp) +/* CAC8B0 802406C0 8FB00010 */ lw $s0, 0x10($sp) +/* CAC8B4 802406C4 24020002 */ addiu $v0, $zero, 2 +/* CAC8B8 802406C8 03E00008 */ jr $ra +/* CAC8BC 802406CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_07/func_802406D0_CAC1F0.s b/asm/nonmatchings/world/area_flo/flo_07/func_802406D0_CAC1F0.s new file mode 100644 index 0000000000..0a72f3d569 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_07/func_802406D0_CAC1F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406D0_CAC8C0 +/* CAC8C0 802406D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAC8C4 802406D4 AFB00010 */ sw $s0, 0x10($sp) +/* CAC8C8 802406D8 0080802D */ daddu $s0, $a0, $zero +/* CAC8CC 802406DC AFBF0018 */ sw $ra, 0x18($sp) +/* CAC8D0 802406E0 AFB10014 */ sw $s1, 0x14($sp) +/* CAC8D4 802406E4 8E02000C */ lw $v0, 0xc($s0) +/* CAC8D8 802406E8 8C510000 */ lw $s1, ($v0) +/* CAC8DC 802406EC 0C0B1EAF */ jal get_variable +/* CAC8E0 802406F0 0220282D */ daddu $a1, $s1, $zero +/* CAC8E4 802406F4 3C03FFF0 */ lui $v1, 0xfff0 +/* CAC8E8 802406F8 3463FFFF */ ori $v1, $v1, 0xffff +/* CAC8EC 802406FC 0200202D */ daddu $a0, $s0, $zero +/* CAC8F0 80240700 00431024 */ and $v0, $v0, $v1 +/* CAC8F4 80240704 00021140 */ sll $v0, $v0, 5 +/* CAC8F8 80240708 3C068008 */ lui $a2, %hi(gItemTable) +/* CAC8FC 8024070C 00C23021 */ addu $a2, $a2, $v0 +/* CAC900 80240710 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CAC904 80240714 0C0B2026 */ jal set_variable +/* CAC908 80240718 0220282D */ daddu $a1, $s1, $zero +/* CAC90C 8024071C 8FBF0018 */ lw $ra, 0x18($sp) +/* CAC910 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* CAC914 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* CAC918 80240728 24020002 */ addiu $v0, $zero, 2 +/* CAC91C 8024072C 03E00008 */ jr $ra +/* CAC920 80240730 27BD0020 */ addiu $sp, $sp, 0x20 +/* CAC924 80240734 00000000 */ nop +/* CAC928 80240738 00000000 */ nop +/* CAC92C 8024073C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240000_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240000_CAED40.s new file mode 100644 index 0000000000..f1b24eb292 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240000_CAED40.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CAED40 +/* CAED40 80240000 3C03800A */ lui $v1, %hi(D_8009A650) +/* CAED44 80240004 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* CAED48 80240008 8C620000 */ lw $v0, ($v1) +/* CAED4C 8024000C 34420040 */ ori $v0, $v0, 0x40 +/* CAED50 80240010 AC620000 */ sw $v0, ($v1) +/* CAED54 80240014 03E00008 */ jr $ra +/* CAED58 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_8024001C_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_8024001C_CAED40.s new file mode 100644 index 0000000000..d173ce6993 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_8024001C_CAED40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_CAED5C +/* CAED5C 8024001C 3C02800A */ lui $v0, %hi(D_8009A650) +/* CAED60 80240020 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* CAED64 80240024 8C430000 */ lw $v1, ($v0) +/* CAED68 80240028 2404FFBF */ addiu $a0, $zero, -0x41 +/* CAED6C 8024002C 00641824 */ and $v1, $v1, $a0 +/* CAED70 80240030 AC430000 */ sw $v1, ($v0) +/* CAED74 80240034 03E00008 */ jr $ra +/* CAED78 80240038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_8024003C_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_8024003C_CAED40.s new file mode 100644 index 0000000000..4d00d78a6d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_8024003C_CAED40.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C_CAED7C +/* CAED7C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAED80 80240040 AFBF0010 */ sw $ra, 0x10($sp) +/* CAED84 80240044 8C82000C */ lw $v0, 0xc($a0) +/* CAED88 80240048 0C0B1EAF */ jal get_variable +/* CAED8C 8024004C 8C450000 */ lw $a1, ($v0) +/* CAED90 80240050 0C0B95A4 */ jal func_802E5690 +/* CAED94 80240054 0040202D */ daddu $a0, $v0, $zero +/* CAED98 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* CAED9C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* CAEDA0 80240060 03E00008 */ jr $ra +/* CAEDA4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240068_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240068_CAED40.s new file mode 100644 index 0000000000..8304598e7d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240068_CAED40.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_CAEDA8 +/* CAEDA8 80240068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAEDAC 8024006C AFB00010 */ sw $s0, 0x10($sp) +/* CAEDB0 80240070 0080802D */ daddu $s0, $a0, $zero +/* CAEDB4 80240074 AFBF0018 */ sw $ra, 0x18($sp) +/* CAEDB8 80240078 AFB10014 */ sw $s1, 0x14($sp) +/* CAEDBC 8024007C 8E11000C */ lw $s1, 0xc($s0) +/* CAEDC0 80240080 8E250000 */ lw $a1, ($s1) +/* CAEDC4 80240084 0C0B1EAF */ jal get_variable +/* CAEDC8 80240088 26310004 */ addiu $s1, $s1, 4 +/* CAEDCC 8024008C 0200202D */ daddu $a0, $s0, $zero +/* CAEDD0 80240090 3C038011 */ lui $v1, %hi(gPlayerData) +/* CAEDD4 80240094 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* CAEDD8 80240098 000210C0 */ sll $v0, $v0, 3 +/* CAEDDC 8024009C 00431021 */ addu $v0, $v0, $v1 +/* CAEDE0 802400A0 90460015 */ lbu $a2, 0x15($v0) +/* CAEDE4 802400A4 8E250000 */ lw $a1, ($s1) +/* CAEDE8 802400A8 24C60001 */ addiu $a2, $a2, 1 +/* CAEDEC 802400AC A0460015 */ sb $a2, 0x15($v0) +/* CAEDF0 802400B0 00063600 */ sll $a2, $a2, 0x18 +/* CAEDF4 802400B4 0C0B2026 */ jal set_variable +/* CAEDF8 802400B8 00063603 */ sra $a2, $a2, 0x18 +/* CAEDFC 802400BC 8FBF0018 */ lw $ra, 0x18($sp) +/* CAEE00 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* CAEE04 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* CAEE08 802400C8 24020002 */ addiu $v0, $zero, 2 +/* CAEE0C 802400CC 03E00008 */ jr $ra +/* CAEE10 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802400D4_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802400D4_CAED40.s new file mode 100644 index 0000000000..89a8e69494 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802400D4_CAED40.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D4_CAEE14 +/* CAEE14 802400D4 3C028011 */ lui $v0, %hi(gPlayerData) +/* CAEE18 802400D8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* CAEE1C 802400DC 000420C0 */ sll $a0, $a0, 3 +/* CAEE20 802400E0 00822021 */ addu $a0, $a0, $v0 +/* CAEE24 802400E4 90820014 */ lbu $v0, 0x14($a0) +/* CAEE28 802400E8 10400009 */ beqz $v0, .L80240110 +/* CAEE2C 802400EC 00000000 */ nop +/* CAEE30 802400F0 90820015 */ lbu $v0, 0x15($a0) +/* CAEE34 802400F4 00022600 */ sll $a0, $v0, 0x18 +/* CAEE38 802400F8 00041E03 */ sra $v1, $a0, 0x18 +/* CAEE3C 802400FC 00051400 */ sll $v0, $a1, 0x10 +/* CAEE40 80240100 00021403 */ sra $v0, $v0, 0x10 +/* CAEE44 80240104 0043102A */ slt $v0, $v0, $v1 +/* CAEE48 80240108 10400003 */ beqz $v0, .L80240118 +/* CAEE4C 8024010C 00000000 */ nop +.L80240110: +/* CAEE50 80240110 03E00008 */ jr $ra +/* CAEE54 80240114 2402FFFF */ addiu $v0, $zero, -1 +.L80240118: +/* CAEE58 80240118 03E00008 */ jr $ra +/* CAEE5C 8024011C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240120_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240120_CAED40.s new file mode 100644 index 0000000000..e9cd068a89 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240120_CAED40.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_CAEE60 +/* CAEE60 80240120 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CAEE64 80240124 AFB3001C */ sw $s3, 0x1c($sp) +/* CAEE68 80240128 0080982D */ daddu $s3, $a0, $zero +/* CAEE6C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* CAEE70 80240130 24100001 */ addiu $s0, $zero, 1 +/* CAEE74 80240134 AFB40020 */ sw $s4, 0x20($sp) +/* CAEE78 80240138 2414FFFF */ addiu $s4, $zero, -1 +/* CAEE7C 8024013C AFB50024 */ sw $s5, 0x24($sp) +/* CAEE80 80240140 0200A82D */ daddu $s5, $s0, $zero +/* CAEE84 80240144 AFB10014 */ sw $s1, 0x14($sp) +/* CAEE88 80240148 3C118011 */ lui $s1, 0x8011 +/* CAEE8C 8024014C 2631F298 */ addiu $s1, $s1, -0xd68 +/* CAEE90 80240150 AFBF0028 */ sw $ra, 0x28($sp) +/* CAEE94 80240154 AFB20018 */ sw $s2, 0x18($sp) +/* CAEE98 80240158 8E6200B4 */ lw $v0, 0xb4($s3) +/* CAEE9C 8024015C 0280182D */ daddu $v1, $s4, $zero +/* CAEEA0 80240160 AE630084 */ sw $v1, 0x84($s3) +/* CAEEA4 80240164 00021027 */ nor $v0, $zero, $v0 +/* CAEEA8 80240168 000217C2 */ srl $v0, $v0, 0x1f +/* CAEEAC 8024016C 00029400 */ sll $s2, $v0, 0x10 +.L80240170: +/* CAEEB0 80240170 92220014 */ lbu $v0, 0x14($s1) +/* CAEEB4 80240174 50400008 */ beql $v0, $zero, .L80240198 +/* CAEEB8 80240178 26100001 */ addiu $s0, $s0, 1 +/* CAEEBC 8024017C 0200202D */ daddu $a0, $s0, $zero +/* CAEEC0 80240180 0C090035 */ jal func_802400D4 +/* CAEEC4 80240184 00122C03 */ sra $a1, $s2, 0x10 +/* CAEEC8 80240188 10540003 */ beq $v0, $s4, .L80240198 +/* CAEECC 8024018C 26100001 */ addiu $s0, $s0, 1 +/* CAEED0 80240190 08090069 */ j .L802401A4 +/* CAEED4 80240194 AE750084 */ sw $s5, 0x84($s3) +.L80240198: +/* CAEED8 80240198 2A02000C */ slti $v0, $s0, 0xc +/* CAEEDC 8024019C 1440FFF4 */ bnez $v0, .L80240170 +/* CAEEE0 802401A0 26310008 */ addiu $s1, $s1, 8 +.L802401A4: +/* CAEEE4 802401A4 8FBF0028 */ lw $ra, 0x28($sp) +/* CAEEE8 802401A8 8FB50024 */ lw $s5, 0x24($sp) +/* CAEEEC 802401AC 8FB40020 */ lw $s4, 0x20($sp) +/* CAEEF0 802401B0 8FB3001C */ lw $s3, 0x1c($sp) +/* CAEEF4 802401B4 8FB20018 */ lw $s2, 0x18($sp) +/* CAEEF8 802401B8 8FB10014 */ lw $s1, 0x14($sp) +/* CAEEFC 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* CAEF00 802401C0 24020002 */ addiu $v0, $zero, 2 +/* CAEF04 802401C4 03E00008 */ jr $ra +/* CAEF08 802401C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802401CC_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802401CC_CAED40.s new file mode 100644 index 0000000000..b66625b4cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802401CC_CAED40.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_CAEF0C +/* CAEF0C 802401CC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* CAEF10 802401D0 AFB5002C */ sw $s5, 0x2c($sp) +/* CAEF14 802401D4 0080A82D */ daddu $s5, $a0, $zero +/* CAEF18 802401D8 AFBE0038 */ sw $fp, 0x38($sp) +/* CAEF1C 802401DC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* CAEF20 802401E0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* CAEF24 802401E4 AFBF003C */ sw $ra, 0x3c($sp) +/* CAEF28 802401E8 AFB70034 */ sw $s7, 0x34($sp) +/* CAEF2C 802401EC AFB60030 */ sw $s6, 0x30($sp) +/* CAEF30 802401F0 AFB40028 */ sw $s4, 0x28($sp) +/* CAEF34 802401F4 AFB30024 */ sw $s3, 0x24($sp) +/* CAEF38 802401F8 AFB20020 */ sw $s2, 0x20($sp) +/* CAEF3C 802401FC AFB1001C */ sw $s1, 0x1c($sp) +/* CAEF40 80240200 10A0004F */ beqz $a1, .L80240340 +/* CAEF44 80240204 AFB00018 */ sw $s0, 0x18($sp) +/* CAEF48 80240208 0C00AB39 */ jal heap_malloc +/* CAEF4C 8024020C 24040330 */ addiu $a0, $zero, 0x330 +/* CAEF50 80240210 0040982D */ daddu $s3, $v0, $zero +/* CAEF54 80240214 0000B02D */ daddu $s6, $zero, $zero +/* CAEF58 80240218 02C0902D */ daddu $s2, $s6, $zero +/* CAEF5C 8024021C 3C148024 */ lui $s4, 0x8024 +/* CAEF60 80240220 26941FB8 */ addiu $s4, $s4, 0x1fb8 +/* CAEF64 80240224 0260882D */ daddu $s1, $s3, $zero +/* CAEF68 80240228 8EA200B4 */ lw $v0, 0xb4($s5) +/* CAEF6C 8024022C 3C038024 */ lui $v1, 0x8024 +/* CAEF70 80240230 24631FB0 */ addiu $v1, $v1, 0x1fb0 +/* CAEF74 80240234 AEB30078 */ sw $s3, 0x78($s5) +/* CAEF78 80240238 00021027 */ nor $v0, $zero, $v0 +/* CAEF7C 8024023C 0002BFC2 */ srl $s7, $v0, 0x1f +/* CAEF80 80240240 00171080 */ sll $v0, $s7, 2 +/* CAEF84 80240244 00431021 */ addu $v0, $v0, $v1 +/* CAEF88 80240248 AFA20010 */ sw $v0, 0x10($sp) +.L8024024C: +/* CAEF8C 8024024C 86900000 */ lh $s0, ($s4) +/* CAEF90 80240250 001010C0 */ sll $v0, $s0, 3 +/* CAEF94 80240254 03C21021 */ addu $v0, $fp, $v0 +/* CAEF98 80240258 90420014 */ lbu $v0, 0x14($v0) +/* CAEF9C 8024025C 5040002E */ beql $v0, $zero, .L80240318 +/* CAEFA0 80240260 26520001 */ addiu $s2, $s2, 1 +/* CAEFA4 80240264 00101100 */ sll $v0, $s0, 4 +/* CAEFA8 80240268 3C068009 */ lui $a2, 0x8009 +/* CAEFAC 8024026C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* CAEFB0 80240270 00461021 */ addu $v0, $v0, $a2 +/* CAEFB4 80240274 0200202D */ daddu $a0, $s0, $zero +/* CAEFB8 80240278 AE300108 */ sw $s0, 0x108($s1) +/* CAEFBC 8024027C 8C420000 */ lw $v0, ($v0) +/* CAEFC0 80240280 02E0282D */ daddu $a1, $s7, $zero +/* CAEFC4 80240284 0C090035 */ jal func_802400D4 +/* CAEFC8 80240288 AE220084 */ sw $v0, 0x84($s1) +/* CAEFCC 8024028C 0040202D */ daddu $a0, $v0, $zero +/* CAEFD0 80240290 04800011 */ bltz $a0, .L802402D8 +/* CAEFD4 80240294 00101080 */ sll $v0, $s0, 2 +/* CAEFD8 80240298 3C06800F */ lui $a2, 0x800f +/* CAEFDC 8024029C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* CAEFE0 802402A0 00461021 */ addu $v0, $v0, $a2 +/* CAEFE4 802402A4 8C430000 */ lw $v1, ($v0) +/* CAEFE8 802402A8 24020001 */ addiu $v0, $zero, 1 +/* CAEFEC 802402AC AE22018C */ sw $v0, 0x18c($s1) +/* CAEFF0 802402B0 00041080 */ sll $v0, $a0, 2 +/* CAEFF4 802402B4 3C068024 */ lui $a2, 0x8024 +/* CAEFF8 802402B8 24C61FC8 */ addiu $a2, $a2, 0x1fc8 +/* CAEFFC 802402BC AE230000 */ sw $v1, ($s1) +/* CAF000 802402C0 001218C0 */ sll $v1, $s2, 3 +/* CAF004 802402C4 00431021 */ addu $v0, $v0, $v1 +/* CAF008 802402C8 00461021 */ addu $v0, $v0, $a2 +/* CAF00C 802402CC 8C420000 */ lw $v0, ($v0) +/* CAF010 802402D0 080900BF */ j .L802402FC +/* CAF014 802402D4 AE220294 */ sw $v0, 0x294($s1) +.L802402D8: +/* CAF018 802402D8 3C06800F */ lui $a2, 0x800f +/* CAF01C 802402DC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* CAF020 802402E0 00461021 */ addu $v0, $v0, $a2 +/* CAF024 802402E4 8C420000 */ lw $v0, ($v0) +/* CAF028 802402E8 AE20018C */ sw $zero, 0x18c($s1) +/* CAF02C 802402EC AE220000 */ sw $v0, ($s1) +/* CAF030 802402F0 8FA60010 */ lw $a2, 0x10($sp) +/* CAF034 802402F4 8CC20000 */ lw $v0, ($a2) +/* CAF038 802402F8 AE220294 */ sw $v0, 0x294($s1) +.L802402FC: +/* CAF03C 802402FC 001010C0 */ sll $v0, $s0, 3 +/* CAF040 80240300 03C21021 */ addu $v0, $fp, $v0 +/* CAF044 80240304 80420015 */ lb $v0, 0x15($v0) +/* CAF048 80240308 26D60001 */ addiu $s6, $s6, 1 +/* CAF04C 8024030C AE220210 */ sw $v0, 0x210($s1) +/* CAF050 80240310 26310004 */ addiu $s1, $s1, 4 +/* CAF054 80240314 26520001 */ addiu $s2, $s2, 1 +.L80240318: +/* CAF058 80240318 2A420008 */ slti $v0, $s2, 8 +/* CAF05C 8024031C 1440FFCB */ bnez $v0, .L8024024C +/* CAF060 80240320 26940002 */ addiu $s4, $s4, 2 +/* CAF064 80240324 0260202D */ daddu $a0, $s3, $zero +/* CAF068 80240328 24020004 */ addiu $v0, $zero, 4 +/* CAF06C 8024032C AC820318 */ sw $v0, 0x318($a0) +/* CAF070 80240330 AC960324 */ sw $s6, 0x324($a0) +/* CAF074 80240334 0C03D390 */ jal func_800F4E40 +/* CAF078 80240338 AC800328 */ sw $zero, 0x328($a0) +/* CAF07C 8024033C AEA00070 */ sw $zero, 0x70($s5) +.L80240340: +/* CAF080 80240340 8EA20070 */ lw $v0, 0x70($s5) +/* CAF084 80240344 8EB30078 */ lw $s3, 0x78($s5) +/* CAF088 80240348 14400008 */ bnez $v0, .L8024036C +/* CAF08C 8024034C 24420001 */ addiu $v0, $v0, 1 +/* CAF090 80240350 8662032C */ lh $v0, 0x32c($s3) +/* CAF094 80240354 10400009 */ beqz $v0, .L8024037C +/* CAF098 80240358 AEA20074 */ sw $v0, 0x74($s5) +/* CAF09C 8024035C 0C03C4EC */ jal func_800F13B0 +/* CAF0A0 80240360 00000000 */ nop +/* CAF0A4 80240364 8EA20070 */ lw $v0, 0x70($s5) +/* CAF0A8 80240368 24420001 */ addiu $v0, $v0, 1 +.L8024036C: +/* CAF0AC 8024036C AEA20070 */ sw $v0, 0x70($s5) +/* CAF0B0 80240370 2842000F */ slti $v0, $v0, 0xf +/* CAF0B4 80240374 10400003 */ beqz $v0, .L80240384 +/* CAF0B8 80240378 00000000 */ nop +.L8024037C: +/* CAF0BC 8024037C 080900FB */ j .L802403EC +/* CAF0C0 80240380 0000102D */ daddu $v0, $zero, $zero +.L80240384: +/* CAF0C4 80240384 0C03C54E */ jal func_800F1538 +/* CAF0C8 80240388 00000000 */ nop +/* CAF0CC 8024038C 8EA30074 */ lw $v1, 0x74($s5) +/* CAF0D0 80240390 240200FF */ addiu $v0, $zero, 0xff +/* CAF0D4 80240394 10620010 */ beq $v1, $v0, .L802403D8 +/* CAF0D8 80240398 2462FFFF */ addiu $v0, $v1, -1 +/* CAF0DC 8024039C 00021080 */ sll $v0, $v0, 2 +/* CAF0E0 802403A0 02621021 */ addu $v0, $s3, $v0 +/* CAF0E4 802403A4 8C420108 */ lw $v0, 0x108($v0) +/* CAF0E8 802403A8 00021100 */ sll $v0, $v0, 4 +/* CAF0EC 802403AC 3C038009 */ lui $v1, 0x8009 +/* CAF0F0 802403B0 00621821 */ addu $v1, $v1, $v0 +/* CAF0F4 802403B4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* CAF0F8 802403B8 8EA20074 */ lw $v0, 0x74($s5) +/* CAF0FC 802403BC 2442FFFF */ addiu $v0, $v0, -1 +/* CAF100 802403C0 00021080 */ sll $v0, $v0, 2 +/* CAF104 802403C4 02621021 */ addu $v0, $s3, $v0 +/* CAF108 802403C8 AEA30084 */ sw $v1, 0x84($s5) +/* CAF10C 802403CC 8C420108 */ lw $v0, 0x108($v0) +/* CAF110 802403D0 080900F8 */ j .L802403E0 +/* CAF114 802403D4 AEA20088 */ sw $v0, 0x88($s5) +.L802403D8: +/* CAF118 802403D8 2402FFFF */ addiu $v0, $zero, -1 +/* CAF11C 802403DC AEA20084 */ sw $v0, 0x84($s5) +.L802403E0: +/* CAF120 802403E0 0C00AB4B */ jal heap_free +/* CAF124 802403E4 8EA40078 */ lw $a0, 0x78($s5) +/* CAF128 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* CAF12C 802403EC 8FBF003C */ lw $ra, 0x3c($sp) +/* CAF130 802403F0 8FBE0038 */ lw $fp, 0x38($sp) +/* CAF134 802403F4 8FB70034 */ lw $s7, 0x34($sp) +/* CAF138 802403F8 8FB60030 */ lw $s6, 0x30($sp) +/* CAF13C 802403FC 8FB5002C */ lw $s5, 0x2c($sp) +/* CAF140 80240400 8FB40028 */ lw $s4, 0x28($sp) +/* CAF144 80240404 8FB30024 */ lw $s3, 0x24($sp) +/* CAF148 80240408 8FB20020 */ lw $s2, 0x20($sp) +/* CAF14C 8024040C 8FB1001C */ lw $s1, 0x1c($sp) +/* CAF150 80240410 8FB00018 */ lw $s0, 0x18($sp) +/* CAF154 80240414 03E00008 */ jr $ra +/* CAF158 80240418 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_8024041C_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_8024041C_CAED40.s new file mode 100644 index 0000000000..f089cee433 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_8024041C_CAED40.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_CAF15C +/* CAF15C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAF160 80240420 AFBF0010 */ sw $ra, 0x10($sp) +/* CAF164 80240424 8C82000C */ lw $v0, 0xc($a0) +/* CAF168 80240428 0C0B1EAF */ jal get_variable +/* CAF16C 8024042C 8C450000 */ lw $a1, ($v0) +/* CAF170 80240430 0C03AC5A */ jal func_800EB168 +/* CAF174 80240434 0040202D */ daddu $a0, $v0, $zero +/* CAF178 80240438 8FBF0010 */ lw $ra, 0x10($sp) +/* CAF17C 8024043C 24020002 */ addiu $v0, $zero, 2 +/* CAF180 80240440 03E00008 */ jr $ra +/* CAF184 80240444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240448_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240448_CAED40.s new file mode 100644 index 0000000000..78f957404c --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240448_CAED40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448_CAF188 +/* CAF188 80240448 3C028011 */ lui $v0, 0x8011 +/* CAF18C 8024044C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* CAF190 80240450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAF194 80240454 AFBF0010 */ sw $ra, 0x10($sp) +/* CAF198 80240458 00021100 */ sll $v0, $v0, 4 +/* CAF19C 8024045C 3C048009 */ lui $a0, 0x8009 +/* CAF1A0 80240460 00822021 */ addu $a0, $a0, $v0 +/* CAF1A4 80240464 8C84EF20 */ lw $a0, -0x10e0($a0) +/* CAF1A8 80240468 0C0496CF */ jal set_message_string +/* CAF1AC 8024046C 0000282D */ daddu $a1, $zero, $zero +/* CAF1B0 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* CAF1B4 80240474 24020002 */ addiu $v0, $zero, 2 +/* CAF1B8 80240478 03E00008 */ jr $ra +/* CAF1BC 8024047C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240480_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240480_CAED40.s new file mode 100644 index 0000000000..a0dab30d31 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240480_CAED40.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_CAF1C0 +/* CAF1C0 80240480 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CAF1C4 80240484 AFB1001C */ sw $s1, 0x1c($sp) +/* CAF1C8 80240488 0080882D */ daddu $s1, $a0, $zero +/* CAF1CC 8024048C AFBF0020 */ sw $ra, 0x20($sp) +/* CAF1D0 80240490 AFB00018 */ sw $s0, 0x18($sp) +/* CAF1D4 80240494 8E30000C */ lw $s0, 0xc($s1) +/* CAF1D8 80240498 8E050000 */ lw $a1, ($s0) +/* CAF1DC 8024049C 0C0B1EAF */ jal get_variable +/* CAF1E0 802404A0 26100004 */ addiu $s0, $s0, 4 +/* CAF1E4 802404A4 0C04417A */ jal get_entity_by_index +/* CAF1E8 802404A8 0040202D */ daddu $a0, $v0, $zero +/* CAF1EC 802404AC 8E100000 */ lw $s0, ($s0) +/* CAF1F0 802404B0 C444004C */ lwc1 $f4, 0x4c($v0) +/* CAF1F4 802404B4 3C014148 */ lui $at, 0x4148 +/* CAF1F8 802404B8 44810000 */ mtc1 $at, $f0 +/* CAF1FC 802404BC 3C013F33 */ lui $at, 0x3f33 +/* CAF200 802404C0 34213333 */ ori $at, $at, 0x3333 +/* CAF204 802404C4 44811000 */ mtc1 $at, $f2 +/* CAF208 802404C8 AFA00014 */ sw $zero, 0x14($sp) +/* CAF20C 802404CC 46002100 */ add.s $f4, $f4, $f0 +/* CAF210 802404D0 E7A20010 */ swc1 $f2, 0x10($sp) +/* CAF214 802404D4 8C450048 */ lw $a1, 0x48($v0) +/* CAF218 802404D8 8C470050 */ lw $a3, 0x50($v0) +/* CAF21C 802404DC 44062000 */ mfc1 $a2, $f4 +/* CAF220 802404E0 0C01C5D4 */ jal func_80071750 +/* CAF224 802404E4 0000202D */ daddu $a0, $zero, $zero +/* CAF228 802404E8 0220202D */ daddu $a0, $s1, $zero +/* CAF22C 802404EC 0200282D */ daddu $a1, $s0, $zero +/* CAF230 802404F0 0C0B2026 */ jal set_variable +/* CAF234 802404F4 0040302D */ daddu $a2, $v0, $zero +/* CAF238 802404F8 8FBF0020 */ lw $ra, 0x20($sp) +/* CAF23C 802404FC 8FB1001C */ lw $s1, 0x1c($sp) +/* CAF240 80240500 8FB00018 */ lw $s0, 0x18($sp) +/* CAF244 80240504 24020002 */ addiu $v0, $zero, 2 +/* CAF248 80240508 03E00008 */ jr $ra +/* CAF24C 8024050C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240510_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240510_CAED40.s new file mode 100644 index 0000000000..7dc30db3c8 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240510_CAED40.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_CAF250 +/* CAF250 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CAF254 80240514 AFBF0010 */ sw $ra, 0x10($sp) +/* CAF258 80240518 8C82000C */ lw $v0, 0xc($a0) +/* CAF25C 8024051C 0C0B1EAF */ jal get_variable +/* CAF260 80240520 8C450000 */ lw $a1, ($v0) +/* CAF264 80240524 0040202D */ daddu $a0, $v0, $zero +/* CAF268 80240528 8C830000 */ lw $v1, ($a0) +/* CAF26C 8024052C 34630010 */ ori $v1, $v1, 0x10 +/* CAF270 80240530 AC830000 */ sw $v1, ($a0) +/* CAF274 80240534 8FBF0010 */ lw $ra, 0x10($sp) +/* CAF278 80240538 24020002 */ addiu $v0, $zero, 2 +/* CAF27C 8024053C 03E00008 */ jr $ra +/* CAF280 80240540 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240544_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240544_CAED40.s new file mode 100644 index 0000000000..31eb6ae686 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240544_CAED40.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_CAF284 +/* CAF284 80240544 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAF288 80240548 AFBF0018 */ sw $ra, 0x18($sp) +/* CAF28C 8024054C 8C82000C */ lw $v0, 0xc($a0) +/* CAF290 80240550 0C0B1EAF */ jal get_variable +/* CAF294 80240554 8C450000 */ lw $a1, ($v0) +/* CAF298 80240558 0C04417A */ jal get_entity_by_index +/* CAF29C 8024055C 0040202D */ daddu $a0, $v0, $zero +/* CAF2A0 80240560 3C013F80 */ lui $at, 0x3f80 +/* CAF2A4 80240564 44810000 */ mtc1 $at, $f0 +/* CAF2A8 80240568 C442004C */ lwc1 $f2, 0x4c($v0) +/* CAF2AC 8024056C E7A00010 */ swc1 $f0, 0x10($sp) +/* CAF2B0 80240570 3C014148 */ lui $at, 0x4148 +/* CAF2B4 80240574 44810000 */ mtc1 $at, $f0 +/* CAF2B8 80240578 2403004B */ addiu $v1, $zero, 0x4b +/* CAF2BC 8024057C AFA30014 */ sw $v1, 0x14($sp) +/* CAF2C0 80240580 46001080 */ add.s $f2, $f2, $f0 +/* CAF2C4 80240584 8C450048 */ lw $a1, 0x48($v0) +/* CAF2C8 80240588 8C470050 */ lw $a3, 0x50($v0) +/* CAF2CC 8024058C 44061000 */ mfc1 $a2, $f2 +/* CAF2D0 80240590 0C01C2EC */ jal func_80070BB0 +/* CAF2D4 80240594 24040004 */ addiu $a0, $zero, 4 +/* CAF2D8 80240598 8FBF0018 */ lw $ra, 0x18($sp) +/* CAF2DC 8024059C 24020002 */ addiu $v0, $zero, 2 +/* CAF2E0 802405A0 03E00008 */ jr $ra +/* CAF2E4 802405A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802405A8_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802405A8_CAED40.s new file mode 100644 index 0000000000..7bfbdda10b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802405A8_CAED40.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8_CAF2E8 +/* CAF2E8 802405A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAF2EC 802405AC AFBF0018 */ sw $ra, 0x18($sp) +/* CAF2F0 802405B0 0C00EAD2 */ jal get_npc_safe +/* CAF2F4 802405B4 2404FFFC */ addiu $a0, $zero, -4 +/* CAF2F8 802405B8 C444003C */ lwc1 $f4, 0x3c($v0) +/* CAF2FC 802405BC 3C014148 */ lui $at, 0x4148 +/* CAF300 802405C0 44811000 */ mtc1 $at, $f2 +/* CAF304 802405C4 3C013F80 */ lui $at, 0x3f80 +/* CAF308 802405C8 44810000 */ mtc1 $at, $f0 +/* CAF30C 802405CC 2403001E */ addiu $v1, $zero, 0x1e +/* CAF310 802405D0 AFA30014 */ sw $v1, 0x14($sp) +/* CAF314 802405D4 46022100 */ add.s $f4, $f4, $f2 +/* CAF318 802405D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CAF31C 802405DC 8C450038 */ lw $a1, 0x38($v0) +/* CAF320 802405E0 8C470040 */ lw $a3, 0x40($v0) +/* CAF324 802405E4 44062000 */ mfc1 $a2, $f4 +/* CAF328 802405E8 0C01C2EC */ jal func_80070BB0 +/* CAF32C 802405EC 24040009 */ addiu $a0, $zero, 9 +/* CAF330 802405F0 8FBF0018 */ lw $ra, 0x18($sp) +/* CAF334 802405F4 24020002 */ addiu $v0, $zero, 2 +/* CAF338 802405F8 03E00008 */ jr $ra +/* CAF33C 802405FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240600_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240600_CAED40.s new file mode 100644 index 0000000000..b0fe73e0a5 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240600_CAED40.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240600_CAF340 +/* CAF340 80240600 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* CAF344 80240604 AFB60040 */ sw $s6, 0x40($sp) +/* CAF348 80240608 0080B02D */ daddu $s6, $a0, $zero +/* CAF34C 8024060C AFB00028 */ sw $s0, 0x28($sp) +/* CAF350 80240610 00A0802D */ daddu $s0, $a1, $zero +/* CAF354 80240614 AFBF0044 */ sw $ra, 0x44($sp) +/* CAF358 80240618 AFB5003C */ sw $s5, 0x3c($sp) +/* CAF35C 8024061C AFB40038 */ sw $s4, 0x38($sp) +/* CAF360 80240620 AFB30034 */ sw $s3, 0x34($sp) +/* CAF364 80240624 AFB20030 */ sw $s2, 0x30($sp) +/* CAF368 80240628 AFB1002C */ sw $s1, 0x2c($sp) +/* CAF36C 8024062C F7B80058 */ sdc1 $f24, 0x58($sp) +/* CAF370 80240630 F7B60050 */ sdc1 $f22, 0x50($sp) +/* CAF374 80240634 F7B40048 */ sdc1 $f20, 0x48($sp) +/* CAF378 80240638 8ED3000C */ lw $s3, 0xc($s6) +/* CAF37C 8024063C 0C00EAD2 */ jal get_npc_safe +/* CAF380 80240640 2404FFFC */ addiu $a0, $zero, -4 +/* CAF384 80240644 27A50018 */ addiu $a1, $sp, 0x18 +/* CAF388 80240648 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* CAF38C 8024064C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* CAF390 80240650 27A6001C */ addiu $a2, $sp, 0x1c +/* CAF394 80240654 00041880 */ sll $v1, $a0, 2 +/* CAF398 80240658 00641821 */ addu $v1, $v1, $a0 +/* CAF39C 8024065C 00031880 */ sll $v1, $v1, 2 +/* CAF3A0 80240660 00641823 */ subu $v1, $v1, $a0 +/* CAF3A4 80240664 000320C0 */ sll $a0, $v1, 3 +/* CAF3A8 80240668 00641821 */ addu $v1, $v1, $a0 +/* CAF3AC 8024066C 000318C0 */ sll $v1, $v1, 3 +/* CAF3B0 80240670 3C01800B */ lui $at, 0x800b +/* CAF3B4 80240674 00230821 */ addu $at, $at, $v1 +/* CAF3B8 80240678 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* CAF3BC 8024067C 0C00A88D */ jal sin_cos_deg +/* CAF3C0 80240680 0040A82D */ daddu $s5, $v0, $zero +/* CAF3C4 80240684 1200005D */ beqz $s0, .L802407FC +/* CAF3C8 80240688 00000000 */ nop +/* CAF3CC 8024068C 0C00AB0A */ jal general_heap_malloc +/* CAF3D0 80240690 24040068 */ addiu $a0, $zero, 0x68 +/* CAF3D4 80240694 0040902D */ daddu $s2, $v0, $zero +/* CAF3D8 80240698 02C0202D */ daddu $a0, $s6, $zero +/* CAF3DC 8024069C 0000882D */ daddu $s1, $zero, $zero +/* CAF3E0 802406A0 2414FFFF */ addiu $s4, $zero, -1 +/* CAF3E4 802406A4 AED20060 */ sw $s2, 0x60($s6) +/* CAF3E8 802406A8 8E650000 */ lw $a1, ($s3) +/* CAF3EC 802406AC 3C014148 */ lui $at, 0x4148 +/* CAF3F0 802406B0 4481C000 */ mtc1 $at, $f24 +/* CAF3F4 802406B4 3C013F80 */ lui $at, 0x3f80 +/* CAF3F8 802406B8 4481B000 */ mtc1 $at, $f22 +/* CAF3FC 802406BC 4480A000 */ mtc1 $zero, $f20 +/* CAF400 802406C0 0C0B1EAF */ jal get_variable +/* CAF404 802406C4 0240802D */ daddu $s0, $s2, $zero +/* CAF408 802406C8 0C04417A */ jal get_entity_by_index +/* CAF40C 802406CC 0040202D */ daddu $a0, $v0, $zero +/* CAF410 802406D0 AE42005C */ sw $v0, 0x5c($s2) +.L802406D4: +/* CAF414 802406D4 8E42005C */ lw $v0, 0x5c($s2) +/* CAF418 802406D8 C440004C */ lwc1 $f0, 0x4c($v0) +/* CAF41C 802406DC 0000202D */ daddu $a0, $zero, $zero +/* CAF420 802406E0 E7B60010 */ swc1 $f22, 0x10($sp) +/* CAF424 802406E4 AFB40014 */ sw $s4, 0x14($sp) +/* CAF428 802406E8 46180000 */ add.s $f0, $f0, $f24 +/* CAF42C 802406EC 8C450048 */ lw $a1, 0x48($v0) +/* CAF430 802406F0 8C470050 */ lw $a3, 0x50($v0) +/* CAF434 802406F4 44060000 */ mfc1 $a2, $f0 +/* CAF438 802406F8 0C01C5BC */ jal func_800716F0 +/* CAF43C 802406FC 26310001 */ addiu $s1, $s1, 1 +/* CAF440 80240700 AE020008 */ sw $v0, 8($s0) +/* CAF444 80240704 E614002C */ swc1 $f20, 0x2c($s0) +/* CAF448 80240708 E6140020 */ swc1 $f20, 0x20($s0) +/* CAF44C 8024070C E6140014 */ swc1 $f20, 0x14($s0) +/* CAF450 80240710 E6140050 */ swc1 $f20, 0x50($s0) +/* CAF454 80240714 E6140044 */ swc1 $f20, 0x44($s0) +/* CAF458 80240718 E6140038 */ swc1 $f20, 0x38($s0) +/* CAF45C 8024071C 2A220003 */ slti $v0, $s1, 3 +/* CAF460 80240720 1440FFEC */ bnez $v0, .L802406D4 +/* CAF464 80240724 26100004 */ addiu $s0, $s0, 4 +/* CAF468 80240728 0000882D */ daddu $s1, $zero, $zero +/* CAF46C 8024072C 0240802D */ daddu $s0, $s2, $zero +/* CAF470 80240730 3C148024 */ lui $s4, 0x8024 +/* CAF474 80240734 26942008 */ addiu $s4, $s4, 0x2008 +/* CAF478 80240738 3C014248 */ lui $at, 0x4248 +/* CAF47C 8024073C 4481A000 */ mtc1 $at, $f20 +/* CAF480 80240740 24130044 */ addiu $s3, $zero, 0x44 +/* CAF484 80240744 AE400000 */ sw $zero, ($s2) +/* CAF488 80240748 AE400004 */ sw $zero, 4($s2) +/* CAF48C 8024074C AE400060 */ sw $zero, 0x60($s2) +/* CAF490 80240750 AE400064 */ sw $zero, 0x64($s2) +.L80240754: +/* CAF494 80240754 27A40020 */ addiu $a0, $sp, 0x20 +/* CAF498 80240758 4406A000 */ mfc1 $a2, $f20 +/* CAF49C 8024075C 8E870000 */ lw $a3, ($s4) +/* CAF4A0 80240760 02532821 */ addu $a1, $s2, $s3 +/* CAF4A4 80240764 0C00A7E7 */ jal add_vec2D_polar +/* CAF4A8 80240768 AFA00020 */ sw $zero, 0x20($sp) +/* CAF4AC 8024076C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* CAF4B0 80240770 C7A40020 */ lwc1 $f4, 0x20($sp) +/* CAF4B4 80240774 46041082 */ mul.s $f2, $f2, $f4 +/* CAF4B8 80240778 00000000 */ nop +/* CAF4BC 8024077C C7A00018 */ lwc1 $f0, 0x18($sp) +/* CAF4C0 80240780 46040002 */ mul.s $f0, $f0, $f4 +/* CAF4C4 80240784 00000000 */ nop +/* CAF4C8 80240788 E6020038 */ swc1 $f2, 0x38($s0) +/* CAF4CC 8024078C E6000050 */ swc1 $f0, 0x50($s0) +/* CAF4D0 80240790 8E42005C */ lw $v0, 0x5c($s2) +/* CAF4D4 80240794 C6000038 */ lwc1 $f0, 0x38($s0) +/* CAF4D8 80240798 C4420048 */ lwc1 $f2, 0x48($v0) +/* CAF4DC 8024079C 46001080 */ add.s $f2, $f2, $f0 +/* CAF4E0 802407A0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* CAF4E4 802407A4 46020001 */ sub.s $f0, $f0, $f2 +/* CAF4E8 802407A8 E6000038 */ swc1 $f0, 0x38($s0) +/* CAF4EC 802407AC 8E42005C */ lw $v0, 0x5c($s2) +/* CAF4F0 802407B0 C6000044 */ lwc1 $f0, 0x44($s0) +/* CAF4F4 802407B4 C442004C */ lwc1 $f2, 0x4c($v0) +/* CAF4F8 802407B8 46001080 */ add.s $f2, $f2, $f0 +/* CAF4FC 802407BC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* CAF500 802407C0 46020001 */ sub.s $f0, $f0, $f2 +/* CAF504 802407C4 E6000044 */ swc1 $f0, 0x44($s0) +/* CAF508 802407C8 8E42005C */ lw $v0, 0x5c($s2) +/* CAF50C 802407CC C6000050 */ lwc1 $f0, 0x50($s0) +/* CAF510 802407D0 C4420050 */ lwc1 $f2, 0x50($v0) +/* CAF514 802407D4 26940004 */ addiu $s4, $s4, 4 +/* CAF518 802407D8 46001080 */ add.s $f2, $f2, $f0 +/* CAF51C 802407DC C6A00040 */ lwc1 $f0, 0x40($s5) +/* CAF520 802407E0 26730004 */ addiu $s3, $s3, 4 +/* CAF524 802407E4 46020001 */ sub.s $f0, $f0, $f2 +/* CAF528 802407E8 26310001 */ addiu $s1, $s1, 1 +/* CAF52C 802407EC 2A220003 */ slti $v0, $s1, 3 +/* CAF530 802407F0 E6000050 */ swc1 $f0, 0x50($s0) +/* CAF534 802407F4 1440FFD7 */ bnez $v0, .L80240754 +/* CAF538 802407F8 26100004 */ addiu $s0, $s0, 4 +.L802407FC: +/* CAF53C 802407FC 8ED20060 */ lw $s2, 0x60($s6) +/* CAF540 80240800 8E430000 */ lw $v1, ($s2) +/* CAF544 80240804 24020001 */ addiu $v0, $zero, 1 +/* CAF548 80240808 10620038 */ beq $v1, $v0, .L802408EC +/* CAF54C 8024080C 28620002 */ slti $v0, $v1, 2 +/* CAF550 80240810 50400005 */ beql $v0, $zero, .L80240828 +/* CAF554 80240814 24020002 */ addiu $v0, $zero, 2 +/* CAF558 80240818 10600007 */ beqz $v1, .L80240838 +/* CAF55C 8024081C 24040005 */ addiu $a0, $zero, 5 +/* CAF560 80240820 08090274 */ j .L802409D0 +/* CAF564 80240824 00000000 */ nop +.L80240828: +/* CAF568 80240828 10620058 */ beq $v1, $v0, .L8024098C +/* CAF56C 8024082C 00000000 */ nop +/* CAF570 80240830 08090274 */ j .L802409D0 +/* CAF574 80240834 00000000 */ nop +.L80240838: +/* CAF578 80240838 0000882D */ daddu $s1, $zero, $zero +/* CAF57C 8024083C 3C148024 */ lui $s4, 0x8024 +/* CAF580 80240840 26942008 */ addiu $s4, $s4, 0x2008 +/* CAF584 80240844 24130020 */ addiu $s3, $zero, 0x20 +/* CAF588 80240848 3C064248 */ lui $a2, 0x4248 +/* CAF58C 8024084C 44800000 */ mtc1 $zero, $f0 +/* CAF590 80240850 24020014 */ addiu $v0, $zero, 0x14 +/* CAF594 80240854 AFA20010 */ sw $v0, 0x10($sp) +/* CAF598 80240858 44050000 */ mfc1 $a1, $f0 +/* CAF59C 8024085C 8E470060 */ lw $a3, 0x60($s2) +/* CAF5A0 80240860 4485B000 */ mtc1 $a1, $f22 +/* CAF5A4 80240864 0C00A8ED */ jal update_lerp +/* CAF5A8 80240868 0240802D */ daddu $s0, $s2, $zero +/* CAF5AC 8024086C 46000506 */ mov.s $f20, $f0 +.L80240870: +/* CAF5B0 80240870 4406A000 */ mfc1 $a2, $f20 +/* CAF5B4 80240874 27A40020 */ addiu $a0, $sp, 0x20 +/* CAF5B8 80240878 E6160020 */ swc1 $f22, 0x20($s0) +/* CAF5BC 8024087C 8E870000 */ lw $a3, ($s4) +/* CAF5C0 80240880 02532821 */ addu $a1, $s2, $s3 +/* CAF5C4 80240884 0C00A7E7 */ jal add_vec2D_polar +/* CAF5C8 80240888 E7B60020 */ swc1 $f22, 0x20($sp) +/* CAF5CC 8024088C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* CAF5D0 80240890 C7A00020 */ lwc1 $f0, 0x20($sp) +/* CAF5D4 80240894 46002102 */ mul.s $f4, $f4, $f0 +/* CAF5D8 80240898 00000000 */ nop +/* CAF5DC 8024089C C7A20018 */ lwc1 $f2, 0x18($sp) +/* CAF5E0 802408A0 26940004 */ addiu $s4, $s4, 4 +/* CAF5E4 802408A4 46001082 */ mul.s $f2, $f2, $f0 +/* CAF5E8 802408A8 00000000 */ nop +/* CAF5EC 802408AC 26730004 */ addiu $s3, $s3, 4 +/* CAF5F0 802408B0 26310001 */ addiu $s1, $s1, 1 +/* CAF5F4 802408B4 2A220003 */ slti $v0, $s1, 3 +/* CAF5F8 802408B8 E6040014 */ swc1 $f4, 0x14($s0) +/* CAF5FC 802408BC E602002C */ swc1 $f2, 0x2c($s0) +/* CAF600 802408C0 1440FFEB */ bnez $v0, .L80240870 +/* CAF604 802408C4 26100004 */ addiu $s0, $s0, 4 +/* CAF608 802408C8 8E420060 */ lw $v0, 0x60($s2) +/* CAF60C 802408CC 24420001 */ addiu $v0, $v0, 1 +/* CAF610 802408D0 AE420060 */ sw $v0, 0x60($s2) +/* CAF614 802408D4 28420015 */ slti $v0, $v0, 0x15 +/* CAF618 802408D8 1440003D */ bnez $v0, .L802409D0 +/* CAF61C 802408DC 24020001 */ addiu $v0, $zero, 1 +/* CAF620 802408E0 AE420000 */ sw $v0, ($s2) +/* CAF624 802408E4 08090274 */ j .L802409D0 +/* CAF628 802408E8 AE400060 */ sw $zero, 0x60($s2) +.L802408EC: +/* CAF62C 802408EC 0000882D */ daddu $s1, $zero, $zero +/* CAF630 802408F0 3C148024 */ lui $s4, 0x8024 +/* CAF634 802408F4 26942008 */ addiu $s4, $s4, 0x2008 +/* CAF638 802408F8 24130020 */ addiu $s3, $zero, 0x20 +/* CAF63C 802408FC 0240802D */ daddu $s0, $s2, $zero +/* CAF640 80240900 3C014248 */ lui $at, 0x4248 +/* CAF644 80240904 4481A000 */ mtc1 $at, $f20 +/* CAF648 80240908 4480B000 */ mtc1 $zero, $f22 +.L8024090C: +/* CAF64C 8024090C 4406A000 */ mfc1 $a2, $f20 +/* CAF650 80240910 27A40020 */ addiu $a0, $sp, 0x20 +/* CAF654 80240914 E6160020 */ swc1 $f22, 0x20($s0) +/* CAF658 80240918 8E870000 */ lw $a3, ($s4) +/* CAF65C 8024091C 02532821 */ addu $a1, $s2, $s3 +/* CAF660 80240920 0C00A7E7 */ jal add_vec2D_polar +/* CAF664 80240924 E7B60020 */ swc1 $f22, 0x20($sp) +/* CAF668 80240928 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* CAF66C 8024092C C7A00020 */ lwc1 $f0, 0x20($sp) +/* CAF670 80240930 46002102 */ mul.s $f4, $f4, $f0 +/* CAF674 80240934 00000000 */ nop +/* CAF678 80240938 C7A20018 */ lwc1 $f2, 0x18($sp) +/* CAF67C 8024093C 26940004 */ addiu $s4, $s4, 4 +/* CAF680 80240940 46001082 */ mul.s $f2, $f2, $f0 +/* CAF684 80240944 00000000 */ nop +/* CAF688 80240948 26730004 */ addiu $s3, $s3, 4 +/* CAF68C 8024094C 26310001 */ addiu $s1, $s1, 1 +/* CAF690 80240950 2A220003 */ slti $v0, $s1, 3 +/* CAF694 80240954 E6040014 */ swc1 $f4, 0x14($s0) +/* CAF698 80240958 E602002C */ swc1 $f2, 0x2c($s0) +/* CAF69C 8024095C 1440FFEB */ bnez $v0, .L8024090C +/* CAF6A0 80240960 26100004 */ addiu $s0, $s0, 4 +/* CAF6A4 80240964 8E420060 */ lw $v0, 0x60($s2) +/* CAF6A8 80240968 24420001 */ addiu $v0, $v0, 1 +/* CAF6AC 8024096C AE420060 */ sw $v0, 0x60($s2) +/* CAF6B0 80240970 28420010 */ slti $v0, $v0, 0x10 +/* CAF6B4 80240974 14400016 */ bnez $v0, .L802409D0 +/* CAF6B8 80240978 2402000F */ addiu $v0, $zero, 0xf +/* CAF6BC 8024097C AE420060 */ sw $v0, 0x60($s2) +/* CAF6C0 80240980 24020002 */ addiu $v0, $zero, 2 +/* CAF6C4 80240984 08090274 */ j .L802409D0 +/* CAF6C8 80240988 AE420000 */ sw $v0, ($s2) +.L8024098C: +/* CAF6CC 8024098C 8E420060 */ lw $v0, 0x60($s2) +/* CAF6D0 80240990 24420001 */ addiu $v0, $v0, 1 +/* CAF6D4 80240994 AE420060 */ sw $v0, 0x60($s2) +/* CAF6D8 80240998 2842001F */ slti $v0, $v0, 0x1f +/* CAF6DC 8024099C 1440000C */ bnez $v0, .L802409D0 +/* CAF6E0 802409A0 0000882D */ daddu $s1, $zero, $zero +/* CAF6E4 802409A4 0240282D */ daddu $a1, $s2, $zero +.L802409A8: +/* CAF6E8 802409A8 8CA20008 */ lw $v0, 8($a1) +/* CAF6EC 802409AC 8C430000 */ lw $v1, ($v0) +/* CAF6F0 802409B0 26310001 */ addiu $s1, $s1, 1 +/* CAF6F4 802409B4 34630010 */ ori $v1, $v1, 0x10 +/* CAF6F8 802409B8 AC430000 */ sw $v1, ($v0) +/* CAF6FC 802409BC 2A220003 */ slti $v0, $s1, 3 +/* CAF700 802409C0 1440FFF9 */ bnez $v0, .L802409A8 +/* CAF704 802409C4 24A50004 */ addiu $a1, $a1, 4 +/* CAF708 802409C8 080902C1 */ j .L80240B04 +/* CAF70C 802409CC 24020002 */ addiu $v0, $zero, 2 +.L802409D0: +/* CAF710 802409D0 8E430004 */ lw $v1, 4($s2) +/* CAF714 802409D4 10600005 */ beqz $v1, .L802409EC +/* CAF718 802409D8 24020001 */ addiu $v0, $zero, 1 +/* CAF71C 802409DC 1062000B */ beq $v1, $v0, .L80240A0C +/* CAF720 802409E0 0000882D */ daddu $s1, $zero, $zero +/* CAF724 802409E4 080902B0 */ j .L80240AC0 +/* CAF728 802409E8 0240282D */ daddu $a1, $s2, $zero +.L802409EC: +/* CAF72C 802409EC 8E420064 */ lw $v0, 0x64($s2) +/* CAF730 802409F0 24420001 */ addiu $v0, $v0, 1 +/* CAF734 802409F4 AE420064 */ sw $v0, 0x64($s2) +/* CAF738 802409F8 28420010 */ slti $v0, $v0, 0x10 +/* CAF73C 802409FC 1440002F */ bnez $v0, .L80240ABC +/* CAF740 80240A00 0000882D */ daddu $s1, $zero, $zero +/* CAF744 80240A04 080902AC */ j .L80240AB0 +/* CAF748 80240A08 24020001 */ addiu $v0, $zero, 1 +.L80240A0C: +/* CAF74C 80240A0C 4480A000 */ mtc1 $zero, $f20 +/* CAF750 80240A10 24130014 */ addiu $s3, $zero, 0x14 +/* CAF754 80240A14 0240802D */ daddu $s0, $s2, $zero +.L80240A18: +/* CAF758 80240A18 4405A000 */ mfc1 $a1, $f20 +/* CAF75C 80240A1C AFB30010 */ sw $s3, 0x10($sp) +/* CAF760 80240A20 8E060038 */ lw $a2, 0x38($s0) +/* CAF764 80240A24 8E470064 */ lw $a3, 0x64($s2) +/* CAF768 80240A28 0C00A8ED */ jal update_lerp +/* CAF76C 80240A2C 24040001 */ addiu $a0, $zero, 1 +/* CAF770 80240A30 C6020014 */ lwc1 $f2, 0x14($s0) +/* CAF774 80240A34 46001080 */ add.s $f2, $f2, $f0 +/* CAF778 80240A38 4405A000 */ mfc1 $a1, $f20 +/* CAF77C 80240A3C E6020014 */ swc1 $f2, 0x14($s0) +/* CAF780 80240A40 AFB30010 */ sw $s3, 0x10($sp) +/* CAF784 80240A44 8E060044 */ lw $a2, 0x44($s0) +/* CAF788 80240A48 8E470064 */ lw $a3, 0x64($s2) +/* CAF78C 80240A4C 0C00A8ED */ jal update_lerp +/* CAF790 80240A50 24040001 */ addiu $a0, $zero, 1 +/* CAF794 80240A54 C6020020 */ lwc1 $f2, 0x20($s0) +/* CAF798 80240A58 46001080 */ add.s $f2, $f2, $f0 +/* CAF79C 80240A5C 4405A000 */ mfc1 $a1, $f20 +/* CAF7A0 80240A60 E6020020 */ swc1 $f2, 0x20($s0) +/* CAF7A4 80240A64 AFB30010 */ sw $s3, 0x10($sp) +/* CAF7A8 80240A68 8E060050 */ lw $a2, 0x50($s0) +/* CAF7AC 80240A6C 8E470064 */ lw $a3, 0x64($s2) +/* CAF7B0 80240A70 0C00A8ED */ jal update_lerp +/* CAF7B4 80240A74 24040001 */ addiu $a0, $zero, 1 +/* CAF7B8 80240A78 C602002C */ lwc1 $f2, 0x2c($s0) +/* CAF7BC 80240A7C 46001080 */ add.s $f2, $f2, $f0 +/* CAF7C0 80240A80 26310001 */ addiu $s1, $s1, 1 +/* CAF7C4 80240A84 2A220003 */ slti $v0, $s1, 3 +/* CAF7C8 80240A88 E602002C */ swc1 $f2, 0x2c($s0) +/* CAF7CC 80240A8C 1440FFE2 */ bnez $v0, .L80240A18 +/* CAF7D0 80240A90 26100004 */ addiu $s0, $s0, 4 +/* CAF7D4 80240A94 8E420064 */ lw $v0, 0x64($s2) +/* CAF7D8 80240A98 24420001 */ addiu $v0, $v0, 1 +/* CAF7DC 80240A9C AE420064 */ sw $v0, 0x64($s2) +/* CAF7E0 80240AA0 28420015 */ slti $v0, $v0, 0x15 +/* CAF7E4 80240AA4 14400005 */ bnez $v0, .L80240ABC +/* CAF7E8 80240AA8 0000882D */ daddu $s1, $zero, $zero +/* CAF7EC 80240AAC 24020002 */ addiu $v0, $zero, 2 +.L80240AB0: +/* CAF7F0 80240AB0 AE420004 */ sw $v0, 4($s2) +/* CAF7F4 80240AB4 AE400064 */ sw $zero, 0x64($s2) +/* CAF7F8 80240AB8 0000882D */ daddu $s1, $zero, $zero +.L80240ABC: +/* CAF7FC 80240ABC 0240282D */ daddu $a1, $s2, $zero +.L80240AC0: +/* CAF800 80240AC0 8CA20008 */ lw $v0, 8($a1) +/* CAF804 80240AC4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* CAF808 80240AC8 8C42000C */ lw $v0, 0xc($v0) +/* CAF80C 80240ACC E4400010 */ swc1 $f0, 0x10($v0) +/* CAF810 80240AD0 8CA20008 */ lw $v0, 8($a1) +/* CAF814 80240AD4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* CAF818 80240AD8 8C42000C */ lw $v0, 0xc($v0) +/* CAF81C 80240ADC 26310001 */ addiu $s1, $s1, 1 +/* CAF820 80240AE0 E4400014 */ swc1 $f0, 0x14($v0) +/* CAF824 80240AE4 8CA20008 */ lw $v0, 8($a1) +/* CAF828 80240AE8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* CAF82C 80240AEC 8C42000C */ lw $v0, 0xc($v0) +/* CAF830 80240AF0 E4400018 */ swc1 $f0, 0x18($v0) +/* CAF834 80240AF4 2A220003 */ slti $v0, $s1, 3 +/* CAF838 80240AF8 1440FFF1 */ bnez $v0, .L80240AC0 +/* CAF83C 80240AFC 24A50004 */ addiu $a1, $a1, 4 +/* CAF840 80240B00 0000102D */ daddu $v0, $zero, $zero +.L80240B04: +/* CAF844 80240B04 8FBF0044 */ lw $ra, 0x44($sp) +/* CAF848 80240B08 8FB60040 */ lw $s6, 0x40($sp) +/* CAF84C 80240B0C 8FB5003C */ lw $s5, 0x3c($sp) +/* CAF850 80240B10 8FB40038 */ lw $s4, 0x38($sp) +/* CAF854 80240B14 8FB30034 */ lw $s3, 0x34($sp) +/* CAF858 80240B18 8FB20030 */ lw $s2, 0x30($sp) +/* CAF85C 80240B1C 8FB1002C */ lw $s1, 0x2c($sp) +/* CAF860 80240B20 8FB00028 */ lw $s0, 0x28($sp) +/* CAF864 80240B24 D7B80058 */ ldc1 $f24, 0x58($sp) +/* CAF868 80240B28 D7B60050 */ ldc1 $f22, 0x50($sp) +/* CAF86C 80240B2C D7B40048 */ ldc1 $f20, 0x48($sp) +/* CAF870 80240B30 03E00008 */ jr $ra +/* CAF874 80240B34 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240B38_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240B38_CAED40.s new file mode 100644 index 0000000000..79455e53ab --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240B38_CAED40.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B38_CAF878 +/* CAF878 80240B38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAF87C 80240B3C AFB10014 */ sw $s1, 0x14($sp) +/* CAF880 80240B40 0080882D */ daddu $s1, $a0, $zero +/* CAF884 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* CAF888 80240B48 AFBF001C */ sw $ra, 0x1c($sp) +/* CAF88C 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* CAF890 80240B50 8E30000C */ lw $s0, 0xc($s1) +/* CAF894 80240B54 10A00010 */ beqz $a1, .L80240B98 +/* CAF898 80240B58 0000902D */ daddu $s2, $zero, $zero +/* CAF89C 80240B5C 8E050000 */ lw $a1, ($s0) +/* CAF8A0 80240B60 0C0B1EAF */ jal get_variable +/* CAF8A4 80240B64 26100004 */ addiu $s0, $s0, 4 +/* CAF8A8 80240B68 AE220084 */ sw $v0, 0x84($s1) +/* CAF8AC 80240B6C 8E050000 */ lw $a1, ($s0) +/* CAF8B0 80240B70 0C0B1EAF */ jal get_variable +/* CAF8B4 80240B74 0220202D */ daddu $a0, $s1, $zero +/* CAF8B8 80240B78 0240202D */ daddu $a0, $s2, $zero +/* CAF8BC 80240B7C 240500D0 */ addiu $a1, $zero, 0xd0 +/* CAF8C0 80240B80 00A0302D */ daddu $a2, $a1, $zero +/* CAF8C4 80240B84 00A0382D */ daddu $a3, $a1, $zero +/* CAF8C8 80240B88 AE220088 */ sw $v0, 0x88($s1) +/* CAF8CC 80240B8C AE200070 */ sw $zero, 0x70($s1) +/* CAF8D0 80240B90 0C04DF84 */ jal func_80137E10 +/* CAF8D4 80240B94 AE200074 */ sw $zero, 0x74($s1) +.L80240B98: +/* CAF8D8 80240B98 8E230070 */ lw $v1, 0x70($s1) +/* CAF8DC 80240B9C 24040001 */ addiu $a0, $zero, 1 +/* CAF8E0 80240BA0 10640019 */ beq $v1, $a0, .L80240C08 +/* CAF8E4 80240BA4 28620002 */ slti $v0, $v1, 2 +/* CAF8E8 80240BA8 10400005 */ beqz $v0, .L80240BC0 +/* CAF8EC 80240BAC 24020002 */ addiu $v0, $zero, 2 +/* CAF8F0 80240BB0 10600007 */ beqz $v1, .L80240BD0 +/* CAF8F4 80240BB4 240500FF */ addiu $a1, $zero, 0xff +/* CAF8F8 80240BB8 08090312 */ j .L80240C48 +/* CAF8FC 80240BBC 00000000 */ nop +.L80240BC0: +/* CAF900 80240BC0 10620019 */ beq $v1, $v0, .L80240C28 +/* CAF904 80240BC4 00000000 */ nop +/* CAF908 80240BC8 08090312 */ j .L80240C48 +/* CAF90C 80240BCC 00000000 */ nop +.L80240BD0: +/* CAF910 80240BD0 8E220074 */ lw $v0, 0x74($s1) +/* CAF914 80240BD4 14450004 */ bne $v0, $a1, .L80240BE8 +/* CAF918 80240BD8 00000000 */ nop +/* CAF91C 80240BDC AE240070 */ sw $a0, 0x70($s1) +/* CAF920 80240BE0 AE200078 */ sw $zero, 0x78($s1) +/* CAF924 80240BE4 8E220074 */ lw $v0, 0x74($s1) +.L80240BE8: +/* CAF928 80240BE8 8E230084 */ lw $v1, 0x84($s1) +/* CAF92C 80240BEC 00431021 */ addu $v0, $v0, $v1 +/* CAF930 80240BF0 AE220074 */ sw $v0, 0x74($s1) +/* CAF934 80240BF4 28420100 */ slti $v0, $v0, 0x100 +/* CAF938 80240BF8 50400013 */ beql $v0, $zero, .L80240C48 +/* CAF93C 80240BFC AE250074 */ sw $a1, 0x74($s1) +/* CAF940 80240C00 08090312 */ j .L80240C48 +/* CAF944 80240C04 00000000 */ nop +.L80240C08: +/* CAF948 80240C08 8E220078 */ lw $v0, 0x78($s1) +/* CAF94C 80240C0C 24420001 */ addiu $v0, $v0, 1 +/* CAF950 80240C10 AE220078 */ sw $v0, 0x78($s1) +/* CAF954 80240C14 28420002 */ slti $v0, $v0, 2 +/* CAF958 80240C18 1440000B */ bnez $v0, .L80240C48 +/* CAF95C 80240C1C 24020002 */ addiu $v0, $zero, 2 +/* CAF960 80240C20 08090312 */ j .L80240C48 +/* CAF964 80240C24 AE220070 */ sw $v0, 0x70($s1) +.L80240C28: +/* CAF968 80240C28 8E230074 */ lw $v1, 0x74($s1) +/* CAF96C 80240C2C 50600001 */ beql $v1, $zero, .L80240C34 +/* CAF970 80240C30 24120001 */ addiu $s2, $zero, 1 +.L80240C34: +/* CAF974 80240C34 8E220088 */ lw $v0, 0x88($s1) +/* CAF978 80240C38 00621023 */ subu $v0, $v1, $v0 +/* CAF97C 80240C3C 04410002 */ bgez $v0, .L80240C48 +/* CAF980 80240C40 AE220074 */ sw $v0, 0x74($s1) +/* CAF984 80240C44 AE200074 */ sw $zero, 0x74($s1) +.L80240C48: +/* CAF988 80240C48 C6200074 */ lwc1 $f0, 0x74($s1) +/* CAF98C 80240C4C 46800020 */ cvt.s.w $f0, $f0 +/* CAF990 80240C50 44050000 */ mfc1 $a1, $f0 +/* CAF994 80240C54 0C04DF62 */ jal func_80137D88 +/* CAF998 80240C58 24040001 */ addiu $a0, $zero, 1 +/* CAF99C 80240C5C 0240102D */ daddu $v0, $s2, $zero +/* CAF9A0 80240C60 8FBF001C */ lw $ra, 0x1c($sp) +/* CAF9A4 80240C64 8FB20018 */ lw $s2, 0x18($sp) +/* CAF9A8 80240C68 8FB10014 */ lw $s1, 0x14($sp) +/* CAF9AC 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* CAF9B0 80240C70 03E00008 */ jr $ra +/* CAF9B4 80240C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240C78_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240C78_CAED40.s new file mode 100644 index 0000000000..e53c8fd5ed --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240C78_CAED40.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_CAF9B8 +/* CAF9B8 80240C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAF9BC 80240C7C AFBF0018 */ sw $ra, 0x18($sp) +/* CAF9C0 80240C80 0C00EAD2 */ jal get_npc_safe +/* CAF9C4 80240C84 2404FFFC */ addiu $a0, $zero, -4 +/* CAF9C8 80240C88 3C0141F0 */ lui $at, 0x41f0 +/* CAF9CC 80240C8C 44810000 */ mtc1 $at, $f0 +/* CAF9D0 80240C90 C442003C */ lwc1 $f2, 0x3c($v0) +/* CAF9D4 80240C94 46001080 */ add.s $f2, $f2, $f0 +/* CAF9D8 80240C98 E7A00010 */ swc1 $f0, 0x10($sp) +/* CAF9DC 80240C9C 8C450038 */ lw $a1, 0x38($v0) +/* CAF9E0 80240CA0 8C470040 */ lw $a3, 0x40($v0) +/* CAF9E4 80240CA4 44061000 */ mfc1 $a2, $f2 +/* CAF9E8 80240CA8 0C01BFBC */ jal func_8006FEF0 +/* CAF9EC 80240CAC 24040002 */ addiu $a0, $zero, 2 +/* CAF9F0 80240CB0 8FBF0018 */ lw $ra, 0x18($sp) +/* CAF9F4 80240CB4 24020002 */ addiu $v0, $zero, 2 +/* CAF9F8 80240CB8 03E00008 */ jr $ra +/* CAF9FC 80240CBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240CC0_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240CC0_CAED40.s new file mode 100644 index 0000000000..f77a23f1cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240CC0_CAED40.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_CAFA00 +/* CAFA00 80240CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAFA04 80240CC4 AFBF0018 */ sw $ra, 0x18($sp) +/* CAFA08 80240CC8 0C00EAD2 */ jal get_npc_safe +/* CAFA0C 80240CCC 2404FFFC */ addiu $a0, $zero, -4 +/* CAFA10 80240CD0 3C0141F0 */ lui $at, 0x41f0 +/* CAFA14 80240CD4 44810000 */ mtc1 $at, $f0 +/* CAFA18 80240CD8 C442003C */ lwc1 $f2, 0x3c($v0) +/* CAFA1C 80240CDC 46001080 */ add.s $f2, $f2, $f0 +/* CAFA20 80240CE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CAFA24 80240CE4 8C450038 */ lw $a1, 0x38($v0) +/* CAFA28 80240CE8 8C470040 */ lw $a3, 0x40($v0) +/* CAFA2C 80240CEC 44061000 */ mfc1 $a2, $f2 +/* CAFA30 80240CF0 0C01BFBC */ jal func_8006FEF0 +/* CAFA34 80240CF4 24040004 */ addiu $a0, $zero, 4 +/* CAFA38 80240CF8 8FBF0018 */ lw $ra, 0x18($sp) +/* CAFA3C 80240CFC 24020002 */ addiu $v0, $zero, 2 +/* CAFA40 80240D00 03E00008 */ jr $ra +/* CAFA44 80240D04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240D08_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240D08_CAED40.s new file mode 100644 index 0000000000..5ad4eca0c7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240D08_CAED40.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08_CAFA48 +/* CAFA48 80240D08 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* CAFA4C 80240D0C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* CAFA50 80240D10 AC800084 */ sw $zero, 0x84($a0) +/* CAFA54 80240D14 80620000 */ lb $v0, ($v1) +/* CAFA58 80240D18 10400005 */ beqz $v0, .L80240D30 +/* CAFA5C 80240D1C 24020003 */ addiu $v0, $zero, 3 +/* CAFA60 80240D20 80630003 */ lb $v1, 3($v1) +/* CAFA64 80240D24 14620002 */ bne $v1, $v0, .L80240D30 +/* CAFA68 80240D28 24020001 */ addiu $v0, $zero, 1 +/* CAFA6C 80240D2C AC820084 */ sw $v0, 0x84($a0) +.L80240D30: +/* CAFA70 80240D30 03E00008 */ jr $ra +/* CAFA74 80240D34 24020002 */ addiu $v0, $zero, 2 +/* CAFA78 80240D38 00000000 */ nop +/* CAFA7C 80240D3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240D40_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240D40_CAED40.s new file mode 100644 index 0000000000..0d16835395 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240D40_CAED40.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D40_CAFA80 +/* CAFA80 80240D40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CAFA84 80240D44 24040001 */ addiu $a0, $zero, 1 +/* CAFA88 80240D48 0000282D */ daddu $a1, $zero, $zero +/* CAFA8C 80240D4C 00A0302D */ daddu $a2, $a1, $zero +/* CAFA90 80240D50 00A0382D */ daddu $a3, $a1, $zero +/* CAFA94 80240D54 AFBF0018 */ sw $ra, 0x18($sp) +/* CAFA98 80240D58 AFA00010 */ sw $zero, 0x10($sp) +/* CAFA9C 80240D5C 0C01CA54 */ jal func_80072950 +/* CAFAA0 80240D60 AFA00014 */ sw $zero, 0x14($sp) +/* CAFAA4 80240D64 8FBF0018 */ lw $ra, 0x18($sp) +/* CAFAA8 80240D68 24020002 */ addiu $v0, $zero, 2 +/* CAFAAC 80240D6C 03E00008 */ jr $ra +/* CAFAB0 80240D70 27BD0020 */ addiu $sp, $sp, 0x20 +/* CAFAB4 80240D74 00000000 */ nop +/* CAFAB8 80240D78 00000000 */ nop +/* CAFABC 80240D7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80240D80_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80240D80_CAED40.s new file mode 100644 index 0000000000..990d1dfa72 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80240D80_CAED40.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D80_CAFAC0 +/* CAFAC0 80240D80 27BDFF68 */ addiu $sp, $sp, -0x98 +/* CAFAC4 80240D84 AFB60060 */ sw $s6, 0x60($sp) +/* CAFAC8 80240D88 0080B02D */ daddu $s6, $a0, $zero +/* CAFACC 80240D8C AFBF0064 */ sw $ra, 0x64($sp) +/* CAFAD0 80240D90 AFB5005C */ sw $s5, 0x5c($sp) +/* CAFAD4 80240D94 AFB40058 */ sw $s4, 0x58($sp) +/* CAFAD8 80240D98 AFB30054 */ sw $s3, 0x54($sp) +/* CAFADC 80240D9C AFB20050 */ sw $s2, 0x50($sp) +/* CAFAE0 80240DA0 AFB1004C */ sw $s1, 0x4c($sp) +/* CAFAE4 80240DA4 AFB00048 */ sw $s0, 0x48($sp) +/* CAFAE8 80240DA8 F7BE0090 */ sdc1 $f30, 0x90($sp) +/* CAFAEC 80240DAC F7BC0088 */ sdc1 $f28, 0x88($sp) +/* CAFAF0 80240DB0 F7BA0080 */ sdc1 $f26, 0x80($sp) +/* CAFAF4 80240DB4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* CAFAF8 80240DB8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* CAFAFC 80240DBC F7B40068 */ sdc1 $f20, 0x68($sp) +/* CAFB00 80240DC0 8ED20148 */ lw $s2, 0x148($s6) +/* CAFB04 80240DC4 00A0882D */ daddu $s1, $a1, $zero +/* CAFB08 80240DC8 86440008 */ lh $a0, 8($s2) +/* CAFB0C 80240DCC 0C00EABB */ jal get_npc_unsafe +/* CAFB10 80240DD0 00C0A82D */ daddu $s5, $a2, $zero +/* CAFB14 80240DD4 8E240020 */ lw $a0, 0x20($s1) +/* CAFB18 80240DD8 0040802D */ daddu $s0, $v0, $zero +/* CAFB1C 80240DDC 00041FC2 */ srl $v1, $a0, 0x1f +/* CAFB20 80240DE0 00832021 */ addu $a0, $a0, $v1 +/* CAFB24 80240DE4 00042043 */ sra $a0, $a0, 1 +/* CAFB28 80240DE8 0C00A67F */ jal rand_int +/* CAFB2C 80240DEC 24840001 */ addiu $a0, $a0, 1 +/* CAFB30 80240DF0 8E230020 */ lw $v1, 0x20($s1) +/* CAFB34 80240DF4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFB38 80240DF8 000327C2 */ srl $a0, $v1, 0x1f +/* CAFB3C 80240DFC 00641821 */ addu $v1, $v1, $a0 +/* CAFB40 80240E00 00031843 */ sra $v1, $v1, 1 +/* CAFB44 80240E04 00621821 */ addu $v1, $v1, $v0 +/* CAFB48 80240E08 A603008E */ sh $v1, 0x8e($s0) +/* CAFB4C 80240E0C 8E4200CC */ lw $v0, 0xcc($s2) +/* CAFB50 80240E10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFB54 80240E14 8C42000C */ lw $v0, 0xc($v0) +/* CAFB58 80240E18 AE020028 */ sw $v0, 0x28($s0) +/* CAFB5C 80240E1C C6200018 */ lwc1 $f0, 0x18($s1) +/* CAFB60 80240E20 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CAFB64 80240E24 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CAFB68 80240E28 E6000018 */ swc1 $f0, 0x18($s0) +/* CAFB6C 80240E2C 8C460028 */ lw $a2, 0x28($v0) +/* CAFB70 80240E30 8C470030 */ lw $a3, 0x30($v0) +/* CAFB74 80240E34 0C00A720 */ jal atan2 +/* CAFB78 80240E38 0000982D */ daddu $s3, $zero, $zero +/* CAFB7C 80240E3C 3C014334 */ lui $at, 0x4334 +/* CAFB80 80240E40 44816000 */ mtc1 $at, $f12 +/* CAFB84 80240E44 0C00A6C9 */ jal clamp_angle +/* CAFB88 80240E48 460C0300 */ add.s $f12, $f0, $f12 +/* CAFB8C 80240E4C 46000506 */ mov.s $f20, $f0 +/* CAFB90 80240E50 C60C000C */ lwc1 $f12, 0xc($s0) +/* CAFB94 80240E54 0C00A70A */ jal get_clamped_angle_diff +/* CAFB98 80240E58 4600A386 */ mov.s $f14, $f20 +/* CAFB9C 80240E5C 46000086 */ mov.s $f2, $f0 +/* CAFBA0 80240E60 8E22001C */ lw $v0, 0x1c($s1) +/* CAFBA4 80240E64 46001005 */ abs.s $f0, $f2 +/* CAFBA8 80240E68 44822000 */ mtc1 $v0, $f4 +/* CAFBAC 80240E6C 00000000 */ nop +/* CAFBB0 80240E70 46802120 */ cvt.s.w $f4, $f4 +/* CAFBB4 80240E74 4600203C */ c.lt.s $f4, $f0 +/* CAFBB8 80240E78 00000000 */ nop +/* CAFBBC 80240E7C 4500000D */ bc1f .L80240EB4 +/* CAFBC0 80240E80 00000000 */ nop +/* CAFBC4 80240E84 44800000 */ mtc1 $zero, $f0 +/* CAFBC8 80240E88 C614000C */ lwc1 $f20, 0xc($s0) +/* CAFBCC 80240E8C 4600103C */ c.lt.s $f2, $f0 +/* CAFBD0 80240E90 00000000 */ nop +/* CAFBD4 80240E94 45000006 */ bc1f .L80240EB0 +/* CAFBD8 80240E98 00021023 */ negu $v0, $v0 +/* CAFBDC 80240E9C 44820000 */ mtc1 $v0, $f0 +/* CAFBE0 80240EA0 00000000 */ nop +/* CAFBE4 80240EA4 46800020 */ cvt.s.w $f0, $f0 +/* CAFBE8 80240EA8 080903AD */ j .L80240EB4 +/* CAFBEC 80240EAC 4600A500 */ add.s $f20, $f20, $f0 +.L80240EB0: +/* CAFBF0 80240EB0 4604A500 */ add.s $f20, $f20, $f4 +.L80240EB4: +/* CAFBF4 80240EB4 0C00A6C9 */ jal clamp_angle +/* CAFBF8 80240EB8 4600A306 */ mov.s $f12, $f20 +/* CAFBFC 80240EBC 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* CAFC00 80240EC0 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* CAFC04 80240EC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFC08 80240EC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFC0C 80240ECC 8E820000 */ lw $v0, ($s4) +/* CAFC10 80240ED0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CAFC14 80240ED4 E600000C */ swc1 $f0, 0xc($s0) +/* CAFC18 80240ED8 46006006 */ mov.s $f0, $f12 +/* CAFC1C 80240EDC 8C460028 */ lw $a2, 0x28($v0) +/* CAFC20 80240EE0 8C470030 */ lw $a3, 0x30($v0) +/* CAFC24 80240EE4 46007106 */ mov.s $f4, $f14 +/* CAFC28 80240EE8 E7A00020 */ swc1 $f0, 0x20($sp) +/* CAFC2C 80240EEC E7A20024 */ swc1 $f2, 0x24($sp) +/* CAFC30 80240EF0 0C00A720 */ jal atan2 +/* CAFC34 80240EF4 E7A40028 */ swc1 $f4, 0x28($sp) +/* CAFC38 80240EF8 3C014334 */ lui $at, 0x4334 +/* CAFC3C 80240EFC 44816000 */ mtc1 $at, $f12 +/* CAFC40 80240F00 0C00A6C9 */ jal clamp_angle +/* CAFC44 80240F04 460C0300 */ add.s $f12, $f0, $f12 +/* CAFC48 80240F08 C6020018 */ lwc1 $f2, 0x18($s0) +/* CAFC4C 80240F0C 3C014012 */ lui $at, 0x4012 +/* CAFC50 80240F10 4481E800 */ mtc1 $at, $f29 +/* CAFC54 80240F14 4480E000 */ mtc1 $zero, $f28 +/* CAFC58 80240F18 460010A1 */ cvt.d.s $f2, $f2 +/* CAFC5C 80240F1C 463C1082 */ mul.d $f2, $f2, $f28 +/* CAFC60 80240F20 00000000 */ nop +/* CAFC64 80240F24 46000506 */ mov.s $f20, $f0 +/* CAFC68 80240F28 27A50020 */ addiu $a1, $sp, 0x20 +/* CAFC6C 80240F2C 27A60024 */ addiu $a2, $sp, 0x24 +/* CAFC70 80240F30 27A70028 */ addiu $a3, $sp, 0x28 +/* CAFC74 80240F34 E7B40014 */ swc1 $f20, 0x14($sp) +/* CAFC78 80240F38 462010A0 */ cvt.s.d $f2, $f2 +/* CAFC7C 80240F3C E7A20010 */ swc1 $f2, 0x10($sp) +/* CAFC80 80240F40 860200A8 */ lh $v0, 0xa8($s0) +/* CAFC84 80240F44 4480B000 */ mtc1 $zero, $f22 +/* CAFC88 80240F48 44820000 */ mtc1 $v0, $f0 +/* CAFC8C 80240F4C 00000000 */ nop +/* CAFC90 80240F50 46800020 */ cvt.s.w $f0, $f0 +/* CAFC94 80240F54 E7A00018 */ swc1 $f0, 0x18($sp) +/* CAFC98 80240F58 860200A6 */ lh $v0, 0xa6($s0) +/* CAFC9C 80240F5C 4600B606 */ mov.s $f24, $f22 +/* CAFCA0 80240F60 44820000 */ mtc1 $v0, $f0 +/* CAFCA4 80240F64 00000000 */ nop +/* CAFCA8 80240F68 46800020 */ cvt.s.w $f0, $f0 +/* CAFCAC 80240F6C E7A0001C */ swc1 $f0, 0x1c($sp) +/* CAFCB0 80240F70 8E040080 */ lw $a0, 0x80($s0) +/* CAFCB4 80240F74 0C03773B */ jal func_800DDCEC +/* CAFCB8 80240F78 4600C686 */ mov.s $f26, $f24 +/* CAFCBC 80240F7C 104000E1 */ beqz $v0, .L80241304 +/* CAFCC0 80240F80 00000000 */ nop +/* CAFCC4 80240F84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFCC8 80240F88 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFCCC 80240F8C 8FA60020 */ lw $a2, 0x20($sp) +/* CAFCD0 80240F90 0C00A7B5 */ jal dist2D +/* CAFCD4 80240F94 8FA70028 */ lw $a3, 0x28($sp) +/* CAFCD8 80240F98 46000586 */ mov.s $f22, $f0 +/* CAFCDC 80240F9C C6020038 */ lwc1 $f2, 0x38($s0) +/* CAFCE0 80240FA0 C604003C */ lwc1 $f4, 0x3c($s0) +/* CAFCE4 80240FA4 3C01420C */ lui $at, 0x420c +/* CAFCE8 80240FA8 4481F000 */ mtc1 $at, $f30 +/* CAFCEC 80240FAC C6000040 */ lwc1 $f0, 0x40($s0) +/* CAFCF0 80240FB0 461EA300 */ add.s $f12, $f20, $f30 +/* CAFCF4 80240FB4 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CAFCF8 80240FB8 E7A40030 */ swc1 $f4, 0x30($sp) +/* CAFCFC 80240FBC 0C00A6C9 */ jal clamp_angle +/* CAFD00 80240FC0 E7A00034 */ swc1 $f0, 0x34($sp) +/* CAFD04 80240FC4 C6020018 */ lwc1 $f2, 0x18($s0) +/* CAFD08 80240FC8 460010A1 */ cvt.d.s $f2, $f2 +/* CAFD0C 80240FCC 463C1082 */ mul.d $f2, $f2, $f28 +/* CAFD10 80240FD0 00000000 */ nop +/* CAFD14 80240FD4 E7A00014 */ swc1 $f0, 0x14($sp) +/* CAFD18 80240FD8 462010A0 */ cvt.s.d $f2, $f2 +/* CAFD1C 80240FDC E7A20010 */ swc1 $f2, 0x10($sp) +/* CAFD20 80240FE0 860200A8 */ lh $v0, 0xa8($s0) +/* CAFD24 80240FE4 27A5002C */ addiu $a1, $sp, 0x2c +/* CAFD28 80240FE8 44820000 */ mtc1 $v0, $f0 +/* CAFD2C 80240FEC 00000000 */ nop +/* CAFD30 80240FF0 46800020 */ cvt.s.w $f0, $f0 +/* CAFD34 80240FF4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CAFD38 80240FF8 860200A6 */ lh $v0, 0xa6($s0) +/* CAFD3C 80240FFC 27A60030 */ addiu $a2, $sp, 0x30 +/* CAFD40 80241000 44820000 */ mtc1 $v0, $f0 +/* CAFD44 80241004 00000000 */ nop +/* CAFD48 80241008 46800020 */ cvt.s.w $f0, $f0 +/* CAFD4C 8024100C E7A0001C */ swc1 $f0, 0x1c($sp) +/* CAFD50 80241010 8E040080 */ lw $a0, 0x80($s0) +/* CAFD54 80241014 0C03773B */ jal func_800DDCEC +/* CAFD58 80241018 27A70034 */ addiu $a3, $sp, 0x34 +/* CAFD5C 8024101C 10400007 */ beqz $v0, .L8024103C +/* CAFD60 80241020 00000000 */ nop +/* CAFD64 80241024 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFD68 80241028 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFD6C 8024102C 8FA6002C */ lw $a2, 0x2c($sp) +/* CAFD70 80241030 0C00A7B5 */ jal dist2D +/* CAFD74 80241034 8FA70034 */ lw $a3, 0x34($sp) +/* CAFD78 80241038 46000606 */ mov.s $f24, $f0 +.L8024103C: +/* CAFD7C 8024103C C6000038 */ lwc1 $f0, 0x38($s0) +/* CAFD80 80241040 C602003C */ lwc1 $f2, 0x3c($s0) +/* CAFD84 80241044 C6040040 */ lwc1 $f4, 0x40($s0) +/* CAFD88 80241048 461EA301 */ sub.s $f12, $f20, $f30 +/* CAFD8C 8024104C E7A00038 */ swc1 $f0, 0x38($sp) +/* CAFD90 80241050 E7A2003C */ swc1 $f2, 0x3c($sp) +/* CAFD94 80241054 0C00A6C9 */ jal clamp_angle +/* CAFD98 80241058 E7A40040 */ swc1 $f4, 0x40($sp) +/* CAFD9C 8024105C C6020018 */ lwc1 $f2, 0x18($s0) +/* CAFDA0 80241060 460010A1 */ cvt.d.s $f2, $f2 +/* CAFDA4 80241064 463C1082 */ mul.d $f2, $f2, $f28 +/* CAFDA8 80241068 00000000 */ nop +/* CAFDAC 8024106C E7A00014 */ swc1 $f0, 0x14($sp) +/* CAFDB0 80241070 462010A0 */ cvt.s.d $f2, $f2 +/* CAFDB4 80241074 E7A20010 */ swc1 $f2, 0x10($sp) +/* CAFDB8 80241078 860200A8 */ lh $v0, 0xa8($s0) +/* CAFDBC 8024107C 27A50038 */ addiu $a1, $sp, 0x38 +/* CAFDC0 80241080 44820000 */ mtc1 $v0, $f0 +/* CAFDC4 80241084 00000000 */ nop +/* CAFDC8 80241088 46800020 */ cvt.s.w $f0, $f0 +/* CAFDCC 8024108C E7A00018 */ swc1 $f0, 0x18($sp) +/* CAFDD0 80241090 860200A6 */ lh $v0, 0xa6($s0) +/* CAFDD4 80241094 27A6003C */ addiu $a2, $sp, 0x3c +/* CAFDD8 80241098 44820000 */ mtc1 $v0, $f0 +/* CAFDDC 8024109C 00000000 */ nop +/* CAFDE0 802410A0 46800020 */ cvt.s.w $f0, $f0 +/* CAFDE4 802410A4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* CAFDE8 802410A8 8E040080 */ lw $a0, 0x80($s0) +/* CAFDEC 802410AC 0C03773B */ jal func_800DDCEC +/* CAFDF0 802410B0 27A70040 */ addiu $a3, $sp, 0x40 +/* CAFDF4 802410B4 10400007 */ beqz $v0, .L802410D4 +/* CAFDF8 802410B8 00000000 */ nop +/* CAFDFC 802410BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFE00 802410C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFE04 802410C4 8FA60038 */ lw $a2, 0x38($sp) +/* CAFE08 802410C8 0C00A7B5 */ jal dist2D +/* CAFE0C 802410CC 8FA70040 */ lw $a3, 0x40($sp) +/* CAFE10 802410D0 46000686 */ mov.s $f26, $f0 +.L802410D4: +/* CAFE14 802410D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFE18 802410D8 8E820000 */ lw $v0, ($s4) +/* CAFE1C 802410DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFE20 802410E0 8C460028 */ lw $a2, 0x28($v0) +/* CAFE24 802410E4 0C00A7B5 */ jal dist2D +/* CAFE28 802410E8 8C470030 */ lw $a3, 0x30($v0) +/* CAFE2C 802410EC C6000018 */ lwc1 $f0, 0x18($s0) +/* CAFE30 802410F0 3C013FF8 */ lui $at, 0x3ff8 +/* CAFE34 802410F4 44811800 */ mtc1 $at, $f3 +/* CAFE38 802410F8 44801000 */ mtc1 $zero, $f2 +/* CAFE3C 802410FC 46000021 */ cvt.d.s $f0, $f0 +/* CAFE40 80241100 46220082 */ mul.d $f2, $f0, $f2 +/* CAFE44 80241104 00000000 */ nop +/* CAFE48 80241108 4600B021 */ cvt.d.s $f0, $f22 +/* CAFE4C 8024110C 4622003C */ c.lt.d $f0, $f2 +/* CAFE50 80241110 00000000 */ nop +/* CAFE54 80241114 45000012 */ bc1f .L80241160 +/* CAFE58 80241118 00000000 */ nop +/* CAFE5C 8024111C 4600C021 */ cvt.d.s $f0, $f24 +/* CAFE60 80241120 4622003C */ c.lt.d $f0, $f2 +/* CAFE64 80241124 00000000 */ nop +/* CAFE68 80241128 4500000D */ bc1f .L80241160 +/* CAFE6C 8024112C 00000000 */ nop +/* CAFE70 80241130 4600D021 */ cvt.d.s $f0, $f26 +/* CAFE74 80241134 4622003C */ c.lt.d $f0, $f2 +/* CAFE78 80241138 00000000 */ nop +/* CAFE7C 8024113C 45000008 */ bc1f .L80241160 +/* CAFE80 80241140 02A0202D */ daddu $a0, $s5, $zero +/* CAFE84 80241144 AFA00010 */ sw $zero, 0x10($sp) +/* CAFE88 80241148 8E26000C */ lw $a2, 0xc($s1) +/* CAFE8C 8024114C 8E270010 */ lw $a3, 0x10($s1) +/* CAFE90 80241150 0C01242D */ jal func_800490B4 +/* CAFE94 80241154 0240282D */ daddu $a1, $s2, $zero +/* CAFE98 80241158 54400001 */ bnel $v0, $zero, .L80241160 +/* CAFE9C 8024115C 24130001 */ addiu $s3, $zero, 1 +.L80241160: +/* CAFEA0 80241160 1660006A */ bnez $s3, .L8024130C +/* CAFEA4 80241164 2402000A */ addiu $v0, $zero, 0xa +/* CAFEA8 80241168 4616C03C */ c.lt.s $f24, $f22 +/* CAFEAC 8024116C 00000000 */ nop +/* CAFEB0 80241170 4500000C */ bc1f .L802411A4 +/* CAFEB4 80241174 00000000 */ nop +/* CAFEB8 80241178 4618D03C */ c.lt.s $f26, $f24 +/* CAFEBC 8024117C 00000000 */ nop +/* CAFEC0 80241180 45000006 */ bc1f .L8024119C +/* CAFEC4 80241184 00000000 */ nop +/* CAFEC8 80241188 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFECC 8024118C C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFED0 80241190 8FA60020 */ lw $a2, 0x20($sp) +/* CAFED4 80241194 080904A2 */ j .L80241288 +/* CAFED8 80241198 8FA70028 */ lw $a3, 0x28($sp) +.L8024119C: +/* CAFEDC 8024119C 4616C03C */ c.lt.s $f24, $f22 +/* CAFEE0 802411A0 00000000 */ nop +.L802411A4: +/* CAFEE4 802411A4 4500000A */ bc1f .L802411D0 +/* CAFEE8 802411A8 00000000 */ nop +/* CAFEEC 802411AC 461AC03C */ c.lt.s $f24, $f26 +/* CAFEF0 802411B0 00000000 */ nop +/* CAFEF4 802411B4 45000006 */ bc1f .L802411D0 +/* CAFEF8 802411B8 00000000 */ nop +/* CAFEFC 802411BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFF00 802411C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFF04 802411C4 8FA60020 */ lw $a2, 0x20($sp) +/* CAFF08 802411C8 080904A2 */ j .L80241288 +/* CAFF0C 802411CC 8FA70028 */ lw $a3, 0x28($sp) +.L802411D0: +/* CAFF10 802411D0 4618B03C */ c.lt.s $f22, $f24 +/* CAFF14 802411D4 00000000 */ nop +/* CAFF18 802411D8 4500000A */ bc1f .L80241204 +/* CAFF1C 802411DC 00000000 */ nop +/* CAFF20 802411E0 4616D03C */ c.lt.s $f26, $f22 +/* CAFF24 802411E4 00000000 */ nop +/* CAFF28 802411E8 45000006 */ bc1f .L80241204 +/* CAFF2C 802411EC 00000000 */ nop +/* CAFF30 802411F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFF34 802411F4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFF38 802411F8 8FA6002C */ lw $a2, 0x2c($sp) +/* CAFF3C 802411FC 080904A2 */ j .L80241288 +/* CAFF40 80241200 8FA70034 */ lw $a3, 0x34($sp) +.L80241204: +/* CAFF44 80241204 4618D03C */ c.lt.s $f26, $f24 +/* CAFF48 80241208 00000000 */ nop +/* CAFF4C 8024120C 4500000A */ bc1f .L80241238 +/* CAFF50 80241210 00000000 */ nop +/* CAFF54 80241214 461AB03C */ c.lt.s $f22, $f26 +/* CAFF58 80241218 00000000 */ nop +/* CAFF5C 8024121C 45000008 */ bc1f .L80241240 +/* CAFF60 80241220 00000000 */ nop +/* CAFF64 80241224 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFF68 80241228 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFF6C 8024122C 8FA6002C */ lw $a2, 0x2c($sp) +/* CAFF70 80241230 080904A2 */ j .L80241288 +/* CAFF74 80241234 8FA70034 */ lw $a3, 0x34($sp) +.L80241238: +/* CAFF78 80241238 461AB03C */ c.lt.s $f22, $f26 +/* CAFF7C 8024123C 00000000 */ nop +.L80241240: +/* CAFF80 80241240 45000005 */ bc1f .L80241258 +/* CAFF84 80241244 00000000 */ nop +/* CAFF88 80241248 4616C03C */ c.lt.s $f24, $f22 +/* CAFF8C 8024124C 00000000 */ nop +/* CAFF90 80241250 45010009 */ bc1t .L80241278 +/* CAFF94 80241254 00000000 */ nop +.L80241258: +/* CAFF98 80241258 461AC03C */ c.lt.s $f24, $f26 +/* CAFF9C 8024125C 00000000 */ nop +/* CAFFA0 80241260 4500000C */ bc1f .L80241294 +/* CAFFA4 80241264 00000000 */ nop +/* CAFFA8 80241268 4618B03C */ c.lt.s $f22, $f24 +/* CAFFAC 8024126C 00000000 */ nop +/* CAFFB0 80241270 45000008 */ bc1f .L80241294 +/* CAFFB4 80241274 00000000 */ nop +.L80241278: +/* CAFFB8 80241278 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CAFFBC 8024127C C60E0040 */ lwc1 $f14, 0x40($s0) +/* CAFFC0 80241280 8FA60038 */ lw $a2, 0x38($sp) +/* CAFFC4 80241284 8FA70040 */ lw $a3, 0x40($sp) +.L80241288: +/* CAFFC8 80241288 0C00A720 */ jal atan2 +/* CAFFCC 8024128C 00000000 */ nop +/* CAFFD0 80241290 46000506 */ mov.s $f20, $f0 +.L80241294: +/* CAFFD4 80241294 C60C000C */ lwc1 $f12, 0xc($s0) +/* CAFFD8 80241298 0C00A70A */ jal get_clamped_angle_diff +/* CAFFDC 8024129C 4600A386 */ mov.s $f14, $f20 +/* CAFFE0 802412A0 46000086 */ mov.s $f2, $f0 +/* CAFFE4 802412A4 8E22001C */ lw $v0, 0x1c($s1) +/* CAFFE8 802412A8 46001005 */ abs.s $f0, $f2 +/* CAFFEC 802412AC 44822000 */ mtc1 $v0, $f4 +/* CAFFF0 802412B0 00000000 */ nop +/* CAFFF4 802412B4 46802120 */ cvt.s.w $f4, $f4 +/* CAFFF8 802412B8 4600203C */ c.lt.s $f4, $f0 +/* CAFFFC 802412BC 00000000 */ nop +/* CB0000 802412C0 4500000D */ bc1f .L802412F8 +/* CB0004 802412C4 00000000 */ nop +/* CB0008 802412C8 44800000 */ mtc1 $zero, $f0 +/* CB000C 802412CC C614000C */ lwc1 $f20, 0xc($s0) +/* CB0010 802412D0 4600103C */ c.lt.s $f2, $f0 +/* CB0014 802412D4 00000000 */ nop +/* CB0018 802412D8 45000006 */ bc1f .L802412F4 +/* CB001C 802412DC 00021023 */ negu $v0, $v0 +/* CB0020 802412E0 44820000 */ mtc1 $v0, $f0 +/* CB0024 802412E4 00000000 */ nop +/* CB0028 802412E8 46800020 */ cvt.s.w $f0, $f0 +/* CB002C 802412EC 080904BE */ j .L802412F8 +/* CB0030 802412F0 4600A500 */ add.s $f20, $f20, $f0 +.L802412F4: +/* CB0034 802412F4 4604A500 */ add.s $f20, $f20, $f4 +.L802412F8: +/* CB0038 802412F8 0C00A6C9 */ jal clamp_angle +/* CB003C 802412FC 4600A306 */ mov.s $f12, $f20 +/* CB0040 80241300 E600000C */ swc1 $f0, 0xc($s0) +.L80241304: +/* CB0044 80241304 12600005 */ beqz $s3, .L8024131C +/* CB0048 80241308 2402000A */ addiu $v0, $zero, 0xa +.L8024130C: +/* CB004C 8024130C A602008E */ sh $v0, 0x8e($s0) +/* CB0050 80241310 8E4200CC */ lw $v0, 0xcc($s2) +/* CB0054 80241314 8C420020 */ lw $v0, 0x20($v0) +/* CB0058 80241318 AE020028 */ sw $v0, 0x28($s0) +.L8024131C: +/* CB005C 8024131C 2402000D */ addiu $v0, $zero, 0xd +/* CB0060 80241320 AEC20070 */ sw $v0, 0x70($s6) +/* CB0064 80241324 8FBF0064 */ lw $ra, 0x64($sp) +/* CB0068 80241328 8FB60060 */ lw $s6, 0x60($sp) +/* CB006C 8024132C 8FB5005C */ lw $s5, 0x5c($sp) +/* CB0070 80241330 8FB40058 */ lw $s4, 0x58($sp) +/* CB0074 80241334 8FB30054 */ lw $s3, 0x54($sp) +/* CB0078 80241338 8FB20050 */ lw $s2, 0x50($sp) +/* CB007C 8024133C 8FB1004C */ lw $s1, 0x4c($sp) +/* CB0080 80241340 8FB00048 */ lw $s0, 0x48($sp) +/* CB0084 80241344 D7BE0090 */ ldc1 $f30, 0x90($sp) +/* CB0088 80241348 D7BC0088 */ ldc1 $f28, 0x88($sp) +/* CB008C 8024134C D7BA0080 */ ldc1 $f26, 0x80($sp) +/* CB0090 80241350 D7B80078 */ ldc1 $f24, 0x78($sp) +/* CB0094 80241354 D7B60070 */ ldc1 $f22, 0x70($sp) +/* CB0098 80241358 D7B40068 */ ldc1 $f20, 0x68($sp) +/* CB009C 8024135C 03E00008 */ jr $ra +/* CB00A0 80241360 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241364_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241364_CAED40.s new file mode 100644 index 0000000000..6d795db7a2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241364_CAED40.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241364_CB00A4 +/* CB00A4 80241364 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CB00A8 80241368 AFB3003C */ sw $s3, 0x3c($sp) +/* CB00AC 8024136C 0080982D */ daddu $s3, $a0, $zero +/* CB00B0 80241370 AFBF0040 */ sw $ra, 0x40($sp) +/* CB00B4 80241374 AFB20038 */ sw $s2, 0x38($sp) +/* CB00B8 80241378 AFB10034 */ sw $s1, 0x34($sp) +/* CB00BC 8024137C AFB00030 */ sw $s0, 0x30($sp) +/* CB00C0 80241380 8E720148 */ lw $s2, 0x148($s3) +/* CB00C4 80241384 00A0882D */ daddu $s1, $a1, $zero +/* CB00C8 80241388 86440008 */ lh $a0, 8($s2) +/* CB00CC 8024138C 0C00EABB */ jal get_npc_unsafe +/* CB00D0 80241390 00C0802D */ daddu $s0, $a2, $zero +/* CB00D4 80241394 0200202D */ daddu $a0, $s0, $zero +/* CB00D8 80241398 0240282D */ daddu $a1, $s2, $zero +/* CB00DC 8024139C 24030001 */ addiu $v1, $zero, 1 +/* CB00E0 802413A0 AFA30010 */ sw $v1, 0x10($sp) +/* CB00E4 802413A4 8E260024 */ lw $a2, 0x24($s1) +/* CB00E8 802413A8 8E270028 */ lw $a3, 0x28($s1) +/* CB00EC 802413AC 0C01242D */ jal func_800490B4 +/* CB00F0 802413B0 0040802D */ daddu $s0, $v0, $zero +/* CB00F4 802413B4 1440001D */ bnez $v0, .L8024142C +/* CB00F8 802413B8 24040002 */ addiu $a0, $zero, 2 +/* CB00FC 802413BC 0200282D */ daddu $a1, $s0, $zero +/* CB0100 802413C0 0000302D */ daddu $a2, $zero, $zero +/* CB0104 802413C4 860300A8 */ lh $v1, 0xa8($s0) +/* CB0108 802413C8 3C013F80 */ lui $at, 0x3f80 +/* CB010C 802413CC 44810000 */ mtc1 $at, $f0 +/* CB0110 802413D0 3C014000 */ lui $at, 0x4000 +/* CB0114 802413D4 44811000 */ mtc1 $at, $f2 +/* CB0118 802413D8 3C01C1A0 */ lui $at, 0xc1a0 +/* CB011C 802413DC 44812000 */ mtc1 $at, $f4 +/* CB0120 802413E0 2402000F */ addiu $v0, $zero, 0xf +/* CB0124 802413E4 AFA2001C */ sw $v0, 0x1c($sp) +/* CB0128 802413E8 44833000 */ mtc1 $v1, $f6 +/* CB012C 802413EC 00000000 */ nop +/* CB0130 802413F0 468031A0 */ cvt.s.w $f6, $f6 +/* CB0134 802413F4 44073000 */ mfc1 $a3, $f6 +/* CB0138 802413F8 27A20028 */ addiu $v0, $sp, 0x28 +/* CB013C 802413FC AFA20020 */ sw $v0, 0x20($sp) +/* CB0140 80241400 E7A00010 */ swc1 $f0, 0x10($sp) +/* CB0144 80241404 E7A20014 */ swc1 $f2, 0x14($sp) +/* CB0148 80241408 0C01BFA4 */ jal fx_emote +/* CB014C 8024140C E7A40018 */ swc1 $f4, 0x18($sp) +/* CB0150 80241410 8E4200CC */ lw $v0, 0xcc($s2) +/* CB0154 80241414 8C430000 */ lw $v1, ($v0) +/* CB0158 80241418 24020019 */ addiu $v0, $zero, 0x19 +/* CB015C 8024141C A602008E */ sh $v0, 0x8e($s0) +/* CB0160 80241420 2402000E */ addiu $v0, $zero, 0xe +/* CB0164 80241424 0809052A */ j .L802414A8 +/* CB0168 80241428 AE030028 */ sw $v1, 0x28($s0) +.L8024142C: +/* CB016C 8024142C 8E4200CC */ lw $v0, 0xcc($s2) +/* CB0170 80241430 8E030028 */ lw $v1, 0x28($s0) +/* CB0174 80241434 8C420020 */ lw $v0, 0x20($v0) +/* CB0178 80241438 10620014 */ beq $v1, $v0, .L8024148C +/* CB017C 8024143C 00000000 */ nop +/* CB0180 80241440 C6000018 */ lwc1 $f0, 0x18($s0) +/* CB0184 80241444 3C014010 */ lui $at, 0x4010 +/* CB0188 80241448 44811800 */ mtc1 $at, $f3 +/* CB018C 8024144C 44801000 */ mtc1 $zero, $f2 +/* CB0190 80241450 46000021 */ cvt.d.s $f0, $f0 +/* CB0194 80241454 4622003C */ c.lt.d $f0, $f2 +/* CB0198 80241458 00000000 */ nop +/* CB019C 8024145C 45000003 */ bc1f .L8024146C +/* CB01A0 80241460 0000282D */ daddu $a1, $zero, $zero +/* CB01A4 80241464 0809051D */ j .L80241474 +/* CB01A8 80241468 0200202D */ daddu $a0, $s0, $zero +.L8024146C: +/* CB01AC 8024146C 0200202D */ daddu $a0, $s0, $zero +/* CB01B0 80241470 24050001 */ addiu $a1, $zero, 1 +.L80241474: +/* CB01B4 80241474 0C00F598 */ jal func_8003D660 +/* CB01B8 80241478 00000000 */ nop +/* CB01BC 8024147C 8E050018 */ lw $a1, 0x18($s0) +/* CB01C0 80241480 8E06000C */ lw $a2, 0xc($s0) +/* CB01C4 80241484 0C00EA95 */ jal npc_move_heading +/* CB01C8 80241488 0200202D */ daddu $a0, $s0, $zero +.L8024148C: +/* CB01CC 8024148C 8602008E */ lh $v0, 0x8e($s0) +/* CB01D0 80241490 9603008E */ lhu $v1, 0x8e($s0) +/* CB01D4 80241494 18400003 */ blez $v0, .L802414A4 +/* CB01D8 80241498 2462FFFF */ addiu $v0, $v1, -1 +/* CB01DC 8024149C 0809052B */ j .L802414AC +/* CB01E0 802414A0 A602008E */ sh $v0, 0x8e($s0) +.L802414A4: +/* CB01E4 802414A4 2402000C */ addiu $v0, $zero, 0xc +.L802414A8: +/* CB01E8 802414A8 AE620070 */ sw $v0, 0x70($s3) +.L802414AC: +/* CB01EC 802414AC 8FBF0040 */ lw $ra, 0x40($sp) +/* CB01F0 802414B0 8FB3003C */ lw $s3, 0x3c($sp) +/* CB01F4 802414B4 8FB20038 */ lw $s2, 0x38($sp) +/* CB01F8 802414B8 8FB10034 */ lw $s1, 0x34($sp) +/* CB01FC 802414BC 8FB00030 */ lw $s0, 0x30($sp) +/* CB0200 802414C0 03E00008 */ jr $ra +/* CB0204 802414C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802414C8_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802414C8_CAED40.s new file mode 100644 index 0000000000..5c9594de00 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802414C8_CAED40.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C8_CB0208 +/* CB0208 802414C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB020C 802414CC AFB00010 */ sw $s0, 0x10($sp) +/* CB0210 802414D0 0080802D */ daddu $s0, $a0, $zero +/* CB0214 802414D4 AFBF0014 */ sw $ra, 0x14($sp) +/* CB0218 802414D8 8E020148 */ lw $v0, 0x148($s0) +/* CB021C 802414DC 0C00EABB */ jal get_npc_unsafe +/* CB0220 802414E0 84440008 */ lh $a0, 8($v0) +/* CB0224 802414E4 9443008E */ lhu $v1, 0x8e($v0) +/* CB0228 802414E8 2463FFFF */ addiu $v1, $v1, -1 +/* CB022C 802414EC A443008E */ sh $v1, 0x8e($v0) +/* CB0230 802414F0 00031C00 */ sll $v1, $v1, 0x10 +/* CB0234 802414F4 50600001 */ beql $v1, $zero, .L802414FC +/* CB0238 802414F8 AE000070 */ sw $zero, 0x70($s0) +.L802414FC: +/* CB023C 802414FC 8FBF0014 */ lw $ra, 0x14($sp) +/* CB0240 80241500 8FB00010 */ lw $s0, 0x10($sp) +/* CB0244 80241504 03E00008 */ jr $ra +/* CB0248 80241508 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_8024150C_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_8024150C_CAED40.s new file mode 100644 index 0000000000..4623b9a4f6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_8024150C_CAED40.s @@ -0,0 +1,151 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024150C_CB024C +/* CB024C 8024150C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CB0250 80241510 AFB40040 */ sw $s4, 0x40($sp) +/* CB0254 80241514 0080A02D */ daddu $s4, $a0, $zero +/* CB0258 80241518 AFBF0048 */ sw $ra, 0x48($sp) +/* CB025C 8024151C AFB50044 */ sw $s5, 0x44($sp) +/* CB0260 80241520 AFB3003C */ sw $s3, 0x3c($sp) +/* CB0264 80241524 AFB20038 */ sw $s2, 0x38($sp) +/* CB0268 80241528 AFB10034 */ sw $s1, 0x34($sp) +/* CB026C 8024152C AFB00030 */ sw $s0, 0x30($sp) +/* CB0270 80241530 8E910148 */ lw $s1, 0x148($s4) +/* CB0274 80241534 86240008 */ lh $a0, 8($s1) +/* CB0278 80241538 0C00EABB */ jal get_npc_unsafe +/* CB027C 8024153C 00A0802D */ daddu $s0, $a1, $zero +/* CB0280 80241540 8E83000C */ lw $v1, 0xc($s4) +/* CB0284 80241544 0280202D */ daddu $a0, $s4, $zero +/* CB0288 80241548 8C650000 */ lw $a1, ($v1) +/* CB028C 8024154C 0C0B1EAF */ jal get_variable +/* CB0290 80241550 0040A82D */ daddu $s5, $v0, $zero +/* CB0294 80241554 AFA00010 */ sw $zero, 0x10($sp) +/* CB0298 80241558 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB029C 8024155C 8C630030 */ lw $v1, 0x30($v1) +/* CB02A0 80241560 AFA30014 */ sw $v1, 0x14($sp) +/* CB02A4 80241564 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB02A8 80241568 8C63001C */ lw $v1, 0x1c($v1) +/* CB02AC 8024156C AFA30018 */ sw $v1, 0x18($sp) +/* CB02B0 80241570 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB02B4 80241574 8C630024 */ lw $v1, 0x24($v1) +/* CB02B8 80241578 AFA3001C */ sw $v1, 0x1c($sp) +/* CB02BC 8024157C 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB02C0 80241580 8C630028 */ lw $v1, 0x28($v1) +/* CB02C4 80241584 27B30010 */ addiu $s3, $sp, 0x10 +/* CB02C8 80241588 AFA30020 */ sw $v1, 0x20($sp) +/* CB02CC 8024158C 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB02D0 80241590 3C0142C8 */ lui $at, 0x42c8 +/* CB02D4 80241594 44810000 */ mtc1 $at, $f0 +/* CB02D8 80241598 8C63002C */ lw $v1, 0x2c($v1) +/* CB02DC 8024159C 0040902D */ daddu $s2, $v0, $zero +/* CB02E0 802415A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CB02E4 802415A4 A7A0002C */ sh $zero, 0x2c($sp) +/* CB02E8 802415A8 16000005 */ bnez $s0, .L802415C0 +/* CB02EC 802415AC AFA30024 */ sw $v1, 0x24($sp) +/* CB02F0 802415B0 8E2200B0 */ lw $v0, 0xb0($s1) +/* CB02F4 802415B4 30420004 */ andi $v0, $v0, 4 +/* CB02F8 802415B8 1040001F */ beqz $v0, .L80241638 +/* CB02FC 802415BC 00000000 */ nop +.L802415C0: +/* CB0300 802415C0 2404F7FF */ addiu $a0, $zero, -0x801 +/* CB0304 802415C4 AE800070 */ sw $zero, 0x70($s4) +/* CB0308 802415C8 A6A0008E */ sh $zero, 0x8e($s5) +/* CB030C 802415CC 8E2200CC */ lw $v0, 0xcc($s1) +/* CB0310 802415D0 8EA30000 */ lw $v1, ($s5) +/* CB0314 802415D4 8C420000 */ lw $v0, ($v0) +/* CB0318 802415D8 00641824 */ and $v1, $v1, $a0 +/* CB031C 802415DC AEA30000 */ sw $v1, ($s5) +/* CB0320 802415E0 AEA20028 */ sw $v0, 0x28($s5) +/* CB0324 802415E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB0328 802415E8 8C420034 */ lw $v0, 0x34($v0) +/* CB032C 802415EC 54400005 */ bnel $v0, $zero, .L80241604 +/* CB0330 802415F0 2402FDFF */ addiu $v0, $zero, -0x201 +/* CB0334 802415F4 34620200 */ ori $v0, $v1, 0x200 +/* CB0338 802415F8 2403FFF7 */ addiu $v1, $zero, -9 +/* CB033C 802415FC 08090583 */ j .L8024160C +/* CB0340 80241600 00431024 */ and $v0, $v0, $v1 +.L80241604: +/* CB0344 80241604 00621024 */ and $v0, $v1, $v0 +/* CB0348 80241608 34420008 */ ori $v0, $v0, 8 +.L8024160C: +/* CB034C 8024160C AEA20000 */ sw $v0, ($s5) +/* CB0350 80241610 8E2200B0 */ lw $v0, 0xb0($s1) +/* CB0354 80241614 30420004 */ andi $v0, $v0, 4 +/* CB0358 80241618 10400007 */ beqz $v0, .L80241638 +/* CB035C 8024161C 24020063 */ addiu $v0, $zero, 0x63 +/* CB0360 80241620 AE820070 */ sw $v0, 0x70($s4) +/* CB0364 80241624 AE800074 */ sw $zero, 0x74($s4) +/* CB0368 80241628 8E2200B0 */ lw $v0, 0xb0($s1) +/* CB036C 8024162C 2403FFFB */ addiu $v1, $zero, -5 +/* CB0370 80241630 00431024 */ and $v0, $v0, $v1 +/* CB0374 80241634 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241638: +/* CB0378 80241638 8E830070 */ lw $v1, 0x70($s4) +/* CB037C 8024163C 2C620064 */ sltiu $v0, $v1, 0x64 +/* CB0380 80241640 10400036 */ beqz $v0, .L8024171C +/* CB0384 80241644 00031080 */ sll $v0, $v1, 2 +/* CB0388 80241648 3C018024 */ lui $at, 0x8024 +/* CB038C 8024164C 00220821 */ addu $at, $at, $v0 +/* CB0390 80241650 8C226130 */ lw $v0, 0x6130($at) +/* CB0394 80241654 00400008 */ jr $v0 +/* CB0398 80241658 00000000 */ nop +/* CB039C 8024165C 0280202D */ daddu $a0, $s4, $zero +/* CB03A0 80241660 0240282D */ daddu $a1, $s2, $zero +/* CB03A4 80241664 0C012568 */ jal func_800495A0 +/* CB03A8 80241668 0260302D */ daddu $a2, $s3, $zero +/* CB03AC 8024166C 0280202D */ daddu $a0, $s4, $zero +/* CB03B0 80241670 0240282D */ daddu $a1, $s2, $zero +/* CB03B4 80241674 0C0125AE */ jal func_800496B8 +/* CB03B8 80241678 0260302D */ daddu $a2, $s3, $zero +/* CB03BC 8024167C 080905C7 */ j .L8024171C +/* CB03C0 80241680 00000000 */ nop +/* CB03C4 80241684 0280202D */ daddu $a0, $s4, $zero +/* CB03C8 80241688 0240282D */ daddu $a1, $s2, $zero +/* CB03CC 8024168C 0C0126D1 */ jal func_80049B44 +/* CB03D0 80241690 0260302D */ daddu $a2, $s3, $zero +/* CB03D4 80241694 0280202D */ daddu $a0, $s4, $zero +/* CB03D8 80241698 0240282D */ daddu $a1, $s2, $zero +/* CB03DC 8024169C 0C012701 */ jal func_80049C04 +/* CB03E0 802416A0 0260302D */ daddu $a2, $s3, $zero +/* CB03E4 802416A4 080905C7 */ j .L8024171C +/* CB03E8 802416A8 00000000 */ nop +/* CB03EC 802416AC 0280202D */ daddu $a0, $s4, $zero +/* CB03F0 802416B0 0240282D */ daddu $a1, $s2, $zero +/* CB03F4 802416B4 0C01278F */ jal func_80049E3C +/* CB03F8 802416B8 0260302D */ daddu $a2, $s3, $zero +/* CB03FC 802416BC 0280202D */ daddu $a0, $s4, $zero +/* CB0400 802416C0 0240282D */ daddu $a1, $s2, $zero +/* CB0404 802416C4 0C0127B3 */ jal func_80049ECC +/* CB0408 802416C8 0260302D */ daddu $a2, $s3, $zero +/* CB040C 802416CC 080905C7 */ j .L8024171C +/* CB0410 802416D0 00000000 */ nop +/* CB0414 802416D4 0280202D */ daddu $a0, $s4, $zero +/* CB0418 802416D8 0240282D */ daddu $a1, $s2, $zero +/* CB041C 802416DC 0C090360 */ jal func_80240D80 +/* CB0420 802416E0 0260302D */ daddu $a2, $s3, $zero +/* CB0424 802416E4 0280202D */ daddu $a0, $s4, $zero +/* CB0428 802416E8 0240282D */ daddu $a1, $s2, $zero +/* CB042C 802416EC 0C0904D9 */ jal func_80241364 +/* CB0430 802416F0 0260302D */ daddu $a2, $s3, $zero +/* CB0434 802416F4 080905C7 */ j .L8024171C +/* CB0438 802416F8 00000000 */ nop +/* CB043C 802416FC 0280202D */ daddu $a0, $s4, $zero +/* CB0440 80241700 0240282D */ daddu $a1, $s2, $zero +/* CB0444 80241704 0C090532 */ jal func_802414C8 +/* CB0448 80241708 0260302D */ daddu $a2, $s3, $zero +/* CB044C 8024170C 080905C7 */ j .L8024171C +/* CB0450 80241710 00000000 */ nop +/* CB0454 80241714 0C0129CF */ jal func_8004A73C +/* CB0458 80241718 0280202D */ daddu $a0, $s4, $zero +.L8024171C: +/* CB045C 8024171C 8FBF0048 */ lw $ra, 0x48($sp) +/* CB0460 80241720 8FB50044 */ lw $s5, 0x44($sp) +/* CB0464 80241724 8FB40040 */ lw $s4, 0x40($sp) +/* CB0468 80241728 8FB3003C */ lw $s3, 0x3c($sp) +/* CB046C 8024172C 8FB20038 */ lw $s2, 0x38($sp) +/* CB0470 80241730 8FB10034 */ lw $s1, 0x34($sp) +/* CB0474 80241734 8FB00030 */ lw $s0, 0x30($sp) +/* CB0478 80241738 0000102D */ daddu $v0, $zero, $zero +/* CB047C 8024173C 03E00008 */ jr $ra +/* CB0480 80241740 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241744_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241744_CAED40.s new file mode 100644 index 0000000000..3863931c86 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241744_CAED40.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241744_CB0484 +/* CB0484 80241744 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB0488 80241748 AFB10014 */ sw $s1, 0x14($sp) +/* CB048C 8024174C 0080882D */ daddu $s1, $a0, $zero +/* CB0490 80241750 AFBF0018 */ sw $ra, 0x18($sp) +/* CB0494 80241754 AFB00010 */ sw $s0, 0x10($sp) +/* CB0498 80241758 8E30000C */ lw $s0, 0xc($s1) +/* CB049C 8024175C 8E050000 */ lw $a1, ($s0) +/* CB04A0 80241760 0C0B1EAF */ jal get_variable +/* CB04A4 80241764 26100004 */ addiu $s0, $s0, 4 +/* CB04A8 80241768 0C00EAD2 */ jal get_npc_safe +/* CB04AC 8024176C 0040202D */ daddu $a0, $v0, $zero +/* CB04B0 80241770 10400005 */ beqz $v0, .L80241788 +/* CB04B4 80241774 00000000 */ nop +/* CB04B8 80241778 8E050000 */ lw $a1, ($s0) +/* CB04BC 8024177C 844600A8 */ lh $a2, 0xa8($v0) +/* CB04C0 80241780 0C0B2026 */ jal set_variable +/* CB04C4 80241784 0220202D */ daddu $a0, $s1, $zero +.L80241788: +/* CB04C8 80241788 8FBF0018 */ lw $ra, 0x18($sp) +/* CB04CC 8024178C 8FB10014 */ lw $s1, 0x14($sp) +/* CB04D0 80241790 8FB00010 */ lw $s0, 0x10($sp) +/* CB04D4 80241794 24020002 */ addiu $v0, $zero, 2 +/* CB04D8 80241798 03E00008 */ jr $ra +/* CB04DC 8024179C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802417A0_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802417A0_CAED40.s new file mode 100644 index 0000000000..937e8173ab --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802417A0_CAED40.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A0_CB04E0 +/* CB04E0 802417A0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CB04E4 802417A4 AFB10014 */ sw $s1, 0x14($sp) +/* CB04E8 802417A8 0080882D */ daddu $s1, $a0, $zero +/* CB04EC 802417AC AFBF0024 */ sw $ra, 0x24($sp) +/* CB04F0 802417B0 AFB40020 */ sw $s4, 0x20($sp) +/* CB04F4 802417B4 AFB3001C */ sw $s3, 0x1c($sp) +/* CB04F8 802417B8 AFB20018 */ sw $s2, 0x18($sp) +/* CB04FC 802417BC AFB00010 */ sw $s0, 0x10($sp) +/* CB0500 802417C0 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CB0504 802417C4 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CB0508 802417C8 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CB050C 802417CC F7B60030 */ sdc1 $f22, 0x30($sp) +/* CB0510 802417D0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CB0514 802417D4 8E30000C */ lw $s0, 0xc($s1) +/* CB0518 802417D8 8E130000 */ lw $s3, ($s0) +/* CB051C 802417DC 26100004 */ addiu $s0, $s0, 4 +/* CB0520 802417E0 0C0B1EAF */ jal get_variable +/* CB0524 802417E4 0260282D */ daddu $a1, $s3, $zero +/* CB0528 802417E8 4482E000 */ mtc1 $v0, $f28 +/* CB052C 802417EC 00000000 */ nop +/* CB0530 802417F0 4680E720 */ cvt.s.w $f28, $f28 +/* CB0534 802417F4 8E140000 */ lw $s4, ($s0) +/* CB0538 802417F8 26100004 */ addiu $s0, $s0, 4 +/* CB053C 802417FC 0220202D */ daddu $a0, $s1, $zero +/* CB0540 80241800 0C0B1EAF */ jal get_variable +/* CB0544 80241804 0280282D */ daddu $a1, $s4, $zero +/* CB0548 80241808 4482D000 */ mtc1 $v0, $f26 +/* CB054C 8024180C 00000000 */ nop +/* CB0550 80241810 4680D6A0 */ cvt.s.w $f26, $f26 +/* CB0554 80241814 8E100000 */ lw $s0, ($s0) +/* CB0558 80241818 0220202D */ daddu $a0, $s1, $zero +/* CB055C 8024181C 0C0B1EAF */ jal get_variable +/* CB0560 80241820 0200282D */ daddu $a1, $s0, $zero +/* CB0564 80241824 4482C000 */ mtc1 $v0, $f24 +/* CB0568 80241828 00000000 */ nop +/* CB056C 8024182C 4680C620 */ cvt.s.w $f24, $f24 +/* CB0570 80241830 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CB0574 80241834 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CB0578 80241838 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CB057C 8024183C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CB0580 80241840 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CB0584 80241844 44800000 */ mtc1 $zero, $f0 +/* CB0588 80241848 00031080 */ sll $v0, $v1, 2 +/* CB058C 8024184C 00431021 */ addu $v0, $v0, $v1 +/* CB0590 80241850 00021080 */ sll $v0, $v0, 2 +/* CB0594 80241854 00431023 */ subu $v0, $v0, $v1 +/* CB0598 80241858 000218C0 */ sll $v1, $v0, 3 +/* CB059C 8024185C 00431021 */ addu $v0, $v0, $v1 +/* CB05A0 80241860 000210C0 */ sll $v0, $v0, 3 +/* CB05A4 80241864 46001032 */ c.eq.s $f2, $f0 +/* CB05A8 80241868 3C01800B */ lui $at, 0x800b +/* CB05AC 8024186C 00220821 */ addu $at, $at, $v0 +/* CB05B0 80241870 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CB05B4 80241874 45000005 */ bc1f .L8024188C +/* CB05B8 80241878 00000000 */ nop +/* CB05BC 8024187C 3C0142C8 */ lui $at, 0x42c8 +/* CB05C0 80241880 44810000 */ mtc1 $at, $f0 +/* CB05C4 80241884 08090627 */ j .L8024189C +/* CB05C8 80241888 4600B581 */ sub.s $f22, $f22, $f0 +.L8024188C: +/* CB05CC 8024188C 3C0142C8 */ lui $at, 0x42c8 +/* CB05D0 80241890 44810000 */ mtc1 $at, $f0 +/* CB05D4 80241894 00000000 */ nop +/* CB05D8 80241898 4600B580 */ add.s $f22, $f22, $f0 +.L8024189C: +/* CB05DC 8024189C 0C00A6C9 */ jal clamp_angle +/* CB05E0 802418A0 4600B306 */ mov.s $f12, $f22 +/* CB05E4 802418A4 46000586 */ mov.s $f22, $f0 +/* CB05E8 802418A8 3C014170 */ lui $at, 0x4170 +/* CB05EC 802418AC 4481A000 */ mtc1 $at, $f20 +/* CB05F0 802418B0 0C00A8BB */ jal sin_deg +/* CB05F4 802418B4 4600B306 */ mov.s $f12, $f22 +/* CB05F8 802418B8 46140002 */ mul.s $f0, $f0, $f20 +/* CB05FC 802418BC 00000000 */ nop +/* CB0600 802418C0 864200B0 */ lh $v0, 0xb0($s2) +/* CB0604 802418C4 3C013F00 */ lui $at, 0x3f00 +/* CB0608 802418C8 44812000 */ mtc1 $at, $f4 +/* CB060C 802418CC 44821000 */ mtc1 $v0, $f2 +/* CB0610 802418D0 00000000 */ nop +/* CB0614 802418D4 468010A0 */ cvt.s.w $f2, $f2 +/* CB0618 802418D8 46041082 */ mul.s $f2, $f2, $f4 +/* CB061C 802418DC 00000000 */ nop +/* CB0620 802418E0 4600E700 */ add.s $f28, $f28, $f0 +/* CB0624 802418E4 4602D680 */ add.s $f26, $f26, $f2 +/* CB0628 802418E8 0C00A8D4 */ jal cos_deg +/* CB062C 802418EC 4600B306 */ mov.s $f12, $f22 +/* CB0630 802418F0 46140002 */ mul.s $f0, $f0, $f20 +/* CB0634 802418F4 00000000 */ nop +/* CB0638 802418F8 0220202D */ daddu $a0, $s1, $zero +/* CB063C 802418FC 0260282D */ daddu $a1, $s3, $zero +/* CB0640 80241900 4600E18D */ trunc.w.s $f6, $f28 +/* CB0644 80241904 44063000 */ mfc1 $a2, $f6 +/* CB0648 80241908 0C0B2026 */ jal set_variable +/* CB064C 8024190C 4600C601 */ sub.s $f24, $f24, $f0 +/* CB0650 80241910 0220202D */ daddu $a0, $s1, $zero +/* CB0654 80241914 4600D18D */ trunc.w.s $f6, $f26 +/* CB0658 80241918 44063000 */ mfc1 $a2, $f6 +/* CB065C 8024191C 0C0B2026 */ jal set_variable +/* CB0660 80241920 0280282D */ daddu $a1, $s4, $zero +/* CB0664 80241924 0220202D */ daddu $a0, $s1, $zero +/* CB0668 80241928 4600C18D */ trunc.w.s $f6, $f24 +/* CB066C 8024192C 44063000 */ mfc1 $a2, $f6 +/* CB0670 80241930 0C0B2026 */ jal set_variable +/* CB0674 80241934 0200282D */ daddu $a1, $s0, $zero +/* CB0678 80241938 8FBF0024 */ lw $ra, 0x24($sp) +/* CB067C 8024193C 8FB40020 */ lw $s4, 0x20($sp) +/* CB0680 80241940 8FB3001C */ lw $s3, 0x1c($sp) +/* CB0684 80241944 8FB20018 */ lw $s2, 0x18($sp) +/* CB0688 80241948 8FB10014 */ lw $s1, 0x14($sp) +/* CB068C 8024194C 8FB00010 */ lw $s0, 0x10($sp) +/* CB0690 80241950 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CB0694 80241954 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CB0698 80241958 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CB069C 8024195C D7B60030 */ ldc1 $f22, 0x30($sp) +/* CB06A0 80241960 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CB06A4 80241964 24020002 */ addiu $v0, $zero, 2 +/* CB06A8 80241968 03E00008 */ jr $ra +/* CB06AC 8024196C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241970_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241970_CAED40.s new file mode 100644 index 0000000000..9671bfc811 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241970_CAED40.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241970_CB06B0 +/* CB06B0 80241970 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB06B4 80241974 AFBF0010 */ sw $ra, 0x10($sp) +/* CB06B8 80241978 10A00003 */ beqz $a1, .L80241988 +/* CB06BC 8024197C 8C86000C */ lw $a2, 0xc($a0) +/* CB06C0 80241980 3C018024 */ lui $at, 0x8024 +/* CB06C4 80241984 AC203088 */ sw $zero, 0x3088($at) +.L80241988: +/* CB06C8 80241988 3C038024 */ lui $v1, 0x8024 +/* CB06CC 8024198C 24633088 */ addiu $v1, $v1, 0x3088 +/* CB06D0 80241990 8C620000 */ lw $v0, ($v1) +/* CB06D4 80241994 54400003 */ bnel $v0, $zero, .L802419A4 +/* CB06D8 80241998 AC600000 */ sw $zero, ($v1) +/* CB06DC 8024199C 0809066E */ j .L802419B8 +/* CB06E0 802419A0 0000102D */ daddu $v0, $zero, $zero +.L802419A4: +/* CB06E4 802419A4 8CC50000 */ lw $a1, ($a2) +/* CB06E8 802419A8 3C068024 */ lui $a2, 0x8024 +/* CB06EC 802419AC 0C0B2026 */ jal set_variable +/* CB06F0 802419B0 8CC6308C */ lw $a2, 0x308c($a2) +/* CB06F4 802419B4 24020002 */ addiu $v0, $zero, 2 +.L802419B8: +/* CB06F8 802419B8 8FBF0010 */ lw $ra, 0x10($sp) +/* CB06FC 802419BC 03E00008 */ jr $ra +/* CB0700 802419C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802419C4_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_802419C4_CAED40.s new file mode 100644 index 0000000000..835e5021c3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802419C4_CAED40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419C4_CB0704 +/* CB0704 802419C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB0708 802419C8 AFBF0010 */ sw $ra, 0x10($sp) +/* CB070C 802419CC 8C82000C */ lw $v0, 0xc($a0) +/* CB0710 802419D0 0C0B1EAF */ jal get_variable +/* CB0714 802419D4 8C450000 */ lw $a1, ($v0) +/* CB0718 802419D8 3C018024 */ lui $at, 0x8024 +/* CB071C 802419DC AC22308C */ sw $v0, 0x308c($at) +/* CB0720 802419E0 24020002 */ addiu $v0, $zero, 2 +/* CB0724 802419E4 8FBF0010 */ lw $ra, 0x10($sp) +/* CB0728 802419E8 24030001 */ addiu $v1, $zero, 1 +/* CB072C 802419EC 3C018024 */ lui $at, 0x8024 +/* CB0730 802419F0 AC233088 */ sw $v1, 0x3088($at) +/* CB0734 802419F4 03E00008 */ jr $ra +/* CB0738 802419F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_802419FC.s b/asm/nonmatchings/world/area_flo/flo_08/func_802419FC.s new file mode 100644 index 0000000000..c41aa1b0cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_802419FC.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419FC +/* CB073C 802419FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB0740 80241A00 AFBF0010 */ sw $ra, 0x10($sp) +/* CB0744 80241A04 8C82000C */ lw $v0, 0xc($a0) +/* CB0748 80241A08 0C0B1EAF */ jal get_variable +/* CB074C 80241A0C 8C450000 */ lw $a1, ($v0) +/* CB0750 80241A10 0040182D */ daddu $v1, $v0, $zero +/* CB0754 80241A14 10600012 */ beqz $v1, .L80241A60 +/* CB0758 80241A18 0000202D */ daddu $a0, $zero, $zero +/* CB075C 80241A1C 8C620000 */ lw $v0, ($v1) +/* CB0760 80241A20 5040000A */ beql $v0, $zero, .L80241A4C +/* CB0764 80241A24 00041080 */ sll $v0, $a0, 2 +/* CB0768 80241A28 3C058024 */ lui $a1, 0x8024 +/* CB076C 80241A2C 24A562C0 */ addiu $a1, $a1, 0x62c0 +.L80241A30: +/* CB0770 80241A30 24630004 */ addiu $v1, $v1, 4 +/* CB0774 80241A34 24840001 */ addiu $a0, $a0, 1 +/* CB0778 80241A38 ACA20000 */ sw $v0, ($a1) +/* CB077C 80241A3C 8C620000 */ lw $v0, ($v1) +/* CB0780 80241A40 1440FFFB */ bnez $v0, .L80241A30 +/* CB0784 80241A44 24A50004 */ addiu $a1, $a1, 4 +/* CB0788 80241A48 00041080 */ sll $v0, $a0, 2 +.L80241A4C: +/* CB078C 80241A4C 3C018024 */ lui $at, 0x8024 +/* CB0790 80241A50 00220821 */ addu $at, $at, $v0 +/* CB0794 80241A54 AC2062C0 */ sw $zero, 0x62c0($at) +/* CB0798 80241A58 080906A2 */ j .L80241A88 +/* CB079C 80241A5C 00000000 */ nop +.L80241A60: +/* CB07A0 80241A60 3C038024 */ lui $v1, 0x8024 +/* CB07A4 80241A64 246362C0 */ addiu $v1, $v1, 0x62c0 +/* CB07A8 80241A68 0060282D */ daddu $a1, $v1, $zero +.L80241A6C: +/* CB07AC 80241A6C 24820080 */ addiu $v0, $a0, 0x80 +/* CB07B0 80241A70 AC620000 */ sw $v0, ($v1) +/* CB07B4 80241A74 24630004 */ addiu $v1, $v1, 4 +/* CB07B8 80241A78 24840001 */ addiu $a0, $a0, 1 +/* CB07BC 80241A7C 2882005B */ slti $v0, $a0, 0x5b +/* CB07C0 80241A80 1440FFFA */ bnez $v0, .L80241A6C +/* CB07C4 80241A84 ACA0016C */ sw $zero, 0x16c($a1) +.L80241A88: +/* CB07C8 80241A88 8FBF0010 */ lw $ra, 0x10($sp) +/* CB07CC 80241A8C 24020002 */ addiu $v0, $zero, 2 +/* CB07D0 80241A90 03E00008 */ jr $ra +/* CB07D4 80241A94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241A98.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241A98.s new file mode 100644 index 0000000000..8d6b237be4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241A98.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A98 +/* CB07D8 80241A98 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CB07DC 80241A9C AFB10014 */ sw $s1, 0x14($sp) +/* CB07E0 80241AA0 0080882D */ daddu $s1, $a0, $zero +/* CB07E4 80241AA4 AFBF0020 */ sw $ra, 0x20($sp) +/* CB07E8 80241AA8 AFB3001C */ sw $s3, 0x1c($sp) +/* CB07EC 80241AAC AFB20018 */ sw $s2, 0x18($sp) +/* CB07F0 80241AB0 AFB00010 */ sw $s0, 0x10($sp) +/* CB07F4 80241AB4 8E30000C */ lw $s0, 0xc($s1) +/* CB07F8 80241AB8 8E050000 */ lw $a1, ($s0) +/* CB07FC 80241ABC 0C0B1EAF */ jal get_variable +/* CB0800 80241AC0 26100004 */ addiu $s0, $s0, 4 +/* CB0804 80241AC4 8E050000 */ lw $a1, ($s0) +/* CB0808 80241AC8 26100004 */ addiu $s0, $s0, 4 +/* CB080C 80241ACC 0220202D */ daddu $a0, $s1, $zero +/* CB0810 80241AD0 0C0B1EAF */ jal get_variable +/* CB0814 80241AD4 0040982D */ daddu $s3, $v0, $zero +/* CB0818 80241AD8 8E050000 */ lw $a1, ($s0) +/* CB081C 80241ADC 26100004 */ addiu $s0, $s0, 4 +/* CB0820 80241AE0 0220202D */ daddu $a0, $s1, $zero +/* CB0824 80241AE4 0C0B1EAF */ jal get_variable +/* CB0828 80241AE8 0040902D */ daddu $s2, $v0, $zero +/* CB082C 80241AEC 0220202D */ daddu $a0, $s1, $zero +/* CB0830 80241AF0 8E050000 */ lw $a1, ($s0) +/* CB0834 80241AF4 0C0B1EAF */ jal get_variable +/* CB0838 80241AF8 0040882D */ daddu $s1, $v0, $zero +/* CB083C 80241AFC 0260202D */ daddu $a0, $s3, $zero +/* CB0840 80241B00 0C04C3D6 */ jal get_item_entity +/* CB0844 80241B04 0040802D */ daddu $s0, $v0, $zero +/* CB0848 80241B08 0040182D */ daddu $v1, $v0, $zero +/* CB084C 80241B0C 44920000 */ mtc1 $s2, $f0 +/* CB0850 80241B10 00000000 */ nop +/* CB0854 80241B14 46800020 */ cvt.s.w $f0, $f0 +/* CB0858 80241B18 E4600008 */ swc1 $f0, 8($v1) +/* CB085C 80241B1C 44910000 */ mtc1 $s1, $f0 +/* CB0860 80241B20 00000000 */ nop +/* CB0864 80241B24 46800020 */ cvt.s.w $f0, $f0 +/* CB0868 80241B28 E460000C */ swc1 $f0, 0xc($v1) +/* CB086C 80241B2C 44900000 */ mtc1 $s0, $f0 +/* CB0870 80241B30 00000000 */ nop +/* CB0874 80241B34 46800020 */ cvt.s.w $f0, $f0 +/* CB0878 80241B38 E4600010 */ swc1 $f0, 0x10($v1) +/* CB087C 80241B3C 8FBF0020 */ lw $ra, 0x20($sp) +/* CB0880 80241B40 8FB3001C */ lw $s3, 0x1c($sp) +/* CB0884 80241B44 8FB20018 */ lw $s2, 0x18($sp) +/* CB0888 80241B48 8FB10014 */ lw $s1, 0x14($sp) +/* CB088C 80241B4C 8FB00010 */ lw $s0, 0x10($sp) +/* CB0890 80241B50 24020002 */ addiu $v0, $zero, 2 +/* CB0894 80241B54 03E00008 */ jr $ra +/* CB0898 80241B58 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241B5C_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241B5C_CAED40.s new file mode 100644 index 0000000000..63f10f60ab --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241B5C_CAED40.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B5C_CB089C +/* CB089C 80241B5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB08A0 80241B60 AFB00010 */ sw $s0, 0x10($sp) +/* CB08A4 80241B64 0080802D */ daddu $s0, $a0, $zero +/* CB08A8 80241B68 AFBF0014 */ sw $ra, 0x14($sp) +/* CB08AC 80241B6C 8E02000C */ lw $v0, 0xc($s0) +/* CB08B0 80241B70 0C0B1EAF */ jal get_variable +/* CB08B4 80241B74 8C450000 */ lw $a1, ($v0) +/* CB08B8 80241B78 3C048008 */ lui $a0, %hi(gItemTable) +/* CB08BC 80241B7C 248478E0 */ addiu $a0, $a0, %lo(gItemTable) +/* CB08C0 80241B80 00021940 */ sll $v1, $v0, 5 +/* CB08C4 80241B84 00642021 */ addu $a0, $v1, $a0 +/* CB08C8 80241B88 240300BB */ addiu $v1, $zero, 0xbb +/* CB08CC 80241B8C 14430003 */ bne $v0, $v1, .L80241B9C +/* CB08D0 80241B90 24020002 */ addiu $v0, $zero, 2 +/* CB08D4 80241B94 080906EE */ j .L80241BB8 +/* CB08D8 80241B98 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241B9C: +/* CB08DC 80241B9C 94820018 */ lhu $v0, 0x18($a0) +/* CB08E0 80241BA0 30420080 */ andi $v0, $v0, 0x80 +/* CB08E4 80241BA4 10400003 */ beqz $v0, .L80241BB4 +/* CB08E8 80241BA8 24020001 */ addiu $v0, $zero, 1 +/* CB08EC 80241BAC 080906EE */ j .L80241BB8 +/* CB08F0 80241BB0 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241BB4: +/* CB08F4 80241BB4 AE0000A8 */ sw $zero, 0xa8($s0) +.L80241BB8: +/* CB08F8 80241BB8 8FBF0014 */ lw $ra, 0x14($sp) +/* CB08FC 80241BBC 8FB00010 */ lw $s0, 0x10($sp) +/* CB0900 80241BC0 24020002 */ addiu $v0, $zero, 2 +/* CB0904 80241BC4 03E00008 */ jr $ra +/* CB0908 80241BC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241BCC_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241BCC_CAED40.s new file mode 100644 index 0000000000..83b34842a4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241BCC_CAED40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BCC_CB090C +/* CB090C 80241BCC 2404005A */ addiu $a0, $zero, 0x5a +/* CB0910 80241BD0 3C038024 */ lui $v1, 0x8024 +/* CB0914 80241BD4 24636598 */ addiu $v1, $v1, 0x6598 +/* CB0918 80241BD8 240200DA */ addiu $v0, $zero, 0xda +.L80241BDC: +/* CB091C 80241BDC AC620000 */ sw $v0, ($v1) +/* CB0920 80241BE0 2463FFFC */ addiu $v1, $v1, -4 +/* CB0924 80241BE4 2484FFFF */ addiu $a0, $a0, -1 +/* CB0928 80241BE8 0481FFFC */ bgez $a0, .L80241BDC +/* CB092C 80241BEC 2442FFFF */ addiu $v0, $v0, -1 +/* CB0930 80241BF0 3C018024 */ lui $at, 0x8024 +/* CB0934 80241BF4 AC20659C */ sw $zero, 0x659c($at) +/* CB0938 80241BF8 03E00008 */ jr $ra +/* CB093C 80241BFC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241C00.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241C00.s new file mode 100644 index 0000000000..d90be2300a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241C00.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C00 +/* CB0940 80241C00 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CB0944 80241C04 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CB0948 80241C08 4485A000 */ mtc1 $a1, $f20 +/* CB094C 80241C0C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CB0950 80241C10 4486B000 */ mtc1 $a2, $f22 +/* CB0954 80241C14 AFB00010 */ sw $s0, 0x10($sp) +/* CB0958 80241C18 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CB095C 80241C1C 4487C000 */ mtc1 $a3, $f24 +/* CB0960 80241C20 AFBF0014 */ sw $ra, 0x14($sp) +/* CB0964 80241C24 0C019D28 */ jal guMtxIdentF +/* CB0968 80241C28 0080802D */ daddu $s0, $a0, $zero +/* CB096C 80241C2C 4616A582 */ mul.s $f22, $f20, $f22 +/* CB0970 80241C30 00000000 */ nop +/* CB0974 80241C34 4618A502 */ mul.s $f20, $f20, $f24 +/* CB0978 80241C38 00000000 */ nop +/* CB097C 80241C3C 3C013F80 */ lui $at, 0x3f80 +/* CB0980 80241C40 44810000 */ mtc1 $at, $f0 +/* CB0984 80241C44 00000000 */ nop +/* CB0988 80241C48 E6000014 */ swc1 $f0, 0x14($s0) +/* CB098C 80241C4C E6160010 */ swc1 $f22, 0x10($s0) +/* CB0990 80241C50 E6140018 */ swc1 $f20, 0x18($s0) +/* CB0994 80241C54 8FBF0014 */ lw $ra, 0x14($sp) +/* CB0998 80241C58 8FB00010 */ lw $s0, 0x10($sp) +/* CB099C 80241C5C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CB09A0 80241C60 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CB09A4 80241C64 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CB09A8 80241C68 03E00008 */ jr $ra +/* CB09AC 80241C6C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241C70_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241C70_CAED40.s new file mode 100644 index 0000000000..71204abb20 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241C70_CAED40.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C70_CB09B0 +/* CB09B0 80241C70 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CB09B4 80241C74 AFB10054 */ sw $s1, 0x54($sp) +/* CB09B8 80241C78 0080882D */ daddu $s1, $a0, $zero +/* CB09BC 80241C7C AFBF005C */ sw $ra, 0x5c($sp) +/* CB09C0 80241C80 AFB20058 */ sw $s2, 0x58($sp) +/* CB09C4 80241C84 AFB00050 */ sw $s0, 0x50($sp) +/* CB09C8 80241C88 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CB09CC 80241C8C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CB09D0 80241C90 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CB09D4 80241C94 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CB09D8 80241C98 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CB09DC 80241C9C 8E30000C */ lw $s0, 0xc($s1) +/* CB09E0 80241CA0 8E050000 */ lw $a1, ($s0) +/* CB09E4 80241CA4 0C0B1EAF */ jal get_variable +/* CB09E8 80241CA8 26100004 */ addiu $s0, $s0, 4 +/* CB09EC 80241CAC 0C046C04 */ jal get_model_list_index_from_tree_index +/* CB09F0 80241CB0 0040202D */ daddu $a0, $v0, $zero +/* CB09F4 80241CB4 8E050000 */ lw $a1, ($s0) +/* CB09F8 80241CB8 26100004 */ addiu $s0, $s0, 4 +/* CB09FC 80241CBC 0220202D */ daddu $a0, $s1, $zero +/* CB0A00 80241CC0 0C0B210B */ jal get_float_variable +/* CB0A04 80241CC4 0040902D */ daddu $s2, $v0, $zero +/* CB0A08 80241CC8 8E050000 */ lw $a1, ($s0) +/* CB0A0C 80241CCC 26100004 */ addiu $s0, $s0, 4 +/* CB0A10 80241CD0 0220202D */ daddu $a0, $s1, $zero +/* CB0A14 80241CD4 0C0B210B */ jal get_float_variable +/* CB0A18 80241CD8 46000706 */ mov.s $f28, $f0 +/* CB0A1C 80241CDC 8E050000 */ lw $a1, ($s0) +/* CB0A20 80241CE0 26100004 */ addiu $s0, $s0, 4 +/* CB0A24 80241CE4 0220202D */ daddu $a0, $s1, $zero +/* CB0A28 80241CE8 0C0B210B */ jal get_float_variable +/* CB0A2C 80241CEC 46000686 */ mov.s $f26, $f0 +/* CB0A30 80241CF0 0220202D */ daddu $a0, $s1, $zero +/* CB0A34 80241CF4 8E050000 */ lw $a1, ($s0) +/* CB0A38 80241CF8 0C0B210B */ jal get_float_variable +/* CB0A3C 80241CFC 46000586 */ mov.s $f22, $f0 +/* CB0A40 80241D00 0240202D */ daddu $a0, $s2, $zero +/* CB0A44 80241D04 0C046B4C */ jal get_model_from_list_index +/* CB0A48 80241D08 46000606 */ mov.s $f24, $f0 +/* CB0A4C 80241D0C 0040882D */ daddu $s1, $v0, $zero +/* CB0A50 80241D10 96220000 */ lhu $v0, ($s1) +/* CB0A54 80241D14 30420400 */ andi $v0, $v0, 0x400 +/* CB0A58 80241D18 1440001E */ bnez $v0, .L80241D94 +/* CB0A5C 80241D1C 26300058 */ addiu $s0, $s1, 0x58 +/* CB0A60 80241D20 4480A000 */ mtc1 $zero, $f20 +/* CB0A64 80241D24 4406B000 */ mfc1 $a2, $f22 +/* CB0A68 80241D28 4405A000 */ mfc1 $a1, $f20 +/* CB0A6C 80241D2C 4407A000 */ mfc1 $a3, $f20 +/* CB0A70 80241D30 0C019E40 */ jal guTranslateF +/* CB0A74 80241D34 0200202D */ daddu $a0, $s0, $zero +/* CB0A78 80241D38 4405E000 */ mfc1 $a1, $f28 +/* CB0A7C 80241D3C 4406D000 */ mfc1 $a2, $f26 +/* CB0A80 80241D40 4407C000 */ mfc1 $a3, $f24 +/* CB0A84 80241D44 0C090700 */ jal func_80241C00 +/* CB0A88 80241D48 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0A8C 80241D4C 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0A90 80241D50 0200282D */ daddu $a1, $s0, $zero +/* CB0A94 80241D54 0C019D80 */ jal guMtxCatF +/* CB0A98 80241D58 0200302D */ daddu $a2, $s0, $zero +/* CB0A9C 80241D5C 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0AA0 80241D60 4600B587 */ neg.s $f22, $f22 +/* CB0AA4 80241D64 4405A000 */ mfc1 $a1, $f20 +/* CB0AA8 80241D68 4406B000 */ mfc1 $a2, $f22 +/* CB0AAC 80241D6C 0C019E40 */ jal guTranslateF +/* CB0AB0 80241D70 00A0382D */ daddu $a3, $a1, $zero +/* CB0AB4 80241D74 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0AB8 80241D78 0200282D */ daddu $a1, $s0, $zero +/* CB0ABC 80241D7C 0C019D80 */ jal guMtxCatF +/* CB0AC0 80241D80 00A0302D */ daddu $a2, $a1, $zero +/* CB0AC4 80241D84 96220000 */ lhu $v0, ($s1) +/* CB0AC8 80241D88 34421400 */ ori $v0, $v0, 0x1400 +/* CB0ACC 80241D8C 08090783 */ j .L80241E0C +/* CB0AD0 80241D90 A6220000 */ sh $v0, ($s1) +.L80241D94: +/* CB0AD4 80241D94 4480A000 */ mtc1 $zero, $f20 +/* CB0AD8 80241D98 4406B000 */ mfc1 $a2, $f22 +/* CB0ADC 80241D9C 4405A000 */ mfc1 $a1, $f20 +/* CB0AE0 80241DA0 4407A000 */ mfc1 $a3, $f20 +/* CB0AE4 80241DA4 0C019E40 */ jal guTranslateF +/* CB0AE8 80241DA8 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0AEC 80241DAC 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0AF0 80241DB0 26300058 */ addiu $s0, $s1, 0x58 +/* CB0AF4 80241DB4 0200282D */ daddu $a1, $s0, $zero +/* CB0AF8 80241DB8 0C019D80 */ jal guMtxCatF +/* CB0AFC 80241DBC 0200302D */ daddu $a2, $s0, $zero +/* CB0B00 80241DC0 4405E000 */ mfc1 $a1, $f28 +/* CB0B04 80241DC4 4406D000 */ mfc1 $a2, $f26 +/* CB0B08 80241DC8 4407C000 */ mfc1 $a3, $f24 +/* CB0B0C 80241DCC 0C090700 */ jal func_80241C00 +/* CB0B10 80241DD0 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0B14 80241DD4 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0B18 80241DD8 0200282D */ daddu $a1, $s0, $zero +/* CB0B1C 80241DDC 0C019D80 */ jal guMtxCatF +/* CB0B20 80241DE0 0200302D */ daddu $a2, $s0, $zero +/* CB0B24 80241DE4 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0B28 80241DE8 4600B587 */ neg.s $f22, $f22 +/* CB0B2C 80241DEC 4405A000 */ mfc1 $a1, $f20 +/* CB0B30 80241DF0 4406B000 */ mfc1 $a2, $f22 +/* CB0B34 80241DF4 0C019E40 */ jal guTranslateF +/* CB0B38 80241DF8 00A0382D */ daddu $a3, $a1, $zero +/* CB0B3C 80241DFC 27A40010 */ addiu $a0, $sp, 0x10 +/* CB0B40 80241E00 0200282D */ daddu $a1, $s0, $zero +/* CB0B44 80241E04 0C019D80 */ jal guMtxCatF +/* CB0B48 80241E08 00A0302D */ daddu $a2, $a1, $zero +.L80241E0C: +/* CB0B4C 80241E0C 8FBF005C */ lw $ra, 0x5c($sp) +/* CB0B50 80241E10 8FB20058 */ lw $s2, 0x58($sp) +/* CB0B54 80241E14 8FB10054 */ lw $s1, 0x54($sp) +/* CB0B58 80241E18 8FB00050 */ lw $s0, 0x50($sp) +/* CB0B5C 80241E1C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CB0B60 80241E20 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CB0B64 80241E24 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CB0B68 80241E28 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CB0B6C 80241E2C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CB0B70 80241E30 24020002 */ addiu $v0, $zero, 2 +/* CB0B74 80241E34 03E00008 */ jr $ra +/* CB0B78 80241E38 27BD0088 */ addiu $sp, $sp, 0x88 +/* CB0B7C 80241E3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_08/func_80241E40_CAED40.s b/asm/nonmatchings/world/area_flo/flo_08/func_80241E40_CAED40.s new file mode 100644 index 0000000000..220ed73b7f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_08/func_80241E40_CAED40.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E40_CB0B80 +/* CB0B80 80241E40 8C820084 */ lw $v0, 0x84($a0) +/* CB0B84 80241E44 8C830090 */ lw $v1, 0x90($a0) +/* CB0B88 80241E48 00431023 */ subu $v0, $v0, $v1 +/* CB0B8C 80241E4C 44821000 */ mtc1 $v0, $f2 +/* CB0B90 80241E50 00000000 */ nop +/* CB0B94 80241E54 468010A0 */ cvt.s.w $f2, $f2 +/* CB0B98 80241E58 8C820088 */ lw $v0, 0x88($a0) +/* CB0B9C 80241E5C 8C830094 */ lw $v1, 0x94($a0) +/* CB0BA0 80241E60 46021082 */ mul.s $f2, $f2, $f2 +/* CB0BA4 80241E64 00000000 */ nop +/* CB0BA8 80241E68 00431023 */ subu $v0, $v0, $v1 +/* CB0BAC 80241E6C 44822000 */ mtc1 $v0, $f4 +/* CB0BB0 80241E70 00000000 */ nop +/* CB0BB4 80241E74 46802120 */ cvt.s.w $f4, $f4 +/* CB0BB8 80241E78 8C82008C */ lw $v0, 0x8c($a0) +/* CB0BBC 80241E7C 46042102 */ mul.s $f4, $f4, $f4 +/* CB0BC0 80241E80 00000000 */ nop +/* CB0BC4 80241E84 8C830098 */ lw $v1, 0x98($a0) +/* CB0BC8 80241E88 00431023 */ subu $v0, $v0, $v1 +/* CB0BCC 80241E8C 44820000 */ mtc1 $v0, $f0 +/* CB0BD0 80241E90 00000000 */ nop +/* CB0BD4 80241E94 46800020 */ cvt.s.w $f0, $f0 +/* CB0BD8 80241E98 46000002 */ mul.s $f0, $f0, $f0 +/* CB0BDC 80241E9C 00000000 */ nop +/* CB0BE0 80241EA0 46041080 */ add.s $f2, $f2, $f4 +/* CB0BE4 80241EA4 46001080 */ add.s $f2, $f2, $f0 +/* CB0BE8 80241EA8 3C014561 */ lui $at, 0x4561 +/* CB0BEC 80241EAC 44810000 */ mtc1 $at, $f0 +/* CB0BF0 80241EB0 00000000 */ nop +/* CB0BF4 80241EB4 4600103C */ c.lt.s $f2, $f0 +/* CB0BF8 80241EB8 00000000 */ nop +/* CB0BFC 80241EBC 45010002 */ bc1t .L80241EC8 +/* CB0C00 80241EC0 24020001 */ addiu $v0, $zero, 1 +/* CB0C04 80241EC4 0000102D */ daddu $v0, $zero, $zero +.L80241EC8: +/* CB0C08 80241EC8 AC820084 */ sw $v0, 0x84($a0) +/* CB0C0C 80241ECC 03E00008 */ jr $ra +/* CB0C10 80241ED0 24020002 */ addiu $v0, $zero, 2 +/* CB0C14 80241ED4 00000000 */ nop +/* CB0C18 80241ED8 00000000 */ nop +/* CB0C1C 80241EDC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240000_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240000_CB5000.s new file mode 100644 index 0000000000..bb08aa17d0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240000_CB5000.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CB5000 +/* CB5000 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB5004 80240004 24040001 */ addiu $a0, $zero, 1 +/* CB5008 80240008 0000282D */ daddu $a1, $zero, $zero +/* CB500C 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CB5010 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CB5014 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CB5018 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CB501C 8024001C 0C01CA54 */ jal func_80072950 +/* CB5020 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CB5024 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CB5028 80240028 24020002 */ addiu $v0, $zero, 2 +/* CB502C 8024002C 03E00008 */ jr $ra +/* CB5030 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CB5034 80240034 00000000 */ nop +/* CB5038 80240038 00000000 */ nop +/* CB503C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240040_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240040_CB5000.s new file mode 100644 index 0000000000..2c6e87fbd1 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240040_CB5000.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CB5040 +/* CB5040 80240040 8C820084 */ lw $v0, 0x84($a0) +/* CB5044 80240044 8C830090 */ lw $v1, 0x90($a0) +/* CB5048 80240048 00431023 */ subu $v0, $v0, $v1 +/* CB504C 8024004C 44821000 */ mtc1 $v0, $f2 +/* CB5050 80240050 00000000 */ nop +/* CB5054 80240054 468010A0 */ cvt.s.w $f2, $f2 +/* CB5058 80240058 8C820088 */ lw $v0, 0x88($a0) +/* CB505C 8024005C 8C830094 */ lw $v1, 0x94($a0) +/* CB5060 80240060 46021082 */ mul.s $f2, $f2, $f2 +/* CB5064 80240064 00000000 */ nop +/* CB5068 80240068 00431023 */ subu $v0, $v0, $v1 +/* CB506C 8024006C 44822000 */ mtc1 $v0, $f4 +/* CB5070 80240070 00000000 */ nop +/* CB5074 80240074 46802120 */ cvt.s.w $f4, $f4 +/* CB5078 80240078 8C82008C */ lw $v0, 0x8c($a0) +/* CB507C 8024007C 46042102 */ mul.s $f4, $f4, $f4 +/* CB5080 80240080 00000000 */ nop +/* CB5084 80240084 8C830098 */ lw $v1, 0x98($a0) +/* CB5088 80240088 00431023 */ subu $v0, $v0, $v1 +/* CB508C 8024008C 44820000 */ mtc1 $v0, $f0 +/* CB5090 80240090 00000000 */ nop +/* CB5094 80240094 46800020 */ cvt.s.w $f0, $f0 +/* CB5098 80240098 46000002 */ mul.s $f0, $f0, $f0 +/* CB509C 8024009C 00000000 */ nop +/* CB50A0 802400A0 46041080 */ add.s $f2, $f2, $f4 +/* CB50A4 802400A4 46001080 */ add.s $f2, $f2, $f0 +/* CB50A8 802400A8 3C014561 */ lui $at, 0x4561 +/* CB50AC 802400AC 44810000 */ mtc1 $at, $f0 +/* CB50B0 802400B0 00000000 */ nop +/* CB50B4 802400B4 4600103C */ c.lt.s $f2, $f0 +/* CB50B8 802400B8 00000000 */ nop +/* CB50BC 802400BC 45010002 */ bc1t .L802400C8 +/* CB50C0 802400C0 24020001 */ addiu $v0, $zero, 1 +/* CB50C4 802400C4 0000102D */ daddu $v0, $zero, $zero +.L802400C8: +/* CB50C8 802400C8 AC820084 */ sw $v0, 0x84($a0) +/* CB50CC 802400CC 03E00008 */ jr $ra +/* CB50D0 802400D0 24020002 */ addiu $v0, $zero, 2 +/* CB50D4 802400D4 00000000 */ nop +/* CB50D8 802400D8 00000000 */ nop +/* CB50DC 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_802400E0_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_802400E0_CB5000.s new file mode 100644 index 0000000000..326ad0f1c8 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_802400E0_CB5000.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_CB50E0 +/* CB50E0 802400E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CB50E4 802400E4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CB50E8 802400E8 4485A000 */ mtc1 $a1, $f20 +/* CB50EC 802400EC F7B60020 */ sdc1 $f22, 0x20($sp) +/* CB50F0 802400F0 4486B000 */ mtc1 $a2, $f22 +/* CB50F4 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* CB50F8 802400F8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CB50FC 802400FC 4487C000 */ mtc1 $a3, $f24 +/* CB5100 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* CB5104 80240104 0C019D28 */ jal guMtxIdentF +/* CB5108 80240108 0080802D */ daddu $s0, $a0, $zero +/* CB510C 8024010C 4616A582 */ mul.s $f22, $f20, $f22 +/* CB5110 80240110 00000000 */ nop +/* CB5114 80240114 4618A502 */ mul.s $f20, $f20, $f24 +/* CB5118 80240118 00000000 */ nop +/* CB511C 8024011C 3C013F80 */ lui $at, 0x3f80 +/* CB5120 80240120 44810000 */ mtc1 $at, $f0 +/* CB5124 80240124 00000000 */ nop +/* CB5128 80240128 E6000014 */ swc1 $f0, 0x14($s0) +/* CB512C 8024012C E6160010 */ swc1 $f22, 0x10($s0) +/* CB5130 80240130 E6140018 */ swc1 $f20, 0x18($s0) +/* CB5134 80240134 8FBF0014 */ lw $ra, 0x14($sp) +/* CB5138 80240138 8FB00010 */ lw $s0, 0x10($sp) +/* CB513C 8024013C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CB5140 80240140 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CB5144 80240144 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CB5148 80240148 03E00008 */ jr $ra +/* CB514C 8024014C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240150_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240150_CB5000.s new file mode 100644 index 0000000000..5e4230f10a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240150_CB5000.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240150_CB5150 +/* CB5150 80240150 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CB5154 80240154 AFB10054 */ sw $s1, 0x54($sp) +/* CB5158 80240158 0080882D */ daddu $s1, $a0, $zero +/* CB515C 8024015C AFBF005C */ sw $ra, 0x5c($sp) +/* CB5160 80240160 AFB20058 */ sw $s2, 0x58($sp) +/* CB5164 80240164 AFB00050 */ sw $s0, 0x50($sp) +/* CB5168 80240168 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CB516C 8024016C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CB5170 80240170 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CB5174 80240174 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CB5178 80240178 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CB517C 8024017C 8E30000C */ lw $s0, 0xc($s1) +/* CB5180 80240180 8E050000 */ lw $a1, ($s0) +/* CB5184 80240184 0C0B1EAF */ jal get_variable +/* CB5188 80240188 26100004 */ addiu $s0, $s0, 4 +/* CB518C 8024018C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CB5190 80240190 0040202D */ daddu $a0, $v0, $zero +/* CB5194 80240194 8E050000 */ lw $a1, ($s0) +/* CB5198 80240198 26100004 */ addiu $s0, $s0, 4 +/* CB519C 8024019C 0220202D */ daddu $a0, $s1, $zero +/* CB51A0 802401A0 0C0B210B */ jal get_float_variable +/* CB51A4 802401A4 0040902D */ daddu $s2, $v0, $zero +/* CB51A8 802401A8 8E050000 */ lw $a1, ($s0) +/* CB51AC 802401AC 26100004 */ addiu $s0, $s0, 4 +/* CB51B0 802401B0 0220202D */ daddu $a0, $s1, $zero +/* CB51B4 802401B4 0C0B210B */ jal get_float_variable +/* CB51B8 802401B8 46000706 */ mov.s $f28, $f0 +/* CB51BC 802401BC 8E050000 */ lw $a1, ($s0) +/* CB51C0 802401C0 26100004 */ addiu $s0, $s0, 4 +/* CB51C4 802401C4 0220202D */ daddu $a0, $s1, $zero +/* CB51C8 802401C8 0C0B210B */ jal get_float_variable +/* CB51CC 802401CC 46000686 */ mov.s $f26, $f0 +/* CB51D0 802401D0 0220202D */ daddu $a0, $s1, $zero +/* CB51D4 802401D4 8E050000 */ lw $a1, ($s0) +/* CB51D8 802401D8 0C0B210B */ jal get_float_variable +/* CB51DC 802401DC 46000586 */ mov.s $f22, $f0 +/* CB51E0 802401E0 0240202D */ daddu $a0, $s2, $zero +/* CB51E4 802401E4 0C046B4C */ jal get_model_from_list_index +/* CB51E8 802401E8 46000606 */ mov.s $f24, $f0 +/* CB51EC 802401EC 0040882D */ daddu $s1, $v0, $zero +/* CB51F0 802401F0 96220000 */ lhu $v0, ($s1) +/* CB51F4 802401F4 30420400 */ andi $v0, $v0, 0x400 +/* CB51F8 802401F8 1440001E */ bnez $v0, .L80240274 +/* CB51FC 802401FC 26300058 */ addiu $s0, $s1, 0x58 +/* CB5200 80240200 4480A000 */ mtc1 $zero, $f20 +/* CB5204 80240204 4406B000 */ mfc1 $a2, $f22 +/* CB5208 80240208 4405A000 */ mfc1 $a1, $f20 +/* CB520C 8024020C 4407A000 */ mfc1 $a3, $f20 +/* CB5210 80240210 0C019E40 */ jal guTranslateF +/* CB5214 80240214 0200202D */ daddu $a0, $s0, $zero +/* CB5218 80240218 4405E000 */ mfc1 $a1, $f28 +/* CB521C 8024021C 4406D000 */ mfc1 $a2, $f26 +/* CB5220 80240220 4407C000 */ mfc1 $a3, $f24 +/* CB5224 80240224 0C090038 */ jal func_802400E0 +/* CB5228 80240228 27A40010 */ addiu $a0, $sp, 0x10 +/* CB522C 8024022C 27A40010 */ addiu $a0, $sp, 0x10 +/* CB5230 80240230 0200282D */ daddu $a1, $s0, $zero +/* CB5234 80240234 0C019D80 */ jal guMtxCatF +/* CB5238 80240238 0200302D */ daddu $a2, $s0, $zero +/* CB523C 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* CB5240 80240240 4600B587 */ neg.s $f22, $f22 +/* CB5244 80240244 4405A000 */ mfc1 $a1, $f20 +/* CB5248 80240248 4406B000 */ mfc1 $a2, $f22 +/* CB524C 8024024C 0C019E40 */ jal guTranslateF +/* CB5250 80240250 00A0382D */ daddu $a3, $a1, $zero +/* CB5254 80240254 27A40010 */ addiu $a0, $sp, 0x10 +/* CB5258 80240258 0200282D */ daddu $a1, $s0, $zero +/* CB525C 8024025C 0C019D80 */ jal guMtxCatF +/* CB5260 80240260 00A0302D */ daddu $a2, $a1, $zero +/* CB5264 80240264 96220000 */ lhu $v0, ($s1) +/* CB5268 80240268 34421400 */ ori $v0, $v0, 0x1400 +/* CB526C 8024026C 080900BB */ j .L802402EC +/* CB5270 80240270 A6220000 */ sh $v0, ($s1) +.L80240274: +/* CB5274 80240274 4480A000 */ mtc1 $zero, $f20 +/* CB5278 80240278 4406B000 */ mfc1 $a2, $f22 +/* CB527C 8024027C 4405A000 */ mfc1 $a1, $f20 +/* CB5280 80240280 4407A000 */ mfc1 $a3, $f20 +/* CB5284 80240284 0C019E40 */ jal guTranslateF +/* CB5288 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* CB528C 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* CB5290 80240290 26300058 */ addiu $s0, $s1, 0x58 +/* CB5294 80240294 0200282D */ daddu $a1, $s0, $zero +/* CB5298 80240298 0C019D80 */ jal guMtxCatF +/* CB529C 8024029C 0200302D */ daddu $a2, $s0, $zero +/* CB52A0 802402A0 4405E000 */ mfc1 $a1, $f28 +/* CB52A4 802402A4 4406D000 */ mfc1 $a2, $f26 +/* CB52A8 802402A8 4407C000 */ mfc1 $a3, $f24 +/* CB52AC 802402AC 0C090038 */ jal func_802400E0 +/* CB52B0 802402B0 27A40010 */ addiu $a0, $sp, 0x10 +/* CB52B4 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* CB52B8 802402B8 0200282D */ daddu $a1, $s0, $zero +/* CB52BC 802402BC 0C019D80 */ jal guMtxCatF +/* CB52C0 802402C0 0200302D */ daddu $a2, $s0, $zero +/* CB52C4 802402C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CB52C8 802402C8 4600B587 */ neg.s $f22, $f22 +/* CB52CC 802402CC 4405A000 */ mfc1 $a1, $f20 +/* CB52D0 802402D0 4406B000 */ mfc1 $a2, $f22 +/* CB52D4 802402D4 0C019E40 */ jal guTranslateF +/* CB52D8 802402D8 00A0382D */ daddu $a3, $a1, $zero +/* CB52DC 802402DC 27A40010 */ addiu $a0, $sp, 0x10 +/* CB52E0 802402E0 0200282D */ daddu $a1, $s0, $zero +/* CB52E4 802402E4 0C019D80 */ jal guMtxCatF +/* CB52E8 802402E8 00A0302D */ daddu $a2, $a1, $zero +.L802402EC: +/* CB52EC 802402EC 8FBF005C */ lw $ra, 0x5c($sp) +/* CB52F0 802402F0 8FB20058 */ lw $s2, 0x58($sp) +/* CB52F4 802402F4 8FB10054 */ lw $s1, 0x54($sp) +/* CB52F8 802402F8 8FB00050 */ lw $s0, 0x50($sp) +/* CB52FC 802402FC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CB5300 80240300 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CB5304 80240304 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CB5308 80240308 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CB530C 8024030C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CB5310 80240310 24020002 */ addiu $v0, $zero, 2 +/* CB5314 80240314 03E00008 */ jr $ra +/* CB5318 80240318 27BD0088 */ addiu $sp, $sp, 0x88 +/* CB531C 8024031C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240320_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240320_CB5000.s new file mode 100644 index 0000000000..51a02ad115 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240320_CB5000.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_CB5320 +/* CB5320 80240320 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CB5324 80240324 AFB3002C */ sw $s3, 0x2c($sp) +/* CB5328 80240328 0080982D */ daddu $s3, $a0, $zero +/* CB532C 8024032C AFBF0030 */ sw $ra, 0x30($sp) +/* CB5330 80240330 AFB20028 */ sw $s2, 0x28($sp) +/* CB5334 80240334 AFB10024 */ sw $s1, 0x24($sp) +/* CB5338 80240338 AFB00020 */ sw $s0, 0x20($sp) +/* CB533C 8024033C 8E710148 */ lw $s1, 0x148($s3) +/* CB5340 80240340 86240008 */ lh $a0, 8($s1) +/* CB5344 80240344 0C00EABB */ jal get_npc_unsafe +/* CB5348 80240348 00A0902D */ daddu $s2, $a1, $zero +/* CB534C 8024034C 8E440004 */ lw $a0, 4($s2) +/* CB5350 80240350 0040802D */ daddu $s0, $v0, $zero +/* CB5354 80240354 00041FC2 */ srl $v1, $a0, 0x1f +/* CB5358 80240358 00832021 */ addu $a0, $a0, $v1 +/* CB535C 8024035C 00042043 */ sra $a0, $a0, 1 +/* CB5360 80240360 0C00A67F */ jal rand_int +/* CB5364 80240364 24840001 */ addiu $a0, $a0, 1 +/* CB5368 80240368 8E430004 */ lw $v1, 4($s2) +/* CB536C 8024036C 000327C2 */ srl $a0, $v1, 0x1f +/* CB5370 80240370 00641821 */ addu $v1, $v1, $a0 +/* CB5374 80240374 00031843 */ sra $v1, $v1, 1 +/* CB5378 80240378 00621821 */ addu $v1, $v1, $v0 +/* CB537C 8024037C A603008E */ sh $v1, 0x8e($s0) +/* CB5380 80240380 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB5384 80240384 C6000040 */ lwc1 $f0, 0x40($s0) +/* CB5388 80240388 C4640000 */ lwc1 $f4, ($v1) +/* CB538C 8024038C 46802120 */ cvt.s.w $f4, $f4 +/* CB5390 80240390 C4620008 */ lwc1 $f2, 8($v1) +/* CB5394 80240394 468010A0 */ cvt.s.w $f2, $f2 +/* CB5398 80240398 E7A00010 */ swc1 $f0, 0x10($sp) +/* CB539C 8024039C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB53A0 802403A0 44061000 */ mfc1 $a2, $f2 +/* CB53A4 802403A4 C440000C */ lwc1 $f0, 0xc($v0) +/* CB53A8 802403A8 46800020 */ cvt.s.w $f0, $f0 +/* CB53AC 802403AC E7A00014 */ swc1 $f0, 0x14($sp) +/* CB53B0 802403B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB53B4 802403B4 44052000 */ mfc1 $a1, $f4 +/* CB53B8 802403B8 C4400010 */ lwc1 $f0, 0x10($v0) +/* CB53BC 802403BC 46800020 */ cvt.s.w $f0, $f0 +/* CB53C0 802403C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CB53C4 802403C4 8C640018 */ lw $a0, 0x18($v1) +/* CB53C8 802403C8 0C0123F5 */ jal is_point_within_region +/* CB53CC 802403CC 8E070038 */ lw $a3, 0x38($s0) +/* CB53D0 802403D0 1040000E */ beqz $v0, .L8024040C +/* CB53D4 802403D4 00000000 */ nop +/* CB53D8 802403D8 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB53DC 802403DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CB53E0 802403E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CB53E4 802403E4 C4460000 */ lwc1 $f6, ($v0) +/* CB53E8 802403E8 468031A0 */ cvt.s.w $f6, $f6 +/* CB53EC 802403EC 44063000 */ mfc1 $a2, $f6 +/* CB53F0 802403F0 C4460008 */ lwc1 $f6, 8($v0) +/* CB53F4 802403F4 468031A0 */ cvt.s.w $f6, $f6 +/* CB53F8 802403F8 44073000 */ mfc1 $a3, $f6 +/* CB53FC 802403FC 0C00A720 */ jal atan2 +/* CB5400 80240400 00000000 */ nop +/* CB5404 80240404 0809010F */ j .L8024043C +/* CB5408 80240408 E600000C */ swc1 $f0, 0xc($s0) +.L8024040C: +/* CB540C 8024040C 0C00A67F */ jal rand_int +/* CB5410 80240410 2404003C */ addiu $a0, $zero, 0x3c +/* CB5414 80240414 C60C000C */ lwc1 $f12, 0xc($s0) +/* CB5418 80240418 44820000 */ mtc1 $v0, $f0 +/* CB541C 8024041C 00000000 */ nop +/* CB5420 80240420 46800020 */ cvt.s.w $f0, $f0 +/* CB5424 80240424 46006300 */ add.s $f12, $f12, $f0 +/* CB5428 80240428 3C0141F0 */ lui $at, 0x41f0 +/* CB542C 8024042C 44810000 */ mtc1 $at, $f0 +/* CB5430 80240430 0C00A6C9 */ jal clamp_angle +/* CB5434 80240434 46006301 */ sub.s $f12, $f12, $f0 +/* CB5438 80240438 E600000C */ swc1 $f0, 0xc($s0) +.L8024043C: +/* CB543C 8024043C 8E2200CC */ lw $v0, 0xcc($s1) +/* CB5440 80240440 8C420004 */ lw $v0, 4($v0) +/* CB5444 80240444 AE020028 */ sw $v0, 0x28($s0) +/* CB5448 80240448 AE600074 */ sw $zero, 0x74($s3) +/* CB544C 8024044C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB5450 80240450 8C420014 */ lw $v0, 0x14($v0) +/* CB5454 80240454 04410004 */ bgez $v0, .L80240468 +/* CB5458 80240458 00000000 */ nop +/* CB545C 8024045C C6400000 */ lwc1 $f0, ($s2) +/* CB5460 80240460 08090122 */ j .L80240488 +/* CB5464 80240464 E6000018 */ swc1 $f0, 0x18($s0) +.L80240468: +/* CB5468 80240468 3C018024 */ lui $at, 0x8024 +/* CB546C 8024046C D42241A0 */ ldc1 $f2, 0x41a0($at) +/* CB5470 80240470 44820000 */ mtc1 $v0, $f0 +/* CB5474 80240474 00000000 */ nop +/* CB5478 80240478 46800021 */ cvt.d.w $f0, $f0 +/* CB547C 8024047C 46220003 */ div.d $f0, $f0, $f2 +/* CB5480 80240480 46200020 */ cvt.s.d $f0, $f0 +/* CB5484 80240484 E6000018 */ swc1 $f0, 0x18($s0) +.L80240488: +/* CB5488 80240488 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB548C 8024048C 3C014059 */ lui $at, 0x4059 +/* CB5490 80240490 44811800 */ mtc1 $at, $f3 +/* CB5494 80240494 44801000 */ mtc1 $zero, $f2 +/* CB5498 80240498 46000021 */ cvt.d.s $f0, $f0 +/* CB549C 8024049C 46220002 */ mul.d $f0, $f0, $f2 +/* CB54A0 802404A0 00000000 */ nop +/* CB54A4 802404A4 24020001 */ addiu $v0, $zero, 1 +/* CB54A8 802404A8 4620018D */ trunc.w.d $f6, $f0 +/* CB54AC 802404AC E626007C */ swc1 $f6, 0x7c($s1) +/* CB54B0 802404B0 AE620070 */ sw $v0, 0x70($s3) +/* CB54B4 802404B4 8FBF0030 */ lw $ra, 0x30($sp) +/* CB54B8 802404B8 8FB3002C */ lw $s3, 0x2c($sp) +/* CB54BC 802404BC 8FB20028 */ lw $s2, 0x28($sp) +/* CB54C0 802404C0 8FB10024 */ lw $s1, 0x24($sp) +/* CB54C4 802404C4 8FB00020 */ lw $s0, 0x20($sp) +/* CB54C8 802404C8 03E00008 */ jr $ra +/* CB54CC 802404CC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_802404D0_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_802404D0_CB5000.s new file mode 100644 index 0000000000..fcc14bafa7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_802404D0_CB5000.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0_CB54D0 +/* CB54D0 802404D0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CB54D4 802404D4 AFB3004C */ sw $s3, 0x4c($sp) +/* CB54D8 802404D8 0080982D */ daddu $s3, $a0, $zero +/* CB54DC 802404DC AFBF0058 */ sw $ra, 0x58($sp) +/* CB54E0 802404E0 AFB50054 */ sw $s5, 0x54($sp) +/* CB54E4 802404E4 AFB40050 */ sw $s4, 0x50($sp) +/* CB54E8 802404E8 AFB20048 */ sw $s2, 0x48($sp) +/* CB54EC 802404EC AFB10044 */ sw $s1, 0x44($sp) +/* CB54F0 802404F0 AFB00040 */ sw $s0, 0x40($sp) +/* CB54F4 802404F4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CB54F8 802404F8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CB54FC 802404FC F7B60068 */ sdc1 $f22, 0x68($sp) +/* CB5500 80240500 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CB5504 80240504 8E710148 */ lw $s1, 0x148($s3) +/* CB5508 80240508 00A0902D */ daddu $s2, $a1, $zero +/* CB550C 8024050C 86240008 */ lh $a0, 8($s1) +/* CB5510 80240510 0C00EABB */ jal get_npc_unsafe +/* CB5514 80240514 00C0A82D */ daddu $s5, $a2, $zero +/* CB5518 80240518 0040802D */ daddu $s0, $v0, $zero +/* CB551C 8024051C 0000A02D */ daddu $s4, $zero, $zero +/* CB5520 80240520 C624007C */ lwc1 $f4, 0x7c($s1) +/* CB5524 80240524 46802120 */ cvt.s.w $f4, $f4 +/* CB5528 80240528 C6220088 */ lwc1 $f2, 0x88($s1) +/* CB552C 8024052C 468010A0 */ cvt.s.w $f2, $f2 +/* CB5530 80240530 460010A1 */ cvt.d.s $f2, $f2 +/* CB5534 80240534 46002121 */ cvt.d.s $f4, $f4 +/* CB5538 80240538 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB553C 8024053C 3C014059 */ lui $at, 0x4059 +/* CB5540 80240540 44813800 */ mtc1 $at, $f7 +/* CB5544 80240544 44803000 */ mtc1 $zero, $f6 +/* CB5548 80240548 46000021 */ cvt.d.s $f0, $f0 +/* CB554C 8024054C 46260002 */ mul.d $f0, $f0, $f6 +/* CB5550 80240550 00000000 */ nop +/* CB5554 80240554 24020001 */ addiu $v0, $zero, 1 +/* CB5558 80240558 8E24006C */ lw $a0, 0x6c($s1) +/* CB555C 8024055C 46261083 */ div.d $f2, $f2, $f6 +/* CB5560 80240560 462010A0 */ cvt.s.d $f2, $f2 +/* CB5564 80240564 46262103 */ div.d $f4, $f4, $f6 +/* CB5568 80240568 46202520 */ cvt.s.d $f20, $f4 +/* CB556C 8024056C 30830011 */ andi $v1, $a0, 0x11 +/* CB5570 80240570 4620020D */ trunc.w.d $f8, $f0 +/* CB5574 80240574 E628007C */ swc1 $f8, 0x7c($s1) +/* CB5578 80240578 C6200078 */ lwc1 $f0, 0x78($s1) +/* CB557C 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* CB5580 80240580 46000021 */ cvt.d.s $f0, $f0 +/* CB5584 80240584 46260003 */ div.d $f0, $f0, $f6 +/* CB5588 80240588 462006A0 */ cvt.s.d $f26, $f0 +/* CB558C 8024058C C6200070 */ lwc1 $f0, 0x70($s1) +/* CB5590 80240590 46800020 */ cvt.s.w $f0, $f0 +/* CB5594 80240594 46000021 */ cvt.d.s $f0, $f0 +/* CB5598 80240598 46260003 */ div.d $f0, $f0, $f6 +/* CB559C 8024059C 462005A0 */ cvt.s.d $f22, $f0 +/* CB55A0 802405A0 14620025 */ bne $v1, $v0, .L80240638 +/* CB55A4 802405A4 4602D600 */ add.s $f24, $f26, $f2 +/* CB55A8 802405A8 8E020000 */ lw $v0, ($s0) +/* CB55AC 802405AC 30420008 */ andi $v0, $v0, 8 +/* CB55B0 802405B0 10400009 */ beqz $v0, .L802405D8 +/* CB55B4 802405B4 27A50028 */ addiu $a1, $sp, 0x28 +/* CB55B8 802405B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB55BC 802405BC 4600C001 */ sub.s $f0, $f24, $f0 +/* CB55C0 802405C0 4600B03C */ c.lt.s $f22, $f0 +/* CB55C4 802405C4 00000000 */ nop +/* CB55C8 802405C8 4500001B */ bc1f .L80240638 +/* CB55CC 802405CC 34820010 */ ori $v0, $a0, 0x10 +/* CB55D0 802405D0 0809018E */ j .L80240638 +/* CB55D4 802405D4 AE22006C */ sw $v0, 0x6c($s1) +.L802405D8: +/* CB55D8 802405D8 27A6002C */ addiu $a2, $sp, 0x2c +/* CB55DC 802405DC C6000038 */ lwc1 $f0, 0x38($s0) +/* CB55E0 802405E0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB55E4 802405E4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CB55E8 802405E8 3C01447A */ lui $at, 0x447a +/* CB55EC 802405EC 44813000 */ mtc1 $at, $f6 +/* CB55F0 802405F0 27A20034 */ addiu $v0, $sp, 0x34 +/* CB55F4 802405F4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CB55F8 802405F8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CB55FC 802405FC E7A40030 */ swc1 $f4, 0x30($sp) +/* CB5600 80240600 E7A60034 */ swc1 $f6, 0x34($sp) +/* CB5604 80240604 AFA20010 */ sw $v0, 0x10($sp) +/* CB5608 80240608 8E040080 */ lw $a0, 0x80($s0) +/* CB560C 8024060C 0C0372DF */ jal func_800DCB7C +/* CB5610 80240610 27A70030 */ addiu $a3, $sp, 0x30 +/* CB5614 80240614 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CB5618 80240618 4600D001 */ sub.s $f0, $f26, $f0 +/* CB561C 8024061C 4600B03C */ c.lt.s $f22, $f0 +/* CB5620 80240620 00000000 */ nop +/* CB5624 80240624 45000004 */ bc1f .L80240638 +/* CB5628 80240628 00000000 */ nop +/* CB562C 8024062C 8E22006C */ lw $v0, 0x6c($s1) +/* CB5630 80240630 34420010 */ ori $v0, $v0, 0x10 +/* CB5634 80240634 AE22006C */ sw $v0, 0x6c($s1) +.L80240638: +/* CB5638 80240638 8E22006C */ lw $v0, 0x6c($s1) +/* CB563C 8024063C 24030011 */ addiu $v1, $zero, 0x11 +/* CB5640 80240640 30420011 */ andi $v0, $v0, 0x11 +/* CB5644 80240644 14430039 */ bne $v0, $v1, .L8024072C +/* CB5648 80240648 00000000 */ nop +/* CB564C 8024064C 8E020000 */ lw $v0, ($s0) +/* CB5650 80240650 30420008 */ andi $v0, $v0, 8 +/* CB5654 80240654 1040000A */ beqz $v0, .L80240680 +/* CB5658 80240658 4600C106 */ mov.s $f4, $f24 +/* CB565C 8024065C 4614C081 */ sub.s $f2, $f24, $f20 +/* CB5660 80240660 3C018024 */ lui $at, 0x8024 +/* CB5664 80240664 D42041A8 */ ldc1 $f0, 0x41a8($at) +/* CB5668 80240668 460010A1 */ cvt.d.s $f2, $f2 +/* CB566C 8024066C 46201082 */ mul.d $f2, $f2, $f0 +/* CB5670 80240670 00000000 */ nop +/* CB5674 80240674 4600A021 */ cvt.d.s $f0, $f20 +/* CB5678 80240678 080901B9 */ j .L802406E4 +/* CB567C 8024067C 46220000 */ add.d $f0, $f0, $f2 +.L80240680: +/* CB5680 80240680 27A50028 */ addiu $a1, $sp, 0x28 +/* CB5684 80240684 27A6002C */ addiu $a2, $sp, 0x2c +/* CB5688 80240688 C6000038 */ lwc1 $f0, 0x38($s0) +/* CB568C 8024068C C6020040 */ lwc1 $f2, 0x40($s0) +/* CB5690 80240690 3C01447A */ lui $at, 0x447a +/* CB5694 80240694 44812000 */ mtc1 $at, $f4 +/* CB5698 80240698 27A20034 */ addiu $v0, $sp, 0x34 +/* CB569C 8024069C E7B4002C */ swc1 $f20, 0x2c($sp) +/* CB56A0 802406A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CB56A4 802406A4 E7A20030 */ swc1 $f2, 0x30($sp) +/* CB56A8 802406A8 E7A40034 */ swc1 $f4, 0x34($sp) +/* CB56AC 802406AC AFA20010 */ sw $v0, 0x10($sp) +/* CB56B0 802406B0 8E040080 */ lw $a0, 0x80($s0) +/* CB56B4 802406B4 0C0372DF */ jal func_800DCB7C +/* CB56B8 802406B8 27A70030 */ addiu $a3, $sp, 0x30 +/* CB56BC 802406BC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CB56C0 802406C0 461A2100 */ add.s $f4, $f4, $f26 +/* CB56C4 802406C4 46142081 */ sub.s $f2, $f4, $f20 +/* CB56C8 802406C8 3C018024 */ lui $at, 0x8024 +/* CB56CC 802406CC D42041B0 */ ldc1 $f0, 0x41b0($at) +/* CB56D0 802406D0 460010A1 */ cvt.d.s $f2, $f2 +/* CB56D4 802406D4 46201082 */ mul.d $f2, $f2, $f0 +/* CB56D8 802406D8 00000000 */ nop +/* CB56DC 802406DC 4600A021 */ cvt.d.s $f0, $f20 +/* CB56E0 802406E0 46220000 */ add.d $f0, $f0, $f2 +.L802406E4: +/* CB56E4 802406E4 46200020 */ cvt.s.d $f0, $f0 +/* CB56E8 802406E8 E600003C */ swc1 $f0, 0x3c($s0) +/* CB56EC 802406EC C600003C */ lwc1 $f0, 0x3c($s0) +/* CB56F0 802406F0 46002001 */ sub.s $f0, $f4, $f0 +/* CB56F4 802406F4 3C013FF0 */ lui $at, 0x3ff0 +/* CB56F8 802406F8 44811800 */ mtc1 $at, $f3 +/* CB56FC 802406FC 44801000 */ mtc1 $zero, $f2 +/* CB5700 80240700 46000005 */ abs.s $f0, $f0 +/* CB5704 80240704 46000021 */ cvt.d.s $f0, $f0 +/* CB5708 80240708 4622003C */ c.lt.d $f0, $f2 +/* CB570C 8024070C 00000000 */ nop +/* CB5710 80240710 45000036 */ bc1f .L802407EC +/* CB5714 80240714 2403FFEF */ addiu $v1, $zero, -0x11 +/* CB5718 80240718 E604003C */ swc1 $f4, 0x3c($s0) +/* CB571C 8024071C 8E22006C */ lw $v0, 0x6c($s1) +/* CB5720 80240720 00431024 */ and $v0, $v0, $v1 +/* CB5724 80240724 080901FB */ j .L802407EC +/* CB5728 80240728 AE22006C */ sw $v0, 0x6c($s1) +.L8024072C: +/* CB572C 8024072C 8E220070 */ lw $v0, 0x70($s1) +/* CB5730 80240730 1840002E */ blez $v0, .L802407EC +/* CB5734 80240734 00000000 */ nop +/* CB5738 80240738 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CB573C 8024073C 0C00A8BB */ jal sin_deg +/* CB5740 80240740 46806320 */ cvt.s.w $f12, $f12 +/* CB5744 80240744 8E020000 */ lw $v0, ($s0) +/* CB5748 80240748 30420008 */ andi $v0, $v0, 8 +/* CB574C 8024074C 10400003 */ beqz $v0, .L8024075C +/* CB5750 80240750 46000506 */ mov.s $f20, $f0 +/* CB5754 80240754 080901E7 */ j .L8024079C +/* CB5758 80240758 0000102D */ daddu $v0, $zero, $zero +.L8024075C: +/* CB575C 8024075C 27A50028 */ addiu $a1, $sp, 0x28 +/* CB5760 80240760 27A6002C */ addiu $a2, $sp, 0x2c +/* CB5764 80240764 C6000038 */ lwc1 $f0, 0x38($s0) +/* CB5768 80240768 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB576C 8024076C C6040040 */ lwc1 $f4, 0x40($s0) +/* CB5770 80240770 3C01447A */ lui $at, 0x447a +/* CB5774 80240774 44813000 */ mtc1 $at, $f6 +/* CB5778 80240778 27A20034 */ addiu $v0, $sp, 0x34 +/* CB577C 8024077C E7A00028 */ swc1 $f0, 0x28($sp) +/* CB5780 80240780 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CB5784 80240784 E7A40030 */ swc1 $f4, 0x30($sp) +/* CB5788 80240788 E7A60034 */ swc1 $f6, 0x34($sp) +/* CB578C 8024078C AFA20010 */ sw $v0, 0x10($sp) +/* CB5790 80240790 8E040080 */ lw $a0, 0x80($s0) +/* CB5794 80240794 0C0372DF */ jal func_800DCB7C +/* CB5798 80240798 27A70030 */ addiu $a3, $sp, 0x30 +.L8024079C: +/* CB579C 8024079C 10400007 */ beqz $v0, .L802407BC +/* CB57A0 802407A0 00000000 */ nop +/* CB57A4 802407A4 4616A082 */ mul.s $f2, $f20, $f22 +/* CB57A8 802407A8 00000000 */ nop +/* CB57AC 802407AC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CB57B0 802407B0 461A0000 */ add.s $f0, $f0, $f26 +/* CB57B4 802407B4 080901F2 */ j .L802407C8 +/* CB57B8 802407B8 46020000 */ add.s $f0, $f0, $f2 +.L802407BC: +/* CB57BC 802407BC 4616A002 */ mul.s $f0, $f20, $f22 +/* CB57C0 802407C0 00000000 */ nop +/* CB57C4 802407C4 4600C000 */ add.s $f0, $f24, $f0 +.L802407C8: +/* CB57C8 802407C8 E600003C */ swc1 $f0, 0x3c($s0) +/* CB57CC 802407CC 8E220074 */ lw $v0, 0x74($s1) +/* CB57D0 802407D0 2442000A */ addiu $v0, $v0, 0xa +/* CB57D4 802407D4 44826000 */ mtc1 $v0, $f12 +/* CB57D8 802407D8 00000000 */ nop +/* CB57DC 802407DC 0C00A6C9 */ jal clamp_angle +/* CB57E0 802407E0 46806320 */ cvt.s.w $f12, $f12 +/* CB57E4 802407E4 4600020D */ trunc.w.s $f8, $f0 +/* CB57E8 802407E8 E6280074 */ swc1 $f8, 0x74($s1) +.L802407EC: +/* CB57EC 802407EC 8E220090 */ lw $v0, 0x90($s1) +/* CB57F0 802407F0 1C40004A */ bgtz $v0, .L8024091C +/* CB57F4 802407F4 2442FFFF */ addiu $v0, $v0, -1 +/* CB57F8 802407F8 8E430014 */ lw $v1, 0x14($s2) +/* CB57FC 802407FC 04600048 */ bltz $v1, .L80240920 +/* CB5800 80240800 00000000 */ nop +/* CB5804 80240804 8E620074 */ lw $v0, 0x74($s3) +/* CB5808 80240808 1C400042 */ bgtz $v0, .L80240914 +/* CB580C 8024080C 2442FFFF */ addiu $v0, $v0, -1 +/* CB5810 80240810 AE630074 */ sw $v1, 0x74($s3) +/* CB5814 80240814 860200A8 */ lh $v0, 0xa8($s0) +/* CB5818 80240818 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB581C 8024081C 44820000 */ mtc1 $v0, $f0 +/* CB5820 80240820 00000000 */ nop +/* CB5824 80240824 46800020 */ cvt.s.w $f0, $f0 +/* CB5828 80240828 46001080 */ add.s $f2, $f2, $f0 +/* CB582C 8024082C 3C014024 */ lui $at, 0x4024 +/* CB5830 80240830 44810800 */ mtc1 $at, $f1 +/* CB5834 80240834 44800000 */ mtc1 $zero, $f0 +/* CB5838 80240838 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CB583C 8024083C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CB5840 80240840 460010A1 */ cvt.d.s $f2, $f2 +/* CB5844 80240844 46201080 */ add.d $f2, $f2, $f0 +/* CB5848 80240848 C440002C */ lwc1 $f0, 0x2c($v0) +/* CB584C 8024084C 46000021 */ cvt.d.s $f0, $f0 +/* CB5850 80240850 4622003C */ c.lt.d $f0, $f2 +/* CB5854 80240854 00000000 */ nop +/* CB5858 80240858 4500002C */ bc1f .L8024090C +/* CB585C 8024085C 02A0202D */ daddu $a0, $s5, $zero +/* CB5860 80240860 AFA00010 */ sw $zero, 0x10($sp) +/* CB5864 80240864 8E46000C */ lw $a2, 0xc($s2) +/* CB5868 80240868 8E470010 */ lw $a3, 0x10($s2) +/* CB586C 8024086C 0C01242D */ jal func_800490B4 +/* CB5870 80240870 0220282D */ daddu $a1, $s1, $zero +/* CB5874 80240874 10400025 */ beqz $v0, .L8024090C +/* CB5878 80240878 0000202D */ daddu $a0, $zero, $zero +/* CB587C 8024087C 0200282D */ daddu $a1, $s0, $zero +/* CB5880 80240880 0000302D */ daddu $a2, $zero, $zero +/* CB5884 80240884 2412000C */ addiu $s2, $zero, 0xc +/* CB5888 80240888 860300A8 */ lh $v1, 0xa8($s0) +/* CB588C 8024088C 3C013F80 */ lui $at, 0x3f80 +/* CB5890 80240890 44810000 */ mtc1 $at, $f0 +/* CB5894 80240894 3C014000 */ lui $at, 0x4000 +/* CB5898 80240898 44811000 */ mtc1 $at, $f2 +/* CB589C 8024089C 3C01C1A0 */ lui $at, 0xc1a0 +/* CB58A0 802408A0 44812000 */ mtc1 $at, $f4 +/* CB58A4 802408A4 44834000 */ mtc1 $v1, $f8 +/* CB58A8 802408A8 00000000 */ nop +/* CB58AC 802408AC 46804220 */ cvt.s.w $f8, $f8 +/* CB58B0 802408B0 44074000 */ mfc1 $a3, $f8 +/* CB58B4 802408B4 27A20038 */ addiu $v0, $sp, 0x38 +/* CB58B8 802408B8 AFB2001C */ sw $s2, 0x1c($sp) +/* CB58BC 802408BC AFA20020 */ sw $v0, 0x20($sp) +/* CB58C0 802408C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CB58C4 802408C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CB58C8 802408C8 0C01BFA4 */ jal fx_emote +/* CB58CC 802408CC E7A40018 */ swc1 $f4, 0x18($sp) +/* CB58D0 802408D0 0200202D */ daddu $a0, $s0, $zero +/* CB58D4 802408D4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CB58D8 802408D8 C480003C */ lwc1 $f0, 0x3c($a0) +/* CB58DC 802408DC 3C060020 */ lui $a2, 0x20 +/* CB58E0 802408E0 0C012530 */ jal func_800494C0 +/* CB58E4 802408E4 E4800064 */ swc1 $f0, 0x64($a0) +/* CB58E8 802408E8 8E220018 */ lw $v0, 0x18($s1) +/* CB58EC 802408EC 9442002A */ lhu $v0, 0x2a($v0) +/* CB58F0 802408F0 30420001 */ andi $v0, $v0, 1 +/* CB58F4 802408F4 10400003 */ beqz $v0, .L80240904 +/* CB58F8 802408F8 2402000A */ addiu $v0, $zero, 0xa +/* CB58FC 802408FC 080902B1 */ j .L80240AC4 +/* CB5900 80240900 AE620070 */ sw $v0, 0x70($s3) +.L80240904: +/* CB5904 80240904 080902B1 */ j .L80240AC4 +/* CB5908 80240908 AE720070 */ sw $s2, 0x70($s3) +.L8024090C: +/* CB590C 8024090C 8E620074 */ lw $v0, 0x74($s3) +/* CB5910 80240910 2442FFFF */ addiu $v0, $v0, -1 +.L80240914: +/* CB5914 80240914 08090248 */ j .L80240920 +/* CB5918 80240918 AE620074 */ sw $v0, 0x74($s3) +.L8024091C: +/* CB591C 8024091C AE220090 */ sw $v0, 0x90($s1) +.L80240920: +/* CB5920 80240920 8E2300D0 */ lw $v1, 0xd0($s1) +/* CB5924 80240924 C6000040 */ lwc1 $f0, 0x40($s0) +/* CB5928 80240928 C4620000 */ lwc1 $f2, ($v1) +/* CB592C 8024092C 468010A0 */ cvt.s.w $f2, $f2 +/* CB5930 80240930 C4640008 */ lwc1 $f4, 8($v1) +/* CB5934 80240934 46802120 */ cvt.s.w $f4, $f4 +/* CB5938 80240938 E7A00010 */ swc1 $f0, 0x10($sp) +/* CB593C 8024093C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB5940 80240940 44051000 */ mfc1 $a1, $f2 +/* CB5944 80240944 C440000C */ lwc1 $f0, 0xc($v0) +/* CB5948 80240948 46800020 */ cvt.s.w $f0, $f0 +/* CB594C 8024094C E7A00014 */ swc1 $f0, 0x14($sp) +/* CB5950 80240950 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB5954 80240954 44062000 */ mfc1 $a2, $f4 +/* CB5958 80240958 C4400010 */ lwc1 $f0, 0x10($v0) +/* CB595C 8024095C 46800020 */ cvt.s.w $f0, $f0 +/* CB5960 80240960 E7A00018 */ swc1 $f0, 0x18($sp) +/* CB5964 80240964 8C640018 */ lw $a0, 0x18($v1) +/* CB5968 80240968 0C0123F5 */ jal is_point_within_region +/* CB596C 8024096C 8E070038 */ lw $a3, 0x38($s0) +/* CB5970 80240970 1040001A */ beqz $v0, .L802409DC +/* CB5974 80240974 00000000 */ nop +/* CB5978 80240978 8E060038 */ lw $a2, 0x38($s0) +/* CB597C 8024097C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB5980 80240980 8E070040 */ lw $a3, 0x40($s0) +/* CB5984 80240984 C44C0000 */ lwc1 $f12, ($v0) +/* CB5988 80240988 46806320 */ cvt.s.w $f12, $f12 +/* CB598C 8024098C C44E0008 */ lwc1 $f14, 8($v0) +/* CB5990 80240990 0C00A7B5 */ jal dist2D +/* CB5994 80240994 468073A0 */ cvt.s.w $f14, $f14 +/* CB5998 80240998 C6020018 */ lwc1 $f2, 0x18($s0) +/* CB599C 8024099C 4600103C */ c.lt.s $f2, $f0 +/* CB59A0 802409A0 00000000 */ nop +/* CB59A4 802409A4 4500000D */ bc1f .L802409DC +/* CB59A8 802409A8 E7A00034 */ swc1 $f0, 0x34($sp) +/* CB59AC 802409AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CB59B0 802409B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB59B4 802409B4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CB59B8 802409B8 C4480000 */ lwc1 $f8, ($v0) +/* CB59BC 802409BC 46804220 */ cvt.s.w $f8, $f8 +/* CB59C0 802409C0 44064000 */ mfc1 $a2, $f8 +/* CB59C4 802409C4 C4480008 */ lwc1 $f8, 8($v0) +/* CB59C8 802409C8 46804220 */ cvt.s.w $f8, $f8 +/* CB59CC 802409CC 44074000 */ mfc1 $a3, $f8 +/* CB59D0 802409D0 0C00A720 */ jal atan2 +/* CB59D4 802409D4 24140001 */ addiu $s4, $zero, 1 +/* CB59D8 802409D8 E600000C */ swc1 $f0, 0xc($s0) +.L802409DC: +/* CB59DC 802409DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CB59E0 802409E0 8C43000C */ lw $v1, 0xc($v0) +/* CB59E4 802409E4 8C420010 */ lw $v0, 0x10($v0) +/* CB59E8 802409E8 00621825 */ or $v1, $v1, $v0 +/* CB59EC 802409EC 00741825 */ or $v1, $v1, $s4 +/* CB59F0 802409F0 10600008 */ beqz $v1, .L80240A14 +/* CB59F4 802409F4 00000000 */ nop +/* CB59F8 802409F8 8602008C */ lh $v0, 0x8c($s0) +/* CB59FC 802409FC 14400031 */ bnez $v0, .L80240AC4 +/* CB5A00 80240A00 00000000 */ nop +/* CB5A04 80240A04 8E050018 */ lw $a1, 0x18($s0) +/* CB5A08 80240A08 8E06000C */ lw $a2, 0xc($s0) +/* CB5A0C 80240A0C 0C00EA95 */ jal npc_move_heading +/* CB5A10 80240A10 0200202D */ daddu $a0, $s0, $zero +.L80240A14: +/* CB5A14 80240A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB5A18 80240A18 3C014059 */ lui $at, 0x4059 +/* CB5A1C 80240A1C 44811800 */ mtc1 $at, $f3 +/* CB5A20 80240A20 44801000 */ mtc1 $zero, $f2 +/* CB5A24 80240A24 46000021 */ cvt.d.s $f0, $f0 +/* CB5A28 80240A28 46220002 */ mul.d $f0, $f0, $f2 +/* CB5A2C 80240A2C 00000000 */ nop +/* CB5A30 80240A30 4620020D */ trunc.w.d $f8, $f0 +/* CB5A34 80240A34 E628007C */ swc1 $f8, 0x7c($s1) +/* CB5A38 80240A38 8E420004 */ lw $v0, 4($s2) +/* CB5A3C 80240A3C 18400021 */ blez $v0, .L80240AC4 +/* CB5A40 80240A40 00000000 */ nop +/* CB5A44 80240A44 8602008E */ lh $v0, 0x8e($s0) +/* CB5A48 80240A48 9603008E */ lhu $v1, 0x8e($s0) +/* CB5A4C 80240A4C 18400005 */ blez $v0, .L80240A64 +/* CB5A50 80240A50 2462FFFF */ addiu $v0, $v1, -1 +/* CB5A54 80240A54 A602008E */ sh $v0, 0x8e($s0) +/* CB5A58 80240A58 00021400 */ sll $v0, $v0, 0x10 +/* CB5A5C 80240A5C 1C400019 */ bgtz $v0, .L80240AC4 +/* CB5A60 80240A60 00000000 */ nop +.L80240A64: +/* CB5A64 80240A64 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CB5A68 80240A68 24020002 */ addiu $v0, $zero, 2 +/* CB5A6C 80240A6C 0C00A67F */ jal rand_int +/* CB5A70 80240A70 AE620070 */ sw $v0, 0x70($s3) +/* CB5A74 80240A74 3C035555 */ lui $v1, 0x5555 +/* CB5A78 80240A78 34635556 */ ori $v1, $v1, 0x5556 +/* CB5A7C 80240A7C 00430018 */ mult $v0, $v1 +/* CB5A80 80240A80 000227C3 */ sra $a0, $v0, 0x1f +/* CB5A84 80240A84 00004010 */ mfhi $t0 +/* CB5A88 80240A88 01042023 */ subu $a0, $t0, $a0 +/* CB5A8C 80240A8C 00041840 */ sll $v1, $a0, 1 +/* CB5A90 80240A90 00641821 */ addu $v1, $v1, $a0 +/* CB5A94 80240A94 00431023 */ subu $v0, $v0, $v1 +/* CB5A98 80240A98 24430002 */ addiu $v1, $v0, 2 +/* CB5A9C 80240A9C AE630074 */ sw $v1, 0x74($s3) +/* CB5AA0 80240AA0 8E42002C */ lw $v0, 0x2c($s2) +/* CB5AA4 80240AA4 58400007 */ blezl $v0, .L80240AC4 +/* CB5AA8 80240AA8 AE600070 */ sw $zero, 0x70($s3) +/* CB5AAC 80240AAC 8E420008 */ lw $v0, 8($s2) +/* CB5AB0 80240AB0 18400003 */ blez $v0, .L80240AC0 +/* CB5AB4 80240AB4 28620003 */ slti $v0, $v1, 3 +/* CB5AB8 80240AB8 10400002 */ beqz $v0, .L80240AC4 +/* CB5ABC 80240ABC 00000000 */ nop +.L80240AC0: +/* CB5AC0 80240AC0 AE600070 */ sw $zero, 0x70($s3) +.L80240AC4: +/* CB5AC4 80240AC4 8FBF0058 */ lw $ra, 0x58($sp) +/* CB5AC8 80240AC8 8FB50054 */ lw $s5, 0x54($sp) +/* CB5ACC 80240ACC 8FB40050 */ lw $s4, 0x50($sp) +/* CB5AD0 80240AD0 8FB3004C */ lw $s3, 0x4c($sp) +/* CB5AD4 80240AD4 8FB20048 */ lw $s2, 0x48($sp) +/* CB5AD8 80240AD8 8FB10044 */ lw $s1, 0x44($sp) +/* CB5ADC 80240ADC 8FB00040 */ lw $s0, 0x40($sp) +/* CB5AE0 80240AE0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CB5AE4 80240AE4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CB5AE8 80240AE8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CB5AEC 80240AEC D7B40060 */ ldc1 $f20, 0x60($sp) +/* CB5AF0 80240AF0 03E00008 */ jr $ra +/* CB5AF4 80240AF4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240AF8_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240AF8_CB5000.s new file mode 100644 index 0000000000..12fe1a077f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240AF8_CB5000.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF8_CB5AF8 +/* CB5AF8 80240AF8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CB5AFC 80240AFC AFB3001C */ sw $s3, 0x1c($sp) +/* CB5B00 80240B00 0080982D */ daddu $s3, $a0, $zero +/* CB5B04 80240B04 AFBF0020 */ sw $ra, 0x20($sp) +/* CB5B08 80240B08 AFB20018 */ sw $s2, 0x18($sp) +/* CB5B0C 80240B0C AFB10014 */ sw $s1, 0x14($sp) +/* CB5B10 80240B10 AFB00010 */ sw $s0, 0x10($sp) +/* CB5B14 80240B14 8E720148 */ lw $s2, 0x148($s3) +/* CB5B18 80240B18 86440008 */ lh $a0, 8($s2) +/* CB5B1C 80240B1C 0C00EABB */ jal get_npc_unsafe +/* CB5B20 80240B20 00A0882D */ daddu $s1, $a1, $zero +/* CB5B24 80240B24 8E240008 */ lw $a0, 8($s1) +/* CB5B28 80240B28 0040802D */ daddu $s0, $v0, $zero +/* CB5B2C 80240B2C 00041FC2 */ srl $v1, $a0, 0x1f +/* CB5B30 80240B30 00832021 */ addu $a0, $a0, $v1 +/* CB5B34 80240B34 00042043 */ sra $a0, $a0, 1 +/* CB5B38 80240B38 0C00A67F */ jal rand_int +/* CB5B3C 80240B3C 24840001 */ addiu $a0, $a0, 1 +/* CB5B40 80240B40 8E230008 */ lw $v1, 8($s1) +/* CB5B44 80240B44 240400B4 */ addiu $a0, $zero, 0xb4 +/* CB5B48 80240B48 00032FC2 */ srl $a1, $v1, 0x1f +/* CB5B4C 80240B4C 00651821 */ addu $v1, $v1, $a1 +/* CB5B50 80240B50 00031843 */ sra $v1, $v1, 1 +/* CB5B54 80240B54 00621821 */ addu $v1, $v1, $v0 +/* CB5B58 80240B58 0C00A67F */ jal rand_int +/* CB5B5C 80240B5C A603008E */ sh $v1, 0x8e($s0) +/* CB5B60 80240B60 C60C000C */ lwc1 $f12, 0xc($s0) +/* CB5B64 80240B64 44820000 */ mtc1 $v0, $f0 +/* CB5B68 80240B68 00000000 */ nop +/* CB5B6C 80240B6C 46800020 */ cvt.s.w $f0, $f0 +/* CB5B70 80240B70 46006300 */ add.s $f12, $f12, $f0 +/* CB5B74 80240B74 3C0142B4 */ lui $at, 0x42b4 +/* CB5B78 80240B78 44810000 */ mtc1 $at, $f0 +/* CB5B7C 80240B7C 0C00A6C9 */ jal clamp_angle +/* CB5B80 80240B80 46006301 */ sub.s $f12, $f12, $f0 +/* CB5B84 80240B84 E600000C */ swc1 $f0, 0xc($s0) +/* CB5B88 80240B88 8E4200CC */ lw $v0, 0xcc($s2) +/* CB5B8C 80240B8C 8C420000 */ lw $v0, ($v0) +/* CB5B90 80240B90 AE020028 */ sw $v0, 0x28($s0) +/* CB5B94 80240B94 24020003 */ addiu $v0, $zero, 3 +/* CB5B98 80240B98 AE620070 */ sw $v0, 0x70($s3) +/* CB5B9C 80240B9C 8FBF0020 */ lw $ra, 0x20($sp) +/* CB5BA0 80240BA0 8FB3001C */ lw $s3, 0x1c($sp) +/* CB5BA4 80240BA4 8FB20018 */ lw $s2, 0x18($sp) +/* CB5BA8 80240BA8 8FB10014 */ lw $s1, 0x14($sp) +/* CB5BAC 80240BAC 8FB00010 */ lw $s0, 0x10($sp) +/* CB5BB0 80240BB0 03E00008 */ jr $ra +/* CB5BB4 80240BB4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240BB8_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240BB8_CB5000.s new file mode 100644 index 0000000000..5e33565603 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240BB8_CB5000.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB8_CB5BB8 +/* CB5BB8 80240BB8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CB5BBC 80240BBC AFB3004C */ sw $s3, 0x4c($sp) +/* CB5BC0 80240BC0 0080982D */ daddu $s3, $a0, $zero +/* CB5BC4 80240BC4 AFBF0054 */ sw $ra, 0x54($sp) +/* CB5BC8 80240BC8 AFB40050 */ sw $s4, 0x50($sp) +/* CB5BCC 80240BCC AFB20048 */ sw $s2, 0x48($sp) +/* CB5BD0 80240BD0 AFB10044 */ sw $s1, 0x44($sp) +/* CB5BD4 80240BD4 AFB00040 */ sw $s0, 0x40($sp) +/* CB5BD8 80240BD8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CB5BDC 80240BDC F7B80068 */ sdc1 $f24, 0x68($sp) +/* CB5BE0 80240BE0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CB5BE4 80240BE4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CB5BE8 80240BE8 8E710148 */ lw $s1, 0x148($s3) +/* CB5BEC 80240BEC 00A0902D */ daddu $s2, $a1, $zero +/* CB5BF0 80240BF0 86240008 */ lh $a0, 8($s1) +/* CB5BF4 80240BF4 0C00EABB */ jal get_npc_unsafe +/* CB5BF8 80240BF8 00C0A02D */ daddu $s4, $a2, $zero +/* CB5BFC 80240BFC 0040802D */ daddu $s0, $v0, $zero +/* CB5C00 80240C00 C6200078 */ lwc1 $f0, 0x78($s1) +/* CB5C04 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* CB5C08 80240C08 46000021 */ cvt.d.s $f0, $f0 +/* CB5C0C 80240C0C 3C014059 */ lui $at, 0x4059 +/* CB5C10 80240C10 44811800 */ mtc1 $at, $f3 +/* CB5C14 80240C14 44801000 */ mtc1 $zero, $f2 +/* CB5C18 80240C18 8602008E */ lh $v0, 0x8e($s0) +/* CB5C1C 80240C1C 9603008E */ lhu $v1, 0x8e($s0) +/* CB5C20 80240C20 46220003 */ div.d $f0, $f0, $f2 +/* CB5C24 80240C24 46200620 */ cvt.s.d $f24, $f0 +/* CB5C28 80240C28 C6200088 */ lwc1 $f0, 0x88($s1) +/* CB5C2C 80240C2C 46800020 */ cvt.s.w $f0, $f0 +/* CB5C30 80240C30 46000021 */ cvt.d.s $f0, $f0 +/* CB5C34 80240C34 46220003 */ div.d $f0, $f0, $f2 +/* CB5C38 80240C38 46200020 */ cvt.s.d $f0, $f0 +/* CB5C3C 80240C3C 18400003 */ blez $v0, .L80240C4C +/* CB5C40 80240C40 4600C680 */ add.s $f26, $f24, $f0 +/* CB5C44 80240C44 2462FFFF */ addiu $v0, $v1, -1 +/* CB5C48 80240C48 A602008E */ sh $v0, 0x8e($s0) +.L80240C4C: +/* CB5C4C 80240C4C 8E220070 */ lw $v0, 0x70($s1) +/* CB5C50 80240C50 18400034 */ blez $v0, .L80240D24 +/* CB5C54 80240C54 00000000 */ nop +/* CB5C58 80240C58 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CB5C5C 80240C5C 46806320 */ cvt.s.w $f12, $f12 +/* CB5C60 80240C60 44820000 */ mtc1 $v0, $f0 +/* CB5C64 80240C64 00000000 */ nop +/* CB5C68 80240C68 46800020 */ cvt.s.w $f0, $f0 +/* CB5C6C 80240C6C 46000021 */ cvt.d.s $f0, $f0 +/* CB5C70 80240C70 46220003 */ div.d $f0, $f0, $f2 +/* CB5C74 80240C74 0C00A8BB */ jal sin_deg +/* CB5C78 80240C78 462005A0 */ cvt.s.d $f22, $f0 +/* CB5C7C 80240C7C 8E020000 */ lw $v0, ($s0) +/* CB5C80 80240C80 30420008 */ andi $v0, $v0, 8 +/* CB5C84 80240C84 10400003 */ beqz $v0, .L80240C94 +/* CB5C88 80240C88 46000506 */ mov.s $f20, $f0 +/* CB5C8C 80240C8C 08090335 */ j .L80240CD4 +/* CB5C90 80240C90 0000102D */ daddu $v0, $zero, $zero +.L80240C94: +/* CB5C94 80240C94 27A50028 */ addiu $a1, $sp, 0x28 +/* CB5C98 80240C98 27A6002C */ addiu $a2, $sp, 0x2c +/* CB5C9C 80240C9C C6000038 */ lwc1 $f0, 0x38($s0) +/* CB5CA0 80240CA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB5CA4 80240CA4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CB5CA8 80240CA8 3C01447A */ lui $at, 0x447a +/* CB5CAC 80240CAC 44813000 */ mtc1 $at, $f6 +/* CB5CB0 80240CB0 27A20034 */ addiu $v0, $sp, 0x34 +/* CB5CB4 80240CB4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CB5CB8 80240CB8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CB5CBC 80240CBC E7A40030 */ swc1 $f4, 0x30($sp) +/* CB5CC0 80240CC0 E7A60034 */ swc1 $f6, 0x34($sp) +/* CB5CC4 80240CC4 AFA20010 */ sw $v0, 0x10($sp) +/* CB5CC8 80240CC8 8E040080 */ lw $a0, 0x80($s0) +/* CB5CCC 80240CCC 0C0372DF */ jal func_800DCB7C +/* CB5CD0 80240CD0 27A70030 */ addiu $a3, $sp, 0x30 +.L80240CD4: +/* CB5CD4 80240CD4 10400007 */ beqz $v0, .L80240CF4 +/* CB5CD8 80240CD8 00000000 */ nop +/* CB5CDC 80240CDC 4616A082 */ mul.s $f2, $f20, $f22 +/* CB5CE0 80240CE0 00000000 */ nop +/* CB5CE4 80240CE4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CB5CE8 80240CE8 46180000 */ add.s $f0, $f0, $f24 +/* CB5CEC 80240CEC 08090340 */ j .L80240D00 +/* CB5CF0 80240CF0 46020000 */ add.s $f0, $f0, $f2 +.L80240CF4: +/* CB5CF4 80240CF4 4616A002 */ mul.s $f0, $f20, $f22 +/* CB5CF8 80240CF8 00000000 */ nop +/* CB5CFC 80240CFC 4600D000 */ add.s $f0, $f26, $f0 +.L80240D00: +/* CB5D00 80240D00 E600003C */ swc1 $f0, 0x3c($s0) +/* CB5D04 80240D04 8E220074 */ lw $v0, 0x74($s1) +/* CB5D08 80240D08 2442000A */ addiu $v0, $v0, 0xa +/* CB5D0C 80240D0C 44826000 */ mtc1 $v0, $f12 +/* CB5D10 80240D10 00000000 */ nop +/* CB5D14 80240D14 0C00A6C9 */ jal clamp_angle +/* CB5D18 80240D18 46806320 */ cvt.s.w $f12, $f12 +/* CB5D1C 80240D1C 4600020D */ trunc.w.s $f8, $f0 +/* CB5D20 80240D20 E6280074 */ swc1 $f8, 0x74($s1) +.L80240D24: +/* CB5D24 80240D24 8E220090 */ lw $v0, 0x90($s1) +/* CB5D28 80240D28 1C400040 */ bgtz $v0, .L80240E2C +/* CB5D2C 80240D2C 2442FFFF */ addiu $v0, $v0, -1 +/* CB5D30 80240D30 860200A8 */ lh $v0, 0xa8($s0) +/* CB5D34 80240D34 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB5D38 80240D38 44821000 */ mtc1 $v0, $f2 +/* CB5D3C 80240D3C 00000000 */ nop +/* CB5D40 80240D40 468010A0 */ cvt.s.w $f2, $f2 +/* CB5D44 80240D44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CB5D48 80240D48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CB5D4C 80240D4C 46020000 */ add.s $f0, $f0, $f2 +/* CB5D50 80240D50 3C014024 */ lui $at, 0x4024 +/* CB5D54 80240D54 44812800 */ mtc1 $at, $f5 +/* CB5D58 80240D58 44802000 */ mtc1 $zero, $f4 +/* CB5D5C 80240D5C C442002C */ lwc1 $f2, 0x2c($v0) +/* CB5D60 80240D60 46000021 */ cvt.d.s $f0, $f0 +/* CB5D64 80240D64 46240000 */ add.d $f0, $f0, $f4 +/* CB5D68 80240D68 460010A1 */ cvt.d.s $f2, $f2 +/* CB5D6C 80240D6C 4620103C */ c.lt.d $f2, $f0 +/* CB5D70 80240D70 00000000 */ nop +/* CB5D74 80240D74 4500002E */ bc1f .L80240E30 +/* CB5D78 80240D78 0280202D */ daddu $a0, $s4, $zero +/* CB5D7C 80240D7C 24020001 */ addiu $v0, $zero, 1 +/* CB5D80 80240D80 AFA20010 */ sw $v0, 0x10($sp) +/* CB5D84 80240D84 8E460024 */ lw $a2, 0x24($s2) +/* CB5D88 80240D88 8E470028 */ lw $a3, 0x28($s2) +/* CB5D8C 80240D8C 0C01242D */ jal func_800490B4 +/* CB5D90 80240D90 0220282D */ daddu $a1, $s1, $zero +/* CB5D94 80240D94 10400026 */ beqz $v0, .L80240E30 +/* CB5D98 80240D98 0000202D */ daddu $a0, $zero, $zero +/* CB5D9C 80240D9C 0200282D */ daddu $a1, $s0, $zero +/* CB5DA0 80240DA0 0000302D */ daddu $a2, $zero, $zero +/* CB5DA4 80240DA4 2412000C */ addiu $s2, $zero, 0xc +/* CB5DA8 80240DA8 860300A8 */ lh $v1, 0xa8($s0) +/* CB5DAC 80240DAC 3C013F80 */ lui $at, 0x3f80 +/* CB5DB0 80240DB0 44810000 */ mtc1 $at, $f0 +/* CB5DB4 80240DB4 3C014000 */ lui $at, 0x4000 +/* CB5DB8 80240DB8 44811000 */ mtc1 $at, $f2 +/* CB5DBC 80240DBC 3C01C1A0 */ lui $at, 0xc1a0 +/* CB5DC0 80240DC0 44812000 */ mtc1 $at, $f4 +/* CB5DC4 80240DC4 44834000 */ mtc1 $v1, $f8 +/* CB5DC8 80240DC8 00000000 */ nop +/* CB5DCC 80240DCC 46804220 */ cvt.s.w $f8, $f8 +/* CB5DD0 80240DD0 44074000 */ mfc1 $a3, $f8 +/* CB5DD4 80240DD4 27A20038 */ addiu $v0, $sp, 0x38 +/* CB5DD8 80240DD8 AFB2001C */ sw $s2, 0x1c($sp) +/* CB5DDC 80240DDC AFA20020 */ sw $v0, 0x20($sp) +/* CB5DE0 80240DE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CB5DE4 80240DE4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CB5DE8 80240DE8 0C01BFA4 */ jal fx_emote +/* CB5DEC 80240DEC E7A40018 */ swc1 $f4, 0x18($sp) +/* CB5DF0 80240DF0 0200202D */ daddu $a0, $s0, $zero +/* CB5DF4 80240DF4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CB5DF8 80240DF8 C480003C */ lwc1 $f0, 0x3c($a0) +/* CB5DFC 80240DFC 3C060020 */ lui $a2, 0x20 +/* CB5E00 80240E00 0C012530 */ jal func_800494C0 +/* CB5E04 80240E04 E4800064 */ swc1 $f0, 0x64($a0) +/* CB5E08 80240E08 8E220018 */ lw $v0, 0x18($s1) +/* CB5E0C 80240E0C 9442002A */ lhu $v0, 0x2a($v0) +/* CB5E10 80240E10 30420001 */ andi $v0, $v0, 1 +/* CB5E14 80240E14 10400003 */ beqz $v0, .L80240E24 +/* CB5E18 80240E18 2402000A */ addiu $v0, $zero, 0xa +/* CB5E1C 80240E1C 080903B3 */ j .L80240ECC +/* CB5E20 80240E20 AE620070 */ sw $v0, 0x70($s3) +.L80240E24: +/* CB5E24 80240E24 080903B3 */ j .L80240ECC +/* CB5E28 80240E28 AE720070 */ sw $s2, 0x70($s3) +.L80240E2C: +/* CB5E2C 80240E2C AE220090 */ sw $v0, 0x90($s1) +.L80240E30: +/* CB5E30 80240E30 8602008C */ lh $v0, 0x8c($s0) +/* CB5E34 80240E34 14400025 */ bnez $v0, .L80240ECC +/* CB5E38 80240E38 00000000 */ nop +/* CB5E3C 80240E3C 8602008E */ lh $v0, 0x8e($s0) +/* CB5E40 80240E40 1C400022 */ bgtz $v0, .L80240ECC +/* CB5E44 80240E44 00000000 */ nop +/* CB5E48 80240E48 8E620074 */ lw $v0, 0x74($s3) +/* CB5E4C 80240E4C 2442FFFF */ addiu $v0, $v0, -1 +/* CB5E50 80240E50 1840001D */ blez $v0, .L80240EC8 +/* CB5E54 80240E54 AE620074 */ sw $v0, 0x74($s3) +/* CB5E58 80240E58 8E220018 */ lw $v0, 0x18($s1) +/* CB5E5C 80240E5C 9442002A */ lhu $v0, 0x2a($v0) +/* CB5E60 80240E60 30420010 */ andi $v0, $v0, 0x10 +/* CB5E64 80240E64 14400007 */ bnez $v0, .L80240E84 +/* CB5E68 80240E68 00000000 */ nop +/* CB5E6C 80240E6C C600000C */ lwc1 $f0, 0xc($s0) +/* CB5E70 80240E70 3C014334 */ lui $at, 0x4334 +/* CB5E74 80240E74 44816000 */ mtc1 $at, $f12 +/* CB5E78 80240E78 0C00A6C9 */ jal clamp_angle +/* CB5E7C 80240E7C 460C0300 */ add.s $f12, $f0, $f12 +/* CB5E80 80240E80 E600000C */ swc1 $f0, 0xc($s0) +.L80240E84: +/* CB5E84 80240E84 0C00A67F */ jal rand_int +/* CB5E88 80240E88 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CB5E8C 80240E8C 3C032E8B */ lui $v1, 0x2e8b +/* CB5E90 80240E90 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CB5E94 80240E94 00430018 */ mult $v0, $v1 +/* CB5E98 80240E98 00021FC3 */ sra $v1, $v0, 0x1f +/* CB5E9C 80240E9C 00004010 */ mfhi $t0 +/* CB5EA0 80240EA0 00082043 */ sra $a0, $t0, 1 +/* CB5EA4 80240EA4 00832023 */ subu $a0, $a0, $v1 +/* CB5EA8 80240EA8 00041840 */ sll $v1, $a0, 1 +/* CB5EAC 80240EAC 00641821 */ addu $v1, $v1, $a0 +/* CB5EB0 80240EB0 00031880 */ sll $v1, $v1, 2 +/* CB5EB4 80240EB4 00641823 */ subu $v1, $v1, $a0 +/* CB5EB8 80240EB8 00431023 */ subu $v0, $v0, $v1 +/* CB5EBC 80240EBC 24420005 */ addiu $v0, $v0, 5 +/* CB5EC0 80240EC0 080903B3 */ j .L80240ECC +/* CB5EC4 80240EC4 A602008E */ sh $v0, 0x8e($s0) +.L80240EC8: +/* CB5EC8 80240EC8 AE600070 */ sw $zero, 0x70($s3) +.L80240ECC: +/* CB5ECC 80240ECC 8FBF0054 */ lw $ra, 0x54($sp) +/* CB5ED0 80240ED0 8FB40050 */ lw $s4, 0x50($sp) +/* CB5ED4 80240ED4 8FB3004C */ lw $s3, 0x4c($sp) +/* CB5ED8 80240ED8 8FB20048 */ lw $s2, 0x48($sp) +/* CB5EDC 80240EDC 8FB10044 */ lw $s1, 0x44($sp) +/* CB5EE0 80240EE0 8FB00040 */ lw $s0, 0x40($sp) +/* CB5EE4 80240EE4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CB5EE8 80240EE8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* CB5EEC 80240EEC D7B60060 */ ldc1 $f22, 0x60($sp) +/* CB5EF0 80240EF0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CB5EF4 80240EF4 03E00008 */ jr $ra +/* CB5EF8 80240EF8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240EFC_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240EFC_CB5000.s new file mode 100644 index 0000000000..d1850a6443 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240EFC_CB5000.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EFC_CB5EFC +/* CB5EFC 80240EFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB5F00 80240F00 AFB20018 */ sw $s2, 0x18($sp) +/* CB5F04 80240F04 0080902D */ daddu $s2, $a0, $zero +/* CB5F08 80240F08 AFBF001C */ sw $ra, 0x1c($sp) +/* CB5F0C 80240F0C AFB10014 */ sw $s1, 0x14($sp) +/* CB5F10 80240F10 AFB00010 */ sw $s0, 0x10($sp) +/* CB5F14 80240F14 8E510148 */ lw $s1, 0x148($s2) +/* CB5F18 80240F18 0C00EABB */ jal get_npc_unsafe +/* CB5F1C 80240F1C 86240008 */ lh $a0, 8($s1) +/* CB5F20 80240F20 0040802D */ daddu $s0, $v0, $zero +/* CB5F24 80240F24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CB5F28 80240F28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CB5F2C 80240F2C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CB5F30 80240F30 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CB5F34 80240F34 A600008E */ sh $zero, 0x8e($s0) +/* CB5F38 80240F38 8C460028 */ lw $a2, 0x28($v0) +/* CB5F3C 80240F3C 0C00A720 */ jal atan2 +/* CB5F40 80240F40 8C470030 */ lw $a3, 0x30($v0) +/* CB5F44 80240F44 E600000C */ swc1 $f0, 0xc($s0) +/* CB5F48 80240F48 8E2200CC */ lw $v0, 0xcc($s1) +/* CB5F4C 80240F4C 8C420020 */ lw $v0, 0x20($v0) +/* CB5F50 80240F50 AE020028 */ sw $v0, 0x28($s0) +/* CB5F54 80240F54 2402000B */ addiu $v0, $zero, 0xb +/* CB5F58 80240F58 AE420070 */ sw $v0, 0x70($s2) +/* CB5F5C 80240F5C 8FBF001C */ lw $ra, 0x1c($sp) +/* CB5F60 80240F60 8FB20018 */ lw $s2, 0x18($sp) +/* CB5F64 80240F64 8FB10014 */ lw $s1, 0x14($sp) +/* CB5F68 80240F68 8FB00010 */ lw $s0, 0x10($sp) +/* CB5F6C 80240F6C 03E00008 */ jr $ra +/* CB5F70 80240F70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240F74.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240F74.s new file mode 100644 index 0000000000..449f962571 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240F74.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F74 +/* CB5F74 80240F74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB5F78 80240F78 AFB00010 */ sw $s0, 0x10($sp) +/* CB5F7C 80240F7C 0080802D */ daddu $s0, $a0, $zero +/* CB5F80 80240F80 AFBF0014 */ sw $ra, 0x14($sp) +/* CB5F84 80240F84 8E020148 */ lw $v0, 0x148($s0) +/* CB5F88 80240F88 0C00EABB */ jal get_npc_unsafe +/* CB5F8C 80240F8C 84440008 */ lh $a0, 8($v0) +/* CB5F90 80240F90 9443008E */ lhu $v1, 0x8e($v0) +/* CB5F94 80240F94 C440003C */ lwc1 $f0, 0x3c($v0) +/* CB5F98 80240F98 24640001 */ addiu $a0, $v1, 1 +/* CB5F9C 80240F9C 00031C00 */ sll $v1, $v1, 0x10 +/* CB5FA0 80240FA0 00031B83 */ sra $v1, $v1, 0xe +/* CB5FA4 80240FA4 A444008E */ sh $a0, 0x8e($v0) +/* CB5FA8 80240FA8 3C018024 */ lui $at, 0x8024 +/* CB5FAC 80240FAC 00230821 */ addu $at, $at, $v1 +/* CB5FB0 80240FB0 C422362C */ lwc1 $f2, 0x362c($at) +/* CB5FB4 80240FB4 8443008E */ lh $v1, 0x8e($v0) +/* CB5FB8 80240FB8 46020000 */ add.s $f0, $f0, $f2 +/* CB5FBC 80240FBC 28630005 */ slti $v1, $v1, 5 +/* CB5FC0 80240FC0 14600003 */ bnez $v1, .L80240FD0 +/* CB5FC4 80240FC4 E440003C */ swc1 $f0, 0x3c($v0) +/* CB5FC8 80240FC8 2402000C */ addiu $v0, $zero, 0xc +/* CB5FCC 80240FCC AE020070 */ sw $v0, 0x70($s0) +.L80240FD0: +/* CB5FD0 80240FD0 8FBF0014 */ lw $ra, 0x14($sp) +/* CB5FD4 80240FD4 8FB00010 */ lw $s0, 0x10($sp) +/* CB5FD8 80240FD8 03E00008 */ jr $ra +/* CB5FDC 80240FDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80240FE0_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80240FE0_CB5000.s new file mode 100644 index 0000000000..ff44f26419 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80240FE0_CB5000.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0_CB5FE0 +/* CB5FE0 80240FE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CB5FE4 80240FE4 AFB3001C */ sw $s3, 0x1c($sp) +/* CB5FE8 80240FE8 0080982D */ daddu $s3, $a0, $zero +/* CB5FEC 80240FEC AFBF0020 */ sw $ra, 0x20($sp) +/* CB5FF0 80240FF0 AFB20018 */ sw $s2, 0x18($sp) +/* CB5FF4 80240FF4 AFB10014 */ sw $s1, 0x14($sp) +/* CB5FF8 80240FF8 AFB00010 */ sw $s0, 0x10($sp) +/* CB5FFC 80240FFC 8E720148 */ lw $s2, 0x148($s3) +/* CB6000 80241000 86440008 */ lh $a0, 8($s2) +/* CB6004 80241004 0C00EABB */ jal get_npc_unsafe +/* CB6008 80241008 00A0802D */ daddu $s0, $a1, $zero +/* CB600C 8024100C 0040882D */ daddu $s1, $v0, $zero +/* CB6010 80241010 C6420080 */ lwc1 $f2, 0x80($s2) +/* CB6014 80241014 468010A0 */ cvt.s.w $f2, $f2 +/* CB6018 80241018 460010A1 */ cvt.d.s $f2, $f2 +/* CB601C 8024101C C6400084 */ lwc1 $f0, 0x84($s2) +/* CB6020 80241020 46800020 */ cvt.s.w $f0, $f0 +/* CB6024 80241024 46000021 */ cvt.d.s $f0, $f0 +/* CB6028 80241028 3C014059 */ lui $at, 0x4059 +/* CB602C 8024102C 44812800 */ mtc1 $at, $f5 +/* CB6030 80241030 44802000 */ mtc1 $zero, $f4 +/* CB6034 80241034 8E4200CC */ lw $v0, 0xcc($s2) +/* CB6038 80241038 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CB603C 8024103C C62E0040 */ lwc1 $f14, 0x40($s1) +/* CB6040 80241040 46241083 */ div.d $f2, $f2, $f4 +/* CB6044 80241044 462010A0 */ cvt.s.d $f2, $f2 +/* CB6048 80241048 46240003 */ div.d $f0, $f0, $f4 +/* CB604C 8024104C 8C420020 */ lw $v0, 0x20($v0) +/* CB6050 80241050 46200020 */ cvt.s.d $f0, $f0 +/* CB6054 80241054 E622001C */ swc1 $f2, 0x1c($s1) +/* CB6058 80241058 E6200014 */ swc1 $f0, 0x14($s1) +/* CB605C 8024105C AE220028 */ sw $v0, 0x28($s1) +/* CB6060 80241060 C6000018 */ lwc1 $f0, 0x18($s0) +/* CB6064 80241064 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CB6068 80241068 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CB606C 8024106C E6200018 */ swc1 $f0, 0x18($s1) +/* CB6070 80241070 8C460028 */ lw $a2, 0x28($v0) +/* CB6074 80241074 0C00A720 */ jal atan2 +/* CB6078 80241078 8C470030 */ lw $a3, 0x30($v0) +/* CB607C 8024107C E620000C */ swc1 $f0, 0xc($s1) +/* CB6080 80241080 8E420018 */ lw $v0, 0x18($s2) +/* CB6084 80241084 AE400074 */ sw $zero, 0x74($s2) +/* CB6088 80241088 9442002A */ lhu $v0, 0x2a($v0) +/* CB608C 8024108C 30420002 */ andi $v0, $v0, 2 +/* CB6090 80241090 10400005 */ beqz $v0, .L802410A8 +/* CB6094 80241094 24020003 */ addiu $v0, $zero, 3 +/* CB6098 80241098 A622008E */ sh $v0, 0x8e($s1) +/* CB609C 8024109C 2402000D */ addiu $v0, $zero, 0xd +/* CB60A0 802410A0 0809043E */ j .L802410F8 +/* CB60A4 802410A4 AE620070 */ sw $v0, 0x70($s3) +.L802410A8: +/* CB60A8 802410A8 24030001 */ addiu $v1, $zero, 1 +/* CB60AC 802410AC 2402000E */ addiu $v0, $zero, 0xe +/* CB60B0 802410B0 A623008E */ sh $v1, 0x8e($s1) +/* CB60B4 802410B4 AE620070 */ sw $v0, 0x70($s3) +/* CB60B8 802410B8 C6200038 */ lwc1 $f0, 0x38($s1) +/* CB60BC 802410BC 4600018D */ trunc.w.s $f6, $f0 +/* CB60C0 802410C0 44023000 */ mfc1 $v0, $f6 +/* CB60C4 802410C4 00000000 */ nop +/* CB60C8 802410C8 A6420010 */ sh $v0, 0x10($s2) +/* CB60CC 802410CC C620003C */ lwc1 $f0, 0x3c($s1) +/* CB60D0 802410D0 4600018D */ trunc.w.s $f6, $f0 +/* CB60D4 802410D4 44023000 */ mfc1 $v0, $f6 +/* CB60D8 802410D8 00000000 */ nop +/* CB60DC 802410DC A6420012 */ sh $v0, 0x12($s2) +/* CB60E0 802410E0 C6200040 */ lwc1 $f0, 0x40($s1) +/* CB60E4 802410E4 A2430007 */ sb $v1, 7($s2) +/* CB60E8 802410E8 4600018D */ trunc.w.s $f6, $f0 +/* CB60EC 802410EC 44023000 */ mfc1 $v0, $f6 +/* CB60F0 802410F0 00000000 */ nop +/* CB60F4 802410F4 A6420014 */ sh $v0, 0x14($s2) +.L802410F8: +/* CB60F8 802410F8 8FBF0020 */ lw $ra, 0x20($sp) +/* CB60FC 802410FC 8FB3001C */ lw $s3, 0x1c($sp) +/* CB6100 80241100 8FB20018 */ lw $s2, 0x18($sp) +/* CB6104 80241104 8FB10014 */ lw $s1, 0x14($sp) +/* CB6108 80241108 8FB00010 */ lw $s0, 0x10($sp) +/* CB610C 8024110C 03E00008 */ jr $ra +/* CB6110 80241110 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80241114_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_80241114_CB5000.s new file mode 100644 index 0000000000..ae7d0908a3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80241114_CB5000.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241114_CB6114 +/* CB6114 80241114 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB6118 80241118 AFB00010 */ sw $s0, 0x10($sp) +/* CB611C 8024111C 0080802D */ daddu $s0, $a0, $zero +/* CB6120 80241120 AFBF0014 */ sw $ra, 0x14($sp) +/* CB6124 80241124 8E020148 */ lw $v0, 0x148($s0) +/* CB6128 80241128 0C00EABB */ jal get_npc_unsafe +/* CB612C 8024112C 84440008 */ lh $a0, 8($v0) +/* CB6130 80241130 0040202D */ daddu $a0, $v0, $zero +/* CB6134 80241134 8482008E */ lh $v0, 0x8e($a0) +/* CB6138 80241138 9483008E */ lhu $v1, 0x8e($a0) +/* CB613C 8024113C 18400005 */ blez $v0, .L80241154 +/* CB6140 80241140 2462FFFF */ addiu $v0, $v1, -1 +/* CB6144 80241144 A482008E */ sh $v0, 0x8e($a0) +/* CB6148 80241148 00021400 */ sll $v0, $v0, 0x10 +/* CB614C 8024114C 1C400006 */ bgtz $v0, .L80241168 +/* CB6150 80241150 00000000 */ nop +.L80241154: +/* CB6154 80241154 8482008C */ lh $v0, 0x8c($a0) +/* CB6158 80241158 14400003 */ bnez $v0, .L80241168 +/* CB615C 8024115C 2402000E */ addiu $v0, $zero, 0xe +/* CB6160 80241160 A480008E */ sh $zero, 0x8e($a0) +/* CB6164 80241164 AE020070 */ sw $v0, 0x70($s0) +.L80241168: +/* CB6168 80241168 8FBF0014 */ lw $ra, 0x14($sp) +/* CB616C 8024116C 8FB00010 */ lw $s0, 0x10($sp) +/* CB6170 80241170 03E00008 */ jr $ra +/* CB6174 80241174 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80241178.s b/asm/nonmatchings/world/area_flo/flo_09/func_80241178.s new file mode 100644 index 0000000000..85e98e5cdf --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80241178.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241178 +/* CB6178 80241178 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CB617C 8024117C AFB20030 */ sw $s2, 0x30($sp) +/* CB6180 80241180 0080902D */ daddu $s2, $a0, $zero +/* CB6184 80241184 AFBF0038 */ sw $ra, 0x38($sp) +/* CB6188 80241188 AFB30034 */ sw $s3, 0x34($sp) +/* CB618C 8024118C AFB1002C */ sw $s1, 0x2c($sp) +/* CB6190 80241190 AFB00028 */ sw $s0, 0x28($sp) +/* CB6194 80241194 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CB6198 80241198 F7B40040 */ sdc1 $f20, 0x40($sp) +/* CB619C 8024119C 8E510148 */ lw $s1, 0x148($s2) +/* CB61A0 802411A0 86240008 */ lh $a0, 8($s1) +/* CB61A4 802411A4 0C00EABB */ jal get_npc_unsafe +/* CB61A8 802411A8 00A0982D */ daddu $s3, $a1, $zero +/* CB61AC 802411AC 0040802D */ daddu $s0, $v0, $zero +/* CB61B0 802411B0 0200202D */ daddu $a0, $s0, $zero +/* CB61B4 802411B4 C6220088 */ lwc1 $f2, 0x88($s1) +/* CB61B8 802411B8 468010A0 */ cvt.s.w $f2, $f2 +/* CB61BC 802411BC 460010A1 */ cvt.d.s $f2, $f2 +/* CB61C0 802411C0 C604001C */ lwc1 $f4, 0x1c($s0) +/* CB61C4 802411C4 C6000014 */ lwc1 $f0, 0x14($s0) +/* CB61C8 802411C8 8E050018 */ lw $a1, 0x18($s0) +/* CB61CC 802411CC 46002100 */ add.s $f4, $f4, $f0 +/* CB61D0 802411D0 8E06000C */ lw $a2, 0xc($s0) +/* CB61D4 802411D4 C6200078 */ lwc1 $f0, 0x78($s1) +/* CB61D8 802411D8 46800020 */ cvt.s.w $f0, $f0 +/* CB61DC 802411DC E604001C */ swc1 $f4, 0x1c($s0) +/* CB61E0 802411E0 3C014059 */ lui $at, 0x4059 +/* CB61E4 802411E4 44812800 */ mtc1 $at, $f5 +/* CB61E8 802411E8 44802000 */ mtc1 $zero, $f4 +/* CB61EC 802411EC 46000021 */ cvt.d.s $f0, $f0 +/* CB61F0 802411F0 46240003 */ div.d $f0, $f0, $f4 +/* CB61F4 802411F4 46200520 */ cvt.s.d $f20, $f0 +/* CB61F8 802411F8 46241083 */ div.d $f2, $f2, $f4 +/* CB61FC 802411FC 0C00EA95 */ jal npc_move_heading +/* CB6200 80241200 462015A0 */ cvt.s.d $f22, $f2 +/* CB6204 80241204 C604001C */ lwc1 $f4, 0x1c($s0) +/* CB6208 80241208 44801000 */ mtc1 $zero, $f2 +/* CB620C 8024120C 44801800 */ mtc1 $zero, $f3 +/* CB6210 80241210 46002021 */ cvt.d.s $f0, $f4 +/* CB6214 80241214 4620103E */ c.le.d $f2, $f0 +/* CB6218 80241218 00000000 */ nop +/* CB621C 8024121C 45000030 */ bc1f .L802412E0 +/* CB6220 80241220 00000000 */ nop +/* CB6224 80241224 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB6228 80241228 46040000 */ add.s $f0, $f0, $f4 +/* CB622C 8024122C E600003C */ swc1 $f0, 0x3c($s0) +/* CB6230 80241230 8E2200CC */ lw $v0, 0xcc($s1) +/* CB6234 80241234 8C420024 */ lw $v0, 0x24($v0) +/* CB6238 80241238 AE020028 */ sw $v0, 0x28($s0) +/* CB623C 8024123C A2200007 */ sb $zero, 7($s1) +/* CB6240 80241240 8E020000 */ lw $v0, ($s0) +/* CB6244 80241244 30420008 */ andi $v0, $v0, 8 +/* CB6248 80241248 14400011 */ bnez $v0, .L80241290 +/* CB624C 8024124C 0000102D */ daddu $v0, $zero, $zero +/* CB6250 80241250 27A50018 */ addiu $a1, $sp, 0x18 +/* CB6254 80241254 27A6001C */ addiu $a2, $sp, 0x1c +/* CB6258 80241258 C6000038 */ lwc1 $f0, 0x38($s0) +/* CB625C 8024125C C602003C */ lwc1 $f2, 0x3c($s0) +/* CB6260 80241260 C6040040 */ lwc1 $f4, 0x40($s0) +/* CB6264 80241264 3C01447A */ lui $at, 0x447a +/* CB6268 80241268 44813000 */ mtc1 $at, $f6 +/* CB626C 8024126C 27A20024 */ addiu $v0, $sp, 0x24 +/* CB6270 80241270 E7A00018 */ swc1 $f0, 0x18($sp) +/* CB6274 80241274 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CB6278 80241278 E7A40020 */ swc1 $f4, 0x20($sp) +/* CB627C 8024127C E7A60024 */ swc1 $f6, 0x24($sp) +/* CB6280 80241280 AFA20010 */ sw $v0, 0x10($sp) +/* CB6284 80241284 8E040080 */ lw $a0, 0x80($s0) +/* CB6288 80241288 0C0372DF */ jal func_800DCB7C +/* CB628C 8024128C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241290: +/* CB6290 80241290 1040000B */ beqz $v0, .L802412C0 +/* CB6294 80241294 00000000 */ nop +/* CB6298 80241298 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CB629C 8024129C 46140080 */ add.s $f2, $f0, $f20 +/* CB62A0 802412A0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB62A4 802412A4 4600103E */ c.le.s $f2, $f0 +/* CB62A8 802412A8 00000000 */ nop +/* CB62AC 802412AC 4500008D */ bc1f .L802414E4 +/* CB62B0 802412B0 00000000 */ nop +/* CB62B4 802412B4 E602003C */ swc1 $f2, 0x3c($s0) +/* CB62B8 802412B8 08090539 */ j .L802414E4 +/* CB62BC 802412BC AE400070 */ sw $zero, 0x70($s2) +.L802412C0: +/* CB62C0 802412C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB62C4 802412C4 C6000064 */ lwc1 $f0, 0x64($s0) +/* CB62C8 802412C8 4602003E */ c.le.s $f0, $f2 +/* CB62CC 802412CC 00000000 */ nop +/* CB62D0 802412D0 45030084 */ bc1tl .L802414E4 +/* CB62D4 802412D4 AE400070 */ sw $zero, 0x70($s2) +/* CB62D8 802412D8 08090539 */ j .L802414E4 +/* CB62DC 802412DC 00000000 */ nop +.L802412E0: +/* CB62E0 802412E0 4622003C */ c.lt.d $f0, $f2 +/* CB62E4 802412E4 00000000 */ nop +/* CB62E8 802412E8 4500007E */ bc1f .L802414E4 +/* CB62EC 802412EC 00000000 */ nop +/* CB62F0 802412F0 9602008E */ lhu $v0, 0x8e($s0) +/* CB62F4 802412F4 24420001 */ addiu $v0, $v0, 1 +/* CB62F8 802412F8 A602008E */ sh $v0, 0x8e($s0) +/* CB62FC 802412FC 00021400 */ sll $v0, $v0, 0x10 +/* CB6300 80241300 8E630020 */ lw $v1, 0x20($s3) +/* CB6304 80241304 00021403 */ sra $v0, $v0, 0x10 +/* CB6308 80241308 0043102A */ slt $v0, $v0, $v1 +/* CB630C 8024130C 14400026 */ bnez $v0, .L802413A8 +/* CB6310 80241310 00000000 */ nop +/* CB6314 80241314 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CB6318 80241318 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CB631C 8024131C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CB6320 80241320 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CB6324 80241324 A600008E */ sh $zero, 0x8e($s0) +/* CB6328 80241328 8C460028 */ lw $a2, 0x28($v0) +/* CB632C 8024132C 0C00A720 */ jal atan2 +/* CB6330 80241330 8C470030 */ lw $a3, 0x30($v0) +/* CB6334 80241334 46000506 */ mov.s $f20, $f0 +/* CB6338 80241338 C60C000C */ lwc1 $f12, 0xc($s0) +/* CB633C 8024133C 0C00A70A */ jal get_clamped_angle_diff +/* CB6340 80241340 4600A386 */ mov.s $f14, $f20 +/* CB6344 80241344 46000086 */ mov.s $f2, $f0 +/* CB6348 80241348 8E62001C */ lw $v0, 0x1c($s3) +/* CB634C 8024134C 46001005 */ abs.s $f0, $f2 +/* CB6350 80241350 44822000 */ mtc1 $v0, $f4 +/* CB6354 80241354 00000000 */ nop +/* CB6358 80241358 46802120 */ cvt.s.w $f4, $f4 +/* CB635C 8024135C 4600203C */ c.lt.s $f4, $f0 +/* CB6360 80241360 00000000 */ nop +/* CB6364 80241364 4500000D */ bc1f .L8024139C +/* CB6368 80241368 00000000 */ nop +/* CB636C 8024136C 44800000 */ mtc1 $zero, $f0 +/* CB6370 80241370 C614000C */ lwc1 $f20, 0xc($s0) +/* CB6374 80241374 4600103C */ c.lt.s $f2, $f0 +/* CB6378 80241378 00000000 */ nop +/* CB637C 8024137C 45000006 */ bc1f .L80241398 +/* CB6380 80241380 00021023 */ negu $v0, $v0 +/* CB6384 80241384 44820000 */ mtc1 $v0, $f0 +/* CB6388 80241388 00000000 */ nop +/* CB638C 8024138C 46800020 */ cvt.s.w $f0, $f0 +/* CB6390 80241390 080904E7 */ j .L8024139C +/* CB6394 80241394 4600A500 */ add.s $f20, $f20, $f0 +.L80241398: +/* CB6398 80241398 4604A500 */ add.s $f20, $f20, $f4 +.L8024139C: +/* CB639C 8024139C 0C00A6C9 */ jal clamp_angle +/* CB63A0 802413A0 4600A306 */ mov.s $f12, $f20 +/* CB63A4 802413A4 E600000C */ swc1 $f0, 0xc($s0) +.L802413A8: +/* CB63A8 802413A8 8E020000 */ lw $v0, ($s0) +/* CB63AC 802413AC 30420008 */ andi $v0, $v0, 8 +/* CB63B0 802413B0 1040000A */ beqz $v0, .L802413DC +/* CB63B4 802413B4 27A50018 */ addiu $a1, $sp, 0x18 +/* CB63B8 802413B8 C602003C */ lwc1 $f2, 0x3c($s0) +/* CB63BC 802413BC C600001C */ lwc1 $f0, 0x1c($s0) +/* CB63C0 802413C0 46001080 */ add.s $f2, $f2, $f0 +/* CB63C4 802413C4 4616103C */ c.lt.s $f2, $f22 +/* CB63C8 802413C8 00000000 */ nop +/* CB63CC 802413CC 45020045 */ bc1fl .L802414E4 +/* CB63D0 802413D0 E602003C */ swc1 $f2, 0x3c($s0) +/* CB63D4 802413D4 08090538 */ j .L802414E0 +/* CB63D8 802413D8 E616003C */ swc1 $f22, 0x3c($s0) +.L802413DC: +/* CB63DC 802413DC C6000038 */ lwc1 $f0, 0x38($s0) +/* CB63E0 802413E0 27A6001C */ addiu $a2, $sp, 0x1c +/* CB63E4 802413E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CB63E8 802413E8 860200A8 */ lh $v0, 0xa8($s0) +/* CB63EC 802413EC C600001C */ lwc1 $f0, 0x1c($s0) +/* CB63F0 802413F0 C604003C */ lwc1 $f4, 0x3c($s0) +/* CB63F4 802413F4 44821000 */ mtc1 $v0, $f2 +/* CB63F8 802413F8 00000000 */ nop +/* CB63FC 802413FC 468010A0 */ cvt.s.w $f2, $f2 +/* CB6400 80241400 46000005 */ abs.s $f0, $f0 +/* CB6404 80241404 46020000 */ add.s $f0, $f0, $f2 +/* CB6408 80241408 C6060040 */ lwc1 $f6, 0x40($s0) +/* CB640C 8024140C 27A20024 */ addiu $v0, $sp, 0x24 +/* CB6410 80241410 46022100 */ add.s $f4, $f4, $f2 +/* CB6414 80241414 3C014024 */ lui $at, 0x4024 +/* CB6418 80241418 44811800 */ mtc1 $at, $f3 +/* CB641C 8024141C 44801000 */ mtc1 $zero, $f2 +/* CB6420 80241420 46000021 */ cvt.d.s $f0, $f0 +/* CB6424 80241424 46220000 */ add.d $f0, $f0, $f2 +/* CB6428 80241428 E7A60020 */ swc1 $f6, 0x20($sp) +/* CB642C 8024142C E7A4001C */ swc1 $f4, 0x1c($sp) +/* CB6430 80241430 46200020 */ cvt.s.d $f0, $f0 +/* CB6434 80241434 E7A00024 */ swc1 $f0, 0x24($sp) +/* CB6438 80241438 AFA20010 */ sw $v0, 0x10($sp) +/* CB643C 8024143C 8E040080 */ lw $a0, 0x80($s0) +/* CB6440 80241440 0C0372DF */ jal func_800DCB7C +/* CB6444 80241444 27A70020 */ addiu $a3, $sp, 0x20 +/* CB6448 80241448 10400015 */ beqz $v0, .L802414A0 +/* CB644C 8024144C 00000000 */ nop +/* CB6450 80241450 860200A8 */ lh $v0, 0xa8($s0) +/* CB6454 80241454 C604001C */ lwc1 $f4, 0x1c($s0) +/* CB6458 80241458 44820000 */ mtc1 $v0, $f0 +/* CB645C 8024145C 00000000 */ nop +/* CB6460 80241460 46800020 */ cvt.s.w $f0, $f0 +/* CB6464 80241464 46002085 */ abs.s $f2, $f4 +/* CB6468 80241468 46020000 */ add.s $f0, $f0, $f2 +/* CB646C 8024146C C7A20024 */ lwc1 $f2, 0x24($sp) +/* CB6470 80241470 4600103E */ c.le.s $f2, $f0 +/* CB6474 80241474 00000000 */ nop +/* CB6478 80241478 45000005 */ bc1f .L80241490 +/* CB647C 8024147C 00000000 */ nop +/* CB6480 80241480 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CB6484 80241484 AE00001C */ sw $zero, 0x1c($s0) +/* CB6488 80241488 08090539 */ j .L802414E4 +/* CB648C 8024148C E600003C */ swc1 $f0, 0x3c($s0) +.L80241490: +/* CB6490 80241490 C600003C */ lwc1 $f0, 0x3c($s0) +/* CB6494 80241494 46040000 */ add.s $f0, $f0, $f4 +/* CB6498 80241498 08090539 */ j .L802414E4 +/* CB649C 8024149C E600003C */ swc1 $f0, 0x3c($s0) +.L802414A0: +/* CB64A0 802414A0 C606003C */ lwc1 $f6, 0x3c($s0) +/* CB64A4 802414A4 860200A8 */ lh $v0, 0xa8($s0) +/* CB64A8 802414A8 46163081 */ sub.s $f2, $f6, $f22 +/* CB64AC 802414AC 44820000 */ mtc1 $v0, $f0 +/* CB64B0 802414B0 00000000 */ nop +/* CB64B4 802414B4 46800020 */ cvt.s.w $f0, $f0 +/* CB64B8 802414B8 46001080 */ add.s $f2, $f2, $f0 +/* CB64BC 802414BC C604001C */ lwc1 $f4, 0x1c($s0) +/* CB64C0 802414C0 46002005 */ abs.s $f0, $f4 +/* CB64C4 802414C4 4602003C */ c.lt.s $f0, $f2 +/* CB64C8 802414C8 00000000 */ nop +/* CB64CC 802414CC 45020005 */ bc1fl .L802414E4 +/* CB64D0 802414D0 AE00001C */ sw $zero, 0x1c($s0) +/* CB64D4 802414D4 46043000 */ add.s $f0, $f6, $f4 +/* CB64D8 802414D8 08090539 */ j .L802414E4 +/* CB64DC 802414DC E600003C */ swc1 $f0, 0x3c($s0) +.L802414E0: +/* CB64E0 802414E0 AE00001C */ sw $zero, 0x1c($s0) +.L802414E4: +/* CB64E4 802414E4 8FBF0038 */ lw $ra, 0x38($sp) +/* CB64E8 802414E8 8FB30034 */ lw $s3, 0x34($sp) +/* CB64EC 802414EC 8FB20030 */ lw $s2, 0x30($sp) +/* CB64F0 802414F0 8FB1002C */ lw $s1, 0x2c($sp) +/* CB64F4 802414F4 8FB00028 */ lw $s0, 0x28($sp) +/* CB64F8 802414F8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* CB64FC 802414FC D7B40040 */ ldc1 $f20, 0x40($sp) +/* CB6500 80241500 03E00008 */ jr $ra +/* CB6504 80241504 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_80241508.s b/asm/nonmatchings/world/area_flo/flo_09/func_80241508.s new file mode 100644 index 0000000000..824581b2a2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_80241508.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241508 +/* CB6508 80241508 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CB650C 8024150C AFB00028 */ sw $s0, 0x28($sp) +/* CB6510 80241510 00A0802D */ daddu $s0, $a1, $zero +/* CB6514 80241514 AFB1002C */ sw $s1, 0x2c($sp) +/* CB6518 80241518 00C0882D */ daddu $s1, $a2, $zero +/* CB651C 8024151C AFBF0034 */ sw $ra, 0x34($sp) +/* CB6520 80241520 AFB20030 */ sw $s2, 0x30($sp) +/* CB6524 80241524 AE200070 */ sw $zero, 0x70($s1) +/* CB6528 80241528 8C830000 */ lw $v1, ($a0) +/* CB652C 8024152C 2402FDFF */ addiu $v0, $zero, -0x201 +/* CB6530 80241530 A480008E */ sh $zero, 0x8e($a0) +/* CB6534 80241534 00621824 */ and $v1, $v1, $v0 +/* CB6538 80241538 34650800 */ ori $a1, $v1, 0x800 +/* CB653C 8024153C AC850000 */ sw $a1, ($a0) +/* CB6540 80241540 8E0200D0 */ lw $v0, 0xd0($s0) +/* CB6544 80241544 8C420034 */ lw $v0, 0x34($v0) +/* CB6548 80241548 10400003 */ beqz $v0, .L80241558 +/* CB654C 8024154C 00E0902D */ daddu $s2, $a3, $zero +/* CB6550 80241550 08090558 */ j .L80241560 +/* CB6554 80241554 34620808 */ ori $v0, $v1, 0x808 +.L80241558: +/* CB6558 80241558 2402FFF7 */ addiu $v0, $zero, -9 +/* CB655C 8024155C 00A21024 */ and $v0, $a1, $v0 +.L80241560: +/* CB6560 80241560 AC820000 */ sw $v0, ($a0) +/* CB6564 80241564 27A20024 */ addiu $v0, $sp, 0x24 +/* CB6568 80241568 27A50018 */ addiu $a1, $sp, 0x18 +/* CB656C 8024156C C4800038 */ lwc1 $f0, 0x38($a0) +/* CB6570 80241570 C482003C */ lwc1 $f2, 0x3c($a0) +/* CB6574 80241574 C4840040 */ lwc1 $f4, 0x40($a0) +/* CB6578 80241578 3C01447A */ lui $at, 0x447a +/* CB657C 8024157C 44813000 */ mtc1 $at, $f6 +/* CB6580 80241580 27A6001C */ addiu $a2, $sp, 0x1c +/* CB6584 80241584 E7A00018 */ swc1 $f0, 0x18($sp) +/* CB6588 80241588 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CB658C 8024158C E7A40020 */ swc1 $f4, 0x20($sp) +/* CB6590 80241590 E7A60024 */ swc1 $f6, 0x24($sp) +/* CB6594 80241594 AFA20010 */ sw $v0, 0x10($sp) +/* CB6598 80241598 8C840080 */ lw $a0, 0x80($a0) +/* CB659C 8024159C 0C0372DF */ jal func_800DCB7C +/* CB65A0 802415A0 27A70020 */ addiu $a3, $sp, 0x20 +/* CB65A4 802415A4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CB65A8 802415A8 3C014059 */ lui $at, 0x4059 +/* CB65AC 802415AC 44812800 */ mtc1 $at, $f5 +/* CB65B0 802415B0 44802000 */ mtc1 $zero, $f4 +/* CB65B4 802415B4 460010A1 */ cvt.d.s $f2, $f2 +/* CB65B8 802415B8 46241082 */ mul.d $f2, $f2, $f4 +/* CB65BC 802415BC 00000000 */ nop +/* CB65C0 802415C0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CB65C4 802415C4 46000021 */ cvt.d.s $f0, $f0 +/* CB65C8 802415C8 46240002 */ mul.d $f0, $f0, $f4 +/* CB65CC 802415CC 00000000 */ nop +/* CB65D0 802415D0 3C013FE0 */ lui $at, 0x3fe0 +/* CB65D4 802415D4 44812800 */ mtc1 $at, $f5 +/* CB65D8 802415D8 44802000 */ mtc1 $zero, $f4 +/* CB65DC 802415DC 00000000 */ nop +/* CB65E0 802415E0 46241080 */ add.d $f2, $f2, $f4 +/* CB65E4 802415E4 AE000074 */ sw $zero, 0x74($s0) +/* CB65E8 802415E8 46240000 */ add.d $f0, $f0, $f4 +/* CB65EC 802415EC AE000090 */ sw $zero, 0x90($s0) +/* CB65F0 802415F0 4620120D */ trunc.w.d $f8, $f2 +/* CB65F4 802415F4 E6080078 */ swc1 $f8, 0x78($s0) +/* CB65F8 802415F8 4620020D */ trunc.w.d $f8, $f0 +/* CB65FC 802415FC E6080088 */ swc1 $f8, 0x88($s0) +/* CB6600 80241600 8E420014 */ lw $v0, 0x14($s2) +/* CB6604 80241604 AE220074 */ sw $v0, 0x74($s1) +/* CB6608 80241608 8E0200B0 */ lw $v0, 0xb0($s0) +/* CB660C 8024160C 34420010 */ ori $v0, $v0, 0x10 +/* CB6610 80241610 AE0200B0 */ sw $v0, 0xb0($s0) +/* CB6614 80241614 8FBF0034 */ lw $ra, 0x34($sp) +/* CB6618 80241618 8FB20030 */ lw $s2, 0x30($sp) +/* CB661C 8024161C 8FB1002C */ lw $s1, 0x2c($sp) +/* CB6620 80241620 8FB00028 */ lw $s0, 0x28($sp) +/* CB6624 80241624 03E00008 */ jr $ra +/* CB6628 80241628 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_09/func_8024162C_CB5000.s b/asm/nonmatchings/world/area_flo/flo_09/func_8024162C_CB5000.s new file mode 100644 index 0000000000..0ed773d0ee --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_09/func_8024162C_CB5000.s @@ -0,0 +1,133 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024162C_CB662C +/* CB662C 8024162C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CB6630 80241630 AFB40040 */ sw $s4, 0x40($sp) +/* CB6634 80241634 0080A02D */ daddu $s4, $a0, $zero +/* CB6638 80241638 AFBF0048 */ sw $ra, 0x48($sp) +/* CB663C 8024163C AFB50044 */ sw $s5, 0x44($sp) +/* CB6640 80241640 AFB3003C */ sw $s3, 0x3c($sp) +/* CB6644 80241644 AFB20038 */ sw $s2, 0x38($sp) +/* CB6648 80241648 AFB10034 */ sw $s1, 0x34($sp) +/* CB664C 8024164C AFB00030 */ sw $s0, 0x30($sp) +/* CB6650 80241650 8E920148 */ lw $s2, 0x148($s4) +/* CB6654 80241654 86440008 */ lh $a0, 8($s2) +/* CB6658 80241658 8E90000C */ lw $s0, 0xc($s4) +/* CB665C 8024165C 0C00EABB */ jal get_npc_unsafe +/* CB6660 80241660 00A0882D */ daddu $s1, $a1, $zero +/* CB6664 80241664 0280202D */ daddu $a0, $s4, $zero +/* CB6668 80241668 8E050000 */ lw $a1, ($s0) +/* CB666C 8024166C 0C0B1EAF */ jal get_variable +/* CB6670 80241670 0040A82D */ daddu $s5, $v0, $zero +/* CB6674 80241674 AFA00010 */ sw $zero, 0x10($sp) +/* CB6678 80241678 8E4300D0 */ lw $v1, 0xd0($s2) +/* CB667C 8024167C 8C630030 */ lw $v1, 0x30($v1) +/* CB6680 80241680 AFA30014 */ sw $v1, 0x14($sp) +/* CB6684 80241684 8E4300D0 */ lw $v1, 0xd0($s2) +/* CB6688 80241688 8C63001C */ lw $v1, 0x1c($v1) +/* CB668C 8024168C AFA30018 */ sw $v1, 0x18($sp) +/* CB6690 80241690 8E4300D0 */ lw $v1, 0xd0($s2) +/* CB6694 80241694 8C630024 */ lw $v1, 0x24($v1) +/* CB6698 80241698 AFA3001C */ sw $v1, 0x1c($sp) +/* CB669C 8024169C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CB66A0 802416A0 8C630028 */ lw $v1, 0x28($v1) +/* CB66A4 802416A4 27B30010 */ addiu $s3, $sp, 0x10 +/* CB66A8 802416A8 AFA30020 */ sw $v1, 0x20($sp) +/* CB66AC 802416AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CB66B0 802416B0 3C0142F0 */ lui $at, 0x42f0 +/* CB66B4 802416B4 44810000 */ mtc1 $at, $f0 +/* CB66B8 802416B8 8C63002C */ lw $v1, 0x2c($v1) +/* CB66BC 802416BC 0040802D */ daddu $s0, $v0, $zero +/* CB66C0 802416C0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CB66C4 802416C4 A7A0002C */ sh $zero, 0x2c($sp) +/* CB66C8 802416C8 12200006 */ beqz $s1, .L802416E4 +/* CB66CC 802416CC AFA30024 */ sw $v1, 0x24($sp) +/* CB66D0 802416D0 02A0202D */ daddu $a0, $s5, $zero +/* CB66D4 802416D4 0240282D */ daddu $a1, $s2, $zero +/* CB66D8 802416D8 0280302D */ daddu $a2, $s4, $zero +/* CB66DC 802416DC 0C090542 */ jal func_80241508 +/* CB66E0 802416E0 0200382D */ daddu $a3, $s0, $zero +.L802416E4: +/* CB66E4 802416E4 2402FFFE */ addiu $v0, $zero, -2 +/* CB66E8 802416E8 A2A200AB */ sb $v0, 0xab($s5) +/* CB66EC 802416EC 8E4300B0 */ lw $v1, 0xb0($s2) +/* CB66F0 802416F0 30620004 */ andi $v0, $v1, 4 +/* CB66F4 802416F4 10400007 */ beqz $v0, .L80241714 +/* CB66F8 802416F8 00000000 */ nop +/* CB66FC 802416FC 824200B4 */ lb $v0, 0xb4($s2) +/* CB6700 80241700 1440003C */ bnez $v0, .L802417F4 +/* CB6704 80241704 0000102D */ daddu $v0, $zero, $zero +/* CB6708 80241708 2402FFFB */ addiu $v0, $zero, -5 +/* CB670C 8024170C 00621024 */ and $v0, $v1, $v0 +/* CB6710 80241710 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241714: +/* CB6714 80241714 8E830070 */ lw $v1, 0x70($s4) +/* CB6718 80241718 2C62000F */ sltiu $v0, $v1, 0xf +/* CB671C 8024171C 10400034 */ beqz $v0, .L802417F0 +/* CB6720 80241720 00031080 */ sll $v0, $v1, 2 +/* CB6724 80241724 3C018024 */ lui $at, 0x8024 +/* CB6728 80241728 00220821 */ addu $at, $at, $v0 +/* CB672C 8024172C 8C2241B8 */ lw $v0, 0x41b8($at) +/* CB6730 80241730 00400008 */ jr $v0 +/* CB6734 80241734 00000000 */ nop +/* CB6738 80241738 0280202D */ daddu $a0, $s4, $zero +/* CB673C 8024173C 0200282D */ daddu $a1, $s0, $zero +/* CB6740 80241740 0C0900C8 */ jal func_80240320 +/* CB6744 80241744 0260302D */ daddu $a2, $s3, $zero +/* CB6748 80241748 0280202D */ daddu $a0, $s4, $zero +/* CB674C 8024174C 0200282D */ daddu $a1, $s0, $zero +/* CB6750 80241750 0C090134 */ jal func_802404D0 +/* CB6754 80241754 0260302D */ daddu $a2, $s3, $zero +/* CB6758 80241758 080905FD */ j .L802417F4 +/* CB675C 8024175C 0000102D */ daddu $v0, $zero, $zero +/* CB6760 80241760 0280202D */ daddu $a0, $s4, $zero +/* CB6764 80241764 0200282D */ daddu $a1, $s0, $zero +/* CB6768 80241768 0C0902BE */ jal func_80240AF8 +/* CB676C 8024176C 0260302D */ daddu $a2, $s3, $zero +/* CB6770 80241770 0280202D */ daddu $a0, $s4, $zero +/* CB6774 80241774 0200282D */ daddu $a1, $s0, $zero +/* CB6778 80241778 0C0902EE */ jal func_80240BB8 +/* CB677C 8024177C 0260302D */ daddu $a2, $s3, $zero +/* CB6780 80241780 080905FD */ j .L802417F4 +/* CB6784 80241784 0000102D */ daddu $v0, $zero, $zero +/* CB6788 80241788 0280202D */ daddu $a0, $s4, $zero +/* CB678C 8024178C 0200282D */ daddu $a1, $s0, $zero +/* CB6790 80241790 0C0903BF */ jal func_80240EFC +/* CB6794 80241794 0260302D */ daddu $a2, $s3, $zero +/* CB6798 80241798 0280202D */ daddu $a0, $s4, $zero +/* CB679C 8024179C 0200282D */ daddu $a1, $s0, $zero +/* CB67A0 802417A0 0C0903DD */ jal func_80240F74 +/* CB67A4 802417A4 0260302D */ daddu $a2, $s3, $zero +/* CB67A8 802417A8 080905FD */ j .L802417F4 +/* CB67AC 802417AC 0000102D */ daddu $v0, $zero, $zero +/* CB67B0 802417B0 0280202D */ daddu $a0, $s4, $zero +/* CB67B4 802417B4 0200282D */ daddu $a1, $s0, $zero +/* CB67B8 802417B8 0C0903F8 */ jal func_80240FE0 +/* CB67BC 802417BC 0260302D */ daddu $a2, $s3, $zero +/* CB67C0 802417C0 080905FD */ j .L802417F4 +/* CB67C4 802417C4 0000102D */ daddu $v0, $zero, $zero +/* CB67C8 802417C8 0280202D */ daddu $a0, $s4, $zero +/* CB67CC 802417CC 0200282D */ daddu $a1, $s0, $zero +/* CB67D0 802417D0 0C090445 */ jal func_80241114 +/* CB67D4 802417D4 0260302D */ daddu $a2, $s3, $zero +/* CB67D8 802417D8 080905FD */ j .L802417F4 +/* CB67DC 802417DC 0000102D */ daddu $v0, $zero, $zero +/* CB67E0 802417E0 0280202D */ daddu $a0, $s4, $zero +/* CB67E4 802417E4 0200282D */ daddu $a1, $s0, $zero +/* CB67E8 802417E8 0C09045E */ jal func_80241178 +/* CB67EC 802417EC 0260302D */ daddu $a2, $s3, $zero +.L802417F0: +/* CB67F0 802417F0 0000102D */ daddu $v0, $zero, $zero +.L802417F4: +/* CB67F4 802417F4 8FBF0048 */ lw $ra, 0x48($sp) +/* CB67F8 802417F8 8FB50044 */ lw $s5, 0x44($sp) +/* CB67FC 802417FC 8FB40040 */ lw $s4, 0x40($sp) +/* CB6800 80241800 8FB3003C */ lw $s3, 0x3c($sp) +/* CB6804 80241804 8FB20038 */ lw $s2, 0x38($sp) +/* CB6808 80241808 8FB10034 */ lw $s1, 0x34($sp) +/* CB680C 8024180C 8FB00030 */ lw $s0, 0x30($sp) +/* CB6810 80241810 03E00008 */ jr $ra +/* CB6814 80241814 27BD0050 */ addiu $sp, $sp, 0x50 +/* CB6818 80241818 00000000 */ nop +/* CB681C 8024181C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240000_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240000_CB9200.s new file mode 100644 index 0000000000..c755a5b0c2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240000_CB9200.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CB9200 +/* CB9200 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB9204 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* CB9208 80240008 3C05F5DE */ lui $a1, 0xf5de +/* CB920C 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* CB9210 80240010 0C0B1EAF */ jal get_variable +/* CB9214 80240014 0000202D */ daddu $a0, $zero, $zero +/* CB9218 80240018 28430031 */ slti $v1, $v0, 0x31 +/* CB921C 8024001C 3C020019 */ lui $v0, 0x19 +/* CB9220 80240020 14600003 */ bnez $v1, .L80240030 +/* CB9224 80240024 34420119 */ ori $v0, $v0, 0x119 +/* CB9228 80240028 3C020019 */ lui $v0, 0x19 +/* CB922C 8024002C 3442011A */ ori $v0, $v0, 0x11a +.L80240030: +/* CB9230 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* CB9234 80240034 03E00008 */ jr $ra +/* CB9238 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* CB923C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240040_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240040_CB9200.s new file mode 100644 index 0000000000..a5164e987e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240040_CB9200.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CB9240 +/* CB9240 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB9244 80240044 24040001 */ addiu $a0, $zero, 1 +/* CB9248 80240048 0000282D */ daddu $a1, $zero, $zero +/* CB924C 8024004C 00A0302D */ daddu $a2, $a1, $zero +/* CB9250 80240050 00A0382D */ daddu $a3, $a1, $zero +/* CB9254 80240054 AFBF0018 */ sw $ra, 0x18($sp) +/* CB9258 80240058 AFA00010 */ sw $zero, 0x10($sp) +/* CB925C 8024005C 0C01CA54 */ jal func_80072950 +/* CB9260 80240060 AFA00014 */ sw $zero, 0x14($sp) +/* CB9264 80240064 8FBF0018 */ lw $ra, 0x18($sp) +/* CB9268 80240068 24020002 */ addiu $v0, $zero, 2 +/* CB926C 8024006C 03E00008 */ jr $ra +/* CB9270 80240070 27BD0020 */ addiu $sp, $sp, 0x20 +/* CB9274 80240074 00000000 */ nop +/* CB9278 80240078 00000000 */ nop +/* CB927C 8024007C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240080_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240080_CB9200.s new file mode 100644 index 0000000000..51e89066c9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240080_CB9200.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080_CB9280 +/* CB9280 80240080 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB9284 80240084 AFB00010 */ sw $s0, 0x10($sp) +/* CB9288 80240088 3C108024 */ lui $s0, 0x8024 +/* CB928C 8024008C 26101CB0 */ addiu $s0, $s0, 0x1cb0 +/* CB9290 80240090 AFBF0018 */ sw $ra, 0x18($sp) +/* CB9294 80240094 AFB10014 */ sw $s1, 0x14($sp) +/* CB9298 80240098 8E020000 */ lw $v0, ($s0) +/* CB929C 8024009C 14400010 */ bnez $v0, .L802400E0 +/* CB92A0 802400A0 0080882D */ daddu $s1, $a0, $zero +/* CB92A4 802400A4 0C00AB39 */ jal heap_malloc +/* CB92A8 802400A8 24040040 */ addiu $a0, $zero, 0x40 +/* CB92AC 802400AC AE020000 */ sw $v0, ($s0) +/* CB92B0 802400B0 0000182D */ daddu $v1, $zero, $zero +/* CB92B4 802400B4 0040282D */ daddu $a1, $v0, $zero +/* CB92B8 802400B8 0220202D */ daddu $a0, $s1, $zero +.L802400BC: +/* CB92BC 802400BC 8C820084 */ lw $v0, 0x84($a0) +/* CB92C0 802400C0 24840004 */ addiu $a0, $a0, 4 +/* CB92C4 802400C4 24630001 */ addiu $v1, $v1, 1 +/* CB92C8 802400C8 ACA20000 */ sw $v0, ($a1) +/* CB92CC 802400CC 28620010 */ slti $v0, $v1, 0x10 +/* CB92D0 802400D0 1440FFFA */ bnez $v0, .L802400BC +/* CB92D4 802400D4 24A50004 */ addiu $a1, $a1, 4 +/* CB92D8 802400D8 08090047 */ j .L8024011C +/* CB92DC 802400DC 00000000 */ nop +.L802400E0: +/* CB92E0 802400E0 0000182D */ daddu $v1, $zero, $zero +/* CB92E4 802400E4 0040282D */ daddu $a1, $v0, $zero +/* CB92E8 802400E8 0220202D */ daddu $a0, $s1, $zero +.L802400EC: +/* CB92EC 802400EC 8CA20000 */ lw $v0, ($a1) +/* CB92F0 802400F0 24A50004 */ addiu $a1, $a1, 4 +/* CB92F4 802400F4 24630001 */ addiu $v1, $v1, 1 +/* CB92F8 802400F8 AC820084 */ sw $v0, 0x84($a0) +/* CB92FC 802400FC 28620010 */ slti $v0, $v1, 0x10 +/* CB9300 80240100 1440FFFA */ bnez $v0, .L802400EC +/* CB9304 80240104 24840004 */ addiu $a0, $a0, 4 +/* CB9308 80240108 3C108024 */ lui $s0, 0x8024 +/* CB930C 8024010C 26101CB0 */ addiu $s0, $s0, 0x1cb0 +/* CB9310 80240110 0C00AB4B */ jal heap_free +/* CB9314 80240114 8E040000 */ lw $a0, ($s0) +/* CB9318 80240118 AE000000 */ sw $zero, ($s0) +.L8024011C: +/* CB931C 8024011C 8FBF0018 */ lw $ra, 0x18($sp) +/* CB9320 80240120 8FB10014 */ lw $s1, 0x14($sp) +/* CB9324 80240124 8FB00010 */ lw $s0, 0x10($sp) +/* CB9328 80240128 24020002 */ addiu $v0, $zero, 2 +/* CB932C 8024012C 03E00008 */ jr $ra +/* CB9330 80240130 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240134.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240134.s new file mode 100644 index 0000000000..5a50395e39 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240134.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240134 +/* CB9334 80240134 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CB9338 80240138 AFB00010 */ sw $s0, 0x10($sp) +/* CB933C 8024013C 0080802D */ daddu $s0, $a0, $zero +/* CB9340 80240140 AFBF0018 */ sw $ra, 0x18($sp) +/* CB9344 80240144 AFB10014 */ sw $s1, 0x14($sp) +/* CB9348 80240148 8E02000C */ lw $v0, 0xc($s0) +/* CB934C 8024014C 8C510000 */ lw $s1, ($v0) +/* CB9350 80240150 0C0B1EAF */ jal get_variable +/* CB9354 80240154 0220282D */ daddu $a1, $s1, $zero +/* CB9358 80240158 3C03FFF0 */ lui $v1, 0xfff0 +/* CB935C 8024015C 3463FFFF */ ori $v1, $v1, 0xffff +/* CB9360 80240160 0200202D */ daddu $a0, $s0, $zero +/* CB9364 80240164 00431024 */ and $v0, $v0, $v1 +/* CB9368 80240168 00021140 */ sll $v0, $v0, 5 +/* CB936C 8024016C 3C068008 */ lui $a2, %hi(gItemTable) +/* CB9370 80240170 00C23021 */ addu $a2, $a2, $v0 +/* CB9374 80240174 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CB9378 80240178 0C0B2026 */ jal set_variable +/* CB937C 8024017C 0220282D */ daddu $a1, $s1, $zero +/* CB9380 80240180 8FBF0018 */ lw $ra, 0x18($sp) +/* CB9384 80240184 8FB10014 */ lw $s1, 0x14($sp) +/* CB9388 80240188 8FB00010 */ lw $s0, 0x10($sp) +/* CB938C 8024018C 24020002 */ addiu $v0, $zero, 2 +/* CB9390 80240190 03E00008 */ jr $ra +/* CB9394 80240194 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240198_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240198_CB9200.s new file mode 100644 index 0000000000..540bf3924a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240198_CB9200.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240198_CB9398 +/* CB9398 80240198 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB939C 8024019C AFB00010 */ sw $s0, 0x10($sp) +/* CB93A0 802401A0 0080802D */ daddu $s0, $a0, $zero +/* CB93A4 802401A4 AFBF0014 */ sw $ra, 0x14($sp) +/* CB93A8 802401A8 8E0300A8 */ lw $v1, 0xa8($s0) +/* CB93AC 802401AC 8E020088 */ lw $v0, 0x88($s0) +/* CB93B0 802401B0 00621821 */ addu $v1, $v1, $v0 +/* CB93B4 802401B4 04610004 */ bgez $v1, .L802401C8 +/* CB93B8 802401B8 AE0300A8 */ sw $v1, 0xa8($s0) +/* CB93BC 802401BC 3C020002 */ lui $v0, 2 +/* CB93C0 802401C0 08090076 */ j .L802401D8 +/* CB93C4 802401C4 00621021 */ addu $v0, $v1, $v0 +.L802401C8: +/* CB93C8 802401C8 3C040002 */ lui $a0, 2 +/* CB93CC 802401CC 0083102A */ slt $v0, $a0, $v1 +/* CB93D0 802401D0 10400002 */ beqz $v0, .L802401DC +/* CB93D4 802401D4 00641023 */ subu $v0, $v1, $a0 +.L802401D8: +/* CB93D8 802401D8 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401DC: +/* CB93DC 802401DC 8E0300AC */ lw $v1, 0xac($s0) +/* CB93E0 802401E0 8E02008C */ lw $v0, 0x8c($s0) +/* CB93E4 802401E4 00621821 */ addu $v1, $v1, $v0 +/* CB93E8 802401E8 04610004 */ bgez $v1, .L802401FC +/* CB93EC 802401EC AE0300AC */ sw $v1, 0xac($s0) +/* CB93F0 802401F0 3C020002 */ lui $v0, 2 +/* CB93F4 802401F4 08090083 */ j .L8024020C +/* CB93F8 802401F8 00621021 */ addu $v0, $v1, $v0 +.L802401FC: +/* CB93FC 802401FC 3C040002 */ lui $a0, 2 +/* CB9400 80240200 0083102A */ slt $v0, $a0, $v1 +/* CB9404 80240204 10400002 */ beqz $v0, .L80240210 +/* CB9408 80240208 00641023 */ subu $v0, $v1, $a0 +.L8024020C: +/* CB940C 8024020C AE0200AC */ sw $v0, 0xac($s0) +.L80240210: +/* CB9410 80240210 8E0300B0 */ lw $v1, 0xb0($s0) +/* CB9414 80240214 8E020090 */ lw $v0, 0x90($s0) +/* CB9418 80240218 00621821 */ addu $v1, $v1, $v0 +/* CB941C 8024021C 04610004 */ bgez $v1, .L80240230 +/* CB9420 80240220 AE0300B0 */ sw $v1, 0xb0($s0) +/* CB9424 80240224 3C020002 */ lui $v0, 2 +/* CB9428 80240228 08090090 */ j .L80240240 +/* CB942C 8024022C 00621021 */ addu $v0, $v1, $v0 +.L80240230: +/* CB9430 80240230 3C040002 */ lui $a0, 2 +/* CB9434 80240234 0083102A */ slt $v0, $a0, $v1 +/* CB9438 80240238 10400002 */ beqz $v0, .L80240244 +/* CB943C 8024023C 00641023 */ subu $v0, $v1, $a0 +.L80240240: +/* CB9440 80240240 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240244: +/* CB9444 80240244 8E0300B4 */ lw $v1, 0xb4($s0) +/* CB9448 80240248 8E020094 */ lw $v0, 0x94($s0) +/* CB944C 8024024C 00621821 */ addu $v1, $v1, $v0 +/* CB9450 80240250 04610004 */ bgez $v1, .L80240264 +/* CB9454 80240254 AE0300B4 */ sw $v1, 0xb4($s0) +/* CB9458 80240258 3C020002 */ lui $v0, 2 +/* CB945C 8024025C 0809009D */ j .L80240274 +/* CB9460 80240260 00621021 */ addu $v0, $v1, $v0 +.L80240264: +/* CB9464 80240264 3C040002 */ lui $a0, 2 +/* CB9468 80240268 0083102A */ slt $v0, $a0, $v1 +/* CB946C 8024026C 10400002 */ beqz $v0, .L80240278 +/* CB9470 80240270 00641023 */ subu $v0, $v1, $a0 +.L80240274: +/* CB9474 80240274 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240278: +/* CB9478 80240278 8E040084 */ lw $a0, 0x84($s0) +/* CB947C 8024027C 0C046F07 */ jal set_main_pan_u +/* CB9480 80240280 8E0500A8 */ lw $a1, 0xa8($s0) +/* CB9484 80240284 8E040084 */ lw $a0, 0x84($s0) +/* CB9488 80240288 0C046F0D */ jal set_main_pan_v +/* CB948C 8024028C 8E0500AC */ lw $a1, 0xac($s0) +/* CB9490 80240290 8E040084 */ lw $a0, 0x84($s0) +/* CB9494 80240294 0C046F13 */ jal set_aux_pan_u +/* CB9498 80240298 8E0500B0 */ lw $a1, 0xb0($s0) +/* CB949C 8024029C 8E040084 */ lw $a0, 0x84($s0) +/* CB94A0 802402A0 0C046F19 */ jal set_aux_pan_v +/* CB94A4 802402A4 8E0500B4 */ lw $a1, 0xb4($s0) +/* CB94A8 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* CB94AC 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* CB94B0 802402B0 0000102D */ daddu $v0, $zero, $zero +/* CB94B4 802402B4 03E00008 */ jr $ra +/* CB94B8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_802402BC_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_802402BC_CB9200.s new file mode 100644 index 0000000000..3ab65f07dd --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_802402BC_CB9200.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_CB94BC +/* CB94BC 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CB94C0 802402C0 AFB00010 */ sw $s0, 0x10($sp) +/* CB94C4 802402C4 0080802D */ daddu $s0, $a0, $zero +/* CB94C8 802402C8 10A00005 */ beqz $a1, .L802402E0 +/* CB94CC 802402CC AFBF0014 */ sw $ra, 0x14($sp) +/* CB94D0 802402D0 AE000070 */ sw $zero, 0x70($s0) +/* CB94D4 802402D4 AE000074 */ sw $zero, 0x74($s0) +/* CB94D8 802402D8 AE000078 */ sw $zero, 0x78($s0) +/* CB94DC 802402DC AE00007C */ sw $zero, 0x7c($s0) +.L802402E0: +/* CB94E0 802402E0 8E020070 */ lw $v0, 0x70($s0) +/* CB94E4 802402E4 1440000E */ bnez $v0, .L80240320 +/* CB94E8 802402E8 00000000 */ nop +/* CB94EC 802402EC 8E0300A8 */ lw $v1, 0xa8($s0) +/* CB94F0 802402F0 8E020088 */ lw $v0, 0x88($s0) +/* CB94F4 802402F4 00621821 */ addu $v1, $v1, $v0 +/* CB94F8 802402F8 04610004 */ bgez $v1, .L8024030C +/* CB94FC 802402FC AE0300A8 */ sw $v1, 0xa8($s0) +/* CB9500 80240300 3C020002 */ lui $v0, 2 +/* CB9504 80240304 080900C7 */ j .L8024031C +/* CB9508 80240308 00621021 */ addu $v0, $v1, $v0 +.L8024030C: +/* CB950C 8024030C 3C040002 */ lui $a0, 2 +/* CB9510 80240310 0083102A */ slt $v0, $a0, $v1 +/* CB9514 80240314 10400002 */ beqz $v0, .L80240320 +/* CB9518 80240318 00641023 */ subu $v0, $v1, $a0 +.L8024031C: +/* CB951C 8024031C AE0200A8 */ sw $v0, 0xa8($s0) +.L80240320: +/* CB9520 80240320 8E020074 */ lw $v0, 0x74($s0) +/* CB9524 80240324 1440000E */ bnez $v0, .L80240360 +/* CB9528 80240328 00000000 */ nop +/* CB952C 8024032C 8E0300AC */ lw $v1, 0xac($s0) +/* CB9530 80240330 8E02008C */ lw $v0, 0x8c($s0) +/* CB9534 80240334 00621821 */ addu $v1, $v1, $v0 +/* CB9538 80240338 04610004 */ bgez $v1, .L8024034C +/* CB953C 8024033C AE0300AC */ sw $v1, 0xac($s0) +/* CB9540 80240340 3C020002 */ lui $v0, 2 +/* CB9544 80240344 080900D7 */ j .L8024035C +/* CB9548 80240348 00621021 */ addu $v0, $v1, $v0 +.L8024034C: +/* CB954C 8024034C 3C040002 */ lui $a0, 2 +/* CB9550 80240350 0083102A */ slt $v0, $a0, $v1 +/* CB9554 80240354 10400002 */ beqz $v0, .L80240360 +/* CB9558 80240358 00641023 */ subu $v0, $v1, $a0 +.L8024035C: +/* CB955C 8024035C AE0200AC */ sw $v0, 0xac($s0) +.L80240360: +/* CB9560 80240360 8E020078 */ lw $v0, 0x78($s0) +/* CB9564 80240364 1440000E */ bnez $v0, .L802403A0 +/* CB9568 80240368 00000000 */ nop +/* CB956C 8024036C 8E0300B0 */ lw $v1, 0xb0($s0) +/* CB9570 80240370 8E020090 */ lw $v0, 0x90($s0) +/* CB9574 80240374 00621821 */ addu $v1, $v1, $v0 +/* CB9578 80240378 04610004 */ bgez $v1, .L8024038C +/* CB957C 8024037C AE0300B0 */ sw $v1, 0xb0($s0) +/* CB9580 80240380 3C020002 */ lui $v0, 2 +/* CB9584 80240384 080900E7 */ j .L8024039C +/* CB9588 80240388 00621021 */ addu $v0, $v1, $v0 +.L8024038C: +/* CB958C 8024038C 3C040002 */ lui $a0, 2 +/* CB9590 80240390 0083102A */ slt $v0, $a0, $v1 +/* CB9594 80240394 10400002 */ beqz $v0, .L802403A0 +/* CB9598 80240398 00641023 */ subu $v0, $v1, $a0 +.L8024039C: +/* CB959C 8024039C AE0200B0 */ sw $v0, 0xb0($s0) +.L802403A0: +/* CB95A0 802403A0 8E02007C */ lw $v0, 0x7c($s0) +/* CB95A4 802403A4 1440000E */ bnez $v0, .L802403E0 +/* CB95A8 802403A8 00000000 */ nop +/* CB95AC 802403AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CB95B0 802403B0 8E020094 */ lw $v0, 0x94($s0) +/* CB95B4 802403B4 00621821 */ addu $v1, $v1, $v0 +/* CB95B8 802403B8 04610004 */ bgez $v1, .L802403CC +/* CB95BC 802403BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CB95C0 802403C0 3C020002 */ lui $v0, 2 +/* CB95C4 802403C4 080900F7 */ j .L802403DC +/* CB95C8 802403C8 00621021 */ addu $v0, $v1, $v0 +.L802403CC: +/* CB95CC 802403CC 3C040002 */ lui $a0, 2 +/* CB95D0 802403D0 0083102A */ slt $v0, $a0, $v1 +/* CB95D4 802403D4 10400002 */ beqz $v0, .L802403E0 +/* CB95D8 802403D8 00641023 */ subu $v0, $v1, $a0 +.L802403DC: +/* CB95DC 802403DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403E0: +/* CB95E0 802403E0 8E040084 */ lw $a0, 0x84($s0) +/* CB95E4 802403E4 0C046F07 */ jal set_main_pan_u +/* CB95E8 802403E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CB95EC 802403EC 8E040084 */ lw $a0, 0x84($s0) +/* CB95F0 802403F0 0C046F0D */ jal set_main_pan_v +/* CB95F4 802403F4 8E0500AC */ lw $a1, 0xac($s0) +/* CB95F8 802403F8 8E040084 */ lw $a0, 0x84($s0) +/* CB95FC 802403FC 0C046F13 */ jal set_aux_pan_u +/* CB9600 80240400 8E0500B0 */ lw $a1, 0xb0($s0) +/* CB9604 80240404 8E040084 */ lw $a0, 0x84($s0) +/* CB9608 80240408 0C046F19 */ jal set_aux_pan_v +/* CB960C 8024040C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CB9610 80240410 8E020070 */ lw $v0, 0x70($s0) +/* CB9614 80240414 8E030078 */ lw $v1, 0x78($s0) +/* CB9618 80240418 8E040098 */ lw $a0, 0x98($s0) +/* CB961C 8024041C 24420001 */ addiu $v0, $v0, 1 +/* CB9620 80240420 AE020070 */ sw $v0, 0x70($s0) +/* CB9624 80240424 8E020074 */ lw $v0, 0x74($s0) +/* CB9628 80240428 24630001 */ addiu $v1, $v1, 1 +/* CB962C 8024042C AE030078 */ sw $v1, 0x78($s0) +/* CB9630 80240430 8E030070 */ lw $v1, 0x70($s0) +/* CB9634 80240434 24420001 */ addiu $v0, $v0, 1 +/* CB9638 80240438 AE020074 */ sw $v0, 0x74($s0) +/* CB963C 8024043C 8E02007C */ lw $v0, 0x7c($s0) +/* CB9640 80240440 0064182A */ slt $v1, $v1, $a0 +/* CB9644 80240444 24420001 */ addiu $v0, $v0, 1 +/* CB9648 80240448 14600002 */ bnez $v1, .L80240454 +/* CB964C 8024044C AE02007C */ sw $v0, 0x7c($s0) +/* CB9650 80240450 AE000070 */ sw $zero, 0x70($s0) +.L80240454: +/* CB9654 80240454 8E020074 */ lw $v0, 0x74($s0) +/* CB9658 80240458 8E03009C */ lw $v1, 0x9c($s0) +/* CB965C 8024045C 0043102A */ slt $v0, $v0, $v1 +/* CB9660 80240460 50400001 */ beql $v0, $zero, .L80240468 +/* CB9664 80240464 AE000074 */ sw $zero, 0x74($s0) +.L80240468: +/* CB9668 80240468 8E020078 */ lw $v0, 0x78($s0) +/* CB966C 8024046C 8E0300A0 */ lw $v1, 0xa0($s0) +/* CB9670 80240470 0043102A */ slt $v0, $v0, $v1 +/* CB9674 80240474 50400001 */ beql $v0, $zero, .L8024047C +/* CB9678 80240478 AE000078 */ sw $zero, 0x78($s0) +.L8024047C: +/* CB967C 8024047C 8E02007C */ lw $v0, 0x7c($s0) +/* CB9680 80240480 8E0300A4 */ lw $v1, 0xa4($s0) +/* CB9684 80240484 0043102A */ slt $v0, $v0, $v1 +/* CB9688 80240488 50400001 */ beql $v0, $zero, .L80240490 +/* CB968C 8024048C AE00007C */ sw $zero, 0x7c($s0) +.L80240490: +/* CB9690 80240490 8FBF0014 */ lw $ra, 0x14($sp) +/* CB9694 80240494 8FB00010 */ lw $s0, 0x10($sp) +/* CB9698 80240498 0000102D */ daddu $v0, $zero, $zero +/* CB969C 8024049C 03E00008 */ jr $ra +/* CB96A0 802404A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* CB96A4 802404A4 00000000 */ nop +/* CB96A8 802404A8 00000000 */ nop +/* CB96AC 802404AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_802404B0_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_802404B0_CB9200.s new file mode 100644 index 0000000000..f934889cb9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_802404B0_CB9200.s @@ -0,0 +1,398 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0_CB96B0 +/* CB96B0 802404B0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CB96B4 802404B4 AFB60040 */ sw $s6, 0x40($sp) +/* CB96B8 802404B8 0080B02D */ daddu $s6, $a0, $zero +/* CB96BC 802404BC 3C028024 */ lui $v0, 0x8024 +/* CB96C0 802404C0 24424070 */ addiu $v0, $v0, 0x4070 +/* CB96C4 802404C4 AFBF004C */ sw $ra, 0x4c($sp) +/* CB96C8 802404C8 AFBE0048 */ sw $fp, 0x48($sp) +/* CB96CC 802404CC AFB70044 */ sw $s7, 0x44($sp) +/* CB96D0 802404D0 AFB5003C */ sw $s5, 0x3c($sp) +/* CB96D4 802404D4 AFB40038 */ sw $s4, 0x38($sp) +/* CB96D8 802404D8 AFB30034 */ sw $s3, 0x34($sp) +/* CB96DC 802404DC AFB20030 */ sw $s2, 0x30($sp) +/* CB96E0 802404E0 AFB1002C */ sw $s1, 0x2c($sp) +/* CB96E4 802404E4 AFB00028 */ sw $s0, 0x28($sp) +/* CB96E8 802404E8 AFA50054 */ sw $a1, 0x54($sp) +/* CB96EC 802404EC 8C430000 */ lw $v1, ($v0) +/* CB96F0 802404F0 00C0A02D */ daddu $s4, $a2, $zero +/* CB96F4 802404F4 24630005 */ addiu $v1, $v1, 5 +/* CB96F8 802404F8 AC430000 */ sw $v1, ($v0) +/* CB96FC 802404FC 02D4102A */ slt $v0, $s6, $s4 +/* CB9700 80240500 10400159 */ beqz $v0, .L80240A68 +/* CB9704 80240504 00000000 */ nop +/* CB9708 80240508 8FAA0054 */ lw $t2, 0x54($sp) +/* CB970C 8024050C 0147102A */ slt $v0, $t2, $a3 +/* CB9710 80240510 10400155 */ beqz $v0, .L80240A68 +/* CB9714 80240514 00000000 */ nop +/* CB9718 80240518 06C20002 */ bltzl $s6, .L80240524 +/* CB971C 8024051C 0000B02D */ daddu $s6, $zero, $zero +/* CB9720 80240520 8FAA0054 */ lw $t2, 0x54($sp) +.L80240524: +/* CB9724 80240524 05420001 */ bltzl $t2, .L8024052C +/* CB9728 80240528 AFA00054 */ sw $zero, 0x54($sp) +.L8024052C: +/* CB972C 8024052C 06820001 */ bltzl $s4, .L80240534 +/* CB9730 80240530 0000A02D */ daddu $s4, $zero, $zero +.L80240534: +/* CB9734 80240534 04E20001 */ bltzl $a3, .L8024053C +/* CB9738 80240538 0000382D */ daddu $a3, $zero, $zero +.L8024053C: +/* CB973C 8024053C 2AC20140 */ slti $v0, $s6, 0x140 +/* CB9740 80240540 50400001 */ beql $v0, $zero, .L80240548 +/* CB9744 80240544 2416013F */ addiu $s6, $zero, 0x13f +.L80240548: +/* CB9748 80240548 8FAA0054 */ lw $t2, 0x54($sp) +/* CB974C 8024054C 294200F0 */ slti $v0, $t2, 0xf0 +/* CB9750 80240550 14400003 */ bnez $v0, .L80240560 +/* CB9754 80240554 2A820140 */ slti $v0, $s4, 0x140 +/* CB9758 80240558 240A00EF */ addiu $t2, $zero, 0xef +/* CB975C 8024055C AFAA0054 */ sw $t2, 0x54($sp) +.L80240560: +/* CB9760 80240560 50400001 */ beql $v0, $zero, .L80240568 +/* CB9764 80240564 2414013F */ addiu $s4, $zero, 0x13f +.L80240568: +/* CB9768 80240568 28E200F0 */ slti $v0, $a3, 0xf0 +/* CB976C 8024056C 50400001 */ beql $v0, $zero, .L80240574 +/* CB9770 80240570 240700EF */ addiu $a3, $zero, 0xef +.L80240574: +/* CB9774 80240574 12D4013C */ beq $s6, $s4, .L80240A68 +/* CB9778 80240578 00000000 */ nop +/* CB977C 8024057C 8FAA0054 */ lw $t2, 0x54($sp) +/* CB9780 80240580 11470139 */ beq $t2, $a3, .L80240A68 +/* CB9784 80240584 00000000 */ nop +/* CB9788 80240588 06C10002 */ bgez $s6, .L80240594 +/* CB978C 8024058C 02C0102D */ daddu $v0, $s6, $zero +/* CB9790 80240590 26C20003 */ addiu $v0, $s6, 3 +.L80240594: +/* CB9794 80240594 00021083 */ sra $v0, $v0, 2 +/* CB9798 80240598 0002B080 */ sll $s6, $v0, 2 +/* CB979C 8024059C 06810002 */ bgez $s4, .L802405A8 +/* CB97A0 802405A0 0280102D */ daddu $v0, $s4, $zero +/* CB97A4 802405A4 26820003 */ addiu $v0, $s4, 3 +.L802405A8: +/* CB97A8 802405A8 3C042AAA */ lui $a0, 0x2aaa +/* CB97AC 802405AC 3484AAAB */ ori $a0, $a0, 0xaaab +/* CB97B0 802405B0 8FAA0054 */ lw $t2, 0x54($sp) +/* CB97B4 802405B4 00021083 */ sra $v0, $v0, 2 +/* CB97B8 802405B8 00EA1823 */ subu $v1, $a3, $t2 +/* CB97BC 802405BC 00640018 */ mult $v1, $a0 +/* CB97C0 802405C0 00021080 */ sll $v0, $v0, 2 +/* CB97C4 802405C4 24540004 */ addiu $s4, $v0, 4 +/* CB97C8 802405C8 0000F02D */ daddu $fp, $zero, $zero +/* CB97CC 802405CC 000317C3 */ sra $v0, $v1, 0x1f +/* CB97D0 802405D0 00005010 */ mfhi $t2 +/* CB97D4 802405D4 01425023 */ subu $t2, $t2, $v0 +/* CB97D8 802405D8 000A1040 */ sll $v0, $t2, 1 +/* CB97DC 802405DC 004A1021 */ addu $v0, $v0, $t2 +/* CB97E0 802405E0 AFAA0014 */ sw $t2, 0x14($sp) +/* CB97E4 802405E4 AFAA0010 */ sw $t2, 0x10($sp) +/* CB97E8 802405E8 3C0A800A */ lui $t2, 0x800a +/* CB97EC 802405EC 8D4AA64C */ lw $t2, -0x59b4($t2) +/* CB97F0 802405F0 00021040 */ sll $v0, $v0, 1 +/* CB97F4 802405F4 AFAA0018 */ sw $t2, 0x18($sp) +/* CB97F8 802405F8 8FAA0010 */ lw $t2, 0x10($sp) +/* CB97FC 802405FC 00621823 */ subu $v1, $v1, $v0 +/* CB9800 80240600 19400097 */ blez $t2, .L80240860 +/* CB9804 80240604 AFA30014 */ sw $v1, 0x14($sp) +/* CB9808 80240608 3C13800A */ lui $s3, 0x800a +/* CB980C 8024060C 2673A66C */ addiu $s3, $s3, -0x5994 +/* CB9810 80240610 02961023 */ subu $v0, $s4, $s6 +/* CB9814 80240614 00021040 */ sll $v0, $v0, 1 +/* CB9818 80240618 24420007 */ addiu $v0, $v0, 7 +/* CB981C 8024061C 000210C3 */ sra $v0, $v0, 3 +/* CB9820 80240620 304201FF */ andi $v0, $v0, 0x1ff +/* CB9824 80240624 00021240 */ sll $v0, $v0, 9 +/* CB9828 80240628 3C03F510 */ lui $v1, 0xf510 +/* CB982C 8024062C 8FB70054 */ lw $s7, 0x54($sp) +/* CB9830 80240630 00431025 */ or $v0, $v0, $v1 +/* CB9834 80240634 AFA2001C */ sw $v0, 0x1c($sp) +/* CB9838 80240638 AFA00020 */ sw $zero, 0x20($sp) +/* CB983C 8024063C 02E0A82D */ daddu $s5, $s7, $zero +.L80240640: +/* CB9840 80240640 26B2FFFA */ addiu $s2, $s5, -6 +/* CB9844 80240644 0640007D */ bltz $s2, .L8024083C +/* CB9848 80240648 00123040 */ sll $a2, $s2, 1 +/* CB984C 8024064C 28C20100 */ slti $v0, $a2, 0x100 +/* CB9850 80240650 50400001 */ beql $v0, $zero, .L80240658 +/* CB9854 80240654 240600FF */ addiu $a2, $zero, 0xff +.L80240658: +/* CB9858 80240658 3C05FD10 */ lui $a1, 0xfd10 +/* CB985C 8024065C 34A5013F */ ori $a1, $a1, 0x13f +/* CB9860 80240660 3C02FA00 */ lui $v0, 0xfa00 +/* CB9864 80240664 8E700000 */ lw $s0, ($s3) +/* CB9868 80240668 8FA40018 */ lw $a0, 0x18($sp) +/* CB986C 8024066C 0200182D */ daddu $v1, $s0, $zero +/* CB9870 80240670 26100008 */ addiu $s0, $s0, 8 +/* CB9874 80240674 AE700000 */ sw $s0, ($s3) +/* CB9878 80240678 AC620000 */ sw $v0, ($v1) +/* CB987C 8024067C 2402FF00 */ addiu $v0, $zero, -0x100 +/* CB9880 80240680 00C21025 */ or $v0, $a2, $v0 +/* CB9884 80240684 AC620004 */ sw $v0, 4($v1) +/* CB9888 80240688 26020008 */ addiu $v0, $s0, 8 +/* CB988C 8024068C AE620000 */ sw $v0, ($s3) +/* CB9890 80240690 0C0187A4 */ jal osVirtualToPhysical +/* CB9894 80240694 AE050000 */ sw $a1, ($s0) +/* CB9898 80240698 3C030700 */ lui $v1, 0x700 +/* CB989C 8024069C 34630090 */ ori $v1, $v1, 0x90 +/* CB98A0 802406A0 00163080 */ sll $a2, $s6, 2 +/* CB98A4 802406A4 30C60FFF */ andi $a2, $a2, 0xfff +/* CB98A8 802406A8 00063300 */ sll $a2, $a2, 0xc +/* CB98AC 802406AC 00122080 */ sll $a0, $s2, 2 +/* CB98B0 802406B0 30840FFF */ andi $a0, $a0, 0xfff +/* CB98B4 802406B4 26A5FFFF */ addiu $a1, $s5, -1 +/* CB98B8 802406B8 8E710000 */ lw $s1, ($s3) +/* CB98BC 802406BC 00052880 */ sll $a1, $a1, 2 +/* CB98C0 802406C0 AE020004 */ sw $v0, 4($s0) +/* CB98C4 802406C4 0220102D */ daddu $v0, $s1, $zero +/* CB98C8 802406C8 26310008 */ addiu $s1, $s1, 8 +/* CB98CC 802406CC AE710000 */ sw $s1, ($s3) +/* CB98D0 802406D0 8FAA001C */ lw $t2, 0x1c($sp) +/* CB98D4 802406D4 30A50FFF */ andi $a1, $a1, 0xfff +/* CB98D8 802406D8 AC430004 */ sw $v1, 4($v0) +/* CB98DC 802406DC 2683FFFF */ addiu $v1, $s4, -1 +/* CB98E0 802406E0 00031880 */ sll $v1, $v1, 2 +/* CB98E4 802406E4 30630FFF */ andi $v1, $v1, 0xfff +/* CB98E8 802406E8 00031B00 */ sll $v1, $v1, 0xc +/* CB98EC 802406EC AC4A0000 */ sw $t2, ($v0) +/* CB98F0 802406F0 26220008 */ addiu $v0, $s1, 8 +/* CB98F4 802406F4 AE620000 */ sw $v0, ($s3) +/* CB98F8 802406F8 3C02E600 */ lui $v0, 0xe600 +/* CB98FC 802406FC AE220000 */ sw $v0, ($s1) +/* CB9900 80240700 26220010 */ addiu $v0, $s1, 0x10 +/* CB9904 80240704 AE200004 */ sw $zero, 4($s1) +/* CB9908 80240708 AE620000 */ sw $v0, ($s3) +/* CB990C 8024070C 3C02F400 */ lui $v0, 0xf400 +/* CB9910 80240710 00821025 */ or $v0, $a0, $v0 +/* CB9914 80240714 00C21025 */ or $v0, $a2, $v0 +/* CB9918 80240718 AE220008 */ sw $v0, 8($s1) +/* CB991C 8024071C 3C020700 */ lui $v0, 0x700 +/* CB9920 80240720 00A21025 */ or $v0, $a1, $v0 +/* CB9924 80240724 00621025 */ or $v0, $v1, $v0 +/* CB9928 80240728 AE22000C */ sw $v0, 0xc($s1) +/* CB992C 8024072C 26220018 */ addiu $v0, $s1, 0x18 +/* CB9930 80240730 AE620000 */ sw $v0, ($s3) +/* CB9934 80240734 3C02E700 */ lui $v0, 0xe700 +/* CB9938 80240738 AE220010 */ sw $v0, 0x10($s1) +/* CB993C 8024073C 26220020 */ addiu $v0, $s1, 0x20 +/* CB9940 80240740 AE200014 */ sw $zero, 0x14($s1) +/* CB9944 80240744 AE620000 */ sw $v0, ($s3) +/* CB9948 80240748 24020090 */ addiu $v0, $zero, 0x90 +/* CB994C 8024074C AE22001C */ sw $v0, 0x1c($s1) +/* CB9950 80240750 26220028 */ addiu $v0, $s1, 0x28 +/* CB9954 80240754 AE2A0018 */ sw $t2, 0x18($s1) +/* CB9958 80240758 AE620000 */ sw $v0, ($s3) +/* CB995C 8024075C 3C02F200 */ lui $v0, 0xf200 +/* CB9960 80240760 00822025 */ or $a0, $a0, $v0 +/* CB9964 80240764 00C42025 */ or $a0, $a2, $a0 +/* CB9968 80240768 00651825 */ or $v1, $v1, $a1 +/* CB996C 8024076C 26220030 */ addiu $v0, $s1, 0x30 +/* CB9970 80240770 AE240020 */ sw $a0, 0x20($s1) +/* CB9974 80240774 00142080 */ sll $a0, $s4, 2 +/* CB9978 80240778 30840FFF */ andi $a0, $a0, 0xfff +/* CB997C 8024077C 00042300 */ sll $a0, $a0, 0xc +/* CB9980 80240780 AE230024 */ sw $v1, 0x24($s1) +/* CB9984 80240784 AE620000 */ sw $v0, ($s3) +/* CB9988 80240788 26E20006 */ addiu $v0, $s7, 6 +/* CB998C 8024078C 00021080 */ sll $v0, $v0, 2 +/* CB9990 80240790 30420FFF */ andi $v0, $v0, 0xfff +/* CB9994 80240794 3C03E400 */ lui $v1, 0xe400 +/* CB9998 80240798 00431025 */ or $v0, $v0, $v1 +/* CB999C 8024079C 00822025 */ or $a0, $a0, $v0 +/* CB99A0 802407A0 00171080 */ sll $v0, $s7, 2 +/* CB99A4 802407A4 30420FFF */ andi $v0, $v0, 0xfff +/* CB99A8 802407A8 00C23025 */ or $a2, $a2, $v0 +/* CB99AC 802407AC 26220038 */ addiu $v0, $s1, 0x38 +/* CB99B0 802407B0 AE240028 */ sw $a0, 0x28($s1) +/* CB99B4 802407B4 AE26002C */ sw $a2, 0x2c($s1) +/* CB99B8 802407B8 AE620000 */ sw $v0, ($s3) +/* CB99BC 802407BC 3C02E100 */ lui $v0, 0xe100 +/* CB99C0 802407C0 00161D40 */ sll $v1, $s6, 0x15 +/* CB99C4 802407C4 AE220030 */ sw $v0, 0x30($s1) +/* CB99C8 802407C8 00151140 */ sll $v0, $s5, 5 +/* CB99CC 802407CC 3042FFFF */ andi $v0, $v0, 0xffff +/* CB99D0 802407D0 00621825 */ or $v1, $v1, $v0 +/* CB99D4 802407D4 26220040 */ addiu $v0, $s1, 0x40 +/* CB99D8 802407D8 AE230034 */ sw $v1, 0x34($s1) +/* CB99DC 802407DC AE620000 */ sw $v0, ($s3) +/* CB99E0 802407E0 3C038024 */ lui $v1, 0x8024 +/* CB99E4 802407E4 8C634070 */ lw $v1, 0x4070($v1) +/* CB99E8 802407E8 3C02F100 */ lui $v0, 0xf100 +/* CB99EC 802407EC AE220038 */ sw $v0, 0x38($s1) +/* CB99F0 802407F0 8FAA0020 */ lw $t2, 0x20($sp) +/* CB99F4 802407F4 006A1821 */ addu $v1, $v1, $t2 +/* CB99F8 802407F8 44836000 */ mtc1 $v1, $f12 +/* CB99FC 802407FC 00000000 */ nop +/* CB9A00 80240800 0C00A8BB */ jal sin_deg +/* CB9A04 80240804 46806320 */ cvt.s.w $f12, $f12 +/* CB9A08 80240808 3C0143FA */ lui $at, 0x43fa +/* CB9A0C 8024080C 44811000 */ mtc1 $at, $f2 +/* CB9A10 80240810 00000000 */ nop +/* CB9A14 80240814 46020002 */ mul.s $f0, $f0, $f2 +/* CB9A18 80240818 00000000 */ nop +/* CB9A1C 8024081C 3C030400 */ lui $v1, 0x400 +/* CB9A20 80240820 4600010D */ trunc.w.s $f4, $f0 +/* CB9A24 80240824 44022000 */ mfc1 $v0, $f4 +/* CB9A28 80240828 00000000 */ nop +/* CB9A2C 8024082C 2442FE0C */ addiu $v0, $v0, -0x1f4 +/* CB9A30 80240830 3042FFFF */ andi $v0, $v0, 0xffff +/* CB9A34 80240834 00431025 */ or $v0, $v0, $v1 +/* CB9A38 80240838 AE22003C */ sw $v0, 0x3c($s1) +.L8024083C: +/* CB9A3C 8024083C 26F70006 */ addiu $s7, $s7, 6 +/* CB9A40 80240840 8FAA0020 */ lw $t2, 0x20($sp) +/* CB9A44 80240844 254A001E */ addiu $t2, $t2, 0x1e +/* CB9A48 80240848 AFAA0020 */ sw $t2, 0x20($sp) +/* CB9A4C 8024084C 8FAA0010 */ lw $t2, 0x10($sp) +/* CB9A50 80240850 27DE0001 */ addiu $fp, $fp, 1 +/* CB9A54 80240854 03CA102A */ slt $v0, $fp, $t2 +/* CB9A58 80240858 1440FF79 */ bnez $v0, .L80240640 +/* CB9A5C 8024085C 26B5FFFA */ addiu $s5, $s5, -6 +.L80240860: +/* CB9A60 80240860 8FAA0014 */ lw $t2, 0x14($sp) +/* CB9A64 80240864 11400080 */ beqz $t2, .L80240A68 +/* CB9A68 80240868 001E1040 */ sll $v0, $fp, 1 +/* CB9A6C 8024086C 005E1021 */ addu $v0, $v0, $fp +/* CB9A70 80240870 8FAA0054 */ lw $t2, 0x54($sp) +/* CB9A74 80240874 00029840 */ sll $s3, $v0, 1 +/* CB9A78 80240878 01539023 */ subu $s2, $t2, $s3 +/* CB9A7C 8024087C 2642FFFA */ addiu $v0, $s2, -6 +/* CB9A80 80240880 04400079 */ bltz $v0, .L80240A68 +/* CB9A84 80240884 00023040 */ sll $a2, $v0, 1 +/* CB9A88 80240888 28C20100 */ slti $v0, $a2, 0x100 +/* CB9A8C 8024088C 50400001 */ beql $v0, $zero, .L80240894 +/* CB9A90 80240890 240600FF */ addiu $a2, $zero, 0xff +.L80240894: +/* CB9A94 80240894 3C05FD10 */ lui $a1, 0xfd10 +/* CB9A98 80240898 34A5013F */ ori $a1, $a1, 0x13f +/* CB9A9C 8024089C 3C11800A */ lui $s1, 0x800a +/* CB9AA0 802408A0 2631A66C */ addiu $s1, $s1, -0x5994 +/* CB9AA4 802408A4 3C02FA00 */ lui $v0, 0xfa00 +/* CB9AA8 802408A8 8E300000 */ lw $s0, ($s1) +/* CB9AAC 802408AC 8FA40018 */ lw $a0, 0x18($sp) +/* CB9AB0 802408B0 0200182D */ daddu $v1, $s0, $zero +/* CB9AB4 802408B4 26100008 */ addiu $s0, $s0, 8 +/* CB9AB8 802408B8 AE300000 */ sw $s0, ($s1) +/* CB9ABC 802408BC AC620000 */ sw $v0, ($v1) +/* CB9AC0 802408C0 2402FF00 */ addiu $v0, $zero, -0x100 +/* CB9AC4 802408C4 00C21025 */ or $v0, $a2, $v0 +/* CB9AC8 802408C8 AC620004 */ sw $v0, 4($v1) +/* CB9ACC 802408CC 26020008 */ addiu $v0, $s0, 8 +/* CB9AD0 802408D0 AE220000 */ sw $v0, ($s1) +/* CB9AD4 802408D4 0C0187A4 */ jal osVirtualToPhysical +/* CB9AD8 802408D8 AE050000 */ sw $a1, ($s0) +/* CB9ADC 802408DC 3C050700 */ lui $a1, 0x700 +/* CB9AE0 802408E0 34A50090 */ ori $a1, $a1, 0x90 +/* CB9AE4 802408E4 3C090400 */ lui $t1, 0x400 +/* CB9AE8 802408E8 3529FC00 */ ori $t1, $t1, 0xfc00 +/* CB9AEC 802408EC 02962023 */ subu $a0, $s4, $s6 +/* CB9AF0 802408F0 00042040 */ sll $a0, $a0, 1 +/* CB9AF4 802408F4 24840007 */ addiu $a0, $a0, 7 +/* CB9AF8 802408F8 000420C3 */ sra $a0, $a0, 3 +/* CB9AFC 802408FC 308401FF */ andi $a0, $a0, 0x1ff +/* CB9B00 80240900 8E260000 */ lw $a2, ($s1) +/* CB9B04 80240904 00042240 */ sll $a0, $a0, 9 +/* CB9B08 80240908 AE020004 */ sw $v0, 4($s0) +/* CB9B0C 8024090C 3C02F510 */ lui $v0, 0xf510 +/* CB9B10 80240910 00822025 */ or $a0, $a0, $v0 +/* CB9B14 80240914 00164080 */ sll $t0, $s6, 2 +/* CB9B18 80240918 31080FFF */ andi $t0, $t0, 0xfff +/* CB9B1C 8024091C 00084300 */ sll $t0, $t0, 0xc +/* CB9B20 80240920 2647FFFF */ addiu $a3, $s2, -1 +/* CB9B24 80240924 00073880 */ sll $a3, $a3, 2 +/* CB9B28 80240928 30E70FFF */ andi $a3, $a3, 0xfff +/* CB9B2C 8024092C 00C0182D */ daddu $v1, $a2, $zero +/* CB9B30 80240930 24C60008 */ addiu $a2, $a2, 8 +/* CB9B34 80240934 24C20008 */ addiu $v0, $a2, 8 +/* CB9B38 80240938 AE260000 */ sw $a2, ($s1) +/* CB9B3C 8024093C AC640000 */ sw $a0, ($v1) +/* CB9B40 80240940 AC650004 */ sw $a1, 4($v1) +/* CB9B44 80240944 AE220000 */ sw $v0, ($s1) +/* CB9B48 80240948 3C02E600 */ lui $v0, 0xe600 +/* CB9B4C 8024094C ACC20000 */ sw $v0, ($a2) +/* CB9B50 80240950 24C20010 */ addiu $v0, $a2, 0x10 +/* CB9B54 80240954 ACC00004 */ sw $zero, 4($a2) +/* CB9B58 80240958 AE220000 */ sw $v0, ($s1) +/* CB9B5C 8024095C 3C02F400 */ lui $v0, 0xf400 +/* CB9B60 80240960 2683FFFF */ addiu $v1, $s4, -1 +/* CB9B64 80240964 00031880 */ sll $v1, $v1, 2 +/* CB9B68 80240968 30630FFF */ andi $v1, $v1, 0xfff +/* CB9B6C 8024096C 8FAA0014 */ lw $t2, 0x14($sp) +/* CB9B70 80240970 00031B00 */ sll $v1, $v1, 0xc +/* CB9B74 80240974 024A2823 */ subu $a1, $s2, $t2 +/* CB9B78 80240978 00052880 */ sll $a1, $a1, 2 +/* CB9B7C 8024097C 30A50FFF */ andi $a1, $a1, 0xfff +/* CB9B80 80240980 00A21025 */ or $v0, $a1, $v0 +/* CB9B84 80240984 01021025 */ or $v0, $t0, $v0 +/* CB9B88 80240988 ACC20008 */ sw $v0, 8($a2) +/* CB9B8C 8024098C 3C020700 */ lui $v0, 0x700 +/* CB9B90 80240990 00E21025 */ or $v0, $a3, $v0 +/* CB9B94 80240994 00621025 */ or $v0, $v1, $v0 +/* CB9B98 80240998 ACC2000C */ sw $v0, 0xc($a2) +/* CB9B9C 8024099C 24C20018 */ addiu $v0, $a2, 0x18 +/* CB9BA0 802409A0 AE220000 */ sw $v0, ($s1) +/* CB9BA4 802409A4 3C02E700 */ lui $v0, 0xe700 +/* CB9BA8 802409A8 ACC20010 */ sw $v0, 0x10($a2) +/* CB9BAC 802409AC 24C20020 */ addiu $v0, $a2, 0x20 +/* CB9BB0 802409B0 ACC00014 */ sw $zero, 0x14($a2) +/* CB9BB4 802409B4 AE220000 */ sw $v0, ($s1) +/* CB9BB8 802409B8 24020090 */ addiu $v0, $zero, 0x90 +/* CB9BBC 802409BC ACC2001C */ sw $v0, 0x1c($a2) +/* CB9BC0 802409C0 24C20028 */ addiu $v0, $a2, 0x28 +/* CB9BC4 802409C4 ACC40018 */ sw $a0, 0x18($a2) +/* CB9BC8 802409C8 AE220000 */ sw $v0, ($s1) +/* CB9BCC 802409CC 3C02F200 */ lui $v0, 0xf200 +/* CB9BD0 802409D0 00A22825 */ or $a1, $a1, $v0 +/* CB9BD4 802409D4 01052825 */ or $a1, $t0, $a1 +/* CB9BD8 802409D8 00671825 */ or $v1, $v1, $a3 +/* CB9BDC 802409DC 24C20030 */ addiu $v0, $a2, 0x30 +/* CB9BE0 802409E0 ACC30024 */ sw $v1, 0x24($a2) +/* CB9BE4 802409E4 00141880 */ sll $v1, $s4, 2 +/* CB9BE8 802409E8 30630FFF */ andi $v1, $v1, 0xfff +/* CB9BEC 802409EC ACC50020 */ sw $a1, 0x20($a2) +/* CB9BF0 802409F0 AE220000 */ sw $v0, ($s1) +/* CB9BF4 802409F4 8FAA0054 */ lw $t2, 0x54($sp) +/* CB9BF8 802409F8 00031B00 */ sll $v1, $v1, 0xc +/* CB9BFC 802409FC 01532821 */ addu $a1, $t2, $s3 +/* CB9C00 80240A00 8FAA0014 */ lw $t2, 0x14($sp) +/* CB9C04 80240A04 3C04E400 */ lui $a0, 0xe400 +/* CB9C08 80240A08 00AA1021 */ addu $v0, $a1, $t2 +/* CB9C0C 80240A0C 00021080 */ sll $v0, $v0, 2 +/* CB9C10 80240A10 30420FFF */ andi $v0, $v0, 0xfff +/* CB9C14 80240A14 00441025 */ or $v0, $v0, $a0 +/* CB9C18 80240A18 00621825 */ or $v1, $v1, $v0 +/* CB9C1C 80240A1C 00052880 */ sll $a1, $a1, 2 +/* CB9C20 80240A20 30A50FFF */ andi $a1, $a1, 0xfff +/* CB9C24 80240A24 01054025 */ or $t0, $t0, $a1 +/* CB9C28 80240A28 24C20038 */ addiu $v0, $a2, 0x38 +/* CB9C2C 80240A2C ACC30028 */ sw $v1, 0x28($a2) +/* CB9C30 80240A30 ACC8002C */ sw $t0, 0x2c($a2) +/* CB9C34 80240A34 AE220000 */ sw $v0, ($s1) +/* CB9C38 80240A38 3C02E100 */ lui $v0, 0xe100 +/* CB9C3C 80240A3C 00161D40 */ sll $v1, $s6, 0x15 +/* CB9C40 80240A40 ACC20030 */ sw $v0, 0x30($a2) +/* CB9C44 80240A44 00121140 */ sll $v0, $s2, 5 +/* CB9C48 80240A48 3042FFFF */ andi $v0, $v0, 0xffff +/* CB9C4C 80240A4C 00621825 */ or $v1, $v1, $v0 +/* CB9C50 80240A50 24C20040 */ addiu $v0, $a2, 0x40 +/* CB9C54 80240A54 ACC30034 */ sw $v1, 0x34($a2) +/* CB9C58 80240A58 AE220000 */ sw $v0, ($s1) +/* CB9C5C 80240A5C 3C02F100 */ lui $v0, 0xf100 +/* CB9C60 80240A60 ACC20038 */ sw $v0, 0x38($a2) +/* CB9C64 80240A64 ACC9003C */ sw $t1, 0x3c($a2) +.L80240A68: +/* CB9C68 80240A68 8FBF004C */ lw $ra, 0x4c($sp) +/* CB9C6C 80240A6C 8FBE0048 */ lw $fp, 0x48($sp) +/* CB9C70 80240A70 8FB70044 */ lw $s7, 0x44($sp) +/* CB9C74 80240A74 8FB60040 */ lw $s6, 0x40($sp) +/* CB9C78 80240A78 8FB5003C */ lw $s5, 0x3c($sp) +/* CB9C7C 80240A7C 8FB40038 */ lw $s4, 0x38($sp) +/* CB9C80 80240A80 8FB30034 */ lw $s3, 0x34($sp) +/* CB9C84 80240A84 8FB20030 */ lw $s2, 0x30($sp) +/* CB9C88 80240A88 8FB1002C */ lw $s1, 0x2c($sp) +/* CB9C8C 80240A8C 8FB00028 */ lw $s0, 0x28($sp) +/* CB9C90 80240A90 03E00008 */ jr $ra +/* CB9C94 80240A94 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80240A98_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_80240A98_CB9200.s new file mode 100644 index 0000000000..bab18472cd --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80240A98_CB9200.s @@ -0,0 +1,508 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A98_CB9C98 +/* CB9C98 80240A98 27BDFF68 */ addiu $sp, $sp, -0x98 +/* CB9C9C 80240A9C 24040030 */ addiu $a0, $zero, 0x30 +/* CB9CA0 80240AA0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CB9CA4 80240AA4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CB9CA8 80240AA8 3C05800B */ lui $a1, %hi(gCameras) +/* CB9CAC 80240AAC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* CB9CB0 80240AB0 AFBF0064 */ sw $ra, 0x64($sp) +/* CB9CB4 80240AB4 AFBE0060 */ sw $fp, 0x60($sp) +/* CB9CB8 80240AB8 AFB7005C */ sw $s7, 0x5c($sp) +/* CB9CBC 80240ABC AFB60058 */ sw $s6, 0x58($sp) +/* CB9CC0 80240AC0 AFB50054 */ sw $s5, 0x54($sp) +/* CB9CC4 80240AC4 AFB40050 */ sw $s4, 0x50($sp) +/* CB9CC8 80240AC8 AFB3004C */ sw $s3, 0x4c($sp) +/* CB9CCC 80240ACC AFB20048 */ sw $s2, 0x48($sp) +/* CB9CD0 80240AD0 AFB10044 */ sw $s1, 0x44($sp) +/* CB9CD4 80240AD4 AFB00040 */ sw $s0, 0x40($sp) +/* CB9CD8 80240AD8 F7BE0090 */ sdc1 $f30, 0x90($sp) +/* CB9CDC 80240ADC F7BC0088 */ sdc1 $f28, 0x88($sp) +/* CB9CE0 80240AE0 F7BA0080 */ sdc1 $f26, 0x80($sp) +/* CB9CE4 80240AE4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* CB9CE8 80240AE8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* CB9CEC 80240AEC F7B40068 */ sdc1 $f20, 0x68($sp) +/* CB9CF0 80240AF0 00031080 */ sll $v0, $v1, 2 +/* CB9CF4 80240AF4 00431021 */ addu $v0, $v0, $v1 +/* CB9CF8 80240AF8 00021080 */ sll $v0, $v0, 2 +/* CB9CFC 80240AFC 00431023 */ subu $v0, $v0, $v1 +/* CB9D00 80240B00 000218C0 */ sll $v1, $v0, 3 +/* CB9D04 80240B04 00431021 */ addu $v0, $v0, $v1 +/* CB9D08 80240B08 000210C0 */ sll $v0, $v0, 3 +/* CB9D0C 80240B0C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CB9D10 80240B10 0045B821 */ addu $s7, $v0, $a1 +/* CB9D14 80240B14 0C046B4C */ jal get_model_from_list_index +/* CB9D18 80240B18 0040202D */ daddu $a0, $v0, $zero +/* CB9D1C 80240B1C 0040F02D */ daddu $fp, $v0, $zero +/* CB9D20 80240B20 27B40028 */ addiu $s4, $sp, 0x28 +/* CB9D24 80240B24 27B2002C */ addiu $s2, $sp, 0x2c +/* CB9D28 80240B28 27B30030 */ addiu $s3, $sp, 0x30 +/* CB9D2C 80240B2C 27B10034 */ addiu $s1, $sp, 0x34 +/* CB9D30 80240B30 8FC20008 */ lw $v0, 8($fp) +/* CB9D34 80240B34 C7C00098 */ lwc1 $f0, 0x98($fp) +/* CB9D38 80240B38 8C42000C */ lw $v0, 0xc($v0) +/* CB9D3C 80240B3C 3C013F80 */ lui $at, 0x3f80 +/* CB9D40 80240B40 4481E000 */ mtc1 $at, $f28 +/* CB9D44 80240B44 C45E0004 */ lwc1 $f30, 4($v0) +/* CB9D48 80240B48 4680F7A0 */ cvt.s.w $f30, $f30 +/* CB9D4C 80240B4C 461E0001 */ sub.s $f0, $f0, $f30 +/* CB9D50 80240B50 C448001C */ lwc1 $f8, 0x1c($v0) +/* CB9D54 80240B54 46804220 */ cvt.s.w $f8, $f8 +/* CB9D58 80240B58 E7A80038 */ swc1 $f8, 0x38($sp) +/* CB9D5C 80240B5C 44050000 */ mfc1 $a1, $f0 +/* CB9D60 80240B60 C7C000A0 */ lwc1 $f0, 0xa0($fp) +/* CB9D64 80240B64 26F000D4 */ addiu $s0, $s7, 0xd4 +/* CB9D68 80240B68 E7BC0010 */ swc1 $f28, 0x10($sp) +/* CB9D6C 80240B6C AFB40014 */ sw $s4, 0x14($sp) +/* CB9D70 80240B70 AFB20018 */ sw $s2, 0x18($sp) +/* CB9D74 80240B74 AFB3001C */ sw $s3, 0x1c($sp) +/* CB9D78 80240B78 46080201 */ sub.s $f8, $f0, $f8 +/* CB9D7C 80240B7C AFB10020 */ sw $s1, 0x20($sp) +/* CB9D80 80240B80 8FC6009C */ lw $a2, 0x9c($fp) +/* CB9D84 80240B84 44074000 */ mfc1 $a3, $f8 +/* CB9D88 80240B88 0C00A588 */ jal transform_point +/* CB9D8C 80240B8C 0200202D */ daddu $a0, $s0, $zero +/* CB9D90 80240B90 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CB9D94 80240B94 C7A60028 */ lwc1 $f6, 0x28($sp) +/* CB9D98 80240B98 4600E003 */ div.s $f0, $f28, $f0 +/* CB9D9C 80240B9C 46003182 */ mul.s $f6, $f6, $f0 +/* CB9DA0 80240BA0 00000000 */ nop +/* CB9DA4 80240BA4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CB9DA8 80240BA8 46000087 */ neg.s $f2, $f0 +/* CB9DAC 80240BAC 46022102 */ mul.s $f4, $f4, $f2 +/* CB9DB0 80240BB0 00000000 */ nop +/* CB9DB4 80240BB4 C7A20030 */ lwc1 $f2, 0x30($sp) +/* CB9DB8 80240BB8 46001082 */ mul.s $f2, $f2, $f0 +/* CB9DBC 80240BBC 00000000 */ nop +/* CB9DC0 80240BC0 44804000 */ mtc1 $zero, $f8 +/* CB9DC4 80240BC4 00000000 */ nop +/* CB9DC8 80240BC8 4608003C */ c.lt.s $f0, $f8 +/* CB9DCC 80240BCC E7A00034 */ swc1 $f0, 0x34($sp) +/* CB9DD0 80240BD0 E7A60028 */ swc1 $f6, 0x28($sp) +/* CB9DD4 80240BD4 E7A4002C */ swc1 $f4, 0x2c($sp) +/* CB9DD8 80240BD8 45000003 */ bc1f .L80240BE8 +/* CB9DDC 80240BDC E7A20030 */ swc1 $f2, 0x30($sp) +/* CB9DE0 80240BE0 E7A80028 */ swc1 $f8, 0x28($sp) +/* CB9DE4 80240BE4 E7BC002C */ swc1 $f28, 0x2c($sp) +.L80240BE8: +/* CB9DE8 80240BE8 C7B40028 */ lwc1 $f20, 0x28($sp) +/* CB9DEC 80240BEC C7B6002C */ lwc1 $f22, 0x2c($sp) +/* CB9DF0 80240BF0 C7C00098 */ lwc1 $f0, 0x98($fp) +/* CB9DF4 80240BF4 C7C200A0 */ lwc1 $f2, 0xa0($fp) +/* CB9DF8 80240BF8 C7A80038 */ lwc1 $f8, 0x38($sp) +/* CB9DFC 80240BFC E7BC0010 */ swc1 $f28, 0x10($sp) +/* CB9E00 80240C00 AFB40014 */ sw $s4, 0x14($sp) +/* CB9E04 80240C04 AFB20018 */ sw $s2, 0x18($sp) +/* CB9E08 80240C08 461E0001 */ sub.s $f0, $f0, $f30 +/* CB9E0C 80240C0C AFB3001C */ sw $s3, 0x1c($sp) +/* CB9E10 80240C10 AFB10020 */ sw $s1, 0x20($sp) +/* CB9E14 80240C14 46081200 */ add.s $f8, $f2, $f8 +/* CB9E18 80240C18 8FC6009C */ lw $a2, 0x9c($fp) +/* CB9E1C 80240C1C 44050000 */ mfc1 $a1, $f0 +/* CB9E20 80240C20 44074000 */ mfc1 $a3, $f8 +/* CB9E24 80240C24 0C00A588 */ jal transform_point +/* CB9E28 80240C28 0200202D */ daddu $a0, $s0, $zero +/* CB9E2C 80240C2C C7A00034 */ lwc1 $f0, 0x34($sp) +/* CB9E30 80240C30 C7A60028 */ lwc1 $f6, 0x28($sp) +/* CB9E34 80240C34 4600E003 */ div.s $f0, $f28, $f0 +/* CB9E38 80240C38 46003182 */ mul.s $f6, $f6, $f0 +/* CB9E3C 80240C3C 00000000 */ nop +/* CB9E40 80240C40 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CB9E44 80240C44 46000087 */ neg.s $f2, $f0 +/* CB9E48 80240C48 46022102 */ mul.s $f4, $f4, $f2 +/* CB9E4C 80240C4C 00000000 */ nop +/* CB9E50 80240C50 C7A20030 */ lwc1 $f2, 0x30($sp) +/* CB9E54 80240C54 46001082 */ mul.s $f2, $f2, $f0 +/* CB9E58 80240C58 00000000 */ nop +/* CB9E5C 80240C5C 4600A606 */ mov.s $f24, $f20 +/* CB9E60 80240C60 44804000 */ mtc1 $zero, $f8 +/* CB9E64 80240C64 4600B686 */ mov.s $f26, $f22 +/* CB9E68 80240C68 4608003C */ c.lt.s $f0, $f8 +/* CB9E6C 80240C6C E7A00034 */ swc1 $f0, 0x34($sp) +/* CB9E70 80240C70 E7A60028 */ swc1 $f6, 0x28($sp) +/* CB9E74 80240C74 E7A4002C */ swc1 $f4, 0x2c($sp) +/* CB9E78 80240C78 45000003 */ bc1f .L80240C88 +/* CB9E7C 80240C7C E7A20030 */ swc1 $f2, 0x30($sp) +/* CB9E80 80240C80 E7A80028 */ swc1 $f8, 0x28($sp) +/* CB9E84 80240C84 E7BC002C */ swc1 $f28, 0x2c($sp) +.L80240C88: +/* CB9E88 80240C88 C7A20028 */ lwc1 $f2, 0x28($sp) +/* CB9E8C 80240C8C 4614103C */ c.lt.s $f2, $f20 +/* CB9E90 80240C90 00000000 */ nop +/* CB9E94 80240C94 45030001 */ bc1tl .L80240C9C +/* CB9E98 80240C98 46001606 */ mov.s $f24, $f2 +.L80240C9C: +/* CB9E9C 80240C9C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CB9EA0 80240CA0 4616003C */ c.lt.s $f0, $f22 +/* CB9EA4 80240CA4 00000000 */ nop +/* CB9EA8 80240CA8 45030001 */ bc1tl .L80240CB0 +/* CB9EAC 80240CAC 46000686 */ mov.s $f26, $f0 +.L80240CB0: +/* CB9EB0 80240CB0 4602A03C */ c.lt.s $f20, $f2 +/* CB9EB4 80240CB4 00000000 */ nop +/* CB9EB8 80240CB8 45030001 */ bc1tl .L80240CC0 +/* CB9EBC 80240CBC 46001506 */ mov.s $f20, $f2 +.L80240CC0: +/* CB9EC0 80240CC0 4600B03C */ c.lt.s $f22, $f0 +/* CB9EC4 80240CC4 00000000 */ nop +/* CB9EC8 80240CC8 45030001 */ bc1tl .L80240CD0 +/* CB9ECC 80240CCC 46000586 */ mov.s $f22, $f0 +.L80240CD0: +/* CB9ED0 80240CD0 C7C00098 */ lwc1 $f0, 0x98($fp) +/* CB9ED4 80240CD4 C7C200A0 */ lwc1 $f2, 0xa0($fp) +/* CB9ED8 80240CD8 C7A80038 */ lwc1 $f8, 0x38($sp) +/* CB9EDC 80240CDC E7BC0010 */ swc1 $f28, 0x10($sp) +/* CB9EE0 80240CE0 AFB40014 */ sw $s4, 0x14($sp) +/* CB9EE4 80240CE4 AFB20018 */ sw $s2, 0x18($sp) +/* CB9EE8 80240CE8 461E0000 */ add.s $f0, $f0, $f30 +/* CB9EEC 80240CEC AFB3001C */ sw $s3, 0x1c($sp) +/* CB9EF0 80240CF0 AFB10020 */ sw $s1, 0x20($sp) +/* CB9EF4 80240CF4 46081200 */ add.s $f8, $f2, $f8 +/* CB9EF8 80240CF8 8FC6009C */ lw $a2, 0x9c($fp) +/* CB9EFC 80240CFC 44050000 */ mfc1 $a1, $f0 +/* CB9F00 80240D00 44074000 */ mfc1 $a3, $f8 +/* CB9F04 80240D04 0C00A588 */ jal transform_point +/* CB9F08 80240D08 0200202D */ daddu $a0, $s0, $zero +/* CB9F0C 80240D0C C7A00034 */ lwc1 $f0, 0x34($sp) +/* CB9F10 80240D10 C7A60028 */ lwc1 $f6, 0x28($sp) +/* CB9F14 80240D14 4600E003 */ div.s $f0, $f28, $f0 +/* CB9F18 80240D18 46003182 */ mul.s $f6, $f6, $f0 +/* CB9F1C 80240D1C 00000000 */ nop +/* CB9F20 80240D20 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CB9F24 80240D24 46000087 */ neg.s $f2, $f0 +/* CB9F28 80240D28 46022102 */ mul.s $f4, $f4, $f2 +/* CB9F2C 80240D2C 00000000 */ nop +/* CB9F30 80240D30 C7A20030 */ lwc1 $f2, 0x30($sp) +/* CB9F34 80240D34 46001082 */ mul.s $f2, $f2, $f0 +/* CB9F38 80240D38 00000000 */ nop +/* CB9F3C 80240D3C 44804000 */ mtc1 $zero, $f8 +/* CB9F40 80240D40 00000000 */ nop +/* CB9F44 80240D44 4608003C */ c.lt.s $f0, $f8 +/* CB9F48 80240D48 E7A00034 */ swc1 $f0, 0x34($sp) +/* CB9F4C 80240D4C E7A60028 */ swc1 $f6, 0x28($sp) +/* CB9F50 80240D50 E7A4002C */ swc1 $f4, 0x2c($sp) +/* CB9F54 80240D54 45000003 */ bc1f .L80240D64 +/* CB9F58 80240D58 E7A20030 */ swc1 $f2, 0x30($sp) +/* CB9F5C 80240D5C E7BC0028 */ swc1 $f28, 0x28($sp) +/* CB9F60 80240D60 E7BC002C */ swc1 $f28, 0x2c($sp) +.L80240D64: +/* CB9F64 80240D64 C7A20028 */ lwc1 $f2, 0x28($sp) +/* CB9F68 80240D68 4618103C */ c.lt.s $f2, $f24 +/* CB9F6C 80240D6C 00000000 */ nop +/* CB9F70 80240D70 45030001 */ bc1tl .L80240D78 +/* CB9F74 80240D74 46001606 */ mov.s $f24, $f2 +.L80240D78: +/* CB9F78 80240D78 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CB9F7C 80240D7C 461A003C */ c.lt.s $f0, $f26 +/* CB9F80 80240D80 00000000 */ nop +/* CB9F84 80240D84 45030001 */ bc1tl .L80240D8C +/* CB9F88 80240D88 46000686 */ mov.s $f26, $f0 +.L80240D8C: +/* CB9F8C 80240D8C 4602A03C */ c.lt.s $f20, $f2 +/* CB9F90 80240D90 00000000 */ nop +/* CB9F94 80240D94 45030001 */ bc1tl .L80240D9C +/* CB9F98 80240D98 46001506 */ mov.s $f20, $f2 +.L80240D9C: +/* CB9F9C 80240D9C 4600B03C */ c.lt.s $f22, $f0 +/* CB9FA0 80240DA0 00000000 */ nop +/* CB9FA4 80240DA4 45030001 */ bc1tl .L80240DAC +/* CB9FA8 80240DA8 46000586 */ mov.s $f22, $f0 +.L80240DAC: +/* CB9FAC 80240DAC C7C00098 */ lwc1 $f0, 0x98($fp) +/* CB9FB0 80240DB0 C7C200A0 */ lwc1 $f2, 0xa0($fp) +/* CB9FB4 80240DB4 C7A80038 */ lwc1 $f8, 0x38($sp) +/* CB9FB8 80240DB8 E7BC0010 */ swc1 $f28, 0x10($sp) +/* CB9FBC 80240DBC AFB40014 */ sw $s4, 0x14($sp) +/* CB9FC0 80240DC0 AFB20018 */ sw $s2, 0x18($sp) +/* CB9FC4 80240DC4 461E0000 */ add.s $f0, $f0, $f30 +/* CB9FC8 80240DC8 AFB3001C */ sw $s3, 0x1c($sp) +/* CB9FCC 80240DCC AFB10020 */ sw $s1, 0x20($sp) +/* CB9FD0 80240DD0 46081201 */ sub.s $f8, $f2, $f8 +/* CB9FD4 80240DD4 8FC6009C */ lw $a2, 0x9c($fp) +/* CB9FD8 80240DD8 44050000 */ mfc1 $a1, $f0 +/* CB9FDC 80240DDC 44074000 */ mfc1 $a3, $f8 +/* CB9FE0 80240DE0 0C00A588 */ jal transform_point +/* CB9FE4 80240DE4 26E400D4 */ addiu $a0, $s7, 0xd4 +/* CB9FE8 80240DE8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CB9FEC 80240DEC C7A60028 */ lwc1 $f6, 0x28($sp) +/* CB9FF0 80240DF0 4600E003 */ div.s $f0, $f28, $f0 +/* CB9FF4 80240DF4 46003182 */ mul.s $f6, $f6, $f0 +/* CB9FF8 80240DF8 00000000 */ nop +/* CB9FFC 80240DFC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CBA000 80240E00 46000087 */ neg.s $f2, $f0 +/* CBA004 80240E04 46022102 */ mul.s $f4, $f4, $f2 +/* CBA008 80240E08 00000000 */ nop +/* CBA00C 80240E0C C7A20030 */ lwc1 $f2, 0x30($sp) +/* CBA010 80240E10 46001082 */ mul.s $f2, $f2, $f0 +/* CBA014 80240E14 00000000 */ nop +/* CBA018 80240E18 44804000 */ mtc1 $zero, $f8 +/* CBA01C 80240E1C 00000000 */ nop +/* CBA020 80240E20 4608003C */ c.lt.s $f0, $f8 +/* CBA024 80240E24 E7A00034 */ swc1 $f0, 0x34($sp) +/* CBA028 80240E28 E7A60028 */ swc1 $f6, 0x28($sp) +/* CBA02C 80240E2C E7A4002C */ swc1 $f4, 0x2c($sp) +/* CBA030 80240E30 45000003 */ bc1f .L80240E40 +/* CBA034 80240E34 E7A20030 */ swc1 $f2, 0x30($sp) +/* CBA038 80240E38 E7BC0028 */ swc1 $f28, 0x28($sp) +/* CBA03C 80240E3C E7BC002C */ swc1 $f28, 0x2c($sp) +.L80240E40: +/* CBA040 80240E40 C7A20028 */ lwc1 $f2, 0x28($sp) +/* CBA044 80240E44 4618103C */ c.lt.s $f2, $f24 +/* CBA048 80240E48 00000000 */ nop +/* CBA04C 80240E4C 45030001 */ bc1tl .L80240E54 +/* CBA050 80240E50 46001606 */ mov.s $f24, $f2 +.L80240E54: +/* CBA054 80240E54 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CBA058 80240E58 461A003C */ c.lt.s $f0, $f26 +/* CBA05C 80240E5C 00000000 */ nop +/* CBA060 80240E60 45030001 */ bc1tl .L80240E68 +/* CBA064 80240E64 46000686 */ mov.s $f26, $f0 +.L80240E68: +/* CBA068 80240E68 4602A03C */ c.lt.s $f20, $f2 +/* CBA06C 80240E6C 00000000 */ nop +/* CBA070 80240E70 45030001 */ bc1tl .L80240E78 +/* CBA074 80240E74 46001506 */ mov.s $f20, $f2 +.L80240E78: +/* CBA078 80240E78 4600B03C */ c.lt.s $f22, $f0 +/* CBA07C 80240E7C 00000000 */ nop +/* CBA080 80240E80 45030001 */ bc1tl .L80240E88 +/* CBA084 80240E84 46000586 */ mov.s $f22, $f0 +.L80240E88: +/* CBA088 80240E88 4614C032 */ c.eq.s $f24, $f20 +/* CBA08C 80240E8C 00000000 */ nop +/* CBA090 80240E90 45000005 */ bc1f .L80240EA8 +/* CBA094 80240E94 00000000 */ nop +/* CBA098 80240E98 4616D032 */ c.eq.s $f26, $f22 +/* CBA09C 80240E9C 00000000 */ nop +/* CBA0A0 80240EA0 450100CE */ bc1t .L802411DC +/* CBA0A4 80240EA4 00000000 */ nop +.L80240EA8: +/* CBA0A8 80240EA8 86E2000A */ lh $v0, 0xa($s7) +/* CBA0AC 80240EAC 44821000 */ mtc1 $v0, $f2 +/* CBA0B0 80240EB0 00000000 */ nop +/* CBA0B4 80240EB4 468010A0 */ cvt.s.w $f2, $f2 +/* CBA0B8 80240EB8 4602C002 */ mul.s $f0, $f24, $f2 +/* CBA0BC 80240EBC 00000000 */ nop +/* CBA0C0 80240EC0 46020000 */ add.s $f0, $f0, $f2 +/* CBA0C4 80240EC4 3C013F00 */ lui $at, 0x3f00 +/* CBA0C8 80240EC8 44813000 */ mtc1 $at, $f6 +/* CBA0CC 80240ECC 00000000 */ nop +/* CBA0D0 80240ED0 46060602 */ mul.s $f24, $f0, $f6 +/* CBA0D4 80240ED4 00000000 */ nop +/* CBA0D8 80240ED8 86E2000C */ lh $v0, 0xc($s7) +/* CBA0DC 80240EDC 44822000 */ mtc1 $v0, $f4 +/* CBA0E0 80240EE0 00000000 */ nop +/* CBA0E4 80240EE4 46802120 */ cvt.s.w $f4, $f4 +/* CBA0E8 80240EE8 4604D002 */ mul.s $f0, $f26, $f4 +/* CBA0EC 80240EEC 00000000 */ nop +/* CBA0F0 80240EF0 46040000 */ add.s $f0, $f0, $f4 +/* CBA0F4 80240EF4 3C18E300 */ lui $t8, 0xe300 +/* CBA0F8 80240EF8 37180A01 */ ori $t8, $t8, 0xa01 +/* CBA0FC 80240EFC 46060682 */ mul.s $f26, $f0, $f6 +/* CBA100 80240F00 00000000 */ nop +/* CBA104 80240F04 3C14E200 */ lui $s4, 0xe200 +/* CBA108 80240F08 3694001C */ ori $s4, $s4, 0x1c +/* CBA10C 80240F0C 3C060F0A */ lui $a2, 0xf0a +/* CBA110 80240F10 34C64010 */ ori $a2, $a2, 0x4010 +/* CBA114 80240F14 4602A002 */ mul.s $f0, $f20, $f2 +/* CBA118 80240F18 00000000 */ nop +/* CBA11C 80240F1C 3C13FF10 */ lui $s3, 0xff10 +/* CBA120 80240F20 3673013F */ ori $s3, $s3, 0x13f +/* CBA124 80240F24 3C15FCFF */ lui $s5, 0xfcff +/* CBA128 80240F28 36B5FFFF */ ori $s5, $s5, 0xffff +/* CBA12C 80240F2C 46020000 */ add.s $f0, $f0, $f2 +/* CBA130 80240F30 3C16E200 */ lui $s6, 0xe200 +/* CBA134 80240F34 36D61D00 */ ori $s6, $s6, 0x1d00 +/* CBA138 80240F38 46060502 */ mul.s $f20, $f0, $f6 +/* CBA13C 80240F3C 00000000 */ nop +/* CBA140 80240F40 3C04800A */ lui $a0, %hi(nuGfxZBuffer) +/* CBA144 80240F44 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0) +/* CBA148 80240F48 3C12800A */ lui $s2, 0x800a +/* CBA14C 80240F4C 2652A66C */ addiu $s2, $s2, -0x5994 +/* CBA150 80240F50 AFB8003C */ sw $t8, 0x3c($sp) +/* CBA154 80240F54 8E510000 */ lw $s1, ($s2) +/* CBA158 80240F58 4604B002 */ mul.s $f0, $f22, $f4 +/* CBA15C 80240F5C 00000000 */ nop +/* CBA160 80240F60 86E3000E */ lh $v1, 0xe($s7) +/* CBA164 80240F64 86E50010 */ lh $a1, 0x10($s7) +/* CBA168 80240F68 0220102D */ daddu $v0, $s1, $zero +/* CBA16C 80240F6C 26310008 */ addiu $s1, $s1, 8 +/* CBA170 80240F70 46040000 */ add.s $f0, $f0, $f4 +/* CBA174 80240F74 AE510000 */ sw $s1, ($s2) +/* CBA178 80240F78 AC580000 */ sw $t8, ($v0) +/* CBA17C 80240F7C 46060582 */ mul.s $f22, $f0, $f6 +/* CBA180 80240F80 00000000 */ nop +/* CBA184 80240F84 AC400004 */ sw $zero, 4($v0) +/* CBA188 80240F88 26220008 */ addiu $v0, $s1, 8 +/* CBA18C 80240F8C AE420000 */ sw $v0, ($s2) +/* CBA190 80240F90 44851000 */ mtc1 $a1, $f2 +/* CBA194 80240F94 00000000 */ nop +/* CBA198 80240F98 468010A0 */ cvt.s.w $f2, $f2 +/* CBA19C 80240F9C 4602D680 */ add.s $f26, $f26, $f2 +/* CBA1A0 80240FA0 26220010 */ addiu $v0, $s1, 0x10 +/* CBA1A4 80240FA4 44830000 */ mtc1 $v1, $f0 +/* CBA1A8 80240FA8 00000000 */ nop +/* CBA1AC 80240FAC 46800020 */ cvt.s.w $f0, $f0 +/* CBA1B0 80240FB0 4600C600 */ add.s $f24, $f24, $f0 +/* CBA1B4 80240FB4 AE340000 */ sw $s4, ($s1) +/* CBA1B8 80240FB8 AE260004 */ sw $a2, 4($s1) +/* CBA1BC 80240FBC 4600A500 */ add.s $f20, $f20, $f0 +/* CBA1C0 80240FC0 AE420000 */ sw $v0, ($s2) +/* CBA1C4 80240FC4 AE330008 */ sw $s3, 8($s1) +/* CBA1C8 80240FC8 0C0187A4 */ jal osVirtualToPhysical +/* CBA1CC 80240FCC 4602B580 */ add.s $f22, $f22, $f2 +/* CBA1D0 80240FD0 3C03FFFD */ lui $v1, 0xfffd +/* CBA1D4 80240FD4 3463FEFF */ ori $v1, $v1, 0xfeff +/* CBA1D8 80240FD8 3C05F8F0 */ lui $a1, 0xf8f0 +/* CBA1DC 80240FDC 8E500000 */ lw $s0, ($s2) +/* CBA1E0 80240FE0 34A5F000 */ ori $a1, $a1, 0xf000 +/* CBA1E4 80240FE4 AE22000C */ sw $v0, 0xc($s1) +/* CBA1E8 80240FE8 3C11E700 */ lui $s1, 0xe700 +/* CBA1EC 80240FEC 3C04800A */ lui $a0, 0x800a +/* CBA1F0 80240FF0 8C84A64C */ lw $a0, -0x59b4($a0) +/* CBA1F4 80240FF4 0200102D */ daddu $v0, $s0, $zero +/* CBA1F8 80240FF8 26100008 */ addiu $s0, $s0, 8 +/* CBA1FC 80240FFC AE500000 */ sw $s0, ($s2) +/* CBA200 80241000 AC550000 */ sw $s5, ($v0) +/* CBA204 80241004 AC430004 */ sw $v1, 4($v0) +/* CBA208 80241008 26020008 */ addiu $v0, $s0, 8 +/* CBA20C 8024100C AE420000 */ sw $v0, ($s2) +/* CBA210 80241010 3C02FA00 */ lui $v0, 0xfa00 +/* CBA214 80241014 AE020000 */ sw $v0, ($s0) +/* CBA218 80241018 26020010 */ addiu $v0, $s0, 0x10 +/* CBA21C 8024101C AE050004 */ sw $a1, 4($s0) +/* CBA220 80241020 AE420000 */ sw $v0, ($s2) +/* CBA224 80241024 3C02DE00 */ lui $v0, 0xde00 +/* CBA228 80241028 AE110008 */ sw $s1, 8($s0) +/* CBA22C 8024102C AE00000C */ sw $zero, 0xc($s0) +/* CBA230 80241030 AE020010 */ sw $v0, 0x10($s0) +/* CBA234 80241034 8FC30008 */ lw $v1, 8($fp) +/* CBA238 80241038 26020018 */ addiu $v0, $s0, 0x18 +/* CBA23C 8024103C AE420000 */ sw $v0, ($s2) +/* CBA240 80241040 8C630004 */ lw $v1, 4($v1) +/* CBA244 80241044 26020020 */ addiu $v0, $s0, 0x20 +/* CBA248 80241048 AE420000 */ sw $v0, ($s2) +/* CBA24C 8024104C 8C630000 */ lw $v1, ($v1) +/* CBA250 80241050 26020028 */ addiu $v0, $s0, 0x28 +/* CBA254 80241054 AE420000 */ sw $v0, ($s2) +/* CBA258 80241058 AE110018 */ sw $s1, 0x18($s0) +/* CBA25C 8024105C AE00001C */ sw $zero, 0x1c($s0) +/* CBA260 80241060 AE130020 */ sw $s3, 0x20($s0) +/* CBA264 80241064 0C0187A4 */ jal osVirtualToPhysical +/* CBA268 80241068 AE030014 */ sw $v1, 0x14($s0) +/* CBA26C 8024106C 3C090050 */ lui $t1, 0x50 +/* CBA270 80241070 35294E50 */ ori $t1, $t1, 0x4e50 +/* CBA274 80241074 3C0AE300 */ lui $t2, 0xe300 +/* CBA278 80241078 354A1201 */ ori $t2, $t2, 0x1201 +/* CBA27C 8024107C 3C0BE300 */ lui $t3, 0xe300 +/* CBA280 80241080 356B0C00 */ ori $t3, $t3, 0xc00 +/* CBA284 80241084 3C0CD700 */ lui $t4, 0xd700 +/* CBA288 80241088 358C0002 */ ori $t4, $t4, 2 +/* CBA28C 8024108C 3C0DE300 */ lui $t5, 0xe300 +/* CBA290 80241090 35AD1001 */ ori $t5, $t5, 0x1001 +/* CBA294 80241094 3C0EE300 */ lui $t6, 0xe300 +/* CBA298 80241098 35CE0D01 */ ori $t6, $t6, 0xd01 +/* CBA29C 8024109C 3C0FE300 */ lui $t7, 0xe300 +/* CBA2A0 802410A0 35EF0F00 */ ori $t7, $t7, 0xf00 +/* CBA2A4 802410A4 3C13FFFC */ lui $s3, 0xfffc +/* CBA2A8 802410A8 3673F67B */ ori $s3, $s3, 0xf67b +/* CBA2AC 802410AC 4600C20D */ trunc.w.s $f8, $f24 +/* CBA2B0 802410B0 44044000 */ mfc1 $a0, $f8 +/* CBA2B4 802410B4 4600D20D */ trunc.w.s $f8, $f26 +/* CBA2B8 802410B8 44054000 */ mfc1 $a1, $f8 +/* CBA2BC 802410BC 4600A20D */ trunc.w.s $f8, $f20 +/* CBA2C0 802410C0 44064000 */ mfc1 $a2, $f8 +/* CBA2C4 802410C4 8E430000 */ lw $v1, ($s2) +/* CBA2C8 802410C8 4600B20D */ trunc.w.s $f8, $f22 +/* CBA2CC 802410CC 44074000 */ mfc1 $a3, $f8 +/* CBA2D0 802410D0 AE020024 */ sw $v0, 0x24($s0) +/* CBA2D4 802410D4 24020004 */ addiu $v0, $zero, 4 +/* CBA2D8 802410D8 0060402D */ daddu $t0, $v1, $zero +/* CBA2DC 802410DC 24630008 */ addiu $v1, $v1, 8 +/* CBA2E0 802410E0 AE430000 */ sw $v1, ($s2) +/* CBA2E4 802410E4 AD020004 */ sw $v0, 4($t0) +/* CBA2E8 802410E8 24620008 */ addiu $v0, $v1, 8 +/* CBA2EC 802410EC AD160000 */ sw $s6, ($t0) +/* CBA2F0 802410F0 AE420000 */ sw $v0, ($s2) +/* CBA2F4 802410F4 3C02EE00 */ lui $v0, 0xee00 +/* CBA2F8 802410F8 AC620000 */ sw $v0, ($v1) +/* CBA2FC 802410FC 3C027FDE */ lui $v0, 0x7fde +/* CBA300 80241100 AC620004 */ sw $v0, 4($v1) +/* CBA304 80241104 24620010 */ addiu $v0, $v1, 0x10 +/* CBA308 80241108 AE420000 */ sw $v0, ($s2) +/* CBA30C 8024110C 24620018 */ addiu $v0, $v1, 0x18 +/* CBA310 80241110 AC740008 */ sw $s4, 8($v1) +/* CBA314 80241114 AC69000C */ sw $t1, 0xc($v1) +/* CBA318 80241118 AE420000 */ sw $v0, ($s2) +/* CBA31C 8024111C 24620020 */ addiu $v0, $v1, 0x20 +/* CBA320 80241120 AC6A0010 */ sw $t2, 0x10($v1) +/* CBA324 80241124 AC600014 */ sw $zero, 0x14($v1) +/* CBA328 80241128 AE420000 */ sw $v0, ($s2) +/* CBA32C 8024112C 24620028 */ addiu $v0, $v1, 0x28 +/* CBA330 80241130 AC6B0018 */ sw $t3, 0x18($v1) +/* CBA334 80241134 AC60001C */ sw $zero, 0x1c($v1) +/* CBA338 80241138 AE420000 */ sw $v0, ($s2) +/* CBA33C 8024113C 2402FFFF */ addiu $v0, $zero, -1 +/* CBA340 80241140 AC620024 */ sw $v0, 0x24($v1) +/* CBA344 80241144 24620030 */ addiu $v0, $v1, 0x30 +/* CBA348 80241148 AC6C0020 */ sw $t4, 0x20($v1) +/* CBA34C 8024114C AE420000 */ sw $v0, ($s2) +/* CBA350 80241150 24620038 */ addiu $v0, $v1, 0x38 +/* CBA354 80241154 AC6D0028 */ sw $t5, 0x28($v1) +/* CBA358 80241158 AC60002C */ sw $zero, 0x2c($v1) +/* CBA35C 8024115C AE420000 */ sw $v0, ($s2) +/* CBA360 80241160 24620040 */ addiu $v0, $v1, 0x40 +/* CBA364 80241164 AC6E0030 */ sw $t6, 0x30($v1) +/* CBA368 80241168 AC600034 */ sw $zero, 0x34($v1) +/* CBA36C 8024116C AE420000 */ sw $v0, ($s2) +/* CBA370 80241170 24620048 */ addiu $v0, $v1, 0x48 +/* CBA374 80241174 AC6F0038 */ sw $t7, 0x38($v1) +/* CBA378 80241178 AC60003C */ sw $zero, 0x3c($v1) +/* CBA37C 8024117C AE420000 */ sw $v0, ($s2) +/* CBA380 80241180 24620050 */ addiu $v0, $v1, 0x50 +/* CBA384 80241184 AC750040 */ sw $s5, 0x40($v1) +/* CBA388 80241188 AC730044 */ sw $s3, 0x44($v1) +/* CBA38C 8024118C AE420000 */ sw $v0, ($s2) +/* CBA390 80241190 AC710048 */ sw $s1, 0x48($v1) +/* CBA394 80241194 0C09012C */ jal func_802404B0 +/* CBA398 80241198 AC60004C */ sw $zero, 0x4c($v1) +/* CBA39C 8024119C 8E420000 */ lw $v0, ($s2) +/* CBA3A0 802411A0 0040182D */ daddu $v1, $v0, $zero +/* CBA3A4 802411A4 24420008 */ addiu $v0, $v0, 8 +/* CBA3A8 802411A8 AE420000 */ sw $v0, ($s2) +/* CBA3AC 802411AC AC710000 */ sw $s1, ($v1) +/* CBA3B0 802411B0 AC600004 */ sw $zero, 4($v1) +/* CBA3B4 802411B4 24430008 */ addiu $v1, $v0, 8 +/* CBA3B8 802411B8 AE430000 */ sw $v1, ($s2) +/* CBA3BC 802411BC 8FB8003C */ lw $t8, 0x3c($sp) +/* CBA3C0 802411C0 3C030010 */ lui $v1, 0x10 +/* CBA3C4 802411C4 AC580000 */ sw $t8, ($v0) +/* CBA3C8 802411C8 AC430004 */ sw $v1, 4($v0) +/* CBA3CC 802411CC 24430010 */ addiu $v1, $v0, 0x10 +/* CBA3D0 802411D0 AE430000 */ sw $v1, ($s2) +/* CBA3D4 802411D4 AC560008 */ sw $s6, 8($v0) +/* CBA3D8 802411D8 AC40000C */ sw $zero, 0xc($v0) +.L802411DC: +/* CBA3DC 802411DC 8FBF0064 */ lw $ra, 0x64($sp) +/* CBA3E0 802411E0 8FBE0060 */ lw $fp, 0x60($sp) +/* CBA3E4 802411E4 8FB7005C */ lw $s7, 0x5c($sp) +/* CBA3E8 802411E8 8FB60058 */ lw $s6, 0x58($sp) +/* CBA3EC 802411EC 8FB50054 */ lw $s5, 0x54($sp) +/* CBA3F0 802411F0 8FB40050 */ lw $s4, 0x50($sp) +/* CBA3F4 802411F4 8FB3004C */ lw $s3, 0x4c($sp) +/* CBA3F8 802411F8 8FB20048 */ lw $s2, 0x48($sp) +/* CBA3FC 802411FC 8FB10044 */ lw $s1, 0x44($sp) +/* CBA400 80241200 8FB00040 */ lw $s0, 0x40($sp) +/* CBA404 80241204 D7BE0090 */ ldc1 $f30, 0x90($sp) +/* CBA408 80241208 D7BC0088 */ ldc1 $f28, 0x88($sp) +/* CBA40C 8024120C D7BA0080 */ ldc1 $f26, 0x80($sp) +/* CBA410 80241210 D7B80078 */ ldc1 $f24, 0x78($sp) +/* CBA414 80241214 D7B60070 */ ldc1 $f22, 0x70($sp) +/* CBA418 80241218 D7B40068 */ ldc1 $f20, 0x68($sp) +/* CBA41C 8024121C 03E00008 */ jr $ra +/* CBA420 80241220 27BD0098 */ addiu $sp, $sp, 0x98 +/* CBA424 80241224 00000000 */ nop +/* CBA428 80241228 00000000 */ nop +/* CBA42C 8024122C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_80241230.s b/asm/nonmatchings/world/area_flo/flo_10/func_80241230.s new file mode 100644 index 0000000000..37a5a0bb00 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_80241230.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241230 +/* CBA430 80241230 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CBA434 80241234 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CBA438 80241238 4485A000 */ mtc1 $a1, $f20 +/* CBA43C 8024123C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CBA440 80241240 4486B000 */ mtc1 $a2, $f22 +/* CBA444 80241244 AFB00010 */ sw $s0, 0x10($sp) +/* CBA448 80241248 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CBA44C 8024124C 4487C000 */ mtc1 $a3, $f24 +/* CBA450 80241250 AFBF0014 */ sw $ra, 0x14($sp) +/* CBA454 80241254 0C019D28 */ jal guMtxIdentF +/* CBA458 80241258 0080802D */ daddu $s0, $a0, $zero +/* CBA45C 8024125C 4616A582 */ mul.s $f22, $f20, $f22 +/* CBA460 80241260 00000000 */ nop +/* CBA464 80241264 4618A502 */ mul.s $f20, $f20, $f24 +/* CBA468 80241268 00000000 */ nop +/* CBA46C 8024126C 3C013F80 */ lui $at, 0x3f80 +/* CBA470 80241270 44810000 */ mtc1 $at, $f0 +/* CBA474 80241274 00000000 */ nop +/* CBA478 80241278 E6000014 */ swc1 $f0, 0x14($s0) +/* CBA47C 8024127C E6160010 */ swc1 $f22, 0x10($s0) +/* CBA480 80241280 E6140018 */ swc1 $f20, 0x18($s0) +/* CBA484 80241284 8FBF0014 */ lw $ra, 0x14($sp) +/* CBA488 80241288 8FB00010 */ lw $s0, 0x10($sp) +/* CBA48C 8024128C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CBA490 80241290 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CBA494 80241294 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CBA498 80241298 03E00008 */ jr $ra +/* CBA49C 8024129C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_10/func_802412A0_CB9200.s b/asm/nonmatchings/world/area_flo/flo_10/func_802412A0_CB9200.s new file mode 100644 index 0000000000..6b8ffdce6c --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_10/func_802412A0_CB9200.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412A0_CBA4A0 +/* CBA4A0 802412A0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CBA4A4 802412A4 AFB10054 */ sw $s1, 0x54($sp) +/* CBA4A8 802412A8 0080882D */ daddu $s1, $a0, $zero +/* CBA4AC 802412AC AFBF005C */ sw $ra, 0x5c($sp) +/* CBA4B0 802412B0 AFB20058 */ sw $s2, 0x58($sp) +/* CBA4B4 802412B4 AFB00050 */ sw $s0, 0x50($sp) +/* CBA4B8 802412B8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CBA4BC 802412BC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CBA4C0 802412C0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CBA4C4 802412C4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CBA4C8 802412C8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CBA4CC 802412CC 8E30000C */ lw $s0, 0xc($s1) +/* CBA4D0 802412D0 8E050000 */ lw $a1, ($s0) +/* CBA4D4 802412D4 0C0B1EAF */ jal get_variable +/* CBA4D8 802412D8 26100004 */ addiu $s0, $s0, 4 +/* CBA4DC 802412DC 0C046C04 */ jal get_model_list_index_from_tree_index +/* CBA4E0 802412E0 0040202D */ daddu $a0, $v0, $zero +/* CBA4E4 802412E4 8E050000 */ lw $a1, ($s0) +/* CBA4E8 802412E8 26100004 */ addiu $s0, $s0, 4 +/* CBA4EC 802412EC 0220202D */ daddu $a0, $s1, $zero +/* CBA4F0 802412F0 0C0B210B */ jal get_float_variable +/* CBA4F4 802412F4 0040902D */ daddu $s2, $v0, $zero +/* CBA4F8 802412F8 8E050000 */ lw $a1, ($s0) +/* CBA4FC 802412FC 26100004 */ addiu $s0, $s0, 4 +/* CBA500 80241300 0220202D */ daddu $a0, $s1, $zero +/* CBA504 80241304 0C0B210B */ jal get_float_variable +/* CBA508 80241308 46000706 */ mov.s $f28, $f0 +/* CBA50C 8024130C 8E050000 */ lw $a1, ($s0) +/* CBA510 80241310 26100004 */ addiu $s0, $s0, 4 +/* CBA514 80241314 0220202D */ daddu $a0, $s1, $zero +/* CBA518 80241318 0C0B210B */ jal get_float_variable +/* CBA51C 8024131C 46000686 */ mov.s $f26, $f0 +/* CBA520 80241320 0220202D */ daddu $a0, $s1, $zero +/* CBA524 80241324 8E050000 */ lw $a1, ($s0) +/* CBA528 80241328 0C0B210B */ jal get_float_variable +/* CBA52C 8024132C 46000586 */ mov.s $f22, $f0 +/* CBA530 80241330 0240202D */ daddu $a0, $s2, $zero +/* CBA534 80241334 0C046B4C */ jal get_model_from_list_index +/* CBA538 80241338 46000606 */ mov.s $f24, $f0 +/* CBA53C 8024133C 0040882D */ daddu $s1, $v0, $zero +/* CBA540 80241340 96220000 */ lhu $v0, ($s1) +/* CBA544 80241344 30420400 */ andi $v0, $v0, 0x400 +/* CBA548 80241348 1440001E */ bnez $v0, .L802413C4 +/* CBA54C 8024134C 26300058 */ addiu $s0, $s1, 0x58 +/* CBA550 80241350 4480A000 */ mtc1 $zero, $f20 +/* CBA554 80241354 4406B000 */ mfc1 $a2, $f22 +/* CBA558 80241358 4405A000 */ mfc1 $a1, $f20 +/* CBA55C 8024135C 4407A000 */ mfc1 $a3, $f20 +/* CBA560 80241360 0C019E40 */ jal guTranslateF +/* CBA564 80241364 0200202D */ daddu $a0, $s0, $zero +/* CBA568 80241368 4405E000 */ mfc1 $a1, $f28 +/* CBA56C 8024136C 4406D000 */ mfc1 $a2, $f26 +/* CBA570 80241370 4407C000 */ mfc1 $a3, $f24 +/* CBA574 80241374 0C09048C */ jal func_80241230 +/* CBA578 80241378 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA57C 8024137C 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA580 80241380 0200282D */ daddu $a1, $s0, $zero +/* CBA584 80241384 0C019D80 */ jal guMtxCatF +/* CBA588 80241388 0200302D */ daddu $a2, $s0, $zero +/* CBA58C 8024138C 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA590 80241390 4600B587 */ neg.s $f22, $f22 +/* CBA594 80241394 4405A000 */ mfc1 $a1, $f20 +/* CBA598 80241398 4406B000 */ mfc1 $a2, $f22 +/* CBA59C 8024139C 0C019E40 */ jal guTranslateF +/* CBA5A0 802413A0 00A0382D */ daddu $a3, $a1, $zero +/* CBA5A4 802413A4 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA5A8 802413A8 0200282D */ daddu $a1, $s0, $zero +/* CBA5AC 802413AC 0C019D80 */ jal guMtxCatF +/* CBA5B0 802413B0 00A0302D */ daddu $a2, $a1, $zero +/* CBA5B4 802413B4 96220000 */ lhu $v0, ($s1) +/* CBA5B8 802413B8 34421400 */ ori $v0, $v0, 0x1400 +/* CBA5BC 802413BC 0809050F */ j .L8024143C +/* CBA5C0 802413C0 A6220000 */ sh $v0, ($s1) +.L802413C4: +/* CBA5C4 802413C4 4480A000 */ mtc1 $zero, $f20 +/* CBA5C8 802413C8 4406B000 */ mfc1 $a2, $f22 +/* CBA5CC 802413CC 4405A000 */ mfc1 $a1, $f20 +/* CBA5D0 802413D0 4407A000 */ mfc1 $a3, $f20 +/* CBA5D4 802413D4 0C019E40 */ jal guTranslateF +/* CBA5D8 802413D8 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA5DC 802413DC 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA5E0 802413E0 26300058 */ addiu $s0, $s1, 0x58 +/* CBA5E4 802413E4 0200282D */ daddu $a1, $s0, $zero +/* CBA5E8 802413E8 0C019D80 */ jal guMtxCatF +/* CBA5EC 802413EC 0200302D */ daddu $a2, $s0, $zero +/* CBA5F0 802413F0 4405E000 */ mfc1 $a1, $f28 +/* CBA5F4 802413F4 4406D000 */ mfc1 $a2, $f26 +/* CBA5F8 802413F8 4407C000 */ mfc1 $a3, $f24 +/* CBA5FC 802413FC 0C09048C */ jal func_80241230 +/* CBA600 80241400 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA604 80241404 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA608 80241408 0200282D */ daddu $a1, $s0, $zero +/* CBA60C 8024140C 0C019D80 */ jal guMtxCatF +/* CBA610 80241410 0200302D */ daddu $a2, $s0, $zero +/* CBA614 80241414 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA618 80241418 4600B587 */ neg.s $f22, $f22 +/* CBA61C 8024141C 4405A000 */ mfc1 $a1, $f20 +/* CBA620 80241420 4406B000 */ mfc1 $a2, $f22 +/* CBA624 80241424 0C019E40 */ jal guTranslateF +/* CBA628 80241428 00A0382D */ daddu $a3, $a1, $zero +/* CBA62C 8024142C 27A40010 */ addiu $a0, $sp, 0x10 +/* CBA630 80241430 0200282D */ daddu $a1, $s0, $zero +/* CBA634 80241434 0C019D80 */ jal guMtxCatF +/* CBA638 80241438 00A0302D */ daddu $a2, $a1, $zero +.L8024143C: +/* CBA63C 8024143C 8FBF005C */ lw $ra, 0x5c($sp) +/* CBA640 80241440 8FB20058 */ lw $s2, 0x58($sp) +/* CBA644 80241444 8FB10054 */ lw $s1, 0x54($sp) +/* CBA648 80241448 8FB00050 */ lw $s0, 0x50($sp) +/* CBA64C 8024144C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CBA650 80241450 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CBA654 80241454 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CBA658 80241458 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CBA65C 8024145C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CBA660 80241460 24020002 */ addiu $v0, $zero, 2 +/* CBA664 80241464 03E00008 */ jr $ra +/* CBA668 80241468 27BD0088 */ addiu $sp, $sp, 0x88 +/* CBA66C 8024146C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_80240000_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_80240000_CBDCD0.s new file mode 100644 index 0000000000..1e43b3aa1b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_80240000_CBDCD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CBDCD0 +/* CBDCD0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CBDCD4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CBDCD8 80240008 8C430004 */ lw $v1, 4($v0) +/* CBDCDC 8024000C 3C040010 */ lui $a0, 0x10 +/* CBDCE0 80240010 00641825 */ or $v1, $v1, $a0 +/* CBDCE4 80240014 AC430004 */ sw $v1, 4($v0) +/* CBDCE8 80240018 03E00008 */ jr $ra +/* CBDCEC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_80240020_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_80240020_CBDCD0.s new file mode 100644 index 0000000000..e9c240c011 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_80240020_CBDCD0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_CBDCF0 +/* CBDCF0 80240020 3C028016 */ lui $v0, 0x8016 +/* CBDCF4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* CBDCF8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* CBDCFC 8024002C 03E00008 */ jr $ra +/* CBDD00 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_80240034_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_80240034_CBDCD0.s new file mode 100644 index 0000000000..3fdb9b44cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_80240034_CBDCD0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_CBDD04 +/* CBDD04 80240034 3C038016 */ lui $v1, 0x8016 +/* CBDD08 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* CBDD0C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CBDD10 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* CBDD14 80240044 0080802D */ daddu $s0, $a0, $zero +/* CBDD18 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* CBDD1C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* CBDD20 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* CBDD24 80240054 24020002 */ addiu $v0, $zero, 2 +/* CBDD28 80240058 08090038 */ j .L802400E0 +/* CBDD2C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* CBDD30 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* CBDD34 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* CBDD38 80240068 80620040 */ lb $v0, 0x40($v1) +/* CBDD3C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* CBDD40 80240070 04420001 */ bltzl $v0, .L80240078 +/* CBDD44 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* CBDD48 80240078 14400003 */ bnez $v0, .L80240088 +/* CBDD4C 8024007C 00000000 */ nop +/* CBDD50 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* CBDD54 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* CBDD58 80240088 44822000 */ mtc1 $v0, $f4 +/* CBDD5C 8024008C 00000000 */ nop +/* CBDD60 80240090 46802120 */ cvt.s.w $f4, $f4 +/* CBDD64 80240094 44062000 */ mfc1 $a2, $f4 +/* CBDD68 80240098 44872000 */ mtc1 $a3, $f4 +/* CBDD6C 8024009C 00000000 */ nop +/* CBDD70 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* CBDD74 802400A4 44806000 */ mtc1 $zero, $f12 +/* CBDD78 802400A8 44072000 */ mfc1 $a3, $f4 +/* CBDD7C 802400AC 0C00A720 */ jal atan2 +/* CBDD80 802400B0 46006386 */ mov.s $f14, $f12 +/* CBDD84 802400B4 3C014270 */ lui $at, 0x4270 +/* CBDD88 802400B8 44811000 */ mtc1 $at, $f2 +/* CBDD8C 802400BC 00000000 */ nop +/* CBDD90 802400C0 4602003C */ c.lt.s $f0, $f2 +/* CBDD94 802400C4 00000000 */ nop +/* CBDD98 802400C8 45000004 */ bc1f .L802400DC +/* CBDD9C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* CBDDA0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* CBDDA4 802400D4 08090038 */ j .L802400E0 +/* CBDDA8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* CBDDAC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* CBDDB0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* CBDDB4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* CBDDB8 802400E8 03E00008 */ jr $ra +/* CBDDBC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_802400F0_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_802400F0_CBDCD0.s new file mode 100644 index 0000000000..4ae194fc45 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_802400F0_CBDCD0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_CBDDC0 +/* CBDDC0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CBDDC4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* CBDDC8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* CBDDCC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* CBDDD0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* CBDDD4 80240104 0C016AFA */ jal get_current_map_header +/* CBDDD8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* CBDDDC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* CBDDE0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* CBDDE4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* CBDDE8 80240118 0C0B1EAF */ jal get_variable +/* CBDDEC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* CBDDF0 80240120 0220202D */ daddu $a0, $s1, $zero +/* CBDDF4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* CBDDF8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* CBDDFC 8024012C 00028100 */ sll $s0, $v0, 4 +/* CBDE00 80240130 02031821 */ addu $v1, $s0, $v1 +/* CBDE04 80240134 C4600000 */ lwc1 $f0, ($v1) +/* CBDE08 80240138 4600008D */ trunc.w.s $f2, $f0 +/* CBDE0C 8024013C 44061000 */ mfc1 $a2, $f2 +/* CBDE10 80240140 0C0B2026 */ jal set_variable +/* CBDE14 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* CBDE18 80240148 0220202D */ daddu $a0, $s1, $zero +/* CBDE1C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* CBDE20 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* CBDE24 80240154 02021021 */ addu $v0, $s0, $v0 +/* CBDE28 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* CBDE2C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* CBDE30 80240160 44061000 */ mfc1 $a2, $f2 +/* CBDE34 80240164 0C0B2026 */ jal set_variable +/* CBDE38 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* CBDE3C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* CBDE40 80240170 8E420014 */ lw $v0, 0x14($s2) +/* CBDE44 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* CBDE48 80240178 02021021 */ addu $v0, $s0, $v0 +/* CBDE4C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* CBDE50 80240180 4600008D */ trunc.w.s $f2, $f0 +/* CBDE54 80240184 44061000 */ mfc1 $a2, $f2 +/* CBDE58 80240188 0C0B2026 */ jal set_variable +/* CBDE5C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* CBDE60 80240190 0220202D */ daddu $a0, $s1, $zero +/* CBDE64 80240194 8E420014 */ lw $v0, 0x14($s2) +/* CBDE68 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* CBDE6C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* CBDE70 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* CBDE74 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* CBDE78 802401A8 44061000 */ mfc1 $a2, $f2 +/* CBDE7C 802401AC 0C0B2026 */ jal set_variable +/* CBDE80 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* CBDE84 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* CBDE88 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* CBDE8C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* CBDE90 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* CBDE94 802401C4 24020002 */ addiu $v0, $zero, 2 +/* CBDE98 802401C8 03E00008 */ jr $ra +/* CBDE9C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_802401D0_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_802401D0_CBDCD0.s new file mode 100644 index 0000000000..d65378554e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_802401D0_CBDCD0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_CBDEA0 +/* CBDEA0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CBDEA4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CBDEA8 802401D8 3C014334 */ lui $at, 0x4334 +/* CBDEAC 802401DC 44816000 */ mtc1 $at, $f12 +/* CBDEB0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CBDEB4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* CBDEB8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* CBDEBC 802401EC 00031080 */ sll $v0, $v1, 2 +/* CBDEC0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* CBDEC4 802401F4 00021080 */ sll $v0, $v0, 2 +/* CBDEC8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* CBDECC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* CBDED0 80240200 00431021 */ addu $v0, $v0, $v1 +/* CBDED4 80240204 000210C0 */ sll $v0, $v0, 3 +/* CBDED8 80240208 3C01800B */ lui $at, 0x800b +/* CBDEDC 8024020C 00220821 */ addu $at, $at, $v0 +/* CBDEE0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* CBDEE4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* CBDEE8 80240218 0C00A6C9 */ jal clamp_angle +/* CBDEEC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* CBDEF0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* CBDEF4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* CBDEF8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* CBDEFC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* CBDF00 80240230 24020002 */ addiu $v0, $zero, 2 +/* CBDF04 80240234 03E00008 */ jr $ra +/* CBDF08 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_8024023C_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_8024023C_CBDCD0.s new file mode 100644 index 0000000000..2b0515a251 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_8024023C_CBDCD0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_CBDF0C +/* CBDF0C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CBDF10 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* CBDF14 80240244 0080802D */ daddu $s0, $a0, $zero +/* CBDF18 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* CBDF1C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* CBDF20 80240250 8E02000C */ lw $v0, 0xc($s0) +/* CBDF24 80240254 0C0B210B */ jal get_float_variable +/* CBDF28 80240258 8C450000 */ lw $a1, ($v0) +/* CBDF2C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* CBDF30 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* CBDF34 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* CBDF38 80240268 44060000 */ mfc1 $a2, $f0 +/* CBDF3C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* CBDF40 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* CBDF44 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* CBDF48 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* CBDF4C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* CBDF50 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* CBDF54 80240284 0C00A7E7 */ jal add_vec2D_polar +/* CBDF58 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* CBDF5C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* CBDF60 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* CBDF64 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* CBDF68 80240298 0C0B2190 */ jal set_float_variable +/* CBDF6C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* CBDF70 802402A0 0200202D */ daddu $a0, $s0, $zero +/* CBDF74 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* CBDF78 802402A8 4406A000 */ mfc1 $a2, $f20 +/* CBDF7C 802402AC 0C0B2190 */ jal set_float_variable +/* CBDF80 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* CBDF84 802402B4 0200202D */ daddu $a0, $s0, $zero +/* CBDF88 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* CBDF8C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* CBDF90 802402C0 0C0B2190 */ jal set_float_variable +/* CBDF94 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* CBDF98 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* CBDF9C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* CBDFA0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* CBDFA4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* CBDFA8 802402D8 03E00008 */ jr $ra +/* CBDFAC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_11/func_802402E0_CBDCD0.s b/asm/nonmatchings/world/area_flo/flo_11/func_802402E0_CBDCD0.s new file mode 100644 index 0000000000..a478869eb7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_11/func_802402E0_CBDCD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_CBDFB0 +/* CBDFB0 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CBDFB4 802402E4 0000202D */ daddu $a0, $zero, $zero +/* CBDFB8 802402E8 0080282D */ daddu $a1, $a0, $zero +/* CBDFBC 802402EC 0080302D */ daddu $a2, $a0, $zero +/* CBDFC0 802402F0 0080382D */ daddu $a3, $a0, $zero +/* CBDFC4 802402F4 AFBF0018 */ sw $ra, 0x18($sp) +/* CBDFC8 802402F8 AFA00010 */ sw $zero, 0x10($sp) +/* CBDFCC 802402FC 0C01CA54 */ jal func_80072950 +/* CBDFD0 80240300 AFA00014 */ sw $zero, 0x14($sp) +/* CBDFD4 80240304 8FBF0018 */ lw $ra, 0x18($sp) +/* CBDFD8 80240308 24020002 */ addiu $v0, $zero, 2 +/* CBDFDC 8024030C 03E00008 */ jr $ra +/* CBDFE0 80240310 27BD0020 */ addiu $sp, $sp, 0x20 +/* CBDFE4 80240314 00000000 */ nop +/* CBDFE8 80240318 00000000 */ nop +/* CBDFEC 8024031C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_80240000_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_80240000_CC0E30.s new file mode 100644 index 0000000000..43ea0e1e09 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_80240000_CC0E30.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CC0E30 +/* CC0E30 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC0E34 80240004 0000202D */ daddu $a0, $zero, $zero +/* CC0E38 80240008 0080282D */ daddu $a1, $a0, $zero +/* CC0E3C 8024000C 0080302D */ daddu $a2, $a0, $zero +/* CC0E40 80240010 0080382D */ daddu $a3, $a0, $zero +/* CC0E44 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CC0E48 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CC0E4C 8024001C 0C01CA54 */ jal func_80072950 +/* CC0E50 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CC0E54 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CC0E58 80240028 24020002 */ addiu $v0, $zero, 2 +/* CC0E5C 8024002C 03E00008 */ jr $ra +/* CC0E60 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CC0E64 80240034 00000000 */ nop +/* CC0E68 80240038 00000000 */ nop +/* CC0E6C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_80240040_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_80240040_CC0E30.s new file mode 100644 index 0000000000..8887a2d287 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_80240040_CC0E30.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CC0E70 +/* CC0E70 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CC0E74 80240044 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CC0E78 80240048 4485A000 */ mtc1 $a1, $f20 +/* CC0E7C 8024004C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CC0E80 80240050 4486B000 */ mtc1 $a2, $f22 +/* CC0E84 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* CC0E88 80240058 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CC0E8C 8024005C 4487C000 */ mtc1 $a3, $f24 +/* CC0E90 80240060 AFBF0014 */ sw $ra, 0x14($sp) +/* CC0E94 80240064 0C019D28 */ jal guMtxIdentF +/* CC0E98 80240068 0080802D */ daddu $s0, $a0, $zero +/* CC0E9C 8024006C 4616A582 */ mul.s $f22, $f20, $f22 +/* CC0EA0 80240070 00000000 */ nop +/* CC0EA4 80240074 4618A502 */ mul.s $f20, $f20, $f24 +/* CC0EA8 80240078 00000000 */ nop +/* CC0EAC 8024007C 3C013F80 */ lui $at, 0x3f80 +/* CC0EB0 80240080 44810000 */ mtc1 $at, $f0 +/* CC0EB4 80240084 00000000 */ nop +/* CC0EB8 80240088 E6000014 */ swc1 $f0, 0x14($s0) +/* CC0EBC 8024008C E6160010 */ swc1 $f22, 0x10($s0) +/* CC0EC0 80240090 E6140018 */ swc1 $f20, 0x18($s0) +/* CC0EC4 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* CC0EC8 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* CC0ECC 8024009C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CC0ED0 802400A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CC0ED4 802400A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CC0ED8 802400A8 03E00008 */ jr $ra +/* CC0EDC 802400AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_802400B0_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_802400B0_CC0E30.s new file mode 100644 index 0000000000..d8575c2d29 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_802400B0_CC0E30.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_CC0EE0 +/* CC0EE0 802400B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CC0EE4 802400B4 AFB10054 */ sw $s1, 0x54($sp) +/* CC0EE8 802400B8 0080882D */ daddu $s1, $a0, $zero +/* CC0EEC 802400BC AFBF005C */ sw $ra, 0x5c($sp) +/* CC0EF0 802400C0 AFB20058 */ sw $s2, 0x58($sp) +/* CC0EF4 802400C4 AFB00050 */ sw $s0, 0x50($sp) +/* CC0EF8 802400C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CC0EFC 802400CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CC0F00 802400D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CC0F04 802400D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CC0F08 802400D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CC0F0C 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* CC0F10 802400E0 8E050000 */ lw $a1, ($s0) +/* CC0F14 802400E4 0C0B1EAF */ jal get_variable +/* CC0F18 802400E8 26100004 */ addiu $s0, $s0, 4 +/* CC0F1C 802400EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* CC0F20 802400F0 0040202D */ daddu $a0, $v0, $zero +/* CC0F24 802400F4 8E050000 */ lw $a1, ($s0) +/* CC0F28 802400F8 26100004 */ addiu $s0, $s0, 4 +/* CC0F2C 802400FC 0220202D */ daddu $a0, $s1, $zero +/* CC0F30 80240100 0C0B210B */ jal get_float_variable +/* CC0F34 80240104 0040902D */ daddu $s2, $v0, $zero +/* CC0F38 80240108 8E050000 */ lw $a1, ($s0) +/* CC0F3C 8024010C 26100004 */ addiu $s0, $s0, 4 +/* CC0F40 80240110 0220202D */ daddu $a0, $s1, $zero +/* CC0F44 80240114 0C0B210B */ jal get_float_variable +/* CC0F48 80240118 46000706 */ mov.s $f28, $f0 +/* CC0F4C 8024011C 8E050000 */ lw $a1, ($s0) +/* CC0F50 80240120 26100004 */ addiu $s0, $s0, 4 +/* CC0F54 80240124 0220202D */ daddu $a0, $s1, $zero +/* CC0F58 80240128 0C0B210B */ jal get_float_variable +/* CC0F5C 8024012C 46000686 */ mov.s $f26, $f0 +/* CC0F60 80240130 0220202D */ daddu $a0, $s1, $zero +/* CC0F64 80240134 8E050000 */ lw $a1, ($s0) +/* CC0F68 80240138 0C0B210B */ jal get_float_variable +/* CC0F6C 8024013C 46000586 */ mov.s $f22, $f0 +/* CC0F70 80240140 0240202D */ daddu $a0, $s2, $zero +/* CC0F74 80240144 0C046B4C */ jal get_model_from_list_index +/* CC0F78 80240148 46000606 */ mov.s $f24, $f0 +/* CC0F7C 8024014C 0040882D */ daddu $s1, $v0, $zero +/* CC0F80 80240150 96220000 */ lhu $v0, ($s1) +/* CC0F84 80240154 30420400 */ andi $v0, $v0, 0x400 +/* CC0F88 80240158 1440001E */ bnez $v0, .L802401D4 +/* CC0F8C 8024015C 26300058 */ addiu $s0, $s1, 0x58 +/* CC0F90 80240160 4480A000 */ mtc1 $zero, $f20 +/* CC0F94 80240164 4406B000 */ mfc1 $a2, $f22 +/* CC0F98 80240168 4405A000 */ mfc1 $a1, $f20 +/* CC0F9C 8024016C 4407A000 */ mfc1 $a3, $f20 +/* CC0FA0 80240170 0C019E40 */ jal guTranslateF +/* CC0FA4 80240174 0200202D */ daddu $a0, $s0, $zero +/* CC0FA8 80240178 4405E000 */ mfc1 $a1, $f28 +/* CC0FAC 8024017C 4406D000 */ mfc1 $a2, $f26 +/* CC0FB0 80240180 4407C000 */ mfc1 $a3, $f24 +/* CC0FB4 80240184 0C090010 */ jal func_80240040 +/* CC0FB8 80240188 27A40010 */ addiu $a0, $sp, 0x10 +/* CC0FBC 8024018C 27A40010 */ addiu $a0, $sp, 0x10 +/* CC0FC0 80240190 0200282D */ daddu $a1, $s0, $zero +/* CC0FC4 80240194 0C019D80 */ jal guMtxCatF +/* CC0FC8 80240198 0200302D */ daddu $a2, $s0, $zero +/* CC0FCC 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* CC0FD0 802401A0 4600B587 */ neg.s $f22, $f22 +/* CC0FD4 802401A4 4405A000 */ mfc1 $a1, $f20 +/* CC0FD8 802401A8 4406B000 */ mfc1 $a2, $f22 +/* CC0FDC 802401AC 0C019E40 */ jal guTranslateF +/* CC0FE0 802401B0 00A0382D */ daddu $a3, $a1, $zero +/* CC0FE4 802401B4 27A40010 */ addiu $a0, $sp, 0x10 +/* CC0FE8 802401B8 0200282D */ daddu $a1, $s0, $zero +/* CC0FEC 802401BC 0C019D80 */ jal guMtxCatF +/* CC0FF0 802401C0 00A0302D */ daddu $a2, $a1, $zero +/* CC0FF4 802401C4 96220000 */ lhu $v0, ($s1) +/* CC0FF8 802401C8 34421400 */ ori $v0, $v0, 0x1400 +/* CC0FFC 802401CC 08090093 */ j .L8024024C +/* CC1000 802401D0 A6220000 */ sh $v0, ($s1) +.L802401D4: +/* CC1004 802401D4 4480A000 */ mtc1 $zero, $f20 +/* CC1008 802401D8 4406B000 */ mfc1 $a2, $f22 +/* CC100C 802401DC 4405A000 */ mfc1 $a1, $f20 +/* CC1010 802401E0 4407A000 */ mfc1 $a3, $f20 +/* CC1014 802401E4 0C019E40 */ jal guTranslateF +/* CC1018 802401E8 27A40010 */ addiu $a0, $sp, 0x10 +/* CC101C 802401EC 27A40010 */ addiu $a0, $sp, 0x10 +/* CC1020 802401F0 26300058 */ addiu $s0, $s1, 0x58 +/* CC1024 802401F4 0200282D */ daddu $a1, $s0, $zero +/* CC1028 802401F8 0C019D80 */ jal guMtxCatF +/* CC102C 802401FC 0200302D */ daddu $a2, $s0, $zero +/* CC1030 80240200 4405E000 */ mfc1 $a1, $f28 +/* CC1034 80240204 4406D000 */ mfc1 $a2, $f26 +/* CC1038 80240208 4407C000 */ mfc1 $a3, $f24 +/* CC103C 8024020C 0C090010 */ jal func_80240040 +/* CC1040 80240210 27A40010 */ addiu $a0, $sp, 0x10 +/* CC1044 80240214 27A40010 */ addiu $a0, $sp, 0x10 +/* CC1048 80240218 0200282D */ daddu $a1, $s0, $zero +/* CC104C 8024021C 0C019D80 */ jal guMtxCatF +/* CC1050 80240220 0200302D */ daddu $a2, $s0, $zero +/* CC1054 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* CC1058 80240228 4600B587 */ neg.s $f22, $f22 +/* CC105C 8024022C 4405A000 */ mfc1 $a1, $f20 +/* CC1060 80240230 4406B000 */ mfc1 $a2, $f22 +/* CC1064 80240234 0C019E40 */ jal guTranslateF +/* CC1068 80240238 00A0382D */ daddu $a3, $a1, $zero +/* CC106C 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* CC1070 80240240 0200282D */ daddu $a1, $s0, $zero +/* CC1074 80240244 0C019D80 */ jal guMtxCatF +/* CC1078 80240248 00A0302D */ daddu $a2, $a1, $zero +.L8024024C: +/* CC107C 8024024C 8FBF005C */ lw $ra, 0x5c($sp) +/* CC1080 80240250 8FB20058 */ lw $s2, 0x58($sp) +/* CC1084 80240254 8FB10054 */ lw $s1, 0x54($sp) +/* CC1088 80240258 8FB00050 */ lw $s0, 0x50($sp) +/* CC108C 8024025C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CC1090 80240260 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CC1094 80240264 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CC1098 80240268 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CC109C 8024026C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CC10A0 80240270 24020002 */ addiu $v0, $zero, 2 +/* CC10A4 80240274 03E00008 */ jr $ra +/* CC10A8 80240278 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_8024027C_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_8024027C_CC0E30.s new file mode 100644 index 0000000000..800d9bb3e0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_8024027C_CC0E30.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024027C_CC10AC +/* CC10AC 8024027C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC10B0 80240280 AFB00010 */ sw $s0, 0x10($sp) +/* CC10B4 80240284 3C108024 */ lui $s0, 0x8024 +/* CC10B8 80240288 261017EC */ addiu $s0, $s0, 0x17ec +/* CC10BC 8024028C AFBF0018 */ sw $ra, 0x18($sp) +/* CC10C0 80240290 AFB10014 */ sw $s1, 0x14($sp) +/* CC10C4 80240294 8E020000 */ lw $v0, ($s0) +/* CC10C8 80240298 14400010 */ bnez $v0, .L802402DC +/* CC10CC 8024029C 0080882D */ daddu $s1, $a0, $zero +/* CC10D0 802402A0 0C00AB39 */ jal heap_malloc +/* CC10D4 802402A4 24040040 */ addiu $a0, $zero, 0x40 +/* CC10D8 802402A8 AE020000 */ sw $v0, ($s0) +/* CC10DC 802402AC 0000182D */ daddu $v1, $zero, $zero +/* CC10E0 802402B0 0040282D */ daddu $a1, $v0, $zero +/* CC10E4 802402B4 0220202D */ daddu $a0, $s1, $zero +.L802402B8: +/* CC10E8 802402B8 8C820084 */ lw $v0, 0x84($a0) +/* CC10EC 802402BC 24840004 */ addiu $a0, $a0, 4 +/* CC10F0 802402C0 24630001 */ addiu $v1, $v1, 1 +/* CC10F4 802402C4 ACA20000 */ sw $v0, ($a1) +/* CC10F8 802402C8 28620010 */ slti $v0, $v1, 0x10 +/* CC10FC 802402CC 1440FFFA */ bnez $v0, .L802402B8 +/* CC1100 802402D0 24A50004 */ addiu $a1, $a1, 4 +/* CC1104 802402D4 080900C6 */ j .L80240318 +/* CC1108 802402D8 00000000 */ nop +.L802402DC: +/* CC110C 802402DC 0000182D */ daddu $v1, $zero, $zero +/* CC1110 802402E0 0040282D */ daddu $a1, $v0, $zero +/* CC1114 802402E4 0220202D */ daddu $a0, $s1, $zero +.L802402E8: +/* CC1118 802402E8 8CA20000 */ lw $v0, ($a1) +/* CC111C 802402EC 24A50004 */ addiu $a1, $a1, 4 +/* CC1120 802402F0 24630001 */ addiu $v1, $v1, 1 +/* CC1124 802402F4 AC820084 */ sw $v0, 0x84($a0) +/* CC1128 802402F8 28620010 */ slti $v0, $v1, 0x10 +/* CC112C 802402FC 1440FFFA */ bnez $v0, .L802402E8 +/* CC1130 80240300 24840004 */ addiu $a0, $a0, 4 +/* CC1134 80240304 3C108024 */ lui $s0, 0x8024 +/* CC1138 80240308 261017EC */ addiu $s0, $s0, 0x17ec +/* CC113C 8024030C 0C00AB4B */ jal heap_free +/* CC1140 80240310 8E040000 */ lw $a0, ($s0) +/* CC1144 80240314 AE000000 */ sw $zero, ($s0) +.L80240318: +/* CC1148 80240318 8FBF0018 */ lw $ra, 0x18($sp) +/* CC114C 8024031C 8FB10014 */ lw $s1, 0x14($sp) +/* CC1150 80240320 8FB00010 */ lw $s0, 0x10($sp) +/* CC1154 80240324 24020002 */ addiu $v0, $zero, 2 +/* CC1158 80240328 03E00008 */ jr $ra +/* CC115C 8024032C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_80240330_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_80240330_CC0E30.s new file mode 100644 index 0000000000..ac55af8dfd --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_80240330_CC0E30.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240330_CC1160 +/* CC1160 80240330 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC1164 80240334 AFB00010 */ sw $s0, 0x10($sp) +/* CC1168 80240338 0080802D */ daddu $s0, $a0, $zero +/* CC116C 8024033C AFBF0018 */ sw $ra, 0x18($sp) +/* CC1170 80240340 AFB10014 */ sw $s1, 0x14($sp) +/* CC1174 80240344 8E02000C */ lw $v0, 0xc($s0) +/* CC1178 80240348 8C510000 */ lw $s1, ($v0) +/* CC117C 8024034C 0C0B1EAF */ jal get_variable +/* CC1180 80240350 0220282D */ daddu $a1, $s1, $zero +/* CC1184 80240354 3C03FFF0 */ lui $v1, 0xfff0 +/* CC1188 80240358 3463FFFF */ ori $v1, $v1, 0xffff +/* CC118C 8024035C 0200202D */ daddu $a0, $s0, $zero +/* CC1190 80240360 00431024 */ and $v0, $v0, $v1 +/* CC1194 80240364 00021140 */ sll $v0, $v0, 5 +/* CC1198 80240368 3C068008 */ lui $a2, %hi(gItemTable) +/* CC119C 8024036C 00C23021 */ addu $a2, $a2, $v0 +/* CC11A0 80240370 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CC11A4 80240374 0C0B2026 */ jal set_variable +/* CC11A8 80240378 0220282D */ daddu $a1, $s1, $zero +/* CC11AC 8024037C 8FBF0018 */ lw $ra, 0x18($sp) +/* CC11B0 80240380 8FB10014 */ lw $s1, 0x14($sp) +/* CC11B4 80240384 8FB00010 */ lw $s0, 0x10($sp) +/* CC11B8 80240388 24020002 */ addiu $v0, $zero, 2 +/* CC11BC 8024038C 03E00008 */ jr $ra +/* CC11C0 80240390 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_80240394_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_80240394_CC0E30.s new file mode 100644 index 0000000000..2fcfc6598c --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_80240394_CC0E30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_CC11C4 +/* CC11C4 80240394 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC11C8 80240398 AFB10014 */ sw $s1, 0x14($sp) +/* CC11CC 8024039C 0080882D */ daddu $s1, $a0, $zero +/* CC11D0 802403A0 AFBF0018 */ sw $ra, 0x18($sp) +/* CC11D4 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* CC11D8 802403A8 8E30000C */ lw $s0, 0xc($s1) +/* CC11DC 802403AC 8E050000 */ lw $a1, ($s0) +/* CC11E0 802403B0 0C0B1EAF */ jal get_variable +/* CC11E4 802403B4 26100004 */ addiu $s0, $s0, 4 +/* CC11E8 802403B8 0C00EAD2 */ jal get_npc_safe +/* CC11EC 802403BC 0040202D */ daddu $a0, $v0, $zero +/* CC11F0 802403C0 10400005 */ beqz $v0, .L802403D8 +/* CC11F4 802403C4 00000000 */ nop +/* CC11F8 802403C8 8E050000 */ lw $a1, ($s0) +/* CC11FC 802403CC 844600A8 */ lh $a2, 0xa8($v0) +/* CC1200 802403D0 0C0B2026 */ jal set_variable +/* CC1204 802403D4 0220202D */ daddu $a0, $s1, $zero +.L802403D8: +/* CC1208 802403D8 8FBF0018 */ lw $ra, 0x18($sp) +/* CC120C 802403DC 8FB10014 */ lw $s1, 0x14($sp) +/* CC1210 802403E0 8FB00010 */ lw $s0, 0x10($sp) +/* CC1214 802403E4 24020002 */ addiu $v0, $zero, 2 +/* CC1218 802403E8 03E00008 */ jr $ra +/* CC121C 802403EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_802403F0_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_802403F0_CC0E30.s new file mode 100644 index 0000000000..52c385e539 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_802403F0_CC0E30.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_CC1220 +/* CC1220 802403F0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CC1224 802403F4 AFB10014 */ sw $s1, 0x14($sp) +/* CC1228 802403F8 0080882D */ daddu $s1, $a0, $zero +/* CC122C 802403FC AFBF0024 */ sw $ra, 0x24($sp) +/* CC1230 80240400 AFB40020 */ sw $s4, 0x20($sp) +/* CC1234 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* CC1238 80240408 AFB20018 */ sw $s2, 0x18($sp) +/* CC123C 8024040C AFB00010 */ sw $s0, 0x10($sp) +/* CC1240 80240410 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CC1244 80240414 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CC1248 80240418 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CC124C 8024041C F7B60030 */ sdc1 $f22, 0x30($sp) +/* CC1250 80240420 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CC1254 80240424 8E30000C */ lw $s0, 0xc($s1) +/* CC1258 80240428 8E130000 */ lw $s3, ($s0) +/* CC125C 8024042C 26100004 */ addiu $s0, $s0, 4 +/* CC1260 80240430 0C0B1EAF */ jal get_variable +/* CC1264 80240434 0260282D */ daddu $a1, $s3, $zero +/* CC1268 80240438 4482E000 */ mtc1 $v0, $f28 +/* CC126C 8024043C 00000000 */ nop +/* CC1270 80240440 4680E720 */ cvt.s.w $f28, $f28 +/* CC1274 80240444 8E140000 */ lw $s4, ($s0) +/* CC1278 80240448 26100004 */ addiu $s0, $s0, 4 +/* CC127C 8024044C 0220202D */ daddu $a0, $s1, $zero +/* CC1280 80240450 0C0B1EAF */ jal get_variable +/* CC1284 80240454 0280282D */ daddu $a1, $s4, $zero +/* CC1288 80240458 4482D000 */ mtc1 $v0, $f26 +/* CC128C 8024045C 00000000 */ nop +/* CC1290 80240460 4680D6A0 */ cvt.s.w $f26, $f26 +/* CC1294 80240464 8E100000 */ lw $s0, ($s0) +/* CC1298 80240468 0220202D */ daddu $a0, $s1, $zero +/* CC129C 8024046C 0C0B1EAF */ jal get_variable +/* CC12A0 80240470 0200282D */ daddu $a1, $s0, $zero +/* CC12A4 80240474 4482C000 */ mtc1 $v0, $f24 +/* CC12A8 80240478 00000000 */ nop +/* CC12AC 8024047C 4680C620 */ cvt.s.w $f24, $f24 +/* CC12B0 80240480 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CC12B4 80240484 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CC12B8 80240488 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CC12BC 8024048C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CC12C0 80240490 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CC12C4 80240494 44800000 */ mtc1 $zero, $f0 +/* CC12C8 80240498 00031080 */ sll $v0, $v1, 2 +/* CC12CC 8024049C 00431021 */ addu $v0, $v0, $v1 +/* CC12D0 802404A0 00021080 */ sll $v0, $v0, 2 +/* CC12D4 802404A4 00431023 */ subu $v0, $v0, $v1 +/* CC12D8 802404A8 000218C0 */ sll $v1, $v0, 3 +/* CC12DC 802404AC 00431021 */ addu $v0, $v0, $v1 +/* CC12E0 802404B0 000210C0 */ sll $v0, $v0, 3 +/* CC12E4 802404B4 46001032 */ c.eq.s $f2, $f0 +/* CC12E8 802404B8 3C01800B */ lui $at, 0x800b +/* CC12EC 802404BC 00220821 */ addu $at, $at, $v0 +/* CC12F0 802404C0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CC12F4 802404C4 45000005 */ bc1f .L802404DC +/* CC12F8 802404C8 00000000 */ nop +/* CC12FC 802404CC 3C0142C8 */ lui $at, 0x42c8 +/* CC1300 802404D0 44810000 */ mtc1 $at, $f0 +/* CC1304 802404D4 0809013B */ j .L802404EC +/* CC1308 802404D8 4600B581 */ sub.s $f22, $f22, $f0 +.L802404DC: +/* CC130C 802404DC 3C0142C8 */ lui $at, 0x42c8 +/* CC1310 802404E0 44810000 */ mtc1 $at, $f0 +/* CC1314 802404E4 00000000 */ nop +/* CC1318 802404E8 4600B580 */ add.s $f22, $f22, $f0 +.L802404EC: +/* CC131C 802404EC 0C00A6C9 */ jal clamp_angle +/* CC1320 802404F0 4600B306 */ mov.s $f12, $f22 +/* CC1324 802404F4 46000586 */ mov.s $f22, $f0 +/* CC1328 802404F8 3C014170 */ lui $at, 0x4170 +/* CC132C 802404FC 4481A000 */ mtc1 $at, $f20 +/* CC1330 80240500 0C00A8BB */ jal sin_deg +/* CC1334 80240504 4600B306 */ mov.s $f12, $f22 +/* CC1338 80240508 46140002 */ mul.s $f0, $f0, $f20 +/* CC133C 8024050C 00000000 */ nop +/* CC1340 80240510 864200B0 */ lh $v0, 0xb0($s2) +/* CC1344 80240514 3C013F00 */ lui $at, 0x3f00 +/* CC1348 80240518 44812000 */ mtc1 $at, $f4 +/* CC134C 8024051C 44821000 */ mtc1 $v0, $f2 +/* CC1350 80240520 00000000 */ nop +/* CC1354 80240524 468010A0 */ cvt.s.w $f2, $f2 +/* CC1358 80240528 46041082 */ mul.s $f2, $f2, $f4 +/* CC135C 8024052C 00000000 */ nop +/* CC1360 80240530 4600E700 */ add.s $f28, $f28, $f0 +/* CC1364 80240534 4602D680 */ add.s $f26, $f26, $f2 +/* CC1368 80240538 0C00A8D4 */ jal cos_deg +/* CC136C 8024053C 4600B306 */ mov.s $f12, $f22 +/* CC1370 80240540 46140002 */ mul.s $f0, $f0, $f20 +/* CC1374 80240544 00000000 */ nop +/* CC1378 80240548 0220202D */ daddu $a0, $s1, $zero +/* CC137C 8024054C 0260282D */ daddu $a1, $s3, $zero +/* CC1380 80240550 4600E18D */ trunc.w.s $f6, $f28 +/* CC1384 80240554 44063000 */ mfc1 $a2, $f6 +/* CC1388 80240558 0C0B2026 */ jal set_variable +/* CC138C 8024055C 4600C601 */ sub.s $f24, $f24, $f0 +/* CC1390 80240560 0220202D */ daddu $a0, $s1, $zero +/* CC1394 80240564 4600D18D */ trunc.w.s $f6, $f26 +/* CC1398 80240568 44063000 */ mfc1 $a2, $f6 +/* CC139C 8024056C 0C0B2026 */ jal set_variable +/* CC13A0 80240570 0280282D */ daddu $a1, $s4, $zero +/* CC13A4 80240574 0220202D */ daddu $a0, $s1, $zero +/* CC13A8 80240578 4600C18D */ trunc.w.s $f6, $f24 +/* CC13AC 8024057C 44063000 */ mfc1 $a2, $f6 +/* CC13B0 80240580 0C0B2026 */ jal set_variable +/* CC13B4 80240584 0200282D */ daddu $a1, $s0, $zero +/* CC13B8 80240588 8FBF0024 */ lw $ra, 0x24($sp) +/* CC13BC 8024058C 8FB40020 */ lw $s4, 0x20($sp) +/* CC13C0 80240590 8FB3001C */ lw $s3, 0x1c($sp) +/* CC13C4 80240594 8FB20018 */ lw $s2, 0x18($sp) +/* CC13C8 80240598 8FB10014 */ lw $s1, 0x14($sp) +/* CC13CC 8024059C 8FB00010 */ lw $s0, 0x10($sp) +/* CC13D0 802405A0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CC13D4 802405A4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CC13D8 802405A8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CC13DC 802405AC D7B60030 */ ldc1 $f22, 0x30($sp) +/* CC13E0 802405B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CC13E4 802405B4 24020002 */ addiu $v0, $zero, 2 +/* CC13E8 802405B8 03E00008 */ jr $ra +/* CC13EC 802405BC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_802405C0_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_802405C0_CC0E30.s new file mode 100644 index 0000000000..5065b072cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_802405C0_CC0E30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C0_CC13F0 +/* CC13F0 802405C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC13F4 802405C4 AFBF0010 */ sw $ra, 0x10($sp) +/* CC13F8 802405C8 10A00003 */ beqz $a1, .L802405D8 +/* CC13FC 802405CC 8C86000C */ lw $a2, 0xc($a0) +/* CC1400 802405D0 3C018024 */ lui $at, 0x8024 +/* CC1404 802405D4 AC201850 */ sw $zero, 0x1850($at) +.L802405D8: +/* CC1408 802405D8 3C038024 */ lui $v1, 0x8024 +/* CC140C 802405DC 24631850 */ addiu $v1, $v1, 0x1850 +/* CC1410 802405E0 8C620000 */ lw $v0, ($v1) +/* CC1414 802405E4 54400003 */ bnel $v0, $zero, .L802405F4 +/* CC1418 802405E8 AC600000 */ sw $zero, ($v1) +/* CC141C 802405EC 08090182 */ j .L80240608 +/* CC1420 802405F0 0000102D */ daddu $v0, $zero, $zero +.L802405F4: +/* CC1424 802405F4 8CC50000 */ lw $a1, ($a2) +/* CC1428 802405F8 3C068024 */ lui $a2, 0x8024 +/* CC142C 802405FC 0C0B2026 */ jal set_variable +/* CC1430 80240600 8CC61854 */ lw $a2, 0x1854($a2) +/* CC1434 80240604 24020002 */ addiu $v0, $zero, 2 +.L80240608: +/* CC1438 80240608 8FBF0010 */ lw $ra, 0x10($sp) +/* CC143C 8024060C 03E00008 */ jr $ra +/* CC1440 80240610 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_80240614.s b/asm/nonmatchings/world/area_flo/flo_12/func_80240614.s new file mode 100644 index 0000000000..3ac89067a5 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_80240614.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240614 +/* CC1444 80240614 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC1448 80240618 AFBF0010 */ sw $ra, 0x10($sp) +/* CC144C 8024061C 8C82000C */ lw $v0, 0xc($a0) +/* CC1450 80240620 0C0B1EAF */ jal get_variable +/* CC1454 80240624 8C450000 */ lw $a1, ($v0) +/* CC1458 80240628 3C018024 */ lui $at, 0x8024 +/* CC145C 8024062C AC221854 */ sw $v0, 0x1854($at) +/* CC1460 80240630 24020002 */ addiu $v0, $zero, 2 +/* CC1464 80240634 8FBF0010 */ lw $ra, 0x10($sp) +/* CC1468 80240638 24030001 */ addiu $v1, $zero, 1 +/* CC146C 8024063C 3C018024 */ lui $at, 0x8024 +/* CC1470 80240640 AC231850 */ sw $v1, 0x1850($at) +/* CC1474 80240644 03E00008 */ jr $ra +/* CC1478 80240648 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_12/func_8024064C_CC0E30.s b/asm/nonmatchings/world/area_flo/flo_12/func_8024064C_CC0E30.s new file mode 100644 index 0000000000..c9c744edb6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_12/func_8024064C_CC0E30.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024064C_CC147C +/* CC147C 8024064C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC1480 80240650 AFBF0010 */ sw $ra, 0x10($sp) +/* CC1484 80240654 8C82000C */ lw $v0, 0xc($a0) +/* CC1488 80240658 0C0B1EAF */ jal get_variable +/* CC148C 8024065C 8C450000 */ lw $a1, ($v0) +/* CC1490 80240660 0040182D */ daddu $v1, $v0, $zero +/* CC1494 80240664 10600012 */ beqz $v1, .L802406B0 +/* CC1498 80240668 0000202D */ daddu $a0, $zero, $zero +/* CC149C 8024066C 8C620000 */ lw $v0, ($v1) +/* CC14A0 80240670 5040000A */ beql $v0, $zero, .L8024069C +/* CC14A4 80240674 00041080 */ sll $v0, $a0, 2 +/* CC14A8 80240678 3C058024 */ lui $a1, 0x8024 +/* CC14AC 8024067C 24A529E0 */ addiu $a1, $a1, 0x29e0 +.L80240680: +/* CC14B0 80240680 24630004 */ addiu $v1, $v1, 4 +/* CC14B4 80240684 24840001 */ addiu $a0, $a0, 1 +/* CC14B8 80240688 ACA20000 */ sw $v0, ($a1) +/* CC14BC 8024068C 8C620000 */ lw $v0, ($v1) +/* CC14C0 80240690 1440FFFB */ bnez $v0, .L80240680 +/* CC14C4 80240694 24A50004 */ addiu $a1, $a1, 4 +/* CC14C8 80240698 00041080 */ sll $v0, $a0, 2 +.L8024069C: +/* CC14CC 8024069C 3C018024 */ lui $at, 0x8024 +/* CC14D0 802406A0 00220821 */ addu $at, $at, $v0 +/* CC14D4 802406A4 AC2029E0 */ sw $zero, 0x29e0($at) +/* CC14D8 802406A8 080901B6 */ j .L802406D8 +/* CC14DC 802406AC 00000000 */ nop +.L802406B0: +/* CC14E0 802406B0 3C038024 */ lui $v1, 0x8024 +/* CC14E4 802406B4 246329E0 */ addiu $v1, $v1, 0x29e0 +/* CC14E8 802406B8 0060282D */ daddu $a1, $v1, $zero +.L802406BC: +/* CC14EC 802406BC 24820010 */ addiu $v0, $a0, 0x10 +/* CC14F0 802406C0 AC620000 */ sw $v0, ($v1) +/* CC14F4 802406C4 24630004 */ addiu $v1, $v1, 4 +/* CC14F8 802406C8 24840001 */ addiu $a0, $a0, 1 +/* CC14FC 802406CC 28820070 */ slti $v0, $a0, 0x70 +/* CC1500 802406D0 1440FFFA */ bnez $v0, .L802406BC +/* CC1504 802406D4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802406D8: +/* CC1508 802406D8 8FBF0010 */ lw $ra, 0x10($sp) +/* CC150C 802406DC 24020002 */ addiu $v0, $zero, 2 +/* CC1510 802406E0 03E00008 */ jr $ra +/* CC1514 802406E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* CC1518 802406E8 00000000 */ nop +/* CC151C 802406EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240000_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240000_CC3810.s new file mode 100644 index 0000000000..5e33e8e9c7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240000_CC3810.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CC3810 +/* CC3810 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC3814 80240004 0000202D */ daddu $a0, $zero, $zero +/* CC3818 80240008 0080282D */ daddu $a1, $a0, $zero +/* CC381C 8024000C 0080302D */ daddu $a2, $a0, $zero +/* CC3820 80240010 0080382D */ daddu $a3, $a0, $zero +/* CC3824 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CC3828 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CC382C 8024001C 0C01CA54 */ jal func_80072950 +/* CC3830 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CC3834 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CC3838 80240028 24020002 */ addiu $v0, $zero, 2 +/* CC383C 8024002C 03E00008 */ jr $ra +/* CC3840 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CC3844 80240034 00000000 */ nop +/* CC3848 80240038 00000000 */ nop +/* CC384C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240040_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240040_CC3810.s new file mode 100644 index 0000000000..9d473b0635 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240040_CC3810.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CC3850 +/* CC3850 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CC3854 80240044 AFB20018 */ sw $s2, 0x18($sp) +/* CC3858 80240048 0080902D */ daddu $s2, $a0, $zero +/* CC385C 8024004C AFB10014 */ sw $s1, 0x14($sp) +/* CC3860 80240050 00A0882D */ daddu $s1, $a1, $zero +/* CC3864 80240054 AFBF0024 */ sw $ra, 0x24($sp) +/* CC3868 80240058 AFB40020 */ sw $s4, 0x20($sp) +/* CC386C 8024005C AFB3001C */ sw $s3, 0x1c($sp) +/* CC3870 80240060 AFB00010 */ sw $s0, 0x10($sp) +/* CC3874 80240064 8E50000C */ lw $s0, 0xc($s2) +/* CC3878 80240068 8E050000 */ lw $a1, ($s0) +/* CC387C 8024006C 0C0B1EAF */ jal get_variable +/* CC3880 80240070 26100004 */ addiu $s0, $s0, 4 +/* CC3884 80240074 0240202D */ daddu $a0, $s2, $zero +/* CC3888 80240078 8E050000 */ lw $a1, ($s0) +/* CC388C 8024007C 0C0B1EAF */ jal get_variable +/* CC3890 80240080 0040802D */ daddu $s0, $v0, $zero +/* CC3894 80240084 0200202D */ daddu $a0, $s0, $zero +/* CC3898 80240088 0C00EAD2 */ jal get_npc_safe +/* CC389C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* CC38A0 80240090 3C138011 */ lui $s3, %hi(gPlayerData) +/* CC38A4 80240094 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* CC38A8 80240098 12200006 */ beqz $s1, .L802400B4 +/* CC38AC 8024009C 0040802D */ daddu $s0, $v0, $zero +/* CC38B0 802400A0 82620012 */ lb $v0, 0x12($s3) +/* CC38B4 802400A4 54400003 */ bnel $v0, $zero, .L802400B4 +/* CC38B8 802400A8 AE400070 */ sw $zero, 0x70($s2) +/* CC38BC 802400AC 24020002 */ addiu $v0, $zero, 2 +/* CC38C0 802400B0 AE420070 */ sw $v0, 0x70($s2) +.L802400B4: +/* CC38C4 802400B4 8E430070 */ lw $v1, 0x70($s2) +/* CC38C8 802400B8 24110001 */ addiu $s1, $zero, 1 +/* CC38CC 802400BC 10710013 */ beq $v1, $s1, .L8024010C +/* CC38D0 802400C0 28620002 */ slti $v0, $v1, 2 +/* CC38D4 802400C4 10400005 */ beqz $v0, .L802400DC +/* CC38D8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* CC38DC 802400CC 10600009 */ beqz $v1, .L802400F4 +/* CC38E0 802400D0 0000102D */ daddu $v0, $zero, $zero +/* CC38E4 802400D4 08090069 */ j .L802401A4 +/* CC38E8 802400D8 00000000 */ nop +.L802400DC: +/* CC38EC 802400DC 10620013 */ beq $v1, $v0, .L8024012C +/* CC38F0 802400E0 24020003 */ addiu $v0, $zero, 3 +/* CC38F4 802400E4 1062001E */ beq $v1, $v0, .L80240160 +/* CC38F8 802400E8 0000102D */ daddu $v0, $zero, $zero +/* CC38FC 802400EC 08090069 */ j .L802401A4 +/* CC3900 802400F0 00000000 */ nop +.L802400F4: +/* CC3904 802400F4 0C03AC5A */ jal func_800EB168 +/* CC3908 802400F8 0000202D */ daddu $a0, $zero, $zero +/* CC390C 802400FC 2402001E */ addiu $v0, $zero, 0x1e +/* CC3910 80240100 AE420074 */ sw $v0, 0x74($s2) +/* CC3914 80240104 08090068 */ j .L802401A0 +/* CC3918 80240108 AE510070 */ sw $s1, 0x70($s2) +.L8024010C: +/* CC391C 8024010C 8E420074 */ lw $v0, 0x74($s2) +/* CC3920 80240110 2403FFFF */ addiu $v1, $zero, -1 +/* CC3924 80240114 2442FFFF */ addiu $v0, $v0, -1 +/* CC3928 80240118 14430021 */ bne $v0, $v1, .L802401A0 +/* CC392C 8024011C AE420074 */ sw $v0, 0x74($s2) +/* CC3930 80240120 24020002 */ addiu $v0, $zero, 2 +/* CC3934 80240124 08090068 */ j .L802401A0 +/* CC3938 80240128 AE420070 */ sw $v0, 0x70($s2) +.L8024012C: +/* CC393C 8024012C 0200202D */ daddu $a0, $s0, $zero +/* CC3940 80240130 00141600 */ sll $v0, $s4, 0x18 +/* CC3944 80240134 00021543 */ sra $v0, $v0, 0x15 +/* CC3948 80240138 02621021 */ addu $v0, $s3, $v0 +/* CC394C 8024013C A2740012 */ sb $s4, 0x12($s3) +/* CC3950 80240140 0C03BD17 */ jal clear_partner_move_history +/* CC3954 80240144 A0510014 */ sb $s1, 0x14($v0) +/* CC3958 80240148 82640012 */ lb $a0, 0x12($s3) +/* CC395C 8024014C 0C03ACA9 */ jal func_800EB2A4 +/* CC3960 80240150 00000000 */ nop +/* CC3964 80240154 24020003 */ addiu $v0, $zero, 3 +/* CC3968 80240158 08090068 */ j .L802401A0 +/* CC396C 8024015C AE420070 */ sw $v0, 0x70($s2) +.L80240160: +/* CC3970 80240160 0C00EAD2 */ jal get_npc_safe +/* CC3974 80240164 2404FFFC */ addiu $a0, $zero, -4 +/* CC3978 80240168 8E05000C */ lw $a1, 0xc($s0) +/* CC397C 8024016C 0C00ECD0 */ jal set_npc_yaw +/* CC3980 80240170 0040202D */ daddu $a0, $v0, $zero +/* CC3984 80240174 0200202D */ daddu $a0, $s0, $zero +/* CC3988 80240178 8E020000 */ lw $v0, ($s0) +/* CC398C 8024017C 2403FFFB */ addiu $v1, $zero, -5 +/* CC3990 80240180 00431024 */ and $v0, $v0, $v1 +/* CC3994 80240184 0C00EAFF */ jal disable_npc_shadow +/* CC3998 80240188 AE020000 */ sw $v0, ($s0) +/* CC399C 8024018C 3C01C47A */ lui $at, 0xc47a +/* CC39A0 80240190 44810000 */ mtc1 $at, $f0 +/* CC39A4 80240194 24020002 */ addiu $v0, $zero, 2 +/* CC39A8 80240198 08090069 */ j .L802401A4 +/* CC39AC 8024019C E600003C */ swc1 $f0, 0x3c($s0) +.L802401A0: +/* CC39B0 802401A0 0000102D */ daddu $v0, $zero, $zero +.L802401A4: +/* CC39B4 802401A4 8FBF0024 */ lw $ra, 0x24($sp) +/* CC39B8 802401A8 8FB40020 */ lw $s4, 0x20($sp) +/* CC39BC 802401AC 8FB3001C */ lw $s3, 0x1c($sp) +/* CC39C0 802401B0 8FB20018 */ lw $s2, 0x18($sp) +/* CC39C4 802401B4 8FB10014 */ lw $s1, 0x14($sp) +/* CC39C8 802401B8 8FB00010 */ lw $s0, 0x10($sp) +/* CC39CC 802401BC 03E00008 */ jr $ra +/* CC39D0 802401C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802401C4_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_802401C4_CC3810.s new file mode 100644 index 0000000000..60cd3fb8dc --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802401C4_CC3810.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401C4_CC39D4 +/* CC39D4 802401C4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CC39D8 802401C8 AFB3002C */ sw $s3, 0x2c($sp) +/* CC39DC 802401CC 0080982D */ daddu $s3, $a0, $zero +/* CC39E0 802401D0 AFBF0030 */ sw $ra, 0x30($sp) +/* CC39E4 802401D4 AFB20028 */ sw $s2, 0x28($sp) +/* CC39E8 802401D8 AFB10024 */ sw $s1, 0x24($sp) +/* CC39EC 802401DC AFB00020 */ sw $s0, 0x20($sp) +/* CC39F0 802401E0 8E710148 */ lw $s1, 0x148($s3) +/* CC39F4 802401E4 86240008 */ lh $a0, 8($s1) +/* CC39F8 802401E8 0C00EABB */ jal get_npc_unsafe +/* CC39FC 802401EC 00A0902D */ daddu $s2, $a1, $zero +/* CC3A00 802401F0 8E440004 */ lw $a0, 4($s2) +/* CC3A04 802401F4 0040802D */ daddu $s0, $v0, $zero +/* CC3A08 802401F8 00041FC2 */ srl $v1, $a0, 0x1f +/* CC3A0C 802401FC 00832021 */ addu $a0, $a0, $v1 +/* CC3A10 80240200 00042043 */ sra $a0, $a0, 1 +/* CC3A14 80240204 0C00A67F */ jal rand_int +/* CC3A18 80240208 24840001 */ addiu $a0, $a0, 1 +/* CC3A1C 8024020C 8E430004 */ lw $v1, 4($s2) +/* CC3A20 80240210 000327C2 */ srl $a0, $v1, 0x1f +/* CC3A24 80240214 00641821 */ addu $v1, $v1, $a0 +/* CC3A28 80240218 00031843 */ sra $v1, $v1, 1 +/* CC3A2C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CC3A30 80240220 A603008E */ sh $v1, 0x8e($s0) +/* CC3A34 80240224 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC3A38 80240228 C6000040 */ lwc1 $f0, 0x40($s0) +/* CC3A3C 8024022C C4640000 */ lwc1 $f4, ($v1) +/* CC3A40 80240230 46802120 */ cvt.s.w $f4, $f4 +/* CC3A44 80240234 C4620008 */ lwc1 $f2, 8($v1) +/* CC3A48 80240238 468010A0 */ cvt.s.w $f2, $f2 +/* CC3A4C 8024023C E7A00010 */ swc1 $f0, 0x10($sp) +/* CC3A50 80240240 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC3A54 80240244 44061000 */ mfc1 $a2, $f2 +/* CC3A58 80240248 C440000C */ lwc1 $f0, 0xc($v0) +/* CC3A5C 8024024C 46800020 */ cvt.s.w $f0, $f0 +/* CC3A60 80240250 E7A00014 */ swc1 $f0, 0x14($sp) +/* CC3A64 80240254 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC3A68 80240258 44052000 */ mfc1 $a1, $f4 +/* CC3A6C 8024025C C4400010 */ lwc1 $f0, 0x10($v0) +/* CC3A70 80240260 46800020 */ cvt.s.w $f0, $f0 +/* CC3A74 80240264 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC3A78 80240268 8C640018 */ lw $a0, 0x18($v1) +/* CC3A7C 8024026C 0C0123F5 */ jal is_point_within_region +/* CC3A80 80240270 8E070038 */ lw $a3, 0x38($s0) +/* CC3A84 80240274 1040000E */ beqz $v0, .L802402B0 +/* CC3A88 80240278 00000000 */ nop +/* CC3A8C 8024027C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC3A90 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC3A94 80240284 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC3A98 80240288 C4460000 */ lwc1 $f6, ($v0) +/* CC3A9C 8024028C 468031A0 */ cvt.s.w $f6, $f6 +/* CC3AA0 80240290 44063000 */ mfc1 $a2, $f6 +/* CC3AA4 80240294 C4460008 */ lwc1 $f6, 8($v0) +/* CC3AA8 80240298 468031A0 */ cvt.s.w $f6, $f6 +/* CC3AAC 8024029C 44073000 */ mfc1 $a3, $f6 +/* CC3AB0 802402A0 0C00A720 */ jal atan2 +/* CC3AB4 802402A4 00000000 */ nop +/* CC3AB8 802402A8 080900B8 */ j .L802402E0 +/* CC3ABC 802402AC E600000C */ swc1 $f0, 0xc($s0) +.L802402B0: +/* CC3AC0 802402B0 0C00A67F */ jal rand_int +/* CC3AC4 802402B4 2404003C */ addiu $a0, $zero, 0x3c +/* CC3AC8 802402B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* CC3ACC 802402BC 44820000 */ mtc1 $v0, $f0 +/* CC3AD0 802402C0 00000000 */ nop +/* CC3AD4 802402C4 46800020 */ cvt.s.w $f0, $f0 +/* CC3AD8 802402C8 46006300 */ add.s $f12, $f12, $f0 +/* CC3ADC 802402CC 3C0141F0 */ lui $at, 0x41f0 +/* CC3AE0 802402D0 44810000 */ mtc1 $at, $f0 +/* CC3AE4 802402D4 0C00A6C9 */ jal clamp_angle +/* CC3AE8 802402D8 46006301 */ sub.s $f12, $f12, $f0 +/* CC3AEC 802402DC E600000C */ swc1 $f0, 0xc($s0) +.L802402E0: +/* CC3AF0 802402E0 8E2200CC */ lw $v0, 0xcc($s1) +/* CC3AF4 802402E4 8C420004 */ lw $v0, 4($v0) +/* CC3AF8 802402E8 AE020028 */ sw $v0, 0x28($s0) +/* CC3AFC 802402EC AE600074 */ sw $zero, 0x74($s3) +/* CC3B00 802402F0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC3B04 802402F4 8C420014 */ lw $v0, 0x14($v0) +/* CC3B08 802402F8 04410004 */ bgez $v0, .L8024030C +/* CC3B0C 802402FC 00000000 */ nop +/* CC3B10 80240300 C6400000 */ lwc1 $f0, ($s2) +/* CC3B14 80240304 080900CB */ j .L8024032C +/* CC3B18 80240308 E6000018 */ swc1 $f0, 0x18($s0) +.L8024030C: +/* CC3B1C 8024030C 3C018024 */ lui $at, 0x8024 +/* CC3B20 80240310 D4227A30 */ ldc1 $f2, 0x7a30($at) +/* CC3B24 80240314 44820000 */ mtc1 $v0, $f0 +/* CC3B28 80240318 00000000 */ nop +/* CC3B2C 8024031C 46800021 */ cvt.d.w $f0, $f0 +/* CC3B30 80240320 46220003 */ div.d $f0, $f0, $f2 +/* CC3B34 80240324 46200020 */ cvt.s.d $f0, $f0 +/* CC3B38 80240328 E6000018 */ swc1 $f0, 0x18($s0) +.L8024032C: +/* CC3B3C 8024032C C600003C */ lwc1 $f0, 0x3c($s0) +/* CC3B40 80240330 3C014059 */ lui $at, 0x4059 +/* CC3B44 80240334 44811800 */ mtc1 $at, $f3 +/* CC3B48 80240338 44801000 */ mtc1 $zero, $f2 +/* CC3B4C 8024033C 46000021 */ cvt.d.s $f0, $f0 +/* CC3B50 80240340 46220002 */ mul.d $f0, $f0, $f2 +/* CC3B54 80240344 00000000 */ nop +/* CC3B58 80240348 24020001 */ addiu $v0, $zero, 1 +/* CC3B5C 8024034C 4620018D */ trunc.w.d $f6, $f0 +/* CC3B60 80240350 E626007C */ swc1 $f6, 0x7c($s1) +/* CC3B64 80240354 AE620070 */ sw $v0, 0x70($s3) +/* CC3B68 80240358 8FBF0030 */ lw $ra, 0x30($sp) +/* CC3B6C 8024035C 8FB3002C */ lw $s3, 0x2c($sp) +/* CC3B70 80240360 8FB20028 */ lw $s2, 0x28($sp) +/* CC3B74 80240364 8FB10024 */ lw $s1, 0x24($sp) +/* CC3B78 80240368 8FB00020 */ lw $s0, 0x20($sp) +/* CC3B7C 8024036C 03E00008 */ jr $ra +/* CC3B80 80240370 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240374.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240374.s new file mode 100644 index 0000000000..09908e684c --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240374.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240374 +/* CC3B84 80240374 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CC3B88 80240378 AFB3004C */ sw $s3, 0x4c($sp) +/* CC3B8C 8024037C 0080982D */ daddu $s3, $a0, $zero +/* CC3B90 80240380 AFBF0058 */ sw $ra, 0x58($sp) +/* CC3B94 80240384 AFB50054 */ sw $s5, 0x54($sp) +/* CC3B98 80240388 AFB40050 */ sw $s4, 0x50($sp) +/* CC3B9C 8024038C AFB20048 */ sw $s2, 0x48($sp) +/* CC3BA0 80240390 AFB10044 */ sw $s1, 0x44($sp) +/* CC3BA4 80240394 AFB00040 */ sw $s0, 0x40($sp) +/* CC3BA8 80240398 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CC3BAC 8024039C F7B80070 */ sdc1 $f24, 0x70($sp) +/* CC3BB0 802403A0 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CC3BB4 802403A4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CC3BB8 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* CC3BBC 802403AC 00A0902D */ daddu $s2, $a1, $zero +/* CC3BC0 802403B0 86240008 */ lh $a0, 8($s1) +/* CC3BC4 802403B4 0C00EABB */ jal get_npc_unsafe +/* CC3BC8 802403B8 00C0A82D */ daddu $s5, $a2, $zero +/* CC3BCC 802403BC 0040802D */ daddu $s0, $v0, $zero +/* CC3BD0 802403C0 0000A02D */ daddu $s4, $zero, $zero +/* CC3BD4 802403C4 C624007C */ lwc1 $f4, 0x7c($s1) +/* CC3BD8 802403C8 46802120 */ cvt.s.w $f4, $f4 +/* CC3BDC 802403CC C6220088 */ lwc1 $f2, 0x88($s1) +/* CC3BE0 802403D0 468010A0 */ cvt.s.w $f2, $f2 +/* CC3BE4 802403D4 460010A1 */ cvt.d.s $f2, $f2 +/* CC3BE8 802403D8 46002121 */ cvt.d.s $f4, $f4 +/* CC3BEC 802403DC C600003C */ lwc1 $f0, 0x3c($s0) +/* CC3BF0 802403E0 3C014059 */ lui $at, 0x4059 +/* CC3BF4 802403E4 44813800 */ mtc1 $at, $f7 +/* CC3BF8 802403E8 44803000 */ mtc1 $zero, $f6 +/* CC3BFC 802403EC 46000021 */ cvt.d.s $f0, $f0 +/* CC3C00 802403F0 46260002 */ mul.d $f0, $f0, $f6 +/* CC3C04 802403F4 00000000 */ nop +/* CC3C08 802403F8 24020001 */ addiu $v0, $zero, 1 +/* CC3C0C 802403FC 8E24006C */ lw $a0, 0x6c($s1) +/* CC3C10 80240400 46261083 */ div.d $f2, $f2, $f6 +/* CC3C14 80240404 462010A0 */ cvt.s.d $f2, $f2 +/* CC3C18 80240408 46262103 */ div.d $f4, $f4, $f6 +/* CC3C1C 8024040C 46202520 */ cvt.s.d $f20, $f4 +/* CC3C20 80240410 30830011 */ andi $v1, $a0, 0x11 +/* CC3C24 80240414 4620020D */ trunc.w.d $f8, $f0 +/* CC3C28 80240418 E628007C */ swc1 $f8, 0x7c($s1) +/* CC3C2C 8024041C C6200078 */ lwc1 $f0, 0x78($s1) +/* CC3C30 80240420 46800020 */ cvt.s.w $f0, $f0 +/* CC3C34 80240424 46000021 */ cvt.d.s $f0, $f0 +/* CC3C38 80240428 46260003 */ div.d $f0, $f0, $f6 +/* CC3C3C 8024042C 462006A0 */ cvt.s.d $f26, $f0 +/* CC3C40 80240430 C6200070 */ lwc1 $f0, 0x70($s1) +/* CC3C44 80240434 46800020 */ cvt.s.w $f0, $f0 +/* CC3C48 80240438 46000021 */ cvt.d.s $f0, $f0 +/* CC3C4C 8024043C 46260003 */ div.d $f0, $f0, $f6 +/* CC3C50 80240440 462005A0 */ cvt.s.d $f22, $f0 +/* CC3C54 80240444 14620025 */ bne $v1, $v0, .L802404DC +/* CC3C58 80240448 4602D600 */ add.s $f24, $f26, $f2 +/* CC3C5C 8024044C 8E020000 */ lw $v0, ($s0) +/* CC3C60 80240450 30420008 */ andi $v0, $v0, 8 +/* CC3C64 80240454 10400009 */ beqz $v0, .L8024047C +/* CC3C68 80240458 27A50028 */ addiu $a1, $sp, 0x28 +/* CC3C6C 8024045C C600003C */ lwc1 $f0, 0x3c($s0) +/* CC3C70 80240460 4600C001 */ sub.s $f0, $f24, $f0 +/* CC3C74 80240464 4600B03C */ c.lt.s $f22, $f0 +/* CC3C78 80240468 00000000 */ nop +/* CC3C7C 8024046C 4500001B */ bc1f .L802404DC +/* CC3C80 80240470 34820010 */ ori $v0, $a0, 0x10 +/* CC3C84 80240474 08090137 */ j .L802404DC +/* CC3C88 80240478 AE22006C */ sw $v0, 0x6c($s1) +.L8024047C: +/* CC3C8C 8024047C 27A6002C */ addiu $a2, $sp, 0x2c +/* CC3C90 80240480 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC3C94 80240484 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC3C98 80240488 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC3C9C 8024048C 3C01447A */ lui $at, 0x447a +/* CC3CA0 80240490 44813000 */ mtc1 $at, $f6 +/* CC3CA4 80240494 27A20034 */ addiu $v0, $sp, 0x34 +/* CC3CA8 80240498 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC3CAC 8024049C E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC3CB0 802404A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* CC3CB4 802404A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* CC3CB8 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* CC3CBC 802404AC 8E040080 */ lw $a0, 0x80($s0) +/* CC3CC0 802404B0 0C0372DF */ jal func_800DCB7C +/* CC3CC4 802404B4 27A70030 */ addiu $a3, $sp, 0x30 +/* CC3CC8 802404B8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CC3CCC 802404BC 4600D001 */ sub.s $f0, $f26, $f0 +/* CC3CD0 802404C0 4600B03C */ c.lt.s $f22, $f0 +/* CC3CD4 802404C4 00000000 */ nop +/* CC3CD8 802404C8 45000004 */ bc1f .L802404DC +/* CC3CDC 802404CC 00000000 */ nop +/* CC3CE0 802404D0 8E22006C */ lw $v0, 0x6c($s1) +/* CC3CE4 802404D4 34420010 */ ori $v0, $v0, 0x10 +/* CC3CE8 802404D8 AE22006C */ sw $v0, 0x6c($s1) +.L802404DC: +/* CC3CEC 802404DC 8E22006C */ lw $v0, 0x6c($s1) +/* CC3CF0 802404E0 24030011 */ addiu $v1, $zero, 0x11 +/* CC3CF4 802404E4 30420011 */ andi $v0, $v0, 0x11 +/* CC3CF8 802404E8 14430039 */ bne $v0, $v1, .L802405D0 +/* CC3CFC 802404EC 00000000 */ nop +/* CC3D00 802404F0 8E020000 */ lw $v0, ($s0) +/* CC3D04 802404F4 30420008 */ andi $v0, $v0, 8 +/* CC3D08 802404F8 1040000A */ beqz $v0, .L80240524 +/* CC3D0C 802404FC 4600C106 */ mov.s $f4, $f24 +/* CC3D10 80240500 4614C081 */ sub.s $f2, $f24, $f20 +/* CC3D14 80240504 3C018024 */ lui $at, 0x8024 +/* CC3D18 80240508 D4207A38 */ ldc1 $f0, 0x7a38($at) +/* CC3D1C 8024050C 460010A1 */ cvt.d.s $f2, $f2 +/* CC3D20 80240510 46201082 */ mul.d $f2, $f2, $f0 +/* CC3D24 80240514 00000000 */ nop +/* CC3D28 80240518 4600A021 */ cvt.d.s $f0, $f20 +/* CC3D2C 8024051C 08090162 */ j .L80240588 +/* CC3D30 80240520 46220000 */ add.d $f0, $f0, $f2 +.L80240524: +/* CC3D34 80240524 27A50028 */ addiu $a1, $sp, 0x28 +/* CC3D38 80240528 27A6002C */ addiu $a2, $sp, 0x2c +/* CC3D3C 8024052C C6000038 */ lwc1 $f0, 0x38($s0) +/* CC3D40 80240530 C6020040 */ lwc1 $f2, 0x40($s0) +/* CC3D44 80240534 3C01447A */ lui $at, 0x447a +/* CC3D48 80240538 44812000 */ mtc1 $at, $f4 +/* CC3D4C 8024053C 27A20034 */ addiu $v0, $sp, 0x34 +/* CC3D50 80240540 E7B4002C */ swc1 $f20, 0x2c($sp) +/* CC3D54 80240544 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC3D58 80240548 E7A20030 */ swc1 $f2, 0x30($sp) +/* CC3D5C 8024054C E7A40034 */ swc1 $f4, 0x34($sp) +/* CC3D60 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* CC3D64 80240554 8E040080 */ lw $a0, 0x80($s0) +/* CC3D68 80240558 0C0372DF */ jal func_800DCB7C +/* CC3D6C 8024055C 27A70030 */ addiu $a3, $sp, 0x30 +/* CC3D70 80240560 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CC3D74 80240564 461A2100 */ add.s $f4, $f4, $f26 +/* CC3D78 80240568 46142081 */ sub.s $f2, $f4, $f20 +/* CC3D7C 8024056C 3C018024 */ lui $at, 0x8024 +/* CC3D80 80240570 D4207A40 */ ldc1 $f0, 0x7a40($at) +/* CC3D84 80240574 460010A1 */ cvt.d.s $f2, $f2 +/* CC3D88 80240578 46201082 */ mul.d $f2, $f2, $f0 +/* CC3D8C 8024057C 00000000 */ nop +/* CC3D90 80240580 4600A021 */ cvt.d.s $f0, $f20 +/* CC3D94 80240584 46220000 */ add.d $f0, $f0, $f2 +.L80240588: +/* CC3D98 80240588 46200020 */ cvt.s.d $f0, $f0 +/* CC3D9C 8024058C E600003C */ swc1 $f0, 0x3c($s0) +/* CC3DA0 80240590 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC3DA4 80240594 46002001 */ sub.s $f0, $f4, $f0 +/* CC3DA8 80240598 3C013FF0 */ lui $at, 0x3ff0 +/* CC3DAC 8024059C 44811800 */ mtc1 $at, $f3 +/* CC3DB0 802405A0 44801000 */ mtc1 $zero, $f2 +/* CC3DB4 802405A4 46000005 */ abs.s $f0, $f0 +/* CC3DB8 802405A8 46000021 */ cvt.d.s $f0, $f0 +/* CC3DBC 802405AC 4622003C */ c.lt.d $f0, $f2 +/* CC3DC0 802405B0 00000000 */ nop +/* CC3DC4 802405B4 45000036 */ bc1f .L80240690 +/* CC3DC8 802405B8 2403FFEF */ addiu $v1, $zero, -0x11 +/* CC3DCC 802405BC E604003C */ swc1 $f4, 0x3c($s0) +/* CC3DD0 802405C0 8E22006C */ lw $v0, 0x6c($s1) +/* CC3DD4 802405C4 00431024 */ and $v0, $v0, $v1 +/* CC3DD8 802405C8 080901A4 */ j .L80240690 +/* CC3DDC 802405CC AE22006C */ sw $v0, 0x6c($s1) +.L802405D0: +/* CC3DE0 802405D0 8E220070 */ lw $v0, 0x70($s1) +/* CC3DE4 802405D4 1840002E */ blez $v0, .L80240690 +/* CC3DE8 802405D8 00000000 */ nop +/* CC3DEC 802405DC C62C0074 */ lwc1 $f12, 0x74($s1) +/* CC3DF0 802405E0 0C00A8BB */ jal sin_deg +/* CC3DF4 802405E4 46806320 */ cvt.s.w $f12, $f12 +/* CC3DF8 802405E8 8E020000 */ lw $v0, ($s0) +/* CC3DFC 802405EC 30420008 */ andi $v0, $v0, 8 +/* CC3E00 802405F0 10400003 */ beqz $v0, .L80240600 +/* CC3E04 802405F4 46000506 */ mov.s $f20, $f0 +/* CC3E08 802405F8 08090190 */ j .L80240640 +/* CC3E0C 802405FC 0000102D */ daddu $v0, $zero, $zero +.L80240600: +/* CC3E10 80240600 27A50028 */ addiu $a1, $sp, 0x28 +/* CC3E14 80240604 27A6002C */ addiu $a2, $sp, 0x2c +/* CC3E18 80240608 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC3E1C 8024060C C602003C */ lwc1 $f2, 0x3c($s0) +/* CC3E20 80240610 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC3E24 80240614 3C01447A */ lui $at, 0x447a +/* CC3E28 80240618 44813000 */ mtc1 $at, $f6 +/* CC3E2C 8024061C 27A20034 */ addiu $v0, $sp, 0x34 +/* CC3E30 80240620 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC3E34 80240624 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC3E38 80240628 E7A40030 */ swc1 $f4, 0x30($sp) +/* CC3E3C 8024062C E7A60034 */ swc1 $f6, 0x34($sp) +/* CC3E40 80240630 AFA20010 */ sw $v0, 0x10($sp) +/* CC3E44 80240634 8E040080 */ lw $a0, 0x80($s0) +/* CC3E48 80240638 0C0372DF */ jal func_800DCB7C +/* CC3E4C 8024063C 27A70030 */ addiu $a3, $sp, 0x30 +.L80240640: +/* CC3E50 80240640 10400007 */ beqz $v0, .L80240660 +/* CC3E54 80240644 00000000 */ nop +/* CC3E58 80240648 4616A082 */ mul.s $f2, $f20, $f22 +/* CC3E5C 8024064C 00000000 */ nop +/* CC3E60 80240650 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CC3E64 80240654 461A0000 */ add.s $f0, $f0, $f26 +/* CC3E68 80240658 0809019B */ j .L8024066C +/* CC3E6C 8024065C 46020000 */ add.s $f0, $f0, $f2 +.L80240660: +/* CC3E70 80240660 4616A002 */ mul.s $f0, $f20, $f22 +/* CC3E74 80240664 00000000 */ nop +/* CC3E78 80240668 4600C000 */ add.s $f0, $f24, $f0 +.L8024066C: +/* CC3E7C 8024066C E600003C */ swc1 $f0, 0x3c($s0) +/* CC3E80 80240670 8E220074 */ lw $v0, 0x74($s1) +/* CC3E84 80240674 2442000A */ addiu $v0, $v0, 0xa +/* CC3E88 80240678 44826000 */ mtc1 $v0, $f12 +/* CC3E8C 8024067C 00000000 */ nop +/* CC3E90 80240680 0C00A6C9 */ jal clamp_angle +/* CC3E94 80240684 46806320 */ cvt.s.w $f12, $f12 +/* CC3E98 80240688 4600020D */ trunc.w.s $f8, $f0 +/* CC3E9C 8024068C E6280074 */ swc1 $f8, 0x74($s1) +.L80240690: +/* CC3EA0 80240690 8E220090 */ lw $v0, 0x90($s1) +/* CC3EA4 80240694 1C40004A */ bgtz $v0, .L802407C0 +/* CC3EA8 80240698 2442FFFF */ addiu $v0, $v0, -1 +/* CC3EAC 8024069C 8E430014 */ lw $v1, 0x14($s2) +/* CC3EB0 802406A0 04600048 */ bltz $v1, .L802407C4 +/* CC3EB4 802406A4 00000000 */ nop +/* CC3EB8 802406A8 8E620074 */ lw $v0, 0x74($s3) +/* CC3EBC 802406AC 1C400042 */ bgtz $v0, .L802407B8 +/* CC3EC0 802406B0 2442FFFF */ addiu $v0, $v0, -1 +/* CC3EC4 802406B4 AE630074 */ sw $v1, 0x74($s3) +/* CC3EC8 802406B8 860200A8 */ lh $v0, 0xa8($s0) +/* CC3ECC 802406BC C602003C */ lwc1 $f2, 0x3c($s0) +/* CC3ED0 802406C0 44820000 */ mtc1 $v0, $f0 +/* CC3ED4 802406C4 00000000 */ nop +/* CC3ED8 802406C8 46800020 */ cvt.s.w $f0, $f0 +/* CC3EDC 802406CC 46001080 */ add.s $f2, $f2, $f0 +/* CC3EE0 802406D0 3C014024 */ lui $at, 0x4024 +/* CC3EE4 802406D4 44810800 */ mtc1 $at, $f1 +/* CC3EE8 802406D8 44800000 */ mtc1 $zero, $f0 +/* CC3EEC 802406DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC3EF0 802406E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC3EF4 802406E4 460010A1 */ cvt.d.s $f2, $f2 +/* CC3EF8 802406E8 46201080 */ add.d $f2, $f2, $f0 +/* CC3EFC 802406EC C440002C */ lwc1 $f0, 0x2c($v0) +/* CC3F00 802406F0 46000021 */ cvt.d.s $f0, $f0 +/* CC3F04 802406F4 4622003C */ c.lt.d $f0, $f2 +/* CC3F08 802406F8 00000000 */ nop +/* CC3F0C 802406FC 4500002C */ bc1f .L802407B0 +/* CC3F10 80240700 02A0202D */ daddu $a0, $s5, $zero +/* CC3F14 80240704 AFA00010 */ sw $zero, 0x10($sp) +/* CC3F18 80240708 8E46000C */ lw $a2, 0xc($s2) +/* CC3F1C 8024070C 8E470010 */ lw $a3, 0x10($s2) +/* CC3F20 80240710 0C01242D */ jal func_800490B4 +/* CC3F24 80240714 0220282D */ daddu $a1, $s1, $zero +/* CC3F28 80240718 10400025 */ beqz $v0, .L802407B0 +/* CC3F2C 8024071C 0000202D */ daddu $a0, $zero, $zero +/* CC3F30 80240720 0200282D */ daddu $a1, $s0, $zero +/* CC3F34 80240724 0000302D */ daddu $a2, $zero, $zero +/* CC3F38 80240728 2412000C */ addiu $s2, $zero, 0xc +/* CC3F3C 8024072C 860300A8 */ lh $v1, 0xa8($s0) +/* CC3F40 80240730 3C013F80 */ lui $at, 0x3f80 +/* CC3F44 80240734 44810000 */ mtc1 $at, $f0 +/* CC3F48 80240738 3C014000 */ lui $at, 0x4000 +/* CC3F4C 8024073C 44811000 */ mtc1 $at, $f2 +/* CC3F50 80240740 3C01C1A0 */ lui $at, 0xc1a0 +/* CC3F54 80240744 44812000 */ mtc1 $at, $f4 +/* CC3F58 80240748 44834000 */ mtc1 $v1, $f8 +/* CC3F5C 8024074C 00000000 */ nop +/* CC3F60 80240750 46804220 */ cvt.s.w $f8, $f8 +/* CC3F64 80240754 44074000 */ mfc1 $a3, $f8 +/* CC3F68 80240758 27A20038 */ addiu $v0, $sp, 0x38 +/* CC3F6C 8024075C AFB2001C */ sw $s2, 0x1c($sp) +/* CC3F70 80240760 AFA20020 */ sw $v0, 0x20($sp) +/* CC3F74 80240764 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC3F78 80240768 E7A20014 */ swc1 $f2, 0x14($sp) +/* CC3F7C 8024076C 0C01BFA4 */ jal fx_emote +/* CC3F80 80240770 E7A40018 */ swc1 $f4, 0x18($sp) +/* CC3F84 80240774 0200202D */ daddu $a0, $s0, $zero +/* CC3F88 80240778 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CC3F8C 8024077C C480003C */ lwc1 $f0, 0x3c($a0) +/* CC3F90 80240780 3C060020 */ lui $a2, 0x20 +/* CC3F94 80240784 0C012530 */ jal func_800494C0 +/* CC3F98 80240788 E4800064 */ swc1 $f0, 0x64($a0) +/* CC3F9C 8024078C 8E220018 */ lw $v0, 0x18($s1) +/* CC3FA0 80240790 9442002A */ lhu $v0, 0x2a($v0) +/* CC3FA4 80240794 30420001 */ andi $v0, $v0, 1 +/* CC3FA8 80240798 10400003 */ beqz $v0, .L802407A8 +/* CC3FAC 8024079C 2402000A */ addiu $v0, $zero, 0xa +/* CC3FB0 802407A0 0809025A */ j .L80240968 +/* CC3FB4 802407A4 AE620070 */ sw $v0, 0x70($s3) +.L802407A8: +/* CC3FB8 802407A8 0809025A */ j .L80240968 +/* CC3FBC 802407AC AE720070 */ sw $s2, 0x70($s3) +.L802407B0: +/* CC3FC0 802407B0 8E620074 */ lw $v0, 0x74($s3) +/* CC3FC4 802407B4 2442FFFF */ addiu $v0, $v0, -1 +.L802407B8: +/* CC3FC8 802407B8 080901F1 */ j .L802407C4 +/* CC3FCC 802407BC AE620074 */ sw $v0, 0x74($s3) +.L802407C0: +/* CC3FD0 802407C0 AE220090 */ sw $v0, 0x90($s1) +.L802407C4: +/* CC3FD4 802407C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC3FD8 802407C8 C6000040 */ lwc1 $f0, 0x40($s0) +/* CC3FDC 802407CC C4620000 */ lwc1 $f2, ($v1) +/* CC3FE0 802407D0 468010A0 */ cvt.s.w $f2, $f2 +/* CC3FE4 802407D4 C4640008 */ lwc1 $f4, 8($v1) +/* CC3FE8 802407D8 46802120 */ cvt.s.w $f4, $f4 +/* CC3FEC 802407DC E7A00010 */ swc1 $f0, 0x10($sp) +/* CC3FF0 802407E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC3FF4 802407E4 44051000 */ mfc1 $a1, $f2 +/* CC3FF8 802407E8 C440000C */ lwc1 $f0, 0xc($v0) +/* CC3FFC 802407EC 46800020 */ cvt.s.w $f0, $f0 +/* CC4000 802407F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* CC4004 802407F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC4008 802407F8 44062000 */ mfc1 $a2, $f4 +/* CC400C 802407FC C4400010 */ lwc1 $f0, 0x10($v0) +/* CC4010 80240800 46800020 */ cvt.s.w $f0, $f0 +/* CC4014 80240804 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC4018 80240808 8C640018 */ lw $a0, 0x18($v1) +/* CC401C 8024080C 0C0123F5 */ jal is_point_within_region +/* CC4020 80240810 8E070038 */ lw $a3, 0x38($s0) +/* CC4024 80240814 1040001A */ beqz $v0, .L80240880 +/* CC4028 80240818 00000000 */ nop +/* CC402C 8024081C 8E060038 */ lw $a2, 0x38($s0) +/* CC4030 80240820 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC4034 80240824 8E070040 */ lw $a3, 0x40($s0) +/* CC4038 80240828 C44C0000 */ lwc1 $f12, ($v0) +/* CC403C 8024082C 46806320 */ cvt.s.w $f12, $f12 +/* CC4040 80240830 C44E0008 */ lwc1 $f14, 8($v0) +/* CC4044 80240834 0C00A7B5 */ jal dist2D +/* CC4048 80240838 468073A0 */ cvt.s.w $f14, $f14 +/* CC404C 8024083C C6020018 */ lwc1 $f2, 0x18($s0) +/* CC4050 80240840 4600103C */ c.lt.s $f2, $f0 +/* CC4054 80240844 00000000 */ nop +/* CC4058 80240848 4500000D */ bc1f .L80240880 +/* CC405C 8024084C E7A00034 */ swc1 $f0, 0x34($sp) +/* CC4060 80240850 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC4064 80240854 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC4068 80240858 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC406C 8024085C C4480000 */ lwc1 $f8, ($v0) +/* CC4070 80240860 46804220 */ cvt.s.w $f8, $f8 +/* CC4074 80240864 44064000 */ mfc1 $a2, $f8 +/* CC4078 80240868 C4480008 */ lwc1 $f8, 8($v0) +/* CC407C 8024086C 46804220 */ cvt.s.w $f8, $f8 +/* CC4080 80240870 44074000 */ mfc1 $a3, $f8 +/* CC4084 80240874 0C00A720 */ jal atan2 +/* CC4088 80240878 24140001 */ addiu $s4, $zero, 1 +/* CC408C 8024087C E600000C */ swc1 $f0, 0xc($s0) +.L80240880: +/* CC4090 80240880 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC4094 80240884 8C43000C */ lw $v1, 0xc($v0) +/* CC4098 80240888 8C420010 */ lw $v0, 0x10($v0) +/* CC409C 8024088C 00621825 */ or $v1, $v1, $v0 +/* CC40A0 80240890 00741825 */ or $v1, $v1, $s4 +/* CC40A4 80240894 10600008 */ beqz $v1, .L802408B8 +/* CC40A8 80240898 00000000 */ nop +/* CC40AC 8024089C 8602008C */ lh $v0, 0x8c($s0) +/* CC40B0 802408A0 14400031 */ bnez $v0, .L80240968 +/* CC40B4 802408A4 00000000 */ nop +/* CC40B8 802408A8 8E050018 */ lw $a1, 0x18($s0) +/* CC40BC 802408AC 8E06000C */ lw $a2, 0xc($s0) +/* CC40C0 802408B0 0C00EA95 */ jal npc_move_heading +/* CC40C4 802408B4 0200202D */ daddu $a0, $s0, $zero +.L802408B8: +/* CC40C8 802408B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC40CC 802408BC 3C014059 */ lui $at, 0x4059 +/* CC40D0 802408C0 44811800 */ mtc1 $at, $f3 +/* CC40D4 802408C4 44801000 */ mtc1 $zero, $f2 +/* CC40D8 802408C8 46000021 */ cvt.d.s $f0, $f0 +/* CC40DC 802408CC 46220002 */ mul.d $f0, $f0, $f2 +/* CC40E0 802408D0 00000000 */ nop +/* CC40E4 802408D4 4620020D */ trunc.w.d $f8, $f0 +/* CC40E8 802408D8 E628007C */ swc1 $f8, 0x7c($s1) +/* CC40EC 802408DC 8E420004 */ lw $v0, 4($s2) +/* CC40F0 802408E0 18400021 */ blez $v0, .L80240968 +/* CC40F4 802408E4 00000000 */ nop +/* CC40F8 802408E8 8602008E */ lh $v0, 0x8e($s0) +/* CC40FC 802408EC 9603008E */ lhu $v1, 0x8e($s0) +/* CC4100 802408F0 18400005 */ blez $v0, .L80240908 +/* CC4104 802408F4 2462FFFF */ addiu $v0, $v1, -1 +/* CC4108 802408F8 A602008E */ sh $v0, 0x8e($s0) +/* CC410C 802408FC 00021400 */ sll $v0, $v0, 0x10 +/* CC4110 80240900 1C400019 */ bgtz $v0, .L80240968 +/* CC4114 80240904 00000000 */ nop +.L80240908: +/* CC4118 80240908 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CC411C 8024090C 24020002 */ addiu $v0, $zero, 2 +/* CC4120 80240910 0C00A67F */ jal rand_int +/* CC4124 80240914 AE620070 */ sw $v0, 0x70($s3) +/* CC4128 80240918 3C035555 */ lui $v1, 0x5555 +/* CC412C 8024091C 34635556 */ ori $v1, $v1, 0x5556 +/* CC4130 80240920 00430018 */ mult $v0, $v1 +/* CC4134 80240924 000227C3 */ sra $a0, $v0, 0x1f +/* CC4138 80240928 00004010 */ mfhi $t0 +/* CC413C 8024092C 01042023 */ subu $a0, $t0, $a0 +/* CC4140 80240930 00041840 */ sll $v1, $a0, 1 +/* CC4144 80240934 00641821 */ addu $v1, $v1, $a0 +/* CC4148 80240938 00431023 */ subu $v0, $v0, $v1 +/* CC414C 8024093C 24430002 */ addiu $v1, $v0, 2 +/* CC4150 80240940 AE630074 */ sw $v1, 0x74($s3) +/* CC4154 80240944 8E42002C */ lw $v0, 0x2c($s2) +/* CC4158 80240948 58400007 */ blezl $v0, .L80240968 +/* CC415C 8024094C AE600070 */ sw $zero, 0x70($s3) +/* CC4160 80240950 8E420008 */ lw $v0, 8($s2) +/* CC4164 80240954 18400003 */ blez $v0, .L80240964 +/* CC4168 80240958 28620003 */ slti $v0, $v1, 3 +/* CC416C 8024095C 10400002 */ beqz $v0, .L80240968 +/* CC4170 80240960 00000000 */ nop +.L80240964: +/* CC4174 80240964 AE600070 */ sw $zero, 0x70($s3) +.L80240968: +/* CC4178 80240968 8FBF0058 */ lw $ra, 0x58($sp) +/* CC417C 8024096C 8FB50054 */ lw $s5, 0x54($sp) +/* CC4180 80240970 8FB40050 */ lw $s4, 0x50($sp) +/* CC4184 80240974 8FB3004C */ lw $s3, 0x4c($sp) +/* CC4188 80240978 8FB20048 */ lw $s2, 0x48($sp) +/* CC418C 8024097C 8FB10044 */ lw $s1, 0x44($sp) +/* CC4190 80240980 8FB00040 */ lw $s0, 0x40($sp) +/* CC4194 80240984 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CC4198 80240988 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CC419C 8024098C D7B60068 */ ldc1 $f22, 0x68($sp) +/* CC41A0 80240990 D7B40060 */ ldc1 $f20, 0x60($sp) +/* CC41A4 80240994 03E00008 */ jr $ra +/* CC41A8 80240998 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_8024099C.s b/asm/nonmatchings/world/area_flo/flo_13/func_8024099C.s new file mode 100644 index 0000000000..dcaa57979e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_8024099C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024099C +/* CC41AC 8024099C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CC41B0 802409A0 AFB3001C */ sw $s3, 0x1c($sp) +/* CC41B4 802409A4 0080982D */ daddu $s3, $a0, $zero +/* CC41B8 802409A8 AFBF0020 */ sw $ra, 0x20($sp) +/* CC41BC 802409AC AFB20018 */ sw $s2, 0x18($sp) +/* CC41C0 802409B0 AFB10014 */ sw $s1, 0x14($sp) +/* CC41C4 802409B4 AFB00010 */ sw $s0, 0x10($sp) +/* CC41C8 802409B8 8E720148 */ lw $s2, 0x148($s3) +/* CC41CC 802409BC 86440008 */ lh $a0, 8($s2) +/* CC41D0 802409C0 0C00EABB */ jal get_npc_unsafe +/* CC41D4 802409C4 00A0882D */ daddu $s1, $a1, $zero +/* CC41D8 802409C8 8E240008 */ lw $a0, 8($s1) +/* CC41DC 802409CC 0040802D */ daddu $s0, $v0, $zero +/* CC41E0 802409D0 00041FC2 */ srl $v1, $a0, 0x1f +/* CC41E4 802409D4 00832021 */ addu $a0, $a0, $v1 +/* CC41E8 802409D8 00042043 */ sra $a0, $a0, 1 +/* CC41EC 802409DC 0C00A67F */ jal rand_int +/* CC41F0 802409E0 24840001 */ addiu $a0, $a0, 1 +/* CC41F4 802409E4 8E230008 */ lw $v1, 8($s1) +/* CC41F8 802409E8 240400B4 */ addiu $a0, $zero, 0xb4 +/* CC41FC 802409EC 00032FC2 */ srl $a1, $v1, 0x1f +/* CC4200 802409F0 00651821 */ addu $v1, $v1, $a1 +/* CC4204 802409F4 00031843 */ sra $v1, $v1, 1 +/* CC4208 802409F8 00621821 */ addu $v1, $v1, $v0 +/* CC420C 802409FC 0C00A67F */ jal rand_int +/* CC4210 80240A00 A603008E */ sh $v1, 0x8e($s0) +/* CC4214 80240A04 C60C000C */ lwc1 $f12, 0xc($s0) +/* CC4218 80240A08 44820000 */ mtc1 $v0, $f0 +/* CC421C 80240A0C 00000000 */ nop +/* CC4220 80240A10 46800020 */ cvt.s.w $f0, $f0 +/* CC4224 80240A14 46006300 */ add.s $f12, $f12, $f0 +/* CC4228 80240A18 3C0142B4 */ lui $at, 0x42b4 +/* CC422C 80240A1C 44810000 */ mtc1 $at, $f0 +/* CC4230 80240A20 0C00A6C9 */ jal clamp_angle +/* CC4234 80240A24 46006301 */ sub.s $f12, $f12, $f0 +/* CC4238 80240A28 E600000C */ swc1 $f0, 0xc($s0) +/* CC423C 80240A2C 8E4200CC */ lw $v0, 0xcc($s2) +/* CC4240 80240A30 8C420000 */ lw $v0, ($v0) +/* CC4244 80240A34 AE020028 */ sw $v0, 0x28($s0) +/* CC4248 80240A38 24020003 */ addiu $v0, $zero, 3 +/* CC424C 80240A3C AE620070 */ sw $v0, 0x70($s3) +/* CC4250 80240A40 8FBF0020 */ lw $ra, 0x20($sp) +/* CC4254 80240A44 8FB3001C */ lw $s3, 0x1c($sp) +/* CC4258 80240A48 8FB20018 */ lw $s2, 0x18($sp) +/* CC425C 80240A4C 8FB10014 */ lw $s1, 0x14($sp) +/* CC4260 80240A50 8FB00010 */ lw $s0, 0x10($sp) +/* CC4264 80240A54 03E00008 */ jr $ra +/* CC4268 80240A58 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240A5C_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240A5C_CC3810.s new file mode 100644 index 0000000000..ac20673a86 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240A5C_CC3810.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A5C_CC426C +/* CC426C 80240A5C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CC4270 80240A60 AFB3004C */ sw $s3, 0x4c($sp) +/* CC4274 80240A64 0080982D */ daddu $s3, $a0, $zero +/* CC4278 80240A68 AFBF0054 */ sw $ra, 0x54($sp) +/* CC427C 80240A6C AFB40050 */ sw $s4, 0x50($sp) +/* CC4280 80240A70 AFB20048 */ sw $s2, 0x48($sp) +/* CC4284 80240A74 AFB10044 */ sw $s1, 0x44($sp) +/* CC4288 80240A78 AFB00040 */ sw $s0, 0x40($sp) +/* CC428C 80240A7C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CC4290 80240A80 F7B80068 */ sdc1 $f24, 0x68($sp) +/* CC4294 80240A84 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CC4298 80240A88 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CC429C 80240A8C 8E710148 */ lw $s1, 0x148($s3) +/* CC42A0 80240A90 00A0902D */ daddu $s2, $a1, $zero +/* CC42A4 80240A94 86240008 */ lh $a0, 8($s1) +/* CC42A8 80240A98 0C00EABB */ jal get_npc_unsafe +/* CC42AC 80240A9C 00C0A02D */ daddu $s4, $a2, $zero +/* CC42B0 80240AA0 0040802D */ daddu $s0, $v0, $zero +/* CC42B4 80240AA4 C6200078 */ lwc1 $f0, 0x78($s1) +/* CC42B8 80240AA8 46800020 */ cvt.s.w $f0, $f0 +/* CC42BC 80240AAC 46000021 */ cvt.d.s $f0, $f0 +/* CC42C0 80240AB0 3C014059 */ lui $at, 0x4059 +/* CC42C4 80240AB4 44811800 */ mtc1 $at, $f3 +/* CC42C8 80240AB8 44801000 */ mtc1 $zero, $f2 +/* CC42CC 80240ABC 8602008E */ lh $v0, 0x8e($s0) +/* CC42D0 80240AC0 9603008E */ lhu $v1, 0x8e($s0) +/* CC42D4 80240AC4 46220003 */ div.d $f0, $f0, $f2 +/* CC42D8 80240AC8 46200620 */ cvt.s.d $f24, $f0 +/* CC42DC 80240ACC C6200088 */ lwc1 $f0, 0x88($s1) +/* CC42E0 80240AD0 46800020 */ cvt.s.w $f0, $f0 +/* CC42E4 80240AD4 46000021 */ cvt.d.s $f0, $f0 +/* CC42E8 80240AD8 46220003 */ div.d $f0, $f0, $f2 +/* CC42EC 80240ADC 46200020 */ cvt.s.d $f0, $f0 +/* CC42F0 80240AE0 18400003 */ blez $v0, .L80240AF0 +/* CC42F4 80240AE4 4600C680 */ add.s $f26, $f24, $f0 +/* CC42F8 80240AE8 2462FFFF */ addiu $v0, $v1, -1 +/* CC42FC 80240AEC A602008E */ sh $v0, 0x8e($s0) +.L80240AF0: +/* CC4300 80240AF0 8E220070 */ lw $v0, 0x70($s1) +/* CC4304 80240AF4 18400034 */ blez $v0, .L80240BC8 +/* CC4308 80240AF8 00000000 */ nop +/* CC430C 80240AFC C62C0074 */ lwc1 $f12, 0x74($s1) +/* CC4310 80240B00 46806320 */ cvt.s.w $f12, $f12 +/* CC4314 80240B04 44820000 */ mtc1 $v0, $f0 +/* CC4318 80240B08 00000000 */ nop +/* CC431C 80240B0C 46800020 */ cvt.s.w $f0, $f0 +/* CC4320 80240B10 46000021 */ cvt.d.s $f0, $f0 +/* CC4324 80240B14 46220003 */ div.d $f0, $f0, $f2 +/* CC4328 80240B18 0C00A8BB */ jal sin_deg +/* CC432C 80240B1C 462005A0 */ cvt.s.d $f22, $f0 +/* CC4330 80240B20 8E020000 */ lw $v0, ($s0) +/* CC4334 80240B24 30420008 */ andi $v0, $v0, 8 +/* CC4338 80240B28 10400003 */ beqz $v0, .L80240B38 +/* CC433C 80240B2C 46000506 */ mov.s $f20, $f0 +/* CC4340 80240B30 080902DE */ j .L80240B78 +/* CC4344 80240B34 0000102D */ daddu $v0, $zero, $zero +.L80240B38: +/* CC4348 80240B38 27A50028 */ addiu $a1, $sp, 0x28 +/* CC434C 80240B3C 27A6002C */ addiu $a2, $sp, 0x2c +/* CC4350 80240B40 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC4354 80240B44 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC4358 80240B48 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC435C 80240B4C 3C01447A */ lui $at, 0x447a +/* CC4360 80240B50 44813000 */ mtc1 $at, $f6 +/* CC4364 80240B54 27A20034 */ addiu $v0, $sp, 0x34 +/* CC4368 80240B58 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC436C 80240B5C E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC4370 80240B60 E7A40030 */ swc1 $f4, 0x30($sp) +/* CC4374 80240B64 E7A60034 */ swc1 $f6, 0x34($sp) +/* CC4378 80240B68 AFA20010 */ sw $v0, 0x10($sp) +/* CC437C 80240B6C 8E040080 */ lw $a0, 0x80($s0) +/* CC4380 80240B70 0C0372DF */ jal func_800DCB7C +/* CC4384 80240B74 27A70030 */ addiu $a3, $sp, 0x30 +.L80240B78: +/* CC4388 80240B78 10400007 */ beqz $v0, .L80240B98 +/* CC438C 80240B7C 00000000 */ nop +/* CC4390 80240B80 4616A082 */ mul.s $f2, $f20, $f22 +/* CC4394 80240B84 00000000 */ nop +/* CC4398 80240B88 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CC439C 80240B8C 46180000 */ add.s $f0, $f0, $f24 +/* CC43A0 80240B90 080902E9 */ j .L80240BA4 +/* CC43A4 80240B94 46020000 */ add.s $f0, $f0, $f2 +.L80240B98: +/* CC43A8 80240B98 4616A002 */ mul.s $f0, $f20, $f22 +/* CC43AC 80240B9C 00000000 */ nop +/* CC43B0 80240BA0 4600D000 */ add.s $f0, $f26, $f0 +.L80240BA4: +/* CC43B4 80240BA4 E600003C */ swc1 $f0, 0x3c($s0) +/* CC43B8 80240BA8 8E220074 */ lw $v0, 0x74($s1) +/* CC43BC 80240BAC 2442000A */ addiu $v0, $v0, 0xa +/* CC43C0 80240BB0 44826000 */ mtc1 $v0, $f12 +/* CC43C4 80240BB4 00000000 */ nop +/* CC43C8 80240BB8 0C00A6C9 */ jal clamp_angle +/* CC43CC 80240BBC 46806320 */ cvt.s.w $f12, $f12 +/* CC43D0 80240BC0 4600020D */ trunc.w.s $f8, $f0 +/* CC43D4 80240BC4 E6280074 */ swc1 $f8, 0x74($s1) +.L80240BC8: +/* CC43D8 80240BC8 8E220090 */ lw $v0, 0x90($s1) +/* CC43DC 80240BCC 1C400040 */ bgtz $v0, .L80240CD0 +/* CC43E0 80240BD0 2442FFFF */ addiu $v0, $v0, -1 +/* CC43E4 80240BD4 860200A8 */ lh $v0, 0xa8($s0) +/* CC43E8 80240BD8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC43EC 80240BDC 44821000 */ mtc1 $v0, $f2 +/* CC43F0 80240BE0 00000000 */ nop +/* CC43F4 80240BE4 468010A0 */ cvt.s.w $f2, $f2 +/* CC43F8 80240BE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC43FC 80240BEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC4400 80240BF0 46020000 */ add.s $f0, $f0, $f2 +/* CC4404 80240BF4 3C014024 */ lui $at, 0x4024 +/* CC4408 80240BF8 44812800 */ mtc1 $at, $f5 +/* CC440C 80240BFC 44802000 */ mtc1 $zero, $f4 +/* CC4410 80240C00 C442002C */ lwc1 $f2, 0x2c($v0) +/* CC4414 80240C04 46000021 */ cvt.d.s $f0, $f0 +/* CC4418 80240C08 46240000 */ add.d $f0, $f0, $f4 +/* CC441C 80240C0C 460010A1 */ cvt.d.s $f2, $f2 +/* CC4420 80240C10 4620103C */ c.lt.d $f2, $f0 +/* CC4424 80240C14 00000000 */ nop +/* CC4428 80240C18 4500002E */ bc1f .L80240CD4 +/* CC442C 80240C1C 0280202D */ daddu $a0, $s4, $zero +/* CC4430 80240C20 24020001 */ addiu $v0, $zero, 1 +/* CC4434 80240C24 AFA20010 */ sw $v0, 0x10($sp) +/* CC4438 80240C28 8E460024 */ lw $a2, 0x24($s2) +/* CC443C 80240C2C 8E470028 */ lw $a3, 0x28($s2) +/* CC4440 80240C30 0C01242D */ jal func_800490B4 +/* CC4444 80240C34 0220282D */ daddu $a1, $s1, $zero +/* CC4448 80240C38 10400026 */ beqz $v0, .L80240CD4 +/* CC444C 80240C3C 0000202D */ daddu $a0, $zero, $zero +/* CC4450 80240C40 0200282D */ daddu $a1, $s0, $zero +/* CC4454 80240C44 0000302D */ daddu $a2, $zero, $zero +/* CC4458 80240C48 2412000C */ addiu $s2, $zero, 0xc +/* CC445C 80240C4C 860300A8 */ lh $v1, 0xa8($s0) +/* CC4460 80240C50 3C013F80 */ lui $at, 0x3f80 +/* CC4464 80240C54 44810000 */ mtc1 $at, $f0 +/* CC4468 80240C58 3C014000 */ lui $at, 0x4000 +/* CC446C 80240C5C 44811000 */ mtc1 $at, $f2 +/* CC4470 80240C60 3C01C1A0 */ lui $at, 0xc1a0 +/* CC4474 80240C64 44812000 */ mtc1 $at, $f4 +/* CC4478 80240C68 44834000 */ mtc1 $v1, $f8 +/* CC447C 80240C6C 00000000 */ nop +/* CC4480 80240C70 46804220 */ cvt.s.w $f8, $f8 +/* CC4484 80240C74 44074000 */ mfc1 $a3, $f8 +/* CC4488 80240C78 27A20038 */ addiu $v0, $sp, 0x38 +/* CC448C 80240C7C AFB2001C */ sw $s2, 0x1c($sp) +/* CC4490 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* CC4494 80240C84 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC4498 80240C88 E7A20014 */ swc1 $f2, 0x14($sp) +/* CC449C 80240C8C 0C01BFA4 */ jal fx_emote +/* CC44A0 80240C90 E7A40018 */ swc1 $f4, 0x18($sp) +/* CC44A4 80240C94 0200202D */ daddu $a0, $s0, $zero +/* CC44A8 80240C98 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CC44AC 80240C9C C480003C */ lwc1 $f0, 0x3c($a0) +/* CC44B0 80240CA0 3C060020 */ lui $a2, 0x20 +/* CC44B4 80240CA4 0C012530 */ jal func_800494C0 +/* CC44B8 80240CA8 E4800064 */ swc1 $f0, 0x64($a0) +/* CC44BC 80240CAC 8E220018 */ lw $v0, 0x18($s1) +/* CC44C0 80240CB0 9442002A */ lhu $v0, 0x2a($v0) +/* CC44C4 80240CB4 30420001 */ andi $v0, $v0, 1 +/* CC44C8 80240CB8 10400003 */ beqz $v0, .L80240CC8 +/* CC44CC 80240CBC 2402000A */ addiu $v0, $zero, 0xa +/* CC44D0 80240CC0 0809035C */ j .L80240D70 +/* CC44D4 80240CC4 AE620070 */ sw $v0, 0x70($s3) +.L80240CC8: +/* CC44D8 80240CC8 0809035C */ j .L80240D70 +/* CC44DC 80240CCC AE720070 */ sw $s2, 0x70($s3) +.L80240CD0: +/* CC44E0 80240CD0 AE220090 */ sw $v0, 0x90($s1) +.L80240CD4: +/* CC44E4 80240CD4 8602008C */ lh $v0, 0x8c($s0) +/* CC44E8 80240CD8 14400025 */ bnez $v0, .L80240D70 +/* CC44EC 80240CDC 00000000 */ nop +/* CC44F0 80240CE0 8602008E */ lh $v0, 0x8e($s0) +/* CC44F4 80240CE4 1C400022 */ bgtz $v0, .L80240D70 +/* CC44F8 80240CE8 00000000 */ nop +/* CC44FC 80240CEC 8E620074 */ lw $v0, 0x74($s3) +/* CC4500 80240CF0 2442FFFF */ addiu $v0, $v0, -1 +/* CC4504 80240CF4 1840001D */ blez $v0, .L80240D6C +/* CC4508 80240CF8 AE620074 */ sw $v0, 0x74($s3) +/* CC450C 80240CFC 8E220018 */ lw $v0, 0x18($s1) +/* CC4510 80240D00 9442002A */ lhu $v0, 0x2a($v0) +/* CC4514 80240D04 30420010 */ andi $v0, $v0, 0x10 +/* CC4518 80240D08 14400007 */ bnez $v0, .L80240D28 +/* CC451C 80240D0C 00000000 */ nop +/* CC4520 80240D10 C600000C */ lwc1 $f0, 0xc($s0) +/* CC4524 80240D14 3C014334 */ lui $at, 0x4334 +/* CC4528 80240D18 44816000 */ mtc1 $at, $f12 +/* CC452C 80240D1C 0C00A6C9 */ jal clamp_angle +/* CC4530 80240D20 460C0300 */ add.s $f12, $f0, $f12 +/* CC4534 80240D24 E600000C */ swc1 $f0, 0xc($s0) +.L80240D28: +/* CC4538 80240D28 0C00A67F */ jal rand_int +/* CC453C 80240D2C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CC4540 80240D30 3C032E8B */ lui $v1, 0x2e8b +/* CC4544 80240D34 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CC4548 80240D38 00430018 */ mult $v0, $v1 +/* CC454C 80240D3C 00021FC3 */ sra $v1, $v0, 0x1f +/* CC4550 80240D40 00004010 */ mfhi $t0 +/* CC4554 80240D44 00082043 */ sra $a0, $t0, 1 +/* CC4558 80240D48 00832023 */ subu $a0, $a0, $v1 +/* CC455C 80240D4C 00041840 */ sll $v1, $a0, 1 +/* CC4560 80240D50 00641821 */ addu $v1, $v1, $a0 +/* CC4564 80240D54 00031880 */ sll $v1, $v1, 2 +/* CC4568 80240D58 00641823 */ subu $v1, $v1, $a0 +/* CC456C 80240D5C 00431023 */ subu $v0, $v0, $v1 +/* CC4570 80240D60 24420005 */ addiu $v0, $v0, 5 +/* CC4574 80240D64 0809035C */ j .L80240D70 +/* CC4578 80240D68 A602008E */ sh $v0, 0x8e($s0) +.L80240D6C: +/* CC457C 80240D6C AE600070 */ sw $zero, 0x70($s3) +.L80240D70: +/* CC4580 80240D70 8FBF0054 */ lw $ra, 0x54($sp) +/* CC4584 80240D74 8FB40050 */ lw $s4, 0x50($sp) +/* CC4588 80240D78 8FB3004C */ lw $s3, 0x4c($sp) +/* CC458C 80240D7C 8FB20048 */ lw $s2, 0x48($sp) +/* CC4590 80240D80 8FB10044 */ lw $s1, 0x44($sp) +/* CC4594 80240D84 8FB00040 */ lw $s0, 0x40($sp) +/* CC4598 80240D88 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CC459C 80240D8C D7B80068 */ ldc1 $f24, 0x68($sp) +/* CC45A0 80240D90 D7B60060 */ ldc1 $f22, 0x60($sp) +/* CC45A4 80240D94 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CC45A8 80240D98 03E00008 */ jr $ra +/* CC45AC 80240D9C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240DA0_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240DA0_CC3810.s new file mode 100644 index 0000000000..cab6bafc1a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240DA0_CC3810.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA0_CC45B0 +/* CC45B0 80240DA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC45B4 80240DA4 AFB20018 */ sw $s2, 0x18($sp) +/* CC45B8 80240DA8 0080902D */ daddu $s2, $a0, $zero +/* CC45BC 80240DAC AFBF001C */ sw $ra, 0x1c($sp) +/* CC45C0 80240DB0 AFB10014 */ sw $s1, 0x14($sp) +/* CC45C4 80240DB4 AFB00010 */ sw $s0, 0x10($sp) +/* CC45C8 80240DB8 8E510148 */ lw $s1, 0x148($s2) +/* CC45CC 80240DBC 0C00EABB */ jal get_npc_unsafe +/* CC45D0 80240DC0 86240008 */ lh $a0, 8($s1) +/* CC45D4 80240DC4 0040802D */ daddu $s0, $v0, $zero +/* CC45D8 80240DC8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC45DC 80240DCC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC45E0 80240DD0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC45E4 80240DD4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC45E8 80240DD8 A600008E */ sh $zero, 0x8e($s0) +/* CC45EC 80240DDC 8C460028 */ lw $a2, 0x28($v0) +/* CC45F0 80240DE0 0C00A720 */ jal atan2 +/* CC45F4 80240DE4 8C470030 */ lw $a3, 0x30($v0) +/* CC45F8 80240DE8 E600000C */ swc1 $f0, 0xc($s0) +/* CC45FC 80240DEC 8E2200CC */ lw $v0, 0xcc($s1) +/* CC4600 80240DF0 8C420020 */ lw $v0, 0x20($v0) +/* CC4604 80240DF4 AE020028 */ sw $v0, 0x28($s0) +/* CC4608 80240DF8 2402000B */ addiu $v0, $zero, 0xb +/* CC460C 80240DFC AE420070 */ sw $v0, 0x70($s2) +/* CC4610 80240E00 8FBF001C */ lw $ra, 0x1c($sp) +/* CC4614 80240E04 8FB20018 */ lw $s2, 0x18($sp) +/* CC4618 80240E08 8FB10014 */ lw $s1, 0x14($sp) +/* CC461C 80240E0C 8FB00010 */ lw $s0, 0x10($sp) +/* CC4620 80240E10 03E00008 */ jr $ra +/* CC4624 80240E14 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240E18_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240E18_CC3810.s new file mode 100644 index 0000000000..69e3b9a527 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240E18_CC3810.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E18_CC4628 +/* CC4628 80240E18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC462C 80240E1C AFB00010 */ sw $s0, 0x10($sp) +/* CC4630 80240E20 0080802D */ daddu $s0, $a0, $zero +/* CC4634 80240E24 AFBF0014 */ sw $ra, 0x14($sp) +/* CC4638 80240E28 8E020148 */ lw $v0, 0x148($s0) +/* CC463C 80240E2C 0C00EABB */ jal get_npc_unsafe +/* CC4640 80240E30 84440008 */ lh $a0, 8($v0) +/* CC4644 80240E34 9443008E */ lhu $v1, 0x8e($v0) +/* CC4648 80240E38 C440003C */ lwc1 $f0, 0x3c($v0) +/* CC464C 80240E3C 24640001 */ addiu $a0, $v1, 1 +/* CC4650 80240E40 00031C00 */ sll $v1, $v1, 0x10 +/* CC4654 80240E44 00031B83 */ sra $v1, $v1, 0xe +/* CC4658 80240E48 A444008E */ sh $a0, 0x8e($v0) +/* CC465C 80240E4C 3C018024 */ lui $at, 0x8024 +/* CC4660 80240E50 00230821 */ addu $at, $at, $v1 +/* CC4664 80240E54 C422412C */ lwc1 $f2, 0x412c($at) +/* CC4668 80240E58 8443008E */ lh $v1, 0x8e($v0) +/* CC466C 80240E5C 46020000 */ add.s $f0, $f0, $f2 +/* CC4670 80240E60 28630005 */ slti $v1, $v1, 5 +/* CC4674 80240E64 14600003 */ bnez $v1, .L80240E74 +/* CC4678 80240E68 E440003C */ swc1 $f0, 0x3c($v0) +/* CC467C 80240E6C 2402000C */ addiu $v0, $zero, 0xc +/* CC4680 80240E70 AE020070 */ sw $v0, 0x70($s0) +.L80240E74: +/* CC4684 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* CC4688 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* CC468C 80240E7C 03E00008 */ jr $ra +/* CC4690 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240E84_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240E84_CC3810.s new file mode 100644 index 0000000000..341148f28f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240E84_CC3810.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_CC4694 +/* CC4694 80240E84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CC4698 80240E88 AFB3001C */ sw $s3, 0x1c($sp) +/* CC469C 80240E8C 0080982D */ daddu $s3, $a0, $zero +/* CC46A0 80240E90 AFBF0020 */ sw $ra, 0x20($sp) +/* CC46A4 80240E94 AFB20018 */ sw $s2, 0x18($sp) +/* CC46A8 80240E98 AFB10014 */ sw $s1, 0x14($sp) +/* CC46AC 80240E9C AFB00010 */ sw $s0, 0x10($sp) +/* CC46B0 80240EA0 8E720148 */ lw $s2, 0x148($s3) +/* CC46B4 80240EA4 86440008 */ lh $a0, 8($s2) +/* CC46B8 80240EA8 0C00EABB */ jal get_npc_unsafe +/* CC46BC 80240EAC 00A0802D */ daddu $s0, $a1, $zero +/* CC46C0 80240EB0 0040882D */ daddu $s1, $v0, $zero +/* CC46C4 80240EB4 C6420080 */ lwc1 $f2, 0x80($s2) +/* CC46C8 80240EB8 468010A0 */ cvt.s.w $f2, $f2 +/* CC46CC 80240EBC 460010A1 */ cvt.d.s $f2, $f2 +/* CC46D0 80240EC0 C6400084 */ lwc1 $f0, 0x84($s2) +/* CC46D4 80240EC4 46800020 */ cvt.s.w $f0, $f0 +/* CC46D8 80240EC8 46000021 */ cvt.d.s $f0, $f0 +/* CC46DC 80240ECC 3C014059 */ lui $at, 0x4059 +/* CC46E0 80240ED0 44812800 */ mtc1 $at, $f5 +/* CC46E4 80240ED4 44802000 */ mtc1 $zero, $f4 +/* CC46E8 80240ED8 8E4200CC */ lw $v0, 0xcc($s2) +/* CC46EC 80240EDC C62C0038 */ lwc1 $f12, 0x38($s1) +/* CC46F0 80240EE0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* CC46F4 80240EE4 46241083 */ div.d $f2, $f2, $f4 +/* CC46F8 80240EE8 462010A0 */ cvt.s.d $f2, $f2 +/* CC46FC 80240EEC 46240003 */ div.d $f0, $f0, $f4 +/* CC4700 80240EF0 8C420020 */ lw $v0, 0x20($v0) +/* CC4704 80240EF4 46200020 */ cvt.s.d $f0, $f0 +/* CC4708 80240EF8 E622001C */ swc1 $f2, 0x1c($s1) +/* CC470C 80240EFC E6200014 */ swc1 $f0, 0x14($s1) +/* CC4710 80240F00 AE220028 */ sw $v0, 0x28($s1) +/* CC4714 80240F04 C6000018 */ lwc1 $f0, 0x18($s0) +/* CC4718 80240F08 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC471C 80240F0C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC4720 80240F10 E6200018 */ swc1 $f0, 0x18($s1) +/* CC4724 80240F14 8C460028 */ lw $a2, 0x28($v0) +/* CC4728 80240F18 0C00A720 */ jal atan2 +/* CC472C 80240F1C 8C470030 */ lw $a3, 0x30($v0) +/* CC4730 80240F20 E620000C */ swc1 $f0, 0xc($s1) +/* CC4734 80240F24 8E420018 */ lw $v0, 0x18($s2) +/* CC4738 80240F28 AE400074 */ sw $zero, 0x74($s2) +/* CC473C 80240F2C 9442002A */ lhu $v0, 0x2a($v0) +/* CC4740 80240F30 30420002 */ andi $v0, $v0, 2 +/* CC4744 80240F34 10400005 */ beqz $v0, .L80240F4C +/* CC4748 80240F38 24020003 */ addiu $v0, $zero, 3 +/* CC474C 80240F3C A622008E */ sh $v0, 0x8e($s1) +/* CC4750 80240F40 2402000D */ addiu $v0, $zero, 0xd +/* CC4754 80240F44 080903E7 */ j .L80240F9C +/* CC4758 80240F48 AE620070 */ sw $v0, 0x70($s3) +.L80240F4C: +/* CC475C 80240F4C 24030001 */ addiu $v1, $zero, 1 +/* CC4760 80240F50 2402000E */ addiu $v0, $zero, 0xe +/* CC4764 80240F54 A623008E */ sh $v1, 0x8e($s1) +/* CC4768 80240F58 AE620070 */ sw $v0, 0x70($s3) +/* CC476C 80240F5C C6200038 */ lwc1 $f0, 0x38($s1) +/* CC4770 80240F60 4600018D */ trunc.w.s $f6, $f0 +/* CC4774 80240F64 44023000 */ mfc1 $v0, $f6 +/* CC4778 80240F68 00000000 */ nop +/* CC477C 80240F6C A6420010 */ sh $v0, 0x10($s2) +/* CC4780 80240F70 C620003C */ lwc1 $f0, 0x3c($s1) +/* CC4784 80240F74 4600018D */ trunc.w.s $f6, $f0 +/* CC4788 80240F78 44023000 */ mfc1 $v0, $f6 +/* CC478C 80240F7C 00000000 */ nop +/* CC4790 80240F80 A6420012 */ sh $v0, 0x12($s2) +/* CC4794 80240F84 C6200040 */ lwc1 $f0, 0x40($s1) +/* CC4798 80240F88 A2430007 */ sb $v1, 7($s2) +/* CC479C 80240F8C 4600018D */ trunc.w.s $f6, $f0 +/* CC47A0 80240F90 44023000 */ mfc1 $v0, $f6 +/* CC47A4 80240F94 00000000 */ nop +/* CC47A8 80240F98 A6420014 */ sh $v0, 0x14($s2) +.L80240F9C: +/* CC47AC 80240F9C 8FBF0020 */ lw $ra, 0x20($sp) +/* CC47B0 80240FA0 8FB3001C */ lw $s3, 0x1c($sp) +/* CC47B4 80240FA4 8FB20018 */ lw $s2, 0x18($sp) +/* CC47B8 80240FA8 8FB10014 */ lw $s1, 0x14($sp) +/* CC47BC 80240FAC 8FB00010 */ lw $s0, 0x10($sp) +/* CC47C0 80240FB0 03E00008 */ jr $ra +/* CC47C4 80240FB4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80240FB8_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80240FB8_CC3810.s new file mode 100644 index 0000000000..4e1db15cd2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80240FB8_CC3810.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB8_CC47C8 +/* CC47C8 80240FB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC47CC 80240FBC AFB00010 */ sw $s0, 0x10($sp) +/* CC47D0 80240FC0 0080802D */ daddu $s0, $a0, $zero +/* CC47D4 80240FC4 AFBF0014 */ sw $ra, 0x14($sp) +/* CC47D8 80240FC8 8E020148 */ lw $v0, 0x148($s0) +/* CC47DC 80240FCC 0C00EABB */ jal get_npc_unsafe +/* CC47E0 80240FD0 84440008 */ lh $a0, 8($v0) +/* CC47E4 80240FD4 0040202D */ daddu $a0, $v0, $zero +/* CC47E8 80240FD8 8482008E */ lh $v0, 0x8e($a0) +/* CC47EC 80240FDC 9483008E */ lhu $v1, 0x8e($a0) +/* CC47F0 80240FE0 18400005 */ blez $v0, .L80240FF8 +/* CC47F4 80240FE4 2462FFFF */ addiu $v0, $v1, -1 +/* CC47F8 80240FE8 A482008E */ sh $v0, 0x8e($a0) +/* CC47FC 80240FEC 00021400 */ sll $v0, $v0, 0x10 +/* CC4800 80240FF0 1C400006 */ bgtz $v0, .L8024100C +/* CC4804 80240FF4 00000000 */ nop +.L80240FF8: +/* CC4808 80240FF8 8482008C */ lh $v0, 0x8c($a0) +/* CC480C 80240FFC 14400003 */ bnez $v0, .L8024100C +/* CC4810 80241000 2402000E */ addiu $v0, $zero, 0xe +/* CC4814 80241004 A480008E */ sh $zero, 0x8e($a0) +/* CC4818 80241008 AE020070 */ sw $v0, 0x70($s0) +.L8024100C: +/* CC481C 8024100C 8FBF0014 */ lw $ra, 0x14($sp) +/* CC4820 80241010 8FB00010 */ lw $s0, 0x10($sp) +/* CC4824 80241014 03E00008 */ jr $ra +/* CC4828 80241018 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_8024101C_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_8024101C_CC3810.s new file mode 100644 index 0000000000..90c6883203 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_8024101C_CC3810.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024101C_CC482C +/* CC482C 8024101C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CC4830 80241020 AFB20030 */ sw $s2, 0x30($sp) +/* CC4834 80241024 0080902D */ daddu $s2, $a0, $zero +/* CC4838 80241028 AFBF0038 */ sw $ra, 0x38($sp) +/* CC483C 8024102C AFB30034 */ sw $s3, 0x34($sp) +/* CC4840 80241030 AFB1002C */ sw $s1, 0x2c($sp) +/* CC4844 80241034 AFB00028 */ sw $s0, 0x28($sp) +/* CC4848 80241038 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CC484C 8024103C F7B40040 */ sdc1 $f20, 0x40($sp) +/* CC4850 80241040 8E510148 */ lw $s1, 0x148($s2) +/* CC4854 80241044 86240008 */ lh $a0, 8($s1) +/* CC4858 80241048 0C00EABB */ jal get_npc_unsafe +/* CC485C 8024104C 00A0982D */ daddu $s3, $a1, $zero +/* CC4860 80241050 0040802D */ daddu $s0, $v0, $zero +/* CC4864 80241054 0200202D */ daddu $a0, $s0, $zero +/* CC4868 80241058 C6220088 */ lwc1 $f2, 0x88($s1) +/* CC486C 8024105C 468010A0 */ cvt.s.w $f2, $f2 +/* CC4870 80241060 460010A1 */ cvt.d.s $f2, $f2 +/* CC4874 80241064 C604001C */ lwc1 $f4, 0x1c($s0) +/* CC4878 80241068 C6000014 */ lwc1 $f0, 0x14($s0) +/* CC487C 8024106C 8E050018 */ lw $a1, 0x18($s0) +/* CC4880 80241070 46002100 */ add.s $f4, $f4, $f0 +/* CC4884 80241074 8E06000C */ lw $a2, 0xc($s0) +/* CC4888 80241078 C6200078 */ lwc1 $f0, 0x78($s1) +/* CC488C 8024107C 46800020 */ cvt.s.w $f0, $f0 +/* CC4890 80241080 E604001C */ swc1 $f4, 0x1c($s0) +/* CC4894 80241084 3C014059 */ lui $at, 0x4059 +/* CC4898 80241088 44812800 */ mtc1 $at, $f5 +/* CC489C 8024108C 44802000 */ mtc1 $zero, $f4 +/* CC48A0 80241090 46000021 */ cvt.d.s $f0, $f0 +/* CC48A4 80241094 46240003 */ div.d $f0, $f0, $f4 +/* CC48A8 80241098 46200520 */ cvt.s.d $f20, $f0 +/* CC48AC 8024109C 46241083 */ div.d $f2, $f2, $f4 +/* CC48B0 802410A0 0C00EA95 */ jal npc_move_heading +/* CC48B4 802410A4 462015A0 */ cvt.s.d $f22, $f2 +/* CC48B8 802410A8 C604001C */ lwc1 $f4, 0x1c($s0) +/* CC48BC 802410AC 44801000 */ mtc1 $zero, $f2 +/* CC48C0 802410B0 44801800 */ mtc1 $zero, $f3 +/* CC48C4 802410B4 46002021 */ cvt.d.s $f0, $f4 +/* CC48C8 802410B8 4620103E */ c.le.d $f2, $f0 +/* CC48CC 802410BC 00000000 */ nop +/* CC48D0 802410C0 45000030 */ bc1f .L80241184 +/* CC48D4 802410C4 00000000 */ nop +/* CC48D8 802410C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC48DC 802410CC 46040000 */ add.s $f0, $f0, $f4 +/* CC48E0 802410D0 E600003C */ swc1 $f0, 0x3c($s0) +/* CC48E4 802410D4 8E2200CC */ lw $v0, 0xcc($s1) +/* CC48E8 802410D8 8C420024 */ lw $v0, 0x24($v0) +/* CC48EC 802410DC AE020028 */ sw $v0, 0x28($s0) +/* CC48F0 802410E0 A2200007 */ sb $zero, 7($s1) +/* CC48F4 802410E4 8E020000 */ lw $v0, ($s0) +/* CC48F8 802410E8 30420008 */ andi $v0, $v0, 8 +/* CC48FC 802410EC 14400011 */ bnez $v0, .L80241134 +/* CC4900 802410F0 0000102D */ daddu $v0, $zero, $zero +/* CC4904 802410F4 27A50018 */ addiu $a1, $sp, 0x18 +/* CC4908 802410F8 27A6001C */ addiu $a2, $sp, 0x1c +/* CC490C 802410FC C6000038 */ lwc1 $f0, 0x38($s0) +/* CC4910 80241100 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC4914 80241104 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC4918 80241108 3C01447A */ lui $at, 0x447a +/* CC491C 8024110C 44813000 */ mtc1 $at, $f6 +/* CC4920 80241110 27A20024 */ addiu $v0, $sp, 0x24 +/* CC4924 80241114 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC4928 80241118 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CC492C 8024111C E7A40020 */ swc1 $f4, 0x20($sp) +/* CC4930 80241120 E7A60024 */ swc1 $f6, 0x24($sp) +/* CC4934 80241124 AFA20010 */ sw $v0, 0x10($sp) +/* CC4938 80241128 8E040080 */ lw $a0, 0x80($s0) +/* CC493C 8024112C 0C0372DF */ jal func_800DCB7C +/* CC4940 80241130 27A70020 */ addiu $a3, $sp, 0x20 +.L80241134: +/* CC4944 80241134 1040000B */ beqz $v0, .L80241164 +/* CC4948 80241138 00000000 */ nop +/* CC494C 8024113C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CC4950 80241140 46140080 */ add.s $f2, $f0, $f20 +/* CC4954 80241144 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC4958 80241148 4600103E */ c.le.s $f2, $f0 +/* CC495C 8024114C 00000000 */ nop +/* CC4960 80241150 4500008D */ bc1f .L80241388 +/* CC4964 80241154 00000000 */ nop +/* CC4968 80241158 E602003C */ swc1 $f2, 0x3c($s0) +/* CC496C 8024115C 080904E2 */ j .L80241388 +/* CC4970 80241160 AE400070 */ sw $zero, 0x70($s2) +.L80241164: +/* CC4974 80241164 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC4978 80241168 C6000064 */ lwc1 $f0, 0x64($s0) +/* CC497C 8024116C 4602003E */ c.le.s $f0, $f2 +/* CC4980 80241170 00000000 */ nop +/* CC4984 80241174 45030084 */ bc1tl .L80241388 +/* CC4988 80241178 AE400070 */ sw $zero, 0x70($s2) +/* CC498C 8024117C 080904E2 */ j .L80241388 +/* CC4990 80241180 00000000 */ nop +.L80241184: +/* CC4994 80241184 4622003C */ c.lt.d $f0, $f2 +/* CC4998 80241188 00000000 */ nop +/* CC499C 8024118C 4500007E */ bc1f .L80241388 +/* CC49A0 80241190 00000000 */ nop +/* CC49A4 80241194 9602008E */ lhu $v0, 0x8e($s0) +/* CC49A8 80241198 24420001 */ addiu $v0, $v0, 1 +/* CC49AC 8024119C A602008E */ sh $v0, 0x8e($s0) +/* CC49B0 802411A0 00021400 */ sll $v0, $v0, 0x10 +/* CC49B4 802411A4 8E630020 */ lw $v1, 0x20($s3) +/* CC49B8 802411A8 00021403 */ sra $v0, $v0, 0x10 +/* CC49BC 802411AC 0043102A */ slt $v0, $v0, $v1 +/* CC49C0 802411B0 14400026 */ bnez $v0, .L8024124C +/* CC49C4 802411B4 00000000 */ nop +/* CC49C8 802411B8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC49CC 802411BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC49D0 802411C0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC49D4 802411C4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC49D8 802411C8 A600008E */ sh $zero, 0x8e($s0) +/* CC49DC 802411CC 8C460028 */ lw $a2, 0x28($v0) +/* CC49E0 802411D0 0C00A720 */ jal atan2 +/* CC49E4 802411D4 8C470030 */ lw $a3, 0x30($v0) +/* CC49E8 802411D8 46000506 */ mov.s $f20, $f0 +/* CC49EC 802411DC C60C000C */ lwc1 $f12, 0xc($s0) +/* CC49F0 802411E0 0C00A70A */ jal get_clamped_angle_diff +/* CC49F4 802411E4 4600A386 */ mov.s $f14, $f20 +/* CC49F8 802411E8 46000086 */ mov.s $f2, $f0 +/* CC49FC 802411EC 8E62001C */ lw $v0, 0x1c($s3) +/* CC4A00 802411F0 46001005 */ abs.s $f0, $f2 +/* CC4A04 802411F4 44822000 */ mtc1 $v0, $f4 +/* CC4A08 802411F8 00000000 */ nop +/* CC4A0C 802411FC 46802120 */ cvt.s.w $f4, $f4 +/* CC4A10 80241200 4600203C */ c.lt.s $f4, $f0 +/* CC4A14 80241204 00000000 */ nop +/* CC4A18 80241208 4500000D */ bc1f .L80241240 +/* CC4A1C 8024120C 00000000 */ nop +/* CC4A20 80241210 44800000 */ mtc1 $zero, $f0 +/* CC4A24 80241214 C614000C */ lwc1 $f20, 0xc($s0) +/* CC4A28 80241218 4600103C */ c.lt.s $f2, $f0 +/* CC4A2C 8024121C 00000000 */ nop +/* CC4A30 80241220 45000006 */ bc1f .L8024123C +/* CC4A34 80241224 00021023 */ negu $v0, $v0 +/* CC4A38 80241228 44820000 */ mtc1 $v0, $f0 +/* CC4A3C 8024122C 00000000 */ nop +/* CC4A40 80241230 46800020 */ cvt.s.w $f0, $f0 +/* CC4A44 80241234 08090490 */ j .L80241240 +/* CC4A48 80241238 4600A500 */ add.s $f20, $f20, $f0 +.L8024123C: +/* CC4A4C 8024123C 4604A500 */ add.s $f20, $f20, $f4 +.L80241240: +/* CC4A50 80241240 0C00A6C9 */ jal clamp_angle +/* CC4A54 80241244 4600A306 */ mov.s $f12, $f20 +/* CC4A58 80241248 E600000C */ swc1 $f0, 0xc($s0) +.L8024124C: +/* CC4A5C 8024124C 8E020000 */ lw $v0, ($s0) +/* CC4A60 80241250 30420008 */ andi $v0, $v0, 8 +/* CC4A64 80241254 1040000A */ beqz $v0, .L80241280 +/* CC4A68 80241258 27A50018 */ addiu $a1, $sp, 0x18 +/* CC4A6C 8024125C C602003C */ lwc1 $f2, 0x3c($s0) +/* CC4A70 80241260 C600001C */ lwc1 $f0, 0x1c($s0) +/* CC4A74 80241264 46001080 */ add.s $f2, $f2, $f0 +/* CC4A78 80241268 4616103C */ c.lt.s $f2, $f22 +/* CC4A7C 8024126C 00000000 */ nop +/* CC4A80 80241270 45020045 */ bc1fl .L80241388 +/* CC4A84 80241274 E602003C */ swc1 $f2, 0x3c($s0) +/* CC4A88 80241278 080904E1 */ j .L80241384 +/* CC4A8C 8024127C E616003C */ swc1 $f22, 0x3c($s0) +.L80241280: +/* CC4A90 80241280 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC4A94 80241284 27A6001C */ addiu $a2, $sp, 0x1c +/* CC4A98 80241288 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC4A9C 8024128C 860200A8 */ lh $v0, 0xa8($s0) +/* CC4AA0 80241290 C600001C */ lwc1 $f0, 0x1c($s0) +/* CC4AA4 80241294 C604003C */ lwc1 $f4, 0x3c($s0) +/* CC4AA8 80241298 44821000 */ mtc1 $v0, $f2 +/* CC4AAC 8024129C 00000000 */ nop +/* CC4AB0 802412A0 468010A0 */ cvt.s.w $f2, $f2 +/* CC4AB4 802412A4 46000005 */ abs.s $f0, $f0 +/* CC4AB8 802412A8 46020000 */ add.s $f0, $f0, $f2 +/* CC4ABC 802412AC C6060040 */ lwc1 $f6, 0x40($s0) +/* CC4AC0 802412B0 27A20024 */ addiu $v0, $sp, 0x24 +/* CC4AC4 802412B4 46022100 */ add.s $f4, $f4, $f2 +/* CC4AC8 802412B8 3C014024 */ lui $at, 0x4024 +/* CC4ACC 802412BC 44811800 */ mtc1 $at, $f3 +/* CC4AD0 802412C0 44801000 */ mtc1 $zero, $f2 +/* CC4AD4 802412C4 46000021 */ cvt.d.s $f0, $f0 +/* CC4AD8 802412C8 46220000 */ add.d $f0, $f0, $f2 +/* CC4ADC 802412CC E7A60020 */ swc1 $f6, 0x20($sp) +/* CC4AE0 802412D0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* CC4AE4 802412D4 46200020 */ cvt.s.d $f0, $f0 +/* CC4AE8 802412D8 E7A00024 */ swc1 $f0, 0x24($sp) +/* CC4AEC 802412DC AFA20010 */ sw $v0, 0x10($sp) +/* CC4AF0 802412E0 8E040080 */ lw $a0, 0x80($s0) +/* CC4AF4 802412E4 0C0372DF */ jal func_800DCB7C +/* CC4AF8 802412E8 27A70020 */ addiu $a3, $sp, 0x20 +/* CC4AFC 802412EC 10400015 */ beqz $v0, .L80241344 +/* CC4B00 802412F0 00000000 */ nop +/* CC4B04 802412F4 860200A8 */ lh $v0, 0xa8($s0) +/* CC4B08 802412F8 C604001C */ lwc1 $f4, 0x1c($s0) +/* CC4B0C 802412FC 44820000 */ mtc1 $v0, $f0 +/* CC4B10 80241300 00000000 */ nop +/* CC4B14 80241304 46800020 */ cvt.s.w $f0, $f0 +/* CC4B18 80241308 46002085 */ abs.s $f2, $f4 +/* CC4B1C 8024130C 46020000 */ add.s $f0, $f0, $f2 +/* CC4B20 80241310 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CC4B24 80241314 4600103E */ c.le.s $f2, $f0 +/* CC4B28 80241318 00000000 */ nop +/* CC4B2C 8024131C 45000005 */ bc1f .L80241334 +/* CC4B30 80241320 00000000 */ nop +/* CC4B34 80241324 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CC4B38 80241328 AE00001C */ sw $zero, 0x1c($s0) +/* CC4B3C 8024132C 080904E2 */ j .L80241388 +/* CC4B40 80241330 E600003C */ swc1 $f0, 0x3c($s0) +.L80241334: +/* CC4B44 80241334 C600003C */ lwc1 $f0, 0x3c($s0) +/* CC4B48 80241338 46040000 */ add.s $f0, $f0, $f4 +/* CC4B4C 8024133C 080904E2 */ j .L80241388 +/* CC4B50 80241340 E600003C */ swc1 $f0, 0x3c($s0) +.L80241344: +/* CC4B54 80241344 C606003C */ lwc1 $f6, 0x3c($s0) +/* CC4B58 80241348 860200A8 */ lh $v0, 0xa8($s0) +/* CC4B5C 8024134C 46163081 */ sub.s $f2, $f6, $f22 +/* CC4B60 80241350 44820000 */ mtc1 $v0, $f0 +/* CC4B64 80241354 00000000 */ nop +/* CC4B68 80241358 46800020 */ cvt.s.w $f0, $f0 +/* CC4B6C 8024135C 46001080 */ add.s $f2, $f2, $f0 +/* CC4B70 80241360 C604001C */ lwc1 $f4, 0x1c($s0) +/* CC4B74 80241364 46002005 */ abs.s $f0, $f4 +/* CC4B78 80241368 4602003C */ c.lt.s $f0, $f2 +/* CC4B7C 8024136C 00000000 */ nop +/* CC4B80 80241370 45020005 */ bc1fl .L80241388 +/* CC4B84 80241374 AE00001C */ sw $zero, 0x1c($s0) +/* CC4B88 80241378 46043000 */ add.s $f0, $f6, $f4 +/* CC4B8C 8024137C 080904E2 */ j .L80241388 +/* CC4B90 80241380 E600003C */ swc1 $f0, 0x3c($s0) +.L80241384: +/* CC4B94 80241384 AE00001C */ sw $zero, 0x1c($s0) +.L80241388: +/* CC4B98 80241388 8FBF0038 */ lw $ra, 0x38($sp) +/* CC4B9C 8024138C 8FB30034 */ lw $s3, 0x34($sp) +/* CC4BA0 80241390 8FB20030 */ lw $s2, 0x30($sp) +/* CC4BA4 80241394 8FB1002C */ lw $s1, 0x2c($sp) +/* CC4BA8 80241398 8FB00028 */ lw $s0, 0x28($sp) +/* CC4BAC 8024139C D7B60048 */ ldc1 $f22, 0x48($sp) +/* CC4BB0 802413A0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* CC4BB4 802413A4 03E00008 */ jr $ra +/* CC4BB8 802413A8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802413AC_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_802413AC_CC3810.s new file mode 100644 index 0000000000..aa550297bb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802413AC_CC3810.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413AC_CC4BBC +/* CC4BBC 802413AC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CC4BC0 802413B0 AFB00028 */ sw $s0, 0x28($sp) +/* CC4BC4 802413B4 00A0802D */ daddu $s0, $a1, $zero +/* CC4BC8 802413B8 AFB1002C */ sw $s1, 0x2c($sp) +/* CC4BCC 802413BC 00C0882D */ daddu $s1, $a2, $zero +/* CC4BD0 802413C0 AFBF0034 */ sw $ra, 0x34($sp) +/* CC4BD4 802413C4 AFB20030 */ sw $s2, 0x30($sp) +/* CC4BD8 802413C8 AE200070 */ sw $zero, 0x70($s1) +/* CC4BDC 802413CC 8C830000 */ lw $v1, ($a0) +/* CC4BE0 802413D0 2402FDFF */ addiu $v0, $zero, -0x201 +/* CC4BE4 802413D4 A480008E */ sh $zero, 0x8e($a0) +/* CC4BE8 802413D8 00621824 */ and $v1, $v1, $v0 +/* CC4BEC 802413DC 34650800 */ ori $a1, $v1, 0x800 +/* CC4BF0 802413E0 AC850000 */ sw $a1, ($a0) +/* CC4BF4 802413E4 8E0200D0 */ lw $v0, 0xd0($s0) +/* CC4BF8 802413E8 8C420034 */ lw $v0, 0x34($v0) +/* CC4BFC 802413EC 10400003 */ beqz $v0, .L802413FC +/* CC4C00 802413F0 00E0902D */ daddu $s2, $a3, $zero +/* CC4C04 802413F4 08090501 */ j .L80241404 +/* CC4C08 802413F8 34620808 */ ori $v0, $v1, 0x808 +.L802413FC: +/* CC4C0C 802413FC 2402FFF7 */ addiu $v0, $zero, -9 +/* CC4C10 80241400 00A21024 */ and $v0, $a1, $v0 +.L80241404: +/* CC4C14 80241404 AC820000 */ sw $v0, ($a0) +/* CC4C18 80241408 27A20024 */ addiu $v0, $sp, 0x24 +/* CC4C1C 8024140C 27A50018 */ addiu $a1, $sp, 0x18 +/* CC4C20 80241410 C4800038 */ lwc1 $f0, 0x38($a0) +/* CC4C24 80241414 C482003C */ lwc1 $f2, 0x3c($a0) +/* CC4C28 80241418 C4840040 */ lwc1 $f4, 0x40($a0) +/* CC4C2C 8024141C 3C01447A */ lui $at, 0x447a +/* CC4C30 80241420 44813000 */ mtc1 $at, $f6 +/* CC4C34 80241424 27A6001C */ addiu $a2, $sp, 0x1c +/* CC4C38 80241428 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC4C3C 8024142C E7A2001C */ swc1 $f2, 0x1c($sp) +/* CC4C40 80241430 E7A40020 */ swc1 $f4, 0x20($sp) +/* CC4C44 80241434 E7A60024 */ swc1 $f6, 0x24($sp) +/* CC4C48 80241438 AFA20010 */ sw $v0, 0x10($sp) +/* CC4C4C 8024143C 8C840080 */ lw $a0, 0x80($a0) +/* CC4C50 80241440 0C0372DF */ jal func_800DCB7C +/* CC4C54 80241444 27A70020 */ addiu $a3, $sp, 0x20 +/* CC4C58 80241448 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CC4C5C 8024144C 3C014059 */ lui $at, 0x4059 +/* CC4C60 80241450 44812800 */ mtc1 $at, $f5 +/* CC4C64 80241454 44802000 */ mtc1 $zero, $f4 +/* CC4C68 80241458 460010A1 */ cvt.d.s $f2, $f2 +/* CC4C6C 8024145C 46241082 */ mul.d $f2, $f2, $f4 +/* CC4C70 80241460 00000000 */ nop +/* CC4C74 80241464 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CC4C78 80241468 46000021 */ cvt.d.s $f0, $f0 +/* CC4C7C 8024146C 46240002 */ mul.d $f0, $f0, $f4 +/* CC4C80 80241470 00000000 */ nop +/* CC4C84 80241474 3C013FE0 */ lui $at, 0x3fe0 +/* CC4C88 80241478 44812800 */ mtc1 $at, $f5 +/* CC4C8C 8024147C 44802000 */ mtc1 $zero, $f4 +/* CC4C90 80241480 00000000 */ nop +/* CC4C94 80241484 46241080 */ add.d $f2, $f2, $f4 +/* CC4C98 80241488 AE000074 */ sw $zero, 0x74($s0) +/* CC4C9C 8024148C 46240000 */ add.d $f0, $f0, $f4 +/* CC4CA0 80241490 AE000090 */ sw $zero, 0x90($s0) +/* CC4CA4 80241494 4620120D */ trunc.w.d $f8, $f2 +/* CC4CA8 80241498 E6080078 */ swc1 $f8, 0x78($s0) +/* CC4CAC 8024149C 4620020D */ trunc.w.d $f8, $f0 +/* CC4CB0 802414A0 E6080088 */ swc1 $f8, 0x88($s0) +/* CC4CB4 802414A4 8E420014 */ lw $v0, 0x14($s2) +/* CC4CB8 802414A8 AE220074 */ sw $v0, 0x74($s1) +/* CC4CBC 802414AC 8E0200B0 */ lw $v0, 0xb0($s0) +/* CC4CC0 802414B0 34420010 */ ori $v0, $v0, 0x10 +/* CC4CC4 802414B4 AE0200B0 */ sw $v0, 0xb0($s0) +/* CC4CC8 802414B8 8FBF0034 */ lw $ra, 0x34($sp) +/* CC4CCC 802414BC 8FB20030 */ lw $s2, 0x30($sp) +/* CC4CD0 802414C0 8FB1002C */ lw $s1, 0x2c($sp) +/* CC4CD4 802414C4 8FB00028 */ lw $s0, 0x28($sp) +/* CC4CD8 802414C8 03E00008 */ jr $ra +/* CC4CDC 802414CC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802414D0_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_802414D0_CC3810.s new file mode 100644 index 0000000000..4e4224d3cd --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802414D0_CC3810.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414D0_CC4CE0 +/* CC4CE0 802414D0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CC4CE4 802414D4 AFB40040 */ sw $s4, 0x40($sp) +/* CC4CE8 802414D8 0080A02D */ daddu $s4, $a0, $zero +/* CC4CEC 802414DC AFBF0048 */ sw $ra, 0x48($sp) +/* CC4CF0 802414E0 AFB50044 */ sw $s5, 0x44($sp) +/* CC4CF4 802414E4 AFB3003C */ sw $s3, 0x3c($sp) +/* CC4CF8 802414E8 AFB20038 */ sw $s2, 0x38($sp) +/* CC4CFC 802414EC AFB10034 */ sw $s1, 0x34($sp) +/* CC4D00 802414F0 AFB00030 */ sw $s0, 0x30($sp) +/* CC4D04 802414F4 8E920148 */ lw $s2, 0x148($s4) +/* CC4D08 802414F8 86440008 */ lh $a0, 8($s2) +/* CC4D0C 802414FC 8E90000C */ lw $s0, 0xc($s4) +/* CC4D10 80241500 0C00EABB */ jal get_npc_unsafe +/* CC4D14 80241504 00A0882D */ daddu $s1, $a1, $zero +/* CC4D18 80241508 0280202D */ daddu $a0, $s4, $zero +/* CC4D1C 8024150C 8E050000 */ lw $a1, ($s0) +/* CC4D20 80241510 0C0B1EAF */ jal get_variable +/* CC4D24 80241514 0040A82D */ daddu $s5, $v0, $zero +/* CC4D28 80241518 AFA00010 */ sw $zero, 0x10($sp) +/* CC4D2C 8024151C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC4D30 80241520 8C630030 */ lw $v1, 0x30($v1) +/* CC4D34 80241524 AFA30014 */ sw $v1, 0x14($sp) +/* CC4D38 80241528 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC4D3C 8024152C 8C63001C */ lw $v1, 0x1c($v1) +/* CC4D40 80241530 AFA30018 */ sw $v1, 0x18($sp) +/* CC4D44 80241534 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC4D48 80241538 8C630024 */ lw $v1, 0x24($v1) +/* CC4D4C 8024153C AFA3001C */ sw $v1, 0x1c($sp) +/* CC4D50 80241540 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC4D54 80241544 8C630028 */ lw $v1, 0x28($v1) +/* CC4D58 80241548 27B30010 */ addiu $s3, $sp, 0x10 +/* CC4D5C 8024154C AFA30020 */ sw $v1, 0x20($sp) +/* CC4D60 80241550 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC4D64 80241554 3C0142F0 */ lui $at, 0x42f0 +/* CC4D68 80241558 44810000 */ mtc1 $at, $f0 +/* CC4D6C 8024155C 8C63002C */ lw $v1, 0x2c($v1) +/* CC4D70 80241560 0040802D */ daddu $s0, $v0, $zero +/* CC4D74 80241564 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC4D78 80241568 A7A0002C */ sh $zero, 0x2c($sp) +/* CC4D7C 8024156C 12200006 */ beqz $s1, .L80241588 +/* CC4D80 80241570 AFA30024 */ sw $v1, 0x24($sp) +/* CC4D84 80241574 02A0202D */ daddu $a0, $s5, $zero +/* CC4D88 80241578 0240282D */ daddu $a1, $s2, $zero +/* CC4D8C 8024157C 0280302D */ daddu $a2, $s4, $zero +/* CC4D90 80241580 0C0904EB */ jal func_802413AC +/* CC4D94 80241584 0200382D */ daddu $a3, $s0, $zero +.L80241588: +/* CC4D98 80241588 2402FFFE */ addiu $v0, $zero, -2 +/* CC4D9C 8024158C A2A200AB */ sb $v0, 0xab($s5) +/* CC4DA0 80241590 8E4300B0 */ lw $v1, 0xb0($s2) +/* CC4DA4 80241594 30620004 */ andi $v0, $v1, 4 +/* CC4DA8 80241598 10400007 */ beqz $v0, .L802415B8 +/* CC4DAC 8024159C 00000000 */ nop +/* CC4DB0 802415A0 824200B4 */ lb $v0, 0xb4($s2) +/* CC4DB4 802415A4 1440003C */ bnez $v0, .L80241698 +/* CC4DB8 802415A8 0000102D */ daddu $v0, $zero, $zero +/* CC4DBC 802415AC 2402FFFB */ addiu $v0, $zero, -5 +/* CC4DC0 802415B0 00621024 */ and $v0, $v1, $v0 +/* CC4DC4 802415B4 AE4200B0 */ sw $v0, 0xb0($s2) +.L802415B8: +/* CC4DC8 802415B8 8E830070 */ lw $v1, 0x70($s4) +/* CC4DCC 802415BC 2C62000F */ sltiu $v0, $v1, 0xf +/* CC4DD0 802415C0 10400034 */ beqz $v0, .L80241694 +/* CC4DD4 802415C4 00031080 */ sll $v0, $v1, 2 +/* CC4DD8 802415C8 3C018024 */ lui $at, 0x8024 +/* CC4DDC 802415CC 00220821 */ addu $at, $at, $v0 +/* CC4DE0 802415D0 8C227A48 */ lw $v0, 0x7a48($at) +/* CC4DE4 802415D4 00400008 */ jr $v0 +/* CC4DE8 802415D8 00000000 */ nop +/* CC4DEC 802415DC 0280202D */ daddu $a0, $s4, $zero +/* CC4DF0 802415E0 0200282D */ daddu $a1, $s0, $zero +/* CC4DF4 802415E4 0C090071 */ jal func_802401C4 +/* CC4DF8 802415E8 0260302D */ daddu $a2, $s3, $zero +/* CC4DFC 802415EC 0280202D */ daddu $a0, $s4, $zero +/* CC4E00 802415F0 0200282D */ daddu $a1, $s0, $zero +/* CC4E04 802415F4 0C0900DD */ jal func_80240374 +/* CC4E08 802415F8 0260302D */ daddu $a2, $s3, $zero +/* CC4E0C 802415FC 080905A6 */ j .L80241698 +/* CC4E10 80241600 0000102D */ daddu $v0, $zero, $zero +/* CC4E14 80241604 0280202D */ daddu $a0, $s4, $zero +/* CC4E18 80241608 0200282D */ daddu $a1, $s0, $zero +/* CC4E1C 8024160C 0C090267 */ jal func_8024099C +/* CC4E20 80241610 0260302D */ daddu $a2, $s3, $zero +/* CC4E24 80241614 0280202D */ daddu $a0, $s4, $zero +/* CC4E28 80241618 0200282D */ daddu $a1, $s0, $zero +/* CC4E2C 8024161C 0C090297 */ jal func_80240A5C +/* CC4E30 80241620 0260302D */ daddu $a2, $s3, $zero +/* CC4E34 80241624 080905A6 */ j .L80241698 +/* CC4E38 80241628 0000102D */ daddu $v0, $zero, $zero +/* CC4E3C 8024162C 0280202D */ daddu $a0, $s4, $zero +/* CC4E40 80241630 0200282D */ daddu $a1, $s0, $zero +/* CC4E44 80241634 0C090368 */ jal func_80240DA0 +/* CC4E48 80241638 0260302D */ daddu $a2, $s3, $zero +/* CC4E4C 8024163C 0280202D */ daddu $a0, $s4, $zero +/* CC4E50 80241640 0200282D */ daddu $a1, $s0, $zero +/* CC4E54 80241644 0C090386 */ jal func_80240E18 +/* CC4E58 80241648 0260302D */ daddu $a2, $s3, $zero +/* CC4E5C 8024164C 080905A6 */ j .L80241698 +/* CC4E60 80241650 0000102D */ daddu $v0, $zero, $zero +/* CC4E64 80241654 0280202D */ daddu $a0, $s4, $zero +/* CC4E68 80241658 0200282D */ daddu $a1, $s0, $zero +/* CC4E6C 8024165C 0C0903A1 */ jal func_80240E84 +/* CC4E70 80241660 0260302D */ daddu $a2, $s3, $zero +/* CC4E74 80241664 080905A6 */ j .L80241698 +/* CC4E78 80241668 0000102D */ daddu $v0, $zero, $zero +/* CC4E7C 8024166C 0280202D */ daddu $a0, $s4, $zero +/* CC4E80 80241670 0200282D */ daddu $a1, $s0, $zero +/* CC4E84 80241674 0C0903EE */ jal func_80240FB8 +/* CC4E88 80241678 0260302D */ daddu $a2, $s3, $zero +/* CC4E8C 8024167C 080905A6 */ j .L80241698 +/* CC4E90 80241680 0000102D */ daddu $v0, $zero, $zero +/* CC4E94 80241684 0280202D */ daddu $a0, $s4, $zero +/* CC4E98 80241688 0200282D */ daddu $a1, $s0, $zero +/* CC4E9C 8024168C 0C090407 */ jal func_8024101C +/* CC4EA0 80241690 0260302D */ daddu $a2, $s3, $zero +.L80241694: +/* CC4EA4 80241694 0000102D */ daddu $v0, $zero, $zero +.L80241698: +/* CC4EA8 80241698 8FBF0048 */ lw $ra, 0x48($sp) +/* CC4EAC 8024169C 8FB50044 */ lw $s5, 0x44($sp) +/* CC4EB0 802416A0 8FB40040 */ lw $s4, 0x40($sp) +/* CC4EB4 802416A4 8FB3003C */ lw $s3, 0x3c($sp) +/* CC4EB8 802416A8 8FB20038 */ lw $s2, 0x38($sp) +/* CC4EBC 802416AC 8FB10034 */ lw $s1, 0x34($sp) +/* CC4EC0 802416B0 8FB00030 */ lw $s0, 0x30($sp) +/* CC4EC4 802416B4 03E00008 */ jr $ra +/* CC4EC8 802416B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802416BC_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_802416BC_CC3810.s new file mode 100644 index 0000000000..ba04ea4052 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802416BC_CC3810.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416BC_CC4ECC +/* CC4ECC 802416BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC4ED0 802416C0 AFB00010 */ sw $s0, 0x10($sp) +/* CC4ED4 802416C4 24100032 */ addiu $s0, $zero, 0x32 +/* CC4ED8 802416C8 AFBF0014 */ sw $ra, 0x14($sp) +.L802416CC: +/* CC4EDC 802416CC 0C00FB3A */ jal get_enemy +/* CC4EE0 802416D0 0200202D */ daddu $a0, $s0, $zero +/* CC4EE4 802416D4 8C420094 */ lw $v0, 0x94($v0) +/* CC4EE8 802416D8 54400003 */ bnel $v0, $zero, .L802416E8 +/* CC4EEC 802416DC 26100001 */ addiu $s0, $s0, 1 +/* CC4EF0 802416E0 080905BD */ j .L802416F4 +/* CC4EF4 802416E4 0200102D */ daddu $v0, $s0, $zero +.L802416E8: +/* CC4EF8 802416E8 2A020038 */ slti $v0, $s0, 0x38 +/* CC4EFC 802416EC 1440FFF7 */ bnez $v0, .L802416CC +/* CC4F00 802416F0 2402FFFF */ addiu $v0, $zero, -1 +.L802416F4: +/* CC4F04 802416F4 8FBF0014 */ lw $ra, 0x14($sp) +/* CC4F08 802416F8 8FB00010 */ lw $s0, 0x10($sp) +/* CC4F0C 802416FC 03E00008 */ jr $ra +/* CC4F10 80241700 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80241704.s b/asm/nonmatchings/world/area_flo/flo_13/func_80241704.s new file mode 100644 index 0000000000..5d11c2317f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80241704.s @@ -0,0 +1,295 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241704 +/* CC4F14 80241704 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CC4F18 80241708 AFB20048 */ sw $s2, 0x48($sp) +/* CC4F1C 8024170C 0080902D */ daddu $s2, $a0, $zero +/* CC4F20 80241710 AFBF0064 */ sw $ra, 0x64($sp) +/* CC4F24 80241714 AFBE0060 */ sw $fp, 0x60($sp) +/* CC4F28 80241718 AFB7005C */ sw $s7, 0x5c($sp) +/* CC4F2C 8024171C AFB60058 */ sw $s6, 0x58($sp) +/* CC4F30 80241720 AFB50054 */ sw $s5, 0x54($sp) +/* CC4F34 80241724 AFB40050 */ sw $s4, 0x50($sp) +/* CC4F38 80241728 AFB3004C */ sw $s3, 0x4c($sp) +/* CC4F3C 8024172C AFB10044 */ sw $s1, 0x44($sp) +/* CC4F40 80241730 AFB00040 */ sw $s0, 0x40($sp) +/* CC4F44 80241734 F7BA0080 */ sdc1 $f26, 0x80($sp) +/* CC4F48 80241738 F7B80078 */ sdc1 $f24, 0x78($sp) +/* CC4F4C 8024173C F7B60070 */ sdc1 $f22, 0x70($sp) +/* CC4F50 80241740 F7B40068 */ sdc1 $f20, 0x68($sp) +/* CC4F54 80241744 8E510148 */ lw $s1, 0x148($s2) +/* CC4F58 80241748 00A0B82D */ daddu $s7, $a1, $zero +/* CC4F5C 8024174C 86240008 */ lh $a0, 8($s1) +/* CC4F60 80241750 0C00EABB */ jal get_npc_unsafe +/* CC4F64 80241754 00C0F02D */ daddu $fp, $a2, $zero +/* CC4F68 80241758 C620007C */ lwc1 $f0, 0x7c($s1) +/* CC4F6C 8024175C 46800020 */ cvt.s.w $f0, $f0 +/* CC4F70 80241760 46000021 */ cvt.d.s $f0, $f0 +/* CC4F74 80241764 0040802D */ daddu $s0, $v0, $zero +/* CC4F78 80241768 3C014059 */ lui $at, 0x4059 +/* CC4F7C 8024176C 44813800 */ mtc1 $at, $f7 +/* CC4F80 80241770 44803000 */ mtc1 $zero, $f6 +/* CC4F84 80241774 8602008E */ lh $v0, 0x8e($s0) +/* CC4F88 80241778 9603008E */ lhu $v1, 0x8e($s0) +/* CC4F8C 8024177C 46260003 */ div.d $f0, $f0, $f6 +/* CC4F90 80241780 462005A0 */ cvt.s.d $f22, $f0 +/* CC4F94 80241784 C6200078 */ lwc1 $f0, 0x78($s1) +/* CC4F98 80241788 46800020 */ cvt.s.w $f0, $f0 +/* CC4F9C 8024178C 46000021 */ cvt.d.s $f0, $f0 +/* CC4FA0 80241790 46260003 */ div.d $f0, $f0, $f6 +/* CC4FA4 80241794 18400003 */ blez $v0, .L802417A4 +/* CC4FA8 80241798 46200620 */ cvt.s.d $f24, $f0 +/* CC4FAC 8024179C 2462FFFF */ addiu $v0, $v1, -1 +/* CC4FB0 802417A0 A602008E */ sh $v0, 0x8e($s0) +.L802417A4: +/* CC4FB4 802417A4 27B40028 */ addiu $s4, $sp, 0x28 +/* CC4FB8 802417A8 0280282D */ daddu $a1, $s4, $zero +/* CC4FBC 802417AC 27B5002C */ addiu $s5, $sp, 0x2c +/* CC4FC0 802417B0 02A0302D */ daddu $a2, $s5, $zero +/* CC4FC4 802417B4 27B60030 */ addiu $s6, $sp, 0x30 +/* CC4FC8 802417B8 02C0382D */ daddu $a3, $s6, $zero +/* CC4FCC 802417BC C6000038 */ lwc1 $f0, 0x38($s0) +/* CC4FD0 802417C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC4FD4 802417C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC4FD8 802417C8 3C01447A */ lui $at, 0x447a +/* CC4FDC 802417CC 4481D000 */ mtc1 $at, $f26 +/* CC4FE0 802417D0 27B30034 */ addiu $s3, $sp, 0x34 +/* CC4FE4 802417D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC4FE8 802417D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC4FEC 802417DC E7A40030 */ swc1 $f4, 0x30($sp) +/* CC4FF0 802417E0 E7BA0034 */ swc1 $f26, 0x34($sp) +/* CC4FF4 802417E4 C6340070 */ lwc1 $f20, 0x70($s1) +/* CC4FF8 802417E8 4680A520 */ cvt.s.w $f20, $f20 +/* CC4FFC 802417EC 4600A521 */ cvt.d.s $f20, $f20 +/* CC5000 802417F0 4626A503 */ div.d $f20, $f20, $f6 +/* CC5004 802417F4 AFB30010 */ sw $s3, 0x10($sp) +/* CC5008 802417F8 8E040080 */ lw $a0, 0x80($s0) +/* CC500C 802417FC 0C0372DF */ jal func_800DCB7C +/* CC5010 80241800 4620A520 */ cvt.s.d $f20, $f20 +/* CC5014 80241804 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CC5018 80241808 0C00A8BB */ jal sin_deg +/* CC501C 8024180C 46806320 */ cvt.s.w $f12, $f12 +/* CC5020 80241810 46140002 */ mul.s $f0, $f0, $f20 +/* CC5024 80241814 00000000 */ nop +/* CC5028 80241818 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* CC502C 8024181C 46181080 */ add.s $f2, $f2, $f24 +/* CC5030 80241820 46001080 */ add.s $f2, $f2, $f0 +/* CC5034 80241824 E602003C */ swc1 $f2, 0x3c($s0) +/* CC5038 80241828 8E220074 */ lw $v0, 0x74($s1) +/* CC503C 8024182C 2442000C */ addiu $v0, $v0, 0xc +/* CC5040 80241830 44826000 */ mtc1 $v0, $f12 +/* CC5044 80241834 00000000 */ nop +/* CC5048 80241838 0C00A6C9 */ jal clamp_angle +/* CC504C 8024183C 46806320 */ cvt.s.w $f12, $f12 +/* CC5050 80241840 4600020D */ trunc.w.s $f8, $f0 +/* CC5054 80241844 E6280074 */ swc1 $f8, 0x74($s1) +/* CC5058 80241848 8EE30014 */ lw $v1, 0x14($s7) +/* CC505C 8024184C 0460003C */ bltz $v1, .L80241940 +/* CC5060 80241850 00000000 */ nop +/* CC5064 80241854 8E420074 */ lw $v0, 0x74($s2) +/* CC5068 80241858 1C400038 */ bgtz $v0, .L8024193C +/* CC506C 8024185C 2442FFFF */ addiu $v0, $v0, -1 +/* CC5070 80241860 03C0202D */ daddu $a0, $fp, $zero +/* CC5074 80241864 AE430074 */ sw $v1, 0x74($s2) +/* CC5078 80241868 AFA00010 */ sw $zero, 0x10($sp) +/* CC507C 8024186C 8EE6000C */ lw $a2, 0xc($s7) +/* CC5080 80241870 8EE70010 */ lw $a3, 0x10($s7) +/* CC5084 80241874 0C01242D */ jal func_800490B4 +/* CC5088 80241878 0220282D */ daddu $a1, $s1, $zero +/* CC508C 8024187C 1040002D */ beqz $v0, .L80241934 +/* CC5090 80241880 0000202D */ daddu $a0, $zero, $zero +/* CC5094 80241884 0200282D */ daddu $a1, $s0, $zero +/* CC5098 80241888 0000302D */ daddu $a2, $zero, $zero +/* CC509C 8024188C 860300A8 */ lh $v1, 0xa8($s0) +/* CC50A0 80241890 3C013F80 */ lui $at, 0x3f80 +/* CC50A4 80241894 44810000 */ mtc1 $at, $f0 +/* CC50A8 80241898 3C014000 */ lui $at, 0x4000 +/* CC50AC 8024189C 44811000 */ mtc1 $at, $f2 +/* CC50B0 802418A0 3C01C1A0 */ lui $at, 0xc1a0 +/* CC50B4 802418A4 44812000 */ mtc1 $at, $f4 +/* CC50B8 802418A8 2402000F */ addiu $v0, $zero, 0xf +/* CC50BC 802418AC AFA2001C */ sw $v0, 0x1c($sp) +/* CC50C0 802418B0 44834000 */ mtc1 $v1, $f8 +/* CC50C4 802418B4 00000000 */ nop +/* CC50C8 802418B8 46804220 */ cvt.s.w $f8, $f8 +/* CC50CC 802418BC 44074000 */ mfc1 $a3, $f8 +/* CC50D0 802418C0 27A20038 */ addiu $v0, $sp, 0x38 +/* CC50D4 802418C4 AFA20020 */ sw $v0, 0x20($sp) +/* CC50D8 802418C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC50DC 802418CC E7A20014 */ swc1 $f2, 0x14($sp) +/* CC50E0 802418D0 0C01BFA4 */ jal fx_emote +/* CC50E4 802418D4 E7A40018 */ swc1 $f4, 0x18($sp) +/* CC50E8 802418D8 0200202D */ daddu $a0, $s0, $zero +/* CC50EC 802418DC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CC50F0 802418E0 0C012530 */ jal func_800494C0 +/* CC50F4 802418E4 3C060020 */ lui $a2, 0x20 +/* CC50F8 802418E8 0280282D */ daddu $a1, $s4, $zero +/* CC50FC 802418EC C6000038 */ lwc1 $f0, 0x38($s0) +/* CC5100 802418F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC5104 802418F4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC5108 802418F8 02A0302D */ daddu $a2, $s5, $zero +/* CC510C 802418FC E7BA0034 */ swc1 $f26, 0x34($sp) +/* CC5110 80241900 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC5114 80241904 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC5118 80241908 E7A40030 */ swc1 $f4, 0x30($sp) +/* CC511C 8024190C AFB30010 */ sw $s3, 0x10($sp) +/* CC5120 80241910 8E040080 */ lw $a0, 0x80($s0) +/* CC5124 80241914 0C0372DF */ jal func_800DCB7C +/* CC5128 80241918 02C0382D */ daddu $a3, $s6, $zero +/* CC512C 8024191C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CC5130 80241920 46180000 */ add.s $f0, $f0, $f24 +/* CC5134 80241924 2402000C */ addiu $v0, $zero, 0xc +/* CC5138 80241928 E6000064 */ swc1 $f0, 0x64($s0) +/* CC513C 8024192C 080906CA */ j .L80241B28 +/* CC5140 80241930 AE420070 */ sw $v0, 0x70($s2) +.L80241934: +/* CC5144 80241934 8E420074 */ lw $v0, 0x74($s2) +/* CC5148 80241938 2442FFFF */ addiu $v0, $v0, -1 +.L8024193C: +/* CC514C 8024193C AE420074 */ sw $v0, 0x74($s2) +.L80241940: +/* CC5150 80241940 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5154 80241944 C6000040 */ lwc1 $f0, 0x40($s0) +/* CC5158 80241948 C4620000 */ lwc1 $f2, ($v1) +/* CC515C 8024194C 468010A0 */ cvt.s.w $f2, $f2 +/* CC5160 80241950 C4640008 */ lwc1 $f4, 8($v1) +/* CC5164 80241954 46802120 */ cvt.s.w $f4, $f4 +/* CC5168 80241958 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC516C 8024195C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC5170 80241960 44051000 */ mfc1 $a1, $f2 +/* CC5174 80241964 C440000C */ lwc1 $f0, 0xc($v0) +/* CC5178 80241968 46800020 */ cvt.s.w $f0, $f0 +/* CC517C 8024196C E7A00014 */ swc1 $f0, 0x14($sp) +/* CC5180 80241970 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC5184 80241974 44062000 */ mfc1 $a2, $f4 +/* CC5188 80241978 C4400010 */ lwc1 $f0, 0x10($v0) +/* CC518C 8024197C 46800020 */ cvt.s.w $f0, $f0 +/* CC5190 80241980 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC5194 80241984 8C640018 */ lw $a0, 0x18($v1) +/* CC5198 80241988 0C0123F5 */ jal is_point_within_region +/* CC519C 8024198C 8E070038 */ lw $a3, 0x38($s0) +/* CC51A0 80241990 1040000D */ beqz $v0, .L802419C8 +/* CC51A4 80241994 00000000 */ nop +/* CC51A8 80241998 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC51AC 8024199C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC51B0 802419A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC51B4 802419A4 C4480000 */ lwc1 $f8, ($v0) +/* CC51B8 802419A8 46804220 */ cvt.s.w $f8, $f8 +/* CC51BC 802419AC 44064000 */ mfc1 $a2, $f8 +/* CC51C0 802419B0 C4480008 */ lwc1 $f8, 8($v0) +/* CC51C4 802419B4 46804220 */ cvt.s.w $f8, $f8 +/* CC51C8 802419B8 44074000 */ mfc1 $a3, $f8 +/* CC51CC 802419BC 0C00A720 */ jal atan2 +/* CC51D0 802419C0 00000000 */ nop +/* CC51D4 802419C4 E600000C */ swc1 $f0, 0xc($s0) +.L802419C8: +/* CC51D8 802419C8 8602008C */ lh $v0, 0x8c($s0) +/* CC51DC 802419CC 14400056 */ bnez $v0, .L80241B28 +/* CC51E0 802419D0 00000000 */ nop +/* CC51E4 802419D4 8602008E */ lh $v0, 0x8e($s0) +/* CC51E8 802419D8 1840003D */ blez $v0, .L80241AD0 +/* CC51EC 802419DC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CC51F0 802419E0 8E050018 */ lw $a1, 0x18($s0) +/* CC51F4 802419E4 8E06000C */ lw $a2, 0xc($s0) +/* CC51F8 802419E8 0C00EA95 */ jal npc_move_heading +/* CC51FC 802419EC 0200202D */ daddu $a0, $s0, $zero +/* CC5200 802419F0 8E22006C */ lw $v0, 0x6c($s1) +/* CC5204 802419F4 30420001 */ andi $v0, $v0, 1 +/* CC5208 802419F8 10400032 */ beqz $v0, .L80241AC4 +/* CC520C 802419FC 27A50028 */ addiu $a1, $sp, 0x28 +/* CC5210 80241A00 27A6002C */ addiu $a2, $sp, 0x2c +/* CC5214 80241A04 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC5218 80241A08 C6020040 */ lwc1 $f2, 0x40($s0) +/* CC521C 80241A0C 3C01447A */ lui $at, 0x447a +/* CC5220 80241A10 44812000 */ mtc1 $at, $f4 +/* CC5224 80241A14 27A20034 */ addiu $v0, $sp, 0x34 +/* CC5228 80241A18 E7B6002C */ swc1 $f22, 0x2c($sp) +/* CC522C 80241A1C E7A00028 */ swc1 $f0, 0x28($sp) +/* CC5230 80241A20 E7A20030 */ swc1 $f2, 0x30($sp) +/* CC5234 80241A24 E7A40034 */ swc1 $f4, 0x34($sp) +/* CC5238 80241A28 AFA20010 */ sw $v0, 0x10($sp) +/* CC523C 80241A2C 8E040080 */ lw $a0, 0x80($s0) +/* CC5240 80241A30 0C0372DF */ jal func_800DCB7C +/* CC5244 80241A34 27A70030 */ addiu $a3, $sp, 0x30 +/* CC5248 80241A38 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CC524C 80241A3C 46180100 */ add.s $f4, $f0, $f24 +/* CC5250 80241A40 3C014000 */ lui $at, 0x4000 +/* CC5254 80241A44 44813800 */ mtc1 $at, $f7 +/* CC5258 80241A48 44803000 */ mtc1 $zero, $f6 +/* CC525C 80241A4C 46162001 */ sub.s $f0, $f4, $f22 +/* CC5260 80241A50 E7A4002C */ swc1 $f4, 0x2c($sp) +/* CC5264 80241A54 460000A1 */ cvt.d.s $f2, $f0 +/* CC5268 80241A58 4622303C */ c.lt.d $f6, $f2 +/* CC526C 80241A5C 00000000 */ nop +/* CC5270 80241A60 45000005 */ bc1f .L80241A78 +/* CC5274 80241A64 E7A00034 */ swc1 $f0, 0x34($sp) +/* CC5278 80241A68 4600B021 */ cvt.d.s $f0, $f22 +/* CC527C 80241A6C 46260000 */ add.d $f0, $f0, $f6 +/* CC5280 80241A70 080906A9 */ j .L80241AA4 +/* CC5284 80241A74 462005A0 */ cvt.s.d $f22, $f0 +.L80241A78: +/* CC5288 80241A78 3C01C000 */ lui $at, 0xc000 +/* CC528C 80241A7C 44810800 */ mtc1 $at, $f1 +/* CC5290 80241A80 44800000 */ mtc1 $zero, $f0 +/* CC5294 80241A84 00000000 */ nop +/* CC5298 80241A88 4620103C */ c.lt.d $f2, $f0 +/* CC529C 80241A8C 00000000 */ nop +/* CC52A0 80241A90 45020004 */ bc1fl .L80241AA4 +/* CC52A4 80241A94 46002586 */ mov.s $f22, $f4 +/* CC52A8 80241A98 4600B021 */ cvt.d.s $f0, $f22 +/* CC52AC 80241A9C 46260001 */ sub.d $f0, $f0, $f6 +/* CC52B0 80241AA0 462005A0 */ cvt.s.d $f22, $f0 +.L80241AA4: +/* CC52B4 80241AA4 3C014059 */ lui $at, 0x4059 +/* CC52B8 80241AA8 44811800 */ mtc1 $at, $f3 +/* CC52BC 80241AAC 44801000 */ mtc1 $zero, $f2 +/* CC52C0 80241AB0 4600B021 */ cvt.d.s $f0, $f22 +/* CC52C4 80241AB4 46220002 */ mul.d $f0, $f0, $f2 +/* CC52C8 80241AB8 00000000 */ nop +/* CC52CC 80241ABC 4620020D */ trunc.w.d $f8, $f0 +/* CC52D0 80241AC0 E628007C */ swc1 $f8, 0x7c($s1) +.L80241AC4: +/* CC52D4 80241AC4 8602008E */ lh $v0, 0x8e($s0) +/* CC52D8 80241AC8 1C400017 */ bgtz $v0, .L80241B28 +/* CC52DC 80241ACC 240403E8 */ addiu $a0, $zero, 0x3e8 +.L80241AD0: +/* CC52E0 80241AD0 24020002 */ addiu $v0, $zero, 2 +/* CC52E4 80241AD4 0C00A67F */ jal rand_int +/* CC52E8 80241AD8 AE420070 */ sw $v0, 0x70($s2) +/* CC52EC 80241ADC 3C035555 */ lui $v1, 0x5555 +/* CC52F0 80241AE0 34635556 */ ori $v1, $v1, 0x5556 +/* CC52F4 80241AE4 00430018 */ mult $v0, $v1 +/* CC52F8 80241AE8 000227C3 */ sra $a0, $v0, 0x1f +/* CC52FC 80241AEC 00004010 */ mfhi $t0 +/* CC5300 80241AF0 01042023 */ subu $a0, $t0, $a0 +/* CC5304 80241AF4 00041840 */ sll $v1, $a0, 1 +/* CC5308 80241AF8 00641821 */ addu $v1, $v1, $a0 +/* CC530C 80241AFC 00431023 */ subu $v0, $v0, $v1 +/* CC5310 80241B00 24430002 */ addiu $v1, $v0, 2 +/* CC5314 80241B04 AE430074 */ sw $v1, 0x74($s2) +/* CC5318 80241B08 8EE2002C */ lw $v0, 0x2c($s7) +/* CC531C 80241B0C 58400006 */ blezl $v0, .L80241B28 +/* CC5320 80241B10 AE400070 */ sw $zero, 0x70($s2) +/* CC5324 80241B14 8EE20004 */ lw $v0, 4($s7) +/* CC5328 80241B18 58400003 */ blezl $v0, .L80241B28 +/* CC532C 80241B1C AE400070 */ sw $zero, 0x70($s2) +/* CC5330 80241B20 50600001 */ beql $v1, $zero, .L80241B28 +/* CC5334 80241B24 AE400070 */ sw $zero, 0x70($s2) +.L80241B28: +/* CC5338 80241B28 8FBF0064 */ lw $ra, 0x64($sp) +/* CC533C 80241B2C 8FBE0060 */ lw $fp, 0x60($sp) +/* CC5340 80241B30 8FB7005C */ lw $s7, 0x5c($sp) +/* CC5344 80241B34 8FB60058 */ lw $s6, 0x58($sp) +/* CC5348 80241B38 8FB50054 */ lw $s5, 0x54($sp) +/* CC534C 80241B3C 8FB40050 */ lw $s4, 0x50($sp) +/* CC5350 80241B40 8FB3004C */ lw $s3, 0x4c($sp) +/* CC5354 80241B44 8FB20048 */ lw $s2, 0x48($sp) +/* CC5358 80241B48 8FB10044 */ lw $s1, 0x44($sp) +/* CC535C 80241B4C 8FB00040 */ lw $s0, 0x40($sp) +/* CC5360 80241B50 D7BA0080 */ ldc1 $f26, 0x80($sp) +/* CC5364 80241B54 D7B80078 */ ldc1 $f24, 0x78($sp) +/* CC5368 80241B58 D7B60070 */ ldc1 $f22, 0x70($sp) +/* CC536C 80241B5C D7B40068 */ ldc1 $f20, 0x68($sp) +/* CC5370 80241B60 03E00008 */ jr $ra +/* CC5374 80241B64 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80241B68_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80241B68_CC3810.s new file mode 100644 index 0000000000..c82fc76421 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80241B68_CC3810.s @@ -0,0 +1,156 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B68_CC5378 +/* CC5378 80241B68 27BDFF98 */ addiu $sp, $sp, -0x68 +/* CC537C 80241B6C AFB20048 */ sw $s2, 0x48($sp) +/* CC5380 80241B70 0080902D */ daddu $s2, $a0, $zero +/* CC5384 80241B74 AFBF0054 */ sw $ra, 0x54($sp) +/* CC5388 80241B78 AFB40050 */ sw $s4, 0x50($sp) +/* CC538C 80241B7C AFB3004C */ sw $s3, 0x4c($sp) +/* CC5390 80241B80 AFB10044 */ sw $s1, 0x44($sp) +/* CC5394 80241B84 AFB00040 */ sw $s0, 0x40($sp) +/* CC5398 80241B88 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CC539C 80241B8C F7B40058 */ sdc1 $f20, 0x58($sp) +/* CC53A0 80241B90 8E510148 */ lw $s1, 0x148($s2) +/* CC53A4 80241B94 00A0982D */ daddu $s3, $a1, $zero +/* CC53A8 80241B98 86240008 */ lh $a0, 8($s1) +/* CC53AC 80241B9C 0C00EABB */ jal get_npc_unsafe +/* CC53B0 80241BA0 00C0A02D */ daddu $s4, $a2, $zero +/* CC53B4 80241BA4 0040802D */ daddu $s0, $v0, $zero +/* CC53B8 80241BA8 C6200078 */ lwc1 $f0, 0x78($s1) +/* CC53BC 80241BAC 46800020 */ cvt.s.w $f0, $f0 +/* CC53C0 80241BB0 46000021 */ cvt.d.s $f0, $f0 +/* CC53C4 80241BB4 3C014059 */ lui $at, 0x4059 +/* CC53C8 80241BB8 44814800 */ mtc1 $at, $f9 +/* CC53CC 80241BBC 44804000 */ mtc1 $zero, $f8 +/* CC53D0 80241BC0 8602008E */ lh $v0, 0x8e($s0) +/* CC53D4 80241BC4 9603008E */ lhu $v1, 0x8e($s0) +/* CC53D8 80241BC8 46280003 */ div.d $f0, $f0, $f8 +/* CC53DC 80241BCC 18400003 */ blez $v0, .L80241BDC +/* CC53E0 80241BD0 462005A0 */ cvt.s.d $f22, $f0 +/* CC53E4 80241BD4 2462FFFF */ addiu $v0, $v1, -1 +/* CC53E8 80241BD8 A602008E */ sh $v0, 0x8e($s0) +.L80241BDC: +/* CC53EC 80241BDC 27A50028 */ addiu $a1, $sp, 0x28 +/* CC53F0 80241BE0 27A6002C */ addiu $a2, $sp, 0x2c +/* CC53F4 80241BE4 27A70030 */ addiu $a3, $sp, 0x30 +/* CC53F8 80241BE8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC53FC 80241BEC C602003C */ lwc1 $f2, 0x3c($s0) +/* CC5400 80241BF0 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC5404 80241BF4 3C01447A */ lui $at, 0x447a +/* CC5408 80241BF8 44813000 */ mtc1 $at, $f6 +/* CC540C 80241BFC 27A20034 */ addiu $v0, $sp, 0x34 +/* CC5410 80241C00 E7A00028 */ swc1 $f0, 0x28($sp) +/* CC5414 80241C04 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CC5418 80241C08 E7A40030 */ swc1 $f4, 0x30($sp) +/* CC541C 80241C0C E7A60034 */ swc1 $f6, 0x34($sp) +/* CC5420 80241C10 C6340070 */ lwc1 $f20, 0x70($s1) +/* CC5424 80241C14 4680A520 */ cvt.s.w $f20, $f20 +/* CC5428 80241C18 4600A521 */ cvt.d.s $f20, $f20 +/* CC542C 80241C1C 4628A503 */ div.d $f20, $f20, $f8 +/* CC5430 80241C20 AFA20010 */ sw $v0, 0x10($sp) +/* CC5434 80241C24 8E040080 */ lw $a0, 0x80($s0) +/* CC5438 80241C28 0C0372DF */ jal func_800DCB7C +/* CC543C 80241C2C 4620A520 */ cvt.s.d $f20, $f20 +/* CC5440 80241C30 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CC5444 80241C34 0C00A8BB */ jal sin_deg +/* CC5448 80241C38 46806320 */ cvt.s.w $f12, $f12 +/* CC544C 80241C3C 46140002 */ mul.s $f0, $f0, $f20 +/* CC5450 80241C40 00000000 */ nop +/* CC5454 80241C44 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* CC5458 80241C48 46161080 */ add.s $f2, $f2, $f22 +/* CC545C 80241C4C 46001080 */ add.s $f2, $f2, $f0 +/* CC5460 80241C50 E602003C */ swc1 $f2, 0x3c($s0) +/* CC5464 80241C54 8E220074 */ lw $v0, 0x74($s1) +/* CC5468 80241C58 2442000C */ addiu $v0, $v0, 0xc +/* CC546C 80241C5C 44826000 */ mtc1 $v0, $f12 +/* CC5470 80241C60 00000000 */ nop +/* CC5474 80241C64 0C00A6C9 */ jal clamp_angle +/* CC5478 80241C68 46806320 */ cvt.s.w $f12, $f12 +/* CC547C 80241C6C 4600028D */ trunc.w.s $f10, $f0 +/* CC5480 80241C70 E62A0074 */ swc1 $f10, 0x74($s1) +/* CC5484 80241C74 0280202D */ daddu $a0, $s4, $zero +/* CC5488 80241C78 24020001 */ addiu $v0, $zero, 1 +/* CC548C 80241C7C AFA20010 */ sw $v0, 0x10($sp) +/* CC5490 80241C80 8E660024 */ lw $a2, 0x24($s3) +/* CC5494 80241C84 8E670028 */ lw $a3, 0x28($s3) +/* CC5498 80241C88 0C01242D */ jal func_800490B4 +/* CC549C 80241C8C 0220282D */ daddu $a1, $s1, $zero +/* CC54A0 80241C90 1040001D */ beqz $v0, .L80241D08 +/* CC54A4 80241C94 0000202D */ daddu $a0, $zero, $zero +/* CC54A8 80241C98 0200282D */ daddu $a1, $s0, $zero +/* CC54AC 80241C9C 0000302D */ daddu $a2, $zero, $zero +/* CC54B0 80241CA0 860300A8 */ lh $v1, 0xa8($s0) +/* CC54B4 80241CA4 3C013F80 */ lui $at, 0x3f80 +/* CC54B8 80241CA8 44810000 */ mtc1 $at, $f0 +/* CC54BC 80241CAC 3C014000 */ lui $at, 0x4000 +/* CC54C0 80241CB0 44811000 */ mtc1 $at, $f2 +/* CC54C4 80241CB4 3C01C1A0 */ lui $at, 0xc1a0 +/* CC54C8 80241CB8 44812000 */ mtc1 $at, $f4 +/* CC54CC 80241CBC 2402000F */ addiu $v0, $zero, 0xf +/* CC54D0 80241CC0 AFA2001C */ sw $v0, 0x1c($sp) +/* CC54D4 80241CC4 44835000 */ mtc1 $v1, $f10 +/* CC54D8 80241CC8 00000000 */ nop +/* CC54DC 80241CCC 468052A0 */ cvt.s.w $f10, $f10 +/* CC54E0 80241CD0 44075000 */ mfc1 $a3, $f10 +/* CC54E4 80241CD4 27A20038 */ addiu $v0, $sp, 0x38 +/* CC54E8 80241CD8 AFA20020 */ sw $v0, 0x20($sp) +/* CC54EC 80241CDC E7A00010 */ swc1 $f0, 0x10($sp) +/* CC54F0 80241CE0 E7A20014 */ swc1 $f2, 0x14($sp) +/* CC54F4 80241CE4 0C01BFA4 */ jal fx_emote +/* CC54F8 80241CE8 E7A40018 */ swc1 $f4, 0x18($sp) +/* CC54FC 80241CEC 0200202D */ daddu $a0, $s0, $zero +/* CC5500 80241CF0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CC5504 80241CF4 0C012530 */ jal func_800494C0 +/* CC5508 80241CF8 3C060020 */ lui $a2, 0x20 +/* CC550C 80241CFC 2402000C */ addiu $v0, $zero, 0xc +/* CC5510 80241D00 08090764 */ j .L80241D90 +/* CC5514 80241D04 AE420070 */ sw $v0, 0x70($s2) +.L80241D08: +/* CC5518 80241D08 8602008C */ lh $v0, 0x8c($s0) +/* CC551C 80241D0C 14400020 */ bnez $v0, .L80241D90 +/* CC5520 80241D10 00000000 */ nop +/* CC5524 80241D14 8602008E */ lh $v0, 0x8e($s0) +/* CC5528 80241D18 1C40001D */ bgtz $v0, .L80241D90 +/* CC552C 80241D1C 00000000 */ nop +/* CC5530 80241D20 8E420074 */ lw $v0, 0x74($s2) +/* CC5534 80241D24 2442FFFF */ addiu $v0, $v0, -1 +/* CC5538 80241D28 18400018 */ blez $v0, .L80241D8C +/* CC553C 80241D2C AE420074 */ sw $v0, 0x74($s2) +/* CC5540 80241D30 C600000C */ lwc1 $f0, 0xc($s0) +/* CC5544 80241D34 3C014334 */ lui $at, 0x4334 +/* CC5548 80241D38 44816000 */ mtc1 $at, $f12 +/* CC554C 80241D3C 0C00A6C9 */ jal clamp_angle +/* CC5550 80241D40 460C0300 */ add.s $f12, $f0, $f12 +/* CC5554 80241D44 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CC5558 80241D48 0C00A67F */ jal rand_int +/* CC555C 80241D4C E600000C */ swc1 $f0, 0xc($s0) +/* CC5560 80241D50 3C032E8B */ lui $v1, 0x2e8b +/* CC5564 80241D54 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CC5568 80241D58 00430018 */ mult $v0, $v1 +/* CC556C 80241D5C 00021FC3 */ sra $v1, $v0, 0x1f +/* CC5570 80241D60 00004010 */ mfhi $t0 +/* CC5574 80241D64 00082043 */ sra $a0, $t0, 1 +/* CC5578 80241D68 00832023 */ subu $a0, $a0, $v1 +/* CC557C 80241D6C 00041840 */ sll $v1, $a0, 1 +/* CC5580 80241D70 00641821 */ addu $v1, $v1, $a0 +/* CC5584 80241D74 00031880 */ sll $v1, $v1, 2 +/* CC5588 80241D78 00641823 */ subu $v1, $v1, $a0 +/* CC558C 80241D7C 00431023 */ subu $v0, $v0, $v1 +/* CC5590 80241D80 24420005 */ addiu $v0, $v0, 5 +/* CC5594 80241D84 08090764 */ j .L80241D90 +/* CC5598 80241D88 A602008E */ sh $v0, 0x8e($s0) +.L80241D8C: +/* CC559C 80241D8C AE400070 */ sw $zero, 0x70($s2) +.L80241D90: +/* CC55A0 80241D90 8FBF0054 */ lw $ra, 0x54($sp) +/* CC55A4 80241D94 8FB40050 */ lw $s4, 0x50($sp) +/* CC55A8 80241D98 8FB3004C */ lw $s3, 0x4c($sp) +/* CC55AC 80241D9C 8FB20048 */ lw $s2, 0x48($sp) +/* CC55B0 80241DA0 8FB10044 */ lw $s1, 0x44($sp) +/* CC55B4 80241DA4 8FB00040 */ lw $s0, 0x40($sp) +/* CC55B8 80241DA8 D7B60060 */ ldc1 $f22, 0x60($sp) +/* CC55BC 80241DAC D7B40058 */ ldc1 $f20, 0x58($sp) +/* CC55C0 80241DB0 03E00008 */ jr $ra +/* CC55C4 80241DB4 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80241DB8.s b/asm/nonmatchings/world/area_flo/flo_13/func_80241DB8.s new file mode 100644 index 0000000000..de02229bf8 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80241DB8.s @@ -0,0 +1,341 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DB8 +/* CC55C8 80241DB8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* CC55CC 80241DBC AFB40050 */ sw $s4, 0x50($sp) +/* CC55D0 80241DC0 0080A02D */ daddu $s4, $a0, $zero +/* CC55D4 80241DC4 AFBF005C */ sw $ra, 0x5c($sp) +/* CC55D8 80241DC8 AFB60058 */ sw $s6, 0x58($sp) +/* CC55DC 80241DCC AFB50054 */ sw $s5, 0x54($sp) +/* CC55E0 80241DD0 AFB3004C */ sw $s3, 0x4c($sp) +/* CC55E4 80241DD4 AFB20048 */ sw $s2, 0x48($sp) +/* CC55E8 80241DD8 AFB10044 */ sw $s1, 0x44($sp) +/* CC55EC 80241DDC AFB00040 */ sw $s0, 0x40($sp) +/* CC55F0 80241DE0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CC55F4 80241DE4 8E930148 */ lw $s3, 0x148($s4) +/* CC55F8 80241DE8 86640008 */ lh $a0, 8($s3) +/* CC55FC 80241DEC 8E90000C */ lw $s0, 0xc($s4) +/* CC5600 80241DF0 0C00EABB */ jal get_npc_unsafe +/* CC5604 80241DF4 00A0882D */ daddu $s1, $a1, $zero +/* CC5608 80241DF8 0280202D */ daddu $a0, $s4, $zero +/* CC560C 80241DFC 8E050000 */ lw $a1, ($s0) +/* CC5610 80241E00 0C0B1EAF */ jal get_variable +/* CC5614 80241E04 0040902D */ daddu $s2, $v0, $zero +/* CC5618 80241E08 AFA00020 */ sw $zero, 0x20($sp) +/* CC561C 80241E0C 8E6300D0 */ lw $v1, 0xd0($s3) +/* CC5620 80241E10 8C630030 */ lw $v1, 0x30($v1) +/* CC5624 80241E14 AFA30024 */ sw $v1, 0x24($sp) +/* CC5628 80241E18 8E6300D0 */ lw $v1, 0xd0($s3) +/* CC562C 80241E1C 8C63001C */ lw $v1, 0x1c($v1) +/* CC5630 80241E20 AFA30028 */ sw $v1, 0x28($sp) +/* CC5634 80241E24 8E6300D0 */ lw $v1, 0xd0($s3) +/* CC5638 80241E28 8C630024 */ lw $v1, 0x24($v1) +/* CC563C 80241E2C AFA3002C */ sw $v1, 0x2c($sp) +/* CC5640 80241E30 8E6300D0 */ lw $v1, 0xd0($s3) +/* CC5644 80241E34 8C630028 */ lw $v1, 0x28($v1) +/* CC5648 80241E38 27B50020 */ addiu $s5, $sp, 0x20 +/* CC564C 80241E3C AFA30030 */ sw $v1, 0x30($sp) +/* CC5650 80241E40 8E6300D0 */ lw $v1, 0xd0($s3) +/* CC5654 80241E44 3C0142F0 */ lui $at, 0x42f0 +/* CC5658 80241E48 44810000 */ mtc1 $at, $f0 +/* CC565C 80241E4C 8C63002C */ lw $v1, 0x2c($v1) +/* CC5660 80241E50 0040B02D */ daddu $s6, $v0, $zero +/* CC5664 80241E54 E7A00038 */ swc1 $f0, 0x38($sp) +/* CC5668 80241E58 A7A0003C */ sh $zero, 0x3c($sp) +/* CC566C 80241E5C 12200007 */ beqz $s1, .L80241E7C +/* CC5670 80241E60 AFA30034 */ sw $v1, 0x34($sp) +/* CC5674 80241E64 0240202D */ daddu $a0, $s2, $zero +/* CC5678 80241E68 0260282D */ daddu $a1, $s3, $zero +/* CC567C 80241E6C 0280302D */ daddu $a2, $s4, $zero +/* CC5680 80241E70 0C0904EB */ jal func_802413AC +/* CC5684 80241E74 02C0382D */ daddu $a3, $s6, $zero +/* CC5688 80241E78 AE800070 */ sw $zero, 0x70($s4) +.L80241E7C: +/* CC568C 80241E7C 2402FFFD */ addiu $v0, $zero, -3 +/* CC5690 80241E80 A24200AB */ sb $v0, 0xab($s2) +/* CC5694 80241E84 8E6300B0 */ lw $v1, 0xb0($s3) +/* CC5698 80241E88 30620004 */ andi $v0, $v1, 4 +/* CC569C 80241E8C 10400007 */ beqz $v0, .L80241EAC +/* CC56A0 80241E90 00000000 */ nop +/* CC56A4 80241E94 826200B4 */ lb $v0, 0xb4($s3) +/* CC56A8 80241E98 144000F4 */ bnez $v0, .L8024226C +/* CC56AC 80241E9C 0000102D */ daddu $v0, $zero, $zero +/* CC56B0 80241EA0 2402FFFB */ addiu $v0, $zero, -5 +/* CC56B4 80241EA4 00621024 */ and $v0, $v1, $v0 +/* CC56B8 80241EA8 AE6200B0 */ sw $v0, 0xb0($s3) +.L80241EAC: +/* CC56BC 80241EAC 8E830070 */ lw $v1, 0x70($s4) +/* CC56C0 80241EB0 24020001 */ addiu $v0, $zero, 1 +/* CC56C4 80241EB4 10620011 */ beq $v1, $v0, .L80241EFC +/* CC56C8 80241EB8 28620002 */ slti $v0, $v1, 2 +/* CC56CC 80241EBC 10400005 */ beqz $v0, .L80241ED4 +/* CC56D0 80241EC0 24020002 */ addiu $v0, $zero, 2 +/* CC56D4 80241EC4 10600009 */ beqz $v1, .L80241EEC +/* CC56D8 80241EC8 2402000C */ addiu $v0, $zero, 0xc +/* CC56DC 80241ECC 080907CF */ j .L80241F3C +/* CC56E0 80241ED0 00000000 */ nop +.L80241ED4: +/* CC56E4 80241ED4 1062000F */ beq $v1, $v0, .L80241F14 +/* CC56E8 80241ED8 24020003 */ addiu $v0, $zero, 3 +/* CC56EC 80241EDC 10620012 */ beq $v1, $v0, .L80241F28 +/* CC56F0 80241EE0 0280202D */ daddu $a0, $s4, $zero +/* CC56F4 80241EE4 080907CD */ j .L80241F34 +/* CC56F8 80241EE8 00000000 */ nop +.L80241EEC: +/* CC56FC 80241EEC 0280202D */ daddu $a0, $s4, $zero +/* CC5700 80241EF0 02C0282D */ daddu $a1, $s6, $zero +/* CC5704 80241EF4 0C090071 */ jal func_802401C4 +/* CC5708 80241EF8 02A0302D */ daddu $a2, $s5, $zero +.L80241EFC: +/* CC570C 80241EFC 0280202D */ daddu $a0, $s4, $zero +/* CC5710 80241F00 02C0282D */ daddu $a1, $s6, $zero +/* CC5714 80241F04 0C0905C1 */ jal func_80241704 +/* CC5718 80241F08 02A0302D */ daddu $a2, $s5, $zero +/* CC571C 80241F0C 080907CD */ j .L80241F34 +/* CC5720 80241F10 00000000 */ nop +.L80241F14: +/* CC5724 80241F14 0280202D */ daddu $a0, $s4, $zero +/* CC5728 80241F18 02C0282D */ daddu $a1, $s6, $zero +/* CC572C 80241F1C 0C090267 */ jal func_8024099C +/* CC5730 80241F20 02A0302D */ daddu $a2, $s5, $zero +/* CC5734 80241F24 0280202D */ daddu $a0, $s4, $zero +.L80241F28: +/* CC5738 80241F28 02C0282D */ daddu $a1, $s6, $zero +/* CC573C 80241F2C 0C0906DA */ jal func_80241B68 +/* CC5740 80241F30 02A0302D */ daddu $a2, $s5, $zero +.L80241F34: +/* CC5744 80241F34 8E830070 */ lw $v1, 0x70($s4) +/* CC5748 80241F38 2402000C */ addiu $v0, $zero, 0xc +.L80241F3C: +/* CC574C 80241F3C 1462001A */ bne $v1, $v0, .L80241FA8 +/* CC5750 80241F40 00000000 */ nop +/* CC5754 80241F44 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CC5758 80241F48 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC575C 80241F4C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC5760 80241F50 C64E0040 */ lwc1 $f14, 0x40($s2) +/* CC5764 80241F54 8C460028 */ lw $a2, 0x28($v0) +/* CC5768 80241F58 0C00A720 */ jal atan2 +/* CC576C 80241F5C 8C470030 */ lw $a3, 0x30($v0) +/* CC5770 80241F60 0C0905AF */ jal func_802416BC +/* CC5774 80241F64 E640000C */ swc1 $f0, 0xc($s2) +/* CC5778 80241F68 0440000F */ bltz $v0, .L80241FA8 +/* CC577C 80241F6C AE62007C */ sw $v0, 0x7c($s3) +/* CC5780 80241F70 0C00FB3A */ jal get_enemy +/* CC5784 80241F74 0040202D */ daddu $a0, $v0, $zero +/* CC5788 80241F78 3C030049 */ lui $v1, 0x49 +/* CC578C 80241F7C 0040202D */ daddu $a0, $v0, $zero +/* CC5790 80241F80 24020001 */ addiu $v0, $zero, 1 +/* CC5794 80241F84 AC820094 */ sw $v0, 0x94($a0) +/* CC5798 80241F88 86620008 */ lh $v0, 8($s3) +/* CC579C 80241F8C 34630014 */ ori $v1, $v1, 0x14 +/* CC57A0 80241F90 AC820098 */ sw $v0, 0x98($a0) +/* CC57A4 80241F94 2402000F */ addiu $v0, $zero, 0xf +/* CC57A8 80241F98 A642008E */ sh $v0, 0x8e($s2) +/* CC57AC 80241F9C 2402001E */ addiu $v0, $zero, 0x1e +/* CC57B0 80241FA0 AE430028 */ sw $v1, 0x28($s2) +/* CC57B4 80241FA4 AE820070 */ sw $v0, 0x70($s4) +.L80241FA8: +/* CC57B8 80241FA8 8E830070 */ lw $v1, 0x70($s4) +/* CC57BC 80241FAC 2402000D */ addiu $v0, $zero, 0xd +/* CC57C0 80241FB0 10620010 */ beq $v1, $v0, .L80241FF4 +/* CC57C4 80241FB4 2862000E */ slti $v0, $v1, 0xe +/* CC57C8 80241FB8 10400005 */ beqz $v0, .L80241FD0 +/* CC57CC 80241FBC 2402000C */ addiu $v0, $zero, 0xc +/* CC57D0 80241FC0 10620008 */ beq $v1, $v0, .L80241FE4 +/* CC57D4 80241FC4 2410001F */ addiu $s0, $zero, 0x1f +/* CC57D8 80241FC8 08090808 */ j .L80242020 +/* CC57DC 80241FCC 00000000 */ nop +.L80241FD0: +/* CC57E0 80241FD0 2402000E */ addiu $v0, $zero, 0xe +/* CC57E4 80241FD4 1062000D */ beq $v1, $v0, .L8024200C +/* CC57E8 80241FD8 0280202D */ daddu $a0, $s4, $zero +/* CC57EC 80241FDC 08090806 */ j .L80242018 +/* CC57F0 80241FE0 00000000 */ nop +.L80241FE4: +/* CC57F4 80241FE4 0280202D */ daddu $a0, $s4, $zero +/* CC57F8 80241FE8 02C0282D */ daddu $a1, $s6, $zero +/* CC57FC 80241FEC 0C0903A1 */ jal func_80240E84 +/* CC5800 80241FF0 02A0302D */ daddu $a2, $s5, $zero +.L80241FF4: +/* CC5804 80241FF4 0280202D */ daddu $a0, $s4, $zero +/* CC5808 80241FF8 02C0282D */ daddu $a1, $s6, $zero +/* CC580C 80241FFC 0C0903EE */ jal func_80240FB8 +/* CC5810 80242000 02A0302D */ daddu $a2, $s5, $zero +/* CC5814 80242004 08090806 */ j .L80242018 +/* CC5818 80242008 00000000 */ nop +.L8024200C: +/* CC581C 8024200C 02C0282D */ daddu $a1, $s6, $zero +/* CC5820 80242010 0C090407 */ jal func_8024101C +/* CC5824 80242014 02A0302D */ daddu $a2, $s5, $zero +.L80242018: +/* CC5828 80242018 8E830070 */ lw $v1, 0x70($s4) +/* CC582C 8024201C 2410001F */ addiu $s0, $zero, 0x1f +.L80242020: +/* CC5830 80242020 1070001B */ beq $v1, $s0, .L80242090 +/* CC5834 80242024 28620020 */ slti $v0, $v1, 0x20 +/* CC5838 80242028 10400005 */ beqz $v0, .L80242040 +/* CC583C 8024202C 2402001E */ addiu $v0, $zero, 0x1e +/* CC5840 80242030 1062000A */ beq $v1, $v0, .L8024205C +/* CC5844 80242034 00000000 */ nop +/* CC5848 80242038 08090843 */ j .L8024210C +/* CC584C 8024203C 00000000 */ nop +.L80242040: +/* CC5850 80242040 24020020 */ addiu $v0, $zero, 0x20 +/* CC5854 80242044 10620022 */ beq $v1, $v0, .L802420D0 +/* CC5858 80242048 24020021 */ addiu $v0, $zero, 0x21 +/* CC585C 8024204C 10620029 */ beq $v1, $v0, .L802420F4 +/* CC5860 80242050 00000000 */ nop +/* CC5864 80242054 08090843 */ j .L8024210C +/* CC5868 80242058 00000000 */ nop +.L8024205C: +/* CC586C 8024205C 9642008E */ lhu $v0, 0x8e($s2) +/* CC5870 80242060 2442FFFF */ addiu $v0, $v0, -1 +/* CC5874 80242064 A642008E */ sh $v0, 0x8e($s2) +/* CC5878 80242068 00021400 */ sll $v0, $v0, 0x10 +/* CC587C 8024206C 1C400027 */ bgtz $v0, .L8024210C +/* CC5880 80242070 00000000 */ nop +/* CC5884 80242074 0C00FB3A */ jal get_enemy +/* CC5888 80242078 8E64007C */ lw $a0, 0x7c($s3) +/* CC588C 8024207C 24030002 */ addiu $v1, $zero, 2 +/* CC5890 80242080 AC430094 */ sw $v1, 0x94($v0) +/* CC5894 80242084 24020005 */ addiu $v0, $zero, 5 +/* CC5898 80242088 A642008E */ sh $v0, 0x8e($s2) +/* CC589C 8024208C AE900070 */ sw $s0, 0x70($s4) +.L80242090: +/* CC58A0 80242090 9642008E */ lhu $v0, 0x8e($s2) +/* CC58A4 80242094 2442FFFF */ addiu $v0, $v0, -1 +/* CC58A8 80242098 A642008E */ sh $v0, 0x8e($s2) +/* CC58AC 8024209C 00021400 */ sll $v0, $v0, 0x10 +/* CC58B0 802420A0 1C40001A */ bgtz $v0, .L8024210C +/* CC58B4 802420A4 3C020049 */ lui $v0, 0x49 +/* CC58B8 802420A8 34420015 */ ori $v0, $v0, 0x15 +/* CC58BC 802420AC AE420028 */ sw $v0, 0x28($s2) +/* CC58C0 802420B0 0C00FB3A */ jal get_enemy +/* CC58C4 802420B4 8E64007C */ lw $a0, 0x7c($s3) +/* CC58C8 802420B8 24030003 */ addiu $v1, $zero, 3 +/* CC58CC 802420BC AC430094 */ sw $v1, 0x94($v0) +/* CC58D0 802420C0 2402000A */ addiu $v0, $zero, 0xa +/* CC58D4 802420C4 A642008E */ sh $v0, 0x8e($s2) +/* CC58D8 802420C8 24020020 */ addiu $v0, $zero, 0x20 +/* CC58DC 802420CC AE820070 */ sw $v0, 0x70($s4) +.L802420D0: +/* CC58E0 802420D0 9642008E */ lhu $v0, 0x8e($s2) +/* CC58E4 802420D4 2442FFFF */ addiu $v0, $v0, -1 +/* CC58E8 802420D8 A642008E */ sh $v0, 0x8e($s2) +/* CC58EC 802420DC 00021400 */ sll $v0, $v0, 0x10 +/* CC58F0 802420E0 1C40000A */ bgtz $v0, .L8024210C +/* CC58F4 802420E4 24020003 */ addiu $v0, $zero, 3 +/* CC58F8 802420E8 A642008E */ sh $v0, 0x8e($s2) +/* CC58FC 802420EC 24020021 */ addiu $v0, $zero, 0x21 +/* CC5900 802420F0 AE820070 */ sw $v0, 0x70($s4) +.L802420F4: +/* CC5904 802420F4 9642008E */ lhu $v0, 0x8e($s2) +/* CC5908 802420F8 2442FFFF */ addiu $v0, $v0, -1 +/* CC590C 802420FC A642008E */ sh $v0, 0x8e($s2) +/* CC5910 80242100 00021400 */ sll $v0, $v0, 0x10 +/* CC5914 80242104 58400001 */ blezl $v0, .L8024210C +/* CC5918 80242108 AE800070 */ sw $zero, 0x70($s4) +.L8024210C: +/* CC591C 8024210C 8E820070 */ lw $v0, 0x70($s4) +/* CC5920 80242110 2442FFE2 */ addiu $v0, $v0, -0x1e +/* CC5924 80242114 2C420002 */ sltiu $v0, $v0, 2 +/* CC5928 80242118 10400054 */ beqz $v0, .L8024226C +/* CC592C 8024211C 0000102D */ daddu $v0, $zero, $zero +/* CC5930 80242120 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* CC5934 80242124 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* CC5938 80242128 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CC593C 8024212C 8E020000 */ lw $v0, ($s0) +/* CC5940 80242130 C64E0040 */ lwc1 $f14, 0x40($s2) +/* CC5944 80242134 8C460028 */ lw $a2, 0x28($v0) +/* CC5948 80242138 0C00A720 */ jal atan2 +/* CC594C 8024213C 8C470030 */ lw $a3, 0x30($v0) +/* CC5950 80242140 8E460038 */ lw $a2, 0x38($s2) +/* CC5954 80242144 8E470040 */ lw $a3, 0x40($s2) +/* CC5958 80242148 8E020000 */ lw $v0, ($s0) +/* CC595C 8024214C E640000C */ swc1 $f0, 0xc($s2) +/* CC5960 80242150 C44C0028 */ lwc1 $f12, 0x28($v0) +/* CC5964 80242154 0C00A7B5 */ jal dist2D +/* CC5968 80242158 C44E0030 */ lwc1 $f14, 0x30($v0) +/* CC596C 8024215C C6A20008 */ lwc1 $f2, 8($s5) +/* CC5970 80242160 468010A0 */ cvt.s.w $f2, $f2 +/* CC5974 80242164 44051000 */ mfc1 $a1, $f2 +/* CC5978 80242168 C6A2000C */ lwc1 $f2, 0xc($s5) +/* CC597C 8024216C 468010A0 */ cvt.s.w $f2, $f2 +/* CC5980 80242170 44061000 */ mfc1 $a2, $f2 +/* CC5984 80242174 C6420040 */ lwc1 $f2, 0x40($s2) +/* CC5988 80242178 E7A20010 */ swc1 $f2, 0x10($sp) +/* CC598C 8024217C C6A20010 */ lwc1 $f2, 0x10($s5) +/* CC5990 80242180 468010A0 */ cvt.s.w $f2, $f2 +/* CC5994 80242184 E7A20014 */ swc1 $f2, 0x14($sp) +/* CC5998 80242188 C6A20014 */ lwc1 $f2, 0x14($s5) +/* CC599C 8024218C 468010A0 */ cvt.s.w $f2, $f2 +/* CC59A0 80242190 E7A20018 */ swc1 $f2, 0x18($sp) +/* CC59A4 80242194 8EA40004 */ lw $a0, 4($s5) +/* CC59A8 80242198 8E470038 */ lw $a3, 0x38($s2) +/* CC59AC 8024219C 0C0123F5 */ jal is_point_within_region +/* CC59B0 802421A0 46000506 */ mov.s $f20, $f0 +/* CC59B4 802421A4 14400031 */ bnez $v0, .L8024226C +/* CC59B8 802421A8 0000102D */ daddu $v0, $zero, $zero +/* CC59BC 802421AC 3C01403E */ lui $at, 0x403e +/* CC59C0 802421B0 44810800 */ mtc1 $at, $f1 +/* CC59C4 802421B4 44800000 */ mtc1 $zero, $f0 +/* CC59C8 802421B8 4600A0A1 */ cvt.d.s $f2, $f20 +/* CC59CC 802421BC 4622003C */ c.lt.d $f0, $f2 +/* CC59D0 802421C0 00000000 */ nop +/* CC59D4 802421C4 45000029 */ bc1f .L8024226C +/* CC59D8 802421C8 00000000 */ nop +/* CC59DC 802421CC 8642008C */ lh $v0, 0x8c($s2) +/* CC59E0 802421D0 54400026 */ bnel $v0, $zero, .L8024226C +/* CC59E4 802421D4 0000102D */ daddu $v0, $zero, $zero +/* CC59E8 802421D8 3C014034 */ lui $at, 0x4034 +/* CC59EC 802421DC 44810800 */ mtc1 $at, $f1 +/* CC59F0 802421E0 44800000 */ mtc1 $zero, $f0 +/* CC59F4 802421E4 00000000 */ nop +/* CC59F8 802421E8 46201001 */ sub.d $f0, $f2, $f0 +/* CC59FC 802421EC 44801000 */ mtc1 $zero, $f2 +/* CC5A00 802421F0 44801800 */ mtc1 $zero, $f3 +/* CC5A04 802421F4 46200120 */ cvt.s.d $f4, $f0 +/* CC5A08 802421F8 46002021 */ cvt.d.s $f0, $f4 +/* CC5A0C 802421FC 4622003C */ c.lt.d $f0, $f2 +/* CC5A10 80242200 00000000 */ nop +/* CC5A14 80242204 45000002 */ bc1f .L80242210 +/* CC5A18 80242208 00000000 */ nop +/* CC5A1C 8024220C 44802000 */ mtc1 $zero, $f4 +.L80242210: +/* CC5A20 80242210 3C014069 */ lui $at, 0x4069 +/* CC5A24 80242214 44811800 */ mtc1 $at, $f3 +/* CC5A28 80242218 44801000 */ mtc1 $zero, $f2 +/* CC5A2C 8024221C 46002021 */ cvt.d.s $f0, $f4 +/* CC5A30 80242220 4620103C */ c.lt.d $f2, $f0 +/* CC5A34 80242224 00000000 */ nop +/* CC5A38 80242228 45000003 */ bc1f .L80242238 +/* CC5A3C 8024222C 240200C8 */ addiu $v0, $zero, 0xc8 +/* CC5A40 80242230 3C014348 */ lui $at, 0x4348 +/* CC5A44 80242234 44812000 */ mtc1 $at, $f4 +.L80242238: +/* CC5A48 80242238 AFA20010 */ sw $v0, 0x10($sp) +/* CC5A4C 8024223C 8EC50000 */ lw $a1, ($s6) +/* CC5A50 80242240 8EC60018 */ lw $a2, 0x18($s6) +/* CC5A54 80242244 4600218D */ trunc.w.s $f6, $f4 +/* CC5A58 80242248 44073000 */ mfc1 $a3, $f6 +/* CC5A5C 8024224C 0C00A8ED */ jal update_lerp +/* CC5A60 80242250 0000202D */ daddu $a0, $zero, $zero +/* CC5A64 80242254 44050000 */ mfc1 $a1, $f0 +/* CC5A68 80242258 8E46000C */ lw $a2, 0xc($s2) +/* CC5A6C 8024225C 0240202D */ daddu $a0, $s2, $zero +/* CC5A70 80242260 0C00EA95 */ jal npc_move_heading +/* CC5A74 80242264 AC850018 */ sw $a1, 0x18($a0) +/* CC5A78 80242268 0000102D */ daddu $v0, $zero, $zero +.L8024226C: +/* CC5A7C 8024226C 8FBF005C */ lw $ra, 0x5c($sp) +/* CC5A80 80242270 8FB60058 */ lw $s6, 0x58($sp) +/* CC5A84 80242274 8FB50054 */ lw $s5, 0x54($sp) +/* CC5A88 80242278 8FB40050 */ lw $s4, 0x50($sp) +/* CC5A8C 8024227C 8FB3004C */ lw $s3, 0x4c($sp) +/* CC5A90 80242280 8FB20048 */ lw $s2, 0x48($sp) +/* CC5A94 80242284 8FB10044 */ lw $s1, 0x44($sp) +/* CC5A98 80242288 8FB00040 */ lw $s0, 0x40($sp) +/* CC5A9C 8024228C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CC5AA0 80242290 03E00008 */ jr $ra +/* CC5AA4 80242294 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80242298_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80242298_CC3810.s new file mode 100644 index 0000000000..d91ddac89a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80242298_CC3810.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242298_CC5AA8 +/* CC5AA8 80242298 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC5AAC 8024229C AFB20018 */ sw $s2, 0x18($sp) +/* CC5AB0 802422A0 0080902D */ daddu $s2, $a0, $zero +/* CC5AB4 802422A4 AFBF001C */ sw $ra, 0x1c($sp) +/* CC5AB8 802422A8 AFB10014 */ sw $s1, 0x14($sp) +/* CC5ABC 802422AC AFB00010 */ sw $s0, 0x10($sp) +/* CC5AC0 802422B0 8E510148 */ lw $s1, 0x148($s2) +/* CC5AC4 802422B4 0C00EABB */ jal get_npc_unsafe +/* CC5AC8 802422B8 86240008 */ lh $a0, 8($s1) +/* CC5ACC 802422BC 0040802D */ daddu $s0, $v0, $zero +/* CC5AD0 802422C0 8E2300CC */ lw $v1, 0xcc($s1) +/* CC5AD4 802422C4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC5AD8 802422C8 8C630020 */ lw $v1, 0x20($v1) +/* CC5ADC 802422CC AE030028 */ sw $v1, 0x28($s0) +/* CC5AE0 802422D0 96220076 */ lhu $v0, 0x76($s1) +/* CC5AE4 802422D4 A602008E */ sh $v0, 0x8e($s0) +/* CC5AE8 802422D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC5AEC 802422DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC5AF0 802422E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC5AF4 802422E4 8C460028 */ lw $a2, 0x28($v0) +/* CC5AF8 802422E8 0C00A720 */ jal atan2 +/* CC5AFC 802422EC 8C470030 */ lw $a3, 0x30($v0) +/* CC5B00 802422F0 2402000D */ addiu $v0, $zero, 0xd +/* CC5B04 802422F4 E600000C */ swc1 $f0, 0xc($s0) +/* CC5B08 802422F8 AE420070 */ sw $v0, 0x70($s2) +/* CC5B0C 802422FC 8FBF001C */ lw $ra, 0x1c($sp) +/* CC5B10 80242300 8FB20018 */ lw $s2, 0x18($sp) +/* CC5B14 80242304 8FB10014 */ lw $s1, 0x14($sp) +/* CC5B18 80242308 8FB00010 */ lw $s0, 0x10($sp) +/* CC5B1C 8024230C 03E00008 */ jr $ra +/* CC5B20 80242310 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80242314.s b/asm/nonmatchings/world/area_flo/flo_13/func_80242314.s new file mode 100644 index 0000000000..0e0f94095a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80242314.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242314 +/* CC5B24 80242314 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CC5B28 80242318 AFB3001C */ sw $s3, 0x1c($sp) +/* CC5B2C 8024231C 0080982D */ daddu $s3, $a0, $zero +/* CC5B30 80242320 AFBF0020 */ sw $ra, 0x20($sp) +/* CC5B34 80242324 AFB20018 */ sw $s2, 0x18($sp) +/* CC5B38 80242328 AFB10014 */ sw $s1, 0x14($sp) +/* CC5B3C 8024232C AFB00010 */ sw $s0, 0x10($sp) +/* CC5B40 80242330 8E710148 */ lw $s1, 0x148($s3) +/* CC5B44 80242334 86240008 */ lh $a0, 8($s1) +/* CC5B48 80242338 0C00EABB */ jal get_npc_unsafe +/* CC5B4C 8024233C 00A0902D */ daddu $s2, $a1, $zero +/* CC5B50 80242340 0040802D */ daddu $s0, $v0, $zero +/* CC5B54 80242344 8602008E */ lh $v0, 0x8e($s0) +/* CC5B58 80242348 9603008E */ lhu $v1, 0x8e($s0) +/* CC5B5C 8024234C 18400005 */ blez $v0, .L80242364 +/* CC5B60 80242350 2462FFFF */ addiu $v0, $v1, -1 +/* CC5B64 80242354 A602008E */ sh $v0, 0x8e($s0) +/* CC5B68 80242358 00021400 */ sll $v0, $v0, 0x10 +/* CC5B6C 8024235C 1C400033 */ bgtz $v0, .L8024242C +/* CC5B70 80242360 00000000 */ nop +.L80242364: +/* CC5B74 80242364 8602008C */ lh $v0, 0x8c($s0) +/* CC5B78 80242368 14400030 */ bnez $v0, .L8024242C +/* CC5B7C 8024236C 00000000 */ nop +/* CC5B80 80242370 8E2200CC */ lw $v0, 0xcc($s1) +/* CC5B84 80242374 8C420024 */ lw $v0, 0x24($v0) +/* CC5B88 80242378 AE020028 */ sw $v0, 0x28($s0) +/* CC5B8C 8024237C C6400018 */ lwc1 $f0, 0x18($s2) +/* CC5B90 80242380 E6000018 */ swc1 $f0, 0x18($s0) +/* CC5B94 80242384 8E230088 */ lw $v1, 0x88($s1) +/* CC5B98 80242388 24020005 */ addiu $v0, $zero, 5 +/* CC5B9C 8024238C 10620005 */ beq $v1, $v0, .L802423A4 +/* CC5BA0 80242390 00000000 */ nop +/* CC5BA4 80242394 10600003 */ beqz $v1, .L802423A4 +/* CC5BA8 80242398 24020001 */ addiu $v0, $zero, 1 +/* CC5BAC 8024239C 14620006 */ bne $v1, $v0, .L802423B8 +/* CC5BB0 802423A0 00000000 */ nop +.L802423A4: +/* CC5BB4 802423A4 8E220084 */ lw $v0, 0x84($s1) +/* CC5BB8 802423A8 00021FC2 */ srl $v1, $v0, 0x1f +/* CC5BBC 802423AC 00431021 */ addu $v0, $v0, $v1 +/* CC5BC0 802423B0 00021043 */ sra $v0, $v0, 1 +/* CC5BC4 802423B4 A60200A8 */ sh $v0, 0xa8($s0) +.L802423B8: +/* CC5BC8 802423B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC5BCC 802423BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC5BD0 802423C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CC5BD4 802423C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CC5BD8 802423C8 8C460028 */ lw $a2, 0x28($v0) +/* CC5BDC 802423CC 0C00A7B5 */ jal dist2D +/* CC5BE0 802423D0 8C470030 */ lw $a3, 0x30($v0) +/* CC5BE4 802423D4 C6020018 */ lwc1 $f2, 0x18($s0) +/* CC5BE8 802423D8 46020003 */ div.s $f0, $f0, $f2 +/* CC5BEC 802423DC 3C018024 */ lui $at, 0x8024 +/* CC5BF0 802423E0 D4227A88 */ ldc1 $f2, 0x7a88($at) +/* CC5BF4 802423E4 46000021 */ cvt.d.s $f0, $f0 +/* CC5BF8 802423E8 46220000 */ add.d $f0, $f0, $f2 +/* CC5BFC 802423EC 4620010D */ trunc.w.d $f4, $f0 +/* CC5C00 802423F0 44022000 */ mfc1 $v0, $f4 +/* CC5C04 802423F4 00000000 */ nop +/* CC5C08 802423F8 A602008E */ sh $v0, 0x8e($s0) +/* CC5C0C 802423FC 00021400 */ sll $v0, $v0, 0x10 +/* CC5C10 80242400 8E230078 */ lw $v1, 0x78($s1) +/* CC5C14 80242404 00021403 */ sra $v0, $v0, 0x10 +/* CC5C18 80242408 0043102A */ slt $v0, $v0, $v1 +/* CC5C1C 8024240C 10400003 */ beqz $v0, .L8024241C +/* CC5C20 80242410 00000000 */ nop +/* CC5C24 80242414 9622007A */ lhu $v0, 0x7a($s1) +/* CC5C28 80242418 A602008E */ sh $v0, 0x8e($s0) +.L8024241C: +/* CC5C2C 8024241C 8602008E */ lh $v0, 0x8e($s0) +/* CC5C30 80242420 AE22007C */ sw $v0, 0x7c($s1) +/* CC5C34 80242424 2402000E */ addiu $v0, $zero, 0xe +/* CC5C38 80242428 AE620070 */ sw $v0, 0x70($s3) +.L8024242C: +/* CC5C3C 8024242C 8FBF0020 */ lw $ra, 0x20($sp) +/* CC5C40 80242430 8FB3001C */ lw $s3, 0x1c($sp) +/* CC5C44 80242434 8FB20018 */ lw $s2, 0x18($sp) +/* CC5C48 80242438 8FB10014 */ lw $s1, 0x14($sp) +/* CC5C4C 8024243C 8FB00010 */ lw $s0, 0x10($sp) +/* CC5C50 80242440 03E00008 */ jr $ra +/* CC5C54 80242444 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80242448.s b/asm/nonmatchings/world/area_flo/flo_13/func_80242448.s new file mode 100644 index 0000000000..b4b1208c79 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80242448.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242448 +/* CC5C58 80242448 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CC5C5C 8024244C AFB3003C */ sw $s3, 0x3c($sp) +/* CC5C60 80242450 0080982D */ daddu $s3, $a0, $zero +/* CC5C64 80242454 AFBF0040 */ sw $ra, 0x40($sp) +/* CC5C68 80242458 AFB20038 */ sw $s2, 0x38($sp) +/* CC5C6C 8024245C AFB10034 */ sw $s1, 0x34($sp) +/* CC5C70 80242460 AFB00030 */ sw $s0, 0x30($sp) +/* CC5C74 80242464 8E710148 */ lw $s1, 0x148($s3) +/* CC5C78 80242468 0C00EABB */ jal get_npc_unsafe +/* CC5C7C 8024246C 86240008 */ lh $a0, 8($s1) +/* CC5C80 80242470 0040802D */ daddu $s0, $v0, $zero +/* CC5C84 80242474 8E22007C */ lw $v0, 0x7c($s1) +/* CC5C88 80242478 8603008E */ lh $v1, 0x8e($s0) +/* CC5C8C 8024247C 2442FFFF */ addiu $v0, $v0, -1 +/* CC5C90 80242480 14620012 */ bne $v1, $v0, .L802424CC +/* CC5C94 80242484 00000000 */ nop +/* CC5C98 80242488 C6000038 */ lwc1 $f0, 0x38($s0) +/* CC5C9C 8024248C 4600020D */ trunc.w.s $f8, $f0 +/* CC5CA0 80242490 44024000 */ mfc1 $v0, $f8 +/* CC5CA4 80242494 00000000 */ nop +/* CC5CA8 80242498 A6220010 */ sh $v0, 0x10($s1) +/* CC5CAC 8024249C C600003C */ lwc1 $f0, 0x3c($s0) +/* CC5CB0 802424A0 4600020D */ trunc.w.s $f8, $f0 +/* CC5CB4 802424A4 44024000 */ mfc1 $v0, $f8 +/* CC5CB8 802424A8 00000000 */ nop +/* CC5CBC 802424AC A6220012 */ sh $v0, 0x12($s1) +/* CC5CC0 802424B0 C6000040 */ lwc1 $f0, 0x40($s0) +/* CC5CC4 802424B4 24020001 */ addiu $v0, $zero, 1 +/* CC5CC8 802424B8 A2220007 */ sb $v0, 7($s1) +/* CC5CCC 802424BC 4600020D */ trunc.w.s $f8, $f0 +/* CC5CD0 802424C0 44024000 */ mfc1 $v0, $f8 +/* CC5CD4 802424C4 00000000 */ nop +/* CC5CD8 802424C8 A6220014 */ sh $v0, 0x14($s1) +.L802424CC: +/* CC5CDC 802424CC C6000038 */ lwc1 $f0, 0x38($s0) +/* CC5CE0 802424D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CC5CE4 802424D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CC5CE8 802424D8 C6060018 */ lwc1 $f6, 0x18($s0) +/* CC5CEC 802424DC E7A00020 */ swc1 $f0, 0x20($sp) +/* CC5CF0 802424E0 E7A20024 */ swc1 $f2, 0x24($sp) +/* CC5CF4 802424E4 E7A40028 */ swc1 $f4, 0x28($sp) +/* CC5CF8 802424E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* CC5CFC 802424EC C600000C */ lwc1 $f0, 0xc($s0) +/* CC5D00 802424F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* CC5D04 802424F4 860200A8 */ lh $v0, 0xa8($s0) +/* CC5D08 802424F8 27A50020 */ addiu $a1, $sp, 0x20 +/* CC5D0C 802424FC 44820000 */ mtc1 $v0, $f0 +/* CC5D10 80242500 00000000 */ nop +/* CC5D14 80242504 46800020 */ cvt.s.w $f0, $f0 +/* CC5D18 80242508 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC5D1C 8024250C 860200A6 */ lh $v0, 0xa6($s0) +/* CC5D20 80242510 27A60024 */ addiu $a2, $sp, 0x24 +/* CC5D24 80242514 44820000 */ mtc1 $v0, $f0 +/* CC5D28 80242518 00000000 */ nop +/* CC5D2C 8024251C 46800020 */ cvt.s.w $f0, $f0 +/* CC5D30 80242520 E7A0001C */ swc1 $f0, 0x1c($sp) +/* CC5D34 80242524 8E040080 */ lw $a0, 0x80($s0) +/* CC5D38 80242528 0C037711 */ jal func_800DDC44 +/* CC5D3C 8024252C 27A70028 */ addiu $a3, $sp, 0x28 +/* CC5D40 80242530 0040902D */ daddu $s2, $v0, $zero +/* CC5D44 80242534 16400005 */ bnez $s2, .L8024254C +/* CC5D48 80242538 00000000 */ nop +/* CC5D4C 8024253C 8E050018 */ lw $a1, 0x18($s0) +/* CC5D50 80242540 8E06000C */ lw $a2, 0xc($s0) +/* CC5D54 80242544 0C00EA95 */ jal npc_move_heading +/* CC5D58 80242548 0200202D */ daddu $a0, $s0, $zero +.L8024254C: +/* CC5D5C 8024254C 8602008E */ lh $v0, 0x8e($s0) +/* CC5D60 80242550 9603008E */ lhu $v1, 0x8e($s0) +/* CC5D64 80242554 18400007 */ blez $v0, .L80242574 +/* CC5D68 80242558 2462FFFF */ addiu $v0, $v1, -1 +/* CC5D6C 8024255C A602008E */ sh $v0, 0x8e($s0) +/* CC5D70 80242560 00021400 */ sll $v0, $v0, 0x10 +/* CC5D74 80242564 18400003 */ blez $v0, .L80242574 +/* CC5D78 80242568 00000000 */ nop +/* CC5D7C 8024256C 12400008 */ beqz $s2, .L80242590 +/* CC5D80 80242570 00000000 */ nop +.L80242574: +/* CC5D84 80242574 8E2200CC */ lw $v0, 0xcc($s1) +/* CC5D88 80242578 A2200007 */ sb $zero, 7($s1) +/* CC5D8C 8024257C 8C420028 */ lw $v0, 0x28($v0) +/* CC5D90 80242580 A600008E */ sh $zero, 0x8e($s0) +/* CC5D94 80242584 AE020028 */ sw $v0, 0x28($s0) +/* CC5D98 80242588 2402000F */ addiu $v0, $zero, 0xf +/* CC5D9C 8024258C AE620070 */ sw $v0, 0x70($s3) +.L80242590: +/* CC5DA0 80242590 8FBF0040 */ lw $ra, 0x40($sp) +/* CC5DA4 80242594 8FB3003C */ lw $s3, 0x3c($sp) +/* CC5DA8 80242598 8FB20038 */ lw $s2, 0x38($sp) +/* CC5DAC 8024259C 8FB10034 */ lw $s1, 0x34($sp) +/* CC5DB0 802425A0 8FB00030 */ lw $s0, 0x30($sp) +/* CC5DB4 802425A4 03E00008 */ jr $ra +/* CC5DB8 802425A8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802425AC.s b/asm/nonmatchings/world/area_flo/flo_13/func_802425AC.s new file mode 100644 index 0000000000..2cb3c6189d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802425AC.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425AC +/* CC5DBC 802425AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CC5DC0 802425B0 AFB10014 */ sw $s1, 0x14($sp) +/* CC5DC4 802425B4 0080882D */ daddu $s1, $a0, $zero +/* CC5DC8 802425B8 AFBF0018 */ sw $ra, 0x18($sp) +/* CC5DCC 802425BC AFB00010 */ sw $s0, 0x10($sp) +/* CC5DD0 802425C0 8E300148 */ lw $s0, 0x148($s1) +/* CC5DD4 802425C4 0C00EABB */ jal get_npc_unsafe +/* CC5DD8 802425C8 86040008 */ lh $a0, 8($s0) +/* CC5DDC 802425CC 0040202D */ daddu $a0, $v0, $zero +/* CC5DE0 802425D0 9482008E */ lhu $v0, 0x8e($a0) +/* CC5DE4 802425D4 24030003 */ addiu $v1, $zero, 3 +/* CC5DE8 802425D8 24420001 */ addiu $v0, $v0, 1 +/* CC5DEC 802425DC A482008E */ sh $v0, 0x8e($a0) +/* CC5DF0 802425E0 00021400 */ sll $v0, $v0, 0x10 +/* CC5DF4 802425E4 00021403 */ sra $v0, $v0, 0x10 +/* CC5DF8 802425E8 14430003 */ bne $v0, $v1, .L802425F8 +/* CC5DFC 802425EC 00000000 */ nop +/* CC5E00 802425F0 96020086 */ lhu $v0, 0x86($s0) +/* CC5E04 802425F4 A48200A8 */ sh $v0, 0xa8($a0) +.L802425F8: +/* CC5E08 802425F8 8482008E */ lh $v0, 0x8e($a0) +/* CC5E0C 802425FC 8E030080 */ lw $v1, 0x80($s0) +/* CC5E10 80242600 0043102A */ slt $v0, $v0, $v1 +/* CC5E14 80242604 14400004 */ bnez $v0, .L80242618 +/* CC5E18 80242608 00000000 */ nop +/* CC5E1C 8024260C 96020086 */ lhu $v0, 0x86($s0) +/* CC5E20 80242610 A48200A8 */ sh $v0, 0xa8($a0) +/* CC5E24 80242614 AE200070 */ sw $zero, 0x70($s1) +.L80242618: +/* CC5E28 80242618 8FBF0018 */ lw $ra, 0x18($sp) +/* CC5E2C 8024261C 8FB10014 */ lw $s1, 0x14($sp) +/* CC5E30 80242620 8FB00010 */ lw $s0, 0x10($sp) +/* CC5E34 80242624 03E00008 */ jr $ra +/* CC5E38 80242628 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_8024262C.s b/asm/nonmatchings/world/area_flo/flo_13/func_8024262C.s new file mode 100644 index 0000000000..78eea4ea3e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_8024262C.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024262C +/* CC5E3C 8024262C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* CC5E40 80242630 AFB3005C */ sw $s3, 0x5c($sp) +/* CC5E44 80242634 0080982D */ daddu $s3, $a0, $zero +/* CC5E48 80242638 AFBF0068 */ sw $ra, 0x68($sp) +/* CC5E4C 8024263C AFB50064 */ sw $s5, 0x64($sp) +/* CC5E50 80242640 AFB40060 */ sw $s4, 0x60($sp) +/* CC5E54 80242644 AFB20058 */ sw $s2, 0x58($sp) +/* CC5E58 80242648 AFB10054 */ sw $s1, 0x54($sp) +/* CC5E5C 8024264C AFB00050 */ sw $s0, 0x50($sp) +/* CC5E60 80242650 8E710148 */ lw $s1, 0x148($s3) +/* CC5E64 80242654 86240008 */ lh $a0, 8($s1) +/* CC5E68 80242658 0C00EABB */ jal get_npc_unsafe +/* CC5E6C 8024265C 00A0802D */ daddu $s0, $a1, $zero +/* CC5E70 80242660 8E63000C */ lw $v1, 0xc($s3) +/* CC5E74 80242664 0260202D */ daddu $a0, $s3, $zero +/* CC5E78 80242668 8C650000 */ lw $a1, ($v1) +/* CC5E7C 8024266C 0C0B1EAF */ jal get_variable +/* CC5E80 80242670 0040902D */ daddu $s2, $v0, $zero +/* CC5E84 80242674 AFA00028 */ sw $zero, 0x28($sp) +/* CC5E88 80242678 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5E8C 8024267C 8C630030 */ lw $v1, 0x30($v1) +/* CC5E90 80242680 AFA3002C */ sw $v1, 0x2c($sp) +/* CC5E94 80242684 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5E98 80242688 8C63001C */ lw $v1, 0x1c($v1) +/* CC5E9C 8024268C AFA30030 */ sw $v1, 0x30($sp) +/* CC5EA0 80242690 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5EA4 80242694 8C630024 */ lw $v1, 0x24($v1) +/* CC5EA8 80242698 AFA30034 */ sw $v1, 0x34($sp) +/* CC5EAC 8024269C 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5EB0 802426A0 8C630028 */ lw $v1, 0x28($v1) +/* CC5EB4 802426A4 27B50028 */ addiu $s5, $sp, 0x28 +/* CC5EB8 802426A8 AFA30038 */ sw $v1, 0x38($sp) +/* CC5EBC 802426AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* CC5EC0 802426B0 3C0142C8 */ lui $at, 0x42c8 +/* CC5EC4 802426B4 44810000 */ mtc1 $at, $f0 +/* CC5EC8 802426B8 8C63002C */ lw $v1, 0x2c($v1) +/* CC5ECC 802426BC 0040A02D */ daddu $s4, $v0, $zero +/* CC5ED0 802426C0 E7A00040 */ swc1 $f0, 0x40($sp) +/* CC5ED4 802426C4 A7A00044 */ sh $zero, 0x44($sp) +/* CC5ED8 802426C8 12000009 */ beqz $s0, .L802426F0 +/* CC5EDC 802426CC AFA3003C */ sw $v1, 0x3c($sp) +/* CC5EE0 802426D0 864300A8 */ lh $v1, 0xa8($s2) +/* CC5EE4 802426D4 8E2200B0 */ lw $v0, 0xb0($s1) +/* CC5EE8 802426D8 AE20008C */ sw $zero, 0x8c($s1) +/* CC5EEC 802426DC A22000B5 */ sb $zero, 0xb5($s1) +/* CC5EF0 802426E0 34420008 */ ori $v0, $v0, 8 +/* CC5EF4 802426E4 AE230084 */ sw $v1, 0x84($s1) +/* CC5EF8 802426E8 080909C0 */ j .L80242700 +/* CC5EFC 802426EC AE2200B0 */ sw $v0, 0xb0($s1) +.L802426F0: +/* CC5F00 802426F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* CC5F04 802426F4 30420004 */ andi $v0, $v0, 4 +/* CC5F08 802426F8 10400047 */ beqz $v0, .L80242818 +/* CC5F0C 802426FC 00000000 */ nop +.L80242700: +/* CC5F10 80242700 AE600070 */ sw $zero, 0x70($s3) +/* CC5F14 80242704 A640008E */ sh $zero, 0x8e($s2) +/* CC5F18 80242708 8E2300CC */ lw $v1, 0xcc($s1) +/* CC5F1C 8024270C 2404F7FF */ addiu $a0, $zero, -0x801 +/* CC5F20 80242710 A2200007 */ sb $zero, 7($s1) +/* CC5F24 80242714 8E420000 */ lw $v0, ($s2) +/* CC5F28 80242718 8C630000 */ lw $v1, ($v1) +/* CC5F2C 8024271C 00441024 */ and $v0, $v0, $a0 +/* CC5F30 80242720 AE420000 */ sw $v0, ($s2) +/* CC5F34 80242724 AE430028 */ sw $v1, 0x28($s2) +/* CC5F38 80242728 96220086 */ lhu $v0, 0x86($s1) +/* CC5F3C 8024272C A64200A8 */ sh $v0, 0xa8($s2) +/* CC5F40 80242730 8E2200D0 */ lw $v0, 0xd0($s1) +/* CC5F44 80242734 AE200090 */ sw $zero, 0x90($s1) +/* CC5F48 80242738 8C420034 */ lw $v0, 0x34($v0) +/* CC5F4C 8024273C 14400006 */ bnez $v0, .L80242758 +/* CC5F50 80242740 2403FDFF */ addiu $v1, $zero, -0x201 +/* CC5F54 80242744 8E420000 */ lw $v0, ($s2) +/* CC5F58 80242748 2403FFF7 */ addiu $v1, $zero, -9 +/* CC5F5C 8024274C 34420200 */ ori $v0, $v0, 0x200 +/* CC5F60 80242750 080909D9 */ j .L80242764 +/* CC5F64 80242754 00431024 */ and $v0, $v0, $v1 +.L80242758: +/* CC5F68 80242758 8E420000 */ lw $v0, ($s2) +/* CC5F6C 8024275C 00431024 */ and $v0, $v0, $v1 +/* CC5F70 80242760 34420008 */ ori $v0, $v0, 8 +.L80242764: +/* CC5F74 80242764 AE420000 */ sw $v0, ($s2) +/* CC5F78 80242768 8E2200B0 */ lw $v0, 0xb0($s1) +/* CC5F7C 8024276C 30420004 */ andi $v0, $v0, 4 +/* CC5F80 80242770 1040001E */ beqz $v0, .L802427EC +/* CC5F84 80242774 24040002 */ addiu $a0, $zero, 2 +/* CC5F88 80242778 0240282D */ daddu $a1, $s2, $zero +/* CC5F8C 8024277C 0000302D */ daddu $a2, $zero, $zero +/* CC5F90 80242780 24020063 */ addiu $v0, $zero, 0x63 +/* CC5F94 80242784 AE620070 */ sw $v0, 0x70($s3) +/* CC5F98 80242788 AE600074 */ sw $zero, 0x74($s3) +/* CC5F9C 8024278C 864300A8 */ lh $v1, 0xa8($s2) +/* CC5FA0 80242790 3C013F80 */ lui $at, 0x3f80 +/* CC5FA4 80242794 44810000 */ mtc1 $at, $f0 +/* CC5FA8 80242798 3C014000 */ lui $at, 0x4000 +/* CC5FAC 8024279C 44811000 */ mtc1 $at, $f2 +/* CC5FB0 802427A0 3C01C1A0 */ lui $at, 0xc1a0 +/* CC5FB4 802427A4 44812000 */ mtc1 $at, $f4 +/* CC5FB8 802427A8 24020028 */ addiu $v0, $zero, 0x28 +/* CC5FBC 802427AC AFA2001C */ sw $v0, 0x1c($sp) +/* CC5FC0 802427B0 44833000 */ mtc1 $v1, $f6 +/* CC5FC4 802427B4 00000000 */ nop +/* CC5FC8 802427B8 468031A0 */ cvt.s.w $f6, $f6 +/* CC5FCC 802427BC 44073000 */ mfc1 $a3, $f6 +/* CC5FD0 802427C0 27A20048 */ addiu $v0, $sp, 0x48 +/* CC5FD4 802427C4 AFA20020 */ sw $v0, 0x20($sp) +/* CC5FD8 802427C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC5FDC 802427CC E7A20014 */ swc1 $f2, 0x14($sp) +/* CC5FE0 802427D0 0C01BFA4 */ jal fx_emote +/* CC5FE4 802427D4 E7A40018 */ swc1 $f4, 0x18($sp) +/* CC5FE8 802427D8 8E2200B0 */ lw $v0, 0xb0($s1) +/* CC5FEC 802427DC 2403FFFB */ addiu $v1, $zero, -5 +/* CC5FF0 802427E0 00431024 */ and $v0, $v0, $v1 +/* CC5FF4 802427E4 08090A06 */ j .L80242818 +/* CC5FF8 802427E8 AE2200B0 */ sw $v0, 0xb0($s1) +.L802427EC: +/* CC5FFC 802427EC 8E220000 */ lw $v0, ($s1) +/* CC6000 802427F0 3C034000 */ lui $v1, 0x4000 +/* CC6004 802427F4 00431024 */ and $v0, $v0, $v1 +/* CC6008 802427F8 10400007 */ beqz $v0, .L80242818 +/* CC600C 802427FC 3C03BFFF */ lui $v1, 0xbfff +/* CC6010 80242800 2402000C */ addiu $v0, $zero, 0xc +/* CC6014 80242804 AE620070 */ sw $v0, 0x70($s3) +/* CC6018 80242808 8E220000 */ lw $v0, ($s1) +/* CC601C 8024280C 3463FFFF */ ori $v1, $v1, 0xffff +/* CC6020 80242810 00431024 */ and $v0, $v0, $v1 +/* CC6024 80242814 AE220000 */ sw $v0, ($s1) +.L80242818: +/* CC6028 80242818 8E220090 */ lw $v0, 0x90($s1) +/* CC602C 8024281C 1840000C */ blez $v0, .L80242850 +/* CC6030 80242820 2442FFFF */ addiu $v0, $v0, -1 +/* CC6034 80242824 14400087 */ bnez $v0, .L80242A44 +/* CC6038 80242828 AE220090 */ sw $v0, 0x90($s1) +/* CC603C 8024282C 3C03FFAA */ lui $v1, 0xffaa +/* CC6040 80242830 8E420028 */ lw $v0, 0x28($s2) +/* CC6044 80242834 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* CC6048 80242838 00431021 */ addu $v0, $v0, $v1 +/* CC604C 8024283C 2C420002 */ sltiu $v0, $v0, 2 +/* CC6050 80242840 10400003 */ beqz $v0, .L80242850 +/* CC6054 80242844 3C020055 */ lui $v0, 0x55 +/* CC6058 80242848 3442000C */ ori $v0, $v0, 0xc +/* CC605C 8024284C AE420028 */ sw $v0, 0x28($s2) +.L80242850: +/* CC6060 80242850 8E630070 */ lw $v1, 0x70($s3) +/* CC6064 80242854 2402000C */ addiu $v0, $zero, 0xc +/* CC6068 80242858 10620048 */ beq $v1, $v0, .L8024297C +/* CC606C 8024285C 2862000D */ slti $v0, $v1, 0xd +/* CC6070 80242860 1040000F */ beqz $v0, .L802428A0 +/* CC6074 80242864 24100001 */ addiu $s0, $zero, 1 +/* CC6078 80242868 1070001E */ beq $v1, $s0, .L802428E4 +/* CC607C 8024286C 28620002 */ slti $v0, $v1, 2 +/* CC6080 80242870 10400005 */ beqz $v0, .L80242888 +/* CC6084 80242874 24020002 */ addiu $v0, $zero, 2 +/* CC6088 80242878 10600015 */ beqz $v1, .L802428D0 +/* CC608C 8024287C 0260202D */ daddu $a0, $s3, $zero +/* CC6090 80242880 08090A76 */ j .L802429D8 +/* CC6094 80242884 00000000 */ nop +.L80242888: +/* CC6098 80242888 1062001C */ beq $v1, $v0, .L802428FC +/* CC609C 8024288C 24020003 */ addiu $v0, $zero, 3 +/* CC60A0 80242890 10620035 */ beq $v1, $v0, .L80242968 +/* CC60A4 80242894 0260202D */ daddu $a0, $s3, $zero +/* CC60A8 80242898 08090A76 */ j .L802429D8 +/* CC60AC 8024289C 00000000 */ nop +.L802428A0: +/* CC60B0 802428A0 2402000E */ addiu $v0, $zero, 0xe +/* CC60B4 802428A4 1062003F */ beq $v1, $v0, .L802429A4 +/* CC60B8 802428A8 0062102A */ slt $v0, $v1, $v0 +/* CC60BC 802428AC 14400038 */ bnez $v0, .L80242990 +/* CC60C0 802428B0 0260202D */ daddu $a0, $s3, $zero +/* CC60C4 802428B4 2402000F */ addiu $v0, $zero, 0xf +/* CC60C8 802428B8 10620040 */ beq $v1, $v0, .L802429BC +/* CC60CC 802428BC 24020063 */ addiu $v0, $zero, 0x63 +/* CC60D0 802428C0 10620043 */ beq $v1, $v0, .L802429D0 +/* CC60D4 802428C4 00000000 */ nop +/* CC60D8 802428C8 08090A76 */ j .L802429D8 +/* CC60DC 802428CC 00000000 */ nop +.L802428D0: +/* CC60E0 802428D0 0280282D */ daddu $a1, $s4, $zero +/* CC60E4 802428D4 0C012568 */ jal func_800495A0 +/* CC60E8 802428D8 02A0302D */ daddu $a2, $s5, $zero +/* CC60EC 802428DC 96220086 */ lhu $v0, 0x86($s1) +/* CC60F0 802428E0 A64200A8 */ sh $v0, 0xa8($s2) +.L802428E4: +/* CC60F4 802428E4 0260202D */ daddu $a0, $s3, $zero +/* CC60F8 802428E8 0280282D */ daddu $a1, $s4, $zero +/* CC60FC 802428EC 0C0125AE */ jal func_800496B8 +/* CC6100 802428F0 02A0302D */ daddu $a2, $s5, $zero +/* CC6104 802428F4 08090A76 */ j .L802429D8 +/* CC6108 802428F8 00000000 */ nop +.L802428FC: +/* CC610C 802428FC 0260202D */ daddu $a0, $s3, $zero +/* CC6110 80242900 0280282D */ daddu $a1, $s4, $zero +/* CC6114 80242904 0C0126D1 */ jal func_80049B44 +/* CC6118 80242908 02A0302D */ daddu $a2, $s5, $zero +/* CC611C 8024290C 8E230088 */ lw $v1, 0x88($s1) +/* CC6120 80242910 24020006 */ addiu $v0, $zero, 6 +/* CC6124 80242914 14620014 */ bne $v1, $v0, .L80242968 +/* CC6128 80242918 0260202D */ daddu $a0, $s3, $zero +/* CC612C 8024291C 0C00A67F */ jal rand_int +/* CC6130 80242920 24040064 */ addiu $a0, $zero, 0x64 +/* CC6134 80242924 28420021 */ slti $v0, $v0, 0x21 +/* CC6138 80242928 5040000F */ beql $v0, $zero, .L80242968 +/* CC613C 8024292C 0260202D */ daddu $a0, $s3, $zero +/* CC6140 80242930 8E22008C */ lw $v0, 0x8c($s1) +/* CC6144 80242934 10400005 */ beqz $v0, .L8024294C +/* CC6148 80242938 3C020055 */ lui $v0, 0x55 +/* CC614C 8024293C 3442002F */ ori $v0, $v0, 0x2f +/* CC6150 80242940 AE20008C */ sw $zero, 0x8c($s1) +/* CC6154 80242944 08090A56 */ j .L80242958 +/* CC6158 80242948 A22000B5 */ sb $zero, 0xb5($s1) +.L8024294C: +/* CC615C 8024294C 3442002E */ ori $v0, $v0, 0x2e +/* CC6160 80242950 AE30008C */ sw $s0, 0x8c($s1) +/* CC6164 80242954 A23000B5 */ sb $s0, 0xb5($s1) +.L80242958: +/* CC6168 80242958 AE420028 */ sw $v0, 0x28($s2) +/* CC616C 8024295C 24020007 */ addiu $v0, $zero, 7 +/* CC6170 80242960 08090A91 */ j .L80242A44 +/* CC6174 80242964 AE220090 */ sw $v0, 0x90($s1) +.L80242968: +/* CC6178 80242968 0280282D */ daddu $a1, $s4, $zero +/* CC617C 8024296C 0C012701 */ jal func_80049C04 +/* CC6180 80242970 02A0302D */ daddu $a2, $s5, $zero +/* CC6184 80242974 08090A76 */ j .L802429D8 +/* CC6188 80242978 00000000 */ nop +.L8024297C: +/* CC618C 8024297C 0260202D */ daddu $a0, $s3, $zero +/* CC6190 80242980 0280282D */ daddu $a1, $s4, $zero +/* CC6194 80242984 0C0908A6 */ jal func_80242298 +/* CC6198 80242988 02A0302D */ daddu $a2, $s5, $zero +/* CC619C 8024298C 0260202D */ daddu $a0, $s3, $zero +.L80242990: +/* CC61A0 80242990 0280282D */ daddu $a1, $s4, $zero +/* CC61A4 80242994 0C0908C5 */ jal func_80242314 +/* CC61A8 80242998 02A0302D */ daddu $a2, $s5, $zero +/* CC61AC 8024299C 08090A76 */ j .L802429D8 +/* CC61B0 802429A0 00000000 */ nop +.L802429A4: +/* CC61B4 802429A4 0260202D */ daddu $a0, $s3, $zero +/* CC61B8 802429A8 0280282D */ daddu $a1, $s4, $zero +/* CC61BC 802429AC 0C090912 */ jal func_80242448 +/* CC61C0 802429B0 02A0302D */ daddu $a2, $s5, $zero +/* CC61C4 802429B4 08090A76 */ j .L802429D8 +/* CC61C8 802429B8 00000000 */ nop +.L802429BC: +/* CC61CC 802429BC 0280282D */ daddu $a1, $s4, $zero +/* CC61D0 802429C0 0C09096B */ jal func_802425AC +/* CC61D4 802429C4 02A0302D */ daddu $a2, $s5, $zero +/* CC61D8 802429C8 08090A76 */ j .L802429D8 +/* CC61DC 802429CC 00000000 */ nop +.L802429D0: +/* CC61E0 802429D0 0C0129CF */ jal func_8004A73C +/* CC61E4 802429D4 0260202D */ daddu $a0, $s3, $zero +.L802429D8: +/* CC61E8 802429D8 8E230088 */ lw $v1, 0x88($s1) +/* CC61EC 802429DC 24020006 */ addiu $v0, $zero, 6 +/* CC61F0 802429E0 14620019 */ bne $v1, $v0, .L80242A48 +/* CC61F4 802429E4 0000102D */ daddu $v0, $zero, $zero +/* CC61F8 802429E8 8E22008C */ lw $v0, 0x8c($s1) +/* CC61FC 802429EC 10400003 */ beqz $v0, .L802429FC +/* CC6200 802429F0 24020001 */ addiu $v0, $zero, 1 +/* CC6204 802429F4 08090A80 */ j .L80242A00 +/* CC6208 802429F8 A22200B5 */ sb $v0, 0xb5($s1) +.L802429FC: +/* CC620C 802429FC A22000B5 */ sb $zero, 0xb5($s1) +.L80242A00: +/* CC6210 80242A00 8E22008C */ lw $v0, 0x8c($s1) +/* CC6214 80242A04 1040000F */ beqz $v0, .L80242A44 +/* CC6218 80242A08 3C03FFAA */ lui $v1, 0xffaa +/* CC621C 80242A0C 8E420028 */ lw $v0, 0x28($s2) +/* CC6220 80242A10 3463FFFC */ ori $v1, $v1, 0xfffc +/* CC6224 80242A14 00431821 */ addu $v1, $v0, $v1 +/* CC6228 80242A18 2C620015 */ sltiu $v0, $v1, 0x15 +/* CC622C 80242A1C 10400009 */ beqz $v0, .L80242A44 +/* CC6230 80242A20 00031080 */ sll $v0, $v1, 2 +/* CC6234 80242A24 3C018024 */ lui $at, 0x8024 +/* CC6238 80242A28 00220821 */ addu $at, $at, $v0 +/* CC623C 80242A2C 8C227A90 */ lw $v0, 0x7a90($at) +/* CC6240 80242A30 00400008 */ jr $v0 +/* CC6244 80242A34 00000000 */ nop +/* CC6248 80242A38 8E420028 */ lw $v0, 0x28($s2) +/* CC624C 80242A3C 24420001 */ addiu $v0, $v0, 1 +/* CC6250 80242A40 AE420028 */ sw $v0, 0x28($s2) +.L80242A44: +/* CC6254 80242A44 0000102D */ daddu $v0, $zero, $zero +.L80242A48: +/* CC6258 80242A48 8FBF0068 */ lw $ra, 0x68($sp) +/* CC625C 80242A4C 8FB50064 */ lw $s5, 0x64($sp) +/* CC6260 80242A50 8FB40060 */ lw $s4, 0x60($sp) +/* CC6264 80242A54 8FB3005C */ lw $s3, 0x5c($sp) +/* CC6268 80242A58 8FB20058 */ lw $s2, 0x58($sp) +/* CC626C 80242A5C 8FB10054 */ lw $s1, 0x54($sp) +/* CC6270 80242A60 8FB00050 */ lw $s0, 0x50($sp) +/* CC6274 80242A64 03E00008 */ jr $ra +/* CC6278 80242A68 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80242A6C_CC3810.s b/asm/nonmatchings/world/area_flo/flo_13/func_80242A6C_CC3810.s new file mode 100644 index 0000000000..40edf5314a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80242A6C_CC3810.s @@ -0,0 +1,616 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A6C_CC627C +/* CC627C 80242A6C 27BDFF68 */ addiu $sp, $sp, -0x98 +/* CC6280 80242A70 AFB5007C */ sw $s5, 0x7c($sp) +/* CC6284 80242A74 0080A82D */ daddu $s5, $a0, $zero +/* CC6288 80242A78 AFBF0080 */ sw $ra, 0x80($sp) +/* CC628C 80242A7C AFB40078 */ sw $s4, 0x78($sp) +/* CC6290 80242A80 AFB30074 */ sw $s3, 0x74($sp) +/* CC6294 80242A84 AFB20070 */ sw $s2, 0x70($sp) +/* CC6298 80242A88 AFB1006C */ sw $s1, 0x6c($sp) +/* CC629C 80242A8C AFB00068 */ sw $s0, 0x68($sp) +/* CC62A0 80242A90 F7B60090 */ sdc1 $f22, 0x90($sp) +/* CC62A4 80242A94 F7B40088 */ sdc1 $f20, 0x88($sp) +/* CC62A8 80242A98 8EB20148 */ lw $s2, 0x148($s5) +/* CC62AC 80242A9C 86440008 */ lh $a0, 8($s2) +/* CC62B0 80242AA0 0C00EABB */ jal get_npc_unsafe +/* CC62B4 80242AA4 00A0802D */ daddu $s0, $a1, $zero +/* CC62B8 80242AA8 8EA3000C */ lw $v1, 0xc($s5) +/* CC62BC 80242AAC 02A0202D */ daddu $a0, $s5, $zero +/* CC62C0 80242AB0 8C650000 */ lw $a1, ($v1) +/* CC62C4 80242AB4 0C0B1EAF */ jal get_variable +/* CC62C8 80242AB8 0040882D */ daddu $s1, $v0, $zero +/* CC62CC 80242ABC AFA00028 */ sw $zero, 0x28($sp) +/* CC62D0 80242AC0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC62D4 80242AC4 8C630030 */ lw $v1, 0x30($v1) +/* CC62D8 80242AC8 AFA3002C */ sw $v1, 0x2c($sp) +/* CC62DC 80242ACC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC62E0 80242AD0 8C63001C */ lw $v1, 0x1c($v1) +/* CC62E4 80242AD4 AFA30030 */ sw $v1, 0x30($sp) +/* CC62E8 80242AD8 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC62EC 80242ADC 8C630024 */ lw $v1, 0x24($v1) +/* CC62F0 80242AE0 AFA30034 */ sw $v1, 0x34($sp) +/* CC62F4 80242AE4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC62F8 80242AE8 8C630028 */ lw $v1, 0x28($v1) +/* CC62FC 80242AEC 27B40028 */ addiu $s4, $sp, 0x28 +/* CC6300 80242AF0 AFA30038 */ sw $v1, 0x38($sp) +/* CC6304 80242AF4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CC6308 80242AF8 3C014282 */ lui $at, 0x4282 +/* CC630C 80242AFC 44810000 */ mtc1 $at, $f0 +/* CC6310 80242B00 8C63002C */ lw $v1, 0x2c($v1) +/* CC6314 80242B04 0040982D */ daddu $s3, $v0, $zero +/* CC6318 80242B08 E7A00040 */ swc1 $f0, 0x40($sp) +/* CC631C 80242B0C A7A00044 */ sh $zero, 0x44($sp) +/* CC6320 80242B10 12000007 */ beqz $s0, .L80242B30 +/* CC6324 80242B14 AFA3003C */ sw $v1, 0x3c($sp) +/* CC6328 80242B18 8E4200B0 */ lw $v0, 0xb0($s2) +/* CC632C 80242B1C 862300A8 */ lh $v1, 0xa8($s1) +/* CC6330 80242B20 34420008 */ ori $v0, $v0, 8 +/* CC6334 80242B24 AE430084 */ sw $v1, 0x84($s2) +/* CC6338 80242B28 08090AD0 */ j .L80242B40 +/* CC633C 80242B2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80242B30: +/* CC6340 80242B30 8E430094 */ lw $v1, 0x94($s2) +/* CC6344 80242B34 24020064 */ addiu $v0, $zero, 0x64 +/* CC6348 80242B38 1462001C */ bne $v1, $v0, .L80242BAC +/* CC634C 80242B3C 00000000 */ nop +.L80242B40: +/* CC6350 80242B40 24020064 */ addiu $v0, $zero, 0x64 +/* CC6354 80242B44 2404F7FF */ addiu $a0, $zero, -0x801 +/* CC6358 80242B48 AEA20070 */ sw $v0, 0x70($s5) +/* CC635C 80242B4C A620008E */ sh $zero, 0x8e($s1) +/* CC6360 80242B50 8E4300CC */ lw $v1, 0xcc($s2) +/* CC6364 80242B54 8E220000 */ lw $v0, ($s1) +/* CC6368 80242B58 3C01C47A */ lui $at, 0xc47a +/* CC636C 80242B5C 44810000 */ mtc1 $at, $f0 +/* CC6370 80242B60 8C630000 */ lw $v1, ($v1) +/* CC6374 80242B64 00441024 */ and $v0, $v0, $a0 +/* CC6378 80242B68 AE220000 */ sw $v0, ($s1) +/* CC637C 80242B6C AE230028 */ sw $v1, 0x28($s1) +/* CC6380 80242B70 8E420000 */ lw $v0, ($s2) +/* CC6384 80242B74 3C030020 */ lui $v1, 0x20 +/* CC6388 80242B78 00431025 */ or $v0, $v0, $v1 +/* CC638C 80242B7C AE420000 */ sw $v0, ($s2) +/* CC6390 80242B80 8E220000 */ lw $v0, ($s1) +/* CC6394 80242B84 2403FDFF */ addiu $v1, $zero, -0x201 +/* CC6398 80242B88 00431024 */ and $v0, $v0, $v1 +/* CC639C 80242B8C 34420008 */ ori $v0, $v0, 8 +/* CC63A0 80242B90 AE220000 */ sw $v0, ($s1) +/* CC63A4 80242B94 2402FFFF */ addiu $v0, $zero, -1 +/* CC63A8 80242B98 AE400094 */ sw $zero, 0x94($s2) +/* CC63AC 80242B9C AE420098 */ sw $v0, 0x98($s2) +/* CC63B0 80242BA0 AE200038 */ sw $zero, 0x38($s1) +/* CC63B4 80242BA4 E620003C */ swc1 $f0, 0x3c($s1) +/* CC63B8 80242BA8 AE200040 */ sw $zero, 0x40($s1) +.L80242BAC: +/* CC63BC 80242BAC 8E4200B0 */ lw $v0, 0xb0($s2) +/* CC63C0 80242BB0 30420004 */ andi $v0, $v0, 4 +/* CC63C4 80242BB4 10400030 */ beqz $v0, .L80242C78 +/* CC63C8 80242BB8 2403FFFB */ addiu $v1, $zero, -5 +/* CC63CC 80242BBC A620008E */ sh $zero, 0x8e($s1) +/* CC63D0 80242BC0 96420086 */ lhu $v0, 0x86($s2) +/* CC63D4 80242BC4 A62200A8 */ sh $v0, 0xa8($s1) +/* CC63D8 80242BC8 8E4200B0 */ lw $v0, 0xb0($s2) +/* CC63DC 80242BCC 00431024 */ and $v0, $v0, $v1 +/* CC63E0 80242BD0 AE4200B0 */ sw $v0, 0xb0($s2) +/* CC63E4 80242BD4 8E220000 */ lw $v0, ($s1) +/* CC63E8 80242BD8 30420800 */ andi $v0, $v0, 0x800 +/* CC63EC 80242BDC 1040000A */ beqz $v0, .L80242C08 +/* CC63F0 80242BE0 3C02004A */ lui $v0, 0x4a +/* CC63F4 80242BE4 3C013F80 */ lui $at, 0x3f80 +/* CC63F8 80242BE8 44810000 */ mtc1 $at, $f0 +/* CC63FC 80242BEC 34420018 */ ori $v0, $v0, 0x18 +/* CC6400 80242BF0 AE220028 */ sw $v0, 0x28($s1) +/* CC6404 80242BF4 24020066 */ addiu $v0, $zero, 0x66 +/* CC6408 80242BF8 AE200018 */ sw $zero, 0x18($s1) +/* CC640C 80242BFC AE20001C */ sw $zero, 0x1c($s1) +/* CC6410 80242C00 08090B1D */ j .L80242C74 +/* CC6414 80242C04 E6200014 */ swc1 $f0, 0x14($s1) +.L80242C08: +/* CC6418 80242C08 24040002 */ addiu $a0, $zero, 2 +/* CC641C 80242C0C 0220282D */ daddu $a1, $s1, $zero +/* CC6420 80242C10 0000302D */ daddu $a2, $zero, $zero +/* CC6424 80242C14 862300A8 */ lh $v1, 0xa8($s1) +/* CC6428 80242C18 3C013F80 */ lui $at, 0x3f80 +/* CC642C 80242C1C 44810000 */ mtc1 $at, $f0 +/* CC6430 80242C20 3C014000 */ lui $at, 0x4000 +/* CC6434 80242C24 44811000 */ mtc1 $at, $f2 +/* CC6438 80242C28 3C01C1A0 */ lui $at, 0xc1a0 +/* CC643C 80242C2C 44812000 */ mtc1 $at, $f4 +/* CC6440 80242C30 24020028 */ addiu $v0, $zero, 0x28 +/* CC6444 80242C34 AFA2001C */ sw $v0, 0x1c($sp) +/* CC6448 80242C38 44834000 */ mtc1 $v1, $f8 +/* CC644C 80242C3C 00000000 */ nop +/* CC6450 80242C40 46804220 */ cvt.s.w $f8, $f8 +/* CC6454 80242C44 44074000 */ mfc1 $a3, $f8 +/* CC6458 80242C48 27A20048 */ addiu $v0, $sp, 0x48 +/* CC645C 80242C4C AFA20020 */ sw $v0, 0x20($sp) +/* CC6460 80242C50 E7A00010 */ swc1 $f0, 0x10($sp) +/* CC6464 80242C54 E7A20014 */ swc1 $f2, 0x14($sp) +/* CC6468 80242C58 0C01BFA4 */ jal fx_emote +/* CC646C 80242C5C E7A40018 */ swc1 $f4, 0x18($sp) +/* CC6470 80242C60 8E4200CC */ lw $v0, 0xcc($s2) +/* CC6474 80242C64 8C420000 */ lw $v0, ($v0) +/* CC6478 80242C68 AE220028 */ sw $v0, 0x28($s1) +/* CC647C 80242C6C 240200C8 */ addiu $v0, $zero, 0xc8 +/* CC6480 80242C70 AEA00074 */ sw $zero, 0x74($s5) +.L80242C74: +/* CC6484 80242C74 AEA20070 */ sw $v0, 0x70($s5) +.L80242C78: +/* CC6488 80242C78 27A2004C */ addiu $v0, $sp, 0x4c +/* CC648C 80242C7C AFA20010 */ sw $v0, 0x10($sp) +/* CC6490 80242C80 27A20050 */ addiu $v0, $sp, 0x50 +/* CC6494 80242C84 AFA20014 */ sw $v0, 0x14($sp) +/* CC6498 80242C88 27A20054 */ addiu $v0, $sp, 0x54 +/* CC649C 80242C8C AFA20018 */ sw $v0, 0x18($sp) +/* CC64A0 80242C90 8E250038 */ lw $a1, 0x38($s1) +/* CC64A4 80242C94 8E26003C */ lw $a2, 0x3c($s1) +/* CC64A8 80242C98 8E270040 */ lw $a3, 0x40($s1) +/* CC64AC 80242C9C 0C00B94E */ jal get_screen_coords +/* CC64B0 80242CA0 0000202D */ daddu $a0, $zero, $zero +/* CC64B4 80242CA4 8EA20070 */ lw $v0, 0x70($s5) +/* CC64B8 80242CA8 28420064 */ slti $v0, $v0, 0x64 +/* CC64BC 80242CAC 10400007 */ beqz $v0, .L80242CCC +/* CC64C0 80242CB0 00000000 */ nop +/* CC64C4 80242CB4 8FA2004C */ lw $v0, 0x4c($sp) +/* CC64C8 80242CB8 24420032 */ addiu $v0, $v0, 0x32 +/* CC64CC 80242CBC 2C4201A5 */ sltiu $v0, $v0, 0x1a5 +/* CC64D0 80242CC0 14400002 */ bnez $v0, .L80242CCC +/* CC64D4 80242CC4 2402006E */ addiu $v0, $zero, 0x6e +/* CC64D8 80242CC8 AEA20070 */ sw $v0, 0x70($s5) +.L80242CCC: +/* CC64DC 80242CCC 8EA30070 */ lw $v1, 0x70($s5) +/* CC64E0 80242CD0 2402000F */ addiu $v0, $zero, 0xf +/* CC64E4 80242CD4 1062006B */ beq $v1, $v0, .L80242E84 +/* CC64E8 80242CD8 28620010 */ slti $v0, $v1, 0x10 +/* CC64EC 80242CDC 10400016 */ beqz $v0, .L80242D38 +/* CC64F0 80242CE0 24020003 */ addiu $v0, $zero, 3 +/* CC64F4 80242CE4 10620051 */ beq $v1, $v0, .L80242E2C +/* CC64F8 80242CE8 28620004 */ slti $v0, $v1, 4 +/* CC64FC 80242CEC 10400009 */ beqz $v0, .L80242D14 +/* CC6500 80242CF0 24020001 */ addiu $v0, $zero, 1 +/* CC6504 80242CF4 10620044 */ beq $v1, $v0, .L80242E08 +/* CC6508 80242CF8 28620002 */ slti $v0, $v1, 2 +/* CC650C 80242CFC 50400048 */ beql $v0, $zero, .L80242E20 +/* CC6510 80242D00 02A0202D */ daddu $a0, $s5, $zero +/* CC6514 80242D04 50600027 */ beql $v1, $zero, .L80242DA4 +/* CC6518 80242D08 02A0202D */ daddu $a0, $s5, $zero +/* CC651C 80242D0C 08090CCE */ j .L80243338 +/* CC6520 80242D10 00000000 */ nop +.L80242D14: +/* CC6524 80242D14 2402000D */ addiu $v0, $zero, 0xd +/* CC6528 80242D18 1062004D */ beq $v1, $v0, .L80242E50 +/* CC652C 80242D1C 2862000E */ slti $v0, $v1, 0xe +/* CC6530 80242D20 10400052 */ beqz $v0, .L80242E6C +/* CC6534 80242D24 2402000C */ addiu $v0, $zero, 0xc +/* CC6538 80242D28 10620046 */ beq $v1, $v0, .L80242E44 +/* CC653C 80242D2C 02A0202D */ daddu $a0, $s5, $zero +/* CC6540 80242D30 08090CCE */ j .L80243338 +/* CC6544 80242D34 00000000 */ nop +.L80242D38: +/* CC6548 80242D38 24020067 */ addiu $v0, $zero, 0x67 +/* CC654C 80242D3C 10620158 */ beq $v1, $v0, .L802432A0 +/* CC6550 80242D40 28620068 */ slti $v0, $v1, 0x68 +/* CC6554 80242D44 10400009 */ beqz $v0, .L80242D6C +/* CC6558 80242D48 24020065 */ addiu $v0, $zero, 0x65 +/* CC655C 80242D4C 1062008F */ beq $v1, $v0, .L80242F8C +/* CC6560 80242D50 28620066 */ slti $v0, $v1, 0x66 +/* CC6564 80242D54 104000A9 */ beqz $v0, .L80242FFC +/* CC6568 80242D58 24020064 */ addiu $v0, $zero, 0x64 +/* CC656C 80242D5C 1062004F */ beq $v1, $v0, .L80242E9C +/* CC6570 80242D60 24020002 */ addiu $v0, $zero, 2 +/* CC6574 80242D64 08090CCE */ j .L80243338 +/* CC6578 80242D68 00000000 */ nop +.L80242D6C: +/* CC657C 80242D6C 2404006F */ addiu $a0, $zero, 0x6f +/* CC6580 80242D70 10640166 */ beq $v1, $a0, .L8024330C +/* CC6584 80242D74 28620070 */ slti $v0, $v1, 0x70 +/* CC6588 80242D78 10400005 */ beqz $v0, .L80242D90 +/* CC658C 80242D7C 2402006E */ addiu $v0, $zero, 0x6e +/* CC6590 80242D80 10620156 */ beq $v1, $v0, .L802432DC +/* CC6594 80242D84 2402001E */ addiu $v0, $zero, 0x1e +/* CC6598 80242D88 08090CCE */ j .L80243338 +/* CC659C 80242D8C 00000000 */ nop +.L80242D90: +/* CC65A0 80242D90 240200C8 */ addiu $v0, $zero, 0xc8 +/* CC65A4 80242D94 10620166 */ beq $v1, $v0, .L80243330 +/* CC65A8 80242D98 00000000 */ nop +/* CC65AC 80242D9C 08090CCE */ j .L80243338 +/* CC65B0 80242DA0 00000000 */ nop +.L80242DA4: +/* CC65B4 80242DA4 0260282D */ daddu $a1, $s3, $zero +/* CC65B8 80242DA8 0C012568 */ jal func_800495A0 +/* CC65BC 80242DAC 0280302D */ daddu $a2, $s4, $zero +/* CC65C0 80242DB0 96420086 */ lhu $v0, 0x86($s2) +/* CC65C4 80242DB4 A62200A8 */ sh $v0, 0xa8($s1) +/* CC65C8 80242DB8 8E4200A0 */ lw $v0, 0xa0($s2) +/* CC65CC 80242DBC 10400013 */ beqz $v0, .L80242E0C +/* CC65D0 80242DC0 02A0202D */ daddu $a0, $s5, $zero +/* CC65D4 80242DC4 C620003C */ lwc1 $f0, 0x3c($s1) +/* CC65D8 80242DC8 44801000 */ mtc1 $zero, $f2 +/* CC65DC 80242DCC 44801800 */ mtc1 $zero, $f3 +/* CC65E0 80242DD0 46000021 */ cvt.d.s $f0, $f0 +/* CC65E4 80242DD4 4622003E */ c.le.d $f0, $f2 +/* CC65E8 80242DD8 00000000 */ nop +/* CC65EC 80242DDC 45000005 */ bc1f .L80242DF4 +/* CC65F0 80242DE0 2403FDFF */ addiu $v1, $zero, -0x201 +/* CC65F4 80242DE4 8E220000 */ lw $v0, ($s1) +/* CC65F8 80242DE8 00431024 */ and $v0, $v0, $v1 +/* CC65FC 80242DEC 08090B81 */ j .L80242E04 +/* CC6600 80242DF0 34420008 */ ori $v0, $v0, 8 +.L80242DF4: +/* CC6604 80242DF4 8E220000 */ lw $v0, ($s1) +/* CC6608 80242DF8 2403FFF7 */ addiu $v1, $zero, -9 +/* CC660C 80242DFC 34420200 */ ori $v0, $v0, 0x200 +/* CC6610 80242E00 00431024 */ and $v0, $v0, $v1 +.L80242E04: +/* CC6614 80242E04 AE220000 */ sw $v0, ($s1) +.L80242E08: +/* CC6618 80242E08 02A0202D */ daddu $a0, $s5, $zero +.L80242E0C: +/* CC661C 80242E0C 0260282D */ daddu $a1, $s3, $zero +/* CC6620 80242E10 0C0125AE */ jal func_800496B8 +/* CC6624 80242E14 0280302D */ daddu $a2, $s4, $zero +/* CC6628 80242E18 08090CCE */ j .L80243338 +/* CC662C 80242E1C 00000000 */ nop +.L80242E20: +/* CC6630 80242E20 0260282D */ daddu $a1, $s3, $zero +/* CC6634 80242E24 0C0126D1 */ jal func_80049B44 +/* CC6638 80242E28 0280302D */ daddu $a2, $s4, $zero +.L80242E2C: +/* CC663C 80242E2C 02A0202D */ daddu $a0, $s5, $zero +/* CC6640 80242E30 0260282D */ daddu $a1, $s3, $zero +/* CC6644 80242E34 0C012701 */ jal func_80049C04 +/* CC6648 80242E38 0280302D */ daddu $a2, $s4, $zero +/* CC664C 80242E3C 08090CCE */ j .L80243338 +/* CC6650 80242E40 00000000 */ nop +.L80242E44: +/* CC6654 80242E44 0260282D */ daddu $a1, $s3, $zero +/* CC6658 80242E48 0C0908A6 */ jal func_80242298 +/* CC665C 80242E4C 0280302D */ daddu $a2, $s4, $zero +.L80242E50: +/* CC6660 80242E50 02A0202D */ daddu $a0, $s5, $zero +/* CC6664 80242E54 0260282D */ daddu $a1, $s3, $zero +/* CC6668 80242E58 0C0908C5 */ jal func_80242314 +/* CC666C 80242E5C 0280302D */ daddu $a2, $s4, $zero +/* CC6670 80242E60 96420086 */ lhu $v0, 0x86($s2) +/* CC6674 80242E64 08090CCE */ j .L80243338 +/* CC6678 80242E68 A62200A8 */ sh $v0, 0xa8($s1) +.L80242E6C: +/* CC667C 80242E6C 02A0202D */ daddu $a0, $s5, $zero +/* CC6680 80242E70 0260282D */ daddu $a1, $s3, $zero +/* CC6684 80242E74 0C090912 */ jal func_80242448 +/* CC6688 80242E78 0280302D */ daddu $a2, $s4, $zero +/* CC668C 80242E7C 08090CCE */ j .L80243338 +/* CC6690 80242E80 00000000 */ nop +.L80242E84: +/* CC6694 80242E84 02A0202D */ daddu $a0, $s5, $zero +/* CC6698 80242E88 0260282D */ daddu $a1, $s3, $zero +/* CC669C 80242E8C 0C09096B */ jal func_802425AC +/* CC66A0 80242E90 0280302D */ daddu $a2, $s4, $zero +/* CC66A4 80242E94 08090CCE */ j .L80243338 +/* CC66A8 80242E98 00000000 */ nop +.L80242E9C: +/* CC66AC 80242E9C 8E430094 */ lw $v1, 0x94($s2) +/* CC66B0 80242EA0 14620125 */ bne $v1, $v0, .L80243338 +/* CC66B4 80242EA4 00000000 */ nop +/* CC66B8 80242EA8 0C00FB3A */ jal get_enemy +/* CC66BC 80242EAC 8E440098 */ lw $a0, 0x98($s2) +/* CC66C0 80242EB0 0C00EABB */ jal get_npc_unsafe +/* CC66C4 80242EB4 84440008 */ lh $a0, 8($v0) +/* CC66C8 80242EB8 C440000C */ lwc1 $f0, 0xc($v0) +/* CC66CC 80242EBC 3C018024 */ lui $at, 0x8024 +/* CC66D0 80242EC0 D4227AE8 */ ldc1 $f2, 0x7ae8($at) +/* CC66D4 80242EC4 46000021 */ cvt.d.s $f0, $f0 +/* CC66D8 80242EC8 4622003C */ c.lt.d $f0, $f2 +/* CC66DC 80242ECC 00000000 */ nop +/* CC66E0 80242ED0 45000008 */ bc1f .L80242EF4 +/* CC66E4 80242ED4 00000000 */ nop +/* CC66E8 80242ED8 C4400038 */ lwc1 $f0, 0x38($v0) +/* CC66EC 80242EDC 3C014028 */ lui $at, 0x4028 +/* CC66F0 80242EE0 44811800 */ mtc1 $at, $f3 +/* CC66F4 80242EE4 44801000 */ mtc1 $zero, $f2 +/* CC66F8 80242EE8 46000021 */ cvt.d.s $f0, $f0 +/* CC66FC 80242EEC 08090BC3 */ j .L80242F0C +/* CC6700 80242EF0 46220000 */ add.d $f0, $f0, $f2 +.L80242EF4: +/* CC6704 80242EF4 C4400038 */ lwc1 $f0, 0x38($v0) +/* CC6708 80242EF8 3C014028 */ lui $at, 0x4028 +/* CC670C 80242EFC 44811800 */ mtc1 $at, $f3 +/* CC6710 80242F00 44801000 */ mtc1 $zero, $f2 +/* CC6714 80242F04 46000021 */ cvt.d.s $f0, $f0 +/* CC6718 80242F08 46220001 */ sub.d $f0, $f0, $f2 +.L80242F0C: +/* CC671C 80242F0C 46200020 */ cvt.s.d $f0, $f0 +/* CC6720 80242F10 E6200038 */ swc1 $f0, 0x38($s1) +/* CC6724 80242F14 3C04004A */ lui $a0, 0x4a +/* CC6728 80242F18 C440003C */ lwc1 $f0, 0x3c($v0) +/* CC672C 80242F1C 3C014039 */ lui $at, 0x4039 +/* CC6730 80242F20 44811800 */ mtc1 $at, $f3 +/* CC6734 80242F24 44801000 */ mtc1 $zero, $f2 +/* CC6738 80242F28 46000021 */ cvt.d.s $f0, $f0 +/* CC673C 80242F2C 46220000 */ add.d $f0, $f0, $f2 +/* CC6740 80242F30 34840018 */ ori $a0, $a0, 0x18 +/* CC6744 80242F34 3C013FF0 */ lui $at, 0x3ff0 +/* CC6748 80242F38 44811800 */ mtc1 $at, $f3 +/* CC674C 80242F3C 44801000 */ mtc1 $zero, $f2 +/* CC6750 80242F40 46200020 */ cvt.s.d $f0, $f0 +/* CC6754 80242F44 E620003C */ swc1 $f0, 0x3c($s1) +/* CC6758 80242F48 C4400040 */ lwc1 $f0, 0x40($v0) +/* CC675C 80242F4C 8E220000 */ lw $v0, ($s1) +/* CC6760 80242F50 2403FFFD */ addiu $v1, $zero, -3 +/* CC6764 80242F54 AE200048 */ sw $zero, 0x48($s1) +/* CC6768 80242F58 AE200034 */ sw $zero, 0x34($s1) +/* CC676C 80242F5C AE240028 */ sw $a0, 0x28($s1) +/* CC6770 80242F60 34420008 */ ori $v0, $v0, 8 +/* CC6774 80242F64 00431024 */ and $v0, $v0, $v1 +/* CC6778 80242F68 2403FDFF */ addiu $v1, $zero, -0x201 +/* CC677C 80242F6C 00431024 */ and $v0, $v0, $v1 +/* CC6780 80242F70 46000021 */ cvt.d.s $f0, $f0 +/* CC6784 80242F74 46220000 */ add.d $f0, $f0, $f2 +/* CC6788 80242F78 AE220000 */ sw $v0, ($s1) +/* CC678C 80242F7C 24020065 */ addiu $v0, $zero, 0x65 +/* CC6790 80242F80 46200020 */ cvt.s.d $f0, $f0 +/* CC6794 80242F84 E6200040 */ swc1 $f0, 0x40($s1) +/* CC6798 80242F88 AEA20070 */ sw $v0, 0x70($s5) +.L80242F8C: +/* CC679C 80242F8C 8E430094 */ lw $v1, 0x94($s2) +/* CC67A0 80242F90 24020003 */ addiu $v0, $zero, 3 +/* CC67A4 80242F94 146200E8 */ bne $v1, $v0, .L80243338 +/* CC67A8 80242F98 24020004 */ addiu $v0, $zero, 4 +/* CC67AC 80242F9C AE420094 */ sw $v0, 0x94($s2) +/* CC67B0 80242FA0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CC67B4 80242FA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CC67B8 80242FA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CC67BC 80242FAC C62E0040 */ lwc1 $f14, 0x40($s1) +/* CC67C0 80242FB0 8C460028 */ lw $a2, 0x28($v0) +/* CC67C4 80242FB4 0C00A720 */ jal atan2 +/* CC67C8 80242FB8 8C470030 */ lw $a3, 0x30($v0) +/* CC67CC 80242FBC 3C014020 */ lui $at, 0x4020 +/* CC67D0 80242FC0 44811000 */ mtc1 $at, $f2 +/* CC67D4 80242FC4 3C014100 */ lui $at, 0x4100 +/* CC67D8 80242FC8 44812000 */ mtc1 $at, $f4 +/* CC67DC 80242FCC 3C013F4C */ lui $at, 0x3f4c +/* CC67E0 80242FD0 3421CCCD */ ori $at, $at, 0xcccd +/* CC67E4 80242FD4 44813000 */ mtc1 $at, $f6 +/* CC67E8 80242FD8 8E220000 */ lw $v0, ($s1) +/* CC67EC 80242FDC E620000C */ swc1 $f0, 0xc($s1) +/* CC67F0 80242FE0 34420800 */ ori $v0, $v0, 0x800 +/* CC67F4 80242FE4 AE220000 */ sw $v0, ($s1) +/* CC67F8 80242FE8 24020066 */ addiu $v0, $zero, 0x66 +/* CC67FC 80242FEC E6220018 */ swc1 $f2, 0x18($s1) +/* CC6800 80242FF0 E624001C */ swc1 $f4, 0x1c($s1) +/* CC6804 80242FF4 E6260014 */ swc1 $f6, 0x14($s1) +/* CC6808 80242FF8 AEA20070 */ sw $v0, 0x70($s5) +.L80242FFC: +/* CC680C 80242FFC C6200018 */ lwc1 $f0, 0x18($s1) +/* CC6810 80243000 44801000 */ mtc1 $zero, $f2 +/* CC6814 80243004 44801800 */ mtc1 $zero, $f3 +/* CC6818 80243008 46000021 */ cvt.d.s $f0, $f0 +/* CC681C 8024300C 4620103C */ c.lt.d $f2, $f0 +/* CC6820 80243010 00000000 */ nop +/* CC6824 80243014 4500001F */ bc1f .L80243094 +/* CC6828 80243018 27A50058 */ addiu $a1, $sp, 0x58 +/* CC682C 8024301C C6200038 */ lwc1 $f0, 0x38($s1) +/* CC6830 80243020 C622003C */ lwc1 $f2, 0x3c($s1) +/* CC6834 80243024 C6240040 */ lwc1 $f4, 0x40($s1) +/* CC6838 80243028 C6260018 */ lwc1 $f6, 0x18($s1) +/* CC683C 8024302C E7A00058 */ swc1 $f0, 0x58($sp) +/* CC6840 80243030 E7A2005C */ swc1 $f2, 0x5c($sp) +/* CC6844 80243034 E7A40060 */ swc1 $f4, 0x60($sp) +/* CC6848 80243038 E7A60010 */ swc1 $f6, 0x10($sp) +/* CC684C 8024303C C620000C */ lwc1 $f0, 0xc($s1) +/* CC6850 80243040 E7A00014 */ swc1 $f0, 0x14($sp) +/* CC6854 80243044 862200A8 */ lh $v0, 0xa8($s1) +/* CC6858 80243048 44820000 */ mtc1 $v0, $f0 +/* CC685C 8024304C 00000000 */ nop +/* CC6860 80243050 46800020 */ cvt.s.w $f0, $f0 +/* CC6864 80243054 E7A00018 */ swc1 $f0, 0x18($sp) +/* CC6868 80243058 862200A6 */ lh $v0, 0xa6($s1) +/* CC686C 8024305C 27A6005C */ addiu $a2, $sp, 0x5c +/* CC6870 80243060 44820000 */ mtc1 $v0, $f0 +/* CC6874 80243064 00000000 */ nop +/* CC6878 80243068 46800020 */ cvt.s.w $f0, $f0 +/* CC687C 8024306C E7A0001C */ swc1 $f0, 0x1c($sp) +/* CC6880 80243070 8E240080 */ lw $a0, 0x80($s1) +/* CC6884 80243074 0C037711 */ jal func_800DDC44 +/* CC6888 80243078 27A70060 */ addiu $a3, $sp, 0x60 +/* CC688C 8024307C 54400005 */ bnel $v0, $zero, .L80243094 +/* CC6890 80243080 AE200018 */ sw $zero, 0x18($s1) +/* CC6894 80243084 8E250018 */ lw $a1, 0x18($s1) +/* CC6898 80243088 8E26000C */ lw $a2, 0xc($s1) +/* CC689C 8024308C 0C00EA95 */ jal npc_move_heading +/* CC68A0 80243090 0220202D */ daddu $a0, $s1, $zero +.L80243094: +/* CC68A4 80243094 C620001C */ lwc1 $f0, 0x1c($s1) +/* CC68A8 80243098 4480B000 */ mtc1 $zero, $f22 +/* CC68AC 8024309C 4480B800 */ mtc1 $zero, $f23 +/* CC68B0 802430A0 46000021 */ cvt.d.s $f0, $f0 +/* CC68B4 802430A4 4636003C */ c.lt.d $f0, $f22 +/* CC68B8 802430A8 00000000 */ nop +/* CC68BC 802430AC 45000074 */ bc1f .L80243280 +/* CC68C0 802430B0 27A50058 */ addiu $a1, $sp, 0x58 +/* CC68C4 802430B4 27A6005C */ addiu $a2, $sp, 0x5c +/* CC68C8 802430B8 27A20064 */ addiu $v0, $sp, 0x64 +/* CC68CC 802430BC C622003C */ lwc1 $f2, 0x3c($s1) +/* CC68D0 802430C0 C6260038 */ lwc1 $f6, 0x38($s1) +/* CC68D4 802430C4 3C01402A */ lui $at, 0x402a +/* CC68D8 802430C8 4481A800 */ mtc1 $at, $f21 +/* CC68DC 802430CC 4480A000 */ mtc1 $zero, $f20 +/* CC68E0 802430D0 460010A1 */ cvt.d.s $f2, $f2 +/* CC68E4 802430D4 46341080 */ add.d $f2, $f2, $f20 +/* CC68E8 802430D8 C620001C */ lwc1 $f0, 0x1c($s1) +/* CC68EC 802430DC C6240040 */ lwc1 $f4, 0x40($s1) +/* CC68F0 802430E0 46000005 */ abs.s $f0, $f0 +/* CC68F4 802430E4 E7A40060 */ swc1 $f4, 0x60($sp) +/* CC68F8 802430E8 3C014030 */ lui $at, 0x4030 +/* CC68FC 802430EC 44812800 */ mtc1 $at, $f5 +/* CC6900 802430F0 44802000 */ mtc1 $zero, $f4 +/* CC6904 802430F4 46000021 */ cvt.d.s $f0, $f0 +/* CC6908 802430F8 E7A60058 */ swc1 $f6, 0x58($sp) +/* CC690C 802430FC 46240000 */ add.d $f0, $f0, $f4 +/* CC6910 80243100 462010A0 */ cvt.s.d $f2, $f2 +/* CC6914 80243104 E7A2005C */ swc1 $f2, 0x5c($sp) +/* CC6918 80243108 46200020 */ cvt.s.d $f0, $f0 +/* CC691C 8024310C E7A00064 */ swc1 $f0, 0x64($sp) +/* CC6920 80243110 AFA20010 */ sw $v0, 0x10($sp) +/* CC6924 80243114 8E240080 */ lw $a0, 0x80($s1) +/* CC6928 80243118 0C0372DF */ jal func_800DCB7C +/* CC692C 8024311C 27A70060 */ addiu $a3, $sp, 0x60 +/* CC6930 80243120 10400057 */ beqz $v0, .L80243280 +/* CC6934 80243124 00000000 */ nop +/* CC6938 80243128 C620001C */ lwc1 $f0, 0x1c($s1) +/* CC693C 8024312C C7A20064 */ lwc1 $f2, 0x64($sp) +/* CC6940 80243130 46000005 */ abs.s $f0, $f0 +/* CC6944 80243134 46000021 */ cvt.d.s $f0, $f0 +/* CC6948 80243138 46340000 */ add.d $f0, $f0, $f20 +/* CC694C 8024313C 460010A1 */ cvt.d.s $f2, $f2 +/* CC6950 80243140 4620103E */ c.le.d $f2, $f0 +/* CC6954 80243144 00000000 */ nop +/* CC6958 80243148 4500004D */ bc1f .L80243280 +/* CC695C 8024314C 00000000 */ nop +/* CC6960 80243150 C7A0005C */ lwc1 $f0, 0x5c($sp) +/* CC6964 80243154 E620003C */ swc1 $f0, 0x3c($s1) +/* CC6968 80243158 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC696C 8024315C C6200038 */ lwc1 $f0, 0x38($s1) +/* CC6970 80243160 4600020D */ trunc.w.s $f8, $f0 +/* CC6974 80243164 E4480000 */ swc1 $f8, ($v0) +/* CC6978 80243168 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC697C 8024316C C620003C */ lwc1 $f0, 0x3c($s1) +/* CC6980 80243170 4600020D */ trunc.w.s $f8, $f0 +/* CC6984 80243174 E4480004 */ swc1 $f8, 4($v0) +/* CC6988 80243178 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC698C 8024317C C6200040 */ lwc1 $f0, 0x40($s1) +/* CC6990 80243180 4600020D */ trunc.w.s $f8, $f0 +/* CC6994 80243184 E4480008 */ swc1 $f8, 8($v0) +/* CC6998 80243188 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC699C 8024318C C6200038 */ lwc1 $f0, 0x38($s1) +/* CC69A0 80243190 4600020D */ trunc.w.s $f8, $f0 +/* CC69A4 80243194 E448001C */ swc1 $f8, 0x1c($v0) +/* CC69A8 80243198 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC69AC 8024319C C620003C */ lwc1 $f0, 0x3c($s1) +/* CC69B0 802431A0 4600020D */ trunc.w.s $f8, $f0 +/* CC69B4 802431A4 E4480020 */ swc1 $f8, 0x20($v0) +/* CC69B8 802431A8 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC69BC 802431AC C6200040 */ lwc1 $f0, 0x40($s1) +/* CC69C0 802431B0 4600020D */ trunc.w.s $f8, $f0 +/* CC69C4 802431B4 E4480024 */ swc1 $f8, 0x24($v0) +/* CC69C8 802431B8 8E4300A0 */ lw $v1, 0xa0($s2) +/* CC69CC 802431BC 24020005 */ addiu $v0, $zero, 5 +/* CC69D0 802431C0 1060000B */ beqz $v1, .L802431F0 +/* CC69D4 802431C4 AE420094 */ sw $v0, 0x94($s2) +/* CC69D8 802431C8 C620003C */ lwc1 $f0, 0x3c($s1) +/* CC69DC 802431CC 46000021 */ cvt.d.s $f0, $f0 +/* CC69E0 802431D0 4636003E */ c.le.d $f0, $f22 +/* CC69E4 802431D4 00000000 */ nop +/* CC69E8 802431D8 4501000D */ bc1t .L80243210 +/* CC69EC 802431DC 2403FFF7 */ addiu $v1, $zero, -9 +/* CC69F0 802431E0 8E220000 */ lw $v0, ($s1) +/* CC69F4 802431E4 34420200 */ ori $v0, $v0, 0x200 +/* CC69F8 802431E8 08090C88 */ j .L80243220 +/* CC69FC 802431EC 00431024 */ and $v0, $v0, $v1 +.L802431F0: +/* CC6A00 802431F0 8E4200D0 */ lw $v0, 0xd0($s2) +/* CC6A04 802431F4 8C420034 */ lw $v0, 0x34($v0) +/* CC6A08 802431F8 14400005 */ bnez $v0, .L80243210 +/* CC6A0C 802431FC 2403FFF7 */ addiu $v1, $zero, -9 +/* CC6A10 80243200 8E220000 */ lw $v0, ($s1) +/* CC6A14 80243204 34420200 */ ori $v0, $v0, 0x200 +/* CC6A18 80243208 08090C88 */ j .L80243220 +/* CC6A1C 8024320C 00431024 */ and $v0, $v0, $v1 +.L80243210: +/* CC6A20 80243210 8E220000 */ lw $v0, ($s1) +/* CC6A24 80243214 2403FDFF */ addiu $v1, $zero, -0x201 +/* CC6A28 80243218 00431024 */ and $v0, $v0, $v1 +/* CC6A2C 8024321C 34420008 */ ori $v0, $v0, 8 +.L80243220: +/* CC6A30 80243220 AE220000 */ sw $v0, ($s1) +/* CC6A34 80243224 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CC6A38 80243228 C62E0040 */ lwc1 $f14, 0x40($s1) +/* CC6A3C 8024322C 8E220000 */ lw $v0, ($s1) +/* CC6A40 80243230 3C04800F */ lui $a0, %hi(gPlayerStatusPtr) +/* CC6A44 80243234 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0) +/* CC6A48 80243238 3C030004 */ lui $v1, 4 +/* CC6A4C 8024323C AE20001C */ sw $zero, 0x1c($s1) +/* CC6A50 80243240 00431025 */ or $v0, $v0, $v1 +/* CC6A54 80243244 2403F7FF */ addiu $v1, $zero, -0x801 +/* CC6A58 80243248 00431024 */ and $v0, $v0, $v1 +/* CC6A5C 8024324C AE220000 */ sw $v0, ($s1) +/* CC6A60 80243250 8C860028 */ lw $a2, 0x28($a0) +/* CC6A64 80243254 0C00A720 */ jal atan2 +/* CC6A68 80243258 8C870030 */ lw $a3, 0x30($a0) +/* CC6A6C 8024325C 3C02004A */ lui $v0, 0x4a +/* CC6A70 80243260 3442001A */ ori $v0, $v0, 0x1a +/* CC6A74 80243264 AE220028 */ sw $v0, 0x28($s1) +/* CC6A78 80243268 24020003 */ addiu $v0, $zero, 3 +/* CC6A7C 8024326C A622008E */ sh $v0, 0x8e($s1) +/* CC6A80 80243270 24020067 */ addiu $v0, $zero, 0x67 +/* CC6A84 80243274 E620000C */ swc1 $f0, 0xc($s1) +/* CC6A88 80243278 08090CCE */ j .L80243338 +/* CC6A8C 8024327C AEA20070 */ sw $v0, 0x70($s5) +.L80243280: +/* CC6A90 80243280 C624003C */ lwc1 $f4, 0x3c($s1) +/* CC6A94 80243284 C620001C */ lwc1 $f0, 0x1c($s1) +/* CC6A98 80243288 46002100 */ add.s $f4, $f4, $f0 +/* CC6A9C 8024328C C6220014 */ lwc1 $f2, 0x14($s1) +/* CC6AA0 80243290 46020001 */ sub.s $f0, $f0, $f2 +/* CC6AA4 80243294 E624003C */ swc1 $f4, 0x3c($s1) +/* CC6AA8 80243298 08090CCE */ j .L80243338 +/* CC6AAC 8024329C E620001C */ swc1 $f0, 0x1c($s1) +.L802432A0: +/* CC6AB0 802432A0 9622008E */ lhu $v0, 0x8e($s1) +/* CC6AB4 802432A4 2442FFFF */ addiu $v0, $v0, -1 +/* CC6AB8 802432A8 A622008E */ sh $v0, 0x8e($s1) +/* CC6ABC 802432AC 00021400 */ sll $v0, $v0, 0x10 +/* CC6AC0 802432B0 1C400021 */ bgtz $v0, .L80243338 +/* CC6AC4 802432B4 3C03004A */ lui $v1, 0x4a +/* CC6AC8 802432B8 3C04FFFB */ lui $a0, 0xfffb +/* CC6ACC 802432BC 3484FFFF */ ori $a0, $a0, 0xffff +/* CC6AD0 802432C0 8E220000 */ lw $v0, ($s1) +/* CC6AD4 802432C4 34630001 */ ori $v1, $v1, 1 +/* CC6AD8 802432C8 AE230028 */ sw $v1, 0x28($s1) +/* CC6ADC 802432CC 00441024 */ and $v0, $v0, $a0 +/* CC6AE0 802432D0 AE220000 */ sw $v0, ($s1) +/* CC6AE4 802432D4 08090CCE */ j .L80243338 +/* CC6AE8 802432D8 AEA00070 */ sw $zero, 0x70($s5) +.L802432DC: +/* CC6AEC 802432DC 3C01C47A */ lui $at, 0xc47a +/* CC6AF0 802432E0 44810000 */ mtc1 $at, $f0 +/* CC6AF4 802432E4 8E230000 */ lw $v1, ($s1) +/* CC6AF8 802432E8 A622008E */ sh $v0, 0x8e($s1) +/* CC6AFC 802432EC 2402FDFF */ addiu $v0, $zero, -0x201 +/* CC6B00 802432F0 AE200038 */ sw $zero, 0x38($s1) +/* CC6B04 802432F4 AE200040 */ sw $zero, 0x40($s1) +/* CC6B08 802432F8 3463000A */ ori $v1, $v1, 0xa +/* CC6B0C 802432FC 00621824 */ and $v1, $v1, $v0 +/* CC6B10 80243300 E620003C */ swc1 $f0, 0x3c($s1) +/* CC6B14 80243304 AE230000 */ sw $v1, ($s1) +/* CC6B18 80243308 AEA40070 */ sw $a0, 0x70($s5) +.L8024330C: +/* CC6B1C 8024330C 9622008E */ lhu $v0, 0x8e($s1) +/* CC6B20 80243310 2442FFFF */ addiu $v0, $v0, -1 +/* CC6B24 80243314 A622008E */ sh $v0, 0x8e($s1) +/* CC6B28 80243318 00021400 */ sll $v0, $v0, 0x10 +/* CC6B2C 8024331C 1C400006 */ bgtz $v0, .L80243338 +/* CC6B30 80243320 24020064 */ addiu $v0, $zero, 0x64 +/* CC6B34 80243324 AE400094 */ sw $zero, 0x94($s2) +/* CC6B38 80243328 08090CCE */ j .L80243338 +/* CC6B3C 8024332C AEA20070 */ sw $v0, 0x70($s5) +.L80243330: +/* CC6B40 80243330 0C0129CF */ jal func_8004A73C +/* CC6B44 80243334 02A0202D */ daddu $a0, $s5, $zero +.L80243338: +/* CC6B48 80243338 8FBF0080 */ lw $ra, 0x80($sp) +/* CC6B4C 8024333C 8FB5007C */ lw $s5, 0x7c($sp) +/* CC6B50 80243340 8FB40078 */ lw $s4, 0x78($sp) +/* CC6B54 80243344 8FB30074 */ lw $s3, 0x74($sp) +/* CC6B58 80243348 8FB20070 */ lw $s2, 0x70($sp) +/* CC6B5C 8024334C 8FB1006C */ lw $s1, 0x6c($sp) +/* CC6B60 80243350 8FB00068 */ lw $s0, 0x68($sp) +/* CC6B64 80243354 D7B60090 */ ldc1 $f22, 0x90($sp) +/* CC6B68 80243358 D7B40088 */ ldc1 $f20, 0x88($sp) +/* CC6B6C 8024335C 0000102D */ daddu $v0, $zero, $zero +/* CC6B70 80243360 03E00008 */ jr $ra +/* CC6B74 80243364 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_80243368.s b/asm/nonmatchings/world/area_flo/flo_13/func_80243368.s new file mode 100644 index 0000000000..ba61c062e4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_80243368.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243368 +/* CC6B78 80243368 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CC6B7C 8024336C AFB00010 */ sw $s0, 0x10($sp) +/* CC6B80 80243370 0080802D */ daddu $s0, $a0, $zero +/* CC6B84 80243374 AFBF0014 */ sw $ra, 0x14($sp) +/* CC6B88 80243378 C60C0084 */ lwc1 $f12, 0x84($s0) +/* CC6B8C 8024337C 46806320 */ cvt.s.w $f12, $f12 +/* CC6B90 80243380 C6020090 */ lwc1 $f2, 0x90($s0) +/* CC6B94 80243384 468010A0 */ cvt.s.w $f2, $f2 +/* CC6B98 80243388 44061000 */ mfc1 $a2, $f2 +/* CC6B9C 8024338C C6020098 */ lwc1 $f2, 0x98($s0) +/* CC6BA0 80243390 468010A0 */ cvt.s.w $f2, $f2 +/* CC6BA4 80243394 44071000 */ mfc1 $a3, $f2 +/* CC6BA8 80243398 C60E008C */ lwc1 $f14, 0x8c($s0) +/* CC6BAC 8024339C 0C00A720 */ jal atan2 +/* CC6BB0 802433A0 468073A0 */ cvt.s.w $f14, $f14 +/* CC6BB4 802433A4 4600008D */ trunc.w.s $f2, $f0 +/* CC6BB8 802433A8 E60200AC */ swc1 $f2, 0xac($s0) +/* CC6BBC 802433AC 8FBF0014 */ lw $ra, 0x14($sp) +/* CC6BC0 802433B0 8FB00010 */ lw $s0, 0x10($sp) +/* CC6BC4 802433B4 24020002 */ addiu $v0, $zero, 2 +/* CC6BC8 802433B8 03E00008 */ jr $ra +/* CC6BCC 802433BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802433C0.s b/asm/nonmatchings/world/area_flo/flo_13/func_802433C0.s new file mode 100644 index 0000000000..d23748185b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802433C0.s @@ -0,0 +1,75 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433C0 +/* CC6BD0 802433C0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CC6BD4 802433C4 AFB3002C */ sw $s3, 0x2c($sp) +/* CC6BD8 802433C8 0080982D */ daddu $s3, $a0, $zero +/* CC6BDC 802433CC AFB00020 */ sw $s0, 0x20($sp) +/* CC6BE0 802433D0 00A0802D */ daddu $s0, $a1, $zero +/* CC6BE4 802433D4 24040001 */ addiu $a0, $zero, 1 +/* CC6BE8 802433D8 AFBF0030 */ sw $ra, 0x30($sp) +/* CC6BEC 802433DC AFB20028 */ sw $s2, 0x28($sp) +/* CC6BF0 802433E0 0C00EABB */ jal get_npc_unsafe +/* CC6BF4 802433E4 AFB10024 */ sw $s1, 0x24($sp) +/* CC6BF8 802433E8 8E63000C */ lw $v1, 0xc($s3) +/* CC6BFC 802433EC 0260202D */ daddu $a0, $s3, $zero +/* CC6C00 802433F0 8C650000 */ lw $a1, ($v1) +/* CC6C04 802433F4 0C0B1EAF */ jal get_variable +/* CC6C08 802433F8 0040902D */ daddu $s2, $v0, $zero +/* CC6C0C 802433FC 12000002 */ beqz $s0, .L80243408 +/* CC6C10 80243400 AE620074 */ sw $v0, 0x74($s3) +/* CC6C14 80243404 AE600070 */ sw $zero, 0x70($s3) +.L80243408: +/* CC6C18 80243408 3C026666 */ lui $v0, 0x6666 +/* CC6C1C 8024340C 8E640070 */ lw $a0, 0x70($s3) +/* CC6C20 80243410 34426667 */ ori $v0, $v0, 0x6667 +/* CC6C24 80243414 00820018 */ mult $a0, $v0 +/* CC6C28 80243418 000417C3 */ sra $v0, $a0, 0x1f +/* CC6C2C 8024341C 00004010 */ mfhi $t0 +/* CC6C30 80243420 00081843 */ sra $v1, $t0, 1 +/* CC6C34 80243424 00621823 */ subu $v1, $v1, $v0 +/* CC6C38 80243428 00031080 */ sll $v0, $v1, 2 +/* CC6C3C 8024342C 00431021 */ addu $v0, $v0, $v1 +/* CC6C40 80243430 1482001B */ bne $a0, $v0, .L802434A0 +/* CC6C44 80243434 3C020020 */ lui $v0, 0x20 +/* CC6C48 80243438 34420002 */ ori $v0, $v0, 2 +/* CC6C4C 8024343C 27B1001A */ addiu $s1, $sp, 0x1a +/* CC6C50 80243440 27B00018 */ addiu $s0, $sp, 0x18 +/* CC6C54 80243444 AFB10010 */ sw $s1, 0x10($sp) +/* CC6C58 80243448 AFA20014 */ sw $v0, 0x14($sp) +/* CC6C5C 8024344C 8E460040 */ lw $a2, 0x40($s2) +/* CC6C60 80243450 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CC6C64 80243454 C64E003C */ lwc1 $f14, 0x3c($s2) +/* CC6C68 80243458 0C052781 */ jal func_80149E04 +/* CC6C6C 8024345C 0200382D */ daddu $a3, $s0, $zero +/* CC6C70 80243460 3C0543FA */ lui $a1, 0x43fa +/* CC6C74 80243464 8E620074 */ lw $v0, 0x74($s3) +/* CC6C78 80243468 0000202D */ daddu $a0, $zero, $zero +/* CC6C7C 8024346C AFA20010 */ sw $v0, 0x10($sp) +/* CC6C80 80243470 8E670070 */ lw $a3, 0x70($s3) +/* CC6C84 80243474 0C00A8ED */ jal update_lerp +/* CC6C88 80243478 0000302D */ daddu $a2, $zero, $zero +/* CC6C8C 8024347C 24040295 */ addiu $a0, $zero, 0x295 +/* CC6C90 80243480 4600008D */ trunc.w.s $f2, $f0 +/* CC6C94 80243484 44071000 */ mfc1 $a3, $f2 +/* CC6C98 80243488 00000000 */ nop +/* CC6C9C 8024348C 00073C00 */ sll $a3, $a3, 0x10 +/* CC6CA0 80243490 92050001 */ lbu $a1, 1($s0) +/* CC6CA4 80243494 92260001 */ lbu $a2, 1($s1) +/* CC6CA8 80243498 0C0526AE */ jal _play_sound +/* CC6CAC 8024349C 00073C03 */ sra $a3, $a3, 0x10 +.L802434A0: +/* CC6CB0 802434A0 8E630070 */ lw $v1, 0x70($s3) +/* CC6CB4 802434A4 8E620074 */ lw $v0, 0x74($s3) +/* CC6CB8 802434A8 24630001 */ addiu $v1, $v1, 1 +/* CC6CBC 802434AC 0043102A */ slt $v0, $v0, $v1 +/* CC6CC0 802434B0 AE630070 */ sw $v1, 0x70($s3) +/* CC6CC4 802434B4 8FBF0030 */ lw $ra, 0x30($sp) +/* CC6CC8 802434B8 8FB3002C */ lw $s3, 0x2c($sp) +/* CC6CCC 802434BC 8FB20028 */ lw $s2, 0x28($sp) +/* CC6CD0 802434C0 8FB10024 */ lw $s1, 0x24($sp) +/* CC6CD4 802434C4 8FB00020 */ lw $s0, 0x20($sp) +/* CC6CD8 802434C8 00021040 */ sll $v0, $v0, 1 +/* CC6CDC 802434CC 03E00008 */ jr $ra +/* CC6CE0 802434D0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802434D4.s b/asm/nonmatchings/world/area_flo/flo_13/func_802434D4.s new file mode 100644 index 0000000000..09306de311 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802434D4.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434D4 +/* CC6CE4 802434D4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CC6CE8 802434D8 AFB20028 */ sw $s2, 0x28($sp) +/* CC6CEC 802434DC 0080902D */ daddu $s2, $a0, $zero +/* CC6CF0 802434E0 AFB00020 */ sw $s0, 0x20($sp) +/* CC6CF4 802434E4 00A0802D */ daddu $s0, $a1, $zero +/* CC6CF8 802434E8 0000202D */ daddu $a0, $zero, $zero +/* CC6CFC 802434EC AFBF002C */ sw $ra, 0x2c($sp) +/* CC6D00 802434F0 0C00EABB */ jal get_npc_unsafe +/* CC6D04 802434F4 AFB10024 */ sw $s1, 0x24($sp) +/* CC6D08 802434F8 12000002 */ beqz $s0, .L80243504 +/* CC6D0C 802434FC 0040282D */ daddu $a1, $v0, $zero +/* CC6D10 80243500 AE400070 */ sw $zero, 0x70($s2) +.L80243504: +/* CC6D14 80243504 3C026666 */ lui $v0, 0x6666 +/* CC6D18 80243508 8E440070 */ lw $a0, 0x70($s2) +/* CC6D1C 8024350C 34426667 */ ori $v0, $v0, 0x6667 +/* CC6D20 80243510 00820018 */ mult $a0, $v0 +/* CC6D24 80243514 000417C3 */ sra $v0, $a0, 0x1f +/* CC6D28 80243518 00004010 */ mfhi $t0 +/* CC6D2C 8024351C 00081843 */ sra $v1, $t0, 1 +/* CC6D30 80243520 00621823 */ subu $v1, $v1, $v0 +/* CC6D34 80243524 00031080 */ sll $v0, $v1, 2 +/* CC6D38 80243528 00431021 */ addu $v0, $v0, $v1 +/* CC6D3C 8024352C 1482001B */ bne $a0, $v0, .L8024359C +/* CC6D40 80243530 3C020020 */ lui $v0, 0x20 +/* CC6D44 80243534 34420002 */ ori $v0, $v0, 2 +/* CC6D48 80243538 27B1001A */ addiu $s1, $sp, 0x1a +/* CC6D4C 8024353C 27B00018 */ addiu $s0, $sp, 0x18 +/* CC6D50 80243540 AFB10010 */ sw $s1, 0x10($sp) +/* CC6D54 80243544 AFA20014 */ sw $v0, 0x14($sp) +/* CC6D58 80243548 8CA60040 */ lw $a2, 0x40($a1) +/* CC6D5C 8024354C C4AC0038 */ lwc1 $f12, 0x38($a1) +/* CC6D60 80243550 C4AE003C */ lwc1 $f14, 0x3c($a1) +/* CC6D64 80243554 0C052781 */ jal func_80149E04 +/* CC6D68 80243558 0200382D */ daddu $a3, $s0, $zero +/* CC6D6C 8024355C 0000202D */ daddu $a0, $zero, $zero +/* CC6D70 80243560 3C0543FA */ lui $a1, 0x43fa +/* CC6D74 80243564 24020050 */ addiu $v0, $zero, 0x50 +/* CC6D78 80243568 AFA20010 */ sw $v0, 0x10($sp) +/* CC6D7C 8024356C 8E470070 */ lw $a3, 0x70($s2) +/* CC6D80 80243570 0C00A8ED */ jal update_lerp +/* CC6D84 80243574 0000302D */ daddu $a2, $zero, $zero +/* CC6D88 80243578 24040295 */ addiu $a0, $zero, 0x295 +/* CC6D8C 8024357C 4600008D */ trunc.w.s $f2, $f0 +/* CC6D90 80243580 44071000 */ mfc1 $a3, $f2 +/* CC6D94 80243584 00000000 */ nop +/* CC6D98 80243588 00073C00 */ sll $a3, $a3, 0x10 +/* CC6D9C 8024358C 92050001 */ lbu $a1, 1($s0) +/* CC6DA0 80243590 92260001 */ lbu $a2, 1($s1) +/* CC6DA4 80243594 0C0526AE */ jal _play_sound +/* CC6DA8 80243598 00073C03 */ sra $a3, $a3, 0x10 +.L8024359C: +/* CC6DAC 8024359C 8E430070 */ lw $v1, 0x70($s2) +/* CC6DB0 802435A0 24630001 */ addiu $v1, $v1, 1 +/* CC6DB4 802435A4 28620051 */ slti $v0, $v1, 0x51 +/* CC6DB8 802435A8 38420001 */ xori $v0, $v0, 1 +/* CC6DBC 802435AC AE430070 */ sw $v1, 0x70($s2) +/* CC6DC0 802435B0 8FBF002C */ lw $ra, 0x2c($sp) +/* CC6DC4 802435B4 8FB20028 */ lw $s2, 0x28($sp) +/* CC6DC8 802435B8 8FB10024 */ lw $s1, 0x24($sp) +/* CC6DCC 802435BC 8FB00020 */ lw $s0, 0x20($sp) +/* CC6DD0 802435C0 00021040 */ sll $v0, $v0, 1 +/* CC6DD4 802435C4 03E00008 */ jr $ra +/* CC6DD8 802435C8 27BD0030 */ addiu $sp, $sp, 0x30 +/* CC6DDC 802435CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_13/func_802435D0.s b/asm/nonmatchings/world/area_flo/flo_13/func_802435D0.s new file mode 100644 index 0000000000..02653b5eee --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_13/func_802435D0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435D0 +/* CC6DE0 802435D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CC6DE4 802435D4 3C048024 */ lui $a0, 0x8024 +/* CC6DE8 802435D8 24847AF0 */ addiu $a0, $a0, 0x7af0 +/* CC6DEC 802435DC 27A50010 */ addiu $a1, $sp, 0x10 +/* CC6DF0 802435E0 AFBF0020 */ sw $ra, 0x20($sp) +/* CC6DF4 802435E4 AFB1001C */ sw $s1, 0x1c($sp) +/* CC6DF8 802435E8 0C016B3A */ jal load_asset_by_name +/* CC6DFC 802435EC AFB00018 */ sw $s0, 0x18($sp) +/* CC6E00 802435F0 0040802D */ daddu $s0, $v0, $zero +/* CC6E04 802435F4 0200202D */ daddu $a0, $s0, $zero +/* CC6E08 802435F8 3C118024 */ lui $s1, 0x8024 +/* CC6E0C 802435FC 26317B00 */ addiu $s1, $s1, 0x7b00 +/* CC6E10 80243600 0C01BB7C */ jal decode_yay0 +/* CC6E14 80243604 0220282D */ daddu $a1, $s1, $zero +/* CC6E18 80243608 0C00AB1E */ jal general_heap_free +/* CC6E1C 8024360C 0200202D */ daddu $a0, $s0, $zero +/* CC6E20 80243610 3C048025 */ lui $a0, 0x8025 +/* CC6E24 80243614 2484BA90 */ addiu $a0, $a0, -0x4570 +/* CC6E28 80243618 3C028024 */ lui $v0, 0x8024 +/* CC6E2C 8024361C 24427D00 */ addiu $v0, $v0, 0x7d00 +/* CC6E30 80243620 AC820000 */ sw $v0, ($a0) +/* CC6E34 80243624 24020096 */ addiu $v0, $zero, 0x96 +/* CC6E38 80243628 A4820008 */ sh $v0, 8($a0) +/* CC6E3C 8024362C 24020069 */ addiu $v0, $zero, 0x69 +/* CC6E40 80243630 A482000A */ sh $v0, 0xa($a0) +/* CC6E44 80243634 24020002 */ addiu $v0, $zero, 2 +/* CC6E48 80243638 AC82000C */ sw $v0, 0xc($a0) +/* CC6E4C 8024363C 24020001 */ addiu $v0, $zero, 1 +/* CC6E50 80243640 AC910004 */ sw $s1, 4($a0) +/* CC6E54 80243644 0C0496CB */ jal set_message_images +/* CC6E58 80243648 AC820010 */ sw $v0, 0x10($a0) +/* CC6E5C 8024364C 8FBF0020 */ lw $ra, 0x20($sp) +/* CC6E60 80243650 8FB1001C */ lw $s1, 0x1c($sp) +/* CC6E64 80243654 8FB00018 */ lw $s0, 0x18($sp) +/* CC6E68 80243658 24020002 */ addiu $v0, $zero, 2 +/* CC6E6C 8024365C 03E00008 */ jr $ra +/* CC6E70 80243660 27BD0028 */ addiu $sp, $sp, 0x28 +/* CC6E74 80243664 00000000 */ nop +/* CC6E78 80243668 00000000 */ nop +/* CC6E7C 8024366C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240000_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240000_CCB310.s new file mode 100644 index 0000000000..a646bf0e88 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240000_CCB310.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CCB310 +/* CCB310 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCB314 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* CCB318 80240008 0080802D */ daddu $s0, $a0, $zero +/* CCB31C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* CCB320 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* CCB324 80240014 8E020088 */ lw $v0, 0x88($s0) +/* CCB328 80240018 00621821 */ addu $v1, $v1, $v0 +/* CCB32C 8024001C 04610004 */ bgez $v1, .L80240030 +/* CCB330 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* CCB334 80240024 3C020002 */ lui $v0, 2 +/* CCB338 80240028 08090010 */ j .L80240040 +/* CCB33C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* CCB340 80240030 3C040002 */ lui $a0, 2 +/* CCB344 80240034 0083102A */ slt $v0, $a0, $v1 +/* CCB348 80240038 10400002 */ beqz $v0, .L80240044 +/* CCB34C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* CCB350 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* CCB354 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* CCB358 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* CCB35C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* CCB360 80240050 04610004 */ bgez $v1, .L80240064 +/* CCB364 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* CCB368 80240058 3C020002 */ lui $v0, 2 +/* CCB36C 8024005C 0809001D */ j .L80240074 +/* CCB370 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* CCB374 80240064 3C040002 */ lui $a0, 2 +/* CCB378 80240068 0083102A */ slt $v0, $a0, $v1 +/* CCB37C 8024006C 10400002 */ beqz $v0, .L80240078 +/* CCB380 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* CCB384 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* CCB388 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* CCB38C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* CCB390 80240080 00621821 */ addu $v1, $v1, $v0 +/* CCB394 80240084 04610004 */ bgez $v1, .L80240098 +/* CCB398 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* CCB39C 8024008C 3C020002 */ lui $v0, 2 +/* CCB3A0 80240090 0809002A */ j .L802400A8 +/* CCB3A4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* CCB3A8 80240098 3C040002 */ lui $a0, 2 +/* CCB3AC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* CCB3B0 802400A0 10400002 */ beqz $v0, .L802400AC +/* CCB3B4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* CCB3B8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* CCB3BC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CCB3C0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* CCB3C4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* CCB3C8 802400B8 04610004 */ bgez $v1, .L802400CC +/* CCB3CC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CCB3D0 802400C0 3C020002 */ lui $v0, 2 +/* CCB3D4 802400C4 08090037 */ j .L802400DC +/* CCB3D8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* CCB3DC 802400CC 3C040002 */ lui $a0, 2 +/* CCB3E0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* CCB3E4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* CCB3E8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* CCB3EC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* CCB3F0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* CCB3F4 802400E4 0C046F07 */ jal set_main_pan_u +/* CCB3F8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CCB3FC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* CCB400 802400F0 0C046F0D */ jal set_main_pan_v +/* CCB404 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* CCB408 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* CCB40C 802400FC 0C046F13 */ jal set_aux_pan_u +/* CCB410 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* CCB414 80240104 8E040084 */ lw $a0, 0x84($s0) +/* CCB418 80240108 0C046F19 */ jal set_aux_pan_v +/* CCB41C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CCB420 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* CCB424 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* CCB428 80240118 0000102D */ daddu $v0, $zero, $zero +/* CCB42C 8024011C 03E00008 */ jr $ra +/* CCB430 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240124_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240124_CCB310.s new file mode 100644 index 0000000000..1081a6f13f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240124_CCB310.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_CCB434 +/* CCB434 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCB438 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* CCB43C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* CCB440 80240130 10A00005 */ beqz $a1, .L80240148 +/* CCB444 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* CCB448 80240138 AE000070 */ sw $zero, 0x70($s0) +/* CCB44C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* CCB450 80240140 AE000078 */ sw $zero, 0x78($s0) +/* CCB454 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* CCB458 80240148 8E020070 */ lw $v0, 0x70($s0) +/* CCB45C 8024014C 1440000E */ bnez $v0, .L80240188 +/* CCB460 80240150 00000000 */ nop +/* CCB464 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* CCB468 80240158 8E020088 */ lw $v0, 0x88($s0) +/* CCB46C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* CCB470 80240160 04610004 */ bgez $v1, .L80240174 +/* CCB474 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* CCB478 80240168 3C020002 */ lui $v0, 2 +/* CCB47C 8024016C 08090061 */ j .L80240184 +/* CCB480 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* CCB484 80240174 3C040002 */ lui $a0, 2 +/* CCB488 80240178 0083102A */ slt $v0, $a0, $v1 +/* CCB48C 8024017C 10400002 */ beqz $v0, .L80240188 +/* CCB490 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* CCB494 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* CCB498 80240188 8E020074 */ lw $v0, 0x74($s0) +/* CCB49C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* CCB4A0 80240190 00000000 */ nop +/* CCB4A4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* CCB4A8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* CCB4AC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* CCB4B0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* CCB4B4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* CCB4B8 802401A8 3C020002 */ lui $v0, 2 +/* CCB4BC 802401AC 08090071 */ j .L802401C4 +/* CCB4C0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* CCB4C4 802401B4 3C040002 */ lui $a0, 2 +/* CCB4C8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* CCB4CC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* CCB4D0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* CCB4D4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* CCB4D8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* CCB4DC 802401CC 1440000E */ bnez $v0, .L80240208 +/* CCB4E0 802401D0 00000000 */ nop +/* CCB4E4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* CCB4E8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* CCB4EC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* CCB4F0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* CCB4F4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* CCB4F8 802401E8 3C020002 */ lui $v0, 2 +/* CCB4FC 802401EC 08090081 */ j .L80240204 +/* CCB500 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* CCB504 802401F4 3C040002 */ lui $a0, 2 +/* CCB508 802401F8 0083102A */ slt $v0, $a0, $v1 +/* CCB50C 802401FC 10400002 */ beqz $v0, .L80240208 +/* CCB510 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* CCB514 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* CCB518 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* CCB51C 8024020C 1440000E */ bnez $v0, .L80240248 +/* CCB520 80240210 00000000 */ nop +/* CCB524 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* CCB528 80240218 8E020094 */ lw $v0, 0x94($s0) +/* CCB52C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CCB530 80240220 04610004 */ bgez $v1, .L80240234 +/* CCB534 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* CCB538 80240228 3C020002 */ lui $v0, 2 +/* CCB53C 8024022C 08090091 */ j .L80240244 +/* CCB540 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* CCB544 80240234 3C040002 */ lui $a0, 2 +/* CCB548 80240238 0083102A */ slt $v0, $a0, $v1 +/* CCB54C 8024023C 10400002 */ beqz $v0, .L80240248 +/* CCB550 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* CCB554 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* CCB558 80240248 8E040084 */ lw $a0, 0x84($s0) +/* CCB55C 8024024C 0C046F07 */ jal set_main_pan_u +/* CCB560 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* CCB564 80240254 8E040084 */ lw $a0, 0x84($s0) +/* CCB568 80240258 0C046F0D */ jal set_main_pan_v +/* CCB56C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* CCB570 80240260 8E040084 */ lw $a0, 0x84($s0) +/* CCB574 80240264 0C046F13 */ jal set_aux_pan_u +/* CCB578 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* CCB57C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* CCB580 80240270 0C046F19 */ jal set_aux_pan_v +/* CCB584 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* CCB588 80240278 8E020070 */ lw $v0, 0x70($s0) +/* CCB58C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* CCB590 80240280 8E040098 */ lw $a0, 0x98($s0) +/* CCB594 80240284 24420001 */ addiu $v0, $v0, 1 +/* CCB598 80240288 AE020070 */ sw $v0, 0x70($s0) +/* CCB59C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* CCB5A0 80240290 24630001 */ addiu $v1, $v1, 1 +/* CCB5A4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* CCB5A8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* CCB5AC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* CCB5B0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* CCB5B4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* CCB5B8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* CCB5BC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* CCB5C0 802402B0 14600002 */ bnez $v1, .L802402BC +/* CCB5C4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* CCB5C8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* CCB5CC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* CCB5D0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* CCB5D4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* CCB5D8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* CCB5DC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* CCB5E0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* CCB5E4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* CCB5E8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* CCB5EC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* CCB5F0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* CCB5F4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* CCB5F8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* CCB5FC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* CCB600 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* CCB604 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* CCB608 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* CCB60C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* CCB610 80240300 0000102D */ daddu $v0, $zero, $zero +/* CCB614 80240304 03E00008 */ jr $ra +/* CCB618 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_8024030C_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_8024030C_CCB310.s new file mode 100644 index 0000000000..4262e3e595 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_8024030C_CCB310.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_CCB61C +/* CCB61C 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CCB620 80240310 0000202D */ daddu $a0, $zero, $zero +/* CCB624 80240314 0080282D */ daddu $a1, $a0, $zero +/* CCB628 80240318 0080302D */ daddu $a2, $a0, $zero +/* CCB62C 8024031C 0080382D */ daddu $a3, $a0, $zero +/* CCB630 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* CCB634 80240324 AFA00010 */ sw $zero, 0x10($sp) +/* CCB638 80240328 0C01CA54 */ jal func_80072950 +/* CCB63C 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* CCB640 80240330 8FBF0018 */ lw $ra, 0x18($sp) +/* CCB644 80240334 24020002 */ addiu $v0, $zero, 2 +/* CCB648 80240338 03E00008 */ jr $ra +/* CCB64C 8024033C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240340_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240340_CCB310.s new file mode 100644 index 0000000000..915d5f18b0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240340_CCB310.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_CCB650 +/* CCB650 80240340 8C820084 */ lw $v0, 0x84($a0) +/* CCB654 80240344 8C830090 */ lw $v1, 0x90($a0) +/* CCB658 80240348 00431023 */ subu $v0, $v0, $v1 +/* CCB65C 8024034C 44821000 */ mtc1 $v0, $f2 +/* CCB660 80240350 00000000 */ nop +/* CCB664 80240354 468010A0 */ cvt.s.w $f2, $f2 +/* CCB668 80240358 8C820088 */ lw $v0, 0x88($a0) +/* CCB66C 8024035C 8C830094 */ lw $v1, 0x94($a0) +/* CCB670 80240360 46021082 */ mul.s $f2, $f2, $f2 +/* CCB674 80240364 00000000 */ nop +/* CCB678 80240368 00431023 */ subu $v0, $v0, $v1 +/* CCB67C 8024036C 44822000 */ mtc1 $v0, $f4 +/* CCB680 80240370 00000000 */ nop +/* CCB684 80240374 46802120 */ cvt.s.w $f4, $f4 +/* CCB688 80240378 8C82008C */ lw $v0, 0x8c($a0) +/* CCB68C 8024037C 46042102 */ mul.s $f4, $f4, $f4 +/* CCB690 80240380 00000000 */ nop +/* CCB694 80240384 8C830098 */ lw $v1, 0x98($a0) +/* CCB698 80240388 00431023 */ subu $v0, $v0, $v1 +/* CCB69C 8024038C 44820000 */ mtc1 $v0, $f0 +/* CCB6A0 80240390 00000000 */ nop +/* CCB6A4 80240394 46800020 */ cvt.s.w $f0, $f0 +/* CCB6A8 80240398 46000002 */ mul.s $f0, $f0, $f0 +/* CCB6AC 8024039C 00000000 */ nop +/* CCB6B0 802403A0 46041080 */ add.s $f2, $f2, $f4 +/* CCB6B4 802403A4 46001080 */ add.s $f2, $f2, $f0 +/* CCB6B8 802403A8 3C014561 */ lui $at, 0x4561 +/* CCB6BC 802403AC 44810000 */ mtc1 $at, $f0 +/* CCB6C0 802403B0 00000000 */ nop +/* CCB6C4 802403B4 4600103C */ c.lt.s $f2, $f0 +/* CCB6C8 802403B8 00000000 */ nop +/* CCB6CC 802403BC 45010002 */ bc1t .L802403C8 +/* CCB6D0 802403C0 24020001 */ addiu $v0, $zero, 1 +/* CCB6D4 802403C4 0000102D */ daddu $v0, $zero, $zero +.L802403C8: +/* CCB6D8 802403C8 AC820084 */ sw $v0, 0x84($a0) +/* CCB6DC 802403CC 03E00008 */ jr $ra +/* CCB6E0 802403D0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802403D4_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802403D4_CCB310.s new file mode 100644 index 0000000000..316b599ad3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802403D4_CCB310.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D4_CCB6E4 +/* CCB6E4 802403D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCB6E8 802403D8 3C028011 */ lui $v0, 0x8011 +/* CCB6EC 802403DC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* CCB6F0 802403E0 0080182D */ daddu $v1, $a0, $zero +/* CCB6F4 802403E4 1040000C */ beqz $v0, .L80240418 +/* CCB6F8 802403E8 AFBF0010 */ sw $ra, 0x10($sp) +/* CCB6FC 802403EC 2404FFFC */ addiu $a0, $zero, -4 +/* CCB700 802403F0 24020001 */ addiu $v0, $zero, 1 +/* CCB704 802403F4 0C00EABB */ jal get_npc_unsafe +/* CCB708 802403F8 AC6200BC */ sw $v0, 0xbc($v1) +/* CCB70C 802403FC 0000202D */ daddu $a0, $zero, $zero +/* CCB710 80240400 3C05FD05 */ lui $a1, 0xfd05 +/* CCB714 80240404 8C460000 */ lw $a2, ($v0) +/* CCB718 80240408 0C0B2026 */ jal set_variable +/* CCB71C 8024040C 34A50F80 */ ori $a1, $a1, 0xf80 +/* CCB720 80240410 08090108 */ j .L80240420 +/* CCB724 80240414 24020002 */ addiu $v0, $zero, 2 +.L80240418: +/* CCB728 80240418 AC6000BC */ sw $zero, 0xbc($v1) +/* CCB72C 8024041C 24020002 */ addiu $v0, $zero, 2 +.L80240420: +/* CCB730 80240420 8FBF0010 */ lw $ra, 0x10($sp) +/* CCB734 80240424 03E00008 */ jr $ra +/* CCB738 80240428 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_8024042C_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_8024042C_CCB310.s new file mode 100644 index 0000000000..24829f7eef --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_8024042C_CCB310.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024042C_CCB73C +/* CCB73C 8024042C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCB740 80240430 2404FFFC */ addiu $a0, $zero, -4 +/* CCB744 80240434 AFBF0014 */ sw $ra, 0x14($sp) +/* CCB748 80240438 0C00EABB */ jal get_npc_unsafe +/* CCB74C 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* CCB750 80240440 0000202D */ daddu $a0, $zero, $zero +/* CCB754 80240444 3C05FD05 */ lui $a1, 0xfd05 +/* CCB758 80240448 34A50F80 */ ori $a1, $a1, 0xf80 +/* CCB75C 8024044C 0C0B1EAF */ jal get_variable +/* CCB760 80240450 0040802D */ daddu $s0, $v0, $zero +/* CCB764 80240454 AE020000 */ sw $v0, ($s0) +/* CCB768 80240458 8FBF0014 */ lw $ra, 0x14($sp) +/* CCB76C 8024045C 8FB00010 */ lw $s0, 0x10($sp) +/* CCB770 80240460 24020002 */ addiu $v0, $zero, 2 +/* CCB774 80240464 03E00008 */ jr $ra +/* CCB778 80240468 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_8024046C_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_8024046C_CCB310.s new file mode 100644 index 0000000000..59a693cf3b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_8024046C_CCB310.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024046C_CCB77C +/* CCB77C 8024046C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CCB780 80240470 AFB1001C */ sw $s1, 0x1c($sp) +/* CCB784 80240474 0080882D */ daddu $s1, $a0, $zero +/* CCB788 80240478 AFBF0020 */ sw $ra, 0x20($sp) +/* CCB78C 8024047C AFB00018 */ sw $s0, 0x18($sp) +/* CCB790 80240480 8E30000C */ lw $s0, 0xc($s1) +/* CCB794 80240484 8E050000 */ lw $a1, ($s0) +/* CCB798 80240488 0C0B1EAF */ jal get_variable +/* CCB79C 8024048C 26100004 */ addiu $s0, $s0, 4 +/* CCB7A0 80240490 AE220070 */ sw $v0, 0x70($s1) +/* CCB7A4 80240494 8E050000 */ lw $a1, ($s0) +/* CCB7A8 80240498 26100004 */ addiu $s0, $s0, 4 +/* CCB7AC 8024049C 0C0B1EAF */ jal get_variable +/* CCB7B0 802404A0 0220202D */ daddu $a0, $s1, $zero +/* CCB7B4 802404A4 AE220074 */ sw $v0, 0x74($s1) +/* CCB7B8 802404A8 8E050000 */ lw $a1, ($s0) +/* CCB7BC 802404AC 0C0B1EAF */ jal get_variable +/* CCB7C0 802404B0 0220202D */ daddu $a0, $s1, $zero +/* CCB7C4 802404B4 24040194 */ addiu $a0, $zero, 0x194 +/* CCB7C8 802404B8 0000282D */ daddu $a1, $zero, $zero +/* CCB7CC 802404BC C6200070 */ lwc1 $f0, 0x70($s1) +/* CCB7D0 802404C0 46800020 */ cvt.s.w $f0, $f0 +/* CCB7D4 802404C4 C6220074 */ lwc1 $f2, 0x74($s1) +/* CCB7D8 802404C8 468010A0 */ cvt.s.w $f2, $f2 +/* CCB7DC 802404CC 44060000 */ mfc1 $a2, $f0 +/* CCB7E0 802404D0 44071000 */ mfc1 $a3, $f2 +/* CCB7E4 802404D4 44820000 */ mtc1 $v0, $f0 +/* CCB7E8 802404D8 00000000 */ nop +/* CCB7EC 802404DC 46800020 */ cvt.s.w $f0, $f0 +/* CCB7F0 802404E0 AE220078 */ sw $v0, 0x78($s1) +/* CCB7F4 802404E4 0C05267B */ jal func_801499EC +/* CCB7F8 802404E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCB7FC 802404EC 8FBF0020 */ lw $ra, 0x20($sp) +/* CCB800 802404F0 8FB1001C */ lw $s1, 0x1c($sp) +/* CCB804 802404F4 8FB00018 */ lw $s0, 0x18($sp) +/* CCB808 802404F8 24020002 */ addiu $v0, $zero, 2 +/* CCB80C 802404FC 03E00008 */ jr $ra +/* CCB810 80240500 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240504_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240504_CCB310.s new file mode 100644 index 0000000000..88fe836a3f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240504_CCB310.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240504_CCB814 +/* CCB814 80240504 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CCB818 80240508 AFBF0064 */ sw $ra, 0x64($sp) +/* CCB81C 8024050C AFB00060 */ sw $s0, 0x60($sp) +/* CCB820 80240510 F7B60070 */ sdc1 $f22, 0x70($sp) +/* CCB824 80240514 F7B40068 */ sdc1 $f20, 0x68($sp) +/* CCB828 80240518 0C019D28 */ jal guMtxIdentF +/* CCB82C 8024051C 27A40010 */ addiu $a0, $sp, 0x10 +/* CCB830 80240520 3C108024 */ lui $s0, 0x8024 +/* CCB834 80240524 26103B14 */ addiu $s0, $s0, 0x3b14 +/* CCB838 80240528 C6000000 */ lwc1 $f0, ($s0) +/* CCB83C 8024052C 3C014130 */ lui $at, 0x4130 +/* CCB840 80240530 44816000 */ mtc1 $at, $f12 +/* CCB844 80240534 0C00A85B */ jal sin_rad +/* CCB848 80240538 460C0303 */ div.s $f12, $f0, $f12 +/* CCB84C 8024053C 3C018024 */ lui $at, 0x8024 +/* CCB850 80240540 D4345320 */ ldc1 $f20, 0x5320($at) +/* CCB854 80240544 46000021 */ cvt.d.s $f0, $f0 +/* CCB858 80240548 46340002 */ mul.d $f0, $f0, $f20 +/* CCB85C 8024054C 00000000 */ nop +/* CCB860 80240550 3C018024 */ lui $at, 0x8024 +/* CCB864 80240554 D4365328 */ ldc1 $f22, 0x5328($at) +/* CCB868 80240558 C6020000 */ lwc1 $f2, ($s0) +/* CCB86C 8024055C 3C014140 */ lui $at, 0x4140 +/* CCB870 80240560 44816000 */ mtc1 $at, $f12 +/* CCB874 80240564 46360000 */ add.d $f0, $f0, $f22 +/* CCB878 80240568 460C1303 */ div.s $f12, $f2, $f12 +/* CCB87C 8024056C 46200020 */ cvt.s.d $f0, $f0 +/* CCB880 80240570 0C00A85B */ jal sin_rad +/* CCB884 80240574 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCB888 80240578 46000021 */ cvt.d.s $f0, $f0 +/* CCB88C 8024057C 46340002 */ mul.d $f0, $f0, $f20 +/* CCB890 80240580 00000000 */ nop +/* CCB894 80240584 C6020000 */ lwc1 $f2, ($s0) +/* CCB898 80240588 3C014150 */ lui $at, 0x4150 +/* CCB89C 8024058C 44816000 */ mtc1 $at, $f12 +/* CCB8A0 80240590 00000000 */ nop +/* CCB8A4 80240594 460C1303 */ div.s $f12, $f2, $f12 +/* CCB8A8 80240598 46200020 */ cvt.s.d $f0, $f0 +/* CCB8AC 8024059C 0C00A874 */ jal cos_rad +/* CCB8B0 802405A0 E7A00014 */ swc1 $f0, 0x14($sp) +/* CCB8B4 802405A4 46000021 */ cvt.d.s $f0, $f0 +/* CCB8B8 802405A8 46340002 */ mul.d $f0, $f0, $f20 +/* CCB8BC 802405AC 00000000 */ nop +/* CCB8C0 802405B0 C60C0000 */ lwc1 $f12, ($s0) +/* CCB8C4 802405B4 3C0140E0 */ lui $at, 0x40e0 +/* CCB8C8 802405B8 44811000 */ mtc1 $at, $f2 +/* CCB8CC 802405BC 3C013F80 */ lui $at, 0x3f80 +/* CCB8D0 802405C0 44812000 */ mtc1 $at, $f4 +/* CCB8D4 802405C4 46026303 */ div.s $f12, $f12, $f2 +/* CCB8D8 802405C8 46046300 */ add.s $f12, $f12, $f4 +/* CCB8DC 802405CC 46200020 */ cvt.s.d $f0, $f0 +/* CCB8E0 802405D0 0C00A85B */ jal sin_rad +/* CCB8E4 802405D4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCB8E8 802405D8 46000021 */ cvt.d.s $f0, $f0 +/* CCB8EC 802405DC 46340002 */ mul.d $f0, $f0, $f20 +/* CCB8F0 802405E0 00000000 */ nop +/* CCB8F4 802405E4 C6020000 */ lwc1 $f2, ($s0) +/* CCB8F8 802405E8 3C014160 */ lui $at, 0x4160 +/* CCB8FC 802405EC 44816000 */ mtc1 $at, $f12 +/* CCB900 802405F0 46360000 */ add.d $f0, $f0, $f22 +/* CCB904 802405F4 460C1303 */ div.s $f12, $f2, $f12 +/* CCB908 802405F8 46200020 */ cvt.s.d $f0, $f0 +/* CCB90C 802405FC 0C00A85B */ jal sin_rad +/* CCB910 80240600 E7A00024 */ swc1 $f0, 0x24($sp) +/* CCB914 80240604 46000021 */ cvt.d.s $f0, $f0 +/* CCB918 80240608 46340002 */ mul.d $f0, $f0, $f20 +/* CCB91C 8024060C 00000000 */ nop +/* CCB920 80240610 C6020000 */ lwc1 $f2, ($s0) +/* CCB924 80240614 3C014170 */ lui $at, 0x4170 +/* CCB928 80240618 44816000 */ mtc1 $at, $f12 +/* CCB92C 8024061C 00000000 */ nop +/* CCB930 80240620 460C1303 */ div.s $f12, $f2, $f12 +/* CCB934 80240624 46200020 */ cvt.s.d $f0, $f0 +/* CCB938 80240628 0C00A874 */ jal cos_rad +/* CCB93C 8024062C E7A00020 */ swc1 $f0, 0x20($sp) +/* CCB940 80240630 46000021 */ cvt.d.s $f0, $f0 +/* CCB944 80240634 46340002 */ mul.d $f0, $f0, $f20 +/* CCB948 80240638 00000000 */ nop +/* CCB94C 8024063C C60C0000 */ lwc1 $f12, ($s0) +/* CCB950 80240640 3C013E80 */ lui $at, 0x3e80 +/* CCB954 80240644 44811000 */ mtc1 $at, $f2 +/* CCB958 80240648 00000000 */ nop +/* CCB95C 8024064C 46026302 */ mul.s $f12, $f12, $f2 +/* CCB960 80240650 00000000 */ nop +/* CCB964 80240654 3C014000 */ lui $at, 0x4000 +/* CCB968 80240658 44811000 */ mtc1 $at, $f2 +/* CCB96C 8024065C 00000000 */ nop +/* CCB970 80240660 46026300 */ add.s $f12, $f12, $f2 +/* CCB974 80240664 46200020 */ cvt.s.d $f0, $f0 +/* CCB978 80240668 0C00A85B */ jal sin_rad +/* CCB97C 8024066C E7A00028 */ swc1 $f0, 0x28($sp) +/* CCB980 80240670 46000021 */ cvt.d.s $f0, $f0 +/* CCB984 80240674 46340002 */ mul.d $f0, $f0, $f20 +/* CCB988 80240678 00000000 */ nop +/* CCB98C 8024067C C6020000 */ lwc1 $f2, ($s0) +/* CCB990 80240680 3C013D80 */ lui $at, 0x3d80 +/* CCB994 80240684 44816000 */ mtc1 $at, $f12 +/* CCB998 80240688 00000000 */ nop +/* CCB99C 8024068C 460C1302 */ mul.s $f12, $f2, $f12 +/* CCB9A0 80240690 00000000 */ nop +/* CCB9A4 80240694 46360000 */ add.d $f0, $f0, $f22 +/* CCB9A8 80240698 46200020 */ cvt.s.d $f0, $f0 +/* CCB9AC 8024069C 0C00A85B */ jal sin_rad +/* CCB9B0 802406A0 E7A00038 */ swc1 $f0, 0x38($sp) +/* CCB9B4 802406A4 46000021 */ cvt.d.s $f0, $f0 +/* CCB9B8 802406A8 46340002 */ mul.d $f0, $f0, $f20 +/* CCB9BC 802406AC 00000000 */ nop +/* CCB9C0 802406B0 C6020000 */ lwc1 $f2, ($s0) +/* CCB9C4 802406B4 3C014188 */ lui $at, 0x4188 +/* CCB9C8 802406B8 44816000 */ mtc1 $at, $f12 +/* CCB9CC 802406BC 00000000 */ nop +/* CCB9D0 802406C0 460C1303 */ div.s $f12, $f2, $f12 +/* CCB9D4 802406C4 46200020 */ cvt.s.d $f0, $f0 +/* CCB9D8 802406C8 0C00A874 */ jal cos_rad +/* CCB9DC 802406CC E7A00030 */ swc1 $f0, 0x30($sp) +/* CCB9E0 802406D0 3C030001 */ lui $v1, 1 +/* CCB9E4 802406D4 46000021 */ cvt.d.s $f0, $f0 +/* CCB9E8 802406D8 46340002 */ mul.d $f0, $f0, $f20 +/* CCB9EC 802406DC 00000000 */ nop +/* CCB9F0 802406E0 34631630 */ ori $v1, $v1, 0x1630 +/* CCB9F4 802406E4 27A40010 */ addiu $a0, $sp, 0x10 +/* CCB9F8 802406E8 3C058007 */ lui $a1, 0x8007 +/* CCB9FC 802406EC 94A541F0 */ lhu $a1, 0x41f0($a1) +/* CCBA00 802406F0 3C02800A */ lui $v0, 0x800a +/* CCBA04 802406F4 8C42A674 */ lw $v0, -0x598c($v0) +/* CCBA08 802406F8 00052980 */ sll $a1, $a1, 6 +/* CCBA0C 802406FC 00A32821 */ addu $a1, $a1, $v1 +/* CCBA10 80240700 00452821 */ addu $a1, $v0, $a1 +/* CCBA14 80240704 46200020 */ cvt.s.d $f0, $f0 +/* CCBA18 80240708 0C019D40 */ jal guMtxF2L +/* CCBA1C 8024070C E7A00034 */ swc1 $f0, 0x34($sp) +/* CCBA20 80240710 0000202D */ daddu $a0, $zero, $zero +/* CCBA24 80240714 27A50050 */ addiu $a1, $sp, 0x50 +/* CCBA28 80240718 27A60054 */ addiu $a2, $sp, 0x54 +/* CCBA2C 8024071C 0C0470AC */ jal func_8011C2B0 +/* CCBA30 80240720 27A70058 */ addiu $a3, $sp, 0x58 +/* CCBA34 80240724 3C03DA38 */ lui $v1, 0xda38 +/* CCBA38 80240728 34630001 */ ori $v1, $v1, 1 +/* CCBA3C 8024072C 3C080001 */ lui $t0, 1 +/* CCBA40 80240730 35081630 */ ori $t0, $t0, 0x1630 +/* CCBA44 80240734 3C06800A */ lui $a2, 0x800a +/* CCBA48 80240738 24C6A66C */ addiu $a2, $a2, -0x5994 +/* CCBA4C 8024073C 0000202D */ daddu $a0, $zero, $zero +/* CCBA50 80240740 3C058007 */ lui $a1, 0x8007 +/* CCBA54 80240744 24A541F0 */ addiu $a1, $a1, 0x41f0 +/* CCBA58 80240748 8CD00000 */ lw $s0, ($a2) +/* CCBA5C 8024074C 94A20000 */ lhu $v0, ($a1) +/* CCBA60 80240750 0200382D */ daddu $a3, $s0, $zero +/* CCBA64 80240754 26100008 */ addiu $s0, $s0, 8 +/* CCBA68 80240758 ACD00000 */ sw $s0, ($a2) +/* CCBA6C 8024075C ACE30000 */ sw $v1, ($a3) +/* CCBA70 80240760 24430001 */ addiu $v1, $v0, 1 +/* CCBA74 80240764 3042FFFF */ andi $v0, $v0, 0xffff +/* CCBA78 80240768 00021180 */ sll $v0, $v0, 6 +/* CCBA7C 8024076C A4A30000 */ sh $v1, ($a1) +/* CCBA80 80240770 3C03800A */ lui $v1, 0x800a +/* CCBA84 80240774 8C63A674 */ lw $v1, -0x598c($v1) +/* CCBA88 80240778 00481021 */ addu $v0, $v0, $t0 +/* CCBA8C 8024077C 00621821 */ addu $v1, $v1, $v0 +/* CCBA90 80240780 26020008 */ addiu $v0, $s0, 8 +/* CCBA94 80240784 ACE30004 */ sw $v1, 4($a3) +/* CCBA98 80240788 ACC20000 */ sw $v0, ($a2) +/* CCBA9C 8024078C 3C02DE00 */ lui $v0, 0xde00 +/* CCBAA0 80240790 0C0470BB */ jal func_8011C2EC +/* CCBAA4 80240794 AE020000 */ sw $v0, ($s0) +/* CCBAA8 80240798 3C038024 */ lui $v1, 0x8024 +/* CCBAAC 8024079C 24633B14 */ addiu $v1, $v1, 0x3b14 +/* CCBAB0 802407A0 C4600000 */ lwc1 $f0, ($v1) +/* CCBAB4 802407A4 3C013F80 */ lui $at, 0x3f80 +/* CCBAB8 802407A8 44811000 */ mtc1 $at, $f2 +/* CCBABC 802407AC 00000000 */ nop +/* CCBAC0 802407B0 46020000 */ add.s $f0, $f0, $f2 +/* CCBAC4 802407B4 AE020004 */ sw $v0, 4($s0) +/* CCBAC8 802407B8 E4600000 */ swc1 $f0, ($v1) +/* CCBACC 802407BC 8FBF0064 */ lw $ra, 0x64($sp) +/* CCBAD0 802407C0 8FB00060 */ lw $s0, 0x60($sp) +/* CCBAD4 802407C4 D7B60070 */ ldc1 $f22, 0x70($sp) +/* CCBAD8 802407C8 D7B40068 */ ldc1 $f20, 0x68($sp) +/* CCBADC 802407CC 03E00008 */ jr $ra +/* CCBAE0 802407D0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802407D4_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802407D4_CCB310.s new file mode 100644 index 0000000000..a95b1031ad --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802407D4_CCB310.s @@ -0,0 +1,221 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D4_CCBAE4 +/* CCBAE4 802407D4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* CCBAE8 802407D8 24040001 */ addiu $a0, $zero, 1 +/* CCBAEC 802407DC 27A50010 */ addiu $a1, $sp, 0x10 +/* CCBAF0 802407E0 27A60014 */ addiu $a2, $sp, 0x14 +/* CCBAF4 802407E4 AFBF0030 */ sw $ra, 0x30($sp) +/* CCBAF8 802407E8 AFB3002C */ sw $s3, 0x2c($sp) +/* CCBAFC 802407EC AFB20028 */ sw $s2, 0x28($sp) +/* CCBB00 802407F0 AFB10024 */ sw $s1, 0x24($sp) +/* CCBB04 802407F4 AFB00020 */ sw $s0, 0x20($sp) +/* CCBB08 802407F8 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* CCBB0C 802407FC F7B80048 */ sdc1 $f24, 0x48($sp) +/* CCBB10 80240800 F7B60040 */ sdc1 $f22, 0x40($sp) +/* CCBB14 80240804 F7B40038 */ sdc1 $f20, 0x38($sp) +/* CCBB18 80240808 0C0470AC */ jal func_8011C2B0 +/* CCBB1C 8024080C 27A70018 */ addiu $a3, $sp, 0x18 +/* CCBB20 80240810 8FA20018 */ lw $v0, 0x18($sp) +/* CCBB24 80240814 18400072 */ blez $v0, .L802409E0 +/* CCBB28 80240818 0000902D */ daddu $s2, $zero, $zero +/* CCBB2C 8024081C 3C138024 */ lui $s3, 0x8024 +/* CCBB30 80240820 26733B18 */ addiu $s3, $s3, 0x3b18 +/* CCBB34 80240824 3C014334 */ lui $at, 0x4334 +/* CCBB38 80240828 4481D000 */ mtc1 $at, $f26 +/* CCBB3C 8024082C 3C018024 */ lui $at, 0x8024 +/* CCBB40 80240830 D4385330 */ ldc1 $f24, 0x5330($at) +/* CCBB44 80240834 3C018024 */ lui $at, 0x8024 +/* CCBB48 80240838 D4365338 */ ldc1 $f22, 0x5338($at) +/* CCBB4C 8024083C 00122100 */ sll $a0, $s2, 4 +.L80240840: +/* CCBB50 80240840 8FA20010 */ lw $v0, 0x10($sp) +/* CCBB54 80240844 8FA30014 */ lw $v1, 0x14($sp) +/* CCBB58 80240848 00448021 */ addu $s0, $v0, $a0 +/* CCBB5C 8024084C 86020000 */ lh $v0, ($s0) +/* CCBB60 80240850 28420259 */ slti $v0, $v0, 0x259 +/* CCBB64 80240854 1040005D */ beqz $v0, .L802409CC +/* CCBB68 80240858 00648821 */ addu $s1, $v1, $a0 +/* CCBB6C 8024085C C66C0000 */ lwc1 $f12, ($s3) +/* CCBB70 80240860 46806320 */ cvt.s.w $f12, $f12 +/* CCBB74 80240864 461A6303 */ div.s $f12, $f12, $f26 +/* CCBB78 80240868 46006321 */ cvt.d.s $f12, $f12 +/* CCBB7C 8024086C 46386302 */ mul.d $f12, $f12, $f24 +/* CCBB80 80240870 00000000 */ nop +/* CCBB84 80240874 0C00A85B */ jal sin_rad +/* CCBB88 80240878 46206320 */ cvt.s.d $f12, $f12 +/* CCBB8C 8024087C C66C0000 */ lwc1 $f12, ($s3) +/* CCBB90 80240880 46806320 */ cvt.s.w $f12, $f12 +/* CCBB94 80240884 461A6303 */ div.s $f12, $f12, $f26 +/* CCBB98 80240888 46006321 */ cvt.d.s $f12, $f12 +/* CCBB9C 8024088C 46386302 */ mul.d $f12, $f12, $f24 +/* CCBBA0 80240890 00000000 */ nop +/* CCBBA4 80240894 3C018024 */ lui $at, 0x8024 +/* CCBBA8 80240898 D4225340 */ ldc1 $f2, 0x5340($at) +/* CCBBAC 8024089C 46000521 */ cvt.d.s $f20, $f0 +/* CCBBB0 802408A0 4622A502 */ mul.d $f20, $f20, $f2 +/* CCBBB4 802408A4 00000000 */ nop +/* CCBBB8 802408A8 3C018024 */ lui $at, 0x8024 +/* CCBBBC 802408AC D4205348 */ ldc1 $f0, 0x5348($at) +/* CCBBC0 802408B0 4620A500 */ add.d $f20, $f20, $f0 +/* CCBBC4 802408B4 46206320 */ cvt.s.d $f12, $f12 +/* CCBBC8 802408B8 0C00A85B */ jal sin_rad +/* CCBBCC 802408BC 4620A520 */ cvt.s.d $f20, $f20 +/* CCBBD0 802408C0 46000021 */ cvt.d.s $f0, $f0 +/* CCBBD4 802408C4 46360002 */ mul.d $f0, $f0, $f22 +/* CCBBD8 802408C8 00000000 */ nop +/* CCBBDC 802408CC 86020000 */ lh $v0, ($s0) +/* CCBBE0 802408D0 2442FD98 */ addiu $v0, $v0, -0x268 +/* CCBBE4 802408D4 44822000 */ mtc1 $v0, $f4 +/* CCBBE8 802408D8 00000000 */ nop +/* CCBBEC 802408DC 46802120 */ cvt.s.w $f4, $f4 +/* CCBBF0 802408E0 46142102 */ mul.s $f4, $f4, $f20 +/* CCBBF4 802408E4 00000000 */ nop +/* CCBBF8 802408E8 4620B001 */ sub.d $f0, $f22, $f0 +/* CCBBFC 802408EC 3C01C240 */ lui $at, 0xc240 +/* CCBC00 802408F0 44813000 */ mtc1 $at, $f6 +/* CCBC04 802408F4 46200020 */ cvt.s.d $f0, $f0 +/* CCBC08 802408F8 46060182 */ mul.s $f6, $f0, $f6 +/* CCBC0C 802408FC 00000000 */ nop +/* CCBC10 80240900 3C01441A */ lui $at, 0x441a +/* CCBC14 80240904 44811000 */ mtc1 $at, $f2 +/* CCBC18 80240908 00000000 */ nop +/* CCBC1C 8024090C 46022100 */ add.s $f4, $f4, $f2 +/* CCBC20 80240910 46062100 */ add.s $f4, $f4, $f6 +/* CCBC24 80240914 3C0141C8 */ lui $at, 0x41c8 +/* CCBC28 80240918 44813000 */ mtc1 $at, $f6 +/* CCBC2C 8024091C 00000000 */ nop +/* CCBC30 80240920 46060182 */ mul.s $f6, $f0, $f6 +/* CCBC34 80240924 00000000 */ nop +/* CCBC38 80240928 4600220D */ trunc.w.s $f8, $f4 +/* CCBC3C 8024092C 44024000 */ mfc1 $v0, $f8 +/* CCBC40 80240930 00000000 */ nop +/* CCBC44 80240934 A6220000 */ sh $v0, ($s1) +/* CCBC48 80240938 86020002 */ lh $v0, 2($s0) +/* CCBC4C 8024093C 2442FFD4 */ addiu $v0, $v0, -0x2c +/* CCBC50 80240940 44821000 */ mtc1 $v0, $f2 +/* CCBC54 80240944 00000000 */ nop +/* CCBC58 80240948 468010A0 */ cvt.s.w $f2, $f2 +/* CCBC5C 8024094C 46141082 */ mul.s $f2, $f2, $f20 +/* CCBC60 80240950 00000000 */ nop +/* CCBC64 80240954 3C014230 */ lui $at, 0x4230 +/* CCBC68 80240958 44812000 */ mtc1 $at, $f4 +/* CCBC6C 8024095C 00000000 */ nop +/* CCBC70 80240960 46041080 */ add.s $f2, $f2, $f4 +/* CCBC74 80240964 46061080 */ add.s $f2, $f2, $f6 +/* CCBC78 80240968 3C01C2AE */ lui $at, 0xc2ae +/* CCBC7C 8024096C 44812000 */ mtc1 $at, $f4 +/* CCBC80 80240970 00000000 */ nop +/* CCBC84 80240974 46040002 */ mul.s $f0, $f0, $f4 +/* CCBC88 80240978 00000000 */ nop +/* CCBC8C 8024097C 4600120D */ trunc.w.s $f8, $f2 +/* CCBC90 80240980 44024000 */ mfc1 $v0, $f8 +/* CCBC94 80240984 00000000 */ nop +/* CCBC98 80240988 A6220002 */ sh $v0, 2($s1) +/* CCBC9C 8024098C 86020004 */ lh $v0, 4($s0) +/* CCBCA0 80240990 2442FF8F */ addiu $v0, $v0, -0x71 +/* CCBCA4 80240994 44821000 */ mtc1 $v0, $f2 +/* CCBCA8 80240998 00000000 */ nop +/* CCBCAC 8024099C 468010A0 */ cvt.s.w $f2, $f2 +/* CCBCB0 802409A0 46141082 */ mul.s $f2, $f2, $f20 +/* CCBCB4 802409A4 00000000 */ nop +/* CCBCB8 802409A8 3C0142E2 */ lui $at, 0x42e2 +/* CCBCBC 802409AC 44812000 */ mtc1 $at, $f4 +/* CCBCC0 802409B0 00000000 */ nop +/* CCBCC4 802409B4 46041080 */ add.s $f2, $f2, $f4 +/* CCBCC8 802409B8 46001080 */ add.s $f2, $f2, $f0 +/* CCBCCC 802409BC 4600120D */ trunc.w.s $f8, $f2 +/* CCBCD0 802409C0 44024000 */ mfc1 $v0, $f8 +/* CCBCD4 802409C4 00000000 */ nop +/* CCBCD8 802409C8 A6220004 */ sh $v0, 4($s1) +.L802409CC: +/* CCBCDC 802409CC 8FA20018 */ lw $v0, 0x18($sp) +/* CCBCE0 802409D0 26520001 */ addiu $s2, $s2, 1 +/* CCBCE4 802409D4 0242102A */ slt $v0, $s2, $v0 +/* CCBCE8 802409D8 1440FF99 */ bnez $v0, .L80240840 +/* CCBCEC 802409DC 00122100 */ sll $a0, $s2, 4 +.L802409E0: +/* CCBCF0 802409E0 3C03800A */ lui $v1, 0x800a +/* CCBCF4 802409E4 2463A66C */ addiu $v1, $v1, -0x5994 +/* CCBCF8 802409E8 8C620000 */ lw $v0, ($v1) +/* CCBCFC 802409EC 24040001 */ addiu $a0, $zero, 1 +/* CCBD00 802409F0 0040802D */ daddu $s0, $v0, $zero +/* CCBD04 802409F4 24420008 */ addiu $v0, $v0, 8 +/* CCBD08 802409F8 AC620000 */ sw $v0, ($v1) +/* CCBD0C 802409FC 3C02DE00 */ lui $v0, 0xde00 +/* CCBD10 80240A00 0C0470BB */ jal func_8011C2EC +/* CCBD14 80240A04 AE020000 */ sw $v0, ($s0) +/* CCBD18 80240A08 0000202D */ daddu $a0, $zero, $zero +/* CCBD1C 80240A0C 3C05F971 */ lui $a1, 0xf971 +/* CCBD20 80240A10 34A588A4 */ ori $a1, $a1, 0x88a4 +/* CCBD24 80240A14 0C0B1EAF */ jal get_variable +/* CCBD28 80240A18 AE020004 */ sw $v0, 4($s0) +/* CCBD2C 80240A1C 10400017 */ beqz $v0, .L80240A7C +/* CCBD30 80240A20 00000000 */ nop +/* CCBD34 80240A24 3C048024 */ lui $a0, 0x8024 +/* CCBD38 80240A28 24843B18 */ addiu $a0, $a0, 0x3b18 +/* CCBD3C 80240A2C 8C830000 */ lw $v1, ($a0) +/* CCBD40 80240A30 2862005B */ slti $v0, $v1, 0x5b +/* CCBD44 80240A34 14400005 */ bnez $v0, .L80240A4C +/* CCBD48 80240A38 2862FFA6 */ slti $v0, $v1, -0x5a +/* CCBD4C 80240A3C 2462FE98 */ addiu $v0, $v1, -0x168 +/* CCBD50 80240A40 AC820000 */ sw $v0, ($a0) +/* CCBD54 80240A44 8C830000 */ lw $v1, ($a0) +/* CCBD58 80240A48 2862FFA6 */ slti $v0, $v1, -0x5a +.L80240A4C: +/* CCBD5C 80240A4C 14400002 */ bnez $v0, .L80240A58 +/* CCBD60 80240A50 24620014 */ addiu $v0, $v1, 0x14 +/* CCBD64 80240A54 24620005 */ addiu $v0, $v1, 5 +.L80240A58: +/* CCBD68 80240A58 AC820000 */ sw $v0, ($a0) +/* CCBD6C 80240A5C 3C038024 */ lui $v1, 0x8024 +/* CCBD70 80240A60 24633B18 */ addiu $v1, $v1, 0x3b18 +/* CCBD74 80240A64 8C620000 */ lw $v0, ($v1) +/* CCBD78 80240A68 2842005A */ slti $v0, $v0, 0x5a +/* CCBD7C 80240A6C 14400013 */ bnez $v0, .L80240ABC +/* CCBD80 80240A70 2402005A */ addiu $v0, $zero, 0x5a +/* CCBD84 80240A74 080902AF */ j .L80240ABC +/* CCBD88 80240A78 AC620000 */ sw $v0, ($v1) +.L80240A7C: +/* CCBD8C 80240A7C 3C028024 */ lui $v0, 0x8024 +/* CCBD90 80240A80 8C423B18 */ lw $v0, 0x3b18($v0) +/* CCBD94 80240A84 2442FF73 */ addiu $v0, $v0, -0x8d +/* CCBD98 80240A88 2C420077 */ sltiu $v0, $v0, 0x77 +/* CCBD9C 80240A8C 10400004 */ beqz $v0, .L80240AA0 +/* CCBDA0 80240A90 24020001 */ addiu $v0, $zero, 1 +/* CCBDA4 80240A94 3C018024 */ lui $at, 0x8024 +/* CCBDA8 80240A98 080902AA */ j .L80240AA8 +/* CCBDAC 80240A9C AC2231CC */ sw $v0, 0x31cc($at) +.L80240AA0: +/* CCBDB0 80240AA0 3C018024 */ lui $at, 0x8024 +/* CCBDB4 80240AA4 AC2031CC */ sw $zero, 0x31cc($at) +.L80240AA8: +/* CCBDB8 80240AA8 3C038024 */ lui $v1, 0x8024 +/* CCBDBC 80240AAC 24633B18 */ addiu $v1, $v1, 0x3b18 +/* CCBDC0 80240AB0 8C620000 */ lw $v0, ($v1) +/* CCBDC4 80240AB4 24420005 */ addiu $v0, $v0, 5 +/* CCBDC8 80240AB8 AC620000 */ sw $v0, ($v1) +.L80240ABC: +/* CCBDCC 80240ABC 3C048024 */ lui $a0, 0x8024 +/* CCBDD0 80240AC0 24843B18 */ addiu $a0, $a0, 0x3b18 +/* CCBDD4 80240AC4 8C830000 */ lw $v1, ($a0) +/* CCBDD8 80240AC8 28620168 */ slti $v0, $v1, 0x168 +/* CCBDDC 80240ACC 14400002 */ bnez $v0, .L80240AD8 +/* CCBDE0 80240AD0 2462FE98 */ addiu $v0, $v1, -0x168 +/* CCBDE4 80240AD4 AC820000 */ sw $v0, ($a0) +.L80240AD8: +/* CCBDE8 80240AD8 8FBF0030 */ lw $ra, 0x30($sp) +/* CCBDEC 80240ADC 8FB3002C */ lw $s3, 0x2c($sp) +/* CCBDF0 80240AE0 8FB20028 */ lw $s2, 0x28($sp) +/* CCBDF4 80240AE4 8FB10024 */ lw $s1, 0x24($sp) +/* CCBDF8 80240AE8 8FB00020 */ lw $s0, 0x20($sp) +/* CCBDFC 80240AEC D7BA0050 */ ldc1 $f26, 0x50($sp) +/* CCBE00 80240AF0 D7B80048 */ ldc1 $f24, 0x48($sp) +/* CCBE04 80240AF4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* CCBE08 80240AF8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* CCBE0C 80240AFC 03E00008 */ jr $ra +/* CCBE10 80240B00 27BD0058 */ addiu $sp, $sp, 0x58 +/* CCBE14 80240B04 00000000 */ nop +/* CCBE18 80240B08 00000000 */ nop +/* CCBE1C 80240B0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240B10_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240B10_CCB310.s new file mode 100644 index 0000000000..a4a4fc1b06 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240B10_CCB310.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B10_CCBE20 +/* CCBE20 80240B10 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CCBE24 80240B14 AFB3002C */ sw $s3, 0x2c($sp) +/* CCBE28 80240B18 0080982D */ daddu $s3, $a0, $zero +/* CCBE2C 80240B1C AFBF0030 */ sw $ra, 0x30($sp) +/* CCBE30 80240B20 AFB20028 */ sw $s2, 0x28($sp) +/* CCBE34 80240B24 AFB10024 */ sw $s1, 0x24($sp) +/* CCBE38 80240B28 AFB00020 */ sw $s0, 0x20($sp) +/* CCBE3C 80240B2C 8E710148 */ lw $s1, 0x148($s3) +/* CCBE40 80240B30 86240008 */ lh $a0, 8($s1) +/* CCBE44 80240B34 0C00EABB */ jal get_npc_unsafe +/* CCBE48 80240B38 00A0902D */ daddu $s2, $a1, $zero +/* CCBE4C 80240B3C 8E440004 */ lw $a0, 4($s2) +/* CCBE50 80240B40 0040802D */ daddu $s0, $v0, $zero +/* CCBE54 80240B44 00041FC2 */ srl $v1, $a0, 0x1f +/* CCBE58 80240B48 00832021 */ addu $a0, $a0, $v1 +/* CCBE5C 80240B4C 00042043 */ sra $a0, $a0, 1 +/* CCBE60 80240B50 0C00A67F */ jal rand_int +/* CCBE64 80240B54 24840001 */ addiu $a0, $a0, 1 +/* CCBE68 80240B58 8E430004 */ lw $v1, 4($s2) +/* CCBE6C 80240B5C 000327C2 */ srl $a0, $v1, 0x1f +/* CCBE70 80240B60 00641821 */ addu $v1, $v1, $a0 +/* CCBE74 80240B64 00031843 */ sra $v1, $v1, 1 +/* CCBE78 80240B68 00621821 */ addu $v1, $v1, $v0 +/* CCBE7C 80240B6C A603008E */ sh $v1, 0x8e($s0) +/* CCBE80 80240B70 8E2300D0 */ lw $v1, 0xd0($s1) +/* CCBE84 80240B74 C6000040 */ lwc1 $f0, 0x40($s0) +/* CCBE88 80240B78 C4640000 */ lwc1 $f4, ($v1) +/* CCBE8C 80240B7C 46802120 */ cvt.s.w $f4, $f4 +/* CCBE90 80240B80 C4620008 */ lwc1 $f2, 8($v1) +/* CCBE94 80240B84 468010A0 */ cvt.s.w $f2, $f2 +/* CCBE98 80240B88 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCBE9C 80240B8C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCBEA0 80240B90 44061000 */ mfc1 $a2, $f2 +/* CCBEA4 80240B94 C440000C */ lwc1 $f0, 0xc($v0) +/* CCBEA8 80240B98 46800020 */ cvt.s.w $f0, $f0 +/* CCBEAC 80240B9C E7A00014 */ swc1 $f0, 0x14($sp) +/* CCBEB0 80240BA0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCBEB4 80240BA4 44052000 */ mfc1 $a1, $f4 +/* CCBEB8 80240BA8 C4400010 */ lwc1 $f0, 0x10($v0) +/* CCBEBC 80240BAC 46800020 */ cvt.s.w $f0, $f0 +/* CCBEC0 80240BB0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCBEC4 80240BB4 8C640018 */ lw $a0, 0x18($v1) +/* CCBEC8 80240BB8 0C0123F5 */ jal is_point_within_region +/* CCBECC 80240BBC 8E070038 */ lw $a3, 0x38($s0) +/* CCBED0 80240BC0 1040000E */ beqz $v0, .L80240BFC +/* CCBED4 80240BC4 00000000 */ nop +/* CCBED8 80240BC8 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCBEDC 80240BCC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CCBEE0 80240BD0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CCBEE4 80240BD4 C4460000 */ lwc1 $f6, ($v0) +/* CCBEE8 80240BD8 468031A0 */ cvt.s.w $f6, $f6 +/* CCBEEC 80240BDC 44063000 */ mfc1 $a2, $f6 +/* CCBEF0 80240BE0 C4460008 */ lwc1 $f6, 8($v0) +/* CCBEF4 80240BE4 468031A0 */ cvt.s.w $f6, $f6 +/* CCBEF8 80240BE8 44073000 */ mfc1 $a3, $f6 +/* CCBEFC 80240BEC 0C00A720 */ jal atan2 +/* CCBF00 80240BF0 00000000 */ nop +/* CCBF04 80240BF4 0809030B */ j .L80240C2C +/* CCBF08 80240BF8 E600000C */ swc1 $f0, 0xc($s0) +.L80240BFC: +/* CCBF0C 80240BFC 0C00A67F */ jal rand_int +/* CCBF10 80240C00 2404003C */ addiu $a0, $zero, 0x3c +/* CCBF14 80240C04 C60C000C */ lwc1 $f12, 0xc($s0) +/* CCBF18 80240C08 44820000 */ mtc1 $v0, $f0 +/* CCBF1C 80240C0C 00000000 */ nop +/* CCBF20 80240C10 46800020 */ cvt.s.w $f0, $f0 +/* CCBF24 80240C14 46006300 */ add.s $f12, $f12, $f0 +/* CCBF28 80240C18 3C0141F0 */ lui $at, 0x41f0 +/* CCBF2C 80240C1C 44810000 */ mtc1 $at, $f0 +/* CCBF30 80240C20 0C00A6C9 */ jal clamp_angle +/* CCBF34 80240C24 46006301 */ sub.s $f12, $f12, $f0 +/* CCBF38 80240C28 E600000C */ swc1 $f0, 0xc($s0) +.L80240C2C: +/* CCBF3C 80240C2C 8E2200CC */ lw $v0, 0xcc($s1) +/* CCBF40 80240C30 8C420004 */ lw $v0, 4($v0) +/* CCBF44 80240C34 AE020028 */ sw $v0, 0x28($s0) +/* CCBF48 80240C38 AE600074 */ sw $zero, 0x74($s3) +/* CCBF4C 80240C3C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCBF50 80240C40 8C420014 */ lw $v0, 0x14($v0) +/* CCBF54 80240C44 04410004 */ bgez $v0, .L80240C58 +/* CCBF58 80240C48 00000000 */ nop +/* CCBF5C 80240C4C C6400000 */ lwc1 $f0, ($s2) +/* CCBF60 80240C50 0809031E */ j .L80240C78 +/* CCBF64 80240C54 E6000018 */ swc1 $f0, 0x18($s0) +.L80240C58: +/* CCBF68 80240C58 3C018024 */ lui $at, 0x8024 +/* CCBF6C 80240C5C D4225350 */ ldc1 $f2, 0x5350($at) +/* CCBF70 80240C60 44820000 */ mtc1 $v0, $f0 +/* CCBF74 80240C64 00000000 */ nop +/* CCBF78 80240C68 46800021 */ cvt.d.w $f0, $f0 +/* CCBF7C 80240C6C 46220003 */ div.d $f0, $f0, $f2 +/* CCBF80 80240C70 46200020 */ cvt.s.d $f0, $f0 +/* CCBF84 80240C74 E6000018 */ swc1 $f0, 0x18($s0) +.L80240C78: +/* CCBF88 80240C78 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCBF8C 80240C7C 3C014059 */ lui $at, 0x4059 +/* CCBF90 80240C80 44811800 */ mtc1 $at, $f3 +/* CCBF94 80240C84 44801000 */ mtc1 $zero, $f2 +/* CCBF98 80240C88 46000021 */ cvt.d.s $f0, $f0 +/* CCBF9C 80240C8C 46220002 */ mul.d $f0, $f0, $f2 +/* CCBFA0 80240C90 00000000 */ nop +/* CCBFA4 80240C94 24020001 */ addiu $v0, $zero, 1 +/* CCBFA8 80240C98 4620018D */ trunc.w.d $f6, $f0 +/* CCBFAC 80240C9C E626007C */ swc1 $f6, 0x7c($s1) +/* CCBFB0 80240CA0 AE620070 */ sw $v0, 0x70($s3) +/* CCBFB4 80240CA4 8FBF0030 */ lw $ra, 0x30($sp) +/* CCBFB8 80240CA8 8FB3002C */ lw $s3, 0x2c($sp) +/* CCBFBC 80240CAC 8FB20028 */ lw $s2, 0x28($sp) +/* CCBFC0 80240CB0 8FB10024 */ lw $s1, 0x24($sp) +/* CCBFC4 80240CB4 8FB00020 */ lw $s0, 0x20($sp) +/* CCBFC8 80240CB8 03E00008 */ jr $ra +/* CCBFCC 80240CBC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80240CC0_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80240CC0_CCB310.s new file mode 100644 index 0000000000..bc388df124 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80240CC0_CCB310.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_CCBFD0 +/* CCBFD0 80240CC0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CCBFD4 80240CC4 AFB3004C */ sw $s3, 0x4c($sp) +/* CCBFD8 80240CC8 0080982D */ daddu $s3, $a0, $zero +/* CCBFDC 80240CCC AFBF0058 */ sw $ra, 0x58($sp) +/* CCBFE0 80240CD0 AFB50054 */ sw $s5, 0x54($sp) +/* CCBFE4 80240CD4 AFB40050 */ sw $s4, 0x50($sp) +/* CCBFE8 80240CD8 AFB20048 */ sw $s2, 0x48($sp) +/* CCBFEC 80240CDC AFB10044 */ sw $s1, 0x44($sp) +/* CCBFF0 80240CE0 AFB00040 */ sw $s0, 0x40($sp) +/* CCBFF4 80240CE4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CCBFF8 80240CE8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CCBFFC 80240CEC F7B60068 */ sdc1 $f22, 0x68($sp) +/* CCC000 80240CF0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CCC004 80240CF4 8E710148 */ lw $s1, 0x148($s3) +/* CCC008 80240CF8 00A0902D */ daddu $s2, $a1, $zero +/* CCC00C 80240CFC 86240008 */ lh $a0, 8($s1) +/* CCC010 80240D00 0C00EABB */ jal get_npc_unsafe +/* CCC014 80240D04 00C0A82D */ daddu $s5, $a2, $zero +/* CCC018 80240D08 0040802D */ daddu $s0, $v0, $zero +/* CCC01C 80240D0C 0000A02D */ daddu $s4, $zero, $zero +/* CCC020 80240D10 C624007C */ lwc1 $f4, 0x7c($s1) +/* CCC024 80240D14 46802120 */ cvt.s.w $f4, $f4 +/* CCC028 80240D18 C6220088 */ lwc1 $f2, 0x88($s1) +/* CCC02C 80240D1C 468010A0 */ cvt.s.w $f2, $f2 +/* CCC030 80240D20 460010A1 */ cvt.d.s $f2, $f2 +/* CCC034 80240D24 46002121 */ cvt.d.s $f4, $f4 +/* CCC038 80240D28 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCC03C 80240D2C 3C014059 */ lui $at, 0x4059 +/* CCC040 80240D30 44813800 */ mtc1 $at, $f7 +/* CCC044 80240D34 44803000 */ mtc1 $zero, $f6 +/* CCC048 80240D38 46000021 */ cvt.d.s $f0, $f0 +/* CCC04C 80240D3C 46260002 */ mul.d $f0, $f0, $f6 +/* CCC050 80240D40 00000000 */ nop +/* CCC054 80240D44 24020001 */ addiu $v0, $zero, 1 +/* CCC058 80240D48 8E24006C */ lw $a0, 0x6c($s1) +/* CCC05C 80240D4C 46261083 */ div.d $f2, $f2, $f6 +/* CCC060 80240D50 462010A0 */ cvt.s.d $f2, $f2 +/* CCC064 80240D54 46262103 */ div.d $f4, $f4, $f6 +/* CCC068 80240D58 46202520 */ cvt.s.d $f20, $f4 +/* CCC06C 80240D5C 30830011 */ andi $v1, $a0, 0x11 +/* CCC070 80240D60 4620020D */ trunc.w.d $f8, $f0 +/* CCC074 80240D64 E628007C */ swc1 $f8, 0x7c($s1) +/* CCC078 80240D68 C6200078 */ lwc1 $f0, 0x78($s1) +/* CCC07C 80240D6C 46800020 */ cvt.s.w $f0, $f0 +/* CCC080 80240D70 46000021 */ cvt.d.s $f0, $f0 +/* CCC084 80240D74 46260003 */ div.d $f0, $f0, $f6 +/* CCC088 80240D78 462006A0 */ cvt.s.d $f26, $f0 +/* CCC08C 80240D7C C6200070 */ lwc1 $f0, 0x70($s1) +/* CCC090 80240D80 46800020 */ cvt.s.w $f0, $f0 +/* CCC094 80240D84 46000021 */ cvt.d.s $f0, $f0 +/* CCC098 80240D88 46260003 */ div.d $f0, $f0, $f6 +/* CCC09C 80240D8C 462005A0 */ cvt.s.d $f22, $f0 +/* CCC0A0 80240D90 14620025 */ bne $v1, $v0, .L80240E28 +/* CCC0A4 80240D94 4602D600 */ add.s $f24, $f26, $f2 +/* CCC0A8 80240D98 8E020000 */ lw $v0, ($s0) +/* CCC0AC 80240D9C 30420008 */ andi $v0, $v0, 8 +/* CCC0B0 80240DA0 10400009 */ beqz $v0, .L80240DC8 +/* CCC0B4 80240DA4 27A50028 */ addiu $a1, $sp, 0x28 +/* CCC0B8 80240DA8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCC0BC 80240DAC 4600C001 */ sub.s $f0, $f24, $f0 +/* CCC0C0 80240DB0 4600B03C */ c.lt.s $f22, $f0 +/* CCC0C4 80240DB4 00000000 */ nop +/* CCC0C8 80240DB8 4500001B */ bc1f .L80240E28 +/* CCC0CC 80240DBC 34820010 */ ori $v0, $a0, 0x10 +/* CCC0D0 80240DC0 0809038A */ j .L80240E28 +/* CCC0D4 80240DC4 AE22006C */ sw $v0, 0x6c($s1) +.L80240DC8: +/* CCC0D8 80240DC8 27A6002C */ addiu $a2, $sp, 0x2c +/* CCC0DC 80240DCC C6000038 */ lwc1 $f0, 0x38($s0) +/* CCC0E0 80240DD0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCC0E4 80240DD4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CCC0E8 80240DD8 3C01447A */ lui $at, 0x447a +/* CCC0EC 80240DDC 44813000 */ mtc1 $at, $f6 +/* CCC0F0 80240DE0 27A20034 */ addiu $v0, $sp, 0x34 +/* CCC0F4 80240DE4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CCC0F8 80240DE8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CCC0FC 80240DEC E7A40030 */ swc1 $f4, 0x30($sp) +/* CCC100 80240DF0 E7A60034 */ swc1 $f6, 0x34($sp) +/* CCC104 80240DF4 AFA20010 */ sw $v0, 0x10($sp) +/* CCC108 80240DF8 8E040080 */ lw $a0, 0x80($s0) +/* CCC10C 80240DFC 0C0372DF */ jal func_800DCB7C +/* CCC110 80240E00 27A70030 */ addiu $a3, $sp, 0x30 +/* CCC114 80240E04 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CCC118 80240E08 4600D001 */ sub.s $f0, $f26, $f0 +/* CCC11C 80240E0C 4600B03C */ c.lt.s $f22, $f0 +/* CCC120 80240E10 00000000 */ nop +/* CCC124 80240E14 45000004 */ bc1f .L80240E28 +/* CCC128 80240E18 00000000 */ nop +/* CCC12C 80240E1C 8E22006C */ lw $v0, 0x6c($s1) +/* CCC130 80240E20 34420010 */ ori $v0, $v0, 0x10 +/* CCC134 80240E24 AE22006C */ sw $v0, 0x6c($s1) +.L80240E28: +/* CCC138 80240E28 8E22006C */ lw $v0, 0x6c($s1) +/* CCC13C 80240E2C 24030011 */ addiu $v1, $zero, 0x11 +/* CCC140 80240E30 30420011 */ andi $v0, $v0, 0x11 +/* CCC144 80240E34 14430039 */ bne $v0, $v1, .L80240F1C +/* CCC148 80240E38 00000000 */ nop +/* CCC14C 80240E3C 8E020000 */ lw $v0, ($s0) +/* CCC150 80240E40 30420008 */ andi $v0, $v0, 8 +/* CCC154 80240E44 1040000A */ beqz $v0, .L80240E70 +/* CCC158 80240E48 4600C106 */ mov.s $f4, $f24 +/* CCC15C 80240E4C 4614C081 */ sub.s $f2, $f24, $f20 +/* CCC160 80240E50 3C018024 */ lui $at, 0x8024 +/* CCC164 80240E54 D4205358 */ ldc1 $f0, 0x5358($at) +/* CCC168 80240E58 460010A1 */ cvt.d.s $f2, $f2 +/* CCC16C 80240E5C 46201082 */ mul.d $f2, $f2, $f0 +/* CCC170 80240E60 00000000 */ nop +/* CCC174 80240E64 4600A021 */ cvt.d.s $f0, $f20 +/* CCC178 80240E68 080903B5 */ j .L80240ED4 +/* CCC17C 80240E6C 46220000 */ add.d $f0, $f0, $f2 +.L80240E70: +/* CCC180 80240E70 27A50028 */ addiu $a1, $sp, 0x28 +/* CCC184 80240E74 27A6002C */ addiu $a2, $sp, 0x2c +/* CCC188 80240E78 C6000038 */ lwc1 $f0, 0x38($s0) +/* CCC18C 80240E7C C6020040 */ lwc1 $f2, 0x40($s0) +/* CCC190 80240E80 3C01447A */ lui $at, 0x447a +/* CCC194 80240E84 44812000 */ mtc1 $at, $f4 +/* CCC198 80240E88 27A20034 */ addiu $v0, $sp, 0x34 +/* CCC19C 80240E8C E7B4002C */ swc1 $f20, 0x2c($sp) +/* CCC1A0 80240E90 E7A00028 */ swc1 $f0, 0x28($sp) +/* CCC1A4 80240E94 E7A20030 */ swc1 $f2, 0x30($sp) +/* CCC1A8 80240E98 E7A40034 */ swc1 $f4, 0x34($sp) +/* CCC1AC 80240E9C AFA20010 */ sw $v0, 0x10($sp) +/* CCC1B0 80240EA0 8E040080 */ lw $a0, 0x80($s0) +/* CCC1B4 80240EA4 0C0372DF */ jal func_800DCB7C +/* CCC1B8 80240EA8 27A70030 */ addiu $a3, $sp, 0x30 +/* CCC1BC 80240EAC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CCC1C0 80240EB0 461A2100 */ add.s $f4, $f4, $f26 +/* CCC1C4 80240EB4 46142081 */ sub.s $f2, $f4, $f20 +/* CCC1C8 80240EB8 3C018024 */ lui $at, 0x8024 +/* CCC1CC 80240EBC D4205360 */ ldc1 $f0, 0x5360($at) +/* CCC1D0 80240EC0 460010A1 */ cvt.d.s $f2, $f2 +/* CCC1D4 80240EC4 46201082 */ mul.d $f2, $f2, $f0 +/* CCC1D8 80240EC8 00000000 */ nop +/* CCC1DC 80240ECC 4600A021 */ cvt.d.s $f0, $f20 +/* CCC1E0 80240ED0 46220000 */ add.d $f0, $f0, $f2 +.L80240ED4: +/* CCC1E4 80240ED4 46200020 */ cvt.s.d $f0, $f0 +/* CCC1E8 80240ED8 E600003C */ swc1 $f0, 0x3c($s0) +/* CCC1EC 80240EDC C600003C */ lwc1 $f0, 0x3c($s0) +/* CCC1F0 80240EE0 46002001 */ sub.s $f0, $f4, $f0 +/* CCC1F4 80240EE4 3C013FF0 */ lui $at, 0x3ff0 +/* CCC1F8 80240EE8 44811800 */ mtc1 $at, $f3 +/* CCC1FC 80240EEC 44801000 */ mtc1 $zero, $f2 +/* CCC200 80240EF0 46000005 */ abs.s $f0, $f0 +/* CCC204 80240EF4 46000021 */ cvt.d.s $f0, $f0 +/* CCC208 80240EF8 4622003C */ c.lt.d $f0, $f2 +/* CCC20C 80240EFC 00000000 */ nop +/* CCC210 80240F00 45000036 */ bc1f .L80240FDC +/* CCC214 80240F04 2403FFEF */ addiu $v1, $zero, -0x11 +/* CCC218 80240F08 E604003C */ swc1 $f4, 0x3c($s0) +/* CCC21C 80240F0C 8E22006C */ lw $v0, 0x6c($s1) +/* CCC220 80240F10 00431024 */ and $v0, $v0, $v1 +/* CCC224 80240F14 080903F7 */ j .L80240FDC +/* CCC228 80240F18 AE22006C */ sw $v0, 0x6c($s1) +.L80240F1C: +/* CCC22C 80240F1C 8E220070 */ lw $v0, 0x70($s1) +/* CCC230 80240F20 1840002E */ blez $v0, .L80240FDC +/* CCC234 80240F24 00000000 */ nop +/* CCC238 80240F28 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CCC23C 80240F2C 0C00A8BB */ jal sin_deg +/* CCC240 80240F30 46806320 */ cvt.s.w $f12, $f12 +/* CCC244 80240F34 8E020000 */ lw $v0, ($s0) +/* CCC248 80240F38 30420008 */ andi $v0, $v0, 8 +/* CCC24C 80240F3C 10400003 */ beqz $v0, .L80240F4C +/* CCC250 80240F40 46000506 */ mov.s $f20, $f0 +/* CCC254 80240F44 080903E3 */ j .L80240F8C +/* CCC258 80240F48 0000102D */ daddu $v0, $zero, $zero +.L80240F4C: +/* CCC25C 80240F4C 27A50028 */ addiu $a1, $sp, 0x28 +/* CCC260 80240F50 27A6002C */ addiu $a2, $sp, 0x2c +/* CCC264 80240F54 C6000038 */ lwc1 $f0, 0x38($s0) +/* CCC268 80240F58 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCC26C 80240F5C C6040040 */ lwc1 $f4, 0x40($s0) +/* CCC270 80240F60 3C01447A */ lui $at, 0x447a +/* CCC274 80240F64 44813000 */ mtc1 $at, $f6 +/* CCC278 80240F68 27A20034 */ addiu $v0, $sp, 0x34 +/* CCC27C 80240F6C E7A00028 */ swc1 $f0, 0x28($sp) +/* CCC280 80240F70 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CCC284 80240F74 E7A40030 */ swc1 $f4, 0x30($sp) +/* CCC288 80240F78 E7A60034 */ swc1 $f6, 0x34($sp) +/* CCC28C 80240F7C AFA20010 */ sw $v0, 0x10($sp) +/* CCC290 80240F80 8E040080 */ lw $a0, 0x80($s0) +/* CCC294 80240F84 0C0372DF */ jal func_800DCB7C +/* CCC298 80240F88 27A70030 */ addiu $a3, $sp, 0x30 +.L80240F8C: +/* CCC29C 80240F8C 10400007 */ beqz $v0, .L80240FAC +/* CCC2A0 80240F90 00000000 */ nop +/* CCC2A4 80240F94 4616A082 */ mul.s $f2, $f20, $f22 +/* CCC2A8 80240F98 00000000 */ nop +/* CCC2AC 80240F9C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CCC2B0 80240FA0 461A0000 */ add.s $f0, $f0, $f26 +/* CCC2B4 80240FA4 080903EE */ j .L80240FB8 +/* CCC2B8 80240FA8 46020000 */ add.s $f0, $f0, $f2 +.L80240FAC: +/* CCC2BC 80240FAC 4616A002 */ mul.s $f0, $f20, $f22 +/* CCC2C0 80240FB0 00000000 */ nop +/* CCC2C4 80240FB4 4600C000 */ add.s $f0, $f24, $f0 +.L80240FB8: +/* CCC2C8 80240FB8 E600003C */ swc1 $f0, 0x3c($s0) +/* CCC2CC 80240FBC 8E220074 */ lw $v0, 0x74($s1) +/* CCC2D0 80240FC0 2442000A */ addiu $v0, $v0, 0xa +/* CCC2D4 80240FC4 44826000 */ mtc1 $v0, $f12 +/* CCC2D8 80240FC8 00000000 */ nop +/* CCC2DC 80240FCC 0C00A6C9 */ jal clamp_angle +/* CCC2E0 80240FD0 46806320 */ cvt.s.w $f12, $f12 +/* CCC2E4 80240FD4 4600020D */ trunc.w.s $f8, $f0 +/* CCC2E8 80240FD8 E6280074 */ swc1 $f8, 0x74($s1) +.L80240FDC: +/* CCC2EC 80240FDC 8E220090 */ lw $v0, 0x90($s1) +/* CCC2F0 80240FE0 1C40004A */ bgtz $v0, .L8024110C +/* CCC2F4 80240FE4 2442FFFF */ addiu $v0, $v0, -1 +/* CCC2F8 80240FE8 8E430014 */ lw $v1, 0x14($s2) +/* CCC2FC 80240FEC 04600048 */ bltz $v1, .L80241110 +/* CCC300 80240FF0 00000000 */ nop +/* CCC304 80240FF4 8E620074 */ lw $v0, 0x74($s3) +/* CCC308 80240FF8 1C400042 */ bgtz $v0, .L80241104 +/* CCC30C 80240FFC 2442FFFF */ addiu $v0, $v0, -1 +/* CCC310 80241000 AE630074 */ sw $v1, 0x74($s3) +/* CCC314 80241004 860200A8 */ lh $v0, 0xa8($s0) +/* CCC318 80241008 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCC31C 8024100C 44820000 */ mtc1 $v0, $f0 +/* CCC320 80241010 00000000 */ nop +/* CCC324 80241014 46800020 */ cvt.s.w $f0, $f0 +/* CCC328 80241018 46001080 */ add.s $f2, $f2, $f0 +/* CCC32C 8024101C 3C014024 */ lui $at, 0x4024 +/* CCC330 80241020 44810800 */ mtc1 $at, $f1 +/* CCC334 80241024 44800000 */ mtc1 $zero, $f0 +/* CCC338 80241028 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CCC33C 8024102C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CCC340 80241030 460010A1 */ cvt.d.s $f2, $f2 +/* CCC344 80241034 46201080 */ add.d $f2, $f2, $f0 +/* CCC348 80241038 C440002C */ lwc1 $f0, 0x2c($v0) +/* CCC34C 8024103C 46000021 */ cvt.d.s $f0, $f0 +/* CCC350 80241040 4622003C */ c.lt.d $f0, $f2 +/* CCC354 80241044 00000000 */ nop +/* CCC358 80241048 4500002C */ bc1f .L802410FC +/* CCC35C 8024104C 02A0202D */ daddu $a0, $s5, $zero +/* CCC360 80241050 AFA00010 */ sw $zero, 0x10($sp) +/* CCC364 80241054 8E46000C */ lw $a2, 0xc($s2) +/* CCC368 80241058 8E470010 */ lw $a3, 0x10($s2) +/* CCC36C 8024105C 0C01242D */ jal func_800490B4 +/* CCC370 80241060 0220282D */ daddu $a1, $s1, $zero +/* CCC374 80241064 10400025 */ beqz $v0, .L802410FC +/* CCC378 80241068 0000202D */ daddu $a0, $zero, $zero +/* CCC37C 8024106C 0200282D */ daddu $a1, $s0, $zero +/* CCC380 80241070 0000302D */ daddu $a2, $zero, $zero +/* CCC384 80241074 2412000C */ addiu $s2, $zero, 0xc +/* CCC388 80241078 860300A8 */ lh $v1, 0xa8($s0) +/* CCC38C 8024107C 3C013F80 */ lui $at, 0x3f80 +/* CCC390 80241080 44810000 */ mtc1 $at, $f0 +/* CCC394 80241084 3C014000 */ lui $at, 0x4000 +/* CCC398 80241088 44811000 */ mtc1 $at, $f2 +/* CCC39C 8024108C 3C01C1A0 */ lui $at, 0xc1a0 +/* CCC3A0 80241090 44812000 */ mtc1 $at, $f4 +/* CCC3A4 80241094 44834000 */ mtc1 $v1, $f8 +/* CCC3A8 80241098 00000000 */ nop +/* CCC3AC 8024109C 46804220 */ cvt.s.w $f8, $f8 +/* CCC3B0 802410A0 44074000 */ mfc1 $a3, $f8 +/* CCC3B4 802410A4 27A20038 */ addiu $v0, $sp, 0x38 +/* CCC3B8 802410A8 AFB2001C */ sw $s2, 0x1c($sp) +/* CCC3BC 802410AC AFA20020 */ sw $v0, 0x20($sp) +/* CCC3C0 802410B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCC3C4 802410B4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CCC3C8 802410B8 0C01BFA4 */ jal fx_emote +/* CCC3CC 802410BC E7A40018 */ swc1 $f4, 0x18($sp) +/* CCC3D0 802410C0 0200202D */ daddu $a0, $s0, $zero +/* CCC3D4 802410C4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CCC3D8 802410C8 C480003C */ lwc1 $f0, 0x3c($a0) +/* CCC3DC 802410CC 3C060020 */ lui $a2, 0x20 +/* CCC3E0 802410D0 0C012530 */ jal func_800494C0 +/* CCC3E4 802410D4 E4800064 */ swc1 $f0, 0x64($a0) +/* CCC3E8 802410D8 8E220018 */ lw $v0, 0x18($s1) +/* CCC3EC 802410DC 9442002A */ lhu $v0, 0x2a($v0) +/* CCC3F0 802410E0 30420001 */ andi $v0, $v0, 1 +/* CCC3F4 802410E4 10400003 */ beqz $v0, .L802410F4 +/* CCC3F8 802410E8 2402000A */ addiu $v0, $zero, 0xa +/* CCC3FC 802410EC 080904AD */ j .L802412B4 +/* CCC400 802410F0 AE620070 */ sw $v0, 0x70($s3) +.L802410F4: +/* CCC404 802410F4 080904AD */ j .L802412B4 +/* CCC408 802410F8 AE720070 */ sw $s2, 0x70($s3) +.L802410FC: +/* CCC40C 802410FC 8E620074 */ lw $v0, 0x74($s3) +/* CCC410 80241100 2442FFFF */ addiu $v0, $v0, -1 +.L80241104: +/* CCC414 80241104 08090444 */ j .L80241110 +/* CCC418 80241108 AE620074 */ sw $v0, 0x74($s3) +.L8024110C: +/* CCC41C 8024110C AE220090 */ sw $v0, 0x90($s1) +.L80241110: +/* CCC420 80241110 8E2300D0 */ lw $v1, 0xd0($s1) +/* CCC424 80241114 C6000040 */ lwc1 $f0, 0x40($s0) +/* CCC428 80241118 C4620000 */ lwc1 $f2, ($v1) +/* CCC42C 8024111C 468010A0 */ cvt.s.w $f2, $f2 +/* CCC430 80241120 C4640008 */ lwc1 $f4, 8($v1) +/* CCC434 80241124 46802120 */ cvt.s.w $f4, $f4 +/* CCC438 80241128 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCC43C 8024112C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCC440 80241130 44051000 */ mfc1 $a1, $f2 +/* CCC444 80241134 C440000C */ lwc1 $f0, 0xc($v0) +/* CCC448 80241138 46800020 */ cvt.s.w $f0, $f0 +/* CCC44C 8024113C E7A00014 */ swc1 $f0, 0x14($sp) +/* CCC450 80241140 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCC454 80241144 44062000 */ mfc1 $a2, $f4 +/* CCC458 80241148 C4400010 */ lwc1 $f0, 0x10($v0) +/* CCC45C 8024114C 46800020 */ cvt.s.w $f0, $f0 +/* CCC460 80241150 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCC464 80241154 8C640018 */ lw $a0, 0x18($v1) +/* CCC468 80241158 0C0123F5 */ jal is_point_within_region +/* CCC46C 8024115C 8E070038 */ lw $a3, 0x38($s0) +/* CCC470 80241160 1040001A */ beqz $v0, .L802411CC +/* CCC474 80241164 00000000 */ nop +/* CCC478 80241168 8E060038 */ lw $a2, 0x38($s0) +/* CCC47C 8024116C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCC480 80241170 8E070040 */ lw $a3, 0x40($s0) +/* CCC484 80241174 C44C0000 */ lwc1 $f12, ($v0) +/* CCC488 80241178 46806320 */ cvt.s.w $f12, $f12 +/* CCC48C 8024117C C44E0008 */ lwc1 $f14, 8($v0) +/* CCC490 80241180 0C00A7B5 */ jal dist2D +/* CCC494 80241184 468073A0 */ cvt.s.w $f14, $f14 +/* CCC498 80241188 C6020018 */ lwc1 $f2, 0x18($s0) +/* CCC49C 8024118C 4600103C */ c.lt.s $f2, $f0 +/* CCC4A0 80241190 00000000 */ nop +/* CCC4A4 80241194 4500000D */ bc1f .L802411CC +/* CCC4A8 80241198 E7A00034 */ swc1 $f0, 0x34($sp) +/* CCC4AC 8024119C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CCC4B0 802411A0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCC4B4 802411A4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CCC4B8 802411A8 C4480000 */ lwc1 $f8, ($v0) +/* CCC4BC 802411AC 46804220 */ cvt.s.w $f8, $f8 +/* CCC4C0 802411B0 44064000 */ mfc1 $a2, $f8 +/* CCC4C4 802411B4 C4480008 */ lwc1 $f8, 8($v0) +/* CCC4C8 802411B8 46804220 */ cvt.s.w $f8, $f8 +/* CCC4CC 802411BC 44074000 */ mfc1 $a3, $f8 +/* CCC4D0 802411C0 0C00A720 */ jal atan2 +/* CCC4D4 802411C4 24140001 */ addiu $s4, $zero, 1 +/* CCC4D8 802411C8 E600000C */ swc1 $f0, 0xc($s0) +.L802411CC: +/* CCC4DC 802411CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CCC4E0 802411D0 8C43000C */ lw $v1, 0xc($v0) +/* CCC4E4 802411D4 8C420010 */ lw $v0, 0x10($v0) +/* CCC4E8 802411D8 00621825 */ or $v1, $v1, $v0 +/* CCC4EC 802411DC 00741825 */ or $v1, $v1, $s4 +/* CCC4F0 802411E0 10600008 */ beqz $v1, .L80241204 +/* CCC4F4 802411E4 00000000 */ nop +/* CCC4F8 802411E8 8602008C */ lh $v0, 0x8c($s0) +/* CCC4FC 802411EC 14400031 */ bnez $v0, .L802412B4 +/* CCC500 802411F0 00000000 */ nop +/* CCC504 802411F4 8E050018 */ lw $a1, 0x18($s0) +/* CCC508 802411F8 8E06000C */ lw $a2, 0xc($s0) +/* CCC50C 802411FC 0C00EA95 */ jal npc_move_heading +/* CCC510 80241200 0200202D */ daddu $a0, $s0, $zero +.L80241204: +/* CCC514 80241204 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCC518 80241208 3C014059 */ lui $at, 0x4059 +/* CCC51C 8024120C 44811800 */ mtc1 $at, $f3 +/* CCC520 80241210 44801000 */ mtc1 $zero, $f2 +/* CCC524 80241214 46000021 */ cvt.d.s $f0, $f0 +/* CCC528 80241218 46220002 */ mul.d $f0, $f0, $f2 +/* CCC52C 8024121C 00000000 */ nop +/* CCC530 80241220 4620020D */ trunc.w.d $f8, $f0 +/* CCC534 80241224 E628007C */ swc1 $f8, 0x7c($s1) +/* CCC538 80241228 8E420004 */ lw $v0, 4($s2) +/* CCC53C 8024122C 18400021 */ blez $v0, .L802412B4 +/* CCC540 80241230 00000000 */ nop +/* CCC544 80241234 8602008E */ lh $v0, 0x8e($s0) +/* CCC548 80241238 9603008E */ lhu $v1, 0x8e($s0) +/* CCC54C 8024123C 18400005 */ blez $v0, .L80241254 +/* CCC550 80241240 2462FFFF */ addiu $v0, $v1, -1 +/* CCC554 80241244 A602008E */ sh $v0, 0x8e($s0) +/* CCC558 80241248 00021400 */ sll $v0, $v0, 0x10 +/* CCC55C 8024124C 1C400019 */ bgtz $v0, .L802412B4 +/* CCC560 80241250 00000000 */ nop +.L80241254: +/* CCC564 80241254 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CCC568 80241258 24020002 */ addiu $v0, $zero, 2 +/* CCC56C 8024125C 0C00A67F */ jal rand_int +/* CCC570 80241260 AE620070 */ sw $v0, 0x70($s3) +/* CCC574 80241264 3C035555 */ lui $v1, 0x5555 +/* CCC578 80241268 34635556 */ ori $v1, $v1, 0x5556 +/* CCC57C 8024126C 00430018 */ mult $v0, $v1 +/* CCC580 80241270 000227C3 */ sra $a0, $v0, 0x1f +/* CCC584 80241274 00004010 */ mfhi $t0 +/* CCC588 80241278 01042023 */ subu $a0, $t0, $a0 +/* CCC58C 8024127C 00041840 */ sll $v1, $a0, 1 +/* CCC590 80241280 00641821 */ addu $v1, $v1, $a0 +/* CCC594 80241284 00431023 */ subu $v0, $v0, $v1 +/* CCC598 80241288 24430002 */ addiu $v1, $v0, 2 +/* CCC59C 8024128C AE630074 */ sw $v1, 0x74($s3) +/* CCC5A0 80241290 8E42002C */ lw $v0, 0x2c($s2) +/* CCC5A4 80241294 58400007 */ blezl $v0, .L802412B4 +/* CCC5A8 80241298 AE600070 */ sw $zero, 0x70($s3) +/* CCC5AC 8024129C 8E420008 */ lw $v0, 8($s2) +/* CCC5B0 802412A0 18400003 */ blez $v0, .L802412B0 +/* CCC5B4 802412A4 28620003 */ slti $v0, $v1, 3 +/* CCC5B8 802412A8 10400002 */ beqz $v0, .L802412B4 +/* CCC5BC 802412AC 00000000 */ nop +.L802412B0: +/* CCC5C0 802412B0 AE600070 */ sw $zero, 0x70($s3) +.L802412B4: +/* CCC5C4 802412B4 8FBF0058 */ lw $ra, 0x58($sp) +/* CCC5C8 802412B8 8FB50054 */ lw $s5, 0x54($sp) +/* CCC5CC 802412BC 8FB40050 */ lw $s4, 0x50($sp) +/* CCC5D0 802412C0 8FB3004C */ lw $s3, 0x4c($sp) +/* CCC5D4 802412C4 8FB20048 */ lw $s2, 0x48($sp) +/* CCC5D8 802412C8 8FB10044 */ lw $s1, 0x44($sp) +/* CCC5DC 802412CC 8FB00040 */ lw $s0, 0x40($sp) +/* CCC5E0 802412D0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CCC5E4 802412D4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CCC5E8 802412D8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CCC5EC 802412DC D7B40060 */ ldc1 $f20, 0x60($sp) +/* CCC5F0 802412E0 03E00008 */ jr $ra +/* CCC5F4 802412E4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802412E8_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802412E8_CCB310.s new file mode 100644 index 0000000000..68df1f2950 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802412E8_CCB310.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E8_CCC5F8 +/* CCC5F8 802412E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CCC5FC 802412EC AFB3001C */ sw $s3, 0x1c($sp) +/* CCC600 802412F0 0080982D */ daddu $s3, $a0, $zero +/* CCC604 802412F4 AFBF0020 */ sw $ra, 0x20($sp) +/* CCC608 802412F8 AFB20018 */ sw $s2, 0x18($sp) +/* CCC60C 802412FC AFB10014 */ sw $s1, 0x14($sp) +/* CCC610 80241300 AFB00010 */ sw $s0, 0x10($sp) +/* CCC614 80241304 8E720148 */ lw $s2, 0x148($s3) +/* CCC618 80241308 86440008 */ lh $a0, 8($s2) +/* CCC61C 8024130C 0C00EABB */ jal get_npc_unsafe +/* CCC620 80241310 00A0882D */ daddu $s1, $a1, $zero +/* CCC624 80241314 8E240008 */ lw $a0, 8($s1) +/* CCC628 80241318 0040802D */ daddu $s0, $v0, $zero +/* CCC62C 8024131C 00041FC2 */ srl $v1, $a0, 0x1f +/* CCC630 80241320 00832021 */ addu $a0, $a0, $v1 +/* CCC634 80241324 00042043 */ sra $a0, $a0, 1 +/* CCC638 80241328 0C00A67F */ jal rand_int +/* CCC63C 8024132C 24840001 */ addiu $a0, $a0, 1 +/* CCC640 80241330 8E230008 */ lw $v1, 8($s1) +/* CCC644 80241334 240400B4 */ addiu $a0, $zero, 0xb4 +/* CCC648 80241338 00032FC2 */ srl $a1, $v1, 0x1f +/* CCC64C 8024133C 00651821 */ addu $v1, $v1, $a1 +/* CCC650 80241340 00031843 */ sra $v1, $v1, 1 +/* CCC654 80241344 00621821 */ addu $v1, $v1, $v0 +/* CCC658 80241348 0C00A67F */ jal rand_int +/* CCC65C 8024134C A603008E */ sh $v1, 0x8e($s0) +/* CCC660 80241350 C60C000C */ lwc1 $f12, 0xc($s0) +/* CCC664 80241354 44820000 */ mtc1 $v0, $f0 +/* CCC668 80241358 00000000 */ nop +/* CCC66C 8024135C 46800020 */ cvt.s.w $f0, $f0 +/* CCC670 80241360 46006300 */ add.s $f12, $f12, $f0 +/* CCC674 80241364 3C0142B4 */ lui $at, 0x42b4 +/* CCC678 80241368 44810000 */ mtc1 $at, $f0 +/* CCC67C 8024136C 0C00A6C9 */ jal clamp_angle +/* CCC680 80241370 46006301 */ sub.s $f12, $f12, $f0 +/* CCC684 80241374 E600000C */ swc1 $f0, 0xc($s0) +/* CCC688 80241378 8E4200CC */ lw $v0, 0xcc($s2) +/* CCC68C 8024137C 8C420000 */ lw $v0, ($v0) +/* CCC690 80241380 AE020028 */ sw $v0, 0x28($s0) +/* CCC694 80241384 24020003 */ addiu $v0, $zero, 3 +/* CCC698 80241388 AE620070 */ sw $v0, 0x70($s3) +/* CCC69C 8024138C 8FBF0020 */ lw $ra, 0x20($sp) +/* CCC6A0 80241390 8FB3001C */ lw $s3, 0x1c($sp) +/* CCC6A4 80241394 8FB20018 */ lw $s2, 0x18($sp) +/* CCC6A8 80241398 8FB10014 */ lw $s1, 0x14($sp) +/* CCC6AC 8024139C 8FB00010 */ lw $s0, 0x10($sp) +/* CCC6B0 802413A0 03E00008 */ jr $ra +/* CCC6B4 802413A4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802413A8.s b/asm/nonmatchings/world/area_flo/flo_14/func_802413A8.s new file mode 100644 index 0000000000..612704d398 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802413A8.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A8 +/* CCC6B8 802413A8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CCC6BC 802413AC AFB3004C */ sw $s3, 0x4c($sp) +/* CCC6C0 802413B0 0080982D */ daddu $s3, $a0, $zero +/* CCC6C4 802413B4 AFBF0054 */ sw $ra, 0x54($sp) +/* CCC6C8 802413B8 AFB40050 */ sw $s4, 0x50($sp) +/* CCC6CC 802413BC AFB20048 */ sw $s2, 0x48($sp) +/* CCC6D0 802413C0 AFB10044 */ sw $s1, 0x44($sp) +/* CCC6D4 802413C4 AFB00040 */ sw $s0, 0x40($sp) +/* CCC6D8 802413C8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CCC6DC 802413CC F7B80068 */ sdc1 $f24, 0x68($sp) +/* CCC6E0 802413D0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CCC6E4 802413D4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CCC6E8 802413D8 8E710148 */ lw $s1, 0x148($s3) +/* CCC6EC 802413DC 00A0902D */ daddu $s2, $a1, $zero +/* CCC6F0 802413E0 86240008 */ lh $a0, 8($s1) +/* CCC6F4 802413E4 0C00EABB */ jal get_npc_unsafe +/* CCC6F8 802413E8 00C0A02D */ daddu $s4, $a2, $zero +/* CCC6FC 802413EC 0040802D */ daddu $s0, $v0, $zero +/* CCC700 802413F0 C6200078 */ lwc1 $f0, 0x78($s1) +/* CCC704 802413F4 46800020 */ cvt.s.w $f0, $f0 +/* CCC708 802413F8 46000021 */ cvt.d.s $f0, $f0 +/* CCC70C 802413FC 3C014059 */ lui $at, 0x4059 +/* CCC710 80241400 44811800 */ mtc1 $at, $f3 +/* CCC714 80241404 44801000 */ mtc1 $zero, $f2 +/* CCC718 80241408 8602008E */ lh $v0, 0x8e($s0) +/* CCC71C 8024140C 9603008E */ lhu $v1, 0x8e($s0) +/* CCC720 80241410 46220003 */ div.d $f0, $f0, $f2 +/* CCC724 80241414 46200620 */ cvt.s.d $f24, $f0 +/* CCC728 80241418 C6200088 */ lwc1 $f0, 0x88($s1) +/* CCC72C 8024141C 46800020 */ cvt.s.w $f0, $f0 +/* CCC730 80241420 46000021 */ cvt.d.s $f0, $f0 +/* CCC734 80241424 46220003 */ div.d $f0, $f0, $f2 +/* CCC738 80241428 46200020 */ cvt.s.d $f0, $f0 +/* CCC73C 8024142C 18400003 */ blez $v0, .L8024143C +/* CCC740 80241430 4600C680 */ add.s $f26, $f24, $f0 +/* CCC744 80241434 2462FFFF */ addiu $v0, $v1, -1 +/* CCC748 80241438 A602008E */ sh $v0, 0x8e($s0) +.L8024143C: +/* CCC74C 8024143C 8E220070 */ lw $v0, 0x70($s1) +/* CCC750 80241440 18400034 */ blez $v0, .L80241514 +/* CCC754 80241444 00000000 */ nop +/* CCC758 80241448 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CCC75C 8024144C 46806320 */ cvt.s.w $f12, $f12 +/* CCC760 80241450 44820000 */ mtc1 $v0, $f0 +/* CCC764 80241454 00000000 */ nop +/* CCC768 80241458 46800020 */ cvt.s.w $f0, $f0 +/* CCC76C 8024145C 46000021 */ cvt.d.s $f0, $f0 +/* CCC770 80241460 46220003 */ div.d $f0, $f0, $f2 +/* CCC774 80241464 0C00A8BB */ jal sin_deg +/* CCC778 80241468 462005A0 */ cvt.s.d $f22, $f0 +/* CCC77C 8024146C 8E020000 */ lw $v0, ($s0) +/* CCC780 80241470 30420008 */ andi $v0, $v0, 8 +/* CCC784 80241474 10400003 */ beqz $v0, .L80241484 +/* CCC788 80241478 46000506 */ mov.s $f20, $f0 +/* CCC78C 8024147C 08090531 */ j .L802414C4 +/* CCC790 80241480 0000102D */ daddu $v0, $zero, $zero +.L80241484: +/* CCC794 80241484 27A50028 */ addiu $a1, $sp, 0x28 +/* CCC798 80241488 27A6002C */ addiu $a2, $sp, 0x2c +/* CCC79C 8024148C C6000038 */ lwc1 $f0, 0x38($s0) +/* CCC7A0 80241490 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCC7A4 80241494 C6040040 */ lwc1 $f4, 0x40($s0) +/* CCC7A8 80241498 3C01447A */ lui $at, 0x447a +/* CCC7AC 8024149C 44813000 */ mtc1 $at, $f6 +/* CCC7B0 802414A0 27A20034 */ addiu $v0, $sp, 0x34 +/* CCC7B4 802414A4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CCC7B8 802414A8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CCC7BC 802414AC E7A40030 */ swc1 $f4, 0x30($sp) +/* CCC7C0 802414B0 E7A60034 */ swc1 $f6, 0x34($sp) +/* CCC7C4 802414B4 AFA20010 */ sw $v0, 0x10($sp) +/* CCC7C8 802414B8 8E040080 */ lw $a0, 0x80($s0) +/* CCC7CC 802414BC 0C0372DF */ jal func_800DCB7C +/* CCC7D0 802414C0 27A70030 */ addiu $a3, $sp, 0x30 +.L802414C4: +/* CCC7D4 802414C4 10400007 */ beqz $v0, .L802414E4 +/* CCC7D8 802414C8 00000000 */ nop +/* CCC7DC 802414CC 4616A082 */ mul.s $f2, $f20, $f22 +/* CCC7E0 802414D0 00000000 */ nop +/* CCC7E4 802414D4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CCC7E8 802414D8 46180000 */ add.s $f0, $f0, $f24 +/* CCC7EC 802414DC 0809053C */ j .L802414F0 +/* CCC7F0 802414E0 46020000 */ add.s $f0, $f0, $f2 +.L802414E4: +/* CCC7F4 802414E4 4616A002 */ mul.s $f0, $f20, $f22 +/* CCC7F8 802414E8 00000000 */ nop +/* CCC7FC 802414EC 4600D000 */ add.s $f0, $f26, $f0 +.L802414F0: +/* CCC800 802414F0 E600003C */ swc1 $f0, 0x3c($s0) +/* CCC804 802414F4 8E220074 */ lw $v0, 0x74($s1) +/* CCC808 802414F8 2442000A */ addiu $v0, $v0, 0xa +/* CCC80C 802414FC 44826000 */ mtc1 $v0, $f12 +/* CCC810 80241500 00000000 */ nop +/* CCC814 80241504 0C00A6C9 */ jal clamp_angle +/* CCC818 80241508 46806320 */ cvt.s.w $f12, $f12 +/* CCC81C 8024150C 4600020D */ trunc.w.s $f8, $f0 +/* CCC820 80241510 E6280074 */ swc1 $f8, 0x74($s1) +.L80241514: +/* CCC824 80241514 8E220090 */ lw $v0, 0x90($s1) +/* CCC828 80241518 1C400040 */ bgtz $v0, .L8024161C +/* CCC82C 8024151C 2442FFFF */ addiu $v0, $v0, -1 +/* CCC830 80241520 860200A8 */ lh $v0, 0xa8($s0) +/* CCC834 80241524 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCC838 80241528 44821000 */ mtc1 $v0, $f2 +/* CCC83C 8024152C 00000000 */ nop +/* CCC840 80241530 468010A0 */ cvt.s.w $f2, $f2 +/* CCC844 80241534 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CCC848 80241538 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CCC84C 8024153C 46020000 */ add.s $f0, $f0, $f2 +/* CCC850 80241540 3C014024 */ lui $at, 0x4024 +/* CCC854 80241544 44812800 */ mtc1 $at, $f5 +/* CCC858 80241548 44802000 */ mtc1 $zero, $f4 +/* CCC85C 8024154C C442002C */ lwc1 $f2, 0x2c($v0) +/* CCC860 80241550 46000021 */ cvt.d.s $f0, $f0 +/* CCC864 80241554 46240000 */ add.d $f0, $f0, $f4 +/* CCC868 80241558 460010A1 */ cvt.d.s $f2, $f2 +/* CCC86C 8024155C 4620103C */ c.lt.d $f2, $f0 +/* CCC870 80241560 00000000 */ nop +/* CCC874 80241564 4500002E */ bc1f .L80241620 +/* CCC878 80241568 0280202D */ daddu $a0, $s4, $zero +/* CCC87C 8024156C 24020001 */ addiu $v0, $zero, 1 +/* CCC880 80241570 AFA20010 */ sw $v0, 0x10($sp) +/* CCC884 80241574 8E460024 */ lw $a2, 0x24($s2) +/* CCC888 80241578 8E470028 */ lw $a3, 0x28($s2) +/* CCC88C 8024157C 0C01242D */ jal func_800490B4 +/* CCC890 80241580 0220282D */ daddu $a1, $s1, $zero +/* CCC894 80241584 10400026 */ beqz $v0, .L80241620 +/* CCC898 80241588 0000202D */ daddu $a0, $zero, $zero +/* CCC89C 8024158C 0200282D */ daddu $a1, $s0, $zero +/* CCC8A0 80241590 0000302D */ daddu $a2, $zero, $zero +/* CCC8A4 80241594 2412000C */ addiu $s2, $zero, 0xc +/* CCC8A8 80241598 860300A8 */ lh $v1, 0xa8($s0) +/* CCC8AC 8024159C 3C013F80 */ lui $at, 0x3f80 +/* CCC8B0 802415A0 44810000 */ mtc1 $at, $f0 +/* CCC8B4 802415A4 3C014000 */ lui $at, 0x4000 +/* CCC8B8 802415A8 44811000 */ mtc1 $at, $f2 +/* CCC8BC 802415AC 3C01C1A0 */ lui $at, 0xc1a0 +/* CCC8C0 802415B0 44812000 */ mtc1 $at, $f4 +/* CCC8C4 802415B4 44834000 */ mtc1 $v1, $f8 +/* CCC8C8 802415B8 00000000 */ nop +/* CCC8CC 802415BC 46804220 */ cvt.s.w $f8, $f8 +/* CCC8D0 802415C0 44074000 */ mfc1 $a3, $f8 +/* CCC8D4 802415C4 27A20038 */ addiu $v0, $sp, 0x38 +/* CCC8D8 802415C8 AFB2001C */ sw $s2, 0x1c($sp) +/* CCC8DC 802415CC AFA20020 */ sw $v0, 0x20($sp) +/* CCC8E0 802415D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CCC8E4 802415D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CCC8E8 802415D8 0C01BFA4 */ jal fx_emote +/* CCC8EC 802415DC E7A40018 */ swc1 $f4, 0x18($sp) +/* CCC8F0 802415E0 0200202D */ daddu $a0, $s0, $zero +/* CCC8F4 802415E4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CCC8F8 802415E8 C480003C */ lwc1 $f0, 0x3c($a0) +/* CCC8FC 802415EC 3C060020 */ lui $a2, 0x20 +/* CCC900 802415F0 0C012530 */ jal func_800494C0 +/* CCC904 802415F4 E4800064 */ swc1 $f0, 0x64($a0) +/* CCC908 802415F8 8E220018 */ lw $v0, 0x18($s1) +/* CCC90C 802415FC 9442002A */ lhu $v0, 0x2a($v0) +/* CCC910 80241600 30420001 */ andi $v0, $v0, 1 +/* CCC914 80241604 10400003 */ beqz $v0, .L80241614 +/* CCC918 80241608 2402000A */ addiu $v0, $zero, 0xa +/* CCC91C 8024160C 080905AF */ j .L802416BC +/* CCC920 80241610 AE620070 */ sw $v0, 0x70($s3) +.L80241614: +/* CCC924 80241614 080905AF */ j .L802416BC +/* CCC928 80241618 AE720070 */ sw $s2, 0x70($s3) +.L8024161C: +/* CCC92C 8024161C AE220090 */ sw $v0, 0x90($s1) +.L80241620: +/* CCC930 80241620 8602008C */ lh $v0, 0x8c($s0) +/* CCC934 80241624 14400025 */ bnez $v0, .L802416BC +/* CCC938 80241628 00000000 */ nop +/* CCC93C 8024162C 8602008E */ lh $v0, 0x8e($s0) +/* CCC940 80241630 1C400022 */ bgtz $v0, .L802416BC +/* CCC944 80241634 00000000 */ nop +/* CCC948 80241638 8E620074 */ lw $v0, 0x74($s3) +/* CCC94C 8024163C 2442FFFF */ addiu $v0, $v0, -1 +/* CCC950 80241640 1840001D */ blez $v0, .L802416B8 +/* CCC954 80241644 AE620074 */ sw $v0, 0x74($s3) +/* CCC958 80241648 8E220018 */ lw $v0, 0x18($s1) +/* CCC95C 8024164C 9442002A */ lhu $v0, 0x2a($v0) +/* CCC960 80241650 30420010 */ andi $v0, $v0, 0x10 +/* CCC964 80241654 14400007 */ bnez $v0, .L80241674 +/* CCC968 80241658 00000000 */ nop +/* CCC96C 8024165C C600000C */ lwc1 $f0, 0xc($s0) +/* CCC970 80241660 3C014334 */ lui $at, 0x4334 +/* CCC974 80241664 44816000 */ mtc1 $at, $f12 +/* CCC978 80241668 0C00A6C9 */ jal clamp_angle +/* CCC97C 8024166C 460C0300 */ add.s $f12, $f0, $f12 +/* CCC980 80241670 E600000C */ swc1 $f0, 0xc($s0) +.L80241674: +/* CCC984 80241674 0C00A67F */ jal rand_int +/* CCC988 80241678 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CCC98C 8024167C 3C032E8B */ lui $v1, 0x2e8b +/* CCC990 80241680 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CCC994 80241684 00430018 */ mult $v0, $v1 +/* CCC998 80241688 00021FC3 */ sra $v1, $v0, 0x1f +/* CCC99C 8024168C 00004010 */ mfhi $t0 +/* CCC9A0 80241690 00082043 */ sra $a0, $t0, 1 +/* CCC9A4 80241694 00832023 */ subu $a0, $a0, $v1 +/* CCC9A8 80241698 00041840 */ sll $v1, $a0, 1 +/* CCC9AC 8024169C 00641821 */ addu $v1, $v1, $a0 +/* CCC9B0 802416A0 00031880 */ sll $v1, $v1, 2 +/* CCC9B4 802416A4 00641823 */ subu $v1, $v1, $a0 +/* CCC9B8 802416A8 00431023 */ subu $v0, $v0, $v1 +/* CCC9BC 802416AC 24420005 */ addiu $v0, $v0, 5 +/* CCC9C0 802416B0 080905AF */ j .L802416BC +/* CCC9C4 802416B4 A602008E */ sh $v0, 0x8e($s0) +.L802416B8: +/* CCC9C8 802416B8 AE600070 */ sw $zero, 0x70($s3) +.L802416BC: +/* CCC9CC 802416BC 8FBF0054 */ lw $ra, 0x54($sp) +/* CCC9D0 802416C0 8FB40050 */ lw $s4, 0x50($sp) +/* CCC9D4 802416C4 8FB3004C */ lw $s3, 0x4c($sp) +/* CCC9D8 802416C8 8FB20048 */ lw $s2, 0x48($sp) +/* CCC9DC 802416CC 8FB10044 */ lw $s1, 0x44($sp) +/* CCC9E0 802416D0 8FB00040 */ lw $s0, 0x40($sp) +/* CCC9E4 802416D4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CCC9E8 802416D8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* CCC9EC 802416DC D7B60060 */ ldc1 $f22, 0x60($sp) +/* CCC9F0 802416E0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CCC9F4 802416E4 03E00008 */ jr $ra +/* CCC9F8 802416E8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802416EC_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802416EC_CCB310.s new file mode 100644 index 0000000000..b102d88416 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802416EC_CCB310.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416EC_CCC9FC +/* CCC9FC 802416EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CCCA00 802416F0 AFB20018 */ sw $s2, 0x18($sp) +/* CCCA04 802416F4 0080902D */ daddu $s2, $a0, $zero +/* CCCA08 802416F8 AFBF001C */ sw $ra, 0x1c($sp) +/* CCCA0C 802416FC AFB10014 */ sw $s1, 0x14($sp) +/* CCCA10 80241700 AFB00010 */ sw $s0, 0x10($sp) +/* CCCA14 80241704 8E510148 */ lw $s1, 0x148($s2) +/* CCCA18 80241708 0C00EABB */ jal get_npc_unsafe +/* CCCA1C 8024170C 86240008 */ lh $a0, 8($s1) +/* CCCA20 80241710 0040802D */ daddu $s0, $v0, $zero +/* CCCA24 80241714 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CCCA28 80241718 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CCCA2C 8024171C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CCCA30 80241720 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CCCA34 80241724 A600008E */ sh $zero, 0x8e($s0) +/* CCCA38 80241728 8C460028 */ lw $a2, 0x28($v0) +/* CCCA3C 8024172C 0C00A720 */ jal atan2 +/* CCCA40 80241730 8C470030 */ lw $a3, 0x30($v0) +/* CCCA44 80241734 E600000C */ swc1 $f0, 0xc($s0) +/* CCCA48 80241738 8E2200CC */ lw $v0, 0xcc($s1) +/* CCCA4C 8024173C 8C420020 */ lw $v0, 0x20($v0) +/* CCCA50 80241740 AE020028 */ sw $v0, 0x28($s0) +/* CCCA54 80241744 2402000B */ addiu $v0, $zero, 0xb +/* CCCA58 80241748 AE420070 */ sw $v0, 0x70($s2) +/* CCCA5C 8024174C 8FBF001C */ lw $ra, 0x1c($sp) +/* CCCA60 80241750 8FB20018 */ lw $s2, 0x18($sp) +/* CCCA64 80241754 8FB10014 */ lw $s1, 0x14($sp) +/* CCCA68 80241758 8FB00010 */ lw $s0, 0x10($sp) +/* CCCA6C 8024175C 03E00008 */ jr $ra +/* CCCA70 80241760 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80241764.s b/asm/nonmatchings/world/area_flo/flo_14/func_80241764.s new file mode 100644 index 0000000000..1d478bbf3e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80241764.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241764 +/* CCCA74 80241764 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCCA78 80241768 AFB00010 */ sw $s0, 0x10($sp) +/* CCCA7C 8024176C 0080802D */ daddu $s0, $a0, $zero +/* CCCA80 80241770 AFBF0014 */ sw $ra, 0x14($sp) +/* CCCA84 80241774 8E020148 */ lw $v0, 0x148($s0) +/* CCCA88 80241778 0C00EABB */ jal get_npc_unsafe +/* CCCA8C 8024177C 84440008 */ lh $a0, 8($v0) +/* CCCA90 80241780 9443008E */ lhu $v1, 0x8e($v0) +/* CCCA94 80241784 C440003C */ lwc1 $f0, 0x3c($v0) +/* CCCA98 80241788 24640001 */ addiu $a0, $v1, 1 +/* CCCA9C 8024178C 00031C00 */ sll $v1, $v1, 0x10 +/* CCCAA0 80241790 00031B83 */ sra $v1, $v1, 0xe +/* CCCAA4 80241794 A444008E */ sh $a0, 0x8e($v0) +/* CCCAA8 80241798 3C018024 */ lui $at, 0x8024 +/* CCCAAC 8024179C 00230821 */ addu $at, $at, $v1 +/* CCCAB0 802417A0 C42244C0 */ lwc1 $f2, 0x44c0($at) +/* CCCAB4 802417A4 8443008E */ lh $v1, 0x8e($v0) +/* CCCAB8 802417A8 46020000 */ add.s $f0, $f0, $f2 +/* CCCABC 802417AC 28630005 */ slti $v1, $v1, 5 +/* CCCAC0 802417B0 14600003 */ bnez $v1, .L802417C0 +/* CCCAC4 802417B4 E440003C */ swc1 $f0, 0x3c($v0) +/* CCCAC8 802417B8 2402000C */ addiu $v0, $zero, 0xc +/* CCCACC 802417BC AE020070 */ sw $v0, 0x70($s0) +.L802417C0: +/* CCCAD0 802417C0 8FBF0014 */ lw $ra, 0x14($sp) +/* CCCAD4 802417C4 8FB00010 */ lw $s0, 0x10($sp) +/* CCCAD8 802417C8 03E00008 */ jr $ra +/* CCCADC 802417CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802417D0_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802417D0_CCB310.s new file mode 100644 index 0000000000..6b0bd83605 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802417D0_CCB310.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417D0_CCCAE0 +/* CCCAE0 802417D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CCCAE4 802417D4 AFB3001C */ sw $s3, 0x1c($sp) +/* CCCAE8 802417D8 0080982D */ daddu $s3, $a0, $zero +/* CCCAEC 802417DC AFBF0020 */ sw $ra, 0x20($sp) +/* CCCAF0 802417E0 AFB20018 */ sw $s2, 0x18($sp) +/* CCCAF4 802417E4 AFB10014 */ sw $s1, 0x14($sp) +/* CCCAF8 802417E8 AFB00010 */ sw $s0, 0x10($sp) +/* CCCAFC 802417EC 8E720148 */ lw $s2, 0x148($s3) +/* CCCB00 802417F0 86440008 */ lh $a0, 8($s2) +/* CCCB04 802417F4 0C00EABB */ jal get_npc_unsafe +/* CCCB08 802417F8 00A0802D */ daddu $s0, $a1, $zero +/* CCCB0C 802417FC 0040882D */ daddu $s1, $v0, $zero +/* CCCB10 80241800 C6420080 */ lwc1 $f2, 0x80($s2) +/* CCCB14 80241804 468010A0 */ cvt.s.w $f2, $f2 +/* CCCB18 80241808 460010A1 */ cvt.d.s $f2, $f2 +/* CCCB1C 8024180C C6400084 */ lwc1 $f0, 0x84($s2) +/* CCCB20 80241810 46800020 */ cvt.s.w $f0, $f0 +/* CCCB24 80241814 46000021 */ cvt.d.s $f0, $f0 +/* CCCB28 80241818 3C014059 */ lui $at, 0x4059 +/* CCCB2C 8024181C 44812800 */ mtc1 $at, $f5 +/* CCCB30 80241820 44802000 */ mtc1 $zero, $f4 +/* CCCB34 80241824 8E4200CC */ lw $v0, 0xcc($s2) +/* CCCB38 80241828 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CCCB3C 8024182C C62E0040 */ lwc1 $f14, 0x40($s1) +/* CCCB40 80241830 46241083 */ div.d $f2, $f2, $f4 +/* CCCB44 80241834 462010A0 */ cvt.s.d $f2, $f2 +/* CCCB48 80241838 46240003 */ div.d $f0, $f0, $f4 +/* CCCB4C 8024183C 8C420020 */ lw $v0, 0x20($v0) +/* CCCB50 80241840 46200020 */ cvt.s.d $f0, $f0 +/* CCCB54 80241844 E622001C */ swc1 $f2, 0x1c($s1) +/* CCCB58 80241848 E6200014 */ swc1 $f0, 0x14($s1) +/* CCCB5C 8024184C AE220028 */ sw $v0, 0x28($s1) +/* CCCB60 80241850 C6000018 */ lwc1 $f0, 0x18($s0) +/* CCCB64 80241854 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CCCB68 80241858 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CCCB6C 8024185C E6200018 */ swc1 $f0, 0x18($s1) +/* CCCB70 80241860 8C460028 */ lw $a2, 0x28($v0) +/* CCCB74 80241864 0C00A720 */ jal atan2 +/* CCCB78 80241868 8C470030 */ lw $a3, 0x30($v0) +/* CCCB7C 8024186C E620000C */ swc1 $f0, 0xc($s1) +/* CCCB80 80241870 8E420018 */ lw $v0, 0x18($s2) +/* CCCB84 80241874 AE400074 */ sw $zero, 0x74($s2) +/* CCCB88 80241878 9442002A */ lhu $v0, 0x2a($v0) +/* CCCB8C 8024187C 30420002 */ andi $v0, $v0, 2 +/* CCCB90 80241880 10400005 */ beqz $v0, .L80241898 +/* CCCB94 80241884 24020003 */ addiu $v0, $zero, 3 +/* CCCB98 80241888 A622008E */ sh $v0, 0x8e($s1) +/* CCCB9C 8024188C 2402000D */ addiu $v0, $zero, 0xd +/* CCCBA0 80241890 0809063A */ j .L802418E8 +/* CCCBA4 80241894 AE620070 */ sw $v0, 0x70($s3) +.L80241898: +/* CCCBA8 80241898 24030001 */ addiu $v1, $zero, 1 +/* CCCBAC 8024189C 2402000E */ addiu $v0, $zero, 0xe +/* CCCBB0 802418A0 A623008E */ sh $v1, 0x8e($s1) +/* CCCBB4 802418A4 AE620070 */ sw $v0, 0x70($s3) +/* CCCBB8 802418A8 C6200038 */ lwc1 $f0, 0x38($s1) +/* CCCBBC 802418AC 4600018D */ trunc.w.s $f6, $f0 +/* CCCBC0 802418B0 44023000 */ mfc1 $v0, $f6 +/* CCCBC4 802418B4 00000000 */ nop +/* CCCBC8 802418B8 A6420010 */ sh $v0, 0x10($s2) +/* CCCBCC 802418BC C620003C */ lwc1 $f0, 0x3c($s1) +/* CCCBD0 802418C0 4600018D */ trunc.w.s $f6, $f0 +/* CCCBD4 802418C4 44023000 */ mfc1 $v0, $f6 +/* CCCBD8 802418C8 00000000 */ nop +/* CCCBDC 802418CC A6420012 */ sh $v0, 0x12($s2) +/* CCCBE0 802418D0 C6200040 */ lwc1 $f0, 0x40($s1) +/* CCCBE4 802418D4 A2430007 */ sb $v1, 7($s2) +/* CCCBE8 802418D8 4600018D */ trunc.w.s $f6, $f0 +/* CCCBEC 802418DC 44023000 */ mfc1 $v0, $f6 +/* CCCBF0 802418E0 00000000 */ nop +/* CCCBF4 802418E4 A6420014 */ sh $v0, 0x14($s2) +.L802418E8: +/* CCCBF8 802418E8 8FBF0020 */ lw $ra, 0x20($sp) +/* CCCBFC 802418EC 8FB3001C */ lw $s3, 0x1c($sp) +/* CCCC00 802418F0 8FB20018 */ lw $s2, 0x18($sp) +/* CCCC04 802418F4 8FB10014 */ lw $s1, 0x14($sp) +/* CCCC08 802418F8 8FB00010 */ lw $s0, 0x10($sp) +/* CCCC0C 802418FC 03E00008 */ jr $ra +/* CCCC10 80241900 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80241904_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80241904_CCB310.s new file mode 100644 index 0000000000..145ace4a68 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80241904_CCB310.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241904_CCCC14 +/* CCCC14 80241904 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCCC18 80241908 AFB00010 */ sw $s0, 0x10($sp) +/* CCCC1C 8024190C 0080802D */ daddu $s0, $a0, $zero +/* CCCC20 80241910 AFBF0014 */ sw $ra, 0x14($sp) +/* CCCC24 80241914 8E020148 */ lw $v0, 0x148($s0) +/* CCCC28 80241918 0C00EABB */ jal get_npc_unsafe +/* CCCC2C 8024191C 84440008 */ lh $a0, 8($v0) +/* CCCC30 80241920 0040202D */ daddu $a0, $v0, $zero +/* CCCC34 80241924 8482008E */ lh $v0, 0x8e($a0) +/* CCCC38 80241928 9483008E */ lhu $v1, 0x8e($a0) +/* CCCC3C 8024192C 18400005 */ blez $v0, .L80241944 +/* CCCC40 80241930 2462FFFF */ addiu $v0, $v1, -1 +/* CCCC44 80241934 A482008E */ sh $v0, 0x8e($a0) +/* CCCC48 80241938 00021400 */ sll $v0, $v0, 0x10 +/* CCCC4C 8024193C 1C400006 */ bgtz $v0, .L80241958 +/* CCCC50 80241940 00000000 */ nop +.L80241944: +/* CCCC54 80241944 8482008C */ lh $v0, 0x8c($a0) +/* CCCC58 80241948 14400003 */ bnez $v0, .L80241958 +/* CCCC5C 8024194C 2402000E */ addiu $v0, $zero, 0xe +/* CCCC60 80241950 A480008E */ sh $zero, 0x8e($a0) +/* CCCC64 80241954 AE020070 */ sw $v0, 0x70($s0) +.L80241958: +/* CCCC68 80241958 8FBF0014 */ lw $ra, 0x14($sp) +/* CCCC6C 8024195C 8FB00010 */ lw $s0, 0x10($sp) +/* CCCC70 80241960 03E00008 */ jr $ra +/* CCCC74 80241964 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80241968.s b/asm/nonmatchings/world/area_flo/flo_14/func_80241968.s new file mode 100644 index 0000000000..38fdc97fc9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80241968.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241968 +/* CCCC78 80241968 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CCCC7C 8024196C AFB20030 */ sw $s2, 0x30($sp) +/* CCCC80 80241970 0080902D */ daddu $s2, $a0, $zero +/* CCCC84 80241974 AFBF0038 */ sw $ra, 0x38($sp) +/* CCCC88 80241978 AFB30034 */ sw $s3, 0x34($sp) +/* CCCC8C 8024197C AFB1002C */ sw $s1, 0x2c($sp) +/* CCCC90 80241980 AFB00028 */ sw $s0, 0x28($sp) +/* CCCC94 80241984 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CCCC98 80241988 F7B40040 */ sdc1 $f20, 0x40($sp) +/* CCCC9C 8024198C 8E510148 */ lw $s1, 0x148($s2) +/* CCCCA0 80241990 86240008 */ lh $a0, 8($s1) +/* CCCCA4 80241994 0C00EABB */ jal get_npc_unsafe +/* CCCCA8 80241998 00A0982D */ daddu $s3, $a1, $zero +/* CCCCAC 8024199C 0040802D */ daddu $s0, $v0, $zero +/* CCCCB0 802419A0 0200202D */ daddu $a0, $s0, $zero +/* CCCCB4 802419A4 C6220088 */ lwc1 $f2, 0x88($s1) +/* CCCCB8 802419A8 468010A0 */ cvt.s.w $f2, $f2 +/* CCCCBC 802419AC 460010A1 */ cvt.d.s $f2, $f2 +/* CCCCC0 802419B0 C604001C */ lwc1 $f4, 0x1c($s0) +/* CCCCC4 802419B4 C6000014 */ lwc1 $f0, 0x14($s0) +/* CCCCC8 802419B8 8E050018 */ lw $a1, 0x18($s0) +/* CCCCCC 802419BC 46002100 */ add.s $f4, $f4, $f0 +/* CCCCD0 802419C0 8E06000C */ lw $a2, 0xc($s0) +/* CCCCD4 802419C4 C6200078 */ lwc1 $f0, 0x78($s1) +/* CCCCD8 802419C8 46800020 */ cvt.s.w $f0, $f0 +/* CCCCDC 802419CC E604001C */ swc1 $f4, 0x1c($s0) +/* CCCCE0 802419D0 3C014059 */ lui $at, 0x4059 +/* CCCCE4 802419D4 44812800 */ mtc1 $at, $f5 +/* CCCCE8 802419D8 44802000 */ mtc1 $zero, $f4 +/* CCCCEC 802419DC 46000021 */ cvt.d.s $f0, $f0 +/* CCCCF0 802419E0 46240003 */ div.d $f0, $f0, $f4 +/* CCCCF4 802419E4 46200520 */ cvt.s.d $f20, $f0 +/* CCCCF8 802419E8 46241083 */ div.d $f2, $f2, $f4 +/* CCCCFC 802419EC 0C00EA95 */ jal npc_move_heading +/* CCCD00 802419F0 462015A0 */ cvt.s.d $f22, $f2 +/* CCCD04 802419F4 C604001C */ lwc1 $f4, 0x1c($s0) +/* CCCD08 802419F8 44801000 */ mtc1 $zero, $f2 +/* CCCD0C 802419FC 44801800 */ mtc1 $zero, $f3 +/* CCCD10 80241A00 46002021 */ cvt.d.s $f0, $f4 +/* CCCD14 80241A04 4620103E */ c.le.d $f2, $f0 +/* CCCD18 80241A08 00000000 */ nop +/* CCCD1C 80241A0C 45000030 */ bc1f .L80241AD0 +/* CCCD20 80241A10 00000000 */ nop +/* CCCD24 80241A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCCD28 80241A18 46040000 */ add.s $f0, $f0, $f4 +/* CCCD2C 80241A1C E600003C */ swc1 $f0, 0x3c($s0) +/* CCCD30 80241A20 8E2200CC */ lw $v0, 0xcc($s1) +/* CCCD34 80241A24 8C420024 */ lw $v0, 0x24($v0) +/* CCCD38 80241A28 AE020028 */ sw $v0, 0x28($s0) +/* CCCD3C 80241A2C A2200007 */ sb $zero, 7($s1) +/* CCCD40 80241A30 8E020000 */ lw $v0, ($s0) +/* CCCD44 80241A34 30420008 */ andi $v0, $v0, 8 +/* CCCD48 80241A38 14400011 */ bnez $v0, .L80241A80 +/* CCCD4C 80241A3C 0000102D */ daddu $v0, $zero, $zero +/* CCCD50 80241A40 27A50018 */ addiu $a1, $sp, 0x18 +/* CCCD54 80241A44 27A6001C */ addiu $a2, $sp, 0x1c +/* CCCD58 80241A48 C6000038 */ lwc1 $f0, 0x38($s0) +/* CCCD5C 80241A4C C602003C */ lwc1 $f2, 0x3c($s0) +/* CCCD60 80241A50 C6040040 */ lwc1 $f4, 0x40($s0) +/* CCCD64 80241A54 3C01447A */ lui $at, 0x447a +/* CCCD68 80241A58 44813000 */ mtc1 $at, $f6 +/* CCCD6C 80241A5C 27A20024 */ addiu $v0, $sp, 0x24 +/* CCCD70 80241A60 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCCD74 80241A64 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CCCD78 80241A68 E7A40020 */ swc1 $f4, 0x20($sp) +/* CCCD7C 80241A6C E7A60024 */ swc1 $f6, 0x24($sp) +/* CCCD80 80241A70 AFA20010 */ sw $v0, 0x10($sp) +/* CCCD84 80241A74 8E040080 */ lw $a0, 0x80($s0) +/* CCCD88 80241A78 0C0372DF */ jal func_800DCB7C +/* CCCD8C 80241A7C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241A80: +/* CCCD90 80241A80 1040000B */ beqz $v0, .L80241AB0 +/* CCCD94 80241A84 00000000 */ nop +/* CCCD98 80241A88 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CCCD9C 80241A8C 46140080 */ add.s $f2, $f0, $f20 +/* CCCDA0 80241A90 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCCDA4 80241A94 4600103E */ c.le.s $f2, $f0 +/* CCCDA8 80241A98 00000000 */ nop +/* CCCDAC 80241A9C 4500008D */ bc1f .L80241CD4 +/* CCCDB0 80241AA0 00000000 */ nop +/* CCCDB4 80241AA4 E602003C */ swc1 $f2, 0x3c($s0) +/* CCCDB8 80241AA8 08090735 */ j .L80241CD4 +/* CCCDBC 80241AAC AE400070 */ sw $zero, 0x70($s2) +.L80241AB0: +/* CCCDC0 80241AB0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCCDC4 80241AB4 C6000064 */ lwc1 $f0, 0x64($s0) +/* CCCDC8 80241AB8 4602003E */ c.le.s $f0, $f2 +/* CCCDCC 80241ABC 00000000 */ nop +/* CCCDD0 80241AC0 45030084 */ bc1tl .L80241CD4 +/* CCCDD4 80241AC4 AE400070 */ sw $zero, 0x70($s2) +/* CCCDD8 80241AC8 08090735 */ j .L80241CD4 +/* CCCDDC 80241ACC 00000000 */ nop +.L80241AD0: +/* CCCDE0 80241AD0 4622003C */ c.lt.d $f0, $f2 +/* CCCDE4 80241AD4 00000000 */ nop +/* CCCDE8 80241AD8 4500007E */ bc1f .L80241CD4 +/* CCCDEC 80241ADC 00000000 */ nop +/* CCCDF0 80241AE0 9602008E */ lhu $v0, 0x8e($s0) +/* CCCDF4 80241AE4 24420001 */ addiu $v0, $v0, 1 +/* CCCDF8 80241AE8 A602008E */ sh $v0, 0x8e($s0) +/* CCCDFC 80241AEC 00021400 */ sll $v0, $v0, 0x10 +/* CCCE00 80241AF0 8E630020 */ lw $v1, 0x20($s3) +/* CCCE04 80241AF4 00021403 */ sra $v0, $v0, 0x10 +/* CCCE08 80241AF8 0043102A */ slt $v0, $v0, $v1 +/* CCCE0C 80241AFC 14400026 */ bnez $v0, .L80241B98 +/* CCCE10 80241B00 00000000 */ nop +/* CCCE14 80241B04 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CCCE18 80241B08 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CCCE1C 80241B0C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CCCE20 80241B10 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CCCE24 80241B14 A600008E */ sh $zero, 0x8e($s0) +/* CCCE28 80241B18 8C460028 */ lw $a2, 0x28($v0) +/* CCCE2C 80241B1C 0C00A720 */ jal atan2 +/* CCCE30 80241B20 8C470030 */ lw $a3, 0x30($v0) +/* CCCE34 80241B24 46000506 */ mov.s $f20, $f0 +/* CCCE38 80241B28 C60C000C */ lwc1 $f12, 0xc($s0) +/* CCCE3C 80241B2C 0C00A70A */ jal get_clamped_angle_diff +/* CCCE40 80241B30 4600A386 */ mov.s $f14, $f20 +/* CCCE44 80241B34 46000086 */ mov.s $f2, $f0 +/* CCCE48 80241B38 8E62001C */ lw $v0, 0x1c($s3) +/* CCCE4C 80241B3C 46001005 */ abs.s $f0, $f2 +/* CCCE50 80241B40 44822000 */ mtc1 $v0, $f4 +/* CCCE54 80241B44 00000000 */ nop +/* CCCE58 80241B48 46802120 */ cvt.s.w $f4, $f4 +/* CCCE5C 80241B4C 4600203C */ c.lt.s $f4, $f0 +/* CCCE60 80241B50 00000000 */ nop +/* CCCE64 80241B54 4500000D */ bc1f .L80241B8C +/* CCCE68 80241B58 00000000 */ nop +/* CCCE6C 80241B5C 44800000 */ mtc1 $zero, $f0 +/* CCCE70 80241B60 C614000C */ lwc1 $f20, 0xc($s0) +/* CCCE74 80241B64 4600103C */ c.lt.s $f2, $f0 +/* CCCE78 80241B68 00000000 */ nop +/* CCCE7C 80241B6C 45000006 */ bc1f .L80241B88 +/* CCCE80 80241B70 00021023 */ negu $v0, $v0 +/* CCCE84 80241B74 44820000 */ mtc1 $v0, $f0 +/* CCCE88 80241B78 00000000 */ nop +/* CCCE8C 80241B7C 46800020 */ cvt.s.w $f0, $f0 +/* CCCE90 80241B80 080906E3 */ j .L80241B8C +/* CCCE94 80241B84 4600A500 */ add.s $f20, $f20, $f0 +.L80241B88: +/* CCCE98 80241B88 4604A500 */ add.s $f20, $f20, $f4 +.L80241B8C: +/* CCCE9C 80241B8C 0C00A6C9 */ jal clamp_angle +/* CCCEA0 80241B90 4600A306 */ mov.s $f12, $f20 +/* CCCEA4 80241B94 E600000C */ swc1 $f0, 0xc($s0) +.L80241B98: +/* CCCEA8 80241B98 8E020000 */ lw $v0, ($s0) +/* CCCEAC 80241B9C 30420008 */ andi $v0, $v0, 8 +/* CCCEB0 80241BA0 1040000A */ beqz $v0, .L80241BCC +/* CCCEB4 80241BA4 27A50018 */ addiu $a1, $sp, 0x18 +/* CCCEB8 80241BA8 C602003C */ lwc1 $f2, 0x3c($s0) +/* CCCEBC 80241BAC C600001C */ lwc1 $f0, 0x1c($s0) +/* CCCEC0 80241BB0 46001080 */ add.s $f2, $f2, $f0 +/* CCCEC4 80241BB4 4616103C */ c.lt.s $f2, $f22 +/* CCCEC8 80241BB8 00000000 */ nop +/* CCCECC 80241BBC 45020045 */ bc1fl .L80241CD4 +/* CCCED0 80241BC0 E602003C */ swc1 $f2, 0x3c($s0) +/* CCCED4 80241BC4 08090734 */ j .L80241CD0 +/* CCCED8 80241BC8 E616003C */ swc1 $f22, 0x3c($s0) +.L80241BCC: +/* CCCEDC 80241BCC C6000038 */ lwc1 $f0, 0x38($s0) +/* CCCEE0 80241BD0 27A6001C */ addiu $a2, $sp, 0x1c +/* CCCEE4 80241BD4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCCEE8 80241BD8 860200A8 */ lh $v0, 0xa8($s0) +/* CCCEEC 80241BDC C600001C */ lwc1 $f0, 0x1c($s0) +/* CCCEF0 80241BE0 C604003C */ lwc1 $f4, 0x3c($s0) +/* CCCEF4 80241BE4 44821000 */ mtc1 $v0, $f2 +/* CCCEF8 80241BE8 00000000 */ nop +/* CCCEFC 80241BEC 468010A0 */ cvt.s.w $f2, $f2 +/* CCCF00 80241BF0 46000005 */ abs.s $f0, $f0 +/* CCCF04 80241BF4 46020000 */ add.s $f0, $f0, $f2 +/* CCCF08 80241BF8 C6060040 */ lwc1 $f6, 0x40($s0) +/* CCCF0C 80241BFC 27A20024 */ addiu $v0, $sp, 0x24 +/* CCCF10 80241C00 46022100 */ add.s $f4, $f4, $f2 +/* CCCF14 80241C04 3C014024 */ lui $at, 0x4024 +/* CCCF18 80241C08 44811800 */ mtc1 $at, $f3 +/* CCCF1C 80241C0C 44801000 */ mtc1 $zero, $f2 +/* CCCF20 80241C10 46000021 */ cvt.d.s $f0, $f0 +/* CCCF24 80241C14 46220000 */ add.d $f0, $f0, $f2 +/* CCCF28 80241C18 E7A60020 */ swc1 $f6, 0x20($sp) +/* CCCF2C 80241C1C E7A4001C */ swc1 $f4, 0x1c($sp) +/* CCCF30 80241C20 46200020 */ cvt.s.d $f0, $f0 +/* CCCF34 80241C24 E7A00024 */ swc1 $f0, 0x24($sp) +/* CCCF38 80241C28 AFA20010 */ sw $v0, 0x10($sp) +/* CCCF3C 80241C2C 8E040080 */ lw $a0, 0x80($s0) +/* CCCF40 80241C30 0C0372DF */ jal func_800DCB7C +/* CCCF44 80241C34 27A70020 */ addiu $a3, $sp, 0x20 +/* CCCF48 80241C38 10400015 */ beqz $v0, .L80241C90 +/* CCCF4C 80241C3C 00000000 */ nop +/* CCCF50 80241C40 860200A8 */ lh $v0, 0xa8($s0) +/* CCCF54 80241C44 C604001C */ lwc1 $f4, 0x1c($s0) +/* CCCF58 80241C48 44820000 */ mtc1 $v0, $f0 +/* CCCF5C 80241C4C 00000000 */ nop +/* CCCF60 80241C50 46800020 */ cvt.s.w $f0, $f0 +/* CCCF64 80241C54 46002085 */ abs.s $f2, $f4 +/* CCCF68 80241C58 46020000 */ add.s $f0, $f0, $f2 +/* CCCF6C 80241C5C C7A20024 */ lwc1 $f2, 0x24($sp) +/* CCCF70 80241C60 4600103E */ c.le.s $f2, $f0 +/* CCCF74 80241C64 00000000 */ nop +/* CCCF78 80241C68 45000005 */ bc1f .L80241C80 +/* CCCF7C 80241C6C 00000000 */ nop +/* CCCF80 80241C70 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CCCF84 80241C74 AE00001C */ sw $zero, 0x1c($s0) +/* CCCF88 80241C78 08090735 */ j .L80241CD4 +/* CCCF8C 80241C7C E600003C */ swc1 $f0, 0x3c($s0) +.L80241C80: +/* CCCF90 80241C80 C600003C */ lwc1 $f0, 0x3c($s0) +/* CCCF94 80241C84 46040000 */ add.s $f0, $f0, $f4 +/* CCCF98 80241C88 08090735 */ j .L80241CD4 +/* CCCF9C 80241C8C E600003C */ swc1 $f0, 0x3c($s0) +.L80241C90: +/* CCCFA0 80241C90 C606003C */ lwc1 $f6, 0x3c($s0) +/* CCCFA4 80241C94 860200A8 */ lh $v0, 0xa8($s0) +/* CCCFA8 80241C98 46163081 */ sub.s $f2, $f6, $f22 +/* CCCFAC 80241C9C 44820000 */ mtc1 $v0, $f0 +/* CCCFB0 80241CA0 00000000 */ nop +/* CCCFB4 80241CA4 46800020 */ cvt.s.w $f0, $f0 +/* CCCFB8 80241CA8 46001080 */ add.s $f2, $f2, $f0 +/* CCCFBC 80241CAC C604001C */ lwc1 $f4, 0x1c($s0) +/* CCCFC0 80241CB0 46002005 */ abs.s $f0, $f4 +/* CCCFC4 80241CB4 4602003C */ c.lt.s $f0, $f2 +/* CCCFC8 80241CB8 00000000 */ nop +/* CCCFCC 80241CBC 45020005 */ bc1fl .L80241CD4 +/* CCCFD0 80241CC0 AE00001C */ sw $zero, 0x1c($s0) +/* CCCFD4 80241CC4 46043000 */ add.s $f0, $f6, $f4 +/* CCCFD8 80241CC8 08090735 */ j .L80241CD4 +/* CCCFDC 80241CCC E600003C */ swc1 $f0, 0x3c($s0) +.L80241CD0: +/* CCCFE0 80241CD0 AE00001C */ sw $zero, 0x1c($s0) +.L80241CD4: +/* CCCFE4 80241CD4 8FBF0038 */ lw $ra, 0x38($sp) +/* CCCFE8 80241CD8 8FB30034 */ lw $s3, 0x34($sp) +/* CCCFEC 80241CDC 8FB20030 */ lw $s2, 0x30($sp) +/* CCCFF0 80241CE0 8FB1002C */ lw $s1, 0x2c($sp) +/* CCCFF4 80241CE4 8FB00028 */ lw $s0, 0x28($sp) +/* CCCFF8 80241CE8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* CCCFFC 80241CEC D7B40040 */ ldc1 $f20, 0x40($sp) +/* CCD000 80241CF0 03E00008 */ jr $ra +/* CCD004 80241CF4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80241CF8.s b/asm/nonmatchings/world/area_flo/flo_14/func_80241CF8.s new file mode 100644 index 0000000000..9a03f92f1e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80241CF8.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CF8 +/* CCD008 80241CF8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CCD00C 80241CFC AFB00028 */ sw $s0, 0x28($sp) +/* CCD010 80241D00 00A0802D */ daddu $s0, $a1, $zero +/* CCD014 80241D04 AFB1002C */ sw $s1, 0x2c($sp) +/* CCD018 80241D08 00C0882D */ daddu $s1, $a2, $zero +/* CCD01C 80241D0C AFBF0034 */ sw $ra, 0x34($sp) +/* CCD020 80241D10 AFB20030 */ sw $s2, 0x30($sp) +/* CCD024 80241D14 AE200070 */ sw $zero, 0x70($s1) +/* CCD028 80241D18 8C830000 */ lw $v1, ($a0) +/* CCD02C 80241D1C 2402FDFF */ addiu $v0, $zero, -0x201 +/* CCD030 80241D20 A480008E */ sh $zero, 0x8e($a0) +/* CCD034 80241D24 00621824 */ and $v1, $v1, $v0 +/* CCD038 80241D28 34650800 */ ori $a1, $v1, 0x800 +/* CCD03C 80241D2C AC850000 */ sw $a1, ($a0) +/* CCD040 80241D30 8E0200D0 */ lw $v0, 0xd0($s0) +/* CCD044 80241D34 8C420034 */ lw $v0, 0x34($v0) +/* CCD048 80241D38 10400003 */ beqz $v0, .L80241D48 +/* CCD04C 80241D3C 00E0902D */ daddu $s2, $a3, $zero +/* CCD050 80241D40 08090754 */ j .L80241D50 +/* CCD054 80241D44 34620808 */ ori $v0, $v1, 0x808 +.L80241D48: +/* CCD058 80241D48 2402FFF7 */ addiu $v0, $zero, -9 +/* CCD05C 80241D4C 00A21024 */ and $v0, $a1, $v0 +.L80241D50: +/* CCD060 80241D50 AC820000 */ sw $v0, ($a0) +/* CCD064 80241D54 27A20024 */ addiu $v0, $sp, 0x24 +/* CCD068 80241D58 27A50018 */ addiu $a1, $sp, 0x18 +/* CCD06C 80241D5C C4800038 */ lwc1 $f0, 0x38($a0) +/* CCD070 80241D60 C482003C */ lwc1 $f2, 0x3c($a0) +/* CCD074 80241D64 C4840040 */ lwc1 $f4, 0x40($a0) +/* CCD078 80241D68 3C01447A */ lui $at, 0x447a +/* CCD07C 80241D6C 44813000 */ mtc1 $at, $f6 +/* CCD080 80241D70 27A6001C */ addiu $a2, $sp, 0x1c +/* CCD084 80241D74 E7A00018 */ swc1 $f0, 0x18($sp) +/* CCD088 80241D78 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CCD08C 80241D7C E7A40020 */ swc1 $f4, 0x20($sp) +/* CCD090 80241D80 E7A60024 */ swc1 $f6, 0x24($sp) +/* CCD094 80241D84 AFA20010 */ sw $v0, 0x10($sp) +/* CCD098 80241D88 8C840080 */ lw $a0, 0x80($a0) +/* CCD09C 80241D8C 0C0372DF */ jal func_800DCB7C +/* CCD0A0 80241D90 27A70020 */ addiu $a3, $sp, 0x20 +/* CCD0A4 80241D94 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CCD0A8 80241D98 3C014059 */ lui $at, 0x4059 +/* CCD0AC 80241D9C 44812800 */ mtc1 $at, $f5 +/* CCD0B0 80241DA0 44802000 */ mtc1 $zero, $f4 +/* CCD0B4 80241DA4 460010A1 */ cvt.d.s $f2, $f2 +/* CCD0B8 80241DA8 46241082 */ mul.d $f2, $f2, $f4 +/* CCD0BC 80241DAC 00000000 */ nop +/* CCD0C0 80241DB0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CCD0C4 80241DB4 46000021 */ cvt.d.s $f0, $f0 +/* CCD0C8 80241DB8 46240002 */ mul.d $f0, $f0, $f4 +/* CCD0CC 80241DBC 00000000 */ nop +/* CCD0D0 80241DC0 3C013FE0 */ lui $at, 0x3fe0 +/* CCD0D4 80241DC4 44812800 */ mtc1 $at, $f5 +/* CCD0D8 80241DC8 44802000 */ mtc1 $zero, $f4 +/* CCD0DC 80241DCC 00000000 */ nop +/* CCD0E0 80241DD0 46241080 */ add.d $f2, $f2, $f4 +/* CCD0E4 80241DD4 AE000074 */ sw $zero, 0x74($s0) +/* CCD0E8 80241DD8 46240000 */ add.d $f0, $f0, $f4 +/* CCD0EC 80241DDC AE000090 */ sw $zero, 0x90($s0) +/* CCD0F0 80241DE0 4620120D */ trunc.w.d $f8, $f2 +/* CCD0F4 80241DE4 E6080078 */ swc1 $f8, 0x78($s0) +/* CCD0F8 80241DE8 4620020D */ trunc.w.d $f8, $f0 +/* CCD0FC 80241DEC E6080088 */ swc1 $f8, 0x88($s0) +/* CCD100 80241DF0 8E420014 */ lw $v0, 0x14($s2) +/* CCD104 80241DF4 AE220074 */ sw $v0, 0x74($s1) +/* CCD108 80241DF8 8E0200B0 */ lw $v0, 0xb0($s0) +/* CCD10C 80241DFC 34420010 */ ori $v0, $v0, 0x10 +/* CCD110 80241E00 AE0200B0 */ sw $v0, 0xb0($s0) +/* CCD114 80241E04 8FBF0034 */ lw $ra, 0x34($sp) +/* CCD118 80241E08 8FB20030 */ lw $s2, 0x30($sp) +/* CCD11C 80241E0C 8FB1002C */ lw $s1, 0x2c($sp) +/* CCD120 80241E10 8FB00028 */ lw $s0, 0x28($sp) +/* CCD124 80241E14 03E00008 */ jr $ra +/* CCD128 80241E18 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80241E1C.s b/asm/nonmatchings/world/area_flo/flo_14/func_80241E1C.s new file mode 100644 index 0000000000..d8455529f8 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80241E1C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E1C +/* CCD12C 80241E1C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CCD130 80241E20 AFB40040 */ sw $s4, 0x40($sp) +/* CCD134 80241E24 0080A02D */ daddu $s4, $a0, $zero +/* CCD138 80241E28 AFBF0048 */ sw $ra, 0x48($sp) +/* CCD13C 80241E2C AFB50044 */ sw $s5, 0x44($sp) +/* CCD140 80241E30 AFB3003C */ sw $s3, 0x3c($sp) +/* CCD144 80241E34 AFB20038 */ sw $s2, 0x38($sp) +/* CCD148 80241E38 AFB10034 */ sw $s1, 0x34($sp) +/* CCD14C 80241E3C AFB00030 */ sw $s0, 0x30($sp) +/* CCD150 80241E40 8E920148 */ lw $s2, 0x148($s4) +/* CCD154 80241E44 86440008 */ lh $a0, 8($s2) +/* CCD158 80241E48 8E90000C */ lw $s0, 0xc($s4) +/* CCD15C 80241E4C 0C00EABB */ jal get_npc_unsafe +/* CCD160 80241E50 00A0882D */ daddu $s1, $a1, $zero +/* CCD164 80241E54 0280202D */ daddu $a0, $s4, $zero +/* CCD168 80241E58 8E050000 */ lw $a1, ($s0) +/* CCD16C 80241E5C 0C0B1EAF */ jal get_variable +/* CCD170 80241E60 0040A82D */ daddu $s5, $v0, $zero +/* CCD174 80241E64 AFA00010 */ sw $zero, 0x10($sp) +/* CCD178 80241E68 8E4300D0 */ lw $v1, 0xd0($s2) +/* CCD17C 80241E6C 8C630030 */ lw $v1, 0x30($v1) +/* CCD180 80241E70 AFA30014 */ sw $v1, 0x14($sp) +/* CCD184 80241E74 8E4300D0 */ lw $v1, 0xd0($s2) +/* CCD188 80241E78 8C63001C */ lw $v1, 0x1c($v1) +/* CCD18C 80241E7C AFA30018 */ sw $v1, 0x18($sp) +/* CCD190 80241E80 8E4300D0 */ lw $v1, 0xd0($s2) +/* CCD194 80241E84 8C630024 */ lw $v1, 0x24($v1) +/* CCD198 80241E88 AFA3001C */ sw $v1, 0x1c($sp) +/* CCD19C 80241E8C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CCD1A0 80241E90 8C630028 */ lw $v1, 0x28($v1) +/* CCD1A4 80241E94 27B30010 */ addiu $s3, $sp, 0x10 +/* CCD1A8 80241E98 AFA30020 */ sw $v1, 0x20($sp) +/* CCD1AC 80241E9C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CCD1B0 80241EA0 3C0142F0 */ lui $at, 0x42f0 +/* CCD1B4 80241EA4 44810000 */ mtc1 $at, $f0 +/* CCD1B8 80241EA8 8C63002C */ lw $v1, 0x2c($v1) +/* CCD1BC 80241EAC 0040802D */ daddu $s0, $v0, $zero +/* CCD1C0 80241EB0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CCD1C4 80241EB4 A7A0002C */ sh $zero, 0x2c($sp) +/* CCD1C8 80241EB8 12200006 */ beqz $s1, .L80241ED4 +/* CCD1CC 80241EBC AFA30024 */ sw $v1, 0x24($sp) +/* CCD1D0 80241EC0 02A0202D */ daddu $a0, $s5, $zero +/* CCD1D4 80241EC4 0240282D */ daddu $a1, $s2, $zero +/* CCD1D8 80241EC8 0280302D */ daddu $a2, $s4, $zero +/* CCD1DC 80241ECC 0C09073E */ jal func_80241CF8 +/* CCD1E0 80241ED0 0200382D */ daddu $a3, $s0, $zero +.L80241ED4: +/* CCD1E4 80241ED4 2402FFFE */ addiu $v0, $zero, -2 +/* CCD1E8 80241ED8 A2A200AB */ sb $v0, 0xab($s5) +/* CCD1EC 80241EDC 8E4300B0 */ lw $v1, 0xb0($s2) +/* CCD1F0 80241EE0 30620004 */ andi $v0, $v1, 4 +/* CCD1F4 80241EE4 10400007 */ beqz $v0, .L80241F04 +/* CCD1F8 80241EE8 00000000 */ nop +/* CCD1FC 80241EEC 824200B4 */ lb $v0, 0xb4($s2) +/* CCD200 80241EF0 1440003C */ bnez $v0, .L80241FE4 +/* CCD204 80241EF4 0000102D */ daddu $v0, $zero, $zero +/* CCD208 80241EF8 2402FFFB */ addiu $v0, $zero, -5 +/* CCD20C 80241EFC 00621024 */ and $v0, $v1, $v0 +/* CCD210 80241F00 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241F04: +/* CCD214 80241F04 8E830070 */ lw $v1, 0x70($s4) +/* CCD218 80241F08 2C62000F */ sltiu $v0, $v1, 0xf +/* CCD21C 80241F0C 10400034 */ beqz $v0, .L80241FE0 +/* CCD220 80241F10 00031080 */ sll $v0, $v1, 2 +/* CCD224 80241F14 3C018024 */ lui $at, 0x8024 +/* CCD228 80241F18 00220821 */ addu $at, $at, $v0 +/* CCD22C 80241F1C 8C225368 */ lw $v0, 0x5368($at) +/* CCD230 80241F20 00400008 */ jr $v0 +/* CCD234 80241F24 00000000 */ nop +/* CCD238 80241F28 0280202D */ daddu $a0, $s4, $zero +/* CCD23C 80241F2C 0200282D */ daddu $a1, $s0, $zero +/* CCD240 80241F30 0C0902C4 */ jal func_80240B10 +/* CCD244 80241F34 0260302D */ daddu $a2, $s3, $zero +/* CCD248 80241F38 0280202D */ daddu $a0, $s4, $zero +/* CCD24C 80241F3C 0200282D */ daddu $a1, $s0, $zero +/* CCD250 80241F40 0C090330 */ jal func_80240CC0 +/* CCD254 80241F44 0260302D */ daddu $a2, $s3, $zero +/* CCD258 80241F48 080907F9 */ j .L80241FE4 +/* CCD25C 80241F4C 0000102D */ daddu $v0, $zero, $zero +/* CCD260 80241F50 0280202D */ daddu $a0, $s4, $zero +/* CCD264 80241F54 0200282D */ daddu $a1, $s0, $zero +/* CCD268 80241F58 0C0904BA */ jal func_802412E8 +/* CCD26C 80241F5C 0260302D */ daddu $a2, $s3, $zero +/* CCD270 80241F60 0280202D */ daddu $a0, $s4, $zero +/* CCD274 80241F64 0200282D */ daddu $a1, $s0, $zero +/* CCD278 80241F68 0C0904EA */ jal func_802413A8 +/* CCD27C 80241F6C 0260302D */ daddu $a2, $s3, $zero +/* CCD280 80241F70 080907F9 */ j .L80241FE4 +/* CCD284 80241F74 0000102D */ daddu $v0, $zero, $zero +/* CCD288 80241F78 0280202D */ daddu $a0, $s4, $zero +/* CCD28C 80241F7C 0200282D */ daddu $a1, $s0, $zero +/* CCD290 80241F80 0C0905BB */ jal func_802416EC +/* CCD294 80241F84 0260302D */ daddu $a2, $s3, $zero +/* CCD298 80241F88 0280202D */ daddu $a0, $s4, $zero +/* CCD29C 80241F8C 0200282D */ daddu $a1, $s0, $zero +/* CCD2A0 80241F90 0C0905D9 */ jal func_80241764 +/* CCD2A4 80241F94 0260302D */ daddu $a2, $s3, $zero +/* CCD2A8 80241F98 080907F9 */ j .L80241FE4 +/* CCD2AC 80241F9C 0000102D */ daddu $v0, $zero, $zero +/* CCD2B0 80241FA0 0280202D */ daddu $a0, $s4, $zero +/* CCD2B4 80241FA4 0200282D */ daddu $a1, $s0, $zero +/* CCD2B8 80241FA8 0C0905F4 */ jal func_802417D0 +/* CCD2BC 80241FAC 0260302D */ daddu $a2, $s3, $zero +/* CCD2C0 80241FB0 080907F9 */ j .L80241FE4 +/* CCD2C4 80241FB4 0000102D */ daddu $v0, $zero, $zero +/* CCD2C8 80241FB8 0280202D */ daddu $a0, $s4, $zero +/* CCD2CC 80241FBC 0200282D */ daddu $a1, $s0, $zero +/* CCD2D0 80241FC0 0C090641 */ jal func_80241904 +/* CCD2D4 80241FC4 0260302D */ daddu $a2, $s3, $zero +/* CCD2D8 80241FC8 080907F9 */ j .L80241FE4 +/* CCD2DC 80241FCC 0000102D */ daddu $v0, $zero, $zero +/* CCD2E0 80241FD0 0280202D */ daddu $a0, $s4, $zero +/* CCD2E4 80241FD4 0200282D */ daddu $a1, $s0, $zero +/* CCD2E8 80241FD8 0C09065A */ jal func_80241968 +/* CCD2EC 80241FDC 0260302D */ daddu $a2, $s3, $zero +.L80241FE0: +/* CCD2F0 80241FE0 0000102D */ daddu $v0, $zero, $zero +.L80241FE4: +/* CCD2F4 80241FE4 8FBF0048 */ lw $ra, 0x48($sp) +/* CCD2F8 80241FE8 8FB50044 */ lw $s5, 0x44($sp) +/* CCD2FC 80241FEC 8FB40040 */ lw $s4, 0x40($sp) +/* CCD300 80241FF0 8FB3003C */ lw $s3, 0x3c($sp) +/* CCD304 80241FF4 8FB20038 */ lw $s2, 0x38($sp) +/* CCD308 80241FF8 8FB10034 */ lw $s1, 0x34($sp) +/* CCD30C 80241FFC 8FB00030 */ lw $s0, 0x30($sp) +/* CCD310 80242000 03E00008 */ jr $ra +/* CCD314 80242004 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80242008.s b/asm/nonmatchings/world/area_flo/flo_14/func_80242008.s new file mode 100644 index 0000000000..98b8330594 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80242008.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242008 +/* CCD318 80242008 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CCD31C 8024200C AFB10014 */ sw $s1, 0x14($sp) +/* CCD320 80242010 0080882D */ daddu $s1, $a0, $zero +/* CCD324 80242014 AFBF0018 */ sw $ra, 0x18($sp) +/* CCD328 80242018 AFB00010 */ sw $s0, 0x10($sp) +/* CCD32C 8024201C 8E30000C */ lw $s0, 0xc($s1) +/* CCD330 80242020 8E050000 */ lw $a1, ($s0) +/* CCD334 80242024 0C0B1EAF */ jal get_variable +/* CCD338 80242028 26100004 */ addiu $s0, $s0, 4 +/* CCD33C 8024202C 0C00EAD2 */ jal get_npc_safe +/* CCD340 80242030 0040202D */ daddu $a0, $v0, $zero +/* CCD344 80242034 10400005 */ beqz $v0, .L8024204C +/* CCD348 80242038 00000000 */ nop +/* CCD34C 8024203C 8E050000 */ lw $a1, ($s0) +/* CCD350 80242040 844600A8 */ lh $a2, 0xa8($v0) +/* CCD354 80242044 0C0B2026 */ jal set_variable +/* CCD358 80242048 0220202D */ daddu $a0, $s1, $zero +.L8024204C: +/* CCD35C 8024204C 8FBF0018 */ lw $ra, 0x18($sp) +/* CCD360 80242050 8FB10014 */ lw $s1, 0x14($sp) +/* CCD364 80242054 8FB00010 */ lw $s0, 0x10($sp) +/* CCD368 80242058 24020002 */ addiu $v0, $zero, 2 +/* CCD36C 8024205C 03E00008 */ jr $ra +/* CCD370 80242060 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80242064.s b/asm/nonmatchings/world/area_flo/flo_14/func_80242064.s new file mode 100644 index 0000000000..a2d6dcd689 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80242064.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242064 +/* CCD374 80242064 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CCD378 80242068 AFB10014 */ sw $s1, 0x14($sp) +/* CCD37C 8024206C 0080882D */ daddu $s1, $a0, $zero +/* CCD380 80242070 AFBF0024 */ sw $ra, 0x24($sp) +/* CCD384 80242074 AFB40020 */ sw $s4, 0x20($sp) +/* CCD388 80242078 AFB3001C */ sw $s3, 0x1c($sp) +/* CCD38C 8024207C AFB20018 */ sw $s2, 0x18($sp) +/* CCD390 80242080 AFB00010 */ sw $s0, 0x10($sp) +/* CCD394 80242084 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CCD398 80242088 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CCD39C 8024208C F7B80038 */ sdc1 $f24, 0x38($sp) +/* CCD3A0 80242090 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CCD3A4 80242094 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CCD3A8 80242098 8E30000C */ lw $s0, 0xc($s1) +/* CCD3AC 8024209C 8E130000 */ lw $s3, ($s0) +/* CCD3B0 802420A0 26100004 */ addiu $s0, $s0, 4 +/* CCD3B4 802420A4 0C0B1EAF */ jal get_variable +/* CCD3B8 802420A8 0260282D */ daddu $a1, $s3, $zero +/* CCD3BC 802420AC 4482E000 */ mtc1 $v0, $f28 +/* CCD3C0 802420B0 00000000 */ nop +/* CCD3C4 802420B4 4680E720 */ cvt.s.w $f28, $f28 +/* CCD3C8 802420B8 8E140000 */ lw $s4, ($s0) +/* CCD3CC 802420BC 26100004 */ addiu $s0, $s0, 4 +/* CCD3D0 802420C0 0220202D */ daddu $a0, $s1, $zero +/* CCD3D4 802420C4 0C0B1EAF */ jal get_variable +/* CCD3D8 802420C8 0280282D */ daddu $a1, $s4, $zero +/* CCD3DC 802420CC 4482D000 */ mtc1 $v0, $f26 +/* CCD3E0 802420D0 00000000 */ nop +/* CCD3E4 802420D4 4680D6A0 */ cvt.s.w $f26, $f26 +/* CCD3E8 802420D8 8E100000 */ lw $s0, ($s0) +/* CCD3EC 802420DC 0220202D */ daddu $a0, $s1, $zero +/* CCD3F0 802420E0 0C0B1EAF */ jal get_variable +/* CCD3F4 802420E4 0200282D */ daddu $a1, $s0, $zero +/* CCD3F8 802420E8 4482C000 */ mtc1 $v0, $f24 +/* CCD3FC 802420EC 00000000 */ nop +/* CCD400 802420F0 4680C620 */ cvt.s.w $f24, $f24 +/* CCD404 802420F4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CCD408 802420F8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CCD40C 802420FC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CCD410 80242100 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CCD414 80242104 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CCD418 80242108 44800000 */ mtc1 $zero, $f0 +/* CCD41C 8024210C 00031080 */ sll $v0, $v1, 2 +/* CCD420 80242110 00431021 */ addu $v0, $v0, $v1 +/* CCD424 80242114 00021080 */ sll $v0, $v0, 2 +/* CCD428 80242118 00431023 */ subu $v0, $v0, $v1 +/* CCD42C 8024211C 000218C0 */ sll $v1, $v0, 3 +/* CCD430 80242120 00431021 */ addu $v0, $v0, $v1 +/* CCD434 80242124 000210C0 */ sll $v0, $v0, 3 +/* CCD438 80242128 46001032 */ c.eq.s $f2, $f0 +/* CCD43C 8024212C 3C01800B */ lui $at, 0x800b +/* CCD440 80242130 00220821 */ addu $at, $at, $v0 +/* CCD444 80242134 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CCD448 80242138 45000005 */ bc1f .L80242150 +/* CCD44C 8024213C 00000000 */ nop +/* CCD450 80242140 3C0142C8 */ lui $at, 0x42c8 +/* CCD454 80242144 44810000 */ mtc1 $at, $f0 +/* CCD458 80242148 08090858 */ j .L80242160 +/* CCD45C 8024214C 4600B581 */ sub.s $f22, $f22, $f0 +.L80242150: +/* CCD460 80242150 3C0142C8 */ lui $at, 0x42c8 +/* CCD464 80242154 44810000 */ mtc1 $at, $f0 +/* CCD468 80242158 00000000 */ nop +/* CCD46C 8024215C 4600B580 */ add.s $f22, $f22, $f0 +.L80242160: +/* CCD470 80242160 0C00A6C9 */ jal clamp_angle +/* CCD474 80242164 4600B306 */ mov.s $f12, $f22 +/* CCD478 80242168 46000586 */ mov.s $f22, $f0 +/* CCD47C 8024216C 3C014170 */ lui $at, 0x4170 +/* CCD480 80242170 4481A000 */ mtc1 $at, $f20 +/* CCD484 80242174 0C00A8BB */ jal sin_deg +/* CCD488 80242178 4600B306 */ mov.s $f12, $f22 +/* CCD48C 8024217C 46140002 */ mul.s $f0, $f0, $f20 +/* CCD490 80242180 00000000 */ nop +/* CCD494 80242184 864200B0 */ lh $v0, 0xb0($s2) +/* CCD498 80242188 3C013F00 */ lui $at, 0x3f00 +/* CCD49C 8024218C 44812000 */ mtc1 $at, $f4 +/* CCD4A0 80242190 44821000 */ mtc1 $v0, $f2 +/* CCD4A4 80242194 00000000 */ nop +/* CCD4A8 80242198 468010A0 */ cvt.s.w $f2, $f2 +/* CCD4AC 8024219C 46041082 */ mul.s $f2, $f2, $f4 +/* CCD4B0 802421A0 00000000 */ nop +/* CCD4B4 802421A4 4600E700 */ add.s $f28, $f28, $f0 +/* CCD4B8 802421A8 4602D680 */ add.s $f26, $f26, $f2 +/* CCD4BC 802421AC 0C00A8D4 */ jal cos_deg +/* CCD4C0 802421B0 4600B306 */ mov.s $f12, $f22 +/* CCD4C4 802421B4 46140002 */ mul.s $f0, $f0, $f20 +/* CCD4C8 802421B8 00000000 */ nop +/* CCD4CC 802421BC 0220202D */ daddu $a0, $s1, $zero +/* CCD4D0 802421C0 0260282D */ daddu $a1, $s3, $zero +/* CCD4D4 802421C4 4600E18D */ trunc.w.s $f6, $f28 +/* CCD4D8 802421C8 44063000 */ mfc1 $a2, $f6 +/* CCD4DC 802421CC 0C0B2026 */ jal set_variable +/* CCD4E0 802421D0 4600C601 */ sub.s $f24, $f24, $f0 +/* CCD4E4 802421D4 0220202D */ daddu $a0, $s1, $zero +/* CCD4E8 802421D8 4600D18D */ trunc.w.s $f6, $f26 +/* CCD4EC 802421DC 44063000 */ mfc1 $a2, $f6 +/* CCD4F0 802421E0 0C0B2026 */ jal set_variable +/* CCD4F4 802421E4 0280282D */ daddu $a1, $s4, $zero +/* CCD4F8 802421E8 0220202D */ daddu $a0, $s1, $zero +/* CCD4FC 802421EC 4600C18D */ trunc.w.s $f6, $f24 +/* CCD500 802421F0 44063000 */ mfc1 $a2, $f6 +/* CCD504 802421F4 0C0B2026 */ jal set_variable +/* CCD508 802421F8 0200282D */ daddu $a1, $s0, $zero +/* CCD50C 802421FC 8FBF0024 */ lw $ra, 0x24($sp) +/* CCD510 80242200 8FB40020 */ lw $s4, 0x20($sp) +/* CCD514 80242204 8FB3001C */ lw $s3, 0x1c($sp) +/* CCD518 80242208 8FB20018 */ lw $s2, 0x18($sp) +/* CCD51C 8024220C 8FB10014 */ lw $s1, 0x14($sp) +/* CCD520 80242210 8FB00010 */ lw $s0, 0x10($sp) +/* CCD524 80242214 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CCD528 80242218 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CCD52C 8024221C D7B80038 */ ldc1 $f24, 0x38($sp) +/* CCD530 80242220 D7B60030 */ ldc1 $f22, 0x30($sp) +/* CCD534 80242224 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CCD538 80242228 24020002 */ addiu $v0, $zero, 2 +/* CCD53C 8024222C 03E00008 */ jr $ra +/* CCD540 80242230 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80242234.s b/asm/nonmatchings/world/area_flo/flo_14/func_80242234.s new file mode 100644 index 0000000000..d07c448e73 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80242234.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242234 +/* CCD544 80242234 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCD548 80242238 AFBF0010 */ sw $ra, 0x10($sp) +/* CCD54C 8024223C 10A00003 */ beqz $a1, .L8024224C +/* CCD550 80242240 8C86000C */ lw $a2, 0xc($a0) +/* CCD554 80242244 3C018024 */ lui $at, 0x8024 +/* CCD558 80242248 AC2045FC */ sw $zero, 0x45fc($at) +.L8024224C: +/* CCD55C 8024224C 3C038024 */ lui $v1, 0x8024 +/* CCD560 80242250 246345FC */ addiu $v1, $v1, 0x45fc +/* CCD564 80242254 8C620000 */ lw $v0, ($v1) +/* CCD568 80242258 54400003 */ bnel $v0, $zero, .L80242268 +/* CCD56C 8024225C AC600000 */ sw $zero, ($v1) +/* CCD570 80242260 0809089F */ j .L8024227C +/* CCD574 80242264 0000102D */ daddu $v0, $zero, $zero +.L80242268: +/* CCD578 80242268 8CC50000 */ lw $a1, ($a2) +/* CCD57C 8024226C 3C068024 */ lui $a2, 0x8024 +/* CCD580 80242270 0C0B2026 */ jal set_variable +/* CCD584 80242274 8CC64600 */ lw $a2, 0x4600($a2) +/* CCD588 80242278 24020002 */ addiu $v0, $zero, 2 +.L8024227C: +/* CCD58C 8024227C 8FBF0010 */ lw $ra, 0x10($sp) +/* CCD590 80242280 03E00008 */ jr $ra +/* CCD594 80242284 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80242288_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_80242288_CCB310.s new file mode 100644 index 0000000000..4fe30675ed --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80242288_CCB310.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242288_CCD598 +/* CCD598 80242288 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCD59C 8024228C AFBF0010 */ sw $ra, 0x10($sp) +/* CCD5A0 80242290 8C82000C */ lw $v0, 0xc($a0) +/* CCD5A4 80242294 0C0B1EAF */ jal get_variable +/* CCD5A8 80242298 8C450000 */ lw $a1, ($v0) +/* CCD5AC 8024229C 3C018024 */ lui $at, 0x8024 +/* CCD5B0 802422A0 AC224600 */ sw $v0, 0x4600($at) +/* CCD5B4 802422A4 24020002 */ addiu $v0, $zero, 2 +/* CCD5B8 802422A8 8FBF0010 */ lw $ra, 0x10($sp) +/* CCD5BC 802422AC 24030001 */ addiu $v1, $zero, 1 +/* CCD5C0 802422B0 3C018024 */ lui $at, 0x8024 +/* CCD5C4 802422B4 AC2345FC */ sw $v1, 0x45fc($at) +/* CCD5C8 802422B8 03E00008 */ jr $ra +/* CCD5CC 802422BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_802422C0_CCB310.s b/asm/nonmatchings/world/area_flo/flo_14/func_802422C0_CCB310.s new file mode 100644 index 0000000000..8cb6116e94 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_802422C0_CCB310.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C0_CCD5D0 +/* CCD5D0 802422C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCD5D4 802422C4 AFBF0010 */ sw $ra, 0x10($sp) +/* CCD5D8 802422C8 8C82000C */ lw $v0, 0xc($a0) +/* CCD5DC 802422CC 0C0B1EAF */ jal get_variable +/* CCD5E0 802422D0 8C450000 */ lw $a1, ($v0) +/* CCD5E4 802422D4 0040182D */ daddu $v1, $v0, $zero +/* CCD5E8 802422D8 10600012 */ beqz $v1, .L80242324 +/* CCD5EC 802422DC 0000202D */ daddu $a0, $zero, $zero +/* CCD5F0 802422E0 8C620000 */ lw $v0, ($v1) +/* CCD5F4 802422E4 5040000A */ beql $v0, $zero, .L80242310 +/* CCD5F8 802422E8 00041080 */ sll $v0, $a0, 2 +/* CCD5FC 802422EC 3C058024 */ lui $a1, 0x8024 +/* CCD600 802422F0 24A553B0 */ addiu $a1, $a1, 0x53b0 +.L802422F4: +/* CCD604 802422F4 24630004 */ addiu $v1, $v1, 4 +/* CCD608 802422F8 24840001 */ addiu $a0, $a0, 1 +/* CCD60C 802422FC ACA20000 */ sw $v0, ($a1) +/* CCD610 80242300 8C620000 */ lw $v0, ($v1) +/* CCD614 80242304 1440FFFB */ bnez $v0, .L802422F4 +/* CCD618 80242308 24A50004 */ addiu $a1, $a1, 4 +/* CCD61C 8024230C 00041080 */ sll $v0, $a0, 2 +.L80242310: +/* CCD620 80242310 3C018024 */ lui $at, 0x8024 +/* CCD624 80242314 00220821 */ addu $at, $at, $v0 +/* CCD628 80242318 AC2053B0 */ sw $zero, 0x53b0($at) +/* CCD62C 8024231C 080908D3 */ j .L8024234C +/* CCD630 80242320 00000000 */ nop +.L80242324: +/* CCD634 80242324 3C038024 */ lui $v1, 0x8024 +/* CCD638 80242328 246353B0 */ addiu $v1, $v1, 0x53b0 +/* CCD63C 8024232C 0060282D */ daddu $a1, $v1, $zero +.L80242330: +/* CCD640 80242330 24820080 */ addiu $v0, $a0, 0x80 +/* CCD644 80242334 AC620000 */ sw $v0, ($v1) +/* CCD648 80242338 24630004 */ addiu $v1, $v1, 4 +/* CCD64C 8024233C 24840001 */ addiu $a0, $a0, 1 +/* CCD650 80242340 2882005B */ slti $v0, $a0, 0x5b +/* CCD654 80242344 1440FFFA */ bnez $v0, .L80242330 +/* CCD658 80242348 ACA0016C */ sw $zero, 0x16c($a1) +.L8024234C: +/* CCD65C 8024234C 8FBF0010 */ lw $ra, 0x10($sp) +/* CCD660 80242350 24020002 */ addiu $v0, $zero, 2 +/* CCD664 80242354 03E00008 */ jr $ra +/* CCD668 80242358 27BD0018 */ addiu $sp, $sp, 0x18 +/* CCD66C 8024235C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_14/func_80242360.s b/asm/nonmatchings/world/area_flo/flo_14/func_80242360.s new file mode 100644 index 0000000000..ace351e57f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_14/func_80242360.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242360 +/* CCD670 80242360 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CCD674 80242364 AFBF0010 */ sw $ra, 0x10($sp) +/* CCD678 80242368 8C82000C */ lw $v0, 0xc($a0) +/* CCD67C 8024236C 3C068016 */ lui $a2, 0x8016 +/* CCD680 80242370 84C6A556 */ lh $a2, -0x5aaa($a2) +/* CCD684 80242374 0C0B2026 */ jal set_variable +/* CCD688 80242378 8C450000 */ lw $a1, ($v0) +/* CCD68C 8024237C 8FBF0010 */ lw $ra, 0x10($sp) +/* CCD690 80242380 24020002 */ addiu $v0, $zero, 2 +/* CCD694 80242384 03E00008 */ jr $ra +/* CCD698 80242388 27BD0018 */ addiu $sp, $sp, 0x18 +/* CCD69C 8024238C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240000_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240000_CD1E30.s new file mode 100644 index 0000000000..3d9ddbd4ad --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240000_CD1E30.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CD1E30 +/* CD1E30 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD1E34 80240004 24040001 */ addiu $a0, $zero, 1 +/* CD1E38 80240008 0000282D */ daddu $a1, $zero, $zero +/* CD1E3C 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CD1E40 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CD1E44 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CD1E48 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CD1E4C 8024001C 0C01CA54 */ jal func_80072950 +/* CD1E50 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CD1E54 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CD1E58 80240028 24020002 */ addiu $v0, $zero, 2 +/* CD1E5C 8024002C 03E00008 */ jr $ra +/* CD1E60 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CD1E64 80240034 00000000 */ nop +/* CD1E68 80240038 00000000 */ nop +/* CD1E6C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240040_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240040_CD1E30.s new file mode 100644 index 0000000000..7c82b6e2f7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240040_CD1E30.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CD1E70 +/* CD1E70 80240040 8C820084 */ lw $v0, 0x84($a0) +/* CD1E74 80240044 8C830090 */ lw $v1, 0x90($a0) +/* CD1E78 80240048 00431023 */ subu $v0, $v0, $v1 +/* CD1E7C 8024004C 44821000 */ mtc1 $v0, $f2 +/* CD1E80 80240050 00000000 */ nop +/* CD1E84 80240054 468010A0 */ cvt.s.w $f2, $f2 +/* CD1E88 80240058 8C820088 */ lw $v0, 0x88($a0) +/* CD1E8C 8024005C 8C830094 */ lw $v1, 0x94($a0) +/* CD1E90 80240060 46021082 */ mul.s $f2, $f2, $f2 +/* CD1E94 80240064 00000000 */ nop +/* CD1E98 80240068 00431023 */ subu $v0, $v0, $v1 +/* CD1E9C 8024006C 44822000 */ mtc1 $v0, $f4 +/* CD1EA0 80240070 00000000 */ nop +/* CD1EA4 80240074 46802120 */ cvt.s.w $f4, $f4 +/* CD1EA8 80240078 8C82008C */ lw $v0, 0x8c($a0) +/* CD1EAC 8024007C 46042102 */ mul.s $f4, $f4, $f4 +/* CD1EB0 80240080 00000000 */ nop +/* CD1EB4 80240084 8C830098 */ lw $v1, 0x98($a0) +/* CD1EB8 80240088 00431023 */ subu $v0, $v0, $v1 +/* CD1EBC 8024008C 44820000 */ mtc1 $v0, $f0 +/* CD1EC0 80240090 00000000 */ nop +/* CD1EC4 80240094 46800020 */ cvt.s.w $f0, $f0 +/* CD1EC8 80240098 46000002 */ mul.s $f0, $f0, $f0 +/* CD1ECC 8024009C 00000000 */ nop +/* CD1ED0 802400A0 46041080 */ add.s $f2, $f2, $f4 +/* CD1ED4 802400A4 46001080 */ add.s $f2, $f2, $f0 +/* CD1ED8 802400A8 3C014561 */ lui $at, 0x4561 +/* CD1EDC 802400AC 44810000 */ mtc1 $at, $f0 +/* CD1EE0 802400B0 00000000 */ nop +/* CD1EE4 802400B4 4600103C */ c.lt.s $f2, $f0 +/* CD1EE8 802400B8 00000000 */ nop +/* CD1EEC 802400BC 45010002 */ bc1t .L802400C8 +/* CD1EF0 802400C0 24020001 */ addiu $v0, $zero, 1 +/* CD1EF4 802400C4 0000102D */ daddu $v0, $zero, $zero +.L802400C8: +/* CD1EF8 802400C8 AC820084 */ sw $v0, 0x84($a0) +/* CD1EFC 802400CC 03E00008 */ jr $ra +/* CD1F00 802400D0 24020002 */ addiu $v0, $zero, 2 +/* CD1F04 802400D4 00000000 */ nop +/* CD1F08 802400D8 00000000 */ nop +/* CD1F0C 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802400E0_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802400E0_CD1E30.s new file mode 100644 index 0000000000..c7b0d6ded7 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802400E0_CD1E30.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_CD1F10 +/* CD1F10 802400E0 3C03800A */ lui $v1, %hi(D_8009A650) +/* CD1F14 802400E4 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* CD1F18 802400E8 8C620000 */ lw $v0, ($v1) +/* CD1F1C 802400EC 34420040 */ ori $v0, $v0, 0x40 +/* CD1F20 802400F0 AC620000 */ sw $v0, ($v1) +/* CD1F24 802400F4 03E00008 */ jr $ra +/* CD1F28 802400F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802400FC_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802400FC_CD1E30.s new file mode 100644 index 0000000000..badd365d69 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802400FC_CD1E30.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400FC_CD1F2C +/* CD1F2C 802400FC 3C02800A */ lui $v0, %hi(D_8009A650) +/* CD1F30 80240100 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* CD1F34 80240104 8C430000 */ lw $v1, ($v0) +/* CD1F38 80240108 2404FFBF */ addiu $a0, $zero, -0x41 +/* CD1F3C 8024010C 00641824 */ and $v1, $v1, $a0 +/* CD1F40 80240110 AC430000 */ sw $v1, ($v0) +/* CD1F44 80240114 03E00008 */ jr $ra +/* CD1F48 80240118 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_8024011C_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_8024011C_CD1E30.s new file mode 100644 index 0000000000..6f00d13e1f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_8024011C_CD1E30.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_CD1F4C +/* CD1F4C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD1F50 80240120 AFBF0010 */ sw $ra, 0x10($sp) +/* CD1F54 80240124 8C82000C */ lw $v0, 0xc($a0) +/* CD1F58 80240128 0C0B1EAF */ jal get_variable +/* CD1F5C 8024012C 8C450000 */ lw $a1, ($v0) +/* CD1F60 80240130 0C0B95A4 */ jal func_802E5690 +/* CD1F64 80240134 0040202D */ daddu $a0, $v0, $zero +/* CD1F68 80240138 8FBF0010 */ lw $ra, 0x10($sp) +/* CD1F6C 8024013C 24020002 */ addiu $v0, $zero, 2 +/* CD1F70 80240140 03E00008 */ jr $ra +/* CD1F74 80240144 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240148_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240148_CD1E30.s new file mode 100644 index 0000000000..4cef9bbb35 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240148_CD1E30.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240148_CD1F78 +/* CD1F78 80240148 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD1F7C 8024014C AFB00010 */ sw $s0, 0x10($sp) +/* CD1F80 80240150 0080802D */ daddu $s0, $a0, $zero +/* CD1F84 80240154 AFBF0018 */ sw $ra, 0x18($sp) +/* CD1F88 80240158 AFB10014 */ sw $s1, 0x14($sp) +/* CD1F8C 8024015C 8E11000C */ lw $s1, 0xc($s0) +/* CD1F90 80240160 8E250000 */ lw $a1, ($s1) +/* CD1F94 80240164 0C0B1EAF */ jal get_variable +/* CD1F98 80240168 26310004 */ addiu $s1, $s1, 4 +/* CD1F9C 8024016C 0200202D */ daddu $a0, $s0, $zero +/* CD1FA0 80240170 3C038011 */ lui $v1, %hi(gPlayerData) +/* CD1FA4 80240174 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* CD1FA8 80240178 000210C0 */ sll $v0, $v0, 3 +/* CD1FAC 8024017C 00431021 */ addu $v0, $v0, $v1 +/* CD1FB0 80240180 90460015 */ lbu $a2, 0x15($v0) +/* CD1FB4 80240184 8E250000 */ lw $a1, ($s1) +/* CD1FB8 80240188 24C60001 */ addiu $a2, $a2, 1 +/* CD1FBC 8024018C A0460015 */ sb $a2, 0x15($v0) +/* CD1FC0 80240190 00063600 */ sll $a2, $a2, 0x18 +/* CD1FC4 80240194 0C0B2026 */ jal set_variable +/* CD1FC8 80240198 00063603 */ sra $a2, $a2, 0x18 +/* CD1FCC 8024019C 8FBF0018 */ lw $ra, 0x18($sp) +/* CD1FD0 802401A0 8FB10014 */ lw $s1, 0x14($sp) +/* CD1FD4 802401A4 8FB00010 */ lw $s0, 0x10($sp) +/* CD1FD8 802401A8 24020002 */ addiu $v0, $zero, 2 +/* CD1FDC 802401AC 03E00008 */ jr $ra +/* CD1FE0 802401B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802401B4_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802401B4_CD1E30.s new file mode 100644 index 0000000000..e91a92f61a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802401B4_CD1E30.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_CD1FE4 +/* CD1FE4 802401B4 3C028011 */ lui $v0, %hi(gPlayerData) +/* CD1FE8 802401B8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* CD1FEC 802401BC 000420C0 */ sll $a0, $a0, 3 +/* CD1FF0 802401C0 00822021 */ addu $a0, $a0, $v0 +/* CD1FF4 802401C4 90820014 */ lbu $v0, 0x14($a0) +/* CD1FF8 802401C8 10400009 */ beqz $v0, .L802401F0 +/* CD1FFC 802401CC 00000000 */ nop +/* CD2000 802401D0 90820015 */ lbu $v0, 0x15($a0) +/* CD2004 802401D4 00022600 */ sll $a0, $v0, 0x18 +/* CD2008 802401D8 00041E03 */ sra $v1, $a0, 0x18 +/* CD200C 802401DC 00051400 */ sll $v0, $a1, 0x10 +/* CD2010 802401E0 00021403 */ sra $v0, $v0, 0x10 +/* CD2014 802401E4 0043102A */ slt $v0, $v0, $v1 +/* CD2018 802401E8 10400003 */ beqz $v0, .L802401F8 +/* CD201C 802401EC 00000000 */ nop +.L802401F0: +/* CD2020 802401F0 03E00008 */ jr $ra +/* CD2024 802401F4 2402FFFF */ addiu $v0, $zero, -1 +.L802401F8: +/* CD2028 802401F8 03E00008 */ jr $ra +/* CD202C 802401FC 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240200_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240200_CD1E30.s new file mode 100644 index 0000000000..6573be8d48 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240200_CD1E30.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240200_CD2030 +/* CD2030 80240200 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CD2034 80240204 AFB3001C */ sw $s3, 0x1c($sp) +/* CD2038 80240208 0080982D */ daddu $s3, $a0, $zero +/* CD203C 8024020C AFB00010 */ sw $s0, 0x10($sp) +/* CD2040 80240210 24100001 */ addiu $s0, $zero, 1 +/* CD2044 80240214 AFB40020 */ sw $s4, 0x20($sp) +/* CD2048 80240218 2414FFFF */ addiu $s4, $zero, -1 +/* CD204C 8024021C AFB50024 */ sw $s5, 0x24($sp) +/* CD2050 80240220 0200A82D */ daddu $s5, $s0, $zero +/* CD2054 80240224 AFB10014 */ sw $s1, 0x14($sp) +/* CD2058 80240228 3C118011 */ lui $s1, 0x8011 +/* CD205C 8024022C 2631F298 */ addiu $s1, $s1, -0xd68 +/* CD2060 80240230 AFBF0028 */ sw $ra, 0x28($sp) +/* CD2064 80240234 AFB20018 */ sw $s2, 0x18($sp) +/* CD2068 80240238 8E6200B4 */ lw $v0, 0xb4($s3) +/* CD206C 8024023C 0280182D */ daddu $v1, $s4, $zero +/* CD2070 80240240 AE630084 */ sw $v1, 0x84($s3) +/* CD2074 80240244 00021027 */ nor $v0, $zero, $v0 +/* CD2078 80240248 000217C2 */ srl $v0, $v0, 0x1f +/* CD207C 8024024C 00029400 */ sll $s2, $v0, 0x10 +.L80240250: +/* CD2080 80240250 92220014 */ lbu $v0, 0x14($s1) +/* CD2084 80240254 50400008 */ beql $v0, $zero, .L80240278 +/* CD2088 80240258 26100001 */ addiu $s0, $s0, 1 +/* CD208C 8024025C 0200202D */ daddu $a0, $s0, $zero +/* CD2090 80240260 0C09006D */ jal func_802401B4 +/* CD2094 80240264 00122C03 */ sra $a1, $s2, 0x10 +/* CD2098 80240268 10540003 */ beq $v0, $s4, .L80240278 +/* CD209C 8024026C 26100001 */ addiu $s0, $s0, 1 +/* CD20A0 80240270 080900A1 */ j .L80240284 +/* CD20A4 80240274 AE750084 */ sw $s5, 0x84($s3) +.L80240278: +/* CD20A8 80240278 2A02000C */ slti $v0, $s0, 0xc +/* CD20AC 8024027C 1440FFF4 */ bnez $v0, .L80240250 +/* CD20B0 80240280 26310008 */ addiu $s1, $s1, 8 +.L80240284: +/* CD20B4 80240284 8FBF0028 */ lw $ra, 0x28($sp) +/* CD20B8 80240288 8FB50024 */ lw $s5, 0x24($sp) +/* CD20BC 8024028C 8FB40020 */ lw $s4, 0x20($sp) +/* CD20C0 80240290 8FB3001C */ lw $s3, 0x1c($sp) +/* CD20C4 80240294 8FB20018 */ lw $s2, 0x18($sp) +/* CD20C8 80240298 8FB10014 */ lw $s1, 0x14($sp) +/* CD20CC 8024029C 8FB00010 */ lw $s0, 0x10($sp) +/* CD20D0 802402A0 24020002 */ addiu $v0, $zero, 2 +/* CD20D4 802402A4 03E00008 */ jr $ra +/* CD20D8 802402A8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802402AC_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802402AC_CD1E30.s new file mode 100644 index 0000000000..a09d050134 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802402AC_CD1E30.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402AC_CD20DC +/* CD20DC 802402AC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* CD20E0 802402B0 AFB5002C */ sw $s5, 0x2c($sp) +/* CD20E4 802402B4 0080A82D */ daddu $s5, $a0, $zero +/* CD20E8 802402B8 AFBE0038 */ sw $fp, 0x38($sp) +/* CD20EC 802402BC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* CD20F0 802402C0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* CD20F4 802402C4 AFBF003C */ sw $ra, 0x3c($sp) +/* CD20F8 802402C8 AFB70034 */ sw $s7, 0x34($sp) +/* CD20FC 802402CC AFB60030 */ sw $s6, 0x30($sp) +/* CD2100 802402D0 AFB40028 */ sw $s4, 0x28($sp) +/* CD2104 802402D4 AFB30024 */ sw $s3, 0x24($sp) +/* CD2108 802402D8 AFB20020 */ sw $s2, 0x20($sp) +/* CD210C 802402DC AFB1001C */ sw $s1, 0x1c($sp) +/* CD2110 802402E0 10A0004F */ beqz $a1, .L80240420 +/* CD2114 802402E4 AFB00018 */ sw $s0, 0x18($sp) +/* CD2118 802402E8 0C00AB39 */ jal heap_malloc +/* CD211C 802402EC 24040330 */ addiu $a0, $zero, 0x330 +/* CD2120 802402F0 0040982D */ daddu $s3, $v0, $zero +/* CD2124 802402F4 0000B02D */ daddu $s6, $zero, $zero +/* CD2128 802402F8 02C0902D */ daddu $s2, $s6, $zero +/* CD212C 802402FC 3C148024 */ lui $s4, 0x8024 +/* CD2130 80240300 26943708 */ addiu $s4, $s4, 0x3708 +/* CD2134 80240304 0260882D */ daddu $s1, $s3, $zero +/* CD2138 80240308 8EA200B4 */ lw $v0, 0xb4($s5) +/* CD213C 8024030C 3C038024 */ lui $v1, 0x8024 +/* CD2140 80240310 24633700 */ addiu $v1, $v1, 0x3700 +/* CD2144 80240314 AEB30078 */ sw $s3, 0x78($s5) +/* CD2148 80240318 00021027 */ nor $v0, $zero, $v0 +/* CD214C 8024031C 0002BFC2 */ srl $s7, $v0, 0x1f +/* CD2150 80240320 00171080 */ sll $v0, $s7, 2 +/* CD2154 80240324 00431021 */ addu $v0, $v0, $v1 +/* CD2158 80240328 AFA20010 */ sw $v0, 0x10($sp) +.L8024032C: +/* CD215C 8024032C 86900000 */ lh $s0, ($s4) +/* CD2160 80240330 001010C0 */ sll $v0, $s0, 3 +/* CD2164 80240334 03C21021 */ addu $v0, $fp, $v0 +/* CD2168 80240338 90420014 */ lbu $v0, 0x14($v0) +/* CD216C 8024033C 5040002E */ beql $v0, $zero, .L802403F8 +/* CD2170 80240340 26520001 */ addiu $s2, $s2, 1 +/* CD2174 80240344 00101100 */ sll $v0, $s0, 4 +/* CD2178 80240348 3C068009 */ lui $a2, 0x8009 +/* CD217C 8024034C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* CD2180 80240350 00461021 */ addu $v0, $v0, $a2 +/* CD2184 80240354 0200202D */ daddu $a0, $s0, $zero +/* CD2188 80240358 AE300108 */ sw $s0, 0x108($s1) +/* CD218C 8024035C 8C420000 */ lw $v0, ($v0) +/* CD2190 80240360 02E0282D */ daddu $a1, $s7, $zero +/* CD2194 80240364 0C09006D */ jal func_802401B4 +/* CD2198 80240368 AE220084 */ sw $v0, 0x84($s1) +/* CD219C 8024036C 0040202D */ daddu $a0, $v0, $zero +/* CD21A0 80240370 04800011 */ bltz $a0, .L802403B8 +/* CD21A4 80240374 00101080 */ sll $v0, $s0, 2 +/* CD21A8 80240378 3C06800F */ lui $a2, 0x800f +/* CD21AC 8024037C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* CD21B0 80240380 00461021 */ addu $v0, $v0, $a2 +/* CD21B4 80240384 8C430000 */ lw $v1, ($v0) +/* CD21B8 80240388 24020001 */ addiu $v0, $zero, 1 +/* CD21BC 8024038C AE22018C */ sw $v0, 0x18c($s1) +/* CD21C0 80240390 00041080 */ sll $v0, $a0, 2 +/* CD21C4 80240394 3C068024 */ lui $a2, 0x8024 +/* CD21C8 80240398 24C63718 */ addiu $a2, $a2, 0x3718 +/* CD21CC 8024039C AE230000 */ sw $v1, ($s1) +/* CD21D0 802403A0 001218C0 */ sll $v1, $s2, 3 +/* CD21D4 802403A4 00431021 */ addu $v0, $v0, $v1 +/* CD21D8 802403A8 00461021 */ addu $v0, $v0, $a2 +/* CD21DC 802403AC 8C420000 */ lw $v0, ($v0) +/* CD21E0 802403B0 080900F7 */ j .L802403DC +/* CD21E4 802403B4 AE220294 */ sw $v0, 0x294($s1) +.L802403B8: +/* CD21E8 802403B8 3C06800F */ lui $a2, 0x800f +/* CD21EC 802403BC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* CD21F0 802403C0 00461021 */ addu $v0, $v0, $a2 +/* CD21F4 802403C4 8C420000 */ lw $v0, ($v0) +/* CD21F8 802403C8 AE20018C */ sw $zero, 0x18c($s1) +/* CD21FC 802403CC AE220000 */ sw $v0, ($s1) +/* CD2200 802403D0 8FA60010 */ lw $a2, 0x10($sp) +/* CD2204 802403D4 8CC20000 */ lw $v0, ($a2) +/* CD2208 802403D8 AE220294 */ sw $v0, 0x294($s1) +.L802403DC: +/* CD220C 802403DC 001010C0 */ sll $v0, $s0, 3 +/* CD2210 802403E0 03C21021 */ addu $v0, $fp, $v0 +/* CD2214 802403E4 80420015 */ lb $v0, 0x15($v0) +/* CD2218 802403E8 26D60001 */ addiu $s6, $s6, 1 +/* CD221C 802403EC AE220210 */ sw $v0, 0x210($s1) +/* CD2220 802403F0 26310004 */ addiu $s1, $s1, 4 +/* CD2224 802403F4 26520001 */ addiu $s2, $s2, 1 +.L802403F8: +/* CD2228 802403F8 2A420008 */ slti $v0, $s2, 8 +/* CD222C 802403FC 1440FFCB */ bnez $v0, .L8024032C +/* CD2230 80240400 26940002 */ addiu $s4, $s4, 2 +/* CD2234 80240404 0260202D */ daddu $a0, $s3, $zero +/* CD2238 80240408 24020004 */ addiu $v0, $zero, 4 +/* CD223C 8024040C AC820318 */ sw $v0, 0x318($a0) +/* CD2240 80240410 AC960324 */ sw $s6, 0x324($a0) +/* CD2244 80240414 0C03D390 */ jal func_800F4E40 +/* CD2248 80240418 AC800328 */ sw $zero, 0x328($a0) +/* CD224C 8024041C AEA00070 */ sw $zero, 0x70($s5) +.L80240420: +/* CD2250 80240420 8EA20070 */ lw $v0, 0x70($s5) +/* CD2254 80240424 8EB30078 */ lw $s3, 0x78($s5) +/* CD2258 80240428 14400008 */ bnez $v0, .L8024044C +/* CD225C 8024042C 24420001 */ addiu $v0, $v0, 1 +/* CD2260 80240430 8662032C */ lh $v0, 0x32c($s3) +/* CD2264 80240434 10400009 */ beqz $v0, .L8024045C +/* CD2268 80240438 AEA20074 */ sw $v0, 0x74($s5) +/* CD226C 8024043C 0C03C4EC */ jal func_800F13B0 +/* CD2270 80240440 00000000 */ nop +/* CD2274 80240444 8EA20070 */ lw $v0, 0x70($s5) +/* CD2278 80240448 24420001 */ addiu $v0, $v0, 1 +.L8024044C: +/* CD227C 8024044C AEA20070 */ sw $v0, 0x70($s5) +/* CD2280 80240450 2842000F */ slti $v0, $v0, 0xf +/* CD2284 80240454 10400003 */ beqz $v0, .L80240464 +/* CD2288 80240458 00000000 */ nop +.L8024045C: +/* CD228C 8024045C 08090133 */ j .L802404CC +/* CD2290 80240460 0000102D */ daddu $v0, $zero, $zero +.L80240464: +/* CD2294 80240464 0C03C54E */ jal func_800F1538 +/* CD2298 80240468 00000000 */ nop +/* CD229C 8024046C 8EA30074 */ lw $v1, 0x74($s5) +/* CD22A0 80240470 240200FF */ addiu $v0, $zero, 0xff +/* CD22A4 80240474 10620010 */ beq $v1, $v0, .L802404B8 +/* CD22A8 80240478 2462FFFF */ addiu $v0, $v1, -1 +/* CD22AC 8024047C 00021080 */ sll $v0, $v0, 2 +/* CD22B0 80240480 02621021 */ addu $v0, $s3, $v0 +/* CD22B4 80240484 8C420108 */ lw $v0, 0x108($v0) +/* CD22B8 80240488 00021100 */ sll $v0, $v0, 4 +/* CD22BC 8024048C 3C038009 */ lui $v1, 0x8009 +/* CD22C0 80240490 00621821 */ addu $v1, $v1, $v0 +/* CD22C4 80240494 8C63EF20 */ lw $v1, -0x10e0($v1) +/* CD22C8 80240498 8EA20074 */ lw $v0, 0x74($s5) +/* CD22CC 8024049C 2442FFFF */ addiu $v0, $v0, -1 +/* CD22D0 802404A0 00021080 */ sll $v0, $v0, 2 +/* CD22D4 802404A4 02621021 */ addu $v0, $s3, $v0 +/* CD22D8 802404A8 AEA30084 */ sw $v1, 0x84($s5) +/* CD22DC 802404AC 8C420108 */ lw $v0, 0x108($v0) +/* CD22E0 802404B0 08090130 */ j .L802404C0 +/* CD22E4 802404B4 AEA20088 */ sw $v0, 0x88($s5) +.L802404B8: +/* CD22E8 802404B8 2402FFFF */ addiu $v0, $zero, -1 +/* CD22EC 802404BC AEA20084 */ sw $v0, 0x84($s5) +.L802404C0: +/* CD22F0 802404C0 0C00AB4B */ jal heap_free +/* CD22F4 802404C4 8EA40078 */ lw $a0, 0x78($s5) +/* CD22F8 802404C8 24020002 */ addiu $v0, $zero, 2 +.L802404CC: +/* CD22FC 802404CC 8FBF003C */ lw $ra, 0x3c($sp) +/* CD2300 802404D0 8FBE0038 */ lw $fp, 0x38($sp) +/* CD2304 802404D4 8FB70034 */ lw $s7, 0x34($sp) +/* CD2308 802404D8 8FB60030 */ lw $s6, 0x30($sp) +/* CD230C 802404DC 8FB5002C */ lw $s5, 0x2c($sp) +/* CD2310 802404E0 8FB40028 */ lw $s4, 0x28($sp) +/* CD2314 802404E4 8FB30024 */ lw $s3, 0x24($sp) +/* CD2318 802404E8 8FB20020 */ lw $s2, 0x20($sp) +/* CD231C 802404EC 8FB1001C */ lw $s1, 0x1c($sp) +/* CD2320 802404F0 8FB00018 */ lw $s0, 0x18($sp) +/* CD2324 802404F4 03E00008 */ jr $ra +/* CD2328 802404F8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802404FC.s b/asm/nonmatchings/world/area_flo/flo_16/func_802404FC.s new file mode 100644 index 0000000000..2c8d0b9c30 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802404FC.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404FC +/* CD232C 802404FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD2330 80240500 AFBF0010 */ sw $ra, 0x10($sp) +/* CD2334 80240504 8C82000C */ lw $v0, 0xc($a0) +/* CD2338 80240508 0C0B1EAF */ jal get_variable +/* CD233C 8024050C 8C450000 */ lw $a1, ($v0) +/* CD2340 80240510 0C03AC5A */ jal func_800EB168 +/* CD2344 80240514 0040202D */ daddu $a0, $v0, $zero +/* CD2348 80240518 8FBF0010 */ lw $ra, 0x10($sp) +/* CD234C 8024051C 24020002 */ addiu $v0, $zero, 2 +/* CD2350 80240520 03E00008 */ jr $ra +/* CD2354 80240524 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240528_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240528_CD1E30.s new file mode 100644 index 0000000000..aca75a6bbd --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240528_CD1E30.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240528_CD2358 +/* CD2358 80240528 3C028011 */ lui $v0, 0x8011 +/* CD235C 8024052C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* CD2360 80240530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD2364 80240534 AFBF0010 */ sw $ra, 0x10($sp) +/* CD2368 80240538 00021100 */ sll $v0, $v0, 4 +/* CD236C 8024053C 3C048009 */ lui $a0, 0x8009 +/* CD2370 80240540 00822021 */ addu $a0, $a0, $v0 +/* CD2374 80240544 8C84EF20 */ lw $a0, -0x10e0($a0) +/* CD2378 80240548 0C0496CF */ jal set_message_string +/* CD237C 8024054C 0000282D */ daddu $a1, $zero, $zero +/* CD2380 80240550 8FBF0010 */ lw $ra, 0x10($sp) +/* CD2384 80240554 24020002 */ addiu $v0, $zero, 2 +/* CD2388 80240558 03E00008 */ jr $ra +/* CD238C 8024055C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240560.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240560.s new file mode 100644 index 0000000000..66e7121562 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240560.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240560 +/* CD2390 80240560 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD2394 80240564 AFB1001C */ sw $s1, 0x1c($sp) +/* CD2398 80240568 0080882D */ daddu $s1, $a0, $zero +/* CD239C 8024056C AFBF0020 */ sw $ra, 0x20($sp) +/* CD23A0 80240570 AFB00018 */ sw $s0, 0x18($sp) +/* CD23A4 80240574 8E30000C */ lw $s0, 0xc($s1) +/* CD23A8 80240578 8E050000 */ lw $a1, ($s0) +/* CD23AC 8024057C 0C0B1EAF */ jal get_variable +/* CD23B0 80240580 26100004 */ addiu $s0, $s0, 4 +/* CD23B4 80240584 0C04417A */ jal get_entity_by_index +/* CD23B8 80240588 0040202D */ daddu $a0, $v0, $zero +/* CD23BC 8024058C 8E100000 */ lw $s0, ($s0) +/* CD23C0 80240590 C444004C */ lwc1 $f4, 0x4c($v0) +/* CD23C4 80240594 3C014148 */ lui $at, 0x4148 +/* CD23C8 80240598 44810000 */ mtc1 $at, $f0 +/* CD23CC 8024059C 3C013F33 */ lui $at, 0x3f33 +/* CD23D0 802405A0 34213333 */ ori $at, $at, 0x3333 +/* CD23D4 802405A4 44811000 */ mtc1 $at, $f2 +/* CD23D8 802405A8 AFA00014 */ sw $zero, 0x14($sp) +/* CD23DC 802405AC 46002100 */ add.s $f4, $f4, $f0 +/* CD23E0 802405B0 E7A20010 */ swc1 $f2, 0x10($sp) +/* CD23E4 802405B4 8C450048 */ lw $a1, 0x48($v0) +/* CD23E8 802405B8 8C470050 */ lw $a3, 0x50($v0) +/* CD23EC 802405BC 44062000 */ mfc1 $a2, $f4 +/* CD23F0 802405C0 0C01C5D4 */ jal func_80071750 +/* CD23F4 802405C4 0000202D */ daddu $a0, $zero, $zero +/* CD23F8 802405C8 0220202D */ daddu $a0, $s1, $zero +/* CD23FC 802405CC 0200282D */ daddu $a1, $s0, $zero +/* CD2400 802405D0 0C0B2026 */ jal set_variable +/* CD2404 802405D4 0040302D */ daddu $a2, $v0, $zero +/* CD2408 802405D8 8FBF0020 */ lw $ra, 0x20($sp) +/* CD240C 802405DC 8FB1001C */ lw $s1, 0x1c($sp) +/* CD2410 802405E0 8FB00018 */ lw $s0, 0x18($sp) +/* CD2414 802405E4 24020002 */ addiu $v0, $zero, 2 +/* CD2418 802405E8 03E00008 */ jr $ra +/* CD241C 802405EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802405F0_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802405F0_CD1E30.s new file mode 100644 index 0000000000..e566583d2a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802405F0_CD1E30.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_CD2420 +/* CD2420 802405F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD2424 802405F4 AFBF0010 */ sw $ra, 0x10($sp) +/* CD2428 802405F8 8C82000C */ lw $v0, 0xc($a0) +/* CD242C 802405FC 0C0B1EAF */ jal get_variable +/* CD2430 80240600 8C450000 */ lw $a1, ($v0) +/* CD2434 80240604 0040202D */ daddu $a0, $v0, $zero +/* CD2438 80240608 8C830000 */ lw $v1, ($a0) +/* CD243C 8024060C 34630010 */ ori $v1, $v1, 0x10 +/* CD2440 80240610 AC830000 */ sw $v1, ($a0) +/* CD2444 80240614 8FBF0010 */ lw $ra, 0x10($sp) +/* CD2448 80240618 24020002 */ addiu $v0, $zero, 2 +/* CD244C 8024061C 03E00008 */ jr $ra +/* CD2450 80240620 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240624_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240624_CD1E30.s new file mode 100644 index 0000000000..86799ff980 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240624_CD1E30.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_CD2454 +/* CD2454 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD2458 80240628 AFBF0018 */ sw $ra, 0x18($sp) +/* CD245C 8024062C 8C82000C */ lw $v0, 0xc($a0) +/* CD2460 80240630 0C0B1EAF */ jal get_variable +/* CD2464 80240634 8C450000 */ lw $a1, ($v0) +/* CD2468 80240638 0C04417A */ jal get_entity_by_index +/* CD246C 8024063C 0040202D */ daddu $a0, $v0, $zero +/* CD2470 80240640 3C013F80 */ lui $at, 0x3f80 +/* CD2474 80240644 44810000 */ mtc1 $at, $f0 +/* CD2478 80240648 C442004C */ lwc1 $f2, 0x4c($v0) +/* CD247C 8024064C E7A00010 */ swc1 $f0, 0x10($sp) +/* CD2480 80240650 3C014148 */ lui $at, 0x4148 +/* CD2484 80240654 44810000 */ mtc1 $at, $f0 +/* CD2488 80240658 2403004B */ addiu $v1, $zero, 0x4b +/* CD248C 8024065C AFA30014 */ sw $v1, 0x14($sp) +/* CD2490 80240660 46001080 */ add.s $f2, $f2, $f0 +/* CD2494 80240664 8C450048 */ lw $a1, 0x48($v0) +/* CD2498 80240668 8C470050 */ lw $a3, 0x50($v0) +/* CD249C 8024066C 44061000 */ mfc1 $a2, $f2 +/* CD24A0 80240670 0C01C2EC */ jal func_80070BB0 +/* CD24A4 80240674 24040004 */ addiu $a0, $zero, 4 +/* CD24A8 80240678 8FBF0018 */ lw $ra, 0x18($sp) +/* CD24AC 8024067C 24020002 */ addiu $v0, $zero, 2 +/* CD24B0 80240680 03E00008 */ jr $ra +/* CD24B4 80240684 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240688_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240688_CD1E30.s new file mode 100644 index 0000000000..8673e9911b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240688_CD1E30.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240688_CD24B8 +/* CD24B8 80240688 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD24BC 8024068C AFBF0018 */ sw $ra, 0x18($sp) +/* CD24C0 80240690 0C00EAD2 */ jal get_npc_safe +/* CD24C4 80240694 2404FFFC */ addiu $a0, $zero, -4 +/* CD24C8 80240698 C444003C */ lwc1 $f4, 0x3c($v0) +/* CD24CC 8024069C 3C014148 */ lui $at, 0x4148 +/* CD24D0 802406A0 44811000 */ mtc1 $at, $f2 +/* CD24D4 802406A4 3C013F80 */ lui $at, 0x3f80 +/* CD24D8 802406A8 44810000 */ mtc1 $at, $f0 +/* CD24DC 802406AC 2403001E */ addiu $v1, $zero, 0x1e +/* CD24E0 802406B0 AFA30014 */ sw $v1, 0x14($sp) +/* CD24E4 802406B4 46022100 */ add.s $f4, $f4, $f2 +/* CD24E8 802406B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD24EC 802406BC 8C450038 */ lw $a1, 0x38($v0) +/* CD24F0 802406C0 8C470040 */ lw $a3, 0x40($v0) +/* CD24F4 802406C4 44062000 */ mfc1 $a2, $f4 +/* CD24F8 802406C8 0C01C2EC */ jal func_80070BB0 +/* CD24FC 802406CC 24040009 */ addiu $a0, $zero, 9 +/* CD2500 802406D0 8FBF0018 */ lw $ra, 0x18($sp) +/* CD2504 802406D4 24020002 */ addiu $v0, $zero, 2 +/* CD2508 802406D8 03E00008 */ jr $ra +/* CD250C 802406DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802406E0_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802406E0_CD1E30.s new file mode 100644 index 0000000000..e22f346e98 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802406E0_CD1E30.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_CD2510 +/* CD2510 802406E0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* CD2514 802406E4 AFB60040 */ sw $s6, 0x40($sp) +/* CD2518 802406E8 0080B02D */ daddu $s6, $a0, $zero +/* CD251C 802406EC AFB00028 */ sw $s0, 0x28($sp) +/* CD2520 802406F0 00A0802D */ daddu $s0, $a1, $zero +/* CD2524 802406F4 AFBF0044 */ sw $ra, 0x44($sp) +/* CD2528 802406F8 AFB5003C */ sw $s5, 0x3c($sp) +/* CD252C 802406FC AFB40038 */ sw $s4, 0x38($sp) +/* CD2530 80240700 AFB30034 */ sw $s3, 0x34($sp) +/* CD2534 80240704 AFB20030 */ sw $s2, 0x30($sp) +/* CD2538 80240708 AFB1002C */ sw $s1, 0x2c($sp) +/* CD253C 8024070C F7B80058 */ sdc1 $f24, 0x58($sp) +/* CD2540 80240710 F7B60050 */ sdc1 $f22, 0x50($sp) +/* CD2544 80240714 F7B40048 */ sdc1 $f20, 0x48($sp) +/* CD2548 80240718 8ED3000C */ lw $s3, 0xc($s6) +/* CD254C 8024071C 0C00EAD2 */ jal get_npc_safe +/* CD2550 80240720 2404FFFC */ addiu $a0, $zero, -4 +/* CD2554 80240724 27A50018 */ addiu $a1, $sp, 0x18 +/* CD2558 80240728 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* CD255C 8024072C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* CD2560 80240730 27A6001C */ addiu $a2, $sp, 0x1c +/* CD2564 80240734 00041880 */ sll $v1, $a0, 2 +/* CD2568 80240738 00641821 */ addu $v1, $v1, $a0 +/* CD256C 8024073C 00031880 */ sll $v1, $v1, 2 +/* CD2570 80240740 00641823 */ subu $v1, $v1, $a0 +/* CD2574 80240744 000320C0 */ sll $a0, $v1, 3 +/* CD2578 80240748 00641821 */ addu $v1, $v1, $a0 +/* CD257C 8024074C 000318C0 */ sll $v1, $v1, 3 +/* CD2580 80240750 3C01800B */ lui $at, 0x800b +/* CD2584 80240754 00230821 */ addu $at, $at, $v1 +/* CD2588 80240758 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* CD258C 8024075C 0C00A88D */ jal sin_cos_deg +/* CD2590 80240760 0040A82D */ daddu $s5, $v0, $zero +/* CD2594 80240764 1200005D */ beqz $s0, .L802408DC +/* CD2598 80240768 00000000 */ nop +/* CD259C 8024076C 0C00AB0A */ jal general_heap_malloc +/* CD25A0 80240770 24040068 */ addiu $a0, $zero, 0x68 +/* CD25A4 80240774 0040902D */ daddu $s2, $v0, $zero +/* CD25A8 80240778 02C0202D */ daddu $a0, $s6, $zero +/* CD25AC 8024077C 0000882D */ daddu $s1, $zero, $zero +/* CD25B0 80240780 2414FFFF */ addiu $s4, $zero, -1 +/* CD25B4 80240784 AED20060 */ sw $s2, 0x60($s6) +/* CD25B8 80240788 8E650000 */ lw $a1, ($s3) +/* CD25BC 8024078C 3C014148 */ lui $at, 0x4148 +/* CD25C0 80240790 4481C000 */ mtc1 $at, $f24 +/* CD25C4 80240794 3C013F80 */ lui $at, 0x3f80 +/* CD25C8 80240798 4481B000 */ mtc1 $at, $f22 +/* CD25CC 8024079C 4480A000 */ mtc1 $zero, $f20 +/* CD25D0 802407A0 0C0B1EAF */ jal get_variable +/* CD25D4 802407A4 0240802D */ daddu $s0, $s2, $zero +/* CD25D8 802407A8 0C04417A */ jal get_entity_by_index +/* CD25DC 802407AC 0040202D */ daddu $a0, $v0, $zero +/* CD25E0 802407B0 AE42005C */ sw $v0, 0x5c($s2) +.L802407B4: +/* CD25E4 802407B4 8E42005C */ lw $v0, 0x5c($s2) +/* CD25E8 802407B8 C440004C */ lwc1 $f0, 0x4c($v0) +/* CD25EC 802407BC 0000202D */ daddu $a0, $zero, $zero +/* CD25F0 802407C0 E7B60010 */ swc1 $f22, 0x10($sp) +/* CD25F4 802407C4 AFB40014 */ sw $s4, 0x14($sp) +/* CD25F8 802407C8 46180000 */ add.s $f0, $f0, $f24 +/* CD25FC 802407CC 8C450048 */ lw $a1, 0x48($v0) +/* CD2600 802407D0 8C470050 */ lw $a3, 0x50($v0) +/* CD2604 802407D4 44060000 */ mfc1 $a2, $f0 +/* CD2608 802407D8 0C01C5BC */ jal func_800716F0 +/* CD260C 802407DC 26310001 */ addiu $s1, $s1, 1 +/* CD2610 802407E0 AE020008 */ sw $v0, 8($s0) +/* CD2614 802407E4 E614002C */ swc1 $f20, 0x2c($s0) +/* CD2618 802407E8 E6140020 */ swc1 $f20, 0x20($s0) +/* CD261C 802407EC E6140014 */ swc1 $f20, 0x14($s0) +/* CD2620 802407F0 E6140050 */ swc1 $f20, 0x50($s0) +/* CD2624 802407F4 E6140044 */ swc1 $f20, 0x44($s0) +/* CD2628 802407F8 E6140038 */ swc1 $f20, 0x38($s0) +/* CD262C 802407FC 2A220003 */ slti $v0, $s1, 3 +/* CD2630 80240800 1440FFEC */ bnez $v0, .L802407B4 +/* CD2634 80240804 26100004 */ addiu $s0, $s0, 4 +/* CD2638 80240808 0000882D */ daddu $s1, $zero, $zero +/* CD263C 8024080C 0240802D */ daddu $s0, $s2, $zero +/* CD2640 80240810 3C148024 */ lui $s4, 0x8024 +/* CD2644 80240814 26943758 */ addiu $s4, $s4, 0x3758 +/* CD2648 80240818 3C014248 */ lui $at, 0x4248 +/* CD264C 8024081C 4481A000 */ mtc1 $at, $f20 +/* CD2650 80240820 24130044 */ addiu $s3, $zero, 0x44 +/* CD2654 80240824 AE400000 */ sw $zero, ($s2) +/* CD2658 80240828 AE400004 */ sw $zero, 4($s2) +/* CD265C 8024082C AE400060 */ sw $zero, 0x60($s2) +/* CD2660 80240830 AE400064 */ sw $zero, 0x64($s2) +.L80240834: +/* CD2664 80240834 27A40020 */ addiu $a0, $sp, 0x20 +/* CD2668 80240838 4406A000 */ mfc1 $a2, $f20 +/* CD266C 8024083C 8E870000 */ lw $a3, ($s4) +/* CD2670 80240840 02532821 */ addu $a1, $s2, $s3 +/* CD2674 80240844 0C00A7E7 */ jal add_vec2D_polar +/* CD2678 80240848 AFA00020 */ sw $zero, 0x20($sp) +/* CD267C 8024084C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* CD2680 80240850 C7A40020 */ lwc1 $f4, 0x20($sp) +/* CD2684 80240854 46041082 */ mul.s $f2, $f2, $f4 +/* CD2688 80240858 00000000 */ nop +/* CD268C 8024085C C7A00018 */ lwc1 $f0, 0x18($sp) +/* CD2690 80240860 46040002 */ mul.s $f0, $f0, $f4 +/* CD2694 80240864 00000000 */ nop +/* CD2698 80240868 E6020038 */ swc1 $f2, 0x38($s0) +/* CD269C 8024086C E6000050 */ swc1 $f0, 0x50($s0) +/* CD26A0 80240870 8E42005C */ lw $v0, 0x5c($s2) +/* CD26A4 80240874 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD26A8 80240878 C4420048 */ lwc1 $f2, 0x48($v0) +/* CD26AC 8024087C 46001080 */ add.s $f2, $f2, $f0 +/* CD26B0 80240880 C6A00038 */ lwc1 $f0, 0x38($s5) +/* CD26B4 80240884 46020001 */ sub.s $f0, $f0, $f2 +/* CD26B8 80240888 E6000038 */ swc1 $f0, 0x38($s0) +/* CD26BC 8024088C 8E42005C */ lw $v0, 0x5c($s2) +/* CD26C0 80240890 C6000044 */ lwc1 $f0, 0x44($s0) +/* CD26C4 80240894 C442004C */ lwc1 $f2, 0x4c($v0) +/* CD26C8 80240898 46001080 */ add.s $f2, $f2, $f0 +/* CD26CC 8024089C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* CD26D0 802408A0 46020001 */ sub.s $f0, $f0, $f2 +/* CD26D4 802408A4 E6000044 */ swc1 $f0, 0x44($s0) +/* CD26D8 802408A8 8E42005C */ lw $v0, 0x5c($s2) +/* CD26DC 802408AC C6000050 */ lwc1 $f0, 0x50($s0) +/* CD26E0 802408B0 C4420050 */ lwc1 $f2, 0x50($v0) +/* CD26E4 802408B4 26940004 */ addiu $s4, $s4, 4 +/* CD26E8 802408B8 46001080 */ add.s $f2, $f2, $f0 +/* CD26EC 802408BC C6A00040 */ lwc1 $f0, 0x40($s5) +/* CD26F0 802408C0 26730004 */ addiu $s3, $s3, 4 +/* CD26F4 802408C4 46020001 */ sub.s $f0, $f0, $f2 +/* CD26F8 802408C8 26310001 */ addiu $s1, $s1, 1 +/* CD26FC 802408CC 2A220003 */ slti $v0, $s1, 3 +/* CD2700 802408D0 E6000050 */ swc1 $f0, 0x50($s0) +/* CD2704 802408D4 1440FFD7 */ bnez $v0, .L80240834 +/* CD2708 802408D8 26100004 */ addiu $s0, $s0, 4 +.L802408DC: +/* CD270C 802408DC 8ED20060 */ lw $s2, 0x60($s6) +/* CD2710 802408E0 8E430000 */ lw $v1, ($s2) +/* CD2714 802408E4 24020001 */ addiu $v0, $zero, 1 +/* CD2718 802408E8 10620038 */ beq $v1, $v0, .L802409CC +/* CD271C 802408EC 28620002 */ slti $v0, $v1, 2 +/* CD2720 802408F0 50400005 */ beql $v0, $zero, .L80240908 +/* CD2724 802408F4 24020002 */ addiu $v0, $zero, 2 +/* CD2728 802408F8 10600007 */ beqz $v1, .L80240918 +/* CD272C 802408FC 24040005 */ addiu $a0, $zero, 5 +/* CD2730 80240900 080902AC */ j .L80240AB0 +/* CD2734 80240904 00000000 */ nop +.L80240908: +/* CD2738 80240908 10620058 */ beq $v1, $v0, .L80240A6C +/* CD273C 8024090C 00000000 */ nop +/* CD2740 80240910 080902AC */ j .L80240AB0 +/* CD2744 80240914 00000000 */ nop +.L80240918: +/* CD2748 80240918 0000882D */ daddu $s1, $zero, $zero +/* CD274C 8024091C 3C148024 */ lui $s4, 0x8024 +/* CD2750 80240920 26943758 */ addiu $s4, $s4, 0x3758 +/* CD2754 80240924 24130020 */ addiu $s3, $zero, 0x20 +/* CD2758 80240928 3C064248 */ lui $a2, 0x4248 +/* CD275C 8024092C 44800000 */ mtc1 $zero, $f0 +/* CD2760 80240930 24020014 */ addiu $v0, $zero, 0x14 +/* CD2764 80240934 AFA20010 */ sw $v0, 0x10($sp) +/* CD2768 80240938 44050000 */ mfc1 $a1, $f0 +/* CD276C 8024093C 8E470060 */ lw $a3, 0x60($s2) +/* CD2770 80240940 4485B000 */ mtc1 $a1, $f22 +/* CD2774 80240944 0C00A8ED */ jal update_lerp +/* CD2778 80240948 0240802D */ daddu $s0, $s2, $zero +/* CD277C 8024094C 46000506 */ mov.s $f20, $f0 +.L80240950: +/* CD2780 80240950 4406A000 */ mfc1 $a2, $f20 +/* CD2784 80240954 27A40020 */ addiu $a0, $sp, 0x20 +/* CD2788 80240958 E6160020 */ swc1 $f22, 0x20($s0) +/* CD278C 8024095C 8E870000 */ lw $a3, ($s4) +/* CD2790 80240960 02532821 */ addu $a1, $s2, $s3 +/* CD2794 80240964 0C00A7E7 */ jal add_vec2D_polar +/* CD2798 80240968 E7B60020 */ swc1 $f22, 0x20($sp) +/* CD279C 8024096C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* CD27A0 80240970 C7A00020 */ lwc1 $f0, 0x20($sp) +/* CD27A4 80240974 46002102 */ mul.s $f4, $f4, $f0 +/* CD27A8 80240978 00000000 */ nop +/* CD27AC 8024097C C7A20018 */ lwc1 $f2, 0x18($sp) +/* CD27B0 80240980 26940004 */ addiu $s4, $s4, 4 +/* CD27B4 80240984 46001082 */ mul.s $f2, $f2, $f0 +/* CD27B8 80240988 00000000 */ nop +/* CD27BC 8024098C 26730004 */ addiu $s3, $s3, 4 +/* CD27C0 80240990 26310001 */ addiu $s1, $s1, 1 +/* CD27C4 80240994 2A220003 */ slti $v0, $s1, 3 +/* CD27C8 80240998 E6040014 */ swc1 $f4, 0x14($s0) +/* CD27CC 8024099C E602002C */ swc1 $f2, 0x2c($s0) +/* CD27D0 802409A0 1440FFEB */ bnez $v0, .L80240950 +/* CD27D4 802409A4 26100004 */ addiu $s0, $s0, 4 +/* CD27D8 802409A8 8E420060 */ lw $v0, 0x60($s2) +/* CD27DC 802409AC 24420001 */ addiu $v0, $v0, 1 +/* CD27E0 802409B0 AE420060 */ sw $v0, 0x60($s2) +/* CD27E4 802409B4 28420015 */ slti $v0, $v0, 0x15 +/* CD27E8 802409B8 1440003D */ bnez $v0, .L80240AB0 +/* CD27EC 802409BC 24020001 */ addiu $v0, $zero, 1 +/* CD27F0 802409C0 AE420000 */ sw $v0, ($s2) +/* CD27F4 802409C4 080902AC */ j .L80240AB0 +/* CD27F8 802409C8 AE400060 */ sw $zero, 0x60($s2) +.L802409CC: +/* CD27FC 802409CC 0000882D */ daddu $s1, $zero, $zero +/* CD2800 802409D0 3C148024 */ lui $s4, 0x8024 +/* CD2804 802409D4 26943758 */ addiu $s4, $s4, 0x3758 +/* CD2808 802409D8 24130020 */ addiu $s3, $zero, 0x20 +/* CD280C 802409DC 0240802D */ daddu $s0, $s2, $zero +/* CD2810 802409E0 3C014248 */ lui $at, 0x4248 +/* CD2814 802409E4 4481A000 */ mtc1 $at, $f20 +/* CD2818 802409E8 4480B000 */ mtc1 $zero, $f22 +.L802409EC: +/* CD281C 802409EC 4406A000 */ mfc1 $a2, $f20 +/* CD2820 802409F0 27A40020 */ addiu $a0, $sp, 0x20 +/* CD2824 802409F4 E6160020 */ swc1 $f22, 0x20($s0) +/* CD2828 802409F8 8E870000 */ lw $a3, ($s4) +/* CD282C 802409FC 02532821 */ addu $a1, $s2, $s3 +/* CD2830 80240A00 0C00A7E7 */ jal add_vec2D_polar +/* CD2834 80240A04 E7B60020 */ swc1 $f22, 0x20($sp) +/* CD2838 80240A08 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* CD283C 80240A0C C7A00020 */ lwc1 $f0, 0x20($sp) +/* CD2840 80240A10 46002102 */ mul.s $f4, $f4, $f0 +/* CD2844 80240A14 00000000 */ nop +/* CD2848 80240A18 C7A20018 */ lwc1 $f2, 0x18($sp) +/* CD284C 80240A1C 26940004 */ addiu $s4, $s4, 4 +/* CD2850 80240A20 46001082 */ mul.s $f2, $f2, $f0 +/* CD2854 80240A24 00000000 */ nop +/* CD2858 80240A28 26730004 */ addiu $s3, $s3, 4 +/* CD285C 80240A2C 26310001 */ addiu $s1, $s1, 1 +/* CD2860 80240A30 2A220003 */ slti $v0, $s1, 3 +/* CD2864 80240A34 E6040014 */ swc1 $f4, 0x14($s0) +/* CD2868 80240A38 E602002C */ swc1 $f2, 0x2c($s0) +/* CD286C 80240A3C 1440FFEB */ bnez $v0, .L802409EC +/* CD2870 80240A40 26100004 */ addiu $s0, $s0, 4 +/* CD2874 80240A44 8E420060 */ lw $v0, 0x60($s2) +/* CD2878 80240A48 24420001 */ addiu $v0, $v0, 1 +/* CD287C 80240A4C AE420060 */ sw $v0, 0x60($s2) +/* CD2880 80240A50 28420010 */ slti $v0, $v0, 0x10 +/* CD2884 80240A54 14400016 */ bnez $v0, .L80240AB0 +/* CD2888 80240A58 2402000F */ addiu $v0, $zero, 0xf +/* CD288C 80240A5C AE420060 */ sw $v0, 0x60($s2) +/* CD2890 80240A60 24020002 */ addiu $v0, $zero, 2 +/* CD2894 80240A64 080902AC */ j .L80240AB0 +/* CD2898 80240A68 AE420000 */ sw $v0, ($s2) +.L80240A6C: +/* CD289C 80240A6C 8E420060 */ lw $v0, 0x60($s2) +/* CD28A0 80240A70 24420001 */ addiu $v0, $v0, 1 +/* CD28A4 80240A74 AE420060 */ sw $v0, 0x60($s2) +/* CD28A8 80240A78 2842001F */ slti $v0, $v0, 0x1f +/* CD28AC 80240A7C 1440000C */ bnez $v0, .L80240AB0 +/* CD28B0 80240A80 0000882D */ daddu $s1, $zero, $zero +/* CD28B4 80240A84 0240282D */ daddu $a1, $s2, $zero +.L80240A88: +/* CD28B8 80240A88 8CA20008 */ lw $v0, 8($a1) +/* CD28BC 80240A8C 8C430000 */ lw $v1, ($v0) +/* CD28C0 80240A90 26310001 */ addiu $s1, $s1, 1 +/* CD28C4 80240A94 34630010 */ ori $v1, $v1, 0x10 +/* CD28C8 80240A98 AC430000 */ sw $v1, ($v0) +/* CD28CC 80240A9C 2A220003 */ slti $v0, $s1, 3 +/* CD28D0 80240AA0 1440FFF9 */ bnez $v0, .L80240A88 +/* CD28D4 80240AA4 24A50004 */ addiu $a1, $a1, 4 +/* CD28D8 80240AA8 080902F9 */ j .L80240BE4 +/* CD28DC 80240AAC 24020002 */ addiu $v0, $zero, 2 +.L80240AB0: +/* CD28E0 80240AB0 8E430004 */ lw $v1, 4($s2) +/* CD28E4 80240AB4 10600005 */ beqz $v1, .L80240ACC +/* CD28E8 80240AB8 24020001 */ addiu $v0, $zero, 1 +/* CD28EC 80240ABC 1062000B */ beq $v1, $v0, .L80240AEC +/* CD28F0 80240AC0 0000882D */ daddu $s1, $zero, $zero +/* CD28F4 80240AC4 080902E8 */ j .L80240BA0 +/* CD28F8 80240AC8 0240282D */ daddu $a1, $s2, $zero +.L80240ACC: +/* CD28FC 80240ACC 8E420064 */ lw $v0, 0x64($s2) +/* CD2900 80240AD0 24420001 */ addiu $v0, $v0, 1 +/* CD2904 80240AD4 AE420064 */ sw $v0, 0x64($s2) +/* CD2908 80240AD8 28420010 */ slti $v0, $v0, 0x10 +/* CD290C 80240ADC 1440002F */ bnez $v0, .L80240B9C +/* CD2910 80240AE0 0000882D */ daddu $s1, $zero, $zero +/* CD2914 80240AE4 080902E4 */ j .L80240B90 +/* CD2918 80240AE8 24020001 */ addiu $v0, $zero, 1 +.L80240AEC: +/* CD291C 80240AEC 4480A000 */ mtc1 $zero, $f20 +/* CD2920 80240AF0 24130014 */ addiu $s3, $zero, 0x14 +/* CD2924 80240AF4 0240802D */ daddu $s0, $s2, $zero +.L80240AF8: +/* CD2928 80240AF8 4405A000 */ mfc1 $a1, $f20 +/* CD292C 80240AFC AFB30010 */ sw $s3, 0x10($sp) +/* CD2930 80240B00 8E060038 */ lw $a2, 0x38($s0) +/* CD2934 80240B04 8E470064 */ lw $a3, 0x64($s2) +/* CD2938 80240B08 0C00A8ED */ jal update_lerp +/* CD293C 80240B0C 24040001 */ addiu $a0, $zero, 1 +/* CD2940 80240B10 C6020014 */ lwc1 $f2, 0x14($s0) +/* CD2944 80240B14 46001080 */ add.s $f2, $f2, $f0 +/* CD2948 80240B18 4405A000 */ mfc1 $a1, $f20 +/* CD294C 80240B1C E6020014 */ swc1 $f2, 0x14($s0) +/* CD2950 80240B20 AFB30010 */ sw $s3, 0x10($sp) +/* CD2954 80240B24 8E060044 */ lw $a2, 0x44($s0) +/* CD2958 80240B28 8E470064 */ lw $a3, 0x64($s2) +/* CD295C 80240B2C 0C00A8ED */ jal update_lerp +/* CD2960 80240B30 24040001 */ addiu $a0, $zero, 1 +/* CD2964 80240B34 C6020020 */ lwc1 $f2, 0x20($s0) +/* CD2968 80240B38 46001080 */ add.s $f2, $f2, $f0 +/* CD296C 80240B3C 4405A000 */ mfc1 $a1, $f20 +/* CD2970 80240B40 E6020020 */ swc1 $f2, 0x20($s0) +/* CD2974 80240B44 AFB30010 */ sw $s3, 0x10($sp) +/* CD2978 80240B48 8E060050 */ lw $a2, 0x50($s0) +/* CD297C 80240B4C 8E470064 */ lw $a3, 0x64($s2) +/* CD2980 80240B50 0C00A8ED */ jal update_lerp +/* CD2984 80240B54 24040001 */ addiu $a0, $zero, 1 +/* CD2988 80240B58 C602002C */ lwc1 $f2, 0x2c($s0) +/* CD298C 80240B5C 46001080 */ add.s $f2, $f2, $f0 +/* CD2990 80240B60 26310001 */ addiu $s1, $s1, 1 +/* CD2994 80240B64 2A220003 */ slti $v0, $s1, 3 +/* CD2998 80240B68 E602002C */ swc1 $f2, 0x2c($s0) +/* CD299C 80240B6C 1440FFE2 */ bnez $v0, .L80240AF8 +/* CD29A0 80240B70 26100004 */ addiu $s0, $s0, 4 +/* CD29A4 80240B74 8E420064 */ lw $v0, 0x64($s2) +/* CD29A8 80240B78 24420001 */ addiu $v0, $v0, 1 +/* CD29AC 80240B7C AE420064 */ sw $v0, 0x64($s2) +/* CD29B0 80240B80 28420015 */ slti $v0, $v0, 0x15 +/* CD29B4 80240B84 14400005 */ bnez $v0, .L80240B9C +/* CD29B8 80240B88 0000882D */ daddu $s1, $zero, $zero +/* CD29BC 80240B8C 24020002 */ addiu $v0, $zero, 2 +.L80240B90: +/* CD29C0 80240B90 AE420004 */ sw $v0, 4($s2) +/* CD29C4 80240B94 AE400064 */ sw $zero, 0x64($s2) +/* CD29C8 80240B98 0000882D */ daddu $s1, $zero, $zero +.L80240B9C: +/* CD29CC 80240B9C 0240282D */ daddu $a1, $s2, $zero +.L80240BA0: +/* CD29D0 80240BA0 8CA20008 */ lw $v0, 8($a1) +/* CD29D4 80240BA4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* CD29D8 80240BA8 8C42000C */ lw $v0, 0xc($v0) +/* CD29DC 80240BAC E4400010 */ swc1 $f0, 0x10($v0) +/* CD29E0 80240BB0 8CA20008 */ lw $v0, 8($a1) +/* CD29E4 80240BB4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* CD29E8 80240BB8 8C42000C */ lw $v0, 0xc($v0) +/* CD29EC 80240BBC 26310001 */ addiu $s1, $s1, 1 +/* CD29F0 80240BC0 E4400014 */ swc1 $f0, 0x14($v0) +/* CD29F4 80240BC4 8CA20008 */ lw $v0, 8($a1) +/* CD29F8 80240BC8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* CD29FC 80240BCC 8C42000C */ lw $v0, 0xc($v0) +/* CD2A00 80240BD0 E4400018 */ swc1 $f0, 0x18($v0) +/* CD2A04 80240BD4 2A220003 */ slti $v0, $s1, 3 +/* CD2A08 80240BD8 1440FFF1 */ bnez $v0, .L80240BA0 +/* CD2A0C 80240BDC 24A50004 */ addiu $a1, $a1, 4 +/* CD2A10 80240BE0 0000102D */ daddu $v0, $zero, $zero +.L80240BE4: +/* CD2A14 80240BE4 8FBF0044 */ lw $ra, 0x44($sp) +/* CD2A18 80240BE8 8FB60040 */ lw $s6, 0x40($sp) +/* CD2A1C 80240BEC 8FB5003C */ lw $s5, 0x3c($sp) +/* CD2A20 80240BF0 8FB40038 */ lw $s4, 0x38($sp) +/* CD2A24 80240BF4 8FB30034 */ lw $s3, 0x34($sp) +/* CD2A28 80240BF8 8FB20030 */ lw $s2, 0x30($sp) +/* CD2A2C 80240BFC 8FB1002C */ lw $s1, 0x2c($sp) +/* CD2A30 80240C00 8FB00028 */ lw $s0, 0x28($sp) +/* CD2A34 80240C04 D7B80058 */ ldc1 $f24, 0x58($sp) +/* CD2A38 80240C08 D7B60050 */ ldc1 $f22, 0x50($sp) +/* CD2A3C 80240C0C D7B40048 */ ldc1 $f20, 0x48($sp) +/* CD2A40 80240C10 03E00008 */ jr $ra +/* CD2A44 80240C14 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240C18_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240C18_CD1E30.s new file mode 100644 index 0000000000..394076ea91 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240C18_CD1E30.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C18_CD2A48 +/* CD2A48 80240C18 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD2A4C 80240C1C AFB10014 */ sw $s1, 0x14($sp) +/* CD2A50 80240C20 0080882D */ daddu $s1, $a0, $zero +/* CD2A54 80240C24 AFB20018 */ sw $s2, 0x18($sp) +/* CD2A58 80240C28 AFBF001C */ sw $ra, 0x1c($sp) +/* CD2A5C 80240C2C AFB00010 */ sw $s0, 0x10($sp) +/* CD2A60 80240C30 8E30000C */ lw $s0, 0xc($s1) +/* CD2A64 80240C34 10A00010 */ beqz $a1, .L80240C78 +/* CD2A68 80240C38 0000902D */ daddu $s2, $zero, $zero +/* CD2A6C 80240C3C 8E050000 */ lw $a1, ($s0) +/* CD2A70 80240C40 0C0B1EAF */ jal get_variable +/* CD2A74 80240C44 26100004 */ addiu $s0, $s0, 4 +/* CD2A78 80240C48 AE220084 */ sw $v0, 0x84($s1) +/* CD2A7C 80240C4C 8E050000 */ lw $a1, ($s0) +/* CD2A80 80240C50 0C0B1EAF */ jal get_variable +/* CD2A84 80240C54 0220202D */ daddu $a0, $s1, $zero +/* CD2A88 80240C58 0240202D */ daddu $a0, $s2, $zero +/* CD2A8C 80240C5C 240500D0 */ addiu $a1, $zero, 0xd0 +/* CD2A90 80240C60 00A0302D */ daddu $a2, $a1, $zero +/* CD2A94 80240C64 00A0382D */ daddu $a3, $a1, $zero +/* CD2A98 80240C68 AE220088 */ sw $v0, 0x88($s1) +/* CD2A9C 80240C6C AE200070 */ sw $zero, 0x70($s1) +/* CD2AA0 80240C70 0C04DF84 */ jal func_80137E10 +/* CD2AA4 80240C74 AE200074 */ sw $zero, 0x74($s1) +.L80240C78: +/* CD2AA8 80240C78 8E230070 */ lw $v1, 0x70($s1) +/* CD2AAC 80240C7C 24040001 */ addiu $a0, $zero, 1 +/* CD2AB0 80240C80 10640019 */ beq $v1, $a0, .L80240CE8 +/* CD2AB4 80240C84 28620002 */ slti $v0, $v1, 2 +/* CD2AB8 80240C88 10400005 */ beqz $v0, .L80240CA0 +/* CD2ABC 80240C8C 24020002 */ addiu $v0, $zero, 2 +/* CD2AC0 80240C90 10600007 */ beqz $v1, .L80240CB0 +/* CD2AC4 80240C94 240500FF */ addiu $a1, $zero, 0xff +/* CD2AC8 80240C98 0809034A */ j .L80240D28 +/* CD2ACC 80240C9C 00000000 */ nop +.L80240CA0: +/* CD2AD0 80240CA0 10620019 */ beq $v1, $v0, .L80240D08 +/* CD2AD4 80240CA4 00000000 */ nop +/* CD2AD8 80240CA8 0809034A */ j .L80240D28 +/* CD2ADC 80240CAC 00000000 */ nop +.L80240CB0: +/* CD2AE0 80240CB0 8E220074 */ lw $v0, 0x74($s1) +/* CD2AE4 80240CB4 14450004 */ bne $v0, $a1, .L80240CC8 +/* CD2AE8 80240CB8 00000000 */ nop +/* CD2AEC 80240CBC AE240070 */ sw $a0, 0x70($s1) +/* CD2AF0 80240CC0 AE200078 */ sw $zero, 0x78($s1) +/* CD2AF4 80240CC4 8E220074 */ lw $v0, 0x74($s1) +.L80240CC8: +/* CD2AF8 80240CC8 8E230084 */ lw $v1, 0x84($s1) +/* CD2AFC 80240CCC 00431021 */ addu $v0, $v0, $v1 +/* CD2B00 80240CD0 AE220074 */ sw $v0, 0x74($s1) +/* CD2B04 80240CD4 28420100 */ slti $v0, $v0, 0x100 +/* CD2B08 80240CD8 50400013 */ beql $v0, $zero, .L80240D28 +/* CD2B0C 80240CDC AE250074 */ sw $a1, 0x74($s1) +/* CD2B10 80240CE0 0809034A */ j .L80240D28 +/* CD2B14 80240CE4 00000000 */ nop +.L80240CE8: +/* CD2B18 80240CE8 8E220078 */ lw $v0, 0x78($s1) +/* CD2B1C 80240CEC 24420001 */ addiu $v0, $v0, 1 +/* CD2B20 80240CF0 AE220078 */ sw $v0, 0x78($s1) +/* CD2B24 80240CF4 28420002 */ slti $v0, $v0, 2 +/* CD2B28 80240CF8 1440000B */ bnez $v0, .L80240D28 +/* CD2B2C 80240CFC 24020002 */ addiu $v0, $zero, 2 +/* CD2B30 80240D00 0809034A */ j .L80240D28 +/* CD2B34 80240D04 AE220070 */ sw $v0, 0x70($s1) +.L80240D08: +/* CD2B38 80240D08 8E230074 */ lw $v1, 0x74($s1) +/* CD2B3C 80240D0C 50600001 */ beql $v1, $zero, .L80240D14 +/* CD2B40 80240D10 24120001 */ addiu $s2, $zero, 1 +.L80240D14: +/* CD2B44 80240D14 8E220088 */ lw $v0, 0x88($s1) +/* CD2B48 80240D18 00621023 */ subu $v0, $v1, $v0 +/* CD2B4C 80240D1C 04410002 */ bgez $v0, .L80240D28 +/* CD2B50 80240D20 AE220074 */ sw $v0, 0x74($s1) +/* CD2B54 80240D24 AE200074 */ sw $zero, 0x74($s1) +.L80240D28: +/* CD2B58 80240D28 C6200074 */ lwc1 $f0, 0x74($s1) +/* CD2B5C 80240D2C 46800020 */ cvt.s.w $f0, $f0 +/* CD2B60 80240D30 44050000 */ mfc1 $a1, $f0 +/* CD2B64 80240D34 0C04DF62 */ jal func_80137D88 +/* CD2B68 80240D38 24040001 */ addiu $a0, $zero, 1 +/* CD2B6C 80240D3C 0240102D */ daddu $v0, $s2, $zero +/* CD2B70 80240D40 8FBF001C */ lw $ra, 0x1c($sp) +/* CD2B74 80240D44 8FB20018 */ lw $s2, 0x18($sp) +/* CD2B78 80240D48 8FB10014 */ lw $s1, 0x14($sp) +/* CD2B7C 80240D4C 8FB00010 */ lw $s0, 0x10($sp) +/* CD2B80 80240D50 03E00008 */ jr $ra +/* CD2B84 80240D54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240D58.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240D58.s new file mode 100644 index 0000000000..60444465c1 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240D58.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D58 +/* CD2B88 80240D58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD2B8C 80240D5C AFBF0018 */ sw $ra, 0x18($sp) +/* CD2B90 80240D60 0C00EAD2 */ jal get_npc_safe +/* CD2B94 80240D64 2404FFFC */ addiu $a0, $zero, -4 +/* CD2B98 80240D68 3C0141F0 */ lui $at, 0x41f0 +/* CD2B9C 80240D6C 44810000 */ mtc1 $at, $f0 +/* CD2BA0 80240D70 C442003C */ lwc1 $f2, 0x3c($v0) +/* CD2BA4 80240D74 46001080 */ add.s $f2, $f2, $f0 +/* CD2BA8 80240D78 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD2BAC 80240D7C 8C450038 */ lw $a1, 0x38($v0) +/* CD2BB0 80240D80 8C470040 */ lw $a3, 0x40($v0) +/* CD2BB4 80240D84 44061000 */ mfc1 $a2, $f2 +/* CD2BB8 80240D88 0C01BFBC */ jal func_8006FEF0 +/* CD2BBC 80240D8C 24040002 */ addiu $a0, $zero, 2 +/* CD2BC0 80240D90 8FBF0018 */ lw $ra, 0x18($sp) +/* CD2BC4 80240D94 24020002 */ addiu $v0, $zero, 2 +/* CD2BC8 80240D98 03E00008 */ jr $ra +/* CD2BCC 80240D9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240DA0_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240DA0_CD1E30.s new file mode 100644 index 0000000000..6423b74d60 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240DA0_CD1E30.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA0_CD2BD0 +/* CD2BD0 80240DA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD2BD4 80240DA4 AFBF0018 */ sw $ra, 0x18($sp) +/* CD2BD8 80240DA8 0C00EAD2 */ jal get_npc_safe +/* CD2BDC 80240DAC 2404FFFC */ addiu $a0, $zero, -4 +/* CD2BE0 80240DB0 3C0141F0 */ lui $at, 0x41f0 +/* CD2BE4 80240DB4 44810000 */ mtc1 $at, $f0 +/* CD2BE8 80240DB8 C442003C */ lwc1 $f2, 0x3c($v0) +/* CD2BEC 80240DBC 46001080 */ add.s $f2, $f2, $f0 +/* CD2BF0 80240DC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD2BF4 80240DC4 8C450038 */ lw $a1, 0x38($v0) +/* CD2BF8 80240DC8 8C470040 */ lw $a3, 0x40($v0) +/* CD2BFC 80240DCC 44061000 */ mfc1 $a2, $f2 +/* CD2C00 80240DD0 0C01BFBC */ jal func_8006FEF0 +/* CD2C04 80240DD4 24040004 */ addiu $a0, $zero, 4 +/* CD2C08 80240DD8 8FBF0018 */ lw $ra, 0x18($sp) +/* CD2C0C 80240DDC 24020002 */ addiu $v0, $zero, 2 +/* CD2C10 80240DE0 03E00008 */ jr $ra +/* CD2C14 80240DE4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240DE8_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240DE8_CD1E30.s new file mode 100644 index 0000000000..c836f59423 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240DE8_CD1E30.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE8_CD2C18 +/* CD2C18 80240DE8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* CD2C1C 80240DEC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* CD2C20 80240DF0 AC800084 */ sw $zero, 0x84($a0) +/* CD2C24 80240DF4 80620000 */ lb $v0, ($v1) +/* CD2C28 80240DF8 10400005 */ beqz $v0, .L80240E10 +/* CD2C2C 80240DFC 24020003 */ addiu $v0, $zero, 3 +/* CD2C30 80240E00 80630003 */ lb $v1, 3($v1) +/* CD2C34 80240E04 14620002 */ bne $v1, $v0, .L80240E10 +/* CD2C38 80240E08 24020001 */ addiu $v0, $zero, 1 +/* CD2C3C 80240E0C AC820084 */ sw $v0, 0x84($a0) +.L80240E10: +/* CD2C40 80240E10 03E00008 */ jr $ra +/* CD2C44 80240E14 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240E18_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240E18_CD1E30.s new file mode 100644 index 0000000000..ce539dd5a3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240E18_CD1E30.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E18_CD2C48 +/* CD2C48 80240E18 AC800084 */ sw $zero, 0x84($a0) +/* CD2C4C 80240E1C 3C038011 */ lui $v1, %hi(gPlayerActionState) +/* CD2C50 80240E20 8063F07C */ lb $v1, %lo(gPlayerActionState)($v1) +/* CD2C54 80240E24 2402000E */ addiu $v0, $zero, 0xe +/* CD2C58 80240E28 10620004 */ beq $v1, $v0, .L80240E3C +/* CD2C5C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* CD2C60 80240E30 24020010 */ addiu $v0, $zero, 0x10 +/* CD2C64 80240E34 14620002 */ bne $v1, $v0, .L80240E40 +/* CD2C68 80240E38 24020001 */ addiu $v0, $zero, 1 +.L80240E3C: +/* CD2C6C 80240E3C AC820084 */ sw $v0, 0x84($a0) +.L80240E40: +/* CD2C70 80240E40 03E00008 */ jr $ra +/* CD2C74 80240E44 24020002 */ addiu $v0, $zero, 2 +/* CD2C78 80240E48 00000000 */ nop +/* CD2C7C 80240E4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80240E50_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80240E50_CD1E30.s new file mode 100644 index 0000000000..0297271238 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80240E50_CD1E30.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E50_CD2C80 +/* CD2C80 80240E50 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CD2C84 80240E54 AFB3002C */ sw $s3, 0x2c($sp) +/* CD2C88 80240E58 0080982D */ daddu $s3, $a0, $zero +/* CD2C8C 80240E5C AFBF0030 */ sw $ra, 0x30($sp) +/* CD2C90 80240E60 AFB20028 */ sw $s2, 0x28($sp) +/* CD2C94 80240E64 AFB10024 */ sw $s1, 0x24($sp) +/* CD2C98 80240E68 AFB00020 */ sw $s0, 0x20($sp) +/* CD2C9C 80240E6C 8E710148 */ lw $s1, 0x148($s3) +/* CD2CA0 80240E70 86240008 */ lh $a0, 8($s1) +/* CD2CA4 80240E74 0C00EABB */ jal get_npc_unsafe +/* CD2CA8 80240E78 00A0902D */ daddu $s2, $a1, $zero +/* CD2CAC 80240E7C 8E440004 */ lw $a0, 4($s2) +/* CD2CB0 80240E80 0040802D */ daddu $s0, $v0, $zero +/* CD2CB4 80240E84 00041FC2 */ srl $v1, $a0, 0x1f +/* CD2CB8 80240E88 00832021 */ addu $a0, $a0, $v1 +/* CD2CBC 80240E8C 00042043 */ sra $a0, $a0, 1 +/* CD2CC0 80240E90 0C00A67F */ jal rand_int +/* CD2CC4 80240E94 24840001 */ addiu $a0, $a0, 1 +/* CD2CC8 80240E98 8E430004 */ lw $v1, 4($s2) +/* CD2CCC 80240E9C 000327C2 */ srl $a0, $v1, 0x1f +/* CD2CD0 80240EA0 00641821 */ addu $v1, $v1, $a0 +/* CD2CD4 80240EA4 00031843 */ sra $v1, $v1, 1 +/* CD2CD8 80240EA8 00621821 */ addu $v1, $v1, $v0 +/* CD2CDC 80240EAC A603008E */ sh $v1, 0x8e($s0) +/* CD2CE0 80240EB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD2CE4 80240EB4 C6000040 */ lwc1 $f0, 0x40($s0) +/* CD2CE8 80240EB8 C4640000 */ lwc1 $f4, ($v1) +/* CD2CEC 80240EBC 46802120 */ cvt.s.w $f4, $f4 +/* CD2CF0 80240EC0 C4620008 */ lwc1 $f2, 8($v1) +/* CD2CF4 80240EC4 468010A0 */ cvt.s.w $f2, $f2 +/* CD2CF8 80240EC8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD2CFC 80240ECC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD2D00 80240ED0 44061000 */ mfc1 $a2, $f2 +/* CD2D04 80240ED4 C440000C */ lwc1 $f0, 0xc($v0) +/* CD2D08 80240ED8 46800020 */ cvt.s.w $f0, $f0 +/* CD2D0C 80240EDC E7A00014 */ swc1 $f0, 0x14($sp) +/* CD2D10 80240EE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD2D14 80240EE4 44052000 */ mfc1 $a1, $f4 +/* CD2D18 80240EE8 C4400010 */ lwc1 $f0, 0x10($v0) +/* CD2D1C 80240EEC 46800020 */ cvt.s.w $f0, $f0 +/* CD2D20 80240EF0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD2D24 80240EF4 8C640018 */ lw $a0, 0x18($v1) +/* CD2D28 80240EF8 0C0123F5 */ jal is_point_within_region +/* CD2D2C 80240EFC 8E070038 */ lw $a3, 0x38($s0) +/* CD2D30 80240F00 1040000E */ beqz $v0, .L80240F3C +/* CD2D34 80240F04 00000000 */ nop +/* CD2D38 80240F08 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD2D3C 80240F0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD2D40 80240F10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD2D44 80240F14 C4460000 */ lwc1 $f6, ($v0) +/* CD2D48 80240F18 468031A0 */ cvt.s.w $f6, $f6 +/* CD2D4C 80240F1C 44063000 */ mfc1 $a2, $f6 +/* CD2D50 80240F20 C4460008 */ lwc1 $f6, 8($v0) +/* CD2D54 80240F24 468031A0 */ cvt.s.w $f6, $f6 +/* CD2D58 80240F28 44073000 */ mfc1 $a3, $f6 +/* CD2D5C 80240F2C 0C00A720 */ jal atan2 +/* CD2D60 80240F30 00000000 */ nop +/* CD2D64 80240F34 080903DB */ j .L80240F6C +/* CD2D68 80240F38 E600000C */ swc1 $f0, 0xc($s0) +.L80240F3C: +/* CD2D6C 80240F3C 0C00A67F */ jal rand_int +/* CD2D70 80240F40 2404003C */ addiu $a0, $zero, 0x3c +/* CD2D74 80240F44 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD2D78 80240F48 44820000 */ mtc1 $v0, $f0 +/* CD2D7C 80240F4C 00000000 */ nop +/* CD2D80 80240F50 46800020 */ cvt.s.w $f0, $f0 +/* CD2D84 80240F54 46006300 */ add.s $f12, $f12, $f0 +/* CD2D88 80240F58 3C0141F0 */ lui $at, 0x41f0 +/* CD2D8C 80240F5C 44810000 */ mtc1 $at, $f0 +/* CD2D90 80240F60 0C00A6C9 */ jal clamp_angle +/* CD2D94 80240F64 46006301 */ sub.s $f12, $f12, $f0 +/* CD2D98 80240F68 E600000C */ swc1 $f0, 0xc($s0) +.L80240F6C: +/* CD2D9C 80240F6C 8E2200CC */ lw $v0, 0xcc($s1) +/* CD2DA0 80240F70 8C420004 */ lw $v0, 4($v0) +/* CD2DA4 80240F74 AE020028 */ sw $v0, 0x28($s0) +/* CD2DA8 80240F78 AE600074 */ sw $zero, 0x74($s3) +/* CD2DAC 80240F7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD2DB0 80240F80 8C420014 */ lw $v0, 0x14($v0) +/* CD2DB4 80240F84 04410004 */ bgez $v0, .L80240F98 +/* CD2DB8 80240F88 00000000 */ nop +/* CD2DBC 80240F8C C6400000 */ lwc1 $f0, ($s2) +/* CD2DC0 80240F90 080903EE */ j .L80240FB8 +/* CD2DC4 80240F94 E6000018 */ swc1 $f0, 0x18($s0) +.L80240F98: +/* CD2DC8 80240F98 3C018024 */ lui $at, 0x8024 +/* CD2DCC 80240F9C D42253F0 */ ldc1 $f2, 0x53f0($at) +/* CD2DD0 80240FA0 44820000 */ mtc1 $v0, $f0 +/* CD2DD4 80240FA4 00000000 */ nop +/* CD2DD8 80240FA8 46800021 */ cvt.d.w $f0, $f0 +/* CD2DDC 80240FAC 46220003 */ div.d $f0, $f0, $f2 +/* CD2DE0 80240FB0 46200020 */ cvt.s.d $f0, $f0 +/* CD2DE4 80240FB4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240FB8: +/* CD2DE8 80240FB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD2DEC 80240FBC 3C014059 */ lui $at, 0x4059 +/* CD2DF0 80240FC0 44811800 */ mtc1 $at, $f3 +/* CD2DF4 80240FC4 44801000 */ mtc1 $zero, $f2 +/* CD2DF8 80240FC8 46000021 */ cvt.d.s $f0, $f0 +/* CD2DFC 80240FCC 46220002 */ mul.d $f0, $f0, $f2 +/* CD2E00 80240FD0 00000000 */ nop +/* CD2E04 80240FD4 24020001 */ addiu $v0, $zero, 1 +/* CD2E08 80240FD8 4620018D */ trunc.w.d $f6, $f0 +/* CD2E0C 80240FDC E626007C */ swc1 $f6, 0x7c($s1) +/* CD2E10 80240FE0 AE620070 */ sw $v0, 0x70($s3) +/* CD2E14 80240FE4 8FBF0030 */ lw $ra, 0x30($sp) +/* CD2E18 80240FE8 8FB3002C */ lw $s3, 0x2c($sp) +/* CD2E1C 80240FEC 8FB20028 */ lw $s2, 0x28($sp) +/* CD2E20 80240FF0 8FB10024 */ lw $s1, 0x24($sp) +/* CD2E24 80240FF4 8FB00020 */ lw $s0, 0x20($sp) +/* CD2E28 80240FF8 03E00008 */ jr $ra +/* CD2E2C 80240FFC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241000_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241000_CD1E30.s new file mode 100644 index 0000000000..11861f2409 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241000_CD1E30.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241000_CD2E30 +/* CD2E30 80241000 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CD2E34 80241004 AFB3004C */ sw $s3, 0x4c($sp) +/* CD2E38 80241008 0080982D */ daddu $s3, $a0, $zero +/* CD2E3C 8024100C AFBF0058 */ sw $ra, 0x58($sp) +/* CD2E40 80241010 AFB50054 */ sw $s5, 0x54($sp) +/* CD2E44 80241014 AFB40050 */ sw $s4, 0x50($sp) +/* CD2E48 80241018 AFB20048 */ sw $s2, 0x48($sp) +/* CD2E4C 8024101C AFB10044 */ sw $s1, 0x44($sp) +/* CD2E50 80241020 AFB00040 */ sw $s0, 0x40($sp) +/* CD2E54 80241024 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CD2E58 80241028 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CD2E5C 8024102C F7B60068 */ sdc1 $f22, 0x68($sp) +/* CD2E60 80241030 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CD2E64 80241034 8E710148 */ lw $s1, 0x148($s3) +/* CD2E68 80241038 00A0902D */ daddu $s2, $a1, $zero +/* CD2E6C 8024103C 86240008 */ lh $a0, 8($s1) +/* CD2E70 80241040 0C00EABB */ jal get_npc_unsafe +/* CD2E74 80241044 00C0A82D */ daddu $s5, $a2, $zero +/* CD2E78 80241048 0040802D */ daddu $s0, $v0, $zero +/* CD2E7C 8024104C 0000A02D */ daddu $s4, $zero, $zero +/* CD2E80 80241050 C624007C */ lwc1 $f4, 0x7c($s1) +/* CD2E84 80241054 46802120 */ cvt.s.w $f4, $f4 +/* CD2E88 80241058 C6220088 */ lwc1 $f2, 0x88($s1) +/* CD2E8C 8024105C 468010A0 */ cvt.s.w $f2, $f2 +/* CD2E90 80241060 460010A1 */ cvt.d.s $f2, $f2 +/* CD2E94 80241064 46002121 */ cvt.d.s $f4, $f4 +/* CD2E98 80241068 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD2E9C 8024106C 3C014059 */ lui $at, 0x4059 +/* CD2EA0 80241070 44813800 */ mtc1 $at, $f7 +/* CD2EA4 80241074 44803000 */ mtc1 $zero, $f6 +/* CD2EA8 80241078 46000021 */ cvt.d.s $f0, $f0 +/* CD2EAC 8024107C 46260002 */ mul.d $f0, $f0, $f6 +/* CD2EB0 80241080 00000000 */ nop +/* CD2EB4 80241084 24020001 */ addiu $v0, $zero, 1 +/* CD2EB8 80241088 8E24006C */ lw $a0, 0x6c($s1) +/* CD2EBC 8024108C 46261083 */ div.d $f2, $f2, $f6 +/* CD2EC0 80241090 462010A0 */ cvt.s.d $f2, $f2 +/* CD2EC4 80241094 46262103 */ div.d $f4, $f4, $f6 +/* CD2EC8 80241098 46202520 */ cvt.s.d $f20, $f4 +/* CD2ECC 8024109C 30830011 */ andi $v1, $a0, 0x11 +/* CD2ED0 802410A0 4620020D */ trunc.w.d $f8, $f0 +/* CD2ED4 802410A4 E628007C */ swc1 $f8, 0x7c($s1) +/* CD2ED8 802410A8 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD2EDC 802410AC 46800020 */ cvt.s.w $f0, $f0 +/* CD2EE0 802410B0 46000021 */ cvt.d.s $f0, $f0 +/* CD2EE4 802410B4 46260003 */ div.d $f0, $f0, $f6 +/* CD2EE8 802410B8 462006A0 */ cvt.s.d $f26, $f0 +/* CD2EEC 802410BC C6200070 */ lwc1 $f0, 0x70($s1) +/* CD2EF0 802410C0 46800020 */ cvt.s.w $f0, $f0 +/* CD2EF4 802410C4 46000021 */ cvt.d.s $f0, $f0 +/* CD2EF8 802410C8 46260003 */ div.d $f0, $f0, $f6 +/* CD2EFC 802410CC 462005A0 */ cvt.s.d $f22, $f0 +/* CD2F00 802410D0 14620025 */ bne $v1, $v0, .L80241168 +/* CD2F04 802410D4 4602D600 */ add.s $f24, $f26, $f2 +/* CD2F08 802410D8 8E020000 */ lw $v0, ($s0) +/* CD2F0C 802410DC 30420008 */ andi $v0, $v0, 8 +/* CD2F10 802410E0 10400009 */ beqz $v0, .L80241108 +/* CD2F14 802410E4 27A50028 */ addiu $a1, $sp, 0x28 +/* CD2F18 802410E8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD2F1C 802410EC 4600C001 */ sub.s $f0, $f24, $f0 +/* CD2F20 802410F0 4600B03C */ c.lt.s $f22, $f0 +/* CD2F24 802410F4 00000000 */ nop +/* CD2F28 802410F8 4500001B */ bc1f .L80241168 +/* CD2F2C 802410FC 34820010 */ ori $v0, $a0, 0x10 +/* CD2F30 80241100 0809045A */ j .L80241168 +/* CD2F34 80241104 AE22006C */ sw $v0, 0x6c($s1) +.L80241108: +/* CD2F38 80241108 27A6002C */ addiu $a2, $sp, 0x2c +/* CD2F3C 8024110C C6000038 */ lwc1 $f0, 0x38($s0) +/* CD2F40 80241110 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD2F44 80241114 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD2F48 80241118 3C01447A */ lui $at, 0x447a +/* CD2F4C 8024111C 44813000 */ mtc1 $at, $f6 +/* CD2F50 80241120 27A20034 */ addiu $v0, $sp, 0x34 +/* CD2F54 80241124 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD2F58 80241128 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD2F5C 8024112C E7A40030 */ swc1 $f4, 0x30($sp) +/* CD2F60 80241130 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD2F64 80241134 AFA20010 */ sw $v0, 0x10($sp) +/* CD2F68 80241138 8E040080 */ lw $a0, 0x80($s0) +/* CD2F6C 8024113C 0C0372DF */ jal func_800DCB7C +/* CD2F70 80241140 27A70030 */ addiu $a3, $sp, 0x30 +/* CD2F74 80241144 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CD2F78 80241148 4600D001 */ sub.s $f0, $f26, $f0 +/* CD2F7C 8024114C 4600B03C */ c.lt.s $f22, $f0 +/* CD2F80 80241150 00000000 */ nop +/* CD2F84 80241154 45000004 */ bc1f .L80241168 +/* CD2F88 80241158 00000000 */ nop +/* CD2F8C 8024115C 8E22006C */ lw $v0, 0x6c($s1) +/* CD2F90 80241160 34420010 */ ori $v0, $v0, 0x10 +/* CD2F94 80241164 AE22006C */ sw $v0, 0x6c($s1) +.L80241168: +/* CD2F98 80241168 8E22006C */ lw $v0, 0x6c($s1) +/* CD2F9C 8024116C 24030011 */ addiu $v1, $zero, 0x11 +/* CD2FA0 80241170 30420011 */ andi $v0, $v0, 0x11 +/* CD2FA4 80241174 14430039 */ bne $v0, $v1, .L8024125C +/* CD2FA8 80241178 00000000 */ nop +/* CD2FAC 8024117C 8E020000 */ lw $v0, ($s0) +/* CD2FB0 80241180 30420008 */ andi $v0, $v0, 8 +/* CD2FB4 80241184 1040000A */ beqz $v0, .L802411B0 +/* CD2FB8 80241188 4600C106 */ mov.s $f4, $f24 +/* CD2FBC 8024118C 4614C081 */ sub.s $f2, $f24, $f20 +/* CD2FC0 80241190 3C018024 */ lui $at, 0x8024 +/* CD2FC4 80241194 D42053F8 */ ldc1 $f0, 0x53f8($at) +/* CD2FC8 80241198 460010A1 */ cvt.d.s $f2, $f2 +/* CD2FCC 8024119C 46201082 */ mul.d $f2, $f2, $f0 +/* CD2FD0 802411A0 00000000 */ nop +/* CD2FD4 802411A4 4600A021 */ cvt.d.s $f0, $f20 +/* CD2FD8 802411A8 08090485 */ j .L80241214 +/* CD2FDC 802411AC 46220000 */ add.d $f0, $f0, $f2 +.L802411B0: +/* CD2FE0 802411B0 27A50028 */ addiu $a1, $sp, 0x28 +/* CD2FE4 802411B4 27A6002C */ addiu $a2, $sp, 0x2c +/* CD2FE8 802411B8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD2FEC 802411BC C6020040 */ lwc1 $f2, 0x40($s0) +/* CD2FF0 802411C0 3C01447A */ lui $at, 0x447a +/* CD2FF4 802411C4 44812000 */ mtc1 $at, $f4 +/* CD2FF8 802411C8 27A20034 */ addiu $v0, $sp, 0x34 +/* CD2FFC 802411CC E7B4002C */ swc1 $f20, 0x2c($sp) +/* CD3000 802411D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD3004 802411D4 E7A20030 */ swc1 $f2, 0x30($sp) +/* CD3008 802411D8 E7A40034 */ swc1 $f4, 0x34($sp) +/* CD300C 802411DC AFA20010 */ sw $v0, 0x10($sp) +/* CD3010 802411E0 8E040080 */ lw $a0, 0x80($s0) +/* CD3014 802411E4 0C0372DF */ jal func_800DCB7C +/* CD3018 802411E8 27A70030 */ addiu $a3, $sp, 0x30 +/* CD301C 802411EC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CD3020 802411F0 461A2100 */ add.s $f4, $f4, $f26 +/* CD3024 802411F4 46142081 */ sub.s $f2, $f4, $f20 +/* CD3028 802411F8 3C018024 */ lui $at, 0x8024 +/* CD302C 802411FC D4205400 */ ldc1 $f0, 0x5400($at) +/* CD3030 80241200 460010A1 */ cvt.d.s $f2, $f2 +/* CD3034 80241204 46201082 */ mul.d $f2, $f2, $f0 +/* CD3038 80241208 00000000 */ nop +/* CD303C 8024120C 4600A021 */ cvt.d.s $f0, $f20 +/* CD3040 80241210 46220000 */ add.d $f0, $f0, $f2 +.L80241214: +/* CD3044 80241214 46200020 */ cvt.s.d $f0, $f0 +/* CD3048 80241218 E600003C */ swc1 $f0, 0x3c($s0) +/* CD304C 8024121C C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3050 80241220 46002001 */ sub.s $f0, $f4, $f0 +/* CD3054 80241224 3C013FF0 */ lui $at, 0x3ff0 +/* CD3058 80241228 44811800 */ mtc1 $at, $f3 +/* CD305C 8024122C 44801000 */ mtc1 $zero, $f2 +/* CD3060 80241230 46000005 */ abs.s $f0, $f0 +/* CD3064 80241234 46000021 */ cvt.d.s $f0, $f0 +/* CD3068 80241238 4622003C */ c.lt.d $f0, $f2 +/* CD306C 8024123C 00000000 */ nop +/* CD3070 80241240 45000036 */ bc1f .L8024131C +/* CD3074 80241244 2403FFEF */ addiu $v1, $zero, -0x11 +/* CD3078 80241248 E604003C */ swc1 $f4, 0x3c($s0) +/* CD307C 8024124C 8E22006C */ lw $v0, 0x6c($s1) +/* CD3080 80241250 00431024 */ and $v0, $v0, $v1 +/* CD3084 80241254 080904C7 */ j .L8024131C +/* CD3088 80241258 AE22006C */ sw $v0, 0x6c($s1) +.L8024125C: +/* CD308C 8024125C 8E220070 */ lw $v0, 0x70($s1) +/* CD3090 80241260 1840002E */ blez $v0, .L8024131C +/* CD3094 80241264 00000000 */ nop +/* CD3098 80241268 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD309C 8024126C 0C00A8BB */ jal sin_deg +/* CD30A0 80241270 46806320 */ cvt.s.w $f12, $f12 +/* CD30A4 80241274 8E020000 */ lw $v0, ($s0) +/* CD30A8 80241278 30420008 */ andi $v0, $v0, 8 +/* CD30AC 8024127C 10400003 */ beqz $v0, .L8024128C +/* CD30B0 80241280 46000506 */ mov.s $f20, $f0 +/* CD30B4 80241284 080904B3 */ j .L802412CC +/* CD30B8 80241288 0000102D */ daddu $v0, $zero, $zero +.L8024128C: +/* CD30BC 8024128C 27A50028 */ addiu $a1, $sp, 0x28 +/* CD30C0 80241290 27A6002C */ addiu $a2, $sp, 0x2c +/* CD30C4 80241294 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD30C8 80241298 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD30CC 8024129C C6040040 */ lwc1 $f4, 0x40($s0) +/* CD30D0 802412A0 3C01447A */ lui $at, 0x447a +/* CD30D4 802412A4 44813000 */ mtc1 $at, $f6 +/* CD30D8 802412A8 27A20034 */ addiu $v0, $sp, 0x34 +/* CD30DC 802412AC E7A00028 */ swc1 $f0, 0x28($sp) +/* CD30E0 802412B0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD30E4 802412B4 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD30E8 802412B8 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD30EC 802412BC AFA20010 */ sw $v0, 0x10($sp) +/* CD30F0 802412C0 8E040080 */ lw $a0, 0x80($s0) +/* CD30F4 802412C4 0C0372DF */ jal func_800DCB7C +/* CD30F8 802412C8 27A70030 */ addiu $a3, $sp, 0x30 +.L802412CC: +/* CD30FC 802412CC 10400007 */ beqz $v0, .L802412EC +/* CD3100 802412D0 00000000 */ nop +/* CD3104 802412D4 4616A082 */ mul.s $f2, $f20, $f22 +/* CD3108 802412D8 00000000 */ nop +/* CD310C 802412DC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD3110 802412E0 461A0000 */ add.s $f0, $f0, $f26 +/* CD3114 802412E4 080904BE */ j .L802412F8 +/* CD3118 802412E8 46020000 */ add.s $f0, $f0, $f2 +.L802412EC: +/* CD311C 802412EC 4616A002 */ mul.s $f0, $f20, $f22 +/* CD3120 802412F0 00000000 */ nop +/* CD3124 802412F4 4600C000 */ add.s $f0, $f24, $f0 +.L802412F8: +/* CD3128 802412F8 E600003C */ swc1 $f0, 0x3c($s0) +/* CD312C 802412FC 8E220074 */ lw $v0, 0x74($s1) +/* CD3130 80241300 2442000A */ addiu $v0, $v0, 0xa +/* CD3134 80241304 44826000 */ mtc1 $v0, $f12 +/* CD3138 80241308 00000000 */ nop +/* CD313C 8024130C 0C00A6C9 */ jal clamp_angle +/* CD3140 80241310 46806320 */ cvt.s.w $f12, $f12 +/* CD3144 80241314 4600020D */ trunc.w.s $f8, $f0 +/* CD3148 80241318 E6280074 */ swc1 $f8, 0x74($s1) +.L8024131C: +/* CD314C 8024131C 8E220090 */ lw $v0, 0x90($s1) +/* CD3150 80241320 1C40004A */ bgtz $v0, .L8024144C +/* CD3154 80241324 2442FFFF */ addiu $v0, $v0, -1 +/* CD3158 80241328 8E430014 */ lw $v1, 0x14($s2) +/* CD315C 8024132C 04600048 */ bltz $v1, .L80241450 +/* CD3160 80241330 00000000 */ nop +/* CD3164 80241334 8E620074 */ lw $v0, 0x74($s3) +/* CD3168 80241338 1C400042 */ bgtz $v0, .L80241444 +/* CD316C 8024133C 2442FFFF */ addiu $v0, $v0, -1 +/* CD3170 80241340 AE630074 */ sw $v1, 0x74($s3) +/* CD3174 80241344 860200A8 */ lh $v0, 0xa8($s0) +/* CD3178 80241348 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD317C 8024134C 44820000 */ mtc1 $v0, $f0 +/* CD3180 80241350 00000000 */ nop +/* CD3184 80241354 46800020 */ cvt.s.w $f0, $f0 +/* CD3188 80241358 46001080 */ add.s $f2, $f2, $f0 +/* CD318C 8024135C 3C014024 */ lui $at, 0x4024 +/* CD3190 80241360 44810800 */ mtc1 $at, $f1 +/* CD3194 80241364 44800000 */ mtc1 $zero, $f0 +/* CD3198 80241368 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD319C 8024136C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD31A0 80241370 460010A1 */ cvt.d.s $f2, $f2 +/* CD31A4 80241374 46201080 */ add.d $f2, $f2, $f0 +/* CD31A8 80241378 C440002C */ lwc1 $f0, 0x2c($v0) +/* CD31AC 8024137C 46000021 */ cvt.d.s $f0, $f0 +/* CD31B0 80241380 4622003C */ c.lt.d $f0, $f2 +/* CD31B4 80241384 00000000 */ nop +/* CD31B8 80241388 4500002C */ bc1f .L8024143C +/* CD31BC 8024138C 02A0202D */ daddu $a0, $s5, $zero +/* CD31C0 80241390 AFA00010 */ sw $zero, 0x10($sp) +/* CD31C4 80241394 8E46000C */ lw $a2, 0xc($s2) +/* CD31C8 80241398 8E470010 */ lw $a3, 0x10($s2) +/* CD31CC 8024139C 0C01242D */ jal func_800490B4 +/* CD31D0 802413A0 0220282D */ daddu $a1, $s1, $zero +/* CD31D4 802413A4 10400025 */ beqz $v0, .L8024143C +/* CD31D8 802413A8 0000202D */ daddu $a0, $zero, $zero +/* CD31DC 802413AC 0200282D */ daddu $a1, $s0, $zero +/* CD31E0 802413B0 0000302D */ daddu $a2, $zero, $zero +/* CD31E4 802413B4 2412000C */ addiu $s2, $zero, 0xc +/* CD31E8 802413B8 860300A8 */ lh $v1, 0xa8($s0) +/* CD31EC 802413BC 3C013F80 */ lui $at, 0x3f80 +/* CD31F0 802413C0 44810000 */ mtc1 $at, $f0 +/* CD31F4 802413C4 3C014000 */ lui $at, 0x4000 +/* CD31F8 802413C8 44811000 */ mtc1 $at, $f2 +/* CD31FC 802413CC 3C01C1A0 */ lui $at, 0xc1a0 +/* CD3200 802413D0 44812000 */ mtc1 $at, $f4 +/* CD3204 802413D4 44834000 */ mtc1 $v1, $f8 +/* CD3208 802413D8 00000000 */ nop +/* CD320C 802413DC 46804220 */ cvt.s.w $f8, $f8 +/* CD3210 802413E0 44074000 */ mfc1 $a3, $f8 +/* CD3214 802413E4 27A20038 */ addiu $v0, $sp, 0x38 +/* CD3218 802413E8 AFB2001C */ sw $s2, 0x1c($sp) +/* CD321C 802413EC AFA20020 */ sw $v0, 0x20($sp) +/* CD3220 802413F0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD3224 802413F4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD3228 802413F8 0C01BFA4 */ jal fx_emote +/* CD322C 802413FC E7A40018 */ swc1 $f4, 0x18($sp) +/* CD3230 80241400 0200202D */ daddu $a0, $s0, $zero +/* CD3234 80241404 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD3238 80241408 C480003C */ lwc1 $f0, 0x3c($a0) +/* CD323C 8024140C 3C060020 */ lui $a2, 0x20 +/* CD3240 80241410 0C012530 */ jal func_800494C0 +/* CD3244 80241414 E4800064 */ swc1 $f0, 0x64($a0) +/* CD3248 80241418 8E220018 */ lw $v0, 0x18($s1) +/* CD324C 8024141C 9442002A */ lhu $v0, 0x2a($v0) +/* CD3250 80241420 30420001 */ andi $v0, $v0, 1 +/* CD3254 80241424 10400003 */ beqz $v0, .L80241434 +/* CD3258 80241428 2402000A */ addiu $v0, $zero, 0xa +/* CD325C 8024142C 0809057D */ j .L802415F4 +/* CD3260 80241430 AE620070 */ sw $v0, 0x70($s3) +.L80241434: +/* CD3264 80241434 0809057D */ j .L802415F4 +/* CD3268 80241438 AE720070 */ sw $s2, 0x70($s3) +.L8024143C: +/* CD326C 8024143C 8E620074 */ lw $v0, 0x74($s3) +/* CD3270 80241440 2442FFFF */ addiu $v0, $v0, -1 +.L80241444: +/* CD3274 80241444 08090514 */ j .L80241450 +/* CD3278 80241448 AE620074 */ sw $v0, 0x74($s3) +.L8024144C: +/* CD327C 8024144C AE220090 */ sw $v0, 0x90($s1) +.L80241450: +/* CD3280 80241450 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD3284 80241454 C6000040 */ lwc1 $f0, 0x40($s0) +/* CD3288 80241458 C4620000 */ lwc1 $f2, ($v1) +/* CD328C 8024145C 468010A0 */ cvt.s.w $f2, $f2 +/* CD3290 80241460 C4640008 */ lwc1 $f4, 8($v1) +/* CD3294 80241464 46802120 */ cvt.s.w $f4, $f4 +/* CD3298 80241468 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD329C 8024146C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD32A0 80241470 44051000 */ mfc1 $a1, $f2 +/* CD32A4 80241474 C440000C */ lwc1 $f0, 0xc($v0) +/* CD32A8 80241478 46800020 */ cvt.s.w $f0, $f0 +/* CD32AC 8024147C E7A00014 */ swc1 $f0, 0x14($sp) +/* CD32B0 80241480 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD32B4 80241484 44062000 */ mfc1 $a2, $f4 +/* CD32B8 80241488 C4400010 */ lwc1 $f0, 0x10($v0) +/* CD32BC 8024148C 46800020 */ cvt.s.w $f0, $f0 +/* CD32C0 80241490 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD32C4 80241494 8C640018 */ lw $a0, 0x18($v1) +/* CD32C8 80241498 0C0123F5 */ jal is_point_within_region +/* CD32CC 8024149C 8E070038 */ lw $a3, 0x38($s0) +/* CD32D0 802414A0 1040001A */ beqz $v0, .L8024150C +/* CD32D4 802414A4 00000000 */ nop +/* CD32D8 802414A8 8E060038 */ lw $a2, 0x38($s0) +/* CD32DC 802414AC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD32E0 802414B0 8E070040 */ lw $a3, 0x40($s0) +/* CD32E4 802414B4 C44C0000 */ lwc1 $f12, ($v0) +/* CD32E8 802414B8 46806320 */ cvt.s.w $f12, $f12 +/* CD32EC 802414BC C44E0008 */ lwc1 $f14, 8($v0) +/* CD32F0 802414C0 0C00A7B5 */ jal dist2D +/* CD32F4 802414C4 468073A0 */ cvt.s.w $f14, $f14 +/* CD32F8 802414C8 C6020018 */ lwc1 $f2, 0x18($s0) +/* CD32FC 802414CC 4600103C */ c.lt.s $f2, $f0 +/* CD3300 802414D0 00000000 */ nop +/* CD3304 802414D4 4500000D */ bc1f .L8024150C +/* CD3308 802414D8 E7A00034 */ swc1 $f0, 0x34($sp) +/* CD330C 802414DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD3310 802414E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD3314 802414E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD3318 802414E8 C4480000 */ lwc1 $f8, ($v0) +/* CD331C 802414EC 46804220 */ cvt.s.w $f8, $f8 +/* CD3320 802414F0 44064000 */ mfc1 $a2, $f8 +/* CD3324 802414F4 C4480008 */ lwc1 $f8, 8($v0) +/* CD3328 802414F8 46804220 */ cvt.s.w $f8, $f8 +/* CD332C 802414FC 44074000 */ mfc1 $a3, $f8 +/* CD3330 80241500 0C00A720 */ jal atan2 +/* CD3334 80241504 24140001 */ addiu $s4, $zero, 1 +/* CD3338 80241508 E600000C */ swc1 $f0, 0xc($s0) +.L8024150C: +/* CD333C 8024150C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD3340 80241510 8C43000C */ lw $v1, 0xc($v0) +/* CD3344 80241514 8C420010 */ lw $v0, 0x10($v0) +/* CD3348 80241518 00621825 */ or $v1, $v1, $v0 +/* CD334C 8024151C 00741825 */ or $v1, $v1, $s4 +/* CD3350 80241520 10600008 */ beqz $v1, .L80241544 +/* CD3354 80241524 00000000 */ nop +/* CD3358 80241528 8602008C */ lh $v0, 0x8c($s0) +/* CD335C 8024152C 14400031 */ bnez $v0, .L802415F4 +/* CD3360 80241530 00000000 */ nop +/* CD3364 80241534 8E050018 */ lw $a1, 0x18($s0) +/* CD3368 80241538 8E06000C */ lw $a2, 0xc($s0) +/* CD336C 8024153C 0C00EA95 */ jal npc_move_heading +/* CD3370 80241540 0200202D */ daddu $a0, $s0, $zero +.L80241544: +/* CD3374 80241544 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3378 80241548 3C014059 */ lui $at, 0x4059 +/* CD337C 8024154C 44811800 */ mtc1 $at, $f3 +/* CD3380 80241550 44801000 */ mtc1 $zero, $f2 +/* CD3384 80241554 46000021 */ cvt.d.s $f0, $f0 +/* CD3388 80241558 46220002 */ mul.d $f0, $f0, $f2 +/* CD338C 8024155C 00000000 */ nop +/* CD3390 80241560 4620020D */ trunc.w.d $f8, $f0 +/* CD3394 80241564 E628007C */ swc1 $f8, 0x7c($s1) +/* CD3398 80241568 8E420004 */ lw $v0, 4($s2) +/* CD339C 8024156C 18400021 */ blez $v0, .L802415F4 +/* CD33A0 80241570 00000000 */ nop +/* CD33A4 80241574 8602008E */ lh $v0, 0x8e($s0) +/* CD33A8 80241578 9603008E */ lhu $v1, 0x8e($s0) +/* CD33AC 8024157C 18400005 */ blez $v0, .L80241594 +/* CD33B0 80241580 2462FFFF */ addiu $v0, $v1, -1 +/* CD33B4 80241584 A602008E */ sh $v0, 0x8e($s0) +/* CD33B8 80241588 00021400 */ sll $v0, $v0, 0x10 +/* CD33BC 8024158C 1C400019 */ bgtz $v0, .L802415F4 +/* CD33C0 80241590 00000000 */ nop +.L80241594: +/* CD33C4 80241594 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD33C8 80241598 24020002 */ addiu $v0, $zero, 2 +/* CD33CC 8024159C 0C00A67F */ jal rand_int +/* CD33D0 802415A0 AE620070 */ sw $v0, 0x70($s3) +/* CD33D4 802415A4 3C035555 */ lui $v1, 0x5555 +/* CD33D8 802415A8 34635556 */ ori $v1, $v1, 0x5556 +/* CD33DC 802415AC 00430018 */ mult $v0, $v1 +/* CD33E0 802415B0 000227C3 */ sra $a0, $v0, 0x1f +/* CD33E4 802415B4 00004010 */ mfhi $t0 +/* CD33E8 802415B8 01042023 */ subu $a0, $t0, $a0 +/* CD33EC 802415BC 00041840 */ sll $v1, $a0, 1 +/* CD33F0 802415C0 00641821 */ addu $v1, $v1, $a0 +/* CD33F4 802415C4 00431023 */ subu $v0, $v0, $v1 +/* CD33F8 802415C8 24430002 */ addiu $v1, $v0, 2 +/* CD33FC 802415CC AE630074 */ sw $v1, 0x74($s3) +/* CD3400 802415D0 8E42002C */ lw $v0, 0x2c($s2) +/* CD3404 802415D4 58400007 */ blezl $v0, .L802415F4 +/* CD3408 802415D8 AE600070 */ sw $zero, 0x70($s3) +/* CD340C 802415DC 8E420008 */ lw $v0, 8($s2) +/* CD3410 802415E0 18400003 */ blez $v0, .L802415F0 +/* CD3414 802415E4 28620003 */ slti $v0, $v1, 3 +/* CD3418 802415E8 10400002 */ beqz $v0, .L802415F4 +/* CD341C 802415EC 00000000 */ nop +.L802415F0: +/* CD3420 802415F0 AE600070 */ sw $zero, 0x70($s3) +.L802415F4: +/* CD3424 802415F4 8FBF0058 */ lw $ra, 0x58($sp) +/* CD3428 802415F8 8FB50054 */ lw $s5, 0x54($sp) +/* CD342C 802415FC 8FB40050 */ lw $s4, 0x50($sp) +/* CD3430 80241600 8FB3004C */ lw $s3, 0x4c($sp) +/* CD3434 80241604 8FB20048 */ lw $s2, 0x48($sp) +/* CD3438 80241608 8FB10044 */ lw $s1, 0x44($sp) +/* CD343C 8024160C 8FB00040 */ lw $s0, 0x40($sp) +/* CD3440 80241610 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CD3444 80241614 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CD3448 80241618 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CD344C 8024161C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CD3450 80241620 03E00008 */ jr $ra +/* CD3454 80241624 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241628_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241628_CD1E30.s new file mode 100644 index 0000000000..1c832134a3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241628_CD1E30.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241628_CD3458 +/* CD3458 80241628 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD345C 8024162C AFB3001C */ sw $s3, 0x1c($sp) +/* CD3460 80241630 0080982D */ daddu $s3, $a0, $zero +/* CD3464 80241634 AFBF0020 */ sw $ra, 0x20($sp) +/* CD3468 80241638 AFB20018 */ sw $s2, 0x18($sp) +/* CD346C 8024163C AFB10014 */ sw $s1, 0x14($sp) +/* CD3470 80241640 AFB00010 */ sw $s0, 0x10($sp) +/* CD3474 80241644 8E720148 */ lw $s2, 0x148($s3) +/* CD3478 80241648 86440008 */ lh $a0, 8($s2) +/* CD347C 8024164C 0C00EABB */ jal get_npc_unsafe +/* CD3480 80241650 00A0882D */ daddu $s1, $a1, $zero +/* CD3484 80241654 8E240008 */ lw $a0, 8($s1) +/* CD3488 80241658 0040802D */ daddu $s0, $v0, $zero +/* CD348C 8024165C 00041FC2 */ srl $v1, $a0, 0x1f +/* CD3490 80241660 00832021 */ addu $a0, $a0, $v1 +/* CD3494 80241664 00042043 */ sra $a0, $a0, 1 +/* CD3498 80241668 0C00A67F */ jal rand_int +/* CD349C 8024166C 24840001 */ addiu $a0, $a0, 1 +/* CD34A0 80241670 8E230008 */ lw $v1, 8($s1) +/* CD34A4 80241674 240400B4 */ addiu $a0, $zero, 0xb4 +/* CD34A8 80241678 00032FC2 */ srl $a1, $v1, 0x1f +/* CD34AC 8024167C 00651821 */ addu $v1, $v1, $a1 +/* CD34B0 80241680 00031843 */ sra $v1, $v1, 1 +/* CD34B4 80241684 00621821 */ addu $v1, $v1, $v0 +/* CD34B8 80241688 0C00A67F */ jal rand_int +/* CD34BC 8024168C A603008E */ sh $v1, 0x8e($s0) +/* CD34C0 80241690 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD34C4 80241694 44820000 */ mtc1 $v0, $f0 +/* CD34C8 80241698 00000000 */ nop +/* CD34CC 8024169C 46800020 */ cvt.s.w $f0, $f0 +/* CD34D0 802416A0 46006300 */ add.s $f12, $f12, $f0 +/* CD34D4 802416A4 3C0142B4 */ lui $at, 0x42b4 +/* CD34D8 802416A8 44810000 */ mtc1 $at, $f0 +/* CD34DC 802416AC 0C00A6C9 */ jal clamp_angle +/* CD34E0 802416B0 46006301 */ sub.s $f12, $f12, $f0 +/* CD34E4 802416B4 E600000C */ swc1 $f0, 0xc($s0) +/* CD34E8 802416B8 8E4200CC */ lw $v0, 0xcc($s2) +/* CD34EC 802416BC 8C420000 */ lw $v0, ($v0) +/* CD34F0 802416C0 AE020028 */ sw $v0, 0x28($s0) +/* CD34F4 802416C4 24020003 */ addiu $v0, $zero, 3 +/* CD34F8 802416C8 AE620070 */ sw $v0, 0x70($s3) +/* CD34FC 802416CC 8FBF0020 */ lw $ra, 0x20($sp) +/* CD3500 802416D0 8FB3001C */ lw $s3, 0x1c($sp) +/* CD3504 802416D4 8FB20018 */ lw $s2, 0x18($sp) +/* CD3508 802416D8 8FB10014 */ lw $s1, 0x14($sp) +/* CD350C 802416DC 8FB00010 */ lw $s0, 0x10($sp) +/* CD3510 802416E0 03E00008 */ jr $ra +/* CD3514 802416E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802416E8_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802416E8_CD1E30.s new file mode 100644 index 0000000000..8e4fb46a66 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802416E8_CD1E30.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416E8_CD3518 +/* CD3518 802416E8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CD351C 802416EC AFB3004C */ sw $s3, 0x4c($sp) +/* CD3520 802416F0 0080982D */ daddu $s3, $a0, $zero +/* CD3524 802416F4 AFBF0054 */ sw $ra, 0x54($sp) +/* CD3528 802416F8 AFB40050 */ sw $s4, 0x50($sp) +/* CD352C 802416FC AFB20048 */ sw $s2, 0x48($sp) +/* CD3530 80241700 AFB10044 */ sw $s1, 0x44($sp) +/* CD3534 80241704 AFB00040 */ sw $s0, 0x40($sp) +/* CD3538 80241708 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CD353C 8024170C F7B80068 */ sdc1 $f24, 0x68($sp) +/* CD3540 80241710 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CD3544 80241714 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CD3548 80241718 8E710148 */ lw $s1, 0x148($s3) +/* CD354C 8024171C 00A0902D */ daddu $s2, $a1, $zero +/* CD3550 80241720 86240008 */ lh $a0, 8($s1) +/* CD3554 80241724 0C00EABB */ jal get_npc_unsafe +/* CD3558 80241728 00C0A02D */ daddu $s4, $a2, $zero +/* CD355C 8024172C 0040802D */ daddu $s0, $v0, $zero +/* CD3560 80241730 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD3564 80241734 46800020 */ cvt.s.w $f0, $f0 +/* CD3568 80241738 46000021 */ cvt.d.s $f0, $f0 +/* CD356C 8024173C 3C014059 */ lui $at, 0x4059 +/* CD3570 80241740 44811800 */ mtc1 $at, $f3 +/* CD3574 80241744 44801000 */ mtc1 $zero, $f2 +/* CD3578 80241748 8602008E */ lh $v0, 0x8e($s0) +/* CD357C 8024174C 9603008E */ lhu $v1, 0x8e($s0) +/* CD3580 80241750 46220003 */ div.d $f0, $f0, $f2 +/* CD3584 80241754 46200620 */ cvt.s.d $f24, $f0 +/* CD3588 80241758 C6200088 */ lwc1 $f0, 0x88($s1) +/* CD358C 8024175C 46800020 */ cvt.s.w $f0, $f0 +/* CD3590 80241760 46000021 */ cvt.d.s $f0, $f0 +/* CD3594 80241764 46220003 */ div.d $f0, $f0, $f2 +/* CD3598 80241768 46200020 */ cvt.s.d $f0, $f0 +/* CD359C 8024176C 18400003 */ blez $v0, .L8024177C +/* CD35A0 80241770 4600C680 */ add.s $f26, $f24, $f0 +/* CD35A4 80241774 2462FFFF */ addiu $v0, $v1, -1 +/* CD35A8 80241778 A602008E */ sh $v0, 0x8e($s0) +.L8024177C: +/* CD35AC 8024177C 8E220070 */ lw $v0, 0x70($s1) +/* CD35B0 80241780 18400034 */ blez $v0, .L80241854 +/* CD35B4 80241784 00000000 */ nop +/* CD35B8 80241788 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD35BC 8024178C 46806320 */ cvt.s.w $f12, $f12 +/* CD35C0 80241790 44820000 */ mtc1 $v0, $f0 +/* CD35C4 80241794 00000000 */ nop +/* CD35C8 80241798 46800020 */ cvt.s.w $f0, $f0 +/* CD35CC 8024179C 46000021 */ cvt.d.s $f0, $f0 +/* CD35D0 802417A0 46220003 */ div.d $f0, $f0, $f2 +/* CD35D4 802417A4 0C00A8BB */ jal sin_deg +/* CD35D8 802417A8 462005A0 */ cvt.s.d $f22, $f0 +/* CD35DC 802417AC 8E020000 */ lw $v0, ($s0) +/* CD35E0 802417B0 30420008 */ andi $v0, $v0, 8 +/* CD35E4 802417B4 10400003 */ beqz $v0, .L802417C4 +/* CD35E8 802417B8 46000506 */ mov.s $f20, $f0 +/* CD35EC 802417BC 08090601 */ j .L80241804 +/* CD35F0 802417C0 0000102D */ daddu $v0, $zero, $zero +.L802417C4: +/* CD35F4 802417C4 27A50028 */ addiu $a1, $sp, 0x28 +/* CD35F8 802417C8 27A6002C */ addiu $a2, $sp, 0x2c +/* CD35FC 802417CC C6000038 */ lwc1 $f0, 0x38($s0) +/* CD3600 802417D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD3604 802417D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD3608 802417D8 3C01447A */ lui $at, 0x447a +/* CD360C 802417DC 44813000 */ mtc1 $at, $f6 +/* CD3610 802417E0 27A20034 */ addiu $v0, $sp, 0x34 +/* CD3614 802417E4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD3618 802417E8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD361C 802417EC E7A40030 */ swc1 $f4, 0x30($sp) +/* CD3620 802417F0 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD3624 802417F4 AFA20010 */ sw $v0, 0x10($sp) +/* CD3628 802417F8 8E040080 */ lw $a0, 0x80($s0) +/* CD362C 802417FC 0C0372DF */ jal func_800DCB7C +/* CD3630 80241800 27A70030 */ addiu $a3, $sp, 0x30 +.L80241804: +/* CD3634 80241804 10400007 */ beqz $v0, .L80241824 +/* CD3638 80241808 00000000 */ nop +/* CD363C 8024180C 4616A082 */ mul.s $f2, $f20, $f22 +/* CD3640 80241810 00000000 */ nop +/* CD3644 80241814 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD3648 80241818 46180000 */ add.s $f0, $f0, $f24 +/* CD364C 8024181C 0809060C */ j .L80241830 +/* CD3650 80241820 46020000 */ add.s $f0, $f0, $f2 +.L80241824: +/* CD3654 80241824 4616A002 */ mul.s $f0, $f20, $f22 +/* CD3658 80241828 00000000 */ nop +/* CD365C 8024182C 4600D000 */ add.s $f0, $f26, $f0 +.L80241830: +/* CD3660 80241830 E600003C */ swc1 $f0, 0x3c($s0) +/* CD3664 80241834 8E220074 */ lw $v0, 0x74($s1) +/* CD3668 80241838 2442000A */ addiu $v0, $v0, 0xa +/* CD366C 8024183C 44826000 */ mtc1 $v0, $f12 +/* CD3670 80241840 00000000 */ nop +/* CD3674 80241844 0C00A6C9 */ jal clamp_angle +/* CD3678 80241848 46806320 */ cvt.s.w $f12, $f12 +/* CD367C 8024184C 4600020D */ trunc.w.s $f8, $f0 +/* CD3680 80241850 E6280074 */ swc1 $f8, 0x74($s1) +.L80241854: +/* CD3684 80241854 8E220090 */ lw $v0, 0x90($s1) +/* CD3688 80241858 1C400040 */ bgtz $v0, .L8024195C +/* CD368C 8024185C 2442FFFF */ addiu $v0, $v0, -1 +/* CD3690 80241860 860200A8 */ lh $v0, 0xa8($s0) +/* CD3694 80241864 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3698 80241868 44821000 */ mtc1 $v0, $f2 +/* CD369C 8024186C 00000000 */ nop +/* CD36A0 80241870 468010A0 */ cvt.s.w $f2, $f2 +/* CD36A4 80241874 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD36A8 80241878 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD36AC 8024187C 46020000 */ add.s $f0, $f0, $f2 +/* CD36B0 80241880 3C014024 */ lui $at, 0x4024 +/* CD36B4 80241884 44812800 */ mtc1 $at, $f5 +/* CD36B8 80241888 44802000 */ mtc1 $zero, $f4 +/* CD36BC 8024188C C442002C */ lwc1 $f2, 0x2c($v0) +/* CD36C0 80241890 46000021 */ cvt.d.s $f0, $f0 +/* CD36C4 80241894 46240000 */ add.d $f0, $f0, $f4 +/* CD36C8 80241898 460010A1 */ cvt.d.s $f2, $f2 +/* CD36CC 8024189C 4620103C */ c.lt.d $f2, $f0 +/* CD36D0 802418A0 00000000 */ nop +/* CD36D4 802418A4 4500002E */ bc1f .L80241960 +/* CD36D8 802418A8 0280202D */ daddu $a0, $s4, $zero +/* CD36DC 802418AC 24020001 */ addiu $v0, $zero, 1 +/* CD36E0 802418B0 AFA20010 */ sw $v0, 0x10($sp) +/* CD36E4 802418B4 8E460024 */ lw $a2, 0x24($s2) +/* CD36E8 802418B8 8E470028 */ lw $a3, 0x28($s2) +/* CD36EC 802418BC 0C01242D */ jal func_800490B4 +/* CD36F0 802418C0 0220282D */ daddu $a1, $s1, $zero +/* CD36F4 802418C4 10400026 */ beqz $v0, .L80241960 +/* CD36F8 802418C8 0000202D */ daddu $a0, $zero, $zero +/* CD36FC 802418CC 0200282D */ daddu $a1, $s0, $zero +/* CD3700 802418D0 0000302D */ daddu $a2, $zero, $zero +/* CD3704 802418D4 2412000C */ addiu $s2, $zero, 0xc +/* CD3708 802418D8 860300A8 */ lh $v1, 0xa8($s0) +/* CD370C 802418DC 3C013F80 */ lui $at, 0x3f80 +/* CD3710 802418E0 44810000 */ mtc1 $at, $f0 +/* CD3714 802418E4 3C014000 */ lui $at, 0x4000 +/* CD3718 802418E8 44811000 */ mtc1 $at, $f2 +/* CD371C 802418EC 3C01C1A0 */ lui $at, 0xc1a0 +/* CD3720 802418F0 44812000 */ mtc1 $at, $f4 +/* CD3724 802418F4 44834000 */ mtc1 $v1, $f8 +/* CD3728 802418F8 00000000 */ nop +/* CD372C 802418FC 46804220 */ cvt.s.w $f8, $f8 +/* CD3730 80241900 44074000 */ mfc1 $a3, $f8 +/* CD3734 80241904 27A20038 */ addiu $v0, $sp, 0x38 +/* CD3738 80241908 AFB2001C */ sw $s2, 0x1c($sp) +/* CD373C 8024190C AFA20020 */ sw $v0, 0x20($sp) +/* CD3740 80241910 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD3744 80241914 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD3748 80241918 0C01BFA4 */ jal fx_emote +/* CD374C 8024191C E7A40018 */ swc1 $f4, 0x18($sp) +/* CD3750 80241920 0200202D */ daddu $a0, $s0, $zero +/* CD3754 80241924 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD3758 80241928 C480003C */ lwc1 $f0, 0x3c($a0) +/* CD375C 8024192C 3C060020 */ lui $a2, 0x20 +/* CD3760 80241930 0C012530 */ jal func_800494C0 +/* CD3764 80241934 E4800064 */ swc1 $f0, 0x64($a0) +/* CD3768 80241938 8E220018 */ lw $v0, 0x18($s1) +/* CD376C 8024193C 9442002A */ lhu $v0, 0x2a($v0) +/* CD3770 80241940 30420001 */ andi $v0, $v0, 1 +/* CD3774 80241944 10400003 */ beqz $v0, .L80241954 +/* CD3778 80241948 2402000A */ addiu $v0, $zero, 0xa +/* CD377C 8024194C 0809067F */ j .L802419FC +/* CD3780 80241950 AE620070 */ sw $v0, 0x70($s3) +.L80241954: +/* CD3784 80241954 0809067F */ j .L802419FC +/* CD3788 80241958 AE720070 */ sw $s2, 0x70($s3) +.L8024195C: +/* CD378C 8024195C AE220090 */ sw $v0, 0x90($s1) +.L80241960: +/* CD3790 80241960 8602008C */ lh $v0, 0x8c($s0) +/* CD3794 80241964 14400025 */ bnez $v0, .L802419FC +/* CD3798 80241968 00000000 */ nop +/* CD379C 8024196C 8602008E */ lh $v0, 0x8e($s0) +/* CD37A0 80241970 1C400022 */ bgtz $v0, .L802419FC +/* CD37A4 80241974 00000000 */ nop +/* CD37A8 80241978 8E620074 */ lw $v0, 0x74($s3) +/* CD37AC 8024197C 2442FFFF */ addiu $v0, $v0, -1 +/* CD37B0 80241980 1840001D */ blez $v0, .L802419F8 +/* CD37B4 80241984 AE620074 */ sw $v0, 0x74($s3) +/* CD37B8 80241988 8E220018 */ lw $v0, 0x18($s1) +/* CD37BC 8024198C 9442002A */ lhu $v0, 0x2a($v0) +/* CD37C0 80241990 30420010 */ andi $v0, $v0, 0x10 +/* CD37C4 80241994 14400007 */ bnez $v0, .L802419B4 +/* CD37C8 80241998 00000000 */ nop +/* CD37CC 8024199C C600000C */ lwc1 $f0, 0xc($s0) +/* CD37D0 802419A0 3C014334 */ lui $at, 0x4334 +/* CD37D4 802419A4 44816000 */ mtc1 $at, $f12 +/* CD37D8 802419A8 0C00A6C9 */ jal clamp_angle +/* CD37DC 802419AC 460C0300 */ add.s $f12, $f0, $f12 +/* CD37E0 802419B0 E600000C */ swc1 $f0, 0xc($s0) +.L802419B4: +/* CD37E4 802419B4 0C00A67F */ jal rand_int +/* CD37E8 802419B8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD37EC 802419BC 3C032E8B */ lui $v1, 0x2e8b +/* CD37F0 802419C0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CD37F4 802419C4 00430018 */ mult $v0, $v1 +/* CD37F8 802419C8 00021FC3 */ sra $v1, $v0, 0x1f +/* CD37FC 802419CC 00004010 */ mfhi $t0 +/* CD3800 802419D0 00082043 */ sra $a0, $t0, 1 +/* CD3804 802419D4 00832023 */ subu $a0, $a0, $v1 +/* CD3808 802419D8 00041840 */ sll $v1, $a0, 1 +/* CD380C 802419DC 00641821 */ addu $v1, $v1, $a0 +/* CD3810 802419E0 00031880 */ sll $v1, $v1, 2 +/* CD3814 802419E4 00641823 */ subu $v1, $v1, $a0 +/* CD3818 802419E8 00431023 */ subu $v0, $v0, $v1 +/* CD381C 802419EC 24420005 */ addiu $v0, $v0, 5 +/* CD3820 802419F0 0809067F */ j .L802419FC +/* CD3824 802419F4 A602008E */ sh $v0, 0x8e($s0) +.L802419F8: +/* CD3828 802419F8 AE600070 */ sw $zero, 0x70($s3) +.L802419FC: +/* CD382C 802419FC 8FBF0054 */ lw $ra, 0x54($sp) +/* CD3830 80241A00 8FB40050 */ lw $s4, 0x50($sp) +/* CD3834 80241A04 8FB3004C */ lw $s3, 0x4c($sp) +/* CD3838 80241A08 8FB20048 */ lw $s2, 0x48($sp) +/* CD383C 80241A0C 8FB10044 */ lw $s1, 0x44($sp) +/* CD3840 80241A10 8FB00040 */ lw $s0, 0x40($sp) +/* CD3844 80241A14 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CD3848 80241A18 D7B80068 */ ldc1 $f24, 0x68($sp) +/* CD384C 80241A1C D7B60060 */ ldc1 $f22, 0x60($sp) +/* CD3850 80241A20 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CD3854 80241A24 03E00008 */ jr $ra +/* CD3858 80241A28 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241A2C_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241A2C_CD1E30.s new file mode 100644 index 0000000000..8a07fc3aa9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241A2C_CD1E30.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A2C_CD385C +/* CD385C 80241A2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD3860 80241A30 AFB20018 */ sw $s2, 0x18($sp) +/* CD3864 80241A34 0080902D */ daddu $s2, $a0, $zero +/* CD3868 80241A38 AFBF001C */ sw $ra, 0x1c($sp) +/* CD386C 80241A3C AFB10014 */ sw $s1, 0x14($sp) +/* CD3870 80241A40 AFB00010 */ sw $s0, 0x10($sp) +/* CD3874 80241A44 8E510148 */ lw $s1, 0x148($s2) +/* CD3878 80241A48 0C00EABB */ jal get_npc_unsafe +/* CD387C 80241A4C 86240008 */ lh $a0, 8($s1) +/* CD3880 80241A50 0040802D */ daddu $s0, $v0, $zero +/* CD3884 80241A54 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD3888 80241A58 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD388C 80241A5C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD3890 80241A60 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD3894 80241A64 A600008E */ sh $zero, 0x8e($s0) +/* CD3898 80241A68 8C460028 */ lw $a2, 0x28($v0) +/* CD389C 80241A6C 0C00A720 */ jal atan2 +/* CD38A0 80241A70 8C470030 */ lw $a3, 0x30($v0) +/* CD38A4 80241A74 E600000C */ swc1 $f0, 0xc($s0) +/* CD38A8 80241A78 8E2200CC */ lw $v0, 0xcc($s1) +/* CD38AC 80241A7C 8C420020 */ lw $v0, 0x20($v0) +/* CD38B0 80241A80 AE020028 */ sw $v0, 0x28($s0) +/* CD38B4 80241A84 2402000B */ addiu $v0, $zero, 0xb +/* CD38B8 80241A88 AE420070 */ sw $v0, 0x70($s2) +/* CD38BC 80241A8C 8FBF001C */ lw $ra, 0x1c($sp) +/* CD38C0 80241A90 8FB20018 */ lw $s2, 0x18($sp) +/* CD38C4 80241A94 8FB10014 */ lw $s1, 0x14($sp) +/* CD38C8 80241A98 8FB00010 */ lw $s0, 0x10($sp) +/* CD38CC 80241A9C 03E00008 */ jr $ra +/* CD38D0 80241AA0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241AA4_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241AA4_CD1E30.s new file mode 100644 index 0000000000..5eb35dea0a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241AA4_CD1E30.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AA4_CD38D4 +/* CD38D4 80241AA4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD38D8 80241AA8 AFB00010 */ sw $s0, 0x10($sp) +/* CD38DC 80241AAC 0080802D */ daddu $s0, $a0, $zero +/* CD38E0 80241AB0 AFBF0014 */ sw $ra, 0x14($sp) +/* CD38E4 80241AB4 8E020148 */ lw $v0, 0x148($s0) +/* CD38E8 80241AB8 0C00EABB */ jal get_npc_unsafe +/* CD38EC 80241ABC 84440008 */ lh $a0, 8($v0) +/* CD38F0 80241AC0 9443008E */ lhu $v1, 0x8e($v0) +/* CD38F4 80241AC4 C440003C */ lwc1 $f0, 0x3c($v0) +/* CD38F8 80241AC8 24640001 */ addiu $a0, $v1, 1 +/* CD38FC 80241ACC 00031C00 */ sll $v1, $v1, 0x10 +/* CD3900 80241AD0 00031B83 */ sra $v1, $v1, 0xe +/* CD3904 80241AD4 A444008E */ sh $a0, 0x8e($v0) +/* CD3908 80241AD8 3C018024 */ lui $at, 0x8024 +/* CD390C 80241ADC 00230821 */ addu $at, $at, $v1 +/* CD3910 80241AE0 C4224010 */ lwc1 $f2, 0x4010($at) +/* CD3914 80241AE4 8443008E */ lh $v1, 0x8e($v0) +/* CD3918 80241AE8 46020000 */ add.s $f0, $f0, $f2 +/* CD391C 80241AEC 28630005 */ slti $v1, $v1, 5 +/* CD3920 80241AF0 14600003 */ bnez $v1, .L80241B00 +/* CD3924 80241AF4 E440003C */ swc1 $f0, 0x3c($v0) +/* CD3928 80241AF8 2402000C */ addiu $v0, $zero, 0xc +/* CD392C 80241AFC AE020070 */ sw $v0, 0x70($s0) +.L80241B00: +/* CD3930 80241B00 8FBF0014 */ lw $ra, 0x14($sp) +/* CD3934 80241B04 8FB00010 */ lw $s0, 0x10($sp) +/* CD3938 80241B08 03E00008 */ jr $ra +/* CD393C 80241B0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241B10_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241B10_CD1E30.s new file mode 100644 index 0000000000..6c31e6d39e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241B10_CD1E30.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B10_CD3940 +/* CD3940 80241B10 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD3944 80241B14 AFB3001C */ sw $s3, 0x1c($sp) +/* CD3948 80241B18 0080982D */ daddu $s3, $a0, $zero +/* CD394C 80241B1C AFBF0020 */ sw $ra, 0x20($sp) +/* CD3950 80241B20 AFB20018 */ sw $s2, 0x18($sp) +/* CD3954 80241B24 AFB10014 */ sw $s1, 0x14($sp) +/* CD3958 80241B28 AFB00010 */ sw $s0, 0x10($sp) +/* CD395C 80241B2C 8E720148 */ lw $s2, 0x148($s3) +/* CD3960 80241B30 86440008 */ lh $a0, 8($s2) +/* CD3964 80241B34 0C00EABB */ jal get_npc_unsafe +/* CD3968 80241B38 00A0802D */ daddu $s0, $a1, $zero +/* CD396C 80241B3C 0040882D */ daddu $s1, $v0, $zero +/* CD3970 80241B40 C6420080 */ lwc1 $f2, 0x80($s2) +/* CD3974 80241B44 468010A0 */ cvt.s.w $f2, $f2 +/* CD3978 80241B48 460010A1 */ cvt.d.s $f2, $f2 +/* CD397C 80241B4C C6400084 */ lwc1 $f0, 0x84($s2) +/* CD3980 80241B50 46800020 */ cvt.s.w $f0, $f0 +/* CD3984 80241B54 46000021 */ cvt.d.s $f0, $f0 +/* CD3988 80241B58 3C014059 */ lui $at, 0x4059 +/* CD398C 80241B5C 44812800 */ mtc1 $at, $f5 +/* CD3990 80241B60 44802000 */ mtc1 $zero, $f4 +/* CD3994 80241B64 8E4200CC */ lw $v0, 0xcc($s2) +/* CD3998 80241B68 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CD399C 80241B6C C62E0040 */ lwc1 $f14, 0x40($s1) +/* CD39A0 80241B70 46241083 */ div.d $f2, $f2, $f4 +/* CD39A4 80241B74 462010A0 */ cvt.s.d $f2, $f2 +/* CD39A8 80241B78 46240003 */ div.d $f0, $f0, $f4 +/* CD39AC 80241B7C 8C420020 */ lw $v0, 0x20($v0) +/* CD39B0 80241B80 46200020 */ cvt.s.d $f0, $f0 +/* CD39B4 80241B84 E622001C */ swc1 $f2, 0x1c($s1) +/* CD39B8 80241B88 E6200014 */ swc1 $f0, 0x14($s1) +/* CD39BC 80241B8C AE220028 */ sw $v0, 0x28($s1) +/* CD39C0 80241B90 C6000018 */ lwc1 $f0, 0x18($s0) +/* CD39C4 80241B94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD39C8 80241B98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD39CC 80241B9C E6200018 */ swc1 $f0, 0x18($s1) +/* CD39D0 80241BA0 8C460028 */ lw $a2, 0x28($v0) +/* CD39D4 80241BA4 0C00A720 */ jal atan2 +/* CD39D8 80241BA8 8C470030 */ lw $a3, 0x30($v0) +/* CD39DC 80241BAC E620000C */ swc1 $f0, 0xc($s1) +/* CD39E0 80241BB0 8E420018 */ lw $v0, 0x18($s2) +/* CD39E4 80241BB4 AE400074 */ sw $zero, 0x74($s2) +/* CD39E8 80241BB8 9442002A */ lhu $v0, 0x2a($v0) +/* CD39EC 80241BBC 30420002 */ andi $v0, $v0, 2 +/* CD39F0 80241BC0 10400005 */ beqz $v0, .L80241BD8 +/* CD39F4 80241BC4 24020003 */ addiu $v0, $zero, 3 +/* CD39F8 80241BC8 A622008E */ sh $v0, 0x8e($s1) +/* CD39FC 80241BCC 2402000D */ addiu $v0, $zero, 0xd +/* CD3A00 80241BD0 0809070A */ j .L80241C28 +/* CD3A04 80241BD4 AE620070 */ sw $v0, 0x70($s3) +.L80241BD8: +/* CD3A08 80241BD8 24030001 */ addiu $v1, $zero, 1 +/* CD3A0C 80241BDC 2402000E */ addiu $v0, $zero, 0xe +/* CD3A10 80241BE0 A623008E */ sh $v1, 0x8e($s1) +/* CD3A14 80241BE4 AE620070 */ sw $v0, 0x70($s3) +/* CD3A18 80241BE8 C6200038 */ lwc1 $f0, 0x38($s1) +/* CD3A1C 80241BEC 4600018D */ trunc.w.s $f6, $f0 +/* CD3A20 80241BF0 44023000 */ mfc1 $v0, $f6 +/* CD3A24 80241BF4 00000000 */ nop +/* CD3A28 80241BF8 A6420010 */ sh $v0, 0x10($s2) +/* CD3A2C 80241BFC C620003C */ lwc1 $f0, 0x3c($s1) +/* CD3A30 80241C00 4600018D */ trunc.w.s $f6, $f0 +/* CD3A34 80241C04 44023000 */ mfc1 $v0, $f6 +/* CD3A38 80241C08 00000000 */ nop +/* CD3A3C 80241C0C A6420012 */ sh $v0, 0x12($s2) +/* CD3A40 80241C10 C6200040 */ lwc1 $f0, 0x40($s1) +/* CD3A44 80241C14 A2430007 */ sb $v1, 7($s2) +/* CD3A48 80241C18 4600018D */ trunc.w.s $f6, $f0 +/* CD3A4C 80241C1C 44023000 */ mfc1 $v0, $f6 +/* CD3A50 80241C20 00000000 */ nop +/* CD3A54 80241C24 A6420014 */ sh $v0, 0x14($s2) +.L80241C28: +/* CD3A58 80241C28 8FBF0020 */ lw $ra, 0x20($sp) +/* CD3A5C 80241C2C 8FB3001C */ lw $s3, 0x1c($sp) +/* CD3A60 80241C30 8FB20018 */ lw $s2, 0x18($sp) +/* CD3A64 80241C34 8FB10014 */ lw $s1, 0x14($sp) +/* CD3A68 80241C38 8FB00010 */ lw $s0, 0x10($sp) +/* CD3A6C 80241C3C 03E00008 */ jr $ra +/* CD3A70 80241C40 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241C44_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241C44_CD1E30.s new file mode 100644 index 0000000000..6454ec9f6d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241C44_CD1E30.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C44_CD3A74 +/* CD3A74 80241C44 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD3A78 80241C48 AFB00010 */ sw $s0, 0x10($sp) +/* CD3A7C 80241C4C 0080802D */ daddu $s0, $a0, $zero +/* CD3A80 80241C50 AFBF0014 */ sw $ra, 0x14($sp) +/* CD3A84 80241C54 8E020148 */ lw $v0, 0x148($s0) +/* CD3A88 80241C58 0C00EABB */ jal get_npc_unsafe +/* CD3A8C 80241C5C 84440008 */ lh $a0, 8($v0) +/* CD3A90 80241C60 0040202D */ daddu $a0, $v0, $zero +/* CD3A94 80241C64 8482008E */ lh $v0, 0x8e($a0) +/* CD3A98 80241C68 9483008E */ lhu $v1, 0x8e($a0) +/* CD3A9C 80241C6C 18400005 */ blez $v0, .L80241C84 +/* CD3AA0 80241C70 2462FFFF */ addiu $v0, $v1, -1 +/* CD3AA4 80241C74 A482008E */ sh $v0, 0x8e($a0) +/* CD3AA8 80241C78 00021400 */ sll $v0, $v0, 0x10 +/* CD3AAC 80241C7C 1C400006 */ bgtz $v0, .L80241C98 +/* CD3AB0 80241C80 00000000 */ nop +.L80241C84: +/* CD3AB4 80241C84 8482008C */ lh $v0, 0x8c($a0) +/* CD3AB8 80241C88 14400003 */ bnez $v0, .L80241C98 +/* CD3ABC 80241C8C 2402000E */ addiu $v0, $zero, 0xe +/* CD3AC0 80241C90 A480008E */ sh $zero, 0x8e($a0) +/* CD3AC4 80241C94 AE020070 */ sw $v0, 0x70($s0) +.L80241C98: +/* CD3AC8 80241C98 8FBF0014 */ lw $ra, 0x14($sp) +/* CD3ACC 80241C9C 8FB00010 */ lw $s0, 0x10($sp) +/* CD3AD0 80241CA0 03E00008 */ jr $ra +/* CD3AD4 80241CA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80241CA8_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80241CA8_CD1E30.s new file mode 100644 index 0000000000..d5fee89fff --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80241CA8_CD1E30.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CA8_CD3AD8 +/* CD3AD8 80241CA8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CD3ADC 80241CAC AFB20030 */ sw $s2, 0x30($sp) +/* CD3AE0 80241CB0 0080902D */ daddu $s2, $a0, $zero +/* CD3AE4 80241CB4 AFBF0038 */ sw $ra, 0x38($sp) +/* CD3AE8 80241CB8 AFB30034 */ sw $s3, 0x34($sp) +/* CD3AEC 80241CBC AFB1002C */ sw $s1, 0x2c($sp) +/* CD3AF0 80241CC0 AFB00028 */ sw $s0, 0x28($sp) +/* CD3AF4 80241CC4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CD3AF8 80241CC8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* CD3AFC 80241CCC 8E510148 */ lw $s1, 0x148($s2) +/* CD3B00 80241CD0 86240008 */ lh $a0, 8($s1) +/* CD3B04 80241CD4 0C00EABB */ jal get_npc_unsafe +/* CD3B08 80241CD8 00A0982D */ daddu $s3, $a1, $zero +/* CD3B0C 80241CDC 0040802D */ daddu $s0, $v0, $zero +/* CD3B10 80241CE0 0200202D */ daddu $a0, $s0, $zero +/* CD3B14 80241CE4 C6220088 */ lwc1 $f2, 0x88($s1) +/* CD3B18 80241CE8 468010A0 */ cvt.s.w $f2, $f2 +/* CD3B1C 80241CEC 460010A1 */ cvt.d.s $f2, $f2 +/* CD3B20 80241CF0 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD3B24 80241CF4 C6000014 */ lwc1 $f0, 0x14($s0) +/* CD3B28 80241CF8 8E050018 */ lw $a1, 0x18($s0) +/* CD3B2C 80241CFC 46002100 */ add.s $f4, $f4, $f0 +/* CD3B30 80241D00 8E06000C */ lw $a2, 0xc($s0) +/* CD3B34 80241D04 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD3B38 80241D08 46800020 */ cvt.s.w $f0, $f0 +/* CD3B3C 80241D0C E604001C */ swc1 $f4, 0x1c($s0) +/* CD3B40 80241D10 3C014059 */ lui $at, 0x4059 +/* CD3B44 80241D14 44812800 */ mtc1 $at, $f5 +/* CD3B48 80241D18 44802000 */ mtc1 $zero, $f4 +/* CD3B4C 80241D1C 46000021 */ cvt.d.s $f0, $f0 +/* CD3B50 80241D20 46240003 */ div.d $f0, $f0, $f4 +/* CD3B54 80241D24 46200520 */ cvt.s.d $f20, $f0 +/* CD3B58 80241D28 46241083 */ div.d $f2, $f2, $f4 +/* CD3B5C 80241D2C 0C00EA95 */ jal npc_move_heading +/* CD3B60 80241D30 462015A0 */ cvt.s.d $f22, $f2 +/* CD3B64 80241D34 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD3B68 80241D38 44801000 */ mtc1 $zero, $f2 +/* CD3B6C 80241D3C 44801800 */ mtc1 $zero, $f3 +/* CD3B70 80241D40 46002021 */ cvt.d.s $f0, $f4 +/* CD3B74 80241D44 4620103E */ c.le.d $f2, $f0 +/* CD3B78 80241D48 00000000 */ nop +/* CD3B7C 80241D4C 45000030 */ bc1f .L80241E10 +/* CD3B80 80241D50 00000000 */ nop +/* CD3B84 80241D54 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3B88 80241D58 46040000 */ add.s $f0, $f0, $f4 +/* CD3B8C 80241D5C E600003C */ swc1 $f0, 0x3c($s0) +/* CD3B90 80241D60 8E2200CC */ lw $v0, 0xcc($s1) +/* CD3B94 80241D64 8C420024 */ lw $v0, 0x24($v0) +/* CD3B98 80241D68 AE020028 */ sw $v0, 0x28($s0) +/* CD3B9C 80241D6C A2200007 */ sb $zero, 7($s1) +/* CD3BA0 80241D70 8E020000 */ lw $v0, ($s0) +/* CD3BA4 80241D74 30420008 */ andi $v0, $v0, 8 +/* CD3BA8 80241D78 14400011 */ bnez $v0, .L80241DC0 +/* CD3BAC 80241D7C 0000102D */ daddu $v0, $zero, $zero +/* CD3BB0 80241D80 27A50018 */ addiu $a1, $sp, 0x18 +/* CD3BB4 80241D84 27A6001C */ addiu $a2, $sp, 0x1c +/* CD3BB8 80241D88 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD3BBC 80241D8C C602003C */ lwc1 $f2, 0x3c($s0) +/* CD3BC0 80241D90 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD3BC4 80241D94 3C01447A */ lui $at, 0x447a +/* CD3BC8 80241D98 44813000 */ mtc1 $at, $f6 +/* CD3BCC 80241D9C 27A20024 */ addiu $v0, $sp, 0x24 +/* CD3BD0 80241DA0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD3BD4 80241DA4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CD3BD8 80241DA8 E7A40020 */ swc1 $f4, 0x20($sp) +/* CD3BDC 80241DAC E7A60024 */ swc1 $f6, 0x24($sp) +/* CD3BE0 80241DB0 AFA20010 */ sw $v0, 0x10($sp) +/* CD3BE4 80241DB4 8E040080 */ lw $a0, 0x80($s0) +/* CD3BE8 80241DB8 0C0372DF */ jal func_800DCB7C +/* CD3BEC 80241DBC 27A70020 */ addiu $a3, $sp, 0x20 +.L80241DC0: +/* CD3BF0 80241DC0 1040000B */ beqz $v0, .L80241DF0 +/* CD3BF4 80241DC4 00000000 */ nop +/* CD3BF8 80241DC8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD3BFC 80241DCC 46140080 */ add.s $f2, $f0, $f20 +/* CD3C00 80241DD0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3C04 80241DD4 4600103E */ c.le.s $f2, $f0 +/* CD3C08 80241DD8 00000000 */ nop +/* CD3C0C 80241DDC 4500008D */ bc1f .L80242014 +/* CD3C10 80241DE0 00000000 */ nop +/* CD3C14 80241DE4 E602003C */ swc1 $f2, 0x3c($s0) +/* CD3C18 80241DE8 08090805 */ j .L80242014 +/* CD3C1C 80241DEC AE400070 */ sw $zero, 0x70($s2) +.L80241DF0: +/* CD3C20 80241DF0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD3C24 80241DF4 C6000064 */ lwc1 $f0, 0x64($s0) +/* CD3C28 80241DF8 4602003E */ c.le.s $f0, $f2 +/* CD3C2C 80241DFC 00000000 */ nop +/* CD3C30 80241E00 45030084 */ bc1tl .L80242014 +/* CD3C34 80241E04 AE400070 */ sw $zero, 0x70($s2) +/* CD3C38 80241E08 08090805 */ j .L80242014 +/* CD3C3C 80241E0C 00000000 */ nop +.L80241E10: +/* CD3C40 80241E10 4622003C */ c.lt.d $f0, $f2 +/* CD3C44 80241E14 00000000 */ nop +/* CD3C48 80241E18 4500007E */ bc1f .L80242014 +/* CD3C4C 80241E1C 00000000 */ nop +/* CD3C50 80241E20 9602008E */ lhu $v0, 0x8e($s0) +/* CD3C54 80241E24 24420001 */ addiu $v0, $v0, 1 +/* CD3C58 80241E28 A602008E */ sh $v0, 0x8e($s0) +/* CD3C5C 80241E2C 00021400 */ sll $v0, $v0, 0x10 +/* CD3C60 80241E30 8E630020 */ lw $v1, 0x20($s3) +/* CD3C64 80241E34 00021403 */ sra $v0, $v0, 0x10 +/* CD3C68 80241E38 0043102A */ slt $v0, $v0, $v1 +/* CD3C6C 80241E3C 14400026 */ bnez $v0, .L80241ED8 +/* CD3C70 80241E40 00000000 */ nop +/* CD3C74 80241E44 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD3C78 80241E48 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD3C7C 80241E4C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD3C80 80241E50 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD3C84 80241E54 A600008E */ sh $zero, 0x8e($s0) +/* CD3C88 80241E58 8C460028 */ lw $a2, 0x28($v0) +/* CD3C8C 80241E5C 0C00A720 */ jal atan2 +/* CD3C90 80241E60 8C470030 */ lw $a3, 0x30($v0) +/* CD3C94 80241E64 46000506 */ mov.s $f20, $f0 +/* CD3C98 80241E68 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD3C9C 80241E6C 0C00A70A */ jal get_clamped_angle_diff +/* CD3CA0 80241E70 4600A386 */ mov.s $f14, $f20 +/* CD3CA4 80241E74 46000086 */ mov.s $f2, $f0 +/* CD3CA8 80241E78 8E62001C */ lw $v0, 0x1c($s3) +/* CD3CAC 80241E7C 46001005 */ abs.s $f0, $f2 +/* CD3CB0 80241E80 44822000 */ mtc1 $v0, $f4 +/* CD3CB4 80241E84 00000000 */ nop +/* CD3CB8 80241E88 46802120 */ cvt.s.w $f4, $f4 +/* CD3CBC 80241E8C 4600203C */ c.lt.s $f4, $f0 +/* CD3CC0 80241E90 00000000 */ nop +/* CD3CC4 80241E94 4500000D */ bc1f .L80241ECC +/* CD3CC8 80241E98 00000000 */ nop +/* CD3CCC 80241E9C 44800000 */ mtc1 $zero, $f0 +/* CD3CD0 80241EA0 C614000C */ lwc1 $f20, 0xc($s0) +/* CD3CD4 80241EA4 4600103C */ c.lt.s $f2, $f0 +/* CD3CD8 80241EA8 00000000 */ nop +/* CD3CDC 80241EAC 45000006 */ bc1f .L80241EC8 +/* CD3CE0 80241EB0 00021023 */ negu $v0, $v0 +/* CD3CE4 80241EB4 44820000 */ mtc1 $v0, $f0 +/* CD3CE8 80241EB8 00000000 */ nop +/* CD3CEC 80241EBC 46800020 */ cvt.s.w $f0, $f0 +/* CD3CF0 80241EC0 080907B3 */ j .L80241ECC +/* CD3CF4 80241EC4 4600A500 */ add.s $f20, $f20, $f0 +.L80241EC8: +/* CD3CF8 80241EC8 4604A500 */ add.s $f20, $f20, $f4 +.L80241ECC: +/* CD3CFC 80241ECC 0C00A6C9 */ jal clamp_angle +/* CD3D00 80241ED0 4600A306 */ mov.s $f12, $f20 +/* CD3D04 80241ED4 E600000C */ swc1 $f0, 0xc($s0) +.L80241ED8: +/* CD3D08 80241ED8 8E020000 */ lw $v0, ($s0) +/* CD3D0C 80241EDC 30420008 */ andi $v0, $v0, 8 +/* CD3D10 80241EE0 1040000A */ beqz $v0, .L80241F0C +/* CD3D14 80241EE4 27A50018 */ addiu $a1, $sp, 0x18 +/* CD3D18 80241EE8 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD3D1C 80241EEC C600001C */ lwc1 $f0, 0x1c($s0) +/* CD3D20 80241EF0 46001080 */ add.s $f2, $f2, $f0 +/* CD3D24 80241EF4 4616103C */ c.lt.s $f2, $f22 +/* CD3D28 80241EF8 00000000 */ nop +/* CD3D2C 80241EFC 45020045 */ bc1fl .L80242014 +/* CD3D30 80241F00 E602003C */ swc1 $f2, 0x3c($s0) +/* CD3D34 80241F04 08090804 */ j .L80242010 +/* CD3D38 80241F08 E616003C */ swc1 $f22, 0x3c($s0) +.L80241F0C: +/* CD3D3C 80241F0C C6000038 */ lwc1 $f0, 0x38($s0) +/* CD3D40 80241F10 27A6001C */ addiu $a2, $sp, 0x1c +/* CD3D44 80241F14 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD3D48 80241F18 860200A8 */ lh $v0, 0xa8($s0) +/* CD3D4C 80241F1C C600001C */ lwc1 $f0, 0x1c($s0) +/* CD3D50 80241F20 C604003C */ lwc1 $f4, 0x3c($s0) +/* CD3D54 80241F24 44821000 */ mtc1 $v0, $f2 +/* CD3D58 80241F28 00000000 */ nop +/* CD3D5C 80241F2C 468010A0 */ cvt.s.w $f2, $f2 +/* CD3D60 80241F30 46000005 */ abs.s $f0, $f0 +/* CD3D64 80241F34 46020000 */ add.s $f0, $f0, $f2 +/* CD3D68 80241F38 C6060040 */ lwc1 $f6, 0x40($s0) +/* CD3D6C 80241F3C 27A20024 */ addiu $v0, $sp, 0x24 +/* CD3D70 80241F40 46022100 */ add.s $f4, $f4, $f2 +/* CD3D74 80241F44 3C014024 */ lui $at, 0x4024 +/* CD3D78 80241F48 44811800 */ mtc1 $at, $f3 +/* CD3D7C 80241F4C 44801000 */ mtc1 $zero, $f2 +/* CD3D80 80241F50 46000021 */ cvt.d.s $f0, $f0 +/* CD3D84 80241F54 46220000 */ add.d $f0, $f0, $f2 +/* CD3D88 80241F58 E7A60020 */ swc1 $f6, 0x20($sp) +/* CD3D8C 80241F5C E7A4001C */ swc1 $f4, 0x1c($sp) +/* CD3D90 80241F60 46200020 */ cvt.s.d $f0, $f0 +/* CD3D94 80241F64 E7A00024 */ swc1 $f0, 0x24($sp) +/* CD3D98 80241F68 AFA20010 */ sw $v0, 0x10($sp) +/* CD3D9C 80241F6C 8E040080 */ lw $a0, 0x80($s0) +/* CD3DA0 80241F70 0C0372DF */ jal func_800DCB7C +/* CD3DA4 80241F74 27A70020 */ addiu $a3, $sp, 0x20 +/* CD3DA8 80241F78 10400015 */ beqz $v0, .L80241FD0 +/* CD3DAC 80241F7C 00000000 */ nop +/* CD3DB0 80241F80 860200A8 */ lh $v0, 0xa8($s0) +/* CD3DB4 80241F84 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD3DB8 80241F88 44820000 */ mtc1 $v0, $f0 +/* CD3DBC 80241F8C 00000000 */ nop +/* CD3DC0 80241F90 46800020 */ cvt.s.w $f0, $f0 +/* CD3DC4 80241F94 46002085 */ abs.s $f2, $f4 +/* CD3DC8 80241F98 46020000 */ add.s $f0, $f0, $f2 +/* CD3DCC 80241F9C C7A20024 */ lwc1 $f2, 0x24($sp) +/* CD3DD0 80241FA0 4600103E */ c.le.s $f2, $f0 +/* CD3DD4 80241FA4 00000000 */ nop +/* CD3DD8 80241FA8 45000005 */ bc1f .L80241FC0 +/* CD3DDC 80241FAC 00000000 */ nop +/* CD3DE0 80241FB0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD3DE4 80241FB4 AE00001C */ sw $zero, 0x1c($s0) +/* CD3DE8 80241FB8 08090805 */ j .L80242014 +/* CD3DEC 80241FBC E600003C */ swc1 $f0, 0x3c($s0) +.L80241FC0: +/* CD3DF0 80241FC0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD3DF4 80241FC4 46040000 */ add.s $f0, $f0, $f4 +/* CD3DF8 80241FC8 08090805 */ j .L80242014 +/* CD3DFC 80241FCC E600003C */ swc1 $f0, 0x3c($s0) +.L80241FD0: +/* CD3E00 80241FD0 C606003C */ lwc1 $f6, 0x3c($s0) +/* CD3E04 80241FD4 860200A8 */ lh $v0, 0xa8($s0) +/* CD3E08 80241FD8 46163081 */ sub.s $f2, $f6, $f22 +/* CD3E0C 80241FDC 44820000 */ mtc1 $v0, $f0 +/* CD3E10 80241FE0 00000000 */ nop +/* CD3E14 80241FE4 46800020 */ cvt.s.w $f0, $f0 +/* CD3E18 80241FE8 46001080 */ add.s $f2, $f2, $f0 +/* CD3E1C 80241FEC C604001C */ lwc1 $f4, 0x1c($s0) +/* CD3E20 80241FF0 46002005 */ abs.s $f0, $f4 +/* CD3E24 80241FF4 4602003C */ c.lt.s $f0, $f2 +/* CD3E28 80241FF8 00000000 */ nop +/* CD3E2C 80241FFC 45020005 */ bc1fl .L80242014 +/* CD3E30 80242000 AE00001C */ sw $zero, 0x1c($s0) +/* CD3E34 80242004 46043000 */ add.s $f0, $f6, $f4 +/* CD3E38 80242008 08090805 */ j .L80242014 +/* CD3E3C 8024200C E600003C */ swc1 $f0, 0x3c($s0) +.L80242010: +/* CD3E40 80242010 AE00001C */ sw $zero, 0x1c($s0) +.L80242014: +/* CD3E44 80242014 8FBF0038 */ lw $ra, 0x38($sp) +/* CD3E48 80242018 8FB30034 */ lw $s3, 0x34($sp) +/* CD3E4C 8024201C 8FB20030 */ lw $s2, 0x30($sp) +/* CD3E50 80242020 8FB1002C */ lw $s1, 0x2c($sp) +/* CD3E54 80242024 8FB00028 */ lw $s0, 0x28($sp) +/* CD3E58 80242028 D7B60048 */ ldc1 $f22, 0x48($sp) +/* CD3E5C 8024202C D7B40040 */ ldc1 $f20, 0x40($sp) +/* CD3E60 80242030 03E00008 */ jr $ra +/* CD3E64 80242034 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80242038.s b/asm/nonmatchings/world/area_flo/flo_16/func_80242038.s new file mode 100644 index 0000000000..a57630d511 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80242038.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242038 +/* CD3E68 80242038 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CD3E6C 8024203C AFB00028 */ sw $s0, 0x28($sp) +/* CD3E70 80242040 00A0802D */ daddu $s0, $a1, $zero +/* CD3E74 80242044 AFB1002C */ sw $s1, 0x2c($sp) +/* CD3E78 80242048 00C0882D */ daddu $s1, $a2, $zero +/* CD3E7C 8024204C AFBF0034 */ sw $ra, 0x34($sp) +/* CD3E80 80242050 AFB20030 */ sw $s2, 0x30($sp) +/* CD3E84 80242054 AE200070 */ sw $zero, 0x70($s1) +/* CD3E88 80242058 8C830000 */ lw $v1, ($a0) +/* CD3E8C 8024205C 2402FDFF */ addiu $v0, $zero, -0x201 +/* CD3E90 80242060 A480008E */ sh $zero, 0x8e($a0) +/* CD3E94 80242064 00621824 */ and $v1, $v1, $v0 +/* CD3E98 80242068 34650800 */ ori $a1, $v1, 0x800 +/* CD3E9C 8024206C AC850000 */ sw $a1, ($a0) +/* CD3EA0 80242070 8E0200D0 */ lw $v0, 0xd0($s0) +/* CD3EA4 80242074 8C420034 */ lw $v0, 0x34($v0) +/* CD3EA8 80242078 10400003 */ beqz $v0, .L80242088 +/* CD3EAC 8024207C 00E0902D */ daddu $s2, $a3, $zero +/* CD3EB0 80242080 08090824 */ j .L80242090 +/* CD3EB4 80242084 34620808 */ ori $v0, $v1, 0x808 +.L80242088: +/* CD3EB8 80242088 2402FFF7 */ addiu $v0, $zero, -9 +/* CD3EBC 8024208C 00A21024 */ and $v0, $a1, $v0 +.L80242090: +/* CD3EC0 80242090 AC820000 */ sw $v0, ($a0) +/* CD3EC4 80242094 27A20024 */ addiu $v0, $sp, 0x24 +/* CD3EC8 80242098 27A50018 */ addiu $a1, $sp, 0x18 +/* CD3ECC 8024209C C4800038 */ lwc1 $f0, 0x38($a0) +/* CD3ED0 802420A0 C482003C */ lwc1 $f2, 0x3c($a0) +/* CD3ED4 802420A4 C4840040 */ lwc1 $f4, 0x40($a0) +/* CD3ED8 802420A8 3C01447A */ lui $at, 0x447a +/* CD3EDC 802420AC 44813000 */ mtc1 $at, $f6 +/* CD3EE0 802420B0 27A6001C */ addiu $a2, $sp, 0x1c +/* CD3EE4 802420B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD3EE8 802420B8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CD3EEC 802420BC E7A40020 */ swc1 $f4, 0x20($sp) +/* CD3EF0 802420C0 E7A60024 */ swc1 $f6, 0x24($sp) +/* CD3EF4 802420C4 AFA20010 */ sw $v0, 0x10($sp) +/* CD3EF8 802420C8 8C840080 */ lw $a0, 0x80($a0) +/* CD3EFC 802420CC 0C0372DF */ jal func_800DCB7C +/* CD3F00 802420D0 27A70020 */ addiu $a3, $sp, 0x20 +/* CD3F04 802420D4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CD3F08 802420D8 3C014059 */ lui $at, 0x4059 +/* CD3F0C 802420DC 44812800 */ mtc1 $at, $f5 +/* CD3F10 802420E0 44802000 */ mtc1 $zero, $f4 +/* CD3F14 802420E4 460010A1 */ cvt.d.s $f2, $f2 +/* CD3F18 802420E8 46241082 */ mul.d $f2, $f2, $f4 +/* CD3F1C 802420EC 00000000 */ nop +/* CD3F20 802420F0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD3F24 802420F4 46000021 */ cvt.d.s $f0, $f0 +/* CD3F28 802420F8 46240002 */ mul.d $f0, $f0, $f4 +/* CD3F2C 802420FC 00000000 */ nop +/* CD3F30 80242100 3C013FE0 */ lui $at, 0x3fe0 +/* CD3F34 80242104 44812800 */ mtc1 $at, $f5 +/* CD3F38 80242108 44802000 */ mtc1 $zero, $f4 +/* CD3F3C 8024210C 00000000 */ nop +/* CD3F40 80242110 46241080 */ add.d $f2, $f2, $f4 +/* CD3F44 80242114 AE000074 */ sw $zero, 0x74($s0) +/* CD3F48 80242118 46240000 */ add.d $f0, $f0, $f4 +/* CD3F4C 8024211C AE000090 */ sw $zero, 0x90($s0) +/* CD3F50 80242120 4620120D */ trunc.w.d $f8, $f2 +/* CD3F54 80242124 E6080078 */ swc1 $f8, 0x78($s0) +/* CD3F58 80242128 4620020D */ trunc.w.d $f8, $f0 +/* CD3F5C 8024212C E6080088 */ swc1 $f8, 0x88($s0) +/* CD3F60 80242130 8E420014 */ lw $v0, 0x14($s2) +/* CD3F64 80242134 AE220074 */ sw $v0, 0x74($s1) +/* CD3F68 80242138 8E0200B0 */ lw $v0, 0xb0($s0) +/* CD3F6C 8024213C 34420010 */ ori $v0, $v0, 0x10 +/* CD3F70 80242140 AE0200B0 */ sw $v0, 0xb0($s0) +/* CD3F74 80242144 8FBF0034 */ lw $ra, 0x34($sp) +/* CD3F78 80242148 8FB20030 */ lw $s2, 0x30($sp) +/* CD3F7C 8024214C 8FB1002C */ lw $s1, 0x2c($sp) +/* CD3F80 80242150 8FB00028 */ lw $s0, 0x28($sp) +/* CD3F84 80242154 03E00008 */ jr $ra +/* CD3F88 80242158 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_8024215C.s b/asm/nonmatchings/world/area_flo/flo_16/func_8024215C.s new file mode 100644 index 0000000000..e80c9f775e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_8024215C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024215C +/* CD3F8C 8024215C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CD3F90 80242160 AFB40040 */ sw $s4, 0x40($sp) +/* CD3F94 80242164 0080A02D */ daddu $s4, $a0, $zero +/* CD3F98 80242168 AFBF0048 */ sw $ra, 0x48($sp) +/* CD3F9C 8024216C AFB50044 */ sw $s5, 0x44($sp) +/* CD3FA0 80242170 AFB3003C */ sw $s3, 0x3c($sp) +/* CD3FA4 80242174 AFB20038 */ sw $s2, 0x38($sp) +/* CD3FA8 80242178 AFB10034 */ sw $s1, 0x34($sp) +/* CD3FAC 8024217C AFB00030 */ sw $s0, 0x30($sp) +/* CD3FB0 80242180 8E920148 */ lw $s2, 0x148($s4) +/* CD3FB4 80242184 86440008 */ lh $a0, 8($s2) +/* CD3FB8 80242188 8E90000C */ lw $s0, 0xc($s4) +/* CD3FBC 8024218C 0C00EABB */ jal get_npc_unsafe +/* CD3FC0 80242190 00A0882D */ daddu $s1, $a1, $zero +/* CD3FC4 80242194 0280202D */ daddu $a0, $s4, $zero +/* CD3FC8 80242198 8E050000 */ lw $a1, ($s0) +/* CD3FCC 8024219C 0C0B1EAF */ jal get_variable +/* CD3FD0 802421A0 0040A82D */ daddu $s5, $v0, $zero +/* CD3FD4 802421A4 AFA00010 */ sw $zero, 0x10($sp) +/* CD3FD8 802421A8 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD3FDC 802421AC 8C630030 */ lw $v1, 0x30($v1) +/* CD3FE0 802421B0 AFA30014 */ sw $v1, 0x14($sp) +/* CD3FE4 802421B4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD3FE8 802421B8 8C63001C */ lw $v1, 0x1c($v1) +/* CD3FEC 802421BC AFA30018 */ sw $v1, 0x18($sp) +/* CD3FF0 802421C0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD3FF4 802421C4 8C630024 */ lw $v1, 0x24($v1) +/* CD3FF8 802421C8 AFA3001C */ sw $v1, 0x1c($sp) +/* CD3FFC 802421CC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD4000 802421D0 8C630028 */ lw $v1, 0x28($v1) +/* CD4004 802421D4 27B30010 */ addiu $s3, $sp, 0x10 +/* CD4008 802421D8 AFA30020 */ sw $v1, 0x20($sp) +/* CD400C 802421DC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD4010 802421E0 3C0142F0 */ lui $at, 0x42f0 +/* CD4014 802421E4 44810000 */ mtc1 $at, $f0 +/* CD4018 802421E8 8C63002C */ lw $v1, 0x2c($v1) +/* CD401C 802421EC 0040802D */ daddu $s0, $v0, $zero +/* CD4020 802421F0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD4024 802421F4 A7A0002C */ sh $zero, 0x2c($sp) +/* CD4028 802421F8 12200006 */ beqz $s1, .L80242214 +/* CD402C 802421FC AFA30024 */ sw $v1, 0x24($sp) +/* CD4030 80242200 02A0202D */ daddu $a0, $s5, $zero +/* CD4034 80242204 0240282D */ daddu $a1, $s2, $zero +/* CD4038 80242208 0280302D */ daddu $a2, $s4, $zero +/* CD403C 8024220C 0C09080E */ jal func_80242038 +/* CD4040 80242210 0200382D */ daddu $a3, $s0, $zero +.L80242214: +/* CD4044 80242214 2402FFFE */ addiu $v0, $zero, -2 +/* CD4048 80242218 A2A200AB */ sb $v0, 0xab($s5) +/* CD404C 8024221C 8E4300B0 */ lw $v1, 0xb0($s2) +/* CD4050 80242220 30620004 */ andi $v0, $v1, 4 +/* CD4054 80242224 10400007 */ beqz $v0, .L80242244 +/* CD4058 80242228 00000000 */ nop +/* CD405C 8024222C 824200B4 */ lb $v0, 0xb4($s2) +/* CD4060 80242230 1440003C */ bnez $v0, .L80242324 +/* CD4064 80242234 0000102D */ daddu $v0, $zero, $zero +/* CD4068 80242238 2402FFFB */ addiu $v0, $zero, -5 +/* CD406C 8024223C 00621024 */ and $v0, $v1, $v0 +/* CD4070 80242240 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242244: +/* CD4074 80242244 8E830070 */ lw $v1, 0x70($s4) +/* CD4078 80242248 2C62000F */ sltiu $v0, $v1, 0xf +/* CD407C 8024224C 10400034 */ beqz $v0, .L80242320 +/* CD4080 80242250 00031080 */ sll $v0, $v1, 2 +/* CD4084 80242254 3C018024 */ lui $at, 0x8024 +/* CD4088 80242258 00220821 */ addu $at, $at, $v0 +/* CD408C 8024225C 8C225408 */ lw $v0, 0x5408($at) +/* CD4090 80242260 00400008 */ jr $v0 +/* CD4094 80242264 00000000 */ nop +/* CD4098 80242268 0280202D */ daddu $a0, $s4, $zero +/* CD409C 8024226C 0200282D */ daddu $a1, $s0, $zero +/* CD40A0 80242270 0C090394 */ jal func_80240E50 +/* CD40A4 80242274 0260302D */ daddu $a2, $s3, $zero +/* CD40A8 80242278 0280202D */ daddu $a0, $s4, $zero +/* CD40AC 8024227C 0200282D */ daddu $a1, $s0, $zero +/* CD40B0 80242280 0C090400 */ jal func_80241000 +/* CD40B4 80242284 0260302D */ daddu $a2, $s3, $zero +/* CD40B8 80242288 080908C9 */ j .L80242324 +/* CD40BC 8024228C 0000102D */ daddu $v0, $zero, $zero +/* CD40C0 80242290 0280202D */ daddu $a0, $s4, $zero +/* CD40C4 80242294 0200282D */ daddu $a1, $s0, $zero +/* CD40C8 80242298 0C09058A */ jal func_80241628 +/* CD40CC 8024229C 0260302D */ daddu $a2, $s3, $zero +/* CD40D0 802422A0 0280202D */ daddu $a0, $s4, $zero +/* CD40D4 802422A4 0200282D */ daddu $a1, $s0, $zero +/* CD40D8 802422A8 0C0905BA */ jal func_802416E8 +/* CD40DC 802422AC 0260302D */ daddu $a2, $s3, $zero +/* CD40E0 802422B0 080908C9 */ j .L80242324 +/* CD40E4 802422B4 0000102D */ daddu $v0, $zero, $zero +/* CD40E8 802422B8 0280202D */ daddu $a0, $s4, $zero +/* CD40EC 802422BC 0200282D */ daddu $a1, $s0, $zero +/* CD40F0 802422C0 0C09068B */ jal func_80241A2C +/* CD40F4 802422C4 0260302D */ daddu $a2, $s3, $zero +/* CD40F8 802422C8 0280202D */ daddu $a0, $s4, $zero +/* CD40FC 802422CC 0200282D */ daddu $a1, $s0, $zero +/* CD4100 802422D0 0C0906A9 */ jal func_80241AA4 +/* CD4104 802422D4 0260302D */ daddu $a2, $s3, $zero +/* CD4108 802422D8 080908C9 */ j .L80242324 +/* CD410C 802422DC 0000102D */ daddu $v0, $zero, $zero +/* CD4110 802422E0 0280202D */ daddu $a0, $s4, $zero +/* CD4114 802422E4 0200282D */ daddu $a1, $s0, $zero +/* CD4118 802422E8 0C0906C4 */ jal func_80241B10 +/* CD411C 802422EC 0260302D */ daddu $a2, $s3, $zero +/* CD4120 802422F0 080908C9 */ j .L80242324 +/* CD4124 802422F4 0000102D */ daddu $v0, $zero, $zero +/* CD4128 802422F8 0280202D */ daddu $a0, $s4, $zero +/* CD412C 802422FC 0200282D */ daddu $a1, $s0, $zero +/* CD4130 80242300 0C090711 */ jal func_80241C44 +/* CD4134 80242304 0260302D */ daddu $a2, $s3, $zero +/* CD4138 80242308 080908C9 */ j .L80242324 +/* CD413C 8024230C 0000102D */ daddu $v0, $zero, $zero +/* CD4140 80242310 0280202D */ daddu $a0, $s4, $zero +/* CD4144 80242314 0200282D */ daddu $a1, $s0, $zero +/* CD4148 80242318 0C09072A */ jal func_80241CA8 +/* CD414C 8024231C 0260302D */ daddu $a2, $s3, $zero +.L80242320: +/* CD4150 80242320 0000102D */ daddu $v0, $zero, $zero +.L80242324: +/* CD4154 80242324 8FBF0048 */ lw $ra, 0x48($sp) +/* CD4158 80242328 8FB50044 */ lw $s5, 0x44($sp) +/* CD415C 8024232C 8FB40040 */ lw $s4, 0x40($sp) +/* CD4160 80242330 8FB3003C */ lw $s3, 0x3c($sp) +/* CD4164 80242334 8FB20038 */ lw $s2, 0x38($sp) +/* CD4168 80242338 8FB10034 */ lw $s1, 0x34($sp) +/* CD416C 8024233C 8FB00030 */ lw $s0, 0x30($sp) +/* CD4170 80242340 03E00008 */ jr $ra +/* CD4174 80242344 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80242348_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_80242348_CD1E30.s new file mode 100644 index 0000000000..43b43be27c --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80242348_CD1E30.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242348_CD4178 +/* CD4178 80242348 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CD417C 8024234C AFB3001C */ sw $s3, 0x1c($sp) +/* CD4180 80242350 0080982D */ daddu $s3, $a0, $zero +/* CD4184 80242354 AFBF0020 */ sw $ra, 0x20($sp) +/* CD4188 80242358 AFB20018 */ sw $s2, 0x18($sp) +/* CD418C 8024235C AFB10014 */ sw $s1, 0x14($sp) +/* CD4190 80242360 AFB00010 */ sw $s0, 0x10($sp) +/* CD4194 80242364 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CD4198 80242368 8E710148 */ lw $s1, 0x148($s3) +/* CD419C 8024236C 86240008 */ lh $a0, 8($s1) +/* CD41A0 80242370 0C00EABB */ jal get_npc_unsafe +/* CD41A4 80242374 00A0802D */ daddu $s0, $a1, $zero +/* CD41A8 80242378 8E040020 */ lw $a0, 0x20($s0) +/* CD41AC 8024237C 0040902D */ daddu $s2, $v0, $zero +/* CD41B0 80242380 00041FC2 */ srl $v1, $a0, 0x1f +/* CD41B4 80242384 00832021 */ addu $a0, $a0, $v1 +/* CD41B8 80242388 00042043 */ sra $a0, $a0, 1 +/* CD41BC 8024238C 0C00A67F */ jal rand_int +/* CD41C0 80242390 24840001 */ addiu $a0, $a0, 1 +/* CD41C4 80242394 8E030020 */ lw $v1, 0x20($s0) +/* CD41C8 80242398 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CD41CC 8024239C 000327C2 */ srl $a0, $v1, 0x1f +/* CD41D0 802423A0 00641821 */ addu $v1, $v1, $a0 +/* CD41D4 802423A4 00031843 */ sra $v1, $v1, 1 +/* CD41D8 802423A8 00621821 */ addu $v1, $v1, $v0 +/* CD41DC 802423AC A643008E */ sh $v1, 0x8e($s2) +/* CD41E0 802423B0 8E2200CC */ lw $v0, 0xcc($s1) +/* CD41E4 802423B4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* CD41E8 802423B8 8C42000C */ lw $v0, 0xc($v0) +/* CD41EC 802423BC AE420028 */ sw $v0, 0x28($s2) +/* CD41F0 802423C0 C6000018 */ lwc1 $f0, 0x18($s0) +/* CD41F4 802423C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD41F8 802423C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD41FC 802423CC E6400018 */ swc1 $f0, 0x18($s2) +/* CD4200 802423D0 8C460028 */ lw $a2, 0x28($v0) +/* CD4204 802423D4 0C00A720 */ jal atan2 +/* CD4208 802423D8 8C470030 */ lw $a3, 0x30($v0) +/* CD420C 802423DC 46000506 */ mov.s $f20, $f0 +/* CD4210 802423E0 C64C000C */ lwc1 $f12, 0xc($s2) +/* CD4214 802423E4 0C00A70A */ jal get_clamped_angle_diff +/* CD4218 802423E8 4600A386 */ mov.s $f14, $f20 +/* CD421C 802423EC 46000086 */ mov.s $f2, $f0 +/* CD4220 802423F0 8E02001C */ lw $v0, 0x1c($s0) +/* CD4224 802423F4 46001005 */ abs.s $f0, $f2 +/* CD4228 802423F8 44822000 */ mtc1 $v0, $f4 +/* CD422C 802423FC 00000000 */ nop +/* CD4230 80242400 46802120 */ cvt.s.w $f4, $f4 +/* CD4234 80242404 4600203C */ c.lt.s $f4, $f0 +/* CD4238 80242408 00000000 */ nop +/* CD423C 8024240C 4500000D */ bc1f .L80242444 +/* CD4240 80242410 00000000 */ nop +/* CD4244 80242414 44800000 */ mtc1 $zero, $f0 +/* CD4248 80242418 C654000C */ lwc1 $f20, 0xc($s2) +/* CD424C 8024241C 4600103C */ c.lt.s $f2, $f0 +/* CD4250 80242420 00000000 */ nop +/* CD4254 80242424 45000006 */ bc1f .L80242440 +/* CD4258 80242428 00021023 */ negu $v0, $v0 +/* CD425C 8024242C 44820000 */ mtc1 $v0, $f0 +/* CD4260 80242430 00000000 */ nop +/* CD4264 80242434 46800020 */ cvt.s.w $f0, $f0 +/* CD4268 80242438 08090911 */ j .L80242444 +/* CD426C 8024243C 4600A500 */ add.s $f20, $f20, $f0 +.L80242440: +/* CD4270 80242440 4604A500 */ add.s $f20, $f20, $f4 +.L80242444: +/* CD4274 80242444 0C00A6C9 */ jal clamp_angle +/* CD4278 80242448 4600A306 */ mov.s $f12, $f20 +/* CD427C 8024244C 2402000D */ addiu $v0, $zero, 0xd +/* CD4280 80242450 E640000C */ swc1 $f0, 0xc($s2) +/* CD4284 80242454 AE620070 */ sw $v0, 0x70($s3) +/* CD4288 80242458 8FBF0020 */ lw $ra, 0x20($sp) +/* CD428C 8024245C 8FB3001C */ lw $s3, 0x1c($sp) +/* CD4290 80242460 8FB20018 */ lw $s2, 0x18($sp) +/* CD4294 80242464 8FB10014 */ lw $s1, 0x14($sp) +/* CD4298 80242468 8FB00010 */ lw $s0, 0x10($sp) +/* CD429C 8024246C D7B40028 */ ldc1 $f20, 0x28($sp) +/* CD42A0 80242470 03E00008 */ jr $ra +/* CD42A4 80242474 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80242478.s b/asm/nonmatchings/world/area_flo/flo_16/func_80242478.s new file mode 100644 index 0000000000..c877a00821 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80242478.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242478 +/* CD42A8 80242478 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* CD42AC 8024247C AFB3004C */ sw $s3, 0x4c($sp) +/* CD42B0 80242480 0080982D */ daddu $s3, $a0, $zero +/* CD42B4 80242484 AFBF0050 */ sw $ra, 0x50($sp) +/* CD42B8 80242488 AFB20048 */ sw $s2, 0x48($sp) +/* CD42BC 8024248C AFB10044 */ sw $s1, 0x44($sp) +/* CD42C0 80242490 AFB00040 */ sw $s0, 0x40($sp) +/* CD42C4 80242494 8E720148 */ lw $s2, 0x148($s3) +/* CD42C8 80242498 00A0882D */ daddu $s1, $a1, $zero +/* CD42CC 8024249C 86440008 */ lh $a0, 8($s2) +/* CD42D0 802424A0 0C00EABB */ jal get_npc_unsafe +/* CD42D4 802424A4 00C0802D */ daddu $s0, $a2, $zero +/* CD42D8 802424A8 0200202D */ daddu $a0, $s0, $zero +/* CD42DC 802424AC 0240282D */ daddu $a1, $s2, $zero +/* CD42E0 802424B0 24030001 */ addiu $v1, $zero, 1 +/* CD42E4 802424B4 AFA30010 */ sw $v1, 0x10($sp) +/* CD42E8 802424B8 8E260024 */ lw $a2, 0x24($s1) +/* CD42EC 802424BC 8E270028 */ lw $a3, 0x28($s1) +/* CD42F0 802424C0 0C01242D */ jal func_800490B4 +/* CD42F4 802424C4 0040802D */ daddu $s0, $v0, $zero +/* CD42F8 802424C8 14400020 */ bnez $v0, .L8024254C +/* CD42FC 802424CC 24040002 */ addiu $a0, $zero, 2 +/* CD4300 802424D0 0200282D */ daddu $a1, $s0, $zero +/* CD4304 802424D4 0000302D */ daddu $a2, $zero, $zero +/* CD4308 802424D8 860300A8 */ lh $v1, 0xa8($s0) +/* CD430C 802424DC 3C013F80 */ lui $at, 0x3f80 +/* CD4310 802424E0 44810000 */ mtc1 $at, $f0 +/* CD4314 802424E4 3C014000 */ lui $at, 0x4000 +/* CD4318 802424E8 44811000 */ mtc1 $at, $f2 +/* CD431C 802424EC 3C01C1A0 */ lui $at, 0xc1a0 +/* CD4320 802424F0 44812000 */ mtc1 $at, $f4 +/* CD4324 802424F4 2402000F */ addiu $v0, $zero, 0xf +/* CD4328 802424F8 AFA2001C */ sw $v0, 0x1c($sp) +/* CD432C 802424FC 44834000 */ mtc1 $v1, $f8 +/* CD4330 80242500 00000000 */ nop +/* CD4334 80242504 46804220 */ cvt.s.w $f8, $f8 +/* CD4338 80242508 44074000 */ mfc1 $a3, $f8 +/* CD433C 8024250C 27A20028 */ addiu $v0, $sp, 0x28 +/* CD4340 80242510 AFA20020 */ sw $v0, 0x20($sp) +/* CD4344 80242514 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD4348 80242518 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD434C 8024251C 0C01BFA4 */ jal fx_emote +/* CD4350 80242520 E7A40018 */ swc1 $f4, 0x18($sp) +/* CD4354 80242524 8E4200CC */ lw $v0, 0xcc($s2) +/* CD4358 80242528 8C430000 */ lw $v1, ($v0) +/* CD435C 8024252C 2402001E */ addiu $v0, $zero, 0x1e +/* CD4360 80242530 A602008E */ sh $v0, 0x8e($s0) +/* CD4364 80242534 24020014 */ addiu $v0, $zero, 0x14 +/* CD4368 80242538 AE030028 */ sw $v1, 0x28($s0) +/* CD436C 8024253C AE620070 */ sw $v0, 0x70($s3) +/* CD4370 80242540 2402001E */ addiu $v0, $zero, 0x1e +/* CD4374 80242544 080909B7 */ j .L802426DC +/* CD4378 80242548 AE420090 */ sw $v0, 0x90($s2) +.L8024254C: +/* CD437C 8024254C 8E050018 */ lw $a1, 0x18($s0) +/* CD4380 80242550 8E06000C */ lw $a2, 0xc($s0) +/* CD4384 80242554 0C00EA95 */ jal npc_move_heading +/* CD4388 80242558 0200202D */ daddu $a0, $s0, $zero +/* CD438C 8024255C 8E020000 */ lw $v0, ($s0) +/* CD4390 80242560 30420008 */ andi $v0, $v0, 8 +/* CD4394 80242564 14400028 */ bnez $v0, .L80242608 +/* CD4398 80242568 0000882D */ daddu $s1, $zero, $zero +/* CD439C 8024256C 27A5002C */ addiu $a1, $sp, 0x2c +/* CD43A0 80242570 27A60030 */ addiu $a2, $sp, 0x30 +/* CD43A4 80242574 860200A8 */ lh $v0, 0xa8($s0) +/* CD43A8 80242578 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD43AC 8024257C 44821000 */ mtc1 $v0, $f2 +/* CD43B0 80242580 00000000 */ nop +/* CD43B4 80242584 468010A0 */ cvt.s.w $f2, $f2 +/* CD43B8 80242588 E7A0002C */ swc1 $f0, 0x2c($sp) +/* CD43BC 8024258C 860200A8 */ lh $v0, 0xa8($s0) +/* CD43C0 80242590 C604003C */ lwc1 $f4, 0x3c($s0) +/* CD43C4 80242594 C6060040 */ lwc1 $f6, 0x40($s0) +/* CD43C8 80242598 44820000 */ mtc1 $v0, $f0 +/* CD43CC 8024259C 00000000 */ nop +/* CD43D0 802425A0 46800021 */ cvt.d.w $f0, $f0 +/* CD43D4 802425A4 46022100 */ add.s $f4, $f4, $f2 +/* CD43D8 802425A8 3C014008 */ lui $at, 0x4008 +/* CD43DC 802425AC 44811800 */ mtc1 $at, $f3 +/* CD43E0 802425B0 44801000 */ mtc1 $zero, $f2 +/* CD43E4 802425B4 27A20038 */ addiu $v0, $sp, 0x38 +/* CD43E8 802425B8 46220000 */ add.d $f0, $f0, $f2 +/* CD43EC 802425BC E7A60034 */ swc1 $f6, 0x34($sp) +/* CD43F0 802425C0 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD43F4 802425C4 46200020 */ cvt.s.d $f0, $f0 +/* CD43F8 802425C8 E7A00038 */ swc1 $f0, 0x38($sp) +/* CD43FC 802425CC AFA20010 */ sw $v0, 0x10($sp) +/* CD4400 802425D0 8E040080 */ lw $a0, 0x80($s0) +/* CD4404 802425D4 0C0372DF */ jal func_800DCB7C +/* CD4408 802425D8 27A70034 */ addiu $a3, $sp, 0x34 +/* CD440C 802425DC 1040000A */ beqz $v0, .L80242608 +/* CD4410 802425E0 00000000 */ nop +/* CD4414 802425E4 860200A8 */ lh $v0, 0xa8($s0) +/* CD4418 802425E8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* CD441C 802425EC 44820000 */ mtc1 $v0, $f0 +/* CD4420 802425F0 00000000 */ nop +/* CD4424 802425F4 46800020 */ cvt.s.w $f0, $f0 +/* CD4428 802425F8 4600103C */ c.lt.s $f2, $f0 +/* CD442C 802425FC 00000000 */ nop +/* CD4430 80242600 45030001 */ bc1tl .L80242608 +/* CD4434 80242604 24110001 */ addiu $s1, $zero, 1 +.L80242608: +/* CD4438 80242608 12200008 */ beqz $s1, .L8024262C +/* CD443C 8024260C 00000000 */ nop +/* CD4440 80242610 C7A00030 */ lwc1 $f0, 0x30($sp) +/* CD4444 80242614 3C013FF0 */ lui $at, 0x3ff0 +/* CD4448 80242618 44811800 */ mtc1 $at, $f3 +/* CD444C 8024261C 44801000 */ mtc1 $zero, $f2 +/* CD4450 80242620 46000021 */ cvt.d.s $f0, $f0 +/* CD4454 80242624 080909AD */ j .L802426B4 +/* CD4458 80242628 46220000 */ add.d $f0, $f0, $f2 +.L8024262C: +/* CD445C 8024262C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD4460 80242630 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD4464 80242634 3C014018 */ lui $at, 0x4018 +/* CD4468 80242638 44811800 */ mtc1 $at, $f3 +/* CD446C 8024263C 44801000 */ mtc1 $zero, $f2 +/* CD4470 80242640 C440002C */ lwc1 $f0, 0x2c($v0) +/* CD4474 80242644 C604003C */ lwc1 $f4, 0x3c($s0) +/* CD4478 80242648 46000021 */ cvt.d.s $f0, $f0 +/* CD447C 8024264C 46220000 */ add.d $f0, $f0, $f2 +/* CD4480 80242650 46002121 */ cvt.d.s $f4, $f4 +/* CD4484 80242654 46202001 */ sub.d $f0, $f4, $f0 +/* CD4488 80242658 462001A0 */ cvt.s.d $f6, $f0 +/* CD448C 8024265C 44800000 */ mtc1 $zero, $f0 +/* CD4490 80242660 44800800 */ mtc1 $zero, $f1 +/* CD4494 80242664 460030A1 */ cvt.d.s $f2, $f6 +/* CD4498 80242668 4620103C */ c.lt.d $f2, $f0 +/* CD449C 8024266C 00000000 */ nop +/* CD44A0 80242670 45010009 */ bc1t .L80242698 +/* CD44A4 80242674 00000000 */ nop +/* CD44A8 80242678 3C014010 */ lui $at, 0x4010 +/* CD44AC 8024267C 44810800 */ mtc1 $at, $f1 +/* CD44B0 80242680 44800000 */ mtc1 $zero, $f0 +/* CD44B4 80242684 00000000 */ nop +/* CD44B8 80242688 4622003C */ c.lt.d $f0, $f2 +/* CD44BC 8024268C 00000000 */ nop +/* CD44C0 80242690 4500000A */ bc1f .L802426BC +/* CD44C4 80242694 00000000 */ nop +.L80242698: +/* CD44C8 80242698 3C018024 */ lui $at, 0x8024 +/* CD44CC 8024269C D4225448 */ ldc1 $f2, 0x5448($at) +/* CD44D0 802426A0 46003187 */ neg.s $f6, $f6 +/* CD44D4 802426A4 46003021 */ cvt.d.s $f0, $f6 +/* CD44D8 802426A8 46220002 */ mul.d $f0, $f0, $f2 +/* CD44DC 802426AC 00000000 */ nop +/* CD44E0 802426B0 46202000 */ add.d $f0, $f4, $f0 +.L802426B4: +/* CD44E4 802426B4 46200020 */ cvt.s.d $f0, $f0 +/* CD44E8 802426B8 E600003C */ swc1 $f0, 0x3c($s0) +.L802426BC: +/* CD44EC 802426BC 8602008E */ lh $v0, 0x8e($s0) +/* CD44F0 802426C0 9603008E */ lhu $v1, 0x8e($s0) +/* CD44F4 802426C4 18400003 */ blez $v0, .L802426D4 +/* CD44F8 802426C8 2462FFFF */ addiu $v0, $v1, -1 +/* CD44FC 802426CC 080909B7 */ j .L802426DC +/* CD4500 802426D0 A602008E */ sh $v0, 0x8e($s0) +.L802426D4: +/* CD4504 802426D4 2402000C */ addiu $v0, $zero, 0xc +/* CD4508 802426D8 AE620070 */ sw $v0, 0x70($s3) +.L802426DC: +/* CD450C 802426DC 8FBF0050 */ lw $ra, 0x50($sp) +/* CD4510 802426E0 8FB3004C */ lw $s3, 0x4c($sp) +/* CD4514 802426E4 8FB20048 */ lw $s2, 0x48($sp) +/* CD4518 802426E8 8FB10044 */ lw $s1, 0x44($sp) +/* CD451C 802426EC 8FB00040 */ lw $s0, 0x40($sp) +/* CD4520 802426F0 03E00008 */ jr $ra +/* CD4524 802426F4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_802426F8_CD1E30.s b/asm/nonmatchings/world/area_flo/flo_16/func_802426F8_CD1E30.s new file mode 100644 index 0000000000..beca83fe44 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_802426F8_CD1E30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426F8_CD4528 +/* CD4528 802426F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD452C 802426FC AFB10014 */ sw $s1, 0x14($sp) +/* CD4530 80242700 0080882D */ daddu $s1, $a0, $zero +/* CD4534 80242704 AFBF0018 */ sw $ra, 0x18($sp) +/* CD4538 80242708 AFB00010 */ sw $s0, 0x10($sp) +/* CD453C 8024270C 8E300148 */ lw $s0, 0x148($s1) +/* CD4540 80242710 0C00EABB */ jal get_npc_unsafe +/* CD4544 80242714 86040008 */ lh $a0, 8($s0) +/* CD4548 80242718 0040182D */ daddu $v1, $v0, $zero +/* CD454C 8024271C 9462008E */ lhu $v0, 0x8e($v1) +/* CD4550 80242720 2442FFFF */ addiu $v0, $v0, -1 +/* CD4554 80242724 A462008E */ sh $v0, 0x8e($v1) +/* CD4558 80242728 00021400 */ sll $v0, $v0, 0x10 +/* CD455C 8024272C 1C400004 */ bgtz $v0, .L80242740 +/* CD4560 80242730 00000000 */ nop +/* CD4564 80242734 AE000074 */ sw $zero, 0x74($s0) +/* CD4568 80242738 A460008E */ sh $zero, 0x8e($v1) +/* CD456C 8024273C AE200070 */ sw $zero, 0x70($s1) +.L80242740: +/* CD4570 80242740 8FBF0018 */ lw $ra, 0x18($sp) +/* CD4574 80242744 8FB10014 */ lw $s1, 0x14($sp) +/* CD4578 80242748 8FB00010 */ lw $s0, 0x10($sp) +/* CD457C 8024274C 03E00008 */ jr $ra +/* CD4580 80242750 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80242754.s b/asm/nonmatchings/world/area_flo/flo_16/func_80242754.s new file mode 100644 index 0000000000..063a1c9a82 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80242754.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242754 +/* CD4584 80242754 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CD4588 80242758 AFB40040 */ sw $s4, 0x40($sp) +/* CD458C 8024275C 0080A02D */ daddu $s4, $a0, $zero +/* CD4590 80242760 AFBF0048 */ sw $ra, 0x48($sp) +/* CD4594 80242764 AFB50044 */ sw $s5, 0x44($sp) +/* CD4598 80242768 AFB3003C */ sw $s3, 0x3c($sp) +/* CD459C 8024276C AFB20038 */ sw $s2, 0x38($sp) +/* CD45A0 80242770 AFB10034 */ sw $s1, 0x34($sp) +/* CD45A4 80242774 AFB00030 */ sw $s0, 0x30($sp) +/* CD45A8 80242778 8E920148 */ lw $s2, 0x148($s4) +/* CD45AC 8024277C 86440008 */ lh $a0, 8($s2) +/* CD45B0 80242780 8E90000C */ lw $s0, 0xc($s4) +/* CD45B4 80242784 0C00EABB */ jal get_npc_unsafe +/* CD45B8 80242788 00A0882D */ daddu $s1, $a1, $zero +/* CD45BC 8024278C 0280202D */ daddu $a0, $s4, $zero +/* CD45C0 80242790 8E050000 */ lw $a1, ($s0) +/* CD45C4 80242794 0C0B1EAF */ jal get_variable +/* CD45C8 80242798 0040A82D */ daddu $s5, $v0, $zero +/* CD45CC 8024279C AFA00010 */ sw $zero, 0x10($sp) +/* CD45D0 802427A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD45D4 802427A4 8C630030 */ lw $v1, 0x30($v1) +/* CD45D8 802427A8 AFA30014 */ sw $v1, 0x14($sp) +/* CD45DC 802427AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD45E0 802427B0 8C63001C */ lw $v1, 0x1c($v1) +/* CD45E4 802427B4 AFA30018 */ sw $v1, 0x18($sp) +/* CD45E8 802427B8 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD45EC 802427BC 8C630024 */ lw $v1, 0x24($v1) +/* CD45F0 802427C0 AFA3001C */ sw $v1, 0x1c($sp) +/* CD45F4 802427C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD45F8 802427C8 8C630028 */ lw $v1, 0x28($v1) +/* CD45FC 802427CC 27B30010 */ addiu $s3, $sp, 0x10 +/* CD4600 802427D0 AFA30020 */ sw $v1, 0x20($sp) +/* CD4604 802427D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD4608 802427D8 3C0142F0 */ lui $at, 0x42f0 +/* CD460C 802427DC 44810000 */ mtc1 $at, $f0 +/* CD4610 802427E0 8C63002C */ lw $v1, 0x2c($v1) +/* CD4614 802427E4 0040802D */ daddu $s0, $v0, $zero +/* CD4618 802427E8 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD461C 802427EC A7A0002C */ sh $zero, 0x2c($sp) +/* CD4620 802427F0 12200007 */ beqz $s1, .L80242810 +/* CD4624 802427F4 AFA30024 */ sw $v1, 0x24($sp) +/* CD4628 802427F8 02A0202D */ daddu $a0, $s5, $zero +/* CD462C 802427FC 0240282D */ daddu $a1, $s2, $zero +/* CD4630 80242800 0280302D */ daddu $a2, $s4, $zero +/* CD4634 80242804 0C09080E */ jal func_80242038 +/* CD4638 80242808 0200382D */ daddu $a3, $s0, $zero +/* CD463C 8024280C AE800070 */ sw $zero, 0x70($s4) +.L80242810: +/* CD4640 80242810 2402FFFE */ addiu $v0, $zero, -2 +/* CD4644 80242814 A2A200AB */ sb $v0, 0xab($s5) +/* CD4648 80242818 8E4300B0 */ lw $v1, 0xb0($s2) +/* CD464C 8024281C 30620004 */ andi $v0, $v1, 4 +/* CD4650 80242820 10400007 */ beqz $v0, .L80242840 +/* CD4654 80242824 00000000 */ nop +/* CD4658 80242828 824200B4 */ lb $v0, 0xb4($s2) +/* CD465C 8024282C 1440003A */ bnez $v0, .L80242918 +/* CD4660 80242830 0000102D */ daddu $v0, $zero, $zero +/* CD4664 80242834 2402FFFB */ addiu $v0, $zero, -5 +/* CD4668 80242838 00621024 */ and $v0, $v1, $v0 +/* CD466C 8024283C AE4200B0 */ sw $v0, 0xb0($s2) +.L80242840: +/* CD4670 80242840 8E830070 */ lw $v1, 0x70($s4) +/* CD4674 80242844 2C620015 */ sltiu $v0, $v1, 0x15 +/* CD4678 80242848 10400032 */ beqz $v0, .L80242914 +/* CD467C 8024284C 00031080 */ sll $v0, $v1, 2 +/* CD4680 80242850 3C018024 */ lui $at, 0x8024 +/* CD4684 80242854 00220821 */ addu $at, $at, $v0 +/* CD4688 80242858 8C225450 */ lw $v0, 0x5450($at) +/* CD468C 8024285C 00400008 */ jr $v0 +/* CD4690 80242860 00000000 */ nop +/* CD4694 80242864 0280202D */ daddu $a0, $s4, $zero +/* CD4698 80242868 0200282D */ daddu $a1, $s0, $zero +/* CD469C 8024286C 0C090394 */ jal func_80240E50 +/* CD46A0 80242870 0260302D */ daddu $a2, $s3, $zero +/* CD46A4 80242874 0280202D */ daddu $a0, $s4, $zero +/* CD46A8 80242878 0200282D */ daddu $a1, $s0, $zero +/* CD46AC 8024287C 0C090400 */ jal func_80241000 +/* CD46B0 80242880 0260302D */ daddu $a2, $s3, $zero +/* CD46B4 80242884 08090A46 */ j .L80242918 +/* CD46B8 80242888 0000102D */ daddu $v0, $zero, $zero +/* CD46BC 8024288C 0280202D */ daddu $a0, $s4, $zero +/* CD46C0 80242890 0200282D */ daddu $a1, $s0, $zero +/* CD46C4 80242894 0C09058A */ jal func_80241628 +/* CD46C8 80242898 0260302D */ daddu $a2, $s3, $zero +/* CD46CC 8024289C 0280202D */ daddu $a0, $s4, $zero +/* CD46D0 802428A0 0200282D */ daddu $a1, $s0, $zero +/* CD46D4 802428A4 0C0905BA */ jal func_802416E8 +/* CD46D8 802428A8 0260302D */ daddu $a2, $s3, $zero +/* CD46DC 802428AC 08090A46 */ j .L80242918 +/* CD46E0 802428B0 0000102D */ daddu $v0, $zero, $zero +/* CD46E4 802428B4 0280202D */ daddu $a0, $s4, $zero +/* CD46E8 802428B8 0200282D */ daddu $a1, $s0, $zero +/* CD46EC 802428BC 0C09068B */ jal func_80241A2C +/* CD46F0 802428C0 0260302D */ daddu $a2, $s3, $zero +/* CD46F4 802428C4 0280202D */ daddu $a0, $s4, $zero +/* CD46F8 802428C8 0200282D */ daddu $a1, $s0, $zero +/* CD46FC 802428CC 0C0906A9 */ jal func_80241AA4 +/* CD4700 802428D0 0260302D */ daddu $a2, $s3, $zero +/* CD4704 802428D4 08090A46 */ j .L80242918 +/* CD4708 802428D8 0000102D */ daddu $v0, $zero, $zero +/* CD470C 802428DC 0280202D */ daddu $a0, $s4, $zero +/* CD4710 802428E0 0200282D */ daddu $a1, $s0, $zero +/* CD4714 802428E4 0C0908D2 */ jal func_80242348 +/* CD4718 802428E8 0260302D */ daddu $a2, $s3, $zero +/* CD471C 802428EC 0280202D */ daddu $a0, $s4, $zero +/* CD4720 802428F0 0200282D */ daddu $a1, $s0, $zero +/* CD4724 802428F4 0C09091E */ jal func_80242478 +/* CD4728 802428F8 0260302D */ daddu $a2, $s3, $zero +/* CD472C 802428FC 08090A46 */ j .L80242918 +/* CD4730 80242900 0000102D */ daddu $v0, $zero, $zero +/* CD4734 80242904 0280202D */ daddu $a0, $s4, $zero +/* CD4738 80242908 0200282D */ daddu $a1, $s0, $zero +/* CD473C 8024290C 0C0909BE */ jal func_802426F8 +/* CD4740 80242910 0260302D */ daddu $a2, $s3, $zero +.L80242914: +/* CD4744 80242914 0000102D */ daddu $v0, $zero, $zero +.L80242918: +/* CD4748 80242918 8FBF0048 */ lw $ra, 0x48($sp) +/* CD474C 8024291C 8FB50044 */ lw $s5, 0x44($sp) +/* CD4750 80242920 8FB40040 */ lw $s4, 0x40($sp) +/* CD4754 80242924 8FB3003C */ lw $s3, 0x3c($sp) +/* CD4758 80242928 8FB20038 */ lw $s2, 0x38($sp) +/* CD475C 8024292C 8FB10034 */ lw $s1, 0x34($sp) +/* CD4760 80242930 8FB00030 */ lw $s0, 0x30($sp) +/* CD4764 80242934 03E00008 */ jr $ra +/* CD4768 80242938 27BD0050 */ addiu $sp, $sp, 0x50 +/* CD476C 8024293C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_16/func_80242940.s b/asm/nonmatchings/world/area_flo/flo_16/func_80242940.s new file mode 100644 index 0000000000..5d473bc785 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_16/func_80242940.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242940 +/* CD4770 80242940 AC800084 */ sw $zero, 0x84($a0) +/* CD4774 80242944 3C038011 */ lui $v1, %hi(gPlayerActionState) +/* CD4778 80242948 8063F07C */ lb $v1, %lo(gPlayerActionState)($v1) +/* CD477C 8024294C 2402000E */ addiu $v0, $zero, 0xe +/* CD4780 80242950 10620004 */ beq $v1, $v0, .L80242964 +/* CD4784 80242954 24020001 */ addiu $v0, $zero, 1 +/* CD4788 80242958 24020010 */ addiu $v0, $zero, 0x10 +/* CD478C 8024295C 14620002 */ bne $v1, $v0, .L80242968 +/* CD4790 80242960 24020001 */ addiu $v0, $zero, 1 +.L80242964: +/* CD4794 80242964 AC820084 */ sw $v0, 0x84($a0) +.L80242968: +/* CD4798 80242968 03E00008 */ jr $ra +/* CD479C 8024296C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240000_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240000_CD72E0.s new file mode 100644 index 0000000000..65ab62c1b3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240000_CD72E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CD72E0 +/* CD72E0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD72E4 80240004 24040001 */ addiu $a0, $zero, 1 +/* CD72E8 80240008 0000282D */ daddu $a1, $zero, $zero +/* CD72EC 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CD72F0 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CD72F4 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CD72F8 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CD72FC 8024001C 0C01CA54 */ jal func_80072950 +/* CD7300 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CD7304 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CD7308 80240028 24020002 */ addiu $v0, $zero, 2 +/* CD730C 8024002C 03E00008 */ jr $ra +/* CD7310 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CD7314 80240034 00000000 */ nop +/* CD7318 80240038 00000000 */ nop +/* CD731C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240040_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240040_CD72E0.s new file mode 100644 index 0000000000..69633055f6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240040_CD72E0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CD7320 +/* CD7320 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD7324 80240044 AFBF0010 */ sw $ra, 0x10($sp) +/* CD7328 80240048 8C82000C */ lw $v0, 0xc($a0) +/* CD732C 8024004C 3C068016 */ lui $a2, 0x8016 +/* CD7330 80240050 84C6A556 */ lh $a2, -0x5aaa($a2) +/* CD7334 80240054 0C0B2026 */ jal set_variable +/* CD7338 80240058 8C450000 */ lw $a1, ($v0) +/* CD733C 8024005C 8FBF0010 */ lw $ra, 0x10($sp) +/* CD7340 80240060 24020002 */ addiu $v0, $zero, 2 +/* CD7344 80240064 03E00008 */ jr $ra +/* CD7348 80240068 27BD0018 */ addiu $sp, $sp, 0x18 +/* CD734C 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240070_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240070_CD72E0.s new file mode 100644 index 0000000000..8d6af1eb7d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240070_CD72E0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_CD7350 +/* CD7350 80240070 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CD7354 80240074 AFB3002C */ sw $s3, 0x2c($sp) +/* CD7358 80240078 0080982D */ daddu $s3, $a0, $zero +/* CD735C 8024007C AFBF0030 */ sw $ra, 0x30($sp) +/* CD7360 80240080 AFB20028 */ sw $s2, 0x28($sp) +/* CD7364 80240084 AFB10024 */ sw $s1, 0x24($sp) +/* CD7368 80240088 AFB00020 */ sw $s0, 0x20($sp) +/* CD736C 8024008C 8E710148 */ lw $s1, 0x148($s3) +/* CD7370 80240090 86240008 */ lh $a0, 8($s1) +/* CD7374 80240094 0C00EABB */ jal get_npc_unsafe +/* CD7378 80240098 00A0902D */ daddu $s2, $a1, $zero +/* CD737C 8024009C 8E440004 */ lw $a0, 4($s2) +/* CD7380 802400A0 0040802D */ daddu $s0, $v0, $zero +/* CD7384 802400A4 00041FC2 */ srl $v1, $a0, 0x1f +/* CD7388 802400A8 00832021 */ addu $a0, $a0, $v1 +/* CD738C 802400AC 00042043 */ sra $a0, $a0, 1 +/* CD7390 802400B0 0C00A67F */ jal rand_int +/* CD7394 802400B4 24840001 */ addiu $a0, $a0, 1 +/* CD7398 802400B8 8E430004 */ lw $v1, 4($s2) +/* CD739C 802400BC 000327C2 */ srl $a0, $v1, 0x1f +/* CD73A0 802400C0 00641821 */ addu $v1, $v1, $a0 +/* CD73A4 802400C4 00031843 */ sra $v1, $v1, 1 +/* CD73A8 802400C8 00621821 */ addu $v1, $v1, $v0 +/* CD73AC 802400CC A603008E */ sh $v1, 0x8e($s0) +/* CD73B0 802400D0 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD73B4 802400D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* CD73B8 802400D8 C4640000 */ lwc1 $f4, ($v1) +/* CD73BC 802400DC 46802120 */ cvt.s.w $f4, $f4 +/* CD73C0 802400E0 C4620008 */ lwc1 $f2, 8($v1) +/* CD73C4 802400E4 468010A0 */ cvt.s.w $f2, $f2 +/* CD73C8 802400E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD73CC 802400EC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD73D0 802400F0 44061000 */ mfc1 $a2, $f2 +/* CD73D4 802400F4 C440000C */ lwc1 $f0, 0xc($v0) +/* CD73D8 802400F8 46800020 */ cvt.s.w $f0, $f0 +/* CD73DC 802400FC E7A00014 */ swc1 $f0, 0x14($sp) +/* CD73E0 80240100 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD73E4 80240104 44052000 */ mfc1 $a1, $f4 +/* CD73E8 80240108 C4400010 */ lwc1 $f0, 0x10($v0) +/* CD73EC 8024010C 46800020 */ cvt.s.w $f0, $f0 +/* CD73F0 80240110 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD73F4 80240114 8C640018 */ lw $a0, 0x18($v1) +/* CD73F8 80240118 0C0123F5 */ jal is_point_within_region +/* CD73FC 8024011C 8E070038 */ lw $a3, 0x38($s0) +/* CD7400 80240120 1040000E */ beqz $v0, .L8024015C +/* CD7404 80240124 00000000 */ nop +/* CD7408 80240128 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD740C 8024012C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD7410 80240130 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD7414 80240134 C4460000 */ lwc1 $f6, ($v0) +/* CD7418 80240138 468031A0 */ cvt.s.w $f6, $f6 +/* CD741C 8024013C 44063000 */ mfc1 $a2, $f6 +/* CD7420 80240140 C4460008 */ lwc1 $f6, 8($v0) +/* CD7424 80240144 468031A0 */ cvt.s.w $f6, $f6 +/* CD7428 80240148 44073000 */ mfc1 $a3, $f6 +/* CD742C 8024014C 0C00A720 */ jal atan2 +/* CD7430 80240150 00000000 */ nop +/* CD7434 80240154 08090063 */ j .L8024018C +/* CD7438 80240158 E600000C */ swc1 $f0, 0xc($s0) +.L8024015C: +/* CD743C 8024015C 0C00A67F */ jal rand_int +/* CD7440 80240160 2404003C */ addiu $a0, $zero, 0x3c +/* CD7444 80240164 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD7448 80240168 44820000 */ mtc1 $v0, $f0 +/* CD744C 8024016C 00000000 */ nop +/* CD7450 80240170 46800020 */ cvt.s.w $f0, $f0 +/* CD7454 80240174 46006300 */ add.s $f12, $f12, $f0 +/* CD7458 80240178 3C0141F0 */ lui $at, 0x41f0 +/* CD745C 8024017C 44810000 */ mtc1 $at, $f0 +/* CD7460 80240180 0C00A6C9 */ jal clamp_angle +/* CD7464 80240184 46006301 */ sub.s $f12, $f12, $f0 +/* CD7468 80240188 E600000C */ swc1 $f0, 0xc($s0) +.L8024018C: +/* CD746C 8024018C 8E2200CC */ lw $v0, 0xcc($s1) +/* CD7470 80240190 8C420004 */ lw $v0, 4($v0) +/* CD7474 80240194 AE020028 */ sw $v0, 0x28($s0) +/* CD7478 80240198 AE600074 */ sw $zero, 0x74($s3) +/* CD747C 8024019C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD7480 802401A0 8C420014 */ lw $v0, 0x14($v0) +/* CD7484 802401A4 04410004 */ bgez $v0, .L802401B8 +/* CD7488 802401A8 00000000 */ nop +/* CD748C 802401AC C6400000 */ lwc1 $f0, ($s2) +/* CD7490 802401B0 08090076 */ j .L802401D8 +/* CD7494 802401B4 E6000018 */ swc1 $f0, 0x18($s0) +.L802401B8: +/* CD7498 802401B8 3C018024 */ lui $at, 0x8024 +/* CD749C 802401BC D4225300 */ ldc1 $f2, 0x5300($at) +/* CD74A0 802401C0 44820000 */ mtc1 $v0, $f0 +/* CD74A4 802401C4 00000000 */ nop +/* CD74A8 802401C8 46800021 */ cvt.d.w $f0, $f0 +/* CD74AC 802401CC 46220003 */ div.d $f0, $f0, $f2 +/* CD74B0 802401D0 46200020 */ cvt.s.d $f0, $f0 +/* CD74B4 802401D4 E6000018 */ swc1 $f0, 0x18($s0) +.L802401D8: +/* CD74B8 802401D8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD74BC 802401DC 3C014059 */ lui $at, 0x4059 +/* CD74C0 802401E0 44811800 */ mtc1 $at, $f3 +/* CD74C4 802401E4 44801000 */ mtc1 $zero, $f2 +/* CD74C8 802401E8 46000021 */ cvt.d.s $f0, $f0 +/* CD74CC 802401EC 46220002 */ mul.d $f0, $f0, $f2 +/* CD74D0 802401F0 00000000 */ nop +/* CD74D4 802401F4 24020001 */ addiu $v0, $zero, 1 +/* CD74D8 802401F8 4620018D */ trunc.w.d $f6, $f0 +/* CD74DC 802401FC E626007C */ swc1 $f6, 0x7c($s1) +/* CD74E0 80240200 AE620070 */ sw $v0, 0x70($s3) +/* CD74E4 80240204 8FBF0030 */ lw $ra, 0x30($sp) +/* CD74E8 80240208 8FB3002C */ lw $s3, 0x2c($sp) +/* CD74EC 8024020C 8FB20028 */ lw $s2, 0x28($sp) +/* CD74F0 80240210 8FB10024 */ lw $s1, 0x24($sp) +/* CD74F4 80240214 8FB00020 */ lw $s0, 0x20($sp) +/* CD74F8 80240218 03E00008 */ jr $ra +/* CD74FC 8024021C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240220_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240220_CD72E0.s new file mode 100644 index 0000000000..6faa34d14f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240220_CD72E0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240220_CD7500 +/* CD7500 80240220 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CD7504 80240224 AFB3004C */ sw $s3, 0x4c($sp) +/* CD7508 80240228 0080982D */ daddu $s3, $a0, $zero +/* CD750C 8024022C AFBF0058 */ sw $ra, 0x58($sp) +/* CD7510 80240230 AFB50054 */ sw $s5, 0x54($sp) +/* CD7514 80240234 AFB40050 */ sw $s4, 0x50($sp) +/* CD7518 80240238 AFB20048 */ sw $s2, 0x48($sp) +/* CD751C 8024023C AFB10044 */ sw $s1, 0x44($sp) +/* CD7520 80240240 AFB00040 */ sw $s0, 0x40($sp) +/* CD7524 80240244 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CD7528 80240248 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CD752C 8024024C F7B60068 */ sdc1 $f22, 0x68($sp) +/* CD7530 80240250 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CD7534 80240254 8E710148 */ lw $s1, 0x148($s3) +/* CD7538 80240258 00A0902D */ daddu $s2, $a1, $zero +/* CD753C 8024025C 86240008 */ lh $a0, 8($s1) +/* CD7540 80240260 0C00EABB */ jal get_npc_unsafe +/* CD7544 80240264 00C0A82D */ daddu $s5, $a2, $zero +/* CD7548 80240268 0040802D */ daddu $s0, $v0, $zero +/* CD754C 8024026C 0000A02D */ daddu $s4, $zero, $zero +/* CD7550 80240270 C624007C */ lwc1 $f4, 0x7c($s1) +/* CD7554 80240274 46802120 */ cvt.s.w $f4, $f4 +/* CD7558 80240278 C6220088 */ lwc1 $f2, 0x88($s1) +/* CD755C 8024027C 468010A0 */ cvt.s.w $f2, $f2 +/* CD7560 80240280 460010A1 */ cvt.d.s $f2, $f2 +/* CD7564 80240284 46002121 */ cvt.d.s $f4, $f4 +/* CD7568 80240288 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD756C 8024028C 3C014059 */ lui $at, 0x4059 +/* CD7570 80240290 44813800 */ mtc1 $at, $f7 +/* CD7574 80240294 44803000 */ mtc1 $zero, $f6 +/* CD7578 80240298 46000021 */ cvt.d.s $f0, $f0 +/* CD757C 8024029C 46260002 */ mul.d $f0, $f0, $f6 +/* CD7580 802402A0 00000000 */ nop +/* CD7584 802402A4 24020001 */ addiu $v0, $zero, 1 +/* CD7588 802402A8 8E24006C */ lw $a0, 0x6c($s1) +/* CD758C 802402AC 46261083 */ div.d $f2, $f2, $f6 +/* CD7590 802402B0 462010A0 */ cvt.s.d $f2, $f2 +/* CD7594 802402B4 46262103 */ div.d $f4, $f4, $f6 +/* CD7598 802402B8 46202520 */ cvt.s.d $f20, $f4 +/* CD759C 802402BC 30830011 */ andi $v1, $a0, 0x11 +/* CD75A0 802402C0 4620020D */ trunc.w.d $f8, $f0 +/* CD75A4 802402C4 E628007C */ swc1 $f8, 0x7c($s1) +/* CD75A8 802402C8 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD75AC 802402CC 46800020 */ cvt.s.w $f0, $f0 +/* CD75B0 802402D0 46000021 */ cvt.d.s $f0, $f0 +/* CD75B4 802402D4 46260003 */ div.d $f0, $f0, $f6 +/* CD75B8 802402D8 462006A0 */ cvt.s.d $f26, $f0 +/* CD75BC 802402DC C6200070 */ lwc1 $f0, 0x70($s1) +/* CD75C0 802402E0 46800020 */ cvt.s.w $f0, $f0 +/* CD75C4 802402E4 46000021 */ cvt.d.s $f0, $f0 +/* CD75C8 802402E8 46260003 */ div.d $f0, $f0, $f6 +/* CD75CC 802402EC 462005A0 */ cvt.s.d $f22, $f0 +/* CD75D0 802402F0 14620025 */ bne $v1, $v0, .L80240388 +/* CD75D4 802402F4 4602D600 */ add.s $f24, $f26, $f2 +/* CD75D8 802402F8 8E020000 */ lw $v0, ($s0) +/* CD75DC 802402FC 30420008 */ andi $v0, $v0, 8 +/* CD75E0 80240300 10400009 */ beqz $v0, .L80240328 +/* CD75E4 80240304 27A50028 */ addiu $a1, $sp, 0x28 +/* CD75E8 80240308 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD75EC 8024030C 4600C001 */ sub.s $f0, $f24, $f0 +/* CD75F0 80240310 4600B03C */ c.lt.s $f22, $f0 +/* CD75F4 80240314 00000000 */ nop +/* CD75F8 80240318 4500001B */ bc1f .L80240388 +/* CD75FC 8024031C 34820010 */ ori $v0, $a0, 0x10 +/* CD7600 80240320 080900E2 */ j .L80240388 +/* CD7604 80240324 AE22006C */ sw $v0, 0x6c($s1) +.L80240328: +/* CD7608 80240328 27A6002C */ addiu $a2, $sp, 0x2c +/* CD760C 8024032C C6000038 */ lwc1 $f0, 0x38($s0) +/* CD7610 80240330 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD7614 80240334 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD7618 80240338 3C01447A */ lui $at, 0x447a +/* CD761C 8024033C 44813000 */ mtc1 $at, $f6 +/* CD7620 80240340 27A20034 */ addiu $v0, $sp, 0x34 +/* CD7624 80240344 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD7628 80240348 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD762C 8024034C E7A40030 */ swc1 $f4, 0x30($sp) +/* CD7630 80240350 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD7634 80240354 AFA20010 */ sw $v0, 0x10($sp) +/* CD7638 80240358 8E040080 */ lw $a0, 0x80($s0) +/* CD763C 8024035C 0C0372DF */ jal func_800DCB7C +/* CD7640 80240360 27A70030 */ addiu $a3, $sp, 0x30 +/* CD7644 80240364 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CD7648 80240368 4600D001 */ sub.s $f0, $f26, $f0 +/* CD764C 8024036C 4600B03C */ c.lt.s $f22, $f0 +/* CD7650 80240370 00000000 */ nop +/* CD7654 80240374 45000004 */ bc1f .L80240388 +/* CD7658 80240378 00000000 */ nop +/* CD765C 8024037C 8E22006C */ lw $v0, 0x6c($s1) +/* CD7660 80240380 34420010 */ ori $v0, $v0, 0x10 +/* CD7664 80240384 AE22006C */ sw $v0, 0x6c($s1) +.L80240388: +/* CD7668 80240388 8E22006C */ lw $v0, 0x6c($s1) +/* CD766C 8024038C 24030011 */ addiu $v1, $zero, 0x11 +/* CD7670 80240390 30420011 */ andi $v0, $v0, 0x11 +/* CD7674 80240394 14430039 */ bne $v0, $v1, .L8024047C +/* CD7678 80240398 00000000 */ nop +/* CD767C 8024039C 8E020000 */ lw $v0, ($s0) +/* CD7680 802403A0 30420008 */ andi $v0, $v0, 8 +/* CD7684 802403A4 1040000A */ beqz $v0, .L802403D0 +/* CD7688 802403A8 4600C106 */ mov.s $f4, $f24 +/* CD768C 802403AC 4614C081 */ sub.s $f2, $f24, $f20 +/* CD7690 802403B0 3C018024 */ lui $at, 0x8024 +/* CD7694 802403B4 D4205308 */ ldc1 $f0, 0x5308($at) +/* CD7698 802403B8 460010A1 */ cvt.d.s $f2, $f2 +/* CD769C 802403BC 46201082 */ mul.d $f2, $f2, $f0 +/* CD76A0 802403C0 00000000 */ nop +/* CD76A4 802403C4 4600A021 */ cvt.d.s $f0, $f20 +/* CD76A8 802403C8 0809010D */ j .L80240434 +/* CD76AC 802403CC 46220000 */ add.d $f0, $f0, $f2 +.L802403D0: +/* CD76B0 802403D0 27A50028 */ addiu $a1, $sp, 0x28 +/* CD76B4 802403D4 27A6002C */ addiu $a2, $sp, 0x2c +/* CD76B8 802403D8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD76BC 802403DC C6020040 */ lwc1 $f2, 0x40($s0) +/* CD76C0 802403E0 3C01447A */ lui $at, 0x447a +/* CD76C4 802403E4 44812000 */ mtc1 $at, $f4 +/* CD76C8 802403E8 27A20034 */ addiu $v0, $sp, 0x34 +/* CD76CC 802403EC E7B4002C */ swc1 $f20, 0x2c($sp) +/* CD76D0 802403F0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD76D4 802403F4 E7A20030 */ swc1 $f2, 0x30($sp) +/* CD76D8 802403F8 E7A40034 */ swc1 $f4, 0x34($sp) +/* CD76DC 802403FC AFA20010 */ sw $v0, 0x10($sp) +/* CD76E0 80240400 8E040080 */ lw $a0, 0x80($s0) +/* CD76E4 80240404 0C0372DF */ jal func_800DCB7C +/* CD76E8 80240408 27A70030 */ addiu $a3, $sp, 0x30 +/* CD76EC 8024040C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CD76F0 80240410 461A2100 */ add.s $f4, $f4, $f26 +/* CD76F4 80240414 46142081 */ sub.s $f2, $f4, $f20 +/* CD76F8 80240418 3C018024 */ lui $at, 0x8024 +/* CD76FC 8024041C D4205310 */ ldc1 $f0, 0x5310($at) +/* CD7700 80240420 460010A1 */ cvt.d.s $f2, $f2 +/* CD7704 80240424 46201082 */ mul.d $f2, $f2, $f0 +/* CD7708 80240428 00000000 */ nop +/* CD770C 8024042C 4600A021 */ cvt.d.s $f0, $f20 +/* CD7710 80240430 46220000 */ add.d $f0, $f0, $f2 +.L80240434: +/* CD7714 80240434 46200020 */ cvt.s.d $f0, $f0 +/* CD7718 80240438 E600003C */ swc1 $f0, 0x3c($s0) +/* CD771C 8024043C C600003C */ lwc1 $f0, 0x3c($s0) +/* CD7720 80240440 46002001 */ sub.s $f0, $f4, $f0 +/* CD7724 80240444 3C013FF0 */ lui $at, 0x3ff0 +/* CD7728 80240448 44811800 */ mtc1 $at, $f3 +/* CD772C 8024044C 44801000 */ mtc1 $zero, $f2 +/* CD7730 80240450 46000005 */ abs.s $f0, $f0 +/* CD7734 80240454 46000021 */ cvt.d.s $f0, $f0 +/* CD7738 80240458 4622003C */ c.lt.d $f0, $f2 +/* CD773C 8024045C 00000000 */ nop +/* CD7740 80240460 45000036 */ bc1f .L8024053C +/* CD7744 80240464 2403FFEF */ addiu $v1, $zero, -0x11 +/* CD7748 80240468 E604003C */ swc1 $f4, 0x3c($s0) +/* CD774C 8024046C 8E22006C */ lw $v0, 0x6c($s1) +/* CD7750 80240470 00431024 */ and $v0, $v0, $v1 +/* CD7754 80240474 0809014F */ j .L8024053C +/* CD7758 80240478 AE22006C */ sw $v0, 0x6c($s1) +.L8024047C: +/* CD775C 8024047C 8E220070 */ lw $v0, 0x70($s1) +/* CD7760 80240480 1840002E */ blez $v0, .L8024053C +/* CD7764 80240484 00000000 */ nop +/* CD7768 80240488 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD776C 8024048C 0C00A8BB */ jal sin_deg +/* CD7770 80240490 46806320 */ cvt.s.w $f12, $f12 +/* CD7774 80240494 8E020000 */ lw $v0, ($s0) +/* CD7778 80240498 30420008 */ andi $v0, $v0, 8 +/* CD777C 8024049C 10400003 */ beqz $v0, .L802404AC +/* CD7780 802404A0 46000506 */ mov.s $f20, $f0 +/* CD7784 802404A4 0809013B */ j .L802404EC +/* CD7788 802404A8 0000102D */ daddu $v0, $zero, $zero +.L802404AC: +/* CD778C 802404AC 27A50028 */ addiu $a1, $sp, 0x28 +/* CD7790 802404B0 27A6002C */ addiu $a2, $sp, 0x2c +/* CD7794 802404B4 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD7798 802404B8 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD779C 802404BC C6040040 */ lwc1 $f4, 0x40($s0) +/* CD77A0 802404C0 3C01447A */ lui $at, 0x447a +/* CD77A4 802404C4 44813000 */ mtc1 $at, $f6 +/* CD77A8 802404C8 27A20034 */ addiu $v0, $sp, 0x34 +/* CD77AC 802404CC E7A00028 */ swc1 $f0, 0x28($sp) +/* CD77B0 802404D0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD77B4 802404D4 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD77B8 802404D8 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD77BC 802404DC AFA20010 */ sw $v0, 0x10($sp) +/* CD77C0 802404E0 8E040080 */ lw $a0, 0x80($s0) +/* CD77C4 802404E4 0C0372DF */ jal func_800DCB7C +/* CD77C8 802404E8 27A70030 */ addiu $a3, $sp, 0x30 +.L802404EC: +/* CD77CC 802404EC 10400007 */ beqz $v0, .L8024050C +/* CD77D0 802404F0 00000000 */ nop +/* CD77D4 802404F4 4616A082 */ mul.s $f2, $f20, $f22 +/* CD77D8 802404F8 00000000 */ nop +/* CD77DC 802404FC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD77E0 80240500 461A0000 */ add.s $f0, $f0, $f26 +/* CD77E4 80240504 08090146 */ j .L80240518 +/* CD77E8 80240508 46020000 */ add.s $f0, $f0, $f2 +.L8024050C: +/* CD77EC 8024050C 4616A002 */ mul.s $f0, $f20, $f22 +/* CD77F0 80240510 00000000 */ nop +/* CD77F4 80240514 4600C000 */ add.s $f0, $f24, $f0 +.L80240518: +/* CD77F8 80240518 E600003C */ swc1 $f0, 0x3c($s0) +/* CD77FC 8024051C 8E220074 */ lw $v0, 0x74($s1) +/* CD7800 80240520 2442000A */ addiu $v0, $v0, 0xa +/* CD7804 80240524 44826000 */ mtc1 $v0, $f12 +/* CD7808 80240528 00000000 */ nop +/* CD780C 8024052C 0C00A6C9 */ jal clamp_angle +/* CD7810 80240530 46806320 */ cvt.s.w $f12, $f12 +/* CD7814 80240534 4600020D */ trunc.w.s $f8, $f0 +/* CD7818 80240538 E6280074 */ swc1 $f8, 0x74($s1) +.L8024053C: +/* CD781C 8024053C 8E220090 */ lw $v0, 0x90($s1) +/* CD7820 80240540 1C40004A */ bgtz $v0, .L8024066C +/* CD7824 80240544 2442FFFF */ addiu $v0, $v0, -1 +/* CD7828 80240548 8E430014 */ lw $v1, 0x14($s2) +/* CD782C 8024054C 04600048 */ bltz $v1, .L80240670 +/* CD7830 80240550 00000000 */ nop +/* CD7834 80240554 8E620074 */ lw $v0, 0x74($s3) +/* CD7838 80240558 1C400042 */ bgtz $v0, .L80240664 +/* CD783C 8024055C 2442FFFF */ addiu $v0, $v0, -1 +/* CD7840 80240560 AE630074 */ sw $v1, 0x74($s3) +/* CD7844 80240564 860200A8 */ lh $v0, 0xa8($s0) +/* CD7848 80240568 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD784C 8024056C 44820000 */ mtc1 $v0, $f0 +/* CD7850 80240570 00000000 */ nop +/* CD7854 80240574 46800020 */ cvt.s.w $f0, $f0 +/* CD7858 80240578 46001080 */ add.s $f2, $f2, $f0 +/* CD785C 8024057C 3C014024 */ lui $at, 0x4024 +/* CD7860 80240580 44810800 */ mtc1 $at, $f1 +/* CD7864 80240584 44800000 */ mtc1 $zero, $f0 +/* CD7868 80240588 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD786C 8024058C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD7870 80240590 460010A1 */ cvt.d.s $f2, $f2 +/* CD7874 80240594 46201080 */ add.d $f2, $f2, $f0 +/* CD7878 80240598 C440002C */ lwc1 $f0, 0x2c($v0) +/* CD787C 8024059C 46000021 */ cvt.d.s $f0, $f0 +/* CD7880 802405A0 4622003C */ c.lt.d $f0, $f2 +/* CD7884 802405A4 00000000 */ nop +/* CD7888 802405A8 4500002C */ bc1f .L8024065C +/* CD788C 802405AC 02A0202D */ daddu $a0, $s5, $zero +/* CD7890 802405B0 AFA00010 */ sw $zero, 0x10($sp) +/* CD7894 802405B4 8E46000C */ lw $a2, 0xc($s2) +/* CD7898 802405B8 8E470010 */ lw $a3, 0x10($s2) +/* CD789C 802405BC 0C01242D */ jal func_800490B4 +/* CD78A0 802405C0 0220282D */ daddu $a1, $s1, $zero +/* CD78A4 802405C4 10400025 */ beqz $v0, .L8024065C +/* CD78A8 802405C8 0000202D */ daddu $a0, $zero, $zero +/* CD78AC 802405CC 0200282D */ daddu $a1, $s0, $zero +/* CD78B0 802405D0 0000302D */ daddu $a2, $zero, $zero +/* CD78B4 802405D4 2412000C */ addiu $s2, $zero, 0xc +/* CD78B8 802405D8 860300A8 */ lh $v1, 0xa8($s0) +/* CD78BC 802405DC 3C013F80 */ lui $at, 0x3f80 +/* CD78C0 802405E0 44810000 */ mtc1 $at, $f0 +/* CD78C4 802405E4 3C014000 */ lui $at, 0x4000 +/* CD78C8 802405E8 44811000 */ mtc1 $at, $f2 +/* CD78CC 802405EC 3C01C1A0 */ lui $at, 0xc1a0 +/* CD78D0 802405F0 44812000 */ mtc1 $at, $f4 +/* CD78D4 802405F4 44834000 */ mtc1 $v1, $f8 +/* CD78D8 802405F8 00000000 */ nop +/* CD78DC 802405FC 46804220 */ cvt.s.w $f8, $f8 +/* CD78E0 80240600 44074000 */ mfc1 $a3, $f8 +/* CD78E4 80240604 27A20038 */ addiu $v0, $sp, 0x38 +/* CD78E8 80240608 AFB2001C */ sw $s2, 0x1c($sp) +/* CD78EC 8024060C AFA20020 */ sw $v0, 0x20($sp) +/* CD78F0 80240610 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD78F4 80240614 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD78F8 80240618 0C01BFA4 */ jal fx_emote +/* CD78FC 8024061C E7A40018 */ swc1 $f4, 0x18($sp) +/* CD7900 80240620 0200202D */ daddu $a0, $s0, $zero +/* CD7904 80240624 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD7908 80240628 C480003C */ lwc1 $f0, 0x3c($a0) +/* CD790C 8024062C 3C060020 */ lui $a2, 0x20 +/* CD7910 80240630 0C012530 */ jal func_800494C0 +/* CD7914 80240634 E4800064 */ swc1 $f0, 0x64($a0) +/* CD7918 80240638 8E220018 */ lw $v0, 0x18($s1) +/* CD791C 8024063C 9442002A */ lhu $v0, 0x2a($v0) +/* CD7920 80240640 30420001 */ andi $v0, $v0, 1 +/* CD7924 80240644 10400003 */ beqz $v0, .L80240654 +/* CD7928 80240648 2402000A */ addiu $v0, $zero, 0xa +/* CD792C 8024064C 08090205 */ j .L80240814 +/* CD7930 80240650 AE620070 */ sw $v0, 0x70($s3) +.L80240654: +/* CD7934 80240654 08090205 */ j .L80240814 +/* CD7938 80240658 AE720070 */ sw $s2, 0x70($s3) +.L8024065C: +/* CD793C 8024065C 8E620074 */ lw $v0, 0x74($s3) +/* CD7940 80240660 2442FFFF */ addiu $v0, $v0, -1 +.L80240664: +/* CD7944 80240664 0809019C */ j .L80240670 +/* CD7948 80240668 AE620074 */ sw $v0, 0x74($s3) +.L8024066C: +/* CD794C 8024066C AE220090 */ sw $v0, 0x90($s1) +.L80240670: +/* CD7950 80240670 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD7954 80240674 C6000040 */ lwc1 $f0, 0x40($s0) +/* CD7958 80240678 C4620000 */ lwc1 $f2, ($v1) +/* CD795C 8024067C 468010A0 */ cvt.s.w $f2, $f2 +/* CD7960 80240680 C4640008 */ lwc1 $f4, 8($v1) +/* CD7964 80240684 46802120 */ cvt.s.w $f4, $f4 +/* CD7968 80240688 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD796C 8024068C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD7970 80240690 44051000 */ mfc1 $a1, $f2 +/* CD7974 80240694 C440000C */ lwc1 $f0, 0xc($v0) +/* CD7978 80240698 46800020 */ cvt.s.w $f0, $f0 +/* CD797C 8024069C E7A00014 */ swc1 $f0, 0x14($sp) +/* CD7980 802406A0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD7984 802406A4 44062000 */ mfc1 $a2, $f4 +/* CD7988 802406A8 C4400010 */ lwc1 $f0, 0x10($v0) +/* CD798C 802406AC 46800020 */ cvt.s.w $f0, $f0 +/* CD7990 802406B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD7994 802406B4 8C640018 */ lw $a0, 0x18($v1) +/* CD7998 802406B8 0C0123F5 */ jal is_point_within_region +/* CD799C 802406BC 8E070038 */ lw $a3, 0x38($s0) +/* CD79A0 802406C0 1040001A */ beqz $v0, .L8024072C +/* CD79A4 802406C4 00000000 */ nop +/* CD79A8 802406C8 8E060038 */ lw $a2, 0x38($s0) +/* CD79AC 802406CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD79B0 802406D0 8E070040 */ lw $a3, 0x40($s0) +/* CD79B4 802406D4 C44C0000 */ lwc1 $f12, ($v0) +/* CD79B8 802406D8 46806320 */ cvt.s.w $f12, $f12 +/* CD79BC 802406DC C44E0008 */ lwc1 $f14, 8($v0) +/* CD79C0 802406E0 0C00A7B5 */ jal dist2D +/* CD79C4 802406E4 468073A0 */ cvt.s.w $f14, $f14 +/* CD79C8 802406E8 C6020018 */ lwc1 $f2, 0x18($s0) +/* CD79CC 802406EC 4600103C */ c.lt.s $f2, $f0 +/* CD79D0 802406F0 00000000 */ nop +/* CD79D4 802406F4 4500000D */ bc1f .L8024072C +/* CD79D8 802406F8 E7A00034 */ swc1 $f0, 0x34($sp) +/* CD79DC 802406FC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD79E0 80240700 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD79E4 80240704 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD79E8 80240708 C4480000 */ lwc1 $f8, ($v0) +/* CD79EC 8024070C 46804220 */ cvt.s.w $f8, $f8 +/* CD79F0 80240710 44064000 */ mfc1 $a2, $f8 +/* CD79F4 80240714 C4480008 */ lwc1 $f8, 8($v0) +/* CD79F8 80240718 46804220 */ cvt.s.w $f8, $f8 +/* CD79FC 8024071C 44074000 */ mfc1 $a3, $f8 +/* CD7A00 80240720 0C00A720 */ jal atan2 +/* CD7A04 80240724 24140001 */ addiu $s4, $zero, 1 +/* CD7A08 80240728 E600000C */ swc1 $f0, 0xc($s0) +.L8024072C: +/* CD7A0C 8024072C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD7A10 80240730 8C43000C */ lw $v1, 0xc($v0) +/* CD7A14 80240734 8C420010 */ lw $v0, 0x10($v0) +/* CD7A18 80240738 00621825 */ or $v1, $v1, $v0 +/* CD7A1C 8024073C 00741825 */ or $v1, $v1, $s4 +/* CD7A20 80240740 10600008 */ beqz $v1, .L80240764 +/* CD7A24 80240744 00000000 */ nop +/* CD7A28 80240748 8602008C */ lh $v0, 0x8c($s0) +/* CD7A2C 8024074C 14400031 */ bnez $v0, .L80240814 +/* CD7A30 80240750 00000000 */ nop +/* CD7A34 80240754 8E050018 */ lw $a1, 0x18($s0) +/* CD7A38 80240758 8E06000C */ lw $a2, 0xc($s0) +/* CD7A3C 8024075C 0C00EA95 */ jal npc_move_heading +/* CD7A40 80240760 0200202D */ daddu $a0, $s0, $zero +.L80240764: +/* CD7A44 80240764 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD7A48 80240768 3C014059 */ lui $at, 0x4059 +/* CD7A4C 8024076C 44811800 */ mtc1 $at, $f3 +/* CD7A50 80240770 44801000 */ mtc1 $zero, $f2 +/* CD7A54 80240774 46000021 */ cvt.d.s $f0, $f0 +/* CD7A58 80240778 46220002 */ mul.d $f0, $f0, $f2 +/* CD7A5C 8024077C 00000000 */ nop +/* CD7A60 80240780 4620020D */ trunc.w.d $f8, $f0 +/* CD7A64 80240784 E628007C */ swc1 $f8, 0x7c($s1) +/* CD7A68 80240788 8E420004 */ lw $v0, 4($s2) +/* CD7A6C 8024078C 18400021 */ blez $v0, .L80240814 +/* CD7A70 80240790 00000000 */ nop +/* CD7A74 80240794 8602008E */ lh $v0, 0x8e($s0) +/* CD7A78 80240798 9603008E */ lhu $v1, 0x8e($s0) +/* CD7A7C 8024079C 18400005 */ blez $v0, .L802407B4 +/* CD7A80 802407A0 2462FFFF */ addiu $v0, $v1, -1 +/* CD7A84 802407A4 A602008E */ sh $v0, 0x8e($s0) +/* CD7A88 802407A8 00021400 */ sll $v0, $v0, 0x10 +/* CD7A8C 802407AC 1C400019 */ bgtz $v0, .L80240814 +/* CD7A90 802407B0 00000000 */ nop +.L802407B4: +/* CD7A94 802407B4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD7A98 802407B8 24020002 */ addiu $v0, $zero, 2 +/* CD7A9C 802407BC 0C00A67F */ jal rand_int +/* CD7AA0 802407C0 AE620070 */ sw $v0, 0x70($s3) +/* CD7AA4 802407C4 3C035555 */ lui $v1, 0x5555 +/* CD7AA8 802407C8 34635556 */ ori $v1, $v1, 0x5556 +/* CD7AAC 802407CC 00430018 */ mult $v0, $v1 +/* CD7AB0 802407D0 000227C3 */ sra $a0, $v0, 0x1f +/* CD7AB4 802407D4 00004010 */ mfhi $t0 +/* CD7AB8 802407D8 01042023 */ subu $a0, $t0, $a0 +/* CD7ABC 802407DC 00041840 */ sll $v1, $a0, 1 +/* CD7AC0 802407E0 00641821 */ addu $v1, $v1, $a0 +/* CD7AC4 802407E4 00431023 */ subu $v0, $v0, $v1 +/* CD7AC8 802407E8 24430002 */ addiu $v1, $v0, 2 +/* CD7ACC 802407EC AE630074 */ sw $v1, 0x74($s3) +/* CD7AD0 802407F0 8E42002C */ lw $v0, 0x2c($s2) +/* CD7AD4 802407F4 58400007 */ blezl $v0, .L80240814 +/* CD7AD8 802407F8 AE600070 */ sw $zero, 0x70($s3) +/* CD7ADC 802407FC 8E420008 */ lw $v0, 8($s2) +/* CD7AE0 80240800 18400003 */ blez $v0, .L80240810 +/* CD7AE4 80240804 28620003 */ slti $v0, $v1, 3 +/* CD7AE8 80240808 10400002 */ beqz $v0, .L80240814 +/* CD7AEC 8024080C 00000000 */ nop +.L80240810: +/* CD7AF0 80240810 AE600070 */ sw $zero, 0x70($s3) +.L80240814: +/* CD7AF4 80240814 8FBF0058 */ lw $ra, 0x58($sp) +/* CD7AF8 80240818 8FB50054 */ lw $s5, 0x54($sp) +/* CD7AFC 8024081C 8FB40050 */ lw $s4, 0x50($sp) +/* CD7B00 80240820 8FB3004C */ lw $s3, 0x4c($sp) +/* CD7B04 80240824 8FB20048 */ lw $s2, 0x48($sp) +/* CD7B08 80240828 8FB10044 */ lw $s1, 0x44($sp) +/* CD7B0C 8024082C 8FB00040 */ lw $s0, 0x40($sp) +/* CD7B10 80240830 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CD7B14 80240834 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CD7B18 80240838 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CD7B1C 8024083C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CD7B20 80240840 03E00008 */ jr $ra +/* CD7B24 80240844 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240848.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240848.s new file mode 100644 index 0000000000..a81c004fba --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240848.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240848 +/* CD7B28 80240848 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD7B2C 8024084C AFB3001C */ sw $s3, 0x1c($sp) +/* CD7B30 80240850 0080982D */ daddu $s3, $a0, $zero +/* CD7B34 80240854 AFBF0020 */ sw $ra, 0x20($sp) +/* CD7B38 80240858 AFB20018 */ sw $s2, 0x18($sp) +/* CD7B3C 8024085C AFB10014 */ sw $s1, 0x14($sp) +/* CD7B40 80240860 AFB00010 */ sw $s0, 0x10($sp) +/* CD7B44 80240864 8E720148 */ lw $s2, 0x148($s3) +/* CD7B48 80240868 86440008 */ lh $a0, 8($s2) +/* CD7B4C 8024086C 0C00EABB */ jal get_npc_unsafe +/* CD7B50 80240870 00A0882D */ daddu $s1, $a1, $zero +/* CD7B54 80240874 8E240008 */ lw $a0, 8($s1) +/* CD7B58 80240878 0040802D */ daddu $s0, $v0, $zero +/* CD7B5C 8024087C 00041FC2 */ srl $v1, $a0, 0x1f +/* CD7B60 80240880 00832021 */ addu $a0, $a0, $v1 +/* CD7B64 80240884 00042043 */ sra $a0, $a0, 1 +/* CD7B68 80240888 0C00A67F */ jal rand_int +/* CD7B6C 8024088C 24840001 */ addiu $a0, $a0, 1 +/* CD7B70 80240890 8E230008 */ lw $v1, 8($s1) +/* CD7B74 80240894 240400B4 */ addiu $a0, $zero, 0xb4 +/* CD7B78 80240898 00032FC2 */ srl $a1, $v1, 0x1f +/* CD7B7C 8024089C 00651821 */ addu $v1, $v1, $a1 +/* CD7B80 802408A0 00031843 */ sra $v1, $v1, 1 +/* CD7B84 802408A4 00621821 */ addu $v1, $v1, $v0 +/* CD7B88 802408A8 0C00A67F */ jal rand_int +/* CD7B8C 802408AC A603008E */ sh $v1, 0x8e($s0) +/* CD7B90 802408B0 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD7B94 802408B4 44820000 */ mtc1 $v0, $f0 +/* CD7B98 802408B8 00000000 */ nop +/* CD7B9C 802408BC 46800020 */ cvt.s.w $f0, $f0 +/* CD7BA0 802408C0 46006300 */ add.s $f12, $f12, $f0 +/* CD7BA4 802408C4 3C0142B4 */ lui $at, 0x42b4 +/* CD7BA8 802408C8 44810000 */ mtc1 $at, $f0 +/* CD7BAC 802408CC 0C00A6C9 */ jal clamp_angle +/* CD7BB0 802408D0 46006301 */ sub.s $f12, $f12, $f0 +/* CD7BB4 802408D4 E600000C */ swc1 $f0, 0xc($s0) +/* CD7BB8 802408D8 8E4200CC */ lw $v0, 0xcc($s2) +/* CD7BBC 802408DC 8C420000 */ lw $v0, ($v0) +/* CD7BC0 802408E0 AE020028 */ sw $v0, 0x28($s0) +/* CD7BC4 802408E4 24020003 */ addiu $v0, $zero, 3 +/* CD7BC8 802408E8 AE620070 */ sw $v0, 0x70($s3) +/* CD7BCC 802408EC 8FBF0020 */ lw $ra, 0x20($sp) +/* CD7BD0 802408F0 8FB3001C */ lw $s3, 0x1c($sp) +/* CD7BD4 802408F4 8FB20018 */ lw $s2, 0x18($sp) +/* CD7BD8 802408F8 8FB10014 */ lw $s1, 0x14($sp) +/* CD7BDC 802408FC 8FB00010 */ lw $s0, 0x10($sp) +/* CD7BE0 80240900 03E00008 */ jr $ra +/* CD7BE4 80240904 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240908_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240908_CD72E0.s new file mode 100644 index 0000000000..0ede8b2436 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240908_CD72E0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240908_CD7BE8 +/* CD7BE8 80240908 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CD7BEC 8024090C AFB3004C */ sw $s3, 0x4c($sp) +/* CD7BF0 80240910 0080982D */ daddu $s3, $a0, $zero +/* CD7BF4 80240914 AFBF0054 */ sw $ra, 0x54($sp) +/* CD7BF8 80240918 AFB40050 */ sw $s4, 0x50($sp) +/* CD7BFC 8024091C AFB20048 */ sw $s2, 0x48($sp) +/* CD7C00 80240920 AFB10044 */ sw $s1, 0x44($sp) +/* CD7C04 80240924 AFB00040 */ sw $s0, 0x40($sp) +/* CD7C08 80240928 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CD7C0C 8024092C F7B80068 */ sdc1 $f24, 0x68($sp) +/* CD7C10 80240930 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CD7C14 80240934 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CD7C18 80240938 8E710148 */ lw $s1, 0x148($s3) +/* CD7C1C 8024093C 00A0902D */ daddu $s2, $a1, $zero +/* CD7C20 80240940 86240008 */ lh $a0, 8($s1) +/* CD7C24 80240944 0C00EABB */ jal get_npc_unsafe +/* CD7C28 80240948 00C0A02D */ daddu $s4, $a2, $zero +/* CD7C2C 8024094C 0040802D */ daddu $s0, $v0, $zero +/* CD7C30 80240950 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD7C34 80240954 46800020 */ cvt.s.w $f0, $f0 +/* CD7C38 80240958 46000021 */ cvt.d.s $f0, $f0 +/* CD7C3C 8024095C 3C014059 */ lui $at, 0x4059 +/* CD7C40 80240960 44811800 */ mtc1 $at, $f3 +/* CD7C44 80240964 44801000 */ mtc1 $zero, $f2 +/* CD7C48 80240968 8602008E */ lh $v0, 0x8e($s0) +/* CD7C4C 8024096C 9603008E */ lhu $v1, 0x8e($s0) +/* CD7C50 80240970 46220003 */ div.d $f0, $f0, $f2 +/* CD7C54 80240974 46200620 */ cvt.s.d $f24, $f0 +/* CD7C58 80240978 C6200088 */ lwc1 $f0, 0x88($s1) +/* CD7C5C 8024097C 46800020 */ cvt.s.w $f0, $f0 +/* CD7C60 80240980 46000021 */ cvt.d.s $f0, $f0 +/* CD7C64 80240984 46220003 */ div.d $f0, $f0, $f2 +/* CD7C68 80240988 46200020 */ cvt.s.d $f0, $f0 +/* CD7C6C 8024098C 18400003 */ blez $v0, .L8024099C +/* CD7C70 80240990 4600C680 */ add.s $f26, $f24, $f0 +/* CD7C74 80240994 2462FFFF */ addiu $v0, $v1, -1 +/* CD7C78 80240998 A602008E */ sh $v0, 0x8e($s0) +.L8024099C: +/* CD7C7C 8024099C 8E220070 */ lw $v0, 0x70($s1) +/* CD7C80 802409A0 18400034 */ blez $v0, .L80240A74 +/* CD7C84 802409A4 00000000 */ nop +/* CD7C88 802409A8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD7C8C 802409AC 46806320 */ cvt.s.w $f12, $f12 +/* CD7C90 802409B0 44820000 */ mtc1 $v0, $f0 +/* CD7C94 802409B4 00000000 */ nop +/* CD7C98 802409B8 46800020 */ cvt.s.w $f0, $f0 +/* CD7C9C 802409BC 46000021 */ cvt.d.s $f0, $f0 +/* CD7CA0 802409C0 46220003 */ div.d $f0, $f0, $f2 +/* CD7CA4 802409C4 0C00A8BB */ jal sin_deg +/* CD7CA8 802409C8 462005A0 */ cvt.s.d $f22, $f0 +/* CD7CAC 802409CC 8E020000 */ lw $v0, ($s0) +/* CD7CB0 802409D0 30420008 */ andi $v0, $v0, 8 +/* CD7CB4 802409D4 10400003 */ beqz $v0, .L802409E4 +/* CD7CB8 802409D8 46000506 */ mov.s $f20, $f0 +/* CD7CBC 802409DC 08090289 */ j .L80240A24 +/* CD7CC0 802409E0 0000102D */ daddu $v0, $zero, $zero +.L802409E4: +/* CD7CC4 802409E4 27A50028 */ addiu $a1, $sp, 0x28 +/* CD7CC8 802409E8 27A6002C */ addiu $a2, $sp, 0x2c +/* CD7CCC 802409EC C6000038 */ lwc1 $f0, 0x38($s0) +/* CD7CD0 802409F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD7CD4 802409F4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD7CD8 802409F8 3C01447A */ lui $at, 0x447a +/* CD7CDC 802409FC 44813000 */ mtc1 $at, $f6 +/* CD7CE0 80240A00 27A20034 */ addiu $v0, $sp, 0x34 +/* CD7CE4 80240A04 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD7CE8 80240A08 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD7CEC 80240A0C E7A40030 */ swc1 $f4, 0x30($sp) +/* CD7CF0 80240A10 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD7CF4 80240A14 AFA20010 */ sw $v0, 0x10($sp) +/* CD7CF8 80240A18 8E040080 */ lw $a0, 0x80($s0) +/* CD7CFC 80240A1C 0C0372DF */ jal func_800DCB7C +/* CD7D00 80240A20 27A70030 */ addiu $a3, $sp, 0x30 +.L80240A24: +/* CD7D04 80240A24 10400007 */ beqz $v0, .L80240A44 +/* CD7D08 80240A28 00000000 */ nop +/* CD7D0C 80240A2C 4616A082 */ mul.s $f2, $f20, $f22 +/* CD7D10 80240A30 00000000 */ nop +/* CD7D14 80240A34 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD7D18 80240A38 46180000 */ add.s $f0, $f0, $f24 +/* CD7D1C 80240A3C 08090294 */ j .L80240A50 +/* CD7D20 80240A40 46020000 */ add.s $f0, $f0, $f2 +.L80240A44: +/* CD7D24 80240A44 4616A002 */ mul.s $f0, $f20, $f22 +/* CD7D28 80240A48 00000000 */ nop +/* CD7D2C 80240A4C 4600D000 */ add.s $f0, $f26, $f0 +.L80240A50: +/* CD7D30 80240A50 E600003C */ swc1 $f0, 0x3c($s0) +/* CD7D34 80240A54 8E220074 */ lw $v0, 0x74($s1) +/* CD7D38 80240A58 2442000A */ addiu $v0, $v0, 0xa +/* CD7D3C 80240A5C 44826000 */ mtc1 $v0, $f12 +/* CD7D40 80240A60 00000000 */ nop +/* CD7D44 80240A64 0C00A6C9 */ jal clamp_angle +/* CD7D48 80240A68 46806320 */ cvt.s.w $f12, $f12 +/* CD7D4C 80240A6C 4600020D */ trunc.w.s $f8, $f0 +/* CD7D50 80240A70 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A74: +/* CD7D54 80240A74 8E220090 */ lw $v0, 0x90($s1) +/* CD7D58 80240A78 1C400040 */ bgtz $v0, .L80240B7C +/* CD7D5C 80240A7C 2442FFFF */ addiu $v0, $v0, -1 +/* CD7D60 80240A80 860200A8 */ lh $v0, 0xa8($s0) +/* CD7D64 80240A84 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD7D68 80240A88 44821000 */ mtc1 $v0, $f2 +/* CD7D6C 80240A8C 00000000 */ nop +/* CD7D70 80240A90 468010A0 */ cvt.s.w $f2, $f2 +/* CD7D74 80240A94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD7D78 80240A98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD7D7C 80240A9C 46020000 */ add.s $f0, $f0, $f2 +/* CD7D80 80240AA0 3C014024 */ lui $at, 0x4024 +/* CD7D84 80240AA4 44812800 */ mtc1 $at, $f5 +/* CD7D88 80240AA8 44802000 */ mtc1 $zero, $f4 +/* CD7D8C 80240AAC C442002C */ lwc1 $f2, 0x2c($v0) +/* CD7D90 80240AB0 46000021 */ cvt.d.s $f0, $f0 +/* CD7D94 80240AB4 46240000 */ add.d $f0, $f0, $f4 +/* CD7D98 80240AB8 460010A1 */ cvt.d.s $f2, $f2 +/* CD7D9C 80240ABC 4620103C */ c.lt.d $f2, $f0 +/* CD7DA0 80240AC0 00000000 */ nop +/* CD7DA4 80240AC4 4500002E */ bc1f .L80240B80 +/* CD7DA8 80240AC8 0280202D */ daddu $a0, $s4, $zero +/* CD7DAC 80240ACC 24020001 */ addiu $v0, $zero, 1 +/* CD7DB0 80240AD0 AFA20010 */ sw $v0, 0x10($sp) +/* CD7DB4 80240AD4 8E460024 */ lw $a2, 0x24($s2) +/* CD7DB8 80240AD8 8E470028 */ lw $a3, 0x28($s2) +/* CD7DBC 80240ADC 0C01242D */ jal func_800490B4 +/* CD7DC0 80240AE0 0220282D */ daddu $a1, $s1, $zero +/* CD7DC4 80240AE4 10400026 */ beqz $v0, .L80240B80 +/* CD7DC8 80240AE8 0000202D */ daddu $a0, $zero, $zero +/* CD7DCC 80240AEC 0200282D */ daddu $a1, $s0, $zero +/* CD7DD0 80240AF0 0000302D */ daddu $a2, $zero, $zero +/* CD7DD4 80240AF4 2412000C */ addiu $s2, $zero, 0xc +/* CD7DD8 80240AF8 860300A8 */ lh $v1, 0xa8($s0) +/* CD7DDC 80240AFC 3C013F80 */ lui $at, 0x3f80 +/* CD7DE0 80240B00 44810000 */ mtc1 $at, $f0 +/* CD7DE4 80240B04 3C014000 */ lui $at, 0x4000 +/* CD7DE8 80240B08 44811000 */ mtc1 $at, $f2 +/* CD7DEC 80240B0C 3C01C1A0 */ lui $at, 0xc1a0 +/* CD7DF0 80240B10 44812000 */ mtc1 $at, $f4 +/* CD7DF4 80240B14 44834000 */ mtc1 $v1, $f8 +/* CD7DF8 80240B18 00000000 */ nop +/* CD7DFC 80240B1C 46804220 */ cvt.s.w $f8, $f8 +/* CD7E00 80240B20 44074000 */ mfc1 $a3, $f8 +/* CD7E04 80240B24 27A20038 */ addiu $v0, $sp, 0x38 +/* CD7E08 80240B28 AFB2001C */ sw $s2, 0x1c($sp) +/* CD7E0C 80240B2C AFA20020 */ sw $v0, 0x20($sp) +/* CD7E10 80240B30 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD7E14 80240B34 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD7E18 80240B38 0C01BFA4 */ jal fx_emote +/* CD7E1C 80240B3C E7A40018 */ swc1 $f4, 0x18($sp) +/* CD7E20 80240B40 0200202D */ daddu $a0, $s0, $zero +/* CD7E24 80240B44 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD7E28 80240B48 C480003C */ lwc1 $f0, 0x3c($a0) +/* CD7E2C 80240B4C 3C060020 */ lui $a2, 0x20 +/* CD7E30 80240B50 0C012530 */ jal func_800494C0 +/* CD7E34 80240B54 E4800064 */ swc1 $f0, 0x64($a0) +/* CD7E38 80240B58 8E220018 */ lw $v0, 0x18($s1) +/* CD7E3C 80240B5C 9442002A */ lhu $v0, 0x2a($v0) +/* CD7E40 80240B60 30420001 */ andi $v0, $v0, 1 +/* CD7E44 80240B64 10400003 */ beqz $v0, .L80240B74 +/* CD7E48 80240B68 2402000A */ addiu $v0, $zero, 0xa +/* CD7E4C 80240B6C 08090307 */ j .L80240C1C +/* CD7E50 80240B70 AE620070 */ sw $v0, 0x70($s3) +.L80240B74: +/* CD7E54 80240B74 08090307 */ j .L80240C1C +/* CD7E58 80240B78 AE720070 */ sw $s2, 0x70($s3) +.L80240B7C: +/* CD7E5C 80240B7C AE220090 */ sw $v0, 0x90($s1) +.L80240B80: +/* CD7E60 80240B80 8602008C */ lh $v0, 0x8c($s0) +/* CD7E64 80240B84 14400025 */ bnez $v0, .L80240C1C +/* CD7E68 80240B88 00000000 */ nop +/* CD7E6C 80240B8C 8602008E */ lh $v0, 0x8e($s0) +/* CD7E70 80240B90 1C400022 */ bgtz $v0, .L80240C1C +/* CD7E74 80240B94 00000000 */ nop +/* CD7E78 80240B98 8E620074 */ lw $v0, 0x74($s3) +/* CD7E7C 80240B9C 2442FFFF */ addiu $v0, $v0, -1 +/* CD7E80 80240BA0 1840001D */ blez $v0, .L80240C18 +/* CD7E84 80240BA4 AE620074 */ sw $v0, 0x74($s3) +/* CD7E88 80240BA8 8E220018 */ lw $v0, 0x18($s1) +/* CD7E8C 80240BAC 9442002A */ lhu $v0, 0x2a($v0) +/* CD7E90 80240BB0 30420010 */ andi $v0, $v0, 0x10 +/* CD7E94 80240BB4 14400007 */ bnez $v0, .L80240BD4 +/* CD7E98 80240BB8 00000000 */ nop +/* CD7E9C 80240BBC C600000C */ lwc1 $f0, 0xc($s0) +/* CD7EA0 80240BC0 3C014334 */ lui $at, 0x4334 +/* CD7EA4 80240BC4 44816000 */ mtc1 $at, $f12 +/* CD7EA8 80240BC8 0C00A6C9 */ jal clamp_angle +/* CD7EAC 80240BCC 460C0300 */ add.s $f12, $f0, $f12 +/* CD7EB0 80240BD0 E600000C */ swc1 $f0, 0xc($s0) +.L80240BD4: +/* CD7EB4 80240BD4 0C00A67F */ jal rand_int +/* CD7EB8 80240BD8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD7EBC 80240BDC 3C032E8B */ lui $v1, 0x2e8b +/* CD7EC0 80240BE0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CD7EC4 80240BE4 00430018 */ mult $v0, $v1 +/* CD7EC8 80240BE8 00021FC3 */ sra $v1, $v0, 0x1f +/* CD7ECC 80240BEC 00004010 */ mfhi $t0 +/* CD7ED0 80240BF0 00082043 */ sra $a0, $t0, 1 +/* CD7ED4 80240BF4 00832023 */ subu $a0, $a0, $v1 +/* CD7ED8 80240BF8 00041840 */ sll $v1, $a0, 1 +/* CD7EDC 80240BFC 00641821 */ addu $v1, $v1, $a0 +/* CD7EE0 80240C00 00031880 */ sll $v1, $v1, 2 +/* CD7EE4 80240C04 00641823 */ subu $v1, $v1, $a0 +/* CD7EE8 80240C08 00431023 */ subu $v0, $v0, $v1 +/* CD7EEC 80240C0C 24420005 */ addiu $v0, $v0, 5 +/* CD7EF0 80240C10 08090307 */ j .L80240C1C +/* CD7EF4 80240C14 A602008E */ sh $v0, 0x8e($s0) +.L80240C18: +/* CD7EF8 80240C18 AE600070 */ sw $zero, 0x70($s3) +.L80240C1C: +/* CD7EFC 80240C1C 8FBF0054 */ lw $ra, 0x54($sp) +/* CD7F00 80240C20 8FB40050 */ lw $s4, 0x50($sp) +/* CD7F04 80240C24 8FB3004C */ lw $s3, 0x4c($sp) +/* CD7F08 80240C28 8FB20048 */ lw $s2, 0x48($sp) +/* CD7F0C 80240C2C 8FB10044 */ lw $s1, 0x44($sp) +/* CD7F10 80240C30 8FB00040 */ lw $s0, 0x40($sp) +/* CD7F14 80240C34 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CD7F18 80240C38 D7B80068 */ ldc1 $f24, 0x68($sp) +/* CD7F1C 80240C3C D7B60060 */ ldc1 $f22, 0x60($sp) +/* CD7F20 80240C40 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CD7F24 80240C44 03E00008 */ jr $ra +/* CD7F28 80240C48 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240C4C_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240C4C_CD72E0.s new file mode 100644 index 0000000000..b962d08171 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240C4C_CD72E0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_CD7F2C +/* CD7F2C 80240C4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD7F30 80240C50 AFB20018 */ sw $s2, 0x18($sp) +/* CD7F34 80240C54 0080902D */ daddu $s2, $a0, $zero +/* CD7F38 80240C58 AFBF001C */ sw $ra, 0x1c($sp) +/* CD7F3C 80240C5C AFB10014 */ sw $s1, 0x14($sp) +/* CD7F40 80240C60 AFB00010 */ sw $s0, 0x10($sp) +/* CD7F44 80240C64 8E510148 */ lw $s1, 0x148($s2) +/* CD7F48 80240C68 0C00EABB */ jal get_npc_unsafe +/* CD7F4C 80240C6C 86240008 */ lh $a0, 8($s1) +/* CD7F50 80240C70 0040802D */ daddu $s0, $v0, $zero +/* CD7F54 80240C74 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD7F58 80240C78 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD7F5C 80240C7C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD7F60 80240C80 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD7F64 80240C84 A600008E */ sh $zero, 0x8e($s0) +/* CD7F68 80240C88 8C460028 */ lw $a2, 0x28($v0) +/* CD7F6C 80240C8C 0C00A720 */ jal atan2 +/* CD7F70 80240C90 8C470030 */ lw $a3, 0x30($v0) +/* CD7F74 80240C94 E600000C */ swc1 $f0, 0xc($s0) +/* CD7F78 80240C98 8E2200CC */ lw $v0, 0xcc($s1) +/* CD7F7C 80240C9C 8C420020 */ lw $v0, 0x20($v0) +/* CD7F80 80240CA0 AE020028 */ sw $v0, 0x28($s0) +/* CD7F84 80240CA4 2402000B */ addiu $v0, $zero, 0xb +/* CD7F88 80240CA8 AE420070 */ sw $v0, 0x70($s2) +/* CD7F8C 80240CAC 8FBF001C */ lw $ra, 0x1c($sp) +/* CD7F90 80240CB0 8FB20018 */ lw $s2, 0x18($sp) +/* CD7F94 80240CB4 8FB10014 */ lw $s1, 0x14($sp) +/* CD7F98 80240CB8 8FB00010 */ lw $s0, 0x10($sp) +/* CD7F9C 80240CBC 03E00008 */ jr $ra +/* CD7FA0 80240CC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240CC4_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240CC4_CD72E0.s new file mode 100644 index 0000000000..9288bb15a3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240CC4_CD72E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC4_CD7FA4 +/* CD7FA4 80240CC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD7FA8 80240CC8 AFB00010 */ sw $s0, 0x10($sp) +/* CD7FAC 80240CCC 0080802D */ daddu $s0, $a0, $zero +/* CD7FB0 80240CD0 AFBF0014 */ sw $ra, 0x14($sp) +/* CD7FB4 80240CD4 8E020148 */ lw $v0, 0x148($s0) +/* CD7FB8 80240CD8 0C00EABB */ jal get_npc_unsafe +/* CD7FBC 80240CDC 84440008 */ lh $a0, 8($v0) +/* CD7FC0 80240CE0 9443008E */ lhu $v1, 0x8e($v0) +/* CD7FC4 80240CE4 C440003C */ lwc1 $f0, 0x3c($v0) +/* CD7FC8 80240CE8 24640001 */ addiu $a0, $v1, 1 +/* CD7FCC 80240CEC 00031C00 */ sll $v1, $v1, 0x10 +/* CD7FD0 80240CF0 00031B83 */ sra $v1, $v1, 0xe +/* CD7FD4 80240CF4 A444008E */ sh $a0, 0x8e($v0) +/* CD7FD8 80240CF8 3C018024 */ lui $at, 0x8024 +/* CD7FDC 80240CFC 00230821 */ addu $at, $at, $v1 +/* CD7FE0 80240D00 C422440C */ lwc1 $f2, 0x440c($at) +/* CD7FE4 80240D04 8443008E */ lh $v1, 0x8e($v0) +/* CD7FE8 80240D08 46020000 */ add.s $f0, $f0, $f2 +/* CD7FEC 80240D0C 28630005 */ slti $v1, $v1, 5 +/* CD7FF0 80240D10 14600003 */ bnez $v1, .L80240D20 +/* CD7FF4 80240D14 E440003C */ swc1 $f0, 0x3c($v0) +/* CD7FF8 80240D18 2402000C */ addiu $v0, $zero, 0xc +/* CD7FFC 80240D1C AE020070 */ sw $v0, 0x70($s0) +.L80240D20: +/* CD8000 80240D20 8FBF0014 */ lw $ra, 0x14($sp) +/* CD8004 80240D24 8FB00010 */ lw $s0, 0x10($sp) +/* CD8008 80240D28 03E00008 */ jr $ra +/* CD800C 80240D2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240D30_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240D30_CD72E0.s new file mode 100644 index 0000000000..771c970692 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240D30_CD72E0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30_CD8010 +/* CD8010 80240D30 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD8014 80240D34 AFB3001C */ sw $s3, 0x1c($sp) +/* CD8018 80240D38 0080982D */ daddu $s3, $a0, $zero +/* CD801C 80240D3C AFBF0020 */ sw $ra, 0x20($sp) +/* CD8020 80240D40 AFB20018 */ sw $s2, 0x18($sp) +/* CD8024 80240D44 AFB10014 */ sw $s1, 0x14($sp) +/* CD8028 80240D48 AFB00010 */ sw $s0, 0x10($sp) +/* CD802C 80240D4C 8E720148 */ lw $s2, 0x148($s3) +/* CD8030 80240D50 86440008 */ lh $a0, 8($s2) +/* CD8034 80240D54 0C00EABB */ jal get_npc_unsafe +/* CD8038 80240D58 00A0802D */ daddu $s0, $a1, $zero +/* CD803C 80240D5C 0040882D */ daddu $s1, $v0, $zero +/* CD8040 80240D60 C6420080 */ lwc1 $f2, 0x80($s2) +/* CD8044 80240D64 468010A0 */ cvt.s.w $f2, $f2 +/* CD8048 80240D68 460010A1 */ cvt.d.s $f2, $f2 +/* CD804C 80240D6C C6400084 */ lwc1 $f0, 0x84($s2) +/* CD8050 80240D70 46800020 */ cvt.s.w $f0, $f0 +/* CD8054 80240D74 46000021 */ cvt.d.s $f0, $f0 +/* CD8058 80240D78 3C014059 */ lui $at, 0x4059 +/* CD805C 80240D7C 44812800 */ mtc1 $at, $f5 +/* CD8060 80240D80 44802000 */ mtc1 $zero, $f4 +/* CD8064 80240D84 8E4200CC */ lw $v0, 0xcc($s2) +/* CD8068 80240D88 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CD806C 80240D8C C62E0040 */ lwc1 $f14, 0x40($s1) +/* CD8070 80240D90 46241083 */ div.d $f2, $f2, $f4 +/* CD8074 80240D94 462010A0 */ cvt.s.d $f2, $f2 +/* CD8078 80240D98 46240003 */ div.d $f0, $f0, $f4 +/* CD807C 80240D9C 8C420020 */ lw $v0, 0x20($v0) +/* CD8080 80240DA0 46200020 */ cvt.s.d $f0, $f0 +/* CD8084 80240DA4 E622001C */ swc1 $f2, 0x1c($s1) +/* CD8088 80240DA8 E6200014 */ swc1 $f0, 0x14($s1) +/* CD808C 80240DAC AE220028 */ sw $v0, 0x28($s1) +/* CD8090 80240DB0 C6000018 */ lwc1 $f0, 0x18($s0) +/* CD8094 80240DB4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD8098 80240DB8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD809C 80240DBC E6200018 */ swc1 $f0, 0x18($s1) +/* CD80A0 80240DC0 8C460028 */ lw $a2, 0x28($v0) +/* CD80A4 80240DC4 0C00A720 */ jal atan2 +/* CD80A8 80240DC8 8C470030 */ lw $a3, 0x30($v0) +/* CD80AC 80240DCC E620000C */ swc1 $f0, 0xc($s1) +/* CD80B0 80240DD0 8E420018 */ lw $v0, 0x18($s2) +/* CD80B4 80240DD4 AE400074 */ sw $zero, 0x74($s2) +/* CD80B8 80240DD8 9442002A */ lhu $v0, 0x2a($v0) +/* CD80BC 80240DDC 30420002 */ andi $v0, $v0, 2 +/* CD80C0 80240DE0 10400005 */ beqz $v0, .L80240DF8 +/* CD80C4 80240DE4 24020003 */ addiu $v0, $zero, 3 +/* CD80C8 80240DE8 A622008E */ sh $v0, 0x8e($s1) +/* CD80CC 80240DEC 2402000D */ addiu $v0, $zero, 0xd +/* CD80D0 80240DF0 08090392 */ j .L80240E48 +/* CD80D4 80240DF4 AE620070 */ sw $v0, 0x70($s3) +.L80240DF8: +/* CD80D8 80240DF8 24030001 */ addiu $v1, $zero, 1 +/* CD80DC 80240DFC 2402000E */ addiu $v0, $zero, 0xe +/* CD80E0 80240E00 A623008E */ sh $v1, 0x8e($s1) +/* CD80E4 80240E04 AE620070 */ sw $v0, 0x70($s3) +/* CD80E8 80240E08 C6200038 */ lwc1 $f0, 0x38($s1) +/* CD80EC 80240E0C 4600018D */ trunc.w.s $f6, $f0 +/* CD80F0 80240E10 44023000 */ mfc1 $v0, $f6 +/* CD80F4 80240E14 00000000 */ nop +/* CD80F8 80240E18 A6420010 */ sh $v0, 0x10($s2) +/* CD80FC 80240E1C C620003C */ lwc1 $f0, 0x3c($s1) +/* CD8100 80240E20 4600018D */ trunc.w.s $f6, $f0 +/* CD8104 80240E24 44023000 */ mfc1 $v0, $f6 +/* CD8108 80240E28 00000000 */ nop +/* CD810C 80240E2C A6420012 */ sh $v0, 0x12($s2) +/* CD8110 80240E30 C6200040 */ lwc1 $f0, 0x40($s1) +/* CD8114 80240E34 A2430007 */ sb $v1, 7($s2) +/* CD8118 80240E38 4600018D */ trunc.w.s $f6, $f0 +/* CD811C 80240E3C 44023000 */ mfc1 $v0, $f6 +/* CD8120 80240E40 00000000 */ nop +/* CD8124 80240E44 A6420014 */ sh $v0, 0x14($s2) +.L80240E48: +/* CD8128 80240E48 8FBF0020 */ lw $ra, 0x20($sp) +/* CD812C 80240E4C 8FB3001C */ lw $s3, 0x1c($sp) +/* CD8130 80240E50 8FB20018 */ lw $s2, 0x18($sp) +/* CD8134 80240E54 8FB10014 */ lw $s1, 0x14($sp) +/* CD8138 80240E58 8FB00010 */ lw $s0, 0x10($sp) +/* CD813C 80240E5C 03E00008 */ jr $ra +/* CD8140 80240E60 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240E64.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240E64.s new file mode 100644 index 0000000000..b43a59ac21 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240E64.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E64 +/* CD8144 80240E64 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD8148 80240E68 AFB00010 */ sw $s0, 0x10($sp) +/* CD814C 80240E6C 0080802D */ daddu $s0, $a0, $zero +/* CD8150 80240E70 AFBF0014 */ sw $ra, 0x14($sp) +/* CD8154 80240E74 8E020148 */ lw $v0, 0x148($s0) +/* CD8158 80240E78 0C00EABB */ jal get_npc_unsafe +/* CD815C 80240E7C 84440008 */ lh $a0, 8($v0) +/* CD8160 80240E80 0040202D */ daddu $a0, $v0, $zero +/* CD8164 80240E84 8482008E */ lh $v0, 0x8e($a0) +/* CD8168 80240E88 9483008E */ lhu $v1, 0x8e($a0) +/* CD816C 80240E8C 18400005 */ blez $v0, .L80240EA4 +/* CD8170 80240E90 2462FFFF */ addiu $v0, $v1, -1 +/* CD8174 80240E94 A482008E */ sh $v0, 0x8e($a0) +/* CD8178 80240E98 00021400 */ sll $v0, $v0, 0x10 +/* CD817C 80240E9C 1C400006 */ bgtz $v0, .L80240EB8 +/* CD8180 80240EA0 00000000 */ nop +.L80240EA4: +/* CD8184 80240EA4 8482008C */ lh $v0, 0x8c($a0) +/* CD8188 80240EA8 14400003 */ bnez $v0, .L80240EB8 +/* CD818C 80240EAC 2402000E */ addiu $v0, $zero, 0xe +/* CD8190 80240EB0 A480008E */ sh $zero, 0x8e($a0) +/* CD8194 80240EB4 AE020070 */ sw $v0, 0x70($s0) +.L80240EB8: +/* CD8198 80240EB8 8FBF0014 */ lw $ra, 0x14($sp) +/* CD819C 80240EBC 8FB00010 */ lw $s0, 0x10($sp) +/* CD81A0 80240EC0 03E00008 */ jr $ra +/* CD81A4 80240EC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80240EC8_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80240EC8_CD72E0.s new file mode 100644 index 0000000000..2a3b2e9557 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80240EC8_CD72E0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EC8_CD81A8 +/* CD81A8 80240EC8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CD81AC 80240ECC AFB20030 */ sw $s2, 0x30($sp) +/* CD81B0 80240ED0 0080902D */ daddu $s2, $a0, $zero +/* CD81B4 80240ED4 AFBF0038 */ sw $ra, 0x38($sp) +/* CD81B8 80240ED8 AFB30034 */ sw $s3, 0x34($sp) +/* CD81BC 80240EDC AFB1002C */ sw $s1, 0x2c($sp) +/* CD81C0 80240EE0 AFB00028 */ sw $s0, 0x28($sp) +/* CD81C4 80240EE4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CD81C8 80240EE8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* CD81CC 80240EEC 8E510148 */ lw $s1, 0x148($s2) +/* CD81D0 80240EF0 86240008 */ lh $a0, 8($s1) +/* CD81D4 80240EF4 0C00EABB */ jal get_npc_unsafe +/* CD81D8 80240EF8 00A0982D */ daddu $s3, $a1, $zero +/* CD81DC 80240EFC 0040802D */ daddu $s0, $v0, $zero +/* CD81E0 80240F00 0200202D */ daddu $a0, $s0, $zero +/* CD81E4 80240F04 C6220088 */ lwc1 $f2, 0x88($s1) +/* CD81E8 80240F08 468010A0 */ cvt.s.w $f2, $f2 +/* CD81EC 80240F0C 460010A1 */ cvt.d.s $f2, $f2 +/* CD81F0 80240F10 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD81F4 80240F14 C6000014 */ lwc1 $f0, 0x14($s0) +/* CD81F8 80240F18 8E050018 */ lw $a1, 0x18($s0) +/* CD81FC 80240F1C 46002100 */ add.s $f4, $f4, $f0 +/* CD8200 80240F20 8E06000C */ lw $a2, 0xc($s0) +/* CD8204 80240F24 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD8208 80240F28 46800020 */ cvt.s.w $f0, $f0 +/* CD820C 80240F2C E604001C */ swc1 $f4, 0x1c($s0) +/* CD8210 80240F30 3C014059 */ lui $at, 0x4059 +/* CD8214 80240F34 44812800 */ mtc1 $at, $f5 +/* CD8218 80240F38 44802000 */ mtc1 $zero, $f4 +/* CD821C 80240F3C 46000021 */ cvt.d.s $f0, $f0 +/* CD8220 80240F40 46240003 */ div.d $f0, $f0, $f4 +/* CD8224 80240F44 46200520 */ cvt.s.d $f20, $f0 +/* CD8228 80240F48 46241083 */ div.d $f2, $f2, $f4 +/* CD822C 80240F4C 0C00EA95 */ jal npc_move_heading +/* CD8230 80240F50 462015A0 */ cvt.s.d $f22, $f2 +/* CD8234 80240F54 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD8238 80240F58 44801000 */ mtc1 $zero, $f2 +/* CD823C 80240F5C 44801800 */ mtc1 $zero, $f3 +/* CD8240 80240F60 46002021 */ cvt.d.s $f0, $f4 +/* CD8244 80240F64 4620103E */ c.le.d $f2, $f0 +/* CD8248 80240F68 00000000 */ nop +/* CD824C 80240F6C 45000030 */ bc1f .L80241030 +/* CD8250 80240F70 00000000 */ nop +/* CD8254 80240F74 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD8258 80240F78 46040000 */ add.s $f0, $f0, $f4 +/* CD825C 80240F7C E600003C */ swc1 $f0, 0x3c($s0) +/* CD8260 80240F80 8E2200CC */ lw $v0, 0xcc($s1) +/* CD8264 80240F84 8C420024 */ lw $v0, 0x24($v0) +/* CD8268 80240F88 AE020028 */ sw $v0, 0x28($s0) +/* CD826C 80240F8C A2200007 */ sb $zero, 7($s1) +/* CD8270 80240F90 8E020000 */ lw $v0, ($s0) +/* CD8274 80240F94 30420008 */ andi $v0, $v0, 8 +/* CD8278 80240F98 14400011 */ bnez $v0, .L80240FE0 +/* CD827C 80240F9C 0000102D */ daddu $v0, $zero, $zero +/* CD8280 80240FA0 27A50018 */ addiu $a1, $sp, 0x18 +/* CD8284 80240FA4 27A6001C */ addiu $a2, $sp, 0x1c +/* CD8288 80240FA8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD828C 80240FAC C602003C */ lwc1 $f2, 0x3c($s0) +/* CD8290 80240FB0 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD8294 80240FB4 3C01447A */ lui $at, 0x447a +/* CD8298 80240FB8 44813000 */ mtc1 $at, $f6 +/* CD829C 80240FBC 27A20024 */ addiu $v0, $sp, 0x24 +/* CD82A0 80240FC0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD82A4 80240FC4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CD82A8 80240FC8 E7A40020 */ swc1 $f4, 0x20($sp) +/* CD82AC 80240FCC E7A60024 */ swc1 $f6, 0x24($sp) +/* CD82B0 80240FD0 AFA20010 */ sw $v0, 0x10($sp) +/* CD82B4 80240FD4 8E040080 */ lw $a0, 0x80($s0) +/* CD82B8 80240FD8 0C0372DF */ jal func_800DCB7C +/* CD82BC 80240FDC 27A70020 */ addiu $a3, $sp, 0x20 +.L80240FE0: +/* CD82C0 80240FE0 1040000B */ beqz $v0, .L80241010 +/* CD82C4 80240FE4 00000000 */ nop +/* CD82C8 80240FE8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD82CC 80240FEC 46140080 */ add.s $f2, $f0, $f20 +/* CD82D0 80240FF0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD82D4 80240FF4 4600103E */ c.le.s $f2, $f0 +/* CD82D8 80240FF8 00000000 */ nop +/* CD82DC 80240FFC 4500008D */ bc1f .L80241234 +/* CD82E0 80241000 00000000 */ nop +/* CD82E4 80241004 E602003C */ swc1 $f2, 0x3c($s0) +/* CD82E8 80241008 0809048D */ j .L80241234 +/* CD82EC 8024100C AE400070 */ sw $zero, 0x70($s2) +.L80241010: +/* CD82F0 80241010 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD82F4 80241014 C6000064 */ lwc1 $f0, 0x64($s0) +/* CD82F8 80241018 4602003E */ c.le.s $f0, $f2 +/* CD82FC 8024101C 00000000 */ nop +/* CD8300 80241020 45030084 */ bc1tl .L80241234 +/* CD8304 80241024 AE400070 */ sw $zero, 0x70($s2) +/* CD8308 80241028 0809048D */ j .L80241234 +/* CD830C 8024102C 00000000 */ nop +.L80241030: +/* CD8310 80241030 4622003C */ c.lt.d $f0, $f2 +/* CD8314 80241034 00000000 */ nop +/* CD8318 80241038 4500007E */ bc1f .L80241234 +/* CD831C 8024103C 00000000 */ nop +/* CD8320 80241040 9602008E */ lhu $v0, 0x8e($s0) +/* CD8324 80241044 24420001 */ addiu $v0, $v0, 1 +/* CD8328 80241048 A602008E */ sh $v0, 0x8e($s0) +/* CD832C 8024104C 00021400 */ sll $v0, $v0, 0x10 +/* CD8330 80241050 8E630020 */ lw $v1, 0x20($s3) +/* CD8334 80241054 00021403 */ sra $v0, $v0, 0x10 +/* CD8338 80241058 0043102A */ slt $v0, $v0, $v1 +/* CD833C 8024105C 14400026 */ bnez $v0, .L802410F8 +/* CD8340 80241060 00000000 */ nop +/* CD8344 80241064 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD8348 80241068 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD834C 8024106C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD8350 80241070 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD8354 80241074 A600008E */ sh $zero, 0x8e($s0) +/* CD8358 80241078 8C460028 */ lw $a2, 0x28($v0) +/* CD835C 8024107C 0C00A720 */ jal atan2 +/* CD8360 80241080 8C470030 */ lw $a3, 0x30($v0) +/* CD8364 80241084 46000506 */ mov.s $f20, $f0 +/* CD8368 80241088 C60C000C */ lwc1 $f12, 0xc($s0) +/* CD836C 8024108C 0C00A70A */ jal get_clamped_angle_diff +/* CD8370 80241090 4600A386 */ mov.s $f14, $f20 +/* CD8374 80241094 46000086 */ mov.s $f2, $f0 +/* CD8378 80241098 8E62001C */ lw $v0, 0x1c($s3) +/* CD837C 8024109C 46001005 */ abs.s $f0, $f2 +/* CD8380 802410A0 44822000 */ mtc1 $v0, $f4 +/* CD8384 802410A4 00000000 */ nop +/* CD8388 802410A8 46802120 */ cvt.s.w $f4, $f4 +/* CD838C 802410AC 4600203C */ c.lt.s $f4, $f0 +/* CD8390 802410B0 00000000 */ nop +/* CD8394 802410B4 4500000D */ bc1f .L802410EC +/* CD8398 802410B8 00000000 */ nop +/* CD839C 802410BC 44800000 */ mtc1 $zero, $f0 +/* CD83A0 802410C0 C614000C */ lwc1 $f20, 0xc($s0) +/* CD83A4 802410C4 4600103C */ c.lt.s $f2, $f0 +/* CD83A8 802410C8 00000000 */ nop +/* CD83AC 802410CC 45000006 */ bc1f .L802410E8 +/* CD83B0 802410D0 00021023 */ negu $v0, $v0 +/* CD83B4 802410D4 44820000 */ mtc1 $v0, $f0 +/* CD83B8 802410D8 00000000 */ nop +/* CD83BC 802410DC 46800020 */ cvt.s.w $f0, $f0 +/* CD83C0 802410E0 0809043B */ j .L802410EC +/* CD83C4 802410E4 4600A500 */ add.s $f20, $f20, $f0 +.L802410E8: +/* CD83C8 802410E8 4604A500 */ add.s $f20, $f20, $f4 +.L802410EC: +/* CD83CC 802410EC 0C00A6C9 */ jal clamp_angle +/* CD83D0 802410F0 4600A306 */ mov.s $f12, $f20 +/* CD83D4 802410F4 E600000C */ swc1 $f0, 0xc($s0) +.L802410F8: +/* CD83D8 802410F8 8E020000 */ lw $v0, ($s0) +/* CD83DC 802410FC 30420008 */ andi $v0, $v0, 8 +/* CD83E0 80241100 1040000A */ beqz $v0, .L8024112C +/* CD83E4 80241104 27A50018 */ addiu $a1, $sp, 0x18 +/* CD83E8 80241108 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD83EC 8024110C C600001C */ lwc1 $f0, 0x1c($s0) +/* CD83F0 80241110 46001080 */ add.s $f2, $f2, $f0 +/* CD83F4 80241114 4616103C */ c.lt.s $f2, $f22 +/* CD83F8 80241118 00000000 */ nop +/* CD83FC 8024111C 45020045 */ bc1fl .L80241234 +/* CD8400 80241120 E602003C */ swc1 $f2, 0x3c($s0) +/* CD8404 80241124 0809048C */ j .L80241230 +/* CD8408 80241128 E616003C */ swc1 $f22, 0x3c($s0) +.L8024112C: +/* CD840C 8024112C C6000038 */ lwc1 $f0, 0x38($s0) +/* CD8410 80241130 27A6001C */ addiu $a2, $sp, 0x1c +/* CD8414 80241134 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD8418 80241138 860200A8 */ lh $v0, 0xa8($s0) +/* CD841C 8024113C C600001C */ lwc1 $f0, 0x1c($s0) +/* CD8420 80241140 C604003C */ lwc1 $f4, 0x3c($s0) +/* CD8424 80241144 44821000 */ mtc1 $v0, $f2 +/* CD8428 80241148 00000000 */ nop +/* CD842C 8024114C 468010A0 */ cvt.s.w $f2, $f2 +/* CD8430 80241150 46000005 */ abs.s $f0, $f0 +/* CD8434 80241154 46020000 */ add.s $f0, $f0, $f2 +/* CD8438 80241158 C6060040 */ lwc1 $f6, 0x40($s0) +/* CD843C 8024115C 27A20024 */ addiu $v0, $sp, 0x24 +/* CD8440 80241160 46022100 */ add.s $f4, $f4, $f2 +/* CD8444 80241164 3C014024 */ lui $at, 0x4024 +/* CD8448 80241168 44811800 */ mtc1 $at, $f3 +/* CD844C 8024116C 44801000 */ mtc1 $zero, $f2 +/* CD8450 80241170 46000021 */ cvt.d.s $f0, $f0 +/* CD8454 80241174 46220000 */ add.d $f0, $f0, $f2 +/* CD8458 80241178 E7A60020 */ swc1 $f6, 0x20($sp) +/* CD845C 8024117C E7A4001C */ swc1 $f4, 0x1c($sp) +/* CD8460 80241180 46200020 */ cvt.s.d $f0, $f0 +/* CD8464 80241184 E7A00024 */ swc1 $f0, 0x24($sp) +/* CD8468 80241188 AFA20010 */ sw $v0, 0x10($sp) +/* CD846C 8024118C 8E040080 */ lw $a0, 0x80($s0) +/* CD8470 80241190 0C0372DF */ jal func_800DCB7C +/* CD8474 80241194 27A70020 */ addiu $a3, $sp, 0x20 +/* CD8478 80241198 10400015 */ beqz $v0, .L802411F0 +/* CD847C 8024119C 00000000 */ nop +/* CD8480 802411A0 860200A8 */ lh $v0, 0xa8($s0) +/* CD8484 802411A4 C604001C */ lwc1 $f4, 0x1c($s0) +/* CD8488 802411A8 44820000 */ mtc1 $v0, $f0 +/* CD848C 802411AC 00000000 */ nop +/* CD8490 802411B0 46800020 */ cvt.s.w $f0, $f0 +/* CD8494 802411B4 46002085 */ abs.s $f2, $f4 +/* CD8498 802411B8 46020000 */ add.s $f0, $f0, $f2 +/* CD849C 802411BC C7A20024 */ lwc1 $f2, 0x24($sp) +/* CD84A0 802411C0 4600103E */ c.le.s $f2, $f0 +/* CD84A4 802411C4 00000000 */ nop +/* CD84A8 802411C8 45000005 */ bc1f .L802411E0 +/* CD84AC 802411CC 00000000 */ nop +/* CD84B0 802411D0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD84B4 802411D4 AE00001C */ sw $zero, 0x1c($s0) +/* CD84B8 802411D8 0809048D */ j .L80241234 +/* CD84BC 802411DC E600003C */ swc1 $f0, 0x3c($s0) +.L802411E0: +/* CD84C0 802411E0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD84C4 802411E4 46040000 */ add.s $f0, $f0, $f4 +/* CD84C8 802411E8 0809048D */ j .L80241234 +/* CD84CC 802411EC E600003C */ swc1 $f0, 0x3c($s0) +.L802411F0: +/* CD84D0 802411F0 C606003C */ lwc1 $f6, 0x3c($s0) +/* CD84D4 802411F4 860200A8 */ lh $v0, 0xa8($s0) +/* CD84D8 802411F8 46163081 */ sub.s $f2, $f6, $f22 +/* CD84DC 802411FC 44820000 */ mtc1 $v0, $f0 +/* CD84E0 80241200 00000000 */ nop +/* CD84E4 80241204 46800020 */ cvt.s.w $f0, $f0 +/* CD84E8 80241208 46001080 */ add.s $f2, $f2, $f0 +/* CD84EC 8024120C C604001C */ lwc1 $f4, 0x1c($s0) +/* CD84F0 80241210 46002005 */ abs.s $f0, $f4 +/* CD84F4 80241214 4602003C */ c.lt.s $f0, $f2 +/* CD84F8 80241218 00000000 */ nop +/* CD84FC 8024121C 45020005 */ bc1fl .L80241234 +/* CD8500 80241220 AE00001C */ sw $zero, 0x1c($s0) +/* CD8504 80241224 46043000 */ add.s $f0, $f6, $f4 +/* CD8508 80241228 0809048D */ j .L80241234 +/* CD850C 8024122C E600003C */ swc1 $f0, 0x3c($s0) +.L80241230: +/* CD8510 80241230 AE00001C */ sw $zero, 0x1c($s0) +.L80241234: +/* CD8514 80241234 8FBF0038 */ lw $ra, 0x38($sp) +/* CD8518 80241238 8FB30034 */ lw $s3, 0x34($sp) +/* CD851C 8024123C 8FB20030 */ lw $s2, 0x30($sp) +/* CD8520 80241240 8FB1002C */ lw $s1, 0x2c($sp) +/* CD8524 80241244 8FB00028 */ lw $s0, 0x28($sp) +/* CD8528 80241248 D7B60048 */ ldc1 $f22, 0x48($sp) +/* CD852C 8024124C D7B40040 */ ldc1 $f20, 0x40($sp) +/* CD8530 80241250 03E00008 */ jr $ra +/* CD8534 80241254 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80241258.s b/asm/nonmatchings/world/area_flo/flo_17/func_80241258.s new file mode 100644 index 0000000000..703df67bda --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80241258.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241258 +/* CD8538 80241258 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CD853C 8024125C AFB00028 */ sw $s0, 0x28($sp) +/* CD8540 80241260 00A0802D */ daddu $s0, $a1, $zero +/* CD8544 80241264 AFB1002C */ sw $s1, 0x2c($sp) +/* CD8548 80241268 00C0882D */ daddu $s1, $a2, $zero +/* CD854C 8024126C AFBF0034 */ sw $ra, 0x34($sp) +/* CD8550 80241270 AFB20030 */ sw $s2, 0x30($sp) +/* CD8554 80241274 AE200070 */ sw $zero, 0x70($s1) +/* CD8558 80241278 8C830000 */ lw $v1, ($a0) +/* CD855C 8024127C 2402FDFF */ addiu $v0, $zero, -0x201 +/* CD8560 80241280 A480008E */ sh $zero, 0x8e($a0) +/* CD8564 80241284 00621824 */ and $v1, $v1, $v0 +/* CD8568 80241288 34650800 */ ori $a1, $v1, 0x800 +/* CD856C 8024128C AC850000 */ sw $a1, ($a0) +/* CD8570 80241290 8E0200D0 */ lw $v0, 0xd0($s0) +/* CD8574 80241294 8C420034 */ lw $v0, 0x34($v0) +/* CD8578 80241298 10400003 */ beqz $v0, .L802412A8 +/* CD857C 8024129C 00E0902D */ daddu $s2, $a3, $zero +/* CD8580 802412A0 080904AC */ j .L802412B0 +/* CD8584 802412A4 34620808 */ ori $v0, $v1, 0x808 +.L802412A8: +/* CD8588 802412A8 2402FFF7 */ addiu $v0, $zero, -9 +/* CD858C 802412AC 00A21024 */ and $v0, $a1, $v0 +.L802412B0: +/* CD8590 802412B0 AC820000 */ sw $v0, ($a0) +/* CD8594 802412B4 27A20024 */ addiu $v0, $sp, 0x24 +/* CD8598 802412B8 27A50018 */ addiu $a1, $sp, 0x18 +/* CD859C 802412BC C4800038 */ lwc1 $f0, 0x38($a0) +/* CD85A0 802412C0 C482003C */ lwc1 $f2, 0x3c($a0) +/* CD85A4 802412C4 C4840040 */ lwc1 $f4, 0x40($a0) +/* CD85A8 802412C8 3C01447A */ lui $at, 0x447a +/* CD85AC 802412CC 44813000 */ mtc1 $at, $f6 +/* CD85B0 802412D0 27A6001C */ addiu $a2, $sp, 0x1c +/* CD85B4 802412D4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD85B8 802412D8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CD85BC 802412DC E7A40020 */ swc1 $f4, 0x20($sp) +/* CD85C0 802412E0 E7A60024 */ swc1 $f6, 0x24($sp) +/* CD85C4 802412E4 AFA20010 */ sw $v0, 0x10($sp) +/* CD85C8 802412E8 8C840080 */ lw $a0, 0x80($a0) +/* CD85CC 802412EC 0C0372DF */ jal func_800DCB7C +/* CD85D0 802412F0 27A70020 */ addiu $a3, $sp, 0x20 +/* CD85D4 802412F4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CD85D8 802412F8 3C014059 */ lui $at, 0x4059 +/* CD85DC 802412FC 44812800 */ mtc1 $at, $f5 +/* CD85E0 80241300 44802000 */ mtc1 $zero, $f4 +/* CD85E4 80241304 460010A1 */ cvt.d.s $f2, $f2 +/* CD85E8 80241308 46241082 */ mul.d $f2, $f2, $f4 +/* CD85EC 8024130C 00000000 */ nop +/* CD85F0 80241310 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CD85F4 80241314 46000021 */ cvt.d.s $f0, $f0 +/* CD85F8 80241318 46240002 */ mul.d $f0, $f0, $f4 +/* CD85FC 8024131C 00000000 */ nop +/* CD8600 80241320 3C013FE0 */ lui $at, 0x3fe0 +/* CD8604 80241324 44812800 */ mtc1 $at, $f5 +/* CD8608 80241328 44802000 */ mtc1 $zero, $f4 +/* CD860C 8024132C 00000000 */ nop +/* CD8610 80241330 46241080 */ add.d $f2, $f2, $f4 +/* CD8614 80241334 AE000074 */ sw $zero, 0x74($s0) +/* CD8618 80241338 46240000 */ add.d $f0, $f0, $f4 +/* CD861C 8024133C AE000090 */ sw $zero, 0x90($s0) +/* CD8620 80241340 4620120D */ trunc.w.d $f8, $f2 +/* CD8624 80241344 E6080078 */ swc1 $f8, 0x78($s0) +/* CD8628 80241348 4620020D */ trunc.w.d $f8, $f0 +/* CD862C 8024134C E6080088 */ swc1 $f8, 0x88($s0) +/* CD8630 80241350 8E420014 */ lw $v0, 0x14($s2) +/* CD8634 80241354 AE220074 */ sw $v0, 0x74($s1) +/* CD8638 80241358 8E0200B0 */ lw $v0, 0xb0($s0) +/* CD863C 8024135C 34420010 */ ori $v0, $v0, 0x10 +/* CD8640 80241360 AE0200B0 */ sw $v0, 0xb0($s0) +/* CD8644 80241364 8FBF0034 */ lw $ra, 0x34($sp) +/* CD8648 80241368 8FB20030 */ lw $s2, 0x30($sp) +/* CD864C 8024136C 8FB1002C */ lw $s1, 0x2c($sp) +/* CD8650 80241370 8FB00028 */ lw $s0, 0x28($sp) +/* CD8654 80241374 03E00008 */ jr $ra +/* CD8658 80241378 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_8024137C_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_8024137C_CD72E0.s new file mode 100644 index 0000000000..9fe700f069 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_8024137C_CD72E0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024137C_CD865C +/* CD865C 8024137C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CD8660 80241380 AFB40040 */ sw $s4, 0x40($sp) +/* CD8664 80241384 0080A02D */ daddu $s4, $a0, $zero +/* CD8668 80241388 AFBF0048 */ sw $ra, 0x48($sp) +/* CD866C 8024138C AFB50044 */ sw $s5, 0x44($sp) +/* CD8670 80241390 AFB3003C */ sw $s3, 0x3c($sp) +/* CD8674 80241394 AFB20038 */ sw $s2, 0x38($sp) +/* CD8678 80241398 AFB10034 */ sw $s1, 0x34($sp) +/* CD867C 8024139C AFB00030 */ sw $s0, 0x30($sp) +/* CD8680 802413A0 8E920148 */ lw $s2, 0x148($s4) +/* CD8684 802413A4 86440008 */ lh $a0, 8($s2) +/* CD8688 802413A8 8E90000C */ lw $s0, 0xc($s4) +/* CD868C 802413AC 0C00EABB */ jal get_npc_unsafe +/* CD8690 802413B0 00A0882D */ daddu $s1, $a1, $zero +/* CD8694 802413B4 0280202D */ daddu $a0, $s4, $zero +/* CD8698 802413B8 8E050000 */ lw $a1, ($s0) +/* CD869C 802413BC 0C0B1EAF */ jal get_variable +/* CD86A0 802413C0 0040A82D */ daddu $s5, $v0, $zero +/* CD86A4 802413C4 AFA00010 */ sw $zero, 0x10($sp) +/* CD86A8 802413C8 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD86AC 802413CC 8C630030 */ lw $v1, 0x30($v1) +/* CD86B0 802413D0 AFA30014 */ sw $v1, 0x14($sp) +/* CD86B4 802413D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD86B8 802413D8 8C63001C */ lw $v1, 0x1c($v1) +/* CD86BC 802413DC AFA30018 */ sw $v1, 0x18($sp) +/* CD86C0 802413E0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD86C4 802413E4 8C630024 */ lw $v1, 0x24($v1) +/* CD86C8 802413E8 AFA3001C */ sw $v1, 0x1c($sp) +/* CD86CC 802413EC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD86D0 802413F0 8C630028 */ lw $v1, 0x28($v1) +/* CD86D4 802413F4 27B30010 */ addiu $s3, $sp, 0x10 +/* CD86D8 802413F8 AFA30020 */ sw $v1, 0x20($sp) +/* CD86DC 802413FC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD86E0 80241400 3C0142F0 */ lui $at, 0x42f0 +/* CD86E4 80241404 44810000 */ mtc1 $at, $f0 +/* CD86E8 80241408 8C63002C */ lw $v1, 0x2c($v1) +/* CD86EC 8024140C 0040802D */ daddu $s0, $v0, $zero +/* CD86F0 80241410 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD86F4 80241414 A7A0002C */ sh $zero, 0x2c($sp) +/* CD86F8 80241418 12200006 */ beqz $s1, .L80241434 +/* CD86FC 8024141C AFA30024 */ sw $v1, 0x24($sp) +/* CD8700 80241420 02A0202D */ daddu $a0, $s5, $zero +/* CD8704 80241424 0240282D */ daddu $a1, $s2, $zero +/* CD8708 80241428 0280302D */ daddu $a2, $s4, $zero +/* CD870C 8024142C 0C090496 */ jal func_80241258 +/* CD8710 80241430 0200382D */ daddu $a3, $s0, $zero +.L80241434: +/* CD8714 80241434 2402FFFE */ addiu $v0, $zero, -2 +/* CD8718 80241438 A2A200AB */ sb $v0, 0xab($s5) +/* CD871C 8024143C 8E4300B0 */ lw $v1, 0xb0($s2) +/* CD8720 80241440 30620004 */ andi $v0, $v1, 4 +/* CD8724 80241444 10400007 */ beqz $v0, .L80241464 +/* CD8728 80241448 00000000 */ nop +/* CD872C 8024144C 824200B4 */ lb $v0, 0xb4($s2) +/* CD8730 80241450 1440003C */ bnez $v0, .L80241544 +/* CD8734 80241454 0000102D */ daddu $v0, $zero, $zero +/* CD8738 80241458 2402FFFB */ addiu $v0, $zero, -5 +/* CD873C 8024145C 00621024 */ and $v0, $v1, $v0 +/* CD8740 80241460 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241464: +/* CD8744 80241464 8E830070 */ lw $v1, 0x70($s4) +/* CD8748 80241468 2C62000F */ sltiu $v0, $v1, 0xf +/* CD874C 8024146C 10400034 */ beqz $v0, .L80241540 +/* CD8750 80241470 00031080 */ sll $v0, $v1, 2 +/* CD8754 80241474 3C018024 */ lui $at, 0x8024 +/* CD8758 80241478 00220821 */ addu $at, $at, $v0 +/* CD875C 8024147C 8C225318 */ lw $v0, 0x5318($at) +/* CD8760 80241480 00400008 */ jr $v0 +/* CD8764 80241484 00000000 */ nop +/* CD8768 80241488 0280202D */ daddu $a0, $s4, $zero +/* CD876C 8024148C 0200282D */ daddu $a1, $s0, $zero +/* CD8770 80241490 0C09001C */ jal func_80240070 +/* CD8774 80241494 0260302D */ daddu $a2, $s3, $zero +/* CD8778 80241498 0280202D */ daddu $a0, $s4, $zero +/* CD877C 8024149C 0200282D */ daddu $a1, $s0, $zero +/* CD8780 802414A0 0C090088 */ jal func_80240220 +/* CD8784 802414A4 0260302D */ daddu $a2, $s3, $zero +/* CD8788 802414A8 08090551 */ j .L80241544 +/* CD878C 802414AC 0000102D */ daddu $v0, $zero, $zero +/* CD8790 802414B0 0280202D */ daddu $a0, $s4, $zero +/* CD8794 802414B4 0200282D */ daddu $a1, $s0, $zero +/* CD8798 802414B8 0C090212 */ jal func_80240848 +/* CD879C 802414BC 0260302D */ daddu $a2, $s3, $zero +/* CD87A0 802414C0 0280202D */ daddu $a0, $s4, $zero +/* CD87A4 802414C4 0200282D */ daddu $a1, $s0, $zero +/* CD87A8 802414C8 0C090242 */ jal func_80240908 +/* CD87AC 802414CC 0260302D */ daddu $a2, $s3, $zero +/* CD87B0 802414D0 08090551 */ j .L80241544 +/* CD87B4 802414D4 0000102D */ daddu $v0, $zero, $zero +/* CD87B8 802414D8 0280202D */ daddu $a0, $s4, $zero +/* CD87BC 802414DC 0200282D */ daddu $a1, $s0, $zero +/* CD87C0 802414E0 0C090313 */ jal func_80240C4C +/* CD87C4 802414E4 0260302D */ daddu $a2, $s3, $zero +/* CD87C8 802414E8 0280202D */ daddu $a0, $s4, $zero +/* CD87CC 802414EC 0200282D */ daddu $a1, $s0, $zero +/* CD87D0 802414F0 0C090331 */ jal func_80240CC4 +/* CD87D4 802414F4 0260302D */ daddu $a2, $s3, $zero +/* CD87D8 802414F8 08090551 */ j .L80241544 +/* CD87DC 802414FC 0000102D */ daddu $v0, $zero, $zero +/* CD87E0 80241500 0280202D */ daddu $a0, $s4, $zero +/* CD87E4 80241504 0200282D */ daddu $a1, $s0, $zero +/* CD87E8 80241508 0C09034C */ jal func_80240D30 +/* CD87EC 8024150C 0260302D */ daddu $a2, $s3, $zero +/* CD87F0 80241510 08090551 */ j .L80241544 +/* CD87F4 80241514 0000102D */ daddu $v0, $zero, $zero +/* CD87F8 80241518 0280202D */ daddu $a0, $s4, $zero +/* CD87FC 8024151C 0200282D */ daddu $a1, $s0, $zero +/* CD8800 80241520 0C090399 */ jal func_80240E64 +/* CD8804 80241524 0260302D */ daddu $a2, $s3, $zero +/* CD8808 80241528 08090551 */ j .L80241544 +/* CD880C 8024152C 0000102D */ daddu $v0, $zero, $zero +/* CD8810 80241530 0280202D */ daddu $a0, $s4, $zero +/* CD8814 80241534 0200282D */ daddu $a1, $s0, $zero +/* CD8818 80241538 0C0903B2 */ jal func_80240EC8 +/* CD881C 8024153C 0260302D */ daddu $a2, $s3, $zero +.L80241540: +/* CD8820 80241540 0000102D */ daddu $v0, $zero, $zero +.L80241544: +/* CD8824 80241544 8FBF0048 */ lw $ra, 0x48($sp) +/* CD8828 80241548 8FB50044 */ lw $s5, 0x44($sp) +/* CD882C 8024154C 8FB40040 */ lw $s4, 0x40($sp) +/* CD8830 80241550 8FB3003C */ lw $s3, 0x3c($sp) +/* CD8834 80241554 8FB20038 */ lw $s2, 0x38($sp) +/* CD8838 80241558 8FB10034 */ lw $s1, 0x34($sp) +/* CD883C 8024155C 8FB00030 */ lw $s0, 0x30($sp) +/* CD8840 80241560 03E00008 */ jr $ra +/* CD8844 80241564 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80241568.s b/asm/nonmatchings/world/area_flo/flo_17/func_80241568.s new file mode 100644 index 0000000000..41480eb6ae --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80241568.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241568 +/* CD8848 80241568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CD884C 8024156C AFB00010 */ sw $s0, 0x10($sp) +/* CD8850 80241570 24100032 */ addiu $s0, $zero, 0x32 +/* CD8854 80241574 AFBF0014 */ sw $ra, 0x14($sp) +.L80241578: +/* CD8858 80241578 0C00FB3A */ jal get_enemy +/* CD885C 8024157C 0200202D */ daddu $a0, $s0, $zero +/* CD8860 80241580 8C420094 */ lw $v0, 0x94($v0) +/* CD8864 80241584 54400003 */ bnel $v0, $zero, .L80241594 +/* CD8868 80241588 26100001 */ addiu $s0, $s0, 1 +/* CD886C 8024158C 08090568 */ j .L802415A0 +/* CD8870 80241590 0200102D */ daddu $v0, $s0, $zero +.L80241594: +/* CD8874 80241594 2A020036 */ slti $v0, $s0, 0x36 +/* CD8878 80241598 1440FFF7 */ bnez $v0, .L80241578 +/* CD887C 8024159C 2402FFFF */ addiu $v0, $zero, -1 +.L802415A0: +/* CD8880 802415A0 8FBF0014 */ lw $ra, 0x14($sp) +/* CD8884 802415A4 8FB00010 */ lw $s0, 0x10($sp) +/* CD8888 802415A8 03E00008 */ jr $ra +/* CD888C 802415AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_802415B0_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_802415B0_CD72E0.s new file mode 100644 index 0000000000..fbf58d9e86 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_802415B0_CD72E0.s @@ -0,0 +1,295 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415B0_CD8890 +/* CD8890 802415B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CD8894 802415B4 AFB20048 */ sw $s2, 0x48($sp) +/* CD8898 802415B8 0080902D */ daddu $s2, $a0, $zero +/* CD889C 802415BC AFBF0064 */ sw $ra, 0x64($sp) +/* CD88A0 802415C0 AFBE0060 */ sw $fp, 0x60($sp) +/* CD88A4 802415C4 AFB7005C */ sw $s7, 0x5c($sp) +/* CD88A8 802415C8 AFB60058 */ sw $s6, 0x58($sp) +/* CD88AC 802415CC AFB50054 */ sw $s5, 0x54($sp) +/* CD88B0 802415D0 AFB40050 */ sw $s4, 0x50($sp) +/* CD88B4 802415D4 AFB3004C */ sw $s3, 0x4c($sp) +/* CD88B8 802415D8 AFB10044 */ sw $s1, 0x44($sp) +/* CD88BC 802415DC AFB00040 */ sw $s0, 0x40($sp) +/* CD88C0 802415E0 F7BA0080 */ sdc1 $f26, 0x80($sp) +/* CD88C4 802415E4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* CD88C8 802415E8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* CD88CC 802415EC F7B40068 */ sdc1 $f20, 0x68($sp) +/* CD88D0 802415F0 8E510148 */ lw $s1, 0x148($s2) +/* CD88D4 802415F4 00A0B82D */ daddu $s7, $a1, $zero +/* CD88D8 802415F8 86240008 */ lh $a0, 8($s1) +/* CD88DC 802415FC 0C00EABB */ jal get_npc_unsafe +/* CD88E0 80241600 00C0F02D */ daddu $fp, $a2, $zero +/* CD88E4 80241604 C620007C */ lwc1 $f0, 0x7c($s1) +/* CD88E8 80241608 46800020 */ cvt.s.w $f0, $f0 +/* CD88EC 8024160C 46000021 */ cvt.d.s $f0, $f0 +/* CD88F0 80241610 0040802D */ daddu $s0, $v0, $zero +/* CD88F4 80241614 3C014059 */ lui $at, 0x4059 +/* CD88F8 80241618 44813800 */ mtc1 $at, $f7 +/* CD88FC 8024161C 44803000 */ mtc1 $zero, $f6 +/* CD8900 80241620 8602008E */ lh $v0, 0x8e($s0) +/* CD8904 80241624 9603008E */ lhu $v1, 0x8e($s0) +/* CD8908 80241628 46260003 */ div.d $f0, $f0, $f6 +/* CD890C 8024162C 462005A0 */ cvt.s.d $f22, $f0 +/* CD8910 80241630 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD8914 80241634 46800020 */ cvt.s.w $f0, $f0 +/* CD8918 80241638 46000021 */ cvt.d.s $f0, $f0 +/* CD891C 8024163C 46260003 */ div.d $f0, $f0, $f6 +/* CD8920 80241640 18400003 */ blez $v0, .L80241650 +/* CD8924 80241644 46200620 */ cvt.s.d $f24, $f0 +/* CD8928 80241648 2462FFFF */ addiu $v0, $v1, -1 +/* CD892C 8024164C A602008E */ sh $v0, 0x8e($s0) +.L80241650: +/* CD8930 80241650 27B40028 */ addiu $s4, $sp, 0x28 +/* CD8934 80241654 0280282D */ daddu $a1, $s4, $zero +/* CD8938 80241658 27B5002C */ addiu $s5, $sp, 0x2c +/* CD893C 8024165C 02A0302D */ daddu $a2, $s5, $zero +/* CD8940 80241660 27B60030 */ addiu $s6, $sp, 0x30 +/* CD8944 80241664 02C0382D */ daddu $a3, $s6, $zero +/* CD8948 80241668 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD894C 8024166C C602003C */ lwc1 $f2, 0x3c($s0) +/* CD8950 80241670 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD8954 80241674 3C01447A */ lui $at, 0x447a +/* CD8958 80241678 4481D000 */ mtc1 $at, $f26 +/* CD895C 8024167C 27B30034 */ addiu $s3, $sp, 0x34 +/* CD8960 80241680 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD8964 80241684 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD8968 80241688 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD896C 8024168C E7BA0034 */ swc1 $f26, 0x34($sp) +/* CD8970 80241690 C6340070 */ lwc1 $f20, 0x70($s1) +/* CD8974 80241694 4680A520 */ cvt.s.w $f20, $f20 +/* CD8978 80241698 4600A521 */ cvt.d.s $f20, $f20 +/* CD897C 8024169C 4626A503 */ div.d $f20, $f20, $f6 +/* CD8980 802416A0 AFB30010 */ sw $s3, 0x10($sp) +/* CD8984 802416A4 8E040080 */ lw $a0, 0x80($s0) +/* CD8988 802416A8 0C0372DF */ jal func_800DCB7C +/* CD898C 802416AC 4620A520 */ cvt.s.d $f20, $f20 +/* CD8990 802416B0 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD8994 802416B4 0C00A8BB */ jal sin_deg +/* CD8998 802416B8 46806320 */ cvt.s.w $f12, $f12 +/* CD899C 802416BC 46140002 */ mul.s $f0, $f0, $f20 +/* CD89A0 802416C0 00000000 */ nop +/* CD89A4 802416C4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* CD89A8 802416C8 46181080 */ add.s $f2, $f2, $f24 +/* CD89AC 802416CC 46001080 */ add.s $f2, $f2, $f0 +/* CD89B0 802416D0 E602003C */ swc1 $f2, 0x3c($s0) +/* CD89B4 802416D4 8E220074 */ lw $v0, 0x74($s1) +/* CD89B8 802416D8 2442000C */ addiu $v0, $v0, 0xc +/* CD89BC 802416DC 44826000 */ mtc1 $v0, $f12 +/* CD89C0 802416E0 00000000 */ nop +/* CD89C4 802416E4 0C00A6C9 */ jal clamp_angle +/* CD89C8 802416E8 46806320 */ cvt.s.w $f12, $f12 +/* CD89CC 802416EC 4600020D */ trunc.w.s $f8, $f0 +/* CD89D0 802416F0 E6280074 */ swc1 $f8, 0x74($s1) +/* CD89D4 802416F4 8EE30014 */ lw $v1, 0x14($s7) +/* CD89D8 802416F8 0460003C */ bltz $v1, .L802417EC +/* CD89DC 802416FC 00000000 */ nop +/* CD89E0 80241700 8E420074 */ lw $v0, 0x74($s2) +/* CD89E4 80241704 1C400038 */ bgtz $v0, .L802417E8 +/* CD89E8 80241708 2442FFFF */ addiu $v0, $v0, -1 +/* CD89EC 8024170C 03C0202D */ daddu $a0, $fp, $zero +/* CD89F0 80241710 AE430074 */ sw $v1, 0x74($s2) +/* CD89F4 80241714 AFA00010 */ sw $zero, 0x10($sp) +/* CD89F8 80241718 8EE6000C */ lw $a2, 0xc($s7) +/* CD89FC 8024171C 8EE70010 */ lw $a3, 0x10($s7) +/* CD8A00 80241720 0C01242D */ jal func_800490B4 +/* CD8A04 80241724 0220282D */ daddu $a1, $s1, $zero +/* CD8A08 80241728 1040002D */ beqz $v0, .L802417E0 +/* CD8A0C 8024172C 0000202D */ daddu $a0, $zero, $zero +/* CD8A10 80241730 0200282D */ daddu $a1, $s0, $zero +/* CD8A14 80241734 0000302D */ daddu $a2, $zero, $zero +/* CD8A18 80241738 860300A8 */ lh $v1, 0xa8($s0) +/* CD8A1C 8024173C 3C013F80 */ lui $at, 0x3f80 +/* CD8A20 80241740 44810000 */ mtc1 $at, $f0 +/* CD8A24 80241744 3C014000 */ lui $at, 0x4000 +/* CD8A28 80241748 44811000 */ mtc1 $at, $f2 +/* CD8A2C 8024174C 3C01C1A0 */ lui $at, 0xc1a0 +/* CD8A30 80241750 44812000 */ mtc1 $at, $f4 +/* CD8A34 80241754 2402000F */ addiu $v0, $zero, 0xf +/* CD8A38 80241758 AFA2001C */ sw $v0, 0x1c($sp) +/* CD8A3C 8024175C 44834000 */ mtc1 $v1, $f8 +/* CD8A40 80241760 00000000 */ nop +/* CD8A44 80241764 46804220 */ cvt.s.w $f8, $f8 +/* CD8A48 80241768 44074000 */ mfc1 $a3, $f8 +/* CD8A4C 8024176C 27A20038 */ addiu $v0, $sp, 0x38 +/* CD8A50 80241770 AFA20020 */ sw $v0, 0x20($sp) +/* CD8A54 80241774 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD8A58 80241778 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD8A5C 8024177C 0C01BFA4 */ jal fx_emote +/* CD8A60 80241780 E7A40018 */ swc1 $f4, 0x18($sp) +/* CD8A64 80241784 0200202D */ daddu $a0, $s0, $zero +/* CD8A68 80241788 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD8A6C 8024178C 0C012530 */ jal func_800494C0 +/* CD8A70 80241790 3C060020 */ lui $a2, 0x20 +/* CD8A74 80241794 0280282D */ daddu $a1, $s4, $zero +/* CD8A78 80241798 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD8A7C 8024179C C602003C */ lwc1 $f2, 0x3c($s0) +/* CD8A80 802417A0 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD8A84 802417A4 02A0302D */ daddu $a2, $s5, $zero +/* CD8A88 802417A8 E7BA0034 */ swc1 $f26, 0x34($sp) +/* CD8A8C 802417AC E7A00028 */ swc1 $f0, 0x28($sp) +/* CD8A90 802417B0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD8A94 802417B4 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD8A98 802417B8 AFB30010 */ sw $s3, 0x10($sp) +/* CD8A9C 802417BC 8E040080 */ lw $a0, 0x80($s0) +/* CD8AA0 802417C0 0C0372DF */ jal func_800DCB7C +/* CD8AA4 802417C4 02C0382D */ daddu $a3, $s6, $zero +/* CD8AA8 802417C8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD8AAC 802417CC 46180000 */ add.s $f0, $f0, $f24 +/* CD8AB0 802417D0 2402000C */ addiu $v0, $zero, 0xc +/* CD8AB4 802417D4 E6000064 */ swc1 $f0, 0x64($s0) +/* CD8AB8 802417D8 08090675 */ j .L802419D4 +/* CD8ABC 802417DC AE420070 */ sw $v0, 0x70($s2) +.L802417E0: +/* CD8AC0 802417E0 8E420074 */ lw $v0, 0x74($s2) +/* CD8AC4 802417E4 2442FFFF */ addiu $v0, $v0, -1 +.L802417E8: +/* CD8AC8 802417E8 AE420074 */ sw $v0, 0x74($s2) +.L802417EC: +/* CD8ACC 802417EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD8AD0 802417F0 C6000040 */ lwc1 $f0, 0x40($s0) +/* CD8AD4 802417F4 C4620000 */ lwc1 $f2, ($v1) +/* CD8AD8 802417F8 468010A0 */ cvt.s.w $f2, $f2 +/* CD8ADC 802417FC C4640008 */ lwc1 $f4, 8($v1) +/* CD8AE0 80241800 46802120 */ cvt.s.w $f4, $f4 +/* CD8AE4 80241804 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD8AE8 80241808 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD8AEC 8024180C 44051000 */ mfc1 $a1, $f2 +/* CD8AF0 80241810 C440000C */ lwc1 $f0, 0xc($v0) +/* CD8AF4 80241814 46800020 */ cvt.s.w $f0, $f0 +/* CD8AF8 80241818 E7A00014 */ swc1 $f0, 0x14($sp) +/* CD8AFC 8024181C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD8B00 80241820 44062000 */ mfc1 $a2, $f4 +/* CD8B04 80241824 C4400010 */ lwc1 $f0, 0x10($v0) +/* CD8B08 80241828 46800020 */ cvt.s.w $f0, $f0 +/* CD8B0C 8024182C E7A00018 */ swc1 $f0, 0x18($sp) +/* CD8B10 80241830 8C640018 */ lw $a0, 0x18($v1) +/* CD8B14 80241834 0C0123F5 */ jal is_point_within_region +/* CD8B18 80241838 8E070038 */ lw $a3, 0x38($s0) +/* CD8B1C 8024183C 1040000D */ beqz $v0, .L80241874 +/* CD8B20 80241840 00000000 */ nop +/* CD8B24 80241844 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD8B28 80241848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD8B2C 8024184C C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD8B30 80241850 C4480000 */ lwc1 $f8, ($v0) +/* CD8B34 80241854 46804220 */ cvt.s.w $f8, $f8 +/* CD8B38 80241858 44064000 */ mfc1 $a2, $f8 +/* CD8B3C 8024185C C4480008 */ lwc1 $f8, 8($v0) +/* CD8B40 80241860 46804220 */ cvt.s.w $f8, $f8 +/* CD8B44 80241864 44074000 */ mfc1 $a3, $f8 +/* CD8B48 80241868 0C00A720 */ jal atan2 +/* CD8B4C 8024186C 00000000 */ nop +/* CD8B50 80241870 E600000C */ swc1 $f0, 0xc($s0) +.L80241874: +/* CD8B54 80241874 8602008C */ lh $v0, 0x8c($s0) +/* CD8B58 80241878 14400056 */ bnez $v0, .L802419D4 +/* CD8B5C 8024187C 00000000 */ nop +/* CD8B60 80241880 8602008E */ lh $v0, 0x8e($s0) +/* CD8B64 80241884 1840003D */ blez $v0, .L8024197C +/* CD8B68 80241888 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD8B6C 8024188C 8E050018 */ lw $a1, 0x18($s0) +/* CD8B70 80241890 8E06000C */ lw $a2, 0xc($s0) +/* CD8B74 80241894 0C00EA95 */ jal npc_move_heading +/* CD8B78 80241898 0200202D */ daddu $a0, $s0, $zero +/* CD8B7C 8024189C 8E22006C */ lw $v0, 0x6c($s1) +/* CD8B80 802418A0 30420001 */ andi $v0, $v0, 1 +/* CD8B84 802418A4 10400032 */ beqz $v0, .L80241970 +/* CD8B88 802418A8 27A50028 */ addiu $a1, $sp, 0x28 +/* CD8B8C 802418AC 27A6002C */ addiu $a2, $sp, 0x2c +/* CD8B90 802418B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD8B94 802418B4 C6020040 */ lwc1 $f2, 0x40($s0) +/* CD8B98 802418B8 3C01447A */ lui $at, 0x447a +/* CD8B9C 802418BC 44812000 */ mtc1 $at, $f4 +/* CD8BA0 802418C0 27A20034 */ addiu $v0, $sp, 0x34 +/* CD8BA4 802418C4 E7B6002C */ swc1 $f22, 0x2c($sp) +/* CD8BA8 802418C8 E7A00028 */ swc1 $f0, 0x28($sp) +/* CD8BAC 802418CC E7A20030 */ swc1 $f2, 0x30($sp) +/* CD8BB0 802418D0 E7A40034 */ swc1 $f4, 0x34($sp) +/* CD8BB4 802418D4 AFA20010 */ sw $v0, 0x10($sp) +/* CD8BB8 802418D8 8E040080 */ lw $a0, 0x80($s0) +/* CD8BBC 802418DC 0C0372DF */ jal func_800DCB7C +/* CD8BC0 802418E0 27A70030 */ addiu $a3, $sp, 0x30 +/* CD8BC4 802418E4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CD8BC8 802418E8 46180100 */ add.s $f4, $f0, $f24 +/* CD8BCC 802418EC 3C014000 */ lui $at, 0x4000 +/* CD8BD0 802418F0 44813800 */ mtc1 $at, $f7 +/* CD8BD4 802418F4 44803000 */ mtc1 $zero, $f6 +/* CD8BD8 802418F8 46162001 */ sub.s $f0, $f4, $f22 +/* CD8BDC 802418FC E7A4002C */ swc1 $f4, 0x2c($sp) +/* CD8BE0 80241900 460000A1 */ cvt.d.s $f2, $f0 +/* CD8BE4 80241904 4622303C */ c.lt.d $f6, $f2 +/* CD8BE8 80241908 00000000 */ nop +/* CD8BEC 8024190C 45000005 */ bc1f .L80241924 +/* CD8BF0 80241910 E7A00034 */ swc1 $f0, 0x34($sp) +/* CD8BF4 80241914 4600B021 */ cvt.d.s $f0, $f22 +/* CD8BF8 80241918 46260000 */ add.d $f0, $f0, $f6 +/* CD8BFC 8024191C 08090654 */ j .L80241950 +/* CD8C00 80241920 462005A0 */ cvt.s.d $f22, $f0 +.L80241924: +/* CD8C04 80241924 3C01C000 */ lui $at, 0xc000 +/* CD8C08 80241928 44810800 */ mtc1 $at, $f1 +/* CD8C0C 8024192C 44800000 */ mtc1 $zero, $f0 +/* CD8C10 80241930 00000000 */ nop +/* CD8C14 80241934 4620103C */ c.lt.d $f2, $f0 +/* CD8C18 80241938 00000000 */ nop +/* CD8C1C 8024193C 45020004 */ bc1fl .L80241950 +/* CD8C20 80241940 46002586 */ mov.s $f22, $f4 +/* CD8C24 80241944 4600B021 */ cvt.d.s $f0, $f22 +/* CD8C28 80241948 46260001 */ sub.d $f0, $f0, $f6 +/* CD8C2C 8024194C 462005A0 */ cvt.s.d $f22, $f0 +.L80241950: +/* CD8C30 80241950 3C014059 */ lui $at, 0x4059 +/* CD8C34 80241954 44811800 */ mtc1 $at, $f3 +/* CD8C38 80241958 44801000 */ mtc1 $zero, $f2 +/* CD8C3C 8024195C 4600B021 */ cvt.d.s $f0, $f22 +/* CD8C40 80241960 46220002 */ mul.d $f0, $f0, $f2 +/* CD8C44 80241964 00000000 */ nop +/* CD8C48 80241968 4620020D */ trunc.w.d $f8, $f0 +/* CD8C4C 8024196C E628007C */ swc1 $f8, 0x7c($s1) +.L80241970: +/* CD8C50 80241970 8602008E */ lh $v0, 0x8e($s0) +/* CD8C54 80241974 1C400017 */ bgtz $v0, .L802419D4 +/* CD8C58 80241978 240403E8 */ addiu $a0, $zero, 0x3e8 +.L8024197C: +/* CD8C5C 8024197C 24020002 */ addiu $v0, $zero, 2 +/* CD8C60 80241980 0C00A67F */ jal rand_int +/* CD8C64 80241984 AE420070 */ sw $v0, 0x70($s2) +/* CD8C68 80241988 3C035555 */ lui $v1, 0x5555 +/* CD8C6C 8024198C 34635556 */ ori $v1, $v1, 0x5556 +/* CD8C70 80241990 00430018 */ mult $v0, $v1 +/* CD8C74 80241994 000227C3 */ sra $a0, $v0, 0x1f +/* CD8C78 80241998 00004010 */ mfhi $t0 +/* CD8C7C 8024199C 01042023 */ subu $a0, $t0, $a0 +/* CD8C80 802419A0 00041840 */ sll $v1, $a0, 1 +/* CD8C84 802419A4 00641821 */ addu $v1, $v1, $a0 +/* CD8C88 802419A8 00431023 */ subu $v0, $v0, $v1 +/* CD8C8C 802419AC 24430002 */ addiu $v1, $v0, 2 +/* CD8C90 802419B0 AE430074 */ sw $v1, 0x74($s2) +/* CD8C94 802419B4 8EE2002C */ lw $v0, 0x2c($s7) +/* CD8C98 802419B8 58400006 */ blezl $v0, .L802419D4 +/* CD8C9C 802419BC AE400070 */ sw $zero, 0x70($s2) +/* CD8CA0 802419C0 8EE20004 */ lw $v0, 4($s7) +/* CD8CA4 802419C4 58400003 */ blezl $v0, .L802419D4 +/* CD8CA8 802419C8 AE400070 */ sw $zero, 0x70($s2) +/* CD8CAC 802419CC 50600001 */ beql $v1, $zero, .L802419D4 +/* CD8CB0 802419D0 AE400070 */ sw $zero, 0x70($s2) +.L802419D4: +/* CD8CB4 802419D4 8FBF0064 */ lw $ra, 0x64($sp) +/* CD8CB8 802419D8 8FBE0060 */ lw $fp, 0x60($sp) +/* CD8CBC 802419DC 8FB7005C */ lw $s7, 0x5c($sp) +/* CD8CC0 802419E0 8FB60058 */ lw $s6, 0x58($sp) +/* CD8CC4 802419E4 8FB50054 */ lw $s5, 0x54($sp) +/* CD8CC8 802419E8 8FB40050 */ lw $s4, 0x50($sp) +/* CD8CCC 802419EC 8FB3004C */ lw $s3, 0x4c($sp) +/* CD8CD0 802419F0 8FB20048 */ lw $s2, 0x48($sp) +/* CD8CD4 802419F4 8FB10044 */ lw $s1, 0x44($sp) +/* CD8CD8 802419F8 8FB00040 */ lw $s0, 0x40($sp) +/* CD8CDC 802419FC D7BA0080 */ ldc1 $f26, 0x80($sp) +/* CD8CE0 80241A00 D7B80078 */ ldc1 $f24, 0x78($sp) +/* CD8CE4 80241A04 D7B60070 */ ldc1 $f22, 0x70($sp) +/* CD8CE8 80241A08 D7B40068 */ ldc1 $f20, 0x68($sp) +/* CD8CEC 80241A0C 03E00008 */ jr $ra +/* CD8CF0 80241A10 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80241A14.s b/asm/nonmatchings/world/area_flo/flo_17/func_80241A14.s new file mode 100644 index 0000000000..e3ae5b3fc1 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80241A14.s @@ -0,0 +1,156 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A14 +/* CD8CF4 80241A14 27BDFF98 */ addiu $sp, $sp, -0x68 +/* CD8CF8 80241A18 AFB20048 */ sw $s2, 0x48($sp) +/* CD8CFC 80241A1C 0080902D */ daddu $s2, $a0, $zero +/* CD8D00 80241A20 AFBF0054 */ sw $ra, 0x54($sp) +/* CD8D04 80241A24 AFB40050 */ sw $s4, 0x50($sp) +/* CD8D08 80241A28 AFB3004C */ sw $s3, 0x4c($sp) +/* CD8D0C 80241A2C AFB10044 */ sw $s1, 0x44($sp) +/* CD8D10 80241A30 AFB00040 */ sw $s0, 0x40($sp) +/* CD8D14 80241A34 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CD8D18 80241A38 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CD8D1C 80241A3C 8E510148 */ lw $s1, 0x148($s2) +/* CD8D20 80241A40 00A0982D */ daddu $s3, $a1, $zero +/* CD8D24 80241A44 86240008 */ lh $a0, 8($s1) +/* CD8D28 80241A48 0C00EABB */ jal get_npc_unsafe +/* CD8D2C 80241A4C 00C0A02D */ daddu $s4, $a2, $zero +/* CD8D30 80241A50 0040802D */ daddu $s0, $v0, $zero +/* CD8D34 80241A54 C6200078 */ lwc1 $f0, 0x78($s1) +/* CD8D38 80241A58 46800020 */ cvt.s.w $f0, $f0 +/* CD8D3C 80241A5C 46000021 */ cvt.d.s $f0, $f0 +/* CD8D40 80241A60 3C014059 */ lui $at, 0x4059 +/* CD8D44 80241A64 44814800 */ mtc1 $at, $f9 +/* CD8D48 80241A68 44804000 */ mtc1 $zero, $f8 +/* CD8D4C 80241A6C 8602008E */ lh $v0, 0x8e($s0) +/* CD8D50 80241A70 9603008E */ lhu $v1, 0x8e($s0) +/* CD8D54 80241A74 46280003 */ div.d $f0, $f0, $f8 +/* CD8D58 80241A78 18400003 */ blez $v0, .L80241A88 +/* CD8D5C 80241A7C 462005A0 */ cvt.s.d $f22, $f0 +/* CD8D60 80241A80 2462FFFF */ addiu $v0, $v1, -1 +/* CD8D64 80241A84 A602008E */ sh $v0, 0x8e($s0) +.L80241A88: +/* CD8D68 80241A88 27A50028 */ addiu $a1, $sp, 0x28 +/* CD8D6C 80241A8C 27A6002C */ addiu $a2, $sp, 0x2c +/* CD8D70 80241A90 27A70030 */ addiu $a3, $sp, 0x30 +/* CD8D74 80241A94 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD8D78 80241A98 C602003C */ lwc1 $f2, 0x3c($s0) +/* CD8D7C 80241A9C C6040040 */ lwc1 $f4, 0x40($s0) +/* CD8D80 80241AA0 3C01447A */ lui $at, 0x447a +/* CD8D84 80241AA4 44813000 */ mtc1 $at, $f6 +/* CD8D88 80241AA8 27A20034 */ addiu $v0, $sp, 0x34 +/* CD8D8C 80241AAC E7A00028 */ swc1 $f0, 0x28($sp) +/* CD8D90 80241AB0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CD8D94 80241AB4 E7A40030 */ swc1 $f4, 0x30($sp) +/* CD8D98 80241AB8 E7A60034 */ swc1 $f6, 0x34($sp) +/* CD8D9C 80241ABC C6340070 */ lwc1 $f20, 0x70($s1) +/* CD8DA0 80241AC0 4680A520 */ cvt.s.w $f20, $f20 +/* CD8DA4 80241AC4 4600A521 */ cvt.d.s $f20, $f20 +/* CD8DA8 80241AC8 4628A503 */ div.d $f20, $f20, $f8 +/* CD8DAC 80241ACC AFA20010 */ sw $v0, 0x10($sp) +/* CD8DB0 80241AD0 8E040080 */ lw $a0, 0x80($s0) +/* CD8DB4 80241AD4 0C0372DF */ jal func_800DCB7C +/* CD8DB8 80241AD8 4620A520 */ cvt.s.d $f20, $f20 +/* CD8DBC 80241ADC C62C0074 */ lwc1 $f12, 0x74($s1) +/* CD8DC0 80241AE0 0C00A8BB */ jal sin_deg +/* CD8DC4 80241AE4 46806320 */ cvt.s.w $f12, $f12 +/* CD8DC8 80241AE8 46140002 */ mul.s $f0, $f0, $f20 +/* CD8DCC 80241AEC 00000000 */ nop +/* CD8DD0 80241AF0 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* CD8DD4 80241AF4 46161080 */ add.s $f2, $f2, $f22 +/* CD8DD8 80241AF8 46001080 */ add.s $f2, $f2, $f0 +/* CD8DDC 80241AFC E602003C */ swc1 $f2, 0x3c($s0) +/* CD8DE0 80241B00 8E220074 */ lw $v0, 0x74($s1) +/* CD8DE4 80241B04 2442000C */ addiu $v0, $v0, 0xc +/* CD8DE8 80241B08 44826000 */ mtc1 $v0, $f12 +/* CD8DEC 80241B0C 00000000 */ nop +/* CD8DF0 80241B10 0C00A6C9 */ jal clamp_angle +/* CD8DF4 80241B14 46806320 */ cvt.s.w $f12, $f12 +/* CD8DF8 80241B18 4600028D */ trunc.w.s $f10, $f0 +/* CD8DFC 80241B1C E62A0074 */ swc1 $f10, 0x74($s1) +/* CD8E00 80241B20 0280202D */ daddu $a0, $s4, $zero +/* CD8E04 80241B24 24020001 */ addiu $v0, $zero, 1 +/* CD8E08 80241B28 AFA20010 */ sw $v0, 0x10($sp) +/* CD8E0C 80241B2C 8E660024 */ lw $a2, 0x24($s3) +/* CD8E10 80241B30 8E670028 */ lw $a3, 0x28($s3) +/* CD8E14 80241B34 0C01242D */ jal func_800490B4 +/* CD8E18 80241B38 0220282D */ daddu $a1, $s1, $zero +/* CD8E1C 80241B3C 1040001D */ beqz $v0, .L80241BB4 +/* CD8E20 80241B40 0000202D */ daddu $a0, $zero, $zero +/* CD8E24 80241B44 0200282D */ daddu $a1, $s0, $zero +/* CD8E28 80241B48 0000302D */ daddu $a2, $zero, $zero +/* CD8E2C 80241B4C 860300A8 */ lh $v1, 0xa8($s0) +/* CD8E30 80241B50 3C013F80 */ lui $at, 0x3f80 +/* CD8E34 80241B54 44810000 */ mtc1 $at, $f0 +/* CD8E38 80241B58 3C014000 */ lui $at, 0x4000 +/* CD8E3C 80241B5C 44811000 */ mtc1 $at, $f2 +/* CD8E40 80241B60 3C01C1A0 */ lui $at, 0xc1a0 +/* CD8E44 80241B64 44812000 */ mtc1 $at, $f4 +/* CD8E48 80241B68 2402000F */ addiu $v0, $zero, 0xf +/* CD8E4C 80241B6C AFA2001C */ sw $v0, 0x1c($sp) +/* CD8E50 80241B70 44835000 */ mtc1 $v1, $f10 +/* CD8E54 80241B74 00000000 */ nop +/* CD8E58 80241B78 468052A0 */ cvt.s.w $f10, $f10 +/* CD8E5C 80241B7C 44075000 */ mfc1 $a3, $f10 +/* CD8E60 80241B80 27A20038 */ addiu $v0, $sp, 0x38 +/* CD8E64 80241B84 AFA20020 */ sw $v0, 0x20($sp) +/* CD8E68 80241B88 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD8E6C 80241B8C E7A20014 */ swc1 $f2, 0x14($sp) +/* CD8E70 80241B90 0C01BFA4 */ jal fx_emote +/* CD8E74 80241B94 E7A40018 */ swc1 $f4, 0x18($sp) +/* CD8E78 80241B98 0200202D */ daddu $a0, $s0, $zero +/* CD8E7C 80241B9C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CD8E80 80241BA0 0C012530 */ jal func_800494C0 +/* CD8E84 80241BA4 3C060020 */ lui $a2, 0x20 +/* CD8E88 80241BA8 2402000C */ addiu $v0, $zero, 0xc +/* CD8E8C 80241BAC 0809070F */ j .L80241C3C +/* CD8E90 80241BB0 AE420070 */ sw $v0, 0x70($s2) +.L80241BB4: +/* CD8E94 80241BB4 8602008C */ lh $v0, 0x8c($s0) +/* CD8E98 80241BB8 14400020 */ bnez $v0, .L80241C3C +/* CD8E9C 80241BBC 00000000 */ nop +/* CD8EA0 80241BC0 8602008E */ lh $v0, 0x8e($s0) +/* CD8EA4 80241BC4 1C40001D */ bgtz $v0, .L80241C3C +/* CD8EA8 80241BC8 00000000 */ nop +/* CD8EAC 80241BCC 8E420074 */ lw $v0, 0x74($s2) +/* CD8EB0 80241BD0 2442FFFF */ addiu $v0, $v0, -1 +/* CD8EB4 80241BD4 18400018 */ blez $v0, .L80241C38 +/* CD8EB8 80241BD8 AE420074 */ sw $v0, 0x74($s2) +/* CD8EBC 80241BDC C600000C */ lwc1 $f0, 0xc($s0) +/* CD8EC0 80241BE0 3C014334 */ lui $at, 0x4334 +/* CD8EC4 80241BE4 44816000 */ mtc1 $at, $f12 +/* CD8EC8 80241BE8 0C00A6C9 */ jal clamp_angle +/* CD8ECC 80241BEC 460C0300 */ add.s $f12, $f0, $f12 +/* CD8ED0 80241BF0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CD8ED4 80241BF4 0C00A67F */ jal rand_int +/* CD8ED8 80241BF8 E600000C */ swc1 $f0, 0xc($s0) +/* CD8EDC 80241BFC 3C032E8B */ lui $v1, 0x2e8b +/* CD8EE0 80241C00 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CD8EE4 80241C04 00430018 */ mult $v0, $v1 +/* CD8EE8 80241C08 00021FC3 */ sra $v1, $v0, 0x1f +/* CD8EEC 80241C0C 00004010 */ mfhi $t0 +/* CD8EF0 80241C10 00082043 */ sra $a0, $t0, 1 +/* CD8EF4 80241C14 00832023 */ subu $a0, $a0, $v1 +/* CD8EF8 80241C18 00041840 */ sll $v1, $a0, 1 +/* CD8EFC 80241C1C 00641821 */ addu $v1, $v1, $a0 +/* CD8F00 80241C20 00031880 */ sll $v1, $v1, 2 +/* CD8F04 80241C24 00641823 */ subu $v1, $v1, $a0 +/* CD8F08 80241C28 00431023 */ subu $v0, $v0, $v1 +/* CD8F0C 80241C2C 24420005 */ addiu $v0, $v0, 5 +/* CD8F10 80241C30 0809070F */ j .L80241C3C +/* CD8F14 80241C34 A602008E */ sh $v0, 0x8e($s0) +.L80241C38: +/* CD8F18 80241C38 AE400070 */ sw $zero, 0x70($s2) +.L80241C3C: +/* CD8F1C 80241C3C 8FBF0054 */ lw $ra, 0x54($sp) +/* CD8F20 80241C40 8FB40050 */ lw $s4, 0x50($sp) +/* CD8F24 80241C44 8FB3004C */ lw $s3, 0x4c($sp) +/* CD8F28 80241C48 8FB20048 */ lw $s2, 0x48($sp) +/* CD8F2C 80241C4C 8FB10044 */ lw $s1, 0x44($sp) +/* CD8F30 80241C50 8FB00040 */ lw $s0, 0x40($sp) +/* CD8F34 80241C54 D7B60060 */ ldc1 $f22, 0x60($sp) +/* CD8F38 80241C58 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CD8F3C 80241C5C 03E00008 */ jr $ra +/* CD8F40 80241C60 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80241C64.s b/asm/nonmatchings/world/area_flo/flo_17/func_80241C64.s new file mode 100644 index 0000000000..51acb34d20 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80241C64.s @@ -0,0 +1,341 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C64 +/* CD8F44 80241C64 27BDFF98 */ addiu $sp, $sp, -0x68 +/* CD8F48 80241C68 AFB40050 */ sw $s4, 0x50($sp) +/* CD8F4C 80241C6C 0080A02D */ daddu $s4, $a0, $zero +/* CD8F50 80241C70 AFBF005C */ sw $ra, 0x5c($sp) +/* CD8F54 80241C74 AFB60058 */ sw $s6, 0x58($sp) +/* CD8F58 80241C78 AFB50054 */ sw $s5, 0x54($sp) +/* CD8F5C 80241C7C AFB3004C */ sw $s3, 0x4c($sp) +/* CD8F60 80241C80 AFB20048 */ sw $s2, 0x48($sp) +/* CD8F64 80241C84 AFB10044 */ sw $s1, 0x44($sp) +/* CD8F68 80241C88 AFB00040 */ sw $s0, 0x40($sp) +/* CD8F6C 80241C8C F7B40060 */ sdc1 $f20, 0x60($sp) +/* CD8F70 80241C90 8E930148 */ lw $s3, 0x148($s4) +/* CD8F74 80241C94 86640008 */ lh $a0, 8($s3) +/* CD8F78 80241C98 8E90000C */ lw $s0, 0xc($s4) +/* CD8F7C 80241C9C 0C00EABB */ jal get_npc_unsafe +/* CD8F80 80241CA0 00A0882D */ daddu $s1, $a1, $zero +/* CD8F84 80241CA4 0280202D */ daddu $a0, $s4, $zero +/* CD8F88 80241CA8 8E050000 */ lw $a1, ($s0) +/* CD8F8C 80241CAC 0C0B1EAF */ jal get_variable +/* CD8F90 80241CB0 0040902D */ daddu $s2, $v0, $zero +/* CD8F94 80241CB4 AFA00020 */ sw $zero, 0x20($sp) +/* CD8F98 80241CB8 8E6300D0 */ lw $v1, 0xd0($s3) +/* CD8F9C 80241CBC 8C630030 */ lw $v1, 0x30($v1) +/* CD8FA0 80241CC0 AFA30024 */ sw $v1, 0x24($sp) +/* CD8FA4 80241CC4 8E6300D0 */ lw $v1, 0xd0($s3) +/* CD8FA8 80241CC8 8C63001C */ lw $v1, 0x1c($v1) +/* CD8FAC 80241CCC AFA30028 */ sw $v1, 0x28($sp) +/* CD8FB0 80241CD0 8E6300D0 */ lw $v1, 0xd0($s3) +/* CD8FB4 80241CD4 8C630024 */ lw $v1, 0x24($v1) +/* CD8FB8 80241CD8 AFA3002C */ sw $v1, 0x2c($sp) +/* CD8FBC 80241CDC 8E6300D0 */ lw $v1, 0xd0($s3) +/* CD8FC0 80241CE0 8C630028 */ lw $v1, 0x28($v1) +/* CD8FC4 80241CE4 27B50020 */ addiu $s5, $sp, 0x20 +/* CD8FC8 80241CE8 AFA30030 */ sw $v1, 0x30($sp) +/* CD8FCC 80241CEC 8E6300D0 */ lw $v1, 0xd0($s3) +/* CD8FD0 80241CF0 3C0142F0 */ lui $at, 0x42f0 +/* CD8FD4 80241CF4 44810000 */ mtc1 $at, $f0 +/* CD8FD8 80241CF8 8C63002C */ lw $v1, 0x2c($v1) +/* CD8FDC 80241CFC 0040B02D */ daddu $s6, $v0, $zero +/* CD8FE0 80241D00 E7A00038 */ swc1 $f0, 0x38($sp) +/* CD8FE4 80241D04 A7A0003C */ sh $zero, 0x3c($sp) +/* CD8FE8 80241D08 12200007 */ beqz $s1, .L80241D28 +/* CD8FEC 80241D0C AFA30034 */ sw $v1, 0x34($sp) +/* CD8FF0 80241D10 0240202D */ daddu $a0, $s2, $zero +/* CD8FF4 80241D14 0260282D */ daddu $a1, $s3, $zero +/* CD8FF8 80241D18 0280302D */ daddu $a2, $s4, $zero +/* CD8FFC 80241D1C 0C090496 */ jal func_80241258 +/* CD9000 80241D20 02C0382D */ daddu $a3, $s6, $zero +/* CD9004 80241D24 AE800070 */ sw $zero, 0x70($s4) +.L80241D28: +/* CD9008 80241D28 2402FFFD */ addiu $v0, $zero, -3 +/* CD900C 80241D2C A24200AB */ sb $v0, 0xab($s2) +/* CD9010 80241D30 8E6300B0 */ lw $v1, 0xb0($s3) +/* CD9014 80241D34 30620004 */ andi $v0, $v1, 4 +/* CD9018 80241D38 10400007 */ beqz $v0, .L80241D58 +/* CD901C 80241D3C 00000000 */ nop +/* CD9020 80241D40 826200B4 */ lb $v0, 0xb4($s3) +/* CD9024 80241D44 144000F4 */ bnez $v0, .L80242118 +/* CD9028 80241D48 0000102D */ daddu $v0, $zero, $zero +/* CD902C 80241D4C 2402FFFB */ addiu $v0, $zero, -5 +/* CD9030 80241D50 00621024 */ and $v0, $v1, $v0 +/* CD9034 80241D54 AE6200B0 */ sw $v0, 0xb0($s3) +.L80241D58: +/* CD9038 80241D58 8E830070 */ lw $v1, 0x70($s4) +/* CD903C 80241D5C 24020001 */ addiu $v0, $zero, 1 +/* CD9040 80241D60 10620011 */ beq $v1, $v0, .L80241DA8 +/* CD9044 80241D64 28620002 */ slti $v0, $v1, 2 +/* CD9048 80241D68 10400005 */ beqz $v0, .L80241D80 +/* CD904C 80241D6C 24020002 */ addiu $v0, $zero, 2 +/* CD9050 80241D70 10600009 */ beqz $v1, .L80241D98 +/* CD9054 80241D74 2402000C */ addiu $v0, $zero, 0xc +/* CD9058 80241D78 0809077A */ j .L80241DE8 +/* CD905C 80241D7C 00000000 */ nop +.L80241D80: +/* CD9060 80241D80 1062000F */ beq $v1, $v0, .L80241DC0 +/* CD9064 80241D84 24020003 */ addiu $v0, $zero, 3 +/* CD9068 80241D88 10620012 */ beq $v1, $v0, .L80241DD4 +/* CD906C 80241D8C 0280202D */ daddu $a0, $s4, $zero +/* CD9070 80241D90 08090778 */ j .L80241DE0 +/* CD9074 80241D94 00000000 */ nop +.L80241D98: +/* CD9078 80241D98 0280202D */ daddu $a0, $s4, $zero +/* CD907C 80241D9C 02C0282D */ daddu $a1, $s6, $zero +/* CD9080 80241DA0 0C09001C */ jal func_80240070 +/* CD9084 80241DA4 02A0302D */ daddu $a2, $s5, $zero +.L80241DA8: +/* CD9088 80241DA8 0280202D */ daddu $a0, $s4, $zero +/* CD908C 80241DAC 02C0282D */ daddu $a1, $s6, $zero +/* CD9090 80241DB0 0C09056C */ jal func_802415B0 +/* CD9094 80241DB4 02A0302D */ daddu $a2, $s5, $zero +/* CD9098 80241DB8 08090778 */ j .L80241DE0 +/* CD909C 80241DBC 00000000 */ nop +.L80241DC0: +/* CD90A0 80241DC0 0280202D */ daddu $a0, $s4, $zero +/* CD90A4 80241DC4 02C0282D */ daddu $a1, $s6, $zero +/* CD90A8 80241DC8 0C090212 */ jal func_80240848 +/* CD90AC 80241DCC 02A0302D */ daddu $a2, $s5, $zero +/* CD90B0 80241DD0 0280202D */ daddu $a0, $s4, $zero +.L80241DD4: +/* CD90B4 80241DD4 02C0282D */ daddu $a1, $s6, $zero +/* CD90B8 80241DD8 0C090685 */ jal func_80241A14 +/* CD90BC 80241DDC 02A0302D */ daddu $a2, $s5, $zero +.L80241DE0: +/* CD90C0 80241DE0 8E830070 */ lw $v1, 0x70($s4) +/* CD90C4 80241DE4 2402000C */ addiu $v0, $zero, 0xc +.L80241DE8: +/* CD90C8 80241DE8 1462001A */ bne $v1, $v0, .L80241E54 +/* CD90CC 80241DEC 00000000 */ nop +/* CD90D0 80241DF0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CD90D4 80241DF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD90D8 80241DF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD90DC 80241DFC C64E0040 */ lwc1 $f14, 0x40($s2) +/* CD90E0 80241E00 8C460028 */ lw $a2, 0x28($v0) +/* CD90E4 80241E04 0C00A720 */ jal atan2 +/* CD90E8 80241E08 8C470030 */ lw $a3, 0x30($v0) +/* CD90EC 80241E0C 0C09055A */ jal func_80241568 +/* CD90F0 80241E10 E640000C */ swc1 $f0, 0xc($s2) +/* CD90F4 80241E14 0440000F */ bltz $v0, .L80241E54 +/* CD90F8 80241E18 AE62007C */ sw $v0, 0x7c($s3) +/* CD90FC 80241E1C 0C00FB3A */ jal get_enemy +/* CD9100 80241E20 0040202D */ daddu $a0, $v0, $zero +/* CD9104 80241E24 3C030049 */ lui $v1, 0x49 +/* CD9108 80241E28 0040202D */ daddu $a0, $v0, $zero +/* CD910C 80241E2C 24020001 */ addiu $v0, $zero, 1 +/* CD9110 80241E30 AC820094 */ sw $v0, 0x94($a0) +/* CD9114 80241E34 86620008 */ lh $v0, 8($s3) +/* CD9118 80241E38 34630014 */ ori $v1, $v1, 0x14 +/* CD911C 80241E3C AC820098 */ sw $v0, 0x98($a0) +/* CD9120 80241E40 2402000F */ addiu $v0, $zero, 0xf +/* CD9124 80241E44 A642008E */ sh $v0, 0x8e($s2) +/* CD9128 80241E48 2402001E */ addiu $v0, $zero, 0x1e +/* CD912C 80241E4C AE430028 */ sw $v1, 0x28($s2) +/* CD9130 80241E50 AE820070 */ sw $v0, 0x70($s4) +.L80241E54: +/* CD9134 80241E54 8E830070 */ lw $v1, 0x70($s4) +/* CD9138 80241E58 2402000D */ addiu $v0, $zero, 0xd +/* CD913C 80241E5C 10620010 */ beq $v1, $v0, .L80241EA0 +/* CD9140 80241E60 2862000E */ slti $v0, $v1, 0xe +/* CD9144 80241E64 10400005 */ beqz $v0, .L80241E7C +/* CD9148 80241E68 2402000C */ addiu $v0, $zero, 0xc +/* CD914C 80241E6C 10620008 */ beq $v1, $v0, .L80241E90 +/* CD9150 80241E70 2410001F */ addiu $s0, $zero, 0x1f +/* CD9154 80241E74 080907B3 */ j .L80241ECC +/* CD9158 80241E78 00000000 */ nop +.L80241E7C: +/* CD915C 80241E7C 2402000E */ addiu $v0, $zero, 0xe +/* CD9160 80241E80 1062000D */ beq $v1, $v0, .L80241EB8 +/* CD9164 80241E84 0280202D */ daddu $a0, $s4, $zero +/* CD9168 80241E88 080907B1 */ j .L80241EC4 +/* CD916C 80241E8C 00000000 */ nop +.L80241E90: +/* CD9170 80241E90 0280202D */ daddu $a0, $s4, $zero +/* CD9174 80241E94 02C0282D */ daddu $a1, $s6, $zero +/* CD9178 80241E98 0C09034C */ jal func_80240D30 +/* CD917C 80241E9C 02A0302D */ daddu $a2, $s5, $zero +.L80241EA0: +/* CD9180 80241EA0 0280202D */ daddu $a0, $s4, $zero +/* CD9184 80241EA4 02C0282D */ daddu $a1, $s6, $zero +/* CD9188 80241EA8 0C090399 */ jal func_80240E64 +/* CD918C 80241EAC 02A0302D */ daddu $a2, $s5, $zero +/* CD9190 80241EB0 080907B1 */ j .L80241EC4 +/* CD9194 80241EB4 00000000 */ nop +.L80241EB8: +/* CD9198 80241EB8 02C0282D */ daddu $a1, $s6, $zero +/* CD919C 80241EBC 0C0903B2 */ jal func_80240EC8 +/* CD91A0 80241EC0 02A0302D */ daddu $a2, $s5, $zero +.L80241EC4: +/* CD91A4 80241EC4 8E830070 */ lw $v1, 0x70($s4) +/* CD91A8 80241EC8 2410001F */ addiu $s0, $zero, 0x1f +.L80241ECC: +/* CD91AC 80241ECC 1070001B */ beq $v1, $s0, .L80241F3C +/* CD91B0 80241ED0 28620020 */ slti $v0, $v1, 0x20 +/* CD91B4 80241ED4 10400005 */ beqz $v0, .L80241EEC +/* CD91B8 80241ED8 2402001E */ addiu $v0, $zero, 0x1e +/* CD91BC 80241EDC 1062000A */ beq $v1, $v0, .L80241F08 +/* CD91C0 80241EE0 00000000 */ nop +/* CD91C4 80241EE4 080907EE */ j .L80241FB8 +/* CD91C8 80241EE8 00000000 */ nop +.L80241EEC: +/* CD91CC 80241EEC 24020020 */ addiu $v0, $zero, 0x20 +/* CD91D0 80241EF0 10620022 */ beq $v1, $v0, .L80241F7C +/* CD91D4 80241EF4 24020021 */ addiu $v0, $zero, 0x21 +/* CD91D8 80241EF8 10620029 */ beq $v1, $v0, .L80241FA0 +/* CD91DC 80241EFC 00000000 */ nop +/* CD91E0 80241F00 080907EE */ j .L80241FB8 +/* CD91E4 80241F04 00000000 */ nop +.L80241F08: +/* CD91E8 80241F08 9642008E */ lhu $v0, 0x8e($s2) +/* CD91EC 80241F0C 2442FFFF */ addiu $v0, $v0, -1 +/* CD91F0 80241F10 A642008E */ sh $v0, 0x8e($s2) +/* CD91F4 80241F14 00021400 */ sll $v0, $v0, 0x10 +/* CD91F8 80241F18 1C400027 */ bgtz $v0, .L80241FB8 +/* CD91FC 80241F1C 00000000 */ nop +/* CD9200 80241F20 0C00FB3A */ jal get_enemy +/* CD9204 80241F24 8E64007C */ lw $a0, 0x7c($s3) +/* CD9208 80241F28 24030002 */ addiu $v1, $zero, 2 +/* CD920C 80241F2C AC430094 */ sw $v1, 0x94($v0) +/* CD9210 80241F30 24020005 */ addiu $v0, $zero, 5 +/* CD9214 80241F34 A642008E */ sh $v0, 0x8e($s2) +/* CD9218 80241F38 AE900070 */ sw $s0, 0x70($s4) +.L80241F3C: +/* CD921C 80241F3C 9642008E */ lhu $v0, 0x8e($s2) +/* CD9220 80241F40 2442FFFF */ addiu $v0, $v0, -1 +/* CD9224 80241F44 A642008E */ sh $v0, 0x8e($s2) +/* CD9228 80241F48 00021400 */ sll $v0, $v0, 0x10 +/* CD922C 80241F4C 1C40001A */ bgtz $v0, .L80241FB8 +/* CD9230 80241F50 3C020049 */ lui $v0, 0x49 +/* CD9234 80241F54 34420015 */ ori $v0, $v0, 0x15 +/* CD9238 80241F58 AE420028 */ sw $v0, 0x28($s2) +/* CD923C 80241F5C 0C00FB3A */ jal get_enemy +/* CD9240 80241F60 8E64007C */ lw $a0, 0x7c($s3) +/* CD9244 80241F64 24030003 */ addiu $v1, $zero, 3 +/* CD9248 80241F68 AC430094 */ sw $v1, 0x94($v0) +/* CD924C 80241F6C 2402000A */ addiu $v0, $zero, 0xa +/* CD9250 80241F70 A642008E */ sh $v0, 0x8e($s2) +/* CD9254 80241F74 24020020 */ addiu $v0, $zero, 0x20 +/* CD9258 80241F78 AE820070 */ sw $v0, 0x70($s4) +.L80241F7C: +/* CD925C 80241F7C 9642008E */ lhu $v0, 0x8e($s2) +/* CD9260 80241F80 2442FFFF */ addiu $v0, $v0, -1 +/* CD9264 80241F84 A642008E */ sh $v0, 0x8e($s2) +/* CD9268 80241F88 00021400 */ sll $v0, $v0, 0x10 +/* CD926C 80241F8C 1C40000A */ bgtz $v0, .L80241FB8 +/* CD9270 80241F90 24020003 */ addiu $v0, $zero, 3 +/* CD9274 80241F94 A642008E */ sh $v0, 0x8e($s2) +/* CD9278 80241F98 24020021 */ addiu $v0, $zero, 0x21 +/* CD927C 80241F9C AE820070 */ sw $v0, 0x70($s4) +.L80241FA0: +/* CD9280 80241FA0 9642008E */ lhu $v0, 0x8e($s2) +/* CD9284 80241FA4 2442FFFF */ addiu $v0, $v0, -1 +/* CD9288 80241FA8 A642008E */ sh $v0, 0x8e($s2) +/* CD928C 80241FAC 00021400 */ sll $v0, $v0, 0x10 +/* CD9290 80241FB0 58400001 */ blezl $v0, .L80241FB8 +/* CD9294 80241FB4 AE800070 */ sw $zero, 0x70($s4) +.L80241FB8: +/* CD9298 80241FB8 8E820070 */ lw $v0, 0x70($s4) +/* CD929C 80241FBC 2442FFE2 */ addiu $v0, $v0, -0x1e +/* CD92A0 80241FC0 2C420002 */ sltiu $v0, $v0, 2 +/* CD92A4 80241FC4 10400054 */ beqz $v0, .L80242118 +/* CD92A8 80241FC8 0000102D */ daddu $v0, $zero, $zero +/* CD92AC 80241FCC 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* CD92B0 80241FD0 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* CD92B4 80241FD4 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CD92B8 80241FD8 8E020000 */ lw $v0, ($s0) +/* CD92BC 80241FDC C64E0040 */ lwc1 $f14, 0x40($s2) +/* CD92C0 80241FE0 8C460028 */ lw $a2, 0x28($v0) +/* CD92C4 80241FE4 0C00A720 */ jal atan2 +/* CD92C8 80241FE8 8C470030 */ lw $a3, 0x30($v0) +/* CD92CC 80241FEC 8E460038 */ lw $a2, 0x38($s2) +/* CD92D0 80241FF0 8E470040 */ lw $a3, 0x40($s2) +/* CD92D4 80241FF4 8E020000 */ lw $v0, ($s0) +/* CD92D8 80241FF8 E640000C */ swc1 $f0, 0xc($s2) +/* CD92DC 80241FFC C44C0028 */ lwc1 $f12, 0x28($v0) +/* CD92E0 80242000 0C00A7B5 */ jal dist2D +/* CD92E4 80242004 C44E0030 */ lwc1 $f14, 0x30($v0) +/* CD92E8 80242008 C6A20008 */ lwc1 $f2, 8($s5) +/* CD92EC 8024200C 468010A0 */ cvt.s.w $f2, $f2 +/* CD92F0 80242010 44051000 */ mfc1 $a1, $f2 +/* CD92F4 80242014 C6A2000C */ lwc1 $f2, 0xc($s5) +/* CD92F8 80242018 468010A0 */ cvt.s.w $f2, $f2 +/* CD92FC 8024201C 44061000 */ mfc1 $a2, $f2 +/* CD9300 80242020 C6420040 */ lwc1 $f2, 0x40($s2) +/* CD9304 80242024 E7A20010 */ swc1 $f2, 0x10($sp) +/* CD9308 80242028 C6A20010 */ lwc1 $f2, 0x10($s5) +/* CD930C 8024202C 468010A0 */ cvt.s.w $f2, $f2 +/* CD9310 80242030 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD9314 80242034 C6A20014 */ lwc1 $f2, 0x14($s5) +/* CD9318 80242038 468010A0 */ cvt.s.w $f2, $f2 +/* CD931C 8024203C E7A20018 */ swc1 $f2, 0x18($sp) +/* CD9320 80242040 8EA40004 */ lw $a0, 4($s5) +/* CD9324 80242044 8E470038 */ lw $a3, 0x38($s2) +/* CD9328 80242048 0C0123F5 */ jal is_point_within_region +/* CD932C 8024204C 46000506 */ mov.s $f20, $f0 +/* CD9330 80242050 14400031 */ bnez $v0, .L80242118 +/* CD9334 80242054 0000102D */ daddu $v0, $zero, $zero +/* CD9338 80242058 3C01403E */ lui $at, 0x403e +/* CD933C 8024205C 44810800 */ mtc1 $at, $f1 +/* CD9340 80242060 44800000 */ mtc1 $zero, $f0 +/* CD9344 80242064 4600A0A1 */ cvt.d.s $f2, $f20 +/* CD9348 80242068 4622003C */ c.lt.d $f0, $f2 +/* CD934C 8024206C 00000000 */ nop +/* CD9350 80242070 45000029 */ bc1f .L80242118 +/* CD9354 80242074 00000000 */ nop +/* CD9358 80242078 8642008C */ lh $v0, 0x8c($s2) +/* CD935C 8024207C 54400026 */ bnel $v0, $zero, .L80242118 +/* CD9360 80242080 0000102D */ daddu $v0, $zero, $zero +/* CD9364 80242084 3C014034 */ lui $at, 0x4034 +/* CD9368 80242088 44810800 */ mtc1 $at, $f1 +/* CD936C 8024208C 44800000 */ mtc1 $zero, $f0 +/* CD9370 80242090 00000000 */ nop +/* CD9374 80242094 46201001 */ sub.d $f0, $f2, $f0 +/* CD9378 80242098 44801000 */ mtc1 $zero, $f2 +/* CD937C 8024209C 44801800 */ mtc1 $zero, $f3 +/* CD9380 802420A0 46200120 */ cvt.s.d $f4, $f0 +/* CD9384 802420A4 46002021 */ cvt.d.s $f0, $f4 +/* CD9388 802420A8 4622003C */ c.lt.d $f0, $f2 +/* CD938C 802420AC 00000000 */ nop +/* CD9390 802420B0 45000002 */ bc1f .L802420BC +/* CD9394 802420B4 00000000 */ nop +/* CD9398 802420B8 44802000 */ mtc1 $zero, $f4 +.L802420BC: +/* CD939C 802420BC 3C014069 */ lui $at, 0x4069 +/* CD93A0 802420C0 44811800 */ mtc1 $at, $f3 +/* CD93A4 802420C4 44801000 */ mtc1 $zero, $f2 +/* CD93A8 802420C8 46002021 */ cvt.d.s $f0, $f4 +/* CD93AC 802420CC 4620103C */ c.lt.d $f2, $f0 +/* CD93B0 802420D0 00000000 */ nop +/* CD93B4 802420D4 45000003 */ bc1f .L802420E4 +/* CD93B8 802420D8 240200C8 */ addiu $v0, $zero, 0xc8 +/* CD93BC 802420DC 3C014348 */ lui $at, 0x4348 +/* CD93C0 802420E0 44812000 */ mtc1 $at, $f4 +.L802420E4: +/* CD93C4 802420E4 AFA20010 */ sw $v0, 0x10($sp) +/* CD93C8 802420E8 8EC50000 */ lw $a1, ($s6) +/* CD93CC 802420EC 8EC60018 */ lw $a2, 0x18($s6) +/* CD93D0 802420F0 4600218D */ trunc.w.s $f6, $f4 +/* CD93D4 802420F4 44073000 */ mfc1 $a3, $f6 +/* CD93D8 802420F8 0C00A8ED */ jal update_lerp +/* CD93DC 802420FC 0000202D */ daddu $a0, $zero, $zero +/* CD93E0 80242100 44050000 */ mfc1 $a1, $f0 +/* CD93E4 80242104 8E46000C */ lw $a2, 0xc($s2) +/* CD93E8 80242108 0240202D */ daddu $a0, $s2, $zero +/* CD93EC 8024210C 0C00EA95 */ jal npc_move_heading +/* CD93F0 80242110 AC850018 */ sw $a1, 0x18($a0) +/* CD93F4 80242114 0000102D */ daddu $v0, $zero, $zero +.L80242118: +/* CD93F8 80242118 8FBF005C */ lw $ra, 0x5c($sp) +/* CD93FC 8024211C 8FB60058 */ lw $s6, 0x58($sp) +/* CD9400 80242120 8FB50054 */ lw $s5, 0x54($sp) +/* CD9404 80242124 8FB40050 */ lw $s4, 0x50($sp) +/* CD9408 80242128 8FB3004C */ lw $s3, 0x4c($sp) +/* CD940C 8024212C 8FB20048 */ lw $s2, 0x48($sp) +/* CD9410 80242130 8FB10044 */ lw $s1, 0x44($sp) +/* CD9414 80242134 8FB00040 */ lw $s0, 0x40($sp) +/* CD9418 80242138 D7B40060 */ ldc1 $f20, 0x60($sp) +/* CD941C 8024213C 03E00008 */ jr $ra +/* CD9420 80242140 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80242144_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_80242144_CD72E0.s new file mode 100644 index 0000000000..bacf35a3ee --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80242144_CD72E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242144_CD9424 +/* CD9424 80242144 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD9428 80242148 AFB20018 */ sw $s2, 0x18($sp) +/* CD942C 8024214C 0080902D */ daddu $s2, $a0, $zero +/* CD9430 80242150 AFBF001C */ sw $ra, 0x1c($sp) +/* CD9434 80242154 AFB10014 */ sw $s1, 0x14($sp) +/* CD9438 80242158 AFB00010 */ sw $s0, 0x10($sp) +/* CD943C 8024215C 8E510148 */ lw $s1, 0x148($s2) +/* CD9440 80242160 0C00EABB */ jal get_npc_unsafe +/* CD9444 80242164 86240008 */ lh $a0, 8($s1) +/* CD9448 80242168 0040802D */ daddu $s0, $v0, $zero +/* CD944C 8024216C 8E2300CC */ lw $v1, 0xcc($s1) +/* CD9450 80242170 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD9454 80242174 8C630020 */ lw $v1, 0x20($v1) +/* CD9458 80242178 AE030028 */ sw $v1, 0x28($s0) +/* CD945C 8024217C 96220076 */ lhu $v0, 0x76($s1) +/* CD9460 80242180 A602008E */ sh $v0, 0x8e($s0) +/* CD9464 80242184 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD9468 80242188 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD946C 8024218C C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD9470 80242190 8C460028 */ lw $a2, 0x28($v0) +/* CD9474 80242194 0C00A720 */ jal atan2 +/* CD9478 80242198 8C470030 */ lw $a3, 0x30($v0) +/* CD947C 8024219C 2402000D */ addiu $v0, $zero, 0xd +/* CD9480 802421A0 E600000C */ swc1 $f0, 0xc($s0) +/* CD9484 802421A4 AE420070 */ sw $v0, 0x70($s2) +/* CD9488 802421A8 8FBF001C */ lw $ra, 0x1c($sp) +/* CD948C 802421AC 8FB20018 */ lw $s2, 0x18($sp) +/* CD9490 802421B0 8FB10014 */ lw $s1, 0x14($sp) +/* CD9494 802421B4 8FB00010 */ lw $s0, 0x10($sp) +/* CD9498 802421B8 03E00008 */ jr $ra +/* CD949C 802421BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_802421C0_CD72E0.s b/asm/nonmatchings/world/area_flo/flo_17/func_802421C0_CD72E0.s new file mode 100644 index 0000000000..2ee94ffdb6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_802421C0_CD72E0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421C0_CD94A0 +/* CD94A0 802421C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CD94A4 802421C4 AFB3001C */ sw $s3, 0x1c($sp) +/* CD94A8 802421C8 0080982D */ daddu $s3, $a0, $zero +/* CD94AC 802421CC AFBF0020 */ sw $ra, 0x20($sp) +/* CD94B0 802421D0 AFB20018 */ sw $s2, 0x18($sp) +/* CD94B4 802421D4 AFB10014 */ sw $s1, 0x14($sp) +/* CD94B8 802421D8 AFB00010 */ sw $s0, 0x10($sp) +/* CD94BC 802421DC 8E710148 */ lw $s1, 0x148($s3) +/* CD94C0 802421E0 86240008 */ lh $a0, 8($s1) +/* CD94C4 802421E4 0C00EABB */ jal get_npc_unsafe +/* CD94C8 802421E8 00A0902D */ daddu $s2, $a1, $zero +/* CD94CC 802421EC 0040802D */ daddu $s0, $v0, $zero +/* CD94D0 802421F0 8602008E */ lh $v0, 0x8e($s0) +/* CD94D4 802421F4 9603008E */ lhu $v1, 0x8e($s0) +/* CD94D8 802421F8 18400005 */ blez $v0, .L80242210 +/* CD94DC 802421FC 2462FFFF */ addiu $v0, $v1, -1 +/* CD94E0 80242200 A602008E */ sh $v0, 0x8e($s0) +/* CD94E4 80242204 00021400 */ sll $v0, $v0, 0x10 +/* CD94E8 80242208 1C400033 */ bgtz $v0, .L802422D8 +/* CD94EC 8024220C 00000000 */ nop +.L80242210: +/* CD94F0 80242210 8602008C */ lh $v0, 0x8c($s0) +/* CD94F4 80242214 14400030 */ bnez $v0, .L802422D8 +/* CD94F8 80242218 00000000 */ nop +/* CD94FC 8024221C 8E2200CC */ lw $v0, 0xcc($s1) +/* CD9500 80242220 8C420024 */ lw $v0, 0x24($v0) +/* CD9504 80242224 AE020028 */ sw $v0, 0x28($s0) +/* CD9508 80242228 C6400018 */ lwc1 $f0, 0x18($s2) +/* CD950C 8024222C E6000018 */ swc1 $f0, 0x18($s0) +/* CD9510 80242230 8E230088 */ lw $v1, 0x88($s1) +/* CD9514 80242234 24020005 */ addiu $v0, $zero, 5 +/* CD9518 80242238 10620005 */ beq $v1, $v0, .L80242250 +/* CD951C 8024223C 00000000 */ nop +/* CD9520 80242240 10600003 */ beqz $v1, .L80242250 +/* CD9524 80242244 24020001 */ addiu $v0, $zero, 1 +/* CD9528 80242248 14620006 */ bne $v1, $v0, .L80242264 +/* CD952C 8024224C 00000000 */ nop +.L80242250: +/* CD9530 80242250 8E220084 */ lw $v0, 0x84($s1) +/* CD9534 80242254 00021FC2 */ srl $v1, $v0, 0x1f +/* CD9538 80242258 00431021 */ addu $v0, $v0, $v1 +/* CD953C 8024225C 00021043 */ sra $v0, $v0, 1 +/* CD9540 80242260 A60200A8 */ sh $v0, 0xa8($s0) +.L80242264: +/* CD9544 80242264 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CD9548 80242268 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CD954C 8024226C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CD9550 80242270 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CD9554 80242274 8C460028 */ lw $a2, 0x28($v0) +/* CD9558 80242278 0C00A7B5 */ jal dist2D +/* CD955C 8024227C 8C470030 */ lw $a3, 0x30($v0) +/* CD9560 80242280 C6020018 */ lwc1 $f2, 0x18($s0) +/* CD9564 80242284 46020003 */ div.s $f0, $f0, $f2 +/* CD9568 80242288 3C018024 */ lui $at, 0x8024 +/* CD956C 8024228C D4225358 */ ldc1 $f2, 0x5358($at) +/* CD9570 80242290 46000021 */ cvt.d.s $f0, $f0 +/* CD9574 80242294 46220000 */ add.d $f0, $f0, $f2 +/* CD9578 80242298 4620010D */ trunc.w.d $f4, $f0 +/* CD957C 8024229C 44022000 */ mfc1 $v0, $f4 +/* CD9580 802422A0 00000000 */ nop +/* CD9584 802422A4 A602008E */ sh $v0, 0x8e($s0) +/* CD9588 802422A8 00021400 */ sll $v0, $v0, 0x10 +/* CD958C 802422AC 8E230078 */ lw $v1, 0x78($s1) +/* CD9590 802422B0 00021403 */ sra $v0, $v0, 0x10 +/* CD9594 802422B4 0043102A */ slt $v0, $v0, $v1 +/* CD9598 802422B8 10400003 */ beqz $v0, .L802422C8 +/* CD959C 802422BC 00000000 */ nop +/* CD95A0 802422C0 9622007A */ lhu $v0, 0x7a($s1) +/* CD95A4 802422C4 A602008E */ sh $v0, 0x8e($s0) +.L802422C8: +/* CD95A8 802422C8 8602008E */ lh $v0, 0x8e($s0) +/* CD95AC 802422CC AE22007C */ sw $v0, 0x7c($s1) +/* CD95B0 802422D0 2402000E */ addiu $v0, $zero, 0xe +/* CD95B4 802422D4 AE620070 */ sw $v0, 0x70($s3) +.L802422D8: +/* CD95B8 802422D8 8FBF0020 */ lw $ra, 0x20($sp) +/* CD95BC 802422DC 8FB3001C */ lw $s3, 0x1c($sp) +/* CD95C0 802422E0 8FB20018 */ lw $s2, 0x18($sp) +/* CD95C4 802422E4 8FB10014 */ lw $s1, 0x14($sp) +/* CD95C8 802422E8 8FB00010 */ lw $s0, 0x10($sp) +/* CD95CC 802422EC 03E00008 */ jr $ra +/* CD95D0 802422F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_802422F4.s b/asm/nonmatchings/world/area_flo/flo_17/func_802422F4.s new file mode 100644 index 0000000000..25a598c5cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_802422F4.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422F4 +/* CD95D4 802422F4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CD95D8 802422F8 AFB3003C */ sw $s3, 0x3c($sp) +/* CD95DC 802422FC 0080982D */ daddu $s3, $a0, $zero +/* CD95E0 80242300 AFBF0040 */ sw $ra, 0x40($sp) +/* CD95E4 80242304 AFB20038 */ sw $s2, 0x38($sp) +/* CD95E8 80242308 AFB10034 */ sw $s1, 0x34($sp) +/* CD95EC 8024230C AFB00030 */ sw $s0, 0x30($sp) +/* CD95F0 80242310 8E710148 */ lw $s1, 0x148($s3) +/* CD95F4 80242314 0C00EABB */ jal get_npc_unsafe +/* CD95F8 80242318 86240008 */ lh $a0, 8($s1) +/* CD95FC 8024231C 0040802D */ daddu $s0, $v0, $zero +/* CD9600 80242320 8E22007C */ lw $v0, 0x7c($s1) +/* CD9604 80242324 8603008E */ lh $v1, 0x8e($s0) +/* CD9608 80242328 2442FFFF */ addiu $v0, $v0, -1 +/* CD960C 8024232C 14620012 */ bne $v1, $v0, .L80242378 +/* CD9610 80242330 00000000 */ nop +/* CD9614 80242334 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD9618 80242338 4600020D */ trunc.w.s $f8, $f0 +/* CD961C 8024233C 44024000 */ mfc1 $v0, $f8 +/* CD9620 80242340 00000000 */ nop +/* CD9624 80242344 A6220010 */ sh $v0, 0x10($s1) +/* CD9628 80242348 C600003C */ lwc1 $f0, 0x3c($s0) +/* CD962C 8024234C 4600020D */ trunc.w.s $f8, $f0 +/* CD9630 80242350 44024000 */ mfc1 $v0, $f8 +/* CD9634 80242354 00000000 */ nop +/* CD9638 80242358 A6220012 */ sh $v0, 0x12($s1) +/* CD963C 8024235C C6000040 */ lwc1 $f0, 0x40($s0) +/* CD9640 80242360 24020001 */ addiu $v0, $zero, 1 +/* CD9644 80242364 A2220007 */ sb $v0, 7($s1) +/* CD9648 80242368 4600020D */ trunc.w.s $f8, $f0 +/* CD964C 8024236C 44024000 */ mfc1 $v0, $f8 +/* CD9650 80242370 00000000 */ nop +/* CD9654 80242374 A6220014 */ sh $v0, 0x14($s1) +.L80242378: +/* CD9658 80242378 C6000038 */ lwc1 $f0, 0x38($s0) +/* CD965C 8024237C C602003C */ lwc1 $f2, 0x3c($s0) +/* CD9660 80242380 C6040040 */ lwc1 $f4, 0x40($s0) +/* CD9664 80242384 C6060018 */ lwc1 $f6, 0x18($s0) +/* CD9668 80242388 E7A00020 */ swc1 $f0, 0x20($sp) +/* CD966C 8024238C E7A20024 */ swc1 $f2, 0x24($sp) +/* CD9670 80242390 E7A40028 */ swc1 $f4, 0x28($sp) +/* CD9674 80242394 E7A60010 */ swc1 $f6, 0x10($sp) +/* CD9678 80242398 C600000C */ lwc1 $f0, 0xc($s0) +/* CD967C 8024239C E7A00014 */ swc1 $f0, 0x14($sp) +/* CD9680 802423A0 860200A8 */ lh $v0, 0xa8($s0) +/* CD9684 802423A4 27A50020 */ addiu $a1, $sp, 0x20 +/* CD9688 802423A8 44820000 */ mtc1 $v0, $f0 +/* CD968C 802423AC 00000000 */ nop +/* CD9690 802423B0 46800020 */ cvt.s.w $f0, $f0 +/* CD9694 802423B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CD9698 802423B8 860200A6 */ lh $v0, 0xa6($s0) +/* CD969C 802423BC 27A60024 */ addiu $a2, $sp, 0x24 +/* CD96A0 802423C0 44820000 */ mtc1 $v0, $f0 +/* CD96A4 802423C4 00000000 */ nop +/* CD96A8 802423C8 46800020 */ cvt.s.w $f0, $f0 +/* CD96AC 802423CC E7A0001C */ swc1 $f0, 0x1c($sp) +/* CD96B0 802423D0 8E040080 */ lw $a0, 0x80($s0) +/* CD96B4 802423D4 0C037711 */ jal func_800DDC44 +/* CD96B8 802423D8 27A70028 */ addiu $a3, $sp, 0x28 +/* CD96BC 802423DC 0040902D */ daddu $s2, $v0, $zero +/* CD96C0 802423E0 16400005 */ bnez $s2, .L802423F8 +/* CD96C4 802423E4 00000000 */ nop +/* CD96C8 802423E8 8E050018 */ lw $a1, 0x18($s0) +/* CD96CC 802423EC 8E06000C */ lw $a2, 0xc($s0) +/* CD96D0 802423F0 0C00EA95 */ jal npc_move_heading +/* CD96D4 802423F4 0200202D */ daddu $a0, $s0, $zero +.L802423F8: +/* CD96D8 802423F8 8602008E */ lh $v0, 0x8e($s0) +/* CD96DC 802423FC 9603008E */ lhu $v1, 0x8e($s0) +/* CD96E0 80242400 18400007 */ blez $v0, .L80242420 +/* CD96E4 80242404 2462FFFF */ addiu $v0, $v1, -1 +/* CD96E8 80242408 A602008E */ sh $v0, 0x8e($s0) +/* CD96EC 8024240C 00021400 */ sll $v0, $v0, 0x10 +/* CD96F0 80242410 18400003 */ blez $v0, .L80242420 +/* CD96F4 80242414 00000000 */ nop +/* CD96F8 80242418 12400008 */ beqz $s2, .L8024243C +/* CD96FC 8024241C 00000000 */ nop +.L80242420: +/* CD9700 80242420 8E2200CC */ lw $v0, 0xcc($s1) +/* CD9704 80242424 A2200007 */ sb $zero, 7($s1) +/* CD9708 80242428 8C420028 */ lw $v0, 0x28($v0) +/* CD970C 8024242C A600008E */ sh $zero, 0x8e($s0) +/* CD9710 80242430 AE020028 */ sw $v0, 0x28($s0) +/* CD9714 80242434 2402000F */ addiu $v0, $zero, 0xf +/* CD9718 80242438 AE620070 */ sw $v0, 0x70($s3) +.L8024243C: +/* CD971C 8024243C 8FBF0040 */ lw $ra, 0x40($sp) +/* CD9720 80242440 8FB3003C */ lw $s3, 0x3c($sp) +/* CD9724 80242444 8FB20038 */ lw $s2, 0x38($sp) +/* CD9728 80242448 8FB10034 */ lw $s1, 0x34($sp) +/* CD972C 8024244C 8FB00030 */ lw $s0, 0x30($sp) +/* CD9730 80242450 03E00008 */ jr $ra +/* CD9734 80242454 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80242458.s b/asm/nonmatchings/world/area_flo/flo_17/func_80242458.s new file mode 100644 index 0000000000..92823dcd94 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80242458.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242458 +/* CD9738 80242458 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CD973C 8024245C AFB10014 */ sw $s1, 0x14($sp) +/* CD9740 80242460 0080882D */ daddu $s1, $a0, $zero +/* CD9744 80242464 AFBF0018 */ sw $ra, 0x18($sp) +/* CD9748 80242468 AFB00010 */ sw $s0, 0x10($sp) +/* CD974C 8024246C 8E300148 */ lw $s0, 0x148($s1) +/* CD9750 80242470 0C00EABB */ jal get_npc_unsafe +/* CD9754 80242474 86040008 */ lh $a0, 8($s0) +/* CD9758 80242478 0040202D */ daddu $a0, $v0, $zero +/* CD975C 8024247C 9482008E */ lhu $v0, 0x8e($a0) +/* CD9760 80242480 24030003 */ addiu $v1, $zero, 3 +/* CD9764 80242484 24420001 */ addiu $v0, $v0, 1 +/* CD9768 80242488 A482008E */ sh $v0, 0x8e($a0) +/* CD976C 8024248C 00021400 */ sll $v0, $v0, 0x10 +/* CD9770 80242490 00021403 */ sra $v0, $v0, 0x10 +/* CD9774 80242494 14430003 */ bne $v0, $v1, .L802424A4 +/* CD9778 80242498 00000000 */ nop +/* CD977C 8024249C 96020086 */ lhu $v0, 0x86($s0) +/* CD9780 802424A0 A48200A8 */ sh $v0, 0xa8($a0) +.L802424A4: +/* CD9784 802424A4 8482008E */ lh $v0, 0x8e($a0) +/* CD9788 802424A8 8E030080 */ lw $v1, 0x80($s0) +/* CD978C 802424AC 0043102A */ slt $v0, $v0, $v1 +/* CD9790 802424B0 14400004 */ bnez $v0, .L802424C4 +/* CD9794 802424B4 00000000 */ nop +/* CD9798 802424B8 96020086 */ lhu $v0, 0x86($s0) +/* CD979C 802424BC A48200A8 */ sh $v0, 0xa8($a0) +/* CD97A0 802424C0 AE200070 */ sw $zero, 0x70($s1) +.L802424C4: +/* CD97A4 802424C4 8FBF0018 */ lw $ra, 0x18($sp) +/* CD97A8 802424C8 8FB10014 */ lw $s1, 0x14($sp) +/* CD97AC 802424CC 8FB00010 */ lw $s0, 0x10($sp) +/* CD97B0 802424D0 03E00008 */ jr $ra +/* CD97B4 802424D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_802424D8.s b/asm/nonmatchings/world/area_flo/flo_17/func_802424D8.s new file mode 100644 index 0000000000..fe68cec14b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_802424D8.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424D8 +/* CD97B8 802424D8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* CD97BC 802424DC AFB3005C */ sw $s3, 0x5c($sp) +/* CD97C0 802424E0 0080982D */ daddu $s3, $a0, $zero +/* CD97C4 802424E4 AFBF0068 */ sw $ra, 0x68($sp) +/* CD97C8 802424E8 AFB50064 */ sw $s5, 0x64($sp) +/* CD97CC 802424EC AFB40060 */ sw $s4, 0x60($sp) +/* CD97D0 802424F0 AFB20058 */ sw $s2, 0x58($sp) +/* CD97D4 802424F4 AFB10054 */ sw $s1, 0x54($sp) +/* CD97D8 802424F8 AFB00050 */ sw $s0, 0x50($sp) +/* CD97DC 802424FC 8E710148 */ lw $s1, 0x148($s3) +/* CD97E0 80242500 86240008 */ lh $a0, 8($s1) +/* CD97E4 80242504 0C00EABB */ jal get_npc_unsafe +/* CD97E8 80242508 00A0802D */ daddu $s0, $a1, $zero +/* CD97EC 8024250C 8E63000C */ lw $v1, 0xc($s3) +/* CD97F0 80242510 0260202D */ daddu $a0, $s3, $zero +/* CD97F4 80242514 8C650000 */ lw $a1, ($v1) +/* CD97F8 80242518 0C0B1EAF */ jal get_variable +/* CD97FC 8024251C 0040902D */ daddu $s2, $v0, $zero +/* CD9800 80242520 AFA00028 */ sw $zero, 0x28($sp) +/* CD9804 80242524 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD9808 80242528 8C630030 */ lw $v1, 0x30($v1) +/* CD980C 8024252C AFA3002C */ sw $v1, 0x2c($sp) +/* CD9810 80242530 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD9814 80242534 8C63001C */ lw $v1, 0x1c($v1) +/* CD9818 80242538 AFA30030 */ sw $v1, 0x30($sp) +/* CD981C 8024253C 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD9820 80242540 8C630024 */ lw $v1, 0x24($v1) +/* CD9824 80242544 AFA30034 */ sw $v1, 0x34($sp) +/* CD9828 80242548 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD982C 8024254C 8C630028 */ lw $v1, 0x28($v1) +/* CD9830 80242550 27B50028 */ addiu $s5, $sp, 0x28 +/* CD9834 80242554 AFA30038 */ sw $v1, 0x38($sp) +/* CD9838 80242558 8E2300D0 */ lw $v1, 0xd0($s1) +/* CD983C 8024255C 3C0142C8 */ lui $at, 0x42c8 +/* CD9840 80242560 44810000 */ mtc1 $at, $f0 +/* CD9844 80242564 8C63002C */ lw $v1, 0x2c($v1) +/* CD9848 80242568 0040A02D */ daddu $s4, $v0, $zero +/* CD984C 8024256C E7A00040 */ swc1 $f0, 0x40($sp) +/* CD9850 80242570 A7A00044 */ sh $zero, 0x44($sp) +/* CD9854 80242574 12000009 */ beqz $s0, .L8024259C +/* CD9858 80242578 AFA3003C */ sw $v1, 0x3c($sp) +/* CD985C 8024257C 864300A8 */ lh $v1, 0xa8($s2) +/* CD9860 80242580 8E2200B0 */ lw $v0, 0xb0($s1) +/* CD9864 80242584 AE20008C */ sw $zero, 0x8c($s1) +/* CD9868 80242588 A22000B5 */ sb $zero, 0xb5($s1) +/* CD986C 8024258C 34420008 */ ori $v0, $v0, 8 +/* CD9870 80242590 AE230084 */ sw $v1, 0x84($s1) +/* CD9874 80242594 0809096B */ j .L802425AC +/* CD9878 80242598 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024259C: +/* CD987C 8024259C 8E2200B0 */ lw $v0, 0xb0($s1) +/* CD9880 802425A0 30420004 */ andi $v0, $v0, 4 +/* CD9884 802425A4 10400047 */ beqz $v0, .L802426C4 +/* CD9888 802425A8 00000000 */ nop +.L802425AC: +/* CD988C 802425AC AE600070 */ sw $zero, 0x70($s3) +/* CD9890 802425B0 A640008E */ sh $zero, 0x8e($s2) +/* CD9894 802425B4 8E2300CC */ lw $v1, 0xcc($s1) +/* CD9898 802425B8 2404F7FF */ addiu $a0, $zero, -0x801 +/* CD989C 802425BC A2200007 */ sb $zero, 7($s1) +/* CD98A0 802425C0 8E420000 */ lw $v0, ($s2) +/* CD98A4 802425C4 8C630000 */ lw $v1, ($v1) +/* CD98A8 802425C8 00441024 */ and $v0, $v0, $a0 +/* CD98AC 802425CC AE420000 */ sw $v0, ($s2) +/* CD98B0 802425D0 AE430028 */ sw $v1, 0x28($s2) +/* CD98B4 802425D4 96220086 */ lhu $v0, 0x86($s1) +/* CD98B8 802425D8 A64200A8 */ sh $v0, 0xa8($s2) +/* CD98BC 802425DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CD98C0 802425E0 AE200090 */ sw $zero, 0x90($s1) +/* CD98C4 802425E4 8C420034 */ lw $v0, 0x34($v0) +/* CD98C8 802425E8 14400006 */ bnez $v0, .L80242604 +/* CD98CC 802425EC 2403FDFF */ addiu $v1, $zero, -0x201 +/* CD98D0 802425F0 8E420000 */ lw $v0, ($s2) +/* CD98D4 802425F4 2403FFF7 */ addiu $v1, $zero, -9 +/* CD98D8 802425F8 34420200 */ ori $v0, $v0, 0x200 +/* CD98DC 802425FC 08090984 */ j .L80242610 +/* CD98E0 80242600 00431024 */ and $v0, $v0, $v1 +.L80242604: +/* CD98E4 80242604 8E420000 */ lw $v0, ($s2) +/* CD98E8 80242608 00431024 */ and $v0, $v0, $v1 +/* CD98EC 8024260C 34420008 */ ori $v0, $v0, 8 +.L80242610: +/* CD98F0 80242610 AE420000 */ sw $v0, ($s2) +/* CD98F4 80242614 8E2200B0 */ lw $v0, 0xb0($s1) +/* CD98F8 80242618 30420004 */ andi $v0, $v0, 4 +/* CD98FC 8024261C 1040001E */ beqz $v0, .L80242698 +/* CD9900 80242620 24040002 */ addiu $a0, $zero, 2 +/* CD9904 80242624 0240282D */ daddu $a1, $s2, $zero +/* CD9908 80242628 0000302D */ daddu $a2, $zero, $zero +/* CD990C 8024262C 24020063 */ addiu $v0, $zero, 0x63 +/* CD9910 80242630 AE620070 */ sw $v0, 0x70($s3) +/* CD9914 80242634 AE600074 */ sw $zero, 0x74($s3) +/* CD9918 80242638 864300A8 */ lh $v1, 0xa8($s2) +/* CD991C 8024263C 3C013F80 */ lui $at, 0x3f80 +/* CD9920 80242640 44810000 */ mtc1 $at, $f0 +/* CD9924 80242644 3C014000 */ lui $at, 0x4000 +/* CD9928 80242648 44811000 */ mtc1 $at, $f2 +/* CD992C 8024264C 3C01C1A0 */ lui $at, 0xc1a0 +/* CD9930 80242650 44812000 */ mtc1 $at, $f4 +/* CD9934 80242654 24020028 */ addiu $v0, $zero, 0x28 +/* CD9938 80242658 AFA2001C */ sw $v0, 0x1c($sp) +/* CD993C 8024265C 44833000 */ mtc1 $v1, $f6 +/* CD9940 80242660 00000000 */ nop +/* CD9944 80242664 468031A0 */ cvt.s.w $f6, $f6 +/* CD9948 80242668 44073000 */ mfc1 $a3, $f6 +/* CD994C 8024266C 27A20048 */ addiu $v0, $sp, 0x48 +/* CD9950 80242670 AFA20020 */ sw $v0, 0x20($sp) +/* CD9954 80242674 E7A00010 */ swc1 $f0, 0x10($sp) +/* CD9958 80242678 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD995C 8024267C 0C01BFA4 */ jal fx_emote +/* CD9960 80242680 E7A40018 */ swc1 $f4, 0x18($sp) +/* CD9964 80242684 8E2200B0 */ lw $v0, 0xb0($s1) +/* CD9968 80242688 2403FFFB */ addiu $v1, $zero, -5 +/* CD996C 8024268C 00431024 */ and $v0, $v0, $v1 +/* CD9970 80242690 080909B1 */ j .L802426C4 +/* CD9974 80242694 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242698: +/* CD9978 80242698 8E220000 */ lw $v0, ($s1) +/* CD997C 8024269C 3C034000 */ lui $v1, 0x4000 +/* CD9980 802426A0 00431024 */ and $v0, $v0, $v1 +/* CD9984 802426A4 10400007 */ beqz $v0, .L802426C4 +/* CD9988 802426A8 3C03BFFF */ lui $v1, 0xbfff +/* CD998C 802426AC 2402000C */ addiu $v0, $zero, 0xc +/* CD9990 802426B0 AE620070 */ sw $v0, 0x70($s3) +/* CD9994 802426B4 8E220000 */ lw $v0, ($s1) +/* CD9998 802426B8 3463FFFF */ ori $v1, $v1, 0xffff +/* CD999C 802426BC 00431024 */ and $v0, $v0, $v1 +/* CD99A0 802426C0 AE220000 */ sw $v0, ($s1) +.L802426C4: +/* CD99A4 802426C4 8E220090 */ lw $v0, 0x90($s1) +/* CD99A8 802426C8 1840000C */ blez $v0, .L802426FC +/* CD99AC 802426CC 2442FFFF */ addiu $v0, $v0, -1 +/* CD99B0 802426D0 14400087 */ bnez $v0, .L802428F0 +/* CD99B4 802426D4 AE220090 */ sw $v0, 0x90($s1) +/* CD99B8 802426D8 3C03FFAA */ lui $v1, 0xffaa +/* CD99BC 802426DC 8E420028 */ lw $v0, 0x28($s2) +/* CD99C0 802426E0 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* CD99C4 802426E4 00431021 */ addu $v0, $v0, $v1 +/* CD99C8 802426E8 2C420002 */ sltiu $v0, $v0, 2 +/* CD99CC 802426EC 10400003 */ beqz $v0, .L802426FC +/* CD99D0 802426F0 3C020055 */ lui $v0, 0x55 +/* CD99D4 802426F4 3442000C */ ori $v0, $v0, 0xc +/* CD99D8 802426F8 AE420028 */ sw $v0, 0x28($s2) +.L802426FC: +/* CD99DC 802426FC 8E630070 */ lw $v1, 0x70($s3) +/* CD99E0 80242700 2402000C */ addiu $v0, $zero, 0xc +/* CD99E4 80242704 10620048 */ beq $v1, $v0, .L80242828 +/* CD99E8 80242708 2862000D */ slti $v0, $v1, 0xd +/* CD99EC 8024270C 1040000F */ beqz $v0, .L8024274C +/* CD99F0 80242710 24100001 */ addiu $s0, $zero, 1 +/* CD99F4 80242714 1070001E */ beq $v1, $s0, .L80242790 +/* CD99F8 80242718 28620002 */ slti $v0, $v1, 2 +/* CD99FC 8024271C 10400005 */ beqz $v0, .L80242734 +/* CD9A00 80242720 24020002 */ addiu $v0, $zero, 2 +/* CD9A04 80242724 10600015 */ beqz $v1, .L8024277C +/* CD9A08 80242728 0260202D */ daddu $a0, $s3, $zero +/* CD9A0C 8024272C 08090A21 */ j .L80242884 +/* CD9A10 80242730 00000000 */ nop +.L80242734: +/* CD9A14 80242734 1062001C */ beq $v1, $v0, .L802427A8 +/* CD9A18 80242738 24020003 */ addiu $v0, $zero, 3 +/* CD9A1C 8024273C 10620035 */ beq $v1, $v0, .L80242814 +/* CD9A20 80242740 0260202D */ daddu $a0, $s3, $zero +/* CD9A24 80242744 08090A21 */ j .L80242884 +/* CD9A28 80242748 00000000 */ nop +.L8024274C: +/* CD9A2C 8024274C 2402000E */ addiu $v0, $zero, 0xe +/* CD9A30 80242750 1062003F */ beq $v1, $v0, .L80242850 +/* CD9A34 80242754 0062102A */ slt $v0, $v1, $v0 +/* CD9A38 80242758 14400038 */ bnez $v0, .L8024283C +/* CD9A3C 8024275C 0260202D */ daddu $a0, $s3, $zero +/* CD9A40 80242760 2402000F */ addiu $v0, $zero, 0xf +/* CD9A44 80242764 10620040 */ beq $v1, $v0, .L80242868 +/* CD9A48 80242768 24020063 */ addiu $v0, $zero, 0x63 +/* CD9A4C 8024276C 10620043 */ beq $v1, $v0, .L8024287C +/* CD9A50 80242770 00000000 */ nop +/* CD9A54 80242774 08090A21 */ j .L80242884 +/* CD9A58 80242778 00000000 */ nop +.L8024277C: +/* CD9A5C 8024277C 0280282D */ daddu $a1, $s4, $zero +/* CD9A60 80242780 0C012568 */ jal func_800495A0 +/* CD9A64 80242784 02A0302D */ daddu $a2, $s5, $zero +/* CD9A68 80242788 96220086 */ lhu $v0, 0x86($s1) +/* CD9A6C 8024278C A64200A8 */ sh $v0, 0xa8($s2) +.L80242790: +/* CD9A70 80242790 0260202D */ daddu $a0, $s3, $zero +/* CD9A74 80242794 0280282D */ daddu $a1, $s4, $zero +/* CD9A78 80242798 0C0125AE */ jal func_800496B8 +/* CD9A7C 8024279C 02A0302D */ daddu $a2, $s5, $zero +/* CD9A80 802427A0 08090A21 */ j .L80242884 +/* CD9A84 802427A4 00000000 */ nop +.L802427A8: +/* CD9A88 802427A8 0260202D */ daddu $a0, $s3, $zero +/* CD9A8C 802427AC 0280282D */ daddu $a1, $s4, $zero +/* CD9A90 802427B0 0C0126D1 */ jal func_80049B44 +/* CD9A94 802427B4 02A0302D */ daddu $a2, $s5, $zero +/* CD9A98 802427B8 8E230088 */ lw $v1, 0x88($s1) +/* CD9A9C 802427BC 24020006 */ addiu $v0, $zero, 6 +/* CD9AA0 802427C0 14620014 */ bne $v1, $v0, .L80242814 +/* CD9AA4 802427C4 0260202D */ daddu $a0, $s3, $zero +/* CD9AA8 802427C8 0C00A67F */ jal rand_int +/* CD9AAC 802427CC 24040064 */ addiu $a0, $zero, 0x64 +/* CD9AB0 802427D0 28420021 */ slti $v0, $v0, 0x21 +/* CD9AB4 802427D4 5040000F */ beql $v0, $zero, .L80242814 +/* CD9AB8 802427D8 0260202D */ daddu $a0, $s3, $zero +/* CD9ABC 802427DC 8E22008C */ lw $v0, 0x8c($s1) +/* CD9AC0 802427E0 10400005 */ beqz $v0, .L802427F8 +/* CD9AC4 802427E4 3C020055 */ lui $v0, 0x55 +/* CD9AC8 802427E8 3442002F */ ori $v0, $v0, 0x2f +/* CD9ACC 802427EC AE20008C */ sw $zero, 0x8c($s1) +/* CD9AD0 802427F0 08090A01 */ j .L80242804 +/* CD9AD4 802427F4 A22000B5 */ sb $zero, 0xb5($s1) +.L802427F8: +/* CD9AD8 802427F8 3442002E */ ori $v0, $v0, 0x2e +/* CD9ADC 802427FC AE30008C */ sw $s0, 0x8c($s1) +/* CD9AE0 80242800 A23000B5 */ sb $s0, 0xb5($s1) +.L80242804: +/* CD9AE4 80242804 AE420028 */ sw $v0, 0x28($s2) +/* CD9AE8 80242808 24020007 */ addiu $v0, $zero, 7 +/* CD9AEC 8024280C 08090A3C */ j .L802428F0 +/* CD9AF0 80242810 AE220090 */ sw $v0, 0x90($s1) +.L80242814: +/* CD9AF4 80242814 0280282D */ daddu $a1, $s4, $zero +/* CD9AF8 80242818 0C012701 */ jal func_80049C04 +/* CD9AFC 8024281C 02A0302D */ daddu $a2, $s5, $zero +/* CD9B00 80242820 08090A21 */ j .L80242884 +/* CD9B04 80242824 00000000 */ nop +.L80242828: +/* CD9B08 80242828 0260202D */ daddu $a0, $s3, $zero +/* CD9B0C 8024282C 0280282D */ daddu $a1, $s4, $zero +/* CD9B10 80242830 0C090851 */ jal func_80242144 +/* CD9B14 80242834 02A0302D */ daddu $a2, $s5, $zero +/* CD9B18 80242838 0260202D */ daddu $a0, $s3, $zero +.L8024283C: +/* CD9B1C 8024283C 0280282D */ daddu $a1, $s4, $zero +/* CD9B20 80242840 0C090870 */ jal func_802421C0 +/* CD9B24 80242844 02A0302D */ daddu $a2, $s5, $zero +/* CD9B28 80242848 08090A21 */ j .L80242884 +/* CD9B2C 8024284C 00000000 */ nop +.L80242850: +/* CD9B30 80242850 0260202D */ daddu $a0, $s3, $zero +/* CD9B34 80242854 0280282D */ daddu $a1, $s4, $zero +/* CD9B38 80242858 0C0908BD */ jal func_802422F4 +/* CD9B3C 8024285C 02A0302D */ daddu $a2, $s5, $zero +/* CD9B40 80242860 08090A21 */ j .L80242884 +/* CD9B44 80242864 00000000 */ nop +.L80242868: +/* CD9B48 80242868 0280282D */ daddu $a1, $s4, $zero +/* CD9B4C 8024286C 0C090916 */ jal func_80242458 +/* CD9B50 80242870 02A0302D */ daddu $a2, $s5, $zero +/* CD9B54 80242874 08090A21 */ j .L80242884 +/* CD9B58 80242878 00000000 */ nop +.L8024287C: +/* CD9B5C 8024287C 0C0129CF */ jal func_8004A73C +/* CD9B60 80242880 0260202D */ daddu $a0, $s3, $zero +.L80242884: +/* CD9B64 80242884 8E230088 */ lw $v1, 0x88($s1) +/* CD9B68 80242888 24020006 */ addiu $v0, $zero, 6 +/* CD9B6C 8024288C 14620019 */ bne $v1, $v0, .L802428F4 +/* CD9B70 80242890 0000102D */ daddu $v0, $zero, $zero +/* CD9B74 80242894 8E22008C */ lw $v0, 0x8c($s1) +/* CD9B78 80242898 10400003 */ beqz $v0, .L802428A8 +/* CD9B7C 8024289C 24020001 */ addiu $v0, $zero, 1 +/* CD9B80 802428A0 08090A2B */ j .L802428AC +/* CD9B84 802428A4 A22200B5 */ sb $v0, 0xb5($s1) +.L802428A8: +/* CD9B88 802428A8 A22000B5 */ sb $zero, 0xb5($s1) +.L802428AC: +/* CD9B8C 802428AC 8E22008C */ lw $v0, 0x8c($s1) +/* CD9B90 802428B0 1040000F */ beqz $v0, .L802428F0 +/* CD9B94 802428B4 3C03FFAA */ lui $v1, 0xffaa +/* CD9B98 802428B8 8E420028 */ lw $v0, 0x28($s2) +/* CD9B9C 802428BC 3463FFFC */ ori $v1, $v1, 0xfffc +/* CD9BA0 802428C0 00431821 */ addu $v1, $v0, $v1 +/* CD9BA4 802428C4 2C620015 */ sltiu $v0, $v1, 0x15 +/* CD9BA8 802428C8 10400009 */ beqz $v0, .L802428F0 +/* CD9BAC 802428CC 00031080 */ sll $v0, $v1, 2 +/* CD9BB0 802428D0 3C018024 */ lui $at, 0x8024 +/* CD9BB4 802428D4 00220821 */ addu $at, $at, $v0 +/* CD9BB8 802428D8 8C225360 */ lw $v0, 0x5360($at) +/* CD9BBC 802428DC 00400008 */ jr $v0 +/* CD9BC0 802428E0 00000000 */ nop +/* CD9BC4 802428E4 8E420028 */ lw $v0, 0x28($s2) +/* CD9BC8 802428E8 24420001 */ addiu $v0, $v0, 1 +/* CD9BCC 802428EC AE420028 */ sw $v0, 0x28($s2) +.L802428F0: +/* CD9BD0 802428F0 0000102D */ daddu $v0, $zero, $zero +.L802428F4: +/* CD9BD4 802428F4 8FBF0068 */ lw $ra, 0x68($sp) +/* CD9BD8 802428F8 8FB50064 */ lw $s5, 0x64($sp) +/* CD9BDC 802428FC 8FB40060 */ lw $s4, 0x60($sp) +/* CD9BE0 80242900 8FB3005C */ lw $s3, 0x5c($sp) +/* CD9BE4 80242904 8FB20058 */ lw $s2, 0x58($sp) +/* CD9BE8 80242908 8FB10054 */ lw $s1, 0x54($sp) +/* CD9BEC 8024290C 8FB00050 */ lw $s0, 0x50($sp) +/* CD9BF0 80242910 03E00008 */ jr $ra +/* CD9BF4 80242914 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_flo/flo_17/func_80242918.s b/asm/nonmatchings/world/area_flo/flo_17/func_80242918.s new file mode 100644 index 0000000000..706ec46926 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_17/func_80242918.s @@ -0,0 +1,619 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242918 +/* CD9BF8 80242918 27BDFF68 */ addiu $sp, $sp, -0x98 +/* CD9BFC 8024291C AFB5007C */ sw $s5, 0x7c($sp) +/* CD9C00 80242920 0080A82D */ daddu $s5, $a0, $zero +/* CD9C04 80242924 AFBF0080 */ sw $ra, 0x80($sp) +/* CD9C08 80242928 AFB40078 */ sw $s4, 0x78($sp) +/* CD9C0C 8024292C AFB30074 */ sw $s3, 0x74($sp) +/* CD9C10 80242930 AFB20070 */ sw $s2, 0x70($sp) +/* CD9C14 80242934 AFB1006C */ sw $s1, 0x6c($sp) +/* CD9C18 80242938 AFB00068 */ sw $s0, 0x68($sp) +/* CD9C1C 8024293C F7B60090 */ sdc1 $f22, 0x90($sp) +/* CD9C20 80242940 F7B40088 */ sdc1 $f20, 0x88($sp) +/* CD9C24 80242944 8EB20148 */ lw $s2, 0x148($s5) +/* CD9C28 80242948 86440008 */ lh $a0, 8($s2) +/* CD9C2C 8024294C 0C00EABB */ jal get_npc_unsafe +/* CD9C30 80242950 00A0802D */ daddu $s0, $a1, $zero +/* CD9C34 80242954 8EA3000C */ lw $v1, 0xc($s5) +/* CD9C38 80242958 02A0202D */ daddu $a0, $s5, $zero +/* CD9C3C 8024295C 8C650000 */ lw $a1, ($v1) +/* CD9C40 80242960 0C0B1EAF */ jal get_variable +/* CD9C44 80242964 0040882D */ daddu $s1, $v0, $zero +/* CD9C48 80242968 AFA00028 */ sw $zero, 0x28($sp) +/* CD9C4C 8024296C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD9C50 80242970 8C630030 */ lw $v1, 0x30($v1) +/* CD9C54 80242974 AFA3002C */ sw $v1, 0x2c($sp) +/* CD9C58 80242978 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD9C5C 8024297C 8C63001C */ lw $v1, 0x1c($v1) +/* CD9C60 80242980 AFA30030 */ sw $v1, 0x30($sp) +/* CD9C64 80242984 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD9C68 80242988 8C630024 */ lw $v1, 0x24($v1) +/* CD9C6C 8024298C AFA30034 */ sw $v1, 0x34($sp) +/* CD9C70 80242990 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD9C74 80242994 8C630028 */ lw $v1, 0x28($v1) +/* CD9C78 80242998 27B40028 */ addiu $s4, $sp, 0x28 +/* CD9C7C 8024299C AFA30038 */ sw $v1, 0x38($sp) +/* CD9C80 802429A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CD9C84 802429A4 3C014282 */ lui $at, 0x4282 +/* CD9C88 802429A8 44810000 */ mtc1 $at, $f0 +/* CD9C8C 802429AC 8C63002C */ lw $v1, 0x2c($v1) +/* CD9C90 802429B0 0040982D */ daddu $s3, $v0, $zero +/* CD9C94 802429B4 E7A00040 */ swc1 $f0, 0x40($sp) +/* CD9C98 802429B8 A7A00044 */ sh $zero, 0x44($sp) +/* CD9C9C 802429BC 12000007 */ beqz $s0, .L802429DC +/* CD9CA0 802429C0 AFA3003C */ sw $v1, 0x3c($sp) +/* CD9CA4 802429C4 8E4200B0 */ lw $v0, 0xb0($s2) +/* CD9CA8 802429C8 862300A8 */ lh $v1, 0xa8($s1) +/* CD9CAC 802429CC 34420008 */ ori $v0, $v0, 8 +/* CD9CB0 802429D0 AE430084 */ sw $v1, 0x84($s2) +/* CD9CB4 802429D4 08090A7B */ j .L802429EC +/* CD9CB8 802429D8 AE4200B0 */ sw $v0, 0xb0($s2) +.L802429DC: +/* CD9CBC 802429DC 8E430094 */ lw $v1, 0x94($s2) +/* CD9CC0 802429E0 24020064 */ addiu $v0, $zero, 0x64 +/* CD9CC4 802429E4 1462001C */ bne $v1, $v0, .L80242A58 +/* CD9CC8 802429E8 00000000 */ nop +.L802429EC: +/* CD9CCC 802429EC 24020064 */ addiu $v0, $zero, 0x64 +/* CD9CD0 802429F0 2404F7FF */ addiu $a0, $zero, -0x801 +/* CD9CD4 802429F4 AEA20070 */ sw $v0, 0x70($s5) +/* CD9CD8 802429F8 A620008E */ sh $zero, 0x8e($s1) +/* CD9CDC 802429FC 8E4300CC */ lw $v1, 0xcc($s2) +/* CD9CE0 80242A00 8E220000 */ lw $v0, ($s1) +/* CD9CE4 80242A04 3C01C47A */ lui $at, 0xc47a +/* CD9CE8 80242A08 44810000 */ mtc1 $at, $f0 +/* CD9CEC 80242A0C 8C630000 */ lw $v1, ($v1) +/* CD9CF0 80242A10 00441024 */ and $v0, $v0, $a0 +/* CD9CF4 80242A14 AE220000 */ sw $v0, ($s1) +/* CD9CF8 80242A18 AE230028 */ sw $v1, 0x28($s1) +/* CD9CFC 80242A1C 8E420000 */ lw $v0, ($s2) +/* CD9D00 80242A20 3C030020 */ lui $v1, 0x20 +/* CD9D04 80242A24 00431025 */ or $v0, $v0, $v1 +/* CD9D08 80242A28 AE420000 */ sw $v0, ($s2) +/* CD9D0C 80242A2C 8E220000 */ lw $v0, ($s1) +/* CD9D10 80242A30 2403FDFF */ addiu $v1, $zero, -0x201 +/* CD9D14 80242A34 00431024 */ and $v0, $v0, $v1 +/* CD9D18 80242A38 34420008 */ ori $v0, $v0, 8 +/* CD9D1C 80242A3C AE220000 */ sw $v0, ($s1) +/* CD9D20 80242A40 2402FFFF */ addiu $v0, $zero, -1 +/* CD9D24 80242A44 AE400094 */ sw $zero, 0x94($s2) +/* CD9D28 80242A48 AE420098 */ sw $v0, 0x98($s2) +/* CD9D2C 80242A4C AE200038 */ sw $zero, 0x38($s1) +/* CD9D30 80242A50 E620003C */ swc1 $f0, 0x3c($s1) +/* CD9D34 80242A54 AE200040 */ sw $zero, 0x40($s1) +.L80242A58: +/* CD9D38 80242A58 8E4200B0 */ lw $v0, 0xb0($s2) +/* CD9D3C 80242A5C 30420004 */ andi $v0, $v0, 4 +/* CD9D40 80242A60 10400030 */ beqz $v0, .L80242B24 +/* CD9D44 80242A64 2403FFFB */ addiu $v1, $zero, -5 +/* CD9D48 80242A68 A620008E */ sh $zero, 0x8e($s1) +/* CD9D4C 80242A6C 96420086 */ lhu $v0, 0x86($s2) +/* CD9D50 80242A70 A62200A8 */ sh $v0, 0xa8($s1) +/* CD9D54 80242A74 8E4200B0 */ lw $v0, 0xb0($s2) +/* CD9D58 80242A78 00431024 */ and $v0, $v0, $v1 +/* CD9D5C 80242A7C AE4200B0 */ sw $v0, 0xb0($s2) +/* CD9D60 80242A80 8E220000 */ lw $v0, ($s1) +/* CD9D64 80242A84 30420800 */ andi $v0, $v0, 0x800 +/* CD9D68 80242A88 1040000A */ beqz $v0, .L80242AB4 +/* CD9D6C 80242A8C 3C02004A */ lui $v0, 0x4a +/* CD9D70 80242A90 3C013F80 */ lui $at, 0x3f80 +/* CD9D74 80242A94 44810000 */ mtc1 $at, $f0 +/* CD9D78 80242A98 34420018 */ ori $v0, $v0, 0x18 +/* CD9D7C 80242A9C AE220028 */ sw $v0, 0x28($s1) +/* CD9D80 80242AA0 24020066 */ addiu $v0, $zero, 0x66 +/* CD9D84 80242AA4 AE200018 */ sw $zero, 0x18($s1) +/* CD9D88 80242AA8 AE20001C */ sw $zero, 0x1c($s1) +/* CD9D8C 80242AAC 08090AC8 */ j .L80242B20 +/* CD9D90 80242AB0 E6200014 */ swc1 $f0, 0x14($s1) +.L80242AB4: +/* CD9D94 80242AB4 24040002 */ addiu $a0, $zero, 2 +/* CD9D98 80242AB8 0220282D */ daddu $a1, $s1, $zero +/* CD9D9C 80242ABC 0000302D */ daddu $a2, $zero, $zero +/* CD9DA0 80242AC0 862300A8 */ lh $v1, 0xa8($s1) +/* CD9DA4 80242AC4 3C013F80 */ lui $at, 0x3f80 +/* CD9DA8 80242AC8 44810000 */ mtc1 $at, $f0 +/* CD9DAC 80242ACC 3C014000 */ lui $at, 0x4000 +/* CD9DB0 80242AD0 44811000 */ mtc1 $at, $f2 +/* CD9DB4 80242AD4 3C01C1A0 */ lui $at, 0xc1a0 +/* CD9DB8 80242AD8 44812000 */ mtc1 $at, $f4 +/* CD9DBC 80242ADC 24020028 */ addiu $v0, $zero, 0x28 +/* CD9DC0 80242AE0 AFA2001C */ sw $v0, 0x1c($sp) +/* CD9DC4 80242AE4 44834000 */ mtc1 $v1, $f8 +/* CD9DC8 80242AE8 00000000 */ nop +/* CD9DCC 80242AEC 46804220 */ cvt.s.w $f8, $f8 +/* CD9DD0 80242AF0 44074000 */ mfc1 $a3, $f8 +/* CD9DD4 80242AF4 27A20048 */ addiu $v0, $sp, 0x48 +/* CD9DD8 80242AF8 AFA20020 */ sw $v0, 0x20($sp) +/* CD9DDC 80242AFC E7A00010 */ swc1 $f0, 0x10($sp) +/* CD9DE0 80242B00 E7A20014 */ swc1 $f2, 0x14($sp) +/* CD9DE4 80242B04 0C01BFA4 */ jal fx_emote +/* CD9DE8 80242B08 E7A40018 */ swc1 $f4, 0x18($sp) +/* CD9DEC 80242B0C 8E4200CC */ lw $v0, 0xcc($s2) +/* CD9DF0 80242B10 8C420000 */ lw $v0, ($v0) +/* CD9DF4 80242B14 AE220028 */ sw $v0, 0x28($s1) +/* CD9DF8 80242B18 240200C8 */ addiu $v0, $zero, 0xc8 +/* CD9DFC 80242B1C AEA00074 */ sw $zero, 0x74($s5) +.L80242B20: +/* CD9E00 80242B20 AEA20070 */ sw $v0, 0x70($s5) +.L80242B24: +/* CD9E04 80242B24 27A2004C */ addiu $v0, $sp, 0x4c +/* CD9E08 80242B28 AFA20010 */ sw $v0, 0x10($sp) +/* CD9E0C 80242B2C 27A20050 */ addiu $v0, $sp, 0x50 +/* CD9E10 80242B30 AFA20014 */ sw $v0, 0x14($sp) +/* CD9E14 80242B34 27A20054 */ addiu $v0, $sp, 0x54 +/* CD9E18 80242B38 AFA20018 */ sw $v0, 0x18($sp) +/* CD9E1C 80242B3C 8E250038 */ lw $a1, 0x38($s1) +/* CD9E20 80242B40 8E26003C */ lw $a2, 0x3c($s1) +/* CD9E24 80242B44 8E270040 */ lw $a3, 0x40($s1) +/* CD9E28 80242B48 0C00B94E */ jal get_screen_coords +/* CD9E2C 80242B4C 0000202D */ daddu $a0, $zero, $zero +/* CD9E30 80242B50 8EA20070 */ lw $v0, 0x70($s5) +/* CD9E34 80242B54 28420064 */ slti $v0, $v0, 0x64 +/* CD9E38 80242B58 10400007 */ beqz $v0, .L80242B78 +/* CD9E3C 80242B5C 00000000 */ nop +/* CD9E40 80242B60 8FA2004C */ lw $v0, 0x4c($sp) +/* CD9E44 80242B64 24420032 */ addiu $v0, $v0, 0x32 +/* CD9E48 80242B68 2C4201A5 */ sltiu $v0, $v0, 0x1a5 +/* CD9E4C 80242B6C 14400002 */ bnez $v0, .L80242B78 +/* CD9E50 80242B70 2402006E */ addiu $v0, $zero, 0x6e +/* CD9E54 80242B74 AEA20070 */ sw $v0, 0x70($s5) +.L80242B78: +/* CD9E58 80242B78 8EA30070 */ lw $v1, 0x70($s5) +/* CD9E5C 80242B7C 2402000F */ addiu $v0, $zero, 0xf +/* CD9E60 80242B80 1062006B */ beq $v1, $v0, .L80242D30 +/* CD9E64 80242B84 28620010 */ slti $v0, $v1, 0x10 +/* CD9E68 80242B88 10400016 */ beqz $v0, .L80242BE4 +/* CD9E6C 80242B8C 24020003 */ addiu $v0, $zero, 3 +/* CD9E70 80242B90 10620051 */ beq $v1, $v0, .L80242CD8 +/* CD9E74 80242B94 28620004 */ slti $v0, $v1, 4 +/* CD9E78 80242B98 10400009 */ beqz $v0, .L80242BC0 +/* CD9E7C 80242B9C 24020001 */ addiu $v0, $zero, 1 +/* CD9E80 80242BA0 10620044 */ beq $v1, $v0, .L80242CB4 +/* CD9E84 80242BA4 28620002 */ slti $v0, $v1, 2 +/* CD9E88 80242BA8 50400048 */ beql $v0, $zero, .L80242CCC +/* CD9E8C 80242BAC 02A0202D */ daddu $a0, $s5, $zero +/* CD9E90 80242BB0 50600027 */ beql $v1, $zero, .L80242C50 +/* CD9E94 80242BB4 02A0202D */ daddu $a0, $s5, $zero +/* CD9E98 80242BB8 08090C79 */ j .L802431E4 +/* CD9E9C 80242BBC 00000000 */ nop +.L80242BC0: +/* CD9EA0 80242BC0 2402000D */ addiu $v0, $zero, 0xd +/* CD9EA4 80242BC4 1062004D */ beq $v1, $v0, .L80242CFC +/* CD9EA8 80242BC8 2862000E */ slti $v0, $v1, 0xe +/* CD9EAC 80242BCC 10400052 */ beqz $v0, .L80242D18 +/* CD9EB0 80242BD0 2402000C */ addiu $v0, $zero, 0xc +/* CD9EB4 80242BD4 10620046 */ beq $v1, $v0, .L80242CF0 +/* CD9EB8 80242BD8 02A0202D */ daddu $a0, $s5, $zero +/* CD9EBC 80242BDC 08090C79 */ j .L802431E4 +/* CD9EC0 80242BE0 00000000 */ nop +.L80242BE4: +/* CD9EC4 80242BE4 24020067 */ addiu $v0, $zero, 0x67 +/* CD9EC8 80242BE8 10620158 */ beq $v1, $v0, .L8024314C +/* CD9ECC 80242BEC 28620068 */ slti $v0, $v1, 0x68 +/* CD9ED0 80242BF0 10400009 */ beqz $v0, .L80242C18 +/* CD9ED4 80242BF4 24020065 */ addiu $v0, $zero, 0x65 +/* CD9ED8 80242BF8 1062008F */ beq $v1, $v0, .L80242E38 +/* CD9EDC 80242BFC 28620066 */ slti $v0, $v1, 0x66 +/* CD9EE0 80242C00 104000A9 */ beqz $v0, .L80242EA8 +/* CD9EE4 80242C04 24020064 */ addiu $v0, $zero, 0x64 +/* CD9EE8 80242C08 1062004F */ beq $v1, $v0, .L80242D48 +/* CD9EEC 80242C0C 24020002 */ addiu $v0, $zero, 2 +/* CD9EF0 80242C10 08090C79 */ j .L802431E4 +/* CD9EF4 80242C14 00000000 */ nop +.L80242C18: +/* CD9EF8 80242C18 2404006F */ addiu $a0, $zero, 0x6f +/* CD9EFC 80242C1C 10640166 */ beq $v1, $a0, .L802431B8 +/* CD9F00 80242C20 28620070 */ slti $v0, $v1, 0x70 +/* CD9F04 80242C24 10400005 */ beqz $v0, .L80242C3C +/* CD9F08 80242C28 2402006E */ addiu $v0, $zero, 0x6e +/* CD9F0C 80242C2C 10620156 */ beq $v1, $v0, .L80243188 +/* CD9F10 80242C30 2402001E */ addiu $v0, $zero, 0x1e +/* CD9F14 80242C34 08090C79 */ j .L802431E4 +/* CD9F18 80242C38 00000000 */ nop +.L80242C3C: +/* CD9F1C 80242C3C 240200C8 */ addiu $v0, $zero, 0xc8 +/* CD9F20 80242C40 10620166 */ beq $v1, $v0, .L802431DC +/* CD9F24 80242C44 00000000 */ nop +/* CD9F28 80242C48 08090C79 */ j .L802431E4 +/* CD9F2C 80242C4C 00000000 */ nop +.L80242C50: +/* CD9F30 80242C50 0260282D */ daddu $a1, $s3, $zero +/* CD9F34 80242C54 0C012568 */ jal func_800495A0 +/* CD9F38 80242C58 0280302D */ daddu $a2, $s4, $zero +/* CD9F3C 80242C5C 96420086 */ lhu $v0, 0x86($s2) +/* CD9F40 80242C60 A62200A8 */ sh $v0, 0xa8($s1) +/* CD9F44 80242C64 8E4200A0 */ lw $v0, 0xa0($s2) +/* CD9F48 80242C68 10400013 */ beqz $v0, .L80242CB8 +/* CD9F4C 80242C6C 02A0202D */ daddu $a0, $s5, $zero +/* CD9F50 80242C70 C620003C */ lwc1 $f0, 0x3c($s1) +/* CD9F54 80242C74 44801000 */ mtc1 $zero, $f2 +/* CD9F58 80242C78 44801800 */ mtc1 $zero, $f3 +/* CD9F5C 80242C7C 46000021 */ cvt.d.s $f0, $f0 +/* CD9F60 80242C80 4622003E */ c.le.d $f0, $f2 +/* CD9F64 80242C84 00000000 */ nop +/* CD9F68 80242C88 45000005 */ bc1f .L80242CA0 +/* CD9F6C 80242C8C 2403FDFF */ addiu $v1, $zero, -0x201 +/* CD9F70 80242C90 8E220000 */ lw $v0, ($s1) +/* CD9F74 80242C94 00431024 */ and $v0, $v0, $v1 +/* CD9F78 80242C98 08090B2C */ j .L80242CB0 +/* CD9F7C 80242C9C 34420008 */ ori $v0, $v0, 8 +.L80242CA0: +/* CD9F80 80242CA0 8E220000 */ lw $v0, ($s1) +/* CD9F84 80242CA4 2403FFF7 */ addiu $v1, $zero, -9 +/* CD9F88 80242CA8 34420200 */ ori $v0, $v0, 0x200 +/* CD9F8C 80242CAC 00431024 */ and $v0, $v0, $v1 +.L80242CB0: +/* CD9F90 80242CB0 AE220000 */ sw $v0, ($s1) +.L80242CB4: +/* CD9F94 80242CB4 02A0202D */ daddu $a0, $s5, $zero +.L80242CB8: +/* CD9F98 80242CB8 0260282D */ daddu $a1, $s3, $zero +/* CD9F9C 80242CBC 0C0125AE */ jal func_800496B8 +/* CD9FA0 80242CC0 0280302D */ daddu $a2, $s4, $zero +/* CD9FA4 80242CC4 08090C79 */ j .L802431E4 +/* CD9FA8 80242CC8 00000000 */ nop +.L80242CCC: +/* CD9FAC 80242CCC 0260282D */ daddu $a1, $s3, $zero +/* CD9FB0 80242CD0 0C0126D1 */ jal func_80049B44 +/* CD9FB4 80242CD4 0280302D */ daddu $a2, $s4, $zero +.L80242CD8: +/* CD9FB8 80242CD8 02A0202D */ daddu $a0, $s5, $zero +/* CD9FBC 80242CDC 0260282D */ daddu $a1, $s3, $zero +/* CD9FC0 80242CE0 0C012701 */ jal func_80049C04 +/* CD9FC4 80242CE4 0280302D */ daddu $a2, $s4, $zero +/* CD9FC8 80242CE8 08090C79 */ j .L802431E4 +/* CD9FCC 80242CEC 00000000 */ nop +.L80242CF0: +/* CD9FD0 80242CF0 0260282D */ daddu $a1, $s3, $zero +/* CD9FD4 80242CF4 0C090851 */ jal func_80242144 +/* CD9FD8 80242CF8 0280302D */ daddu $a2, $s4, $zero +.L80242CFC: +/* CD9FDC 80242CFC 02A0202D */ daddu $a0, $s5, $zero +/* CD9FE0 80242D00 0260282D */ daddu $a1, $s3, $zero +/* CD9FE4 80242D04 0C090870 */ jal func_802421C0 +/* CD9FE8 80242D08 0280302D */ daddu $a2, $s4, $zero +/* CD9FEC 80242D0C 96420086 */ lhu $v0, 0x86($s2) +/* CD9FF0 80242D10 08090C79 */ j .L802431E4 +/* CD9FF4 80242D14 A62200A8 */ sh $v0, 0xa8($s1) +.L80242D18: +/* CD9FF8 80242D18 02A0202D */ daddu $a0, $s5, $zero +/* CD9FFC 80242D1C 0260282D */ daddu $a1, $s3, $zero +/* CDA000 80242D20 0C0908BD */ jal func_802422F4 +/* CDA004 80242D24 0280302D */ daddu $a2, $s4, $zero +/* CDA008 80242D28 08090C79 */ j .L802431E4 +/* CDA00C 80242D2C 00000000 */ nop +.L80242D30: +/* CDA010 80242D30 02A0202D */ daddu $a0, $s5, $zero +/* CDA014 80242D34 0260282D */ daddu $a1, $s3, $zero +/* CDA018 80242D38 0C090916 */ jal func_80242458 +/* CDA01C 80242D3C 0280302D */ daddu $a2, $s4, $zero +/* CDA020 80242D40 08090C79 */ j .L802431E4 +/* CDA024 80242D44 00000000 */ nop +.L80242D48: +/* CDA028 80242D48 8E430094 */ lw $v1, 0x94($s2) +/* CDA02C 80242D4C 14620125 */ bne $v1, $v0, .L802431E4 +/* CDA030 80242D50 00000000 */ nop +/* CDA034 80242D54 0C00FB3A */ jal get_enemy +/* CDA038 80242D58 8E440098 */ lw $a0, 0x98($s2) +/* CDA03C 80242D5C 0C00EABB */ jal get_npc_unsafe +/* CDA040 80242D60 84440008 */ lh $a0, 8($v0) +/* CDA044 80242D64 C440000C */ lwc1 $f0, 0xc($v0) +/* CDA048 80242D68 3C018024 */ lui $at, 0x8024 +/* CDA04C 80242D6C D42253B8 */ ldc1 $f2, 0x53b8($at) +/* CDA050 80242D70 46000021 */ cvt.d.s $f0, $f0 +/* CDA054 80242D74 4622003C */ c.lt.d $f0, $f2 +/* CDA058 80242D78 00000000 */ nop +/* CDA05C 80242D7C 45000008 */ bc1f .L80242DA0 +/* CDA060 80242D80 00000000 */ nop +/* CDA064 80242D84 C4400038 */ lwc1 $f0, 0x38($v0) +/* CDA068 80242D88 3C014028 */ lui $at, 0x4028 +/* CDA06C 80242D8C 44811800 */ mtc1 $at, $f3 +/* CDA070 80242D90 44801000 */ mtc1 $zero, $f2 +/* CDA074 80242D94 46000021 */ cvt.d.s $f0, $f0 +/* CDA078 80242D98 08090B6E */ j .L80242DB8 +/* CDA07C 80242D9C 46220000 */ add.d $f0, $f0, $f2 +.L80242DA0: +/* CDA080 80242DA0 C4400038 */ lwc1 $f0, 0x38($v0) +/* CDA084 80242DA4 3C014028 */ lui $at, 0x4028 +/* CDA088 80242DA8 44811800 */ mtc1 $at, $f3 +/* CDA08C 80242DAC 44801000 */ mtc1 $zero, $f2 +/* CDA090 80242DB0 46000021 */ cvt.d.s $f0, $f0 +/* CDA094 80242DB4 46220001 */ sub.d $f0, $f0, $f2 +.L80242DB8: +/* CDA098 80242DB8 46200020 */ cvt.s.d $f0, $f0 +/* CDA09C 80242DBC E6200038 */ swc1 $f0, 0x38($s1) +/* CDA0A0 80242DC0 3C04004A */ lui $a0, 0x4a +/* CDA0A4 80242DC4 C440003C */ lwc1 $f0, 0x3c($v0) +/* CDA0A8 80242DC8 3C014039 */ lui $at, 0x4039 +/* CDA0AC 80242DCC 44811800 */ mtc1 $at, $f3 +/* CDA0B0 80242DD0 44801000 */ mtc1 $zero, $f2 +/* CDA0B4 80242DD4 46000021 */ cvt.d.s $f0, $f0 +/* CDA0B8 80242DD8 46220000 */ add.d $f0, $f0, $f2 +/* CDA0BC 80242DDC 34840018 */ ori $a0, $a0, 0x18 +/* CDA0C0 80242DE0 3C013FF0 */ lui $at, 0x3ff0 +/* CDA0C4 80242DE4 44811800 */ mtc1 $at, $f3 +/* CDA0C8 80242DE8 44801000 */ mtc1 $zero, $f2 +/* CDA0CC 80242DEC 46200020 */ cvt.s.d $f0, $f0 +/* CDA0D0 80242DF0 E620003C */ swc1 $f0, 0x3c($s1) +/* CDA0D4 80242DF4 C4400040 */ lwc1 $f0, 0x40($v0) +/* CDA0D8 80242DF8 8E220000 */ lw $v0, ($s1) +/* CDA0DC 80242DFC 2403FFFD */ addiu $v1, $zero, -3 +/* CDA0E0 80242E00 AE200048 */ sw $zero, 0x48($s1) +/* CDA0E4 80242E04 AE200034 */ sw $zero, 0x34($s1) +/* CDA0E8 80242E08 AE240028 */ sw $a0, 0x28($s1) +/* CDA0EC 80242E0C 34420008 */ ori $v0, $v0, 8 +/* CDA0F0 80242E10 00431024 */ and $v0, $v0, $v1 +/* CDA0F4 80242E14 2403FDFF */ addiu $v1, $zero, -0x201 +/* CDA0F8 80242E18 00431024 */ and $v0, $v0, $v1 +/* CDA0FC 80242E1C 46000021 */ cvt.d.s $f0, $f0 +/* CDA100 80242E20 46220000 */ add.d $f0, $f0, $f2 +/* CDA104 80242E24 AE220000 */ sw $v0, ($s1) +/* CDA108 80242E28 24020065 */ addiu $v0, $zero, 0x65 +/* CDA10C 80242E2C 46200020 */ cvt.s.d $f0, $f0 +/* CDA110 80242E30 E6200040 */ swc1 $f0, 0x40($s1) +/* CDA114 80242E34 AEA20070 */ sw $v0, 0x70($s5) +.L80242E38: +/* CDA118 80242E38 8E430094 */ lw $v1, 0x94($s2) +/* CDA11C 80242E3C 24020003 */ addiu $v0, $zero, 3 +/* CDA120 80242E40 146200E8 */ bne $v1, $v0, .L802431E4 +/* CDA124 80242E44 24020004 */ addiu $v0, $zero, 4 +/* CDA128 80242E48 AE420094 */ sw $v0, 0x94($s2) +/* CDA12C 80242E4C C62C0038 */ lwc1 $f12, 0x38($s1) +/* CDA130 80242E50 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CDA134 80242E54 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CDA138 80242E58 C62E0040 */ lwc1 $f14, 0x40($s1) +/* CDA13C 80242E5C 8C460028 */ lw $a2, 0x28($v0) +/* CDA140 80242E60 0C00A720 */ jal atan2 +/* CDA144 80242E64 8C470030 */ lw $a3, 0x30($v0) +/* CDA148 80242E68 3C014020 */ lui $at, 0x4020 +/* CDA14C 80242E6C 44811000 */ mtc1 $at, $f2 +/* CDA150 80242E70 3C014100 */ lui $at, 0x4100 +/* CDA154 80242E74 44812000 */ mtc1 $at, $f4 +/* CDA158 80242E78 3C013F4C */ lui $at, 0x3f4c +/* CDA15C 80242E7C 3421CCCD */ ori $at, $at, 0xcccd +/* CDA160 80242E80 44813000 */ mtc1 $at, $f6 +/* CDA164 80242E84 8E220000 */ lw $v0, ($s1) +/* CDA168 80242E88 E620000C */ swc1 $f0, 0xc($s1) +/* CDA16C 80242E8C 34420800 */ ori $v0, $v0, 0x800 +/* CDA170 80242E90 AE220000 */ sw $v0, ($s1) +/* CDA174 80242E94 24020066 */ addiu $v0, $zero, 0x66 +/* CDA178 80242E98 E6220018 */ swc1 $f2, 0x18($s1) +/* CDA17C 80242E9C E624001C */ swc1 $f4, 0x1c($s1) +/* CDA180 80242EA0 E6260014 */ swc1 $f6, 0x14($s1) +/* CDA184 80242EA4 AEA20070 */ sw $v0, 0x70($s5) +.L80242EA8: +/* CDA188 80242EA8 C6200018 */ lwc1 $f0, 0x18($s1) +/* CDA18C 80242EAC 44801000 */ mtc1 $zero, $f2 +/* CDA190 80242EB0 44801800 */ mtc1 $zero, $f3 +/* CDA194 80242EB4 46000021 */ cvt.d.s $f0, $f0 +/* CDA198 80242EB8 4620103C */ c.lt.d $f2, $f0 +/* CDA19C 80242EBC 00000000 */ nop +/* CDA1A0 80242EC0 4500001F */ bc1f .L80242F40 +/* CDA1A4 80242EC4 27A50058 */ addiu $a1, $sp, 0x58 +/* CDA1A8 80242EC8 C6200038 */ lwc1 $f0, 0x38($s1) +/* CDA1AC 80242ECC C622003C */ lwc1 $f2, 0x3c($s1) +/* CDA1B0 80242ED0 C6240040 */ lwc1 $f4, 0x40($s1) +/* CDA1B4 80242ED4 C6260018 */ lwc1 $f6, 0x18($s1) +/* CDA1B8 80242ED8 E7A00058 */ swc1 $f0, 0x58($sp) +/* CDA1BC 80242EDC E7A2005C */ swc1 $f2, 0x5c($sp) +/* CDA1C0 80242EE0 E7A40060 */ swc1 $f4, 0x60($sp) +/* CDA1C4 80242EE4 E7A60010 */ swc1 $f6, 0x10($sp) +/* CDA1C8 80242EE8 C620000C */ lwc1 $f0, 0xc($s1) +/* CDA1CC 80242EEC E7A00014 */ swc1 $f0, 0x14($sp) +/* CDA1D0 80242EF0 862200A8 */ lh $v0, 0xa8($s1) +/* CDA1D4 80242EF4 44820000 */ mtc1 $v0, $f0 +/* CDA1D8 80242EF8 00000000 */ nop +/* CDA1DC 80242EFC 46800020 */ cvt.s.w $f0, $f0 +/* CDA1E0 80242F00 E7A00018 */ swc1 $f0, 0x18($sp) +/* CDA1E4 80242F04 862200A6 */ lh $v0, 0xa6($s1) +/* CDA1E8 80242F08 27A6005C */ addiu $a2, $sp, 0x5c +/* CDA1EC 80242F0C 44820000 */ mtc1 $v0, $f0 +/* CDA1F0 80242F10 00000000 */ nop +/* CDA1F4 80242F14 46800020 */ cvt.s.w $f0, $f0 +/* CDA1F8 80242F18 E7A0001C */ swc1 $f0, 0x1c($sp) +/* CDA1FC 80242F1C 8E240080 */ lw $a0, 0x80($s1) +/* CDA200 80242F20 0C037711 */ jal func_800DDC44 +/* CDA204 80242F24 27A70060 */ addiu $a3, $sp, 0x60 +/* CDA208 80242F28 54400005 */ bnel $v0, $zero, .L80242F40 +/* CDA20C 80242F2C AE200018 */ sw $zero, 0x18($s1) +/* CDA210 80242F30 8E250018 */ lw $a1, 0x18($s1) +/* CDA214 80242F34 8E26000C */ lw $a2, 0xc($s1) +/* CDA218 80242F38 0C00EA95 */ jal npc_move_heading +/* CDA21C 80242F3C 0220202D */ daddu $a0, $s1, $zero +.L80242F40: +/* CDA220 80242F40 C620001C */ lwc1 $f0, 0x1c($s1) +/* CDA224 80242F44 4480B000 */ mtc1 $zero, $f22 +/* CDA228 80242F48 4480B800 */ mtc1 $zero, $f23 +/* CDA22C 80242F4C 46000021 */ cvt.d.s $f0, $f0 +/* CDA230 80242F50 4636003C */ c.lt.d $f0, $f22 +/* CDA234 80242F54 00000000 */ nop +/* CDA238 80242F58 45000074 */ bc1f .L8024312C +/* CDA23C 80242F5C 27A50058 */ addiu $a1, $sp, 0x58 +/* CDA240 80242F60 27A6005C */ addiu $a2, $sp, 0x5c +/* CDA244 80242F64 27A20064 */ addiu $v0, $sp, 0x64 +/* CDA248 80242F68 C622003C */ lwc1 $f2, 0x3c($s1) +/* CDA24C 80242F6C C6260038 */ lwc1 $f6, 0x38($s1) +/* CDA250 80242F70 3C01402A */ lui $at, 0x402a +/* CDA254 80242F74 4481A800 */ mtc1 $at, $f21 +/* CDA258 80242F78 4480A000 */ mtc1 $zero, $f20 +/* CDA25C 80242F7C 460010A1 */ cvt.d.s $f2, $f2 +/* CDA260 80242F80 46341080 */ add.d $f2, $f2, $f20 +/* CDA264 80242F84 C620001C */ lwc1 $f0, 0x1c($s1) +/* CDA268 80242F88 C6240040 */ lwc1 $f4, 0x40($s1) +/* CDA26C 80242F8C 46000005 */ abs.s $f0, $f0 +/* CDA270 80242F90 E7A40060 */ swc1 $f4, 0x60($sp) +/* CDA274 80242F94 3C014030 */ lui $at, 0x4030 +/* CDA278 80242F98 44812800 */ mtc1 $at, $f5 +/* CDA27C 80242F9C 44802000 */ mtc1 $zero, $f4 +/* CDA280 80242FA0 46000021 */ cvt.d.s $f0, $f0 +/* CDA284 80242FA4 E7A60058 */ swc1 $f6, 0x58($sp) +/* CDA288 80242FA8 46240000 */ add.d $f0, $f0, $f4 +/* CDA28C 80242FAC 462010A0 */ cvt.s.d $f2, $f2 +/* CDA290 80242FB0 E7A2005C */ swc1 $f2, 0x5c($sp) +/* CDA294 80242FB4 46200020 */ cvt.s.d $f0, $f0 +/* CDA298 80242FB8 E7A00064 */ swc1 $f0, 0x64($sp) +/* CDA29C 80242FBC AFA20010 */ sw $v0, 0x10($sp) +/* CDA2A0 80242FC0 8E240080 */ lw $a0, 0x80($s1) +/* CDA2A4 80242FC4 0C0372DF */ jal func_800DCB7C +/* CDA2A8 80242FC8 27A70060 */ addiu $a3, $sp, 0x60 +/* CDA2AC 80242FCC 10400057 */ beqz $v0, .L8024312C +/* CDA2B0 80242FD0 00000000 */ nop +/* CDA2B4 80242FD4 C620001C */ lwc1 $f0, 0x1c($s1) +/* CDA2B8 80242FD8 C7A20064 */ lwc1 $f2, 0x64($sp) +/* CDA2BC 80242FDC 46000005 */ abs.s $f0, $f0 +/* CDA2C0 80242FE0 46000021 */ cvt.d.s $f0, $f0 +/* CDA2C4 80242FE4 46340000 */ add.d $f0, $f0, $f20 +/* CDA2C8 80242FE8 460010A1 */ cvt.d.s $f2, $f2 +/* CDA2CC 80242FEC 4620103E */ c.le.d $f2, $f0 +/* CDA2D0 80242FF0 00000000 */ nop +/* CDA2D4 80242FF4 4500004D */ bc1f .L8024312C +/* CDA2D8 80242FF8 00000000 */ nop +/* CDA2DC 80242FFC C7A0005C */ lwc1 $f0, 0x5c($sp) +/* CDA2E0 80243000 E620003C */ swc1 $f0, 0x3c($s1) +/* CDA2E4 80243004 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA2E8 80243008 C6200038 */ lwc1 $f0, 0x38($s1) +/* CDA2EC 8024300C 4600020D */ trunc.w.s $f8, $f0 +/* CDA2F0 80243010 E4480000 */ swc1 $f8, ($v0) +/* CDA2F4 80243014 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA2F8 80243018 C620003C */ lwc1 $f0, 0x3c($s1) +/* CDA2FC 8024301C 4600020D */ trunc.w.s $f8, $f0 +/* CDA300 80243020 E4480004 */ swc1 $f8, 4($v0) +/* CDA304 80243024 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA308 80243028 C6200040 */ lwc1 $f0, 0x40($s1) +/* CDA30C 8024302C 4600020D */ trunc.w.s $f8, $f0 +/* CDA310 80243030 E4480008 */ swc1 $f8, 8($v0) +/* CDA314 80243034 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA318 80243038 C6200038 */ lwc1 $f0, 0x38($s1) +/* CDA31C 8024303C 4600020D */ trunc.w.s $f8, $f0 +/* CDA320 80243040 E448001C */ swc1 $f8, 0x1c($v0) +/* CDA324 80243044 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA328 80243048 C620003C */ lwc1 $f0, 0x3c($s1) +/* CDA32C 8024304C 4600020D */ trunc.w.s $f8, $f0 +/* CDA330 80243050 E4480020 */ swc1 $f8, 0x20($v0) +/* CDA334 80243054 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA338 80243058 C6200040 */ lwc1 $f0, 0x40($s1) +/* CDA33C 8024305C 4600020D */ trunc.w.s $f8, $f0 +/* CDA340 80243060 E4480024 */ swc1 $f8, 0x24($v0) +/* CDA344 80243064 8E4300A0 */ lw $v1, 0xa0($s2) +/* CDA348 80243068 24020005 */ addiu $v0, $zero, 5 +/* CDA34C 8024306C 1060000B */ beqz $v1, .L8024309C +/* CDA350 80243070 AE420094 */ sw $v0, 0x94($s2) +/* CDA354 80243074 C620003C */ lwc1 $f0, 0x3c($s1) +/* CDA358 80243078 46000021 */ cvt.d.s $f0, $f0 +/* CDA35C 8024307C 4636003E */ c.le.d $f0, $f22 +/* CDA360 80243080 00000000 */ nop +/* CDA364 80243084 4501000D */ bc1t .L802430BC +/* CDA368 80243088 2403FFF7 */ addiu $v1, $zero, -9 +/* CDA36C 8024308C 8E220000 */ lw $v0, ($s1) +/* CDA370 80243090 34420200 */ ori $v0, $v0, 0x200 +/* CDA374 80243094 08090C33 */ j .L802430CC +/* CDA378 80243098 00431024 */ and $v0, $v0, $v1 +.L8024309C: +/* CDA37C 8024309C 8E4200D0 */ lw $v0, 0xd0($s2) +/* CDA380 802430A0 8C420034 */ lw $v0, 0x34($v0) +/* CDA384 802430A4 14400005 */ bnez $v0, .L802430BC +/* CDA388 802430A8 2403FFF7 */ addiu $v1, $zero, -9 +/* CDA38C 802430AC 8E220000 */ lw $v0, ($s1) +/* CDA390 802430B0 34420200 */ ori $v0, $v0, 0x200 +/* CDA394 802430B4 08090C33 */ j .L802430CC +/* CDA398 802430B8 00431024 */ and $v0, $v0, $v1 +.L802430BC: +/* CDA39C 802430BC 8E220000 */ lw $v0, ($s1) +/* CDA3A0 802430C0 2403FDFF */ addiu $v1, $zero, -0x201 +/* CDA3A4 802430C4 00431024 */ and $v0, $v0, $v1 +/* CDA3A8 802430C8 34420008 */ ori $v0, $v0, 8 +.L802430CC: +/* CDA3AC 802430CC AE220000 */ sw $v0, ($s1) +/* CDA3B0 802430D0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CDA3B4 802430D4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* CDA3B8 802430D8 8E220000 */ lw $v0, ($s1) +/* CDA3BC 802430DC 3C04800F */ lui $a0, %hi(gPlayerStatusPtr) +/* CDA3C0 802430E0 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0) +/* CDA3C4 802430E4 3C030004 */ lui $v1, 4 +/* CDA3C8 802430E8 AE20001C */ sw $zero, 0x1c($s1) +/* CDA3CC 802430EC 00431025 */ or $v0, $v0, $v1 +/* CDA3D0 802430F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* CDA3D4 802430F4 00431024 */ and $v0, $v0, $v1 +/* CDA3D8 802430F8 AE220000 */ sw $v0, ($s1) +/* CDA3DC 802430FC 8C860028 */ lw $a2, 0x28($a0) +/* CDA3E0 80243100 0C00A720 */ jal atan2 +/* CDA3E4 80243104 8C870030 */ lw $a3, 0x30($a0) +/* CDA3E8 80243108 3C02004A */ lui $v0, 0x4a +/* CDA3EC 8024310C 3442001A */ ori $v0, $v0, 0x1a +/* CDA3F0 80243110 AE220028 */ sw $v0, 0x28($s1) +/* CDA3F4 80243114 24020003 */ addiu $v0, $zero, 3 +/* CDA3F8 80243118 A622008E */ sh $v0, 0x8e($s1) +/* CDA3FC 8024311C 24020067 */ addiu $v0, $zero, 0x67 +/* CDA400 80243120 E620000C */ swc1 $f0, 0xc($s1) +/* CDA404 80243124 08090C79 */ j .L802431E4 +/* CDA408 80243128 AEA20070 */ sw $v0, 0x70($s5) +.L8024312C: +/* CDA40C 8024312C C624003C */ lwc1 $f4, 0x3c($s1) +/* CDA410 80243130 C620001C */ lwc1 $f0, 0x1c($s1) +/* CDA414 80243134 46002100 */ add.s $f4, $f4, $f0 +/* CDA418 80243138 C6220014 */ lwc1 $f2, 0x14($s1) +/* CDA41C 8024313C 46020001 */ sub.s $f0, $f0, $f2 +/* CDA420 80243140 E624003C */ swc1 $f4, 0x3c($s1) +/* CDA424 80243144 08090C79 */ j .L802431E4 +/* CDA428 80243148 E620001C */ swc1 $f0, 0x1c($s1) +.L8024314C: +/* CDA42C 8024314C 9622008E */ lhu $v0, 0x8e($s1) +/* CDA430 80243150 2442FFFF */ addiu $v0, $v0, -1 +/* CDA434 80243154 A622008E */ sh $v0, 0x8e($s1) +/* CDA438 80243158 00021400 */ sll $v0, $v0, 0x10 +/* CDA43C 8024315C 1C400021 */ bgtz $v0, .L802431E4 +/* CDA440 80243160 3C03004A */ lui $v1, 0x4a +/* CDA444 80243164 3C04FFFB */ lui $a0, 0xfffb +/* CDA448 80243168 3484FFFF */ ori $a0, $a0, 0xffff +/* CDA44C 8024316C 8E220000 */ lw $v0, ($s1) +/* CDA450 80243170 34630001 */ ori $v1, $v1, 1 +/* CDA454 80243174 AE230028 */ sw $v1, 0x28($s1) +/* CDA458 80243178 00441024 */ and $v0, $v0, $a0 +/* CDA45C 8024317C AE220000 */ sw $v0, ($s1) +/* CDA460 80243180 08090C79 */ j .L802431E4 +/* CDA464 80243184 AEA00070 */ sw $zero, 0x70($s5) +.L80243188: +/* CDA468 80243188 3C01C47A */ lui $at, 0xc47a +/* CDA46C 8024318C 44810000 */ mtc1 $at, $f0 +/* CDA470 80243190 8E230000 */ lw $v1, ($s1) +/* CDA474 80243194 A622008E */ sh $v0, 0x8e($s1) +/* CDA478 80243198 2402FDFF */ addiu $v0, $zero, -0x201 +/* CDA47C 8024319C AE200038 */ sw $zero, 0x38($s1) +/* CDA480 802431A0 AE200040 */ sw $zero, 0x40($s1) +/* CDA484 802431A4 3463000A */ ori $v1, $v1, 0xa +/* CDA488 802431A8 00621824 */ and $v1, $v1, $v0 +/* CDA48C 802431AC E620003C */ swc1 $f0, 0x3c($s1) +/* CDA490 802431B0 AE230000 */ sw $v1, ($s1) +/* CDA494 802431B4 AEA40070 */ sw $a0, 0x70($s5) +.L802431B8: +/* CDA498 802431B8 9622008E */ lhu $v0, 0x8e($s1) +/* CDA49C 802431BC 2442FFFF */ addiu $v0, $v0, -1 +/* CDA4A0 802431C0 A622008E */ sh $v0, 0x8e($s1) +/* CDA4A4 802431C4 00021400 */ sll $v0, $v0, 0x10 +/* CDA4A8 802431C8 1C400006 */ bgtz $v0, .L802431E4 +/* CDA4AC 802431CC 24020064 */ addiu $v0, $zero, 0x64 +/* CDA4B0 802431D0 AE400094 */ sw $zero, 0x94($s2) +/* CDA4B4 802431D4 08090C79 */ j .L802431E4 +/* CDA4B8 802431D8 AEA20070 */ sw $v0, 0x70($s5) +.L802431DC: +/* CDA4BC 802431DC 0C0129CF */ jal func_8004A73C +/* CDA4C0 802431E0 02A0202D */ daddu $a0, $s5, $zero +.L802431E4: +/* CDA4C4 802431E4 8FBF0080 */ lw $ra, 0x80($sp) +/* CDA4C8 802431E8 8FB5007C */ lw $s5, 0x7c($sp) +/* CDA4CC 802431EC 8FB40078 */ lw $s4, 0x78($sp) +/* CDA4D0 802431F0 8FB30074 */ lw $s3, 0x74($sp) +/* CDA4D4 802431F4 8FB20070 */ lw $s2, 0x70($sp) +/* CDA4D8 802431F8 8FB1006C */ lw $s1, 0x6c($sp) +/* CDA4DC 802431FC 8FB00068 */ lw $s0, 0x68($sp) +/* CDA4E0 80243200 D7B60090 */ ldc1 $f22, 0x90($sp) +/* CDA4E4 80243204 D7B40088 */ ldc1 $f20, 0x88($sp) +/* CDA4E8 80243208 0000102D */ daddu $v0, $zero, $zero +/* CDA4EC 8024320C 03E00008 */ jr $ra +/* CDA4F0 80243210 27BD0098 */ addiu $sp, $sp, 0x98 +/* CDA4F4 80243214 00000000 */ nop +/* CDA4F8 80243218 00000000 */ nop +/* CDA4FC 8024321C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240000_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240000_CDC6A0.s new file mode 100644 index 0000000000..d6c6136d48 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240000_CDC6A0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CDC6A0 +/* CDC6A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CDC6A4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* CDC6A8 80240008 0080802D */ daddu $s0, $a0, $zero +/* CDC6AC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* CDC6B0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* CDC6B4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* CDC6B8 80240018 00621821 */ addu $v1, $v1, $v0 +/* CDC6BC 8024001C 04610004 */ bgez $v1, .L80240030 +/* CDC6C0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* CDC6C4 80240024 3C020002 */ lui $v0, 2 +/* CDC6C8 80240028 08090010 */ j .L80240040 +/* CDC6CC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* CDC6D0 80240030 3C040002 */ lui $a0, 2 +/* CDC6D4 80240034 0083102A */ slt $v0, $a0, $v1 +/* CDC6D8 80240038 10400002 */ beqz $v0, .L80240044 +/* CDC6DC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* CDC6E0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* CDC6E4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* CDC6E8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* CDC6EC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* CDC6F0 80240050 04610004 */ bgez $v1, .L80240064 +/* CDC6F4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* CDC6F8 80240058 3C020002 */ lui $v0, 2 +/* CDC6FC 8024005C 0809001D */ j .L80240074 +/* CDC700 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* CDC704 80240064 3C040002 */ lui $a0, 2 +/* CDC708 80240068 0083102A */ slt $v0, $a0, $v1 +/* CDC70C 8024006C 10400002 */ beqz $v0, .L80240078 +/* CDC710 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* CDC714 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* CDC718 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* CDC71C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* CDC720 80240080 00621821 */ addu $v1, $v1, $v0 +/* CDC724 80240084 04610004 */ bgez $v1, .L80240098 +/* CDC728 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* CDC72C 8024008C 3C020002 */ lui $v0, 2 +/* CDC730 80240090 0809002A */ j .L802400A8 +/* CDC734 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* CDC738 80240098 3C040002 */ lui $a0, 2 +/* CDC73C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* CDC740 802400A0 10400002 */ beqz $v0, .L802400AC +/* CDC744 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* CDC748 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* CDC74C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CDC750 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* CDC754 802400B4 00621821 */ addu $v1, $v1, $v0 +/* CDC758 802400B8 04610004 */ bgez $v1, .L802400CC +/* CDC75C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CDC760 802400C0 3C020002 */ lui $v0, 2 +/* CDC764 802400C4 08090037 */ j .L802400DC +/* CDC768 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* CDC76C 802400CC 3C040002 */ lui $a0, 2 +/* CDC770 802400D0 0083102A */ slt $v0, $a0, $v1 +/* CDC774 802400D4 10400002 */ beqz $v0, .L802400E0 +/* CDC778 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* CDC77C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* CDC780 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* CDC784 802400E4 0C046F07 */ jal set_main_pan_u +/* CDC788 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CDC78C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* CDC790 802400F0 0C046F0D */ jal set_main_pan_v +/* CDC794 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* CDC798 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* CDC79C 802400FC 0C046F13 */ jal set_aux_pan_u +/* CDC7A0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* CDC7A4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* CDC7A8 80240108 0C046F19 */ jal set_aux_pan_v +/* CDC7AC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CDC7B0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* CDC7B4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* CDC7B8 80240118 0000102D */ daddu $v0, $zero, $zero +/* CDC7BC 8024011C 03E00008 */ jr $ra +/* CDC7C0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240124_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240124_CDC6A0.s new file mode 100644 index 0000000000..df904d4d5e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240124_CDC6A0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_CDC7C4 +/* CDC7C4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CDC7C8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* CDC7CC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* CDC7D0 80240130 10A00005 */ beqz $a1, .L80240148 +/* CDC7D4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* CDC7D8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* CDC7DC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* CDC7E0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* CDC7E4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* CDC7E8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* CDC7EC 8024014C 1440000E */ bnez $v0, .L80240188 +/* CDC7F0 80240150 00000000 */ nop +/* CDC7F4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* CDC7F8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* CDC7FC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* CDC800 80240160 04610004 */ bgez $v1, .L80240174 +/* CDC804 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* CDC808 80240168 3C020002 */ lui $v0, 2 +/* CDC80C 8024016C 08090061 */ j .L80240184 +/* CDC810 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* CDC814 80240174 3C040002 */ lui $a0, 2 +/* CDC818 80240178 0083102A */ slt $v0, $a0, $v1 +/* CDC81C 8024017C 10400002 */ beqz $v0, .L80240188 +/* CDC820 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* CDC824 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* CDC828 80240188 8E020074 */ lw $v0, 0x74($s0) +/* CDC82C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* CDC830 80240190 00000000 */ nop +/* CDC834 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* CDC838 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* CDC83C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* CDC840 802401A0 04610004 */ bgez $v1, .L802401B4 +/* CDC844 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* CDC848 802401A8 3C020002 */ lui $v0, 2 +/* CDC84C 802401AC 08090071 */ j .L802401C4 +/* CDC850 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* CDC854 802401B4 3C040002 */ lui $a0, 2 +/* CDC858 802401B8 0083102A */ slt $v0, $a0, $v1 +/* CDC85C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* CDC860 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* CDC864 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* CDC868 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* CDC86C 802401CC 1440000E */ bnez $v0, .L80240208 +/* CDC870 802401D0 00000000 */ nop +/* CDC874 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* CDC878 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* CDC87C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* CDC880 802401E0 04610004 */ bgez $v1, .L802401F4 +/* CDC884 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* CDC888 802401E8 3C020002 */ lui $v0, 2 +/* CDC88C 802401EC 08090081 */ j .L80240204 +/* CDC890 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* CDC894 802401F4 3C040002 */ lui $a0, 2 +/* CDC898 802401F8 0083102A */ slt $v0, $a0, $v1 +/* CDC89C 802401FC 10400002 */ beqz $v0, .L80240208 +/* CDC8A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* CDC8A4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* CDC8A8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* CDC8AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* CDC8B0 80240210 00000000 */ nop +/* CDC8B4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* CDC8B8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* CDC8BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CDC8C0 80240220 04610004 */ bgez $v1, .L80240234 +/* CDC8C4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* CDC8C8 80240228 3C020002 */ lui $v0, 2 +/* CDC8CC 8024022C 08090091 */ j .L80240244 +/* CDC8D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* CDC8D4 80240234 3C040002 */ lui $a0, 2 +/* CDC8D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* CDC8DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* CDC8E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* CDC8E4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* CDC8E8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* CDC8EC 8024024C 0C046F07 */ jal set_main_pan_u +/* CDC8F0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* CDC8F4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* CDC8F8 80240258 0C046F0D */ jal set_main_pan_v +/* CDC8FC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* CDC900 80240260 8E040084 */ lw $a0, 0x84($s0) +/* CDC904 80240264 0C046F13 */ jal set_aux_pan_u +/* CDC908 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* CDC90C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* CDC910 80240270 0C046F19 */ jal set_aux_pan_v +/* CDC914 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* CDC918 80240278 8E020070 */ lw $v0, 0x70($s0) +/* CDC91C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* CDC920 80240280 8E040098 */ lw $a0, 0x98($s0) +/* CDC924 80240284 24420001 */ addiu $v0, $v0, 1 +/* CDC928 80240288 AE020070 */ sw $v0, 0x70($s0) +/* CDC92C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* CDC930 80240290 24630001 */ addiu $v1, $v1, 1 +/* CDC934 80240294 AE030078 */ sw $v1, 0x78($s0) +/* CDC938 80240298 8E030070 */ lw $v1, 0x70($s0) +/* CDC93C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* CDC940 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* CDC944 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* CDC948 802402A8 0064182A */ slt $v1, $v1, $a0 +/* CDC94C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* CDC950 802402B0 14600002 */ bnez $v1, .L802402BC +/* CDC954 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* CDC958 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* CDC95C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* CDC960 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* CDC964 802402C4 0043102A */ slt $v0, $v0, $v1 +/* CDC968 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* CDC96C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* CDC970 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* CDC974 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* CDC978 802402D8 0043102A */ slt $v0, $v0, $v1 +/* CDC97C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* CDC980 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* CDC984 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* CDC988 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* CDC98C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* CDC990 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* CDC994 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* CDC998 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* CDC99C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* CDC9A0 80240300 0000102D */ daddu $v0, $zero, $zero +/* CDC9A4 80240304 03E00008 */ jr $ra +/* CDC9A8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_8024030C_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_8024030C_CDC6A0.s new file mode 100644 index 0000000000..d571290684 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_8024030C_CDC6A0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_CDC9AC +/* CDC9AC 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CDC9B0 80240310 24040001 */ addiu $a0, $zero, 1 +/* CDC9B4 80240314 0000282D */ daddu $a1, $zero, $zero +/* CDC9B8 80240318 00A0302D */ daddu $a2, $a1, $zero +/* CDC9BC 8024031C 00A0382D */ daddu $a3, $a1, $zero +/* CDC9C0 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* CDC9C4 80240324 AFA00010 */ sw $zero, 0x10($sp) +/* CDC9C8 80240328 0C01CA54 */ jal func_80072950 +/* CDC9CC 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* CDC9D0 80240330 8FBF0018 */ lw $ra, 0x18($sp) +/* CDC9D4 80240334 24020002 */ addiu $v0, $zero, 2 +/* CDC9D8 80240338 03E00008 */ jr $ra +/* CDC9DC 8024033C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240340_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240340_CDC6A0.s new file mode 100644 index 0000000000..c5e8e745fa --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240340_CDC6A0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_CDC9E0 +/* CDC9E0 80240340 8C8400C0 */ lw $a0, 0xc0($a0) +/* CDC9E4 80240344 8C83000C */ lw $v1, 0xc($a0) +/* CDC9E8 80240348 24020045 */ addiu $v0, $zero, 0x45 +/* CDC9EC 8024034C AC620030 */ sw $v0, 0x30($v1) +/* CDC9F0 80240350 8C83000C */ lw $v1, 0xc($a0) +/* CDC9F4 80240354 240200FF */ addiu $v0, $zero, 0xff +/* CDC9F8 80240358 AC620034 */ sw $v0, 0x34($v1) +/* CDC9FC 8024035C 8C83000C */ lw $v1, 0xc($a0) +/* CDCA00 80240360 240200D9 */ addiu $v0, $zero, 0xd9 +/* CDCA04 80240364 AC620038 */ sw $v0, 0x38($v1) +/* CDCA08 80240368 8C83000C */ lw $v1, 0xc($a0) +/* CDCA0C 8024036C 240200B0 */ addiu $v0, $zero, 0xb0 +/* CDCA10 80240370 AC620040 */ sw $v0, 0x40($v1) +/* CDCA14 80240374 8C83000C */ lw $v1, 0xc($a0) +/* CDCA18 80240378 240200FE */ addiu $v0, $zero, 0xfe +/* CDCA1C 8024037C AC620044 */ sw $v0, 0x44($v1) +/* CDCA20 80240380 8C83000C */ lw $v1, 0xc($a0) +/* CDCA24 80240384 2402007C */ addiu $v0, $zero, 0x7c +/* CDCA28 80240388 AC620048 */ sw $v0, 0x48($v1) +/* CDCA2C 8024038C 03E00008 */ jr $ra +/* CDCA30 80240390 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240394_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240394_CDC6A0.s new file mode 100644 index 0000000000..3153127742 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240394_CDC6A0.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_CDCA34 +/* CDCA34 80240394 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CDCA38 80240398 AFB20018 */ sw $s2, 0x18($sp) +/* CDCA3C 8024039C 0080902D */ daddu $s2, $a0, $zero +/* CDCA40 802403A0 AFBF0028 */ sw $ra, 0x28($sp) +/* CDCA44 802403A4 AFB50024 */ sw $s5, 0x24($sp) +/* CDCA48 802403A8 AFB40020 */ sw $s4, 0x20($sp) +/* CDCA4C 802403AC AFB3001C */ sw $s3, 0x1c($sp) +/* CDCA50 802403B0 AFB10014 */ sw $s1, 0x14($sp) +/* CDCA54 802403B4 AFB00010 */ sw $s0, 0x10($sp) +/* CDCA58 802403B8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* CDCA5C 802403BC F7B60038 */ sdc1 $f22, 0x38($sp) +/* CDCA60 802403C0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* CDCA64 802403C4 8E50000C */ lw $s0, 0xc($s2) +/* CDCA68 802403C8 8E140000 */ lw $s4, ($s0) +/* CDCA6C 802403CC 26100004 */ addiu $s0, $s0, 4 +/* CDCA70 802403D0 0C0B1EAF */ jal get_variable +/* CDCA74 802403D4 0280282D */ daddu $a1, $s4, $zero +/* CDCA78 802403D8 0040982D */ daddu $s3, $v0, $zero +/* CDCA7C 802403DC 8E150000 */ lw $s5, ($s0) +/* CDCA80 802403E0 26100004 */ addiu $s0, $s0, 4 +/* CDCA84 802403E4 8E050000 */ lw $a1, ($s0) +/* CDCA88 802403E8 26100004 */ addiu $s0, $s0, 4 +/* CDCA8C 802403EC 0C0B210B */ jal get_float_variable +/* CDCA90 802403F0 0240202D */ daddu $a0, $s2, $zero +/* CDCA94 802403F4 8E050000 */ lw $a1, ($s0) +/* CDCA98 802403F8 26100004 */ addiu $s0, $s0, 4 +/* CDCA9C 802403FC 0240202D */ daddu $a0, $s2, $zero +/* CDCAA0 80240400 0C0B210B */ jal get_float_variable +/* CDCAA4 80240404 46000606 */ mov.s $f24, $f0 +/* CDCAA8 80240408 8E050000 */ lw $a1, ($s0) +/* CDCAAC 8024040C 26100004 */ addiu $s0, $s0, 4 +/* CDCAB0 80240410 0240202D */ daddu $a0, $s2, $zero +/* CDCAB4 80240414 0C0B1EAF */ jal get_variable +/* CDCAB8 80240418 46000506 */ mov.s $f20, $f0 +/* CDCABC 8024041C 8E050000 */ lw $a1, ($s0) +/* CDCAC0 80240420 26100004 */ addiu $s0, $s0, 4 +/* CDCAC4 80240424 0240202D */ daddu $a0, $s2, $zero +/* CDCAC8 80240428 0C0B1EAF */ jal get_variable +/* CDCACC 8024042C 0040882D */ daddu $s1, $v0, $zero +/* CDCAD0 80240430 0240202D */ daddu $a0, $s2, $zero +/* CDCAD4 80240434 8E050000 */ lw $a1, ($s0) +/* CDCAD8 80240438 0C0B210B */ jal get_float_variable +/* CDCADC 8024043C 0040802D */ daddu $s0, $v0, $zero +/* CDCAE0 80240440 3C014334 */ lui $at, 0x4334 +/* CDCAE4 80240444 44811000 */ mtc1 $at, $f2 +/* CDCAE8 80240448 3C014049 */ lui $at, 0x4049 +/* CDCAEC 8024044C 34210FD8 */ ori $at, $at, 0xfd8 +/* CDCAF0 80240450 44812000 */ mtc1 $at, $f4 +/* CDCAF4 80240454 46020003 */ div.s $f0, $f0, $f2 +/* CDCAF8 80240458 46040582 */ mul.s $f22, $f0, $f4 +/* CDCAFC 8024045C 00000000 */ nop +/* CDCB00 80240460 4618A501 */ sub.s $f20, $f20, $f24 +/* CDCB04 80240464 3C013F00 */ lui $at, 0x3f00 +/* CDCB08 80240468 44810000 */ mtc1 $at, $f0 +/* CDCB0C 8024046C 00000000 */ nop +/* CDCB10 80240470 4600A502 */ mul.s $f20, $f20, $f0 +/* CDCB14 80240474 00000000 */ nop +/* CDCB18 80240478 12000007 */ beqz $s0, .L80240498 +/* CDCB1C 8024047C 0233102A */ slt $v0, $s1, $s3 +/* CDCB20 80240480 10400005 */ beqz $v0, .L80240498 +/* CDCB24 80240484 0240202D */ daddu $a0, $s2, $zero +/* CDCB28 80240488 0220982D */ daddu $s3, $s1, $zero +/* CDCB2C 8024048C 0280282D */ daddu $a1, $s4, $zero +/* CDCB30 80240490 0C0B2026 */ jal set_variable +/* CDCB34 80240494 0220302D */ daddu $a2, $s1, $zero +.L80240498: +/* CDCB38 80240498 3C014049 */ lui $at, 0x4049 +/* CDCB3C 8024049C 34210FD8 */ ori $at, $at, 0xfd8 +/* CDCB40 802404A0 44810000 */ mtc1 $at, $f0 +/* CDCB44 802404A4 44936000 */ mtc1 $s3, $f12 +/* CDCB48 802404A8 00000000 */ nop +/* CDCB4C 802404AC 46806320 */ cvt.s.w $f12, $f12 +/* CDCB50 802404B0 46006302 */ mul.s $f12, $f12, $f0 +/* CDCB54 802404B4 00000000 */ nop +/* CDCB58 802404B8 44910000 */ mtc1 $s1, $f0 +/* CDCB5C 802404BC 00000000 */ nop +/* CDCB60 802404C0 46800020 */ cvt.s.w $f0, $f0 +/* CDCB64 802404C4 46006303 */ div.s $f12, $f12, $f0 +/* CDCB68 802404C8 0C00A874 */ jal cos_rad +/* CDCB6C 802404CC 46166300 */ add.s $f12, $f12, $f22 +/* CDCB70 802404D0 4600A002 */ mul.s $f0, $f20, $f0 +/* CDCB74 802404D4 00000000 */ nop +/* CDCB78 802404D8 4614C080 */ add.s $f2, $f24, $f20 +/* CDCB7C 802404DC 46001081 */ sub.s $f2, $f2, $f0 +/* CDCB80 802404E0 0240202D */ daddu $a0, $s2, $zero +/* CDCB84 802404E4 44061000 */ mfc1 $a2, $f2 +/* CDCB88 802404E8 0C0B2190 */ jal set_float_variable +/* CDCB8C 802404EC 02A0282D */ daddu $a1, $s5, $zero +/* CDCB90 802404F0 8FBF0028 */ lw $ra, 0x28($sp) +/* CDCB94 802404F4 8FB50024 */ lw $s5, 0x24($sp) +/* CDCB98 802404F8 8FB40020 */ lw $s4, 0x20($sp) +/* CDCB9C 802404FC 8FB3001C */ lw $s3, 0x1c($sp) +/* CDCBA0 80240500 8FB20018 */ lw $s2, 0x18($sp) +/* CDCBA4 80240504 8FB10014 */ lw $s1, 0x14($sp) +/* CDCBA8 80240508 8FB00010 */ lw $s0, 0x10($sp) +/* CDCBAC 8024050C D7B80040 */ ldc1 $f24, 0x40($sp) +/* CDCBB0 80240510 D7B60038 */ ldc1 $f22, 0x38($sp) +/* CDCBB4 80240514 D7B40030 */ ldc1 $f20, 0x30($sp) +/* CDCBB8 80240518 24020002 */ addiu $v0, $zero, 2 +/* CDCBBC 8024051C 03E00008 */ jr $ra +/* CDCBC0 80240520 27BD0048 */ addiu $sp, $sp, 0x48 +/* CDCBC4 80240524 00000000 */ nop +/* CDCBC8 80240528 00000000 */ nop +/* CDCBCC 8024052C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240530_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240530_CDC6A0.s new file mode 100644 index 0000000000..0d79c46658 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240530_CDC6A0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_CDCBD0 +/* CDCBD0 80240530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CDCBD4 80240534 AFB00010 */ sw $s0, 0x10($sp) +/* CDCBD8 80240538 0080802D */ daddu $s0, $a0, $zero +/* CDCBDC 8024053C AFBF0014 */ sw $ra, 0x14($sp) +/* CDCBE0 80240540 C60C0084 */ lwc1 $f12, 0x84($s0) +/* CDCBE4 80240544 46806320 */ cvt.s.w $f12, $f12 +/* CDCBE8 80240548 C6020090 */ lwc1 $f2, 0x90($s0) +/* CDCBEC 8024054C 468010A0 */ cvt.s.w $f2, $f2 +/* CDCBF0 80240550 44061000 */ mfc1 $a2, $f2 +/* CDCBF4 80240554 C6020098 */ lwc1 $f2, 0x98($s0) +/* CDCBF8 80240558 468010A0 */ cvt.s.w $f2, $f2 +/* CDCBFC 8024055C 44071000 */ mfc1 $a3, $f2 +/* CDCC00 80240560 C60E008C */ lwc1 $f14, 0x8c($s0) +/* CDCC04 80240564 0C00A720 */ jal atan2 +/* CDCC08 80240568 468073A0 */ cvt.s.w $f14, $f14 +/* CDCC0C 8024056C 4600008D */ trunc.w.s $f2, $f0 +/* CDCC10 80240570 E60200AC */ swc1 $f2, 0xac($s0) +/* CDCC14 80240574 8FBF0014 */ lw $ra, 0x14($sp) +/* CDCC18 80240578 8FB00010 */ lw $s0, 0x10($sp) +/* CDCC1C 8024057C 24020002 */ addiu $v0, $zero, 2 +/* CDCC20 80240580 03E00008 */ jr $ra +/* CDCC24 80240584 27BD0018 */ addiu $sp, $sp, 0x18 +/* CDCC28 80240588 00000000 */ nop +/* CDCC2C 8024058C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240590_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240590_CDC6A0.s new file mode 100644 index 0000000000..3a392f91b4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240590_CDC6A0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240590_CDCC30 +/* CDCC30 80240590 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CDCC34 80240594 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CDCC38 80240598 4485A000 */ mtc1 $a1, $f20 +/* CDCC3C 8024059C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CDCC40 802405A0 4486B000 */ mtc1 $a2, $f22 +/* CDCC44 802405A4 AFB00010 */ sw $s0, 0x10($sp) +/* CDCC48 802405A8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CDCC4C 802405AC 4487C000 */ mtc1 $a3, $f24 +/* CDCC50 802405B0 AFBF0014 */ sw $ra, 0x14($sp) +/* CDCC54 802405B4 0C019D28 */ jal guMtxIdentF +/* CDCC58 802405B8 0080802D */ daddu $s0, $a0, $zero +/* CDCC5C 802405BC 4616A582 */ mul.s $f22, $f20, $f22 +/* CDCC60 802405C0 00000000 */ nop +/* CDCC64 802405C4 4618A502 */ mul.s $f20, $f20, $f24 +/* CDCC68 802405C8 00000000 */ nop +/* CDCC6C 802405CC 3C013F80 */ lui $at, 0x3f80 +/* CDCC70 802405D0 44810000 */ mtc1 $at, $f0 +/* CDCC74 802405D4 00000000 */ nop +/* CDCC78 802405D8 E6000014 */ swc1 $f0, 0x14($s0) +/* CDCC7C 802405DC E6160010 */ swc1 $f22, 0x10($s0) +/* CDCC80 802405E0 E6140018 */ swc1 $f20, 0x18($s0) +/* CDCC84 802405E4 8FBF0014 */ lw $ra, 0x14($sp) +/* CDCC88 802405E8 8FB00010 */ lw $s0, 0x10($sp) +/* CDCC8C 802405EC D7B80028 */ ldc1 $f24, 0x28($sp) +/* CDCC90 802405F0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CDCC94 802405F4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CDCC98 802405F8 03E00008 */ jr $ra +/* CDCC9C 802405FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_18/func_80240600_CDC6A0.s b/asm/nonmatchings/world/area_flo/flo_18/func_80240600_CDC6A0.s new file mode 100644 index 0000000000..642009a3d0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_18/func_80240600_CDC6A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240600_CDCCA0 +/* CDCCA0 80240600 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CDCCA4 80240604 AFB10054 */ sw $s1, 0x54($sp) +/* CDCCA8 80240608 0080882D */ daddu $s1, $a0, $zero +/* CDCCAC 8024060C AFBF005C */ sw $ra, 0x5c($sp) +/* CDCCB0 80240610 AFB20058 */ sw $s2, 0x58($sp) +/* CDCCB4 80240614 AFB00050 */ sw $s0, 0x50($sp) +/* CDCCB8 80240618 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CDCCBC 8024061C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CDCCC0 80240620 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CDCCC4 80240624 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CDCCC8 80240628 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CDCCCC 8024062C 8E30000C */ lw $s0, 0xc($s1) +/* CDCCD0 80240630 8E050000 */ lw $a1, ($s0) +/* CDCCD4 80240634 0C0B1EAF */ jal get_variable +/* CDCCD8 80240638 26100004 */ addiu $s0, $s0, 4 +/* CDCCDC 8024063C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CDCCE0 80240640 0040202D */ daddu $a0, $v0, $zero +/* CDCCE4 80240644 8E050000 */ lw $a1, ($s0) +/* CDCCE8 80240648 26100004 */ addiu $s0, $s0, 4 +/* CDCCEC 8024064C 0220202D */ daddu $a0, $s1, $zero +/* CDCCF0 80240650 0C0B210B */ jal get_float_variable +/* CDCCF4 80240654 0040902D */ daddu $s2, $v0, $zero +/* CDCCF8 80240658 8E050000 */ lw $a1, ($s0) +/* CDCCFC 8024065C 26100004 */ addiu $s0, $s0, 4 +/* CDCD00 80240660 0220202D */ daddu $a0, $s1, $zero +/* CDCD04 80240664 0C0B210B */ jal get_float_variable +/* CDCD08 80240668 46000706 */ mov.s $f28, $f0 +/* CDCD0C 8024066C 8E050000 */ lw $a1, ($s0) +/* CDCD10 80240670 26100004 */ addiu $s0, $s0, 4 +/* CDCD14 80240674 0220202D */ daddu $a0, $s1, $zero +/* CDCD18 80240678 0C0B210B */ jal get_float_variable +/* CDCD1C 8024067C 46000686 */ mov.s $f26, $f0 +/* CDCD20 80240680 0220202D */ daddu $a0, $s1, $zero +/* CDCD24 80240684 8E050000 */ lw $a1, ($s0) +/* CDCD28 80240688 0C0B210B */ jal get_float_variable +/* CDCD2C 8024068C 46000586 */ mov.s $f22, $f0 +/* CDCD30 80240690 0240202D */ daddu $a0, $s2, $zero +/* CDCD34 80240694 0C046B4C */ jal get_model_from_list_index +/* CDCD38 80240698 46000606 */ mov.s $f24, $f0 +/* CDCD3C 8024069C 0040882D */ daddu $s1, $v0, $zero +/* CDCD40 802406A0 96220000 */ lhu $v0, ($s1) +/* CDCD44 802406A4 30420400 */ andi $v0, $v0, 0x400 +/* CDCD48 802406A8 1440001E */ bnez $v0, .L80240724 +/* CDCD4C 802406AC 26300058 */ addiu $s0, $s1, 0x58 +/* CDCD50 802406B0 4480A000 */ mtc1 $zero, $f20 +/* CDCD54 802406B4 4406B000 */ mfc1 $a2, $f22 +/* CDCD58 802406B8 4405A000 */ mfc1 $a1, $f20 +/* CDCD5C 802406BC 4407A000 */ mfc1 $a3, $f20 +/* CDCD60 802406C0 0C019E40 */ jal guTranslateF +/* CDCD64 802406C4 0200202D */ daddu $a0, $s0, $zero +/* CDCD68 802406C8 4405E000 */ mfc1 $a1, $f28 +/* CDCD6C 802406CC 4406D000 */ mfc1 $a2, $f26 +/* CDCD70 802406D0 4407C000 */ mfc1 $a3, $f24 +/* CDCD74 802406D4 0C090164 */ jal func_80240590 +/* CDCD78 802406D8 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCD7C 802406DC 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCD80 802406E0 0200282D */ daddu $a1, $s0, $zero +/* CDCD84 802406E4 0C019D80 */ jal guMtxCatF +/* CDCD88 802406E8 0200302D */ daddu $a2, $s0, $zero +/* CDCD8C 802406EC 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCD90 802406F0 4600B587 */ neg.s $f22, $f22 +/* CDCD94 802406F4 4405A000 */ mfc1 $a1, $f20 +/* CDCD98 802406F8 4406B000 */ mfc1 $a2, $f22 +/* CDCD9C 802406FC 0C019E40 */ jal guTranslateF +/* CDCDA0 80240700 00A0382D */ daddu $a3, $a1, $zero +/* CDCDA4 80240704 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCDA8 80240708 0200282D */ daddu $a1, $s0, $zero +/* CDCDAC 8024070C 0C019D80 */ jal guMtxCatF +/* CDCDB0 80240710 00A0302D */ daddu $a2, $a1, $zero +/* CDCDB4 80240714 96220000 */ lhu $v0, ($s1) +/* CDCDB8 80240718 34421400 */ ori $v0, $v0, 0x1400 +/* CDCDBC 8024071C 080901E7 */ j .L8024079C +/* CDCDC0 80240720 A6220000 */ sh $v0, ($s1) +.L80240724: +/* CDCDC4 80240724 4480A000 */ mtc1 $zero, $f20 +/* CDCDC8 80240728 4406B000 */ mfc1 $a2, $f22 +/* CDCDCC 8024072C 4405A000 */ mfc1 $a1, $f20 +/* CDCDD0 80240730 4407A000 */ mfc1 $a3, $f20 +/* CDCDD4 80240734 0C019E40 */ jal guTranslateF +/* CDCDD8 80240738 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCDDC 8024073C 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCDE0 80240740 26300058 */ addiu $s0, $s1, 0x58 +/* CDCDE4 80240744 0200282D */ daddu $a1, $s0, $zero +/* CDCDE8 80240748 0C019D80 */ jal guMtxCatF +/* CDCDEC 8024074C 0200302D */ daddu $a2, $s0, $zero +/* CDCDF0 80240750 4405E000 */ mfc1 $a1, $f28 +/* CDCDF4 80240754 4406D000 */ mfc1 $a2, $f26 +/* CDCDF8 80240758 4407C000 */ mfc1 $a3, $f24 +/* CDCDFC 8024075C 0C090164 */ jal func_80240590 +/* CDCE00 80240760 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCE04 80240764 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCE08 80240768 0200282D */ daddu $a1, $s0, $zero +/* CDCE0C 8024076C 0C019D80 */ jal guMtxCatF +/* CDCE10 80240770 0200302D */ daddu $a2, $s0, $zero +/* CDCE14 80240774 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCE18 80240778 4600B587 */ neg.s $f22, $f22 +/* CDCE1C 8024077C 4405A000 */ mfc1 $a1, $f20 +/* CDCE20 80240780 4406B000 */ mfc1 $a2, $f22 +/* CDCE24 80240784 0C019E40 */ jal guTranslateF +/* CDCE28 80240788 00A0382D */ daddu $a3, $a1, $zero +/* CDCE2C 8024078C 27A40010 */ addiu $a0, $sp, 0x10 +/* CDCE30 80240790 0200282D */ daddu $a1, $s0, $zero +/* CDCE34 80240794 0C019D80 */ jal guMtxCatF +/* CDCE38 80240798 00A0302D */ daddu $a2, $a1, $zero +.L8024079C: +/* CDCE3C 8024079C 8FBF005C */ lw $ra, 0x5c($sp) +/* CDCE40 802407A0 8FB20058 */ lw $s2, 0x58($sp) +/* CDCE44 802407A4 8FB10054 */ lw $s1, 0x54($sp) +/* CDCE48 802407A8 8FB00050 */ lw $s0, 0x50($sp) +/* CDCE4C 802407AC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CDCE50 802407B0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CDCE54 802407B4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CDCE58 802407B8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CDCE5C 802407BC D7B40060 */ ldc1 $f20, 0x60($sp) +/* CDCE60 802407C0 24020002 */ addiu $v0, $zero, 2 +/* CDCE64 802407C4 03E00008 */ jr $ra +/* CDCE68 802407C8 27BD0088 */ addiu $sp, $sp, 0x88 +/* CDCE6C 802407CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240000_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240000_CE36F0.s new file mode 100644 index 0000000000..b31d7dd7ec --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240000_CE36F0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CE36F0 +/* CE36F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE36F4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* CE36F8 80240008 0080802D */ daddu $s0, $a0, $zero +/* CE36FC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* CE3700 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* CE3704 80240014 8E020088 */ lw $v0, 0x88($s0) +/* CE3708 80240018 00621821 */ addu $v1, $v1, $v0 +/* CE370C 8024001C 04610004 */ bgez $v1, .L80240030 +/* CE3710 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* CE3714 80240024 3C020002 */ lui $v0, 2 +/* CE3718 80240028 08090010 */ j .L80240040 +/* CE371C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* CE3720 80240030 3C040002 */ lui $a0, 2 +/* CE3724 80240034 0083102A */ slt $v0, $a0, $v1 +/* CE3728 80240038 10400002 */ beqz $v0, .L80240044 +/* CE372C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* CE3730 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* CE3734 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* CE3738 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* CE373C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* CE3740 80240050 04610004 */ bgez $v1, .L80240064 +/* CE3744 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* CE3748 80240058 3C020002 */ lui $v0, 2 +/* CE374C 8024005C 0809001D */ j .L80240074 +/* CE3750 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* CE3754 80240064 3C040002 */ lui $a0, 2 +/* CE3758 80240068 0083102A */ slt $v0, $a0, $v1 +/* CE375C 8024006C 10400002 */ beqz $v0, .L80240078 +/* CE3760 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* CE3764 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* CE3768 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* CE376C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* CE3770 80240080 00621821 */ addu $v1, $v1, $v0 +/* CE3774 80240084 04610004 */ bgez $v1, .L80240098 +/* CE3778 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* CE377C 8024008C 3C020002 */ lui $v0, 2 +/* CE3780 80240090 0809002A */ j .L802400A8 +/* CE3784 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* CE3788 80240098 3C040002 */ lui $a0, 2 +/* CE378C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* CE3790 802400A0 10400002 */ beqz $v0, .L802400AC +/* CE3794 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* CE3798 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* CE379C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CE37A0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* CE37A4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* CE37A8 802400B8 04610004 */ bgez $v1, .L802400CC +/* CE37AC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CE37B0 802400C0 3C020002 */ lui $v0, 2 +/* CE37B4 802400C4 08090037 */ j .L802400DC +/* CE37B8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* CE37BC 802400CC 3C040002 */ lui $a0, 2 +/* CE37C0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* CE37C4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* CE37C8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* CE37CC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* CE37D0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* CE37D4 802400E4 0C046F07 */ jal set_main_pan_u +/* CE37D8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CE37DC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* CE37E0 802400F0 0C046F0D */ jal set_main_pan_v +/* CE37E4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* CE37E8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* CE37EC 802400FC 0C046F13 */ jal set_aux_pan_u +/* CE37F0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* CE37F4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* CE37F8 80240108 0C046F19 */ jal set_aux_pan_v +/* CE37FC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CE3800 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* CE3804 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* CE3808 80240118 0000102D */ daddu $v0, $zero, $zero +/* CE380C 8024011C 03E00008 */ jr $ra +/* CE3810 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240124_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240124_CE36F0.s new file mode 100644 index 0000000000..fadeedf4b6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240124_CE36F0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_CE3814 +/* CE3814 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE3818 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* CE381C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* CE3820 80240130 10A00005 */ beqz $a1, .L80240148 +/* CE3824 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* CE3828 80240138 AE000070 */ sw $zero, 0x70($s0) +/* CE382C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* CE3830 80240140 AE000078 */ sw $zero, 0x78($s0) +/* CE3834 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* CE3838 80240148 8E020070 */ lw $v0, 0x70($s0) +/* CE383C 8024014C 1440000E */ bnez $v0, .L80240188 +/* CE3840 80240150 00000000 */ nop +/* CE3844 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* CE3848 80240158 8E020088 */ lw $v0, 0x88($s0) +/* CE384C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* CE3850 80240160 04610004 */ bgez $v1, .L80240174 +/* CE3854 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* CE3858 80240168 3C020002 */ lui $v0, 2 +/* CE385C 8024016C 08090061 */ j .L80240184 +/* CE3860 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* CE3864 80240174 3C040002 */ lui $a0, 2 +/* CE3868 80240178 0083102A */ slt $v0, $a0, $v1 +/* CE386C 8024017C 10400002 */ beqz $v0, .L80240188 +/* CE3870 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* CE3874 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* CE3878 80240188 8E020074 */ lw $v0, 0x74($s0) +/* CE387C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* CE3880 80240190 00000000 */ nop +/* CE3884 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* CE3888 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* CE388C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* CE3890 802401A0 04610004 */ bgez $v1, .L802401B4 +/* CE3894 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* CE3898 802401A8 3C020002 */ lui $v0, 2 +/* CE389C 802401AC 08090071 */ j .L802401C4 +/* CE38A0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* CE38A4 802401B4 3C040002 */ lui $a0, 2 +/* CE38A8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* CE38AC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* CE38B0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* CE38B4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* CE38B8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* CE38BC 802401CC 1440000E */ bnez $v0, .L80240208 +/* CE38C0 802401D0 00000000 */ nop +/* CE38C4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* CE38C8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* CE38CC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* CE38D0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* CE38D4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* CE38D8 802401E8 3C020002 */ lui $v0, 2 +/* CE38DC 802401EC 08090081 */ j .L80240204 +/* CE38E0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* CE38E4 802401F4 3C040002 */ lui $a0, 2 +/* CE38E8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* CE38EC 802401FC 10400002 */ beqz $v0, .L80240208 +/* CE38F0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* CE38F4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* CE38F8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* CE38FC 8024020C 1440000E */ bnez $v0, .L80240248 +/* CE3900 80240210 00000000 */ nop +/* CE3904 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* CE3908 80240218 8E020094 */ lw $v0, 0x94($s0) +/* CE390C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CE3910 80240220 04610004 */ bgez $v1, .L80240234 +/* CE3914 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* CE3918 80240228 3C020002 */ lui $v0, 2 +/* CE391C 8024022C 08090091 */ j .L80240244 +/* CE3920 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* CE3924 80240234 3C040002 */ lui $a0, 2 +/* CE3928 80240238 0083102A */ slt $v0, $a0, $v1 +/* CE392C 8024023C 10400002 */ beqz $v0, .L80240248 +/* CE3930 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* CE3934 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* CE3938 80240248 8E040084 */ lw $a0, 0x84($s0) +/* CE393C 8024024C 0C046F07 */ jal set_main_pan_u +/* CE3940 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* CE3944 80240254 8E040084 */ lw $a0, 0x84($s0) +/* CE3948 80240258 0C046F0D */ jal set_main_pan_v +/* CE394C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* CE3950 80240260 8E040084 */ lw $a0, 0x84($s0) +/* CE3954 80240264 0C046F13 */ jal set_aux_pan_u +/* CE3958 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* CE395C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* CE3960 80240270 0C046F19 */ jal set_aux_pan_v +/* CE3964 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* CE3968 80240278 8E020070 */ lw $v0, 0x70($s0) +/* CE396C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* CE3970 80240280 8E040098 */ lw $a0, 0x98($s0) +/* CE3974 80240284 24420001 */ addiu $v0, $v0, 1 +/* CE3978 80240288 AE020070 */ sw $v0, 0x70($s0) +/* CE397C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* CE3980 80240290 24630001 */ addiu $v1, $v1, 1 +/* CE3984 80240294 AE030078 */ sw $v1, 0x78($s0) +/* CE3988 80240298 8E030070 */ lw $v1, 0x70($s0) +/* CE398C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* CE3990 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* CE3994 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* CE3998 802402A8 0064182A */ slt $v1, $v1, $a0 +/* CE399C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* CE39A0 802402B0 14600002 */ bnez $v1, .L802402BC +/* CE39A4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* CE39A8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* CE39AC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* CE39B0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* CE39B4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* CE39B8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* CE39BC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* CE39C0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* CE39C4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* CE39C8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* CE39CC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* CE39D0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* CE39D4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* CE39D8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* CE39DC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* CE39E0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* CE39E4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* CE39E8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* CE39EC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* CE39F0 80240300 0000102D */ daddu $v0, $zero, $zero +/* CE39F4 80240304 03E00008 */ jr $ra +/* CE39F8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_8024030C_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_8024030C_CE36F0.s new file mode 100644 index 0000000000..fa5ba33944 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_8024030C_CE36F0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_CE39FC +/* CE39FC 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CE3A00 80240310 24040001 */ addiu $a0, $zero, 1 +/* CE3A04 80240314 0000282D */ daddu $a1, $zero, $zero +/* CE3A08 80240318 00A0302D */ daddu $a2, $a1, $zero +/* CE3A0C 8024031C 00A0382D */ daddu $a3, $a1, $zero +/* CE3A10 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* CE3A14 80240324 AFA00010 */ sw $zero, 0x10($sp) +/* CE3A18 80240328 0C01CA54 */ jal func_80072950 +/* CE3A1C 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* CE3A20 80240330 8FBF0018 */ lw $ra, 0x18($sp) +/* CE3A24 80240334 24020002 */ addiu $v0, $zero, 2 +/* CE3A28 80240338 03E00008 */ jr $ra +/* CE3A2C 8024033C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240340_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240340_CE36F0.s new file mode 100644 index 0000000000..226345618d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240340_CE36F0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_CE3A30 +/* CE3A30 80240340 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CE3A34 80240344 AFB20018 */ sw $s2, 0x18($sp) +/* CE3A38 80240348 0080902D */ daddu $s2, $a0, $zero +/* CE3A3C 8024034C AFBF0028 */ sw $ra, 0x28($sp) +/* CE3A40 80240350 AFB50024 */ sw $s5, 0x24($sp) +/* CE3A44 80240354 AFB40020 */ sw $s4, 0x20($sp) +/* CE3A48 80240358 AFB3001C */ sw $s3, 0x1c($sp) +/* CE3A4C 8024035C AFB10014 */ sw $s1, 0x14($sp) +/* CE3A50 80240360 AFB00010 */ sw $s0, 0x10($sp) +/* CE3A54 80240364 F7B80040 */ sdc1 $f24, 0x40($sp) +/* CE3A58 80240368 F7B60038 */ sdc1 $f22, 0x38($sp) +/* CE3A5C 8024036C F7B40030 */ sdc1 $f20, 0x30($sp) +/* CE3A60 80240370 8E50000C */ lw $s0, 0xc($s2) +/* CE3A64 80240374 8E140000 */ lw $s4, ($s0) +/* CE3A68 80240378 26100004 */ addiu $s0, $s0, 4 +/* CE3A6C 8024037C 0C0B1EAF */ jal get_variable +/* CE3A70 80240380 0280282D */ daddu $a1, $s4, $zero +/* CE3A74 80240384 0040982D */ daddu $s3, $v0, $zero +/* CE3A78 80240388 8E150000 */ lw $s5, ($s0) +/* CE3A7C 8024038C 26100004 */ addiu $s0, $s0, 4 +/* CE3A80 80240390 8E050000 */ lw $a1, ($s0) +/* CE3A84 80240394 26100004 */ addiu $s0, $s0, 4 +/* CE3A88 80240398 0C0B210B */ jal get_float_variable +/* CE3A8C 8024039C 0240202D */ daddu $a0, $s2, $zero +/* CE3A90 802403A0 8E050000 */ lw $a1, ($s0) +/* CE3A94 802403A4 26100004 */ addiu $s0, $s0, 4 +/* CE3A98 802403A8 0240202D */ daddu $a0, $s2, $zero +/* CE3A9C 802403AC 0C0B210B */ jal get_float_variable +/* CE3AA0 802403B0 46000606 */ mov.s $f24, $f0 +/* CE3AA4 802403B4 8E050000 */ lw $a1, ($s0) +/* CE3AA8 802403B8 26100004 */ addiu $s0, $s0, 4 +/* CE3AAC 802403BC 0240202D */ daddu $a0, $s2, $zero +/* CE3AB0 802403C0 0C0B1EAF */ jal get_variable +/* CE3AB4 802403C4 46000506 */ mov.s $f20, $f0 +/* CE3AB8 802403C8 8E050000 */ lw $a1, ($s0) +/* CE3ABC 802403CC 26100004 */ addiu $s0, $s0, 4 +/* CE3AC0 802403D0 0240202D */ daddu $a0, $s2, $zero +/* CE3AC4 802403D4 0C0B1EAF */ jal get_variable +/* CE3AC8 802403D8 0040882D */ daddu $s1, $v0, $zero +/* CE3ACC 802403DC 0240202D */ daddu $a0, $s2, $zero +/* CE3AD0 802403E0 8E050000 */ lw $a1, ($s0) +/* CE3AD4 802403E4 0C0B210B */ jal get_float_variable +/* CE3AD8 802403E8 0040802D */ daddu $s0, $v0, $zero +/* CE3ADC 802403EC 3C014334 */ lui $at, 0x4334 +/* CE3AE0 802403F0 44811000 */ mtc1 $at, $f2 +/* CE3AE4 802403F4 3C014049 */ lui $at, 0x4049 +/* CE3AE8 802403F8 34210FD8 */ ori $at, $at, 0xfd8 +/* CE3AEC 802403FC 44812000 */ mtc1 $at, $f4 +/* CE3AF0 80240400 46020003 */ div.s $f0, $f0, $f2 +/* CE3AF4 80240404 46040582 */ mul.s $f22, $f0, $f4 +/* CE3AF8 80240408 00000000 */ nop +/* CE3AFC 8024040C 4618A501 */ sub.s $f20, $f20, $f24 +/* CE3B00 80240410 3C013F00 */ lui $at, 0x3f00 +/* CE3B04 80240414 44810000 */ mtc1 $at, $f0 +/* CE3B08 80240418 4600A505 */ abs.s $f20, $f20 +/* CE3B0C 8024041C 4600A502 */ mul.s $f20, $f20, $f0 +/* CE3B10 80240420 00000000 */ nop +/* CE3B14 80240424 12000007 */ beqz $s0, .L80240444 +/* CE3B18 80240428 0233102A */ slt $v0, $s1, $s3 +/* CE3B1C 8024042C 10400005 */ beqz $v0, .L80240444 +/* CE3B20 80240430 0240202D */ daddu $a0, $s2, $zero +/* CE3B24 80240434 0220982D */ daddu $s3, $s1, $zero +/* CE3B28 80240438 0280282D */ daddu $a1, $s4, $zero +/* CE3B2C 8024043C 0C0B2026 */ jal set_variable +/* CE3B30 80240440 0220302D */ daddu $a2, $s1, $zero +.L80240444: +/* CE3B34 80240444 3C014049 */ lui $at, 0x4049 +/* CE3B38 80240448 34210FD8 */ ori $at, $at, 0xfd8 +/* CE3B3C 8024044C 44810000 */ mtc1 $at, $f0 +/* CE3B40 80240450 44936000 */ mtc1 $s3, $f12 +/* CE3B44 80240454 00000000 */ nop +/* CE3B48 80240458 46806320 */ cvt.s.w $f12, $f12 +/* CE3B4C 8024045C 46006302 */ mul.s $f12, $f12, $f0 +/* CE3B50 80240460 00000000 */ nop +/* CE3B54 80240464 44910000 */ mtc1 $s1, $f0 +/* CE3B58 80240468 00000000 */ nop +/* CE3B5C 8024046C 46800020 */ cvt.s.w $f0, $f0 +/* CE3B60 80240470 46006303 */ div.s $f12, $f12, $f0 +/* CE3B64 80240474 0C00A874 */ jal cos_rad +/* CE3B68 80240478 46166300 */ add.s $f12, $f12, $f22 +/* CE3B6C 8024047C 4600A002 */ mul.s $f0, $f20, $f0 +/* CE3B70 80240480 00000000 */ nop +/* CE3B74 80240484 4614C080 */ add.s $f2, $f24, $f20 +/* CE3B78 80240488 46001081 */ sub.s $f2, $f2, $f0 +/* CE3B7C 8024048C 0240202D */ daddu $a0, $s2, $zero +/* CE3B80 80240490 44061000 */ mfc1 $a2, $f2 +/* CE3B84 80240494 0C0B2190 */ jal set_float_variable +/* CE3B88 80240498 02A0282D */ daddu $a1, $s5, $zero +/* CE3B8C 8024049C 8FBF0028 */ lw $ra, 0x28($sp) +/* CE3B90 802404A0 8FB50024 */ lw $s5, 0x24($sp) +/* CE3B94 802404A4 8FB40020 */ lw $s4, 0x20($sp) +/* CE3B98 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* CE3B9C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* CE3BA0 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* CE3BA4 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* CE3BA8 802404B8 D7B80040 */ ldc1 $f24, 0x40($sp) +/* CE3BAC 802404BC D7B60038 */ ldc1 $f22, 0x38($sp) +/* CE3BB0 802404C0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* CE3BB4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* CE3BB8 802404C8 03E00008 */ jr $ra +/* CE3BBC 802404CC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_802404D0_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_802404D0_CE36F0.s new file mode 100644 index 0000000000..f650d32b33 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_802404D0_CE36F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0_CE3BC0 +/* CE3BC0 802404D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CE3BC4 802404D4 AFB00010 */ sw $s0, 0x10($sp) +/* CE3BC8 802404D8 0080802D */ daddu $s0, $a0, $zero +/* CE3BCC 802404DC AFB20018 */ sw $s2, 0x18($sp) +/* CE3BD0 802404E0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CE3BD4 802404E4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CE3BD8 802404E8 AFBF001C */ sw $ra, 0x1c($sp) +/* CE3BDC 802404EC AFB10014 */ sw $s1, 0x14($sp) +/* CE3BE0 802404F0 C64000A8 */ lwc1 $f0, 0xa8($s2) +/* CE3BE4 802404F4 8E02000C */ lw $v0, 0xc($s0) +/* CE3BE8 802404F8 4600008D */ trunc.w.s $f2, $f0 +/* CE3BEC 802404FC 44061000 */ mfc1 $a2, $f2 +/* CE3BF0 80240500 8C450000 */ lw $a1, ($v0) +/* CE3BF4 80240504 0C0B2026 */ jal set_variable +/* CE3BF8 80240508 8C510004 */ lw $s1, 4($v0) +/* CE3BFC 8024050C 0200202D */ daddu $a0, $s0, $zero +/* CE3C00 80240510 C6400080 */ lwc1 $f0, 0x80($s2) +/* CE3C04 80240514 4600008D */ trunc.w.s $f2, $f0 +/* CE3C08 80240518 44061000 */ mfc1 $a2, $f2 +/* CE3C0C 8024051C 0C0B2026 */ jal set_variable +/* CE3C10 80240520 0220282D */ daddu $a1, $s1, $zero +/* CE3C14 80240524 8FBF001C */ lw $ra, 0x1c($sp) +/* CE3C18 80240528 8FB20018 */ lw $s2, 0x18($sp) +/* CE3C1C 8024052C 8FB10014 */ lw $s1, 0x14($sp) +/* CE3C20 80240530 8FB00010 */ lw $s0, 0x10($sp) +/* CE3C24 80240534 24020002 */ addiu $v0, $zero, 2 +/* CE3C28 80240538 03E00008 */ jr $ra +/* CE3C2C 8024053C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240540_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240540_CE36F0.s new file mode 100644 index 0000000000..88bac9acad --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240540_CE36F0.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_CE3C30 +/* CE3C30 80240540 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CE3C34 80240544 AFB00010 */ sw $s0, 0x10($sp) +/* CE3C38 80240548 0080802D */ daddu $s0, $a0, $zero +/* CE3C3C 8024054C AFBF0018 */ sw $ra, 0x18($sp) +/* CE3C40 80240550 AFB10014 */ sw $s1, 0x14($sp) +/* CE3C44 80240554 F7B80030 */ sdc1 $f24, 0x30($sp) +/* CE3C48 80240558 F7B60028 */ sdc1 $f22, 0x28($sp) +/* CE3C4C 8024055C F7B40020 */ sdc1 $f20, 0x20($sp) +/* CE3C50 80240560 8E05008C */ lw $a1, 0x8c($s0) +/* CE3C54 80240564 4480B000 */ mtc1 $zero, $f22 +/* CE3C58 80240568 0C0B1EAF */ jal get_variable +/* CE3C5C 8024056C 0000202D */ daddu $a0, $zero, $zero +/* CE3C60 80240570 4600B306 */ mov.s $f12, $f22 +/* CE3C64 80240574 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* CE3C68 80240578 468010A0 */ cvt.s.w $f2, $f2 +/* CE3C6C 8024057C 44061000 */ mfc1 $a2, $f2 +/* CE3C70 80240580 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* CE3C74 80240584 468010A0 */ cvt.s.w $f2, $f2 +/* CE3C78 80240588 44071000 */ mfc1 $a3, $f2 +/* CE3C7C 8024058C 4482A000 */ mtc1 $v0, $f20 +/* CE3C80 80240590 00000000 */ nop +/* CE3C84 80240594 4680A520 */ cvt.s.w $f20, $f20 +/* CE3C88 80240598 0C00A7B5 */ jal dist2D +/* CE3C8C 8024059C 4600B386 */ mov.s $f14, $f22 +/* CE3C90 802405A0 4600B306 */ mov.s $f12, $f22 +/* CE3C94 802405A4 4600B386 */ mov.s $f14, $f22 +/* CE3C98 802405A8 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* CE3C9C 802405AC 468010A0 */ cvt.s.w $f2, $f2 +/* CE3CA0 802405B0 44061000 */ mfc1 $a2, $f2 +/* CE3CA4 802405B4 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* CE3CA8 802405B8 468010A0 */ cvt.s.w $f2, $f2 +/* CE3CAC 802405BC 44071000 */ mfc1 $a3, $f2 +/* CE3CB0 802405C0 0C00A720 */ jal atan2 +/* CE3CB4 802405C4 46000606 */ mov.s $f24, $f0 +/* CE3CB8 802405C8 0C00A6C9 */ jal clamp_angle +/* CE3CBC 802405CC 46140301 */ sub.s $f12, $f0, $f20 +/* CE3CC0 802405D0 46000506 */ mov.s $f20, $f0 +/* CE3CC4 802405D4 0C00A8BB */ jal sin_deg +/* CE3CC8 802405D8 4600A306 */ mov.s $f12, $f20 +/* CE3CCC 802405DC 4600C002 */ mul.s $f0, $f24, $f0 +/* CE3CD0 802405E0 00000000 */ nop +/* CE3CD4 802405E4 46160000 */ add.s $f0, $f0, $f22 +/* CE3CD8 802405E8 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* CE3CDC 802405EC 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* CE3CE0 802405F0 E6200028 */ swc1 $f0, 0x28($s1) +/* CE3CE4 802405F4 8E0500AC */ lw $a1, 0xac($s0) +/* CE3CE8 802405F8 0C0B1EAF */ jal get_variable +/* CE3CEC 802405FC 0000202D */ daddu $a0, $zero, $zero +/* CE3CF0 80240600 0000202D */ daddu $a0, $zero, $zero +/* CE3CF4 80240604 8E050090 */ lw $a1, 0x90($s0) +/* CE3CF8 80240608 0C0B1EAF */ jal get_variable +/* CE3CFC 8024060C 0040802D */ daddu $s0, $v0, $zero +/* CE3D00 80240610 4600A306 */ mov.s $f12, $f20 +/* CE3D04 80240614 02028021 */ addu $s0, $s0, $v0 +/* CE3D08 80240618 44900000 */ mtc1 $s0, $f0 +/* CE3D0C 8024061C 00000000 */ nop +/* CE3D10 80240620 46800020 */ cvt.s.w $f0, $f0 +/* CE3D14 80240624 0C00A8D4 */ jal cos_deg +/* CE3D18 80240628 E620002C */ swc1 $f0, 0x2c($s1) +/* CE3D1C 8024062C 4600C602 */ mul.s $f24, $f24, $f0 +/* CE3D20 80240630 00000000 */ nop +/* CE3D24 80240634 4618B581 */ sub.s $f22, $f22, $f24 +/* CE3D28 80240638 E6360030 */ swc1 $f22, 0x30($s1) +/* CE3D2C 8024063C 8FBF0018 */ lw $ra, 0x18($sp) +/* CE3D30 80240640 8FB10014 */ lw $s1, 0x14($sp) +/* CE3D34 80240644 8FB00010 */ lw $s0, 0x10($sp) +/* CE3D38 80240648 D7B80030 */ ldc1 $f24, 0x30($sp) +/* CE3D3C 8024064C D7B60028 */ ldc1 $f22, 0x28($sp) +/* CE3D40 80240650 D7B40020 */ ldc1 $f20, 0x20($sp) +/* CE3D44 80240654 24020002 */ addiu $v0, $zero, 2 +/* CE3D48 80240658 03E00008 */ jr $ra +/* CE3D4C 8024065C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240660_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240660_CE36F0.s new file mode 100644 index 0000000000..b7bfe9b4a9 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240660_CE36F0.s @@ -0,0 +1,77 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660_CE3D50 +/* CE3D50 80240660 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CE3D54 80240664 AFB00010 */ sw $s0, 0x10($sp) +/* CE3D58 80240668 0080802D */ daddu $s0, $a0, $zero +/* CE3D5C 8024066C AFBF0018 */ sw $ra, 0x18($sp) +/* CE3D60 80240670 AFB10014 */ sw $s1, 0x14($sp) +/* CE3D64 80240674 F7B80030 */ sdc1 $f24, 0x30($sp) +/* CE3D68 80240678 F7B60028 */ sdc1 $f22, 0x28($sp) +/* CE3D6C 8024067C F7B40020 */ sdc1 $f20, 0x20($sp) +/* CE3D70 80240680 0C00E2B7 */ jal get_npc_by_index +/* CE3D74 80240684 0000202D */ daddu $a0, $zero, $zero +/* CE3D78 80240688 0000202D */ daddu $a0, $zero, $zero +/* CE3D7C 8024068C 8E05008C */ lw $a1, 0x8c($s0) +/* CE3D80 80240690 4480B000 */ mtc1 $zero, $f22 +/* CE3D84 80240694 0C0B1EAF */ jal get_variable +/* CE3D88 80240698 0040882D */ daddu $s1, $v0, $zero +/* CE3D8C 8024069C 4600B306 */ mov.s $f12, $f22 +/* CE3D90 802406A0 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* CE3D94 802406A4 468010A0 */ cvt.s.w $f2, $f2 +/* CE3D98 802406A8 44061000 */ mfc1 $a2, $f2 +/* CE3D9C 802406AC C60200BC */ lwc1 $f2, 0xbc($s0) +/* CE3DA0 802406B0 468010A0 */ cvt.s.w $f2, $f2 +/* CE3DA4 802406B4 44071000 */ mfc1 $a3, $f2 +/* CE3DA8 802406B8 4482A000 */ mtc1 $v0, $f20 +/* CE3DAC 802406BC 00000000 */ nop +/* CE3DB0 802406C0 4680A520 */ cvt.s.w $f20, $f20 +/* CE3DB4 802406C4 0C00A7B5 */ jal dist2D +/* CE3DB8 802406C8 4600B386 */ mov.s $f14, $f22 +/* CE3DBC 802406CC 4600B306 */ mov.s $f12, $f22 +/* CE3DC0 802406D0 4600B386 */ mov.s $f14, $f22 +/* CE3DC4 802406D4 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* CE3DC8 802406D8 468010A0 */ cvt.s.w $f2, $f2 +/* CE3DCC 802406DC 44061000 */ mfc1 $a2, $f2 +/* CE3DD0 802406E0 C60200BC */ lwc1 $f2, 0xbc($s0) +/* CE3DD4 802406E4 468010A0 */ cvt.s.w $f2, $f2 +/* CE3DD8 802406E8 44071000 */ mfc1 $a3, $f2 +/* CE3DDC 802406EC 0C00A720 */ jal atan2 +/* CE3DE0 802406F0 46000606 */ mov.s $f24, $f0 +/* CE3DE4 802406F4 0C00A6C9 */ jal clamp_angle +/* CE3DE8 802406F8 46140301 */ sub.s $f12, $f0, $f20 +/* CE3DEC 802406FC 46000506 */ mov.s $f20, $f0 +/* CE3DF0 80240700 0C00A8BB */ jal sin_deg +/* CE3DF4 80240704 4600A306 */ mov.s $f12, $f20 +/* CE3DF8 80240708 4600C002 */ mul.s $f0, $f24, $f0 +/* CE3DFC 8024070C 00000000 */ nop +/* CE3E00 80240710 46160000 */ add.s $f0, $f0, $f22 +/* CE3E04 80240714 E6200038 */ swc1 $f0, 0x38($s1) +/* CE3E08 80240718 8E0500B8 */ lw $a1, 0xb8($s0) +/* CE3E0C 8024071C 0C0B1EAF */ jal get_variable +/* CE3E10 80240720 0000202D */ daddu $a0, $zero, $zero +/* CE3E14 80240724 0000202D */ daddu $a0, $zero, $zero +/* CE3E18 80240728 8E050090 */ lw $a1, 0x90($s0) +/* CE3E1C 8024072C 0C0B1EAF */ jal get_variable +/* CE3E20 80240730 0040802D */ daddu $s0, $v0, $zero +/* CE3E24 80240734 4600A306 */ mov.s $f12, $f20 +/* CE3E28 80240738 02028021 */ addu $s0, $s0, $v0 +/* CE3E2C 8024073C 44900000 */ mtc1 $s0, $f0 +/* CE3E30 80240740 00000000 */ nop +/* CE3E34 80240744 46800020 */ cvt.s.w $f0, $f0 +/* CE3E38 80240748 0C00A8D4 */ jal cos_deg +/* CE3E3C 8024074C E620003C */ swc1 $f0, 0x3c($s1) +/* CE3E40 80240750 4600C602 */ mul.s $f24, $f24, $f0 +/* CE3E44 80240754 00000000 */ nop +/* CE3E48 80240758 4618B581 */ sub.s $f22, $f22, $f24 +/* CE3E4C 8024075C E6360040 */ swc1 $f22, 0x40($s1) +/* CE3E50 80240760 8FBF0018 */ lw $ra, 0x18($sp) +/* CE3E54 80240764 8FB10014 */ lw $s1, 0x14($sp) +/* CE3E58 80240768 8FB00010 */ lw $s0, 0x10($sp) +/* CE3E5C 8024076C D7B80030 */ ldc1 $f24, 0x30($sp) +/* CE3E60 80240770 D7B60028 */ ldc1 $f22, 0x28($sp) +/* CE3E64 80240774 D7B40020 */ ldc1 $f20, 0x20($sp) +/* CE3E68 80240778 24020002 */ addiu $v0, $zero, 2 +/* CE3E6C 8024077C 03E00008 */ jr $ra +/* CE3E70 80240780 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_80240784_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_80240784_CE36F0.s new file mode 100644 index 0000000000..e8935be42f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_80240784_CE36F0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240784_CE3E74 +/* CE3E74 80240784 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE3E78 80240788 AFBF0010 */ sw $ra, 0x10($sp) +/* CE3E7C 8024078C C4800084 */ lwc1 $f0, 0x84($a0) +/* CE3E80 80240790 46800020 */ cvt.s.w $f0, $f0 +/* CE3E84 80240794 44050000 */ mfc1 $a1, $f0 +/* CE3E88 80240798 0C04DF69 */ jal func_80137DA4 +/* CE3E8C 8024079C 24040001 */ addiu $a0, $zero, 1 +/* CE3E90 802407A0 8FBF0010 */ lw $ra, 0x10($sp) +/* CE3E94 802407A4 24020002 */ addiu $v0, $zero, 2 +/* CE3E98 802407A8 03E00008 */ jr $ra +/* CE3E9C 802407AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_19/func_802407B0_CE36F0.s b/asm/nonmatchings/world/area_flo/flo_19/func_802407B0_CE36F0.s new file mode 100644 index 0000000000..c965900974 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_19/func_802407B0_CE36F0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407B0_CE3EA0 +/* CE3EA0 802407B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CE3EA4 802407B4 AFB20018 */ sw $s2, 0x18($sp) +/* CE3EA8 802407B8 0080902D */ daddu $s2, $a0, $zero +/* CE3EAC 802407BC AFBF0028 */ sw $ra, 0x28($sp) +/* CE3EB0 802407C0 AFB50024 */ sw $s5, 0x24($sp) +/* CE3EB4 802407C4 AFB40020 */ sw $s4, 0x20($sp) +/* CE3EB8 802407C8 AFB3001C */ sw $s3, 0x1c($sp) +/* CE3EBC 802407CC AFB10014 */ sw $s1, 0x14($sp) +/* CE3EC0 802407D0 AFB00010 */ sw $s0, 0x10($sp) +/* CE3EC4 802407D4 F7B80040 */ sdc1 $f24, 0x40($sp) +/* CE3EC8 802407D8 F7B60038 */ sdc1 $f22, 0x38($sp) +/* CE3ECC 802407DC F7B40030 */ sdc1 $f20, 0x30($sp) +/* CE3ED0 802407E0 8E50000C */ lw $s0, 0xc($s2) +/* CE3ED4 802407E4 8E140000 */ lw $s4, ($s0) +/* CE3ED8 802407E8 26100004 */ addiu $s0, $s0, 4 +/* CE3EDC 802407EC 0C0B1EAF */ jal get_variable +/* CE3EE0 802407F0 0280282D */ daddu $a1, $s4, $zero +/* CE3EE4 802407F4 0040982D */ daddu $s3, $v0, $zero +/* CE3EE8 802407F8 8E150000 */ lw $s5, ($s0) +/* CE3EEC 802407FC 26100004 */ addiu $s0, $s0, 4 +/* CE3EF0 80240800 8E050000 */ lw $a1, ($s0) +/* CE3EF4 80240804 26100004 */ addiu $s0, $s0, 4 +/* CE3EF8 80240808 0C0B210B */ jal get_float_variable +/* CE3EFC 8024080C 0240202D */ daddu $a0, $s2, $zero +/* CE3F00 80240810 8E050000 */ lw $a1, ($s0) +/* CE3F04 80240814 26100004 */ addiu $s0, $s0, 4 +/* CE3F08 80240818 0240202D */ daddu $a0, $s2, $zero +/* CE3F0C 8024081C 0C0B210B */ jal get_float_variable +/* CE3F10 80240820 46000606 */ mov.s $f24, $f0 +/* CE3F14 80240824 8E050000 */ lw $a1, ($s0) +/* CE3F18 80240828 26100004 */ addiu $s0, $s0, 4 +/* CE3F1C 8024082C 0240202D */ daddu $a0, $s2, $zero +/* CE3F20 80240830 0C0B1EAF */ jal get_variable +/* CE3F24 80240834 46000506 */ mov.s $f20, $f0 +/* CE3F28 80240838 8E050000 */ lw $a1, ($s0) +/* CE3F2C 8024083C 26100004 */ addiu $s0, $s0, 4 +/* CE3F30 80240840 0240202D */ daddu $a0, $s2, $zero +/* CE3F34 80240844 0C0B1EAF */ jal get_variable +/* CE3F38 80240848 0040882D */ daddu $s1, $v0, $zero +/* CE3F3C 8024084C 0240202D */ daddu $a0, $s2, $zero +/* CE3F40 80240850 8E050000 */ lw $a1, ($s0) +/* CE3F44 80240854 0C0B210B */ jal get_float_variable +/* CE3F48 80240858 0040802D */ daddu $s0, $v0, $zero +/* CE3F4C 8024085C 3C014334 */ lui $at, 0x4334 +/* CE3F50 80240860 44811000 */ mtc1 $at, $f2 +/* CE3F54 80240864 3C014049 */ lui $at, 0x4049 +/* CE3F58 80240868 34210FD8 */ ori $at, $at, 0xfd8 +/* CE3F5C 8024086C 44812000 */ mtc1 $at, $f4 +/* CE3F60 80240870 46020003 */ div.s $f0, $f0, $f2 +/* CE3F64 80240874 46040582 */ mul.s $f22, $f0, $f4 +/* CE3F68 80240878 00000000 */ nop +/* CE3F6C 8024087C 4618A501 */ sub.s $f20, $f20, $f24 +/* CE3F70 80240880 3C013F00 */ lui $at, 0x3f00 +/* CE3F74 80240884 44810000 */ mtc1 $at, $f0 +/* CE3F78 80240888 00000000 */ nop +/* CE3F7C 8024088C 4600A502 */ mul.s $f20, $f20, $f0 +/* CE3F80 80240890 00000000 */ nop +/* CE3F84 80240894 12000007 */ beqz $s0, .L802408B4 +/* CE3F88 80240898 0233102A */ slt $v0, $s1, $s3 +/* CE3F8C 8024089C 10400005 */ beqz $v0, .L802408B4 +/* CE3F90 802408A0 0240202D */ daddu $a0, $s2, $zero +/* CE3F94 802408A4 0220982D */ daddu $s3, $s1, $zero +/* CE3F98 802408A8 0280282D */ daddu $a1, $s4, $zero +/* CE3F9C 802408AC 0C0B2026 */ jal set_variable +/* CE3FA0 802408B0 0220302D */ daddu $a2, $s1, $zero +.L802408B4: +/* CE3FA4 802408B4 3C014049 */ lui $at, 0x4049 +/* CE3FA8 802408B8 34210FD8 */ ori $at, $at, 0xfd8 +/* CE3FAC 802408BC 44810000 */ mtc1 $at, $f0 +/* CE3FB0 802408C0 44936000 */ mtc1 $s3, $f12 +/* CE3FB4 802408C4 00000000 */ nop +/* CE3FB8 802408C8 46806320 */ cvt.s.w $f12, $f12 +/* CE3FBC 802408CC 46006302 */ mul.s $f12, $f12, $f0 +/* CE3FC0 802408D0 00000000 */ nop +/* CE3FC4 802408D4 44910000 */ mtc1 $s1, $f0 +/* CE3FC8 802408D8 00000000 */ nop +/* CE3FCC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* CE3FD0 802408E0 46006303 */ div.s $f12, $f12, $f0 +/* CE3FD4 802408E4 0C00A874 */ jal cos_rad +/* CE3FD8 802408E8 46166300 */ add.s $f12, $f12, $f22 +/* CE3FDC 802408EC 4600A002 */ mul.s $f0, $f20, $f0 +/* CE3FE0 802408F0 00000000 */ nop +/* CE3FE4 802408F4 4614C080 */ add.s $f2, $f24, $f20 +/* CE3FE8 802408F8 46001081 */ sub.s $f2, $f2, $f0 +/* CE3FEC 802408FC 0240202D */ daddu $a0, $s2, $zero +/* CE3FF0 80240900 44061000 */ mfc1 $a2, $f2 +/* CE3FF4 80240904 0C0B2190 */ jal set_float_variable +/* CE3FF8 80240908 02A0282D */ daddu $a1, $s5, $zero +/* CE3FFC 8024090C 8FBF0028 */ lw $ra, 0x28($sp) +/* CE4000 80240910 8FB50024 */ lw $s5, 0x24($sp) +/* CE4004 80240914 8FB40020 */ lw $s4, 0x20($sp) +/* CE4008 80240918 8FB3001C */ lw $s3, 0x1c($sp) +/* CE400C 8024091C 8FB20018 */ lw $s2, 0x18($sp) +/* CE4010 80240920 8FB10014 */ lw $s1, 0x14($sp) +/* CE4014 80240924 8FB00010 */ lw $s0, 0x10($sp) +/* CE4018 80240928 D7B80040 */ ldc1 $f24, 0x40($sp) +/* CE401C 8024092C D7B60038 */ ldc1 $f22, 0x38($sp) +/* CE4020 80240930 D7B40030 */ ldc1 $f20, 0x30($sp) +/* CE4024 80240934 24020002 */ addiu $v0, $zero, 2 +/* CE4028 80240938 03E00008 */ jr $ra +/* CE402C 8024093C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240000_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240000_CE6700.s new file mode 100644 index 0000000000..db31a34eea --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240000_CE6700.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CE6700 +/* CE6700 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CE6704 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* CE6708 80240008 AFB00018 */ sw $s0, 0x18($sp) +/* CE670C 8024000C 8C900084 */ lw $s0, 0x84($a0) +/* CE6710 80240010 C6000008 */ lwc1 $f0, 8($s0) +/* CE6714 80240014 240400A2 */ addiu $a0, $zero, 0xa2 +/* CE6718 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* CE671C 8024001C 8E060000 */ lw $a2, ($s0) +/* CE6720 80240020 8E070004 */ lw $a3, 4($s0) +/* CE6724 80240024 0C05267B */ jal func_801499EC +/* CE6728 80240028 0000282D */ daddu $a1, $zero, $zero +/* CE672C 8024002C 86020044 */ lh $v0, 0x44($s0) +/* CE6730 80240030 8FBF001C */ lw $ra, 0x1c($sp) +/* CE6734 80240034 8FB00018 */ lw $s0, 0x18($sp) +/* CE6738 80240038 28420002 */ slti $v0, $v0, 2 +/* CE673C 8024003C 38420001 */ xori $v0, $v0, 1 +/* CE6740 80240040 00021040 */ sll $v0, $v0, 1 +/* CE6744 80240044 03E00008 */ jr $ra +/* CE6748 80240048 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_8024004C_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_8024004C_CE6700.s new file mode 100644 index 0000000000..89339d7475 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_8024004C_CE6700.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C_CE674C +/* CE674C 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CE6750 80240050 AFB20020 */ sw $s2, 0x20($sp) +/* CE6754 80240054 0080902D */ daddu $s2, $a0, $zero +/* CE6758 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* CE675C 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* CE6760 80240060 AFB00018 */ sw $s0, 0x18($sp) +/* CE6764 80240064 10A0004A */ beqz $a1, .L80240190 +/* CE6768 80240068 8E51000C */ lw $s1, 0xc($s2) +/* CE676C 8024006C 0C00AB39 */ jal heap_malloc +/* CE6770 80240070 24040058 */ addiu $a0, $zero, 0x58 +/* CE6774 80240074 0000202D */ daddu $a0, $zero, $zero +/* CE6778 80240078 3C05FD05 */ lui $a1, 0xfd05 +/* CE677C 8024007C 34A50F81 */ ori $a1, $a1, 0xf81 +/* CE6780 80240080 0040802D */ daddu $s0, $v0, $zero +/* CE6784 80240084 0200302D */ daddu $a2, $s0, $zero +/* CE6788 80240088 0C0B2026 */ jal set_variable +/* CE678C 8024008C AE500084 */ sw $s0, 0x84($s2) +/* CE6790 80240090 8E250000 */ lw $a1, ($s1) +/* CE6794 80240094 26310004 */ addiu $s1, $s1, 4 +/* CE6798 80240098 0C0B1EAF */ jal get_variable +/* CE679C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* CE67A0 802400A0 AE020038 */ sw $v0, 0x38($s0) +/* CE67A4 802400A4 8E250000 */ lw $a1, ($s1) +/* CE67A8 802400A8 26310004 */ addiu $s1, $s1, 4 +/* CE67AC 802400AC 0C0B1EAF */ jal get_variable +/* CE67B0 802400B0 0240202D */ daddu $a0, $s2, $zero +/* CE67B4 802400B4 AE02003C */ sw $v0, 0x3c($s0) +/* CE67B8 802400B8 8E250000 */ lw $a1, ($s1) +/* CE67BC 802400BC 26310004 */ addiu $s1, $s1, 4 +/* CE67C0 802400C0 0C0B210B */ jal get_float_variable +/* CE67C4 802400C4 0240202D */ daddu $a0, $s2, $zero +/* CE67C8 802400C8 E600000C */ swc1 $f0, 0xc($s0) +/* CE67CC 802400CC 8E250000 */ lw $a1, ($s1) +/* CE67D0 802400D0 26310004 */ addiu $s1, $s1, 4 +/* CE67D4 802400D4 0C0B210B */ jal get_float_variable +/* CE67D8 802400D8 0240202D */ daddu $a0, $s2, $zero +/* CE67DC 802400DC E6000010 */ swc1 $f0, 0x10($s0) +/* CE67E0 802400E0 8E250000 */ lw $a1, ($s1) +/* CE67E4 802400E4 26310004 */ addiu $s1, $s1, 4 +/* CE67E8 802400E8 0C0B210B */ jal get_float_variable +/* CE67EC 802400EC 0240202D */ daddu $a0, $s2, $zero +/* CE67F0 802400F0 E6000014 */ swc1 $f0, 0x14($s0) +/* CE67F4 802400F4 8E250000 */ lw $a1, ($s1) +/* CE67F8 802400F8 26310004 */ addiu $s1, $s1, 4 +/* CE67FC 802400FC 0C0B210B */ jal get_float_variable +/* CE6800 80240100 0240202D */ daddu $a0, $s2, $zero +/* CE6804 80240104 E6000018 */ swc1 $f0, 0x18($s0) +/* CE6808 80240108 8E250000 */ lw $a1, ($s1) +/* CE680C 8024010C 26310004 */ addiu $s1, $s1, 4 +/* CE6810 80240110 0C0B210B */ jal get_float_variable +/* CE6814 80240114 0240202D */ daddu $a0, $s2, $zero +/* CE6818 80240118 E600001C */ swc1 $f0, 0x1c($s0) +/* CE681C 8024011C 8E250000 */ lw $a1, ($s1) +/* CE6820 80240120 26310004 */ addiu $s1, $s1, 4 +/* CE6824 80240124 0C0B210B */ jal get_float_variable +/* CE6828 80240128 0240202D */ daddu $a0, $s2, $zero +/* CE682C 8024012C E6000020 */ swc1 $f0, 0x20($s0) +/* CE6830 80240130 8E250000 */ lw $a1, ($s1) +/* CE6834 80240134 26310004 */ addiu $s1, $s1, 4 +/* CE6838 80240138 0C0B210B */ jal get_float_variable +/* CE683C 8024013C 0240202D */ daddu $a0, $s2, $zero +/* CE6840 80240140 E6000024 */ swc1 $f0, 0x24($s0) +/* CE6844 80240144 8E250000 */ lw $a1, ($s1) +/* CE6848 80240148 0C0B210B */ jal get_float_variable +/* CE684C 8024014C 0240202D */ daddu $a0, $s2, $zero +/* CE6850 80240150 3C013F80 */ lui $at, 0x3f80 +/* CE6854 80240154 44811000 */ mtc1 $at, $f2 +/* CE6858 80240158 E6000028 */ swc1 $f0, 0x28($s0) +/* CE685C 8024015C AFA00014 */ sw $zero, 0x14($sp) +/* CE6860 80240160 E7A20010 */ swc1 $f2, 0x10($sp) +/* CE6864 80240164 8E05000C */ lw $a1, 0xc($s0) +/* CE6868 80240168 8E060010 */ lw $a2, 0x10($s0) +/* CE686C 8024016C 8E070014 */ lw $a3, 0x14($s0) +/* CE6870 80240170 0C01CA6C */ jal func_800729B0 +/* CE6874 80240174 24040002 */ addiu $a0, $zero, 2 +/* CE6878 80240178 AE020050 */ sw $v0, 0x50($s0) +/* CE687C 8024017C A600004E */ sh $zero, 0x4e($s0) +/* CE6880 80240180 A6000048 */ sh $zero, 0x48($s0) +/* CE6884 80240184 A600004A */ sh $zero, 0x4a($s0) +/* CE6888 80240188 A6000044 */ sh $zero, 0x44($s0) +/* CE688C 8024018C A6000046 */ sh $zero, 0x46($s0) +.L80240190: +/* CE6890 80240190 8FBF0024 */ lw $ra, 0x24($sp) +/* CE6894 80240194 8FB20020 */ lw $s2, 0x20($sp) +/* CE6898 80240198 8FB1001C */ lw $s1, 0x1c($sp) +/* CE689C 8024019C 8FB00018 */ lw $s0, 0x18($sp) +/* CE68A0 802401A0 24020002 */ addiu $v0, $zero, 2 +/* CE68A4 802401A4 03E00008 */ jr $ra +/* CE68A8 802401A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_802401AC_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_802401AC_CE6700.s new file mode 100644 index 0000000000..64455463ad --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_802401AC_CE6700.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC_CE68AC +/* CE68AC 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CE68B0 802401B0 AFBF0020 */ sw $ra, 0x20($sp) +/* CE68B4 802401B4 AFB1001C */ sw $s1, 0x1c($sp) +/* CE68B8 802401B8 AFB00018 */ sw $s0, 0x18($sp) +/* CE68BC 802401BC 8C910084 */ lw $s1, 0x84($a0) +/* CE68C0 802401C0 86230044 */ lh $v1, 0x44($s1) +/* CE68C4 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* CE68C8 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* CE68CC 802401CC 2C620005 */ sltiu $v0, $v1, 5 +/* CE68D0 802401D0 1040008A */ beqz $v0, .L802403FC +/* CE68D4 802401D4 00031080 */ sll $v0, $v1, 2 +/* CE68D8 802401D8 3C018024 */ lui $at, 0x8024 +/* CE68DC 802401DC 00220821 */ addu $at, $at, $v0 +/* CE68E0 802401E0 8C225B10 */ lw $v0, 0x5b10($at) +/* CE68E4 802401E4 00400008 */ jr $v0 +/* CE68E8 802401E8 00000000 */ nop +/* CE68EC 802401EC 8E22003C */ lw $v0, 0x3c($s1) +/* CE68F0 802401F0 86270046 */ lh $a3, 0x46($s1) +/* CE68F4 802401F4 AFA20010 */ sw $v0, 0x10($sp) +/* CE68F8 802401F8 8E250010 */ lw $a1, 0x10($s1) +/* CE68FC 802401FC 8E26001C */ lw $a2, 0x1c($s1) +/* CE6900 80240200 0C00A8ED */ jal update_lerp +/* CE6904 80240204 24040005 */ addiu $a0, $zero, 5 +/* CE6908 80240208 86270046 */ lh $a3, 0x46($s1) +/* CE690C 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* CE6910 80240210 E6200004 */ swc1 $f0, 4($s1) +/* CE6914 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* CE6918 80240218 8E25000C */ lw $a1, 0xc($s1) +/* CE691C 8024021C 8E260018 */ lw $a2, 0x18($s1) +/* CE6920 80240220 0C00A8ED */ jal update_lerp +/* CE6924 80240224 0000202D */ daddu $a0, $zero, $zero +/* CE6928 80240228 86270046 */ lh $a3, 0x46($s1) +/* CE692C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* CE6930 80240230 E6200000 */ swc1 $f0, ($s1) +/* CE6934 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* CE6938 80240238 8E250014 */ lw $a1, 0x14($s1) +/* CE693C 8024023C 8E260020 */ lw $a2, 0x20($s1) +/* CE6940 80240240 0C00A8ED */ jal update_lerp +/* CE6944 80240244 0000202D */ daddu $a0, $zero, $zero +/* CE6948 80240248 8E220050 */ lw $v0, 0x50($s1) +/* CE694C 8024024C E6200008 */ swc1 $f0, 8($s1) +/* CE6950 80240250 C6200000 */ lwc1 $f0, ($s1) +/* CE6954 80240254 8C42000C */ lw $v0, 0xc($v0) +/* CE6958 80240258 E4400008 */ swc1 $f0, 8($v0) +/* CE695C 8024025C 8E220050 */ lw $v0, 0x50($s1) +/* CE6960 80240260 C6200004 */ lwc1 $f0, 4($s1) +/* CE6964 80240264 8C42000C */ lw $v0, 0xc($v0) +/* CE6968 80240268 E440000C */ swc1 $f0, 0xc($v0) +/* CE696C 8024026C 8E220050 */ lw $v0, 0x50($s1) +/* CE6970 80240270 C6200008 */ lwc1 $f0, 8($s1) +/* CE6974 80240274 8C42000C */ lw $v0, 0xc($v0) +/* CE6978 80240278 E4400010 */ swc1 $f0, 0x10($v0) +/* CE697C 8024027C 96220046 */ lhu $v0, 0x46($s1) +/* CE6980 80240280 8E23003C */ lw $v1, 0x3c($s1) +/* CE6984 80240284 24420001 */ addiu $v0, $v0, 1 +/* CE6988 80240288 A6220046 */ sh $v0, 0x46($s1) +/* CE698C 8024028C 00021400 */ sll $v0, $v0, 0x10 +/* CE6990 80240290 00021403 */ sra $v0, $v0, 0x10 +/* CE6994 80240294 0043102A */ slt $v0, $v0, $v1 +/* CE6998 80240298 14400058 */ bnez $v0, .L802403FC +/* CE699C 8024029C 24020001 */ addiu $v0, $zero, 1 +/* CE69A0 802402A0 A6220044 */ sh $v0, 0x44($s1) +/* CE69A4 802402A4 080900FF */ j .L802403FC +/* CE69A8 802402A8 A6200046 */ sh $zero, 0x46($s1) +/* CE69AC 802402AC 96220046 */ lhu $v0, 0x46($s1) +/* CE69B0 802402B0 24420001 */ addiu $v0, $v0, 1 +/* CE69B4 802402B4 A6220046 */ sh $v0, 0x46($s1) +/* CE69B8 802402B8 00021400 */ sll $v0, $v0, 0x10 +/* CE69BC 802402BC 00021403 */ sra $v0, $v0, 0x10 +/* CE69C0 802402C0 2842003C */ slti $v0, $v0, 0x3c +/* CE69C4 802402C4 1440004D */ bnez $v0, .L802403FC +/* CE69C8 802402C8 24020002 */ addiu $v0, $zero, 2 +/* CE69CC 802402CC 8E230050 */ lw $v1, 0x50($s1) +/* CE69D0 802402D0 A6220044 */ sh $v0, 0x44($s1) +/* CE69D4 802402D4 A6200046 */ sh $zero, 0x46($s1) +/* CE69D8 802402D8 8C63000C */ lw $v1, 0xc($v1) +/* CE69DC 802402DC 24020001 */ addiu $v0, $zero, 1 +/* CE69E0 802402E0 AC620070 */ sw $v0, 0x70($v1) +/* CE69E4 802402E4 8E220050 */ lw $v0, 0x50($s1) +/* CE69E8 802402E8 8C42000C */ lw $v0, 0xc($v0) +/* CE69EC 802402EC 080900FF */ j .L802403FC +/* CE69F0 802402F0 AC400074 */ sw $zero, 0x74($v0) +/* CE69F4 802402F4 96220046 */ lhu $v0, 0x46($s1) +/* CE69F8 802402F8 24420001 */ addiu $v0, $v0, 1 +/* CE69FC 802402FC A6220046 */ sh $v0, 0x46($s1) +/* CE6A00 80240300 00021400 */ sll $v0, $v0, 0x10 +/* CE6A04 80240304 00021403 */ sra $v0, $v0, 0x10 +/* CE6A08 80240308 2842003C */ slti $v0, $v0, 0x3c +/* CE6A0C 8024030C 1440003B */ bnez $v0, .L802403FC +/* CE6A10 80240310 00000000 */ nop +/* CE6A14 80240314 3C013F80 */ lui $at, 0x3f80 +/* CE6A18 80240318 44810000 */ mtc1 $at, $f0 +/* CE6A1C 8024031C AFA00014 */ sw $zero, 0x14($sp) +/* CE6A20 80240320 E7A00010 */ swc1 $f0, 0x10($sp) +/* CE6A24 80240324 8E250018 */ lw $a1, 0x18($s1) +/* CE6A28 80240328 8E26001C */ lw $a2, 0x1c($s1) +/* CE6A2C 8024032C 8E270020 */ lw $a3, 0x20($s1) +/* CE6A30 80240330 0C01C9AC */ jal func_800726B0 +/* CE6A34 80240334 24040001 */ addiu $a0, $zero, 1 +/* CE6A38 80240338 AE220054 */ sw $v0, 0x54($s1) +/* CE6A3C 8024033C 8C43000C */ lw $v1, 0xc($v0) +/* CE6A40 80240340 9222003B */ lbu $v0, 0x3b($s1) +/* CE6A44 80240344 A0620034 */ sb $v0, 0x34($v1) +/* CE6A48 80240348 8E220054 */ lw $v0, 0x54($s1) +/* CE6A4C 8024034C 8C42000C */ lw $v0, 0xc($v0) +/* CE6A50 80240350 AC400020 */ sw $zero, 0x20($v0) +/* CE6A54 80240354 8E250018 */ lw $a1, 0x18($s1) +/* CE6A58 80240358 8E260028 */ lw $a2, 0x28($s1) +/* CE6A5C 8024035C 8E270020 */ lw $a3, 0x20($s1) +/* CE6A60 80240360 0C044898 */ jal create_shadow_type +/* CE6A64 80240364 0000202D */ daddu $a0, $zero, $zero +/* CE6A68 80240368 3C014210 */ lui $at, 0x4210 +/* CE6A6C 8024036C 44810000 */ mtc1 $at, $f0 +/* CE6A70 80240370 AE220040 */ sw $v0, 0x40($s1) +/* CE6A74 80240374 24020003 */ addiu $v0, $zero, 3 +/* CE6A78 80240378 A6220044 */ sh $v0, 0x44($s1) +/* CE6A7C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* CE6A80 80240380 A6200046 */ sh $zero, 0x46($s1) +/* CE6A84 80240384 AE20002C */ sw $zero, 0x2c($s1) +/* CE6A88 80240388 A6220048 */ sh $v0, 0x48($s1) +/* CE6A8C 8024038C 080900FF */ j .L802403FC +/* CE6A90 80240390 E6200030 */ swc1 $f0, 0x30($s1) +/* CE6A94 80240394 0000202D */ daddu $a0, $zero, $zero +/* CE6A98 80240398 3C054210 */ lui $a1, 0x4210 +/* CE6A9C 8024039C 3C064198 */ lui $a2, 0x4198 +/* CE6AA0 802403A0 86270046 */ lh $a3, 0x46($s1) +/* CE6AA4 802403A4 24020078 */ addiu $v0, $zero, 0x78 +/* CE6AA8 802403A8 0C00A8ED */ jal update_lerp +/* CE6AAC 802403AC AFA20010 */ sw $v0, 0x10($sp) +/* CE6AB0 802403B0 96220046 */ lhu $v0, 0x46($s1) +/* CE6AB4 802403B4 E6200030 */ swc1 $f0, 0x30($s1) +/* CE6AB8 802403B8 24420001 */ addiu $v0, $v0, 1 +/* CE6ABC 802403BC A6220046 */ sh $v0, 0x46($s1) +/* CE6AC0 802403C0 00021400 */ sll $v0, $v0, 0x10 +/* CE6AC4 802403C4 00021403 */ sra $v0, $v0, 0x10 +/* CE6AC8 802403C8 28420078 */ slti $v0, $v0, 0x78 +/* CE6ACC 802403CC 1440000B */ bnez $v0, .L802403FC +/* CE6AD0 802403D0 24030001 */ addiu $v1, $zero, 1 +/* CE6AD4 802403D4 C620002C */ lwc1 $f0, 0x2c($s1) +/* CE6AD8 802403D8 24020002 */ addiu $v0, $zero, 2 +/* CE6ADC 802403DC A6220048 */ sh $v0, 0x48($s1) +/* CE6AE0 802403E0 24020004 */ addiu $v0, $zero, 4 +/* CE6AE4 802403E4 A620004C */ sh $zero, 0x4c($s1) +/* CE6AE8 802403E8 A623004A */ sh $v1, 0x4a($s1) +/* CE6AEC 802403EC A623004E */ sh $v1, 0x4e($s1) +/* CE6AF0 802403F0 A6220044 */ sh $v0, 0x44($s1) +/* CE6AF4 802403F4 A6200046 */ sh $zero, 0x46($s1) +/* CE6AF8 802403F8 E6200034 */ swc1 $f0, 0x34($s1) +.L802403FC: +/* CE6AFC 802403FC 8623004A */ lh $v1, 0x4a($s1) +/* CE6B00 80240400 24020001 */ addiu $v0, $zero, 1 +/* CE6B04 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* CE6B08 80240408 24020002 */ addiu $v0, $zero, 2 +/* CE6B0C 8024040C 1062001E */ beq $v1, $v0, .L80240488 +/* CE6B10 80240410 00000000 */ nop +/* CE6B14 80240414 0809014C */ j .L80240530 +/* CE6B18 80240418 00000000 */ nop +.L8024041C: +/* CE6B1C 8024041C 8627004C */ lh $a3, 0x4c($s1) +/* CE6B20 80240420 24100078 */ addiu $s0, $zero, 0x78 +/* CE6B24 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* CE6B28 80240428 8E250034 */ lw $a1, 0x34($s1) +/* CE6B2C 8024042C 3C0644B4 */ lui $a2, 0x44b4 +/* CE6B30 80240430 0C00A8ED */ jal update_lerp +/* CE6B34 80240434 24040004 */ addiu $a0, $zero, 4 +/* CE6B38 80240438 8627004C */ lh $a3, 0x4c($s1) +/* CE6B3C 8024043C E620002C */ swc1 $f0, 0x2c($s1) +/* CE6B40 80240440 AFB00010 */ sw $s0, 0x10($sp) +/* CE6B44 80240444 8E25001C */ lw $a1, 0x1c($s1) +/* CE6B48 80240448 8E260024 */ lw $a2, 0x24($s1) +/* CE6B4C 8024044C 0C00A8ED */ jal update_lerp +/* CE6B50 80240450 2404000A */ addiu $a0, $zero, 0xa +/* CE6B54 80240454 9622004C */ lhu $v0, 0x4c($s1) +/* CE6B58 80240458 E6200004 */ swc1 $f0, 4($s1) +/* CE6B5C 8024045C 24420001 */ addiu $v0, $v0, 1 +/* CE6B60 80240460 A622004C */ sh $v0, 0x4c($s1) +/* CE6B64 80240464 00021400 */ sll $v0, $v0, 0x10 +/* CE6B68 80240468 00021403 */ sra $v0, $v0, 0x10 +/* CE6B6C 8024046C 0050102A */ slt $v0, $v0, $s0 +/* CE6B70 80240470 1440002F */ bnez $v0, .L80240530 +/* CE6B74 80240474 2402010E */ addiu $v0, $zero, 0x10e +/* CE6B78 80240478 A622004C */ sh $v0, 0x4c($s1) +/* CE6B7C 8024047C 24020002 */ addiu $v0, $zero, 2 +/* CE6B80 80240480 0809014B */ j .L8024052C +/* CE6B84 80240484 A622004A */ sh $v0, 0x4a($s1) +.L80240488: +/* CE6B88 80240488 8622004C */ lh $v0, 0x4c($s1) +/* CE6B8C 8024048C 44826000 */ mtc1 $v0, $f12 +/* CE6B90 80240490 00000000 */ nop +/* CE6B94 80240494 0C00A8BB */ jal sin_deg +/* CE6B98 80240498 46806320 */ cvt.s.w $f12, $f12 +/* CE6B9C 8024049C 3C013F80 */ lui $at, 0x3f80 +/* CE6BA0 802404A0 44811000 */ mtc1 $at, $f2 +/* CE6BA4 802404A4 00000000 */ nop +/* CE6BA8 802404A8 46020000 */ add.s $f0, $f0, $f2 +/* CE6BAC 802404AC 46000000 */ add.s $f0, $f0, $f0 +/* CE6BB0 802404B0 C6220024 */ lwc1 $f2, 0x24($s1) +/* CE6BB4 802404B4 8622004C */ lh $v0, 0x4c($s1) +/* CE6BB8 802404B8 46001080 */ add.s $f2, $f2, $f0 +/* CE6BBC 802404BC 24420008 */ addiu $v0, $v0, 8 +/* CE6BC0 802404C0 44826000 */ mtc1 $v0, $f12 +/* CE6BC4 802404C4 00000000 */ nop +/* CE6BC8 802404C8 46806320 */ cvt.s.w $f12, $f12 +/* CE6BCC 802404CC 0C00A6C9 */ jal clamp_angle +/* CE6BD0 802404D0 E6220004 */ swc1 $f2, 4($s1) +/* CE6BD4 802404D4 4600010D */ trunc.w.s $f4, $f0 +/* CE6BD8 802404D8 44022000 */ mfc1 $v0, $f4 +/* CE6BDC 802404DC C6200004 */ lwc1 $f0, 4($s1) +/* CE6BE0 802404E0 A622004C */ sh $v0, 0x4c($s1) +/* CE6BE4 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0) +/* CE6BE8 802404E8 8E060030 */ lw $a2, 0x30($s0) +/* CE6BEC 802404EC 3C0141A0 */ lui $at, 0x41a0 +/* CE6BF0 802404F0 44817000 */ mtc1 $at, $f14 +/* CE6BF4 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* CE6BF8 802404F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* CE6BFC 802404FC C6200008 */ lwc1 $f0, 8($s1) +/* CE6C00 80240500 E7A00014 */ swc1 $f0, 0x14($sp) +/* CE6C04 80240504 8E270000 */ lw $a3, ($s1) +/* CE6C08 80240508 0C00A7CB */ jal dist3D +/* CE6C0C 8024050C 460E1380 */ add.s $f14, $f2, $f14 +/* CE6C10 80240510 3C0141F0 */ lui $at, 0x41f0 +/* CE6C14 80240514 44811000 */ mtc1 $at, $f2 +/* CE6C18 80240518 00000000 */ nop +/* CE6C1C 8024051C 4600103C */ c.lt.s $f2, $f0 +/* CE6C20 80240520 00000000 */ nop +/* CE6C24 80240524 45010002 */ bc1t .L80240530 +/* CE6C28 80240528 24020003 */ addiu $v0, $zero, 3 +.L8024052C: +/* CE6C2C 8024052C A622004E */ sh $v0, 0x4e($s1) +.L80240530: +/* CE6C30 80240530 86230048 */ lh $v1, 0x48($s1) +/* CE6C34 80240534 24020001 */ addiu $v0, $zero, 1 +/* CE6C38 80240538 10620005 */ beq $v1, $v0, .L80240550 +/* CE6C3C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* CE6C40 80240540 10620008 */ beq $v1, $v0, .L80240564 +/* CE6C44 80240544 00000000 */ nop +/* CE6C48 80240548 08090169 */ j .L802405A4 +/* CE6C4C 8024054C 00000000 */ nop +.L80240550: +/* CE6C50 80240550 C620002C */ lwc1 $f0, 0x2c($s1) +/* CE6C54 80240554 C62C0030 */ lwc1 $f12, 0x30($s1) +/* CE6C58 80240558 0C00A6C9 */ jal clamp_angle +/* CE6C5C 8024055C 460C0300 */ add.s $f12, $f0, $f12 +/* CE6C60 80240560 E620002C */ swc1 $f0, 0x2c($s1) +.L80240564: +/* CE6C64 80240564 8E220054 */ lw $v0, 0x54($s1) +/* CE6C68 80240568 C620002C */ lwc1 $f0, 0x2c($s1) +/* CE6C6C 8024056C 8C42000C */ lw $v0, 0xc($v0) +/* CE6C70 80240570 E4400024 */ swc1 $f0, 0x24($v0) +/* CE6C74 80240574 8E220054 */ lw $v0, 0x54($s1) +/* CE6C78 80240578 C6200018 */ lwc1 $f0, 0x18($s1) +/* CE6C7C 8024057C 8C42000C */ lw $v0, 0xc($v0) +/* CE6C80 80240580 E4400004 */ swc1 $f0, 4($v0) +/* CE6C84 80240584 8E220054 */ lw $v0, 0x54($s1) +/* CE6C88 80240588 C6200004 */ lwc1 $f0, 4($s1) +/* CE6C8C 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* CE6C90 80240590 E4400008 */ swc1 $f0, 8($v0) +/* CE6C94 80240594 8E220054 */ lw $v0, 0x54($s1) +/* CE6C98 80240598 C6200020 */ lwc1 $f0, 0x20($s1) +/* CE6C9C 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* CE6CA0 802405A0 E440000C */ swc1 $f0, 0xc($v0) +.L802405A4: +/* CE6CA4 802405A4 8FBF0020 */ lw $ra, 0x20($sp) +/* CE6CA8 802405A8 8FB1001C */ lw $s1, 0x1c($sp) +/* CE6CAC 802405AC 8FB00018 */ lw $s0, 0x18($sp) +/* CE6CB0 802405B0 0000102D */ daddu $v0, $zero, $zero +/* CE6CB4 802405B4 03E00008 */ jr $ra +/* CE6CB8 802405B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_802405BC_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_802405BC_CE6700.s new file mode 100644 index 0000000000..f29b69a2bb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_802405BC_CE6700.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_CE6CBC +/* CE6CBC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE6CC0 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* CE6CC4 802405C4 0080802D */ daddu $s0, $a0, $zero +/* CE6CC8 802405C8 AFBF0014 */ sw $ra, 0x14($sp) +/* CE6CCC 802405CC 8E02000C */ lw $v0, 0xc($s0) +/* CE6CD0 802405D0 0C0B1EAF */ jal get_variable +/* CE6CD4 802405D4 8C450000 */ lw $a1, ($v0) +/* CE6CD8 802405D8 8E030084 */ lw $v1, 0x84($s0) +/* CE6CDC 802405DC 8FBF0014 */ lw $ra, 0x14($sp) +/* CE6CE0 802405E0 8463004E */ lh $v1, 0x4e($v1) +/* CE6CE4 802405E4 8FB00010 */ lw $s0, 0x10($sp) +/* CE6CE8 802405E8 00621826 */ xor $v1, $v1, $v0 +/* CE6CEC 802405EC 2C630001 */ sltiu $v1, $v1, 1 +/* CE6CF0 802405F0 00031040 */ sll $v0, $v1, 1 +/* CE6CF4 802405F4 03E00008 */ jr $ra +/* CE6CF8 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_802405FC_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_802405FC_CE6700.s new file mode 100644 index 0000000000..67e6c2a950 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_802405FC_CE6700.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_CE6CFC +/* CE6CFC 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CE6D00 80240600 AFB20020 */ sw $s2, 0x20($sp) +/* CE6D04 80240604 0080902D */ daddu $s2, $a0, $zero +/* CE6D08 80240608 AFBF0024 */ sw $ra, 0x24($sp) +/* CE6D0C 8024060C AFB1001C */ sw $s1, 0x1c($sp) +/* CE6D10 80240610 AFB00018 */ sw $s0, 0x18($sp) +/* CE6D14 80240614 10A00035 */ beqz $a1, .L802406EC +/* CE6D18 80240618 8E51000C */ lw $s1, 0xc($s2) +/* CE6D1C 8024061C 0C00AB39 */ jal heap_malloc +/* CE6D20 80240620 24040058 */ addiu $a0, $zero, 0x58 +/* CE6D24 80240624 0040802D */ daddu $s0, $v0, $zero +/* CE6D28 80240628 AE500084 */ sw $s0, 0x84($s2) +/* CE6D2C 8024062C 8E250000 */ lw $a1, ($s1) +/* CE6D30 80240630 26310004 */ addiu $s1, $s1, 4 +/* CE6D34 80240634 0C0B1EAF */ jal get_variable +/* CE6D38 80240638 0240202D */ daddu $a0, $s2, $zero +/* CE6D3C 8024063C AE020038 */ sw $v0, 0x38($s0) +/* CE6D40 80240640 8E250000 */ lw $a1, ($s1) +/* CE6D44 80240644 26310004 */ addiu $s1, $s1, 4 +/* CE6D48 80240648 0C0B210B */ jal get_float_variable +/* CE6D4C 8024064C 0240202D */ daddu $a0, $s2, $zero +/* CE6D50 80240650 E6000018 */ swc1 $f0, 0x18($s0) +/* CE6D54 80240654 8E250000 */ lw $a1, ($s1) +/* CE6D58 80240658 26310004 */ addiu $s1, $s1, 4 +/* CE6D5C 8024065C 0C0B210B */ jal get_float_variable +/* CE6D60 80240660 0240202D */ daddu $a0, $s2, $zero +/* CE6D64 80240664 E6000024 */ swc1 $f0, 0x24($s0) +/* CE6D68 80240668 8E250000 */ lw $a1, ($s1) +/* CE6D6C 8024066C 26310004 */ addiu $s1, $s1, 4 +/* CE6D70 80240670 0C0B210B */ jal get_float_variable +/* CE6D74 80240674 0240202D */ daddu $a0, $s2, $zero +/* CE6D78 80240678 E6000020 */ swc1 $f0, 0x20($s0) +/* CE6D7C 8024067C 8E250000 */ lw $a1, ($s1) +/* CE6D80 80240680 0C0B210B */ jal get_float_variable +/* CE6D84 80240684 0240202D */ daddu $a0, $s2, $zero +/* CE6D88 80240688 3C013F80 */ lui $at, 0x3f80 +/* CE6D8C 8024068C 44811000 */ mtc1 $at, $f2 +/* CE6D90 80240690 E6000028 */ swc1 $f0, 0x28($s0) +/* CE6D94 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* CE6D98 80240698 E7A20010 */ swc1 $f2, 0x10($sp) +/* CE6D9C 8024069C 8E050018 */ lw $a1, 0x18($s0) +/* CE6DA0 802406A0 8E060024 */ lw $a2, 0x24($s0) +/* CE6DA4 802406A4 8E070020 */ lw $a3, 0x20($s0) +/* CE6DA8 802406A8 0C01C9AC */ jal func_800726B0 +/* CE6DAC 802406AC 24040001 */ addiu $a0, $zero, 1 +/* CE6DB0 802406B0 AE020054 */ sw $v0, 0x54($s0) +/* CE6DB4 802406B4 8C43000C */ lw $v1, 0xc($v0) +/* CE6DB8 802406B8 9202003B */ lbu $v0, 0x3b($s0) +/* CE6DBC 802406BC A0620034 */ sb $v0, 0x34($v1) +/* CE6DC0 802406C0 8E020054 */ lw $v0, 0x54($s0) +/* CE6DC4 802406C4 8C42000C */ lw $v0, 0xc($v0) +/* CE6DC8 802406C8 AC400020 */ sw $zero, 0x20($v0) +/* CE6DCC 802406CC 8E050018 */ lw $a1, 0x18($s0) +/* CE6DD0 802406D0 8E060028 */ lw $a2, 0x28($s0) +/* CE6DD4 802406D4 8E070020 */ lw $a3, 0x20($s0) +/* CE6DD8 802406D8 0C044898 */ jal create_shadow_type +/* CE6DDC 802406DC 0000202D */ daddu $a0, $zero, $zero +/* CE6DE0 802406E0 AE020040 */ sw $v0, 0x40($s0) +/* CE6DE4 802406E4 2402010E */ addiu $v0, $zero, 0x10e +/* CE6DE8 802406E8 A602004C */ sh $v0, 0x4c($s0) +.L802406EC: +/* CE6DEC 802406EC 8FBF0024 */ lw $ra, 0x24($sp) +/* CE6DF0 802406F0 8FB20020 */ lw $s2, 0x20($sp) +/* CE6DF4 802406F4 8FB1001C */ lw $s1, 0x1c($sp) +/* CE6DF8 802406F8 8FB00018 */ lw $s0, 0x18($sp) +/* CE6DFC 802406FC 24020002 */ addiu $v0, $zero, 2 +/* CE6E00 80240700 03E00008 */ jr $ra +/* CE6E04 80240704 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240708_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240708_CE6700.s new file mode 100644 index 0000000000..5ff52bbd0f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240708_CE6700.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708_CE6E08 +/* CE6E08 80240708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE6E0C 8024070C AFBF0014 */ sw $ra, 0x14($sp) +/* CE6E10 80240710 AFB00010 */ sw $s0, 0x10($sp) +/* CE6E14 80240714 8C900084 */ lw $s0, 0x84($a0) +/* CE6E18 80240718 8602004C */ lh $v0, 0x4c($s0) +/* CE6E1C 8024071C 44826000 */ mtc1 $v0, $f12 +/* CE6E20 80240720 00000000 */ nop +/* CE6E24 80240724 0C00A8BB */ jal sin_deg +/* CE6E28 80240728 46806320 */ cvt.s.w $f12, $f12 +/* CE6E2C 8024072C 3C013F80 */ lui $at, 0x3f80 +/* CE6E30 80240730 44811000 */ mtc1 $at, $f2 +/* CE6E34 80240734 00000000 */ nop +/* CE6E38 80240738 46020000 */ add.s $f0, $f0, $f2 +/* CE6E3C 8024073C 46000000 */ add.s $f0, $f0, $f0 +/* CE6E40 80240740 C6020024 */ lwc1 $f2, 0x24($s0) +/* CE6E44 80240744 8602004C */ lh $v0, 0x4c($s0) +/* CE6E48 80240748 46001080 */ add.s $f2, $f2, $f0 +/* CE6E4C 8024074C 24420008 */ addiu $v0, $v0, 8 +/* CE6E50 80240750 44826000 */ mtc1 $v0, $f12 +/* CE6E54 80240754 00000000 */ nop +/* CE6E58 80240758 46806320 */ cvt.s.w $f12, $f12 +/* CE6E5C 8024075C 0C00A6C9 */ jal clamp_angle +/* CE6E60 80240760 E6020004 */ swc1 $f2, 4($s0) +/* CE6E64 80240764 4600010D */ trunc.w.s $f4, $f0 +/* CE6E68 80240768 44022000 */ mfc1 $v0, $f4 +/* CE6E6C 8024076C 00000000 */ nop +/* CE6E70 80240770 A602004C */ sh $v0, 0x4c($s0) +/* CE6E74 80240774 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* CE6E78 80240778 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* CE6E7C 8024077C C44C0028 */ lwc1 $f12, 0x28($v0) +/* CE6E80 80240780 C44E0030 */ lwc1 $f14, 0x30($v0) +/* CE6E84 80240784 8E060018 */ lw $a2, 0x18($s0) +/* CE6E88 80240788 0C00A7B5 */ jal dist2D +/* CE6E8C 8024078C 8E070020 */ lw $a3, 0x20($s0) +/* CE6E90 80240790 3C0141F0 */ lui $at, 0x41f0 +/* CE6E94 80240794 44811000 */ mtc1 $at, $f2 +/* CE6E98 80240798 00000000 */ nop +/* CE6E9C 8024079C 4602003E */ c.le.s $f0, $f2 +/* CE6EA0 802407A0 00000000 */ nop +/* CE6EA4 802407A4 45000002 */ bc1f .L802407B0 +/* CE6EA8 802407A8 24020003 */ addiu $v0, $zero, 3 +/* CE6EAC 802407AC A602004E */ sh $v0, 0x4e($s0) +.L802407B0: +/* CE6EB0 802407B0 8E020054 */ lw $v0, 0x54($s0) +/* CE6EB4 802407B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* CE6EB8 802407B8 8C42000C */ lw $v0, 0xc($v0) +/* CE6EBC 802407BC E4400004 */ swc1 $f0, 4($v0) +/* CE6EC0 802407C0 8E020054 */ lw $v0, 0x54($s0) +/* CE6EC4 802407C4 C6000004 */ lwc1 $f0, 4($s0) +/* CE6EC8 802407C8 8C42000C */ lw $v0, 0xc($v0) +/* CE6ECC 802407CC E4400008 */ swc1 $f0, 8($v0) +/* CE6ED0 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* CE6ED4 802407D4 C6000020 */ lwc1 $f0, 0x20($s0) +/* CE6ED8 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* CE6EDC 802407DC E440000C */ swc1 $f0, 0xc($v0) +/* CE6EE0 802407E0 8FBF0014 */ lw $ra, 0x14($sp) +/* CE6EE4 802407E4 8FB00010 */ lw $s0, 0x10($sp) +/* CE6EE8 802407E8 0000102D */ daddu $v0, $zero, $zero +/* CE6EEC 802407EC 03E00008 */ jr $ra +/* CE6EF0 802407F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_802407F4_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_802407F4_CE6700.s new file mode 100644 index 0000000000..c5e1383095 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_802407F4_CE6700.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4_CE6EF4 +/* CE6EF4 802407F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE6EF8 802407F8 AFB00010 */ sw $s0, 0x10($sp) +/* CE6EFC 802407FC 0080802D */ daddu $s0, $a0, $zero +/* CE6F00 80240800 AFBF0014 */ sw $ra, 0x14($sp) +/* CE6F04 80240804 8E0300A8 */ lw $v1, 0xa8($s0) +/* CE6F08 80240808 8E020088 */ lw $v0, 0x88($s0) +/* CE6F0C 8024080C 00621821 */ addu $v1, $v1, $v0 +/* CE6F10 80240810 04610004 */ bgez $v1, .L80240824 +/* CE6F14 80240814 AE0300A8 */ sw $v1, 0xa8($s0) +/* CE6F18 80240818 3C020002 */ lui $v0, 2 +/* CE6F1C 8024081C 0809020D */ j .L80240834 +/* CE6F20 80240820 00621021 */ addu $v0, $v1, $v0 +.L80240824: +/* CE6F24 80240824 3C040002 */ lui $a0, 2 +/* CE6F28 80240828 0083102A */ slt $v0, $a0, $v1 +/* CE6F2C 8024082C 10400002 */ beqz $v0, .L80240838 +/* CE6F30 80240830 00641023 */ subu $v0, $v1, $a0 +.L80240834: +/* CE6F34 80240834 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240838: +/* CE6F38 80240838 8E0300AC */ lw $v1, 0xac($s0) +/* CE6F3C 8024083C 8E02008C */ lw $v0, 0x8c($s0) +/* CE6F40 80240840 00621821 */ addu $v1, $v1, $v0 +/* CE6F44 80240844 04610004 */ bgez $v1, .L80240858 +/* CE6F48 80240848 AE0300AC */ sw $v1, 0xac($s0) +/* CE6F4C 8024084C 3C020002 */ lui $v0, 2 +/* CE6F50 80240850 0809021A */ j .L80240868 +/* CE6F54 80240854 00621021 */ addu $v0, $v1, $v0 +.L80240858: +/* CE6F58 80240858 3C040002 */ lui $a0, 2 +/* CE6F5C 8024085C 0083102A */ slt $v0, $a0, $v1 +/* CE6F60 80240860 10400002 */ beqz $v0, .L8024086C +/* CE6F64 80240864 00641023 */ subu $v0, $v1, $a0 +.L80240868: +/* CE6F68 80240868 AE0200AC */ sw $v0, 0xac($s0) +.L8024086C: +/* CE6F6C 8024086C 8E0300B0 */ lw $v1, 0xb0($s0) +/* CE6F70 80240870 8E020090 */ lw $v0, 0x90($s0) +/* CE6F74 80240874 00621821 */ addu $v1, $v1, $v0 +/* CE6F78 80240878 04610004 */ bgez $v1, .L8024088C +/* CE6F7C 8024087C AE0300B0 */ sw $v1, 0xb0($s0) +/* CE6F80 80240880 3C020002 */ lui $v0, 2 +/* CE6F84 80240884 08090227 */ j .L8024089C +/* CE6F88 80240888 00621021 */ addu $v0, $v1, $v0 +.L8024088C: +/* CE6F8C 8024088C 3C040002 */ lui $a0, 2 +/* CE6F90 80240890 0083102A */ slt $v0, $a0, $v1 +/* CE6F94 80240894 10400002 */ beqz $v0, .L802408A0 +/* CE6F98 80240898 00641023 */ subu $v0, $v1, $a0 +.L8024089C: +/* CE6F9C 8024089C AE0200B0 */ sw $v0, 0xb0($s0) +.L802408A0: +/* CE6FA0 802408A0 8E0300B4 */ lw $v1, 0xb4($s0) +/* CE6FA4 802408A4 8E020094 */ lw $v0, 0x94($s0) +/* CE6FA8 802408A8 00621821 */ addu $v1, $v1, $v0 +/* CE6FAC 802408AC 04610004 */ bgez $v1, .L802408C0 +/* CE6FB0 802408B0 AE0300B4 */ sw $v1, 0xb4($s0) +/* CE6FB4 802408B4 3C020002 */ lui $v0, 2 +/* CE6FB8 802408B8 08090234 */ j .L802408D0 +/* CE6FBC 802408BC 00621021 */ addu $v0, $v1, $v0 +.L802408C0: +/* CE6FC0 802408C0 3C040002 */ lui $a0, 2 +/* CE6FC4 802408C4 0083102A */ slt $v0, $a0, $v1 +/* CE6FC8 802408C8 10400002 */ beqz $v0, .L802408D4 +/* CE6FCC 802408CC 00641023 */ subu $v0, $v1, $a0 +.L802408D0: +/* CE6FD0 802408D0 AE0200B4 */ sw $v0, 0xb4($s0) +.L802408D4: +/* CE6FD4 802408D4 8E040084 */ lw $a0, 0x84($s0) +/* CE6FD8 802408D8 0C046F07 */ jal set_main_pan_u +/* CE6FDC 802408DC 8E0500A8 */ lw $a1, 0xa8($s0) +/* CE6FE0 802408E0 8E040084 */ lw $a0, 0x84($s0) +/* CE6FE4 802408E4 0C046F0D */ jal set_main_pan_v +/* CE6FE8 802408E8 8E0500AC */ lw $a1, 0xac($s0) +/* CE6FEC 802408EC 8E040084 */ lw $a0, 0x84($s0) +/* CE6FF0 802408F0 0C046F13 */ jal set_aux_pan_u +/* CE6FF4 802408F4 8E0500B0 */ lw $a1, 0xb0($s0) +/* CE6FF8 802408F8 8E040084 */ lw $a0, 0x84($s0) +/* CE6FFC 802408FC 0C046F19 */ jal set_aux_pan_v +/* CE7000 80240900 8E0500B4 */ lw $a1, 0xb4($s0) +/* CE7004 80240904 8FBF0014 */ lw $ra, 0x14($sp) +/* CE7008 80240908 8FB00010 */ lw $s0, 0x10($sp) +/* CE700C 8024090C 0000102D */ daddu $v0, $zero, $zero +/* CE7010 80240910 03E00008 */ jr $ra +/* CE7014 80240914 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240918.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240918.s new file mode 100644 index 0000000000..771cce0215 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240918.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240918 +/* CE7018 80240918 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CE701C 8024091C AFB00010 */ sw $s0, 0x10($sp) +/* CE7020 80240920 0080802D */ daddu $s0, $a0, $zero +/* CE7024 80240924 10A00005 */ beqz $a1, .L8024093C +/* CE7028 80240928 AFBF0014 */ sw $ra, 0x14($sp) +/* CE702C 8024092C AE000070 */ sw $zero, 0x70($s0) +/* CE7030 80240930 AE000074 */ sw $zero, 0x74($s0) +/* CE7034 80240934 AE000078 */ sw $zero, 0x78($s0) +/* CE7038 80240938 AE00007C */ sw $zero, 0x7c($s0) +.L8024093C: +/* CE703C 8024093C 8E020070 */ lw $v0, 0x70($s0) +/* CE7040 80240940 1440000E */ bnez $v0, .L8024097C +/* CE7044 80240944 00000000 */ nop +/* CE7048 80240948 8E0300A8 */ lw $v1, 0xa8($s0) +/* CE704C 8024094C 8E020088 */ lw $v0, 0x88($s0) +/* CE7050 80240950 00621821 */ addu $v1, $v1, $v0 +/* CE7054 80240954 04610004 */ bgez $v1, .L80240968 +/* CE7058 80240958 AE0300A8 */ sw $v1, 0xa8($s0) +/* CE705C 8024095C 3C020002 */ lui $v0, 2 +/* CE7060 80240960 0809025E */ j .L80240978 +/* CE7064 80240964 00621021 */ addu $v0, $v1, $v0 +.L80240968: +/* CE7068 80240968 3C040002 */ lui $a0, 2 +/* CE706C 8024096C 0083102A */ slt $v0, $a0, $v1 +/* CE7070 80240970 10400002 */ beqz $v0, .L8024097C +/* CE7074 80240974 00641023 */ subu $v0, $v1, $a0 +.L80240978: +/* CE7078 80240978 AE0200A8 */ sw $v0, 0xa8($s0) +.L8024097C: +/* CE707C 8024097C 8E020074 */ lw $v0, 0x74($s0) +/* CE7080 80240980 1440000E */ bnez $v0, .L802409BC +/* CE7084 80240984 00000000 */ nop +/* CE7088 80240988 8E0300AC */ lw $v1, 0xac($s0) +/* CE708C 8024098C 8E02008C */ lw $v0, 0x8c($s0) +/* CE7090 80240990 00621821 */ addu $v1, $v1, $v0 +/* CE7094 80240994 04610004 */ bgez $v1, .L802409A8 +/* CE7098 80240998 AE0300AC */ sw $v1, 0xac($s0) +/* CE709C 8024099C 3C020002 */ lui $v0, 2 +/* CE70A0 802409A0 0809026E */ j .L802409B8 +/* CE70A4 802409A4 00621021 */ addu $v0, $v1, $v0 +.L802409A8: +/* CE70A8 802409A8 3C040002 */ lui $a0, 2 +/* CE70AC 802409AC 0083102A */ slt $v0, $a0, $v1 +/* CE70B0 802409B0 10400002 */ beqz $v0, .L802409BC +/* CE70B4 802409B4 00641023 */ subu $v0, $v1, $a0 +.L802409B8: +/* CE70B8 802409B8 AE0200AC */ sw $v0, 0xac($s0) +.L802409BC: +/* CE70BC 802409BC 8E020078 */ lw $v0, 0x78($s0) +/* CE70C0 802409C0 1440000E */ bnez $v0, .L802409FC +/* CE70C4 802409C4 00000000 */ nop +/* CE70C8 802409C8 8E0300B0 */ lw $v1, 0xb0($s0) +/* CE70CC 802409CC 8E020090 */ lw $v0, 0x90($s0) +/* CE70D0 802409D0 00621821 */ addu $v1, $v1, $v0 +/* CE70D4 802409D4 04610004 */ bgez $v1, .L802409E8 +/* CE70D8 802409D8 AE0300B0 */ sw $v1, 0xb0($s0) +/* CE70DC 802409DC 3C020002 */ lui $v0, 2 +/* CE70E0 802409E0 0809027E */ j .L802409F8 +/* CE70E4 802409E4 00621021 */ addu $v0, $v1, $v0 +.L802409E8: +/* CE70E8 802409E8 3C040002 */ lui $a0, 2 +/* CE70EC 802409EC 0083102A */ slt $v0, $a0, $v1 +/* CE70F0 802409F0 10400002 */ beqz $v0, .L802409FC +/* CE70F4 802409F4 00641023 */ subu $v0, $v1, $a0 +.L802409F8: +/* CE70F8 802409F8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802409FC: +/* CE70FC 802409FC 8E02007C */ lw $v0, 0x7c($s0) +/* CE7100 80240A00 1440000E */ bnez $v0, .L80240A3C +/* CE7104 80240A04 00000000 */ nop +/* CE7108 80240A08 8E0300B4 */ lw $v1, 0xb4($s0) +/* CE710C 80240A0C 8E020094 */ lw $v0, 0x94($s0) +/* CE7110 80240A10 00621821 */ addu $v1, $v1, $v0 +/* CE7114 80240A14 04610004 */ bgez $v1, .L80240A28 +/* CE7118 80240A18 AE0300B4 */ sw $v1, 0xb4($s0) +/* CE711C 80240A1C 3C020002 */ lui $v0, 2 +/* CE7120 80240A20 0809028E */ j .L80240A38 +/* CE7124 80240A24 00621021 */ addu $v0, $v1, $v0 +.L80240A28: +/* CE7128 80240A28 3C040002 */ lui $a0, 2 +/* CE712C 80240A2C 0083102A */ slt $v0, $a0, $v1 +/* CE7130 80240A30 10400002 */ beqz $v0, .L80240A3C +/* CE7134 80240A34 00641023 */ subu $v0, $v1, $a0 +.L80240A38: +/* CE7138 80240A38 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240A3C: +/* CE713C 80240A3C 8E040084 */ lw $a0, 0x84($s0) +/* CE7140 80240A40 0C046F07 */ jal set_main_pan_u +/* CE7144 80240A44 8E0500A8 */ lw $a1, 0xa8($s0) +/* CE7148 80240A48 8E040084 */ lw $a0, 0x84($s0) +/* CE714C 80240A4C 0C046F0D */ jal set_main_pan_v +/* CE7150 80240A50 8E0500AC */ lw $a1, 0xac($s0) +/* CE7154 80240A54 8E040084 */ lw $a0, 0x84($s0) +/* CE7158 80240A58 0C046F13 */ jal set_aux_pan_u +/* CE715C 80240A5C 8E0500B0 */ lw $a1, 0xb0($s0) +/* CE7160 80240A60 8E040084 */ lw $a0, 0x84($s0) +/* CE7164 80240A64 0C046F19 */ jal set_aux_pan_v +/* CE7168 80240A68 8E0500B4 */ lw $a1, 0xb4($s0) +/* CE716C 80240A6C 8E020070 */ lw $v0, 0x70($s0) +/* CE7170 80240A70 8E030078 */ lw $v1, 0x78($s0) +/* CE7174 80240A74 8E040098 */ lw $a0, 0x98($s0) +/* CE7178 80240A78 24420001 */ addiu $v0, $v0, 1 +/* CE717C 80240A7C AE020070 */ sw $v0, 0x70($s0) +/* CE7180 80240A80 8E020074 */ lw $v0, 0x74($s0) +/* CE7184 80240A84 24630001 */ addiu $v1, $v1, 1 +/* CE7188 80240A88 AE030078 */ sw $v1, 0x78($s0) +/* CE718C 80240A8C 8E030070 */ lw $v1, 0x70($s0) +/* CE7190 80240A90 24420001 */ addiu $v0, $v0, 1 +/* CE7194 80240A94 AE020074 */ sw $v0, 0x74($s0) +/* CE7198 80240A98 8E02007C */ lw $v0, 0x7c($s0) +/* CE719C 80240A9C 0064182A */ slt $v1, $v1, $a0 +/* CE71A0 80240AA0 24420001 */ addiu $v0, $v0, 1 +/* CE71A4 80240AA4 14600002 */ bnez $v1, .L80240AB0 +/* CE71A8 80240AA8 AE02007C */ sw $v0, 0x7c($s0) +/* CE71AC 80240AAC AE000070 */ sw $zero, 0x70($s0) +.L80240AB0: +/* CE71B0 80240AB0 8E020074 */ lw $v0, 0x74($s0) +/* CE71B4 80240AB4 8E03009C */ lw $v1, 0x9c($s0) +/* CE71B8 80240AB8 0043102A */ slt $v0, $v0, $v1 +/* CE71BC 80240ABC 50400001 */ beql $v0, $zero, .L80240AC4 +/* CE71C0 80240AC0 AE000074 */ sw $zero, 0x74($s0) +.L80240AC4: +/* CE71C4 80240AC4 8E020078 */ lw $v0, 0x78($s0) +/* CE71C8 80240AC8 8E0300A0 */ lw $v1, 0xa0($s0) +/* CE71CC 80240ACC 0043102A */ slt $v0, $v0, $v1 +/* CE71D0 80240AD0 50400001 */ beql $v0, $zero, .L80240AD8 +/* CE71D4 80240AD4 AE000078 */ sw $zero, 0x78($s0) +.L80240AD8: +/* CE71D8 80240AD8 8E02007C */ lw $v0, 0x7c($s0) +/* CE71DC 80240ADC 8E0300A4 */ lw $v1, 0xa4($s0) +/* CE71E0 80240AE0 0043102A */ slt $v0, $v0, $v1 +/* CE71E4 80240AE4 50400001 */ beql $v0, $zero, .L80240AEC +/* CE71E8 80240AE8 AE00007C */ sw $zero, 0x7c($s0) +.L80240AEC: +/* CE71EC 80240AEC 8FBF0014 */ lw $ra, 0x14($sp) +/* CE71F0 80240AF0 8FB00010 */ lw $s0, 0x10($sp) +/* CE71F4 80240AF4 0000102D */ daddu $v0, $zero, $zero +/* CE71F8 80240AF8 03E00008 */ jr $ra +/* CE71FC 80240AFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240B00_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240B00_CE6700.s new file mode 100644 index 0000000000..fb2330530e --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240B00_CE6700.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_CE7200 +/* CE7200 80240B00 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CE7204 80240B04 24040001 */ addiu $a0, $zero, 1 +/* CE7208 80240B08 0000282D */ daddu $a1, $zero, $zero +/* CE720C 80240B0C 00A0302D */ daddu $a2, $a1, $zero +/* CE7210 80240B10 00A0382D */ daddu $a3, $a1, $zero +/* CE7214 80240B14 AFBF0018 */ sw $ra, 0x18($sp) +/* CE7218 80240B18 AFA00010 */ sw $zero, 0x10($sp) +/* CE721C 80240B1C 0C01CA54 */ jal func_80072950 +/* CE7220 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* CE7224 80240B24 8FBF0018 */ lw $ra, 0x18($sp) +/* CE7228 80240B28 24020002 */ addiu $v0, $zero, 2 +/* CE722C 80240B2C 03E00008 */ jr $ra +/* CE7230 80240B30 27BD0020 */ addiu $sp, $sp, 0x20 +/* CE7234 80240B34 00000000 */ nop +/* CE7238 80240B38 00000000 */ nop +/* CE723C 80240B3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240B40.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240B40.s new file mode 100644 index 0000000000..a25a520aa4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240B40.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B40 +/* CE7240 80240B40 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CE7244 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* CE7248 80240B48 0080902D */ daddu $s2, $a0, $zero +/* CE724C 80240B4C AFBF0028 */ sw $ra, 0x28($sp) +/* CE7250 80240B50 AFB50024 */ sw $s5, 0x24($sp) +/* CE7254 80240B54 AFB40020 */ sw $s4, 0x20($sp) +/* CE7258 80240B58 AFB3001C */ sw $s3, 0x1c($sp) +/* CE725C 80240B5C AFB10014 */ sw $s1, 0x14($sp) +/* CE7260 80240B60 AFB00010 */ sw $s0, 0x10($sp) +/* CE7264 80240B64 F7B80040 */ sdc1 $f24, 0x40($sp) +/* CE7268 80240B68 F7B60038 */ sdc1 $f22, 0x38($sp) +/* CE726C 80240B6C F7B40030 */ sdc1 $f20, 0x30($sp) +/* CE7270 80240B70 8E50000C */ lw $s0, 0xc($s2) +/* CE7274 80240B74 8E140000 */ lw $s4, ($s0) +/* CE7278 80240B78 26100004 */ addiu $s0, $s0, 4 +/* CE727C 80240B7C 0C0B1EAF */ jal get_variable +/* CE7280 80240B80 0280282D */ daddu $a1, $s4, $zero +/* CE7284 80240B84 0040982D */ daddu $s3, $v0, $zero +/* CE7288 80240B88 8E150000 */ lw $s5, ($s0) +/* CE728C 80240B8C 26100004 */ addiu $s0, $s0, 4 +/* CE7290 80240B90 8E050000 */ lw $a1, ($s0) +/* CE7294 80240B94 26100004 */ addiu $s0, $s0, 4 +/* CE7298 80240B98 0C0B210B */ jal get_float_variable +/* CE729C 80240B9C 0240202D */ daddu $a0, $s2, $zero +/* CE72A0 80240BA0 8E050000 */ lw $a1, ($s0) +/* CE72A4 80240BA4 26100004 */ addiu $s0, $s0, 4 +/* CE72A8 80240BA8 0240202D */ daddu $a0, $s2, $zero +/* CE72AC 80240BAC 0C0B210B */ jal get_float_variable +/* CE72B0 80240BB0 46000606 */ mov.s $f24, $f0 +/* CE72B4 80240BB4 8E050000 */ lw $a1, ($s0) +/* CE72B8 80240BB8 26100004 */ addiu $s0, $s0, 4 +/* CE72BC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* CE72C0 80240BC0 0C0B1EAF */ jal get_variable +/* CE72C4 80240BC4 46000506 */ mov.s $f20, $f0 +/* CE72C8 80240BC8 8E050000 */ lw $a1, ($s0) +/* CE72CC 80240BCC 26100004 */ addiu $s0, $s0, 4 +/* CE72D0 80240BD0 0240202D */ daddu $a0, $s2, $zero +/* CE72D4 80240BD4 0C0B1EAF */ jal get_variable +/* CE72D8 80240BD8 0040882D */ daddu $s1, $v0, $zero +/* CE72DC 80240BDC 0240202D */ daddu $a0, $s2, $zero +/* CE72E0 80240BE0 8E050000 */ lw $a1, ($s0) +/* CE72E4 80240BE4 0C0B210B */ jal get_float_variable +/* CE72E8 80240BE8 0040802D */ daddu $s0, $v0, $zero +/* CE72EC 80240BEC 3C014334 */ lui $at, 0x4334 +/* CE72F0 80240BF0 44811000 */ mtc1 $at, $f2 +/* CE72F4 80240BF4 3C014049 */ lui $at, 0x4049 +/* CE72F8 80240BF8 34210FD8 */ ori $at, $at, 0xfd8 +/* CE72FC 80240BFC 44812000 */ mtc1 $at, $f4 +/* CE7300 80240C00 46020003 */ div.s $f0, $f0, $f2 +/* CE7304 80240C04 46040582 */ mul.s $f22, $f0, $f4 +/* CE7308 80240C08 00000000 */ nop +/* CE730C 80240C0C 4618A501 */ sub.s $f20, $f20, $f24 +/* CE7310 80240C10 3C013F00 */ lui $at, 0x3f00 +/* CE7314 80240C14 44810000 */ mtc1 $at, $f0 +/* CE7318 80240C18 00000000 */ nop +/* CE731C 80240C1C 4600A502 */ mul.s $f20, $f20, $f0 +/* CE7320 80240C20 00000000 */ nop +/* CE7324 80240C24 12000007 */ beqz $s0, .L80240C44 +/* CE7328 80240C28 0233102A */ slt $v0, $s1, $s3 +/* CE732C 80240C2C 10400005 */ beqz $v0, .L80240C44 +/* CE7330 80240C30 0240202D */ daddu $a0, $s2, $zero +/* CE7334 80240C34 0220982D */ daddu $s3, $s1, $zero +/* CE7338 80240C38 0280282D */ daddu $a1, $s4, $zero +/* CE733C 80240C3C 0C0B2026 */ jal set_variable +/* CE7340 80240C40 0220302D */ daddu $a2, $s1, $zero +.L80240C44: +/* CE7344 80240C44 3C014049 */ lui $at, 0x4049 +/* CE7348 80240C48 34210FD8 */ ori $at, $at, 0xfd8 +/* CE734C 80240C4C 44810000 */ mtc1 $at, $f0 +/* CE7350 80240C50 44936000 */ mtc1 $s3, $f12 +/* CE7354 80240C54 00000000 */ nop +/* CE7358 80240C58 46806320 */ cvt.s.w $f12, $f12 +/* CE735C 80240C5C 46006302 */ mul.s $f12, $f12, $f0 +/* CE7360 80240C60 00000000 */ nop +/* CE7364 80240C64 44910000 */ mtc1 $s1, $f0 +/* CE7368 80240C68 00000000 */ nop +/* CE736C 80240C6C 46800020 */ cvt.s.w $f0, $f0 +/* CE7370 80240C70 46006303 */ div.s $f12, $f12, $f0 +/* CE7374 80240C74 0C00A874 */ jal cos_rad +/* CE7378 80240C78 46166300 */ add.s $f12, $f12, $f22 +/* CE737C 80240C7C 4600A002 */ mul.s $f0, $f20, $f0 +/* CE7380 80240C80 00000000 */ nop +/* CE7384 80240C84 4614C080 */ add.s $f2, $f24, $f20 +/* CE7388 80240C88 46001081 */ sub.s $f2, $f2, $f0 +/* CE738C 80240C8C 0240202D */ daddu $a0, $s2, $zero +/* CE7390 80240C90 44061000 */ mfc1 $a2, $f2 +/* CE7394 80240C94 0C0B2190 */ jal set_float_variable +/* CE7398 80240C98 02A0282D */ daddu $a1, $s5, $zero +/* CE739C 80240C9C 8FBF0028 */ lw $ra, 0x28($sp) +/* CE73A0 80240CA0 8FB50024 */ lw $s5, 0x24($sp) +/* CE73A4 80240CA4 8FB40020 */ lw $s4, 0x20($sp) +/* CE73A8 80240CA8 8FB3001C */ lw $s3, 0x1c($sp) +/* CE73AC 80240CAC 8FB20018 */ lw $s2, 0x18($sp) +/* CE73B0 80240CB0 8FB10014 */ lw $s1, 0x14($sp) +/* CE73B4 80240CB4 8FB00010 */ lw $s0, 0x10($sp) +/* CE73B8 80240CB8 D7B80040 */ ldc1 $f24, 0x40($sp) +/* CE73BC 80240CBC D7B60038 */ ldc1 $f22, 0x38($sp) +/* CE73C0 80240CC0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* CE73C4 80240CC4 24020002 */ addiu $v0, $zero, 2 +/* CE73C8 80240CC8 03E00008 */ jr $ra +/* CE73CC 80240CCC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_21/func_80240CD0_CE6700.s b/asm/nonmatchings/world/area_flo/flo_21/func_80240CD0_CE6700.s new file mode 100644 index 0000000000..b1f5761016 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_21/func_80240CD0_CE6700.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD0_CE73D0 +/* CE73D0 80240CD0 3C03800B */ lui $v1, %hi(gCameras) +/* CE73D4 80240CD4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* CE73D8 80240CD8 94620002 */ lhu $v0, 2($v1) +/* CE73DC 80240CDC 3042FFFE */ andi $v0, $v0, 0xfffe +/* CE73E0 80240CE0 A4620002 */ sh $v0, 2($v1) +/* CE73E4 80240CE4 03E00008 */ jr $ra +/* CE73E8 80240CE8 24020002 */ addiu $v0, $zero, 2 +/* CE73EC 80240CEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_22/func_80240000_CEC240.s b/asm/nonmatchings/world/area_flo/flo_22/func_80240000_CEC240.s new file mode 100644 index 0000000000..49f69b6166 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_22/func_80240000_CEC240.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CEC240 +/* CEC240 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CEC244 80240004 24040001 */ addiu $a0, $zero, 1 +/* CEC248 80240008 0000282D */ daddu $a1, $zero, $zero +/* CEC24C 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CEC250 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CEC254 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CEC258 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CEC25C 8024001C 0C01CA54 */ jal func_80072950 +/* CEC260 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CEC264 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CEC268 80240028 24020002 */ addiu $v0, $zero, 2 +/* CEC26C 8024002C 03E00008 */ jr $ra +/* CEC270 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CEC274 80240034 00000000 */ nop +/* CEC278 80240038 00000000 */ nop +/* CEC27C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_22/func_80240040_CEC240.s b/asm/nonmatchings/world/area_flo/flo_22/func_80240040_CEC240.s new file mode 100644 index 0000000000..d61a102d81 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_22/func_80240040_CEC240.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CEC280 +/* CEC280 80240040 03E00008 */ jr $ra +/* CEC284 80240044 24020002 */ addiu $v0, $zero, 2 +/* CEC288 80240048 00000000 */ nop +/* CEC28C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_22/func_80240050_CEC240.s b/asm/nonmatchings/world/area_flo/flo_22/func_80240050_CEC240.s new file mode 100644 index 0000000000..dea2a1d9f5 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_22/func_80240050_CEC240.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_CEC290 +/* CEC290 80240050 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CEC294 80240054 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CEC298 80240058 4485A000 */ mtc1 $a1, $f20 +/* CEC29C 8024005C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CEC2A0 80240060 4486B000 */ mtc1 $a2, $f22 +/* CEC2A4 80240064 AFB00010 */ sw $s0, 0x10($sp) +/* CEC2A8 80240068 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CEC2AC 8024006C 4487C000 */ mtc1 $a3, $f24 +/* CEC2B0 80240070 AFBF0014 */ sw $ra, 0x14($sp) +/* CEC2B4 80240074 0C019D28 */ jal guMtxIdentF +/* CEC2B8 80240078 0080802D */ daddu $s0, $a0, $zero +/* CEC2BC 8024007C 4616A582 */ mul.s $f22, $f20, $f22 +/* CEC2C0 80240080 00000000 */ nop +/* CEC2C4 80240084 4618A502 */ mul.s $f20, $f20, $f24 +/* CEC2C8 80240088 00000000 */ nop +/* CEC2CC 8024008C 3C013F80 */ lui $at, 0x3f80 +/* CEC2D0 80240090 44810000 */ mtc1 $at, $f0 +/* CEC2D4 80240094 00000000 */ nop +/* CEC2D8 80240098 E6000014 */ swc1 $f0, 0x14($s0) +/* CEC2DC 8024009C E6160010 */ swc1 $f22, 0x10($s0) +/* CEC2E0 802400A0 E6140018 */ swc1 $f20, 0x18($s0) +/* CEC2E4 802400A4 8FBF0014 */ lw $ra, 0x14($sp) +/* CEC2E8 802400A8 8FB00010 */ lw $s0, 0x10($sp) +/* CEC2EC 802400AC D7B80028 */ ldc1 $f24, 0x28($sp) +/* CEC2F0 802400B0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CEC2F4 802400B4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CEC2F8 802400B8 03E00008 */ jr $ra +/* CEC2FC 802400BC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_22/func_802400C0_CEC240.s b/asm/nonmatchings/world/area_flo/flo_22/func_802400C0_CEC240.s new file mode 100644 index 0000000000..250dd9fbed --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_22/func_802400C0_CEC240.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C0_CEC300 +/* CEC300 802400C0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CEC304 802400C4 AFB10054 */ sw $s1, 0x54($sp) +/* CEC308 802400C8 0080882D */ daddu $s1, $a0, $zero +/* CEC30C 802400CC AFBF005C */ sw $ra, 0x5c($sp) +/* CEC310 802400D0 AFB20058 */ sw $s2, 0x58($sp) +/* CEC314 802400D4 AFB00050 */ sw $s0, 0x50($sp) +/* CEC318 802400D8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CEC31C 802400DC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CEC320 802400E0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CEC324 802400E4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CEC328 802400E8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CEC32C 802400EC 8E30000C */ lw $s0, 0xc($s1) +/* CEC330 802400F0 8E050000 */ lw $a1, ($s0) +/* CEC334 802400F4 0C0B1EAF */ jal get_variable +/* CEC338 802400F8 26100004 */ addiu $s0, $s0, 4 +/* CEC33C 802400FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* CEC340 80240100 0040202D */ daddu $a0, $v0, $zero +/* CEC344 80240104 8E050000 */ lw $a1, ($s0) +/* CEC348 80240108 26100004 */ addiu $s0, $s0, 4 +/* CEC34C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* CEC350 80240110 0C0B210B */ jal get_float_variable +/* CEC354 80240114 0040902D */ daddu $s2, $v0, $zero +/* CEC358 80240118 8E050000 */ lw $a1, ($s0) +/* CEC35C 8024011C 26100004 */ addiu $s0, $s0, 4 +/* CEC360 80240120 0220202D */ daddu $a0, $s1, $zero +/* CEC364 80240124 0C0B210B */ jal get_float_variable +/* CEC368 80240128 46000706 */ mov.s $f28, $f0 +/* CEC36C 8024012C 8E050000 */ lw $a1, ($s0) +/* CEC370 80240130 26100004 */ addiu $s0, $s0, 4 +/* CEC374 80240134 0220202D */ daddu $a0, $s1, $zero +/* CEC378 80240138 0C0B210B */ jal get_float_variable +/* CEC37C 8024013C 46000686 */ mov.s $f26, $f0 +/* CEC380 80240140 0220202D */ daddu $a0, $s1, $zero +/* CEC384 80240144 8E050000 */ lw $a1, ($s0) +/* CEC388 80240148 0C0B210B */ jal get_float_variable +/* CEC38C 8024014C 46000586 */ mov.s $f22, $f0 +/* CEC390 80240150 0240202D */ daddu $a0, $s2, $zero +/* CEC394 80240154 0C046B4C */ jal get_model_from_list_index +/* CEC398 80240158 46000606 */ mov.s $f24, $f0 +/* CEC39C 8024015C 0040882D */ daddu $s1, $v0, $zero +/* CEC3A0 80240160 96220000 */ lhu $v0, ($s1) +/* CEC3A4 80240164 30420400 */ andi $v0, $v0, 0x400 +/* CEC3A8 80240168 1440001E */ bnez $v0, .L802401E4 +/* CEC3AC 8024016C 26300058 */ addiu $s0, $s1, 0x58 +/* CEC3B0 80240170 4480A000 */ mtc1 $zero, $f20 +/* CEC3B4 80240174 4406B000 */ mfc1 $a2, $f22 +/* CEC3B8 80240178 4405A000 */ mfc1 $a1, $f20 +/* CEC3BC 8024017C 4407A000 */ mfc1 $a3, $f20 +/* CEC3C0 80240180 0C019E40 */ jal guTranslateF +/* CEC3C4 80240184 0200202D */ daddu $a0, $s0, $zero +/* CEC3C8 80240188 4405E000 */ mfc1 $a1, $f28 +/* CEC3CC 8024018C 4406D000 */ mfc1 $a2, $f26 +/* CEC3D0 80240190 4407C000 */ mfc1 $a3, $f24 +/* CEC3D4 80240194 0C090014 */ jal func_80240050 +/* CEC3D8 80240198 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC3DC 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC3E0 802401A0 0200282D */ daddu $a1, $s0, $zero +/* CEC3E4 802401A4 0C019D80 */ jal guMtxCatF +/* CEC3E8 802401A8 0200302D */ daddu $a2, $s0, $zero +/* CEC3EC 802401AC 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC3F0 802401B0 4600B587 */ neg.s $f22, $f22 +/* CEC3F4 802401B4 4405A000 */ mfc1 $a1, $f20 +/* CEC3F8 802401B8 4406B000 */ mfc1 $a2, $f22 +/* CEC3FC 802401BC 0C019E40 */ jal guTranslateF +/* CEC400 802401C0 00A0382D */ daddu $a3, $a1, $zero +/* CEC404 802401C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC408 802401C8 0200282D */ daddu $a1, $s0, $zero +/* CEC40C 802401CC 0C019D80 */ jal guMtxCatF +/* CEC410 802401D0 00A0302D */ daddu $a2, $a1, $zero +/* CEC414 802401D4 96220000 */ lhu $v0, ($s1) +/* CEC418 802401D8 34421400 */ ori $v0, $v0, 0x1400 +/* CEC41C 802401DC 08090097 */ j .L8024025C +/* CEC420 802401E0 A6220000 */ sh $v0, ($s1) +.L802401E4: +/* CEC424 802401E4 4480A000 */ mtc1 $zero, $f20 +/* CEC428 802401E8 4406B000 */ mfc1 $a2, $f22 +/* CEC42C 802401EC 4405A000 */ mfc1 $a1, $f20 +/* CEC430 802401F0 4407A000 */ mfc1 $a3, $f20 +/* CEC434 802401F4 0C019E40 */ jal guTranslateF +/* CEC438 802401F8 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC43C 802401FC 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC440 80240200 26300058 */ addiu $s0, $s1, 0x58 +/* CEC444 80240204 0200282D */ daddu $a1, $s0, $zero +/* CEC448 80240208 0C019D80 */ jal guMtxCatF +/* CEC44C 8024020C 0200302D */ daddu $a2, $s0, $zero +/* CEC450 80240210 4405E000 */ mfc1 $a1, $f28 +/* CEC454 80240214 4406D000 */ mfc1 $a2, $f26 +/* CEC458 80240218 4407C000 */ mfc1 $a3, $f24 +/* CEC45C 8024021C 0C090014 */ jal func_80240050 +/* CEC460 80240220 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC464 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC468 80240228 0200282D */ daddu $a1, $s0, $zero +/* CEC46C 8024022C 0C019D80 */ jal guMtxCatF +/* CEC470 80240230 0200302D */ daddu $a2, $s0, $zero +/* CEC474 80240234 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC478 80240238 4600B587 */ neg.s $f22, $f22 +/* CEC47C 8024023C 4405A000 */ mfc1 $a1, $f20 +/* CEC480 80240240 4406B000 */ mfc1 $a2, $f22 +/* CEC484 80240244 0C019E40 */ jal guTranslateF +/* CEC488 80240248 00A0382D */ daddu $a3, $a1, $zero +/* CEC48C 8024024C 27A40010 */ addiu $a0, $sp, 0x10 +/* CEC490 80240250 0200282D */ daddu $a1, $s0, $zero +/* CEC494 80240254 0C019D80 */ jal guMtxCatF +/* CEC498 80240258 00A0302D */ daddu $a2, $a1, $zero +.L8024025C: +/* CEC49C 8024025C 8FBF005C */ lw $ra, 0x5c($sp) +/* CEC4A0 80240260 8FB20058 */ lw $s2, 0x58($sp) +/* CEC4A4 80240264 8FB10054 */ lw $s1, 0x54($sp) +/* CEC4A8 80240268 8FB00050 */ lw $s0, 0x50($sp) +/* CEC4AC 8024026C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CEC4B0 80240270 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CEC4B4 80240274 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CEC4B8 80240278 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CEC4BC 8024027C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CEC4C0 80240280 24020002 */ addiu $v0, $zero, 2 +/* CEC4C4 80240284 03E00008 */ jr $ra +/* CEC4C8 80240288 27BD0088 */ addiu $sp, $sp, 0x88 +/* CEC4CC 8024028C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240000_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240000_CEE260.s new file mode 100644 index 0000000000..f46154e9a0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240000_CEE260.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CEE260 +/* CEE260 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CEE264 80240004 0000202D */ daddu $a0, $zero, $zero +/* CEE268 80240008 0080282D */ daddu $a1, $a0, $zero +/* CEE26C 8024000C 0080302D */ daddu $a2, $a0, $zero +/* CEE270 80240010 0080382D */ daddu $a3, $a0, $zero +/* CEE274 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CEE278 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CEE27C 8024001C 0C01CA54 */ jal func_80072950 +/* CEE280 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CEE284 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CEE288 80240028 24020002 */ addiu $v0, $zero, 2 +/* CEE28C 8024002C 03E00008 */ jr $ra +/* CEE290 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CEE294 80240034 00000000 */ nop +/* CEE298 80240038 00000000 */ nop +/* CEE29C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240040_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240040_CEE260.s new file mode 100644 index 0000000000..503bab8c9b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240040_CEE260.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CEE2A0 +/* CEE2A0 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CEE2A4 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* CEE2A8 80240048 0080882D */ daddu $s1, $a0, $zero +/* CEE2AC 8024004C AFBF0018 */ sw $ra, 0x18($sp) +/* CEE2B0 80240050 AFB00010 */ sw $s0, 0x10($sp) +/* CEE2B4 80240054 8E30000C */ lw $s0, 0xc($s1) +/* CEE2B8 80240058 8E050000 */ lw $a1, ($s0) +/* CEE2BC 8024005C 0C0B1EAF */ jal get_variable +/* CEE2C0 80240060 26100004 */ addiu $s0, $s0, 4 +/* CEE2C4 80240064 0C00EAD2 */ jal get_npc_safe +/* CEE2C8 80240068 0040202D */ daddu $a0, $v0, $zero +/* CEE2CC 8024006C 10400005 */ beqz $v0, .L80240084 +/* CEE2D0 80240070 00000000 */ nop +/* CEE2D4 80240074 8E050000 */ lw $a1, ($s0) +/* CEE2D8 80240078 844600A8 */ lh $a2, 0xa8($v0) +/* CEE2DC 8024007C 0C0B2026 */ jal set_variable +/* CEE2E0 80240080 0220202D */ daddu $a0, $s1, $zero +.L80240084: +/* CEE2E4 80240084 8FBF0018 */ lw $ra, 0x18($sp) +/* CEE2E8 80240088 8FB10014 */ lw $s1, 0x14($sp) +/* CEE2EC 8024008C 8FB00010 */ lw $s0, 0x10($sp) +/* CEE2F0 80240090 24020002 */ addiu $v0, $zero, 2 +/* CEE2F4 80240094 03E00008 */ jr $ra +/* CEE2F8 80240098 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_8024009C_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_8024009C_CEE260.s new file mode 100644 index 0000000000..57f1ed0a84 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_8024009C_CEE260.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024009C_CEE2FC +/* CEE2FC 8024009C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CEE300 802400A0 AFB10014 */ sw $s1, 0x14($sp) +/* CEE304 802400A4 0080882D */ daddu $s1, $a0, $zero +/* CEE308 802400A8 AFBF0024 */ sw $ra, 0x24($sp) +/* CEE30C 802400AC AFB40020 */ sw $s4, 0x20($sp) +/* CEE310 802400B0 AFB3001C */ sw $s3, 0x1c($sp) +/* CEE314 802400B4 AFB20018 */ sw $s2, 0x18($sp) +/* CEE318 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* CEE31C 802400BC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CEE320 802400C0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CEE324 802400C4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CEE328 802400C8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CEE32C 802400CC F7B40028 */ sdc1 $f20, 0x28($sp) +/* CEE330 802400D0 8E30000C */ lw $s0, 0xc($s1) +/* CEE334 802400D4 8E130000 */ lw $s3, ($s0) +/* CEE338 802400D8 26100004 */ addiu $s0, $s0, 4 +/* CEE33C 802400DC 0C0B1EAF */ jal get_variable +/* CEE340 802400E0 0260282D */ daddu $a1, $s3, $zero +/* CEE344 802400E4 4482E000 */ mtc1 $v0, $f28 +/* CEE348 802400E8 00000000 */ nop +/* CEE34C 802400EC 4680E720 */ cvt.s.w $f28, $f28 +/* CEE350 802400F0 8E140000 */ lw $s4, ($s0) +/* CEE354 802400F4 26100004 */ addiu $s0, $s0, 4 +/* CEE358 802400F8 0220202D */ daddu $a0, $s1, $zero +/* CEE35C 802400FC 0C0B1EAF */ jal get_variable +/* CEE360 80240100 0280282D */ daddu $a1, $s4, $zero +/* CEE364 80240104 4482D000 */ mtc1 $v0, $f26 +/* CEE368 80240108 00000000 */ nop +/* CEE36C 8024010C 4680D6A0 */ cvt.s.w $f26, $f26 +/* CEE370 80240110 8E100000 */ lw $s0, ($s0) +/* CEE374 80240114 0220202D */ daddu $a0, $s1, $zero +/* CEE378 80240118 0C0B1EAF */ jal get_variable +/* CEE37C 8024011C 0200282D */ daddu $a1, $s0, $zero +/* CEE380 80240120 4482C000 */ mtc1 $v0, $f24 +/* CEE384 80240124 00000000 */ nop +/* CEE388 80240128 4680C620 */ cvt.s.w $f24, $f24 +/* CEE38C 8024012C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CEE390 80240130 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CEE394 80240134 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CEE398 80240138 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CEE39C 8024013C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CEE3A0 80240140 44800000 */ mtc1 $zero, $f0 +/* CEE3A4 80240144 00031080 */ sll $v0, $v1, 2 +/* CEE3A8 80240148 00431021 */ addu $v0, $v0, $v1 +/* CEE3AC 8024014C 00021080 */ sll $v0, $v0, 2 +/* CEE3B0 80240150 00431023 */ subu $v0, $v0, $v1 +/* CEE3B4 80240154 000218C0 */ sll $v1, $v0, 3 +/* CEE3B8 80240158 00431021 */ addu $v0, $v0, $v1 +/* CEE3BC 8024015C 000210C0 */ sll $v0, $v0, 3 +/* CEE3C0 80240160 46001032 */ c.eq.s $f2, $f0 +/* CEE3C4 80240164 3C01800B */ lui $at, 0x800b +/* CEE3C8 80240168 00220821 */ addu $at, $at, $v0 +/* CEE3CC 8024016C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CEE3D0 80240170 45000005 */ bc1f .L80240188 +/* CEE3D4 80240174 00000000 */ nop +/* CEE3D8 80240178 3C0142C8 */ lui $at, 0x42c8 +/* CEE3DC 8024017C 44810000 */ mtc1 $at, $f0 +/* CEE3E0 80240180 08090066 */ j .L80240198 +/* CEE3E4 80240184 4600B581 */ sub.s $f22, $f22, $f0 +.L80240188: +/* CEE3E8 80240188 3C0142C8 */ lui $at, 0x42c8 +/* CEE3EC 8024018C 44810000 */ mtc1 $at, $f0 +/* CEE3F0 80240190 00000000 */ nop +/* CEE3F4 80240194 4600B580 */ add.s $f22, $f22, $f0 +.L80240198: +/* CEE3F8 80240198 0C00A6C9 */ jal clamp_angle +/* CEE3FC 8024019C 4600B306 */ mov.s $f12, $f22 +/* CEE400 802401A0 46000586 */ mov.s $f22, $f0 +/* CEE404 802401A4 3C014170 */ lui $at, 0x4170 +/* CEE408 802401A8 4481A000 */ mtc1 $at, $f20 +/* CEE40C 802401AC 0C00A8BB */ jal sin_deg +/* CEE410 802401B0 4600B306 */ mov.s $f12, $f22 +/* CEE414 802401B4 46140002 */ mul.s $f0, $f0, $f20 +/* CEE418 802401B8 00000000 */ nop +/* CEE41C 802401BC 864200B0 */ lh $v0, 0xb0($s2) +/* CEE420 802401C0 3C013F00 */ lui $at, 0x3f00 +/* CEE424 802401C4 44812000 */ mtc1 $at, $f4 +/* CEE428 802401C8 44821000 */ mtc1 $v0, $f2 +/* CEE42C 802401CC 00000000 */ nop +/* CEE430 802401D0 468010A0 */ cvt.s.w $f2, $f2 +/* CEE434 802401D4 46041082 */ mul.s $f2, $f2, $f4 +/* CEE438 802401D8 00000000 */ nop +/* CEE43C 802401DC 4600E700 */ add.s $f28, $f28, $f0 +/* CEE440 802401E0 4602D680 */ add.s $f26, $f26, $f2 +/* CEE444 802401E4 0C00A8D4 */ jal cos_deg +/* CEE448 802401E8 4600B306 */ mov.s $f12, $f22 +/* CEE44C 802401EC 46140002 */ mul.s $f0, $f0, $f20 +/* CEE450 802401F0 00000000 */ nop +/* CEE454 802401F4 0220202D */ daddu $a0, $s1, $zero +/* CEE458 802401F8 0260282D */ daddu $a1, $s3, $zero +/* CEE45C 802401FC 4600E18D */ trunc.w.s $f6, $f28 +/* CEE460 80240200 44063000 */ mfc1 $a2, $f6 +/* CEE464 80240204 0C0B2026 */ jal set_variable +/* CEE468 80240208 4600C601 */ sub.s $f24, $f24, $f0 +/* CEE46C 8024020C 0220202D */ daddu $a0, $s1, $zero +/* CEE470 80240210 4600D18D */ trunc.w.s $f6, $f26 +/* CEE474 80240214 44063000 */ mfc1 $a2, $f6 +/* CEE478 80240218 0C0B2026 */ jal set_variable +/* CEE47C 8024021C 0280282D */ daddu $a1, $s4, $zero +/* CEE480 80240220 0220202D */ daddu $a0, $s1, $zero +/* CEE484 80240224 4600C18D */ trunc.w.s $f6, $f24 +/* CEE488 80240228 44063000 */ mfc1 $a2, $f6 +/* CEE48C 8024022C 0C0B2026 */ jal set_variable +/* CEE490 80240230 0200282D */ daddu $a1, $s0, $zero +/* CEE494 80240234 8FBF0024 */ lw $ra, 0x24($sp) +/* CEE498 80240238 8FB40020 */ lw $s4, 0x20($sp) +/* CEE49C 8024023C 8FB3001C */ lw $s3, 0x1c($sp) +/* CEE4A0 80240240 8FB20018 */ lw $s2, 0x18($sp) +/* CEE4A4 80240244 8FB10014 */ lw $s1, 0x14($sp) +/* CEE4A8 80240248 8FB00010 */ lw $s0, 0x10($sp) +/* CEE4AC 8024024C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CEE4B0 80240250 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CEE4B4 80240254 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CEE4B8 80240258 D7B60030 */ ldc1 $f22, 0x30($sp) +/* CEE4BC 8024025C D7B40028 */ ldc1 $f20, 0x28($sp) +/* CEE4C0 80240260 24020002 */ addiu $v0, $zero, 2 +/* CEE4C4 80240264 03E00008 */ jr $ra +/* CEE4C8 80240268 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_8024026C_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_8024026C_CEE260.s new file mode 100644 index 0000000000..96d3c24c72 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_8024026C_CEE260.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024026C_CEE4CC +/* CEE4CC 8024026C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CEE4D0 80240270 AFBF0010 */ sw $ra, 0x10($sp) +/* CEE4D4 80240274 10A00003 */ beqz $a1, .L80240284 +/* CEE4D8 80240278 8C86000C */ lw $a2, 0xc($a0) +/* CEE4DC 8024027C 3C018024 */ lui $at, 0x8024 +/* CEE4E0 80240280 AC20130C */ sw $zero, 0x130c($at) +.L80240284: +/* CEE4E4 80240284 3C038024 */ lui $v1, 0x8024 +/* CEE4E8 80240288 2463130C */ addiu $v1, $v1, 0x130c +/* CEE4EC 8024028C 8C620000 */ lw $v0, ($v1) +/* CEE4F0 80240290 54400003 */ bnel $v0, $zero, .L802402A0 +/* CEE4F4 80240294 AC600000 */ sw $zero, ($v1) +/* CEE4F8 80240298 080900AD */ j .L802402B4 +/* CEE4FC 8024029C 0000102D */ daddu $v0, $zero, $zero +.L802402A0: +/* CEE500 802402A0 8CC50000 */ lw $a1, ($a2) +/* CEE504 802402A4 3C068024 */ lui $a2, 0x8024 +/* CEE508 802402A8 0C0B2026 */ jal set_variable +/* CEE50C 802402AC 8CC61310 */ lw $a2, 0x1310($a2) +/* CEE510 802402B0 24020002 */ addiu $v0, $zero, 2 +.L802402B4: +/* CEE514 802402B4 8FBF0010 */ lw $ra, 0x10($sp) +/* CEE518 802402B8 03E00008 */ jr $ra +/* CEE51C 802402BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_802402C0_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_802402C0_CEE260.s new file mode 100644 index 0000000000..86ad0d1213 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_802402C0_CEE260.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0_CEE520 +/* CEE520 802402C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CEE524 802402C4 AFBF0010 */ sw $ra, 0x10($sp) +/* CEE528 802402C8 8C82000C */ lw $v0, 0xc($a0) +/* CEE52C 802402CC 0C0B1EAF */ jal get_variable +/* CEE530 802402D0 8C450000 */ lw $a1, ($v0) +/* CEE534 802402D4 3C018024 */ lui $at, 0x8024 +/* CEE538 802402D8 AC221310 */ sw $v0, 0x1310($at) +/* CEE53C 802402DC 24020002 */ addiu $v0, $zero, 2 +/* CEE540 802402E0 8FBF0010 */ lw $ra, 0x10($sp) +/* CEE544 802402E4 24030001 */ addiu $v1, $zero, 1 +/* CEE548 802402E8 3C018024 */ lui $at, 0x8024 +/* CEE54C 802402EC AC23130C */ sw $v1, 0x130c($at) +/* CEE550 802402F0 03E00008 */ jr $ra +/* CEE554 802402F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_802402F8_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_802402F8_CEE260.s new file mode 100644 index 0000000000..7545e041df --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_802402F8_CEE260.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F8_CEE558 +/* CEE558 802402F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CEE55C 802402FC AFBF0010 */ sw $ra, 0x10($sp) +/* CEE560 80240300 8C82000C */ lw $v0, 0xc($a0) +/* CEE564 80240304 0C0B1EAF */ jal get_variable +/* CEE568 80240308 8C450000 */ lw $a1, ($v0) +/* CEE56C 8024030C 0040182D */ daddu $v1, $v0, $zero +/* CEE570 80240310 10600012 */ beqz $v1, .L8024035C +/* CEE574 80240314 0000202D */ daddu $a0, $zero, $zero +/* CEE578 80240318 8C620000 */ lw $v0, ($v1) +/* CEE57C 8024031C 5040000A */ beql $v0, $zero, .L80240348 +/* CEE580 80240320 00041080 */ sll $v0, $a0, 2 +/* CEE584 80240324 3C058024 */ lui $a1, 0x8024 +/* CEE588 80240328 24A526E0 */ addiu $a1, $a1, 0x26e0 +.L8024032C: +/* CEE58C 8024032C 24630004 */ addiu $v1, $v1, 4 +/* CEE590 80240330 24840001 */ addiu $a0, $a0, 1 +/* CEE594 80240334 ACA20000 */ sw $v0, ($a1) +/* CEE598 80240338 8C620000 */ lw $v0, ($v1) +/* CEE59C 8024033C 1440FFFB */ bnez $v0, .L8024032C +/* CEE5A0 80240340 24A50004 */ addiu $a1, $a1, 4 +/* CEE5A4 80240344 00041080 */ sll $v0, $a0, 2 +.L80240348: +/* CEE5A8 80240348 3C018024 */ lui $at, 0x8024 +/* CEE5AC 8024034C 00220821 */ addu $at, $at, $v0 +/* CEE5B0 80240350 AC2026E0 */ sw $zero, 0x26e0($at) +/* CEE5B4 80240354 080900E1 */ j .L80240384 +/* CEE5B8 80240358 00000000 */ nop +.L8024035C: +/* CEE5BC 8024035C 3C038024 */ lui $v1, 0x8024 +/* CEE5C0 80240360 246326E0 */ addiu $v1, $v1, 0x26e0 +/* CEE5C4 80240364 0060282D */ daddu $a1, $v1, $zero +.L80240368: +/* CEE5C8 80240368 24820080 */ addiu $v0, $a0, 0x80 +/* CEE5CC 8024036C AC620000 */ sw $v0, ($v1) +/* CEE5D0 80240370 24630004 */ addiu $v1, $v1, 4 +/* CEE5D4 80240374 24840001 */ addiu $a0, $a0, 1 +/* CEE5D8 80240378 2882005B */ slti $v0, $a0, 0x5b +/* CEE5DC 8024037C 1440FFFA */ bnez $v0, .L80240368 +/* CEE5E0 80240380 ACA0016C */ sw $zero, 0x16c($a1) +.L80240384: +/* CEE5E4 80240384 8FBF0010 */ lw $ra, 0x10($sp) +/* CEE5E8 80240388 24020002 */ addiu $v0, $zero, 2 +/* CEE5EC 8024038C 03E00008 */ jr $ra +/* CEE5F0 80240390 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240394_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240394_CEE260.s new file mode 100644 index 0000000000..3331ec8a7b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240394_CEE260.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_CEE5F4 +/* CEE5F4 80240394 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CEE5F8 80240398 AFB20018 */ sw $s2, 0x18($sp) +/* CEE5FC 8024039C 0080902D */ daddu $s2, $a0, $zero +/* CEE600 802403A0 AFBF001C */ sw $ra, 0x1c($sp) +/* CEE604 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* CEE608 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* CEE60C 802403AC 8E510148 */ lw $s1, 0x148($s2) +/* CEE610 802403B0 0C00EABB */ jal get_npc_unsafe +/* CEE614 802403B4 86240008 */ lh $a0, 8($s1) +/* CEE618 802403B8 0040802D */ daddu $s0, $v0, $zero +/* CEE61C 802403BC 8E2300CC */ lw $v1, 0xcc($s1) +/* CEE620 802403C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CEE624 802403C4 8C630020 */ lw $v1, 0x20($v1) +/* CEE628 802403C8 AE030028 */ sw $v1, 0x28($s0) +/* CEE62C 802403CC 96220076 */ lhu $v0, 0x76($s1) +/* CEE630 802403D0 A602008E */ sh $v0, 0x8e($s0) +/* CEE634 802403D4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CEE638 802403D8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CEE63C 802403DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* CEE640 802403E0 8C460028 */ lw $a2, 0x28($v0) +/* CEE644 802403E4 0C00A720 */ jal atan2 +/* CEE648 802403E8 8C470030 */ lw $a3, 0x30($v0) +/* CEE64C 802403EC 2402000D */ addiu $v0, $zero, 0xd +/* CEE650 802403F0 E600000C */ swc1 $f0, 0xc($s0) +/* CEE654 802403F4 AE420070 */ sw $v0, 0x70($s2) +/* CEE658 802403F8 8FBF001C */ lw $ra, 0x1c($sp) +/* CEE65C 802403FC 8FB20018 */ lw $s2, 0x18($sp) +/* CEE660 80240400 8FB10014 */ lw $s1, 0x14($sp) +/* CEE664 80240404 8FB00010 */ lw $s0, 0x10($sp) +/* CEE668 80240408 03E00008 */ jr $ra +/* CEE66C 8024040C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240410_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240410_CEE260.s new file mode 100644 index 0000000000..83cb99fc40 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240410_CEE260.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410_CEE670 +/* CEE670 80240410 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CEE674 80240414 AFB3001C */ sw $s3, 0x1c($sp) +/* CEE678 80240418 0080982D */ daddu $s3, $a0, $zero +/* CEE67C 8024041C AFBF0020 */ sw $ra, 0x20($sp) +/* CEE680 80240420 AFB20018 */ sw $s2, 0x18($sp) +/* CEE684 80240424 AFB10014 */ sw $s1, 0x14($sp) +/* CEE688 80240428 AFB00010 */ sw $s0, 0x10($sp) +/* CEE68C 8024042C 8E710148 */ lw $s1, 0x148($s3) +/* CEE690 80240430 86240008 */ lh $a0, 8($s1) +/* CEE694 80240434 0C00EABB */ jal get_npc_unsafe +/* CEE698 80240438 00A0902D */ daddu $s2, $a1, $zero +/* CEE69C 8024043C 0040802D */ daddu $s0, $v0, $zero +/* CEE6A0 80240440 8602008E */ lh $v0, 0x8e($s0) +/* CEE6A4 80240444 9603008E */ lhu $v1, 0x8e($s0) +/* CEE6A8 80240448 18400005 */ blez $v0, .L80240460 +/* CEE6AC 8024044C 2462FFFF */ addiu $v0, $v1, -1 +/* CEE6B0 80240450 A602008E */ sh $v0, 0x8e($s0) +/* CEE6B4 80240454 00021400 */ sll $v0, $v0, 0x10 +/* CEE6B8 80240458 1C400033 */ bgtz $v0, .L80240528 +/* CEE6BC 8024045C 00000000 */ nop +.L80240460: +/* CEE6C0 80240460 8602008C */ lh $v0, 0x8c($s0) +/* CEE6C4 80240464 14400030 */ bnez $v0, .L80240528 +/* CEE6C8 80240468 00000000 */ nop +/* CEE6CC 8024046C 8E2200CC */ lw $v0, 0xcc($s1) +/* CEE6D0 80240470 8C420024 */ lw $v0, 0x24($v0) +/* CEE6D4 80240474 AE020028 */ sw $v0, 0x28($s0) +/* CEE6D8 80240478 C6400018 */ lwc1 $f0, 0x18($s2) +/* CEE6DC 8024047C E6000018 */ swc1 $f0, 0x18($s0) +/* CEE6E0 80240480 8E230088 */ lw $v1, 0x88($s1) +/* CEE6E4 80240484 24020005 */ addiu $v0, $zero, 5 +/* CEE6E8 80240488 10620005 */ beq $v1, $v0, .L802404A0 +/* CEE6EC 8024048C 00000000 */ nop +/* CEE6F0 80240490 10600003 */ beqz $v1, .L802404A0 +/* CEE6F4 80240494 24020001 */ addiu $v0, $zero, 1 +/* CEE6F8 80240498 14620006 */ bne $v1, $v0, .L802404B4 +/* CEE6FC 8024049C 00000000 */ nop +.L802404A0: +/* CEE700 802404A0 8E220084 */ lw $v0, 0x84($s1) +/* CEE704 802404A4 00021FC2 */ srl $v1, $v0, 0x1f +/* CEE708 802404A8 00431021 */ addu $v0, $v0, $v1 +/* CEE70C 802404AC 00021043 */ sra $v0, $v0, 1 +/* CEE710 802404B0 A60200A8 */ sh $v0, 0xa8($s0) +.L802404B4: +/* CEE714 802404B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CEE718 802404B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CEE71C 802404BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CEE720 802404C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CEE724 802404C4 8C460028 */ lw $a2, 0x28($v0) +/* CEE728 802404C8 0C00A7B5 */ jal dist2D +/* CEE72C 802404CC 8C470030 */ lw $a3, 0x30($v0) +/* CEE730 802404D0 C6020018 */ lwc1 $f2, 0x18($s0) +/* CEE734 802404D4 46020003 */ div.s $f0, $f0, $f2 +/* CEE738 802404D8 3C018024 */ lui $at, 0x8024 +/* CEE73C 802404DC D4222680 */ ldc1 $f2, 0x2680($at) +/* CEE740 802404E0 46000021 */ cvt.d.s $f0, $f0 +/* CEE744 802404E4 46220000 */ add.d $f0, $f0, $f2 +/* CEE748 802404E8 4620010D */ trunc.w.d $f4, $f0 +/* CEE74C 802404EC 44022000 */ mfc1 $v0, $f4 +/* CEE750 802404F0 00000000 */ nop +/* CEE754 802404F4 A602008E */ sh $v0, 0x8e($s0) +/* CEE758 802404F8 00021400 */ sll $v0, $v0, 0x10 +/* CEE75C 802404FC 8E230078 */ lw $v1, 0x78($s1) +/* CEE760 80240500 00021403 */ sra $v0, $v0, 0x10 +/* CEE764 80240504 0043102A */ slt $v0, $v0, $v1 +/* CEE768 80240508 10400003 */ beqz $v0, .L80240518 +/* CEE76C 8024050C 00000000 */ nop +/* CEE770 80240510 9622007A */ lhu $v0, 0x7a($s1) +/* CEE774 80240514 A602008E */ sh $v0, 0x8e($s0) +.L80240518: +/* CEE778 80240518 8602008E */ lh $v0, 0x8e($s0) +/* CEE77C 8024051C AE22007C */ sw $v0, 0x7c($s1) +/* CEE780 80240520 2402000E */ addiu $v0, $zero, 0xe +/* CEE784 80240524 AE620070 */ sw $v0, 0x70($s3) +.L80240528: +/* CEE788 80240528 8FBF0020 */ lw $ra, 0x20($sp) +/* CEE78C 8024052C 8FB3001C */ lw $s3, 0x1c($sp) +/* CEE790 80240530 8FB20018 */ lw $s2, 0x18($sp) +/* CEE794 80240534 8FB10014 */ lw $s1, 0x14($sp) +/* CEE798 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* CEE79C 8024053C 03E00008 */ jr $ra +/* CEE7A0 80240540 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240544_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240544_CEE260.s new file mode 100644 index 0000000000..2ad8e56571 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240544_CEE260.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_CEE7A4 +/* CEE7A4 80240544 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CEE7A8 80240548 AFB3003C */ sw $s3, 0x3c($sp) +/* CEE7AC 8024054C 0080982D */ daddu $s3, $a0, $zero +/* CEE7B0 80240550 AFBF0040 */ sw $ra, 0x40($sp) +/* CEE7B4 80240554 AFB20038 */ sw $s2, 0x38($sp) +/* CEE7B8 80240558 AFB10034 */ sw $s1, 0x34($sp) +/* CEE7BC 8024055C AFB00030 */ sw $s0, 0x30($sp) +/* CEE7C0 80240560 8E710148 */ lw $s1, 0x148($s3) +/* CEE7C4 80240564 0C00EABB */ jal get_npc_unsafe +/* CEE7C8 80240568 86240008 */ lh $a0, 8($s1) +/* CEE7CC 8024056C 0040802D */ daddu $s0, $v0, $zero +/* CEE7D0 80240570 8E22007C */ lw $v0, 0x7c($s1) +/* CEE7D4 80240574 8603008E */ lh $v1, 0x8e($s0) +/* CEE7D8 80240578 2442FFFF */ addiu $v0, $v0, -1 +/* CEE7DC 8024057C 14620012 */ bne $v1, $v0, .L802405C8 +/* CEE7E0 80240580 00000000 */ nop +/* CEE7E4 80240584 C6000038 */ lwc1 $f0, 0x38($s0) +/* CEE7E8 80240588 4600020D */ trunc.w.s $f8, $f0 +/* CEE7EC 8024058C 44024000 */ mfc1 $v0, $f8 +/* CEE7F0 80240590 00000000 */ nop +/* CEE7F4 80240594 A6220010 */ sh $v0, 0x10($s1) +/* CEE7F8 80240598 C600003C */ lwc1 $f0, 0x3c($s0) +/* CEE7FC 8024059C 4600020D */ trunc.w.s $f8, $f0 +/* CEE800 802405A0 44024000 */ mfc1 $v0, $f8 +/* CEE804 802405A4 00000000 */ nop +/* CEE808 802405A8 A6220012 */ sh $v0, 0x12($s1) +/* CEE80C 802405AC C6000040 */ lwc1 $f0, 0x40($s0) +/* CEE810 802405B0 24020001 */ addiu $v0, $zero, 1 +/* CEE814 802405B4 A2220007 */ sb $v0, 7($s1) +/* CEE818 802405B8 4600020D */ trunc.w.s $f8, $f0 +/* CEE81C 802405BC 44024000 */ mfc1 $v0, $f8 +/* CEE820 802405C0 00000000 */ nop +/* CEE824 802405C4 A6220014 */ sh $v0, 0x14($s1) +.L802405C8: +/* CEE828 802405C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CEE82C 802405CC C602003C */ lwc1 $f2, 0x3c($s0) +/* CEE830 802405D0 C6040040 */ lwc1 $f4, 0x40($s0) +/* CEE834 802405D4 C6060018 */ lwc1 $f6, 0x18($s0) +/* CEE838 802405D8 E7A00020 */ swc1 $f0, 0x20($sp) +/* CEE83C 802405DC E7A20024 */ swc1 $f2, 0x24($sp) +/* CEE840 802405E0 E7A40028 */ swc1 $f4, 0x28($sp) +/* CEE844 802405E4 E7A60010 */ swc1 $f6, 0x10($sp) +/* CEE848 802405E8 C600000C */ lwc1 $f0, 0xc($s0) +/* CEE84C 802405EC E7A00014 */ swc1 $f0, 0x14($sp) +/* CEE850 802405F0 860200A8 */ lh $v0, 0xa8($s0) +/* CEE854 802405F4 27A50020 */ addiu $a1, $sp, 0x20 +/* CEE858 802405F8 44820000 */ mtc1 $v0, $f0 +/* CEE85C 802405FC 00000000 */ nop +/* CEE860 80240600 46800020 */ cvt.s.w $f0, $f0 +/* CEE864 80240604 E7A00018 */ swc1 $f0, 0x18($sp) +/* CEE868 80240608 860200A6 */ lh $v0, 0xa6($s0) +/* CEE86C 8024060C 27A60024 */ addiu $a2, $sp, 0x24 +/* CEE870 80240610 44820000 */ mtc1 $v0, $f0 +/* CEE874 80240614 00000000 */ nop +/* CEE878 80240618 46800020 */ cvt.s.w $f0, $f0 +/* CEE87C 8024061C E7A0001C */ swc1 $f0, 0x1c($sp) +/* CEE880 80240620 8E040080 */ lw $a0, 0x80($s0) +/* CEE884 80240624 0C037711 */ jal func_800DDC44 +/* CEE888 80240628 27A70028 */ addiu $a3, $sp, 0x28 +/* CEE88C 8024062C 0040902D */ daddu $s2, $v0, $zero +/* CEE890 80240630 16400005 */ bnez $s2, .L80240648 +/* CEE894 80240634 00000000 */ nop +/* CEE898 80240638 8E050018 */ lw $a1, 0x18($s0) +/* CEE89C 8024063C 8E06000C */ lw $a2, 0xc($s0) +/* CEE8A0 80240640 0C00EA95 */ jal npc_move_heading +/* CEE8A4 80240644 0200202D */ daddu $a0, $s0, $zero +.L80240648: +/* CEE8A8 80240648 8602008E */ lh $v0, 0x8e($s0) +/* CEE8AC 8024064C 9603008E */ lhu $v1, 0x8e($s0) +/* CEE8B0 80240650 18400007 */ blez $v0, .L80240670 +/* CEE8B4 80240654 2462FFFF */ addiu $v0, $v1, -1 +/* CEE8B8 80240658 A602008E */ sh $v0, 0x8e($s0) +/* CEE8BC 8024065C 00021400 */ sll $v0, $v0, 0x10 +/* CEE8C0 80240660 18400003 */ blez $v0, .L80240670 +/* CEE8C4 80240664 00000000 */ nop +/* CEE8C8 80240668 12400008 */ beqz $s2, .L8024068C +/* CEE8CC 8024066C 00000000 */ nop +.L80240670: +/* CEE8D0 80240670 8E2200CC */ lw $v0, 0xcc($s1) +/* CEE8D4 80240674 A2200007 */ sb $zero, 7($s1) +/* CEE8D8 80240678 8C420028 */ lw $v0, 0x28($v0) +/* CEE8DC 8024067C A600008E */ sh $zero, 0x8e($s0) +/* CEE8E0 80240680 AE020028 */ sw $v0, 0x28($s0) +/* CEE8E4 80240684 2402000F */ addiu $v0, $zero, 0xf +/* CEE8E8 80240688 AE620070 */ sw $v0, 0x70($s3) +.L8024068C: +/* CEE8EC 8024068C 8FBF0040 */ lw $ra, 0x40($sp) +/* CEE8F0 80240690 8FB3003C */ lw $s3, 0x3c($sp) +/* CEE8F4 80240694 8FB20038 */ lw $s2, 0x38($sp) +/* CEE8F8 80240698 8FB10034 */ lw $s1, 0x34($sp) +/* CEE8FC 8024069C 8FB00030 */ lw $s0, 0x30($sp) +/* CEE900 802406A0 03E00008 */ jr $ra +/* CEE904 802406A4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_802406A8_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_802406A8_CEE260.s new file mode 100644 index 0000000000..20aa6d5791 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_802406A8_CEE260.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A8_CEE908 +/* CEE908 802406A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CEE90C 802406AC AFB10014 */ sw $s1, 0x14($sp) +/* CEE910 802406B0 0080882D */ daddu $s1, $a0, $zero +/* CEE914 802406B4 AFBF0018 */ sw $ra, 0x18($sp) +/* CEE918 802406B8 AFB00010 */ sw $s0, 0x10($sp) +/* CEE91C 802406BC 8E300148 */ lw $s0, 0x148($s1) +/* CEE920 802406C0 0C00EABB */ jal get_npc_unsafe +/* CEE924 802406C4 86040008 */ lh $a0, 8($s0) +/* CEE928 802406C8 0040202D */ daddu $a0, $v0, $zero +/* CEE92C 802406CC 9482008E */ lhu $v0, 0x8e($a0) +/* CEE930 802406D0 24030003 */ addiu $v1, $zero, 3 +/* CEE934 802406D4 24420001 */ addiu $v0, $v0, 1 +/* CEE938 802406D8 A482008E */ sh $v0, 0x8e($a0) +/* CEE93C 802406DC 00021400 */ sll $v0, $v0, 0x10 +/* CEE940 802406E0 00021403 */ sra $v0, $v0, 0x10 +/* CEE944 802406E4 14430003 */ bne $v0, $v1, .L802406F4 +/* CEE948 802406E8 00000000 */ nop +/* CEE94C 802406EC 96020086 */ lhu $v0, 0x86($s0) +/* CEE950 802406F0 A48200A8 */ sh $v0, 0xa8($a0) +.L802406F4: +/* CEE954 802406F4 8482008E */ lh $v0, 0x8e($a0) +/* CEE958 802406F8 8E030080 */ lw $v1, 0x80($s0) +/* CEE95C 802406FC 0043102A */ slt $v0, $v0, $v1 +/* CEE960 80240700 14400004 */ bnez $v0, .L80240714 +/* CEE964 80240704 00000000 */ nop +/* CEE968 80240708 96020086 */ lhu $v0, 0x86($s0) +/* CEE96C 8024070C A48200A8 */ sh $v0, 0xa8($a0) +/* CEE970 80240710 AE200070 */ sw $zero, 0x70($s1) +.L80240714: +/* CEE974 80240714 8FBF0018 */ lw $ra, 0x18($sp) +/* CEE978 80240718 8FB10014 */ lw $s1, 0x14($sp) +/* CEE97C 8024071C 8FB00010 */ lw $s0, 0x10($sp) +/* CEE980 80240720 03E00008 */ jr $ra +/* CEE984 80240724 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240728_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240728_CEE260.s new file mode 100644 index 0000000000..5b73bb1115 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240728_CEE260.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728_CEE988 +/* CEE988 80240728 27BDFF90 */ addiu $sp, $sp, -0x70 +/* CEE98C 8024072C AFB3005C */ sw $s3, 0x5c($sp) +/* CEE990 80240730 0080982D */ daddu $s3, $a0, $zero +/* CEE994 80240734 AFBF0068 */ sw $ra, 0x68($sp) +/* CEE998 80240738 AFB50064 */ sw $s5, 0x64($sp) +/* CEE99C 8024073C AFB40060 */ sw $s4, 0x60($sp) +/* CEE9A0 80240740 AFB20058 */ sw $s2, 0x58($sp) +/* CEE9A4 80240744 AFB10054 */ sw $s1, 0x54($sp) +/* CEE9A8 80240748 AFB00050 */ sw $s0, 0x50($sp) +/* CEE9AC 8024074C 8E710148 */ lw $s1, 0x148($s3) +/* CEE9B0 80240750 86240008 */ lh $a0, 8($s1) +/* CEE9B4 80240754 0C00EABB */ jal get_npc_unsafe +/* CEE9B8 80240758 00A0802D */ daddu $s0, $a1, $zero +/* CEE9BC 8024075C 8E63000C */ lw $v1, 0xc($s3) +/* CEE9C0 80240760 0260202D */ daddu $a0, $s3, $zero +/* CEE9C4 80240764 8C650000 */ lw $a1, ($v1) +/* CEE9C8 80240768 0C0B1EAF */ jal get_variable +/* CEE9CC 8024076C 0040902D */ daddu $s2, $v0, $zero +/* CEE9D0 80240770 AFA00028 */ sw $zero, 0x28($sp) +/* CEE9D4 80240774 8E2300D0 */ lw $v1, 0xd0($s1) +/* CEE9D8 80240778 8C630030 */ lw $v1, 0x30($v1) +/* CEE9DC 8024077C AFA3002C */ sw $v1, 0x2c($sp) +/* CEE9E0 80240780 8E2300D0 */ lw $v1, 0xd0($s1) +/* CEE9E4 80240784 8C63001C */ lw $v1, 0x1c($v1) +/* CEE9E8 80240788 AFA30030 */ sw $v1, 0x30($sp) +/* CEE9EC 8024078C 8E2300D0 */ lw $v1, 0xd0($s1) +/* CEE9F0 80240790 8C630024 */ lw $v1, 0x24($v1) +/* CEE9F4 80240794 AFA30034 */ sw $v1, 0x34($sp) +/* CEE9F8 80240798 8E2300D0 */ lw $v1, 0xd0($s1) +/* CEE9FC 8024079C 8C630028 */ lw $v1, 0x28($v1) +/* CEEA00 802407A0 27B50028 */ addiu $s5, $sp, 0x28 +/* CEEA04 802407A4 AFA30038 */ sw $v1, 0x38($sp) +/* CEEA08 802407A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* CEEA0C 802407AC 3C0142C8 */ lui $at, 0x42c8 +/* CEEA10 802407B0 44810000 */ mtc1 $at, $f0 +/* CEEA14 802407B4 8C63002C */ lw $v1, 0x2c($v1) +/* CEEA18 802407B8 0040A02D */ daddu $s4, $v0, $zero +/* CEEA1C 802407BC E7A00040 */ swc1 $f0, 0x40($sp) +/* CEEA20 802407C0 A7A00044 */ sh $zero, 0x44($sp) +/* CEEA24 802407C4 12000009 */ beqz $s0, .L802407EC +/* CEEA28 802407C8 AFA3003C */ sw $v1, 0x3c($sp) +/* CEEA2C 802407CC 864300A8 */ lh $v1, 0xa8($s2) +/* CEEA30 802407D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* CEEA34 802407D4 AE20008C */ sw $zero, 0x8c($s1) +/* CEEA38 802407D8 A22000B5 */ sb $zero, 0xb5($s1) +/* CEEA3C 802407DC 34420008 */ ori $v0, $v0, 8 +/* CEEA40 802407E0 AE230084 */ sw $v1, 0x84($s1) +/* CEEA44 802407E4 080901FF */ j .L802407FC +/* CEEA48 802407E8 AE2200B0 */ sw $v0, 0xb0($s1) +.L802407EC: +/* CEEA4C 802407EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* CEEA50 802407F0 30420004 */ andi $v0, $v0, 4 +/* CEEA54 802407F4 10400047 */ beqz $v0, .L80240914 +/* CEEA58 802407F8 00000000 */ nop +.L802407FC: +/* CEEA5C 802407FC AE600070 */ sw $zero, 0x70($s3) +/* CEEA60 80240800 A640008E */ sh $zero, 0x8e($s2) +/* CEEA64 80240804 8E2300CC */ lw $v1, 0xcc($s1) +/* CEEA68 80240808 2404F7FF */ addiu $a0, $zero, -0x801 +/* CEEA6C 8024080C A2200007 */ sb $zero, 7($s1) +/* CEEA70 80240810 8E420000 */ lw $v0, ($s2) +/* CEEA74 80240814 8C630000 */ lw $v1, ($v1) +/* CEEA78 80240818 00441024 */ and $v0, $v0, $a0 +/* CEEA7C 8024081C AE420000 */ sw $v0, ($s2) +/* CEEA80 80240820 AE430028 */ sw $v1, 0x28($s2) +/* CEEA84 80240824 96220086 */ lhu $v0, 0x86($s1) +/* CEEA88 80240828 A64200A8 */ sh $v0, 0xa8($s2) +/* CEEA8C 8024082C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CEEA90 80240830 AE200090 */ sw $zero, 0x90($s1) +/* CEEA94 80240834 8C420034 */ lw $v0, 0x34($v0) +/* CEEA98 80240838 14400006 */ bnez $v0, .L80240854 +/* CEEA9C 8024083C 2403FDFF */ addiu $v1, $zero, -0x201 +/* CEEAA0 80240840 8E420000 */ lw $v0, ($s2) +/* CEEAA4 80240844 2403FFF7 */ addiu $v1, $zero, -9 +/* CEEAA8 80240848 34420200 */ ori $v0, $v0, 0x200 +/* CEEAAC 8024084C 08090218 */ j .L80240860 +/* CEEAB0 80240850 00431024 */ and $v0, $v0, $v1 +.L80240854: +/* CEEAB4 80240854 8E420000 */ lw $v0, ($s2) +/* CEEAB8 80240858 00431024 */ and $v0, $v0, $v1 +/* CEEABC 8024085C 34420008 */ ori $v0, $v0, 8 +.L80240860: +/* CEEAC0 80240860 AE420000 */ sw $v0, ($s2) +/* CEEAC4 80240864 8E2200B0 */ lw $v0, 0xb0($s1) +/* CEEAC8 80240868 30420004 */ andi $v0, $v0, 4 +/* CEEACC 8024086C 1040001E */ beqz $v0, .L802408E8 +/* CEEAD0 80240870 24040002 */ addiu $a0, $zero, 2 +/* CEEAD4 80240874 0240282D */ daddu $a1, $s2, $zero +/* CEEAD8 80240878 0000302D */ daddu $a2, $zero, $zero +/* CEEADC 8024087C 24020063 */ addiu $v0, $zero, 0x63 +/* CEEAE0 80240880 AE620070 */ sw $v0, 0x70($s3) +/* CEEAE4 80240884 AE600074 */ sw $zero, 0x74($s3) +/* CEEAE8 80240888 864300A8 */ lh $v1, 0xa8($s2) +/* CEEAEC 8024088C 3C013F80 */ lui $at, 0x3f80 +/* CEEAF0 80240890 44810000 */ mtc1 $at, $f0 +/* CEEAF4 80240894 3C014000 */ lui $at, 0x4000 +/* CEEAF8 80240898 44811000 */ mtc1 $at, $f2 +/* CEEAFC 8024089C 3C01C1A0 */ lui $at, 0xc1a0 +/* CEEB00 802408A0 44812000 */ mtc1 $at, $f4 +/* CEEB04 802408A4 24020028 */ addiu $v0, $zero, 0x28 +/* CEEB08 802408A8 AFA2001C */ sw $v0, 0x1c($sp) +/* CEEB0C 802408AC 44833000 */ mtc1 $v1, $f6 +/* CEEB10 802408B0 00000000 */ nop +/* CEEB14 802408B4 468031A0 */ cvt.s.w $f6, $f6 +/* CEEB18 802408B8 44073000 */ mfc1 $a3, $f6 +/* CEEB1C 802408BC 27A20048 */ addiu $v0, $sp, 0x48 +/* CEEB20 802408C0 AFA20020 */ sw $v0, 0x20($sp) +/* CEEB24 802408C4 E7A00010 */ swc1 $f0, 0x10($sp) +/* CEEB28 802408C8 E7A20014 */ swc1 $f2, 0x14($sp) +/* CEEB2C 802408CC 0C01BFA4 */ jal fx_emote +/* CEEB30 802408D0 E7A40018 */ swc1 $f4, 0x18($sp) +/* CEEB34 802408D4 8E2200B0 */ lw $v0, 0xb0($s1) +/* CEEB38 802408D8 2403FFFB */ addiu $v1, $zero, -5 +/* CEEB3C 802408DC 00431024 */ and $v0, $v0, $v1 +/* CEEB40 802408E0 08090245 */ j .L80240914 +/* CEEB44 802408E4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802408E8: +/* CEEB48 802408E8 8E220000 */ lw $v0, ($s1) +/* CEEB4C 802408EC 3C034000 */ lui $v1, 0x4000 +/* CEEB50 802408F0 00431024 */ and $v0, $v0, $v1 +/* CEEB54 802408F4 10400007 */ beqz $v0, .L80240914 +/* CEEB58 802408F8 3C03BFFF */ lui $v1, 0xbfff +/* CEEB5C 802408FC 2402000C */ addiu $v0, $zero, 0xc +/* CEEB60 80240900 AE620070 */ sw $v0, 0x70($s3) +/* CEEB64 80240904 8E220000 */ lw $v0, ($s1) +/* CEEB68 80240908 3463FFFF */ ori $v1, $v1, 0xffff +/* CEEB6C 8024090C 00431024 */ and $v0, $v0, $v1 +/* CEEB70 80240910 AE220000 */ sw $v0, ($s1) +.L80240914: +/* CEEB74 80240914 8E220090 */ lw $v0, 0x90($s1) +/* CEEB78 80240918 1840000C */ blez $v0, .L8024094C +/* CEEB7C 8024091C 2442FFFF */ addiu $v0, $v0, -1 +/* CEEB80 80240920 14400087 */ bnez $v0, .L80240B40 +/* CEEB84 80240924 AE220090 */ sw $v0, 0x90($s1) +/* CEEB88 80240928 3C03FFAA */ lui $v1, 0xffaa +/* CEEB8C 8024092C 8E420028 */ lw $v0, 0x28($s2) +/* CEEB90 80240930 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* CEEB94 80240934 00431021 */ addu $v0, $v0, $v1 +/* CEEB98 80240938 2C420002 */ sltiu $v0, $v0, 2 +/* CEEB9C 8024093C 10400003 */ beqz $v0, .L8024094C +/* CEEBA0 80240940 3C020055 */ lui $v0, 0x55 +/* CEEBA4 80240944 3442000C */ ori $v0, $v0, 0xc +/* CEEBA8 80240948 AE420028 */ sw $v0, 0x28($s2) +.L8024094C: +/* CEEBAC 8024094C 8E630070 */ lw $v1, 0x70($s3) +/* CEEBB0 80240950 2402000C */ addiu $v0, $zero, 0xc +/* CEEBB4 80240954 10620048 */ beq $v1, $v0, .L80240A78 +/* CEEBB8 80240958 2862000D */ slti $v0, $v1, 0xd +/* CEEBBC 8024095C 1040000F */ beqz $v0, .L8024099C +/* CEEBC0 80240960 24100001 */ addiu $s0, $zero, 1 +/* CEEBC4 80240964 1070001E */ beq $v1, $s0, .L802409E0 +/* CEEBC8 80240968 28620002 */ slti $v0, $v1, 2 +/* CEEBCC 8024096C 10400005 */ beqz $v0, .L80240984 +/* CEEBD0 80240970 24020002 */ addiu $v0, $zero, 2 +/* CEEBD4 80240974 10600015 */ beqz $v1, .L802409CC +/* CEEBD8 80240978 0260202D */ daddu $a0, $s3, $zero +/* CEEBDC 8024097C 080902B5 */ j .L80240AD4 +/* CEEBE0 80240980 00000000 */ nop +.L80240984: +/* CEEBE4 80240984 1062001C */ beq $v1, $v0, .L802409F8 +/* CEEBE8 80240988 24020003 */ addiu $v0, $zero, 3 +/* CEEBEC 8024098C 10620035 */ beq $v1, $v0, .L80240A64 +/* CEEBF0 80240990 0260202D */ daddu $a0, $s3, $zero +/* CEEBF4 80240994 080902B5 */ j .L80240AD4 +/* CEEBF8 80240998 00000000 */ nop +.L8024099C: +/* CEEBFC 8024099C 2402000E */ addiu $v0, $zero, 0xe +/* CEEC00 802409A0 1062003F */ beq $v1, $v0, .L80240AA0 +/* CEEC04 802409A4 0062102A */ slt $v0, $v1, $v0 +/* CEEC08 802409A8 14400038 */ bnez $v0, .L80240A8C +/* CEEC0C 802409AC 0260202D */ daddu $a0, $s3, $zero +/* CEEC10 802409B0 2402000F */ addiu $v0, $zero, 0xf +/* CEEC14 802409B4 10620040 */ beq $v1, $v0, .L80240AB8 +/* CEEC18 802409B8 24020063 */ addiu $v0, $zero, 0x63 +/* CEEC1C 802409BC 10620043 */ beq $v1, $v0, .L80240ACC +/* CEEC20 802409C0 00000000 */ nop +/* CEEC24 802409C4 080902B5 */ j .L80240AD4 +/* CEEC28 802409C8 00000000 */ nop +.L802409CC: +/* CEEC2C 802409CC 0280282D */ daddu $a1, $s4, $zero +/* CEEC30 802409D0 0C012568 */ jal func_800495A0 +/* CEEC34 802409D4 02A0302D */ daddu $a2, $s5, $zero +/* CEEC38 802409D8 96220086 */ lhu $v0, 0x86($s1) +/* CEEC3C 802409DC A64200A8 */ sh $v0, 0xa8($s2) +.L802409E0: +/* CEEC40 802409E0 0260202D */ daddu $a0, $s3, $zero +/* CEEC44 802409E4 0280282D */ daddu $a1, $s4, $zero +/* CEEC48 802409E8 0C0125AE */ jal func_800496B8 +/* CEEC4C 802409EC 02A0302D */ daddu $a2, $s5, $zero +/* CEEC50 802409F0 080902B5 */ j .L80240AD4 +/* CEEC54 802409F4 00000000 */ nop +.L802409F8: +/* CEEC58 802409F8 0260202D */ daddu $a0, $s3, $zero +/* CEEC5C 802409FC 0280282D */ daddu $a1, $s4, $zero +/* CEEC60 80240A00 0C0126D1 */ jal func_80049B44 +/* CEEC64 80240A04 02A0302D */ daddu $a2, $s5, $zero +/* CEEC68 80240A08 8E230088 */ lw $v1, 0x88($s1) +/* CEEC6C 80240A0C 24020006 */ addiu $v0, $zero, 6 +/* CEEC70 80240A10 14620014 */ bne $v1, $v0, .L80240A64 +/* CEEC74 80240A14 0260202D */ daddu $a0, $s3, $zero +/* CEEC78 80240A18 0C00A67F */ jal rand_int +/* CEEC7C 80240A1C 24040064 */ addiu $a0, $zero, 0x64 +/* CEEC80 80240A20 28420021 */ slti $v0, $v0, 0x21 +/* CEEC84 80240A24 5040000F */ beql $v0, $zero, .L80240A64 +/* CEEC88 80240A28 0260202D */ daddu $a0, $s3, $zero +/* CEEC8C 80240A2C 8E22008C */ lw $v0, 0x8c($s1) +/* CEEC90 80240A30 10400005 */ beqz $v0, .L80240A48 +/* CEEC94 80240A34 3C020055 */ lui $v0, 0x55 +/* CEEC98 80240A38 3442002F */ ori $v0, $v0, 0x2f +/* CEEC9C 80240A3C AE20008C */ sw $zero, 0x8c($s1) +/* CEECA0 80240A40 08090295 */ j .L80240A54 +/* CEECA4 80240A44 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A48: +/* CEECA8 80240A48 3442002E */ ori $v0, $v0, 0x2e +/* CEECAC 80240A4C AE30008C */ sw $s0, 0x8c($s1) +/* CEECB0 80240A50 A23000B5 */ sb $s0, 0xb5($s1) +.L80240A54: +/* CEECB4 80240A54 AE420028 */ sw $v0, 0x28($s2) +/* CEECB8 80240A58 24020007 */ addiu $v0, $zero, 7 +/* CEECBC 80240A5C 080902D0 */ j .L80240B40 +/* CEECC0 80240A60 AE220090 */ sw $v0, 0x90($s1) +.L80240A64: +/* CEECC4 80240A64 0280282D */ daddu $a1, $s4, $zero +/* CEECC8 80240A68 0C012701 */ jal func_80049C04 +/* CEECCC 80240A6C 02A0302D */ daddu $a2, $s5, $zero +/* CEECD0 80240A70 080902B5 */ j .L80240AD4 +/* CEECD4 80240A74 00000000 */ nop +.L80240A78: +/* CEECD8 80240A78 0260202D */ daddu $a0, $s3, $zero +/* CEECDC 80240A7C 0280282D */ daddu $a1, $s4, $zero +/* CEECE0 80240A80 0C0900E5 */ jal func_80240394 +/* CEECE4 80240A84 02A0302D */ daddu $a2, $s5, $zero +/* CEECE8 80240A88 0260202D */ daddu $a0, $s3, $zero +.L80240A8C: +/* CEECEC 80240A8C 0280282D */ daddu $a1, $s4, $zero +/* CEECF0 80240A90 0C090104 */ jal func_80240410 +/* CEECF4 80240A94 02A0302D */ daddu $a2, $s5, $zero +/* CEECF8 80240A98 080902B5 */ j .L80240AD4 +/* CEECFC 80240A9C 00000000 */ nop +.L80240AA0: +/* CEED00 80240AA0 0260202D */ daddu $a0, $s3, $zero +/* CEED04 80240AA4 0280282D */ daddu $a1, $s4, $zero +/* CEED08 80240AA8 0C090151 */ jal func_80240544 +/* CEED0C 80240AAC 02A0302D */ daddu $a2, $s5, $zero +/* CEED10 80240AB0 080902B5 */ j .L80240AD4 +/* CEED14 80240AB4 00000000 */ nop +.L80240AB8: +/* CEED18 80240AB8 0280282D */ daddu $a1, $s4, $zero +/* CEED1C 80240ABC 0C0901AA */ jal func_802406A8 +/* CEED20 80240AC0 02A0302D */ daddu $a2, $s5, $zero +/* CEED24 80240AC4 080902B5 */ j .L80240AD4 +/* CEED28 80240AC8 00000000 */ nop +.L80240ACC: +/* CEED2C 80240ACC 0C0129CF */ jal func_8004A73C +/* CEED30 80240AD0 0260202D */ daddu $a0, $s3, $zero +.L80240AD4: +/* CEED34 80240AD4 8E230088 */ lw $v1, 0x88($s1) +/* CEED38 80240AD8 24020006 */ addiu $v0, $zero, 6 +/* CEED3C 80240ADC 14620019 */ bne $v1, $v0, .L80240B44 +/* CEED40 80240AE0 0000102D */ daddu $v0, $zero, $zero +/* CEED44 80240AE4 8E22008C */ lw $v0, 0x8c($s1) +/* CEED48 80240AE8 10400003 */ beqz $v0, .L80240AF8 +/* CEED4C 80240AEC 24020001 */ addiu $v0, $zero, 1 +/* CEED50 80240AF0 080902BF */ j .L80240AFC +/* CEED54 80240AF4 A22200B5 */ sb $v0, 0xb5($s1) +.L80240AF8: +/* CEED58 80240AF8 A22000B5 */ sb $zero, 0xb5($s1) +.L80240AFC: +/* CEED5C 80240AFC 8E22008C */ lw $v0, 0x8c($s1) +/* CEED60 80240B00 1040000F */ beqz $v0, .L80240B40 +/* CEED64 80240B04 3C03FFAA */ lui $v1, 0xffaa +/* CEED68 80240B08 8E420028 */ lw $v0, 0x28($s2) +/* CEED6C 80240B0C 3463FFFC */ ori $v1, $v1, 0xfffc +/* CEED70 80240B10 00431821 */ addu $v1, $v0, $v1 +/* CEED74 80240B14 2C620015 */ sltiu $v0, $v1, 0x15 +/* CEED78 80240B18 10400009 */ beqz $v0, .L80240B40 +/* CEED7C 80240B1C 00031080 */ sll $v0, $v1, 2 +/* CEED80 80240B20 3C018024 */ lui $at, 0x8024 +/* CEED84 80240B24 00220821 */ addu $at, $at, $v0 +/* CEED88 80240B28 8C222688 */ lw $v0, 0x2688($at) +/* CEED8C 80240B2C 00400008 */ jr $v0 +/* CEED90 80240B30 00000000 */ nop +/* CEED94 80240B34 8E420028 */ lw $v0, 0x28($s2) +/* CEED98 80240B38 24420001 */ addiu $v0, $v0, 1 +/* CEED9C 80240B3C AE420028 */ sw $v0, 0x28($s2) +.L80240B40: +/* CEEDA0 80240B40 0000102D */ daddu $v0, $zero, $zero +.L80240B44: +/* CEEDA4 80240B44 8FBF0068 */ lw $ra, 0x68($sp) +/* CEEDA8 80240B48 8FB50064 */ lw $s5, 0x64($sp) +/* CEEDAC 80240B4C 8FB40060 */ lw $s4, 0x60($sp) +/* CEEDB0 80240B50 8FB3005C */ lw $s3, 0x5c($sp) +/* CEEDB4 80240B54 8FB20058 */ lw $s2, 0x58($sp) +/* CEEDB8 80240B58 8FB10054 */ lw $s1, 0x54($sp) +/* CEEDBC 80240B5C 8FB00050 */ lw $s0, 0x50($sp) +/* CEEDC0 80240B60 03E00008 */ jr $ra +/* CEEDC4 80240B64 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240B68_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240B68_CEE260.s new file mode 100644 index 0000000000..c36394f3f2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240B68_CEE260.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B68_CEEDC8 +/* CEEDC8 80240B68 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CEEDCC 80240B6C AFB10014 */ sw $s1, 0x14($sp) +/* CEEDD0 80240B70 0080882D */ daddu $s1, $a0, $zero +/* CEEDD4 80240B74 AFBF0020 */ sw $ra, 0x20($sp) +/* CEEDD8 80240B78 AFB3001C */ sw $s3, 0x1c($sp) +/* CEEDDC 80240B7C AFB20018 */ sw $s2, 0x18($sp) +/* CEEDE0 80240B80 AFB00010 */ sw $s0, 0x10($sp) +/* CEEDE4 80240B84 8E30000C */ lw $s0, 0xc($s1) +/* CEEDE8 80240B88 8E050000 */ lw $a1, ($s0) +/* CEEDEC 80240B8C 0C0B1EAF */ jal get_variable +/* CEEDF0 80240B90 26100004 */ addiu $s0, $s0, 4 +/* CEEDF4 80240B94 8E050000 */ lw $a1, ($s0) +/* CEEDF8 80240B98 26100004 */ addiu $s0, $s0, 4 +/* CEEDFC 80240B9C 0220202D */ daddu $a0, $s1, $zero +/* CEEE00 80240BA0 0C0B1EAF */ jal get_variable +/* CEEE04 80240BA4 0040982D */ daddu $s3, $v0, $zero +/* CEEE08 80240BA8 8E050000 */ lw $a1, ($s0) +/* CEEE0C 80240BAC 26100004 */ addiu $s0, $s0, 4 +/* CEEE10 80240BB0 0220202D */ daddu $a0, $s1, $zero +/* CEEE14 80240BB4 0C0B1EAF */ jal get_variable +/* CEEE18 80240BB8 0040902D */ daddu $s2, $v0, $zero +/* CEEE1C 80240BBC 0220202D */ daddu $a0, $s1, $zero +/* CEEE20 80240BC0 8E050000 */ lw $a1, ($s0) +/* CEEE24 80240BC4 0C0B1EAF */ jal get_variable +/* CEEE28 80240BC8 0040882D */ daddu $s1, $v0, $zero +/* CEEE2C 80240BCC 0260202D */ daddu $a0, $s3, $zero +/* CEEE30 80240BD0 0C04C3D6 */ jal get_item_entity +/* CEEE34 80240BD4 0040802D */ daddu $s0, $v0, $zero +/* CEEE38 80240BD8 0040182D */ daddu $v1, $v0, $zero +/* CEEE3C 80240BDC 44920000 */ mtc1 $s2, $f0 +/* CEEE40 80240BE0 00000000 */ nop +/* CEEE44 80240BE4 46800020 */ cvt.s.w $f0, $f0 +/* CEEE48 80240BE8 E4600008 */ swc1 $f0, 8($v1) +/* CEEE4C 80240BEC 44910000 */ mtc1 $s1, $f0 +/* CEEE50 80240BF0 00000000 */ nop +/* CEEE54 80240BF4 46800020 */ cvt.s.w $f0, $f0 +/* CEEE58 80240BF8 E460000C */ swc1 $f0, 0xc($v1) +/* CEEE5C 80240BFC 44900000 */ mtc1 $s0, $f0 +/* CEEE60 80240C00 00000000 */ nop +/* CEEE64 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* CEEE68 80240C08 E4600010 */ swc1 $f0, 0x10($v1) +/* CEEE6C 80240C0C 8FBF0020 */ lw $ra, 0x20($sp) +/* CEEE70 80240C10 8FB3001C */ lw $s3, 0x1c($sp) +/* CEEE74 80240C14 8FB20018 */ lw $s2, 0x18($sp) +/* CEEE78 80240C18 8FB10014 */ lw $s1, 0x14($sp) +/* CEEE7C 80240C1C 8FB00010 */ lw $s0, 0x10($sp) +/* CEEE80 80240C20 24020002 */ addiu $v0, $zero, 2 +/* CEEE84 80240C24 03E00008 */ jr $ra +/* CEEE88 80240C28 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240C2C_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240C2C_CEE260.s new file mode 100644 index 0000000000..ebe2bf60f2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240C2C_CEE260.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C2C_CEEE8C +/* CEEE8C 80240C2C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CEEE90 80240C30 AFB00010 */ sw $s0, 0x10($sp) +/* CEEE94 80240C34 0080802D */ daddu $s0, $a0, $zero +/* CEEE98 80240C38 AFBF0014 */ sw $ra, 0x14($sp) +/* CEEE9C 80240C3C 8E02000C */ lw $v0, 0xc($s0) +/* CEEEA0 80240C40 0C0B1EAF */ jal get_variable +/* CEEEA4 80240C44 8C450000 */ lw $a1, ($v0) +/* CEEEA8 80240C48 3C048008 */ lui $a0, %hi(gItemTable) +/* CEEEAC 80240C4C 248478E0 */ addiu $a0, $a0, %lo(gItemTable) +/* CEEEB0 80240C50 00021940 */ sll $v1, $v0, 5 +/* CEEEB4 80240C54 00642021 */ addu $a0, $v1, $a0 +/* CEEEB8 80240C58 240300BB */ addiu $v1, $zero, 0xbb +/* CEEEBC 80240C5C 14430003 */ bne $v0, $v1, .L80240C6C +/* CEEEC0 80240C60 24020002 */ addiu $v0, $zero, 2 +/* CEEEC4 80240C64 08090322 */ j .L80240C88 +/* CEEEC8 80240C68 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240C6C: +/* CEEECC 80240C6C 94820018 */ lhu $v0, 0x18($a0) +/* CEEED0 80240C70 30420080 */ andi $v0, $v0, 0x80 +/* CEEED4 80240C74 10400003 */ beqz $v0, .L80240C84 +/* CEEED8 80240C78 24020001 */ addiu $v0, $zero, 1 +/* CEEEDC 80240C7C 08090322 */ j .L80240C88 +/* CEEEE0 80240C80 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240C84: +/* CEEEE4 80240C84 AE0000A8 */ sw $zero, 0xa8($s0) +.L80240C88: +/* CEEEE8 80240C88 8FBF0014 */ lw $ra, 0x14($sp) +/* CEEEEC 80240C8C 8FB00010 */ lw $s0, 0x10($sp) +/* CEEEF0 80240C90 24020002 */ addiu $v0, $zero, 2 +/* CEEEF4 80240C94 03E00008 */ jr $ra +/* CEEEF8 80240C98 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_23/func_80240C9C_CEE260.s b/asm/nonmatchings/world/area_flo/flo_23/func_80240C9C_CEE260.s new file mode 100644 index 0000000000..b5665b97e3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_23/func_80240C9C_CEE260.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C9C_CEEEFC +/* CEEEFC 80240C9C 2404005A */ addiu $a0, $zero, 0x5a +/* CEEF00 80240CA0 3C038024 */ lui $v1, 0x8024 +/* CEEF04 80240CA4 246329B8 */ addiu $v1, $v1, 0x29b8 +/* CEEF08 80240CA8 240200DA */ addiu $v0, $zero, 0xda +.L80240CAC: +/* CEEF0C 80240CAC AC620000 */ sw $v0, ($v1) +/* CEEF10 80240CB0 2463FFFC */ addiu $v1, $v1, -4 +/* CEEF14 80240CB4 2484FFFF */ addiu $a0, $a0, -1 +/* CEEF18 80240CB8 0481FFFC */ bgez $a0, .L80240CAC +/* CEEF1C 80240CBC 2442FFFF */ addiu $v0, $v0, -1 +/* CEEF20 80240CC0 3C018024 */ lui $at, 0x8024 +/* CEEF24 80240CC4 AC2029BC */ sw $zero, 0x29bc($at) +/* CEEF28 80240CC8 03E00008 */ jr $ra +/* CEEF2C 80240CCC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_flo/flo_24/func_80240000_CF0940.s b/asm/nonmatchings/world/area_flo/flo_24/func_80240000_CF0940.s new file mode 100644 index 0000000000..194916aefc --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_24/func_80240000_CF0940.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CF0940 +/* CF0940 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF0944 80240004 24040001 */ addiu $a0, $zero, 1 +/* CF0948 80240008 0000282D */ daddu $a1, $zero, $zero +/* CF094C 8024000C 00A0302D */ daddu $a2, $a1, $zero +/* CF0950 80240010 00A0382D */ daddu $a3, $a1, $zero +/* CF0954 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CF0958 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CF095C 8024001C 0C01CA54 */ jal func_80072950 +/* CF0960 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CF0964 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CF0968 80240028 24020002 */ addiu $v0, $zero, 2 +/* CF096C 8024002C 03E00008 */ jr $ra +/* CF0970 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CF0974 80240034 00000000 */ nop +/* CF0978 80240038 00000000 */ nop +/* CF097C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_24/func_80240040_CF0940.s b/asm/nonmatchings/world/area_flo/flo_24/func_80240040_CF0940.s new file mode 100644 index 0000000000..ceeaaa9932 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_24/func_80240040_CF0940.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CF0980 +/* CF0980 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CF0984 80240044 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CF0988 80240048 4485A000 */ mtc1 $a1, $f20 +/* CF098C 8024004C F7B60020 */ sdc1 $f22, 0x20($sp) +/* CF0990 80240050 4486B000 */ mtc1 $a2, $f22 +/* CF0994 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* CF0998 80240058 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CF099C 8024005C 4487C000 */ mtc1 $a3, $f24 +/* CF09A0 80240060 AFBF0014 */ sw $ra, 0x14($sp) +/* CF09A4 80240064 0C019D28 */ jal guMtxIdentF +/* CF09A8 80240068 0080802D */ daddu $s0, $a0, $zero +/* CF09AC 8024006C 4616A582 */ mul.s $f22, $f20, $f22 +/* CF09B0 80240070 00000000 */ nop +/* CF09B4 80240074 4618A502 */ mul.s $f20, $f20, $f24 +/* CF09B8 80240078 00000000 */ nop +/* CF09BC 8024007C 3C013F80 */ lui $at, 0x3f80 +/* CF09C0 80240080 44810000 */ mtc1 $at, $f0 +/* CF09C4 80240084 00000000 */ nop +/* CF09C8 80240088 E6000014 */ swc1 $f0, 0x14($s0) +/* CF09CC 8024008C E6160010 */ swc1 $f22, 0x10($s0) +/* CF09D0 80240090 E6140018 */ swc1 $f20, 0x18($s0) +/* CF09D4 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* CF09D8 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* CF09DC 8024009C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CF09E0 802400A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CF09E4 802400A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CF09E8 802400A8 03E00008 */ jr $ra +/* CF09EC 802400AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_24/func_802400B0_CF0940.s b/asm/nonmatchings/world/area_flo/flo_24/func_802400B0_CF0940.s new file mode 100644 index 0000000000..e39a5ff3c2 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_24/func_802400B0_CF0940.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_CF09F0 +/* CF09F0 802400B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CF09F4 802400B4 AFB10054 */ sw $s1, 0x54($sp) +/* CF09F8 802400B8 0080882D */ daddu $s1, $a0, $zero +/* CF09FC 802400BC AFBF005C */ sw $ra, 0x5c($sp) +/* CF0A00 802400C0 AFB20058 */ sw $s2, 0x58($sp) +/* CF0A04 802400C4 AFB00050 */ sw $s0, 0x50($sp) +/* CF0A08 802400C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CF0A0C 802400CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CF0A10 802400D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CF0A14 802400D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CF0A18 802400D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CF0A1C 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* CF0A20 802400E0 8E050000 */ lw $a1, ($s0) +/* CF0A24 802400E4 0C0B1EAF */ jal get_variable +/* CF0A28 802400E8 26100004 */ addiu $s0, $s0, 4 +/* CF0A2C 802400EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* CF0A30 802400F0 0040202D */ daddu $a0, $v0, $zero +/* CF0A34 802400F4 8E050000 */ lw $a1, ($s0) +/* CF0A38 802400F8 26100004 */ addiu $s0, $s0, 4 +/* CF0A3C 802400FC 0220202D */ daddu $a0, $s1, $zero +/* CF0A40 80240100 0C0B210B */ jal get_float_variable +/* CF0A44 80240104 0040902D */ daddu $s2, $v0, $zero +/* CF0A48 80240108 8E050000 */ lw $a1, ($s0) +/* CF0A4C 8024010C 26100004 */ addiu $s0, $s0, 4 +/* CF0A50 80240110 0220202D */ daddu $a0, $s1, $zero +/* CF0A54 80240114 0C0B210B */ jal get_float_variable +/* CF0A58 80240118 46000706 */ mov.s $f28, $f0 +/* CF0A5C 8024011C 8E050000 */ lw $a1, ($s0) +/* CF0A60 80240120 26100004 */ addiu $s0, $s0, 4 +/* CF0A64 80240124 0220202D */ daddu $a0, $s1, $zero +/* CF0A68 80240128 0C0B210B */ jal get_float_variable +/* CF0A6C 8024012C 46000686 */ mov.s $f26, $f0 +/* CF0A70 80240130 0220202D */ daddu $a0, $s1, $zero +/* CF0A74 80240134 8E050000 */ lw $a1, ($s0) +/* CF0A78 80240138 0C0B210B */ jal get_float_variable +/* CF0A7C 8024013C 46000586 */ mov.s $f22, $f0 +/* CF0A80 80240140 0240202D */ daddu $a0, $s2, $zero +/* CF0A84 80240144 0C046B4C */ jal get_model_from_list_index +/* CF0A88 80240148 46000606 */ mov.s $f24, $f0 +/* CF0A8C 8024014C 0040882D */ daddu $s1, $v0, $zero +/* CF0A90 80240150 96220000 */ lhu $v0, ($s1) +/* CF0A94 80240154 30420400 */ andi $v0, $v0, 0x400 +/* CF0A98 80240158 1440001E */ bnez $v0, .L802401D4 +/* CF0A9C 8024015C 26300058 */ addiu $s0, $s1, 0x58 +/* CF0AA0 80240160 4480A000 */ mtc1 $zero, $f20 +/* CF0AA4 80240164 4406B000 */ mfc1 $a2, $f22 +/* CF0AA8 80240168 4405A000 */ mfc1 $a1, $f20 +/* CF0AAC 8024016C 4407A000 */ mfc1 $a3, $f20 +/* CF0AB0 80240170 0C019E40 */ jal guTranslateF +/* CF0AB4 80240174 0200202D */ daddu $a0, $s0, $zero +/* CF0AB8 80240178 4405E000 */ mfc1 $a1, $f28 +/* CF0ABC 8024017C 4406D000 */ mfc1 $a2, $f26 +/* CF0AC0 80240180 4407C000 */ mfc1 $a3, $f24 +/* CF0AC4 80240184 0C090010 */ jal func_80240040 +/* CF0AC8 80240188 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0ACC 8024018C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0AD0 80240190 0200282D */ daddu $a1, $s0, $zero +/* CF0AD4 80240194 0C019D80 */ jal guMtxCatF +/* CF0AD8 80240198 0200302D */ daddu $a2, $s0, $zero +/* CF0ADC 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0AE0 802401A0 4600B587 */ neg.s $f22, $f22 +/* CF0AE4 802401A4 4405A000 */ mfc1 $a1, $f20 +/* CF0AE8 802401A8 4406B000 */ mfc1 $a2, $f22 +/* CF0AEC 802401AC 0C019E40 */ jal guTranslateF +/* CF0AF0 802401B0 00A0382D */ daddu $a3, $a1, $zero +/* CF0AF4 802401B4 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0AF8 802401B8 0200282D */ daddu $a1, $s0, $zero +/* CF0AFC 802401BC 0C019D80 */ jal guMtxCatF +/* CF0B00 802401C0 00A0302D */ daddu $a2, $a1, $zero +/* CF0B04 802401C4 96220000 */ lhu $v0, ($s1) +/* CF0B08 802401C8 34421400 */ ori $v0, $v0, 0x1400 +/* CF0B0C 802401CC 08090093 */ j .L8024024C +/* CF0B10 802401D0 A6220000 */ sh $v0, ($s1) +.L802401D4: +/* CF0B14 802401D4 4480A000 */ mtc1 $zero, $f20 +/* CF0B18 802401D8 4406B000 */ mfc1 $a2, $f22 +/* CF0B1C 802401DC 4405A000 */ mfc1 $a1, $f20 +/* CF0B20 802401E0 4407A000 */ mfc1 $a3, $f20 +/* CF0B24 802401E4 0C019E40 */ jal guTranslateF +/* CF0B28 802401E8 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B2C 802401EC 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B30 802401F0 26300058 */ addiu $s0, $s1, 0x58 +/* CF0B34 802401F4 0200282D */ daddu $a1, $s0, $zero +/* CF0B38 802401F8 0C019D80 */ jal guMtxCatF +/* CF0B3C 802401FC 0200302D */ daddu $a2, $s0, $zero +/* CF0B40 80240200 4405E000 */ mfc1 $a1, $f28 +/* CF0B44 80240204 4406D000 */ mfc1 $a2, $f26 +/* CF0B48 80240208 4407C000 */ mfc1 $a3, $f24 +/* CF0B4C 8024020C 0C090010 */ jal func_80240040 +/* CF0B50 80240210 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B54 80240214 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B58 80240218 0200282D */ daddu $a1, $s0, $zero +/* CF0B5C 8024021C 0C019D80 */ jal guMtxCatF +/* CF0B60 80240220 0200302D */ daddu $a2, $s0, $zero +/* CF0B64 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B68 80240228 4600B587 */ neg.s $f22, $f22 +/* CF0B6C 8024022C 4405A000 */ mfc1 $a1, $f20 +/* CF0B70 80240230 4406B000 */ mfc1 $a2, $f22 +/* CF0B74 80240234 0C019E40 */ jal guTranslateF +/* CF0B78 80240238 00A0382D */ daddu $a3, $a1, $zero +/* CF0B7C 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF0B80 80240240 0200282D */ daddu $a1, $s0, $zero +/* CF0B84 80240244 0C019D80 */ jal guMtxCatF +/* CF0B88 80240248 00A0302D */ daddu $a2, $a1, $zero +.L8024024C: +/* CF0B8C 8024024C 8FBF005C */ lw $ra, 0x5c($sp) +/* CF0B90 80240250 8FB20058 */ lw $s2, 0x58($sp) +/* CF0B94 80240254 8FB10054 */ lw $s1, 0x54($sp) +/* CF0B98 80240258 8FB00050 */ lw $s0, 0x50($sp) +/* CF0B9C 8024025C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CF0BA0 80240260 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CF0BA4 80240264 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CF0BA8 80240268 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CF0BAC 8024026C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CF0BB0 80240270 24020002 */ addiu $v0, $zero, 2 +/* CF0BB4 80240274 03E00008 */ jr $ra +/* CF0BB8 80240278 27BD0088 */ addiu $sp, $sp, 0x88 +/* CF0BBC 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_24/func_80240280_CF0940.s b/asm/nonmatchings/world/area_flo/flo_24/func_80240280_CF0940.s new file mode 100644 index 0000000000..ba2177296d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_24/func_80240280_CF0940.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_CF0BC0 +/* CF0BC0 80240280 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF0BC4 80240284 AFB00010 */ sw $s0, 0x10($sp) +/* CF0BC8 80240288 0080802D */ daddu $s0, $a0, $zero +/* CF0BCC 8024028C AFBF0014 */ sw $ra, 0x14($sp) +/* CF0BD0 80240290 8E0300A8 */ lw $v1, 0xa8($s0) +/* CF0BD4 80240294 8E020088 */ lw $v0, 0x88($s0) +/* CF0BD8 80240298 00621821 */ addu $v1, $v1, $v0 +/* CF0BDC 8024029C 04610004 */ bgez $v1, .L802402B0 +/* CF0BE0 802402A0 AE0300A8 */ sw $v1, 0xa8($s0) +/* CF0BE4 802402A4 3C020002 */ lui $v0, 2 +/* CF0BE8 802402A8 080900B0 */ j .L802402C0 +/* CF0BEC 802402AC 00621021 */ addu $v0, $v1, $v0 +.L802402B0: +/* CF0BF0 802402B0 3C040002 */ lui $a0, 2 +/* CF0BF4 802402B4 0083102A */ slt $v0, $a0, $v1 +/* CF0BF8 802402B8 10400002 */ beqz $v0, .L802402C4 +/* CF0BFC 802402BC 00641023 */ subu $v0, $v1, $a0 +.L802402C0: +/* CF0C00 802402C0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802402C4: +/* CF0C04 802402C4 8E0300AC */ lw $v1, 0xac($s0) +/* CF0C08 802402C8 8E02008C */ lw $v0, 0x8c($s0) +/* CF0C0C 802402CC 00621821 */ addu $v1, $v1, $v0 +/* CF0C10 802402D0 04610004 */ bgez $v1, .L802402E4 +/* CF0C14 802402D4 AE0300AC */ sw $v1, 0xac($s0) +/* CF0C18 802402D8 3C020002 */ lui $v0, 2 +/* CF0C1C 802402DC 080900BD */ j .L802402F4 +/* CF0C20 802402E0 00621021 */ addu $v0, $v1, $v0 +.L802402E4: +/* CF0C24 802402E4 3C040002 */ lui $a0, 2 +/* CF0C28 802402E8 0083102A */ slt $v0, $a0, $v1 +/* CF0C2C 802402EC 10400002 */ beqz $v0, .L802402F8 +/* CF0C30 802402F0 00641023 */ subu $v0, $v1, $a0 +.L802402F4: +/* CF0C34 802402F4 AE0200AC */ sw $v0, 0xac($s0) +.L802402F8: +/* CF0C38 802402F8 8E0300B0 */ lw $v1, 0xb0($s0) +/* CF0C3C 802402FC 8E020090 */ lw $v0, 0x90($s0) +/* CF0C40 80240300 00621821 */ addu $v1, $v1, $v0 +/* CF0C44 80240304 04610004 */ bgez $v1, .L80240318 +/* CF0C48 80240308 AE0300B0 */ sw $v1, 0xb0($s0) +/* CF0C4C 8024030C 3C020002 */ lui $v0, 2 +/* CF0C50 80240310 080900CA */ j .L80240328 +/* CF0C54 80240314 00621021 */ addu $v0, $v1, $v0 +.L80240318: +/* CF0C58 80240318 3C040002 */ lui $a0, 2 +/* CF0C5C 8024031C 0083102A */ slt $v0, $a0, $v1 +/* CF0C60 80240320 10400002 */ beqz $v0, .L8024032C +/* CF0C64 80240324 00641023 */ subu $v0, $v1, $a0 +.L80240328: +/* CF0C68 80240328 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024032C: +/* CF0C6C 8024032C 8E0300B4 */ lw $v1, 0xb4($s0) +/* CF0C70 80240330 8E020094 */ lw $v0, 0x94($s0) +/* CF0C74 80240334 00621821 */ addu $v1, $v1, $v0 +/* CF0C78 80240338 04610004 */ bgez $v1, .L8024034C +/* CF0C7C 8024033C AE0300B4 */ sw $v1, 0xb4($s0) +/* CF0C80 80240340 3C020002 */ lui $v0, 2 +/* CF0C84 80240344 080900D7 */ j .L8024035C +/* CF0C88 80240348 00621021 */ addu $v0, $v1, $v0 +.L8024034C: +/* CF0C8C 8024034C 3C040002 */ lui $a0, 2 +/* CF0C90 80240350 0083102A */ slt $v0, $a0, $v1 +/* CF0C94 80240354 10400002 */ beqz $v0, .L80240360 +/* CF0C98 80240358 00641023 */ subu $v0, $v1, $a0 +.L8024035C: +/* CF0C9C 8024035C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240360: +/* CF0CA0 80240360 8E040084 */ lw $a0, 0x84($s0) +/* CF0CA4 80240364 0C046F07 */ jal set_main_pan_u +/* CF0CA8 80240368 8E0500A8 */ lw $a1, 0xa8($s0) +/* CF0CAC 8024036C 8E040084 */ lw $a0, 0x84($s0) +/* CF0CB0 80240370 0C046F0D */ jal set_main_pan_v +/* CF0CB4 80240374 8E0500AC */ lw $a1, 0xac($s0) +/* CF0CB8 80240378 8E040084 */ lw $a0, 0x84($s0) +/* CF0CBC 8024037C 0C046F13 */ jal set_aux_pan_u +/* CF0CC0 80240380 8E0500B0 */ lw $a1, 0xb0($s0) +/* CF0CC4 80240384 8E040084 */ lw $a0, 0x84($s0) +/* CF0CC8 80240388 0C046F19 */ jal set_aux_pan_v +/* CF0CCC 8024038C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CF0CD0 80240390 8FBF0014 */ lw $ra, 0x14($sp) +/* CF0CD4 80240394 8FB00010 */ lw $s0, 0x10($sp) +/* CF0CD8 80240398 0000102D */ daddu $v0, $zero, $zero +/* CF0CDC 8024039C 03E00008 */ jr $ra +/* CF0CE0 802403A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_24/func_802403A4_CF0940.s b/asm/nonmatchings/world/area_flo/flo_24/func_802403A4_CF0940.s new file mode 100644 index 0000000000..ca87afddf4 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_24/func_802403A4_CF0940.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A4_CF0CE4 +/* CF0CE4 802403A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF0CE8 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* CF0CEC 802403AC 0080802D */ daddu $s0, $a0, $zero +/* CF0CF0 802403B0 10A00005 */ beqz $a1, .L802403C8 +/* CF0CF4 802403B4 AFBF0014 */ sw $ra, 0x14($sp) +/* CF0CF8 802403B8 AE000070 */ sw $zero, 0x70($s0) +/* CF0CFC 802403BC AE000074 */ sw $zero, 0x74($s0) +/* CF0D00 802403C0 AE000078 */ sw $zero, 0x78($s0) +/* CF0D04 802403C4 AE00007C */ sw $zero, 0x7c($s0) +.L802403C8: +/* CF0D08 802403C8 8E020070 */ lw $v0, 0x70($s0) +/* CF0D0C 802403CC 1440000E */ bnez $v0, .L80240408 +/* CF0D10 802403D0 00000000 */ nop +/* CF0D14 802403D4 8E0300A8 */ lw $v1, 0xa8($s0) +/* CF0D18 802403D8 8E020088 */ lw $v0, 0x88($s0) +/* CF0D1C 802403DC 00621821 */ addu $v1, $v1, $v0 +/* CF0D20 802403E0 04610004 */ bgez $v1, .L802403F4 +/* CF0D24 802403E4 AE0300A8 */ sw $v1, 0xa8($s0) +/* CF0D28 802403E8 3C020002 */ lui $v0, 2 +/* CF0D2C 802403EC 08090101 */ j .L80240404 +/* CF0D30 802403F0 00621021 */ addu $v0, $v1, $v0 +.L802403F4: +/* CF0D34 802403F4 3C040002 */ lui $a0, 2 +/* CF0D38 802403F8 0083102A */ slt $v0, $a0, $v1 +/* CF0D3C 802403FC 10400002 */ beqz $v0, .L80240408 +/* CF0D40 80240400 00641023 */ subu $v0, $v1, $a0 +.L80240404: +/* CF0D44 80240404 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240408: +/* CF0D48 80240408 8E020074 */ lw $v0, 0x74($s0) +/* CF0D4C 8024040C 1440000E */ bnez $v0, .L80240448 +/* CF0D50 80240410 00000000 */ nop +/* CF0D54 80240414 8E0300AC */ lw $v1, 0xac($s0) +/* CF0D58 80240418 8E02008C */ lw $v0, 0x8c($s0) +/* CF0D5C 8024041C 00621821 */ addu $v1, $v1, $v0 +/* CF0D60 80240420 04610004 */ bgez $v1, .L80240434 +/* CF0D64 80240424 AE0300AC */ sw $v1, 0xac($s0) +/* CF0D68 80240428 3C020002 */ lui $v0, 2 +/* CF0D6C 8024042C 08090111 */ j .L80240444 +/* CF0D70 80240430 00621021 */ addu $v0, $v1, $v0 +.L80240434: +/* CF0D74 80240434 3C040002 */ lui $a0, 2 +/* CF0D78 80240438 0083102A */ slt $v0, $a0, $v1 +/* CF0D7C 8024043C 10400002 */ beqz $v0, .L80240448 +/* CF0D80 80240440 00641023 */ subu $v0, $v1, $a0 +.L80240444: +/* CF0D84 80240444 AE0200AC */ sw $v0, 0xac($s0) +.L80240448: +/* CF0D88 80240448 8E020078 */ lw $v0, 0x78($s0) +/* CF0D8C 8024044C 1440000E */ bnez $v0, .L80240488 +/* CF0D90 80240450 00000000 */ nop +/* CF0D94 80240454 8E0300B0 */ lw $v1, 0xb0($s0) +/* CF0D98 80240458 8E020090 */ lw $v0, 0x90($s0) +/* CF0D9C 8024045C 00621821 */ addu $v1, $v1, $v0 +/* CF0DA0 80240460 04610004 */ bgez $v1, .L80240474 +/* CF0DA4 80240464 AE0300B0 */ sw $v1, 0xb0($s0) +/* CF0DA8 80240468 3C020002 */ lui $v0, 2 +/* CF0DAC 8024046C 08090121 */ j .L80240484 +/* CF0DB0 80240470 00621021 */ addu $v0, $v1, $v0 +.L80240474: +/* CF0DB4 80240474 3C040002 */ lui $a0, 2 +/* CF0DB8 80240478 0083102A */ slt $v0, $a0, $v1 +/* CF0DBC 8024047C 10400002 */ beqz $v0, .L80240488 +/* CF0DC0 80240480 00641023 */ subu $v0, $v1, $a0 +.L80240484: +/* CF0DC4 80240484 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240488: +/* CF0DC8 80240488 8E02007C */ lw $v0, 0x7c($s0) +/* CF0DCC 8024048C 1440000E */ bnez $v0, .L802404C8 +/* CF0DD0 80240490 00000000 */ nop +/* CF0DD4 80240494 8E0300B4 */ lw $v1, 0xb4($s0) +/* CF0DD8 80240498 8E020094 */ lw $v0, 0x94($s0) +/* CF0DDC 8024049C 00621821 */ addu $v1, $v1, $v0 +/* CF0DE0 802404A0 04610004 */ bgez $v1, .L802404B4 +/* CF0DE4 802404A4 AE0300B4 */ sw $v1, 0xb4($s0) +/* CF0DE8 802404A8 3C020002 */ lui $v0, 2 +/* CF0DEC 802404AC 08090131 */ j .L802404C4 +/* CF0DF0 802404B0 00621021 */ addu $v0, $v1, $v0 +.L802404B4: +/* CF0DF4 802404B4 3C040002 */ lui $a0, 2 +/* CF0DF8 802404B8 0083102A */ slt $v0, $a0, $v1 +/* CF0DFC 802404BC 10400002 */ beqz $v0, .L802404C8 +/* CF0E00 802404C0 00641023 */ subu $v0, $v1, $a0 +.L802404C4: +/* CF0E04 802404C4 AE0200B4 */ sw $v0, 0xb4($s0) +.L802404C8: +/* CF0E08 802404C8 8E040084 */ lw $a0, 0x84($s0) +/* CF0E0C 802404CC 0C046F07 */ jal set_main_pan_u +/* CF0E10 802404D0 8E0500A8 */ lw $a1, 0xa8($s0) +/* CF0E14 802404D4 8E040084 */ lw $a0, 0x84($s0) +/* CF0E18 802404D8 0C046F0D */ jal set_main_pan_v +/* CF0E1C 802404DC 8E0500AC */ lw $a1, 0xac($s0) +/* CF0E20 802404E0 8E040084 */ lw $a0, 0x84($s0) +/* CF0E24 802404E4 0C046F13 */ jal set_aux_pan_u +/* CF0E28 802404E8 8E0500B0 */ lw $a1, 0xb0($s0) +/* CF0E2C 802404EC 8E040084 */ lw $a0, 0x84($s0) +/* CF0E30 802404F0 0C046F19 */ jal set_aux_pan_v +/* CF0E34 802404F4 8E0500B4 */ lw $a1, 0xb4($s0) +/* CF0E38 802404F8 8E020070 */ lw $v0, 0x70($s0) +/* CF0E3C 802404FC 8E030078 */ lw $v1, 0x78($s0) +/* CF0E40 80240500 8E040098 */ lw $a0, 0x98($s0) +/* CF0E44 80240504 24420001 */ addiu $v0, $v0, 1 +/* CF0E48 80240508 AE020070 */ sw $v0, 0x70($s0) +/* CF0E4C 8024050C 8E020074 */ lw $v0, 0x74($s0) +/* CF0E50 80240510 24630001 */ addiu $v1, $v1, 1 +/* CF0E54 80240514 AE030078 */ sw $v1, 0x78($s0) +/* CF0E58 80240518 8E030070 */ lw $v1, 0x70($s0) +/* CF0E5C 8024051C 24420001 */ addiu $v0, $v0, 1 +/* CF0E60 80240520 AE020074 */ sw $v0, 0x74($s0) +/* CF0E64 80240524 8E02007C */ lw $v0, 0x7c($s0) +/* CF0E68 80240528 0064182A */ slt $v1, $v1, $a0 +/* CF0E6C 8024052C 24420001 */ addiu $v0, $v0, 1 +/* CF0E70 80240530 14600002 */ bnez $v1, .L8024053C +/* CF0E74 80240534 AE02007C */ sw $v0, 0x7c($s0) +/* CF0E78 80240538 AE000070 */ sw $zero, 0x70($s0) +.L8024053C: +/* CF0E7C 8024053C 8E020074 */ lw $v0, 0x74($s0) +/* CF0E80 80240540 8E03009C */ lw $v1, 0x9c($s0) +/* CF0E84 80240544 0043102A */ slt $v0, $v0, $v1 +/* CF0E88 80240548 50400001 */ beql $v0, $zero, .L80240550 +/* CF0E8C 8024054C AE000074 */ sw $zero, 0x74($s0) +.L80240550: +/* CF0E90 80240550 8E020078 */ lw $v0, 0x78($s0) +/* CF0E94 80240554 8E0300A0 */ lw $v1, 0xa0($s0) +/* CF0E98 80240558 0043102A */ slt $v0, $v0, $v1 +/* CF0E9C 8024055C 50400001 */ beql $v0, $zero, .L80240564 +/* CF0EA0 80240560 AE000078 */ sw $zero, 0x78($s0) +.L80240564: +/* CF0EA4 80240564 8E02007C */ lw $v0, 0x7c($s0) +/* CF0EA8 80240568 8E0300A4 */ lw $v1, 0xa4($s0) +/* CF0EAC 8024056C 0043102A */ slt $v0, $v0, $v1 +/* CF0EB0 80240570 50400001 */ beql $v0, $zero, .L80240578 +/* CF0EB4 80240574 AE00007C */ sw $zero, 0x7c($s0) +.L80240578: +/* CF0EB8 80240578 8FBF0014 */ lw $ra, 0x14($sp) +/* CF0EBC 8024057C 8FB00010 */ lw $s0, 0x10($sp) +/* CF0EC0 80240580 0000102D */ daddu $v0, $zero, $zero +/* CF0EC4 80240584 03E00008 */ jr $ra +/* CF0EC8 80240588 27BD0018 */ addiu $sp, $sp, 0x18 +/* CF0ECC 8024058C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240000_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240000_CF2BD0.s new file mode 100644 index 0000000000..7f3ea831cb --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240000_CF2BD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CF2BD0 +/* CF2BD0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF2BD4 80240004 0000202D */ daddu $a0, $zero, $zero +/* CF2BD8 80240008 0080282D */ daddu $a1, $a0, $zero +/* CF2BDC 8024000C 0080302D */ daddu $a2, $a0, $zero +/* CF2BE0 80240010 0080382D */ daddu $a3, $a0, $zero +/* CF2BE4 80240014 AFBF0018 */ sw $ra, 0x18($sp) +/* CF2BE8 80240018 AFA00010 */ sw $zero, 0x10($sp) +/* CF2BEC 8024001C 0C01CA54 */ jal func_80072950 +/* CF2BF0 80240020 AFA00014 */ sw $zero, 0x14($sp) +/* CF2BF4 80240024 8FBF0018 */ lw $ra, 0x18($sp) +/* CF2BF8 80240028 24020002 */ addiu $v0, $zero, 2 +/* CF2BFC 8024002C 03E00008 */ jr $ra +/* CF2C00 80240030 27BD0020 */ addiu $sp, $sp, 0x20 +/* CF2C04 80240034 00000000 */ nop +/* CF2C08 80240038 00000000 */ nop +/* CF2C0C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240040_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240040_CF2BD0.s new file mode 100644 index 0000000000..0a64be6e8b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240040_CF2BD0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_CF2C10 +/* CF2C10 80240040 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CF2C14 80240044 AFB3002C */ sw $s3, 0x2c($sp) +/* CF2C18 80240048 0080982D */ daddu $s3, $a0, $zero +/* CF2C1C 8024004C AFBF0030 */ sw $ra, 0x30($sp) +/* CF2C20 80240050 AFB20028 */ sw $s2, 0x28($sp) +/* CF2C24 80240054 AFB10024 */ sw $s1, 0x24($sp) +/* CF2C28 80240058 AFB00020 */ sw $s0, 0x20($sp) +/* CF2C2C 8024005C 8E710148 */ lw $s1, 0x148($s3) +/* CF2C30 80240060 86240008 */ lh $a0, 8($s1) +/* CF2C34 80240064 0C00EABB */ jal get_npc_unsafe +/* CF2C38 80240068 00A0902D */ daddu $s2, $a1, $zero +/* CF2C3C 8024006C 8E440004 */ lw $a0, 4($s2) +/* CF2C40 80240070 0040802D */ daddu $s0, $v0, $zero +/* CF2C44 80240074 00041FC2 */ srl $v1, $a0, 0x1f +/* CF2C48 80240078 00832021 */ addu $a0, $a0, $v1 +/* CF2C4C 8024007C 00042043 */ sra $a0, $a0, 1 +/* CF2C50 80240080 0C00A67F */ jal rand_int +/* CF2C54 80240084 24840001 */ addiu $a0, $a0, 1 +/* CF2C58 80240088 8E430004 */ lw $v1, 4($s2) +/* CF2C5C 8024008C 000327C2 */ srl $a0, $v1, 0x1f +/* CF2C60 80240090 00641821 */ addu $v1, $v1, $a0 +/* CF2C64 80240094 00031843 */ sra $v1, $v1, 1 +/* CF2C68 80240098 00621821 */ addu $v1, $v1, $v0 +/* CF2C6C 8024009C A603008E */ sh $v1, 0x8e($s0) +/* CF2C70 802400A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* CF2C74 802400A4 C6000040 */ lwc1 $f0, 0x40($s0) +/* CF2C78 802400A8 C4640000 */ lwc1 $f4, ($v1) +/* CF2C7C 802400AC 46802120 */ cvt.s.w $f4, $f4 +/* CF2C80 802400B0 C4620008 */ lwc1 $f2, 8($v1) +/* CF2C84 802400B4 468010A0 */ cvt.s.w $f2, $f2 +/* CF2C88 802400B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF2C8C 802400BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF2C90 802400C0 44061000 */ mfc1 $a2, $f2 +/* CF2C94 802400C4 C440000C */ lwc1 $f0, 0xc($v0) +/* CF2C98 802400C8 46800020 */ cvt.s.w $f0, $f0 +/* CF2C9C 802400CC E7A00014 */ swc1 $f0, 0x14($sp) +/* CF2CA0 802400D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF2CA4 802400D4 44052000 */ mfc1 $a1, $f4 +/* CF2CA8 802400D8 C4400010 */ lwc1 $f0, 0x10($v0) +/* CF2CAC 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* CF2CB0 802400E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* CF2CB4 802400E4 8C640018 */ lw $a0, 0x18($v1) +/* CF2CB8 802400E8 0C0123F5 */ jal is_point_within_region +/* CF2CBC 802400EC 8E070038 */ lw $a3, 0x38($s0) +/* CF2CC0 802400F0 1040000E */ beqz $v0, .L8024012C +/* CF2CC4 802400F4 00000000 */ nop +/* CF2CC8 802400F8 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF2CCC 802400FC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CF2CD0 80240100 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CF2CD4 80240104 C4460000 */ lwc1 $f6, ($v0) +/* CF2CD8 80240108 468031A0 */ cvt.s.w $f6, $f6 +/* CF2CDC 8024010C 44063000 */ mfc1 $a2, $f6 +/* CF2CE0 80240110 C4460008 */ lwc1 $f6, 8($v0) +/* CF2CE4 80240114 468031A0 */ cvt.s.w $f6, $f6 +/* CF2CE8 80240118 44073000 */ mfc1 $a3, $f6 +/* CF2CEC 8024011C 0C00A720 */ jal atan2 +/* CF2CF0 80240120 00000000 */ nop +/* CF2CF4 80240124 08090057 */ j .L8024015C +/* CF2CF8 80240128 E600000C */ swc1 $f0, 0xc($s0) +.L8024012C: +/* CF2CFC 8024012C 0C00A67F */ jal rand_int +/* CF2D00 80240130 2404003C */ addiu $a0, $zero, 0x3c +/* CF2D04 80240134 C60C000C */ lwc1 $f12, 0xc($s0) +/* CF2D08 80240138 44820000 */ mtc1 $v0, $f0 +/* CF2D0C 8024013C 00000000 */ nop +/* CF2D10 80240140 46800020 */ cvt.s.w $f0, $f0 +/* CF2D14 80240144 46006300 */ add.s $f12, $f12, $f0 +/* CF2D18 80240148 3C0141F0 */ lui $at, 0x41f0 +/* CF2D1C 8024014C 44810000 */ mtc1 $at, $f0 +/* CF2D20 80240150 0C00A6C9 */ jal clamp_angle +/* CF2D24 80240154 46006301 */ sub.s $f12, $f12, $f0 +/* CF2D28 80240158 E600000C */ swc1 $f0, 0xc($s0) +.L8024015C: +/* CF2D2C 8024015C 8E2200CC */ lw $v0, 0xcc($s1) +/* CF2D30 80240160 8C420004 */ lw $v0, 4($v0) +/* CF2D34 80240164 AE020028 */ sw $v0, 0x28($s0) +/* CF2D38 80240168 AE600074 */ sw $zero, 0x74($s3) +/* CF2D3C 8024016C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF2D40 80240170 8C420014 */ lw $v0, 0x14($v0) +/* CF2D44 80240174 04410004 */ bgez $v0, .L80240188 +/* CF2D48 80240178 00000000 */ nop +/* CF2D4C 8024017C C6400000 */ lwc1 $f0, ($s2) +/* CF2D50 80240180 0809006A */ j .L802401A8 +/* CF2D54 80240184 E6000018 */ swc1 $f0, 0x18($s0) +.L80240188: +/* CF2D58 80240188 3C018024 */ lui $at, 0x8024 +/* CF2D5C 8024018C D4224EE0 */ ldc1 $f2, 0x4ee0($at) +/* CF2D60 80240190 44820000 */ mtc1 $v0, $f0 +/* CF2D64 80240194 00000000 */ nop +/* CF2D68 80240198 46800021 */ cvt.d.w $f0, $f0 +/* CF2D6C 8024019C 46220003 */ div.d $f0, $f0, $f2 +/* CF2D70 802401A0 46200020 */ cvt.s.d $f0, $f0 +/* CF2D74 802401A4 E6000018 */ swc1 $f0, 0x18($s0) +.L802401A8: +/* CF2D78 802401A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF2D7C 802401AC 3C014059 */ lui $at, 0x4059 +/* CF2D80 802401B0 44811800 */ mtc1 $at, $f3 +/* CF2D84 802401B4 44801000 */ mtc1 $zero, $f2 +/* CF2D88 802401B8 46000021 */ cvt.d.s $f0, $f0 +/* CF2D8C 802401BC 46220002 */ mul.d $f0, $f0, $f2 +/* CF2D90 802401C0 00000000 */ nop +/* CF2D94 802401C4 24020001 */ addiu $v0, $zero, 1 +/* CF2D98 802401C8 4620018D */ trunc.w.d $f6, $f0 +/* CF2D9C 802401CC E626007C */ swc1 $f6, 0x7c($s1) +/* CF2DA0 802401D0 AE620070 */ sw $v0, 0x70($s3) +/* CF2DA4 802401D4 8FBF0030 */ lw $ra, 0x30($sp) +/* CF2DA8 802401D8 8FB3002C */ lw $s3, 0x2c($sp) +/* CF2DAC 802401DC 8FB20028 */ lw $s2, 0x28($sp) +/* CF2DB0 802401E0 8FB10024 */ lw $s1, 0x24($sp) +/* CF2DB4 802401E4 8FB00020 */ lw $s0, 0x20($sp) +/* CF2DB8 802401E8 03E00008 */ jr $ra +/* CF2DBC 802401EC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_802401F0_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_802401F0_CF2BD0.s new file mode 100644 index 0000000000..bc840ed0f3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_802401F0_CF2BD0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401F0_CF2DC0 +/* CF2DC0 802401F0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* CF2DC4 802401F4 AFB3004C */ sw $s3, 0x4c($sp) +/* CF2DC8 802401F8 0080982D */ daddu $s3, $a0, $zero +/* CF2DCC 802401FC AFBF0058 */ sw $ra, 0x58($sp) +/* CF2DD0 80240200 AFB50054 */ sw $s5, 0x54($sp) +/* CF2DD4 80240204 AFB40050 */ sw $s4, 0x50($sp) +/* CF2DD8 80240208 AFB20048 */ sw $s2, 0x48($sp) +/* CF2DDC 8024020C AFB10044 */ sw $s1, 0x44($sp) +/* CF2DE0 80240210 AFB00040 */ sw $s0, 0x40($sp) +/* CF2DE4 80240214 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CF2DE8 80240218 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CF2DEC 8024021C F7B60068 */ sdc1 $f22, 0x68($sp) +/* CF2DF0 80240220 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CF2DF4 80240224 8E710148 */ lw $s1, 0x148($s3) +/* CF2DF8 80240228 00A0902D */ daddu $s2, $a1, $zero +/* CF2DFC 8024022C 86240008 */ lh $a0, 8($s1) +/* CF2E00 80240230 0C00EABB */ jal get_npc_unsafe +/* CF2E04 80240234 00C0A82D */ daddu $s5, $a2, $zero +/* CF2E08 80240238 0040802D */ daddu $s0, $v0, $zero +/* CF2E0C 8024023C 0000A02D */ daddu $s4, $zero, $zero +/* CF2E10 80240240 C624007C */ lwc1 $f4, 0x7c($s1) +/* CF2E14 80240244 46802120 */ cvt.s.w $f4, $f4 +/* CF2E18 80240248 C6220088 */ lwc1 $f2, 0x88($s1) +/* CF2E1C 8024024C 468010A0 */ cvt.s.w $f2, $f2 +/* CF2E20 80240250 460010A1 */ cvt.d.s $f2, $f2 +/* CF2E24 80240254 46002121 */ cvt.d.s $f4, $f4 +/* CF2E28 80240258 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF2E2C 8024025C 3C014059 */ lui $at, 0x4059 +/* CF2E30 80240260 44813800 */ mtc1 $at, $f7 +/* CF2E34 80240264 44803000 */ mtc1 $zero, $f6 +/* CF2E38 80240268 46000021 */ cvt.d.s $f0, $f0 +/* CF2E3C 8024026C 46260002 */ mul.d $f0, $f0, $f6 +/* CF2E40 80240270 00000000 */ nop +/* CF2E44 80240274 24020001 */ addiu $v0, $zero, 1 +/* CF2E48 80240278 8E24006C */ lw $a0, 0x6c($s1) +/* CF2E4C 8024027C 46261083 */ div.d $f2, $f2, $f6 +/* CF2E50 80240280 462010A0 */ cvt.s.d $f2, $f2 +/* CF2E54 80240284 46262103 */ div.d $f4, $f4, $f6 +/* CF2E58 80240288 46202520 */ cvt.s.d $f20, $f4 +/* CF2E5C 8024028C 30830011 */ andi $v1, $a0, 0x11 +/* CF2E60 80240290 4620020D */ trunc.w.d $f8, $f0 +/* CF2E64 80240294 E628007C */ swc1 $f8, 0x7c($s1) +/* CF2E68 80240298 C6200078 */ lwc1 $f0, 0x78($s1) +/* CF2E6C 8024029C 46800020 */ cvt.s.w $f0, $f0 +/* CF2E70 802402A0 46000021 */ cvt.d.s $f0, $f0 +/* CF2E74 802402A4 46260003 */ div.d $f0, $f0, $f6 +/* CF2E78 802402A8 462006A0 */ cvt.s.d $f26, $f0 +/* CF2E7C 802402AC C6200070 */ lwc1 $f0, 0x70($s1) +/* CF2E80 802402B0 46800020 */ cvt.s.w $f0, $f0 +/* CF2E84 802402B4 46000021 */ cvt.d.s $f0, $f0 +/* CF2E88 802402B8 46260003 */ div.d $f0, $f0, $f6 +/* CF2E8C 802402BC 462005A0 */ cvt.s.d $f22, $f0 +/* CF2E90 802402C0 14620025 */ bne $v1, $v0, .L80240358 +/* CF2E94 802402C4 4602D600 */ add.s $f24, $f26, $f2 +/* CF2E98 802402C8 8E020000 */ lw $v0, ($s0) +/* CF2E9C 802402CC 30420008 */ andi $v0, $v0, 8 +/* CF2EA0 802402D0 10400009 */ beqz $v0, .L802402F8 +/* CF2EA4 802402D4 27A50028 */ addiu $a1, $sp, 0x28 +/* CF2EA8 802402D8 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF2EAC 802402DC 4600C001 */ sub.s $f0, $f24, $f0 +/* CF2EB0 802402E0 4600B03C */ c.lt.s $f22, $f0 +/* CF2EB4 802402E4 00000000 */ nop +/* CF2EB8 802402E8 4500001B */ bc1f .L80240358 +/* CF2EBC 802402EC 34820010 */ ori $v0, $a0, 0x10 +/* CF2EC0 802402F0 080900D6 */ j .L80240358 +/* CF2EC4 802402F4 AE22006C */ sw $v0, 0x6c($s1) +.L802402F8: +/* CF2EC8 802402F8 27A6002C */ addiu $a2, $sp, 0x2c +/* CF2ECC 802402FC C6000038 */ lwc1 $f0, 0x38($s0) +/* CF2ED0 80240300 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF2ED4 80240304 C6040040 */ lwc1 $f4, 0x40($s0) +/* CF2ED8 80240308 3C01447A */ lui $at, 0x447a +/* CF2EDC 8024030C 44813000 */ mtc1 $at, $f6 +/* CF2EE0 80240310 27A20034 */ addiu $v0, $sp, 0x34 +/* CF2EE4 80240314 E7A00028 */ swc1 $f0, 0x28($sp) +/* CF2EE8 80240318 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CF2EEC 8024031C E7A40030 */ swc1 $f4, 0x30($sp) +/* CF2EF0 80240320 E7A60034 */ swc1 $f6, 0x34($sp) +/* CF2EF4 80240324 AFA20010 */ sw $v0, 0x10($sp) +/* CF2EF8 80240328 8E040080 */ lw $a0, 0x80($s0) +/* CF2EFC 8024032C 0C0372DF */ jal func_800DCB7C +/* CF2F00 80240330 27A70030 */ addiu $a3, $sp, 0x30 +/* CF2F04 80240334 C7A00034 */ lwc1 $f0, 0x34($sp) +/* CF2F08 80240338 4600D001 */ sub.s $f0, $f26, $f0 +/* CF2F0C 8024033C 4600B03C */ c.lt.s $f22, $f0 +/* CF2F10 80240340 00000000 */ nop +/* CF2F14 80240344 45000004 */ bc1f .L80240358 +/* CF2F18 80240348 00000000 */ nop +/* CF2F1C 8024034C 8E22006C */ lw $v0, 0x6c($s1) +/* CF2F20 80240350 34420010 */ ori $v0, $v0, 0x10 +/* CF2F24 80240354 AE22006C */ sw $v0, 0x6c($s1) +.L80240358: +/* CF2F28 80240358 8E22006C */ lw $v0, 0x6c($s1) +/* CF2F2C 8024035C 24030011 */ addiu $v1, $zero, 0x11 +/* CF2F30 80240360 30420011 */ andi $v0, $v0, 0x11 +/* CF2F34 80240364 14430039 */ bne $v0, $v1, .L8024044C +/* CF2F38 80240368 00000000 */ nop +/* CF2F3C 8024036C 8E020000 */ lw $v0, ($s0) +/* CF2F40 80240370 30420008 */ andi $v0, $v0, 8 +/* CF2F44 80240374 1040000A */ beqz $v0, .L802403A0 +/* CF2F48 80240378 4600C106 */ mov.s $f4, $f24 +/* CF2F4C 8024037C 4614C081 */ sub.s $f2, $f24, $f20 +/* CF2F50 80240380 3C018024 */ lui $at, 0x8024 +/* CF2F54 80240384 D4204EE8 */ ldc1 $f0, 0x4ee8($at) +/* CF2F58 80240388 460010A1 */ cvt.d.s $f2, $f2 +/* CF2F5C 8024038C 46201082 */ mul.d $f2, $f2, $f0 +/* CF2F60 80240390 00000000 */ nop +/* CF2F64 80240394 4600A021 */ cvt.d.s $f0, $f20 +/* CF2F68 80240398 08090101 */ j .L80240404 +/* CF2F6C 8024039C 46220000 */ add.d $f0, $f0, $f2 +.L802403A0: +/* CF2F70 802403A0 27A50028 */ addiu $a1, $sp, 0x28 +/* CF2F74 802403A4 27A6002C */ addiu $a2, $sp, 0x2c +/* CF2F78 802403A8 C6000038 */ lwc1 $f0, 0x38($s0) +/* CF2F7C 802403AC C6020040 */ lwc1 $f2, 0x40($s0) +/* CF2F80 802403B0 3C01447A */ lui $at, 0x447a +/* CF2F84 802403B4 44812000 */ mtc1 $at, $f4 +/* CF2F88 802403B8 27A20034 */ addiu $v0, $sp, 0x34 +/* CF2F8C 802403BC E7B4002C */ swc1 $f20, 0x2c($sp) +/* CF2F90 802403C0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CF2F94 802403C4 E7A20030 */ swc1 $f2, 0x30($sp) +/* CF2F98 802403C8 E7A40034 */ swc1 $f4, 0x34($sp) +/* CF2F9C 802403CC AFA20010 */ sw $v0, 0x10($sp) +/* CF2FA0 802403D0 8E040080 */ lw $a0, 0x80($s0) +/* CF2FA4 802403D4 0C0372DF */ jal func_800DCB7C +/* CF2FA8 802403D8 27A70030 */ addiu $a3, $sp, 0x30 +/* CF2FAC 802403DC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* CF2FB0 802403E0 461A2100 */ add.s $f4, $f4, $f26 +/* CF2FB4 802403E4 46142081 */ sub.s $f2, $f4, $f20 +/* CF2FB8 802403E8 3C018024 */ lui $at, 0x8024 +/* CF2FBC 802403EC D4204EF0 */ ldc1 $f0, 0x4ef0($at) +/* CF2FC0 802403F0 460010A1 */ cvt.d.s $f2, $f2 +/* CF2FC4 802403F4 46201082 */ mul.d $f2, $f2, $f0 +/* CF2FC8 802403F8 00000000 */ nop +/* CF2FCC 802403FC 4600A021 */ cvt.d.s $f0, $f20 +/* CF2FD0 80240400 46220000 */ add.d $f0, $f0, $f2 +.L80240404: +/* CF2FD4 80240404 46200020 */ cvt.s.d $f0, $f0 +/* CF2FD8 80240408 E600003C */ swc1 $f0, 0x3c($s0) +/* CF2FDC 8024040C C600003C */ lwc1 $f0, 0x3c($s0) +/* CF2FE0 80240410 46002001 */ sub.s $f0, $f4, $f0 +/* CF2FE4 80240414 3C013FF0 */ lui $at, 0x3ff0 +/* CF2FE8 80240418 44811800 */ mtc1 $at, $f3 +/* CF2FEC 8024041C 44801000 */ mtc1 $zero, $f2 +/* CF2FF0 80240420 46000005 */ abs.s $f0, $f0 +/* CF2FF4 80240424 46000021 */ cvt.d.s $f0, $f0 +/* CF2FF8 80240428 4622003C */ c.lt.d $f0, $f2 +/* CF2FFC 8024042C 00000000 */ nop +/* CF3000 80240430 45000036 */ bc1f .L8024050C +/* CF3004 80240434 2403FFEF */ addiu $v1, $zero, -0x11 +/* CF3008 80240438 E604003C */ swc1 $f4, 0x3c($s0) +/* CF300C 8024043C 8E22006C */ lw $v0, 0x6c($s1) +/* CF3010 80240440 00431024 */ and $v0, $v0, $v1 +/* CF3014 80240444 08090143 */ j .L8024050C +/* CF3018 80240448 AE22006C */ sw $v0, 0x6c($s1) +.L8024044C: +/* CF301C 8024044C 8E220070 */ lw $v0, 0x70($s1) +/* CF3020 80240450 1840002E */ blez $v0, .L8024050C +/* CF3024 80240454 00000000 */ nop +/* CF3028 80240458 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CF302C 8024045C 0C00A8BB */ jal sin_deg +/* CF3030 80240460 46806320 */ cvt.s.w $f12, $f12 +/* CF3034 80240464 8E020000 */ lw $v0, ($s0) +/* CF3038 80240468 30420008 */ andi $v0, $v0, 8 +/* CF303C 8024046C 10400003 */ beqz $v0, .L8024047C +/* CF3040 80240470 46000506 */ mov.s $f20, $f0 +/* CF3044 80240474 0809012F */ j .L802404BC +/* CF3048 80240478 0000102D */ daddu $v0, $zero, $zero +.L8024047C: +/* CF304C 8024047C 27A50028 */ addiu $a1, $sp, 0x28 +/* CF3050 80240480 27A6002C */ addiu $a2, $sp, 0x2c +/* CF3054 80240484 C6000038 */ lwc1 $f0, 0x38($s0) +/* CF3058 80240488 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF305C 8024048C C6040040 */ lwc1 $f4, 0x40($s0) +/* CF3060 80240490 3C01447A */ lui $at, 0x447a +/* CF3064 80240494 44813000 */ mtc1 $at, $f6 +/* CF3068 80240498 27A20034 */ addiu $v0, $sp, 0x34 +/* CF306C 8024049C E7A00028 */ swc1 $f0, 0x28($sp) +/* CF3070 802404A0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CF3074 802404A4 E7A40030 */ swc1 $f4, 0x30($sp) +/* CF3078 802404A8 E7A60034 */ swc1 $f6, 0x34($sp) +/* CF307C 802404AC AFA20010 */ sw $v0, 0x10($sp) +/* CF3080 802404B0 8E040080 */ lw $a0, 0x80($s0) +/* CF3084 802404B4 0C0372DF */ jal func_800DCB7C +/* CF3088 802404B8 27A70030 */ addiu $a3, $sp, 0x30 +.L802404BC: +/* CF308C 802404BC 10400007 */ beqz $v0, .L802404DC +/* CF3090 802404C0 00000000 */ nop +/* CF3094 802404C4 4616A082 */ mul.s $f2, $f20, $f22 +/* CF3098 802404C8 00000000 */ nop +/* CF309C 802404CC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CF30A0 802404D0 461A0000 */ add.s $f0, $f0, $f26 +/* CF30A4 802404D4 0809013A */ j .L802404E8 +/* CF30A8 802404D8 46020000 */ add.s $f0, $f0, $f2 +.L802404DC: +/* CF30AC 802404DC 4616A002 */ mul.s $f0, $f20, $f22 +/* CF30B0 802404E0 00000000 */ nop +/* CF30B4 802404E4 4600C000 */ add.s $f0, $f24, $f0 +.L802404E8: +/* CF30B8 802404E8 E600003C */ swc1 $f0, 0x3c($s0) +/* CF30BC 802404EC 8E220074 */ lw $v0, 0x74($s1) +/* CF30C0 802404F0 2442000A */ addiu $v0, $v0, 0xa +/* CF30C4 802404F4 44826000 */ mtc1 $v0, $f12 +/* CF30C8 802404F8 00000000 */ nop +/* CF30CC 802404FC 0C00A6C9 */ jal clamp_angle +/* CF30D0 80240500 46806320 */ cvt.s.w $f12, $f12 +/* CF30D4 80240504 4600020D */ trunc.w.s $f8, $f0 +/* CF30D8 80240508 E6280074 */ swc1 $f8, 0x74($s1) +.L8024050C: +/* CF30DC 8024050C 8E220090 */ lw $v0, 0x90($s1) +/* CF30E0 80240510 1C40004A */ bgtz $v0, .L8024063C +/* CF30E4 80240514 2442FFFF */ addiu $v0, $v0, -1 +/* CF30E8 80240518 8E430014 */ lw $v1, 0x14($s2) +/* CF30EC 8024051C 04600048 */ bltz $v1, .L80240640 +/* CF30F0 80240520 00000000 */ nop +/* CF30F4 80240524 8E620074 */ lw $v0, 0x74($s3) +/* CF30F8 80240528 1C400042 */ bgtz $v0, .L80240634 +/* CF30FC 8024052C 2442FFFF */ addiu $v0, $v0, -1 +/* CF3100 80240530 AE630074 */ sw $v1, 0x74($s3) +/* CF3104 80240534 860200A8 */ lh $v0, 0xa8($s0) +/* CF3108 80240538 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF310C 8024053C 44820000 */ mtc1 $v0, $f0 +/* CF3110 80240540 00000000 */ nop +/* CF3114 80240544 46800020 */ cvt.s.w $f0, $f0 +/* CF3118 80240548 46001080 */ add.s $f2, $f2, $f0 +/* CF311C 8024054C 3C014024 */ lui $at, 0x4024 +/* CF3120 80240550 44810800 */ mtc1 $at, $f1 +/* CF3124 80240554 44800000 */ mtc1 $zero, $f0 +/* CF3128 80240558 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF312C 8024055C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF3130 80240560 460010A1 */ cvt.d.s $f2, $f2 +/* CF3134 80240564 46201080 */ add.d $f2, $f2, $f0 +/* CF3138 80240568 C440002C */ lwc1 $f0, 0x2c($v0) +/* CF313C 8024056C 46000021 */ cvt.d.s $f0, $f0 +/* CF3140 80240570 4622003C */ c.lt.d $f0, $f2 +/* CF3144 80240574 00000000 */ nop +/* CF3148 80240578 4500002C */ bc1f .L8024062C +/* CF314C 8024057C 02A0202D */ daddu $a0, $s5, $zero +/* CF3150 80240580 AFA00010 */ sw $zero, 0x10($sp) +/* CF3154 80240584 8E46000C */ lw $a2, 0xc($s2) +/* CF3158 80240588 8E470010 */ lw $a3, 0x10($s2) +/* CF315C 8024058C 0C01242D */ jal func_800490B4 +/* CF3160 80240590 0220282D */ daddu $a1, $s1, $zero +/* CF3164 80240594 10400025 */ beqz $v0, .L8024062C +/* CF3168 80240598 0000202D */ daddu $a0, $zero, $zero +/* CF316C 8024059C 0200282D */ daddu $a1, $s0, $zero +/* CF3170 802405A0 0000302D */ daddu $a2, $zero, $zero +/* CF3174 802405A4 2412000C */ addiu $s2, $zero, 0xc +/* CF3178 802405A8 860300A8 */ lh $v1, 0xa8($s0) +/* CF317C 802405AC 3C013F80 */ lui $at, 0x3f80 +/* CF3180 802405B0 44810000 */ mtc1 $at, $f0 +/* CF3184 802405B4 3C014000 */ lui $at, 0x4000 +/* CF3188 802405B8 44811000 */ mtc1 $at, $f2 +/* CF318C 802405BC 3C01C1A0 */ lui $at, 0xc1a0 +/* CF3190 802405C0 44812000 */ mtc1 $at, $f4 +/* CF3194 802405C4 44834000 */ mtc1 $v1, $f8 +/* CF3198 802405C8 00000000 */ nop +/* CF319C 802405CC 46804220 */ cvt.s.w $f8, $f8 +/* CF31A0 802405D0 44074000 */ mfc1 $a3, $f8 +/* CF31A4 802405D4 27A20038 */ addiu $v0, $sp, 0x38 +/* CF31A8 802405D8 AFB2001C */ sw $s2, 0x1c($sp) +/* CF31AC 802405DC AFA20020 */ sw $v0, 0x20($sp) +/* CF31B0 802405E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF31B4 802405E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* CF31B8 802405E8 0C01BFA4 */ jal fx_emote +/* CF31BC 802405EC E7A40018 */ swc1 $f4, 0x18($sp) +/* CF31C0 802405F0 0200202D */ daddu $a0, $s0, $zero +/* CF31C4 802405F4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CF31C8 802405F8 C480003C */ lwc1 $f0, 0x3c($a0) +/* CF31CC 802405FC 3C060020 */ lui $a2, 0x20 +/* CF31D0 80240600 0C012530 */ jal func_800494C0 +/* CF31D4 80240604 E4800064 */ swc1 $f0, 0x64($a0) +/* CF31D8 80240608 8E220018 */ lw $v0, 0x18($s1) +/* CF31DC 8024060C 9442002A */ lhu $v0, 0x2a($v0) +/* CF31E0 80240610 30420001 */ andi $v0, $v0, 1 +/* CF31E4 80240614 10400003 */ beqz $v0, .L80240624 +/* CF31E8 80240618 2402000A */ addiu $v0, $zero, 0xa +/* CF31EC 8024061C 080901F9 */ j .L802407E4 +/* CF31F0 80240620 AE620070 */ sw $v0, 0x70($s3) +.L80240624: +/* CF31F4 80240624 080901F9 */ j .L802407E4 +/* CF31F8 80240628 AE720070 */ sw $s2, 0x70($s3) +.L8024062C: +/* CF31FC 8024062C 8E620074 */ lw $v0, 0x74($s3) +/* CF3200 80240630 2442FFFF */ addiu $v0, $v0, -1 +.L80240634: +/* CF3204 80240634 08090190 */ j .L80240640 +/* CF3208 80240638 AE620074 */ sw $v0, 0x74($s3) +.L8024063C: +/* CF320C 8024063C AE220090 */ sw $v0, 0x90($s1) +.L80240640: +/* CF3210 80240640 8E2300D0 */ lw $v1, 0xd0($s1) +/* CF3214 80240644 C6000040 */ lwc1 $f0, 0x40($s0) +/* CF3218 80240648 C4620000 */ lwc1 $f2, ($v1) +/* CF321C 8024064C 468010A0 */ cvt.s.w $f2, $f2 +/* CF3220 80240650 C4640008 */ lwc1 $f4, 8($v1) +/* CF3224 80240654 46802120 */ cvt.s.w $f4, $f4 +/* CF3228 80240658 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF322C 8024065C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF3230 80240660 44051000 */ mfc1 $a1, $f2 +/* CF3234 80240664 C440000C */ lwc1 $f0, 0xc($v0) +/* CF3238 80240668 46800020 */ cvt.s.w $f0, $f0 +/* CF323C 8024066C E7A00014 */ swc1 $f0, 0x14($sp) +/* CF3240 80240670 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF3244 80240674 44062000 */ mfc1 $a2, $f4 +/* CF3248 80240678 C4400010 */ lwc1 $f0, 0x10($v0) +/* CF324C 8024067C 46800020 */ cvt.s.w $f0, $f0 +/* CF3250 80240680 E7A00018 */ swc1 $f0, 0x18($sp) +/* CF3254 80240684 8C640018 */ lw $a0, 0x18($v1) +/* CF3258 80240688 0C0123F5 */ jal is_point_within_region +/* CF325C 8024068C 8E070038 */ lw $a3, 0x38($s0) +/* CF3260 80240690 1040001A */ beqz $v0, .L802406FC +/* CF3264 80240694 00000000 */ nop +/* CF3268 80240698 8E060038 */ lw $a2, 0x38($s0) +/* CF326C 8024069C 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF3270 802406A0 8E070040 */ lw $a3, 0x40($s0) +/* CF3274 802406A4 C44C0000 */ lwc1 $f12, ($v0) +/* CF3278 802406A8 46806320 */ cvt.s.w $f12, $f12 +/* CF327C 802406AC C44E0008 */ lwc1 $f14, 8($v0) +/* CF3280 802406B0 0C00A7B5 */ jal dist2D +/* CF3284 802406B4 468073A0 */ cvt.s.w $f14, $f14 +/* CF3288 802406B8 C6020018 */ lwc1 $f2, 0x18($s0) +/* CF328C 802406BC 4600103C */ c.lt.s $f2, $f0 +/* CF3290 802406C0 00000000 */ nop +/* CF3294 802406C4 4500000D */ bc1f .L802406FC +/* CF3298 802406C8 E7A00034 */ swc1 $f0, 0x34($sp) +/* CF329C 802406CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* CF32A0 802406D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF32A4 802406D4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CF32A8 802406D8 C4480000 */ lwc1 $f8, ($v0) +/* CF32AC 802406DC 46804220 */ cvt.s.w $f8, $f8 +/* CF32B0 802406E0 44064000 */ mfc1 $a2, $f8 +/* CF32B4 802406E4 C4480008 */ lwc1 $f8, 8($v0) +/* CF32B8 802406E8 46804220 */ cvt.s.w $f8, $f8 +/* CF32BC 802406EC 44074000 */ mfc1 $a3, $f8 +/* CF32C0 802406F0 0C00A720 */ jal atan2 +/* CF32C4 802406F4 24140001 */ addiu $s4, $zero, 1 +/* CF32C8 802406F8 E600000C */ swc1 $f0, 0xc($s0) +.L802406FC: +/* CF32CC 802406FC 8E2200D0 */ lw $v0, 0xd0($s1) +/* CF32D0 80240700 8C43000C */ lw $v1, 0xc($v0) +/* CF32D4 80240704 8C420010 */ lw $v0, 0x10($v0) +/* CF32D8 80240708 00621825 */ or $v1, $v1, $v0 +/* CF32DC 8024070C 00741825 */ or $v1, $v1, $s4 +/* CF32E0 80240710 10600008 */ beqz $v1, .L80240734 +/* CF32E4 80240714 00000000 */ nop +/* CF32E8 80240718 8602008C */ lh $v0, 0x8c($s0) +/* CF32EC 8024071C 14400031 */ bnez $v0, .L802407E4 +/* CF32F0 80240720 00000000 */ nop +/* CF32F4 80240724 8E050018 */ lw $a1, 0x18($s0) +/* CF32F8 80240728 8E06000C */ lw $a2, 0xc($s0) +/* CF32FC 8024072C 0C00EA95 */ jal npc_move_heading +/* CF3300 80240730 0200202D */ daddu $a0, $s0, $zero +.L80240734: +/* CF3304 80240734 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF3308 80240738 3C014059 */ lui $at, 0x4059 +/* CF330C 8024073C 44811800 */ mtc1 $at, $f3 +/* CF3310 80240740 44801000 */ mtc1 $zero, $f2 +/* CF3314 80240744 46000021 */ cvt.d.s $f0, $f0 +/* CF3318 80240748 46220002 */ mul.d $f0, $f0, $f2 +/* CF331C 8024074C 00000000 */ nop +/* CF3320 80240750 4620020D */ trunc.w.d $f8, $f0 +/* CF3324 80240754 E628007C */ swc1 $f8, 0x7c($s1) +/* CF3328 80240758 8E420004 */ lw $v0, 4($s2) +/* CF332C 8024075C 18400021 */ blez $v0, .L802407E4 +/* CF3330 80240760 00000000 */ nop +/* CF3334 80240764 8602008E */ lh $v0, 0x8e($s0) +/* CF3338 80240768 9603008E */ lhu $v1, 0x8e($s0) +/* CF333C 8024076C 18400005 */ blez $v0, .L80240784 +/* CF3340 80240770 2462FFFF */ addiu $v0, $v1, -1 +/* CF3344 80240774 A602008E */ sh $v0, 0x8e($s0) +/* CF3348 80240778 00021400 */ sll $v0, $v0, 0x10 +/* CF334C 8024077C 1C400019 */ bgtz $v0, .L802407E4 +/* CF3350 80240780 00000000 */ nop +.L80240784: +/* CF3354 80240784 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CF3358 80240788 24020002 */ addiu $v0, $zero, 2 +/* CF335C 8024078C 0C00A67F */ jal rand_int +/* CF3360 80240790 AE620070 */ sw $v0, 0x70($s3) +/* CF3364 80240794 3C035555 */ lui $v1, 0x5555 +/* CF3368 80240798 34635556 */ ori $v1, $v1, 0x5556 +/* CF336C 8024079C 00430018 */ mult $v0, $v1 +/* CF3370 802407A0 000227C3 */ sra $a0, $v0, 0x1f +/* CF3374 802407A4 00004010 */ mfhi $t0 +/* CF3378 802407A8 01042023 */ subu $a0, $t0, $a0 +/* CF337C 802407AC 00041840 */ sll $v1, $a0, 1 +/* CF3380 802407B0 00641821 */ addu $v1, $v1, $a0 +/* CF3384 802407B4 00431023 */ subu $v0, $v0, $v1 +/* CF3388 802407B8 24430002 */ addiu $v1, $v0, 2 +/* CF338C 802407BC AE630074 */ sw $v1, 0x74($s3) +/* CF3390 802407C0 8E42002C */ lw $v0, 0x2c($s2) +/* CF3394 802407C4 58400007 */ blezl $v0, .L802407E4 +/* CF3398 802407C8 AE600070 */ sw $zero, 0x70($s3) +/* CF339C 802407CC 8E420008 */ lw $v0, 8($s2) +/* CF33A0 802407D0 18400003 */ blez $v0, .L802407E0 +/* CF33A4 802407D4 28620003 */ slti $v0, $v1, 3 +/* CF33A8 802407D8 10400002 */ beqz $v0, .L802407E4 +/* CF33AC 802407DC 00000000 */ nop +.L802407E0: +/* CF33B0 802407E0 AE600070 */ sw $zero, 0x70($s3) +.L802407E4: +/* CF33B4 802407E4 8FBF0058 */ lw $ra, 0x58($sp) +/* CF33B8 802407E8 8FB50054 */ lw $s5, 0x54($sp) +/* CF33BC 802407EC 8FB40050 */ lw $s4, 0x50($sp) +/* CF33C0 802407F0 8FB3004C */ lw $s3, 0x4c($sp) +/* CF33C4 802407F4 8FB20048 */ lw $s2, 0x48($sp) +/* CF33C8 802407F8 8FB10044 */ lw $s1, 0x44($sp) +/* CF33CC 802407FC 8FB00040 */ lw $s0, 0x40($sp) +/* CF33D0 80240800 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CF33D4 80240804 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CF33D8 80240808 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CF33DC 8024080C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CF33E0 80240810 03E00008 */ jr $ra +/* CF33E4 80240814 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240818.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240818.s new file mode 100644 index 0000000000..dbd2db8445 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240818.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240818 +/* CF33E8 80240818 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF33EC 8024081C AFB3001C */ sw $s3, 0x1c($sp) +/* CF33F0 80240820 0080982D */ daddu $s3, $a0, $zero +/* CF33F4 80240824 AFBF0020 */ sw $ra, 0x20($sp) +/* CF33F8 80240828 AFB20018 */ sw $s2, 0x18($sp) +/* CF33FC 8024082C AFB10014 */ sw $s1, 0x14($sp) +/* CF3400 80240830 AFB00010 */ sw $s0, 0x10($sp) +/* CF3404 80240834 8E720148 */ lw $s2, 0x148($s3) +/* CF3408 80240838 86440008 */ lh $a0, 8($s2) +/* CF340C 8024083C 0C00EABB */ jal get_npc_unsafe +/* CF3410 80240840 00A0882D */ daddu $s1, $a1, $zero +/* CF3414 80240844 8E240008 */ lw $a0, 8($s1) +/* CF3418 80240848 0040802D */ daddu $s0, $v0, $zero +/* CF341C 8024084C 00041FC2 */ srl $v1, $a0, 0x1f +/* CF3420 80240850 00832021 */ addu $a0, $a0, $v1 +/* CF3424 80240854 00042043 */ sra $a0, $a0, 1 +/* CF3428 80240858 0C00A67F */ jal rand_int +/* CF342C 8024085C 24840001 */ addiu $a0, $a0, 1 +/* CF3430 80240860 8E230008 */ lw $v1, 8($s1) +/* CF3434 80240864 240400B4 */ addiu $a0, $zero, 0xb4 +/* CF3438 80240868 00032FC2 */ srl $a1, $v1, 0x1f +/* CF343C 8024086C 00651821 */ addu $v1, $v1, $a1 +/* CF3440 80240870 00031843 */ sra $v1, $v1, 1 +/* CF3444 80240874 00621821 */ addu $v1, $v1, $v0 +/* CF3448 80240878 0C00A67F */ jal rand_int +/* CF344C 8024087C A603008E */ sh $v1, 0x8e($s0) +/* CF3450 80240880 C60C000C */ lwc1 $f12, 0xc($s0) +/* CF3454 80240884 44820000 */ mtc1 $v0, $f0 +/* CF3458 80240888 00000000 */ nop +/* CF345C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* CF3460 80240890 46006300 */ add.s $f12, $f12, $f0 +/* CF3464 80240894 3C0142B4 */ lui $at, 0x42b4 +/* CF3468 80240898 44810000 */ mtc1 $at, $f0 +/* CF346C 8024089C 0C00A6C9 */ jal clamp_angle +/* CF3470 802408A0 46006301 */ sub.s $f12, $f12, $f0 +/* CF3474 802408A4 E600000C */ swc1 $f0, 0xc($s0) +/* CF3478 802408A8 8E4200CC */ lw $v0, 0xcc($s2) +/* CF347C 802408AC 8C420000 */ lw $v0, ($v0) +/* CF3480 802408B0 AE020028 */ sw $v0, 0x28($s0) +/* CF3484 802408B4 24020003 */ addiu $v0, $zero, 3 +/* CF3488 802408B8 AE620070 */ sw $v0, 0x70($s3) +/* CF348C 802408BC 8FBF0020 */ lw $ra, 0x20($sp) +/* CF3490 802408C0 8FB3001C */ lw $s3, 0x1c($sp) +/* CF3494 802408C4 8FB20018 */ lw $s2, 0x18($sp) +/* CF3498 802408C8 8FB10014 */ lw $s1, 0x14($sp) +/* CF349C 802408CC 8FB00010 */ lw $s0, 0x10($sp) +/* CF34A0 802408D0 03E00008 */ jr $ra +/* CF34A4 802408D4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_802408D8.s b/asm/nonmatchings/world/area_flo/flo_25/func_802408D8.s new file mode 100644 index 0000000000..a55f8f2870 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_802408D8.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D8 +/* CF34A8 802408D8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* CF34AC 802408DC AFB3004C */ sw $s3, 0x4c($sp) +/* CF34B0 802408E0 0080982D */ daddu $s3, $a0, $zero +/* CF34B4 802408E4 AFBF0054 */ sw $ra, 0x54($sp) +/* CF34B8 802408E8 AFB40050 */ sw $s4, 0x50($sp) +/* CF34BC 802408EC AFB20048 */ sw $s2, 0x48($sp) +/* CF34C0 802408F0 AFB10044 */ sw $s1, 0x44($sp) +/* CF34C4 802408F4 AFB00040 */ sw $s0, 0x40($sp) +/* CF34C8 802408F8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* CF34CC 802408FC F7B80068 */ sdc1 $f24, 0x68($sp) +/* CF34D0 80240900 F7B60060 */ sdc1 $f22, 0x60($sp) +/* CF34D4 80240904 F7B40058 */ sdc1 $f20, 0x58($sp) +/* CF34D8 80240908 8E710148 */ lw $s1, 0x148($s3) +/* CF34DC 8024090C 00A0902D */ daddu $s2, $a1, $zero +/* CF34E0 80240910 86240008 */ lh $a0, 8($s1) +/* CF34E4 80240914 0C00EABB */ jal get_npc_unsafe +/* CF34E8 80240918 00C0A02D */ daddu $s4, $a2, $zero +/* CF34EC 8024091C 0040802D */ daddu $s0, $v0, $zero +/* CF34F0 80240920 C6200078 */ lwc1 $f0, 0x78($s1) +/* CF34F4 80240924 46800020 */ cvt.s.w $f0, $f0 +/* CF34F8 80240928 46000021 */ cvt.d.s $f0, $f0 +/* CF34FC 8024092C 3C014059 */ lui $at, 0x4059 +/* CF3500 80240930 44811800 */ mtc1 $at, $f3 +/* CF3504 80240934 44801000 */ mtc1 $zero, $f2 +/* CF3508 80240938 8602008E */ lh $v0, 0x8e($s0) +/* CF350C 8024093C 9603008E */ lhu $v1, 0x8e($s0) +/* CF3510 80240940 46220003 */ div.d $f0, $f0, $f2 +/* CF3514 80240944 46200620 */ cvt.s.d $f24, $f0 +/* CF3518 80240948 C6200088 */ lwc1 $f0, 0x88($s1) +/* CF351C 8024094C 46800020 */ cvt.s.w $f0, $f0 +/* CF3520 80240950 46000021 */ cvt.d.s $f0, $f0 +/* CF3524 80240954 46220003 */ div.d $f0, $f0, $f2 +/* CF3528 80240958 46200020 */ cvt.s.d $f0, $f0 +/* CF352C 8024095C 18400003 */ blez $v0, .L8024096C +/* CF3530 80240960 4600C680 */ add.s $f26, $f24, $f0 +/* CF3534 80240964 2462FFFF */ addiu $v0, $v1, -1 +/* CF3538 80240968 A602008E */ sh $v0, 0x8e($s0) +.L8024096C: +/* CF353C 8024096C 8E220070 */ lw $v0, 0x70($s1) +/* CF3540 80240970 18400034 */ blez $v0, .L80240A44 +/* CF3544 80240974 00000000 */ nop +/* CF3548 80240978 C62C0074 */ lwc1 $f12, 0x74($s1) +/* CF354C 8024097C 46806320 */ cvt.s.w $f12, $f12 +/* CF3550 80240980 44820000 */ mtc1 $v0, $f0 +/* CF3554 80240984 00000000 */ nop +/* CF3558 80240988 46800020 */ cvt.s.w $f0, $f0 +/* CF355C 8024098C 46000021 */ cvt.d.s $f0, $f0 +/* CF3560 80240990 46220003 */ div.d $f0, $f0, $f2 +/* CF3564 80240994 0C00A8BB */ jal sin_deg +/* CF3568 80240998 462005A0 */ cvt.s.d $f22, $f0 +/* CF356C 8024099C 8E020000 */ lw $v0, ($s0) +/* CF3570 802409A0 30420008 */ andi $v0, $v0, 8 +/* CF3574 802409A4 10400003 */ beqz $v0, .L802409B4 +/* CF3578 802409A8 46000506 */ mov.s $f20, $f0 +/* CF357C 802409AC 0809027D */ j .L802409F4 +/* CF3580 802409B0 0000102D */ daddu $v0, $zero, $zero +.L802409B4: +/* CF3584 802409B4 27A50028 */ addiu $a1, $sp, 0x28 +/* CF3588 802409B8 27A6002C */ addiu $a2, $sp, 0x2c +/* CF358C 802409BC C6000038 */ lwc1 $f0, 0x38($s0) +/* CF3590 802409C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF3594 802409C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* CF3598 802409C8 3C01447A */ lui $at, 0x447a +/* CF359C 802409CC 44813000 */ mtc1 $at, $f6 +/* CF35A0 802409D0 27A20034 */ addiu $v0, $sp, 0x34 +/* CF35A4 802409D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* CF35A8 802409D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* CF35AC 802409DC E7A40030 */ swc1 $f4, 0x30($sp) +/* CF35B0 802409E0 E7A60034 */ swc1 $f6, 0x34($sp) +/* CF35B4 802409E4 AFA20010 */ sw $v0, 0x10($sp) +/* CF35B8 802409E8 8E040080 */ lw $a0, 0x80($s0) +/* CF35BC 802409EC 0C0372DF */ jal func_800DCB7C +/* CF35C0 802409F0 27A70030 */ addiu $a3, $sp, 0x30 +.L802409F4: +/* CF35C4 802409F4 10400007 */ beqz $v0, .L80240A14 +/* CF35C8 802409F8 00000000 */ nop +/* CF35CC 802409FC 4616A082 */ mul.s $f2, $f20, $f22 +/* CF35D0 80240A00 00000000 */ nop +/* CF35D4 80240A04 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* CF35D8 80240A08 46180000 */ add.s $f0, $f0, $f24 +/* CF35DC 80240A0C 08090288 */ j .L80240A20 +/* CF35E0 80240A10 46020000 */ add.s $f0, $f0, $f2 +.L80240A14: +/* CF35E4 80240A14 4616A002 */ mul.s $f0, $f20, $f22 +/* CF35E8 80240A18 00000000 */ nop +/* CF35EC 80240A1C 4600D000 */ add.s $f0, $f26, $f0 +.L80240A20: +/* CF35F0 80240A20 E600003C */ swc1 $f0, 0x3c($s0) +/* CF35F4 80240A24 8E220074 */ lw $v0, 0x74($s1) +/* CF35F8 80240A28 2442000A */ addiu $v0, $v0, 0xa +/* CF35FC 80240A2C 44826000 */ mtc1 $v0, $f12 +/* CF3600 80240A30 00000000 */ nop +/* CF3604 80240A34 0C00A6C9 */ jal clamp_angle +/* CF3608 80240A38 46806320 */ cvt.s.w $f12, $f12 +/* CF360C 80240A3C 4600020D */ trunc.w.s $f8, $f0 +/* CF3610 80240A40 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A44: +/* CF3614 80240A44 8E220090 */ lw $v0, 0x90($s1) +/* CF3618 80240A48 1C400040 */ bgtz $v0, .L80240B4C +/* CF361C 80240A4C 2442FFFF */ addiu $v0, $v0, -1 +/* CF3620 80240A50 860200A8 */ lh $v0, 0xa8($s0) +/* CF3624 80240A54 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF3628 80240A58 44821000 */ mtc1 $v0, $f2 +/* CF362C 80240A5C 00000000 */ nop +/* CF3630 80240A60 468010A0 */ cvt.s.w $f2, $f2 +/* CF3634 80240A64 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF3638 80240A68 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF363C 80240A6C 46020000 */ add.s $f0, $f0, $f2 +/* CF3640 80240A70 3C014024 */ lui $at, 0x4024 +/* CF3644 80240A74 44812800 */ mtc1 $at, $f5 +/* CF3648 80240A78 44802000 */ mtc1 $zero, $f4 +/* CF364C 80240A7C C442002C */ lwc1 $f2, 0x2c($v0) +/* CF3650 80240A80 46000021 */ cvt.d.s $f0, $f0 +/* CF3654 80240A84 46240000 */ add.d $f0, $f0, $f4 +/* CF3658 80240A88 460010A1 */ cvt.d.s $f2, $f2 +/* CF365C 80240A8C 4620103C */ c.lt.d $f2, $f0 +/* CF3660 80240A90 00000000 */ nop +/* CF3664 80240A94 4500002E */ bc1f .L80240B50 +/* CF3668 80240A98 0280202D */ daddu $a0, $s4, $zero +/* CF366C 80240A9C 24020001 */ addiu $v0, $zero, 1 +/* CF3670 80240AA0 AFA20010 */ sw $v0, 0x10($sp) +/* CF3674 80240AA4 8E460024 */ lw $a2, 0x24($s2) +/* CF3678 80240AA8 8E470028 */ lw $a3, 0x28($s2) +/* CF367C 80240AAC 0C01242D */ jal func_800490B4 +/* CF3680 80240AB0 0220282D */ daddu $a1, $s1, $zero +/* CF3684 80240AB4 10400026 */ beqz $v0, .L80240B50 +/* CF3688 80240AB8 0000202D */ daddu $a0, $zero, $zero +/* CF368C 80240ABC 0200282D */ daddu $a1, $s0, $zero +/* CF3690 80240AC0 0000302D */ daddu $a2, $zero, $zero +/* CF3694 80240AC4 2412000C */ addiu $s2, $zero, 0xc +/* CF3698 80240AC8 860300A8 */ lh $v1, 0xa8($s0) +/* CF369C 80240ACC 3C013F80 */ lui $at, 0x3f80 +/* CF36A0 80240AD0 44810000 */ mtc1 $at, $f0 +/* CF36A4 80240AD4 3C014000 */ lui $at, 0x4000 +/* CF36A8 80240AD8 44811000 */ mtc1 $at, $f2 +/* CF36AC 80240ADC 3C01C1A0 */ lui $at, 0xc1a0 +/* CF36B0 80240AE0 44812000 */ mtc1 $at, $f4 +/* CF36B4 80240AE4 44834000 */ mtc1 $v1, $f8 +/* CF36B8 80240AE8 00000000 */ nop +/* CF36BC 80240AEC 46804220 */ cvt.s.w $f8, $f8 +/* CF36C0 80240AF0 44074000 */ mfc1 $a3, $f8 +/* CF36C4 80240AF4 27A20038 */ addiu $v0, $sp, 0x38 +/* CF36C8 80240AF8 AFB2001C */ sw $s2, 0x1c($sp) +/* CF36CC 80240AFC AFA20020 */ sw $v0, 0x20($sp) +/* CF36D0 80240B00 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF36D4 80240B04 E7A20014 */ swc1 $f2, 0x14($sp) +/* CF36D8 80240B08 0C01BFA4 */ jal fx_emote +/* CF36DC 80240B0C E7A40018 */ swc1 $f4, 0x18($sp) +/* CF36E0 80240B10 0200202D */ daddu $a0, $s0, $zero +/* CF36E4 80240B14 240502F4 */ addiu $a1, $zero, 0x2f4 +/* CF36E8 80240B18 C480003C */ lwc1 $f0, 0x3c($a0) +/* CF36EC 80240B1C 3C060020 */ lui $a2, 0x20 +/* CF36F0 80240B20 0C012530 */ jal func_800494C0 +/* CF36F4 80240B24 E4800064 */ swc1 $f0, 0x64($a0) +/* CF36F8 80240B28 8E220018 */ lw $v0, 0x18($s1) +/* CF36FC 80240B2C 9442002A */ lhu $v0, 0x2a($v0) +/* CF3700 80240B30 30420001 */ andi $v0, $v0, 1 +/* CF3704 80240B34 10400003 */ beqz $v0, .L80240B44 +/* CF3708 80240B38 2402000A */ addiu $v0, $zero, 0xa +/* CF370C 80240B3C 080902FB */ j .L80240BEC +/* CF3710 80240B40 AE620070 */ sw $v0, 0x70($s3) +.L80240B44: +/* CF3714 80240B44 080902FB */ j .L80240BEC +/* CF3718 80240B48 AE720070 */ sw $s2, 0x70($s3) +.L80240B4C: +/* CF371C 80240B4C AE220090 */ sw $v0, 0x90($s1) +.L80240B50: +/* CF3720 80240B50 8602008C */ lh $v0, 0x8c($s0) +/* CF3724 80240B54 14400025 */ bnez $v0, .L80240BEC +/* CF3728 80240B58 00000000 */ nop +/* CF372C 80240B5C 8602008E */ lh $v0, 0x8e($s0) +/* CF3730 80240B60 1C400022 */ bgtz $v0, .L80240BEC +/* CF3734 80240B64 00000000 */ nop +/* CF3738 80240B68 8E620074 */ lw $v0, 0x74($s3) +/* CF373C 80240B6C 2442FFFF */ addiu $v0, $v0, -1 +/* CF3740 80240B70 1840001D */ blez $v0, .L80240BE8 +/* CF3744 80240B74 AE620074 */ sw $v0, 0x74($s3) +/* CF3748 80240B78 8E220018 */ lw $v0, 0x18($s1) +/* CF374C 80240B7C 9442002A */ lhu $v0, 0x2a($v0) +/* CF3750 80240B80 30420010 */ andi $v0, $v0, 0x10 +/* CF3754 80240B84 14400007 */ bnez $v0, .L80240BA4 +/* CF3758 80240B88 00000000 */ nop +/* CF375C 80240B8C C600000C */ lwc1 $f0, 0xc($s0) +/* CF3760 80240B90 3C014334 */ lui $at, 0x4334 +/* CF3764 80240B94 44816000 */ mtc1 $at, $f12 +/* CF3768 80240B98 0C00A6C9 */ jal clamp_angle +/* CF376C 80240B9C 460C0300 */ add.s $f12, $f0, $f12 +/* CF3770 80240BA0 E600000C */ swc1 $f0, 0xc($s0) +.L80240BA4: +/* CF3774 80240BA4 0C00A67F */ jal rand_int +/* CF3778 80240BA8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* CF377C 80240BAC 3C032E8B */ lui $v1, 0x2e8b +/* CF3780 80240BB0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* CF3784 80240BB4 00430018 */ mult $v0, $v1 +/* CF3788 80240BB8 00021FC3 */ sra $v1, $v0, 0x1f +/* CF378C 80240BBC 00004010 */ mfhi $t0 +/* CF3790 80240BC0 00082043 */ sra $a0, $t0, 1 +/* CF3794 80240BC4 00832023 */ subu $a0, $a0, $v1 +/* CF3798 80240BC8 00041840 */ sll $v1, $a0, 1 +/* CF379C 80240BCC 00641821 */ addu $v1, $v1, $a0 +/* CF37A0 80240BD0 00031880 */ sll $v1, $v1, 2 +/* CF37A4 80240BD4 00641823 */ subu $v1, $v1, $a0 +/* CF37A8 80240BD8 00431023 */ subu $v0, $v0, $v1 +/* CF37AC 80240BDC 24420005 */ addiu $v0, $v0, 5 +/* CF37B0 80240BE0 080902FB */ j .L80240BEC +/* CF37B4 80240BE4 A602008E */ sh $v0, 0x8e($s0) +.L80240BE8: +/* CF37B8 80240BE8 AE600070 */ sw $zero, 0x70($s3) +.L80240BEC: +/* CF37BC 80240BEC 8FBF0054 */ lw $ra, 0x54($sp) +/* CF37C0 80240BF0 8FB40050 */ lw $s4, 0x50($sp) +/* CF37C4 80240BF4 8FB3004C */ lw $s3, 0x4c($sp) +/* CF37C8 80240BF8 8FB20048 */ lw $s2, 0x48($sp) +/* CF37CC 80240BFC 8FB10044 */ lw $s1, 0x44($sp) +/* CF37D0 80240C00 8FB00040 */ lw $s0, 0x40($sp) +/* CF37D4 80240C04 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* CF37D8 80240C08 D7B80068 */ ldc1 $f24, 0x68($sp) +/* CF37DC 80240C0C D7B60060 */ ldc1 $f22, 0x60($sp) +/* CF37E0 80240C10 D7B40058 */ ldc1 $f20, 0x58($sp) +/* CF37E4 80240C14 03E00008 */ jr $ra +/* CF37E8 80240C18 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240C1C_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240C1C_CF2BD0.s new file mode 100644 index 0000000000..0450f09162 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240C1C_CF2BD0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C1C_CF37EC +/* CF37EC 80240C1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF37F0 80240C20 AFB20018 */ sw $s2, 0x18($sp) +/* CF37F4 80240C24 0080902D */ daddu $s2, $a0, $zero +/* CF37F8 80240C28 AFBF001C */ sw $ra, 0x1c($sp) +/* CF37FC 80240C2C AFB10014 */ sw $s1, 0x14($sp) +/* CF3800 80240C30 AFB00010 */ sw $s0, 0x10($sp) +/* CF3804 80240C34 8E510148 */ lw $s1, 0x148($s2) +/* CF3808 80240C38 0C00EABB */ jal get_npc_unsafe +/* CF380C 80240C3C 86240008 */ lh $a0, 8($s1) +/* CF3810 80240C40 0040802D */ daddu $s0, $v0, $zero +/* CF3814 80240C44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF3818 80240C48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF381C 80240C4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* CF3820 80240C50 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CF3824 80240C54 A600008E */ sh $zero, 0x8e($s0) +/* CF3828 80240C58 8C460028 */ lw $a2, 0x28($v0) +/* CF382C 80240C5C 0C00A720 */ jal atan2 +/* CF3830 80240C60 8C470030 */ lw $a3, 0x30($v0) +/* CF3834 80240C64 E600000C */ swc1 $f0, 0xc($s0) +/* CF3838 80240C68 8E2200CC */ lw $v0, 0xcc($s1) +/* CF383C 80240C6C 8C420020 */ lw $v0, 0x20($v0) +/* CF3840 80240C70 AE020028 */ sw $v0, 0x28($s0) +/* CF3844 80240C74 2402000B */ addiu $v0, $zero, 0xb +/* CF3848 80240C78 AE420070 */ sw $v0, 0x70($s2) +/* CF384C 80240C7C 8FBF001C */ lw $ra, 0x1c($sp) +/* CF3850 80240C80 8FB20018 */ lw $s2, 0x18($sp) +/* CF3854 80240C84 8FB10014 */ lw $s1, 0x14($sp) +/* CF3858 80240C88 8FB00010 */ lw $s0, 0x10($sp) +/* CF385C 80240C8C 03E00008 */ jr $ra +/* CF3860 80240C90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240C94_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240C94_CF2BD0.s new file mode 100644 index 0000000000..079faf0e99 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240C94_CF2BD0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C94_CF3864 +/* CF3864 80240C94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF3868 80240C98 AFB00010 */ sw $s0, 0x10($sp) +/* CF386C 80240C9C 0080802D */ daddu $s0, $a0, $zero +/* CF3870 80240CA0 AFBF0014 */ sw $ra, 0x14($sp) +/* CF3874 80240CA4 8E020148 */ lw $v0, 0x148($s0) +/* CF3878 80240CA8 0C00EABB */ jal get_npc_unsafe +/* CF387C 80240CAC 84440008 */ lh $a0, 8($v0) +/* CF3880 80240CB0 9443008E */ lhu $v1, 0x8e($v0) +/* CF3884 80240CB4 C440003C */ lwc1 $f0, 0x3c($v0) +/* CF3888 80240CB8 24640001 */ addiu $a0, $v1, 1 +/* CF388C 80240CBC 00031C00 */ sll $v1, $v1, 0x10 +/* CF3890 80240CC0 00031B83 */ sra $v1, $v1, 0xe +/* CF3894 80240CC4 A444008E */ sh $a0, 0x8e($v0) +/* CF3898 80240CC8 3C018024 */ lui $at, 0x8024 +/* CF389C 80240CCC 00230821 */ addu $at, $at, $v1 +/* CF38A0 80240CD0 C422291C */ lwc1 $f2, 0x291c($at) +/* CF38A4 80240CD4 8443008E */ lh $v1, 0x8e($v0) +/* CF38A8 80240CD8 46020000 */ add.s $f0, $f0, $f2 +/* CF38AC 80240CDC 28630005 */ slti $v1, $v1, 5 +/* CF38B0 80240CE0 14600003 */ bnez $v1, .L80240CF0 +/* CF38B4 80240CE4 E440003C */ swc1 $f0, 0x3c($v0) +/* CF38B8 80240CE8 2402000C */ addiu $v0, $zero, 0xc +/* CF38BC 80240CEC AE020070 */ sw $v0, 0x70($s0) +.L80240CF0: +/* CF38C0 80240CF0 8FBF0014 */ lw $ra, 0x14($sp) +/* CF38C4 80240CF4 8FB00010 */ lw $s0, 0x10($sp) +/* CF38C8 80240CF8 03E00008 */ jr $ra +/* CF38CC 80240CFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240D00_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240D00_CF2BD0.s new file mode 100644 index 0000000000..294fa3a1c3 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240D00_CF2BD0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D00_CF38D0 +/* CF38D0 80240D00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF38D4 80240D04 AFB3001C */ sw $s3, 0x1c($sp) +/* CF38D8 80240D08 0080982D */ daddu $s3, $a0, $zero +/* CF38DC 80240D0C AFBF0020 */ sw $ra, 0x20($sp) +/* CF38E0 80240D10 AFB20018 */ sw $s2, 0x18($sp) +/* CF38E4 80240D14 AFB10014 */ sw $s1, 0x14($sp) +/* CF38E8 80240D18 AFB00010 */ sw $s0, 0x10($sp) +/* CF38EC 80240D1C 8E720148 */ lw $s2, 0x148($s3) +/* CF38F0 80240D20 86440008 */ lh $a0, 8($s2) +/* CF38F4 80240D24 0C00EABB */ jal get_npc_unsafe +/* CF38F8 80240D28 00A0802D */ daddu $s0, $a1, $zero +/* CF38FC 80240D2C 0040882D */ daddu $s1, $v0, $zero +/* CF3900 80240D30 C6420080 */ lwc1 $f2, 0x80($s2) +/* CF3904 80240D34 468010A0 */ cvt.s.w $f2, $f2 +/* CF3908 80240D38 460010A1 */ cvt.d.s $f2, $f2 +/* CF390C 80240D3C C6400084 */ lwc1 $f0, 0x84($s2) +/* CF3910 80240D40 46800020 */ cvt.s.w $f0, $f0 +/* CF3914 80240D44 46000021 */ cvt.d.s $f0, $f0 +/* CF3918 80240D48 3C014059 */ lui $at, 0x4059 +/* CF391C 80240D4C 44812800 */ mtc1 $at, $f5 +/* CF3920 80240D50 44802000 */ mtc1 $zero, $f4 +/* CF3924 80240D54 8E4200CC */ lw $v0, 0xcc($s2) +/* CF3928 80240D58 C62C0038 */ lwc1 $f12, 0x38($s1) +/* CF392C 80240D5C C62E0040 */ lwc1 $f14, 0x40($s1) +/* CF3930 80240D60 46241083 */ div.d $f2, $f2, $f4 +/* CF3934 80240D64 462010A0 */ cvt.s.d $f2, $f2 +/* CF3938 80240D68 46240003 */ div.d $f0, $f0, $f4 +/* CF393C 80240D6C 8C420020 */ lw $v0, 0x20($v0) +/* CF3940 80240D70 46200020 */ cvt.s.d $f0, $f0 +/* CF3944 80240D74 E622001C */ swc1 $f2, 0x1c($s1) +/* CF3948 80240D78 E6200014 */ swc1 $f0, 0x14($s1) +/* CF394C 80240D7C AE220028 */ sw $v0, 0x28($s1) +/* CF3950 80240D80 C6000018 */ lwc1 $f0, 0x18($s0) +/* CF3954 80240D84 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF3958 80240D88 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF395C 80240D8C E6200018 */ swc1 $f0, 0x18($s1) +/* CF3960 80240D90 8C460028 */ lw $a2, 0x28($v0) +/* CF3964 80240D94 0C00A720 */ jal atan2 +/* CF3968 80240D98 8C470030 */ lw $a3, 0x30($v0) +/* CF396C 80240D9C E620000C */ swc1 $f0, 0xc($s1) +/* CF3970 80240DA0 8E420018 */ lw $v0, 0x18($s2) +/* CF3974 80240DA4 AE400074 */ sw $zero, 0x74($s2) +/* CF3978 80240DA8 9442002A */ lhu $v0, 0x2a($v0) +/* CF397C 80240DAC 30420002 */ andi $v0, $v0, 2 +/* CF3980 80240DB0 10400005 */ beqz $v0, .L80240DC8 +/* CF3984 80240DB4 24020003 */ addiu $v0, $zero, 3 +/* CF3988 80240DB8 A622008E */ sh $v0, 0x8e($s1) +/* CF398C 80240DBC 2402000D */ addiu $v0, $zero, 0xd +/* CF3990 80240DC0 08090386 */ j .L80240E18 +/* CF3994 80240DC4 AE620070 */ sw $v0, 0x70($s3) +.L80240DC8: +/* CF3998 80240DC8 24030001 */ addiu $v1, $zero, 1 +/* CF399C 80240DCC 2402000E */ addiu $v0, $zero, 0xe +/* CF39A0 80240DD0 A623008E */ sh $v1, 0x8e($s1) +/* CF39A4 80240DD4 AE620070 */ sw $v0, 0x70($s3) +/* CF39A8 80240DD8 C6200038 */ lwc1 $f0, 0x38($s1) +/* CF39AC 80240DDC 4600018D */ trunc.w.s $f6, $f0 +/* CF39B0 80240DE0 44023000 */ mfc1 $v0, $f6 +/* CF39B4 80240DE4 00000000 */ nop +/* CF39B8 80240DE8 A6420010 */ sh $v0, 0x10($s2) +/* CF39BC 80240DEC C620003C */ lwc1 $f0, 0x3c($s1) +/* CF39C0 80240DF0 4600018D */ trunc.w.s $f6, $f0 +/* CF39C4 80240DF4 44023000 */ mfc1 $v0, $f6 +/* CF39C8 80240DF8 00000000 */ nop +/* CF39CC 80240DFC A6420012 */ sh $v0, 0x12($s2) +/* CF39D0 80240E00 C6200040 */ lwc1 $f0, 0x40($s1) +/* CF39D4 80240E04 A2430007 */ sb $v1, 7($s2) +/* CF39D8 80240E08 4600018D */ trunc.w.s $f6, $f0 +/* CF39DC 80240E0C 44023000 */ mfc1 $v0, $f6 +/* CF39E0 80240E10 00000000 */ nop +/* CF39E4 80240E14 A6420014 */ sh $v0, 0x14($s2) +.L80240E18: +/* CF39E8 80240E18 8FBF0020 */ lw $ra, 0x20($sp) +/* CF39EC 80240E1C 8FB3001C */ lw $s3, 0x1c($sp) +/* CF39F0 80240E20 8FB20018 */ lw $s2, 0x18($sp) +/* CF39F4 80240E24 8FB10014 */ lw $s1, 0x14($sp) +/* CF39F8 80240E28 8FB00010 */ lw $s0, 0x10($sp) +/* CF39FC 80240E2C 03E00008 */ jr $ra +/* CF3A00 80240E30 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240E34_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240E34_CF2BD0.s new file mode 100644 index 0000000000..31b08adfb8 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240E34_CF2BD0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E34_CF3A04 +/* CF3A04 80240E34 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF3A08 80240E38 AFB00010 */ sw $s0, 0x10($sp) +/* CF3A0C 80240E3C 0080802D */ daddu $s0, $a0, $zero +/* CF3A10 80240E40 AFBF0014 */ sw $ra, 0x14($sp) +/* CF3A14 80240E44 8E020148 */ lw $v0, 0x148($s0) +/* CF3A18 80240E48 0C00EABB */ jal get_npc_unsafe +/* CF3A1C 80240E4C 84440008 */ lh $a0, 8($v0) +/* CF3A20 80240E50 0040202D */ daddu $a0, $v0, $zero +/* CF3A24 80240E54 8482008E */ lh $v0, 0x8e($a0) +/* CF3A28 80240E58 9483008E */ lhu $v1, 0x8e($a0) +/* CF3A2C 80240E5C 18400005 */ blez $v0, .L80240E74 +/* CF3A30 80240E60 2462FFFF */ addiu $v0, $v1, -1 +/* CF3A34 80240E64 A482008E */ sh $v0, 0x8e($a0) +/* CF3A38 80240E68 00021400 */ sll $v0, $v0, 0x10 +/* CF3A3C 80240E6C 1C400006 */ bgtz $v0, .L80240E88 +/* CF3A40 80240E70 00000000 */ nop +.L80240E74: +/* CF3A44 80240E74 8482008C */ lh $v0, 0x8c($a0) +/* CF3A48 80240E78 14400003 */ bnez $v0, .L80240E88 +/* CF3A4C 80240E7C 2402000E */ addiu $v0, $zero, 0xe +/* CF3A50 80240E80 A480008E */ sh $zero, 0x8e($a0) +/* CF3A54 80240E84 AE020070 */ sw $v0, 0x70($s0) +.L80240E88: +/* CF3A58 80240E88 8FBF0014 */ lw $ra, 0x14($sp) +/* CF3A5C 80240E8C 8FB00010 */ lw $s0, 0x10($sp) +/* CF3A60 80240E90 03E00008 */ jr $ra +/* CF3A64 80240E94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80240E98_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80240E98_CF2BD0.s new file mode 100644 index 0000000000..f5d4f90c2b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80240E98_CF2BD0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E98_CF3A68 +/* CF3A68 80240E98 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF3A6C 80240E9C AFB20030 */ sw $s2, 0x30($sp) +/* CF3A70 80240EA0 0080902D */ daddu $s2, $a0, $zero +/* CF3A74 80240EA4 AFBF0038 */ sw $ra, 0x38($sp) +/* CF3A78 80240EA8 AFB30034 */ sw $s3, 0x34($sp) +/* CF3A7C 80240EAC AFB1002C */ sw $s1, 0x2c($sp) +/* CF3A80 80240EB0 AFB00028 */ sw $s0, 0x28($sp) +/* CF3A84 80240EB4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* CF3A88 80240EB8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* CF3A8C 80240EBC 8E510148 */ lw $s1, 0x148($s2) +/* CF3A90 80240EC0 86240008 */ lh $a0, 8($s1) +/* CF3A94 80240EC4 0C00EABB */ jal get_npc_unsafe +/* CF3A98 80240EC8 00A0982D */ daddu $s3, $a1, $zero +/* CF3A9C 80240ECC 0040802D */ daddu $s0, $v0, $zero +/* CF3AA0 80240ED0 0200202D */ daddu $a0, $s0, $zero +/* CF3AA4 80240ED4 C6220088 */ lwc1 $f2, 0x88($s1) +/* CF3AA8 80240ED8 468010A0 */ cvt.s.w $f2, $f2 +/* CF3AAC 80240EDC 460010A1 */ cvt.d.s $f2, $f2 +/* CF3AB0 80240EE0 C604001C */ lwc1 $f4, 0x1c($s0) +/* CF3AB4 80240EE4 C6000014 */ lwc1 $f0, 0x14($s0) +/* CF3AB8 80240EE8 8E050018 */ lw $a1, 0x18($s0) +/* CF3ABC 80240EEC 46002100 */ add.s $f4, $f4, $f0 +/* CF3AC0 80240EF0 8E06000C */ lw $a2, 0xc($s0) +/* CF3AC4 80240EF4 C6200078 */ lwc1 $f0, 0x78($s1) +/* CF3AC8 80240EF8 46800020 */ cvt.s.w $f0, $f0 +/* CF3ACC 80240EFC E604001C */ swc1 $f4, 0x1c($s0) +/* CF3AD0 80240F00 3C014059 */ lui $at, 0x4059 +/* CF3AD4 80240F04 44812800 */ mtc1 $at, $f5 +/* CF3AD8 80240F08 44802000 */ mtc1 $zero, $f4 +/* CF3ADC 80240F0C 46000021 */ cvt.d.s $f0, $f0 +/* CF3AE0 80240F10 46240003 */ div.d $f0, $f0, $f4 +/* CF3AE4 80240F14 46200520 */ cvt.s.d $f20, $f0 +/* CF3AE8 80240F18 46241083 */ div.d $f2, $f2, $f4 +/* CF3AEC 80240F1C 0C00EA95 */ jal npc_move_heading +/* CF3AF0 80240F20 462015A0 */ cvt.s.d $f22, $f2 +/* CF3AF4 80240F24 C604001C */ lwc1 $f4, 0x1c($s0) +/* CF3AF8 80240F28 44801000 */ mtc1 $zero, $f2 +/* CF3AFC 80240F2C 44801800 */ mtc1 $zero, $f3 +/* CF3B00 80240F30 46002021 */ cvt.d.s $f0, $f4 +/* CF3B04 80240F34 4620103E */ c.le.d $f2, $f0 +/* CF3B08 80240F38 00000000 */ nop +/* CF3B0C 80240F3C 45000030 */ bc1f .L80241000 +/* CF3B10 80240F40 00000000 */ nop +/* CF3B14 80240F44 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF3B18 80240F48 46040000 */ add.s $f0, $f0, $f4 +/* CF3B1C 80240F4C E600003C */ swc1 $f0, 0x3c($s0) +/* CF3B20 80240F50 8E2200CC */ lw $v0, 0xcc($s1) +/* CF3B24 80240F54 8C420024 */ lw $v0, 0x24($v0) +/* CF3B28 80240F58 AE020028 */ sw $v0, 0x28($s0) +/* CF3B2C 80240F5C A2200007 */ sb $zero, 7($s1) +/* CF3B30 80240F60 8E020000 */ lw $v0, ($s0) +/* CF3B34 80240F64 30420008 */ andi $v0, $v0, 8 +/* CF3B38 80240F68 14400011 */ bnez $v0, .L80240FB0 +/* CF3B3C 80240F6C 0000102D */ daddu $v0, $zero, $zero +/* CF3B40 80240F70 27A50018 */ addiu $a1, $sp, 0x18 +/* CF3B44 80240F74 27A6001C */ addiu $a2, $sp, 0x1c +/* CF3B48 80240F78 C6000038 */ lwc1 $f0, 0x38($s0) +/* CF3B4C 80240F7C C602003C */ lwc1 $f2, 0x3c($s0) +/* CF3B50 80240F80 C6040040 */ lwc1 $f4, 0x40($s0) +/* CF3B54 80240F84 3C01447A */ lui $at, 0x447a +/* CF3B58 80240F88 44813000 */ mtc1 $at, $f6 +/* CF3B5C 80240F8C 27A20024 */ addiu $v0, $sp, 0x24 +/* CF3B60 80240F90 E7A00018 */ swc1 $f0, 0x18($sp) +/* CF3B64 80240F94 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CF3B68 80240F98 E7A40020 */ swc1 $f4, 0x20($sp) +/* CF3B6C 80240F9C E7A60024 */ swc1 $f6, 0x24($sp) +/* CF3B70 80240FA0 AFA20010 */ sw $v0, 0x10($sp) +/* CF3B74 80240FA4 8E040080 */ lw $a0, 0x80($s0) +/* CF3B78 80240FA8 0C0372DF */ jal func_800DCB7C +/* CF3B7C 80240FAC 27A70020 */ addiu $a3, $sp, 0x20 +.L80240FB0: +/* CF3B80 80240FB0 1040000B */ beqz $v0, .L80240FE0 +/* CF3B84 80240FB4 00000000 */ nop +/* CF3B88 80240FB8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CF3B8C 80240FBC 46140080 */ add.s $f2, $f0, $f20 +/* CF3B90 80240FC0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF3B94 80240FC4 4600103E */ c.le.s $f2, $f0 +/* CF3B98 80240FC8 00000000 */ nop +/* CF3B9C 80240FCC 4500008D */ bc1f .L80241204 +/* CF3BA0 80240FD0 00000000 */ nop +/* CF3BA4 80240FD4 E602003C */ swc1 $f2, 0x3c($s0) +/* CF3BA8 80240FD8 08090481 */ j .L80241204 +/* CF3BAC 80240FDC AE400070 */ sw $zero, 0x70($s2) +.L80240FE0: +/* CF3BB0 80240FE0 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF3BB4 80240FE4 C6000064 */ lwc1 $f0, 0x64($s0) +/* CF3BB8 80240FE8 4602003E */ c.le.s $f0, $f2 +/* CF3BBC 80240FEC 00000000 */ nop +/* CF3BC0 80240FF0 45030084 */ bc1tl .L80241204 +/* CF3BC4 80240FF4 AE400070 */ sw $zero, 0x70($s2) +/* CF3BC8 80240FF8 08090481 */ j .L80241204 +/* CF3BCC 80240FFC 00000000 */ nop +.L80241000: +/* CF3BD0 80241000 4622003C */ c.lt.d $f0, $f2 +/* CF3BD4 80241004 00000000 */ nop +/* CF3BD8 80241008 4500007E */ bc1f .L80241204 +/* CF3BDC 8024100C 00000000 */ nop +/* CF3BE0 80241010 9602008E */ lhu $v0, 0x8e($s0) +/* CF3BE4 80241014 24420001 */ addiu $v0, $v0, 1 +/* CF3BE8 80241018 A602008E */ sh $v0, 0x8e($s0) +/* CF3BEC 8024101C 00021400 */ sll $v0, $v0, 0x10 +/* CF3BF0 80241020 8E630020 */ lw $v1, 0x20($s3) +/* CF3BF4 80241024 00021403 */ sra $v0, $v0, 0x10 +/* CF3BF8 80241028 0043102A */ slt $v0, $v0, $v1 +/* CF3BFC 8024102C 14400026 */ bnez $v0, .L802410C8 +/* CF3C00 80241030 00000000 */ nop +/* CF3C04 80241034 C60C0038 */ lwc1 $f12, 0x38($s0) +/* CF3C08 80241038 C60E0040 */ lwc1 $f14, 0x40($s0) +/* CF3C0C 8024103C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF3C10 80241040 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF3C14 80241044 A600008E */ sh $zero, 0x8e($s0) +/* CF3C18 80241048 8C460028 */ lw $a2, 0x28($v0) +/* CF3C1C 8024104C 0C00A720 */ jal atan2 +/* CF3C20 80241050 8C470030 */ lw $a3, 0x30($v0) +/* CF3C24 80241054 46000506 */ mov.s $f20, $f0 +/* CF3C28 80241058 C60C000C */ lwc1 $f12, 0xc($s0) +/* CF3C2C 8024105C 0C00A70A */ jal get_clamped_angle_diff +/* CF3C30 80241060 4600A386 */ mov.s $f14, $f20 +/* CF3C34 80241064 46000086 */ mov.s $f2, $f0 +/* CF3C38 80241068 8E62001C */ lw $v0, 0x1c($s3) +/* CF3C3C 8024106C 46001005 */ abs.s $f0, $f2 +/* CF3C40 80241070 44822000 */ mtc1 $v0, $f4 +/* CF3C44 80241074 00000000 */ nop +/* CF3C48 80241078 46802120 */ cvt.s.w $f4, $f4 +/* CF3C4C 8024107C 4600203C */ c.lt.s $f4, $f0 +/* CF3C50 80241080 00000000 */ nop +/* CF3C54 80241084 4500000D */ bc1f .L802410BC +/* CF3C58 80241088 00000000 */ nop +/* CF3C5C 8024108C 44800000 */ mtc1 $zero, $f0 +/* CF3C60 80241090 C614000C */ lwc1 $f20, 0xc($s0) +/* CF3C64 80241094 4600103C */ c.lt.s $f2, $f0 +/* CF3C68 80241098 00000000 */ nop +/* CF3C6C 8024109C 45000006 */ bc1f .L802410B8 +/* CF3C70 802410A0 00021023 */ negu $v0, $v0 +/* CF3C74 802410A4 44820000 */ mtc1 $v0, $f0 +/* CF3C78 802410A8 00000000 */ nop +/* CF3C7C 802410AC 46800020 */ cvt.s.w $f0, $f0 +/* CF3C80 802410B0 0809042F */ j .L802410BC +/* CF3C84 802410B4 4600A500 */ add.s $f20, $f20, $f0 +.L802410B8: +/* CF3C88 802410B8 4604A500 */ add.s $f20, $f20, $f4 +.L802410BC: +/* CF3C8C 802410BC 0C00A6C9 */ jal clamp_angle +/* CF3C90 802410C0 4600A306 */ mov.s $f12, $f20 +/* CF3C94 802410C4 E600000C */ swc1 $f0, 0xc($s0) +.L802410C8: +/* CF3C98 802410C8 8E020000 */ lw $v0, ($s0) +/* CF3C9C 802410CC 30420008 */ andi $v0, $v0, 8 +/* CF3CA0 802410D0 1040000A */ beqz $v0, .L802410FC +/* CF3CA4 802410D4 27A50018 */ addiu $a1, $sp, 0x18 +/* CF3CA8 802410D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* CF3CAC 802410DC C600001C */ lwc1 $f0, 0x1c($s0) +/* CF3CB0 802410E0 46001080 */ add.s $f2, $f2, $f0 +/* CF3CB4 802410E4 4616103C */ c.lt.s $f2, $f22 +/* CF3CB8 802410E8 00000000 */ nop +/* CF3CBC 802410EC 45020045 */ bc1fl .L80241204 +/* CF3CC0 802410F0 E602003C */ swc1 $f2, 0x3c($s0) +/* CF3CC4 802410F4 08090480 */ j .L80241200 +/* CF3CC8 802410F8 E616003C */ swc1 $f22, 0x3c($s0) +.L802410FC: +/* CF3CCC 802410FC C6000038 */ lwc1 $f0, 0x38($s0) +/* CF3CD0 80241100 27A6001C */ addiu $a2, $sp, 0x1c +/* CF3CD4 80241104 E7A00018 */ swc1 $f0, 0x18($sp) +/* CF3CD8 80241108 860200A8 */ lh $v0, 0xa8($s0) +/* CF3CDC 8024110C C600001C */ lwc1 $f0, 0x1c($s0) +/* CF3CE0 80241110 C604003C */ lwc1 $f4, 0x3c($s0) +/* CF3CE4 80241114 44821000 */ mtc1 $v0, $f2 +/* CF3CE8 80241118 00000000 */ nop +/* CF3CEC 8024111C 468010A0 */ cvt.s.w $f2, $f2 +/* CF3CF0 80241120 46000005 */ abs.s $f0, $f0 +/* CF3CF4 80241124 46020000 */ add.s $f0, $f0, $f2 +/* CF3CF8 80241128 C6060040 */ lwc1 $f6, 0x40($s0) +/* CF3CFC 8024112C 27A20024 */ addiu $v0, $sp, 0x24 +/* CF3D00 80241130 46022100 */ add.s $f4, $f4, $f2 +/* CF3D04 80241134 3C014024 */ lui $at, 0x4024 +/* CF3D08 80241138 44811800 */ mtc1 $at, $f3 +/* CF3D0C 8024113C 44801000 */ mtc1 $zero, $f2 +/* CF3D10 80241140 46000021 */ cvt.d.s $f0, $f0 +/* CF3D14 80241144 46220000 */ add.d $f0, $f0, $f2 +/* CF3D18 80241148 E7A60020 */ swc1 $f6, 0x20($sp) +/* CF3D1C 8024114C E7A4001C */ swc1 $f4, 0x1c($sp) +/* CF3D20 80241150 46200020 */ cvt.s.d $f0, $f0 +/* CF3D24 80241154 E7A00024 */ swc1 $f0, 0x24($sp) +/* CF3D28 80241158 AFA20010 */ sw $v0, 0x10($sp) +/* CF3D2C 8024115C 8E040080 */ lw $a0, 0x80($s0) +/* CF3D30 80241160 0C0372DF */ jal func_800DCB7C +/* CF3D34 80241164 27A70020 */ addiu $a3, $sp, 0x20 +/* CF3D38 80241168 10400015 */ beqz $v0, .L802411C0 +/* CF3D3C 8024116C 00000000 */ nop +/* CF3D40 80241170 860200A8 */ lh $v0, 0xa8($s0) +/* CF3D44 80241174 C604001C */ lwc1 $f4, 0x1c($s0) +/* CF3D48 80241178 44820000 */ mtc1 $v0, $f0 +/* CF3D4C 8024117C 00000000 */ nop +/* CF3D50 80241180 46800020 */ cvt.s.w $f0, $f0 +/* CF3D54 80241184 46002085 */ abs.s $f2, $f4 +/* CF3D58 80241188 46020000 */ add.s $f0, $f0, $f2 +/* CF3D5C 8024118C C7A20024 */ lwc1 $f2, 0x24($sp) +/* CF3D60 80241190 4600103E */ c.le.s $f2, $f0 +/* CF3D64 80241194 00000000 */ nop +/* CF3D68 80241198 45000005 */ bc1f .L802411B0 +/* CF3D6C 8024119C 00000000 */ nop +/* CF3D70 802411A0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CF3D74 802411A4 AE00001C */ sw $zero, 0x1c($s0) +/* CF3D78 802411A8 08090481 */ j .L80241204 +/* CF3D7C 802411AC E600003C */ swc1 $f0, 0x3c($s0) +.L802411B0: +/* CF3D80 802411B0 C600003C */ lwc1 $f0, 0x3c($s0) +/* CF3D84 802411B4 46040000 */ add.s $f0, $f0, $f4 +/* CF3D88 802411B8 08090481 */ j .L80241204 +/* CF3D8C 802411BC E600003C */ swc1 $f0, 0x3c($s0) +.L802411C0: +/* CF3D90 802411C0 C606003C */ lwc1 $f6, 0x3c($s0) +/* CF3D94 802411C4 860200A8 */ lh $v0, 0xa8($s0) +/* CF3D98 802411C8 46163081 */ sub.s $f2, $f6, $f22 +/* CF3D9C 802411CC 44820000 */ mtc1 $v0, $f0 +/* CF3DA0 802411D0 00000000 */ nop +/* CF3DA4 802411D4 46800020 */ cvt.s.w $f0, $f0 +/* CF3DA8 802411D8 46001080 */ add.s $f2, $f2, $f0 +/* CF3DAC 802411DC C604001C */ lwc1 $f4, 0x1c($s0) +/* CF3DB0 802411E0 46002005 */ abs.s $f0, $f4 +/* CF3DB4 802411E4 4602003C */ c.lt.s $f0, $f2 +/* CF3DB8 802411E8 00000000 */ nop +/* CF3DBC 802411EC 45020005 */ bc1fl .L80241204 +/* CF3DC0 802411F0 AE00001C */ sw $zero, 0x1c($s0) +/* CF3DC4 802411F4 46043000 */ add.s $f0, $f6, $f4 +/* CF3DC8 802411F8 08090481 */ j .L80241204 +/* CF3DCC 802411FC E600003C */ swc1 $f0, 0x3c($s0) +.L80241200: +/* CF3DD0 80241200 AE00001C */ sw $zero, 0x1c($s0) +.L80241204: +/* CF3DD4 80241204 8FBF0038 */ lw $ra, 0x38($sp) +/* CF3DD8 80241208 8FB30034 */ lw $s3, 0x34($sp) +/* CF3DDC 8024120C 8FB20030 */ lw $s2, 0x30($sp) +/* CF3DE0 80241210 8FB1002C */ lw $s1, 0x2c($sp) +/* CF3DE4 80241214 8FB00028 */ lw $s0, 0x28($sp) +/* CF3DE8 80241218 D7B60048 */ ldc1 $f22, 0x48($sp) +/* CF3DEC 8024121C D7B40040 */ ldc1 $f20, 0x40($sp) +/* CF3DF0 80241220 03E00008 */ jr $ra +/* CF3DF4 80241224 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241228_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241228_CF2BD0.s new file mode 100644 index 0000000000..a8fd2c5e29 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241228_CF2BD0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241228_CF3DF8 +/* CF3DF8 80241228 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CF3DFC 8024122C AFB00028 */ sw $s0, 0x28($sp) +/* CF3E00 80241230 00A0802D */ daddu $s0, $a1, $zero +/* CF3E04 80241234 AFB1002C */ sw $s1, 0x2c($sp) +/* CF3E08 80241238 00C0882D */ daddu $s1, $a2, $zero +/* CF3E0C 8024123C AFBF0034 */ sw $ra, 0x34($sp) +/* CF3E10 80241240 AFB20030 */ sw $s2, 0x30($sp) +/* CF3E14 80241244 AE200070 */ sw $zero, 0x70($s1) +/* CF3E18 80241248 8C830000 */ lw $v1, ($a0) +/* CF3E1C 8024124C 2402FDFF */ addiu $v0, $zero, -0x201 +/* CF3E20 80241250 A480008E */ sh $zero, 0x8e($a0) +/* CF3E24 80241254 00621824 */ and $v1, $v1, $v0 +/* CF3E28 80241258 34650800 */ ori $a1, $v1, 0x800 +/* CF3E2C 8024125C AC850000 */ sw $a1, ($a0) +/* CF3E30 80241260 8E0200D0 */ lw $v0, 0xd0($s0) +/* CF3E34 80241264 8C420034 */ lw $v0, 0x34($v0) +/* CF3E38 80241268 10400003 */ beqz $v0, .L80241278 +/* CF3E3C 8024126C 00E0902D */ daddu $s2, $a3, $zero +/* CF3E40 80241270 080904A0 */ j .L80241280 +/* CF3E44 80241274 34620808 */ ori $v0, $v1, 0x808 +.L80241278: +/* CF3E48 80241278 2402FFF7 */ addiu $v0, $zero, -9 +/* CF3E4C 8024127C 00A21024 */ and $v0, $a1, $v0 +.L80241280: +/* CF3E50 80241280 AC820000 */ sw $v0, ($a0) +/* CF3E54 80241284 27A20024 */ addiu $v0, $sp, 0x24 +/* CF3E58 80241288 27A50018 */ addiu $a1, $sp, 0x18 +/* CF3E5C 8024128C C4800038 */ lwc1 $f0, 0x38($a0) +/* CF3E60 80241290 C482003C */ lwc1 $f2, 0x3c($a0) +/* CF3E64 80241294 C4840040 */ lwc1 $f4, 0x40($a0) +/* CF3E68 80241298 3C01447A */ lui $at, 0x447a +/* CF3E6C 8024129C 44813000 */ mtc1 $at, $f6 +/* CF3E70 802412A0 27A6001C */ addiu $a2, $sp, 0x1c +/* CF3E74 802412A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* CF3E78 802412A8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* CF3E7C 802412AC E7A40020 */ swc1 $f4, 0x20($sp) +/* CF3E80 802412B0 E7A60024 */ swc1 $f6, 0x24($sp) +/* CF3E84 802412B4 AFA20010 */ sw $v0, 0x10($sp) +/* CF3E88 802412B8 8C840080 */ lw $a0, 0x80($a0) +/* CF3E8C 802412BC 0C0372DF */ jal func_800DCB7C +/* CF3E90 802412C0 27A70020 */ addiu $a3, $sp, 0x20 +/* CF3E94 802412C4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* CF3E98 802412C8 3C014059 */ lui $at, 0x4059 +/* CF3E9C 802412CC 44812800 */ mtc1 $at, $f5 +/* CF3EA0 802412D0 44802000 */ mtc1 $zero, $f4 +/* CF3EA4 802412D4 460010A1 */ cvt.d.s $f2, $f2 +/* CF3EA8 802412D8 46241082 */ mul.d $f2, $f2, $f4 +/* CF3EAC 802412DC 00000000 */ nop +/* CF3EB0 802412E0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* CF3EB4 802412E4 46000021 */ cvt.d.s $f0, $f0 +/* CF3EB8 802412E8 46240002 */ mul.d $f0, $f0, $f4 +/* CF3EBC 802412EC 00000000 */ nop +/* CF3EC0 802412F0 3C013FE0 */ lui $at, 0x3fe0 +/* CF3EC4 802412F4 44812800 */ mtc1 $at, $f5 +/* CF3EC8 802412F8 44802000 */ mtc1 $zero, $f4 +/* CF3ECC 802412FC 00000000 */ nop +/* CF3ED0 80241300 46241080 */ add.d $f2, $f2, $f4 +/* CF3ED4 80241304 AE000074 */ sw $zero, 0x74($s0) +/* CF3ED8 80241308 46240000 */ add.d $f0, $f0, $f4 +/* CF3EDC 8024130C AE000090 */ sw $zero, 0x90($s0) +/* CF3EE0 80241310 4620120D */ trunc.w.d $f8, $f2 +/* CF3EE4 80241314 E6080078 */ swc1 $f8, 0x78($s0) +/* CF3EE8 80241318 4620020D */ trunc.w.d $f8, $f0 +/* CF3EEC 8024131C E6080088 */ swc1 $f8, 0x88($s0) +/* CF3EF0 80241320 8E420014 */ lw $v0, 0x14($s2) +/* CF3EF4 80241324 AE220074 */ sw $v0, 0x74($s1) +/* CF3EF8 80241328 8E0200B0 */ lw $v0, 0xb0($s0) +/* CF3EFC 8024132C 34420010 */ ori $v0, $v0, 0x10 +/* CF3F00 80241330 AE0200B0 */ sw $v0, 0xb0($s0) +/* CF3F04 80241334 8FBF0034 */ lw $ra, 0x34($sp) +/* CF3F08 80241338 8FB20030 */ lw $s2, 0x30($sp) +/* CF3F0C 8024133C 8FB1002C */ lw $s1, 0x2c($sp) +/* CF3F10 80241340 8FB00028 */ lw $s0, 0x28($sp) +/* CF3F14 80241344 03E00008 */ jr $ra +/* CF3F18 80241348 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_8024134C_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_8024134C_CF2BD0.s new file mode 100644 index 0000000000..18c6e2ba3b --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_8024134C_CF2BD0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024134C_CF3F1C +/* CF3F1C 8024134C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF3F20 80241350 AFB40040 */ sw $s4, 0x40($sp) +/* CF3F24 80241354 0080A02D */ daddu $s4, $a0, $zero +/* CF3F28 80241358 AFBF0048 */ sw $ra, 0x48($sp) +/* CF3F2C 8024135C AFB50044 */ sw $s5, 0x44($sp) +/* CF3F30 80241360 AFB3003C */ sw $s3, 0x3c($sp) +/* CF3F34 80241364 AFB20038 */ sw $s2, 0x38($sp) +/* CF3F38 80241368 AFB10034 */ sw $s1, 0x34($sp) +/* CF3F3C 8024136C AFB00030 */ sw $s0, 0x30($sp) +/* CF3F40 80241370 8E920148 */ lw $s2, 0x148($s4) +/* CF3F44 80241374 86440008 */ lh $a0, 8($s2) +/* CF3F48 80241378 8E90000C */ lw $s0, 0xc($s4) +/* CF3F4C 8024137C 0C00EABB */ jal get_npc_unsafe +/* CF3F50 80241380 00A0882D */ daddu $s1, $a1, $zero +/* CF3F54 80241384 0280202D */ daddu $a0, $s4, $zero +/* CF3F58 80241388 8E050000 */ lw $a1, ($s0) +/* CF3F5C 8024138C 0C0B1EAF */ jal get_variable +/* CF3F60 80241390 0040A82D */ daddu $s5, $v0, $zero +/* CF3F64 80241394 AFA00010 */ sw $zero, 0x10($sp) +/* CF3F68 80241398 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF3F6C 8024139C 8C630030 */ lw $v1, 0x30($v1) +/* CF3F70 802413A0 AFA30014 */ sw $v1, 0x14($sp) +/* CF3F74 802413A4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF3F78 802413A8 8C63001C */ lw $v1, 0x1c($v1) +/* CF3F7C 802413AC AFA30018 */ sw $v1, 0x18($sp) +/* CF3F80 802413B0 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF3F84 802413B4 8C630024 */ lw $v1, 0x24($v1) +/* CF3F88 802413B8 AFA3001C */ sw $v1, 0x1c($sp) +/* CF3F8C 802413BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF3F90 802413C0 8C630028 */ lw $v1, 0x28($v1) +/* CF3F94 802413C4 27B30010 */ addiu $s3, $sp, 0x10 +/* CF3F98 802413C8 AFA30020 */ sw $v1, 0x20($sp) +/* CF3F9C 802413CC 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF3FA0 802413D0 3C0142F0 */ lui $at, 0x42f0 +/* CF3FA4 802413D4 44810000 */ mtc1 $at, $f0 +/* CF3FA8 802413D8 8C63002C */ lw $v1, 0x2c($v1) +/* CF3FAC 802413DC 0040802D */ daddu $s0, $v0, $zero +/* CF3FB0 802413E0 E7A00028 */ swc1 $f0, 0x28($sp) +/* CF3FB4 802413E4 A7A0002C */ sh $zero, 0x2c($sp) +/* CF3FB8 802413E8 12200006 */ beqz $s1, .L80241404 +/* CF3FBC 802413EC AFA30024 */ sw $v1, 0x24($sp) +/* CF3FC0 802413F0 02A0202D */ daddu $a0, $s5, $zero +/* CF3FC4 802413F4 0240282D */ daddu $a1, $s2, $zero +/* CF3FC8 802413F8 0280302D */ daddu $a2, $s4, $zero +/* CF3FCC 802413FC 0C09048A */ jal func_80241228 +/* CF3FD0 80241400 0200382D */ daddu $a3, $s0, $zero +.L80241404: +/* CF3FD4 80241404 2402FFFE */ addiu $v0, $zero, -2 +/* CF3FD8 80241408 A2A200AB */ sb $v0, 0xab($s5) +/* CF3FDC 8024140C 8E4300B0 */ lw $v1, 0xb0($s2) +/* CF3FE0 80241410 30620004 */ andi $v0, $v1, 4 +/* CF3FE4 80241414 10400007 */ beqz $v0, .L80241434 +/* CF3FE8 80241418 00000000 */ nop +/* CF3FEC 8024141C 824200B4 */ lb $v0, 0xb4($s2) +/* CF3FF0 80241420 1440003C */ bnez $v0, .L80241514 +/* CF3FF4 80241424 0000102D */ daddu $v0, $zero, $zero +/* CF3FF8 80241428 2402FFFB */ addiu $v0, $zero, -5 +/* CF3FFC 8024142C 00621024 */ and $v0, $v1, $v0 +/* CF4000 80241430 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241434: +/* CF4004 80241434 8E830070 */ lw $v1, 0x70($s4) +/* CF4008 80241438 2C62000F */ sltiu $v0, $v1, 0xf +/* CF400C 8024143C 10400034 */ beqz $v0, .L80241510 +/* CF4010 80241440 00031080 */ sll $v0, $v1, 2 +/* CF4014 80241444 3C018024 */ lui $at, 0x8024 +/* CF4018 80241448 00220821 */ addu $at, $at, $v0 +/* CF401C 8024144C 8C224EF8 */ lw $v0, 0x4ef8($at) +/* CF4020 80241450 00400008 */ jr $v0 +/* CF4024 80241454 00000000 */ nop +/* CF4028 80241458 0280202D */ daddu $a0, $s4, $zero +/* CF402C 8024145C 0200282D */ daddu $a1, $s0, $zero +/* CF4030 80241460 0C090010 */ jal func_80240040 +/* CF4034 80241464 0260302D */ daddu $a2, $s3, $zero +/* CF4038 80241468 0280202D */ daddu $a0, $s4, $zero +/* CF403C 8024146C 0200282D */ daddu $a1, $s0, $zero +/* CF4040 80241470 0C09007C */ jal func_802401F0 +/* CF4044 80241474 0260302D */ daddu $a2, $s3, $zero +/* CF4048 80241478 08090545 */ j .L80241514 +/* CF404C 8024147C 0000102D */ daddu $v0, $zero, $zero +/* CF4050 80241480 0280202D */ daddu $a0, $s4, $zero +/* CF4054 80241484 0200282D */ daddu $a1, $s0, $zero +/* CF4058 80241488 0C090206 */ jal func_80240818 +/* CF405C 8024148C 0260302D */ daddu $a2, $s3, $zero +/* CF4060 80241490 0280202D */ daddu $a0, $s4, $zero +/* CF4064 80241494 0200282D */ daddu $a1, $s0, $zero +/* CF4068 80241498 0C090236 */ jal func_802408D8 +/* CF406C 8024149C 0260302D */ daddu $a2, $s3, $zero +/* CF4070 802414A0 08090545 */ j .L80241514 +/* CF4074 802414A4 0000102D */ daddu $v0, $zero, $zero +/* CF4078 802414A8 0280202D */ daddu $a0, $s4, $zero +/* CF407C 802414AC 0200282D */ daddu $a1, $s0, $zero +/* CF4080 802414B0 0C090307 */ jal func_80240C1C +/* CF4084 802414B4 0260302D */ daddu $a2, $s3, $zero +/* CF4088 802414B8 0280202D */ daddu $a0, $s4, $zero +/* CF408C 802414BC 0200282D */ daddu $a1, $s0, $zero +/* CF4090 802414C0 0C090325 */ jal func_80240C94 +/* CF4094 802414C4 0260302D */ daddu $a2, $s3, $zero +/* CF4098 802414C8 08090545 */ j .L80241514 +/* CF409C 802414CC 0000102D */ daddu $v0, $zero, $zero +/* CF40A0 802414D0 0280202D */ daddu $a0, $s4, $zero +/* CF40A4 802414D4 0200282D */ daddu $a1, $s0, $zero +/* CF40A8 802414D8 0C090340 */ jal func_80240D00 +/* CF40AC 802414DC 0260302D */ daddu $a2, $s3, $zero +/* CF40B0 802414E0 08090545 */ j .L80241514 +/* CF40B4 802414E4 0000102D */ daddu $v0, $zero, $zero +/* CF40B8 802414E8 0280202D */ daddu $a0, $s4, $zero +/* CF40BC 802414EC 0200282D */ daddu $a1, $s0, $zero +/* CF40C0 802414F0 0C09038D */ jal func_80240E34 +/* CF40C4 802414F4 0260302D */ daddu $a2, $s3, $zero +/* CF40C8 802414F8 08090545 */ j .L80241514 +/* CF40CC 802414FC 0000102D */ daddu $v0, $zero, $zero +/* CF40D0 80241500 0280202D */ daddu $a0, $s4, $zero +/* CF40D4 80241504 0200282D */ daddu $a1, $s0, $zero +/* CF40D8 80241508 0C0903A6 */ jal func_80240E98 +/* CF40DC 8024150C 0260302D */ daddu $a2, $s3, $zero +.L80241510: +/* CF40E0 80241510 0000102D */ daddu $v0, $zero, $zero +.L80241514: +/* CF40E4 80241514 8FBF0048 */ lw $ra, 0x48($sp) +/* CF40E8 80241518 8FB50044 */ lw $s5, 0x44($sp) +/* CF40EC 8024151C 8FB40040 */ lw $s4, 0x40($sp) +/* CF40F0 80241520 8FB3003C */ lw $s3, 0x3c($sp) +/* CF40F4 80241524 8FB20038 */ lw $s2, 0x38($sp) +/* CF40F8 80241528 8FB10034 */ lw $s1, 0x34($sp) +/* CF40FC 8024152C 8FB00030 */ lw $s0, 0x30($sp) +/* CF4100 80241530 03E00008 */ jr $ra +/* CF4104 80241534 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241538.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241538.s new file mode 100644 index 0000000000..2c4e819841 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241538.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241538 +/* CF4108 80241538 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CF410C 8024153C AFB3001C */ sw $s3, 0x1c($sp) +/* CF4110 80241540 0080982D */ daddu $s3, $a0, $zero +/* CF4114 80241544 AFBF0020 */ sw $ra, 0x20($sp) +/* CF4118 80241548 AFB20018 */ sw $s2, 0x18($sp) +/* CF411C 8024154C AFB10014 */ sw $s1, 0x14($sp) +/* CF4120 80241550 AFB00010 */ sw $s0, 0x10($sp) +/* CF4124 80241554 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CF4128 80241558 8E710148 */ lw $s1, 0x148($s3) +/* CF412C 8024155C 86240008 */ lh $a0, 8($s1) +/* CF4130 80241560 0C00EABB */ jal get_npc_unsafe +/* CF4134 80241564 00A0802D */ daddu $s0, $a1, $zero +/* CF4138 80241568 8E040020 */ lw $a0, 0x20($s0) +/* CF413C 8024156C 0040902D */ daddu $s2, $v0, $zero +/* CF4140 80241570 00041FC2 */ srl $v1, $a0, 0x1f +/* CF4144 80241574 00832021 */ addu $a0, $a0, $v1 +/* CF4148 80241578 00042043 */ sra $a0, $a0, 1 +/* CF414C 8024157C 0C00A67F */ jal rand_int +/* CF4150 80241580 24840001 */ addiu $a0, $a0, 1 +/* CF4154 80241584 8E030020 */ lw $v1, 0x20($s0) +/* CF4158 80241588 C64C0038 */ lwc1 $f12, 0x38($s2) +/* CF415C 8024158C 000327C2 */ srl $a0, $v1, 0x1f +/* CF4160 80241590 00641821 */ addu $v1, $v1, $a0 +/* CF4164 80241594 00031843 */ sra $v1, $v1, 1 +/* CF4168 80241598 00621821 */ addu $v1, $v1, $v0 +/* CF416C 8024159C A643008E */ sh $v1, 0x8e($s2) +/* CF4170 802415A0 8E2200CC */ lw $v0, 0xcc($s1) +/* CF4174 802415A4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* CF4178 802415A8 8C42000C */ lw $v0, 0xc($v0) +/* CF417C 802415AC AE420028 */ sw $v0, 0x28($s2) +/* CF4180 802415B0 C6000018 */ lwc1 $f0, 0x18($s0) +/* CF4184 802415B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF4188 802415B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF418C 802415BC E6400018 */ swc1 $f0, 0x18($s2) +/* CF4190 802415C0 8C460028 */ lw $a2, 0x28($v0) +/* CF4194 802415C4 0C00A720 */ jal atan2 +/* CF4198 802415C8 8C470030 */ lw $a3, 0x30($v0) +/* CF419C 802415CC 46000506 */ mov.s $f20, $f0 +/* CF41A0 802415D0 C64C000C */ lwc1 $f12, 0xc($s2) +/* CF41A4 802415D4 0C00A70A */ jal get_clamped_angle_diff +/* CF41A8 802415D8 4600A386 */ mov.s $f14, $f20 +/* CF41AC 802415DC 46000086 */ mov.s $f2, $f0 +/* CF41B0 802415E0 8E02001C */ lw $v0, 0x1c($s0) +/* CF41B4 802415E4 46001005 */ abs.s $f0, $f2 +/* CF41B8 802415E8 44822000 */ mtc1 $v0, $f4 +/* CF41BC 802415EC 00000000 */ nop +/* CF41C0 802415F0 46802120 */ cvt.s.w $f4, $f4 +/* CF41C4 802415F4 4600203C */ c.lt.s $f4, $f0 +/* CF41C8 802415F8 00000000 */ nop +/* CF41CC 802415FC 4500000D */ bc1f .L80241634 +/* CF41D0 80241600 00000000 */ nop +/* CF41D4 80241604 44800000 */ mtc1 $zero, $f0 +/* CF41D8 80241608 C654000C */ lwc1 $f20, 0xc($s2) +/* CF41DC 8024160C 4600103C */ c.lt.s $f2, $f0 +/* CF41E0 80241610 00000000 */ nop +/* CF41E4 80241614 45000006 */ bc1f .L80241630 +/* CF41E8 80241618 00021023 */ negu $v0, $v0 +/* CF41EC 8024161C 44820000 */ mtc1 $v0, $f0 +/* CF41F0 80241620 00000000 */ nop +/* CF41F4 80241624 46800020 */ cvt.s.w $f0, $f0 +/* CF41F8 80241628 0809058D */ j .L80241634 +/* CF41FC 8024162C 4600A500 */ add.s $f20, $f20, $f0 +.L80241630: +/* CF4200 80241630 4604A500 */ add.s $f20, $f20, $f4 +.L80241634: +/* CF4204 80241634 0C00A6C9 */ jal clamp_angle +/* CF4208 80241638 4600A306 */ mov.s $f12, $f20 +/* CF420C 8024163C 2402000D */ addiu $v0, $zero, 0xd +/* CF4210 80241640 E640000C */ swc1 $f0, 0xc($s2) +/* CF4214 80241644 AE620070 */ sw $v0, 0x70($s3) +/* CF4218 80241648 8FBF0020 */ lw $ra, 0x20($sp) +/* CF421C 8024164C 8FB3001C */ lw $s3, 0x1c($sp) +/* CF4220 80241650 8FB20018 */ lw $s2, 0x18($sp) +/* CF4224 80241654 8FB10014 */ lw $s1, 0x14($sp) +/* CF4228 80241658 8FB00010 */ lw $s0, 0x10($sp) +/* CF422C 8024165C D7B40028 */ ldc1 $f20, 0x28($sp) +/* CF4230 80241660 03E00008 */ jr $ra +/* CF4234 80241664 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241668_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241668_CF2BD0.s new file mode 100644 index 0000000000..0571809b1f --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241668_CF2BD0.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_CF4238 +/* CF4238 80241668 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* CF423C 8024166C AFB3004C */ sw $s3, 0x4c($sp) +/* CF4240 80241670 0080982D */ daddu $s3, $a0, $zero +/* CF4244 80241674 AFBF0050 */ sw $ra, 0x50($sp) +/* CF4248 80241678 AFB20048 */ sw $s2, 0x48($sp) +/* CF424C 8024167C AFB10044 */ sw $s1, 0x44($sp) +/* CF4250 80241680 AFB00040 */ sw $s0, 0x40($sp) +/* CF4254 80241684 8E720148 */ lw $s2, 0x148($s3) +/* CF4258 80241688 00A0882D */ daddu $s1, $a1, $zero +/* CF425C 8024168C 86440008 */ lh $a0, 8($s2) +/* CF4260 80241690 0C00EABB */ jal get_npc_unsafe +/* CF4264 80241694 00C0802D */ daddu $s0, $a2, $zero +/* CF4268 80241698 0200202D */ daddu $a0, $s0, $zero +/* CF426C 8024169C 0240282D */ daddu $a1, $s2, $zero +/* CF4270 802416A0 24030001 */ addiu $v1, $zero, 1 +/* CF4274 802416A4 AFA30010 */ sw $v1, 0x10($sp) +/* CF4278 802416A8 8E260024 */ lw $a2, 0x24($s1) +/* CF427C 802416AC 8E270028 */ lw $a3, 0x28($s1) +/* CF4280 802416B0 0C01242D */ jal func_800490B4 +/* CF4284 802416B4 0040802D */ daddu $s0, $v0, $zero +/* CF4288 802416B8 14400020 */ bnez $v0, .L8024173C +/* CF428C 802416BC 24040002 */ addiu $a0, $zero, 2 +/* CF4290 802416C0 0200282D */ daddu $a1, $s0, $zero +/* CF4294 802416C4 0000302D */ daddu $a2, $zero, $zero +/* CF4298 802416C8 860300A8 */ lh $v1, 0xa8($s0) +/* CF429C 802416CC 3C013F80 */ lui $at, 0x3f80 +/* CF42A0 802416D0 44810000 */ mtc1 $at, $f0 +/* CF42A4 802416D4 3C014000 */ lui $at, 0x4000 +/* CF42A8 802416D8 44811000 */ mtc1 $at, $f2 +/* CF42AC 802416DC 3C01C1A0 */ lui $at, 0xc1a0 +/* CF42B0 802416E0 44812000 */ mtc1 $at, $f4 +/* CF42B4 802416E4 2402000F */ addiu $v0, $zero, 0xf +/* CF42B8 802416E8 AFA2001C */ sw $v0, 0x1c($sp) +/* CF42BC 802416EC 44834000 */ mtc1 $v1, $f8 +/* CF42C0 802416F0 00000000 */ nop +/* CF42C4 802416F4 46804220 */ cvt.s.w $f8, $f8 +/* CF42C8 802416F8 44074000 */ mfc1 $a3, $f8 +/* CF42CC 802416FC 27A20028 */ addiu $v0, $sp, 0x28 +/* CF42D0 80241700 AFA20020 */ sw $v0, 0x20($sp) +/* CF42D4 80241704 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF42D8 80241708 E7A20014 */ swc1 $f2, 0x14($sp) +/* CF42DC 8024170C 0C01BFA4 */ jal fx_emote +/* CF42E0 80241710 E7A40018 */ swc1 $f4, 0x18($sp) +/* CF42E4 80241714 8E4200CC */ lw $v0, 0xcc($s2) +/* CF42E8 80241718 8C430000 */ lw $v1, ($v0) +/* CF42EC 8024171C 2402001E */ addiu $v0, $zero, 0x1e +/* CF42F0 80241720 A602008E */ sh $v0, 0x8e($s0) +/* CF42F4 80241724 24020014 */ addiu $v0, $zero, 0x14 +/* CF42F8 80241728 AE030028 */ sw $v1, 0x28($s0) +/* CF42FC 8024172C AE620070 */ sw $v0, 0x70($s3) +/* CF4300 80241730 2402001E */ addiu $v0, $zero, 0x1e +/* CF4304 80241734 08090633 */ j .L802418CC +/* CF4308 80241738 AE420090 */ sw $v0, 0x90($s2) +.L8024173C: +/* CF430C 8024173C 8E050018 */ lw $a1, 0x18($s0) +/* CF4310 80241740 8E06000C */ lw $a2, 0xc($s0) +/* CF4314 80241744 0C00EA95 */ jal npc_move_heading +/* CF4318 80241748 0200202D */ daddu $a0, $s0, $zero +/* CF431C 8024174C 8E020000 */ lw $v0, ($s0) +/* CF4320 80241750 30420008 */ andi $v0, $v0, 8 +/* CF4324 80241754 14400028 */ bnez $v0, .L802417F8 +/* CF4328 80241758 0000882D */ daddu $s1, $zero, $zero +/* CF432C 8024175C 27A5002C */ addiu $a1, $sp, 0x2c +/* CF4330 80241760 27A60030 */ addiu $a2, $sp, 0x30 +/* CF4334 80241764 860200A8 */ lh $v0, 0xa8($s0) +/* CF4338 80241768 C6000038 */ lwc1 $f0, 0x38($s0) +/* CF433C 8024176C 44821000 */ mtc1 $v0, $f2 +/* CF4340 80241770 00000000 */ nop +/* CF4344 80241774 468010A0 */ cvt.s.w $f2, $f2 +/* CF4348 80241778 E7A0002C */ swc1 $f0, 0x2c($sp) +/* CF434C 8024177C 860200A8 */ lh $v0, 0xa8($s0) +/* CF4350 80241780 C604003C */ lwc1 $f4, 0x3c($s0) +/* CF4354 80241784 C6060040 */ lwc1 $f6, 0x40($s0) +/* CF4358 80241788 44820000 */ mtc1 $v0, $f0 +/* CF435C 8024178C 00000000 */ nop +/* CF4360 80241790 46800021 */ cvt.d.w $f0, $f0 +/* CF4364 80241794 46022100 */ add.s $f4, $f4, $f2 +/* CF4368 80241798 3C014008 */ lui $at, 0x4008 +/* CF436C 8024179C 44811800 */ mtc1 $at, $f3 +/* CF4370 802417A0 44801000 */ mtc1 $zero, $f2 +/* CF4374 802417A4 27A20038 */ addiu $v0, $sp, 0x38 +/* CF4378 802417A8 46220000 */ add.d $f0, $f0, $f2 +/* CF437C 802417AC E7A60034 */ swc1 $f6, 0x34($sp) +/* CF4380 802417B0 E7A40030 */ swc1 $f4, 0x30($sp) +/* CF4384 802417B4 46200020 */ cvt.s.d $f0, $f0 +/* CF4388 802417B8 E7A00038 */ swc1 $f0, 0x38($sp) +/* CF438C 802417BC AFA20010 */ sw $v0, 0x10($sp) +/* CF4390 802417C0 8E040080 */ lw $a0, 0x80($s0) +/* CF4394 802417C4 0C0372DF */ jal func_800DCB7C +/* CF4398 802417C8 27A70034 */ addiu $a3, $sp, 0x34 +/* CF439C 802417CC 1040000A */ beqz $v0, .L802417F8 +/* CF43A0 802417D0 00000000 */ nop +/* CF43A4 802417D4 860200A8 */ lh $v0, 0xa8($s0) +/* CF43A8 802417D8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* CF43AC 802417DC 44820000 */ mtc1 $v0, $f0 +/* CF43B0 802417E0 00000000 */ nop +/* CF43B4 802417E4 46800020 */ cvt.s.w $f0, $f0 +/* CF43B8 802417E8 4600103C */ c.lt.s $f2, $f0 +/* CF43BC 802417EC 00000000 */ nop +/* CF43C0 802417F0 45030001 */ bc1tl .L802417F8 +/* CF43C4 802417F4 24110001 */ addiu $s1, $zero, 1 +.L802417F8: +/* CF43C8 802417F8 12200008 */ beqz $s1, .L8024181C +/* CF43CC 802417FC 00000000 */ nop +/* CF43D0 80241800 C7A00030 */ lwc1 $f0, 0x30($sp) +/* CF43D4 80241804 3C013FF0 */ lui $at, 0x3ff0 +/* CF43D8 80241808 44811800 */ mtc1 $at, $f3 +/* CF43DC 8024180C 44801000 */ mtc1 $zero, $f2 +/* CF43E0 80241810 46000021 */ cvt.d.s $f0, $f0 +/* CF43E4 80241814 08090629 */ j .L802418A4 +/* CF43E8 80241818 46220000 */ add.d $f0, $f0, $f2 +.L8024181C: +/* CF43EC 8024181C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* CF43F0 80241820 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* CF43F4 80241824 3C014018 */ lui $at, 0x4018 +/* CF43F8 80241828 44811800 */ mtc1 $at, $f3 +/* CF43FC 8024182C 44801000 */ mtc1 $zero, $f2 +/* CF4400 80241830 C440002C */ lwc1 $f0, 0x2c($v0) +/* CF4404 80241834 C604003C */ lwc1 $f4, 0x3c($s0) +/* CF4408 80241838 46000021 */ cvt.d.s $f0, $f0 +/* CF440C 8024183C 46220000 */ add.d $f0, $f0, $f2 +/* CF4410 80241840 46002121 */ cvt.d.s $f4, $f4 +/* CF4414 80241844 46202001 */ sub.d $f0, $f4, $f0 +/* CF4418 80241848 462001A0 */ cvt.s.d $f6, $f0 +/* CF441C 8024184C 44800000 */ mtc1 $zero, $f0 +/* CF4420 80241850 44800800 */ mtc1 $zero, $f1 +/* CF4424 80241854 460030A1 */ cvt.d.s $f2, $f6 +/* CF4428 80241858 4620103C */ c.lt.d $f2, $f0 +/* CF442C 8024185C 00000000 */ nop +/* CF4430 80241860 45010009 */ bc1t .L80241888 +/* CF4434 80241864 00000000 */ nop +/* CF4438 80241868 3C014010 */ lui $at, 0x4010 +/* CF443C 8024186C 44810800 */ mtc1 $at, $f1 +/* CF4440 80241870 44800000 */ mtc1 $zero, $f0 +/* CF4444 80241874 00000000 */ nop +/* CF4448 80241878 4622003C */ c.lt.d $f0, $f2 +/* CF444C 8024187C 00000000 */ nop +/* CF4450 80241880 4500000A */ bc1f .L802418AC +/* CF4454 80241884 00000000 */ nop +.L80241888: +/* CF4458 80241888 3C018024 */ lui $at, 0x8024 +/* CF445C 8024188C D4224F38 */ ldc1 $f2, 0x4f38($at) +/* CF4460 80241890 46003187 */ neg.s $f6, $f6 +/* CF4464 80241894 46003021 */ cvt.d.s $f0, $f6 +/* CF4468 80241898 46220002 */ mul.d $f0, $f0, $f2 +/* CF446C 8024189C 00000000 */ nop +/* CF4470 802418A0 46202000 */ add.d $f0, $f4, $f0 +.L802418A4: +/* CF4474 802418A4 46200020 */ cvt.s.d $f0, $f0 +/* CF4478 802418A8 E600003C */ swc1 $f0, 0x3c($s0) +.L802418AC: +/* CF447C 802418AC 8602008E */ lh $v0, 0x8e($s0) +/* CF4480 802418B0 9603008E */ lhu $v1, 0x8e($s0) +/* CF4484 802418B4 18400003 */ blez $v0, .L802418C4 +/* CF4488 802418B8 2462FFFF */ addiu $v0, $v1, -1 +/* CF448C 802418BC 08090633 */ j .L802418CC +/* CF4490 802418C0 A602008E */ sh $v0, 0x8e($s0) +.L802418C4: +/* CF4494 802418C4 2402000C */ addiu $v0, $zero, 0xc +/* CF4498 802418C8 AE620070 */ sw $v0, 0x70($s3) +.L802418CC: +/* CF449C 802418CC 8FBF0050 */ lw $ra, 0x50($sp) +/* CF44A0 802418D0 8FB3004C */ lw $s3, 0x4c($sp) +/* CF44A4 802418D4 8FB20048 */ lw $s2, 0x48($sp) +/* CF44A8 802418D8 8FB10044 */ lw $s1, 0x44($sp) +/* CF44AC 802418DC 8FB00040 */ lw $s0, 0x40($sp) +/* CF44B0 802418E0 03E00008 */ jr $ra +/* CF44B4 802418E4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_802418E8_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_802418E8_CF2BD0.s new file mode 100644 index 0000000000..8693eaadc6 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_802418E8_CF2BD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418E8_CF44B8 +/* CF44B8 802418E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF44BC 802418EC AFB10014 */ sw $s1, 0x14($sp) +/* CF44C0 802418F0 0080882D */ daddu $s1, $a0, $zero +/* CF44C4 802418F4 AFBF0018 */ sw $ra, 0x18($sp) +/* CF44C8 802418F8 AFB00010 */ sw $s0, 0x10($sp) +/* CF44CC 802418FC 8E300148 */ lw $s0, 0x148($s1) +/* CF44D0 80241900 0C00EABB */ jal get_npc_unsafe +/* CF44D4 80241904 86040008 */ lh $a0, 8($s0) +/* CF44D8 80241908 0040182D */ daddu $v1, $v0, $zero +/* CF44DC 8024190C 9462008E */ lhu $v0, 0x8e($v1) +/* CF44E0 80241910 2442FFFF */ addiu $v0, $v0, -1 +/* CF44E4 80241914 A462008E */ sh $v0, 0x8e($v1) +/* CF44E8 80241918 00021400 */ sll $v0, $v0, 0x10 +/* CF44EC 8024191C 1C400004 */ bgtz $v0, .L80241930 +/* CF44F0 80241920 00000000 */ nop +/* CF44F4 80241924 AE000074 */ sw $zero, 0x74($s0) +/* CF44F8 80241928 A460008E */ sh $zero, 0x8e($v1) +/* CF44FC 8024192C AE200070 */ sw $zero, 0x70($s1) +.L80241930: +/* CF4500 80241930 8FBF0018 */ lw $ra, 0x18($sp) +/* CF4504 80241934 8FB10014 */ lw $s1, 0x14($sp) +/* CF4508 80241938 8FB00010 */ lw $s0, 0x10($sp) +/* CF450C 8024193C 03E00008 */ jr $ra +/* CF4510 80241940 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241944_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241944_CF2BD0.s new file mode 100644 index 0000000000..0eb3ef1290 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241944_CF2BD0.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241944_CF4514 +/* CF4514 80241944 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF4518 80241948 AFB40040 */ sw $s4, 0x40($sp) +/* CF451C 8024194C 0080A02D */ daddu $s4, $a0, $zero +/* CF4520 80241950 AFBF0048 */ sw $ra, 0x48($sp) +/* CF4524 80241954 AFB50044 */ sw $s5, 0x44($sp) +/* CF4528 80241958 AFB3003C */ sw $s3, 0x3c($sp) +/* CF452C 8024195C AFB20038 */ sw $s2, 0x38($sp) +/* CF4530 80241960 AFB10034 */ sw $s1, 0x34($sp) +/* CF4534 80241964 AFB00030 */ sw $s0, 0x30($sp) +/* CF4538 80241968 8E920148 */ lw $s2, 0x148($s4) +/* CF453C 8024196C 86440008 */ lh $a0, 8($s2) +/* CF4540 80241970 8E90000C */ lw $s0, 0xc($s4) +/* CF4544 80241974 0C00EABB */ jal get_npc_unsafe +/* CF4548 80241978 00A0882D */ daddu $s1, $a1, $zero +/* CF454C 8024197C 0280202D */ daddu $a0, $s4, $zero +/* CF4550 80241980 8E050000 */ lw $a1, ($s0) +/* CF4554 80241984 0C0B1EAF */ jal get_variable +/* CF4558 80241988 0040A82D */ daddu $s5, $v0, $zero +/* CF455C 8024198C AFA00010 */ sw $zero, 0x10($sp) +/* CF4560 80241990 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF4564 80241994 8C630030 */ lw $v1, 0x30($v1) +/* CF4568 80241998 AFA30014 */ sw $v1, 0x14($sp) +/* CF456C 8024199C 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF4570 802419A0 8C63001C */ lw $v1, 0x1c($v1) +/* CF4574 802419A4 AFA30018 */ sw $v1, 0x18($sp) +/* CF4578 802419A8 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF457C 802419AC 8C630024 */ lw $v1, 0x24($v1) +/* CF4580 802419B0 AFA3001C */ sw $v1, 0x1c($sp) +/* CF4584 802419B4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF4588 802419B8 8C630028 */ lw $v1, 0x28($v1) +/* CF458C 802419BC 27B30010 */ addiu $s3, $sp, 0x10 +/* CF4590 802419C0 AFA30020 */ sw $v1, 0x20($sp) +/* CF4594 802419C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* CF4598 802419C8 3C0142F0 */ lui $at, 0x42f0 +/* CF459C 802419CC 44810000 */ mtc1 $at, $f0 +/* CF45A0 802419D0 8C63002C */ lw $v1, 0x2c($v1) +/* CF45A4 802419D4 0040802D */ daddu $s0, $v0, $zero +/* CF45A8 802419D8 E7A00028 */ swc1 $f0, 0x28($sp) +/* CF45AC 802419DC A7A0002C */ sh $zero, 0x2c($sp) +/* CF45B0 802419E0 12200007 */ beqz $s1, .L80241A00 +/* CF45B4 802419E4 AFA30024 */ sw $v1, 0x24($sp) +/* CF45B8 802419E8 02A0202D */ daddu $a0, $s5, $zero +/* CF45BC 802419EC 0240282D */ daddu $a1, $s2, $zero +/* CF45C0 802419F0 0280302D */ daddu $a2, $s4, $zero +/* CF45C4 802419F4 0C09048A */ jal func_80241228 +/* CF45C8 802419F8 0200382D */ daddu $a3, $s0, $zero +/* CF45CC 802419FC AE800070 */ sw $zero, 0x70($s4) +.L80241A00: +/* CF45D0 80241A00 2402FFFE */ addiu $v0, $zero, -2 +/* CF45D4 80241A04 A2A200AB */ sb $v0, 0xab($s5) +/* CF45D8 80241A08 8E4300B0 */ lw $v1, 0xb0($s2) +/* CF45DC 80241A0C 30620004 */ andi $v0, $v1, 4 +/* CF45E0 80241A10 10400007 */ beqz $v0, .L80241A30 +/* CF45E4 80241A14 00000000 */ nop +/* CF45E8 80241A18 824200B4 */ lb $v0, 0xb4($s2) +/* CF45EC 80241A1C 1440003A */ bnez $v0, .L80241B08 +/* CF45F0 80241A20 0000102D */ daddu $v0, $zero, $zero +/* CF45F4 80241A24 2402FFFB */ addiu $v0, $zero, -5 +/* CF45F8 80241A28 00621024 */ and $v0, $v1, $v0 +/* CF45FC 80241A2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241A30: +/* CF4600 80241A30 8E830070 */ lw $v1, 0x70($s4) +/* CF4604 80241A34 2C620015 */ sltiu $v0, $v1, 0x15 +/* CF4608 80241A38 10400032 */ beqz $v0, .L80241B04 +/* CF460C 80241A3C 00031080 */ sll $v0, $v1, 2 +/* CF4610 80241A40 3C018024 */ lui $at, 0x8024 +/* CF4614 80241A44 00220821 */ addu $at, $at, $v0 +/* CF4618 80241A48 8C224F40 */ lw $v0, 0x4f40($at) +/* CF461C 80241A4C 00400008 */ jr $v0 +/* CF4620 80241A50 00000000 */ nop +/* CF4624 80241A54 0280202D */ daddu $a0, $s4, $zero +/* CF4628 80241A58 0200282D */ daddu $a1, $s0, $zero +/* CF462C 80241A5C 0C090010 */ jal func_80240040 +/* CF4630 80241A60 0260302D */ daddu $a2, $s3, $zero +/* CF4634 80241A64 0280202D */ daddu $a0, $s4, $zero +/* CF4638 80241A68 0200282D */ daddu $a1, $s0, $zero +/* CF463C 80241A6C 0C09007C */ jal func_802401F0 +/* CF4640 80241A70 0260302D */ daddu $a2, $s3, $zero +/* CF4644 80241A74 080906C2 */ j .L80241B08 +/* CF4648 80241A78 0000102D */ daddu $v0, $zero, $zero +/* CF464C 80241A7C 0280202D */ daddu $a0, $s4, $zero +/* CF4650 80241A80 0200282D */ daddu $a1, $s0, $zero +/* CF4654 80241A84 0C090206 */ jal func_80240818 +/* CF4658 80241A88 0260302D */ daddu $a2, $s3, $zero +/* CF465C 80241A8C 0280202D */ daddu $a0, $s4, $zero +/* CF4660 80241A90 0200282D */ daddu $a1, $s0, $zero +/* CF4664 80241A94 0C090236 */ jal func_802408D8 +/* CF4668 80241A98 0260302D */ daddu $a2, $s3, $zero +/* CF466C 80241A9C 080906C2 */ j .L80241B08 +/* CF4670 80241AA0 0000102D */ daddu $v0, $zero, $zero +/* CF4674 80241AA4 0280202D */ daddu $a0, $s4, $zero +/* CF4678 80241AA8 0200282D */ daddu $a1, $s0, $zero +/* CF467C 80241AAC 0C090307 */ jal func_80240C1C +/* CF4680 80241AB0 0260302D */ daddu $a2, $s3, $zero +/* CF4684 80241AB4 0280202D */ daddu $a0, $s4, $zero +/* CF4688 80241AB8 0200282D */ daddu $a1, $s0, $zero +/* CF468C 80241ABC 0C090325 */ jal func_80240C94 +/* CF4690 80241AC0 0260302D */ daddu $a2, $s3, $zero +/* CF4694 80241AC4 080906C2 */ j .L80241B08 +/* CF4698 80241AC8 0000102D */ daddu $v0, $zero, $zero +/* CF469C 80241ACC 0280202D */ daddu $a0, $s4, $zero +/* CF46A0 80241AD0 0200282D */ daddu $a1, $s0, $zero +/* CF46A4 80241AD4 0C09054E */ jal func_80241538 +/* CF46A8 80241AD8 0260302D */ daddu $a2, $s3, $zero +/* CF46AC 80241ADC 0280202D */ daddu $a0, $s4, $zero +/* CF46B0 80241AE0 0200282D */ daddu $a1, $s0, $zero +/* CF46B4 80241AE4 0C09059A */ jal func_80241668 +/* CF46B8 80241AE8 0260302D */ daddu $a2, $s3, $zero +/* CF46BC 80241AEC 080906C2 */ j .L80241B08 +/* CF46C0 80241AF0 0000102D */ daddu $v0, $zero, $zero +/* CF46C4 80241AF4 0280202D */ daddu $a0, $s4, $zero +/* CF46C8 80241AF8 0200282D */ daddu $a1, $s0, $zero +/* CF46CC 80241AFC 0C09063A */ jal func_802418E8 +/* CF46D0 80241B00 0260302D */ daddu $a2, $s3, $zero +.L80241B04: +/* CF46D4 80241B04 0000102D */ daddu $v0, $zero, $zero +.L80241B08: +/* CF46D8 80241B08 8FBF0048 */ lw $ra, 0x48($sp) +/* CF46DC 80241B0C 8FB50044 */ lw $s5, 0x44($sp) +/* CF46E0 80241B10 8FB40040 */ lw $s4, 0x40($sp) +/* CF46E4 80241B14 8FB3003C */ lw $s3, 0x3c($sp) +/* CF46E8 80241B18 8FB20038 */ lw $s2, 0x38($sp) +/* CF46EC 80241B1C 8FB10034 */ lw $s1, 0x34($sp) +/* CF46F0 80241B20 8FB00030 */ lw $s0, 0x30($sp) +/* CF46F4 80241B24 03E00008 */ jr $ra +/* CF46F8 80241B28 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241B2C_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241B2C_CF2BD0.s new file mode 100644 index 0000000000..8e91249be1 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241B2C_CF2BD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B2C_CF46FC +/* CF46FC 80241B2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF4700 80241B30 AFB10014 */ sw $s1, 0x14($sp) +/* CF4704 80241B34 0080882D */ daddu $s1, $a0, $zero +/* CF4708 80241B38 AFBF0018 */ sw $ra, 0x18($sp) +/* CF470C 80241B3C AFB00010 */ sw $s0, 0x10($sp) +/* CF4710 80241B40 8E30000C */ lw $s0, 0xc($s1) +/* CF4714 80241B44 8E050000 */ lw $a1, ($s0) +/* CF4718 80241B48 0C0B1EAF */ jal get_variable +/* CF471C 80241B4C 26100004 */ addiu $s0, $s0, 4 +/* CF4720 80241B50 0C00EAD2 */ jal get_npc_safe +/* CF4724 80241B54 0040202D */ daddu $a0, $v0, $zero +/* CF4728 80241B58 10400005 */ beqz $v0, .L80241B70 +/* CF472C 80241B5C 00000000 */ nop +/* CF4730 80241B60 8E050000 */ lw $a1, ($s0) +/* CF4734 80241B64 844600A8 */ lh $a2, 0xa8($v0) +/* CF4738 80241B68 0C0B2026 */ jal set_variable +/* CF473C 80241B6C 0220202D */ daddu $a0, $s1, $zero +.L80241B70: +/* CF4740 80241B70 8FBF0018 */ lw $ra, 0x18($sp) +/* CF4744 80241B74 8FB10014 */ lw $s1, 0x14($sp) +/* CF4748 80241B78 8FB00010 */ lw $s0, 0x10($sp) +/* CF474C 80241B7C 24020002 */ addiu $v0, $zero, 2 +/* CF4750 80241B80 03E00008 */ jr $ra +/* CF4754 80241B84 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241B88.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241B88.s new file mode 100644 index 0000000000..355b6ed02a --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241B88.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B88 +/* CF4758 80241B88 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF475C 80241B8C AFB10014 */ sw $s1, 0x14($sp) +/* CF4760 80241B90 0080882D */ daddu $s1, $a0, $zero +/* CF4764 80241B94 AFBF0024 */ sw $ra, 0x24($sp) +/* CF4768 80241B98 AFB40020 */ sw $s4, 0x20($sp) +/* CF476C 80241B9C AFB3001C */ sw $s3, 0x1c($sp) +/* CF4770 80241BA0 AFB20018 */ sw $s2, 0x18($sp) +/* CF4774 80241BA4 AFB00010 */ sw $s0, 0x10($sp) +/* CF4778 80241BA8 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CF477C 80241BAC F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CF4780 80241BB0 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CF4784 80241BB4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CF4788 80241BB8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CF478C 80241BBC 8E30000C */ lw $s0, 0xc($s1) +/* CF4790 80241BC0 8E130000 */ lw $s3, ($s0) +/* CF4794 80241BC4 26100004 */ addiu $s0, $s0, 4 +/* CF4798 80241BC8 0C0B1EAF */ jal get_variable +/* CF479C 80241BCC 0260282D */ daddu $a1, $s3, $zero +/* CF47A0 80241BD0 4482E000 */ mtc1 $v0, $f28 +/* CF47A4 80241BD4 00000000 */ nop +/* CF47A8 80241BD8 4680E720 */ cvt.s.w $f28, $f28 +/* CF47AC 80241BDC 8E140000 */ lw $s4, ($s0) +/* CF47B0 80241BE0 26100004 */ addiu $s0, $s0, 4 +/* CF47B4 80241BE4 0220202D */ daddu $a0, $s1, $zero +/* CF47B8 80241BE8 0C0B1EAF */ jal get_variable +/* CF47BC 80241BEC 0280282D */ daddu $a1, $s4, $zero +/* CF47C0 80241BF0 4482D000 */ mtc1 $v0, $f26 +/* CF47C4 80241BF4 00000000 */ nop +/* CF47C8 80241BF8 4680D6A0 */ cvt.s.w $f26, $f26 +/* CF47CC 80241BFC 8E100000 */ lw $s0, ($s0) +/* CF47D0 80241C00 0220202D */ daddu $a0, $s1, $zero +/* CF47D4 80241C04 0C0B1EAF */ jal get_variable +/* CF47D8 80241C08 0200282D */ daddu $a1, $s0, $zero +/* CF47DC 80241C0C 4482C000 */ mtc1 $v0, $f24 +/* CF47E0 80241C10 00000000 */ nop +/* CF47E4 80241C14 4680C620 */ cvt.s.w $f24, $f24 +/* CF47E8 80241C18 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CF47EC 80241C1C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CF47F0 80241C20 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CF47F4 80241C24 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CF47F8 80241C28 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CF47FC 80241C2C 44800000 */ mtc1 $zero, $f0 +/* CF4800 80241C30 00031080 */ sll $v0, $v1, 2 +/* CF4804 80241C34 00431021 */ addu $v0, $v0, $v1 +/* CF4808 80241C38 00021080 */ sll $v0, $v0, 2 +/* CF480C 80241C3C 00431023 */ subu $v0, $v0, $v1 +/* CF4810 80241C40 000218C0 */ sll $v1, $v0, 3 +/* CF4814 80241C44 00431021 */ addu $v0, $v0, $v1 +/* CF4818 80241C48 000210C0 */ sll $v0, $v0, 3 +/* CF481C 80241C4C 46001032 */ c.eq.s $f2, $f0 +/* CF4820 80241C50 3C01800B */ lui $at, 0x800b +/* CF4824 80241C54 00220821 */ addu $at, $at, $v0 +/* CF4828 80241C58 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CF482C 80241C5C 45000005 */ bc1f .L80241C74 +/* CF4830 80241C60 00000000 */ nop +/* CF4834 80241C64 3C0142C8 */ lui $at, 0x42c8 +/* CF4838 80241C68 44810000 */ mtc1 $at, $f0 +/* CF483C 80241C6C 08090721 */ j .L80241C84 +/* CF4840 80241C70 4600B581 */ sub.s $f22, $f22, $f0 +.L80241C74: +/* CF4844 80241C74 3C0142C8 */ lui $at, 0x42c8 +/* CF4848 80241C78 44810000 */ mtc1 $at, $f0 +/* CF484C 80241C7C 00000000 */ nop +/* CF4850 80241C80 4600B580 */ add.s $f22, $f22, $f0 +.L80241C84: +/* CF4854 80241C84 0C00A6C9 */ jal clamp_angle +/* CF4858 80241C88 4600B306 */ mov.s $f12, $f22 +/* CF485C 80241C8C 46000586 */ mov.s $f22, $f0 +/* CF4860 80241C90 3C014170 */ lui $at, 0x4170 +/* CF4864 80241C94 4481A000 */ mtc1 $at, $f20 +/* CF4868 80241C98 0C00A8BB */ jal sin_deg +/* CF486C 80241C9C 4600B306 */ mov.s $f12, $f22 +/* CF4870 80241CA0 46140002 */ mul.s $f0, $f0, $f20 +/* CF4874 80241CA4 00000000 */ nop +/* CF4878 80241CA8 864200B0 */ lh $v0, 0xb0($s2) +/* CF487C 80241CAC 3C013F00 */ lui $at, 0x3f00 +/* CF4880 80241CB0 44812000 */ mtc1 $at, $f4 +/* CF4884 80241CB4 44821000 */ mtc1 $v0, $f2 +/* CF4888 80241CB8 00000000 */ nop +/* CF488C 80241CBC 468010A0 */ cvt.s.w $f2, $f2 +/* CF4890 80241CC0 46041082 */ mul.s $f2, $f2, $f4 +/* CF4894 80241CC4 00000000 */ nop +/* CF4898 80241CC8 4600E700 */ add.s $f28, $f28, $f0 +/* CF489C 80241CCC 4602D680 */ add.s $f26, $f26, $f2 +/* CF48A0 80241CD0 0C00A8D4 */ jal cos_deg +/* CF48A4 80241CD4 4600B306 */ mov.s $f12, $f22 +/* CF48A8 80241CD8 46140002 */ mul.s $f0, $f0, $f20 +/* CF48AC 80241CDC 00000000 */ nop +/* CF48B0 80241CE0 0220202D */ daddu $a0, $s1, $zero +/* CF48B4 80241CE4 0260282D */ daddu $a1, $s3, $zero +/* CF48B8 80241CE8 4600E18D */ trunc.w.s $f6, $f28 +/* CF48BC 80241CEC 44063000 */ mfc1 $a2, $f6 +/* CF48C0 80241CF0 0C0B2026 */ jal set_variable +/* CF48C4 80241CF4 4600C601 */ sub.s $f24, $f24, $f0 +/* CF48C8 80241CF8 0220202D */ daddu $a0, $s1, $zero +/* CF48CC 80241CFC 4600D18D */ trunc.w.s $f6, $f26 +/* CF48D0 80241D00 44063000 */ mfc1 $a2, $f6 +/* CF48D4 80241D04 0C0B2026 */ jal set_variable +/* CF48D8 80241D08 0280282D */ daddu $a1, $s4, $zero +/* CF48DC 80241D0C 0220202D */ daddu $a0, $s1, $zero +/* CF48E0 80241D10 4600C18D */ trunc.w.s $f6, $f24 +/* CF48E4 80241D14 44063000 */ mfc1 $a2, $f6 +/* CF48E8 80241D18 0C0B2026 */ jal set_variable +/* CF48EC 80241D1C 0200282D */ daddu $a1, $s0, $zero +/* CF48F0 80241D20 8FBF0024 */ lw $ra, 0x24($sp) +/* CF48F4 80241D24 8FB40020 */ lw $s4, 0x20($sp) +/* CF48F8 80241D28 8FB3001C */ lw $s3, 0x1c($sp) +/* CF48FC 80241D2C 8FB20018 */ lw $s2, 0x18($sp) +/* CF4900 80241D30 8FB10014 */ lw $s1, 0x14($sp) +/* CF4904 80241D34 8FB00010 */ lw $s0, 0x10($sp) +/* CF4908 80241D38 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CF490C 80241D3C D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CF4910 80241D40 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CF4914 80241D44 D7B60030 */ ldc1 $f22, 0x30($sp) +/* CF4918 80241D48 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CF491C 80241D4C 24020002 */ addiu $v0, $zero, 2 +/* CF4920 80241D50 03E00008 */ jr $ra +/* CF4924 80241D54 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241D58.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241D58.s new file mode 100644 index 0000000000..25e4b9b847 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241D58.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D58 +/* CF4928 80241D58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF492C 80241D5C AFBF0010 */ sw $ra, 0x10($sp) +/* CF4930 80241D60 10A00003 */ beqz $a1, .L80241D70 +/* CF4934 80241D64 8C86000C */ lw $a2, 0xc($a0) +/* CF4938 80241D68 3C018024 */ lui $at, 0x8024 +/* CF493C 80241D6C AC202ACC */ sw $zero, 0x2acc($at) +.L80241D70: +/* CF4940 80241D70 3C038024 */ lui $v1, 0x8024 +/* CF4944 80241D74 24632ACC */ addiu $v1, $v1, 0x2acc +/* CF4948 80241D78 8C620000 */ lw $v0, ($v1) +/* CF494C 80241D7C 54400003 */ bnel $v0, $zero, .L80241D8C +/* CF4950 80241D80 AC600000 */ sw $zero, ($v1) +/* CF4954 80241D84 08090768 */ j .L80241DA0 +/* CF4958 80241D88 0000102D */ daddu $v0, $zero, $zero +.L80241D8C: +/* CF495C 80241D8C 8CC50000 */ lw $a1, ($a2) +/* CF4960 80241D90 3C068024 */ lui $a2, 0x8024 +/* CF4964 80241D94 0C0B2026 */ jal set_variable +/* CF4968 80241D98 8CC62AD0 */ lw $a2, 0x2ad0($a2) +/* CF496C 80241D9C 24020002 */ addiu $v0, $zero, 2 +.L80241DA0: +/* CF4970 80241DA0 8FBF0010 */ lw $ra, 0x10($sp) +/* CF4974 80241DA4 03E00008 */ jr $ra +/* CF4978 80241DA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241DAC_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241DAC_CF2BD0.s new file mode 100644 index 0000000000..3bf5eb2aa0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241DAC_CF2BD0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DAC_CF497C +/* CF497C 80241DAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF4980 80241DB0 AFBF0010 */ sw $ra, 0x10($sp) +/* CF4984 80241DB4 8C82000C */ lw $v0, 0xc($a0) +/* CF4988 80241DB8 0C0B1EAF */ jal get_variable +/* CF498C 80241DBC 8C450000 */ lw $a1, ($v0) +/* CF4990 80241DC0 3C018024 */ lui $at, 0x8024 +/* CF4994 80241DC4 AC222AD0 */ sw $v0, 0x2ad0($at) +/* CF4998 80241DC8 24020002 */ addiu $v0, $zero, 2 +/* CF499C 80241DCC 8FBF0010 */ lw $ra, 0x10($sp) +/* CF49A0 80241DD0 24030001 */ addiu $v1, $zero, 1 +/* CF49A4 80241DD4 3C018024 */ lui $at, 0x8024 +/* CF49A8 80241DD8 AC232ACC */ sw $v1, 0x2acc($at) +/* CF49AC 80241DDC 03E00008 */ jr $ra +/* CF49B0 80241DE0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241DE4_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241DE4_CF2BD0.s new file mode 100644 index 0000000000..6c6cd9ff3d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241DE4_CF2BD0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DE4_CF49B4 +/* CF49B4 80241DE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF49B8 80241DE8 AFBF0010 */ sw $ra, 0x10($sp) +/* CF49BC 80241DEC 8C82000C */ lw $v0, 0xc($a0) +/* CF49C0 80241DF0 0C0B1EAF */ jal get_variable +/* CF49C4 80241DF4 8C450000 */ lw $a1, ($v0) +/* CF49C8 80241DF8 0040182D */ daddu $v1, $v0, $zero +/* CF49CC 80241DFC 10600012 */ beqz $v1, .L80241E48 +/* CF49D0 80241E00 0000202D */ daddu $a0, $zero, $zero +/* CF49D4 80241E04 8C620000 */ lw $v0, ($v1) +/* CF49D8 80241E08 5040000A */ beql $v0, $zero, .L80241E34 +/* CF49DC 80241E0C 00041080 */ sll $v0, $a0, 2 +/* CF49E0 80241E10 3C058024 */ lui $a1, 0x8024 +/* CF49E4 80241E14 24A54FA0 */ addiu $a1, $a1, 0x4fa0 +.L80241E18: +/* CF49E8 80241E18 24630004 */ addiu $v1, $v1, 4 +/* CF49EC 80241E1C 24840001 */ addiu $a0, $a0, 1 +/* CF49F0 80241E20 ACA20000 */ sw $v0, ($a1) +/* CF49F4 80241E24 8C620000 */ lw $v0, ($v1) +/* CF49F8 80241E28 1440FFFB */ bnez $v0, .L80241E18 +/* CF49FC 80241E2C 24A50004 */ addiu $a1, $a1, 4 +/* CF4A00 80241E30 00041080 */ sll $v0, $a0, 2 +.L80241E34: +/* CF4A04 80241E34 3C018024 */ lui $at, 0x8024 +/* CF4A08 80241E38 00220821 */ addu $at, $at, $v0 +/* CF4A0C 80241E3C AC204FA0 */ sw $zero, 0x4fa0($at) +/* CF4A10 80241E40 0809079C */ j .L80241E70 +/* CF4A14 80241E44 00000000 */ nop +.L80241E48: +/* CF4A18 80241E48 3C038024 */ lui $v1, 0x8024 +/* CF4A1C 80241E4C 24634FA0 */ addiu $v1, $v1, 0x4fa0 +/* CF4A20 80241E50 0060282D */ daddu $a1, $v1, $zero +.L80241E54: +/* CF4A24 80241E54 24820080 */ addiu $v0, $a0, 0x80 +/* CF4A28 80241E58 AC620000 */ sw $v0, ($v1) +/* CF4A2C 80241E5C 24630004 */ addiu $v1, $v1, 4 +/* CF4A30 80241E60 24840001 */ addiu $a0, $a0, 1 +/* CF4A34 80241E64 2882005B */ slti $v0, $a0, 0x5b +/* CF4A38 80241E68 1440FFFA */ bnez $v0, .L80241E54 +/* CF4A3C 80241E6C ACA0016C */ sw $zero, 0x16c($a1) +.L80241E70: +/* CF4A40 80241E70 8FBF0010 */ lw $ra, 0x10($sp) +/* CF4A44 80241E74 24020002 */ addiu $v0, $zero, 2 +/* CF4A48 80241E78 03E00008 */ jr $ra +/* CF4A4C 80241E7C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241E80_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241E80_CF2BD0.s new file mode 100644 index 0000000000..20a54e0c81 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241E80_CF2BD0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E80_CF4A50 +/* CF4A50 80241E80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF4A54 80241E84 AFB10014 */ sw $s1, 0x14($sp) +/* CF4A58 80241E88 0080882D */ daddu $s1, $a0, $zero +/* CF4A5C 80241E8C AFBF0020 */ sw $ra, 0x20($sp) +/* CF4A60 80241E90 AFB3001C */ sw $s3, 0x1c($sp) +/* CF4A64 80241E94 AFB20018 */ sw $s2, 0x18($sp) +/* CF4A68 80241E98 AFB00010 */ sw $s0, 0x10($sp) +/* CF4A6C 80241E9C 8E30000C */ lw $s0, 0xc($s1) +/* CF4A70 80241EA0 8E050000 */ lw $a1, ($s0) +/* CF4A74 80241EA4 0C0B1EAF */ jal get_variable +/* CF4A78 80241EA8 26100004 */ addiu $s0, $s0, 4 +/* CF4A7C 80241EAC 8E050000 */ lw $a1, ($s0) +/* CF4A80 80241EB0 26100004 */ addiu $s0, $s0, 4 +/* CF4A84 80241EB4 0220202D */ daddu $a0, $s1, $zero +/* CF4A88 80241EB8 0C0B1EAF */ jal get_variable +/* CF4A8C 80241EBC 0040982D */ daddu $s3, $v0, $zero +/* CF4A90 80241EC0 8E050000 */ lw $a1, ($s0) +/* CF4A94 80241EC4 26100004 */ addiu $s0, $s0, 4 +/* CF4A98 80241EC8 0220202D */ daddu $a0, $s1, $zero +/* CF4A9C 80241ECC 0C0B1EAF */ jal get_variable +/* CF4AA0 80241ED0 0040902D */ daddu $s2, $v0, $zero +/* CF4AA4 80241ED4 0220202D */ daddu $a0, $s1, $zero +/* CF4AA8 80241ED8 8E050000 */ lw $a1, ($s0) +/* CF4AAC 80241EDC 0C0B1EAF */ jal get_variable +/* CF4AB0 80241EE0 0040882D */ daddu $s1, $v0, $zero +/* CF4AB4 80241EE4 0260202D */ daddu $a0, $s3, $zero +/* CF4AB8 80241EE8 0C04C3D6 */ jal get_item_entity +/* CF4ABC 80241EEC 0040802D */ daddu $s0, $v0, $zero +/* CF4AC0 80241EF0 0040182D */ daddu $v1, $v0, $zero +/* CF4AC4 80241EF4 44920000 */ mtc1 $s2, $f0 +/* CF4AC8 80241EF8 00000000 */ nop +/* CF4ACC 80241EFC 46800020 */ cvt.s.w $f0, $f0 +/* CF4AD0 80241F00 E4600008 */ swc1 $f0, 8($v1) +/* CF4AD4 80241F04 44910000 */ mtc1 $s1, $f0 +/* CF4AD8 80241F08 00000000 */ nop +/* CF4ADC 80241F0C 46800020 */ cvt.s.w $f0, $f0 +/* CF4AE0 80241F10 E460000C */ swc1 $f0, 0xc($v1) +/* CF4AE4 80241F14 44900000 */ mtc1 $s0, $f0 +/* CF4AE8 80241F18 00000000 */ nop +/* CF4AEC 80241F1C 46800020 */ cvt.s.w $f0, $f0 +/* CF4AF0 80241F20 E4600010 */ swc1 $f0, 0x10($v1) +/* CF4AF4 80241F24 8FBF0020 */ lw $ra, 0x20($sp) +/* CF4AF8 80241F28 8FB3001C */ lw $s3, 0x1c($sp) +/* CF4AFC 80241F2C 8FB20018 */ lw $s2, 0x18($sp) +/* CF4B00 80241F30 8FB10014 */ lw $s1, 0x14($sp) +/* CF4B04 80241F34 8FB00010 */ lw $s0, 0x10($sp) +/* CF4B08 80241F38 24020002 */ addiu $v0, $zero, 2 +/* CF4B0C 80241F3C 03E00008 */ jr $ra +/* CF4B10 80241F40 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241F44.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241F44.s new file mode 100644 index 0000000000..a0d4ec6626 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241F44.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F44 +/* CF4B14 80241F44 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF4B18 80241F48 AFB00010 */ sw $s0, 0x10($sp) +/* CF4B1C 80241F4C 0080802D */ daddu $s0, $a0, $zero +/* CF4B20 80241F50 AFBF0014 */ sw $ra, 0x14($sp) +/* CF4B24 80241F54 8E02000C */ lw $v0, 0xc($s0) +/* CF4B28 80241F58 0C0B1EAF */ jal get_variable +/* CF4B2C 80241F5C 8C450000 */ lw $a1, ($v0) +/* CF4B30 80241F60 3C048008 */ lui $a0, %hi(gItemTable) +/* CF4B34 80241F64 248478E0 */ addiu $a0, $a0, %lo(gItemTable) +/* CF4B38 80241F68 00021940 */ sll $v1, $v0, 5 +/* CF4B3C 80241F6C 00642021 */ addu $a0, $v1, $a0 +/* CF4B40 80241F70 240300BB */ addiu $v1, $zero, 0xbb +/* CF4B44 80241F74 14430003 */ bne $v0, $v1, .L80241F84 +/* CF4B48 80241F78 24020002 */ addiu $v0, $zero, 2 +/* CF4B4C 80241F7C 080907E8 */ j .L80241FA0 +/* CF4B50 80241F80 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241F84: +/* CF4B54 80241F84 94820018 */ lhu $v0, 0x18($a0) +/* CF4B58 80241F88 30420080 */ andi $v0, $v0, 0x80 +/* CF4B5C 80241F8C 10400003 */ beqz $v0, .L80241F9C +/* CF4B60 80241F90 24020001 */ addiu $v0, $zero, 1 +/* CF4B64 80241F94 080907E8 */ j .L80241FA0 +/* CF4B68 80241F98 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241F9C: +/* CF4B6C 80241F9C AE0000A8 */ sw $zero, 0xa8($s0) +.L80241FA0: +/* CF4B70 80241FA0 8FBF0014 */ lw $ra, 0x14($sp) +/* CF4B74 80241FA4 8FB00010 */ lw $s0, 0x10($sp) +/* CF4B78 80241FA8 24020002 */ addiu $v0, $zero, 2 +/* CF4B7C 80241FAC 03E00008 */ jr $ra +/* CF4B80 80241FB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241FB4_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241FB4_CF2BD0.s new file mode 100644 index 0000000000..e47a7e33bf --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241FB4_CF2BD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FB4_CF4B84 +/* CF4B84 80241FB4 2404005A */ addiu $a0, $zero, 0x5a +/* CF4B88 80241FB8 3C038024 */ lui $v1, 0x8024 +/* CF4B8C 80241FBC 24635278 */ addiu $v1, $v1, 0x5278 +/* CF4B90 80241FC0 240200DA */ addiu $v0, $zero, 0xda +.L80241FC4: +/* CF4B94 80241FC4 AC620000 */ sw $v0, ($v1) +/* CF4B98 80241FC8 2463FFFC */ addiu $v1, $v1, -4 +/* CF4B9C 80241FCC 2484FFFF */ addiu $a0, $a0, -1 +/* CF4BA0 80241FD0 0481FFFC */ bgez $a0, .L80241FC4 +/* CF4BA4 80241FD4 2442FFFF */ addiu $v0, $v0, -1 +/* CF4BA8 80241FD8 3C018024 */ lui $at, 0x8024 +/* CF4BAC 80241FDC AC20527C */ sw $zero, 0x527c($at) +/* CF4BB0 80241FE0 03E00008 */ jr $ra +/* CF4BB4 80241FE4 24020002 */ addiu $v0, $zero, 2 +/* CF4BB8 80241FE8 00000000 */ nop +/* CF4BBC 80241FEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80241FF0_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80241FF0_CF2BD0.s new file mode 100644 index 0000000000..4157faa6a0 --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80241FF0_CF2BD0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FF0_CF4BC0 +/* CF4BC0 80241FF0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* CF4BC4 80241FF4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* CF4BC8 80241FF8 4485A000 */ mtc1 $a1, $f20 +/* CF4BCC 80241FFC F7B60020 */ sdc1 $f22, 0x20($sp) +/* CF4BD0 80242000 4486B000 */ mtc1 $a2, $f22 +/* CF4BD4 80242004 AFB00010 */ sw $s0, 0x10($sp) +/* CF4BD8 80242008 F7B80028 */ sdc1 $f24, 0x28($sp) +/* CF4BDC 8024200C 4487C000 */ mtc1 $a3, $f24 +/* CF4BE0 80242010 AFBF0014 */ sw $ra, 0x14($sp) +/* CF4BE4 80242014 0C019D28 */ jal guMtxIdentF +/* CF4BE8 80242018 0080802D */ daddu $s0, $a0, $zero +/* CF4BEC 8024201C 4616A582 */ mul.s $f22, $f20, $f22 +/* CF4BF0 80242020 00000000 */ nop +/* CF4BF4 80242024 4618A502 */ mul.s $f20, $f20, $f24 +/* CF4BF8 80242028 00000000 */ nop +/* CF4BFC 8024202C 3C013F80 */ lui $at, 0x3f80 +/* CF4C00 80242030 44810000 */ mtc1 $at, $f0 +/* CF4C04 80242034 00000000 */ nop +/* CF4C08 80242038 E6000014 */ swc1 $f0, 0x14($s0) +/* CF4C0C 8024203C E6160010 */ swc1 $f22, 0x10($s0) +/* CF4C10 80242040 E6140018 */ swc1 $f20, 0x18($s0) +/* CF4C14 80242044 8FBF0014 */ lw $ra, 0x14($sp) +/* CF4C18 80242048 8FB00010 */ lw $s0, 0x10($sp) +/* CF4C1C 8024204C D7B80028 */ ldc1 $f24, 0x28($sp) +/* CF4C20 80242050 D7B60020 */ ldc1 $f22, 0x20($sp) +/* CF4C24 80242054 D7B40018 */ ldc1 $f20, 0x18($sp) +/* CF4C28 80242058 03E00008 */ jr $ra +/* CF4C2C 8024205C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80242060.s b/asm/nonmatchings/world/area_flo/flo_25/func_80242060.s new file mode 100644 index 0000000000..9cfaf5f56d --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80242060.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242060 +/* CF4C30 80242060 27BDFF78 */ addiu $sp, $sp, -0x88 +/* CF4C34 80242064 AFB10054 */ sw $s1, 0x54($sp) +/* CF4C38 80242068 0080882D */ daddu $s1, $a0, $zero +/* CF4C3C 8024206C AFBF005C */ sw $ra, 0x5c($sp) +/* CF4C40 80242070 AFB20058 */ sw $s2, 0x58($sp) +/* CF4C44 80242074 AFB00050 */ sw $s0, 0x50($sp) +/* CF4C48 80242078 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* CF4C4C 8024207C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* CF4C50 80242080 F7B80070 */ sdc1 $f24, 0x70($sp) +/* CF4C54 80242084 F7B60068 */ sdc1 $f22, 0x68($sp) +/* CF4C58 80242088 F7B40060 */ sdc1 $f20, 0x60($sp) +/* CF4C5C 8024208C 8E30000C */ lw $s0, 0xc($s1) +/* CF4C60 80242090 8E050000 */ lw $a1, ($s0) +/* CF4C64 80242094 0C0B1EAF */ jal get_variable +/* CF4C68 80242098 26100004 */ addiu $s0, $s0, 4 +/* CF4C6C 8024209C 0C046C04 */ jal get_model_list_index_from_tree_index +/* CF4C70 802420A0 0040202D */ daddu $a0, $v0, $zero +/* CF4C74 802420A4 8E050000 */ lw $a1, ($s0) +/* CF4C78 802420A8 26100004 */ addiu $s0, $s0, 4 +/* CF4C7C 802420AC 0220202D */ daddu $a0, $s1, $zero +/* CF4C80 802420B0 0C0B210B */ jal get_float_variable +/* CF4C84 802420B4 0040902D */ daddu $s2, $v0, $zero +/* CF4C88 802420B8 8E050000 */ lw $a1, ($s0) +/* CF4C8C 802420BC 26100004 */ addiu $s0, $s0, 4 +/* CF4C90 802420C0 0220202D */ daddu $a0, $s1, $zero +/* CF4C94 802420C4 0C0B210B */ jal get_float_variable +/* CF4C98 802420C8 46000706 */ mov.s $f28, $f0 +/* CF4C9C 802420CC 8E050000 */ lw $a1, ($s0) +/* CF4CA0 802420D0 26100004 */ addiu $s0, $s0, 4 +/* CF4CA4 802420D4 0220202D */ daddu $a0, $s1, $zero +/* CF4CA8 802420D8 0C0B210B */ jal get_float_variable +/* CF4CAC 802420DC 46000686 */ mov.s $f26, $f0 +/* CF4CB0 802420E0 0220202D */ daddu $a0, $s1, $zero +/* CF4CB4 802420E4 8E050000 */ lw $a1, ($s0) +/* CF4CB8 802420E8 0C0B210B */ jal get_float_variable +/* CF4CBC 802420EC 46000586 */ mov.s $f22, $f0 +/* CF4CC0 802420F0 0240202D */ daddu $a0, $s2, $zero +/* CF4CC4 802420F4 0C046B4C */ jal get_model_from_list_index +/* CF4CC8 802420F8 46000606 */ mov.s $f24, $f0 +/* CF4CCC 802420FC 0040882D */ daddu $s1, $v0, $zero +/* CF4CD0 80242100 96220000 */ lhu $v0, ($s1) +/* CF4CD4 80242104 30420400 */ andi $v0, $v0, 0x400 +/* CF4CD8 80242108 1440001E */ bnez $v0, .L80242184 +/* CF4CDC 8024210C 26300058 */ addiu $s0, $s1, 0x58 +/* CF4CE0 80242110 4480A000 */ mtc1 $zero, $f20 +/* CF4CE4 80242114 4406B000 */ mfc1 $a2, $f22 +/* CF4CE8 80242118 4405A000 */ mfc1 $a1, $f20 +/* CF4CEC 8024211C 4407A000 */ mfc1 $a3, $f20 +/* CF4CF0 80242120 0C019E40 */ jal guTranslateF +/* CF4CF4 80242124 0200202D */ daddu $a0, $s0, $zero +/* CF4CF8 80242128 4405E000 */ mfc1 $a1, $f28 +/* CF4CFC 8024212C 4406D000 */ mfc1 $a2, $f26 +/* CF4D00 80242130 4407C000 */ mfc1 $a3, $f24 +/* CF4D04 80242134 0C0907FC */ jal func_80241FF0 +/* CF4D08 80242138 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D0C 8024213C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D10 80242140 0200282D */ daddu $a1, $s0, $zero +/* CF4D14 80242144 0C019D80 */ jal guMtxCatF +/* CF4D18 80242148 0200302D */ daddu $a2, $s0, $zero +/* CF4D1C 8024214C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D20 80242150 4600B587 */ neg.s $f22, $f22 +/* CF4D24 80242154 4405A000 */ mfc1 $a1, $f20 +/* CF4D28 80242158 4406B000 */ mfc1 $a2, $f22 +/* CF4D2C 8024215C 0C019E40 */ jal guTranslateF +/* CF4D30 80242160 00A0382D */ daddu $a3, $a1, $zero +/* CF4D34 80242164 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D38 80242168 0200282D */ daddu $a1, $s0, $zero +/* CF4D3C 8024216C 0C019D80 */ jal guMtxCatF +/* CF4D40 80242170 00A0302D */ daddu $a2, $a1, $zero +/* CF4D44 80242174 96220000 */ lhu $v0, ($s1) +/* CF4D48 80242178 34421400 */ ori $v0, $v0, 0x1400 +/* CF4D4C 8024217C 0809087F */ j .L802421FC +/* CF4D50 80242180 A6220000 */ sh $v0, ($s1) +.L80242184: +/* CF4D54 80242184 4480A000 */ mtc1 $zero, $f20 +/* CF4D58 80242188 4406B000 */ mfc1 $a2, $f22 +/* CF4D5C 8024218C 4405A000 */ mfc1 $a1, $f20 +/* CF4D60 80242190 4407A000 */ mfc1 $a3, $f20 +/* CF4D64 80242194 0C019E40 */ jal guTranslateF +/* CF4D68 80242198 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D6C 8024219C 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D70 802421A0 26300058 */ addiu $s0, $s1, 0x58 +/* CF4D74 802421A4 0200282D */ daddu $a1, $s0, $zero +/* CF4D78 802421A8 0C019D80 */ jal guMtxCatF +/* CF4D7C 802421AC 0200302D */ daddu $a2, $s0, $zero +/* CF4D80 802421B0 4405E000 */ mfc1 $a1, $f28 +/* CF4D84 802421B4 4406D000 */ mfc1 $a2, $f26 +/* CF4D88 802421B8 4407C000 */ mfc1 $a3, $f24 +/* CF4D8C 802421BC 0C0907FC */ jal func_80241FF0 +/* CF4D90 802421C0 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D94 802421C4 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4D98 802421C8 0200282D */ daddu $a1, $s0, $zero +/* CF4D9C 802421CC 0C019D80 */ jal guMtxCatF +/* CF4DA0 802421D0 0200302D */ daddu $a2, $s0, $zero +/* CF4DA4 802421D4 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4DA8 802421D8 4600B587 */ neg.s $f22, $f22 +/* CF4DAC 802421DC 4405A000 */ mfc1 $a1, $f20 +/* CF4DB0 802421E0 4406B000 */ mfc1 $a2, $f22 +/* CF4DB4 802421E4 0C019E40 */ jal guTranslateF +/* CF4DB8 802421E8 00A0382D */ daddu $a3, $a1, $zero +/* CF4DBC 802421EC 27A40010 */ addiu $a0, $sp, 0x10 +/* CF4DC0 802421F0 0200282D */ daddu $a1, $s0, $zero +/* CF4DC4 802421F4 0C019D80 */ jal guMtxCatF +/* CF4DC8 802421F8 00A0302D */ daddu $a2, $a1, $zero +.L802421FC: +/* CF4DCC 802421FC 8FBF005C */ lw $ra, 0x5c($sp) +/* CF4DD0 80242200 8FB20058 */ lw $s2, 0x58($sp) +/* CF4DD4 80242204 8FB10054 */ lw $s1, 0x54($sp) +/* CF4DD8 80242208 8FB00050 */ lw $s0, 0x50($sp) +/* CF4DDC 8024220C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* CF4DE0 80242210 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* CF4DE4 80242214 D7B80070 */ ldc1 $f24, 0x70($sp) +/* CF4DE8 80242218 D7B60068 */ ldc1 $f22, 0x68($sp) +/* CF4DEC 8024221C D7B40060 */ ldc1 $f20, 0x60($sp) +/* CF4DF0 80242220 24020002 */ addiu $v0, $zero, 2 +/* CF4DF4 80242224 03E00008 */ jr $ra +/* CF4DF8 80242228 27BD0088 */ addiu $sp, $sp, 0x88 +/* CF4DFC 8024222C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_flo/flo_25/func_80242230_CF2BD0.s b/asm/nonmatchings/world/area_flo/flo_25/func_80242230_CF2BD0.s new file mode 100644 index 0000000000..da1a6813aa --- /dev/null +++ b/asm/nonmatchings/world/area_flo/flo_25/func_80242230_CF2BD0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242230_CF4E00 +/* CF4E00 80242230 8C820084 */ lw $v0, 0x84($a0) +/* CF4E04 80242234 8C830090 */ lw $v1, 0x90($a0) +/* CF4E08 80242238 00431023 */ subu $v0, $v0, $v1 +/* CF4E0C 8024223C 44821000 */ mtc1 $v0, $f2 +/* CF4E10 80242240 00000000 */ nop +/* CF4E14 80242244 468010A0 */ cvt.s.w $f2, $f2 +/* CF4E18 80242248 8C820088 */ lw $v0, 0x88($a0) +/* CF4E1C 8024224C 8C830094 */ lw $v1, 0x94($a0) +/* CF4E20 80242250 46021082 */ mul.s $f2, $f2, $f2 +/* CF4E24 80242254 00000000 */ nop +/* CF4E28 80242258 00431023 */ subu $v0, $v0, $v1 +/* CF4E2C 8024225C 44822000 */ mtc1 $v0, $f4 +/* CF4E30 80242260 00000000 */ nop +/* CF4E34 80242264 46802120 */ cvt.s.w $f4, $f4 +/* CF4E38 80242268 8C82008C */ lw $v0, 0x8c($a0) +/* CF4E3C 8024226C 46042102 */ mul.s $f4, $f4, $f4 +/* CF4E40 80242270 00000000 */ nop +/* CF4E44 80242274 8C830098 */ lw $v1, 0x98($a0) +/* CF4E48 80242278 00431023 */ subu $v0, $v0, $v1 +/* CF4E4C 8024227C 44820000 */ mtc1 $v0, $f0 +/* CF4E50 80242280 00000000 */ nop +/* CF4E54 80242284 46800020 */ cvt.s.w $f0, $f0 +/* CF4E58 80242288 46000002 */ mul.s $f0, $f0, $f0 +/* CF4E5C 8024228C 00000000 */ nop +/* CF4E60 80242290 46041080 */ add.s $f2, $f2, $f4 +/* CF4E64 80242294 46001080 */ add.s $f2, $f2, $f0 +/* CF4E68 80242298 3C014561 */ lui $at, 0x4561 +/* CF4E6C 8024229C 44810000 */ mtc1 $at, $f0 +/* CF4E70 802422A0 00000000 */ nop +/* CF4E74 802422A4 4600103C */ c.lt.s $f2, $f0 +/* CF4E78 802422A8 00000000 */ nop +/* CF4E7C 802422AC 45010002 */ bc1t .L802422B8 +/* CF4E80 802422B0 24020001 */ addiu $v0, $zero, 1 +/* CF4E84 802422B4 0000102D */ daddu $v0, $zero, $zero +.L802422B8: +/* CF4E88 802422B8 AC820084 */ sw $v0, 0x84($a0) +/* CF4E8C 802422BC 03E00008 */ jr $ra +/* CF4E90 802422C0 24020002 */ addiu $v0, $zero, 2 +/* CF4E94 802422C4 00000000 */ nop +/* CF4E98 802422C8 00000000 */ nop +/* CF4E9C 802422CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_80240000_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_80240000_E1E460.s new file mode 100644 index 0000000000..99c32bcfb5 --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_80240000_E1E460.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_E1E460 +/* E1E460 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E1E464 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E1E468 80240008 8C430004 */ lw $v1, 4($v0) +/* E1E46C 8024000C 3C040010 */ lui $a0, 0x10 +/* E1E470 80240010 00641825 */ or $v1, $v1, $a0 +/* E1E474 80240014 AC430004 */ sw $v1, 4($v0) +/* E1E478 80240018 03E00008 */ jr $ra +/* E1E47C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_80240020_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_80240020_E1E460.s new file mode 100644 index 0000000000..67649d3c6d --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_80240020_E1E460.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_E1E480 +/* E1E480 80240020 3C028016 */ lui $v0, 0x8016 +/* E1E484 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* E1E488 80240028 AC820084 */ sw $v0, 0x84($a0) +/* E1E48C 8024002C 03E00008 */ jr $ra +/* E1E490 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_80240034_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_80240034_E1E460.s new file mode 100644 index 0000000000..886833bdd8 --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_80240034_E1E460.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_E1E494 +/* E1E494 80240034 3C038016 */ lui $v1, 0x8016 +/* E1E498 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* E1E49C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1E4A0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* E1E4A4 80240044 0080802D */ daddu $s0, $a0, $zero +/* E1E4A8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* E1E4AC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* E1E4B0 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* E1E4B4 80240054 24020002 */ addiu $v0, $zero, 2 +/* E1E4B8 80240058 08090038 */ j .L802400E0 +/* E1E4BC 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* E1E4C0 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* E1E4C4 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* E1E4C8 80240068 80620040 */ lb $v0, 0x40($v1) +/* E1E4CC 8024006C 80670044 */ lb $a3, 0x44($v1) +/* E1E4D0 80240070 04420001 */ bltzl $v0, .L80240078 +/* E1E4D4 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* E1E4D8 80240078 14400003 */ bnez $v0, .L80240088 +/* E1E4DC 8024007C 00000000 */ nop +/* E1E4E0 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* E1E4E4 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* E1E4E8 80240088 44822000 */ mtc1 $v0, $f4 +/* E1E4EC 8024008C 00000000 */ nop +/* E1E4F0 80240090 46802120 */ cvt.s.w $f4, $f4 +/* E1E4F4 80240094 44062000 */ mfc1 $a2, $f4 +/* E1E4F8 80240098 44872000 */ mtc1 $a3, $f4 +/* E1E4FC 8024009C 00000000 */ nop +/* E1E500 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* E1E504 802400A4 44806000 */ mtc1 $zero, $f12 +/* E1E508 802400A8 44072000 */ mfc1 $a3, $f4 +/* E1E50C 802400AC 0C00A720 */ jal atan2 +/* E1E510 802400B0 46006386 */ mov.s $f14, $f12 +/* E1E514 802400B4 3C014270 */ lui $at, 0x4270 +/* E1E518 802400B8 44811000 */ mtc1 $at, $f2 +/* E1E51C 802400BC 00000000 */ nop +/* E1E520 802400C0 4602003C */ c.lt.s $f0, $f2 +/* E1E524 802400C4 00000000 */ nop +/* E1E528 802400C8 45000004 */ bc1f .L802400DC +/* E1E52C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* E1E530 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* E1E534 802400D4 08090038 */ j .L802400E0 +/* E1E538 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* E1E53C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* E1E540 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* E1E544 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* E1E548 802400E8 03E00008 */ jr $ra +/* E1E54C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_802400F0_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_802400F0_E1E460.s new file mode 100644 index 0000000000..64a13483fd --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_802400F0_E1E460.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_E1E550 +/* E1E550 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E1E554 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* E1E558 802400F8 0080882D */ daddu $s1, $a0, $zero +/* E1E55C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* E1E560 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* E1E564 80240104 0C016AFA */ jal get_current_map_header +/* E1E568 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* E1E56C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* E1E570 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* E1E574 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E1E578 80240118 0C0B1EAF */ jal get_variable +/* E1E57C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* E1E580 80240120 0220202D */ daddu $a0, $s1, $zero +/* E1E584 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* E1E588 80240128 8E430014 */ lw $v1, 0x14($s2) +/* E1E58C 8024012C 00028100 */ sll $s0, $v0, 4 +/* E1E590 80240130 02031821 */ addu $v1, $s0, $v1 +/* E1E594 80240134 C4600000 */ lwc1 $f0, ($v1) +/* E1E598 80240138 4600008D */ trunc.w.s $f2, $f0 +/* E1E59C 8024013C 44061000 */ mfc1 $a2, $f2 +/* E1E5A0 80240140 0C0B2026 */ jal set_variable +/* E1E5A4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E1E5A8 80240148 0220202D */ daddu $a0, $s1, $zero +/* E1E5AC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* E1E5B0 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* E1E5B4 80240154 02021021 */ addu $v0, $s0, $v0 +/* E1E5B8 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* E1E5BC 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* E1E5C0 80240160 44061000 */ mfc1 $a2, $f2 +/* E1E5C4 80240164 0C0B2026 */ jal set_variable +/* E1E5C8 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E1E5CC 8024016C 0220202D */ daddu $a0, $s1, $zero +/* E1E5D0 80240170 8E420014 */ lw $v0, 0x14($s2) +/* E1E5D4 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* E1E5D8 80240178 02021021 */ addu $v0, $s0, $v0 +/* E1E5DC 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* E1E5E0 80240180 4600008D */ trunc.w.s $f2, $f0 +/* E1E5E4 80240184 44061000 */ mfc1 $a2, $f2 +/* E1E5E8 80240188 0C0B2026 */ jal set_variable +/* E1E5EC 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E1E5F0 80240190 0220202D */ daddu $a0, $s1, $zero +/* E1E5F4 80240194 8E420014 */ lw $v0, 0x14($s2) +/* E1E5F8 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* E1E5FC 8024019C 02028021 */ addu $s0, $s0, $v0 +/* E1E600 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* E1E604 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* E1E608 802401A8 44061000 */ mfc1 $a2, $f2 +/* E1E60C 802401AC 0C0B2026 */ jal set_variable +/* E1E610 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* E1E614 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* E1E618 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* E1E61C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* E1E620 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* E1E624 802401C4 24020002 */ addiu $v0, $zero, 2 +/* E1E628 802401C8 03E00008 */ jr $ra +/* E1E62C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_802401D0_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_802401D0_E1E460.s new file mode 100644 index 0000000000..4b4079a470 --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_802401D0_E1E460.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_E1E630 +/* E1E630 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* E1E634 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* E1E638 802401D8 3C014334 */ lui $at, 0x4334 +/* E1E63C 802401DC 44816000 */ mtc1 $at, $f12 +/* E1E640 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1E644 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* E1E648 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* E1E64C 802401EC 00031080 */ sll $v0, $v1, 2 +/* E1E650 802401F0 00431021 */ addu $v0, $v0, $v1 +/* E1E654 802401F4 00021080 */ sll $v0, $v0, 2 +/* E1E658 802401F8 00431023 */ subu $v0, $v0, $v1 +/* E1E65C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* E1E660 80240200 00431021 */ addu $v0, $v0, $v1 +/* E1E664 80240204 000210C0 */ sll $v0, $v0, 3 +/* E1E668 80240208 3C01800B */ lui $at, 0x800b +/* E1E66C 8024020C 00220821 */ addu $at, $at, $v0 +/* E1E670 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* E1E674 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* E1E678 80240218 0C00A6C9 */ jal clamp_angle +/* E1E67C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* E1E680 80240220 4600008D */ trunc.w.s $f2, $f0 +/* E1E684 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* E1E688 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* E1E68C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* E1E690 80240230 24020002 */ addiu $v0, $zero, 2 +/* E1E694 80240234 03E00008 */ jr $ra +/* E1E698 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_8024023C_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_8024023C_E1E460.s new file mode 100644 index 0000000000..f181a0032f --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_8024023C_E1E460.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_E1E69C +/* E1E69C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E1E6A0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* E1E6A4 80240244 0080802D */ daddu $s0, $a0, $zero +/* E1E6A8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* E1E6AC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* E1E6B0 80240250 8E02000C */ lw $v0, 0xc($s0) +/* E1E6B4 80240254 0C0B210B */ jal get_float_variable +/* E1E6B8 80240258 8C450000 */ lw $a1, ($v0) +/* E1E6BC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* E1E6C0 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* E1E6C4 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* E1E6C8 80240268 44060000 */ mfc1 $a2, $f0 +/* E1E6CC 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* E1E6D0 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* E1E6D4 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* E1E6D8 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* E1E6DC 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* E1E6E0 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* E1E6E4 80240284 0C00A7E7 */ jal add_vec2D_polar +/* E1E6E8 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* E1E6EC 8024028C 0200202D */ daddu $a0, $s0, $zero +/* E1E6F0 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* E1E6F4 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* E1E6F8 80240298 0C0B2190 */ jal set_float_variable +/* E1E6FC 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E1E700 802402A0 0200202D */ daddu $a0, $s0, $zero +/* E1E704 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* E1E708 802402A8 4406A000 */ mfc1 $a2, $f20 +/* E1E70C 802402AC 0C0B2190 */ jal set_float_variable +/* E1E710 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E1E714 802402B4 0200202D */ daddu $a0, $s0, $zero +/* E1E718 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* E1E71C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* E1E720 802402C0 0C0B2190 */ jal set_float_variable +/* E1E724 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E1E728 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* E1E72C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* E1E730 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* E1E734 802402D4 24020002 */ addiu $v0, $zero, 2 +/* E1E738 802402D8 03E00008 */ jr $ra +/* E1E73C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_802402E0_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_802402E0_E1E460.s new file mode 100644 index 0000000000..04ab960f79 --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_802402E0_E1E460.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_E1E740 +/* E1E740 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1E744 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* E1E748 802402E8 0080802D */ daddu $s0, $a0, $zero +/* E1E74C 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* E1E750 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* E1E754 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* E1E758 802402F8 00621821 */ addu $v1, $v1, $v0 +/* E1E75C 802402FC 04610004 */ bgez $v1, .L80240310 +/* E1E760 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* E1E764 80240304 3C020002 */ lui $v0, 2 +/* E1E768 80240308 080900C8 */ j .L80240320 +/* E1E76C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* E1E770 80240310 3C040002 */ lui $a0, 2 +/* E1E774 80240314 0083102A */ slt $v0, $a0, $v1 +/* E1E778 80240318 10400002 */ beqz $v0, .L80240324 +/* E1E77C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* E1E780 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* E1E784 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* E1E788 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* E1E78C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* E1E790 80240330 04610004 */ bgez $v1, .L80240344 +/* E1E794 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* E1E798 80240338 3C020002 */ lui $v0, 2 +/* E1E79C 8024033C 080900D5 */ j .L80240354 +/* E1E7A0 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* E1E7A4 80240344 3C040002 */ lui $a0, 2 +/* E1E7A8 80240348 0083102A */ slt $v0, $a0, $v1 +/* E1E7AC 8024034C 10400002 */ beqz $v0, .L80240358 +/* E1E7B0 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* E1E7B4 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* E1E7B8 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* E1E7BC 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* E1E7C0 80240360 00621821 */ addu $v1, $v1, $v0 +/* E1E7C4 80240364 04610004 */ bgez $v1, .L80240378 +/* E1E7C8 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* E1E7CC 8024036C 3C020002 */ lui $v0, 2 +/* E1E7D0 80240370 080900E2 */ j .L80240388 +/* E1E7D4 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* E1E7D8 80240378 3C040002 */ lui $a0, 2 +/* E1E7DC 8024037C 0083102A */ slt $v0, $a0, $v1 +/* E1E7E0 80240380 10400002 */ beqz $v0, .L8024038C +/* E1E7E4 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* E1E7E8 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* E1E7EC 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* E1E7F0 80240390 8E020094 */ lw $v0, 0x94($s0) +/* E1E7F4 80240394 00621821 */ addu $v1, $v1, $v0 +/* E1E7F8 80240398 04610004 */ bgez $v1, .L802403AC +/* E1E7FC 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* E1E800 802403A0 3C020002 */ lui $v0, 2 +/* E1E804 802403A4 080900EF */ j .L802403BC +/* E1E808 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* E1E80C 802403AC 3C040002 */ lui $a0, 2 +/* E1E810 802403B0 0083102A */ slt $v0, $a0, $v1 +/* E1E814 802403B4 10400002 */ beqz $v0, .L802403C0 +/* E1E818 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* E1E81C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* E1E820 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* E1E824 802403C4 0C046F07 */ jal set_main_pan_u +/* E1E828 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* E1E82C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* E1E830 802403D0 0C046F0D */ jal set_main_pan_v +/* E1E834 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* E1E838 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* E1E83C 802403DC 0C046F13 */ jal set_aux_pan_u +/* E1E840 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* E1E844 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* E1E848 802403E8 0C046F19 */ jal set_aux_pan_v +/* E1E84C 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* E1E850 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* E1E854 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* E1E858 802403F8 0000102D */ daddu $v0, $zero, $zero +/* E1E85C 802403FC 03E00008 */ jr $ra +/* E1E860 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_80240404_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_80240404_E1E460.s new file mode 100644 index 0000000000..638612c1bb --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_80240404_E1E460.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_E1E864 +/* E1E864 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1E868 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* E1E86C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* E1E870 80240410 10A00005 */ beqz $a1, .L80240428 +/* E1E874 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* E1E878 80240418 AE000070 */ sw $zero, 0x70($s0) +/* E1E87C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* E1E880 80240420 AE000078 */ sw $zero, 0x78($s0) +/* E1E884 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* E1E888 80240428 8E020070 */ lw $v0, 0x70($s0) +/* E1E88C 8024042C 1440000E */ bnez $v0, .L80240468 +/* E1E890 80240430 00000000 */ nop +/* E1E894 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* E1E898 80240438 8E020088 */ lw $v0, 0x88($s0) +/* E1E89C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* E1E8A0 80240440 04610004 */ bgez $v1, .L80240454 +/* E1E8A4 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* E1E8A8 80240448 3C020002 */ lui $v0, 2 +/* E1E8AC 8024044C 08090119 */ j .L80240464 +/* E1E8B0 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* E1E8B4 80240454 3C040002 */ lui $a0, 2 +/* E1E8B8 80240458 0083102A */ slt $v0, $a0, $v1 +/* E1E8BC 8024045C 10400002 */ beqz $v0, .L80240468 +/* E1E8C0 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* E1E8C4 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* E1E8C8 80240468 8E020074 */ lw $v0, 0x74($s0) +/* E1E8CC 8024046C 1440000E */ bnez $v0, .L802404A8 +/* E1E8D0 80240470 00000000 */ nop +/* E1E8D4 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* E1E8D8 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* E1E8DC 8024047C 00621821 */ addu $v1, $v1, $v0 +/* E1E8E0 80240480 04610004 */ bgez $v1, .L80240494 +/* E1E8E4 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* E1E8E8 80240488 3C020002 */ lui $v0, 2 +/* E1E8EC 8024048C 08090129 */ j .L802404A4 +/* E1E8F0 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* E1E8F4 80240494 3C040002 */ lui $a0, 2 +/* E1E8F8 80240498 0083102A */ slt $v0, $a0, $v1 +/* E1E8FC 8024049C 10400002 */ beqz $v0, .L802404A8 +/* E1E900 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* E1E904 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* E1E908 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* E1E90C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* E1E910 802404B0 00000000 */ nop +/* E1E914 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* E1E918 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* E1E91C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* E1E920 802404C0 04610004 */ bgez $v1, .L802404D4 +/* E1E924 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* E1E928 802404C8 3C020002 */ lui $v0, 2 +/* E1E92C 802404CC 08090139 */ j .L802404E4 +/* E1E930 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* E1E934 802404D4 3C040002 */ lui $a0, 2 +/* E1E938 802404D8 0083102A */ slt $v0, $a0, $v1 +/* E1E93C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* E1E940 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* E1E944 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* E1E948 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* E1E94C 802404EC 1440000E */ bnez $v0, .L80240528 +/* E1E950 802404F0 00000000 */ nop +/* E1E954 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* E1E958 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* E1E95C 802404FC 00621821 */ addu $v1, $v1, $v0 +/* E1E960 80240500 04610004 */ bgez $v1, .L80240514 +/* E1E964 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* E1E968 80240508 3C020002 */ lui $v0, 2 +/* E1E96C 8024050C 08090149 */ j .L80240524 +/* E1E970 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* E1E974 80240514 3C040002 */ lui $a0, 2 +/* E1E978 80240518 0083102A */ slt $v0, $a0, $v1 +/* E1E97C 8024051C 10400002 */ beqz $v0, .L80240528 +/* E1E980 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* E1E984 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* E1E988 80240528 8E040084 */ lw $a0, 0x84($s0) +/* E1E98C 8024052C 0C046F07 */ jal set_main_pan_u +/* E1E990 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* E1E994 80240534 8E040084 */ lw $a0, 0x84($s0) +/* E1E998 80240538 0C046F0D */ jal set_main_pan_v +/* E1E99C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* E1E9A0 80240540 8E040084 */ lw $a0, 0x84($s0) +/* E1E9A4 80240544 0C046F13 */ jal set_aux_pan_u +/* E1E9A8 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* E1E9AC 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* E1E9B0 80240550 0C046F19 */ jal set_aux_pan_v +/* E1E9B4 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* E1E9B8 80240558 8E020070 */ lw $v0, 0x70($s0) +/* E1E9BC 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* E1E9C0 80240560 8E040098 */ lw $a0, 0x98($s0) +/* E1E9C4 80240564 24420001 */ addiu $v0, $v0, 1 +/* E1E9C8 80240568 AE020070 */ sw $v0, 0x70($s0) +/* E1E9CC 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* E1E9D0 80240570 24630001 */ addiu $v1, $v1, 1 +/* E1E9D4 80240574 AE030078 */ sw $v1, 0x78($s0) +/* E1E9D8 80240578 8E030070 */ lw $v1, 0x70($s0) +/* E1E9DC 8024057C 24420001 */ addiu $v0, $v0, 1 +/* E1E9E0 80240580 AE020074 */ sw $v0, 0x74($s0) +/* E1E9E4 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* E1E9E8 80240588 0064182A */ slt $v1, $v1, $a0 +/* E1E9EC 8024058C 24420001 */ addiu $v0, $v0, 1 +/* E1E9F0 80240590 14600002 */ bnez $v1, .L8024059C +/* E1E9F4 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* E1E9F8 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* E1E9FC 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* E1EA00 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* E1EA04 802405A4 0043102A */ slt $v0, $v0, $v1 +/* E1EA08 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* E1EA0C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* E1EA10 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* E1EA14 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* E1EA18 802405B8 0043102A */ slt $v0, $v0, $v1 +/* E1EA1C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* E1EA20 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* E1EA24 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* E1EA28 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* E1EA2C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* E1EA30 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* E1EA34 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* E1EA38 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* E1EA3C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* E1EA40 802405E0 0000102D */ daddu $v0, $zero, $zero +/* E1EA44 802405E4 03E00008 */ jr $ra +/* E1EA48 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_802405EC_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_802405EC_E1E460.s new file mode 100644 index 0000000000..6a5ea4103e --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_802405EC_E1E460.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_E1EA4C +/* E1EA4C 802405EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1EA50 802405F0 AFB00010 */ sw $s0, 0x10($sp) +/* E1EA54 802405F4 0080802D */ daddu $s0, $a0, $zero +/* E1EA58 802405F8 10A00008 */ beqz $a1, .L8024061C +/* E1EA5C 802405FC AFBF0014 */ sw $ra, 0x14($sp) +/* E1EA60 80240600 3C013F80 */ lui $at, 0x3f80 +/* E1EA64 80240604 44816000 */ mtc1 $at, $f12 +/* E1EA68 80240608 0C00AFB7 */ jal set_curtain_scale_goal +/* E1EA6C 8024060C AE000070 */ sw $zero, 0x70($s0) +/* E1EA70 80240610 44806000 */ mtc1 $zero, $f12 +/* E1EA74 80240614 0C00AFC9 */ jal set_curtain_fade +/* E1EA78 80240618 00000000 */ nop +.L8024061C: +/* E1EA7C 8024061C 8E020070 */ lw $v0, 0x70($s0) +/* E1EA80 80240620 24420005 */ addiu $v0, $v0, 5 +/* E1EA84 80240624 AE020070 */ sw $v0, 0x70($s0) +/* E1EA88 80240628 28420100 */ slti $v0, $v0, 0x100 +/* E1EA8C 8024062C 14400003 */ bnez $v0, .L8024063C +/* E1EA90 80240630 24040001 */ addiu $a0, $zero, 1 +/* E1EA94 80240634 240200FF */ addiu $v0, $zero, 0xff +/* E1EA98 80240638 AE020070 */ sw $v0, 0x70($s0) +.L8024063C: +/* E1EA9C 8024063C 240500D0 */ addiu $a1, $zero, 0xd0 +/* E1EAA0 80240640 00A0302D */ daddu $a2, $a1, $zero +/* E1EAA4 80240644 0C04DF84 */ jal func_80137E10 +/* E1EAA8 80240648 00A0382D */ daddu $a3, $a1, $zero +/* E1EAAC 8024064C C6000070 */ lwc1 $f0, 0x70($s0) +/* E1EAB0 80240650 46800020 */ cvt.s.w $f0, $f0 +/* E1EAB4 80240654 44050000 */ mfc1 $a1, $f0 +/* E1EAB8 80240658 0C04DF69 */ jal func_80137DA4 +/* E1EABC 8024065C 0000202D */ daddu $a0, $zero, $zero +/* E1EAC0 80240660 24040001 */ addiu $a0, $zero, 1 +/* E1EAC4 80240664 0C04E035 */ jal func_801380D4 +/* E1EAC8 80240668 0000282D */ daddu $a1, $zero, $zero +/* E1EACC 8024066C 8E020070 */ lw $v0, 0x70($s0) +/* E1EAD0 80240670 8FBF0014 */ lw $ra, 0x14($sp) +/* E1EAD4 80240674 8FB00010 */ lw $s0, 0x10($sp) +/* E1EAD8 80240678 384200FF */ xori $v0, $v0, 0xff +/* E1EADC 8024067C 2C420001 */ sltiu $v0, $v0, 1 +/* E1EAE0 80240680 03E00008 */ jr $ra +/* E1EAE4 80240684 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_gv/gv_01/func_80240688_E1E460.s b/asm/nonmatchings/world/area_gv/gv_01/func_80240688_E1E460.s new file mode 100644 index 0000000000..c5f6dc6596 --- /dev/null +++ b/asm/nonmatchings/world/area_gv/gv_01/func_80240688_E1E460.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240688_E1EAE8 +/* E1EAE8 80240688 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E1EAEC 8024068C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* E1EAF0 80240690 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* E1EAF4 80240694 AFBF0010 */ sw $ra, 0x10($sp) +/* E1EAF8 80240698 8C620000 */ lw $v0, ($v1) +/* E1EAFC 8024069C A0400070 */ sb $zero, 0x70($v0) +/* E1EB00 802406A0 8C620000 */ lw $v0, ($v1) +/* E1EB04 802406A4 A0400076 */ sb $zero, 0x76($v0) +/* E1EB08 802406A8 8C620000 */ lw $v0, ($v1) +/* E1EB0C 802406AC A0400078 */ sb $zero, 0x78($v0) +/* E1EB10 802406B0 8C620000 */ lw $v0, ($v1) +/* E1EB14 802406B4 3C04800A */ lui $a0, %hi(D_8009A650) +/* E1EB18 802406B8 2484A650 */ addiu $a0, $a0, %lo(D_8009A650) +/* E1EB1C 802406BC A040007D */ sb $zero, 0x7d($v0) +/* E1EB20 802406C0 8C820000 */ lw $v0, ($a0) +/* E1EB24 802406C4 2403FFF7 */ addiu $v1, $zero, -9 +/* E1EB28 802406C8 00431024 */ and $v0, $v0, $v1 +/* E1EB2C 802406CC 0C00AB00 */ jal general_heap_create +/* E1EB30 802406D0 AC820000 */ sw $v0, ($a0) +/* E1EB34 802406D4 0C047624 */ jal func_8011D890 +/* E1EB38 802406D8 00000000 */ nop +/* E1EB3C 802406DC 0C048C2E */ jal clear_dynamic_entity_list +/* E1EB40 802406E0 00000000 */ nop +/* E1EB44 802406E4 0C0B0C77 */ jal clear_script_list +/* E1EB48 802406E8 00000000 */ nop +/* E1EB4C 802406EC 0C00B7BD */ jal create_cameras_a +/* E1EB50 802406F0 00000000 */ nop +/* E1EB54 802406F4 0C0B763E */ jal func_802DD8F8 +/* E1EB58 802406F8 0000202D */ daddu $a0, $zero, $zero +/* E1EB5C 802406FC 0C0482EC */ jal clear_virtual_models +/* E1EB60 80240700 00000000 */ nop +/* E1EB64 80240704 0C047889 */ jal func_8011E224 +/* E1EB68 80240708 00000000 */ nop +/* E1EB6C 8024070C 0C045751 */ jal clear_model_data +/* E1EB70 80240710 00000000 */ nop +/* E1EB74 80240714 0C052010 */ jal func_80148040 +/* E1EB78 80240718 00000000 */ nop +/* E1EB7C 8024071C 0C05177E */ jal func_80145DF8 +/* E1EB80 80240720 00000000 */ nop +/* E1EB84 80240724 0C050440 */ jal func_80141100 +/* E1EB88 80240728 00000000 */ nop +/* E1EB8C 8024072C 0C0515A0 */ jal clear_trigger_data +/* E1EB90 80240730 00000000 */ nop +/* E1EB94 80240734 0C048D9D */ jal clear_printers +/* E1EB98 80240738 00000000 */ nop +/* E1EB9C 8024073C 0C04432E */ jal clear_entity_data +/* E1EBA0 80240740 0000202D */ daddu $a0, $zero, $zero +/* E1EBA4 80240744 0C04E042 */ jal func_80138108 +/* E1EBA8 80240748 00000000 */ nop +/* E1EBAC 8024074C 0C037F14 */ jal clear_player_status +/* E1EBB0 80240750 00000000 */ nop +/* E1EBB4 80240754 0C00E12F */ jal clear_npcs +/* E1EBB8 80240758 00000000 */ nop +/* E1EBBC 8024075C 0C039CE8 */ jal clear_player_data +/* E1EBC0 80240760 00000000 */ nop +/* E1EBC4 80240764 0C01CACC */ jal func_80072B30 +/* E1EBC8 80240768 00000000 */ nop +/* E1EBCC 8024076C 0C00F8CE */ jal func_8003E338 +/* E1EBD0 80240770 00000000 */ nop +/* E1EBD4 80240774 0C016727 */ jal func_80059C9C +/* E1EBD8 80240778 00000000 */ nop +/* E1EBDC 8024077C 0C04C3FC */ jal clear_item_entity_data +/* E1EBE0 80240780 00000000 */ nop +/* E1EBE4 80240784 0C0514C8 */ jal clear_saved_variables +/* E1EBE8 80240788 00000000 */ nop +/* E1EBEC 8024078C 0C016BE5 */ jal initialize_collision +/* E1EBF0 80240790 00000000 */ nop +/* E1EBF4 80240794 0C00CDF4 */ jal intro_logos_set_fade_alpha +/* E1EBF8 80240798 240400FF */ addiu $a0, $zero, 0xff +/* E1EBFC 8024079C 0C00CDF8 */ jal intro_logos_set_fade_color +/* E1EC00 802407A0 240400D0 */ addiu $a0, $zero, 0xd0 +/* E1EC04 802407A4 0C00CD3C */ jal set_game_mode +/* E1EC08 802407A8 24040002 */ addiu $a0, $zero, 2 +/* E1EC0C 802407AC 8FBF0010 */ lw $ra, 0x10($sp) +/* E1EC10 802407B0 240200FF */ addiu $v0, $zero, 0xff +/* E1EC14 802407B4 03E00008 */ jr $ra +/* E1EC18 802407B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* E1EC1C 802407BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240000_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240000_A0BCF0.s new file mode 100644 index 0000000000..434a92453e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240000_A0BCF0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A0BCF0 +/* A0BCF0 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A0BCF4 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A0BCF8 80240008 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A0BCFC 8024000C AFBF0010 */ sw $ra, 0x10($sp) +/* A0BD00 80240010 8443008E */ lh $v1, 0x8e($v0) +/* A0BD04 80240014 24020003 */ addiu $v0, $zero, 3 +/* A0BD08 80240018 14620006 */ bne $v1, $v0, .L80240034 +/* A0BD0C 8024001C 00000000 */ nop +/* A0BD10 80240020 3C04800E */ lui $a0, 0x800e +/* A0BD14 80240024 24849668 */ addiu $a0, $a0, -0x6998 +/* A0BD18 80240028 3C058024 */ lui $a1, 0x8024 +/* A0BD1C 8024002C 0C01953C */ jal sprintf +/* A0BD20 80240030 24A54B30 */ addiu $a1, $a1, 0x4b30 +.L80240034: +/* A0BD24 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A0BD28 80240038 0000102D */ daddu $v0, $zero, $zero +/* A0BD2C 8024003C 03E00008 */ jr $ra +/* A0BD30 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A0BD34 80240044 00000000 */ nop +/* A0BD38 80240048 00000000 */ nop +/* A0BD3C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240050_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240050_A0BCF0.s new file mode 100644 index 0000000000..592d58a92b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240050_A0BCF0.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A0BD40 +/* A0BD40 80240050 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A0BD44 80240054 AFB1002C */ sw $s1, 0x2c($sp) +/* A0BD48 80240058 0080882D */ daddu $s1, $a0, $zero +/* A0BD4C 8024005C AFBF0030 */ sw $ra, 0x30($sp) +/* A0BD50 80240060 AFB00028 */ sw $s0, 0x28($sp) +/* A0BD54 80240064 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A0BD58 80240068 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A0BD5C 8024006C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A0BD60 80240070 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A0BD64 80240074 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A0BD68 80240078 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A0BD6C 8024007C 8E30000C */ lw $s0, 0xc($s1) +/* A0BD70 80240080 8E050000 */ lw $a1, ($s0) +/* A0BD74 80240084 0C0B210B */ jal get_float_variable +/* A0BD78 80240088 26100004 */ addiu $s0, $s0, 4 +/* A0BD7C 8024008C 8E050000 */ lw $a1, ($s0) +/* A0BD80 80240090 26100004 */ addiu $s0, $s0, 4 +/* A0BD84 80240094 0220202D */ daddu $a0, $s1, $zero +/* A0BD88 80240098 0C0B210B */ jal get_float_variable +/* A0BD8C 8024009C E7A00020 */ swc1 $f0, 0x20($sp) +/* A0BD90 802400A0 8E050000 */ lw $a1, ($s0) +/* A0BD94 802400A4 26100004 */ addiu $s0, $s0, 4 +/* A0BD98 802400A8 0220202D */ daddu $a0, $s1, $zero +/* A0BD9C 802400AC 0C0B210B */ jal get_float_variable +/* A0BDA0 802400B0 46000786 */ mov.s $f30, $f0 +/* A0BDA4 802400B4 8E050000 */ lw $a1, ($s0) +/* A0BDA8 802400B8 26100004 */ addiu $s0, $s0, 4 +/* A0BDAC 802400BC 0220202D */ daddu $a0, $s1, $zero +/* A0BDB0 802400C0 0C0B210B */ jal get_float_variable +/* A0BDB4 802400C4 46000706 */ mov.s $f28, $f0 +/* A0BDB8 802400C8 8E050000 */ lw $a1, ($s0) +/* A0BDBC 802400CC 26100004 */ addiu $s0, $s0, 4 +/* A0BDC0 802400D0 0220202D */ daddu $a0, $s1, $zero +/* A0BDC4 802400D4 0C0B210B */ jal get_float_variable +/* A0BDC8 802400D8 46000686 */ mov.s $f26, $f0 +/* A0BDCC 802400DC 8E050000 */ lw $a1, ($s0) +/* A0BDD0 802400E0 26100004 */ addiu $s0, $s0, 4 +/* A0BDD4 802400E4 0220202D */ daddu $a0, $s1, $zero +/* A0BDD8 802400E8 0C0B210B */ jal get_float_variable +/* A0BDDC 802400EC 46000606 */ mov.s $f24, $f0 +/* A0BDE0 802400F0 8E050000 */ lw $a1, ($s0) +/* A0BDE4 802400F4 26100004 */ addiu $s0, $s0, 4 +/* A0BDE8 802400F8 0220202D */ daddu $a0, $s1, $zero +/* A0BDEC 802400FC 0C0B210B */ jal get_float_variable +/* A0BDF0 80240100 46000586 */ mov.s $f22, $f0 +/* A0BDF4 80240104 0220202D */ daddu $a0, $s1, $zero +/* A0BDF8 80240108 8E050000 */ lw $a1, ($s0) +/* A0BDFC 8024010C 0C0B210B */ jal get_float_variable +/* A0BE00 80240110 46000506 */ mov.s $f20, $f0 +/* A0BE04 80240114 4405F000 */ mfc1 $a1, $f30 +/* A0BE08 80240118 4406E000 */ mfc1 $a2, $f28 +/* A0BE0C 8024011C 4407D000 */ mfc1 $a3, $f26 +/* A0BE10 80240120 C7A20020 */ lwc1 $f2, 0x20($sp) +/* A0BE14 80240124 E7B80010 */ swc1 $f24, 0x10($sp) +/* A0BE18 80240128 E7B60014 */ swc1 $f22, 0x14($sp) +/* A0BE1C 8024012C E7B40018 */ swc1 $f20, 0x18($sp) +/* A0BE20 80240130 4600108D */ trunc.w.s $f2, $f2 +/* A0BE24 80240134 44041000 */ mfc1 $a0, $f2 +/* A0BE28 80240138 0C01BF8C */ jal func_8006FE30 +/* A0BE2C 8024013C E7A0001C */ swc1 $f0, 0x1c($sp) +/* A0BE30 80240140 8FBF0030 */ lw $ra, 0x30($sp) +/* A0BE34 80240144 8FB1002C */ lw $s1, 0x2c($sp) +/* A0BE38 80240148 8FB00028 */ lw $s0, 0x28($sp) +/* A0BE3C 8024014C D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A0BE40 80240150 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A0BE44 80240154 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A0BE48 80240158 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A0BE4C 8024015C D7B60040 */ ldc1 $f22, 0x40($sp) +/* A0BE50 80240160 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A0BE54 80240164 24020002 */ addiu $v0, $zero, 2 +/* A0BE58 80240168 03E00008 */ jr $ra +/* A0BE5C 8024016C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240170.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240170.s new file mode 100644 index 0000000000..23f21dca07 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240170.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170 +/* A0BE60 80240170 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A0BE64 80240174 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A0BE68 80240178 3C01800B */ lui $at, 0x800b +/* A0BE6C 8024017C C43A1DEC */ lwc1 $f26, 0x1dec($at) +/* A0BE70 80240180 3C014334 */ lui $at, 0x4334 +/* A0BE74 80240184 44810000 */ mtc1 $at, $f0 +/* A0BE78 80240188 3C014049 */ lui $at, 0x4049 +/* A0BE7C 8024018C 34210FD8 */ ori $at, $at, 0xfd8 +/* A0BE80 80240190 44811000 */ mtc1 $at, $f2 +/* A0BE84 80240194 240401F4 */ addiu $a0, $zero, 0x1f4 +/* A0BE88 80240198 AFBF0034 */ sw $ra, 0x34($sp) +/* A0BE8C 8024019C 4600D683 */ div.s $f26, $f26, $f0 +/* A0BE90 802401A0 4602D682 */ mul.s $f26, $f26, $f2 +/* A0BE94 802401A4 00000000 */ nop +/* A0BE98 802401A8 AFB00030 */ sw $s0, 0x30($sp) +/* A0BE9C 802401AC F7B60040 */ sdc1 $f22, 0x40($sp) +/* A0BEA0 802401B0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A0BEA4 802401B4 3C018024 */ lui $at, 0x8024 +/* A0BEA8 802401B8 D4204B40 */ ldc1 $f0, 0x4b40($at) +/* A0BEAC 802401BC 4600D521 */ cvt.d.s $f20, $f26 +/* A0BEB0 802401C0 4620A580 */ add.d $f22, $f20, $f0 +/* A0BEB4 802401C4 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A0BEB8 802401C8 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A0BEBC 802401CC 4620A501 */ sub.d $f20, $f20, $f0 +/* A0BEC0 802401D0 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A0BEC4 802401D4 4620B5A0 */ cvt.s.d $f22, $f22 +/* A0BEC8 802401D8 0C00A67F */ jal rand_int +/* A0BECC 802401DC 4620A520 */ cvt.s.d $f20, $f20 +/* A0BED0 802401E0 2442FF06 */ addiu $v0, $v0, -0xfa +/* A0BED4 802401E4 4482C000 */ mtc1 $v0, $f24 +/* A0BED8 802401E8 00000000 */ nop +/* A0BEDC 802401EC 4680C620 */ cvt.s.w $f24, $f24 +/* A0BEE0 802401F0 0C00A67F */ jal rand_int +/* A0BEE4 802401F4 240401F4 */ addiu $a0, $zero, 0x1f4 +/* A0BEE8 802401F8 24040064 */ addiu $a0, $zero, 0x64 +/* A0BEEC 802401FC 2442FF06 */ addiu $v0, $v0, -0xfa +/* A0BEF0 80240200 44822000 */ mtc1 $v0, $f4 +/* A0BEF4 80240204 00000000 */ nop +/* A0BEF8 80240208 46802120 */ cvt.s.w $f4, $f4 +/* A0BEFC 8024020C 0C00A67F */ jal rand_int +/* A0BF00 80240210 E7A40028 */ swc1 $f4, 0x28($sp) +/* A0BF04 80240214 24420258 */ addiu $v0, $v0, 0x258 +/* A0BF08 80240218 4482E000 */ mtc1 $v0, $f28 +/* A0BF0C 8024021C 00000000 */ nop +/* A0BF10 80240220 4680E720 */ cvt.s.w $f28, $f28 +/* A0BF14 80240224 0C00A85B */ jal sin_rad +/* A0BF18 80240228 4600D306 */ mov.s $f12, $f26 +/* A0BF1C 8024022C 4600E002 */ mul.s $f0, $f28, $f0 +/* A0BF20 80240230 00000000 */ nop +/* A0BF24 80240234 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A0BF28 80240238 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A0BF2C 8024023C C6020028 */ lwc1 $f2, 0x28($s0) +/* A0BF30 80240240 46001780 */ add.s $f30, $f2, $f0 +/* A0BF34 80240244 0C00A85B */ jal sin_rad +/* A0BF38 80240248 4600B306 */ mov.s $f12, $f22 +/* A0BF3C 8024024C 4600C002 */ mul.s $f0, $f24, $f0 +/* A0BF40 80240250 00000000 */ nop +/* A0BF44 80240254 C602002C */ lwc1 $f2, 0x2c($s0) +/* A0BF48 80240258 4600F780 */ add.s $f30, $f30, $f0 +/* A0BF4C 8024025C 3C014348 */ lui $at, 0x4348 +/* A0BF50 80240260 44810000 */ mtc1 $at, $f0 +/* A0BF54 80240264 00000000 */ nop +/* A0BF58 80240268 46001080 */ add.s $f2, $f2, $f0 +/* A0BF5C 8024026C 4600D306 */ mov.s $f12, $f26 +/* A0BF60 80240270 E7BE0020 */ swc1 $f30, 0x20($sp) +/* A0BF64 80240274 0C00A874 */ jal cos_rad +/* A0BF68 80240278 E7A20024 */ swc1 $f2, 0x24($sp) +/* A0BF6C 8024027C 4600E002 */ mul.s $f0, $f28, $f0 +/* A0BF70 80240280 00000000 */ nop +/* A0BF74 80240284 C61E0030 */ lwc1 $f30, 0x30($s0) +/* A0BF78 80240288 4600F781 */ sub.s $f30, $f30, $f0 +/* A0BF7C 8024028C 0C00A874 */ jal cos_rad +/* A0BF80 80240290 4600B306 */ mov.s $f12, $f22 +/* A0BF84 80240294 4600C602 */ mul.s $f24, $f24, $f0 +/* A0BF88 80240298 00000000 */ nop +/* A0BF8C 8024029C 4618F781 */ sub.s $f30, $f30, $f24 +/* A0BF90 802402A0 0C00A85B */ jal sin_rad +/* A0BF94 802402A4 4600D306 */ mov.s $f12, $f26 +/* A0BF98 802402A8 4600E002 */ mul.s $f0, $f28, $f0 +/* A0BF9C 802402AC 00000000 */ nop +/* A0BFA0 802402B0 C6180028 */ lwc1 $f24, 0x28($s0) +/* A0BFA4 802402B4 4600A306 */ mov.s $f12, $f20 +/* A0BFA8 802402B8 0C00A85B */ jal sin_rad +/* A0BFAC 802402BC 4600C600 */ add.s $f24, $f24, $f0 +/* A0BFB0 802402C0 C7A40028 */ lwc1 $f4, 0x28($sp) +/* A0BFB4 802402C4 46002002 */ mul.s $f0, $f4, $f0 +/* A0BFB8 802402C8 00000000 */ nop +/* A0BFBC 802402CC 4600D306 */ mov.s $f12, $f26 +/* A0BFC0 802402D0 C61A002C */ lwc1 $f26, 0x2c($s0) +/* A0BFC4 802402D4 0C00A874 */ jal cos_rad +/* A0BFC8 802402D8 4600C600 */ add.s $f24, $f24, $f0 +/* A0BFCC 802402DC 4600E702 */ mul.s $f28, $f28, $f0 +/* A0BFD0 802402E0 00000000 */ nop +/* A0BFD4 802402E4 C6160030 */ lwc1 $f22, 0x30($s0) +/* A0BFD8 802402E8 4600A306 */ mov.s $f12, $f20 +/* A0BFDC 802402EC 0C00A874 */ jal cos_rad +/* A0BFE0 802402F0 461CB581 */ sub.s $f22, $f22, $f28 +/* A0BFE4 802402F4 C7A40028 */ lwc1 $f4, 0x28($sp) +/* A0BFE8 802402F8 46002002 */ mul.s $f0, $f4, $f0 +/* A0BFEC 802402FC 00000000 */ nop +/* A0BFF0 80240300 2404000A */ addiu $a0, $zero, 0xa +/* A0BFF4 80240304 0C00A67F */ jal rand_int +/* A0BFF8 80240308 4600B581 */ sub.s $f22, $f22, $f0 +/* A0BFFC 8024030C 0000202D */ daddu $a0, $zero, $zero +/* A0C000 80240310 2442000A */ addiu $v0, $v0, 0xa +/* A0C004 80240314 8FA50020 */ lw $a1, 0x20($sp) +/* A0C008 80240318 8FA60024 */ lw $a2, 0x24($sp) +/* A0C00C 8024031C 4407F000 */ mfc1 $a3, $f30 +/* A0C010 80240320 44820000 */ mtc1 $v0, $f0 +/* A0C014 80240324 00000000 */ nop +/* A0C018 80240328 46800020 */ cvt.s.w $f0, $f0 +/* A0C01C 8024032C E7B80010 */ swc1 $f24, 0x10($sp) +/* A0C020 80240330 E7BA0014 */ swc1 $f26, 0x14($sp) +/* A0C024 80240334 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A0C028 80240338 0C01BF8C */ jal func_8006FE30 +/* A0C02C 8024033C E7B60018 */ swc1 $f22, 0x18($sp) +/* A0C030 80240340 8FBF0034 */ lw $ra, 0x34($sp) +/* A0C034 80240344 8FB00030 */ lw $s0, 0x30($sp) +/* A0C038 80240348 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A0C03C 8024034C D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A0C040 80240350 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A0C044 80240354 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A0C048 80240358 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A0C04C 8024035C D7B40038 */ ldc1 $f20, 0x38($sp) +/* A0C050 80240360 24020002 */ addiu $v0, $zero, 2 +/* A0C054 80240364 03E00008 */ jr $ra +/* A0C058 80240368 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_8024036C.s b/asm/nonmatchings/world/area_hos/hos_00/func_8024036C.s new file mode 100644 index 0000000000..322b00775a --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_8024036C.s @@ -0,0 +1,139 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C +/* A0C05C 8024036C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A0C060 80240370 3C01800B */ lui $at, 0x800b +/* A0C064 80240374 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A0C068 80240378 3C014334 */ lui $at, 0x4334 +/* A0C06C 8024037C 44811000 */ mtc1 $at, $f2 +/* A0C070 80240380 3C014049 */ lui $at, 0x4049 +/* A0C074 80240384 34210FD8 */ ori $at, $at, 0xfd8 +/* A0C078 80240388 44812000 */ mtc1 $at, $f4 +/* A0C07C 8024038C 2404012C */ addiu $a0, $zero, 0x12c +/* A0C080 80240390 AFBF0034 */ sw $ra, 0x34($sp) +/* A0C084 80240394 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A0C088 80240398 46020003 */ div.s $f0, $f0, $f2 +/* A0C08C 8024039C 46040782 */ mul.s $f30, $f0, $f4 +/* A0C090 802403A0 00000000 */ nop +/* A0C094 802403A4 AFB00030 */ sw $s0, 0x30($sp) +/* A0C098 802403A8 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A0C09C 802403AC F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A0C0A0 802403B0 3C018024 */ lui $at, 0x8024 +/* A0C0A4 802403B4 D4224B48 */ ldc1 $f2, 0x4b48($at) +/* A0C0A8 802403B8 4600F021 */ cvt.d.s $f0, $f30 +/* A0C0AC 802403BC 46220100 */ add.d $f4, $f0, $f2 +/* A0C0B0 802403C0 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A0C0B4 802403C4 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A0C0B8 802403C8 46220001 */ sub.d $f0, $f0, $f2 +/* A0C0BC 802403CC F7B40038 */ sdc1 $f20, 0x38($sp) +/* A0C0C0 802403D0 46202120 */ cvt.s.d $f4, $f4 +/* A0C0C4 802403D4 46200020 */ cvt.s.d $f0, $f0 +/* A0C0C8 802403D8 E7A40020 */ swc1 $f4, 0x20($sp) +/* A0C0CC 802403DC 0C00A67F */ jal rand_int +/* A0C0D0 802403E0 E7A00024 */ swc1 $f0, 0x24($sp) +/* A0C0D4 802403E4 2442FF6A */ addiu $v0, $v0, -0x96 +/* A0C0D8 802403E8 4482B000 */ mtc1 $v0, $f22 +/* A0C0DC 802403EC 00000000 */ nop +/* A0C0E0 802403F0 4680B5A0 */ cvt.s.w $f22, $f22 +/* A0C0E4 802403F4 0C00A67F */ jal rand_int +/* A0C0E8 802403F8 2404012C */ addiu $a0, $zero, 0x12c +/* A0C0EC 802403FC 24040064 */ addiu $a0, $zero, 0x64 +/* A0C0F0 80240400 2442FF6A */ addiu $v0, $v0, -0x96 +/* A0C0F4 80240404 44823000 */ mtc1 $v0, $f6 +/* A0C0F8 80240408 00000000 */ nop +/* A0C0FC 8024040C 468031A0 */ cvt.s.w $f6, $f6 +/* A0C100 80240410 0C00A67F */ jal rand_int +/* A0C104 80240414 E7A60028 */ swc1 $f6, 0x28($sp) +/* A0C108 80240418 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A0C10C 8024041C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A0C110 80240420 24420032 */ addiu $v0, $v0, 0x32 +/* A0C114 80240424 C602002C */ lwc1 $f2, 0x2c($s0) +/* A0C118 80240428 3C01437A */ lui $at, 0x437a +/* A0C11C 8024042C 44810000 */ mtc1 $at, $f0 +/* A0C120 80240430 4482A000 */ mtc1 $v0, $f20 +/* A0C124 80240434 00000000 */ nop +/* A0C128 80240438 4680A520 */ cvt.s.w $f20, $f20 +/* A0C12C 8024043C 4602003E */ c.le.s $f0, $f2 +/* A0C130 80240440 00000000 */ nop +/* A0C134 80240444 45010045 */ bc1t .L8024055C +/* A0C138 80240448 24020002 */ addiu $v0, $zero, 2 +/* A0C13C 8024044C 0C00A85B */ jal sin_rad +/* A0C140 80240450 4600F306 */ mov.s $f12, $f30 +/* A0C144 80240454 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C148 80240458 00000000 */ nop +/* A0C14C 8024045C C61A0028 */ lwc1 $f26, 0x28($s0) +/* A0C150 80240460 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A0C154 80240464 0C00A85B */ jal sin_rad +/* A0C158 80240468 4600D681 */ sub.s $f26, $f26, $f0 +/* A0C15C 8024046C 4600B002 */ mul.s $f0, $f22, $f0 +/* A0C160 80240470 00000000 */ nop +/* A0C164 80240474 C61C002C */ lwc1 $f28, 0x2c($s0) +/* A0C168 80240478 4600D680 */ add.s $f26, $f26, $f0 +/* A0C16C 8024047C 3C014348 */ lui $at, 0x4348 +/* A0C170 80240480 44810000 */ mtc1 $at, $f0 +/* A0C174 80240484 00000000 */ nop +/* A0C178 80240488 4600E700 */ add.s $f28, $f28, $f0 +/* A0C17C 8024048C 0C00A874 */ jal cos_rad +/* A0C180 80240490 4600F306 */ mov.s $f12, $f30 +/* A0C184 80240494 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C188 80240498 00000000 */ nop +/* A0C18C 8024049C C6180030 */ lwc1 $f24, 0x30($s0) +/* A0C190 802404A0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A0C194 802404A4 0C00A874 */ jal cos_rad +/* A0C198 802404A8 4600C600 */ add.s $f24, $f24, $f0 +/* A0C19C 802404AC 4600B002 */ mul.s $f0, $f22, $f0 +/* A0C1A0 802404B0 00000000 */ nop +/* A0C1A4 802404B4 4600C601 */ sub.s $f24, $f24, $f0 +/* A0C1A8 802404B8 0C00A85B */ jal sin_rad +/* A0C1AC 802404BC 4600F306 */ mov.s $f12, $f30 +/* A0C1B0 802404C0 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C1B4 802404C4 00000000 */ nop +/* A0C1B8 802404C8 C6160028 */ lwc1 $f22, 0x28($s0) +/* A0C1BC 802404CC C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A0C1C0 802404D0 0C00A85B */ jal sin_rad +/* A0C1C4 802404D4 4600B581 */ sub.s $f22, $f22, $f0 +/* A0C1C8 802404D8 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A0C1CC 802404DC 46003002 */ mul.s $f0, $f6, $f0 +/* A0C1D0 802404E0 00000000 */ nop +/* A0C1D4 802404E4 4600F306 */ mov.s $f12, $f30 +/* A0C1D8 802404E8 C61E002C */ lwc1 $f30, 0x2c($s0) +/* A0C1DC 802404EC 0C00A874 */ jal cos_rad +/* A0C1E0 802404F0 4600B580 */ add.s $f22, $f22, $f0 +/* A0C1E4 802404F4 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C1E8 802404F8 00000000 */ nop +/* A0C1EC 802404FC C6140030 */ lwc1 $f20, 0x30($s0) +/* A0C1F0 80240500 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A0C1F4 80240504 0C00A874 */ jal cos_rad +/* A0C1F8 80240508 4600A500 */ add.s $f20, $f20, $f0 +/* A0C1FC 8024050C C7A60028 */ lwc1 $f6, 0x28($sp) +/* A0C200 80240510 46003002 */ mul.s $f0, $f6, $f0 +/* A0C204 80240514 00000000 */ nop +/* A0C208 80240518 2404000A */ addiu $a0, $zero, 0xa +/* A0C20C 8024051C 0C00A67F */ jal rand_int +/* A0C210 80240520 4600A501 */ sub.s $f20, $f20, $f0 +/* A0C214 80240524 24040001 */ addiu $a0, $zero, 1 +/* A0C218 80240528 2442000A */ addiu $v0, $v0, 0xa +/* A0C21C 8024052C 4405D000 */ mfc1 $a1, $f26 +/* A0C220 80240530 4406E000 */ mfc1 $a2, $f28 +/* A0C224 80240534 4407C000 */ mfc1 $a3, $f24 +/* A0C228 80240538 44820000 */ mtc1 $v0, $f0 +/* A0C22C 8024053C 00000000 */ nop +/* A0C230 80240540 46800020 */ cvt.s.w $f0, $f0 +/* A0C234 80240544 E7B60010 */ swc1 $f22, 0x10($sp) +/* A0C238 80240548 E7BE0014 */ swc1 $f30, 0x14($sp) +/* A0C23C 8024054C E7A0001C */ swc1 $f0, 0x1c($sp) +/* A0C240 80240550 0C01BF8C */ jal func_8006FE30 +/* A0C244 80240554 E7B40018 */ swc1 $f20, 0x18($sp) +/* A0C248 80240558 24020002 */ addiu $v0, $zero, 2 +.L8024055C: +/* A0C24C 8024055C 8FBF0034 */ lw $ra, 0x34($sp) +/* A0C250 80240560 8FB00030 */ lw $s0, 0x30($sp) +/* A0C254 80240564 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A0C258 80240568 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A0C25C 8024056C D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A0C260 80240570 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A0C264 80240574 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A0C268 80240578 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A0C26C 8024057C 03E00008 */ jr $ra +/* A0C270 80240580 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240584_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240584_A0BCF0.s new file mode 100644 index 0000000000..cf307d46fa --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240584_A0BCF0.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240584_A0C274 +/* A0C274 80240584 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A0C278 80240588 AFB10034 */ sw $s1, 0x34($sp) +/* A0C27C 8024058C 0080882D */ daddu $s1, $a0, $zero +/* A0C280 80240590 3C01800B */ lui $at, 0x800b +/* A0C284 80240594 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A0C288 80240598 3C014334 */ lui $at, 0x4334 +/* A0C28C 8024059C 44811000 */ mtc1 $at, $f2 +/* A0C290 802405A0 3C014049 */ lui $at, 0x4049 +/* A0C294 802405A4 34210FD8 */ ori $at, $at, 0xfd8 +/* A0C298 802405A8 44812000 */ mtc1 $at, $f4 +/* A0C29C 802405AC 24040096 */ addiu $a0, $zero, 0x96 +/* A0C2A0 802405B0 AFBF0038 */ sw $ra, 0x38($sp) +/* A0C2A4 802405B4 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* A0C2A8 802405B8 46020003 */ div.s $f0, $f0, $f2 +/* A0C2AC 802405BC 46040782 */ mul.s $f30, $f0, $f4 +/* A0C2B0 802405C0 00000000 */ nop +/* A0C2B4 802405C4 AFB00030 */ sw $s0, 0x30($sp) +/* A0C2B8 802405C8 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* A0C2BC 802405CC F7BA0058 */ sdc1 $f26, 0x58($sp) +/* A0C2C0 802405D0 3C018024 */ lui $at, 0x8024 +/* A0C2C4 802405D4 D4224B50 */ ldc1 $f2, 0x4b50($at) +/* A0C2C8 802405D8 4600F021 */ cvt.d.s $f0, $f30 +/* A0C2CC 802405DC 46220100 */ add.d $f4, $f0, $f2 +/* A0C2D0 802405E0 F7B80050 */ sdc1 $f24, 0x50($sp) +/* A0C2D4 802405E4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A0C2D8 802405E8 46220001 */ sub.d $f0, $f0, $f2 +/* A0C2DC 802405EC F7B40040 */ sdc1 $f20, 0x40($sp) +/* A0C2E0 802405F0 46202120 */ cvt.s.d $f4, $f4 +/* A0C2E4 802405F4 46200020 */ cvt.s.d $f0, $f0 +/* A0C2E8 802405F8 E7A40020 */ swc1 $f4, 0x20($sp) +/* A0C2EC 802405FC 0C00A67F */ jal rand_int +/* A0C2F0 80240600 E7A00024 */ swc1 $f0, 0x24($sp) +/* A0C2F4 80240604 24040096 */ addiu $a0, $zero, 0x96 +/* A0C2F8 80240608 44823000 */ mtc1 $v0, $f6 +/* A0C2FC 8024060C 00000000 */ nop +/* A0C300 80240610 468031A0 */ cvt.s.w $f6, $f6 +/* A0C304 80240614 0C00A67F */ jal rand_int +/* A0C308 80240618 E7A60028 */ swc1 $f6, 0x28($sp) +/* A0C30C 8024061C 24040064 */ addiu $a0, $zero, 0x64 +/* A0C310 80240620 44823000 */ mtc1 $v0, $f6 +/* A0C314 80240624 00000000 */ nop +/* A0C318 80240628 468031A0 */ cvt.s.w $f6, $f6 +/* A0C31C 8024062C 0C00A67F */ jal rand_int +/* A0C320 80240630 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A0C324 80240634 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A0C328 80240638 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A0C32C 8024063C 2442FFCE */ addiu $v0, $v0, -0x32 +/* A0C330 80240640 C6000030 */ lwc1 $f0, 0x30($s0) +/* A0C334 80240644 3C014348 */ lui $at, 0x4348 +/* A0C338 80240648 4481B000 */ mtc1 $at, $f22 +/* A0C33C 8024064C 4482A000 */ mtc1 $v0, $f20 +/* A0C340 80240650 00000000 */ nop +/* A0C344 80240654 4680A520 */ cvt.s.w $f20, $f20 +/* A0C348 80240658 4616003C */ c.lt.s $f0, $f22 +/* A0C34C 8024065C 00000000 */ nop +/* A0C350 80240660 4501004A */ bc1t .L8024078C +/* A0C354 80240664 24020002 */ addiu $v0, $zero, 2 +/* A0C358 80240668 0C00A85B */ jal sin_rad +/* A0C35C 8024066C 4600F306 */ mov.s $f12, $f30 +/* A0C360 80240670 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C364 80240674 00000000 */ nop +/* A0C368 80240678 C61A0028 */ lwc1 $f26, 0x28($s0) +/* A0C36C 8024067C C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A0C370 80240680 0C00A85B */ jal sin_rad +/* A0C374 80240684 4600D681 */ sub.s $f26, $f26, $f0 +/* A0C378 80240688 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A0C37C 8024068C 46003002 */ mul.s $f0, $f6, $f0 +/* A0C380 80240690 00000000 */ nop +/* A0C384 80240694 C61C002C */ lwc1 $f28, 0x2c($s0) +/* A0C388 80240698 4616E700 */ add.s $f28, $f28, $f22 +/* A0C38C 8024069C 4600D680 */ add.s $f26, $f26, $f0 +/* A0C390 802406A0 0C00A874 */ jal cos_rad +/* A0C394 802406A4 4600F306 */ mov.s $f12, $f30 +/* A0C398 802406A8 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C39C 802406AC 00000000 */ nop +/* A0C3A0 802406B0 C6180030 */ lwc1 $f24, 0x30($s0) +/* A0C3A4 802406B4 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A0C3A8 802406B8 0C00A874 */ jal cos_rad +/* A0C3AC 802406BC 4600C600 */ add.s $f24, $f24, $f0 +/* A0C3B0 802406C0 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A0C3B4 802406C4 46003002 */ mul.s $f0, $f6, $f0 +/* A0C3B8 802406C8 00000000 */ nop +/* A0C3BC 802406CC 4600C601 */ sub.s $f24, $f24, $f0 +/* A0C3C0 802406D0 4600D18D */ trunc.w.s $f6, $f26 +/* A0C3C4 802406D4 E6260088 */ swc1 $f6, 0x88($s1) +/* A0C3C8 802406D8 4600E18D */ trunc.w.s $f6, $f28 +/* A0C3CC 802406DC E626008C */ swc1 $f6, 0x8c($s1) +/* A0C3D0 802406E0 4600C18D */ trunc.w.s $f6, $f24 +/* A0C3D4 802406E4 E6260090 */ swc1 $f6, 0x90($s1) +/* A0C3D8 802406E8 0C00A85B */ jal sin_rad +/* A0C3DC 802406EC 4600F306 */ mov.s $f12, $f30 +/* A0C3E0 802406F0 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C3E4 802406F4 00000000 */ nop +/* A0C3E8 802406F8 C6160028 */ lwc1 $f22, 0x28($s0) +/* A0C3EC 802406FC C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A0C3F0 80240700 0C00A85B */ jal sin_rad +/* A0C3F4 80240704 4600B581 */ sub.s $f22, $f22, $f0 +/* A0C3F8 80240708 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* A0C3FC 8024070C 46003002 */ mul.s $f0, $f6, $f0 +/* A0C400 80240710 00000000 */ nop +/* A0C404 80240714 4600F306 */ mov.s $f12, $f30 +/* A0C408 80240718 C61E002C */ lwc1 $f30, 0x2c($s0) +/* A0C40C 8024071C 0C00A874 */ jal cos_rad +/* A0C410 80240720 4600B580 */ add.s $f22, $f22, $f0 +/* A0C414 80240724 4600A002 */ mul.s $f0, $f20, $f0 +/* A0C418 80240728 00000000 */ nop +/* A0C41C 8024072C C6140030 */ lwc1 $f20, 0x30($s0) +/* A0C420 80240730 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A0C424 80240734 0C00A874 */ jal cos_rad +/* A0C428 80240738 4600A500 */ add.s $f20, $f20, $f0 +/* A0C42C 8024073C C7A6002C */ lwc1 $f6, 0x2c($sp) +/* A0C430 80240740 46003002 */ mul.s $f0, $f6, $f0 +/* A0C434 80240744 00000000 */ nop +/* A0C438 80240748 24040004 */ addiu $a0, $zero, 4 +/* A0C43C 8024074C 0C00A67F */ jal rand_int +/* A0C440 80240750 4600A501 */ sub.s $f20, $f20, $f0 +/* A0C444 80240754 24040002 */ addiu $a0, $zero, 2 +/* A0C448 80240758 2442000A */ addiu $v0, $v0, 0xa +/* A0C44C 8024075C 4405D000 */ mfc1 $a1, $f26 +/* A0C450 80240760 4406E000 */ mfc1 $a2, $f28 +/* A0C454 80240764 4407C000 */ mfc1 $a3, $f24 +/* A0C458 80240768 44820000 */ mtc1 $v0, $f0 +/* A0C45C 8024076C 00000000 */ nop +/* A0C460 80240770 46800020 */ cvt.s.w $f0, $f0 +/* A0C464 80240774 E7B60010 */ swc1 $f22, 0x10($sp) +/* A0C468 80240778 E7BE0014 */ swc1 $f30, 0x14($sp) +/* A0C46C 8024077C E7A0001C */ swc1 $f0, 0x1c($sp) +/* A0C470 80240780 0C01BF8C */ jal func_8006FE30 +/* A0C474 80240784 E7B40018 */ swc1 $f20, 0x18($sp) +/* A0C478 80240788 24020002 */ addiu $v0, $zero, 2 +.L8024078C: +/* A0C47C 8024078C 8FBF0038 */ lw $ra, 0x38($sp) +/* A0C480 80240790 8FB10034 */ lw $s1, 0x34($sp) +/* A0C484 80240794 8FB00030 */ lw $s0, 0x30($sp) +/* A0C488 80240798 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* A0C48C 8024079C D7BC0060 */ ldc1 $f28, 0x60($sp) +/* A0C490 802407A0 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* A0C494 802407A4 D7B80050 */ ldc1 $f24, 0x50($sp) +/* A0C498 802407A8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A0C49C 802407AC D7B40040 */ ldc1 $f20, 0x40($sp) +/* A0C4A0 802407B0 03E00008 */ jr $ra +/* A0C4A4 802407B4 27BD0070 */ addiu $sp, $sp, 0x70 +/* A0C4A8 802407B8 00000000 */ nop +/* A0C4AC 802407BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_802407C0_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_802407C0_A0BCF0.s new file mode 100644 index 0000000000..8a35eb943d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_802407C0_A0BCF0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407C0_A0C4B0 +/* A0C4B0 802407C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A0C4B4 802407C4 AFBF0010 */ sw $ra, 0x10($sp) +/* A0C4B8 802407C8 8C82000C */ lw $v0, 0xc($a0) +/* A0C4BC 802407CC 0C0B1EAF */ jal get_variable +/* A0C4C0 802407D0 8C450000 */ lw $a1, ($v0) +/* A0C4C4 802407D4 8FBF0010 */ lw $ra, 0x10($sp) +/* A0C4C8 802407D8 3C018011 */ lui $at, 0x8011 +/* A0C4CC 802407DC A022F2A2 */ sb $v0, -0xd5e($at) +/* A0C4D0 802407E0 24020002 */ addiu $v0, $zero, 2 +/* A0C4D4 802407E4 03E00008 */ jr $ra +/* A0C4D8 802407E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A0C4DC 802407EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_802407F0_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_802407F0_A0BCF0.s new file mode 100644 index 0000000000..9e71d5b4dd --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_802407F0_A0BCF0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F0_A0C4E0 +/* A0C4E0 802407F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A0C4E4 802407F4 AFB00010 */ sw $s0, 0x10($sp) +/* A0C4E8 802407F8 3C108024 */ lui $s0, 0x8024 +/* A0C4EC 802407FC 26102970 */ addiu $s0, $s0, 0x2970 +/* A0C4F0 80240800 AFBF0018 */ sw $ra, 0x18($sp) +/* A0C4F4 80240804 AFB10014 */ sw $s1, 0x14($sp) +/* A0C4F8 80240808 8E020000 */ lw $v0, ($s0) +/* A0C4FC 8024080C 14400010 */ bnez $v0, .L80240850 +/* A0C500 80240810 0080882D */ daddu $s1, $a0, $zero +/* A0C504 80240814 0C00AB39 */ jal heap_malloc +/* A0C508 80240818 24040040 */ addiu $a0, $zero, 0x40 +/* A0C50C 8024081C AE020000 */ sw $v0, ($s0) +/* A0C510 80240820 0000182D */ daddu $v1, $zero, $zero +/* A0C514 80240824 0040282D */ daddu $a1, $v0, $zero +/* A0C518 80240828 0220202D */ daddu $a0, $s1, $zero +.L8024082C: +/* A0C51C 8024082C 8C820084 */ lw $v0, 0x84($a0) +/* A0C520 80240830 24840004 */ addiu $a0, $a0, 4 +/* A0C524 80240834 24630001 */ addiu $v1, $v1, 1 +/* A0C528 80240838 ACA20000 */ sw $v0, ($a1) +/* A0C52C 8024083C 28620010 */ slti $v0, $v1, 0x10 +/* A0C530 80240840 1440FFFA */ bnez $v0, .L8024082C +/* A0C534 80240844 24A50004 */ addiu $a1, $a1, 4 +/* A0C538 80240848 08090223 */ j .L8024088C +/* A0C53C 8024084C 00000000 */ nop +.L80240850: +/* A0C540 80240850 0000182D */ daddu $v1, $zero, $zero +/* A0C544 80240854 0040282D */ daddu $a1, $v0, $zero +/* A0C548 80240858 0220202D */ daddu $a0, $s1, $zero +.L8024085C: +/* A0C54C 8024085C 8CA20000 */ lw $v0, ($a1) +/* A0C550 80240860 24A50004 */ addiu $a1, $a1, 4 +/* A0C554 80240864 24630001 */ addiu $v1, $v1, 1 +/* A0C558 80240868 AC820084 */ sw $v0, 0x84($a0) +/* A0C55C 8024086C 28620010 */ slti $v0, $v1, 0x10 +/* A0C560 80240870 1440FFFA */ bnez $v0, .L8024085C +/* A0C564 80240874 24840004 */ addiu $a0, $a0, 4 +/* A0C568 80240878 3C108024 */ lui $s0, 0x8024 +/* A0C56C 8024087C 26102970 */ addiu $s0, $s0, 0x2970 +/* A0C570 80240880 0C00AB4B */ jal heap_free +/* A0C574 80240884 8E040000 */ lw $a0, ($s0) +/* A0C578 80240888 AE000000 */ sw $zero, ($s0) +.L8024088C: +/* A0C57C 8024088C 8FBF0018 */ lw $ra, 0x18($sp) +/* A0C580 80240890 8FB10014 */ lw $s1, 0x14($sp) +/* A0C584 80240894 8FB00010 */ lw $s0, 0x10($sp) +/* A0C588 80240898 24020002 */ addiu $v0, $zero, 2 +/* A0C58C 8024089C 03E00008 */ jr $ra +/* A0C590 802408A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_802408A4.s b/asm/nonmatchings/world/area_hos/hos_00/func_802408A4.s new file mode 100644 index 0000000000..326c45dd49 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_802408A4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A4 +/* A0C594 802408A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A0C598 802408A8 AFB00010 */ sw $s0, 0x10($sp) +/* A0C59C 802408AC 0080802D */ daddu $s0, $a0, $zero +/* A0C5A0 802408B0 AFBF0018 */ sw $ra, 0x18($sp) +/* A0C5A4 802408B4 AFB10014 */ sw $s1, 0x14($sp) +/* A0C5A8 802408B8 8E02000C */ lw $v0, 0xc($s0) +/* A0C5AC 802408BC 8C510000 */ lw $s1, ($v0) +/* A0C5B0 802408C0 0C0B1EAF */ jal get_variable +/* A0C5B4 802408C4 0220282D */ daddu $a1, $s1, $zero +/* A0C5B8 802408C8 3C03FFF0 */ lui $v1, 0xfff0 +/* A0C5BC 802408CC 3463FFFF */ ori $v1, $v1, 0xffff +/* A0C5C0 802408D0 0200202D */ daddu $a0, $s0, $zero +/* A0C5C4 802408D4 00431024 */ and $v0, $v0, $v1 +/* A0C5C8 802408D8 00021140 */ sll $v0, $v0, 5 +/* A0C5CC 802408DC 3C068008 */ lui $a2, %hi(gItemTable) +/* A0C5D0 802408E0 00C23021 */ addu $a2, $a2, $v0 +/* A0C5D4 802408E4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A0C5D8 802408E8 0C0B2026 */ jal set_variable +/* A0C5DC 802408EC 0220282D */ daddu $a1, $s1, $zero +/* A0C5E0 802408F0 8FBF0018 */ lw $ra, 0x18($sp) +/* A0C5E4 802408F4 8FB10014 */ lw $s1, 0x14($sp) +/* A0C5E8 802408F8 8FB00010 */ lw $s0, 0x10($sp) +/* A0C5EC 802408FC 24020002 */ addiu $v0, $zero, 2 +/* A0C5F0 80240900 03E00008 */ jr $ra +/* A0C5F4 80240904 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240908_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240908_A0BCF0.s new file mode 100644 index 0000000000..33ee37042b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240908_A0BCF0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240908_A0C5F8 +/* A0C5F8 80240908 24020001 */ addiu $v0, $zero, 1 +/* A0C5FC 8024090C 3C018011 */ lui $at, 0x8011 +/* A0C600 80240910 A022F29A */ sb $v0, -0xd66($at) +/* A0C604 80240914 03E00008 */ jr $ra +/* A0C608 80240918 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_8024091C_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_8024091C_A0BCF0.s new file mode 100644 index 0000000000..b9933b0752 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_8024091C_A0BCF0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024091C_A0C60C +/* A0C60C 8024091C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A0C610 80240920 AFB10014 */ sw $s1, 0x14($sp) +/* A0C614 80240924 0080882D */ daddu $s1, $a0, $zero +/* A0C618 80240928 AFBF0018 */ sw $ra, 0x18($sp) +/* A0C61C 8024092C AFB00010 */ sw $s0, 0x10($sp) +/* A0C620 80240930 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A0C624 80240934 8E30000C */ lw $s0, 0xc($s1) +/* A0C628 80240938 8E050000 */ lw $a1, ($s0) +/* A0C62C 8024093C 0C0B210B */ jal get_float_variable +/* A0C630 80240940 26100004 */ addiu $s0, $s0, 4 +/* A0C634 80240944 0220202D */ daddu $a0, $s1, $zero +/* A0C638 80240948 8E050000 */ lw $a1, ($s0) +/* A0C63C 8024094C 0C0B210B */ jal get_float_variable +/* A0C640 80240950 46000506 */ mov.s $f20, $f0 +/* A0C644 80240954 0C00A8BB */ jal sin_deg +/* A0C648 80240958 46000306 */ mov.s $f12, $f0 +/* A0C64C 8024095C 4600A502 */ mul.s $f20, $f20, $f0 +/* A0C650 80240960 00000000 */ nop +/* A0C654 80240964 26100004 */ addiu $s0, $s0, 4 +/* A0C658 80240968 8E050000 */ lw $a1, ($s0) +/* A0C65C 8024096C 4406A000 */ mfc1 $a2, $f20 +/* A0C660 80240970 0C0B2190 */ jal set_float_variable +/* A0C664 80240974 0220202D */ daddu $a0, $s1, $zero +/* A0C668 80240978 8FBF0018 */ lw $ra, 0x18($sp) +/* A0C66C 8024097C 8FB10014 */ lw $s1, 0x14($sp) +/* A0C670 80240980 8FB00010 */ lw $s0, 0x10($sp) +/* A0C674 80240984 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A0C678 80240988 24020002 */ addiu $v0, $zero, 2 +/* A0C67C 8024098C 03E00008 */ jr $ra +/* A0C680 80240990 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240994_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240994_A0BCF0.s new file mode 100644 index 0000000000..c4db5b26d5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240994_A0BCF0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240994_A0C684 +/* A0C684 80240994 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A0C688 80240998 2404FFFC */ addiu $a0, $zero, -4 +/* A0C68C 8024099C AFBF0020 */ sw $ra, 0x20($sp) +/* A0C690 802409A0 AFB3001C */ sw $s3, 0x1c($sp) +/* A0C694 802409A4 AFB20018 */ sw $s2, 0x18($sp) +/* A0C698 802409A8 AFB10014 */ sw $s1, 0x14($sp) +/* A0C69C 802409AC 0C00EABB */ jal get_npc_unsafe +/* A0C6A0 802409B0 AFB00010 */ sw $s0, 0x10($sp) +/* A0C6A4 802409B4 0000202D */ daddu $a0, $zero, $zero +/* A0C6A8 802409B8 0C00EABB */ jal get_npc_unsafe +/* A0C6AC 802409BC 0040882D */ daddu $s1, $v0, $zero +/* A0C6B0 802409C0 0040802D */ daddu $s0, $v0, $zero +/* A0C6B4 802409C4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A0C6B8 802409C8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A0C6BC 802409CC 8E060038 */ lw $a2, 0x38($s0) +/* A0C6C0 802409D0 0C00A720 */ jal atan2 +/* A0C6C4 802409D4 8E070040 */ lw $a3, 0x40($s0) +/* A0C6C8 802409D8 E620000C */ swc1 $f0, 0xc($s1) +/* A0C6CC 802409DC 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* A0C6D0 802409E0 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* A0C6D4 802409E4 C62C0028 */ lwc1 $f12, 0x28($s1) +/* A0C6D8 802409E8 C62E0030 */ lwc1 $f14, 0x30($s1) +/* A0C6DC 802409EC 8E060038 */ lw $a2, 0x38($s0) +/* A0C6E0 802409F0 0C00A720 */ jal atan2 +/* A0C6E4 802409F4 8E070040 */ lw $a3, 0x40($s0) +/* A0C6E8 802409F8 3C138024 */ lui $s3, 0x8024 +/* A0C6EC 802409FC 26732B9C */ addiu $s3, $s3, 0x2b9c +/* A0C6F0 80240A00 3C128024 */ lui $s2, %hi(pause_set_cursor_opacity) +/* A0C6F4 80240A04 26522BA0 */ addiu $s2, $s2, %lo(pause_set_cursor_opacity) +/* A0C6F8 80240A08 C66C0000 */ lwc1 $f12, ($s3) +/* A0C6FC 80240A0C C64E0000 */ lwc1 $f14, ($s2) +/* A0C700 80240A10 E6200080 */ swc1 $f0, 0x80($s1) +/* A0C704 80240A14 8E060038 */ lw $a2, 0x38($s0) +/* A0C708 80240A18 0C00A720 */ jal atan2 +/* A0C70C 80240A1C 8E070040 */ lw $a3, 0x40($s0) +/* A0C710 80240A20 C6020038 */ lwc1 $f2, 0x38($s0) +/* A0C714 80240A24 C6040040 */ lwc1 $f4, 0x40($s0) +/* A0C718 80240A28 E600000C */ swc1 $f0, 0xc($s0) +/* A0C71C 80240A2C E6620000 */ swc1 $f2, ($s3) +/* A0C720 80240A30 E6440000 */ swc1 $f4, ($s2) +/* A0C724 80240A34 8FBF0020 */ lw $ra, 0x20($sp) +/* A0C728 80240A38 8FB3001C */ lw $s3, 0x1c($sp) +/* A0C72C 80240A3C 8FB20018 */ lw $s2, 0x18($sp) +/* A0C730 80240A40 8FB10014 */ lw $s1, 0x14($sp) +/* A0C734 80240A44 8FB00010 */ lw $s0, 0x10($sp) +/* A0C738 80240A48 24020002 */ addiu $v0, $zero, 2 +/* A0C73C 80240A4C 03E00008 */ jr $ra +/* A0C740 80240A50 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240A54.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240A54.s new file mode 100644 index 0000000000..c795ab4c5b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240A54.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A54 +/* A0C744 80240A54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A0C748 80240A58 AFB10014 */ sw $s1, 0x14($sp) +/* A0C74C 80240A5C 0080882D */ daddu $s1, $a0, $zero +/* A0C750 80240A60 24040001 */ addiu $a0, $zero, 1 +/* A0C754 80240A64 AFBF0018 */ sw $ra, 0x18($sp) +/* A0C758 80240A68 0C00EABB */ jal get_npc_unsafe +/* A0C75C 80240A6C AFB00010 */ sw $s0, 0x10($sp) +/* A0C760 80240A70 0040802D */ daddu $s0, $v0, $zero +/* A0C764 80240A74 C602000C */ lwc1 $f2, 0xc($s0) +/* A0C768 80240A78 3C014334 */ lui $at, 0x4334 +/* A0C76C 80240A7C 44810000 */ mtc1 $at, $f0 +/* A0C770 80240A80 00000000 */ nop +/* A0C774 80240A84 4600103C */ c.lt.s $f2, $f0 +/* A0C778 80240A88 00000000 */ nop +/* A0C77C 80240A8C 45000006 */ bc1f .L80240AA8 +/* A0C780 80240A90 00000000 */ nop +/* A0C784 80240A94 C6000038 */ lwc1 $f0, 0x38($s0) +/* A0C788 80240A98 3C014220 */ lui $at, 0x4220 +/* A0C78C 80240A9C 44811000 */ mtc1 $at, $f2 +/* A0C790 80240AA0 080902AF */ j .L80240ABC +/* A0C794 80240AA4 46020001 */ sub.s $f0, $f0, $f2 +.L80240AA8: +/* A0C798 80240AA8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A0C79C 80240AAC 3C014220 */ lui $at, 0x4220 +/* A0C7A0 80240AB0 44811000 */ mtc1 $at, $f2 +/* A0C7A4 80240AB4 00000000 */ nop +/* A0C7A8 80240AB8 46020000 */ add.s $f0, $f0, $f2 +.L80240ABC: +/* A0C7AC 80240ABC 3C014120 */ lui $at, 0x4120 +/* A0C7B0 80240AC0 44811000 */ mtc1 $at, $f2 +/* A0C7B4 80240AC4 4600010D */ trunc.w.s $f4, $f0 +/* A0C7B8 80240AC8 E6240084 */ swc1 $f4, 0x84($s1) +/* A0C7BC 80240ACC C600003C */ lwc1 $f0, 0x3c($s0) +/* A0C7C0 80240AD0 46020000 */ add.s $f0, $f0, $f2 +/* A0C7C4 80240AD4 4600010D */ trunc.w.s $f4, $f0 +/* A0C7C8 80240AD8 E6240088 */ swc1 $f4, 0x88($s1) +/* A0C7CC 80240ADC C6000040 */ lwc1 $f0, 0x40($s0) +/* A0C7D0 80240AE0 4600010D */ trunc.w.s $f4, $f0 +/* A0C7D4 80240AE4 E624008C */ swc1 $f4, 0x8c($s1) +/* A0C7D8 80240AE8 C62C009C */ lwc1 $f12, 0x9c($s1) +/* A0C7DC 80240AEC 46806320 */ cvt.s.w $f12, $f12 +/* A0C7E0 80240AF0 8E060038 */ lw $a2, 0x38($s0) +/* A0C7E4 80240AF4 8E070040 */ lw $a3, 0x40($s0) +/* A0C7E8 80240AF8 C62E00A4 */ lwc1 $f14, 0xa4($s1) +/* A0C7EC 80240AFC 0C00A720 */ jal atan2 +/* A0C7F0 80240B00 468073A0 */ cvt.s.w $f14, $f14 +/* A0C7F4 80240B04 E600000C */ swc1 $f0, 0xc($s0) +/* A0C7F8 80240B08 8FBF0018 */ lw $ra, 0x18($sp) +/* A0C7FC 80240B0C 8FB10014 */ lw $s1, 0x14($sp) +/* A0C800 80240B10 8FB00010 */ lw $s0, 0x10($sp) +/* A0C804 80240B14 24020002 */ addiu $v0, $zero, 2 +/* A0C808 80240B18 03E00008 */ jr $ra +/* A0C80C 80240B1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240B20_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240B20_A0BCF0.s new file mode 100644 index 0000000000..f552d12cd2 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240B20_A0BCF0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B20_A0C810 +/* A0C810 80240B20 3C03800B */ lui $v1, %hi(gCameras) +/* A0C814 80240B24 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A0C818 80240B28 94620000 */ lhu $v0, ($v1) +/* A0C81C 80240B2C 34421000 */ ori $v0, $v0, 0x1000 +/* A0C820 80240B30 A4620000 */ sh $v0, ($v1) +/* A0C824 80240B34 03E00008 */ jr $ra +/* A0C828 80240B38 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240B3C_A0BCF0.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240B3C_A0BCF0.s new file mode 100644 index 0000000000..1872d26d35 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240B3C_A0BCF0.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B3C_A0C82C +/* A0C82C 80240B3C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A0C830 80240B40 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A0C834 80240B44 3C01439B */ lui $at, 0x439b +/* A0C838 80240B48 4481A000 */ mtc1 $at, $f20 +/* A0C83C 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* A0C840 80240B50 0080802D */ daddu $s0, $a0, $zero +/* A0C844 80240B54 AFBF001C */ sw $ra, 0x1c($sp) +/* A0C848 80240B58 AFB20018 */ sw $s2, 0x18($sp) +/* A0C84C 80240B5C AFB10014 */ sw $s1, 0x14($sp) +/* A0C850 80240B60 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* A0C854 80240B64 F7B80030 */ sdc1 $f24, 0x30($sp) +/* A0C858 80240B68 F7B60028 */ sdc1 $f22, 0x28($sp) +/* A0C85C 80240B6C 8E110084 */ lw $s1, 0x84($s0) +/* A0C860 80240B70 8E12008C */ lw $s2, 0x8c($s0) +/* A0C864 80240B74 3C0142C8 */ lui $at, 0x42c8 +/* A0C868 80240B78 4481C000 */ mtc1 $at, $f24 +/* A0C86C 80240B7C 0C00A8BB */ jal sin_deg +/* A0C870 80240B80 4600A306 */ mov.s $f12, $f20 +/* A0C874 80240B84 46180002 */ mul.s $f0, $f0, $f24 +/* A0C878 80240B88 00000000 */ nop +/* A0C87C 80240B8C 4491B000 */ mtc1 $s1, $f22 +/* A0C880 80240B90 00000000 */ nop +/* A0C884 80240B94 4680B5A0 */ cvt.s.w $f22, $f22 +/* A0C888 80240B98 4600B000 */ add.s $f0, $f22, $f0 +/* A0C88C 80240B9C 4600008D */ trunc.w.s $f2, $f0 +/* A0C890 80240BA0 E6020084 */ swc1 $f2, 0x84($s0) +/* A0C894 80240BA4 0C00A8D4 */ jal cos_deg +/* A0C898 80240BA8 4600A306 */ mov.s $f12, $f20 +/* A0C89C 80240BAC 46180002 */ mul.s $f0, $f0, $f24 +/* A0C8A0 80240BB0 00000000 */ nop +/* A0C8A4 80240BB4 4492A000 */ mtc1 $s2, $f20 +/* A0C8A8 80240BB8 00000000 */ nop +/* A0C8AC 80240BBC 4680A520 */ cvt.s.w $f20, $f20 +/* A0C8B0 80240BC0 3C014302 */ lui $at, 0x4302 +/* A0C8B4 80240BC4 4481D000 */ mtc1 $at, $f26 +/* A0C8B8 80240BC8 4600A001 */ sub.s $f0, $f20, $f0 +/* A0C8BC 80240BCC 4600008D */ trunc.w.s $f2, $f0 +/* A0C8C0 80240BD0 E6020088 */ swc1 $f2, 0x88($s0) +/* A0C8C4 80240BD4 0C00A8BB */ jal sin_deg +/* A0C8C8 80240BD8 4600D306 */ mov.s $f12, $f26 +/* A0C8CC 80240BDC 46180002 */ mul.s $f0, $f0, $f24 +/* A0C8D0 80240BE0 00000000 */ nop +/* A0C8D4 80240BE4 4600B580 */ add.s $f22, $f22, $f0 +/* A0C8D8 80240BE8 4600B08D */ trunc.w.s $f2, $f22 +/* A0C8DC 80240BEC E602008C */ swc1 $f2, 0x8c($s0) +/* A0C8E0 80240BF0 0C00A8D4 */ jal cos_deg +/* A0C8E4 80240BF4 4600D306 */ mov.s $f12, $f26 +/* A0C8E8 80240BF8 46180002 */ mul.s $f0, $f0, $f24 +/* A0C8EC 80240BFC 00000000 */ nop +/* A0C8F0 80240C00 4600A501 */ sub.s $f20, $f20, $f0 +/* A0C8F4 80240C04 4600A08D */ trunc.w.s $f2, $f20 +/* A0C8F8 80240C08 E6020090 */ swc1 $f2, 0x90($s0) +/* A0C8FC 80240C0C 8FBF001C */ lw $ra, 0x1c($sp) +/* A0C900 80240C10 8FB20018 */ lw $s2, 0x18($sp) +/* A0C904 80240C14 8FB10014 */ lw $s1, 0x14($sp) +/* A0C908 80240C18 8FB00010 */ lw $s0, 0x10($sp) +/* A0C90C 80240C1C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* A0C910 80240C20 D7B80030 */ ldc1 $f24, 0x30($sp) +/* A0C914 80240C24 D7B60028 */ ldc1 $f22, 0x28($sp) +/* A0C918 80240C28 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A0C91C 80240C2C 24020002 */ addiu $v0, $zero, 2 +/* A0C920 80240C30 03E00008 */ jr $ra +/* A0C924 80240C34 27BD0040 */ addiu $sp, $sp, 0x40 +/* A0C928 80240C38 00000000 */ nop +/* A0C92C 80240C3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_00/func_80240C40.s b/asm/nonmatchings/world/area_hos/hos_00/func_80240C40.s new file mode 100644 index 0000000000..23aa1867fe --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_00/func_80240C40.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C40 +/* A0C930 80240C40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A0C934 80240C44 240201F4 */ addiu $v0, $zero, 0x1f4 +/* A0C938 80240C48 0000202D */ daddu $a0, $zero, $zero +/* A0C93C 80240C4C 0000282D */ daddu $a1, $zero, $zero +/* A0C940 80240C50 3C018011 */ lui $at, 0x8011 +/* A0C944 80240C54 C420EFF0 */ lwc1 $f0, -0x1010($at) +/* A0C948 80240C58 3C014348 */ lui $at, 0x4348 +/* A0C94C 80240C5C 44811000 */ mtc1 $at, $f2 +/* A0C950 80240C60 3C064358 */ lui $a2, 0x4358 +/* A0C954 80240C64 46020001 */ sub.s $f0, $f0, $f2 +/* A0C958 80240C68 AFBF0018 */ sw $ra, 0x18($sp) +/* A0C95C 80240C6C 4600010D */ trunc.w.s $f4, $f0 +/* A0C960 80240C70 44072000 */ mfc1 $a3, $f4 +/* A0C964 80240C74 0C00A8ED */ jal update_lerp +/* A0C968 80240C78 AFA20010 */ sw $v0, 0x10($sp) +/* A0C96C 80240C7C 4600010D */ trunc.w.s $f4, $f0 +/* A0C970 80240C80 44082000 */ mfc1 $t0, $f4 +/* A0C974 80240C84 00000000 */ nop +/* A0C978 80240C88 05020001 */ bltzl $t0, .L80240C90 +/* A0C97C 80240C8C 0000402D */ daddu $t0, $zero, $zero +.L80240C90: +/* A0C980 80240C90 290200D9 */ slti $v0, $t0, 0xd9 +/* A0C984 80240C94 50400001 */ beql $v0, $zero, .L80240C9C +/* A0C988 80240C98 240800D8 */ addiu $t0, $zero, 0xd8 +.L80240C9C: +/* A0C98C 80240C9C 3C05E300 */ lui $a1, 0xe300 +/* A0C990 80240CA0 34A50A01 */ ori $a1, $a1, 0xa01 +/* A0C994 80240CA4 3C07FCFF */ lui $a3, 0xfcff +/* A0C998 80240CA8 34E7C7FF */ ori $a3, $a3, 0xc7ff +/* A0C99C 80240CAC 3C06FF8E */ lui $a2, 0xff8e +/* A0C9A0 80240CB0 3C04800A */ lui $a0, 0x800a +/* A0C9A4 80240CB4 2484A66C */ addiu $a0, $a0, -0x5994 +/* A0C9A8 80240CB8 8C820000 */ lw $v0, ($a0) +/* A0C9AC 80240CBC 34C67F3F */ ori $a2, $a2, 0x7f3f +/* A0C9B0 80240CC0 0040182D */ daddu $v1, $v0, $zero +/* A0C9B4 80240CC4 24420008 */ addiu $v0, $v0, 8 +/* A0C9B8 80240CC8 AC820000 */ sw $v0, ($a0) +/* A0C9BC 80240CCC AC650000 */ sw $a1, ($v1) +/* A0C9C0 80240CD0 AC600004 */ sw $zero, 4($v1) +/* A0C9C4 80240CD4 24430008 */ addiu $v1, $v0, 8 +/* A0C9C8 80240CD8 AC830000 */ sw $v1, ($a0) +/* A0C9CC 80240CDC 24430010 */ addiu $v1, $v0, 0x10 +/* A0C9D0 80240CE0 AC470000 */ sw $a3, ($v0) +/* A0C9D4 80240CE4 AC460004 */ sw $a2, 4($v0) +/* A0C9D8 80240CE8 AC830000 */ sw $v1, ($a0) +/* A0C9DC 80240CEC 3C03FA00 */ lui $v1, 0xfa00 +/* A0C9E0 80240CF0 AC430008 */ sw $v1, 8($v0) +/* A0C9E4 80240CF4 310300FF */ andi $v1, $t0, 0xff +/* A0C9E8 80240CF8 AC43000C */ sw $v1, 0xc($v0) +/* A0C9EC 80240CFC 8FBF0018 */ lw $ra, 0x18($sp) +/* A0C9F0 80240D00 03E00008 */ jr $ra +/* A0C9F4 80240D04 27BD0020 */ addiu $sp, $sp, 0x20 +/* A0C9F8 80240D08 00000000 */ nop +/* A0C9FC 80240D0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240000_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240000_A10880.s new file mode 100644 index 0000000000..3e39901c81 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240000_A10880.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A10880 +/* A10880 80240000 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A10884 80240004 AFB1002C */ sw $s1, 0x2c($sp) +/* A10888 80240008 0080882D */ daddu $s1, $a0, $zero +/* A1088C 8024000C AFBF0030 */ sw $ra, 0x30($sp) +/* A10890 80240010 AFB00028 */ sw $s0, 0x28($sp) +/* A10894 80240014 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A10898 80240018 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A1089C 8024001C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A108A0 80240020 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A108A4 80240024 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A108A8 80240028 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A108AC 8024002C 8E30000C */ lw $s0, 0xc($s1) +/* A108B0 80240030 8E050000 */ lw $a1, ($s0) +/* A108B4 80240034 0C0B210B */ jal get_float_variable +/* A108B8 80240038 26100004 */ addiu $s0, $s0, 4 +/* A108BC 8024003C 8E050000 */ lw $a1, ($s0) +/* A108C0 80240040 26100004 */ addiu $s0, $s0, 4 +/* A108C4 80240044 0220202D */ daddu $a0, $s1, $zero +/* A108C8 80240048 0C0B210B */ jal get_float_variable +/* A108CC 8024004C E7A00020 */ swc1 $f0, 0x20($sp) +/* A108D0 80240050 8E050000 */ lw $a1, ($s0) +/* A108D4 80240054 26100004 */ addiu $s0, $s0, 4 +/* A108D8 80240058 0220202D */ daddu $a0, $s1, $zero +/* A108DC 8024005C 0C0B210B */ jal get_float_variable +/* A108E0 80240060 46000786 */ mov.s $f30, $f0 +/* A108E4 80240064 8E050000 */ lw $a1, ($s0) +/* A108E8 80240068 26100004 */ addiu $s0, $s0, 4 +/* A108EC 8024006C 0220202D */ daddu $a0, $s1, $zero +/* A108F0 80240070 0C0B210B */ jal get_float_variable +/* A108F4 80240074 46000706 */ mov.s $f28, $f0 +/* A108F8 80240078 8E050000 */ lw $a1, ($s0) +/* A108FC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* A10900 80240080 0220202D */ daddu $a0, $s1, $zero +/* A10904 80240084 0C0B210B */ jal get_float_variable +/* A10908 80240088 46000686 */ mov.s $f26, $f0 +/* A1090C 8024008C 8E050000 */ lw $a1, ($s0) +/* A10910 80240090 26100004 */ addiu $s0, $s0, 4 +/* A10914 80240094 0220202D */ daddu $a0, $s1, $zero +/* A10918 80240098 0C0B210B */ jal get_float_variable +/* A1091C 8024009C 46000606 */ mov.s $f24, $f0 +/* A10920 802400A0 8E050000 */ lw $a1, ($s0) +/* A10924 802400A4 26100004 */ addiu $s0, $s0, 4 +/* A10928 802400A8 0220202D */ daddu $a0, $s1, $zero +/* A1092C 802400AC 0C0B210B */ jal get_float_variable +/* A10930 802400B0 46000586 */ mov.s $f22, $f0 +/* A10934 802400B4 0220202D */ daddu $a0, $s1, $zero +/* A10938 802400B8 8E050000 */ lw $a1, ($s0) +/* A1093C 802400BC 0C0B210B */ jal get_float_variable +/* A10940 802400C0 46000506 */ mov.s $f20, $f0 +/* A10944 802400C4 4405F000 */ mfc1 $a1, $f30 +/* A10948 802400C8 4406E000 */ mfc1 $a2, $f28 +/* A1094C 802400CC 4407D000 */ mfc1 $a3, $f26 +/* A10950 802400D0 C7A20020 */ lwc1 $f2, 0x20($sp) +/* A10954 802400D4 E7B80010 */ swc1 $f24, 0x10($sp) +/* A10958 802400D8 E7B60014 */ swc1 $f22, 0x14($sp) +/* A1095C 802400DC E7B40018 */ swc1 $f20, 0x18($sp) +/* A10960 802400E0 4600108D */ trunc.w.s $f2, $f2 +/* A10964 802400E4 44041000 */ mfc1 $a0, $f2 +/* A10968 802400E8 0C01BF8C */ jal func_8006FE30 +/* A1096C 802400EC E7A0001C */ swc1 $f0, 0x1c($sp) +/* A10970 802400F0 8FBF0030 */ lw $ra, 0x30($sp) +/* A10974 802400F4 8FB1002C */ lw $s1, 0x2c($sp) +/* A10978 802400F8 8FB00028 */ lw $s0, 0x28($sp) +/* A1097C 802400FC D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A10980 80240100 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A10984 80240104 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A10988 80240108 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A1098C 8024010C D7B60040 */ ldc1 $f22, 0x40($sp) +/* A10990 80240110 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A10994 80240114 24020002 */ addiu $v0, $zero, 2 +/* A10998 80240118 03E00008 */ jr $ra +/* A1099C 8024011C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240120_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240120_A10880.s new file mode 100644 index 0000000000..845e4bed0d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240120_A10880.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_A109A0 +/* A109A0 80240120 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A109A4 80240124 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A109A8 80240128 3C01800B */ lui $at, 0x800b +/* A109AC 8024012C C43A1DEC */ lwc1 $f26, 0x1dec($at) +/* A109B0 80240130 3C014334 */ lui $at, 0x4334 +/* A109B4 80240134 44810000 */ mtc1 $at, $f0 +/* A109B8 80240138 3C014049 */ lui $at, 0x4049 +/* A109BC 8024013C 34210FD8 */ ori $at, $at, 0xfd8 +/* A109C0 80240140 44811000 */ mtc1 $at, $f2 +/* A109C4 80240144 240401F4 */ addiu $a0, $zero, 0x1f4 +/* A109C8 80240148 AFBF0034 */ sw $ra, 0x34($sp) +/* A109CC 8024014C 4600D683 */ div.s $f26, $f26, $f0 +/* A109D0 80240150 4602D682 */ mul.s $f26, $f26, $f2 +/* A109D4 80240154 00000000 */ nop +/* A109D8 80240158 AFB00030 */ sw $s0, 0x30($sp) +/* A109DC 8024015C F7B60040 */ sdc1 $f22, 0x40($sp) +/* A109E0 80240160 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A109E4 80240164 3C018024 */ lui $at, 0x8024 +/* A109E8 80240168 D4205970 */ ldc1 $f0, 0x5970($at) +/* A109EC 8024016C 4600D521 */ cvt.d.s $f20, $f26 +/* A109F0 80240170 4620A580 */ add.d $f22, $f20, $f0 +/* A109F4 80240174 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A109F8 80240178 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A109FC 8024017C 4620A501 */ sub.d $f20, $f20, $f0 +/* A10A00 80240180 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A10A04 80240184 4620B5A0 */ cvt.s.d $f22, $f22 +/* A10A08 80240188 0C00A67F */ jal rand_int +/* A10A0C 8024018C 4620A520 */ cvt.s.d $f20, $f20 +/* A10A10 80240190 2442FF06 */ addiu $v0, $v0, -0xfa +/* A10A14 80240194 4482C000 */ mtc1 $v0, $f24 +/* A10A18 80240198 00000000 */ nop +/* A10A1C 8024019C 4680C620 */ cvt.s.w $f24, $f24 +/* A10A20 802401A0 0C00A67F */ jal rand_int +/* A10A24 802401A4 240401F4 */ addiu $a0, $zero, 0x1f4 +/* A10A28 802401A8 24040064 */ addiu $a0, $zero, 0x64 +/* A10A2C 802401AC 2442FF06 */ addiu $v0, $v0, -0xfa +/* A10A30 802401B0 44822000 */ mtc1 $v0, $f4 +/* A10A34 802401B4 00000000 */ nop +/* A10A38 802401B8 46802120 */ cvt.s.w $f4, $f4 +/* A10A3C 802401BC 0C00A67F */ jal rand_int +/* A10A40 802401C0 E7A40028 */ swc1 $f4, 0x28($sp) +/* A10A44 802401C4 24420258 */ addiu $v0, $v0, 0x258 +/* A10A48 802401C8 4482E000 */ mtc1 $v0, $f28 +/* A10A4C 802401CC 00000000 */ nop +/* A10A50 802401D0 4680E720 */ cvt.s.w $f28, $f28 +/* A10A54 802401D4 0C00A85B */ jal sin_rad +/* A10A58 802401D8 4600D306 */ mov.s $f12, $f26 +/* A10A5C 802401DC 4600E002 */ mul.s $f0, $f28, $f0 +/* A10A60 802401E0 00000000 */ nop +/* A10A64 802401E4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A10A68 802401E8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A10A6C 802401EC C6020028 */ lwc1 $f2, 0x28($s0) +/* A10A70 802401F0 46001780 */ add.s $f30, $f2, $f0 +/* A10A74 802401F4 0C00A85B */ jal sin_rad +/* A10A78 802401F8 4600B306 */ mov.s $f12, $f22 +/* A10A7C 802401FC 4600C002 */ mul.s $f0, $f24, $f0 +/* A10A80 80240200 00000000 */ nop +/* A10A84 80240204 C602002C */ lwc1 $f2, 0x2c($s0) +/* A10A88 80240208 4600F780 */ add.s $f30, $f30, $f0 +/* A10A8C 8024020C 3C014348 */ lui $at, 0x4348 +/* A10A90 80240210 44810000 */ mtc1 $at, $f0 +/* A10A94 80240214 00000000 */ nop +/* A10A98 80240218 46001080 */ add.s $f2, $f2, $f0 +/* A10A9C 8024021C 4600D306 */ mov.s $f12, $f26 +/* A10AA0 80240220 E7BE0020 */ swc1 $f30, 0x20($sp) +/* A10AA4 80240224 0C00A874 */ jal cos_rad +/* A10AA8 80240228 E7A20024 */ swc1 $f2, 0x24($sp) +/* A10AAC 8024022C 4600E002 */ mul.s $f0, $f28, $f0 +/* A10AB0 80240230 00000000 */ nop +/* A10AB4 80240234 C61E0030 */ lwc1 $f30, 0x30($s0) +/* A10AB8 80240238 4600F781 */ sub.s $f30, $f30, $f0 +/* A10ABC 8024023C 0C00A874 */ jal cos_rad +/* A10AC0 80240240 4600B306 */ mov.s $f12, $f22 +/* A10AC4 80240244 4600C602 */ mul.s $f24, $f24, $f0 +/* A10AC8 80240248 00000000 */ nop +/* A10ACC 8024024C 4618F781 */ sub.s $f30, $f30, $f24 +/* A10AD0 80240250 0C00A85B */ jal sin_rad +/* A10AD4 80240254 4600D306 */ mov.s $f12, $f26 +/* A10AD8 80240258 4600E002 */ mul.s $f0, $f28, $f0 +/* A10ADC 8024025C 00000000 */ nop +/* A10AE0 80240260 C6180028 */ lwc1 $f24, 0x28($s0) +/* A10AE4 80240264 4600A306 */ mov.s $f12, $f20 +/* A10AE8 80240268 0C00A85B */ jal sin_rad +/* A10AEC 8024026C 4600C600 */ add.s $f24, $f24, $f0 +/* A10AF0 80240270 C7A40028 */ lwc1 $f4, 0x28($sp) +/* A10AF4 80240274 46002002 */ mul.s $f0, $f4, $f0 +/* A10AF8 80240278 00000000 */ nop +/* A10AFC 8024027C 4600D306 */ mov.s $f12, $f26 +/* A10B00 80240280 C61A002C */ lwc1 $f26, 0x2c($s0) +/* A10B04 80240284 0C00A874 */ jal cos_rad +/* A10B08 80240288 4600C600 */ add.s $f24, $f24, $f0 +/* A10B0C 8024028C 4600E702 */ mul.s $f28, $f28, $f0 +/* A10B10 80240290 00000000 */ nop +/* A10B14 80240294 C6160030 */ lwc1 $f22, 0x30($s0) +/* A10B18 80240298 4600A306 */ mov.s $f12, $f20 +/* A10B1C 8024029C 0C00A874 */ jal cos_rad +/* A10B20 802402A0 461CB581 */ sub.s $f22, $f22, $f28 +/* A10B24 802402A4 C7A40028 */ lwc1 $f4, 0x28($sp) +/* A10B28 802402A8 46002002 */ mul.s $f0, $f4, $f0 +/* A10B2C 802402AC 00000000 */ nop +/* A10B30 802402B0 2404000A */ addiu $a0, $zero, 0xa +/* A10B34 802402B4 0C00A67F */ jal rand_int +/* A10B38 802402B8 4600B581 */ sub.s $f22, $f22, $f0 +/* A10B3C 802402BC 0000202D */ daddu $a0, $zero, $zero +/* A10B40 802402C0 2442000A */ addiu $v0, $v0, 0xa +/* A10B44 802402C4 8FA50020 */ lw $a1, 0x20($sp) +/* A10B48 802402C8 8FA60024 */ lw $a2, 0x24($sp) +/* A10B4C 802402CC 4407F000 */ mfc1 $a3, $f30 +/* A10B50 802402D0 44820000 */ mtc1 $v0, $f0 +/* A10B54 802402D4 00000000 */ nop +/* A10B58 802402D8 46800020 */ cvt.s.w $f0, $f0 +/* A10B5C 802402DC E7B80010 */ swc1 $f24, 0x10($sp) +/* A10B60 802402E0 E7BA0014 */ swc1 $f26, 0x14($sp) +/* A10B64 802402E4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A10B68 802402E8 0C01BF8C */ jal func_8006FE30 +/* A10B6C 802402EC E7B60018 */ swc1 $f22, 0x18($sp) +/* A10B70 802402F0 8FBF0034 */ lw $ra, 0x34($sp) +/* A10B74 802402F4 8FB00030 */ lw $s0, 0x30($sp) +/* A10B78 802402F8 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A10B7C 802402FC D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A10B80 80240300 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A10B84 80240304 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A10B88 80240308 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A10B8C 8024030C D7B40038 */ ldc1 $f20, 0x38($sp) +/* A10B90 80240310 24020002 */ addiu $v0, $zero, 2 +/* A10B94 80240314 03E00008 */ jr $ra +/* A10B98 80240318 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_8024031C_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_8024031C_A10880.s new file mode 100644 index 0000000000..fa510cdf0f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_8024031C_A10880.s @@ -0,0 +1,139 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024031C_A10B9C +/* A10B9C 8024031C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A10BA0 80240320 3C01800B */ lui $at, 0x800b +/* A10BA4 80240324 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A10BA8 80240328 3C014334 */ lui $at, 0x4334 +/* A10BAC 8024032C 44811000 */ mtc1 $at, $f2 +/* A10BB0 80240330 3C014049 */ lui $at, 0x4049 +/* A10BB4 80240334 34210FD8 */ ori $at, $at, 0xfd8 +/* A10BB8 80240338 44812000 */ mtc1 $at, $f4 +/* A10BBC 8024033C 2404012C */ addiu $a0, $zero, 0x12c +/* A10BC0 80240340 AFBF0034 */ sw $ra, 0x34($sp) +/* A10BC4 80240344 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A10BC8 80240348 46020003 */ div.s $f0, $f0, $f2 +/* A10BCC 8024034C 46040782 */ mul.s $f30, $f0, $f4 +/* A10BD0 80240350 00000000 */ nop +/* A10BD4 80240354 AFB00030 */ sw $s0, 0x30($sp) +/* A10BD8 80240358 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A10BDC 8024035C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A10BE0 80240360 3C018024 */ lui $at, 0x8024 +/* A10BE4 80240364 D4225978 */ ldc1 $f2, 0x5978($at) +/* A10BE8 80240368 4600F021 */ cvt.d.s $f0, $f30 +/* A10BEC 8024036C 46220100 */ add.d $f4, $f0, $f2 +/* A10BF0 80240370 F7B80048 */ sdc1 $f24, 0x48($sp) +/* A10BF4 80240374 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A10BF8 80240378 46220001 */ sub.d $f0, $f0, $f2 +/* A10BFC 8024037C F7B40038 */ sdc1 $f20, 0x38($sp) +/* A10C00 80240380 46202120 */ cvt.s.d $f4, $f4 +/* A10C04 80240384 46200020 */ cvt.s.d $f0, $f0 +/* A10C08 80240388 E7A40020 */ swc1 $f4, 0x20($sp) +/* A10C0C 8024038C 0C00A67F */ jal rand_int +/* A10C10 80240390 E7A00024 */ swc1 $f0, 0x24($sp) +/* A10C14 80240394 2442FF6A */ addiu $v0, $v0, -0x96 +/* A10C18 80240398 4482B000 */ mtc1 $v0, $f22 +/* A10C1C 8024039C 00000000 */ nop +/* A10C20 802403A0 4680B5A0 */ cvt.s.w $f22, $f22 +/* A10C24 802403A4 0C00A67F */ jal rand_int +/* A10C28 802403A8 2404012C */ addiu $a0, $zero, 0x12c +/* A10C2C 802403AC 24040064 */ addiu $a0, $zero, 0x64 +/* A10C30 802403B0 2442FF6A */ addiu $v0, $v0, -0x96 +/* A10C34 802403B4 44823000 */ mtc1 $v0, $f6 +/* A10C38 802403B8 00000000 */ nop +/* A10C3C 802403BC 468031A0 */ cvt.s.w $f6, $f6 +/* A10C40 802403C0 0C00A67F */ jal rand_int +/* A10C44 802403C4 E7A60028 */ swc1 $f6, 0x28($sp) +/* A10C48 802403C8 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A10C4C 802403CC 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A10C50 802403D0 24420032 */ addiu $v0, $v0, 0x32 +/* A10C54 802403D4 C602002C */ lwc1 $f2, 0x2c($s0) +/* A10C58 802403D8 3C01437A */ lui $at, 0x437a +/* A10C5C 802403DC 44810000 */ mtc1 $at, $f0 +/* A10C60 802403E0 4482A000 */ mtc1 $v0, $f20 +/* A10C64 802403E4 00000000 */ nop +/* A10C68 802403E8 4680A520 */ cvt.s.w $f20, $f20 +/* A10C6C 802403EC 4602003E */ c.le.s $f0, $f2 +/* A10C70 802403F0 00000000 */ nop +/* A10C74 802403F4 45010045 */ bc1t .L8024050C +/* A10C78 802403F8 24020002 */ addiu $v0, $zero, 2 +/* A10C7C 802403FC 0C00A85B */ jal sin_rad +/* A10C80 80240400 4600F306 */ mov.s $f12, $f30 +/* A10C84 80240404 4600A002 */ mul.s $f0, $f20, $f0 +/* A10C88 80240408 00000000 */ nop +/* A10C8C 8024040C C61A0028 */ lwc1 $f26, 0x28($s0) +/* A10C90 80240410 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A10C94 80240414 0C00A85B */ jal sin_rad +/* A10C98 80240418 4600D681 */ sub.s $f26, $f26, $f0 +/* A10C9C 8024041C 4600B002 */ mul.s $f0, $f22, $f0 +/* A10CA0 80240420 00000000 */ nop +/* A10CA4 80240424 C61C002C */ lwc1 $f28, 0x2c($s0) +/* A10CA8 80240428 4600D680 */ add.s $f26, $f26, $f0 +/* A10CAC 8024042C 3C014348 */ lui $at, 0x4348 +/* A10CB0 80240430 44810000 */ mtc1 $at, $f0 +/* A10CB4 80240434 00000000 */ nop +/* A10CB8 80240438 4600E700 */ add.s $f28, $f28, $f0 +/* A10CBC 8024043C 0C00A874 */ jal cos_rad +/* A10CC0 80240440 4600F306 */ mov.s $f12, $f30 +/* A10CC4 80240444 4600A002 */ mul.s $f0, $f20, $f0 +/* A10CC8 80240448 00000000 */ nop +/* A10CCC 8024044C C6180030 */ lwc1 $f24, 0x30($s0) +/* A10CD0 80240450 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A10CD4 80240454 0C00A874 */ jal cos_rad +/* A10CD8 80240458 4600C600 */ add.s $f24, $f24, $f0 +/* A10CDC 8024045C 4600B002 */ mul.s $f0, $f22, $f0 +/* A10CE0 80240460 00000000 */ nop +/* A10CE4 80240464 4600C601 */ sub.s $f24, $f24, $f0 +/* A10CE8 80240468 0C00A85B */ jal sin_rad +/* A10CEC 8024046C 4600F306 */ mov.s $f12, $f30 +/* A10CF0 80240470 4600A002 */ mul.s $f0, $f20, $f0 +/* A10CF4 80240474 00000000 */ nop +/* A10CF8 80240478 C6160028 */ lwc1 $f22, 0x28($s0) +/* A10CFC 8024047C C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A10D00 80240480 0C00A85B */ jal sin_rad +/* A10D04 80240484 4600B581 */ sub.s $f22, $f22, $f0 +/* A10D08 80240488 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A10D0C 8024048C 46003002 */ mul.s $f0, $f6, $f0 +/* A10D10 80240490 00000000 */ nop +/* A10D14 80240494 4600F306 */ mov.s $f12, $f30 +/* A10D18 80240498 C61E002C */ lwc1 $f30, 0x2c($s0) +/* A10D1C 8024049C 0C00A874 */ jal cos_rad +/* A10D20 802404A0 4600B580 */ add.s $f22, $f22, $f0 +/* A10D24 802404A4 4600A002 */ mul.s $f0, $f20, $f0 +/* A10D28 802404A8 00000000 */ nop +/* A10D2C 802404AC C6140030 */ lwc1 $f20, 0x30($s0) +/* A10D30 802404B0 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A10D34 802404B4 0C00A874 */ jal cos_rad +/* A10D38 802404B8 4600A500 */ add.s $f20, $f20, $f0 +/* A10D3C 802404BC C7A60028 */ lwc1 $f6, 0x28($sp) +/* A10D40 802404C0 46003002 */ mul.s $f0, $f6, $f0 +/* A10D44 802404C4 00000000 */ nop +/* A10D48 802404C8 2404000A */ addiu $a0, $zero, 0xa +/* A10D4C 802404CC 0C00A67F */ jal rand_int +/* A10D50 802404D0 4600A501 */ sub.s $f20, $f20, $f0 +/* A10D54 802404D4 24040001 */ addiu $a0, $zero, 1 +/* A10D58 802404D8 2442000A */ addiu $v0, $v0, 0xa +/* A10D5C 802404DC 4405D000 */ mfc1 $a1, $f26 +/* A10D60 802404E0 4406E000 */ mfc1 $a2, $f28 +/* A10D64 802404E4 4407C000 */ mfc1 $a3, $f24 +/* A10D68 802404E8 44820000 */ mtc1 $v0, $f0 +/* A10D6C 802404EC 00000000 */ nop +/* A10D70 802404F0 46800020 */ cvt.s.w $f0, $f0 +/* A10D74 802404F4 E7B60010 */ swc1 $f22, 0x10($sp) +/* A10D78 802404F8 E7BE0014 */ swc1 $f30, 0x14($sp) +/* A10D7C 802404FC E7A0001C */ swc1 $f0, 0x1c($sp) +/* A10D80 80240500 0C01BF8C */ jal func_8006FE30 +/* A10D84 80240504 E7B40018 */ swc1 $f20, 0x18($sp) +/* A10D88 80240508 24020002 */ addiu $v0, $zero, 2 +.L8024050C: +/* A10D8C 8024050C 8FBF0034 */ lw $ra, 0x34($sp) +/* A10D90 80240510 8FB00030 */ lw $s0, 0x30($sp) +/* A10D94 80240514 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A10D98 80240518 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A10D9C 8024051C D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A10DA0 80240520 D7B80048 */ ldc1 $f24, 0x48($sp) +/* A10DA4 80240524 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A10DA8 80240528 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A10DAC 8024052C 03E00008 */ jr $ra +/* A10DB0 80240530 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240534.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240534.s new file mode 100644 index 0000000000..96e777ec9e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240534.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240534 +/* A10DB4 80240534 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A10DB8 80240538 AFB10034 */ sw $s1, 0x34($sp) +/* A10DBC 8024053C 0080882D */ daddu $s1, $a0, $zero +/* A10DC0 80240540 3C01800B */ lui $at, 0x800b +/* A10DC4 80240544 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A10DC8 80240548 3C014334 */ lui $at, 0x4334 +/* A10DCC 8024054C 44811000 */ mtc1 $at, $f2 +/* A10DD0 80240550 3C014049 */ lui $at, 0x4049 +/* A10DD4 80240554 34210FD8 */ ori $at, $at, 0xfd8 +/* A10DD8 80240558 44812000 */ mtc1 $at, $f4 +/* A10DDC 8024055C 24040096 */ addiu $a0, $zero, 0x96 +/* A10DE0 80240560 AFBF0038 */ sw $ra, 0x38($sp) +/* A10DE4 80240564 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* A10DE8 80240568 46020003 */ div.s $f0, $f0, $f2 +/* A10DEC 8024056C 46040782 */ mul.s $f30, $f0, $f4 +/* A10DF0 80240570 00000000 */ nop +/* A10DF4 80240574 AFB00030 */ sw $s0, 0x30($sp) +/* A10DF8 80240578 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* A10DFC 8024057C F7BA0058 */ sdc1 $f26, 0x58($sp) +/* A10E00 80240580 3C018024 */ lui $at, 0x8024 +/* A10E04 80240584 D4225980 */ ldc1 $f2, 0x5980($at) +/* A10E08 80240588 4600F021 */ cvt.d.s $f0, $f30 +/* A10E0C 8024058C 46220100 */ add.d $f4, $f0, $f2 +/* A10E10 80240590 F7B80050 */ sdc1 $f24, 0x50($sp) +/* A10E14 80240594 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A10E18 80240598 46220001 */ sub.d $f0, $f0, $f2 +/* A10E1C 8024059C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A10E20 802405A0 46202120 */ cvt.s.d $f4, $f4 +/* A10E24 802405A4 46200020 */ cvt.s.d $f0, $f0 +/* A10E28 802405A8 E7A40020 */ swc1 $f4, 0x20($sp) +/* A10E2C 802405AC 0C00A67F */ jal rand_int +/* A10E30 802405B0 E7A00024 */ swc1 $f0, 0x24($sp) +/* A10E34 802405B4 24040096 */ addiu $a0, $zero, 0x96 +/* A10E38 802405B8 44823000 */ mtc1 $v0, $f6 +/* A10E3C 802405BC 00000000 */ nop +/* A10E40 802405C0 468031A0 */ cvt.s.w $f6, $f6 +/* A10E44 802405C4 0C00A67F */ jal rand_int +/* A10E48 802405C8 E7A60028 */ swc1 $f6, 0x28($sp) +/* A10E4C 802405CC 24040064 */ addiu $a0, $zero, 0x64 +/* A10E50 802405D0 44823000 */ mtc1 $v0, $f6 +/* A10E54 802405D4 00000000 */ nop +/* A10E58 802405D8 468031A0 */ cvt.s.w $f6, $f6 +/* A10E5C 802405DC 0C00A67F */ jal rand_int +/* A10E60 802405E0 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A10E64 802405E4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A10E68 802405E8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A10E6C 802405EC 2442FFCE */ addiu $v0, $v0, -0x32 +/* A10E70 802405F0 C6000030 */ lwc1 $f0, 0x30($s0) +/* A10E74 802405F4 3C014348 */ lui $at, 0x4348 +/* A10E78 802405F8 4481B000 */ mtc1 $at, $f22 +/* A10E7C 802405FC 4482A000 */ mtc1 $v0, $f20 +/* A10E80 80240600 00000000 */ nop +/* A10E84 80240604 4680A520 */ cvt.s.w $f20, $f20 +/* A10E88 80240608 4616003C */ c.lt.s $f0, $f22 +/* A10E8C 8024060C 00000000 */ nop +/* A10E90 80240610 4501004A */ bc1t .L8024073C +/* A10E94 80240614 24020002 */ addiu $v0, $zero, 2 +/* A10E98 80240618 0C00A85B */ jal sin_rad +/* A10E9C 8024061C 4600F306 */ mov.s $f12, $f30 +/* A10EA0 80240620 4600A002 */ mul.s $f0, $f20, $f0 +/* A10EA4 80240624 00000000 */ nop +/* A10EA8 80240628 C61A0028 */ lwc1 $f26, 0x28($s0) +/* A10EAC 8024062C C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A10EB0 80240630 0C00A85B */ jal sin_rad +/* A10EB4 80240634 4600D681 */ sub.s $f26, $f26, $f0 +/* A10EB8 80240638 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A10EBC 8024063C 46003002 */ mul.s $f0, $f6, $f0 +/* A10EC0 80240640 00000000 */ nop +/* A10EC4 80240644 C61C002C */ lwc1 $f28, 0x2c($s0) +/* A10EC8 80240648 4616E700 */ add.s $f28, $f28, $f22 +/* A10ECC 8024064C 4600D680 */ add.s $f26, $f26, $f0 +/* A10ED0 80240650 0C00A874 */ jal cos_rad +/* A10ED4 80240654 4600F306 */ mov.s $f12, $f30 +/* A10ED8 80240658 4600A002 */ mul.s $f0, $f20, $f0 +/* A10EDC 8024065C 00000000 */ nop +/* A10EE0 80240660 C6180030 */ lwc1 $f24, 0x30($s0) +/* A10EE4 80240664 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* A10EE8 80240668 0C00A874 */ jal cos_rad +/* A10EEC 8024066C 4600C600 */ add.s $f24, $f24, $f0 +/* A10EF0 80240670 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A10EF4 80240674 46003002 */ mul.s $f0, $f6, $f0 +/* A10EF8 80240678 00000000 */ nop +/* A10EFC 8024067C 4600C601 */ sub.s $f24, $f24, $f0 +/* A10F00 80240680 4600D18D */ trunc.w.s $f6, $f26 +/* A10F04 80240684 E6260088 */ swc1 $f6, 0x88($s1) +/* A10F08 80240688 4600E18D */ trunc.w.s $f6, $f28 +/* A10F0C 8024068C E626008C */ swc1 $f6, 0x8c($s1) +/* A10F10 80240690 4600C18D */ trunc.w.s $f6, $f24 +/* A10F14 80240694 E6260090 */ swc1 $f6, 0x90($s1) +/* A10F18 80240698 0C00A85B */ jal sin_rad +/* A10F1C 8024069C 4600F306 */ mov.s $f12, $f30 +/* A10F20 802406A0 4600A002 */ mul.s $f0, $f20, $f0 +/* A10F24 802406A4 00000000 */ nop +/* A10F28 802406A8 C6160028 */ lwc1 $f22, 0x28($s0) +/* A10F2C 802406AC C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A10F30 802406B0 0C00A85B */ jal sin_rad +/* A10F34 802406B4 4600B581 */ sub.s $f22, $f22, $f0 +/* A10F38 802406B8 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* A10F3C 802406BC 46003002 */ mul.s $f0, $f6, $f0 +/* A10F40 802406C0 00000000 */ nop +/* A10F44 802406C4 4600F306 */ mov.s $f12, $f30 +/* A10F48 802406C8 C61E002C */ lwc1 $f30, 0x2c($s0) +/* A10F4C 802406CC 0C00A874 */ jal cos_rad +/* A10F50 802406D0 4600B580 */ add.s $f22, $f22, $f0 +/* A10F54 802406D4 4600A002 */ mul.s $f0, $f20, $f0 +/* A10F58 802406D8 00000000 */ nop +/* A10F5C 802406DC C6140030 */ lwc1 $f20, 0x30($s0) +/* A10F60 802406E0 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* A10F64 802406E4 0C00A874 */ jal cos_rad +/* A10F68 802406E8 4600A500 */ add.s $f20, $f20, $f0 +/* A10F6C 802406EC C7A6002C */ lwc1 $f6, 0x2c($sp) +/* A10F70 802406F0 46003002 */ mul.s $f0, $f6, $f0 +/* A10F74 802406F4 00000000 */ nop +/* A10F78 802406F8 24040004 */ addiu $a0, $zero, 4 +/* A10F7C 802406FC 0C00A67F */ jal rand_int +/* A10F80 80240700 4600A501 */ sub.s $f20, $f20, $f0 +/* A10F84 80240704 24040002 */ addiu $a0, $zero, 2 +/* A10F88 80240708 2442000A */ addiu $v0, $v0, 0xa +/* A10F8C 8024070C 4405D000 */ mfc1 $a1, $f26 +/* A10F90 80240710 4406E000 */ mfc1 $a2, $f28 +/* A10F94 80240714 4407C000 */ mfc1 $a3, $f24 +/* A10F98 80240718 44820000 */ mtc1 $v0, $f0 +/* A10F9C 8024071C 00000000 */ nop +/* A10FA0 80240720 46800020 */ cvt.s.w $f0, $f0 +/* A10FA4 80240724 E7B60010 */ swc1 $f22, 0x10($sp) +/* A10FA8 80240728 E7BE0014 */ swc1 $f30, 0x14($sp) +/* A10FAC 8024072C E7A0001C */ swc1 $f0, 0x1c($sp) +/* A10FB0 80240730 0C01BF8C */ jal func_8006FE30 +/* A10FB4 80240734 E7B40018 */ swc1 $f20, 0x18($sp) +/* A10FB8 80240738 24020002 */ addiu $v0, $zero, 2 +.L8024073C: +/* A10FBC 8024073C 8FBF0038 */ lw $ra, 0x38($sp) +/* A10FC0 80240740 8FB10034 */ lw $s1, 0x34($sp) +/* A10FC4 80240744 8FB00030 */ lw $s0, 0x30($sp) +/* A10FC8 80240748 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* A10FCC 8024074C D7BC0060 */ ldc1 $f28, 0x60($sp) +/* A10FD0 80240750 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* A10FD4 80240754 D7B80050 */ ldc1 $f24, 0x50($sp) +/* A10FD8 80240758 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A10FDC 8024075C D7B40040 */ ldc1 $f20, 0x40($sp) +/* A10FE0 80240760 03E00008 */ jr $ra +/* A10FE4 80240764 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240768_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240768_A10880.s new file mode 100644 index 0000000000..5e961ca77a --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240768_A10880.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240768_A10FE8 +/* A10FE8 80240768 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A10FEC 8024076C AFBF0010 */ sw $ra, 0x10($sp) +/* A10FF0 80240770 8C82000C */ lw $v0, 0xc($a0) +/* A10FF4 80240774 3C068016 */ lui $a2, 0x8016 +/* A10FF8 80240778 84C6A552 */ lh $a2, -0x5aae($a2) +/* A10FFC 8024077C 0C0B2026 */ jal set_variable +/* A11000 80240780 8C450000 */ lw $a1, ($v0) +/* A11004 80240784 8FBF0010 */ lw $ra, 0x10($sp) +/* A11008 80240788 24020002 */ addiu $v0, $zero, 2 +/* A1100C 8024078C 03E00008 */ jr $ra +/* A11010 80240790 27BD0018 */ addiu $sp, $sp, 0x18 +/* A11014 80240794 00000000 */ nop +/* A11018 80240798 00000000 */ nop +/* A1101C 8024079C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_802407A0_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_802407A0_A10880.s new file mode 100644 index 0000000000..013e28d533 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_802407A0_A10880.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_A11020 +/* A11020 802407A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11024 802407A4 AFB00010 */ sw $s0, 0x10($sp) +/* A11028 802407A8 0080802D */ daddu $s0, $a0, $zero +/* A1102C 802407AC AFBF0014 */ sw $ra, 0x14($sp) +/* A11030 802407B0 8E0300A8 */ lw $v1, 0xa8($s0) +/* A11034 802407B4 8E020088 */ lw $v0, 0x88($s0) +/* A11038 802407B8 00621821 */ addu $v1, $v1, $v0 +/* A1103C 802407BC 04610004 */ bgez $v1, .L802407D0 +/* A11040 802407C0 AE0300A8 */ sw $v1, 0xa8($s0) +/* A11044 802407C4 3C020002 */ lui $v0, 2 +/* A11048 802407C8 080901F8 */ j .L802407E0 +/* A1104C 802407CC 00621021 */ addu $v0, $v1, $v0 +.L802407D0: +/* A11050 802407D0 3C040002 */ lui $a0, 2 +/* A11054 802407D4 0083102A */ slt $v0, $a0, $v1 +/* A11058 802407D8 10400002 */ beqz $v0, .L802407E4 +/* A1105C 802407DC 00641023 */ subu $v0, $v1, $a0 +.L802407E0: +/* A11060 802407E0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802407E4: +/* A11064 802407E4 8E0300AC */ lw $v1, 0xac($s0) +/* A11068 802407E8 8E02008C */ lw $v0, 0x8c($s0) +/* A1106C 802407EC 00621821 */ addu $v1, $v1, $v0 +/* A11070 802407F0 04610004 */ bgez $v1, .L80240804 +/* A11074 802407F4 AE0300AC */ sw $v1, 0xac($s0) +/* A11078 802407F8 3C020002 */ lui $v0, 2 +/* A1107C 802407FC 08090205 */ j .L80240814 +/* A11080 80240800 00621021 */ addu $v0, $v1, $v0 +.L80240804: +/* A11084 80240804 3C040002 */ lui $a0, 2 +/* A11088 80240808 0083102A */ slt $v0, $a0, $v1 +/* A1108C 8024080C 10400002 */ beqz $v0, .L80240818 +/* A11090 80240810 00641023 */ subu $v0, $v1, $a0 +.L80240814: +/* A11094 80240814 AE0200AC */ sw $v0, 0xac($s0) +.L80240818: +/* A11098 80240818 8E0300B0 */ lw $v1, 0xb0($s0) +/* A1109C 8024081C 8E020090 */ lw $v0, 0x90($s0) +/* A110A0 80240820 00621821 */ addu $v1, $v1, $v0 +/* A110A4 80240824 04610004 */ bgez $v1, .L80240838 +/* A110A8 80240828 AE0300B0 */ sw $v1, 0xb0($s0) +/* A110AC 8024082C 3C020002 */ lui $v0, 2 +/* A110B0 80240830 08090212 */ j .L80240848 +/* A110B4 80240834 00621021 */ addu $v0, $v1, $v0 +.L80240838: +/* A110B8 80240838 3C040002 */ lui $a0, 2 +/* A110BC 8024083C 0083102A */ slt $v0, $a0, $v1 +/* A110C0 80240840 10400002 */ beqz $v0, .L8024084C +/* A110C4 80240844 00641023 */ subu $v0, $v1, $a0 +.L80240848: +/* A110C8 80240848 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024084C: +/* A110CC 8024084C 8E0300B4 */ lw $v1, 0xb4($s0) +/* A110D0 80240850 8E020094 */ lw $v0, 0x94($s0) +/* A110D4 80240854 00621821 */ addu $v1, $v1, $v0 +/* A110D8 80240858 04610004 */ bgez $v1, .L8024086C +/* A110DC 8024085C AE0300B4 */ sw $v1, 0xb4($s0) +/* A110E0 80240860 3C020002 */ lui $v0, 2 +/* A110E4 80240864 0809021F */ j .L8024087C +/* A110E8 80240868 00621021 */ addu $v0, $v1, $v0 +.L8024086C: +/* A110EC 8024086C 3C040002 */ lui $a0, 2 +/* A110F0 80240870 0083102A */ slt $v0, $a0, $v1 +/* A110F4 80240874 10400002 */ beqz $v0, .L80240880 +/* A110F8 80240878 00641023 */ subu $v0, $v1, $a0 +.L8024087C: +/* A110FC 8024087C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240880: +/* A11100 80240880 8E040084 */ lw $a0, 0x84($s0) +/* A11104 80240884 0C046F07 */ jal set_main_pan_u +/* A11108 80240888 8E0500A8 */ lw $a1, 0xa8($s0) +/* A1110C 8024088C 8E040084 */ lw $a0, 0x84($s0) +/* A11110 80240890 0C046F0D */ jal set_main_pan_v +/* A11114 80240894 8E0500AC */ lw $a1, 0xac($s0) +/* A11118 80240898 8E040084 */ lw $a0, 0x84($s0) +/* A1111C 8024089C 0C046F13 */ jal set_aux_pan_u +/* A11120 802408A0 8E0500B0 */ lw $a1, 0xb0($s0) +/* A11124 802408A4 8E040084 */ lw $a0, 0x84($s0) +/* A11128 802408A8 0C046F19 */ jal set_aux_pan_v +/* A1112C 802408AC 8E0500B4 */ lw $a1, 0xb4($s0) +/* A11130 802408B0 8FBF0014 */ lw $ra, 0x14($sp) +/* A11134 802408B4 8FB00010 */ lw $s0, 0x10($sp) +/* A11138 802408B8 0000102D */ daddu $v0, $zero, $zero +/* A1113C 802408BC 03E00008 */ jr $ra +/* A11140 802408C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_802408C4.s b/asm/nonmatchings/world/area_hos/hos_01/func_802408C4.s new file mode 100644 index 0000000000..33cb8897dc --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_802408C4.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408C4 +/* A11144 802408C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11148 802408C8 AFB00010 */ sw $s0, 0x10($sp) +/* A1114C 802408CC 0080802D */ daddu $s0, $a0, $zero +/* A11150 802408D0 10A00005 */ beqz $a1, .L802408E8 +/* A11154 802408D4 AFBF0014 */ sw $ra, 0x14($sp) +/* A11158 802408D8 AE000070 */ sw $zero, 0x70($s0) +/* A1115C 802408DC AE000074 */ sw $zero, 0x74($s0) +/* A11160 802408E0 AE000078 */ sw $zero, 0x78($s0) +/* A11164 802408E4 AE00007C */ sw $zero, 0x7c($s0) +.L802408E8: +/* A11168 802408E8 8E020070 */ lw $v0, 0x70($s0) +/* A1116C 802408EC 1440000E */ bnez $v0, .L80240928 +/* A11170 802408F0 00000000 */ nop +/* A11174 802408F4 8E0300A8 */ lw $v1, 0xa8($s0) +/* A11178 802408F8 8E020088 */ lw $v0, 0x88($s0) +/* A1117C 802408FC 00621821 */ addu $v1, $v1, $v0 +/* A11180 80240900 04610004 */ bgez $v1, .L80240914 +/* A11184 80240904 AE0300A8 */ sw $v1, 0xa8($s0) +/* A11188 80240908 3C020002 */ lui $v0, 2 +/* A1118C 8024090C 08090249 */ j .L80240924 +/* A11190 80240910 00621021 */ addu $v0, $v1, $v0 +.L80240914: +/* A11194 80240914 3C040002 */ lui $a0, 2 +/* A11198 80240918 0083102A */ slt $v0, $a0, $v1 +/* A1119C 8024091C 10400002 */ beqz $v0, .L80240928 +/* A111A0 80240920 00641023 */ subu $v0, $v1, $a0 +.L80240924: +/* A111A4 80240924 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240928: +/* A111A8 80240928 8E020074 */ lw $v0, 0x74($s0) +/* A111AC 8024092C 1440000E */ bnez $v0, .L80240968 +/* A111B0 80240930 00000000 */ nop +/* A111B4 80240934 8E0300AC */ lw $v1, 0xac($s0) +/* A111B8 80240938 8E02008C */ lw $v0, 0x8c($s0) +/* A111BC 8024093C 00621821 */ addu $v1, $v1, $v0 +/* A111C0 80240940 04610004 */ bgez $v1, .L80240954 +/* A111C4 80240944 AE0300AC */ sw $v1, 0xac($s0) +/* A111C8 80240948 3C020002 */ lui $v0, 2 +/* A111CC 8024094C 08090259 */ j .L80240964 +/* A111D0 80240950 00621021 */ addu $v0, $v1, $v0 +.L80240954: +/* A111D4 80240954 3C040002 */ lui $a0, 2 +/* A111D8 80240958 0083102A */ slt $v0, $a0, $v1 +/* A111DC 8024095C 10400002 */ beqz $v0, .L80240968 +/* A111E0 80240960 00641023 */ subu $v0, $v1, $a0 +.L80240964: +/* A111E4 80240964 AE0200AC */ sw $v0, 0xac($s0) +.L80240968: +/* A111E8 80240968 8E020078 */ lw $v0, 0x78($s0) +/* A111EC 8024096C 1440000E */ bnez $v0, .L802409A8 +/* A111F0 80240970 00000000 */ nop +/* A111F4 80240974 8E0300B0 */ lw $v1, 0xb0($s0) +/* A111F8 80240978 8E020090 */ lw $v0, 0x90($s0) +/* A111FC 8024097C 00621821 */ addu $v1, $v1, $v0 +/* A11200 80240980 04610004 */ bgez $v1, .L80240994 +/* A11204 80240984 AE0300B0 */ sw $v1, 0xb0($s0) +/* A11208 80240988 3C020002 */ lui $v0, 2 +/* A1120C 8024098C 08090269 */ j .L802409A4 +/* A11210 80240990 00621021 */ addu $v0, $v1, $v0 +.L80240994: +/* A11214 80240994 3C040002 */ lui $a0, 2 +/* A11218 80240998 0083102A */ slt $v0, $a0, $v1 +/* A1121C 8024099C 10400002 */ beqz $v0, .L802409A8 +/* A11220 802409A0 00641023 */ subu $v0, $v1, $a0 +.L802409A4: +/* A11224 802409A4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802409A8: +/* A11228 802409A8 8E02007C */ lw $v0, 0x7c($s0) +/* A1122C 802409AC 1440000E */ bnez $v0, .L802409E8 +/* A11230 802409B0 00000000 */ nop +/* A11234 802409B4 8E0300B4 */ lw $v1, 0xb4($s0) +/* A11238 802409B8 8E020094 */ lw $v0, 0x94($s0) +/* A1123C 802409BC 00621821 */ addu $v1, $v1, $v0 +/* A11240 802409C0 04610004 */ bgez $v1, .L802409D4 +/* A11244 802409C4 AE0300B4 */ sw $v1, 0xb4($s0) +/* A11248 802409C8 3C020002 */ lui $v0, 2 +/* A1124C 802409CC 08090279 */ j .L802409E4 +/* A11250 802409D0 00621021 */ addu $v0, $v1, $v0 +.L802409D4: +/* A11254 802409D4 3C040002 */ lui $a0, 2 +/* A11258 802409D8 0083102A */ slt $v0, $a0, $v1 +/* A1125C 802409DC 10400002 */ beqz $v0, .L802409E8 +/* A11260 802409E0 00641023 */ subu $v0, $v1, $a0 +.L802409E4: +/* A11264 802409E4 AE0200B4 */ sw $v0, 0xb4($s0) +.L802409E8: +/* A11268 802409E8 8E040084 */ lw $a0, 0x84($s0) +/* A1126C 802409EC 0C046F07 */ jal set_main_pan_u +/* A11270 802409F0 8E0500A8 */ lw $a1, 0xa8($s0) +/* A11274 802409F4 8E040084 */ lw $a0, 0x84($s0) +/* A11278 802409F8 0C046F0D */ jal set_main_pan_v +/* A1127C 802409FC 8E0500AC */ lw $a1, 0xac($s0) +/* A11280 80240A00 8E040084 */ lw $a0, 0x84($s0) +/* A11284 80240A04 0C046F13 */ jal set_aux_pan_u +/* A11288 80240A08 8E0500B0 */ lw $a1, 0xb0($s0) +/* A1128C 80240A0C 8E040084 */ lw $a0, 0x84($s0) +/* A11290 80240A10 0C046F19 */ jal set_aux_pan_v +/* A11294 80240A14 8E0500B4 */ lw $a1, 0xb4($s0) +/* A11298 80240A18 8E020070 */ lw $v0, 0x70($s0) +/* A1129C 80240A1C 8E030078 */ lw $v1, 0x78($s0) +/* A112A0 80240A20 8E040098 */ lw $a0, 0x98($s0) +/* A112A4 80240A24 24420001 */ addiu $v0, $v0, 1 +/* A112A8 80240A28 AE020070 */ sw $v0, 0x70($s0) +/* A112AC 80240A2C 8E020074 */ lw $v0, 0x74($s0) +/* A112B0 80240A30 24630001 */ addiu $v1, $v1, 1 +/* A112B4 80240A34 AE030078 */ sw $v1, 0x78($s0) +/* A112B8 80240A38 8E030070 */ lw $v1, 0x70($s0) +/* A112BC 80240A3C 24420001 */ addiu $v0, $v0, 1 +/* A112C0 80240A40 AE020074 */ sw $v0, 0x74($s0) +/* A112C4 80240A44 8E02007C */ lw $v0, 0x7c($s0) +/* A112C8 80240A48 0064182A */ slt $v1, $v1, $a0 +/* A112CC 80240A4C 24420001 */ addiu $v0, $v0, 1 +/* A112D0 80240A50 14600002 */ bnez $v1, .L80240A5C +/* A112D4 80240A54 AE02007C */ sw $v0, 0x7c($s0) +/* A112D8 80240A58 AE000070 */ sw $zero, 0x70($s0) +.L80240A5C: +/* A112DC 80240A5C 8E020074 */ lw $v0, 0x74($s0) +/* A112E0 80240A60 8E03009C */ lw $v1, 0x9c($s0) +/* A112E4 80240A64 0043102A */ slt $v0, $v0, $v1 +/* A112E8 80240A68 50400001 */ beql $v0, $zero, .L80240A70 +/* A112EC 80240A6C AE000074 */ sw $zero, 0x74($s0) +.L80240A70: +/* A112F0 80240A70 8E020078 */ lw $v0, 0x78($s0) +/* A112F4 80240A74 8E0300A0 */ lw $v1, 0xa0($s0) +/* A112F8 80240A78 0043102A */ slt $v0, $v0, $v1 +/* A112FC 80240A7C 50400001 */ beql $v0, $zero, .L80240A84 +/* A11300 80240A80 AE000078 */ sw $zero, 0x78($s0) +.L80240A84: +/* A11304 80240A84 8E02007C */ lw $v0, 0x7c($s0) +/* A11308 80240A88 8E0300A4 */ lw $v1, 0xa4($s0) +/* A1130C 80240A8C 0043102A */ slt $v0, $v0, $v1 +/* A11310 80240A90 50400001 */ beql $v0, $zero, .L80240A98 +/* A11314 80240A94 AE00007C */ sw $zero, 0x7c($s0) +.L80240A98: +/* A11318 80240A98 8FBF0014 */ lw $ra, 0x14($sp) +/* A1131C 80240A9C 8FB00010 */ lw $s0, 0x10($sp) +/* A11320 80240AA0 0000102D */ daddu $v0, $zero, $zero +/* A11324 80240AA4 03E00008 */ jr $ra +/* A11328 80240AA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240AAC_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240AAC_A10880.s new file mode 100644 index 0000000000..6bd22733e1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240AAC_A10880.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_A1132C +/* A1132C 80240AAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11330 80240AB0 AFBF0010 */ sw $ra, 0x10($sp) +/* A11334 80240AB4 8C82000C */ lw $v0, 0xc($a0) +/* A11338 80240AB8 0C0B1EAF */ jal get_variable +/* A1133C 80240ABC 8C450000 */ lw $a1, ($v0) +/* A11340 80240AC0 8C43000C */ lw $v1, 0xc($v0) +/* A11344 80240AC4 3C01433E */ lui $at, 0x433e +/* A11348 80240AC8 44810000 */ mtc1 $at, $f0 +/* A1134C 80240ACC 00000000 */ nop +/* A11350 80240AD0 E4600078 */ swc1 $f0, 0x78($v1) +/* A11354 80240AD4 8C43000C */ lw $v1, 0xc($v0) +/* A11358 80240AD8 3C01435C */ lui $at, 0x435c +/* A1135C 80240ADC 44810000 */ mtc1 $at, $f0 +/* A11360 80240AE0 00000000 */ nop +/* A11364 80240AE4 E460007C */ swc1 $f0, 0x7c($v1) +/* A11368 80240AE8 8C43000C */ lw $v1, 0xc($v0) +/* A1136C 80240AEC 3C013F33 */ lui $at, 0x3f33 +/* A11370 80240AF0 34213333 */ ori $at, $at, 0x3333 +/* A11374 80240AF4 44810000 */ mtc1 $at, $f0 +/* A11378 80240AF8 00000000 */ nop +/* A1137C 80240AFC E4600068 */ swc1 $f0, 0x68($v1) +/* A11380 80240B00 8FBF0010 */ lw $ra, 0x10($sp) +/* A11384 80240B04 24020002 */ addiu $v0, $zero, 2 +/* A11388 80240B08 03E00008 */ jr $ra +/* A1138C 80240B0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240B10_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240B10_A10880.s new file mode 100644 index 0000000000..570cdd8510 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240B10_A10880.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B10_A11390 +/* A11390 80240B10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11394 80240B14 AFBF0010 */ sw $ra, 0x10($sp) +/* A11398 80240B18 8C82000C */ lw $v0, 0xc($a0) +/* A1139C 80240B1C 0C0B1EAF */ jal get_variable +/* A113A0 80240B20 8C450000 */ lw $a1, ($v0) +/* A113A4 80240B24 8C43000C */ lw $v1, 0xc($v0) +/* A113A8 80240B28 3C01432A */ lui $at, 0x432a +/* A113AC 80240B2C 44810000 */ mtc1 $at, $f0 +/* A113B0 80240B30 00000000 */ nop +/* A113B4 80240B34 E4600078 */ swc1 $f0, 0x78($v1) +/* A113B8 80240B38 8C43000C */ lw $v1, 0xc($v0) +/* A113BC 80240B3C E460007C */ swc1 $f0, 0x7c($v1) +/* A113C0 80240B40 8C43000C */ lw $v1, 0xc($v0) +/* A113C4 80240B44 3C014000 */ lui $at, 0x4000 +/* A113C8 80240B48 44810000 */ mtc1 $at, $f0 +/* A113CC 80240B4C 00000000 */ nop +/* A113D0 80240B50 E4600068 */ swc1 $f0, 0x68($v1) +/* A113D4 80240B54 8FBF0010 */ lw $ra, 0x10($sp) +/* A113D8 80240B58 24020002 */ addiu $v0, $zero, 2 +/* A113DC 80240B5C 03E00008 */ jr $ra +/* A113E0 80240B60 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240B64_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240B64_A10880.s new file mode 100644 index 0000000000..67c6727c96 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240B64_A10880.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B64_A113E4 +/* A113E4 80240B64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A113E8 80240B68 AFB10014 */ sw $s1, 0x14($sp) +/* A113EC 80240B6C 0080882D */ daddu $s1, $a0, $zero +/* A113F0 80240B70 AFBF0018 */ sw $ra, 0x18($sp) +/* A113F4 80240B74 AFB00010 */ sw $s0, 0x10($sp) +/* A113F8 80240B78 8E30000C */ lw $s0, 0xc($s1) +/* A113FC 80240B7C 8E050000 */ lw $a1, ($s0) +/* A11400 80240B80 0C0B1EAF */ jal get_variable +/* A11404 80240B84 26100004 */ addiu $s0, $s0, 4 +/* A11408 80240B88 0220202D */ daddu $a0, $s1, $zero +/* A1140C 80240B8C 8E050000 */ lw $a1, ($s0) +/* A11410 80240B90 0C0B1EAF */ jal get_variable +/* A11414 80240B94 0040802D */ daddu $s0, $v0, $zero +/* A11418 80240B98 8E03000C */ lw $v1, 0xc($s0) +/* A1141C 80240B9C AC620038 */ sw $v0, 0x38($v1) +/* A11420 80240BA0 8FBF0018 */ lw $ra, 0x18($sp) +/* A11424 80240BA4 8FB10014 */ lw $s1, 0x14($sp) +/* A11428 80240BA8 8FB00010 */ lw $s0, 0x10($sp) +/* A1142C 80240BAC 24020002 */ addiu $v0, $zero, 2 +/* A11430 80240BB0 03E00008 */ jr $ra +/* A11434 80240BB4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240BB8_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240BB8_A10880.s new file mode 100644 index 0000000000..23a54e59f4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240BB8_A10880.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB8_A11438 +/* A11438 80240BB8 3C06FC12 */ lui $a2, 0xfc12 +/* A1143C 80240BBC 34C61624 */ ori $a2, $a2, 0x1624 +/* A11440 80240BC0 3C05FF2F */ lui $a1, 0xff2f +/* A11444 80240BC4 3C04800A */ lui $a0, 0x800a +/* A11448 80240BC8 2484A66C */ addiu $a0, $a0, -0x5994 +/* A1144C 80240BCC 8C820000 */ lw $v0, ($a0) +/* A11450 80240BD0 34A5FFFF */ ori $a1, $a1, 0xffff +/* A11454 80240BD4 0040182D */ daddu $v1, $v0, $zero +/* A11458 80240BD8 24420008 */ addiu $v0, $v0, 8 +/* A1145C 80240BDC AC820000 */ sw $v0, ($a0) +/* A11460 80240BE0 AC660000 */ sw $a2, ($v1) +/* A11464 80240BE4 AC650004 */ sw $a1, 4($v1) +/* A11468 80240BE8 24430008 */ addiu $v1, $v0, 8 +/* A1146C 80240BEC AC830000 */ sw $v1, ($a0) +/* A11470 80240BF0 3C048024 */ lui $a0, 0x8024 +/* A11474 80240BF4 90841C2F */ lbu $a0, 0x1c2f($a0) +/* A11478 80240BF8 3C03FA00 */ lui $v1, 0xfa00 +/* A1147C 80240BFC AC430000 */ sw $v1, ($v0) +/* A11480 80240C00 03E00008 */ jr $ra +/* A11484 80240C04 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240C08.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240C08.s new file mode 100644 index 0000000000..a08ab4ab8b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240C08.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C08 +/* A11488 80240C08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1148C 80240C0C AFBF0010 */ sw $ra, 0x10($sp) +/* A11490 80240C10 8C82000C */ lw $v0, 0xc($a0) +/* A11494 80240C14 0C0B1EAF */ jal get_variable +/* A11498 80240C18 8C450000 */ lw $a1, ($v0) +/* A1149C 80240C1C 8FBF0010 */ lw $ra, 0x10($sp) +/* A114A0 80240C20 3C018024 */ lui $at, 0x8024 +/* A114A4 80240C24 AC221C2C */ sw $v0, 0x1c2c($at) +/* A114A8 80240C28 24020002 */ addiu $v0, $zero, 2 +/* A114AC 80240C2C 03E00008 */ jr $ra +/* A114B0 80240C30 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240C34_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240C34_A10880.s new file mode 100644 index 0000000000..c0f989f437 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240C34_A10880.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C34_A114B4 +/* A114B4 80240C34 3C06FC12 */ lui $a2, 0xfc12 +/* A114B8 80240C38 34C61624 */ ori $a2, $a2, 0x1624 +/* A114BC 80240C3C 3C05FF2F */ lui $a1, 0xff2f +/* A114C0 80240C40 3C04800A */ lui $a0, 0x800a +/* A114C4 80240C44 2484A66C */ addiu $a0, $a0, -0x5994 +/* A114C8 80240C48 8C820000 */ lw $v0, ($a0) +/* A114CC 80240C4C 34A5FFFF */ ori $a1, $a1, 0xffff +/* A114D0 80240C50 0040182D */ daddu $v1, $v0, $zero +/* A114D4 80240C54 24420008 */ addiu $v0, $v0, 8 +/* A114D8 80240C58 AC820000 */ sw $v0, ($a0) +/* A114DC 80240C5C AC660000 */ sw $a2, ($v1) +/* A114E0 80240C60 AC650004 */ sw $a1, 4($v1) +/* A114E4 80240C64 24430008 */ addiu $v1, $v0, 8 +/* A114E8 80240C68 AC830000 */ sw $v1, ($a0) +/* A114EC 80240C6C 3C048024 */ lui $a0, 0x8024 +/* A114F0 80240C70 90841C33 */ lbu $a0, 0x1c33($a0) +/* A114F4 80240C74 3C03FA00 */ lui $v1, 0xfa00 +/* A114F8 80240C78 AC430000 */ sw $v1, ($v0) +/* A114FC 80240C7C 03E00008 */ jr $ra +/* A11500 80240C80 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240C84_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240C84_A10880.s new file mode 100644 index 0000000000..e6db04e5c5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240C84_A10880.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C84_A11504 +/* A11504 80240C84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11508 80240C88 AFBF0010 */ sw $ra, 0x10($sp) +/* A1150C 80240C8C 8C82000C */ lw $v0, 0xc($a0) +/* A11510 80240C90 0C0B1EAF */ jal get_variable +/* A11514 80240C94 8C450000 */ lw $a1, ($v0) +/* A11518 80240C98 8FBF0010 */ lw $ra, 0x10($sp) +/* A1151C 80240C9C 3C018024 */ lui $at, 0x8024 +/* A11520 80240CA0 AC221C30 */ sw $v0, 0x1c30($at) +/* A11524 80240CA4 24020002 */ addiu $v0, $zero, 2 +/* A11528 80240CA8 03E00008 */ jr $ra +/* A1152C 80240CAC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240CB0_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240CB0_A10880.s new file mode 100644 index 0000000000..07eff84f13 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240CB0_A10880.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB0_A11530 +/* A11530 80240CB0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11534 80240CB4 AFBF0010 */ sw $ra, 0x10($sp) +/* A11538 80240CB8 8C82000C */ lw $v0, 0xc($a0) +/* A1153C 80240CBC 0C0B1EAF */ jal get_variable +/* A11540 80240CC0 8C450000 */ lw $a1, ($v0) +/* A11544 80240CC4 0C03AC5A */ jal func_800EB168 +/* A11548 80240CC8 0040202D */ daddu $a0, $v0, $zero +/* A1154C 80240CCC 8FBF0010 */ lw $ra, 0x10($sp) +/* A11550 80240CD0 24020002 */ addiu $v0, $zero, 2 +/* A11554 80240CD4 03E00008 */ jr $ra +/* A11558 80240CD8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240CDC.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240CDC.s new file mode 100644 index 0000000000..11c8674900 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240CDC.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CDC +/* A1155C 80240CDC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A11560 80240CE0 AFB1001C */ sw $s1, 0x1c($sp) +/* A11564 80240CE4 0080882D */ daddu $s1, $a0, $zero +/* A11568 80240CE8 AFBF002C */ sw $ra, 0x2c($sp) +/* A1156C 80240CEC AFB40028 */ sw $s4, 0x28($sp) +/* A11570 80240CF0 AFB30024 */ sw $s3, 0x24($sp) +/* A11574 80240CF4 AFB20020 */ sw $s2, 0x20($sp) +/* A11578 80240CF8 AFB00018 */ sw $s0, 0x18($sp) +/* A1157C 80240CFC 8E30000C */ lw $s0, 0xc($s1) +/* A11580 80240D00 8E050000 */ lw $a1, ($s0) +/* A11584 80240D04 0C0B1EAF */ jal get_variable +/* A11588 80240D08 26100004 */ addiu $s0, $s0, 4 +/* A1158C 80240D0C 8E050000 */ lw $a1, ($s0) +/* A11590 80240D10 26100004 */ addiu $s0, $s0, 4 +/* A11594 80240D14 0220202D */ daddu $a0, $s1, $zero +/* A11598 80240D18 0C0B1EAF */ jal get_variable +/* A1159C 80240D1C 0040A02D */ daddu $s4, $v0, $zero +/* A115A0 80240D20 8E050000 */ lw $a1, ($s0) +/* A115A4 80240D24 26100004 */ addiu $s0, $s0, 4 +/* A115A8 80240D28 0220202D */ daddu $a0, $s1, $zero +/* A115AC 80240D2C 0C0B1EAF */ jal get_variable +/* A115B0 80240D30 0040982D */ daddu $s3, $v0, $zero +/* A115B4 80240D34 8E050000 */ lw $a1, ($s0) +/* A115B8 80240D38 26100004 */ addiu $s0, $s0, 4 +/* A115BC 80240D3C 0220202D */ daddu $a0, $s1, $zero +/* A115C0 80240D40 0C0B1EAF */ jal get_variable +/* A115C4 80240D44 0040902D */ daddu $s2, $v0, $zero +/* A115C8 80240D48 0220202D */ daddu $a0, $s1, $zero +/* A115CC 80240D4C 8E050000 */ lw $a1, ($s0) +/* A115D0 80240D50 0C0B1EAF */ jal get_variable +/* A115D4 80240D54 0040802D */ daddu $s0, $v0, $zero +/* A115D8 80240D58 0280202D */ daddu $a0, $s4, $zero +/* A115DC 80240D5C 44931000 */ mtc1 $s3, $f2 +/* A115E0 80240D60 00000000 */ nop +/* A115E4 80240D64 468010A0 */ cvt.s.w $f2, $f2 +/* A115E8 80240D68 44051000 */ mfc1 $a1, $f2 +/* A115EC 80240D6C 44921000 */ mtc1 $s2, $f2 +/* A115F0 80240D70 00000000 */ nop +/* A115F4 80240D74 468010A0 */ cvt.s.w $f2, $f2 +/* A115F8 80240D78 44061000 */ mfc1 $a2, $f2 +/* A115FC 80240D7C 44901000 */ mtc1 $s0, $f2 +/* A11600 80240D80 00000000 */ nop +/* A11604 80240D84 468010A0 */ cvt.s.w $f2, $f2 +/* A11608 80240D88 44071000 */ mfc1 $a3, $f2 +/* A1160C 80240D8C 44820000 */ mtc1 $v0, $f0 +/* A11610 80240D90 00000000 */ nop +/* A11614 80240D94 46800020 */ cvt.s.w $f0, $f0 +/* A11618 80240D98 0C01BFBC */ jal func_8006FEF0 +/* A1161C 80240D9C E7A00010 */ swc1 $f0, 0x10($sp) +/* A11620 80240DA0 8FBF002C */ lw $ra, 0x2c($sp) +/* A11624 80240DA4 8FB40028 */ lw $s4, 0x28($sp) +/* A11628 80240DA8 8FB30024 */ lw $s3, 0x24($sp) +/* A1162C 80240DAC 8FB20020 */ lw $s2, 0x20($sp) +/* A11630 80240DB0 8FB1001C */ lw $s1, 0x1c($sp) +/* A11634 80240DB4 8FB00018 */ lw $s0, 0x18($sp) +/* A11638 80240DB8 24020002 */ addiu $v0, $zero, 2 +/* A1163C 80240DBC 03E00008 */ jr $ra +/* A11640 80240DC0 27BD0030 */ addiu $sp, $sp, 0x30 +/* A11644 80240DC4 00000000 */ nop +/* A11648 80240DC8 00000000 */ nop +/* A1164C 80240DCC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240DD0_A10880.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240DD0_A10880.s new file mode 100644 index 0000000000..73e5a9b404 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240DD0_A10880.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DD0_A11650 +/* A11650 80240DD0 3C03800B */ lui $v1, %hi(gCameras) +/* A11654 80240DD4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A11658 80240DD8 94620002 */ lhu $v0, 2($v1) +/* A1165C 80240DDC 3042FFFE */ andi $v0, $v0, 0xfffe +/* A11660 80240DE0 A4620002 */ sh $v0, 2($v1) +/* A11664 80240DE4 03E00008 */ jr $ra +/* A11668 80240DE8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_01/func_80240DEC.s b/asm/nonmatchings/world/area_hos/hos_01/func_80240DEC.s new file mode 100644 index 0000000000..521a5f1b45 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_01/func_80240DEC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DEC +/* A1166C 80240DEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A11670 80240DF0 AFBF0010 */ sw $ra, 0x10($sp) +/* A11674 80240DF4 8C82000C */ lw $v0, 0xc($a0) +/* A11678 80240DF8 3C068016 */ lui $a2, 0x8016 +/* A1167C 80240DFC 84C6A552 */ lh $a2, -0x5aae($a2) +/* A11680 80240E00 0C0B2026 */ jal set_variable +/* A11684 80240E04 8C450000 */ lw $a1, ($v0) +/* A11688 80240E08 8FBF0010 */ lw $ra, 0x10($sp) +/* A1168C 80240E0C 24020002 */ addiu $v0, $zero, 2 +/* A11690 80240E10 03E00008 */ jr $ra +/* A11694 80240E14 27BD0018 */ addiu $sp, $sp, 0x18 +/* A11698 80240E18 00000000 */ nop +/* A1169C 80240E1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240000_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240000_A16220.s new file mode 100644 index 0000000000..505897961b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240000_A16220.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A16220 +/* A16220 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A16224 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A16228 80240008 0080802D */ daddu $s0, $a0, $zero +/* A1622C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A16230 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A16234 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A16238 80240018 00621821 */ addu $v1, $v1, $v0 +/* A1623C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A16240 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A16244 80240024 3C020002 */ lui $v0, 2 +/* A16248 80240028 08090010 */ j .L80240040 +/* A1624C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A16250 80240030 3C040002 */ lui $a0, 2 +/* A16254 80240034 0083102A */ slt $v0, $a0, $v1 +/* A16258 80240038 10400002 */ beqz $v0, .L80240044 +/* A1625C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A16260 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A16264 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A16268 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A1626C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A16270 80240050 04610004 */ bgez $v1, .L80240064 +/* A16274 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A16278 80240058 3C020002 */ lui $v0, 2 +/* A1627C 8024005C 0809001D */ j .L80240074 +/* A16280 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A16284 80240064 3C040002 */ lui $a0, 2 +/* A16288 80240068 0083102A */ slt $v0, $a0, $v1 +/* A1628C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A16290 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A16294 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A16298 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A1629C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A162A0 80240080 00621821 */ addu $v1, $v1, $v0 +/* A162A4 80240084 04610004 */ bgez $v1, .L80240098 +/* A162A8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A162AC 8024008C 3C020002 */ lui $v0, 2 +/* A162B0 80240090 0809002A */ j .L802400A8 +/* A162B4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A162B8 80240098 3C040002 */ lui $a0, 2 +/* A162BC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A162C0 802400A0 10400002 */ beqz $v0, .L802400AC +/* A162C4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A162C8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A162CC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A162D0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A162D4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A162D8 802400B8 04610004 */ bgez $v1, .L802400CC +/* A162DC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A162E0 802400C0 3C020002 */ lui $v0, 2 +/* A162E4 802400C4 08090037 */ j .L802400DC +/* A162E8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A162EC 802400CC 3C040002 */ lui $a0, 2 +/* A162F0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A162F4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A162F8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A162FC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A16300 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A16304 802400E4 0C046F07 */ jal set_main_pan_u +/* A16308 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A1630C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A16310 802400F0 0C046F0D */ jal set_main_pan_v +/* A16314 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A16318 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A1631C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A16320 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A16324 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A16328 80240108 0C046F19 */ jal set_aux_pan_v +/* A1632C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A16330 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A16334 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A16338 80240118 0000102D */ daddu $v0, $zero, $zero +/* A1633C 8024011C 03E00008 */ jr $ra +/* A16340 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240124_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240124_A16220.s new file mode 100644 index 0000000000..2185a014ac --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240124_A16220.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A16344 +/* A16344 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A16348 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A1634C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A16350 80240130 10A00005 */ beqz $a1, .L80240148 +/* A16354 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A16358 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A1635C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A16360 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A16364 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A16368 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A1636C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A16370 80240150 00000000 */ nop +/* A16374 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A16378 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A1637C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A16380 80240160 04610004 */ bgez $v1, .L80240174 +/* A16384 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A16388 80240168 3C020002 */ lui $v0, 2 +/* A1638C 8024016C 08090061 */ j .L80240184 +/* A16390 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A16394 80240174 3C040002 */ lui $a0, 2 +/* A16398 80240178 0083102A */ slt $v0, $a0, $v1 +/* A1639C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A163A0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A163A4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A163A8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A163AC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A163B0 80240190 00000000 */ nop +/* A163B4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A163B8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A163BC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A163C0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A163C4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A163C8 802401A8 3C020002 */ lui $v0, 2 +/* A163CC 802401AC 08090071 */ j .L802401C4 +/* A163D0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A163D4 802401B4 3C040002 */ lui $a0, 2 +/* A163D8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A163DC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A163E0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A163E4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A163E8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A163EC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A163F0 802401D0 00000000 */ nop +/* A163F4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A163F8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A163FC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A16400 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A16404 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A16408 802401E8 3C020002 */ lui $v0, 2 +/* A1640C 802401EC 08090081 */ j .L80240204 +/* A16410 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A16414 802401F4 3C040002 */ lui $a0, 2 +/* A16418 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A1641C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A16420 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A16424 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A16428 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A1642C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A16430 80240210 00000000 */ nop +/* A16434 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A16438 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A1643C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A16440 80240220 04610004 */ bgez $v1, .L80240234 +/* A16444 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A16448 80240228 3C020002 */ lui $v0, 2 +/* A1644C 8024022C 08090091 */ j .L80240244 +/* A16450 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A16454 80240234 3C040002 */ lui $a0, 2 +/* A16458 80240238 0083102A */ slt $v0, $a0, $v1 +/* A1645C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A16460 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A16464 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A16468 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A1646C 8024024C 0C046F07 */ jal set_main_pan_u +/* A16470 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A16474 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A16478 80240258 0C046F0D */ jal set_main_pan_v +/* A1647C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A16480 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A16484 80240264 0C046F13 */ jal set_aux_pan_u +/* A16488 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A1648C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A16490 80240270 0C046F19 */ jal set_aux_pan_v +/* A16494 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A16498 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A1649C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A164A0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A164A4 80240284 24420001 */ addiu $v0, $v0, 1 +/* A164A8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A164AC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A164B0 80240290 24630001 */ addiu $v1, $v1, 1 +/* A164B4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A164B8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A164BC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A164C0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A164C4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A164C8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A164CC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A164D0 802402B0 14600002 */ bnez $v1, .L802402BC +/* A164D4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A164D8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A164DC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A164E0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A164E4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A164E8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A164EC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A164F0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A164F4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A164F8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A164FC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A16500 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A16504 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A16508 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A1650C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A16510 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A16514 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A16518 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A1651C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A16520 80240300 0000102D */ daddu $v0, $zero, $zero +/* A16524 80240304 03E00008 */ jr $ra +/* A16528 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_8024030C_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_8024030C_A16220.s new file mode 100644 index 0000000000..3b6ba78ff4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_8024030C_A16220.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_A1652C +/* A1652C 8024030C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A16530 80240310 AFB10014 */ sw $s1, 0x14($sp) +/* A16534 80240314 3C118024 */ lui $s1, 0x8024 +/* A16538 80240318 263133AC */ addiu $s1, $s1, 0x33ac +/* A1653C 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* A16540 80240320 AFB3001C */ sw $s3, 0x1c($sp) +/* A16544 80240324 AFB20018 */ sw $s2, 0x18($sp) +/* A16548 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* A1654C 8024032C 96240000 */ lhu $a0, ($s1) +/* A16550 80240330 0C01917C */ jal sins +/* A16554 80240334 3C130001 */ lui $s3, 1 +/* A16558 80240338 00021400 */ sll $v0, $v0, 0x10 +/* A1655C 8024033C 00021403 */ sra $v0, $v0, 0x10 +/* A16560 80240340 3C013800 */ lui $at, 0x3800 +/* A16564 80240344 44811000 */ mtc1 $at, $f2 +/* A16568 80240348 44820000 */ mtc1 $v0, $f0 +/* A1656C 8024034C 00000000 */ nop +/* A16570 80240350 46800020 */ cvt.s.w $f0, $f0 +/* A16574 80240354 46020002 */ mul.s $f0, $f0, $f2 +/* A16578 80240358 00000000 */ nop +/* A1657C 8024035C 3C013FE0 */ lui $at, 0x3fe0 +/* A16580 80240360 44811800 */ mtc1 $at, $f3 +/* A16584 80240364 44801000 */ mtc1 $zero, $f2 +/* A16588 80240368 46000021 */ cvt.d.s $f0, $f0 +/* A1658C 8024036C 46220002 */ mul.d $f0, $f0, $f2 +/* A16590 80240370 00000000 */ nop +/* A16594 80240374 36731630 */ ori $s3, $s3, 0x1630 +/* A16598 80240378 46220002 */ mul.d $f0, $f0, $f2 +/* A1659C 8024037C 00000000 */ nop +/* A165A0 80240380 3C12800A */ lui $s2, 0x800a +/* A165A4 80240384 2652A674 */ addiu $s2, $s2, -0x598c +/* A165A8 80240388 3C108007 */ lui $s0, 0x8007 +/* A165AC 8024038C 261041F0 */ addiu $s0, $s0, 0x41f0 +/* A165B0 80240390 96040000 */ lhu $a0, ($s0) +/* A165B4 80240394 8E420000 */ lw $v0, ($s2) +/* A165B8 80240398 00042180 */ sll $a0, $a0, 6 +/* A165BC 8024039C 3C018024 */ lui $at, 0x8024 +/* A165C0 802403A0 D4224DE0 */ ldc1 $f2, 0x4de0($at) +/* A165C4 802403A4 00932021 */ addu $a0, $a0, $s3 +/* A165C8 802403A8 46220000 */ add.d $f0, $f0, $f2 +/* A165CC 802403AC 00442021 */ addu $a0, $v0, $a0 +/* A165D0 802403B0 96220000 */ lhu $v0, ($s1) +/* A165D4 802403B4 46200020 */ cvt.s.d $f0, $f0 +/* A165D8 802403B8 44050000 */ mfc1 $a1, $f0 +/* A165DC 802403BC 24420199 */ addiu $v0, $v0, 0x199 +/* A165E0 802403C0 A6220000 */ sh $v0, ($s1) +/* A165E4 802403C4 00A0302D */ daddu $a2, $a1, $zero +/* A165E8 802403C8 0C019DC0 */ jal guScale +/* A165EC 802403CC 00A0382D */ daddu $a3, $a1, $zero +/* A165F0 802403D0 3C05DA38 */ lui $a1, 0xda38 +/* A165F4 802403D4 3C04800A */ lui $a0, 0x800a +/* A165F8 802403D8 2484A66C */ addiu $a0, $a0, -0x5994 +/* A165FC 802403DC 34A50001 */ ori $a1, $a1, 1 +/* A16600 802403E0 8C830000 */ lw $v1, ($a0) +/* A16604 802403E4 96020000 */ lhu $v0, ($s0) +/* A16608 802403E8 0060302D */ daddu $a2, $v1, $zero +/* A1660C 802403EC 24630008 */ addiu $v1, $v1, 8 +/* A16610 802403F0 AC830000 */ sw $v1, ($a0) +/* A16614 802403F4 24430001 */ addiu $v1, $v0, 1 +/* A16618 802403F8 3042FFFF */ andi $v0, $v0, 0xffff +/* A1661C 802403FC 00021180 */ sll $v0, $v0, 6 +/* A16620 80240400 ACC50000 */ sw $a1, ($a2) +/* A16624 80240404 A6030000 */ sh $v1, ($s0) +/* A16628 80240408 8E430000 */ lw $v1, ($s2) +/* A1662C 8024040C 00531021 */ addu $v0, $v0, $s3 +/* A16630 80240410 00621821 */ addu $v1, $v1, $v0 +/* A16634 80240414 ACC30004 */ sw $v1, 4($a2) +/* A16638 80240418 8FBF0020 */ lw $ra, 0x20($sp) +/* A1663C 8024041C 8FB3001C */ lw $s3, 0x1c($sp) +/* A16640 80240420 8FB20018 */ lw $s2, 0x18($sp) +/* A16644 80240424 8FB10014 */ lw $s1, 0x14($sp) +/* A16648 80240428 8FB00010 */ lw $s0, 0x10($sp) +/* A1664C 8024042C 03E00008 */ jr $ra +/* A16650 80240430 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240434_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240434_A16220.s new file mode 100644 index 0000000000..55647e110d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240434_A16220.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_A16654 +/* A16654 80240434 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A16658 80240438 0000202D */ daddu $a0, $zero, $zero +/* A1665C 8024043C 27A50010 */ addiu $a1, $sp, 0x10 +/* A16660 80240440 27A60014 */ addiu $a2, $sp, 0x14 +/* A16664 80240444 27A70018 */ addiu $a3, $sp, 0x18 +/* A16668 80240448 AFBF0038 */ sw $ra, 0x38($sp) +/* A1666C 8024044C AFB50034 */ sw $s5, 0x34($sp) +/* A16670 80240450 AFB40030 */ sw $s4, 0x30($sp) +/* A16674 80240454 AFB3002C */ sw $s3, 0x2c($sp) +/* A16678 80240458 AFB20028 */ sw $s2, 0x28($sp) +/* A1667C 8024045C AFB10024 */ sw $s1, 0x24($sp) +/* A16680 80240460 0C0470AC */ jal func_8011C2B0 +/* A16684 80240464 AFB00020 */ sw $s0, 0x20($sp) +/* A16688 80240468 8FA20018 */ lw $v0, 0x18($sp) +/* A1668C 8024046C 1840004F */ blez $v0, .L802405AC +/* A16690 80240470 0000802D */ daddu $s0, $zero, $zero +/* A16694 80240474 3C158024 */ lui $s5, 0x8024 +/* A16698 80240478 26B533AE */ addiu $s5, $s5, 0x33ae +/* A1669C 8024047C 3C135555 */ lui $s3, 0x5555 +/* A166A0 80240480 36735556 */ ori $s3, $s3, 0x5556 +/* A166A4 80240484 34148000 */ ori $s4, $zero, 0x8000 +/* A166A8 80240488 02130018 */ mult $s0, $s3 +.L8024048C: +/* A166AC 8024048C 001097C3 */ sra $s2, $s0, 0x1f +/* A166B0 80240490 00001810 */ mfhi $v1 +/* A166B4 80240494 00721823 */ subu $v1, $v1, $s2 +/* A166B8 80240498 00031040 */ sll $v0, $v1, 1 +/* A166BC 8024049C 00431021 */ addu $v0, $v0, $v1 +/* A166C0 802404A0 02021023 */ subu $v0, $s0, $v0 +/* A166C4 802404A4 96A30000 */ lhu $v1, ($s5) +/* A166C8 802404A8 24420001 */ addiu $v0, $v0, 1 +/* A166CC 802404AC 00620018 */ mult $v1, $v0 +/* A166D0 802404B0 00101100 */ sll $v0, $s0, 4 +/* A166D4 802404B4 00001812 */ mflo $v1 +/* A166D8 802404B8 00702021 */ addu $a0, $v1, $s0 +/* A166DC 802404BC 8FA30014 */ lw $v1, 0x14($sp) +/* A166E0 802404C0 3084FFFF */ andi $a0, $a0, 0xffff +/* A166E4 802404C4 0C01917C */ jal sins +/* A166E8 802404C8 00628821 */ addu $s1, $v1, $v0 +/* A166EC 802404CC 00021400 */ sll $v0, $v0, 0x10 +/* A166F0 802404D0 00021403 */ sra $v0, $v0, 0x10 +/* A166F4 802404D4 00541021 */ addu $v0, $v0, $s4 +/* A166F8 802404D8 00021FC2 */ srl $v1, $v0, 0x1f +/* A166FC 802404DC 00431021 */ addu $v0, $v0, $v1 +/* A16700 802404E0 000213C0 */ sll $v0, $v0, 0xf +/* A16704 802404E4 00021403 */ sra $v0, $v0, 0x10 +/* A16708 802404E8 00021880 */ sll $v1, $v0, 2 +/* A1670C 802404EC 00621821 */ addu $v1, $v1, $v0 +/* A16710 802404F0 00031140 */ sll $v0, $v1, 5 +/* A16714 802404F4 00431823 */ subu $v1, $v0, $v1 +/* A16718 802404F8 04610002 */ bgez $v1, .L80240504 +/* A1671C 802404FC 0060102D */ daddu $v0, $v1, $zero +/* A16720 80240500 24627FFF */ addiu $v0, $v1, 0x7fff +.L80240504: +/* A16724 80240504 000213C3 */ sra $v0, $v0, 0xf +/* A16728 80240508 24420064 */ addiu $v0, $v0, 0x64 +/* A1672C 8024050C A222000C */ sb $v0, 0xc($s1) +/* A16730 80240510 02121823 */ subu $v1, $s0, $s2 +/* A16734 80240514 00032843 */ sra $a1, $v1, 1 +/* A16738 80240518 00B30018 */ mult $a1, $s3 +/* A1673C 8024051C A222000D */ sb $v0, 0xd($s1) +/* A16740 80240520 96A40000 */ lhu $a0, ($s5) +/* A16744 80240524 00031FC3 */ sra $v1, $v1, 0x1f +/* A16748 80240528 000433C2 */ srl $a2, $a0, 0xf +/* A1674C 8024052C 00004810 */ mfhi $t1 +/* A16750 80240530 01231823 */ subu $v1, $t1, $v1 +/* A16754 80240534 00031040 */ sll $v0, $v1, 1 +/* A16758 80240538 00431021 */ addu $v0, $v0, $v1 +/* A1675C 8024053C 00A22823 */ subu $a1, $a1, $v0 +/* A16760 80240540 24A50001 */ addiu $a1, $a1, 1 +/* A16764 80240544 00052BC0 */ sll $a1, $a1, 0xf +/* A16768 80240548 00C50018 */ mult $a2, $a1 +/* A1676C 8024054C 00042382 */ srl $a0, $a0, 0xe +/* A16770 80240550 000423C0 */ sll $a0, $a0, 0xf +/* A16774 80240554 00001812 */ mflo $v1 +/* A16778 80240558 00642021 */ addu $a0, $v1, $a0 +/* A1677C 8024055C 00902021 */ addu $a0, $a0, $s0 +/* A16780 80240560 0C01917C */ jal sins +/* A16784 80240564 3084FFFF */ andi $a0, $a0, 0xffff +/* A16788 80240568 00021400 */ sll $v0, $v0, 0x10 +/* A1678C 8024056C 00021403 */ sra $v0, $v0, 0x10 +/* A16790 80240570 9223000C */ lbu $v1, 0xc($s1) +/* A16794 80240574 00541021 */ addu $v0, $v0, $s4 +/* A16798 80240578 00620018 */ mult $v1, $v0 +/* A1679C 8024057C 00001812 */ mflo $v1 +/* A167A0 80240580 04610004 */ bgez $v1, .L80240594 +/* A167A4 80240584 00031403 */ sra $v0, $v1, 0x10 +/* A167A8 80240588 3402FFFF */ ori $v0, $zero, 0xffff +/* A167AC 8024058C 00621821 */ addu $v1, $v1, $v0 +/* A167B0 80240590 00031403 */ sra $v0, $v1, 0x10 +.L80240594: +/* A167B4 80240594 A222000E */ sb $v0, 0xe($s1) +/* A167B8 80240598 8FA20018 */ lw $v0, 0x18($sp) +/* A167BC 8024059C 26100001 */ addiu $s0, $s0, 1 +/* A167C0 802405A0 0202102A */ slt $v0, $s0, $v0 +/* A167C4 802405A4 1440FFB9 */ bnez $v0, .L8024048C +/* A167C8 802405A8 02130018 */ mult $s0, $s3 +.L802405AC: +/* A167CC 802405AC 3C03800A */ lui $v1, 0x800a +/* A167D0 802405B0 2463A66C */ addiu $v1, $v1, -0x5994 +/* A167D4 802405B4 8C620000 */ lw $v0, ($v1) +/* A167D8 802405B8 0000202D */ daddu $a0, $zero, $zero +/* A167DC 802405BC 0040802D */ daddu $s0, $v0, $zero +/* A167E0 802405C0 24420008 */ addiu $v0, $v0, 8 +/* A167E4 802405C4 AC620000 */ sw $v0, ($v1) +/* A167E8 802405C8 3C02DE00 */ lui $v0, 0xde00 +/* A167EC 802405CC 0C0470BB */ jal func_8011C2EC +/* A167F0 802405D0 AE020000 */ sw $v0, ($s0) +/* A167F4 802405D4 3C048024 */ lui $a0, 0x8024 +/* A167F8 802405D8 248433AE */ addiu $a0, $a0, 0x33ae +/* A167FC 802405DC 94830000 */ lhu $v1, ($a0) +/* A16800 802405E0 AE020004 */ sw $v0, 4($s0) +/* A16804 802405E4 24630253 */ addiu $v1, $v1, 0x253 +/* A16808 802405E8 A4830000 */ sh $v1, ($a0) +/* A1680C 802405EC 8FBF0038 */ lw $ra, 0x38($sp) +/* A16810 802405F0 8FB50034 */ lw $s5, 0x34($sp) +/* A16814 802405F4 8FB40030 */ lw $s4, 0x30($sp) +/* A16818 802405F8 8FB3002C */ lw $s3, 0x2c($sp) +/* A1681C 802405FC 8FB20028 */ lw $s2, 0x28($sp) +/* A16820 80240600 8FB10024 */ lw $s1, 0x24($sp) +/* A16824 80240604 8FB00020 */ lw $s0, 0x20($sp) +/* A16828 80240608 03E00008 */ jr $ra +/* A1682C 8024060C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240610.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240610.s new file mode 100644 index 0000000000..2617155a57 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240610.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240610 +/* A16830 80240610 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A16834 80240614 24040001 */ addiu $a0, $zero, 1 +/* A16838 80240618 27A50010 */ addiu $a1, $sp, 0x10 +/* A1683C 8024061C 27A60014 */ addiu $a2, $sp, 0x14 +/* A16840 80240620 AFBF0034 */ sw $ra, 0x34($sp) +/* A16844 80240624 AFB40030 */ sw $s4, 0x30($sp) +/* A16848 80240628 AFB3002C */ sw $s3, 0x2c($sp) +/* A1684C 8024062C AFB20028 */ sw $s2, 0x28($sp) +/* A16850 80240630 AFB10024 */ sw $s1, 0x24($sp) +/* A16854 80240634 AFB00020 */ sw $s0, 0x20($sp) +/* A16858 80240638 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A1685C 8024063C 0C0470AC */ jal func_8011C2B0 +/* A16860 80240640 27A70018 */ addiu $a3, $sp, 0x18 +/* A16864 80240644 8FA20018 */ lw $v0, 0x18($sp) +/* A16868 80240648 18400095 */ blez $v0, .L802408A0 +/* A1686C 8024064C 0000802D */ daddu $s0, $zero, $zero +/* A16870 80240650 3C125555 */ lui $s2, 0x5555 +/* A16874 80240654 36525556 */ ori $s2, $s2, 0x5556 +/* A16878 80240658 34148000 */ ori $s4, $zero, 0x8000 +/* A1687C 8024065C 3C0141E0 */ lui $at, 0x41e0 +/* A16880 80240660 4481A800 */ mtc1 $at, $f21 +/* A16884 80240664 4480A000 */ mtc1 $zero, $f20 +/* A16888 80240668 3C138000 */ lui $s3, 0x8000 +/* A1688C 8024066C 02120018 */ mult $s0, $s2 +.L80240670: +/* A16890 80240670 00101FC3 */ sra $v1, $s0, 0x1f +/* A16894 80240674 00004810 */ mfhi $t1 +/* A16898 80240678 01231823 */ subu $v1, $t1, $v1 +/* A1689C 8024067C 00031040 */ sll $v0, $v1, 1 +/* A168A0 80240680 00431021 */ addu $v0, $v0, $v1 +/* A168A4 80240684 02021023 */ subu $v0, $s0, $v0 +/* A168A8 80240688 3C038024 */ lui $v1, 0x8024 +/* A168AC 8024068C 946333B0 */ lhu $v1, 0x33b0($v1) +/* A168B0 80240690 24420001 */ addiu $v0, $v0, 1 +/* A168B4 80240694 00620018 */ mult $v1, $v0 +/* A168B8 80240698 8FA20014 */ lw $v0, 0x14($sp) +/* A168BC 8024069C 00001812 */ mflo $v1 +/* A168C0 802406A0 00702021 */ addu $a0, $v1, $s0 +/* A168C4 802406A4 3084FFFF */ andi $a0, $a0, 0xffff +/* A168C8 802406A8 00101900 */ sll $v1, $s0, 4 +/* A168CC 802406AC 00431021 */ addu $v0, $v0, $v1 +/* A168D0 802406B0 0C01917C */ jal sins +/* A168D4 802406B4 2451000C */ addiu $s1, $v0, 0xc +/* A168D8 802406B8 00021400 */ sll $v0, $v0, 0x10 +/* A168DC 802406BC 00021403 */ sra $v0, $v0, 0x10 +/* A168E0 802406C0 00541021 */ addu $v0, $v0, $s4 +/* A168E4 802406C4 00021FC2 */ srl $v1, $v0, 0x1f +/* A168E8 802406C8 00431021 */ addu $v0, $v0, $v1 +/* A168EC 802406CC 00021043 */ sra $v0, $v0, 1 +/* A168F0 802406D0 00021C00 */ sll $v1, $v0, 0x10 +/* A168F4 802406D4 00031C03 */ sra $v1, $v1, 0x10 +/* A168F8 802406D8 00032080 */ sll $a0, $v1, 2 +/* A168FC 802406DC 00832021 */ addu $a0, $a0, $v1 +/* A16900 802406E0 00041940 */ sll $v1, $a0, 5 +/* A16904 802406E4 00641823 */ subu $v1, $v1, $a0 +/* A16908 802406E8 04610002 */ bgez $v1, .L802406F4 +/* A1690C 802406EC 0040202D */ daddu $a0, $v0, $zero +/* A16910 802406F0 24637FFF */ addiu $v1, $v1, 0x7fff +.L802406F4: +/* A16914 802406F4 000313C3 */ sra $v0, $v1, 0xf +/* A16918 802406F8 3C018024 */ lui $at, 0x8024 +/* A1691C 802406FC D4224DE8 */ ldc1 $f2, 0x4de8($at) +/* A16920 80240700 44820000 */ mtc1 $v0, $f0 +/* A16924 80240704 00000000 */ nop +/* A16928 80240708 46800021 */ cvt.d.w $f0, $f0 +/* A1692C 8024070C 46220000 */ add.d $f0, $f0, $f2 +/* A16930 80240710 4620A03E */ c.le.d $f20, $f0 +/* A16934 80240714 00000000 */ nop +/* A16938 80240718 45030005 */ bc1tl .L80240730 +/* A1693C 8024071C 46340001 */ sub.d $f0, $f0, $f20 +/* A16940 80240720 4620010D */ trunc.w.d $f4, $f0 +/* A16944 80240724 44022000 */ mfc1 $v0, $f4 +/* A16948 80240728 080901D1 */ j .L80240744 +/* A1694C 8024072C A2220000 */ sb $v0, ($s1) +.L80240730: +/* A16950 80240730 4620010D */ trunc.w.d $f4, $f0 +/* A16954 80240734 44022000 */ mfc1 $v0, $f4 +/* A16958 80240738 00000000 */ nop +/* A1695C 8024073C 00531025 */ or $v0, $v0, $s3 +/* A16960 80240740 A2220000 */ sb $v0, ($s1) +.L80240744: +/* A16964 80240744 00041400 */ sll $v0, $a0, 0x10 +/* A16968 80240748 00021403 */ sra $v0, $v0, 0x10 +/* A1696C 8024074C 00021880 */ sll $v1, $v0, 2 +/* A16970 80240750 00621821 */ addu $v1, $v1, $v0 +/* A16974 80240754 00031140 */ sll $v0, $v1, 5 +/* A16978 80240758 00431023 */ subu $v0, $v0, $v1 +/* A1697C 8024075C 04410002 */ bgez $v0, .L80240768 +/* A16980 80240760 26230001 */ addiu $v1, $s1, 1 +/* A16984 80240764 24427FFF */ addiu $v0, $v0, 0x7fff +.L80240768: +/* A16988 80240768 000213C3 */ sra $v0, $v0, 0xf +/* A1698C 8024076C 3C018024 */ lui $at, 0x8024 +/* A16990 80240770 D4224DF0 */ ldc1 $f2, 0x4df0($at) +/* A16994 80240774 44820000 */ mtc1 $v0, $f0 +/* A16998 80240778 00000000 */ nop +/* A1699C 8024077C 46800021 */ cvt.d.w $f0, $f0 +/* A169A0 80240780 46220000 */ add.d $f0, $f0, $f2 +/* A169A4 80240784 4620A03E */ c.le.d $f20, $f0 +/* A169A8 80240788 00000000 */ nop +/* A169AC 8024078C 45030005 */ bc1tl .L802407A4 +/* A169B0 80240790 46340001 */ sub.d $f0, $f0, $f20 +/* A169B4 80240794 4620010D */ trunc.w.d $f4, $f0 +/* A169B8 80240798 44022000 */ mfc1 $v0, $f4 +/* A169BC 8024079C 080901EE */ j .L802407B8 +/* A169C0 802407A0 A0620000 */ sb $v0, ($v1) +.L802407A4: +/* A169C4 802407A4 4620010D */ trunc.w.d $f4, $f0 +/* A169C8 802407A8 44022000 */ mfc1 $v0, $f4 +/* A169CC 802407AC 00000000 */ nop +/* A169D0 802407B0 00531025 */ or $v0, $v0, $s3 +/* A169D4 802407B4 A0620000 */ sb $v0, ($v1) +.L802407B8: +/* A169D8 802407B8 00101FC2 */ srl $v1, $s0, 0x1f +/* A169DC 802407BC 02031821 */ addu $v1, $s0, $v1 +/* A169E0 802407C0 00032843 */ sra $a1, $v1, 1 +/* A169E4 802407C4 00B20018 */ mult $a1, $s2 +/* A169E8 802407C8 3C048024 */ lui $a0, 0x8024 +/* A169EC 802407CC 948433B0 */ lhu $a0, 0x33b0($a0) +/* A169F0 802407D0 00031FC3 */ sra $v1, $v1, 0x1f +/* A169F4 802407D4 000433C2 */ srl $a2, $a0, 0xf +/* A169F8 802407D8 00004810 */ mfhi $t1 +/* A169FC 802407DC 01231823 */ subu $v1, $t1, $v1 +/* A16A00 802407E0 00031040 */ sll $v0, $v1, 1 +/* A16A04 802407E4 00431021 */ addu $v0, $v0, $v1 +/* A16A08 802407E8 00A22823 */ subu $a1, $a1, $v0 +/* A16A0C 802407EC 24A50001 */ addiu $a1, $a1, 1 +/* A16A10 802407F0 00052BC0 */ sll $a1, $a1, 0xf +/* A16A14 802407F4 00C50018 */ mult $a2, $a1 +/* A16A18 802407F8 00042382 */ srl $a0, $a0, 0xe +/* A16A1C 802407FC 000423C0 */ sll $a0, $a0, 0xf +/* A16A20 80240800 00001812 */ mflo $v1 +/* A16A24 80240804 00642021 */ addu $a0, $v1, $a0 +/* A16A28 80240808 00902021 */ addu $a0, $a0, $s0 +/* A16A2C 8024080C 0C01917C */ jal sins +/* A16A30 80240810 3084FFFF */ andi $a0, $a0, 0xffff +/* A16A34 80240814 00021400 */ sll $v0, $v0, 0x10 +/* A16A38 80240818 00021403 */ sra $v0, $v0, 0x10 +/* A16A3C 8024081C 92230000 */ lbu $v1, ($s1) +/* A16A40 80240820 00541021 */ addu $v0, $v0, $s4 +/* A16A44 80240824 00620018 */ mult $v1, $v0 +/* A16A48 80240828 00001812 */ mflo $v1 +/* A16A4C 8024082C 04610003 */ bgez $v1, .L8024083C +/* A16A50 80240830 26240002 */ addiu $a0, $s1, 2 +/* A16A54 80240834 3402FFFF */ ori $v0, $zero, 0xffff +/* A16A58 80240838 00621821 */ addu $v1, $v1, $v0 +.L8024083C: +/* A16A5C 8024083C 00031403 */ sra $v0, $v1, 0x10 +/* A16A60 80240840 3C018024 */ lui $at, 0x8024 +/* A16A64 80240844 D4224DF8 */ ldc1 $f2, 0x4df8($at) +/* A16A68 80240848 44820000 */ mtc1 $v0, $f0 +/* A16A6C 8024084C 00000000 */ nop +/* A16A70 80240850 46800021 */ cvt.d.w $f0, $f0 +/* A16A74 80240854 46220000 */ add.d $f0, $f0, $f2 +/* A16A78 80240858 4620A03E */ c.le.d $f20, $f0 +/* A16A7C 8024085C 00000000 */ nop +/* A16A80 80240860 45030005 */ bc1tl .L80240878 +/* A16A84 80240864 46340001 */ sub.d $f0, $f0, $f20 +/* A16A88 80240868 4620010D */ trunc.w.d $f4, $f0 +/* A16A8C 8024086C 44022000 */ mfc1 $v0, $f4 +/* A16A90 80240870 08090223 */ j .L8024088C +/* A16A94 80240874 A0820000 */ sb $v0, ($a0) +.L80240878: +/* A16A98 80240878 4620010D */ trunc.w.d $f4, $f0 +/* A16A9C 8024087C 44022000 */ mfc1 $v0, $f4 +/* A16AA0 80240880 00000000 */ nop +/* A16AA4 80240884 00531025 */ or $v0, $v0, $s3 +/* A16AA8 80240888 A0820000 */ sb $v0, ($a0) +.L8024088C: +/* A16AAC 8024088C 8FA20018 */ lw $v0, 0x18($sp) +/* A16AB0 80240890 26100001 */ addiu $s0, $s0, 1 +/* A16AB4 80240894 0202102A */ slt $v0, $s0, $v0 +/* A16AB8 80240898 1440FF75 */ bnez $v0, .L80240670 +/* A16ABC 8024089C 02120018 */ mult $s0, $s2 +.L802408A0: +/* A16AC0 802408A0 3C03800A */ lui $v1, 0x800a +/* A16AC4 802408A4 2463A66C */ addiu $v1, $v1, -0x5994 +/* A16AC8 802408A8 8C620000 */ lw $v0, ($v1) +/* A16ACC 802408AC 24040001 */ addiu $a0, $zero, 1 +/* A16AD0 802408B0 0040802D */ daddu $s0, $v0, $zero +/* A16AD4 802408B4 24420008 */ addiu $v0, $v0, 8 +/* A16AD8 802408B8 AC620000 */ sw $v0, ($v1) +/* A16ADC 802408BC 3C02DE00 */ lui $v0, 0xde00 +/* A16AE0 802408C0 0C0470BB */ jal func_8011C2EC +/* A16AE4 802408C4 AE020000 */ sw $v0, ($s0) +/* A16AE8 802408C8 3C048024 */ lui $a0, 0x8024 +/* A16AEC 802408CC 248433B0 */ addiu $a0, $a0, 0x33b0 +/* A16AF0 802408D0 94830000 */ lhu $v1, ($a0) +/* A16AF4 802408D4 AE020004 */ sw $v0, 4($s0) +/* A16AF8 802408D8 24630253 */ addiu $v1, $v1, 0x253 +/* A16AFC 802408DC A4830000 */ sh $v1, ($a0) +/* A16B00 802408E0 8FBF0034 */ lw $ra, 0x34($sp) +/* A16B04 802408E4 8FB40030 */ lw $s4, 0x30($sp) +/* A16B08 802408E8 8FB3002C */ lw $s3, 0x2c($sp) +/* A16B0C 802408EC 8FB20028 */ lw $s2, 0x28($sp) +/* A16B10 802408F0 8FB10024 */ lw $s1, 0x24($sp) +/* A16B14 802408F4 8FB00020 */ lw $s0, 0x20($sp) +/* A16B18 802408F8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A16B1C 802408FC 03E00008 */ jr $ra +/* A16B20 80240900 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240904_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240904_A16220.s new file mode 100644 index 0000000000..77483fd476 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240904_A16220.s @@ -0,0 +1,205 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240904_A16B24 +/* A16B24 80240904 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A16B28 80240908 24040002 */ addiu $a0, $zero, 2 +/* A16B2C 8024090C 27A50010 */ addiu $a1, $sp, 0x10 +/* A16B30 80240910 27A60014 */ addiu $a2, $sp, 0x14 +/* A16B34 80240914 AFBF0034 */ sw $ra, 0x34($sp) +/* A16B38 80240918 AFB40030 */ sw $s4, 0x30($sp) +/* A16B3C 8024091C AFB3002C */ sw $s3, 0x2c($sp) +/* A16B40 80240920 AFB20028 */ sw $s2, 0x28($sp) +/* A16B44 80240924 AFB10024 */ sw $s1, 0x24($sp) +/* A16B48 80240928 AFB00020 */ sw $s0, 0x20($sp) +/* A16B4C 8024092C F7B40038 */ sdc1 $f20, 0x38($sp) +/* A16B50 80240930 0C0470AC */ jal func_8011C2B0 +/* A16B54 80240934 27A70018 */ addiu $a3, $sp, 0x18 +/* A16B58 80240938 8FA20018 */ lw $v0, 0x18($sp) +/* A16B5C 8024093C 18400096 */ blez $v0, .L80240B98 +/* A16B60 80240940 0000802D */ daddu $s0, $zero, $zero +/* A16B64 80240944 3C125555 */ lui $s2, 0x5555 +/* A16B68 80240948 36525556 */ ori $s2, $s2, 0x5556 +/* A16B6C 8024094C 34148000 */ ori $s4, $zero, 0x8000 +/* A16B70 80240950 3C0141E0 */ lui $at, 0x41e0 +/* A16B74 80240954 4481A800 */ mtc1 $at, $f21 +/* A16B78 80240958 4480A000 */ mtc1 $zero, $f20 +/* A16B7C 8024095C 3C138000 */ lui $s3, 0x8000 +/* A16B80 80240960 02120018 */ mult $s0, $s2 +.L80240964: +/* A16B84 80240964 00101FC3 */ sra $v1, $s0, 0x1f +/* A16B88 80240968 00004810 */ mfhi $t1 +/* A16B8C 8024096C 01231823 */ subu $v1, $t1, $v1 +/* A16B90 80240970 00031040 */ sll $v0, $v1, 1 +/* A16B94 80240974 00431021 */ addu $v0, $v0, $v1 +/* A16B98 80240978 02021023 */ subu $v0, $s0, $v0 +/* A16B9C 8024097C 3C038024 */ lui $v1, 0x8024 +/* A16BA0 80240980 946333B2 */ lhu $v1, 0x33b2($v1) +/* A16BA4 80240984 24420001 */ addiu $v0, $v0, 1 +/* A16BA8 80240988 00620018 */ mult $v1, $v0 +/* A16BAC 8024098C 8FA20014 */ lw $v0, 0x14($sp) +/* A16BB0 80240990 00001812 */ mflo $v1 +/* A16BB4 80240994 00702021 */ addu $a0, $v1, $s0 +/* A16BB8 80240998 3084FFFF */ andi $a0, $a0, 0xffff +/* A16BBC 8024099C 00101900 */ sll $v1, $s0, 4 +/* A16BC0 802409A0 00431021 */ addu $v0, $v0, $v1 +/* A16BC4 802409A4 0C01917C */ jal sins +/* A16BC8 802409A8 2451000C */ addiu $s1, $v0, 0xc +/* A16BCC 802409AC 00021400 */ sll $v0, $v0, 0x10 +/* A16BD0 802409B0 00021403 */ sra $v0, $v0, 0x10 +/* A16BD4 802409B4 00541021 */ addu $v0, $v0, $s4 +/* A16BD8 802409B8 00021FC2 */ srl $v1, $v0, 0x1f +/* A16BDC 802409BC 00431021 */ addu $v0, $v0, $v1 +/* A16BE0 802409C0 00021043 */ sra $v0, $v0, 1 +/* A16BE4 802409C4 00021C00 */ sll $v1, $v0, 0x10 +/* A16BE8 802409C8 00031C03 */ sra $v1, $v1, 0x10 +/* A16BEC 802409CC 00032080 */ sll $a0, $v1, 2 +/* A16BF0 802409D0 00832021 */ addu $a0, $a0, $v1 +/* A16BF4 802409D4 00041940 */ sll $v1, $a0, 5 +/* A16BF8 802409D8 00641823 */ subu $v1, $v1, $a0 +/* A16BFC 802409DC 04610002 */ bgez $v1, .L802409E8 +/* A16C00 802409E0 0040202D */ daddu $a0, $v0, $zero +/* A16C04 802409E4 24637FFF */ addiu $v1, $v1, 0x7fff +.L802409E8: +/* A16C08 802409E8 000313C3 */ sra $v0, $v1, 0xf +/* A16C0C 802409EC 3C018024 */ lui $at, 0x8024 +/* A16C10 802409F0 D4224E00 */ ldc1 $f2, 0x4e00($at) +/* A16C14 802409F4 44820000 */ mtc1 $v0, $f0 +/* A16C18 802409F8 00000000 */ nop +/* A16C1C 802409FC 46800021 */ cvt.d.w $f0, $f0 +/* A16C20 80240A00 46220000 */ add.d $f0, $f0, $f2 +/* A16C24 80240A04 4620A03E */ c.le.d $f20, $f0 +/* A16C28 80240A08 00000000 */ nop +/* A16C2C 80240A0C 45030005 */ bc1tl .L80240A24 +/* A16C30 80240A10 46340001 */ sub.d $f0, $f0, $f20 +/* A16C34 80240A14 4620010D */ trunc.w.d $f4, $f0 +/* A16C38 80240A18 44022000 */ mfc1 $v0, $f4 +/* A16C3C 80240A1C 0809028E */ j .L80240A38 +/* A16C40 80240A20 A2220000 */ sb $v0, ($s1) +.L80240A24: +/* A16C44 80240A24 4620010D */ trunc.w.d $f4, $f0 +/* A16C48 80240A28 44022000 */ mfc1 $v0, $f4 +/* A16C4C 80240A2C 00000000 */ nop +/* A16C50 80240A30 00531025 */ or $v0, $v0, $s3 +/* A16C54 80240A34 A2220000 */ sb $v0, ($s1) +.L80240A38: +/* A16C58 80240A38 00041400 */ sll $v0, $a0, 0x10 +/* A16C5C 80240A3C 00021403 */ sra $v0, $v0, 0x10 +/* A16C60 80240A40 00021880 */ sll $v1, $v0, 2 +/* A16C64 80240A44 00621821 */ addu $v1, $v1, $v0 +/* A16C68 80240A48 00031140 */ sll $v0, $v1, 5 +/* A16C6C 80240A4C 00431023 */ subu $v0, $v0, $v1 +/* A16C70 80240A50 04410002 */ bgez $v0, .L80240A5C +/* A16C74 80240A54 26230001 */ addiu $v1, $s1, 1 +/* A16C78 80240A58 24427FFF */ addiu $v0, $v0, 0x7fff +.L80240A5C: +/* A16C7C 80240A5C 000213C3 */ sra $v0, $v0, 0xf +/* A16C80 80240A60 3C014059 */ lui $at, 0x4059 +/* A16C84 80240A64 44811800 */ mtc1 $at, $f3 +/* A16C88 80240A68 44801000 */ mtc1 $zero, $f2 +/* A16C8C 80240A6C 44820000 */ mtc1 $v0, $f0 +/* A16C90 80240A70 00000000 */ nop +/* A16C94 80240A74 46800021 */ cvt.d.w $f0, $f0 +/* A16C98 80240A78 46220000 */ add.d $f0, $f0, $f2 +/* A16C9C 80240A7C 4620A03E */ c.le.d $f20, $f0 +/* A16CA0 80240A80 00000000 */ nop +/* A16CA4 80240A84 45030005 */ bc1tl .L80240A9C +/* A16CA8 80240A88 46340001 */ sub.d $f0, $f0, $f20 +/* A16CAC 80240A8C 4620010D */ trunc.w.d $f4, $f0 +/* A16CB0 80240A90 44022000 */ mfc1 $v0, $f4 +/* A16CB4 80240A94 080902AC */ j .L80240AB0 +/* A16CB8 80240A98 A0620000 */ sb $v0, ($v1) +.L80240A9C: +/* A16CBC 80240A9C 4620010D */ trunc.w.d $f4, $f0 +/* A16CC0 80240AA0 44022000 */ mfc1 $v0, $f4 +/* A16CC4 80240AA4 00000000 */ nop +/* A16CC8 80240AA8 00531025 */ or $v0, $v0, $s3 +/* A16CCC 80240AAC A0620000 */ sb $v0, ($v1) +.L80240AB0: +/* A16CD0 80240AB0 00101FC2 */ srl $v1, $s0, 0x1f +/* A16CD4 80240AB4 02031821 */ addu $v1, $s0, $v1 +/* A16CD8 80240AB8 00032843 */ sra $a1, $v1, 1 +/* A16CDC 80240ABC 00B20018 */ mult $a1, $s2 +/* A16CE0 80240AC0 3C048024 */ lui $a0, 0x8024 +/* A16CE4 80240AC4 948433B2 */ lhu $a0, 0x33b2($a0) +/* A16CE8 80240AC8 00031FC3 */ sra $v1, $v1, 0x1f +/* A16CEC 80240ACC 000433C2 */ srl $a2, $a0, 0xf +/* A16CF0 80240AD0 00004810 */ mfhi $t1 +/* A16CF4 80240AD4 01231823 */ subu $v1, $t1, $v1 +/* A16CF8 80240AD8 00031040 */ sll $v0, $v1, 1 +/* A16CFC 80240ADC 00431021 */ addu $v0, $v0, $v1 +/* A16D00 80240AE0 00A22823 */ subu $a1, $a1, $v0 +/* A16D04 80240AE4 24A50001 */ addiu $a1, $a1, 1 +/* A16D08 80240AE8 00052BC0 */ sll $a1, $a1, 0xf +/* A16D0C 80240AEC 00C50018 */ mult $a2, $a1 +/* A16D10 80240AF0 00042382 */ srl $a0, $a0, 0xe +/* A16D14 80240AF4 000423C0 */ sll $a0, $a0, 0xf +/* A16D18 80240AF8 00001812 */ mflo $v1 +/* A16D1C 80240AFC 00642021 */ addu $a0, $v1, $a0 +/* A16D20 80240B00 00902021 */ addu $a0, $a0, $s0 +/* A16D24 80240B04 0C01917C */ jal sins +/* A16D28 80240B08 3084FFFF */ andi $a0, $a0, 0xffff +/* A16D2C 80240B0C 00021400 */ sll $v0, $v0, 0x10 +/* A16D30 80240B10 00021403 */ sra $v0, $v0, 0x10 +/* A16D34 80240B14 92230000 */ lbu $v1, ($s1) +/* A16D38 80240B18 00541021 */ addu $v0, $v0, $s4 +/* A16D3C 80240B1C 00620018 */ mult $v1, $v0 +/* A16D40 80240B20 00001812 */ mflo $v1 +/* A16D44 80240B24 04610003 */ bgez $v1, .L80240B34 +/* A16D48 80240B28 26240002 */ addiu $a0, $s1, 2 +/* A16D4C 80240B2C 3402FFFF */ ori $v0, $zero, 0xffff +/* A16D50 80240B30 00621821 */ addu $v1, $v1, $v0 +.L80240B34: +/* A16D54 80240B34 00031403 */ sra $v0, $v1, 0x10 +/* A16D58 80240B38 3C018024 */ lui $at, 0x8024 +/* A16D5C 80240B3C D4224E08 */ ldc1 $f2, 0x4e08($at) +/* A16D60 80240B40 44820000 */ mtc1 $v0, $f0 +/* A16D64 80240B44 00000000 */ nop +/* A16D68 80240B48 46800021 */ cvt.d.w $f0, $f0 +/* A16D6C 80240B4C 46220000 */ add.d $f0, $f0, $f2 +/* A16D70 80240B50 4620A03E */ c.le.d $f20, $f0 +/* A16D74 80240B54 00000000 */ nop +/* A16D78 80240B58 45030005 */ bc1tl .L80240B70 +/* A16D7C 80240B5C 46340001 */ sub.d $f0, $f0, $f20 +/* A16D80 80240B60 4620010D */ trunc.w.d $f4, $f0 +/* A16D84 80240B64 44022000 */ mfc1 $v0, $f4 +/* A16D88 80240B68 080902E1 */ j .L80240B84 +/* A16D8C 80240B6C A0820000 */ sb $v0, ($a0) +.L80240B70: +/* A16D90 80240B70 4620010D */ trunc.w.d $f4, $f0 +/* A16D94 80240B74 44022000 */ mfc1 $v0, $f4 +/* A16D98 80240B78 00000000 */ nop +/* A16D9C 80240B7C 00531025 */ or $v0, $v0, $s3 +/* A16DA0 80240B80 A0820000 */ sb $v0, ($a0) +.L80240B84: +/* A16DA4 80240B84 8FA20018 */ lw $v0, 0x18($sp) +/* A16DA8 80240B88 26100001 */ addiu $s0, $s0, 1 +/* A16DAC 80240B8C 0202102A */ slt $v0, $s0, $v0 +/* A16DB0 80240B90 1440FF74 */ bnez $v0, .L80240964 +/* A16DB4 80240B94 02120018 */ mult $s0, $s2 +.L80240B98: +/* A16DB8 80240B98 3C03800A */ lui $v1, 0x800a +/* A16DBC 80240B9C 2463A66C */ addiu $v1, $v1, -0x5994 +/* A16DC0 80240BA0 8C620000 */ lw $v0, ($v1) +/* A16DC4 80240BA4 24040002 */ addiu $a0, $zero, 2 +/* A16DC8 80240BA8 0040802D */ daddu $s0, $v0, $zero +/* A16DCC 80240BAC 24420008 */ addiu $v0, $v0, 8 +/* A16DD0 80240BB0 AC620000 */ sw $v0, ($v1) +/* A16DD4 80240BB4 3C02DE00 */ lui $v0, 0xde00 +/* A16DD8 80240BB8 0C0470BB */ jal func_8011C2EC +/* A16DDC 80240BBC AE020000 */ sw $v0, ($s0) +/* A16DE0 80240BC0 3C048024 */ lui $a0, 0x8024 +/* A16DE4 80240BC4 248433B2 */ addiu $a0, $a0, 0x33b2 +/* A16DE8 80240BC8 94830000 */ lhu $v1, ($a0) +/* A16DEC 80240BCC AE020004 */ sw $v0, 4($s0) +/* A16DF0 80240BD0 24630253 */ addiu $v1, $v1, 0x253 +/* A16DF4 80240BD4 A4830000 */ sh $v1, ($a0) +/* A16DF8 80240BD8 8FBF0034 */ lw $ra, 0x34($sp) +/* A16DFC 80240BDC 8FB40030 */ lw $s4, 0x30($sp) +/* A16E00 80240BE0 8FB3002C */ lw $s3, 0x2c($sp) +/* A16E04 80240BE4 8FB20028 */ lw $s2, 0x28($sp) +/* A16E08 80240BE8 8FB10024 */ lw $s1, 0x24($sp) +/* A16E0C 80240BEC 8FB00020 */ lw $s0, 0x20($sp) +/* A16E10 80240BF0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A16E14 80240BF4 03E00008 */ jr $ra +/* A16E18 80240BF8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240BFC.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240BFC.s new file mode 100644 index 0000000000..bd6a9cb431 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240BFC.s @@ -0,0 +1,205 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BFC +/* A16E1C 80240BFC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A16E20 80240C00 24040003 */ addiu $a0, $zero, 3 +/* A16E24 80240C04 27A50010 */ addiu $a1, $sp, 0x10 +/* A16E28 80240C08 27A60014 */ addiu $a2, $sp, 0x14 +/* A16E2C 80240C0C AFBF0034 */ sw $ra, 0x34($sp) +/* A16E30 80240C10 AFB40030 */ sw $s4, 0x30($sp) +/* A16E34 80240C14 AFB3002C */ sw $s3, 0x2c($sp) +/* A16E38 80240C18 AFB20028 */ sw $s2, 0x28($sp) +/* A16E3C 80240C1C AFB10024 */ sw $s1, 0x24($sp) +/* A16E40 80240C20 AFB00020 */ sw $s0, 0x20($sp) +/* A16E44 80240C24 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A16E48 80240C28 0C0470AC */ jal func_8011C2B0 +/* A16E4C 80240C2C 27A70018 */ addiu $a3, $sp, 0x18 +/* A16E50 80240C30 8FA20018 */ lw $v0, 0x18($sp) +/* A16E54 80240C34 18400096 */ blez $v0, .L80240E90 +/* A16E58 80240C38 0000802D */ daddu $s0, $zero, $zero +/* A16E5C 80240C3C 3C125555 */ lui $s2, 0x5555 +/* A16E60 80240C40 36525556 */ ori $s2, $s2, 0x5556 +/* A16E64 80240C44 34148000 */ ori $s4, $zero, 0x8000 +/* A16E68 80240C48 3C0141E0 */ lui $at, 0x41e0 +/* A16E6C 80240C4C 4481A800 */ mtc1 $at, $f21 +/* A16E70 80240C50 4480A000 */ mtc1 $zero, $f20 +/* A16E74 80240C54 3C138000 */ lui $s3, 0x8000 +/* A16E78 80240C58 02120018 */ mult $s0, $s2 +.L80240C5C: +/* A16E7C 80240C5C 00101FC3 */ sra $v1, $s0, 0x1f +/* A16E80 80240C60 00004810 */ mfhi $t1 +/* A16E84 80240C64 01231823 */ subu $v1, $t1, $v1 +/* A16E88 80240C68 00031040 */ sll $v0, $v1, 1 +/* A16E8C 80240C6C 00431021 */ addu $v0, $v0, $v1 +/* A16E90 80240C70 02021023 */ subu $v0, $s0, $v0 +/* A16E94 80240C74 3C038024 */ lui $v1, 0x8024 +/* A16E98 80240C78 946333B4 */ lhu $v1, 0x33b4($v1) +/* A16E9C 80240C7C 24420001 */ addiu $v0, $v0, 1 +/* A16EA0 80240C80 00620018 */ mult $v1, $v0 +/* A16EA4 80240C84 8FA20014 */ lw $v0, 0x14($sp) +/* A16EA8 80240C88 00001812 */ mflo $v1 +/* A16EAC 80240C8C 00702021 */ addu $a0, $v1, $s0 +/* A16EB0 80240C90 3084FFFF */ andi $a0, $a0, 0xffff +/* A16EB4 80240C94 00101900 */ sll $v1, $s0, 4 +/* A16EB8 80240C98 00431021 */ addu $v0, $v0, $v1 +/* A16EBC 80240C9C 0C01917C */ jal sins +/* A16EC0 80240CA0 2451000C */ addiu $s1, $v0, 0xc +/* A16EC4 80240CA4 00021400 */ sll $v0, $v0, 0x10 +/* A16EC8 80240CA8 00021403 */ sra $v0, $v0, 0x10 +/* A16ECC 80240CAC 00541021 */ addu $v0, $v0, $s4 +/* A16ED0 80240CB0 00021FC2 */ srl $v1, $v0, 0x1f +/* A16ED4 80240CB4 00431021 */ addu $v0, $v0, $v1 +/* A16ED8 80240CB8 00021043 */ sra $v0, $v0, 1 +/* A16EDC 80240CBC 00021C00 */ sll $v1, $v0, 0x10 +/* A16EE0 80240CC0 00031C03 */ sra $v1, $v1, 0x10 +/* A16EE4 80240CC4 00032080 */ sll $a0, $v1, 2 +/* A16EE8 80240CC8 00832021 */ addu $a0, $a0, $v1 +/* A16EEC 80240CCC 00041940 */ sll $v1, $a0, 5 +/* A16EF0 80240CD0 00641823 */ subu $v1, $v1, $a0 +/* A16EF4 80240CD4 04610002 */ bgez $v1, .L80240CE0 +/* A16EF8 80240CD8 0040202D */ daddu $a0, $v0, $zero +/* A16EFC 80240CDC 24637FFF */ addiu $v1, $v1, 0x7fff +.L80240CE0: +/* A16F00 80240CE0 000313C3 */ sra $v0, $v1, 0xf +/* A16F04 80240CE4 3C014059 */ lui $at, 0x4059 +/* A16F08 80240CE8 44811800 */ mtc1 $at, $f3 +/* A16F0C 80240CEC 44801000 */ mtc1 $zero, $f2 +/* A16F10 80240CF0 44820000 */ mtc1 $v0, $f0 +/* A16F14 80240CF4 00000000 */ nop +/* A16F18 80240CF8 46800021 */ cvt.d.w $f0, $f0 +/* A16F1C 80240CFC 46220000 */ add.d $f0, $f0, $f2 +/* A16F20 80240D00 4620A03E */ c.le.d $f20, $f0 +/* A16F24 80240D04 00000000 */ nop +/* A16F28 80240D08 45030005 */ bc1tl .L80240D20 +/* A16F2C 80240D0C 46340001 */ sub.d $f0, $f0, $f20 +/* A16F30 80240D10 4620010D */ trunc.w.d $f4, $f0 +/* A16F34 80240D14 44022000 */ mfc1 $v0, $f4 +/* A16F38 80240D18 0809034D */ j .L80240D34 +/* A16F3C 80240D1C A2220000 */ sb $v0, ($s1) +.L80240D20: +/* A16F40 80240D20 4620010D */ trunc.w.d $f4, $f0 +/* A16F44 80240D24 44022000 */ mfc1 $v0, $f4 +/* A16F48 80240D28 00000000 */ nop +/* A16F4C 80240D2C 00531025 */ or $v0, $v0, $s3 +/* A16F50 80240D30 A2220000 */ sb $v0, ($s1) +.L80240D34: +/* A16F54 80240D34 00041400 */ sll $v0, $a0, 0x10 +/* A16F58 80240D38 00021403 */ sra $v0, $v0, 0x10 +/* A16F5C 80240D3C 00021880 */ sll $v1, $v0, 2 +/* A16F60 80240D40 00621821 */ addu $v1, $v1, $v0 +/* A16F64 80240D44 00031140 */ sll $v0, $v1, 5 +/* A16F68 80240D48 00431023 */ subu $v0, $v0, $v1 +/* A16F6C 80240D4C 04410002 */ bgez $v0, .L80240D58 +/* A16F70 80240D50 26230001 */ addiu $v1, $s1, 1 +/* A16F74 80240D54 24427FFF */ addiu $v0, $v0, 0x7fff +.L80240D58: +/* A16F78 80240D58 000213C3 */ sra $v0, $v0, 0xf +/* A16F7C 80240D5C 3C018024 */ lui $at, 0x8024 +/* A16F80 80240D60 D4224E10 */ ldc1 $f2, 0x4e10($at) +/* A16F84 80240D64 44820000 */ mtc1 $v0, $f0 +/* A16F88 80240D68 00000000 */ nop +/* A16F8C 80240D6C 46800021 */ cvt.d.w $f0, $f0 +/* A16F90 80240D70 46220000 */ add.d $f0, $f0, $f2 +/* A16F94 80240D74 4620A03E */ c.le.d $f20, $f0 +/* A16F98 80240D78 00000000 */ nop +/* A16F9C 80240D7C 45030005 */ bc1tl .L80240D94 +/* A16FA0 80240D80 46340001 */ sub.d $f0, $f0, $f20 +/* A16FA4 80240D84 4620010D */ trunc.w.d $f4, $f0 +/* A16FA8 80240D88 44022000 */ mfc1 $v0, $f4 +/* A16FAC 80240D8C 0809036A */ j .L80240DA8 +/* A16FB0 80240D90 A0620000 */ sb $v0, ($v1) +.L80240D94: +/* A16FB4 80240D94 4620010D */ trunc.w.d $f4, $f0 +/* A16FB8 80240D98 44022000 */ mfc1 $v0, $f4 +/* A16FBC 80240D9C 00000000 */ nop +/* A16FC0 80240DA0 00531025 */ or $v0, $v0, $s3 +/* A16FC4 80240DA4 A0620000 */ sb $v0, ($v1) +.L80240DA8: +/* A16FC8 80240DA8 00101FC2 */ srl $v1, $s0, 0x1f +/* A16FCC 80240DAC 02031821 */ addu $v1, $s0, $v1 +/* A16FD0 80240DB0 00032843 */ sra $a1, $v1, 1 +/* A16FD4 80240DB4 00B20018 */ mult $a1, $s2 +/* A16FD8 80240DB8 3C048024 */ lui $a0, 0x8024 +/* A16FDC 80240DBC 948433B4 */ lhu $a0, 0x33b4($a0) +/* A16FE0 80240DC0 00031FC3 */ sra $v1, $v1, 0x1f +/* A16FE4 80240DC4 000433C2 */ srl $a2, $a0, 0xf +/* A16FE8 80240DC8 00004810 */ mfhi $t1 +/* A16FEC 80240DCC 01231823 */ subu $v1, $t1, $v1 +/* A16FF0 80240DD0 00031040 */ sll $v0, $v1, 1 +/* A16FF4 80240DD4 00431021 */ addu $v0, $v0, $v1 +/* A16FF8 80240DD8 00A22823 */ subu $a1, $a1, $v0 +/* A16FFC 80240DDC 24A50001 */ addiu $a1, $a1, 1 +/* A17000 80240DE0 00052BC0 */ sll $a1, $a1, 0xf +/* A17004 80240DE4 00C50018 */ mult $a2, $a1 +/* A17008 80240DE8 00042382 */ srl $a0, $a0, 0xe +/* A1700C 80240DEC 000423C0 */ sll $a0, $a0, 0xf +/* A17010 80240DF0 00001812 */ mflo $v1 +/* A17014 80240DF4 00642021 */ addu $a0, $v1, $a0 +/* A17018 80240DF8 00902021 */ addu $a0, $a0, $s0 +/* A1701C 80240DFC 0C01917C */ jal sins +/* A17020 80240E00 3084FFFF */ andi $a0, $a0, 0xffff +/* A17024 80240E04 00021400 */ sll $v0, $v0, 0x10 +/* A17028 80240E08 00021403 */ sra $v0, $v0, 0x10 +/* A1702C 80240E0C 92230000 */ lbu $v1, ($s1) +/* A17030 80240E10 00541021 */ addu $v0, $v0, $s4 +/* A17034 80240E14 00620018 */ mult $v1, $v0 +/* A17038 80240E18 00001812 */ mflo $v1 +/* A1703C 80240E1C 04610003 */ bgez $v1, .L80240E2C +/* A17040 80240E20 26240002 */ addiu $a0, $s1, 2 +/* A17044 80240E24 3402FFFF */ ori $v0, $zero, 0xffff +/* A17048 80240E28 00621821 */ addu $v1, $v1, $v0 +.L80240E2C: +/* A1704C 80240E2C 00031403 */ sra $v0, $v1, 0x10 +/* A17050 80240E30 3C018024 */ lui $at, 0x8024 +/* A17054 80240E34 D4224E18 */ ldc1 $f2, 0x4e18($at) +/* A17058 80240E38 44820000 */ mtc1 $v0, $f0 +/* A1705C 80240E3C 00000000 */ nop +/* A17060 80240E40 46800021 */ cvt.d.w $f0, $f0 +/* A17064 80240E44 46220000 */ add.d $f0, $f0, $f2 +/* A17068 80240E48 4620A03E */ c.le.d $f20, $f0 +/* A1706C 80240E4C 00000000 */ nop +/* A17070 80240E50 45030005 */ bc1tl .L80240E68 +/* A17074 80240E54 46340001 */ sub.d $f0, $f0, $f20 +/* A17078 80240E58 4620010D */ trunc.w.d $f4, $f0 +/* A1707C 80240E5C 44022000 */ mfc1 $v0, $f4 +/* A17080 80240E60 0809039F */ j .L80240E7C +/* A17084 80240E64 A0820000 */ sb $v0, ($a0) +.L80240E68: +/* A17088 80240E68 4620010D */ trunc.w.d $f4, $f0 +/* A1708C 80240E6C 44022000 */ mfc1 $v0, $f4 +/* A17090 80240E70 00000000 */ nop +/* A17094 80240E74 00531025 */ or $v0, $v0, $s3 +/* A17098 80240E78 A0820000 */ sb $v0, ($a0) +.L80240E7C: +/* A1709C 80240E7C 8FA20018 */ lw $v0, 0x18($sp) +/* A170A0 80240E80 26100001 */ addiu $s0, $s0, 1 +/* A170A4 80240E84 0202102A */ slt $v0, $s0, $v0 +/* A170A8 80240E88 1440FF74 */ bnez $v0, .L80240C5C +/* A170AC 80240E8C 02120018 */ mult $s0, $s2 +.L80240E90: +/* A170B0 80240E90 3C03800A */ lui $v1, 0x800a +/* A170B4 80240E94 2463A66C */ addiu $v1, $v1, -0x5994 +/* A170B8 80240E98 8C620000 */ lw $v0, ($v1) +/* A170BC 80240E9C 24040003 */ addiu $a0, $zero, 3 +/* A170C0 80240EA0 0040802D */ daddu $s0, $v0, $zero +/* A170C4 80240EA4 24420008 */ addiu $v0, $v0, 8 +/* A170C8 80240EA8 AC620000 */ sw $v0, ($v1) +/* A170CC 80240EAC 3C02DE00 */ lui $v0, 0xde00 +/* A170D0 80240EB0 0C0470BB */ jal func_8011C2EC +/* A170D4 80240EB4 AE020000 */ sw $v0, ($s0) +/* A170D8 80240EB8 3C048024 */ lui $a0, 0x8024 +/* A170DC 80240EBC 248433B4 */ addiu $a0, $a0, 0x33b4 +/* A170E0 80240EC0 94830000 */ lhu $v1, ($a0) +/* A170E4 80240EC4 AE020004 */ sw $v0, 4($s0) +/* A170E8 80240EC8 24630253 */ addiu $v1, $v1, 0x253 +/* A170EC 80240ECC A4830000 */ sh $v1, ($a0) +/* A170F0 80240ED0 8FBF0034 */ lw $ra, 0x34($sp) +/* A170F4 80240ED4 8FB40030 */ lw $s4, 0x30($sp) +/* A170F8 80240ED8 8FB3002C */ lw $s3, 0x2c($sp) +/* A170FC 80240EDC 8FB20028 */ lw $s2, 0x28($sp) +/* A17100 80240EE0 8FB10024 */ lw $s1, 0x24($sp) +/* A17104 80240EE4 8FB00020 */ lw $s0, 0x20($sp) +/* A17108 80240EE8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A1710C 80240EEC 03E00008 */ jr $ra +/* A17110 80240EF0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240EF4_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240EF4_A16220.s new file mode 100644 index 0000000000..8f25757d45 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240EF4_A16220.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF4_A17114 +/* A17114 80240EF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A17118 80240EF8 AFBF0010 */ sw $ra, 0x10($sp) +/* A1711C 80240EFC 8C82000C */ lw $v0, 0xc($a0) +/* A17120 80240F00 0C0B1EAF */ jal get_variable +/* A17124 80240F04 8C450000 */ lw $a1, ($v0) +/* A17128 80240F08 0040182D */ daddu $v1, $v0, $zero +/* A1712C 80240F0C 8C62000C */ lw $v0, 0xc($v1) +/* A17130 80240F10 3C01433E */ lui $at, 0x433e +/* A17134 80240F14 44810000 */ mtc1 $at, $f0 +/* A17138 80240F18 00000000 */ nop +/* A1713C 80240F1C E4400078 */ swc1 $f0, 0x78($v0) +/* A17140 80240F20 8C62000C */ lw $v0, 0xc($v1) +/* A17144 80240F24 3C01435C */ lui $at, 0x435c +/* A17148 80240F28 44810000 */ mtc1 $at, $f0 +/* A1714C 80240F2C 00000000 */ nop +/* A17150 80240F30 E440007C */ swc1 $f0, 0x7c($v0) +/* A17154 80240F34 8C64000C */ lw $a0, 0xc($v1) +/* A17158 80240F38 3C013F33 */ lui $at, 0x3f33 +/* A1715C 80240F3C 34213333 */ ori $at, $at, 0x3333 +/* A17160 80240F40 44810000 */ mtc1 $at, $f0 +/* A17164 80240F44 00000000 */ nop +/* A17168 80240F48 E4800068 */ swc1 $f0, 0x68($a0) +/* A1716C 80240F4C 8C64000C */ lw $a0, 0xc($v1) +/* A17170 80240F50 240300FF */ addiu $v1, $zero, 0xff +/* A17174 80240F54 AC830038 */ sw $v1, 0x38($a0) +/* A17178 80240F58 8FBF0010 */ lw $ra, 0x10($sp) +/* A1717C 80240F5C 24020002 */ addiu $v0, $zero, 2 +/* A17180 80240F60 03E00008 */ jr $ra +/* A17184 80240F64 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240F68_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240F68_A16220.s new file mode 100644 index 0000000000..d3ca24f749 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240F68_A16220.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F68_A17188 +/* A17188 80240F68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1718C 80240F6C AFBF0010 */ sw $ra, 0x10($sp) +/* A17190 80240F70 8C82000C */ lw $v0, 0xc($a0) +/* A17194 80240F74 0C0B1EAF */ jal get_variable +/* A17198 80240F78 8C450000 */ lw $a1, ($v0) +/* A1719C 80240F7C 0040182D */ daddu $v1, $v0, $zero +/* A171A0 80240F80 8C62000C */ lw $v0, 0xc($v1) +/* A171A4 80240F84 3C01432A */ lui $at, 0x432a +/* A171A8 80240F88 44810000 */ mtc1 $at, $f0 +/* A171AC 80240F8C 00000000 */ nop +/* A171B0 80240F90 E4400078 */ swc1 $f0, 0x78($v0) +/* A171B4 80240F94 8C62000C */ lw $v0, 0xc($v1) +/* A171B8 80240F98 E440007C */ swc1 $f0, 0x7c($v0) +/* A171BC 80240F9C 8C64000C */ lw $a0, 0xc($v1) +/* A171C0 80240FA0 3C014000 */ lui $at, 0x4000 +/* A171C4 80240FA4 44810000 */ mtc1 $at, $f0 +/* A171C8 80240FA8 00000000 */ nop +/* A171CC 80240FAC E4800068 */ swc1 $f0, 0x68($a0) +/* A171D0 80240FB0 8C64000C */ lw $a0, 0xc($v1) +/* A171D4 80240FB4 240300FF */ addiu $v1, $zero, 0xff +/* A171D8 80240FB8 AC830038 */ sw $v1, 0x38($a0) +/* A171DC 80240FBC 8FBF0010 */ lw $ra, 0x10($sp) +/* A171E0 80240FC0 24020002 */ addiu $v0, $zero, 2 +/* A171E4 80240FC4 03E00008 */ jr $ra +/* A171E8 80240FC8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A171EC 80240FCC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240FD0_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240FD0_A16220.s new file mode 100644 index 0000000000..476038b74b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240FD0_A16220.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD0_A171F0 +/* A171F0 80240FD0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A171F4 80240FD4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A171F8 80240FD8 8442008E */ lh $v0, 0x8e($v0) +/* A171FC 80240FDC AC820084 */ sw $v0, 0x84($a0) +/* A17200 80240FE0 03E00008 */ jr $ra +/* A17204 80240FE4 24020002 */ addiu $v0, $zero, 2 +/* A17208 80240FE8 00000000 */ nop +/* A1720C 80240FEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80240FF0.s b/asm/nonmatchings/world/area_hos/hos_02/func_80240FF0.s new file mode 100644 index 0000000000..b58475b5ef --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80240FF0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FF0 +/* A17210 80240FF0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A17214 80240FF4 AFB3002C */ sw $s3, 0x2c($sp) +/* A17218 80240FF8 0080982D */ daddu $s3, $a0, $zero +/* A1721C 80240FFC AFBF0030 */ sw $ra, 0x30($sp) +/* A17220 80241000 AFB20028 */ sw $s2, 0x28($sp) +/* A17224 80241004 AFB10024 */ sw $s1, 0x24($sp) +/* A17228 80241008 AFB00020 */ sw $s0, 0x20($sp) +/* A1722C 8024100C 8E710148 */ lw $s1, 0x148($s3) +/* A17230 80241010 86240008 */ lh $a0, 8($s1) +/* A17234 80241014 0C00EABB */ jal get_npc_unsafe +/* A17238 80241018 00A0902D */ daddu $s2, $a1, $zero +/* A1723C 8024101C 8E440004 */ lw $a0, 4($s2) +/* A17240 80241020 0040802D */ daddu $s0, $v0, $zero +/* A17244 80241024 00041FC2 */ srl $v1, $a0, 0x1f +/* A17248 80241028 00832021 */ addu $a0, $a0, $v1 +/* A1724C 8024102C 00042043 */ sra $a0, $a0, 1 +/* A17250 80241030 0C00A67F */ jal rand_int +/* A17254 80241034 24840001 */ addiu $a0, $a0, 1 +/* A17258 80241038 8E430004 */ lw $v1, 4($s2) +/* A1725C 8024103C 000327C2 */ srl $a0, $v1, 0x1f +/* A17260 80241040 00641821 */ addu $v1, $v1, $a0 +/* A17264 80241044 00031843 */ sra $v1, $v1, 1 +/* A17268 80241048 00621821 */ addu $v1, $v1, $v0 +/* A1726C 8024104C A603008E */ sh $v1, 0x8e($s0) +/* A17270 80241050 8E2300D0 */ lw $v1, 0xd0($s1) +/* A17274 80241054 C6000040 */ lwc1 $f0, 0x40($s0) +/* A17278 80241058 C4640000 */ lwc1 $f4, ($v1) +/* A1727C 8024105C 46802120 */ cvt.s.w $f4, $f4 +/* A17280 80241060 C4620008 */ lwc1 $f2, 8($v1) +/* A17284 80241064 468010A0 */ cvt.s.w $f2, $f2 +/* A17288 80241068 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1728C 8024106C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A17290 80241070 44061000 */ mfc1 $a2, $f2 +/* A17294 80241074 C440000C */ lwc1 $f0, 0xc($v0) +/* A17298 80241078 46800020 */ cvt.s.w $f0, $f0 +/* A1729C 8024107C E7A00014 */ swc1 $f0, 0x14($sp) +/* A172A0 80241080 8E2200D0 */ lw $v0, 0xd0($s1) +/* A172A4 80241084 44052000 */ mfc1 $a1, $f4 +/* A172A8 80241088 C4400010 */ lwc1 $f0, 0x10($v0) +/* A172AC 8024108C 46800020 */ cvt.s.w $f0, $f0 +/* A172B0 80241090 E7A00018 */ swc1 $f0, 0x18($sp) +/* A172B4 80241094 8C640018 */ lw $a0, 0x18($v1) +/* A172B8 80241098 0C0123F5 */ jal is_point_within_region +/* A172BC 8024109C 8E070038 */ lw $a3, 0x38($s0) +/* A172C0 802410A0 1040000E */ beqz $v0, .L802410DC +/* A172C4 802410A4 00000000 */ nop +/* A172C8 802410A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A172CC 802410AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A172D0 802410B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A172D4 802410B4 C4460000 */ lwc1 $f6, ($v0) +/* A172D8 802410B8 468031A0 */ cvt.s.w $f6, $f6 +/* A172DC 802410BC 44063000 */ mfc1 $a2, $f6 +/* A172E0 802410C0 C4460008 */ lwc1 $f6, 8($v0) +/* A172E4 802410C4 468031A0 */ cvt.s.w $f6, $f6 +/* A172E8 802410C8 44073000 */ mfc1 $a3, $f6 +/* A172EC 802410CC 0C00A720 */ jal atan2 +/* A172F0 802410D0 00000000 */ nop +/* A172F4 802410D4 08090443 */ j .L8024110C +/* A172F8 802410D8 E600000C */ swc1 $f0, 0xc($s0) +.L802410DC: +/* A172FC 802410DC 0C00A67F */ jal rand_int +/* A17300 802410E0 2404003C */ addiu $a0, $zero, 0x3c +/* A17304 802410E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* A17308 802410E8 44820000 */ mtc1 $v0, $f0 +/* A1730C 802410EC 00000000 */ nop +/* A17310 802410F0 46800020 */ cvt.s.w $f0, $f0 +/* A17314 802410F4 46006300 */ add.s $f12, $f12, $f0 +/* A17318 802410F8 3C0141F0 */ lui $at, 0x41f0 +/* A1731C 802410FC 44810000 */ mtc1 $at, $f0 +/* A17320 80241100 0C00A6C9 */ jal clamp_angle +/* A17324 80241104 46006301 */ sub.s $f12, $f12, $f0 +/* A17328 80241108 E600000C */ swc1 $f0, 0xc($s0) +.L8024110C: +/* A1732C 8024110C 8E2200CC */ lw $v0, 0xcc($s1) +/* A17330 80241110 8C420004 */ lw $v0, 4($v0) +/* A17334 80241114 AE020028 */ sw $v0, 0x28($s0) +/* A17338 80241118 AE600074 */ sw $zero, 0x74($s3) +/* A1733C 8024111C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A17340 80241120 8C420014 */ lw $v0, 0x14($v0) +/* A17344 80241124 04410004 */ bgez $v0, .L80241138 +/* A17348 80241128 00000000 */ nop +/* A1734C 8024112C C6400000 */ lwc1 $f0, ($s2) +/* A17350 80241130 08090456 */ j .L80241158 +/* A17354 80241134 E6000018 */ swc1 $f0, 0x18($s0) +.L80241138: +/* A17358 80241138 3C018024 */ lui $at, 0x8024 +/* A1735C 8024113C D4224E20 */ ldc1 $f2, 0x4e20($at) +/* A17360 80241140 44820000 */ mtc1 $v0, $f0 +/* A17364 80241144 00000000 */ nop +/* A17368 80241148 46800021 */ cvt.d.w $f0, $f0 +/* A1736C 8024114C 46220003 */ div.d $f0, $f0, $f2 +/* A17370 80241150 46200020 */ cvt.s.d $f0, $f0 +/* A17374 80241154 E6000018 */ swc1 $f0, 0x18($s0) +.L80241158: +/* A17378 80241158 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1737C 8024115C 3C014059 */ lui $at, 0x4059 +/* A17380 80241160 44811800 */ mtc1 $at, $f3 +/* A17384 80241164 44801000 */ mtc1 $zero, $f2 +/* A17388 80241168 46000021 */ cvt.d.s $f0, $f0 +/* A1738C 8024116C 46220002 */ mul.d $f0, $f0, $f2 +/* A17390 80241170 00000000 */ nop +/* A17394 80241174 24020001 */ addiu $v0, $zero, 1 +/* A17398 80241178 4620018D */ trunc.w.d $f6, $f0 +/* A1739C 8024117C E626007C */ swc1 $f6, 0x7c($s1) +/* A173A0 80241180 AE620070 */ sw $v0, 0x70($s3) +/* A173A4 80241184 8FBF0030 */ lw $ra, 0x30($sp) +/* A173A8 80241188 8FB3002C */ lw $s3, 0x2c($sp) +/* A173AC 8024118C 8FB20028 */ lw $s2, 0x28($sp) +/* A173B0 80241190 8FB10024 */ lw $s1, 0x24($sp) +/* A173B4 80241194 8FB00020 */ lw $s0, 0x20($sp) +/* A173B8 80241198 03E00008 */ jr $ra +/* A173BC 8024119C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802411A0.s b/asm/nonmatchings/world/area_hos/hos_02/func_802411A0.s new file mode 100644 index 0000000000..5e4ce30ca9 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802411A0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0 +/* A173C0 802411A0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* A173C4 802411A4 AFB3004C */ sw $s3, 0x4c($sp) +/* A173C8 802411A8 0080982D */ daddu $s3, $a0, $zero +/* A173CC 802411AC AFBF0058 */ sw $ra, 0x58($sp) +/* A173D0 802411B0 AFB50054 */ sw $s5, 0x54($sp) +/* A173D4 802411B4 AFB40050 */ sw $s4, 0x50($sp) +/* A173D8 802411B8 AFB20048 */ sw $s2, 0x48($sp) +/* A173DC 802411BC AFB10044 */ sw $s1, 0x44($sp) +/* A173E0 802411C0 AFB00040 */ sw $s0, 0x40($sp) +/* A173E4 802411C4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A173E8 802411C8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* A173EC 802411CC F7B60068 */ sdc1 $f22, 0x68($sp) +/* A173F0 802411D0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A173F4 802411D4 8E710148 */ lw $s1, 0x148($s3) +/* A173F8 802411D8 00A0902D */ daddu $s2, $a1, $zero +/* A173FC 802411DC 86240008 */ lh $a0, 8($s1) +/* A17400 802411E0 0C00EABB */ jal get_npc_unsafe +/* A17404 802411E4 00C0A82D */ daddu $s5, $a2, $zero +/* A17408 802411E8 0040802D */ daddu $s0, $v0, $zero +/* A1740C 802411EC 0000A02D */ daddu $s4, $zero, $zero +/* A17410 802411F0 C624007C */ lwc1 $f4, 0x7c($s1) +/* A17414 802411F4 46802120 */ cvt.s.w $f4, $f4 +/* A17418 802411F8 C6220088 */ lwc1 $f2, 0x88($s1) +/* A1741C 802411FC 468010A0 */ cvt.s.w $f2, $f2 +/* A17420 80241200 460010A1 */ cvt.d.s $f2, $f2 +/* A17424 80241204 46002121 */ cvt.d.s $f4, $f4 +/* A17428 80241208 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1742C 8024120C 3C014059 */ lui $at, 0x4059 +/* A17430 80241210 44813800 */ mtc1 $at, $f7 +/* A17434 80241214 44803000 */ mtc1 $zero, $f6 +/* A17438 80241218 46000021 */ cvt.d.s $f0, $f0 +/* A1743C 8024121C 46260002 */ mul.d $f0, $f0, $f6 +/* A17440 80241220 00000000 */ nop +/* A17444 80241224 24020001 */ addiu $v0, $zero, 1 +/* A17448 80241228 8E24006C */ lw $a0, 0x6c($s1) +/* A1744C 8024122C 46261083 */ div.d $f2, $f2, $f6 +/* A17450 80241230 462010A0 */ cvt.s.d $f2, $f2 +/* A17454 80241234 46262103 */ div.d $f4, $f4, $f6 +/* A17458 80241238 46202520 */ cvt.s.d $f20, $f4 +/* A1745C 8024123C 30830011 */ andi $v1, $a0, 0x11 +/* A17460 80241240 4620020D */ trunc.w.d $f8, $f0 +/* A17464 80241244 E628007C */ swc1 $f8, 0x7c($s1) +/* A17468 80241248 C6200078 */ lwc1 $f0, 0x78($s1) +/* A1746C 8024124C 46800020 */ cvt.s.w $f0, $f0 +/* A17470 80241250 46000021 */ cvt.d.s $f0, $f0 +/* A17474 80241254 46260003 */ div.d $f0, $f0, $f6 +/* A17478 80241258 462006A0 */ cvt.s.d $f26, $f0 +/* A1747C 8024125C C6200070 */ lwc1 $f0, 0x70($s1) +/* A17480 80241260 46800020 */ cvt.s.w $f0, $f0 +/* A17484 80241264 46000021 */ cvt.d.s $f0, $f0 +/* A17488 80241268 46260003 */ div.d $f0, $f0, $f6 +/* A1748C 8024126C 462005A0 */ cvt.s.d $f22, $f0 +/* A17490 80241270 14620025 */ bne $v1, $v0, .L80241308 +/* A17494 80241274 4602D600 */ add.s $f24, $f26, $f2 +/* A17498 80241278 8E020000 */ lw $v0, ($s0) +/* A1749C 8024127C 30420008 */ andi $v0, $v0, 8 +/* A174A0 80241280 10400009 */ beqz $v0, .L802412A8 +/* A174A4 80241284 27A50028 */ addiu $a1, $sp, 0x28 +/* A174A8 80241288 C600003C */ lwc1 $f0, 0x3c($s0) +/* A174AC 8024128C 4600C001 */ sub.s $f0, $f24, $f0 +/* A174B0 80241290 4600B03C */ c.lt.s $f22, $f0 +/* A174B4 80241294 00000000 */ nop +/* A174B8 80241298 4500001B */ bc1f .L80241308 +/* A174BC 8024129C 34820010 */ ori $v0, $a0, 0x10 +/* A174C0 802412A0 080904C2 */ j .L80241308 +/* A174C4 802412A4 AE22006C */ sw $v0, 0x6c($s1) +.L802412A8: +/* A174C8 802412A8 27A6002C */ addiu $a2, $sp, 0x2c +/* A174CC 802412AC C6000038 */ lwc1 $f0, 0x38($s0) +/* A174D0 802412B0 C602003C */ lwc1 $f2, 0x3c($s0) +/* A174D4 802412B4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A174D8 802412B8 3C01447A */ lui $at, 0x447a +/* A174DC 802412BC 44813000 */ mtc1 $at, $f6 +/* A174E0 802412C0 27A20034 */ addiu $v0, $sp, 0x34 +/* A174E4 802412C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* A174E8 802412C8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A174EC 802412CC E7A40030 */ swc1 $f4, 0x30($sp) +/* A174F0 802412D0 E7A60034 */ swc1 $f6, 0x34($sp) +/* A174F4 802412D4 AFA20010 */ sw $v0, 0x10($sp) +/* A174F8 802412D8 8E040080 */ lw $a0, 0x80($s0) +/* A174FC 802412DC 0C0372DF */ jal func_800DCB7C +/* A17500 802412E0 27A70030 */ addiu $a3, $sp, 0x30 +/* A17504 802412E4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* A17508 802412E8 4600D001 */ sub.s $f0, $f26, $f0 +/* A1750C 802412EC 4600B03C */ c.lt.s $f22, $f0 +/* A17510 802412F0 00000000 */ nop +/* A17514 802412F4 45000004 */ bc1f .L80241308 +/* A17518 802412F8 00000000 */ nop +/* A1751C 802412FC 8E22006C */ lw $v0, 0x6c($s1) +/* A17520 80241300 34420010 */ ori $v0, $v0, 0x10 +/* A17524 80241304 AE22006C */ sw $v0, 0x6c($s1) +.L80241308: +/* A17528 80241308 8E22006C */ lw $v0, 0x6c($s1) +/* A1752C 8024130C 24030011 */ addiu $v1, $zero, 0x11 +/* A17530 80241310 30420011 */ andi $v0, $v0, 0x11 +/* A17534 80241314 14430039 */ bne $v0, $v1, .L802413FC +/* A17538 80241318 00000000 */ nop +/* A1753C 8024131C 8E020000 */ lw $v0, ($s0) +/* A17540 80241320 30420008 */ andi $v0, $v0, 8 +/* A17544 80241324 1040000A */ beqz $v0, .L80241350 +/* A17548 80241328 4600C106 */ mov.s $f4, $f24 +/* A1754C 8024132C 4614C081 */ sub.s $f2, $f24, $f20 +/* A17550 80241330 3C018024 */ lui $at, 0x8024 +/* A17554 80241334 D4204E28 */ ldc1 $f0, 0x4e28($at) +/* A17558 80241338 460010A1 */ cvt.d.s $f2, $f2 +/* A1755C 8024133C 46201082 */ mul.d $f2, $f2, $f0 +/* A17560 80241340 00000000 */ nop +/* A17564 80241344 4600A021 */ cvt.d.s $f0, $f20 +/* A17568 80241348 080904ED */ j .L802413B4 +/* A1756C 8024134C 46220000 */ add.d $f0, $f0, $f2 +.L80241350: +/* A17570 80241350 27A50028 */ addiu $a1, $sp, 0x28 +/* A17574 80241354 27A6002C */ addiu $a2, $sp, 0x2c +/* A17578 80241358 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1757C 8024135C C6020040 */ lwc1 $f2, 0x40($s0) +/* A17580 80241360 3C01447A */ lui $at, 0x447a +/* A17584 80241364 44812000 */ mtc1 $at, $f4 +/* A17588 80241368 27A20034 */ addiu $v0, $sp, 0x34 +/* A1758C 8024136C E7B4002C */ swc1 $f20, 0x2c($sp) +/* A17590 80241370 E7A00028 */ swc1 $f0, 0x28($sp) +/* A17594 80241374 E7A20030 */ swc1 $f2, 0x30($sp) +/* A17598 80241378 E7A40034 */ swc1 $f4, 0x34($sp) +/* A1759C 8024137C AFA20010 */ sw $v0, 0x10($sp) +/* A175A0 80241380 8E040080 */ lw $a0, 0x80($s0) +/* A175A4 80241384 0C0372DF */ jal func_800DCB7C +/* A175A8 80241388 27A70030 */ addiu $a3, $sp, 0x30 +/* A175AC 8024138C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* A175B0 80241390 461A2100 */ add.s $f4, $f4, $f26 +/* A175B4 80241394 46142081 */ sub.s $f2, $f4, $f20 +/* A175B8 80241398 3C018024 */ lui $at, 0x8024 +/* A175BC 8024139C D4204E30 */ ldc1 $f0, 0x4e30($at) +/* A175C0 802413A0 460010A1 */ cvt.d.s $f2, $f2 +/* A175C4 802413A4 46201082 */ mul.d $f2, $f2, $f0 +/* A175C8 802413A8 00000000 */ nop +/* A175CC 802413AC 4600A021 */ cvt.d.s $f0, $f20 +/* A175D0 802413B0 46220000 */ add.d $f0, $f0, $f2 +.L802413B4: +/* A175D4 802413B4 46200020 */ cvt.s.d $f0, $f0 +/* A175D8 802413B8 E600003C */ swc1 $f0, 0x3c($s0) +/* A175DC 802413BC C600003C */ lwc1 $f0, 0x3c($s0) +/* A175E0 802413C0 46002001 */ sub.s $f0, $f4, $f0 +/* A175E4 802413C4 3C013FF0 */ lui $at, 0x3ff0 +/* A175E8 802413C8 44811800 */ mtc1 $at, $f3 +/* A175EC 802413CC 44801000 */ mtc1 $zero, $f2 +/* A175F0 802413D0 46000005 */ abs.s $f0, $f0 +/* A175F4 802413D4 46000021 */ cvt.d.s $f0, $f0 +/* A175F8 802413D8 4622003C */ c.lt.d $f0, $f2 +/* A175FC 802413DC 00000000 */ nop +/* A17600 802413E0 45000036 */ bc1f .L802414BC +/* A17604 802413E4 2403FFEF */ addiu $v1, $zero, -0x11 +/* A17608 802413E8 E604003C */ swc1 $f4, 0x3c($s0) +/* A1760C 802413EC 8E22006C */ lw $v0, 0x6c($s1) +/* A17610 802413F0 00431024 */ and $v0, $v0, $v1 +/* A17614 802413F4 0809052F */ j .L802414BC +/* A17618 802413F8 AE22006C */ sw $v0, 0x6c($s1) +.L802413FC: +/* A1761C 802413FC 8E220070 */ lw $v0, 0x70($s1) +/* A17620 80241400 1840002E */ blez $v0, .L802414BC +/* A17624 80241404 00000000 */ nop +/* A17628 80241408 C62C0074 */ lwc1 $f12, 0x74($s1) +/* A1762C 8024140C 0C00A8BB */ jal sin_deg +/* A17630 80241410 46806320 */ cvt.s.w $f12, $f12 +/* A17634 80241414 8E020000 */ lw $v0, ($s0) +/* A17638 80241418 30420008 */ andi $v0, $v0, 8 +/* A1763C 8024141C 10400003 */ beqz $v0, .L8024142C +/* A17640 80241420 46000506 */ mov.s $f20, $f0 +/* A17644 80241424 0809051B */ j .L8024146C +/* A17648 80241428 0000102D */ daddu $v0, $zero, $zero +.L8024142C: +/* A1764C 8024142C 27A50028 */ addiu $a1, $sp, 0x28 +/* A17650 80241430 27A6002C */ addiu $a2, $sp, 0x2c +/* A17654 80241434 C6000038 */ lwc1 $f0, 0x38($s0) +/* A17658 80241438 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1765C 8024143C C6040040 */ lwc1 $f4, 0x40($s0) +/* A17660 80241440 3C01447A */ lui $at, 0x447a +/* A17664 80241444 44813000 */ mtc1 $at, $f6 +/* A17668 80241448 27A20034 */ addiu $v0, $sp, 0x34 +/* A1766C 8024144C E7A00028 */ swc1 $f0, 0x28($sp) +/* A17670 80241450 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A17674 80241454 E7A40030 */ swc1 $f4, 0x30($sp) +/* A17678 80241458 E7A60034 */ swc1 $f6, 0x34($sp) +/* A1767C 8024145C AFA20010 */ sw $v0, 0x10($sp) +/* A17680 80241460 8E040080 */ lw $a0, 0x80($s0) +/* A17684 80241464 0C0372DF */ jal func_800DCB7C +/* A17688 80241468 27A70030 */ addiu $a3, $sp, 0x30 +.L8024146C: +/* A1768C 8024146C 10400007 */ beqz $v0, .L8024148C +/* A17690 80241470 00000000 */ nop +/* A17694 80241474 4616A082 */ mul.s $f2, $f20, $f22 +/* A17698 80241478 00000000 */ nop +/* A1769C 8024147C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A176A0 80241480 461A0000 */ add.s $f0, $f0, $f26 +/* A176A4 80241484 08090526 */ j .L80241498 +/* A176A8 80241488 46020000 */ add.s $f0, $f0, $f2 +.L8024148C: +/* A176AC 8024148C 4616A002 */ mul.s $f0, $f20, $f22 +/* A176B0 80241490 00000000 */ nop +/* A176B4 80241494 4600C000 */ add.s $f0, $f24, $f0 +.L80241498: +/* A176B8 80241498 E600003C */ swc1 $f0, 0x3c($s0) +/* A176BC 8024149C 8E220074 */ lw $v0, 0x74($s1) +/* A176C0 802414A0 2442000A */ addiu $v0, $v0, 0xa +/* A176C4 802414A4 44826000 */ mtc1 $v0, $f12 +/* A176C8 802414A8 00000000 */ nop +/* A176CC 802414AC 0C00A6C9 */ jal clamp_angle +/* A176D0 802414B0 46806320 */ cvt.s.w $f12, $f12 +/* A176D4 802414B4 4600020D */ trunc.w.s $f8, $f0 +/* A176D8 802414B8 E6280074 */ swc1 $f8, 0x74($s1) +.L802414BC: +/* A176DC 802414BC 8E220090 */ lw $v0, 0x90($s1) +/* A176E0 802414C0 1C40004A */ bgtz $v0, .L802415EC +/* A176E4 802414C4 2442FFFF */ addiu $v0, $v0, -1 +/* A176E8 802414C8 8E430014 */ lw $v1, 0x14($s2) +/* A176EC 802414CC 04600048 */ bltz $v1, .L802415F0 +/* A176F0 802414D0 00000000 */ nop +/* A176F4 802414D4 8E620074 */ lw $v0, 0x74($s3) +/* A176F8 802414D8 1C400042 */ bgtz $v0, .L802415E4 +/* A176FC 802414DC 2442FFFF */ addiu $v0, $v0, -1 +/* A17700 802414E0 AE630074 */ sw $v1, 0x74($s3) +/* A17704 802414E4 860200A8 */ lh $v0, 0xa8($s0) +/* A17708 802414E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1770C 802414EC 44820000 */ mtc1 $v0, $f0 +/* A17710 802414F0 00000000 */ nop +/* A17714 802414F4 46800020 */ cvt.s.w $f0, $f0 +/* A17718 802414F8 46001080 */ add.s $f2, $f2, $f0 +/* A1771C 802414FC 3C014024 */ lui $at, 0x4024 +/* A17720 80241500 44810800 */ mtc1 $at, $f1 +/* A17724 80241504 44800000 */ mtc1 $zero, $f0 +/* A17728 80241508 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1772C 8024150C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A17730 80241510 460010A1 */ cvt.d.s $f2, $f2 +/* A17734 80241514 46201080 */ add.d $f2, $f2, $f0 +/* A17738 80241518 C440002C */ lwc1 $f0, 0x2c($v0) +/* A1773C 8024151C 46000021 */ cvt.d.s $f0, $f0 +/* A17740 80241520 4622003C */ c.lt.d $f0, $f2 +/* A17744 80241524 00000000 */ nop +/* A17748 80241528 4500002C */ bc1f .L802415DC +/* A1774C 8024152C 02A0202D */ daddu $a0, $s5, $zero +/* A17750 80241530 AFA00010 */ sw $zero, 0x10($sp) +/* A17754 80241534 8E46000C */ lw $a2, 0xc($s2) +/* A17758 80241538 8E470010 */ lw $a3, 0x10($s2) +/* A1775C 8024153C 0C01242D */ jal func_800490B4 +/* A17760 80241540 0220282D */ daddu $a1, $s1, $zero +/* A17764 80241544 10400025 */ beqz $v0, .L802415DC +/* A17768 80241548 0000202D */ daddu $a0, $zero, $zero +/* A1776C 8024154C 0200282D */ daddu $a1, $s0, $zero +/* A17770 80241550 0000302D */ daddu $a2, $zero, $zero +/* A17774 80241554 2412000C */ addiu $s2, $zero, 0xc +/* A17778 80241558 860300A8 */ lh $v1, 0xa8($s0) +/* A1777C 8024155C 3C013F80 */ lui $at, 0x3f80 +/* A17780 80241560 44810000 */ mtc1 $at, $f0 +/* A17784 80241564 3C014000 */ lui $at, 0x4000 +/* A17788 80241568 44811000 */ mtc1 $at, $f2 +/* A1778C 8024156C 3C01C1A0 */ lui $at, 0xc1a0 +/* A17790 80241570 44812000 */ mtc1 $at, $f4 +/* A17794 80241574 44834000 */ mtc1 $v1, $f8 +/* A17798 80241578 00000000 */ nop +/* A1779C 8024157C 46804220 */ cvt.s.w $f8, $f8 +/* A177A0 80241580 44074000 */ mfc1 $a3, $f8 +/* A177A4 80241584 27A20038 */ addiu $v0, $sp, 0x38 +/* A177A8 80241588 AFB2001C */ sw $s2, 0x1c($sp) +/* A177AC 8024158C AFA20020 */ sw $v0, 0x20($sp) +/* A177B0 80241590 E7A00010 */ swc1 $f0, 0x10($sp) +/* A177B4 80241594 E7A20014 */ swc1 $f2, 0x14($sp) +/* A177B8 80241598 0C01BFA4 */ jal fx_emote +/* A177BC 8024159C E7A40018 */ swc1 $f4, 0x18($sp) +/* A177C0 802415A0 0200202D */ daddu $a0, $s0, $zero +/* A177C4 802415A4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A177C8 802415A8 C480003C */ lwc1 $f0, 0x3c($a0) +/* A177CC 802415AC 3C060020 */ lui $a2, 0x20 +/* A177D0 802415B0 0C012530 */ jal func_800494C0 +/* A177D4 802415B4 E4800064 */ swc1 $f0, 0x64($a0) +/* A177D8 802415B8 8E220018 */ lw $v0, 0x18($s1) +/* A177DC 802415BC 9442002A */ lhu $v0, 0x2a($v0) +/* A177E0 802415C0 30420001 */ andi $v0, $v0, 1 +/* A177E4 802415C4 10400003 */ beqz $v0, .L802415D4 +/* A177E8 802415C8 2402000A */ addiu $v0, $zero, 0xa +/* A177EC 802415CC 080905E5 */ j .L80241794 +/* A177F0 802415D0 AE620070 */ sw $v0, 0x70($s3) +.L802415D4: +/* A177F4 802415D4 080905E5 */ j .L80241794 +/* A177F8 802415D8 AE720070 */ sw $s2, 0x70($s3) +.L802415DC: +/* A177FC 802415DC 8E620074 */ lw $v0, 0x74($s3) +/* A17800 802415E0 2442FFFF */ addiu $v0, $v0, -1 +.L802415E4: +/* A17804 802415E4 0809057C */ j .L802415F0 +/* A17808 802415E8 AE620074 */ sw $v0, 0x74($s3) +.L802415EC: +/* A1780C 802415EC AE220090 */ sw $v0, 0x90($s1) +.L802415F0: +/* A17810 802415F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A17814 802415F4 C6000040 */ lwc1 $f0, 0x40($s0) +/* A17818 802415F8 C4620000 */ lwc1 $f2, ($v1) +/* A1781C 802415FC 468010A0 */ cvt.s.w $f2, $f2 +/* A17820 80241600 C4640008 */ lwc1 $f4, 8($v1) +/* A17824 80241604 46802120 */ cvt.s.w $f4, $f4 +/* A17828 80241608 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1782C 8024160C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A17830 80241610 44051000 */ mfc1 $a1, $f2 +/* A17834 80241614 C440000C */ lwc1 $f0, 0xc($v0) +/* A17838 80241618 46800020 */ cvt.s.w $f0, $f0 +/* A1783C 8024161C E7A00014 */ swc1 $f0, 0x14($sp) +/* A17840 80241620 8E2200D0 */ lw $v0, 0xd0($s1) +/* A17844 80241624 44062000 */ mfc1 $a2, $f4 +/* A17848 80241628 C4400010 */ lwc1 $f0, 0x10($v0) +/* A1784C 8024162C 46800020 */ cvt.s.w $f0, $f0 +/* A17850 80241630 E7A00018 */ swc1 $f0, 0x18($sp) +/* A17854 80241634 8C640018 */ lw $a0, 0x18($v1) +/* A17858 80241638 0C0123F5 */ jal is_point_within_region +/* A1785C 8024163C 8E070038 */ lw $a3, 0x38($s0) +/* A17860 80241640 1040001A */ beqz $v0, .L802416AC +/* A17864 80241644 00000000 */ nop +/* A17868 80241648 8E060038 */ lw $a2, 0x38($s0) +/* A1786C 8024164C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A17870 80241650 8E070040 */ lw $a3, 0x40($s0) +/* A17874 80241654 C44C0000 */ lwc1 $f12, ($v0) +/* A17878 80241658 46806320 */ cvt.s.w $f12, $f12 +/* A1787C 8024165C C44E0008 */ lwc1 $f14, 8($v0) +/* A17880 80241660 0C00A7B5 */ jal dist2D +/* A17884 80241664 468073A0 */ cvt.s.w $f14, $f14 +/* A17888 80241668 C6020018 */ lwc1 $f2, 0x18($s0) +/* A1788C 8024166C 4600103C */ c.lt.s $f2, $f0 +/* A17890 80241670 00000000 */ nop +/* A17894 80241674 4500000D */ bc1f .L802416AC +/* A17898 80241678 E7A00034 */ swc1 $f0, 0x34($sp) +/* A1789C 8024167C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A178A0 80241680 8E2200D0 */ lw $v0, 0xd0($s1) +/* A178A4 80241684 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A178A8 80241688 C4480000 */ lwc1 $f8, ($v0) +/* A178AC 8024168C 46804220 */ cvt.s.w $f8, $f8 +/* A178B0 80241690 44064000 */ mfc1 $a2, $f8 +/* A178B4 80241694 C4480008 */ lwc1 $f8, 8($v0) +/* A178B8 80241698 46804220 */ cvt.s.w $f8, $f8 +/* A178BC 8024169C 44074000 */ mfc1 $a3, $f8 +/* A178C0 802416A0 0C00A720 */ jal atan2 +/* A178C4 802416A4 24140001 */ addiu $s4, $zero, 1 +/* A178C8 802416A8 E600000C */ swc1 $f0, 0xc($s0) +.L802416AC: +/* A178CC 802416AC 8E2200D0 */ lw $v0, 0xd0($s1) +/* A178D0 802416B0 8C43000C */ lw $v1, 0xc($v0) +/* A178D4 802416B4 8C420010 */ lw $v0, 0x10($v0) +/* A178D8 802416B8 00621825 */ or $v1, $v1, $v0 +/* A178DC 802416BC 00741825 */ or $v1, $v1, $s4 +/* A178E0 802416C0 10600008 */ beqz $v1, .L802416E4 +/* A178E4 802416C4 00000000 */ nop +/* A178E8 802416C8 8602008C */ lh $v0, 0x8c($s0) +/* A178EC 802416CC 14400031 */ bnez $v0, .L80241794 +/* A178F0 802416D0 00000000 */ nop +/* A178F4 802416D4 8E050018 */ lw $a1, 0x18($s0) +/* A178F8 802416D8 8E06000C */ lw $a2, 0xc($s0) +/* A178FC 802416DC 0C00EA95 */ jal npc_move_heading +/* A17900 802416E0 0200202D */ daddu $a0, $s0, $zero +.L802416E4: +/* A17904 802416E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A17908 802416E8 3C014059 */ lui $at, 0x4059 +/* A1790C 802416EC 44811800 */ mtc1 $at, $f3 +/* A17910 802416F0 44801000 */ mtc1 $zero, $f2 +/* A17914 802416F4 46000021 */ cvt.d.s $f0, $f0 +/* A17918 802416F8 46220002 */ mul.d $f0, $f0, $f2 +/* A1791C 802416FC 00000000 */ nop +/* A17920 80241700 4620020D */ trunc.w.d $f8, $f0 +/* A17924 80241704 E628007C */ swc1 $f8, 0x7c($s1) +/* A17928 80241708 8E420004 */ lw $v0, 4($s2) +/* A1792C 8024170C 18400021 */ blez $v0, .L80241794 +/* A17930 80241710 00000000 */ nop +/* A17934 80241714 8602008E */ lh $v0, 0x8e($s0) +/* A17938 80241718 9603008E */ lhu $v1, 0x8e($s0) +/* A1793C 8024171C 18400005 */ blez $v0, .L80241734 +/* A17940 80241720 2462FFFF */ addiu $v0, $v1, -1 +/* A17944 80241724 A602008E */ sh $v0, 0x8e($s0) +/* A17948 80241728 00021400 */ sll $v0, $v0, 0x10 +/* A1794C 8024172C 1C400019 */ bgtz $v0, .L80241794 +/* A17950 80241730 00000000 */ nop +.L80241734: +/* A17954 80241734 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A17958 80241738 24020002 */ addiu $v0, $zero, 2 +/* A1795C 8024173C 0C00A67F */ jal rand_int +/* A17960 80241740 AE620070 */ sw $v0, 0x70($s3) +/* A17964 80241744 3C035555 */ lui $v1, 0x5555 +/* A17968 80241748 34635556 */ ori $v1, $v1, 0x5556 +/* A1796C 8024174C 00430018 */ mult $v0, $v1 +/* A17970 80241750 000227C3 */ sra $a0, $v0, 0x1f +/* A17974 80241754 00004010 */ mfhi $t0 +/* A17978 80241758 01042023 */ subu $a0, $t0, $a0 +/* A1797C 8024175C 00041840 */ sll $v1, $a0, 1 +/* A17980 80241760 00641821 */ addu $v1, $v1, $a0 +/* A17984 80241764 00431023 */ subu $v0, $v0, $v1 +/* A17988 80241768 24430002 */ addiu $v1, $v0, 2 +/* A1798C 8024176C AE630074 */ sw $v1, 0x74($s3) +/* A17990 80241770 8E42002C */ lw $v0, 0x2c($s2) +/* A17994 80241774 58400007 */ blezl $v0, .L80241794 +/* A17998 80241778 AE600070 */ sw $zero, 0x70($s3) +/* A1799C 8024177C 8E420008 */ lw $v0, 8($s2) +/* A179A0 80241780 18400003 */ blez $v0, .L80241790 +/* A179A4 80241784 28620003 */ slti $v0, $v1, 3 +/* A179A8 80241788 10400002 */ beqz $v0, .L80241794 +/* A179AC 8024178C 00000000 */ nop +.L80241790: +/* A179B0 80241790 AE600070 */ sw $zero, 0x70($s3) +.L80241794: +/* A179B4 80241794 8FBF0058 */ lw $ra, 0x58($sp) +/* A179B8 80241798 8FB50054 */ lw $s5, 0x54($sp) +/* A179BC 8024179C 8FB40050 */ lw $s4, 0x50($sp) +/* A179C0 802417A0 8FB3004C */ lw $s3, 0x4c($sp) +/* A179C4 802417A4 8FB20048 */ lw $s2, 0x48($sp) +/* A179C8 802417A8 8FB10044 */ lw $s1, 0x44($sp) +/* A179CC 802417AC 8FB00040 */ lw $s0, 0x40($sp) +/* A179D0 802417B0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A179D4 802417B4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A179D8 802417B8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* A179DC 802417BC D7B40060 */ ldc1 $f20, 0x60($sp) +/* A179E0 802417C0 03E00008 */ jr $ra +/* A179E4 802417C4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802417C8.s b/asm/nonmatchings/world/area_hos/hos_02/func_802417C8.s new file mode 100644 index 0000000000..0b906e3d65 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802417C8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C8 +/* A179E8 802417C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A179EC 802417CC AFB3001C */ sw $s3, 0x1c($sp) +/* A179F0 802417D0 0080982D */ daddu $s3, $a0, $zero +/* A179F4 802417D4 AFBF0020 */ sw $ra, 0x20($sp) +/* A179F8 802417D8 AFB20018 */ sw $s2, 0x18($sp) +/* A179FC 802417DC AFB10014 */ sw $s1, 0x14($sp) +/* A17A00 802417E0 AFB00010 */ sw $s0, 0x10($sp) +/* A17A04 802417E4 8E720148 */ lw $s2, 0x148($s3) +/* A17A08 802417E8 86440008 */ lh $a0, 8($s2) +/* A17A0C 802417EC 0C00EABB */ jal get_npc_unsafe +/* A17A10 802417F0 00A0882D */ daddu $s1, $a1, $zero +/* A17A14 802417F4 8E240008 */ lw $a0, 8($s1) +/* A17A18 802417F8 0040802D */ daddu $s0, $v0, $zero +/* A17A1C 802417FC 00041FC2 */ srl $v1, $a0, 0x1f +/* A17A20 80241800 00832021 */ addu $a0, $a0, $v1 +/* A17A24 80241804 00042043 */ sra $a0, $a0, 1 +/* A17A28 80241808 0C00A67F */ jal rand_int +/* A17A2C 8024180C 24840001 */ addiu $a0, $a0, 1 +/* A17A30 80241810 8E230008 */ lw $v1, 8($s1) +/* A17A34 80241814 240400B4 */ addiu $a0, $zero, 0xb4 +/* A17A38 80241818 00032FC2 */ srl $a1, $v1, 0x1f +/* A17A3C 8024181C 00651821 */ addu $v1, $v1, $a1 +/* A17A40 80241820 00031843 */ sra $v1, $v1, 1 +/* A17A44 80241824 00621821 */ addu $v1, $v1, $v0 +/* A17A48 80241828 0C00A67F */ jal rand_int +/* A17A4C 8024182C A603008E */ sh $v1, 0x8e($s0) +/* A17A50 80241830 C60C000C */ lwc1 $f12, 0xc($s0) +/* A17A54 80241834 44820000 */ mtc1 $v0, $f0 +/* A17A58 80241838 00000000 */ nop +/* A17A5C 8024183C 46800020 */ cvt.s.w $f0, $f0 +/* A17A60 80241840 46006300 */ add.s $f12, $f12, $f0 +/* A17A64 80241844 3C0142B4 */ lui $at, 0x42b4 +/* A17A68 80241848 44810000 */ mtc1 $at, $f0 +/* A17A6C 8024184C 0C00A6C9 */ jal clamp_angle +/* A17A70 80241850 46006301 */ sub.s $f12, $f12, $f0 +/* A17A74 80241854 E600000C */ swc1 $f0, 0xc($s0) +/* A17A78 80241858 8E4200CC */ lw $v0, 0xcc($s2) +/* A17A7C 8024185C 8C420000 */ lw $v0, ($v0) +/* A17A80 80241860 AE020028 */ sw $v0, 0x28($s0) +/* A17A84 80241864 24020003 */ addiu $v0, $zero, 3 +/* A17A88 80241868 AE620070 */ sw $v0, 0x70($s3) +/* A17A8C 8024186C 8FBF0020 */ lw $ra, 0x20($sp) +/* A17A90 80241870 8FB3001C */ lw $s3, 0x1c($sp) +/* A17A94 80241874 8FB20018 */ lw $s2, 0x18($sp) +/* A17A98 80241878 8FB10014 */ lw $s1, 0x14($sp) +/* A17A9C 8024187C 8FB00010 */ lw $s0, 0x10($sp) +/* A17AA0 80241880 03E00008 */ jr $ra +/* A17AA4 80241884 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241888.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241888.s new file mode 100644 index 0000000000..0f947be484 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241888.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241888 +/* A17AA8 80241888 27BDFF88 */ addiu $sp, $sp, -0x78 +/* A17AAC 8024188C AFB3004C */ sw $s3, 0x4c($sp) +/* A17AB0 80241890 0080982D */ daddu $s3, $a0, $zero +/* A17AB4 80241894 AFBF0054 */ sw $ra, 0x54($sp) +/* A17AB8 80241898 AFB40050 */ sw $s4, 0x50($sp) +/* A17ABC 8024189C AFB20048 */ sw $s2, 0x48($sp) +/* A17AC0 802418A0 AFB10044 */ sw $s1, 0x44($sp) +/* A17AC4 802418A4 AFB00040 */ sw $s0, 0x40($sp) +/* A17AC8 802418A8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* A17ACC 802418AC F7B80068 */ sdc1 $f24, 0x68($sp) +/* A17AD0 802418B0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* A17AD4 802418B4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* A17AD8 802418B8 8E710148 */ lw $s1, 0x148($s3) +/* A17ADC 802418BC 00A0902D */ daddu $s2, $a1, $zero +/* A17AE0 802418C0 86240008 */ lh $a0, 8($s1) +/* A17AE4 802418C4 0C00EABB */ jal get_npc_unsafe +/* A17AE8 802418C8 00C0A02D */ daddu $s4, $a2, $zero +/* A17AEC 802418CC 0040802D */ daddu $s0, $v0, $zero +/* A17AF0 802418D0 C6200078 */ lwc1 $f0, 0x78($s1) +/* A17AF4 802418D4 46800020 */ cvt.s.w $f0, $f0 +/* A17AF8 802418D8 46000021 */ cvt.d.s $f0, $f0 +/* A17AFC 802418DC 3C014059 */ lui $at, 0x4059 +/* A17B00 802418E0 44811800 */ mtc1 $at, $f3 +/* A17B04 802418E4 44801000 */ mtc1 $zero, $f2 +/* A17B08 802418E8 8602008E */ lh $v0, 0x8e($s0) +/* A17B0C 802418EC 9603008E */ lhu $v1, 0x8e($s0) +/* A17B10 802418F0 46220003 */ div.d $f0, $f0, $f2 +/* A17B14 802418F4 46200620 */ cvt.s.d $f24, $f0 +/* A17B18 802418F8 C6200088 */ lwc1 $f0, 0x88($s1) +/* A17B1C 802418FC 46800020 */ cvt.s.w $f0, $f0 +/* A17B20 80241900 46000021 */ cvt.d.s $f0, $f0 +/* A17B24 80241904 46220003 */ div.d $f0, $f0, $f2 +/* A17B28 80241908 46200020 */ cvt.s.d $f0, $f0 +/* A17B2C 8024190C 18400003 */ blez $v0, .L8024191C +/* A17B30 80241910 4600C680 */ add.s $f26, $f24, $f0 +/* A17B34 80241914 2462FFFF */ addiu $v0, $v1, -1 +/* A17B38 80241918 A602008E */ sh $v0, 0x8e($s0) +.L8024191C: +/* A17B3C 8024191C 8E220070 */ lw $v0, 0x70($s1) +/* A17B40 80241920 18400034 */ blez $v0, .L802419F4 +/* A17B44 80241924 00000000 */ nop +/* A17B48 80241928 C62C0074 */ lwc1 $f12, 0x74($s1) +/* A17B4C 8024192C 46806320 */ cvt.s.w $f12, $f12 +/* A17B50 80241930 44820000 */ mtc1 $v0, $f0 +/* A17B54 80241934 00000000 */ nop +/* A17B58 80241938 46800020 */ cvt.s.w $f0, $f0 +/* A17B5C 8024193C 46000021 */ cvt.d.s $f0, $f0 +/* A17B60 80241940 46220003 */ div.d $f0, $f0, $f2 +/* A17B64 80241944 0C00A8BB */ jal sin_deg +/* A17B68 80241948 462005A0 */ cvt.s.d $f22, $f0 +/* A17B6C 8024194C 8E020000 */ lw $v0, ($s0) +/* A17B70 80241950 30420008 */ andi $v0, $v0, 8 +/* A17B74 80241954 10400003 */ beqz $v0, .L80241964 +/* A17B78 80241958 46000506 */ mov.s $f20, $f0 +/* A17B7C 8024195C 08090669 */ j .L802419A4 +/* A17B80 80241960 0000102D */ daddu $v0, $zero, $zero +.L80241964: +/* A17B84 80241964 27A50028 */ addiu $a1, $sp, 0x28 +/* A17B88 80241968 27A6002C */ addiu $a2, $sp, 0x2c +/* A17B8C 8024196C C6000038 */ lwc1 $f0, 0x38($s0) +/* A17B90 80241970 C602003C */ lwc1 $f2, 0x3c($s0) +/* A17B94 80241974 C6040040 */ lwc1 $f4, 0x40($s0) +/* A17B98 80241978 3C01447A */ lui $at, 0x447a +/* A17B9C 8024197C 44813000 */ mtc1 $at, $f6 +/* A17BA0 80241980 27A20034 */ addiu $v0, $sp, 0x34 +/* A17BA4 80241984 E7A00028 */ swc1 $f0, 0x28($sp) +/* A17BA8 80241988 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A17BAC 8024198C E7A40030 */ swc1 $f4, 0x30($sp) +/* A17BB0 80241990 E7A60034 */ swc1 $f6, 0x34($sp) +/* A17BB4 80241994 AFA20010 */ sw $v0, 0x10($sp) +/* A17BB8 80241998 8E040080 */ lw $a0, 0x80($s0) +/* A17BBC 8024199C 0C0372DF */ jal func_800DCB7C +/* A17BC0 802419A0 27A70030 */ addiu $a3, $sp, 0x30 +.L802419A4: +/* A17BC4 802419A4 10400007 */ beqz $v0, .L802419C4 +/* A17BC8 802419A8 00000000 */ nop +/* A17BCC 802419AC 4616A082 */ mul.s $f2, $f20, $f22 +/* A17BD0 802419B0 00000000 */ nop +/* A17BD4 802419B4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A17BD8 802419B8 46180000 */ add.s $f0, $f0, $f24 +/* A17BDC 802419BC 08090674 */ j .L802419D0 +/* A17BE0 802419C0 46020000 */ add.s $f0, $f0, $f2 +.L802419C4: +/* A17BE4 802419C4 4616A002 */ mul.s $f0, $f20, $f22 +/* A17BE8 802419C8 00000000 */ nop +/* A17BEC 802419CC 4600D000 */ add.s $f0, $f26, $f0 +.L802419D0: +/* A17BF0 802419D0 E600003C */ swc1 $f0, 0x3c($s0) +/* A17BF4 802419D4 8E220074 */ lw $v0, 0x74($s1) +/* A17BF8 802419D8 2442000A */ addiu $v0, $v0, 0xa +/* A17BFC 802419DC 44826000 */ mtc1 $v0, $f12 +/* A17C00 802419E0 00000000 */ nop +/* A17C04 802419E4 0C00A6C9 */ jal clamp_angle +/* A17C08 802419E8 46806320 */ cvt.s.w $f12, $f12 +/* A17C0C 802419EC 4600020D */ trunc.w.s $f8, $f0 +/* A17C10 802419F0 E6280074 */ swc1 $f8, 0x74($s1) +.L802419F4: +/* A17C14 802419F4 8E220090 */ lw $v0, 0x90($s1) +/* A17C18 802419F8 1C400040 */ bgtz $v0, .L80241AFC +/* A17C1C 802419FC 2442FFFF */ addiu $v0, $v0, -1 +/* A17C20 80241A00 860200A8 */ lh $v0, 0xa8($s0) +/* A17C24 80241A04 C600003C */ lwc1 $f0, 0x3c($s0) +/* A17C28 80241A08 44821000 */ mtc1 $v0, $f2 +/* A17C2C 80241A0C 00000000 */ nop +/* A17C30 80241A10 468010A0 */ cvt.s.w $f2, $f2 +/* A17C34 80241A14 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A17C38 80241A18 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A17C3C 80241A1C 46020000 */ add.s $f0, $f0, $f2 +/* A17C40 80241A20 3C014024 */ lui $at, 0x4024 +/* A17C44 80241A24 44812800 */ mtc1 $at, $f5 +/* A17C48 80241A28 44802000 */ mtc1 $zero, $f4 +/* A17C4C 80241A2C C442002C */ lwc1 $f2, 0x2c($v0) +/* A17C50 80241A30 46000021 */ cvt.d.s $f0, $f0 +/* A17C54 80241A34 46240000 */ add.d $f0, $f0, $f4 +/* A17C58 80241A38 460010A1 */ cvt.d.s $f2, $f2 +/* A17C5C 80241A3C 4620103C */ c.lt.d $f2, $f0 +/* A17C60 80241A40 00000000 */ nop +/* A17C64 80241A44 4500002E */ bc1f .L80241B00 +/* A17C68 80241A48 0280202D */ daddu $a0, $s4, $zero +/* A17C6C 80241A4C 24020001 */ addiu $v0, $zero, 1 +/* A17C70 80241A50 AFA20010 */ sw $v0, 0x10($sp) +/* A17C74 80241A54 8E460024 */ lw $a2, 0x24($s2) +/* A17C78 80241A58 8E470028 */ lw $a3, 0x28($s2) +/* A17C7C 80241A5C 0C01242D */ jal func_800490B4 +/* A17C80 80241A60 0220282D */ daddu $a1, $s1, $zero +/* A17C84 80241A64 10400026 */ beqz $v0, .L80241B00 +/* A17C88 80241A68 0000202D */ daddu $a0, $zero, $zero +/* A17C8C 80241A6C 0200282D */ daddu $a1, $s0, $zero +/* A17C90 80241A70 0000302D */ daddu $a2, $zero, $zero +/* A17C94 80241A74 2412000C */ addiu $s2, $zero, 0xc +/* A17C98 80241A78 860300A8 */ lh $v1, 0xa8($s0) +/* A17C9C 80241A7C 3C013F80 */ lui $at, 0x3f80 +/* A17CA0 80241A80 44810000 */ mtc1 $at, $f0 +/* A17CA4 80241A84 3C014000 */ lui $at, 0x4000 +/* A17CA8 80241A88 44811000 */ mtc1 $at, $f2 +/* A17CAC 80241A8C 3C01C1A0 */ lui $at, 0xc1a0 +/* A17CB0 80241A90 44812000 */ mtc1 $at, $f4 +/* A17CB4 80241A94 44834000 */ mtc1 $v1, $f8 +/* A17CB8 80241A98 00000000 */ nop +/* A17CBC 80241A9C 46804220 */ cvt.s.w $f8, $f8 +/* A17CC0 80241AA0 44074000 */ mfc1 $a3, $f8 +/* A17CC4 80241AA4 27A20038 */ addiu $v0, $sp, 0x38 +/* A17CC8 80241AA8 AFB2001C */ sw $s2, 0x1c($sp) +/* A17CCC 80241AAC AFA20020 */ sw $v0, 0x20($sp) +/* A17CD0 80241AB0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A17CD4 80241AB4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A17CD8 80241AB8 0C01BFA4 */ jal fx_emote +/* A17CDC 80241ABC E7A40018 */ swc1 $f4, 0x18($sp) +/* A17CE0 80241AC0 0200202D */ daddu $a0, $s0, $zero +/* A17CE4 80241AC4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A17CE8 80241AC8 C480003C */ lwc1 $f0, 0x3c($a0) +/* A17CEC 80241ACC 3C060020 */ lui $a2, 0x20 +/* A17CF0 80241AD0 0C012530 */ jal func_800494C0 +/* A17CF4 80241AD4 E4800064 */ swc1 $f0, 0x64($a0) +/* A17CF8 80241AD8 8E220018 */ lw $v0, 0x18($s1) +/* A17CFC 80241ADC 9442002A */ lhu $v0, 0x2a($v0) +/* A17D00 80241AE0 30420001 */ andi $v0, $v0, 1 +/* A17D04 80241AE4 10400003 */ beqz $v0, .L80241AF4 +/* A17D08 80241AE8 2402000A */ addiu $v0, $zero, 0xa +/* A17D0C 80241AEC 080906E7 */ j .L80241B9C +/* A17D10 80241AF0 AE620070 */ sw $v0, 0x70($s3) +.L80241AF4: +/* A17D14 80241AF4 080906E7 */ j .L80241B9C +/* A17D18 80241AF8 AE720070 */ sw $s2, 0x70($s3) +.L80241AFC: +/* A17D1C 80241AFC AE220090 */ sw $v0, 0x90($s1) +.L80241B00: +/* A17D20 80241B00 8602008C */ lh $v0, 0x8c($s0) +/* A17D24 80241B04 14400025 */ bnez $v0, .L80241B9C +/* A17D28 80241B08 00000000 */ nop +/* A17D2C 80241B0C 8602008E */ lh $v0, 0x8e($s0) +/* A17D30 80241B10 1C400022 */ bgtz $v0, .L80241B9C +/* A17D34 80241B14 00000000 */ nop +/* A17D38 80241B18 8E620074 */ lw $v0, 0x74($s3) +/* A17D3C 80241B1C 2442FFFF */ addiu $v0, $v0, -1 +/* A17D40 80241B20 1840001D */ blez $v0, .L80241B98 +/* A17D44 80241B24 AE620074 */ sw $v0, 0x74($s3) +/* A17D48 80241B28 8E220018 */ lw $v0, 0x18($s1) +/* A17D4C 80241B2C 9442002A */ lhu $v0, 0x2a($v0) +/* A17D50 80241B30 30420010 */ andi $v0, $v0, 0x10 +/* A17D54 80241B34 14400007 */ bnez $v0, .L80241B54 +/* A17D58 80241B38 00000000 */ nop +/* A17D5C 80241B3C C600000C */ lwc1 $f0, 0xc($s0) +/* A17D60 80241B40 3C014334 */ lui $at, 0x4334 +/* A17D64 80241B44 44816000 */ mtc1 $at, $f12 +/* A17D68 80241B48 0C00A6C9 */ jal clamp_angle +/* A17D6C 80241B4C 460C0300 */ add.s $f12, $f0, $f12 +/* A17D70 80241B50 E600000C */ swc1 $f0, 0xc($s0) +.L80241B54: +/* A17D74 80241B54 0C00A67F */ jal rand_int +/* A17D78 80241B58 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A17D7C 80241B5C 3C032E8B */ lui $v1, 0x2e8b +/* A17D80 80241B60 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* A17D84 80241B64 00430018 */ mult $v0, $v1 +/* A17D88 80241B68 00021FC3 */ sra $v1, $v0, 0x1f +/* A17D8C 80241B6C 00004010 */ mfhi $t0 +/* A17D90 80241B70 00082043 */ sra $a0, $t0, 1 +/* A17D94 80241B74 00832023 */ subu $a0, $a0, $v1 +/* A17D98 80241B78 00041840 */ sll $v1, $a0, 1 +/* A17D9C 80241B7C 00641821 */ addu $v1, $v1, $a0 +/* A17DA0 80241B80 00031880 */ sll $v1, $v1, 2 +/* A17DA4 80241B84 00641823 */ subu $v1, $v1, $a0 +/* A17DA8 80241B88 00431023 */ subu $v0, $v0, $v1 +/* A17DAC 80241B8C 24420005 */ addiu $v0, $v0, 5 +/* A17DB0 80241B90 080906E7 */ j .L80241B9C +/* A17DB4 80241B94 A602008E */ sh $v0, 0x8e($s0) +.L80241B98: +/* A17DB8 80241B98 AE600070 */ sw $zero, 0x70($s3) +.L80241B9C: +/* A17DBC 80241B9C 8FBF0054 */ lw $ra, 0x54($sp) +/* A17DC0 80241BA0 8FB40050 */ lw $s4, 0x50($sp) +/* A17DC4 80241BA4 8FB3004C */ lw $s3, 0x4c($sp) +/* A17DC8 80241BA8 8FB20048 */ lw $s2, 0x48($sp) +/* A17DCC 80241BAC 8FB10044 */ lw $s1, 0x44($sp) +/* A17DD0 80241BB0 8FB00040 */ lw $s0, 0x40($sp) +/* A17DD4 80241BB4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* A17DD8 80241BB8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* A17DDC 80241BBC D7B60060 */ ldc1 $f22, 0x60($sp) +/* A17DE0 80241BC0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* A17DE4 80241BC4 03E00008 */ jr $ra +/* A17DE8 80241BC8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241BCC.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241BCC.s new file mode 100644 index 0000000000..effff62997 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241BCC.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BCC +/* A17DEC 80241BCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A17DF0 80241BD0 AFB20018 */ sw $s2, 0x18($sp) +/* A17DF4 80241BD4 0080902D */ daddu $s2, $a0, $zero +/* A17DF8 80241BD8 AFBF001C */ sw $ra, 0x1c($sp) +/* A17DFC 80241BDC AFB10014 */ sw $s1, 0x14($sp) +/* A17E00 80241BE0 AFB00010 */ sw $s0, 0x10($sp) +/* A17E04 80241BE4 8E510148 */ lw $s1, 0x148($s2) +/* A17E08 80241BE8 0C00EABB */ jal get_npc_unsafe +/* A17E0C 80241BEC 86240008 */ lh $a0, 8($s1) +/* A17E10 80241BF0 0040802D */ daddu $s0, $v0, $zero +/* A17E14 80241BF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A17E18 80241BF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A17E1C 80241BFC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A17E20 80241C00 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A17E24 80241C04 A600008E */ sh $zero, 0x8e($s0) +/* A17E28 80241C08 8C460028 */ lw $a2, 0x28($v0) +/* A17E2C 80241C0C 0C00A720 */ jal atan2 +/* A17E30 80241C10 8C470030 */ lw $a3, 0x30($v0) +/* A17E34 80241C14 E600000C */ swc1 $f0, 0xc($s0) +/* A17E38 80241C18 8E2200CC */ lw $v0, 0xcc($s1) +/* A17E3C 80241C1C 8C420020 */ lw $v0, 0x20($v0) +/* A17E40 80241C20 AE020028 */ sw $v0, 0x28($s0) +/* A17E44 80241C24 2402000B */ addiu $v0, $zero, 0xb +/* A17E48 80241C28 AE420070 */ sw $v0, 0x70($s2) +/* A17E4C 80241C2C 8FBF001C */ lw $ra, 0x1c($sp) +/* A17E50 80241C30 8FB20018 */ lw $s2, 0x18($sp) +/* A17E54 80241C34 8FB10014 */ lw $s1, 0x14($sp) +/* A17E58 80241C38 8FB00010 */ lw $s0, 0x10($sp) +/* A17E5C 80241C3C 03E00008 */ jr $ra +/* A17E60 80241C40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241C44.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241C44.s new file mode 100644 index 0000000000..2c7d242d75 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241C44.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C44 +/* A17E64 80241C44 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A17E68 80241C48 AFB00010 */ sw $s0, 0x10($sp) +/* A17E6C 80241C4C 0080802D */ daddu $s0, $a0, $zero +/* A17E70 80241C50 AFBF0014 */ sw $ra, 0x14($sp) +/* A17E74 80241C54 8E020148 */ lw $v0, 0x148($s0) +/* A17E78 80241C58 0C00EABB */ jal get_npc_unsafe +/* A17E7C 80241C5C 84440008 */ lh $a0, 8($v0) +/* A17E80 80241C60 9443008E */ lhu $v1, 0x8e($v0) +/* A17E84 80241C64 C440003C */ lwc1 $f0, 0x3c($v0) +/* A17E88 80241C68 24640001 */ addiu $a0, $v1, 1 +/* A17E8C 80241C6C 00031C00 */ sll $v1, $v1, 0x10 +/* A17E90 80241C70 00031B83 */ sra $v1, $v1, 0xe +/* A17E94 80241C74 A444008E */ sh $a0, 0x8e($v0) +/* A17E98 80241C78 3C018024 */ lui $at, 0x8024 +/* A17E9C 80241C7C 00230821 */ addu $at, $at, $v1 +/* A17EA0 80241C80 C4224490 */ lwc1 $f2, 0x4490($at) +/* A17EA4 80241C84 8443008E */ lh $v1, 0x8e($v0) +/* A17EA8 80241C88 46020000 */ add.s $f0, $f0, $f2 +/* A17EAC 80241C8C 28630005 */ slti $v1, $v1, 5 +/* A17EB0 80241C90 14600003 */ bnez $v1, .L80241CA0 +/* A17EB4 80241C94 E440003C */ swc1 $f0, 0x3c($v0) +/* A17EB8 80241C98 2402000C */ addiu $v0, $zero, 0xc +/* A17EBC 80241C9C AE020070 */ sw $v0, 0x70($s0) +.L80241CA0: +/* A17EC0 80241CA0 8FBF0014 */ lw $ra, 0x14($sp) +/* A17EC4 80241CA4 8FB00010 */ lw $s0, 0x10($sp) +/* A17EC8 80241CA8 03E00008 */ jr $ra +/* A17ECC 80241CAC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241CB0.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241CB0.s new file mode 100644 index 0000000000..91ce529cf1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241CB0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CB0 +/* A17ED0 80241CB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A17ED4 80241CB4 AFB3001C */ sw $s3, 0x1c($sp) +/* A17ED8 80241CB8 0080982D */ daddu $s3, $a0, $zero +/* A17EDC 80241CBC AFBF0020 */ sw $ra, 0x20($sp) +/* A17EE0 80241CC0 AFB20018 */ sw $s2, 0x18($sp) +/* A17EE4 80241CC4 AFB10014 */ sw $s1, 0x14($sp) +/* A17EE8 80241CC8 AFB00010 */ sw $s0, 0x10($sp) +/* A17EEC 80241CCC 8E720148 */ lw $s2, 0x148($s3) +/* A17EF0 80241CD0 86440008 */ lh $a0, 8($s2) +/* A17EF4 80241CD4 0C00EABB */ jal get_npc_unsafe +/* A17EF8 80241CD8 00A0802D */ daddu $s0, $a1, $zero +/* A17EFC 80241CDC 0040882D */ daddu $s1, $v0, $zero +/* A17F00 80241CE0 C6420080 */ lwc1 $f2, 0x80($s2) +/* A17F04 80241CE4 468010A0 */ cvt.s.w $f2, $f2 +/* A17F08 80241CE8 460010A1 */ cvt.d.s $f2, $f2 +/* A17F0C 80241CEC C6400084 */ lwc1 $f0, 0x84($s2) +/* A17F10 80241CF0 46800020 */ cvt.s.w $f0, $f0 +/* A17F14 80241CF4 46000021 */ cvt.d.s $f0, $f0 +/* A17F18 80241CF8 3C014059 */ lui $at, 0x4059 +/* A17F1C 80241CFC 44812800 */ mtc1 $at, $f5 +/* A17F20 80241D00 44802000 */ mtc1 $zero, $f4 +/* A17F24 80241D04 8E4200CC */ lw $v0, 0xcc($s2) +/* A17F28 80241D08 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A17F2C 80241D0C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A17F30 80241D10 46241083 */ div.d $f2, $f2, $f4 +/* A17F34 80241D14 462010A0 */ cvt.s.d $f2, $f2 +/* A17F38 80241D18 46240003 */ div.d $f0, $f0, $f4 +/* A17F3C 80241D1C 8C420020 */ lw $v0, 0x20($v0) +/* A17F40 80241D20 46200020 */ cvt.s.d $f0, $f0 +/* A17F44 80241D24 E622001C */ swc1 $f2, 0x1c($s1) +/* A17F48 80241D28 E6200014 */ swc1 $f0, 0x14($s1) +/* A17F4C 80241D2C AE220028 */ sw $v0, 0x28($s1) +/* A17F50 80241D30 C6000018 */ lwc1 $f0, 0x18($s0) +/* A17F54 80241D34 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A17F58 80241D38 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A17F5C 80241D3C E6200018 */ swc1 $f0, 0x18($s1) +/* A17F60 80241D40 8C460028 */ lw $a2, 0x28($v0) +/* A17F64 80241D44 0C00A720 */ jal atan2 +/* A17F68 80241D48 8C470030 */ lw $a3, 0x30($v0) +/* A17F6C 80241D4C E620000C */ swc1 $f0, 0xc($s1) +/* A17F70 80241D50 8E420018 */ lw $v0, 0x18($s2) +/* A17F74 80241D54 AE400074 */ sw $zero, 0x74($s2) +/* A17F78 80241D58 9442002A */ lhu $v0, 0x2a($v0) +/* A17F7C 80241D5C 30420002 */ andi $v0, $v0, 2 +/* A17F80 80241D60 10400005 */ beqz $v0, .L80241D78 +/* A17F84 80241D64 24020003 */ addiu $v0, $zero, 3 +/* A17F88 80241D68 A622008E */ sh $v0, 0x8e($s1) +/* A17F8C 80241D6C 2402000D */ addiu $v0, $zero, 0xd +/* A17F90 80241D70 08090772 */ j .L80241DC8 +/* A17F94 80241D74 AE620070 */ sw $v0, 0x70($s3) +.L80241D78: +/* A17F98 80241D78 24030001 */ addiu $v1, $zero, 1 +/* A17F9C 80241D7C 2402000E */ addiu $v0, $zero, 0xe +/* A17FA0 80241D80 A623008E */ sh $v1, 0x8e($s1) +/* A17FA4 80241D84 AE620070 */ sw $v0, 0x70($s3) +/* A17FA8 80241D88 C6200038 */ lwc1 $f0, 0x38($s1) +/* A17FAC 80241D8C 4600018D */ trunc.w.s $f6, $f0 +/* A17FB0 80241D90 44023000 */ mfc1 $v0, $f6 +/* A17FB4 80241D94 00000000 */ nop +/* A17FB8 80241D98 A6420010 */ sh $v0, 0x10($s2) +/* A17FBC 80241D9C C620003C */ lwc1 $f0, 0x3c($s1) +/* A17FC0 80241DA0 4600018D */ trunc.w.s $f6, $f0 +/* A17FC4 80241DA4 44023000 */ mfc1 $v0, $f6 +/* A17FC8 80241DA8 00000000 */ nop +/* A17FCC 80241DAC A6420012 */ sh $v0, 0x12($s2) +/* A17FD0 80241DB0 C6200040 */ lwc1 $f0, 0x40($s1) +/* A17FD4 80241DB4 A2430007 */ sb $v1, 7($s2) +/* A17FD8 80241DB8 4600018D */ trunc.w.s $f6, $f0 +/* A17FDC 80241DBC 44023000 */ mfc1 $v0, $f6 +/* A17FE0 80241DC0 00000000 */ nop +/* A17FE4 80241DC4 A6420014 */ sh $v0, 0x14($s2) +.L80241DC8: +/* A17FE8 80241DC8 8FBF0020 */ lw $ra, 0x20($sp) +/* A17FEC 80241DCC 8FB3001C */ lw $s3, 0x1c($sp) +/* A17FF0 80241DD0 8FB20018 */ lw $s2, 0x18($sp) +/* A17FF4 80241DD4 8FB10014 */ lw $s1, 0x14($sp) +/* A17FF8 80241DD8 8FB00010 */ lw $s0, 0x10($sp) +/* A17FFC 80241DDC 03E00008 */ jr $ra +/* A18000 80241DE0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241DE4.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241DE4.s new file mode 100644 index 0000000000..073d0008da --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241DE4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DE4 +/* A18004 80241DE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A18008 80241DE8 AFB00010 */ sw $s0, 0x10($sp) +/* A1800C 80241DEC 0080802D */ daddu $s0, $a0, $zero +/* A18010 80241DF0 AFBF0014 */ sw $ra, 0x14($sp) +/* A18014 80241DF4 8E020148 */ lw $v0, 0x148($s0) +/* A18018 80241DF8 0C00EABB */ jal get_npc_unsafe +/* A1801C 80241DFC 84440008 */ lh $a0, 8($v0) +/* A18020 80241E00 0040202D */ daddu $a0, $v0, $zero +/* A18024 80241E04 8482008E */ lh $v0, 0x8e($a0) +/* A18028 80241E08 9483008E */ lhu $v1, 0x8e($a0) +/* A1802C 80241E0C 18400005 */ blez $v0, .L80241E24 +/* A18030 80241E10 2462FFFF */ addiu $v0, $v1, -1 +/* A18034 80241E14 A482008E */ sh $v0, 0x8e($a0) +/* A18038 80241E18 00021400 */ sll $v0, $v0, 0x10 +/* A1803C 80241E1C 1C400006 */ bgtz $v0, .L80241E38 +/* A18040 80241E20 00000000 */ nop +.L80241E24: +/* A18044 80241E24 8482008C */ lh $v0, 0x8c($a0) +/* A18048 80241E28 14400003 */ bnez $v0, .L80241E38 +/* A1804C 80241E2C 2402000E */ addiu $v0, $zero, 0xe +/* A18050 80241E30 A480008E */ sh $zero, 0x8e($a0) +/* A18054 80241E34 AE020070 */ sw $v0, 0x70($s0) +.L80241E38: +/* A18058 80241E38 8FBF0014 */ lw $ra, 0x14($sp) +/* A1805C 80241E3C 8FB00010 */ lw $s0, 0x10($sp) +/* A18060 80241E40 03E00008 */ jr $ra +/* A18064 80241E44 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80241E48.s b/asm/nonmatchings/world/area_hos/hos_02/func_80241E48.s new file mode 100644 index 0000000000..0402ea3bef --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80241E48.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E48 +/* A18068 80241E48 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A1806C 80241E4C AFB20030 */ sw $s2, 0x30($sp) +/* A18070 80241E50 0080902D */ daddu $s2, $a0, $zero +/* A18074 80241E54 AFBF0038 */ sw $ra, 0x38($sp) +/* A18078 80241E58 AFB30034 */ sw $s3, 0x34($sp) +/* A1807C 80241E5C AFB1002C */ sw $s1, 0x2c($sp) +/* A18080 80241E60 AFB00028 */ sw $s0, 0x28($sp) +/* A18084 80241E64 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A18088 80241E68 F7B40040 */ sdc1 $f20, 0x40($sp) +/* A1808C 80241E6C 8E510148 */ lw $s1, 0x148($s2) +/* A18090 80241E70 86240008 */ lh $a0, 8($s1) +/* A18094 80241E74 0C00EABB */ jal get_npc_unsafe +/* A18098 80241E78 00A0982D */ daddu $s3, $a1, $zero +/* A1809C 80241E7C 0040802D */ daddu $s0, $v0, $zero +/* A180A0 80241E80 0200202D */ daddu $a0, $s0, $zero +/* A180A4 80241E84 C6220088 */ lwc1 $f2, 0x88($s1) +/* A180A8 80241E88 468010A0 */ cvt.s.w $f2, $f2 +/* A180AC 80241E8C 460010A1 */ cvt.d.s $f2, $f2 +/* A180B0 80241E90 C604001C */ lwc1 $f4, 0x1c($s0) +/* A180B4 80241E94 C6000014 */ lwc1 $f0, 0x14($s0) +/* A180B8 80241E98 8E050018 */ lw $a1, 0x18($s0) +/* A180BC 80241E9C 46002100 */ add.s $f4, $f4, $f0 +/* A180C0 80241EA0 8E06000C */ lw $a2, 0xc($s0) +/* A180C4 80241EA4 C6200078 */ lwc1 $f0, 0x78($s1) +/* A180C8 80241EA8 46800020 */ cvt.s.w $f0, $f0 +/* A180CC 80241EAC E604001C */ swc1 $f4, 0x1c($s0) +/* A180D0 80241EB0 3C014059 */ lui $at, 0x4059 +/* A180D4 80241EB4 44812800 */ mtc1 $at, $f5 +/* A180D8 80241EB8 44802000 */ mtc1 $zero, $f4 +/* A180DC 80241EBC 46000021 */ cvt.d.s $f0, $f0 +/* A180E0 80241EC0 46240003 */ div.d $f0, $f0, $f4 +/* A180E4 80241EC4 46200520 */ cvt.s.d $f20, $f0 +/* A180E8 80241EC8 46241083 */ div.d $f2, $f2, $f4 +/* A180EC 80241ECC 0C00EA95 */ jal npc_move_heading +/* A180F0 80241ED0 462015A0 */ cvt.s.d $f22, $f2 +/* A180F4 80241ED4 C604001C */ lwc1 $f4, 0x1c($s0) +/* A180F8 80241ED8 44801000 */ mtc1 $zero, $f2 +/* A180FC 80241EDC 44801800 */ mtc1 $zero, $f3 +/* A18100 80241EE0 46002021 */ cvt.d.s $f0, $f4 +/* A18104 80241EE4 4620103E */ c.le.d $f2, $f0 +/* A18108 80241EE8 00000000 */ nop +/* A1810C 80241EEC 45000030 */ bc1f .L80241FB0 +/* A18110 80241EF0 00000000 */ nop +/* A18114 80241EF4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A18118 80241EF8 46040000 */ add.s $f0, $f0, $f4 +/* A1811C 80241EFC E600003C */ swc1 $f0, 0x3c($s0) +/* A18120 80241F00 8E2200CC */ lw $v0, 0xcc($s1) +/* A18124 80241F04 8C420024 */ lw $v0, 0x24($v0) +/* A18128 80241F08 AE020028 */ sw $v0, 0x28($s0) +/* A1812C 80241F0C A2200007 */ sb $zero, 7($s1) +/* A18130 80241F10 8E020000 */ lw $v0, ($s0) +/* A18134 80241F14 30420008 */ andi $v0, $v0, 8 +/* A18138 80241F18 14400011 */ bnez $v0, .L80241F60 +/* A1813C 80241F1C 0000102D */ daddu $v0, $zero, $zero +/* A18140 80241F20 27A50018 */ addiu $a1, $sp, 0x18 +/* A18144 80241F24 27A6001C */ addiu $a2, $sp, 0x1c +/* A18148 80241F28 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1814C 80241F2C C602003C */ lwc1 $f2, 0x3c($s0) +/* A18150 80241F30 C6040040 */ lwc1 $f4, 0x40($s0) +/* A18154 80241F34 3C01447A */ lui $at, 0x447a +/* A18158 80241F38 44813000 */ mtc1 $at, $f6 +/* A1815C 80241F3C 27A20024 */ addiu $v0, $sp, 0x24 +/* A18160 80241F40 E7A00018 */ swc1 $f0, 0x18($sp) +/* A18164 80241F44 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A18168 80241F48 E7A40020 */ swc1 $f4, 0x20($sp) +/* A1816C 80241F4C E7A60024 */ swc1 $f6, 0x24($sp) +/* A18170 80241F50 AFA20010 */ sw $v0, 0x10($sp) +/* A18174 80241F54 8E040080 */ lw $a0, 0x80($s0) +/* A18178 80241F58 0C0372DF */ jal func_800DCB7C +/* A1817C 80241F5C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241F60: +/* A18180 80241F60 1040000B */ beqz $v0, .L80241F90 +/* A18184 80241F64 00000000 */ nop +/* A18188 80241F68 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A1818C 80241F6C 46140080 */ add.s $f2, $f0, $f20 +/* A18190 80241F70 C600003C */ lwc1 $f0, 0x3c($s0) +/* A18194 80241F74 4600103E */ c.le.s $f2, $f0 +/* A18198 80241F78 00000000 */ nop +/* A1819C 80241F7C 4500008D */ bc1f .L802421B4 +/* A181A0 80241F80 00000000 */ nop +/* A181A4 80241F84 E602003C */ swc1 $f2, 0x3c($s0) +/* A181A8 80241F88 0809086D */ j .L802421B4 +/* A181AC 80241F8C AE400070 */ sw $zero, 0x70($s2) +.L80241F90: +/* A181B0 80241F90 C602003C */ lwc1 $f2, 0x3c($s0) +/* A181B4 80241F94 C6000064 */ lwc1 $f0, 0x64($s0) +/* A181B8 80241F98 4602003E */ c.le.s $f0, $f2 +/* A181BC 80241F9C 00000000 */ nop +/* A181C0 80241FA0 45030084 */ bc1tl .L802421B4 +/* A181C4 80241FA4 AE400070 */ sw $zero, 0x70($s2) +/* A181C8 80241FA8 0809086D */ j .L802421B4 +/* A181CC 80241FAC 00000000 */ nop +.L80241FB0: +/* A181D0 80241FB0 4622003C */ c.lt.d $f0, $f2 +/* A181D4 80241FB4 00000000 */ nop +/* A181D8 80241FB8 4500007E */ bc1f .L802421B4 +/* A181DC 80241FBC 00000000 */ nop +/* A181E0 80241FC0 9602008E */ lhu $v0, 0x8e($s0) +/* A181E4 80241FC4 24420001 */ addiu $v0, $v0, 1 +/* A181E8 80241FC8 A602008E */ sh $v0, 0x8e($s0) +/* A181EC 80241FCC 00021400 */ sll $v0, $v0, 0x10 +/* A181F0 80241FD0 8E630020 */ lw $v1, 0x20($s3) +/* A181F4 80241FD4 00021403 */ sra $v0, $v0, 0x10 +/* A181F8 80241FD8 0043102A */ slt $v0, $v0, $v1 +/* A181FC 80241FDC 14400026 */ bnez $v0, .L80242078 +/* A18200 80241FE0 00000000 */ nop +/* A18204 80241FE4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A18208 80241FE8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A1820C 80241FEC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A18210 80241FF0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A18214 80241FF4 A600008E */ sh $zero, 0x8e($s0) +/* A18218 80241FF8 8C460028 */ lw $a2, 0x28($v0) +/* A1821C 80241FFC 0C00A720 */ jal atan2 +/* A18220 80242000 8C470030 */ lw $a3, 0x30($v0) +/* A18224 80242004 46000506 */ mov.s $f20, $f0 +/* A18228 80242008 C60C000C */ lwc1 $f12, 0xc($s0) +/* A1822C 8024200C 0C00A70A */ jal get_clamped_angle_diff +/* A18230 80242010 4600A386 */ mov.s $f14, $f20 +/* A18234 80242014 46000086 */ mov.s $f2, $f0 +/* A18238 80242018 8E62001C */ lw $v0, 0x1c($s3) +/* A1823C 8024201C 46001005 */ abs.s $f0, $f2 +/* A18240 80242020 44822000 */ mtc1 $v0, $f4 +/* A18244 80242024 00000000 */ nop +/* A18248 80242028 46802120 */ cvt.s.w $f4, $f4 +/* A1824C 8024202C 4600203C */ c.lt.s $f4, $f0 +/* A18250 80242030 00000000 */ nop +/* A18254 80242034 4500000D */ bc1f .L8024206C +/* A18258 80242038 00000000 */ nop +/* A1825C 8024203C 44800000 */ mtc1 $zero, $f0 +/* A18260 80242040 C614000C */ lwc1 $f20, 0xc($s0) +/* A18264 80242044 4600103C */ c.lt.s $f2, $f0 +/* A18268 80242048 00000000 */ nop +/* A1826C 8024204C 45000006 */ bc1f .L80242068 +/* A18270 80242050 00021023 */ negu $v0, $v0 +/* A18274 80242054 44820000 */ mtc1 $v0, $f0 +/* A18278 80242058 00000000 */ nop +/* A1827C 8024205C 46800020 */ cvt.s.w $f0, $f0 +/* A18280 80242060 0809081B */ j .L8024206C +/* A18284 80242064 4600A500 */ add.s $f20, $f20, $f0 +.L80242068: +/* A18288 80242068 4604A500 */ add.s $f20, $f20, $f4 +.L8024206C: +/* A1828C 8024206C 0C00A6C9 */ jal clamp_angle +/* A18290 80242070 4600A306 */ mov.s $f12, $f20 +/* A18294 80242074 E600000C */ swc1 $f0, 0xc($s0) +.L80242078: +/* A18298 80242078 8E020000 */ lw $v0, ($s0) +/* A1829C 8024207C 30420008 */ andi $v0, $v0, 8 +/* A182A0 80242080 1040000A */ beqz $v0, .L802420AC +/* A182A4 80242084 27A50018 */ addiu $a1, $sp, 0x18 +/* A182A8 80242088 C602003C */ lwc1 $f2, 0x3c($s0) +/* A182AC 8024208C C600001C */ lwc1 $f0, 0x1c($s0) +/* A182B0 80242090 46001080 */ add.s $f2, $f2, $f0 +/* A182B4 80242094 4616103C */ c.lt.s $f2, $f22 +/* A182B8 80242098 00000000 */ nop +/* A182BC 8024209C 45020045 */ bc1fl .L802421B4 +/* A182C0 802420A0 E602003C */ swc1 $f2, 0x3c($s0) +/* A182C4 802420A4 0809086C */ j .L802421B0 +/* A182C8 802420A8 E616003C */ swc1 $f22, 0x3c($s0) +.L802420AC: +/* A182CC 802420AC C6000038 */ lwc1 $f0, 0x38($s0) +/* A182D0 802420B0 27A6001C */ addiu $a2, $sp, 0x1c +/* A182D4 802420B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A182D8 802420B8 860200A8 */ lh $v0, 0xa8($s0) +/* A182DC 802420BC C600001C */ lwc1 $f0, 0x1c($s0) +/* A182E0 802420C0 C604003C */ lwc1 $f4, 0x3c($s0) +/* A182E4 802420C4 44821000 */ mtc1 $v0, $f2 +/* A182E8 802420C8 00000000 */ nop +/* A182EC 802420CC 468010A0 */ cvt.s.w $f2, $f2 +/* A182F0 802420D0 46000005 */ abs.s $f0, $f0 +/* A182F4 802420D4 46020000 */ add.s $f0, $f0, $f2 +/* A182F8 802420D8 C6060040 */ lwc1 $f6, 0x40($s0) +/* A182FC 802420DC 27A20024 */ addiu $v0, $sp, 0x24 +/* A18300 802420E0 46022100 */ add.s $f4, $f4, $f2 +/* A18304 802420E4 3C014024 */ lui $at, 0x4024 +/* A18308 802420E8 44811800 */ mtc1 $at, $f3 +/* A1830C 802420EC 44801000 */ mtc1 $zero, $f2 +/* A18310 802420F0 46000021 */ cvt.d.s $f0, $f0 +/* A18314 802420F4 46220000 */ add.d $f0, $f0, $f2 +/* A18318 802420F8 E7A60020 */ swc1 $f6, 0x20($sp) +/* A1831C 802420FC E7A4001C */ swc1 $f4, 0x1c($sp) +/* A18320 80242100 46200020 */ cvt.s.d $f0, $f0 +/* A18324 80242104 E7A00024 */ swc1 $f0, 0x24($sp) +/* A18328 80242108 AFA20010 */ sw $v0, 0x10($sp) +/* A1832C 8024210C 8E040080 */ lw $a0, 0x80($s0) +/* A18330 80242110 0C0372DF */ jal func_800DCB7C +/* A18334 80242114 27A70020 */ addiu $a3, $sp, 0x20 +/* A18338 80242118 10400015 */ beqz $v0, .L80242170 +/* A1833C 8024211C 00000000 */ nop +/* A18340 80242120 860200A8 */ lh $v0, 0xa8($s0) +/* A18344 80242124 C604001C */ lwc1 $f4, 0x1c($s0) +/* A18348 80242128 44820000 */ mtc1 $v0, $f0 +/* A1834C 8024212C 00000000 */ nop +/* A18350 80242130 46800020 */ cvt.s.w $f0, $f0 +/* A18354 80242134 46002085 */ abs.s $f2, $f4 +/* A18358 80242138 46020000 */ add.s $f0, $f0, $f2 +/* A1835C 8024213C C7A20024 */ lwc1 $f2, 0x24($sp) +/* A18360 80242140 4600103E */ c.le.s $f2, $f0 +/* A18364 80242144 00000000 */ nop +/* A18368 80242148 45000005 */ bc1f .L80242160 +/* A1836C 8024214C 00000000 */ nop +/* A18370 80242150 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A18374 80242154 AE00001C */ sw $zero, 0x1c($s0) +/* A18378 80242158 0809086D */ j .L802421B4 +/* A1837C 8024215C E600003C */ swc1 $f0, 0x3c($s0) +.L80242160: +/* A18380 80242160 C600003C */ lwc1 $f0, 0x3c($s0) +/* A18384 80242164 46040000 */ add.s $f0, $f0, $f4 +/* A18388 80242168 0809086D */ j .L802421B4 +/* A1838C 8024216C E600003C */ swc1 $f0, 0x3c($s0) +.L80242170: +/* A18390 80242170 C606003C */ lwc1 $f6, 0x3c($s0) +/* A18394 80242174 860200A8 */ lh $v0, 0xa8($s0) +/* A18398 80242178 46163081 */ sub.s $f2, $f6, $f22 +/* A1839C 8024217C 44820000 */ mtc1 $v0, $f0 +/* A183A0 80242180 00000000 */ nop +/* A183A4 80242184 46800020 */ cvt.s.w $f0, $f0 +/* A183A8 80242188 46001080 */ add.s $f2, $f2, $f0 +/* A183AC 8024218C C604001C */ lwc1 $f4, 0x1c($s0) +/* A183B0 80242190 46002005 */ abs.s $f0, $f4 +/* A183B4 80242194 4602003C */ c.lt.s $f0, $f2 +/* A183B8 80242198 00000000 */ nop +/* A183BC 8024219C 45020005 */ bc1fl .L802421B4 +/* A183C0 802421A0 AE00001C */ sw $zero, 0x1c($s0) +/* A183C4 802421A4 46043000 */ add.s $f0, $f6, $f4 +/* A183C8 802421A8 0809086D */ j .L802421B4 +/* A183CC 802421AC E600003C */ swc1 $f0, 0x3c($s0) +.L802421B0: +/* A183D0 802421B0 AE00001C */ sw $zero, 0x1c($s0) +.L802421B4: +/* A183D4 802421B4 8FBF0038 */ lw $ra, 0x38($sp) +/* A183D8 802421B8 8FB30034 */ lw $s3, 0x34($sp) +/* A183DC 802421BC 8FB20030 */ lw $s2, 0x30($sp) +/* A183E0 802421C0 8FB1002C */ lw $s1, 0x2c($sp) +/* A183E4 802421C4 8FB00028 */ lw $s0, 0x28($sp) +/* A183E8 802421C8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A183EC 802421CC D7B40040 */ ldc1 $f20, 0x40($sp) +/* A183F0 802421D0 03E00008 */ jr $ra +/* A183F4 802421D4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802421D8.s b/asm/nonmatchings/world/area_hos/hos_02/func_802421D8.s new file mode 100644 index 0000000000..10edc1e6ac --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802421D8.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421D8 +/* A183F8 802421D8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A183FC 802421DC AFB00028 */ sw $s0, 0x28($sp) +/* A18400 802421E0 00A0802D */ daddu $s0, $a1, $zero +/* A18404 802421E4 AFB1002C */ sw $s1, 0x2c($sp) +/* A18408 802421E8 00C0882D */ daddu $s1, $a2, $zero +/* A1840C 802421EC AFBF0034 */ sw $ra, 0x34($sp) +/* A18410 802421F0 AFB20030 */ sw $s2, 0x30($sp) +/* A18414 802421F4 AE200070 */ sw $zero, 0x70($s1) +/* A18418 802421F8 8C830000 */ lw $v1, ($a0) +/* A1841C 802421FC 2402FDFF */ addiu $v0, $zero, -0x201 +/* A18420 80242200 A480008E */ sh $zero, 0x8e($a0) +/* A18424 80242204 00621824 */ and $v1, $v1, $v0 +/* A18428 80242208 34650800 */ ori $a1, $v1, 0x800 +/* A1842C 8024220C AC850000 */ sw $a1, ($a0) +/* A18430 80242210 8E0200D0 */ lw $v0, 0xd0($s0) +/* A18434 80242214 8C420034 */ lw $v0, 0x34($v0) +/* A18438 80242218 10400003 */ beqz $v0, .L80242228 +/* A1843C 8024221C 00E0902D */ daddu $s2, $a3, $zero +/* A18440 80242220 0809088C */ j .L80242230 +/* A18444 80242224 34620808 */ ori $v0, $v1, 0x808 +.L80242228: +/* A18448 80242228 2402FFF7 */ addiu $v0, $zero, -9 +/* A1844C 8024222C 00A21024 */ and $v0, $a1, $v0 +.L80242230: +/* A18450 80242230 AC820000 */ sw $v0, ($a0) +/* A18454 80242234 27A20024 */ addiu $v0, $sp, 0x24 +/* A18458 80242238 27A50018 */ addiu $a1, $sp, 0x18 +/* A1845C 8024223C C4800038 */ lwc1 $f0, 0x38($a0) +/* A18460 80242240 C482003C */ lwc1 $f2, 0x3c($a0) +/* A18464 80242244 C4840040 */ lwc1 $f4, 0x40($a0) +/* A18468 80242248 3C01447A */ lui $at, 0x447a +/* A1846C 8024224C 44813000 */ mtc1 $at, $f6 +/* A18470 80242250 27A6001C */ addiu $a2, $sp, 0x1c +/* A18474 80242254 E7A00018 */ swc1 $f0, 0x18($sp) +/* A18478 80242258 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A1847C 8024225C E7A40020 */ swc1 $f4, 0x20($sp) +/* A18480 80242260 E7A60024 */ swc1 $f6, 0x24($sp) +/* A18484 80242264 AFA20010 */ sw $v0, 0x10($sp) +/* A18488 80242268 8C840080 */ lw $a0, 0x80($a0) +/* A1848C 8024226C 0C0372DF */ jal func_800DCB7C +/* A18490 80242270 27A70020 */ addiu $a3, $sp, 0x20 +/* A18494 80242274 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A18498 80242278 3C014059 */ lui $at, 0x4059 +/* A1849C 8024227C 44812800 */ mtc1 $at, $f5 +/* A184A0 80242280 44802000 */ mtc1 $zero, $f4 +/* A184A4 80242284 460010A1 */ cvt.d.s $f2, $f2 +/* A184A8 80242288 46241082 */ mul.d $f2, $f2, $f4 +/* A184AC 8024228C 00000000 */ nop +/* A184B0 80242290 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A184B4 80242294 46000021 */ cvt.d.s $f0, $f0 +/* A184B8 80242298 46240002 */ mul.d $f0, $f0, $f4 +/* A184BC 8024229C 00000000 */ nop +/* A184C0 802422A0 3C013FE0 */ lui $at, 0x3fe0 +/* A184C4 802422A4 44812800 */ mtc1 $at, $f5 +/* A184C8 802422A8 44802000 */ mtc1 $zero, $f4 +/* A184CC 802422AC 00000000 */ nop +/* A184D0 802422B0 46241080 */ add.d $f2, $f2, $f4 +/* A184D4 802422B4 AE000074 */ sw $zero, 0x74($s0) +/* A184D8 802422B8 46240000 */ add.d $f0, $f0, $f4 +/* A184DC 802422BC AE000090 */ sw $zero, 0x90($s0) +/* A184E0 802422C0 4620120D */ trunc.w.d $f8, $f2 +/* A184E4 802422C4 E6080078 */ swc1 $f8, 0x78($s0) +/* A184E8 802422C8 4620020D */ trunc.w.d $f8, $f0 +/* A184EC 802422CC E6080088 */ swc1 $f8, 0x88($s0) +/* A184F0 802422D0 8E420014 */ lw $v0, 0x14($s2) +/* A184F4 802422D4 AE220074 */ sw $v0, 0x74($s1) +/* A184F8 802422D8 8E0200B0 */ lw $v0, 0xb0($s0) +/* A184FC 802422DC 34420010 */ ori $v0, $v0, 0x10 +/* A18500 802422E0 AE0200B0 */ sw $v0, 0xb0($s0) +/* A18504 802422E4 8FBF0034 */ lw $ra, 0x34($sp) +/* A18508 802422E8 8FB20030 */ lw $s2, 0x30($sp) +/* A1850C 802422EC 8FB1002C */ lw $s1, 0x2c($sp) +/* A18510 802422F0 8FB00028 */ lw $s0, 0x28($sp) +/* A18514 802422F4 03E00008 */ jr $ra +/* A18518 802422F8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802422FC_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_802422FC_A16220.s new file mode 100644 index 0000000000..310484b835 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802422FC_A16220.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422FC_A1851C +/* A1851C 802422FC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A18520 80242300 AFB40040 */ sw $s4, 0x40($sp) +/* A18524 80242304 0080A02D */ daddu $s4, $a0, $zero +/* A18528 80242308 AFBF0048 */ sw $ra, 0x48($sp) +/* A1852C 8024230C AFB50044 */ sw $s5, 0x44($sp) +/* A18530 80242310 AFB3003C */ sw $s3, 0x3c($sp) +/* A18534 80242314 AFB20038 */ sw $s2, 0x38($sp) +/* A18538 80242318 AFB10034 */ sw $s1, 0x34($sp) +/* A1853C 8024231C AFB00030 */ sw $s0, 0x30($sp) +/* A18540 80242320 8E920148 */ lw $s2, 0x148($s4) +/* A18544 80242324 86440008 */ lh $a0, 8($s2) +/* A18548 80242328 8E90000C */ lw $s0, 0xc($s4) +/* A1854C 8024232C 0C00EABB */ jal get_npc_unsafe +/* A18550 80242330 00A0882D */ daddu $s1, $a1, $zero +/* A18554 80242334 0280202D */ daddu $a0, $s4, $zero +/* A18558 80242338 8E050000 */ lw $a1, ($s0) +/* A1855C 8024233C 0C0B1EAF */ jal get_variable +/* A18560 80242340 0040A82D */ daddu $s5, $v0, $zero +/* A18564 80242344 AFA00010 */ sw $zero, 0x10($sp) +/* A18568 80242348 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1856C 8024234C 8C630030 */ lw $v1, 0x30($v1) +/* A18570 80242350 AFA30014 */ sw $v1, 0x14($sp) +/* A18574 80242354 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18578 80242358 8C63001C */ lw $v1, 0x1c($v1) +/* A1857C 8024235C AFA30018 */ sw $v1, 0x18($sp) +/* A18580 80242360 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18584 80242364 8C630024 */ lw $v1, 0x24($v1) +/* A18588 80242368 AFA3001C */ sw $v1, 0x1c($sp) +/* A1858C 8024236C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18590 80242370 8C630028 */ lw $v1, 0x28($v1) +/* A18594 80242374 27B30010 */ addiu $s3, $sp, 0x10 +/* A18598 80242378 AFA30020 */ sw $v1, 0x20($sp) +/* A1859C 8024237C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A185A0 80242380 3C0142F0 */ lui $at, 0x42f0 +/* A185A4 80242384 44810000 */ mtc1 $at, $f0 +/* A185A8 80242388 8C63002C */ lw $v1, 0x2c($v1) +/* A185AC 8024238C 0040802D */ daddu $s0, $v0, $zero +/* A185B0 80242390 E7A00028 */ swc1 $f0, 0x28($sp) +/* A185B4 80242394 A7A0002C */ sh $zero, 0x2c($sp) +/* A185B8 80242398 12200006 */ beqz $s1, .L802423B4 +/* A185BC 8024239C AFA30024 */ sw $v1, 0x24($sp) +/* A185C0 802423A0 02A0202D */ daddu $a0, $s5, $zero +/* A185C4 802423A4 0240282D */ daddu $a1, $s2, $zero +/* A185C8 802423A8 0280302D */ daddu $a2, $s4, $zero +/* A185CC 802423AC 0C090876 */ jal func_802421D8 +/* A185D0 802423B0 0200382D */ daddu $a3, $s0, $zero +.L802423B4: +/* A185D4 802423B4 2402FFFE */ addiu $v0, $zero, -2 +/* A185D8 802423B8 A2A200AB */ sb $v0, 0xab($s5) +/* A185DC 802423BC 8E4300B0 */ lw $v1, 0xb0($s2) +/* A185E0 802423C0 30620004 */ andi $v0, $v1, 4 +/* A185E4 802423C4 10400007 */ beqz $v0, .L802423E4 +/* A185E8 802423C8 00000000 */ nop +/* A185EC 802423CC 824200B4 */ lb $v0, 0xb4($s2) +/* A185F0 802423D0 1440003C */ bnez $v0, .L802424C4 +/* A185F4 802423D4 0000102D */ daddu $v0, $zero, $zero +/* A185F8 802423D8 2402FFFB */ addiu $v0, $zero, -5 +/* A185FC 802423DC 00621024 */ and $v0, $v1, $v0 +/* A18600 802423E0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802423E4: +/* A18604 802423E4 8E830070 */ lw $v1, 0x70($s4) +/* A18608 802423E8 2C62000F */ sltiu $v0, $v1, 0xf +/* A1860C 802423EC 10400034 */ beqz $v0, .L802424C0 +/* A18610 802423F0 00031080 */ sll $v0, $v1, 2 +/* A18614 802423F4 3C018024 */ lui $at, 0x8024 +/* A18618 802423F8 00220821 */ addu $at, $at, $v0 +/* A1861C 802423FC 8C224E38 */ lw $v0, 0x4e38($at) +/* A18620 80242400 00400008 */ jr $v0 +/* A18624 80242404 00000000 */ nop +/* A18628 80242408 0280202D */ daddu $a0, $s4, $zero +/* A1862C 8024240C 0200282D */ daddu $a1, $s0, $zero +/* A18630 80242410 0C0903FC */ jal func_80240FF0 +/* A18634 80242414 0260302D */ daddu $a2, $s3, $zero +/* A18638 80242418 0280202D */ daddu $a0, $s4, $zero +/* A1863C 8024241C 0200282D */ daddu $a1, $s0, $zero +/* A18640 80242420 0C090468 */ jal func_802411A0 +/* A18644 80242424 0260302D */ daddu $a2, $s3, $zero +/* A18648 80242428 08090931 */ j .L802424C4 +/* A1864C 8024242C 0000102D */ daddu $v0, $zero, $zero +/* A18650 80242430 0280202D */ daddu $a0, $s4, $zero +/* A18654 80242434 0200282D */ daddu $a1, $s0, $zero +/* A18658 80242438 0C0905F2 */ jal func_802417C8 +/* A1865C 8024243C 0260302D */ daddu $a2, $s3, $zero +/* A18660 80242440 0280202D */ daddu $a0, $s4, $zero +/* A18664 80242444 0200282D */ daddu $a1, $s0, $zero +/* A18668 80242448 0C090622 */ jal func_80241888 +/* A1866C 8024244C 0260302D */ daddu $a2, $s3, $zero +/* A18670 80242450 08090931 */ j .L802424C4 +/* A18674 80242454 0000102D */ daddu $v0, $zero, $zero +/* A18678 80242458 0280202D */ daddu $a0, $s4, $zero +/* A1867C 8024245C 0200282D */ daddu $a1, $s0, $zero +/* A18680 80242460 0C0906F3 */ jal func_80241BCC +/* A18684 80242464 0260302D */ daddu $a2, $s3, $zero +/* A18688 80242468 0280202D */ daddu $a0, $s4, $zero +/* A1868C 8024246C 0200282D */ daddu $a1, $s0, $zero +/* A18690 80242470 0C090711 */ jal func_80241C44 +/* A18694 80242474 0260302D */ daddu $a2, $s3, $zero +/* A18698 80242478 08090931 */ j .L802424C4 +/* A1869C 8024247C 0000102D */ daddu $v0, $zero, $zero +/* A186A0 80242480 0280202D */ daddu $a0, $s4, $zero +/* A186A4 80242484 0200282D */ daddu $a1, $s0, $zero +/* A186A8 80242488 0C09072C */ jal func_80241CB0 +/* A186AC 8024248C 0260302D */ daddu $a2, $s3, $zero +/* A186B0 80242490 08090931 */ j .L802424C4 +/* A186B4 80242494 0000102D */ daddu $v0, $zero, $zero +/* A186B8 80242498 0280202D */ daddu $a0, $s4, $zero +/* A186BC 8024249C 0200282D */ daddu $a1, $s0, $zero +/* A186C0 802424A0 0C090779 */ jal func_80241DE4 +/* A186C4 802424A4 0260302D */ daddu $a2, $s3, $zero +/* A186C8 802424A8 08090931 */ j .L802424C4 +/* A186CC 802424AC 0000102D */ daddu $v0, $zero, $zero +/* A186D0 802424B0 0280202D */ daddu $a0, $s4, $zero +/* A186D4 802424B4 0200282D */ daddu $a1, $s0, $zero +/* A186D8 802424B8 0C090792 */ jal func_80241E48 +/* A186DC 802424BC 0260302D */ daddu $a2, $s3, $zero +.L802424C0: +/* A186E0 802424C0 0000102D */ daddu $v0, $zero, $zero +.L802424C4: +/* A186E4 802424C4 8FBF0048 */ lw $ra, 0x48($sp) +/* A186E8 802424C8 8FB50044 */ lw $s5, 0x44($sp) +/* A186EC 802424CC 8FB40040 */ lw $s4, 0x40($sp) +/* A186F0 802424D0 8FB3003C */ lw $s3, 0x3c($sp) +/* A186F4 802424D4 8FB20038 */ lw $s2, 0x38($sp) +/* A186F8 802424D8 8FB10034 */ lw $s1, 0x34($sp) +/* A186FC 802424DC 8FB00030 */ lw $s0, 0x30($sp) +/* A18700 802424E0 03E00008 */ jr $ra +/* A18704 802424E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802424E8.s b/asm/nonmatchings/world/area_hos/hos_02/func_802424E8.s new file mode 100644 index 0000000000..29212667ab --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802424E8.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424E8 +/* A18708 802424E8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A1870C 802424EC AFB3001C */ sw $s3, 0x1c($sp) +/* A18710 802424F0 0080982D */ daddu $s3, $a0, $zero +/* A18714 802424F4 AFBF0020 */ sw $ra, 0x20($sp) +/* A18718 802424F8 AFB20018 */ sw $s2, 0x18($sp) +/* A1871C 802424FC AFB10014 */ sw $s1, 0x14($sp) +/* A18720 80242500 AFB00010 */ sw $s0, 0x10($sp) +/* A18724 80242504 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A18728 80242508 8E710148 */ lw $s1, 0x148($s3) +/* A1872C 8024250C 86240008 */ lh $a0, 8($s1) +/* A18730 80242510 0C00EABB */ jal get_npc_unsafe +/* A18734 80242514 00A0802D */ daddu $s0, $a1, $zero +/* A18738 80242518 8E040020 */ lw $a0, 0x20($s0) +/* A1873C 8024251C 0040902D */ daddu $s2, $v0, $zero +/* A18740 80242520 00041FC2 */ srl $v1, $a0, 0x1f +/* A18744 80242524 00832021 */ addu $a0, $a0, $v1 +/* A18748 80242528 00042043 */ sra $a0, $a0, 1 +/* A1874C 8024252C 0C00A67F */ jal rand_int +/* A18750 80242530 24840001 */ addiu $a0, $a0, 1 +/* A18754 80242534 8E030020 */ lw $v1, 0x20($s0) +/* A18758 80242538 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A1875C 8024253C 000327C2 */ srl $a0, $v1, 0x1f +/* A18760 80242540 00641821 */ addu $v1, $v1, $a0 +/* A18764 80242544 00031843 */ sra $v1, $v1, 1 +/* A18768 80242548 00621821 */ addu $v1, $v1, $v0 +/* A1876C 8024254C A643008E */ sh $v1, 0x8e($s2) +/* A18770 80242550 8E2200CC */ lw $v0, 0xcc($s1) +/* A18774 80242554 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A18778 80242558 8C42000C */ lw $v0, 0xc($v0) +/* A1877C 8024255C AE420028 */ sw $v0, 0x28($s2) +/* A18780 80242560 C6000018 */ lwc1 $f0, 0x18($s0) +/* A18784 80242564 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A18788 80242568 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1878C 8024256C E6400018 */ swc1 $f0, 0x18($s2) +/* A18790 80242570 8C460028 */ lw $a2, 0x28($v0) +/* A18794 80242574 0C00A720 */ jal atan2 +/* A18798 80242578 8C470030 */ lw $a3, 0x30($v0) +/* A1879C 8024257C 46000506 */ mov.s $f20, $f0 +/* A187A0 80242580 C64C000C */ lwc1 $f12, 0xc($s2) +/* A187A4 80242584 0C00A70A */ jal get_clamped_angle_diff +/* A187A8 80242588 4600A386 */ mov.s $f14, $f20 +/* A187AC 8024258C 46000086 */ mov.s $f2, $f0 +/* A187B0 80242590 8E02001C */ lw $v0, 0x1c($s0) +/* A187B4 80242594 46001005 */ abs.s $f0, $f2 +/* A187B8 80242598 44822000 */ mtc1 $v0, $f4 +/* A187BC 8024259C 00000000 */ nop +/* A187C0 802425A0 46802120 */ cvt.s.w $f4, $f4 +/* A187C4 802425A4 4600203C */ c.lt.s $f4, $f0 +/* A187C8 802425A8 00000000 */ nop +/* A187CC 802425AC 4500000D */ bc1f .L802425E4 +/* A187D0 802425B0 00000000 */ nop +/* A187D4 802425B4 44800000 */ mtc1 $zero, $f0 +/* A187D8 802425B8 C654000C */ lwc1 $f20, 0xc($s2) +/* A187DC 802425BC 4600103C */ c.lt.s $f2, $f0 +/* A187E0 802425C0 00000000 */ nop +/* A187E4 802425C4 45000006 */ bc1f .L802425E0 +/* A187E8 802425C8 00021023 */ negu $v0, $v0 +/* A187EC 802425CC 44820000 */ mtc1 $v0, $f0 +/* A187F0 802425D0 00000000 */ nop +/* A187F4 802425D4 46800020 */ cvt.s.w $f0, $f0 +/* A187F8 802425D8 08090979 */ j .L802425E4 +/* A187FC 802425DC 4600A500 */ add.s $f20, $f20, $f0 +.L802425E0: +/* A18800 802425E0 4604A500 */ add.s $f20, $f20, $f4 +.L802425E4: +/* A18804 802425E4 0C00A6C9 */ jal clamp_angle +/* A18808 802425E8 4600A306 */ mov.s $f12, $f20 +/* A1880C 802425EC 2402000D */ addiu $v0, $zero, 0xd +/* A18810 802425F0 E640000C */ swc1 $f0, 0xc($s2) +/* A18814 802425F4 AE620070 */ sw $v0, 0x70($s3) +/* A18818 802425F8 8FBF0020 */ lw $ra, 0x20($sp) +/* A1881C 802425FC 8FB3001C */ lw $s3, 0x1c($sp) +/* A18820 80242600 8FB20018 */ lw $s2, 0x18($sp) +/* A18824 80242604 8FB10014 */ lw $s1, 0x14($sp) +/* A18828 80242608 8FB00010 */ lw $s0, 0x10($sp) +/* A1882C 8024260C D7B40028 */ ldc1 $f20, 0x28($sp) +/* A18830 80242610 03E00008 */ jr $ra +/* A18834 80242614 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80242618.s b/asm/nonmatchings/world/area_hos/hos_02/func_80242618.s new file mode 100644 index 0000000000..59b646877f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80242618.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242618 +/* A18838 80242618 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A1883C 8024261C AFB3004C */ sw $s3, 0x4c($sp) +/* A18840 80242620 0080982D */ daddu $s3, $a0, $zero +/* A18844 80242624 AFBF0050 */ sw $ra, 0x50($sp) +/* A18848 80242628 AFB20048 */ sw $s2, 0x48($sp) +/* A1884C 8024262C AFB10044 */ sw $s1, 0x44($sp) +/* A18850 80242630 AFB00040 */ sw $s0, 0x40($sp) +/* A18854 80242634 8E720148 */ lw $s2, 0x148($s3) +/* A18858 80242638 00A0882D */ daddu $s1, $a1, $zero +/* A1885C 8024263C 86440008 */ lh $a0, 8($s2) +/* A18860 80242640 0C00EABB */ jal get_npc_unsafe +/* A18864 80242644 00C0802D */ daddu $s0, $a2, $zero +/* A18868 80242648 0200202D */ daddu $a0, $s0, $zero +/* A1886C 8024264C 0240282D */ daddu $a1, $s2, $zero +/* A18870 80242650 24030001 */ addiu $v1, $zero, 1 +/* A18874 80242654 AFA30010 */ sw $v1, 0x10($sp) +/* A18878 80242658 8E260024 */ lw $a2, 0x24($s1) +/* A1887C 8024265C 8E270028 */ lw $a3, 0x28($s1) +/* A18880 80242660 0C01242D */ jal func_800490B4 +/* A18884 80242664 0040802D */ daddu $s0, $v0, $zero +/* A18888 80242668 14400020 */ bnez $v0, .L802426EC +/* A1888C 8024266C 24040002 */ addiu $a0, $zero, 2 +/* A18890 80242670 0200282D */ daddu $a1, $s0, $zero +/* A18894 80242674 0000302D */ daddu $a2, $zero, $zero +/* A18898 80242678 860300A8 */ lh $v1, 0xa8($s0) +/* A1889C 8024267C 3C013F80 */ lui $at, 0x3f80 +/* A188A0 80242680 44810000 */ mtc1 $at, $f0 +/* A188A4 80242684 3C014000 */ lui $at, 0x4000 +/* A188A8 80242688 44811000 */ mtc1 $at, $f2 +/* A188AC 8024268C 3C01C1A0 */ lui $at, 0xc1a0 +/* A188B0 80242690 44812000 */ mtc1 $at, $f4 +/* A188B4 80242694 2402000F */ addiu $v0, $zero, 0xf +/* A188B8 80242698 AFA2001C */ sw $v0, 0x1c($sp) +/* A188BC 8024269C 44834000 */ mtc1 $v1, $f8 +/* A188C0 802426A0 00000000 */ nop +/* A188C4 802426A4 46804220 */ cvt.s.w $f8, $f8 +/* A188C8 802426A8 44074000 */ mfc1 $a3, $f8 +/* A188CC 802426AC 27A20028 */ addiu $v0, $sp, 0x28 +/* A188D0 802426B0 AFA20020 */ sw $v0, 0x20($sp) +/* A188D4 802426B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* A188D8 802426B8 E7A20014 */ swc1 $f2, 0x14($sp) +/* A188DC 802426BC 0C01BFA4 */ jal fx_emote +/* A188E0 802426C0 E7A40018 */ swc1 $f4, 0x18($sp) +/* A188E4 802426C4 8E4200CC */ lw $v0, 0xcc($s2) +/* A188E8 802426C8 8C430000 */ lw $v1, ($v0) +/* A188EC 802426CC 2402001E */ addiu $v0, $zero, 0x1e +/* A188F0 802426D0 A602008E */ sh $v0, 0x8e($s0) +/* A188F4 802426D4 24020014 */ addiu $v0, $zero, 0x14 +/* A188F8 802426D8 AE030028 */ sw $v1, 0x28($s0) +/* A188FC 802426DC AE620070 */ sw $v0, 0x70($s3) +/* A18900 802426E0 2402001E */ addiu $v0, $zero, 0x1e +/* A18904 802426E4 08090A1F */ j .L8024287C +/* A18908 802426E8 AE420090 */ sw $v0, 0x90($s2) +.L802426EC: +/* A1890C 802426EC 8E050018 */ lw $a1, 0x18($s0) +/* A18910 802426F0 8E06000C */ lw $a2, 0xc($s0) +/* A18914 802426F4 0C00EA95 */ jal npc_move_heading +/* A18918 802426F8 0200202D */ daddu $a0, $s0, $zero +/* A1891C 802426FC 8E020000 */ lw $v0, ($s0) +/* A18920 80242700 30420008 */ andi $v0, $v0, 8 +/* A18924 80242704 14400028 */ bnez $v0, .L802427A8 +/* A18928 80242708 0000882D */ daddu $s1, $zero, $zero +/* A1892C 8024270C 27A5002C */ addiu $a1, $sp, 0x2c +/* A18930 80242710 27A60030 */ addiu $a2, $sp, 0x30 +/* A18934 80242714 860200A8 */ lh $v0, 0xa8($s0) +/* A18938 80242718 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1893C 8024271C 44821000 */ mtc1 $v0, $f2 +/* A18940 80242720 00000000 */ nop +/* A18944 80242724 468010A0 */ cvt.s.w $f2, $f2 +/* A18948 80242728 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A1894C 8024272C 860200A8 */ lh $v0, 0xa8($s0) +/* A18950 80242730 C604003C */ lwc1 $f4, 0x3c($s0) +/* A18954 80242734 C6060040 */ lwc1 $f6, 0x40($s0) +/* A18958 80242738 44820000 */ mtc1 $v0, $f0 +/* A1895C 8024273C 00000000 */ nop +/* A18960 80242740 46800021 */ cvt.d.w $f0, $f0 +/* A18964 80242744 46022100 */ add.s $f4, $f4, $f2 +/* A18968 80242748 3C014008 */ lui $at, 0x4008 +/* A1896C 8024274C 44811800 */ mtc1 $at, $f3 +/* A18970 80242750 44801000 */ mtc1 $zero, $f2 +/* A18974 80242754 27A20038 */ addiu $v0, $sp, 0x38 +/* A18978 80242758 46220000 */ add.d $f0, $f0, $f2 +/* A1897C 8024275C E7A60034 */ swc1 $f6, 0x34($sp) +/* A18980 80242760 E7A40030 */ swc1 $f4, 0x30($sp) +/* A18984 80242764 46200020 */ cvt.s.d $f0, $f0 +/* A18988 80242768 E7A00038 */ swc1 $f0, 0x38($sp) +/* A1898C 8024276C AFA20010 */ sw $v0, 0x10($sp) +/* A18990 80242770 8E040080 */ lw $a0, 0x80($s0) +/* A18994 80242774 0C0372DF */ jal func_800DCB7C +/* A18998 80242778 27A70034 */ addiu $a3, $sp, 0x34 +/* A1899C 8024277C 1040000A */ beqz $v0, .L802427A8 +/* A189A0 80242780 00000000 */ nop +/* A189A4 80242784 860200A8 */ lh $v0, 0xa8($s0) +/* A189A8 80242788 C7A20038 */ lwc1 $f2, 0x38($sp) +/* A189AC 8024278C 44820000 */ mtc1 $v0, $f0 +/* A189B0 80242790 00000000 */ nop +/* A189B4 80242794 46800020 */ cvt.s.w $f0, $f0 +/* A189B8 80242798 4600103C */ c.lt.s $f2, $f0 +/* A189BC 8024279C 00000000 */ nop +/* A189C0 802427A0 45030001 */ bc1tl .L802427A8 +/* A189C4 802427A4 24110001 */ addiu $s1, $zero, 1 +.L802427A8: +/* A189C8 802427A8 12200008 */ beqz $s1, .L802427CC +/* A189CC 802427AC 00000000 */ nop +/* A189D0 802427B0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* A189D4 802427B4 3C013FF0 */ lui $at, 0x3ff0 +/* A189D8 802427B8 44811800 */ mtc1 $at, $f3 +/* A189DC 802427BC 44801000 */ mtc1 $zero, $f2 +/* A189E0 802427C0 46000021 */ cvt.d.s $f0, $f0 +/* A189E4 802427C4 08090A15 */ j .L80242854 +/* A189E8 802427C8 46220000 */ add.d $f0, $f0, $f2 +.L802427CC: +/* A189EC 802427CC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A189F0 802427D0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A189F4 802427D4 3C014018 */ lui $at, 0x4018 +/* A189F8 802427D8 44811800 */ mtc1 $at, $f3 +/* A189FC 802427DC 44801000 */ mtc1 $zero, $f2 +/* A18A00 802427E0 C440002C */ lwc1 $f0, 0x2c($v0) +/* A18A04 802427E4 C604003C */ lwc1 $f4, 0x3c($s0) +/* A18A08 802427E8 46000021 */ cvt.d.s $f0, $f0 +/* A18A0C 802427EC 46220000 */ add.d $f0, $f0, $f2 +/* A18A10 802427F0 46002121 */ cvt.d.s $f4, $f4 +/* A18A14 802427F4 46202001 */ sub.d $f0, $f4, $f0 +/* A18A18 802427F8 462001A0 */ cvt.s.d $f6, $f0 +/* A18A1C 802427FC 44800000 */ mtc1 $zero, $f0 +/* A18A20 80242800 44800800 */ mtc1 $zero, $f1 +/* A18A24 80242804 460030A1 */ cvt.d.s $f2, $f6 +/* A18A28 80242808 4620103C */ c.lt.d $f2, $f0 +/* A18A2C 8024280C 00000000 */ nop +/* A18A30 80242810 45010009 */ bc1t .L80242838 +/* A18A34 80242814 00000000 */ nop +/* A18A38 80242818 3C014010 */ lui $at, 0x4010 +/* A18A3C 8024281C 44810800 */ mtc1 $at, $f1 +/* A18A40 80242820 44800000 */ mtc1 $zero, $f0 +/* A18A44 80242824 00000000 */ nop +/* A18A48 80242828 4622003C */ c.lt.d $f0, $f2 +/* A18A4C 8024282C 00000000 */ nop +/* A18A50 80242830 4500000A */ bc1f .L8024285C +/* A18A54 80242834 00000000 */ nop +.L80242838: +/* A18A58 80242838 3C018024 */ lui $at, 0x8024 +/* A18A5C 8024283C D4224E78 */ ldc1 $f2, 0x4e78($at) +/* A18A60 80242840 46003187 */ neg.s $f6, $f6 +/* A18A64 80242844 46003021 */ cvt.d.s $f0, $f6 +/* A18A68 80242848 46220002 */ mul.d $f0, $f0, $f2 +/* A18A6C 8024284C 00000000 */ nop +/* A18A70 80242850 46202000 */ add.d $f0, $f4, $f0 +.L80242854: +/* A18A74 80242854 46200020 */ cvt.s.d $f0, $f0 +/* A18A78 80242858 E600003C */ swc1 $f0, 0x3c($s0) +.L8024285C: +/* A18A7C 8024285C 8602008E */ lh $v0, 0x8e($s0) +/* A18A80 80242860 9603008E */ lhu $v1, 0x8e($s0) +/* A18A84 80242864 18400003 */ blez $v0, .L80242874 +/* A18A88 80242868 2462FFFF */ addiu $v0, $v1, -1 +/* A18A8C 8024286C 08090A1F */ j .L8024287C +/* A18A90 80242870 A602008E */ sh $v0, 0x8e($s0) +.L80242874: +/* A18A94 80242874 2402000C */ addiu $v0, $zero, 0xc +/* A18A98 80242878 AE620070 */ sw $v0, 0x70($s3) +.L8024287C: +/* A18A9C 8024287C 8FBF0050 */ lw $ra, 0x50($sp) +/* A18AA0 80242880 8FB3004C */ lw $s3, 0x4c($sp) +/* A18AA4 80242884 8FB20048 */ lw $s2, 0x48($sp) +/* A18AA8 80242888 8FB10044 */ lw $s1, 0x44($sp) +/* A18AAC 8024288C 8FB00040 */ lw $s0, 0x40($sp) +/* A18AB0 80242890 03E00008 */ jr $ra +/* A18AB4 80242894 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_80242898_A16220.s b/asm/nonmatchings/world/area_hos/hos_02/func_80242898_A16220.s new file mode 100644 index 0000000000..cab346ae19 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_80242898_A16220.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242898_A18AB8 +/* A18AB8 80242898 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A18ABC 8024289C AFB10014 */ sw $s1, 0x14($sp) +/* A18AC0 802428A0 0080882D */ daddu $s1, $a0, $zero +/* A18AC4 802428A4 AFBF0018 */ sw $ra, 0x18($sp) +/* A18AC8 802428A8 AFB00010 */ sw $s0, 0x10($sp) +/* A18ACC 802428AC 8E300148 */ lw $s0, 0x148($s1) +/* A18AD0 802428B0 0C00EABB */ jal get_npc_unsafe +/* A18AD4 802428B4 86040008 */ lh $a0, 8($s0) +/* A18AD8 802428B8 0040182D */ daddu $v1, $v0, $zero +/* A18ADC 802428BC 9462008E */ lhu $v0, 0x8e($v1) +/* A18AE0 802428C0 2442FFFF */ addiu $v0, $v0, -1 +/* A18AE4 802428C4 A462008E */ sh $v0, 0x8e($v1) +/* A18AE8 802428C8 00021400 */ sll $v0, $v0, 0x10 +/* A18AEC 802428CC 1C400004 */ bgtz $v0, .L802428E0 +/* A18AF0 802428D0 00000000 */ nop +/* A18AF4 802428D4 AE000074 */ sw $zero, 0x74($s0) +/* A18AF8 802428D8 A460008E */ sh $zero, 0x8e($v1) +/* A18AFC 802428DC AE200070 */ sw $zero, 0x70($s1) +.L802428E0: +/* A18B00 802428E0 8FBF0018 */ lw $ra, 0x18($sp) +/* A18B04 802428E4 8FB10014 */ lw $s1, 0x14($sp) +/* A18B08 802428E8 8FB00010 */ lw $s0, 0x10($sp) +/* A18B0C 802428EC 03E00008 */ jr $ra +/* A18B10 802428F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_02/func_802428F4.s b/asm/nonmatchings/world/area_hos/hos_02/func_802428F4.s new file mode 100644 index 0000000000..1c098fa6f1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_02/func_802428F4.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428F4 +/* A18B14 802428F4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A18B18 802428F8 AFB40040 */ sw $s4, 0x40($sp) +/* A18B1C 802428FC 0080A02D */ daddu $s4, $a0, $zero +/* A18B20 80242900 AFBF0048 */ sw $ra, 0x48($sp) +/* A18B24 80242904 AFB50044 */ sw $s5, 0x44($sp) +/* A18B28 80242908 AFB3003C */ sw $s3, 0x3c($sp) +/* A18B2C 8024290C AFB20038 */ sw $s2, 0x38($sp) +/* A18B30 80242910 AFB10034 */ sw $s1, 0x34($sp) +/* A18B34 80242914 AFB00030 */ sw $s0, 0x30($sp) +/* A18B38 80242918 8E920148 */ lw $s2, 0x148($s4) +/* A18B3C 8024291C 86440008 */ lh $a0, 8($s2) +/* A18B40 80242920 8E90000C */ lw $s0, 0xc($s4) +/* A18B44 80242924 0C00EABB */ jal get_npc_unsafe +/* A18B48 80242928 00A0882D */ daddu $s1, $a1, $zero +/* A18B4C 8024292C 0280202D */ daddu $a0, $s4, $zero +/* A18B50 80242930 8E050000 */ lw $a1, ($s0) +/* A18B54 80242934 0C0B1EAF */ jal get_variable +/* A18B58 80242938 0040A82D */ daddu $s5, $v0, $zero +/* A18B5C 8024293C AFA00010 */ sw $zero, 0x10($sp) +/* A18B60 80242940 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18B64 80242944 8C630030 */ lw $v1, 0x30($v1) +/* A18B68 80242948 AFA30014 */ sw $v1, 0x14($sp) +/* A18B6C 8024294C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18B70 80242950 8C63001C */ lw $v1, 0x1c($v1) +/* A18B74 80242954 AFA30018 */ sw $v1, 0x18($sp) +/* A18B78 80242958 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18B7C 8024295C 8C630024 */ lw $v1, 0x24($v1) +/* A18B80 80242960 AFA3001C */ sw $v1, 0x1c($sp) +/* A18B84 80242964 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18B88 80242968 8C630028 */ lw $v1, 0x28($v1) +/* A18B8C 8024296C 27B30010 */ addiu $s3, $sp, 0x10 +/* A18B90 80242970 AFA30020 */ sw $v1, 0x20($sp) +/* A18B94 80242974 8E4300D0 */ lw $v1, 0xd0($s2) +/* A18B98 80242978 3C0142F0 */ lui $at, 0x42f0 +/* A18B9C 8024297C 44810000 */ mtc1 $at, $f0 +/* A18BA0 80242980 8C63002C */ lw $v1, 0x2c($v1) +/* A18BA4 80242984 0040802D */ daddu $s0, $v0, $zero +/* A18BA8 80242988 E7A00028 */ swc1 $f0, 0x28($sp) +/* A18BAC 8024298C A7A0002C */ sh $zero, 0x2c($sp) +/* A18BB0 80242990 12200007 */ beqz $s1, .L802429B0 +/* A18BB4 80242994 AFA30024 */ sw $v1, 0x24($sp) +/* A18BB8 80242998 02A0202D */ daddu $a0, $s5, $zero +/* A18BBC 8024299C 0240282D */ daddu $a1, $s2, $zero +/* A18BC0 802429A0 0280302D */ daddu $a2, $s4, $zero +/* A18BC4 802429A4 0C090876 */ jal func_802421D8 +/* A18BC8 802429A8 0200382D */ daddu $a3, $s0, $zero +/* A18BCC 802429AC AE800070 */ sw $zero, 0x70($s4) +.L802429B0: +/* A18BD0 802429B0 2402FFFE */ addiu $v0, $zero, -2 +/* A18BD4 802429B4 A2A200AB */ sb $v0, 0xab($s5) +/* A18BD8 802429B8 8E4300B0 */ lw $v1, 0xb0($s2) +/* A18BDC 802429BC 30620004 */ andi $v0, $v1, 4 +/* A18BE0 802429C0 10400007 */ beqz $v0, .L802429E0 +/* A18BE4 802429C4 00000000 */ nop +/* A18BE8 802429C8 824200B4 */ lb $v0, 0xb4($s2) +/* A18BEC 802429CC 1440003A */ bnez $v0, .L80242AB8 +/* A18BF0 802429D0 0000102D */ daddu $v0, $zero, $zero +/* A18BF4 802429D4 2402FFFB */ addiu $v0, $zero, -5 +/* A18BF8 802429D8 00621024 */ and $v0, $v1, $v0 +/* A18BFC 802429DC AE4200B0 */ sw $v0, 0xb0($s2) +.L802429E0: +/* A18C00 802429E0 8E830070 */ lw $v1, 0x70($s4) +/* A18C04 802429E4 2C620015 */ sltiu $v0, $v1, 0x15 +/* A18C08 802429E8 10400032 */ beqz $v0, .L80242AB4 +/* A18C0C 802429EC 00031080 */ sll $v0, $v1, 2 +/* A18C10 802429F0 3C018024 */ lui $at, 0x8024 +/* A18C14 802429F4 00220821 */ addu $at, $at, $v0 +/* A18C18 802429F8 8C224E80 */ lw $v0, 0x4e80($at) +/* A18C1C 802429FC 00400008 */ jr $v0 +/* A18C20 80242A00 00000000 */ nop +/* A18C24 80242A04 0280202D */ daddu $a0, $s4, $zero +/* A18C28 80242A08 0200282D */ daddu $a1, $s0, $zero +/* A18C2C 80242A0C 0C0903FC */ jal func_80240FF0 +/* A18C30 80242A10 0260302D */ daddu $a2, $s3, $zero +/* A18C34 80242A14 0280202D */ daddu $a0, $s4, $zero +/* A18C38 80242A18 0200282D */ daddu $a1, $s0, $zero +/* A18C3C 80242A1C 0C090468 */ jal func_802411A0 +/* A18C40 80242A20 0260302D */ daddu $a2, $s3, $zero +/* A18C44 80242A24 08090AAE */ j .L80242AB8 +/* A18C48 80242A28 0000102D */ daddu $v0, $zero, $zero +/* A18C4C 80242A2C 0280202D */ daddu $a0, $s4, $zero +/* A18C50 80242A30 0200282D */ daddu $a1, $s0, $zero +/* A18C54 80242A34 0C0905F2 */ jal func_802417C8 +/* A18C58 80242A38 0260302D */ daddu $a2, $s3, $zero +/* A18C5C 80242A3C 0280202D */ daddu $a0, $s4, $zero +/* A18C60 80242A40 0200282D */ daddu $a1, $s0, $zero +/* A18C64 80242A44 0C090622 */ jal func_80241888 +/* A18C68 80242A48 0260302D */ daddu $a2, $s3, $zero +/* A18C6C 80242A4C 08090AAE */ j .L80242AB8 +/* A18C70 80242A50 0000102D */ daddu $v0, $zero, $zero +/* A18C74 80242A54 0280202D */ daddu $a0, $s4, $zero +/* A18C78 80242A58 0200282D */ daddu $a1, $s0, $zero +/* A18C7C 80242A5C 0C0906F3 */ jal func_80241BCC +/* A18C80 80242A60 0260302D */ daddu $a2, $s3, $zero +/* A18C84 80242A64 0280202D */ daddu $a0, $s4, $zero +/* A18C88 80242A68 0200282D */ daddu $a1, $s0, $zero +/* A18C8C 80242A6C 0C090711 */ jal func_80241C44 +/* A18C90 80242A70 0260302D */ daddu $a2, $s3, $zero +/* A18C94 80242A74 08090AAE */ j .L80242AB8 +/* A18C98 80242A78 0000102D */ daddu $v0, $zero, $zero +/* A18C9C 80242A7C 0280202D */ daddu $a0, $s4, $zero +/* A18CA0 80242A80 0200282D */ daddu $a1, $s0, $zero +/* A18CA4 80242A84 0C09093A */ jal func_802424E8 +/* A18CA8 80242A88 0260302D */ daddu $a2, $s3, $zero +/* A18CAC 80242A8C 0280202D */ daddu $a0, $s4, $zero +/* A18CB0 80242A90 0200282D */ daddu $a1, $s0, $zero +/* A18CB4 80242A94 0C090986 */ jal func_80242618 +/* A18CB8 80242A98 0260302D */ daddu $a2, $s3, $zero +/* A18CBC 80242A9C 08090AAE */ j .L80242AB8 +/* A18CC0 80242AA0 0000102D */ daddu $v0, $zero, $zero +/* A18CC4 80242AA4 0280202D */ daddu $a0, $s4, $zero +/* A18CC8 80242AA8 0200282D */ daddu $a1, $s0, $zero +/* A18CCC 80242AAC 0C090A26 */ jal func_80242898 +/* A18CD0 80242AB0 0260302D */ daddu $a2, $s3, $zero +.L80242AB4: +/* A18CD4 80242AB4 0000102D */ daddu $v0, $zero, $zero +.L80242AB8: +/* A18CD8 80242AB8 8FBF0048 */ lw $ra, 0x48($sp) +/* A18CDC 80242ABC 8FB50044 */ lw $s5, 0x44($sp) +/* A18CE0 80242AC0 8FB40040 */ lw $s4, 0x40($sp) +/* A18CE4 80242AC4 8FB3003C */ lw $s3, 0x3c($sp) +/* A18CE8 80242AC8 8FB20038 */ lw $s2, 0x38($sp) +/* A18CEC 80242ACC 8FB10034 */ lw $s1, 0x34($sp) +/* A18CF0 80242AD0 8FB00030 */ lw $s0, 0x30($sp) +/* A18CF4 80242AD4 03E00008 */ jr $ra +/* A18CF8 80242AD8 27BD0050 */ addiu $sp, $sp, 0x50 +/* A18CFC 80242ADC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240000_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240000_A1B100.s new file mode 100644 index 0000000000..9ef98f29fd --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240000_A1B100.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A1B100 +/* A1B100 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1B104 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A1B108 80240008 8C82000C */ lw $v0, 0xc($a0) +/* A1B10C 8024000C 3C068016 */ lui $a2, 0x8016 +/* A1B110 80240010 84C6A552 */ lh $a2, -0x5aae($a2) +/* A1B114 80240014 0C0B2026 */ jal set_variable +/* A1B118 80240018 8C450000 */ lw $a1, ($v0) +/* A1B11C 8024001C 8FBF0010 */ lw $ra, 0x10($sp) +/* A1B120 80240020 24020002 */ addiu $v0, $zero, 2 +/* A1B124 80240024 03E00008 */ jr $ra +/* A1B128 80240028 27BD0018 */ addiu $sp, $sp, 0x18 +/* A1B12C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240030_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240030_A1B100.s new file mode 100644 index 0000000000..214a04d63d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240030_A1B100.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_A1B130 +/* A1B130 80240030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1B134 80240034 AFB00010 */ sw $s0, 0x10($sp) +/* A1B138 80240038 0080802D */ daddu $s0, $a0, $zero +/* A1B13C 8024003C AFBF0014 */ sw $ra, 0x14($sp) +/* A1B140 80240040 8E0300A8 */ lw $v1, 0xa8($s0) +/* A1B144 80240044 8E020088 */ lw $v0, 0x88($s0) +/* A1B148 80240048 00621821 */ addu $v1, $v1, $v0 +/* A1B14C 8024004C 04610004 */ bgez $v1, .L80240060 +/* A1B150 80240050 AE0300A8 */ sw $v1, 0xa8($s0) +/* A1B154 80240054 3C020002 */ lui $v0, 2 +/* A1B158 80240058 0809001C */ j .L80240070 +/* A1B15C 8024005C 00621021 */ addu $v0, $v1, $v0 +.L80240060: +/* A1B160 80240060 3C040002 */ lui $a0, 2 +/* A1B164 80240064 0083102A */ slt $v0, $a0, $v1 +/* A1B168 80240068 10400002 */ beqz $v0, .L80240074 +/* A1B16C 8024006C 00641023 */ subu $v0, $v1, $a0 +.L80240070: +/* A1B170 80240070 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240074: +/* A1B174 80240074 8E0300AC */ lw $v1, 0xac($s0) +/* A1B178 80240078 8E02008C */ lw $v0, 0x8c($s0) +/* A1B17C 8024007C 00621821 */ addu $v1, $v1, $v0 +/* A1B180 80240080 04610004 */ bgez $v1, .L80240094 +/* A1B184 80240084 AE0300AC */ sw $v1, 0xac($s0) +/* A1B188 80240088 3C020002 */ lui $v0, 2 +/* A1B18C 8024008C 08090029 */ j .L802400A4 +/* A1B190 80240090 00621021 */ addu $v0, $v1, $v0 +.L80240094: +/* A1B194 80240094 3C040002 */ lui $a0, 2 +/* A1B198 80240098 0083102A */ slt $v0, $a0, $v1 +/* A1B19C 8024009C 10400002 */ beqz $v0, .L802400A8 +/* A1B1A0 802400A0 00641023 */ subu $v0, $v1, $a0 +.L802400A4: +/* A1B1A4 802400A4 AE0200AC */ sw $v0, 0xac($s0) +.L802400A8: +/* A1B1A8 802400A8 8E0300B0 */ lw $v1, 0xb0($s0) +/* A1B1AC 802400AC 8E020090 */ lw $v0, 0x90($s0) +/* A1B1B0 802400B0 00621821 */ addu $v1, $v1, $v0 +/* A1B1B4 802400B4 04610004 */ bgez $v1, .L802400C8 +/* A1B1B8 802400B8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A1B1BC 802400BC 3C020002 */ lui $v0, 2 +/* A1B1C0 802400C0 08090036 */ j .L802400D8 +/* A1B1C4 802400C4 00621021 */ addu $v0, $v1, $v0 +.L802400C8: +/* A1B1C8 802400C8 3C040002 */ lui $a0, 2 +/* A1B1CC 802400CC 0083102A */ slt $v0, $a0, $v1 +/* A1B1D0 802400D0 10400002 */ beqz $v0, .L802400DC +/* A1B1D4 802400D4 00641023 */ subu $v0, $v1, $a0 +.L802400D8: +/* A1B1D8 802400D8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400DC: +/* A1B1DC 802400DC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A1B1E0 802400E0 8E020094 */ lw $v0, 0x94($s0) +/* A1B1E4 802400E4 00621821 */ addu $v1, $v1, $v0 +/* A1B1E8 802400E8 04610004 */ bgez $v1, .L802400FC +/* A1B1EC 802400EC AE0300B4 */ sw $v1, 0xb4($s0) +/* A1B1F0 802400F0 3C020002 */ lui $v0, 2 +/* A1B1F4 802400F4 08090043 */ j .L8024010C +/* A1B1F8 802400F8 00621021 */ addu $v0, $v1, $v0 +.L802400FC: +/* A1B1FC 802400FC 3C040002 */ lui $a0, 2 +/* A1B200 80240100 0083102A */ slt $v0, $a0, $v1 +/* A1B204 80240104 10400002 */ beqz $v0, .L80240110 +/* A1B208 80240108 00641023 */ subu $v0, $v1, $a0 +.L8024010C: +/* A1B20C 8024010C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240110: +/* A1B210 80240110 8E040084 */ lw $a0, 0x84($s0) +/* A1B214 80240114 0C046F07 */ jal set_main_pan_u +/* A1B218 80240118 8E0500A8 */ lw $a1, 0xa8($s0) +/* A1B21C 8024011C 8E040084 */ lw $a0, 0x84($s0) +/* A1B220 80240120 0C046F0D */ jal set_main_pan_v +/* A1B224 80240124 8E0500AC */ lw $a1, 0xac($s0) +/* A1B228 80240128 8E040084 */ lw $a0, 0x84($s0) +/* A1B22C 8024012C 0C046F13 */ jal set_aux_pan_u +/* A1B230 80240130 8E0500B0 */ lw $a1, 0xb0($s0) +/* A1B234 80240134 8E040084 */ lw $a0, 0x84($s0) +/* A1B238 80240138 0C046F19 */ jal set_aux_pan_v +/* A1B23C 8024013C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A1B240 80240140 8FBF0014 */ lw $ra, 0x14($sp) +/* A1B244 80240144 8FB00010 */ lw $s0, 0x10($sp) +/* A1B248 80240148 0000102D */ daddu $v0, $zero, $zero +/* A1B24C 8024014C 03E00008 */ jr $ra +/* A1B250 80240150 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240154_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240154_A1B100.s new file mode 100644 index 0000000000..b3c99e1910 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240154_A1B100.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240154_A1B254 +/* A1B254 80240154 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1B258 80240158 AFB00010 */ sw $s0, 0x10($sp) +/* A1B25C 8024015C 0080802D */ daddu $s0, $a0, $zero +/* A1B260 80240160 10A00005 */ beqz $a1, .L80240178 +/* A1B264 80240164 AFBF0014 */ sw $ra, 0x14($sp) +/* A1B268 80240168 AE000070 */ sw $zero, 0x70($s0) +/* A1B26C 8024016C AE000074 */ sw $zero, 0x74($s0) +/* A1B270 80240170 AE000078 */ sw $zero, 0x78($s0) +/* A1B274 80240174 AE00007C */ sw $zero, 0x7c($s0) +.L80240178: +/* A1B278 80240178 8E020070 */ lw $v0, 0x70($s0) +/* A1B27C 8024017C 1440000E */ bnez $v0, .L802401B8 +/* A1B280 80240180 00000000 */ nop +/* A1B284 80240184 8E0300A8 */ lw $v1, 0xa8($s0) +/* A1B288 80240188 8E020088 */ lw $v0, 0x88($s0) +/* A1B28C 8024018C 00621821 */ addu $v1, $v1, $v0 +/* A1B290 80240190 04610004 */ bgez $v1, .L802401A4 +/* A1B294 80240194 AE0300A8 */ sw $v1, 0xa8($s0) +/* A1B298 80240198 3C020002 */ lui $v0, 2 +/* A1B29C 8024019C 0809006D */ j .L802401B4 +/* A1B2A0 802401A0 00621021 */ addu $v0, $v1, $v0 +.L802401A4: +/* A1B2A4 802401A4 3C040002 */ lui $a0, 2 +/* A1B2A8 802401A8 0083102A */ slt $v0, $a0, $v1 +/* A1B2AC 802401AC 10400002 */ beqz $v0, .L802401B8 +/* A1B2B0 802401B0 00641023 */ subu $v0, $v1, $a0 +.L802401B4: +/* A1B2B4 802401B4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401B8: +/* A1B2B8 802401B8 8E020074 */ lw $v0, 0x74($s0) +/* A1B2BC 802401BC 1440000E */ bnez $v0, .L802401F8 +/* A1B2C0 802401C0 00000000 */ nop +/* A1B2C4 802401C4 8E0300AC */ lw $v1, 0xac($s0) +/* A1B2C8 802401C8 8E02008C */ lw $v0, 0x8c($s0) +/* A1B2CC 802401CC 00621821 */ addu $v1, $v1, $v0 +/* A1B2D0 802401D0 04610004 */ bgez $v1, .L802401E4 +/* A1B2D4 802401D4 AE0300AC */ sw $v1, 0xac($s0) +/* A1B2D8 802401D8 3C020002 */ lui $v0, 2 +/* A1B2DC 802401DC 0809007D */ j .L802401F4 +/* A1B2E0 802401E0 00621021 */ addu $v0, $v1, $v0 +.L802401E4: +/* A1B2E4 802401E4 3C040002 */ lui $a0, 2 +/* A1B2E8 802401E8 0083102A */ slt $v0, $a0, $v1 +/* A1B2EC 802401EC 10400002 */ beqz $v0, .L802401F8 +/* A1B2F0 802401F0 00641023 */ subu $v0, $v1, $a0 +.L802401F4: +/* A1B2F4 802401F4 AE0200AC */ sw $v0, 0xac($s0) +.L802401F8: +/* A1B2F8 802401F8 8E020078 */ lw $v0, 0x78($s0) +/* A1B2FC 802401FC 1440000E */ bnez $v0, .L80240238 +/* A1B300 80240200 00000000 */ nop +/* A1B304 80240204 8E0300B0 */ lw $v1, 0xb0($s0) +/* A1B308 80240208 8E020090 */ lw $v0, 0x90($s0) +/* A1B30C 8024020C 00621821 */ addu $v1, $v1, $v0 +/* A1B310 80240210 04610004 */ bgez $v1, .L80240224 +/* A1B314 80240214 AE0300B0 */ sw $v1, 0xb0($s0) +/* A1B318 80240218 3C020002 */ lui $v0, 2 +/* A1B31C 8024021C 0809008D */ j .L80240234 +/* A1B320 80240220 00621021 */ addu $v0, $v1, $v0 +.L80240224: +/* A1B324 80240224 3C040002 */ lui $a0, 2 +/* A1B328 80240228 0083102A */ slt $v0, $a0, $v1 +/* A1B32C 8024022C 10400002 */ beqz $v0, .L80240238 +/* A1B330 80240230 00641023 */ subu $v0, $v1, $a0 +.L80240234: +/* A1B334 80240234 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240238: +/* A1B338 80240238 8E02007C */ lw $v0, 0x7c($s0) +/* A1B33C 8024023C 1440000E */ bnez $v0, .L80240278 +/* A1B340 80240240 00000000 */ nop +/* A1B344 80240244 8E0300B4 */ lw $v1, 0xb4($s0) +/* A1B348 80240248 8E020094 */ lw $v0, 0x94($s0) +/* A1B34C 8024024C 00621821 */ addu $v1, $v1, $v0 +/* A1B350 80240250 04610004 */ bgez $v1, .L80240264 +/* A1B354 80240254 AE0300B4 */ sw $v1, 0xb4($s0) +/* A1B358 80240258 3C020002 */ lui $v0, 2 +/* A1B35C 8024025C 0809009D */ j .L80240274 +/* A1B360 80240260 00621021 */ addu $v0, $v1, $v0 +.L80240264: +/* A1B364 80240264 3C040002 */ lui $a0, 2 +/* A1B368 80240268 0083102A */ slt $v0, $a0, $v1 +/* A1B36C 8024026C 10400002 */ beqz $v0, .L80240278 +/* A1B370 80240270 00641023 */ subu $v0, $v1, $a0 +.L80240274: +/* A1B374 80240274 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240278: +/* A1B378 80240278 8E040084 */ lw $a0, 0x84($s0) +/* A1B37C 8024027C 0C046F07 */ jal set_main_pan_u +/* A1B380 80240280 8E0500A8 */ lw $a1, 0xa8($s0) +/* A1B384 80240284 8E040084 */ lw $a0, 0x84($s0) +/* A1B388 80240288 0C046F0D */ jal set_main_pan_v +/* A1B38C 8024028C 8E0500AC */ lw $a1, 0xac($s0) +/* A1B390 80240290 8E040084 */ lw $a0, 0x84($s0) +/* A1B394 80240294 0C046F13 */ jal set_aux_pan_u +/* A1B398 80240298 8E0500B0 */ lw $a1, 0xb0($s0) +/* A1B39C 8024029C 8E040084 */ lw $a0, 0x84($s0) +/* A1B3A0 802402A0 0C046F19 */ jal set_aux_pan_v +/* A1B3A4 802402A4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A1B3A8 802402A8 8E020070 */ lw $v0, 0x70($s0) +/* A1B3AC 802402AC 8E030078 */ lw $v1, 0x78($s0) +/* A1B3B0 802402B0 8E040098 */ lw $a0, 0x98($s0) +/* A1B3B4 802402B4 24420001 */ addiu $v0, $v0, 1 +/* A1B3B8 802402B8 AE020070 */ sw $v0, 0x70($s0) +/* A1B3BC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A1B3C0 802402C0 24630001 */ addiu $v1, $v1, 1 +/* A1B3C4 802402C4 AE030078 */ sw $v1, 0x78($s0) +/* A1B3C8 802402C8 8E030070 */ lw $v1, 0x70($s0) +/* A1B3CC 802402CC 24420001 */ addiu $v0, $v0, 1 +/* A1B3D0 802402D0 AE020074 */ sw $v0, 0x74($s0) +/* A1B3D4 802402D4 8E02007C */ lw $v0, 0x7c($s0) +/* A1B3D8 802402D8 0064182A */ slt $v1, $v1, $a0 +/* A1B3DC 802402DC 24420001 */ addiu $v0, $v0, 1 +/* A1B3E0 802402E0 14600002 */ bnez $v1, .L802402EC +/* A1B3E4 802402E4 AE02007C */ sw $v0, 0x7c($s0) +/* A1B3E8 802402E8 AE000070 */ sw $zero, 0x70($s0) +.L802402EC: +/* A1B3EC 802402EC 8E020074 */ lw $v0, 0x74($s0) +/* A1B3F0 802402F0 8E03009C */ lw $v1, 0x9c($s0) +/* A1B3F4 802402F4 0043102A */ slt $v0, $v0, $v1 +/* A1B3F8 802402F8 50400001 */ beql $v0, $zero, .L80240300 +/* A1B3FC 802402FC AE000074 */ sw $zero, 0x74($s0) +.L80240300: +/* A1B400 80240300 8E020078 */ lw $v0, 0x78($s0) +/* A1B404 80240304 8E0300A0 */ lw $v1, 0xa0($s0) +/* A1B408 80240308 0043102A */ slt $v0, $v0, $v1 +/* A1B40C 8024030C 50400001 */ beql $v0, $zero, .L80240314 +/* A1B410 80240310 AE000078 */ sw $zero, 0x78($s0) +.L80240314: +/* A1B414 80240314 8E02007C */ lw $v0, 0x7c($s0) +/* A1B418 80240318 8E0300A4 */ lw $v1, 0xa4($s0) +/* A1B41C 8024031C 0043102A */ slt $v0, $v0, $v1 +/* A1B420 80240320 50400001 */ beql $v0, $zero, .L80240328 +/* A1B424 80240324 AE00007C */ sw $zero, 0x7c($s0) +.L80240328: +/* A1B428 80240328 8FBF0014 */ lw $ra, 0x14($sp) +/* A1B42C 8024032C 8FB00010 */ lw $s0, 0x10($sp) +/* A1B430 80240330 0000102D */ daddu $v0, $zero, $zero +/* A1B434 80240334 03E00008 */ jr $ra +/* A1B438 80240338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024033C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024033C_A1B100.s new file mode 100644 index 0000000000..bcef5e3357 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024033C_A1B100.s @@ -0,0 +1,188 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024033C_A1B43C +/* A1B43C 8024033C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A1B440 80240340 AFB30034 */ sw $s3, 0x34($sp) +/* A1B444 80240344 3C130001 */ lui $s3, 1 +/* A1B448 80240348 AFB00028 */ sw $s0, 0x28($sp) +/* A1B44C 8024034C 3C108024 */ lui $s0, 0x8024 +/* A1B450 80240350 26103BCC */ addiu $s0, $s0, 0x3bcc +/* A1B454 80240354 AFBF0040 */ sw $ra, 0x40($sp) +/* A1B458 80240358 AFB5003C */ sw $s5, 0x3c($sp) +/* A1B45C 8024035C AFB40038 */ sw $s4, 0x38($sp) +/* A1B460 80240360 AFB20030 */ sw $s2, 0x30($sp) +/* A1B464 80240364 AFB1002C */ sw $s1, 0x2c($sp) +/* A1B468 80240368 96040000 */ lhu $a0, ($s0) +/* A1B46C 8024036C 0C01917C */ jal sins +/* A1B470 80240370 36731630 */ ori $s3, $s3, 0x1630 +/* A1B474 80240374 00021400 */ sll $v0, $v0, 0x10 +/* A1B478 80240378 00021403 */ sra $v0, $v0, 0x10 +/* A1B47C 8024037C 44821000 */ mtc1 $v0, $f2 +/* A1B480 80240380 00000000 */ nop +/* A1B484 80240384 468010A0 */ cvt.s.w $f2, $f2 +/* A1B488 80240388 3C12800A */ lui $s2, 0x800a +/* A1B48C 8024038C 2652A674 */ addiu $s2, $s2, -0x598c +/* A1B490 80240390 3C118007 */ lui $s1, 0x8007 +/* A1B494 80240394 263141F0 */ addiu $s1, $s1, 0x41f0 +/* A1B498 80240398 3C073F80 */ lui $a3, 0x3f80 +/* A1B49C 8024039C 3C013800 */ lui $at, 0x3800 +/* A1B4A0 802403A0 44810000 */ mtc1 $at, $f0 +/* A1B4A4 802403A4 96240000 */ lhu $a0, ($s1) +/* A1B4A8 802403A8 46001082 */ mul.s $f2, $f2, $f0 +/* A1B4AC 802403AC 00000000 */ nop +/* A1B4B0 802403B0 8E420000 */ lw $v0, ($s2) +/* A1B4B4 802403B4 00042180 */ sll $a0, $a0, 6 +/* A1B4B8 802403B8 3C014234 */ lui $at, 0x4234 +/* A1B4BC 802403BC 44810000 */ mtc1 $at, $f0 +/* A1B4C0 802403C0 00932021 */ addu $a0, $a0, $s3 +/* A1B4C4 802403C4 46001082 */ mul.s $f2, $f2, $f0 +/* A1B4C8 802403C8 00000000 */ nop +/* A1B4CC 802403CC 00442021 */ addu $a0, $v0, $a0 +/* A1B4D0 802403D0 44800000 */ mtc1 $zero, $f0 +/* A1B4D4 802403D4 96020000 */ lhu $v0, ($s0) +/* A1B4D8 802403D8 44060000 */ mfc1 $a2, $f0 +/* A1B4DC 802403DC 44051000 */ mfc1 $a1, $f2 +/* A1B4E0 802403E0 24420400 */ addiu $v0, $v0, 0x400 +/* A1B4E4 802403E4 A6020000 */ sh $v0, ($s0) +/* A1B4E8 802403E8 0C019F20 */ jal guRotate +/* A1B4EC 802403EC AFA60010 */ sw $a2, 0x10($sp) +/* A1B4F0 802403F0 3C0ADA38 */ lui $t2, 0xda38 +/* A1B4F4 802403F4 354A0001 */ ori $t2, $t2, 1 +/* A1B4F8 802403F8 24040001 */ addiu $a0, $zero, 1 +/* A1B4FC 802403FC 27A50018 */ addiu $a1, $sp, 0x18 +/* A1B500 80240400 27A6001C */ addiu $a2, $sp, 0x1c +/* A1B504 80240404 3C08800A */ lui $t0, 0x800a +/* A1B508 80240408 2508A66C */ addiu $t0, $t0, -0x5994 +/* A1B50C 8024040C 27A70020 */ addiu $a3, $sp, 0x20 +/* A1B510 80240410 8D030000 */ lw $v1, ($t0) +/* A1B514 80240414 96220000 */ lhu $v0, ($s1) +/* A1B518 80240418 0060482D */ daddu $t1, $v1, $zero +/* A1B51C 8024041C 24630008 */ addiu $v1, $v1, 8 +/* A1B520 80240420 AD030000 */ sw $v1, ($t0) +/* A1B524 80240424 00441821 */ addu $v1, $v0, $a0 +/* A1B528 80240428 3042FFFF */ andi $v0, $v0, 0xffff +/* A1B52C 8024042C 00021180 */ sll $v0, $v0, 6 +/* A1B530 80240430 AD2A0000 */ sw $t2, ($t1) +/* A1B534 80240434 A6230000 */ sh $v1, ($s1) +/* A1B538 80240438 8E430000 */ lw $v1, ($s2) +/* A1B53C 8024043C 00531021 */ addu $v0, $v0, $s3 +/* A1B540 80240440 00621821 */ addu $v1, $v1, $v0 +/* A1B544 80240444 0C0470AC */ jal func_8011C2B0 +/* A1B548 80240448 AD230004 */ sw $v1, 4($t1) +/* A1B54C 8024044C 8FA20020 */ lw $v0, 0x20($sp) +/* A1B550 80240450 1840004F */ blez $v0, .L80240590 +/* A1B554 80240454 0000802D */ daddu $s0, $zero, $zero +/* A1B558 80240458 3C158024 */ lui $s5, 0x8024 +/* A1B55C 8024045C 26B53BCE */ addiu $s5, $s5, 0x3bce +/* A1B560 80240460 3C135555 */ lui $s3, 0x5555 +/* A1B564 80240464 36735556 */ ori $s3, $s3, 0x5556 +/* A1B568 80240468 34148000 */ ori $s4, $zero, 0x8000 +/* A1B56C 8024046C 02130018 */ mult $s0, $s3 +.L80240470: +/* A1B570 80240470 001097C3 */ sra $s2, $s0, 0x1f +/* A1B574 80240474 00001810 */ mfhi $v1 +/* A1B578 80240478 00721823 */ subu $v1, $v1, $s2 +/* A1B57C 8024047C 00031040 */ sll $v0, $v1, 1 +/* A1B580 80240480 00431021 */ addu $v0, $v0, $v1 +/* A1B584 80240484 02021023 */ subu $v0, $s0, $v0 +/* A1B588 80240488 96A30000 */ lhu $v1, ($s5) +/* A1B58C 8024048C 24420001 */ addiu $v0, $v0, 1 +/* A1B590 80240490 00620018 */ mult $v1, $v0 +/* A1B594 80240494 00101100 */ sll $v0, $s0, 4 +/* A1B598 80240498 00001812 */ mflo $v1 +/* A1B59C 8024049C 00702021 */ addu $a0, $v1, $s0 +/* A1B5A0 802404A0 8FA3001C */ lw $v1, 0x1c($sp) +/* A1B5A4 802404A4 3084FFFF */ andi $a0, $a0, 0xffff +/* A1B5A8 802404A8 0C01917C */ jal sins +/* A1B5AC 802404AC 00628821 */ addu $s1, $v1, $v0 +/* A1B5B0 802404B0 00021400 */ sll $v0, $v0, 0x10 +/* A1B5B4 802404B4 00021403 */ sra $v0, $v0, 0x10 +/* A1B5B8 802404B8 00541021 */ addu $v0, $v0, $s4 +/* A1B5BC 802404BC 00021FC2 */ srl $v1, $v0, 0x1f +/* A1B5C0 802404C0 00431021 */ addu $v0, $v0, $v1 +/* A1B5C4 802404C4 000213C0 */ sll $v0, $v0, 0xf +/* A1B5C8 802404C8 00021403 */ sra $v0, $v0, 0x10 +/* A1B5CC 802404CC 00021880 */ sll $v1, $v0, 2 +/* A1B5D0 802404D0 00621821 */ addu $v1, $v1, $v0 +/* A1B5D4 802404D4 00031140 */ sll $v0, $v1, 5 +/* A1B5D8 802404D8 00431823 */ subu $v1, $v0, $v1 +/* A1B5DC 802404DC 04610002 */ bgez $v1, .L802404E8 +/* A1B5E0 802404E0 0060102D */ daddu $v0, $v1, $zero +/* A1B5E4 802404E4 24627FFF */ addiu $v0, $v1, 0x7fff +.L802404E8: +/* A1B5E8 802404E8 000213C3 */ sra $v0, $v0, 0xf +/* A1B5EC 802404EC 24420064 */ addiu $v0, $v0, 0x64 +/* A1B5F0 802404F0 A222000C */ sb $v0, 0xc($s1) +/* A1B5F4 802404F4 02121823 */ subu $v1, $s0, $s2 +/* A1B5F8 802404F8 00032843 */ sra $a1, $v1, 1 +/* A1B5FC 802404FC 00B30018 */ mult $a1, $s3 +/* A1B600 80240500 A222000D */ sb $v0, 0xd($s1) +/* A1B604 80240504 96A40000 */ lhu $a0, ($s5) +/* A1B608 80240508 00031FC3 */ sra $v1, $v1, 0x1f +/* A1B60C 8024050C 000433C2 */ srl $a2, $a0, 0xf +/* A1B610 80240510 00004010 */ mfhi $t0 +/* A1B614 80240514 01031823 */ subu $v1, $t0, $v1 +/* A1B618 80240518 00031040 */ sll $v0, $v1, 1 +/* A1B61C 8024051C 00431021 */ addu $v0, $v0, $v1 +/* A1B620 80240520 00A22823 */ subu $a1, $a1, $v0 +/* A1B624 80240524 24A50001 */ addiu $a1, $a1, 1 +/* A1B628 80240528 00052BC0 */ sll $a1, $a1, 0xf +/* A1B62C 8024052C 00C50018 */ mult $a2, $a1 +/* A1B630 80240530 00042382 */ srl $a0, $a0, 0xe +/* A1B634 80240534 000423C0 */ sll $a0, $a0, 0xf +/* A1B638 80240538 00001812 */ mflo $v1 +/* A1B63C 8024053C 00642021 */ addu $a0, $v1, $a0 +/* A1B640 80240540 00902021 */ addu $a0, $a0, $s0 +/* A1B644 80240544 0C01917C */ jal sins +/* A1B648 80240548 3084FFFF */ andi $a0, $a0, 0xffff +/* A1B64C 8024054C 00021400 */ sll $v0, $v0, 0x10 +/* A1B650 80240550 00021403 */ sra $v0, $v0, 0x10 +/* A1B654 80240554 9223000C */ lbu $v1, 0xc($s1) +/* A1B658 80240558 00541021 */ addu $v0, $v0, $s4 +/* A1B65C 8024055C 00620018 */ mult $v1, $v0 +/* A1B660 80240560 00001812 */ mflo $v1 +/* A1B664 80240564 04610004 */ bgez $v1, .L80240578 +/* A1B668 80240568 00031403 */ sra $v0, $v1, 0x10 +/* A1B66C 8024056C 3402FFFF */ ori $v0, $zero, 0xffff +/* A1B670 80240570 00621821 */ addu $v1, $v1, $v0 +/* A1B674 80240574 00031403 */ sra $v0, $v1, 0x10 +.L80240578: +/* A1B678 80240578 A222000E */ sb $v0, 0xe($s1) +/* A1B67C 8024057C 8FA20020 */ lw $v0, 0x20($sp) +/* A1B680 80240580 26100001 */ addiu $s0, $s0, 1 +/* A1B684 80240584 0202102A */ slt $v0, $s0, $v0 +/* A1B688 80240588 1440FFB9 */ bnez $v0, .L80240470 +/* A1B68C 8024058C 02130018 */ mult $s0, $s3 +.L80240590: +/* A1B690 80240590 3C05D9FF */ lui $a1, 0xd9ff +/* A1B694 80240594 34A5F9FF */ ori $a1, $a1, 0xf9ff +/* A1B698 80240598 3C03800A */ lui $v1, 0x800a +/* A1B69C 8024059C 2463A66C */ addiu $v1, $v1, -0x5994 +/* A1B6A0 802405A0 8C700000 */ lw $s0, ($v1) +/* A1B6A4 802405A4 24040001 */ addiu $a0, $zero, 1 +/* A1B6A8 802405A8 0200102D */ daddu $v0, $s0, $zero +/* A1B6AC 802405AC 26100008 */ addiu $s0, $s0, 8 +/* A1B6B0 802405B0 AC700000 */ sw $s0, ($v1) +/* A1B6B4 802405B4 AC450000 */ sw $a1, ($v0) +/* A1B6B8 802405B8 AC400004 */ sw $zero, 4($v0) +/* A1B6BC 802405BC 26020008 */ addiu $v0, $s0, 8 +/* A1B6C0 802405C0 AC620000 */ sw $v0, ($v1) +/* A1B6C4 802405C4 3C02DE00 */ lui $v0, 0xde00 +/* A1B6C8 802405C8 0C0470BB */ jal func_8011C2EC +/* A1B6CC 802405CC AE020000 */ sw $v0, ($s0) +/* A1B6D0 802405D0 3C048024 */ lui $a0, 0x8024 +/* A1B6D4 802405D4 24843BCE */ addiu $a0, $a0, 0x3bce +/* A1B6D8 802405D8 94830000 */ lhu $v1, ($a0) +/* A1B6DC 802405DC AE020004 */ sw $v0, 4($s0) +/* A1B6E0 802405E0 24630666 */ addiu $v1, $v1, 0x666 +/* A1B6E4 802405E4 A4830000 */ sh $v1, ($a0) +/* A1B6E8 802405E8 8FBF0040 */ lw $ra, 0x40($sp) +/* A1B6EC 802405EC 8FB5003C */ lw $s5, 0x3c($sp) +/* A1B6F0 802405F0 8FB40038 */ lw $s4, 0x38($sp) +/* A1B6F4 802405F4 8FB30034 */ lw $s3, 0x34($sp) +/* A1B6F8 802405F8 8FB20030 */ lw $s2, 0x30($sp) +/* A1B6FC 802405FC 8FB1002C */ lw $s1, 0x2c($sp) +/* A1B700 80240600 8FB00028 */ lw $s0, 0x28($sp) +/* A1B704 80240604 03E00008 */ jr $ra +/* A1B708 80240608 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024060C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024060C_A1B100.s new file mode 100644 index 0000000000..3d159ab329 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024060C_A1B100.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024060C_A1B70C +/* A1B70C 8024060C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A1B710 80240610 24040002 */ addiu $a0, $zero, 2 +/* A1B714 80240614 27A50010 */ addiu $a1, $sp, 0x10 +/* A1B718 80240618 27A60014 */ addiu $a2, $sp, 0x14 +/* A1B71C 8024061C 27A70018 */ addiu $a3, $sp, 0x18 +/* A1B720 80240620 AFBF0038 */ sw $ra, 0x38($sp) +/* A1B724 80240624 AFB50034 */ sw $s5, 0x34($sp) +/* A1B728 80240628 AFB40030 */ sw $s4, 0x30($sp) +/* A1B72C 8024062C AFB3002C */ sw $s3, 0x2c($sp) +/* A1B730 80240630 AFB20028 */ sw $s2, 0x28($sp) +/* A1B734 80240634 AFB10024 */ sw $s1, 0x24($sp) +/* A1B738 80240638 0C0470AC */ jal func_8011C2B0 +/* A1B73C 8024063C AFB00020 */ sw $s0, 0x20($sp) +/* A1B740 80240640 8FA20018 */ lw $v0, 0x18($sp) +/* A1B744 80240644 1840004F */ blez $v0, .L80240784 +/* A1B748 80240648 0000802D */ daddu $s0, $zero, $zero +/* A1B74C 8024064C 3C158024 */ lui $s5, 0x8024 +/* A1B750 80240650 26B53BD0 */ addiu $s5, $s5, 0x3bd0 +/* A1B754 80240654 3C135555 */ lui $s3, 0x5555 +/* A1B758 80240658 36735556 */ ori $s3, $s3, 0x5556 +/* A1B75C 8024065C 34148000 */ ori $s4, $zero, 0x8000 +/* A1B760 80240660 02130018 */ mult $s0, $s3 +.L80240664: +/* A1B764 80240664 001097C3 */ sra $s2, $s0, 0x1f +/* A1B768 80240668 00001810 */ mfhi $v1 +/* A1B76C 8024066C 00721823 */ subu $v1, $v1, $s2 +/* A1B770 80240670 00031040 */ sll $v0, $v1, 1 +/* A1B774 80240674 00431021 */ addu $v0, $v0, $v1 +/* A1B778 80240678 02021023 */ subu $v0, $s0, $v0 +/* A1B77C 8024067C 96A30000 */ lhu $v1, ($s5) +/* A1B780 80240680 24420001 */ addiu $v0, $v0, 1 +/* A1B784 80240684 00620018 */ mult $v1, $v0 +/* A1B788 80240688 00101100 */ sll $v0, $s0, 4 +/* A1B78C 8024068C 00001812 */ mflo $v1 +/* A1B790 80240690 00702021 */ addu $a0, $v1, $s0 +/* A1B794 80240694 8FA30014 */ lw $v1, 0x14($sp) +/* A1B798 80240698 3084FFFF */ andi $a0, $a0, 0xffff +/* A1B79C 8024069C 0C01917C */ jal sins +/* A1B7A0 802406A0 00628821 */ addu $s1, $v1, $v0 +/* A1B7A4 802406A4 00021400 */ sll $v0, $v0, 0x10 +/* A1B7A8 802406A8 00021403 */ sra $v0, $v0, 0x10 +/* A1B7AC 802406AC 00541021 */ addu $v0, $v0, $s4 +/* A1B7B0 802406B0 00021FC2 */ srl $v1, $v0, 0x1f +/* A1B7B4 802406B4 00431021 */ addu $v0, $v0, $v1 +/* A1B7B8 802406B8 000213C0 */ sll $v0, $v0, 0xf +/* A1B7BC 802406BC 00021403 */ sra $v0, $v0, 0x10 +/* A1B7C0 802406C0 00021880 */ sll $v1, $v0, 2 +/* A1B7C4 802406C4 00621821 */ addu $v1, $v1, $v0 +/* A1B7C8 802406C8 00031140 */ sll $v0, $v1, 5 +/* A1B7CC 802406CC 00431823 */ subu $v1, $v0, $v1 +/* A1B7D0 802406D0 04610002 */ bgez $v1, .L802406DC +/* A1B7D4 802406D4 0060102D */ daddu $v0, $v1, $zero +/* A1B7D8 802406D8 24627FFF */ addiu $v0, $v1, 0x7fff +.L802406DC: +/* A1B7DC 802406DC 000213C3 */ sra $v0, $v0, 0xf +/* A1B7E0 802406E0 24420064 */ addiu $v0, $v0, 0x64 +/* A1B7E4 802406E4 A222000C */ sb $v0, 0xc($s1) +/* A1B7E8 802406E8 02121823 */ subu $v1, $s0, $s2 +/* A1B7EC 802406EC 00032843 */ sra $a1, $v1, 1 +/* A1B7F0 802406F0 00B30018 */ mult $a1, $s3 +/* A1B7F4 802406F4 A222000D */ sb $v0, 0xd($s1) +/* A1B7F8 802406F8 96A40000 */ lhu $a0, ($s5) +/* A1B7FC 802406FC 00031FC3 */ sra $v1, $v1, 0x1f +/* A1B800 80240700 000433C2 */ srl $a2, $a0, 0xf +/* A1B804 80240704 00004810 */ mfhi $t1 +/* A1B808 80240708 01231823 */ subu $v1, $t1, $v1 +/* A1B80C 8024070C 00031040 */ sll $v0, $v1, 1 +/* A1B810 80240710 00431021 */ addu $v0, $v0, $v1 +/* A1B814 80240714 00A22823 */ subu $a1, $a1, $v0 +/* A1B818 80240718 24A50001 */ addiu $a1, $a1, 1 +/* A1B81C 8024071C 00052BC0 */ sll $a1, $a1, 0xf +/* A1B820 80240720 00C50018 */ mult $a2, $a1 +/* A1B824 80240724 00042382 */ srl $a0, $a0, 0xe +/* A1B828 80240728 000423C0 */ sll $a0, $a0, 0xf +/* A1B82C 8024072C 00001812 */ mflo $v1 +/* A1B830 80240730 00642021 */ addu $a0, $v1, $a0 +/* A1B834 80240734 00902021 */ addu $a0, $a0, $s0 +/* A1B838 80240738 0C01917C */ jal sins +/* A1B83C 8024073C 3084FFFF */ andi $a0, $a0, 0xffff +/* A1B840 80240740 00021400 */ sll $v0, $v0, 0x10 +/* A1B844 80240744 00021403 */ sra $v0, $v0, 0x10 +/* A1B848 80240748 9223000C */ lbu $v1, 0xc($s1) +/* A1B84C 8024074C 00541021 */ addu $v0, $v0, $s4 +/* A1B850 80240750 00620018 */ mult $v1, $v0 +/* A1B854 80240754 00001812 */ mflo $v1 +/* A1B858 80240758 04610004 */ bgez $v1, .L8024076C +/* A1B85C 8024075C 00031403 */ sra $v0, $v1, 0x10 +/* A1B860 80240760 3402FFFF */ ori $v0, $zero, 0xffff +/* A1B864 80240764 00621821 */ addu $v1, $v1, $v0 +/* A1B868 80240768 00031403 */ sra $v0, $v1, 0x10 +.L8024076C: +/* A1B86C 8024076C A222000E */ sb $v0, 0xe($s1) +/* A1B870 80240770 8FA20018 */ lw $v0, 0x18($sp) +/* A1B874 80240774 26100001 */ addiu $s0, $s0, 1 +/* A1B878 80240778 0202102A */ slt $v0, $s0, $v0 +/* A1B87C 8024077C 1440FFB9 */ bnez $v0, .L80240664 +/* A1B880 80240780 02130018 */ mult $s0, $s3 +.L80240784: +/* A1B884 80240784 3C03800A */ lui $v1, 0x800a +/* A1B888 80240788 2463A66C */ addiu $v1, $v1, -0x5994 +/* A1B88C 8024078C 8C620000 */ lw $v0, ($v1) +/* A1B890 80240790 24040002 */ addiu $a0, $zero, 2 +/* A1B894 80240794 0040802D */ daddu $s0, $v0, $zero +/* A1B898 80240798 24420008 */ addiu $v0, $v0, 8 +/* A1B89C 8024079C AC620000 */ sw $v0, ($v1) +/* A1B8A0 802407A0 3C02DE00 */ lui $v0, 0xde00 +/* A1B8A4 802407A4 0C0470BB */ jal func_8011C2EC +/* A1B8A8 802407A8 AE020000 */ sw $v0, ($s0) +/* A1B8AC 802407AC 3C048024 */ lui $a0, 0x8024 +/* A1B8B0 802407B0 24843BD0 */ addiu $a0, $a0, 0x3bd0 +/* A1B8B4 802407B4 94830000 */ lhu $v1, ($a0) +/* A1B8B8 802407B8 AE020004 */ sw $v0, 4($s0) +/* A1B8BC 802407BC 24630253 */ addiu $v1, $v1, 0x253 +/* A1B8C0 802407C0 A4830000 */ sh $v1, ($a0) +/* A1B8C4 802407C4 8FBF0038 */ lw $ra, 0x38($sp) +/* A1B8C8 802407C8 8FB50034 */ lw $s5, 0x34($sp) +/* A1B8CC 802407CC 8FB40030 */ lw $s4, 0x30($sp) +/* A1B8D0 802407D0 8FB3002C */ lw $s3, 0x2c($sp) +/* A1B8D4 802407D4 8FB20028 */ lw $s2, 0x28($sp) +/* A1B8D8 802407D8 8FB10024 */ lw $s1, 0x24($sp) +/* A1B8DC 802407DC 8FB00020 */ lw $s0, 0x20($sp) +/* A1B8E0 802407E0 03E00008 */ jr $ra +/* A1B8E4 802407E4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802407E8.s b/asm/nonmatchings/world/area_hos/hos_03/func_802407E8.s new file mode 100644 index 0000000000..20eb42656d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802407E8.s @@ -0,0 +1,87 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407E8 +/* A1B8E8 802407E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A1B8EC 802407EC 0000202D */ daddu $a0, $zero, $zero +/* A1B8F0 802407F0 27A50010 */ addiu $a1, $sp, 0x10 +/* A1B8F4 802407F4 27A60014 */ addiu $a2, $sp, 0x14 +/* A1B8F8 802407F8 27A70018 */ addiu $a3, $sp, 0x18 +/* A1B8FC 802407FC AFBF0034 */ sw $ra, 0x34($sp) +/* A1B900 80240800 AFB40030 */ sw $s4, 0x30($sp) +/* A1B904 80240804 AFB3002C */ sw $s3, 0x2c($sp) +/* A1B908 80240808 AFB20028 */ sw $s2, 0x28($sp) +/* A1B90C 8024080C AFB10024 */ sw $s1, 0x24($sp) +/* A1B910 80240810 0C0470AC */ jal func_8011C2B0 +/* A1B914 80240814 AFB00020 */ sw $s0, 0x20($sp) +/* A1B918 80240818 8FA20018 */ lw $v0, 0x18($sp) +/* A1B91C 8024081C 1840002A */ blez $v0, .L802408C8 +/* A1B920 80240820 0000802D */ daddu $s0, $zero, $zero +/* A1B924 80240824 3C145555 */ lui $s4, 0x5555 +/* A1B928 80240828 36945556 */ ori $s4, $s4, 0x5556 +/* A1B92C 8024082C 0200982D */ daddu $s3, $s0, $zero +.L80240830: +/* A1B930 80240830 02140018 */ mult $s0, $s4 +/* A1B934 80240834 00101FC3 */ sra $v1, $s0, 0x1f +/* A1B938 80240838 00004810 */ mfhi $t1 +/* A1B93C 8024083C 01231823 */ subu $v1, $t1, $v1 +/* A1B940 80240840 00031040 */ sll $v0, $v1, 1 +/* A1B944 80240844 00431021 */ addu $v0, $v0, $v1 +/* A1B948 80240848 02021023 */ subu $v0, $s0, $v0 +/* A1B94C 8024084C 3C038024 */ lui $v1, 0x8024 +/* A1B950 80240850 94633BD2 */ lhu $v1, 0x3bd2($v1) +/* A1B954 80240854 24420001 */ addiu $v0, $v0, 1 +/* A1B958 80240858 00620018 */ mult $v1, $v0 +/* A1B95C 8024085C 8FA20014 */ lw $v0, 0x14($sp) +/* A1B960 80240860 00102900 */ sll $a1, $s0, 4 +/* A1B964 80240864 00459021 */ addu $s2, $v0, $a1 +/* A1B968 80240868 00001812 */ mflo $v1 +/* A1B96C 8024086C 00732021 */ addu $a0, $v1, $s3 +/* A1B970 80240870 8FA30010 */ lw $v1, 0x10($sp) +/* A1B974 80240874 3084FFFF */ andi $a0, $a0, 0xffff +/* A1B978 80240878 0C01917C */ jal sins +/* A1B97C 8024087C 00658821 */ addu $s1, $v1, $a1 +/* A1B980 80240880 00021400 */ sll $v0, $v0, 0x10 +/* A1B984 80240884 00021403 */ sra $v0, $v0, 0x10 +/* A1B988 80240888 00021840 */ sll $v1, $v0, 1 +/* A1B98C 8024088C 00621821 */ addu $v1, $v1, $v0 +/* A1B990 80240890 000318C0 */ sll $v1, $v1, 3 +/* A1B994 80240894 00621821 */ addu $v1, $v1, $v0 +/* A1B998 80240898 00031040 */ sll $v0, $v1, 1 +/* A1B99C 8024089C 04420001 */ bltzl $v0, .L802408A4 +/* A1B9A0 802408A0 24427FFF */ addiu $v0, $v0, 0x7fff +.L802408A4: +/* A1B9A4 802408A4 26732AAA */ addiu $s3, $s3, 0x2aaa +/* A1B9A8 802408A8 26100001 */ addiu $s0, $s0, 1 +/* A1B9AC 802408AC 000213C3 */ sra $v0, $v0, 0xf +/* A1B9B0 802408B0 96230002 */ lhu $v1, 2($s1) +/* A1B9B4 802408B4 8FA40018 */ lw $a0, 0x18($sp) +/* A1B9B8 802408B8 00621821 */ addu $v1, $v1, $v0 +/* A1B9BC 802408BC 0204202A */ slt $a0, $s0, $a0 +/* A1B9C0 802408C0 1480FFDB */ bnez $a0, .L80240830 +/* A1B9C4 802408C4 A6430002 */ sh $v1, 2($s2) +.L802408C8: +/* A1B9C8 802408C8 3C03800A */ lui $v1, 0x800a +/* A1B9CC 802408CC 2463A66C */ addiu $v1, $v1, -0x5994 +/* A1B9D0 802408D0 8C620000 */ lw $v0, ($v1) +/* A1B9D4 802408D4 0000202D */ daddu $a0, $zero, $zero +/* A1B9D8 802408D8 0040802D */ daddu $s0, $v0, $zero +/* A1B9DC 802408DC 24420008 */ addiu $v0, $v0, 8 +/* A1B9E0 802408E0 AC620000 */ sw $v0, ($v1) +/* A1B9E4 802408E4 3C02DE00 */ lui $v0, 0xde00 +/* A1B9E8 802408E8 0C0470BB */ jal func_8011C2EC +/* A1B9EC 802408EC AE020000 */ sw $v0, ($s0) +/* A1B9F0 802408F0 3C048024 */ lui $a0, 0x8024 +/* A1B9F4 802408F4 24843BD2 */ addiu $a0, $a0, 0x3bd2 +/* A1B9F8 802408F8 94830000 */ lhu $v1, ($a0) +/* A1B9FC 802408FC AE020004 */ sw $v0, 4($s0) +/* A1BA00 80240900 246300A3 */ addiu $v1, $v1, 0xa3 +/* A1BA04 80240904 A4830000 */ sh $v1, ($a0) +/* A1BA08 80240908 8FBF0034 */ lw $ra, 0x34($sp) +/* A1BA0C 8024090C 8FB40030 */ lw $s4, 0x30($sp) +/* A1BA10 80240910 8FB3002C */ lw $s3, 0x2c($sp) +/* A1BA14 80240914 8FB20028 */ lw $s2, 0x28($sp) +/* A1BA18 80240918 8FB10024 */ lw $s1, 0x24($sp) +/* A1BA1C 8024091C 8FB00020 */ lw $s0, 0x20($sp) +/* A1BA20 80240920 03E00008 */ jr $ra +/* A1BA24 80240924 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240928.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240928.s new file mode 100644 index 0000000000..fe1977e872 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240928.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240928 +/* A1BA28 80240928 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1BA2C 8024092C AFB10014 */ sw $s1, 0x14($sp) +/* A1BA30 80240930 3C118024 */ lui $s1, 0x8024 +/* A1BA34 80240934 26313BD4 */ addiu $s1, $s1, 0x3bd4 +/* A1BA38 80240938 AFBF0020 */ sw $ra, 0x20($sp) +/* A1BA3C 8024093C AFB3001C */ sw $s3, 0x1c($sp) +/* A1BA40 80240940 AFB20018 */ sw $s2, 0x18($sp) +/* A1BA44 80240944 AFB00010 */ sw $s0, 0x10($sp) +/* A1BA48 80240948 96240000 */ lhu $a0, ($s1) +/* A1BA4C 8024094C 0C01917C */ jal sins +/* A1BA50 80240950 3C130001 */ lui $s3, 1 +/* A1BA54 80240954 00021400 */ sll $v0, $v0, 0x10 +/* A1BA58 80240958 00021403 */ sra $v0, $v0, 0x10 +/* A1BA5C 8024095C 3C013800 */ lui $at, 0x3800 +/* A1BA60 80240960 44811000 */ mtc1 $at, $f2 +/* A1BA64 80240964 44820000 */ mtc1 $v0, $f0 +/* A1BA68 80240968 00000000 */ nop +/* A1BA6C 8024096C 46800020 */ cvt.s.w $f0, $f0 +/* A1BA70 80240970 46020002 */ mul.s $f0, $f0, $f2 +/* A1BA74 80240974 00000000 */ nop +/* A1BA78 80240978 3C013FE0 */ lui $at, 0x3fe0 +/* A1BA7C 8024097C 44811800 */ mtc1 $at, $f3 +/* A1BA80 80240980 44801000 */ mtc1 $zero, $f2 +/* A1BA84 80240984 46000021 */ cvt.d.s $f0, $f0 +/* A1BA88 80240988 46220002 */ mul.d $f0, $f0, $f2 +/* A1BA8C 8024098C 00000000 */ nop +/* A1BA90 80240990 36731630 */ ori $s3, $s3, 0x1630 +/* A1BA94 80240994 46220002 */ mul.d $f0, $f0, $f2 +/* A1BA98 80240998 00000000 */ nop +/* A1BA9C 8024099C 3C12800A */ lui $s2, 0x800a +/* A1BAA0 802409A0 2652A674 */ addiu $s2, $s2, -0x598c +/* A1BAA4 802409A4 3C108007 */ lui $s0, 0x8007 +/* A1BAA8 802409A8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* A1BAAC 802409AC 96040000 */ lhu $a0, ($s0) +/* A1BAB0 802409B0 8E420000 */ lw $v0, ($s2) +/* A1BAB4 802409B4 00042180 */ sll $a0, $a0, 6 +/* A1BAB8 802409B8 3C018025 */ lui $at, 0x8025 +/* A1BABC 802409BC D422BD60 */ ldc1 $f2, -0x42a0($at) +/* A1BAC0 802409C0 00932021 */ addu $a0, $a0, $s3 +/* A1BAC4 802409C4 46220000 */ add.d $f0, $f0, $f2 +/* A1BAC8 802409C8 00442021 */ addu $a0, $v0, $a0 +/* A1BACC 802409CC 96220000 */ lhu $v0, ($s1) +/* A1BAD0 802409D0 46200020 */ cvt.s.d $f0, $f0 +/* A1BAD4 802409D4 44050000 */ mfc1 $a1, $f0 +/* A1BAD8 802409D8 24420199 */ addiu $v0, $v0, 0x199 +/* A1BADC 802409DC A6220000 */ sh $v0, ($s1) +/* A1BAE0 802409E0 00A0302D */ daddu $a2, $a1, $zero +/* A1BAE4 802409E4 0C019DC0 */ jal guScale +/* A1BAE8 802409E8 00A0382D */ daddu $a3, $a1, $zero +/* A1BAEC 802409EC 3C05DA38 */ lui $a1, 0xda38 +/* A1BAF0 802409F0 3C04800A */ lui $a0, 0x800a +/* A1BAF4 802409F4 2484A66C */ addiu $a0, $a0, -0x5994 +/* A1BAF8 802409F8 34A50001 */ ori $a1, $a1, 1 +/* A1BAFC 802409FC 8C830000 */ lw $v1, ($a0) +/* A1BB00 80240A00 96020000 */ lhu $v0, ($s0) +/* A1BB04 80240A04 0060302D */ daddu $a2, $v1, $zero +/* A1BB08 80240A08 24630008 */ addiu $v1, $v1, 8 +/* A1BB0C 80240A0C AC830000 */ sw $v1, ($a0) +/* A1BB10 80240A10 24430001 */ addiu $v1, $v0, 1 +/* A1BB14 80240A14 3042FFFF */ andi $v0, $v0, 0xffff +/* A1BB18 80240A18 00021180 */ sll $v0, $v0, 6 +/* A1BB1C 80240A1C ACC50000 */ sw $a1, ($a2) +/* A1BB20 80240A20 A6030000 */ sh $v1, ($s0) +/* A1BB24 80240A24 8E430000 */ lw $v1, ($s2) +/* A1BB28 80240A28 00531021 */ addu $v0, $v0, $s3 +/* A1BB2C 80240A2C 00621821 */ addu $v1, $v1, $v0 +/* A1BB30 80240A30 ACC30004 */ sw $v1, 4($a2) +/* A1BB34 80240A34 8FBF0020 */ lw $ra, 0x20($sp) +/* A1BB38 80240A38 8FB3001C */ lw $s3, 0x1c($sp) +/* A1BB3C 80240A3C 8FB20018 */ lw $s2, 0x18($sp) +/* A1BB40 80240A40 8FB10014 */ lw $s1, 0x14($sp) +/* A1BB44 80240A44 8FB00010 */ lw $s0, 0x10($sp) +/* A1BB48 80240A48 03E00008 */ jr $ra +/* A1BB4C 80240A4C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240A50.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240A50.s new file mode 100644 index 0000000000..d3efbcc986 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240A50.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A50 +/* A1BB50 80240A50 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A1BB54 80240A54 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A1BB58 80240A58 8442008E */ lh $v0, 0x8e($v0) +/* A1BB5C 80240A5C AC820084 */ sw $v0, 0x84($a0) +/* A1BB60 80240A60 03E00008 */ jr $ra +/* A1BB64 80240A64 24020002 */ addiu $v0, $zero, 2 +/* A1BB68 80240A68 00000000 */ nop +/* A1BB6C 80240A6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240A70_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240A70_A1B100.s new file mode 100644 index 0000000000..3f3f7c0f82 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240A70_A1B100.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A70_A1BB70 +/* A1BB70 80240A70 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A1BB74 80240A74 F7B40018 */ sdc1 $f20, 0x18($sp) +/* A1BB78 80240A78 4485A000 */ mtc1 $a1, $f20 +/* A1BB7C 80240A7C F7B60020 */ sdc1 $f22, 0x20($sp) +/* A1BB80 80240A80 4486B000 */ mtc1 $a2, $f22 +/* A1BB84 80240A84 AFB00010 */ sw $s0, 0x10($sp) +/* A1BB88 80240A88 F7B80028 */ sdc1 $f24, 0x28($sp) +/* A1BB8C 80240A8C 4487C000 */ mtc1 $a3, $f24 +/* A1BB90 80240A90 AFBF0014 */ sw $ra, 0x14($sp) +/* A1BB94 80240A94 0C019D28 */ jal guMtxIdentF +/* A1BB98 80240A98 0080802D */ daddu $s0, $a0, $zero +/* A1BB9C 80240A9C 4616A582 */ mul.s $f22, $f20, $f22 +/* A1BBA0 80240AA0 00000000 */ nop +/* A1BBA4 80240AA4 4618A502 */ mul.s $f20, $f20, $f24 +/* A1BBA8 80240AA8 00000000 */ nop +/* A1BBAC 80240AAC 3C013F80 */ lui $at, 0x3f80 +/* A1BBB0 80240AB0 44810000 */ mtc1 $at, $f0 +/* A1BBB4 80240AB4 00000000 */ nop +/* A1BBB8 80240AB8 E6000014 */ swc1 $f0, 0x14($s0) +/* A1BBBC 80240ABC E6160010 */ swc1 $f22, 0x10($s0) +/* A1BBC0 80240AC0 E6140018 */ swc1 $f20, 0x18($s0) +/* A1BBC4 80240AC4 8FBF0014 */ lw $ra, 0x14($sp) +/* A1BBC8 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* A1BBCC 80240ACC D7B80028 */ ldc1 $f24, 0x28($sp) +/* A1BBD0 80240AD0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* A1BBD4 80240AD4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* A1BBD8 80240AD8 03E00008 */ jr $ra +/* A1BBDC 80240ADC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240AE0.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240AE0.s new file mode 100644 index 0000000000..d6279a7a12 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240AE0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE0 +/* A1BBE0 80240AE0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* A1BBE4 80240AE4 AFB10054 */ sw $s1, 0x54($sp) +/* A1BBE8 80240AE8 0080882D */ daddu $s1, $a0, $zero +/* A1BBEC 80240AEC AFBF005C */ sw $ra, 0x5c($sp) +/* A1BBF0 80240AF0 AFB20058 */ sw $s2, 0x58($sp) +/* A1BBF4 80240AF4 AFB00050 */ sw $s0, 0x50($sp) +/* A1BBF8 80240AF8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* A1BBFC 80240AFC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A1BC00 80240B00 F7B80070 */ sdc1 $f24, 0x70($sp) +/* A1BC04 80240B04 F7B60068 */ sdc1 $f22, 0x68($sp) +/* A1BC08 80240B08 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A1BC0C 80240B0C 8E30000C */ lw $s0, 0xc($s1) +/* A1BC10 80240B10 8E050000 */ lw $a1, ($s0) +/* A1BC14 80240B14 0C0B1EAF */ jal get_variable +/* A1BC18 80240B18 26100004 */ addiu $s0, $s0, 4 +/* A1BC1C 80240B1C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A1BC20 80240B20 0040202D */ daddu $a0, $v0, $zero +/* A1BC24 80240B24 8E050000 */ lw $a1, ($s0) +/* A1BC28 80240B28 26100004 */ addiu $s0, $s0, 4 +/* A1BC2C 80240B2C 0220202D */ daddu $a0, $s1, $zero +/* A1BC30 80240B30 0C0B210B */ jal get_float_variable +/* A1BC34 80240B34 0040902D */ daddu $s2, $v0, $zero +/* A1BC38 80240B38 8E050000 */ lw $a1, ($s0) +/* A1BC3C 80240B3C 26100004 */ addiu $s0, $s0, 4 +/* A1BC40 80240B40 0220202D */ daddu $a0, $s1, $zero +/* A1BC44 80240B44 0C0B210B */ jal get_float_variable +/* A1BC48 80240B48 46000706 */ mov.s $f28, $f0 +/* A1BC4C 80240B4C 8E050000 */ lw $a1, ($s0) +/* A1BC50 80240B50 26100004 */ addiu $s0, $s0, 4 +/* A1BC54 80240B54 0220202D */ daddu $a0, $s1, $zero +/* A1BC58 80240B58 0C0B210B */ jal get_float_variable +/* A1BC5C 80240B5C 46000686 */ mov.s $f26, $f0 +/* A1BC60 80240B60 0220202D */ daddu $a0, $s1, $zero +/* A1BC64 80240B64 8E050000 */ lw $a1, ($s0) +/* A1BC68 80240B68 0C0B210B */ jal get_float_variable +/* A1BC6C 80240B6C 46000586 */ mov.s $f22, $f0 +/* A1BC70 80240B70 0240202D */ daddu $a0, $s2, $zero +/* A1BC74 80240B74 0C046B4C */ jal get_model_from_list_index +/* A1BC78 80240B78 46000606 */ mov.s $f24, $f0 +/* A1BC7C 80240B7C 0040882D */ daddu $s1, $v0, $zero +/* A1BC80 80240B80 96220000 */ lhu $v0, ($s1) +/* A1BC84 80240B84 30420400 */ andi $v0, $v0, 0x400 +/* A1BC88 80240B88 1440001E */ bnez $v0, .L80240C04 +/* A1BC8C 80240B8C 26300058 */ addiu $s0, $s1, 0x58 +/* A1BC90 80240B90 4480A000 */ mtc1 $zero, $f20 +/* A1BC94 80240B94 4406B000 */ mfc1 $a2, $f22 +/* A1BC98 80240B98 4405A000 */ mfc1 $a1, $f20 +/* A1BC9C 80240B9C 4407A000 */ mfc1 $a3, $f20 +/* A1BCA0 80240BA0 0C019E40 */ jal guTranslateF +/* A1BCA4 80240BA4 0200202D */ daddu $a0, $s0, $zero +/* A1BCA8 80240BA8 4405E000 */ mfc1 $a1, $f28 +/* A1BCAC 80240BAC 4406D000 */ mfc1 $a2, $f26 +/* A1BCB0 80240BB0 4407C000 */ mfc1 $a3, $f24 +/* A1BCB4 80240BB4 0C09029C */ jal func_80240A70 +/* A1BCB8 80240BB8 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BCBC 80240BBC 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BCC0 80240BC0 0200282D */ daddu $a1, $s0, $zero +/* A1BCC4 80240BC4 0C019D80 */ jal guMtxCatF +/* A1BCC8 80240BC8 0200302D */ daddu $a2, $s0, $zero +/* A1BCCC 80240BCC 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BCD0 80240BD0 4600B587 */ neg.s $f22, $f22 +/* A1BCD4 80240BD4 4405A000 */ mfc1 $a1, $f20 +/* A1BCD8 80240BD8 4406B000 */ mfc1 $a2, $f22 +/* A1BCDC 80240BDC 0C019E40 */ jal guTranslateF +/* A1BCE0 80240BE0 00A0382D */ daddu $a3, $a1, $zero +/* A1BCE4 80240BE4 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BCE8 80240BE8 0200282D */ daddu $a1, $s0, $zero +/* A1BCEC 80240BEC 0C019D80 */ jal guMtxCatF +/* A1BCF0 80240BF0 00A0302D */ daddu $a2, $a1, $zero +/* A1BCF4 80240BF4 96220000 */ lhu $v0, ($s1) +/* A1BCF8 80240BF8 34421400 */ ori $v0, $v0, 0x1400 +/* A1BCFC 80240BFC 0809031F */ j .L80240C7C +/* A1BD00 80240C00 A6220000 */ sh $v0, ($s1) +.L80240C04: +/* A1BD04 80240C04 4480A000 */ mtc1 $zero, $f20 +/* A1BD08 80240C08 4406B000 */ mfc1 $a2, $f22 +/* A1BD0C 80240C0C 4405A000 */ mfc1 $a1, $f20 +/* A1BD10 80240C10 4407A000 */ mfc1 $a3, $f20 +/* A1BD14 80240C14 0C019E40 */ jal guTranslateF +/* A1BD18 80240C18 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD1C 80240C1C 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD20 80240C20 26300058 */ addiu $s0, $s1, 0x58 +/* A1BD24 80240C24 0200282D */ daddu $a1, $s0, $zero +/* A1BD28 80240C28 0C019D80 */ jal guMtxCatF +/* A1BD2C 80240C2C 0200302D */ daddu $a2, $s0, $zero +/* A1BD30 80240C30 4405E000 */ mfc1 $a1, $f28 +/* A1BD34 80240C34 4406D000 */ mfc1 $a2, $f26 +/* A1BD38 80240C38 4407C000 */ mfc1 $a3, $f24 +/* A1BD3C 80240C3C 0C09029C */ jal func_80240A70 +/* A1BD40 80240C40 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD44 80240C44 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD48 80240C48 0200282D */ daddu $a1, $s0, $zero +/* A1BD4C 80240C4C 0C019D80 */ jal guMtxCatF +/* A1BD50 80240C50 0200302D */ daddu $a2, $s0, $zero +/* A1BD54 80240C54 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD58 80240C58 4600B587 */ neg.s $f22, $f22 +/* A1BD5C 80240C5C 4405A000 */ mfc1 $a1, $f20 +/* A1BD60 80240C60 4406B000 */ mfc1 $a2, $f22 +/* A1BD64 80240C64 0C019E40 */ jal guTranslateF +/* A1BD68 80240C68 00A0382D */ daddu $a3, $a1, $zero +/* A1BD6C 80240C6C 27A40010 */ addiu $a0, $sp, 0x10 +/* A1BD70 80240C70 0200282D */ daddu $a1, $s0, $zero +/* A1BD74 80240C74 0C019D80 */ jal guMtxCatF +/* A1BD78 80240C78 00A0302D */ daddu $a2, $a1, $zero +.L80240C7C: +/* A1BD7C 80240C7C 8FBF005C */ lw $ra, 0x5c($sp) +/* A1BD80 80240C80 8FB20058 */ lw $s2, 0x58($sp) +/* A1BD84 80240C84 8FB10054 */ lw $s1, 0x54($sp) +/* A1BD88 80240C88 8FB00050 */ lw $s0, 0x50($sp) +/* A1BD8C 80240C8C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* A1BD90 80240C90 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A1BD94 80240C94 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A1BD98 80240C98 D7B60068 */ ldc1 $f22, 0x68($sp) +/* A1BD9C 80240C9C D7B40060 */ ldc1 $f20, 0x60($sp) +/* A1BDA0 80240CA0 24020002 */ addiu $v0, $zero, 2 +/* A1BDA4 80240CA4 03E00008 */ jr $ra +/* A1BDA8 80240CA8 27BD0088 */ addiu $sp, $sp, 0x88 +/* A1BDAC 80240CAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240CB0_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240CB0_A1B100.s new file mode 100644 index 0000000000..2276f00b3d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240CB0_A1B100.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB0_A1BDB0 +/* A1BDB0 80240CB0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A1BDB4 80240CB4 AFB3002C */ sw $s3, 0x2c($sp) +/* A1BDB8 80240CB8 0080982D */ daddu $s3, $a0, $zero +/* A1BDBC 80240CBC AFBF0030 */ sw $ra, 0x30($sp) +/* A1BDC0 80240CC0 AFB20028 */ sw $s2, 0x28($sp) +/* A1BDC4 80240CC4 AFB10024 */ sw $s1, 0x24($sp) +/* A1BDC8 80240CC8 AFB00020 */ sw $s0, 0x20($sp) +/* A1BDCC 80240CCC 8E710148 */ lw $s1, 0x148($s3) +/* A1BDD0 80240CD0 86240008 */ lh $a0, 8($s1) +/* A1BDD4 80240CD4 0C00EABB */ jal get_npc_unsafe +/* A1BDD8 80240CD8 00A0902D */ daddu $s2, $a1, $zero +/* A1BDDC 80240CDC 8E440004 */ lw $a0, 4($s2) +/* A1BDE0 80240CE0 0040802D */ daddu $s0, $v0, $zero +/* A1BDE4 80240CE4 00041FC2 */ srl $v1, $a0, 0x1f +/* A1BDE8 80240CE8 00832021 */ addu $a0, $a0, $v1 +/* A1BDEC 80240CEC 00042043 */ sra $a0, $a0, 1 +/* A1BDF0 80240CF0 0C00A67F */ jal rand_int +/* A1BDF4 80240CF4 24840001 */ addiu $a0, $a0, 1 +/* A1BDF8 80240CF8 8E430004 */ lw $v1, 4($s2) +/* A1BDFC 80240CFC 000327C2 */ srl $a0, $v1, 0x1f +/* A1BE00 80240D00 00641821 */ addu $v1, $v1, $a0 +/* A1BE04 80240D04 00031843 */ sra $v1, $v1, 1 +/* A1BE08 80240D08 00621821 */ addu $v1, $v1, $v0 +/* A1BE0C 80240D0C A603008E */ sh $v1, 0x8e($s0) +/* A1BE10 80240D10 8E2300D0 */ lw $v1, 0xd0($s1) +/* A1BE14 80240D14 C6000040 */ lwc1 $f0, 0x40($s0) +/* A1BE18 80240D18 C4640000 */ lwc1 $f4, ($v1) +/* A1BE1C 80240D1C 46802120 */ cvt.s.w $f4, $f4 +/* A1BE20 80240D20 C4620008 */ lwc1 $f2, 8($v1) +/* A1BE24 80240D24 468010A0 */ cvt.s.w $f2, $f2 +/* A1BE28 80240D28 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1BE2C 80240D2C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1BE30 80240D30 44061000 */ mfc1 $a2, $f2 +/* A1BE34 80240D34 C440000C */ lwc1 $f0, 0xc($v0) +/* A1BE38 80240D38 46800020 */ cvt.s.w $f0, $f0 +/* A1BE3C 80240D3C E7A00014 */ swc1 $f0, 0x14($sp) +/* A1BE40 80240D40 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1BE44 80240D44 44052000 */ mfc1 $a1, $f4 +/* A1BE48 80240D48 C4400010 */ lwc1 $f0, 0x10($v0) +/* A1BE4C 80240D4C 46800020 */ cvt.s.w $f0, $f0 +/* A1BE50 80240D50 E7A00018 */ swc1 $f0, 0x18($sp) +/* A1BE54 80240D54 8C640018 */ lw $a0, 0x18($v1) +/* A1BE58 80240D58 0C0123F5 */ jal is_point_within_region +/* A1BE5C 80240D5C 8E070038 */ lw $a3, 0x38($s0) +/* A1BE60 80240D60 1040000E */ beqz $v0, .L80240D9C +/* A1BE64 80240D64 00000000 */ nop +/* A1BE68 80240D68 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1BE6C 80240D6C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A1BE70 80240D70 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A1BE74 80240D74 C4460000 */ lwc1 $f6, ($v0) +/* A1BE78 80240D78 468031A0 */ cvt.s.w $f6, $f6 +/* A1BE7C 80240D7C 44063000 */ mfc1 $a2, $f6 +/* A1BE80 80240D80 C4460008 */ lwc1 $f6, 8($v0) +/* A1BE84 80240D84 468031A0 */ cvt.s.w $f6, $f6 +/* A1BE88 80240D88 44073000 */ mfc1 $a3, $f6 +/* A1BE8C 80240D8C 0C00A720 */ jal atan2 +/* A1BE90 80240D90 00000000 */ nop +/* A1BE94 80240D94 08090373 */ j .L80240DCC +/* A1BE98 80240D98 E600000C */ swc1 $f0, 0xc($s0) +.L80240D9C: +/* A1BE9C 80240D9C 0C00A67F */ jal rand_int +/* A1BEA0 80240DA0 2404003C */ addiu $a0, $zero, 0x3c +/* A1BEA4 80240DA4 C60C000C */ lwc1 $f12, 0xc($s0) +/* A1BEA8 80240DA8 44820000 */ mtc1 $v0, $f0 +/* A1BEAC 80240DAC 00000000 */ nop +/* A1BEB0 80240DB0 46800020 */ cvt.s.w $f0, $f0 +/* A1BEB4 80240DB4 46006300 */ add.s $f12, $f12, $f0 +/* A1BEB8 80240DB8 3C0141F0 */ lui $at, 0x41f0 +/* A1BEBC 80240DBC 44810000 */ mtc1 $at, $f0 +/* A1BEC0 80240DC0 0C00A6C9 */ jal clamp_angle +/* A1BEC4 80240DC4 46006301 */ sub.s $f12, $f12, $f0 +/* A1BEC8 80240DC8 E600000C */ swc1 $f0, 0xc($s0) +.L80240DCC: +/* A1BECC 80240DCC 8E2200CC */ lw $v0, 0xcc($s1) +/* A1BED0 80240DD0 8C420004 */ lw $v0, 4($v0) +/* A1BED4 80240DD4 AE020028 */ sw $v0, 0x28($s0) +/* A1BED8 80240DD8 AE600074 */ sw $zero, 0x74($s3) +/* A1BEDC 80240DDC 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1BEE0 80240DE0 8C420014 */ lw $v0, 0x14($v0) +/* A1BEE4 80240DE4 04410004 */ bgez $v0, .L80240DF8 +/* A1BEE8 80240DE8 00000000 */ nop +/* A1BEEC 80240DEC C6400000 */ lwc1 $f0, ($s2) +/* A1BEF0 80240DF0 08090386 */ j .L80240E18 +/* A1BEF4 80240DF4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240DF8: +/* A1BEF8 80240DF8 3C018025 */ lui $at, 0x8025 +/* A1BEFC 80240DFC D422BD70 */ ldc1 $f2, -0x4290($at) +/* A1BF00 80240E00 44820000 */ mtc1 $v0, $f0 +/* A1BF04 80240E04 00000000 */ nop +/* A1BF08 80240E08 46800021 */ cvt.d.w $f0, $f0 +/* A1BF0C 80240E0C 46220003 */ div.d $f0, $f0, $f2 +/* A1BF10 80240E10 46200020 */ cvt.s.d $f0, $f0 +/* A1BF14 80240E14 E6000018 */ swc1 $f0, 0x18($s0) +.L80240E18: +/* A1BF18 80240E18 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1BF1C 80240E1C 3C014059 */ lui $at, 0x4059 +/* A1BF20 80240E20 44811800 */ mtc1 $at, $f3 +/* A1BF24 80240E24 44801000 */ mtc1 $zero, $f2 +/* A1BF28 80240E28 46000021 */ cvt.d.s $f0, $f0 +/* A1BF2C 80240E2C 46220002 */ mul.d $f0, $f0, $f2 +/* A1BF30 80240E30 00000000 */ nop +/* A1BF34 80240E34 24020001 */ addiu $v0, $zero, 1 +/* A1BF38 80240E38 4620018D */ trunc.w.d $f6, $f0 +/* A1BF3C 80240E3C E626007C */ swc1 $f6, 0x7c($s1) +/* A1BF40 80240E40 AE620070 */ sw $v0, 0x70($s3) +/* A1BF44 80240E44 8FBF0030 */ lw $ra, 0x30($sp) +/* A1BF48 80240E48 8FB3002C */ lw $s3, 0x2c($sp) +/* A1BF4C 80240E4C 8FB20028 */ lw $s2, 0x28($sp) +/* A1BF50 80240E50 8FB10024 */ lw $s1, 0x24($sp) +/* A1BF54 80240E54 8FB00020 */ lw $s0, 0x20($sp) +/* A1BF58 80240E58 03E00008 */ jr $ra +/* A1BF5C 80240E5C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80240E60_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80240E60_A1B100.s new file mode 100644 index 0000000000..3bcc8190f1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80240E60_A1B100.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E60_A1BF60 +/* A1BF60 80240E60 27BDFF80 */ addiu $sp, $sp, -0x80 +/* A1BF64 80240E64 AFB3004C */ sw $s3, 0x4c($sp) +/* A1BF68 80240E68 0080982D */ daddu $s3, $a0, $zero +/* A1BF6C 80240E6C AFBF0058 */ sw $ra, 0x58($sp) +/* A1BF70 80240E70 AFB50054 */ sw $s5, 0x54($sp) +/* A1BF74 80240E74 AFB40050 */ sw $s4, 0x50($sp) +/* A1BF78 80240E78 AFB20048 */ sw $s2, 0x48($sp) +/* A1BF7C 80240E7C AFB10044 */ sw $s1, 0x44($sp) +/* A1BF80 80240E80 AFB00040 */ sw $s0, 0x40($sp) +/* A1BF84 80240E84 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A1BF88 80240E88 F7B80070 */ sdc1 $f24, 0x70($sp) +/* A1BF8C 80240E8C F7B60068 */ sdc1 $f22, 0x68($sp) +/* A1BF90 80240E90 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A1BF94 80240E94 8E710148 */ lw $s1, 0x148($s3) +/* A1BF98 80240E98 00A0902D */ daddu $s2, $a1, $zero +/* A1BF9C 80240E9C 86240008 */ lh $a0, 8($s1) +/* A1BFA0 80240EA0 0C00EABB */ jal get_npc_unsafe +/* A1BFA4 80240EA4 00C0A82D */ daddu $s5, $a2, $zero +/* A1BFA8 80240EA8 0040802D */ daddu $s0, $v0, $zero +/* A1BFAC 80240EAC 0000A02D */ daddu $s4, $zero, $zero +/* A1BFB0 80240EB0 C624007C */ lwc1 $f4, 0x7c($s1) +/* A1BFB4 80240EB4 46802120 */ cvt.s.w $f4, $f4 +/* A1BFB8 80240EB8 C6220088 */ lwc1 $f2, 0x88($s1) +/* A1BFBC 80240EBC 468010A0 */ cvt.s.w $f2, $f2 +/* A1BFC0 80240EC0 460010A1 */ cvt.d.s $f2, $f2 +/* A1BFC4 80240EC4 46002121 */ cvt.d.s $f4, $f4 +/* A1BFC8 80240EC8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1BFCC 80240ECC 3C014059 */ lui $at, 0x4059 +/* A1BFD0 80240ED0 44813800 */ mtc1 $at, $f7 +/* A1BFD4 80240ED4 44803000 */ mtc1 $zero, $f6 +/* A1BFD8 80240ED8 46000021 */ cvt.d.s $f0, $f0 +/* A1BFDC 80240EDC 46260002 */ mul.d $f0, $f0, $f6 +/* A1BFE0 80240EE0 00000000 */ nop +/* A1BFE4 80240EE4 24020001 */ addiu $v0, $zero, 1 +/* A1BFE8 80240EE8 8E24006C */ lw $a0, 0x6c($s1) +/* A1BFEC 80240EEC 46261083 */ div.d $f2, $f2, $f6 +/* A1BFF0 80240EF0 462010A0 */ cvt.s.d $f2, $f2 +/* A1BFF4 80240EF4 46262103 */ div.d $f4, $f4, $f6 +/* A1BFF8 80240EF8 46202520 */ cvt.s.d $f20, $f4 +/* A1BFFC 80240EFC 30830011 */ andi $v1, $a0, 0x11 +/* A1C000 80240F00 4620020D */ trunc.w.d $f8, $f0 +/* A1C004 80240F04 E628007C */ swc1 $f8, 0x7c($s1) +/* A1C008 80240F08 C6200078 */ lwc1 $f0, 0x78($s1) +/* A1C00C 80240F0C 46800020 */ cvt.s.w $f0, $f0 +/* A1C010 80240F10 46000021 */ cvt.d.s $f0, $f0 +/* A1C014 80240F14 46260003 */ div.d $f0, $f0, $f6 +/* A1C018 80240F18 462006A0 */ cvt.s.d $f26, $f0 +/* A1C01C 80240F1C C6200070 */ lwc1 $f0, 0x70($s1) +/* A1C020 80240F20 46800020 */ cvt.s.w $f0, $f0 +/* A1C024 80240F24 46000021 */ cvt.d.s $f0, $f0 +/* A1C028 80240F28 46260003 */ div.d $f0, $f0, $f6 +/* A1C02C 80240F2C 462005A0 */ cvt.s.d $f22, $f0 +/* A1C030 80240F30 14620025 */ bne $v1, $v0, .L80240FC8 +/* A1C034 80240F34 4602D600 */ add.s $f24, $f26, $f2 +/* A1C038 80240F38 8E020000 */ lw $v0, ($s0) +/* A1C03C 80240F3C 30420008 */ andi $v0, $v0, 8 +/* A1C040 80240F40 10400009 */ beqz $v0, .L80240F68 +/* A1C044 80240F44 27A50028 */ addiu $a1, $sp, 0x28 +/* A1C048 80240F48 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1C04C 80240F4C 4600C001 */ sub.s $f0, $f24, $f0 +/* A1C050 80240F50 4600B03C */ c.lt.s $f22, $f0 +/* A1C054 80240F54 00000000 */ nop +/* A1C058 80240F58 4500001B */ bc1f .L80240FC8 +/* A1C05C 80240F5C 34820010 */ ori $v0, $a0, 0x10 +/* A1C060 80240F60 080903F2 */ j .L80240FC8 +/* A1C064 80240F64 AE22006C */ sw $v0, 0x6c($s1) +.L80240F68: +/* A1C068 80240F68 27A6002C */ addiu $a2, $sp, 0x2c +/* A1C06C 80240F6C C6000038 */ lwc1 $f0, 0x38($s0) +/* A1C070 80240F70 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1C074 80240F74 C6040040 */ lwc1 $f4, 0x40($s0) +/* A1C078 80240F78 3C01447A */ lui $at, 0x447a +/* A1C07C 80240F7C 44813000 */ mtc1 $at, $f6 +/* A1C080 80240F80 27A20034 */ addiu $v0, $sp, 0x34 +/* A1C084 80240F84 E7A00028 */ swc1 $f0, 0x28($sp) +/* A1C088 80240F88 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A1C08C 80240F8C E7A40030 */ swc1 $f4, 0x30($sp) +/* A1C090 80240F90 E7A60034 */ swc1 $f6, 0x34($sp) +/* A1C094 80240F94 AFA20010 */ sw $v0, 0x10($sp) +/* A1C098 80240F98 8E040080 */ lw $a0, 0x80($s0) +/* A1C09C 80240F9C 0C0372DF */ jal func_800DCB7C +/* A1C0A0 80240FA0 27A70030 */ addiu $a3, $sp, 0x30 +/* A1C0A4 80240FA4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* A1C0A8 80240FA8 4600D001 */ sub.s $f0, $f26, $f0 +/* A1C0AC 80240FAC 4600B03C */ c.lt.s $f22, $f0 +/* A1C0B0 80240FB0 00000000 */ nop +/* A1C0B4 80240FB4 45000004 */ bc1f .L80240FC8 +/* A1C0B8 80240FB8 00000000 */ nop +/* A1C0BC 80240FBC 8E22006C */ lw $v0, 0x6c($s1) +/* A1C0C0 80240FC0 34420010 */ ori $v0, $v0, 0x10 +/* A1C0C4 80240FC4 AE22006C */ sw $v0, 0x6c($s1) +.L80240FC8: +/* A1C0C8 80240FC8 8E22006C */ lw $v0, 0x6c($s1) +/* A1C0CC 80240FCC 24030011 */ addiu $v1, $zero, 0x11 +/* A1C0D0 80240FD0 30420011 */ andi $v0, $v0, 0x11 +/* A1C0D4 80240FD4 14430039 */ bne $v0, $v1, .L802410BC +/* A1C0D8 80240FD8 00000000 */ nop +/* A1C0DC 80240FDC 8E020000 */ lw $v0, ($s0) +/* A1C0E0 80240FE0 30420008 */ andi $v0, $v0, 8 +/* A1C0E4 80240FE4 1040000A */ beqz $v0, .L80241010 +/* A1C0E8 80240FE8 4600C106 */ mov.s $f4, $f24 +/* A1C0EC 80240FEC 4614C081 */ sub.s $f2, $f24, $f20 +/* A1C0F0 80240FF0 3C018025 */ lui $at, 0x8025 +/* A1C0F4 80240FF4 D420BD78 */ ldc1 $f0, -0x4288($at) +/* A1C0F8 80240FF8 460010A1 */ cvt.d.s $f2, $f2 +/* A1C0FC 80240FFC 46201082 */ mul.d $f2, $f2, $f0 +/* A1C100 80241000 00000000 */ nop +/* A1C104 80241004 4600A021 */ cvt.d.s $f0, $f20 +/* A1C108 80241008 0809041D */ j .L80241074 +/* A1C10C 8024100C 46220000 */ add.d $f0, $f0, $f2 +.L80241010: +/* A1C110 80241010 27A50028 */ addiu $a1, $sp, 0x28 +/* A1C114 80241014 27A6002C */ addiu $a2, $sp, 0x2c +/* A1C118 80241018 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1C11C 8024101C C6020040 */ lwc1 $f2, 0x40($s0) +/* A1C120 80241020 3C01447A */ lui $at, 0x447a +/* A1C124 80241024 44812000 */ mtc1 $at, $f4 +/* A1C128 80241028 27A20034 */ addiu $v0, $sp, 0x34 +/* A1C12C 8024102C E7B4002C */ swc1 $f20, 0x2c($sp) +/* A1C130 80241030 E7A00028 */ swc1 $f0, 0x28($sp) +/* A1C134 80241034 E7A20030 */ swc1 $f2, 0x30($sp) +/* A1C138 80241038 E7A40034 */ swc1 $f4, 0x34($sp) +/* A1C13C 8024103C AFA20010 */ sw $v0, 0x10($sp) +/* A1C140 80241040 8E040080 */ lw $a0, 0x80($s0) +/* A1C144 80241044 0C0372DF */ jal func_800DCB7C +/* A1C148 80241048 27A70030 */ addiu $a3, $sp, 0x30 +/* A1C14C 8024104C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* A1C150 80241050 461A2100 */ add.s $f4, $f4, $f26 +/* A1C154 80241054 46142081 */ sub.s $f2, $f4, $f20 +/* A1C158 80241058 3C018025 */ lui $at, 0x8025 +/* A1C15C 8024105C D420BD80 */ ldc1 $f0, -0x4280($at) +/* A1C160 80241060 460010A1 */ cvt.d.s $f2, $f2 +/* A1C164 80241064 46201082 */ mul.d $f2, $f2, $f0 +/* A1C168 80241068 00000000 */ nop +/* A1C16C 8024106C 4600A021 */ cvt.d.s $f0, $f20 +/* A1C170 80241070 46220000 */ add.d $f0, $f0, $f2 +.L80241074: +/* A1C174 80241074 46200020 */ cvt.s.d $f0, $f0 +/* A1C178 80241078 E600003C */ swc1 $f0, 0x3c($s0) +/* A1C17C 8024107C C600003C */ lwc1 $f0, 0x3c($s0) +/* A1C180 80241080 46002001 */ sub.s $f0, $f4, $f0 +/* A1C184 80241084 3C013FF0 */ lui $at, 0x3ff0 +/* A1C188 80241088 44811800 */ mtc1 $at, $f3 +/* A1C18C 8024108C 44801000 */ mtc1 $zero, $f2 +/* A1C190 80241090 46000005 */ abs.s $f0, $f0 +/* A1C194 80241094 46000021 */ cvt.d.s $f0, $f0 +/* A1C198 80241098 4622003C */ c.lt.d $f0, $f2 +/* A1C19C 8024109C 00000000 */ nop +/* A1C1A0 802410A0 45000036 */ bc1f .L8024117C +/* A1C1A4 802410A4 2403FFEF */ addiu $v1, $zero, -0x11 +/* A1C1A8 802410A8 E604003C */ swc1 $f4, 0x3c($s0) +/* A1C1AC 802410AC 8E22006C */ lw $v0, 0x6c($s1) +/* A1C1B0 802410B0 00431024 */ and $v0, $v0, $v1 +/* A1C1B4 802410B4 0809045F */ j .L8024117C +/* A1C1B8 802410B8 AE22006C */ sw $v0, 0x6c($s1) +.L802410BC: +/* A1C1BC 802410BC 8E220070 */ lw $v0, 0x70($s1) +/* A1C1C0 802410C0 1840002E */ blez $v0, .L8024117C +/* A1C1C4 802410C4 00000000 */ nop +/* A1C1C8 802410C8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* A1C1CC 802410CC 0C00A8BB */ jal sin_deg +/* A1C1D0 802410D0 46806320 */ cvt.s.w $f12, $f12 +/* A1C1D4 802410D4 8E020000 */ lw $v0, ($s0) +/* A1C1D8 802410D8 30420008 */ andi $v0, $v0, 8 +/* A1C1DC 802410DC 10400003 */ beqz $v0, .L802410EC +/* A1C1E0 802410E0 46000506 */ mov.s $f20, $f0 +/* A1C1E4 802410E4 0809044B */ j .L8024112C +/* A1C1E8 802410E8 0000102D */ daddu $v0, $zero, $zero +.L802410EC: +/* A1C1EC 802410EC 27A50028 */ addiu $a1, $sp, 0x28 +/* A1C1F0 802410F0 27A6002C */ addiu $a2, $sp, 0x2c +/* A1C1F4 802410F4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1C1F8 802410F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1C1FC 802410FC C6040040 */ lwc1 $f4, 0x40($s0) +/* A1C200 80241100 3C01447A */ lui $at, 0x447a +/* A1C204 80241104 44813000 */ mtc1 $at, $f6 +/* A1C208 80241108 27A20034 */ addiu $v0, $sp, 0x34 +/* A1C20C 8024110C E7A00028 */ swc1 $f0, 0x28($sp) +/* A1C210 80241110 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A1C214 80241114 E7A40030 */ swc1 $f4, 0x30($sp) +/* A1C218 80241118 E7A60034 */ swc1 $f6, 0x34($sp) +/* A1C21C 8024111C AFA20010 */ sw $v0, 0x10($sp) +/* A1C220 80241120 8E040080 */ lw $a0, 0x80($s0) +/* A1C224 80241124 0C0372DF */ jal func_800DCB7C +/* A1C228 80241128 27A70030 */ addiu $a3, $sp, 0x30 +.L8024112C: +/* A1C22C 8024112C 10400007 */ beqz $v0, .L8024114C +/* A1C230 80241130 00000000 */ nop +/* A1C234 80241134 4616A082 */ mul.s $f2, $f20, $f22 +/* A1C238 80241138 00000000 */ nop +/* A1C23C 8024113C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A1C240 80241140 461A0000 */ add.s $f0, $f0, $f26 +/* A1C244 80241144 08090456 */ j .L80241158 +/* A1C248 80241148 46020000 */ add.s $f0, $f0, $f2 +.L8024114C: +/* A1C24C 8024114C 4616A002 */ mul.s $f0, $f20, $f22 +/* A1C250 80241150 00000000 */ nop +/* A1C254 80241154 4600C000 */ add.s $f0, $f24, $f0 +.L80241158: +/* A1C258 80241158 E600003C */ swc1 $f0, 0x3c($s0) +/* A1C25C 8024115C 8E220074 */ lw $v0, 0x74($s1) +/* A1C260 80241160 2442000A */ addiu $v0, $v0, 0xa +/* A1C264 80241164 44826000 */ mtc1 $v0, $f12 +/* A1C268 80241168 00000000 */ nop +/* A1C26C 8024116C 0C00A6C9 */ jal clamp_angle +/* A1C270 80241170 46806320 */ cvt.s.w $f12, $f12 +/* A1C274 80241174 4600020D */ trunc.w.s $f8, $f0 +/* A1C278 80241178 E6280074 */ swc1 $f8, 0x74($s1) +.L8024117C: +/* A1C27C 8024117C 8E220090 */ lw $v0, 0x90($s1) +/* A1C280 80241180 1C40004A */ bgtz $v0, .L802412AC +/* A1C284 80241184 2442FFFF */ addiu $v0, $v0, -1 +/* A1C288 80241188 8E430014 */ lw $v1, 0x14($s2) +/* A1C28C 8024118C 04600048 */ bltz $v1, .L802412B0 +/* A1C290 80241190 00000000 */ nop +/* A1C294 80241194 8E620074 */ lw $v0, 0x74($s3) +/* A1C298 80241198 1C400042 */ bgtz $v0, .L802412A4 +/* A1C29C 8024119C 2442FFFF */ addiu $v0, $v0, -1 +/* A1C2A0 802411A0 AE630074 */ sw $v1, 0x74($s3) +/* A1C2A4 802411A4 860200A8 */ lh $v0, 0xa8($s0) +/* A1C2A8 802411A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1C2AC 802411AC 44820000 */ mtc1 $v0, $f0 +/* A1C2B0 802411B0 00000000 */ nop +/* A1C2B4 802411B4 46800020 */ cvt.s.w $f0, $f0 +/* A1C2B8 802411B8 46001080 */ add.s $f2, $f2, $f0 +/* A1C2BC 802411BC 3C014024 */ lui $at, 0x4024 +/* A1C2C0 802411C0 44810800 */ mtc1 $at, $f1 +/* A1C2C4 802411C4 44800000 */ mtc1 $zero, $f0 +/* A1C2C8 802411C8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1C2CC 802411CC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1C2D0 802411D0 460010A1 */ cvt.d.s $f2, $f2 +/* A1C2D4 802411D4 46201080 */ add.d $f2, $f2, $f0 +/* A1C2D8 802411D8 C440002C */ lwc1 $f0, 0x2c($v0) +/* A1C2DC 802411DC 46000021 */ cvt.d.s $f0, $f0 +/* A1C2E0 802411E0 4622003C */ c.lt.d $f0, $f2 +/* A1C2E4 802411E4 00000000 */ nop +/* A1C2E8 802411E8 4500002C */ bc1f .L8024129C +/* A1C2EC 802411EC 02A0202D */ daddu $a0, $s5, $zero +/* A1C2F0 802411F0 AFA00010 */ sw $zero, 0x10($sp) +/* A1C2F4 802411F4 8E46000C */ lw $a2, 0xc($s2) +/* A1C2F8 802411F8 8E470010 */ lw $a3, 0x10($s2) +/* A1C2FC 802411FC 0C01242D */ jal func_800490B4 +/* A1C300 80241200 0220282D */ daddu $a1, $s1, $zero +/* A1C304 80241204 10400025 */ beqz $v0, .L8024129C +/* A1C308 80241208 0000202D */ daddu $a0, $zero, $zero +/* A1C30C 8024120C 0200282D */ daddu $a1, $s0, $zero +/* A1C310 80241210 0000302D */ daddu $a2, $zero, $zero +/* A1C314 80241214 2412000C */ addiu $s2, $zero, 0xc +/* A1C318 80241218 860300A8 */ lh $v1, 0xa8($s0) +/* A1C31C 8024121C 3C013F80 */ lui $at, 0x3f80 +/* A1C320 80241220 44810000 */ mtc1 $at, $f0 +/* A1C324 80241224 3C014000 */ lui $at, 0x4000 +/* A1C328 80241228 44811000 */ mtc1 $at, $f2 +/* A1C32C 8024122C 3C01C1A0 */ lui $at, 0xc1a0 +/* A1C330 80241230 44812000 */ mtc1 $at, $f4 +/* A1C334 80241234 44834000 */ mtc1 $v1, $f8 +/* A1C338 80241238 00000000 */ nop +/* A1C33C 8024123C 46804220 */ cvt.s.w $f8, $f8 +/* A1C340 80241240 44074000 */ mfc1 $a3, $f8 +/* A1C344 80241244 27A20038 */ addiu $v0, $sp, 0x38 +/* A1C348 80241248 AFB2001C */ sw $s2, 0x1c($sp) +/* A1C34C 8024124C AFA20020 */ sw $v0, 0x20($sp) +/* A1C350 80241250 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1C354 80241254 E7A20014 */ swc1 $f2, 0x14($sp) +/* A1C358 80241258 0C01BFA4 */ jal fx_emote +/* A1C35C 8024125C E7A40018 */ swc1 $f4, 0x18($sp) +/* A1C360 80241260 0200202D */ daddu $a0, $s0, $zero +/* A1C364 80241264 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A1C368 80241268 C480003C */ lwc1 $f0, 0x3c($a0) +/* A1C36C 8024126C 3C060020 */ lui $a2, 0x20 +/* A1C370 80241270 0C012530 */ jal func_800494C0 +/* A1C374 80241274 E4800064 */ swc1 $f0, 0x64($a0) +/* A1C378 80241278 8E220018 */ lw $v0, 0x18($s1) +/* A1C37C 8024127C 9442002A */ lhu $v0, 0x2a($v0) +/* A1C380 80241280 30420001 */ andi $v0, $v0, 1 +/* A1C384 80241284 10400003 */ beqz $v0, .L80241294 +/* A1C388 80241288 2402000A */ addiu $v0, $zero, 0xa +/* A1C38C 8024128C 08090515 */ j .L80241454 +/* A1C390 80241290 AE620070 */ sw $v0, 0x70($s3) +.L80241294: +/* A1C394 80241294 08090515 */ j .L80241454 +/* A1C398 80241298 AE720070 */ sw $s2, 0x70($s3) +.L8024129C: +/* A1C39C 8024129C 8E620074 */ lw $v0, 0x74($s3) +/* A1C3A0 802412A0 2442FFFF */ addiu $v0, $v0, -1 +.L802412A4: +/* A1C3A4 802412A4 080904AC */ j .L802412B0 +/* A1C3A8 802412A8 AE620074 */ sw $v0, 0x74($s3) +.L802412AC: +/* A1C3AC 802412AC AE220090 */ sw $v0, 0x90($s1) +.L802412B0: +/* A1C3B0 802412B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A1C3B4 802412B4 C6000040 */ lwc1 $f0, 0x40($s0) +/* A1C3B8 802412B8 C4620000 */ lwc1 $f2, ($v1) +/* A1C3BC 802412BC 468010A0 */ cvt.s.w $f2, $f2 +/* A1C3C0 802412C0 C4640008 */ lwc1 $f4, 8($v1) +/* A1C3C4 802412C4 46802120 */ cvt.s.w $f4, $f4 +/* A1C3C8 802412C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1C3CC 802412CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1C3D0 802412D0 44051000 */ mfc1 $a1, $f2 +/* A1C3D4 802412D4 C440000C */ lwc1 $f0, 0xc($v0) +/* A1C3D8 802412D8 46800020 */ cvt.s.w $f0, $f0 +/* A1C3DC 802412DC E7A00014 */ swc1 $f0, 0x14($sp) +/* A1C3E0 802412E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1C3E4 802412E4 44062000 */ mfc1 $a2, $f4 +/* A1C3E8 802412E8 C4400010 */ lwc1 $f0, 0x10($v0) +/* A1C3EC 802412EC 46800020 */ cvt.s.w $f0, $f0 +/* A1C3F0 802412F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* A1C3F4 802412F4 8C640018 */ lw $a0, 0x18($v1) +/* A1C3F8 802412F8 0C0123F5 */ jal is_point_within_region +/* A1C3FC 802412FC 8E070038 */ lw $a3, 0x38($s0) +/* A1C400 80241300 1040001A */ beqz $v0, .L8024136C +/* A1C404 80241304 00000000 */ nop +/* A1C408 80241308 8E060038 */ lw $a2, 0x38($s0) +/* A1C40C 8024130C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1C410 80241310 8E070040 */ lw $a3, 0x40($s0) +/* A1C414 80241314 C44C0000 */ lwc1 $f12, ($v0) +/* A1C418 80241318 46806320 */ cvt.s.w $f12, $f12 +/* A1C41C 8024131C C44E0008 */ lwc1 $f14, 8($v0) +/* A1C420 80241320 0C00A7B5 */ jal dist2D +/* A1C424 80241324 468073A0 */ cvt.s.w $f14, $f14 +/* A1C428 80241328 C6020018 */ lwc1 $f2, 0x18($s0) +/* A1C42C 8024132C 4600103C */ c.lt.s $f2, $f0 +/* A1C430 80241330 00000000 */ nop +/* A1C434 80241334 4500000D */ bc1f .L8024136C +/* A1C438 80241338 E7A00034 */ swc1 $f0, 0x34($sp) +/* A1C43C 8024133C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A1C440 80241340 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1C444 80241344 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A1C448 80241348 C4480000 */ lwc1 $f8, ($v0) +/* A1C44C 8024134C 46804220 */ cvt.s.w $f8, $f8 +/* A1C450 80241350 44064000 */ mfc1 $a2, $f8 +/* A1C454 80241354 C4480008 */ lwc1 $f8, 8($v0) +/* A1C458 80241358 46804220 */ cvt.s.w $f8, $f8 +/* A1C45C 8024135C 44074000 */ mfc1 $a3, $f8 +/* A1C460 80241360 0C00A720 */ jal atan2 +/* A1C464 80241364 24140001 */ addiu $s4, $zero, 1 +/* A1C468 80241368 E600000C */ swc1 $f0, 0xc($s0) +.L8024136C: +/* A1C46C 8024136C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A1C470 80241370 8C43000C */ lw $v1, 0xc($v0) +/* A1C474 80241374 8C420010 */ lw $v0, 0x10($v0) +/* A1C478 80241378 00621825 */ or $v1, $v1, $v0 +/* A1C47C 8024137C 00741825 */ or $v1, $v1, $s4 +/* A1C480 80241380 10600008 */ beqz $v1, .L802413A4 +/* A1C484 80241384 00000000 */ nop +/* A1C488 80241388 8602008C */ lh $v0, 0x8c($s0) +/* A1C48C 8024138C 14400031 */ bnez $v0, .L80241454 +/* A1C490 80241390 00000000 */ nop +/* A1C494 80241394 8E050018 */ lw $a1, 0x18($s0) +/* A1C498 80241398 8E06000C */ lw $a2, 0xc($s0) +/* A1C49C 8024139C 0C00EA95 */ jal npc_move_heading +/* A1C4A0 802413A0 0200202D */ daddu $a0, $s0, $zero +.L802413A4: +/* A1C4A4 802413A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1C4A8 802413A8 3C014059 */ lui $at, 0x4059 +/* A1C4AC 802413AC 44811800 */ mtc1 $at, $f3 +/* A1C4B0 802413B0 44801000 */ mtc1 $zero, $f2 +/* A1C4B4 802413B4 46000021 */ cvt.d.s $f0, $f0 +/* A1C4B8 802413B8 46220002 */ mul.d $f0, $f0, $f2 +/* A1C4BC 802413BC 00000000 */ nop +/* A1C4C0 802413C0 4620020D */ trunc.w.d $f8, $f0 +/* A1C4C4 802413C4 E628007C */ swc1 $f8, 0x7c($s1) +/* A1C4C8 802413C8 8E420004 */ lw $v0, 4($s2) +/* A1C4CC 802413CC 18400021 */ blez $v0, .L80241454 +/* A1C4D0 802413D0 00000000 */ nop +/* A1C4D4 802413D4 8602008E */ lh $v0, 0x8e($s0) +/* A1C4D8 802413D8 9603008E */ lhu $v1, 0x8e($s0) +/* A1C4DC 802413DC 18400005 */ blez $v0, .L802413F4 +/* A1C4E0 802413E0 2462FFFF */ addiu $v0, $v1, -1 +/* A1C4E4 802413E4 A602008E */ sh $v0, 0x8e($s0) +/* A1C4E8 802413E8 00021400 */ sll $v0, $v0, 0x10 +/* A1C4EC 802413EC 1C400019 */ bgtz $v0, .L80241454 +/* A1C4F0 802413F0 00000000 */ nop +.L802413F4: +/* A1C4F4 802413F4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A1C4F8 802413F8 24020002 */ addiu $v0, $zero, 2 +/* A1C4FC 802413FC 0C00A67F */ jal rand_int +/* A1C500 80241400 AE620070 */ sw $v0, 0x70($s3) +/* A1C504 80241404 3C035555 */ lui $v1, 0x5555 +/* A1C508 80241408 34635556 */ ori $v1, $v1, 0x5556 +/* A1C50C 8024140C 00430018 */ mult $v0, $v1 +/* A1C510 80241410 000227C3 */ sra $a0, $v0, 0x1f +/* A1C514 80241414 00004010 */ mfhi $t0 +/* A1C518 80241418 01042023 */ subu $a0, $t0, $a0 +/* A1C51C 8024141C 00041840 */ sll $v1, $a0, 1 +/* A1C520 80241420 00641821 */ addu $v1, $v1, $a0 +/* A1C524 80241424 00431023 */ subu $v0, $v0, $v1 +/* A1C528 80241428 24430002 */ addiu $v1, $v0, 2 +/* A1C52C 8024142C AE630074 */ sw $v1, 0x74($s3) +/* A1C530 80241430 8E42002C */ lw $v0, 0x2c($s2) +/* A1C534 80241434 58400007 */ blezl $v0, .L80241454 +/* A1C538 80241438 AE600070 */ sw $zero, 0x70($s3) +/* A1C53C 8024143C 8E420008 */ lw $v0, 8($s2) +/* A1C540 80241440 18400003 */ blez $v0, .L80241450 +/* A1C544 80241444 28620003 */ slti $v0, $v1, 3 +/* A1C548 80241448 10400002 */ beqz $v0, .L80241454 +/* A1C54C 8024144C 00000000 */ nop +.L80241450: +/* A1C550 80241450 AE600070 */ sw $zero, 0x70($s3) +.L80241454: +/* A1C554 80241454 8FBF0058 */ lw $ra, 0x58($sp) +/* A1C558 80241458 8FB50054 */ lw $s5, 0x54($sp) +/* A1C55C 8024145C 8FB40050 */ lw $s4, 0x50($sp) +/* A1C560 80241460 8FB3004C */ lw $s3, 0x4c($sp) +/* A1C564 80241464 8FB20048 */ lw $s2, 0x48($sp) +/* A1C568 80241468 8FB10044 */ lw $s1, 0x44($sp) +/* A1C56C 8024146C 8FB00040 */ lw $s0, 0x40($sp) +/* A1C570 80241470 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A1C574 80241474 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A1C578 80241478 D7B60068 */ ldc1 $f22, 0x68($sp) +/* A1C57C 8024147C D7B40060 */ ldc1 $f20, 0x60($sp) +/* A1C580 80241480 03E00008 */ jr $ra +/* A1C584 80241484 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241488.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241488.s new file mode 100644 index 0000000000..dd16a969b6 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241488.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241488 +/* A1C588 80241488 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1C58C 8024148C AFB3001C */ sw $s3, 0x1c($sp) +/* A1C590 80241490 0080982D */ daddu $s3, $a0, $zero +/* A1C594 80241494 AFBF0020 */ sw $ra, 0x20($sp) +/* A1C598 80241498 AFB20018 */ sw $s2, 0x18($sp) +/* A1C59C 8024149C AFB10014 */ sw $s1, 0x14($sp) +/* A1C5A0 802414A0 AFB00010 */ sw $s0, 0x10($sp) +/* A1C5A4 802414A4 8E720148 */ lw $s2, 0x148($s3) +/* A1C5A8 802414A8 86440008 */ lh $a0, 8($s2) +/* A1C5AC 802414AC 0C00EABB */ jal get_npc_unsafe +/* A1C5B0 802414B0 00A0882D */ daddu $s1, $a1, $zero +/* A1C5B4 802414B4 8E240008 */ lw $a0, 8($s1) +/* A1C5B8 802414B8 0040802D */ daddu $s0, $v0, $zero +/* A1C5BC 802414BC 00041FC2 */ srl $v1, $a0, 0x1f +/* A1C5C0 802414C0 00832021 */ addu $a0, $a0, $v1 +/* A1C5C4 802414C4 00042043 */ sra $a0, $a0, 1 +/* A1C5C8 802414C8 0C00A67F */ jal rand_int +/* A1C5CC 802414CC 24840001 */ addiu $a0, $a0, 1 +/* A1C5D0 802414D0 8E230008 */ lw $v1, 8($s1) +/* A1C5D4 802414D4 240400B4 */ addiu $a0, $zero, 0xb4 +/* A1C5D8 802414D8 00032FC2 */ srl $a1, $v1, 0x1f +/* A1C5DC 802414DC 00651821 */ addu $v1, $v1, $a1 +/* A1C5E0 802414E0 00031843 */ sra $v1, $v1, 1 +/* A1C5E4 802414E4 00621821 */ addu $v1, $v1, $v0 +/* A1C5E8 802414E8 0C00A67F */ jal rand_int +/* A1C5EC 802414EC A603008E */ sh $v1, 0x8e($s0) +/* A1C5F0 802414F0 C60C000C */ lwc1 $f12, 0xc($s0) +/* A1C5F4 802414F4 44820000 */ mtc1 $v0, $f0 +/* A1C5F8 802414F8 00000000 */ nop +/* A1C5FC 802414FC 46800020 */ cvt.s.w $f0, $f0 +/* A1C600 80241500 46006300 */ add.s $f12, $f12, $f0 +/* A1C604 80241504 3C0142B4 */ lui $at, 0x42b4 +/* A1C608 80241508 44810000 */ mtc1 $at, $f0 +/* A1C60C 8024150C 0C00A6C9 */ jal clamp_angle +/* A1C610 80241510 46006301 */ sub.s $f12, $f12, $f0 +/* A1C614 80241514 E600000C */ swc1 $f0, 0xc($s0) +/* A1C618 80241518 8E4200CC */ lw $v0, 0xcc($s2) +/* A1C61C 8024151C 8C420000 */ lw $v0, ($v0) +/* A1C620 80241520 AE020028 */ sw $v0, 0x28($s0) +/* A1C624 80241524 24020003 */ addiu $v0, $zero, 3 +/* A1C628 80241528 AE620070 */ sw $v0, 0x70($s3) +/* A1C62C 8024152C 8FBF0020 */ lw $ra, 0x20($sp) +/* A1C630 80241530 8FB3001C */ lw $s3, 0x1c($sp) +/* A1C634 80241534 8FB20018 */ lw $s2, 0x18($sp) +/* A1C638 80241538 8FB10014 */ lw $s1, 0x14($sp) +/* A1C63C 8024153C 8FB00010 */ lw $s0, 0x10($sp) +/* A1C640 80241540 03E00008 */ jr $ra +/* A1C644 80241544 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241548.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241548.s new file mode 100644 index 0000000000..094383f0c7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241548.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241548 +/* A1C648 80241548 27BDFF88 */ addiu $sp, $sp, -0x78 +/* A1C64C 8024154C AFB3004C */ sw $s3, 0x4c($sp) +/* A1C650 80241550 0080982D */ daddu $s3, $a0, $zero +/* A1C654 80241554 AFBF0054 */ sw $ra, 0x54($sp) +/* A1C658 80241558 AFB40050 */ sw $s4, 0x50($sp) +/* A1C65C 8024155C AFB20048 */ sw $s2, 0x48($sp) +/* A1C660 80241560 AFB10044 */ sw $s1, 0x44($sp) +/* A1C664 80241564 AFB00040 */ sw $s0, 0x40($sp) +/* A1C668 80241568 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* A1C66C 8024156C F7B80068 */ sdc1 $f24, 0x68($sp) +/* A1C670 80241570 F7B60060 */ sdc1 $f22, 0x60($sp) +/* A1C674 80241574 F7B40058 */ sdc1 $f20, 0x58($sp) +/* A1C678 80241578 8E710148 */ lw $s1, 0x148($s3) +/* A1C67C 8024157C 00A0902D */ daddu $s2, $a1, $zero +/* A1C680 80241580 86240008 */ lh $a0, 8($s1) +/* A1C684 80241584 0C00EABB */ jal get_npc_unsafe +/* A1C688 80241588 00C0A02D */ daddu $s4, $a2, $zero +/* A1C68C 8024158C 0040802D */ daddu $s0, $v0, $zero +/* A1C690 80241590 C6200078 */ lwc1 $f0, 0x78($s1) +/* A1C694 80241594 46800020 */ cvt.s.w $f0, $f0 +/* A1C698 80241598 46000021 */ cvt.d.s $f0, $f0 +/* A1C69C 8024159C 3C014059 */ lui $at, 0x4059 +/* A1C6A0 802415A0 44811800 */ mtc1 $at, $f3 +/* A1C6A4 802415A4 44801000 */ mtc1 $zero, $f2 +/* A1C6A8 802415A8 8602008E */ lh $v0, 0x8e($s0) +/* A1C6AC 802415AC 9603008E */ lhu $v1, 0x8e($s0) +/* A1C6B0 802415B0 46220003 */ div.d $f0, $f0, $f2 +/* A1C6B4 802415B4 46200620 */ cvt.s.d $f24, $f0 +/* A1C6B8 802415B8 C6200088 */ lwc1 $f0, 0x88($s1) +/* A1C6BC 802415BC 46800020 */ cvt.s.w $f0, $f0 +/* A1C6C0 802415C0 46000021 */ cvt.d.s $f0, $f0 +/* A1C6C4 802415C4 46220003 */ div.d $f0, $f0, $f2 +/* A1C6C8 802415C8 46200020 */ cvt.s.d $f0, $f0 +/* A1C6CC 802415CC 18400003 */ blez $v0, .L802415DC +/* A1C6D0 802415D0 4600C680 */ add.s $f26, $f24, $f0 +/* A1C6D4 802415D4 2462FFFF */ addiu $v0, $v1, -1 +/* A1C6D8 802415D8 A602008E */ sh $v0, 0x8e($s0) +.L802415DC: +/* A1C6DC 802415DC 8E220070 */ lw $v0, 0x70($s1) +/* A1C6E0 802415E0 18400034 */ blez $v0, .L802416B4 +/* A1C6E4 802415E4 00000000 */ nop +/* A1C6E8 802415E8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* A1C6EC 802415EC 46806320 */ cvt.s.w $f12, $f12 +/* A1C6F0 802415F0 44820000 */ mtc1 $v0, $f0 +/* A1C6F4 802415F4 00000000 */ nop +/* A1C6F8 802415F8 46800020 */ cvt.s.w $f0, $f0 +/* A1C6FC 802415FC 46000021 */ cvt.d.s $f0, $f0 +/* A1C700 80241600 46220003 */ div.d $f0, $f0, $f2 +/* A1C704 80241604 0C00A8BB */ jal sin_deg +/* A1C708 80241608 462005A0 */ cvt.s.d $f22, $f0 +/* A1C70C 8024160C 8E020000 */ lw $v0, ($s0) +/* A1C710 80241610 30420008 */ andi $v0, $v0, 8 +/* A1C714 80241614 10400003 */ beqz $v0, .L80241624 +/* A1C718 80241618 46000506 */ mov.s $f20, $f0 +/* A1C71C 8024161C 08090599 */ j .L80241664 +/* A1C720 80241620 0000102D */ daddu $v0, $zero, $zero +.L80241624: +/* A1C724 80241624 27A50028 */ addiu $a1, $sp, 0x28 +/* A1C728 80241628 27A6002C */ addiu $a2, $sp, 0x2c +/* A1C72C 8024162C C6000038 */ lwc1 $f0, 0x38($s0) +/* A1C730 80241630 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1C734 80241634 C6040040 */ lwc1 $f4, 0x40($s0) +/* A1C738 80241638 3C01447A */ lui $at, 0x447a +/* A1C73C 8024163C 44813000 */ mtc1 $at, $f6 +/* A1C740 80241640 27A20034 */ addiu $v0, $sp, 0x34 +/* A1C744 80241644 E7A00028 */ swc1 $f0, 0x28($sp) +/* A1C748 80241648 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A1C74C 8024164C E7A40030 */ swc1 $f4, 0x30($sp) +/* A1C750 80241650 E7A60034 */ swc1 $f6, 0x34($sp) +/* A1C754 80241654 AFA20010 */ sw $v0, 0x10($sp) +/* A1C758 80241658 8E040080 */ lw $a0, 0x80($s0) +/* A1C75C 8024165C 0C0372DF */ jal func_800DCB7C +/* A1C760 80241660 27A70030 */ addiu $a3, $sp, 0x30 +.L80241664: +/* A1C764 80241664 10400007 */ beqz $v0, .L80241684 +/* A1C768 80241668 00000000 */ nop +/* A1C76C 8024166C 4616A082 */ mul.s $f2, $f20, $f22 +/* A1C770 80241670 00000000 */ nop +/* A1C774 80241674 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A1C778 80241678 46180000 */ add.s $f0, $f0, $f24 +/* A1C77C 8024167C 080905A4 */ j .L80241690 +/* A1C780 80241680 46020000 */ add.s $f0, $f0, $f2 +.L80241684: +/* A1C784 80241684 4616A002 */ mul.s $f0, $f20, $f22 +/* A1C788 80241688 00000000 */ nop +/* A1C78C 8024168C 4600D000 */ add.s $f0, $f26, $f0 +.L80241690: +/* A1C790 80241690 E600003C */ swc1 $f0, 0x3c($s0) +/* A1C794 80241694 8E220074 */ lw $v0, 0x74($s1) +/* A1C798 80241698 2442000A */ addiu $v0, $v0, 0xa +/* A1C79C 8024169C 44826000 */ mtc1 $v0, $f12 +/* A1C7A0 802416A0 00000000 */ nop +/* A1C7A4 802416A4 0C00A6C9 */ jal clamp_angle +/* A1C7A8 802416A8 46806320 */ cvt.s.w $f12, $f12 +/* A1C7AC 802416AC 4600020D */ trunc.w.s $f8, $f0 +/* A1C7B0 802416B0 E6280074 */ swc1 $f8, 0x74($s1) +.L802416B4: +/* A1C7B4 802416B4 8E220090 */ lw $v0, 0x90($s1) +/* A1C7B8 802416B8 1C400040 */ bgtz $v0, .L802417BC +/* A1C7BC 802416BC 2442FFFF */ addiu $v0, $v0, -1 +/* A1C7C0 802416C0 860200A8 */ lh $v0, 0xa8($s0) +/* A1C7C4 802416C4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1C7C8 802416C8 44821000 */ mtc1 $v0, $f2 +/* A1C7CC 802416CC 00000000 */ nop +/* A1C7D0 802416D0 468010A0 */ cvt.s.w $f2, $f2 +/* A1C7D4 802416D4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1C7D8 802416D8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1C7DC 802416DC 46020000 */ add.s $f0, $f0, $f2 +/* A1C7E0 802416E0 3C014024 */ lui $at, 0x4024 +/* A1C7E4 802416E4 44812800 */ mtc1 $at, $f5 +/* A1C7E8 802416E8 44802000 */ mtc1 $zero, $f4 +/* A1C7EC 802416EC C442002C */ lwc1 $f2, 0x2c($v0) +/* A1C7F0 802416F0 46000021 */ cvt.d.s $f0, $f0 +/* A1C7F4 802416F4 46240000 */ add.d $f0, $f0, $f4 +/* A1C7F8 802416F8 460010A1 */ cvt.d.s $f2, $f2 +/* A1C7FC 802416FC 4620103C */ c.lt.d $f2, $f0 +/* A1C800 80241700 00000000 */ nop +/* A1C804 80241704 4500002E */ bc1f .L802417C0 +/* A1C808 80241708 0280202D */ daddu $a0, $s4, $zero +/* A1C80C 8024170C 24020001 */ addiu $v0, $zero, 1 +/* A1C810 80241710 AFA20010 */ sw $v0, 0x10($sp) +/* A1C814 80241714 8E460024 */ lw $a2, 0x24($s2) +/* A1C818 80241718 8E470028 */ lw $a3, 0x28($s2) +/* A1C81C 8024171C 0C01242D */ jal func_800490B4 +/* A1C820 80241720 0220282D */ daddu $a1, $s1, $zero +/* A1C824 80241724 10400026 */ beqz $v0, .L802417C0 +/* A1C828 80241728 0000202D */ daddu $a0, $zero, $zero +/* A1C82C 8024172C 0200282D */ daddu $a1, $s0, $zero +/* A1C830 80241730 0000302D */ daddu $a2, $zero, $zero +/* A1C834 80241734 2412000C */ addiu $s2, $zero, 0xc +/* A1C838 80241738 860300A8 */ lh $v1, 0xa8($s0) +/* A1C83C 8024173C 3C013F80 */ lui $at, 0x3f80 +/* A1C840 80241740 44810000 */ mtc1 $at, $f0 +/* A1C844 80241744 3C014000 */ lui $at, 0x4000 +/* A1C848 80241748 44811000 */ mtc1 $at, $f2 +/* A1C84C 8024174C 3C01C1A0 */ lui $at, 0xc1a0 +/* A1C850 80241750 44812000 */ mtc1 $at, $f4 +/* A1C854 80241754 44834000 */ mtc1 $v1, $f8 +/* A1C858 80241758 00000000 */ nop +/* A1C85C 8024175C 46804220 */ cvt.s.w $f8, $f8 +/* A1C860 80241760 44074000 */ mfc1 $a3, $f8 +/* A1C864 80241764 27A20038 */ addiu $v0, $sp, 0x38 +/* A1C868 80241768 AFB2001C */ sw $s2, 0x1c($sp) +/* A1C86C 8024176C AFA20020 */ sw $v0, 0x20($sp) +/* A1C870 80241770 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1C874 80241774 E7A20014 */ swc1 $f2, 0x14($sp) +/* A1C878 80241778 0C01BFA4 */ jal fx_emote +/* A1C87C 8024177C E7A40018 */ swc1 $f4, 0x18($sp) +/* A1C880 80241780 0200202D */ daddu $a0, $s0, $zero +/* A1C884 80241784 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A1C888 80241788 C480003C */ lwc1 $f0, 0x3c($a0) +/* A1C88C 8024178C 3C060020 */ lui $a2, 0x20 +/* A1C890 80241790 0C012530 */ jal func_800494C0 +/* A1C894 80241794 E4800064 */ swc1 $f0, 0x64($a0) +/* A1C898 80241798 8E220018 */ lw $v0, 0x18($s1) +/* A1C89C 8024179C 9442002A */ lhu $v0, 0x2a($v0) +/* A1C8A0 802417A0 30420001 */ andi $v0, $v0, 1 +/* A1C8A4 802417A4 10400003 */ beqz $v0, .L802417B4 +/* A1C8A8 802417A8 2402000A */ addiu $v0, $zero, 0xa +/* A1C8AC 802417AC 08090617 */ j .L8024185C +/* A1C8B0 802417B0 AE620070 */ sw $v0, 0x70($s3) +.L802417B4: +/* A1C8B4 802417B4 08090617 */ j .L8024185C +/* A1C8B8 802417B8 AE720070 */ sw $s2, 0x70($s3) +.L802417BC: +/* A1C8BC 802417BC AE220090 */ sw $v0, 0x90($s1) +.L802417C0: +/* A1C8C0 802417C0 8602008C */ lh $v0, 0x8c($s0) +/* A1C8C4 802417C4 14400025 */ bnez $v0, .L8024185C +/* A1C8C8 802417C8 00000000 */ nop +/* A1C8CC 802417CC 8602008E */ lh $v0, 0x8e($s0) +/* A1C8D0 802417D0 1C400022 */ bgtz $v0, .L8024185C +/* A1C8D4 802417D4 00000000 */ nop +/* A1C8D8 802417D8 8E620074 */ lw $v0, 0x74($s3) +/* A1C8DC 802417DC 2442FFFF */ addiu $v0, $v0, -1 +/* A1C8E0 802417E0 1840001D */ blez $v0, .L80241858 +/* A1C8E4 802417E4 AE620074 */ sw $v0, 0x74($s3) +/* A1C8E8 802417E8 8E220018 */ lw $v0, 0x18($s1) +/* A1C8EC 802417EC 9442002A */ lhu $v0, 0x2a($v0) +/* A1C8F0 802417F0 30420010 */ andi $v0, $v0, 0x10 +/* A1C8F4 802417F4 14400007 */ bnez $v0, .L80241814 +/* A1C8F8 802417F8 00000000 */ nop +/* A1C8FC 802417FC C600000C */ lwc1 $f0, 0xc($s0) +/* A1C900 80241800 3C014334 */ lui $at, 0x4334 +/* A1C904 80241804 44816000 */ mtc1 $at, $f12 +/* A1C908 80241808 0C00A6C9 */ jal clamp_angle +/* A1C90C 8024180C 460C0300 */ add.s $f12, $f0, $f12 +/* A1C910 80241810 E600000C */ swc1 $f0, 0xc($s0) +.L80241814: +/* A1C914 80241814 0C00A67F */ jal rand_int +/* A1C918 80241818 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A1C91C 8024181C 3C032E8B */ lui $v1, 0x2e8b +/* A1C920 80241820 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* A1C924 80241824 00430018 */ mult $v0, $v1 +/* A1C928 80241828 00021FC3 */ sra $v1, $v0, 0x1f +/* A1C92C 8024182C 00004010 */ mfhi $t0 +/* A1C930 80241830 00082043 */ sra $a0, $t0, 1 +/* A1C934 80241834 00832023 */ subu $a0, $a0, $v1 +/* A1C938 80241838 00041840 */ sll $v1, $a0, 1 +/* A1C93C 8024183C 00641821 */ addu $v1, $v1, $a0 +/* A1C940 80241840 00031880 */ sll $v1, $v1, 2 +/* A1C944 80241844 00641823 */ subu $v1, $v1, $a0 +/* A1C948 80241848 00431023 */ subu $v0, $v0, $v1 +/* A1C94C 8024184C 24420005 */ addiu $v0, $v0, 5 +/* A1C950 80241850 08090617 */ j .L8024185C +/* A1C954 80241854 A602008E */ sh $v0, 0x8e($s0) +.L80241858: +/* A1C958 80241858 AE600070 */ sw $zero, 0x70($s3) +.L8024185C: +/* A1C95C 8024185C 8FBF0054 */ lw $ra, 0x54($sp) +/* A1C960 80241860 8FB40050 */ lw $s4, 0x50($sp) +/* A1C964 80241864 8FB3004C */ lw $s3, 0x4c($sp) +/* A1C968 80241868 8FB20048 */ lw $s2, 0x48($sp) +/* A1C96C 8024186C 8FB10044 */ lw $s1, 0x44($sp) +/* A1C970 80241870 8FB00040 */ lw $s0, 0x40($sp) +/* A1C974 80241874 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* A1C978 80241878 D7B80068 */ ldc1 $f24, 0x68($sp) +/* A1C97C 8024187C D7B60060 */ ldc1 $f22, 0x60($sp) +/* A1C980 80241880 D7B40058 */ ldc1 $f20, 0x58($sp) +/* A1C984 80241884 03E00008 */ jr $ra +/* A1C988 80241888 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024188C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024188C_A1B100.s new file mode 100644 index 0000000000..48edbbc2bd --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024188C_A1B100.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024188C_A1C98C +/* A1C98C 8024188C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1C990 80241890 AFB20018 */ sw $s2, 0x18($sp) +/* A1C994 80241894 0080902D */ daddu $s2, $a0, $zero +/* A1C998 80241898 AFBF001C */ sw $ra, 0x1c($sp) +/* A1C99C 8024189C AFB10014 */ sw $s1, 0x14($sp) +/* A1C9A0 802418A0 AFB00010 */ sw $s0, 0x10($sp) +/* A1C9A4 802418A4 8E510148 */ lw $s1, 0x148($s2) +/* A1C9A8 802418A8 0C00EABB */ jal get_npc_unsafe +/* A1C9AC 802418AC 86240008 */ lh $a0, 8($s1) +/* A1C9B0 802418B0 0040802D */ daddu $s0, $v0, $zero +/* A1C9B4 802418B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1C9B8 802418B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1C9BC 802418BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A1C9C0 802418C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A1C9C4 802418C4 A600008E */ sh $zero, 0x8e($s0) +/* A1C9C8 802418C8 8C460028 */ lw $a2, 0x28($v0) +/* A1C9CC 802418CC 0C00A720 */ jal atan2 +/* A1C9D0 802418D0 8C470030 */ lw $a3, 0x30($v0) +/* A1C9D4 802418D4 E600000C */ swc1 $f0, 0xc($s0) +/* A1C9D8 802418D8 8E2200CC */ lw $v0, 0xcc($s1) +/* A1C9DC 802418DC 8C420020 */ lw $v0, 0x20($v0) +/* A1C9E0 802418E0 AE020028 */ sw $v0, 0x28($s0) +/* A1C9E4 802418E4 2402000B */ addiu $v0, $zero, 0xb +/* A1C9E8 802418E8 AE420070 */ sw $v0, 0x70($s2) +/* A1C9EC 802418EC 8FBF001C */ lw $ra, 0x1c($sp) +/* A1C9F0 802418F0 8FB20018 */ lw $s2, 0x18($sp) +/* A1C9F4 802418F4 8FB10014 */ lw $s1, 0x14($sp) +/* A1C9F8 802418F8 8FB00010 */ lw $s0, 0x10($sp) +/* A1C9FC 802418FC 03E00008 */ jr $ra +/* A1CA00 80241900 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241904.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241904.s new file mode 100644 index 0000000000..8e71087a27 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241904.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241904 +/* A1CA04 80241904 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1CA08 80241908 AFB00010 */ sw $s0, 0x10($sp) +/* A1CA0C 8024190C 0080802D */ daddu $s0, $a0, $zero +/* A1CA10 80241910 AFBF0014 */ sw $ra, 0x14($sp) +/* A1CA14 80241914 8E020148 */ lw $v0, 0x148($s0) +/* A1CA18 80241918 0C00EABB */ jal get_npc_unsafe +/* A1CA1C 8024191C 84440008 */ lh $a0, 8($v0) +/* A1CA20 80241920 9443008E */ lhu $v1, 0x8e($v0) +/* A1CA24 80241924 C440003C */ lwc1 $f0, 0x3c($v0) +/* A1CA28 80241928 24640001 */ addiu $a0, $v1, 1 +/* A1CA2C 8024192C 00031C00 */ sll $v1, $v1, 0x10 +/* A1CA30 80241930 00031B83 */ sra $v1, $v1, 0xe +/* A1CA34 80241934 A444008E */ sh $a0, 0x8e($v0) +/* A1CA38 80241938 3C018024 */ lui $at, 0x8024 +/* A1CA3C 8024193C 00230821 */ addu $at, $at, $v1 +/* A1CA40 80241940 C42257F4 */ lwc1 $f2, 0x57f4($at) +/* A1CA44 80241944 8443008E */ lh $v1, 0x8e($v0) +/* A1CA48 80241948 46020000 */ add.s $f0, $f0, $f2 +/* A1CA4C 8024194C 28630005 */ slti $v1, $v1, 5 +/* A1CA50 80241950 14600003 */ bnez $v1, .L80241960 +/* A1CA54 80241954 E440003C */ swc1 $f0, 0x3c($v0) +/* A1CA58 80241958 2402000C */ addiu $v0, $zero, 0xc +/* A1CA5C 8024195C AE020070 */ sw $v0, 0x70($s0) +.L80241960: +/* A1CA60 80241960 8FBF0014 */ lw $ra, 0x14($sp) +/* A1CA64 80241964 8FB00010 */ lw $s0, 0x10($sp) +/* A1CA68 80241968 03E00008 */ jr $ra +/* A1CA6C 8024196C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241970.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241970.s new file mode 100644 index 0000000000..7113716c92 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241970.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241970 +/* A1CA70 80241970 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1CA74 80241974 AFB3001C */ sw $s3, 0x1c($sp) +/* A1CA78 80241978 0080982D */ daddu $s3, $a0, $zero +/* A1CA7C 8024197C AFBF0020 */ sw $ra, 0x20($sp) +/* A1CA80 80241980 AFB20018 */ sw $s2, 0x18($sp) +/* A1CA84 80241984 AFB10014 */ sw $s1, 0x14($sp) +/* A1CA88 80241988 AFB00010 */ sw $s0, 0x10($sp) +/* A1CA8C 8024198C 8E720148 */ lw $s2, 0x148($s3) +/* A1CA90 80241990 86440008 */ lh $a0, 8($s2) +/* A1CA94 80241994 0C00EABB */ jal get_npc_unsafe +/* A1CA98 80241998 00A0802D */ daddu $s0, $a1, $zero +/* A1CA9C 8024199C 0040882D */ daddu $s1, $v0, $zero +/* A1CAA0 802419A0 C6420080 */ lwc1 $f2, 0x80($s2) +/* A1CAA4 802419A4 468010A0 */ cvt.s.w $f2, $f2 +/* A1CAA8 802419A8 460010A1 */ cvt.d.s $f2, $f2 +/* A1CAAC 802419AC C6400084 */ lwc1 $f0, 0x84($s2) +/* A1CAB0 802419B0 46800020 */ cvt.s.w $f0, $f0 +/* A1CAB4 802419B4 46000021 */ cvt.d.s $f0, $f0 +/* A1CAB8 802419B8 3C014059 */ lui $at, 0x4059 +/* A1CABC 802419BC 44812800 */ mtc1 $at, $f5 +/* A1CAC0 802419C0 44802000 */ mtc1 $zero, $f4 +/* A1CAC4 802419C4 8E4200CC */ lw $v0, 0xcc($s2) +/* A1CAC8 802419C8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A1CACC 802419CC C62E0040 */ lwc1 $f14, 0x40($s1) +/* A1CAD0 802419D0 46241083 */ div.d $f2, $f2, $f4 +/* A1CAD4 802419D4 462010A0 */ cvt.s.d $f2, $f2 +/* A1CAD8 802419D8 46240003 */ div.d $f0, $f0, $f4 +/* A1CADC 802419DC 8C420020 */ lw $v0, 0x20($v0) +/* A1CAE0 802419E0 46200020 */ cvt.s.d $f0, $f0 +/* A1CAE4 802419E4 E622001C */ swc1 $f2, 0x1c($s1) +/* A1CAE8 802419E8 E6200014 */ swc1 $f0, 0x14($s1) +/* A1CAEC 802419EC AE220028 */ sw $v0, 0x28($s1) +/* A1CAF0 802419F0 C6000018 */ lwc1 $f0, 0x18($s0) +/* A1CAF4 802419F4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1CAF8 802419F8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1CAFC 802419FC E6200018 */ swc1 $f0, 0x18($s1) +/* A1CB00 80241A00 8C460028 */ lw $a2, 0x28($v0) +/* A1CB04 80241A04 0C00A720 */ jal atan2 +/* A1CB08 80241A08 8C470030 */ lw $a3, 0x30($v0) +/* A1CB0C 80241A0C E620000C */ swc1 $f0, 0xc($s1) +/* A1CB10 80241A10 8E420018 */ lw $v0, 0x18($s2) +/* A1CB14 80241A14 AE400074 */ sw $zero, 0x74($s2) +/* A1CB18 80241A18 9442002A */ lhu $v0, 0x2a($v0) +/* A1CB1C 80241A1C 30420002 */ andi $v0, $v0, 2 +/* A1CB20 80241A20 10400005 */ beqz $v0, .L80241A38 +/* A1CB24 80241A24 24020003 */ addiu $v0, $zero, 3 +/* A1CB28 80241A28 A622008E */ sh $v0, 0x8e($s1) +/* A1CB2C 80241A2C 2402000D */ addiu $v0, $zero, 0xd +/* A1CB30 80241A30 080906A2 */ j .L80241A88 +/* A1CB34 80241A34 AE620070 */ sw $v0, 0x70($s3) +.L80241A38: +/* A1CB38 80241A38 24030001 */ addiu $v1, $zero, 1 +/* A1CB3C 80241A3C 2402000E */ addiu $v0, $zero, 0xe +/* A1CB40 80241A40 A623008E */ sh $v1, 0x8e($s1) +/* A1CB44 80241A44 AE620070 */ sw $v0, 0x70($s3) +/* A1CB48 80241A48 C6200038 */ lwc1 $f0, 0x38($s1) +/* A1CB4C 80241A4C 4600018D */ trunc.w.s $f6, $f0 +/* A1CB50 80241A50 44023000 */ mfc1 $v0, $f6 +/* A1CB54 80241A54 00000000 */ nop +/* A1CB58 80241A58 A6420010 */ sh $v0, 0x10($s2) +/* A1CB5C 80241A5C C620003C */ lwc1 $f0, 0x3c($s1) +/* A1CB60 80241A60 4600018D */ trunc.w.s $f6, $f0 +/* A1CB64 80241A64 44023000 */ mfc1 $v0, $f6 +/* A1CB68 80241A68 00000000 */ nop +/* A1CB6C 80241A6C A6420012 */ sh $v0, 0x12($s2) +/* A1CB70 80241A70 C6200040 */ lwc1 $f0, 0x40($s1) +/* A1CB74 80241A74 A2430007 */ sb $v1, 7($s2) +/* A1CB78 80241A78 4600018D */ trunc.w.s $f6, $f0 +/* A1CB7C 80241A7C 44023000 */ mfc1 $v0, $f6 +/* A1CB80 80241A80 00000000 */ nop +/* A1CB84 80241A84 A6420014 */ sh $v0, 0x14($s2) +.L80241A88: +/* A1CB88 80241A88 8FBF0020 */ lw $ra, 0x20($sp) +/* A1CB8C 80241A8C 8FB3001C */ lw $s3, 0x1c($sp) +/* A1CB90 80241A90 8FB20018 */ lw $s2, 0x18($sp) +/* A1CB94 80241A94 8FB10014 */ lw $s1, 0x14($sp) +/* A1CB98 80241A98 8FB00010 */ lw $s0, 0x10($sp) +/* A1CB9C 80241A9C 03E00008 */ jr $ra +/* A1CBA0 80241AA0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241AA4.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241AA4.s new file mode 100644 index 0000000000..a0b0dfa2b4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241AA4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AA4 +/* A1CBA4 80241AA4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1CBA8 80241AA8 AFB00010 */ sw $s0, 0x10($sp) +/* A1CBAC 80241AAC 0080802D */ daddu $s0, $a0, $zero +/* A1CBB0 80241AB0 AFBF0014 */ sw $ra, 0x14($sp) +/* A1CBB4 80241AB4 8E020148 */ lw $v0, 0x148($s0) +/* A1CBB8 80241AB8 0C00EABB */ jal get_npc_unsafe +/* A1CBBC 80241ABC 84440008 */ lh $a0, 8($v0) +/* A1CBC0 80241AC0 0040202D */ daddu $a0, $v0, $zero +/* A1CBC4 80241AC4 8482008E */ lh $v0, 0x8e($a0) +/* A1CBC8 80241AC8 9483008E */ lhu $v1, 0x8e($a0) +/* A1CBCC 80241ACC 18400005 */ blez $v0, .L80241AE4 +/* A1CBD0 80241AD0 2462FFFF */ addiu $v0, $v1, -1 +/* A1CBD4 80241AD4 A482008E */ sh $v0, 0x8e($a0) +/* A1CBD8 80241AD8 00021400 */ sll $v0, $v0, 0x10 +/* A1CBDC 80241ADC 1C400006 */ bgtz $v0, .L80241AF8 +/* A1CBE0 80241AE0 00000000 */ nop +.L80241AE4: +/* A1CBE4 80241AE4 8482008C */ lh $v0, 0x8c($a0) +/* A1CBE8 80241AE8 14400003 */ bnez $v0, .L80241AF8 +/* A1CBEC 80241AEC 2402000E */ addiu $v0, $zero, 0xe +/* A1CBF0 80241AF0 A480008E */ sh $zero, 0x8e($a0) +/* A1CBF4 80241AF4 AE020070 */ sw $v0, 0x70($s0) +.L80241AF8: +/* A1CBF8 80241AF8 8FBF0014 */ lw $ra, 0x14($sp) +/* A1CBFC 80241AFC 8FB00010 */ lw $s0, 0x10($sp) +/* A1CC00 80241B00 03E00008 */ jr $ra +/* A1CC04 80241B04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241B08.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241B08.s new file mode 100644 index 0000000000..aca3d1df52 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241B08.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B08 +/* A1CC08 80241B08 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A1CC0C 80241B0C AFB20030 */ sw $s2, 0x30($sp) +/* A1CC10 80241B10 0080902D */ daddu $s2, $a0, $zero +/* A1CC14 80241B14 AFBF0038 */ sw $ra, 0x38($sp) +/* A1CC18 80241B18 AFB30034 */ sw $s3, 0x34($sp) +/* A1CC1C 80241B1C AFB1002C */ sw $s1, 0x2c($sp) +/* A1CC20 80241B20 AFB00028 */ sw $s0, 0x28($sp) +/* A1CC24 80241B24 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A1CC28 80241B28 F7B40040 */ sdc1 $f20, 0x40($sp) +/* A1CC2C 80241B2C 8E510148 */ lw $s1, 0x148($s2) +/* A1CC30 80241B30 86240008 */ lh $a0, 8($s1) +/* A1CC34 80241B34 0C00EABB */ jal get_npc_unsafe +/* A1CC38 80241B38 00A0982D */ daddu $s3, $a1, $zero +/* A1CC3C 80241B3C 0040802D */ daddu $s0, $v0, $zero +/* A1CC40 80241B40 0200202D */ daddu $a0, $s0, $zero +/* A1CC44 80241B44 C6220088 */ lwc1 $f2, 0x88($s1) +/* A1CC48 80241B48 468010A0 */ cvt.s.w $f2, $f2 +/* A1CC4C 80241B4C 460010A1 */ cvt.d.s $f2, $f2 +/* A1CC50 80241B50 C604001C */ lwc1 $f4, 0x1c($s0) +/* A1CC54 80241B54 C6000014 */ lwc1 $f0, 0x14($s0) +/* A1CC58 80241B58 8E050018 */ lw $a1, 0x18($s0) +/* A1CC5C 80241B5C 46002100 */ add.s $f4, $f4, $f0 +/* A1CC60 80241B60 8E06000C */ lw $a2, 0xc($s0) +/* A1CC64 80241B64 C6200078 */ lwc1 $f0, 0x78($s1) +/* A1CC68 80241B68 46800020 */ cvt.s.w $f0, $f0 +/* A1CC6C 80241B6C E604001C */ swc1 $f4, 0x1c($s0) +/* A1CC70 80241B70 3C014059 */ lui $at, 0x4059 +/* A1CC74 80241B74 44812800 */ mtc1 $at, $f5 +/* A1CC78 80241B78 44802000 */ mtc1 $zero, $f4 +/* A1CC7C 80241B7C 46000021 */ cvt.d.s $f0, $f0 +/* A1CC80 80241B80 46240003 */ div.d $f0, $f0, $f4 +/* A1CC84 80241B84 46200520 */ cvt.s.d $f20, $f0 +/* A1CC88 80241B88 46241083 */ div.d $f2, $f2, $f4 +/* A1CC8C 80241B8C 0C00EA95 */ jal npc_move_heading +/* A1CC90 80241B90 462015A0 */ cvt.s.d $f22, $f2 +/* A1CC94 80241B94 C604001C */ lwc1 $f4, 0x1c($s0) +/* A1CC98 80241B98 44801000 */ mtc1 $zero, $f2 +/* A1CC9C 80241B9C 44801800 */ mtc1 $zero, $f3 +/* A1CCA0 80241BA0 46002021 */ cvt.d.s $f0, $f4 +/* A1CCA4 80241BA4 4620103E */ c.le.d $f2, $f0 +/* A1CCA8 80241BA8 00000000 */ nop +/* A1CCAC 80241BAC 45000030 */ bc1f .L80241C70 +/* A1CCB0 80241BB0 00000000 */ nop +/* A1CCB4 80241BB4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1CCB8 80241BB8 46040000 */ add.s $f0, $f0, $f4 +/* A1CCBC 80241BBC E600003C */ swc1 $f0, 0x3c($s0) +/* A1CCC0 80241BC0 8E2200CC */ lw $v0, 0xcc($s1) +/* A1CCC4 80241BC4 8C420024 */ lw $v0, 0x24($v0) +/* A1CCC8 80241BC8 AE020028 */ sw $v0, 0x28($s0) +/* A1CCCC 80241BCC A2200007 */ sb $zero, 7($s1) +/* A1CCD0 80241BD0 8E020000 */ lw $v0, ($s0) +/* A1CCD4 80241BD4 30420008 */ andi $v0, $v0, 8 +/* A1CCD8 80241BD8 14400011 */ bnez $v0, .L80241C20 +/* A1CCDC 80241BDC 0000102D */ daddu $v0, $zero, $zero +/* A1CCE0 80241BE0 27A50018 */ addiu $a1, $sp, 0x18 +/* A1CCE4 80241BE4 27A6001C */ addiu $a2, $sp, 0x1c +/* A1CCE8 80241BE8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A1CCEC 80241BEC C602003C */ lwc1 $f2, 0x3c($s0) +/* A1CCF0 80241BF0 C6040040 */ lwc1 $f4, 0x40($s0) +/* A1CCF4 80241BF4 3C01447A */ lui $at, 0x447a +/* A1CCF8 80241BF8 44813000 */ mtc1 $at, $f6 +/* A1CCFC 80241BFC 27A20024 */ addiu $v0, $sp, 0x24 +/* A1CD00 80241C00 E7A00018 */ swc1 $f0, 0x18($sp) +/* A1CD04 80241C04 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A1CD08 80241C08 E7A40020 */ swc1 $f4, 0x20($sp) +/* A1CD0C 80241C0C E7A60024 */ swc1 $f6, 0x24($sp) +/* A1CD10 80241C10 AFA20010 */ sw $v0, 0x10($sp) +/* A1CD14 80241C14 8E040080 */ lw $a0, 0x80($s0) +/* A1CD18 80241C18 0C0372DF */ jal func_800DCB7C +/* A1CD1C 80241C1C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241C20: +/* A1CD20 80241C20 1040000B */ beqz $v0, .L80241C50 +/* A1CD24 80241C24 00000000 */ nop +/* A1CD28 80241C28 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A1CD2C 80241C2C 46140080 */ add.s $f2, $f0, $f20 +/* A1CD30 80241C30 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1CD34 80241C34 4600103E */ c.le.s $f2, $f0 +/* A1CD38 80241C38 00000000 */ nop +/* A1CD3C 80241C3C 4500008D */ bc1f .L80241E74 +/* A1CD40 80241C40 00000000 */ nop +/* A1CD44 80241C44 E602003C */ swc1 $f2, 0x3c($s0) +/* A1CD48 80241C48 0809079D */ j .L80241E74 +/* A1CD4C 80241C4C AE400070 */ sw $zero, 0x70($s2) +.L80241C50: +/* A1CD50 80241C50 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1CD54 80241C54 C6000064 */ lwc1 $f0, 0x64($s0) +/* A1CD58 80241C58 4602003E */ c.le.s $f0, $f2 +/* A1CD5C 80241C5C 00000000 */ nop +/* A1CD60 80241C60 45030084 */ bc1tl .L80241E74 +/* A1CD64 80241C64 AE400070 */ sw $zero, 0x70($s2) +/* A1CD68 80241C68 0809079D */ j .L80241E74 +/* A1CD6C 80241C6C 00000000 */ nop +.L80241C70: +/* A1CD70 80241C70 4622003C */ c.lt.d $f0, $f2 +/* A1CD74 80241C74 00000000 */ nop +/* A1CD78 80241C78 4500007E */ bc1f .L80241E74 +/* A1CD7C 80241C7C 00000000 */ nop +/* A1CD80 80241C80 9602008E */ lhu $v0, 0x8e($s0) +/* A1CD84 80241C84 24420001 */ addiu $v0, $v0, 1 +/* A1CD88 80241C88 A602008E */ sh $v0, 0x8e($s0) +/* A1CD8C 80241C8C 00021400 */ sll $v0, $v0, 0x10 +/* A1CD90 80241C90 8E630020 */ lw $v1, 0x20($s3) +/* A1CD94 80241C94 00021403 */ sra $v0, $v0, 0x10 +/* A1CD98 80241C98 0043102A */ slt $v0, $v0, $v1 +/* A1CD9C 80241C9C 14400026 */ bnez $v0, .L80241D38 +/* A1CDA0 80241CA0 00000000 */ nop +/* A1CDA4 80241CA4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A1CDA8 80241CA8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A1CDAC 80241CAC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A1CDB0 80241CB0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A1CDB4 80241CB4 A600008E */ sh $zero, 0x8e($s0) +/* A1CDB8 80241CB8 8C460028 */ lw $a2, 0x28($v0) +/* A1CDBC 80241CBC 0C00A720 */ jal atan2 +/* A1CDC0 80241CC0 8C470030 */ lw $a3, 0x30($v0) +/* A1CDC4 80241CC4 46000506 */ mov.s $f20, $f0 +/* A1CDC8 80241CC8 C60C000C */ lwc1 $f12, 0xc($s0) +/* A1CDCC 80241CCC 0C00A70A */ jal get_clamped_angle_diff +/* A1CDD0 80241CD0 4600A386 */ mov.s $f14, $f20 +/* A1CDD4 80241CD4 46000086 */ mov.s $f2, $f0 +/* A1CDD8 80241CD8 8E62001C */ lw $v0, 0x1c($s3) +/* A1CDDC 80241CDC 46001005 */ abs.s $f0, $f2 +/* A1CDE0 80241CE0 44822000 */ mtc1 $v0, $f4 +/* A1CDE4 80241CE4 00000000 */ nop +/* A1CDE8 80241CE8 46802120 */ cvt.s.w $f4, $f4 +/* A1CDEC 80241CEC 4600203C */ c.lt.s $f4, $f0 +/* A1CDF0 80241CF0 00000000 */ nop +/* A1CDF4 80241CF4 4500000D */ bc1f .L80241D2C +/* A1CDF8 80241CF8 00000000 */ nop +/* A1CDFC 80241CFC 44800000 */ mtc1 $zero, $f0 +/* A1CE00 80241D00 C614000C */ lwc1 $f20, 0xc($s0) +/* A1CE04 80241D04 4600103C */ c.lt.s $f2, $f0 +/* A1CE08 80241D08 00000000 */ nop +/* A1CE0C 80241D0C 45000006 */ bc1f .L80241D28 +/* A1CE10 80241D10 00021023 */ negu $v0, $v0 +/* A1CE14 80241D14 44820000 */ mtc1 $v0, $f0 +/* A1CE18 80241D18 00000000 */ nop +/* A1CE1C 80241D1C 46800020 */ cvt.s.w $f0, $f0 +/* A1CE20 80241D20 0809074B */ j .L80241D2C +/* A1CE24 80241D24 4600A500 */ add.s $f20, $f20, $f0 +.L80241D28: +/* A1CE28 80241D28 4604A500 */ add.s $f20, $f20, $f4 +.L80241D2C: +/* A1CE2C 80241D2C 0C00A6C9 */ jal clamp_angle +/* A1CE30 80241D30 4600A306 */ mov.s $f12, $f20 +/* A1CE34 80241D34 E600000C */ swc1 $f0, 0xc($s0) +.L80241D38: +/* A1CE38 80241D38 8E020000 */ lw $v0, ($s0) +/* A1CE3C 80241D3C 30420008 */ andi $v0, $v0, 8 +/* A1CE40 80241D40 1040000A */ beqz $v0, .L80241D6C +/* A1CE44 80241D44 27A50018 */ addiu $a1, $sp, 0x18 +/* A1CE48 80241D48 C602003C */ lwc1 $f2, 0x3c($s0) +/* A1CE4C 80241D4C C600001C */ lwc1 $f0, 0x1c($s0) +/* A1CE50 80241D50 46001080 */ add.s $f2, $f2, $f0 +/* A1CE54 80241D54 4616103C */ c.lt.s $f2, $f22 +/* A1CE58 80241D58 00000000 */ nop +/* A1CE5C 80241D5C 45020045 */ bc1fl .L80241E74 +/* A1CE60 80241D60 E602003C */ swc1 $f2, 0x3c($s0) +/* A1CE64 80241D64 0809079C */ j .L80241E70 +/* A1CE68 80241D68 E616003C */ swc1 $f22, 0x3c($s0) +.L80241D6C: +/* A1CE6C 80241D6C C6000038 */ lwc1 $f0, 0x38($s0) +/* A1CE70 80241D70 27A6001C */ addiu $a2, $sp, 0x1c +/* A1CE74 80241D74 E7A00018 */ swc1 $f0, 0x18($sp) +/* A1CE78 80241D78 860200A8 */ lh $v0, 0xa8($s0) +/* A1CE7C 80241D7C C600001C */ lwc1 $f0, 0x1c($s0) +/* A1CE80 80241D80 C604003C */ lwc1 $f4, 0x3c($s0) +/* A1CE84 80241D84 44821000 */ mtc1 $v0, $f2 +/* A1CE88 80241D88 00000000 */ nop +/* A1CE8C 80241D8C 468010A0 */ cvt.s.w $f2, $f2 +/* A1CE90 80241D90 46000005 */ abs.s $f0, $f0 +/* A1CE94 80241D94 46020000 */ add.s $f0, $f0, $f2 +/* A1CE98 80241D98 C6060040 */ lwc1 $f6, 0x40($s0) +/* A1CE9C 80241D9C 27A20024 */ addiu $v0, $sp, 0x24 +/* A1CEA0 80241DA0 46022100 */ add.s $f4, $f4, $f2 +/* A1CEA4 80241DA4 3C014024 */ lui $at, 0x4024 +/* A1CEA8 80241DA8 44811800 */ mtc1 $at, $f3 +/* A1CEAC 80241DAC 44801000 */ mtc1 $zero, $f2 +/* A1CEB0 80241DB0 46000021 */ cvt.d.s $f0, $f0 +/* A1CEB4 80241DB4 46220000 */ add.d $f0, $f0, $f2 +/* A1CEB8 80241DB8 E7A60020 */ swc1 $f6, 0x20($sp) +/* A1CEBC 80241DBC E7A4001C */ swc1 $f4, 0x1c($sp) +/* A1CEC0 80241DC0 46200020 */ cvt.s.d $f0, $f0 +/* A1CEC4 80241DC4 E7A00024 */ swc1 $f0, 0x24($sp) +/* A1CEC8 80241DC8 AFA20010 */ sw $v0, 0x10($sp) +/* A1CECC 80241DCC 8E040080 */ lw $a0, 0x80($s0) +/* A1CED0 80241DD0 0C0372DF */ jal func_800DCB7C +/* A1CED4 80241DD4 27A70020 */ addiu $a3, $sp, 0x20 +/* A1CED8 80241DD8 10400015 */ beqz $v0, .L80241E30 +/* A1CEDC 80241DDC 00000000 */ nop +/* A1CEE0 80241DE0 860200A8 */ lh $v0, 0xa8($s0) +/* A1CEE4 80241DE4 C604001C */ lwc1 $f4, 0x1c($s0) +/* A1CEE8 80241DE8 44820000 */ mtc1 $v0, $f0 +/* A1CEEC 80241DEC 00000000 */ nop +/* A1CEF0 80241DF0 46800020 */ cvt.s.w $f0, $f0 +/* A1CEF4 80241DF4 46002085 */ abs.s $f2, $f4 +/* A1CEF8 80241DF8 46020000 */ add.s $f0, $f0, $f2 +/* A1CEFC 80241DFC C7A20024 */ lwc1 $f2, 0x24($sp) +/* A1CF00 80241E00 4600103E */ c.le.s $f2, $f0 +/* A1CF04 80241E04 00000000 */ nop +/* A1CF08 80241E08 45000005 */ bc1f .L80241E20 +/* A1CF0C 80241E0C 00000000 */ nop +/* A1CF10 80241E10 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A1CF14 80241E14 AE00001C */ sw $zero, 0x1c($s0) +/* A1CF18 80241E18 0809079D */ j .L80241E74 +/* A1CF1C 80241E1C E600003C */ swc1 $f0, 0x3c($s0) +.L80241E20: +/* A1CF20 80241E20 C600003C */ lwc1 $f0, 0x3c($s0) +/* A1CF24 80241E24 46040000 */ add.s $f0, $f0, $f4 +/* A1CF28 80241E28 0809079D */ j .L80241E74 +/* A1CF2C 80241E2C E600003C */ swc1 $f0, 0x3c($s0) +.L80241E30: +/* A1CF30 80241E30 C606003C */ lwc1 $f6, 0x3c($s0) +/* A1CF34 80241E34 860200A8 */ lh $v0, 0xa8($s0) +/* A1CF38 80241E38 46163081 */ sub.s $f2, $f6, $f22 +/* A1CF3C 80241E3C 44820000 */ mtc1 $v0, $f0 +/* A1CF40 80241E40 00000000 */ nop +/* A1CF44 80241E44 46800020 */ cvt.s.w $f0, $f0 +/* A1CF48 80241E48 46001080 */ add.s $f2, $f2, $f0 +/* A1CF4C 80241E4C C604001C */ lwc1 $f4, 0x1c($s0) +/* A1CF50 80241E50 46002005 */ abs.s $f0, $f4 +/* A1CF54 80241E54 4602003C */ c.lt.s $f0, $f2 +/* A1CF58 80241E58 00000000 */ nop +/* A1CF5C 80241E5C 45020005 */ bc1fl .L80241E74 +/* A1CF60 80241E60 AE00001C */ sw $zero, 0x1c($s0) +/* A1CF64 80241E64 46043000 */ add.s $f0, $f6, $f4 +/* A1CF68 80241E68 0809079D */ j .L80241E74 +/* A1CF6C 80241E6C E600003C */ swc1 $f0, 0x3c($s0) +.L80241E70: +/* A1CF70 80241E70 AE00001C */ sw $zero, 0x1c($s0) +.L80241E74: +/* A1CF74 80241E74 8FBF0038 */ lw $ra, 0x38($sp) +/* A1CF78 80241E78 8FB30034 */ lw $s3, 0x34($sp) +/* A1CF7C 80241E7C 8FB20030 */ lw $s2, 0x30($sp) +/* A1CF80 80241E80 8FB1002C */ lw $s1, 0x2c($sp) +/* A1CF84 80241E84 8FB00028 */ lw $s0, 0x28($sp) +/* A1CF88 80241E88 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A1CF8C 80241E8C D7B40040 */ ldc1 $f20, 0x40($sp) +/* A1CF90 80241E90 03E00008 */ jr $ra +/* A1CF94 80241E94 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241E98.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241E98.s new file mode 100644 index 0000000000..5ec9cd4ac2 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241E98.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E98 +/* A1CF98 80241E98 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A1CF9C 80241E9C AFB00028 */ sw $s0, 0x28($sp) +/* A1CFA0 80241EA0 00A0802D */ daddu $s0, $a1, $zero +/* A1CFA4 80241EA4 AFB1002C */ sw $s1, 0x2c($sp) +/* A1CFA8 80241EA8 00C0882D */ daddu $s1, $a2, $zero +/* A1CFAC 80241EAC AFBF0034 */ sw $ra, 0x34($sp) +/* A1CFB0 80241EB0 AFB20030 */ sw $s2, 0x30($sp) +/* A1CFB4 80241EB4 AE200070 */ sw $zero, 0x70($s1) +/* A1CFB8 80241EB8 8C830000 */ lw $v1, ($a0) +/* A1CFBC 80241EBC 2402FDFF */ addiu $v0, $zero, -0x201 +/* A1CFC0 80241EC0 A480008E */ sh $zero, 0x8e($a0) +/* A1CFC4 80241EC4 00621824 */ and $v1, $v1, $v0 +/* A1CFC8 80241EC8 34650800 */ ori $a1, $v1, 0x800 +/* A1CFCC 80241ECC AC850000 */ sw $a1, ($a0) +/* A1CFD0 80241ED0 8E0200D0 */ lw $v0, 0xd0($s0) +/* A1CFD4 80241ED4 8C420034 */ lw $v0, 0x34($v0) +/* A1CFD8 80241ED8 10400003 */ beqz $v0, .L80241EE8 +/* A1CFDC 80241EDC 00E0902D */ daddu $s2, $a3, $zero +/* A1CFE0 80241EE0 080907BC */ j .L80241EF0 +/* A1CFE4 80241EE4 34620808 */ ori $v0, $v1, 0x808 +.L80241EE8: +/* A1CFE8 80241EE8 2402FFF7 */ addiu $v0, $zero, -9 +/* A1CFEC 80241EEC 00A21024 */ and $v0, $a1, $v0 +.L80241EF0: +/* A1CFF0 80241EF0 AC820000 */ sw $v0, ($a0) +/* A1CFF4 80241EF4 27A20024 */ addiu $v0, $sp, 0x24 +/* A1CFF8 80241EF8 27A50018 */ addiu $a1, $sp, 0x18 +/* A1CFFC 80241EFC C4800038 */ lwc1 $f0, 0x38($a0) +/* A1D000 80241F00 C482003C */ lwc1 $f2, 0x3c($a0) +/* A1D004 80241F04 C4840040 */ lwc1 $f4, 0x40($a0) +/* A1D008 80241F08 3C01447A */ lui $at, 0x447a +/* A1D00C 80241F0C 44813000 */ mtc1 $at, $f6 +/* A1D010 80241F10 27A6001C */ addiu $a2, $sp, 0x1c +/* A1D014 80241F14 E7A00018 */ swc1 $f0, 0x18($sp) +/* A1D018 80241F18 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A1D01C 80241F1C E7A40020 */ swc1 $f4, 0x20($sp) +/* A1D020 80241F20 E7A60024 */ swc1 $f6, 0x24($sp) +/* A1D024 80241F24 AFA20010 */ sw $v0, 0x10($sp) +/* A1D028 80241F28 8C840080 */ lw $a0, 0x80($a0) +/* A1D02C 80241F2C 0C0372DF */ jal func_800DCB7C +/* A1D030 80241F30 27A70020 */ addiu $a3, $sp, 0x20 +/* A1D034 80241F34 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A1D038 80241F38 3C014059 */ lui $at, 0x4059 +/* A1D03C 80241F3C 44812800 */ mtc1 $at, $f5 +/* A1D040 80241F40 44802000 */ mtc1 $zero, $f4 +/* A1D044 80241F44 460010A1 */ cvt.d.s $f2, $f2 +/* A1D048 80241F48 46241082 */ mul.d $f2, $f2, $f4 +/* A1D04C 80241F4C 00000000 */ nop +/* A1D050 80241F50 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A1D054 80241F54 46000021 */ cvt.d.s $f0, $f0 +/* A1D058 80241F58 46240002 */ mul.d $f0, $f0, $f4 +/* A1D05C 80241F5C 00000000 */ nop +/* A1D060 80241F60 3C013FE0 */ lui $at, 0x3fe0 +/* A1D064 80241F64 44812800 */ mtc1 $at, $f5 +/* A1D068 80241F68 44802000 */ mtc1 $zero, $f4 +/* A1D06C 80241F6C 00000000 */ nop +/* A1D070 80241F70 46241080 */ add.d $f2, $f2, $f4 +/* A1D074 80241F74 AE000074 */ sw $zero, 0x74($s0) +/* A1D078 80241F78 46240000 */ add.d $f0, $f0, $f4 +/* A1D07C 80241F7C AE000090 */ sw $zero, 0x90($s0) +/* A1D080 80241F80 4620120D */ trunc.w.d $f8, $f2 +/* A1D084 80241F84 E6080078 */ swc1 $f8, 0x78($s0) +/* A1D088 80241F88 4620020D */ trunc.w.d $f8, $f0 +/* A1D08C 80241F8C E6080088 */ swc1 $f8, 0x88($s0) +/* A1D090 80241F90 8E420014 */ lw $v0, 0x14($s2) +/* A1D094 80241F94 AE220074 */ sw $v0, 0x74($s1) +/* A1D098 80241F98 8E0200B0 */ lw $v0, 0xb0($s0) +/* A1D09C 80241F9C 34420010 */ ori $v0, $v0, 0x10 +/* A1D0A0 80241FA0 AE0200B0 */ sw $v0, 0xb0($s0) +/* A1D0A4 80241FA4 8FBF0034 */ lw $ra, 0x34($sp) +/* A1D0A8 80241FA8 8FB20030 */ lw $s2, 0x30($sp) +/* A1D0AC 80241FAC 8FB1002C */ lw $s1, 0x2c($sp) +/* A1D0B0 80241FB0 8FB00028 */ lw $s0, 0x28($sp) +/* A1D0B4 80241FB4 03E00008 */ jr $ra +/* A1D0B8 80241FB8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80241FBC.s b/asm/nonmatchings/world/area_hos/hos_03/func_80241FBC.s new file mode 100644 index 0000000000..5ddfb41c9c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80241FBC.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FBC +/* A1D0BC 80241FBC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A1D0C0 80241FC0 AFB40040 */ sw $s4, 0x40($sp) +/* A1D0C4 80241FC4 0080A02D */ daddu $s4, $a0, $zero +/* A1D0C8 80241FC8 AFBF0048 */ sw $ra, 0x48($sp) +/* A1D0CC 80241FCC AFB50044 */ sw $s5, 0x44($sp) +/* A1D0D0 80241FD0 AFB3003C */ sw $s3, 0x3c($sp) +/* A1D0D4 80241FD4 AFB20038 */ sw $s2, 0x38($sp) +/* A1D0D8 80241FD8 AFB10034 */ sw $s1, 0x34($sp) +/* A1D0DC 80241FDC AFB00030 */ sw $s0, 0x30($sp) +/* A1D0E0 80241FE0 8E920148 */ lw $s2, 0x148($s4) +/* A1D0E4 80241FE4 86440008 */ lh $a0, 8($s2) +/* A1D0E8 80241FE8 8E90000C */ lw $s0, 0xc($s4) +/* A1D0EC 80241FEC 0C00EABB */ jal get_npc_unsafe +/* A1D0F0 80241FF0 00A0882D */ daddu $s1, $a1, $zero +/* A1D0F4 80241FF4 0280202D */ daddu $a0, $s4, $zero +/* A1D0F8 80241FF8 8E050000 */ lw $a1, ($s0) +/* A1D0FC 80241FFC 0C0B1EAF */ jal get_variable +/* A1D100 80242000 0040A82D */ daddu $s5, $v0, $zero +/* A1D104 80242004 AFA00010 */ sw $zero, 0x10($sp) +/* A1D108 80242008 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1D10C 8024200C 8C630030 */ lw $v1, 0x30($v1) +/* A1D110 80242010 AFA30014 */ sw $v1, 0x14($sp) +/* A1D114 80242014 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1D118 80242018 8C63001C */ lw $v1, 0x1c($v1) +/* A1D11C 8024201C AFA30018 */ sw $v1, 0x18($sp) +/* A1D120 80242020 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1D124 80242024 8C630024 */ lw $v1, 0x24($v1) +/* A1D128 80242028 AFA3001C */ sw $v1, 0x1c($sp) +/* A1D12C 8024202C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1D130 80242030 8C630028 */ lw $v1, 0x28($v1) +/* A1D134 80242034 27B30010 */ addiu $s3, $sp, 0x10 +/* A1D138 80242038 AFA30020 */ sw $v1, 0x20($sp) +/* A1D13C 8024203C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A1D140 80242040 3C0142F0 */ lui $at, 0x42f0 +/* A1D144 80242044 44810000 */ mtc1 $at, $f0 +/* A1D148 80242048 8C63002C */ lw $v1, 0x2c($v1) +/* A1D14C 8024204C 0040802D */ daddu $s0, $v0, $zero +/* A1D150 80242050 E7A00028 */ swc1 $f0, 0x28($sp) +/* A1D154 80242054 A7A0002C */ sh $zero, 0x2c($sp) +/* A1D158 80242058 12200006 */ beqz $s1, .L80242074 +/* A1D15C 8024205C AFA30024 */ sw $v1, 0x24($sp) +/* A1D160 80242060 02A0202D */ daddu $a0, $s5, $zero +/* A1D164 80242064 0240282D */ daddu $a1, $s2, $zero +/* A1D168 80242068 0280302D */ daddu $a2, $s4, $zero +/* A1D16C 8024206C 0C0907A6 */ jal func_80241E98 +/* A1D170 80242070 0200382D */ daddu $a3, $s0, $zero +.L80242074: +/* A1D174 80242074 2402FFFE */ addiu $v0, $zero, -2 +/* A1D178 80242078 A2A200AB */ sb $v0, 0xab($s5) +/* A1D17C 8024207C 8E4300B0 */ lw $v1, 0xb0($s2) +/* A1D180 80242080 30620004 */ andi $v0, $v1, 4 +/* A1D184 80242084 10400007 */ beqz $v0, .L802420A4 +/* A1D188 80242088 00000000 */ nop +/* A1D18C 8024208C 824200B4 */ lb $v0, 0xb4($s2) +/* A1D190 80242090 1440003C */ bnez $v0, .L80242184 +/* A1D194 80242094 0000102D */ daddu $v0, $zero, $zero +/* A1D198 80242098 2402FFFB */ addiu $v0, $zero, -5 +/* A1D19C 8024209C 00621024 */ and $v0, $v1, $v0 +/* A1D1A0 802420A0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802420A4: +/* A1D1A4 802420A4 8E830070 */ lw $v1, 0x70($s4) +/* A1D1A8 802420A8 2C62000F */ sltiu $v0, $v1, 0xf +/* A1D1AC 802420AC 10400034 */ beqz $v0, .L80242180 +/* A1D1B0 802420B0 00031080 */ sll $v0, $v1, 2 +/* A1D1B4 802420B4 3C018025 */ lui $at, 0x8025 +/* A1D1B8 802420B8 00220821 */ addu $at, $at, $v0 +/* A1D1BC 802420BC 8C22BD88 */ lw $v0, -0x4278($at) +/* A1D1C0 802420C0 00400008 */ jr $v0 +/* A1D1C4 802420C4 00000000 */ nop +/* A1D1C8 802420C8 0280202D */ daddu $a0, $s4, $zero +/* A1D1CC 802420CC 0200282D */ daddu $a1, $s0, $zero +/* A1D1D0 802420D0 0C09032C */ jal func_80240CB0 +/* A1D1D4 802420D4 0260302D */ daddu $a2, $s3, $zero +/* A1D1D8 802420D8 0280202D */ daddu $a0, $s4, $zero +/* A1D1DC 802420DC 0200282D */ daddu $a1, $s0, $zero +/* A1D1E0 802420E0 0C090398 */ jal func_80240E60 +/* A1D1E4 802420E4 0260302D */ daddu $a2, $s3, $zero +/* A1D1E8 802420E8 08090861 */ j .L80242184 +/* A1D1EC 802420EC 0000102D */ daddu $v0, $zero, $zero +/* A1D1F0 802420F0 0280202D */ daddu $a0, $s4, $zero +/* A1D1F4 802420F4 0200282D */ daddu $a1, $s0, $zero +/* A1D1F8 802420F8 0C090522 */ jal func_80241488 +/* A1D1FC 802420FC 0260302D */ daddu $a2, $s3, $zero +/* A1D200 80242100 0280202D */ daddu $a0, $s4, $zero +/* A1D204 80242104 0200282D */ daddu $a1, $s0, $zero +/* A1D208 80242108 0C090552 */ jal func_80241548 +/* A1D20C 8024210C 0260302D */ daddu $a2, $s3, $zero +/* A1D210 80242110 08090861 */ j .L80242184 +/* A1D214 80242114 0000102D */ daddu $v0, $zero, $zero +/* A1D218 80242118 0280202D */ daddu $a0, $s4, $zero +/* A1D21C 8024211C 0200282D */ daddu $a1, $s0, $zero +/* A1D220 80242120 0C090623 */ jal func_8024188C +/* A1D224 80242124 0260302D */ daddu $a2, $s3, $zero +/* A1D228 80242128 0280202D */ daddu $a0, $s4, $zero +/* A1D22C 8024212C 0200282D */ daddu $a1, $s0, $zero +/* A1D230 80242130 0C090641 */ jal func_80241904 +/* A1D234 80242134 0260302D */ daddu $a2, $s3, $zero +/* A1D238 80242138 08090861 */ j .L80242184 +/* A1D23C 8024213C 0000102D */ daddu $v0, $zero, $zero +/* A1D240 80242140 0280202D */ daddu $a0, $s4, $zero +/* A1D244 80242144 0200282D */ daddu $a1, $s0, $zero +/* A1D248 80242148 0C09065C */ jal func_80241970 +/* A1D24C 8024214C 0260302D */ daddu $a2, $s3, $zero +/* A1D250 80242150 08090861 */ j .L80242184 +/* A1D254 80242154 0000102D */ daddu $v0, $zero, $zero +/* A1D258 80242158 0280202D */ daddu $a0, $s4, $zero +/* A1D25C 8024215C 0200282D */ daddu $a1, $s0, $zero +/* A1D260 80242160 0C0906A9 */ jal func_80241AA4 +/* A1D264 80242164 0260302D */ daddu $a2, $s3, $zero +/* A1D268 80242168 08090861 */ j .L80242184 +/* A1D26C 8024216C 0000102D */ daddu $v0, $zero, $zero +/* A1D270 80242170 0280202D */ daddu $a0, $s4, $zero +/* A1D274 80242174 0200282D */ daddu $a1, $s0, $zero +/* A1D278 80242178 0C0906C2 */ jal func_80241B08 +/* A1D27C 8024217C 0260302D */ daddu $a2, $s3, $zero +.L80242180: +/* A1D280 80242180 0000102D */ daddu $v0, $zero, $zero +.L80242184: +/* A1D284 80242184 8FBF0048 */ lw $ra, 0x48($sp) +/* A1D288 80242188 8FB50044 */ lw $s5, 0x44($sp) +/* A1D28C 8024218C 8FB40040 */ lw $s4, 0x40($sp) +/* A1D290 80242190 8FB3003C */ lw $s3, 0x3c($sp) +/* A1D294 80242194 8FB20038 */ lw $s2, 0x38($sp) +/* A1D298 80242198 8FB10034 */ lw $s1, 0x34($sp) +/* A1D29C 8024219C 8FB00030 */ lw $s0, 0x30($sp) +/* A1D2A0 802421A0 03E00008 */ jr $ra +/* A1D2A4 802421A4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802421A8.s b/asm/nonmatchings/world/area_hos/hos_03/func_802421A8.s new file mode 100644 index 0000000000..54ea70ee20 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802421A8.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421A8 +/* A1D2A8 802421A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D2AC 802421AC AFBF0010 */ sw $ra, 0x10($sp) +/* A1D2B0 802421B0 0C03A625 */ jal func_800E9894 +/* A1D2B4 802421B4 00000000 */ nop +/* A1D2B8 802421B8 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D2BC 802421BC 24020002 */ addiu $v0, $zero, 2 +/* A1D2C0 802421C0 03E00008 */ jr $ra +/* A1D2C4 802421C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802421C8.s b/asm/nonmatchings/world/area_hos/hos_03/func_802421C8.s new file mode 100644 index 0000000000..c21fbf5fb2 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802421C8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421C8 +/* A1D2C8 802421C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D2CC 802421CC AFBF0010 */ sw $ra, 0x10($sp) +/* A1D2D0 802421D0 0C03A631 */ jal func_800E98C4 +/* A1D2D4 802421D4 00000000 */ nop +/* A1D2D8 802421D8 0C03A6DB */ jal sync_status_menu +/* A1D2DC 802421DC 00000000 */ nop +/* A1D2E0 802421E0 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D2E4 802421E4 24020002 */ addiu $v0, $zero, 2 +/* A1D2E8 802421E8 03E00008 */ jr $ra +/* A1D2EC 802421EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802421F0.s b/asm/nonmatchings/world/area_hos/hos_03/func_802421F0.s new file mode 100644 index 0000000000..5ef26520b9 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802421F0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421F0 +/* A1D2F0 802421F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1D2F4 802421F4 AFB10014 */ sw $s1, 0x14($sp) +/* A1D2F8 802421F8 0080882D */ daddu $s1, $a0, $zero +/* A1D2FC 802421FC AFBF0018 */ sw $ra, 0x18($sp) +/* A1D300 80242200 AFB00010 */ sw $s0, 0x10($sp) +/* A1D304 80242204 8E30000C */ lw $s0, 0xc($s1) +/* A1D308 80242208 8E050000 */ lw $a1, ($s0) +/* A1D30C 8024220C 0C0B1EAF */ jal get_variable +/* A1D310 80242210 26100004 */ addiu $s0, $s0, 4 +/* A1D314 80242214 0220202D */ daddu $a0, $s1, $zero +/* A1D318 80242218 8E050000 */ lw $a1, ($s0) +/* A1D31C 8024221C 0C0B1EAF */ jal get_variable +/* A1D320 80242220 0040882D */ daddu $s1, $v0, $zero +/* A1D324 80242224 0000202D */ daddu $a0, $zero, $zero +/* A1D328 80242228 0080282D */ daddu $a1, $a0, $zero +/* A1D32C 8024222C 0040802D */ daddu $s0, $v0, $zero +/* A1D330 80242230 240600BE */ addiu $a2, $zero, 0xbe +/* A1D334 80242234 0C04DF93 */ jal func_80137E4C +/* A1D338 80242238 24070091 */ addiu $a3, $zero, 0x91 +/* A1D33C 8024223C 44900000 */ mtc1 $s0, $f0 +/* A1D340 80242240 00000000 */ nop +/* A1D344 80242244 46800020 */ cvt.s.w $f0, $f0 +/* A1D348 80242248 44050000 */ mfc1 $a1, $f0 +/* A1D34C 8024224C 0C04DF62 */ jal func_80137D88 +/* A1D350 80242250 322400FF */ andi $a0, $s1, 0xff +/* A1D354 80242254 8FBF0018 */ lw $ra, 0x18($sp) +/* A1D358 80242258 8FB10014 */ lw $s1, 0x14($sp) +/* A1D35C 8024225C 8FB00010 */ lw $s0, 0x10($sp) +/* A1D360 80242260 24020002 */ addiu $v0, $zero, 2 +/* A1D364 80242264 03E00008 */ jr $ra +/* A1D368 80242268 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024226C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024226C_A1B100.s new file mode 100644 index 0000000000..d0803cac96 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024226C_A1B100.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024226C_A1D36C +/* A1D36C 8024226C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1D370 80242270 AFB10014 */ sw $s1, 0x14($sp) +/* A1D374 80242274 0080882D */ daddu $s1, $a0, $zero +/* A1D378 80242278 AFBF0018 */ sw $ra, 0x18($sp) +/* A1D37C 8024227C AFB00010 */ sw $s0, 0x10($sp) +/* A1D380 80242280 8E30000C */ lw $s0, 0xc($s1) +/* A1D384 80242284 8E050000 */ lw $a1, ($s0) +/* A1D388 80242288 0C0B1EAF */ jal get_variable +/* A1D38C 8024228C 26100004 */ addiu $s0, $s0, 4 +/* A1D390 80242290 0220202D */ daddu $a0, $s1, $zero +/* A1D394 80242294 8E050000 */ lw $a1, ($s0) +/* A1D398 80242298 0C0B1EAF */ jal get_variable +/* A1D39C 8024229C 0040802D */ daddu $s0, $v0, $zero +/* A1D3A0 802422A0 44820000 */ mtc1 $v0, $f0 +/* A1D3A4 802422A4 00000000 */ nop +/* A1D3A8 802422A8 46800020 */ cvt.s.w $f0, $f0 +/* A1D3AC 802422AC 24020002 */ addiu $v0, $zero, 2 +/* A1D3B0 802422B0 00501804 */ sllv $v1, $s0, $v0 +/* A1D3B4 802422B4 00701821 */ addu $v1, $v1, $s0 +/* A1D3B8 802422B8 00431804 */ sllv $v1, $v1, $v0 +/* A1D3BC 802422BC 00701823 */ subu $v1, $v1, $s0 +/* A1D3C0 802422C0 000320C0 */ sll $a0, $v1, 3 +/* A1D3C4 802422C4 00641821 */ addu $v1, $v1, $a0 +/* A1D3C8 802422C8 000318C0 */ sll $v1, $v1, 3 +/* A1D3CC 802422CC 3C01800B */ lui $at, 0x800b +/* A1D3D0 802422D0 00230821 */ addu $at, $at, $v1 +/* A1D3D4 802422D4 E4201D98 */ swc1 $f0, 0x1d98($at) +/* A1D3D8 802422D8 8FBF0018 */ lw $ra, 0x18($sp) +/* A1D3DC 802422DC 8FB10014 */ lw $s1, 0x14($sp) +/* A1D3E0 802422E0 8FB00010 */ lw $s0, 0x10($sp) +/* A1D3E4 802422E4 03E00008 */ jr $ra +/* A1D3E8 802422E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802422EC_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_802422EC_A1B100.s new file mode 100644 index 0000000000..c9f8d55b7c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802422EC_A1B100.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422EC_A1D3EC +/* A1D3EC 802422EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D3F0 802422F0 AFBF0010 */ sw $ra, 0x10($sp) +/* A1D3F4 802422F4 8C82000C */ lw $v0, 0xc($a0) +/* A1D3F8 802422F8 0C0B1EAF */ jal get_variable +/* A1D3FC 802422FC 8C450000 */ lw $a1, ($v0) +/* A1D400 80242300 0C0B1059 */ jal does_script_exist +/* A1D404 80242304 0040202D */ daddu $a0, $v0, $zero +/* A1D408 80242308 2C420001 */ sltiu $v0, $v0, 1 +/* A1D40C 8024230C 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D410 80242310 00021040 */ sll $v0, $v0, 1 +/* A1D414 80242314 03E00008 */ jr $ra +/* A1D418 80242318 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024231C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024231C_A1B100.s new file mode 100644 index 0000000000..0fef1c1081 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024231C_A1B100.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024231C_A1D41C +/* A1D41C 8024231C 3C028011 */ lui $v0, 0x8011 +/* A1D420 80242320 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A1D424 80242324 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D428 80242328 10400003 */ beqz $v0, .L80242338 +/* A1D42C 8024232C AFBF0010 */ sw $ra, 0x10($sp) +/* A1D430 80242330 0C03AE06 */ jal partner_suspend_ability_script +/* A1D434 80242334 00000000 */ nop +.L80242338: +/* A1D438 80242338 24020002 */ addiu $v0, $zero, 2 +/* A1D43C 8024233C 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D440 80242340 03E00008 */ jr $ra +/* A1D444 80242344 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242348.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242348.s new file mode 100644 index 0000000000..f0cf563ae4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242348.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242348 +/* A1D448 80242348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D44C 8024234C AFBF0010 */ sw $ra, 0x10($sp) +/* A1D450 80242350 0C03AE18 */ jal partner_resume_ability_script +/* A1D454 80242354 00000000 */ nop +/* A1D458 80242358 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D45C 8024235C 24020002 */ addiu $v0, $zero, 2 +/* A1D460 80242360 03E00008 */ jr $ra +/* A1D464 80242364 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242368.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242368.s new file mode 100644 index 0000000000..cc9272f57f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242368.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242368 +/* A1D468 80242368 3C058011 */ lui $a1, %hi(gPlayerData) +/* A1D46C 8024236C 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* A1D470 80242370 AC800088 */ sw $zero, 0x88($a0) +/* A1D474 80242374 80A30003 */ lb $v1, 3($a1) +/* A1D478 80242378 80A20002 */ lb $v0, 2($a1) +/* A1D47C 8024237C 1462000B */ bne $v1, $v0, .L802423AC +/* A1D480 80242380 00A0302D */ daddu $a2, $a1, $zero +/* A1D484 80242384 80A30006 */ lb $v1, 6($a1) +/* A1D488 80242388 80A20005 */ lb $v0, 5($a1) +/* A1D48C 8024238C 14620007 */ bne $v1, $v0, .L802423AC +/* A1D490 80242390 00000000 */ nop +/* A1D494 80242394 80C2028E */ lb $v0, 0x28e($a2) +/* A1D498 80242398 84C30290 */ lh $v1, 0x290($a2) +/* A1D49C 8024239C 00021200 */ sll $v0, $v0, 8 +/* A1D4A0 802423A0 14620004 */ bne $v1, $v0, .L802423B4 +/* A1D4A4 802423A4 24020001 */ addiu $v0, $zero, 1 +/* A1D4A8 802423A8 AC820088 */ sw $v0, 0x88($a0) +.L802423AC: +/* A1D4AC 802423AC 03E00008 */ jr $ra +/* A1D4B0 802423B0 24020002 */ addiu $v0, $zero, 2 +.L802423B4: +/* A1D4B4 802423B4 03E00008 */ jr $ra +/* A1D4B8 802423B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802423BC.s b/asm/nonmatchings/world/area_hos/hos_03/func_802423BC.s new file mode 100644 index 0000000000..a56f6ce968 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802423BC.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423BC +/* A1D4BC 802423BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1D4C0 802423C0 AFB10014 */ sw $s1, 0x14($sp) +/* A1D4C4 802423C4 0080882D */ daddu $s1, $a0, $zero +/* A1D4C8 802423C8 AFBF001C */ sw $ra, 0x1c($sp) +/* A1D4CC 802423CC AFB20018 */ sw $s2, 0x18($sp) +/* A1D4D0 802423D0 AFB00010 */ sw $s0, 0x10($sp) +/* A1D4D4 802423D4 8E30000C */ lw $s0, 0xc($s1) +/* A1D4D8 802423D8 8E050000 */ lw $a1, ($s0) +/* A1D4DC 802423DC 0C0B1EAF */ jal get_variable +/* A1D4E0 802423E0 26100004 */ addiu $s0, $s0, 4 +/* A1D4E4 802423E4 8E050000 */ lw $a1, ($s0) +/* A1D4E8 802423E8 26100004 */ addiu $s0, $s0, 4 +/* A1D4EC 802423EC 0220202D */ daddu $a0, $s1, $zero +/* A1D4F0 802423F0 0C0B1EAF */ jal get_variable +/* A1D4F4 802423F4 0040902D */ daddu $s2, $v0, $zero +/* A1D4F8 802423F8 0220202D */ daddu $a0, $s1, $zero +/* A1D4FC 802423FC 8E050000 */ lw $a1, ($s0) +/* A1D500 80242400 0C0B1EAF */ jal get_variable +/* A1D504 80242404 0040802D */ daddu $s0, $v0, $zero +/* A1D508 80242408 0000202D */ daddu $a0, $zero, $zero +/* A1D50C 8024240C 324500FF */ andi $a1, $s2, 0xff +/* A1D510 80242410 320600FF */ andi $a2, $s0, 0xff +/* A1D514 80242414 0C04DF84 */ jal func_80137E10 +/* A1D518 80242418 304700FF */ andi $a3, $v0, 0xff +/* A1D51C 8024241C 8FBF001C */ lw $ra, 0x1c($sp) +/* A1D520 80242420 8FB20018 */ lw $s2, 0x18($sp) +/* A1D524 80242424 8FB10014 */ lw $s1, 0x14($sp) +/* A1D528 80242428 8FB00010 */ lw $s0, 0x10($sp) +/* A1D52C 8024242C 24020002 */ addiu $v0, $zero, 2 +/* A1D530 80242430 03E00008 */ jr $ra +/* A1D534 80242434 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242438.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242438.s new file mode 100644 index 0000000000..9660c76576 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242438.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242438 +/* A1D538 80242438 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D53C 8024243C AFBF0010 */ sw $ra, 0x10($sp) +/* A1D540 80242440 8C82000C */ lw $v0, 0xc($a0) +/* A1D544 80242444 3C068011 */ lui $a2, 0x8011 +/* A1D548 80242448 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* A1D54C 8024244C 0C0B2026 */ jal set_variable +/* A1D550 80242450 8C450000 */ lw $a1, ($v0) +/* A1D554 80242454 0C03AC5A */ jal func_800EB168 +/* A1D558 80242458 0000202D */ daddu $a0, $zero, $zero +/* A1D55C 8024245C 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D560 80242460 24020002 */ addiu $v0, $zero, 2 +/* A1D564 80242464 03E00008 */ jr $ra +/* A1D568 80242468 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024246C.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024246C.s new file mode 100644 index 0000000000..073211972f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024246C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024246C +/* A1D56C 8024246C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D570 80242470 AFBF0010 */ sw $ra, 0x10($sp) +/* A1D574 80242474 8C82000C */ lw $v0, 0xc($a0) +/* A1D578 80242478 0C0B1EAF */ jal get_variable +/* A1D57C 8024247C 8C450000 */ lw $a1, ($v0) +/* A1D580 80242480 00021600 */ sll $v0, $v0, 0x18 +/* A1D584 80242484 0C03AC5A */ jal func_800EB168 +/* A1D588 80242488 00022603 */ sra $a0, $v0, 0x18 +/* A1D58C 8024248C 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D590 80242490 24020002 */ addiu $v0, $zero, 2 +/* A1D594 80242494 03E00008 */ jr $ra +/* A1D598 80242498 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024249C.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024249C.s new file mode 100644 index 0000000000..93b74ae3fe --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024249C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024249C +/* A1D59C 8024249C 03E00008 */ jr $ra +/* A1D5A0 802424A0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802424A4.s b/asm/nonmatchings/world/area_hos/hos_03/func_802424A4.s new file mode 100644 index 0000000000..1336b30371 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802424A4.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424A4 +/* A1D5A4 802424A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1D5A8 802424A8 AFB00010 */ sw $s0, 0x10($sp) +/* A1D5AC 802424AC 3C108025 */ lui $s0, 0x8025 +/* A1D5B0 802424B0 2610801C */ addiu $s0, $s0, -0x7fe4 +/* A1D5B4 802424B4 AFBF0018 */ sw $ra, 0x18($sp) +/* A1D5B8 802424B8 AFB10014 */ sw $s1, 0x14($sp) +/* A1D5BC 802424BC 8E020000 */ lw $v0, ($s0) +/* A1D5C0 802424C0 14400010 */ bnez $v0, .L80242504 +/* A1D5C4 802424C4 0080882D */ daddu $s1, $a0, $zero +/* A1D5C8 802424C8 0C00AB39 */ jal heap_malloc +/* A1D5CC 802424CC 24040040 */ addiu $a0, $zero, 0x40 +/* A1D5D0 802424D0 AE020000 */ sw $v0, ($s0) +/* A1D5D4 802424D4 0000182D */ daddu $v1, $zero, $zero +/* A1D5D8 802424D8 0040282D */ daddu $a1, $v0, $zero +/* A1D5DC 802424DC 0220202D */ daddu $a0, $s1, $zero +.L802424E0: +/* A1D5E0 802424E0 8C820084 */ lw $v0, 0x84($a0) +/* A1D5E4 802424E4 24840004 */ addiu $a0, $a0, 4 +/* A1D5E8 802424E8 24630001 */ addiu $v1, $v1, 1 +/* A1D5EC 802424EC ACA20000 */ sw $v0, ($a1) +/* A1D5F0 802424F0 28620010 */ slti $v0, $v1, 0x10 +/* A1D5F4 802424F4 1440FFFA */ bnez $v0, .L802424E0 +/* A1D5F8 802424F8 24A50004 */ addiu $a1, $a1, 4 +/* A1D5FC 802424FC 08090950 */ j .L80242540 +/* A1D600 80242500 00000000 */ nop +.L80242504: +/* A1D604 80242504 0000182D */ daddu $v1, $zero, $zero +/* A1D608 80242508 0040282D */ daddu $a1, $v0, $zero +/* A1D60C 8024250C 0220202D */ daddu $a0, $s1, $zero +.L80242510: +/* A1D610 80242510 8CA20000 */ lw $v0, ($a1) +/* A1D614 80242514 24A50004 */ addiu $a1, $a1, 4 +/* A1D618 80242518 24630001 */ addiu $v1, $v1, 1 +/* A1D61C 8024251C AC820084 */ sw $v0, 0x84($a0) +/* A1D620 80242520 28620010 */ slti $v0, $v1, 0x10 +/* A1D624 80242524 1440FFFA */ bnez $v0, .L80242510 +/* A1D628 80242528 24840004 */ addiu $a0, $a0, 4 +/* A1D62C 8024252C 3C108025 */ lui $s0, 0x8025 +/* A1D630 80242530 2610801C */ addiu $s0, $s0, -0x7fe4 +/* A1D634 80242534 0C00AB4B */ jal heap_free +/* A1D638 80242538 8E040000 */ lw $a0, ($s0) +/* A1D63C 8024253C AE000000 */ sw $zero, ($s0) +.L80242540: +/* A1D640 80242540 8FBF0018 */ lw $ra, 0x18($sp) +/* A1D644 80242544 8FB10014 */ lw $s1, 0x14($sp) +/* A1D648 80242548 8FB00010 */ lw $s0, 0x10($sp) +/* A1D64C 8024254C 24020002 */ addiu $v0, $zero, 2 +/* A1D650 80242550 03E00008 */ jr $ra +/* A1D654 80242554 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242558.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242558.s new file mode 100644 index 0000000000..41dea5d8a8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242558.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242558 +/* A1D658 80242558 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1D65C 8024255C AFB00010 */ sw $s0, 0x10($sp) +/* A1D660 80242560 0080802D */ daddu $s0, $a0, $zero +/* A1D664 80242564 AFBF0018 */ sw $ra, 0x18($sp) +/* A1D668 80242568 AFB10014 */ sw $s1, 0x14($sp) +/* A1D66C 8024256C 8E02000C */ lw $v0, 0xc($s0) +/* A1D670 80242570 8C510000 */ lw $s1, ($v0) +/* A1D674 80242574 0C0B1EAF */ jal get_variable +/* A1D678 80242578 0220282D */ daddu $a1, $s1, $zero +/* A1D67C 8024257C 3C03FFF0 */ lui $v1, 0xfff0 +/* A1D680 80242580 3463FFFF */ ori $v1, $v1, 0xffff +/* A1D684 80242584 0200202D */ daddu $a0, $s0, $zero +/* A1D688 80242588 00431024 */ and $v0, $v0, $v1 +/* A1D68C 8024258C 00021140 */ sll $v0, $v0, 5 +/* A1D690 80242590 3C068008 */ lui $a2, %hi(gItemTable) +/* A1D694 80242594 00C23021 */ addu $a2, $a2, $v0 +/* A1D698 80242598 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A1D69C 8024259C 0C0B2026 */ jal set_variable +/* A1D6A0 802425A0 0220282D */ daddu $a1, $s1, $zero +/* A1D6A4 802425A4 8FBF0018 */ lw $ra, 0x18($sp) +/* A1D6A8 802425A8 8FB10014 */ lw $s1, 0x14($sp) +/* A1D6AC 802425AC 8FB00010 */ lw $s0, 0x10($sp) +/* A1D6B0 802425B0 24020002 */ addiu $v0, $zero, 2 +/* A1D6B4 802425B4 03E00008 */ jr $ra +/* A1D6B8 802425B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802425BC.s b/asm/nonmatchings/world/area_hos/hos_03/func_802425BC.s new file mode 100644 index 0000000000..c73f049106 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802425BC.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425BC +/* A1D6BC 802425BC 24020001 */ addiu $v0, $zero, 1 +/* A1D6C0 802425C0 3C018015 */ lui $at, %hi(D_80151310) +/* A1D6C4 802425C4 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* A1D6C8 802425C8 03E00008 */ jr $ra +/* A1D6CC 802425CC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802425D0.s b/asm/nonmatchings/world/area_hos/hos_03/func_802425D0.s new file mode 100644 index 0000000000..350be0940d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802425D0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425D0 +/* A1D6D0 802425D0 3C018015 */ lui $at, %hi(D_80151310) +/* A1D6D4 802425D4 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* A1D6D8 802425D8 03E00008 */ jr $ra +/* A1D6DC 802425DC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802425E0_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_802425E0_A1B100.s new file mode 100644 index 0000000000..36d6fd0e2f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802425E0_A1B100.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425E0_A1D6E0 +/* A1D6E0 802425E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A1D6E4 802425E4 AFB10024 */ sw $s1, 0x24($sp) +/* A1D6E8 802425E8 0080882D */ daddu $s1, $a0, $zero +/* A1D6EC 802425EC 3C05F840 */ lui $a1, 0xf840 +/* A1D6F0 802425F0 AFBF0044 */ sw $ra, 0x44($sp) +/* A1D6F4 802425F4 AFBE0040 */ sw $fp, 0x40($sp) +/* A1D6F8 802425F8 AFB7003C */ sw $s7, 0x3c($sp) +/* A1D6FC 802425FC AFB60038 */ sw $s6, 0x38($sp) +/* A1D700 80242600 AFB50034 */ sw $s5, 0x34($sp) +/* A1D704 80242604 AFB40030 */ sw $s4, 0x30($sp) +/* A1D708 80242608 AFB3002C */ sw $s3, 0x2c($sp) +/* A1D70C 8024260C AFB20028 */ sw $s2, 0x28($sp) +/* A1D710 80242610 AFB00020 */ sw $s0, 0x20($sp) +/* A1D714 80242614 8E3E0148 */ lw $fp, 0x148($s1) +/* A1D718 80242618 0C0B1EAF */ jal get_variable +/* A1D71C 8024261C 34A56268 */ ori $a1, $a1, 0x6268 +/* A1D720 80242620 0040802D */ daddu $s0, $v0, $zero +/* A1D724 80242624 0220202D */ daddu $a0, $s1, $zero +/* A1D728 80242628 3C05F840 */ lui $a1, 0xf840 +/* A1D72C 8024262C 0C0B1EAF */ jal get_variable +/* A1D730 80242630 34A56269 */ ori $a1, $a1, 0x6269 +/* A1D734 80242634 0040B82D */ daddu $s7, $v0, $zero +/* A1D738 80242638 0220202D */ daddu $a0, $s1, $zero +/* A1D73C 8024263C 3C05F5DE */ lui $a1, 0xf5de +/* A1D740 80242640 0C0B1EAF */ jal get_variable +/* A1D744 80242644 34A502DE */ ori $a1, $a1, 0x2de +/* A1D748 80242648 0040B02D */ daddu $s6, $v0, $zero +/* A1D74C 8024264C 0220202D */ daddu $a0, $s1, $zero +/* A1D750 80242650 3C05F5DE */ lui $a1, 0xf5de +/* A1D754 80242654 0C0B1EAF */ jal get_variable +/* A1D758 80242658 34A502DF */ ori $a1, $a1, 0x2df +/* A1D75C 8024265C 0040A82D */ daddu $s5, $v0, $zero +/* A1D760 80242660 93D3006D */ lbu $s3, 0x6d($fp) +/* A1D764 80242664 32C2FFFF */ andi $v0, $s6, 0xffff +/* A1D768 80242668 A7B30010 */ sh $s3, 0x10($sp) +/* A1D76C 8024266C 93D2006E */ lbu $s2, 0x6e($fp) +/* A1D770 80242670 93C7006F */ lbu $a3, 0x6f($fp) +/* A1D774 80242674 3274FFFF */ andi $s4, $s3, 0xffff +/* A1D778 80242678 12820003 */ beq $s4, $v0, .L80242688 +/* A1D77C 8024267C A7A7001E */ sh $a3, 0x1e($sp) +/* A1D780 80242680 0000B82D */ daddu $s7, $zero, $zero +/* A1D784 80242684 02E0802D */ daddu $s0, $s7, $zero +.L80242688: +/* A1D788 80242688 3202FFFF */ andi $v0, $s0, 0xffff +/* A1D78C 8024268C 14400016 */ bnez $v0, .L802426E8 +/* A1D790 80242690 0220202D */ daddu $a0, $s1, $zero +/* A1D794 80242694 0C00A67F */ jal rand_int +/* A1D798 80242698 24040064 */ addiu $a0, $zero, 0x64 +/* A1D79C 8024269C 2842001E */ slti $v0, $v0, 0x1e +/* A1D7A0 802426A0 10400011 */ beqz $v0, .L802426E8 +/* A1D7A4 802426A4 0220202D */ daddu $a0, $s1, $zero +/* A1D7A8 802426A8 0C00A67F */ jal rand_int +/* A1D7AC 802426AC 2644FFFF */ addiu $a0, $s2, -1 +/* A1D7B0 802426B0 0040A82D */ daddu $s5, $v0, $zero +/* A1D7B4 802426B4 0260B02D */ daddu $s6, $s3, $zero +/* A1D7B8 802426B8 0220202D */ daddu $a0, $s1, $zero +/* A1D7BC 802426BC 3C05F5DE */ lui $a1, 0xf5de +/* A1D7C0 802426C0 34A502DE */ ori $a1, $a1, 0x2de +/* A1D7C4 802426C4 0C0B2026 */ jal set_variable +/* A1D7C8 802426C8 0280302D */ daddu $a2, $s4, $zero +/* A1D7CC 802426CC 0220202D */ daddu $a0, $s1, $zero +/* A1D7D0 802426D0 3C05F5DE */ lui $a1, 0xf5de +/* A1D7D4 802426D4 34A502DF */ ori $a1, $a1, 0x2df +/* A1D7D8 802426D8 0C0B2026 */ jal set_variable +/* A1D7DC 802426DC 32A6FFFF */ andi $a2, $s5, 0xffff +/* A1D7E0 802426E0 24100001 */ addiu $s0, $zero, 1 +/* A1D7E4 802426E4 0220202D */ daddu $a0, $s1, $zero +.L802426E8: +/* A1D7E8 802426E8 3C05F840 */ lui $a1, 0xf840 +/* A1D7EC 802426EC 34A56268 */ ori $a1, $a1, 0x6268 +/* A1D7F0 802426F0 0C0B2026 */ jal set_variable +/* A1D7F4 802426F4 3206FFFF */ andi $a2, $s0, 0xffff +/* A1D7F8 802426F8 0220202D */ daddu $a0, $s1, $zero +/* A1D7FC 802426FC 3C05F840 */ lui $a1, 0xf840 +/* A1D800 80242700 34A56269 */ ori $a1, $a1, 0x6269 +/* A1D804 80242704 0C0B2026 */ jal set_variable +/* A1D808 80242708 32E6FFFF */ andi $a2, $s7, 0xffff +/* A1D80C 8024270C 0000202D */ daddu $a0, $zero, $zero +/* A1D810 80242710 3C05F5DE */ lui $a1, 0xf5de +/* A1D814 80242714 0C0B1EAF */ jal get_variable +/* A1D818 80242718 34A502E0 */ ori $a1, $a1, 0x2e0 +/* A1D81C 8024271C 0000202D */ daddu $a0, $zero, $zero +/* A1D820 80242720 3C05F5DE */ lui $a1, 0xf5de +/* A1D824 80242724 34A50180 */ ori $a1, $a1, 0x180 +/* A1D828 80242728 0C0B1EAF */ jal get_variable +/* A1D82C 8024272C 0040802D */ daddu $s0, $v0, $zero +/* A1D830 80242730 0040282D */ daddu $a1, $v0, $zero +/* A1D834 80242734 0000182D */ daddu $v1, $zero, $zero +/* A1D838 80242738 3C068025 */ lui $a2, 0x8025 +/* A1D83C 8024273C 24C680C0 */ addiu $a2, $a2, -0x7f40 +/* A1D840 80242740 00C0202D */ daddu $a0, $a2, $zero +.L80242744: +/* A1D844 80242744 8C820000 */ lw $v0, ($a0) +/* A1D848 80242748 00A2102A */ slt $v0, $a1, $v0 +/* A1D84C 8024274C 14400006 */ bnez $v0, .L80242768 +/* A1D850 80242750 000310C0 */ sll $v0, $v1, 3 +/* A1D854 80242754 24630001 */ addiu $v1, $v1, 1 +/* A1D858 80242758 28620008 */ slti $v0, $v1, 8 +/* A1D85C 8024275C 1440FFF9 */ bnez $v0, .L80242744 +/* A1D860 80242760 24840008 */ addiu $a0, $a0, 8 +/* A1D864 80242764 000310C0 */ sll $v0, $v1, 3 +.L80242768: +/* A1D868 80242768 00461021 */ addu $v0, $v0, $a2 +/* A1D86C 8024276C 8C420004 */ lw $v0, 4($v0) +/* A1D870 80242770 97A30010 */ lhu $v1, 0x10($sp) +/* A1D874 80242774 0202202A */ slt $a0, $s0, $v0 +/* A1D878 80242778 32C2FFFF */ andi $v0, $s6, 0xffff +/* A1D87C 8024277C 14620008 */ bne $v1, $v0, .L802427A0 +/* A1D880 80242780 32A2FFFF */ andi $v0, $s5, 0xffff +/* A1D884 80242784 97A7001E */ lhu $a3, 0x1e($sp) +/* A1D888 80242788 14E20005 */ bne $a3, $v0, .L802427A0 +/* A1D88C 8024278C 32E2FFFF */ andi $v0, $s7, 0xffff +/* A1D890 80242790 14400003 */ bnez $v0, .L802427A0 +/* A1D894 80242794 00000000 */ nop +/* A1D898 80242798 14800008 */ bnez $a0, .L802427BC +/* A1D89C 8024279C 24020001 */ addiu $v0, $zero, 1 +.L802427A0: +/* A1D8A0 802427A0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A1D8A4 802427A4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A1D8A8 802427A8 80420075 */ lb $v0, 0x75($v0) +/* A1D8AC 802427AC 10400005 */ beqz $v0, .L802427C4 +/* A1D8B0 802427B0 00000000 */ nop +/* A1D8B4 802427B4 10800003 */ beqz $a0, .L802427C4 +/* A1D8B8 802427B8 24020001 */ addiu $v0, $zero, 1 +.L802427BC: +/* A1D8BC 802427BC 080909F4 */ j .L802427D0 +/* A1D8C0 802427C0 AE220084 */ sw $v0, 0x84($s1) +.L802427C4: +/* A1D8C4 802427C4 0C00F9EB */ jal kill_enemy +/* A1D8C8 802427C8 03C0202D */ daddu $a0, $fp, $zero +/* A1D8CC 802427CC AE200084 */ sw $zero, 0x84($s1) +.L802427D0: +/* A1D8D0 802427D0 8FBF0044 */ lw $ra, 0x44($sp) +/* A1D8D4 802427D4 8FBE0040 */ lw $fp, 0x40($sp) +/* A1D8D8 802427D8 8FB7003C */ lw $s7, 0x3c($sp) +/* A1D8DC 802427DC 8FB60038 */ lw $s6, 0x38($sp) +/* A1D8E0 802427E0 8FB50034 */ lw $s5, 0x34($sp) +/* A1D8E4 802427E4 8FB40030 */ lw $s4, 0x30($sp) +/* A1D8E8 802427E8 8FB3002C */ lw $s3, 0x2c($sp) +/* A1D8EC 802427EC 8FB20028 */ lw $s2, 0x28($sp) +/* A1D8F0 802427F0 8FB10024 */ lw $s1, 0x24($sp) +/* A1D8F4 802427F4 8FB00020 */ lw $s0, 0x20($sp) +/* A1D8F8 802427F8 24020002 */ addiu $v0, $zero, 2 +/* A1D8FC 802427FC 03E00008 */ jr $ra +/* A1D900 80242800 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242804_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242804_A1B100.s new file mode 100644 index 0000000000..5c14863d04 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242804_A1B100.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242804_A1D904 +/* A1D904 80242804 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D908 80242808 AFBF0014 */ sw $ra, 0x14($sp) +/* A1D90C 8024280C AFB00010 */ sw $s0, 0x10($sp) +/* A1D910 80242810 0C00EABB */ jal get_npc_unsafe +/* A1D914 80242814 8C84014C */ lw $a0, 0x14c($a0) +/* A1D918 80242818 24040008 */ addiu $a0, $zero, 8 +/* A1D91C 8024281C 0040802D */ daddu $s0, $v0, $zero +/* A1D920 80242820 3C028024 */ lui $v0, 0x8024 +/* A1D924 80242824 24422870 */ addiu $v0, $v0, 0x2870 +/* A1D928 80242828 0C00AB39 */ jal heap_malloc +/* A1D92C 8024282C AE020008 */ sw $v0, 8($s0) +/* A1D930 80242830 0040182D */ daddu $v1, $v0, $zero +/* A1D934 80242834 AE030020 */ sw $v1, 0x20($s0) +/* A1D938 80242838 AC600000 */ sw $zero, ($v1) +/* A1D93C 8024283C 8FBF0014 */ lw $ra, 0x14($sp) +/* A1D940 80242840 8FB00010 */ lw $s0, 0x10($sp) +/* A1D944 80242844 24020001 */ addiu $v0, $zero, 1 +/* A1D948 80242848 03E00008 */ jr $ra +/* A1D94C 8024284C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242850.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242850.s new file mode 100644 index 0000000000..88ebd1c4c1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242850.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242850 +/* A1D950 80242850 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D954 80242854 AFBF0010 */ sw $ra, 0x10($sp) +/* A1D958 80242858 0C00EABB */ jal get_npc_unsafe +/* A1D95C 8024285C 8C84014C */ lw $a0, 0x14c($a0) +/* A1D960 80242860 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D964 80242864 0000102D */ daddu $v0, $zero, $zero +/* A1D968 80242868 03E00008 */ jr $ra +/* A1D96C 8024286C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242870_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242870_A1B100.s new file mode 100644 index 0000000000..5926c4e5f1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242870_A1B100.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242870_A1D970 +/* A1D970 80242870 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1D974 80242874 3C03800A */ lui $v1, 0x800a +/* A1D978 80242878 8463A634 */ lh $v1, -0x59cc($v1) +/* A1D97C 8024287C 3C05800B */ lui $a1, %hi(gCameras) +/* A1D980 80242880 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A1D984 80242884 AFBF0010 */ sw $ra, 0x10($sp) +/* A1D988 80242888 00031080 */ sll $v0, $v1, 2 +/* A1D98C 8024288C 00431021 */ addu $v0, $v0, $v1 +/* A1D990 80242890 00021080 */ sll $v0, $v0, 2 +/* A1D994 80242894 00431023 */ subu $v0, $v0, $v1 +/* A1D998 80242898 000218C0 */ sll $v1, $v0, 3 +/* A1D99C 8024289C 00431021 */ addu $v0, $v0, $v1 +/* A1D9A0 802428A0 8C830020 */ lw $v1, 0x20($a0) +/* A1D9A4 802428A4 000210C0 */ sll $v0, $v0, 3 +/* A1D9A8 802428A8 8C630000 */ lw $v1, ($v1) +/* A1D9AC 802428AC 30630001 */ andi $v1, $v1, 1 +/* A1D9B0 802428B0 10600004 */ beqz $v1, .L802428C4 +/* A1D9B4 802428B4 00451021 */ addu $v0, $v0, $a1 +/* A1D9B8 802428B8 C44C006C */ lwc1 $f12, 0x6c($v0) +/* A1D9BC 802428BC 0C00A6C9 */ jal clamp_angle +/* A1D9C0 802428C0 46006307 */ neg.s $f12, $f12 +.L802428C4: +/* A1D9C4 802428C4 8FBF0010 */ lw $ra, 0x10($sp) +/* A1D9C8 802428C8 03E00008 */ jr $ra +/* A1D9CC 802428CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802428D0.s b/asm/nonmatchings/world/area_hos/hos_03/func_802428D0.s new file mode 100644 index 0000000000..fbcb5704a1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802428D0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428D0 +/* A1D9D0 802428D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1D9D4 802428D4 AFB10014 */ sw $s1, 0x14($sp) +/* A1D9D8 802428D8 0080882D */ daddu $s1, $a0, $zero +/* A1D9DC 802428DC AFBF0024 */ sw $ra, 0x24($sp) +/* A1D9E0 802428E0 AFB40020 */ sw $s4, 0x20($sp) +/* A1D9E4 802428E4 AFB3001C */ sw $s3, 0x1c($sp) +/* A1D9E8 802428E8 AFB20018 */ sw $s2, 0x18($sp) +/* A1D9EC 802428EC 10A00033 */ beqz $a1, .L802429BC +/* A1D9F0 802428F0 AFB00010 */ sw $s0, 0x10($sp) +/* A1D9F4 802428F4 0C04760B */ jal func_8011D82C +/* A1D9F8 802428F8 24040001 */ addiu $a0, $zero, 1 +/* A1D9FC 802428FC 0000202D */ daddu $a0, $zero, $zero +/* A1DA00 80242900 0080282D */ daddu $a1, $a0, $zero +/* A1DA04 80242904 0080302D */ daddu $a2, $a0, $zero +/* A1DA08 80242908 0080382D */ daddu $a3, $a0, $zero +/* A1DA0C 8024290C 0080802D */ daddu $s0, $a0, $zero +/* A1DA10 80242910 2414FFFC */ addiu $s4, $zero, -4 +/* A1DA14 80242914 24130007 */ addiu $s3, $zero, 7 +/* A1DA18 80242918 3C120080 */ lui $s2, 0x80 +/* A1DA1C 8024291C 3C038015 */ lui $v1, 0x8015 +/* A1DA20 80242920 8C6312F0 */ lw $v1, 0x12f0($v1) +/* A1DA24 80242924 24020001 */ addiu $v0, $zero, 1 +/* A1DA28 80242928 0C046F97 */ jal set_background_color_blend +/* A1DA2C 8024292C A0620000 */ sb $v0, ($v1) +.L80242930: +/* A1DA30 80242930 0C00E2B7 */ jal get_npc_by_index +/* A1DA34 80242934 0200202D */ daddu $a0, $s0, $zero +/* A1DA38 80242938 0040202D */ daddu $a0, $v0, $zero +/* A1DA3C 8024293C 5080000B */ beql $a0, $zero, .L8024296C +/* A1DA40 80242940 26100001 */ addiu $s0, $s0, 1 +/* A1DA44 80242944 8C820000 */ lw $v0, ($a0) +/* A1DA48 80242948 50400008 */ beql $v0, $zero, .L8024296C +/* A1DA4C 8024294C 26100001 */ addiu $s0, $s0, 1 +/* A1DA50 80242950 808300A4 */ lb $v1, 0xa4($a0) +/* A1DA54 80242954 10740005 */ beq $v1, $s4, .L8024296C +/* A1DA58 80242958 26100001 */ addiu $s0, $s0, 1 +/* A1DA5C 8024295C 10730003 */ beq $v1, $s3, .L8024296C +/* A1DA60 80242960 00000000 */ nop +/* A1DA64 80242964 00521025 */ or $v0, $v0, $s2 +/* A1DA68 80242968 AC820000 */ sw $v0, ($a0) +.L8024296C: +/* A1DA6C 8024296C 2A020040 */ slti $v0, $s0, 0x40 +/* A1DA70 80242970 1440FFEF */ bnez $v0, .L80242930 +/* A1DA74 80242974 00000000 */ nop +/* A1DA78 80242978 0000802D */ daddu $s0, $zero, $zero +/* A1DA7C 8024297C 3C120800 */ lui $s2, 0x800 +.L80242980: +/* A1DA80 80242980 0C04C3D6 */ jal get_item_entity +/* A1DA84 80242984 0200202D */ daddu $a0, $s0, $zero +/* A1DA88 80242988 0040182D */ daddu $v1, $v0, $zero +/* A1DA8C 8024298C 10600007 */ beqz $v1, .L802429AC +/* A1DA90 80242990 26100001 */ addiu $s0, $s0, 1 +/* A1DA94 80242994 8C640000 */ lw $a0, ($v1) +/* A1DA98 80242998 30820010 */ andi $v0, $a0, 0x10 +/* A1DA9C 8024299C 10400003 */ beqz $v0, .L802429AC +/* A1DAA0 802429A0 00000000 */ nop +/* A1DAA4 802429A4 00921025 */ or $v0, $a0, $s2 +/* A1DAA8 802429A8 AC620000 */ sw $v0, ($v1) +.L802429AC: +/* A1DAAC 802429AC 2A020100 */ slti $v0, $s0, 0x100 +/* A1DAB0 802429B0 1440FFF3 */ bnez $v0, .L80242980 +/* A1DAB4 802429B4 00000000 */ nop +/* A1DAB8 802429B8 AE200070 */ sw $zero, 0x70($s1) +.L802429BC: +/* A1DABC 802429BC 8E220070 */ lw $v0, 0x70($s1) +/* A1DAC0 802429C0 24420008 */ addiu $v0, $v0, 8 +/* A1DAC4 802429C4 AE220070 */ sw $v0, 0x70($s1) +/* A1DAC8 802429C8 28420100 */ slti $v0, $v0, 0x100 +/* A1DACC 802429CC 14400003 */ bnez $v0, .L802429DC +/* A1DAD0 802429D0 0000202D */ daddu $a0, $zero, $zero +/* A1DAD4 802429D4 240200FF */ addiu $v0, $zero, 0xff +/* A1DAD8 802429D8 AE220070 */ sw $v0, 0x70($s1) +.L802429DC: +/* A1DADC 802429DC 0080282D */ daddu $a1, $a0, $zero +/* A1DAE0 802429E0 92270073 */ lbu $a3, 0x73($s1) +/* A1DAE4 802429E4 0C046F97 */ jal set_background_color_blend +/* A1DAE8 802429E8 0080302D */ daddu $a2, $a0, $zero +/* A1DAEC 802429EC 8E220070 */ lw $v0, 0x70($s1) +/* A1DAF0 802429F0 8FBF0024 */ lw $ra, 0x24($sp) +/* A1DAF4 802429F4 8FB40020 */ lw $s4, 0x20($sp) +/* A1DAF8 802429F8 8FB3001C */ lw $s3, 0x1c($sp) +/* A1DAFC 802429FC 8FB20018 */ lw $s2, 0x18($sp) +/* A1DB00 80242A00 8FB10014 */ lw $s1, 0x14($sp) +/* A1DB04 80242A04 8FB00010 */ lw $s0, 0x10($sp) +/* A1DB08 80242A08 384200FF */ xori $v0, $v0, 0xff +/* A1DB0C 80242A0C 2C420001 */ sltiu $v0, $v0, 1 +/* A1DB10 80242A10 00021040 */ sll $v0, $v0, 1 +/* A1DB14 80242A14 03E00008 */ jr $ra +/* A1DB18 80242A18 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242A1C.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242A1C.s new file mode 100644 index 0000000000..b142c4e06f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242A1C.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A1C +/* A1DB1C 80242A1C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1DB20 80242A20 AFB00010 */ sw $s0, 0x10($sp) +/* A1DB24 80242A24 0080802D */ daddu $s0, $a0, $zero +/* A1DB28 80242A28 AFBF0020 */ sw $ra, 0x20($sp) +/* A1DB2C 80242A2C AFB3001C */ sw $s3, 0x1c($sp) +/* A1DB30 80242A30 AFB20018 */ sw $s2, 0x18($sp) +/* A1DB34 80242A34 10A00009 */ beqz $a1, .L80242A5C +/* A1DB38 80242A38 AFB10014 */ sw $s1, 0x14($sp) +/* A1DB3C 80242A3C 0000202D */ daddu $a0, $zero, $zero +/* A1DB40 80242A40 0080282D */ daddu $a1, $a0, $zero +/* A1DB44 80242A44 0080302D */ daddu $a2, $a0, $zero +/* A1DB48 80242A48 0C046F97 */ jal set_background_color_blend +/* A1DB4C 80242A4C 240700FF */ addiu $a3, $zero, 0xff +/* A1DB50 80242A50 240200FF */ addiu $v0, $zero, 0xff +/* A1DB54 80242A54 AE020070 */ sw $v0, 0x70($s0) +/* A1DB58 80242A58 AE000074 */ sw $zero, 0x74($s0) +.L80242A5C: +/* A1DB5C 80242A5C 8E020070 */ lw $v0, 0x70($s0) +/* A1DB60 80242A60 2442FFF8 */ addiu $v0, $v0, -8 +/* A1DB64 80242A64 04410002 */ bgez $v0, .L80242A70 +/* A1DB68 80242A68 AE020070 */ sw $v0, 0x70($s0) +/* A1DB6C 80242A6C AE000070 */ sw $zero, 0x70($s0) +.L80242A70: +/* A1DB70 80242A70 0000202D */ daddu $a0, $zero, $zero +/* A1DB74 80242A74 0080282D */ daddu $a1, $a0, $zero +/* A1DB78 80242A78 92070073 */ lbu $a3, 0x73($s0) +/* A1DB7C 80242A7C 0C046F97 */ jal set_background_color_blend +/* A1DB80 80242A80 0080302D */ daddu $a2, $a0, $zero +/* A1DB84 80242A84 8E020070 */ lw $v0, 0x70($s0) +/* A1DB88 80242A88 14400006 */ bnez $v0, .L80242AA4 +/* A1DB8C 80242A8C 00000000 */ nop +/* A1DB90 80242A90 8E020074 */ lw $v0, 0x74($s0) +/* A1DB94 80242A94 14400003 */ bnez $v0, .L80242AA4 +/* A1DB98 80242A98 24020001 */ addiu $v0, $zero, 1 +/* A1DB9C 80242A9C 08090ADC */ j .L80242B70 +/* A1DBA0 80242AA0 AE020074 */ sw $v0, 0x74($s0) +.L80242AA4: +/* A1DBA4 80242AA4 8E030074 */ lw $v1, 0x74($s0) +/* A1DBA8 80242AA8 24020001 */ addiu $v0, $zero, 1 +/* A1DBAC 80242AAC 14620031 */ bne $v1, $v0, .L80242B74 +/* A1DBB0 80242AB0 0000102D */ daddu $v0, $zero, $zero +/* A1DBB4 80242AB4 0C04760B */ jal func_8011D82C +/* A1DBB8 80242AB8 0000202D */ daddu $a0, $zero, $zero +/* A1DBBC 80242ABC 0000802D */ daddu $s0, $zero, $zero +/* A1DBC0 80242AC0 2413FFFC */ addiu $s3, $zero, -4 +/* A1DBC4 80242AC4 24120007 */ addiu $s2, $zero, 7 +/* A1DBC8 80242AC8 3C11FF7F */ lui $s1, 0xff7f +/* A1DBCC 80242ACC 3C028015 */ lui $v0, 0x8015 +/* A1DBD0 80242AD0 8C4212F0 */ lw $v0, 0x12f0($v0) +/* A1DBD4 80242AD4 3631FFFF */ ori $s1, $s1, 0xffff +/* A1DBD8 80242AD8 A0400000 */ sb $zero, ($v0) +.L80242ADC: +/* A1DBDC 80242ADC 0C00E2B7 */ jal get_npc_by_index +/* A1DBE0 80242AE0 0200202D */ daddu $a0, $s0, $zero +/* A1DBE4 80242AE4 0040202D */ daddu $a0, $v0, $zero +/* A1DBE8 80242AE8 5080000B */ beql $a0, $zero, .L80242B18 +/* A1DBEC 80242AEC 26100001 */ addiu $s0, $s0, 1 +/* A1DBF0 80242AF0 8C820000 */ lw $v0, ($a0) +/* A1DBF4 80242AF4 50400008 */ beql $v0, $zero, .L80242B18 +/* A1DBF8 80242AF8 26100001 */ addiu $s0, $s0, 1 +/* A1DBFC 80242AFC 808300A4 */ lb $v1, 0xa4($a0) +/* A1DC00 80242B00 10730005 */ beq $v1, $s3, .L80242B18 +/* A1DC04 80242B04 26100001 */ addiu $s0, $s0, 1 +/* A1DC08 80242B08 10720003 */ beq $v1, $s2, .L80242B18 +/* A1DC0C 80242B0C 00000000 */ nop +/* A1DC10 80242B10 00511024 */ and $v0, $v0, $s1 +/* A1DC14 80242B14 AC820000 */ sw $v0, ($a0) +.L80242B18: +/* A1DC18 80242B18 2A020040 */ slti $v0, $s0, 0x40 +/* A1DC1C 80242B1C 1440FFEF */ bnez $v0, .L80242ADC +/* A1DC20 80242B20 00000000 */ nop +/* A1DC24 80242B24 0000802D */ daddu $s0, $zero, $zero +/* A1DC28 80242B28 3C11F7FF */ lui $s1, 0xf7ff +/* A1DC2C 80242B2C 3631FFFF */ ori $s1, $s1, 0xffff +.L80242B30: +/* A1DC30 80242B30 0C04C3D6 */ jal get_item_entity +/* A1DC34 80242B34 0200202D */ daddu $a0, $s0, $zero +/* A1DC38 80242B38 0040182D */ daddu $v1, $v0, $zero +/* A1DC3C 80242B3C 10600007 */ beqz $v1, .L80242B5C +/* A1DC40 80242B40 26100001 */ addiu $s0, $s0, 1 +/* A1DC44 80242B44 8C640000 */ lw $a0, ($v1) +/* A1DC48 80242B48 30820010 */ andi $v0, $a0, 0x10 +/* A1DC4C 80242B4C 10400003 */ beqz $v0, .L80242B5C +/* A1DC50 80242B50 00000000 */ nop +/* A1DC54 80242B54 00911024 */ and $v0, $a0, $s1 +/* A1DC58 80242B58 AC620000 */ sw $v0, ($v1) +.L80242B5C: +/* A1DC5C 80242B5C 2A020100 */ slti $v0, $s0, 0x100 +/* A1DC60 80242B60 1440FFF3 */ bnez $v0, .L80242B30 +/* A1DC64 80242B64 24020002 */ addiu $v0, $zero, 2 +/* A1DC68 80242B68 08090ADD */ j .L80242B74 +/* A1DC6C 80242B6C 00000000 */ nop +.L80242B70: +/* A1DC70 80242B70 0000102D */ daddu $v0, $zero, $zero +.L80242B74: +/* A1DC74 80242B74 8FBF0020 */ lw $ra, 0x20($sp) +/* A1DC78 80242B78 8FB3001C */ lw $s3, 0x1c($sp) +/* A1DC7C 80242B7C 8FB20018 */ lw $s2, 0x18($sp) +/* A1DC80 80242B80 8FB10014 */ lw $s1, 0x14($sp) +/* A1DC84 80242B84 8FB00010 */ lw $s0, 0x10($sp) +/* A1DC88 80242B88 03E00008 */ jr $ra +/* A1DC8C 80242B8C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242B90_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242B90_A1B100.s new file mode 100644 index 0000000000..ed37e193ff --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242B90_A1B100.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B90_A1DC90 +/* A1DC90 80242B90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1DC94 80242B94 AFB00010 */ sw $s0, 0x10($sp) +/* A1DC98 80242B98 3C108011 */ lui $s0, %hi(gPlayerData) +/* A1DC9C 80242B9C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* A1DCA0 80242BA0 AFBF0018 */ sw $ra, 0x18($sp) +/* A1DCA4 80242BA4 AFB10014 */ sw $s1, 0x14($sp) +/* A1DCA8 80242BA8 960302C0 */ lhu $v1, 0x2c0($s0) +/* A1DCAC 80242BAC 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* A1DCB0 80242BB0 10400003 */ beqz $v0, .L80242BC0 +/* A1DCB4 80242BB4 0080882D */ daddu $s1, $a0, $zero +/* A1DCB8 80242BB8 24620001 */ addiu $v0, $v1, 1 +/* A1DCBC 80242BBC A60202C0 */ sh $v0, 0x2c0($s0) +.L80242BC0: +/* A1DCC0 80242BC0 3C05F5DE */ lui $a1, 0xf5de +/* A1DCC4 80242BC4 34A502E0 */ ori $a1, $a1, 0x2e0 +/* A1DCC8 80242BC8 0C0B1EAF */ jal get_variable +/* A1DCCC 80242BCC 0000202D */ daddu $a0, $zero, $zero +/* A1DCD0 80242BD0 3C038025 */ lui $v1, 0x8025 +/* A1DCD4 80242BD4 00621821 */ addu $v1, $v1, $v0 +/* A1DCD8 80242BD8 90638080 */ lbu $v1, -0x7f80($v1) +/* A1DCDC 80242BDC 8E220084 */ lw $v0, 0x84($s1) +/* A1DCE0 80242BE0 54430006 */ bnel $v0, $v1, .L80242BFC +/* A1DCE4 80242BE4 AE200084 */ sw $zero, 0x84($s1) +/* A1DCE8 80242BE8 24020001 */ addiu $v0, $zero, 1 +/* A1DCEC 80242BEC AE220084 */ sw $v0, 0x84($s1) +/* A1DCF0 80242BF0 960202C2 */ lhu $v0, 0x2c2($s0) +/* A1DCF4 80242BF4 24420001 */ addiu $v0, $v0, 1 +/* A1DCF8 80242BF8 A60202C2 */ sh $v0, 0x2c2($s0) +.L80242BFC: +/* A1DCFC 80242BFC 8FBF0018 */ lw $ra, 0x18($sp) +/* A1DD00 80242C00 8FB10014 */ lw $s1, 0x14($sp) +/* A1DD04 80242C04 8FB00010 */ lw $s0, 0x10($sp) +/* A1DD08 80242C08 24020002 */ addiu $v0, $zero, 2 +/* A1DD0C 80242C0C 03E00008 */ jr $ra +/* A1DD10 80242C10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242C14.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242C14.s new file mode 100644 index 0000000000..6e31eb071d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242C14.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C14 +/* A1DD14 80242C14 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A1DD18 80242C18 AFB1001C */ sw $s1, 0x1c($sp) +/* A1DD1C 80242C1C AFBF0020 */ sw $ra, 0x20($sp) +/* A1DD20 80242C20 AFB00018 */ sw $s0, 0x18($sp) +/* A1DD24 80242C24 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A1DD28 80242C28 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A1DD2C 80242C2C 10A00060 */ beqz $a1, .L80242DB0 +/* A1DD30 80242C30 0080882D */ daddu $s1, $a0, $zero +/* A1DD34 80242C34 3C05F4AC */ lui $a1, 0xf4ac +/* A1DD38 80242C38 0C0B1EAF */ jal get_variable +/* A1DD3C 80242C3C 34A5D481 */ ori $a1, $a1, 0xd481 +/* A1DD40 80242C40 0220202D */ daddu $a0, $s1, $zero +/* A1DD44 80242C44 3C05F4AC */ lui $a1, 0xf4ac +/* A1DD48 80242C48 4482B000 */ mtc1 $v0, $f22 +/* A1DD4C 80242C4C 00000000 */ nop +/* A1DD50 80242C50 4680B5A0 */ cvt.s.w $f22, $f22 +/* A1DD54 80242C54 0C0B1EAF */ jal get_variable +/* A1DD58 80242C58 34A5D482 */ ori $a1, $a1, 0xd482 +/* A1DD5C 80242C5C 0220202D */ daddu $a0, $s1, $zero +/* A1DD60 80242C60 3C05F4AC */ lui $a1, 0xf4ac +/* A1DD64 80242C64 4482A000 */ mtc1 $v0, $f20 +/* A1DD68 80242C68 00000000 */ nop +/* A1DD6C 80242C6C 4680A520 */ cvt.s.w $f20, $f20 +/* A1DD70 80242C70 0C0B1EAF */ jal get_variable +/* A1DD74 80242C74 34A5D483 */ ori $a1, $a1, 0xd483 +/* A1DD78 80242C78 44821000 */ mtc1 $v0, $f2 +/* A1DD7C 80242C7C 00000000 */ nop +/* A1DD80 80242C80 468010A0 */ cvt.s.w $f2, $f2 +/* A1DD84 80242C84 4405B000 */ mfc1 $a1, $f22 +/* A1DD88 80242C88 4406A000 */ mfc1 $a2, $f20 +/* A1DD8C 80242C8C 44071000 */ mfc1 $a3, $f2 +/* A1DD90 80242C90 0C01C574 */ jal func_800715D0 +/* A1DD94 80242C94 0000202D */ daddu $a0, $zero, $zero +/* A1DD98 80242C98 0220202D */ daddu $a0, $s1, $zero +/* A1DD9C 80242C9C 3C05F4AC */ lui $a1, 0xf4ac +/* A1DDA0 80242CA0 34A5D481 */ ori $a1, $a1, 0xd481 +/* A1DDA4 80242CA4 3C108025 */ lui $s0, 0x8025 +/* A1DDA8 80242CA8 2610BDF0 */ addiu $s0, $s0, -0x4210 +/* A1DDAC 80242CAC 0C0B1EAF */ jal get_variable +/* A1DDB0 80242CB0 AE020000 */ sw $v0, ($s0) +/* A1DDB4 80242CB4 0220202D */ daddu $a0, $s1, $zero +/* A1DDB8 80242CB8 3C05F4AC */ lui $a1, 0xf4ac +/* A1DDBC 80242CBC 4482B000 */ mtc1 $v0, $f22 +/* A1DDC0 80242CC0 00000000 */ nop +/* A1DDC4 80242CC4 4680B5A0 */ cvt.s.w $f22, $f22 +/* A1DDC8 80242CC8 0C0B1EAF */ jal get_variable +/* A1DDCC 80242CCC 34A5D482 */ ori $a1, $a1, 0xd482 +/* A1DDD0 80242CD0 0220202D */ daddu $a0, $s1, $zero +/* A1DDD4 80242CD4 3C05F4AC */ lui $a1, 0xf4ac +/* A1DDD8 80242CD8 4482A000 */ mtc1 $v0, $f20 +/* A1DDDC 80242CDC 00000000 */ nop +/* A1DDE0 80242CE0 4680A520 */ cvt.s.w $f20, $f20 +/* A1DDE4 80242CE4 0C0B1EAF */ jal get_variable +/* A1DDE8 80242CE8 34A5D483 */ ori $a1, $a1, 0xd483 +/* A1DDEC 80242CEC 44821000 */ mtc1 $v0, $f2 +/* A1DDF0 80242CF0 00000000 */ nop +/* A1DDF4 80242CF4 468010A0 */ cvt.s.w $f2, $f2 +/* A1DDF8 80242CF8 4405B000 */ mfc1 $a1, $f22 +/* A1DDFC 80242CFC 4406A000 */ mfc1 $a2, $f20 +/* A1DE00 80242D00 44071000 */ mfc1 $a3, $f2 +/* A1DE04 80242D04 0C01C604 */ jal func_80071810 +/* A1DE08 80242D08 0000202D */ daddu $a0, $zero, $zero +/* A1DE0C 80242D0C 0220202D */ daddu $a0, $s1, $zero +/* A1DE10 80242D10 3C05F4AC */ lui $a1, 0xf4ac +/* A1DE14 80242D14 3C018025 */ lui $at, 0x8025 +/* A1DE18 80242D18 AC22BDF4 */ sw $v0, -0x420c($at) +/* A1DE1C 80242D1C 0C0B1EAF */ jal get_variable +/* A1DE20 80242D20 34A5D481 */ ori $a1, $a1, 0xd481 +/* A1DE24 80242D24 0220202D */ daddu $a0, $s1, $zero +/* A1DE28 80242D28 3C05F4AC */ lui $a1, 0xf4ac +/* A1DE2C 80242D2C 4482B000 */ mtc1 $v0, $f22 +/* A1DE30 80242D30 00000000 */ nop +/* A1DE34 80242D34 4680B5A0 */ cvt.s.w $f22, $f22 +/* A1DE38 80242D38 0C0B1EAF */ jal get_variable +/* A1DE3C 80242D3C 34A5D482 */ ori $a1, $a1, 0xd482 +/* A1DE40 80242D40 0220202D */ daddu $a0, $s1, $zero +/* A1DE44 80242D44 3C05F4AC */ lui $a1, 0xf4ac +/* A1DE48 80242D48 4482A000 */ mtc1 $v0, $f20 +/* A1DE4C 80242D4C 00000000 */ nop +/* A1DE50 80242D50 4680A520 */ cvt.s.w $f20, $f20 +/* A1DE54 80242D54 0C0B1EAF */ jal get_variable +/* A1DE58 80242D58 34A5D483 */ ori $a1, $a1, 0xd483 +/* A1DE5C 80242D5C 44821000 */ mtc1 $v0, $f2 +/* A1DE60 80242D60 00000000 */ nop +/* A1DE64 80242D64 468010A0 */ cvt.s.w $f2, $f2 +/* A1DE68 80242D68 4405B000 */ mfc1 $a1, $f22 +/* A1DE6C 80242D6C 4406A000 */ mfc1 $a2, $f20 +/* A1DE70 80242D70 3C013F80 */ lui $at, 0x3f80 +/* A1DE74 80242D74 44810000 */ mtc1 $at, $f0 +/* A1DE78 80242D78 44071000 */ mfc1 $a3, $f2 +/* A1DE7C 80242D7C 0000202D */ daddu $a0, $zero, $zero +/* A1DE80 80242D80 AFA00014 */ sw $zero, 0x14($sp) +/* A1DE84 80242D84 0C01CA24 */ jal func_80072890 +/* A1DE88 80242D88 E7A00010 */ swc1 $f0, 0x10($sp) +/* A1DE8C 80242D8C 8E030000 */ lw $v1, ($s0) +/* A1DE90 80242D90 8C64000C */ lw $a0, 0xc($v1) +/* A1DE94 80242D94 3C018025 */ lui $at, 0x8025 +/* A1DE98 80242D98 AC22BDF8 */ sw $v0, -0x4208($at) +/* A1DE9C 80242D9C AC800018 */ sw $zero, 0x18($a0) +/* A1DEA0 80242DA0 AC800020 */ sw $zero, 0x20($a0) +/* A1DEA4 80242DA4 AC800024 */ sw $zero, 0x24($a0) +/* A1DEA8 80242DA8 AC800028 */ sw $zero, 0x28($a0) +/* A1DEAC 80242DAC AC80001C */ sw $zero, 0x1c($a0) +.L80242DB0: +/* A1DEB0 80242DB0 3C028025 */ lui $v0, 0x8025 +/* A1DEB4 80242DB4 8C42BDF0 */ lw $v0, -0x4210($v0) +/* A1DEB8 80242DB8 8C44000C */ lw $a0, 0xc($v0) +/* A1DEBC 80242DBC 8C820020 */ lw $v0, 0x20($a0) +/* A1DEC0 80242DC0 8C830028 */ lw $v1, 0x28($a0) +/* A1DEC4 80242DC4 2442000A */ addiu $v0, $v0, 0xa +/* A1DEC8 80242DC8 AC820020 */ sw $v0, 0x20($a0) +/* A1DECC 80242DCC 8C820024 */ lw $v0, 0x24($a0) +/* A1DED0 80242DD0 2463000A */ addiu $v1, $v1, 0xa +/* A1DED4 80242DD4 AC830028 */ sw $v1, 0x28($a0) +/* A1DED8 80242DD8 8C830018 */ lw $v1, 0x18($a0) +/* A1DEDC 80242DDC 2442000A */ addiu $v0, $v0, 0xa +/* A1DEE0 80242DE0 AC820024 */ sw $v0, 0x24($a0) +/* A1DEE4 80242DE4 8C82001C */ lw $v0, 0x1c($a0) +/* A1DEE8 80242DE8 2463000A */ addiu $v1, $v1, 0xa +/* A1DEEC 80242DEC AC830018 */ sw $v1, 0x18($a0) +/* A1DEF0 80242DF0 286300FF */ slti $v1, $v1, 0xff +/* A1DEF4 80242DF4 2442000A */ addiu $v0, $v0, 0xa +/* A1DEF8 80242DF8 AC82001C */ sw $v0, 0x1c($a0) +/* A1DEFC 80242DFC 14600004 */ bnez $v1, .L80242E10 +/* A1DF00 80242E00 0000102D */ daddu $v0, $zero, $zero +/* A1DF04 80242E04 240200FF */ addiu $v0, $zero, 0xff +/* A1DF08 80242E08 AC820018 */ sw $v0, 0x18($a0) +/* A1DF0C 80242E0C 24020002 */ addiu $v0, $zero, 2 +.L80242E10: +/* A1DF10 80242E10 8FBF0020 */ lw $ra, 0x20($sp) +/* A1DF14 80242E14 8FB1001C */ lw $s1, 0x1c($sp) +/* A1DF18 80242E18 8FB00018 */ lw $s0, 0x18($sp) +/* A1DF1C 80242E1C D7B60030 */ ldc1 $f22, 0x30($sp) +/* A1DF20 80242E20 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A1DF24 80242E24 03E00008 */ jr $ra +/* A1DF28 80242E28 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242E2C_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242E2C_A1B100.s new file mode 100644 index 0000000000..280573941a --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242E2C_A1B100.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E2C_A1DF2C +/* A1DF2C 80242E2C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1DF30 80242E30 10A0000B */ beqz $a1, .L80242E60 +/* A1DF34 80242E34 AFBF0010 */ sw $ra, 0x10($sp) +/* A1DF38 80242E38 3C038025 */ lui $v1, 0x8025 +/* A1DF3C 80242E3C 8C63BDF4 */ lw $v1, -0x420c($v1) +/* A1DF40 80242E40 8C620000 */ lw $v0, ($v1) +/* A1DF44 80242E44 3C048025 */ lui $a0, 0x8025 +/* A1DF48 80242E48 8C84BDF8 */ lw $a0, -0x4208($a0) +/* A1DF4C 80242E4C 34420010 */ ori $v0, $v0, 0x10 +/* A1DF50 80242E50 AC620000 */ sw $v0, ($v1) +/* A1DF54 80242E54 8C820000 */ lw $v0, ($a0) +/* A1DF58 80242E58 34420010 */ ori $v0, $v0, 0x10 +/* A1DF5C 80242E5C AC820000 */ sw $v0, ($a0) +.L80242E60: +/* A1DF60 80242E60 3C048025 */ lui $a0, 0x8025 +/* A1DF64 80242E64 8C84BDF0 */ lw $a0, -0x4210($a0) +/* A1DF68 80242E68 8C85000C */ lw $a1, 0xc($a0) +/* A1DF6C 80242E6C 8CA20018 */ lw $v0, 0x18($a1) +/* A1DF70 80242E70 8CA30020 */ lw $v1, 0x20($a1) +/* A1DF74 80242E74 2442FFF6 */ addiu $v0, $v0, -0xa +/* A1DF78 80242E78 ACA20018 */ sw $v0, 0x18($a1) +/* A1DF7C 80242E7C 8CA20024 */ lw $v0, 0x24($a1) +/* A1DF80 80242E80 2463FFF6 */ addiu $v1, $v1, -0xa +/* A1DF84 80242E84 ACA30020 */ sw $v1, 0x20($a1) +/* A1DF88 80242E88 8CA30028 */ lw $v1, 0x28($a1) +/* A1DF8C 80242E8C 2442FFF6 */ addiu $v0, $v0, -0xa +/* A1DF90 80242E90 ACA20024 */ sw $v0, 0x24($a1) +/* A1DF94 80242E94 8CA2001C */ lw $v0, 0x1c($a1) +/* A1DF98 80242E98 2463FFF6 */ addiu $v1, $v1, -0xa +/* A1DF9C 80242E9C ACA30028 */ sw $v1, 0x28($a1) +/* A1DFA0 80242EA0 8CA30018 */ lw $v1, 0x18($a1) +/* A1DFA4 80242EA4 2442FFF6 */ addiu $v0, $v0, -0xa +/* A1DFA8 80242EA8 18600003 */ blez $v1, .L80242EB8 +/* A1DFAC 80242EAC ACA2001C */ sw $v0, 0x1c($a1) +/* A1DFB0 80242EB0 08090BB5 */ j .L80242ED4 +/* A1DFB4 80242EB4 0000102D */ daddu $v0, $zero, $zero +.L80242EB8: +/* A1DFB8 80242EB8 0C016914 */ jal remove_effect +/* A1DFBC 80242EBC ACA00018 */ sw $zero, 0x18($a1) +/* A1DFC0 80242EC0 3C048025 */ lui $a0, 0x8025 +/* A1DFC4 80242EC4 8C84BDD0 */ lw $a0, -0x4230($a0) +/* A1DFC8 80242EC8 0C048D70 */ jal func_801235C0 +/* A1DFCC 80242ECC 00000000 */ nop +/* A1DFD0 80242ED0 24020002 */ addiu $v0, $zero, 2 +.L80242ED4: +/* A1DFD4 80242ED4 8FBF0010 */ lw $ra, 0x10($sp) +/* A1DFD8 80242ED8 03E00008 */ jr $ra +/* A1DFDC 80242EDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242EE0.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242EE0.s new file mode 100644 index 0000000000..e8528c4bc4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242EE0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EE0 +/* A1DFE0 80242EE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1DFE4 80242EE4 AFBF0010 */ sw $ra, 0x10($sp) +/* A1DFE8 80242EE8 8C82000C */ lw $v0, 0xc($a0) +/* A1DFEC 80242EEC 0C0B1EAF */ jal get_variable +/* A1DFF0 80242EF0 8C450000 */ lw $a1, ($v0) +/* A1DFF4 80242EF4 3C038025 */ lui $v1, 0x8025 +/* A1DFF8 80242EF8 8C63BDF0 */ lw $v1, -0x4210($v1) +/* A1DFFC 80242EFC 8C63000C */ lw $v1, 0xc($v1) +/* A1E000 80242F00 AC620034 */ sw $v0, 0x34($v1) +/* A1E004 80242F04 8FBF0010 */ lw $ra, 0x10($sp) +/* A1E008 80242F08 24020002 */ addiu $v0, $zero, 2 +/* A1E00C 80242F0C 03E00008 */ jr $ra +/* A1E010 80242F10 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242F14.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242F14.s new file mode 100644 index 0000000000..44916fec09 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242F14.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F14 +/* A1E014 80242F14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1E018 80242F18 AFBF0010 */ sw $ra, 0x10($sp) +/* A1E01C 80242F1C 8C82000C */ lw $v0, 0xc($a0) +/* A1E020 80242F20 0C0B1EAF */ jal get_variable +/* A1E024 80242F24 8C450000 */ lw $a1, ($v0) +/* A1E028 80242F28 0040202D */ daddu $a0, $v0, $zero +/* A1E02C 80242F2C 3C028025 */ lui $v0, 0x8025 +/* A1E030 80242F30 8C42BDF0 */ lw $v0, -0x4210($v0) +/* A1E034 80242F34 24030001 */ addiu $v1, $zero, 1 +/* A1E038 80242F38 8C45000C */ lw $a1, 0xc($v0) +/* A1E03C 80242F3C 1083000D */ beq $a0, $v1, .L80242F74 +/* A1E040 80242F40 28820002 */ slti $v0, $a0, 2 +/* A1E044 80242F44 10400005 */ beqz $v0, .L80242F5C +/* A1E048 80242F48 24020002 */ addiu $v0, $zero, 2 +/* A1E04C 80242F4C 10800007 */ beqz $a0, .L80242F6C +/* A1E050 80242F50 240200C0 */ addiu $v0, $zero, 0xc0 +/* A1E054 80242F54 08090BE1 */ j .L80242F84 +/* A1E058 80242F58 ACA00038 */ sw $zero, 0x38($a1) +.L80242F5C: +/* A1E05C 80242F5C 10820008 */ beq $a0, $v0, .L80242F80 +/* A1E060 80242F60 24020040 */ addiu $v0, $zero, 0x40 +/* A1E064 80242F64 08090BE1 */ j .L80242F84 +/* A1E068 80242F68 ACA00038 */ sw $zero, 0x38($a1) +.L80242F6C: +/* A1E06C 80242F6C 08090BE1 */ j .L80242F84 +/* A1E070 80242F70 ACA20038 */ sw $v0, 0x38($a1) +.L80242F74: +/* A1E074 80242F74 24020080 */ addiu $v0, $zero, 0x80 +/* A1E078 80242F78 08090BE1 */ j .L80242F84 +/* A1E07C 80242F7C ACA20038 */ sw $v0, 0x38($a1) +.L80242F80: +/* A1E080 80242F80 ACA20038 */ sw $v0, 0x38($a1) +.L80242F84: +/* A1E084 80242F84 8FBF0010 */ lw $ra, 0x10($sp) +/* A1E088 80242F88 24020002 */ addiu $v0, $zero, 2 +/* A1E08C 80242F8C 03E00008 */ jr $ra +/* A1E090 80242F90 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242F94.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242F94.s new file mode 100644 index 0000000000..0091a1e102 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242F94.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F94 +/* A1E094 80242F94 3C028025 */ lui $v0, 0x8025 +/* A1E098 80242F98 8C42BDF8 */ lw $v0, -0x4208($v0) +/* A1E09C 80242F9C 8C42000C */ lw $v0, 0xc($v0) +/* A1E0A0 80242FA0 AC40001C */ sw $zero, 0x1c($v0) +/* A1E0A4 80242FA4 03E00008 */ jr $ra +/* A1E0A8 80242FA8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242FAC.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242FAC.s new file mode 100644 index 0000000000..40358f604c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242FAC.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FAC +/* A1E0AC 80242FAC 3C028025 */ lui $v0, 0x8025 +/* A1E0B0 80242FB0 8C42BDF8 */ lw $v0, -0x4208($v0) +/* A1E0B4 80242FB4 8C43000C */ lw $v1, 0xc($v0) +/* A1E0B8 80242FB8 24020001 */ addiu $v0, $zero, 1 +/* A1E0BC 80242FBC AC62001C */ sw $v0, 0x1c($v1) +/* A1E0C0 80242FC0 03E00008 */ jr $ra +/* A1E0C4 80242FC4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242FC8.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242FC8.s new file mode 100644 index 0000000000..f3d152d46f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242FC8.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FC8 +/* A1E0C8 80242FC8 3C028025 */ lui $v0, 0x8025 +/* A1E0CC 80242FCC 8C42BDF8 */ lw $v0, -0x4208($v0) +/* A1E0D0 80242FD0 8C43000C */ lw $v1, 0xc($v0) +/* A1E0D4 80242FD4 24020002 */ addiu $v0, $zero, 2 +/* A1E0D8 80242FD8 03E00008 */ jr $ra +/* A1E0DC 80242FDC AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80242FE0_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80242FE0_A1B100.s new file mode 100644 index 0000000000..b17c26eeea --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80242FE0_A1B100.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FE0_A1E0E0 +/* A1E0E0 80242FE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1E0E4 80242FE4 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A1E0E8 80242FE8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A1E0EC 80242FEC 3C05FE36 */ lui $a1, 0xfe36 +/* A1E0F0 80242FF0 AFBF0010 */ sw $ra, 0x10($sp) +/* A1E0F4 80242FF4 80460075 */ lb $a2, 0x75($v0) +/* A1E0F8 80242FF8 0C0B2026 */ jal set_variable +/* A1E0FC 80242FFC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A1E100 80243000 8FBF0010 */ lw $ra, 0x10($sp) +/* A1E104 80243004 24020002 */ addiu $v0, $zero, 2 +/* A1E108 80243008 03E00008 */ jr $ra +/* A1E10C 8024300C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80243010_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80243010_A1B100.s new file mode 100644 index 0000000000..f5f24adf59 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80243010_A1B100.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243010_A1E110 +/* A1E110 80243010 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1E114 80243014 AFB10014 */ sw $s1, 0x14($sp) +/* A1E118 80243018 0080882D */ daddu $s1, $a0, $zero +/* A1E11C 8024301C AFBF0018 */ sw $ra, 0x18($sp) +/* A1E120 80243020 AFB00010 */ sw $s0, 0x10($sp) +/* A1E124 80243024 8E30000C */ lw $s0, 0xc($s1) +/* A1E128 80243028 8E050000 */ lw $a1, ($s0) +/* A1E12C 8024302C 0C0B1EAF */ jal get_variable +/* A1E130 80243030 26100004 */ addiu $s0, $s0, 4 +/* A1E134 80243034 0220202D */ daddu $a0, $s1, $zero +/* A1E138 80243038 8E050000 */ lw $a1, ($s0) +/* A1E13C 8024303C 0C0B210B */ jal get_float_variable +/* A1E140 80243040 0040802D */ daddu $s0, $v0, $zero +/* A1E144 80243044 24020002 */ addiu $v0, $zero, 2 +/* A1E148 80243048 00501804 */ sllv $v1, $s0, $v0 +/* A1E14C 8024304C 00701821 */ addu $v1, $v1, $s0 +/* A1E150 80243050 00431804 */ sllv $v1, $v1, $v0 +/* A1E154 80243054 00701823 */ subu $v1, $v1, $s0 +/* A1E158 80243058 000320C0 */ sll $a0, $v1, 3 +/* A1E15C 8024305C 00641821 */ addu $v1, $v1, $a0 +/* A1E160 80243060 000318C0 */ sll $v1, $v1, 3 +/* A1E164 80243064 3C01800B */ lui $at, 0x800b +/* A1E168 80243068 00230821 */ addu $at, $at, $v1 +/* A1E16C 8024306C E4201D98 */ swc1 $f0, 0x1d98($at) +/* A1E170 80243070 8FBF0018 */ lw $ra, 0x18($sp) +/* A1E174 80243074 8FB10014 */ lw $s1, 0x14($sp) +/* A1E178 80243078 8FB00010 */ lw $s0, 0x10($sp) +/* A1E17C 8024307C 03E00008 */ jr $ra +/* A1E180 80243080 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80243084_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80243084_A1B100.s new file mode 100644 index 0000000000..67116b2bc8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80243084_A1B100.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243084_A1E184 +/* A1E184 80243084 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1E188 80243088 AFB10014 */ sw $s1, 0x14($sp) +/* A1E18C 8024308C 0080882D */ daddu $s1, $a0, $zero +/* A1E190 80243090 AFBF0018 */ sw $ra, 0x18($sp) +/* A1E194 80243094 AFB00010 */ sw $s0, 0x10($sp) +/* A1E198 80243098 8E30000C */ lw $s0, 0xc($s1) +/* A1E19C 8024309C 8E050000 */ lw $a1, ($s0) +/* A1E1A0 802430A0 0C0B1EAF */ jal get_variable +/* A1E1A4 802430A4 26100004 */ addiu $s0, $s0, 4 +/* A1E1A8 802430A8 00021880 */ sll $v1, $v0, 2 +/* A1E1AC 802430AC 00621821 */ addu $v1, $v1, $v0 +/* A1E1B0 802430B0 00031880 */ sll $v1, $v1, 2 +/* A1E1B4 802430B4 00621823 */ subu $v1, $v1, $v0 +/* A1E1B8 802430B8 000310C0 */ sll $v0, $v1, 3 +/* A1E1BC 802430BC 00621821 */ addu $v1, $v1, $v0 +/* A1E1C0 802430C0 000318C0 */ sll $v1, $v1, 3 +/* A1E1C4 802430C4 3C01800B */ lui $at, 0x800b +/* A1E1C8 802430C8 00230821 */ addu $at, $at, $v1 +/* A1E1CC 802430CC C4221D98 */ lwc1 $f2, 0x1d98($at) +/* A1E1D0 802430D0 3C014480 */ lui $at, 0x4480 +/* A1E1D4 802430D4 44810000 */ mtc1 $at, $f0 +/* A1E1D8 802430D8 00000000 */ nop +/* A1E1DC 802430DC 46001082 */ mul.s $f2, $f2, $f0 +/* A1E1E0 802430E0 00000000 */ nop +/* A1E1E4 802430E4 3C01CD5B */ lui $at, 0xcd5b +/* A1E1E8 802430E8 34215858 */ ori $at, $at, 0x5858 +/* A1E1EC 802430EC 44810000 */ mtc1 $at, $f0 +/* A1E1F0 802430F0 00000000 */ nop +/* A1E1F4 802430F4 46001080 */ add.s $f2, $f2, $f0 +/* A1E1F8 802430F8 8E050000 */ lw $a1, ($s0) +/* A1E1FC 802430FC 4600110D */ trunc.w.s $f4, $f2 +/* A1E200 80243100 44062000 */ mfc1 $a2, $f4 +/* A1E204 80243104 0C0B2026 */ jal set_variable +/* A1E208 80243108 0220202D */ daddu $a0, $s1, $zero +/* A1E20C 8024310C 8FBF0018 */ lw $ra, 0x18($sp) +/* A1E210 80243110 8FB10014 */ lw $s1, 0x14($sp) +/* A1E214 80243114 8FB00010 */ lw $s0, 0x10($sp) +/* A1E218 80243118 24020002 */ addiu $v0, $zero, 2 +/* A1E21C 8024311C 03E00008 */ jr $ra +/* A1E220 80243120 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80243124_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_80243124_A1B100.s new file mode 100644 index 0000000000..a559277c47 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80243124_A1B100.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243124_A1E224 +/* A1E224 80243124 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A1E228 80243128 AFB20018 */ sw $s2, 0x18($sp) +/* A1E22C 8024312C 0080902D */ daddu $s2, $a0, $zero +/* A1E230 80243130 AFBF0030 */ sw $ra, 0x30($sp) +/* A1E234 80243134 AFB7002C */ sw $s7, 0x2c($sp) +/* A1E238 80243138 AFB60028 */ sw $s6, 0x28($sp) +/* A1E23C 8024313C AFB50024 */ sw $s5, 0x24($sp) +/* A1E240 80243140 AFB40020 */ sw $s4, 0x20($sp) +/* A1E244 80243144 AFB3001C */ sw $s3, 0x1c($sp) +/* A1E248 80243148 AFB10014 */ sw $s1, 0x14($sp) +/* A1E24C 8024314C AFB00010 */ sw $s0, 0x10($sp) +/* A1E250 80243150 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A1E254 80243154 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A1E258 80243158 8E50000C */ lw $s0, 0xc($s2) +/* A1E25C 8024315C 8E050000 */ lw $a1, ($s0) +/* A1E260 80243160 0C0B1EAF */ jal get_variable +/* A1E264 80243164 26100004 */ addiu $s0, $s0, 4 +/* A1E268 80243168 8E050000 */ lw $a1, ($s0) +/* A1E26C 8024316C 26100004 */ addiu $s0, $s0, 4 +/* A1E270 80243170 0240202D */ daddu $a0, $s2, $zero +/* A1E274 80243174 0C0B1EAF */ jal get_variable +/* A1E278 80243178 0040B82D */ daddu $s7, $v0, $zero +/* A1E27C 8024317C 8E050000 */ lw $a1, ($s0) +/* A1E280 80243180 26100004 */ addiu $s0, $s0, 4 +/* A1E284 80243184 0240202D */ daddu $a0, $s2, $zero +/* A1E288 80243188 0C0B1EAF */ jal get_variable +/* A1E28C 8024318C 0040B02D */ daddu $s6, $v0, $zero +/* A1E290 80243190 0240202D */ daddu $a0, $s2, $zero +/* A1E294 80243194 3C05F4AC */ lui $a1, 0xf4ac +/* A1E298 80243198 34A5D481 */ ori $a1, $a1, 0xd481 +/* A1E29C 8024319C 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* A1E2A0 802431A0 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* A1E2A4 802431A4 8E140000 */ lw $s4, ($s0) +/* A1E2A8 802431A8 00061880 */ sll $v1, $a2, 2 +/* A1E2AC 802431AC 00661821 */ addu $v1, $v1, $a2 +/* A1E2B0 802431B0 00031880 */ sll $v1, $v1, 2 +/* A1E2B4 802431B4 00661823 */ subu $v1, $v1, $a2 +/* A1E2B8 802431B8 000330C0 */ sll $a2, $v1, 3 +/* A1E2BC 802431BC 00661821 */ addu $v1, $v1, $a2 +/* A1E2C0 802431C0 000318C0 */ sll $v1, $v1, 3 +/* A1E2C4 802431C4 3C01800B */ lui $at, 0x800b +/* A1E2C8 802431C8 00230821 */ addu $at, $at, $v1 +/* A1E2CC 802431CC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A1E2D0 802431D0 8E150004 */ lw $s5, 4($s0) +/* A1E2D4 802431D4 4600010D */ trunc.w.s $f4, $f0 +/* A1E2D8 802431D8 44112000 */ mfc1 $s1, $f4 +/* A1E2DC 802431DC 0C0B1EAF */ jal get_variable +/* A1E2E0 802431E0 0040982D */ daddu $s3, $v0, $zero +/* A1E2E4 802431E4 4491B000 */ mtc1 $s1, $f22 +/* A1E2E8 802431E8 00000000 */ nop +/* A1E2EC 802431EC 4680B5A0 */ cvt.s.w $f22, $f22 +/* A1E2F0 802431F0 4600B306 */ mov.s $f12, $f22 +/* A1E2F4 802431F4 0C00A8D4 */ jal cos_deg +/* A1E2F8 802431F8 0040802D */ daddu $s0, $v0, $zero +/* A1E2FC 802431FC 4493A000 */ mtc1 $s3, $f20 +/* A1E300 80243200 00000000 */ nop +/* A1E304 80243204 4680A520 */ cvt.s.w $f20, $f20 +/* A1E308 80243208 4600A002 */ mul.s $f0, $f20, $f0 +/* A1E30C 8024320C 00000000 */ nop +/* A1E310 80243210 0240202D */ daddu $a0, $s2, $zero +/* A1E314 80243214 44901000 */ mtc1 $s0, $f2 +/* A1E318 80243218 00000000 */ nop +/* A1E31C 8024321C 468010A0 */ cvt.s.w $f2, $f2 +/* A1E320 80243220 46001081 */ sub.s $f2, $f2, $f0 +/* A1E324 80243224 3C05F4AC */ lui $a1, 0xf4ac +/* A1E328 80243228 4600110D */ trunc.w.s $f4, $f2 +/* A1E32C 8024322C 44102000 */ mfc1 $s0, $f4 +/* A1E330 80243230 0C0B1EAF */ jal get_variable +/* A1E334 80243234 34A5D483 */ ori $a1, $a1, 0xd483 +/* A1E338 80243238 4600B306 */ mov.s $f12, $f22 +/* A1E33C 8024323C 0C00A8BB */ jal sin_deg +/* A1E340 80243240 0040882D */ daddu $s1, $v0, $zero +/* A1E344 80243244 4600A502 */ mul.s $f20, $f20, $f0 +/* A1E348 80243248 00000000 */ nop +/* A1E34C 8024324C 0240202D */ daddu $a0, $s2, $zero +/* A1E350 80243250 44910000 */ mtc1 $s1, $f0 +/* A1E354 80243254 00000000 */ nop +/* A1E358 80243258 46800020 */ cvt.s.w $f0, $f0 +/* A1E35C 8024325C 46140001 */ sub.s $f0, $f0, $f20 +/* A1E360 80243260 0280282D */ daddu $a1, $s4, $zero +/* A1E364 80243264 02173023 */ subu $a2, $s0, $s7 +/* A1E368 80243268 4600010D */ trunc.w.s $f4, $f0 +/* A1E36C 8024326C 44102000 */ mfc1 $s0, $f4 +/* A1E370 80243270 0C0B2026 */ jal set_variable +/* A1E374 80243274 02168023 */ subu $s0, $s0, $s6 +/* A1E378 80243278 0240202D */ daddu $a0, $s2, $zero +/* A1E37C 8024327C 02A0282D */ daddu $a1, $s5, $zero +/* A1E380 80243280 0C0B2026 */ jal set_variable +/* A1E384 80243284 0200302D */ daddu $a2, $s0, $zero +/* A1E388 80243288 8FBF0030 */ lw $ra, 0x30($sp) +/* A1E38C 8024328C 8FB7002C */ lw $s7, 0x2c($sp) +/* A1E390 80243290 8FB60028 */ lw $s6, 0x28($sp) +/* A1E394 80243294 8FB50024 */ lw $s5, 0x24($sp) +/* A1E398 80243298 8FB40020 */ lw $s4, 0x20($sp) +/* A1E39C 8024329C 8FB3001C */ lw $s3, 0x1c($sp) +/* A1E3A0 802432A0 8FB20018 */ lw $s2, 0x18($sp) +/* A1E3A4 802432A4 8FB10014 */ lw $s1, 0x14($sp) +/* A1E3A8 802432A8 8FB00010 */ lw $s0, 0x10($sp) +/* A1E3AC 802432AC D7B60040 */ ldc1 $f22, 0x40($sp) +/* A1E3B0 802432B0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A1E3B4 802432B4 24020002 */ addiu $v0, $zero, 2 +/* A1E3B8 802432B8 03E00008 */ jr $ra +/* A1E3BC 802432BC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802432C0_A1B100.s b/asm/nonmatchings/world/area_hos/hos_03/func_802432C0_A1B100.s new file mode 100644 index 0000000000..ee127bf8d8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802432C0_A1B100.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802432C0_A1E3C0 +/* A1E3C0 802432C0 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A1E3C4 802432C4 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A1E3C8 802432C8 10A00002 */ beqz $a1, .L802432D4 +/* A1E3CC 802432CC 2402003C */ addiu $v0, $zero, 0x3c +/* A1E3D0 802432D0 AC820070 */ sw $v0, 0x70($a0) +.L802432D4: +/* A1E3D4 802432D4 C4620080 */ lwc1 $f2, 0x80($v1) +/* A1E3D8 802432D8 3C0141F0 */ lui $at, 0x41f0 +/* A1E3DC 802432DC 44810000 */ mtc1 $at, $f0 +/* A1E3E0 802432E0 00000000 */ nop +/* A1E3E4 802432E4 46001000 */ add.s $f0, $f2, $f0 +/* A1E3E8 802432E8 3C0143B4 */ lui $at, 0x43b4 +/* A1E3EC 802432EC 44811000 */ mtc1 $at, $f2 +/* A1E3F0 802432F0 00000000 */ nop +/* A1E3F4 802432F4 4600103E */ c.le.s $f2, $f0 +/* A1E3F8 802432F8 00000000 */ nop +/* A1E3FC 802432FC 45000003 */ bc1f .L8024330C +/* A1E400 80243300 E4600080 */ swc1 $f0, 0x80($v1) +/* A1E404 80243304 46020001 */ sub.s $f0, $f0, $f2 +/* A1E408 80243308 E4600080 */ swc1 $f0, 0x80($v1) +.L8024330C: +/* A1E40C 8024330C 8C820070 */ lw $v0, 0x70($a0) +/* A1E410 80243310 2442FFFF */ addiu $v0, $v0, -1 +/* A1E414 80243314 AC820070 */ sw $v0, 0x70($a0) +/* A1E418 80243318 000217C3 */ sra $v0, $v0, 0x1f +/* A1E41C 8024331C 03E00008 */ jr $ra +/* A1E420 80243320 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80243324.s b/asm/nonmatchings/world/area_hos/hos_03/func_80243324.s new file mode 100644 index 0000000000..64c995e4c4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80243324.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243324 +/* A1E424 80243324 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A1E428 80243328 AFB10014 */ sw $s1, 0x14($sp) +/* A1E42C 8024332C 0080882D */ daddu $s1, $a0, $zero +/* A1E430 80243330 AFB00010 */ sw $s0, 0x10($sp) +/* A1E434 80243334 00A0802D */ daddu $s0, $a1, $zero +/* A1E438 80243338 AFBF0018 */ sw $ra, 0x18($sp) +/* A1E43C 8024333C 0C00EABB */ jal get_npc_unsafe +/* A1E440 80243340 2404FFFC */ addiu $a0, $zero, -4 +/* A1E444 80243344 12000003 */ beqz $s0, .L80243354 +/* A1E448 80243348 0040182D */ daddu $v1, $v0, $zero +/* A1E44C 8024334C 2402003C */ addiu $v0, $zero, 0x3c +/* A1E450 80243350 AE220070 */ sw $v0, 0x70($s1) +.L80243354: +/* A1E454 80243354 C462000C */ lwc1 $f2, 0xc($v1) +/* A1E458 80243358 3C0141F0 */ lui $at, 0x41f0 +/* A1E45C 8024335C 44810000 */ mtc1 $at, $f0 +/* A1E460 80243360 00000000 */ nop +/* A1E464 80243364 46001000 */ add.s $f0, $f2, $f0 +/* A1E468 80243368 3C0143B4 */ lui $at, 0x43b4 +/* A1E46C 8024336C 44811000 */ mtc1 $at, $f2 +/* A1E470 80243370 00000000 */ nop +/* A1E474 80243374 4600103E */ c.le.s $f2, $f0 +/* A1E478 80243378 00000000 */ nop +/* A1E47C 8024337C 45000003 */ bc1f .L8024338C +/* A1E480 80243380 E460000C */ swc1 $f0, 0xc($v1) +/* A1E484 80243384 46020001 */ sub.s $f0, $f0, $f2 +/* A1E488 80243388 E460000C */ swc1 $f0, 0xc($v1) +.L8024338C: +/* A1E48C 8024338C 8E230070 */ lw $v1, 0x70($s1) +/* A1E490 80243390 2463FFFF */ addiu $v1, $v1, -1 +/* A1E494 80243394 000317C3 */ sra $v0, $v1, 0x1f +/* A1E498 80243398 AE230070 */ sw $v1, 0x70($s1) +/* A1E49C 8024339C 8FBF0018 */ lw $ra, 0x18($sp) +/* A1E4A0 802433A0 8FB10014 */ lw $s1, 0x14($sp) +/* A1E4A4 802433A4 8FB00010 */ lw $s0, 0x10($sp) +/* A1E4A8 802433A8 30420002 */ andi $v0, $v0, 2 +/* A1E4AC 802433AC 03E00008 */ jr $ra +/* A1E4B0 802433B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_802433B4.s b/asm/nonmatchings/world/area_hos/hos_03/func_802433B4.s new file mode 100644 index 0000000000..c0b40ad1b9 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_802433B4.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433B4 +/* A1E4B4 802433B4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A1E4B8 802433B8 AFB10014 */ sw $s1, 0x14($sp) +/* A1E4BC 802433BC 0080882D */ daddu $s1, $a0, $zero +/* A1E4C0 802433C0 AFB00010 */ sw $s0, 0x10($sp) +/* A1E4C4 802433C4 00A0802D */ daddu $s0, $a1, $zero +/* A1E4C8 802433C8 AFBF001C */ sw $ra, 0x1c($sp) +/* A1E4CC 802433CC AFB20018 */ sw $s2, 0x18($sp) +/* A1E4D0 802433D0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A1E4D4 802433D4 0C00EABB */ jal get_npc_unsafe +/* A1E4D8 802433D8 2404FFFC */ addiu $a0, $zero, -4 +/* A1E4DC 802433DC 12000017 */ beqz $s0, .L8024343C +/* A1E4E0 802433E0 0040902D */ daddu $s2, $v0, $zero +/* A1E4E4 802433E4 0220202D */ daddu $a0, $s1, $zero +/* A1E4E8 802433E8 3C05FE36 */ lui $a1, 0xfe36 +/* A1E4EC 802433EC 0C0B210B */ jal get_float_variable +/* A1E4F0 802433F0 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A1E4F4 802433F4 0220202D */ daddu $a0, $s1, $zero +/* A1E4F8 802433F8 3C05FE36 */ lui $a1, 0xfe36 +/* A1E4FC 802433FC 3C014270 */ lui $at, 0x4270 +/* A1E500 80243400 4481A000 */ mtc1 $at, $f20 +/* A1E504 80243404 34A53C85 */ ori $a1, $a1, 0x3c85 +/* A1E508 80243408 46140003 */ div.s $f0, $f0, $f20 +/* A1E50C 8024340C 0C0B210B */ jal get_float_variable +/* A1E510 80243410 E6200074 */ swc1 $f0, 0x74($s1) +/* A1E514 80243414 0220202D */ daddu $a0, $s1, $zero +/* A1E518 80243418 3C05FE36 */ lui $a1, 0xfe36 +/* A1E51C 8024341C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A1E520 80243420 46140003 */ div.s $f0, $f0, $f20 +/* A1E524 80243424 0C0B210B */ jal get_float_variable +/* A1E528 80243428 E6200078 */ swc1 $f0, 0x78($s1) +/* A1E52C 8024342C 46140003 */ div.s $f0, $f0, $f20 +/* A1E530 80243430 2402003C */ addiu $v0, $zero, 0x3c +/* A1E534 80243434 E620007C */ swc1 $f0, 0x7c($s1) +/* A1E538 80243438 AE220070 */ sw $v0, 0x70($s1) +.L8024343C: +/* A1E53C 8024343C C6400038 */ lwc1 $f0, 0x38($s2) +/* A1E540 80243440 C6220074 */ lwc1 $f2, 0x74($s1) +/* A1E544 80243444 46020000 */ add.s $f0, $f0, $f2 +/* A1E548 80243448 E6400038 */ swc1 $f0, 0x38($s2) +/* A1E54C 8024344C C640003C */ lwc1 $f0, 0x3c($s2) +/* A1E550 80243450 C6220078 */ lwc1 $f2, 0x78($s1) +/* A1E554 80243454 46020000 */ add.s $f0, $f0, $f2 +/* A1E558 80243458 E640003C */ swc1 $f0, 0x3c($s2) +/* A1E55C 8024345C C6400040 */ lwc1 $f0, 0x40($s2) +/* A1E560 80243460 C622007C */ lwc1 $f2, 0x7c($s1) +/* A1E564 80243464 46020000 */ add.s $f0, $f0, $f2 +/* A1E568 80243468 E6400040 */ swc1 $f0, 0x40($s2) +/* A1E56C 8024346C 8E230070 */ lw $v1, 0x70($s1) +/* A1E570 80243470 2463FFFF */ addiu $v1, $v1, -1 +/* A1E574 80243474 2C620001 */ sltiu $v0, $v1, 1 +/* A1E578 80243478 AE230070 */ sw $v1, 0x70($s1) +/* A1E57C 8024347C 8FBF001C */ lw $ra, 0x1c($sp) +/* A1E580 80243480 8FB20018 */ lw $s2, 0x18($sp) +/* A1E584 80243484 8FB10014 */ lw $s1, 0x14($sp) +/* A1E588 80243488 8FB00010 */ lw $s0, 0x10($sp) +/* A1E58C 8024348C D7B40020 */ ldc1 $f20, 0x20($sp) +/* A1E590 80243490 00021040 */ sll $v0, $v0, 1 +/* A1E594 80243494 03E00008 */ jr $ra +/* A1E598 80243498 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_8024349C.s b/asm/nonmatchings/world/area_hos/hos_03/func_8024349C.s new file mode 100644 index 0000000000..3a4af70e1e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_8024349C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024349C +/* A1E59C 8024349C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1E5A0 802434A0 3C058025 */ lui $a1, 0x8025 +/* A1E5A4 802434A4 8CA5BDE8 */ lw $a1, -0x4218($a1) +/* A1E5A8 802434A8 AFBF0010 */ sw $ra, 0x10($sp) +/* A1E5AC 802434AC 0C0B1EAF */ jal get_variable +/* A1E5B0 802434B0 0000202D */ daddu $a0, $zero, $zero +/* A1E5B4 802434B4 0040182D */ daddu $v1, $v0, $zero +/* A1E5B8 802434B8 24020001 */ addiu $v0, $zero, 1 +/* A1E5BC 802434BC 14620006 */ bne $v1, $v0, .L802434D8 +/* A1E5C0 802434C0 24020002 */ addiu $v0, $zero, 2 +/* A1E5C4 802434C4 44800000 */ mtc1 $zero, $f0 +/* A1E5C8 802434C8 00000000 */ nop +/* A1E5CC 802434CC 44050000 */ mfc1 $a1, $f0 +/* A1E5D0 802434D0 08090D3C */ j .L802434F0 +/* A1E5D4 802434D4 0000202D */ daddu $a0, $zero, $zero +.L802434D8: +/* A1E5D8 802434D8 14620008 */ bne $v1, $v0, .L802434FC +/* A1E5DC 802434DC 24040001 */ addiu $a0, $zero, 1 +/* A1E5E0 802434E0 44800000 */ mtc1 $zero, $f0 +/* A1E5E4 802434E4 00000000 */ nop +/* A1E5E8 802434E8 44050000 */ mfc1 $a1, $f0 +/* A1E5EC 802434EC 00000000 */ nop +.L802434F0: +/* A1E5F0 802434F0 00A0302D */ daddu $a2, $a1, $zero +/* A1E5F4 802434F4 0C01C5A4 */ jal func_80071690 +/* A1E5F8 802434F8 00A0382D */ daddu $a3, $a1, $zero +.L802434FC: +/* A1E5FC 802434FC 8FBF0010 */ lw $ra, 0x10($sp) +/* A1E600 80243500 03E00008 */ jr $ra +/* A1E604 80243504 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_03/func_80243508.s b/asm/nonmatchings/world/area_hos/hos_03/func_80243508.s new file mode 100644 index 0000000000..d2f3570e25 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_03/func_80243508.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243508 +/* A1E608 80243508 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A1E60C 8024350C 3C058024 */ lui $a1, 0x8024 +/* A1E610 80243510 24A5349C */ addiu $a1, $a1, 0x349c +/* A1E614 80243514 AFBF0010 */ sw $ra, 0x10($sp) +/* A1E618 80243518 0C048C8F */ jal bind_dynamic_entity_7 +/* A1E61C 8024351C 0000202D */ daddu $a0, $zero, $zero +/* A1E620 80243520 8FBF0010 */ lw $ra, 0x10($sp) +/* A1E624 80243524 3C018025 */ lui $at, 0x8025 +/* A1E628 80243528 AC22BDD0 */ sw $v0, -0x4230($at) +/* A1E62C 8024352C 24020002 */ addiu $v0, $zero, 2 +/* A1E630 80243530 03E00008 */ jr $ra +/* A1E634 80243534 27BD0018 */ addiu $sp, $sp, 0x18 +/* A1E638 80243538 00000000 */ nop +/* A1E63C 8024353C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240000_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240000_A26ED0.s new file mode 100644 index 0000000000..bf2fa22b2c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240000_A26ED0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A26ED0 +/* A26ED0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A26ED4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* A26ED8 80240008 3C118024 */ lui $s1, 0x8024 +/* A26EDC 8024000C 263116F0 */ addiu $s1, $s1, 0x16f0 +/* A26EE0 80240010 AFBF0020 */ sw $ra, 0x20($sp) +/* A26EE4 80240014 AFB3001C */ sw $s3, 0x1c($sp) +/* A26EE8 80240018 AFB20018 */ sw $s2, 0x18($sp) +/* A26EEC 8024001C AFB00010 */ sw $s0, 0x10($sp) +/* A26EF0 80240020 96220000 */ lhu $v0, ($s1) +/* A26EF4 80240024 3C013D00 */ lui $at, 0x3d00 +/* A26EF8 80240028 44810000 */ mtc1 $at, $f0 +/* A26EFC 8024002C 44826000 */ mtc1 $v0, $f12 +/* A26F00 80240030 00000000 */ nop +/* A26F04 80240034 46806320 */ cvt.s.w $f12, $f12 +/* A26F08 80240038 46006302 */ mul.s $f12, $f12, $f0 +/* A26F0C 8024003C 00000000 */ nop +/* A26F10 80240040 0C00A85B */ jal sin_rad +/* A26F14 80240044 3C130001 */ lui $s3, 1 +/* A26F18 80240048 3C013F80 */ lui $at, 0x3f80 +/* A26F1C 8024004C 44811000 */ mtc1 $at, $f2 +/* A26F20 80240050 00000000 */ nop +/* A26F24 80240054 46020000 */ add.s $f0, $f0, $f2 +/* A26F28 80240058 3C013E80 */ lui $at, 0x3e80 +/* A26F2C 8024005C 44811000 */ mtc1 $at, $f2 +/* A26F30 80240060 00000000 */ nop +/* A26F34 80240064 46020002 */ mul.s $f0, $f0, $f2 +/* A26F38 80240068 00000000 */ nop +/* A26F3C 8024006C 3C013FE8 */ lui $at, 0x3fe8 +/* A26F40 80240070 44811800 */ mtc1 $at, $f3 +/* A26F44 80240074 44801000 */ mtc1 $zero, $f2 +/* A26F48 80240078 46000021 */ cvt.d.s $f0, $f0 +/* A26F4C 8024007C 46220000 */ add.d $f0, $f0, $f2 +/* A26F50 80240080 3C018024 */ lui $at, 0x8024 +/* A26F54 80240084 D4243300 */ ldc1 $f4, 0x3300($at) +/* A26F58 80240088 46200020 */ cvt.s.d $f0, $f0 +/* A26F5C 8024008C 460000A1 */ cvt.d.s $f2, $f0 +/* A26F60 80240090 46241082 */ mul.d $f2, $f2, $f4 +/* A26F64 80240094 00000000 */ nop +/* A26F68 80240098 36731630 */ ori $s3, $s3, 0x1630 +/* A26F6C 8024009C 3C12800A */ lui $s2, 0x800a +/* A26F70 802400A0 2652A674 */ addiu $s2, $s2, -0x598c +/* A26F74 802400A4 3C108007 */ lui $s0, 0x8007 +/* A26F78 802400A8 261041F0 */ addiu $s0, $s0, 0x41f0 +/* A26F7C 802400AC 96040000 */ lhu $a0, ($s0) +/* A26F80 802400B0 8E420000 */ lw $v0, ($s2) +/* A26F84 802400B4 3C013FE0 */ lui $at, 0x3fe0 +/* A26F88 802400B8 44812800 */ mtc1 $at, $f5 +/* A26F8C 802400BC 44802000 */ mtc1 $zero, $f4 +/* A26F90 802400C0 00042180 */ sll $a0, $a0, 6 +/* A26F94 802400C4 46241080 */ add.d $f2, $f2, $f4 +/* A26F98 802400C8 00932021 */ addu $a0, $a0, $s3 +/* A26F9C 802400CC 00442021 */ addu $a0, $v0, $a0 +/* A26FA0 802400D0 462010A0 */ cvt.s.d $f2, $f2 +/* A26FA4 802400D4 44051000 */ mfc1 $a1, $f2 +/* A26FA8 802400D8 44060000 */ mfc1 $a2, $f0 +/* A26FAC 802400DC 0C019DC0 */ jal guScale +/* A26FB0 802400E0 00A0382D */ daddu $a3, $a1, $zero +/* A26FB4 802400E4 3C05DA38 */ lui $a1, 0xda38 +/* A26FB8 802400E8 3C04800A */ lui $a0, 0x800a +/* A26FBC 802400EC 2484A66C */ addiu $a0, $a0, -0x5994 +/* A26FC0 802400F0 34A50001 */ ori $a1, $a1, 1 +/* A26FC4 802400F4 8C820000 */ lw $v0, ($a0) +/* A26FC8 802400F8 96030000 */ lhu $v1, ($s0) +/* A26FCC 802400FC 0040302D */ daddu $a2, $v0, $zero +/* A26FD0 80240100 24420008 */ addiu $v0, $v0, 8 +/* A26FD4 80240104 AC820000 */ sw $v0, ($a0) +/* A26FD8 80240108 24620001 */ addiu $v0, $v1, 1 +/* A26FDC 8024010C 3063FFFF */ andi $v1, $v1, 0xffff +/* A26FE0 80240110 00031980 */ sll $v1, $v1, 6 +/* A26FE4 80240114 00731821 */ addu $v1, $v1, $s3 +/* A26FE8 80240118 ACC50000 */ sw $a1, ($a2) +/* A26FEC 8024011C A6020000 */ sh $v0, ($s0) +/* A26FF0 80240120 8E420000 */ lw $v0, ($s2) +/* A26FF4 80240124 96240000 */ lhu $a0, ($s1) +/* A26FF8 80240128 00431021 */ addu $v0, $v0, $v1 +/* A26FFC 8024012C 24840001 */ addiu $a0, $a0, 1 +/* A27000 80240130 ACC20004 */ sw $v0, 4($a2) +/* A27004 80240134 A6240000 */ sh $a0, ($s1) +/* A27008 80240138 8FBF0020 */ lw $ra, 0x20($sp) +/* A2700C 8024013C 8FB3001C */ lw $s3, 0x1c($sp) +/* A27010 80240140 8FB20018 */ lw $s2, 0x18($sp) +/* A27014 80240144 8FB10014 */ lw $s1, 0x14($sp) +/* A27018 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* A2701C 8024014C 03E00008 */ jr $ra +/* A27020 80240150 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240154_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240154_A26ED0.s new file mode 100644 index 0000000000..30a63b281b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240154_A26ED0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240154_A27024 +/* A27024 80240154 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A27028 80240158 AFB00010 */ sw $s0, 0x10($sp) +/* A2702C 8024015C 3C108024 */ lui $s0, 0x8024 +/* A27030 80240160 261016F0 */ addiu $s0, $s0, 0x16f0 +/* A27034 80240164 AFBF001C */ sw $ra, 0x1c($sp) +/* A27038 80240168 AFB20018 */ sw $s2, 0x18($sp) +/* A2703C 8024016C AFB10014 */ sw $s1, 0x14($sp) +/* A27040 80240170 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A27044 80240174 96020000 */ lhu $v0, ($s0) +/* A27048 80240178 3C013D00 */ lui $at, 0x3d00 +/* A2704C 8024017C 44810000 */ mtc1 $at, $f0 +/* A27050 80240180 44826000 */ mtc1 $v0, $f12 +/* A27054 80240184 00000000 */ nop +/* A27058 80240188 46806320 */ cvt.s.w $f12, $f12 +/* A2705C 8024018C 46006302 */ mul.s $f12, $f12, $f0 +/* A27060 80240190 00000000 */ nop +/* A27064 80240194 0C00A85B */ jal sin_rad +/* A27068 80240198 3C120001 */ lui $s2, 1 +/* A2706C 8024019C 3C014120 */ lui $at, 0x4120 +/* A27070 802401A0 44811000 */ mtc1 $at, $f2 +/* A27074 802401A4 00000000 */ nop +/* A27078 802401A8 46020502 */ mul.s $f20, $f0, $f2 +/* A2707C 802401AC 00000000 */ nop +/* A27080 802401B0 96020000 */ lhu $v0, ($s0) +/* A27084 802401B4 3C013E80 */ lui $at, 0x3e80 +/* A27088 802401B8 44810000 */ mtc1 $at, $f0 +/* A2708C 802401BC 44826000 */ mtc1 $v0, $f12 +/* A27090 802401C0 00000000 */ nop +/* A27094 802401C4 46806320 */ cvt.s.w $f12, $f12 +/* A27098 802401C8 46006302 */ mul.s $f12, $f12, $f0 +/* A2709C 802401CC 00000000 */ nop +/* A270A0 802401D0 36521630 */ ori $s2, $s2, 0x1630 +/* A270A4 802401D4 3C013FF8 */ lui $at, 0x3ff8 +/* A270A8 802401D8 44810800 */ mtc1 $at, $f1 +/* A270AC 802401DC 44800000 */ mtc1 $zero, $f0 +/* A270B0 802401E0 4600A521 */ cvt.d.s $f20, $f20 +/* A270B4 802401E4 0C00A85B */ jal sin_rad +/* A270B8 802401E8 4620A500 */ add.d $f20, $f20, $f0 +/* A270BC 802401EC 3C014004 */ lui $at, 0x4004 +/* A270C0 802401F0 44811800 */ mtc1 $at, $f3 +/* A270C4 802401F4 44801000 */ mtc1 $zero, $f2 +/* A270C8 802401F8 46000021 */ cvt.d.s $f0, $f0 +/* A270CC 802401FC 46220002 */ mul.d $f0, $f0, $f2 +/* A270D0 80240200 00000000 */ nop +/* A270D4 80240204 3C108007 */ lui $s0, 0x8007 +/* A270D8 80240208 261041F0 */ addiu $s0, $s0, 0x41f0 +/* A270DC 8024020C 3C11800A */ lui $s1, 0x800a +/* A270E0 80240210 2631A674 */ addiu $s1, $s1, -0x598c +/* A270E4 80240214 96040000 */ lhu $a0, ($s0) +/* A270E8 80240218 8E220000 */ lw $v0, ($s1) +/* A270EC 8024021C 00042180 */ sll $a0, $a0, 6 +/* A270F0 80240220 00922021 */ addu $a0, $a0, $s2 +/* A270F4 80240224 44801000 */ mtc1 $zero, $f2 +/* A270F8 80240228 4620A500 */ add.d $f20, $f20, $f0 +/* A270FC 8024022C 00442021 */ addu $a0, $v0, $a0 +/* A27100 80240230 44051000 */ mfc1 $a1, $f2 +/* A27104 80240234 4620A520 */ cvt.s.d $f20, $f20 +/* A27108 80240238 4406A000 */ mfc1 $a2, $f20 +/* A2710C 8024023C 0C019E08 */ jal guTranslate +/* A27110 80240240 00A0382D */ daddu $a3, $a1, $zero +/* A27114 80240244 3C05DA38 */ lui $a1, 0xda38 +/* A27118 80240248 3C04800A */ lui $a0, 0x800a +/* A2711C 8024024C 2484A66C */ addiu $a0, $a0, -0x5994 +/* A27120 80240250 34A50001 */ ori $a1, $a1, 1 +/* A27124 80240254 8C830000 */ lw $v1, ($a0) +/* A27128 80240258 96020000 */ lhu $v0, ($s0) +/* A2712C 8024025C 0060302D */ daddu $a2, $v1, $zero +/* A27130 80240260 24630008 */ addiu $v1, $v1, 8 +/* A27134 80240264 AC830000 */ sw $v1, ($a0) +/* A27138 80240268 24430001 */ addiu $v1, $v0, 1 +/* A2713C 8024026C 3042FFFF */ andi $v0, $v0, 0xffff +/* A27140 80240270 00021180 */ sll $v0, $v0, 6 +/* A27144 80240274 ACC50000 */ sw $a1, ($a2) +/* A27148 80240278 A6030000 */ sh $v1, ($s0) +/* A2714C 8024027C 8E230000 */ lw $v1, ($s1) +/* A27150 80240280 00521021 */ addu $v0, $v0, $s2 +/* A27154 80240284 00621821 */ addu $v1, $v1, $v0 +/* A27158 80240288 ACC30004 */ sw $v1, 4($a2) +/* A2715C 8024028C 8FBF001C */ lw $ra, 0x1c($sp) +/* A27160 80240290 8FB20018 */ lw $s2, 0x18($sp) +/* A27164 80240294 8FB10014 */ lw $s1, 0x14($sp) +/* A27168 80240298 8FB00010 */ lw $s0, 0x10($sp) +/* A2716C 8024029C D7B40020 */ ldc1 $f20, 0x20($sp) +/* A27170 802402A0 03E00008 */ jr $ra +/* A27174 802402A4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802402A8.s b/asm/nonmatchings/world/area_hos/hos_04/func_802402A8.s new file mode 100644 index 0000000000..4c2ca49774 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802402A8.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402A8 +/* A27178 802402A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2717C 802402AC AFB00010 */ sw $s0, 0x10($sp) +/* A27180 802402B0 0080802D */ daddu $s0, $a0, $zero +/* A27184 802402B4 AFBF0014 */ sw $ra, 0x14($sp) +/* A27188 802402B8 8E0300A8 */ lw $v1, 0xa8($s0) +/* A2718C 802402BC 8E020088 */ lw $v0, 0x88($s0) +/* A27190 802402C0 00621821 */ addu $v1, $v1, $v0 +/* A27194 802402C4 04610004 */ bgez $v1, .L802402D8 +/* A27198 802402C8 AE0300A8 */ sw $v1, 0xa8($s0) +/* A2719C 802402CC 3C020002 */ lui $v0, 2 +/* A271A0 802402D0 080900BA */ j .L802402E8 +/* A271A4 802402D4 00621021 */ addu $v0, $v1, $v0 +.L802402D8: +/* A271A8 802402D8 3C040002 */ lui $a0, 2 +/* A271AC 802402DC 0083102A */ slt $v0, $a0, $v1 +/* A271B0 802402E0 10400002 */ beqz $v0, .L802402EC +/* A271B4 802402E4 00641023 */ subu $v0, $v1, $a0 +.L802402E8: +/* A271B8 802402E8 AE0200A8 */ sw $v0, 0xa8($s0) +.L802402EC: +/* A271BC 802402EC 8E0300AC */ lw $v1, 0xac($s0) +/* A271C0 802402F0 8E02008C */ lw $v0, 0x8c($s0) +/* A271C4 802402F4 00621821 */ addu $v1, $v1, $v0 +/* A271C8 802402F8 04610004 */ bgez $v1, .L8024030C +/* A271CC 802402FC AE0300AC */ sw $v1, 0xac($s0) +/* A271D0 80240300 3C020002 */ lui $v0, 2 +/* A271D4 80240304 080900C7 */ j .L8024031C +/* A271D8 80240308 00621021 */ addu $v0, $v1, $v0 +.L8024030C: +/* A271DC 8024030C 3C040002 */ lui $a0, 2 +/* A271E0 80240310 0083102A */ slt $v0, $a0, $v1 +/* A271E4 80240314 10400002 */ beqz $v0, .L80240320 +/* A271E8 80240318 00641023 */ subu $v0, $v1, $a0 +.L8024031C: +/* A271EC 8024031C AE0200AC */ sw $v0, 0xac($s0) +.L80240320: +/* A271F0 80240320 8E0300B0 */ lw $v1, 0xb0($s0) +/* A271F4 80240324 8E020090 */ lw $v0, 0x90($s0) +/* A271F8 80240328 00621821 */ addu $v1, $v1, $v0 +/* A271FC 8024032C 04610004 */ bgez $v1, .L80240340 +/* A27200 80240330 AE0300B0 */ sw $v1, 0xb0($s0) +/* A27204 80240334 3C020002 */ lui $v0, 2 +/* A27208 80240338 080900D4 */ j .L80240350 +/* A2720C 8024033C 00621021 */ addu $v0, $v1, $v0 +.L80240340: +/* A27210 80240340 3C040002 */ lui $a0, 2 +/* A27214 80240344 0083102A */ slt $v0, $a0, $v1 +/* A27218 80240348 10400002 */ beqz $v0, .L80240354 +/* A2721C 8024034C 00641023 */ subu $v0, $v1, $a0 +.L80240350: +/* A27220 80240350 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240354: +/* A27224 80240354 8E0300B4 */ lw $v1, 0xb4($s0) +/* A27228 80240358 8E020094 */ lw $v0, 0x94($s0) +/* A2722C 8024035C 00621821 */ addu $v1, $v1, $v0 +/* A27230 80240360 04610004 */ bgez $v1, .L80240374 +/* A27234 80240364 AE0300B4 */ sw $v1, 0xb4($s0) +/* A27238 80240368 3C020002 */ lui $v0, 2 +/* A2723C 8024036C 080900E1 */ j .L80240384 +/* A27240 80240370 00621021 */ addu $v0, $v1, $v0 +.L80240374: +/* A27244 80240374 3C040002 */ lui $a0, 2 +/* A27248 80240378 0083102A */ slt $v0, $a0, $v1 +/* A2724C 8024037C 10400002 */ beqz $v0, .L80240388 +/* A27250 80240380 00641023 */ subu $v0, $v1, $a0 +.L80240384: +/* A27254 80240384 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240388: +/* A27258 80240388 8E040084 */ lw $a0, 0x84($s0) +/* A2725C 8024038C 0C046F07 */ jal set_main_pan_u +/* A27260 80240390 8E0500A8 */ lw $a1, 0xa8($s0) +/* A27264 80240394 8E040084 */ lw $a0, 0x84($s0) +/* A27268 80240398 0C046F0D */ jal set_main_pan_v +/* A2726C 8024039C 8E0500AC */ lw $a1, 0xac($s0) +/* A27270 802403A0 8E040084 */ lw $a0, 0x84($s0) +/* A27274 802403A4 0C046F13 */ jal set_aux_pan_u +/* A27278 802403A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A2727C 802403AC 8E040084 */ lw $a0, 0x84($s0) +/* A27280 802403B0 0C046F19 */ jal set_aux_pan_v +/* A27284 802403B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A27288 802403B8 8FBF0014 */ lw $ra, 0x14($sp) +/* A2728C 802403BC 8FB00010 */ lw $s0, 0x10($sp) +/* A27290 802403C0 0000102D */ daddu $v0, $zero, $zero +/* A27294 802403C4 03E00008 */ jr $ra +/* A27298 802403C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802403CC.s b/asm/nonmatchings/world/area_hos/hos_04/func_802403CC.s new file mode 100644 index 0000000000..e435e37d23 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802403CC.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403CC +/* A2729C 802403CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A272A0 802403D0 AFB00010 */ sw $s0, 0x10($sp) +/* A272A4 802403D4 0080802D */ daddu $s0, $a0, $zero +/* A272A8 802403D8 10A00005 */ beqz $a1, .L802403F0 +/* A272AC 802403DC AFBF0014 */ sw $ra, 0x14($sp) +/* A272B0 802403E0 AE000070 */ sw $zero, 0x70($s0) +/* A272B4 802403E4 AE000074 */ sw $zero, 0x74($s0) +/* A272B8 802403E8 AE000078 */ sw $zero, 0x78($s0) +/* A272BC 802403EC AE00007C */ sw $zero, 0x7c($s0) +.L802403F0: +/* A272C0 802403F0 8E020070 */ lw $v0, 0x70($s0) +/* A272C4 802403F4 1440000E */ bnez $v0, .L80240430 +/* A272C8 802403F8 00000000 */ nop +/* A272CC 802403FC 8E0300A8 */ lw $v1, 0xa8($s0) +/* A272D0 80240400 8E020088 */ lw $v0, 0x88($s0) +/* A272D4 80240404 00621821 */ addu $v1, $v1, $v0 +/* A272D8 80240408 04610004 */ bgez $v1, .L8024041C +/* A272DC 8024040C AE0300A8 */ sw $v1, 0xa8($s0) +/* A272E0 80240410 3C020002 */ lui $v0, 2 +/* A272E4 80240414 0809010B */ j .L8024042C +/* A272E8 80240418 00621021 */ addu $v0, $v1, $v0 +.L8024041C: +/* A272EC 8024041C 3C040002 */ lui $a0, 2 +/* A272F0 80240420 0083102A */ slt $v0, $a0, $v1 +/* A272F4 80240424 10400002 */ beqz $v0, .L80240430 +/* A272F8 80240428 00641023 */ subu $v0, $v1, $a0 +.L8024042C: +/* A272FC 8024042C AE0200A8 */ sw $v0, 0xa8($s0) +.L80240430: +/* A27300 80240430 8E020074 */ lw $v0, 0x74($s0) +/* A27304 80240434 1440000E */ bnez $v0, .L80240470 +/* A27308 80240438 00000000 */ nop +/* A2730C 8024043C 8E0300AC */ lw $v1, 0xac($s0) +/* A27310 80240440 8E02008C */ lw $v0, 0x8c($s0) +/* A27314 80240444 00621821 */ addu $v1, $v1, $v0 +/* A27318 80240448 04610004 */ bgez $v1, .L8024045C +/* A2731C 8024044C AE0300AC */ sw $v1, 0xac($s0) +/* A27320 80240450 3C020002 */ lui $v0, 2 +/* A27324 80240454 0809011B */ j .L8024046C +/* A27328 80240458 00621021 */ addu $v0, $v1, $v0 +.L8024045C: +/* A2732C 8024045C 3C040002 */ lui $a0, 2 +/* A27330 80240460 0083102A */ slt $v0, $a0, $v1 +/* A27334 80240464 10400002 */ beqz $v0, .L80240470 +/* A27338 80240468 00641023 */ subu $v0, $v1, $a0 +.L8024046C: +/* A2733C 8024046C AE0200AC */ sw $v0, 0xac($s0) +.L80240470: +/* A27340 80240470 8E020078 */ lw $v0, 0x78($s0) +/* A27344 80240474 1440000E */ bnez $v0, .L802404B0 +/* A27348 80240478 00000000 */ nop +/* A2734C 8024047C 8E0300B0 */ lw $v1, 0xb0($s0) +/* A27350 80240480 8E020090 */ lw $v0, 0x90($s0) +/* A27354 80240484 00621821 */ addu $v1, $v1, $v0 +/* A27358 80240488 04610004 */ bgez $v1, .L8024049C +/* A2735C 8024048C AE0300B0 */ sw $v1, 0xb0($s0) +/* A27360 80240490 3C020002 */ lui $v0, 2 +/* A27364 80240494 0809012B */ j .L802404AC +/* A27368 80240498 00621021 */ addu $v0, $v1, $v0 +.L8024049C: +/* A2736C 8024049C 3C040002 */ lui $a0, 2 +/* A27370 802404A0 0083102A */ slt $v0, $a0, $v1 +/* A27374 802404A4 10400002 */ beqz $v0, .L802404B0 +/* A27378 802404A8 00641023 */ subu $v0, $v1, $a0 +.L802404AC: +/* A2737C 802404AC AE0200B0 */ sw $v0, 0xb0($s0) +.L802404B0: +/* A27380 802404B0 8E02007C */ lw $v0, 0x7c($s0) +/* A27384 802404B4 1440000E */ bnez $v0, .L802404F0 +/* A27388 802404B8 00000000 */ nop +/* A2738C 802404BC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A27390 802404C0 8E020094 */ lw $v0, 0x94($s0) +/* A27394 802404C4 00621821 */ addu $v1, $v1, $v0 +/* A27398 802404C8 04610004 */ bgez $v1, .L802404DC +/* A2739C 802404CC AE0300B4 */ sw $v1, 0xb4($s0) +/* A273A0 802404D0 3C020002 */ lui $v0, 2 +/* A273A4 802404D4 0809013B */ j .L802404EC +/* A273A8 802404D8 00621021 */ addu $v0, $v1, $v0 +.L802404DC: +/* A273AC 802404DC 3C040002 */ lui $a0, 2 +/* A273B0 802404E0 0083102A */ slt $v0, $a0, $v1 +/* A273B4 802404E4 10400002 */ beqz $v0, .L802404F0 +/* A273B8 802404E8 00641023 */ subu $v0, $v1, $a0 +.L802404EC: +/* A273BC 802404EC AE0200B4 */ sw $v0, 0xb4($s0) +.L802404F0: +/* A273C0 802404F0 8E040084 */ lw $a0, 0x84($s0) +/* A273C4 802404F4 0C046F07 */ jal set_main_pan_u +/* A273C8 802404F8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A273CC 802404FC 8E040084 */ lw $a0, 0x84($s0) +/* A273D0 80240500 0C046F0D */ jal set_main_pan_v +/* A273D4 80240504 8E0500AC */ lw $a1, 0xac($s0) +/* A273D8 80240508 8E040084 */ lw $a0, 0x84($s0) +/* A273DC 8024050C 0C046F13 */ jal set_aux_pan_u +/* A273E0 80240510 8E0500B0 */ lw $a1, 0xb0($s0) +/* A273E4 80240514 8E040084 */ lw $a0, 0x84($s0) +/* A273E8 80240518 0C046F19 */ jal set_aux_pan_v +/* A273EC 8024051C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A273F0 80240520 8E020070 */ lw $v0, 0x70($s0) +/* A273F4 80240524 8E030078 */ lw $v1, 0x78($s0) +/* A273F8 80240528 8E040098 */ lw $a0, 0x98($s0) +/* A273FC 8024052C 24420001 */ addiu $v0, $v0, 1 +/* A27400 80240530 AE020070 */ sw $v0, 0x70($s0) +/* A27404 80240534 8E020074 */ lw $v0, 0x74($s0) +/* A27408 80240538 24630001 */ addiu $v1, $v1, 1 +/* A2740C 8024053C AE030078 */ sw $v1, 0x78($s0) +/* A27410 80240540 8E030070 */ lw $v1, 0x70($s0) +/* A27414 80240544 24420001 */ addiu $v0, $v0, 1 +/* A27418 80240548 AE020074 */ sw $v0, 0x74($s0) +/* A2741C 8024054C 8E02007C */ lw $v0, 0x7c($s0) +/* A27420 80240550 0064182A */ slt $v1, $v1, $a0 +/* A27424 80240554 24420001 */ addiu $v0, $v0, 1 +/* A27428 80240558 14600002 */ bnez $v1, .L80240564 +/* A2742C 8024055C AE02007C */ sw $v0, 0x7c($s0) +/* A27430 80240560 AE000070 */ sw $zero, 0x70($s0) +.L80240564: +/* A27434 80240564 8E020074 */ lw $v0, 0x74($s0) +/* A27438 80240568 8E03009C */ lw $v1, 0x9c($s0) +/* A2743C 8024056C 0043102A */ slt $v0, $v0, $v1 +/* A27440 80240570 50400001 */ beql $v0, $zero, .L80240578 +/* A27444 80240574 AE000074 */ sw $zero, 0x74($s0) +.L80240578: +/* A27448 80240578 8E020078 */ lw $v0, 0x78($s0) +/* A2744C 8024057C 8E0300A0 */ lw $v1, 0xa0($s0) +/* A27450 80240580 0043102A */ slt $v0, $v0, $v1 +/* A27454 80240584 50400001 */ beql $v0, $zero, .L8024058C +/* A27458 80240588 AE000078 */ sw $zero, 0x78($s0) +.L8024058C: +/* A2745C 8024058C 8E02007C */ lw $v0, 0x7c($s0) +/* A27460 80240590 8E0300A4 */ lw $v1, 0xa4($s0) +/* A27464 80240594 0043102A */ slt $v0, $v0, $v1 +/* A27468 80240598 50400001 */ beql $v0, $zero, .L802405A0 +/* A2746C 8024059C AE00007C */ sw $zero, 0x7c($s0) +.L802405A0: +/* A27470 802405A0 8FBF0014 */ lw $ra, 0x14($sp) +/* A27474 802405A4 8FB00010 */ lw $s0, 0x10($sp) +/* A27478 802405A8 0000102D */ daddu $v0, $zero, $zero +/* A2747C 802405AC 03E00008 */ jr $ra +/* A27480 802405B0 27BD0018 */ addiu $sp, $sp, 0x18 +/* A27484 802405B4 00000000 */ nop +/* A27488 802405B8 00000000 */ nop +/* A2748C 802405BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802405C0.s b/asm/nonmatchings/world/area_hos/hos_04/func_802405C0.s new file mode 100644 index 0000000000..3008064f65 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802405C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C0 +/* A27490 802405C0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A27494 802405C4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A27498 802405C8 8442008E */ lh $v0, 0x8e($v0) +/* A2749C 802405CC AC820084 */ sw $v0, 0x84($a0) +/* A274A0 802405D0 03E00008 */ jr $ra +/* A274A4 802405D4 24020002 */ addiu $v0, $zero, 2 +/* A274A8 802405D8 00000000 */ nop +/* A274AC 802405DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802405E0_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_802405E0_A26ED0.s new file mode 100644 index 0000000000..ac1e88224b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802405E0_A26ED0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E0_A274B0 +/* A274B0 802405E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A274B4 802405E4 AFB10014 */ sw $s1, 0x14($sp) +/* A274B8 802405E8 0080882D */ daddu $s1, $a0, $zero +/* A274BC 802405EC AFBF0018 */ sw $ra, 0x18($sp) +/* A274C0 802405F0 AFB00010 */ sw $s0, 0x10($sp) +/* A274C4 802405F4 8E30000C */ lw $s0, 0xc($s1) +/* A274C8 802405F8 8E050000 */ lw $a1, ($s0) +/* A274CC 802405FC 0C0B1EAF */ jal get_variable +/* A274D0 80240600 26100004 */ addiu $s0, $s0, 4 +/* A274D4 80240604 0220202D */ daddu $a0, $s1, $zero +/* A274D8 80240608 8E050000 */ lw $a1, ($s0) +/* A274DC 8024060C 0C0B210B */ jal get_float_variable +/* A274E0 80240610 0040802D */ daddu $s0, $v0, $zero +/* A274E4 80240614 24020002 */ addiu $v0, $zero, 2 +/* A274E8 80240618 00501804 */ sllv $v1, $s0, $v0 +/* A274EC 8024061C 00701821 */ addu $v1, $v1, $s0 +/* A274F0 80240620 00431804 */ sllv $v1, $v1, $v0 +/* A274F4 80240624 00701823 */ subu $v1, $v1, $s0 +/* A274F8 80240628 000320C0 */ sll $a0, $v1, 3 +/* A274FC 8024062C 00641821 */ addu $v1, $v1, $a0 +/* A27500 80240630 000318C0 */ sll $v1, $v1, 3 +/* A27504 80240634 3C01800B */ lui $at, 0x800b +/* A27508 80240638 00230821 */ addu $at, $at, $v1 +/* A2750C 8024063C E4201D98 */ swc1 $f0, 0x1d98($at) +/* A27510 80240640 8FBF0018 */ lw $ra, 0x18($sp) +/* A27514 80240644 8FB10014 */ lw $s1, 0x14($sp) +/* A27518 80240648 8FB00010 */ lw $s0, 0x10($sp) +/* A2751C 8024064C 03E00008 */ jr $ra +/* A27520 80240650 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240654.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240654.s new file mode 100644 index 0000000000..e9888bf272 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240654.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240654 +/* A27524 80240654 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* A27528 80240658 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* A2752C 8024065C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A27530 80240660 AFBF0010 */ sw $ra, 0x10($sp) +/* A27534 80240664 908300A8 */ lbu $v1, 0xa8($a0) +/* A27538 80240668 2C620005 */ sltiu $v0, $v1, 5 +/* A2753C 8024066C 10400003 */ beqz $v0, .L8024067C +/* A27540 80240670 24620001 */ addiu $v0, $v1, 1 +/* A27544 80240674 0C00D994 */ jal begin_state_intro +/* A27548 80240678 A08200A8 */ sb $v0, 0xa8($a0) +.L8024067C: +/* A2754C 8024067C 8FBF0010 */ lw $ra, 0x10($sp) +/* A27550 80240680 24020001 */ addiu $v0, $zero, 1 +/* A27554 80240684 03E00008 */ jr $ra +/* A27558 80240688 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_8024068C.s b/asm/nonmatchings/world/area_hos/hos_04/func_8024068C.s new file mode 100644 index 0000000000..c3217ea9ba --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_8024068C.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C +/* A2755C 8024068C 03E00008 */ jr $ra +/* A27560 80240690 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240694_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240694_A26ED0.s new file mode 100644 index 0000000000..3628e9dae4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240694_A26ED0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240694_A27564 +/* A27564 80240694 460C7301 */ sub.s $f12, $f14, $f12 +/* A27568 80240698 44863000 */ mtc1 $a2, $f6 +/* A2756C 8024069C 44800000 */ mtc1 $zero, $f0 +/* A27570 802406A0 44872000 */ mtc1 $a3, $f4 +/* A27574 802406A4 8FA20010 */ lw $v0, 0x10($sp) +/* A27578 802406A8 460C003C */ c.lt.s $f0, $f12 +/* A2757C 802406AC 00000000 */ nop +/* A27580 802406B0 4500000F */ bc1f .L802406F0 +/* A27584 802406B4 46067081 */ sub.s $f2, $f14, $f6 +/* A27588 802406B8 4600103C */ c.lt.s $f2, $f0 +/* A2758C 802406BC 00000000 */ nop +/* A27590 802406C0 45000003 */ bc1f .L802406D0 +/* A27594 802406C4 00000000 */ nop +.L802406C8: +/* A27598 802406C8 03E00008 */ jr $ra +/* A2759C 802406CC E44E0000 */ swc1 $f14, ($v0) +.L802406D0: +/* A275A0 802406D0 4602203C */ c.lt.s $f4, $f2 +/* A275A4 802406D4 00000000 */ nop +/* A275A8 802406D8 45000012 */ bc1f .L80240724 +/* A275AC 802406DC 00000000 */ nop +/* A275B0 802406E0 C4400000 */ lwc1 $f0, ($v0) +/* A275B4 802406E4 46040000 */ add.s $f0, $f0, $f4 +/* A275B8 802406E8 03E00008 */ jr $ra +/* A275BC 802406EC E4400000 */ swc1 $f0, ($v0) +.L802406F0: +/* A275C0 802406F0 4602003C */ c.lt.s $f0, $f2 +/* A275C4 802406F4 00000000 */ nop +/* A275C8 802406F8 4501FFF3 */ bc1t .L802406C8 +/* A275CC 802406FC 00000000 */ nop +/* A275D0 80240700 46002007 */ neg.s $f0, $f4 +/* A275D4 80240704 4600103C */ c.lt.s $f2, $f0 +/* A275D8 80240708 00000000 */ nop +/* A275DC 8024070C 45000005 */ bc1f .L80240724 +/* A275E0 80240710 00000000 */ nop +/* A275E4 80240714 C4400000 */ lwc1 $f0, ($v0) +/* A275E8 80240718 46040001 */ sub.s $f0, $f0, $f4 +/* A275EC 8024071C 03E00008 */ jr $ra +/* A275F0 80240720 E4400000 */ swc1 $f0, ($v0) +.L80240724: +/* A275F4 80240724 C4400000 */ lwc1 $f0, ($v0) +/* A275F8 80240728 46020000 */ add.s $f0, $f0, $f2 +/* A275FC 8024072C 03E00008 */ jr $ra +/* A27600 80240730 E4400000 */ swc1 $f0, ($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240734_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240734_A26ED0.s new file mode 100644 index 0000000000..a6b1d6ab1a --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240734_A26ED0.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240734_A27604 +/* A27604 80240734 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A27608 80240738 F7B40018 */ sdc1 $f20, 0x18($sp) +/* A2760C 8024073C 4485A000 */ mtc1 $a1, $f20 +/* A27610 80240740 F7B60020 */ sdc1 $f22, 0x20($sp) +/* A27614 80240744 4486B000 */ mtc1 $a2, $f22 +/* A27618 80240748 44876000 */ mtc1 $a3, $f12 +/* A2761C 8024074C C7A20038 */ lwc1 $f2, 0x38($sp) +/* A27620 80240750 460C103C */ c.lt.s $f2, $f12 +/* A27624 80240754 00000000 */ nop +/* A27628 80240758 45000002 */ bc1f .L80240764 +/* A2762C 8024075C AFBF0010 */ sw $ra, 0x10($sp) +/* A27630 80240760 46001306 */ mov.s $f12, $f2 +.L80240764: +/* A27634 80240764 2484FFFF */ addiu $a0, $a0, -1 +/* A27638 80240768 2C820005 */ sltiu $v0, $a0, 5 +/* A2763C 8024076C 10400056 */ beqz $v0, .L802408C8 +/* A27640 80240770 00041080 */ sll $v0, $a0, 2 +/* A27644 80240774 3C018024 */ lui $at, 0x8024 +/* A27648 80240778 00220821 */ addu $at, $at, $v0 +/* A2764C 8024077C 8C223310 */ lw $v0, 0x3310($at) +/* A27650 80240780 00400008 */ jr $v0 +/* A27654 80240784 00000000 */ nop +/* A27658 80240788 3C0142B4 */ lui $at, 0x42b4 +/* A2765C 8024078C 44810000 */ mtc1 $at, $f0 +/* A27660 80240790 46026303 */ div.s $f12, $f12, $f2 +/* A27664 80240794 46006302 */ mul.s $f12, $f12, $f0 +/* A27668 80240798 0C00A8BB */ jal sin_deg +/* A2766C 8024079C 00000000 */ nop +/* A27670 802407A0 08090233 */ j .L802408CC +/* A27674 802407A4 46000306 */ mov.s $f12, $f0 +/* A27678 802407A8 3C0141F0 */ lui $at, 0x41f0 +/* A2767C 802407AC 44810000 */ mtc1 $at, $f0 +/* A27680 802407B0 00000000 */ nop +/* A27684 802407B4 4600603C */ c.lt.s $f12, $f0 +/* A27688 802407B8 00000000 */ nop +/* A2768C 802407BC 45020004 */ bc1fl .L802407D0 +/* A27690 802407C0 46006301 */ sub.s $f12, $f12, $f0 +/* A27694 802407C4 44806000 */ mtc1 $zero, $f12 +/* A27698 802407C8 08090234 */ j .L802408D0 +/* A2769C 802407CC 4614B001 */ sub.s $f0, $f22, $f20 +.L802407D0: +/* A276A0 802407D0 46001001 */ sub.s $f0, $f2, $f0 +/* A276A4 802407D4 3C0142B4 */ lui $at, 0x42b4 +/* A276A8 802407D8 44811000 */ mtc1 $at, $f2 +/* A276AC 802407DC 46006303 */ div.s $f12, $f12, $f0 +/* A276B0 802407E0 46026302 */ mul.s $f12, $f12, $f2 +/* A276B4 802407E4 00000000 */ nop +/* A276B8 802407E8 3C01C2B4 */ lui $at, 0xc2b4 +/* A276BC 802407EC 44810000 */ mtc1 $at, $f0 +/* A276C0 802407F0 08090219 */ j .L80240864 +/* A276C4 802407F4 46006300 */ add.s $f12, $f12, $f0 +/* A276C8 802407F8 3C014334 */ lui $at, 0x4334 +/* A276CC 802407FC 44810000 */ mtc1 $at, $f0 +/* A276D0 80240800 46026303 */ div.s $f12, $f12, $f2 +/* A276D4 80240804 46006302 */ mul.s $f12, $f12, $f0 +/* A276D8 80240808 00000000 */ nop +/* A276DC 8024080C 3C0142B4 */ lui $at, 0x42b4 +/* A276E0 80240810 44810000 */ mtc1 $at, $f0 +/* A276E4 80240814 0C00A8BB */ jal sin_deg +/* A276E8 80240818 46006301 */ sub.s $f12, $f12, $f0 +/* A276EC 8024081C 3C013F80 */ lui $at, 0x3f80 +/* A276F0 80240820 44811000 */ mtc1 $at, $f2 +/* A276F4 80240824 00000000 */ nop +/* A276F8 80240828 46020000 */ add.s $f0, $f0, $f2 +/* A276FC 8024082C 3C013FE0 */ lui $at, 0x3fe0 +/* A27700 80240830 44811800 */ mtc1 $at, $f3 +/* A27704 80240834 44801000 */ mtc1 $zero, $f2 +/* A27708 80240838 46000021 */ cvt.d.s $f0, $f0 +/* A2770C 8024083C 46220002 */ mul.d $f0, $f0, $f2 +/* A27710 80240840 00000000 */ nop +/* A27714 80240844 08090233 */ j .L802408CC +/* A27718 80240848 46200320 */ cvt.s.d $f12, $f0 +/* A2771C 8024084C 3C0142B4 */ lui $at, 0x42b4 +/* A27720 80240850 44810000 */ mtc1 $at, $f0 +/* A27724 80240854 46026303 */ div.s $f12, $f12, $f2 +/* A27728 80240858 46006302 */ mul.s $f12, $f12, $f0 +/* A2772C 8024085C 00000000 */ nop +/* A27730 80240860 46006301 */ sub.s $f12, $f12, $f0 +.L80240864: +/* A27734 80240864 0C00A8BB */ jal sin_deg +/* A27738 80240868 00000000 */ nop +/* A2773C 8024086C 3C013F80 */ lui $at, 0x3f80 +/* A27740 80240870 44811000 */ mtc1 $at, $f2 +/* A27744 80240874 08090233 */ j .L802408CC +/* A27748 80240878 46020300 */ add.s $f12, $f0, $f2 +/* A2774C 8024087C 3C014270 */ lui $at, 0x4270 +/* A27750 80240880 44810000 */ mtc1 $at, $f0 +/* A27754 80240884 46026303 */ div.s $f12, $f12, $f2 +/* A27758 80240888 46006302 */ mul.s $f12, $f12, $f0 +/* A2775C 8024088C 00000000 */ nop +/* A27760 80240890 0C00A8BB */ jal sin_deg +/* A27764 80240894 46006301 */ sub.s $f12, $f12, $f0 +/* A27768 80240898 3C013F5D */ lui $at, 0x3f5d +/* A2776C 8024089C 3421B3D7 */ ori $at, $at, 0xb3d7 +/* A27770 802408A0 44811000 */ mtc1 $at, $f2 +/* A27774 802408A4 00000000 */ nop +/* A27778 802408A8 46020000 */ add.s $f0, $f0, $f2 +/* A2777C 802408AC 46000021 */ cvt.d.s $f0, $f0 +/* A27780 802408B0 46200000 */ add.d $f0, $f0, $f0 +/* A27784 802408B4 3C018024 */ lui $at, 0x8024 +/* A27788 802408B8 D4223328 */ ldc1 $f2, 0x3328($at) +/* A2778C 802408BC 46220003 */ div.d $f0, $f0, $f2 +/* A27790 802408C0 08090233 */ j .L802408CC +/* A27794 802408C4 46200320 */ cvt.s.d $f12, $f0 +.L802408C8: +/* A27798 802408C8 46026303 */ div.s $f12, $f12, $f2 +.L802408CC: +/* A2779C 802408CC 4614B001 */ sub.s $f0, $f22, $f20 +.L802408D0: +/* A277A0 802408D0 460C0002 */ mul.s $f0, $f0, $f12 +/* A277A4 802408D4 00000000 */ nop +/* A277A8 802408D8 4600A000 */ add.s $f0, $f20, $f0 +/* A277AC 802408DC 8FA2003C */ lw $v0, 0x3c($sp) +/* A277B0 802408E0 E4400000 */ swc1 $f0, ($v0) +/* A277B4 802408E4 8FBF0010 */ lw $ra, 0x10($sp) +/* A277B8 802408E8 D7B60020 */ ldc1 $f22, 0x20($sp) +/* A277BC 802408EC D7B40018 */ ldc1 $f20, 0x18($sp) +/* A277C0 802408F0 03E00008 */ jr $ra +/* A277C4 802408F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802408F8.s b/asm/nonmatchings/world/area_hos/hos_04/func_802408F8.s new file mode 100644 index 0000000000..dcde8dcb37 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802408F8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F8 +/* A277C8 802408F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A277CC 802408FC 3C04800B */ lui $a0, %hi(gCameras) +/* A277D0 80240900 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A277D4 80240904 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A277D8 80240908 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A277DC 8024090C 3C05800A */ lui $a1, 0x800a +/* A277E0 80240910 8CA5A64C */ lw $a1, -0x59b4($a1) +/* A277E4 80240914 3C088024 */ lui $t0, 0x8024 +/* A277E8 80240918 25081B80 */ addiu $t0, $t0, 0x1b80 +/* A277EC 8024091C AFBF0020 */ sw $ra, 0x20($sp) +/* A277F0 80240920 AFB1001C */ sw $s1, 0x1c($sp) +/* A277F4 80240924 AFB00018 */ sw $s0, 0x18($sp) +/* A277F8 80240928 00031080 */ sll $v0, $v1, 2 +/* A277FC 8024092C 00431021 */ addu $v0, $v0, $v1 +/* A27800 80240930 00021080 */ sll $v0, $v0, 2 +/* A27804 80240934 00431023 */ subu $v0, $v0, $v1 +/* A27808 80240938 000218C0 */ sll $v1, $v0, 3 +/* A2780C 8024093C 00431021 */ addu $v0, $v0, $v1 +/* A27810 80240940 000210C0 */ sll $v0, $v0, 3 +/* A27814 80240944 8D030000 */ lw $v1, ($t0) +/* A27818 80240948 10A30013 */ beq $a1, $v1, .L80240998 +/* A2781C 8024094C 00448821 */ addu $s1, $v0, $a0 +/* A27820 80240950 3C108024 */ lui $s0, 0x8024 +/* A27824 80240954 26101B7C */ addiu $s0, $s0, 0x1b7c +/* A27828 80240958 3C01442F */ lui $at, 0x442f +/* A2782C 8024095C 44816000 */ mtc1 $at, $f12 +/* A27830 80240960 3C014396 */ lui $at, 0x4396 +/* A27834 80240964 44817000 */ mtc1 $at, $f14 +/* A27838 80240968 8E060000 */ lw $a2, ($s0) +/* A2783C 8024096C 3C073F99 */ lui $a3, 0x3f99 +/* A27840 80240970 34E7999A */ ori $a3, $a3, 0x999a +/* A27844 80240974 AD050000 */ sw $a1, ($t0) +/* A27848 80240978 0C0901A5 */ jal func_80240694 +/* A2784C 8024097C AFB00010 */ sw $s0, 0x10($sp) +/* A27850 80240980 0000102D */ daddu $v0, $zero, $zero +/* A27854 80240984 C6000000 */ lwc1 $f0, ($s0) +/* A27858 80240988 24030001 */ addiu $v1, $zero, 1 +/* A2785C 8024098C A6230506 */ sh $v1, 0x506($s1) +/* A27860 80240990 08090267 */ j .L8024099C +/* A27864 80240994 E62004DC */ swc1 $f0, 0x4dc($s1) +.L80240998: +/* A27868 80240998 0000102D */ daddu $v0, $zero, $zero +.L8024099C: +/* A2786C 8024099C 8FBF0020 */ lw $ra, 0x20($sp) +/* A27870 802409A0 8FB1001C */ lw $s1, 0x1c($sp) +/* A27874 802409A4 8FB00018 */ lw $s0, 0x18($sp) +/* A27878 802409A8 03E00008 */ jr $ra +/* A2787C 802409AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_802409B0.s b/asm/nonmatchings/world/area_hos/hos_04/func_802409B0.s new file mode 100644 index 0000000000..aadefe523f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_802409B0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409B0 +/* A27880 802409B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A27884 802409B4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A27888 802409B8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2788C 802409BC 3C04800B */ lui $a0, %hi(gCameras) +/* A27890 802409C0 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A27894 802409C4 AFBF0024 */ sw $ra, 0x24($sp) +/* A27898 802409C8 AFB20020 */ sw $s2, 0x20($sp) +/* A2789C 802409CC AFB1001C */ sw $s1, 0x1c($sp) +/* A278A0 802409D0 AFB00018 */ sw $s0, 0x18($sp) +/* A278A4 802409D4 00031080 */ sll $v0, $v1, 2 +/* A278A8 802409D8 00431021 */ addu $v0, $v0, $v1 +/* A278AC 802409DC 00021080 */ sll $v0, $v0, 2 +/* A278B0 802409E0 00431023 */ subu $v0, $v0, $v1 +/* A278B4 802409E4 000218C0 */ sll $v1, $v0, 3 +/* A278B8 802409E8 00431021 */ addu $v0, $v0, $v1 +/* A278BC 802409EC 000210C0 */ sll $v0, $v0, 3 +/* A278C0 802409F0 10A00005 */ beqz $a1, .L80240A08 +/* A278C4 802409F4 00449021 */ addu $s2, $v0, $a0 +/* A278C8 802409F8 3C018024 */ lui $at, 0x8024 +/* A278CC 802409FC C4201B54 */ lwc1 $f0, 0x1b54($at) +/* A278D0 80240A00 3C018024 */ lui $at, 0x8024 +/* A278D4 80240A04 E4203370 */ swc1 $f0, 0x3370($at) +.L80240A08: +/* A278D8 80240A08 3C118024 */ lui $s1, 0x8024 +/* A278DC 80240A0C 26313370 */ addiu $s1, $s1, 0x3370 +/* A278E0 80240A10 3C01428C */ lui $at, 0x428c +/* A278E4 80240A14 44810000 */ mtc1 $at, $f0 +/* A278E8 80240A18 3C058024 */ lui $a1, 0x8024 +/* A278EC 80240A1C 8CA51B54 */ lw $a1, 0x1b54($a1) +/* A278F0 80240A20 3C06442F */ lui $a2, 0x442f +/* A278F4 80240A24 3C108024 */ lui $s0, 0x8024 +/* A278F8 80240A28 26101B84 */ addiu $s0, $s0, 0x1b84 +/* A278FC 80240A2C AFB10014 */ sw $s1, 0x14($sp) +/* A27900 80240A30 E7A00010 */ swc1 $f0, 0x10($sp) +/* A27904 80240A34 C6000000 */ lwc1 $f0, ($s0) +/* A27908 80240A38 46800020 */ cvt.s.w $f0, $f0 +/* A2790C 80240A3C 44070000 */ mfc1 $a3, $f0 +/* A27910 80240A40 0C0901CD */ jal func_80240734 +/* A27914 80240A44 24040001 */ addiu $a0, $zero, 1 +/* A27918 80240A48 C6200000 */ lwc1 $f0, ($s1) +/* A2791C 80240A4C 8E020000 */ lw $v0, ($s0) +/* A27920 80240A50 24030001 */ addiu $v1, $zero, 1 +/* A27924 80240A54 A6430506 */ sh $v1, 0x506($s2) +/* A27928 80240A58 24420001 */ addiu $v0, $v0, 1 +/* A2792C 80240A5C E64004DC */ swc1 $f0, 0x4dc($s2) +/* A27930 80240A60 AE020000 */ sw $v0, ($s0) +/* A27934 80240A64 28420046 */ slti $v0, $v0, 0x46 +/* A27938 80240A68 8FBF0024 */ lw $ra, 0x24($sp) +/* A2793C 80240A6C 8FB20020 */ lw $s2, 0x20($sp) +/* A27940 80240A70 8FB1001C */ lw $s1, 0x1c($sp) +/* A27944 80240A74 8FB00018 */ lw $s0, 0x18($sp) +/* A27948 80240A78 38420001 */ xori $v0, $v0, 1 +/* A2794C 80240A7C 03E00008 */ jr $ra +/* A27950 80240A80 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240A84.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240A84.s new file mode 100644 index 0000000000..85ed5a5458 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240A84.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A84 +/* A27954 80240A84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A27958 80240A88 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2795C 80240A8C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A27960 80240A90 3C04800B */ lui $a0, %hi(gCameras) +/* A27964 80240A94 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A27968 80240A98 AFBF0024 */ sw $ra, 0x24($sp) +/* A2796C 80240A9C AFB20020 */ sw $s2, 0x20($sp) +/* A27970 80240AA0 AFB1001C */ sw $s1, 0x1c($sp) +/* A27974 80240AA4 AFB00018 */ sw $s0, 0x18($sp) +/* A27978 80240AA8 00031080 */ sll $v0, $v1, 2 +/* A2797C 80240AAC 00431021 */ addu $v0, $v0, $v1 +/* A27980 80240AB0 00021080 */ sll $v0, $v0, 2 +/* A27984 80240AB4 00431023 */ subu $v0, $v0, $v1 +/* A27988 80240AB8 000218C0 */ sll $v1, $v0, 3 +/* A2798C 80240ABC 00431021 */ addu $v0, $v0, $v1 +/* A27990 80240AC0 000210C0 */ sll $v0, $v0, 3 +/* A27994 80240AC4 10A00005 */ beqz $a1, .L80240ADC +/* A27998 80240AC8 00449021 */ addu $s2, $v0, $a0 +/* A2799C 80240ACC 3C018024 */ lui $at, 0x8024 +/* A279A0 80240AD0 C4201B74 */ lwc1 $f0, 0x1b74($at) +/* A279A4 80240AD4 3C018024 */ lui $at, 0x8024 +/* A279A8 80240AD8 E4203374 */ swc1 $f0, 0x3374($at) +.L80240ADC: +/* A279AC 80240ADC 3C118024 */ lui $s1, 0x8024 +/* A279B0 80240AE0 26313374 */ addiu $s1, $s1, 0x3374 +/* A279B4 80240AE4 3C014348 */ lui $at, 0x4348 +/* A279B8 80240AE8 44810000 */ mtc1 $at, $f0 +/* A279BC 80240AEC 3C058024 */ lui $a1, 0x8024 +/* A279C0 80240AF0 8CA51B74 */ lw $a1, 0x1b74($a1) +/* A279C4 80240AF4 3C06C2A0 */ lui $a2, 0xc2a0 +/* A279C8 80240AF8 3C108024 */ lui $s0, 0x8024 +/* A279CC 80240AFC 26101B88 */ addiu $s0, $s0, 0x1b88 +/* A279D0 80240B00 AFB10014 */ sw $s1, 0x14($sp) +/* A279D4 80240B04 E7A00010 */ swc1 $f0, 0x10($sp) +/* A279D8 80240B08 C6000000 */ lwc1 $f0, ($s0) +/* A279DC 80240B0C 46800020 */ cvt.s.w $f0, $f0 +/* A279E0 80240B10 44070000 */ mfc1 $a3, $f0 +/* A279E4 80240B14 0C0901CD */ jal func_80240734 +/* A279E8 80240B18 24040005 */ addiu $a0, $zero, 5 +/* A279EC 80240B1C C6200000 */ lwc1 $f0, ($s1) +/* A279F0 80240B20 8E020000 */ lw $v0, ($s0) +/* A279F4 80240B24 24030001 */ addiu $v1, $zero, 1 +/* A279F8 80240B28 A6430506 */ sh $v1, 0x506($s2) +/* A279FC 80240B2C 24420001 */ addiu $v0, $v0, 1 +/* A27A00 80240B30 E64004FC */ swc1 $f0, 0x4fc($s2) +/* A27A04 80240B34 AE020000 */ sw $v0, ($s0) +/* A27A08 80240B38 384200C8 */ xori $v0, $v0, 0xc8 +/* A27A0C 80240B3C 2C420001 */ sltiu $v0, $v0, 1 +/* A27A10 80240B40 8FBF0024 */ lw $ra, 0x24($sp) +/* A27A14 80240B44 8FB20020 */ lw $s2, 0x20($sp) +/* A27A18 80240B48 8FB1001C */ lw $s1, 0x1c($sp) +/* A27A1C 80240B4C 8FB00018 */ lw $s0, 0x18($sp) +/* A27A20 80240B50 00021040 */ sll $v0, $v0, 1 +/* A27A24 80240B54 03E00008 */ jr $ra +/* A27A28 80240B58 27BD0028 */ addiu $sp, $sp, 0x28 +/* A27A2C 80240B5C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240B60.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240B60.s new file mode 100644 index 0000000000..267df29798 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240B60.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B60 +/* A27A30 80240B60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A27A34 80240B64 AFB00010 */ sw $s0, 0x10($sp) +/* A27A38 80240B68 0080802D */ daddu $s0, $a0, $zero +/* A27A3C 80240B6C 10A00002 */ beqz $a1, .L80240B78 +/* A27A40 80240B70 AFBF0014 */ sw $ra, 0x14($sp) +/* A27A44 80240B74 AE000074 */ sw $zero, 0x74($s0) +.L80240B78: +/* A27A48 80240B78 8E020074 */ lw $v0, 0x74($s0) +/* A27A4C 80240B7C 24420010 */ addiu $v0, $v0, 0x10 +/* A27A50 80240B80 AE020074 */ sw $v0, 0x74($s0) +/* A27A54 80240B84 28420100 */ slti $v0, $v0, 0x100 +/* A27A58 80240B88 14400002 */ bnez $v0, .L80240B94 +/* A27A5C 80240B8C 240200FF */ addiu $v0, $zero, 0xff +/* A27A60 80240B90 AE020074 */ sw $v0, 0x74($s0) +.L80240B94: +/* A27A64 80240B94 C6000074 */ lwc1 $f0, 0x74($s0) +/* A27A68 80240B98 46800020 */ cvt.s.w $f0, $f0 +/* A27A6C 80240B9C 44050000 */ mfc1 $a1, $f0 +/* A27A70 80240BA0 0C04DF62 */ jal func_80137D88 +/* A27A74 80240BA4 0000202D */ daddu $a0, $zero, $zero +/* A27A78 80240BA8 8E020074 */ lw $v0, 0x74($s0) +/* A27A7C 80240BAC 8FBF0014 */ lw $ra, 0x14($sp) +/* A27A80 80240BB0 8FB00010 */ lw $s0, 0x10($sp) +/* A27A84 80240BB4 384200FF */ xori $v0, $v0, 0xff +/* A27A88 80240BB8 2C420001 */ sltiu $v0, $v0, 1 +/* A27A8C 80240BBC 00021040 */ sll $v0, $v0, 1 +/* A27A90 80240BC0 03E00008 */ jr $ra +/* A27A94 80240BC4 27BD0018 */ addiu $sp, $sp, 0x18 +/* A27A98 80240BC8 00000000 */ nop +/* A27A9C 80240BCC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240BD0_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240BD0_A26ED0.s new file mode 100644 index 0000000000..9334cf0cae --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240BD0_A26ED0.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD0_A27AA0 +/* A27AA0 80240BD0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A27AA4 80240BD4 3C038024 */ lui $v1, 0x8024 +/* A27AA8 80240BD8 24633258 */ addiu $v1, $v1, 0x3258 +/* A27AAC 80240BDC AFBF0034 */ sw $ra, 0x34($sp) +/* A27AB0 80240BE0 AFB20030 */ sw $s2, 0x30($sp) +/* A27AB4 80240BE4 AFB1002C */ sw $s1, 0x2c($sp) +/* A27AB8 80240BE8 AFB00028 */ sw $s0, 0x28($sp) +/* A27ABC 80240BEC 8C620000 */ lw $v0, ($v1) +/* A27AC0 80240BF0 14400007 */ bnez $v0, .L80240C10 +/* A27AC4 80240BF4 00000000 */ nop +/* A27AC8 80240BF8 3C028007 */ lui $v0, %hi(D_800779B0) +/* A27ACC 80240BFC 904279B0 */ lbu $v0, %lo(D_800779B0)($v0) +/* A27AD0 80240C00 00021080 */ sll $v0, $v0, 2 +/* A27AD4 80240C04 00441021 */ addu $v0, $v0, $a0 +/* A27AD8 80240C08 8C420000 */ lw $v0, ($v0) +/* A27ADC 80240C0C AC620000 */ sw $v0, ($v1) +.L80240C10: +/* A27AE0 80240C10 3C038024 */ lui $v1, 0x8024 +/* A27AE4 80240C14 8C633250 */ lw $v1, 0x3250($v1) +/* A27AE8 80240C18 2C620005 */ sltiu $v0, $v1, 5 +/* A27AEC 80240C1C 10400050 */ beqz $v0, .L80240D60 +/* A27AF0 80240C20 00031080 */ sll $v0, $v1, 2 +/* A27AF4 80240C24 3C018024 */ lui $at, 0x8024 +/* A27AF8 80240C28 00220821 */ addu $at, $at, $v0 +/* A27AFC 80240C2C 8C223358 */ lw $v0, 0x3358($at) +/* A27B00 80240C30 00400008 */ jr $v0 +/* A27B04 80240C34 00000000 */ nop +/* A27B08 80240C38 3C048024 */ lui $a0, 0x8024 +/* A27B0C 80240C3C 8C843258 */ lw $a0, 0x3258($a0) +/* A27B10 80240C40 8C830000 */ lw $v1, ($a0) +/* A27B14 80240C44 2402FFFF */ addiu $v0, $zero, -1 +/* A27B18 80240C48 14620004 */ bne $v1, $v0, .L80240C5C +/* A27B1C 80240C4C 24020004 */ addiu $v0, $zero, 4 +/* A27B20 80240C50 8C830004 */ lw $v1, 4($a0) +/* A27B24 80240C54 08090323 */ j .L80240C8C +/* A27B28 80240C58 00000000 */ nop +.L80240C5C: +/* A27B2C 80240C5C 3C038024 */ lui $v1, 0x8024 +/* A27B30 80240C60 24633254 */ addiu $v1, $v1, 0x3254 +/* A27B34 80240C64 8C620000 */ lw $v0, ($v1) +/* A27B38 80240C68 2442000A */ addiu $v0, $v0, 0xa +/* A27B3C 80240C6C AC620000 */ sw $v0, ($v1) +/* A27B40 80240C70 28420100 */ slti $v0, $v0, 0x100 +/* A27B44 80240C74 5440003B */ bnel $v0, $zero, .L80240D64 +/* A27B48 80240C78 24040001 */ addiu $a0, $zero, 1 +/* A27B4C 80240C7C 240200FF */ addiu $v0, $zero, 0xff +/* A27B50 80240C80 AC620000 */ sw $v0, ($v1) +/* A27B54 80240C84 8C830004 */ lw $v1, 4($a0) +/* A27B58 80240C88 24020001 */ addiu $v0, $zero, 1 +.L80240C8C: +/* A27B5C 80240C8C 3C018024 */ lui $at, 0x8024 +/* A27B60 80240C90 AC223250 */ sw $v0, 0x3250($at) +/* A27B64 80240C94 3C018024 */ lui $at, 0x8024 +/* A27B68 80240C98 AC233380 */ sw $v1, 0x3380($at) +/* A27B6C 80240C9C 08090359 */ j .L80240D64 +/* A27B70 80240CA0 24040001 */ addiu $a0, $zero, 1 +/* A27B74 80240CA4 3C038024 */ lui $v1, 0x8024 +/* A27B78 80240CA8 24633380 */ addiu $v1, $v1, 0x3380 +/* A27B7C 80240CAC 8C620000 */ lw $v0, ($v1) +/* A27B80 80240CB0 1440001B */ bnez $v0, .L80240D20 +/* A27B84 80240CB4 2442FFFF */ addiu $v0, $v0, -1 +/* A27B88 80240CB8 24020002 */ addiu $v0, $zero, 2 +/* A27B8C 80240CBC 3C018024 */ lui $at, 0x8024 +/* A27B90 80240CC0 AC223250 */ sw $v0, 0x3250($at) +/* A27B94 80240CC4 08090359 */ j .L80240D64 +/* A27B98 80240CC8 24040001 */ addiu $a0, $zero, 1 +/* A27B9C 80240CCC 3C048024 */ lui $a0, 0x8024 +/* A27BA0 80240CD0 24843254 */ addiu $a0, $a0, 0x3254 +/* A27BA4 80240CD4 8C820000 */ lw $v0, ($a0) +/* A27BA8 80240CD8 2442FFF6 */ addiu $v0, $v0, -0xa +/* A27BAC 80240CDC 04410020 */ bgez $v0, .L80240D60 +/* A27BB0 80240CE0 AC820000 */ sw $v0, ($a0) +/* A27BB4 80240CE4 3C028024 */ lui $v0, 0x8024 +/* A27BB8 80240CE8 24423258 */ addiu $v0, $v0, 0x3258 +/* A27BBC 80240CEC 8C430000 */ lw $v1, ($v0) +/* A27BC0 80240CF0 AC800000 */ sw $zero, ($a0) +/* A27BC4 80240CF4 8C640008 */ lw $a0, 8($v1) +/* A27BC8 80240CF8 24630008 */ addiu $v1, $v1, 8 +/* A27BCC 80240CFC 10800011 */ beqz $a0, .L80240D44 +/* A27BD0 80240D00 AC430000 */ sw $v1, ($v0) +/* A27BD4 80240D04 08090356 */ j .L80240D58 +/* A27BD8 80240D08 00000000 */ nop +/* A27BDC 80240D0C 3C038024 */ lui $v1, 0x8024 +/* A27BE0 80240D10 24633380 */ addiu $v1, $v1, 0x3380 +/* A27BE4 80240D14 8C620000 */ lw $v0, ($v1) +/* A27BE8 80240D18 10400003 */ beqz $v0, .L80240D28 +/* A27BEC 80240D1C 2442FFFF */ addiu $v0, $v0, -1 +.L80240D20: +/* A27BF0 80240D20 08090358 */ j .L80240D60 +/* A27BF4 80240D24 AC620000 */ sw $v0, ($v1) +.L80240D28: +/* A27BF8 80240D28 3C028024 */ lui $v0, 0x8024 +/* A27BFC 80240D2C 24423258 */ addiu $v0, $v0, 0x3258 +/* A27C00 80240D30 8C430000 */ lw $v1, ($v0) +/* A27C04 80240D34 8C640008 */ lw $a0, 8($v1) +/* A27C08 80240D38 24630008 */ addiu $v1, $v1, 8 +/* A27C0C 80240D3C 14800006 */ bnez $a0, .L80240D58 +/* A27C10 80240D40 AC430000 */ sw $v1, ($v0) +.L80240D44: +/* A27C14 80240D44 24020003 */ addiu $v0, $zero, 3 +/* A27C18 80240D48 3C018024 */ lui $at, 0x8024 +/* A27C1C 80240D4C AC223250 */ sw $v0, 0x3250($at) +/* A27C20 80240D50 08090359 */ j .L80240D64 +/* A27C24 80240D54 24040001 */ addiu $a0, $zero, 1 +.L80240D58: +/* A27C28 80240D58 3C018024 */ lui $at, 0x8024 +/* A27C2C 80240D5C AC203250 */ sw $zero, 0x3250($at) +.L80240D60: +/* A27C30 80240D60 24040001 */ addiu $a0, $zero, 1 +.L80240D64: +/* A27C34 80240D64 27B00018 */ addiu $s0, $sp, 0x18 +/* A27C38 80240D68 0200282D */ daddu $a1, $s0, $zero +/* A27C3C 80240D6C 0C04DF70 */ jal func_80137DC0 +/* A27C40 80240D70 27A6001C */ addiu $a2, $sp, 0x1c +/* A27C44 80240D74 0000202D */ daddu $a0, $zero, $zero +/* A27C48 80240D78 0200282D */ daddu $a1, $s0, $zero +/* A27C4C 80240D7C 0C04DF70 */ jal func_80137DC0 +/* A27C50 80240D80 27A60020 */ addiu $a2, $sp, 0x20 +/* A27C54 80240D84 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A27C58 80240D88 3C01437F */ lui $at, 0x437f +/* A27C5C 80240D8C 44812000 */ mtc1 $at, $f4 +/* A27C60 80240D90 00000000 */ nop +/* A27C64 80240D94 46022081 */ sub.s $f2, $f4, $f2 +/* A27C68 80240D98 3C018024 */ lui $at, 0x8024 +/* A27C6C 80240D9C C4203254 */ lwc1 $f0, 0x3254($at) +/* A27C70 80240DA0 46800020 */ cvt.s.w $f0, $f0 +/* A27C74 80240DA4 46020002 */ mul.s $f0, $f0, $f2 +/* A27C78 80240DA8 00000000 */ nop +/* A27C7C 80240DAC C7A20020 */ lwc1 $f2, 0x20($sp) +/* A27C80 80240DB0 46022081 */ sub.s $f2, $f4, $f2 +/* A27C84 80240DB4 46020002 */ mul.s $f0, $f0, $f2 +/* A27C88 80240DB8 00000000 */ nop +/* A27C8C 80240DBC 46040003 */ div.s $f0, $f0, $f4 +/* A27C90 80240DC0 46040003 */ div.s $f0, $f0, $f4 +/* A27C94 80240DC4 4600018D */ trunc.w.s $f6, $f0 +/* A27C98 80240DC8 44113000 */ mfc1 $s1, $f6 +/* A27C9C 80240DCC 00000000 */ nop +/* A27CA0 80240DD0 1A200015 */ blez $s1, .L80240E28 +/* A27CA4 80240DD4 00000000 */ nop +/* A27CA8 80240DD8 3C128024 */ lui $s2, 0x8024 +/* A27CAC 80240DDC 26523258 */ addiu $s2, $s2, 0x3258 +/* A27CB0 80240DE0 8E420000 */ lw $v0, ($s2) +/* A27CB4 80240DE4 8C440000 */ lw $a0, ($v0) +/* A27CB8 80240DE8 1080000F */ beqz $a0, .L80240E28 +/* A27CBC 80240DEC 00000000 */ nop +/* A27CC0 80240DF0 0C04992C */ jal func_801264B0 +/* A27CC4 80240DF4 0000802D */ daddu $s0, $zero, $zero +/* A27CC8 80240DF8 28420002 */ slti $v0, $v0, 2 +/* A27CCC 80240DFC 50400001 */ beql $v0, $zero, .L80240E04 +/* A27CD0 80240E00 2410FFF9 */ addiu $s0, $zero, -7 +.L80240E04: +/* A27CD4 80240E04 0000282D */ daddu $a1, $zero, $zero +/* A27CD8 80240E08 260600C4 */ addiu $a2, $s0, 0xc4 +/* A27CDC 80240E0C 8E430000 */ lw $v1, ($s2) +/* A27CE0 80240E10 2402FFFF */ addiu $v0, $zero, -1 +/* A27CE4 80240E14 AFA20010 */ sw $v0, 0x10($sp) +/* A27CE8 80240E18 AFA00014 */ sw $zero, 0x14($sp) +/* A27CEC 80240E1C 8C640000 */ lw $a0, ($v1) +/* A27CF0 80240E20 0C04993B */ jal draw_string +/* A27CF4 80240E24 0220382D */ daddu $a3, $s1, $zero +.L80240E28: +/* A27CF8 80240E28 8FBF0034 */ lw $ra, 0x34($sp) +/* A27CFC 80240E2C 8FB20030 */ lw $s2, 0x30($sp) +/* A27D00 80240E30 8FB1002C */ lw $s1, 0x2c($sp) +/* A27D04 80240E34 8FB00028 */ lw $s0, 0x28($sp) +/* A27D08 80240E38 03E00008 */ jr $ra +/* A27D0C 80240E3C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240E40.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240E40.s new file mode 100644 index 0000000000..2833daa0f0 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240E40.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E40 +/* A27D10 80240E40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A27D14 80240E44 AFBF0010 */ sw $ra, 0x10($sp) +/* A27D18 80240E48 8C82000C */ lw $v0, 0xc($a0) +/* A27D1C 80240E4C 0C0B1EAF */ jal get_variable +/* A27D20 80240E50 8C450000 */ lw $a1, ($v0) +/* A27D24 80240E54 0C00AFC1 */ jal set_curtain_draw_callback +/* A27D28 80240E58 0040202D */ daddu $a0, $v0, $zero +/* A27D2C 80240E5C 8FBF0010 */ lw $ra, 0x10($sp) +/* A27D30 80240E60 24020002 */ addiu $v0, $zero, 2 +/* A27D34 80240E64 03E00008 */ jr $ra +/* A27D38 80240E68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_04/func_80240E6C_A26ED0.s b/asm/nonmatchings/world/area_hos/hos_04/func_80240E6C_A26ED0.s new file mode 100644 index 0000000000..cdde7110d3 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_04/func_80240E6C_A26ED0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E6C_A27D3C +/* A27D3C 80240E6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A27D40 80240E70 3C048024 */ lui $a0, 0x8024 +/* A27D44 80240E74 24843284 */ addiu $a0, $a0, 0x3284 +/* A27D48 80240E78 AFBF0010 */ sw $ra, 0x10($sp) +/* A27D4C 80240E7C 0C0902F4 */ jal func_80240BD0 +/* A27D50 80240E80 00000000 */ nop +/* A27D54 80240E84 8FBF0010 */ lw $ra, 0x10($sp) +/* A27D58 80240E88 03E00008 */ jr $ra +/* A27D5C 80240E8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240000_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240000_A2A240.s new file mode 100644 index 0000000000..ed2604a37c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240000_A2A240.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A2A240 +/* A2A240 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2A244 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* A2A248 80240008 0080882D */ daddu $s1, $a0, $zero +/* A2A24C 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* A2A250 80240010 AFB20018 */ sw $s2, 0x18($sp) +/* A2A254 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* A2A258 80240018 8E30000C */ lw $s0, 0xc($s1) +/* A2A25C 8024001C 8E050000 */ lw $a1, ($s0) +/* A2A260 80240020 0C0B1EAF */ jal get_variable +/* A2A264 80240024 26100004 */ addiu $s0, $s0, 4 +/* A2A268 80240028 8E050000 */ lw $a1, ($s0) +/* A2A26C 8024002C 26100004 */ addiu $s0, $s0, 4 +/* A2A270 80240030 0220202D */ daddu $a0, $s1, $zero +/* A2A274 80240034 0C0B1EAF */ jal get_variable +/* A2A278 80240038 0040902D */ daddu $s2, $v0, $zero +/* A2A27C 8024003C 0220202D */ daddu $a0, $s1, $zero +/* A2A280 80240040 8E050000 */ lw $a1, ($s0) +/* A2A284 80240044 0C0B1EAF */ jal get_variable +/* A2A288 80240048 0040802D */ daddu $s0, $v0, $zero +/* A2A28C 8024004C 0040882D */ daddu $s1, $v0, $zero +/* A2A290 80240050 2402FFFF */ addiu $v0, $zero, -1 +/* A2A294 80240054 16020005 */ bne $s0, $v0, .L8024006C +/* A2A298 80240058 24020001 */ addiu $v0, $zero, 1 +/* A2A29C 8024005C 0C04760B */ jal func_8011D82C +/* A2A2A0 80240060 0220202D */ daddu $a0, $s1, $zero +/* A2A2A4 80240064 08090043 */ j .L8024010C +/* A2A2A8 80240068 24020002 */ addiu $v0, $zero, 2 +.L8024006C: +/* A2A2AC 8024006C 12420018 */ beq $s2, $v0, .L802400D0 +/* A2A2B0 80240070 2A420002 */ slti $v0, $s2, 2 +/* A2A2B4 80240074 10400005 */ beqz $v0, .L8024008C +/* A2A2B8 80240078 24020002 */ addiu $v0, $zero, 2 +/* A2A2BC 8024007C 12400007 */ beqz $s2, .L8024009C +/* A2A2C0 80240080 3412FFFF */ ori $s2, $zero, 0xffff +/* A2A2C4 80240084 08090043 */ j .L8024010C +/* A2A2C8 80240088 00000000 */ nop +.L8024008C: +/* A2A2CC 8024008C 1242001B */ beq $s2, $v0, .L802400FC +/* A2A2D0 80240090 24020002 */ addiu $v0, $zero, 2 +/* A2A2D4 80240094 08090043 */ j .L8024010C +/* A2A2D8 80240098 00000000 */ nop +.L8024009C: +/* A2A2DC 8024009C 8E040000 */ lw $a0, ($s0) +/* A2A2E0 802400A0 1092001A */ beq $a0, $s2, .L8024010C +/* A2A2E4 802400A4 24020002 */ addiu $v0, $zero, 2 +/* A2A2E8 802400A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* A2A2EC 802400AC 26100004 */ addiu $s0, $s0, 4 +/* A2A2F0 802400B0 0C046B4C */ jal get_model_from_list_index +/* A2A2F4 802400B4 0040202D */ daddu $a0, $v0, $zero +/* A2A2F8 802400B8 0040202D */ daddu $a0, $v0, $zero +/* A2A2FC 802400BC 2405FFFF */ addiu $a1, $zero, -1 +/* A2A300 802400C0 0C046F1F */ jal func_8011BC7C +/* A2A304 802400C4 0220302D */ daddu $a2, $s1, $zero +/* A2A308 802400C8 08090027 */ j .L8024009C +/* A2A30C 802400CC 00000000 */ nop +.L802400D0: +/* A2A310 802400D0 3412FFFF */ ori $s2, $zero, 0xffff +.L802400D4: +/* A2A314 802400D4 8E020000 */ lw $v0, ($s0) +/* A2A318 802400D8 1052000B */ beq $v0, $s2, .L80240108 +/* A2A31C 802400DC 2405FFFF */ addiu $a1, $zero, -1 +/* A2A320 802400E0 96040002 */ lhu $a0, 2($s0) +/* A2A324 802400E4 0220302D */ daddu $a2, $s1, $zero +/* A2A328 802400E8 26100004 */ addiu $s0, $s0, 4 +/* A2A32C 802400EC 0C046E54 */ jal func_8011B950 +/* A2A330 802400F0 0000382D */ daddu $a3, $zero, $zero +/* A2A334 802400F4 08090035 */ j .L802400D4 +/* A2A338 802400F8 00000000 */ nop +.L802400FC: +/* A2A33C 802400FC 3C028015 */ lui $v0, 0x8015 +/* A2A340 80240100 8C4212F0 */ lw $v0, 0x12f0($v0) +/* A2A344 80240104 A0510000 */ sb $s1, ($v0) +.L80240108: +/* A2A348 80240108 24020002 */ addiu $v0, $zero, 2 +.L8024010C: +/* A2A34C 8024010C 8FBF001C */ lw $ra, 0x1c($sp) +/* A2A350 80240110 8FB20018 */ lw $s2, 0x18($sp) +/* A2A354 80240114 8FB10014 */ lw $s1, 0x14($sp) +/* A2A358 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* A2A35C 8024011C 03E00008 */ jr $ra +/* A2A360 80240120 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240124_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240124_A2A240.s new file mode 100644 index 0000000000..bd24af57d4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240124_A2A240.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A2A364 +/* A2A364 80240124 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A2A368 80240128 AFB10034 */ sw $s1, 0x34($sp) +/* A2A36C 8024012C 0080882D */ daddu $s1, $a0, $zero +/* A2A370 80240130 AFBF0054 */ sw $ra, 0x54($sp) +/* A2A374 80240134 AFBE0050 */ sw $fp, 0x50($sp) +/* A2A378 80240138 AFB7004C */ sw $s7, 0x4c($sp) +/* A2A37C 8024013C AFB60048 */ sw $s6, 0x48($sp) +/* A2A380 80240140 AFB50044 */ sw $s5, 0x44($sp) +/* A2A384 80240144 AFB40040 */ sw $s4, 0x40($sp) +/* A2A388 80240148 AFB3003C */ sw $s3, 0x3c($sp) +/* A2A38C 8024014C AFB20038 */ sw $s2, 0x38($sp) +/* A2A390 80240150 AFB00030 */ sw $s0, 0x30($sp) +/* A2A394 80240154 8E30000C */ lw $s0, 0xc($s1) +/* A2A398 80240158 8E050000 */ lw $a1, ($s0) +/* A2A39C 8024015C 0C0B1EAF */ jal get_variable +/* A2A3A0 80240160 26100004 */ addiu $s0, $s0, 4 +/* A2A3A4 80240164 8E050000 */ lw $a1, ($s0) +/* A2A3A8 80240168 26100004 */ addiu $s0, $s0, 4 +/* A2A3AC 8024016C 0220202D */ daddu $a0, $s1, $zero +/* A2A3B0 80240170 0C0B1EAF */ jal get_variable +/* A2A3B4 80240174 0040982D */ daddu $s3, $v0, $zero +/* A2A3B8 80240178 8E050000 */ lw $a1, ($s0) +/* A2A3BC 8024017C 26100004 */ addiu $s0, $s0, 4 +/* A2A3C0 80240180 0220202D */ daddu $a0, $s1, $zero +/* A2A3C4 80240184 0C0B1EAF */ jal get_variable +/* A2A3C8 80240188 0040B02D */ daddu $s6, $v0, $zero +/* A2A3CC 8024018C 8E050000 */ lw $a1, ($s0) +/* A2A3D0 80240190 26100004 */ addiu $s0, $s0, 4 +/* A2A3D4 80240194 0220202D */ daddu $a0, $s1, $zero +/* A2A3D8 80240198 0C0B1EAF */ jal get_variable +/* A2A3DC 8024019C 0040A82D */ daddu $s5, $v0, $zero +/* A2A3E0 802401A0 8E050000 */ lw $a1, ($s0) +/* A2A3E4 802401A4 26100004 */ addiu $s0, $s0, 4 +/* A2A3E8 802401A8 0220202D */ daddu $a0, $s1, $zero +/* A2A3EC 802401AC 0C0B1EAF */ jal get_variable +/* A2A3F0 802401B0 0040A02D */ daddu $s4, $v0, $zero +/* A2A3F4 802401B4 8E050000 */ lw $a1, ($s0) +/* A2A3F8 802401B8 26100004 */ addiu $s0, $s0, 4 +/* A2A3FC 802401BC 0220202D */ daddu $a0, $s1, $zero +/* A2A400 802401C0 0C0B1EAF */ jal get_variable +/* A2A404 802401C4 0040902D */ daddu $s2, $v0, $zero +/* A2A408 802401C8 8E050000 */ lw $a1, ($s0) +/* A2A40C 802401CC 26100004 */ addiu $s0, $s0, 4 +/* A2A410 802401D0 0220202D */ daddu $a0, $s1, $zero +/* A2A414 802401D4 0C0B1EAF */ jal get_variable +/* A2A418 802401D8 AFA20028 */ sw $v0, 0x28($sp) +/* A2A41C 802401DC 8E050000 */ lw $a1, ($s0) +/* A2A420 802401E0 26100004 */ addiu $s0, $s0, 4 +/* A2A424 802401E4 0220202D */ daddu $a0, $s1, $zero +/* A2A428 802401E8 0C0B1EAF */ jal get_variable +/* A2A42C 802401EC 0040F02D */ daddu $fp, $v0, $zero +/* A2A430 802401F0 8E050000 */ lw $a1, ($s0) +/* A2A434 802401F4 26100004 */ addiu $s0, $s0, 4 +/* A2A438 802401F8 0220202D */ daddu $a0, $s1, $zero +/* A2A43C 802401FC 0C0B1EAF */ jal get_variable +/* A2A440 80240200 0040B82D */ daddu $s7, $v0, $zero +/* A2A444 80240204 0220202D */ daddu $a0, $s1, $zero +/* A2A448 80240208 8E050000 */ lw $a1, ($s0) +/* A2A44C 8024020C 0C0B1EAF */ jal get_variable +/* A2A450 80240210 0040802D */ daddu $s0, $v0, $zero +/* A2A454 80240214 0040182D */ daddu $v1, $v0, $zero +/* A2A458 80240218 24020002 */ addiu $v0, $zero, 2 +/* A2A45C 8024021C 12620012 */ beq $s3, $v0, .L80240268 +/* A2A460 80240220 2A620003 */ slti $v0, $s3, 3 +/* A2A464 80240224 10400005 */ beqz $v0, .L8024023C +/* A2A468 80240228 24020001 */ addiu $v0, $zero, 1 +/* A2A46C 8024022C 12620008 */ beq $s3, $v0, .L80240250 +/* A2A470 80240230 32C400FF */ andi $a0, $s6, 0xff +/* A2A474 80240234 080900B1 */ j .L802402C4 +/* A2A478 80240238 00000000 */ nop +.L8024023C: +/* A2A47C 8024023C 24020003 */ addiu $v0, $zero, 3 +/* A2A480 80240240 12620018 */ beq $s3, $v0, .L802402A4 +/* A2A484 80240244 32C400FF */ andi $a0, $s6, 0xff +/* A2A488 80240248 080900B1 */ j .L802402C4 +/* A2A48C 8024024C 00000000 */ nop +.L80240250: +/* A2A490 80240250 32A500FF */ andi $a1, $s5, 0xff +/* A2A494 80240254 328600FF */ andi $a2, $s4, 0xff +/* A2A498 80240258 0C046F97 */ jal set_background_color_blend +/* A2A49C 8024025C 324700FF */ andi $a3, $s2, 0xff +/* A2A4A0 80240260 080900B1 */ j .L802402C4 +/* A2A4A4 80240264 00000000 */ nop +.L80240268: +/* A2A4A8 80240268 32C400FF */ andi $a0, $s6, 0xff +/* A2A4AC 8024026C 32A500FF */ andi $a1, $s5, 0xff +/* A2A4B0 80240270 328600FF */ andi $a2, $s4, 0xff +/* A2A4B4 80240274 324700FF */ andi $a3, $s2, 0xff +/* A2A4B8 80240278 93A2002B */ lbu $v0, 0x2b($sp) +/* A2A4BC 8024027C AFB0001C */ sw $s0, 0x1c($sp) +/* A2A4C0 80240280 AFA30020 */ sw $v1, 0x20($sp) +/* A2A4C4 80240284 AFA20010 */ sw $v0, 0x10($sp) +/* A2A4C8 80240288 33C200FF */ andi $v0, $fp, 0xff +/* A2A4CC 8024028C AFA20014 */ sw $v0, 0x14($sp) +/* A2A4D0 80240290 32E200FF */ andi $v0, $s7, 0xff +/* A2A4D4 80240294 0C046FAD */ jal func_8011BEB4 +/* A2A4D8 80240298 AFA20018 */ sw $v0, 0x18($sp) +/* A2A4DC 8024029C 080900B1 */ j .L802402C4 +/* A2A4E0 802402A0 00000000 */ nop +.L802402A4: +/* A2A4E4 802402A4 32A500FF */ andi $a1, $s5, 0xff +/* A2A4E8 802402A8 328600FF */ andi $a2, $s4, 0xff +/* A2A4EC 802402AC 324700FF */ andi $a3, $s2, 0xff +/* A2A4F0 802402B0 93A2002B */ lbu $v0, 0x2b($sp) +/* A2A4F4 802402B4 AFA20010 */ sw $v0, 0x10($sp) +/* A2A4F8 802402B8 33C200FF */ andi $v0, $fp, 0xff +/* A2A4FC 802402BC 0C046FE6 */ jal func_8011BF98 +/* A2A500 802402C0 AFA20014 */ sw $v0, 0x14($sp) +.L802402C4: +/* A2A504 802402C4 8FBF0054 */ lw $ra, 0x54($sp) +/* A2A508 802402C8 8FBE0050 */ lw $fp, 0x50($sp) +/* A2A50C 802402CC 8FB7004C */ lw $s7, 0x4c($sp) +/* A2A510 802402D0 8FB60048 */ lw $s6, 0x48($sp) +/* A2A514 802402D4 8FB50044 */ lw $s5, 0x44($sp) +/* A2A518 802402D8 8FB40040 */ lw $s4, 0x40($sp) +/* A2A51C 802402DC 8FB3003C */ lw $s3, 0x3c($sp) +/* A2A520 802402E0 8FB20038 */ lw $s2, 0x38($sp) +/* A2A524 802402E4 8FB10034 */ lw $s1, 0x34($sp) +/* A2A528 802402E8 8FB00030 */ lw $s0, 0x30($sp) +/* A2A52C 802402EC 24020002 */ addiu $v0, $zero, 2 +/* A2A530 802402F0 03E00008 */ jr $ra +/* A2A534 802402F4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802402F8.s b/asm/nonmatchings/world/area_hos/hos_05/func_802402F8.s new file mode 100644 index 0000000000..ea78d94343 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802402F8.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F8 +/* A2A538 802402F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2A53C 802402FC AFB00010 */ sw $s0, 0x10($sp) +/* A2A540 80240300 0080802D */ daddu $s0, $a0, $zero +/* A2A544 80240304 AFBF0014 */ sw $ra, 0x14($sp) +/* A2A548 80240308 8E0300A8 */ lw $v1, 0xa8($s0) +/* A2A54C 8024030C 8E020088 */ lw $v0, 0x88($s0) +/* A2A550 80240310 00621821 */ addu $v1, $v1, $v0 +/* A2A554 80240314 04610004 */ bgez $v1, .L80240328 +/* A2A558 80240318 AE0300A8 */ sw $v1, 0xa8($s0) +/* A2A55C 8024031C 3C020002 */ lui $v0, 2 +/* A2A560 80240320 080900CE */ j .L80240338 +/* A2A564 80240324 00621021 */ addu $v0, $v1, $v0 +.L80240328: +/* A2A568 80240328 3C040002 */ lui $a0, 2 +/* A2A56C 8024032C 0083102A */ slt $v0, $a0, $v1 +/* A2A570 80240330 10400002 */ beqz $v0, .L8024033C +/* A2A574 80240334 00641023 */ subu $v0, $v1, $a0 +.L80240338: +/* A2A578 80240338 AE0200A8 */ sw $v0, 0xa8($s0) +.L8024033C: +/* A2A57C 8024033C 8E0300AC */ lw $v1, 0xac($s0) +/* A2A580 80240340 8E02008C */ lw $v0, 0x8c($s0) +/* A2A584 80240344 00621821 */ addu $v1, $v1, $v0 +/* A2A588 80240348 04610004 */ bgez $v1, .L8024035C +/* A2A58C 8024034C AE0300AC */ sw $v1, 0xac($s0) +/* A2A590 80240350 3C020002 */ lui $v0, 2 +/* A2A594 80240354 080900DB */ j .L8024036C +/* A2A598 80240358 00621021 */ addu $v0, $v1, $v0 +.L8024035C: +/* A2A59C 8024035C 3C040002 */ lui $a0, 2 +/* A2A5A0 80240360 0083102A */ slt $v0, $a0, $v1 +/* A2A5A4 80240364 10400002 */ beqz $v0, .L80240370 +/* A2A5A8 80240368 00641023 */ subu $v0, $v1, $a0 +.L8024036C: +/* A2A5AC 8024036C AE0200AC */ sw $v0, 0xac($s0) +.L80240370: +/* A2A5B0 80240370 8E0300B0 */ lw $v1, 0xb0($s0) +/* A2A5B4 80240374 8E020090 */ lw $v0, 0x90($s0) +/* A2A5B8 80240378 00621821 */ addu $v1, $v1, $v0 +/* A2A5BC 8024037C 04610004 */ bgez $v1, .L80240390 +/* A2A5C0 80240380 AE0300B0 */ sw $v1, 0xb0($s0) +/* A2A5C4 80240384 3C020002 */ lui $v0, 2 +/* A2A5C8 80240388 080900E8 */ j .L802403A0 +/* A2A5CC 8024038C 00621021 */ addu $v0, $v1, $v0 +.L80240390: +/* A2A5D0 80240390 3C040002 */ lui $a0, 2 +/* A2A5D4 80240394 0083102A */ slt $v0, $a0, $v1 +/* A2A5D8 80240398 10400002 */ beqz $v0, .L802403A4 +/* A2A5DC 8024039C 00641023 */ subu $v0, $v1, $a0 +.L802403A0: +/* A2A5E0 802403A0 AE0200B0 */ sw $v0, 0xb0($s0) +.L802403A4: +/* A2A5E4 802403A4 8E0300B4 */ lw $v1, 0xb4($s0) +/* A2A5E8 802403A8 8E020094 */ lw $v0, 0x94($s0) +/* A2A5EC 802403AC 00621821 */ addu $v1, $v1, $v0 +/* A2A5F0 802403B0 04610004 */ bgez $v1, .L802403C4 +/* A2A5F4 802403B4 AE0300B4 */ sw $v1, 0xb4($s0) +/* A2A5F8 802403B8 3C020002 */ lui $v0, 2 +/* A2A5FC 802403BC 080900F5 */ j .L802403D4 +/* A2A600 802403C0 00621021 */ addu $v0, $v1, $v0 +.L802403C4: +/* A2A604 802403C4 3C040002 */ lui $a0, 2 +/* A2A608 802403C8 0083102A */ slt $v0, $a0, $v1 +/* A2A60C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* A2A610 802403D0 00641023 */ subu $v0, $v1, $a0 +.L802403D4: +/* A2A614 802403D4 AE0200B4 */ sw $v0, 0xb4($s0) +.L802403D8: +/* A2A618 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* A2A61C 802403DC 0C046F07 */ jal set_main_pan_u +/* A2A620 802403E0 8E0500A8 */ lw $a1, 0xa8($s0) +/* A2A624 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* A2A628 802403E8 0C046F0D */ jal set_main_pan_v +/* A2A62C 802403EC 8E0500AC */ lw $a1, 0xac($s0) +/* A2A630 802403F0 8E040084 */ lw $a0, 0x84($s0) +/* A2A634 802403F4 0C046F13 */ jal set_aux_pan_u +/* A2A638 802403F8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A2A63C 802403FC 8E040084 */ lw $a0, 0x84($s0) +/* A2A640 80240400 0C046F19 */ jal set_aux_pan_v +/* A2A644 80240404 8E0500B4 */ lw $a1, 0xb4($s0) +/* A2A648 80240408 8FBF0014 */ lw $ra, 0x14($sp) +/* A2A64C 8024040C 8FB00010 */ lw $s0, 0x10($sp) +/* A2A650 80240410 0000102D */ daddu $v0, $zero, $zero +/* A2A654 80240414 03E00008 */ jr $ra +/* A2A658 80240418 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024041C_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024041C_A2A240.s new file mode 100644 index 0000000000..d16cdd1b9f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024041C_A2A240.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_A2A65C +/* A2A65C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2A660 80240420 AFB00010 */ sw $s0, 0x10($sp) +/* A2A664 80240424 0080802D */ daddu $s0, $a0, $zero +/* A2A668 80240428 10A00005 */ beqz $a1, .L80240440 +/* A2A66C 8024042C AFBF0014 */ sw $ra, 0x14($sp) +/* A2A670 80240430 AE000070 */ sw $zero, 0x70($s0) +/* A2A674 80240434 AE000074 */ sw $zero, 0x74($s0) +/* A2A678 80240438 AE000078 */ sw $zero, 0x78($s0) +/* A2A67C 8024043C AE00007C */ sw $zero, 0x7c($s0) +.L80240440: +/* A2A680 80240440 8E020070 */ lw $v0, 0x70($s0) +/* A2A684 80240444 1440000E */ bnez $v0, .L80240480 +/* A2A688 80240448 00000000 */ nop +/* A2A68C 8024044C 8E0300A8 */ lw $v1, 0xa8($s0) +/* A2A690 80240450 8E020088 */ lw $v0, 0x88($s0) +/* A2A694 80240454 00621821 */ addu $v1, $v1, $v0 +/* A2A698 80240458 04610004 */ bgez $v1, .L8024046C +/* A2A69C 8024045C AE0300A8 */ sw $v1, 0xa8($s0) +/* A2A6A0 80240460 3C020002 */ lui $v0, 2 +/* A2A6A4 80240464 0809011F */ j .L8024047C +/* A2A6A8 80240468 00621021 */ addu $v0, $v1, $v0 +.L8024046C: +/* A2A6AC 8024046C 3C040002 */ lui $a0, 2 +/* A2A6B0 80240470 0083102A */ slt $v0, $a0, $v1 +/* A2A6B4 80240474 10400002 */ beqz $v0, .L80240480 +/* A2A6B8 80240478 00641023 */ subu $v0, $v1, $a0 +.L8024047C: +/* A2A6BC 8024047C AE0200A8 */ sw $v0, 0xa8($s0) +.L80240480: +/* A2A6C0 80240480 8E020074 */ lw $v0, 0x74($s0) +/* A2A6C4 80240484 1440000E */ bnez $v0, .L802404C0 +/* A2A6C8 80240488 00000000 */ nop +/* A2A6CC 8024048C 8E0300AC */ lw $v1, 0xac($s0) +/* A2A6D0 80240490 8E02008C */ lw $v0, 0x8c($s0) +/* A2A6D4 80240494 00621821 */ addu $v1, $v1, $v0 +/* A2A6D8 80240498 04610004 */ bgez $v1, .L802404AC +/* A2A6DC 8024049C AE0300AC */ sw $v1, 0xac($s0) +/* A2A6E0 802404A0 3C020002 */ lui $v0, 2 +/* A2A6E4 802404A4 0809012F */ j .L802404BC +/* A2A6E8 802404A8 00621021 */ addu $v0, $v1, $v0 +.L802404AC: +/* A2A6EC 802404AC 3C040002 */ lui $a0, 2 +/* A2A6F0 802404B0 0083102A */ slt $v0, $a0, $v1 +/* A2A6F4 802404B4 10400002 */ beqz $v0, .L802404C0 +/* A2A6F8 802404B8 00641023 */ subu $v0, $v1, $a0 +.L802404BC: +/* A2A6FC 802404BC AE0200AC */ sw $v0, 0xac($s0) +.L802404C0: +/* A2A700 802404C0 8E020078 */ lw $v0, 0x78($s0) +/* A2A704 802404C4 1440000E */ bnez $v0, .L80240500 +/* A2A708 802404C8 00000000 */ nop +/* A2A70C 802404CC 8E0300B0 */ lw $v1, 0xb0($s0) +/* A2A710 802404D0 8E020090 */ lw $v0, 0x90($s0) +/* A2A714 802404D4 00621821 */ addu $v1, $v1, $v0 +/* A2A718 802404D8 04610004 */ bgez $v1, .L802404EC +/* A2A71C 802404DC AE0300B0 */ sw $v1, 0xb0($s0) +/* A2A720 802404E0 3C020002 */ lui $v0, 2 +/* A2A724 802404E4 0809013F */ j .L802404FC +/* A2A728 802404E8 00621021 */ addu $v0, $v1, $v0 +.L802404EC: +/* A2A72C 802404EC 3C040002 */ lui $a0, 2 +/* A2A730 802404F0 0083102A */ slt $v0, $a0, $v1 +/* A2A734 802404F4 10400002 */ beqz $v0, .L80240500 +/* A2A738 802404F8 00641023 */ subu $v0, $v1, $a0 +.L802404FC: +/* A2A73C 802404FC AE0200B0 */ sw $v0, 0xb0($s0) +.L80240500: +/* A2A740 80240500 8E02007C */ lw $v0, 0x7c($s0) +/* A2A744 80240504 1440000E */ bnez $v0, .L80240540 +/* A2A748 80240508 00000000 */ nop +/* A2A74C 8024050C 8E0300B4 */ lw $v1, 0xb4($s0) +/* A2A750 80240510 8E020094 */ lw $v0, 0x94($s0) +/* A2A754 80240514 00621821 */ addu $v1, $v1, $v0 +/* A2A758 80240518 04610004 */ bgez $v1, .L8024052C +/* A2A75C 8024051C AE0300B4 */ sw $v1, 0xb4($s0) +/* A2A760 80240520 3C020002 */ lui $v0, 2 +/* A2A764 80240524 0809014F */ j .L8024053C +/* A2A768 80240528 00621021 */ addu $v0, $v1, $v0 +.L8024052C: +/* A2A76C 8024052C 3C040002 */ lui $a0, 2 +/* A2A770 80240530 0083102A */ slt $v0, $a0, $v1 +/* A2A774 80240534 10400002 */ beqz $v0, .L80240540 +/* A2A778 80240538 00641023 */ subu $v0, $v1, $a0 +.L8024053C: +/* A2A77C 8024053C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240540: +/* A2A780 80240540 8E040084 */ lw $a0, 0x84($s0) +/* A2A784 80240544 0C046F07 */ jal set_main_pan_u +/* A2A788 80240548 8E0500A8 */ lw $a1, 0xa8($s0) +/* A2A78C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* A2A790 80240550 0C046F0D */ jal set_main_pan_v +/* A2A794 80240554 8E0500AC */ lw $a1, 0xac($s0) +/* A2A798 80240558 8E040084 */ lw $a0, 0x84($s0) +/* A2A79C 8024055C 0C046F13 */ jal set_aux_pan_u +/* A2A7A0 80240560 8E0500B0 */ lw $a1, 0xb0($s0) +/* A2A7A4 80240564 8E040084 */ lw $a0, 0x84($s0) +/* A2A7A8 80240568 0C046F19 */ jal set_aux_pan_v +/* A2A7AC 8024056C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A2A7B0 80240570 8E020070 */ lw $v0, 0x70($s0) +/* A2A7B4 80240574 8E030078 */ lw $v1, 0x78($s0) +/* A2A7B8 80240578 8E040098 */ lw $a0, 0x98($s0) +/* A2A7BC 8024057C 24420001 */ addiu $v0, $v0, 1 +/* A2A7C0 80240580 AE020070 */ sw $v0, 0x70($s0) +/* A2A7C4 80240584 8E020074 */ lw $v0, 0x74($s0) +/* A2A7C8 80240588 24630001 */ addiu $v1, $v1, 1 +/* A2A7CC 8024058C AE030078 */ sw $v1, 0x78($s0) +/* A2A7D0 80240590 8E030070 */ lw $v1, 0x70($s0) +/* A2A7D4 80240594 24420001 */ addiu $v0, $v0, 1 +/* A2A7D8 80240598 AE020074 */ sw $v0, 0x74($s0) +/* A2A7DC 8024059C 8E02007C */ lw $v0, 0x7c($s0) +/* A2A7E0 802405A0 0064182A */ slt $v1, $v1, $a0 +/* A2A7E4 802405A4 24420001 */ addiu $v0, $v0, 1 +/* A2A7E8 802405A8 14600002 */ bnez $v1, .L802405B4 +/* A2A7EC 802405AC AE02007C */ sw $v0, 0x7c($s0) +/* A2A7F0 802405B0 AE000070 */ sw $zero, 0x70($s0) +.L802405B4: +/* A2A7F4 802405B4 8E020074 */ lw $v0, 0x74($s0) +/* A2A7F8 802405B8 8E03009C */ lw $v1, 0x9c($s0) +/* A2A7FC 802405BC 0043102A */ slt $v0, $v0, $v1 +/* A2A800 802405C0 50400001 */ beql $v0, $zero, .L802405C8 +/* A2A804 802405C4 AE000074 */ sw $zero, 0x74($s0) +.L802405C8: +/* A2A808 802405C8 8E020078 */ lw $v0, 0x78($s0) +/* A2A80C 802405CC 8E0300A0 */ lw $v1, 0xa0($s0) +/* A2A810 802405D0 0043102A */ slt $v0, $v0, $v1 +/* A2A814 802405D4 50400001 */ beql $v0, $zero, .L802405DC +/* A2A818 802405D8 AE000078 */ sw $zero, 0x78($s0) +.L802405DC: +/* A2A81C 802405DC 8E02007C */ lw $v0, 0x7c($s0) +/* A2A820 802405E0 8E0300A4 */ lw $v1, 0xa4($s0) +/* A2A824 802405E4 0043102A */ slt $v0, $v0, $v1 +/* A2A828 802405E8 50400001 */ beql $v0, $zero, .L802405F0 +/* A2A82C 802405EC AE00007C */ sw $zero, 0x7c($s0) +.L802405F0: +/* A2A830 802405F0 8FBF0014 */ lw $ra, 0x14($sp) +/* A2A834 802405F4 8FB00010 */ lw $s0, 0x10($sp) +/* A2A838 802405F8 0000102D */ daddu $v0, $zero, $zero +/* A2A83C 802405FC 03E00008 */ jr $ra +/* A2A840 80240600 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240604.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240604.s new file mode 100644 index 0000000000..d7b7e43542 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240604.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240604 +/* A2A844 80240604 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2A848 80240608 AFBF0010 */ sw $ra, 0x10($sp) +/* A2A84C 8024060C 8C82000C */ lw $v0, 0xc($a0) +/* A2A850 80240610 0C0B1EAF */ jal get_variable +/* A2A854 80240614 8C450000 */ lw $a1, ($v0) +/* A2A858 80240618 0C0B1059 */ jal does_script_exist +/* A2A85C 8024061C 0040202D */ daddu $a0, $v0, $zero +/* A2A860 80240620 2C420001 */ sltiu $v0, $v0, 1 +/* A2A864 80240624 8FBF0010 */ lw $ra, 0x10($sp) +/* A2A868 80240628 00021040 */ sll $v0, $v0, 1 +/* A2A86C 8024062C 03E00008 */ jr $ra +/* A2A870 80240630 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240634.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240634.s new file mode 100644 index 0000000000..51fcc37a64 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240634.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240634 +/* A2A874 80240634 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2A878 80240638 AFB10014 */ sw $s1, 0x14($sp) +/* A2A87C 8024063C 0080882D */ daddu $s1, $a0, $zero +/* A2A880 80240640 AFBF0018 */ sw $ra, 0x18($sp) +/* A2A884 80240644 AFB00010 */ sw $s0, 0x10($sp) +/* A2A888 80240648 8E30000C */ lw $s0, 0xc($s1) +/* A2A88C 8024064C 8E050000 */ lw $a1, ($s0) +/* A2A890 80240650 0C0B1EAF */ jal get_variable +/* A2A894 80240654 26100004 */ addiu $s0, $s0, 4 +/* A2A898 80240658 0220202D */ daddu $a0, $s1, $zero +/* A2A89C 8024065C 8E050000 */ lw $a1, ($s0) +/* A2A8A0 80240660 0C0B210B */ jal get_float_variable +/* A2A8A4 80240664 0040802D */ daddu $s0, $v0, $zero +/* A2A8A8 80240668 00108080 */ sll $s0, $s0, 2 +/* A2A8AC 8024066C 02308821 */ addu $s1, $s1, $s0 +/* A2A8B0 80240670 4600008D */ trunc.w.s $f2, $f0 +/* A2A8B4 80240674 E6220084 */ swc1 $f2, 0x84($s1) +/* A2A8B8 80240678 8FBF0018 */ lw $ra, 0x18($sp) +/* A2A8BC 8024067C 8FB10014 */ lw $s1, 0x14($sp) +/* A2A8C0 80240680 8FB00010 */ lw $s0, 0x10($sp) +/* A2A8C4 80240684 24020002 */ addiu $v0, $zero, 2 +/* A2A8C8 80240688 03E00008 */ jr $ra +/* A2A8CC 8024068C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240690.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240690.s new file mode 100644 index 0000000000..cd10f1de02 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240690.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240690 +/* A2A8D0 80240690 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A2A8D4 80240694 AFB00010 */ sw $s0, 0x10($sp) +/* A2A8D8 80240698 0080802D */ daddu $s0, $a0, $zero +/* A2A8DC 8024069C 3C02F24A */ lui $v0, 0xf24a +/* A2A8E0 802406A0 34427A80 */ ori $v0, $v0, 0x7a80 +/* A2A8E4 802406A4 3C03F24C */ lui $v1, 0xf24c +/* A2A8E8 802406A8 34630A80 */ ori $v1, $v1, 0xa80 +/* A2A8EC 802406AC 2404000A */ addiu $a0, $zero, 0xa +/* A2A8F0 802406B0 AFBF0014 */ sw $ra, 0x14($sp) +/* A2A8F4 802406B4 F7BA0030 */ sdc1 $f26, 0x30($sp) +/* A2A8F8 802406B8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* A2A8FC 802406BC F7B60020 */ sdc1 $f22, 0x20($sp) +/* A2A900 802406C0 F7B40018 */ sdc1 $f20, 0x18($sp) +/* A2A904 802406C4 C61A0088 */ lwc1 $f26, 0x88($s0) +/* A2A908 802406C8 4680D6A0 */ cvt.s.w $f26, $f26 +/* A2A90C 802406CC 3C014334 */ lui $at, 0x4334 +/* A2A910 802406D0 44810000 */ mtc1 $at, $f0 +/* A2A914 802406D4 3C014049 */ lui $at, 0x4049 +/* A2A918 802406D8 34210FD8 */ ori $at, $at, 0xfd8 +/* A2A91C 802406DC 44811000 */ mtc1 $at, $f2 +/* A2A920 802406E0 4600D682 */ mul.s $f26, $f26, $f0 +/* A2A924 802406E4 00000000 */ nop +/* A2A928 802406E8 C616008C */ lwc1 $f22, 0x8c($s0) +/* A2A92C 802406EC 4680B5A0 */ cvt.s.w $f22, $f22 +/* A2A930 802406F0 AE02008C */ sw $v0, 0x8c($s0) +/* A2A934 802406F4 AE030090 */ sw $v1, 0x90($s0) +/* A2A938 802406F8 AE020094 */ sw $v0, 0x94($s0) +/* A2A93C 802406FC 0C00A67F */ jal rand_int +/* A2A940 80240700 4602D683 */ div.s $f26, $f26, $f2 +/* A2A944 80240704 4482A000 */ mtc1 $v0, $f20 +/* A2A948 80240708 00000000 */ nop +/* A2A94C 8024070C 4680A520 */ cvt.s.w $f20, $f20 +/* A2A950 80240710 3C014040 */ lui $at, 0x4040 +/* A2A954 80240714 44810000 */ mtc1 $at, $f0 +/* A2A958 80240718 4616A503 */ div.s $f20, $f20, $f22 +/* A2A95C 8024071C 4600A500 */ add.s $f20, $f20, $f0 +/* A2A960 80240720 0C00A874 */ jal cos_rad +/* A2A964 80240724 4600D306 */ mov.s $f12, $f26 +/* A2A968 80240728 4600A002 */ mul.s $f0, $f20, $f0 +/* A2A96C 8024072C 00000000 */ nop +/* A2A970 80240730 3C014480 */ lui $at, 0x4480 +/* A2A974 80240734 4481C000 */ mtc1 $at, $f24 +/* A2A978 80240738 00000000 */ nop +/* A2A97C 8024073C 46180002 */ mul.s $f0, $f0, $f24 +/* A2A980 80240740 00000000 */ nop +/* A2A984 80240744 3C01CD5B */ lui $at, 0xcd5b +/* A2A988 80240748 34215858 */ ori $at, $at, 0x5858 +/* A2A98C 8024074C 4481B000 */ mtc1 $at, $f22 +/* A2A990 80240750 00000000 */ nop +/* A2A994 80240754 46160000 */ add.s $f0, $f0, $f22 +/* A2A998 80240758 4600010D */ trunc.w.s $f4, $f0 +/* A2A99C 8024075C E60400AC */ swc1 $f4, 0xac($s0) +/* A2A9A0 80240760 0C00A67F */ jal rand_int +/* A2A9A4 80240764 2404000F */ addiu $a0, $zero, 0xf +/* A2A9A8 80240768 24420005 */ addiu $v0, $v0, 5 +/* A2A9AC 8024076C 44820000 */ mtc1 $v0, $f0 +/* A2A9B0 80240770 00000000 */ nop +/* A2A9B4 80240774 46800020 */ cvt.s.w $f0, $f0 +/* A2A9B8 80240778 46180002 */ mul.s $f0, $f0, $f24 +/* A2A9BC 8024077C 00000000 */ nop +/* A2A9C0 80240780 46160000 */ add.s $f0, $f0, $f22 +/* A2A9C4 80240784 4600010D */ trunc.w.s $f4, $f0 +/* A2A9C8 80240788 E60400B0 */ swc1 $f4, 0xb0($s0) +/* A2A9CC 8024078C 0C00A85B */ jal sin_rad +/* A2A9D0 80240790 4600D306 */ mov.s $f12, $f26 +/* A2A9D4 80240794 4600A502 */ mul.s $f20, $f20, $f0 +/* A2A9D8 80240798 00000000 */ nop +/* A2A9DC 8024079C 4618A502 */ mul.s $f20, $f20, $f24 +/* A2A9E0 802407A0 00000000 */ nop +/* A2A9E4 802407A4 4616A500 */ add.s $f20, $f20, $f22 +/* A2A9E8 802407A8 4600A10D */ trunc.w.s $f4, $f20 +/* A2A9EC 802407AC E60400B4 */ swc1 $f4, 0xb4($s0) +/* A2A9F0 802407B0 0C00A67F */ jal rand_int +/* A2A9F4 802407B4 2404000A */ addiu $a0, $zero, 0xa +/* A2A9F8 802407B8 2442000A */ addiu $v0, $v0, 0xa +/* A2A9FC 802407BC 44820000 */ mtc1 $v0, $f0 +/* A2AA00 802407C0 00000000 */ nop +/* A2AA04 802407C4 46800020 */ cvt.s.w $f0, $f0 +/* A2AA08 802407C8 3C018025 */ lui $at, 0x8025 +/* A2AA0C 802407CC D422F1D0 */ ldc1 $f2, -0xe30($at) +/* A2AA10 802407D0 46000021 */ cvt.d.s $f0, $f0 +/* A2AA14 802407D4 46220002 */ mul.d $f0, $f0, $f2 +/* A2AA18 802407D8 00000000 */ nop +/* A2AA1C 802407DC 3C014090 */ lui $at, 0x4090 +/* A2AA20 802407E0 44811800 */ mtc1 $at, $f3 +/* A2AA24 802407E4 44801000 */ mtc1 $zero, $f2 +/* A2AA28 802407E8 00000000 */ nop +/* A2AA2C 802407EC 46220002 */ mul.d $f0, $f0, $f2 +/* A2AA30 802407F0 00000000 */ nop +/* A2AA34 802407F4 3C018025 */ lui $at, 0x8025 +/* A2AA38 802407F8 D422F1D8 */ ldc1 $f2, -0xe28($at) +/* A2AA3C 802407FC 46220000 */ add.d $f0, $f0, $f2 +/* A2AA40 80240800 4620010D */ trunc.w.d $f4, $f0 +/* A2AA44 80240804 E60400B8 */ swc1 $f4, 0xb8($s0) +/* A2AA48 80240808 8FBF0014 */ lw $ra, 0x14($sp) +/* A2AA4C 8024080C 8FB00010 */ lw $s0, 0x10($sp) +/* A2AA50 80240810 D7BA0030 */ ldc1 $f26, 0x30($sp) +/* A2AA54 80240814 D7B80028 */ ldc1 $f24, 0x28($sp) +/* A2AA58 80240818 D7B60020 */ ldc1 $f22, 0x20($sp) +/* A2AA5C 8024081C D7B40018 */ ldc1 $f20, 0x18($sp) +/* A2AA60 80240820 24020002 */ addiu $v0, $zero, 2 +/* A2AA64 80240824 03E00008 */ jr $ra +/* A2AA68 80240828 27BD0038 */ addiu $sp, $sp, 0x38 +/* A2AA6C 8024082C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240830.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240830.s new file mode 100644 index 0000000000..dd5a35ff50 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240830.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240830 +/* A2AA70 80240830 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2AA74 80240834 3C028011 */ lui $v0, %hi(gPlayerData) +/* A2AA78 80240838 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* A2AA7C 8024083C AFBF0010 */ sw $ra, 0x10($sp) +/* A2AA80 80240840 90450003 */ lbu $a1, 3($v0) +/* A2AA84 80240844 90460006 */ lbu $a2, 6($v0) +/* A2AA88 80240848 8044028E */ lb $a0, 0x28e($v0) +/* A2AA8C 8024084C 24030001 */ addiu $v1, $zero, 1 +/* A2AA90 80240850 A0430292 */ sb $v1, 0x292($v0) +/* A2AA94 80240854 00042200 */ sll $a0, $a0, 8 +/* A2AA98 80240858 A0450002 */ sb $a1, 2($v0) +/* A2AA9C 8024085C A0460005 */ sb $a2, 5($v0) +/* A2AAA0 80240860 0C03A6DB */ jal sync_status_menu +/* A2AAA4 80240864 A4440290 */ sh $a0, 0x290($v0) +/* A2AAA8 80240868 8FBF0010 */ lw $ra, 0x10($sp) +/* A2AAAC 8024086C 24020002 */ addiu $v0, $zero, 2 +/* A2AAB0 80240870 03E00008 */ jr $ra +/* A2AAB4 80240874 27BD0018 */ addiu $sp, $sp, 0x18 +/* A2AAB8 80240878 00000000 */ nop +/* A2AABC 8024087C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240880_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240880_A2A240.s new file mode 100644 index 0000000000..f52228211c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240880_A2A240.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240880_A2AAC0 +/* A2AAC0 80240880 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A2AAC4 80240884 AFB1002C */ sw $s1, 0x2c($sp) +/* A2AAC8 80240888 0080882D */ daddu $s1, $a0, $zero +/* A2AACC 8024088C AFBF004C */ sw $ra, 0x4c($sp) +/* A2AAD0 80240890 AFBE0048 */ sw $fp, 0x48($sp) +/* A2AAD4 80240894 AFB70044 */ sw $s7, 0x44($sp) +/* A2AAD8 80240898 AFB60040 */ sw $s6, 0x40($sp) +/* A2AADC 8024089C AFB5003C */ sw $s5, 0x3c($sp) +/* A2AAE0 802408A0 AFB40038 */ sw $s4, 0x38($sp) +/* A2AAE4 802408A4 AFB30034 */ sw $s3, 0x34($sp) +/* A2AAE8 802408A8 AFB20030 */ sw $s2, 0x30($sp) +/* A2AAEC 802408AC AFB00028 */ sw $s0, 0x28($sp) +/* A2AAF0 802408B0 8E30000C */ lw $s0, 0xc($s1) +/* A2AAF4 802408B4 8E050000 */ lw $a1, ($s0) +/* A2AAF8 802408B8 0C0B1EAF */ jal get_variable +/* A2AAFC 802408BC 26100004 */ addiu $s0, $s0, 4 +/* A2AB00 802408C0 8E050000 */ lw $a1, ($s0) +/* A2AB04 802408C4 26100004 */ addiu $s0, $s0, 4 +/* A2AB08 802408C8 0220202D */ daddu $a0, $s1, $zero +/* A2AB0C 802408CC 0C0B1EAF */ jal get_variable +/* A2AB10 802408D0 0040F02D */ daddu $fp, $v0, $zero +/* A2AB14 802408D4 8E050000 */ lw $a1, ($s0) +/* A2AB18 802408D8 26100004 */ addiu $s0, $s0, 4 +/* A2AB1C 802408DC 0220202D */ daddu $a0, $s1, $zero +/* A2AB20 802408E0 0C0B1EAF */ jal get_variable +/* A2AB24 802408E4 0040B02D */ daddu $s6, $v0, $zero +/* A2AB28 802408E8 8E050000 */ lw $a1, ($s0) +/* A2AB2C 802408EC 26100004 */ addiu $s0, $s0, 4 +/* A2AB30 802408F0 0220202D */ daddu $a0, $s1, $zero +/* A2AB34 802408F4 0C0B1EAF */ jal get_variable +/* A2AB38 802408F8 0040B82D */ daddu $s7, $v0, $zero +/* A2AB3C 802408FC 8E050000 */ lw $a1, ($s0) +/* A2AB40 80240900 26100004 */ addiu $s0, $s0, 4 +/* A2AB44 80240904 0220202D */ daddu $a0, $s1, $zero +/* A2AB48 80240908 0C0B1EAF */ jal get_variable +/* A2AB4C 8024090C 0040A82D */ daddu $s5, $v0, $zero +/* A2AB50 80240910 8E050000 */ lw $a1, ($s0) +/* A2AB54 80240914 26100004 */ addiu $s0, $s0, 4 +/* A2AB58 80240918 0220202D */ daddu $a0, $s1, $zero +/* A2AB5C 8024091C 0C0B1EAF */ jal get_variable +/* A2AB60 80240920 0040A02D */ daddu $s4, $v0, $zero +/* A2AB64 80240924 8E050000 */ lw $a1, ($s0) +/* A2AB68 80240928 26100004 */ addiu $s0, $s0, 4 +/* A2AB6C 8024092C 0220202D */ daddu $a0, $s1, $zero +/* A2AB70 80240930 0C0B1EAF */ jal get_variable +/* A2AB74 80240934 0040982D */ daddu $s3, $v0, $zero +/* A2AB78 80240938 8E050000 */ lw $a1, ($s0) +/* A2AB7C 8024093C 26100004 */ addiu $s0, $s0, 4 +/* A2AB80 80240940 0220202D */ daddu $a0, $s1, $zero +/* A2AB84 80240944 0C0B1EAF */ jal get_variable +/* A2AB88 80240948 0040902D */ daddu $s2, $v0, $zero +/* A2AB8C 8024094C 0220202D */ daddu $a0, $s1, $zero +/* A2AB90 80240950 8E050000 */ lw $a1, ($s0) +/* A2AB94 80240954 0C0B1EAF */ jal get_variable +/* A2AB98 80240958 0040802D */ daddu $s0, $v0, $zero +/* A2AB9C 8024095C 33C400FF */ andi $a0, $fp, 0xff +/* A2ABA0 80240960 32C500FF */ andi $a1, $s6, 0xff +/* A2ABA4 80240964 329400FF */ andi $s4, $s4, 0xff +/* A2ABA8 80240968 327300FF */ andi $s3, $s3, 0xff +/* A2ABAC 8024096C 325200FF */ andi $s2, $s2, 0xff +/* A2ABB0 80240970 32E600FF */ andi $a2, $s7, 0xff +/* A2ABB4 80240974 32A700FF */ andi $a3, $s5, 0xff +/* A2ABB8 80240978 AFB40010 */ sw $s4, 0x10($sp) +/* A2ABBC 8024097C AFB30014 */ sw $s3, 0x14($sp) +/* A2ABC0 80240980 AFB20018 */ sw $s2, 0x18($sp) +/* A2ABC4 80240984 AFB0001C */ sw $s0, 0x1c($sp) +/* A2ABC8 80240988 0C046FAD */ jal func_8011BEB4 +/* A2ABCC 8024098C AFA20020 */ sw $v0, 0x20($sp) +/* A2ABD0 80240990 8FBF004C */ lw $ra, 0x4c($sp) +/* A2ABD4 80240994 8FBE0048 */ lw $fp, 0x48($sp) +/* A2ABD8 80240998 8FB70044 */ lw $s7, 0x44($sp) +/* A2ABDC 8024099C 8FB60040 */ lw $s6, 0x40($sp) +/* A2ABE0 802409A0 8FB5003C */ lw $s5, 0x3c($sp) +/* A2ABE4 802409A4 8FB40038 */ lw $s4, 0x38($sp) +/* A2ABE8 802409A8 8FB30034 */ lw $s3, 0x34($sp) +/* A2ABEC 802409AC 8FB20030 */ lw $s2, 0x30($sp) +/* A2ABF0 802409B0 8FB1002C */ lw $s1, 0x2c($sp) +/* A2ABF4 802409B4 8FB00028 */ lw $s0, 0x28($sp) +/* A2ABF8 802409B8 24020002 */ addiu $v0, $zero, 2 +/* A2ABFC 802409BC 03E00008 */ jr $ra +/* A2AC00 802409C0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802409C4.s b/asm/nonmatchings/world/area_hos/hos_05/func_802409C4.s new file mode 100644 index 0000000000..3d6d80a5f1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802409C4.s @@ -0,0 +1,248 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409C4 +/* A2AC04 802409C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2AC08 802409C8 AFB1001C */ sw $s1, 0x1c($sp) +/* A2AC0C 802409CC 0080882D */ daddu $s1, $a0, $zero +/* A2AC10 802409D0 AFBF0020 */ sw $ra, 0x20($sp) +/* A2AC14 802409D4 AFB00018 */ sw $s0, 0x18($sp) +/* A2AC18 802409D8 10A0003B */ beqz $a1, .L80240AC8 +/* A2AC1C 802409DC 8E30000C */ lw $s0, 0xc($s1) +/* A2AC20 802409E0 3C048025 */ lui $a0, 0x8025 +/* A2AC24 802409E4 2484F2A0 */ addiu $a0, $a0, -0xd60 +/* A2AC28 802409E8 3C058025 */ lui $a1, 0x8025 +/* A2AC2C 802409EC 24A5F2A1 */ addiu $a1, $a1, -0xd5f +/* A2AC30 802409F0 3C068025 */ lui $a2, 0x8025 +/* A2AC34 802409F4 24C6F2A2 */ addiu $a2, $a2, -0xd5e +/* A2AC38 802409F8 3C078025 */ lui $a3, 0x8025 +/* A2AC3C 802409FC 24E7F2A3 */ addiu $a3, $a3, -0xd5d +/* A2AC40 80240A00 3C028025 */ lui $v0, 0x8025 +/* A2AC44 80240A04 2442F2A4 */ addiu $v0, $v0, -0xd5c +/* A2AC48 80240A08 AFA20010 */ sw $v0, 0x10($sp) +/* A2AC4C 80240A0C 3C028025 */ lui $v0, 0x8025 +/* A2AC50 80240A10 2442F2A5 */ addiu $v0, $v0, -0xd5b +/* A2AC54 80240A14 0C046FF5 */ jal func_8011BFD4 +/* A2AC58 80240A18 AFA20014 */ sw $v0, 0x14($sp) +/* A2AC5C 80240A1C 8E050000 */ lw $a1, ($s0) +/* A2AC60 80240A20 26100004 */ addiu $s0, $s0, 4 +/* A2AC64 80240A24 0C0B1EAF */ jal get_variable +/* A2AC68 80240A28 0220202D */ daddu $a0, $s1, $zero +/* A2AC6C 80240A2C 3C018025 */ lui $at, 0x8025 +/* A2AC70 80240A30 AC22F2A8 */ sw $v0, -0xd58($at) +/* A2AC74 80240A34 8E050000 */ lw $a1, ($s0) +/* A2AC78 80240A38 26100004 */ addiu $s0, $s0, 4 +/* A2AC7C 80240A3C 0C0B1EAF */ jal get_variable +/* A2AC80 80240A40 0220202D */ daddu $a0, $s1, $zero +/* A2AC84 80240A44 3C018025 */ lui $at, 0x8025 +/* A2AC88 80240A48 AC22F2AC */ sw $v0, -0xd54($at) +/* A2AC8C 80240A4C 8E050000 */ lw $a1, ($s0) +/* A2AC90 80240A50 26100004 */ addiu $s0, $s0, 4 +/* A2AC94 80240A54 0C0B1EAF */ jal get_variable +/* A2AC98 80240A58 0220202D */ daddu $a0, $s1, $zero +/* A2AC9C 80240A5C 3C018025 */ lui $at, 0x8025 +/* A2ACA0 80240A60 AC22F2B0 */ sw $v0, -0xd50($at) +/* A2ACA4 80240A64 8E050000 */ lw $a1, ($s0) +/* A2ACA8 80240A68 26100004 */ addiu $s0, $s0, 4 +/* A2ACAC 80240A6C 0C0B1EAF */ jal get_variable +/* A2ACB0 80240A70 0220202D */ daddu $a0, $s1, $zero +/* A2ACB4 80240A74 3C018025 */ lui $at, 0x8025 +/* A2ACB8 80240A78 AC22F2B4 */ sw $v0, -0xd4c($at) +/* A2ACBC 80240A7C 8E050000 */ lw $a1, ($s0) +/* A2ACC0 80240A80 26100004 */ addiu $s0, $s0, 4 +/* A2ACC4 80240A84 0C0B1EAF */ jal get_variable +/* A2ACC8 80240A88 0220202D */ daddu $a0, $s1, $zero +/* A2ACCC 80240A8C 3C018025 */ lui $at, 0x8025 +/* A2ACD0 80240A90 AC22F2B8 */ sw $v0, -0xd48($at) +/* A2ACD4 80240A94 8E050000 */ lw $a1, ($s0) +/* A2ACD8 80240A98 26100004 */ addiu $s0, $s0, 4 +/* A2ACDC 80240A9C 0C0B1EAF */ jal get_variable +/* A2ACE0 80240AA0 0220202D */ daddu $a0, $s1, $zero +/* A2ACE4 80240AA4 3C018025 */ lui $at, 0x8025 +/* A2ACE8 80240AA8 AC22F2BC */ sw $v0, -0xd44($at) +/* A2ACEC 80240AAC 8E050000 */ lw $a1, ($s0) +/* A2ACF0 80240AB0 0C0B1EAF */ jal get_variable +/* A2ACF4 80240AB4 0220202D */ daddu $a0, $s1, $zero +/* A2ACF8 80240AB8 3C018025 */ lui $at, 0x8025 +/* A2ACFC 80240ABC AC22F2C0 */ sw $v0, -0xd40($at) +/* A2AD00 80240AC0 3C018025 */ lui $at, 0x8025 +/* A2AD04 80240AC4 AC20F2C4 */ sw $zero, -0xd3c($at) +.L80240AC8: +/* A2AD08 80240AC8 3C118025 */ lui $s1, 0x8025 +/* A2AD0C 80240ACC 2631F2C0 */ addiu $s1, $s1, -0xd40 +/* A2AD10 80240AD0 8E2F0000 */ lw $t7, ($s1) +/* A2AD14 80240AD4 19E0008A */ blez $t7, .L80240D00 +/* A2AD18 80240AD8 00000000 */ nop +/* A2AD1C 80240ADC 3C108025 */ lui $s0, 0x8025 +/* A2AD20 80240AE0 2610F2C4 */ addiu $s0, $s0, -0xd3c +/* A2AD24 80240AE4 8E030000 */ lw $v1, ($s0) +/* A2AD28 80240AE8 006F102A */ slt $v0, $v1, $t7 +/* A2AD2C 80240AEC 10400093 */ beqz $v0, .L80240D3C +/* A2AD30 80240AF0 24630001 */ addiu $v1, $v1, 1 +/* A2AD34 80240AF4 3C048025 */ lui $a0, 0x8025 +/* A2AD38 80240AF8 9084F2A0 */ lbu $a0, -0xd60($a0) +/* A2AD3C 80240AFC 3C028025 */ lui $v0, 0x8025 +/* A2AD40 80240B00 8C42F2A8 */ lw $v0, -0xd58($v0) +/* A2AD44 80240B04 00441023 */ subu $v0, $v0, $a0 +/* A2AD48 80240B08 00430018 */ mult $v0, $v1 +/* A2AD4C 80240B0C 00004012 */ mflo $t0 +/* A2AD50 80240B10 00000000 */ nop +/* A2AD54 80240B14 15E00002 */ bnez $t7, .L80240B20 +/* A2AD58 80240B18 010F001A */ div $zero, $t0, $t7 +/* A2AD5C 80240B1C 0007000D */ break 7 +.L80240B20: +/* A2AD60 80240B20 2401FFFF */ addiu $at, $zero, -1 +/* A2AD64 80240B24 15E10004 */ bne $t7, $at, .L80240B38 +/* A2AD68 80240B28 3C018000 */ lui $at, 0x8000 +/* A2AD6C 80240B2C 15010002 */ bne $t0, $at, .L80240B38 +/* A2AD70 80240B30 00000000 */ nop +/* A2AD74 80240B34 0006000D */ break 6 +.L80240B38: +/* A2AD78 80240B38 00007012 */ mflo $t6 +/* A2AD7C 80240B3C 3C058025 */ lui $a1, 0x8025 +/* A2AD80 80240B40 90A5F2A1 */ lbu $a1, -0xd5f($a1) +/* A2AD84 80240B44 3C028025 */ lui $v0, 0x8025 +/* A2AD88 80240B48 8C42F2AC */ lw $v0, -0xd54($v0) +/* A2AD8C 80240B4C 00451023 */ subu $v0, $v0, $a1 +/* A2AD90 80240B50 00430018 */ mult $v0, $v1 +/* A2AD94 80240B54 00004012 */ mflo $t0 +/* A2AD98 80240B58 00000000 */ nop +/* A2AD9C 80240B5C 15E00002 */ bnez $t7, .L80240B68 +/* A2ADA0 80240B60 010F001A */ div $zero, $t0, $t7 +/* A2ADA4 80240B64 0007000D */ break 7 +.L80240B68: +/* A2ADA8 80240B68 2401FFFF */ addiu $at, $zero, -1 +/* A2ADAC 80240B6C 15E10004 */ bne $t7, $at, .L80240B80 +/* A2ADB0 80240B70 3C018000 */ lui $at, 0x8000 +/* A2ADB4 80240B74 15010002 */ bne $t0, $at, .L80240B80 +/* A2ADB8 80240B78 00000000 */ nop +/* A2ADBC 80240B7C 0006000D */ break 6 +.L80240B80: +/* A2ADC0 80240B80 00006812 */ mflo $t5 +/* A2ADC4 80240B84 3C068025 */ lui $a2, 0x8025 +/* A2ADC8 80240B88 90C6F2A2 */ lbu $a2, -0xd5e($a2) +/* A2ADCC 80240B8C 3C028025 */ lui $v0, 0x8025 +/* A2ADD0 80240B90 8C42F2B0 */ lw $v0, -0xd50($v0) +/* A2ADD4 80240B94 00461023 */ subu $v0, $v0, $a2 +/* A2ADD8 80240B98 00430018 */ mult $v0, $v1 +/* A2ADDC 80240B9C 00004012 */ mflo $t0 +/* A2ADE0 80240BA0 00000000 */ nop +/* A2ADE4 80240BA4 15E00002 */ bnez $t7, .L80240BB0 +/* A2ADE8 80240BA8 010F001A */ div $zero, $t0, $t7 +/* A2ADEC 80240BAC 0007000D */ break 7 +.L80240BB0: +/* A2ADF0 80240BB0 2401FFFF */ addiu $at, $zero, -1 +/* A2ADF4 80240BB4 15E10004 */ bne $t7, $at, .L80240BC8 +/* A2ADF8 80240BB8 3C018000 */ lui $at, 0x8000 +/* A2ADFC 80240BBC 15010002 */ bne $t0, $at, .L80240BC8 +/* A2AE00 80240BC0 00000000 */ nop +/* A2AE04 80240BC4 0006000D */ break 6 +.L80240BC8: +/* A2AE08 80240BC8 00006012 */ mflo $t4 +/* A2AE0C 80240BCC 3C078025 */ lui $a3, 0x8025 +/* A2AE10 80240BD0 90E7F2A3 */ lbu $a3, -0xd5d($a3) +/* A2AE14 80240BD4 3C028025 */ lui $v0, 0x8025 +/* A2AE18 80240BD8 8C42F2B4 */ lw $v0, -0xd4c($v0) +/* A2AE1C 80240BDC 00471023 */ subu $v0, $v0, $a3 +/* A2AE20 80240BE0 00430018 */ mult $v0, $v1 +/* A2AE24 80240BE4 00004012 */ mflo $t0 +/* A2AE28 80240BE8 00000000 */ nop +/* A2AE2C 80240BEC 15E00002 */ bnez $t7, .L80240BF8 +/* A2AE30 80240BF0 010F001A */ div $zero, $t0, $t7 +/* A2AE34 80240BF4 0007000D */ break 7 +.L80240BF8: +/* A2AE38 80240BF8 2401FFFF */ addiu $at, $zero, -1 +/* A2AE3C 80240BFC 15E10004 */ bne $t7, $at, .L80240C10 +/* A2AE40 80240C00 3C018000 */ lui $at, 0x8000 +/* A2AE44 80240C04 15010002 */ bne $t0, $at, .L80240C10 +/* A2AE48 80240C08 00000000 */ nop +/* A2AE4C 80240C0C 0006000D */ break 6 +.L80240C10: +/* A2AE50 80240C10 00005812 */ mflo $t3 +/* A2AE54 80240C14 3C098025 */ lui $t1, 0x8025 +/* A2AE58 80240C18 9129F2A4 */ lbu $t1, -0xd5c($t1) +/* A2AE5C 80240C1C 3C028025 */ lui $v0, 0x8025 +/* A2AE60 80240C20 8C42F2B8 */ lw $v0, -0xd48($v0) +/* A2AE64 80240C24 00491023 */ subu $v0, $v0, $t1 +/* A2AE68 80240C28 00430018 */ mult $v0, $v1 +/* A2AE6C 80240C2C 00004012 */ mflo $t0 +/* A2AE70 80240C30 00000000 */ nop +/* A2AE74 80240C34 15E00002 */ bnez $t7, .L80240C40 +/* A2AE78 80240C38 010F001A */ div $zero, $t0, $t7 +/* A2AE7C 80240C3C 0007000D */ break 7 +.L80240C40: +/* A2AE80 80240C40 2401FFFF */ addiu $at, $zero, -1 +/* A2AE84 80240C44 15E10004 */ bne $t7, $at, .L80240C58 +/* A2AE88 80240C48 3C018000 */ lui $at, 0x8000 +/* A2AE8C 80240C4C 15010002 */ bne $t0, $at, .L80240C58 +/* A2AE90 80240C50 00000000 */ nop +/* A2AE94 80240C54 0006000D */ break 6 +.L80240C58: +/* A2AE98 80240C58 00005012 */ mflo $t2 +/* A2AE9C 80240C5C 3C088025 */ lui $t0, 0x8025 +/* A2AEA0 80240C60 9108F2A5 */ lbu $t0, -0xd5b($t0) +/* A2AEA4 80240C64 3C028025 */ lui $v0, 0x8025 +/* A2AEA8 80240C68 8C42F2BC */ lw $v0, -0xd44($v0) +/* A2AEAC 80240C6C 00481023 */ subu $v0, $v0, $t0 +/* A2AEB0 80240C70 00430018 */ mult $v0, $v1 +/* A2AEB4 80240C74 0000C812 */ mflo $t9 +/* A2AEB8 80240C78 00000000 */ nop +/* A2AEBC 80240C7C 15E00002 */ bnez $t7, .L80240C88 +/* A2AEC0 80240C80 032F001A */ div $zero, $t9, $t7 +/* A2AEC4 80240C84 0007000D */ break 7 +.L80240C88: +/* A2AEC8 80240C88 2401FFFF */ addiu $at, $zero, -1 +/* A2AECC 80240C8C 15E10004 */ bne $t7, $at, .L80240CA0 +/* A2AED0 80240C90 3C018000 */ lui $at, 0x8000 +/* A2AED4 80240C94 17210002 */ bne $t9, $at, .L80240CA0 +/* A2AED8 80240C98 00000000 */ nop +/* A2AEDC 80240C9C 0006000D */ break 6 +.L80240CA0: +/* A2AEE0 80240CA0 00001012 */ mflo $v0 +/* A2AEE4 80240CA4 AE030000 */ sw $v1, ($s0) +/* A2AEE8 80240CA8 008E2021 */ addu $a0, $a0, $t6 +/* A2AEEC 80240CAC 308400FF */ andi $a0, $a0, 0xff +/* A2AEF0 80240CB0 00AD2821 */ addu $a1, $a1, $t5 +/* A2AEF4 80240CB4 30A500FF */ andi $a1, $a1, 0xff +/* A2AEF8 80240CB8 00CC3021 */ addu $a2, $a2, $t4 +/* A2AEFC 80240CBC 30C600FF */ andi $a2, $a2, 0xff +/* A2AF00 80240CC0 00EB3821 */ addu $a3, $a3, $t3 +/* A2AF04 80240CC4 30E700FF */ andi $a3, $a3, 0xff +/* A2AF08 80240CC8 012A4821 */ addu $t1, $t1, $t2 +/* A2AF0C 80240CCC 312900FF */ andi $t1, $t1, 0xff +/* A2AF10 80240CD0 AFA90010 */ sw $t1, 0x10($sp) +/* A2AF14 80240CD4 01024021 */ addu $t0, $t0, $v0 +/* A2AF18 80240CD8 310800FF */ andi $t0, $t0, 0xff +/* A2AF1C 80240CDC 0C046FE6 */ jal func_8011BF98 +/* A2AF20 80240CE0 AFA80014 */ sw $t0, 0x14($sp) +/* A2AF24 80240CE4 8E020000 */ lw $v0, ($s0) +/* A2AF28 80240CE8 8E230000 */ lw $v1, ($s1) +/* A2AF2C 80240CEC 0043102A */ slt $v0, $v0, $v1 +/* A2AF30 80240CF0 14400013 */ bnez $v0, .L80240D40 +/* A2AF34 80240CF4 0000102D */ daddu $v0, $zero, $zero +/* A2AF38 80240CF8 08090350 */ j .L80240D40 +/* A2AF3C 80240CFC 24020002 */ addiu $v0, $zero, 2 +.L80240D00: +/* A2AF40 80240D00 3C028025 */ lui $v0, 0x8025 +/* A2AF44 80240D04 9042F2BB */ lbu $v0, -0xd45($v0) +/* A2AF48 80240D08 3C048025 */ lui $a0, 0x8025 +/* A2AF4C 80240D0C 9084F2AB */ lbu $a0, -0xd55($a0) +/* A2AF50 80240D10 3C058025 */ lui $a1, 0x8025 +/* A2AF54 80240D14 90A5F2AF */ lbu $a1, -0xd51($a1) +/* A2AF58 80240D18 3C068025 */ lui $a2, 0x8025 +/* A2AF5C 80240D1C 90C6F2B3 */ lbu $a2, -0xd4d($a2) +/* A2AF60 80240D20 3C078025 */ lui $a3, 0x8025 +/* A2AF64 80240D24 90E7F2B7 */ lbu $a3, -0xd49($a3) +/* A2AF68 80240D28 3C038025 */ lui $v1, 0x8025 +/* A2AF6C 80240D2C 9063F2BF */ lbu $v1, -0xd41($v1) +/* A2AF70 80240D30 AFA20010 */ sw $v0, 0x10($sp) +/* A2AF74 80240D34 0C046FE6 */ jal func_8011BF98 +/* A2AF78 80240D38 AFA30014 */ sw $v1, 0x14($sp) +.L80240D3C: +/* A2AF7C 80240D3C 24020002 */ addiu $v0, $zero, 2 +.L80240D40: +/* A2AF80 80240D40 8FBF0020 */ lw $ra, 0x20($sp) +/* A2AF84 80240D44 8FB1001C */ lw $s1, 0x1c($sp) +/* A2AF88 80240D48 8FB00018 */ lw $s0, 0x18($sp) +/* A2AF8C 80240D4C 03E00008 */ jr $ra +/* A2AF90 80240D50 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240D54.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240D54.s new file mode 100644 index 0000000000..849b0b2d67 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240D54.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D54 +/* A2AF94 80240D54 44852000 */ mtc1 $a1, $f4 +/* A2AF98 80240D58 3C018025 */ lui $at, 0x8025 +/* A2AF9C 80240D5C D422F1E0 */ ldc1 $f2, -0xe20($at) +/* A2AFA0 80240D60 46002021 */ cvt.d.s $f0, $f4 +/* A2AFA4 80240D64 46220002 */ mul.d $f0, $f0, $f2 +/* A2AFA8 80240D68 00000000 */ nop +/* A2AFAC 80240D6C 00041080 */ sll $v0, $a0, 2 +/* A2AFB0 80240D70 00441021 */ addu $v0, $v0, $a0 +/* A2AFB4 80240D74 00021080 */ sll $v0, $v0, 2 +/* A2AFB8 80240D78 00441023 */ subu $v0, $v0, $a0 +/* A2AFBC 80240D7C 000218C0 */ sll $v1, $v0, 3 +/* A2AFC0 80240D80 00431021 */ addu $v0, $v0, $v1 +/* A2AFC4 80240D84 000210C0 */ sll $v0, $v0, 3 +/* A2AFC8 80240D88 46200020 */ cvt.s.d $f0, $f0 +/* A2AFCC 80240D8C 3C01800B */ lui $at, 0x800b +/* A2AFD0 80240D90 00220821 */ addu $at, $at, $v0 +/* A2AFD4 80240D94 E4201D98 */ swc1 $f0, 0x1d98($at) +/* A2AFD8 80240D98 03E00008 */ jr $ra +/* A2AFDC 80240D9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240DA0_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240DA0_A2A240.s new file mode 100644 index 0000000000..26baabcb23 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240DA0_A2A240.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA0_A2AFE0 +/* A2AFE0 80240DA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2AFE4 80240DA4 AFB10014 */ sw $s1, 0x14($sp) +/* A2AFE8 80240DA8 0080882D */ daddu $s1, $a0, $zero +/* A2AFEC 80240DAC AFBF0018 */ sw $ra, 0x18($sp) +/* A2AFF0 80240DB0 AFB00010 */ sw $s0, 0x10($sp) +/* A2AFF4 80240DB4 8E30000C */ lw $s0, 0xc($s1) +/* A2AFF8 80240DB8 8E050000 */ lw $a1, ($s0) +/* A2AFFC 80240DBC 0C0B1EAF */ jal get_variable +/* A2B000 80240DC0 26100004 */ addiu $s0, $s0, 4 +/* A2B004 80240DC4 0220202D */ daddu $a0, $s1, $zero +/* A2B008 80240DC8 8E050000 */ lw $a1, ($s0) +/* A2B00C 80240DCC 0C0B210B */ jal get_float_variable +/* A2B010 80240DD0 0040802D */ daddu $s0, $v0, $zero +/* A2B014 80240DD4 44050000 */ mfc1 $a1, $f0 +/* A2B018 80240DD8 0C090355 */ jal func_80240D54 +/* A2B01C 80240DDC 0200202D */ daddu $a0, $s0, $zero +/* A2B020 80240DE0 8FBF0018 */ lw $ra, 0x18($sp) +/* A2B024 80240DE4 8FB10014 */ lw $s1, 0x14($sp) +/* A2B028 80240DE8 8FB00010 */ lw $s0, 0x10($sp) +/* A2B02C 80240DEC 24020002 */ addiu $v0, $zero, 2 +/* A2B030 80240DF0 03E00008 */ jr $ra +/* A2B034 80240DF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240DF8_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240DF8_A2A240.s new file mode 100644 index 0000000000..5691af112b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240DF8_A2A240.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF8_A2B038 +/* A2B038 80240DF8 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* A2B03C 80240DFC 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* A2B040 80240E00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2B044 80240E04 AFBF0010 */ sw $ra, 0x10($sp) +/* A2B048 80240E08 908300A8 */ lbu $v1, 0xa8($a0) +/* A2B04C 80240E0C 2C620005 */ sltiu $v0, $v1, 5 +/* A2B050 80240E10 10400003 */ beqz $v0, .L80240E20 +/* A2B054 80240E14 24620001 */ addiu $v0, $v1, 1 +/* A2B058 80240E18 0C00D994 */ jal begin_state_intro +/* A2B05C 80240E1C A08200A8 */ sb $v0, 0xa8($a0) +.L80240E20: +/* A2B060 80240E20 8FBF0010 */ lw $ra, 0x10($sp) +/* A2B064 80240E24 24020001 */ addiu $v0, $zero, 1 +/* A2B068 80240E28 03E00008 */ jr $ra +/* A2B06C 80240E2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240E30_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240E30_A2A240.s new file mode 100644 index 0000000000..bd08cc35b5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240E30_A2A240.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E30_A2B070 +/* A2B070 80240E30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2B074 80240E34 AFBF0010 */ sw $ra, 0x10($sp) +/* A2B078 80240E38 0C04760B */ jal func_8011D82C +/* A2B07C 80240E3C 24040003 */ addiu $a0, $zero, 3 +/* A2B080 80240E40 8FBF0010 */ lw $ra, 0x10($sp) +/* A2B084 80240E44 24020002 */ addiu $v0, $zero, 2 +/* A2B088 80240E48 03E00008 */ jr $ra +/* A2B08C 80240E4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240E50.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240E50.s new file mode 100644 index 0000000000..8f9add3013 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240E50.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E50 +/* A2B090 80240E50 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2B094 80240E54 AFB10014 */ sw $s1, 0x14($sp) +/* A2B098 80240E58 0080882D */ daddu $s1, $a0, $zero +/* A2B09C 80240E5C AFBF0020 */ sw $ra, 0x20($sp) +/* A2B0A0 80240E60 AFB3001C */ sw $s3, 0x1c($sp) +/* A2B0A4 80240E64 AFB20018 */ sw $s2, 0x18($sp) +/* A2B0A8 80240E68 AFB00010 */ sw $s0, 0x10($sp) +/* A2B0AC 80240E6C 8E30000C */ lw $s0, 0xc($s1) +/* A2B0B0 80240E70 8E050000 */ lw $a1, ($s0) +/* A2B0B4 80240E74 0C0B1EAF */ jal get_variable +/* A2B0B8 80240E78 26100004 */ addiu $s0, $s0, 4 +/* A2B0BC 80240E7C 8E050000 */ lw $a1, ($s0) +/* A2B0C0 80240E80 26100004 */ addiu $s0, $s0, 4 +/* A2B0C4 80240E84 0220202D */ daddu $a0, $s1, $zero +/* A2B0C8 80240E88 0C0B1EAF */ jal get_variable +/* A2B0CC 80240E8C 0040902D */ daddu $s2, $v0, $zero +/* A2B0D0 80240E90 8E050000 */ lw $a1, ($s0) +/* A2B0D4 80240E94 26100004 */ addiu $s0, $s0, 4 +/* A2B0D8 80240E98 0C0B210B */ jal get_float_variable +/* A2B0DC 80240E9C 0220202D */ daddu $a0, $s1, $zero +/* A2B0E0 80240EA0 8E050000 */ lw $a1, ($s0) +/* A2B0E4 80240EA4 26100004 */ addiu $s0, $s0, 4 +/* A2B0E8 80240EA8 4600010D */ trunc.w.s $f4, $f0 +/* A2B0EC 80240EAC 44132000 */ mfc1 $s3, $f4 +/* A2B0F0 80240EB0 0C0B210B */ jal get_float_variable +/* A2B0F4 80240EB4 0220202D */ daddu $a0, $s1, $zero +/* A2B0F8 80240EB8 8E050000 */ lw $a1, ($s0) +/* A2B0FC 80240EBC 4600010D */ trunc.w.s $f4, $f0 +/* A2B100 80240EC0 44102000 */ mfc1 $s0, $f4 +/* A2B104 80240EC4 0C0B210B */ jal get_float_variable +/* A2B108 80240EC8 0220202D */ daddu $a0, $s1, $zero +/* A2B10C 80240ECC 8E43000C */ lw $v1, 0xc($s2) +/* A2B110 80240ED0 44931000 */ mtc1 $s3, $f2 +/* A2B114 80240ED4 00000000 */ nop +/* A2B118 80240ED8 468010A0 */ cvt.s.w $f2, $f2 +/* A2B11C 80240EDC E4620004 */ swc1 $f2, 4($v1) +/* A2B120 80240EE0 8E43000C */ lw $v1, 0xc($s2) +/* A2B124 80240EE4 44901000 */ mtc1 $s0, $f2 +/* A2B128 80240EE8 00000000 */ nop +/* A2B12C 80240EEC 468010A0 */ cvt.s.w $f2, $f2 +/* A2B130 80240EF0 E4620008 */ swc1 $f2, 8($v1) +/* A2B134 80240EF4 4600010D */ trunc.w.s $f4, $f0 +/* A2B138 80240EF8 44032000 */ mfc1 $v1, $f4 +/* A2B13C 80240EFC 8E44000C */ lw $a0, 0xc($s2) +/* A2B140 80240F00 44830000 */ mtc1 $v1, $f0 +/* A2B144 80240F04 00000000 */ nop +/* A2B148 80240F08 46800020 */ cvt.s.w $f0, $f0 +/* A2B14C 80240F0C E480000C */ swc1 $f0, 0xc($a0) +/* A2B150 80240F10 8FBF0020 */ lw $ra, 0x20($sp) +/* A2B154 80240F14 8FB3001C */ lw $s3, 0x1c($sp) +/* A2B158 80240F18 8FB20018 */ lw $s2, 0x18($sp) +/* A2B15C 80240F1C 8FB10014 */ lw $s1, 0x14($sp) +/* A2B160 80240F20 8FB00010 */ lw $s0, 0x10($sp) +/* A2B164 80240F24 24020002 */ addiu $v0, $zero, 2 +/* A2B168 80240F28 03E00008 */ jr $ra +/* A2B16C 80240F2C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240F30_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240F30_A2A240.s new file mode 100644 index 0000000000..64c0a66f9e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240F30_A2A240.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F30_A2B170 +/* A2B170 80240F30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2B174 80240F34 3C05F4AC */ lui $a1, 0xf4ac +/* A2B178 80240F38 AFBF0010 */ sw $ra, 0x10($sp) +/* A2B17C 80240F3C 0C0B1EAF */ jal get_variable +/* A2B180 80240F40 34A5D480 */ ori $a1, $a1, 0xd480 +/* A2B184 80240F44 3C058025 */ lui $a1, 0x8025 +/* A2B188 80240F48 24A595DC */ addiu $a1, $a1, -0x6a24 +/* A2B18C 80240F4C 8CA40000 */ lw $a0, ($a1) +/* A2B190 80240F50 8C42000C */ lw $v0, 0xc($v0) +/* A2B194 80240F54 00041840 */ sll $v1, $a0, 1 +/* A2B198 80240F58 00641821 */ addu $v1, $v1, $a0 +/* A2B19C 80240F5C 00031900 */ sll $v1, $v1, 4 +/* A2B1A0 80240F60 00621821 */ addu $v1, $v1, $v0 +/* A2B1A4 80240F64 24020001 */ addiu $v0, $zero, 1 +/* A2B1A8 80240F68 A0620059 */ sb $v0, 0x59($v1) +/* A2B1AC 80240F6C 8CA30000 */ lw $v1, ($a1) +/* A2B1B0 80240F70 24630001 */ addiu $v1, $v1, 1 +/* A2B1B4 80240F74 ACA30000 */ sw $v1, ($a1) +/* A2B1B8 80240F78 8FBF0010 */ lw $ra, 0x10($sp) +/* A2B1BC 80240F7C 24020002 */ addiu $v0, $zero, 2 +/* A2B1C0 80240F80 03E00008 */ jr $ra +/* A2B1C4 80240F84 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240F88.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240F88.s new file mode 100644 index 0000000000..8b53583920 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240F88.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F88 +/* A2B1C8 80240F88 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2B1CC 80240F8C 3C05F4AC */ lui $a1, 0xf4ac +/* A2B1D0 80240F90 AFBF0010 */ sw $ra, 0x10($sp) +/* A2B1D4 80240F94 0C0B1EAF */ jal get_variable +/* A2B1D8 80240F98 34A5D480 */ ori $a1, $a1, 0xd480 +/* A2B1DC 80240F9C 3C058025 */ lui $a1, 0x8025 +/* A2B1E0 80240FA0 24A595E0 */ addiu $a1, $a1, -0x6a20 +/* A2B1E4 80240FA4 8CA40000 */ lw $a0, ($a1) +/* A2B1E8 80240FA8 8C42000C */ lw $v0, 0xc($v0) +/* A2B1EC 80240FAC 00041840 */ sll $v1, $a0, 1 +/* A2B1F0 80240FB0 00641821 */ addu $v1, $v1, $a0 +/* A2B1F4 80240FB4 00031900 */ sll $v1, $v1, 4 +/* A2B1F8 80240FB8 00621821 */ addu $v1, $v1, $v0 +/* A2B1FC 80240FBC 24020003 */ addiu $v0, $zero, 3 +/* A2B200 80240FC0 A0620059 */ sb $v0, 0x59($v1) +/* A2B204 80240FC4 8CA30000 */ lw $v1, ($a1) +/* A2B208 80240FC8 24630001 */ addiu $v1, $v1, 1 +/* A2B20C 80240FCC ACA30000 */ sw $v1, ($a1) +/* A2B210 80240FD0 8FBF0010 */ lw $ra, 0x10($sp) +/* A2B214 80240FD4 24020002 */ addiu $v0, $zero, 2 +/* A2B218 80240FD8 03E00008 */ jr $ra +/* A2B21C 80240FDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80240FE0_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80240FE0_A2A240.s new file mode 100644 index 0000000000..52a6b8f39e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80240FE0_A2A240.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0_A2B220 +/* A2B220 80240FE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2B224 80240FE4 AFB00010 */ sw $s0, 0x10($sp) +/* A2B228 80240FE8 0080802D */ daddu $s0, $a0, $zero +/* A2B22C 80240FEC 3C05F4AC */ lui $a1, 0xf4ac +/* A2B230 80240FF0 AFBF0014 */ sw $ra, 0x14($sp) +/* A2B234 80240FF4 0C0B1EAF */ jal get_variable +/* A2B238 80240FF8 34A5D490 */ ori $a1, $a1, 0xd490 +/* A2B23C 80240FFC 0040182D */ daddu $v1, $v0, $zero +/* A2B240 80241000 8C64000C */ lw $a0, 0xc($v1) +/* A2B244 80241004 C6000084 */ lwc1 $f0, 0x84($s0) +/* A2B248 80241008 46800020 */ cvt.s.w $f0, $f0 +/* A2B24C 8024100C E4800010 */ swc1 $f0, 0x10($a0) +/* A2B250 80241010 8C64000C */ lw $a0, 0xc($v1) +/* A2B254 80241014 C6000088 */ lwc1 $f0, 0x88($s0) +/* A2B258 80241018 46800020 */ cvt.s.w $f0, $f0 +/* A2B25C 8024101C E4800014 */ swc1 $f0, 0x14($a0) +/* A2B260 80241020 8C63000C */ lw $v1, 0xc($v1) +/* A2B264 80241024 C600008C */ lwc1 $f0, 0x8c($s0) +/* A2B268 80241028 46800020 */ cvt.s.w $f0, $f0 +/* A2B26C 8024102C E4600018 */ swc1 $f0, 0x18($v1) +/* A2B270 80241030 8FBF0014 */ lw $ra, 0x14($sp) +/* A2B274 80241034 8FB00010 */ lw $s0, 0x10($sp) +/* A2B278 80241038 24020002 */ addiu $v0, $zero, 2 +/* A2B27C 8024103C 03E00008 */ jr $ra +/* A2B280 80241040 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241044.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241044.s new file mode 100644 index 0000000000..2870da32bd --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241044.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241044 +/* A2B284 80241044 460C7301 */ sub.s $f12, $f14, $f12 +/* A2B288 80241048 44863000 */ mtc1 $a2, $f6 +/* A2B28C 8024104C 44800000 */ mtc1 $zero, $f0 +/* A2B290 80241050 44872000 */ mtc1 $a3, $f4 +/* A2B294 80241054 8FA20010 */ lw $v0, 0x10($sp) +/* A2B298 80241058 460C003C */ c.lt.s $f0, $f12 +/* A2B29C 8024105C 00000000 */ nop +/* A2B2A0 80241060 4500000F */ bc1f .L802410A0 +/* A2B2A4 80241064 46067081 */ sub.s $f2, $f14, $f6 +/* A2B2A8 80241068 4600103C */ c.lt.s $f2, $f0 +/* A2B2AC 8024106C 00000000 */ nop +/* A2B2B0 80241070 45000003 */ bc1f .L80241080 +/* A2B2B4 80241074 00000000 */ nop +.L80241078: +/* A2B2B8 80241078 03E00008 */ jr $ra +/* A2B2BC 8024107C E44E0000 */ swc1 $f14, ($v0) +.L80241080: +/* A2B2C0 80241080 4602203C */ c.lt.s $f4, $f2 +/* A2B2C4 80241084 00000000 */ nop +/* A2B2C8 80241088 45000012 */ bc1f .L802410D4 +/* A2B2CC 8024108C 00000000 */ nop +/* A2B2D0 80241090 C4400000 */ lwc1 $f0, ($v0) +/* A2B2D4 80241094 46040000 */ add.s $f0, $f0, $f4 +/* A2B2D8 80241098 03E00008 */ jr $ra +/* A2B2DC 8024109C E4400000 */ swc1 $f0, ($v0) +.L802410A0: +/* A2B2E0 802410A0 4602003C */ c.lt.s $f0, $f2 +/* A2B2E4 802410A4 00000000 */ nop +/* A2B2E8 802410A8 4501FFF3 */ bc1t .L80241078 +/* A2B2EC 802410AC 00000000 */ nop +/* A2B2F0 802410B0 46002007 */ neg.s $f0, $f4 +/* A2B2F4 802410B4 4600103C */ c.lt.s $f2, $f0 +/* A2B2F8 802410B8 00000000 */ nop +/* A2B2FC 802410BC 45000005 */ bc1f .L802410D4 +/* A2B300 802410C0 00000000 */ nop +/* A2B304 802410C4 C4400000 */ lwc1 $f0, ($v0) +/* A2B308 802410C8 46040001 */ sub.s $f0, $f0, $f4 +/* A2B30C 802410CC 03E00008 */ jr $ra +/* A2B310 802410D0 E4400000 */ swc1 $f0, ($v0) +.L802410D4: +/* A2B314 802410D4 C4400000 */ lwc1 $f0, ($v0) +/* A2B318 802410D8 46020000 */ add.s $f0, $f0, $f2 +/* A2B31C 802410DC 03E00008 */ jr $ra +/* A2B320 802410E0 E4400000 */ swc1 $f0, ($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802410E4.s b/asm/nonmatchings/world/area_hos/hos_05/func_802410E4.s new file mode 100644 index 0000000000..64e35704c8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802410E4.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410E4 +/* A2B324 802410E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2B328 802410E8 F7B40018 */ sdc1 $f20, 0x18($sp) +/* A2B32C 802410EC 4485A000 */ mtc1 $a1, $f20 +/* A2B330 802410F0 F7B60020 */ sdc1 $f22, 0x20($sp) +/* A2B334 802410F4 4486B000 */ mtc1 $a2, $f22 +/* A2B338 802410F8 44876000 */ mtc1 $a3, $f12 +/* A2B33C 802410FC C7A20038 */ lwc1 $f2, 0x38($sp) +/* A2B340 80241100 460C103C */ c.lt.s $f2, $f12 +/* A2B344 80241104 00000000 */ nop +/* A2B348 80241108 45000002 */ bc1f .L80241114 +/* A2B34C 8024110C AFBF0010 */ sw $ra, 0x10($sp) +/* A2B350 80241110 46001306 */ mov.s $f12, $f2 +.L80241114: +/* A2B354 80241114 24020002 */ addiu $v0, $zero, 2 +/* A2B358 80241118 10820016 */ beq $a0, $v0, .L80241174 +/* A2B35C 8024111C 28820003 */ slti $v0, $a0, 3 +/* A2B360 80241120 10400005 */ beqz $v0, .L80241138 +/* A2B364 80241124 24020001 */ addiu $v0, $zero, 1 +/* A2B368 80241128 1082000A */ beq $a0, $v0, .L80241154 +/* A2B36C 8024112C 46026303 */ div.s $f12, $f12, $f2 +/* A2B370 80241130 08090493 */ j .L8024124C +/* A2B374 80241134 4614B001 */ sub.s $f0, $f22, $f20 +.L80241138: +/* A2B378 80241138 24020003 */ addiu $v0, $zero, 3 +/* A2B37C 8024113C 10820021 */ beq $a0, $v0, .L802411C4 +/* A2B380 80241140 24020004 */ addiu $v0, $zero, 4 +/* A2B384 80241144 10820034 */ beq $a0, $v0, .L80241218 +/* A2B388 80241148 46026303 */ div.s $f12, $f12, $f2 +/* A2B38C 8024114C 08090493 */ j .L8024124C +/* A2B390 80241150 4614B001 */ sub.s $f0, $f22, $f20 +.L80241154: +/* A2B394 80241154 3C0142B4 */ lui $at, 0x42b4 +/* A2B398 80241158 44810000 */ mtc1 $at, $f0 +/* A2B39C 8024115C 00000000 */ nop +/* A2B3A0 80241160 46006302 */ mul.s $f12, $f12, $f0 +/* A2B3A4 80241164 0C00A8BB */ jal sin_deg +/* A2B3A8 80241168 00000000 */ nop +/* A2B3AC 8024116C 08090492 */ j .L80241248 +/* A2B3B0 80241170 46000306 */ mov.s $f12, $f0 +.L80241174: +/* A2B3B4 80241174 3C0141F0 */ lui $at, 0x41f0 +/* A2B3B8 80241178 44810000 */ mtc1 $at, $f0 +/* A2B3BC 8024117C 00000000 */ nop +/* A2B3C0 80241180 4600603C */ c.lt.s $f12, $f0 +/* A2B3C4 80241184 00000000 */ nop +/* A2B3C8 80241188 45020004 */ bc1fl .L8024119C +/* A2B3CC 8024118C 46006301 */ sub.s $f12, $f12, $f0 +/* A2B3D0 80241190 44806000 */ mtc1 $zero, $f12 +/* A2B3D4 80241194 08090493 */ j .L8024124C +/* A2B3D8 80241198 4614B001 */ sub.s $f0, $f22, $f20 +.L8024119C: +/* A2B3DC 8024119C 46001001 */ sub.s $f0, $f2, $f0 +/* A2B3E0 802411A0 3C0142B4 */ lui $at, 0x42b4 +/* A2B3E4 802411A4 44811000 */ mtc1 $at, $f2 +/* A2B3E8 802411A8 46006303 */ div.s $f12, $f12, $f0 +/* A2B3EC 802411AC 46026302 */ mul.s $f12, $f12, $f2 +/* A2B3F0 802411B0 00000000 */ nop +/* A2B3F4 802411B4 3C01C2B4 */ lui $at, 0xc2b4 +/* A2B3F8 802411B8 44810000 */ mtc1 $at, $f0 +/* A2B3FC 802411BC 0809048C */ j .L80241230 +/* A2B400 802411C0 46006300 */ add.s $f12, $f12, $f0 +.L802411C4: +/* A2B404 802411C4 3C014334 */ lui $at, 0x4334 +/* A2B408 802411C8 44810000 */ mtc1 $at, $f0 +/* A2B40C 802411CC 46026303 */ div.s $f12, $f12, $f2 +/* A2B410 802411D0 46006302 */ mul.s $f12, $f12, $f0 +/* A2B414 802411D4 00000000 */ nop +/* A2B418 802411D8 3C0142B4 */ lui $at, 0x42b4 +/* A2B41C 802411DC 44810000 */ mtc1 $at, $f0 +/* A2B420 802411E0 0C00A8BB */ jal sin_deg +/* A2B424 802411E4 46006301 */ sub.s $f12, $f12, $f0 +/* A2B428 802411E8 3C013F80 */ lui $at, 0x3f80 +/* A2B42C 802411EC 44811000 */ mtc1 $at, $f2 +/* A2B430 802411F0 00000000 */ nop +/* A2B434 802411F4 46020000 */ add.s $f0, $f0, $f2 +/* A2B438 802411F8 3C013FE0 */ lui $at, 0x3fe0 +/* A2B43C 802411FC 44811800 */ mtc1 $at, $f3 +/* A2B440 80241200 44801000 */ mtc1 $zero, $f2 +/* A2B444 80241204 46000021 */ cvt.d.s $f0, $f0 +/* A2B448 80241208 46220002 */ mul.d $f0, $f0, $f2 +/* A2B44C 8024120C 00000000 */ nop +/* A2B450 80241210 08090492 */ j .L80241248 +/* A2B454 80241214 46200320 */ cvt.s.d $f12, $f0 +.L80241218: +/* A2B458 80241218 3C0142B4 */ lui $at, 0x42b4 +/* A2B45C 8024121C 44810000 */ mtc1 $at, $f0 +/* A2B460 80241220 00000000 */ nop +/* A2B464 80241224 46006302 */ mul.s $f12, $f12, $f0 +/* A2B468 80241228 00000000 */ nop +/* A2B46C 8024122C 46006301 */ sub.s $f12, $f12, $f0 +.L80241230: +/* A2B470 80241230 0C00A8BB */ jal sin_deg +/* A2B474 80241234 00000000 */ nop +/* A2B478 80241238 3C013F80 */ lui $at, 0x3f80 +/* A2B47C 8024123C 44811000 */ mtc1 $at, $f2 +/* A2B480 80241240 00000000 */ nop +/* A2B484 80241244 46020300 */ add.s $f12, $f0, $f2 +.L80241248: +/* A2B488 80241248 4614B001 */ sub.s $f0, $f22, $f20 +.L8024124C: +/* A2B48C 8024124C 460C0002 */ mul.s $f0, $f0, $f12 +/* A2B490 80241250 00000000 */ nop +/* A2B494 80241254 4600A000 */ add.s $f0, $f20, $f0 +/* A2B498 80241258 8FA2003C */ lw $v0, 0x3c($sp) +/* A2B49C 8024125C E4400000 */ swc1 $f0, ($v0) +/* A2B4A0 80241260 8FBF0010 */ lw $ra, 0x10($sp) +/* A2B4A4 80241264 D7B60020 */ ldc1 $f22, 0x20($sp) +/* A2B4A8 80241268 D7B40018 */ ldc1 $f20, 0x18($sp) +/* A2B4AC 8024126C 03E00008 */ jr $ra +/* A2B4B0 80241270 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241274.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241274.s new file mode 100644 index 0000000000..2fb0033a1e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241274.s @@ -0,0 +1,132 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241274 +/* A2B4B4 80241274 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A2B4B8 80241278 3C04800B */ lui $a0, %hi(gCameras) +/* A2B4BC 8024127C 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2B4C0 80241280 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2B4C4 80241284 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2B4C8 80241288 3C05800A */ lui $a1, 0x800a +/* A2B4CC 8024128C 8CA5A64C */ lw $a1, -0x59b4($a1) +/* A2B4D0 80241290 3C088025 */ lui $t0, 0x8025 +/* A2B4D4 80241294 250898D4 */ addiu $t0, $t0, -0x672c +/* A2B4D8 80241298 AFBF0030 */ sw $ra, 0x30($sp) +/* A2B4DC 8024129C AFB5002C */ sw $s5, 0x2c($sp) +/* A2B4E0 802412A0 AFB40028 */ sw $s4, 0x28($sp) +/* A2B4E4 802412A4 AFB30024 */ sw $s3, 0x24($sp) +/* A2B4E8 802412A8 AFB20020 */ sw $s2, 0x20($sp) +/* A2B4EC 802412AC AFB1001C */ sw $s1, 0x1c($sp) +/* A2B4F0 802412B0 AFB00018 */ sw $s0, 0x18($sp) +/* A2B4F4 802412B4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A2B4F8 802412B8 00031080 */ sll $v0, $v1, 2 +/* A2B4FC 802412BC 00431021 */ addu $v0, $v0, $v1 +/* A2B500 802412C0 00021080 */ sll $v0, $v0, 2 +/* A2B504 802412C4 00431023 */ subu $v0, $v0, $v1 +/* A2B508 802412C8 000218C0 */ sll $v1, $v0, 3 +/* A2B50C 802412CC 00431021 */ addu $v0, $v0, $v1 +/* A2B510 802412D0 000210C0 */ sll $v0, $v0, 3 +/* A2B514 802412D4 8D030000 */ lw $v1, ($t0) +/* A2B518 802412D8 10A30059 */ beq $a1, $v1, .L80241440 +/* A2B51C 802412DC 0044A821 */ addu $s5, $v0, $a0 +/* A2B520 802412E0 3C138025 */ lui $s3, 0x8025 +/* A2B524 802412E4 267398D0 */ addiu $s3, $s3, -0x6730 +/* A2B528 802412E8 3C01437A */ lui $at, 0x437a +/* A2B52C 802412EC 44816000 */ mtc1 $at, $f12 +/* A2B530 802412F0 8E660000 */ lw $a2, ($s3) +/* A2B534 802412F4 3C073F00 */ lui $a3, 0x3f00 +/* A2B538 802412F8 4480A000 */ mtc1 $zero, $f20 +/* A2B53C 802412FC AD050000 */ sw $a1, ($t0) +/* A2B540 80241300 AFB30010 */ sw $s3, 0x10($sp) +/* A2B544 80241304 0C090411 */ jal func_80241044 +/* A2B548 80241308 4600A386 */ mov.s $f14, $f20 +/* A2B54C 8024130C 24040002 */ addiu $a0, $zero, 2 +/* A2B550 80241310 3C108025 */ lui $s0, 0x8025 +/* A2B554 80241314 2610963C */ addiu $s0, $s0, -0x69c4 +/* A2B558 80241318 3C054302 */ lui $a1, 0x4302 +/* A2B55C 8024131C 34A56666 */ ori $a1, $a1, 0x6666 +/* A2B560 80241320 8E060004 */ lw $a2, 4($s0) +/* A2B564 80241324 4407A000 */ mfc1 $a3, $f20 +/* A2B568 80241328 3C0143EB */ lui $at, 0x43eb +/* A2B56C 8024132C 44810000 */ mtc1 $at, $f0 +/* A2B570 80241330 3C148025 */ lui $s4, 0x8025 +/* A2B574 80241334 269498D8 */ addiu $s4, $s4, -0x6728 +/* A2B578 80241338 AFB40014 */ sw $s4, 0x14($sp) +/* A2B57C 8024133C 0C090439 */ jal func_802410E4 +/* A2B580 80241340 E7A00010 */ swc1 $f0, 0x10($sp) +/* A2B584 80241344 3C128025 */ lui $s2, 0x8025 +/* A2B588 80241348 265298DC */ addiu $s2, $s2, -0x6724 +/* A2B58C 8024134C 3C014146 */ lui $at, 0x4146 +/* A2B590 80241350 34216666 */ ori $at, $at, 0x6666 +/* A2B594 80241354 44816000 */ mtc1 $at, $f12 +/* A2B598 80241358 C60E0008 */ lwc1 $f14, 8($s0) +/* A2B59C 8024135C 3C013D4C */ lui $at, 0x3d4c +/* A2B5A0 80241360 3421CCCD */ ori $at, $at, 0xcccd +/* A2B5A4 80241364 4481A000 */ mtc1 $at, $f20 +/* A2B5A8 80241368 8E460000 */ lw $a2, ($s2) +/* A2B5AC 8024136C 4407A000 */ mfc1 $a3, $f20 +/* A2B5B0 80241370 0C090411 */ jal func_80241044 +/* A2B5B4 80241374 AFB20010 */ sw $s2, 0x10($sp) +/* A2B5B8 80241378 3C118025 */ lui $s1, %hi(pause_items_get_row) +/* A2B5BC 8024137C 263198E0 */ addiu $s1, $s1, %lo(pause_items_get_row) +/* A2B5C0 80241380 3C01C186 */ lui $at, 0xc186 +/* A2B5C4 80241384 34216666 */ ori $at, $at, 0x6666 +/* A2B5C8 80241388 44816000 */ mtc1 $at, $f12 +/* A2B5CC 8024138C C60E0024 */ lwc1 $f14, 0x24($s0) +/* A2B5D0 80241390 8E260000 */ lw $a2, ($s1) +/* A2B5D4 80241394 4407A000 */ mfc1 $a3, $f20 +/* A2B5D8 80241398 0C090411 */ jal func_80241044 +/* A2B5DC 8024139C AFB10010 */ sw $s1, 0x10($sp) +/* A2B5E0 802413A0 3C108025 */ lui $s0, 0x8025 +/* A2B5E4 802413A4 261098E4 */ addiu $s0, $s0, -0x671c +/* A2B5E8 802413A8 3C014278 */ lui $at, 0x4278 +/* A2B5EC 802413AC 44816000 */ mtc1 $at, $f12 +/* A2B5F0 802413B0 3C014244 */ lui $at, 0x4244 +/* A2B5F4 802413B4 44817000 */ mtc1 $at, $f14 +/* A2B5F8 802413B8 8E060000 */ lw $a2, ($s0) +/* A2B5FC 802413BC 3C073DCC */ lui $a3, 0x3dcc +/* A2B600 802413C0 34E7CCCD */ ori $a3, $a3, 0xcccd +/* A2B604 802413C4 0C090411 */ jal func_80241044 +/* A2B608 802413C8 AFB00010 */ sw $s0, 0x10($sp) +/* A2B60C 802413CC 8E050000 */ lw $a1, ($s0) +/* A2B610 802413D0 0C090355 */ jal func_80240D54 +/* A2B614 802413D4 0000202D */ daddu $a0, $zero, $zero +/* A2B618 802413D8 C6800000 */ lwc1 $f0, ($s4) +/* A2B61C 802413DC C66C0000 */ lwc1 $f12, ($s3) +/* A2B620 802413E0 C6420000 */ lwc1 $f2, ($s2) +/* A2B624 802413E4 C6240000 */ lwc1 $f4, ($s1) +/* A2B628 802413E8 E6A004DC */ swc1 $f0, 0x4dc($s5) +/* A2B62C 802413EC E6A204E0 */ swc1 $f2, 0x4e0($s5) +/* A2B630 802413F0 0C00A8BB */ jal sin_deg +/* A2B634 802413F4 E6A404FC */ swc1 $f4, 0x4fc($s5) +/* A2B638 802413F8 3C0143FA */ lui $at, 0x43fa +/* A2B63C 802413FC 44811000 */ mtc1 $at, $f2 +/* A2B640 80241400 00000000 */ nop +/* A2B644 80241404 46020002 */ mul.s $f0, $f0, $f2 +/* A2B648 80241408 00000000 */ nop +/* A2B64C 8024140C C66C0000 */ lwc1 $f12, ($s3) +/* A2B650 80241410 0C00A8D4 */ jal cos_deg +/* A2B654 80241414 E6A004F0 */ swc1 $f0, 0x4f0($s5) +/* A2B658 80241418 3C01C3FA */ lui $at, 0xc3fa +/* A2B65C 8024141C 44811000 */ mtc1 $at, $f2 +/* A2B660 80241420 00000000 */ nop +/* A2B664 80241424 46020002 */ mul.s $f0, $f0, $f2 +/* A2B668 80241428 00000000 */ nop +/* A2B66C 8024142C 24020002 */ addiu $v0, $zero, 2 +/* A2B670 80241430 24030001 */ addiu $v1, $zero, 1 +/* A2B674 80241434 A6A30506 */ sh $v1, 0x506($s5) +/* A2B678 80241438 08090511 */ j .L80241444 +/* A2B67C 8024143C E6A004F8 */ swc1 $f0, 0x4f8($s5) +.L80241440: +/* A2B680 80241440 0000102D */ daddu $v0, $zero, $zero +.L80241444: +/* A2B684 80241444 8FBF0030 */ lw $ra, 0x30($sp) +/* A2B688 80241448 8FB5002C */ lw $s5, 0x2c($sp) +/* A2B68C 8024144C 8FB40028 */ lw $s4, 0x28($sp) +/* A2B690 80241450 8FB30024 */ lw $s3, 0x24($sp) +/* A2B694 80241454 8FB20020 */ lw $s2, 0x20($sp) +/* A2B698 80241458 8FB1001C */ lw $s1, 0x1c($sp) +/* A2B69C 8024145C 8FB00018 */ lw $s0, 0x18($sp) +/* A2B6A0 80241460 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A2B6A4 80241464 03E00008 */ jr $ra +/* A2B6A8 80241468 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024146C_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024146C_A2A240.s new file mode 100644 index 0000000000..cafbd75c1c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024146C_A2A240.s @@ -0,0 +1,155 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024146C_A2B6AC +/* A2B6AC 8024146C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A2B6B0 80241470 3C04800B */ lui $a0, %hi(gCameras) +/* A2B6B4 80241474 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2B6B8 80241478 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2B6BC 8024147C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2B6C0 80241480 3C05800A */ lui $a1, 0x800a +/* A2B6C4 80241484 8CA5A64C */ lw $a1, -0x59b4($a1) +/* A2B6C8 80241488 3C088025 */ lui $t0, 0x8025 +/* A2B6CC 8024148C 250898D4 */ addiu $t0, $t0, -0x672c +/* A2B6D0 80241490 AFBF0034 */ sw $ra, 0x34($sp) +/* A2B6D4 80241494 AFB60030 */ sw $s6, 0x30($sp) +/* A2B6D8 80241498 AFB5002C */ sw $s5, 0x2c($sp) +/* A2B6DC 8024149C AFB40028 */ sw $s4, 0x28($sp) +/* A2B6E0 802414A0 AFB30024 */ sw $s3, 0x24($sp) +/* A2B6E4 802414A4 AFB20020 */ sw $s2, 0x20($sp) +/* A2B6E8 802414A8 AFB1001C */ sw $s1, 0x1c($sp) +/* A2B6EC 802414AC AFB00018 */ sw $s0, 0x18($sp) +/* A2B6F0 802414B0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A2B6F4 802414B4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A2B6F8 802414B8 00031080 */ sll $v0, $v1, 2 +/* A2B6FC 802414BC 00431021 */ addu $v0, $v0, $v1 +/* A2B700 802414C0 00021080 */ sll $v0, $v0, 2 +/* A2B704 802414C4 00431023 */ subu $v0, $v0, $v1 +/* A2B708 802414C8 000218C0 */ sll $v1, $v0, 3 +/* A2B70C 802414CC 00431021 */ addu $v0, $v0, $v1 +/* A2B710 802414D0 000210C0 */ sll $v0, $v0, 3 +/* A2B714 802414D4 8D030000 */ lw $v1, ($t0) +/* A2B718 802414D8 14A30003 */ bne $a1, $v1, .L802414E8 +/* A2B71C 802414DC 0044B021 */ addu $s6, $v0, $a0 +/* A2B720 802414E0 080905A3 */ j .L8024168C +/* A2B724 802414E4 0000102D */ daddu $v0, $zero, $zero +.L802414E8: +/* A2B728 802414E8 3C138025 */ lui $s3, 0x8025 +/* A2B72C 802414EC 267398D0 */ addiu $s3, $s3, -0x6730 +/* A2B730 802414F0 3C01437A */ lui $at, 0x437a +/* A2B734 802414F4 44816000 */ mtc1 $at, $f12 +/* A2B738 802414F8 8E660000 */ lw $a2, ($s3) +/* A2B73C 802414FC 3C073F00 */ lui $a3, 0x3f00 +/* A2B740 80241500 4480B000 */ mtc1 $zero, $f22 +/* A2B744 80241504 AD050000 */ sw $a1, ($t0) +/* A2B748 80241508 AFB30010 */ sw $s3, 0x10($sp) +/* A2B74C 8024150C 0C090411 */ jal func_80241044 +/* A2B750 80241510 4600B386 */ mov.s $f14, $f22 +/* A2B754 80241514 24040002 */ addiu $a0, $zero, 2 +/* A2B758 80241518 3C108025 */ lui $s0, 0x8025 +/* A2B75C 8024151C 2610963C */ addiu $s0, $s0, -0x69c4 +/* A2B760 80241520 3C148025 */ lui $s4, 0x8025 +/* A2B764 80241524 269498FC */ addiu $s4, $s4, -0x6704 +/* A2B768 80241528 C6800000 */ lwc1 $f0, ($s4) +/* A2B76C 8024152C 46800020 */ cvt.s.w $f0, $f0 +/* A2B770 80241530 3C054302 */ lui $a1, 0x4302 +/* A2B774 80241534 34A56666 */ ori $a1, $a1, 0x6666 +/* A2B778 80241538 8E060004 */ lw $a2, 4($s0) +/* A2B77C 8024153C 44070000 */ mfc1 $a3, $f0 +/* A2B780 80241540 3C0143EB */ lui $at, 0x43eb +/* A2B784 80241544 44810000 */ mtc1 $at, $f0 +/* A2B788 80241548 3C158025 */ lui $s5, 0x8025 +/* A2B78C 8024154C 26B598E8 */ addiu $s5, $s5, -0x6718 +/* A2B790 80241550 AFB50014 */ sw $s5, 0x14($sp) +/* A2B794 80241554 0C090439 */ jal func_802410E4 +/* A2B798 80241558 E7A00010 */ swc1 $f0, 0x10($sp) +/* A2B79C 8024155C 3C128025 */ lui $s2, 0x8025 +/* A2B7A0 80241560 265298EC */ addiu $s2, $s2, -0x6714 +/* A2B7A4 80241564 3C014146 */ lui $at, 0x4146 +/* A2B7A8 80241568 34216666 */ ori $at, $at, 0x6666 +/* A2B7AC 8024156C 44816000 */ mtc1 $at, $f12 +/* A2B7B0 80241570 C60E0008 */ lwc1 $f14, 8($s0) +/* A2B7B4 80241574 3C013D4C */ lui $at, 0x3d4c +/* A2B7B8 80241578 3421CCCD */ ori $at, $at, 0xcccd +/* A2B7BC 8024157C 4481A000 */ mtc1 $at, $f20 +/* A2B7C0 80241580 8E460000 */ lw $a2, ($s2) +/* A2B7C4 80241584 4407A000 */ mfc1 $a3, $f20 +/* A2B7C8 80241588 0C090411 */ jal func_80241044 +/* A2B7CC 8024158C AFB20010 */ sw $s2, 0x10($sp) +/* A2B7D0 80241590 3C118025 */ lui $s1, 0x8025 +/* A2B7D4 80241594 263198F0 */ addiu $s1, $s1, -0x6710 +/* A2B7D8 80241598 3C01C186 */ lui $at, 0xc186 +/* A2B7DC 8024159C 34216666 */ ori $at, $at, 0x6666 +/* A2B7E0 802415A0 44816000 */ mtc1 $at, $f12 +/* A2B7E4 802415A4 C60E0024 */ lwc1 $f14, 0x24($s0) +/* A2B7E8 802415A8 8E260000 */ lw $a2, ($s1) +/* A2B7EC 802415AC 4407A000 */ mfc1 $a3, $f20 +/* A2B7F0 802415B0 0C090411 */ jal func_80241044 +/* A2B7F4 802415B4 AFB10010 */ sw $s1, 0x10($sp) +/* A2B7F8 802415B8 3C108025 */ lui $s0, 0x8025 +/* A2B7FC 802415BC 261098F4 */ addiu $s0, $s0, -0x670c +/* A2B800 802415C0 3C014278 */ lui $at, 0x4278 +/* A2B804 802415C4 44816000 */ mtc1 $at, $f12 +/* A2B808 802415C8 3C014244 */ lui $at, 0x4244 +/* A2B80C 802415CC 44817000 */ mtc1 $at, $f14 +/* A2B810 802415D0 8E060000 */ lw $a2, ($s0) +/* A2B814 802415D4 3C073DCC */ lui $a3, 0x3dcc +/* A2B818 802415D8 34E7CCCD */ ori $a3, $a3, 0xcccd +/* A2B81C 802415DC 0C090411 */ jal func_80241044 +/* A2B820 802415E0 AFB00010 */ sw $s0, 0x10($sp) +/* A2B824 802415E4 8E050000 */ lw $a1, ($s0) +/* A2B828 802415E8 0C090355 */ jal func_80240D54 +/* A2B82C 802415EC 0000202D */ daddu $a0, $zero, $zero +/* A2B830 802415F0 C6A00000 */ lwc1 $f0, ($s5) +/* A2B834 802415F4 C66C0000 */ lwc1 $f12, ($s3) +/* A2B838 802415F8 C6420000 */ lwc1 $f2, ($s2) +/* A2B83C 802415FC C6240000 */ lwc1 $f4, ($s1) +/* A2B840 80241600 E6C004DC */ swc1 $f0, 0x4dc($s6) +/* A2B844 80241604 E6C204E0 */ swc1 $f2, 0x4e0($s6) +/* A2B848 80241608 0C00A8BB */ jal sin_deg +/* A2B84C 8024160C E6C404FC */ swc1 $f4, 0x4fc($s6) +/* A2B850 80241610 3C0143FA */ lui $at, 0x43fa +/* A2B854 80241614 44811000 */ mtc1 $at, $f2 +/* A2B858 80241618 00000000 */ nop +/* A2B85C 8024161C 46020002 */ mul.s $f0, $f0, $f2 +/* A2B860 80241620 00000000 */ nop +/* A2B864 80241624 C66C0000 */ lwc1 $f12, ($s3) +/* A2B868 80241628 0C00A8D4 */ jal cos_deg +/* A2B86C 8024162C E6C004F0 */ swc1 $f0, 0x4f0($s6) +/* A2B870 80241630 3C01C3FA */ lui $at, 0xc3fa +/* A2B874 80241634 44811000 */ mtc1 $at, $f2 +/* A2B878 80241638 24020001 */ addiu $v0, $zero, 1 +/* A2B87C 8024163C A6C20506 */ sh $v0, 0x506($s6) +/* A2B880 80241640 46020002 */ mul.s $f0, $f0, $f2 +/* A2B884 80241644 00000000 */ nop +/* A2B888 80241648 8E820000 */ lw $v0, ($s4) +/* A2B88C 8024164C C6620000 */ lwc1 $f2, ($s3) +/* A2B890 80241650 24420001 */ addiu $v0, $v0, 1 +/* A2B894 80241654 AE820000 */ sw $v0, ($s4) +/* A2B898 80241658 46161032 */ c.eq.s $f2, $f22 +/* A2B89C 8024165C 00000000 */ nop +/* A2B8A0 80241660 45000006 */ bc1f .L8024167C +/* A2B8A4 80241664 E6C004F8 */ swc1 $f0, 0x4f8($s6) +/* A2B8A8 80241668 3C038025 */ lui $v1, 0x8025 +/* A2B8AC 8024166C 246398F8 */ addiu $v1, $v1, -0x6708 +/* A2B8B0 80241670 8C620000 */ lw $v0, ($v1) +/* A2B8B4 80241674 24420001 */ addiu $v0, $v0, 1 +/* A2B8B8 80241678 AC620000 */ sw $v0, ($v1) +.L8024167C: +/* A2B8BC 8024167C 3C028025 */ lui $v0, 0x8025 +/* A2B8C0 80241680 8C4298F8 */ lw $v0, -0x6708($v0) +/* A2B8C4 80241684 2842001F */ slti $v0, $v0, 0x1f +/* A2B8C8 80241688 38420001 */ xori $v0, $v0, 1 +.L8024168C: +/* A2B8CC 8024168C 8FBF0034 */ lw $ra, 0x34($sp) +/* A2B8D0 80241690 8FB60030 */ lw $s6, 0x30($sp) +/* A2B8D4 80241694 8FB5002C */ lw $s5, 0x2c($sp) +/* A2B8D8 80241698 8FB40028 */ lw $s4, 0x28($sp) +/* A2B8DC 8024169C 8FB30024 */ lw $s3, 0x24($sp) +/* A2B8E0 802416A0 8FB20020 */ lw $s2, 0x20($sp) +/* A2B8E4 802416A4 8FB1001C */ lw $s1, 0x1c($sp) +/* A2B8E8 802416A8 8FB00018 */ lw $s0, 0x18($sp) +/* A2B8EC 802416AC D7B60040 */ ldc1 $f22, 0x40($sp) +/* A2B8F0 802416B0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A2B8F4 802416B4 03E00008 */ jr $ra +/* A2B8F8 802416B8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802416BC.s b/asm/nonmatchings/world/area_hos/hos_05/func_802416BC.s new file mode 100644 index 0000000000..c0ddc16436 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802416BC.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416BC +/* A2B8FC 802416BC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A2B900 802416C0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2B904 802416C4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2B908 802416C8 3C04800B */ lui $a0, %hi(gCameras) +/* A2B90C 802416CC 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2B910 802416D0 AFBF0020 */ sw $ra, 0x20($sp) +/* A2B914 802416D4 AFB3001C */ sw $s3, 0x1c($sp) +/* A2B918 802416D8 AFB20018 */ sw $s2, 0x18($sp) +/* A2B91C 802416DC AFB10014 */ sw $s1, 0x14($sp) +/* A2B920 802416E0 AFB00010 */ sw $s0, 0x10($sp) +/* A2B924 802416E4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A2B928 802416E8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A2B92C 802416EC 00031080 */ sll $v0, $v1, 2 +/* A2B930 802416F0 00431021 */ addu $v0, $v0, $v1 +/* A2B934 802416F4 00021080 */ sll $v0, $v0, 2 +/* A2B938 802416F8 00431023 */ subu $v0, $v0, $v1 +/* A2B93C 802416FC 000218C0 */ sll $v1, $v0, 3 +/* A2B940 80241700 00431021 */ addu $v0, $v0, $v1 +/* A2B944 80241704 000210C0 */ sll $v0, $v0, 3 +/* A2B948 80241708 10A00004 */ beqz $a1, .L8024171C +/* A2B94C 8024170C 00449021 */ addu $s2, $v0, $a0 +/* A2B950 80241710 96420000 */ lhu $v0, ($s2) +/* A2B954 80241714 34420008 */ ori $v0, $v0, 8 +/* A2B958 80241718 A6420000 */ sh $v0, ($s2) +.L8024171C: +/* A2B95C 8024171C 3C118025 */ lui $s1, 0x8025 +/* A2B960 80241720 26319900 */ addiu $s1, $s1, -0x6700 +/* A2B964 80241724 8E230000 */ lw $v1, ($s1) +/* A2B968 80241728 00031100 */ sll $v0, $v1, 4 +/* A2B96C 8024172C 00431023 */ subu $v0, $v0, $v1 +/* A2B970 80241730 00021080 */ sll $v0, $v0, 2 +/* A2B974 80241734 00431021 */ addu $v0, $v0, $v1 +/* A2B978 80241738 00021080 */ sll $v0, $v0, 2 +/* A2B97C 8024173C 00431023 */ subu $v0, $v0, $v1 +/* A2B980 80241740 00021040 */ sll $v0, $v0, 1 +/* A2B984 80241744 44826000 */ mtc1 $v0, $f12 +/* A2B988 80241748 00000000 */ nop +/* A2B98C 8024174C 46806320 */ cvt.s.w $f12, $f12 +/* A2B990 80241750 0C00A8BB */ jal sin_deg +/* A2B994 80241754 26530194 */ addiu $s3, $s2, 0x194 +/* A2B998 80241758 3C108025 */ lui $s0, 0x8025 +/* A2B99C 8024175C 26109904 */ addiu $s0, $s0, -0x66fc +/* A2B9A0 80241760 8E230000 */ lw $v1, ($s1) +/* A2B9A4 80241764 C6140000 */ lwc1 $f20, ($s0) +/* A2B9A8 80241768 000311C0 */ sll $v0, $v1, 7 +/* A2B9AC 8024176C 00431023 */ subu $v0, $v0, $v1 +/* A2B9B0 80241770 00021040 */ sll $v0, $v0, 1 +/* A2B9B4 80241774 4600A502 */ mul.s $f20, $f20, $f0 +/* A2B9B8 80241778 00000000 */ nop +/* A2B9BC 8024177C 44826000 */ mtc1 $v0, $f12 +/* A2B9C0 80241780 00000000 */ nop +/* A2B9C4 80241784 0C00A8D4 */ jal cos_deg +/* A2B9C8 80241788 46806320 */ cvt.s.w $f12, $f12 +/* A2B9CC 8024178C C6020000 */ lwc1 $f2, ($s0) +/* A2B9D0 80241790 46001082 */ mul.s $f2, $f2, $f0 +/* A2B9D4 80241794 00000000 */ nop +/* A2B9D8 80241798 4480B000 */ mtc1 $zero, $f22 +/* A2B9DC 8024179C 00000000 */ nop +/* A2B9E0 802417A0 4407B000 */ mfc1 $a3, $f22 +/* A2B9E4 802417A4 4405A000 */ mfc1 $a1, $f20 +/* A2B9E8 802417A8 44061000 */ mfc1 $a2, $f2 +/* A2B9EC 802417AC 0C019E40 */ jal guTranslateF +/* A2B9F0 802417B0 0260202D */ daddu $a0, $s3, $zero +/* A2B9F4 802417B4 C6020000 */ lwc1 $f2, ($s0) +/* A2B9F8 802417B8 3C014140 */ lui $at, 0x4140 +/* A2B9FC 802417BC 44810000 */ mtc1 $at, $f0 +/* A2BA00 802417C0 00000000 */ nop +/* A2BA04 802417C4 46020001 */ sub.s $f0, $f0, $f2 +/* A2BA08 802417C8 3C018025 */ lui $at, 0x8025 +/* A2BA0C 802417CC D424F1E8 */ ldc1 $f4, -0xe18($at) +/* A2BA10 802417D0 46000021 */ cvt.d.s $f0, $f0 +/* A2BA14 802417D4 46240002 */ mul.d $f0, $f0, $f4 +/* A2BA18 802417D8 00000000 */ nop +/* A2BA1C 802417DC 8E220000 */ lw $v0, ($s1) +/* A2BA20 802417E0 460010A1 */ cvt.d.s $f2, $f2 +/* A2BA24 802417E4 24420001 */ addiu $v0, $v0, 1 +/* A2BA28 802417E8 46201080 */ add.d $f2, $f2, $f0 +/* A2BA2C 802417EC AE220000 */ sw $v0, ($s1) +/* A2BA30 802417F0 28420015 */ slti $v0, $v0, 0x15 +/* A2BA34 802417F4 462010A0 */ cvt.s.d $f2, $f2 +/* A2BA38 802417F8 10400003 */ beqz $v0, .L80241808 +/* A2BA3C 802417FC E6020000 */ swc1 $f2, ($s0) +/* A2BA40 80241800 0809060B */ j .L8024182C +/* A2BA44 80241804 0000102D */ daddu $v0, $zero, $zero +.L80241808: +/* A2BA48 80241808 4405B000 */ mfc1 $a1, $f22 +/* A2BA4C 8024180C 0260202D */ daddu $a0, $s3, $zero +/* A2BA50 80241810 00A0302D */ daddu $a2, $a1, $zero +/* A2BA54 80241814 0C019E40 */ jal guTranslateF +/* A2BA58 80241818 00A0382D */ daddu $a3, $a1, $zero +/* A2BA5C 8024181C 96430000 */ lhu $v1, ($s2) +/* A2BA60 80241820 24020001 */ addiu $v0, $zero, 1 +/* A2BA64 80241824 3063FFF7 */ andi $v1, $v1, 0xfff7 +/* A2BA68 80241828 A6430000 */ sh $v1, ($s2) +.L8024182C: +/* A2BA6C 8024182C 8FBF0020 */ lw $ra, 0x20($sp) +/* A2BA70 80241830 8FB3001C */ lw $s3, 0x1c($sp) +/* A2BA74 80241834 8FB20018 */ lw $s2, 0x18($sp) +/* A2BA78 80241838 8FB10014 */ lw $s1, 0x14($sp) +/* A2BA7C 8024183C 8FB00010 */ lw $s0, 0x10($sp) +/* A2BA80 80241840 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A2BA84 80241844 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A2BA88 80241848 03E00008 */ jr $ra +/* A2BA8C 8024184C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241850.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241850.s new file mode 100644 index 0000000000..2e63c1662e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241850.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241850 +/* A2BA90 80241850 27BDFF80 */ addiu $sp, $sp, -0x80 +/* A2BA94 80241854 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2BA98 80241858 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2BA9C 8024185C 3C04800B */ lui $a0, %hi(gCameras) +/* A2BAA0 80241860 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2BAA4 80241864 AFBF0064 */ sw $ra, 0x64($sp) +/* A2BAA8 80241868 AFB20060 */ sw $s2, 0x60($sp) +/* A2BAAC 8024186C AFB1005C */ sw $s1, 0x5c($sp) +/* A2BAB0 80241870 AFB00058 */ sw $s0, 0x58($sp) +/* A2BAB4 80241874 F7B80078 */ sdc1 $f24, 0x78($sp) +/* A2BAB8 80241878 F7B60070 */ sdc1 $f22, 0x70($sp) +/* A2BABC 8024187C F7B40068 */ sdc1 $f20, 0x68($sp) +/* A2BAC0 80241880 00031080 */ sll $v0, $v1, 2 +/* A2BAC4 80241884 00431021 */ addu $v0, $v0, $v1 +/* A2BAC8 80241888 00021080 */ sll $v0, $v0, 2 +/* A2BACC 8024188C 00431023 */ subu $v0, $v0, $v1 +/* A2BAD0 80241890 000218C0 */ sll $v1, $v0, 3 +/* A2BAD4 80241894 00431021 */ addu $v0, $v0, $v1 +/* A2BAD8 80241898 000210C0 */ sll $v0, $v0, 3 +/* A2BADC 8024189C 10A00004 */ beqz $a1, .L802418B0 +/* A2BAE0 802418A0 00448821 */ addu $s1, $v0, $a0 +/* A2BAE4 802418A4 96220000 */ lhu $v0, ($s1) +/* A2BAE8 802418A8 34420008 */ ori $v0, $v0, 8 +/* A2BAEC 802418AC A6220000 */ sh $v0, ($s1) +.L802418B0: +/* A2BAF0 802418B0 3C128025 */ lui $s2, 0x8025 +/* A2BAF4 802418B4 26529908 */ addiu $s2, $s2, -0x66f8 +/* A2BAF8 802418B8 8E430000 */ lw $v1, ($s2) +/* A2BAFC 802418BC 00031100 */ sll $v0, $v1, 4 +/* A2BB00 802418C0 00431023 */ subu $v0, $v0, $v1 +/* A2BB04 802418C4 00021080 */ sll $v0, $v0, 2 +/* A2BB08 802418C8 00431021 */ addu $v0, $v0, $v1 +/* A2BB0C 802418CC 00021080 */ sll $v0, $v0, 2 +/* A2BB10 802418D0 00431023 */ subu $v0, $v0, $v1 +/* A2BB14 802418D4 00021040 */ sll $v0, $v0, 1 +/* A2BB18 802418D8 44826000 */ mtc1 $v0, $f12 +/* A2BB1C 802418DC 00000000 */ nop +/* A2BB20 802418E0 0C00A8BB */ jal sin_deg +/* A2BB24 802418E4 46806320 */ cvt.s.w $f12, $f12 +/* A2BB28 802418E8 3C108025 */ lui $s0, 0x8025 +/* A2BB2C 802418EC 2610990C */ addiu $s0, $s0, -0x66f4 +/* A2BB30 802418F0 8E430000 */ lw $v1, ($s2) +/* A2BB34 802418F4 C6160000 */ lwc1 $f22, ($s0) +/* A2BB38 802418F8 000311C0 */ sll $v0, $v1, 7 +/* A2BB3C 802418FC 00431023 */ subu $v0, $v0, $v1 +/* A2BB40 80241900 00021040 */ sll $v0, $v0, 1 +/* A2BB44 80241904 4600B582 */ mul.s $f22, $f22, $f0 +/* A2BB48 80241908 00000000 */ nop +/* A2BB4C 8024190C 44826000 */ mtc1 $v0, $f12 +/* A2BB50 80241910 00000000 */ nop +/* A2BB54 80241914 0C00A8D4 */ jal cos_deg +/* A2BB58 80241918 46806320 */ cvt.s.w $f12, $f12 +/* A2BB5C 8024191C C6140000 */ lwc1 $f20, ($s0) +/* A2BB60 80241920 4600A502 */ mul.s $f20, $f20, $f0 +/* A2BB64 80241924 00000000 */ nop +/* A2BB68 80241928 4480C000 */ mtc1 $zero, $f24 +/* A2BB6C 8024192C 26300194 */ addiu $s0, $s1, 0x194 +/* A2BB70 80241930 4407C000 */ mfc1 $a3, $f24 +/* A2BB74 80241934 4405B000 */ mfc1 $a1, $f22 +/* A2BB78 80241938 4406A000 */ mfc1 $a2, $f20 +/* A2BB7C 8024193C 0C019E40 */ jal guTranslateF +/* A2BB80 80241940 0200202D */ daddu $a0, $s0, $zero +/* A2BB84 80241944 4405B000 */ mfc1 $a1, $f22 +/* A2BB88 80241948 4406A000 */ mfc1 $a2, $f20 +/* A2BB8C 8024194C 4407C000 */ mfc1 $a3, $f24 +/* A2BB90 80241950 3C0141A0 */ lui $at, 0x41a0 +/* A2BB94 80241954 4481B000 */ mtc1 $at, $f22 +/* A2BB98 80241958 0C019E40 */ jal guTranslateF +/* A2BB9C 8024195C 0200202D */ daddu $a0, $s0, $zero +/* A2BBA0 80241960 4405B000 */ mfc1 $a1, $f22 +/* A2BBA4 80241964 4406C000 */ mfc1 $a2, $f24 +/* A2BBA8 80241968 4407C000 */ mfc1 $a3, $f24 +/* A2BBAC 8024196C 3C013F80 */ lui $at, 0x3f80 +/* A2BBB0 80241970 4481A000 */ mtc1 $at, $f20 +/* A2BBB4 80241974 27A40018 */ addiu $a0, $sp, 0x18 +/* A2BBB8 80241978 0C019EC8 */ jal guRotateF +/* A2BBBC 8024197C E7B40010 */ swc1 $f20, 0x10($sp) +/* A2BBC0 80241980 27A40018 */ addiu $a0, $sp, 0x18 +/* A2BBC4 80241984 0200282D */ daddu $a1, $s0, $zero +/* A2BBC8 80241988 0C019D80 */ jal guMtxCatF +/* A2BBCC 8024198C 0200302D */ daddu $a2, $s0, $zero +/* A2BBD0 80241990 8E430000 */ lw $v1, ($s2) +/* A2BBD4 80241994 24020001 */ addiu $v0, $zero, 1 +/* A2BBD8 80241998 A6220506 */ sh $v0, 0x506($s1) +/* A2BBDC 8024199C 2862000A */ slti $v0, $v1, 0xa +/* A2BBE0 802419A0 10400004 */ beqz $v0, .L802419B4 +/* A2BBE4 802419A4 24620001 */ addiu $v0, $v1, 1 +/* A2BBE8 802419A8 AE420000 */ sw $v0, ($s2) +/* A2BBEC 802419AC 08090674 */ j .L802419D0 +/* A2BBF0 802419B0 0000102D */ daddu $v0, $zero, $zero +.L802419B4: +/* A2BBF4 802419B4 4405B000 */ mfc1 $a1, $f22 +/* A2BBF8 802419B8 4406C000 */ mfc1 $a2, $f24 +/* A2BBFC 802419BC 0200202D */ daddu $a0, $s0, $zero +/* A2BC00 802419C0 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2BC04 802419C4 0C019EC8 */ jal guRotateF +/* A2BC08 802419C8 00C0382D */ daddu $a3, $a2, $zero +/* A2BC0C 802419CC 24020001 */ addiu $v0, $zero, 1 +.L802419D0: +/* A2BC10 802419D0 8FBF0064 */ lw $ra, 0x64($sp) +/* A2BC14 802419D4 8FB20060 */ lw $s2, 0x60($sp) +/* A2BC18 802419D8 8FB1005C */ lw $s1, 0x5c($sp) +/* A2BC1C 802419DC 8FB00058 */ lw $s0, 0x58($sp) +/* A2BC20 802419E0 D7B80078 */ ldc1 $f24, 0x78($sp) +/* A2BC24 802419E4 D7B60070 */ ldc1 $f22, 0x70($sp) +/* A2BC28 802419E8 D7B40068 */ ldc1 $f20, 0x68($sp) +/* A2BC2C 802419EC 03E00008 */ jr $ra +/* A2BC30 802419F0 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802419F4.s b/asm/nonmatchings/world/area_hos/hos_05/func_802419F4.s new file mode 100644 index 0000000000..48e4da02d7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802419F4.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419F4 +/* A2BC34 802419F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2BC38 802419F8 AFB00010 */ sw $s0, 0x10($sp) +/* A2BC3C 802419FC 0080802D */ daddu $s0, $a0, $zero +/* A2BC40 80241A00 AFB10014 */ sw $s1, 0x14($sp) +/* A2BC44 80241A04 00A0882D */ daddu $s1, $a1, $zero +/* A2BC48 80241A08 AFBF0018 */ sw $ra, 0x18($sp) +/* A2BC4C 80241A0C 0C0B36B0 */ jal resolve_npc +/* A2BC50 80241A10 24050007 */ addiu $a1, $zero, 7 +/* A2BC54 80241A14 0200202D */ daddu $a0, $s0, $zero +/* A2BC58 80241A18 24050008 */ addiu $a1, $zero, 8 +/* A2BC5C 80241A1C 0C0B36B0 */ jal resolve_npc +/* A2BC60 80241A20 0040802D */ daddu $s0, $v0, $zero +/* A2BC64 80241A24 12200017 */ beqz $s1, .L80241A84 +/* A2BC68 80241A28 0040282D */ daddu $a1, $v0, $zero +/* A2BC6C 80241A2C 3C01C280 */ lui $at, 0xc280 +/* A2BC70 80241A30 44810000 */ mtc1 $at, $f0 +/* A2BC74 80241A34 3C0143C8 */ lui $at, 0x43c8 +/* A2BC78 80241A38 44811000 */ mtc1 $at, $f2 +/* A2BC7C 80241A3C 3C0142AA */ lui $at, 0x42aa +/* A2BC80 80241A40 44812000 */ mtc1 $at, $f4 +/* A2BC84 80241A44 E6000038 */ swc1 $f0, 0x38($s0) +/* A2BC88 80241A48 E602003C */ swc1 $f2, 0x3c($s0) +/* A2BC8C 80241A4C E6040040 */ swc1 $f4, 0x40($s0) +/* A2BC90 80241A50 E4A00038 */ swc1 $f0, 0x38($a1) +/* A2BC94 80241A54 E4A2003C */ swc1 $f2, 0x3c($a1) +/* A2BC98 80241A58 E4A40040 */ swc1 $f4, 0x40($a1) +/* A2BC9C 80241A5C C6000038 */ lwc1 $f0, 0x38($s0) +/* A2BCA0 80241A60 E600006C */ swc1 $f0, 0x6c($s0) +/* A2BCA4 80241A64 C4A00038 */ lwc1 $f0, 0x38($a1) +/* A2BCA8 80241A68 E4A0006C */ swc1 $f0, 0x6c($a1) +/* A2BCAC 80241A6C C6000040 */ lwc1 $f0, 0x40($s0) +/* A2BCB0 80241A70 E6000074 */ swc1 $f0, 0x74($s0) +/* A2BCB4 80241A74 C4A00040 */ lwc1 $f0, 0x40($a1) +/* A2BCB8 80241A78 3C018025 */ lui $at, 0x8025 +/* A2BCBC 80241A7C E422F2C8 */ swc1 $f2, -0xd38($at) +/* A2BCC0 80241A80 E4A00074 */ swc1 $f0, 0x74($a1) +.L80241A84: +/* A2BCC4 80241A84 3C038025 */ lui $v1, 0x8025 +/* A2BCC8 80241A88 8C639910 */ lw $v1, -0x66f0($v1) +/* A2BCCC 80241A8C 28620014 */ slti $v0, $v1, 0x14 +/* A2BCD0 80241A90 10400009 */ beqz $v0, .L80241AB8 +/* A2BCD4 80241A94 00031040 */ sll $v0, $v1, 1 +/* A2BCD8 80241A98 3C018025 */ lui $at, 0x8025 +/* A2BCDC 80241A9C 00220821 */ addu $at, $at, $v0 +/* A2BCE0 80241AA0 84229934 */ lh $v0, -0x66cc($at) +/* A2BCE4 80241AA4 44820000 */ mtc1 $v0, $f0 +/* A2BCE8 80241AA8 00000000 */ nop +/* A2BCEC 80241AAC 46800020 */ cvt.s.w $f0, $f0 +/* A2BCF0 80241AB0 080906BE */ j .L80241AF8 +/* A2BCF4 80241AB4 E600003C */ swc1 $f0, 0x3c($s0) +.L80241AB8: +/* A2BCF8 80241AB8 2462FFEC */ addiu $v0, $v1, -0x14 +/* A2BCFC 80241ABC 3042001E */ andi $v0, $v0, 0x1e +/* A2BD00 80241AC0 3C018025 */ lui $at, 0x8025 +/* A2BD04 80241AC4 00220821 */ addu $at, $at, $v0 +/* A2BD08 80241AC8 84229914 */ lh $v0, -0x66ec($at) +/* A2BD0C 80241ACC 3C013DCC */ lui $at, 0x3dcc +/* A2BD10 80241AD0 3421CCCD */ ori $at, $at, 0xcccd +/* A2BD14 80241AD4 44810000 */ mtc1 $at, $f0 +/* A2BD18 80241AD8 44821000 */ mtc1 $v0, $f2 +/* A2BD1C 80241ADC 00000000 */ nop +/* A2BD20 80241AE0 468010A0 */ cvt.s.w $f2, $f2 +/* A2BD24 80241AE4 46001082 */ mul.s $f2, $f2, $f0 +/* A2BD28 80241AE8 00000000 */ nop +/* A2BD2C 80241AEC C600003C */ lwc1 $f0, 0x3c($s0) +/* A2BD30 80241AF0 46020000 */ add.s $f0, $f0, $f2 +/* A2BD34 80241AF4 E600003C */ swc1 $f0, 0x3c($s0) +.L80241AF8: +/* A2BD38 80241AF8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A2BD3C 80241AFC 3C048025 */ lui $a0, 0x8025 +/* A2BD40 80241B00 24849910 */ addiu $a0, $a0, -0x66f0 +/* A2BD44 80241B04 E4A0003C */ swc1 $f0, 0x3c($a1) +/* A2BD48 80241B08 8C830000 */ lw $v1, ($a0) +/* A2BD4C 80241B0C C600003C */ lwc1 $f0, 0x3c($s0) +/* A2BD50 80241B10 24630001 */ addiu $v1, $v1, 1 +/* A2BD54 80241B14 E6000070 */ swc1 $f0, 0x70($s0) +/* A2BD58 80241B18 C4A0003C */ lwc1 $f0, 0x3c($a1) +/* A2BD5C 80241B1C 286207D0 */ slti $v0, $v1, 0x7d0 +/* A2BD60 80241B20 AC830000 */ sw $v1, ($a0) +/* A2BD64 80241B24 E4A00070 */ swc1 $f0, 0x70($a1) +/* A2BD68 80241B28 8FBF0018 */ lw $ra, 0x18($sp) +/* A2BD6C 80241B2C 8FB10014 */ lw $s1, 0x14($sp) +/* A2BD70 80241B30 8FB00010 */ lw $s0, 0x10($sp) +/* A2BD74 80241B34 38420001 */ xori $v0, $v0, 1 +/* A2BD78 80241B38 03E00008 */ jr $ra +/* A2BD7C 80241B3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241B40.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241B40.s new file mode 100644 index 0000000000..84dbf7e045 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241B40.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B40 +/* A2BD80 80241B40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2BD84 80241B44 AFB00010 */ sw $s0, 0x10($sp) +/* A2BD88 80241B48 0080802D */ daddu $s0, $a0, $zero +/* A2BD8C 80241B4C AFB10014 */ sw $s1, 0x14($sp) +/* A2BD90 80241B50 00A0882D */ daddu $s1, $a1, $zero +/* A2BD94 80241B54 AFBF0018 */ sw $ra, 0x18($sp) +/* A2BD98 80241B58 0C0B36B0 */ jal resolve_npc +/* A2BD9C 80241B5C 24050007 */ addiu $a1, $zero, 7 +/* A2BDA0 80241B60 0200202D */ daddu $a0, $s0, $zero +/* A2BDA4 80241B64 24050008 */ addiu $a1, $zero, 8 +/* A2BDA8 80241B68 0C0B36B0 */ jal resolve_npc +/* A2BDAC 80241B6C 0040802D */ daddu $s0, $v0, $zero +/* A2BDB0 80241B70 12200017 */ beqz $s1, .L80241BD0 +/* A2BDB4 80241B74 0040282D */ daddu $a1, $v0, $zero +/* A2BDB8 80241B78 3C01C280 */ lui $at, 0xc280 +/* A2BDBC 80241B7C 44810000 */ mtc1 $at, $f0 +/* A2BDC0 80241B80 3C014307 */ lui $at, 0x4307 +/* A2BDC4 80241B84 44811000 */ mtc1 $at, $f2 +/* A2BDC8 80241B88 3C0142AA */ lui $at, 0x42aa +/* A2BDCC 80241B8C 44812000 */ mtc1 $at, $f4 +/* A2BDD0 80241B90 E6000038 */ swc1 $f0, 0x38($s0) +/* A2BDD4 80241B94 E602003C */ swc1 $f2, 0x3c($s0) +/* A2BDD8 80241B98 E6040040 */ swc1 $f4, 0x40($s0) +/* A2BDDC 80241B9C E4A00038 */ swc1 $f0, 0x38($a1) +/* A2BDE0 80241BA0 E4A2003C */ swc1 $f2, 0x3c($a1) +/* A2BDE4 80241BA4 E4A40040 */ swc1 $f4, 0x40($a1) +/* A2BDE8 80241BA8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A2BDEC 80241BAC E600006C */ swc1 $f0, 0x6c($s0) +/* A2BDF0 80241BB0 C4A00038 */ lwc1 $f0, 0x38($a1) +/* A2BDF4 80241BB4 E4A0006C */ swc1 $f0, 0x6c($a1) +/* A2BDF8 80241BB8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A2BDFC 80241BBC E6000074 */ swc1 $f0, 0x74($s0) +/* A2BE00 80241BC0 C4A00040 */ lwc1 $f0, 0x40($a1) +/* A2BE04 80241BC4 3C018025 */ lui $at, 0x8025 +/* A2BE08 80241BC8 E422F2CC */ swc1 $f2, -0xd34($at) +/* A2BE0C 80241BCC E4A00074 */ swc1 $f0, 0x74($a1) +.L80241BD0: +/* A2BE10 80241BD0 3C048025 */ lui $a0, 0x8025 +/* A2BE14 80241BD4 2484995C */ addiu $a0, $a0, -0x66a4 +/* A2BE18 80241BD8 8C830000 */ lw $v1, ($a0) +/* A2BE1C 80241BDC 2462FFEC */ addiu $v0, $v1, -0x14 +/* A2BE20 80241BE0 3042001E */ andi $v0, $v0, 0x1e +/* A2BE24 80241BE4 3C018025 */ lui $at, 0x8025 +/* A2BE28 80241BE8 00220821 */ addu $at, $at, $v0 +/* A2BE2C 80241BEC 84229960 */ lh $v0, -0x66a0($at) +/* A2BE30 80241BF0 3C013DCC */ lui $at, 0x3dcc +/* A2BE34 80241BF4 3421CCCD */ ori $at, $at, 0xcccd +/* A2BE38 80241BF8 44810000 */ mtc1 $at, $f0 +/* A2BE3C 80241BFC 44821000 */ mtc1 $v0, $f2 +/* A2BE40 80241C00 00000000 */ nop +/* A2BE44 80241C04 468010A0 */ cvt.s.w $f2, $f2 +/* A2BE48 80241C08 46001082 */ mul.s $f2, $f2, $f0 +/* A2BE4C 80241C0C 00000000 */ nop +/* A2BE50 80241C10 C600003C */ lwc1 $f0, 0x3c($s0) +/* A2BE54 80241C14 46020000 */ add.s $f0, $f0, $f2 +/* A2BE58 80241C18 E600003C */ swc1 $f0, 0x3c($s0) +/* A2BE5C 80241C1C E4A0003C */ swc1 $f0, 0x3c($a1) +/* A2BE60 80241C20 C600003C */ lwc1 $f0, 0x3c($s0) +/* A2BE64 80241C24 24630001 */ addiu $v1, $v1, 1 +/* A2BE68 80241C28 E6000070 */ swc1 $f0, 0x70($s0) +/* A2BE6C 80241C2C C4A0003C */ lwc1 $f0, 0x3c($a1) +/* A2BE70 80241C30 286207D0 */ slti $v0, $v1, 0x7d0 +/* A2BE74 80241C34 AC830000 */ sw $v1, ($a0) +/* A2BE78 80241C38 E4A00070 */ swc1 $f0, 0x70($a1) +/* A2BE7C 80241C3C 8FBF0018 */ lw $ra, 0x18($sp) +/* A2BE80 80241C40 8FB10014 */ lw $s1, 0x14($sp) +/* A2BE84 80241C44 8FB00010 */ lw $s0, 0x10($sp) +/* A2BE88 80241C48 38420001 */ xori $v0, $v0, 1 +/* A2BE8C 80241C4C 03E00008 */ jr $ra +/* A2BE90 80241C50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241C54.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241C54.s new file mode 100644 index 0000000000..54c2839385 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241C54.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C54 +/* A2BE94 80241C54 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2BE98 80241C58 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2BE9C 80241C5C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A2BEA0 80241C60 AFB1001C */ sw $s1, 0x1c($sp) +/* A2BEA4 80241C64 3C118025 */ lui $s1, 0x8025 +/* A2BEA8 80241C68 26319980 */ addiu $s1, $s1, -0x6680 +/* A2BEAC 80241C6C F7B40028 */ sdc1 $f20, 0x28($sp) +/* A2BEB0 80241C70 3C014170 */ lui $at, 0x4170 +/* A2BEB4 80241C74 4481A000 */ mtc1 $at, $f20 +/* A2BEB8 80241C78 3C0141F0 */ lui $at, 0x41f0 +/* A2BEBC 80241C7C 44816000 */ mtc1 $at, $f12 +/* A2BEC0 80241C80 3C03800B */ lui $v1, %hi(gCameras) +/* A2BEC4 80241C84 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2BEC8 80241C88 AFBF0020 */ sw $ra, 0x20($sp) +/* A2BECC 80241C8C AFB00018 */ sw $s0, 0x18($sp) +/* A2BED0 80241C90 AFB10010 */ sw $s1, 0x10($sp) +/* A2BED4 80241C94 8E260000 */ lw $a2, ($s1) +/* A2BED8 80241C98 3C073F80 */ lui $a3, 0x3f80 +/* A2BEDC 80241C9C 00028080 */ sll $s0, $v0, 2 +/* A2BEE0 80241CA0 02028021 */ addu $s0, $s0, $v0 +/* A2BEE4 80241CA4 00108080 */ sll $s0, $s0, 2 +/* A2BEE8 80241CA8 02028023 */ subu $s0, $s0, $v0 +/* A2BEEC 80241CAC 001010C0 */ sll $v0, $s0, 3 +/* A2BEF0 80241CB0 02028021 */ addu $s0, $s0, $v0 +/* A2BEF4 80241CB4 001080C0 */ sll $s0, $s0, 3 +/* A2BEF8 80241CB8 02038021 */ addu $s0, $s0, $v1 +/* A2BEFC 80241CBC 0C090411 */ jal func_80241044 +/* A2BF00 80241CC0 4600A386 */ mov.s $f14, $f20 +/* A2BF04 80241CC4 8E250000 */ lw $a1, ($s1) +/* A2BF08 80241CC8 0C090355 */ jal func_80240D54 +/* A2BF0C 80241CCC 0000202D */ daddu $a0, $zero, $zero +/* A2BF10 80241CD0 24020001 */ addiu $v0, $zero, 1 +/* A2BF14 80241CD4 C6200000 */ lwc1 $f0, ($s1) +/* A2BF18 80241CD8 0040182D */ daddu $v1, $v0, $zero +/* A2BF1C 80241CDC 46140032 */ c.eq.s $f0, $f20 +/* A2BF20 80241CE0 00000000 */ nop +/* A2BF24 80241CE4 45010002 */ bc1t .L80241CF0 +/* A2BF28 80241CE8 A6030506 */ sh $v1, 0x506($s0) +/* A2BF2C 80241CEC 0000102D */ daddu $v0, $zero, $zero +.L80241CF0: +/* A2BF30 80241CF0 8FBF0020 */ lw $ra, 0x20($sp) +/* A2BF34 80241CF4 8FB1001C */ lw $s1, 0x1c($sp) +/* A2BF38 80241CF8 8FB00018 */ lw $s0, 0x18($sp) +/* A2BF3C 80241CFC D7B40028 */ ldc1 $f20, 0x28($sp) +/* A2BF40 80241D00 03E00008 */ jr $ra +/* A2BF44 80241D04 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241D08_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241D08_A2A240.s new file mode 100644 index 0000000000..2619359a01 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241D08_A2A240.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D08_A2BF48 +/* A2BF48 80241D08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2BF4C 80241D0C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2BF50 80241D10 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2BF54 80241D14 3C04800B */ lui $a0, %hi(gCameras) +/* A2BF58 80241D18 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2BF5C 80241D1C AFBF0010 */ sw $ra, 0x10($sp) +/* A2BF60 80241D20 00031080 */ sll $v0, $v1, 2 +/* A2BF64 80241D24 00431021 */ addu $v0, $v0, $v1 +/* A2BF68 80241D28 00021080 */ sll $v0, $v0, 2 +/* A2BF6C 80241D2C 00431023 */ subu $v0, $v0, $v1 +/* A2BF70 80241D30 000218C0 */ sll $v1, $v0, 3 +/* A2BF74 80241D34 00431021 */ addu $v0, $v0, $v1 +/* A2BF78 80241D38 000210C0 */ sll $v0, $v0, 3 +/* A2BF7C 80241D3C 10A00004 */ beqz $a1, .L80241D50 +/* A2BF80 80241D40 00442021 */ addu $a0, $v0, $a0 +/* A2BF84 80241D44 94820000 */ lhu $v0, ($a0) +/* A2BF88 80241D48 3042FFF7 */ andi $v0, $v0, 0xfff7 +/* A2BF8C 80241D4C A4820000 */ sh $v0, ($a0) +.L80241D50: +/* A2BF90 80241D50 44800000 */ mtc1 $zero, $f0 +/* A2BF94 80241D54 00000000 */ nop +/* A2BF98 80241D58 44050000 */ mfc1 $a1, $f0 +/* A2BF9C 80241D5C 24840194 */ addiu $a0, $a0, 0x194 +/* A2BFA0 80241D60 00A0302D */ daddu $a2, $a1, $zero +/* A2BFA4 80241D64 0C019E40 */ jal guTranslateF +/* A2BFA8 80241D68 00A0382D */ daddu $a3, $a1, $zero +/* A2BFAC 80241D6C 8FBF0010 */ lw $ra, 0x10($sp) +/* A2BFB0 80241D70 24020002 */ addiu $v0, $zero, 2 +/* A2BFB4 80241D74 03E00008 */ jr $ra +/* A2BFB8 80241D78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241D7C.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241D7C.s new file mode 100644 index 0000000000..90bd12a6d8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241D7C.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D7C +/* A2BFBC 80241D7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2BFC0 80241D80 AFB00010 */ sw $s0, 0x10($sp) +/* A2BFC4 80241D84 00A0802D */ daddu $s0, $a1, $zero +/* A2BFC8 80241D88 AFBF0014 */ sw $ra, 0x14($sp) +/* A2BFCC 80241D8C 0C0B36B0 */ jal resolve_npc +/* A2BFD0 80241D90 24050009 */ addiu $a1, $zero, 9 +/* A2BFD4 80241D94 1200000E */ beqz $s0, .L80241DD0 +/* A2BFD8 80241D98 0040282D */ daddu $a1, $v0, $zero +/* A2BFDC 80241D9C 3C01C311 */ lui $at, 0xc311 +/* A2BFE0 80241DA0 44810000 */ mtc1 $at, $f0 +/* A2BFE4 80241DA4 3C0142E4 */ lui $at, 0x42e4 +/* A2BFE8 80241DA8 44811000 */ mtc1 $at, $f2 +/* A2BFEC 80241DAC E4A00038 */ swc1 $f0, 0x38($a1) +/* A2BFF0 80241DB0 3C014387 */ lui $at, 0x4387 +/* A2BFF4 80241DB4 44810000 */ mtc1 $at, $f0 +/* A2BFF8 80241DB8 E4A20040 */ swc1 $f2, 0x40($a1) +/* A2BFFC 80241DBC C4A20038 */ lwc1 $f2, 0x38($a1) +/* A2C000 80241DC0 C4A40040 */ lwc1 $f4, 0x40($a1) +/* A2C004 80241DC4 E4A0000C */ swc1 $f0, 0xc($a1) +/* A2C008 80241DC8 E4A2006C */ swc1 $f2, 0x6c($a1) +/* A2C00C 80241DCC E4A40074 */ swc1 $f4, 0x74($a1) +.L80241DD0: +/* A2C010 80241DD0 3C048025 */ lui $a0, 0x8025 +/* A2C014 80241DD4 24849984 */ addiu $a0, $a0, -0x667c +/* A2C018 80241DD8 8C830000 */ lw $v1, ($a0) +/* A2C01C 80241DDC 2402001E */ addiu $v0, $zero, 0x1e +/* A2C020 80241DE0 14620005 */ bne $v1, $v0, .L80241DF8 +/* A2C024 80241DE4 00000000 */ nop +/* A2C028 80241DE8 3C0142B4 */ lui $at, 0x42b4 +/* A2C02C 80241DEC 44810000 */ mtc1 $at, $f0 +/* A2C030 80241DF0 00000000 */ nop +/* A2C034 80241DF4 E4A0000C */ swc1 $f0, 0xc($a1) +.L80241DF8: +/* A2C038 80241DF8 8C860000 */ lw $a2, ($a0) +/* A2C03C 80241DFC 28C20028 */ slti $v0, $a2, 0x28 +/* A2C040 80241E00 10400037 */ beqz $v0, .L80241EE0 +/* A2C044 80241E04 00061880 */ sll $v1, $a2, 2 +/* A2C048 80241E08 3C028025 */ lui $v0, 0x8025 +/* A2C04C 80241E0C 244299A8 */ addiu $v0, $v0, -0x6658 +/* A2C050 80241E10 00621821 */ addu $v1, $v1, $v0 +/* A2C054 80241E14 84620000 */ lh $v0, ($v1) +/* A2C058 80241E18 3C0491A2 */ lui $a0, 0x91a2 +/* A2C05C 80241E1C 2442FF6F */ addiu $v0, $v0, -0x91 +/* A2C060 80241E20 44820000 */ mtc1 $v0, $f0 +/* A2C064 80241E24 00000000 */ nop +/* A2C068 80241E28 46800020 */ cvt.s.w $f0, $f0 +/* A2C06C 80241E2C E4A00038 */ swc1 $f0, 0x38($a1) +/* A2C070 80241E30 84620002 */ lh $v0, 2($v1) +/* A2C074 80241E34 3484B3C5 */ ori $a0, $a0, 0xb3c5 +/* A2C078 80241E38 2442FF79 */ addiu $v0, $v0, -0x87 +/* A2C07C 80241E3C 00021840 */ sll $v1, $v0, 1 +/* A2C080 80241E40 00621821 */ addu $v1, $v1, $v0 +/* A2C084 80241E44 000318C0 */ sll $v1, $v1, 3 +/* A2C088 80241E48 00621821 */ addu $v1, $v1, $v0 +/* A2C08C 80241E4C 000318C0 */ sll $v1, $v1, 3 +/* A2C090 80241E50 00640018 */ mult $v1, $a0 +/* A2C094 80241E54 00003810 */ mfhi $a3 +/* A2C098 80241E58 00E31021 */ addu $v0, $a3, $v1 +/* A2C09C 80241E5C 000211C3 */ sra $v0, $v0, 7 +/* A2C0A0 80241E60 00031FC3 */ sra $v1, $v1, 0x1f +/* A2C0A4 80241E64 00431023 */ subu $v0, $v0, $v1 +/* A2C0A8 80241E68 24420093 */ addiu $v0, $v0, 0x93 +/* A2C0AC 80241E6C 44820000 */ mtc1 $v0, $f0 +/* A2C0B0 80241E70 00000000 */ nop +/* A2C0B4 80241E74 46800020 */ cvt.s.w $f0, $f0 +/* A2C0B8 80241E78 28C20014 */ slti $v0, $a2, 0x14 +/* A2C0BC 80241E7C 1040000F */ beqz $v0, .L80241EBC +/* A2C0C0 80241E80 E4A0003C */ swc1 $f0, 0x3c($a1) +/* A2C0C4 80241E84 3C0141F0 */ lui $at, 0x41f0 +/* A2C0C8 80241E88 44810000 */ mtc1 $at, $f0 +/* A2C0CC 80241E8C 44861000 */ mtc1 $a2, $f2 +/* A2C0D0 80241E90 00000000 */ nop +/* A2C0D4 80241E94 468010A0 */ cvt.s.w $f2, $f2 +/* A2C0D8 80241E98 46001082 */ mul.s $f2, $f2, $f0 +/* A2C0DC 80241E9C 00000000 */ nop +/* A2C0E0 80241EA0 3C0141A0 */ lui $at, 0x41a0 +/* A2C0E4 80241EA4 44812000 */ mtc1 $at, $f4 +/* A2C0E8 80241EA8 3C0142E4 */ lui $at, 0x42e4 +/* A2C0EC 80241EAC 44810000 */ mtc1 $at, $f0 +/* A2C0F0 80241EB0 46041083 */ div.s $f2, $f2, $f4 +/* A2C0F4 80241EB4 080907B2 */ j .L80241EC8 +/* A2C0F8 80241EB8 46020001 */ sub.s $f0, $f0, $f2 +.L80241EBC: +/* A2C0FC 80241EBC 3C0142A8 */ lui $at, 0x42a8 +/* A2C100 80241EC0 44810000 */ mtc1 $at, $f0 +/* A2C104 80241EC4 00000000 */ nop +.L80241EC8: +/* A2C108 80241EC8 E4A00040 */ swc1 $f0, 0x40($a1) +/* A2C10C 80241ECC C4A00038 */ lwc1 $f0, 0x38($a1) +/* A2C110 80241ED0 C4A20040 */ lwc1 $f2, 0x40($a1) +/* A2C114 80241ED4 E4A0006C */ swc1 $f0, 0x6c($a1) +/* A2C118 80241ED8 080907C8 */ j .L80241F20 +/* A2C11C 80241EDC E4A20074 */ swc1 $f2, 0x74($a1) +.L80241EE0: +/* A2C120 80241EE0 24C2FFD8 */ addiu $v0, $a2, -0x28 +/* A2C124 80241EE4 3042001E */ andi $v0, $v0, 0x1e +/* A2C128 80241EE8 3C018025 */ lui $at, 0x8025 +/* A2C12C 80241EEC 00220821 */ addu $at, $at, $v0 +/* A2C130 80241EF0 84229988 */ lh $v0, -0x6678($at) +/* A2C134 80241EF4 3C013DCC */ lui $at, 0x3dcc +/* A2C138 80241EF8 3421CCCD */ ori $at, $at, 0xcccd +/* A2C13C 80241EFC 44810000 */ mtc1 $at, $f0 +/* A2C140 80241F00 44821000 */ mtc1 $v0, $f2 +/* A2C144 80241F04 00000000 */ nop +/* A2C148 80241F08 468010A0 */ cvt.s.w $f2, $f2 +/* A2C14C 80241F0C 46001082 */ mul.s $f2, $f2, $f0 +/* A2C150 80241F10 00000000 */ nop +/* A2C154 80241F14 C4A0003C */ lwc1 $f0, 0x3c($a1) +/* A2C158 80241F18 46020000 */ add.s $f0, $f0, $f2 +/* A2C15C 80241F1C E4A0003C */ swc1 $f0, 0x3c($a1) +.L80241F20: +/* A2C160 80241F20 3C048025 */ lui $a0, 0x8025 +/* A2C164 80241F24 24849984 */ addiu $a0, $a0, -0x667c +/* A2C168 80241F28 8C830000 */ lw $v1, ($a0) +/* A2C16C 80241F2C C4A0003C */ lwc1 $f0, 0x3c($a1) +/* A2C170 80241F30 24630001 */ addiu $v1, $v1, 1 +/* A2C174 80241F34 286207D0 */ slti $v0, $v1, 0x7d0 +/* A2C178 80241F38 E4A00070 */ swc1 $f0, 0x70($a1) +/* A2C17C 80241F3C AC830000 */ sw $v1, ($a0) +/* A2C180 80241F40 8FBF0014 */ lw $ra, 0x14($sp) +/* A2C184 80241F44 8FB00010 */ lw $s0, 0x10($sp) +/* A2C188 80241F48 38420001 */ xori $v0, $v0, 1 +/* A2C18C 80241F4C 03E00008 */ jr $ra +/* A2C190 80241F50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80241F54.s b/asm/nonmatchings/world/area_hos/hos_05/func_80241F54.s new file mode 100644 index 0000000000..0f57a067a2 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80241F54.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F54 +/* A2C194 80241F54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2C198 80241F58 AFB00010 */ sw $s0, 0x10($sp) +/* A2C19C 80241F5C 00A0802D */ daddu $s0, $a1, $zero +/* A2C1A0 80241F60 AFBF0014 */ sw $ra, 0x14($sp) +/* A2C1A4 80241F64 0C0B36B0 */ jal resolve_npc +/* A2C1A8 80241F68 24050009 */ addiu $a1, $zero, 9 +/* A2C1AC 80241F6C 12000011 */ beqz $s0, .L80241FB4 +/* A2C1B0 80241F70 0040282D */ daddu $a1, $v0, $zero +/* A2C1B4 80241F74 3C01C311 */ lui $at, 0xc311 +/* A2C1B8 80241F78 44810000 */ mtc1 $at, $f0 +/* A2C1BC 80241F7C 3C0142A8 */ lui $at, 0x42a8 +/* A2C1C0 80241F80 44811000 */ mtc1 $at, $f2 +/* A2C1C4 80241F84 E4A00038 */ swc1 $f0, 0x38($a1) +/* A2C1C8 80241F88 46000106 */ mov.s $f4, $f0 +/* A2C1CC 80241F8C E4A20040 */ swc1 $f2, 0x40($a1) +/* A2C1D0 80241F90 3C0142B4 */ lui $at, 0x42b4 +/* A2C1D4 80241F94 44811000 */ mtc1 $at, $f2 +/* A2C1D8 80241F98 C4A60040 */ lwc1 $f6, 0x40($a1) +/* A2C1DC 80241F9C 3C014313 */ lui $at, 0x4313 +/* A2C1E0 80241FA0 44810000 */ mtc1 $at, $f0 +/* A2C1E4 80241FA4 E4A4006C */ swc1 $f4, 0x6c($a1) +/* A2C1E8 80241FA8 E4A2000C */ swc1 $f2, 0xc($a1) +/* A2C1EC 80241FAC E4A0003C */ swc1 $f0, 0x3c($a1) +/* A2C1F0 80241FB0 E4A60074 */ swc1 $f6, 0x74($a1) +.L80241FB4: +/* A2C1F4 80241FB4 3C048025 */ lui $a0, 0x8025 +/* A2C1F8 80241FB8 24849A48 */ addiu $a0, $a0, -0x65b8 +/* A2C1FC 80241FBC 8C830000 */ lw $v1, ($a0) +/* A2C200 80241FC0 2462FFD8 */ addiu $v0, $v1, -0x28 +/* A2C204 80241FC4 3042001E */ andi $v0, $v0, 0x1e +/* A2C208 80241FC8 3C018025 */ lui $at, 0x8025 +/* A2C20C 80241FCC 00220821 */ addu $at, $at, $v0 +/* A2C210 80241FD0 84229A4C */ lh $v0, -0x65b4($at) +/* A2C214 80241FD4 3C013DCC */ lui $at, 0x3dcc +/* A2C218 80241FD8 3421CCCD */ ori $at, $at, 0xcccd +/* A2C21C 80241FDC 44810000 */ mtc1 $at, $f0 +/* A2C220 80241FE0 44821000 */ mtc1 $v0, $f2 +/* A2C224 80241FE4 00000000 */ nop +/* A2C228 80241FE8 468010A0 */ cvt.s.w $f2, $f2 +/* A2C22C 80241FEC 46001082 */ mul.s $f2, $f2, $f0 +/* A2C230 80241FF0 00000000 */ nop +/* A2C234 80241FF4 C4A0003C */ lwc1 $f0, 0x3c($a1) +/* A2C238 80241FF8 24630001 */ addiu $v1, $v1, 1 +/* A2C23C 80241FFC 46020000 */ add.s $f0, $f0, $f2 +/* A2C240 80242000 286207D0 */ slti $v0, $v1, 0x7d0 +/* A2C244 80242004 AC830000 */ sw $v1, ($a0) +/* A2C248 80242008 E4A0003C */ swc1 $f0, 0x3c($a1) +/* A2C24C 8024200C E4A00070 */ swc1 $f0, 0x70($a1) +/* A2C250 80242010 8FBF0014 */ lw $ra, 0x14($sp) +/* A2C254 80242014 8FB00010 */ lw $s0, 0x10($sp) +/* A2C258 80242018 38420001 */ xori $v0, $v0, 1 +/* A2C25C 8024201C 03E00008 */ jr $ra +/* A2C260 80242020 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802421E0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802421E0.s new file mode 100644 index 0000000000..2df1b90f85 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802421E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421E0 +/* A2C420 802421E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2C424 802421E4 AFB20020 */ sw $s2, 0x20($sp) +/* A2C428 802421E8 3C128025 */ lui $s2, 0x8025 +/* A2C42C 802421EC 26529A74 */ addiu $s2, $s2, -0x658c +/* A2C430 802421F0 3C03800B */ lui $v1, %hi(gCameras) +/* A2C434 802421F4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2C438 802421F8 AFB1001C */ sw $s1, 0x1c($sp) +/* A2C43C 802421FC 3C118025 */ lui $s1, 0x8025 +/* A2C440 80242200 26319A78 */ addiu $s1, $s1, -0x6588 +/* A2C444 80242204 3C0141A0 */ lui $at, 0x41a0 +/* A2C448 80242208 44810000 */ mtc1 $at, $f0 +/* A2C44C 8024220C 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2C450 80242210 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2C454 80242214 3C0542B4 */ lui $a1, 0x42b4 +/* A2C458 80242218 3C0643ED */ lui $a2, 0x43ed +/* A2C45C 8024221C 34C6599A */ ori $a2, $a2, 0x599a +/* A2C460 80242220 24040004 */ addiu $a0, $zero, 4 +/* A2C464 80242224 AFBF0024 */ sw $ra, 0x24($sp) +/* A2C468 80242228 AFB00018 */ sw $s0, 0x18($sp) +/* A2C46C 8024222C AFB20014 */ sw $s2, 0x14($sp) +/* A2C470 80242230 00028080 */ sll $s0, $v0, 2 +/* A2C474 80242234 02028021 */ addu $s0, $s0, $v0 +/* A2C478 80242238 00108080 */ sll $s0, $s0, 2 +/* A2C47C 8024223C 02028023 */ subu $s0, $s0, $v0 +/* A2C480 80242240 001010C0 */ sll $v0, $s0, 3 +/* A2C484 80242244 02028021 */ addu $s0, $s0, $v0 +/* A2C488 80242248 001080C0 */ sll $s0, $s0, 3 +/* A2C48C 8024224C E7A00010 */ swc1 $f0, 0x10($sp) +/* A2C490 80242250 C6200000 */ lwc1 $f0, ($s1) +/* A2C494 80242254 46800020 */ cvt.s.w $f0, $f0 +/* A2C498 80242258 44070000 */ mfc1 $a3, $f0 +/* A2C49C 8024225C 0C090439 */ jal func_802410E4 +/* A2C4A0 80242260 02038021 */ addu $s0, $s0, $v1 +/* A2C4A4 80242264 C6400000 */ lwc1 $f0, ($s2) +/* A2C4A8 80242268 8E220000 */ lw $v0, ($s1) +/* A2C4AC 8024226C 24030001 */ addiu $v1, $zero, 1 +/* A2C4B0 80242270 A6030506 */ sh $v1, 0x506($s0) +/* A2C4B4 80242274 24420001 */ addiu $v0, $v0, 1 +/* A2C4B8 80242278 E60004DC */ swc1 $f0, 0x4dc($s0) +/* A2C4BC 8024227C AE220000 */ sw $v0, ($s1) +/* A2C4C0 80242280 28420015 */ slti $v0, $v0, 0x15 +/* A2C4C4 80242284 8FBF0024 */ lw $ra, 0x24($sp) +/* A2C4C8 80242288 8FB20020 */ lw $s2, 0x20($sp) +/* A2C4CC 8024228C 8FB1001C */ lw $s1, 0x1c($sp) +/* A2C4D0 80242290 8FB00018 */ lw $s0, 0x18($sp) +/* A2C4D4 80242294 38420001 */ xori $v0, $v0, 1 +/* A2C4D8 80242298 03E00008 */ jr $ra +/* A2C4DC 8024229C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802422A0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802422A0.s new file mode 100644 index 0000000000..0c504e6ce4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802422A0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422A0 +/* A2C4E0 802422A0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A2C4E4 802422A4 AFB00018 */ sw $s0, 0x18($sp) +/* A2C4E8 802422A8 0080802D */ daddu $s0, $a0, $zero +/* A2C4EC 802422AC AFB1001C */ sw $s1, 0x1c($sp) +/* A2C4F0 802422B0 00A0882D */ daddu $s1, $a1, $zero +/* A2C4F4 802422B4 AFBF0028 */ sw $ra, 0x28($sp) +/* A2C4F8 802422B8 AFB30024 */ sw $s3, 0x24($sp) +/* A2C4FC 802422BC AFB20020 */ sw $s2, 0x20($sp) +/* A2C500 802422C0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* A2C504 802422C4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A2C508 802422C8 0C0B36B0 */ jal resolve_npc +/* A2C50C 802422CC 24050007 */ addiu $a1, $zero, 7 +/* A2C510 802422D0 0200202D */ daddu $a0, $s0, $zero +/* A2C514 802422D4 24050008 */ addiu $a1, $zero, 8 +/* A2C518 802422D8 0C0B36B0 */ jal resolve_npc +/* A2C51C 802422DC 0040902D */ daddu $s2, $v0, $zero +/* A2C520 802422E0 12200007 */ beqz $s1, .L80242300 +/* A2C524 802422E4 0040982D */ daddu $s3, $v0, $zero +/* A2C528 802422E8 C6400038 */ lwc1 $f0, 0x38($s2) +/* A2C52C 802422EC C6420040 */ lwc1 $f2, 0x40($s2) +/* A2C530 802422F0 3C018025 */ lui $at, 0x8025 +/* A2C534 802422F4 E420F2D8 */ swc1 $f0, -0xd28($at) +/* A2C538 802422F8 3C018025 */ lui $at, 0x8025 +/* A2C53C 802422FC E422F2DC */ swc1 $f2, -0xd24($at) +.L80242300: +/* A2C540 80242300 24040003 */ addiu $a0, $zero, 3 +/* A2C544 80242304 3C108025 */ lui $s0, 0x8025 +/* A2C548 80242308 26109A7C */ addiu $s0, $s0, -0x6584 +/* A2C54C 8024230C C6000000 */ lwc1 $f0, ($s0) +/* A2C550 80242310 46800020 */ cvt.s.w $f0, $f0 +/* A2C554 80242314 3C058025 */ lui $a1, 0x8025 +/* A2C558 80242318 8CA5F2D8 */ lw $a1, -0xd28($a1) +/* A2C55C 8024231C 4480A000 */ mtc1 $zero, $f20 +/* A2C560 80242320 44070000 */ mfc1 $a3, $f0 +/* A2C564 80242324 3C014220 */ lui $at, 0x4220 +/* A2C568 80242328 4481B000 */ mtc1 $at, $f22 +/* A2C56C 8024232C 4406A000 */ mfc1 $a2, $f20 +/* A2C570 80242330 26420038 */ addiu $v0, $s2, 0x38 +/* A2C574 80242334 AFA20014 */ sw $v0, 0x14($sp) +/* A2C578 80242338 0C090439 */ jal func_802410E4 +/* A2C57C 8024233C E7B60010 */ swc1 $f22, 0x10($sp) +/* A2C580 80242340 C6000000 */ lwc1 $f0, ($s0) +/* A2C584 80242344 46800020 */ cvt.s.w $f0, $f0 +/* A2C588 80242348 24040003 */ addiu $a0, $zero, 3 +/* A2C58C 8024234C 3C058025 */ lui $a1, 0x8025 +/* A2C590 80242350 8CA5F2DC */ lw $a1, -0xd24($a1) +/* A2C594 80242354 4406A000 */ mfc1 $a2, $f20 +/* A2C598 80242358 44070000 */ mfc1 $a3, $f0 +/* A2C59C 8024235C 26420040 */ addiu $v0, $s2, 0x40 +/* A2C5A0 80242360 E7B60010 */ swc1 $f22, 0x10($sp) +/* A2C5A4 80242364 0C090439 */ jal func_802410E4 +/* A2C5A8 80242368 AFA20014 */ sw $v0, 0x14($sp) +/* A2C5AC 8024236C C6400038 */ lwc1 $f0, 0x38($s2) +/* A2C5B0 80242370 E6600038 */ swc1 $f0, 0x38($s3) +/* A2C5B4 80242374 C6400040 */ lwc1 $f0, 0x40($s2) +/* A2C5B8 80242378 E6600040 */ swc1 $f0, 0x40($s3) +/* A2C5BC 8024237C C6400038 */ lwc1 $f0, 0x38($s2) +/* A2C5C0 80242380 8E030000 */ lw $v1, ($s0) +/* A2C5C4 80242384 C6420040 */ lwc1 $f2, 0x40($s2) +/* A2C5C8 80242388 24630001 */ addiu $v1, $v1, 1 +/* A2C5CC 8024238C E640006C */ swc1 $f0, 0x6c($s2) +/* A2C5D0 80242390 E6420074 */ swc1 $f2, 0x74($s2) +/* A2C5D4 80242394 C6600038 */ lwc1 $f0, 0x38($s3) +/* A2C5D8 80242398 C6620040 */ lwc1 $f2, 0x40($s3) +/* A2C5DC 8024239C 28620029 */ slti $v0, $v1, 0x29 +/* A2C5E0 802423A0 AE030000 */ sw $v1, ($s0) +/* A2C5E4 802423A4 E660006C */ swc1 $f0, 0x6c($s3) +/* A2C5E8 802423A8 E6620074 */ swc1 $f2, 0x74($s3) +/* A2C5EC 802423AC 8FBF0028 */ lw $ra, 0x28($sp) +/* A2C5F0 802423B0 8FB30024 */ lw $s3, 0x24($sp) +/* A2C5F4 802423B4 8FB20020 */ lw $s2, 0x20($sp) +/* A2C5F8 802423B8 8FB1001C */ lw $s1, 0x1c($sp) +/* A2C5FC 802423BC 8FB00018 */ lw $s0, 0x18($sp) +/* A2C600 802423C0 D7B60038 */ ldc1 $f22, 0x38($sp) +/* A2C604 802423C4 D7B40030 */ ldc1 $f20, 0x30($sp) +/* A2C608 802423C8 38420001 */ xori $v0, $v0, 1 +/* A2C60C 802423CC 03E00008 */ jr $ra +/* A2C610 802423D0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802423D4.s b/asm/nonmatchings/world/area_hos/hos_05/func_802423D4.s new file mode 100644 index 0000000000..261ac74300 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802423D4.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423D4 +/* A2C614 802423D4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A2C618 802423D8 24040004 */ addiu $a0, $zero, 4 +/* A2C61C 802423DC AFB20020 */ sw $s2, 0x20($sp) +/* A2C620 802423E0 3C128025 */ lui $s2, 0x8025 +/* A2C624 802423E4 26529A80 */ addiu $s2, $s2, -0x6580 +/* A2C628 802423E8 AFBF0034 */ sw $ra, 0x34($sp) +/* A2C62C 802423EC AFB60030 */ sw $s6, 0x30($sp) +/* A2C630 802423F0 AFB5002C */ sw $s5, 0x2c($sp) +/* A2C634 802423F4 AFB40028 */ sw $s4, 0x28($sp) +/* A2C638 802423F8 AFB30024 */ sw $s3, 0x24($sp) +/* A2C63C 802423FC AFB1001C */ sw $s1, 0x1c($sp) +/* A2C640 80242400 AFB00018 */ sw $s0, 0x18($sp) +/* A2C644 80242404 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A2C648 80242408 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A2C64C 8024240C C6400000 */ lwc1 $f0, ($s2) +/* A2C650 80242410 46800020 */ cvt.s.w $f0, $f0 +/* A2C654 80242414 3C168025 */ lui $s6, 0x8025 +/* A2C658 80242418 26D6F2E0 */ addiu $s6, $s6, -0xd20 +/* A2C65C 8024241C 3C01420C */ lui $at, 0x420c +/* A2C660 80242420 44811000 */ mtc1 $at, $f2 +/* A2C664 80242424 44070000 */ mfc1 $a3, $f0 +/* A2C668 80242428 3C0142A0 */ lui $at, 0x42a0 +/* A2C66C 8024242C 4481A000 */ mtc1 $at, $f20 +/* A2C670 80242430 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2C674 80242434 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2C678 80242438 3C03800B */ lui $v1, %hi(gCameras) +/* A2C67C 8024243C 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2C680 80242440 AFB60014 */ sw $s6, 0x14($sp) +/* A2C684 80242444 00028080 */ sll $s0, $v0, 2 +/* A2C688 80242448 02028021 */ addu $s0, $s0, $v0 +/* A2C68C 8024244C 00108080 */ sll $s0, $s0, 2 +/* A2C690 80242450 02028023 */ subu $s0, $s0, $v0 +/* A2C694 80242454 001010C0 */ sll $v0, $s0, 3 +/* A2C698 80242458 02028021 */ addu $s0, $s0, $v0 +/* A2C69C 8024245C 001080C0 */ sll $s0, $s0, 3 +/* A2C6A0 80242460 44051000 */ mfc1 $a1, $f2 +/* A2C6A4 80242464 02038021 */ addu $s0, $s0, $v1 +/* A2C6A8 80242468 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C6AC 8024246C 0C090439 */ jal func_802410E4 +/* A2C6B0 80242470 00A0302D */ daddu $a2, $a1, $zero +/* A2C6B4 80242474 C6400000 */ lwc1 $f0, ($s2) +/* A2C6B8 80242478 46800020 */ cvt.s.w $f0, $f0 +/* A2C6BC 8024247C 24040004 */ addiu $a0, $zero, 4 +/* A2C6C0 80242480 3C054302 */ lui $a1, 0x4302 +/* A2C6C4 80242484 3C064387 */ lui $a2, 0x4387 +/* A2C6C8 80242488 44070000 */ mfc1 $a3, $f0 +/* A2C6CC 8024248C 3C158025 */ lui $s5, 0x8025 +/* A2C6D0 80242490 26B5F2E4 */ addiu $s5, $s5, -0xd1c +/* A2C6D4 80242494 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C6D8 80242498 0C090439 */ jal func_802410E4 +/* A2C6DC 8024249C AFB50014 */ sw $s5, 0x14($sp) +/* A2C6E0 802424A0 C6400000 */ lwc1 $f0, ($s2) +/* A2C6E4 802424A4 46800020 */ cvt.s.w $f0, $f0 +/* A2C6E8 802424A8 24040004 */ addiu $a0, $zero, 4 +/* A2C6EC 802424AC 4480B000 */ mtc1 $zero, $f22 +/* A2C6F0 802424B0 3C0541F0 */ lui $a1, 0x41f0 +/* A2C6F4 802424B4 44070000 */ mfc1 $a3, $f0 +/* A2C6F8 802424B8 4406B000 */ mfc1 $a2, $f22 +/* A2C6FC 802424BC 3C148025 */ lui $s4, 0x8025 +/* A2C700 802424C0 2694F2E8 */ addiu $s4, $s4, -0xd18 +/* A2C704 802424C4 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C708 802424C8 0C090439 */ jal func_802410E4 +/* A2C70C 802424CC AFB40014 */ sw $s4, 0x14($sp) +/* A2C710 802424D0 C6400000 */ lwc1 $f0, ($s2) +/* A2C714 802424D4 46800020 */ cvt.s.w $f0, $f0 +/* A2C718 802424D8 24040004 */ addiu $a0, $zero, 4 +/* A2C71C 802424DC 3C054368 */ lui $a1, 0x4368 +/* A2C720 802424E0 3C064331 */ lui $a2, 0x4331 +/* A2C724 802424E4 44070000 */ mfc1 $a3, $f0 +/* A2C728 802424E8 3C138025 */ lui $s3, 0x8025 +/* A2C72C 802424EC 2673F2EC */ addiu $s3, $s3, -0xd14 +/* A2C730 802424F0 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C734 802424F4 0C090439 */ jal func_802410E4 +/* A2C738 802424F8 AFB30014 */ sw $s3, 0x14($sp) +/* A2C73C 802424FC C6400000 */ lwc1 $f0, ($s2) +/* A2C740 80242500 46800020 */ cvt.s.w $f0, $f0 +/* A2C744 80242504 24040004 */ addiu $a0, $zero, 4 +/* A2C748 80242508 4405B000 */ mfc1 $a1, $f22 +/* A2C74C 8024250C 44070000 */ mfc1 $a3, $f0 +/* A2C750 80242510 3C118025 */ lui $s1, 0x8025 +/* A2C754 80242514 2631F2F0 */ addiu $s1, $s1, -0xd10 +/* A2C758 80242518 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C75C 8024251C AFB10014 */ sw $s1, 0x14($sp) +/* A2C760 80242520 0C090439 */ jal func_802410E4 +/* A2C764 80242524 00A0302D */ daddu $a2, $a1, $zero +/* A2C768 80242528 8EC50000 */ lw $a1, ($s6) +/* A2C76C 8024252C 0C090355 */ jal func_80240D54 +/* A2C770 80242530 0000202D */ daddu $a0, $zero, $zero +/* A2C774 80242534 C6A00000 */ lwc1 $f0, ($s5) +/* A2C778 80242538 C6820000 */ lwc1 $f2, ($s4) +/* A2C77C 8024253C C6640000 */ lwc1 $f4, ($s3) +/* A2C780 80242540 C6260000 */ lwc1 $f6, ($s1) +/* A2C784 80242544 8E420000 */ lw $v0, ($s2) +/* A2C788 80242548 24030001 */ addiu $v1, $zero, 1 +/* A2C78C 8024254C A6030506 */ sh $v1, 0x506($s0) +/* A2C790 80242550 24420001 */ addiu $v0, $v0, 1 +/* A2C794 80242554 E60004DC */ swc1 $f0, 0x4dc($s0) +/* A2C798 80242558 E60204B0 */ swc1 $f2, 0x4b0($s0) +/* A2C79C 8024255C E60404B4 */ swc1 $f4, 0x4b4($s0) +/* A2C7A0 80242560 E60604B8 */ swc1 $f6, 0x4b8($s0) +/* A2C7A4 80242564 AE420000 */ sw $v0, ($s2) +/* A2C7A8 80242568 2842005B */ slti $v0, $v0, 0x5b +/* A2C7AC 8024256C 8FBF0034 */ lw $ra, 0x34($sp) +/* A2C7B0 80242570 8FB60030 */ lw $s6, 0x30($sp) +/* A2C7B4 80242574 8FB5002C */ lw $s5, 0x2c($sp) +/* A2C7B8 80242578 8FB40028 */ lw $s4, 0x28($sp) +/* A2C7BC 8024257C 8FB30024 */ lw $s3, 0x24($sp) +/* A2C7C0 80242580 8FB20020 */ lw $s2, 0x20($sp) +/* A2C7C4 80242584 8FB1001C */ lw $s1, 0x1c($sp) +/* A2C7C8 80242588 8FB00018 */ lw $s0, 0x18($sp) +/* A2C7CC 8024258C D7B60040 */ ldc1 $f22, 0x40($sp) +/* A2C7D0 80242590 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A2C7D4 80242594 38420001 */ xori $v0, $v0, 1 +/* A2C7D8 80242598 03E00008 */ jr $ra +/* A2C7DC 8024259C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802425A0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802425A0.s new file mode 100644 index 0000000000..a3f75f36e2 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802425A0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425A0 +/* A2C7E0 802425A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A2C7E4 802425A4 0000202D */ daddu $a0, $zero, $zero +/* A2C7E8 802425A8 AFB20020 */ sw $s2, 0x20($sp) +/* A2C7EC 802425AC 3C128025 */ lui $s2, 0x8025 +/* A2C7F0 802425B0 26529A90 */ addiu $s2, $s2, -0x6570 +/* A2C7F4 802425B4 AFBF002C */ sw $ra, 0x2c($sp) +/* A2C7F8 802425B8 AFB40028 */ sw $s4, 0x28($sp) +/* A2C7FC 802425BC AFB30024 */ sw $s3, 0x24($sp) +/* A2C800 802425C0 AFB1001C */ sw $s1, 0x1c($sp) +/* A2C804 802425C4 AFB00018 */ sw $s0, 0x18($sp) +/* A2C808 802425C8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A2C80C 802425CC C6400000 */ lwc1 $f0, ($s2) +/* A2C810 802425D0 46800020 */ cvt.s.w $f0, $f0 +/* A2C814 802425D4 3C148025 */ lui $s4, 0x8025 +/* A2C818 802425D8 26949A84 */ addiu $s4, $s4, -0x657c +/* A2C81C 802425DC 3C054220 */ lui $a1, 0x4220 +/* A2C820 802425E0 3C06C302 */ lui $a2, 0xc302 +/* A2C824 802425E4 44070000 */ mfc1 $a3, $f0 +/* A2C828 802425E8 3C01432A */ lui $at, 0x432a +/* A2C82C 802425EC 4481A000 */ mtc1 $at, $f20 +/* A2C830 802425F0 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2C834 802425F4 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2C838 802425F8 3C03800B */ lui $v1, %hi(gCameras) +/* A2C83C 802425FC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2C840 80242600 AFB40014 */ sw $s4, 0x14($sp) +/* A2C844 80242604 00028080 */ sll $s0, $v0, 2 +/* A2C848 80242608 02028021 */ addu $s0, $s0, $v0 +/* A2C84C 8024260C 00108080 */ sll $s0, $s0, 2 +/* A2C850 80242610 02028023 */ subu $s0, $s0, $v0 +/* A2C854 80242614 001010C0 */ sll $v0, $s0, 3 +/* A2C858 80242618 02028021 */ addu $s0, $s0, $v0 +/* A2C85C 8024261C 001080C0 */ sll $s0, $s0, 3 +/* A2C860 80242620 02038021 */ addu $s0, $s0, $v1 +/* A2C864 80242624 0C090439 */ jal func_802410E4 +/* A2C868 80242628 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C86C 8024262C C6400000 */ lwc1 $f0, ($s2) +/* A2C870 80242630 46800020 */ cvt.s.w $f0, $f0 +/* A2C874 80242634 0000202D */ daddu $a0, $zero, $zero +/* A2C878 80242638 3C05C220 */ lui $a1, 0xc220 +/* A2C87C 8024263C 3C064302 */ lui $a2, 0x4302 +/* A2C880 80242640 44070000 */ mfc1 $a3, $f0 +/* A2C884 80242644 3C138025 */ lui $s3, 0x8025 +/* A2C888 80242648 26739A88 */ addiu $s3, $s3, -0x6578 +/* A2C88C 8024264C E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C890 80242650 0C090439 */ jal func_802410E4 +/* A2C894 80242654 AFB30014 */ sw $s3, 0x14($sp) +/* A2C898 80242658 C6400000 */ lwc1 $f0, ($s2) +/* A2C89C 8024265C 46800020 */ cvt.s.w $f0, $f0 +/* A2C8A0 80242660 24040003 */ addiu $a0, $zero, 3 +/* A2C8A4 80242664 3C054234 */ lui $a1, 0x4234 +/* A2C8A8 80242668 3C0641C8 */ lui $a2, 0x41c8 +/* A2C8AC 8024266C 44070000 */ mfc1 $a3, $f0 +/* A2C8B0 80242670 3C118025 */ lui $s1, 0x8025 +/* A2C8B4 80242674 26319A8C */ addiu $s1, $s1, -0x6574 +/* A2C8B8 80242678 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2C8BC 8024267C 0C090439 */ jal func_802410E4 +/* A2C8C0 80242680 AFB10014 */ sw $s1, 0x14($sp) +/* A2C8C4 80242684 C62C0000 */ lwc1 $f12, ($s1) +/* A2C8C8 80242688 C6800000 */ lwc1 $f0, ($s4) +/* A2C8CC 8024268C C6620000 */ lwc1 $f2, ($s3) +/* A2C8D0 80242690 3C0143FA */ lui $at, 0x43fa +/* A2C8D4 80242694 4481A000 */ mtc1 $at, $f20 +/* A2C8D8 80242698 24020001 */ addiu $v0, $zero, 1 +/* A2C8DC 8024269C A6020506 */ sh $v0, 0x506($s0) +/* A2C8E0 802426A0 E60004B0 */ swc1 $f0, 0x4b0($s0) +/* A2C8E4 802426A4 0C00A8BB */ jal sin_deg +/* A2C8E8 802426A8 E60204B8 */ swc1 $f2, 0x4b8($s0) +/* A2C8EC 802426AC 46140002 */ mul.s $f0, $f0, $f20 +/* A2C8F0 802426B0 00000000 */ nop +/* A2C8F4 802426B4 C62C0000 */ lwc1 $f12, ($s1) +/* A2C8F8 802426B8 0C00A8D4 */ jal cos_deg +/* A2C8FC 802426BC E60004F0 */ swc1 $f0, 0x4f0($s0) +/* A2C900 802426C0 46140002 */ mul.s $f0, $f0, $f20 +/* A2C904 802426C4 00000000 */ nop +/* A2C908 802426C8 8E420000 */ lw $v0, ($s2) +/* A2C90C 802426CC 24420001 */ addiu $v0, $v0, 1 +/* A2C910 802426D0 AE420000 */ sw $v0, ($s2) +/* A2C914 802426D4 384200AA */ xori $v0, $v0, 0xaa +/* A2C918 802426D8 E60004F8 */ swc1 $f0, 0x4f8($s0) +/* A2C91C 802426DC 8FBF002C */ lw $ra, 0x2c($sp) +/* A2C920 802426E0 8FB40028 */ lw $s4, 0x28($sp) +/* A2C924 802426E4 8FB30024 */ lw $s3, 0x24($sp) +/* A2C928 802426E8 8FB20020 */ lw $s2, 0x20($sp) +/* A2C92C 802426EC 8FB1001C */ lw $s1, 0x1c($sp) +/* A2C930 802426F0 8FB00018 */ lw $s0, 0x18($sp) +/* A2C934 802426F4 D7B40030 */ ldc1 $f20, 0x30($sp) +/* A2C938 802426F8 2C420001 */ sltiu $v0, $v0, 1 +/* A2C93C 802426FC 03E00008 */ jr $ra +/* A2C940 80242700 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80242704.s b/asm/nonmatchings/world/area_hos/hos_05/func_80242704.s new file mode 100644 index 0000000000..3f94309b26 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80242704.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242704 +/* A2C944 80242704 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A2C948 80242708 24040003 */ addiu $a0, $zero, 3 +/* A2C94C 8024270C AFB1001C */ sw $s1, 0x1c($sp) +/* A2C950 80242710 3C118025 */ lui $s1, 0x8025 +/* A2C954 80242714 26319AA4 */ addiu $s1, $s1, -0x655c +/* A2C958 80242718 AFBF0030 */ sw $ra, 0x30($sp) +/* A2C95C 8024271C AFB5002C */ sw $s5, 0x2c($sp) +/* A2C960 80242720 AFB40028 */ sw $s4, 0x28($sp) +/* A2C964 80242724 AFB30024 */ sw $s3, 0x24($sp) +/* A2C968 80242728 AFB20020 */ sw $s2, 0x20($sp) +/* A2C96C 8024272C AFB00018 */ sw $s0, 0x18($sp) +/* A2C970 80242730 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A2C974 80242734 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A2C978 80242738 C6200000 */ lwc1 $f0, ($s1) +/* A2C97C 8024273C 46800020 */ cvt.s.w $f0, $f0 +/* A2C980 80242740 3C138025 */ lui $s3, 0x8025 +/* A2C984 80242744 26739AA0 */ addiu $s3, $s3, -0x6560 +/* A2C988 80242748 3C0541C8 */ lui $a1, 0x41c8 +/* A2C98C 8024274C 3C014348 */ lui $at, 0x4348 +/* A2C990 80242750 4481B000 */ mtc1 $at, $f22 +/* A2C994 80242754 44070000 */ mfc1 $a3, $f0 +/* A2C998 80242758 3C0142F0 */ lui $at, 0x42f0 +/* A2C99C 8024275C 44810000 */ mtc1 $at, $f0 +/* A2C9A0 80242760 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2C9A4 80242764 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2C9A8 80242768 3C03800B */ lui $v1, %hi(gCameras) +/* A2C9AC 8024276C 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2C9B0 80242770 AFB30014 */ sw $s3, 0x14($sp) +/* A2C9B4 80242774 00028080 */ sll $s0, $v0, 2 +/* A2C9B8 80242778 02028021 */ addu $s0, $s0, $v0 +/* A2C9BC 8024277C 00108080 */ sll $s0, $s0, 2 +/* A2C9C0 80242780 02028023 */ subu $s0, $s0, $v0 +/* A2C9C4 80242784 00901004 */ sllv $v0, $s0, $a0 +/* A2C9C8 80242788 02028021 */ addu $s0, $s0, $v0 +/* A2C9CC 8024278C 00908004 */ sllv $s0, $s0, $a0 +/* A2C9D0 80242790 4406B000 */ mfc1 $a2, $f22 +/* A2C9D4 80242794 02038021 */ addu $s0, $s0, $v1 +/* A2C9D8 80242798 0C090439 */ jal func_802410E4 +/* A2C9DC 8024279C E7A00010 */ swc1 $f0, 0x10($sp) +/* A2C9E0 802427A0 C6200000 */ lwc1 $f0, ($s1) +/* A2C9E4 802427A4 46800020 */ cvt.s.w $f0, $f0 +/* A2C9E8 802427A8 24040003 */ addiu $a0, $zero, 3 +/* A2C9EC 802427AC 3C054248 */ lui $a1, 0x4248 +/* A2C9F0 802427B0 3C06420C */ lui $a2, 0x420c +/* A2C9F4 802427B4 44070000 */ mfc1 $a3, $f0 +/* A2C9F8 802427B8 3C0141F0 */ lui $at, 0x41f0 +/* A2C9FC 802427BC 4481A000 */ mtc1 $at, $f20 +/* A2CA00 802427C0 3C158025 */ lui $s5, 0x8025 +/* A2CA04 802427C4 26B59A94 */ addiu $s5, $s5, -0x656c +/* A2CA08 802427C8 AFB50014 */ sw $s5, 0x14($sp) +/* A2CA0C 802427CC 0C090439 */ jal func_802410E4 +/* A2CA10 802427D0 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2CA14 802427D4 C6200000 */ lwc1 $f0, ($s1) +/* A2CA18 802427D8 46800020 */ cvt.s.w $f0, $f0 +/* A2CA1C 802427DC 24040003 */ addiu $a0, $zero, 3 +/* A2CA20 802427E0 3C054376 */ lui $a1, 0x4376 +/* A2CA24 802427E4 34A5199A */ ori $a1, $a1, 0x199a +/* A2CA28 802427E8 3C064334 */ lui $a2, 0x4334 +/* A2CA2C 802427EC 44070000 */ mfc1 $a3, $f0 +/* A2CA30 802427F0 3C148025 */ lui $s4, 0x8025 +/* A2CA34 802427F4 26949A98 */ addiu $s4, $s4, -0x6568 +/* A2CA38 802427F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2CA3C 802427FC 0C090439 */ jal func_802410E4 +/* A2CA40 80242800 AFB40014 */ sw $s4, 0x14($sp) +/* A2CA44 80242804 C6200000 */ lwc1 $f0, ($s1) +/* A2CA48 80242808 46800020 */ cvt.s.w $f0, $f0 +/* A2CA4C 8024280C 24040003 */ addiu $a0, $zero, 3 +/* A2CA50 80242810 4405B000 */ mfc1 $a1, $f22 +/* A2CA54 80242814 3C06435C */ lui $a2, 0x435c +/* A2CA58 80242818 44070000 */ mfc1 $a3, $f0 +/* A2CA5C 8024281C 3C128025 */ lui $s2, 0x8025 +/* A2CA60 80242820 26529A9C */ addiu $s2, $s2, -0x6564 +/* A2CA64 80242824 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2CA68 80242828 0C090439 */ jal func_802410E4 +/* A2CA6C 8024282C AFB20014 */ sw $s2, 0x14($sp) +/* A2CA70 80242830 C66C0000 */ lwc1 $f12, ($s3) +/* A2CA74 80242834 3C0143FA */ lui $at, 0x43fa +/* A2CA78 80242838 4481A000 */ mtc1 $at, $f20 +/* A2CA7C 8024283C 0C00A8BB */ jal sin_deg +/* A2CA80 80242840 00000000 */ nop +/* A2CA84 80242844 46140002 */ mul.s $f0, $f0, $f20 +/* A2CA88 80242848 00000000 */ nop +/* A2CA8C 8024284C C66C0000 */ lwc1 $f12, ($s3) +/* A2CA90 80242850 0C00A8D4 */ jal cos_deg +/* A2CA94 80242854 E60004F0 */ swc1 $f0, 0x4f0($s0) +/* A2CA98 80242858 46140002 */ mul.s $f0, $f0, $f20 +/* A2CA9C 8024285C 00000000 */ nop +/* A2CAA0 80242860 8EA50000 */ lw $a1, ($s5) +/* A2CAA4 80242864 0000202D */ daddu $a0, $zero, $zero +/* A2CAA8 80242868 0C090355 */ jal func_80240D54 +/* A2CAAC 8024286C E60004F8 */ swc1 $f0, 0x4f8($s0) +/* A2CAB0 80242870 C6800000 */ lwc1 $f0, ($s4) +/* A2CAB4 80242874 C6420000 */ lwc1 $f2, ($s2) +/* A2CAB8 80242878 8E220000 */ lw $v0, ($s1) +/* A2CABC 8024287C 24030001 */ addiu $v1, $zero, 1 +/* A2CAC0 80242880 A6030506 */ sh $v1, 0x506($s0) +/* A2CAC4 80242884 24420001 */ addiu $v0, $v0, 1 +/* A2CAC8 80242888 E60004DC */ swc1 $f0, 0x4dc($s0) +/* A2CACC 8024288C E60204B4 */ swc1 $f2, 0x4b4($s0) +/* A2CAD0 80242890 AE220000 */ sw $v0, ($s1) +/* A2CAD4 80242894 28420079 */ slti $v0, $v0, 0x79 +/* A2CAD8 80242898 8FBF0030 */ lw $ra, 0x30($sp) +/* A2CADC 8024289C 8FB5002C */ lw $s5, 0x2c($sp) +/* A2CAE0 802428A0 8FB40028 */ lw $s4, 0x28($sp) +/* A2CAE4 802428A4 8FB30024 */ lw $s3, 0x24($sp) +/* A2CAE8 802428A8 8FB20020 */ lw $s2, 0x20($sp) +/* A2CAEC 802428AC 8FB1001C */ lw $s1, 0x1c($sp) +/* A2CAF0 802428B0 8FB00018 */ lw $s0, 0x18($sp) +/* A2CAF4 802428B4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A2CAF8 802428B8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A2CAFC 802428BC 38420001 */ xori $v0, $v0, 1 +/* A2CB00 802428C0 03E00008 */ jr $ra +/* A2CB04 802428C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802428C8.s b/asm/nonmatchings/world/area_hos/hos_05/func_802428C8.s new file mode 100644 index 0000000000..cf6a269c3e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802428C8.s @@ -0,0 +1,443 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428C8 +/* A2CB08 802428C8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A2CB0C 802428CC AFB30024 */ sw $s3, 0x24($sp) +/* A2CB10 802428D0 0080982D */ daddu $s3, $a0, $zero +/* A2CB14 802428D4 AFBF0034 */ sw $ra, 0x34($sp) +/* A2CB18 802428D8 AFB60030 */ sw $s6, 0x30($sp) +/* A2CB1C 802428DC AFB5002C */ sw $s5, 0x2c($sp) +/* A2CB20 802428E0 AFB40028 */ sw $s4, 0x28($sp) +/* A2CB24 802428E4 AFB20020 */ sw $s2, 0x20($sp) +/* A2CB28 802428E8 AFB1001C */ sw $s1, 0x1c($sp) +/* A2CB2C 802428EC AFB00018 */ sw $s0, 0x18($sp) +/* A2CB30 802428F0 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* A2CB34 802428F4 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* A2CB38 802428F8 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* A2CB3C 802428FC F7B80048 */ sdc1 $f24, 0x48($sp) +/* A2CB40 80242900 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A2CB44 80242904 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A2CB48 80242908 8E70000C */ lw $s0, 0xc($s3) +/* A2CB4C 8024290C 8E050000 */ lw $a1, ($s0) +/* A2CB50 80242910 0C0B1EAF */ jal get_variable +/* A2CB54 80242914 26100004 */ addiu $s0, $s0, 4 +/* A2CB58 80242918 8E050000 */ lw $a1, ($s0) +/* A2CB5C 8024291C 26100004 */ addiu $s0, $s0, 4 +/* A2CB60 80242920 0260202D */ daddu $a0, $s3, $zero +/* A2CB64 80242924 0C0B210B */ jal get_float_variable +/* A2CB68 80242928 0040B02D */ daddu $s6, $v0, $zero +/* A2CB6C 8024292C 8E050000 */ lw $a1, ($s0) +/* A2CB70 80242930 0260202D */ daddu $a0, $s3, $zero +/* A2CB74 80242934 0C0B210B */ jal get_float_variable +/* A2CB78 80242938 E7A00010 */ swc1 $f0, 0x10($sp) +/* A2CB7C 8024293C 0260202D */ daddu $a0, $s3, $zero +/* A2CB80 80242940 3C05F4AC */ lui $a1, 0xf4ac +/* A2CB84 80242944 34A5D480 */ ori $a1, $a1, 0xd480 +/* A2CB88 80242948 0C0B1EAF */ jal get_variable +/* A2CB8C 8024294C 46000706 */ mov.s $f28, $f0 +/* A2CB90 80242950 0040202D */ daddu $a0, $v0, $zero +/* A2CB94 80242954 26C3FFFF */ addiu $v1, $s6, -1 +/* A2CB98 80242958 2C620006 */ sltiu $v0, $v1, 6 +/* A2CB9C 8024295C 104000CE */ beqz $v0, .L80242C98 +/* A2CBA0 80242960 0080882D */ daddu $s1, $a0, $zero +/* A2CBA4 80242964 00031080 */ sll $v0, $v1, 2 +/* A2CBA8 80242968 3C018025 */ lui $at, 0x8025 +/* A2CBAC 8024296C 00220821 */ addu $at, $at, $v0 +/* A2CBB0 80242970 8C22F1F0 */ lw $v0, -0xe10($at) +/* A2CBB4 80242974 00400008 */ jr $v0 +/* A2CBB8 80242978 00000000 */ nop +/* A2CBBC 8024297C 3C108025 */ lui $s0, 0x8025 +/* A2CBC0 80242980 2610F3F8 */ addiu $s0, $s0, -0xc08 +/* A2CBC4 80242984 0200902D */ daddu $s2, $s0, $zero +/* A2CBC8 80242988 2415001E */ addiu $s5, $zero, 0x1e +/* A2CBCC 8024298C 8E22000C */ lw $v0, 0xc($s1) +/* A2CBD0 80242990 8C420014 */ lw $v0, 0x14($v0) +/* A2CBD4 80242994 3C0142B4 */ lui $at, 0x42b4 +/* A2CBD8 80242998 4481F000 */ mtc1 $at, $f30 +/* A2CBDC 8024299C 00551021 */ addu $v0, $v0, $s5 +/* A2CBE0 802429A0 44821000 */ mtc1 $v0, $f2 +/* A2CBE4 802429A4 00000000 */ nop +/* A2CBE8 802429A8 468010A1 */ cvt.d.w $f2, $f2 +/* A2CBEC 802429AC 04410006 */ bgez $v0, .L802429C8 +/* A2CBF0 802429B0 24140003 */ addiu $s4, $zero, 3 +/* A2CBF4 802429B4 3C0141F0 */ lui $at, 0x41f0 +/* A2CBF8 802429B8 44810800 */ mtc1 $at, $f1 +/* A2CBFC 802429BC 44800000 */ mtc1 $zero, $f0 +/* A2CC00 802429C0 00000000 */ nop +/* A2CC04 802429C4 46201080 */ add.d $f2, $f2, $f0 +.L802429C8: +/* A2CC08 802429C8 3C014080 */ lui $at, 0x4080 +/* A2CC0C 802429CC 44810000 */ mtc1 $at, $f0 +/* A2CC10 802429D0 46201520 */ cvt.s.d $f20, $f2 +/* A2CC14 802429D4 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CC18 802429D8 00000000 */ nop +/* A2CC1C 802429DC 3C018025 */ lui $at, 0x8025 +/* A2CC20 802429E0 D420F208 */ ldc1 $f0, -0xdf8($at) +/* A2CC24 802429E4 08090B41 */ j .L80242D04 +/* A2CC28 802429E8 4600A521 */ cvt.d.s $f20, $f20 +/* A2CC2C 802429EC 3C108025 */ lui $s0, 0x8025 +/* A2CC30 802429F0 2610F420 */ addiu $s0, $s0, -0xbe0 +/* A2CC34 802429F4 0200902D */ daddu $s2, $s0, $zero +/* A2CC38 802429F8 2415001E */ addiu $s5, $zero, 0x1e +/* A2CC3C 802429FC 8E22000C */ lw $v0, 0xc($s1) +/* A2CC40 80242A00 8C420014 */ lw $v0, 0x14($v0) +/* A2CC44 80242A04 3C0142B4 */ lui $at, 0x42b4 +/* A2CC48 80242A08 4481F000 */ mtc1 $at, $f30 +/* A2CC4C 80242A0C 00551021 */ addu $v0, $v0, $s5 +/* A2CC50 80242A10 44821000 */ mtc1 $v0, $f2 +/* A2CC54 80242A14 00000000 */ nop +/* A2CC58 80242A18 468010A1 */ cvt.d.w $f2, $f2 +/* A2CC5C 80242A1C 04410006 */ bgez $v0, .L80242A38 +/* A2CC60 80242A20 24140003 */ addiu $s4, $zero, 3 +/* A2CC64 80242A24 3C0141F0 */ lui $at, 0x41f0 +/* A2CC68 80242A28 44810800 */ mtc1 $at, $f1 +/* A2CC6C 80242A2C 44800000 */ mtc1 $zero, $f0 +/* A2CC70 80242A30 00000000 */ nop +/* A2CC74 80242A34 46201080 */ add.d $f2, $f2, $f0 +.L80242A38: +/* A2CC78 80242A38 3C014080 */ lui $at, 0x4080 +/* A2CC7C 80242A3C 44810000 */ mtc1 $at, $f0 +/* A2CC80 80242A40 46201520 */ cvt.s.d $f20, $f2 +/* A2CC84 80242A44 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CC88 80242A48 00000000 */ nop +/* A2CC8C 80242A4C 3C018025 */ lui $at, 0x8025 +/* A2CC90 80242A50 D420F210 */ ldc1 $f0, -0xdf0($at) +/* A2CC94 80242A54 08090B41 */ j .L80242D04 +/* A2CC98 80242A58 4600A521 */ cvt.d.s $f20, $f20 +/* A2CC9C 80242A5C 3C108025 */ lui $s0, 0x8025 +/* A2CCA0 80242A60 2610F448 */ addiu $s0, $s0, -0xbb8 +/* A2CCA4 80242A64 0200902D */ daddu $s2, $s0, $zero +/* A2CCA8 80242A68 2415001E */ addiu $s5, $zero, 0x1e +/* A2CCAC 80242A6C 8E22000C */ lw $v0, 0xc($s1) +/* A2CCB0 80242A70 8C420014 */ lw $v0, 0x14($v0) +/* A2CCB4 80242A74 3C0142B4 */ lui $at, 0x42b4 +/* A2CCB8 80242A78 4481F000 */ mtc1 $at, $f30 +/* A2CCBC 80242A7C 00551021 */ addu $v0, $v0, $s5 +/* A2CCC0 80242A80 44821000 */ mtc1 $v0, $f2 +/* A2CCC4 80242A84 00000000 */ nop +/* A2CCC8 80242A88 468010A1 */ cvt.d.w $f2, $f2 +/* A2CCCC 80242A8C 04410006 */ bgez $v0, .L80242AA8 +/* A2CCD0 80242A90 24140003 */ addiu $s4, $zero, 3 +/* A2CCD4 80242A94 3C0141F0 */ lui $at, 0x41f0 +/* A2CCD8 80242A98 44810800 */ mtc1 $at, $f1 +/* A2CCDC 80242A9C 44800000 */ mtc1 $zero, $f0 +/* A2CCE0 80242AA0 00000000 */ nop +/* A2CCE4 80242AA4 46201080 */ add.d $f2, $f2, $f0 +.L80242AA8: +/* A2CCE8 80242AA8 3C014080 */ lui $at, 0x4080 +/* A2CCEC 80242AAC 44810000 */ mtc1 $at, $f0 +/* A2CCF0 80242AB0 46201520 */ cvt.s.d $f20, $f2 +/* A2CCF4 80242AB4 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CCF8 80242AB8 00000000 */ nop +/* A2CCFC 80242ABC 3C018025 */ lui $at, 0x8025 +/* A2CD00 80242AC0 D420F218 */ ldc1 $f0, -0xde8($at) +/* A2CD04 80242AC4 08090B41 */ j .L80242D04 +/* A2CD08 80242AC8 4600A521 */ cvt.d.s $f20, $f20 +/* A2CD0C 80242ACC 3C108025 */ lui $s0, 0x8025 +/* A2CD10 80242AD0 2610F470 */ addiu $s0, $s0, -0xb90 +/* A2CD14 80242AD4 8E22000C */ lw $v0, 0xc($s1) +/* A2CD18 80242AD8 2415001E */ addiu $s5, $zero, 0x1e +/* A2CD1C 80242ADC 8C420014 */ lw $v0, 0x14($v0) +/* A2CD20 80242AE0 3C0142B4 */ lui $at, 0x42b4 +/* A2CD24 80242AE4 4481F000 */ mtc1 $at, $f30 +/* A2CD28 80242AE8 00551021 */ addu $v0, $v0, $s5 +/* A2CD2C 80242AEC 44821000 */ mtc1 $v0, $f2 +/* A2CD30 80242AF0 00000000 */ nop +/* A2CD34 80242AF4 468010A1 */ cvt.d.w $f2, $f2 +/* A2CD38 80242AF8 04410006 */ bgez $v0, .L80242B14 +/* A2CD3C 80242AFC 0200902D */ daddu $s2, $s0, $zero +/* A2CD40 80242B00 3C0141F0 */ lui $at, 0x41f0 +/* A2CD44 80242B04 44810800 */ mtc1 $at, $f1 +/* A2CD48 80242B08 44800000 */ mtc1 $zero, $f0 +/* A2CD4C 80242B0C 00000000 */ nop +/* A2CD50 80242B10 46201080 */ add.d $f2, $f2, $f0 +.L80242B14: +/* A2CD54 80242B14 3C014080 */ lui $at, 0x4080 +/* A2CD58 80242B18 44810000 */ mtc1 $at, $f0 +/* A2CD5C 80242B1C 46201520 */ cvt.s.d $f20, $f2 +/* A2CD60 80242B20 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CD64 80242B24 00000000 */ nop +/* A2CD68 80242B28 3C018025 */ lui $at, 0x8025 +/* A2CD6C 80242B2C D420F220 */ ldc1 $f0, -0xde0($at) +/* A2CD70 80242B30 4600A521 */ cvt.d.s $f20, $f20 +/* A2CD74 80242B34 4620A500 */ add.d $f20, $f20, $f0 +/* A2CD78 80242B38 4620A520 */ cvt.s.d $f20, $f20 +/* A2CD7C 80242B3C 0C00A8BB */ jal sin_deg +/* A2CD80 80242B40 4600A306 */ mov.s $f12, $f20 +/* A2CD84 80242B44 4600F306 */ mov.s $f12, $f30 +/* A2CD88 80242B48 3C014248 */ lui $at, 0x4248 +/* A2CD8C 80242B4C 4481B000 */ mtc1 $at, $f22 +/* A2CD90 80242B50 0C00A8BB */ jal sin_deg +/* A2CD94 80242B54 46000606 */ mov.s $f24, $f0 +/* A2CD98 80242B58 46160002 */ mul.s $f0, $f0, $f22 +/* A2CD9C 80242B5C 00000000 */ nop +/* A2CDA0 80242B60 46180002 */ mul.s $f0, $f0, $f24 +/* A2CDA4 80242B64 00000000 */ nop +/* A2CDA8 80242B68 8E22000C */ lw $v0, 0xc($s1) +/* A2CDAC 80242B6C C4420004 */ lwc1 $f2, 4($v0) +/* A2CDB0 80242B70 46001680 */ add.s $f26, $f2, $f0 +/* A2CDB4 80242B74 0C00A8D4 */ jal cos_deg +/* A2CDB8 80242B78 4600A306 */ mov.s $f12, $f20 +/* A2CDBC 80242B7C 46160002 */ mul.s $f0, $f0, $f22 +/* A2CDC0 80242B80 00000000 */ nop +/* A2CDC4 80242B84 8E22000C */ lw $v0, 0xc($s1) +/* A2CDC8 80242B88 C4420008 */ lwc1 $f2, 8($v0) +/* A2CDCC 80242B8C 46001500 */ add.s $f20, $f2, $f0 +/* A2CDD0 80242B90 0C00A8BB */ jal sin_deg +/* A2CDD4 80242B94 4600F306 */ mov.s $f12, $f30 +/* A2CDD8 80242B98 46160002 */ mul.s $f0, $f0, $f22 +/* A2CDDC 80242B9C 00000000 */ nop +/* A2CDE0 80242BA0 46180002 */ mul.s $f0, $f0, $f24 +/* A2CDE4 80242BA4 00000000 */ nop +/* A2CDE8 80242BA8 8E22000C */ lw $v0, 0xc($s1) +/* A2CDEC 80242BAC C442000C */ lwc1 $f2, 0xc($v0) +/* A2CDF0 80242BB0 08090B60 */ j .L80242D80 +/* A2CDF4 80242BB4 24140003 */ addiu $s4, $zero, 3 +/* A2CDF8 80242BB8 3C108025 */ lui $s0, 0x8025 +/* A2CDFC 80242BBC 2610F498 */ addiu $s0, $s0, -0xb68 +/* A2CE00 80242BC0 0200902D */ daddu $s2, $s0, $zero +/* A2CE04 80242BC4 2415001E */ addiu $s5, $zero, 0x1e +/* A2CE08 80242BC8 8E22000C */ lw $v0, 0xc($s1) +/* A2CE0C 80242BCC 8C420014 */ lw $v0, 0x14($v0) +/* A2CE10 80242BD0 3C0142B4 */ lui $at, 0x42b4 +/* A2CE14 80242BD4 4481F000 */ mtc1 $at, $f30 +/* A2CE18 80242BD8 00551021 */ addu $v0, $v0, $s5 +/* A2CE1C 80242BDC 44821000 */ mtc1 $v0, $f2 +/* A2CE20 80242BE0 00000000 */ nop +/* A2CE24 80242BE4 468010A1 */ cvt.d.w $f2, $f2 +/* A2CE28 80242BE8 04410006 */ bgez $v0, .L80242C04 +/* A2CE2C 80242BEC 24140003 */ addiu $s4, $zero, 3 +/* A2CE30 80242BF0 3C0141F0 */ lui $at, 0x41f0 +/* A2CE34 80242BF4 44810800 */ mtc1 $at, $f1 +/* A2CE38 80242BF8 44800000 */ mtc1 $zero, $f0 +/* A2CE3C 80242BFC 00000000 */ nop +/* A2CE40 80242C00 46201080 */ add.d $f2, $f2, $f0 +.L80242C04: +/* A2CE44 80242C04 3C014080 */ lui $at, 0x4080 +/* A2CE48 80242C08 44810000 */ mtc1 $at, $f0 +/* A2CE4C 80242C0C 46201520 */ cvt.s.d $f20, $f2 +/* A2CE50 80242C10 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CE54 80242C14 00000000 */ nop +/* A2CE58 80242C18 3C018025 */ lui $at, 0x8025 +/* A2CE5C 80242C1C D420F228 */ ldc1 $f0, -0xdd8($at) +/* A2CE60 80242C20 08090B41 */ j .L80242D04 +/* A2CE64 80242C24 4600A521 */ cvt.d.s $f20, $f20 +/* A2CE68 80242C28 3C108025 */ lui $s0, 0x8025 +/* A2CE6C 80242C2C 2610F4C0 */ addiu $s0, $s0, -0xb40 +/* A2CE70 80242C30 0200902D */ daddu $s2, $s0, $zero +/* A2CE74 80242C34 2415001E */ addiu $s5, $zero, 0x1e +/* A2CE78 80242C38 8E22000C */ lw $v0, 0xc($s1) +/* A2CE7C 80242C3C 8C420014 */ lw $v0, 0x14($v0) +/* A2CE80 80242C40 3C0142B4 */ lui $at, 0x42b4 +/* A2CE84 80242C44 4481F000 */ mtc1 $at, $f30 +/* A2CE88 80242C48 00551021 */ addu $v0, $v0, $s5 +/* A2CE8C 80242C4C 44821000 */ mtc1 $v0, $f2 +/* A2CE90 80242C50 00000000 */ nop +/* A2CE94 80242C54 468010A1 */ cvt.d.w $f2, $f2 +/* A2CE98 80242C58 04410006 */ bgez $v0, .L80242C74 +/* A2CE9C 80242C5C 24140003 */ addiu $s4, $zero, 3 +/* A2CEA0 80242C60 3C0141F0 */ lui $at, 0x41f0 +/* A2CEA4 80242C64 44810800 */ mtc1 $at, $f1 +/* A2CEA8 80242C68 44800000 */ mtc1 $zero, $f0 +/* A2CEAC 80242C6C 00000000 */ nop +/* A2CEB0 80242C70 46201080 */ add.d $f2, $f2, $f0 +.L80242C74: +/* A2CEB4 80242C74 3C014080 */ lui $at, 0x4080 +/* A2CEB8 80242C78 44810000 */ mtc1 $at, $f0 +/* A2CEBC 80242C7C 46201520 */ cvt.s.d $f20, $f2 +/* A2CEC0 80242C80 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CEC4 80242C84 00000000 */ nop +/* A2CEC8 80242C88 3C018025 */ lui $at, 0x8025 +/* A2CECC 80242C8C D420F230 */ ldc1 $f0, -0xdd0($at) +/* A2CED0 80242C90 08090B41 */ j .L80242D04 +/* A2CED4 80242C94 4600A521 */ cvt.d.s $f20, $f20 +.L80242C98: +/* A2CED8 80242C98 3C108025 */ lui $s0, 0x8025 +/* A2CEDC 80242C9C 2610F4E8 */ addiu $s0, $s0, -0xb18 +/* A2CEE0 80242CA0 0200902D */ daddu $s2, $s0, $zero +/* A2CEE4 80242CA4 2415001E */ addiu $s5, $zero, 0x1e +/* A2CEE8 80242CA8 8C82000C */ lw $v0, 0xc($a0) +/* A2CEEC 80242CAC 8C420014 */ lw $v0, 0x14($v0) +/* A2CEF0 80242CB0 3C0142B4 */ lui $at, 0x42b4 +/* A2CEF4 80242CB4 4481F000 */ mtc1 $at, $f30 +/* A2CEF8 80242CB8 00551021 */ addu $v0, $v0, $s5 +/* A2CEFC 80242CBC 44821000 */ mtc1 $v0, $f2 +/* A2CF00 80242CC0 00000000 */ nop +/* A2CF04 80242CC4 468010A1 */ cvt.d.w $f2, $f2 +/* A2CF08 80242CC8 04410006 */ bgez $v0, .L80242CE4 +/* A2CF0C 80242CCC 24140003 */ addiu $s4, $zero, 3 +/* A2CF10 80242CD0 3C0141F0 */ lui $at, 0x41f0 +/* A2CF14 80242CD4 44810800 */ mtc1 $at, $f1 +/* A2CF18 80242CD8 44800000 */ mtc1 $zero, $f0 +/* A2CF1C 80242CDC 00000000 */ nop +/* A2CF20 80242CE0 46201080 */ add.d $f2, $f2, $f0 +.L80242CE4: +/* A2CF24 80242CE4 3C014080 */ lui $at, 0x4080 +/* A2CF28 80242CE8 44810000 */ mtc1 $at, $f0 +/* A2CF2C 80242CEC 46201520 */ cvt.s.d $f20, $f2 +/* A2CF30 80242CF0 4600A502 */ mul.s $f20, $f20, $f0 +/* A2CF34 80242CF4 00000000 */ nop +/* A2CF38 80242CF8 3C018025 */ lui $at, 0x8025 +/* A2CF3C 80242CFC D420F238 */ ldc1 $f0, -0xdc8($at) +/* A2CF40 80242D00 4600A521 */ cvt.d.s $f20, $f20 +.L80242D04: +/* A2CF44 80242D04 4620A500 */ add.d $f20, $f20, $f0 +/* A2CF48 80242D08 4620A520 */ cvt.s.d $f20, $f20 +/* A2CF4C 80242D0C 0C00A8BB */ jal sin_deg +/* A2CF50 80242D10 4600A306 */ mov.s $f12, $f20 +/* A2CF54 80242D14 4600F306 */ mov.s $f12, $f30 +/* A2CF58 80242D18 3C014248 */ lui $at, 0x4248 +/* A2CF5C 80242D1C 4481B000 */ mtc1 $at, $f22 +/* A2CF60 80242D20 0C00A8BB */ jal sin_deg +/* A2CF64 80242D24 46000606 */ mov.s $f24, $f0 +/* A2CF68 80242D28 46160002 */ mul.s $f0, $f0, $f22 +/* A2CF6C 80242D2C 00000000 */ nop +/* A2CF70 80242D30 46180002 */ mul.s $f0, $f0, $f24 +/* A2CF74 80242D34 00000000 */ nop +/* A2CF78 80242D38 8E22000C */ lw $v0, 0xc($s1) +/* A2CF7C 80242D3C C4420004 */ lwc1 $f2, 4($v0) +/* A2CF80 80242D40 46001680 */ add.s $f26, $f2, $f0 +/* A2CF84 80242D44 0C00A8D4 */ jal cos_deg +/* A2CF88 80242D48 4600A306 */ mov.s $f12, $f20 +/* A2CF8C 80242D4C 46160002 */ mul.s $f0, $f0, $f22 +/* A2CF90 80242D50 00000000 */ nop +/* A2CF94 80242D54 8E22000C */ lw $v0, 0xc($s1) +/* A2CF98 80242D58 C4420008 */ lwc1 $f2, 8($v0) +/* A2CF9C 80242D5C 46001500 */ add.s $f20, $f2, $f0 +/* A2CFA0 80242D60 0C00A8BB */ jal sin_deg +/* A2CFA4 80242D64 4600F306 */ mov.s $f12, $f30 +/* A2CFA8 80242D68 46160002 */ mul.s $f0, $f0, $f22 +/* A2CFAC 80242D6C 00000000 */ nop +/* A2CFB0 80242D70 46180002 */ mul.s $f0, $f0, $f24 +/* A2CFB4 80242D74 00000000 */ nop +/* A2CFB8 80242D78 8E22000C */ lw $v0, 0xc($s1) +/* A2CFBC 80242D7C C442000C */ lwc1 $f2, 0xc($v0) +.L80242D80: +/* A2CFC0 80242D80 46001080 */ add.s $f2, $f2, $f0 +/* A2CFC4 80242D84 E61A0018 */ swc1 $f26, 0x18($s0) +/* A2CFC8 80242D88 E614001C */ swc1 $f20, 0x1c($s0) +/* A2CFCC 80242D8C E6020020 */ swc1 $f2, 0x20($s0) +/* A2CFD0 80242D90 0260202D */ daddu $a0, $s3, $zero +/* A2CFD4 80242D94 3C05FE36 */ lui $a1, 0xfe36 +/* A2CFD8 80242D98 0C0B210B */ jal get_float_variable +/* A2CFDC 80242D9C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A2CFE0 80242DA0 0260202D */ daddu $a0, $s3, $zero +/* A2CFE4 80242DA4 3C05FE36 */ lui $a1, 0xfe36 +/* A2CFE8 80242DA8 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A2CFEC 80242DAC 0C0B210B */ jal get_float_variable +/* A2CFF0 80242DB0 E6400000 */ swc1 $f0, ($s2) +/* A2CFF4 80242DB4 0260202D */ daddu $a0, $s3, $zero +/* A2CFF8 80242DB8 3C05FE36 */ lui $a1, 0xfe36 +/* A2CFFC 80242DBC 34A53C82 */ ori $a1, $a1, 0x3c82 +/* A2D000 80242DC0 0C0B210B */ jal get_float_variable +/* A2D004 80242DC4 E6400004 */ swc1 $f0, 4($s2) +/* A2D008 80242DC8 26510018 */ addiu $s1, $s2, 0x18 +/* A2D00C 80242DCC E6400008 */ swc1 $f0, 8($s2) +/* A2D010 80242DD0 24020002 */ addiu $v0, $zero, 2 +/* A2D014 80242DD4 12C20028 */ beq $s6, $v0, .L80242E78 +/* A2D018 80242DD8 2652000C */ addiu $s2, $s2, 0xc +/* A2D01C 80242DDC 0260202D */ daddu $a0, $s3, $zero +/* A2D020 80242DE0 3C05FE36 */ lui $a1, 0xfe36 +/* A2D024 80242DE4 0C0B210B */ jal get_float_variable +/* A2D028 80242DE8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A2D02C 80242DEC 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D030 80242DF0 00000000 */ nop +/* A2D034 80242DF4 3C013F80 */ lui $at, 0x3f80 +/* A2D038 80242DF8 4481A000 */ mtc1 $at, $f20 +/* A2D03C 80242DFC 00000000 */ nop +/* A2D040 80242E00 461CA501 */ sub.s $f20, $f20, $f28 +/* A2D044 80242E04 C6220000 */ lwc1 $f2, ($s1) +/* A2D048 80242E08 46141082 */ mul.s $f2, $f2, $f20 +/* A2D04C 80242E0C 00000000 */ nop +/* A2D050 80242E10 0260202D */ daddu $a0, $s3, $zero +/* A2D054 80242E14 46020000 */ add.s $f0, $f0, $f2 +/* A2D058 80242E18 3C05FE36 */ lui $a1, 0xfe36 +/* A2D05C 80242E1C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A2D060 80242E20 0C0B210B */ jal get_float_variable +/* A2D064 80242E24 E6400000 */ swc1 $f0, ($s2) +/* A2D068 80242E28 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D06C 80242E2C 00000000 */ nop +/* A2D070 80242E30 C6220004 */ lwc1 $f2, 4($s1) +/* A2D074 80242E34 46141082 */ mul.s $f2, $f2, $f20 +/* A2D078 80242E38 00000000 */ nop +/* A2D07C 80242E3C 46020000 */ add.s $f0, $f0, $f2 +/* A2D080 80242E40 C7A40010 */ lwc1 $f4, 0x10($sp) +/* A2D084 80242E44 0260202D */ daddu $a0, $s3, $zero +/* A2D088 80242E48 46040000 */ add.s $f0, $f0, $f4 +/* A2D08C 80242E4C 3C05FE36 */ lui $a1, 0xfe36 +/* A2D090 80242E50 34A53C82 */ ori $a1, $a1, 0x3c82 +/* A2D094 80242E54 0C0B210B */ jal get_float_variable +/* A2D098 80242E58 E6400004 */ swc1 $f0, 4($s2) +/* A2D09C 80242E5C 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D0A0 80242E60 00000000 */ nop +/* A2D0A4 80242E64 C6220008 */ lwc1 $f2, 8($s1) +/* A2D0A8 80242E68 46141082 */ mul.s $f2, $f2, $f20 +/* A2D0AC 80242E6C 00000000 */ nop +/* A2D0B0 80242E70 08090BC8 */ j .L80242F20 +/* A2D0B4 80242E74 46020000 */ add.s $f0, $f0, $f2 +.L80242E78: +/* A2D0B8 80242E78 0260202D */ daddu $a0, $s3, $zero +/* A2D0BC 80242E7C 3C05FE36 */ lui $a1, 0xfe36 +/* A2D0C0 80242E80 0C0B210B */ jal get_float_variable +/* A2D0C4 80242E84 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A2D0C8 80242E88 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D0CC 80242E8C 00000000 */ nop +/* A2D0D0 80242E90 3C013F80 */ lui $at, 0x3f80 +/* A2D0D4 80242E94 4481A000 */ mtc1 $at, $f20 +/* A2D0D8 80242E98 00000000 */ nop +/* A2D0DC 80242E9C 461CA501 */ sub.s $f20, $f20, $f28 +/* A2D0E0 80242EA0 C6220000 */ lwc1 $f2, ($s1) +/* A2D0E4 80242EA4 46141082 */ mul.s $f2, $f2, $f20 +/* A2D0E8 80242EA8 00000000 */ nop +/* A2D0EC 80242EAC 46020000 */ add.s $f0, $f0, $f2 +/* A2D0F0 80242EB0 3C014248 */ lui $at, 0x4248 +/* A2D0F4 80242EB4 4481B000 */ mtc1 $at, $f22 +/* A2D0F8 80242EB8 0260202D */ daddu $a0, $s3, $zero +/* A2D0FC 80242EBC 46160001 */ sub.s $f0, $f0, $f22 +/* A2D100 80242EC0 3C05FE36 */ lui $a1, 0xfe36 +/* A2D104 80242EC4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A2D108 80242EC8 0C0B210B */ jal get_float_variable +/* A2D10C 80242ECC E6400000 */ swc1 $f0, ($s2) +/* A2D110 80242ED0 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D114 80242ED4 00000000 */ nop +/* A2D118 80242ED8 C6220004 */ lwc1 $f2, 4($s1) +/* A2D11C 80242EDC 46141082 */ mul.s $f2, $f2, $f20 +/* A2D120 80242EE0 00000000 */ nop +/* A2D124 80242EE4 46020000 */ add.s $f0, $f0, $f2 +/* A2D128 80242EE8 C7A40010 */ lwc1 $f4, 0x10($sp) +/* A2D12C 80242EEC 0260202D */ daddu $a0, $s3, $zero +/* A2D130 80242EF0 46040000 */ add.s $f0, $f0, $f4 +/* A2D134 80242EF4 3C05FE36 */ lui $a1, 0xfe36 +/* A2D138 80242EF8 34A53C82 */ ori $a1, $a1, 0x3c82 +/* A2D13C 80242EFC 0C0B210B */ jal get_float_variable +/* A2D140 80242F00 E6400004 */ swc1 $f0, 4($s2) +/* A2D144 80242F04 461C0002 */ mul.s $f0, $f0, $f28 +/* A2D148 80242F08 00000000 */ nop +/* A2D14C 80242F0C C6220008 */ lwc1 $f2, 8($s1) +/* A2D150 80242F10 46141082 */ mul.s $f2, $f2, $f20 +/* A2D154 80242F14 00000000 */ nop +/* A2D158 80242F18 46020000 */ add.s $f0, $f0, $f2 +/* A2D15C 80242F1C 46160001 */ sub.s $f0, $f0, $f22 +.L80242F20: +/* A2D160 80242F20 E6400008 */ swc1 $f0, 8($s2) +/* A2D164 80242F24 AE750084 */ sw $s5, 0x84($s3) +/* A2D168 80242F28 AE700088 */ sw $s0, 0x88($s3) +/* A2D16C 80242F2C AE74008C */ sw $s4, 0x8c($s3) +/* A2D170 80242F30 8FBF0034 */ lw $ra, 0x34($sp) +/* A2D174 80242F34 8FB60030 */ lw $s6, 0x30($sp) +/* A2D178 80242F38 8FB5002C */ lw $s5, 0x2c($sp) +/* A2D17C 80242F3C 8FB40028 */ lw $s4, 0x28($sp) +/* A2D180 80242F40 8FB30024 */ lw $s3, 0x24($sp) +/* A2D184 80242F44 8FB20020 */ lw $s2, 0x20($sp) +/* A2D188 80242F48 8FB1001C */ lw $s1, 0x1c($sp) +/* A2D18C 80242F4C 8FB00018 */ lw $s0, 0x18($sp) +/* A2D190 80242F50 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* A2D194 80242F54 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* A2D198 80242F58 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* A2D19C 80242F5C D7B80048 */ ldc1 $f24, 0x48($sp) +/* A2D1A0 80242F60 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A2D1A4 80242F64 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A2D1A8 80242F68 24020002 */ addiu $v0, $zero, 2 +/* A2D1AC 80242F6C 03E00008 */ jr $ra +/* A2D1B0 80242F70 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80242F74_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80242F74_A2A240.s new file mode 100644 index 0000000000..b0515e0ba8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80242F74_A2A240.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74_A2D1B4 +/* A2D1B4 80242F74 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2D1B8 80242F78 AFB1001C */ sw $s1, 0x1c($sp) +/* A2D1BC 80242F7C 3C118025 */ lui $s1, 0x8025 +/* A2D1C0 80242F80 2631A9C8 */ addiu $s1, $s1, -0x5638 +/* A2D1C4 80242F84 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2D1C8 80242F88 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2D1CC 80242F8C 3C018025 */ lui $at, 0x8025 +/* A2D1D0 80242F90 C42C987C */ lwc1 $f12, -0x6784($at) +/* A2D1D4 80242F94 3C018025 */ lui $at, 0x8025 +/* A2D1D8 80242F98 C42E98A8 */ lwc1 $f14, -0x6758($at) +/* A2D1DC 80242F9C 3C03800B */ lui $v1, %hi(gCameras) +/* A2D1E0 80242FA0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2D1E4 80242FA4 AFBF0020 */ sw $ra, 0x20($sp) +/* A2D1E8 80242FA8 AFB00018 */ sw $s0, 0x18($sp) +/* A2D1EC 80242FAC AFB10010 */ sw $s1, 0x10($sp) +/* A2D1F0 80242FB0 8E260000 */ lw $a2, ($s1) +/* A2D1F4 80242FB4 3C073F80 */ lui $a3, 0x3f80 +/* A2D1F8 80242FB8 00028080 */ sll $s0, $v0, 2 +/* A2D1FC 80242FBC 02028021 */ addu $s0, $s0, $v0 +/* A2D200 80242FC0 00108080 */ sll $s0, $s0, 2 +/* A2D204 80242FC4 02028023 */ subu $s0, $s0, $v0 +/* A2D208 80242FC8 001010C0 */ sll $v0, $s0, 3 +/* A2D20C 80242FCC 02028021 */ addu $s0, $s0, $v0 +/* A2D210 80242FD0 001080C0 */ sll $s0, $s0, 3 +/* A2D214 80242FD4 0C090411 */ jal func_80241044 +/* A2D218 80242FD8 02038021 */ addu $s0, $s0, $v1 +/* A2D21C 80242FDC 24020001 */ addiu $v0, $zero, 1 +/* A2D220 80242FE0 C6200000 */ lwc1 $f0, ($s1) +/* A2D224 80242FE4 3C01442F */ lui $at, 0x442f +/* A2D228 80242FE8 44811000 */ mtc1 $at, $f2 +/* A2D22C 80242FEC 0040182D */ daddu $v1, $v0, $zero +/* A2D230 80242FF0 A6030506 */ sh $v1, 0x506($s0) +/* A2D234 80242FF4 46020032 */ c.eq.s $f0, $f2 +/* A2D238 80242FF8 00000000 */ nop +/* A2D23C 80242FFC 45010002 */ bc1t .L80243008 +/* A2D240 80243000 E60004DC */ swc1 $f0, 0x4dc($s0) +/* A2D244 80243004 0000102D */ daddu $v0, $zero, $zero +.L80243008: +/* A2D248 80243008 8FBF0020 */ lw $ra, 0x20($sp) +/* A2D24C 8024300C 8FB1001C */ lw $s1, 0x1c($sp) +/* A2D250 80243010 8FB00018 */ lw $s0, 0x18($sp) +/* A2D254 80243014 03E00008 */ jr $ra +/* A2D258 80243018 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024301C.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024301C.s new file mode 100644 index 0000000000..e733e7f93f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024301C.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024301C +/* A2D25C 8024301C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A2D260 80243020 AFB00018 */ sw $s0, 0x18($sp) +/* A2D264 80243024 00A0802D */ daddu $s0, $a1, $zero +/* A2D268 80243028 AFBF0020 */ sw $ra, 0x20($sp) +/* A2D26C 8024302C AFB1001C */ sw $s1, 0x1c($sp) +/* A2D270 80243030 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A2D274 80243034 0C0B36B0 */ jal resolve_npc +/* A2D278 80243038 24050009 */ addiu $a1, $zero, 9 +/* A2D27C 8024303C 12000007 */ beqz $s0, .L8024305C +/* A2D280 80243040 0040882D */ daddu $s1, $v0, $zero +/* A2D284 80243044 C6200038 */ lwc1 $f0, 0x38($s1) +/* A2D288 80243048 C6220040 */ lwc1 $f2, 0x40($s1) +/* A2D28C 8024304C 3C018025 */ lui $at, 0x8025 +/* A2D290 80243050 E420F2F4 */ swc1 $f0, -0xd0c($at) +/* A2D294 80243054 3C018025 */ lui $at, 0x8025 +/* A2D298 80243058 E422F2F8 */ swc1 $f2, -0xd08($at) +.L8024305C: +/* A2D29C 8024305C 24040003 */ addiu $a0, $zero, 3 +/* A2D2A0 80243060 3C108025 */ lui $s0, 0x8025 +/* A2D2A4 80243064 2610A9CC */ addiu $s0, $s0, -0x5634 +/* A2D2A8 80243068 C6000000 */ lwc1 $f0, ($s0) +/* A2D2AC 8024306C 46800020 */ cvt.s.w $f0, $f0 +/* A2D2B0 80243070 3C058025 */ lui $a1, 0x8025 +/* A2D2B4 80243074 8CA5F2F4 */ lw $a1, -0xd0c($a1) +/* A2D2B8 80243078 3C06C2BE */ lui $a2, 0xc2be +/* A2D2BC 8024307C 44070000 */ mfc1 $a3, $f0 +/* A2D2C0 80243080 3C014220 */ lui $at, 0x4220 +/* A2D2C4 80243084 4481A000 */ mtc1 $at, $f20 +/* A2D2C8 80243088 26220038 */ addiu $v0, $s1, 0x38 +/* A2D2CC 8024308C AFA20014 */ sw $v0, 0x14($sp) +/* A2D2D0 80243090 0C090439 */ jal func_802410E4 +/* A2D2D4 80243094 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2D2D8 80243098 C6000000 */ lwc1 $f0, ($s0) +/* A2D2DC 8024309C 46800020 */ cvt.s.w $f0, $f0 +/* A2D2E0 802430A0 24040003 */ addiu $a0, $zero, 3 +/* A2D2E4 802430A4 3C058025 */ lui $a1, 0x8025 +/* A2D2E8 802430A8 8CA5F2F8 */ lw $a1, -0xd08($a1) +/* A2D2EC 802430AC 3C0641A0 */ lui $a2, 0x41a0 +/* A2D2F0 802430B0 44070000 */ mfc1 $a3, $f0 +/* A2D2F4 802430B4 26220040 */ addiu $v0, $s1, 0x40 +/* A2D2F8 802430B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2D2FC 802430BC 0C090439 */ jal func_802410E4 +/* A2D300 802430C0 AFA20014 */ sw $v0, 0x14($sp) +/* A2D304 802430C4 8E030000 */ lw $v1, ($s0) +/* A2D308 802430C8 C6200038 */ lwc1 $f0, 0x38($s1) +/* A2D30C 802430CC C6220040 */ lwc1 $f2, 0x40($s1) +/* A2D310 802430D0 24630001 */ addiu $v1, $v1, 1 +/* A2D314 802430D4 28620029 */ slti $v0, $v1, 0x29 +/* A2D318 802430D8 E620006C */ swc1 $f0, 0x6c($s1) +/* A2D31C 802430DC E6220074 */ swc1 $f2, 0x74($s1) +/* A2D320 802430E0 AE030000 */ sw $v1, ($s0) +/* A2D324 802430E4 8FBF0020 */ lw $ra, 0x20($sp) +/* A2D328 802430E8 8FB1001C */ lw $s1, 0x1c($sp) +/* A2D32C 802430EC 8FB00018 */ lw $s0, 0x18($sp) +/* A2D330 802430F0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A2D334 802430F4 38420001 */ xori $v0, $v0, 1 +/* A2D338 802430F8 03E00008 */ jr $ra +/* A2D33C 802430FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243100.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243100.s new file mode 100644 index 0000000000..cf81126cde --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243100.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243100 +/* A2D340 80243100 3C078025 */ lui $a3, 0x8025 +/* A2D344 80243104 8CE7AA20 */ lw $a3, -0x55e0($a3) +/* A2D348 80243108 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2D34C 8024310C AFBF0020 */ sw $ra, 0x20($sp) +/* A2D350 80243110 94E20044 */ lhu $v0, 0x44($a3) +/* A2D354 80243114 00022400 */ sll $a0, $v0, 0x10 +/* A2D358 80243118 94E20046 */ lhu $v0, 0x46($a3) +/* A2D35C 8024311C 8CE30000 */ lw $v1, ($a3) +/* A2D360 80243120 1060000D */ beqz $v1, .L80243158 +/* A2D364 80243124 00022C00 */ sll $a1, $v0, 0x10 +/* A2D368 80243128 240200FF */ addiu $v0, $zero, 0xff +/* A2D36C 8024312C AFA20010 */ sw $v0, 0x10($sp) +/* A2D370 80243130 24020080 */ addiu $v0, $zero, 0x80 +/* A2D374 80243134 AFA20014 */ sw $v0, 0x14($sp) +/* A2D378 80243138 AFA20018 */ sw $v0, 0x18($sp) +/* A2D37C 8024313C 24020010 */ addiu $v0, $zero, 0x10 +/* A2D380 80243140 00442007 */ srav $a0, $a0, $v0 +/* A2D384 80243144 AFA2001C */ sw $v0, 0x1c($sp) +/* A2D388 80243148 8CE6001C */ lw $a2, 0x1c($a3) +/* A2D38C 8024314C 8CE70020 */ lw $a3, 0x20($a3) +/* A2D390 80243150 0C090C59 */ jal func_80243164 +/* A2D394 80243154 00452807 */ srav $a1, $a1, $v0 +.L80243158: +/* A2D398 80243158 8FBF0020 */ lw $ra, 0x20($sp) +/* A2D39C 8024315C 03E00008 */ jr $ra +/* A2D3A0 80243160 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243164.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243164.s new file mode 100644 index 0000000000..fc1ce8d99f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243164.s @@ -0,0 +1,393 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243164 +/* A2D3A4 80243164 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A2D3A8 80243168 AFB1002C */ sw $s1, 0x2c($sp) +/* A2D3AC 8024316C 8FB10060 */ lw $s1, 0x60($sp) +/* A2D3B0 80243170 AFB40038 */ sw $s4, 0x38($sp) +/* A2D3B4 80243174 8FB40064 */ lw $s4, 0x64($sp) +/* A2D3B8 80243178 AFB5003C */ sw $s5, 0x3c($sp) +/* A2D3BC 8024317C 8FB50068 */ lw $s5, 0x68($sp) +/* A2D3C0 80243180 AFB20030 */ sw $s2, 0x30($sp) +/* A2D3C4 80243184 8FB2006C */ lw $s2, 0x6c($sp) +/* A2D3C8 80243188 AFBE0048 */ sw $fp, 0x48($sp) +/* A2D3CC 8024318C 0080F02D */ daddu $fp, $a0, $zero +/* A2D3D0 80243190 AFB30034 */ sw $s3, 0x34($sp) +/* A2D3D4 80243194 00E0982D */ daddu $s3, $a3, $zero +/* A2D3D8 80243198 AFBF004C */ sw $ra, 0x4c($sp) +/* A2D3DC 8024319C AFB70044 */ sw $s7, 0x44($sp) +/* A2D3E0 802431A0 AFB60040 */ sw $s6, 0x40($sp) +/* A2D3E4 802431A4 AFB00028 */ sw $s0, 0x28($sp) +/* A2D3E8 802431A8 AFA50054 */ sw $a1, 0x54($sp) +/* A2D3EC 802431AC 1220014B */ beqz $s1, .L802436DC +/* A2D3F0 802431B0 AFA60058 */ sw $a2, 0x58($sp) +/* A2D3F4 802431B4 3C06800A */ lui $a2, 0x800a +/* A2D3F8 802431B8 24C6A66C */ addiu $a2, $a2, -0x5994 +/* A2D3FC 802431BC 8CC50000 */ lw $a1, ($a2) +/* A2D400 802431C0 3C07E700 */ lui $a3, 0xe700 +/* A2D404 802431C4 00A0102D */ daddu $v0, $a1, $zero +/* A2D408 802431C8 24A50008 */ addiu $a1, $a1, 8 +/* A2D40C 802431CC ACC50000 */ sw $a1, ($a2) +/* A2D410 802431D0 AC470000 */ sw $a3, ($v0) +/* A2D414 802431D4 AC400004 */ sw $zero, 4($v0) +/* A2D418 802431D8 24A20008 */ addiu $v0, $a1, 8 +/* A2D41C 802431DC ACC20000 */ sw $v0, ($a2) +/* A2D420 802431E0 3C02DE00 */ lui $v0, 0xde00 +/* A2D424 802431E4 ACA20000 */ sw $v0, ($a1) +/* A2D428 802431E8 3C028025 */ lui $v0, 0x8025 +/* A2D42C 802431EC 2442AA28 */ addiu $v0, $v0, -0x55d8 +/* A2D430 802431F0 12600023 */ beqz $s3, .L80243280 +/* A2D434 802431F4 ACA20004 */ sw $v0, 4($a1) +/* A2D438 802431F8 3C03F500 */ lui $v1, 0xf500 +/* A2D43C 802431FC 34630100 */ ori $v1, $v1, 0x100 +/* A2D440 80243200 3C04073F */ lui $a0, 0x73f +/* A2D444 80243204 3484C000 */ ori $a0, $a0, 0xc000 +/* A2D448 80243208 24A20010 */ addiu $v0, $a1, 0x10 +/* A2D44C 8024320C ACC20000 */ sw $v0, ($a2) +/* A2D450 80243210 3C02FD10 */ lui $v0, 0xfd10 +/* A2D454 80243214 ACA20008 */ sw $v0, 8($a1) +/* A2D458 80243218 24A20018 */ addiu $v0, $a1, 0x18 +/* A2D45C 8024321C ACB3000C */ sw $s3, 0xc($a1) +/* A2D460 80243220 ACC20000 */ sw $v0, ($a2) +/* A2D464 80243224 3C02E800 */ lui $v0, 0xe800 +/* A2D468 80243228 ACA20010 */ sw $v0, 0x10($a1) +/* A2D46C 8024322C 24A20020 */ addiu $v0, $a1, 0x20 +/* A2D470 80243230 ACA00014 */ sw $zero, 0x14($a1) +/* A2D474 80243234 ACC20000 */ sw $v0, ($a2) +/* A2D478 80243238 3C020700 */ lui $v0, 0x700 +/* A2D47C 8024323C ACA2001C */ sw $v0, 0x1c($a1) +/* A2D480 80243240 24A20028 */ addiu $v0, $a1, 0x28 +/* A2D484 80243244 ACA30018 */ sw $v1, 0x18($a1) +/* A2D488 80243248 ACC20000 */ sw $v0, ($a2) +/* A2D48C 8024324C 3C02E600 */ lui $v0, 0xe600 +/* A2D490 80243250 ACA20020 */ sw $v0, 0x20($a1) +/* A2D494 80243254 24A20030 */ addiu $v0, $a1, 0x30 +/* A2D498 80243258 ACA00024 */ sw $zero, 0x24($a1) +/* A2D49C 8024325C ACC20000 */ sw $v0, ($a2) +/* A2D4A0 80243260 3C02F000 */ lui $v0, 0xf000 +/* A2D4A4 80243264 ACA20028 */ sw $v0, 0x28($a1) +/* A2D4A8 80243268 24A20038 */ addiu $v0, $a1, 0x38 +/* A2D4AC 8024326C ACA4002C */ sw $a0, 0x2c($a1) +/* A2D4B0 80243270 ACC20000 */ sw $v0, ($a2) +/* A2D4B4 80243274 ACA70030 */ sw $a3, 0x30($a1) +/* A2D4B8 80243278 08090CA6 */ j .L80243298 +/* A2D4BC 8024327C ACA00034 */ sw $zero, 0x34($a1) +.L80243280: +/* A2D4C0 80243280 3C03E300 */ lui $v1, 0xe300 +/* A2D4C4 80243284 34631001 */ ori $v1, $v1, 0x1001 +/* A2D4C8 80243288 24A20010 */ addiu $v0, $a1, 0x10 +/* A2D4CC 8024328C ACC20000 */ sw $v0, ($a2) +/* A2D4D0 80243290 ACA30008 */ sw $v1, 8($a1) +/* A2D4D4 80243294 ACA0000C */ sw $zero, 0xc($a1) +.L80243298: +/* A2D4D8 80243298 24040001 */ addiu $a0, $zero, 1 +/* A2D4DC 8024329C 27B00010 */ addiu $s0, $sp, 0x10 +/* A2D4E0 802432A0 0200282D */ daddu $a1, $s0, $zero +/* A2D4E4 802432A4 0C04DF70 */ jal func_80137DC0 +/* A2D4E8 802432A8 27A60014 */ addiu $a2, $sp, 0x14 +/* A2D4EC 802432AC 0000202D */ daddu $a0, $zero, $zero +/* A2D4F0 802432B0 0200282D */ daddu $a1, $s0, $zero +/* A2D4F4 802432B4 0C04DF70 */ jal func_80137DC0 +/* A2D4F8 802432B8 27A60018 */ addiu $a2, $sp, 0x18 +/* A2D4FC 802432BC C7A20014 */ lwc1 $f2, 0x14($sp) +/* A2D500 802432C0 3C01437F */ lui $at, 0x437f +/* A2D504 802432C4 44812000 */ mtc1 $at, $f4 +/* A2D508 802432C8 00000000 */ nop +/* A2D50C 802432CC 46022081 */ sub.s $f2, $f4, $f2 +/* A2D510 802432D0 44910000 */ mtc1 $s1, $f0 +/* A2D514 802432D4 00000000 */ nop +/* A2D518 802432D8 46800020 */ cvt.s.w $f0, $f0 +/* A2D51C 802432DC 46020002 */ mul.s $f0, $f0, $f2 +/* A2D520 802432E0 00000000 */ nop +/* A2D524 802432E4 C7A20018 */ lwc1 $f2, 0x18($sp) +/* A2D528 802432E8 46022081 */ sub.s $f2, $f4, $f2 +/* A2D52C 802432EC 46020002 */ mul.s $f0, $f0, $f2 +/* A2D530 802432F0 00000000 */ nop +/* A2D534 802432F4 240200FF */ addiu $v0, $zero, 0xff +/* A2D538 802432F8 46040003 */ div.s $f0, $f0, $f4 +/* A2D53C 802432FC 46040003 */ div.s $f0, $f0, $f4 +/* A2D540 80243300 4600018D */ trunc.w.s $f6, $f0 +/* A2D544 80243304 44113000 */ mfc1 $s1, $f6 +/* A2D548 80243308 00000000 */ nop +/* A2D54C 8024330C 12220013 */ beq $s1, $v0, .L8024335C +/* A2D550 80243310 3C06FCFF */ lui $a2, 0xfcff +/* A2D554 80243314 34C6B3FF */ ori $a2, $a2, 0xb3ff +/* A2D558 80243318 3C05FF64 */ lui $a1, 0xff64 +/* A2D55C 8024331C 3C04800A */ lui $a0, 0x800a +/* A2D560 80243320 2484A66C */ addiu $a0, $a0, -0x5994 +/* A2D564 80243324 8C820000 */ lw $v0, ($a0) +/* A2D568 80243328 34A5FE7F */ ori $a1, $a1, 0xfe7f +/* A2D56C 8024332C 0040182D */ daddu $v1, $v0, $zero +/* A2D570 80243330 24420008 */ addiu $v0, $v0, 8 +/* A2D574 80243334 AC820000 */ sw $v0, ($a0) +/* A2D578 80243338 AC660000 */ sw $a2, ($v1) +/* A2D57C 8024333C AC650004 */ sw $a1, 4($v1) +/* A2D580 80243340 24430008 */ addiu $v1, $v0, 8 +/* A2D584 80243344 AC830000 */ sw $v1, ($a0) +/* A2D588 80243348 3C03FA00 */ lui $v1, 0xfa00 +/* A2D58C 8024334C AC430000 */ sw $v1, ($v0) +/* A2D590 80243350 322300FF */ andi $v1, $s1, 0xff +/* A2D594 80243354 08090CE2 */ j .L80243388 +/* A2D598 80243358 AC430004 */ sw $v1, 4($v0) +.L8024335C: +/* A2D59C 8024335C 34C6FFFF */ ori $a2, $a2, 0xffff +/* A2D5A0 80243360 3C05FFFC */ lui $a1, 0xfffc +/* A2D5A4 80243364 3C04800A */ lui $a0, 0x800a +/* A2D5A8 80243368 2484A66C */ addiu $a0, $a0, -0x5994 +/* A2D5AC 8024336C 8C820000 */ lw $v0, ($a0) +/* A2D5B0 80243370 34A5F279 */ ori $a1, $a1, 0xf279 +/* A2D5B4 80243374 0040182D */ daddu $v1, $v0, $zero +/* A2D5B8 80243378 24420008 */ addiu $v0, $v0, 8 +/* A2D5BC 8024337C AC820000 */ sw $v0, ($a0) +/* A2D5C0 80243380 AC660000 */ sw $a2, ($v1) +/* A2D5C4 80243384 AC650004 */ sw $a1, 4($v1) +.L80243388: +/* A2D5C8 80243388 16400002 */ bnez $s2, .L80243394 +/* A2D5CC 8024338C 02B2001A */ div $zero, $s5, $s2 +/* A2D5D0 80243390 0007000D */ break 7 +.L80243394: +/* A2D5D4 80243394 2401FFFF */ addiu $at, $zero, -1 +/* A2D5D8 80243398 16410004 */ bne $s2, $at, .L802433AC +/* A2D5DC 8024339C 3C018000 */ lui $at, 0x8000 +/* A2D5E0 802433A0 16A10002 */ bne $s5, $at, .L802433AC +/* A2D5E4 802433A4 00000000 */ nop +/* A2D5E8 802433A8 0006000D */ break 6 +.L802433AC: +/* A2D5EC 802433AC 00004812 */ mflo $t1 +/* A2D5F0 802433B0 3C050050 */ lui $a1, 0x50 +/* A2D5F4 802433B4 34A503C0 */ ori $a1, $a1, 0x3c0 +/* A2D5F8 802433B8 3C07E200 */ lui $a3, 0xe200 +/* A2D5FC 802433BC 34E7001C */ ori $a3, $a3, 0x1c +/* A2D600 802433C0 3C060050 */ lui $a2, 0x50 +/* A2D604 802433C4 34C64340 */ ori $a2, $a2, 0x4340 +/* A2D608 802433C8 3C08800A */ lui $t0, 0x800a +/* A2D60C 802433CC 2508A66C */ addiu $t0, $t0, -0x5994 +/* A2D610 802433D0 0000582D */ daddu $t3, $zero, $zero +/* A2D614 802433D4 8D020000 */ lw $v0, ($t0) +/* A2D618 802433D8 3C03ED00 */ lui $v1, 0xed00 +/* A2D61C 802433DC 0040202D */ daddu $a0, $v0, $zero +/* A2D620 802433E0 24420008 */ addiu $v0, $v0, 8 +/* A2D624 802433E4 AD020000 */ sw $v0, ($t0) +/* A2D628 802433E8 AC830000 */ sw $v1, ($a0) +/* A2D62C 802433EC 24430008 */ addiu $v1, $v0, 8 +/* A2D630 802433F0 AC850004 */ sw $a1, 4($a0) +/* A2D634 802433F4 AD030000 */ sw $v1, ($t0) +/* A2D638 802433F8 AC470000 */ sw $a3, ($v0) +/* A2D63C 802433FC 192000AE */ blez $t1, .L802436B8 +/* A2D640 80243400 AC460004 */ sw $a2, 4($v0) +/* A2D644 80243404 0100302D */ daddu $a2, $t0, $zero +/* A2D648 80243408 2684FFFF */ addiu $a0, $s4, -1 +/* A2D64C 8024340C 30830FFF */ andi $v1, $a0, 0xfff +/* A2D650 80243410 3C02FD48 */ lui $v0, 0xfd48 +/* A2D654 80243414 0062B825 */ or $s7, $v1, $v0 +/* A2D658 80243418 3C02FD68 */ lui $v0, 0xfd68 +/* A2D65C 8024341C 00621825 */ or $v1, $v1, $v0 +/* A2D660 80243420 26820007 */ addiu $v0, $s4, 7 +/* A2D664 80243424 000210C3 */ sra $v0, $v0, 3 +/* A2D668 80243428 304201FF */ andi $v0, $v0, 0x1ff +/* A2D66C 8024342C 00021240 */ sll $v0, $v0, 9 +/* A2D670 80243430 AFA30020 */ sw $v1, 0x20($sp) +/* A2D674 80243434 3C03F548 */ lui $v1, 0xf548 +/* A2D678 80243438 00437825 */ or $t7, $v0, $v1 +/* A2D67C 8024343C 3C03F568 */ lui $v1, 0xf568 +/* A2D680 80243440 00437025 */ or $t6, $v0, $v1 +/* A2D684 80243444 3C110700 */ lui $s1, 0x700 +/* A2D688 80243448 00042080 */ sll $a0, $a0, 2 +/* A2D68C 8024344C 30840FFF */ andi $a0, $a0, 0xfff +/* A2D690 80243450 00046B00 */ sll $t5, $a0, 0xc +/* A2D694 80243454 03D41021 */ addu $v0, $fp, $s4 +/* A2D698 80243458 00021480 */ sll $v0, $v0, 0x12 +/* A2D69C 8024345C 00028403 */ sra $s0, $v0, 0x10 +/* A2D6A0 80243460 32020FFF */ andi $v0, $s0, 0xfff +/* A2D6A4 80243464 0002CB00 */ sll $t9, $v0, 0xc +/* A2D6A8 80243468 001E1480 */ sll $v0, $fp, 0x12 +/* A2D6AC 8024346C 00026403 */ sra $t4, $v0, 0x10 +/* A2D6B0 80243470 31980FFF */ andi $t8, $t4, 0xfff +/* A2D6B4 80243474 000CA280 */ sll $s4, $t4, 0xa +/* A2D6B8 80243478 0160402D */ daddu $t0, $t3, $zero +/* A2D6BC 8024347C 0240502D */ daddu $t2, $s2, $zero +/* A2D6C0 80243480 8FA70054 */ lw $a3, 0x54($sp) +.L80243484: +/* A2D6C4 80243484 8CC30000 */ lw $v1, ($a2) +/* A2D6C8 80243488 24620008 */ addiu $v0, $v1, 8 +/* A2D6CC 8024348C 12600003 */ beqz $s3, .L8024349C +/* A2D6D0 80243490 ACC20000 */ sw $v0, ($a2) +/* A2D6D4 80243494 08090D29 */ j .L802434A4 +/* A2D6D8 80243498 AC770000 */ sw $s7, ($v1) +.L8024349C: +/* A2D6DC 8024349C 8FB60020 */ lw $s6, 0x20($sp) +/* A2D6E0 802434A0 AC760000 */ sw $s6, ($v1) +.L802434A4: +/* A2D6E4 802434A4 8CC50000 */ lw $a1, ($a2) +/* A2D6E8 802434A8 8FB60058 */ lw $s6, 0x58($sp) +/* A2D6EC 802434AC 24A20008 */ addiu $v0, $a1, 8 +/* A2D6F0 802434B0 AC760004 */ sw $s6, 4($v1) +/* A2D6F4 802434B4 12600003 */ beqz $s3, .L802434C4 +/* A2D6F8 802434B8 ACC20000 */ sw $v0, ($a2) +/* A2D6FC 802434BC 08090D32 */ j .L802434C8 +/* A2D700 802434C0 ACAF0000 */ sw $t7, ($a1) +.L802434C4: +/* A2D704 802434C4 ACAE0000 */ sw $t6, ($a1) +.L802434C8: +/* A2D708 802434C8 8CC40000 */ lw $a0, ($a2) +/* A2D70C 802434CC 3C02E600 */ lui $v0, 0xe600 +/* A2D710 802434D0 ACB10004 */ sw $s1, 4($a1) +/* A2D714 802434D4 0080182D */ daddu $v1, $a0, $zero +/* A2D718 802434D8 24840008 */ addiu $a0, $a0, 8 +/* A2D71C 802434DC ACC40000 */ sw $a0, ($a2) +/* A2D720 802434E0 AC620000 */ sw $v0, ($v1) +/* A2D724 802434E4 24820008 */ addiu $v0, $a0, 8 +/* A2D728 802434E8 AC600004 */ sw $zero, 4($v1) +/* A2D72C 802434EC ACC20000 */ sw $v0, ($a2) +/* A2D730 802434F0 00081080 */ sll $v0, $t0, 2 +/* A2D734 802434F4 30420FFF */ andi $v0, $v0, 0xfff +/* A2D738 802434F8 3C03F400 */ lui $v1, 0xf400 +/* A2D73C 802434FC 00431025 */ or $v0, $v0, $v1 +/* A2D740 80243500 AC820000 */ sw $v0, ($a0) +/* A2D744 80243504 2542FFFF */ addiu $v0, $t2, -1 +/* A2D748 80243508 00021080 */ sll $v0, $v0, 2 +/* A2D74C 8024350C 30420FFF */ andi $v0, $v0, 0xfff +/* A2D750 80243510 00511025 */ or $v0, $v0, $s1 +/* A2D754 80243514 01A21025 */ or $v0, $t5, $v0 +/* A2D758 80243518 24830010 */ addiu $v1, $a0, 0x10 +/* A2D75C 8024351C AC820004 */ sw $v0, 4($a0) +/* A2D760 80243520 3C02E700 */ lui $v0, 0xe700 +/* A2D764 80243524 ACC30000 */ sw $v1, ($a2) +/* A2D768 80243528 AC820008 */ sw $v0, 8($a0) +/* A2D76C 8024352C 24820018 */ addiu $v0, $a0, 0x18 +/* A2D770 80243530 AC80000C */ sw $zero, 0xc($a0) +/* A2D774 80243534 12600003 */ beqz $s3, .L80243544 +/* A2D778 80243538 ACC20000 */ sw $v0, ($a2) +/* A2D77C 8024353C 08090D52 */ j .L80243548 +/* A2D780 80243540 AC8F0010 */ sw $t7, 0x10($a0) +.L80243544: +/* A2D784 80243544 AC8E0010 */ sw $t6, 0x10($a0) +.L80243548: +/* A2D788 80243548 00081080 */ sll $v0, $t0, 2 +/* A2D78C 8024354C 8CC40000 */ lw $a0, ($a2) +/* A2D790 80243550 30420FFF */ andi $v0, $v0, 0xfff +/* A2D794 80243554 AC600004 */ sw $zero, 4($v1) +/* A2D798 80243558 3C03F200 */ lui $v1, 0xf200 +/* A2D79C 8024355C 00431025 */ or $v0, $v0, $v1 +/* A2D7A0 80243560 0080282D */ daddu $a1, $a0, $zero +/* A2D7A4 80243564 24840008 */ addiu $a0, $a0, 8 +/* A2D7A8 80243568 ACC40000 */ sw $a0, ($a2) +/* A2D7AC 8024356C ACA20000 */ sw $v0, ($a1) +/* A2D7B0 80243570 2542FFFF */ addiu $v0, $t2, -1 +/* A2D7B4 80243574 00021080 */ sll $v0, $v0, 2 +/* A2D7B8 80243578 30420FFF */ andi $v0, $v0, 0xfff +/* A2D7BC 8024357C 01A21025 */ or $v0, $t5, $v0 +/* A2D7C0 80243580 ACA20004 */ sw $v0, 4($a1) +/* A2D7C4 80243584 24820008 */ addiu $v0, $a0, 8 +/* A2D7C8 80243588 1A000004 */ blez $s0, .L8024359C +/* A2D7CC 8024358C ACC20000 */ sw $v0, ($a2) +/* A2D7D0 80243590 3C02E400 */ lui $v0, 0xe400 +/* A2D7D4 80243594 08090D68 */ j .L802435A0 +/* A2D7D8 80243598 03221825 */ or $v1, $t9, $v0 +.L8024359C: +/* A2D7DC 8024359C 3C03E400 */ lui $v1, 0xe400 +.L802435A0: +/* A2D7E0 802435A0 00F21021 */ addu $v0, $a3, $s2 +/* A2D7E4 802435A4 00021480 */ sll $v0, $v0, 0x12 +/* A2D7E8 802435A8 00021403 */ sra $v0, $v0, 0x10 +/* A2D7EC 802435AC 18400004 */ blez $v0, .L802435C0 +/* A2D7F0 802435B0 AC830000 */ sw $v1, ($a0) +/* A2D7F4 802435B4 30420FFF */ andi $v0, $v0, 0xfff +/* A2D7F8 802435B8 00621025 */ or $v0, $v1, $v0 +/* A2D7FC 802435BC AC820000 */ sw $v0, ($a0) +.L802435C0: +/* A2D800 802435C0 19800002 */ blez $t4, .L802435CC +/* A2D804 802435C4 0000182D */ daddu $v1, $zero, $zero +/* A2D808 802435C8 00181B00 */ sll $v1, $t8, 0xc +.L802435CC: +/* A2D80C 802435CC 00071480 */ sll $v0, $a3, 0x12 +/* A2D810 802435D0 00021403 */ sra $v0, $v0, 0x10 +/* A2D814 802435D4 18400004 */ blez $v0, .L802435E8 +/* A2D818 802435D8 AC830004 */ sw $v1, 4($a0) +/* A2D81C 802435DC 30420FFF */ andi $v0, $v0, 0xfff +/* A2D820 802435E0 00621025 */ or $v0, $v1, $v0 +/* A2D824 802435E4 AC820004 */ sw $v0, 4($a0) +.L802435E8: +/* A2D828 802435E8 8CC20000 */ lw $v0, ($a2) +/* A2D82C 802435EC 00082940 */ sll $a1, $t0, 5 +/* A2D830 802435F0 0040182D */ daddu $v1, $v0, $zero +/* A2D834 802435F4 24420008 */ addiu $v0, $v0, 8 +/* A2D838 802435F8 ACC20000 */ sw $v0, ($a2) +/* A2D83C 802435FC 3C02E100 */ lui $v0, 0xe100 +/* A2D840 80243600 AC620000 */ sw $v0, ($v1) +/* A2D844 80243604 05810007 */ bgez $t4, .L80243624 +/* A2D848 80243608 24630004 */ addiu $v1, $v1, 4 +/* A2D84C 8024360C 001411C3 */ sra $v0, $s4, 7 +/* A2D850 80243610 5C400001 */ bgtzl $v0, .L80243618 +/* A2D854 80243614 0000102D */ daddu $v0, $zero, $zero +.L80243618: +/* A2D858 80243618 00021023 */ negu $v0, $v0 +/* A2D85C 8024361C 08090D8A */ j .L80243628 +/* A2D860 80243620 00022400 */ sll $a0, $v0, 0x10 +.L80243624: +/* A2D864 80243624 0000202D */ daddu $a0, $zero, $zero +.L80243628: +/* A2D868 80243628 00071080 */ sll $v0, $a3, 2 +/* A2D86C 8024362C 04410007 */ bgez $v0, .L8024364C +/* A2D870 80243630 30A2FFFF */ andi $v0, $a1, 0xffff +/* A2D874 80243634 00071480 */ sll $v0, $a3, 0x12 +/* A2D878 80243638 00021343 */ sra $v0, $v0, 0xd +/* A2D87C 8024363C 5C400001 */ bgtzl $v0, .L80243644 +/* A2D880 80243640 0000102D */ daddu $v0, $zero, $zero +.L80243644: +/* A2D884 80243644 00A21023 */ subu $v0, $a1, $v0 +/* A2D888 80243648 3042FFFF */ andi $v0, $v0, 0xffff +.L8024364C: +/* A2D88C 8024364C 00821025 */ or $v0, $a0, $v0 +/* A2D890 80243650 AC620000 */ sw $v0, ($v1) +/* A2D894 80243654 16400002 */ bnez $s2, .L80243660 +/* A2D898 80243658 02B2001A */ div $zero, $s5, $s2 +/* A2D89C 8024365C 0007000D */ break 7 +.L80243660: +/* A2D8A0 80243660 2401FFFF */ addiu $at, $zero, -1 +/* A2D8A4 80243664 16410004 */ bne $s2, $at, .L80243678 +/* A2D8A8 80243668 3C018000 */ lui $at, 0x8000 +/* A2D8AC 8024366C 16A10002 */ bne $s5, $at, .L80243678 +/* A2D8B0 80243670 00000000 */ nop +/* A2D8B4 80243674 0006000D */ break 6 +.L80243678: +/* A2D8B8 80243678 00004812 */ mflo $t1 +/* A2D8BC 8024367C 3C040400 */ lui $a0, 0x400 +/* A2D8C0 80243680 34840400 */ ori $a0, $a0, 0x400 +/* A2D8C4 80243684 00F23821 */ addu $a3, $a3, $s2 +/* A2D8C8 80243688 01124021 */ addu $t0, $t0, $s2 +/* A2D8CC 8024368C 01525021 */ addu $t2, $t2, $s2 +/* A2D8D0 80243690 8CC20000 */ lw $v0, ($a2) +/* A2D8D4 80243694 256B0001 */ addiu $t3, $t3, 1 +/* A2D8D8 80243698 0040182D */ daddu $v1, $v0, $zero +/* A2D8DC 8024369C 24420008 */ addiu $v0, $v0, 8 +/* A2D8E0 802436A0 ACC20000 */ sw $v0, ($a2) +/* A2D8E4 802436A4 3C02F100 */ lui $v0, 0xf100 +/* A2D8E8 802436A8 AC620000 */ sw $v0, ($v1) +/* A2D8EC 802436AC 0169102A */ slt $v0, $t3, $t1 +/* A2D8F0 802436B0 1440FF74 */ bnez $v0, .L80243484 +/* A2D8F4 802436B4 AC640004 */ sw $a0, 4($v1) +.L802436B8: +/* A2D8F8 802436B8 3C03800A */ lui $v1, 0x800a +/* A2D8FC 802436BC 2463A66C */ addiu $v1, $v1, -0x5994 +/* A2D900 802436C0 8C620000 */ lw $v0, ($v1) +/* A2D904 802436C4 0040202D */ daddu $a0, $v0, $zero +/* A2D908 802436C8 24420008 */ addiu $v0, $v0, 8 +/* A2D90C 802436CC AC620000 */ sw $v0, ($v1) +/* A2D910 802436D0 3C02E700 */ lui $v0, 0xe700 +/* A2D914 802436D4 AC820000 */ sw $v0, ($a0) +/* A2D918 802436D8 AC800004 */ sw $zero, 4($a0) +.L802436DC: +/* A2D91C 802436DC 8FBF004C */ lw $ra, 0x4c($sp) +/* A2D920 802436E0 8FBE0048 */ lw $fp, 0x48($sp) +/* A2D924 802436E4 8FB70044 */ lw $s7, 0x44($sp) +/* A2D928 802436E8 8FB60040 */ lw $s6, 0x40($sp) +/* A2D92C 802436EC 8FB5003C */ lw $s5, 0x3c($sp) +/* A2D930 802436F0 8FB40038 */ lw $s4, 0x38($sp) +/* A2D934 802436F4 8FB30034 */ lw $s3, 0x34($sp) +/* A2D938 802436F8 8FB20030 */ lw $s2, 0x30($sp) +/* A2D93C 802436FC 8FB1002C */ lw $s1, 0x2c($sp) +/* A2D940 80243700 8FB00028 */ lw $s0, 0x28($sp) +/* A2D944 80243704 03E00008 */ jr $ra +/* A2D948 80243708 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024370C.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024370C.s new file mode 100644 index 0000000000..a8ba1139b6 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024370C.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024370C +/* A2D94C 8024370C 3C038025 */ lui $v1, 0x8025 +/* A2D950 80243710 8C63AA20 */ lw $v1, -0x55e0($v1) +/* A2D954 80243714 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2D958 80243718 AFBF0020 */ sw $ra, 0x20($sp) +/* A2D95C 8024371C 84640048 */ lh $a0, 0x48($v1) +/* A2D960 80243720 8465004A */ lh $a1, 0x4a($v1) +/* A2D964 80243724 8466005C */ lh $a2, 0x5c($v1) +/* A2D968 80243728 24020080 */ addiu $v0, $zero, 0x80 +/* A2D96C 8024372C AFA20014 */ sw $v0, 0x14($sp) +/* A2D970 80243730 AFA20018 */ sw $v0, 0x18($sp) +/* A2D974 80243734 24020020 */ addiu $v0, $zero, 0x20 +/* A2D978 80243738 AFA2001C */ sw $v0, 0x1c($sp) +/* A2D97C 8024373C AFA60010 */ sw $a2, 0x10($sp) +/* A2D980 80243740 8C660018 */ lw $a2, 0x18($v1) +/* A2D984 80243744 0C090C59 */ jal func_80243164 +/* A2D988 80243748 0000382D */ daddu $a3, $zero, $zero +/* A2D98C 8024374C 8FBF0020 */ lw $ra, 0x20($sp) +/* A2D990 80243750 03E00008 */ jr $ra +/* A2D994 80243754 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243758.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243758.s new file mode 100644 index 0000000000..38334dc872 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243758.s @@ -0,0 +1,373 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243758 +/* A2D998 80243758 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2D99C 8024375C 0080C82D */ daddu $t9, $a0, $zero +/* A2D9A0 80243760 AFB40010 */ sw $s4, 0x10($sp) +/* A2D9A4 80243764 00A0A02D */ daddu $s4, $a1, $zero +/* A2D9A8 80243768 AFB00000 */ sw $s0, ($sp) +/* A2D9AC 8024376C 00C0802D */ daddu $s0, $a2, $zero +/* A2D9B0 80243770 AFB50014 */ sw $s5, 0x14($sp) +/* A2D9B4 80243774 24150001 */ addiu $s5, $zero, 1 +/* A2D9B8 80243778 3C05F500 */ lui $a1, 0xf500 +/* A2D9BC 8024377C 34A50100 */ ori $a1, $a1, 0x100 +/* A2D9C0 80243780 3C06073F */ lui $a2, 0x73f +/* A2D9C4 80243784 34C6C000 */ ori $a2, $a2, 0xc000 +/* A2D9C8 80243788 0000502D */ daddu $t2, $zero, $zero +/* A2D9CC 8024378C 3C02800A */ lui $v0, 0x800a +/* A2D9D0 80243790 2442A66C */ addiu $v0, $v0, -0x5994 +/* A2D9D4 80243794 0040402D */ daddu $t0, $v0, $zero +/* A2D9D8 80243798 3C0FF548 */ lui $t7, 0xf548 +/* A2D9DC 8024379C 35EF4200 */ ori $t7, $t7, 0x4200 +/* A2D9E0 802437A0 27220108 */ addiu $v0, $t9, 0x108 +/* A2D9E4 802437A4 00021480 */ sll $v0, $v0, 0x12 +/* A2D9E8 802437A8 0002C403 */ sra $t8, $v0, 0x10 +/* A2D9EC 802437AC 33020FFF */ andi $v0, $t8, 0xfff +/* A2D9F0 802437B0 AFB3000C */ sw $s3, 0xc($sp) +/* A2D9F4 802437B4 00029B00 */ sll $s3, $v0, 0xc +/* A2D9F8 802437B8 00191480 */ sll $v0, $t9, 0x12 +/* A2D9FC 802437BC 00027403 */ sra $t6, $v0, 0x10 +/* A2DA00 802437C0 AFB20008 */ sw $s2, 8($sp) +/* A2DA04 802437C4 31D20FFF */ andi $s2, $t6, 0xfff +/* A2DA08 802437C8 AFB10004 */ sw $s1, 4($sp) +/* A2DA0C 802437CC 000E8A80 */ sll $s1, $t6, 0xa +/* A2DA10 802437D0 0280482D */ daddu $t1, $s4, $zero +/* A2DA14 802437D4 0140682D */ daddu $t5, $t2, $zero +/* A2DA18 802437D8 240C0018 */ addiu $t4, $zero, 0x18 +/* A2DA1C 802437DC 0140582D */ daddu $t3, $t2, $zero +/* A2DA20 802437E0 8D020000 */ lw $v0, ($t0) +/* A2DA24 802437E4 3C04E700 */ lui $a0, 0xe700 +/* A2DA28 802437E8 0040182D */ daddu $v1, $v0, $zero +/* A2DA2C 802437EC 24420008 */ addiu $v0, $v0, 8 +/* A2DA30 802437F0 AD020000 */ sw $v0, ($t0) +/* A2DA34 802437F4 AC640000 */ sw $a0, ($v1) +/* A2DA38 802437F8 AC600004 */ sw $zero, 4($v1) +/* A2DA3C 802437FC 24430008 */ addiu $v1, $v0, 8 +/* A2DA40 80243800 AD030000 */ sw $v1, ($t0) +/* A2DA44 80243804 3C03FD10 */ lui $v1, 0xfd10 +/* A2DA48 80243808 AC430000 */ sw $v1, ($v0) +/* A2DA4C 8024380C 24430010 */ addiu $v1, $v0, 0x10 +/* A2DA50 80243810 AC470004 */ sw $a3, 4($v0) +/* A2DA54 80243814 AD030000 */ sw $v1, ($t0) +/* A2DA58 80243818 3C03E800 */ lui $v1, 0xe800 +/* A2DA5C 8024381C AC430008 */ sw $v1, 8($v0) +/* A2DA60 80243820 004C1821 */ addu $v1, $v0, $t4 +/* A2DA64 80243824 AC40000C */ sw $zero, 0xc($v0) +/* A2DA68 80243828 AD030000 */ sw $v1, ($t0) +/* A2DA6C 8024382C 3C030700 */ lui $v1, 0x700 +/* A2DA70 80243830 AC430014 */ sw $v1, 0x14($v0) +/* A2DA74 80243834 24430020 */ addiu $v1, $v0, 0x20 +/* A2DA78 80243838 AC450010 */ sw $a1, 0x10($v0) +/* A2DA7C 8024383C AD030000 */ sw $v1, ($t0) +/* A2DA80 80243840 3C03E600 */ lui $v1, 0xe600 +/* A2DA84 80243844 AC430018 */ sw $v1, 0x18($v0) +/* A2DA88 80243848 24430028 */ addiu $v1, $v0, 0x28 +/* A2DA8C 8024384C AC40001C */ sw $zero, 0x1c($v0) +/* A2DA90 80243850 AD030000 */ sw $v1, ($t0) +/* A2DA94 80243854 3C03F000 */ lui $v1, 0xf000 +/* A2DA98 80243858 AC430020 */ sw $v1, 0x20($v0) +/* A2DA9C 8024385C 24430030 */ addiu $v1, $v0, 0x30 +/* A2DAA0 80243860 AC460024 */ sw $a2, 0x24($v0) +/* A2DAA4 80243864 AD030000 */ sw $v1, ($t0) +/* A2DAA8 80243868 AC440028 */ sw $a0, 0x28($v0) +/* A2DAAC 8024386C AC40002C */ sw $zero, 0x2c($v0) +.L80243870: +/* A2DAB0 80243870 3C04FD48 */ lui $a0, 0xfd48 +/* A2DAB4 80243874 34840107 */ ori $a0, $a0, 0x107 +/* A2DAB8 80243878 3C060741 */ lui $a2, 0x741 +/* A2DABC 8024387C 34C6C000 */ ori $a2, $a2, 0xc000 +/* A2DAC0 80243880 3C070041 */ lui $a3, 0x41 +/* A2DAC4 80243884 34E7C000 */ ori $a3, $a3, 0xc000 +/* A2DAC8 80243888 8D030000 */ lw $v1, ($t0) +/* A2DACC 8024388C 31650FFF */ andi $a1, $t3, 0xfff +/* A2DAD0 80243890 0060102D */ daddu $v0, $v1, $zero +/* A2DAD4 80243894 24630008 */ addiu $v1, $v1, 8 +/* A2DAD8 80243898 AD030000 */ sw $v1, ($t0) +/* A2DADC 8024389C AC440000 */ sw $a0, ($v0) +/* A2DAE0 802438A0 AC500004 */ sw $s0, 4($v0) +/* A2DAE4 802438A4 24620008 */ addiu $v0, $v1, 8 +/* A2DAE8 802438A8 AD020000 */ sw $v0, ($t0) +/* A2DAEC 802438AC 3C020700 */ lui $v0, 0x700 +/* A2DAF0 802438B0 AC620004 */ sw $v0, 4($v1) +/* A2DAF4 802438B4 24620010 */ addiu $v0, $v1, 0x10 +/* A2DAF8 802438B8 AC6F0000 */ sw $t7, ($v1) +/* A2DAFC 802438BC AD020000 */ sw $v0, ($t0) +/* A2DB00 802438C0 3C02E600 */ lui $v0, 0xe600 +/* A2DB04 802438C4 AC620008 */ sw $v0, 8($v1) +/* A2DB08 802438C8 24620018 */ addiu $v0, $v1, 0x18 +/* A2DB0C 802438CC AC60000C */ sw $zero, 0xc($v1) +/* A2DB10 802438D0 AD020000 */ sw $v0, ($t0) +/* A2DB14 802438D4 3C02F400 */ lui $v0, 0xf400 +/* A2DB18 802438D8 00A21025 */ or $v0, $a1, $v0 +/* A2DB1C 802438DC 31840FFF */ andi $a0, $t4, 0xfff +/* A2DB20 802438E0 00863025 */ or $a2, $a0, $a2 +/* A2DB24 802438E4 AC620010 */ sw $v0, 0x10($v1) +/* A2DB28 802438E8 24620020 */ addiu $v0, $v1, 0x20 +/* A2DB2C 802438EC AC660014 */ sw $a2, 0x14($v1) +/* A2DB30 802438F0 AD020000 */ sw $v0, ($t0) +/* A2DB34 802438F4 3C02E700 */ lui $v0, 0xe700 +/* A2DB38 802438F8 AC620018 */ sw $v0, 0x18($v1) +/* A2DB3C 802438FC 24620028 */ addiu $v0, $v1, 0x28 +/* A2DB40 80243900 24660030 */ addiu $a2, $v1, 0x30 +/* A2DB44 80243904 AC60001C */ sw $zero, 0x1c($v1) +/* A2DB48 80243908 AD020000 */ sw $v0, ($t0) +/* A2DB4C 8024390C 3C02F200 */ lui $v0, 0xf200 +/* A2DB50 80243910 00A22825 */ or $a1, $a1, $v0 +/* A2DB54 80243914 00872025 */ or $a0, $a0, $a3 +/* A2DB58 80243918 AC6F0020 */ sw $t7, 0x20($v1) +/* A2DB5C 8024391C AC600024 */ sw $zero, 0x24($v1) +/* A2DB60 80243920 AD060000 */ sw $a2, ($t0) +/* A2DB64 80243924 AC650028 */ sw $a1, 0x28($v1) +/* A2DB68 80243928 AC64002C */ sw $a0, 0x2c($v1) +/* A2DB6C 8024392C 24630038 */ addiu $v1, $v1, 0x38 +/* A2DB70 80243930 1B000004 */ blez $t8, .L80243944 +/* A2DB74 80243934 AD030000 */ sw $v1, ($t0) +/* A2DB78 80243938 3C02E400 */ lui $v0, 0xe400 +/* A2DB7C 8024393C 08090E52 */ j .L80243948 +/* A2DB80 80243940 02621825 */ or $v1, $s3, $v0 +.L80243944: +/* A2DB84 80243944 3C03E400 */ lui $v1, 0xe400 +.L80243948: +/* A2DB88 80243948 25220007 */ addiu $v0, $t1, 7 +/* A2DB8C 8024394C 00021480 */ sll $v0, $v0, 0x12 +/* A2DB90 80243950 00021403 */ sra $v0, $v0, 0x10 +/* A2DB94 80243954 18400004 */ blez $v0, .L80243968 +/* A2DB98 80243958 ACC30000 */ sw $v1, ($a2) +/* A2DB9C 8024395C 30420FFF */ andi $v0, $v0, 0xfff +/* A2DBA0 80243960 00621025 */ or $v0, $v1, $v0 +/* A2DBA4 80243964 ACC20000 */ sw $v0, ($a2) +.L80243968: +/* A2DBA8 80243968 19C00002 */ blez $t6, .L80243974 +/* A2DBAC 8024396C 0000182D */ daddu $v1, $zero, $zero +/* A2DBB0 80243970 00121B00 */ sll $v1, $s2, 0xc +.L80243974: +/* A2DBB4 80243974 00091480 */ sll $v0, $t1, 0x12 +/* A2DBB8 80243978 00021403 */ sra $v0, $v0, 0x10 +/* A2DBBC 8024397C 18400004 */ blez $v0, .L80243990 +/* A2DBC0 80243980 ACC30004 */ sw $v1, 4($a2) +/* A2DBC4 80243984 30420FFF */ andi $v0, $v0, 0xfff +/* A2DBC8 80243988 00621025 */ or $v0, $v1, $v0 +/* A2DBCC 8024398C ACC20004 */ sw $v0, 4($a2) +.L80243990: +/* A2DBD0 80243990 8D020000 */ lw $v0, ($t0) +/* A2DBD4 80243994 000D2940 */ sll $a1, $t5, 5 +/* A2DBD8 80243998 0040182D */ daddu $v1, $v0, $zero +/* A2DBDC 8024399C 24420008 */ addiu $v0, $v0, 8 +/* A2DBE0 802439A0 AD020000 */ sw $v0, ($t0) +/* A2DBE4 802439A4 3C02E100 */ lui $v0, 0xe100 +/* A2DBE8 802439A8 AC620000 */ sw $v0, ($v1) +/* A2DBEC 802439AC 05C10007 */ bgez $t6, .L802439CC +/* A2DBF0 802439B0 24630004 */ addiu $v1, $v1, 4 +/* A2DBF4 802439B4 001111C3 */ sra $v0, $s1, 7 +/* A2DBF8 802439B8 5C400001 */ bgtzl $v0, .L802439C0 +/* A2DBFC 802439BC 0000102D */ daddu $v0, $zero, $zero +.L802439C0: +/* A2DC00 802439C0 00021023 */ negu $v0, $v0 +/* A2DC04 802439C4 08090E74 */ j .L802439D0 +/* A2DC08 802439C8 00022400 */ sll $a0, $v0, 0x10 +.L802439CC: +/* A2DC0C 802439CC 0000202D */ daddu $a0, $zero, $zero +.L802439D0: +/* A2DC10 802439D0 00091080 */ sll $v0, $t1, 2 +/* A2DC14 802439D4 04410007 */ bgez $v0, .L802439F4 +/* A2DC18 802439D8 30A2FFFF */ andi $v0, $a1, 0xffff +/* A2DC1C 802439DC 00091480 */ sll $v0, $t1, 0x12 +/* A2DC20 802439E0 00021343 */ sra $v0, $v0, 0xd +/* A2DC24 802439E4 5C400001 */ bgtzl $v0, .L802439EC +/* A2DC28 802439E8 0000102D */ daddu $v0, $zero, $zero +.L802439EC: +/* A2DC2C 802439EC 00A21023 */ subu $v0, $a1, $v0 +/* A2DC30 802439F0 3042FFFF */ andi $v0, $v0, 0xffff +.L802439F4: +/* A2DC34 802439F4 00821025 */ or $v0, $a0, $v0 +/* A2DC38 802439F8 AC620000 */ sw $v0, ($v1) +/* A2DC3C 802439FC 3C040400 */ lui $a0, 0x400 +/* A2DC40 80243A00 34840400 */ ori $a0, $a0, 0x400 +/* A2DC44 80243A04 25290007 */ addiu $t1, $t1, 7 +/* A2DC48 80243A08 25AD0007 */ addiu $t5, $t5, 7 +/* A2DC4C 80243A0C 258C001C */ addiu $t4, $t4, 0x1c +/* A2DC50 80243A10 256B001C */ addiu $t3, $t3, 0x1c +/* A2DC54 80243A14 8D020000 */ lw $v0, ($t0) +/* A2DC58 80243A18 254A0001 */ addiu $t2, $t2, 1 +/* A2DC5C 80243A1C 0040182D */ daddu $v1, $v0, $zero +/* A2DC60 80243A20 24420008 */ addiu $v0, $v0, 8 +/* A2DC64 80243A24 AD020000 */ sw $v0, ($t0) +/* A2DC68 80243A28 3C02F100 */ lui $v0, 0xf100 +/* A2DC6C 80243A2C AC620000 */ sw $v0, ($v1) +/* A2DC70 80243A30 29420017 */ slti $v0, $t2, 0x17 +/* A2DC74 80243A34 1440FF8E */ bnez $v0, .L80243870 +/* A2DC78 80243A38 AC640004 */ sw $a0, 4($v1) +/* A2DC7C 80243A3C 12A0008F */ beqz $s5, .L80243C7C +/* A2DC80 80243A40 3C03FD48 */ lui $v1, 0xfd48 +/* A2DC84 80243A44 34630107 */ ori $v1, $v1, 0x107 +/* A2DC88 80243A48 3C08F548 */ lui $t0, 0xf548 +/* A2DC8C 80243A4C 35084200 */ ori $t0, $t0, 0x4200 +/* A2DC90 80243A50 3C070741 */ lui $a3, 0x741 +/* A2DC94 80243A54 34E7C000 */ ori $a3, $a3, 0xc000 +/* A2DC98 80243A58 3C090041 */ lui $t1, 0x41 +/* A2DC9C 80243A5C 3C05800A */ lui $a1, 0x800a +/* A2DCA0 80243A60 24A5A66C */ addiu $a1, $a1, -0x5994 +/* A2DCA4 80243A64 8CA40000 */ lw $a0, ($a1) +/* A2DCA8 80243A68 3529C000 */ ori $t1, $t1, 0xc000 +/* A2DCAC 80243A6C 0080102D */ daddu $v0, $a0, $zero +/* A2DCB0 80243A70 24840008 */ addiu $a0, $a0, 8 +/* A2DCB4 80243A74 ACA40000 */ sw $a0, ($a1) +/* A2DCB8 80243A78 AC430000 */ sw $v1, ($v0) +/* A2DCBC 80243A7C AC500004 */ sw $s0, 4($v0) +/* A2DCC0 80243A80 24820008 */ addiu $v0, $a0, 8 +/* A2DCC4 80243A84 ACA20000 */ sw $v0, ($a1) +/* A2DCC8 80243A88 3C020700 */ lui $v0, 0x700 +/* A2DCCC 80243A8C AC820004 */ sw $v0, 4($a0) +/* A2DCD0 80243A90 24820010 */ addiu $v0, $a0, 0x10 +/* A2DCD4 80243A94 AC880000 */ sw $t0, ($a0) +/* A2DCD8 80243A98 ACA20000 */ sw $v0, ($a1) +/* A2DCDC 80243A9C 3C02E600 */ lui $v0, 0xe600 +/* A2DCE0 80243AA0 AC820008 */ sw $v0, 8($a0) +/* A2DCE4 80243AA4 24820018 */ addiu $v0, $a0, 0x18 +/* A2DCE8 80243AA8 000A18C0 */ sll $v1, $t2, 3 +/* A2DCEC 80243AAC 006A1823 */ subu $v1, $v1, $t2 +/* A2DCF0 80243AB0 00033080 */ sll $a2, $v1, 2 +/* A2DCF4 80243AB4 30C60FFF */ andi $a2, $a2, 0xfff +/* A2DCF8 80243AB8 AC80000C */ sw $zero, 0xc($a0) +/* A2DCFC 80243ABC ACA20000 */ sw $v0, ($a1) +/* A2DD00 80243AC0 3C02F400 */ lui $v0, 0xf400 +/* A2DD04 80243AC4 00C21025 */ or $v0, $a2, $v0 +/* A2DD08 80243AC8 00751821 */ addu $v1, $v1, $s5 +/* A2DD0C 80243ACC 2463FFFF */ addiu $v1, $v1, -1 +/* A2DD10 80243AD0 00031880 */ sll $v1, $v1, 2 +/* A2DD14 80243AD4 30630FFF */ andi $v1, $v1, 0xfff +/* A2DD18 80243AD8 00673825 */ or $a3, $v1, $a3 +/* A2DD1C 80243ADC AC820010 */ sw $v0, 0x10($a0) +/* A2DD20 80243AE0 24820020 */ addiu $v0, $a0, 0x20 +/* A2DD24 80243AE4 AC870014 */ sw $a3, 0x14($a0) +/* A2DD28 80243AE8 ACA20000 */ sw $v0, ($a1) +/* A2DD2C 80243AEC 3C02E700 */ lui $v0, 0xe700 +/* A2DD30 80243AF0 AC820018 */ sw $v0, 0x18($a0) +/* A2DD34 80243AF4 24820028 */ addiu $v0, $a0, 0x28 +/* A2DD38 80243AF8 24870030 */ addiu $a3, $a0, 0x30 +/* A2DD3C 80243AFC AC80001C */ sw $zero, 0x1c($a0) +/* A2DD40 80243B00 ACA20000 */ sw $v0, ($a1) +/* A2DD44 80243B04 3C02F200 */ lui $v0, 0xf200 +/* A2DD48 80243B08 00C23025 */ or $a2, $a2, $v0 +/* A2DD4C 80243B0C 00691825 */ or $v1, $v1, $t1 +/* A2DD50 80243B10 AC880020 */ sw $t0, 0x20($a0) +/* A2DD54 80243B14 AC800024 */ sw $zero, 0x24($a0) +/* A2DD58 80243B18 ACA70000 */ sw $a3, ($a1) +/* A2DD5C 80243B1C AC860028 */ sw $a2, 0x28($a0) +/* A2DD60 80243B20 AC83002C */ sw $v1, 0x2c($a0) +/* A2DD64 80243B24 24840038 */ addiu $a0, $a0, 0x38 +/* A2DD68 80243B28 27220108 */ addiu $v0, $t9, 0x108 +/* A2DD6C 80243B2C 00021480 */ sll $v0, $v0, 0x12 +/* A2DD70 80243B30 00021403 */ sra $v0, $v0, 0x10 +/* A2DD74 80243B34 18400006 */ blez $v0, .L80243B50 +/* A2DD78 80243B38 ACA40000 */ sw $a0, ($a1) +/* A2DD7C 80243B3C 30420FFF */ andi $v0, $v0, 0xfff +/* A2DD80 80243B40 00021300 */ sll $v0, $v0, 0xc +/* A2DD84 80243B44 3C03E400 */ lui $v1, 0xe400 +/* A2DD88 80243B48 08090ED5 */ j .L80243B54 +/* A2DD8C 80243B4C 00431825 */ or $v1, $v0, $v1 +.L80243B50: +/* A2DD90 80243B50 3C03E400 */ lui $v1, 0xe400 +.L80243B54: +/* A2DD94 80243B54 000A10C0 */ sll $v0, $t2, 3 +/* A2DD98 80243B58 004A1023 */ subu $v0, $v0, $t2 +/* A2DD9C 80243B5C 02821021 */ addu $v0, $s4, $v0 +/* A2DDA0 80243B60 00551021 */ addu $v0, $v0, $s5 +/* A2DDA4 80243B64 00021480 */ sll $v0, $v0, 0x12 +/* A2DDA8 80243B68 00021403 */ sra $v0, $v0, 0x10 +/* A2DDAC 80243B6C 18400004 */ blez $v0, .L80243B80 +/* A2DDB0 80243B70 ACE30000 */ sw $v1, ($a3) +/* A2DDB4 80243B74 30420FFF */ andi $v0, $v0, 0xfff +/* A2DDB8 80243B78 00621025 */ or $v0, $v1, $v0 +/* A2DDBC 80243B7C ACE20000 */ sw $v0, ($a3) +.L80243B80: +/* A2DDC0 80243B80 00191480 */ sll $v0, $t9, 0x12 +/* A2DDC4 80243B84 00021403 */ sra $v0, $v0, 0x10 +/* A2DDC8 80243B88 18400004 */ blez $v0, .L80243B9C +/* A2DDCC 80243B8C 24E70004 */ addiu $a3, $a3, 4 +/* A2DDD0 80243B90 30420FFF */ andi $v0, $v0, 0xfff +/* A2DDD4 80243B94 08090EE8 */ j .L80243BA0 +/* A2DDD8 80243B98 00021B00 */ sll $v1, $v0, 0xc +.L80243B9C: +/* A2DDDC 80243B9C 0000182D */ daddu $v1, $zero, $zero +.L80243BA0: +/* A2DDE0 80243BA0 000A10C0 */ sll $v0, $t2, 3 +/* A2DDE4 80243BA4 004A2823 */ subu $a1, $v0, $t2 +/* A2DDE8 80243BA8 02851021 */ addu $v0, $s4, $a1 +/* A2DDEC 80243BAC 00021480 */ sll $v0, $v0, 0x12 +/* A2DDF0 80243BB0 00021403 */ sra $v0, $v0, 0x10 +/* A2DDF4 80243BB4 18400004 */ blez $v0, .L80243BC8 +/* A2DDF8 80243BB8 ACE30000 */ sw $v1, ($a3) +/* A2DDFC 80243BBC 30420FFF */ andi $v0, $v0, 0xfff +/* A2DE00 80243BC0 00621025 */ or $v0, $v1, $v0 +/* A2DE04 80243BC4 ACE20000 */ sw $v0, ($a3) +.L80243BC8: +/* A2DE08 80243BC8 3C03800A */ lui $v1, 0x800a +/* A2DE0C 80243BCC 2463A66C */ addiu $v1, $v1, -0x5994 +/* A2DE10 80243BD0 8C620000 */ lw $v0, ($v1) +/* A2DE14 80243BD4 00053140 */ sll $a2, $a1, 5 +/* A2DE18 80243BD8 0040202D */ daddu $a0, $v0, $zero +/* A2DE1C 80243BDC 24420008 */ addiu $v0, $v0, 8 +/* A2DE20 80243BE0 AC620000 */ sw $v0, ($v1) +/* A2DE24 80243BE4 3C02E100 */ lui $v0, 0xe100 +/* A2DE28 80243BE8 AC820000 */ sw $v0, ($a0) +/* A2DE2C 80243BEC 00191480 */ sll $v0, $t9, 0x12 +/* A2DE30 80243BF0 00021403 */ sra $v0, $v0, 0x10 +/* A2DE34 80243BF4 04410007 */ bgez $v0, .L80243C14 +/* A2DE38 80243BF8 24840004 */ addiu $a0, $a0, 4 +/* A2DE3C 80243BFC 000210C0 */ sll $v0, $v0, 3 +/* A2DE40 80243C00 5C400001 */ bgtzl $v0, .L80243C08 +/* A2DE44 80243C04 0000102D */ daddu $v0, $zero, $zero +.L80243C08: +/* A2DE48 80243C08 00021023 */ negu $v0, $v0 +/* A2DE4C 80243C0C 08090F06 */ j .L80243C18 +/* A2DE50 80243C10 00021C00 */ sll $v1, $v0, 0x10 +.L80243C14: +/* A2DE54 80243C14 0000182D */ daddu $v1, $zero, $zero +.L80243C18: +/* A2DE58 80243C18 000A10C0 */ sll $v0, $t2, 3 +/* A2DE5C 80243C1C 004A1023 */ subu $v0, $v0, $t2 +/* A2DE60 80243C20 02822821 */ addu $a1, $s4, $v0 +/* A2DE64 80243C24 00051080 */ sll $v0, $a1, 2 +/* A2DE68 80243C28 04410007 */ bgez $v0, .L80243C48 +/* A2DE6C 80243C2C 30C2FFFF */ andi $v0, $a2, 0xffff +/* A2DE70 80243C30 00051480 */ sll $v0, $a1, 0x12 +/* A2DE74 80243C34 00021343 */ sra $v0, $v0, 0xd +/* A2DE78 80243C38 5C400001 */ bgtzl $v0, .L80243C40 +/* A2DE7C 80243C3C 0000102D */ daddu $v0, $zero, $zero +.L80243C40: +/* A2DE80 80243C40 00C21023 */ subu $v0, $a2, $v0 +/* A2DE84 80243C44 3042FFFF */ andi $v0, $v0, 0xffff +.L80243C48: +/* A2DE88 80243C48 00621025 */ or $v0, $v1, $v0 +/* A2DE8C 80243C4C AC820000 */ sw $v0, ($a0) +/* A2DE90 80243C50 3C050400 */ lui $a1, 0x400 +/* A2DE94 80243C54 3C03800A */ lui $v1, 0x800a +/* A2DE98 80243C58 2463A66C */ addiu $v1, $v1, -0x5994 +/* A2DE9C 80243C5C 8C620000 */ lw $v0, ($v1) +/* A2DEA0 80243C60 34A50400 */ ori $a1, $a1, 0x400 +/* A2DEA4 80243C64 0040202D */ daddu $a0, $v0, $zero +/* A2DEA8 80243C68 24420008 */ addiu $v0, $v0, 8 +/* A2DEAC 80243C6C AC620000 */ sw $v0, ($v1) +/* A2DEB0 80243C70 3C02F100 */ lui $v0, 0xf100 +/* A2DEB4 80243C74 AC820000 */ sw $v0, ($a0) +/* A2DEB8 80243C78 AC850004 */ sw $a1, 4($a0) +.L80243C7C: +/* A2DEBC 80243C7C 3C03800A */ lui $v1, 0x800a +/* A2DEC0 80243C80 2463A66C */ addiu $v1, $v1, -0x5994 +/* A2DEC4 80243C84 8C620000 */ lw $v0, ($v1) +/* A2DEC8 80243C88 0040202D */ daddu $a0, $v0, $zero +/* A2DECC 80243C8C 24420008 */ addiu $v0, $v0, 8 +/* A2DED0 80243C90 AC620000 */ sw $v0, ($v1) +/* A2DED4 80243C94 3C02E700 */ lui $v0, 0xe700 +/* A2DED8 80243C98 AC820000 */ sw $v0, ($a0) +/* A2DEDC 80243C9C AC800004 */ sw $zero, 4($a0) +/* A2DEE0 80243CA0 8FB50014 */ lw $s5, 0x14($sp) +/* A2DEE4 80243CA4 8FB40010 */ lw $s4, 0x10($sp) +/* A2DEE8 80243CA8 8FB3000C */ lw $s3, 0xc($sp) +/* A2DEEC 80243CAC 8FB20008 */ lw $s2, 8($sp) +/* A2DEF0 80243CB0 8FB10004 */ lw $s1, 4($sp) +/* A2DEF4 80243CB4 8FB00000 */ lw $s0, ($sp) +/* A2DEF8 80243CB8 03E00008 */ jr $ra +/* A2DEFC 80243CBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243CC0.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243CC0.s new file mode 100644 index 0000000000..dad59e3285 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243CC0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243CC0 +/* A2DF00 80243CC0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A2DF04 80243CC4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A2DF08 80243CC8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A2DF0C 80243CCC 3C04800B */ lui $a0, %hi(gCameras) +/* A2DF10 80243CD0 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2DF14 80243CD4 AFBF0028 */ sw $ra, 0x28($sp) +/* A2DF18 80243CD8 AFB30024 */ sw $s3, 0x24($sp) +/* A2DF1C 80243CDC AFB20020 */ sw $s2, 0x20($sp) +/* A2DF20 80243CE0 AFB1001C */ sw $s1, 0x1c($sp) +/* A2DF24 80243CE4 AFB00018 */ sw $s0, 0x18($sp) +/* A2DF28 80243CE8 00031080 */ sll $v0, $v1, 2 +/* A2DF2C 80243CEC 00431021 */ addu $v0, $v0, $v1 +/* A2DF30 80243CF0 00021080 */ sll $v0, $v0, 2 +/* A2DF34 80243CF4 00431023 */ subu $v0, $v0, $v1 +/* A2DF38 80243CF8 000218C0 */ sll $v1, $v0, 3 +/* A2DF3C 80243CFC 00431021 */ addu $v0, $v0, $v1 +/* A2DF40 80243D00 000210C0 */ sll $v0, $v0, 3 +/* A2DF44 80243D04 00441021 */ addu $v0, $v0, $a0 +/* A2DF48 80243D08 8451000E */ lh $s1, 0xe($v0) +/* A2DF4C 80243D0C 0C090DC3 */ jal func_8024370C +/* A2DF50 80243D10 84520010 */ lh $s2, 0x10($v0) +/* A2DF54 80243D14 3C05FF10 */ lui $a1, 0xff10 +/* A2DF58 80243D18 3C10800A */ lui $s0, 0x800a +/* A2DF5C 80243D1C 2610A66C */ addiu $s0, $s0, -0x5994 +/* A2DF60 80243D20 34A5013F */ ori $a1, $a1, 0x13f +/* A2DF64 80243D24 8E060000 */ lw $a2, ($s0) +/* A2DF68 80243D28 3C02DE00 */ lui $v0, 0xde00 +/* A2DF6C 80243D2C 00C0202D */ daddu $a0, $a2, $zero +/* A2DF70 80243D30 24C60008 */ addiu $a2, $a2, 8 +/* A2DF74 80243D34 AE060000 */ sw $a2, ($s0) +/* A2DF78 80243D38 3C03800A */ lui $v1, 0x800a +/* A2DF7C 80243D3C 8C63A64C */ lw $v1, -0x59b4($v1) +/* A2DF80 80243D40 3C138025 */ lui $s3, 0x8025 +/* A2DF84 80243D44 2673AA20 */ addiu $s3, $s3, -0x55e0 +/* A2DF88 80243D48 AC820000 */ sw $v0, ($a0) +/* A2DF8C 80243D4C 8E670000 */ lw $a3, ($s3) +/* A2DF90 80243D50 3C028025 */ lui $v0, 0x8025 +/* A2DF94 80243D54 2442AA28 */ addiu $v0, $v0, -0x55d8 +/* A2DF98 80243D58 AC820004 */ sw $v0, 4($a0) +/* A2DF9C 80243D5C ACC50000 */ sw $a1, ($a2) +/* A2DFA0 80243D60 ACC30004 */ sw $v1, 4($a2) +/* A2DFA4 80243D64 84E2005A */ lh $v0, 0x5a($a3) +/* A2DFA8 80243D68 24C30008 */ addiu $v1, $a2, 8 +/* A2DFAC 80243D6C 284200FF */ slti $v0, $v0, 0xff +/* A2DFB0 80243D70 1040000F */ beqz $v0, .L80243DB0 +/* A2DFB4 80243D74 AE030000 */ sw $v1, ($s0) +/* A2DFB8 80243D78 3C04E200 */ lui $a0, 0xe200 +/* A2DFBC 80243D7C 3484001C */ ori $a0, $a0, 0x1c +/* A2DFC0 80243D80 3C030050 */ lui $v1, 0x50 +/* A2DFC4 80243D84 34634340 */ ori $v1, $v1, 0x4340 +/* A2DFC8 80243D88 24C20010 */ addiu $v0, $a2, 0x10 +/* A2DFCC 80243D8C AE020000 */ sw $v0, ($s0) +/* A2DFD0 80243D90 24C20018 */ addiu $v0, $a2, 0x18 +/* A2DFD4 80243D94 ACC40008 */ sw $a0, 8($a2) +/* A2DFD8 80243D98 ACC3000C */ sw $v1, 0xc($a2) +/* A2DFDC 80243D9C AE020000 */ sw $v0, ($s0) +/* A2DFE0 80243DA0 3C02FA00 */ lui $v0, 0xfa00 +/* A2DFE4 80243DA4 ACC20010 */ sw $v0, 0x10($a2) +/* A2DFE8 80243DA8 90E2005B */ lbu $v0, 0x5b($a3) +/* A2DFEC 80243DAC ACC20014 */ sw $v0, 0x14($a2) +.L80243DB0: +/* A2DFF0 80243DB0 24040001 */ addiu $a0, $zero, 1 +/* A2DFF4 80243DB4 27A50010 */ addiu $a1, $sp, 0x10 +/* A2DFF8 80243DB8 0C04DF70 */ jal func_80137DC0 +/* A2DFFC 80243DBC 27A60014 */ addiu $a2, $sp, 0x14 +/* A2E000 80243DC0 C7A20014 */ lwc1 $f2, 0x14($sp) +/* A2E004 80243DC4 44800000 */ mtc1 $zero, $f0 +/* A2E008 80243DC8 00000000 */ nop +/* A2E00C 80243DCC 46001032 */ c.eq.s $f2, $f0 +/* A2E010 80243DD0 00000000 */ nop +/* A2E014 80243DD4 45010016 */ bc1t .L80243E30 +/* A2E018 80243DD8 3C05FC35 */ lui $a1, 0xfc35 +/* A2E01C 80243DDC 34A57E6A */ ori $a1, $a1, 0x7e6a +/* A2E020 80243DE0 3C0411FC */ lui $a0, 0x11fc +/* A2E024 80243DE4 3484FC7E */ ori $a0, $a0, 0xfc7e +/* A2E028 80243DE8 3C06D0D0 */ lui $a2, 0xd0d0 +/* A2E02C 80243DEC 8E030000 */ lw $v1, ($s0) +/* A2E030 80243DF0 34C6D000 */ ori $a2, $a2, 0xd000 +/* A2E034 80243DF4 0060102D */ daddu $v0, $v1, $zero +/* A2E038 80243DF8 24630008 */ addiu $v1, $v1, 8 +/* A2E03C 80243DFC AE030000 */ sw $v1, ($s0) +/* A2E040 80243E00 AC450000 */ sw $a1, ($v0) +/* A2E044 80243E04 AC440004 */ sw $a0, 4($v0) +/* A2E048 80243E08 24620008 */ addiu $v0, $v1, 8 +/* A2E04C 80243E0C AE020000 */ sw $v0, ($s0) +/* A2E050 80243E10 3C02FA00 */ lui $v0, 0xfa00 +/* A2E054 80243E14 AC620000 */ sw $v0, ($v1) +/* A2E058 80243E18 4600110D */ trunc.w.s $f4, $f2 +/* A2E05C 80243E1C 44022000 */ mfc1 $v0, $f4 +/* A2E060 80243E20 00000000 */ nop +/* A2E064 80243E24 304200FF */ andi $v0, $v0, 0xff +/* A2E068 80243E28 00461025 */ or $v0, $v0, $a2 +/* A2E06C 80243E2C AC620004 */ sw $v0, 4($v1) +.L80243E30: +/* A2E070 80243E30 8E630000 */ lw $v1, ($s3) +/* A2E074 80243E34 84620058 */ lh $v0, 0x58($v1) +/* A2E078 80243E38 1440000F */ bnez $v0, .L80243E78 +/* A2E07C 80243E3C 00000000 */ nop +/* A2E080 80243E40 8C66000C */ lw $a2, 0xc($v1) +/* A2E084 80243E44 8C670010 */ lw $a3, 0x10($v1) +/* A2E088 80243E48 84640040 */ lh $a0, 0x40($v1) +/* A2E08C 80243E4C 84650042 */ lh $a1, 0x42($v1) +/* A2E090 80243E50 02242021 */ addu $a0, $s1, $a0 +/* A2E094 80243E54 0C090DD6 */ jal func_80243758 +/* A2E098 80243E58 02452821 */ addu $a1, $s2, $a1 +/* A2E09C 80243E5C 8E620000 */ lw $v0, ($s3) +/* A2E0A0 80243E60 8C460004 */ lw $a2, 4($v0) +/* A2E0A4 80243E64 8C470008 */ lw $a3, 8($v0) +/* A2E0A8 80243E68 8444003C */ lh $a0, 0x3c($v0) +/* A2E0AC 80243E6C 8445003E */ lh $a1, 0x3e($v0) +/* A2E0B0 80243E70 08090FAB */ j .L80243EAC +/* A2E0B4 80243E74 02242021 */ addu $a0, $s1, $a0 +.L80243E78: +/* A2E0B8 80243E78 8C660004 */ lw $a2, 4($v1) +/* A2E0BC 80243E7C 8C670008 */ lw $a3, 8($v1) +/* A2E0C0 80243E80 8464003C */ lh $a0, 0x3c($v1) +/* A2E0C4 80243E84 8465003E */ lh $a1, 0x3e($v1) +/* A2E0C8 80243E88 02242021 */ addu $a0, $s1, $a0 +/* A2E0CC 80243E8C 0C090DD6 */ jal func_80243758 +/* A2E0D0 80243E90 02452821 */ addu $a1, $s2, $a1 +/* A2E0D4 80243E94 8E620000 */ lw $v0, ($s3) +/* A2E0D8 80243E98 8C46000C */ lw $a2, 0xc($v0) +/* A2E0DC 80243E9C 8C470010 */ lw $a3, 0x10($v0) +/* A2E0E0 80243EA0 84440040 */ lh $a0, 0x40($v0) +/* A2E0E4 80243EA4 84450042 */ lh $a1, 0x42($v0) +/* A2E0E8 80243EA8 02242021 */ addu $a0, $s1, $a0 +.L80243EAC: +/* A2E0EC 80243EAC 0C090DD6 */ jal func_80243758 +/* A2E0F0 80243EB0 02452821 */ addu $a1, $s2, $a1 +/* A2E0F4 80243EB4 8FBF0028 */ lw $ra, 0x28($sp) +/* A2E0F8 80243EB8 8FB30024 */ lw $s3, 0x24($sp) +/* A2E0FC 80243EBC 8FB20020 */ lw $s2, 0x20($sp) +/* A2E100 80243EC0 8FB1001C */ lw $s1, 0x1c($sp) +/* A2E104 80243EC4 8FB00018 */ lw $s0, 0x18($sp) +/* A2E108 80243EC8 03E00008 */ jr $ra +/* A2E10C 80243ECC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243ED0.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243ED0.s new file mode 100644 index 0000000000..3267a62b71 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243ED0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243ED0 +/* A2E110 80243ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2E114 80243ED4 24A5FFFF */ addiu $a1, $a1, -1 +/* A2E118 80243ED8 04A1000C */ bgez $a1, .L80243F0C +/* A2E11C 80243EDC AFBF0010 */ sw $ra, 0x10($sp) +/* A2E120 80243EE0 3404D6B5 */ ori $a0, $zero, 0xd6b5 +/* A2E124 80243EE4 3C028025 */ lui $v0, 0x8025 +/* A2E128 80243EE8 8C42AA20 */ lw $v0, -0x55e0($v0) +/* A2E12C 80243EEC 240300FF */ addiu $v1, $zero, 0xff +/* A2E130 80243EF0 8C420008 */ lw $v0, 8($v0) +.L80243EF4: +/* A2E134 80243EF4 A4440000 */ sh $a0, ($v0) +/* A2E138 80243EF8 2463FFFF */ addiu $v1, $v1, -1 +/* A2E13C 80243EFC 0461FFFD */ bgez $v1, .L80243EF4 +/* A2E140 80243F00 24420002 */ addiu $v0, $v0, 2 +/* A2E144 80243F04 08090FEE */ j .L80243FB8 +/* A2E148 80243F08 00000000 */ nop +.L80243F0C: +/* A2E14C 80243F0C 14800010 */ bnez $a0, .L80243F50 +/* A2E150 80243F10 00052080 */ sll $a0, $a1, 2 +/* A2E154 80243F14 3C030022 */ lui $v1, 0x22 +/* A2E158 80243F18 246391B0 */ addiu $v1, $v1, -0x6e50 +/* A2E15C 80243F1C 00852021 */ addu $a0, $a0, $a1 +/* A2E160 80243F20 00042080 */ sll $a0, $a0, 2 +/* A2E164 80243F24 00852021 */ addu $a0, $a0, $a1 +/* A2E168 80243F28 000420C0 */ sll $a0, $a0, 3 +/* A2E16C 80243F2C 00852021 */ addu $a0, $a0, $a1 +/* A2E170 80243F30 00042100 */ sll $a0, $a0, 4 +/* A2E174 80243F34 00852021 */ addu $a0, $a0, $a1 +/* A2E178 80243F38 00042100 */ sll $a0, $a0, 4 +/* A2E17C 80243F3C 3C028025 */ lui $v0, 0x8025 +/* A2E180 80243F40 8C42AA20 */ lw $v0, -0x55e0($v0) +/* A2E184 80243F44 8C460004 */ lw $a2, 4($v0) +/* A2E188 80243F48 08090FE2 */ j .L80243F88 +/* A2E18C 80243F4C 00832021 */ addu $a0, $a0, $v1 +.L80243F50: +/* A2E190 80243F50 3C030022 */ lui $v1, 0x22 +/* A2E194 80243F54 246391B0 */ addiu $v1, $v1, -0x6e50 +/* A2E198 80243F58 00852021 */ addu $a0, $a0, $a1 +/* A2E19C 80243F5C 00042080 */ sll $a0, $a0, 2 +/* A2E1A0 80243F60 00852021 */ addu $a0, $a0, $a1 +/* A2E1A4 80243F64 000420C0 */ sll $a0, $a0, 3 +/* A2E1A8 80243F68 00852021 */ addu $a0, $a0, $a1 +/* A2E1AC 80243F6C 00042100 */ sll $a0, $a0, 4 +/* A2E1B0 80243F70 00852021 */ addu $a0, $a0, $a1 +/* A2E1B4 80243F74 00042100 */ sll $a0, $a0, 4 +/* A2E1B8 80243F78 3C028025 */ lui $v0, 0x8025 +/* A2E1BC 80243F7C 8C42AA20 */ lw $v0, -0x55e0($v0) +/* A2E1C0 80243F80 00832021 */ addu $a0, $a0, $v1 +/* A2E1C4 80243F84 8C46000C */ lw $a2, 0xc($v0) +.L80243F88: +/* A2E1C8 80243F88 24A20001 */ addiu $v0, $a1, 1 +/* A2E1CC 80243F8C 00022880 */ sll $a1, $v0, 2 +/* A2E1D0 80243F90 00A22821 */ addu $a1, $a1, $v0 +/* A2E1D4 80243F94 00052880 */ sll $a1, $a1, 2 +/* A2E1D8 80243F98 00A22821 */ addu $a1, $a1, $v0 +/* A2E1DC 80243F9C 000528C0 */ sll $a1, $a1, 3 +/* A2E1E0 80243FA0 00A22821 */ addu $a1, $a1, $v0 +/* A2E1E4 80243FA4 00052900 */ sll $a1, $a1, 4 +/* A2E1E8 80243FA8 00A22821 */ addu $a1, $a1, $v0 +/* A2E1EC 80243FAC 00052900 */ sll $a1, $a1, 4 +/* A2E1F0 80243FB0 0C00A5CF */ jal dma_copy +/* A2E1F4 80243FB4 00A32821 */ addu $a1, $a1, $v1 +.L80243FB8: +/* A2E1F8 80243FB8 8FBF0010 */ lw $ra, 0x10($sp) +/* A2E1FC 80243FBC 03E00008 */ jr $ra +/* A2E200 80243FC0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80243FC4.s b/asm/nonmatchings/world/area_hos/hos_05/func_80243FC4.s new file mode 100644 index 0000000000..d356f49a3e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80243FC4.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243FC4 +/* A2E204 80243FC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2E208 80243FC8 0000202D */ daddu $a0, $zero, $zero +/* A2E20C 80243FCC 3C058024 */ lui $a1, 0x8024 +/* A2E210 80243FD0 24A53CC0 */ addiu $a1, $a1, 0x3cc0 +/* A2E214 80243FD4 AFBF0014 */ sw $ra, 0x14($sp) +/* A2E218 80243FD8 0C048C8F */ jal bind_dynamic_entity_7 +/* A2E21C 80243FDC AFB00010 */ sw $s0, 0x10($sp) +/* A2E220 80243FE0 3C040001 */ lui $a0, 1 +/* A2E224 80243FE4 3C108025 */ lui $s0, 0x8025 +/* A2E228 80243FE8 2610AA20 */ addiu $s0, $s0, -0x55e0 +/* A2E22C 80243FEC 8E030000 */ lw $v1, ($s0) +/* A2E230 80243FF0 3484D420 */ ori $a0, $a0, 0xd420 +/* A2E234 80243FF4 0C0475F9 */ jal func_8011D7E4 +/* A2E238 80243FF8 AC620000 */ sw $v0, ($v1) +/* A2E23C 80243FFC 3407A710 */ ori $a3, $zero, 0xa710 +/* A2E240 80244000 00471821 */ addu $v1, $v0, $a3 +/* A2E244 80244004 0000202D */ daddu $a0, $zero, $zero +/* A2E248 80244008 8E060000 */ lw $a2, ($s0) +/* A2E24C 8024400C 0080282D */ daddu $a1, $a0, $zero +/* A2E250 80244010 ACC30008 */ sw $v1, 8($a2) +/* A2E254 80244014 24630200 */ addiu $v1, $v1, 0x200 +/* A2E258 80244018 ACC3000C */ sw $v1, 0xc($a2) +/* A2E25C 8024401C 00671821 */ addu $v1, $v1, $a3 +/* A2E260 80244020 ACC30010 */ sw $v1, 0x10($a2) +/* A2E264 80244024 24630200 */ addiu $v1, $v1, 0x200 +/* A2E268 80244028 ACC30018 */ sw $v1, 0x18($a2) +/* A2E26C 8024402C 24634000 */ addiu $v1, $v1, 0x4000 +/* A2E270 80244030 ACC3001C */ sw $v1, 0x1c($a2) +/* A2E274 80244034 24634000 */ addiu $v1, $v1, 0x4000 +/* A2E278 80244038 ACC20004 */ sw $v0, 4($a2) +/* A2E27C 8024403C 240200F0 */ addiu $v0, $zero, 0xf0 +/* A2E280 80244040 A4C20046 */ sh $v0, 0x46($a2) +/* A2E284 80244044 2402006F */ addiu $v0, $zero, 0x6f +/* A2E288 80244048 A4C20048 */ sh $v0, 0x48($a2) +/* A2E28C 8024404C 24020036 */ addiu $v0, $zero, 0x36 +/* A2E290 80244050 ACC30020 */ sw $v1, 0x20($a2) +/* A2E294 80244054 A4C0003C */ sh $zero, 0x3c($a2) +/* A2E298 80244058 A4C0003E */ sh $zero, 0x3e($a2) +/* A2E29C 8024405C A4C00040 */ sh $zero, 0x40($a2) +/* A2E2A0 80244060 A4C00042 */ sh $zero, 0x42($a2) +/* A2E2A4 80244064 A4C00044 */ sh $zero, 0x44($a2) +/* A2E2A8 80244068 0C090FB4 */ jal func_80243ED0 +/* A2E2AC 8024406C A4C2004A */ sh $v0, 0x4a($a2) +/* A2E2B0 80244070 24040001 */ addiu $a0, $zero, 1 +/* A2E2B4 80244074 0C090FB4 */ jal func_80243ED0 +/* A2E2B8 80244078 0080282D */ daddu $a1, $a0, $zero +/* A2E2BC 8024407C 3C030002 */ lui $v1, 2 +/* A2E2C0 80244080 3463A440 */ ori $v1, $v1, 0xa440 +/* A2E2C4 80244084 3C050022 */ lui $a1, 0x22 +/* A2E2C8 80244088 24A591B0 */ addiu $a1, $a1, -0x6e50 +/* A2E2CC 8024408C 00A32021 */ addu $a0, $a1, $v1 +/* A2E2D0 80244090 24A54000 */ addiu $a1, $a1, 0x4000 +/* A2E2D4 80244094 8E020000 */ lw $v0, ($s0) +/* A2E2D8 80244098 00A32821 */ addu $a1, $a1, $v1 +/* A2E2DC 8024409C 8C460018 */ lw $a2, 0x18($v0) +/* A2E2E0 802440A0 0C00A5CF */ jal dma_copy +/* A2E2E4 802440A4 24A54200 */ addiu $a1, $a1, 0x4200 +/* A2E2E8 802440A8 8E040000 */ lw $a0, ($s0) +/* A2E2EC 802440AC 240300FF */ addiu $v1, $zero, 0xff +/* A2E2F0 802440B0 A4800058 */ sh $zero, 0x58($a0) +/* A2E2F4 802440B4 A483005A */ sh $v1, 0x5a($a0) +/* A2E2F8 802440B8 A480005C */ sh $zero, 0x5c($a0) +/* A2E2FC 802440BC 8FBF0014 */ lw $ra, 0x14($sp) +/* A2E300 802440C0 8FB00010 */ lw $s0, 0x10($sp) +/* A2E304 802440C4 24020002 */ addiu $v0, $zero, 2 +/* A2E308 802440C8 03E00008 */ jr $ra +/* A2E30C 802440CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802440D0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802440D0.s new file mode 100644 index 0000000000..6ebabb79c7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802440D0.s @@ -0,0 +1,245 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802440D0 +/* A2E310 802440D0 3C038025 */ lui $v1, 0x8025 +/* A2E314 802440D4 8C63AAB0 */ lw $v1, -0x5550($v1) +/* A2E318 802440D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2E31C 802440DC AFBF0014 */ sw $ra, 0x14($sp) +/* A2E320 802440E0 2C620007 */ sltiu $v0, $v1, 7 +/* A2E324 802440E4 104000D4 */ beqz $v0, .L80244438 +/* A2E328 802440E8 AFB00010 */ sw $s0, 0x10($sp) +/* A2E32C 802440EC 00031080 */ sll $v0, $v1, 2 +/* A2E330 802440F0 3C018025 */ lui $at, 0x8025 +/* A2E334 802440F4 00220821 */ addu $at, $at, $v0 +/* A2E338 802440F8 8C22F240 */ lw $v0, -0xdc0($at) +/* A2E33C 802440FC 00400008 */ jr $v0 +/* A2E340 80244100 00000000 */ nop +/* A2E344 80244104 3C048025 */ lui $a0, 0x8025 +/* A2E348 80244108 2484AAB0 */ addiu $a0, $a0, -0x5550 +/* A2E34C 8024410C 3C038025 */ lui $v1, 0x8025 +/* A2E350 80244110 08091097 */ j .L8024425C +/* A2E354 80244114 8C63AAB4 */ lw $v1, -0x554c($v1) +/* A2E358 80244118 3C068025 */ lui $a2, 0x8025 +/* A2E35C 8024411C 24C6AAB8 */ addiu $a2, $a2, -0x5548 +/* A2E360 80244120 8CC20000 */ lw $v0, ($a2) +/* A2E364 80244124 10400003 */ beqz $v0, .L80244134 +/* A2E368 80244128 2442FFFF */ addiu $v0, $v0, -1 +/* A2E36C 8024412C 08091110 */ j .L80244440 +/* A2E370 80244130 ACC20000 */ sw $v0, ($a2) +.L80244134: +/* A2E374 80244134 240400B0 */ addiu $a0, $zero, 0xb0 +/* A2E378 80244138 3C028025 */ lui $v0, 0x8025 +/* A2E37C 8024413C 2442AAB0 */ addiu $v0, $v0, -0x5550 +/* A2E380 80244140 8C430000 */ lw $v1, ($v0) +/* A2E384 80244144 2405001A */ addiu $a1, $zero, 0x1a +/* A2E388 80244148 ACC50000 */ sw $a1, ($a2) +/* A2E38C 8024414C 24630001 */ addiu $v1, $v1, 1 +/* A2E390 80244150 0C05272D */ jal play_sound +/* A2E394 80244154 AC430000 */ sw $v1, ($v0) +/* A2E398 80244158 08091111 */ j .L80244444 +/* A2E39C 8024415C 0000102D */ daddu $v0, $zero, $zero +/* A2E3A0 80244160 3C058025 */ lui $a1, 0x8025 +/* A2E3A4 80244164 24A5AAB8 */ addiu $a1, $a1, -0x5548 +/* A2E3A8 80244168 8CA30000 */ lw $v1, ($a1) +/* A2E3AC 8024416C 10600008 */ beqz $v1, .L80244190 +/* A2E3B0 80244170 2463FFFF */ addiu $v1, $v1, -1 +/* A2E3B4 80244174 3C048025 */ lui $a0, 0x8025 +/* A2E3B8 80244178 8C84AA20 */ lw $a0, -0x55e0($a0) +/* A2E3BC 8024417C 84820058 */ lh $v0, 0x58($a0) +/* A2E3C0 80244180 1040009E */ beqz $v0, .L802443FC +/* A2E3C4 80244184 ACA30000 */ sw $v1, ($a1) +/* A2E3C8 80244188 080910F7 */ j .L802443DC +/* A2E3CC 8024418C 24020019 */ addiu $v0, $zero, 0x19 +.L80244190: +/* A2E3D0 80244190 3C038025 */ lui $v1, 0x8025 +/* A2E3D4 80244194 2463AAB4 */ addiu $v1, $v1, -0x554c +/* A2E3D8 80244198 8C640000 */ lw $a0, ($v1) +/* A2E3DC 8024419C 24820001 */ addiu $v0, $a0, 1 +/* A2E3E0 802441A0 24850002 */ addiu $a1, $a0, 2 +/* A2E3E4 802441A4 AC620000 */ sw $v0, ($v1) +/* A2E3E8 802441A8 28A20005 */ slti $v0, $a1, 5 +/* A2E3EC 802441AC 10400011 */ beqz $v0, .L802441F4 +/* A2E3F0 802441B0 00000000 */ nop +/* A2E3F4 802441B4 3C108025 */ lui $s0, 0x8025 +/* A2E3F8 802441B8 2610AA20 */ addiu $s0, $s0, -0x55e0 +/* A2E3FC 802441BC 8E020000 */ lw $v0, ($s0) +/* A2E400 802441C0 0C090FB4 */ jal func_80243ED0 +/* A2E404 802441C4 84440058 */ lh $a0, 0x58($v0) +/* A2E408 802441C8 8E020000 */ lw $v0, ($s0) +/* A2E40C 802441CC 94430058 */ lhu $v1, 0x58($v0) +/* A2E410 802441D0 3C018025 */ lui $at, 0x8025 +/* A2E414 802441D4 AC20AAB0 */ sw $zero, -0x5550($at) +/* A2E418 802441D8 A440003C */ sh $zero, 0x3c($v0) +/* A2E41C 802441DC A440003E */ sh $zero, 0x3e($v0) +/* A2E420 802441E0 A4400040 */ sh $zero, 0x40($v0) +/* A2E424 802441E4 A4400042 */ sh $zero, 0x42($v0) +/* A2E428 802441E8 38630001 */ xori $v1, $v1, 1 +/* A2E42C 802441EC 08091110 */ j .L80244440 +/* A2E430 802441F0 A4430058 */ sh $v1, 0x58($v0) +.L802441F4: +/* A2E434 802441F4 3C038025 */ lui $v1, 0x8025 +/* A2E438 802441F8 8C63AA20 */ lw $v1, -0x55e0($v1) +/* A2E43C 802441FC 84620058 */ lh $v0, 0x58($v1) +/* A2E440 80244200 54400004 */ bnel $v0, $zero, .L80244214 +/* A2E444 80244204 A460003C */ sh $zero, 0x3c($v1) +/* A2E448 80244208 A4600040 */ sh $zero, 0x40($v1) +/* A2E44C 8024420C 08091086 */ j .L80244218 +/* A2E450 80244210 A4600042 */ sh $zero, 0x42($v1) +.L80244214: +/* A2E454 80244214 A460003E */ sh $zero, 0x3e($v1) +.L80244218: +/* A2E458 80244218 3C04800B */ lui $a0, %hi(gCameras) +/* A2E45C 8024421C 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A2E460 80244220 3C058025 */ lui $a1, 0x8025 +/* A2E464 80244224 24A5AAB0 */ addiu $a1, $a1, -0x5550 +/* A2E468 80244228 94820000 */ lhu $v0, ($a0) +/* A2E46C 8024422C 8CA30000 */ lw $v1, ($a1) +/* A2E470 80244230 3042FFFD */ andi $v0, $v0, 0xfffd +/* A2E474 80244234 24630001 */ addiu $v1, $v1, 1 +/* A2E478 80244238 A4820000 */ sh $v0, ($a0) +/* A2E47C 8024423C 08091110 */ j .L80244440 +/* A2E480 80244240 ACA30000 */ sw $v1, ($a1) +/* A2E484 80244244 3C038025 */ lui $v1, 0x8025 +/* A2E488 80244248 8C63AAB4 */ lw $v1, -0x554c($v1) +/* A2E48C 8024424C 3C048025 */ lui $a0, 0x8025 +/* A2E490 80244250 2484AAB0 */ addiu $a0, $a0, -0x5550 +/* A2E494 80244254 3C018025 */ lui $at, 0x8025 +/* A2E498 80244258 AC20AABC */ sw $zero, -0x5544($at) +.L8024425C: +/* A2E49C 8024425C 8C820000 */ lw $v0, ($a0) +/* A2E4A0 80244260 00031880 */ sll $v1, $v1, 2 +/* A2E4A4 80244264 3C018025 */ lui $at, 0x8025 +/* A2E4A8 80244268 00230821 */ addu $at, $at, $v1 +/* A2E4AC 8024426C 8C23AAC0 */ lw $v1, -0x5540($at) +/* A2E4B0 80244270 24420001 */ addiu $v0, $v0, 1 +/* A2E4B4 80244274 AC820000 */ sw $v0, ($a0) +/* A2E4B8 80244278 3C018025 */ lui $at, 0x8025 +/* A2E4BC 8024427C AC23AAB8 */ sw $v1, -0x5548($at) +/* A2E4C0 80244280 08091111 */ j .L80244444 +/* A2E4C4 80244284 0000102D */ daddu $v0, $zero, $zero +/* A2E4C8 80244288 3C068025 */ lui $a2, 0x8025 +/* A2E4CC 8024428C 24C6AAB8 */ addiu $a2, $a2, -0x5548 +/* A2E4D0 80244290 8CC30000 */ lw $v1, ($a2) +/* A2E4D4 80244294 10600038 */ beqz $v1, .L80244378 +/* A2E4D8 80244298 240400B0 */ addiu $a0, $zero, 0xb0 +/* A2E4DC 8024429C 3C028025 */ lui $v0, 0x8025 +/* A2E4E0 802442A0 8C42AAB4 */ lw $v0, -0x554c($v0) +/* A2E4E4 802442A4 00021080 */ sll $v0, $v0, 2 +/* A2E4E8 802442A8 3C018025 */ lui $at, 0x8025 +/* A2E4EC 802442AC 00220821 */ addu $at, $at, $v0 +/* A2E4F0 802442B0 8C22AAC0 */ lw $v0, -0x5540($at) +/* A2E4F4 802442B4 2442FEF4 */ addiu $v0, $v0, -0x10c +/* A2E4F8 802442B8 0062102A */ slt $v0, $v1, $v0 +/* A2E4FC 802442BC 10400028 */ beqz $v0, .L80244360 +/* A2E500 802442C0 00000000 */ nop +/* A2E504 802442C4 3C048025 */ lui $a0, 0x8025 +/* A2E508 802442C8 8C84AABC */ lw $a0, -0x5544($a0) +/* A2E50C 802442CC 2C820140 */ sltiu $v0, $a0, 0x140 +/* A2E510 802442D0 1040000B */ beqz $v0, .L80244300 +/* A2E514 802442D4 2483FEC0 */ addiu $v1, $a0, -0x140 +/* A2E518 802442D8 3C028025 */ lui $v0, 0x8025 +/* A2E51C 802442DC 8C42AA20 */ lw $v0, -0x55e0($v0) +/* A2E520 802442E0 3C038025 */ lui $v1, 0x8025 +/* A2E524 802442E4 9463AC7C */ lhu $v1, -0x5384($v1) +/* A2E528 802442E8 A4430044 */ sh $v1, 0x44($v0) +/* A2E52C 802442EC 3C038025 */ lui $v1, 0x8025 +/* A2E530 802442F0 00641821 */ addu $v1, $v1, $a0 +/* A2E534 802442F4 9063AB3C */ lbu $v1, -0x54c4($v1) +/* A2E538 802442F8 080910D3 */ j .L8024434C +/* A2E53C 802442FC A4430046 */ sh $v1, 0x46($v0) +.L80244300: +/* A2E540 80244300 2C62000F */ sltiu $v0, $v1, 0xf +/* A2E544 80244304 10400011 */ beqz $v0, .L8024434C +/* A2E548 80244308 00032040 */ sll $a0, $v1, 1 +/* A2E54C 8024430C 3C058025 */ lui $a1, 0x8025 +/* A2E550 80244310 8CA5AA20 */ lw $a1, -0x55e0($a1) +/* A2E554 80244314 3C028025 */ lui $v0, 0x8025 +/* A2E558 80244318 00441021 */ addu $v0, $v0, $a0 +/* A2E55C 8024431C 9442AC7C */ lhu $v0, -0x5384($v0) +/* A2E560 80244320 A4A20044 */ sh $v0, 0x44($a1) +/* A2E564 80244324 2C62000D */ sltiu $v0, $v1, 0xd +/* A2E568 80244328 10400008 */ beqz $v0, .L8024434C +/* A2E56C 8024432C 00000000 */ nop +/* A2E570 80244330 3C028025 */ lui $v0, 0x8025 +/* A2E574 80244334 9042AC7B */ lbu $v0, -0x5385($v0) +/* A2E578 80244338 3C038025 */ lui $v1, 0x8025 +/* A2E57C 8024433C 00641821 */ addu $v1, $v1, $a0 +/* A2E580 80244340 9463AC9C */ lhu $v1, -0x5364($v1) +/* A2E584 80244344 00431021 */ addu $v0, $v0, $v1 +/* A2E588 80244348 A4A20046 */ sh $v0, 0x46($a1) +.L8024434C: +/* A2E58C 8024434C 3C038025 */ lui $v1, 0x8025 +/* A2E590 80244350 2463AABC */ addiu $v1, $v1, -0x5544 +/* A2E594 80244354 8C620000 */ lw $v0, ($v1) +/* A2E598 80244358 24420001 */ addiu $v0, $v0, 1 +/* A2E59C 8024435C AC620000 */ sw $v0, ($v1) +.L80244360: +/* A2E5A0 80244360 3C038025 */ lui $v1, 0x8025 +/* A2E5A4 80244364 2463AAB8 */ addiu $v1, $v1, -0x5548 +/* A2E5A8 80244368 8C620000 */ lw $v0, ($v1) +/* A2E5AC 8024436C 2442FFFF */ addiu $v0, $v0, -1 +/* A2E5B0 80244370 08091110 */ j .L80244440 +/* A2E5B4 80244374 AC620000 */ sw $v0, ($v1) +.L80244378: +/* A2E5B8 80244378 3C058025 */ lui $a1, 0x8025 +/* A2E5BC 8024437C 24A5AAB0 */ addiu $a1, $a1, -0x5550 +/* A2E5C0 80244380 8CA20000 */ lw $v0, ($a1) +/* A2E5C4 80244384 2403001A */ addiu $v1, $zero, 0x1a +/* A2E5C8 80244388 ACC30000 */ sw $v1, ($a2) +/* A2E5CC 8024438C 24420001 */ addiu $v0, $v0, 1 +/* A2E5D0 80244390 ACA20000 */ sw $v0, ($a1) +/* A2E5D4 80244394 3C038025 */ lui $v1, 0x8025 +/* A2E5D8 80244398 8C63AA20 */ lw $v1, -0x55e0($v1) +/* A2E5DC 8024439C 240200FF */ addiu $v0, $zero, 0xff +/* A2E5E0 802443A0 0C05272D */ jal play_sound +/* A2E5E4 802443A4 A462005C */ sh $v0, 0x5c($v1) +/* A2E5E8 802443A8 08091111 */ j .L80244444 +/* A2E5EC 802443AC 0000102D */ daddu $v0, $zero, $zero +/* A2E5F0 802443B0 3C058025 */ lui $a1, 0x8025 +/* A2E5F4 802443B4 24A5AAB8 */ addiu $a1, $a1, -0x5548 +/* A2E5F8 802443B8 8CA30000 */ lw $v1, ($a1) +/* A2E5FC 802443BC 10600018 */ beqz $v1, .L80244420 +/* A2E600 802443C0 2463FFFF */ addiu $v1, $v1, -1 +/* A2E604 802443C4 3C048025 */ lui $a0, 0x8025 +/* A2E608 802443C8 8C84AA20 */ lw $a0, -0x55e0($a0) +/* A2E60C 802443CC 84820058 */ lh $v0, 0x58($a0) +/* A2E610 802443D0 1440000A */ bnez $v0, .L802443FC +/* A2E614 802443D4 ACA30000 */ sw $v1, ($a1) +/* A2E618 802443D8 24020019 */ addiu $v0, $zero, 0x19 +.L802443DC: +/* A2E61C 802443DC 00431023 */ subu $v0, $v0, $v1 +/* A2E620 802443E0 00021080 */ sll $v0, $v0, 2 +/* A2E624 802443E4 3C018025 */ lui $at, 0x8025 +/* A2E628 802443E8 00220821 */ addu $at, $at, $v0 +/* A2E62C 802443EC 9422AAD6 */ lhu $v0, -0x552a($at) +/* A2E630 802443F0 A4800042 */ sh $zero, 0x42($a0) +/* A2E634 802443F4 08091110 */ j .L80244440 +/* A2E638 802443F8 A4820040 */ sh $v0, 0x40($a0) +.L802443FC: +/* A2E63C 802443FC 24020019 */ addiu $v0, $zero, 0x19 +/* A2E640 80244400 00431023 */ subu $v0, $v0, $v1 +/* A2E644 80244404 00021080 */ sll $v0, $v0, 2 +/* A2E648 80244408 3C018025 */ lui $at, 0x8025 +/* A2E64C 8024440C 00220821 */ addu $at, $at, $v0 +/* A2E650 80244410 9422AAD6 */ lhu $v0, -0x552a($at) +/* A2E654 80244414 A480003E */ sh $zero, 0x3e($a0) +/* A2E658 80244418 08091110 */ j .L80244440 +/* A2E65C 8024441C A482003C */ sh $v0, 0x3c($a0) +.L80244420: +/* A2E660 80244420 3C038025 */ lui $v1, 0x8025 +/* A2E664 80244424 2463AAB0 */ addiu $v1, $v1, -0x5550 +/* A2E668 80244428 8C620000 */ lw $v0, ($v1) +/* A2E66C 8024442C 24420001 */ addiu $v0, $v0, 1 +/* A2E670 80244430 08091110 */ j .L80244440 +/* A2E674 80244434 AC620000 */ sw $v0, ($v1) +.L80244438: +/* A2E678 80244438 08091111 */ j .L80244444 +/* A2E67C 8024443C 24020001 */ addiu $v0, $zero, 1 +.L80244440: +/* A2E680 80244440 0000102D */ daddu $v0, $zero, $zero +.L80244444: +/* A2E684 80244444 8FBF0014 */ lw $ra, 0x14($sp) +/* A2E688 80244448 8FB00010 */ lw $s0, 0x10($sp) +/* A2E68C 8024444C 03E00008 */ jr $ra +/* A2E690 80244450 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244454.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244454.s new file mode 100644 index 0000000000..d333366d7b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244454.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244454 +/* A2E694 80244454 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2E698 80244458 3C058025 */ lui $a1, 0x8025 +/* A2E69C 8024445C 24A5ACB8 */ addiu $a1, $a1, -0x5348 +/* A2E6A0 80244460 AFBF0014 */ sw $ra, 0x14($sp) +/* A2E6A4 80244464 AFB00010 */ sw $s0, 0x10($sp) +/* A2E6A8 80244468 8CA40000 */ lw $a0, ($a1) +/* A2E6AC 8024446C 1480000B */ bnez $a0, .L8024449C +/* A2E6B0 80244470 3C028888 */ lui $v0, 0x8888 +/* A2E6B4 80244474 3C108025 */ lui $s0, 0x8025 +/* A2E6B8 80244478 2610AA20 */ addiu $s0, $s0, -0x55e0 +/* A2E6BC 8024447C 8E020000 */ lw $v0, ($s0) +/* A2E6C0 80244480 8C440000 */ lw $a0, ($v0) +/* A2E6C4 80244484 0C048D70 */ jal func_801235C0 +/* A2E6C8 80244488 A440005C */ sh $zero, 0x5c($v0) +/* A2E6CC 8024448C 8E030000 */ lw $v1, ($s0) +/* A2E6D0 80244490 24020001 */ addiu $v0, $zero, 1 +/* A2E6D4 80244494 08091136 */ j .L802444D8 +/* A2E6D8 80244498 AC600000 */ sw $zero, ($v1) +.L8024449C: +/* A2E6DC 8024449C 34428889 */ ori $v0, $v0, 0x8889 +/* A2E6E0 802444A0 2484FFFF */ addiu $a0, $a0, -1 +/* A2E6E4 802444A4 00041A00 */ sll $v1, $a0, 8 +/* A2E6E8 802444A8 00641823 */ subu $v1, $v1, $a0 +/* A2E6EC 802444AC 00620018 */ mult $v1, $v0 +/* A2E6F0 802444B0 0000102D */ daddu $v0, $zero, $zero +/* A2E6F4 802444B4 ACA40000 */ sw $a0, ($a1) +/* A2E6F8 802444B8 3C058025 */ lui $a1, 0x8025 +/* A2E6FC 802444BC 8CA5AA20 */ lw $a1, -0x55e0($a1) +/* A2E700 802444C0 00003010 */ mfhi $a2 +/* A2E704 802444C4 00C32021 */ addu $a0, $a2, $v1 +/* A2E708 802444C8 00042103 */ sra $a0, $a0, 4 +/* A2E70C 802444CC 00031FC3 */ sra $v1, $v1, 0x1f +/* A2E710 802444D0 00832023 */ subu $a0, $a0, $v1 +/* A2E714 802444D4 A4A4005C */ sh $a0, 0x5c($a1) +.L802444D8: +/* A2E718 802444D8 8FBF0014 */ lw $ra, 0x14($sp) +/* A2E71C 802444DC 8FB00010 */ lw $s0, 0x10($sp) +/* A2E720 802444E0 03E00008 */ jr $ra +/* A2E724 802444E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802444E8.s b/asm/nonmatchings/world/area_hos/hos_05/func_802444E8.s new file mode 100644 index 0000000000..fadca3daf9 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802444E8.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802444E8 +/* A2E728 802444E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2E72C 802444EC AFBF0010 */ sw $ra, 0x10($sp) +/* A2E730 802444F0 0C0B36B0 */ jal resolve_npc +/* A2E734 802444F4 2405000A */ addiu $a1, $zero, 0xa +/* A2E738 802444F8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* A2E73C 802444FC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* A2E740 80244500 3C014334 */ lui $at, 0x4334 +/* A2E744 80244504 44810000 */ mtc1 $at, $f0 +/* A2E748 80244508 00041880 */ sll $v1, $a0, 2 +/* A2E74C 8024450C 00641821 */ addu $v1, $v1, $a0 +/* A2E750 80244510 00031880 */ sll $v1, $v1, 2 +/* A2E754 80244514 00641823 */ subu $v1, $v1, $a0 +/* A2E758 80244518 000320C0 */ sll $a0, $v1, 3 +/* A2E75C 8024451C 00641821 */ addu $v1, $v1, $a0 +/* A2E760 80244520 000318C0 */ sll $v1, $v1, 3 +/* A2E764 80244524 3C01800B */ lui $at, 0x800b +/* A2E768 80244528 00230821 */ addu $at, $at, $v1 +/* A2E76C 8024452C C4221DEC */ lwc1 $f2, 0x1dec($at) +/* A2E770 80244530 46020001 */ sub.s $f0, $f0, $f2 +/* A2E774 80244534 0040182D */ daddu $v1, $v0, $zero +/* A2E778 80244538 E4600034 */ swc1 $f0, 0x34($v1) +/* A2E77C 8024453C E460000C */ swc1 $f0, 0xc($v1) +/* A2E780 80244540 8FBF0010 */ lw $ra, 0x10($sp) +/* A2E784 80244544 0000102D */ daddu $v0, $zero, $zero +/* A2E788 80244548 03E00008 */ jr $ra +/* A2E78C 8024454C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244550.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244550.s new file mode 100644 index 0000000000..a39f2d1867 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244550.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244550 +/* A2E790 80244550 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A2E794 80244554 AFB60028 */ sw $s6, 0x28($sp) +/* A2E798 80244558 0080B02D */ daddu $s6, $a0, $zero +/* A2E79C 8024455C AFB00010 */ sw $s0, 0x10($sp) +/* A2E7A0 80244560 00A0802D */ daddu $s0, $a1, $zero +/* A2E7A4 80244564 AFBF002C */ sw $ra, 0x2c($sp) +/* A2E7A8 80244568 AFB50024 */ sw $s5, 0x24($sp) +/* A2E7AC 8024456C AFB40020 */ sw $s4, 0x20($sp) +/* A2E7B0 80244570 AFB3001C */ sw $s3, 0x1c($sp) +/* A2E7B4 80244574 AFB20018 */ sw $s2, 0x18($sp) +/* A2E7B8 80244578 AFB10014 */ sw $s1, 0x14($sp) +/* A2E7BC 8024457C F7B80040 */ sdc1 $f24, 0x40($sp) +/* A2E7C0 80244580 F7B60038 */ sdc1 $f22, 0x38($sp) +/* A2E7C4 80244584 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A2E7C8 80244588 0C0B36B0 */ jal resolve_npc +/* A2E7CC 8024458C 24050009 */ addiu $a1, $zero, 9 +/* A2E7D0 80244590 02C0202D */ daddu $a0, $s6, $zero +/* A2E7D4 80244594 3C05F4AC */ lui $a1, 0xf4ac +/* A2E7D8 80244598 34A5D480 */ ori $a1, $a1, 0xd480 +/* A2E7DC 8024459C 0C0B1EAF */ jal get_variable +/* A2E7E0 802445A0 0040A02D */ daddu $s4, $v0, $zero +/* A2E7E4 802445A4 1200002B */ beqz $s0, .L80244654 +/* A2E7E8 802445A8 0040A82D */ daddu $s5, $v0, $zero +/* A2E7EC 802445AC 0000802D */ daddu $s0, $zero, $zero +/* A2E7F0 802445B0 3C138025 */ lui $s3, 0x8025 +/* A2E7F4 802445B4 2673F358 */ addiu $s3, $s3, -0xca8 +/* A2E7F8 802445B8 3C128025 */ lui $s2, 0x8025 +/* A2E7FC 802445BC 2652F338 */ addiu $s2, $s2, -0xcc8 +/* A2E800 802445C0 C6800038 */ lwc1 $f0, 0x38($s4) +/* A2E804 802445C4 C682003C */ lwc1 $f2, 0x3c($s4) +/* A2E808 802445C8 C6840040 */ lwc1 $f4, 0x40($s4) +/* A2E80C 802445CC 3C118025 */ lui $s1, 0x8025 +/* A2E810 802445D0 2631F318 */ addiu $s1, $s1, -0xce8 +/* A2E814 802445D4 3C018025 */ lui $at, 0x8025 +/* A2E818 802445D8 E420F2FC */ swc1 $f0, -0xd04($at) +/* A2E81C 802445DC 3C018025 */ lui $at, 0x8025 +/* A2E820 802445E0 E422F300 */ swc1 $f2, -0xd00($at) +/* A2E824 802445E4 3C018025 */ lui $at, 0x8025 +/* A2E828 802445E8 E424F304 */ swc1 $f4, -0xcfc($at) +.L802445EC: +/* A2E82C 802445EC 02C0202D */ daddu $a0, $s6, $zero +/* A2E830 802445F0 0C0B36B0 */ jal resolve_npc +/* A2E834 802445F4 0200282D */ daddu $a1, $s0, $zero +/* A2E838 802445F8 C4400038 */ lwc1 $f0, 0x38($v0) +/* A2E83C 802445FC 26100001 */ addiu $s0, $s0, 1 +/* A2E840 80244600 E6200000 */ swc1 $f0, ($s1) +/* A2E844 80244604 C440003C */ lwc1 $f0, 0x3c($v0) +/* A2E848 80244608 26310004 */ addiu $s1, $s1, 4 +/* A2E84C 8024460C E6400000 */ swc1 $f0, ($s2) +/* A2E850 80244610 26520004 */ addiu $s2, $s2, 4 +/* A2E854 80244614 C4400040 */ lwc1 $f0, 0x40($v0) +/* A2E858 80244618 2A020007 */ slti $v0, $s0, 7 +/* A2E85C 8024461C E6600000 */ swc1 $f0, ($s3) +/* A2E860 80244620 1440FFF2 */ bnez $v0, .L802445EC +/* A2E864 80244624 26730004 */ addiu $s3, $s3, 4 +/* A2E868 80244628 8EA2000C */ lw $v0, 0xc($s5) +/* A2E86C 8024462C 0040182D */ daddu $v1, $v0, $zero +/* A2E870 80244630 C4440004 */ lwc1 $f4, 4($v0) +/* A2E874 80244634 C4400008 */ lwc1 $f0, 8($v0) +/* A2E878 80244638 C462000C */ lwc1 $f2, 0xc($v1) +/* A2E87C 8024463C 3C018025 */ lui $at, 0x8025 +/* A2E880 80244640 E424F308 */ swc1 $f4, -0xcf8($at) +/* A2E884 80244644 3C018025 */ lui $at, 0x8025 +/* A2E888 80244648 E420F30C */ swc1 $f0, -0xcf4($at) +/* A2E88C 8024464C 3C018025 */ lui $at, 0x8025 +/* A2E890 80244650 E422F310 */ swc1 $f2, -0xcf0($at) +.L80244654: +/* A2E894 80244654 0000802D */ daddu $s0, $zero, $zero +/* A2E898 80244658 C6820038 */ lwc1 $f2, 0x38($s4) +/* A2E89C 8024465C 3C018025 */ lui $at, 0x8025 +/* A2E8A0 80244660 C420F2FC */ lwc1 $f0, -0xd04($at) +/* A2E8A4 80244664 3C138025 */ lui $s3, 0x8025 +/* A2E8A8 80244668 2673F358 */ addiu $s3, $s3, -0xca8 +/* A2E8AC 8024466C 46001501 */ sub.s $f20, $f2, $f0 +/* A2E8B0 80244670 C682003C */ lwc1 $f2, 0x3c($s4) +/* A2E8B4 80244674 3C018025 */ lui $at, 0x8025 +/* A2E8B8 80244678 C420F300 */ lwc1 $f0, -0xd00($at) +/* A2E8BC 8024467C 3C128025 */ lui $s2, 0x8025 +/* A2E8C0 80244680 2652F338 */ addiu $s2, $s2, -0xcc8 +/* A2E8C4 80244684 46001581 */ sub.s $f22, $f2, $f0 +/* A2E8C8 80244688 C6820040 */ lwc1 $f2, 0x40($s4) +/* A2E8CC 8024468C 3C018025 */ lui $at, 0x8025 +/* A2E8D0 80244690 C420F304 */ lwc1 $f0, -0xcfc($at) +/* A2E8D4 80244694 3C118025 */ lui $s1, 0x8025 +/* A2E8D8 80244698 2631F318 */ addiu $s1, $s1, -0xce8 +/* A2E8DC 8024469C 46001601 */ sub.s $f24, $f2, $f0 +.L802446A0: +/* A2E8E0 802446A0 02C0202D */ daddu $a0, $s6, $zero +/* A2E8E4 802446A4 0C0B36B0 */ jal resolve_npc +/* A2E8E8 802446A8 0200282D */ daddu $a1, $s0, $zero +/* A2E8EC 802446AC C6200000 */ lwc1 $f0, ($s1) +/* A2E8F0 802446B0 46140000 */ add.s $f0, $f0, $f20 +/* A2E8F4 802446B4 E4400038 */ swc1 $f0, 0x38($v0) +/* A2E8F8 802446B8 C6400000 */ lwc1 $f0, ($s2) +/* A2E8FC 802446BC 46160000 */ add.s $f0, $f0, $f22 +/* A2E900 802446C0 26100001 */ addiu $s0, $s0, 1 +/* A2E904 802446C4 E440003C */ swc1 $f0, 0x3c($v0) +/* A2E908 802446C8 C6600000 */ lwc1 $f0, ($s3) +/* A2E90C 802446CC 26310004 */ addiu $s1, $s1, 4 +/* A2E910 802446D0 46180000 */ add.s $f0, $f0, $f24 +/* A2E914 802446D4 C442003C */ lwc1 $f2, 0x3c($v0) +/* A2E918 802446D8 26520004 */ addiu $s2, $s2, 4 +/* A2E91C 802446DC E4400040 */ swc1 $f0, 0x40($v0) +/* A2E920 802446E0 C4400038 */ lwc1 $f0, 0x38($v0) +/* A2E924 802446E4 C4440040 */ lwc1 $f4, 0x40($v0) +/* A2E928 802446E8 E4420070 */ swc1 $f2, 0x70($v0) +/* A2E92C 802446EC E440006C */ swc1 $f0, 0x6c($v0) +/* A2E930 802446F0 E4440074 */ swc1 $f4, 0x74($v0) +/* A2E934 802446F4 2A020007 */ slti $v0, $s0, 7 +/* A2E938 802446F8 1440FFE9 */ bnez $v0, .L802446A0 +/* A2E93C 802446FC 26730004 */ addiu $s3, $s3, 4 +/* A2E940 80244700 3C018025 */ lui $at, 0x8025 +/* A2E944 80244704 C420F308 */ lwc1 $f0, -0xcf8($at) +/* A2E948 80244708 46140000 */ add.s $f0, $f0, $f20 +/* A2E94C 8024470C 3C018025 */ lui $at, 0x8025 +/* A2E950 80244710 C422F30C */ lwc1 $f2, -0xcf4($at) +/* A2E954 80244714 8EA2000C */ lw $v0, 0xc($s5) +/* A2E958 80244718 46161080 */ add.s $f2, $f2, $f22 +/* A2E95C 8024471C E4400004 */ swc1 $f0, 4($v0) +/* A2E960 80244720 3C018025 */ lui $at, 0x8025 +/* A2E964 80244724 C420F310 */ lwc1 $f0, -0xcf0($at) +/* A2E968 80244728 8EA2000C */ lw $v0, 0xc($s5) +/* A2E96C 8024472C 46180000 */ add.s $f0, $f0, $f24 +/* A2E970 80244730 E4420008 */ swc1 $f2, 8($v0) +/* A2E974 80244734 8EA3000C */ lw $v1, 0xc($s5) +/* A2E978 80244738 E460000C */ swc1 $f0, 0xc($v1) +/* A2E97C 8024473C 8FBF002C */ lw $ra, 0x2c($sp) +/* A2E980 80244740 8FB60028 */ lw $s6, 0x28($sp) +/* A2E984 80244744 8FB50024 */ lw $s5, 0x24($sp) +/* A2E988 80244748 8FB40020 */ lw $s4, 0x20($sp) +/* A2E98C 8024474C 8FB3001C */ lw $s3, 0x1c($sp) +/* A2E990 80244750 8FB20018 */ lw $s2, 0x18($sp) +/* A2E994 80244754 8FB10014 */ lw $s1, 0x14($sp) +/* A2E998 80244758 8FB00010 */ lw $s0, 0x10($sp) +/* A2E99C 8024475C D7B80040 */ ldc1 $f24, 0x40($sp) +/* A2E9A0 80244760 D7B60038 */ ldc1 $f22, 0x38($sp) +/* A2E9A4 80244764 D7B40030 */ ldc1 $f20, 0x30($sp) +/* A2E9A8 80244768 0000102D */ daddu $v0, $zero, $zero +/* A2E9AC 8024476C 03E00008 */ jr $ra +/* A2E9B0 80244770 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244774.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244774.s new file mode 100644 index 0000000000..958edc3384 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244774.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244774 +/* A2E9B4 80244774 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A2E9B8 80244778 AFB00018 */ sw $s0, 0x18($sp) +/* A2E9BC 8024477C 0080802D */ daddu $s0, $a0, $zero +/* A2E9C0 80244780 AFB1001C */ sw $s1, 0x1c($sp) +/* A2E9C4 80244784 00A0882D */ daddu $s1, $a1, $zero +/* A2E9C8 80244788 AFBF0028 */ sw $ra, 0x28($sp) +/* A2E9CC 8024478C AFB30024 */ sw $s3, 0x24($sp) +/* A2E9D0 80244790 AFB20020 */ sw $s2, 0x20($sp) +/* A2E9D4 80244794 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A2E9D8 80244798 0C0B36B0 */ jal resolve_npc +/* A2E9DC 8024479C 24050007 */ addiu $a1, $zero, 7 +/* A2E9E0 802447A0 0200202D */ daddu $a0, $s0, $zero +/* A2E9E4 802447A4 24050008 */ addiu $a1, $zero, 8 +/* A2E9E8 802447A8 0C0B36B0 */ jal resolve_npc +/* A2E9EC 802447AC 0040902D */ daddu $s2, $v0, $zero +/* A2E9F0 802447B0 12200004 */ beqz $s1, .L802447C4 +/* A2E9F4 802447B4 0040982D */ daddu $s3, $v0, $zero +/* A2E9F8 802447B8 C640003C */ lwc1 $f0, 0x3c($s2) +/* A2E9FC 802447BC 3C018025 */ lui $at, 0x8025 +/* A2EA00 802447C0 E420F374 */ swc1 $f0, -0xc8c($at) +.L802447C4: +/* A2EA04 802447C4 3C018025 */ lui $at, 0x8025 +/* A2EA08 802447C8 C420F374 */ lwc1 $f0, -0xc8c($at) +/* A2EA0C 802447CC 24040003 */ addiu $a0, $zero, 3 +/* A2EA10 802447D0 44050000 */ mfc1 $a1, $f0 +/* A2EA14 802447D4 3C0143FA */ lui $at, 0x43fa +/* A2EA18 802447D8 44810000 */ mtc1 $at, $f0 +/* A2EA1C 802447DC 44853000 */ mtc1 $a1, $f6 +/* A2EA20 802447E0 3C108025 */ lui $s0, 0x8025 +/* A2EA24 802447E4 2610AEC4 */ addiu $s0, $s0, -0x513c +/* A2EA28 802447E8 46003180 */ add.s $f6, $f6, $f0 +/* A2EA2C 802447EC 3C014220 */ lui $at, 0x4220 +/* A2EA30 802447F0 4481A000 */ mtc1 $at, $f20 +/* A2EA34 802447F4 8E070000 */ lw $a3, ($s0) +/* A2EA38 802447F8 44063000 */ mfc1 $a2, $f6 +/* A2EA3C 802447FC 2642003C */ addiu $v0, $s2, 0x3c +/* A2EA40 80244800 AFA20014 */ sw $v0, 0x14($sp) +/* A2EA44 80244804 0C090439 */ jal func_802410E4 +/* A2EA48 80244808 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2EA4C 8024480C C640003C */ lwc1 $f0, 0x3c($s2) +/* A2EA50 80244810 3C013F80 */ lui $at, 0x3f80 +/* A2EA54 80244814 44811000 */ mtc1 $at, $f2 +/* A2EA58 80244818 E660003C */ swc1 $f0, 0x3c($s3) +/* A2EA5C 8024481C C6000000 */ lwc1 $f0, ($s0) +/* A2EA60 80244820 C644003C */ lwc1 $f4, 0x3c($s2) +/* A2EA64 80244824 46020000 */ add.s $f0, $f0, $f2 +/* A2EA68 80244828 E6440070 */ swc1 $f4, 0x70($s2) +/* A2EA6C 8024482C C662003C */ lwc1 $f2, 0x3c($s3) +/* A2EA70 80244830 24020001 */ addiu $v0, $zero, 1 +/* A2EA74 80244834 E6620070 */ swc1 $f2, 0x70($s3) +/* A2EA78 80244838 4600A03C */ c.lt.s $f20, $f0 +/* A2EA7C 8024483C 00000000 */ nop +/* A2EA80 80244840 45010002 */ bc1t .L8024484C +/* A2EA84 80244844 E6000000 */ swc1 $f0, ($s0) +/* A2EA88 80244848 0000102D */ daddu $v0, $zero, $zero +.L8024484C: +/* A2EA8C 8024484C 8FBF0028 */ lw $ra, 0x28($sp) +/* A2EA90 80244850 8FB30024 */ lw $s3, 0x24($sp) +/* A2EA94 80244854 8FB20020 */ lw $s2, 0x20($sp) +/* A2EA98 80244858 8FB1001C */ lw $s1, 0x1c($sp) +/* A2EA9C 8024485C 8FB00018 */ lw $s0, 0x18($sp) +/* A2EAA0 80244860 D7B40030 */ ldc1 $f20, 0x30($sp) +/* A2EAA4 80244864 03E00008 */ jr $ra +/* A2EAA8 80244868 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024486C.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024486C.s new file mode 100644 index 0000000000..896b8b834b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024486C.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024486C +/* A2EAAC 8024486C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A2EAB0 80244870 AFB00018 */ sw $s0, 0x18($sp) +/* A2EAB4 80244874 00A0802D */ daddu $s0, $a1, $zero +/* A2EAB8 80244878 AFBF0020 */ sw $ra, 0x20($sp) +/* A2EABC 8024487C AFB1001C */ sw $s1, 0x1c($sp) +/* A2EAC0 80244880 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A2EAC4 80244884 0C0B36B0 */ jal resolve_npc +/* A2EAC8 80244888 24050009 */ addiu $a1, $zero, 9 +/* A2EACC 8024488C 12000004 */ beqz $s0, .L802448A0 +/* A2EAD0 80244890 0040882D */ daddu $s1, $v0, $zero +/* A2EAD4 80244894 C620003C */ lwc1 $f0, 0x3c($s1) +/* A2EAD8 80244898 3C018025 */ lui $at, 0x8025 +/* A2EADC 8024489C E420F378 */ swc1 $f0, -0xc88($at) +.L802448A0: +/* A2EAE0 802448A0 3C018025 */ lui $at, 0x8025 +/* A2EAE4 802448A4 C420F378 */ lwc1 $f0, -0xc88($at) +/* A2EAE8 802448A8 24040003 */ addiu $a0, $zero, 3 +/* A2EAEC 802448AC 44050000 */ mfc1 $a1, $f0 +/* A2EAF0 802448B0 3C0143FA */ lui $at, 0x43fa +/* A2EAF4 802448B4 44810000 */ mtc1 $at, $f0 +/* A2EAF8 802448B8 44852000 */ mtc1 $a1, $f4 +/* A2EAFC 802448BC 3C108025 */ lui $s0, 0x8025 +/* A2EB00 802448C0 2610AEC8 */ addiu $s0, $s0, -0x5138 +/* A2EB04 802448C4 46002100 */ add.s $f4, $f4, $f0 +/* A2EB08 802448C8 3C014220 */ lui $at, 0x4220 +/* A2EB0C 802448CC 4481A000 */ mtc1 $at, $f20 +/* A2EB10 802448D0 8E070000 */ lw $a3, ($s0) +/* A2EB14 802448D4 44062000 */ mfc1 $a2, $f4 +/* A2EB18 802448D8 2622003C */ addiu $v0, $s1, 0x3c +/* A2EB1C 802448DC AFA20014 */ sw $v0, 0x14($sp) +/* A2EB20 802448E0 0C090439 */ jal func_802410E4 +/* A2EB24 802448E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* A2EB28 802448E8 C6020000 */ lwc1 $f2, ($s0) +/* A2EB2C 802448EC 3C013F80 */ lui $at, 0x3f80 +/* A2EB30 802448F0 44810000 */ mtc1 $at, $f0 +/* A2EB34 802448F4 00000000 */ nop +/* A2EB38 802448F8 46001080 */ add.s $f2, $f2, $f0 +/* A2EB3C 802448FC C620003C */ lwc1 $f0, 0x3c($s1) +/* A2EB40 80244900 24020001 */ addiu $v0, $zero, 1 +/* A2EB44 80244904 E6200070 */ swc1 $f0, 0x70($s1) +/* A2EB48 80244908 4602A03C */ c.lt.s $f20, $f2 +/* A2EB4C 8024490C 00000000 */ nop +/* A2EB50 80244910 45010002 */ bc1t .L8024491C +/* A2EB54 80244914 E6020000 */ swc1 $f2, ($s0) +/* A2EB58 80244918 0000102D */ daddu $v0, $zero, $zero +.L8024491C: +/* A2EB5C 8024491C 8FBF0020 */ lw $ra, 0x20($sp) +/* A2EB60 80244920 8FB1001C */ lw $s1, 0x1c($sp) +/* A2EB64 80244924 8FB00018 */ lw $s0, 0x18($sp) +/* A2EB68 80244928 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A2EB6C 8024492C 03E00008 */ jr $ra +/* A2EB70 80244930 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244934.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244934.s new file mode 100644 index 0000000000..a98096a912 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244934.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244934 +/* A2EB74 80244934 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2EB78 80244938 AFBF0010 */ sw $ra, 0x10($sp) +/* A2EB7C 8024493C 10A00005 */ beqz $a1, .L80244954 +/* A2EB80 80244940 0080182D */ daddu $v1, $a0, $zero +/* A2EB84 80244944 3C05437F */ lui $a1, 0x437f +/* A2EB88 80244948 24040001 */ addiu $a0, $zero, 1 +/* A2EB8C 8024494C 08091264 */ j .L80244990 +/* A2EB90 80244950 AC600070 */ sw $zero, 0x70($v1) +.L80244954: +/* A2EB94 80244954 8C620070 */ lw $v0, 0x70($v1) +/* A2EB98 80244958 24420001 */ addiu $v0, $v0, 1 +/* A2EB9C 8024495C AC620070 */ sw $v0, 0x70($v1) +/* A2EBA0 80244960 2403000A */ addiu $v1, $zero, 0xa +/* A2EBA4 80244964 10430013 */ beq $v0, $v1, .L802449B4 +/* A2EBA8 80244968 24040001 */ addiu $a0, $zero, 1 +/* A2EBAC 8024496C 00621823 */ subu $v1, $v1, $v0 +/* A2EBB0 80244970 00831004 */ sllv $v0, $v1, $a0 +/* A2EBB4 80244974 00431021 */ addu $v0, $v0, $v1 +/* A2EBB8 80244978 000210C0 */ sll $v0, $v0, 3 +/* A2EBBC 8024497C 00431021 */ addu $v0, $v0, $v1 +/* A2EBC0 80244980 44820000 */ mtc1 $v0, $f0 +/* A2EBC4 80244984 00000000 */ nop +/* A2EBC8 80244988 46800020 */ cvt.s.w $f0, $f0 +/* A2EBCC 8024498C 44050000 */ mfc1 $a1, $f0 +.L80244990: +/* A2EBD0 80244990 0C04DF69 */ jal func_80137DA4 +/* A2EBD4 80244994 00000000 */ nop +/* A2EBD8 80244998 24040001 */ addiu $a0, $zero, 1 +/* A2EBDC 8024499C 240500FA */ addiu $a1, $zero, 0xfa +/* A2EBE0 802449A0 00A0302D */ daddu $a2, $a1, $zero +/* A2EBE4 802449A4 0C04DF84 */ jal func_80137E10 +/* A2EBE8 802449A8 00A0382D */ daddu $a3, $a1, $zero +/* A2EBEC 802449AC 08091276 */ j .L802449D8 +/* A2EBF0 802449B0 0000102D */ daddu $v0, $zero, $zero +.L802449B4: +/* A2EBF4 802449B4 0000202D */ daddu $a0, $zero, $zero +/* A2EBF8 802449B8 0C04DF69 */ jal func_80137DA4 +/* A2EBFC 802449BC 0000282D */ daddu $a1, $zero, $zero +/* A2EC00 802449C0 24040001 */ addiu $a0, $zero, 1 +/* A2EC04 802449C4 240500FA */ addiu $a1, $zero, 0xfa +/* A2EC08 802449C8 00A0302D */ daddu $a2, $a1, $zero +/* A2EC0C 802449CC 0C04DF84 */ jal func_80137E10 +/* A2EC10 802449D0 00A0382D */ daddu $a3, $a1, $zero +/* A2EC14 802449D4 24020002 */ addiu $v0, $zero, 2 +.L802449D8: +/* A2EC18 802449D8 8FBF0010 */ lw $ra, 0x10($sp) +/* A2EC1C 802449DC 03E00008 */ jr $ra +/* A2EC20 802449E0 27BD0018 */ addiu $sp, $sp, 0x18 +/* A2EC24 802449E4 00000000 */ nop +/* A2EC28 802449E8 00000000 */ nop +/* A2EC2C 802449EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802449F0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802449F0.s new file mode 100644 index 0000000000..28fa71d3c0 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802449F0.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802449F0 +/* A2EC30 802449F0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A2EC34 802449F4 3C038025 */ lui $v1, 0x8025 +/* A2EC38 802449F8 2463DA98 */ addiu $v1, $v1, -0x2568 +/* A2EC3C 802449FC AFBF0034 */ sw $ra, 0x34($sp) +/* A2EC40 80244A00 AFB20030 */ sw $s2, 0x30($sp) +/* A2EC44 80244A04 AFB1002C */ sw $s1, 0x2c($sp) +/* A2EC48 80244A08 AFB00028 */ sw $s0, 0x28($sp) +/* A2EC4C 80244A0C 8C620000 */ lw $v0, ($v1) +/* A2EC50 80244A10 14400007 */ bnez $v0, .L80244A30 +/* A2EC54 80244A14 00000000 */ nop +/* A2EC58 80244A18 3C028007 */ lui $v0, %hi(D_800779B0) +/* A2EC5C 80244A1C 904279B0 */ lbu $v0, %lo(D_800779B0)($v0) +/* A2EC60 80244A20 00021080 */ sll $v0, $v0, 2 +/* A2EC64 80244A24 00441021 */ addu $v0, $v0, $a0 +/* A2EC68 80244A28 8C420000 */ lw $v0, ($v0) +/* A2EC6C 80244A2C AC620000 */ sw $v0, ($v1) +.L80244A30: +/* A2EC70 80244A30 3C038025 */ lui $v1, 0x8025 +/* A2EC74 80244A34 8C63DA90 */ lw $v1, -0x2570($v1) +/* A2EC78 80244A38 2C620005 */ sltiu $v0, $v1, 5 +/* A2EC7C 80244A3C 10400050 */ beqz $v0, .L80244B80 +/* A2EC80 80244A40 00031080 */ sll $v0, $v1, 2 +/* A2EC84 80244A44 3C018025 */ lui $at, 0x8025 +/* A2EC88 80244A48 00220821 */ addu $at, $at, $v0 +/* A2EC8C 80244A4C 8C22F260 */ lw $v0, -0xda0($at) +/* A2EC90 80244A50 00400008 */ jr $v0 +/* A2EC94 80244A54 00000000 */ nop +/* A2EC98 80244A58 3C048025 */ lui $a0, 0x8025 +/* A2EC9C 80244A5C 8C84DA98 */ lw $a0, -0x2568($a0) +/* A2ECA0 80244A60 8C830000 */ lw $v1, ($a0) +/* A2ECA4 80244A64 2402FFFF */ addiu $v0, $zero, -1 +/* A2ECA8 80244A68 14620004 */ bne $v1, $v0, .L80244A7C +/* A2ECAC 80244A6C 24020004 */ addiu $v0, $zero, 4 +/* A2ECB0 80244A70 8C830004 */ lw $v1, 4($a0) +/* A2ECB4 80244A74 080912AB */ j .L80244AAC +/* A2ECB8 80244A78 00000000 */ nop +.L80244A7C: +/* A2ECBC 80244A7C 3C038025 */ lui $v1, 0x8025 +/* A2ECC0 80244A80 2463DA94 */ addiu $v1, $v1, -0x256c +/* A2ECC4 80244A84 8C620000 */ lw $v0, ($v1) +/* A2ECC8 80244A88 2442000A */ addiu $v0, $v0, 0xa +/* A2ECCC 80244A8C AC620000 */ sw $v0, ($v1) +/* A2ECD0 80244A90 28420100 */ slti $v0, $v0, 0x100 +/* A2ECD4 80244A94 5440003B */ bnel $v0, $zero, .L80244B84 +/* A2ECD8 80244A98 24040001 */ addiu $a0, $zero, 1 +/* A2ECDC 80244A9C 240200FF */ addiu $v0, $zero, 0xff +/* A2ECE0 80244AA0 AC620000 */ sw $v0, ($v1) +/* A2ECE4 80244AA4 8C830004 */ lw $v1, 4($a0) +/* A2ECE8 80244AA8 24020001 */ addiu $v0, $zero, 1 +.L80244AAC: +/* A2ECEC 80244AAC 3C018025 */ lui $at, 0x8025 +/* A2ECF0 80244AB0 AC22DA90 */ sw $v0, -0x2570($at) +/* A2ECF4 80244AB4 3C018025 */ lui $at, 0x8025 +/* A2ECF8 80244AB8 AC23F570 */ sw $v1, -0xa90($at) +/* A2ECFC 80244ABC 080912E1 */ j .L80244B84 +/* A2ED00 80244AC0 24040001 */ addiu $a0, $zero, 1 +/* A2ED04 80244AC4 3C038025 */ lui $v1, 0x8025 +/* A2ED08 80244AC8 2463F570 */ addiu $v1, $v1, -0xa90 +/* A2ED0C 80244ACC 8C620000 */ lw $v0, ($v1) +/* A2ED10 80244AD0 1440001B */ bnez $v0, .L80244B40 +/* A2ED14 80244AD4 2442FFFF */ addiu $v0, $v0, -1 +/* A2ED18 80244AD8 24020002 */ addiu $v0, $zero, 2 +/* A2ED1C 80244ADC 3C018025 */ lui $at, 0x8025 +/* A2ED20 80244AE0 AC22DA90 */ sw $v0, -0x2570($at) +/* A2ED24 80244AE4 080912E1 */ j .L80244B84 +/* A2ED28 80244AE8 24040001 */ addiu $a0, $zero, 1 +/* A2ED2C 80244AEC 3C048025 */ lui $a0, 0x8025 +/* A2ED30 80244AF0 2484DA94 */ addiu $a0, $a0, -0x256c +/* A2ED34 80244AF4 8C820000 */ lw $v0, ($a0) +/* A2ED38 80244AF8 2442FFF6 */ addiu $v0, $v0, -0xa +/* A2ED3C 80244AFC 04410020 */ bgez $v0, .L80244B80 +/* A2ED40 80244B00 AC820000 */ sw $v0, ($a0) +/* A2ED44 80244B04 3C028025 */ lui $v0, 0x8025 +/* A2ED48 80244B08 2442DA98 */ addiu $v0, $v0, -0x2568 +/* A2ED4C 80244B0C 8C430000 */ lw $v1, ($v0) +/* A2ED50 80244B10 AC800000 */ sw $zero, ($a0) +/* A2ED54 80244B14 8C640008 */ lw $a0, 8($v1) +/* A2ED58 80244B18 24630008 */ addiu $v1, $v1, 8 +/* A2ED5C 80244B1C 10800011 */ beqz $a0, .L80244B64 +/* A2ED60 80244B20 AC430000 */ sw $v1, ($v0) +/* A2ED64 80244B24 080912DE */ j .L80244B78 +/* A2ED68 80244B28 00000000 */ nop +/* A2ED6C 80244B2C 3C038025 */ lui $v1, 0x8025 +/* A2ED70 80244B30 2463F570 */ addiu $v1, $v1, -0xa90 +/* A2ED74 80244B34 8C620000 */ lw $v0, ($v1) +/* A2ED78 80244B38 10400003 */ beqz $v0, .L80244B48 +/* A2ED7C 80244B3C 2442FFFF */ addiu $v0, $v0, -1 +.L80244B40: +/* A2ED80 80244B40 080912E0 */ j .L80244B80 +/* A2ED84 80244B44 AC620000 */ sw $v0, ($v1) +.L80244B48: +/* A2ED88 80244B48 3C028025 */ lui $v0, 0x8025 +/* A2ED8C 80244B4C 2442DA98 */ addiu $v0, $v0, -0x2568 +/* A2ED90 80244B50 8C430000 */ lw $v1, ($v0) +/* A2ED94 80244B54 8C640008 */ lw $a0, 8($v1) +/* A2ED98 80244B58 24630008 */ addiu $v1, $v1, 8 +/* A2ED9C 80244B5C 14800006 */ bnez $a0, .L80244B78 +/* A2EDA0 80244B60 AC430000 */ sw $v1, ($v0) +.L80244B64: +/* A2EDA4 80244B64 24020003 */ addiu $v0, $zero, 3 +/* A2EDA8 80244B68 3C018025 */ lui $at, 0x8025 +/* A2EDAC 80244B6C AC22DA90 */ sw $v0, -0x2570($at) +/* A2EDB0 80244B70 080912E1 */ j .L80244B84 +/* A2EDB4 80244B74 24040001 */ addiu $a0, $zero, 1 +.L80244B78: +/* A2EDB8 80244B78 3C018025 */ lui $at, 0x8025 +/* A2EDBC 80244B7C AC20DA90 */ sw $zero, -0x2570($at) +.L80244B80: +/* A2EDC0 80244B80 24040001 */ addiu $a0, $zero, 1 +.L80244B84: +/* A2EDC4 80244B84 27B00018 */ addiu $s0, $sp, 0x18 +/* A2EDC8 80244B88 0200282D */ daddu $a1, $s0, $zero +/* A2EDCC 80244B8C 0C04DF70 */ jal func_80137DC0 +/* A2EDD0 80244B90 27A6001C */ addiu $a2, $sp, 0x1c +/* A2EDD4 80244B94 0000202D */ daddu $a0, $zero, $zero +/* A2EDD8 80244B98 0200282D */ daddu $a1, $s0, $zero +/* A2EDDC 80244B9C 0C04DF70 */ jal func_80137DC0 +/* A2EDE0 80244BA0 27A60020 */ addiu $a2, $sp, 0x20 +/* A2EDE4 80244BA4 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A2EDE8 80244BA8 3C01437F */ lui $at, 0x437f +/* A2EDEC 80244BAC 44812000 */ mtc1 $at, $f4 +/* A2EDF0 80244BB0 00000000 */ nop +/* A2EDF4 80244BB4 46022081 */ sub.s $f2, $f4, $f2 +/* A2EDF8 80244BB8 3C018025 */ lui $at, 0x8025 +/* A2EDFC 80244BBC C420DA94 */ lwc1 $f0, -0x256c($at) +/* A2EE00 80244BC0 46800020 */ cvt.s.w $f0, $f0 +/* A2EE04 80244BC4 46020002 */ mul.s $f0, $f0, $f2 +/* A2EE08 80244BC8 00000000 */ nop +/* A2EE0C 80244BCC C7A20020 */ lwc1 $f2, 0x20($sp) +/* A2EE10 80244BD0 46022081 */ sub.s $f2, $f4, $f2 +/* A2EE14 80244BD4 46020002 */ mul.s $f0, $f0, $f2 +/* A2EE18 80244BD8 00000000 */ nop +/* A2EE1C 80244BDC 46040003 */ div.s $f0, $f0, $f4 +/* A2EE20 80244BE0 46040003 */ div.s $f0, $f0, $f4 +/* A2EE24 80244BE4 4600018D */ trunc.w.s $f6, $f0 +/* A2EE28 80244BE8 44113000 */ mfc1 $s1, $f6 +/* A2EE2C 80244BEC 00000000 */ nop +/* A2EE30 80244BF0 1A200015 */ blez $s1, .L80244C48 +/* A2EE34 80244BF4 00000000 */ nop +/* A2EE38 80244BF8 3C128025 */ lui $s2, 0x8025 +/* A2EE3C 80244BFC 2652DA98 */ addiu $s2, $s2, -0x2568 +/* A2EE40 80244C00 8E420000 */ lw $v0, ($s2) +/* A2EE44 80244C04 8C440000 */ lw $a0, ($v0) +/* A2EE48 80244C08 1080000F */ beqz $a0, .L80244C48 +/* A2EE4C 80244C0C 00000000 */ nop +/* A2EE50 80244C10 0C04992C */ jal func_801264B0 +/* A2EE54 80244C14 0000802D */ daddu $s0, $zero, $zero +/* A2EE58 80244C18 28420002 */ slti $v0, $v0, 2 +/* A2EE5C 80244C1C 50400001 */ beql $v0, $zero, .L80244C24 +/* A2EE60 80244C20 2410FFF9 */ addiu $s0, $zero, -7 +.L80244C24: +/* A2EE64 80244C24 0000282D */ daddu $a1, $zero, $zero +/* A2EE68 80244C28 260600C4 */ addiu $a2, $s0, 0xc4 +/* A2EE6C 80244C2C 8E430000 */ lw $v1, ($s2) +/* A2EE70 80244C30 2402FFFF */ addiu $v0, $zero, -1 +/* A2EE74 80244C34 AFA20010 */ sw $v0, 0x10($sp) +/* A2EE78 80244C38 AFA00014 */ sw $zero, 0x14($sp) +/* A2EE7C 80244C3C 8C640000 */ lw $a0, ($v1) +/* A2EE80 80244C40 0C04993B */ jal draw_string +/* A2EE84 80244C44 0220382D */ daddu $a3, $s1, $zero +.L80244C48: +/* A2EE88 80244C48 8FBF0034 */ lw $ra, 0x34($sp) +/* A2EE8C 80244C4C 8FB20030 */ lw $s2, 0x30($sp) +/* A2EE90 80244C50 8FB1002C */ lw $s1, 0x2c($sp) +/* A2EE94 80244C54 8FB00028 */ lw $s0, 0x28($sp) +/* A2EE98 80244C58 03E00008 */ jr $ra +/* A2EE9C 80244C5C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244C60.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244C60.s new file mode 100644 index 0000000000..53dc211804 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244C60.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244C60 +/* A2EEA0 80244C60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2EEA4 80244C64 AFBF0010 */ sw $ra, 0x10($sp) +/* A2EEA8 80244C68 8C82000C */ lw $v0, 0xc($a0) +/* A2EEAC 80244C6C 0C0B1EAF */ jal get_variable +/* A2EEB0 80244C70 8C450000 */ lw $a1, ($v0) +/* A2EEB4 80244C74 0C00AFC1 */ jal set_curtain_draw_callback +/* A2EEB8 80244C78 0040202D */ daddu $a0, $v0, $zero +/* A2EEBC 80244C7C 8FBF0010 */ lw $ra, 0x10($sp) +/* A2EEC0 80244C80 24020002 */ addiu $v0, $zero, 2 +/* A2EEC4 80244C84 03E00008 */ jr $ra +/* A2EEC8 80244C88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244C8C.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244C8C.s new file mode 100644 index 0000000000..b0fe2a077f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244C8C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244C8C +/* A2EECC 80244C8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2EED0 80244C90 AFBF0010 */ sw $ra, 0x10($sp) +/* A2EED4 80244C94 0C090C40 */ jal func_80243100 +/* A2EED8 80244C98 00000000 */ nop +/* A2EEDC 80244C9C 3C048025 */ lui $a0, 0x8025 +/* A2EEE0 80244CA0 0C09127C */ jal func_802449F0 +/* A2EEE4 80244CA4 2484DBCC */ addiu $a0, $a0, -0x2434 +/* A2EEE8 80244CA8 8FBF0010 */ lw $ra, 0x10($sp) +/* A2EEEC 80244CAC 03E00008 */ jr $ra +/* A2EEF0 80244CB0 27BD0018 */ addiu $sp, $sp, 0x18 +/* A2EEF4 80244CB4 00000000 */ nop +/* A2EEF8 80244CB8 00000000 */ nop +/* A2EEFC 80244CBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244DE4.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244DE4.s new file mode 100644 index 0000000000..0ef5cb2e91 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244DE4.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244DE4 +/* A2F024 80244DE4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A2F028 80244DE8 AFB10034 */ sw $s1, 0x34($sp) +/* A2F02C 80244DEC 0080882D */ daddu $s1, $a0, $zero +/* A2F030 80244DF0 AFBF0054 */ sw $ra, 0x54($sp) +/* A2F034 80244DF4 AFBE0050 */ sw $fp, 0x50($sp) +/* A2F038 80244DF8 AFB7004C */ sw $s7, 0x4c($sp) +/* A2F03C 80244DFC AFB60048 */ sw $s6, 0x48($sp) +/* A2F040 80244E00 AFB50044 */ sw $s5, 0x44($sp) +/* A2F044 80244E04 AFB40040 */ sw $s4, 0x40($sp) +/* A2F048 80244E08 AFB3003C */ sw $s3, 0x3c($sp) +/* A2F04C 80244E0C AFB20038 */ sw $s2, 0x38($sp) +/* A2F050 80244E10 AFB00030 */ sw $s0, 0x30($sp) +/* A2F054 80244E14 8E30000C */ lw $s0, 0xc($s1) +/* A2F058 80244E18 8E050000 */ lw $a1, ($s0) +/* A2F05C 80244E1C 0C0B1EAF */ jal get_variable +/* A2F060 80244E20 26100004 */ addiu $s0, $s0, 4 +/* A2F064 80244E24 8E050000 */ lw $a1, ($s0) +/* A2F068 80244E28 26100004 */ addiu $s0, $s0, 4 +/* A2F06C 80244E2C 0220202D */ daddu $a0, $s1, $zero +/* A2F070 80244E30 0C0B1EAF */ jal get_variable +/* A2F074 80244E34 0040982D */ daddu $s3, $v0, $zero +/* A2F078 80244E38 8E050000 */ lw $a1, ($s0) +/* A2F07C 80244E3C 26100004 */ addiu $s0, $s0, 4 +/* A2F080 80244E40 0220202D */ daddu $a0, $s1, $zero +/* A2F084 80244E44 0C0B1EAF */ jal get_variable +/* A2F088 80244E48 0040B02D */ daddu $s6, $v0, $zero +/* A2F08C 80244E4C 8E050000 */ lw $a1, ($s0) +/* A2F090 80244E50 26100004 */ addiu $s0, $s0, 4 +/* A2F094 80244E54 0220202D */ daddu $a0, $s1, $zero +/* A2F098 80244E58 0C0B1EAF */ jal get_variable +/* A2F09C 80244E5C 0040A82D */ daddu $s5, $v0, $zero +/* A2F0A0 80244E60 8E050000 */ lw $a1, ($s0) +/* A2F0A4 80244E64 26100004 */ addiu $s0, $s0, 4 +/* A2F0A8 80244E68 0220202D */ daddu $a0, $s1, $zero +/* A2F0AC 80244E6C 0C0B1EAF */ jal get_variable +/* A2F0B0 80244E70 0040A02D */ daddu $s4, $v0, $zero +/* A2F0B4 80244E74 8E050000 */ lw $a1, ($s0) +/* A2F0B8 80244E78 26100004 */ addiu $s0, $s0, 4 +/* A2F0BC 80244E7C 0220202D */ daddu $a0, $s1, $zero +/* A2F0C0 80244E80 0C0B1EAF */ jal get_variable +/* A2F0C4 80244E84 0040902D */ daddu $s2, $v0, $zero +/* A2F0C8 80244E88 8E050000 */ lw $a1, ($s0) +/* A2F0CC 80244E8C 26100004 */ addiu $s0, $s0, 4 +/* A2F0D0 80244E90 0220202D */ daddu $a0, $s1, $zero +/* A2F0D4 80244E94 0C0B1EAF */ jal get_variable +/* A2F0D8 80244E98 AFA20028 */ sw $v0, 0x28($sp) +/* A2F0DC 80244E9C 8E050000 */ lw $a1, ($s0) +/* A2F0E0 80244EA0 26100004 */ addiu $s0, $s0, 4 +/* A2F0E4 80244EA4 0220202D */ daddu $a0, $s1, $zero +/* A2F0E8 80244EA8 0C0B1EAF */ jal get_variable +/* A2F0EC 80244EAC 0040F02D */ daddu $fp, $v0, $zero +/* A2F0F0 80244EB0 8E050000 */ lw $a1, ($s0) +/* A2F0F4 80244EB4 26100004 */ addiu $s0, $s0, 4 +/* A2F0F8 80244EB8 0220202D */ daddu $a0, $s1, $zero +/* A2F0FC 80244EBC 0C0B1EAF */ jal get_variable +/* A2F100 80244EC0 0040B82D */ daddu $s7, $v0, $zero +/* A2F104 80244EC4 0220202D */ daddu $a0, $s1, $zero +/* A2F108 80244EC8 8E050000 */ lw $a1, ($s0) +/* A2F10C 80244ECC 0C0B1EAF */ jal get_variable +/* A2F110 80244ED0 0040802D */ daddu $s0, $v0, $zero +/* A2F114 80244ED4 0040182D */ daddu $v1, $v0, $zero +/* A2F118 80244ED8 24020002 */ addiu $v0, $zero, 2 +/* A2F11C 80244EDC 12620012 */ beq $s3, $v0, .L80244F28 +/* A2F120 80244EE0 2A620003 */ slti $v0, $s3, 3 +/* A2F124 80244EE4 10400005 */ beqz $v0, .L80244EFC +/* A2F128 80244EE8 24020001 */ addiu $v0, $zero, 1 +/* A2F12C 80244EEC 12620008 */ beq $s3, $v0, .L80244F10 +/* A2F130 80244EF0 32C400FF */ andi $a0, $s6, 0xff +/* A2F134 80244EF4 080913E1 */ j .L80244F84 +/* A2F138 80244EF8 00000000 */ nop +.L80244EFC: +/* A2F13C 80244EFC 24020003 */ addiu $v0, $zero, 3 +/* A2F140 80244F00 12620018 */ beq $s3, $v0, .L80244F64 +/* A2F144 80244F04 32C400FF */ andi $a0, $s6, 0xff +/* A2F148 80244F08 080913E1 */ j .L80244F84 +/* A2F14C 80244F0C 00000000 */ nop +.L80244F10: +/* A2F150 80244F10 32A500FF */ andi $a1, $s5, 0xff +/* A2F154 80244F14 328600FF */ andi $a2, $s4, 0xff +/* A2F158 80244F18 0C046F97 */ jal set_background_color_blend +/* A2F15C 80244F1C 324700FF */ andi $a3, $s2, 0xff +/* A2F160 80244F20 080913E1 */ j .L80244F84 +/* A2F164 80244F24 00000000 */ nop +.L80244F28: +/* A2F168 80244F28 32C400FF */ andi $a0, $s6, 0xff +/* A2F16C 80244F2C 32A500FF */ andi $a1, $s5, 0xff +/* A2F170 80244F30 328600FF */ andi $a2, $s4, 0xff +/* A2F174 80244F34 324700FF */ andi $a3, $s2, 0xff +/* A2F178 80244F38 93A2002B */ lbu $v0, 0x2b($sp) +/* A2F17C 80244F3C AFB0001C */ sw $s0, 0x1c($sp) +/* A2F180 80244F40 AFA30020 */ sw $v1, 0x20($sp) +/* A2F184 80244F44 AFA20010 */ sw $v0, 0x10($sp) +/* A2F188 80244F48 33C200FF */ andi $v0, $fp, 0xff +/* A2F18C 80244F4C AFA20014 */ sw $v0, 0x14($sp) +/* A2F190 80244F50 32E200FF */ andi $v0, $s7, 0xff +/* A2F194 80244F54 0C046FAD */ jal func_8011BEB4 +/* A2F198 80244F58 AFA20018 */ sw $v0, 0x18($sp) +/* A2F19C 80244F5C 080913E1 */ j .L80244F84 +/* A2F1A0 80244F60 00000000 */ nop +.L80244F64: +/* A2F1A4 80244F64 32A500FF */ andi $a1, $s5, 0xff +/* A2F1A8 80244F68 328600FF */ andi $a2, $s4, 0xff +/* A2F1AC 80244F6C 324700FF */ andi $a3, $s2, 0xff +/* A2F1B0 80244F70 93A2002B */ lbu $v0, 0x2b($sp) +/* A2F1B4 80244F74 AFA20010 */ sw $v0, 0x10($sp) +/* A2F1B8 80244F78 33C200FF */ andi $v0, $fp, 0xff +/* A2F1BC 80244F7C 0C046FE6 */ jal func_8011BF98 +/* A2F1C0 80244F80 AFA20014 */ sw $v0, 0x14($sp) +.L80244F84: +/* A2F1C4 80244F84 8FBF0054 */ lw $ra, 0x54($sp) +/* A2F1C8 80244F88 8FBE0050 */ lw $fp, 0x50($sp) +/* A2F1CC 80244F8C 8FB7004C */ lw $s7, 0x4c($sp) +/* A2F1D0 80244F90 8FB60048 */ lw $s6, 0x48($sp) +/* A2F1D4 80244F94 8FB50044 */ lw $s5, 0x44($sp) +/* A2F1D8 80244F98 8FB40040 */ lw $s4, 0x40($sp) +/* A2F1DC 80244F9C 8FB3003C */ lw $s3, 0x3c($sp) +/* A2F1E0 80244FA0 8FB20038 */ lw $s2, 0x38($sp) +/* A2F1E4 80244FA4 8FB10034 */ lw $s1, 0x34($sp) +/* A2F1E8 80244FA8 8FB00030 */ lw $s0, 0x30($sp) +/* A2F1EC 80244FAC 24020002 */ addiu $v0, $zero, 2 +/* A2F1F0 80244FB0 03E00008 */ jr $ra +/* A2F1F4 80244FB4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80244FB8.s b/asm/nonmatchings/world/area_hos/hos_05/func_80244FB8.s new file mode 100644 index 0000000000..be2e39c468 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80244FB8.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244FB8 +/* A2F1F8 80244FB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2F1FC 80244FBC AFB00010 */ sw $s0, 0x10($sp) +/* A2F200 80244FC0 0080802D */ daddu $s0, $a0, $zero +/* A2F204 80244FC4 AFBF0014 */ sw $ra, 0x14($sp) +/* A2F208 80244FC8 8E0300A8 */ lw $v1, 0xa8($s0) +/* A2F20C 80244FCC 8E020088 */ lw $v0, 0x88($s0) +/* A2F210 80244FD0 00621821 */ addu $v1, $v1, $v0 +/* A2F214 80244FD4 04610004 */ bgez $v1, .L80244FE8 +/* A2F218 80244FD8 AE0300A8 */ sw $v1, 0xa8($s0) +/* A2F21C 80244FDC 3C020002 */ lui $v0, 2 +/* A2F220 80244FE0 080913FE */ j .L80244FF8 +/* A2F224 80244FE4 00621021 */ addu $v0, $v1, $v0 +.L80244FE8: +/* A2F228 80244FE8 3C040002 */ lui $a0, 2 +/* A2F22C 80244FEC 0083102A */ slt $v0, $a0, $v1 +/* A2F230 80244FF0 10400002 */ beqz $v0, .L80244FFC +/* A2F234 80244FF4 00641023 */ subu $v0, $v1, $a0 +.L80244FF8: +/* A2F238 80244FF8 AE0200A8 */ sw $v0, 0xa8($s0) +.L80244FFC: +/* A2F23C 80244FFC 8E0300AC */ lw $v1, 0xac($s0) +/* A2F240 80245000 8E02008C */ lw $v0, 0x8c($s0) +/* A2F244 80245004 00621821 */ addu $v1, $v1, $v0 +/* A2F248 80245008 04610004 */ bgez $v1, .L8024501C +/* A2F24C 8024500C AE0300AC */ sw $v1, 0xac($s0) +/* A2F250 80245010 3C020002 */ lui $v0, 2 +/* A2F254 80245014 0809140B */ j .L8024502C +/* A2F258 80245018 00621021 */ addu $v0, $v1, $v0 +.L8024501C: +/* A2F25C 8024501C 3C040002 */ lui $a0, 2 +/* A2F260 80245020 0083102A */ slt $v0, $a0, $v1 +/* A2F264 80245024 10400002 */ beqz $v0, .L80245030 +/* A2F268 80245028 00641023 */ subu $v0, $v1, $a0 +.L8024502C: +/* A2F26C 8024502C AE0200AC */ sw $v0, 0xac($s0) +.L80245030: +/* A2F270 80245030 8E0300B0 */ lw $v1, 0xb0($s0) +/* A2F274 80245034 8E020090 */ lw $v0, 0x90($s0) +/* A2F278 80245038 00621821 */ addu $v1, $v1, $v0 +/* A2F27C 8024503C 04610004 */ bgez $v1, .L80245050 +/* A2F280 80245040 AE0300B0 */ sw $v1, 0xb0($s0) +/* A2F284 80245044 3C020002 */ lui $v0, 2 +/* A2F288 80245048 08091418 */ j .L80245060 +/* A2F28C 8024504C 00621021 */ addu $v0, $v1, $v0 +.L80245050: +/* A2F290 80245050 3C040002 */ lui $a0, 2 +/* A2F294 80245054 0083102A */ slt $v0, $a0, $v1 +/* A2F298 80245058 10400002 */ beqz $v0, .L80245064 +/* A2F29C 8024505C 00641023 */ subu $v0, $v1, $a0 +.L80245060: +/* A2F2A0 80245060 AE0200B0 */ sw $v0, 0xb0($s0) +.L80245064: +/* A2F2A4 80245064 8E0300B4 */ lw $v1, 0xb4($s0) +/* A2F2A8 80245068 8E020094 */ lw $v0, 0x94($s0) +/* A2F2AC 8024506C 00621821 */ addu $v1, $v1, $v0 +/* A2F2B0 80245070 04610004 */ bgez $v1, .L80245084 +/* A2F2B4 80245074 AE0300B4 */ sw $v1, 0xb4($s0) +/* A2F2B8 80245078 3C020002 */ lui $v0, 2 +/* A2F2BC 8024507C 08091425 */ j .L80245094 +/* A2F2C0 80245080 00621021 */ addu $v0, $v1, $v0 +.L80245084: +/* A2F2C4 80245084 3C040002 */ lui $a0, 2 +/* A2F2C8 80245088 0083102A */ slt $v0, $a0, $v1 +/* A2F2CC 8024508C 10400002 */ beqz $v0, .L80245098 +/* A2F2D0 80245090 00641023 */ subu $v0, $v1, $a0 +.L80245094: +/* A2F2D4 80245094 AE0200B4 */ sw $v0, 0xb4($s0) +.L80245098: +/* A2F2D8 80245098 8E040084 */ lw $a0, 0x84($s0) +/* A2F2DC 8024509C 0C046F07 */ jal set_main_pan_u +/* A2F2E0 802450A0 8E0500A8 */ lw $a1, 0xa8($s0) +/* A2F2E4 802450A4 8E040084 */ lw $a0, 0x84($s0) +/* A2F2E8 802450A8 0C046F0D */ jal set_main_pan_v +/* A2F2EC 802450AC 8E0500AC */ lw $a1, 0xac($s0) +/* A2F2F0 802450B0 8E040084 */ lw $a0, 0x84($s0) +/* A2F2F4 802450B4 0C046F13 */ jal set_aux_pan_u +/* A2F2F8 802450B8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A2F2FC 802450BC 8E040084 */ lw $a0, 0x84($s0) +/* A2F300 802450C0 0C046F19 */ jal set_aux_pan_v +/* A2F304 802450C4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A2F308 802450C8 8FBF0014 */ lw $ra, 0x14($sp) +/* A2F30C 802450CC 8FB00010 */ lw $s0, 0x10($sp) +/* A2F310 802450D0 0000102D */ daddu $v0, $zero, $zero +/* A2F314 802450D4 03E00008 */ jr $ra +/* A2F318 802450D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802450DC.s b/asm/nonmatchings/world/area_hos/hos_05/func_802450DC.s new file mode 100644 index 0000000000..40edce0044 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802450DC.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802450DC +/* A2F31C 802450DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2F320 802450E0 AFB00010 */ sw $s0, 0x10($sp) +/* A2F324 802450E4 0080802D */ daddu $s0, $a0, $zero +/* A2F328 802450E8 10A00005 */ beqz $a1, .L80245100 +/* A2F32C 802450EC AFBF0014 */ sw $ra, 0x14($sp) +/* A2F330 802450F0 AE000070 */ sw $zero, 0x70($s0) +/* A2F334 802450F4 AE000074 */ sw $zero, 0x74($s0) +/* A2F338 802450F8 AE000078 */ sw $zero, 0x78($s0) +/* A2F33C 802450FC AE00007C */ sw $zero, 0x7c($s0) +.L80245100: +/* A2F340 80245100 8E020070 */ lw $v0, 0x70($s0) +/* A2F344 80245104 1440000E */ bnez $v0, .L80245140 +/* A2F348 80245108 00000000 */ nop +/* A2F34C 8024510C 8E0300A8 */ lw $v1, 0xa8($s0) +/* A2F350 80245110 8E020088 */ lw $v0, 0x88($s0) +/* A2F354 80245114 00621821 */ addu $v1, $v1, $v0 +/* A2F358 80245118 04610004 */ bgez $v1, .L8024512C +/* A2F35C 8024511C AE0300A8 */ sw $v1, 0xa8($s0) +/* A2F360 80245120 3C020002 */ lui $v0, 2 +/* A2F364 80245124 0809144F */ j .L8024513C +/* A2F368 80245128 00621021 */ addu $v0, $v1, $v0 +.L8024512C: +/* A2F36C 8024512C 3C040002 */ lui $a0, 2 +/* A2F370 80245130 0083102A */ slt $v0, $a0, $v1 +/* A2F374 80245134 10400002 */ beqz $v0, .L80245140 +/* A2F378 80245138 00641023 */ subu $v0, $v1, $a0 +.L8024513C: +/* A2F37C 8024513C AE0200A8 */ sw $v0, 0xa8($s0) +.L80245140: +/* A2F380 80245140 8E020074 */ lw $v0, 0x74($s0) +/* A2F384 80245144 1440000E */ bnez $v0, .L80245180 +/* A2F388 80245148 00000000 */ nop +/* A2F38C 8024514C 8E0300AC */ lw $v1, 0xac($s0) +/* A2F390 80245150 8E02008C */ lw $v0, 0x8c($s0) +/* A2F394 80245154 00621821 */ addu $v1, $v1, $v0 +/* A2F398 80245158 04610004 */ bgez $v1, .L8024516C +/* A2F39C 8024515C AE0300AC */ sw $v1, 0xac($s0) +/* A2F3A0 80245160 3C020002 */ lui $v0, 2 +/* A2F3A4 80245164 0809145F */ j .L8024517C +/* A2F3A8 80245168 00621021 */ addu $v0, $v1, $v0 +.L8024516C: +/* A2F3AC 8024516C 3C040002 */ lui $a0, 2 +/* A2F3B0 80245170 0083102A */ slt $v0, $a0, $v1 +/* A2F3B4 80245174 10400002 */ beqz $v0, .L80245180 +/* A2F3B8 80245178 00641023 */ subu $v0, $v1, $a0 +.L8024517C: +/* A2F3BC 8024517C AE0200AC */ sw $v0, 0xac($s0) +.L80245180: +/* A2F3C0 80245180 8E020078 */ lw $v0, 0x78($s0) +/* A2F3C4 80245184 1440000E */ bnez $v0, .L802451C0 +/* A2F3C8 80245188 00000000 */ nop +/* A2F3CC 8024518C 8E0300B0 */ lw $v1, 0xb0($s0) +/* A2F3D0 80245190 8E020090 */ lw $v0, 0x90($s0) +/* A2F3D4 80245194 00621821 */ addu $v1, $v1, $v0 +/* A2F3D8 80245198 04610004 */ bgez $v1, .L802451AC +/* A2F3DC 8024519C AE0300B0 */ sw $v1, 0xb0($s0) +/* A2F3E0 802451A0 3C020002 */ lui $v0, 2 +/* A2F3E4 802451A4 0809146F */ j .L802451BC +/* A2F3E8 802451A8 00621021 */ addu $v0, $v1, $v0 +.L802451AC: +/* A2F3EC 802451AC 3C040002 */ lui $a0, 2 +/* A2F3F0 802451B0 0083102A */ slt $v0, $a0, $v1 +/* A2F3F4 802451B4 10400002 */ beqz $v0, .L802451C0 +/* A2F3F8 802451B8 00641023 */ subu $v0, $v1, $a0 +.L802451BC: +/* A2F3FC 802451BC AE0200B0 */ sw $v0, 0xb0($s0) +.L802451C0: +/* A2F400 802451C0 8E02007C */ lw $v0, 0x7c($s0) +/* A2F404 802451C4 1440000E */ bnez $v0, .L80245200 +/* A2F408 802451C8 00000000 */ nop +/* A2F40C 802451CC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A2F410 802451D0 8E020094 */ lw $v0, 0x94($s0) +/* A2F414 802451D4 00621821 */ addu $v1, $v1, $v0 +/* A2F418 802451D8 04610004 */ bgez $v1, .L802451EC +/* A2F41C 802451DC AE0300B4 */ sw $v1, 0xb4($s0) +/* A2F420 802451E0 3C020002 */ lui $v0, 2 +/* A2F424 802451E4 0809147F */ j .L802451FC +/* A2F428 802451E8 00621021 */ addu $v0, $v1, $v0 +.L802451EC: +/* A2F42C 802451EC 3C040002 */ lui $a0, 2 +/* A2F430 802451F0 0083102A */ slt $v0, $a0, $v1 +/* A2F434 802451F4 10400002 */ beqz $v0, .L80245200 +/* A2F438 802451F8 00641023 */ subu $v0, $v1, $a0 +.L802451FC: +/* A2F43C 802451FC AE0200B4 */ sw $v0, 0xb4($s0) +.L80245200: +/* A2F440 80245200 8E040084 */ lw $a0, 0x84($s0) +/* A2F444 80245204 0C046F07 */ jal set_main_pan_u +/* A2F448 80245208 8E0500A8 */ lw $a1, 0xa8($s0) +/* A2F44C 8024520C 8E040084 */ lw $a0, 0x84($s0) +/* A2F450 80245210 0C046F0D */ jal set_main_pan_v +/* A2F454 80245214 8E0500AC */ lw $a1, 0xac($s0) +/* A2F458 80245218 8E040084 */ lw $a0, 0x84($s0) +/* A2F45C 8024521C 0C046F13 */ jal set_aux_pan_u +/* A2F460 80245220 8E0500B0 */ lw $a1, 0xb0($s0) +/* A2F464 80245224 8E040084 */ lw $a0, 0x84($s0) +/* A2F468 80245228 0C046F19 */ jal set_aux_pan_v +/* A2F46C 8024522C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A2F470 80245230 8E020070 */ lw $v0, 0x70($s0) +/* A2F474 80245234 8E030078 */ lw $v1, 0x78($s0) +/* A2F478 80245238 8E040098 */ lw $a0, 0x98($s0) +/* A2F47C 8024523C 24420001 */ addiu $v0, $v0, 1 +/* A2F480 80245240 AE020070 */ sw $v0, 0x70($s0) +/* A2F484 80245244 8E020074 */ lw $v0, 0x74($s0) +/* A2F488 80245248 24630001 */ addiu $v1, $v1, 1 +/* A2F48C 8024524C AE030078 */ sw $v1, 0x78($s0) +/* A2F490 80245250 8E030070 */ lw $v1, 0x70($s0) +/* A2F494 80245254 24420001 */ addiu $v0, $v0, 1 +/* A2F498 80245258 AE020074 */ sw $v0, 0x74($s0) +/* A2F49C 8024525C 8E02007C */ lw $v0, 0x7c($s0) +/* A2F4A0 80245260 0064182A */ slt $v1, $v1, $a0 +/* A2F4A4 80245264 24420001 */ addiu $v0, $v0, 1 +/* A2F4A8 80245268 14600002 */ bnez $v1, .L80245274 +/* A2F4AC 8024526C AE02007C */ sw $v0, 0x7c($s0) +/* A2F4B0 80245270 AE000070 */ sw $zero, 0x70($s0) +.L80245274: +/* A2F4B4 80245274 8E020074 */ lw $v0, 0x74($s0) +/* A2F4B8 80245278 8E03009C */ lw $v1, 0x9c($s0) +/* A2F4BC 8024527C 0043102A */ slt $v0, $v0, $v1 +/* A2F4C0 80245280 50400001 */ beql $v0, $zero, .L80245288 +/* A2F4C4 80245284 AE000074 */ sw $zero, 0x74($s0) +.L80245288: +/* A2F4C8 80245288 8E020078 */ lw $v0, 0x78($s0) +/* A2F4CC 8024528C 8E0300A0 */ lw $v1, 0xa0($s0) +/* A2F4D0 80245290 0043102A */ slt $v0, $v0, $v1 +/* A2F4D4 80245294 50400001 */ beql $v0, $zero, .L8024529C +/* A2F4D8 80245298 AE000078 */ sw $zero, 0x78($s0) +.L8024529C: +/* A2F4DC 8024529C 8E02007C */ lw $v0, 0x7c($s0) +/* A2F4E0 802452A0 8E0300A4 */ lw $v1, 0xa4($s0) +/* A2F4E4 802452A4 0043102A */ slt $v0, $v0, $v1 +/* A2F4E8 802452A8 50400001 */ beql $v0, $zero, .L802452B0 +/* A2F4EC 802452AC AE00007C */ sw $zero, 0x7c($s0) +.L802452B0: +/* A2F4F0 802452B0 8FBF0014 */ lw $ra, 0x14($sp) +/* A2F4F4 802452B4 8FB00010 */ lw $s0, 0x10($sp) +/* A2F4F8 802452B8 0000102D */ daddu $v0, $zero, $zero +/* A2F4FC 802452BC 03E00008 */ jr $ra +/* A2F500 802452C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802452C4.s b/asm/nonmatchings/world/area_hos/hos_05/func_802452C4.s new file mode 100644 index 0000000000..135c1d4dd7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802452C4.s @@ -0,0 +1,245 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802452C4 +/* A2F504 802452C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A2F508 802452C8 AFB1001C */ sw $s1, 0x1c($sp) +/* A2F50C 802452CC 0080882D */ daddu $s1, $a0, $zero +/* A2F510 802452D0 AFBF0020 */ sw $ra, 0x20($sp) +/* A2F514 802452D4 AFB00018 */ sw $s0, 0x18($sp) +/* A2F518 802452D8 10A0003B */ beqz $a1, .L802453C8 +/* A2F51C 802452DC 8E30000C */ lw $s0, 0xc($s1) +/* A2F520 802452E0 3C048025 */ lui $a0, 0x8025 +/* A2F524 802452E4 2484F580 */ addiu $a0, $a0, -0xa80 +/* A2F528 802452E8 3C058025 */ lui $a1, 0x8025 +/* A2F52C 802452EC 24A5F581 */ addiu $a1, $a1, -0xa7f +/* A2F530 802452F0 3C068025 */ lui $a2, 0x8025 +/* A2F534 802452F4 24C6F582 */ addiu $a2, $a2, -0xa7e +/* A2F538 802452F8 3C078025 */ lui $a3, 0x8025 +/* A2F53C 802452FC 24E7F583 */ addiu $a3, $a3, -0xa7d +/* A2F540 80245300 3C028025 */ lui $v0, 0x8025 +/* A2F544 80245304 2442F584 */ addiu $v0, $v0, -0xa7c +/* A2F548 80245308 AFA20010 */ sw $v0, 0x10($sp) +/* A2F54C 8024530C 3C028025 */ lui $v0, 0x8025 +/* A2F550 80245310 2442F585 */ addiu $v0, $v0, -0xa7b +/* A2F554 80245314 0C046FF5 */ jal func_8011BFD4 +/* A2F558 80245318 AFA20014 */ sw $v0, 0x14($sp) +/* A2F55C 8024531C 8E050000 */ lw $a1, ($s0) +/* A2F560 80245320 26100004 */ addiu $s0, $s0, 4 +/* A2F564 80245324 0C0B1EAF */ jal get_variable +/* A2F568 80245328 0220202D */ daddu $a0, $s1, $zero +/* A2F56C 8024532C 3C018025 */ lui $at, 0x8025 +/* A2F570 80245330 AC22F588 */ sw $v0, -0xa78($at) +/* A2F574 80245334 8E050000 */ lw $a1, ($s0) +/* A2F578 80245338 26100004 */ addiu $s0, $s0, 4 +/* A2F57C 8024533C 0C0B1EAF */ jal get_variable +/* A2F580 80245340 0220202D */ daddu $a0, $s1, $zero +/* A2F584 80245344 3C018025 */ lui $at, 0x8025 +/* A2F588 80245348 AC22F58C */ sw $v0, -0xa74($at) +/* A2F58C 8024534C 8E050000 */ lw $a1, ($s0) +/* A2F590 80245350 26100004 */ addiu $s0, $s0, 4 +/* A2F594 80245354 0C0B1EAF */ jal get_variable +/* A2F598 80245358 0220202D */ daddu $a0, $s1, $zero +/* A2F59C 8024535C 3C018025 */ lui $at, 0x8025 +/* A2F5A0 80245360 AC22F590 */ sw $v0, -0xa70($at) +/* A2F5A4 80245364 8E050000 */ lw $a1, ($s0) +/* A2F5A8 80245368 26100004 */ addiu $s0, $s0, 4 +/* A2F5AC 8024536C 0C0B1EAF */ jal get_variable +/* A2F5B0 80245370 0220202D */ daddu $a0, $s1, $zero +/* A2F5B4 80245374 3C018025 */ lui $at, 0x8025 +/* A2F5B8 80245378 AC22F594 */ sw $v0, -0xa6c($at) +/* A2F5BC 8024537C 8E050000 */ lw $a1, ($s0) +/* A2F5C0 80245380 26100004 */ addiu $s0, $s0, 4 +/* A2F5C4 80245384 0C0B1EAF */ jal get_variable +/* A2F5C8 80245388 0220202D */ daddu $a0, $s1, $zero +/* A2F5CC 8024538C 3C018025 */ lui $at, 0x8025 +/* A2F5D0 80245390 AC22F598 */ sw $v0, -0xa68($at) +/* A2F5D4 80245394 8E050000 */ lw $a1, ($s0) +/* A2F5D8 80245398 26100004 */ addiu $s0, $s0, 4 +/* A2F5DC 8024539C 0C0B1EAF */ jal get_variable +/* A2F5E0 802453A0 0220202D */ daddu $a0, $s1, $zero +/* A2F5E4 802453A4 3C018025 */ lui $at, 0x8025 +/* A2F5E8 802453A8 AC22F59C */ sw $v0, -0xa64($at) +/* A2F5EC 802453AC 8E050000 */ lw $a1, ($s0) +/* A2F5F0 802453B0 0C0B1EAF */ jal get_variable +/* A2F5F4 802453B4 0220202D */ daddu $a0, $s1, $zero +/* A2F5F8 802453B8 3C018025 */ lui $at, 0x8025 +/* A2F5FC 802453BC AC22F5A0 */ sw $v0, -0xa60($at) +/* A2F600 802453C0 3C018025 */ lui $at, 0x8025 +/* A2F604 802453C4 AC20F5A4 */ sw $zero, -0xa5c($at) +.L802453C8: +/* A2F608 802453C8 3C118025 */ lui $s1, 0x8025 +/* A2F60C 802453CC 2631F5A0 */ addiu $s1, $s1, -0xa60 +/* A2F610 802453D0 8E2F0000 */ lw $t7, ($s1) +/* A2F614 802453D4 19E00088 */ blez $t7, .L802455F8 +/* A2F618 802453D8 00000000 */ nop +/* A2F61C 802453DC 3C108025 */ lui $s0, 0x8025 +/* A2F620 802453E0 2610F5A4 */ addiu $s0, $s0, -0xa5c +/* A2F624 802453E4 8E030000 */ lw $v1, ($s0) +/* A2F628 802453E8 3C048025 */ lui $a0, 0x8025 +/* A2F62C 802453EC 9084F580 */ lbu $a0, -0xa80($a0) +/* A2F630 802453F0 3C028025 */ lui $v0, 0x8025 +/* A2F634 802453F4 8C42F588 */ lw $v0, -0xa78($v0) +/* A2F638 802453F8 24630001 */ addiu $v1, $v1, 1 +/* A2F63C 802453FC 00441023 */ subu $v0, $v0, $a0 +/* A2F640 80245400 00430018 */ mult $v0, $v1 +/* A2F644 80245404 00004012 */ mflo $t0 +/* A2F648 80245408 00000000 */ nop +/* A2F64C 8024540C 15E00002 */ bnez $t7, .L80245418 +/* A2F650 80245410 010F001A */ div $zero, $t0, $t7 +/* A2F654 80245414 0007000D */ break 7 +.L80245418: +/* A2F658 80245418 2401FFFF */ addiu $at, $zero, -1 +/* A2F65C 8024541C 15E10004 */ bne $t7, $at, .L80245430 +/* A2F660 80245420 3C018000 */ lui $at, 0x8000 +/* A2F664 80245424 15010002 */ bne $t0, $at, .L80245430 +/* A2F668 80245428 00000000 */ nop +/* A2F66C 8024542C 0006000D */ break 6 +.L80245430: +/* A2F670 80245430 00007012 */ mflo $t6 +/* A2F674 80245434 3C058025 */ lui $a1, 0x8025 +/* A2F678 80245438 90A5F581 */ lbu $a1, -0xa7f($a1) +/* A2F67C 8024543C 3C028025 */ lui $v0, 0x8025 +/* A2F680 80245440 8C42F58C */ lw $v0, -0xa74($v0) +/* A2F684 80245444 00451023 */ subu $v0, $v0, $a1 +/* A2F688 80245448 00430018 */ mult $v0, $v1 +/* A2F68C 8024544C 00004012 */ mflo $t0 +/* A2F690 80245450 00000000 */ nop +/* A2F694 80245454 15E00002 */ bnez $t7, .L80245460 +/* A2F698 80245458 010F001A */ div $zero, $t0, $t7 +/* A2F69C 8024545C 0007000D */ break 7 +.L80245460: +/* A2F6A0 80245460 2401FFFF */ addiu $at, $zero, -1 +/* A2F6A4 80245464 15E10004 */ bne $t7, $at, .L80245478 +/* A2F6A8 80245468 3C018000 */ lui $at, 0x8000 +/* A2F6AC 8024546C 15010002 */ bne $t0, $at, .L80245478 +/* A2F6B0 80245470 00000000 */ nop +/* A2F6B4 80245474 0006000D */ break 6 +.L80245478: +/* A2F6B8 80245478 00006812 */ mflo $t5 +/* A2F6BC 8024547C 3C068025 */ lui $a2, 0x8025 +/* A2F6C0 80245480 90C6F582 */ lbu $a2, -0xa7e($a2) +/* A2F6C4 80245484 3C028025 */ lui $v0, 0x8025 +/* A2F6C8 80245488 8C42F590 */ lw $v0, -0xa70($v0) +/* A2F6CC 8024548C 00461023 */ subu $v0, $v0, $a2 +/* A2F6D0 80245490 00430018 */ mult $v0, $v1 +/* A2F6D4 80245494 00004012 */ mflo $t0 +/* A2F6D8 80245498 00000000 */ nop +/* A2F6DC 8024549C 15E00002 */ bnez $t7, .L802454A8 +/* A2F6E0 802454A0 010F001A */ div $zero, $t0, $t7 +/* A2F6E4 802454A4 0007000D */ break 7 +.L802454A8: +/* A2F6E8 802454A8 2401FFFF */ addiu $at, $zero, -1 +/* A2F6EC 802454AC 15E10004 */ bne $t7, $at, .L802454C0 +/* A2F6F0 802454B0 3C018000 */ lui $at, 0x8000 +/* A2F6F4 802454B4 15010002 */ bne $t0, $at, .L802454C0 +/* A2F6F8 802454B8 00000000 */ nop +/* A2F6FC 802454BC 0006000D */ break 6 +.L802454C0: +/* A2F700 802454C0 00006012 */ mflo $t4 +/* A2F704 802454C4 3C078025 */ lui $a3, 0x8025 +/* A2F708 802454C8 90E7F583 */ lbu $a3, -0xa7d($a3) +/* A2F70C 802454CC 3C028025 */ lui $v0, 0x8025 +/* A2F710 802454D0 8C42F594 */ lw $v0, -0xa6c($v0) +/* A2F714 802454D4 00471023 */ subu $v0, $v0, $a3 +/* A2F718 802454D8 00430018 */ mult $v0, $v1 +/* A2F71C 802454DC 00004012 */ mflo $t0 +/* A2F720 802454E0 00000000 */ nop +/* A2F724 802454E4 15E00002 */ bnez $t7, .L802454F0 +/* A2F728 802454E8 010F001A */ div $zero, $t0, $t7 +/* A2F72C 802454EC 0007000D */ break 7 +.L802454F0: +/* A2F730 802454F0 2401FFFF */ addiu $at, $zero, -1 +/* A2F734 802454F4 15E10004 */ bne $t7, $at, .L80245508 +/* A2F738 802454F8 3C018000 */ lui $at, 0x8000 +/* A2F73C 802454FC 15010002 */ bne $t0, $at, .L80245508 +/* A2F740 80245500 00000000 */ nop +/* A2F744 80245504 0006000D */ break 6 +.L80245508: +/* A2F748 80245508 00005812 */ mflo $t3 +/* A2F74C 8024550C 3C098025 */ lui $t1, 0x8025 +/* A2F750 80245510 9129F584 */ lbu $t1, -0xa7c($t1) +/* A2F754 80245514 3C028025 */ lui $v0, 0x8025 +/* A2F758 80245518 8C42F598 */ lw $v0, -0xa68($v0) +/* A2F75C 8024551C 00491023 */ subu $v0, $v0, $t1 +/* A2F760 80245520 00430018 */ mult $v0, $v1 +/* A2F764 80245524 00004012 */ mflo $t0 +/* A2F768 80245528 00000000 */ nop +/* A2F76C 8024552C 15E00002 */ bnez $t7, .L80245538 +/* A2F770 80245530 010F001A */ div $zero, $t0, $t7 +/* A2F774 80245534 0007000D */ break 7 +.L80245538: +/* A2F778 80245538 2401FFFF */ addiu $at, $zero, -1 +/* A2F77C 8024553C 15E10004 */ bne $t7, $at, .L80245550 +/* A2F780 80245540 3C018000 */ lui $at, 0x8000 +/* A2F784 80245544 15010002 */ bne $t0, $at, .L80245550 +/* A2F788 80245548 00000000 */ nop +/* A2F78C 8024554C 0006000D */ break 6 +.L80245550: +/* A2F790 80245550 00005012 */ mflo $t2 +/* A2F794 80245554 3C088025 */ lui $t0, 0x8025 +/* A2F798 80245558 9108F585 */ lbu $t0, -0xa7b($t0) +/* A2F79C 8024555C 3C028025 */ lui $v0, 0x8025 +/* A2F7A0 80245560 8C42F59C */ lw $v0, -0xa64($v0) +/* A2F7A4 80245564 00481023 */ subu $v0, $v0, $t0 +/* A2F7A8 80245568 00430018 */ mult $v0, $v1 +/* A2F7AC 8024556C 0000C812 */ mflo $t9 +/* A2F7B0 80245570 00000000 */ nop +/* A2F7B4 80245574 15E00002 */ bnez $t7, .L80245580 +/* A2F7B8 80245578 032F001A */ div $zero, $t9, $t7 +/* A2F7BC 8024557C 0007000D */ break 7 +.L80245580: +/* A2F7C0 80245580 2401FFFF */ addiu $at, $zero, -1 +/* A2F7C4 80245584 15E10004 */ bne $t7, $at, .L80245598 +/* A2F7C8 80245588 3C018000 */ lui $at, 0x8000 +/* A2F7CC 8024558C 17210002 */ bne $t9, $at, .L80245598 +/* A2F7D0 80245590 00000000 */ nop +/* A2F7D4 80245594 0006000D */ break 6 +.L80245598: +/* A2F7D8 80245598 00001012 */ mflo $v0 +/* A2F7DC 8024559C AE030000 */ sw $v1, ($s0) +/* A2F7E0 802455A0 008E2021 */ addu $a0, $a0, $t6 +/* A2F7E4 802455A4 308400FF */ andi $a0, $a0, 0xff +/* A2F7E8 802455A8 00AD2821 */ addu $a1, $a1, $t5 +/* A2F7EC 802455AC 30A500FF */ andi $a1, $a1, 0xff +/* A2F7F0 802455B0 00CC3021 */ addu $a2, $a2, $t4 +/* A2F7F4 802455B4 30C600FF */ andi $a2, $a2, 0xff +/* A2F7F8 802455B8 00EB3821 */ addu $a3, $a3, $t3 +/* A2F7FC 802455BC 30E700FF */ andi $a3, $a3, 0xff +/* A2F800 802455C0 012A4821 */ addu $t1, $t1, $t2 +/* A2F804 802455C4 312900FF */ andi $t1, $t1, 0xff +/* A2F808 802455C8 AFA90010 */ sw $t1, 0x10($sp) +/* A2F80C 802455CC 01024021 */ addu $t0, $t0, $v0 +/* A2F810 802455D0 310800FF */ andi $t0, $t0, 0xff +/* A2F814 802455D4 0C046FE6 */ jal func_8011BF98 +/* A2F818 802455D8 AFA80014 */ sw $t0, 0x14($sp) +/* A2F81C 802455DC 8E020000 */ lw $v0, ($s0) +/* A2F820 802455E0 8E230000 */ lw $v1, ($s1) +/* A2F824 802455E4 0043102A */ slt $v0, $v0, $v1 +/* A2F828 802455E8 14400013 */ bnez $v0, .L80245638 +/* A2F82C 802455EC 0000102D */ daddu $v0, $zero, $zero +/* A2F830 802455F0 0809158E */ j .L80245638 +/* A2F834 802455F4 24020002 */ addiu $v0, $zero, 2 +.L802455F8: +/* A2F838 802455F8 3C028025 */ lui $v0, 0x8025 +/* A2F83C 802455FC 9042F59B */ lbu $v0, -0xa65($v0) +/* A2F840 80245600 3C048025 */ lui $a0, 0x8025 +/* A2F844 80245604 9084F58B */ lbu $a0, -0xa75($a0) +/* A2F848 80245608 3C058025 */ lui $a1, 0x8025 +/* A2F84C 8024560C 90A5F58F */ lbu $a1, -0xa71($a1) +/* A2F850 80245610 3C068025 */ lui $a2, 0x8025 +/* A2F854 80245614 90C6F593 */ lbu $a2, -0xa6d($a2) +/* A2F858 80245618 3C078025 */ lui $a3, 0x8025 +/* A2F85C 8024561C 90E7F597 */ lbu $a3, -0xa69($a3) +/* A2F860 80245620 3C038025 */ lui $v1, 0x8025 +/* A2F864 80245624 9063F59F */ lbu $v1, -0xa61($v1) +/* A2F868 80245628 AFA20010 */ sw $v0, 0x10($sp) +/* A2F86C 8024562C 0C046FE6 */ jal func_8011BF98 +/* A2F870 80245630 AFA30014 */ sw $v1, 0x14($sp) +/* A2F874 80245634 24020002 */ addiu $v0, $zero, 2 +.L80245638: +/* A2F878 80245638 8FBF0020 */ lw $ra, 0x20($sp) +/* A2F87C 8024563C 8FB1001C */ lw $s1, 0x1c($sp) +/* A2F880 80245640 8FB00018 */ lw $s0, 0x18($sp) +/* A2F884 80245644 03E00008 */ jr $ra +/* A2F888 80245648 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024564C.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024564C.s new file mode 100644 index 0000000000..b570828106 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024564C.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024564C +/* A2F88C 8024564C 3C06FC12 */ lui $a2, 0xfc12 +/* A2F890 80245650 34C61624 */ ori $a2, $a2, 0x1624 +/* A2F894 80245654 3C05FF2F */ lui $a1, 0xff2f +/* A2F898 80245658 3C04800A */ lui $a0, 0x800a +/* A2F89C 8024565C 2484A66C */ addiu $a0, $a0, -0x5994 +/* A2F8A0 80245660 8C820000 */ lw $v0, ($a0) +/* A2F8A4 80245664 34A5FFFF */ ori $a1, $a1, 0xffff +/* A2F8A8 80245668 0040182D */ daddu $v1, $v0, $zero +/* A2F8AC 8024566C 24420008 */ addiu $v0, $v0, 8 +/* A2F8B0 80245670 AC820000 */ sw $v0, ($a0) +/* A2F8B4 80245674 AC660000 */ sw $a2, ($v1) +/* A2F8B8 80245678 AC650004 */ sw $a1, 4($v1) +/* A2F8BC 8024567C 24430008 */ addiu $v1, $v0, 8 +/* A2F8C0 80245680 AC830000 */ sw $v1, ($a0) +/* A2F8C4 80245684 3C04802E */ lui $a0, 0x802e +/* A2F8C8 80245688 90849D73 */ lbu $a0, -0x628d($a0) +/* A2F8CC 8024568C 3C03FA00 */ lui $v1, 0xfa00 +/* A2F8D0 80245690 AC430000 */ sw $v1, ($v0) +/* A2F8D4 80245694 03E00008 */ jr $ra +/* A2F8D8 80245698 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_8024569C.s b/asm/nonmatchings/world/area_hos/hos_05/func_8024569C.s new file mode 100644 index 0000000000..1e4053f308 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_8024569C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024569C +/* A2F8DC 8024569C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2F8E0 802456A0 AFBF0010 */ sw $ra, 0x10($sp) +/* A2F8E4 802456A4 8C82000C */ lw $v0, 0xc($a0) +/* A2F8E8 802456A8 0C0B1EAF */ jal get_variable +/* A2F8EC 802456AC 8C450000 */ lw $a1, ($v0) +/* A2F8F0 802456B0 8FBF0010 */ lw $ra, 0x10($sp) +/* A2F8F4 802456B4 3C01802E */ lui $at, 0x802e +/* A2F8F8 802456B8 A4229D72 */ sh $v0, -0x628e($at) +/* A2F8FC 802456BC 24020002 */ addiu $v0, $zero, 2 +/* A2F900 802456C0 03E00008 */ jr $ra +/* A2F904 802456C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802456C8_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_802456C8_A2A240.s new file mode 100644 index 0000000000..d1147f2bab --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802456C8_A2A240.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802456C8_A2F908 +/* A2F908 802456C8 3C06FC12 */ lui $a2, 0xfc12 +/* A2F90C 802456CC 34C61624 */ ori $a2, $a2, 0x1624 +/* A2F910 802456D0 3C05FF2F */ lui $a1, 0xff2f +/* A2F914 802456D4 3C04800A */ lui $a0, 0x800a +/* A2F918 802456D8 2484A66C */ addiu $a0, $a0, -0x5994 +/* A2F91C 802456DC 8C820000 */ lw $v0, ($a0) +/* A2F920 802456E0 34A5FFFF */ ori $a1, $a1, 0xffff +/* A2F924 802456E4 0040182D */ daddu $v1, $v0, $zero +/* A2F928 802456E8 24420008 */ addiu $v0, $v0, 8 +/* A2F92C 802456EC AC820000 */ sw $v0, ($a0) +/* A2F930 802456F0 AC660000 */ sw $a2, ($v1) +/* A2F934 802456F4 AC650004 */ sw $a1, 4($v1) +/* A2F938 802456F8 24430008 */ addiu $v1, $v0, 8 +/* A2F93C 802456FC AC830000 */ sw $v1, ($a0) +/* A2F940 80245700 3C048025 */ lui $a0, 0x8025 +/* A2F944 80245704 9084DCCF */ lbu $a0, -0x2331($a0) +/* A2F948 80245708 3C03FA00 */ lui $v1, 0xfa00 +/* A2F94C 8024570C AC430000 */ sw $v1, ($v0) +/* A2F950 80245710 03E00008 */ jr $ra +/* A2F954 80245714 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80245718_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/func_80245718_A2A240.s new file mode 100644 index 0000000000..5218d498d5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80245718_A2A240.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245718_A2F958 +/* A2F958 80245718 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2F95C 8024571C AFBF0010 */ sw $ra, 0x10($sp) +/* A2F960 80245720 8C82000C */ lw $v0, 0xc($a0) +/* A2F964 80245724 0C0B1EAF */ jal get_variable +/* A2F968 80245728 8C450000 */ lw $a1, ($v0) +/* A2F96C 8024572C 8FBF0010 */ lw $ra, 0x10($sp) +/* A2F970 80245730 3C018025 */ lui $at, 0x8025 +/* A2F974 80245734 AC22DCCC */ sw $v0, -0x2334($at) +/* A2F978 80245738 24020002 */ addiu $v0, $zero, 2 +/* A2F97C 8024573C 03E00008 */ jr $ra +/* A2F980 80245740 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80245744.s b/asm/nonmatchings/world/area_hos/hos_05/func_80245744.s new file mode 100644 index 0000000000..e7dc85d743 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80245744.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245744 +/* A2F984 80245744 3C06FC12 */ lui $a2, 0xfc12 +/* A2F988 80245748 34C61624 */ ori $a2, $a2, 0x1624 +/* A2F98C 8024574C 3C05FF2F */ lui $a1, 0xff2f +/* A2F990 80245750 3C04800A */ lui $a0, 0x800a +/* A2F994 80245754 2484A66C */ addiu $a0, $a0, -0x5994 +/* A2F998 80245758 8C820000 */ lw $v0, ($a0) +/* A2F99C 8024575C 34A5FFFF */ ori $a1, $a1, 0xffff +/* A2F9A0 80245760 0040182D */ daddu $v1, $v0, $zero +/* A2F9A4 80245764 24420008 */ addiu $v0, $v0, 8 +/* A2F9A8 80245768 AC820000 */ sw $v0, ($a0) +/* A2F9AC 8024576C AC660000 */ sw $a2, ($v1) +/* A2F9B0 80245770 AC650004 */ sw $a1, 4($v1) +/* A2F9B4 80245774 24430008 */ addiu $v1, $v0, 8 +/* A2F9B8 80245778 AC830000 */ sw $v1, ($a0) +/* A2F9BC 8024577C 3C048025 */ lui $a0, 0x8025 +/* A2F9C0 80245780 9084DCD3 */ lbu $a0, -0x232d($a0) +/* A2F9C4 80245784 3C03FA00 */ lui $v1, 0xfa00 +/* A2F9C8 80245788 AC430000 */ sw $v1, ($v0) +/* A2F9CC 8024578C 03E00008 */ jr $ra +/* A2F9D0 80245790 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_80245794.s b/asm/nonmatchings/world/area_hos/hos_05/func_80245794.s new file mode 100644 index 0000000000..b97a970163 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_80245794.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245794 +/* A2F9D4 80245794 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A2F9D8 80245798 AFBF0010 */ sw $ra, 0x10($sp) +/* A2F9DC 8024579C 8C82000C */ lw $v0, 0xc($a0) +/* A2F9E0 802457A0 0C0B1EAF */ jal get_variable +/* A2F9E4 802457A4 8C450000 */ lw $a1, ($v0) +/* A2F9E8 802457A8 8FBF0010 */ lw $ra, 0x10($sp) +/* A2F9EC 802457AC 3C018025 */ lui $at, 0x8025 +/* A2F9F0 802457B0 AC22DCD0 */ sw $v0, -0x2330($at) +/* A2F9F4 802457B4 24020002 */ addiu $v0, $zero, 2 +/* A2F9F8 802457B8 03E00008 */ jr $ra +/* A2F9FC 802457BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_05/func_802457C0.s b/asm/nonmatchings/world/area_hos/hos_05/func_802457C0.s new file mode 100644 index 0000000000..a6c9529618 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/func_802457C0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802457C0 +/* A2FA00 802457C0 3C06800B */ lui $a2, %hi(gCameras) +/* A2FA04 802457C4 24C61D80 */ addiu $a2, $a2, %lo(gCameras) +/* A2FA08 802457C8 10A00003 */ beqz $a1, .L802457D8 +/* A2FA0C 802457CC 00C0382D */ daddu $a3, $a2, $zero +/* A2FA10 802457D0 24020028 */ addiu $v0, $zero, 0x28 +/* A2FA14 802457D4 AC820070 */ sw $v0, 0x70($a0) +.L802457D8: +/* A2FA18 802457D8 8C820070 */ lw $v0, 0x70($a0) +/* A2FA1C 802457DC 2443FFFF */ addiu $v1, $v0, -1 +/* A2FA20 802457E0 AC830070 */ sw $v1, 0x70($a0) +/* A2FA24 802457E4 8CC50448 */ lw $a1, 0x448($a2) +/* A2FA28 802457E8 54A00005 */ bnel $a1, $zero, .L80245800 +/* A2FA2C 802457EC 24020028 */ addiu $v0, $zero, 0x28 +/* A2FA30 802457F0 8CE50444 */ lw $a1, 0x444($a3) +/* A2FA34 802457F4 10A00014 */ beqz $a1, .L80245848 +/* A2FA38 802457F8 00000000 */ nop +/* A2FA3C 802457FC 24020028 */ addiu $v0, $zero, 0x28 +.L80245800: +/* A2FA40 80245800 00431023 */ subu $v0, $v0, $v1 +/* A2FA44 80245804 44821000 */ mtc1 $v0, $f2 +/* A2FA48 80245808 00000000 */ nop +/* A2FA4C 8024580C 468010A0 */ cvt.s.w $f2, $f2 +/* A2FA50 80245810 3C018025 */ lui $at, 0x8025 +/* A2FA54 80245814 D420F280 */ ldc1 $f0, -0xd80($at) +/* A2FA58 80245818 460010A1 */ cvt.d.s $f2, $f2 +/* A2FA5C 8024581C 46201082 */ mul.d $f2, $f2, $f0 +/* A2FA60 80245820 00000000 */ nop +/* A2FA64 80245824 3C013FF0 */ lui $at, 0x3ff0 +/* A2FA68 80245828 44812800 */ mtc1 $at, $f5 +/* A2FA6C 8024582C 44802000 */ mtc1 $zero, $f4 +/* A2FA70 80245830 C4A00024 */ lwc1 $f0, 0x24($a1) +/* A2FA74 80245834 46222101 */ sub.d $f4, $f4, $f2 +/* A2FA78 80245838 46000021 */ cvt.d.s $f0, $f0 +/* A2FA7C 8024583C 46240001 */ sub.d $f0, $f0, $f4 +/* A2FA80 80245840 46200020 */ cvt.s.d $f0, $f0 +/* A2FA84 80245844 E4A00024 */ swc1 $f0, 0x24($a1) +.L80245848: +/* A2FA88 80245848 8C820070 */ lw $v0, 0x70($a0) +/* A2FA8C 8024584C 2C420001 */ sltiu $v0, $v0, 1 +/* A2FA90 80245850 03E00008 */ jr $ra +/* A2FA94 80245854 00021040 */ sll $v0, $v0, 1 +/* A2FA98 80245858 00000000 */ nop +/* A2FA9C 8024585C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_05/pause_tabs_draw_badges_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/pause_tabs_draw_badges_A2A240.s new file mode 100644 index 0000000000..5c4aff40ea --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/pause_tabs_draw_badges_A2A240.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_tabs_draw_badges_A2EF00 +/* A2EF00 80244CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A2EF04 80244CC4 AFB10014 */ sw $s1, 0x14($sp) +/* A2EF08 80244CC8 0080882D */ daddu $s1, $a0, $zero +/* A2EF0C 80244CCC AFBF001C */ sw $ra, 0x1c($sp) +/* A2EF10 80244CD0 AFB20018 */ sw $s2, 0x18($sp) +/* A2EF14 80244CD4 AFB00010 */ sw $s0, 0x10($sp) +/* A2EF18 80244CD8 8E30000C */ lw $s0, 0xc($s1) +/* A2EF1C 80244CDC 8E050000 */ lw $a1, ($s0) +/* A2EF20 80244CE0 0C0B1EAF */ jal get_variable +/* A2EF24 80244CE4 26100004 */ addiu $s0, $s0, 4 +/* A2EF28 80244CE8 8E050000 */ lw $a1, ($s0) +/* A2EF2C 80244CEC 26100004 */ addiu $s0, $s0, 4 +/* A2EF30 80244CF0 0220202D */ daddu $a0, $s1, $zero +/* A2EF34 80244CF4 0C0B1EAF */ jal get_variable +/* A2EF38 80244CF8 0040902D */ daddu $s2, $v0, $zero +/* A2EF3C 80244CFC 0220202D */ daddu $a0, $s1, $zero +/* A2EF40 80244D00 8E050000 */ lw $a1, ($s0) +/* A2EF44 80244D04 0C0B1EAF */ jal get_variable +/* A2EF48 80244D08 0040802D */ daddu $s0, $v0, $zero +/* A2EF4C 80244D0C 0040882D */ daddu $s1, $v0, $zero +/* A2EF50 80244D10 2402FFFF */ addiu $v0, $zero, -1 +/* A2EF54 80244D14 16020005 */ bne $s0, $v0, .L80244D2C +/* A2EF58 80244D18 24020001 */ addiu $v0, $zero, 1 +/* A2EF5C 80244D1C 0C04760B */ jal func_8011D82C +/* A2EF60 80244D20 0220202D */ daddu $a0, $s1, $zero +/* A2EF64 80244D24 08091373 */ j .L80244DCC +/* A2EF68 80244D28 24020002 */ addiu $v0, $zero, 2 +.L80244D2C: +/* A2EF6C 80244D2C 12420018 */ beq $s2, $v0, .L80244D90 +/* A2EF70 80244D30 2A420002 */ slti $v0, $s2, 2 +/* A2EF74 80244D34 10400005 */ beqz $v0, .L80244D4C +/* A2EF78 80244D38 24020002 */ addiu $v0, $zero, 2 +/* A2EF7C 80244D3C 12400007 */ beqz $s2, .L80244D5C +/* A2EF80 80244D40 3412FFFF */ ori $s2, $zero, 0xffff +/* A2EF84 80244D44 08091373 */ j .L80244DCC +/* A2EF88 80244D48 00000000 */ nop +.L80244D4C: +/* A2EF8C 80244D4C 1242001B */ beq $s2, $v0, .L80244DBC +/* A2EF90 80244D50 24020002 */ addiu $v0, $zero, 2 +/* A2EF94 80244D54 08091373 */ j .L80244DCC +/* A2EF98 80244D58 00000000 */ nop +.L80244D5C: +/* A2EF9C 80244D5C 8E040000 */ lw $a0, ($s0) +/* A2EFA0 80244D60 1092001A */ beq $a0, $s2, .L80244DCC +/* A2EFA4 80244D64 24020002 */ addiu $v0, $zero, 2 +/* A2EFA8 80244D68 0C046C04 */ jal get_model_list_index_from_tree_index +/* A2EFAC 80244D6C 26100004 */ addiu $s0, $s0, 4 +/* A2EFB0 80244D70 0C046B4C */ jal get_model_from_list_index +/* A2EFB4 80244D74 0040202D */ daddu $a0, $v0, $zero +/* A2EFB8 80244D78 0040202D */ daddu $a0, $v0, $zero +/* A2EFBC 80244D7C 2405FFFF */ addiu $a1, $zero, -1 +/* A2EFC0 80244D80 0C046F1F */ jal func_8011BC7C +/* A2EFC4 80244D84 0220302D */ daddu $a2, $s1, $zero +/* A2EFC8 80244D88 08091357 */ j .L80244D5C +/* A2EFCC 80244D8C 00000000 */ nop +.L80244D90: +/* A2EFD0 80244D90 3412FFFF */ ori $s2, $zero, 0xffff +.L80244D94: +/* A2EFD4 80244D94 8E020000 */ lw $v0, ($s0) +/* A2EFD8 80244D98 1052000B */ beq $v0, $s2, .L80244DC8 +/* A2EFDC 80244D9C 2405FFFF */ addiu $a1, $zero, -1 +/* A2EFE0 80244DA0 96040002 */ lhu $a0, 2($s0) +/* A2EFE4 80244DA4 0220302D */ daddu $a2, $s1, $zero +/* A2EFE8 80244DA8 26100004 */ addiu $s0, $s0, 4 +/* A2EFEC 80244DAC 0C046E54 */ jal func_8011B950 +/* A2EFF0 80244DB0 0000382D */ daddu $a3, $zero, $zero +/* A2EFF4 80244DB4 08091365 */ j .L80244D94 +/* A2EFF8 80244DB8 00000000 */ nop +.L80244DBC: +/* A2EFFC 80244DBC 3C028015 */ lui $v0, 0x8015 +/* A2F000 80244DC0 8C4212F0 */ lw $v0, 0x12f0($v0) +/* A2F004 80244DC4 A0510000 */ sb $s1, ($v0) +.L80244DC8: +/* A2F008 80244DC8 24020002 */ addiu $v0, $zero, 2 +.L80244DCC: +/* A2F00C 80244DCC 8FBF001C */ lw $ra, 0x1c($sp) +/* A2F010 80244DD0 8FB20018 */ lw $s2, 0x18($sp) +/* A2F014 80244DD4 8FB10014 */ lw $s1, 0x14($sp) +/* A2F018 80244DD8 8FB00010 */ lw $s0, 0x10($sp) +/* A2F01C 80244DDC 03E00008 */ jr $ra +/* A2F020 80244DE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_05/update_heroes_start_turn_A2A240.s b/asm/nonmatchings/world/area_hos/hos_05/update_heroes_start_turn_A2A240.s new file mode 100644 index 0000000000..fe9f09d277 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_05/update_heroes_start_turn_A2A240.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_heroes_start_turn_A2C264 +/* A2C264 80242024 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A2C268 80242028 AFB30034 */ sw $s3, 0x34($sp) +/* A2C26C 8024202C 0080982D */ daddu $s3, $a0, $zero +/* A2C270 80242030 0000202D */ daddu $a0, $zero, $zero +/* A2C274 80242034 AFB20030 */ sw $s2, 0x30($sp) +/* A2C278 80242038 3C128025 */ lui $s2, 0x8025 +/* A2C27C 8024203C 26529A70 */ addiu $s2, $s2, -0x6590 +/* A2C280 80242040 AFBF0038 */ sw $ra, 0x38($sp) +/* A2C284 80242044 AFB1002C */ sw $s1, 0x2c($sp) +/* A2C288 80242048 AFB00028 */ sw $s0, 0x28($sp) +/* A2C28C 8024204C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A2C290 80242050 C6400000 */ lwc1 $f0, ($s2) +/* A2C294 80242054 46800020 */ cvt.s.w $f0, $f0 +/* A2C298 80242058 3C118025 */ lui $s1, 0x8025 +/* A2C29C 8024205C 26319A6C */ addiu $s1, $s1, -0x6594 +/* A2C2A0 80242060 3C0542F3 */ lui $a1, 0x42f3 +/* A2C2A4 80242064 34A53333 */ ori $a1, $a1, 0x3333 +/* A2C2A8 80242068 3C0142B4 */ lui $at, 0x42b4 +/* A2C2AC 8024206C 4481A000 */ mtc1 $at, $f20 +/* A2C2B0 80242070 44070000 */ mfc1 $a3, $f0 +/* A2C2B4 80242074 3C014220 */ lui $at, 0x4220 +/* A2C2B8 80242078 44810000 */ mtc1 $at, $f0 +/* A2C2BC 8024207C 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* A2C2C0 80242080 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* A2C2C4 80242084 3C03800B */ lui $v1, %hi(gCameras) +/* A2C2C8 80242088 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A2C2CC 8024208C AFB10014 */ sw $s1, 0x14($sp) +/* A2C2D0 80242090 00028080 */ sll $s0, $v0, 2 +/* A2C2D4 80242094 02028021 */ addu $s0, $s0, $v0 +/* A2C2D8 80242098 00108080 */ sll $s0, $s0, 2 +/* A2C2DC 8024209C 02028023 */ subu $s0, $s0, $v0 +/* A2C2E0 802420A0 001010C0 */ sll $v0, $s0, 3 +/* A2C2E4 802420A4 02028021 */ addu $s0, $s0, $v0 +/* A2C2E8 802420A8 001080C0 */ sll $s0, $s0, 3 +/* A2C2EC 802420AC 4406A000 */ mfc1 $a2, $f20 +/* A2C2F0 802420B0 02038021 */ addu $s0, $s0, $v1 +/* A2C2F4 802420B4 0C090439 */ jal func_802410E4 +/* A2C2F8 802420B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* A2C2FC 802420BC 3C026666 */ lui $v0, 0x6666 +/* A2C300 802420C0 34426667 */ ori $v0, $v0, 0x6667 +/* A2C304 802420C4 8E440000 */ lw $a0, ($s2) +/* A2C308 802420C8 C6200000 */ lwc1 $f0, ($s1) +/* A2C30C 802420CC 00820018 */ mult $a0, $v0 +/* A2C310 802420D0 24020001 */ addiu $v0, $zero, 1 +/* A2C314 802420D4 A6020506 */ sh $v0, 0x506($s0) +/* A2C318 802420D8 000417C3 */ sra $v0, $a0, 0x1f +/* A2C31C 802420DC 00004010 */ mfhi $t0 +/* A2C320 802420E0 00081843 */ sra $v1, $t0, 1 +/* A2C324 802420E4 00621823 */ subu $v1, $v1, $v0 +/* A2C328 802420E8 00031080 */ sll $v0, $v1, 2 +/* A2C32C 802420EC 00431021 */ addu $v0, $v0, $v1 +/* A2C330 802420F0 1482002C */ bne $a0, $v0, .L802421A4 +/* A2C334 802420F4 E60004DC */ swc1 $f0, 0x4dc($s0) +/* A2C338 802420F8 46140032 */ c.eq.s $f0, $f20 +/* A2C33C 802420FC 00000000 */ nop +/* A2C340 80242100 45010028 */ bc1t .L802421A4 +/* A2C344 80242104 0260202D */ daddu $a0, $s3, $zero +/* A2C348 80242108 0C0B36B0 */ jal resolve_npc +/* A2C34C 8024210C 24050007 */ addiu $a1, $zero, 7 +/* A2C350 80242110 C6600084 */ lwc1 $f0, 0x84($s3) +/* A2C354 80242114 46800020 */ cvt.s.w $f0, $f0 +/* A2C358 80242118 C6680088 */ lwc1 $f8, 0x88($s3) +/* A2C35C 8024211C 46804220 */ cvt.s.w $f8, $f8 +/* A2C360 80242120 C666008C */ lwc1 $f6, 0x8c($s3) +/* A2C364 80242124 468031A0 */ cvt.s.w $f6, $f6 +/* A2C368 80242128 44050000 */ mfc1 $a1, $f0 +/* A2C36C 8024212C 8E630090 */ lw $v1, 0x90($s3) +/* A2C370 80242130 C444003C */ lwc1 $f4, 0x3c($v0) +/* A2C374 80242134 3C014316 */ lui $at, 0x4316 +/* A2C378 80242138 44810000 */ mtc1 $at, $f0 +/* A2C37C 8024213C 2463FFFB */ addiu $v1, $v1, -5 +/* A2C380 80242140 44831000 */ mtc1 $v1, $f2 +/* A2C384 80242144 00000000 */ nop +/* A2C388 80242148 468010A0 */ cvt.s.w $f2, $f2 +/* A2C38C 8024214C 46002101 */ sub.s $f4, $f4, $f0 +/* A2C390 80242150 E7A20010 */ swc1 $f2, 0x10($sp) +/* A2C394 80242154 C6600094 */ lwc1 $f0, 0x94($s3) +/* A2C398 80242158 46800020 */ cvt.s.w $f0, $f0 +/* A2C39C 8024215C 46040000 */ add.s $f0, $f0, $f4 +/* A2C3A0 80242160 24040001 */ addiu $a0, $zero, 1 +/* A2C3A4 80242164 44073000 */ mfc1 $a3, $f6 +/* A2C3A8 80242168 46044200 */ add.s $f8, $f8, $f4 +/* A2C3AC 8024216C E7A00014 */ swc1 $f0, 0x14($sp) +/* A2C3B0 80242170 8E630098 */ lw $v1, 0x98($s3) +/* A2C3B4 80242174 44064000 */ mfc1 $a2, $f8 +/* A2C3B8 80242178 24020005 */ addiu $v0, $zero, 5 +/* A2C3BC 8024217C AFA20020 */ sw $v0, 0x20($sp) +/* A2C3C0 80242180 24020014 */ addiu $v0, $zero, 0x14 +/* A2C3C4 80242184 AFA0001C */ sw $zero, 0x1c($sp) +/* A2C3C8 80242188 AFA20024 */ sw $v0, 0x24($sp) +/* A2C3CC 8024218C 2463FFE2 */ addiu $v1, $v1, -0x1e +/* A2C3D0 80242190 44830000 */ mtc1 $v1, $f0 +/* A2C3D4 80242194 00000000 */ nop +/* A2C3D8 80242198 46800020 */ cvt.s.w $f0, $f0 +/* A2C3DC 8024219C 0C01C34C */ jal func_80070D30 +/* A2C3E0 802421A0 E7A00018 */ swc1 $f0, 0x18($sp) +.L802421A4: +/* A2C3E4 802421A4 3C038025 */ lui $v1, 0x8025 +/* A2C3E8 802421A8 24639A70 */ addiu $v1, $v1, -0x6590 +/* A2C3EC 802421AC 8C640000 */ lw $a0, ($v1) +/* A2C3F0 802421B0 24840001 */ addiu $a0, $a0, 1 +/* A2C3F4 802421B4 28820029 */ slti $v0, $a0, 0x29 +/* A2C3F8 802421B8 AC640000 */ sw $a0, ($v1) +/* A2C3FC 802421BC 8FBF0038 */ lw $ra, 0x38($sp) +/* A2C400 802421C0 8FB30034 */ lw $s3, 0x34($sp) +/* A2C404 802421C4 8FB20030 */ lw $s2, 0x30($sp) +/* A2C408 802421C8 8FB1002C */ lw $s1, 0x2c($sp) +/* A2C40C 802421CC 8FB00028 */ lw $s0, 0x28($sp) +/* A2C410 802421D0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A2C414 802421D4 38420001 */ xori $v0, $v0, 1 +/* A2C418 802421D8 03E00008 */ jr $ra +/* A2C41C 802421DC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240000_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240000_A394E0.s new file mode 100644 index 0000000000..5facd5d5ab --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240000_A394E0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A394E0 +/* A394E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A394E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A394E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* A394EC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A394F0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A394F4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A394F8 80240018 00621821 */ addu $v1, $v1, $v0 +/* A394FC 8024001C 04610004 */ bgez $v1, .L80240030 +/* A39500 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A39504 80240024 3C020002 */ lui $v0, 2 +/* A39508 80240028 08090010 */ j .L80240040 +/* A3950C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A39510 80240030 3C040002 */ lui $a0, 2 +/* A39514 80240034 0083102A */ slt $v0, $a0, $v1 +/* A39518 80240038 10400002 */ beqz $v0, .L80240044 +/* A3951C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A39520 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A39524 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A39528 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A3952C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A39530 80240050 04610004 */ bgez $v1, .L80240064 +/* A39534 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A39538 80240058 3C020002 */ lui $v0, 2 +/* A3953C 8024005C 0809001D */ j .L80240074 +/* A39540 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A39544 80240064 3C040002 */ lui $a0, 2 +/* A39548 80240068 0083102A */ slt $v0, $a0, $v1 +/* A3954C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A39550 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A39554 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A39558 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A3955C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A39560 80240080 00621821 */ addu $v1, $v1, $v0 +/* A39564 80240084 04610004 */ bgez $v1, .L80240098 +/* A39568 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A3956C 8024008C 3C020002 */ lui $v0, 2 +/* A39570 80240090 0809002A */ j .L802400A8 +/* A39574 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A39578 80240098 3C040002 */ lui $a0, 2 +/* A3957C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A39580 802400A0 10400002 */ beqz $v0, .L802400AC +/* A39584 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A39588 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A3958C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A39590 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A39594 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A39598 802400B8 04610004 */ bgez $v1, .L802400CC +/* A3959C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A395A0 802400C0 3C020002 */ lui $v0, 2 +/* A395A4 802400C4 08090037 */ j .L802400DC +/* A395A8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A395AC 802400CC 3C040002 */ lui $a0, 2 +/* A395B0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A395B4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A395B8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A395BC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A395C0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A395C4 802400E4 0C046F07 */ jal set_main_pan_u +/* A395C8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A395CC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A395D0 802400F0 0C046F0D */ jal set_main_pan_v +/* A395D4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A395D8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A395DC 802400FC 0C046F13 */ jal set_aux_pan_u +/* A395E0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A395E4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A395E8 80240108 0C046F19 */ jal set_aux_pan_v +/* A395EC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A395F0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A395F4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A395F8 80240118 0000102D */ daddu $v0, $zero, $zero +/* A395FC 8024011C 03E00008 */ jr $ra +/* A39600 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240124_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240124_A394E0.s new file mode 100644 index 0000000000..72b91f1316 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240124_A394E0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A39604 +/* A39604 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39608 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A3960C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A39610 80240130 10A00005 */ beqz $a1, .L80240148 +/* A39614 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A39618 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A3961C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A39620 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A39624 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A39628 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A3962C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A39630 80240150 00000000 */ nop +/* A39634 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A39638 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A3963C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A39640 80240160 04610004 */ bgez $v1, .L80240174 +/* A39644 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A39648 80240168 3C020002 */ lui $v0, 2 +/* A3964C 8024016C 08090061 */ j .L80240184 +/* A39650 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A39654 80240174 3C040002 */ lui $a0, 2 +/* A39658 80240178 0083102A */ slt $v0, $a0, $v1 +/* A3965C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A39660 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A39664 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A39668 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A3966C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A39670 80240190 00000000 */ nop +/* A39674 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A39678 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A3967C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A39680 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A39684 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A39688 802401A8 3C020002 */ lui $v0, 2 +/* A3968C 802401AC 08090071 */ j .L802401C4 +/* A39690 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A39694 802401B4 3C040002 */ lui $a0, 2 +/* A39698 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A3969C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A396A0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A396A4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A396A8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A396AC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A396B0 802401D0 00000000 */ nop +/* A396B4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A396B8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A396BC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A396C0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A396C4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A396C8 802401E8 3C020002 */ lui $v0, 2 +/* A396CC 802401EC 08090081 */ j .L80240204 +/* A396D0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A396D4 802401F4 3C040002 */ lui $a0, 2 +/* A396D8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A396DC 802401FC 10400002 */ beqz $v0, .L80240208 +/* A396E0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A396E4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A396E8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A396EC 8024020C 1440000E */ bnez $v0, .L80240248 +/* A396F0 80240210 00000000 */ nop +/* A396F4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A396F8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A396FC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A39700 80240220 04610004 */ bgez $v1, .L80240234 +/* A39704 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A39708 80240228 3C020002 */ lui $v0, 2 +/* A3970C 8024022C 08090091 */ j .L80240244 +/* A39710 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A39714 80240234 3C040002 */ lui $a0, 2 +/* A39718 80240238 0083102A */ slt $v0, $a0, $v1 +/* A3971C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A39720 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A39724 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A39728 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A3972C 8024024C 0C046F07 */ jal set_main_pan_u +/* A39730 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A39734 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A39738 80240258 0C046F0D */ jal set_main_pan_v +/* A3973C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A39740 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A39744 80240264 0C046F13 */ jal set_aux_pan_u +/* A39748 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A3974C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A39750 80240270 0C046F19 */ jal set_aux_pan_v +/* A39754 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A39758 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A3975C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A39760 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A39764 80240284 24420001 */ addiu $v0, $v0, 1 +/* A39768 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A3976C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A39770 80240290 24630001 */ addiu $v1, $v1, 1 +/* A39774 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A39778 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A3977C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A39780 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A39784 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A39788 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A3978C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A39790 802402B0 14600002 */ bnez $v1, .L802402BC +/* A39794 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A39798 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A3979C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A397A0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A397A4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A397A8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A397AC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A397B0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A397B4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A397B8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A397BC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A397C0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A397C4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A397C8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A397CC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A397D0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A397D4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A397D8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A397DC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A397E0 80240300 0000102D */ daddu $v0, $zero, $zero +/* A397E4 80240304 03E00008 */ jr $ra +/* A397E8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A397EC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240310_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240310_A394E0.s new file mode 100644 index 0000000000..7e1dd3382f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240310_A394E0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A397F0 +/* A397F0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A397F4 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* A397F8 80240318 3C108024 */ lui $s0, 0x8024 +/* A397FC 8024031C 26102C08 */ addiu $s0, $s0, 0x2c08 +/* A39800 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* A39804 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* A39808 80240328 8E020000 */ lw $v0, ($s0) +/* A3980C 8024032C 14400010 */ bnez $v0, .L80240370 +/* A39810 80240330 0080882D */ daddu $s1, $a0, $zero +/* A39814 80240334 0C00AB39 */ jal heap_malloc +/* A39818 80240338 24040040 */ addiu $a0, $zero, 0x40 +/* A3981C 8024033C AE020000 */ sw $v0, ($s0) +/* A39820 80240340 0000182D */ daddu $v1, $zero, $zero +/* A39824 80240344 0040282D */ daddu $a1, $v0, $zero +/* A39828 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* A3982C 8024034C 8C820084 */ lw $v0, 0x84($a0) +/* A39830 80240350 24840004 */ addiu $a0, $a0, 4 +/* A39834 80240354 24630001 */ addiu $v1, $v1, 1 +/* A39838 80240358 ACA20000 */ sw $v0, ($a1) +/* A3983C 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* A39840 80240360 1440FFFA */ bnez $v0, .L8024034C +/* A39844 80240364 24A50004 */ addiu $a1, $a1, 4 +/* A39848 80240368 080900EB */ j .L802403AC +/* A3984C 8024036C 00000000 */ nop +.L80240370: +/* A39850 80240370 0000182D */ daddu $v1, $zero, $zero +/* A39854 80240374 0040282D */ daddu $a1, $v0, $zero +/* A39858 80240378 0220202D */ daddu $a0, $s1, $zero +.L8024037C: +/* A3985C 8024037C 8CA20000 */ lw $v0, ($a1) +/* A39860 80240380 24A50004 */ addiu $a1, $a1, 4 +/* A39864 80240384 24630001 */ addiu $v1, $v1, 1 +/* A39868 80240388 AC820084 */ sw $v0, 0x84($a0) +/* A3986C 8024038C 28620010 */ slti $v0, $v1, 0x10 +/* A39870 80240390 1440FFFA */ bnez $v0, .L8024037C +/* A39874 80240394 24840004 */ addiu $a0, $a0, 4 +/* A39878 80240398 3C108024 */ lui $s0, 0x8024 +/* A3987C 8024039C 26102C08 */ addiu $s0, $s0, 0x2c08 +/* A39880 802403A0 0C00AB4B */ jal heap_free +/* A39884 802403A4 8E040000 */ lw $a0, ($s0) +/* A39888 802403A8 AE000000 */ sw $zero, ($s0) +.L802403AC: +/* A3988C 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* A39890 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* A39894 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* A39898 802403B8 24020002 */ addiu $v0, $zero, 2 +/* A3989C 802403BC 03E00008 */ jr $ra +/* A398A0 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802403C4_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_802403C4_A394E0.s new file mode 100644 index 0000000000..4b69f1e5f8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802403C4_A394E0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_A398A4 +/* A398A4 802403C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A398A8 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* A398AC 802403CC 0080802D */ daddu $s0, $a0, $zero +/* A398B0 802403D0 AFBF0018 */ sw $ra, 0x18($sp) +/* A398B4 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* A398B8 802403D8 8E02000C */ lw $v0, 0xc($s0) +/* A398BC 802403DC 8C510000 */ lw $s1, ($v0) +/* A398C0 802403E0 0C0B1EAF */ jal get_variable +/* A398C4 802403E4 0220282D */ daddu $a1, $s1, $zero +/* A398C8 802403E8 3C03FFF0 */ lui $v1, 0xfff0 +/* A398CC 802403EC 3463FFFF */ ori $v1, $v1, 0xffff +/* A398D0 802403F0 0200202D */ daddu $a0, $s0, $zero +/* A398D4 802403F4 00431024 */ and $v0, $v0, $v1 +/* A398D8 802403F8 00021140 */ sll $v0, $v0, 5 +/* A398DC 802403FC 3C068008 */ lui $a2, %hi(gItemTable) +/* A398E0 80240400 00C23021 */ addu $a2, $a2, $v0 +/* A398E4 80240404 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A398E8 80240408 0C0B2026 */ jal set_variable +/* A398EC 8024040C 0220282D */ daddu $a1, $s1, $zero +/* A398F0 80240410 8FBF0018 */ lw $ra, 0x18($sp) +/* A398F4 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* A398F8 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* A398FC 8024041C 24020002 */ addiu $v0, $zero, 2 +/* A39900 80240420 03E00008 */ jr $ra +/* A39904 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240428_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240428_A394E0.s new file mode 100644 index 0000000000..ee6d1d3fd5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240428_A394E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_A39908 +/* A39908 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3990C 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* A39910 80240430 0080882D */ daddu $s1, $a0, $zero +/* A39914 80240434 AFBF0018 */ sw $ra, 0x18($sp) +/* A39918 80240438 AFB00010 */ sw $s0, 0x10($sp) +/* A3991C 8024043C 8E30000C */ lw $s0, 0xc($s1) +/* A39920 80240440 8E050000 */ lw $a1, ($s0) +/* A39924 80240444 0C0B1EAF */ jal get_variable +/* A39928 80240448 26100004 */ addiu $s0, $s0, 4 +/* A3992C 8024044C 0C00EAD2 */ jal get_npc_safe +/* A39930 80240450 0040202D */ daddu $a0, $v0, $zero +/* A39934 80240454 10400005 */ beqz $v0, .L8024046C +/* A39938 80240458 00000000 */ nop +/* A3993C 8024045C 8E050000 */ lw $a1, ($s0) +/* A39940 80240460 844600A8 */ lh $a2, 0xa8($v0) +/* A39944 80240464 0C0B2026 */ jal set_variable +/* A39948 80240468 0220202D */ daddu $a0, $s1, $zero +.L8024046C: +/* A3994C 8024046C 8FBF0018 */ lw $ra, 0x18($sp) +/* A39950 80240470 8FB10014 */ lw $s1, 0x14($sp) +/* A39954 80240474 8FB00010 */ lw $s0, 0x10($sp) +/* A39958 80240478 24020002 */ addiu $v0, $zero, 2 +/* A3995C 8024047C 03E00008 */ jr $ra +/* A39960 80240480 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240484.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240484.s new file mode 100644 index 0000000000..8d4e17ea9a --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240484.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240484 +/* A39964 80240484 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A39968 80240488 AFB10014 */ sw $s1, 0x14($sp) +/* A3996C 8024048C 0080882D */ daddu $s1, $a0, $zero +/* A39970 80240490 AFBF0024 */ sw $ra, 0x24($sp) +/* A39974 80240494 AFB40020 */ sw $s4, 0x20($sp) +/* A39978 80240498 AFB3001C */ sw $s3, 0x1c($sp) +/* A3997C 8024049C AFB20018 */ sw $s2, 0x18($sp) +/* A39980 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* A39984 802404A4 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* A39988 802404A8 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* A3998C 802404AC F7B80038 */ sdc1 $f24, 0x38($sp) +/* A39990 802404B0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A39994 802404B4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A39998 802404B8 8E30000C */ lw $s0, 0xc($s1) +/* A3999C 802404BC 8E130000 */ lw $s3, ($s0) +/* A399A0 802404C0 26100004 */ addiu $s0, $s0, 4 +/* A399A4 802404C4 0C0B1EAF */ jal get_variable +/* A399A8 802404C8 0260282D */ daddu $a1, $s3, $zero +/* A399AC 802404CC 4482E000 */ mtc1 $v0, $f28 +/* A399B0 802404D0 00000000 */ nop +/* A399B4 802404D4 4680E720 */ cvt.s.w $f28, $f28 +/* A399B8 802404D8 8E140000 */ lw $s4, ($s0) +/* A399BC 802404DC 26100004 */ addiu $s0, $s0, 4 +/* A399C0 802404E0 0220202D */ daddu $a0, $s1, $zero +/* A399C4 802404E4 0C0B1EAF */ jal get_variable +/* A399C8 802404E8 0280282D */ daddu $a1, $s4, $zero +/* A399CC 802404EC 4482D000 */ mtc1 $v0, $f26 +/* A399D0 802404F0 00000000 */ nop +/* A399D4 802404F4 4680D6A0 */ cvt.s.w $f26, $f26 +/* A399D8 802404F8 8E100000 */ lw $s0, ($s0) +/* A399DC 802404FC 0220202D */ daddu $a0, $s1, $zero +/* A399E0 80240500 0C0B1EAF */ jal get_variable +/* A399E4 80240504 0200282D */ daddu $a1, $s0, $zero +/* A399E8 80240508 4482C000 */ mtc1 $v0, $f24 +/* A399EC 8024050C 00000000 */ nop +/* A399F0 80240510 4680C620 */ cvt.s.w $f24, $f24 +/* A399F4 80240514 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* A399F8 80240518 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* A399FC 8024051C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A39A00 80240520 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A39A04 80240524 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* A39A08 80240528 44800000 */ mtc1 $zero, $f0 +/* A39A0C 8024052C 00031080 */ sll $v0, $v1, 2 +/* A39A10 80240530 00431021 */ addu $v0, $v0, $v1 +/* A39A14 80240534 00021080 */ sll $v0, $v0, 2 +/* A39A18 80240538 00431023 */ subu $v0, $v0, $v1 +/* A39A1C 8024053C 000218C0 */ sll $v1, $v0, 3 +/* A39A20 80240540 00431021 */ addu $v0, $v0, $v1 +/* A39A24 80240544 000210C0 */ sll $v0, $v0, 3 +/* A39A28 80240548 46001032 */ c.eq.s $f2, $f0 +/* A39A2C 8024054C 3C01800B */ lui $at, 0x800b +/* A39A30 80240550 00220821 */ addu $at, $at, $v0 +/* A39A34 80240554 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* A39A38 80240558 45000005 */ bc1f .L80240570 +/* A39A3C 8024055C 00000000 */ nop +/* A39A40 80240560 3C0142C8 */ lui $at, 0x42c8 +/* A39A44 80240564 44810000 */ mtc1 $at, $f0 +/* A39A48 80240568 08090160 */ j .L80240580 +/* A39A4C 8024056C 4600B581 */ sub.s $f22, $f22, $f0 +.L80240570: +/* A39A50 80240570 3C0142C8 */ lui $at, 0x42c8 +/* A39A54 80240574 44810000 */ mtc1 $at, $f0 +/* A39A58 80240578 00000000 */ nop +/* A39A5C 8024057C 4600B580 */ add.s $f22, $f22, $f0 +.L80240580: +/* A39A60 80240580 0C00A6C9 */ jal clamp_angle +/* A39A64 80240584 4600B306 */ mov.s $f12, $f22 +/* A39A68 80240588 46000586 */ mov.s $f22, $f0 +/* A39A6C 8024058C 3C014170 */ lui $at, 0x4170 +/* A39A70 80240590 4481A000 */ mtc1 $at, $f20 +/* A39A74 80240594 0C00A8BB */ jal sin_deg +/* A39A78 80240598 4600B306 */ mov.s $f12, $f22 +/* A39A7C 8024059C 46140002 */ mul.s $f0, $f0, $f20 +/* A39A80 802405A0 00000000 */ nop +/* A39A84 802405A4 864200B0 */ lh $v0, 0xb0($s2) +/* A39A88 802405A8 3C013F00 */ lui $at, 0x3f00 +/* A39A8C 802405AC 44812000 */ mtc1 $at, $f4 +/* A39A90 802405B0 44821000 */ mtc1 $v0, $f2 +/* A39A94 802405B4 00000000 */ nop +/* A39A98 802405B8 468010A0 */ cvt.s.w $f2, $f2 +/* A39A9C 802405BC 46041082 */ mul.s $f2, $f2, $f4 +/* A39AA0 802405C0 00000000 */ nop +/* A39AA4 802405C4 4600E700 */ add.s $f28, $f28, $f0 +/* A39AA8 802405C8 4602D680 */ add.s $f26, $f26, $f2 +/* A39AAC 802405CC 0C00A8D4 */ jal cos_deg +/* A39AB0 802405D0 4600B306 */ mov.s $f12, $f22 +/* A39AB4 802405D4 46140002 */ mul.s $f0, $f0, $f20 +/* A39AB8 802405D8 00000000 */ nop +/* A39ABC 802405DC 0220202D */ daddu $a0, $s1, $zero +/* A39AC0 802405E0 0260282D */ daddu $a1, $s3, $zero +/* A39AC4 802405E4 4600E18D */ trunc.w.s $f6, $f28 +/* A39AC8 802405E8 44063000 */ mfc1 $a2, $f6 +/* A39ACC 802405EC 0C0B2026 */ jal set_variable +/* A39AD0 802405F0 4600C601 */ sub.s $f24, $f24, $f0 +/* A39AD4 802405F4 0220202D */ daddu $a0, $s1, $zero +/* A39AD8 802405F8 4600D18D */ trunc.w.s $f6, $f26 +/* A39ADC 802405FC 44063000 */ mfc1 $a2, $f6 +/* A39AE0 80240600 0C0B2026 */ jal set_variable +/* A39AE4 80240604 0280282D */ daddu $a1, $s4, $zero +/* A39AE8 80240608 0220202D */ daddu $a0, $s1, $zero +/* A39AEC 8024060C 4600C18D */ trunc.w.s $f6, $f24 +/* A39AF0 80240610 44063000 */ mfc1 $a2, $f6 +/* A39AF4 80240614 0C0B2026 */ jal set_variable +/* A39AF8 80240618 0200282D */ daddu $a1, $s0, $zero +/* A39AFC 8024061C 8FBF0024 */ lw $ra, 0x24($sp) +/* A39B00 80240620 8FB40020 */ lw $s4, 0x20($sp) +/* A39B04 80240624 8FB3001C */ lw $s3, 0x1c($sp) +/* A39B08 80240628 8FB20018 */ lw $s2, 0x18($sp) +/* A39B0C 8024062C 8FB10014 */ lw $s1, 0x14($sp) +/* A39B10 80240630 8FB00010 */ lw $s0, 0x10($sp) +/* A39B14 80240634 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* A39B18 80240638 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* A39B1C 8024063C D7B80038 */ ldc1 $f24, 0x38($sp) +/* A39B20 80240640 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A39B24 80240644 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A39B28 80240648 24020002 */ addiu $v0, $zero, 2 +/* A39B2C 8024064C 03E00008 */ jr $ra +/* A39B30 80240650 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240654_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240654_A394E0.s new file mode 100644 index 0000000000..18b2129f42 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240654_A394E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240654_A39B34 +/* A39B34 80240654 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39B38 80240658 AFBF0010 */ sw $ra, 0x10($sp) +/* A39B3C 8024065C 10A00003 */ beqz $a1, .L8024066C +/* A39B40 80240660 8C86000C */ lw $a2, 0xc($a0) +/* A39B44 80240664 3C018024 */ lui $at, 0x8024 +/* A39B48 80240668 AC202C6C */ sw $zero, 0x2c6c($at) +.L8024066C: +/* A39B4C 8024066C 3C038024 */ lui $v1, 0x8024 +/* A39B50 80240670 24632C6C */ addiu $v1, $v1, 0x2c6c +/* A39B54 80240674 8C620000 */ lw $v0, ($v1) +/* A39B58 80240678 54400003 */ bnel $v0, $zero, .L80240688 +/* A39B5C 8024067C AC600000 */ sw $zero, ($v1) +/* A39B60 80240680 080901A7 */ j .L8024069C +/* A39B64 80240684 0000102D */ daddu $v0, $zero, $zero +.L80240688: +/* A39B68 80240688 8CC50000 */ lw $a1, ($a2) +/* A39B6C 8024068C 3C068024 */ lui $a2, 0x8024 +/* A39B70 80240690 0C0B2026 */ jal set_variable +/* A39B74 80240694 8CC62C70 */ lw $a2, 0x2c70($a2) +/* A39B78 80240698 24020002 */ addiu $v0, $zero, 2 +.L8024069C: +/* A39B7C 8024069C 8FBF0010 */ lw $ra, 0x10($sp) +/* A39B80 802406A0 03E00008 */ jr $ra +/* A39B84 802406A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802406A8.s b/asm/nonmatchings/world/area_hos/hos_06/func_802406A8.s new file mode 100644 index 0000000000..4b92651858 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802406A8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A8 +/* A39B88 802406A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39B8C 802406AC AFBF0010 */ sw $ra, 0x10($sp) +/* A39B90 802406B0 8C82000C */ lw $v0, 0xc($a0) +/* A39B94 802406B4 0C0B1EAF */ jal get_variable +/* A39B98 802406B8 8C450000 */ lw $a1, ($v0) +/* A39B9C 802406BC 3C018024 */ lui $at, 0x8024 +/* A39BA0 802406C0 AC222C70 */ sw $v0, 0x2c70($at) +/* A39BA4 802406C4 24020002 */ addiu $v0, $zero, 2 +/* A39BA8 802406C8 8FBF0010 */ lw $ra, 0x10($sp) +/* A39BAC 802406CC 24030001 */ addiu $v1, $zero, 1 +/* A39BB0 802406D0 3C018024 */ lui $at, 0x8024 +/* A39BB4 802406D4 AC232C6C */ sw $v1, 0x2c6c($at) +/* A39BB8 802406D8 03E00008 */ jr $ra +/* A39BBC 802406DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802406E0_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_802406E0_A394E0.s new file mode 100644 index 0000000000..97460ba2ae --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802406E0_A394E0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_A39BC0 +/* A39BC0 802406E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39BC4 802406E4 AFBF0010 */ sw $ra, 0x10($sp) +/* A39BC8 802406E8 8C82000C */ lw $v0, 0xc($a0) +/* A39BCC 802406EC 0C0B1EAF */ jal get_variable +/* A39BD0 802406F0 8C450000 */ lw $a1, ($v0) +/* A39BD4 802406F4 0040182D */ daddu $v1, $v0, $zero +/* A39BD8 802406F8 10600012 */ beqz $v1, .L80240744 +/* A39BDC 802406FC 0000202D */ daddu $a0, $zero, $zero +/* A39BE0 80240700 8C620000 */ lw $v0, ($v1) +/* A39BE4 80240704 5040000A */ beql $v0, $zero, .L80240730 +/* A39BE8 80240708 00041080 */ sll $v0, $a0, 2 +/* A39BEC 8024070C 3C058024 */ lui $a1, 0x8024 +/* A39BF0 80240710 24A56260 */ addiu $a1, $a1, 0x6260 +.L80240714: +/* A39BF4 80240714 24630004 */ addiu $v1, $v1, 4 +/* A39BF8 80240718 24840001 */ addiu $a0, $a0, 1 +/* A39BFC 8024071C ACA20000 */ sw $v0, ($a1) +/* A39C00 80240720 8C620000 */ lw $v0, ($v1) +/* A39C04 80240724 1440FFFB */ bnez $v0, .L80240714 +/* A39C08 80240728 24A50004 */ addiu $a1, $a1, 4 +/* A39C0C 8024072C 00041080 */ sll $v0, $a0, 2 +.L80240730: +/* A39C10 80240730 3C018024 */ lui $at, 0x8024 +/* A39C14 80240734 00220821 */ addu $at, $at, $v0 +/* A39C18 80240738 AC206260 */ sw $zero, 0x6260($at) +/* A39C1C 8024073C 080901DB */ j .L8024076C +/* A39C20 80240740 00000000 */ nop +.L80240744: +/* A39C24 80240744 3C038024 */ lui $v1, 0x8024 +/* A39C28 80240748 24636260 */ addiu $v1, $v1, 0x6260 +/* A39C2C 8024074C 0060282D */ daddu $a1, $v1, $zero +.L80240750: +/* A39C30 80240750 24820010 */ addiu $v0, $a0, 0x10 +/* A39C34 80240754 AC620000 */ sw $v0, ($v1) +/* A39C38 80240758 24630004 */ addiu $v1, $v1, 4 +/* A39C3C 8024075C 24840001 */ addiu $a0, $a0, 1 +/* A39C40 80240760 28820070 */ slti $v0, $a0, 0x70 +/* A39C44 80240764 1440FFFA */ bnez $v0, .L80240750 +/* A39C48 80240768 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024076C: +/* A39C4C 8024076C 8FBF0010 */ lw $ra, 0x10($sp) +/* A39C50 80240770 24020002 */ addiu $v0, $zero, 2 +/* A39C54 80240774 03E00008 */ jr $ra +/* A39C58 80240778 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_8024077C.s b/asm/nonmatchings/world/area_hos/hos_06/func_8024077C.s new file mode 100644 index 0000000000..9d21977337 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_8024077C.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024077C +/* A39C5C 8024077C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A39C60 80240780 AFB10014 */ sw $s1, 0x14($sp) +/* A39C64 80240784 0080882D */ daddu $s1, $a0, $zero +/* A39C68 80240788 AFBF0018 */ sw $ra, 0x18($sp) +/* A39C6C 8024078C AFB00010 */ sw $s0, 0x10($sp) +/* A39C70 80240790 8E30000C */ lw $s0, 0xc($s1) +/* A39C74 80240794 8E050000 */ lw $a1, ($s0) +/* A39C78 80240798 0C0B1EAF */ jal get_variable +/* A39C7C 8024079C 26100004 */ addiu $s0, $s0, 4 +/* A39C80 802407A0 AE22008C */ sw $v0, 0x8c($s1) +/* A39C84 802407A4 8E050000 */ lw $a1, ($s0) +/* A39C88 802407A8 26100004 */ addiu $s0, $s0, 4 +/* A39C8C 802407AC 0C0B1EAF */ jal get_variable +/* A39C90 802407B0 0220202D */ daddu $a0, $s1, $zero +/* A39C94 802407B4 AE220090 */ sw $v0, 0x90($s1) +/* A39C98 802407B8 8E050000 */ lw $a1, ($s0) +/* A39C9C 802407BC 26100004 */ addiu $s0, $s0, 4 +/* A39CA0 802407C0 0C0B1EAF */ jal get_variable +/* A39CA4 802407C4 0220202D */ daddu $a0, $s1, $zero +/* A39CA8 802407C8 AE220094 */ sw $v0, 0x94($s1) +/* A39CAC 802407CC 8E050000 */ lw $a1, ($s0) +/* A39CB0 802407D0 26100004 */ addiu $s0, $s0, 4 +/* A39CB4 802407D4 0C0B1EAF */ jal get_variable +/* A39CB8 802407D8 0220202D */ daddu $a0, $s1, $zero +/* A39CBC 802407DC AE220098 */ sw $v0, 0x98($s1) +/* A39CC0 802407E0 8E050000 */ lw $a1, ($s0) +/* A39CC4 802407E4 26100004 */ addiu $s0, $s0, 4 +/* A39CC8 802407E8 0C0B1EAF */ jal get_variable +/* A39CCC 802407EC 0220202D */ daddu $a0, $s1, $zero +/* A39CD0 802407F0 AE22009C */ sw $v0, 0x9c($s1) +/* A39CD4 802407F4 8E050000 */ lw $a1, ($s0) +/* A39CD8 802407F8 26100004 */ addiu $s0, $s0, 4 +/* A39CDC 802407FC 0C0B1EAF */ jal get_variable +/* A39CE0 80240800 0220202D */ daddu $a0, $s1, $zero +/* A39CE4 80240804 AE2200A0 */ sw $v0, 0xa0($s1) +/* A39CE8 80240808 8E050000 */ lw $a1, ($s0) +/* A39CEC 8024080C 26100004 */ addiu $s0, $s0, 4 +/* A39CF0 80240810 0C0B1EAF */ jal get_variable +/* A39CF4 80240814 0220202D */ daddu $a0, $s1, $zero +/* A39CF8 80240818 AE2200A4 */ sw $v0, 0xa4($s1) +/* A39CFC 8024081C 8E050000 */ lw $a1, ($s0) +/* A39D00 80240820 26100004 */ addiu $s0, $s0, 4 +/* A39D04 80240824 0C0B1EAF */ jal get_variable +/* A39D08 80240828 0220202D */ daddu $a0, $s1, $zero +/* A39D0C 8024082C AE2200A8 */ sw $v0, 0xa8($s1) +/* A39D10 80240830 8E050000 */ lw $a1, ($s0) +/* A39D14 80240834 26100004 */ addiu $s0, $s0, 4 +/* A39D18 80240838 0C0B1EAF */ jal get_variable +/* A39D1C 8024083C 0220202D */ daddu $a0, $s1, $zero +/* A39D20 80240840 AE2200AC */ sw $v0, 0xac($s1) +/* A39D24 80240844 8E050000 */ lw $a1, ($s0) +/* A39D28 80240848 0C0B1EAF */ jal get_variable +/* A39D2C 8024084C 0220202D */ daddu $a0, $s1, $zero +/* A39D30 80240850 AE2200B0 */ sw $v0, 0xb0($s1) +/* A39D34 80240854 8FBF0018 */ lw $ra, 0x18($sp) +/* A39D38 80240858 8FB10014 */ lw $s1, 0x14($sp) +/* A39D3C 8024085C 8FB00010 */ lw $s0, 0x10($sp) +/* A39D40 80240860 24020002 */ addiu $v0, $zero, 2 +/* A39D44 80240864 03E00008 */ jr $ra +/* A39D48 80240868 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_8024086C.s b/asm/nonmatchings/world/area_hos/hos_06/func_8024086C.s new file mode 100644 index 0000000000..38f352cafa --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_8024086C.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C +/* A39D4C 8024086C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A39D50 80240870 AFB1001C */ sw $s1, 0x1c($sp) +/* A39D54 80240874 0080882D */ daddu $s1, $a0, $zero +/* A39D58 80240878 AFBF0034 */ sw $ra, 0x34($sp) +/* A39D5C 8024087C AFB60030 */ sw $s6, 0x30($sp) +/* A39D60 80240880 AFB5002C */ sw $s5, 0x2c($sp) +/* A39D64 80240884 AFB40028 */ sw $s4, 0x28($sp) +/* A39D68 80240888 AFB30024 */ sw $s3, 0x24($sp) +/* A39D6C 8024088C AFB20020 */ sw $s2, 0x20($sp) +/* A39D70 80240890 AFB00018 */ sw $s0, 0x18($sp) +/* A39D74 80240894 F7B60040 */ sdc1 $f22, 0x40($sp) +/* A39D78 80240898 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A39D7C 8024089C 8E30000C */ lw $s0, 0xc($s1) +/* A39D80 802408A0 8E160000 */ lw $s6, ($s0) +/* A39D84 802408A4 26100004 */ addiu $s0, $s0, 4 +/* A39D88 802408A8 0C0B1EAF */ jal get_variable +/* A39D8C 802408AC 02C0282D */ daddu $a1, $s6, $zero +/* A39D90 802408B0 44820000 */ mtc1 $v0, $f0 +/* A39D94 802408B4 00000000 */ nop +/* A39D98 802408B8 46800020 */ cvt.s.w $f0, $f0 +/* A39D9C 802408BC E7A00010 */ swc1 $f0, 0x10($sp) +/* A39DA0 802408C0 8E140000 */ lw $s4, ($s0) +/* A39DA4 802408C4 26100004 */ addiu $s0, $s0, 4 +/* A39DA8 802408C8 0220202D */ daddu $a0, $s1, $zero +/* A39DAC 802408CC 0C0B1EAF */ jal get_variable +/* A39DB0 802408D0 0280282D */ daddu $a1, $s4, $zero +/* A39DB4 802408D4 0220202D */ daddu $a0, $s1, $zero +/* A39DB8 802408D8 8E150000 */ lw $s5, ($s0) +/* A39DBC 802408DC 4482B000 */ mtc1 $v0, $f22 +/* A39DC0 802408E0 00000000 */ nop +/* A39DC4 802408E4 4680B5A0 */ cvt.s.w $f22, $f22 +/* A39DC8 802408E8 0C0B1EAF */ jal get_variable +/* A39DCC 802408EC 02A0282D */ daddu $a1, $s5, $zero +/* A39DD0 802408F0 2404FFFC */ addiu $a0, $zero, -4 +/* A39DD4 802408F4 44820000 */ mtc1 $v0, $f0 +/* A39DD8 802408F8 00000000 */ nop +/* A39DDC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* A39DE0 80240900 0C00EABB */ jal get_npc_unsafe +/* A39DE4 80240904 E7A00014 */ swc1 $f0, 0x14($sp) +/* A39DE8 80240908 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* A39DEC 8024090C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* A39DF0 80240910 3C014334 */ lui $at, 0x4334 +/* A39DF4 80240914 44816000 */ mtc1 $at, $f12 +/* A39DF8 80240918 00041880 */ sll $v1, $a0, 2 +/* A39DFC 8024091C 00641821 */ addu $v1, $v1, $a0 +/* A39E00 80240920 00031880 */ sll $v1, $v1, 2 +/* A39E04 80240924 00641823 */ subu $v1, $v1, $a0 +/* A39E08 80240928 000320C0 */ sll $a0, $v1, 3 +/* A39E0C 8024092C 00641821 */ addu $v1, $v1, $a0 +/* A39E10 80240930 000318C0 */ sll $v1, $v1, 3 +/* A39E14 80240934 3C01800B */ lui $at, 0x800b +/* A39E18 80240938 00230821 */ addu $at, $at, $v1 +/* A39E1C 8024093C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A39E20 80240940 460C0300 */ add.s $f12, $f0, $f12 +/* A39E24 80240944 0C00A6C9 */ jal clamp_angle +/* A39E28 80240948 0040982D */ daddu $s3, $v0, $zero +/* A39E2C 8024094C 27B00010 */ addiu $s0, $sp, 0x10 +/* A39E30 80240950 0200202D */ daddu $a0, $s0, $zero +/* A39E34 80240954 27B20014 */ addiu $s2, $sp, 0x14 +/* A39E38 80240958 0240282D */ daddu $a1, $s2, $zero +/* A39E3C 8024095C 3C064170 */ lui $a2, 0x4170 +/* A39E40 80240960 8E67000C */ lw $a3, 0xc($s3) +/* A39E44 80240964 0C00A7E7 */ jal add_vec2D_polar +/* A39E48 80240968 46000506 */ mov.s $f20, $f0 +/* A39E4C 8024096C 0200202D */ daddu $a0, $s0, $zero +/* A39E50 80240970 3C064120 */ lui $a2, 0x4120 +/* A39E54 80240974 4407A000 */ mfc1 $a3, $f20 +/* A39E58 80240978 0C00A7E7 */ jal add_vec2D_polar +/* A39E5C 8024097C 0240282D */ daddu $a1, $s2, $zero +/* A39E60 80240980 0220202D */ daddu $a0, $s1, $zero +/* A39E64 80240984 C7A00010 */ lwc1 $f0, 0x10($sp) +/* A39E68 80240988 4600008D */ trunc.w.s $f2, $f0 +/* A39E6C 8024098C 44061000 */ mfc1 $a2, $f2 +/* A39E70 80240990 0C0B2026 */ jal set_variable +/* A39E74 80240994 02C0282D */ daddu $a1, $s6, $zero +/* A39E78 80240998 0220202D */ daddu $a0, $s1, $zero +/* A39E7C 8024099C 4600B08D */ trunc.w.s $f2, $f22 +/* A39E80 802409A0 44061000 */ mfc1 $a2, $f2 +/* A39E84 802409A4 0C0B2026 */ jal set_variable +/* A39E88 802409A8 0280282D */ daddu $a1, $s4, $zero +/* A39E8C 802409AC 0220202D */ daddu $a0, $s1, $zero +/* A39E90 802409B0 C7A00014 */ lwc1 $f0, 0x14($sp) +/* A39E94 802409B4 4600008D */ trunc.w.s $f2, $f0 +/* A39E98 802409B8 44061000 */ mfc1 $a2, $f2 +/* A39E9C 802409BC 0C0B2026 */ jal set_variable +/* A39EA0 802409C0 02A0282D */ daddu $a1, $s5, $zero +/* A39EA4 802409C4 8FBF0034 */ lw $ra, 0x34($sp) +/* A39EA8 802409C8 8FB60030 */ lw $s6, 0x30($sp) +/* A39EAC 802409CC 8FB5002C */ lw $s5, 0x2c($sp) +/* A39EB0 802409D0 8FB40028 */ lw $s4, 0x28($sp) +/* A39EB4 802409D4 8FB30024 */ lw $s3, 0x24($sp) +/* A39EB8 802409D8 8FB20020 */ lw $s2, 0x20($sp) +/* A39EBC 802409DC 8FB1001C */ lw $s1, 0x1c($sp) +/* A39EC0 802409E0 8FB00018 */ lw $s0, 0x18($sp) +/* A39EC4 802409E4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* A39EC8 802409E8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* A39ECC 802409EC 24020002 */ addiu $v0, $zero, 2 +/* A39ED0 802409F0 03E00008 */ jr $ra +/* A39ED4 802409F4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802409F8.s b/asm/nonmatchings/world/area_hos/hos_06/func_802409F8.s new file mode 100644 index 0000000000..0bdfedd421 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802409F8.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F8 +/* A39ED8 802409F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39EDC 802409FC AFB00010 */ sw $s0, 0x10($sp) +/* A39EE0 80240A00 0080802D */ daddu $s0, $a0, $zero +/* A39EE4 80240A04 AFBF0014 */ sw $ra, 0x14($sp) +/* A39EE8 80240A08 0C00EABB */ jal get_npc_unsafe +/* A39EEC 80240A0C 8E04008C */ lw $a0, 0x8c($s0) +/* A39EF0 80240A10 0040282D */ daddu $a1, $v0, $zero +/* A39EF4 80240A14 8E040094 */ lw $a0, 0x94($s0) +/* A39EF8 80240A18 8CA30028 */ lw $v1, 0x28($a1) +/* A39EFC 80240A1C ACA40028 */ sw $a0, 0x28($a1) +/* A39F00 80240A20 8FBF0014 */ lw $ra, 0x14($sp) +/* A39F04 80240A24 8FB00010 */ lw $s0, 0x10($sp) +/* A39F08 80240A28 24020002 */ addiu $v0, $zero, 2 +/* A39F0C 80240A2C 3C018024 */ lui $at, 0x8024 +/* A39F10 80240A30 AC236424 */ sw $v1, 0x6424($at) +/* A39F14 80240A34 03E00008 */ jr $ra +/* A39F18 80240A38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240A3C.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240A3C.s new file mode 100644 index 0000000000..aa54ae55c1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240A3C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A3C +/* A39F1C 80240A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39F20 80240A40 AFBF0010 */ sw $ra, 0x10($sp) +/* A39F24 80240A44 0C00EABB */ jal get_npc_unsafe +/* A39F28 80240A48 8C84008C */ lw $a0, 0x8c($a0) +/* A39F2C 80240A4C 3C038024 */ lui $v1, 0x8024 +/* A39F30 80240A50 8C636424 */ lw $v1, 0x6424($v1) +/* A39F34 80240A54 AC430028 */ sw $v1, 0x28($v0) +/* A39F38 80240A58 8FBF0010 */ lw $ra, 0x10($sp) +/* A39F3C 80240A5C 24020002 */ addiu $v0, $zero, 2 +/* A39F40 80240A60 03E00008 */ jr $ra +/* A39F44 80240A64 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240A68.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240A68.s new file mode 100644 index 0000000000..63e31ed405 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240A68.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A68 +/* A39F48 80240A68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39F4C 80240A6C AFBF0010 */ sw $ra, 0x10($sp) +/* A39F50 80240A70 8C82000C */ lw $v0, 0xc($a0) +/* A39F54 80240A74 3C068011 */ lui $a2, 0x8011 +/* A39F58 80240A78 90C6F29F */ lbu $a2, -0xd61($a2) +/* A39F5C 80240A7C 0C0B2026 */ jal set_variable +/* A39F60 80240A80 8C450000 */ lw $a1, ($v0) +/* A39F64 80240A84 8FBF0010 */ lw $ra, 0x10($sp) +/* A39F68 80240A88 24020002 */ addiu $v0, $zero, 2 +/* A39F6C 80240A8C 03E00008 */ jr $ra +/* A39F70 80240A90 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240A94.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240A94.s new file mode 100644 index 0000000000..8213f90393 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240A94.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A94 +/* A39F74 80240A94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A39F78 80240A98 AFBF0010 */ sw $ra, 0x10($sp) +/* A39F7C 80240A9C 8C82000C */ lw $v0, 0xc($a0) +/* A39F80 80240AA0 0C0B1EAF */ jal get_variable +/* A39F84 80240AA4 8C450000 */ lw $a1, ($v0) +/* A39F88 80240AA8 3C05F840 */ lui $a1, 0xf840 +/* A39F8C 80240AAC 34A5626B */ ori $a1, $a1, 0x626b +/* A39F90 80240AB0 0000202D */ daddu $a0, $zero, $zero +/* A39F94 80240AB4 00452821 */ addu $a1, $v0, $a1 +/* A39F98 80240AB8 0C0B2026 */ jal set_variable +/* A39F9C 80240ABC 24060001 */ addiu $a2, $zero, 1 +/* A39FA0 80240AC0 8FBF0010 */ lw $ra, 0x10($sp) +/* A39FA4 80240AC4 24020002 */ addiu $v0, $zero, 2 +/* A39FA8 80240AC8 03E00008 */ jr $ra +/* A39FAC 80240ACC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240AD0_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240AD0_A394E0.s new file mode 100644 index 0000000000..c5ce7fa7f1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240AD0_A394E0.s @@ -0,0 +1,166 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD0_A39FB0 +/* A39FB0 80240AD0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A39FB4 80240AD4 AFB3001C */ sw $s3, 0x1c($sp) +/* A39FB8 80240AD8 0080982D */ daddu $s3, $a0, $zero +/* A39FBC 80240ADC AFB60028 */ sw $s6, 0x28($sp) +/* A39FC0 80240AE0 3C168011 */ lui $s6, %hi(gPlayerData) +/* A39FC4 80240AE4 26D6F290 */ addiu $s6, $s6, %lo(gPlayerData) +/* A39FC8 80240AE8 AFBF0034 */ sw $ra, 0x34($sp) +/* A39FCC 80240AEC AFBE0030 */ sw $fp, 0x30($sp) +/* A39FD0 80240AF0 AFB7002C */ sw $s7, 0x2c($sp) +/* A39FD4 80240AF4 AFB50024 */ sw $s5, 0x24($sp) +/* A39FD8 80240AF8 AFB40020 */ sw $s4, 0x20($sp) +/* A39FDC 80240AFC AFB20018 */ sw $s2, 0x18($sp) +/* A39FE0 80240B00 AFB10014 */ sw $s1, 0x14($sp) +/* A39FE4 80240B04 10A0003E */ beqz $a1, .L80240C00 +/* A39FE8 80240B08 AFB00010 */ sw $s0, 0x10($sp) +/* A39FEC 80240B0C 0C00AB39 */ jal heap_malloc +/* A39FF0 80240B10 24040330 */ addiu $a0, $zero, 0x330 +/* A39FF4 80240B14 AE620078 */ sw $v0, 0x78($s3) +/* A39FF8 80240B18 0040A82D */ daddu $s5, $v0, $zero +/* A39FFC 80240B1C 0000A02D */ daddu $s4, $zero, $zero +/* A3A000 80240B20 0280902D */ daddu $s2, $s4, $zero +/* A3A004 80240B24 3C17F840 */ lui $s7, 0xf840 +/* A3A008 80240B28 36F7626B */ ori $s7, $s7, 0x626b +/* A3A00C 80240B2C 3C1E8009 */ lui $fp, 0x8009 +/* A3A010 80240B30 27DEA680 */ addiu $fp, $fp, -0x5980 +/* A3A014 80240B34 3C118024 */ lui $s1, 0x8024 +/* A3A018 80240B38 263135EC */ addiu $s1, $s1, 0x35ec +/* A3A01C 80240B3C 02A0802D */ daddu $s0, $s5, $zero +.L80240B40: +/* A3A020 80240B40 0000202D */ daddu $a0, $zero, $zero +/* A3A024 80240B44 0C0B1EAF */ jal get_variable +/* A3A028 80240B48 02572821 */ addu $a1, $s2, $s7 +/* A3A02C 80240B4C 54400022 */ bnel $v0, $zero, .L80240BD8 +/* A3A030 80240B50 26520001 */ addiu $s2, $s2, 1 +/* A3A034 80240B54 8E220000 */ lw $v0, ($s1) +/* A3A038 80240B58 3C068008 */ lui $a2, %hi(gItemTable) +/* A3A03C 80240B5C 24C678E0 */ addiu $a2, $a2, %lo(gItemTable) +/* A3A040 80240B60 00021140 */ sll $v0, $v0, 5 +/* A3A044 80240B64 00461021 */ addu $v0, $v0, $a2 +/* A3A048 80240B68 84430004 */ lh $v1, 4($v0) +/* A3A04C 80240B6C AE120108 */ sw $s2, 0x108($s0) +/* A3A050 80240B70 8C420000 */ lw $v0, ($v0) +/* A3A054 80240B74 000318C0 */ sll $v1, $v1, 3 +/* A3A058 80240B78 007E2021 */ addu $a0, $v1, $fp +/* A3A05C 80240B7C AE020084 */ sw $v0, 0x84($s0) +/* A3A060 80240B80 8C820000 */ lw $v0, ($a0) +/* A3A064 80240B84 AE020000 */ sw $v0, ($s0) +/* A3A068 80240B88 92C2000F */ lbu $v0, 0xf($s6) +/* A3A06C 80240B8C 8E230004 */ lw $v1, 4($s1) +/* A3A070 80240B90 0043102A */ slt $v0, $v0, $v1 +/* A3A074 80240B94 38420001 */ xori $v0, $v0, 1 +/* A3A078 80240B98 AE02018C */ sw $v0, 0x18c($s0) +/* A3A07C 80240B9C 92C2000F */ lbu $v0, 0xf($s6) +/* A3A080 80240BA0 8E230004 */ lw $v1, 4($s1) +/* A3A084 80240BA4 0043102A */ slt $v0, $v0, $v1 +/* A3A088 80240BA8 10400004 */ beqz $v0, .L80240BBC +/* A3A08C 80240BAC 00000000 */ nop +/* A3A090 80240BB0 8C820004 */ lw $v0, 4($a0) +/* A3A094 80240BB4 AE00018C */ sw $zero, 0x18c($s0) +/* A3A098 80240BB8 AE020000 */ sw $v0, ($s0) +.L80240BBC: +/* A3A09C 80240BBC 8E220008 */ lw $v0, 8($s1) +/* A3A0A0 80240BC0 AE020294 */ sw $v0, 0x294($s0) +/* A3A0A4 80240BC4 8E220004 */ lw $v0, 4($s1) +/* A3A0A8 80240BC8 26940001 */ addiu $s4, $s4, 1 +/* A3A0AC 80240BCC AE020210 */ sw $v0, 0x210($s0) +/* A3A0B0 80240BD0 26100004 */ addiu $s0, $s0, 4 +/* A3A0B4 80240BD4 26520001 */ addiu $s2, $s2, 1 +.L80240BD8: +/* A3A0B8 80240BD8 2A42000F */ slti $v0, $s2, 0xf +/* A3A0BC 80240BDC 1440FFD8 */ bnez $v0, .L80240B40 +/* A3A0C0 80240BE0 2631000C */ addiu $s1, $s1, 0xc +/* A3A0C4 80240BE4 02A0202D */ daddu $a0, $s5, $zero +/* A3A0C8 80240BE8 24020003 */ addiu $v0, $zero, 3 +/* A3A0CC 80240BEC AC820318 */ sw $v0, 0x318($a0) +/* A3A0D0 80240BF0 AC940324 */ sw $s4, 0x324($a0) +/* A3A0D4 80240BF4 0C03D390 */ jal func_800F4E40 +/* A3A0D8 80240BF8 AC800328 */ sw $zero, 0x328($a0) +/* A3A0DC 80240BFC AE600070 */ sw $zero, 0x70($s3) +.L80240C00: +/* A3A0E0 80240C00 8E620070 */ lw $v0, 0x70($s3) +/* A3A0E4 80240C04 8E750078 */ lw $s5, 0x78($s3) +/* A3A0E8 80240C08 14400008 */ bnez $v0, .L80240C2C +/* A3A0EC 80240C0C 24420001 */ addiu $v0, $v0, 1 +/* A3A0F0 80240C10 86A2032C */ lh $v0, 0x32c($s5) +/* A3A0F4 80240C14 10400009 */ beqz $v0, .L80240C3C +/* A3A0F8 80240C18 AE620074 */ sw $v0, 0x74($s3) +/* A3A0FC 80240C1C 0C03C4EC */ jal func_800F13B0 +/* A3A100 80240C20 00000000 */ nop +/* A3A104 80240C24 8E620070 */ lw $v0, 0x70($s3) +/* A3A108 80240C28 24420001 */ addiu $v0, $v0, 1 +.L80240C2C: +/* A3A10C 80240C2C AE620070 */ sw $v0, 0x70($s3) +/* A3A110 80240C30 28420014 */ slti $v0, $v0, 0x14 +/* A3A114 80240C34 10400003 */ beqz $v0, .L80240C44 +/* A3A118 80240C38 00000000 */ nop +.L80240C3C: +/* A3A11C 80240C3C 0809033D */ j .L80240CF4 +/* A3A120 80240C40 0000102D */ daddu $v0, $zero, $zero +.L80240C44: +/* A3A124 80240C44 0C03C54E */ jal func_800F1538 +/* A3A128 80240C48 00000000 */ nop +/* A3A12C 80240C4C 8E630074 */ lw $v1, 0x74($s3) +/* A3A130 80240C50 240200FF */ addiu $v0, $zero, 0xff +/* A3A134 80240C54 10620022 */ beq $v1, $v0, .L80240CE0 +/* A3A138 80240C58 2462FFFF */ addiu $v0, $v1, -1 +/* A3A13C 80240C5C 00021080 */ sll $v0, $v0, 2 +/* A3A140 80240C60 02A21021 */ addu $v0, $s5, $v0 +/* A3A144 80240C64 8C520108 */ lw $s2, 0x108($v0) +/* A3A148 80240C68 3C028024 */ lui $v0, 0x8024 +/* A3A14C 80240C6C 244235EC */ addiu $v0, $v0, 0x35ec +/* A3A150 80240C70 00121840 */ sll $v1, $s2, 1 +/* A3A154 80240C74 00721821 */ addu $v1, $v1, $s2 +/* A3A158 80240C78 00031880 */ sll $v1, $v1, 2 +/* A3A15C 80240C7C 00621821 */ addu $v1, $v1, $v0 +/* A3A160 80240C80 8C620000 */ lw $v0, ($v1) +/* A3A164 80240C84 AE620084 */ sw $v0, 0x84($s3) +/* A3A168 80240C88 8C620004 */ lw $v0, 4($v1) +/* A3A16C 80240C8C AE72008C */ sw $s2, 0x8c($s3) +/* A3A170 80240C90 AE620088 */ sw $v0, 0x88($s3) +/* A3A174 80240C94 8C620000 */ lw $v0, ($v1) +/* A3A178 80240C98 00021140 */ sll $v0, $v0, 5 +/* A3A17C 80240C9C 3C018008 */ lui $at, 0x8008 +/* A3A180 80240CA0 00220821 */ addu $at, $at, $v0 +/* A3A184 80240CA4 8C2278E0 */ lw $v0, 0x78e0($at) +/* A3A188 80240CA8 AE620094 */ sw $v0, 0x94($s3) +/* A3A18C 80240CAC 8C620000 */ lw $v0, ($v1) +/* A3A190 80240CB0 00021140 */ sll $v0, $v0, 5 +/* A3A194 80240CB4 3C038008 */ lui $v1, 0x8008 +/* A3A198 80240CB8 00621821 */ addu $v1, $v1, $v0 +/* A3A19C 80240CBC 906378FA */ lbu $v1, 0x78fa($v1) +/* A3A1A0 80240CC0 00031080 */ sll $v0, $v1, 2 +/* A3A1A4 80240CC4 00431021 */ addu $v0, $v0, $v1 +/* A3A1A8 80240CC8 00021080 */ sll $v0, $v0, 2 +/* A3A1AC 80240CCC 3C018009 */ lui $at, 0x8009 +/* A3A1B0 80240CD0 00220821 */ addu $at, $at, $v0 +/* A3A1B4 80240CD4 8022F072 */ lb $v0, -0xf8e($at) +/* A3A1B8 80240CD8 0809033A */ j .L80240CE8 +/* A3A1BC 80240CDC AE620098 */ sw $v0, 0x98($s3) +.L80240CE0: +/* A3A1C0 80240CE0 2402FFFF */ addiu $v0, $zero, -1 +/* A3A1C4 80240CE4 AE620084 */ sw $v0, 0x84($s3) +.L80240CE8: +/* A3A1C8 80240CE8 0C00AB4B */ jal heap_free +/* A3A1CC 80240CEC 8E640078 */ lw $a0, 0x78($s3) +/* A3A1D0 80240CF0 24020002 */ addiu $v0, $zero, 2 +.L80240CF4: +/* A3A1D4 80240CF4 8FBF0034 */ lw $ra, 0x34($sp) +/* A3A1D8 80240CF8 8FBE0030 */ lw $fp, 0x30($sp) +/* A3A1DC 80240CFC 8FB7002C */ lw $s7, 0x2c($sp) +/* A3A1E0 80240D00 8FB60028 */ lw $s6, 0x28($sp) +/* A3A1E4 80240D04 8FB50024 */ lw $s5, 0x24($sp) +/* A3A1E8 80240D08 8FB40020 */ lw $s4, 0x20($sp) +/* A3A1EC 80240D0C 8FB3001C */ lw $s3, 0x1c($sp) +/* A3A1F0 80240D10 8FB20018 */ lw $s2, 0x18($sp) +/* A3A1F4 80240D14 8FB10014 */ lw $s1, 0x14($sp) +/* A3A1F8 80240D18 8FB00010 */ lw $s0, 0x10($sp) +/* A3A1FC 80240D1C 03E00008 */ jr $ra +/* A3A200 80240D20 27BD0038 */ addiu $sp, $sp, 0x38 +/* A3A204 80240D24 00000000 */ nop +/* A3A208 80240D28 00000000 */ nop +/* A3A20C 80240D2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240D30_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240D30_A394E0.s new file mode 100644 index 0000000000..b7c87f5a6d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240D30_A394E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30_A3A210 +/* A3A210 80240D30 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* A3A214 80240D34 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* A3A218 80240D38 8442008E */ lh $v0, 0x8e($v0) +/* A3A21C 80240D3C AC820084 */ sw $v0, 0x84($a0) +/* A3A220 80240D40 03E00008 */ jr $ra +/* A3A224 80240D44 24020002 */ addiu $v0, $zero, 2 +/* A3A228 80240D48 00000000 */ nop +/* A3A22C 80240D4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240D50.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240D50.s new file mode 100644 index 0000000000..ede83b69de --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240D50.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D50 +/* A3A230 80240D50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3A234 80240D54 AFB10014 */ sw $s1, 0x14($sp) +/* A3A238 80240D58 0080882D */ daddu $s1, $a0, $zero +/* A3A23C 80240D5C AFBF0018 */ sw $ra, 0x18($sp) +/* A3A240 80240D60 AFB00010 */ sw $s0, 0x10($sp) +/* A3A244 80240D64 8E30000C */ lw $s0, 0xc($s1) +/* A3A248 80240D68 8E050000 */ lw $a1, ($s0) +/* A3A24C 80240D6C 0C0B1EAF */ jal get_variable +/* A3A250 80240D70 26100004 */ addiu $s0, $s0, 4 +/* A3A254 80240D74 0C00EAD2 */ jal get_npc_safe +/* A3A258 80240D78 0040202D */ daddu $a0, $v0, $zero +/* A3A25C 80240D7C 10400005 */ beqz $v0, .L80240D94 +/* A3A260 80240D80 00000000 */ nop +/* A3A264 80240D84 8E050000 */ lw $a1, ($s0) +/* A3A268 80240D88 844600A8 */ lh $a2, 0xa8($v0) +/* A3A26C 80240D8C 0C0B2026 */ jal set_variable +/* A3A270 80240D90 0220202D */ daddu $a0, $s1, $zero +.L80240D94: +/* A3A274 80240D94 8FBF0018 */ lw $ra, 0x18($sp) +/* A3A278 80240D98 8FB10014 */ lw $s1, 0x14($sp) +/* A3A27C 80240D9C 8FB00010 */ lw $s0, 0x10($sp) +/* A3A280 80240DA0 24020002 */ addiu $v0, $zero, 2 +/* A3A284 80240DA4 03E00008 */ jr $ra +/* A3A288 80240DA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240DAC.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240DAC.s new file mode 100644 index 0000000000..266ebfdea8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240DAC.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DAC +/* A3A28C 80240DAC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A3A290 80240DB0 AFB10014 */ sw $s1, 0x14($sp) +/* A3A294 80240DB4 0080882D */ daddu $s1, $a0, $zero +/* A3A298 80240DB8 AFBF0024 */ sw $ra, 0x24($sp) +/* A3A29C 80240DBC AFB40020 */ sw $s4, 0x20($sp) +/* A3A2A0 80240DC0 AFB3001C */ sw $s3, 0x1c($sp) +/* A3A2A4 80240DC4 AFB20018 */ sw $s2, 0x18($sp) +/* A3A2A8 80240DC8 AFB00010 */ sw $s0, 0x10($sp) +/* A3A2AC 80240DCC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* A3A2B0 80240DD0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* A3A2B4 80240DD4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* A3A2B8 80240DD8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A3A2BC 80240DDC F7B40028 */ sdc1 $f20, 0x28($sp) +/* A3A2C0 80240DE0 8E30000C */ lw $s0, 0xc($s1) +/* A3A2C4 80240DE4 8E130000 */ lw $s3, ($s0) +/* A3A2C8 80240DE8 26100004 */ addiu $s0, $s0, 4 +/* A3A2CC 80240DEC 0C0B1EAF */ jal get_variable +/* A3A2D0 80240DF0 0260282D */ daddu $a1, $s3, $zero +/* A3A2D4 80240DF4 4482E000 */ mtc1 $v0, $f28 +/* A3A2D8 80240DF8 00000000 */ nop +/* A3A2DC 80240DFC 4680E720 */ cvt.s.w $f28, $f28 +/* A3A2E0 80240E00 8E140000 */ lw $s4, ($s0) +/* A3A2E4 80240E04 26100004 */ addiu $s0, $s0, 4 +/* A3A2E8 80240E08 0220202D */ daddu $a0, $s1, $zero +/* A3A2EC 80240E0C 0C0B1EAF */ jal get_variable +/* A3A2F0 80240E10 0280282D */ daddu $a1, $s4, $zero +/* A3A2F4 80240E14 4482D000 */ mtc1 $v0, $f26 +/* A3A2F8 80240E18 00000000 */ nop +/* A3A2FC 80240E1C 4680D6A0 */ cvt.s.w $f26, $f26 +/* A3A300 80240E20 8E100000 */ lw $s0, ($s0) +/* A3A304 80240E24 0220202D */ daddu $a0, $s1, $zero +/* A3A308 80240E28 0C0B1EAF */ jal get_variable +/* A3A30C 80240E2C 0200282D */ daddu $a1, $s0, $zero +/* A3A310 80240E30 4482C000 */ mtc1 $v0, $f24 +/* A3A314 80240E34 00000000 */ nop +/* A3A318 80240E38 4680C620 */ cvt.s.w $f24, $f24 +/* A3A31C 80240E3C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* A3A320 80240E40 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* A3A324 80240E44 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A3A328 80240E48 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A3A32C 80240E4C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* A3A330 80240E50 44800000 */ mtc1 $zero, $f0 +/* A3A334 80240E54 00031080 */ sll $v0, $v1, 2 +/* A3A338 80240E58 00431021 */ addu $v0, $v0, $v1 +/* A3A33C 80240E5C 00021080 */ sll $v0, $v0, 2 +/* A3A340 80240E60 00431023 */ subu $v0, $v0, $v1 +/* A3A344 80240E64 000218C0 */ sll $v1, $v0, 3 +/* A3A348 80240E68 00431021 */ addu $v0, $v0, $v1 +/* A3A34C 80240E6C 000210C0 */ sll $v0, $v0, 3 +/* A3A350 80240E70 46001032 */ c.eq.s $f2, $f0 +/* A3A354 80240E74 3C01800B */ lui $at, 0x800b +/* A3A358 80240E78 00220821 */ addu $at, $at, $v0 +/* A3A35C 80240E7C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* A3A360 80240E80 45000005 */ bc1f .L80240E98 +/* A3A364 80240E84 00000000 */ nop +/* A3A368 80240E88 3C0142C8 */ lui $at, 0x42c8 +/* A3A36C 80240E8C 44810000 */ mtc1 $at, $f0 +/* A3A370 80240E90 080903AA */ j .L80240EA8 +/* A3A374 80240E94 4600B581 */ sub.s $f22, $f22, $f0 +.L80240E98: +/* A3A378 80240E98 3C0142C8 */ lui $at, 0x42c8 +/* A3A37C 80240E9C 44810000 */ mtc1 $at, $f0 +/* A3A380 80240EA0 00000000 */ nop +/* A3A384 80240EA4 4600B580 */ add.s $f22, $f22, $f0 +.L80240EA8: +/* A3A388 80240EA8 0C00A6C9 */ jal clamp_angle +/* A3A38C 80240EAC 4600B306 */ mov.s $f12, $f22 +/* A3A390 80240EB0 46000586 */ mov.s $f22, $f0 +/* A3A394 80240EB4 3C014170 */ lui $at, 0x4170 +/* A3A398 80240EB8 4481A000 */ mtc1 $at, $f20 +/* A3A39C 80240EBC 0C00A8BB */ jal sin_deg +/* A3A3A0 80240EC0 4600B306 */ mov.s $f12, $f22 +/* A3A3A4 80240EC4 46140002 */ mul.s $f0, $f0, $f20 +/* A3A3A8 80240EC8 00000000 */ nop +/* A3A3AC 80240ECC 864200B0 */ lh $v0, 0xb0($s2) +/* A3A3B0 80240ED0 3C013F00 */ lui $at, 0x3f00 +/* A3A3B4 80240ED4 44812000 */ mtc1 $at, $f4 +/* A3A3B8 80240ED8 44821000 */ mtc1 $v0, $f2 +/* A3A3BC 80240EDC 00000000 */ nop +/* A3A3C0 80240EE0 468010A0 */ cvt.s.w $f2, $f2 +/* A3A3C4 80240EE4 46041082 */ mul.s $f2, $f2, $f4 +/* A3A3C8 80240EE8 00000000 */ nop +/* A3A3CC 80240EEC 4600E700 */ add.s $f28, $f28, $f0 +/* A3A3D0 80240EF0 4602D680 */ add.s $f26, $f26, $f2 +/* A3A3D4 80240EF4 0C00A8D4 */ jal cos_deg +/* A3A3D8 80240EF8 4600B306 */ mov.s $f12, $f22 +/* A3A3DC 80240EFC 46140002 */ mul.s $f0, $f0, $f20 +/* A3A3E0 80240F00 00000000 */ nop +/* A3A3E4 80240F04 0220202D */ daddu $a0, $s1, $zero +/* A3A3E8 80240F08 0260282D */ daddu $a1, $s3, $zero +/* A3A3EC 80240F0C 4600E18D */ trunc.w.s $f6, $f28 +/* A3A3F0 80240F10 44063000 */ mfc1 $a2, $f6 +/* A3A3F4 80240F14 0C0B2026 */ jal set_variable +/* A3A3F8 80240F18 4600C601 */ sub.s $f24, $f24, $f0 +/* A3A3FC 80240F1C 0220202D */ daddu $a0, $s1, $zero +/* A3A400 80240F20 4600D18D */ trunc.w.s $f6, $f26 +/* A3A404 80240F24 44063000 */ mfc1 $a2, $f6 +/* A3A408 80240F28 0C0B2026 */ jal set_variable +/* A3A40C 80240F2C 0280282D */ daddu $a1, $s4, $zero +/* A3A410 80240F30 0220202D */ daddu $a0, $s1, $zero +/* A3A414 80240F34 4600C18D */ trunc.w.s $f6, $f24 +/* A3A418 80240F38 44063000 */ mfc1 $a2, $f6 +/* A3A41C 80240F3C 0C0B2026 */ jal set_variable +/* A3A420 80240F40 0200282D */ daddu $a1, $s0, $zero +/* A3A424 80240F44 8FBF0024 */ lw $ra, 0x24($sp) +/* A3A428 80240F48 8FB40020 */ lw $s4, 0x20($sp) +/* A3A42C 80240F4C 8FB3001C */ lw $s3, 0x1c($sp) +/* A3A430 80240F50 8FB20018 */ lw $s2, 0x18($sp) +/* A3A434 80240F54 8FB10014 */ lw $s1, 0x14($sp) +/* A3A438 80240F58 8FB00010 */ lw $s0, 0x10($sp) +/* A3A43C 80240F5C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* A3A440 80240F60 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* A3A444 80240F64 D7B80038 */ ldc1 $f24, 0x38($sp) +/* A3A448 80240F68 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A3A44C 80240F6C D7B40028 */ ldc1 $f20, 0x28($sp) +/* A3A450 80240F70 24020002 */ addiu $v0, $zero, 2 +/* A3A454 80240F74 03E00008 */ jr $ra +/* A3A458 80240F78 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240F7C.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240F7C.s new file mode 100644 index 0000000000..579d27d0f5 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240F7C.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C +/* A3A45C 80240F7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3A460 80240F80 AFBF0010 */ sw $ra, 0x10($sp) +/* A3A464 80240F84 10A00003 */ beqz $a1, .L80240F94 +/* A3A468 80240F88 8C86000C */ lw $a2, 0xc($a0) +/* A3A46C 80240F8C 3C018024 */ lui $at, 0x8024 +/* A3A470 80240F90 AC2045D0 */ sw $zero, 0x45d0($at) +.L80240F94: +/* A3A474 80240F94 3C038024 */ lui $v1, 0x8024 +/* A3A478 80240F98 246345D0 */ addiu $v1, $v1, 0x45d0 +/* A3A47C 80240F9C 8C620000 */ lw $v0, ($v1) +/* A3A480 80240FA0 54400003 */ bnel $v0, $zero, .L80240FB0 +/* A3A484 80240FA4 AC600000 */ sw $zero, ($v1) +/* A3A488 80240FA8 080903F1 */ j .L80240FC4 +/* A3A48C 80240FAC 0000102D */ daddu $v0, $zero, $zero +.L80240FB0: +/* A3A490 80240FB0 8CC50000 */ lw $a1, ($a2) +/* A3A494 80240FB4 3C068024 */ lui $a2, 0x8024 +/* A3A498 80240FB8 0C0B2026 */ jal set_variable +/* A3A49C 80240FBC 8CC645D4 */ lw $a2, 0x45d4($a2) +/* A3A4A0 80240FC0 24020002 */ addiu $v0, $zero, 2 +.L80240FC4: +/* A3A4A4 80240FC4 8FBF0010 */ lw $ra, 0x10($sp) +/* A3A4A8 80240FC8 03E00008 */ jr $ra +/* A3A4AC 80240FCC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80240FD0_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80240FD0_A394E0.s new file mode 100644 index 0000000000..5f64815a23 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80240FD0_A394E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD0_A3A4B0 +/* A3A4B0 80240FD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3A4B4 80240FD4 AFBF0010 */ sw $ra, 0x10($sp) +/* A3A4B8 80240FD8 8C82000C */ lw $v0, 0xc($a0) +/* A3A4BC 80240FDC 0C0B1EAF */ jal get_variable +/* A3A4C0 80240FE0 8C450000 */ lw $a1, ($v0) +/* A3A4C4 80240FE4 3C018024 */ lui $at, 0x8024 +/* A3A4C8 80240FE8 AC2245D4 */ sw $v0, 0x45d4($at) +/* A3A4CC 80240FEC 24020002 */ addiu $v0, $zero, 2 +/* A3A4D0 80240FF0 8FBF0010 */ lw $ra, 0x10($sp) +/* A3A4D4 80240FF4 24030001 */ addiu $v1, $zero, 1 +/* A3A4D8 80240FF8 3C018024 */ lui $at, 0x8024 +/* A3A4DC 80240FFC AC2345D0 */ sw $v1, 0x45d0($at) +/* A3A4E0 80241000 03E00008 */ jr $ra +/* A3A4E4 80241004 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241008.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241008.s new file mode 100644 index 0000000000..31e5ffb863 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241008.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241008 +/* A3A4E8 80241008 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3A4EC 8024100C AFBF0010 */ sw $ra, 0x10($sp) +/* A3A4F0 80241010 8C82000C */ lw $v0, 0xc($a0) +/* A3A4F4 80241014 0C0B1EAF */ jal get_variable +/* A3A4F8 80241018 8C450000 */ lw $a1, ($v0) +/* A3A4FC 8024101C 0040182D */ daddu $v1, $v0, $zero +/* A3A500 80241020 10600012 */ beqz $v1, .L8024106C +/* A3A504 80241024 0000202D */ daddu $a0, $zero, $zero +/* A3A508 80241028 8C620000 */ lw $v0, ($v1) +/* A3A50C 8024102C 5040000A */ beql $v0, $zero, .L80241058 +/* A3A510 80241030 00041080 */ sll $v0, $a0, 2 +/* A3A514 80241034 3C058024 */ lui $a1, 0x8024 +/* A3A518 80241038 24A56430 */ addiu $a1, $a1, 0x6430 +.L8024103C: +/* A3A51C 8024103C 24630004 */ addiu $v1, $v1, 4 +/* A3A520 80241040 24840001 */ addiu $a0, $a0, 1 +/* A3A524 80241044 ACA20000 */ sw $v0, ($a1) +/* A3A528 80241048 8C620000 */ lw $v0, ($v1) +/* A3A52C 8024104C 1440FFFB */ bnez $v0, .L8024103C +/* A3A530 80241050 24A50004 */ addiu $a1, $a1, 4 +/* A3A534 80241054 00041080 */ sll $v0, $a0, 2 +.L80241058: +/* A3A538 80241058 3C018024 */ lui $at, 0x8024 +/* A3A53C 8024105C 00220821 */ addu $at, $at, $v0 +/* A3A540 80241060 AC206430 */ sw $zero, 0x6430($at) +/* A3A544 80241064 08090425 */ j .L80241094 +/* A3A548 80241068 00000000 */ nop +.L8024106C: +/* A3A54C 8024106C 3C038024 */ lui $v1, 0x8024 +/* A3A550 80241070 24636430 */ addiu $v1, $v1, 0x6430 +/* A3A554 80241074 0060282D */ daddu $a1, $v1, $zero +.L80241078: +/* A3A558 80241078 24820010 */ addiu $v0, $a0, 0x10 +/* A3A55C 8024107C AC620000 */ sw $v0, ($v1) +/* A3A560 80241080 24630004 */ addiu $v1, $v1, 4 +/* A3A564 80241084 24840001 */ addiu $a0, $a0, 1 +/* A3A568 80241088 28820070 */ slti $v0, $a0, 0x70 +/* A3A56C 8024108C 1440FFFA */ bnez $v0, .L80241078 +/* A3A570 80241090 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241094: +/* A3A574 80241094 8FBF0010 */ lw $ra, 0x10($sp) +/* A3A578 80241098 24020002 */ addiu $v0, $zero, 2 +/* A3A57C 8024109C 03E00008 */ jr $ra +/* A3A580 802410A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802410A4.s b/asm/nonmatchings/world/area_hos/hos_06/func_802410A4.s new file mode 100644 index 0000000000..99c7fd1cd6 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802410A4.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410A4 +/* A3A584 802410A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3A588 802410A8 AFB00010 */ sw $s0, 0x10($sp) +/* A3A58C 802410AC 3C108024 */ lui $s0, 0x8024 +/* A3A590 802410B0 2610476C */ addiu $s0, $s0, 0x476c +/* A3A594 802410B4 AFBF0018 */ sw $ra, 0x18($sp) +/* A3A598 802410B8 AFB10014 */ sw $s1, 0x14($sp) +/* A3A59C 802410BC 8E020000 */ lw $v0, ($s0) +/* A3A5A0 802410C0 14400010 */ bnez $v0, .L80241104 +/* A3A5A4 802410C4 0080882D */ daddu $s1, $a0, $zero +/* A3A5A8 802410C8 0C00AB39 */ jal heap_malloc +/* A3A5AC 802410CC 24040040 */ addiu $a0, $zero, 0x40 +/* A3A5B0 802410D0 AE020000 */ sw $v0, ($s0) +/* A3A5B4 802410D4 0000182D */ daddu $v1, $zero, $zero +/* A3A5B8 802410D8 0040282D */ daddu $a1, $v0, $zero +/* A3A5BC 802410DC 0220202D */ daddu $a0, $s1, $zero +.L802410E0: +/* A3A5C0 802410E0 8C820084 */ lw $v0, 0x84($a0) +/* A3A5C4 802410E4 24840004 */ addiu $a0, $a0, 4 +/* A3A5C8 802410E8 24630001 */ addiu $v1, $v1, 1 +/* A3A5CC 802410EC ACA20000 */ sw $v0, ($a1) +/* A3A5D0 802410F0 28620010 */ slti $v0, $v1, 0x10 +/* A3A5D4 802410F4 1440FFFA */ bnez $v0, .L802410E0 +/* A3A5D8 802410F8 24A50004 */ addiu $a1, $a1, 4 +/* A3A5DC 802410FC 08090450 */ j .L80241140 +/* A3A5E0 80241100 00000000 */ nop +.L80241104: +/* A3A5E4 80241104 0000182D */ daddu $v1, $zero, $zero +/* A3A5E8 80241108 0040282D */ daddu $a1, $v0, $zero +/* A3A5EC 8024110C 0220202D */ daddu $a0, $s1, $zero +.L80241110: +/* A3A5F0 80241110 8CA20000 */ lw $v0, ($a1) +/* A3A5F4 80241114 24A50004 */ addiu $a1, $a1, 4 +/* A3A5F8 80241118 24630001 */ addiu $v1, $v1, 1 +/* A3A5FC 8024111C AC820084 */ sw $v0, 0x84($a0) +/* A3A600 80241120 28620010 */ slti $v0, $v1, 0x10 +/* A3A604 80241124 1440FFFA */ bnez $v0, .L80241110 +/* A3A608 80241128 24840004 */ addiu $a0, $a0, 4 +/* A3A60C 8024112C 3C108024 */ lui $s0, 0x8024 +/* A3A610 80241130 2610476C */ addiu $s0, $s0, 0x476c +/* A3A614 80241134 0C00AB4B */ jal heap_free +/* A3A618 80241138 8E040000 */ lw $a0, ($s0) +/* A3A61C 8024113C AE000000 */ sw $zero, ($s0) +.L80241140: +/* A3A620 80241140 8FBF0018 */ lw $ra, 0x18($sp) +/* A3A624 80241144 8FB10014 */ lw $s1, 0x14($sp) +/* A3A628 80241148 8FB00010 */ lw $s0, 0x10($sp) +/* A3A62C 8024114C 24020002 */ addiu $v0, $zero, 2 +/* A3A630 80241150 03E00008 */ jr $ra +/* A3A634 80241154 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241158.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241158.s new file mode 100644 index 0000000000..ff427fd2d7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241158.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241158 +/* A3A638 80241158 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3A63C 8024115C AFB00010 */ sw $s0, 0x10($sp) +/* A3A640 80241160 0080802D */ daddu $s0, $a0, $zero +/* A3A644 80241164 AFBF0018 */ sw $ra, 0x18($sp) +/* A3A648 80241168 AFB10014 */ sw $s1, 0x14($sp) +/* A3A64C 8024116C 8E02000C */ lw $v0, 0xc($s0) +/* A3A650 80241170 8C510000 */ lw $s1, ($v0) +/* A3A654 80241174 0C0B1EAF */ jal get_variable +/* A3A658 80241178 0220282D */ daddu $a1, $s1, $zero +/* A3A65C 8024117C 3C03FFF0 */ lui $v1, 0xfff0 +/* A3A660 80241180 3463FFFF */ ori $v1, $v1, 0xffff +/* A3A664 80241184 0200202D */ daddu $a0, $s0, $zero +/* A3A668 80241188 00431024 */ and $v0, $v0, $v1 +/* A3A66C 8024118C 00021140 */ sll $v0, $v0, 5 +/* A3A670 80241190 3C068008 */ lui $a2, %hi(gItemTable) +/* A3A674 80241194 00C23021 */ addu $a2, $a2, $v0 +/* A3A678 80241198 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A3A67C 8024119C 0C0B2026 */ jal set_variable +/* A3A680 802411A0 0220282D */ daddu $a1, $s1, $zero +/* A3A684 802411A4 8FBF0018 */ lw $ra, 0x18($sp) +/* A3A688 802411A8 8FB10014 */ lw $s1, 0x14($sp) +/* A3A68C 802411AC 8FB00010 */ lw $s0, 0x10($sp) +/* A3A690 802411B0 24020002 */ addiu $v0, $zero, 2 +/* A3A694 802411B4 03E00008 */ jr $ra +/* A3A698 802411B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802411BC.s b/asm/nonmatchings/world/area_hos/hos_06/func_802411BC.s new file mode 100644 index 0000000000..70c8f25f7f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802411BC.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411BC +/* A3A69C 802411BC 0000282D */ daddu $a1, $zero, $zero +/* A3A6A0 802411C0 3C038011 */ lui $v1, %hi(gPlayerData) +/* A3A6A4 802411C4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +.L802411C8: +/* A3A6A8 802411C8 846200B4 */ lh $v0, 0xb4($v1) +/* A3A6AC 802411CC 14440003 */ bne $v0, $a0, .L802411DC +/* A3A6B0 802411D0 24A50001 */ addiu $a1, $a1, 1 +/* A3A6B4 802411D4 03E00008 */ jr $ra +/* A3A6B8 802411D8 24020001 */ addiu $v0, $zero, 1 +.L802411DC: +/* A3A6BC 802411DC 28A20080 */ slti $v0, $a1, 0x80 +/* A3A6C0 802411E0 1440FFF9 */ bnez $v0, .L802411C8 +/* A3A6C4 802411E4 24630002 */ addiu $v1, $v1, 2 +/* A3A6C8 802411E8 03E00008 */ jr $ra +/* A3A6CC 802411EC 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802411F0.s b/asm/nonmatchings/world/area_hos/hos_06/func_802411F0.s new file mode 100644 index 0000000000..2bf4e957f7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802411F0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F0 +/* A3A6D0 802411F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3A6D4 802411F4 AFB00010 */ sw $s0, 0x10($sp) +/* A3A6D8 802411F8 0000802D */ daddu $s0, $zero, $zero +/* A3A6DC 802411FC AFB10014 */ sw $s1, 0x14($sp) +/* A3A6E0 80241200 3C11F971 */ lui $s1, 0xf971 +/* A3A6E4 80241204 36318883 */ ori $s1, $s1, 0x8883 +/* A3A6E8 80241208 AFBF0018 */ sw $ra, 0x18($sp) +/* A3A6EC 8024120C 0000202D */ daddu $a0, $zero, $zero +.L80241210: +/* A3A6F0 80241210 02112821 */ addu $a1, $s0, $s1 +/* A3A6F4 80241214 0C0B2026 */ jal set_variable +/* A3A6F8 80241218 0080302D */ daddu $a2, $a0, $zero +/* A3A6FC 8024121C 26100001 */ addiu $s0, $s0, 1 +/* A3A700 80241220 2E02004F */ sltiu $v0, $s0, 0x4f +/* A3A704 80241224 1440FFFA */ bnez $v0, .L80241210 +/* A3A708 80241228 0000202D */ daddu $a0, $zero, $zero +/* A3A70C 8024122C 0000802D */ daddu $s0, $zero, $zero +/* A3A710 80241230 3C11F971 */ lui $s1, 0xf971 +/* A3A714 80241234 363188E4 */ ori $s1, $s1, 0x88e4 +.L80241238: +/* A3A718 80241238 02112821 */ addu $a1, $s0, $s1 +/* A3A71C 8024123C 0C0B2026 */ jal set_variable +/* A3A720 80241240 0080302D */ daddu $a2, $a0, $zero +/* A3A724 80241244 26100001 */ addiu $s0, $s0, 1 +/* A3A728 80241248 2E020010 */ sltiu $v0, $s0, 0x10 +/* A3A72C 8024124C 1440FFFA */ bnez $v0, .L80241238 +/* A3A730 80241250 0000202D */ daddu $a0, $zero, $zero +/* A3A734 80241254 8FBF0018 */ lw $ra, 0x18($sp) +/* A3A738 80241258 8FB10014 */ lw $s1, 0x14($sp) +/* A3A73C 8024125C 8FB00010 */ lw $s0, 0x10($sp) +/* A3A740 80241260 24020002 */ addiu $v0, $zero, 2 +/* A3A744 80241264 03E00008 */ jr $ra +/* A3A748 80241268 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_8024126C.s b/asm/nonmatchings/world/area_hos/hos_06/func_8024126C.s new file mode 100644 index 0000000000..79ef16e7eb --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_8024126C.s @@ -0,0 +1,177 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024126C +/* A3A74C 8024126C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A3A750 80241270 AFBE0030 */ sw $fp, 0x30($sp) +/* A3A754 80241274 0080F02D */ daddu $fp, $a0, $zero +/* A3A758 80241278 0000202D */ daddu $a0, $zero, $zero +/* A3A75C 8024127C 3C05F5DE */ lui $a1, 0xf5de +/* A3A760 80241280 34A50180 */ ori $a1, $a1, 0x180 +/* A3A764 80241284 AFBF0034 */ sw $ra, 0x34($sp) +/* A3A768 80241288 AFB7002C */ sw $s7, 0x2c($sp) +/* A3A76C 8024128C AFB60028 */ sw $s6, 0x28($sp) +/* A3A770 80241290 AFB50024 */ sw $s5, 0x24($sp) +/* A3A774 80241294 AFB40020 */ sw $s4, 0x20($sp) +/* A3A778 80241298 AFB3001C */ sw $s3, 0x1c($sp) +/* A3A77C 8024129C AFB20018 */ sw $s2, 0x18($sp) +/* A3A780 802412A0 AFB10014 */ sw $s1, 0x14($sp) +/* A3A784 802412A4 0C0B1EAF */ jal get_variable +/* A3A788 802412A8 AFB00010 */ sw $s0, 0x10($sp) +/* A3A78C 802412AC 0040B02D */ daddu $s6, $v0, $zero +/* A3A790 802412B0 0000A02D */ daddu $s4, $zero, $zero +/* A3A794 802412B4 0280802D */ daddu $s0, $s4, $zero +/* A3A798 802412B8 3C12F971 */ lui $s2, 0xf971 +/* A3A79C 802412BC 36528883 */ ori $s2, $s2, 0x8883 +/* A3A7A0 802412C0 3C118024 */ lui $s1, 0x8024 +/* A3A7A4 802412C4 263147D8 */ addiu $s1, $s1, 0x47d8 +/* A3A7A8 802412C8 AFC00088 */ sw $zero, 0x88($fp) +.L802412CC: +/* A3A7AC 802412CC 8E220004 */ lw $v0, 4($s1) +/* A3A7B0 802412D0 02C2102A */ slt $v0, $s6, $v0 +/* A3A7B4 802412D4 5440000C */ bnel $v0, $zero, .L80241308 +/* A3A7B8 802412D8 26100001 */ addiu $s0, $s0, 1 +/* A3A7BC 802412DC 8E240000 */ lw $a0, ($s1) +/* A3A7C0 802412E0 0C09046F */ jal func_802411BC +/* A3A7C4 802412E4 00000000 */ nop +/* A3A7C8 802412E8 54400007 */ bnel $v0, $zero, .L80241308 +/* A3A7CC 802412EC 26100001 */ addiu $s0, $s0, 1 +/* A3A7D0 802412F0 0000202D */ daddu $a0, $zero, $zero +/* A3A7D4 802412F4 0C0B1EAF */ jal get_variable +/* A3A7D8 802412F8 02122821 */ addu $a1, $s0, $s2 +/* A3A7DC 802412FC 50400001 */ beql $v0, $zero, .L80241304 +/* A3A7E0 80241300 26940001 */ addiu $s4, $s4, 1 +.L80241304: +/* A3A7E4 80241304 26100001 */ addiu $s0, $s0, 1 +.L80241308: +/* A3A7E8 80241308 2E02004F */ sltiu $v0, $s0, 0x4f +/* A3A7EC 8024130C 1440FFEF */ bnez $v0, .L802412CC +/* A3A7F0 80241310 2631000C */ addiu $s1, $s1, 0xc +/* A3A7F4 80241314 3C118024 */ lui $s1, 0x8024 +/* A3A7F8 80241318 263147D4 */ addiu $s1, $s1, 0x47d4 +/* A3A7FC 8024131C 1280002D */ beqz $s4, .L802413D4 +/* A3A800 80241320 0000802D */ daddu $s0, $zero, $zero +/* A3A804 80241324 0C00A67F */ jal rand_int +/* A3A808 80241328 2684FFFF */ addiu $a0, $s4, -1 +/* A3A80C 8024132C 0040A82D */ daddu $s5, $v0, $zero +/* A3A810 80241330 0220982D */ daddu $s3, $s1, $zero +/* A3A814 80241334 0000A02D */ daddu $s4, $zero, $zero +/* A3A818 80241338 0280802D */ daddu $s0, $s4, $zero +/* A3A81C 8024133C 3C17F971 */ lui $s7, 0xf971 +/* A3A820 80241340 36F78883 */ ori $s7, $s7, 0x8883 +/* A3A824 80241344 26720004 */ addiu $s2, $s3, 4 +.L80241348: +/* A3A828 80241348 8E420004 */ lw $v0, 4($s2) +/* A3A82C 8024134C 02C2102A */ slt $v0, $s6, $v0 +/* A3A830 80241350 5440000F */ bnel $v0, $zero, .L80241390 +/* A3A834 80241354 26100001 */ addiu $s0, $s0, 1 +/* A3A838 80241358 8E440000 */ lw $a0, ($s2) +/* A3A83C 8024135C 0C09046F */ jal func_802411BC +/* A3A840 80241360 00000000 */ nop +/* A3A844 80241364 5440000A */ bnel $v0, $zero, .L80241390 +/* A3A848 80241368 26100001 */ addiu $s0, $s0, 1 +/* A3A84C 8024136C 0000202D */ daddu $a0, $zero, $zero +/* A3A850 80241370 02178821 */ addu $s1, $s0, $s7 +/* A3A854 80241374 0C0B1EAF */ jal get_variable +/* A3A858 80241378 0220282D */ daddu $a1, $s1, $zero +/* A3A85C 8024137C 54400004 */ bnel $v0, $zero, .L80241390 +/* A3A860 80241380 26100001 */ addiu $s0, $s0, 1 +/* A3A864 80241384 12950008 */ beq $s4, $s5, .L802413A8 +/* A3A868 80241388 26940001 */ addiu $s4, $s4, 1 +/* A3A86C 8024138C 26100001 */ addiu $s0, $s0, 1 +.L80241390: +/* A3A870 80241390 2652000C */ addiu $s2, $s2, 0xc +/* A3A874 80241394 2E02004F */ sltiu $v0, $s0, 0x4f +/* A3A878 80241398 1440FFEB */ bnez $v0, .L80241348 +/* A3A87C 8024139C 2673000C */ addiu $s3, $s3, 0xc +/* A3A880 802413A0 0809052D */ j .L802414B4 +/* A3A884 802413A4 24020002 */ addiu $v0, $zero, 2 +.L802413A8: +/* A3A888 802413A8 0000202D */ daddu $a0, $zero, $zero +/* A3A88C 802413AC 080904EF */ j .L802413BC +/* A3A890 802413B0 0220282D */ daddu $a1, $s1, $zero +.L802413B4: +/* A3A894 802413B4 0000202D */ daddu $a0, $zero, $zero +/* A3A898 802413B8 0240282D */ daddu $a1, $s2, $zero +.L802413BC: +/* A3A89C 802413BC 8E620000 */ lw $v0, ($s3) +/* A3A8A0 802413C0 24060001 */ addiu $a2, $zero, 1 +/* A3A8A4 802413C4 0C0B2026 */ jal set_variable +/* A3A8A8 802413C8 AFC20088 */ sw $v0, 0x88($fp) +/* A3A8AC 802413CC 0809052D */ j .L802414B4 +/* A3A8B0 802413D0 24020002 */ addiu $v0, $zero, 2 +.L802413D4: +/* A3A8B4 802413D4 24132712 */ addiu $s3, $zero, 0x2712 +/* A3A8B8 802413D8 3C12F971 */ lui $s2, 0xf971 +/* A3A8BC 802413DC 36528883 */ ori $s2, $s2, 0x8883 +/* A3A8C0 802413E0 26310004 */ addiu $s1, $s1, 4 +.L802413E4: +/* A3A8C4 802413E4 8E220004 */ lw $v0, 4($s1) +/* A3A8C8 802413E8 5453000C */ bnel $v0, $s3, .L8024141C +/* A3A8CC 802413EC 26100001 */ addiu $s0, $s0, 1 +/* A3A8D0 802413F0 8E240000 */ lw $a0, ($s1) +/* A3A8D4 802413F4 0C09046F */ jal func_802411BC +/* A3A8D8 802413F8 00000000 */ nop +/* A3A8DC 802413FC 54400007 */ bnel $v0, $zero, .L8024141C +/* A3A8E0 80241400 26100001 */ addiu $s0, $s0, 1 +/* A3A8E4 80241404 0000202D */ daddu $a0, $zero, $zero +/* A3A8E8 80241408 0C0B1EAF */ jal get_variable +/* A3A8EC 8024140C 02122821 */ addu $a1, $s0, $s2 +/* A3A8F0 80241410 50400001 */ beql $v0, $zero, .L80241418 +/* A3A8F4 80241414 26940001 */ addiu $s4, $s4, 1 +.L80241418: +/* A3A8F8 80241418 26100001 */ addiu $s0, $s0, 1 +.L8024141C: +/* A3A8FC 8024141C 2E02004F */ sltiu $v0, $s0, 0x4f +/* A3A900 80241420 1440FFF0 */ bnez $v0, .L802413E4 +/* A3A904 80241424 2631000C */ addiu $s1, $s1, 0xc +/* A3A908 80241428 12800022 */ beqz $s4, .L802414B4 +/* A3A90C 8024142C 24020002 */ addiu $v0, $zero, 2 +/* A3A910 80241430 0C00A67F */ jal rand_int +/* A3A914 80241434 2684FFFF */ addiu $a0, $s4, -1 +/* A3A918 80241438 0040A82D */ daddu $s5, $v0, $zero +/* A3A91C 8024143C 3C138024 */ lui $s3, 0x8024 +/* A3A920 80241440 267347D4 */ addiu $s3, $s3, 0x47d4 +/* A3A924 80241444 0000A02D */ daddu $s4, $zero, $zero +/* A3A928 80241448 0280802D */ daddu $s0, $s4, $zero +/* A3A92C 8024144C 24172712 */ addiu $s7, $zero, 0x2712 +/* A3A930 80241450 3C16F971 */ lui $s6, 0xf971 +/* A3A934 80241454 36D68883 */ ori $s6, $s6, 0x8883 +/* A3A938 80241458 26710004 */ addiu $s1, $s3, 4 +.L8024145C: +/* A3A93C 8024145C 8E220004 */ lw $v0, 4($s1) +/* A3A940 80241460 5457000F */ bnel $v0, $s7, .L802414A0 +/* A3A944 80241464 26100001 */ addiu $s0, $s0, 1 +/* A3A948 80241468 8E240000 */ lw $a0, ($s1) +/* A3A94C 8024146C 0C09046F */ jal func_802411BC +/* A3A950 80241470 00000000 */ nop +/* A3A954 80241474 5440000A */ bnel $v0, $zero, .L802414A0 +/* A3A958 80241478 26100001 */ addiu $s0, $s0, 1 +/* A3A95C 8024147C 0000202D */ daddu $a0, $zero, $zero +/* A3A960 80241480 02169021 */ addu $s2, $s0, $s6 +/* A3A964 80241484 0C0B1EAF */ jal get_variable +/* A3A968 80241488 0240282D */ daddu $a1, $s2, $zero +/* A3A96C 8024148C 54400004 */ bnel $v0, $zero, .L802414A0 +/* A3A970 80241490 26100001 */ addiu $s0, $s0, 1 +/* A3A974 80241494 1295FFC7 */ beq $s4, $s5, .L802413B4 +/* A3A978 80241498 26940001 */ addiu $s4, $s4, 1 +/* A3A97C 8024149C 26100001 */ addiu $s0, $s0, 1 +.L802414A0: +/* A3A980 802414A0 2631000C */ addiu $s1, $s1, 0xc +/* A3A984 802414A4 2E02004F */ sltiu $v0, $s0, 0x4f +/* A3A988 802414A8 1440FFEC */ bnez $v0, .L8024145C +/* A3A98C 802414AC 2673000C */ addiu $s3, $s3, 0xc +/* A3A990 802414B0 24020002 */ addiu $v0, $zero, 2 +.L802414B4: +/* A3A994 802414B4 8FBF0034 */ lw $ra, 0x34($sp) +/* A3A998 802414B8 8FBE0030 */ lw $fp, 0x30($sp) +/* A3A99C 802414BC 8FB7002C */ lw $s7, 0x2c($sp) +/* A3A9A0 802414C0 8FB60028 */ lw $s6, 0x28($sp) +/* A3A9A4 802414C4 8FB50024 */ lw $s5, 0x24($sp) +/* A3A9A8 802414C8 8FB40020 */ lw $s4, 0x20($sp) +/* A3A9AC 802414CC 8FB3001C */ lw $s3, 0x1c($sp) +/* A3A9B0 802414D0 8FB20018 */ lw $s2, 0x18($sp) +/* A3A9B4 802414D4 8FB10014 */ lw $s1, 0x14($sp) +/* A3A9B8 802414D8 8FB00010 */ lw $s0, 0x10($sp) +/* A3A9BC 802414DC 03E00008 */ jr $ra +/* A3A9C0 802414E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802414E4.s b/asm/nonmatchings/world/area_hos/hos_06/func_802414E4.s new file mode 100644 index 0000000000..b4607b9313 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802414E4.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414E4 +/* A3A9C4 802414E4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A3A9C8 802414E8 AFBE0030 */ sw $fp, 0x30($sp) +/* A3A9CC 802414EC 0080F02D */ daddu $fp, $a0, $zero +/* A3A9D0 802414F0 0000202D */ daddu $a0, $zero, $zero +/* A3A9D4 802414F4 3C05F5DE */ lui $a1, 0xf5de +/* A3A9D8 802414F8 34A50180 */ ori $a1, $a1, 0x180 +/* A3A9DC 802414FC AFBF0034 */ sw $ra, 0x34($sp) +/* A3A9E0 80241500 AFB7002C */ sw $s7, 0x2c($sp) +/* A3A9E4 80241504 AFB60028 */ sw $s6, 0x28($sp) +/* A3A9E8 80241508 AFB50024 */ sw $s5, 0x24($sp) +/* A3A9EC 8024150C AFB40020 */ sw $s4, 0x20($sp) +/* A3A9F0 80241510 AFB3001C */ sw $s3, 0x1c($sp) +/* A3A9F4 80241514 AFB20018 */ sw $s2, 0x18($sp) +/* A3A9F8 80241518 AFB10014 */ sw $s1, 0x14($sp) +/* A3A9FC 8024151C 0C0B1EAF */ jal get_variable +/* A3AA00 80241520 AFB00010 */ sw $s0, 0x10($sp) +/* A3AA04 80241524 0040A82D */ daddu $s5, $v0, $zero +/* A3AA08 80241528 0000A02D */ daddu $s4, $zero, $zero +/* A3AA0C 8024152C 0280802D */ daddu $s0, $s4, $zero +/* A3AA10 80241530 3C12F971 */ lui $s2, 0xf971 +/* A3AA14 80241534 365288E4 */ ori $s2, $s2, 0x88e4 +/* A3AA18 80241538 3C118024 */ lui $s1, 0x8024 +/* A3AA1C 8024153C 26314B8C */ addiu $s1, $s1, 0x4b8c +/* A3AA20 80241540 AFC00088 */ sw $zero, 0x88($fp) +.L80241544: +/* A3AA24 80241544 8E220004 */ lw $v0, 4($s1) +/* A3AA28 80241548 02A2102A */ slt $v0, $s5, $v0 +/* A3AA2C 8024154C 5440000C */ bnel $v0, $zero, .L80241580 +/* A3AA30 80241550 26100001 */ addiu $s0, $s0, 1 +/* A3AA34 80241554 8E250000 */ lw $a1, ($s1) +/* A3AA38 80241558 0C0B1EAF */ jal get_variable +/* A3AA3C 8024155C 0000202D */ daddu $a0, $zero, $zero +/* A3AA40 80241560 54400007 */ bnel $v0, $zero, .L80241580 +/* A3AA44 80241564 26100001 */ addiu $s0, $s0, 1 +/* A3AA48 80241568 0000202D */ daddu $a0, $zero, $zero +/* A3AA4C 8024156C 0C0B1EAF */ jal get_variable +/* A3AA50 80241570 02122821 */ addu $a1, $s0, $s2 +/* A3AA54 80241574 50400001 */ beql $v0, $zero, .L8024157C +/* A3AA58 80241578 26940001 */ addiu $s4, $s4, 1 +.L8024157C: +/* A3AA5C 8024157C 26100001 */ addiu $s0, $s0, 1 +.L80241580: +/* A3AA60 80241580 2E020010 */ sltiu $v0, $s0, 0x10 +/* A3AA64 80241584 1440FFEF */ bnez $v0, .L80241544 +/* A3AA68 80241588 2631000C */ addiu $s1, $s1, 0xc +/* A3AA6C 8024158C 12800029 */ beqz $s4, .L80241634 +/* A3AA70 80241590 00000000 */ nop +/* A3AA74 80241594 0C00A67F */ jal rand_int +/* A3AA78 80241598 2684FFFF */ addiu $a0, $s4, -1 +/* A3AA7C 8024159C 0040B82D */ daddu $s7, $v0, $zero +/* A3AA80 802415A0 3C138024 */ lui $s3, 0x8024 +/* A3AA84 802415A4 26734B88 */ addiu $s3, $s3, 0x4b88 +/* A3AA88 802415A8 0000A02D */ daddu $s4, $zero, $zero +/* A3AA8C 802415AC 0280802D */ daddu $s0, $s4, $zero +/* A3AA90 802415B0 3C16F971 */ lui $s6, 0xf971 +/* A3AA94 802415B4 36D688E4 */ ori $s6, $s6, 0x88e4 +/* A3AA98 802415B8 26720004 */ addiu $s2, $s3, 4 +.L802415BC: +/* A3AA9C 802415BC 8E420004 */ lw $v0, 4($s2) +/* A3AAA0 802415C0 02A2102A */ slt $v0, $s5, $v0 +/* A3AAA4 802415C4 54400017 */ bnel $v0, $zero, .L80241624 +/* A3AAA8 802415C8 26100001 */ addiu $s0, $s0, 1 +/* A3AAAC 802415CC 8E450000 */ lw $a1, ($s2) +/* A3AAB0 802415D0 0C0B1EAF */ jal get_variable +/* A3AAB4 802415D4 0000202D */ daddu $a0, $zero, $zero +/* A3AAB8 802415D8 54400012 */ bnel $v0, $zero, .L80241624 +/* A3AABC 802415DC 26100001 */ addiu $s0, $s0, 1 +/* A3AAC0 802415E0 0000202D */ daddu $a0, $zero, $zero +/* A3AAC4 802415E4 02168821 */ addu $s1, $s0, $s6 +/* A3AAC8 802415E8 0C0B1EAF */ jal get_variable +/* A3AACC 802415EC 0220282D */ daddu $a1, $s1, $zero +/* A3AAD0 802415F0 5440000C */ bnel $v0, $zero, .L80241624 +/* A3AAD4 802415F4 26100001 */ addiu $s0, $s0, 1 +/* A3AAD8 802415F8 16970009 */ bne $s4, $s7, .L80241620 +/* A3AADC 802415FC 26940001 */ addiu $s4, $s4, 1 +/* A3AAE0 80241600 0000202D */ daddu $a0, $zero, $zero +/* A3AAE4 80241604 0220282D */ daddu $a1, $s1, $zero +/* A3AAE8 80241608 8E620000 */ lw $v0, ($s3) +/* A3AAEC 8024160C 24060001 */ addiu $a2, $zero, 1 +/* A3AAF0 80241610 0C0B2026 */ jal set_variable +/* A3AAF4 80241614 AFC20088 */ sw $v0, 0x88($fp) +/* A3AAF8 80241618 0809058D */ j .L80241634 +/* A3AAFC 8024161C 00000000 */ nop +.L80241620: +/* A3AB00 80241620 26100001 */ addiu $s0, $s0, 1 +.L80241624: +/* A3AB04 80241624 2652000C */ addiu $s2, $s2, 0xc +/* A3AB08 80241628 2E020010 */ sltiu $v0, $s0, 0x10 +/* A3AB0C 8024162C 1440FFE3 */ bnez $v0, .L802415BC +/* A3AB10 80241630 2673000C */ addiu $s3, $s3, 0xc +.L80241634: +/* A3AB14 80241634 8FBF0034 */ lw $ra, 0x34($sp) +/* A3AB18 80241638 8FBE0030 */ lw $fp, 0x30($sp) +/* A3AB1C 8024163C 8FB7002C */ lw $s7, 0x2c($sp) +/* A3AB20 80241640 8FB60028 */ lw $s6, 0x28($sp) +/* A3AB24 80241644 8FB50024 */ lw $s5, 0x24($sp) +/* A3AB28 80241648 8FB40020 */ lw $s4, 0x20($sp) +/* A3AB2C 8024164C 8FB3001C */ lw $s3, 0x1c($sp) +/* A3AB30 80241650 8FB20018 */ lw $s2, 0x18($sp) +/* A3AB34 80241654 8FB10014 */ lw $s1, 0x14($sp) +/* A3AB38 80241658 8FB00010 */ lw $s0, 0x10($sp) +/* A3AB3C 8024165C 24020002 */ addiu $v0, $zero, 2 +/* A3AB40 80241660 03E00008 */ jr $ra +/* A3AB44 80241664 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241668.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241668.s new file mode 100644 index 0000000000..210840847c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241668.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668 +/* A3AB48 80241668 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A3AB4C 8024166C AFBE0030 */ sw $fp, 0x30($sp) +/* A3AB50 80241670 0080F02D */ daddu $fp, $a0, $zero +/* A3AB54 80241674 0000202D */ daddu $a0, $zero, $zero +/* A3AB58 80241678 3C05F5DE */ lui $a1, 0xf5de +/* A3AB5C 8024167C 34A50180 */ ori $a1, $a1, 0x180 +/* A3AB60 80241680 AFBF0034 */ sw $ra, 0x34($sp) +/* A3AB64 80241684 AFB7002C */ sw $s7, 0x2c($sp) +/* A3AB68 80241688 AFB60028 */ sw $s6, 0x28($sp) +/* A3AB6C 8024168C AFB50024 */ sw $s5, 0x24($sp) +/* A3AB70 80241690 AFB40020 */ sw $s4, 0x20($sp) +/* A3AB74 80241694 AFB3001C */ sw $s3, 0x1c($sp) +/* A3AB78 80241698 AFB20018 */ sw $s2, 0x18($sp) +/* A3AB7C 8024169C AFB10014 */ sw $s1, 0x14($sp) +/* A3AB80 802416A0 0C0B1EAF */ jal get_variable +/* A3AB84 802416A4 AFB00010 */ sw $s0, 0x10($sp) +/* A3AB88 802416A8 0040A82D */ daddu $s5, $v0, $zero +/* A3AB8C 802416AC 0000A02D */ daddu $s4, $zero, $zero +/* A3AB90 802416B0 0280802D */ daddu $s0, $s4, $zero +/* A3AB94 802416B4 3C12F971 */ lui $s2, 0xf971 +/* A3AB98 802416B8 365288F4 */ ori $s2, $s2, 0x88f4 +/* A3AB9C 802416BC 3C118024 */ lui $s1, 0x8024 +/* A3ABA0 802416C0 26314C4C */ addiu $s1, $s1, 0x4c4c +/* A3ABA4 802416C4 AFC00088 */ sw $zero, 0x88($fp) +.L802416C8: +/* A3ABA8 802416C8 8E220004 */ lw $v0, 4($s1) +/* A3ABAC 802416CC 02A2102A */ slt $v0, $s5, $v0 +/* A3ABB0 802416D0 5440000C */ bnel $v0, $zero, .L80241704 +/* A3ABB4 802416D4 26100001 */ addiu $s0, $s0, 1 +/* A3ABB8 802416D8 8E250000 */ lw $a1, ($s1) +/* A3ABBC 802416DC 0C0B1EAF */ jal get_variable +/* A3ABC0 802416E0 0000202D */ daddu $a0, $zero, $zero +/* A3ABC4 802416E4 54400007 */ bnel $v0, $zero, .L80241704 +/* A3ABC8 802416E8 26100001 */ addiu $s0, $s0, 1 +/* A3ABCC 802416EC 0000202D */ daddu $a0, $zero, $zero +/* A3ABD0 802416F0 0C0B1EAF */ jal get_variable +/* A3ABD4 802416F4 02122821 */ addu $a1, $s0, $s2 +/* A3ABD8 802416F8 50400001 */ beql $v0, $zero, .L80241700 +/* A3ABDC 802416FC 26940001 */ addiu $s4, $s4, 1 +.L80241700: +/* A3ABE0 80241700 26100001 */ addiu $s0, $s0, 1 +.L80241704: +/* A3ABE4 80241704 2E02003F */ sltiu $v0, $s0, 0x3f +/* A3ABE8 80241708 1440FFEF */ bnez $v0, .L802416C8 +/* A3ABEC 8024170C 2631000C */ addiu $s1, $s1, 0xc +/* A3ABF0 80241710 12800029 */ beqz $s4, .L802417B8 +/* A3ABF4 80241714 00000000 */ nop +/* A3ABF8 80241718 0C00A67F */ jal rand_int +/* A3ABFC 8024171C 2684FFFF */ addiu $a0, $s4, -1 +/* A3AC00 80241720 0040B82D */ daddu $s7, $v0, $zero +/* A3AC04 80241724 3C138024 */ lui $s3, 0x8024 +/* A3AC08 80241728 26734C48 */ addiu $s3, $s3, 0x4c48 +/* A3AC0C 8024172C 0000A02D */ daddu $s4, $zero, $zero +/* A3AC10 80241730 0280802D */ daddu $s0, $s4, $zero +/* A3AC14 80241734 3C16F971 */ lui $s6, 0xf971 +/* A3AC18 80241738 36D688F4 */ ori $s6, $s6, 0x88f4 +/* A3AC1C 8024173C 26720004 */ addiu $s2, $s3, 4 +.L80241740: +/* A3AC20 80241740 8E420004 */ lw $v0, 4($s2) +/* A3AC24 80241744 02A2102A */ slt $v0, $s5, $v0 +/* A3AC28 80241748 54400017 */ bnel $v0, $zero, .L802417A8 +/* A3AC2C 8024174C 26100001 */ addiu $s0, $s0, 1 +/* A3AC30 80241750 8E450000 */ lw $a1, ($s2) +/* A3AC34 80241754 0C0B1EAF */ jal get_variable +/* A3AC38 80241758 0000202D */ daddu $a0, $zero, $zero +/* A3AC3C 8024175C 54400012 */ bnel $v0, $zero, .L802417A8 +/* A3AC40 80241760 26100001 */ addiu $s0, $s0, 1 +/* A3AC44 80241764 0000202D */ daddu $a0, $zero, $zero +/* A3AC48 80241768 02168821 */ addu $s1, $s0, $s6 +/* A3AC4C 8024176C 0C0B1EAF */ jal get_variable +/* A3AC50 80241770 0220282D */ daddu $a1, $s1, $zero +/* A3AC54 80241774 5440000C */ bnel $v0, $zero, .L802417A8 +/* A3AC58 80241778 26100001 */ addiu $s0, $s0, 1 +/* A3AC5C 8024177C 16970009 */ bne $s4, $s7, .L802417A4 +/* A3AC60 80241780 26940001 */ addiu $s4, $s4, 1 +/* A3AC64 80241784 0000202D */ daddu $a0, $zero, $zero +/* A3AC68 80241788 0220282D */ daddu $a1, $s1, $zero +/* A3AC6C 8024178C 8E620000 */ lw $v0, ($s3) +/* A3AC70 80241790 24060001 */ addiu $a2, $zero, 1 +/* A3AC74 80241794 0C0B2026 */ jal set_variable +/* A3AC78 80241798 AFC20088 */ sw $v0, 0x88($fp) +/* A3AC7C 8024179C 080905EE */ j .L802417B8 +/* A3AC80 802417A0 00000000 */ nop +.L802417A4: +/* A3AC84 802417A4 26100001 */ addiu $s0, $s0, 1 +.L802417A8: +/* A3AC88 802417A8 2652000C */ addiu $s2, $s2, 0xc +/* A3AC8C 802417AC 2E02003F */ sltiu $v0, $s0, 0x3f +/* A3AC90 802417B0 1440FFE3 */ bnez $v0, .L80241740 +/* A3AC94 802417B4 2673000C */ addiu $s3, $s3, 0xc +.L802417B8: +/* A3AC98 802417B8 8FBF0034 */ lw $ra, 0x34($sp) +/* A3AC9C 802417BC 8FBE0030 */ lw $fp, 0x30($sp) +/* A3ACA0 802417C0 8FB7002C */ lw $s7, 0x2c($sp) +/* A3ACA4 802417C4 8FB60028 */ lw $s6, 0x28($sp) +/* A3ACA8 802417C8 8FB50024 */ lw $s5, 0x24($sp) +/* A3ACAC 802417CC 8FB40020 */ lw $s4, 0x20($sp) +/* A3ACB0 802417D0 8FB3001C */ lw $s3, 0x1c($sp) +/* A3ACB4 802417D4 8FB20018 */ lw $s2, 0x18($sp) +/* A3ACB8 802417D8 8FB10014 */ lw $s1, 0x14($sp) +/* A3ACBC 802417DC 8FB00010 */ lw $s0, 0x10($sp) +/* A3ACC0 802417E0 24020002 */ addiu $v0, $zero, 2 +/* A3ACC4 802417E4 03E00008 */ jr $ra +/* A3ACC8 802417E8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802417EC_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_802417EC_A394E0.s new file mode 100644 index 0000000000..deb496c038 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802417EC_A394E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417EC_A3ACCC +/* A3ACCC 802417EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3ACD0 802417F0 AFB10014 */ sw $s1, 0x14($sp) +/* A3ACD4 802417F4 0080882D */ daddu $s1, $a0, $zero +/* A3ACD8 802417F8 AFBF0018 */ sw $ra, 0x18($sp) +/* A3ACDC 802417FC AFB00010 */ sw $s0, 0x10($sp) +/* A3ACE0 80241800 8E30000C */ lw $s0, 0xc($s1) +/* A3ACE4 80241804 8E050000 */ lw $a1, ($s0) +/* A3ACE8 80241808 0C0B1EAF */ jal get_variable +/* A3ACEC 8024180C 26100004 */ addiu $s0, $s0, 4 +/* A3ACF0 80241810 3C038011 */ lui $v1, 0x8011 +/* A3ACF4 80241814 8463F29C */ lh $v1, -0xd64($v1) +/* A3ACF8 80241818 3C018024 */ lui $at, 0x8024 +/* A3ACFC 8024181C 00220821 */ addu $at, $at, $v0 +/* A3AD00 80241820 902247D0 */ lbu $v0, 0x47d0($at) +/* A3AD04 80241824 8E050000 */ lw $a1, ($s0) +/* A3AD08 80241828 0062182A */ slt $v1, $v1, $v0 +/* A3AD0C 8024182C 10600003 */ beqz $v1, .L8024183C +/* A3AD10 80241830 0220202D */ daddu $a0, $s1, $zero +/* A3AD14 80241834 08090610 */ j .L80241840 +/* A3AD18 80241838 24060001 */ addiu $a2, $zero, 1 +.L8024183C: +/* A3AD1C 8024183C 0000302D */ daddu $a2, $zero, $zero +.L80241840: +/* A3AD20 80241840 0C0B2026 */ jal set_variable +/* A3AD24 80241844 00000000 */ nop +/* A3AD28 80241848 8FBF0018 */ lw $ra, 0x18($sp) +/* A3AD2C 8024184C 8FB10014 */ lw $s1, 0x14($sp) +/* A3AD30 80241850 8FB00010 */ lw $s0, 0x10($sp) +/* A3AD34 80241854 24020002 */ addiu $v0, $zero, 2 +/* A3AD38 80241858 03E00008 */ jr $ra +/* A3AD3C 8024185C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241860.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241860.s new file mode 100644 index 0000000000..807779f52f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241860.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241860 +/* A3AD40 80241860 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3AD44 80241864 AFBF0010 */ sw $ra, 0x10($sp) +/* A3AD48 80241868 8C82000C */ lw $v0, 0xc($a0) +/* A3AD4C 8024186C 0C0B1EAF */ jal get_variable +/* A3AD50 80241870 8C450000 */ lw $a1, ($v0) +/* A3AD54 80241874 3C058011 */ lui $a1, %hi(gPlayerData) +/* A3AD58 80241878 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* A3AD5C 8024187C 3C048024 */ lui $a0, 0x8024 +/* A3AD60 80241880 00822021 */ addu $a0, $a0, $v0 +/* A3AD64 80241884 908447D0 */ lbu $a0, 0x47d0($a0) +/* A3AD68 80241888 94A3000C */ lhu $v1, 0xc($a1) +/* A3AD6C 8024188C 00641823 */ subu $v1, $v1, $a0 +/* A3AD70 80241890 A4A3000C */ sh $v1, 0xc($a1) +/* A3AD74 80241894 8FBF0010 */ lw $ra, 0x10($sp) +/* A3AD78 80241898 24020002 */ addiu $v0, $zero, 2 +/* A3AD7C 8024189C 03E00008 */ jr $ra +/* A3AD80 802418A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802418A4_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_802418A4_A394E0.s new file mode 100644 index 0000000000..e416bd2eb4 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802418A4_A394E0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418A4_A3AD84 +/* A3AD84 802418A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3AD88 802418A8 AFBF0010 */ sw $ra, 0x10($sp) +/* A3AD8C 802418AC 8C82000C */ lw $v0, 0xc($a0) +/* A3AD90 802418B0 0C0B1EAF */ jal get_variable +/* A3AD94 802418B4 8C450000 */ lw $a1, ($v0) +/* A3AD98 802418B8 3C058011 */ lui $a1, %hi(gPlayerData) +/* A3AD9C 802418BC 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* A3ADA0 802418C0 3C048024 */ lui $a0, 0x8024 +/* A3ADA4 802418C4 00822021 */ addu $a0, $a0, $v0 +/* A3ADA8 802418C8 908447D0 */ lbu $a0, 0x47d0($a0) +/* A3ADAC 802418CC 94A3000C */ lhu $v1, 0xc($a1) +/* A3ADB0 802418D0 00641821 */ addu $v1, $v1, $a0 +/* A3ADB4 802418D4 A4A3000C */ sh $v1, 0xc($a1) +/* A3ADB8 802418D8 8FBF0010 */ lw $ra, 0x10($sp) +/* A3ADBC 802418DC 24020002 */ addiu $v0, $zero, 2 +/* A3ADC0 802418E0 03E00008 */ jr $ra +/* A3ADC4 802418E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802418E8.s b/asm/nonmatchings/world/area_hos/hos_06/func_802418E8.s new file mode 100644 index 0000000000..d8cca8b1e8 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802418E8.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418E8 +/* A3ADC8 802418E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3ADCC 802418EC AFB00018 */ sw $s0, 0x18($sp) +/* A3ADD0 802418F0 0080802D */ daddu $s0, $a0, $zero +/* A3ADD4 802418F4 10A00042 */ beqz $a1, .L80241A00 +/* A3ADD8 802418F8 AFBF001C */ sw $ra, 0x1c($sp) +/* A3ADDC 802418FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3ADE0 80241900 24040079 */ addiu $a0, $zero, 0x79 +/* A3ADE4 80241904 0C046B4C */ jal get_model_from_list_index +/* A3ADE8 80241908 0040202D */ daddu $a0, $v0, $zero +/* A3ADEC 8024190C 0040202D */ daddu $a0, $v0, $zero +/* A3ADF0 80241910 2405FFFF */ addiu $a1, $zero, -1 +/* A3ADF4 80241914 0C046F1F */ jal func_8011BC7C +/* A3ADF8 80241918 24060003 */ addiu $a2, $zero, 3 +/* A3ADFC 8024191C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AE00 80241920 2404007A */ addiu $a0, $zero, 0x7a +/* A3AE04 80241924 0C046B4C */ jal get_model_from_list_index +/* A3AE08 80241928 0040202D */ daddu $a0, $v0, $zero +/* A3AE0C 8024192C 0040202D */ daddu $a0, $v0, $zero +/* A3AE10 80241930 2405FFFF */ addiu $a1, $zero, -1 +/* A3AE14 80241934 0C046F1F */ jal func_8011BC7C +/* A3AE18 80241938 24060003 */ addiu $a2, $zero, 3 +/* A3AE1C 8024193C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AE20 80241940 2404007B */ addiu $a0, $zero, 0x7b +/* A3AE24 80241944 0C046B4C */ jal get_model_from_list_index +/* A3AE28 80241948 0040202D */ daddu $a0, $v0, $zero +/* A3AE2C 8024194C 0040202D */ daddu $a0, $v0, $zero +/* A3AE30 80241950 2405FFFF */ addiu $a1, $zero, -1 +/* A3AE34 80241954 0C046F1F */ jal func_8011BC7C +/* A3AE38 80241958 24060003 */ addiu $a2, $zero, 3 +/* A3AE3C 8024195C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AE40 80241960 2404007C */ addiu $a0, $zero, 0x7c +/* A3AE44 80241964 0C046B4C */ jal get_model_from_list_index +/* A3AE48 80241968 0040202D */ daddu $a0, $v0, $zero +/* A3AE4C 8024196C 0040202D */ daddu $a0, $v0, $zero +/* A3AE50 80241970 2405FFFF */ addiu $a1, $zero, -1 +/* A3AE54 80241974 0C046F1F */ jal func_8011BC7C +/* A3AE58 80241978 24060003 */ addiu $a2, $zero, 3 +/* A3AE5C 8024197C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AE60 80241980 2404007D */ addiu $a0, $zero, 0x7d +/* A3AE64 80241984 0C046B4C */ jal get_model_from_list_index +/* A3AE68 80241988 0040202D */ daddu $a0, $v0, $zero +/* A3AE6C 8024198C 0040202D */ daddu $a0, $v0, $zero +/* A3AE70 80241990 2405FFFF */ addiu $a1, $zero, -1 +/* A3AE74 80241994 0C046F1F */ jal func_8011BC7C +/* A3AE78 80241998 24060003 */ addiu $a2, $zero, 3 +/* A3AE7C 8024199C 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AE80 802419A0 2404007F */ addiu $a0, $zero, 0x7f +/* A3AE84 802419A4 0C046B4C */ jal get_model_from_list_index +/* A3AE88 802419A8 0040202D */ daddu $a0, $v0, $zero +/* A3AE8C 802419AC 0040202D */ daddu $a0, $v0, $zero +/* A3AE90 802419B0 2405FFFF */ addiu $a1, $zero, -1 +/* A3AE94 802419B4 0C046F1F */ jal func_8011BC7C +/* A3AE98 802419B8 24060003 */ addiu $a2, $zero, 3 +/* A3AE9C 802419BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3AEA0 802419C0 240400D0 */ addiu $a0, $zero, 0xd0 +/* A3AEA4 802419C4 0C046B4C */ jal get_model_from_list_index +/* A3AEA8 802419C8 0040202D */ daddu $a0, $v0, $zero +/* A3AEAC 802419CC 0040202D */ daddu $a0, $v0, $zero +/* A3AEB0 802419D0 2405FFFF */ addiu $a1, $zero, -1 +/* A3AEB4 802419D4 0C046F1F */ jal func_8011BC7C +/* A3AEB8 802419D8 24060003 */ addiu $a2, $zero, 3 +/* A3AEBC 802419DC 240400FF */ addiu $a0, $zero, 0xff +/* A3AEC0 802419E0 0080282D */ daddu $a1, $a0, $zero +/* A3AEC4 802419E4 0080302D */ daddu $a2, $a0, $zero +/* A3AEC8 802419E8 0000382D */ daddu $a3, $zero, $zero +/* A3AECC 802419EC AFA00010 */ sw $zero, 0x10($sp) +/* A3AED0 802419F0 0C046FE6 */ jal func_8011BF98 +/* A3AED4 802419F4 AFA00014 */ sw $zero, 0x14($sp) +/* A3AED8 802419F8 240200FF */ addiu $v0, $zero, 0xff +/* A3AEDC 802419FC AE020070 */ sw $v0, 0x70($s0) +.L80241A00: +/* A3AEE0 80241A00 8E020070 */ lw $v0, 0x70($s0) +/* A3AEE4 80241A04 2442FFFC */ addiu $v0, $v0, -4 +/* A3AEE8 80241A08 AE020070 */ sw $v0, 0x70($s0) +/* A3AEEC 80241A0C 28420040 */ slti $v0, $v0, 0x40 +/* A3AEF0 80241A10 10400002 */ beqz $v0, .L80241A1C +/* A3AEF4 80241A14 24020040 */ addiu $v0, $zero, 0x40 +/* A3AEF8 80241A18 AE020070 */ sw $v0, 0x70($s0) +.L80241A1C: +/* A3AEFC 80241A1C 92040073 */ lbu $a0, 0x73($s0) +/* A3AF00 80241A20 0000382D */ daddu $a3, $zero, $zero +/* A3AF04 80241A24 AFA00010 */ sw $zero, 0x10($sp) +/* A3AF08 80241A28 AFA00014 */ sw $zero, 0x14($sp) +/* A3AF0C 80241A2C 0080282D */ daddu $a1, $a0, $zero +/* A3AF10 80241A30 0C046FE6 */ jal func_8011BF98 +/* A3AF14 80241A34 0080302D */ daddu $a2, $a0, $zero +/* A3AF18 80241A38 8E020070 */ lw $v0, 0x70($s0) +/* A3AF1C 80241A3C 8FBF001C */ lw $ra, 0x1c($sp) +/* A3AF20 80241A40 8FB00018 */ lw $s0, 0x18($sp) +/* A3AF24 80241A44 38420040 */ xori $v0, $v0, 0x40 +/* A3AF28 80241A48 2C420001 */ sltiu $v0, $v0, 1 +/* A3AF2C 80241A4C 00021040 */ sll $v0, $v0, 1 +/* A3AF30 80241A50 03E00008 */ jr $ra +/* A3AF34 80241A54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241A58.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241A58.s new file mode 100644 index 0000000000..c1d2747ea1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241A58.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A58 +/* A3AF38 80241A58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3AF3C 80241A5C AFB00018 */ sw $s0, 0x18($sp) +/* A3AF40 80241A60 0080802D */ daddu $s0, $a0, $zero +/* A3AF44 80241A64 10A00005 */ beqz $a1, .L80241A7C +/* A3AF48 80241A68 AFBF001C */ sw $ra, 0x1c($sp) +/* A3AF4C 80241A6C 24020040 */ addiu $v0, $zero, 0x40 +/* A3AF50 80241A70 AE020070 */ sw $v0, 0x70($s0) +/* A3AF54 80241A74 AE020078 */ sw $v0, 0x78($s0) +/* A3AF58 80241A78 AE000074 */ sw $zero, 0x74($s0) +.L80241A7C: +/* A3AF5C 80241A7C 8E020074 */ lw $v0, 0x74($s0) +/* A3AF60 80241A80 1440001A */ bnez $v0, .L80241AEC +/* A3AF64 80241A84 00000000 */ nop +/* A3AF68 80241A88 8E020070 */ lw $v0, 0x70($s0) +/* A3AF6C 80241A8C 24420004 */ addiu $v0, $v0, 4 +/* A3AF70 80241A90 AE020070 */ sw $v0, 0x70($s0) +/* A3AF74 80241A94 8E020078 */ lw $v0, 0x78($s0) +/* A3AF78 80241A98 8E030070 */ lw $v1, 0x70($s0) +/* A3AF7C 80241A9C 24420004 */ addiu $v0, $v0, 4 +/* A3AF80 80241AA0 28630080 */ slti $v1, $v1, 0x80 +/* A3AF84 80241AA4 14600003 */ bnez $v1, .L80241AB4 +/* A3AF88 80241AA8 AE020078 */ sw $v0, 0x78($s0) +/* A3AF8C 80241AAC 2402007F */ addiu $v0, $zero, 0x7f +/* A3AF90 80241AB0 AE020070 */ sw $v0, 0x70($s0) +.L80241AB4: +/* A3AF94 80241AB4 8E020078 */ lw $v0, 0x78($s0) +/* A3AF98 80241AB8 28420080 */ slti $v0, $v0, 0x80 +/* A3AF9C 80241ABC 14400002 */ bnez $v0, .L80241AC8 +/* A3AFA0 80241AC0 2402007F */ addiu $v0, $zero, 0x7f +/* A3AFA4 80241AC4 AE020078 */ sw $v0, 0x78($s0) +.L80241AC8: +/* A3AFA8 80241AC8 8E030070 */ lw $v1, 0x70($s0) +/* A3AFAC 80241ACC 2402007F */ addiu $v0, $zero, 0x7f +/* A3AFB0 80241AD0 14620014 */ bne $v1, $v0, .L80241B24 +/* A3AFB4 80241AD4 00000000 */ nop +/* A3AFB8 80241AD8 8E020078 */ lw $v0, 0x78($s0) +/* A3AFBC 80241ADC 14430011 */ bne $v0, $v1, .L80241B24 +/* A3AFC0 80241AE0 24020001 */ addiu $v0, $zero, 1 +/* A3AFC4 80241AE4 080906C9 */ j .L80241B24 +/* A3AFC8 80241AE8 AE020074 */ sw $v0, 0x74($s0) +.L80241AEC: +/* A3AFCC 80241AEC 8E020070 */ lw $v0, 0x70($s0) +/* A3AFD0 80241AF0 2442FFFC */ addiu $v0, $v0, -4 +/* A3AFD4 80241AF4 AE020070 */ sw $v0, 0x70($s0) +/* A3AFD8 80241AF8 8E020078 */ lw $v0, 0x78($s0) +/* A3AFDC 80241AFC 8E030070 */ lw $v1, 0x70($s0) +/* A3AFE0 80241B00 2442FFFC */ addiu $v0, $v0, -4 +/* A3AFE4 80241B04 28630040 */ slti $v1, $v1, 0x40 +/* A3AFE8 80241B08 10600003 */ beqz $v1, .L80241B18 +/* A3AFEC 80241B0C AE020078 */ sw $v0, 0x78($s0) +/* A3AFF0 80241B10 24020040 */ addiu $v0, $zero, 0x40 +/* A3AFF4 80241B14 AE020070 */ sw $v0, 0x70($s0) +.L80241B18: +/* A3AFF8 80241B18 8E020078 */ lw $v0, 0x78($s0) +/* A3AFFC 80241B1C 04420001 */ bltzl $v0, .L80241B24 +/* A3B000 80241B20 AE000078 */ sw $zero, 0x78($s0) +.L80241B24: +/* A3B004 80241B24 92040073 */ lbu $a0, 0x73($s0) +/* A3B008 80241B28 9207007B */ lbu $a3, 0x7b($s0) +/* A3B00C 80241B2C 0080282D */ daddu $a1, $a0, $zero +/* A3B010 80241B30 AFA70010 */ sw $a3, 0x10($sp) +/* A3B014 80241B34 9202007B */ lbu $v0, 0x7b($s0) +/* A3B018 80241B38 0080302D */ daddu $a2, $a0, $zero +/* A3B01C 80241B3C 0C046FE6 */ jal func_8011BF98 +/* A3B020 80241B40 AFA20014 */ sw $v0, 0x14($sp) +/* A3B024 80241B44 8E030070 */ lw $v1, 0x70($s0) +/* A3B028 80241B48 24020040 */ addiu $v0, $zero, 0x40 +/* A3B02C 80241B4C 14620005 */ bne $v1, $v0, .L80241B64 +/* A3B030 80241B50 0000102D */ daddu $v0, $zero, $zero +/* A3B034 80241B54 8E030078 */ lw $v1, 0x78($s0) +/* A3B038 80241B58 10600002 */ beqz $v1, .L80241B64 +/* A3B03C 80241B5C 24020002 */ addiu $v0, $zero, 2 +/* A3B040 80241B60 0000102D */ daddu $v0, $zero, $zero +.L80241B64: +/* A3B044 80241B64 8FBF001C */ lw $ra, 0x1c($sp) +/* A3B048 80241B68 8FB00018 */ lw $s0, 0x18($sp) +/* A3B04C 80241B6C 03E00008 */ jr $ra +/* A3B050 80241B70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241B74_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241B74_A394E0.s new file mode 100644 index 0000000000..730b74ac8c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241B74_A394E0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B74_A3B054 +/* A3B054 80241B74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3B058 80241B78 AFB00018 */ sw $s0, 0x18($sp) +/* A3B05C 80241B7C 0080802D */ daddu $s0, $a0, $zero +/* A3B060 80241B80 10A00003 */ beqz $a1, .L80241B90 +/* A3B064 80241B84 AFBF001C */ sw $ra, 0x1c($sp) +/* A3B068 80241B88 24020040 */ addiu $v0, $zero, 0x40 +/* A3B06C 80241B8C AE020070 */ sw $v0, 0x70($s0) +.L80241B90: +/* A3B070 80241B90 8E020070 */ lw $v0, 0x70($s0) +/* A3B074 80241B94 24420004 */ addiu $v0, $v0, 4 +/* A3B078 80241B98 AE020070 */ sw $v0, 0x70($s0) +/* A3B07C 80241B9C 28420100 */ slti $v0, $v0, 0x100 +/* A3B080 80241BA0 14400002 */ bnez $v0, .L80241BAC +/* A3B084 80241BA4 240200FF */ addiu $v0, $zero, 0xff +/* A3B088 80241BA8 AE020070 */ sw $v0, 0x70($s0) +.L80241BAC: +/* A3B08C 80241BAC 92040073 */ lbu $a0, 0x73($s0) +/* A3B090 80241BB0 0000382D */ daddu $a3, $zero, $zero +/* A3B094 80241BB4 AFA00010 */ sw $zero, 0x10($sp) +/* A3B098 80241BB8 AFA00014 */ sw $zero, 0x14($sp) +/* A3B09C 80241BBC 0080282D */ daddu $a1, $a0, $zero +/* A3B0A0 80241BC0 0C046FE6 */ jal func_8011BF98 +/* A3B0A4 80241BC4 0080302D */ daddu $a2, $a0, $zero +/* A3B0A8 80241BC8 8E030070 */ lw $v1, 0x70($s0) +/* A3B0AC 80241BCC 240200FF */ addiu $v0, $zero, 0xff +/* A3B0B0 80241BD0 1462003A */ bne $v1, $v0, .L80241CBC +/* A3B0B4 80241BD4 0000102D */ daddu $v0, $zero, $zero +/* A3B0B8 80241BD8 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B0BC 80241BDC 24040079 */ addiu $a0, $zero, 0x79 +/* A3B0C0 80241BE0 0C046B4C */ jal get_model_from_list_index +/* A3B0C4 80241BE4 0040202D */ daddu $a0, $v0, $zero +/* A3B0C8 80241BE8 0040202D */ daddu $a0, $v0, $zero +/* A3B0CC 80241BEC 2405FFFF */ addiu $a1, $zero, -1 +/* A3B0D0 80241BF0 0C046F1F */ jal func_8011BC7C +/* A3B0D4 80241BF4 0000302D */ daddu $a2, $zero, $zero +/* A3B0D8 80241BF8 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B0DC 80241BFC 2404007A */ addiu $a0, $zero, 0x7a +/* A3B0E0 80241C00 0C046B4C */ jal get_model_from_list_index +/* A3B0E4 80241C04 0040202D */ daddu $a0, $v0, $zero +/* A3B0E8 80241C08 0040202D */ daddu $a0, $v0, $zero +/* A3B0EC 80241C0C 2405FFFF */ addiu $a1, $zero, -1 +/* A3B0F0 80241C10 0C046F1F */ jal func_8011BC7C +/* A3B0F4 80241C14 0000302D */ daddu $a2, $zero, $zero +/* A3B0F8 80241C18 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B0FC 80241C1C 2404007B */ addiu $a0, $zero, 0x7b +/* A3B100 80241C20 0C046B4C */ jal get_model_from_list_index +/* A3B104 80241C24 0040202D */ daddu $a0, $v0, $zero +/* A3B108 80241C28 0040202D */ daddu $a0, $v0, $zero +/* A3B10C 80241C2C 2405FFFF */ addiu $a1, $zero, -1 +/* A3B110 80241C30 0C046F1F */ jal func_8011BC7C +/* A3B114 80241C34 0000302D */ daddu $a2, $zero, $zero +/* A3B118 80241C38 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B11C 80241C3C 2404007C */ addiu $a0, $zero, 0x7c +/* A3B120 80241C40 0C046B4C */ jal get_model_from_list_index +/* A3B124 80241C44 0040202D */ daddu $a0, $v0, $zero +/* A3B128 80241C48 0040202D */ daddu $a0, $v0, $zero +/* A3B12C 80241C4C 2405FFFF */ addiu $a1, $zero, -1 +/* A3B130 80241C50 0C046F1F */ jal func_8011BC7C +/* A3B134 80241C54 0000302D */ daddu $a2, $zero, $zero +/* A3B138 80241C58 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B13C 80241C5C 2404007D */ addiu $a0, $zero, 0x7d +/* A3B140 80241C60 0C046B4C */ jal get_model_from_list_index +/* A3B144 80241C64 0040202D */ daddu $a0, $v0, $zero +/* A3B148 80241C68 0040202D */ daddu $a0, $v0, $zero +/* A3B14C 80241C6C 2405FFFF */ addiu $a1, $zero, -1 +/* A3B150 80241C70 0C046F1F */ jal func_8011BC7C +/* A3B154 80241C74 0000302D */ daddu $a2, $zero, $zero +/* A3B158 80241C78 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B15C 80241C7C 2404007F */ addiu $a0, $zero, 0x7f +/* A3B160 80241C80 0C046B4C */ jal get_model_from_list_index +/* A3B164 80241C84 0040202D */ daddu $a0, $v0, $zero +/* A3B168 80241C88 0040202D */ daddu $a0, $v0, $zero +/* A3B16C 80241C8C 2405FFFF */ addiu $a1, $zero, -1 +/* A3B170 80241C90 0C046F1F */ jal func_8011BC7C +/* A3B174 80241C94 0000302D */ daddu $a2, $zero, $zero +/* A3B178 80241C98 0C046C04 */ jal get_model_list_index_from_tree_index +/* A3B17C 80241C9C 240400D0 */ addiu $a0, $zero, 0xd0 +/* A3B180 80241CA0 0C046B4C */ jal get_model_from_list_index +/* A3B184 80241CA4 0040202D */ daddu $a0, $v0, $zero +/* A3B188 80241CA8 0040202D */ daddu $a0, $v0, $zero +/* A3B18C 80241CAC 2405FFFF */ addiu $a1, $zero, -1 +/* A3B190 80241CB0 0C046F1F */ jal func_8011BC7C +/* A3B194 80241CB4 0000302D */ daddu $a2, $zero, $zero +/* A3B198 80241CB8 24020002 */ addiu $v0, $zero, 2 +.L80241CBC: +/* A3B19C 80241CBC 8FBF001C */ lw $ra, 0x1c($sp) +/* A3B1A0 80241CC0 8FB00018 */ lw $s0, 0x18($sp) +/* A3B1A4 80241CC4 03E00008 */ jr $ra +/* A3B1A8 80241CC8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241CCC_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241CCC_A394E0.s new file mode 100644 index 0000000000..be0bcc485f --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241CCC_A394E0.s @@ -0,0 +1,189 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CCC_A3B1AC +/* A3B1AC 80241CCC 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* A3B1B0 80241CD0 AFB300B4 */ sw $s3, 0xb4($sp) +/* A3B1B4 80241CD4 AFBF00C0 */ sw $ra, 0xc0($sp) +/* A3B1B8 80241CD8 AFB500BC */ sw $s5, 0xbc($sp) +/* A3B1BC 80241CDC AFB400B8 */ sw $s4, 0xb8($sp) +/* A3B1C0 80241CE0 AFB200B0 */ sw $s2, 0xb0($sp) +/* A3B1C4 80241CE4 AFB100AC */ sw $s1, 0xac($sp) +/* A3B1C8 80241CE8 AFB000A8 */ sw $s0, 0xa8($sp) +/* A3B1CC 80241CEC F7BE00F0 */ sdc1 $f30, 0xf0($sp) +/* A3B1D0 80241CF0 F7BC00E8 */ sdc1 $f28, 0xe8($sp) +/* A3B1D4 80241CF4 F7BA00E0 */ sdc1 $f26, 0xe0($sp) +/* A3B1D8 80241CF8 F7B800D8 */ sdc1 $f24, 0xd8($sp) +/* A3B1DC 80241CFC F7B600D0 */ sdc1 $f22, 0xd0($sp) +/* A3B1E0 80241D00 F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* A3B1E4 80241D04 10A00011 */ beqz $a1, .L80241D4C +/* A3B1E8 80241D08 0080982D */ daddu $s3, $a0, $zero +/* A3B1EC 80241D0C 3C05F4AC */ lui $a1, 0xf4ac +/* A3B1F0 80241D10 34A5D483 */ ori $a1, $a1, 0xd483 +/* A3B1F4 80241D14 240200B4 */ addiu $v0, $zero, 0xb4 +/* A3B1F8 80241D18 0C0B1EAF */ jal get_variable +/* A3B1FC 80241D1C AE620070 */ sw $v0, 0x70($s3) +/* A3B200 80241D20 0260202D */ daddu $a0, $s3, $zero +/* A3B204 80241D24 3C05F4AC */ lui $a1, 0xf4ac +/* A3B208 80241D28 34A5D484 */ ori $a1, $a1, 0xd484 +/* A3B20C 80241D2C 0C0B1EAF */ jal get_variable +/* A3B210 80241D30 AE620074 */ sw $v0, 0x74($s3) +/* A3B214 80241D34 0260202D */ daddu $a0, $s3, $zero +/* A3B218 80241D38 3C05F4AC */ lui $a1, 0xf4ac +/* A3B21C 80241D3C 34A5D485 */ ori $a1, $a1, 0xd485 +/* A3B220 80241D40 0C0B1EAF */ jal get_variable +/* A3B224 80241D44 AE620078 */ sw $v0, 0x78($s3) +/* A3B228 80241D48 AE62007C */ sw $v0, 0x7c($s3) +.L80241D4C: +/* A3B22C 80241D4C 0000882D */ daddu $s1, $zero, $zero +/* A3B230 80241D50 8E620074 */ lw $v0, 0x74($s3) +/* A3B234 80241D54 3C014120 */ lui $at, 0x4120 +/* A3B238 80241D58 4481A000 */ mtc1 $at, $f20 +/* A3B23C 80241D5C 27B00028 */ addiu $s0, $sp, 0x28 +/* A3B240 80241D60 AFA20018 */ sw $v0, 0x18($sp) +/* A3B244 80241D64 8E620078 */ lw $v0, 0x78($s3) +/* A3B248 80241D68 3C15800B */ lui $s5, %hi(gCameras) +/* A3B24C 80241D6C 26B51D80 */ addiu $s5, $s5, %lo(gCameras) +/* A3B250 80241D70 AFA2001C */ sw $v0, 0x1c($sp) +/* A3B254 80241D74 8E62007C */ lw $v0, 0x7c($s3) +/* A3B258 80241D78 AFA20020 */ sw $v0, 0x20($sp) +/* A3B25C 80241D7C C66C0070 */ lwc1 $f12, 0x70($s3) +/* A3B260 80241D80 46806320 */ cvt.s.w $f12, $f12 +/* A3B264 80241D84 0C00A8BB */ jal sin_deg +/* A3B268 80241D88 27B20068 */ addiu $s2, $sp, 0x68 +/* A3B26C 80241D8C 46140002 */ mul.s $f0, $f0, $f20 +/* A3B270 80241D90 00000000 */ nop +/* A3B274 80241D94 0220A02D */ daddu $s4, $s1, $zero +/* A3B278 80241D98 C66C0070 */ lwc1 $f12, 0x70($s3) +/* A3B27C 80241D9C 46806320 */ cvt.s.w $f12, $f12 +/* A3B280 80241DA0 4480B000 */ mtc1 $zero, $f22 +/* A3B284 80241DA4 3C013F80 */ lui $at, 0x3f80 +/* A3B288 80241DA8 4481D000 */ mtc1 $at, $f26 +/* A3B28C 80241DAC 0C00A8BB */ jal sin_deg +/* A3B290 80241DB0 46140780 */ add.s $f30, $f0, $f20 +/* A3B294 80241DB4 3C0141C8 */ lui $at, 0x41c8 +/* A3B298 80241DB8 44811000 */ mtc1 $at, $f2 +/* A3B29C 80241DBC 8E630070 */ lw $v1, 0x70($s3) +/* A3B2A0 80241DC0 46020002 */ mul.s $f0, $f0, $f2 +/* A3B2A4 80241DC4 00000000 */ nop +/* A3B2A8 80241DC8 00031080 */ sll $v0, $v1, 2 +/* A3B2AC 80241DCC 00431021 */ addu $v0, $v0, $v1 +/* A3B2B0 80241DD0 00021040 */ sll $v0, $v0, 1 +/* A3B2B4 80241DD4 4482C000 */ mtc1 $v0, $f24 +/* A3B2B8 80241DD8 00000000 */ nop +/* A3B2BC 80241DDC 4680C620 */ cvt.s.w $f24, $f24 +/* A3B2C0 80241DE0 46140700 */ add.s $f28, $f0, $f20 +.L80241DE4: +/* A3B2C4 80241DE4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A3B2C8 80241DE8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A3B2CC 80241DEC 4406B000 */ mfc1 $a2, $f22 +/* A3B2D0 80241DF0 00031080 */ sll $v0, $v1, 2 +/* A3B2D4 80241DF4 00431021 */ addu $v0, $v0, $v1 +/* A3B2D8 80241DF8 00021080 */ sll $v0, $v0, 2 +/* A3B2DC 80241DFC 00431023 */ subu $v0, $v0, $v1 +/* A3B2E0 80241E00 000218C0 */ sll $v1, $v0, 3 +/* A3B2E4 80241E04 00431021 */ addu $v0, $v0, $v1 +/* A3B2E8 80241E08 000210C0 */ sll $v0, $v0, 3 +/* A3B2EC 80241E0C 00551021 */ addu $v0, $v0, $s5 +/* A3B2F0 80241E10 C440006C */ lwc1 $f0, 0x6c($v0) +/* A3B2F4 80241E14 4407D000 */ mfc1 $a3, $f26 +/* A3B2F8 80241E18 46000007 */ neg.s $f0, $f0 +/* A3B2FC 80241E1C 44050000 */ mfc1 $a1, $f0 +/* A3B300 80241E20 0200202D */ daddu $a0, $s0, $zero +/* A3B304 80241E24 0C019EC8 */ jal guRotateF +/* A3B308 80241E28 E7B60010 */ swc1 $f22, 0x10($sp) +/* A3B30C 80241E2C 44942000 */ mtc1 $s4, $f4 +/* A3B310 80241E30 00000000 */ nop +/* A3B314 80241E34 46802120 */ cvt.s.w $f4, $f4 +/* A3B318 80241E38 4406B000 */ mfc1 $a2, $f22 +/* A3B31C 80241E3C 4407B000 */ mfc1 $a3, $f22 +/* A3B320 80241E40 44052000 */ mfc1 $a1, $f4 +/* A3B324 80241E44 0240202D */ daddu $a0, $s2, $zero +/* A3B328 80241E48 0C019EC8 */ jal guRotateF +/* A3B32C 80241E4C E7BA0010 */ swc1 $f26, 0x10($sp) +/* A3B330 80241E50 0240202D */ daddu $a0, $s2, $zero +/* A3B334 80241E54 0200282D */ daddu $a1, $s0, $zero +/* A3B338 80241E58 0C019D80 */ jal guMtxCatF +/* A3B33C 80241E5C 0200302D */ daddu $a2, $s0, $zero +/* A3B340 80241E60 0C00A8BB */ jal sin_deg +/* A3B344 80241E64 4600C306 */ mov.s $f12, $f24 +/* A3B348 80241E68 4600F502 */ mul.s $f20, $f30, $f0 +/* A3B34C 80241E6C 00000000 */ nop +/* A3B350 80241E70 0C00A8D4 */ jal cos_deg +/* A3B354 80241E74 4600C306 */ mov.s $f12, $f24 +/* A3B358 80241E78 4600E002 */ mul.s $f0, $f28, $f0 +/* A3B35C 80241E7C 00000000 */ nop +/* A3B360 80241E80 4407B000 */ mfc1 $a3, $f22 +/* A3B364 80241E84 44060000 */ mfc1 $a2, $f0 +/* A3B368 80241E88 4405A000 */ mfc1 $a1, $f20 +/* A3B36C 80241E8C 0C019E40 */ jal guTranslateF +/* A3B370 80241E90 0240202D */ daddu $a0, $s2, $zero +/* A3B374 80241E94 0240202D */ daddu $a0, $s2, $zero +/* A3B378 80241E98 0200282D */ daddu $a1, $s0, $zero +/* A3B37C 80241E9C 0C019D80 */ jal guMtxCatF +/* A3B380 80241EA0 0200302D */ daddu $a2, $s0, $zero +/* A3B384 80241EA4 00111880 */ sll $v1, $s1, 2 +/* A3B388 80241EA8 27A40018 */ addiu $a0, $sp, 0x18 +/* A3B38C 80241EAC 00831821 */ addu $v1, $a0, $v1 +/* A3B390 80241EB0 8C620000 */ lw $v0, ($v1) +/* A3B394 80241EB4 C7A00058 */ lwc1 $f0, 0x58($sp) +/* A3B398 80241EB8 8C42000C */ lw $v0, 0xc($v0) +/* A3B39C 80241EBC E4400010 */ swc1 $f0, 0x10($v0) +/* A3B3A0 80241EC0 8C620000 */ lw $v0, ($v1) +/* A3B3A4 80241EC4 C7A0005C */ lwc1 $f0, 0x5c($sp) +/* A3B3A8 80241EC8 8C42000C */ lw $v0, 0xc($v0) +/* A3B3AC 80241ECC E4400014 */ swc1 $f0, 0x14($v0) +/* A3B3B0 80241ED0 8C620000 */ lw $v0, ($v1) +/* A3B3B4 80241ED4 C7A00060 */ lwc1 $f0, 0x60($sp) +/* A3B3B8 80241ED8 8C42000C */ lw $v0, 0xc($v0) +/* A3B3BC 80241EDC 26310001 */ addiu $s1, $s1, 1 +/* A3B3C0 80241EE0 E4400018 */ swc1 $f0, 0x18($v0) +/* A3B3C4 80241EE4 2A220003 */ slti $v0, $s1, 3 +/* A3B3C8 80241EE8 1440FFBE */ bnez $v0, .L80241DE4 +/* A3B3CC 80241EEC 26940078 */ addiu $s4, $s4, 0x78 +/* A3B3D0 80241EF0 8E620070 */ lw $v0, 0x70($s3) +/* A3B3D4 80241EF4 2442FFFF */ addiu $v0, $v0, -1 +/* A3B3D8 80241EF8 AE620070 */ sw $v0, 0x70($s3) +/* A3B3DC 80241EFC 28420010 */ slti $v0, $v0, 0x10 +/* A3B3E0 80241F00 1040000A */ beqz $v0, .L80241F2C +/* A3B3E4 80241F04 00000000 */ nop +/* A3B3E8 80241F08 0000882D */ daddu $s1, $zero, $zero +.L80241F0C: +/* A3B3EC 80241F0C 8C820000 */ lw $v0, ($a0) +/* A3B3F0 80241F10 8C43000C */ lw $v1, 0xc($v0) +/* A3B3F4 80241F14 8E620070 */ lw $v0, 0x70($s3) +/* A3B3F8 80241F18 26310001 */ addiu $s1, $s1, 1 +/* A3B3FC 80241F1C AC62004C */ sw $v0, 0x4c($v1) +/* A3B400 80241F20 2A220003 */ slti $v0, $s1, 3 +/* A3B404 80241F24 1440FFF9 */ bnez $v0, .L80241F0C +/* A3B408 80241F28 24840004 */ addiu $a0, $a0, 4 +.L80241F2C: +/* A3B40C 80241F2C 8E620070 */ lw $v0, 0x70($s3) +/* A3B410 80241F30 0441000A */ bgez $v0, .L80241F5C +/* A3B414 80241F34 0000102D */ daddu $v0, $zero, $zero +/* A3B418 80241F38 0000882D */ daddu $s1, $zero, $zero +/* A3B41C 80241F3C 27B00018 */ addiu $s0, $sp, 0x18 +.L80241F40: +/* A3B420 80241F40 8E040000 */ lw $a0, ($s0) +/* A3B424 80241F44 26100004 */ addiu $s0, $s0, 4 +/* A3B428 80241F48 0C016914 */ jal remove_effect +/* A3B42C 80241F4C 26310001 */ addiu $s1, $s1, 1 +/* A3B430 80241F50 2A220003 */ slti $v0, $s1, 3 +/* A3B434 80241F54 1440FFFA */ bnez $v0, .L80241F40 +/* A3B438 80241F58 24020002 */ addiu $v0, $zero, 2 +.L80241F5C: +/* A3B43C 80241F5C 8FBF00C0 */ lw $ra, 0xc0($sp) +/* A3B440 80241F60 8FB500BC */ lw $s5, 0xbc($sp) +/* A3B444 80241F64 8FB400B8 */ lw $s4, 0xb8($sp) +/* A3B448 80241F68 8FB300B4 */ lw $s3, 0xb4($sp) +/* A3B44C 80241F6C 8FB200B0 */ lw $s2, 0xb0($sp) +/* A3B450 80241F70 8FB100AC */ lw $s1, 0xac($sp) +/* A3B454 80241F74 8FB000A8 */ lw $s0, 0xa8($sp) +/* A3B458 80241F78 D7BE00F0 */ ldc1 $f30, 0xf0($sp) +/* A3B45C 80241F7C D7BC00E8 */ ldc1 $f28, 0xe8($sp) +/* A3B460 80241F80 D7BA00E0 */ ldc1 $f26, 0xe0($sp) +/* A3B464 80241F84 D7B800D8 */ ldc1 $f24, 0xd8($sp) +/* A3B468 80241F88 D7B600D0 */ ldc1 $f22, 0xd0($sp) +/* A3B46C 80241F8C D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* A3B470 80241F90 03E00008 */ jr $ra +/* A3B474 80241F94 27BD00F8 */ addiu $sp, $sp, 0xf8 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241F98.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241F98.s new file mode 100644 index 0000000000..2ef708e6b7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241F98.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F98 +/* A3B478 80241F98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3B47C 80241F9C AFBF0010 */ sw $ra, 0x10($sp) +/* A3B480 80241FA0 8C82000C */ lw $v0, 0xc($a0) +/* A3B484 80241FA4 0C0B1EAF */ jal get_variable +/* A3B488 80241FA8 8C450000 */ lw $a1, ($v0) +/* A3B48C 80241FAC 8C44000C */ lw $a0, 0xc($v0) +/* A3B490 80241FB0 8C83001C */ lw $v1, 0x1c($a0) +/* A3B494 80241FB4 24630001 */ addiu $v1, $v1, 1 +/* A3B498 80241FB8 AC83001C */ sw $v1, 0x1c($a0) +/* A3B49C 80241FBC 8FBF0010 */ lw $ra, 0x10($sp) +/* A3B4A0 80241FC0 24020002 */ addiu $v0, $zero, 2 +/* A3B4A4 80241FC4 03E00008 */ jr $ra +/* A3B4A8 80241FC8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A3B4AC 80241FCC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80241FD0_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80241FD0_A394E0.s new file mode 100644 index 0000000000..4965af9db1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80241FD0_A394E0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FD0_A3B4B0 +/* A3B4B0 80241FD0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3B4B4 80241FD4 AFB00010 */ sw $s0, 0x10($sp) +/* A3B4B8 80241FD8 3C108024 */ lui $s0, 0x8024 +/* A3B4BC 80241FDC 26105E80 */ addiu $s0, $s0, 0x5e80 +/* A3B4C0 80241FE0 AFBF0018 */ sw $ra, 0x18($sp) +/* A3B4C4 80241FE4 AFB10014 */ sw $s1, 0x14($sp) +/* A3B4C8 80241FE8 8E020000 */ lw $v0, ($s0) +/* A3B4CC 80241FEC 14400010 */ bnez $v0, .L80242030 +/* A3B4D0 80241FF0 0080882D */ daddu $s1, $a0, $zero +/* A3B4D4 80241FF4 0C00AB39 */ jal heap_malloc +/* A3B4D8 80241FF8 24040040 */ addiu $a0, $zero, 0x40 +/* A3B4DC 80241FFC AE020000 */ sw $v0, ($s0) +/* A3B4E0 80242000 0000182D */ daddu $v1, $zero, $zero +/* A3B4E4 80242004 0040282D */ daddu $a1, $v0, $zero +/* A3B4E8 80242008 0220202D */ daddu $a0, $s1, $zero +.L8024200C: +/* A3B4EC 8024200C 8C820084 */ lw $v0, 0x84($a0) +/* A3B4F0 80242010 24840004 */ addiu $a0, $a0, 4 +/* A3B4F4 80242014 24630001 */ addiu $v1, $v1, 1 +/* A3B4F8 80242018 ACA20000 */ sw $v0, ($a1) +/* A3B4FC 8024201C 28620010 */ slti $v0, $v1, 0x10 +/* A3B500 80242020 1440FFFA */ bnez $v0, .L8024200C +/* A3B504 80242024 24A50004 */ addiu $a1, $a1, 4 +/* A3B508 80242028 0809081B */ j .L8024206C +/* A3B50C 8024202C 00000000 */ nop +.L80242030: +/* A3B510 80242030 0000182D */ daddu $v1, $zero, $zero +/* A3B514 80242034 0040282D */ daddu $a1, $v0, $zero +/* A3B518 80242038 0220202D */ daddu $a0, $s1, $zero +.L8024203C: +/* A3B51C 8024203C 8CA20000 */ lw $v0, ($a1) +/* A3B520 80242040 24A50004 */ addiu $a1, $a1, 4 +/* A3B524 80242044 24630001 */ addiu $v1, $v1, 1 +/* A3B528 80242048 AC820084 */ sw $v0, 0x84($a0) +/* A3B52C 8024204C 28620010 */ slti $v0, $v1, 0x10 +/* A3B530 80242050 1440FFFA */ bnez $v0, .L8024203C +/* A3B534 80242054 24840004 */ addiu $a0, $a0, 4 +/* A3B538 80242058 3C108024 */ lui $s0, 0x8024 +/* A3B53C 8024205C 26105E80 */ addiu $s0, $s0, 0x5e80 +/* A3B540 80242060 0C00AB4B */ jal heap_free +/* A3B544 80242064 8E040000 */ lw $a0, ($s0) +/* A3B548 80242068 AE000000 */ sw $zero, ($s0) +.L8024206C: +/* A3B54C 8024206C 8FBF0018 */ lw $ra, 0x18($sp) +/* A3B550 80242070 8FB10014 */ lw $s1, 0x14($sp) +/* A3B554 80242074 8FB00010 */ lw $s0, 0x10($sp) +/* A3B558 80242078 24020002 */ addiu $v0, $zero, 2 +/* A3B55C 8024207C 03E00008 */ jr $ra +/* A3B560 80242080 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80242084_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_80242084_A394E0.s new file mode 100644 index 0000000000..c1db92aa39 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80242084_A394E0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242084_A3B564 +/* A3B564 80242084 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3B568 80242088 AFB00010 */ sw $s0, 0x10($sp) +/* A3B56C 8024208C 0080802D */ daddu $s0, $a0, $zero +/* A3B570 80242090 AFBF0018 */ sw $ra, 0x18($sp) +/* A3B574 80242094 AFB10014 */ sw $s1, 0x14($sp) +/* A3B578 80242098 8E02000C */ lw $v0, 0xc($s0) +/* A3B57C 8024209C 8C510000 */ lw $s1, ($v0) +/* A3B580 802420A0 0C0B1EAF */ jal get_variable +/* A3B584 802420A4 0220282D */ daddu $a1, $s1, $zero +/* A3B588 802420A8 3C03FFF0 */ lui $v1, 0xfff0 +/* A3B58C 802420AC 3463FFFF */ ori $v1, $v1, 0xffff +/* A3B590 802420B0 0200202D */ daddu $a0, $s0, $zero +/* A3B594 802420B4 00431024 */ and $v0, $v0, $v1 +/* A3B598 802420B8 00021140 */ sll $v0, $v0, 5 +/* A3B59C 802420BC 3C068008 */ lui $a2, %hi(gItemTable) +/* A3B5A0 802420C0 00C23021 */ addu $a2, $a2, $v0 +/* A3B5A4 802420C4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A3B5A8 802420C8 0C0B2026 */ jal set_variable +/* A3B5AC 802420CC 0220282D */ daddu $a1, $s1, $zero +/* A3B5B0 802420D0 8FBF0018 */ lw $ra, 0x18($sp) +/* A3B5B4 802420D4 8FB10014 */ lw $s1, 0x14($sp) +/* A3B5B8 802420D8 8FB00010 */ lw $s0, 0x10($sp) +/* A3B5BC 802420DC 24020002 */ addiu $v0, $zero, 2 +/* A3B5C0 802420E0 03E00008 */ jr $ra +/* A3B5C4 802420E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802420E8.s b/asm/nonmatchings/world/area_hos/hos_06/func_802420E8.s new file mode 100644 index 0000000000..fcd2298671 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802420E8.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420E8 +/* A3B5C8 802420E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A3B5CC 802420EC AFB10014 */ sw $s1, 0x14($sp) +/* A3B5D0 802420F0 0080882D */ daddu $s1, $a0, $zero +/* A3B5D4 802420F4 AFBF001C */ sw $ra, 0x1c($sp) +/* A3B5D8 802420F8 AFB20018 */ sw $s2, 0x18($sp) +/* A3B5DC 802420FC AFB00010 */ sw $s0, 0x10($sp) +/* A3B5E0 80242100 8E240084 */ lw $a0, 0x84($s1) +/* A3B5E4 80242104 0C04C3D6 */ jal get_item_entity +/* A3B5E8 80242108 00A0802D */ daddu $s0, $a1, $zero +/* A3B5EC 8024210C 12000005 */ beqz $s0, .L80242124 +/* A3B5F0 80242110 0040902D */ daddu $s2, $v0, $zero +/* A3B5F4 80242114 C640000C */ lwc1 $f0, 0xc($s2) +/* A3B5F8 80242118 AE200074 */ sw $zero, 0x74($s1) +/* A3B5FC 8024211C AE20007C */ sw $zero, 0x7c($s1) +/* A3B600 80242120 E6200078 */ swc1 $f0, 0x78($s1) +.L80242124: +/* A3B604 80242124 8E230074 */ lw $v1, 0x74($s1) +/* A3B608 80242128 10600005 */ beqz $v1, .L80242140 +/* A3B60C 8024212C 24020001 */ addiu $v0, $zero, 1 +/* A3B610 80242130 10620024 */ beq $v1, $v0, .L802421C4 +/* A3B614 80242134 00000000 */ nop +/* A3B618 80242138 08090887 */ j .L8024221C +/* A3B61C 8024213C 00000000 */ nop +.L80242140: +/* A3B620 80242140 3C013FC9 */ lui $at, 0x3fc9 +/* A3B624 80242144 34210FD8 */ ori $at, $at, 0xfd8 +/* A3B628 80242148 44810000 */ mtc1 $at, $f0 +/* A3B62C 8024214C C62C007C */ lwc1 $f12, 0x7c($s1) +/* A3B630 80242150 46806320 */ cvt.s.w $f12, $f12 +/* A3B634 80242154 46006302 */ mul.s $f12, $f12, $f0 +/* A3B638 80242158 00000000 */ nop +/* A3B63C 8024215C 3C0141F0 */ lui $at, 0x41f0 +/* A3B640 80242160 44810000 */ mtc1 $at, $f0 +/* A3B644 80242164 0C00A874 */ jal cos_rad +/* A3B648 80242168 46006303 */ div.s $f12, $f12, $f0 +/* A3B64C 8024216C 3C013F80 */ lui $at, 0x3f80 +/* A3B650 80242170 44811000 */ mtc1 $at, $f2 +/* A3B654 80242174 00000000 */ nop +/* A3B658 80242178 46001081 */ sub.s $f2, $f2, $f0 +/* A3B65C 8024217C 3C0141A0 */ lui $at, 0x41a0 +/* A3B660 80242180 44810000 */ mtc1 $at, $f0 +/* A3B664 80242184 00000000 */ nop +/* A3B668 80242188 46001082 */ mul.s $f2, $f2, $f0 +/* A3B66C 8024218C 00000000 */ nop +/* A3B670 80242190 C6200078 */ lwc1 $f0, 0x78($s1) +/* A3B674 80242194 46020000 */ add.s $f0, $f0, $f2 +/* A3B678 80242198 E640000C */ swc1 $f0, 0xc($s2) +/* A3B67C 8024219C 8E23007C */ lw $v1, 0x7c($s1) +/* A3B680 802421A0 2402001E */ addiu $v0, $zero, 0x1e +/* A3B684 802421A4 14620005 */ bne $v1, $v0, .L802421BC +/* A3B688 802421A8 24620001 */ addiu $v0, $v1, 1 +/* A3B68C 802421AC 24020001 */ addiu $v0, $zero, 1 +/* A3B690 802421B0 AE220074 */ sw $v0, 0x74($s1) +/* A3B694 802421B4 08090887 */ j .L8024221C +/* A3B698 802421B8 AE20007C */ sw $zero, 0x7c($s1) +.L802421BC: +/* A3B69C 802421BC 08090887 */ j .L8024221C +/* A3B6A0 802421C0 AE22007C */ sw $v0, 0x7c($s1) +.L802421C4: +/* A3B6A4 802421C4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* A3B6A8 802421C8 0C00A8D4 */ jal cos_deg +/* A3B6AC 802421CC 46806320 */ cvt.s.w $f12, $f12 +/* A3B6B0 802421D0 3C014040 */ lui $at, 0x4040 +/* A3B6B4 802421D4 44811000 */ mtc1 $at, $f2 +/* A3B6B8 802421D8 00000000 */ nop +/* A3B6BC 802421DC 46020002 */ mul.s $f0, $f0, $f2 +/* A3B6C0 802421E0 00000000 */ nop +/* A3B6C4 802421E4 3C014188 */ lui $at, 0x4188 +/* A3B6C8 802421E8 44812000 */ mtc1 $at, $f4 +/* A3B6CC 802421EC C6220078 */ lwc1 $f2, 0x78($s1) +/* A3B6D0 802421F0 46041080 */ add.s $f2, $f2, $f4 +/* A3B6D4 802421F4 46001080 */ add.s $f2, $f2, $f0 +/* A3B6D8 802421F8 E642000C */ swc1 $f2, 0xc($s2) +/* A3B6DC 802421FC 8E22007C */ lw $v0, 0x7c($s1) +/* A3B6E0 80242200 24420009 */ addiu $v0, $v0, 9 +/* A3B6E4 80242204 44826000 */ mtc1 $v0, $f12 +/* A3B6E8 80242208 00000000 */ nop +/* A3B6EC 8024220C 0C00A6C9 */ jal clamp_angle +/* A3B6F0 80242210 46806320 */ cvt.s.w $f12, $f12 +/* A3B6F4 80242214 4600018D */ trunc.w.s $f6, $f0 +/* A3B6F8 80242218 E626007C */ swc1 $f6, 0x7c($s1) +.L8024221C: +/* A3B6FC 8024221C 8FBF001C */ lw $ra, 0x1c($sp) +/* A3B700 80242220 8FB20018 */ lw $s2, 0x18($sp) +/* A3B704 80242224 8FB10014 */ lw $s1, 0x14($sp) +/* A3B708 80242228 8FB00010 */ lw $s0, 0x10($sp) +/* A3B70C 8024222C 0000102D */ daddu $v0, $zero, $zero +/* A3B710 80242230 03E00008 */ jr $ra +/* A3B714 80242234 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80242238.s b/asm/nonmatchings/world/area_hos/hos_06/func_80242238.s new file mode 100644 index 0000000000..8d537f58d6 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80242238.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242238 +/* A3B718 80242238 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3B71C 8024223C AFB00010 */ sw $s0, 0x10($sp) +/* A3B720 80242240 0080802D */ daddu $s0, $a0, $zero +/* A3B724 80242244 AFBF0014 */ sw $ra, 0x14($sp) +/* A3B728 80242248 8E02000C */ lw $v0, 0xc($s0) +/* A3B72C 8024224C 0C0B1EAF */ jal get_variable +/* A3B730 80242250 8C450000 */ lw $a1, ($v0) +/* A3B734 80242254 00021140 */ sll $v0, $v0, 5 +/* A3B738 80242258 AE000084 */ sw $zero, 0x84($s0) +/* A3B73C 8024225C 3C018008 */ lui $at, 0x8008 +/* A3B740 80242260 00220821 */ addu $at, $at, $v0 +/* A3B744 80242264 942278F8 */ lhu $v0, 0x78f8($at) +/* A3B748 80242268 30420040 */ andi $v0, $v0, 0x40 +/* A3B74C 8024226C 10400002 */ beqz $v0, .L80242278 +/* A3B750 80242270 24020001 */ addiu $v0, $zero, 1 +/* A3B754 80242274 AE020084 */ sw $v0, 0x84($s0) +.L80242278: +/* A3B758 80242278 8FBF0014 */ lw $ra, 0x14($sp) +/* A3B75C 8024227C 8FB00010 */ lw $s0, 0x10($sp) +/* A3B760 80242280 24020002 */ addiu $v0, $zero, 2 +/* A3B764 80242284 03E00008 */ jr $ra +/* A3B768 80242288 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_8024228C_A394E0.s b/asm/nonmatchings/world/area_hos/hos_06/func_8024228C_A394E0.s new file mode 100644 index 0000000000..05207daec1 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_8024228C_A394E0.s @@ -0,0 +1,161 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024228C_A3B76C +/* A3B76C 8024228C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A3B770 80242290 AFB3001C */ sw $s3, 0x1c($sp) +/* A3B774 80242294 0080982D */ daddu $s3, $a0, $zero +/* A3B778 80242298 AFBF0034 */ sw $ra, 0x34($sp) +/* A3B77C 8024229C AFBE0030 */ sw $fp, 0x30($sp) +/* A3B780 802422A0 AFB7002C */ sw $s7, 0x2c($sp) +/* A3B784 802422A4 AFB60028 */ sw $s6, 0x28($sp) +/* A3B788 802422A8 AFB50024 */ sw $s5, 0x24($sp) +/* A3B78C 802422AC AFB40020 */ sw $s4, 0x20($sp) +/* A3B790 802422B0 AFB20018 */ sw $s2, 0x18($sp) +/* A3B794 802422B4 AFB10014 */ sw $s1, 0x14($sp) +/* A3B798 802422B8 10A0004B */ beqz $a1, .L802423E8 +/* A3B79C 802422BC AFB00010 */ sw $s0, 0x10($sp) +/* A3B7A0 802422C0 0C00AB39 */ jal heap_malloc +/* A3B7A4 802422C4 24040330 */ addiu $a0, $zero, 0x330 +/* A3B7A8 802422C8 8E630084 */ lw $v1, 0x84($s3) +/* A3B7AC 802422CC 0040A82D */ daddu $s5, $v0, $zero +/* A3B7B0 802422D0 AE750078 */ sw $s5, 0x78($s3) +/* A3B7B4 802422D4 14600008 */ bnez $v1, .L802422F8 +/* A3B7B8 802422D8 AE6300AC */ sw $v1, 0xac($s3) +/* A3B7BC 802422DC 3C03F840 */ lui $v1, 0xf840 +/* A3B7C0 802422E0 34635D64 */ ori $v1, $v1, 0x5d64 +/* A3B7C4 802422E4 3C02F840 */ lui $v0, 0xf840 +/* A3B7C8 802422E8 34425D69 */ ori $v0, $v0, 0x5d69 +/* A3B7CC 802422EC AE62008C */ sw $v0, 0x8c($s3) +/* A3B7D0 802422F0 080908C4 */ j .L80242310 +/* A3B7D4 802422F4 2402000C */ addiu $v0, $zero, 0xc +.L802422F8: +/* A3B7D8 802422F8 3C03F840 */ lui $v1, 0xf840 +/* A3B7DC 802422FC 34635D69 */ ori $v1, $v1, 0x5d69 +/* A3B7E0 80242300 3C02F840 */ lui $v0, 0xf840 +/* A3B7E4 80242304 34425D6E */ ori $v0, $v0, 0x5d6e +/* A3B7E8 80242308 AE62008C */ sw $v0, 0x8c($s3) +/* A3B7EC 8024230C 24020009 */ addiu $v0, $zero, 9 +.L80242310: +/* A3B7F0 80242310 AE630088 */ sw $v1, 0x88($s3) +/* A3B7F4 80242314 AEA20318 */ sw $v0, 0x318($s5) +/* A3B7F8 80242318 0000B02D */ daddu $s6, $zero, $zero +/* A3B7FC 8024231C 02C0902D */ daddu $s2, $s6, $zero +/* A3B800 80242320 3C1E8009 */ lui $fp, 0x8009 +/* A3B804 80242324 27DEA680 */ addiu $fp, $fp, -0x5980 +/* A3B808 80242328 24170001 */ addiu $s7, $zero, 1 +/* A3B80C 8024232C 3C148024 */ lui $s4, 0x8024 +/* A3B810 80242330 26945EEC */ addiu $s4, $s4, 0x5eec +/* A3B814 80242334 02A0882D */ daddu $s1, $s5, $zero +.L80242338: +/* A3B818 80242338 8E650088 */ lw $a1, 0x88($s3) +/* A3B81C 8024233C 0000202D */ daddu $a0, $zero, $zero +/* A3B820 80242340 0C0B1EAF */ jal get_variable +/* A3B824 80242344 00B22821 */ addu $a1, $a1, $s2 +/* A3B828 80242348 0000202D */ daddu $a0, $zero, $zero +/* A3B82C 8024234C 8E65008C */ lw $a1, 0x8c($s3) +/* A3B830 80242350 0040802D */ daddu $s0, $v0, $zero +/* A3B834 80242354 0C0B1EAF */ jal get_variable +/* A3B838 80242358 00B22821 */ addu $a1, $a1, $s2 +/* A3B83C 8024235C 52000016 */ beql $s0, $zero, .L802423B8 +/* A3B840 80242360 26520001 */ addiu $s2, $s2, 1 +/* A3B844 80242364 54400014 */ bnel $v0, $zero, .L802423B8 +/* A3B848 80242368 26520001 */ addiu $s2, $s2, 1 +/* A3B84C 8024236C 8E830000 */ lw $v1, ($s4) +/* A3B850 80242370 3C078008 */ lui $a3, %hi(gItemTable) +/* A3B854 80242374 24E778E0 */ addiu $a3, $a3, %lo(gItemTable) +/* A3B858 80242378 00031940 */ sll $v1, $v1, 5 +/* A3B85C 8024237C 00671821 */ addu $v1, $v1, $a3 +/* A3B860 80242380 84620004 */ lh $v0, 4($v1) +/* A3B864 80242384 000210C0 */ sll $v0, $v0, 3 +/* A3B868 80242388 005E1021 */ addu $v0, $v0, $fp +/* A3B86C 8024238C 8C420000 */ lw $v0, ($v0) +/* A3B870 80242390 AE320108 */ sw $s2, 0x108($s1) +/* A3B874 80242394 AE37018C */ sw $s7, 0x18c($s1) +/* A3B878 80242398 AE220000 */ sw $v0, ($s1) +/* A3B87C 8024239C 8C620000 */ lw $v0, ($v1) +/* A3B880 802423A0 AE220084 */ sw $v0, 0x84($s1) +/* A3B884 802423A4 8C620014 */ lw $v0, 0x14($v1) +/* A3B888 802423A8 26D60001 */ addiu $s6, $s6, 1 +/* A3B88C 802423AC AE220294 */ sw $v0, 0x294($s1) +/* A3B890 802423B0 26310004 */ addiu $s1, $s1, 4 +/* A3B894 802423B4 26520001 */ addiu $s2, $s2, 1 +.L802423B8: +/* A3B898 802423B8 2A420005 */ slti $v0, $s2, 5 +/* A3B89C 802423BC 1440FFDE */ bnez $v0, .L80242338 +/* A3B8A0 802423C0 26940004 */ addiu $s4, $s4, 4 +/* A3B8A4 802423C4 16C00004 */ bnez $s6, .L802423D8 +/* A3B8A8 802423C8 02A0202D */ daddu $a0, $s5, $zero +/* A3B8AC 802423CC AE600084 */ sw $zero, 0x84($s3) +/* A3B8B0 802423D0 08090927 */ j .L8024249C +/* A3B8B4 802423D4 24020001 */ addiu $v0, $zero, 1 +.L802423D8: +/* A3B8B8 802423D8 AC960324 */ sw $s6, 0x324($a0) +/* A3B8BC 802423DC 0C03D390 */ jal func_800F4E40 +/* A3B8C0 802423E0 AC800328 */ sw $zero, 0x328($a0) +/* A3B8C4 802423E4 AE600070 */ sw $zero, 0x70($s3) +.L802423E8: +/* A3B8C8 802423E8 8E620070 */ lw $v0, 0x70($s3) +/* A3B8CC 802423EC 8E750078 */ lw $s5, 0x78($s3) +/* A3B8D0 802423F0 14400008 */ bnez $v0, .L80242414 +/* A3B8D4 802423F4 24420001 */ addiu $v0, $v0, 1 +/* A3B8D8 802423F8 86A2032C */ lh $v0, 0x32c($s5) +/* A3B8DC 802423FC 10400009 */ beqz $v0, .L80242424 +/* A3B8E0 80242400 AE620074 */ sw $v0, 0x74($s3) +/* A3B8E4 80242404 0C03C4EC */ jal func_800F13B0 +/* A3B8E8 80242408 00000000 */ nop +/* A3B8EC 8024240C 8E620070 */ lw $v0, 0x70($s3) +/* A3B8F0 80242410 24420001 */ addiu $v0, $v0, 1 +.L80242414: +/* A3B8F4 80242414 AE620070 */ sw $v0, 0x70($s3) +/* A3B8F8 80242418 2842000F */ slti $v0, $v0, 0xf +/* A3B8FC 8024241C 10400003 */ beqz $v0, .L8024242C +/* A3B900 80242420 00000000 */ nop +.L80242424: +/* A3B904 80242424 08090927 */ j .L8024249C +/* A3B908 80242428 0000102D */ daddu $v0, $zero, $zero +.L8024242C: +/* A3B90C 8024242C 0C03C54E */ jal func_800F1538 +/* A3B910 80242430 00000000 */ nop +/* A3B914 80242434 8E630074 */ lw $v1, 0x74($s3) +/* A3B918 80242438 240200FF */ addiu $v0, $zero, 0xff +/* A3B91C 8024243C 14620004 */ bne $v1, $v0, .L80242450 +/* A3B920 80242440 2462FFFF */ addiu $v0, $v1, -1 +/* A3B924 80242444 2402FFFF */ addiu $v0, $zero, -1 +/* A3B928 80242448 08090926 */ j .L80242498 +/* A3B92C 8024244C AE620084 */ sw $v0, 0x84($s3) +.L80242450: +/* A3B930 80242450 00021080 */ sll $v0, $v0, 2 +/* A3B934 80242454 02A21021 */ addu $v0, $s5, $v0 +/* A3B938 80242458 8C460108 */ lw $a2, 0x108($v0) +/* A3B93C 8024245C 8E6300AC */ lw $v1, 0xac($s3) +/* A3B940 80242460 00061080 */ sll $v0, $a2, 2 +/* A3B944 80242464 3C018024 */ lui $at, 0x8024 +/* A3B948 80242468 00220821 */ addu $at, $at, $v0 +/* A3B94C 8024246C 8C225EEC */ lw $v0, 0x5eec($at) +/* A3B950 80242470 14600006 */ bnez $v1, .L8024248C +/* A3B954 80242474 AE620084 */ sw $v0, 0x84($s3) +/* A3B958 80242478 8E65008C */ lw $a1, 0x8c($s3) +/* A3B95C 8024247C 0000202D */ daddu $a0, $zero, $zero +/* A3B960 80242480 00A62821 */ addu $a1, $a1, $a2 +/* A3B964 80242484 0C0B2026 */ jal set_variable +/* A3B968 80242488 24060001 */ addiu $a2, $zero, 1 +.L8024248C: +/* A3B96C 8024248C 8E640078 */ lw $a0, 0x78($s3) +/* A3B970 80242490 0C00AB4B */ jal heap_free +/* A3B974 80242494 00000000 */ nop +.L80242498: +/* A3B978 80242498 24020002 */ addiu $v0, $zero, 2 +.L8024249C: +/* A3B97C 8024249C 8FBF0034 */ lw $ra, 0x34($sp) +/* A3B980 802424A0 8FBE0030 */ lw $fp, 0x30($sp) +/* A3B984 802424A4 8FB7002C */ lw $s7, 0x2c($sp) +/* A3B988 802424A8 8FB60028 */ lw $s6, 0x28($sp) +/* A3B98C 802424AC 8FB50024 */ lw $s5, 0x24($sp) +/* A3B990 802424B0 8FB40020 */ lw $s4, 0x20($sp) +/* A3B994 802424B4 8FB3001C */ lw $s3, 0x1c($sp) +/* A3B998 802424B8 8FB20018 */ lw $s2, 0x18($sp) +/* A3B99C 802424BC 8FB10014 */ lw $s1, 0x14($sp) +/* A3B9A0 802424C0 8FB00010 */ lw $s0, 0x10($sp) +/* A3B9A4 802424C4 03E00008 */ jr $ra +/* A3B9A8 802424C8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_802424CC.s b/asm/nonmatchings/world/area_hos/hos_06/func_802424CC.s new file mode 100644 index 0000000000..3c7c28783c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_802424CC.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424CC +/* A3B9AC 802424CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3B9B0 802424D0 0000282D */ daddu $a1, $zero, $zero +/* A3B9B4 802424D4 00A0302D */ daddu $a2, $a1, $zero +/* A3B9B8 802424D8 3C038024 */ lui $v1, 0x8024 +/* A3B9BC 802424DC 24635EEC */ addiu $v1, $v1, 0x5eec +/* A3B9C0 802424E0 AFBF0010 */ sw $ra, 0x10($sp) +/* A3B9C4 802424E4 8C840084 */ lw $a0, 0x84($a0) +.L802424E8: +/* A3B9C8 802424E8 8C620000 */ lw $v0, ($v1) +/* A3B9CC 802424EC 54820003 */ bnel $a0, $v0, .L802424FC +/* A3B9D0 802424F0 24C60001 */ addiu $a2, $a2, 1 +/* A3B9D4 802424F4 08090942 */ j .L80242508 +/* A3B9D8 802424F8 24050001 */ addiu $a1, $zero, 1 +.L802424FC: +/* A3B9DC 802424FC 28C20005 */ slti $v0, $a2, 5 +/* A3B9E0 80242500 1440FFF9 */ bnez $v0, .L802424E8 +/* A3B9E4 80242504 24630004 */ addiu $v1, $v1, 4 +.L80242508: +/* A3B9E8 80242508 10A00006 */ beqz $a1, .L80242524 +/* A3B9EC 8024250C 3C05F840 */ lui $a1, 0xf840 +/* A3B9F0 80242510 34A55D6E */ ori $a1, $a1, 0x5d6e +/* A3B9F4 80242514 0000202D */ daddu $a0, $zero, $zero +/* A3B9F8 80242518 00C52821 */ addu $a1, $a2, $a1 +/* A3B9FC 8024251C 0C0B2026 */ jal set_variable +/* A3BA00 80242520 24060001 */ addiu $a2, $zero, 1 +.L80242524: +/* A3BA04 80242524 8FBF0010 */ lw $ra, 0x10($sp) +/* A3BA08 80242528 24020002 */ addiu $v0, $zero, 2 +/* A3BA0C 8024252C 03E00008 */ jr $ra +/* A3BA10 80242530 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_06/func_80242534.s b/asm/nonmatchings/world/area_hos/hos_06/func_80242534.s new file mode 100644 index 0000000000..5da1542d8b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_06/func_80242534.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242534 +/* A3BA14 80242534 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3BA18 80242538 AFB00010 */ sw $s0, 0x10($sp) +/* A3BA1C 8024253C AFBF0014 */ sw $ra, 0x14($sp) +/* A3BA20 80242540 0C039D88 */ jal get_item_empty_count +/* A3BA24 80242544 0080802D */ daddu $s0, $a0, $zero +/* A3BA28 80242548 AE020088 */ sw $v0, 0x88($s0) +/* A3BA2C 8024254C 8FBF0014 */ lw $ra, 0x14($sp) +/* A3BA30 80242550 8FB00010 */ lw $s0, 0x10($sp) +/* A3BA34 80242554 24020002 */ addiu $v0, $zero, 2 +/* A3BA38 80242558 03E00008 */ jr $ra +/* A3BA3C 8024255C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240000_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240000_A3F740.s new file mode 100644 index 0000000000..72f8ed5d2b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240000_A3F740.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A3F740 +/* A3F740 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* A3F744 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* A3F748 80240008 24020002 */ addiu $v0, $zero, 2 +/* A3F74C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* A3F750 80240010 03E00008 */ jr $ra +/* A3F754 80240014 0000102D */ daddu $v0, $zero, $zero +/* A3F758 80240018 00000000 */ nop +/* A3F75C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240020_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240020_A3F740.s new file mode 100644 index 0000000000..b090998486 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240020_A3F740.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_A3F760 +/* A3F760 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3F764 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* A3F768 80240028 0080802D */ daddu $s0, $a0, $zero +/* A3F76C 8024002C AFBF0014 */ sw $ra, 0x14($sp) +/* A3F770 80240030 8E0300A8 */ lw $v1, 0xa8($s0) +/* A3F774 80240034 8E020088 */ lw $v0, 0x88($s0) +/* A3F778 80240038 00621821 */ addu $v1, $v1, $v0 +/* A3F77C 8024003C 04610004 */ bgez $v1, .L80240050 +/* A3F780 80240040 AE0300A8 */ sw $v1, 0xa8($s0) +/* A3F784 80240044 3C020002 */ lui $v0, 2 +/* A3F788 80240048 08090018 */ j .L80240060 +/* A3F78C 8024004C 00621021 */ addu $v0, $v1, $v0 +.L80240050: +/* A3F790 80240050 3C040002 */ lui $a0, 2 +/* A3F794 80240054 0083102A */ slt $v0, $a0, $v1 +/* A3F798 80240058 10400002 */ beqz $v0, .L80240064 +/* A3F79C 8024005C 00641023 */ subu $v0, $v1, $a0 +.L80240060: +/* A3F7A0 80240060 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240064: +/* A3F7A4 80240064 8E0300AC */ lw $v1, 0xac($s0) +/* A3F7A8 80240068 8E02008C */ lw $v0, 0x8c($s0) +/* A3F7AC 8024006C 00621821 */ addu $v1, $v1, $v0 +/* A3F7B0 80240070 04610004 */ bgez $v1, .L80240084 +/* A3F7B4 80240074 AE0300AC */ sw $v1, 0xac($s0) +/* A3F7B8 80240078 3C020002 */ lui $v0, 2 +/* A3F7BC 8024007C 08090025 */ j .L80240094 +/* A3F7C0 80240080 00621021 */ addu $v0, $v1, $v0 +.L80240084: +/* A3F7C4 80240084 3C040002 */ lui $a0, 2 +/* A3F7C8 80240088 0083102A */ slt $v0, $a0, $v1 +/* A3F7CC 8024008C 10400002 */ beqz $v0, .L80240098 +/* A3F7D0 80240090 00641023 */ subu $v0, $v1, $a0 +.L80240094: +/* A3F7D4 80240094 AE0200AC */ sw $v0, 0xac($s0) +.L80240098: +/* A3F7D8 80240098 8E0300B0 */ lw $v1, 0xb0($s0) +/* A3F7DC 8024009C 8E020090 */ lw $v0, 0x90($s0) +/* A3F7E0 802400A0 00621821 */ addu $v1, $v1, $v0 +/* A3F7E4 802400A4 04610004 */ bgez $v1, .L802400B8 +/* A3F7E8 802400A8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A3F7EC 802400AC 3C020002 */ lui $v0, 2 +/* A3F7F0 802400B0 08090032 */ j .L802400C8 +/* A3F7F4 802400B4 00621021 */ addu $v0, $v1, $v0 +.L802400B8: +/* A3F7F8 802400B8 3C040002 */ lui $a0, 2 +/* A3F7FC 802400BC 0083102A */ slt $v0, $a0, $v1 +/* A3F800 802400C0 10400002 */ beqz $v0, .L802400CC +/* A3F804 802400C4 00641023 */ subu $v0, $v1, $a0 +.L802400C8: +/* A3F808 802400C8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400CC: +/* A3F80C 802400CC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A3F810 802400D0 8E020094 */ lw $v0, 0x94($s0) +/* A3F814 802400D4 00621821 */ addu $v1, $v1, $v0 +/* A3F818 802400D8 04610004 */ bgez $v1, .L802400EC +/* A3F81C 802400DC AE0300B4 */ sw $v1, 0xb4($s0) +/* A3F820 802400E0 3C020002 */ lui $v0, 2 +/* A3F824 802400E4 0809003F */ j .L802400FC +/* A3F828 802400E8 00621021 */ addu $v0, $v1, $v0 +.L802400EC: +/* A3F82C 802400EC 3C040002 */ lui $a0, 2 +/* A3F830 802400F0 0083102A */ slt $v0, $a0, $v1 +/* A3F834 802400F4 10400002 */ beqz $v0, .L80240100 +/* A3F838 802400F8 00641023 */ subu $v0, $v1, $a0 +.L802400FC: +/* A3F83C 802400FC AE0200B4 */ sw $v0, 0xb4($s0) +.L80240100: +/* A3F840 80240100 8E040084 */ lw $a0, 0x84($s0) +/* A3F844 80240104 0C046F07 */ jal set_main_pan_u +/* A3F848 80240108 8E0500A8 */ lw $a1, 0xa8($s0) +/* A3F84C 8024010C 8E040084 */ lw $a0, 0x84($s0) +/* A3F850 80240110 0C046F0D */ jal set_main_pan_v +/* A3F854 80240114 8E0500AC */ lw $a1, 0xac($s0) +/* A3F858 80240118 8E040084 */ lw $a0, 0x84($s0) +/* A3F85C 8024011C 0C046F13 */ jal set_aux_pan_u +/* A3F860 80240120 8E0500B0 */ lw $a1, 0xb0($s0) +/* A3F864 80240124 8E040084 */ lw $a0, 0x84($s0) +/* A3F868 80240128 0C046F19 */ jal set_aux_pan_v +/* A3F86C 8024012C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A3F870 80240130 8FBF0014 */ lw $ra, 0x14($sp) +/* A3F874 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* A3F878 80240138 0000102D */ daddu $v0, $zero, $zero +/* A3F87C 8024013C 03E00008 */ jr $ra +/* A3F880 80240140 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240144.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240144.s new file mode 100644 index 0000000000..04a7b84405 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240144.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240144 +/* A3F884 80240144 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3F888 80240148 AFB00010 */ sw $s0, 0x10($sp) +/* A3F88C 8024014C 0080802D */ daddu $s0, $a0, $zero +/* A3F890 80240150 10A00005 */ beqz $a1, .L80240168 +/* A3F894 80240154 AFBF0014 */ sw $ra, 0x14($sp) +/* A3F898 80240158 AE000070 */ sw $zero, 0x70($s0) +/* A3F89C 8024015C AE000074 */ sw $zero, 0x74($s0) +/* A3F8A0 80240160 AE000078 */ sw $zero, 0x78($s0) +/* A3F8A4 80240164 AE00007C */ sw $zero, 0x7c($s0) +.L80240168: +/* A3F8A8 80240168 8E020070 */ lw $v0, 0x70($s0) +/* A3F8AC 8024016C 1440000E */ bnez $v0, .L802401A8 +/* A3F8B0 80240170 00000000 */ nop +/* A3F8B4 80240174 8E0300A8 */ lw $v1, 0xa8($s0) +/* A3F8B8 80240178 8E020088 */ lw $v0, 0x88($s0) +/* A3F8BC 8024017C 00621821 */ addu $v1, $v1, $v0 +/* A3F8C0 80240180 04610004 */ bgez $v1, .L80240194 +/* A3F8C4 80240184 AE0300A8 */ sw $v1, 0xa8($s0) +/* A3F8C8 80240188 3C020002 */ lui $v0, 2 +/* A3F8CC 8024018C 08090069 */ j .L802401A4 +/* A3F8D0 80240190 00621021 */ addu $v0, $v1, $v0 +.L80240194: +/* A3F8D4 80240194 3C040002 */ lui $a0, 2 +/* A3F8D8 80240198 0083102A */ slt $v0, $a0, $v1 +/* A3F8DC 8024019C 10400002 */ beqz $v0, .L802401A8 +/* A3F8E0 802401A0 00641023 */ subu $v0, $v1, $a0 +.L802401A4: +/* A3F8E4 802401A4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401A8: +/* A3F8E8 802401A8 8E020074 */ lw $v0, 0x74($s0) +/* A3F8EC 802401AC 1440000E */ bnez $v0, .L802401E8 +/* A3F8F0 802401B0 00000000 */ nop +/* A3F8F4 802401B4 8E0300AC */ lw $v1, 0xac($s0) +/* A3F8F8 802401B8 8E02008C */ lw $v0, 0x8c($s0) +/* A3F8FC 802401BC 00621821 */ addu $v1, $v1, $v0 +/* A3F900 802401C0 04610004 */ bgez $v1, .L802401D4 +/* A3F904 802401C4 AE0300AC */ sw $v1, 0xac($s0) +/* A3F908 802401C8 3C020002 */ lui $v0, 2 +/* A3F90C 802401CC 08090079 */ j .L802401E4 +/* A3F910 802401D0 00621021 */ addu $v0, $v1, $v0 +.L802401D4: +/* A3F914 802401D4 3C040002 */ lui $a0, 2 +/* A3F918 802401D8 0083102A */ slt $v0, $a0, $v1 +/* A3F91C 802401DC 10400002 */ beqz $v0, .L802401E8 +/* A3F920 802401E0 00641023 */ subu $v0, $v1, $a0 +.L802401E4: +/* A3F924 802401E4 AE0200AC */ sw $v0, 0xac($s0) +.L802401E8: +/* A3F928 802401E8 8E020078 */ lw $v0, 0x78($s0) +/* A3F92C 802401EC 1440000E */ bnez $v0, .L80240228 +/* A3F930 802401F0 00000000 */ nop +/* A3F934 802401F4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A3F938 802401F8 8E020090 */ lw $v0, 0x90($s0) +/* A3F93C 802401FC 00621821 */ addu $v1, $v1, $v0 +/* A3F940 80240200 04610004 */ bgez $v1, .L80240214 +/* A3F944 80240204 AE0300B0 */ sw $v1, 0xb0($s0) +/* A3F948 80240208 3C020002 */ lui $v0, 2 +/* A3F94C 8024020C 08090089 */ j .L80240224 +/* A3F950 80240210 00621021 */ addu $v0, $v1, $v0 +.L80240214: +/* A3F954 80240214 3C040002 */ lui $a0, 2 +/* A3F958 80240218 0083102A */ slt $v0, $a0, $v1 +/* A3F95C 8024021C 10400002 */ beqz $v0, .L80240228 +/* A3F960 80240220 00641023 */ subu $v0, $v1, $a0 +.L80240224: +/* A3F964 80240224 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240228: +/* A3F968 80240228 8E02007C */ lw $v0, 0x7c($s0) +/* A3F96C 8024022C 1440000E */ bnez $v0, .L80240268 +/* A3F970 80240230 00000000 */ nop +/* A3F974 80240234 8E0300B4 */ lw $v1, 0xb4($s0) +/* A3F978 80240238 8E020094 */ lw $v0, 0x94($s0) +/* A3F97C 8024023C 00621821 */ addu $v1, $v1, $v0 +/* A3F980 80240240 04610004 */ bgez $v1, .L80240254 +/* A3F984 80240244 AE0300B4 */ sw $v1, 0xb4($s0) +/* A3F988 80240248 3C020002 */ lui $v0, 2 +/* A3F98C 8024024C 08090099 */ j .L80240264 +/* A3F990 80240250 00621021 */ addu $v0, $v1, $v0 +.L80240254: +/* A3F994 80240254 3C040002 */ lui $a0, 2 +/* A3F998 80240258 0083102A */ slt $v0, $a0, $v1 +/* A3F99C 8024025C 10400002 */ beqz $v0, .L80240268 +/* A3F9A0 80240260 00641023 */ subu $v0, $v1, $a0 +.L80240264: +/* A3F9A4 80240264 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240268: +/* A3F9A8 80240268 8E040084 */ lw $a0, 0x84($s0) +/* A3F9AC 8024026C 0C046F07 */ jal set_main_pan_u +/* A3F9B0 80240270 8E0500A8 */ lw $a1, 0xa8($s0) +/* A3F9B4 80240274 8E040084 */ lw $a0, 0x84($s0) +/* A3F9B8 80240278 0C046F0D */ jal set_main_pan_v +/* A3F9BC 8024027C 8E0500AC */ lw $a1, 0xac($s0) +/* A3F9C0 80240280 8E040084 */ lw $a0, 0x84($s0) +/* A3F9C4 80240284 0C046F13 */ jal set_aux_pan_u +/* A3F9C8 80240288 8E0500B0 */ lw $a1, 0xb0($s0) +/* A3F9CC 8024028C 8E040084 */ lw $a0, 0x84($s0) +/* A3F9D0 80240290 0C046F19 */ jal set_aux_pan_v +/* A3F9D4 80240294 8E0500B4 */ lw $a1, 0xb4($s0) +/* A3F9D8 80240298 8E020070 */ lw $v0, 0x70($s0) +/* A3F9DC 8024029C 8E030078 */ lw $v1, 0x78($s0) +/* A3F9E0 802402A0 8E040098 */ lw $a0, 0x98($s0) +/* A3F9E4 802402A4 24420001 */ addiu $v0, $v0, 1 +/* A3F9E8 802402A8 AE020070 */ sw $v0, 0x70($s0) +/* A3F9EC 802402AC 8E020074 */ lw $v0, 0x74($s0) +/* A3F9F0 802402B0 24630001 */ addiu $v1, $v1, 1 +/* A3F9F4 802402B4 AE030078 */ sw $v1, 0x78($s0) +/* A3F9F8 802402B8 8E030070 */ lw $v1, 0x70($s0) +/* A3F9FC 802402BC 24420001 */ addiu $v0, $v0, 1 +/* A3FA00 802402C0 AE020074 */ sw $v0, 0x74($s0) +/* A3FA04 802402C4 8E02007C */ lw $v0, 0x7c($s0) +/* A3FA08 802402C8 0064182A */ slt $v1, $v1, $a0 +/* A3FA0C 802402CC 24420001 */ addiu $v0, $v0, 1 +/* A3FA10 802402D0 14600002 */ bnez $v1, .L802402DC +/* A3FA14 802402D4 AE02007C */ sw $v0, 0x7c($s0) +/* A3FA18 802402D8 AE000070 */ sw $zero, 0x70($s0) +.L802402DC: +/* A3FA1C 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* A3FA20 802402E0 8E03009C */ lw $v1, 0x9c($s0) +/* A3FA24 802402E4 0043102A */ slt $v0, $v0, $v1 +/* A3FA28 802402E8 50400001 */ beql $v0, $zero, .L802402F0 +/* A3FA2C 802402EC AE000074 */ sw $zero, 0x74($s0) +.L802402F0: +/* A3FA30 802402F0 8E020078 */ lw $v0, 0x78($s0) +/* A3FA34 802402F4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A3FA38 802402F8 0043102A */ slt $v0, $v0, $v1 +/* A3FA3C 802402FC 50400001 */ beql $v0, $zero, .L80240304 +/* A3FA40 80240300 AE000078 */ sw $zero, 0x78($s0) +.L80240304: +/* A3FA44 80240304 8E02007C */ lw $v0, 0x7c($s0) +/* A3FA48 80240308 8E0300A4 */ lw $v1, 0xa4($s0) +/* A3FA4C 8024030C 0043102A */ slt $v0, $v0, $v1 +/* A3FA50 80240310 50400001 */ beql $v0, $zero, .L80240318 +/* A3FA54 80240314 AE00007C */ sw $zero, 0x7c($s0) +.L80240318: +/* A3FA58 80240318 8FBF0014 */ lw $ra, 0x14($sp) +/* A3FA5C 8024031C 8FB00010 */ lw $s0, 0x10($sp) +/* A3FA60 80240320 0000102D */ daddu $v0, $zero, $zero +/* A3FA64 80240324 03E00008 */ jr $ra +/* A3FA68 80240328 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_8024032C_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_8024032C_A3F740.s new file mode 100644 index 0000000000..0bb4c22eb7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_8024032C_A3F740.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_A3FA6C +/* A3FA6C 8024032C 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* A3FA70 80240330 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* A3FA74 80240334 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3FA78 80240338 AFBF0010 */ sw $ra, 0x10($sp) +/* A3FA7C 8024033C 908300A8 */ lbu $v1, 0xa8($a0) +/* A3FA80 80240340 2C620005 */ sltiu $v0, $v1, 5 +/* A3FA84 80240344 10400003 */ beqz $v0, .L80240354 +/* A3FA88 80240348 24620001 */ addiu $v0, $v1, 1 +/* A3FA8C 8024034C 0C00D994 */ jal begin_state_intro +/* A3FA90 80240350 A08200A8 */ sb $v0, 0xa8($a0) +.L80240354: +/* A3FA94 80240354 8FBF0010 */ lw $ra, 0x10($sp) +/* A3FA98 80240358 24020001 */ addiu $v0, $zero, 1 +/* A3FA9C 8024035C 03E00008 */ jr $ra +/* A3FAA0 80240360 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240364_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240364_A3F740.s new file mode 100644 index 0000000000..15ba2b48fa --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240364_A3F740.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240364_A3FAA4 +/* A3FAA4 80240364 460C7301 */ sub.s $f12, $f14, $f12 +/* A3FAA8 80240368 44863000 */ mtc1 $a2, $f6 +/* A3FAAC 8024036C 44800000 */ mtc1 $zero, $f0 +/* A3FAB0 80240370 44872000 */ mtc1 $a3, $f4 +/* A3FAB4 80240374 8FA20010 */ lw $v0, 0x10($sp) +/* A3FAB8 80240378 460C003C */ c.lt.s $f0, $f12 +/* A3FABC 8024037C 00000000 */ nop +/* A3FAC0 80240380 4500000F */ bc1f .L802403C0 +/* A3FAC4 80240384 46067081 */ sub.s $f2, $f14, $f6 +/* A3FAC8 80240388 4600103C */ c.lt.s $f2, $f0 +/* A3FACC 8024038C 00000000 */ nop +/* A3FAD0 80240390 45000003 */ bc1f .L802403A0 +/* A3FAD4 80240394 00000000 */ nop +.L80240398: +/* A3FAD8 80240398 03E00008 */ jr $ra +/* A3FADC 8024039C E44E0000 */ swc1 $f14, ($v0) +.L802403A0: +/* A3FAE0 802403A0 4602203C */ c.lt.s $f4, $f2 +/* A3FAE4 802403A4 00000000 */ nop +/* A3FAE8 802403A8 45000012 */ bc1f .L802403F4 +/* A3FAEC 802403AC 00000000 */ nop +/* A3FAF0 802403B0 C4400000 */ lwc1 $f0, ($v0) +/* A3FAF4 802403B4 46040000 */ add.s $f0, $f0, $f4 +/* A3FAF8 802403B8 03E00008 */ jr $ra +/* A3FAFC 802403BC E4400000 */ swc1 $f0, ($v0) +.L802403C0: +/* A3FB00 802403C0 4602003C */ c.lt.s $f0, $f2 +/* A3FB04 802403C4 00000000 */ nop +/* A3FB08 802403C8 4501FFF3 */ bc1t .L80240398 +/* A3FB0C 802403CC 00000000 */ nop +/* A3FB10 802403D0 46002007 */ neg.s $f0, $f4 +/* A3FB14 802403D4 4600103C */ c.lt.s $f2, $f0 +/* A3FB18 802403D8 00000000 */ nop +/* A3FB1C 802403DC 45000005 */ bc1f .L802403F4 +/* A3FB20 802403E0 00000000 */ nop +/* A3FB24 802403E4 C4400000 */ lwc1 $f0, ($v0) +/* A3FB28 802403E8 46040001 */ sub.s $f0, $f0, $f4 +/* A3FB2C 802403EC 03E00008 */ jr $ra +/* A3FB30 802403F0 E4400000 */ swc1 $f0, ($v0) +.L802403F4: +/* A3FB34 802403F4 C4400000 */ lwc1 $f0, ($v0) +/* A3FB38 802403F8 46020000 */ add.s $f0, $f0, $f2 +/* A3FB3C 802403FC 03E00008 */ jr $ra +/* A3FB40 80240400 E4400000 */ swc1 $f0, ($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240404_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240404_A3F740.s new file mode 100644 index 0000000000..22d36fbc8e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240404_A3F740.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_A3FB44 +/* A3FB44 80240404 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A3FB48 80240408 3C01C396 */ lui $at, 0xc396 +/* A3FB4C 8024040C 44810000 */ mtc1 $at, $f0 +/* A3FB50 80240410 3C01C2C8 */ lui $at, 0xc2c8 +/* A3FB54 80240414 44811000 */ mtc1 $at, $f2 +/* A3FB58 80240418 3C0141F0 */ lui $at, 0x41f0 +/* A3FB5C 8024041C 44812000 */ mtc1 $at, $f4 +/* A3FB60 80240420 3C054348 */ lui $a1, 0x4348 +/* A3FB64 80240424 3C0643C8 */ lui $a2, 0x43c8 +/* A3FB68 80240428 3C074496 */ lui $a3, 0x4496 +/* A3FB6C 8024042C 24040001 */ addiu $a0, $zero, 1 +/* A3FB70 80240430 AFBF0020 */ sw $ra, 0x20($sp) +/* A3FB74 80240434 AFA00018 */ sw $zero, 0x18($sp) +/* A3FB78 80240438 E7A00010 */ swc1 $f0, 0x10($sp) +/* A3FB7C 8024043C E7A20014 */ swc1 $f2, 0x14($sp) +/* A3FB80 80240440 0C01BF8C */ jal func_8006FE30 +/* A3FB84 80240444 E7A4001C */ swc1 $f4, 0x1c($sp) +/* A3FB88 80240448 8FBF0020 */ lw $ra, 0x20($sp) +/* A3FB8C 8024044C 24020002 */ addiu $v0, $zero, 2 +/* A3FB90 80240450 03E00008 */ jr $ra +/* A3FB94 80240454 27BD0028 */ addiu $sp, $sp, 0x28 +/* A3FB98 80240458 00000000 */ nop +/* A3FB9C 8024045C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240460_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240460_A3F740.s new file mode 100644 index 0000000000..1f68531d3b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240460_A3F740.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240460_A3FBA0 +/* A3FBA0 80240460 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3FBA4 80240464 AFB00010 */ sw $s0, 0x10($sp) +/* A3FBA8 80240468 0080802D */ daddu $s0, $a0, $zero +/* A3FBAC 8024046C AFBF0014 */ sw $ra, 0x14($sp) +/* A3FBB0 80240470 8E0300A8 */ lw $v1, 0xa8($s0) +/* A3FBB4 80240474 8E020088 */ lw $v0, 0x88($s0) +/* A3FBB8 80240478 00621821 */ addu $v1, $v1, $v0 +/* A3FBBC 8024047C 04610004 */ bgez $v1, .L80240490 +/* A3FBC0 80240480 AE0300A8 */ sw $v1, 0xa8($s0) +/* A3FBC4 80240484 3C020002 */ lui $v0, 2 +/* A3FBC8 80240488 08090128 */ j .L802404A0 +/* A3FBCC 8024048C 00621021 */ addu $v0, $v1, $v0 +.L80240490: +/* A3FBD0 80240490 3C040002 */ lui $a0, 2 +/* A3FBD4 80240494 0083102A */ slt $v0, $a0, $v1 +/* A3FBD8 80240498 10400002 */ beqz $v0, .L802404A4 +/* A3FBDC 8024049C 00641023 */ subu $v0, $v1, $a0 +.L802404A0: +/* A3FBE0 802404A0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802404A4: +/* A3FBE4 802404A4 8E0300AC */ lw $v1, 0xac($s0) +/* A3FBE8 802404A8 8E02008C */ lw $v0, 0x8c($s0) +/* A3FBEC 802404AC 00621821 */ addu $v1, $v1, $v0 +/* A3FBF0 802404B0 04610004 */ bgez $v1, .L802404C4 +/* A3FBF4 802404B4 AE0300AC */ sw $v1, 0xac($s0) +/* A3FBF8 802404B8 3C020002 */ lui $v0, 2 +/* A3FBFC 802404BC 08090135 */ j .L802404D4 +/* A3FC00 802404C0 00621021 */ addu $v0, $v1, $v0 +.L802404C4: +/* A3FC04 802404C4 3C040002 */ lui $a0, 2 +/* A3FC08 802404C8 0083102A */ slt $v0, $a0, $v1 +/* A3FC0C 802404CC 10400002 */ beqz $v0, .L802404D8 +/* A3FC10 802404D0 00641023 */ subu $v0, $v1, $a0 +.L802404D4: +/* A3FC14 802404D4 AE0200AC */ sw $v0, 0xac($s0) +.L802404D8: +/* A3FC18 802404D8 8E0300B0 */ lw $v1, 0xb0($s0) +/* A3FC1C 802404DC 8E020090 */ lw $v0, 0x90($s0) +/* A3FC20 802404E0 00621821 */ addu $v1, $v1, $v0 +/* A3FC24 802404E4 04610004 */ bgez $v1, .L802404F8 +/* A3FC28 802404E8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A3FC2C 802404EC 3C020002 */ lui $v0, 2 +/* A3FC30 802404F0 08090142 */ j .L80240508 +/* A3FC34 802404F4 00621021 */ addu $v0, $v1, $v0 +.L802404F8: +/* A3FC38 802404F8 3C040002 */ lui $a0, 2 +/* A3FC3C 802404FC 0083102A */ slt $v0, $a0, $v1 +/* A3FC40 80240500 10400002 */ beqz $v0, .L8024050C +/* A3FC44 80240504 00641023 */ subu $v0, $v1, $a0 +.L80240508: +/* A3FC48 80240508 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024050C: +/* A3FC4C 8024050C 8E0300B4 */ lw $v1, 0xb4($s0) +/* A3FC50 80240510 8E020094 */ lw $v0, 0x94($s0) +/* A3FC54 80240514 00621821 */ addu $v1, $v1, $v0 +/* A3FC58 80240518 04610004 */ bgez $v1, .L8024052C +/* A3FC5C 8024051C AE0300B4 */ sw $v1, 0xb4($s0) +/* A3FC60 80240520 3C020002 */ lui $v0, 2 +/* A3FC64 80240524 0809014F */ j .L8024053C +/* A3FC68 80240528 00621021 */ addu $v0, $v1, $v0 +.L8024052C: +/* A3FC6C 8024052C 3C040002 */ lui $a0, 2 +/* A3FC70 80240530 0083102A */ slt $v0, $a0, $v1 +/* A3FC74 80240534 10400002 */ beqz $v0, .L80240540 +/* A3FC78 80240538 00641023 */ subu $v0, $v1, $a0 +.L8024053C: +/* A3FC7C 8024053C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240540: +/* A3FC80 80240540 8E040084 */ lw $a0, 0x84($s0) +/* A3FC84 80240544 0C046F07 */ jal set_main_pan_u +/* A3FC88 80240548 8E0500A8 */ lw $a1, 0xa8($s0) +/* A3FC8C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* A3FC90 80240550 0C046F0D */ jal set_main_pan_v +/* A3FC94 80240554 8E0500AC */ lw $a1, 0xac($s0) +/* A3FC98 80240558 8E040084 */ lw $a0, 0x84($s0) +/* A3FC9C 8024055C 0C046F13 */ jal set_aux_pan_u +/* A3FCA0 80240560 8E0500B0 */ lw $a1, 0xb0($s0) +/* A3FCA4 80240564 8E040084 */ lw $a0, 0x84($s0) +/* A3FCA8 80240568 0C046F19 */ jal set_aux_pan_v +/* A3FCAC 8024056C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A3FCB0 80240570 8FBF0014 */ lw $ra, 0x14($sp) +/* A3FCB4 80240574 8FB00010 */ lw $s0, 0x10($sp) +/* A3FCB8 80240578 0000102D */ daddu $v0, $zero, $zero +/* A3FCBC 8024057C 03E00008 */ jr $ra +/* A3FCC0 80240580 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240584_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240584_A3F740.s new file mode 100644 index 0000000000..74594cca3d --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240584_A3F740.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240584_A3FCC4 +/* A3FCC4 80240584 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A3FCC8 80240588 AFB00010 */ sw $s0, 0x10($sp) +/* A3FCCC 8024058C 0080802D */ daddu $s0, $a0, $zero +/* A3FCD0 80240590 10A00005 */ beqz $a1, .L802405A8 +/* A3FCD4 80240594 AFBF0014 */ sw $ra, 0x14($sp) +/* A3FCD8 80240598 AE000070 */ sw $zero, 0x70($s0) +/* A3FCDC 8024059C AE000074 */ sw $zero, 0x74($s0) +/* A3FCE0 802405A0 AE000078 */ sw $zero, 0x78($s0) +/* A3FCE4 802405A4 AE00007C */ sw $zero, 0x7c($s0) +.L802405A8: +/* A3FCE8 802405A8 8E020070 */ lw $v0, 0x70($s0) +/* A3FCEC 802405AC 1440000E */ bnez $v0, .L802405E8 +/* A3FCF0 802405B0 00000000 */ nop +/* A3FCF4 802405B4 8E0300A8 */ lw $v1, 0xa8($s0) +/* A3FCF8 802405B8 8E020088 */ lw $v0, 0x88($s0) +/* A3FCFC 802405BC 00621821 */ addu $v1, $v1, $v0 +/* A3FD00 802405C0 04610004 */ bgez $v1, .L802405D4 +/* A3FD04 802405C4 AE0300A8 */ sw $v1, 0xa8($s0) +/* A3FD08 802405C8 3C020002 */ lui $v0, 2 +/* A3FD0C 802405CC 08090179 */ j .L802405E4 +/* A3FD10 802405D0 00621021 */ addu $v0, $v1, $v0 +.L802405D4: +/* A3FD14 802405D4 3C040002 */ lui $a0, 2 +/* A3FD18 802405D8 0083102A */ slt $v0, $a0, $v1 +/* A3FD1C 802405DC 10400002 */ beqz $v0, .L802405E8 +/* A3FD20 802405E0 00641023 */ subu $v0, $v1, $a0 +.L802405E4: +/* A3FD24 802405E4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802405E8: +/* A3FD28 802405E8 8E020074 */ lw $v0, 0x74($s0) +/* A3FD2C 802405EC 1440000E */ bnez $v0, .L80240628 +/* A3FD30 802405F0 00000000 */ nop +/* A3FD34 802405F4 8E0300AC */ lw $v1, 0xac($s0) +/* A3FD38 802405F8 8E02008C */ lw $v0, 0x8c($s0) +/* A3FD3C 802405FC 00621821 */ addu $v1, $v1, $v0 +/* A3FD40 80240600 04610004 */ bgez $v1, .L80240614 +/* A3FD44 80240604 AE0300AC */ sw $v1, 0xac($s0) +/* A3FD48 80240608 3C020002 */ lui $v0, 2 +/* A3FD4C 8024060C 08090189 */ j .L80240624 +/* A3FD50 80240610 00621021 */ addu $v0, $v1, $v0 +.L80240614: +/* A3FD54 80240614 3C040002 */ lui $a0, 2 +/* A3FD58 80240618 0083102A */ slt $v0, $a0, $v1 +/* A3FD5C 8024061C 10400002 */ beqz $v0, .L80240628 +/* A3FD60 80240620 00641023 */ subu $v0, $v1, $a0 +.L80240624: +/* A3FD64 80240624 AE0200AC */ sw $v0, 0xac($s0) +.L80240628: +/* A3FD68 80240628 8E020078 */ lw $v0, 0x78($s0) +/* A3FD6C 8024062C 1440000E */ bnez $v0, .L80240668 +/* A3FD70 80240630 00000000 */ nop +/* A3FD74 80240634 8E0300B0 */ lw $v1, 0xb0($s0) +/* A3FD78 80240638 8E020090 */ lw $v0, 0x90($s0) +/* A3FD7C 8024063C 00621821 */ addu $v1, $v1, $v0 +/* A3FD80 80240640 04610004 */ bgez $v1, .L80240654 +/* A3FD84 80240644 AE0300B0 */ sw $v1, 0xb0($s0) +/* A3FD88 80240648 3C020002 */ lui $v0, 2 +/* A3FD8C 8024064C 08090199 */ j .L80240664 +/* A3FD90 80240650 00621021 */ addu $v0, $v1, $v0 +.L80240654: +/* A3FD94 80240654 3C040002 */ lui $a0, 2 +/* A3FD98 80240658 0083102A */ slt $v0, $a0, $v1 +/* A3FD9C 8024065C 10400002 */ beqz $v0, .L80240668 +/* A3FDA0 80240660 00641023 */ subu $v0, $v1, $a0 +.L80240664: +/* A3FDA4 80240664 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240668: +/* A3FDA8 80240668 8E02007C */ lw $v0, 0x7c($s0) +/* A3FDAC 8024066C 1440000E */ bnez $v0, .L802406A8 +/* A3FDB0 80240670 00000000 */ nop +/* A3FDB4 80240674 8E0300B4 */ lw $v1, 0xb4($s0) +/* A3FDB8 80240678 8E020094 */ lw $v0, 0x94($s0) +/* A3FDBC 8024067C 00621821 */ addu $v1, $v1, $v0 +/* A3FDC0 80240680 04610004 */ bgez $v1, .L80240694 +/* A3FDC4 80240684 AE0300B4 */ sw $v1, 0xb4($s0) +/* A3FDC8 80240688 3C020002 */ lui $v0, 2 +/* A3FDCC 8024068C 080901A9 */ j .L802406A4 +/* A3FDD0 80240690 00621021 */ addu $v0, $v1, $v0 +.L80240694: +/* A3FDD4 80240694 3C040002 */ lui $a0, 2 +/* A3FDD8 80240698 0083102A */ slt $v0, $a0, $v1 +/* A3FDDC 8024069C 10400002 */ beqz $v0, .L802406A8 +/* A3FDE0 802406A0 00641023 */ subu $v0, $v1, $a0 +.L802406A4: +/* A3FDE4 802406A4 AE0200B4 */ sw $v0, 0xb4($s0) +.L802406A8: +/* A3FDE8 802406A8 8E040084 */ lw $a0, 0x84($s0) +/* A3FDEC 802406AC 0C046F07 */ jal set_main_pan_u +/* A3FDF0 802406B0 8E0500A8 */ lw $a1, 0xa8($s0) +/* A3FDF4 802406B4 8E040084 */ lw $a0, 0x84($s0) +/* A3FDF8 802406B8 0C046F0D */ jal set_main_pan_v +/* A3FDFC 802406BC 8E0500AC */ lw $a1, 0xac($s0) +/* A3FE00 802406C0 8E040084 */ lw $a0, 0x84($s0) +/* A3FE04 802406C4 0C046F13 */ jal set_aux_pan_u +/* A3FE08 802406C8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A3FE0C 802406CC 8E040084 */ lw $a0, 0x84($s0) +/* A3FE10 802406D0 0C046F19 */ jal set_aux_pan_v +/* A3FE14 802406D4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A3FE18 802406D8 8E020070 */ lw $v0, 0x70($s0) +/* A3FE1C 802406DC 8E030078 */ lw $v1, 0x78($s0) +/* A3FE20 802406E0 8E040098 */ lw $a0, 0x98($s0) +/* A3FE24 802406E4 24420001 */ addiu $v0, $v0, 1 +/* A3FE28 802406E8 AE020070 */ sw $v0, 0x70($s0) +/* A3FE2C 802406EC 8E020074 */ lw $v0, 0x74($s0) +/* A3FE30 802406F0 24630001 */ addiu $v1, $v1, 1 +/* A3FE34 802406F4 AE030078 */ sw $v1, 0x78($s0) +/* A3FE38 802406F8 8E030070 */ lw $v1, 0x70($s0) +/* A3FE3C 802406FC 24420001 */ addiu $v0, $v0, 1 +/* A3FE40 80240700 AE020074 */ sw $v0, 0x74($s0) +/* A3FE44 80240704 8E02007C */ lw $v0, 0x7c($s0) +/* A3FE48 80240708 0064182A */ slt $v1, $v1, $a0 +/* A3FE4C 8024070C 24420001 */ addiu $v0, $v0, 1 +/* A3FE50 80240710 14600002 */ bnez $v1, .L8024071C +/* A3FE54 80240714 AE02007C */ sw $v0, 0x7c($s0) +/* A3FE58 80240718 AE000070 */ sw $zero, 0x70($s0) +.L8024071C: +/* A3FE5C 8024071C 8E020074 */ lw $v0, 0x74($s0) +/* A3FE60 80240720 8E03009C */ lw $v1, 0x9c($s0) +/* A3FE64 80240724 0043102A */ slt $v0, $v0, $v1 +/* A3FE68 80240728 50400001 */ beql $v0, $zero, .L80240730 +/* A3FE6C 8024072C AE000074 */ sw $zero, 0x74($s0) +.L80240730: +/* A3FE70 80240730 8E020078 */ lw $v0, 0x78($s0) +/* A3FE74 80240734 8E0300A0 */ lw $v1, 0xa0($s0) +/* A3FE78 80240738 0043102A */ slt $v0, $v0, $v1 +/* A3FE7C 8024073C 50400001 */ beql $v0, $zero, .L80240744 +/* A3FE80 80240740 AE000078 */ sw $zero, 0x78($s0) +.L80240744: +/* A3FE84 80240744 8E02007C */ lw $v0, 0x7c($s0) +/* A3FE88 80240748 8E0300A4 */ lw $v1, 0xa4($s0) +/* A3FE8C 8024074C 0043102A */ slt $v0, $v0, $v1 +/* A3FE90 80240750 50400001 */ beql $v0, $zero, .L80240758 +/* A3FE94 80240754 AE00007C */ sw $zero, 0x7c($s0) +.L80240758: +/* A3FE98 80240758 8FBF0014 */ lw $ra, 0x14($sp) +/* A3FE9C 8024075C 8FB00010 */ lw $s0, 0x10($sp) +/* A3FEA0 80240760 0000102D */ daddu $v0, $zero, $zero +/* A3FEA4 80240764 03E00008 */ jr $ra +/* A3FEA8 80240768 27BD0018 */ addiu $sp, $sp, 0x18 +/* A3FEAC 8024076C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240770_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240770_A3F740.s new file mode 100644 index 0000000000..b1bd48ae26 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240770_A3F740.s @@ -0,0 +1,208 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240770_A3FEB0 +/* A3FEB0 80240770 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A3FEB4 80240774 AFB1001C */ sw $s1, 0x1c($sp) +/* A3FEB8 80240778 0080882D */ daddu $s1, $a0, $zero +/* A3FEBC 8024077C AFB20020 */ sw $s2, 0x20($sp) +/* A3FEC0 80240780 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* A3FEC4 80240784 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* A3FEC8 80240788 AFBF0024 */ sw $ra, 0x24($sp) +/* A3FECC 8024078C AFB00018 */ sw $s0, 0x18($sp) +/* A3FED0 80240790 10A00010 */ beqz $a1, .L802407D4 +/* A3FED4 80240794 8E30000C */ lw $s0, 0xc($s1) +/* A3FED8 80240798 8E050000 */ lw $a1, ($s0) +/* A3FEDC 8024079C 0C0B1EAF */ jal get_variable +/* A3FEE0 802407A0 26100004 */ addiu $s0, $s0, 4 +/* A3FEE4 802407A4 AE220074 */ sw $v0, 0x74($s1) +/* A3FEE8 802407A8 8E050000 */ lw $a1, ($s0) +/* A3FEEC 802407AC 26100004 */ addiu $s0, $s0, 4 +/* A3FEF0 802407B0 0C0B1EAF */ jal get_variable +/* A3FEF4 802407B4 0220202D */ daddu $a0, $s1, $zero +/* A3FEF8 802407B8 AE220078 */ sw $v0, 0x78($s1) +/* A3FEFC 802407BC 8E050000 */ lw $a1, ($s0) +/* A3FF00 802407C0 0C0B1EAF */ jal get_variable +/* A3FF04 802407C4 0220202D */ daddu $a0, $s1, $zero +/* A3FF08 802407C8 AE2200C0 */ sw $v0, 0xc0($s1) +/* A3FF0C 802407CC AE200070 */ sw $zero, 0x70($s1) +/* A3FF10 802407D0 AE20007C */ sw $zero, 0x7c($s1) +.L802407D4: +/* A3FF14 802407D4 0C00EABB */ jal get_npc_unsafe +/* A3FF18 802407D8 8E240074 */ lw $a0, 0x74($s1) +/* A3FF1C 802407DC 8E230070 */ lw $v1, 0x70($s1) +/* A3FF20 802407E0 10600006 */ beqz $v1, .L802407FC +/* A3FF24 802407E4 0040802D */ daddu $s0, $v0, $zero +/* A3FF28 802407E8 24020001 */ addiu $v0, $zero, 1 +/* A3FF2C 802407EC 10620048 */ beq $v1, $v0, .L80240910 +/* A3FF30 802407F0 26040038 */ addiu $a0, $s0, 0x38 +/* A3FF34 802407F4 08090293 */ j .L80240A4C +/* A3FF38 802407F8 00000000 */ nop +.L802407FC: +/* A3FF3C 802407FC C6400028 */ lwc1 $f0, 0x28($s2) +/* A3FF40 80240800 E6000038 */ swc1 $f0, 0x38($s0) +/* A3FF44 80240804 C640002C */ lwc1 $f0, 0x2c($s2) +/* A3FF48 80240808 E600003C */ swc1 $f0, 0x3c($s0) +/* A3FF4C 8024080C C6400030 */ lwc1 $f0, 0x30($s2) +/* A3FF50 80240810 E6000040 */ swc1 $f0, 0x40($s0) +/* A3FF54 80240814 8E23007C */ lw $v1, 0x7c($s1) +/* A3FF58 80240818 3C014040 */ lui $at, 0x4040 +/* A3FF5C 8024081C 44810000 */ mtc1 $at, $f0 +/* A3FF60 80240820 00031040 */ sll $v0, $v1, 1 +/* A3FF64 80240824 00431021 */ addu $v0, $v0, $v1 +/* A3FF68 80240828 E6000064 */ swc1 $f0, 0x64($s0) +/* A3FF6C 8024082C 44820000 */ mtc1 $v0, $f0 +/* A3FF70 80240830 00000000 */ nop +/* A3FF74 80240834 46800020 */ cvt.s.w $f0, $f0 +/* A3FF78 80240838 E6000060 */ swc1 $f0, 0x60($s0) +/* A3FF7C 8024083C 8E230078 */ lw $v1, 0x78($s1) +/* A3FF80 80240840 46000086 */ mov.s $f2, $f0 +/* A3FF84 80240844 00031040 */ sll $v0, $v1, 1 +/* A3FF88 80240848 00431021 */ addu $v0, $v0, $v1 +/* A3FF8C 8024084C 00021900 */ sll $v1, $v0, 4 +/* A3FF90 80240850 00431021 */ addu $v0, $v0, $v1 +/* A3FF94 80240854 44820000 */ mtc1 $v0, $f0 +/* A3FF98 80240858 00000000 */ nop +/* A3FF9C 8024085C 46800020 */ cvt.s.w $f0, $f0 +/* A3FFA0 80240860 46001080 */ add.s $f2, $f2, $f0 +/* A3FFA4 80240864 3C014319 */ lui $at, 0x4319 +/* A3FFA8 80240868 44810000 */ mtc1 $at, $f0 +/* A3FFAC 8024086C 00000000 */ nop +/* A3FFB0 80240870 46001080 */ add.s $f2, $f2, $f0 +/* A3FFB4 80240874 26040038 */ addiu $a0, $s0, 0x38 +/* A3FFB8 80240878 3C06428C */ lui $a2, 0x428c +/* A3FFBC 8024087C 44071000 */ mfc1 $a3, $f2 +/* A3FFC0 80240880 0C00A7E7 */ jal add_vec2D_polar +/* A3FFC4 80240884 26050040 */ addiu $a1, $s0, 0x40 +/* A3FFC8 80240888 3C034EC4 */ lui $v1, 0x4ec4 +/* A3FFCC 8024088C 8E24007C */ lw $a0, 0x7c($s1) +/* A3FFD0 80240890 8E220078 */ lw $v0, 0x78($s1) +/* A3FFD4 80240894 3463EC4F */ ori $v1, $v1, 0xec4f +/* A3FFD8 80240898 00822021 */ addu $a0, $a0, $v0 +/* A3FFDC 8024089C 00830018 */ mult $a0, $v1 +/* A3FFE0 802408A0 000417C3 */ sra $v0, $a0, 0x1f +/* A3FFE4 802408A4 00004010 */ mfhi $t0 +/* A3FFE8 802408A8 00081883 */ sra $v1, $t0, 2 +/* A3FFEC 802408AC 00621823 */ subu $v1, $v1, $v0 +/* A3FFF0 802408B0 00031040 */ sll $v0, $v1, 1 +/* A3FFF4 802408B4 00431021 */ addu $v0, $v0, $v1 +/* A3FFF8 802408B8 00021080 */ sll $v0, $v0, 2 +/* A3FFFC 802408BC 00431021 */ addu $v0, $v0, $v1 +/* A40000 802408C0 1482000C */ bne $a0, $v0, .L802408F4 +/* A40004 802408C4 00000000 */ nop +/* A40008 802408C8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A4000C 802408CC 3C014120 */ lui $at, 0x4120 +/* A40010 802408D0 44810000 */ mtc1 $at, $f0 +/* A40014 802408D4 00000000 */ nop +/* A40018 802408D8 46001080 */ add.s $f2, $f2, $f0 +/* A4001C 802408DC E7A00010 */ swc1 $f0, 0x10($sp) +/* A40020 802408E0 8E050038 */ lw $a1, 0x38($s0) +/* A40024 802408E4 8E070040 */ lw $a3, 0x40($s0) +/* A40028 802408E8 44061000 */ mfc1 $a2, $f2 +/* A4002C 802408EC 0C01BFBC */ jal func_8006FEF0 +/* A40030 802408F0 24040003 */ addiu $a0, $zero, 3 +.L802408F4: +/* A40034 802408F4 8E22007C */ lw $v0, 0x7c($s1) +/* A40038 802408F8 2842015F */ slti $v0, $v0, 0x15f +/* A4003C 802408FC 14400053 */ bnez $v0, .L80240A4C +/* A40040 80240900 24020001 */ addiu $v0, $zero, 1 +/* A40044 80240904 AE220070 */ sw $v0, 0x70($s1) +/* A40048 80240908 08090293 */ j .L80240A4C +/* A4004C 8024090C AE20007C */ sw $zero, 0x7c($s1) +.L80240910: +/* A40050 80240910 C6400028 */ lwc1 $f0, 0x28($s2) +/* A40054 80240914 3C014040 */ lui $at, 0x4040 +/* A40058 80240918 44813000 */ mtc1 $at, $f6 +/* A4005C 8024091C E6000038 */ swc1 $f0, 0x38($s0) +/* A40060 80240920 C640002C */ lwc1 $f0, 0x2c($s2) +/* A40064 80240924 E600003C */ swc1 $f0, 0x3c($s0) +/* A40068 80240928 C6400030 */ lwc1 $f0, 0x30($s2) +/* A4006C 8024092C E6000040 */ swc1 $f0, 0x40($s0) +/* A40070 80240930 8E23007C */ lw $v1, 0x7c($s1) +/* A40074 80240934 E6060064 */ swc1 $f6, 0x64($s0) +/* A40078 80240938 00031040 */ sll $v0, $v1, 1 +/* A4007C 8024093C 00431021 */ addu $v0, $v0, $v1 +/* A40080 80240940 44820000 */ mtc1 $v0, $f0 +/* A40084 80240944 00000000 */ nop +/* A40088 80240948 46800020 */ cvt.s.w $f0, $f0 +/* A4008C 8024094C 240200BE */ addiu $v0, $zero, 0xbe +/* A40090 80240950 E6000060 */ swc1 $f0, 0x60($s0) +/* A40094 80240954 8E23007C */ lw $v1, 0x7c($s1) +/* A40098 80240958 3C01433E */ lui $at, 0x433e +/* A4009C 8024095C 44810000 */ mtc1 $at, $f0 +/* A400A0 80240960 00431023 */ subu $v0, $v0, $v1 +/* A400A4 80240964 44822000 */ mtc1 $v0, $f4 +/* A400A8 80240968 00000000 */ nop +/* A400AC 8024096C 46802120 */ cvt.s.w $f4, $f4 +/* A400B0 80240970 46002103 */ div.s $f4, $f4, $f0 +/* A400B4 80240974 8E230078 */ lw $v1, 0x78($s1) +/* A400B8 80240978 3C014286 */ lui $at, 0x4286 +/* A400BC 8024097C 44810000 */ mtc1 $at, $f0 +/* A400C0 80240980 00031040 */ sll $v0, $v1, 1 +/* A400C4 80240984 00431021 */ addu $v0, $v0, $v1 +/* A400C8 80240988 46002102 */ mul.s $f4, $f4, $f0 +/* A400CC 8024098C 00000000 */ nop +/* A400D0 80240990 00021900 */ sll $v1, $v0, 4 +/* A400D4 80240994 00431021 */ addu $v0, $v0, $v1 +/* A400D8 80240998 C6000060 */ lwc1 $f0, 0x60($s0) +/* A400DC 8024099C 44821000 */ mtc1 $v0, $f2 +/* A400E0 802409A0 00000000 */ nop +/* A400E4 802409A4 468010A0 */ cvt.s.w $f2, $f2 +/* A400E8 802409A8 46020000 */ add.s $f0, $f0, $f2 +/* A400EC 802409AC 3C014319 */ lui $at, 0x4319 +/* A400F0 802409B0 44811000 */ mtc1 $at, $f2 +/* A400F4 802409B4 00000000 */ nop +/* A400F8 802409B8 46020000 */ add.s $f0, $f0, $f2 +/* A400FC 802409BC 46062100 */ add.s $f4, $f4, $f6 +/* A40100 802409C0 44070000 */ mfc1 $a3, $f0 +/* A40104 802409C4 44062000 */ mfc1 $a2, $f4 +/* A40108 802409C8 0C00A7E7 */ jal add_vec2D_polar +/* A4010C 802409CC 26050040 */ addiu $a1, $s0, 0x40 +/* A40110 802409D0 3C034EC4 */ lui $v1, 0x4ec4 +/* A40114 802409D4 8E24007C */ lw $a0, 0x7c($s1) +/* A40118 802409D8 8E220078 */ lw $v0, 0x78($s1) +/* A4011C 802409DC 3463EC4F */ ori $v1, $v1, 0xec4f +/* A40120 802409E0 00822021 */ addu $a0, $a0, $v0 +/* A40124 802409E4 00830018 */ mult $a0, $v1 +/* A40128 802409E8 000417C3 */ sra $v0, $a0, 0x1f +/* A4012C 802409EC 00004010 */ mfhi $t0 +/* A40130 802409F0 00081883 */ sra $v1, $t0, 2 +/* A40134 802409F4 00621823 */ subu $v1, $v1, $v0 +/* A40138 802409F8 00031040 */ sll $v0, $v1, 1 +/* A4013C 802409FC 00431021 */ addu $v0, $v0, $v1 +/* A40140 80240A00 00021080 */ sll $v0, $v0, 2 +/* A40144 80240A04 00431021 */ addu $v0, $v0, $v1 +/* A40148 80240A08 1482000C */ bne $a0, $v0, .L80240A3C +/* A4014C 80240A0C 00000000 */ nop +/* A40150 80240A10 C602003C */ lwc1 $f2, 0x3c($s0) +/* A40154 80240A14 3C014120 */ lui $at, 0x4120 +/* A40158 80240A18 44810000 */ mtc1 $at, $f0 +/* A4015C 80240A1C 00000000 */ nop +/* A40160 80240A20 46001080 */ add.s $f2, $f2, $f0 +/* A40164 80240A24 E7A00010 */ swc1 $f0, 0x10($sp) +/* A40168 80240A28 8E050038 */ lw $a1, 0x38($s0) +/* A4016C 80240A2C 8E070040 */ lw $a3, 0x40($s0) +/* A40170 80240A30 44061000 */ mfc1 $a2, $f2 +/* A40174 80240A34 0C01BFBC */ jal func_8006FEF0 +/* A40178 80240A38 24040003 */ addiu $a0, $zero, 3 +.L80240A3C: +/* A4017C 80240A3C 8E22007C */ lw $v0, 0x7c($s1) +/* A40180 80240A40 284200BF */ slti $v0, $v0, 0xbf +/* A40184 80240A44 10400009 */ beqz $v0, .L80240A6C +/* A40188 80240A48 24020002 */ addiu $v0, $zero, 2 +.L80240A4C: +/* A4018C 80240A4C 8E22007C */ lw $v0, 0x7c($s1) +/* A40190 80240A50 24420001 */ addiu $v0, $v0, 1 +/* A40194 80240A54 AE22007C */ sw $v0, 0x7c($s1) +/* A40198 80240A58 C6000060 */ lwc1 $f0, 0x60($s0) +/* A4019C 80240A5C C6020064 */ lwc1 $f2, 0x64($s0) +/* A401A0 80240A60 46020000 */ add.s $f0, $f0, $f2 +/* A401A4 80240A64 0000102D */ daddu $v0, $zero, $zero +/* A401A8 80240A68 E6000060 */ swc1 $f0, 0x60($s0) +.L80240A6C: +/* A401AC 80240A6C 8FBF0024 */ lw $ra, 0x24($sp) +/* A401B0 80240A70 8FB20020 */ lw $s2, 0x20($sp) +/* A401B4 80240A74 8FB1001C */ lw $s1, 0x1c($sp) +/* A401B8 80240A78 8FB00018 */ lw $s0, 0x18($sp) +/* A401BC 80240A7C 03E00008 */ jr $ra +/* A401C0 80240A80 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240A84_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240A84_A3F740.s new file mode 100644 index 0000000000..45e62c65a7 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240A84_A3F740.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A84_A401C4 +/* A401C4 80240A84 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A401C8 80240A88 AFB10014 */ sw $s1, 0x14($sp) +/* A401CC 80240A8C 0080882D */ daddu $s1, $a0, $zero +/* A401D0 80240A90 AFBF001C */ sw $ra, 0x1c($sp) +/* A401D4 80240A94 AFB20018 */ sw $s2, 0x18($sp) +/* A401D8 80240A98 AFB00010 */ sw $s0, 0x10($sp) +/* A401DC 80240A9C F7B60028 */ sdc1 $f22, 0x28($sp) +/* A401E0 80240AA0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A401E4 80240AA4 8E30000C */ lw $s0, 0xc($s1) +/* A401E8 80240AA8 8E050000 */ lw $a1, ($s0) +/* A401EC 80240AAC 0C0B1EAF */ jal get_variable +/* A401F0 80240AB0 26100004 */ addiu $s0, $s0, 4 +/* A401F4 80240AB4 8E050000 */ lw $a1, ($s0) +/* A401F8 80240AB8 26100004 */ addiu $s0, $s0, 4 +/* A401FC 80240ABC 0220202D */ daddu $a0, $s1, $zero +/* A40200 80240AC0 0C0B1EAF */ jal get_variable +/* A40204 80240AC4 0040902D */ daddu $s2, $v0, $zero +/* A40208 80240AC8 8E050000 */ lw $a1, ($s0) +/* A4020C 80240ACC 26100004 */ addiu $s0, $s0, 4 +/* A40210 80240AD0 4482B000 */ mtc1 $v0, $f22 +/* A40214 80240AD4 00000000 */ nop +/* A40218 80240AD8 4680B5A0 */ cvt.s.w $f22, $f22 +/* A4021C 80240ADC 0C0B1EAF */ jal get_variable +/* A40220 80240AE0 0220202D */ daddu $a0, $s1, $zero +/* A40224 80240AE4 8E050000 */ lw $a1, ($s0) +/* A40228 80240AE8 4482A000 */ mtc1 $v0, $f20 +/* A4022C 80240AEC 00000000 */ nop +/* A40230 80240AF0 4680A520 */ cvt.s.w $f20, $f20 +/* A40234 80240AF4 0C0B1EAF */ jal get_variable +/* A40238 80240AF8 0220202D */ daddu $a0, $s1, $zero +/* A4023C 80240AFC 8E43000C */ lw $v1, 0xc($s2) +/* A40240 80240B00 E4760004 */ swc1 $f22, 4($v1) +/* A40244 80240B04 8E43000C */ lw $v1, 0xc($s2) +/* A40248 80240B08 E4740008 */ swc1 $f20, 8($v1) +/* A4024C 80240B0C 8E43000C */ lw $v1, 0xc($s2) +/* A40250 80240B10 44820000 */ mtc1 $v0, $f0 +/* A40254 80240B14 00000000 */ nop +/* A40258 80240B18 46800020 */ cvt.s.w $f0, $f0 +/* A4025C 80240B1C E460000C */ swc1 $f0, 0xc($v1) +/* A40260 80240B20 8FBF001C */ lw $ra, 0x1c($sp) +/* A40264 80240B24 8FB20018 */ lw $s2, 0x18($sp) +/* A40268 80240B28 8FB10014 */ lw $s1, 0x14($sp) +/* A4026C 80240B2C 8FB00010 */ lw $s0, 0x10($sp) +/* A40270 80240B30 D7B60028 */ ldc1 $f22, 0x28($sp) +/* A40274 80240B34 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A40278 80240B38 24020002 */ addiu $v0, $zero, 2 +/* A4027C 80240B3C 03E00008 */ jr $ra +/* A40280 80240B40 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240B44_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240B44_A3F740.s new file mode 100644 index 0000000000..00e685c62e --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240B44_A3F740.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B44_A40284 +/* A40284 80240B44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A40288 80240B48 AFB10014 */ sw $s1, 0x14($sp) +/* A4028C 80240B4C 0080882D */ daddu $s1, $a0, $zero +/* A40290 80240B50 AFBF0018 */ sw $ra, 0x18($sp) +/* A40294 80240B54 AFB00010 */ sw $s0, 0x10($sp) +/* A40298 80240B58 8E30000C */ lw $s0, 0xc($s1) +/* A4029C 80240B5C 8E050000 */ lw $a1, ($s0) +/* A402A0 80240B60 0C0B1EAF */ jal get_variable +/* A402A4 80240B64 26100004 */ addiu $s0, $s0, 4 +/* A402A8 80240B68 0220202D */ daddu $a0, $s1, $zero +/* A402AC 80240B6C 8E050000 */ lw $a1, ($s0) +/* A402B0 80240B70 0C0B210B */ jal get_float_variable +/* A402B4 80240B74 0040802D */ daddu $s0, $v0, $zero +/* A402B8 80240B78 8E03000C */ lw $v1, 0xc($s0) +/* A402BC 80240B7C E4600010 */ swc1 $f0, 0x10($v1) +/* A402C0 80240B80 8FBF0018 */ lw $ra, 0x18($sp) +/* A402C4 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* A402C8 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* A402CC 80240B8C 24020002 */ addiu $v0, $zero, 2 +/* A402D0 80240B90 03E00008 */ jr $ra +/* A402D4 80240B94 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240B98_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240B98_A3F740.s new file mode 100644 index 0000000000..6ab5c6af8c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240B98_A3F740.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B98_A402D8 +/* A402D8 80240B98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A402DC 80240B9C AFB10014 */ sw $s1, 0x14($sp) +/* A402E0 80240BA0 0080882D */ daddu $s1, $a0, $zero +/* A402E4 80240BA4 AFBF0018 */ sw $ra, 0x18($sp) +/* A402E8 80240BA8 AFB00010 */ sw $s0, 0x10($sp) +/* A402EC 80240BAC 8E30000C */ lw $s0, 0xc($s1) +/* A402F0 80240BB0 8E050000 */ lw $a1, ($s0) +/* A402F4 80240BB4 0C0B1EAF */ jal get_variable +/* A402F8 80240BB8 26100004 */ addiu $s0, $s0, 4 +/* A402FC 80240BBC 0220202D */ daddu $a0, $s1, $zero +/* A40300 80240BC0 8E050000 */ lw $a1, ($s0) +/* A40304 80240BC4 0C0B1EAF */ jal get_variable +/* A40308 80240BC8 0040802D */ daddu $s0, $v0, $zero +/* A4030C 80240BCC 8E03000C */ lw $v1, 0xc($s0) +/* A40310 80240BD0 AC620018 */ sw $v0, 0x18($v1) +/* A40314 80240BD4 8FBF0018 */ lw $ra, 0x18($sp) +/* A40318 80240BD8 8FB10014 */ lw $s1, 0x14($sp) +/* A4031C 80240BDC 8FB00010 */ lw $s0, 0x10($sp) +/* A40320 80240BE0 24020002 */ addiu $v0, $zero, 2 +/* A40324 80240BE4 03E00008 */ jr $ra +/* A40328 80240BE8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240BEC.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240BEC.s new file mode 100644 index 0000000000..1756610dad --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240BEC.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BEC +/* A4032C 80240BEC 3C018011 */ lui $at, 0x8011 +/* A40330 80240BF0 A020F2A2 */ sb $zero, -0xd5e($at) +/* A40334 80240BF4 03E00008 */ jr $ra +/* A40338 80240BF8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_hos/hos_10/func_80240BFC_A3F740.s b/asm/nonmatchings/world/area_hos/hos_10/func_80240BFC_A3F740.s new file mode 100644 index 0000000000..07ee885c90 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_10/func_80240BFC_A3F740.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BFC_A4033C +/* A4033C 80240BFC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A40340 80240C00 AFB00010 */ sw $s0, 0x10($sp) +/* A40344 80240C04 0080802D */ daddu $s0, $a0, $zero +/* A40348 80240C08 10A00002 */ beqz $a1, .L80240C14 +/* A4034C 80240C0C AFBF0014 */ sw $ra, 0x14($sp) +/* A40350 80240C10 AE000074 */ sw $zero, 0x74($s0) +.L80240C14: +/* A40354 80240C14 0000202D */ daddu $a0, $zero, $zero +/* A40358 80240C18 240500D0 */ addiu $a1, $zero, 0xd0 +/* A4035C 80240C1C 00A0302D */ daddu $a2, $a1, $zero +/* A40360 80240C20 0C04DF84 */ jal func_80137E10 +/* A40364 80240C24 00A0382D */ daddu $a3, $a1, $zero +/* A40368 80240C28 C6000074 */ lwc1 $f0, 0x74($s0) +/* A4036C 80240C2C 46800020 */ cvt.s.w $f0, $f0 +/* A40370 80240C30 44050000 */ mfc1 $a1, $f0 +/* A40374 80240C34 0C04DF62 */ jal func_80137D88 +/* A40378 80240C38 24040001 */ addiu $a0, $zero, 1 +/* A4037C 80240C3C 8E020074 */ lw $v0, 0x74($s0) +/* A40380 80240C40 240300FF */ addiu $v1, $zero, 0xff +/* A40384 80240C44 14430003 */ bne $v0, $v1, .L80240C54 +/* A40388 80240C48 24420007 */ addiu $v0, $v0, 7 +/* A4038C 80240C4C 0809031A */ j .L80240C68 +/* A40390 80240C50 24020002 */ addiu $v0, $zero, 2 +.L80240C54: +/* A40394 80240C54 AE020074 */ sw $v0, 0x74($s0) +/* A40398 80240C58 28420100 */ slti $v0, $v0, 0x100 +/* A4039C 80240C5C 50400001 */ beql $v0, $zero, .L80240C64 +/* A403A0 80240C60 AE030074 */ sw $v1, 0x74($s0) +.L80240C64: +/* A403A4 80240C64 0000102D */ daddu $v0, $zero, $zero +.L80240C68: +/* A403A8 80240C68 8FBF0014 */ lw $ra, 0x14($sp) +/* A403AC 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* A403B0 80240C70 03E00008 */ jr $ra +/* A403B4 80240C74 27BD0018 */ addiu $sp, $sp, 0x18 +/* A403B8 80240C78 00000000 */ nop +/* A403BC 80240C7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_20/func_80240000_A45930.s b/asm/nonmatchings/world/area_hos/hos_20/func_80240000_A45930.s new file mode 100644 index 0000000000..b435e6a21b --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_20/func_80240000_A45930.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A45930 +/* A45930 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A45934 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A45938 80240008 0080802D */ daddu $s0, $a0, $zero +/* A4593C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A45940 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A45944 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A45948 80240018 00621821 */ addu $v1, $v1, $v0 +/* A4594C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A45950 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A45954 80240024 3C020002 */ lui $v0, 2 +/* A45958 80240028 08090010 */ j .L80240040 +/* A4595C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A45960 80240030 3C040002 */ lui $a0, 2 +/* A45964 80240034 0083102A */ slt $v0, $a0, $v1 +/* A45968 80240038 10400002 */ beqz $v0, .L80240044 +/* A4596C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A45970 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A45974 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A45978 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A4597C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A45980 80240050 04610004 */ bgez $v1, .L80240064 +/* A45984 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A45988 80240058 3C020002 */ lui $v0, 2 +/* A4598C 8024005C 0809001D */ j .L80240074 +/* A45990 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A45994 80240064 3C040002 */ lui $a0, 2 +/* A45998 80240068 0083102A */ slt $v0, $a0, $v1 +/* A4599C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A459A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A459A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A459A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A459AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A459B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* A459B4 80240084 04610004 */ bgez $v1, .L80240098 +/* A459B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A459BC 8024008C 3C020002 */ lui $v0, 2 +/* A459C0 80240090 0809002A */ j .L802400A8 +/* A459C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A459C8 80240098 3C040002 */ lui $a0, 2 +/* A459CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A459D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* A459D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A459D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A459DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A459E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A459E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A459E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* A459EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A459F0 802400C0 3C020002 */ lui $v0, 2 +/* A459F4 802400C4 08090037 */ j .L802400DC +/* A459F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A459FC 802400CC 3C040002 */ lui $a0, 2 +/* A45A00 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A45A04 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A45A08 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A45A0C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A45A10 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A45A14 802400E4 0C046F07 */ jal set_main_pan_u +/* A45A18 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A45A1C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A45A20 802400F0 0C046F0D */ jal set_main_pan_v +/* A45A24 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A45A28 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A45A2C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A45A30 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A45A34 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A45A38 80240108 0C046F19 */ jal set_aux_pan_v +/* A45A3C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A45A40 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A45A44 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A45A48 80240118 0000102D */ daddu $v0, $zero, $zero +/* A45A4C 8024011C 03E00008 */ jr $ra +/* A45A50 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_hos/hos_20/func_80240124_A45930.s b/asm/nonmatchings/world/area_hos/hos_20/func_80240124_A45930.s new file mode 100644 index 0000000000..5ec968a62c --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_20/func_80240124_A45930.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A45A54 +/* A45A54 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A45A58 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A45A5C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A45A60 80240130 10A00005 */ beqz $a1, .L80240148 +/* A45A64 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A45A68 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A45A6C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A45A70 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A45A74 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A45A78 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A45A7C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A45A80 80240150 00000000 */ nop +/* A45A84 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A45A88 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A45A8C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A45A90 80240160 04610004 */ bgez $v1, .L80240174 +/* A45A94 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A45A98 80240168 3C020002 */ lui $v0, 2 +/* A45A9C 8024016C 08090061 */ j .L80240184 +/* A45AA0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A45AA4 80240174 3C040002 */ lui $a0, 2 +/* A45AA8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A45AAC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A45AB0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A45AB4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A45AB8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A45ABC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A45AC0 80240190 00000000 */ nop +/* A45AC4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A45AC8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A45ACC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A45AD0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A45AD4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A45AD8 802401A8 3C020002 */ lui $v0, 2 +/* A45ADC 802401AC 08090071 */ j .L802401C4 +/* A45AE0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A45AE4 802401B4 3C040002 */ lui $a0, 2 +/* A45AE8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A45AEC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A45AF0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A45AF4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A45AF8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A45AFC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A45B00 802401D0 00000000 */ nop +/* A45B04 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A45B08 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A45B0C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A45B10 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A45B14 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A45B18 802401E8 3C020002 */ lui $v0, 2 +/* A45B1C 802401EC 08090081 */ j .L80240204 +/* A45B20 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A45B24 802401F4 3C040002 */ lui $a0, 2 +/* A45B28 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A45B2C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A45B30 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A45B34 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A45B38 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A45B3C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A45B40 80240210 00000000 */ nop +/* A45B44 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A45B48 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A45B4C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A45B50 80240220 04610004 */ bgez $v1, .L80240234 +/* A45B54 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A45B58 80240228 3C020002 */ lui $v0, 2 +/* A45B5C 8024022C 08090091 */ j .L80240244 +/* A45B60 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A45B64 80240234 3C040002 */ lui $a0, 2 +/* A45B68 80240238 0083102A */ slt $v0, $a0, $v1 +/* A45B6C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A45B70 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A45B74 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A45B78 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A45B7C 8024024C 0C046F07 */ jal set_main_pan_u +/* A45B80 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A45B84 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A45B88 80240258 0C046F0D */ jal set_main_pan_v +/* A45B8C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A45B90 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A45B94 80240264 0C046F13 */ jal set_aux_pan_u +/* A45B98 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A45B9C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A45BA0 80240270 0C046F19 */ jal set_aux_pan_v +/* A45BA4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A45BA8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A45BAC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A45BB0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A45BB4 80240284 24420001 */ addiu $v0, $v0, 1 +/* A45BB8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A45BBC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A45BC0 80240290 24630001 */ addiu $v1, $v1, 1 +/* A45BC4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A45BC8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A45BCC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A45BD0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A45BD4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A45BD8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A45BDC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A45BE0 802402B0 14600002 */ bnez $v1, .L802402BC +/* A45BE4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A45BE8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A45BEC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A45BF0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A45BF4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A45BF8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A45BFC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A45C00 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A45C04 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A45C08 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A45C0C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A45C10 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A45C14 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A45C18 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A45C1C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A45C20 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A45C24 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A45C28 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A45C2C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A45C30 80240300 0000102D */ daddu $v0, $zero, $zero +/* A45C34 80240304 03E00008 */ jr $ra +/* A45C38 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A45C3C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_20/func_80240310_A45930.s b/asm/nonmatchings/world/area_hos/hos_20/func_80240310_A45930.s new file mode 100644 index 0000000000..76badaf188 --- /dev/null +++ b/asm/nonmatchings/world/area_hos/hos_20/func_80240310_A45930.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A45C40 +/* A45C40 80240310 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* A45C44 80240314 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* A45C48 80240318 8C620000 */ lw $v0, ($v1) +/* A45C4C 8024031C AC8000A4 */ sw $zero, 0xa4($a0) +/* A45C50 80240320 8C420010 */ lw $v0, 0x10($v0) +/* A45C54 80240324 30428000 */ andi $v0, $v0, 0x8000 +/* A45C58 80240328 10400002 */ beqz $v0, .L80240334 +/* A45C5C 8024032C 24020001 */ addiu $v0, $zero, 1 +/* A45C60 80240330 AC8200A4 */ sw $v0, 0xa4($a0) +.L80240334: +/* A45C64 80240334 8C620000 */ lw $v0, ($v1) +/* A45C68 80240338 8C420010 */ lw $v0, 0x10($v0) +/* A45C6C 8024033C 30424000 */ andi $v0, $v0, 0x4000 +/* A45C70 80240340 10400002 */ beqz $v0, .L8024034C +/* A45C74 80240344 24020001 */ addiu $v0, $zero, 1 +/* A45C78 80240348 AC8200A4 */ sw $v0, 0xa4($a0) +.L8024034C: +/* A45C7C 8024034C 03E00008 */ jr $ra +/* A45C80 80240350 24020002 */ addiu $v0, $zero, 2 +/* A45C84 80240354 00000000 */ nop +/* A45C88 80240358 00000000 */ nop +/* A45C8C 8024035C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_02/func_80240000_978710.s b/asm/nonmatchings/world/area_isk/isk_02/func_80240000_978710.s new file mode 100644 index 0000000000..a633c44156 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_02/func_80240000_978710.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_978710 +/* 978710 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 978714 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 978718 80240008 0C04417A */ jal get_entity_by_index +/* 97871C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* 978720 80240010 0040182D */ daddu $v1, $v0, $zero +/* 978724 80240014 8C640000 */ lw $a0, ($v1) +/* 978728 80240018 3C050010 */ lui $a1, 0x10 +/* 97872C 8024001C 00852025 */ or $a0, $a0, $a1 +/* 978730 80240020 AC640000 */ sw $a0, ($v1) +/* 978734 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* 978738 80240028 24020002 */ addiu $v0, $zero, 2 +/* 97873C 8024002C 03E00008 */ jr $ra +/* 978740 80240030 27BD0018 */ addiu $sp, $sp, 0x18 +/* 978744 80240034 00000000 */ nop +/* 978748 80240038 00000000 */ nop +/* 97874C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_02/func_80240040_978710.s b/asm/nonmatchings/world/area_isk/isk_02/func_80240040_978710.s new file mode 100644 index 0000000000..398710ae12 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_02/func_80240040_978710.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_978750 +/* 978750 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 978754 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* 978758 80240048 0080882D */ daddu $s1, $a0, $zero +/* 97875C 8024004C AFBF0018 */ sw $ra, 0x18($sp) +/* 978760 80240050 AFB00010 */ sw $s0, 0x10($sp) +/* 978764 80240054 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 978768 80240058 8E30000C */ lw $s0, 0xc($s1) +/* 97876C 8024005C 8E050000 */ lw $a1, ($s0) +/* 978770 80240060 0C0B1EAF */ jal get_variable +/* 978774 80240064 26100004 */ addiu $s0, $s0, 4 +/* 978778 80240068 8E050000 */ lw $a1, ($s0) +/* 97877C 8024006C 4482A000 */ mtc1 $v0, $f20 +/* 978780 80240070 00000000 */ nop +/* 978784 80240074 4680A520 */ cvt.s.w $f20, $f20 +/* 978788 80240078 0C0B1EAF */ jal get_variable +/* 97878C 8024007C 0220202D */ daddu $a0, $s1, $zero +/* 978790 80240080 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 978794 80240084 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 978798 80240088 8C660028 */ lw $a2, 0x28($v1) +/* 97879C 8024008C 8C670030 */ lw $a3, 0x30($v1) +/* 9787A0 80240090 44827000 */ mtc1 $v0, $f14 +/* 9787A4 80240094 00000000 */ nop +/* 9787A8 80240098 468073A0 */ cvt.s.w $f14, $f14 +/* 9787AC 8024009C 0C00A7B5 */ jal dist2D +/* 9787B0 802400A0 4600A306 */ mov.s $f12, $f20 +/* 9787B4 802400A4 3C01437A */ lui $at, 0x437a +/* 9787B8 802400A8 44811000 */ mtc1 $at, $f2 +/* 9787BC 802400AC 00000000 */ nop +/* 9787C0 802400B0 4600103C */ c.lt.s $f2, $f0 +/* 9787C4 802400B4 00000000 */ nop +/* 9787C8 802400B8 45000003 */ bc1f .L802400C8 +/* 9787CC 802400BC 24020001 */ addiu $v0, $zero, 1 +/* 9787D0 802400C0 08090033 */ j .L802400CC +/* 9787D4 802400C4 AE200084 */ sw $zero, 0x84($s1) +.L802400C8: +/* 9787D8 802400C8 AE220084 */ sw $v0, 0x84($s1) +.L802400CC: +/* 9787DC 802400CC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9787E0 802400D0 8FB10014 */ lw $s1, 0x14($sp) +/* 9787E4 802400D4 8FB00010 */ lw $s0, 0x10($sp) +/* 9787E8 802400D8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9787EC 802400DC 24020002 */ addiu $v0, $zero, 2 +/* 9787F0 802400E0 03E00008 */ jr $ra +/* 9787F4 802400E4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9787F8 802400E8 00000000 */ nop +/* 9787FC 802400EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_02/func_802400F0_978710.s b/asm/nonmatchings/world/area_isk/isk_02/func_802400F0_978710.s new file mode 100644 index 0000000000..52bae55010 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_02/func_802400F0_978710.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_978800 +/* 978800 802400F0 8C830148 */ lw $v1, 0x148($a0) +/* 978804 802400F4 24020003 */ addiu $v0, $zero, 3 +/* 978808 802400F8 A06200B5 */ sb $v0, 0xb5($v1) +/* 97880C 802400FC 03E00008 */ jr $ra +/* 978810 80240100 24020002 */ addiu $v0, $zero, 2 +/* 978814 80240104 00000000 */ nop +/* 978818 80240108 00000000 */ nop +/* 97881C 8024010C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_80240000_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_80240000_97B630.s new file mode 100644 index 0000000000..7b8b36723d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_80240000_97B630.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_97B630 +/* 97B630 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97B634 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 97B638 80240008 0C04417A */ jal get_entity_by_index +/* 97B63C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* 97B640 80240010 0040182D */ daddu $v1, $v0, $zero +/* 97B644 80240014 8C640000 */ lw $a0, ($v1) +/* 97B648 80240018 3C050010 */ lui $a1, 0x10 +/* 97B64C 8024001C 00852025 */ or $a0, $a0, $a1 +/* 97B650 80240020 AC640000 */ sw $a0, ($v1) +/* 97B654 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* 97B658 80240028 24020002 */ addiu $v0, $zero, 2 +/* 97B65C 8024002C 03E00008 */ jr $ra +/* 97B660 80240030 27BD0018 */ addiu $sp, $sp, 0x18 +/* 97B664 80240034 00000000 */ nop +/* 97B668 80240038 00000000 */ nop +/* 97B66C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_80240040_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_80240040_97B630.s new file mode 100644 index 0000000000..b86738b5b0 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_80240040_97B630.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_97B670 +/* 97B670 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97B674 80240044 AFB20018 */ sw $s2, 0x18($sp) +/* 97B678 80240048 0080902D */ daddu $s2, $a0, $zero +/* 97B67C 8024004C AFBF001C */ sw $ra, 0x1c($sp) +/* 97B680 80240050 AFB10014 */ sw $s1, 0x14($sp) +/* 97B684 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 97B688 80240058 8E510148 */ lw $s1, 0x148($s2) +/* 97B68C 8024005C 0C00EABB */ jal get_npc_unsafe +/* 97B690 80240060 86240008 */ lh $a0, 8($s1) +/* 97B694 80240064 0040802D */ daddu $s0, $v0, $zero +/* 97B698 80240068 8E2300CC */ lw $v1, 0xcc($s1) +/* 97B69C 8024006C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97B6A0 80240070 8C630020 */ lw $v1, 0x20($v1) +/* 97B6A4 80240074 AE030028 */ sw $v1, 0x28($s0) +/* 97B6A8 80240078 96220076 */ lhu $v0, 0x76($s1) +/* 97B6AC 8024007C A602008E */ sh $v0, 0x8e($s0) +/* 97B6B0 80240080 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 97B6B4 80240084 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 97B6B8 80240088 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97B6BC 8024008C 8C460028 */ lw $a2, 0x28($v0) +/* 97B6C0 80240090 0C00A720 */ jal atan2 +/* 97B6C4 80240094 8C470030 */ lw $a3, 0x30($v0) +/* 97B6C8 80240098 2402000D */ addiu $v0, $zero, 0xd +/* 97B6CC 8024009C E600000C */ swc1 $f0, 0xc($s0) +/* 97B6D0 802400A0 AE420070 */ sw $v0, 0x70($s2) +/* 97B6D4 802400A4 8FBF001C */ lw $ra, 0x1c($sp) +/* 97B6D8 802400A8 8FB20018 */ lw $s2, 0x18($sp) +/* 97B6DC 802400AC 8FB10014 */ lw $s1, 0x14($sp) +/* 97B6E0 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* 97B6E4 802400B4 03E00008 */ jr $ra +/* 97B6E8 802400B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_802400BC_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_802400BC_97B630.s new file mode 100644 index 0000000000..5879210b28 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_802400BC_97B630.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_97B6EC +/* 97B6EC 802400BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 97B6F0 802400C0 AFB3001C */ sw $s3, 0x1c($sp) +/* 97B6F4 802400C4 0080982D */ daddu $s3, $a0, $zero +/* 97B6F8 802400C8 AFBF0020 */ sw $ra, 0x20($sp) +/* 97B6FC 802400CC AFB20018 */ sw $s2, 0x18($sp) +/* 97B700 802400D0 AFB10014 */ sw $s1, 0x14($sp) +/* 97B704 802400D4 AFB00010 */ sw $s0, 0x10($sp) +/* 97B708 802400D8 8E710148 */ lw $s1, 0x148($s3) +/* 97B70C 802400DC 86240008 */ lh $a0, 8($s1) +/* 97B710 802400E0 0C00EABB */ jal get_npc_unsafe +/* 97B714 802400E4 00A0902D */ daddu $s2, $a1, $zero +/* 97B718 802400E8 0040802D */ daddu $s0, $v0, $zero +/* 97B71C 802400EC 8602008E */ lh $v0, 0x8e($s0) +/* 97B720 802400F0 9603008E */ lhu $v1, 0x8e($s0) +/* 97B724 802400F4 18400005 */ blez $v0, .L8024010C +/* 97B728 802400F8 2462FFFF */ addiu $v0, $v1, -1 +/* 97B72C 802400FC A602008E */ sh $v0, 0x8e($s0) +/* 97B730 80240100 00021400 */ sll $v0, $v0, 0x10 +/* 97B734 80240104 1C400033 */ bgtz $v0, .L802401D4 +/* 97B738 80240108 00000000 */ nop +.L8024010C: +/* 97B73C 8024010C 8602008C */ lh $v0, 0x8c($s0) +/* 97B740 80240110 14400030 */ bnez $v0, .L802401D4 +/* 97B744 80240114 00000000 */ nop +/* 97B748 80240118 8E2200CC */ lw $v0, 0xcc($s1) +/* 97B74C 8024011C 8C420024 */ lw $v0, 0x24($v0) +/* 97B750 80240120 AE020028 */ sw $v0, 0x28($s0) +/* 97B754 80240124 C6400018 */ lwc1 $f0, 0x18($s2) +/* 97B758 80240128 E6000018 */ swc1 $f0, 0x18($s0) +/* 97B75C 8024012C 8E230088 */ lw $v1, 0x88($s1) +/* 97B760 80240130 24020005 */ addiu $v0, $zero, 5 +/* 97B764 80240134 10620005 */ beq $v1, $v0, .L8024014C +/* 97B768 80240138 00000000 */ nop +/* 97B76C 8024013C 10600003 */ beqz $v1, .L8024014C +/* 97B770 80240140 24020001 */ addiu $v0, $zero, 1 +/* 97B774 80240144 14620006 */ bne $v1, $v0, .L80240160 +/* 97B778 80240148 00000000 */ nop +.L8024014C: +/* 97B77C 8024014C 8E220084 */ lw $v0, 0x84($s1) +/* 97B780 80240150 00021FC2 */ srl $v1, $v0, 0x1f +/* 97B784 80240154 00431021 */ addu $v0, $v0, $v1 +/* 97B788 80240158 00021043 */ sra $v0, $v0, 1 +/* 97B78C 8024015C A60200A8 */ sh $v0, 0xa8($s0) +.L80240160: +/* 97B790 80240160 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 97B794 80240164 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 97B798 80240168 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97B79C 8024016C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97B7A0 80240170 8C460028 */ lw $a2, 0x28($v0) +/* 97B7A4 80240174 0C00A7B5 */ jal dist2D +/* 97B7A8 80240178 8C470030 */ lw $a3, 0x30($v0) +/* 97B7AC 8024017C C6020018 */ lwc1 $f2, 0x18($s0) +/* 97B7B0 80240180 46020003 */ div.s $f0, $f0, $f2 +/* 97B7B4 80240184 3C018024 */ lui $at, 0x8024 +/* 97B7B8 80240188 D4222430 */ ldc1 $f2, 0x2430($at) +/* 97B7BC 8024018C 46000021 */ cvt.d.s $f0, $f0 +/* 97B7C0 80240190 46220000 */ add.d $f0, $f0, $f2 +/* 97B7C4 80240194 4620010D */ trunc.w.d $f4, $f0 +/* 97B7C8 80240198 44022000 */ mfc1 $v0, $f4 +/* 97B7CC 8024019C 00000000 */ nop +/* 97B7D0 802401A0 A602008E */ sh $v0, 0x8e($s0) +/* 97B7D4 802401A4 00021400 */ sll $v0, $v0, 0x10 +/* 97B7D8 802401A8 8E230078 */ lw $v1, 0x78($s1) +/* 97B7DC 802401AC 00021403 */ sra $v0, $v0, 0x10 +/* 97B7E0 802401B0 0043102A */ slt $v0, $v0, $v1 +/* 97B7E4 802401B4 10400003 */ beqz $v0, .L802401C4 +/* 97B7E8 802401B8 00000000 */ nop +/* 97B7EC 802401BC 9622007A */ lhu $v0, 0x7a($s1) +/* 97B7F0 802401C0 A602008E */ sh $v0, 0x8e($s0) +.L802401C4: +/* 97B7F4 802401C4 8602008E */ lh $v0, 0x8e($s0) +/* 97B7F8 802401C8 AE22007C */ sw $v0, 0x7c($s1) +/* 97B7FC 802401CC 2402000E */ addiu $v0, $zero, 0xe +/* 97B800 802401D0 AE620070 */ sw $v0, 0x70($s3) +.L802401D4: +/* 97B804 802401D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 97B808 802401D8 8FB3001C */ lw $s3, 0x1c($sp) +/* 97B80C 802401DC 8FB20018 */ lw $s2, 0x18($sp) +/* 97B810 802401E0 8FB10014 */ lw $s1, 0x14($sp) +/* 97B814 802401E4 8FB00010 */ lw $s0, 0x10($sp) +/* 97B818 802401E8 03E00008 */ jr $ra +/* 97B81C 802401EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_802401F0.s b/asm/nonmatchings/world/area_isk/isk_04/func_802401F0.s new file mode 100644 index 0000000000..bbf0c01518 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_802401F0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401F0 +/* 97B820 802401F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 97B824 802401F4 AFB3003C */ sw $s3, 0x3c($sp) +/* 97B828 802401F8 0080982D */ daddu $s3, $a0, $zero +/* 97B82C 802401FC AFBF0040 */ sw $ra, 0x40($sp) +/* 97B830 80240200 AFB20038 */ sw $s2, 0x38($sp) +/* 97B834 80240204 AFB10034 */ sw $s1, 0x34($sp) +/* 97B838 80240208 AFB00030 */ sw $s0, 0x30($sp) +/* 97B83C 8024020C 8E710148 */ lw $s1, 0x148($s3) +/* 97B840 80240210 0C00EABB */ jal get_npc_unsafe +/* 97B844 80240214 86240008 */ lh $a0, 8($s1) +/* 97B848 80240218 0040802D */ daddu $s0, $v0, $zero +/* 97B84C 8024021C 8E22007C */ lw $v0, 0x7c($s1) +/* 97B850 80240220 8603008E */ lh $v1, 0x8e($s0) +/* 97B854 80240224 2442FFFF */ addiu $v0, $v0, -1 +/* 97B858 80240228 14620012 */ bne $v1, $v0, .L80240274 +/* 97B85C 8024022C 00000000 */ nop +/* 97B860 80240230 C6000038 */ lwc1 $f0, 0x38($s0) +/* 97B864 80240234 4600020D */ trunc.w.s $f8, $f0 +/* 97B868 80240238 44024000 */ mfc1 $v0, $f8 +/* 97B86C 8024023C 00000000 */ nop +/* 97B870 80240240 A6220010 */ sh $v0, 0x10($s1) +/* 97B874 80240244 C600003C */ lwc1 $f0, 0x3c($s0) +/* 97B878 80240248 4600020D */ trunc.w.s $f8, $f0 +/* 97B87C 8024024C 44024000 */ mfc1 $v0, $f8 +/* 97B880 80240250 00000000 */ nop +/* 97B884 80240254 A6220012 */ sh $v0, 0x12($s1) +/* 97B888 80240258 C6000040 */ lwc1 $f0, 0x40($s0) +/* 97B88C 8024025C 24020001 */ addiu $v0, $zero, 1 +/* 97B890 80240260 A2220007 */ sb $v0, 7($s1) +/* 97B894 80240264 4600020D */ trunc.w.s $f8, $f0 +/* 97B898 80240268 44024000 */ mfc1 $v0, $f8 +/* 97B89C 8024026C 00000000 */ nop +/* 97B8A0 80240270 A6220014 */ sh $v0, 0x14($s1) +.L80240274: +/* 97B8A4 80240274 C6000038 */ lwc1 $f0, 0x38($s0) +/* 97B8A8 80240278 C602003C */ lwc1 $f2, 0x3c($s0) +/* 97B8AC 8024027C C6040040 */ lwc1 $f4, 0x40($s0) +/* 97B8B0 80240280 C6060018 */ lwc1 $f6, 0x18($s0) +/* 97B8B4 80240284 E7A00020 */ swc1 $f0, 0x20($sp) +/* 97B8B8 80240288 E7A20024 */ swc1 $f2, 0x24($sp) +/* 97B8BC 8024028C E7A40028 */ swc1 $f4, 0x28($sp) +/* 97B8C0 80240290 E7A60010 */ swc1 $f6, 0x10($sp) +/* 97B8C4 80240294 C600000C */ lwc1 $f0, 0xc($s0) +/* 97B8C8 80240298 E7A00014 */ swc1 $f0, 0x14($sp) +/* 97B8CC 8024029C 860200A8 */ lh $v0, 0xa8($s0) +/* 97B8D0 802402A0 27A50020 */ addiu $a1, $sp, 0x20 +/* 97B8D4 802402A4 44820000 */ mtc1 $v0, $f0 +/* 97B8D8 802402A8 00000000 */ nop +/* 97B8DC 802402AC 46800020 */ cvt.s.w $f0, $f0 +/* 97B8E0 802402B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 97B8E4 802402B4 860200A6 */ lh $v0, 0xa6($s0) +/* 97B8E8 802402B8 27A60024 */ addiu $a2, $sp, 0x24 +/* 97B8EC 802402BC 44820000 */ mtc1 $v0, $f0 +/* 97B8F0 802402C0 00000000 */ nop +/* 97B8F4 802402C4 46800020 */ cvt.s.w $f0, $f0 +/* 97B8F8 802402C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 97B8FC 802402CC 8E040080 */ lw $a0, 0x80($s0) +/* 97B900 802402D0 0C037711 */ jal func_800DDC44 +/* 97B904 802402D4 27A70028 */ addiu $a3, $sp, 0x28 +/* 97B908 802402D8 0040902D */ daddu $s2, $v0, $zero +/* 97B90C 802402DC 16400005 */ bnez $s2, .L802402F4 +/* 97B910 802402E0 00000000 */ nop +/* 97B914 802402E4 8E050018 */ lw $a1, 0x18($s0) +/* 97B918 802402E8 8E06000C */ lw $a2, 0xc($s0) +/* 97B91C 802402EC 0C00EA95 */ jal npc_move_heading +/* 97B920 802402F0 0200202D */ daddu $a0, $s0, $zero +.L802402F4: +/* 97B924 802402F4 8602008E */ lh $v0, 0x8e($s0) +/* 97B928 802402F8 9603008E */ lhu $v1, 0x8e($s0) +/* 97B92C 802402FC 18400007 */ blez $v0, .L8024031C +/* 97B930 80240300 2462FFFF */ addiu $v0, $v1, -1 +/* 97B934 80240304 A602008E */ sh $v0, 0x8e($s0) +/* 97B938 80240308 00021400 */ sll $v0, $v0, 0x10 +/* 97B93C 8024030C 18400003 */ blez $v0, .L8024031C +/* 97B940 80240310 00000000 */ nop +/* 97B944 80240314 12400008 */ beqz $s2, .L80240338 +/* 97B948 80240318 00000000 */ nop +.L8024031C: +/* 97B94C 8024031C 8E2200CC */ lw $v0, 0xcc($s1) +/* 97B950 80240320 A2200007 */ sb $zero, 7($s1) +/* 97B954 80240324 8C420028 */ lw $v0, 0x28($v0) +/* 97B958 80240328 A600008E */ sh $zero, 0x8e($s0) +/* 97B95C 8024032C AE020028 */ sw $v0, 0x28($s0) +/* 97B960 80240330 2402000F */ addiu $v0, $zero, 0xf +/* 97B964 80240334 AE620070 */ sw $v0, 0x70($s3) +.L80240338: +/* 97B968 80240338 8FBF0040 */ lw $ra, 0x40($sp) +/* 97B96C 8024033C 8FB3003C */ lw $s3, 0x3c($sp) +/* 97B970 80240340 8FB20038 */ lw $s2, 0x38($sp) +/* 97B974 80240344 8FB10034 */ lw $s1, 0x34($sp) +/* 97B978 80240348 8FB00030 */ lw $s0, 0x30($sp) +/* 97B97C 8024034C 03E00008 */ jr $ra +/* 97B980 80240350 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_80240354_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_80240354_97B630.s new file mode 100644 index 0000000000..beb0524a2d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_80240354_97B630.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240354_97B984 +/* 97B984 80240354 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97B988 80240358 AFB10014 */ sw $s1, 0x14($sp) +/* 97B98C 8024035C 0080882D */ daddu $s1, $a0, $zero +/* 97B990 80240360 AFBF0018 */ sw $ra, 0x18($sp) +/* 97B994 80240364 AFB00010 */ sw $s0, 0x10($sp) +/* 97B998 80240368 8E300148 */ lw $s0, 0x148($s1) +/* 97B99C 8024036C 0C00EABB */ jal get_npc_unsafe +/* 97B9A0 80240370 86040008 */ lh $a0, 8($s0) +/* 97B9A4 80240374 0040202D */ daddu $a0, $v0, $zero +/* 97B9A8 80240378 9482008E */ lhu $v0, 0x8e($a0) +/* 97B9AC 8024037C 24030003 */ addiu $v1, $zero, 3 +/* 97B9B0 80240380 24420001 */ addiu $v0, $v0, 1 +/* 97B9B4 80240384 A482008E */ sh $v0, 0x8e($a0) +/* 97B9B8 80240388 00021400 */ sll $v0, $v0, 0x10 +/* 97B9BC 8024038C 00021403 */ sra $v0, $v0, 0x10 +/* 97B9C0 80240390 14430003 */ bne $v0, $v1, .L802403A0 +/* 97B9C4 80240394 00000000 */ nop +/* 97B9C8 80240398 96020086 */ lhu $v0, 0x86($s0) +/* 97B9CC 8024039C A48200A8 */ sh $v0, 0xa8($a0) +.L802403A0: +/* 97B9D0 802403A0 8482008E */ lh $v0, 0x8e($a0) +/* 97B9D4 802403A4 8E030080 */ lw $v1, 0x80($s0) +/* 97B9D8 802403A8 0043102A */ slt $v0, $v0, $v1 +/* 97B9DC 802403AC 14400004 */ bnez $v0, .L802403C0 +/* 97B9E0 802403B0 00000000 */ nop +/* 97B9E4 802403B4 96020086 */ lhu $v0, 0x86($s0) +/* 97B9E8 802403B8 A48200A8 */ sh $v0, 0xa8($a0) +/* 97B9EC 802403BC AE200070 */ sw $zero, 0x70($s1) +.L802403C0: +/* 97B9F0 802403C0 8FBF0018 */ lw $ra, 0x18($sp) +/* 97B9F4 802403C4 8FB10014 */ lw $s1, 0x14($sp) +/* 97B9F8 802403C8 8FB00010 */ lw $s0, 0x10($sp) +/* 97B9FC 802403CC 03E00008 */ jr $ra +/* 97BA00 802403D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_802403D4.s b/asm/nonmatchings/world/area_isk/isk_04/func_802403D4.s new file mode 100644 index 0000000000..bf4a791f6d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_802403D4.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D4 +/* 97BA04 802403D4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 97BA08 802403D8 AFB3005C */ sw $s3, 0x5c($sp) +/* 97BA0C 802403DC 0080982D */ daddu $s3, $a0, $zero +/* 97BA10 802403E0 AFBF0068 */ sw $ra, 0x68($sp) +/* 97BA14 802403E4 AFB50064 */ sw $s5, 0x64($sp) +/* 97BA18 802403E8 AFB40060 */ sw $s4, 0x60($sp) +/* 97BA1C 802403EC AFB20058 */ sw $s2, 0x58($sp) +/* 97BA20 802403F0 AFB10054 */ sw $s1, 0x54($sp) +/* 97BA24 802403F4 AFB00050 */ sw $s0, 0x50($sp) +/* 97BA28 802403F8 8E710148 */ lw $s1, 0x148($s3) +/* 97BA2C 802403FC 86240008 */ lh $a0, 8($s1) +/* 97BA30 80240400 0C00EABB */ jal get_npc_unsafe +/* 97BA34 80240404 00A0802D */ daddu $s0, $a1, $zero +/* 97BA38 80240408 8E63000C */ lw $v1, 0xc($s3) +/* 97BA3C 8024040C 0260202D */ daddu $a0, $s3, $zero +/* 97BA40 80240410 8C650000 */ lw $a1, ($v1) +/* 97BA44 80240414 0C0B1EAF */ jal get_variable +/* 97BA48 80240418 0040902D */ daddu $s2, $v0, $zero +/* 97BA4C 8024041C AFA00028 */ sw $zero, 0x28($sp) +/* 97BA50 80240420 8E2300D0 */ lw $v1, 0xd0($s1) +/* 97BA54 80240424 8C630030 */ lw $v1, 0x30($v1) +/* 97BA58 80240428 AFA3002C */ sw $v1, 0x2c($sp) +/* 97BA5C 8024042C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 97BA60 80240430 8C63001C */ lw $v1, 0x1c($v1) +/* 97BA64 80240434 AFA30030 */ sw $v1, 0x30($sp) +/* 97BA68 80240438 8E2300D0 */ lw $v1, 0xd0($s1) +/* 97BA6C 8024043C 8C630024 */ lw $v1, 0x24($v1) +/* 97BA70 80240440 AFA30034 */ sw $v1, 0x34($sp) +/* 97BA74 80240444 8E2300D0 */ lw $v1, 0xd0($s1) +/* 97BA78 80240448 8C630028 */ lw $v1, 0x28($v1) +/* 97BA7C 8024044C 27B50028 */ addiu $s5, $sp, 0x28 +/* 97BA80 80240450 AFA30038 */ sw $v1, 0x38($sp) +/* 97BA84 80240454 8E2300D0 */ lw $v1, 0xd0($s1) +/* 97BA88 80240458 3C0142C8 */ lui $at, 0x42c8 +/* 97BA8C 8024045C 44810000 */ mtc1 $at, $f0 +/* 97BA90 80240460 8C63002C */ lw $v1, 0x2c($v1) +/* 97BA94 80240464 0040A02D */ daddu $s4, $v0, $zero +/* 97BA98 80240468 E7A00040 */ swc1 $f0, 0x40($sp) +/* 97BA9C 8024046C A7A00044 */ sh $zero, 0x44($sp) +/* 97BAA0 80240470 12000009 */ beqz $s0, .L80240498 +/* 97BAA4 80240474 AFA3003C */ sw $v1, 0x3c($sp) +/* 97BAA8 80240478 864300A8 */ lh $v1, 0xa8($s2) +/* 97BAAC 8024047C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 97BAB0 80240480 AE20008C */ sw $zero, 0x8c($s1) +/* 97BAB4 80240484 A22000B5 */ sb $zero, 0xb5($s1) +/* 97BAB8 80240488 34420008 */ ori $v0, $v0, 8 +/* 97BABC 8024048C AE230084 */ sw $v1, 0x84($s1) +/* 97BAC0 80240490 0809012A */ j .L802404A8 +/* 97BAC4 80240494 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240498: +/* 97BAC8 80240498 8E2200B0 */ lw $v0, 0xb0($s1) +/* 97BACC 8024049C 30420004 */ andi $v0, $v0, 4 +/* 97BAD0 802404A0 10400047 */ beqz $v0, .L802405C0 +/* 97BAD4 802404A4 00000000 */ nop +.L802404A8: +/* 97BAD8 802404A8 AE600070 */ sw $zero, 0x70($s3) +/* 97BADC 802404AC A640008E */ sh $zero, 0x8e($s2) +/* 97BAE0 802404B0 8E2300CC */ lw $v1, 0xcc($s1) +/* 97BAE4 802404B4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 97BAE8 802404B8 A2200007 */ sb $zero, 7($s1) +/* 97BAEC 802404BC 8E420000 */ lw $v0, ($s2) +/* 97BAF0 802404C0 8C630000 */ lw $v1, ($v1) +/* 97BAF4 802404C4 00441024 */ and $v0, $v0, $a0 +/* 97BAF8 802404C8 AE420000 */ sw $v0, ($s2) +/* 97BAFC 802404CC AE430028 */ sw $v1, 0x28($s2) +/* 97BB00 802404D0 96220086 */ lhu $v0, 0x86($s1) +/* 97BB04 802404D4 A64200A8 */ sh $v0, 0xa8($s2) +/* 97BB08 802404D8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 97BB0C 802404DC AE200090 */ sw $zero, 0x90($s1) +/* 97BB10 802404E0 8C420034 */ lw $v0, 0x34($v0) +/* 97BB14 802404E4 14400006 */ bnez $v0, .L80240500 +/* 97BB18 802404E8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 97BB1C 802404EC 8E420000 */ lw $v0, ($s2) +/* 97BB20 802404F0 2403FFF7 */ addiu $v1, $zero, -9 +/* 97BB24 802404F4 34420200 */ ori $v0, $v0, 0x200 +/* 97BB28 802404F8 08090143 */ j .L8024050C +/* 97BB2C 802404FC 00431024 */ and $v0, $v0, $v1 +.L80240500: +/* 97BB30 80240500 8E420000 */ lw $v0, ($s2) +/* 97BB34 80240504 00431024 */ and $v0, $v0, $v1 +/* 97BB38 80240508 34420008 */ ori $v0, $v0, 8 +.L8024050C: +/* 97BB3C 8024050C AE420000 */ sw $v0, ($s2) +/* 97BB40 80240510 8E2200B0 */ lw $v0, 0xb0($s1) +/* 97BB44 80240514 30420004 */ andi $v0, $v0, 4 +/* 97BB48 80240518 1040001E */ beqz $v0, .L80240594 +/* 97BB4C 8024051C 24040002 */ addiu $a0, $zero, 2 +/* 97BB50 80240520 0240282D */ daddu $a1, $s2, $zero +/* 97BB54 80240524 0000302D */ daddu $a2, $zero, $zero +/* 97BB58 80240528 24020063 */ addiu $v0, $zero, 0x63 +/* 97BB5C 8024052C AE620070 */ sw $v0, 0x70($s3) +/* 97BB60 80240530 AE600074 */ sw $zero, 0x74($s3) +/* 97BB64 80240534 864300A8 */ lh $v1, 0xa8($s2) +/* 97BB68 80240538 3C013F80 */ lui $at, 0x3f80 +/* 97BB6C 8024053C 44810000 */ mtc1 $at, $f0 +/* 97BB70 80240540 3C014000 */ lui $at, 0x4000 +/* 97BB74 80240544 44811000 */ mtc1 $at, $f2 +/* 97BB78 80240548 3C01C1A0 */ lui $at, 0xc1a0 +/* 97BB7C 8024054C 44812000 */ mtc1 $at, $f4 +/* 97BB80 80240550 24020028 */ addiu $v0, $zero, 0x28 +/* 97BB84 80240554 AFA2001C */ sw $v0, 0x1c($sp) +/* 97BB88 80240558 44833000 */ mtc1 $v1, $f6 +/* 97BB8C 8024055C 00000000 */ nop +/* 97BB90 80240560 468031A0 */ cvt.s.w $f6, $f6 +/* 97BB94 80240564 44073000 */ mfc1 $a3, $f6 +/* 97BB98 80240568 27A20048 */ addiu $v0, $sp, 0x48 +/* 97BB9C 8024056C AFA20020 */ sw $v0, 0x20($sp) +/* 97BBA0 80240570 E7A00010 */ swc1 $f0, 0x10($sp) +/* 97BBA4 80240574 E7A20014 */ swc1 $f2, 0x14($sp) +/* 97BBA8 80240578 0C01BFA4 */ jal fx_emote +/* 97BBAC 8024057C E7A40018 */ swc1 $f4, 0x18($sp) +/* 97BBB0 80240580 8E2200B0 */ lw $v0, 0xb0($s1) +/* 97BBB4 80240584 2403FFFB */ addiu $v1, $zero, -5 +/* 97BBB8 80240588 00431024 */ and $v0, $v0, $v1 +/* 97BBBC 8024058C 08090170 */ j .L802405C0 +/* 97BBC0 80240590 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240594: +/* 97BBC4 80240594 8E220000 */ lw $v0, ($s1) +/* 97BBC8 80240598 3C034000 */ lui $v1, 0x4000 +/* 97BBCC 8024059C 00431024 */ and $v0, $v0, $v1 +/* 97BBD0 802405A0 10400007 */ beqz $v0, .L802405C0 +/* 97BBD4 802405A4 3C03BFFF */ lui $v1, 0xbfff +/* 97BBD8 802405A8 2402000C */ addiu $v0, $zero, 0xc +/* 97BBDC 802405AC AE620070 */ sw $v0, 0x70($s3) +/* 97BBE0 802405B0 8E220000 */ lw $v0, ($s1) +/* 97BBE4 802405B4 3463FFFF */ ori $v1, $v1, 0xffff +/* 97BBE8 802405B8 00431024 */ and $v0, $v0, $v1 +/* 97BBEC 802405BC AE220000 */ sw $v0, ($s1) +.L802405C0: +/* 97BBF0 802405C0 8E220090 */ lw $v0, 0x90($s1) +/* 97BBF4 802405C4 1840000C */ blez $v0, .L802405F8 +/* 97BBF8 802405C8 2442FFFF */ addiu $v0, $v0, -1 +/* 97BBFC 802405CC 14400087 */ bnez $v0, .L802407EC +/* 97BC00 802405D0 AE220090 */ sw $v0, 0x90($s1) +/* 97BC04 802405D4 3C03FFAA */ lui $v1, 0xffaa +/* 97BC08 802405D8 8E420028 */ lw $v0, 0x28($s2) +/* 97BC0C 802405DC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 97BC10 802405E0 00431021 */ addu $v0, $v0, $v1 +/* 97BC14 802405E4 2C420002 */ sltiu $v0, $v0, 2 +/* 97BC18 802405E8 10400003 */ beqz $v0, .L802405F8 +/* 97BC1C 802405EC 3C020055 */ lui $v0, 0x55 +/* 97BC20 802405F0 3442000C */ ori $v0, $v0, 0xc +/* 97BC24 802405F4 AE420028 */ sw $v0, 0x28($s2) +.L802405F8: +/* 97BC28 802405F8 8E630070 */ lw $v1, 0x70($s3) +/* 97BC2C 802405FC 2402000C */ addiu $v0, $zero, 0xc +/* 97BC30 80240600 10620048 */ beq $v1, $v0, .L80240724 +/* 97BC34 80240604 2862000D */ slti $v0, $v1, 0xd +/* 97BC38 80240608 1040000F */ beqz $v0, .L80240648 +/* 97BC3C 8024060C 24100001 */ addiu $s0, $zero, 1 +/* 97BC40 80240610 1070001E */ beq $v1, $s0, .L8024068C +/* 97BC44 80240614 28620002 */ slti $v0, $v1, 2 +/* 97BC48 80240618 10400005 */ beqz $v0, .L80240630 +/* 97BC4C 8024061C 24020002 */ addiu $v0, $zero, 2 +/* 97BC50 80240620 10600015 */ beqz $v1, .L80240678 +/* 97BC54 80240624 0260202D */ daddu $a0, $s3, $zero +/* 97BC58 80240628 080901E0 */ j .L80240780 +/* 97BC5C 8024062C 00000000 */ nop +.L80240630: +/* 97BC60 80240630 1062001C */ beq $v1, $v0, .L802406A4 +/* 97BC64 80240634 24020003 */ addiu $v0, $zero, 3 +/* 97BC68 80240638 10620035 */ beq $v1, $v0, .L80240710 +/* 97BC6C 8024063C 0260202D */ daddu $a0, $s3, $zero +/* 97BC70 80240640 080901E0 */ j .L80240780 +/* 97BC74 80240644 00000000 */ nop +.L80240648: +/* 97BC78 80240648 2402000E */ addiu $v0, $zero, 0xe +/* 97BC7C 8024064C 1062003F */ beq $v1, $v0, .L8024074C +/* 97BC80 80240650 0062102A */ slt $v0, $v1, $v0 +/* 97BC84 80240654 14400038 */ bnez $v0, .L80240738 +/* 97BC88 80240658 0260202D */ daddu $a0, $s3, $zero +/* 97BC8C 8024065C 2402000F */ addiu $v0, $zero, 0xf +/* 97BC90 80240660 10620040 */ beq $v1, $v0, .L80240764 +/* 97BC94 80240664 24020063 */ addiu $v0, $zero, 0x63 +/* 97BC98 80240668 10620043 */ beq $v1, $v0, .L80240778 +/* 97BC9C 8024066C 00000000 */ nop +/* 97BCA0 80240670 080901E0 */ j .L80240780 +/* 97BCA4 80240674 00000000 */ nop +.L80240678: +/* 97BCA8 80240678 0280282D */ daddu $a1, $s4, $zero +/* 97BCAC 8024067C 0C012568 */ jal func_800495A0 +/* 97BCB0 80240680 02A0302D */ daddu $a2, $s5, $zero +/* 97BCB4 80240684 96220086 */ lhu $v0, 0x86($s1) +/* 97BCB8 80240688 A64200A8 */ sh $v0, 0xa8($s2) +.L8024068C: +/* 97BCBC 8024068C 0260202D */ daddu $a0, $s3, $zero +/* 97BCC0 80240690 0280282D */ daddu $a1, $s4, $zero +/* 97BCC4 80240694 0C0125AE */ jal func_800496B8 +/* 97BCC8 80240698 02A0302D */ daddu $a2, $s5, $zero +/* 97BCCC 8024069C 080901E0 */ j .L80240780 +/* 97BCD0 802406A0 00000000 */ nop +.L802406A4: +/* 97BCD4 802406A4 0260202D */ daddu $a0, $s3, $zero +/* 97BCD8 802406A8 0280282D */ daddu $a1, $s4, $zero +/* 97BCDC 802406AC 0C0126D1 */ jal func_80049B44 +/* 97BCE0 802406B0 02A0302D */ daddu $a2, $s5, $zero +/* 97BCE4 802406B4 8E230088 */ lw $v1, 0x88($s1) +/* 97BCE8 802406B8 24020006 */ addiu $v0, $zero, 6 +/* 97BCEC 802406BC 14620014 */ bne $v1, $v0, .L80240710 +/* 97BCF0 802406C0 0260202D */ daddu $a0, $s3, $zero +/* 97BCF4 802406C4 0C00A67F */ jal rand_int +/* 97BCF8 802406C8 24040064 */ addiu $a0, $zero, 0x64 +/* 97BCFC 802406CC 28420021 */ slti $v0, $v0, 0x21 +/* 97BD00 802406D0 5040000F */ beql $v0, $zero, .L80240710 +/* 97BD04 802406D4 0260202D */ daddu $a0, $s3, $zero +/* 97BD08 802406D8 8E22008C */ lw $v0, 0x8c($s1) +/* 97BD0C 802406DC 10400005 */ beqz $v0, .L802406F4 +/* 97BD10 802406E0 3C020055 */ lui $v0, 0x55 +/* 97BD14 802406E4 3442002F */ ori $v0, $v0, 0x2f +/* 97BD18 802406E8 AE20008C */ sw $zero, 0x8c($s1) +/* 97BD1C 802406EC 080901C0 */ j .L80240700 +/* 97BD20 802406F0 A22000B5 */ sb $zero, 0xb5($s1) +.L802406F4: +/* 97BD24 802406F4 3442002E */ ori $v0, $v0, 0x2e +/* 97BD28 802406F8 AE30008C */ sw $s0, 0x8c($s1) +/* 97BD2C 802406FC A23000B5 */ sb $s0, 0xb5($s1) +.L80240700: +/* 97BD30 80240700 AE420028 */ sw $v0, 0x28($s2) +/* 97BD34 80240704 24020007 */ addiu $v0, $zero, 7 +/* 97BD38 80240708 080901FB */ j .L802407EC +/* 97BD3C 8024070C AE220090 */ sw $v0, 0x90($s1) +.L80240710: +/* 97BD40 80240710 0280282D */ daddu $a1, $s4, $zero +/* 97BD44 80240714 0C012701 */ jal func_80049C04 +/* 97BD48 80240718 02A0302D */ daddu $a2, $s5, $zero +/* 97BD4C 8024071C 080901E0 */ j .L80240780 +/* 97BD50 80240720 00000000 */ nop +.L80240724: +/* 97BD54 80240724 0260202D */ daddu $a0, $s3, $zero +/* 97BD58 80240728 0280282D */ daddu $a1, $s4, $zero +/* 97BD5C 8024072C 0C090010 */ jal func_80240040 +/* 97BD60 80240730 02A0302D */ daddu $a2, $s5, $zero +/* 97BD64 80240734 0260202D */ daddu $a0, $s3, $zero +.L80240738: +/* 97BD68 80240738 0280282D */ daddu $a1, $s4, $zero +/* 97BD6C 8024073C 0C09002F */ jal func_802400BC +/* 97BD70 80240740 02A0302D */ daddu $a2, $s5, $zero +/* 97BD74 80240744 080901E0 */ j .L80240780 +/* 97BD78 80240748 00000000 */ nop +.L8024074C: +/* 97BD7C 8024074C 0260202D */ daddu $a0, $s3, $zero +/* 97BD80 80240750 0280282D */ daddu $a1, $s4, $zero +/* 97BD84 80240754 0C09007C */ jal func_802401F0 +/* 97BD88 80240758 02A0302D */ daddu $a2, $s5, $zero +/* 97BD8C 8024075C 080901E0 */ j .L80240780 +/* 97BD90 80240760 00000000 */ nop +.L80240764: +/* 97BD94 80240764 0280282D */ daddu $a1, $s4, $zero +/* 97BD98 80240768 0C0900D5 */ jal func_80240354 +/* 97BD9C 8024076C 02A0302D */ daddu $a2, $s5, $zero +/* 97BDA0 80240770 080901E0 */ j .L80240780 +/* 97BDA4 80240774 00000000 */ nop +.L80240778: +/* 97BDA8 80240778 0C0129CF */ jal func_8004A73C +/* 97BDAC 8024077C 0260202D */ daddu $a0, $s3, $zero +.L80240780: +/* 97BDB0 80240780 8E230088 */ lw $v1, 0x88($s1) +/* 97BDB4 80240784 24020006 */ addiu $v0, $zero, 6 +/* 97BDB8 80240788 14620019 */ bne $v1, $v0, .L802407F0 +/* 97BDBC 8024078C 0000102D */ daddu $v0, $zero, $zero +/* 97BDC0 80240790 8E22008C */ lw $v0, 0x8c($s1) +/* 97BDC4 80240794 10400003 */ beqz $v0, .L802407A4 +/* 97BDC8 80240798 24020001 */ addiu $v0, $zero, 1 +/* 97BDCC 8024079C 080901EA */ j .L802407A8 +/* 97BDD0 802407A0 A22200B5 */ sb $v0, 0xb5($s1) +.L802407A4: +/* 97BDD4 802407A4 A22000B5 */ sb $zero, 0xb5($s1) +.L802407A8: +/* 97BDD8 802407A8 8E22008C */ lw $v0, 0x8c($s1) +/* 97BDDC 802407AC 1040000F */ beqz $v0, .L802407EC +/* 97BDE0 802407B0 3C03FFAA */ lui $v1, 0xffaa +/* 97BDE4 802407B4 8E420028 */ lw $v0, 0x28($s2) +/* 97BDE8 802407B8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 97BDEC 802407BC 00431821 */ addu $v1, $v0, $v1 +/* 97BDF0 802407C0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 97BDF4 802407C4 10400009 */ beqz $v0, .L802407EC +/* 97BDF8 802407C8 00031080 */ sll $v0, $v1, 2 +/* 97BDFC 802407CC 3C018024 */ lui $at, 0x8024 +/* 97BE00 802407D0 00220821 */ addu $at, $at, $v0 +/* 97BE04 802407D4 8C222438 */ lw $v0, 0x2438($at) +/* 97BE08 802407D8 00400008 */ jr $v0 +/* 97BE0C 802407DC 00000000 */ nop +/* 97BE10 802407E0 8E420028 */ lw $v0, 0x28($s2) +/* 97BE14 802407E4 24420001 */ addiu $v0, $v0, 1 +/* 97BE18 802407E8 AE420028 */ sw $v0, 0x28($s2) +.L802407EC: +/* 97BE1C 802407EC 0000102D */ daddu $v0, $zero, $zero +.L802407F0: +/* 97BE20 802407F0 8FBF0068 */ lw $ra, 0x68($sp) +/* 97BE24 802407F4 8FB50064 */ lw $s5, 0x64($sp) +/* 97BE28 802407F8 8FB40060 */ lw $s4, 0x60($sp) +/* 97BE2C 802407FC 8FB3005C */ lw $s3, 0x5c($sp) +/* 97BE30 80240800 8FB20058 */ lw $s2, 0x58($sp) +/* 97BE34 80240804 8FB10054 */ lw $s1, 0x54($sp) +/* 97BE38 80240808 8FB00050 */ lw $s0, 0x50($sp) +/* 97BE3C 8024080C 03E00008 */ jr $ra +/* 97BE40 80240810 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_80240814.s b/asm/nonmatchings/world/area_isk/isk_04/func_80240814.s new file mode 100644 index 0000000000..88a5377cd1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_80240814.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240814 +/* 97BE44 80240814 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97BE48 80240818 AFBF0010 */ sw $ra, 0x10($sp) +/* 97BE4C 8024081C 0C00EAD2 */ jal get_npc_safe +/* 97BE50 80240820 8C84014C */ lw $a0, 0x14c($a0) +/* 97BE54 80240824 0040182D */ daddu $v1, $v0, $zero +/* 97BE58 80240828 846200A8 */ lh $v0, 0xa8($v1) +/* 97BE5C 8024082C C462003C */ lwc1 $f2, 0x3c($v1) +/* 97BE60 80240830 906400A9 */ lbu $a0, 0xa9($v1) +/* 97BE64 80240834 44820000 */ mtc1 $v0, $f0 +/* 97BE68 80240838 00000000 */ nop +/* 97BE6C 8024083C 46800020 */ cvt.s.w $f0, $f0 +/* 97BE70 80240840 46001081 */ sub.s $f2, $f2, $f0 +/* 97BE74 80240844 A06400AB */ sb $a0, 0xab($v1) +/* 97BE78 80240848 E462003C */ swc1 $f2, 0x3c($v1) +/* 97BE7C 8024084C 8FBF0010 */ lw $ra, 0x10($sp) +/* 97BE80 80240850 24020002 */ addiu $v0, $zero, 2 +/* 97BE84 80240854 03E00008 */ jr $ra +/* 97BE88 80240858 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_8024085C_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_8024085C_97B630.s new file mode 100644 index 0000000000..a789806b0c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_8024085C_97B630.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024085C_97BE8C +/* 97BE8C 8024085C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97BE90 80240860 AFBF0010 */ sw $ra, 0x10($sp) +/* 97BE94 80240864 0C00EAD2 */ jal get_npc_safe +/* 97BE98 80240868 8C84014C */ lw $a0, 0x14c($a0) +/* 97BE9C 8024086C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 97BEA0 80240870 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 97BEA4 80240874 C44C0038 */ lwc1 $f12, 0x38($v0) +/* 97BEA8 80240878 C44E0040 */ lwc1 $f14, 0x40($v0) +/* 97BEAC 8024087C 8C660028 */ lw $a2, 0x28($v1) +/* 97BEB0 80240880 0C00A7B5 */ jal dist2D +/* 97BEB4 80240884 8C670030 */ lw $a3, 0x30($v1) +/* 97BEB8 80240888 3C014248 */ lui $at, 0x4248 +/* 97BEBC 8024088C 44811000 */ mtc1 $at, $f2 +/* 97BEC0 80240890 00000000 */ nop +/* 97BEC4 80240894 4602003C */ c.lt.s $f0, $f2 +/* 97BEC8 80240898 00000000 */ nop +/* 97BECC 8024089C 45010002 */ bc1t .L802408A8 +/* 97BED0 802408A0 24020002 */ addiu $v0, $zero, 2 +/* 97BED4 802408A4 0000102D */ daddu $v0, $zero, $zero +.L802408A8: +/* 97BED8 802408A8 8FBF0010 */ lw $ra, 0x10($sp) +/* 97BEDC 802408AC 03E00008 */ jr $ra +/* 97BEE0 802408B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_802408B4_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_802408B4_97B630.s new file mode 100644 index 0000000000..08239ce470 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_802408B4_97B630.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B4_97BEE4 +/* 97BEE4 802408B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97BEE8 802408B8 0080102D */ daddu $v0, $a0, $zero +/* 97BEEC 802408BC AFB00010 */ sw $s0, 0x10($sp) +/* 97BEF0 802408C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 97BEF4 802408C4 AFB10014 */ sw $s1, 0x14($sp) +/* 97BEF8 802408C8 8C44014C */ lw $a0, 0x14c($v0) +/* 97BEFC 802408CC 8C510148 */ lw $s1, 0x148($v0) +/* 97BF00 802408D0 0C00EAD2 */ jal get_npc_safe +/* 97BF04 802408D4 00A0802D */ daddu $s0, $a1, $zero +/* 97BF08 802408D8 56000001 */ bnel $s0, $zero, .L802408E0 +/* 97BF0C 802408DC A04000AB */ sb $zero, 0xab($v0) +.L802408E0: +/* 97BF10 802408E0 8C420000 */ lw $v0, ($v0) +/* 97BF14 802408E4 30421000 */ andi $v0, $v0, 0x1000 +/* 97BF18 802408E8 1040000A */ beqz $v0, .L80240914 +/* 97BF1C 802408EC 0000102D */ daddu $v0, $zero, $zero +/* 97BF20 802408F0 82220004 */ lb $v0, 4($s1) +/* 97BF24 802408F4 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 97BF28 802408F8 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 97BF2C 802408FC 00021080 */ sll $v0, $v0, 2 +/* 97BF30 80240900 00431021 */ addu $v0, $v0, $v1 +/* 97BF34 80240904 8C440028 */ lw $a0, 0x28($v0) +/* 97BF38 80240908 9623006E */ lhu $v1, 0x6e($s1) +/* 97BF3C 8024090C 24020002 */ addiu $v0, $zero, 2 +/* 97BF40 80240910 A4830044 */ sh $v1, 0x44($a0) +.L80240914: +/* 97BF44 80240914 8FBF0018 */ lw $ra, 0x18($sp) +/* 97BF48 80240918 8FB10014 */ lw $s1, 0x14($sp) +/* 97BF4C 8024091C 8FB00010 */ lw $s0, 0x10($sp) +/* 97BF50 80240920 03E00008 */ jr $ra +/* 97BF54 80240924 27BD0020 */ addiu $sp, $sp, 0x20 +/* 97BF58 80240928 00000000 */ nop +/* 97BF5C 8024092C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_80240930_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_80240930_97B630.s new file mode 100644 index 0000000000..79a89c73c2 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_80240930_97B630.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240930_97BF60 +/* 97BF60 80240930 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97BF64 80240934 AFBF0010 */ sw $ra, 0x10($sp) +/* 97BF68 80240938 8C82000C */ lw $v0, 0xc($a0) +/* 97BF6C 8024093C 0C0B1EAF */ jal get_variable +/* 97BF70 80240940 8C450000 */ lw $a1, ($v0) +/* 97BF74 80240944 0C03AC5A */ jal func_800EB168 +/* 97BF78 80240948 0040202D */ daddu $a0, $v0, $zero +/* 97BF7C 8024094C 8FBF0010 */ lw $ra, 0x10($sp) +/* 97BF80 80240950 24020002 */ addiu $v0, $zero, 2 +/* 97BF84 80240954 03E00008 */ jr $ra +/* 97BF88 80240958 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_04/func_8024095C_97B630.s b/asm/nonmatchings/world/area_isk/isk_04/func_8024095C_97B630.s new file mode 100644 index 0000000000..03ffc39587 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_04/func_8024095C_97B630.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_97BF8C +/* 97BF8C 8024095C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 97BF90 80240960 3C048024 */ lui $a0, 0x8024 +/* 97BF94 80240964 24842288 */ addiu $a0, $a0, 0x2288 +/* 97BF98 80240968 AFBF0018 */ sw $ra, 0x18($sp) +/* 97BF9C 8024096C AFB10014 */ sw $s1, 0x14($sp) +/* 97BFA0 80240970 AFB00010 */ sw $s0, 0x10($sp) +/* 97BFA4 80240974 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 97BFA8 80240978 8C830000 */ lw $v1, ($a0) +/* 97BFAC 8024097C 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 97BFB0 80240980 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 97BFB4 80240984 28620003 */ slti $v0, $v1, 3 +/* 97BFB8 80240988 50400007 */ beql $v0, $zero, .L802409A8 +/* 97BFBC 8024098C 24020003 */ addiu $v0, $zero, 3 +/* 97BFC0 80240990 1C60000C */ bgtz $v1, .L802409C4 +/* 97BFC4 80240994 24620001 */ addiu $v0, $v1, 1 +/* 97BFC8 80240998 10600007 */ beqz $v1, .L802409B8 +/* 97BFCC 8024099C 0000102D */ daddu $v0, $zero, $zero +/* 97BFD0 802409A0 08090295 */ j .L80240A54 +/* 97BFD4 802409A4 00000000 */ nop +.L802409A8: +/* 97BFD8 802409A8 10620008 */ beq $v1, $v0, .L802409CC +/* 97BFDC 802409AC 0000102D */ daddu $v0, $zero, $zero +/* 97BFE0 802409B0 08090295 */ j .L80240A54 +/* 97BFE4 802409B4 00000000 */ nop +.L802409B8: +/* 97BFE8 802409B8 24020001 */ addiu $v0, $zero, 1 +/* 97BFEC 802409BC 08090294 */ j .L80240A50 +/* 97BFF0 802409C0 AC820000 */ sw $v0, ($a0) +.L802409C4: +/* 97BFF4 802409C4 08090294 */ j .L80240A50 +/* 97BFF8 802409C8 AC820000 */ sw $v0, ($a0) +.L802409CC: +/* 97BFFC 802409CC C6200028 */ lwc1 $f0, 0x28($s1) +/* 97C000 802409D0 3C0141F0 */ lui $at, 0x41f0 +/* 97C004 802409D4 44811000 */ mtc1 $at, $f2 +/* 97C008 802409D8 3C108011 */ lui $s0, 0x8011 +/* 97C00C 802409DC 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 97C010 802409E0 46020001 */ sub.s $f0, $f0, $f2 +/* 97C014 802409E4 8E040000 */ lw $a0, ($s0) +/* 97C018 802409E8 E4800038 */ swc1 $f0, 0x38($a0) +/* 97C01C 802409EC C6200030 */ lwc1 $f0, 0x30($s1) +/* 97C020 802409F0 46020000 */ add.s $f0, $f0, $f2 +/* 97C024 802409F4 0C03BD17 */ jal clear_partner_move_history +/* 97C028 802409F8 E4800040 */ swc1 $f0, 0x40($a0) +/* 97C02C 802409FC C6200028 */ lwc1 $f0, 0x28($s1) +/* 97C030 80240A00 C6220030 */ lwc1 $f2, 0x30($s1) +/* 97C034 80240A04 4600010D */ trunc.w.s $f4, $f0 +/* 97C038 80240A08 44042000 */ mfc1 $a0, $f4 +/* 97C03C 80240A0C 4600110D */ trunc.w.s $f4, $f2 +/* 97C040 80240A10 44052000 */ mfc1 $a1, $f4 +/* 97C044 80240A14 0C03BCF0 */ jal func_800EF3C0 +/* 97C048 80240A18 00000000 */ nop +/* 97C04C 80240A1C 0C03BCF5 */ jal func_800EF3D4 +/* 97C050 80240A20 0000202D */ daddu $a0, $zero, $zero +/* 97C054 80240A24 3C0142B4 */ lui $at, 0x42b4 +/* 97C058 80240A28 4481A000 */ mtc1 $at, $f20 +/* 97C05C 80240A2C 8E040000 */ lw $a0, ($s0) +/* 97C060 80240A30 4405A000 */ mfc1 $a1, $f20 +/* 97C064 80240A34 0C00ECD0 */ jal set_npc_yaw +/* 97C068 80240A38 00000000 */ nop +/* 97C06C 80240A3C 24020002 */ addiu $v0, $zero, 2 +/* 97C070 80240A40 E6340080 */ swc1 $f20, 0x80($s1) +/* 97C074 80240A44 E6340084 */ swc1 $f20, 0x84($s1) +/* 97C078 80240A48 08090295 */ j .L80240A54 +/* 97C07C 80240A4C AE2000A8 */ sw $zero, 0xa8($s1) +.L80240A50: +/* 97C080 80240A50 0000102D */ daddu $v0, $zero, $zero +.L80240A54: +/* 97C084 80240A54 8FBF0018 */ lw $ra, 0x18($sp) +/* 97C088 80240A58 8FB10014 */ lw $s1, 0x14($sp) +/* 97C08C 80240A5C 8FB00010 */ lw $s0, 0x10($sp) +/* 97C090 80240A60 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 97C094 80240A64 03E00008 */ jr $ra +/* 97C098 80240A68 27BD0028 */ addiu $sp, $sp, 0x28 +/* 97C09C 80240A6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240000_97DAD0.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240000_97DAD0.s new file mode 100644 index 0000000000..4d0b085696 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240000_97DAD0.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_97DAD0 +/* 97DAD0 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 97DAD4 80240004 AFB00030 */ sw $s0, 0x30($sp) +/* 97DAD8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 97DADC 8024000C AFBF0040 */ sw $ra, 0x40($sp) +/* 97DAE0 80240010 AFB3003C */ sw $s3, 0x3c($sp) +/* 97DAE4 80240014 AFB20038 */ sw $s2, 0x38($sp) +/* 97DAE8 80240018 AFB10034 */ sw $s1, 0x34($sp) +/* 97DAEC 8024001C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 97DAF0 80240020 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 97DAF4 80240024 8E130148 */ lw $s3, 0x148($s0) +/* 97DAF8 80240028 00A0882D */ daddu $s1, $a1, $zero +/* 97DAFC 8024002C 86640008 */ lh $a0, 8($s3) +/* 97DB00 80240030 0C00EABB */ jal get_npc_unsafe +/* 97DB04 80240034 00C0902D */ daddu $s2, $a2, $zero +/* 97DB08 80240038 0200202D */ daddu $a0, $s0, $zero +/* 97DB0C 8024003C 0220282D */ daddu $a1, $s1, $zero +/* 97DB10 80240040 0240302D */ daddu $a2, $s2, $zero +/* 97DB14 80240044 0C012568 */ jal func_800495A0 +/* 97DB18 80240048 0040802D */ daddu $s0, $v0, $zero +/* 97DB1C 8024004C 8E020000 */ lw $v0, ($s0) +/* 97DB20 80240050 2404002D */ addiu $a0, $zero, 0x2d +/* 97DB24 80240054 34420800 */ ori $v0, $v0, 0x800 +/* 97DB28 80240058 0C00A67F */ jal rand_int +/* 97DB2C 8024005C AE020000 */ sw $v0, ($s0) +/* 97DB30 80240060 0200202D */ daddu $a0, $s0, $zero +/* 97DB34 80240064 3C05B000 */ lui $a1, 0xb000 +/* 97DB38 80240068 34A50017 */ ori $a1, $a1, 0x17 +/* 97DB3C 8024006C 44820000 */ mtc1 $v0, $f0 +/* 97DB40 80240070 00000000 */ nop +/* 97DB44 80240074 46800021 */ cvt.d.w $f0, $f0 +/* 97DB48 80240078 3C014024 */ lui $at, 0x4024 +/* 97DB4C 8024007C 44811800 */ mtc1 $at, $f3 +/* 97DB50 80240080 44801000 */ mtc1 $zero, $f2 +/* 97DB54 80240084 3C014020 */ lui $at, 0x4020 +/* 97DB58 80240088 44812800 */ mtc1 $at, $f5 +/* 97DB5C 8024008C 44802000 */ mtc1 $zero, $f4 +/* 97DB60 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 97DB64 80240094 46240000 */ add.d $f0, $f0, $f4 +/* 97DB68 80240098 3C013FC0 */ lui $at, 0x3fc0 +/* 97DB6C 8024009C 44811000 */ mtc1 $at, $f2 +/* 97DB70 802400A0 0000302D */ daddu $a2, $zero, $zero +/* 97DB74 802400A4 E6020014 */ swc1 $f2, 0x14($s0) +/* 97DB78 802400A8 46200020 */ cvt.s.d $f0, $f0 +/* 97DB7C 802400AC 0C012530 */ jal func_800494C0 +/* 97DB80 802400B0 E600001C */ swc1 $f0, 0x1c($s0) +/* 97DB84 802400B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* 97DB88 802400B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 97DB8C 802400BC C4620000 */ lwc1 $f2, ($v1) +/* 97DB90 802400C0 468010A0 */ cvt.s.w $f2, $f2 +/* 97DB94 802400C4 C4640008 */ lwc1 $f4, 8($v1) +/* 97DB98 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* 97DB9C 802400CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 97DBA0 802400D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* 97DBA4 802400D4 44051000 */ mfc1 $a1, $f2 +/* 97DBA8 802400D8 C440000C */ lwc1 $f0, 0xc($v0) +/* 97DBAC 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* 97DBB0 802400E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 97DBB4 802400E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* 97DBB8 802400E8 44062000 */ mfc1 $a2, $f4 +/* 97DBBC 802400EC C4400010 */ lwc1 $f0, 0x10($v0) +/* 97DBC0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* 97DBC4 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 97DBC8 802400F8 8C640018 */ lw $a0, 0x18($v1) +/* 97DBCC 802400FC 0C0123F5 */ jal is_point_within_region +/* 97DBD0 80240100 8E070038 */ lw $a3, 0x38($s0) +/* 97DBD4 80240104 10400035 */ beqz $v0, .L802401DC +/* 97DBD8 80240108 00000000 */ nop +/* 97DBDC 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97DBE0 80240110 3C0141C8 */ lui $at, 0x41c8 +/* 97DBE4 80240114 4481B000 */ mtc1 $at, $f22 +/* 97DBE8 80240118 8E6200D0 */ lw $v0, 0xd0($s3) +/* 97DBEC 8024011C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97DBF0 80240120 C4480000 */ lwc1 $f8, ($v0) +/* 97DBF4 80240124 46804220 */ cvt.s.w $f8, $f8 +/* 97DBF8 80240128 44064000 */ mfc1 $a2, $f8 +/* 97DBFC 8024012C C4480008 */ lwc1 $f8, 8($v0) +/* 97DC00 80240130 46804220 */ cvt.s.w $f8, $f8 +/* 97DC04 80240134 44074000 */ mfc1 $a3, $f8 +/* 97DC08 80240138 3C01403E */ lui $at, 0x403e +/* 97DC0C 8024013C 4481A800 */ mtc1 $at, $f21 +/* 97DC10 80240140 4480A000 */ mtc1 $zero, $f20 +/* 97DC14 80240144 0C00A720 */ jal atan2 +/* 97DC18 80240148 0000882D */ daddu $s1, $zero, $zero +/* 97DC1C 8024014C C6020038 */ lwc1 $f2, 0x38($s0) +/* 97DC20 80240150 C604003C */ lwc1 $f4, 0x3c($s0) +/* 97DC24 80240154 C6060040 */ lwc1 $f6, 0x40($s0) +/* 97DC28 80240158 E600000C */ swc1 $f0, 0xc($s0) +/* 97DC2C 8024015C E7A20020 */ swc1 $f2, 0x20($sp) +/* 97DC30 80240160 E7A40024 */ swc1 $f4, 0x24($sp) +/* 97DC34 80240164 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240168: +/* 97DC38 80240168 E7B60010 */ swc1 $f22, 0x10($sp) +/* 97DC3C 8024016C C600000C */ lwc1 $f0, 0xc($s0) +/* 97DC40 80240170 E7A00014 */ swc1 $f0, 0x14($sp) +/* 97DC44 80240174 860200A8 */ lh $v0, 0xa8($s0) +/* 97DC48 80240178 27A50020 */ addiu $a1, $sp, 0x20 +/* 97DC4C 8024017C 44820000 */ mtc1 $v0, $f0 +/* 97DC50 80240180 00000000 */ nop +/* 97DC54 80240184 46800020 */ cvt.s.w $f0, $f0 +/* 97DC58 80240188 E7A00018 */ swc1 $f0, 0x18($sp) +/* 97DC5C 8024018C 860200A6 */ lh $v0, 0xa6($s0) +/* 97DC60 80240190 27A60024 */ addiu $a2, $sp, 0x24 +/* 97DC64 80240194 44820000 */ mtc1 $v0, $f0 +/* 97DC68 80240198 00000000 */ nop +/* 97DC6C 8024019C 46800020 */ cvt.s.w $f0, $f0 +/* 97DC70 802401A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 97DC74 802401A4 8E040080 */ lw $a0, 0x80($s0) +/* 97DC78 802401A8 0C037711 */ jal func_800DDC44 +/* 97DC7C 802401AC 27A70028 */ addiu $a3, $sp, 0x28 +/* 97DC80 802401B0 10400016 */ beqz $v0, .L8024020C +/* 97DC84 802401B4 26310001 */ addiu $s1, $s1, 1 +/* 97DC88 802401B8 C600000C */ lwc1 $f0, 0xc($s0) +/* 97DC8C 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* 97DC90 802401C0 46340000 */ add.d $f0, $f0, $f20 +/* 97DC94 802401C4 2A220006 */ slti $v0, $s1, 6 +/* 97DC98 802401C8 46200020 */ cvt.s.d $f0, $f0 +/* 97DC9C 802401CC 1440FFE6 */ bnez $v0, .L80240168 +/* 97DCA0 802401D0 E600000C */ swc1 $f0, 0xc($s0) +/* 97DCA4 802401D4 08090083 */ j .L8024020C +/* 97DCA8 802401D8 00000000 */ nop +.L802401DC: +/* 97DCAC 802401DC 0C00A67F */ jal rand_int +/* 97DCB0 802401E0 2404003C */ addiu $a0, $zero, 0x3c +/* 97DCB4 802401E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 97DCB8 802401E8 44820000 */ mtc1 $v0, $f0 +/* 97DCBC 802401EC 00000000 */ nop +/* 97DCC0 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* 97DCC4 802401F4 46006300 */ add.s $f12, $f12, $f0 +/* 97DCC8 802401F8 3C0141F0 */ lui $at, 0x41f0 +/* 97DCCC 802401FC 44810000 */ mtc1 $at, $f0 +/* 97DCD0 80240200 0C00A6C9 */ jal clamp_angle +/* 97DCD4 80240204 46006301 */ sub.s $f12, $f12, $f0 +/* 97DCD8 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* 97DCDC 8024020C 8FBF0040 */ lw $ra, 0x40($sp) +/* 97DCE0 80240210 8FB3003C */ lw $s3, 0x3c($sp) +/* 97DCE4 80240214 8FB20038 */ lw $s2, 0x38($sp) +/* 97DCE8 80240218 8FB10034 */ lw $s1, 0x34($sp) +/* 97DCEC 8024021C 8FB00030 */ lw $s0, 0x30($sp) +/* 97DCF0 80240220 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 97DCF4 80240224 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 97DCF8 80240228 03E00008 */ jr $ra +/* 97DCFC 8024022C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240230.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240230.s new file mode 100644 index 0000000000..c981e3bca3 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240230.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240230 +/* 97DD00 80240230 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 97DD04 80240234 AFB3004C */ sw $s3, 0x4c($sp) +/* 97DD08 80240238 0080982D */ daddu $s3, $a0, $zero +/* 97DD0C 8024023C AFBF0054 */ sw $ra, 0x54($sp) +/* 97DD10 80240240 AFB40050 */ sw $s4, 0x50($sp) +/* 97DD14 80240244 AFB20048 */ sw $s2, 0x48($sp) +/* 97DD18 80240248 AFB10044 */ sw $s1, 0x44($sp) +/* 97DD1C 8024024C AFB00040 */ sw $s0, 0x40($sp) +/* 97DD20 80240250 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 97DD24 80240254 8E710148 */ lw $s1, 0x148($s3) +/* 97DD28 80240258 00A0A02D */ daddu $s4, $a1, $zero +/* 97DD2C 8024025C 86240008 */ lh $a0, 8($s1) +/* 97DD30 80240260 0C00EABB */ jal get_npc_unsafe +/* 97DD34 80240264 00C0902D */ daddu $s2, $a2, $zero +/* 97DD38 80240268 8E830014 */ lw $v1, 0x14($s4) +/* 97DD3C 8024026C 04600034 */ bltz $v1, .L80240340 +/* 97DD40 80240270 0040802D */ daddu $s0, $v0, $zero +/* 97DD44 80240274 8E620074 */ lw $v0, 0x74($s3) +/* 97DD48 80240278 1C400030 */ bgtz $v0, .L8024033C +/* 97DD4C 8024027C 2442FFFF */ addiu $v0, $v0, -1 +/* 97DD50 80240280 0240202D */ daddu $a0, $s2, $zero +/* 97DD54 80240284 AE630074 */ sw $v1, 0x74($s3) +/* 97DD58 80240288 AFA00010 */ sw $zero, 0x10($sp) +/* 97DD5C 8024028C 8E86000C */ lw $a2, 0xc($s4) +/* 97DD60 80240290 8E870010 */ lw $a3, 0x10($s4) +/* 97DD64 80240294 0C01242D */ jal func_800490B4 +/* 97DD68 80240298 0220282D */ daddu $a1, $s1, $zero +/* 97DD6C 8024029C 10400025 */ beqz $v0, .L80240334 +/* 97DD70 802402A0 0000202D */ daddu $a0, $zero, $zero +/* 97DD74 802402A4 0200282D */ daddu $a1, $s0, $zero +/* 97DD78 802402A8 0000302D */ daddu $a2, $zero, $zero +/* 97DD7C 802402AC 860300A8 */ lh $v1, 0xa8($s0) +/* 97DD80 802402B0 3C013F80 */ lui $at, 0x3f80 +/* 97DD84 802402B4 44810000 */ mtc1 $at, $f0 +/* 97DD88 802402B8 3C014000 */ lui $at, 0x4000 +/* 97DD8C 802402BC 44811000 */ mtc1 $at, $f2 +/* 97DD90 802402C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 97DD94 802402C4 44812000 */ mtc1 $at, $f4 +/* 97DD98 802402C8 2402000F */ addiu $v0, $zero, 0xf +/* 97DD9C 802402CC AFA2001C */ sw $v0, 0x1c($sp) +/* 97DDA0 802402D0 44835000 */ mtc1 $v1, $f10 +/* 97DDA4 802402D4 00000000 */ nop +/* 97DDA8 802402D8 468052A0 */ cvt.s.w $f10, $f10 +/* 97DDAC 802402DC 44075000 */ mfc1 $a3, $f10 +/* 97DDB0 802402E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 97DDB4 802402E4 AFA20020 */ sw $v0, 0x20($sp) +/* 97DDB8 802402E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 97DDBC 802402EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 97DDC0 802402F0 0C01BFA4 */ jal fx_emote +/* 97DDC4 802402F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 97DDC8 802402F8 0200202D */ daddu $a0, $s0, $zero +/* 97DDCC 802402FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 97DDD0 80240300 0C012530 */ jal func_800494C0 +/* 97DDD4 80240304 3C060020 */ lui $a2, 0x20 +/* 97DDD8 80240308 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 97DDDC 8024030C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 97DDE0 80240310 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97DDE4 80240314 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97DDE8 80240318 8C460028 */ lw $a2, 0x28($v0) +/* 97DDEC 8024031C 0C00A720 */ jal atan2 +/* 97DDF0 80240320 8C470030 */ lw $a3, 0x30($v0) +/* 97DDF4 80240324 2402000C */ addiu $v0, $zero, 0xc +/* 97DDF8 80240328 E600000C */ swc1 $f0, 0xc($s0) +/* 97DDFC 8024032C 08090151 */ j .L80240544 +/* 97DE00 80240330 AE620070 */ sw $v0, 0x70($s3) +.L80240334: +/* 97DE04 80240334 8E620074 */ lw $v0, 0x74($s3) +/* 97DE08 80240338 2442FFFF */ addiu $v0, $v0, -1 +.L8024033C: +/* 97DE0C 8024033C AE620074 */ sw $v0, 0x74($s3) +.L80240340: +/* 97DE10 80240340 C6000018 */ lwc1 $f0, 0x18($s0) +/* 97DE14 80240344 44801000 */ mtc1 $zero, $f2 +/* 97DE18 80240348 44801800 */ mtc1 $zero, $f3 +/* 97DE1C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* 97DE20 80240350 4620103C */ c.lt.d $f2, $f0 +/* 97DE24 80240354 00000000 */ nop +/* 97DE28 80240358 45000025 */ bc1f .L802403F0 +/* 97DE2C 8024035C 27A5002C */ addiu $a1, $sp, 0x2c +/* 97DE30 80240360 C6000038 */ lwc1 $f0, 0x38($s0) +/* 97DE34 80240364 860200A6 */ lh $v0, 0xa6($s0) +/* 97DE38 80240368 3C018024 */ lui $at, 0x8024 +/* 97DE3C 8024036C D4222EB0 */ ldc1 $f2, 0x2eb0($at) +/* 97DE40 80240370 27A60030 */ addiu $a2, $sp, 0x30 +/* 97DE44 80240374 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 97DE48 80240378 44820000 */ mtc1 $v0, $f0 +/* 97DE4C 8024037C 00000000 */ nop +/* 97DE50 80240380 46800020 */ cvt.s.w $f0, $f0 +/* 97DE54 80240384 46000021 */ cvt.d.s $f0, $f0 +/* 97DE58 80240388 C604003C */ lwc1 $f4, 0x3c($s0) +/* 97DE5C 8024038C C6060040 */ lwc1 $f6, 0x40($s0) +/* 97DE60 80240390 C6080018 */ lwc1 $f8, 0x18($s0) +/* 97DE64 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* 97DE68 80240398 46220002 */ mul.d $f0, $f0, $f2 +/* 97DE6C 8024039C 00000000 */ nop +/* 97DE70 802403A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 97DE74 802403A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 97DE78 802403A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* 97DE7C 802403AC C604000C */ lwc1 $f4, 0xc($s0) +/* 97DE80 802403B0 44821000 */ mtc1 $v0, $f2 +/* 97DE84 802403B4 00000000 */ nop +/* 97DE88 802403B8 468010A0 */ cvt.s.w $f2, $f2 +/* 97DE8C 802403BC E7A20018 */ swc1 $f2, 0x18($sp) +/* 97DE90 802403C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* 97DE94 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 97DE98 802403C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 97DE9C 802403CC 8E040080 */ lw $a0, 0x80($s0) +/* 97DEA0 802403D0 0C037711 */ jal func_800DDC44 +/* 97DEA4 802403D4 27A70034 */ addiu $a3, $sp, 0x34 +/* 97DEA8 802403D8 54400005 */ bnel $v0, $zero, .L802403F0 +/* 97DEAC 802403DC AE000018 */ sw $zero, 0x18($s0) +/* 97DEB0 802403E0 8E050018 */ lw $a1, 0x18($s0) +/* 97DEB4 802403E4 8E06000C */ lw $a2, 0xc($s0) +/* 97DEB8 802403E8 0C00EA95 */ jal npc_move_heading +/* 97DEBC 802403EC 0200202D */ daddu $a0, $s0, $zero +.L802403F0: +/* 97DEC0 802403F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 97DEC4 802403F4 44801000 */ mtc1 $zero, $f2 +/* 97DEC8 802403F8 44801800 */ mtc1 $zero, $f3 +/* 97DECC 802403FC 46000021 */ cvt.d.s $f0, $f0 +/* 97DED0 80240400 4622003C */ c.lt.d $f0, $f2 +/* 97DED4 80240404 00000000 */ nop +/* 97DED8 80240408 45000047 */ bc1f .L80240528 +/* 97DEDC 8024040C 27A5002C */ addiu $a1, $sp, 0x2c +/* 97DEE0 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* 97DEE4 80240414 27A20038 */ addiu $v0, $sp, 0x38 +/* 97DEE8 80240418 C602003C */ lwc1 $f2, 0x3c($s0) +/* 97DEEC 8024041C C6060038 */ lwc1 $f6, 0x38($s0) +/* 97DEF0 80240420 3C01402A */ lui $at, 0x402a +/* 97DEF4 80240424 4481A800 */ mtc1 $at, $f21 +/* 97DEF8 80240428 4480A000 */ mtc1 $zero, $f20 +/* 97DEFC 8024042C 460010A1 */ cvt.d.s $f2, $f2 +/* 97DF00 80240430 46341080 */ add.d $f2, $f2, $f20 +/* 97DF04 80240434 C600001C */ lwc1 $f0, 0x1c($s0) +/* 97DF08 80240438 C6040040 */ lwc1 $f4, 0x40($s0) +/* 97DF0C 8024043C 46000005 */ abs.s $f0, $f0 +/* 97DF10 80240440 E7A40034 */ swc1 $f4, 0x34($sp) +/* 97DF14 80240444 3C014030 */ lui $at, 0x4030 +/* 97DF18 80240448 44812800 */ mtc1 $at, $f5 +/* 97DF1C 8024044C 44802000 */ mtc1 $zero, $f4 +/* 97DF20 80240450 46000021 */ cvt.d.s $f0, $f0 +/* 97DF24 80240454 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 97DF28 80240458 46240000 */ add.d $f0, $f0, $f4 +/* 97DF2C 8024045C 462010A0 */ cvt.s.d $f2, $f2 +/* 97DF30 80240460 E7A20030 */ swc1 $f2, 0x30($sp) +/* 97DF34 80240464 46200020 */ cvt.s.d $f0, $f0 +/* 97DF38 80240468 E7A00038 */ swc1 $f0, 0x38($sp) +/* 97DF3C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 97DF40 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 97DF44 80240474 0C0372DF */ jal func_800DCB7C +/* 97DF48 80240478 27A70034 */ addiu $a3, $sp, 0x34 +/* 97DF4C 8024047C 1040002A */ beqz $v0, .L80240528 +/* 97DF50 80240480 00000000 */ nop +/* 97DF54 80240484 C600001C */ lwc1 $f0, 0x1c($s0) +/* 97DF58 80240488 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 97DF5C 8024048C 46000005 */ abs.s $f0, $f0 +/* 97DF60 80240490 46000021 */ cvt.d.s $f0, $f0 +/* 97DF64 80240494 46340000 */ add.d $f0, $f0, $f20 +/* 97DF68 80240498 460010A1 */ cvt.d.s $f2, $f2 +/* 97DF6C 8024049C 4620103E */ c.le.d $f2, $f0 +/* 97DF70 802404A0 00000000 */ nop +/* 97DF74 802404A4 45000020 */ bc1f .L80240528 +/* 97DF78 802404A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 97DF7C 802404AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* 97DF80 802404B0 8E020000 */ lw $v0, ($s0) +/* 97DF84 802404B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 97DF88 802404B8 AE00001C */ sw $zero, 0x1c($s0) +/* 97DF8C 802404BC 00431024 */ and $v0, $v0, $v1 +/* 97DF90 802404C0 AE020000 */ sw $v0, ($s0) +/* 97DF94 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 97DF98 802404C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 97DF9C 802404CC 0C00A67F */ jal rand_int +/* 97DFA0 802404D0 AE620070 */ sw $v0, 0x70($s3) +/* 97DFA4 802404D4 3C035555 */ lui $v1, 0x5555 +/* 97DFA8 802404D8 34635556 */ ori $v1, $v1, 0x5556 +/* 97DFAC 802404DC 00430018 */ mult $v0, $v1 +/* 97DFB0 802404E0 000227C3 */ sra $a0, $v0, 0x1f +/* 97DFB4 802404E4 00004010 */ mfhi $t0 +/* 97DFB8 802404E8 01042023 */ subu $a0, $t0, $a0 +/* 97DFBC 802404EC 00041840 */ sll $v1, $a0, 1 +/* 97DFC0 802404F0 00641821 */ addu $v1, $v1, $a0 +/* 97DFC4 802404F4 00431023 */ subu $v0, $v0, $v1 +/* 97DFC8 802404F8 24430002 */ addiu $v1, $v0, 2 +/* 97DFCC 802404FC AE630074 */ sw $v1, 0x74($s3) +/* 97DFD0 80240500 8E82002C */ lw $v0, 0x2c($s4) +/* 97DFD4 80240504 5840000F */ blezl $v0, .L80240544 +/* 97DFD8 80240508 AE600070 */ sw $zero, 0x70($s3) +/* 97DFDC 8024050C 8E820004 */ lw $v0, 4($s4) +/* 97DFE0 80240510 5840000C */ blezl $v0, .L80240544 +/* 97DFE4 80240514 AE600070 */ sw $zero, 0x70($s3) +/* 97DFE8 80240518 1460000A */ bnez $v1, .L80240544 +/* 97DFEC 8024051C 00000000 */ nop +/* 97DFF0 80240520 08090151 */ j .L80240544 +/* 97DFF4 80240524 AE600070 */ sw $zero, 0x70($s3) +.L80240528: +/* 97DFF8 80240528 C604003C */ lwc1 $f4, 0x3c($s0) +/* 97DFFC 8024052C C600001C */ lwc1 $f0, 0x1c($s0) +/* 97E000 80240530 46002100 */ add.s $f4, $f4, $f0 +/* 97E004 80240534 C6020014 */ lwc1 $f2, 0x14($s0) +/* 97E008 80240538 46020001 */ sub.s $f0, $f0, $f2 +/* 97E00C 8024053C E604003C */ swc1 $f4, 0x3c($s0) +/* 97E010 80240540 E600001C */ swc1 $f0, 0x1c($s0) +.L80240544: +/* 97E014 80240544 8FBF0054 */ lw $ra, 0x54($sp) +/* 97E018 80240548 8FB40050 */ lw $s4, 0x50($sp) +/* 97E01C 8024054C 8FB3004C */ lw $s3, 0x4c($sp) +/* 97E020 80240550 8FB20048 */ lw $s2, 0x48($sp) +/* 97E024 80240554 8FB10044 */ lw $s1, 0x44($sp) +/* 97E028 80240558 8FB00040 */ lw $s0, 0x40($sp) +/* 97E02C 8024055C D7B40058 */ ldc1 $f20, 0x58($sp) +/* 97E030 80240560 03E00008 */ jr $ra +/* 97E034 80240564 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240568.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240568.s new file mode 100644 index 0000000000..d19ca61a83 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240568.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568 +/* 97E038 80240568 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 97E03C 8024056C AFB3001C */ sw $s3, 0x1c($sp) +/* 97E040 80240570 0080982D */ daddu $s3, $a0, $zero +/* 97E044 80240574 AFBF0020 */ sw $ra, 0x20($sp) +/* 97E048 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* 97E04C 8024057C AFB10014 */ sw $s1, 0x14($sp) +/* 97E050 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* 97E054 80240584 8E720148 */ lw $s2, 0x148($s3) +/* 97E058 80240588 86440008 */ lh $a0, 8($s2) +/* 97E05C 8024058C 0C00EABB */ jal get_npc_unsafe +/* 97E060 80240590 00A0882D */ daddu $s1, $a1, $zero +/* 97E064 80240594 8E240008 */ lw $a0, 8($s1) +/* 97E068 80240598 0040802D */ daddu $s0, $v0, $zero +/* 97E06C 8024059C 00041FC2 */ srl $v1, $a0, 0x1f +/* 97E070 802405A0 00832021 */ addu $a0, $a0, $v1 +/* 97E074 802405A4 00042043 */ sra $a0, $a0, 1 +/* 97E078 802405A8 0C00A67F */ jal rand_int +/* 97E07C 802405AC 24840001 */ addiu $a0, $a0, 1 +/* 97E080 802405B0 8E230008 */ lw $v1, 8($s1) +/* 97E084 802405B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* 97E088 802405B8 00032FC2 */ srl $a1, $v1, 0x1f +/* 97E08C 802405BC 00651821 */ addu $v1, $v1, $a1 +/* 97E090 802405C0 00031843 */ sra $v1, $v1, 1 +/* 97E094 802405C4 00621821 */ addu $v1, $v1, $v0 +/* 97E098 802405C8 0C00A67F */ jal rand_int +/* 97E09C 802405CC A603008E */ sh $v1, 0x8e($s0) +/* 97E0A0 802405D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 97E0A4 802405D4 44820000 */ mtc1 $v0, $f0 +/* 97E0A8 802405D8 00000000 */ nop +/* 97E0AC 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* 97E0B0 802405E0 46006300 */ add.s $f12, $f12, $f0 +/* 97E0B4 802405E4 3C0142B4 */ lui $at, 0x42b4 +/* 97E0B8 802405E8 44810000 */ mtc1 $at, $f0 +/* 97E0BC 802405EC 0C00A6C9 */ jal clamp_angle +/* 97E0C0 802405F0 46006301 */ sub.s $f12, $f12, $f0 +/* 97E0C4 802405F4 E600000C */ swc1 $f0, 0xc($s0) +/* 97E0C8 802405F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 97E0CC 802405FC 8C420000 */ lw $v0, ($v0) +/* 97E0D0 80240600 AE020028 */ sw $v0, 0x28($s0) +/* 97E0D4 80240604 24020003 */ addiu $v0, $zero, 3 +/* 97E0D8 80240608 AE620070 */ sw $v0, 0x70($s3) +/* 97E0DC 8024060C 8FBF0020 */ lw $ra, 0x20($sp) +/* 97E0E0 80240610 8FB3001C */ lw $s3, 0x1c($sp) +/* 97E0E4 80240614 8FB20018 */ lw $s2, 0x18($sp) +/* 97E0E8 80240618 8FB10014 */ lw $s1, 0x14($sp) +/* 97E0EC 8024061C 8FB00010 */ lw $s0, 0x10($sp) +/* 97E0F0 80240620 03E00008 */ jr $ra +/* 97E0F4 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240628_97DAD0.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240628_97DAD0.s new file mode 100644 index 0000000000..72845c5bc1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240628_97DAD0.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_97E0F8 +/* 97E0F8 80240628 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 97E0FC 8024062C AFB40040 */ sw $s4, 0x40($sp) +/* 97E100 80240630 0080A02D */ daddu $s4, $a0, $zero +/* 97E104 80240634 AFBF0044 */ sw $ra, 0x44($sp) +/* 97E108 80240638 AFB3003C */ sw $s3, 0x3c($sp) +/* 97E10C 8024063C AFB20038 */ sw $s2, 0x38($sp) +/* 97E110 80240640 AFB10034 */ sw $s1, 0x34($sp) +/* 97E114 80240644 AFB00030 */ sw $s0, 0x30($sp) +/* 97E118 80240648 8E920148 */ lw $s2, 0x148($s4) +/* 97E11C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* 97E120 80240650 86440008 */ lh $a0, 8($s2) +/* 97E124 80240654 0C00EABB */ jal get_npc_unsafe +/* 97E128 80240658 00C0982D */ daddu $s3, $a2, $zero +/* 97E12C 8024065C 8E230014 */ lw $v1, 0x14($s1) +/* 97E130 80240660 0460002D */ bltz $v1, .L80240718 +/* 97E134 80240664 0040802D */ daddu $s0, $v0, $zero +/* 97E138 80240668 0260202D */ daddu $a0, $s3, $zero +/* 97E13C 8024066C AFA00010 */ sw $zero, 0x10($sp) +/* 97E140 80240670 8E260024 */ lw $a2, 0x24($s1) +/* 97E144 80240674 8E270028 */ lw $a3, 0x28($s1) +/* 97E148 80240678 0C01242D */ jal func_800490B4 +/* 97E14C 8024067C 0240282D */ daddu $a1, $s2, $zero +/* 97E150 80240680 10400025 */ beqz $v0, .L80240718 +/* 97E154 80240684 0000202D */ daddu $a0, $zero, $zero +/* 97E158 80240688 0200282D */ daddu $a1, $s0, $zero +/* 97E15C 8024068C 0000302D */ daddu $a2, $zero, $zero +/* 97E160 80240690 860300A8 */ lh $v1, 0xa8($s0) +/* 97E164 80240694 3C013F80 */ lui $at, 0x3f80 +/* 97E168 80240698 44810000 */ mtc1 $at, $f0 +/* 97E16C 8024069C 3C014000 */ lui $at, 0x4000 +/* 97E170 802406A0 44811000 */ mtc1 $at, $f2 +/* 97E174 802406A4 3C01C1A0 */ lui $at, 0xc1a0 +/* 97E178 802406A8 44812000 */ mtc1 $at, $f4 +/* 97E17C 802406AC 2402000F */ addiu $v0, $zero, 0xf +/* 97E180 802406B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 97E184 802406B4 44833000 */ mtc1 $v1, $f6 +/* 97E188 802406B8 00000000 */ nop +/* 97E18C 802406BC 468031A0 */ cvt.s.w $f6, $f6 +/* 97E190 802406C0 44073000 */ mfc1 $a3, $f6 +/* 97E194 802406C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 97E198 802406C8 AFA20020 */ sw $v0, 0x20($sp) +/* 97E19C 802406CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 97E1A0 802406D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 97E1A4 802406D4 0C01BFA4 */ jal fx_emote +/* 97E1A8 802406D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 97E1AC 802406DC 0200202D */ daddu $a0, $s0, $zero +/* 97E1B0 802406E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 97E1B4 802406E4 0C012530 */ jal func_800494C0 +/* 97E1B8 802406E8 3C060020 */ lui $a2, 0x20 +/* 97E1BC 802406EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 97E1C0 802406F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 97E1C4 802406F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97E1C8 802406F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97E1CC 802406FC 8C460028 */ lw $a2, 0x28($v0) +/* 97E1D0 80240700 0C00A720 */ jal atan2 +/* 97E1D4 80240704 8C470030 */ lw $a3, 0x30($v0) +/* 97E1D8 80240708 2402000C */ addiu $v0, $zero, 0xc +/* 97E1DC 8024070C E600000C */ swc1 $f0, 0xc($s0) +/* 97E1E0 80240710 080901EB */ j .L802407AC +/* 97E1E4 80240714 AE820070 */ sw $v0, 0x70($s4) +.L80240718: +/* 97E1E8 80240718 8602008C */ lh $v0, 0x8c($s0) +/* 97E1EC 8024071C 14400023 */ bnez $v0, .L802407AC +/* 97E1F0 80240720 00000000 */ nop +/* 97E1F4 80240724 9602008E */ lhu $v0, 0x8e($s0) +/* 97E1F8 80240728 2442FFFF */ addiu $v0, $v0, -1 +/* 97E1FC 8024072C A602008E */ sh $v0, 0x8e($s0) +/* 97E200 80240730 00021400 */ sll $v0, $v0, 0x10 +/* 97E204 80240734 1C40001D */ bgtz $v0, .L802407AC +/* 97E208 80240738 00000000 */ nop +/* 97E20C 8024073C 8E820074 */ lw $v0, 0x74($s4) +/* 97E210 80240740 2442FFFF */ addiu $v0, $v0, -1 +/* 97E214 80240744 18400018 */ blez $v0, .L802407A8 +/* 97E218 80240748 AE820074 */ sw $v0, 0x74($s4) +/* 97E21C 8024074C C600000C */ lwc1 $f0, 0xc($s0) +/* 97E220 80240750 3C014334 */ lui $at, 0x4334 +/* 97E224 80240754 44816000 */ mtc1 $at, $f12 +/* 97E228 80240758 0C00A6C9 */ jal clamp_angle +/* 97E22C 8024075C 460C0300 */ add.s $f12, $f0, $f12 +/* 97E230 80240760 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 97E234 80240764 0C00A67F */ jal rand_int +/* 97E238 80240768 E600000C */ swc1 $f0, 0xc($s0) +/* 97E23C 8024076C 3C032E8B */ lui $v1, 0x2e8b +/* 97E240 80240770 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 97E244 80240774 00430018 */ mult $v0, $v1 +/* 97E248 80240778 00021FC3 */ sra $v1, $v0, 0x1f +/* 97E24C 8024077C 00004010 */ mfhi $t0 +/* 97E250 80240780 00082043 */ sra $a0, $t0, 1 +/* 97E254 80240784 00832023 */ subu $a0, $a0, $v1 +/* 97E258 80240788 00041840 */ sll $v1, $a0, 1 +/* 97E25C 8024078C 00641821 */ addu $v1, $v1, $a0 +/* 97E260 80240790 00031880 */ sll $v1, $v1, 2 +/* 97E264 80240794 00641823 */ subu $v1, $v1, $a0 +/* 97E268 80240798 00431023 */ subu $v0, $v0, $v1 +/* 97E26C 8024079C 24420005 */ addiu $v0, $v0, 5 +/* 97E270 802407A0 080901EB */ j .L802407AC +/* 97E274 802407A4 A602008E */ sh $v0, 0x8e($s0) +.L802407A8: +/* 97E278 802407A8 AE800070 */ sw $zero, 0x70($s4) +.L802407AC: +/* 97E27C 802407AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 97E280 802407B0 8FB40040 */ lw $s4, 0x40($sp) +/* 97E284 802407B4 8FB3003C */ lw $s3, 0x3c($sp) +/* 97E288 802407B8 8FB20038 */ lw $s2, 0x38($sp) +/* 97E28C 802407BC 8FB10034 */ lw $s1, 0x34($sp) +/* 97E290 802407C0 8FB00030 */ lw $s0, 0x30($sp) +/* 97E294 802407C4 03E00008 */ jr $ra +/* 97E298 802407C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_802407CC.s b/asm/nonmatchings/world/area_isk/isk_05/func_802407CC.s new file mode 100644 index 0000000000..5fffba319e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_802407CC.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC +/* 97E29C 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97E2A0 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* 97E2A4 802407D4 0080882D */ daddu $s1, $a0, $zero +/* 97E2A8 802407D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 97E2AC 802407DC AFB20018 */ sw $s2, 0x18($sp) +/* 97E2B0 802407E0 AFB00010 */ sw $s0, 0x10($sp) +/* 97E2B4 802407E4 8E220148 */ lw $v0, 0x148($s1) +/* 97E2B8 802407E8 00A0902D */ daddu $s2, $a1, $zero +/* 97E2BC 802407EC 84440008 */ lh $a0, 8($v0) +/* 97E2C0 802407F0 0C00EABB */ jal get_npc_unsafe +/* 97E2C4 802407F4 00C0802D */ daddu $s0, $a2, $zero +/* 97E2C8 802407F8 0220202D */ daddu $a0, $s1, $zero +/* 97E2CC 802407FC 0240282D */ daddu $a1, $s2, $zero +/* 97E2D0 80240800 0200302D */ daddu $a2, $s0, $zero +/* 97E2D4 80240804 0C0127DF */ jal func_80049F7C +/* 97E2D8 80240808 0040802D */ daddu $s0, $v0, $zero +/* 97E2DC 8024080C 8E020000 */ lw $v0, ($s0) +/* 97E2E0 80240810 24040005 */ addiu $a0, $zero, 5 +/* 97E2E4 80240814 34420800 */ ori $v0, $v0, 0x800 +/* 97E2E8 80240818 0C00A67F */ jal rand_int +/* 97E2EC 8024081C AE020000 */ sw $v0, ($s0) +/* 97E2F0 80240820 44820000 */ mtc1 $v0, $f0 +/* 97E2F4 80240824 00000000 */ nop +/* 97E2F8 80240828 46800021 */ cvt.d.w $f0, $f0 +/* 97E2FC 8024082C 3C014024 */ lui $at, 0x4024 +/* 97E300 80240830 44811800 */ mtc1 $at, $f3 +/* 97E304 80240834 44801000 */ mtc1 $zero, $f2 +/* 97E308 80240838 3C013FC0 */ lui $at, 0x3fc0 +/* 97E30C 8024083C 44812000 */ mtc1 $at, $f4 +/* 97E310 80240840 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 97E314 80240844 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 97E318 80240848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97E31C 8024084C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 97E320 80240850 46220000 */ add.d $f0, $f0, $f2 +/* 97E324 80240854 E6040014 */ swc1 $f4, 0x14($s0) +/* 97E328 80240858 46200020 */ cvt.s.d $f0, $f0 +/* 97E32C 8024085C E600001C */ swc1 $f0, 0x1c($s0) +/* 97E330 80240860 8C460028 */ lw $a2, 0x28($v0) +/* 97E334 80240864 0C00A720 */ jal atan2 +/* 97E338 80240868 8C470030 */ lw $a3, 0x30($v0) +/* 97E33C 8024086C 0200202D */ daddu $a0, $s0, $zero +/* 97E340 80240870 3C05B000 */ lui $a1, 0xb000 +/* 97E344 80240874 34A50017 */ ori $a1, $a1, 0x17 +/* 97E348 80240878 0000302D */ daddu $a2, $zero, $zero +/* 97E34C 8024087C E480000C */ swc1 $f0, 0xc($a0) +/* 97E350 80240880 C6400018 */ lwc1 $f0, 0x18($s2) +/* 97E354 80240884 2402000D */ addiu $v0, $zero, 0xd +/* 97E358 80240888 E4800018 */ swc1 $f0, 0x18($a0) +/* 97E35C 8024088C 0C012530 */ jal func_800494C0 +/* 97E360 80240890 AE220070 */ sw $v0, 0x70($s1) +/* 97E364 80240894 8FBF001C */ lw $ra, 0x1c($sp) +/* 97E368 80240898 8FB20018 */ lw $s2, 0x18($sp) +/* 97E36C 8024089C 8FB10014 */ lw $s1, 0x14($sp) +/* 97E370 802408A0 8FB00010 */ lw $s0, 0x10($sp) +/* 97E374 802408A4 03E00008 */ jr $ra +/* 97E378 802408A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_802408AC.s b/asm/nonmatchings/world/area_isk/isk_05/func_802408AC.s new file mode 100644 index 0000000000..be28ceec93 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_802408AC.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408AC +/* 97E37C 802408AC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 97E380 802408B0 AFB40050 */ sw $s4, 0x50($sp) +/* 97E384 802408B4 0080A02D */ daddu $s4, $a0, $zero +/* 97E388 802408B8 AFBF0060 */ sw $ra, 0x60($sp) +/* 97E38C 802408BC AFB7005C */ sw $s7, 0x5c($sp) +/* 97E390 802408C0 AFB60058 */ sw $s6, 0x58($sp) +/* 97E394 802408C4 AFB50054 */ sw $s5, 0x54($sp) +/* 97E398 802408C8 AFB3004C */ sw $s3, 0x4c($sp) +/* 97E39C 802408CC AFB20048 */ sw $s2, 0x48($sp) +/* 97E3A0 802408D0 AFB10044 */ sw $s1, 0x44($sp) +/* 97E3A4 802408D4 AFB00040 */ sw $s0, 0x40($sp) +/* 97E3A8 802408D8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* 97E3AC 802408DC 8E950148 */ lw $s5, 0x148($s4) +/* 97E3B0 802408E0 00A0B02D */ daddu $s6, $a1, $zero +/* 97E3B4 802408E4 86A40008 */ lh $a0, 8($s5) +/* 97E3B8 802408E8 0C00EABB */ jal get_npc_unsafe +/* 97E3BC 802408EC 00C0B82D */ daddu $s7, $a2, $zero +/* 97E3C0 802408F0 0040982D */ daddu $s3, $v0, $zero +/* 97E3C4 802408F4 C6600018 */ lwc1 $f0, 0x18($s3) +/* 97E3C8 802408F8 44801000 */ mtc1 $zero, $f2 +/* 97E3CC 802408FC 44801800 */ mtc1 $zero, $f3 +/* 97E3D0 80240900 46000021 */ cvt.d.s $f0, $f0 +/* 97E3D4 80240904 4620103C */ c.lt.d $f2, $f0 +/* 97E3D8 80240908 00000000 */ nop +/* 97E3DC 8024090C 45000021 */ bc1f .L80240994 +/* 97E3E0 80240910 27A50028 */ addiu $a1, $sp, 0x28 +/* 97E3E4 80240914 C6600038 */ lwc1 $f0, 0x38($s3) +/* 97E3E8 80240918 C662003C */ lwc1 $f2, 0x3c($s3) +/* 97E3EC 8024091C C6640040 */ lwc1 $f4, 0x40($s3) +/* 97E3F0 80240920 C6660018 */ lwc1 $f6, 0x18($s3) +/* 97E3F4 80240924 E7A00028 */ swc1 $f0, 0x28($sp) +/* 97E3F8 80240928 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 97E3FC 8024092C E7A40030 */ swc1 $f4, 0x30($sp) +/* 97E400 80240930 E7A60010 */ swc1 $f6, 0x10($sp) +/* 97E404 80240934 C660000C */ lwc1 $f0, 0xc($s3) +/* 97E408 80240938 E7A00014 */ swc1 $f0, 0x14($sp) +/* 97E40C 8024093C 866200A8 */ lh $v0, 0xa8($s3) +/* 97E410 80240940 44820000 */ mtc1 $v0, $f0 +/* 97E414 80240944 00000000 */ nop +/* 97E418 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 97E41C 8024094C E7A00018 */ swc1 $f0, 0x18($sp) +/* 97E420 80240950 866200A6 */ lh $v0, 0xa6($s3) +/* 97E424 80240954 27A6002C */ addiu $a2, $sp, 0x2c +/* 97E428 80240958 44820000 */ mtc1 $v0, $f0 +/* 97E42C 8024095C 00000000 */ nop +/* 97E430 80240960 46800020 */ cvt.s.w $f0, $f0 +/* 97E434 80240964 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 97E438 80240968 8E640080 */ lw $a0, 0x80($s3) +/* 97E43C 8024096C 0C037711 */ jal func_800DDC44 +/* 97E440 80240970 27A70030 */ addiu $a3, $sp, 0x30 +/* 97E444 80240974 10400003 */ beqz $v0, .L80240984 +/* 97E448 80240978 00000000 */ nop +/* 97E44C 8024097C 08090265 */ j .L80240994 +/* 97E450 80240980 AE600018 */ sw $zero, 0x18($s3) +.L80240984: +/* 97E454 80240984 8E650018 */ lw $a1, 0x18($s3) +/* 97E458 80240988 8E66000C */ lw $a2, 0xc($s3) +/* 97E45C 8024098C 0C00EA95 */ jal npc_move_heading +/* 97E460 80240990 0260202D */ daddu $a0, $s3, $zero +.L80240994: +/* 97E464 80240994 C660001C */ lwc1 $f0, 0x1c($s3) +/* 97E468 80240998 44801000 */ mtc1 $zero, $f2 +/* 97E46C 8024099C 44801800 */ mtc1 $zero, $f3 +/* 97E470 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* 97E474 802409A4 4622003C */ c.lt.d $f0, $f2 +/* 97E478 802409A8 00000000 */ nop +/* 97E47C 802409AC 4500006C */ bc1f .L80240B60 +/* 97E480 802409B0 27B00028 */ addiu $s0, $sp, 0x28 +/* 97E484 802409B4 0200282D */ daddu $a1, $s0, $zero +/* 97E488 802409B8 27A60034 */ addiu $a2, $sp, 0x34 +/* 97E48C 802409BC 27B20038 */ addiu $s2, $sp, 0x38 +/* 97E490 802409C0 C6600038 */ lwc1 $f0, 0x38($s3) +/* 97E494 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* 97E498 802409C8 44811000 */ mtc1 $at, $f2 +/* 97E49C 802409CC C6640040 */ lwc1 $f4, 0x40($s3) +/* 97E4A0 802409D0 3C01447A */ lui $at, 0x447a +/* 97E4A4 802409D4 44813000 */ mtc1 $at, $f6 +/* 97E4A8 802409D8 27B10030 */ addiu $s1, $sp, 0x30 +/* 97E4AC 802409DC E7A00028 */ swc1 $f0, 0x28($sp) +/* 97E4B0 802409E0 E7A20034 */ swc1 $f2, 0x34($sp) +/* 97E4B4 802409E4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 97E4B8 802409E8 E7A60038 */ swc1 $f6, 0x38($sp) +/* 97E4BC 802409EC AFB20010 */ sw $s2, 0x10($sp) +/* 97E4C0 802409F0 8E640080 */ lw $a0, 0x80($s3) +/* 97E4C4 802409F4 0C0372DF */ jal func_800DCB7C +/* 97E4C8 802409F8 0220382D */ daddu $a3, $s1, $zero +/* 97E4CC 802409FC 0200282D */ daddu $a1, $s0, $zero +/* 97E4D0 80240A00 27A6002C */ addiu $a2, $sp, 0x2c +/* 97E4D4 80240A04 C662003C */ lwc1 $f2, 0x3c($s3) +/* 97E4D8 80240A08 C6660038 */ lwc1 $f6, 0x38($s3) +/* 97E4DC 80240A0C 3C01402A */ lui $at, 0x402a +/* 97E4E0 80240A10 4481A800 */ mtc1 $at, $f21 +/* 97E4E4 80240A14 4480A000 */ mtc1 $zero, $f20 +/* 97E4E8 80240A18 460010A1 */ cvt.d.s $f2, $f2 +/* 97E4EC 80240A1C 46341080 */ add.d $f2, $f2, $f20 +/* 97E4F0 80240A20 C660001C */ lwc1 $f0, 0x1c($s3) +/* 97E4F4 80240A24 C6640040 */ lwc1 $f4, 0x40($s3) +/* 97E4F8 80240A28 46000005 */ abs.s $f0, $f0 +/* 97E4FC 80240A2C E7A40030 */ swc1 $f4, 0x30($sp) +/* 97E500 80240A30 3C014030 */ lui $at, 0x4030 +/* 97E504 80240A34 44812800 */ mtc1 $at, $f5 +/* 97E508 80240A38 44802000 */ mtc1 $zero, $f4 +/* 97E50C 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* 97E510 80240A40 E7A60028 */ swc1 $f6, 0x28($sp) +/* 97E514 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 97E518 80240A48 462010A0 */ cvt.s.d $f2, $f2 +/* 97E51C 80240A4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 97E520 80240A50 46200020 */ cvt.s.d $f0, $f0 +/* 97E524 80240A54 E7A00038 */ swc1 $f0, 0x38($sp) +/* 97E528 80240A58 AFB20010 */ sw $s2, 0x10($sp) +/* 97E52C 80240A5C 8E640080 */ lw $a0, 0x80($s3) +/* 97E530 80240A60 0C0372DF */ jal func_800DCB7C +/* 97E534 80240A64 0220382D */ daddu $a3, $s1, $zero +/* 97E538 80240A68 1040003D */ beqz $v0, .L80240B60 +/* 97E53C 80240A6C 00000000 */ nop +/* 97E540 80240A70 C660001C */ lwc1 $f0, 0x1c($s3) +/* 97E544 80240A74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 97E548 80240A78 46000005 */ abs.s $f0, $f0 +/* 97E54C 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* 97E550 80240A80 46340000 */ add.d $f0, $f0, $f20 +/* 97E554 80240A84 460010A1 */ cvt.d.s $f2, $f2 +/* 97E558 80240A88 4620103E */ c.le.d $f2, $f0 +/* 97E55C 80240A8C 00000000 */ nop +/* 97E560 80240A90 45000033 */ bc1f .L80240B60 +/* 97E564 80240A94 2403F7FF */ addiu $v1, $zero, -0x801 +/* 97E568 80240A98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 97E56C 80240A9C 8E620000 */ lw $v0, ($s3) +/* 97E570 80240AA0 AE60001C */ sw $zero, 0x1c($s3) +/* 97E574 80240AA4 00431024 */ and $v0, $v0, $v1 +/* 97E578 80240AA8 E660003C */ swc1 $f0, 0x3c($s3) +/* 97E57C 80240AAC AE620000 */ sw $v0, ($s3) +/* 97E580 80240AB0 AFA00010 */ sw $zero, 0x10($sp) +/* 97E584 80240AB4 AFA00014 */ sw $zero, 0x14($sp) +/* 97E588 80240AB8 8E650038 */ lw $a1, 0x38($s3) +/* 97E58C 80240ABC 8E66003C */ lw $a2, 0x3c($s3) +/* 97E590 80240AC0 8E670040 */ lw $a3, 0x40($s3) +/* 97E594 80240AC4 0C01BECC */ jal fx_walk_normal +/* 97E598 80240AC8 24040002 */ addiu $a0, $zero, 2 +/* 97E59C 80240ACC 02E0202D */ daddu $a0, $s7, $zero +/* 97E5A0 80240AD0 2402000C */ addiu $v0, $zero, 0xc +/* 97E5A4 80240AD4 AE820070 */ sw $v0, 0x70($s4) +/* 97E5A8 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* 97E5AC 80240ADC AFA20010 */ sw $v0, 0x10($sp) +/* 97E5B0 80240AE0 8EC60024 */ lw $a2, 0x24($s6) +/* 97E5B4 80240AE4 8EC70028 */ lw $a3, 0x28($s6) +/* 97E5B8 80240AE8 0C01242D */ jal func_800490B4 +/* 97E5BC 80240AEC 02A0282D */ daddu $a1, $s5, $zero +/* 97E5C0 80240AF0 14400022 */ bnez $v0, .L80240B7C +/* 97E5C4 80240AF4 24040002 */ addiu $a0, $zero, 2 +/* 97E5C8 80240AF8 0260282D */ daddu $a1, $s3, $zero +/* 97E5CC 80240AFC 0000302D */ daddu $a2, $zero, $zero +/* 97E5D0 80240B00 866300A8 */ lh $v1, 0xa8($s3) +/* 97E5D4 80240B04 3C013F80 */ lui $at, 0x3f80 +/* 97E5D8 80240B08 44810000 */ mtc1 $at, $f0 +/* 97E5DC 80240B0C 3C014000 */ lui $at, 0x4000 +/* 97E5E0 80240B10 44811000 */ mtc1 $at, $f2 +/* 97E5E4 80240B14 3C01C1A0 */ lui $at, 0xc1a0 +/* 97E5E8 80240B18 44812000 */ mtc1 $at, $f4 +/* 97E5EC 80240B1C 2402000F */ addiu $v0, $zero, 0xf +/* 97E5F0 80240B20 AFA2001C */ sw $v0, 0x1c($sp) +/* 97E5F4 80240B24 44834000 */ mtc1 $v1, $f8 +/* 97E5F8 80240B28 00000000 */ nop +/* 97E5FC 80240B2C 46804220 */ cvt.s.w $f8, $f8 +/* 97E600 80240B30 44074000 */ mfc1 $a3, $f8 +/* 97E604 80240B34 27A2003C */ addiu $v0, $sp, 0x3c +/* 97E608 80240B38 AFA20020 */ sw $v0, 0x20($sp) +/* 97E60C 80240B3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 97E610 80240B40 E7A20014 */ swc1 $f2, 0x14($sp) +/* 97E614 80240B44 0C01BFA4 */ jal fx_emote +/* 97E618 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* 97E61C 80240B4C 24020019 */ addiu $v0, $zero, 0x19 +/* 97E620 80240B50 A662008E */ sh $v0, 0x8e($s3) +/* 97E624 80240B54 2402000E */ addiu $v0, $zero, 0xe +/* 97E628 80240B58 080902DF */ j .L80240B7C +/* 97E62C 80240B5C AE820070 */ sw $v0, 0x70($s4) +.L80240B60: +/* 97E630 80240B60 C664003C */ lwc1 $f4, 0x3c($s3) +/* 97E634 80240B64 C660001C */ lwc1 $f0, 0x1c($s3) +/* 97E638 80240B68 46002100 */ add.s $f4, $f4, $f0 +/* 97E63C 80240B6C C6620014 */ lwc1 $f2, 0x14($s3) +/* 97E640 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* 97E644 80240B74 E664003C */ swc1 $f4, 0x3c($s3) +/* 97E648 80240B78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240B7C: +/* 97E64C 80240B7C 8FBF0060 */ lw $ra, 0x60($sp) +/* 97E650 80240B80 8FB7005C */ lw $s7, 0x5c($sp) +/* 97E654 80240B84 8FB60058 */ lw $s6, 0x58($sp) +/* 97E658 80240B88 8FB50054 */ lw $s5, 0x54($sp) +/* 97E65C 80240B8C 8FB40050 */ lw $s4, 0x50($sp) +/* 97E660 80240B90 8FB3004C */ lw $s3, 0x4c($sp) +/* 97E664 80240B94 8FB20048 */ lw $s2, 0x48($sp) +/* 97E668 80240B98 8FB10044 */ lw $s1, 0x44($sp) +/* 97E66C 80240B9C 8FB00040 */ lw $s0, 0x40($sp) +/* 97E670 80240BA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* 97E674 80240BA4 03E00008 */ jr $ra +/* 97E678 80240BA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240BAC.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240BAC.s new file mode 100644 index 0000000000..91d1db6a4b --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240BAC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC +/* 97E67C 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97E680 80240BB0 AFB00010 */ sw $s0, 0x10($sp) +/* 97E684 80240BB4 0080802D */ daddu $s0, $a0, $zero +/* 97E688 80240BB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 97E68C 80240BBC 8E020148 */ lw $v0, 0x148($s0) +/* 97E690 80240BC0 0C00EABB */ jal get_npc_unsafe +/* 97E694 80240BC4 84440008 */ lh $a0, 8($v0) +/* 97E698 80240BC8 9443008E */ lhu $v1, 0x8e($v0) +/* 97E69C 80240BCC 2463FFFF */ addiu $v1, $v1, -1 +/* 97E6A0 80240BD0 A443008E */ sh $v1, 0x8e($v0) +/* 97E6A4 80240BD4 00031C00 */ sll $v1, $v1, 0x10 +/* 97E6A8 80240BD8 58600001 */ blezl $v1, .L80240BE0 +/* 97E6AC 80240BDC AE000070 */ sw $zero, 0x70($s0) +.L80240BE0: +/* 97E6B0 80240BE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 97E6B4 80240BE4 8FB00010 */ lw $s0, 0x10($sp) +/* 97E6B8 80240BE8 03E00008 */ jr $ra +/* 97E6BC 80240BEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240BF0_97DAD0.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240BF0_97DAD0.s new file mode 100644 index 0000000000..0ba6270228 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240BF0_97DAD0.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0_97E6C0 +/* 97E6C0 80240BF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 97E6C4 80240BF4 AFB3003C */ sw $s3, 0x3c($sp) +/* 97E6C8 80240BF8 0080982D */ daddu $s3, $a0, $zero +/* 97E6CC 80240BFC AFBF0048 */ sw $ra, 0x48($sp) +/* 97E6D0 80240C00 AFB50044 */ sw $s5, 0x44($sp) +/* 97E6D4 80240C04 AFB40040 */ sw $s4, 0x40($sp) +/* 97E6D8 80240C08 AFB20038 */ sw $s2, 0x38($sp) +/* 97E6DC 80240C0C AFB10034 */ sw $s1, 0x34($sp) +/* 97E6E0 80240C10 AFB00030 */ sw $s0, 0x30($sp) +/* 97E6E4 80240C14 8E720148 */ lw $s2, 0x148($s3) +/* 97E6E8 80240C18 86440008 */ lh $a0, 8($s2) +/* 97E6EC 80240C1C 8E70000C */ lw $s0, 0xc($s3) +/* 97E6F0 80240C20 0C00EABB */ jal get_npc_unsafe +/* 97E6F4 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* 97E6F8 80240C28 8E050000 */ lw $a1, ($s0) +/* 97E6FC 80240C2C 26100004 */ addiu $s0, $s0, 4 +/* 97E700 80240C30 0260202D */ daddu $a0, $s3, $zero +/* 97E704 80240C34 0C0B1EAF */ jal get_variable +/* 97E708 80240C38 0040A82D */ daddu $s5, $v0, $zero +/* 97E70C 80240C3C 0260202D */ daddu $a0, $s3, $zero +/* 97E710 80240C40 8E050000 */ lw $a1, ($s0) +/* 97E714 80240C44 0C0B1EAF */ jal get_variable +/* 97E718 80240C48 0040A02D */ daddu $s4, $v0, $zero +/* 97E71C 80240C4C AE420094 */ sw $v0, 0x94($s2) +/* 97E720 80240C50 AFA00010 */ sw $zero, 0x10($sp) +/* 97E724 80240C54 8E4200D0 */ lw $v0, 0xd0($s2) +/* 97E728 80240C58 8C420030 */ lw $v0, 0x30($v0) +/* 97E72C 80240C5C AFA20014 */ sw $v0, 0x14($sp) +/* 97E730 80240C60 8E4200D0 */ lw $v0, 0xd0($s2) +/* 97E734 80240C64 8C42001C */ lw $v0, 0x1c($v0) +/* 97E738 80240C68 AFA20018 */ sw $v0, 0x18($sp) +/* 97E73C 80240C6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 97E740 80240C70 8C420024 */ lw $v0, 0x24($v0) +/* 97E744 80240C74 AFA2001C */ sw $v0, 0x1c($sp) +/* 97E748 80240C78 8E4200D0 */ lw $v0, 0xd0($s2) +/* 97E74C 80240C7C 8C420028 */ lw $v0, 0x28($v0) +/* 97E750 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* 97E754 80240C84 8E4200D0 */ lw $v0, 0xd0($s2) +/* 97E758 80240C88 3C0142C8 */ lui $at, 0x42c8 +/* 97E75C 80240C8C 44810000 */ mtc1 $at, $f0 +/* 97E760 80240C90 8C42002C */ lw $v0, 0x2c($v0) +/* 97E764 80240C94 27B00010 */ addiu $s0, $sp, 0x10 +/* 97E768 80240C98 E7A00028 */ swc1 $f0, 0x28($sp) +/* 97E76C 80240C9C A7A0002C */ sh $zero, 0x2c($sp) +/* 97E770 80240CA0 12200019 */ beqz $s1, .L80240D08 +/* 97E774 80240CA4 AFA20024 */ sw $v0, 0x24($sp) +/* 97E778 80240CA8 AE600070 */ sw $zero, 0x70($s3) +/* 97E77C 80240CAC A6A0008E */ sh $zero, 0x8e($s5) +/* 97E780 80240CB0 AE600074 */ sw $zero, 0x74($s3) +/* 97E784 80240CB4 8EA20000 */ lw $v0, ($s5) +/* 97E788 80240CB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* 97E78C 80240CBC 00431024 */ and $v0, $v0, $v1 +/* 97E790 80240CC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 97E794 80240CC4 00431024 */ and $v0, $v0, $v1 +/* 97E798 80240CC8 34420008 */ ori $v0, $v0, 8 +/* 97E79C 80240CCC AEA20000 */ sw $v0, ($s5) +/* 97E7A0 80240CD0 8E4200B0 */ lw $v0, 0xb0($s2) +/* 97E7A4 80240CD4 34420018 */ ori $v0, $v0, 0x18 +/* 97E7A8 80240CD8 AE4200B0 */ sw $v0, 0xb0($s2) +/* 97E7AC 80240CDC 8E420000 */ lw $v0, ($s2) +/* 97E7B0 80240CE0 3C034000 */ lui $v1, 0x4000 +/* 97E7B4 80240CE4 00431024 */ and $v0, $v0, $v1 +/* 97E7B8 80240CE8 10400007 */ beqz $v0, .L80240D08 +/* 97E7BC 80240CEC 3C03BFFF */ lui $v1, 0xbfff +/* 97E7C0 80240CF0 2402000C */ addiu $v0, $zero, 0xc +/* 97E7C4 80240CF4 AE620070 */ sw $v0, 0x70($s3) +/* 97E7C8 80240CF8 8E420000 */ lw $v0, ($s2) +/* 97E7CC 80240CFC 3463FFFF */ ori $v1, $v1, 0xffff +/* 97E7D0 80240D00 00431024 */ and $v0, $v0, $v1 +/* 97E7D4 80240D04 AE420000 */ sw $v0, ($s2) +.L80240D08: +/* 97E7D8 80240D08 8E4300B0 */ lw $v1, 0xb0($s2) +/* 97E7DC 80240D0C 30620004 */ andi $v0, $v1, 4 +/* 97E7E0 80240D10 10400007 */ beqz $v0, .L80240D30 +/* 97E7E4 80240D14 00000000 */ nop +/* 97E7E8 80240D18 824200B4 */ lb $v0, 0xb4($s2) +/* 97E7EC 80240D1C 14400034 */ bnez $v0, .L80240DF0 +/* 97E7F0 80240D20 0000102D */ daddu $v0, $zero, $zero +/* 97E7F4 80240D24 2402FFFB */ addiu $v0, $zero, -5 +/* 97E7F8 80240D28 00621024 */ and $v0, $v1, $v0 +/* 97E7FC 80240D2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D30: +/* 97E800 80240D30 8E630070 */ lw $v1, 0x70($s3) +/* 97E804 80240D34 2C62000F */ sltiu $v0, $v1, 0xf +/* 97E808 80240D38 1040002C */ beqz $v0, .L80240DEC +/* 97E80C 80240D3C 00031080 */ sll $v0, $v1, 2 +/* 97E810 80240D40 3C018024 */ lui $at, 0x8024 +/* 97E814 80240D44 00220821 */ addu $at, $at, $v0 +/* 97E818 80240D48 8C222EB8 */ lw $v0, 0x2eb8($at) +/* 97E81C 80240D4C 00400008 */ jr $v0 +/* 97E820 80240D50 00000000 */ nop +/* 97E824 80240D54 0260202D */ daddu $a0, $s3, $zero +/* 97E828 80240D58 0280282D */ daddu $a1, $s4, $zero +/* 97E82C 80240D5C 0C090000 */ jal func_80240000 +/* 97E830 80240D60 0200302D */ daddu $a2, $s0, $zero +/* 97E834 80240D64 0260202D */ daddu $a0, $s3, $zero +/* 97E838 80240D68 0280282D */ daddu $a1, $s4, $zero +/* 97E83C 80240D6C 0C09008C */ jal func_80240230 +/* 97E840 80240D70 0200302D */ daddu $a2, $s0, $zero +/* 97E844 80240D74 0809037C */ j .L80240DF0 +/* 97E848 80240D78 0000102D */ daddu $v0, $zero, $zero +/* 97E84C 80240D7C 0260202D */ daddu $a0, $s3, $zero +/* 97E850 80240D80 0280282D */ daddu $a1, $s4, $zero +/* 97E854 80240D84 0C09015A */ jal func_80240568 +/* 97E858 80240D88 0200302D */ daddu $a2, $s0, $zero +/* 97E85C 80240D8C 8E630070 */ lw $v1, 0x70($s3) +/* 97E860 80240D90 24020003 */ addiu $v0, $zero, 3 +/* 97E864 80240D94 14620016 */ bne $v1, $v0, .L80240DF0 +/* 97E868 80240D98 0000102D */ daddu $v0, $zero, $zero +/* 97E86C 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* 97E870 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* 97E874 80240DA4 0C09018A */ jal func_80240628 +/* 97E878 80240DA8 0200302D */ daddu $a2, $s0, $zero +/* 97E87C 80240DAC 0809037C */ j .L80240DF0 +/* 97E880 80240DB0 0000102D */ daddu $v0, $zero, $zero +/* 97E884 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 97E888 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* 97E88C 80240DBC 0C0901F3 */ jal func_802407CC +/* 97E890 80240DC0 0200302D */ daddu $a2, $s0, $zero +/* 97E894 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* 97E898 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 97E89C 80240DCC 0C09022B */ jal func_802408AC +/* 97E8A0 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* 97E8A4 80240DD4 0809037C */ j .L80240DF0 +/* 97E8A8 80240DD8 0000102D */ daddu $v0, $zero, $zero +/* 97E8AC 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* 97E8B0 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* 97E8B4 80240DE4 0C0902EB */ jal func_80240BAC +/* 97E8B8 80240DE8 0200302D */ daddu $a2, $s0, $zero +.L80240DEC: +/* 97E8BC 80240DEC 0000102D */ daddu $v0, $zero, $zero +.L80240DF0: +/* 97E8C0 80240DF0 8FBF0048 */ lw $ra, 0x48($sp) +/* 97E8C4 80240DF4 8FB50044 */ lw $s5, 0x44($sp) +/* 97E8C8 80240DF8 8FB40040 */ lw $s4, 0x40($sp) +/* 97E8CC 80240DFC 8FB3003C */ lw $s3, 0x3c($sp) +/* 97E8D0 80240E00 8FB20038 */ lw $s2, 0x38($sp) +/* 97E8D4 80240E04 8FB10034 */ lw $s1, 0x34($sp) +/* 97E8D8 80240E08 8FB00030 */ lw $s0, 0x30($sp) +/* 97E8DC 80240E0C 03E00008 */ jr $ra +/* 97E8E0 80240E10 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240E14.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240E14.s new file mode 100644 index 0000000000..37d1a048b2 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240E14.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E14 +/* 97E8E4 80240E14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97E8E8 80240E18 AFB00010 */ sw $s0, 0x10($sp) +/* 97E8EC 80240E1C 0080802D */ daddu $s0, $a0, $zero +/* 97E8F0 80240E20 AFBF001C */ sw $ra, 0x1c($sp) +/* 97E8F4 80240E24 AFB20018 */ sw $s2, 0x18($sp) +/* 97E8F8 80240E28 AFB10014 */ sw $s1, 0x14($sp) +/* 97E8FC 80240E2C 8E020148 */ lw $v0, 0x148($s0) +/* 97E900 80240E30 00A0882D */ daddu $s1, $a1, $zero +/* 97E904 80240E34 84440008 */ lh $a0, 8($v0) +/* 97E908 80240E38 0C00EABB */ jal get_npc_unsafe +/* 97E90C 80240E3C 00C0902D */ daddu $s2, $a2, $zero +/* 97E910 80240E40 0200202D */ daddu $a0, $s0, $zero +/* 97E914 80240E44 0040802D */ daddu $s0, $v0, $zero +/* 97E918 80240E48 0220282D */ daddu $a1, $s1, $zero +/* 97E91C 80240E4C 0C012568 */ jal func_800495A0 +/* 97E920 80240E50 0240302D */ daddu $a2, $s2, $zero +/* 97E924 80240E54 0C00A67F */ jal rand_int +/* 97E928 80240E58 24040005 */ addiu $a0, $zero, 5 +/* 97E92C 80240E5C 3C014020 */ lui $at, 0x4020 +/* 97E930 80240E60 44811800 */ mtc1 $at, $f3 +/* 97E934 80240E64 44801000 */ mtc1 $zero, $f2 +/* 97E938 80240E68 44820000 */ mtc1 $v0, $f0 +/* 97E93C 80240E6C 00000000 */ nop +/* 97E940 80240E70 46800021 */ cvt.d.w $f0, $f0 +/* 97E944 80240E74 46220000 */ add.d $f0, $f0, $f2 +/* 97E948 80240E78 3C013FC0 */ lui $at, 0x3fc0 +/* 97E94C 80240E7C 44811000 */ mtc1 $at, $f2 +/* 97E950 80240E80 00000000 */ nop +/* 97E954 80240E84 E6020014 */ swc1 $f2, 0x14($s0) +/* 97E958 80240E88 46200020 */ cvt.s.d $f0, $f0 +/* 97E95C 80240E8C E600001C */ swc1 $f0, 0x1c($s0) +/* 97E960 80240E90 8FBF001C */ lw $ra, 0x1c($sp) +/* 97E964 80240E94 8FB20018 */ lw $s2, 0x18($sp) +/* 97E968 80240E98 8FB10014 */ lw $s1, 0x14($sp) +/* 97E96C 80240E9C 8FB00010 */ lw $s0, 0x10($sp) +/* 97E970 80240EA0 03E00008 */ jr $ra +/* 97E974 80240EA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240EA8_97DAD0.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240EA8_97DAD0.s new file mode 100644 index 0000000000..0e6f3eb980 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240EA8_97DAD0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EA8_97E978 +/* 97E978 80240EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97E97C 80240EAC AFB00010 */ sw $s0, 0x10($sp) +/* 97E980 80240EB0 0080802D */ daddu $s0, $a0, $zero +/* 97E984 80240EB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 97E988 80240EB8 AFB20018 */ sw $s2, 0x18($sp) +/* 97E98C 80240EBC AFB10014 */ sw $s1, 0x14($sp) +/* 97E990 80240EC0 8E020148 */ lw $v0, 0x148($s0) +/* 97E994 80240EC4 00A0882D */ daddu $s1, $a1, $zero +/* 97E998 80240EC8 84440008 */ lh $a0, 8($v0) +/* 97E99C 80240ECC 0C00EABB */ jal get_npc_unsafe +/* 97E9A0 80240ED0 00C0902D */ daddu $s2, $a2, $zero +/* 97E9A4 80240ED4 0200202D */ daddu $a0, $s0, $zero +/* 97E9A8 80240ED8 0040802D */ daddu $s0, $v0, $zero +/* 97E9AC 80240EDC 0220282D */ daddu $a1, $s1, $zero +/* 97E9B0 80240EE0 0C0127DF */ jal func_80049F7C +/* 97E9B4 80240EE4 0240302D */ daddu $a2, $s2, $zero +/* 97E9B8 80240EE8 0C00A67F */ jal rand_int +/* 97E9BC 80240EEC 24040005 */ addiu $a0, $zero, 5 +/* 97E9C0 80240EF0 3C014014 */ lui $at, 0x4014 +/* 97E9C4 80240EF4 44811800 */ mtc1 $at, $f3 +/* 97E9C8 80240EF8 44801000 */ mtc1 $zero, $f2 +/* 97E9CC 80240EFC 44820000 */ mtc1 $v0, $f0 +/* 97E9D0 80240F00 00000000 */ nop +/* 97E9D4 80240F04 46800021 */ cvt.d.w $f0, $f0 +/* 97E9D8 80240F08 46220000 */ add.d $f0, $f0, $f2 +/* 97E9DC 80240F0C 3C013FC0 */ lui $at, 0x3fc0 +/* 97E9E0 80240F10 44811000 */ mtc1 $at, $f2 +/* 97E9E4 80240F14 00000000 */ nop +/* 97E9E8 80240F18 E6020014 */ swc1 $f2, 0x14($s0) +/* 97E9EC 80240F1C 46200020 */ cvt.s.d $f0, $f0 +/* 97E9F0 80240F20 E600001C */ swc1 $f0, 0x1c($s0) +/* 97E9F4 80240F24 8FBF001C */ lw $ra, 0x1c($sp) +/* 97E9F8 80240F28 8FB20018 */ lw $s2, 0x18($sp) +/* 97E9FC 80240F2C 8FB10014 */ lw $s1, 0x14($sp) +/* 97EA00 80240F30 8FB00010 */ lw $s0, 0x10($sp) +/* 97EA04 80240F34 03E00008 */ jr $ra +/* 97EA08 80240F38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80240F3C.s b/asm/nonmatchings/world/area_isk/isk_05/func_80240F3C.s new file mode 100644 index 0000000000..58d873c8a1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80240F3C.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F3C +/* 97EA0C 80240F3C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 97EA10 80240F40 AFB40040 */ sw $s4, 0x40($sp) +/* 97EA14 80240F44 0080A02D */ daddu $s4, $a0, $zero +/* 97EA18 80240F48 AFBF0048 */ sw $ra, 0x48($sp) +/* 97EA1C 80240F4C AFB50044 */ sw $s5, 0x44($sp) +/* 97EA20 80240F50 AFB3003C */ sw $s3, 0x3c($sp) +/* 97EA24 80240F54 AFB20038 */ sw $s2, 0x38($sp) +/* 97EA28 80240F58 AFB10034 */ sw $s1, 0x34($sp) +/* 97EA2C 80240F5C AFB00030 */ sw $s0, 0x30($sp) +/* 97EA30 80240F60 8E920148 */ lw $s2, 0x148($s4) +/* 97EA34 80240F64 86440008 */ lh $a0, 8($s2) +/* 97EA38 80240F68 8E90000C */ lw $s0, 0xc($s4) +/* 97EA3C 80240F6C 0C00EABB */ jal get_npc_unsafe +/* 97EA40 80240F70 00A0882D */ daddu $s1, $a1, $zero +/* 97EA44 80240F74 0280202D */ daddu $a0, $s4, $zero +/* 97EA48 80240F78 8E050000 */ lw $a1, ($s0) +/* 97EA4C 80240F7C 0C0B1EAF */ jal get_variable +/* 97EA50 80240F80 0040A82D */ daddu $s5, $v0, $zero +/* 97EA54 80240F84 AFA00010 */ sw $zero, 0x10($sp) +/* 97EA58 80240F88 8E4300D0 */ lw $v1, 0xd0($s2) +/* 97EA5C 80240F8C 8C630030 */ lw $v1, 0x30($v1) +/* 97EA60 80240F90 AFA30014 */ sw $v1, 0x14($sp) +/* 97EA64 80240F94 8E4300D0 */ lw $v1, 0xd0($s2) +/* 97EA68 80240F98 8C63001C */ lw $v1, 0x1c($v1) +/* 97EA6C 80240F9C AFA30018 */ sw $v1, 0x18($sp) +/* 97EA70 80240FA0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 97EA74 80240FA4 8C630024 */ lw $v1, 0x24($v1) +/* 97EA78 80240FA8 AFA3001C */ sw $v1, 0x1c($sp) +/* 97EA7C 80240FAC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 97EA80 80240FB0 8C630028 */ lw $v1, 0x28($v1) +/* 97EA84 80240FB4 27B30010 */ addiu $s3, $sp, 0x10 +/* 97EA88 80240FB8 AFA30020 */ sw $v1, 0x20($sp) +/* 97EA8C 80240FBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 97EA90 80240FC0 3C0142C8 */ lui $at, 0x42c8 +/* 97EA94 80240FC4 44810000 */ mtc1 $at, $f0 +/* 97EA98 80240FC8 8C63002C */ lw $v1, 0x2c($v1) +/* 97EA9C 80240FCC 0040802D */ daddu $s0, $v0, $zero +/* 97EAA0 80240FD0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 97EAA4 80240FD4 A7A0002C */ sh $zero, 0x2c($sp) +/* 97EAA8 80240FD8 12200016 */ beqz $s1, .L80241034 +/* 97EAAC 80240FDC AFA30024 */ sw $v1, 0x24($sp) +/* 97EAB0 80240FE0 8EA20000 */ lw $v0, ($s5) +/* 97EAB4 80240FE4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 97EAB8 80240FE8 A6A0008E */ sh $zero, 0x8e($s5) +/* 97EABC 80240FEC 00431024 */ and $v0, $v0, $v1 +/* 97EAC0 80240FF0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 97EAC4 80240FF4 00431024 */ and $v0, $v0, $v1 +/* 97EAC8 80240FF8 34420008 */ ori $v0, $v0, 8 +/* 97EACC 80240FFC AEA20000 */ sw $v0, ($s5) +/* 97EAD0 80241000 AE800074 */ sw $zero, 0x74($s4) +/* 97EAD4 80241004 AE800070 */ sw $zero, 0x70($s4) +/* 97EAD8 80241008 8E420000 */ lw $v0, ($s2) +/* 97EADC 8024100C 3C034000 */ lui $v1, 0x4000 +/* 97EAE0 80241010 00431024 */ and $v0, $v0, $v1 +/* 97EAE4 80241014 10400007 */ beqz $v0, .L80241034 +/* 97EAE8 80241018 3C03BFFF */ lui $v1, 0xbfff +/* 97EAEC 8024101C 2402000C */ addiu $v0, $zero, 0xc +/* 97EAF0 80241020 AE820070 */ sw $v0, 0x70($s4) +/* 97EAF4 80241024 8E420000 */ lw $v0, ($s2) +/* 97EAF8 80241028 3463FFFF */ ori $v1, $v1, 0xffff +/* 97EAFC 8024102C 00431024 */ and $v0, $v0, $v1 +/* 97EB00 80241030 AE420000 */ sw $v0, ($s2) +.L80241034: +/* 97EB04 80241034 8E830070 */ lw $v1, 0x70($s4) +/* 97EB08 80241038 2C62000F */ sltiu $v0, $v1, 0xf +/* 97EB0C 8024103C 10400028 */ beqz $v0, .L802410E0 +/* 97EB10 80241040 00031080 */ sll $v0, $v1, 2 +/* 97EB14 80241044 3C018024 */ lui $at, 0x8024 +/* 97EB18 80241048 00220821 */ addu $at, $at, $v0 +/* 97EB1C 8024104C 8C222EF8 */ lw $v0, 0x2ef8($at) +/* 97EB20 80241050 00400008 */ jr $v0 +/* 97EB24 80241054 00000000 */ nop +/* 97EB28 80241058 0280202D */ daddu $a0, $s4, $zero +/* 97EB2C 8024105C 0200282D */ daddu $a1, $s0, $zero +/* 97EB30 80241060 0C090385 */ jal func_80240E14 +/* 97EB34 80241064 0260302D */ daddu $a2, $s3, $zero +/* 97EB38 80241068 0280202D */ daddu $a0, $s4, $zero +/* 97EB3C 8024106C 0200282D */ daddu $a1, $s0, $zero +/* 97EB40 80241070 0C09008C */ jal func_80240230 +/* 97EB44 80241074 0260302D */ daddu $a2, $s3, $zero +/* 97EB48 80241078 08090438 */ j .L802410E0 +/* 97EB4C 8024107C 00000000 */ nop +/* 97EB50 80241080 0280202D */ daddu $a0, $s4, $zero +/* 97EB54 80241084 0200282D */ daddu $a1, $s0, $zero +/* 97EB58 80241088 0C09015A */ jal func_80240568 +/* 97EB5C 8024108C 0260302D */ daddu $a2, $s3, $zero +/* 97EB60 80241090 0280202D */ daddu $a0, $s4, $zero +/* 97EB64 80241094 0200282D */ daddu $a1, $s0, $zero +/* 97EB68 80241098 0C09018A */ jal func_80240628 +/* 97EB6C 8024109C 0260302D */ daddu $a2, $s3, $zero +/* 97EB70 802410A0 08090438 */ j .L802410E0 +/* 97EB74 802410A4 00000000 */ nop +/* 97EB78 802410A8 0280202D */ daddu $a0, $s4, $zero +/* 97EB7C 802410AC 0200282D */ daddu $a1, $s0, $zero +/* 97EB80 802410B0 0C0903AA */ jal func_80240EA8 +/* 97EB84 802410B4 0260302D */ daddu $a2, $s3, $zero +/* 97EB88 802410B8 0280202D */ daddu $a0, $s4, $zero +/* 97EB8C 802410BC 0200282D */ daddu $a1, $s0, $zero +/* 97EB90 802410C0 0C09022B */ jal func_802408AC +/* 97EB94 802410C4 0260302D */ daddu $a2, $s3, $zero +/* 97EB98 802410C8 08090438 */ j .L802410E0 +/* 97EB9C 802410CC 00000000 */ nop +/* 97EBA0 802410D0 0280202D */ daddu $a0, $s4, $zero +/* 97EBA4 802410D4 0200282D */ daddu $a1, $s0, $zero +/* 97EBA8 802410D8 0C0902EB */ jal func_80240BAC +/* 97EBAC 802410DC 0260302D */ daddu $a2, $s3, $zero +.L802410E0: +/* 97EBB0 802410E0 8FBF0048 */ lw $ra, 0x48($sp) +/* 97EBB4 802410E4 8FB50044 */ lw $s5, 0x44($sp) +/* 97EBB8 802410E8 8FB40040 */ lw $s4, 0x40($sp) +/* 97EBBC 802410EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 97EBC0 802410F0 8FB20038 */ lw $s2, 0x38($sp) +/* 97EBC4 802410F4 8FB10034 */ lw $s1, 0x34($sp) +/* 97EBC8 802410F8 8FB00030 */ lw $s0, 0x30($sp) +/* 97EBCC 802410FC 0000102D */ daddu $v0, $zero, $zero +/* 97EBD0 80241100 03E00008 */ jr $ra +/* 97EBD4 80241104 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241108.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241108.s new file mode 100644 index 0000000000..dd20e378ed --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241108.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241108 +/* 97EBD8 80241108 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 97EBDC 8024110C AFB40030 */ sw $s4, 0x30($sp) +/* 97EBE0 80241110 27B40010 */ addiu $s4, $sp, 0x10 +/* 97EBE4 80241114 AFB3002C */ sw $s3, 0x2c($sp) +/* 97EBE8 80241118 0000982D */ daddu $s3, $zero, $zero +/* 97EBEC 8024111C AFBF0038 */ sw $ra, 0x38($sp) +/* 97EBF0 80241120 AFB50034 */ sw $s5, 0x34($sp) +/* 97EBF4 80241124 AFB20028 */ sw $s2, 0x28($sp) +/* 97EBF8 80241128 AFB10024 */ sw $s1, 0x24($sp) +/* 97EBFC 8024112C AFB00020 */ sw $s0, 0x20($sp) +/* 97EC00 80241130 8C84014C */ lw $a0, 0x14c($a0) +/* 97EC04 80241134 0C00EAD2 */ jal get_npc_safe +/* 97EC08 80241138 24150003 */ addiu $s5, $zero, 3 +/* 97EC0C 8024113C 24040080 */ addiu $a0, $zero, 0x80 +/* 97EC10 80241140 0C00AB39 */ jal heap_malloc +/* 97EC14 80241144 0040882D */ daddu $s1, $v0, $zero +/* 97EC18 80241148 0040902D */ daddu $s2, $v0, $zero +/* 97EC1C 8024114C 3C030035 */ lui $v1, 0x35 +/* 97EC20 80241150 34630002 */ ori $v1, $v1, 2 +/* 97EC24 80241154 2650000C */ addiu $s0, $s2, 0xc +/* 97EC28 80241158 3402814A */ ori $v0, $zero, 0x814a +/* 97EC2C 8024115C AE320020 */ sw $s2, 0x20($s1) +/* 97EC30 80241160 AFA20010 */ sw $v0, 0x10($sp) +/* 97EC34 80241164 AFA30014 */ sw $v1, 0x14($sp) +/* 97EC38 80241168 AFA00018 */ sw $zero, 0x18($sp) +/* 97EC3C 8024116C AFA0001C */ sw $zero, 0x1c($sp) +.L80241170: +/* 97EC40 80241170 0C00E211 */ jal create_basic_npc +/* 97EC44 80241174 0280202D */ daddu $a0, $s4, $zero +/* 97EC48 80241178 0C00E2B7 */ jal get_npc_by_index +/* 97EC4C 8024117C 0040202D */ daddu $a0, $v0, $zero +/* 97EC50 80241180 AE420000 */ sw $v0, ($s2) +/* 97EC54 80241184 C6200038 */ lwc1 $f0, 0x38($s1) +/* 97EC58 80241188 E4400038 */ swc1 $f0, 0x38($v0) +/* 97EC5C 8024118C C620003C */ lwc1 $f0, 0x3c($s1) +/* 97EC60 80241190 0040202D */ daddu $a0, $v0, $zero +/* 97EC64 80241194 E480003C */ swc1 $f0, 0x3c($a0) +/* 97EC68 80241198 C6200040 */ lwc1 $f0, 0x40($s1) +/* 97EC6C 8024119C 26730001 */ addiu $s3, $s3, 1 +/* 97EC70 802411A0 E4800040 */ swc1 $f0, 0x40($a0) +/* 97EC74 802411A4 C620000C */ lwc1 $f0, 0xc($s1) +/* 97EC78 802411A8 26520010 */ addiu $s2, $s2, 0x10 +/* 97EC7C 802411AC A09500AB */ sb $s5, 0xab($a0) +/* 97EC80 802411B0 0C00EAFF */ jal disable_npc_shadow +/* 97EC84 802411B4 E480000C */ swc1 $f0, 0xc($a0) +/* 97EC88 802411B8 AE00FFF8 */ sw $zero, -8($s0) +/* 97EC8C 802411BC AE00FFFC */ sw $zero, -4($s0) +/* 97EC90 802411C0 AE000000 */ sw $zero, ($s0) +/* 97EC94 802411C4 2A620008 */ slti $v0, $s3, 8 +/* 97EC98 802411C8 1440FFE9 */ bnez $v0, .L80241170 +/* 97EC9C 802411CC 26100010 */ addiu $s0, $s0, 0x10 +/* 97ECA0 802411D0 8FBF0038 */ lw $ra, 0x38($sp) +/* 97ECA4 802411D4 8FB50034 */ lw $s5, 0x34($sp) +/* 97ECA8 802411D8 8FB40030 */ lw $s4, 0x30($sp) +/* 97ECAC 802411DC 8FB3002C */ lw $s3, 0x2c($sp) +/* 97ECB0 802411E0 8FB20028 */ lw $s2, 0x28($sp) +/* 97ECB4 802411E4 8FB10024 */ lw $s1, 0x24($sp) +/* 97ECB8 802411E8 8FB00020 */ lw $s0, 0x20($sp) +/* 97ECBC 802411EC 24020002 */ addiu $v0, $zero, 2 +/* 97ECC0 802411F0 03E00008 */ jr $ra +/* 97ECC4 802411F4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_802411F8.s b/asm/nonmatchings/world/area_isk/isk_05/func_802411F8.s new file mode 100644 index 0000000000..87ef7fb931 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_802411F8.s @@ -0,0 +1,254 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F8 +/* 97ECC8 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 97ECCC 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 97ECD0 80241200 AFB40030 */ sw $s4, 0x30($sp) +/* 97ECD4 80241204 AFB3002C */ sw $s3, 0x2c($sp) +/* 97ECD8 80241208 AFB20028 */ sw $s2, 0x28($sp) +/* 97ECDC 8024120C AFB10024 */ sw $s1, 0x24($sp) +/* 97ECE0 80241210 AFB00020 */ sw $s0, 0x20($sp) +/* 97ECE4 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 97ECE8 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 97ECEC 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 97ECF0 80241220 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 97ECF4 80241224 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 97ECF8 80241228 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 97ECFC 8024122C 8C820148 */ lw $v0, 0x148($a0) +/* 97ED00 80241230 8C84014C */ lw $a0, 0x14c($a0) +/* 97ED04 80241234 C45A006C */ lwc1 $f26, 0x6c($v0) +/* 97ED08 80241238 0C00EAD2 */ jal get_npc_safe +/* 97ED0C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26 +/* 97ED10 80241240 0040A02D */ daddu $s4, $v0, $zero +/* 97ED14 80241244 8E930020 */ lw $s3, 0x20($s4) +/* 97ED18 80241248 868200A8 */ lh $v0, 0xa8($s4) +/* 97ED1C 8024124C 3C013E4C */ lui $at, 0x3e4c +/* 97ED20 80241250 3421CCCD */ ori $at, $at, 0xcccd +/* 97ED24 80241254 44810000 */ mtc1 $at, $f0 +/* 97ED28 80241258 C6860038 */ lwc1 $f6, 0x38($s4) +/* 97ED2C 8024125C 44821000 */ mtc1 $v0, $f2 +/* 97ED30 80241260 00000000 */ nop +/* 97ED34 80241264 468010A0 */ cvt.s.w $f2, $f2 +/* 97ED38 80241268 46001082 */ mul.s $f2, $f2, $f0 +/* 97ED3C 8024126C 00000000 */ nop +/* 97ED40 80241270 C688003C */ lwc1 $f8, 0x3c($s4) +/* 97ED44 80241274 3C014334 */ lui $at, 0x4334 +/* 97ED48 80241278 44816000 */ mtc1 $at, $f12 +/* 97ED4C 8024127C C6800034 */ lwc1 $f0, 0x34($s4) +/* 97ED50 80241280 C6840040 */ lwc1 $f4, 0x40($s4) +/* 97ED54 80241284 460C0300 */ add.s $f12, $f0, $f12 +/* 97ED58 80241288 E7A60018 */ swc1 $f6, 0x18($sp) +/* 97ED5C 8024128C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 97ED60 80241290 0C00A6C9 */ jal clamp_angle +/* 97ED64 80241294 46024500 */ add.s $f20, $f8, $f2 +/* 97ED68 80241298 868200A6 */ lh $v0, 0xa6($s4) +/* 97ED6C 8024129C 3C013E99 */ lui $at, 0x3e99 +/* 97ED70 802412A0 3421999A */ ori $at, $at, 0x999a +/* 97ED74 802412A4 44812000 */ mtc1 $at, $f4 +/* 97ED78 802412A8 44821000 */ mtc1 $v0, $f2 +/* 97ED7C 802412AC 00000000 */ nop +/* 97ED80 802412B0 468010A0 */ cvt.s.w $f2, $f2 +/* 97ED84 802412B4 46041082 */ mul.s $f2, $f2, $f4 +/* 97ED88 802412B8 00000000 */ nop +/* 97ED8C 802412BC 27A40018 */ addiu $a0, $sp, 0x18 +/* 97ED90 802412C0 44070000 */ mfc1 $a3, $f0 +/* 97ED94 802412C4 44061000 */ mfc1 $a2, $f2 +/* 97ED98 802412C8 0C00A7E7 */ jal add_vec2D_polar +/* 97ED9C 802412CC 27A5001C */ addiu $a1, $sp, 0x1c +/* 97EDA0 802412D0 8E820000 */ lw $v0, ($s4) +/* 97EDA4 802412D4 30420002 */ andi $v0, $v0, 2 +/* 97EDA8 802412D8 1040000D */ beqz $v0, .L80241310 +/* 97EDAC 802412DC 0000902D */ daddu $s2, $zero, $zero +/* 97EDB0 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 97EDB4 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp) +.L802412E8: +/* 97EDB8 802412E8 26520001 */ addiu $s2, $s2, 1 +/* 97EDBC 802412EC 8E700000 */ lw $s0, ($s3) +/* 97EDC0 802412F0 26730010 */ addiu $s3, $s3, 0x10 +/* 97EDC4 802412F4 2A420008 */ slti $v0, $s2, 8 +/* 97EDC8 802412F8 E6020038 */ swc1 $f2, 0x38($s0) +/* 97EDCC 802412FC E614003C */ swc1 $f20, 0x3c($s0) +/* 97EDD0 80241300 1440FFF9 */ bnez $v0, .L802412E8 +/* 97EDD4 80241304 E6000040 */ swc1 $f0, 0x40($s0) +/* 97EDD8 80241308 08090562 */ j .L80241588 +/* 97EDDC 8024130C 0000102D */ daddu $v0, $zero, $zero +.L80241310: +/* 97EDE0 80241310 26710008 */ addiu $s1, $s3, 8 +/* 97EDE4 80241314 3C014024 */ lui $at, 0x4024 +/* 97EDE8 80241318 4481C800 */ mtc1 $at, $f25 +/* 97EDEC 8024131C 4480C000 */ mtc1 $zero, $f24 +/* 97EDF0 80241320 3C013F4C */ lui $at, 0x3f4c +/* 97EDF4 80241324 3421CCCD */ ori $at, $at, 0xcccd +/* 97EDF8 80241328 4481B000 */ mtc1 $at, $f22 +/* 97EDFC 8024132C 3C013F33 */ lui $at, 0x3f33 +/* 97EE00 80241330 34213333 */ ori $at, $at, 0x3333 +/* 97EE04 80241334 4481E000 */ mtc1 $at, $f28 +/* 97EE08 80241338 3C01C120 */ lui $at, 0xc120 +/* 97EE0C 8024133C 4481F000 */ mtc1 $at, $f30 +.L80241340: +/* 97EE10 80241340 8E700000 */ lw $s0, ($s3) +/* 97EE14 80241344 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 97EE18 80241348 E7B40010 */ swc1 $f20, 0x10($sp) +/* 97EE1C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 97EE20 80241350 E7A00014 */ swc1 $f0, 0x14($sp) +/* 97EE24 80241354 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97EE28 80241358 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 97EE2C 8024135C 8E060040 */ lw $a2, 0x40($s0) +/* 97EE30 80241360 44071000 */ mfc1 $a3, $f2 +/* 97EE34 80241364 0C00A7CB */ jal dist3D +/* 97EE38 80241368 00000000 */ nop +/* 97EE3C 8024136C 46000021 */ cvt.d.s $f0, $f0 +/* 97EE40 80241370 4620C03E */ c.le.d $f24, $f0 +/* 97EE44 80241374 00000000 */ nop +/* 97EE48 80241378 45000047 */ bc1f .L80241498 +/* 97EE4C 8024137C 00000000 */ nop +/* 97EE50 80241380 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 97EE54 80241384 C7A40018 */ lwc1 $f4, 0x18($sp) +/* 97EE58 80241388 46046301 */ sub.s $f12, $f12, $f4 +/* 97EE5C 8024138C 46166302 */ mul.s $f12, $f12, $f22 +/* 97EE60 80241390 00000000 */ nop +/* 97EE64 80241394 C6000040 */ lwc1 $f0, 0x40($s0) +/* 97EE68 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 97EE6C 8024139C 46020001 */ sub.s $f0, $f0, $f2 +/* 97EE70 802413A0 46160002 */ mul.s $f0, $f0, $f22 +/* 97EE74 802413A4 00000000 */ nop +/* 97EE78 802413A8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 97EE7C 802413AC E7A20014 */ swc1 $f2, 0x14($sp) +/* 97EE80 802413B0 46020000 */ add.s $f0, $f0, $f2 +/* 97EE84 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 97EE88 802413B8 44072000 */ mfc1 $a3, $f4 +/* 97EE8C 802413BC 44060000 */ mfc1 $a2, $f0 +/* 97EE90 802413C0 0C00A7CB */ jal dist3D +/* 97EE94 802413C4 46046300 */ add.s $f12, $f12, $f4 +/* 97EE98 802413C8 C6080038 */ lwc1 $f8, 0x38($s0) +/* 97EE9C 802413CC C7A20018 */ lwc1 $f2, 0x18($sp) +/* 97EEA0 802413D0 46024201 */ sub.s $f8, $f8, $f2 +/* 97EEA4 802413D4 46164202 */ mul.s $f8, $f8, $f22 +/* 97EEA8 802413D8 00000000 */ nop +/* 97EEAC 802413DC C606003C */ lwc1 $f6, 0x3c($s0) +/* 97EEB0 802413E0 46000021 */ cvt.d.s $f0, $f0 +/* 97EEB4 802413E4 46143181 */ sub.s $f6, $f6, $f20 +/* 97EEB8 802413E8 4620C003 */ div.d $f0, $f24, $f0 +/* 97EEBC 802413EC 46200020 */ cvt.s.d $f0, $f0 +/* 97EEC0 802413F0 46003182 */ mul.s $f6, $f6, $f0 +/* 97EEC4 802413F4 00000000 */ nop +/* 97EEC8 802413F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* 97EECC 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp) +/* 97EED0 80241400 460A2101 */ sub.s $f4, $f4, $f10 +/* 97EED4 80241404 46162102 */ mul.s $f4, $f4, $f22 +/* 97EED8 80241408 00000000 */ nop +/* 97EEDC 8024140C 46004202 */ mul.s $f8, $f8, $f0 +/* 97EEE0 80241410 00000000 */ nop +/* 97EEE4 80241414 46002102 */ mul.s $f4, $f4, $f0 +/* 97EEE8 80241418 00000000 */ nop +/* 97EEEC 8024141C 46024200 */ add.s $f8, $f8, $f2 +/* 97EEF0 80241420 C6020038 */ lwc1 $f2, 0x38($s0) +/* 97EEF4 80241424 46024081 */ sub.s $f2, $f8, $f2 +/* 97EEF8 80241428 461C1082 */ mul.s $f2, $f2, $f28 +/* 97EEFC 8024142C 00000000 */ nop +/* 97EF00 80241430 4606A500 */ add.s $f20, $f20, $f6 +/* 97EF04 80241434 E622FFFC */ swc1 $f2, -4($s1) +/* 97EF08 80241438 C602003C */ lwc1 $f2, 0x3c($s0) +/* 97EF0C 8024143C 4602A081 */ sub.s $f2, $f20, $f2 +/* 97EF10 80241440 461C1082 */ mul.s $f2, $f2, $f28 +/* 97EF14 80241444 00000000 */ nop +/* 97EF18 80241448 460A2100 */ add.s $f4, $f4, $f10 +/* 97EF1C 8024144C E6220000 */ swc1 $f2, ($s1) +/* 97EF20 80241450 C6000040 */ lwc1 $f0, 0x40($s0) +/* 97EF24 80241454 46002001 */ sub.s $f0, $f4, $f0 +/* 97EF28 80241458 461C0002 */ mul.s $f0, $f0, $f28 +/* 97EF2C 8024145C 00000000 */ nop +/* 97EF30 80241460 3C014120 */ lui $at, 0x4120 +/* 97EF34 80241464 44818000 */ mtc1 $at, $f16 +/* 97EF38 80241468 E6200004 */ swc1 $f0, 4($s1) +/* 97EF3C 8024146C E6080038 */ swc1 $f8, 0x38($s0) +/* 97EF40 80241470 E614003C */ swc1 $f20, 0x3c($s0) +/* 97EF44 80241474 E6040040 */ swc1 $f4, 0x40($s0) +/* 97EF48 80241478 C6200000 */ lwc1 $f0, ($s1) +/* 97EF4C 8024147C E7A80018 */ swc1 $f8, 0x18($sp) +/* 97EF50 80241480 4600803C */ c.lt.s $f16, $f0 +/* 97EF54 80241484 00000000 */ nop +/* 97EF58 80241488 45000016 */ bc1f .L802414E4 +/* 97EF5C 8024148C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 97EF60 80241490 08090539 */ j .L802414E4 +/* 97EF64 80241494 E6300000 */ swc1 $f16, ($s1) +.L80241498: +/* 97EF68 80241498 C622FFFC */ lwc1 $f2, -4($s1) +/* 97EF6C 8024149C 3C013F66 */ lui $at, 0x3f66 +/* 97EF70 802414A0 34216666 */ ori $at, $at, 0x6666 +/* 97EF74 802414A4 44818000 */ mtc1 $at, $f16 +/* 97EF78 802414A8 00000000 */ nop +/* 97EF7C 802414AC 46101082 */ mul.s $f2, $f2, $f16 +/* 97EF80 802414B0 00000000 */ nop +/* 97EF84 802414B4 C6200004 */ lwc1 $f0, 4($s1) +/* 97EF88 802414B8 46100002 */ mul.s $f0, $f0, $f16 +/* 97EF8C 802414BC 00000000 */ nop +/* 97EF90 802414C0 E622FFFC */ swc1 $f2, -4($s1) +/* 97EF94 802414C4 E6200004 */ swc1 $f0, 4($s1) +/* 97EF98 802414C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* 97EF9C 802414CC 46020000 */ add.s $f0, $f0, $f2 +/* 97EFA0 802414D0 E6000038 */ swc1 $f0, 0x38($s0) +/* 97EFA4 802414D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 97EFA8 802414D8 C6220004 */ lwc1 $f2, 4($s1) +/* 97EFAC 802414DC 46020000 */ add.s $f0, $f0, $f2 +/* 97EFB0 802414E0 E6000040 */ swc1 $f0, 0x40($s0) +.L802414E4: +/* 97EFB4 802414E4 C6220000 */ lwc1 $f2, ($s1) +/* 97EFB8 802414E8 3C013F80 */ lui $at, 0x3f80 +/* 97EFBC 802414EC 44810000 */ mtc1 $at, $f0 +/* 97EFC0 802414F0 00000000 */ nop +/* 97EFC4 802414F4 46001081 */ sub.s $f2, $f2, $f0 +/* 97EFC8 802414F8 461E103C */ c.lt.s $f2, $f30 +/* 97EFCC 802414FC 00000000 */ nop +/* 97EFD0 80241500 45000002 */ bc1f .L8024150C +/* 97EFD4 80241504 E6220000 */ swc1 $f2, ($s1) +/* 97EFD8 80241508 E63E0000 */ swc1 $f30, ($s1) +.L8024150C: +/* 97EFDC 8024150C C602003C */ lwc1 $f2, 0x3c($s0) +/* 97EFE0 80241510 C6200000 */ lwc1 $f0, ($s1) +/* 97EFE4 80241514 46001080 */ add.s $f2, $f2, $f0 +/* 97EFE8 80241518 461A103E */ c.le.s $f2, $f26 +/* 97EFEC 8024151C 00000000 */ nop +/* 97EFF0 80241520 4500000C */ bc1f .L80241554 +/* 97EFF4 80241524 E602003C */ swc1 $f2, 0x3c($s0) +/* 97EFF8 80241528 E61A003C */ swc1 $f26, 0x3c($s0) +/* 97EFFC 8024152C C6200000 */ lwc1 $f0, ($s1) +/* 97F000 80241530 3C013FE0 */ lui $at, 0x3fe0 +/* 97F004 80241534 44811800 */ mtc1 $at, $f3 +/* 97F008 80241538 44801000 */ mtc1 $zero, $f2 +/* 97F00C 8024153C 46000007 */ neg.s $f0, $f0 +/* 97F010 80241540 46000021 */ cvt.d.s $f0, $f0 +/* 97F014 80241544 46220002 */ mul.d $f0, $f0, $f2 +/* 97F018 80241548 00000000 */ nop +/* 97F01C 8024154C 46200020 */ cvt.s.d $f0, $f0 +/* 97F020 80241550 E6200000 */ swc1 $f0, ($s1) +.L80241554: +/* 97F024 80241554 26520001 */ addiu $s2, $s2, 1 +/* 97F028 80241558 26310010 */ addiu $s1, $s1, 0x10 +/* 97F02C 8024155C C614003C */ lwc1 $f20, 0x3c($s0) +/* 97F030 80241560 C6000038 */ lwc1 $f0, 0x38($s0) +/* 97F034 80241564 C6020040 */ lwc1 $f2, 0x40($s0) +/* 97F038 80241568 8E820000 */ lw $v0, ($s4) +/* 97F03C 8024156C E7A00018 */ swc1 $f0, 0x18($sp) +/* 97F040 80241570 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 97F044 80241574 AE020000 */ sw $v0, ($s0) +/* 97F048 80241578 2A420008 */ slti $v0, $s2, 8 +/* 97F04C 8024157C 1440FF70 */ bnez $v0, .L80241340 +/* 97F050 80241580 26730010 */ addiu $s3, $s3, 0x10 +/* 97F054 80241584 0000102D */ daddu $v0, $zero, $zero +.L80241588: +/* 97F058 80241588 8FBF0034 */ lw $ra, 0x34($sp) +/* 97F05C 8024158C 8FB40030 */ lw $s4, 0x30($sp) +/* 97F060 80241590 8FB3002C */ lw $s3, 0x2c($sp) +/* 97F064 80241594 8FB20028 */ lw $s2, 0x28($sp) +/* 97F068 80241598 8FB10024 */ lw $s1, 0x24($sp) +/* 97F06C 8024159C 8FB00020 */ lw $s0, 0x20($sp) +/* 97F070 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 97F074 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 97F078 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 97F07C 802415AC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 97F080 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 97F084 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 97F088 802415B8 03E00008 */ jr $ra +/* 97F08C 802415BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_802415C0.s b/asm/nonmatchings/world/area_isk/isk_05/func_802415C0.s new file mode 100644 index 0000000000..27deeb5947 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_802415C0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C0 +/* 97F090 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97F094 802415C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 97F098 802415C8 AFB10014 */ sw $s1, 0x14($sp) +/* 97F09C 802415CC AFB00010 */ sw $s0, 0x10($sp) +/* 97F0A0 802415D0 8C84014C */ lw $a0, 0x14c($a0) +/* 97F0A4 802415D4 0C00EAD2 */ jal get_npc_safe +/* 97F0A8 802415D8 0000882D */ daddu $s1, $zero, $zero +/* 97F0AC 802415DC 8C500020 */ lw $s0, 0x20($v0) +.L802415E0: +/* 97F0B0 802415E0 8E040000 */ lw $a0, ($s0) +/* 97F0B4 802415E4 26310001 */ addiu $s1, $s1, 1 +/* 97F0B8 802415E8 0C00E273 */ jal free_npc +/* 97F0BC 802415EC 26100010 */ addiu $s0, $s0, 0x10 +/* 97F0C0 802415F0 2A220008 */ slti $v0, $s1, 8 +/* 97F0C4 802415F4 1440FFFA */ bnez $v0, .L802415E0 +/* 97F0C8 802415F8 24020002 */ addiu $v0, $zero, 2 +/* 97F0CC 802415FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 97F0D0 80241600 8FB10014 */ lw $s1, 0x14($sp) +/* 97F0D4 80241604 8FB00010 */ lw $s0, 0x10($sp) +/* 97F0D8 80241608 03E00008 */ jr $ra +/* 97F0DC 8024160C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241610.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241610.s new file mode 100644 index 0000000000..631033d3cd --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241610.s @@ -0,0 +1,331 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610 +/* 97F0E0 80241610 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 97F0E4 80241614 3C02DC08 */ lui $v0, 0xdc08 +/* 97F0E8 80241618 AFB700EC */ sw $s7, 0xec($sp) +/* 97F0EC 8024161C 3C17800A */ lui $s7, 0x800a +/* 97F0F0 80241620 26F7A66C */ addiu $s7, $s7, -0x5994 +/* 97F0F4 80241624 34420008 */ ori $v0, $v0, 8 +/* 97F0F8 80241628 AFBF00F4 */ sw $ra, 0xf4($sp) +/* 97F0FC 8024162C AFBE00F0 */ sw $fp, 0xf0($sp) +/* 97F100 80241630 AFB600E8 */ sw $s6, 0xe8($sp) +/* 97F104 80241634 AFB500E4 */ sw $s5, 0xe4($sp) +/* 97F108 80241638 AFB400E0 */ sw $s4, 0xe0($sp) +/* 97F10C 8024163C AFB300DC */ sw $s3, 0xdc($sp) +/* 97F110 80241640 AFB200D8 */ sw $s2, 0xd8($sp) +/* 97F114 80241644 AFB100D4 */ sw $s1, 0xd4($sp) +/* 97F118 80241648 AFB000D0 */ sw $s0, 0xd0($sp) +/* 97F11C 8024164C F7B60100 */ sdc1 $f22, 0x100($sp) +/* 97F120 80241650 F7B400F8 */ sdc1 $f20, 0xf8($sp) +/* 97F124 80241654 8EE50000 */ lw $a1, ($s7) +/* 97F128 80241658 3C168007 */ lui $s6, %hi(gCurrentCameraID) +/* 97F12C 8024165C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID) +/* 97F130 80241660 00A0202D */ daddu $a0, $a1, $zero +/* 97F134 80241664 24A50008 */ addiu $a1, $a1, 8 +/* 97F138 80241668 AEE50000 */ sw $a1, ($s7) +/* 97F13C 8024166C AC820000 */ sw $v0, ($a0) +/* 97F140 80241670 8EC30000 */ lw $v1, ($s6) +/* 97F144 80241674 3C18800B */ lui $t8, %hi(gCameras) +/* 97F148 80241678 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 97F14C 8024167C 00031080 */ sll $v0, $v1, 2 +/* 97F150 80241680 00431021 */ addu $v0, $v0, $v1 +/* 97F154 80241684 00021080 */ sll $v0, $v0, 2 +/* 97F158 80241688 00431023 */ subu $v0, $v0, $v1 +/* 97F15C 8024168C 000218C0 */ sll $v1, $v0, 3 +/* 97F160 80241690 00431021 */ addu $v0, $v0, $v1 +/* 97F164 80241694 000210C0 */ sll $v0, $v0, 3 +/* 97F168 80241698 00583021 */ addu $a2, $v0, $t8 +/* 97F16C 8024169C 24C200A0 */ addiu $v0, $a2, 0xa0 +/* 97F170 802416A0 AC820004 */ sw $v0, 4($a0) +/* 97F174 802416A4 94C20000 */ lhu $v0, ($a2) +/* 97F178 802416A8 3C1E8024 */ lui $fp, 0x8024 +/* 97F17C 802416AC 27DE2614 */ addiu $fp, $fp, 0x2614 +/* 97F180 802416B0 30420010 */ andi $v0, $v0, 0x10 +/* 97F184 802416B4 14400007 */ bnez $v0, .L802416D4 +/* 97F188 802416B8 24C400D4 */ addiu $a0, $a2, 0xd4 +/* 97F18C 802416BC 3C02DB0E */ lui $v0, 0xdb0e +/* 97F190 802416C0 ACA20000 */ sw $v0, ($a1) +/* 97F194 802416C4 94C30038 */ lhu $v1, 0x38($a2) +/* 97F198 802416C8 24A20008 */ addiu $v0, $a1, 8 +/* 97F19C 802416CC AEE20000 */ sw $v0, ($s7) +/* 97F1A0 802416D0 ACA30004 */ sw $v1, 4($a1) +.L802416D4: +/* 97F1A4 802416D4 3C180001 */ lui $t8, 1 +/* 97F1A8 802416D8 3C12800A */ lui $s2, 0x800a +/* 97F1AC 802416DC 2652A674 */ addiu $s2, $s2, -0x598c +/* 97F1B0 802416E0 AFB800C8 */ sw $t8, 0xc8($sp) +/* 97F1B4 802416E4 8EC50000 */ lw $a1, ($s6) +/* 97F1B8 802416E8 8E420000 */ lw $v0, ($s2) +/* 97F1BC 802416EC 00052980 */ sll $a1, $a1, 6 +/* 97F1C0 802416F0 24A50030 */ addiu $a1, $a1, 0x30 +/* 97F1C4 802416F4 0C019D40 */ jal guMtxF2L +/* 97F1C8 802416F8 00452821 */ addu $a1, $v0, $a1 +/* 97F1CC 802416FC 3C03DA38 */ lui $v1, 0xda38 +/* 97F1D0 80241700 34630007 */ ori $v1, $v1, 7 +/* 97F1D4 80241704 3C07E300 */ lui $a3, 0xe300 +/* 97F1D8 80241708 34E70A01 */ ori $a3, $a3, 0xa01 +/* 97F1DC 8024170C 3C08D9C0 */ lui $t0, 0xd9c0 +/* 97F1E0 80241710 3508F9FB */ ori $t0, $t0, 0xf9fb +/* 97F1E4 80241714 3C0AD9FF */ lui $t2, 0xd9ff +/* 97F1E8 80241718 354AFFFF */ ori $t2, $t2, 0xffff +/* 97F1EC 8024171C 3C090020 */ lui $t1, 0x20 +/* 97F1F0 80241720 35290005 */ ori $t1, $t1, 5 +/* 97F1F4 80241724 3C0BD700 */ lui $t3, 0xd700 +/* 97F1F8 80241728 356B0002 */ ori $t3, $t3, 2 +/* 97F1FC 8024172C 3C0CE300 */ lui $t4, 0xe300 +/* 97F200 80241730 358C0F00 */ ori $t4, $t4, 0xf00 +/* 97F204 80241734 3C0DE300 */ lui $t5, 0xe300 +/* 97F208 80241738 35AD0C00 */ ori $t5, $t5, 0xc00 +/* 97F20C 8024173C 3C0EE300 */ lui $t6, 0xe300 +/* 97F210 80241740 35CE1201 */ ori $t6, $t6, 0x1201 +/* 97F214 80241744 3C0FE300 */ lui $t7, 0xe300 +/* 97F218 80241748 35EF1801 */ ori $t7, $t7, 0x1801 +/* 97F21C 8024174C 3C10E300 */ lui $s0, 0xe300 +/* 97F220 80241750 36100D01 */ ori $s0, $s0, 0xd01 +/* 97F224 80241754 3C13E300 */ lui $s3, 0xe300 +/* 97F228 80241758 36731402 */ ori $s3, $s3, 0x1402 +/* 97F22C 8024175C 3C14E300 */ lui $s4, 0xe300 +/* 97F230 80241760 36941700 */ ori $s4, $s4, 0x1700 +/* 97F234 80241764 3C15E200 */ lui $s5, 0xe200 +/* 97F238 80241768 36B51E01 */ ori $s5, $s5, 0x1e01 +/* 97F23C 8024176C 27B10048 */ addiu $s1, $sp, 0x48 +/* 97F240 80241770 0220202D */ daddu $a0, $s1, $zero +/* 97F244 80241774 8EE20000 */ lw $v0, ($s7) +/* 97F248 80241778 8EC50000 */ lw $a1, ($s6) +/* 97F24C 8024177C 0040302D */ daddu $a2, $v0, $zero +/* 97F250 80241780 24420008 */ addiu $v0, $v0, 8 +/* 97F254 80241784 00052980 */ sll $a1, $a1, 6 +/* 97F258 80241788 AEE20000 */ sw $v0, ($s7) +/* 97F25C 8024178C ACC30000 */ sw $v1, ($a2) +/* 97F260 80241790 8E430000 */ lw $v1, ($s2) +/* 97F264 80241794 24A50030 */ addiu $a1, $a1, 0x30 +/* 97F268 80241798 00651821 */ addu $v1, $v1, $a1 +/* 97F26C 8024179C ACC30004 */ sw $v1, 4($a2) +/* 97F270 802417A0 24430008 */ addiu $v1, $v0, 8 +/* 97F274 802417A4 AEE30000 */ sw $v1, ($s7) +/* 97F278 802417A8 3C03E700 */ lui $v1, 0xe700 +/* 97F27C 802417AC AC430000 */ sw $v1, ($v0) +/* 97F280 802417B0 24430010 */ addiu $v1, $v0, 0x10 +/* 97F284 802417B4 AC400004 */ sw $zero, 4($v0) +/* 97F288 802417B8 AEE30000 */ sw $v1, ($s7) +/* 97F28C 802417BC 24430018 */ addiu $v1, $v0, 0x18 +/* 97F290 802417C0 AC470008 */ sw $a3, 8($v0) +/* 97F294 802417C4 AC40000C */ sw $zero, 0xc($v0) +/* 97F298 802417C8 AEE30000 */ sw $v1, ($s7) +/* 97F29C 802417CC 24430020 */ addiu $v1, $v0, 0x20 +/* 97F2A0 802417D0 AC480010 */ sw $t0, 0x10($v0) +/* 97F2A4 802417D4 AC400014 */ sw $zero, 0x14($v0) +/* 97F2A8 802417D8 AEE30000 */ sw $v1, ($s7) +/* 97F2AC 802417DC 24430028 */ addiu $v1, $v0, 0x28 +/* 97F2B0 802417E0 AC4A0018 */ sw $t2, 0x18($v0) +/* 97F2B4 802417E4 AC49001C */ sw $t1, 0x1c($v0) +/* 97F2B8 802417E8 AEE30000 */ sw $v1, ($s7) +/* 97F2BC 802417EC 2403FFFF */ addiu $v1, $zero, -1 +/* 97F2C0 802417F0 AC430024 */ sw $v1, 0x24($v0) +/* 97F2C4 802417F4 24430030 */ addiu $v1, $v0, 0x30 +/* 97F2C8 802417F8 AC4B0020 */ sw $t3, 0x20($v0) +/* 97F2CC 802417FC AEE30000 */ sw $v1, ($s7) +/* 97F2D0 80241800 24430038 */ addiu $v1, $v0, 0x38 +/* 97F2D4 80241804 AC4C0028 */ sw $t4, 0x28($v0) +/* 97F2D8 80241808 AC40002C */ sw $zero, 0x2c($v0) +/* 97F2DC 8024180C AEE30000 */ sw $v1, ($s7) +/* 97F2E0 80241810 3C030008 */ lui $v1, 8 +/* 97F2E4 80241814 AC430034 */ sw $v1, 0x34($v0) +/* 97F2E8 80241818 24430040 */ addiu $v1, $v0, 0x40 +/* 97F2EC 8024181C AC4D0030 */ sw $t5, 0x30($v0) +/* 97F2F0 80241820 AEE30000 */ sw $v1, ($s7) +/* 97F2F4 80241824 24032000 */ addiu $v1, $zero, 0x2000 +/* 97F2F8 80241828 AC43003C */ sw $v1, 0x3c($v0) +/* 97F2FC 8024182C 24430048 */ addiu $v1, $v0, 0x48 +/* 97F300 80241830 AC4E0038 */ sw $t6, 0x38($v0) +/* 97F304 80241834 AEE30000 */ sw $v1, ($s7) +/* 97F308 80241838 240300C0 */ addiu $v1, $zero, 0xc0 +/* 97F30C 8024183C AC430044 */ sw $v1, 0x44($v0) +/* 97F310 80241840 24430050 */ addiu $v1, $v0, 0x50 +/* 97F314 80241844 AC4F0040 */ sw $t7, 0x40($v0) +/* 97F318 80241848 AEE30000 */ sw $v1, ($s7) +/* 97F31C 8024184C 24030C00 */ addiu $v1, $zero, 0xc00 +/* 97F320 80241850 AC500048 */ sw $s0, 0x48($v0) +/* 97F324 80241854 AC40004C */ sw $zero, 0x4c($v0) +/* 97F328 80241858 AC530050 */ sw $s3, 0x50($v0) +/* 97F32C 8024185C AC430054 */ sw $v1, 0x54($v0) +/* 97F330 80241860 AC540058 */ sw $s4, 0x58($v0) +/* 97F334 80241864 AC40005C */ sw $zero, 0x5c($v0) +/* 97F338 80241868 AC550060 */ sw $s5, 0x60($v0) +/* 97F33C 8024186C AC400064 */ sw $zero, 0x64($v0) +/* 97F340 80241870 8FC50010 */ lw $a1, 0x10($fp) +/* 97F344 80241874 8FC60014 */ lw $a2, 0x14($fp) +/* 97F348 80241878 8FC70018 */ lw $a3, 0x18($fp) +/* 97F34C 8024187C 24430058 */ addiu $v1, $v0, 0x58 +/* 97F350 80241880 AEE30000 */ sw $v1, ($s7) +/* 97F354 80241884 24430060 */ addiu $v1, $v0, 0x60 +/* 97F358 80241888 24420068 */ addiu $v0, $v0, 0x68 +/* 97F35C 8024188C AEE30000 */ sw $v1, ($s7) +/* 97F360 80241890 0C019E40 */ jal guTranslateF +/* 97F364 80241894 AEE20000 */ sw $v0, ($s7) +/* 97F368 80241898 27B00088 */ addiu $s0, $sp, 0x88 +/* 97F36C 8024189C 8FB800C8 */ lw $t8, 0xc8($sp) +/* 97F370 802418A0 8EC30000 */ lw $v1, ($s6) +/* 97F374 802418A4 37181630 */ ori $t8, $t8, 0x1630 +/* 97F378 802418A8 00031080 */ sll $v0, $v1, 2 +/* 97F37C 802418AC 00431021 */ addu $v0, $v0, $v1 +/* 97F380 802418B0 00021080 */ sll $v0, $v0, 2 +/* 97F384 802418B4 00431023 */ subu $v0, $v0, $v1 +/* 97F388 802418B8 000218C0 */ sll $v1, $v0, 3 +/* 97F38C 802418BC 00431021 */ addu $v0, $v0, $v1 +/* 97F390 802418C0 000210C0 */ sll $v0, $v0, 3 +/* 97F394 802418C4 AFB800C8 */ sw $t8, 0xc8($sp) +/* 97F398 802418C8 3C18800B */ lui $t8, %hi(gCameras) +/* 97F39C 802418CC 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 97F3A0 802418D0 00581021 */ addu $v0, $v0, $t8 +/* 97F3A4 802418D4 C7C00020 */ lwc1 $f0, 0x20($fp) +/* 97F3A8 802418D8 C442006C */ lwc1 $f2, 0x6c($v0) +/* 97F3AC 802418DC 4480A000 */ mtc1 $zero, $f20 +/* 97F3B0 802418E0 46020000 */ add.s $f0, $f0, $f2 +/* 97F3B4 802418E4 C7C20034 */ lwc1 $f2, 0x34($fp) +/* 97F3B8 802418E8 3C013F80 */ lui $at, 0x3f80 +/* 97F3BC 802418EC 4481B000 */ mtc1 $at, $f22 +/* 97F3C0 802418F0 46020000 */ add.s $f0, $f0, $f2 +/* 97F3C4 802418F4 4406A000 */ mfc1 $a2, $f20 +/* 97F3C8 802418F8 4407B000 */ mfc1 $a3, $f22 +/* 97F3CC 802418FC 44050000 */ mfc1 $a1, $f0 +/* 97F3D0 80241900 0200202D */ daddu $a0, $s0, $zero +/* 97F3D4 80241904 0C019EC8 */ jal guRotateF +/* 97F3D8 80241908 E7B40010 */ swc1 $f20, 0x10($sp) +/* 97F3DC 8024190C 0200202D */ daddu $a0, $s0, $zero +/* 97F3E0 80241910 0220282D */ daddu $a1, $s1, $zero +/* 97F3E4 80241914 0C019D80 */ jal guMtxCatF +/* 97F3E8 80241918 0220302D */ daddu $a2, $s1, $zero +/* 97F3EC 8024191C 8FC50024 */ lw $a1, 0x24($fp) +/* 97F3F0 80241920 4406A000 */ mfc1 $a2, $f20 +/* 97F3F4 80241924 4407A000 */ mfc1 $a3, $f20 +/* 97F3F8 80241928 0200202D */ daddu $a0, $s0, $zero +/* 97F3FC 8024192C 0C019EC8 */ jal guRotateF +/* 97F400 80241930 E7B60010 */ swc1 $f22, 0x10($sp) +/* 97F404 80241934 0200202D */ daddu $a0, $s0, $zero +/* 97F408 80241938 0220282D */ daddu $a1, $s1, $zero +/* 97F40C 8024193C 0C019D80 */ jal guMtxCatF +/* 97F410 80241940 0220302D */ daddu $a2, $s1, $zero +/* 97F414 80241944 8FC5001C */ lw $a1, 0x1c($fp) +/* 97F418 80241948 4406B000 */ mfc1 $a2, $f22 +/* 97F41C 8024194C 4407A000 */ mfc1 $a3, $f20 +/* 97F420 80241950 0200202D */ daddu $a0, $s0, $zero +/* 97F424 80241954 0C019EC8 */ jal guRotateF +/* 97F428 80241958 AFA70010 */ sw $a3, 0x10($sp) +/* 97F42C 8024195C 0200202D */ daddu $a0, $s0, $zero +/* 97F430 80241960 0220282D */ daddu $a1, $s1, $zero +/* 97F434 80241964 0C019D80 */ jal guMtxCatF +/* 97F438 80241968 0220302D */ daddu $a2, $s1, $zero +/* 97F43C 8024196C 8FC50028 */ lw $a1, 0x28($fp) +/* 97F440 80241970 8FC6002C */ lw $a2, 0x2c($fp) +/* 97F444 80241974 8FC70030 */ lw $a3, 0x30($fp) +/* 97F448 80241978 0C019DF0 */ jal guScaleF +/* 97F44C 8024197C 0200202D */ daddu $a0, $s0, $zero +/* 97F450 80241980 0200202D */ daddu $a0, $s0, $zero +/* 97F454 80241984 0220282D */ daddu $a1, $s1, $zero +/* 97F458 80241988 0C019D80 */ jal guMtxCatF +/* 97F45C 8024198C 0220302D */ daddu $a2, $s1, $zero +/* 97F460 80241990 3C108007 */ lui $s0, 0x8007 +/* 97F464 80241994 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 97F468 80241998 0220202D */ daddu $a0, $s1, $zero +/* 97F46C 8024199C 96050000 */ lhu $a1, ($s0) +/* 97F470 802419A0 8E420000 */ lw $v0, ($s2) +/* 97F474 802419A4 8FB800C8 */ lw $t8, 0xc8($sp) +/* 97F478 802419A8 00052980 */ sll $a1, $a1, 6 +/* 97F47C 802419AC 00B82821 */ addu $a1, $a1, $t8 +/* 97F480 802419B0 0C019D40 */ jal guMtxF2L +/* 97F484 802419B4 00452821 */ addu $a1, $v0, $a1 +/* 97F488 802419B8 3C02DA38 */ lui $v0, 0xda38 +/* 97F48C 802419BC 34420002 */ ori $v0, $v0, 2 +/* 97F490 802419C0 27A40038 */ addiu $a0, $sp, 0x38 +/* 97F494 802419C4 8EE70000 */ lw $a3, ($s7) +/* 97F498 802419C8 96080000 */ lhu $t0, ($s0) +/* 97F49C 802419CC 00E0282D */ daddu $a1, $a3, $zero +/* 97F4A0 802419D0 ACA20000 */ sw $v0, ($a1) +/* 97F4A4 802419D4 3102FFFF */ andi $v0, $t0, 0xffff +/* 97F4A8 802419D8 00021180 */ sll $v0, $v0, 6 +/* 97F4AC 802419DC 24E70008 */ addiu $a3, $a3, 8 +/* 97F4B0 802419E0 8FB800C8 */ lw $t8, 0xc8($sp) +/* 97F4B4 802419E4 8E430000 */ lw $v1, ($s2) +/* 97F4B8 802419E8 00581021 */ addu $v0, $v0, $t8 +/* 97F4BC 802419EC 00621821 */ addu $v1, $v1, $v0 +/* 97F4C0 802419F0 3C028000 */ lui $v0, 0x8000 +/* 97F4C4 802419F4 00621821 */ addu $v1, $v1, $v0 +/* 97F4C8 802419F8 ACA30004 */ sw $v1, 4($a1) +/* 97F4CC 802419FC 8FC50008 */ lw $a1, 8($fp) +/* 97F4D0 80241A00 8FC6000C */ lw $a2, 0xc($fp) +/* 97F4D4 80241A04 25080001 */ addiu $t0, $t0, 1 +/* 97F4D8 80241A08 AEE70000 */ sw $a3, ($s7) +/* 97F4DC 80241A0C 0C0B7A76 */ jal func_802DE9D8 +/* 97F4E0 80241A10 A6080000 */ sh $t0, ($s0) +/* 97F4E4 80241A14 24050007 */ addiu $a1, $zero, 7 +/* 97F4E8 80241A18 240600FF */ addiu $a2, $zero, 0xff +/* 97F4EC 80241A1C 8FC40000 */ lw $a0, ($fp) +/* 97F4F0 80241A20 8FA30038 */ lw $v1, 0x38($sp) +/* 97F4F4 80241A24 8FA9003C */ lw $t1, 0x3c($sp) +/* 97F4F8 80241A28 97A80042 */ lhu $t0, 0x42($sp) +/* 97F4FC 80241A2C 00C0102D */ daddu $v0, $a2, $zero +/* 97F500 80241A30 A3A20030 */ sb $v0, 0x30($sp) +/* 97F504 80241A34 A7A80028 */ sh $t0, 0x28($sp) +/* 97F508 80241A38 3108FFFF */ andi $t0, $t0, 0xffff +/* 97F50C 80241A3C AFA30020 */ sw $v1, 0x20($sp) +/* 97F510 80241A40 97A30046 */ lhu $v1, 0x46($sp) +/* 97F514 80241A44 44880000 */ mtc1 $t0, $f0 +/* 97F518 80241A48 00000000 */ nop +/* 97F51C 80241A4C 46800020 */ cvt.s.w $f0, $f0 +/* 97F520 80241A50 AFA90024 */ sw $t1, 0x24($sp) +/* 97F524 80241A54 E7C0003C */ swc1 $f0, 0x3c($fp) +/* 97F528 80241A58 8FA20040 */ lw $v0, 0x40($sp) +/* 97F52C 80241A5C 00C0382D */ daddu $a3, $a2, $zero +/* 97F530 80241A60 A7A3002A */ sh $v1, 0x2a($sp) +/* 97F534 80241A64 3063FFFF */ andi $v1, $v1, 0xffff +/* 97F538 80241A68 44830000 */ mtc1 $v1, $f0 +/* 97F53C 80241A6C 00000000 */ nop +/* 97F540 80241A70 46800020 */ cvt.s.w $f0, $f0 +/* 97F544 80241A74 00021FC2 */ srl $v1, $v0, 0x1f +/* 97F548 80241A78 00431021 */ addu $v0, $v0, $v1 +/* 97F54C 80241A7C 00021043 */ sra $v0, $v0, 1 +/* 97F550 80241A80 E7C00040 */ swc1 $f0, 0x40($fp) +/* 97F554 80241A84 8FA30044 */ lw $v1, 0x44($sp) +/* 97F558 80241A88 00021023 */ negu $v0, $v0 +/* 97F55C 80241A8C A7A2002C */ sh $v0, 0x2c($sp) +/* 97F560 80241A90 000317C2 */ srl $v0, $v1, 0x1f +/* 97F564 80241A94 00621821 */ addu $v1, $v1, $v0 +/* 97F568 80241A98 00031843 */ sra $v1, $v1, 1 +/* 97F56C 80241A9C A7A3002E */ sh $v1, 0x2e($sp) +/* 97F570 80241AA0 8FC30038 */ lw $v1, 0x38($fp) +/* 97F574 80241AA4 00C0102D */ daddu $v0, $a2, $zero +/* 97F578 80241AA8 AFA20010 */ sw $v0, 0x10($sp) +/* 97F57C 80241AAC AFA00018 */ sw $zero, 0x18($sp) +/* 97F580 80241AB0 0C04EAA7 */ jal func_8013AA9C +/* 97F584 80241AB4 AFA30014 */ sw $v1, 0x14($sp) +/* 97F588 80241AB8 27A50020 */ addiu $a1, $sp, 0x20 +/* 97F58C 80241ABC 0000302D */ daddu $a2, $zero, $zero +/* 97F590 80241AC0 8FC40000 */ lw $a0, ($fp) +/* 97F594 80241AC4 0C04EBDC */ jal func_8013AF70 +/* 97F598 80241AC8 0220382D */ daddu $a3, $s1, $zero +/* 97F59C 80241ACC 3C04D838 */ lui $a0, 0xd838 +/* 97F5A0 80241AD0 8EE20000 */ lw $v0, ($s7) +/* 97F5A4 80241AD4 34840002 */ ori $a0, $a0, 2 +/* 97F5A8 80241AD8 0040182D */ daddu $v1, $v0, $zero +/* 97F5AC 80241ADC 24420008 */ addiu $v0, $v0, 8 +/* 97F5B0 80241AE0 AEE20000 */ sw $v0, ($s7) +/* 97F5B4 80241AE4 24020040 */ addiu $v0, $zero, 0x40 +/* 97F5B8 80241AE8 AC640000 */ sw $a0, ($v1) +/* 97F5BC 80241AEC AC620004 */ sw $v0, 4($v1) +/* 97F5C0 80241AF0 8FBF00F4 */ lw $ra, 0xf4($sp) +/* 97F5C4 80241AF4 8FBE00F0 */ lw $fp, 0xf0($sp) +/* 97F5C8 80241AF8 8FB700EC */ lw $s7, 0xec($sp) +/* 97F5CC 80241AFC 8FB600E8 */ lw $s6, 0xe8($sp) +/* 97F5D0 80241B00 8FB500E4 */ lw $s5, 0xe4($sp) +/* 97F5D4 80241B04 8FB400E0 */ lw $s4, 0xe0($sp) +/* 97F5D8 80241B08 8FB300DC */ lw $s3, 0xdc($sp) +/* 97F5DC 80241B0C 8FB200D8 */ lw $s2, 0xd8($sp) +/* 97F5E0 80241B10 8FB100D4 */ lw $s1, 0xd4($sp) +/* 97F5E4 80241B14 8FB000D0 */ lw $s0, 0xd0($sp) +/* 97F5E8 80241B18 D7B60100 */ ldc1 $f22, 0x100($sp) +/* 97F5EC 80241B1C D7B400F8 */ ldc1 $f20, 0xf8($sp) +/* 97F5F0 80241B20 03E00008 */ jr $ra +/* 97F5F4 80241B24 27BD0108 */ addiu $sp, $sp, 0x108 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241B28.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241B28.s new file mode 100644 index 0000000000..162b0db981 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241B28.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B28 +/* 97F5F8 80241B28 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 97F5FC 80241B2C AFBF0028 */ sw $ra, 0x28($sp) +/* 97F600 80241B30 AFB10024 */ sw $s1, 0x24($sp) +/* 97F604 80241B34 AFB00020 */ sw $s0, 0x20($sp) +/* 97F608 80241B38 8C820148 */ lw $v0, 0x148($a0) +/* 97F60C 80241B3C 0C00EABB */ jal get_npc_unsafe +/* 97F610 80241B40 84440008 */ lh $a0, 8($v0) +/* 97F614 80241B44 27A40010 */ addiu $a0, $sp, 0x10 +/* 97F618 80241B48 24050035 */ addiu $a1, $zero, 0x35 +/* 97F61C 80241B4C 3C108024 */ lui $s0, 0x8024 +/* 97F620 80241B50 26102614 */ addiu $s0, $s0, 0x2614 +/* 97F624 80241B54 00A0182D */ daddu $v1, $a1, $zero +/* 97F628 80241B58 0040882D */ daddu $s1, $v0, $zero +/* 97F62C 80241B5C 0000302D */ daddu $a2, $zero, $zero +/* 97F630 80241B60 AE030008 */ sw $v1, 8($s0) +/* 97F634 80241B64 0C0B7A76 */ jal func_802DE9D8 +/* 97F638 80241B68 AE00000C */ sw $zero, 0xc($s0) +/* 97F63C 80241B6C C7A6001C */ lwc1 $f6, 0x1c($sp) +/* 97F640 80241B70 468031A0 */ cvt.s.w $f6, $f6 +/* 97F644 80241B74 3C018024 */ lui $at, 0x8024 +/* 97F648 80241B78 D4202F38 */ ldc1 $f0, 0x2f38($at) +/* 97F64C 80241B7C 460030A1 */ cvt.d.s $f2, $f6 +/* 97F650 80241B80 46201082 */ mul.d $f2, $f2, $f0 +/* 97F654 80241B84 00000000 */ nop +/* 97F658 80241B88 3C013FE0 */ lui $at, 0x3fe0 +/* 97F65C 80241B8C 44812800 */ mtc1 $at, $f5 +/* 97F660 80241B90 44802000 */ mtc1 $zero, $f4 +/* 97F664 80241B94 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 97F668 80241B98 46800020 */ cvt.s.w $f0, $f0 +/* 97F66C 80241B9C E600003C */ swc1 $f0, 0x3c($s0) +/* 97F670 80241BA0 46241082 */ mul.d $f2, $f2, $f4 +/* 97F674 80241BA4 00000000 */ nop +/* 97F678 80241BA8 E6060040 */ swc1 $f6, 0x40($s0) +/* 97F67C 80241BAC C6200038 */ lwc1 $f0, 0x38($s1) +/* 97F680 80241BB0 E6000010 */ swc1 $f0, 0x10($s0) +/* 97F684 80241BB4 C620003C */ lwc1 $f0, 0x3c($s1) +/* 97F688 80241BB8 46000021 */ cvt.d.s $f0, $f0 +/* 97F68C 80241BBC 46220000 */ add.d $f0, $f0, $f2 +/* 97F690 80241BC0 0000202D */ daddu $a0, $zero, $zero +/* 97F694 80241BC4 3C0142AA */ lui $at, 0x42aa +/* 97F698 80241BC8 44811000 */ mtc1 $at, $f2 +/* 97F69C 80241BCC 46200020 */ cvt.s.d $f0, $f0 +/* 97F6A0 80241BD0 E6000014 */ swc1 $f0, 0x14($s0) +/* 97F6A4 80241BD4 C6240040 */ lwc1 $f4, 0x40($s1) +/* 97F6A8 80241BD8 3C013F36 */ lui $at, 0x3f36 +/* 97F6AC 80241BDC 3421DB6E */ ori $at, $at, 0xdb6e +/* 97F6B0 80241BE0 44810000 */ mtc1 $at, $f0 +/* 97F6B4 80241BE4 3C058024 */ lui $a1, 0x8024 +/* 97F6B8 80241BE8 24A51610 */ addiu $a1, $a1, 0x1610 +/* 97F6BC 80241BEC AE00001C */ sw $zero, 0x1c($s0) +/* 97F6C0 80241BF0 AE000020 */ sw $zero, 0x20($s0) +/* 97F6C4 80241BF4 AE000024 */ sw $zero, 0x24($s0) +/* 97F6C8 80241BF8 E6020034 */ swc1 $f2, 0x34($s0) +/* 97F6CC 80241BFC AE000038 */ sw $zero, 0x38($s0) +/* 97F6D0 80241C00 AE000000 */ sw $zero, ($s0) +/* 97F6D4 80241C04 E6000028 */ swc1 $f0, 0x28($s0) +/* 97F6D8 80241C08 E600002C */ swc1 $f0, 0x2c($s0) +/* 97F6DC 80241C0C E6000030 */ swc1 $f0, 0x30($s0) +/* 97F6E0 80241C10 0C048C8F */ jal bind_dynamic_entity_7 +/* 97F6E4 80241C14 E6040018 */ swc1 $f4, 0x18($s0) +/* 97F6E8 80241C18 AE020004 */ sw $v0, 4($s0) +/* 97F6EC 80241C1C 8FBF0028 */ lw $ra, 0x28($sp) +/* 97F6F0 80241C20 8FB10024 */ lw $s1, 0x24($sp) +/* 97F6F4 80241C24 8FB00020 */ lw $s0, 0x20($sp) +/* 97F6F8 80241C28 24020002 */ addiu $v0, $zero, 2 +/* 97F6FC 80241C2C 03E00008 */ jr $ra +/* 97F700 80241C30 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241C34.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241C34.s new file mode 100644 index 0000000000..f72872351b --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241C34.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C34 +/* 97F704 80241C34 3C048024 */ lui $a0, 0x8024 +/* 97F708 80241C38 8C842618 */ lw $a0, 0x2618($a0) +/* 97F70C 80241C3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97F710 80241C40 AFBF0010 */ sw $ra, 0x10($sp) +/* 97F714 80241C44 0C048D70 */ jal func_801235C0 +/* 97F718 80241C48 00000000 */ nop +/* 97F71C 80241C4C 8FBF0010 */ lw $ra, 0x10($sp) +/* 97F720 80241C50 24020002 */ addiu $v0, $zero, 2 +/* 97F724 80241C54 03E00008 */ jr $ra +/* 97F728 80241C58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241C5C.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241C5C.s new file mode 100644 index 0000000000..3c5941bae1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241C5C.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C5C +/* 97F72C 80241C5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97F730 80241C60 AFB10014 */ sw $s1, 0x14($sp) +/* 97F734 80241C64 0080882D */ daddu $s1, $a0, $zero +/* 97F738 80241C68 AFBF001C */ sw $ra, 0x1c($sp) +/* 97F73C 80241C6C AFB20018 */ sw $s2, 0x18($sp) +/* 97F740 80241C70 AFB00010 */ sw $s0, 0x10($sp) +/* 97F744 80241C74 8E30000C */ lw $s0, 0xc($s1) +/* 97F748 80241C78 8E050000 */ lw $a1, ($s0) +/* 97F74C 80241C7C 0C0B210B */ jal get_float_variable +/* 97F750 80241C80 26100004 */ addiu $s0, $s0, 4 +/* 97F754 80241C84 8E050000 */ lw $a1, ($s0) +/* 97F758 80241C88 26100004 */ addiu $s0, $s0, 4 +/* 97F75C 80241C8C 4600018D */ trunc.w.s $f6, $f0 +/* 97F760 80241C90 44123000 */ mfc1 $s2, $f6 +/* 97F764 80241C94 0C0B210B */ jal get_float_variable +/* 97F768 80241C98 0220202D */ daddu $a0, $s1, $zero +/* 97F76C 80241C9C 8E050000 */ lw $a1, ($s0) +/* 97F770 80241CA0 4600018D */ trunc.w.s $f6, $f0 +/* 97F774 80241CA4 44103000 */ mfc1 $s0, $f6 +/* 97F778 80241CA8 0C0B210B */ jal get_float_variable +/* 97F77C 80241CAC 0220202D */ daddu $a0, $s1, $zero +/* 97F780 80241CB0 3C028024 */ lui $v0, 0x8024 +/* 97F784 80241CB4 24422614 */ addiu $v0, $v0, 0x2614 +/* 97F788 80241CB8 C4420040 */ lwc1 $f2, 0x40($v0) +/* 97F78C 80241CBC 3C018024 */ lui $at, 0x8024 +/* 97F790 80241CC0 D4242F40 */ ldc1 $f4, 0x2f40($at) +/* 97F794 80241CC4 460010A1 */ cvt.d.s $f2, $f2 +/* 97F798 80241CC8 46241082 */ mul.d $f2, $f2, $f4 +/* 97F79C 80241CCC 00000000 */ nop +/* 97F7A0 80241CD0 3C013FE0 */ lui $at, 0x3fe0 +/* 97F7A4 80241CD4 44812800 */ mtc1 $at, $f5 +/* 97F7A8 80241CD8 44802000 */ mtc1 $zero, $f4 +/* 97F7AC 80241CDC 00000000 */ nop +/* 97F7B0 80241CE0 46241082 */ mul.d $f2, $f2, $f4 +/* 97F7B4 80241CE4 00000000 */ nop +/* 97F7B8 80241CE8 4600018D */ trunc.w.s $f6, $f0 +/* 97F7BC 80241CEC 44033000 */ mfc1 $v1, $f6 +/* 97F7C0 80241CF0 44900000 */ mtc1 $s0, $f0 +/* 97F7C4 80241CF4 00000000 */ nop +/* 97F7C8 80241CF8 46800021 */ cvt.d.w $f0, $f0 +/* 97F7CC 80241CFC 44922000 */ mtc1 $s2, $f4 +/* 97F7D0 80241D00 00000000 */ nop +/* 97F7D4 80241D04 46802120 */ cvt.s.w $f4, $f4 +/* 97F7D8 80241D08 E4440010 */ swc1 $f4, 0x10($v0) +/* 97F7DC 80241D0C 46220000 */ add.d $f0, $f0, $f2 +/* 97F7E0 80241D10 44831000 */ mtc1 $v1, $f2 +/* 97F7E4 80241D14 00000000 */ nop +/* 97F7E8 80241D18 468010A0 */ cvt.s.w $f2, $f2 +/* 97F7EC 80241D1C E4420018 */ swc1 $f2, 0x18($v0) +/* 97F7F0 80241D20 46200020 */ cvt.s.d $f0, $f0 +/* 97F7F4 80241D24 E4400014 */ swc1 $f0, 0x14($v0) +/* 97F7F8 80241D28 8FBF001C */ lw $ra, 0x1c($sp) +/* 97F7FC 80241D2C 8FB20018 */ lw $s2, 0x18($sp) +/* 97F800 80241D30 8FB10014 */ lw $s1, 0x14($sp) +/* 97F804 80241D34 8FB00010 */ lw $s0, 0x10($sp) +/* 97F808 80241D38 24020002 */ addiu $v0, $zero, 2 +/* 97F80C 80241D3C 03E00008 */ jr $ra +/* 97F810 80241D40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241D44.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241D44.s new file mode 100644 index 0000000000..a31bb75914 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241D44.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D44 +/* 97F814 80241D44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 97F818 80241D48 AFB10014 */ sw $s1, 0x14($sp) +/* 97F81C 80241D4C 0080882D */ daddu $s1, $a0, $zero +/* 97F820 80241D50 AFBF001C */ sw $ra, 0x1c($sp) +/* 97F824 80241D54 AFB20018 */ sw $s2, 0x18($sp) +/* 97F828 80241D58 AFB00010 */ sw $s0, 0x10($sp) +/* 97F82C 80241D5C 8E30000C */ lw $s0, 0xc($s1) +/* 97F830 80241D60 8E050000 */ lw $a1, ($s0) +/* 97F834 80241D64 0C0B210B */ jal get_float_variable +/* 97F838 80241D68 26100004 */ addiu $s0, $s0, 4 +/* 97F83C 80241D6C 8E050000 */ lw $a1, ($s0) +/* 97F840 80241D70 26100004 */ addiu $s0, $s0, 4 +/* 97F844 80241D74 4600010D */ trunc.w.s $f4, $f0 +/* 97F848 80241D78 44122000 */ mfc1 $s2, $f4 +/* 97F84C 80241D7C 0C0B210B */ jal get_float_variable +/* 97F850 80241D80 0220202D */ daddu $a0, $s1, $zero +/* 97F854 80241D84 8E050000 */ lw $a1, ($s0) +/* 97F858 80241D88 4600010D */ trunc.w.s $f4, $f0 +/* 97F85C 80241D8C 44102000 */ mfc1 $s0, $f4 +/* 97F860 80241D90 0C0B210B */ jal get_float_variable +/* 97F864 80241D94 0220202D */ daddu $a0, $s1, $zero +/* 97F868 80241D98 3C038024 */ lui $v1, 0x8024 +/* 97F86C 80241D9C 24632614 */ addiu $v1, $v1, 0x2614 +/* 97F870 80241DA0 44921000 */ mtc1 $s2, $f2 +/* 97F874 80241DA4 00000000 */ nop +/* 97F878 80241DA8 468010A0 */ cvt.s.w $f2, $f2 +/* 97F87C 80241DAC E462001C */ swc1 $f2, 0x1c($v1) +/* 97F880 80241DB0 44901000 */ mtc1 $s0, $f2 +/* 97F884 80241DB4 00000000 */ nop +/* 97F888 80241DB8 468010A0 */ cvt.s.w $f2, $f2 +/* 97F88C 80241DBC 4600010D */ trunc.w.s $f4, $f0 +/* 97F890 80241DC0 44022000 */ mfc1 $v0, $f4 +/* 97F894 80241DC4 00000000 */ nop +/* 97F898 80241DC8 44820000 */ mtc1 $v0, $f0 +/* 97F89C 80241DCC 00000000 */ nop +/* 97F8A0 80241DD0 46800020 */ cvt.s.w $f0, $f0 +/* 97F8A4 80241DD4 E4620020 */ swc1 $f2, 0x20($v1) +/* 97F8A8 80241DD8 E4600024 */ swc1 $f0, 0x24($v1) +/* 97F8AC 80241DDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 97F8B0 80241DE0 8FB20018 */ lw $s2, 0x18($sp) +/* 97F8B4 80241DE4 8FB10014 */ lw $s1, 0x14($sp) +/* 97F8B8 80241DE8 8FB00010 */ lw $s0, 0x10($sp) +/* 97F8BC 80241DEC 24020002 */ addiu $v0, $zero, 2 +/* 97F8C0 80241DF0 03E00008 */ jr $ra +/* 97F8C4 80241DF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241DF8_97DAD0.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241DF8_97DAD0.s new file mode 100644 index 0000000000..65a55df53c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241DF8_97DAD0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DF8_97F8C8 +/* 97F8C8 80241DF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 97F8CC 80241DFC AFBF0010 */ sw $ra, 0x10($sp) +/* 97F8D0 80241E00 8C82000C */ lw $v0, 0xc($a0) +/* 97F8D4 80241E04 0C0B1EAF */ jal get_variable +/* 97F8D8 80241E08 8C450000 */ lw $a1, ($v0) +/* 97F8DC 80241E0C 8FBF0010 */ lw $ra, 0x10($sp) +/* 97F8E0 80241E10 3C018024 */ lui $at, 0x8024 +/* 97F8E4 80241E14 AC22264C */ sw $v0, 0x264c($at) +/* 97F8E8 80241E18 24020002 */ addiu $v0, $zero, 2 +/* 97F8EC 80241E1C 03E00008 */ jr $ra +/* 97F8F0 80241E20 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_05/func_80241E24.s b/asm/nonmatchings/world/area_isk/isk_05/func_80241E24.s new file mode 100644 index 0000000000..db389ef38e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_05/func_80241E24.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E24 +/* 97F8F4 80241E24 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 97F8F8 80241E28 AFB00018 */ sw $s0, 0x18($sp) +/* 97F8FC 80241E2C 0080802D */ daddu $s0, $a0, $zero +/* 97F900 80241E30 3C05FE36 */ lui $a1, 0xfe36 +/* 97F904 80241E34 AFBF001C */ sw $ra, 0x1c($sp) +/* 97F908 80241E38 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 97F90C 80241E3C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 97F910 80241E40 0C0B1EAF */ jal get_variable +/* 97F914 80241E44 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 97F918 80241E48 0200202D */ daddu $a0, $s0, $zero +/* 97F91C 80241E4C 3C05FE36 */ lui $a1, 0xfe36 +/* 97F920 80241E50 4482B000 */ mtc1 $v0, $f22 +/* 97F924 80241E54 00000000 */ nop +/* 97F928 80241E58 4680B5A0 */ cvt.s.w $f22, $f22 +/* 97F92C 80241E5C 0C0B1EAF */ jal get_variable +/* 97F930 80241E60 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 97F934 80241E64 0200202D */ daddu $a0, $s0, $zero +/* 97F938 80241E68 3C05FE36 */ lui $a1, 0xfe36 +/* 97F93C 80241E6C 4482A000 */ mtc1 $v0, $f20 +/* 97F940 80241E70 00000000 */ nop +/* 97F944 80241E74 4680A520 */ cvt.s.w $f20, $f20 +/* 97F948 80241E78 0C0B1EAF */ jal get_variable +/* 97F94C 80241E7C 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 97F950 80241E80 44820000 */ mtc1 $v0, $f0 +/* 97F954 80241E84 00000000 */ nop +/* 97F958 80241E88 46800020 */ cvt.s.w $f0, $f0 +/* 97F95C 80241E8C 4405B000 */ mfc1 $a1, $f22 +/* 97F960 80241E90 4406A000 */ mfc1 $a2, $f20 +/* 97F964 80241E94 44070000 */ mfc1 $a3, $f0 +/* 97F968 80241E98 0000202D */ daddu $a0, $zero, $zero +/* 97F96C 80241E9C 0C01BEB4 */ jal fx_walk_large +/* 97F970 80241EA0 AFA00010 */ sw $zero, 0x10($sp) +/* 97F974 80241EA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 97F978 80241EA8 8FB00018 */ lw $s0, 0x18($sp) +/* 97F97C 80241EAC D7B60028 */ ldc1 $f22, 0x28($sp) +/* 97F980 80241EB0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 97F984 80241EB4 24020002 */ addiu $v0, $zero, 2 +/* 97F988 80241EB8 03E00008 */ jr $ra +/* 97F98C 80241EBC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_isk/isk_07/func_80240000_982440.s b/asm/nonmatchings/world/area_isk/isk_07/func_80240000_982440.s new file mode 100644 index 0000000000..79517abbfa --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_07/func_80240000_982440.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_982440 +/* 982440 80240000 8C830148 */ lw $v1, 0x148($a0) +/* 982444 80240004 24020003 */ addiu $v0, $zero, 3 +/* 982448 80240008 A06200B5 */ sb $v0, 0xb5($v1) +/* 98244C 8024000C 03E00008 */ jr $ra +/* 982450 80240010 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_isk/isk_07/func_80240014.s b/asm/nonmatchings/world/area_isk/isk_07/func_80240014.s new file mode 100644 index 0000000000..78eff6609c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_07/func_80240014.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240014 +/* 982454 80240014 0000502D */ daddu $t2, $zero, $zero +/* 982458 80240018 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 98245C 8024001C 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 982460 80240020 AC800088 */ sw $zero, 0x88($a0) +/* 982464 80240024 8062001C */ lb $v0, 0x1c($v1) +/* 982468 80240028 18400018 */ blez $v0, .L8024008C +/* 98246C 8024002C 0140402D */ daddu $t0, $t2, $zero +/* 982470 80240030 0040582D */ daddu $t3, $v0, $zero +/* 982474 80240034 0060482D */ daddu $t1, $v1, $zero +.L80240038: +/* 982478 80240038 8D230028 */ lw $v1, 0x28($t1) +/* 98247C 8024003C 50600010 */ beql $v1, $zero, .L80240080 +/* 982480 80240040 254A0001 */ addiu $t2, $t2, 1 +/* 982484 80240044 0000282D */ daddu $a1, $zero, $zero +/* 982488 80240048 8C620000 */ lw $v0, ($v1) +/* 98248C 8024004C 18400009 */ blez $v0, .L80240074 +/* 982490 80240050 00A0302D */ daddu $a2, $a1, $zero +/* 982494 80240054 0040382D */ daddu $a3, $v0, $zero +.L80240058: +/* 982498 80240058 8C620004 */ lw $v0, 4($v1) +/* 98249C 8024005C 54400001 */ bnel $v0, $zero, .L80240064 +/* 9824A0 80240060 24060001 */ addiu $a2, $zero, 1 +.L80240064: +/* 9824A4 80240064 24A50001 */ addiu $a1, $a1, 1 +/* 9824A8 80240068 00A7102A */ slt $v0, $a1, $a3 +/* 9824AC 8024006C 1440FFFA */ bnez $v0, .L80240058 +/* 9824B0 80240070 24630004 */ addiu $v1, $v1, 4 +.L80240074: +/* 9824B4 80240074 54C00001 */ bnel $a2, $zero, .L8024007C +/* 9824B8 80240078 25080001 */ addiu $t0, $t0, 1 +.L8024007C: +/* 9824BC 8024007C 254A0001 */ addiu $t2, $t2, 1 +.L80240080: +/* 9824C0 80240080 014B102A */ slt $v0, $t2, $t3 +/* 9824C4 80240084 1440FFEC */ bnez $v0, .L80240038 +/* 9824C8 80240088 25290004 */ addiu $t1, $t1, 4 +.L8024008C: +/* 9824CC 8024008C 24020001 */ addiu $v0, $zero, 1 +/* 9824D0 80240090 15020003 */ bne $t0, $v0, .L802400A0 +/* 9824D4 80240094 24020002 */ addiu $v0, $zero, 2 +/* 9824D8 80240098 03E00008 */ jr $ra +/* 9824DC 8024009C AC880088 */ sw $t0, 0x88($a0) +.L802400A0: +/* 9824E0 802400A0 03E00008 */ jr $ra +/* 9824E4 802400A4 00000000 */ nop +/* 9824E8 802400A8 00000000 */ nop +/* 9824EC 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_07/func_802400B0_982440.s b/asm/nonmatchings/world/area_isk/isk_07/func_802400B0_982440.s new file mode 100644 index 0000000000..54c773bcca --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_07/func_802400B0_982440.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_9824F0 +/* 9824F0 802400B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9824F4 802400B4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9824F8 802400B8 0C04417A */ jal get_entity_by_index +/* 9824FC 802400BC 8C840084 */ lw $a0, 0x84($a0) +/* 982500 802400C0 0040182D */ daddu $v1, $v0, $zero +/* 982504 802400C4 8C640000 */ lw $a0, ($v1) +/* 982508 802400C8 3C050010 */ lui $a1, 0x10 +/* 98250C 802400CC 00852025 */ or $a0, $a0, $a1 +/* 982510 802400D0 AC640000 */ sw $a0, ($v1) +/* 982514 802400D4 8FBF0010 */ lw $ra, 0x10($sp) +/* 982518 802400D8 24020002 */ addiu $v0, $zero, 2 +/* 98251C 802400DC 03E00008 */ jr $ra +/* 982520 802400E0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 982524 802400E4 00000000 */ nop +/* 982528 802400E8 00000000 */ nop +/* 98252C 802400EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_07/func_802400F0_982440.s b/asm/nonmatchings/world/area_isk/isk_07/func_802400F0_982440.s new file mode 100644 index 0000000000..75477f499c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_07/func_802400F0_982440.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_982530 +/* 982530 802400F0 3C028016 */ lui $v0, 0x8016 +/* 982534 802400F4 8442A552 */ lh $v0, -0x5aae($v0) +/* 982538 802400F8 38420025 */ xori $v0, $v0, 0x25 +/* 98253C 802400FC 0002102B */ sltu $v0, $zero, $v0 +/* 982540 80240100 03E00008 */ jr $ra +/* 982544 80240104 00021040 */ sll $v0, $v0, 1 +/* 982548 80240108 00000000 */ nop +/* 98254C 8024010C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_80240000_984E30.s b/asm/nonmatchings/world/area_isk/isk_08/func_80240000_984E30.s new file mode 100644 index 0000000000..f526911881 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_80240000_984E30.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_984E30 +/* 984E30 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 984E34 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* 984E38 80240008 0080902D */ daddu $s2, $a0, $zero +/* 984E3C 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 984E40 80240010 AFB10014 */ sw $s1, 0x14($sp) +/* 984E44 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* 984E48 80240018 8E510148 */ lw $s1, 0x148($s2) +/* 984E4C 8024001C 0C00EABB */ jal get_npc_unsafe +/* 984E50 80240020 86240008 */ lh $a0, 8($s1) +/* 984E54 80240024 0040802D */ daddu $s0, $v0, $zero +/* 984E58 80240028 8E2300CC */ lw $v1, 0xcc($s1) +/* 984E5C 8024002C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 984E60 80240030 8C630020 */ lw $v1, 0x20($v1) +/* 984E64 80240034 AE030028 */ sw $v1, 0x28($s0) +/* 984E68 80240038 96220076 */ lhu $v0, 0x76($s1) +/* 984E6C 8024003C A602008E */ sh $v0, 0x8e($s0) +/* 984E70 80240040 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 984E74 80240044 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 984E78 80240048 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 984E7C 8024004C 8C460028 */ lw $a2, 0x28($v0) +/* 984E80 80240050 0C00A720 */ jal atan2 +/* 984E84 80240054 8C470030 */ lw $a3, 0x30($v0) +/* 984E88 80240058 2402000D */ addiu $v0, $zero, 0xd +/* 984E8C 8024005C E600000C */ swc1 $f0, 0xc($s0) +/* 984E90 80240060 AE420070 */ sw $v0, 0x70($s2) +/* 984E94 80240064 8FBF001C */ lw $ra, 0x1c($sp) +/* 984E98 80240068 8FB20018 */ lw $s2, 0x18($sp) +/* 984E9C 8024006C 8FB10014 */ lw $s1, 0x14($sp) +/* 984EA0 80240070 8FB00010 */ lw $s0, 0x10($sp) +/* 984EA4 80240074 03E00008 */ jr $ra +/* 984EA8 80240078 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_8024007C.s b/asm/nonmatchings/world/area_isk/isk_08/func_8024007C.s new file mode 100644 index 0000000000..336fc39168 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_8024007C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024007C +/* 984EAC 8024007C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 984EB0 80240080 AFB3001C */ sw $s3, 0x1c($sp) +/* 984EB4 80240084 0080982D */ daddu $s3, $a0, $zero +/* 984EB8 80240088 AFBF0020 */ sw $ra, 0x20($sp) +/* 984EBC 8024008C AFB20018 */ sw $s2, 0x18($sp) +/* 984EC0 80240090 AFB10014 */ sw $s1, 0x14($sp) +/* 984EC4 80240094 AFB00010 */ sw $s0, 0x10($sp) +/* 984EC8 80240098 8E710148 */ lw $s1, 0x148($s3) +/* 984ECC 8024009C 86240008 */ lh $a0, 8($s1) +/* 984ED0 802400A0 0C00EABB */ jal get_npc_unsafe +/* 984ED4 802400A4 00A0902D */ daddu $s2, $a1, $zero +/* 984ED8 802400A8 0040802D */ daddu $s0, $v0, $zero +/* 984EDC 802400AC 8602008E */ lh $v0, 0x8e($s0) +/* 984EE0 802400B0 9603008E */ lhu $v1, 0x8e($s0) +/* 984EE4 802400B4 18400005 */ blez $v0, .L802400CC +/* 984EE8 802400B8 2462FFFF */ addiu $v0, $v1, -1 +/* 984EEC 802400BC A602008E */ sh $v0, 0x8e($s0) +/* 984EF0 802400C0 00021400 */ sll $v0, $v0, 0x10 +/* 984EF4 802400C4 1C400033 */ bgtz $v0, .L80240194 +/* 984EF8 802400C8 00000000 */ nop +.L802400CC: +/* 984EFC 802400CC 8602008C */ lh $v0, 0x8c($s0) +/* 984F00 802400D0 14400030 */ bnez $v0, .L80240194 +/* 984F04 802400D4 00000000 */ nop +/* 984F08 802400D8 8E2200CC */ lw $v0, 0xcc($s1) +/* 984F0C 802400DC 8C420024 */ lw $v0, 0x24($v0) +/* 984F10 802400E0 AE020028 */ sw $v0, 0x28($s0) +/* 984F14 802400E4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 984F18 802400E8 E6000018 */ swc1 $f0, 0x18($s0) +/* 984F1C 802400EC 8E230088 */ lw $v1, 0x88($s1) +/* 984F20 802400F0 24020005 */ addiu $v0, $zero, 5 +/* 984F24 802400F4 10620005 */ beq $v1, $v0, .L8024010C +/* 984F28 802400F8 00000000 */ nop +/* 984F2C 802400FC 10600003 */ beqz $v1, .L8024010C +/* 984F30 80240100 24020001 */ addiu $v0, $zero, 1 +/* 984F34 80240104 14620006 */ bne $v1, $v0, .L80240120 +/* 984F38 80240108 00000000 */ nop +.L8024010C: +/* 984F3C 8024010C 8E220084 */ lw $v0, 0x84($s1) +/* 984F40 80240110 00021FC2 */ srl $v1, $v0, 0x1f +/* 984F44 80240114 00431021 */ addu $v0, $v0, $v1 +/* 984F48 80240118 00021043 */ sra $v0, $v0, 1 +/* 984F4C 8024011C A60200A8 */ sh $v0, 0xa8($s0) +.L80240120: +/* 984F50 80240120 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 984F54 80240124 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 984F58 80240128 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 984F5C 8024012C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 984F60 80240130 8C460028 */ lw $a2, 0x28($v0) +/* 984F64 80240134 0C00A7B5 */ jal dist2D +/* 984F68 80240138 8C470030 */ lw $a3, 0x30($v0) +/* 984F6C 8024013C C6020018 */ lwc1 $f2, 0x18($s0) +/* 984F70 80240140 46020003 */ div.s $f0, $f0, $f2 +/* 984F74 80240144 3C018024 */ lui $at, 0x8024 +/* 984F78 80240148 D4221650 */ ldc1 $f2, 0x1650($at) +/* 984F7C 8024014C 46000021 */ cvt.d.s $f0, $f0 +/* 984F80 80240150 46220000 */ add.d $f0, $f0, $f2 +/* 984F84 80240154 4620010D */ trunc.w.d $f4, $f0 +/* 984F88 80240158 44022000 */ mfc1 $v0, $f4 +/* 984F8C 8024015C 00000000 */ nop +/* 984F90 80240160 A602008E */ sh $v0, 0x8e($s0) +/* 984F94 80240164 00021400 */ sll $v0, $v0, 0x10 +/* 984F98 80240168 8E230078 */ lw $v1, 0x78($s1) +/* 984F9C 8024016C 00021403 */ sra $v0, $v0, 0x10 +/* 984FA0 80240170 0043102A */ slt $v0, $v0, $v1 +/* 984FA4 80240174 10400003 */ beqz $v0, .L80240184 +/* 984FA8 80240178 00000000 */ nop +/* 984FAC 8024017C 9622007A */ lhu $v0, 0x7a($s1) +/* 984FB0 80240180 A602008E */ sh $v0, 0x8e($s0) +.L80240184: +/* 984FB4 80240184 8602008E */ lh $v0, 0x8e($s0) +/* 984FB8 80240188 AE22007C */ sw $v0, 0x7c($s1) +/* 984FBC 8024018C 2402000E */ addiu $v0, $zero, 0xe +/* 984FC0 80240190 AE620070 */ sw $v0, 0x70($s3) +.L80240194: +/* 984FC4 80240194 8FBF0020 */ lw $ra, 0x20($sp) +/* 984FC8 80240198 8FB3001C */ lw $s3, 0x1c($sp) +/* 984FCC 8024019C 8FB20018 */ lw $s2, 0x18($sp) +/* 984FD0 802401A0 8FB10014 */ lw $s1, 0x14($sp) +/* 984FD4 802401A4 8FB00010 */ lw $s0, 0x10($sp) +/* 984FD8 802401A8 03E00008 */ jr $ra +/* 984FDC 802401AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_802401B0_984E30.s b/asm/nonmatchings/world/area_isk/isk_08/func_802401B0_984E30.s new file mode 100644 index 0000000000..c562ad6df5 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_802401B0_984E30.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_984FE0 +/* 984FE0 802401B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 984FE4 802401B4 AFB3003C */ sw $s3, 0x3c($sp) +/* 984FE8 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 984FEC 802401BC AFBF0040 */ sw $ra, 0x40($sp) +/* 984FF0 802401C0 AFB20038 */ sw $s2, 0x38($sp) +/* 984FF4 802401C4 AFB10034 */ sw $s1, 0x34($sp) +/* 984FF8 802401C8 AFB00030 */ sw $s0, 0x30($sp) +/* 984FFC 802401CC 8E710148 */ lw $s1, 0x148($s3) +/* 985000 802401D0 0C00EABB */ jal get_npc_unsafe +/* 985004 802401D4 86240008 */ lh $a0, 8($s1) +/* 985008 802401D8 0040802D */ daddu $s0, $v0, $zero +/* 98500C 802401DC 8E22007C */ lw $v0, 0x7c($s1) +/* 985010 802401E0 8603008E */ lh $v1, 0x8e($s0) +/* 985014 802401E4 2442FFFF */ addiu $v0, $v0, -1 +/* 985018 802401E8 14620012 */ bne $v1, $v0, .L80240234 +/* 98501C 802401EC 00000000 */ nop +/* 985020 802401F0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 985024 802401F4 4600020D */ trunc.w.s $f8, $f0 +/* 985028 802401F8 44024000 */ mfc1 $v0, $f8 +/* 98502C 802401FC 00000000 */ nop +/* 985030 80240200 A6220010 */ sh $v0, 0x10($s1) +/* 985034 80240204 C600003C */ lwc1 $f0, 0x3c($s0) +/* 985038 80240208 4600020D */ trunc.w.s $f8, $f0 +/* 98503C 8024020C 44024000 */ mfc1 $v0, $f8 +/* 985040 80240210 00000000 */ nop +/* 985044 80240214 A6220012 */ sh $v0, 0x12($s1) +/* 985048 80240218 C6000040 */ lwc1 $f0, 0x40($s0) +/* 98504C 8024021C 24020001 */ addiu $v0, $zero, 1 +/* 985050 80240220 A2220007 */ sb $v0, 7($s1) +/* 985054 80240224 4600020D */ trunc.w.s $f8, $f0 +/* 985058 80240228 44024000 */ mfc1 $v0, $f8 +/* 98505C 8024022C 00000000 */ nop +/* 985060 80240230 A6220014 */ sh $v0, 0x14($s1) +.L80240234: +/* 985064 80240234 C6000038 */ lwc1 $f0, 0x38($s0) +/* 985068 80240238 C602003C */ lwc1 $f2, 0x3c($s0) +/* 98506C 8024023C C6040040 */ lwc1 $f4, 0x40($s0) +/* 985070 80240240 C6060018 */ lwc1 $f6, 0x18($s0) +/* 985074 80240244 E7A00020 */ swc1 $f0, 0x20($sp) +/* 985078 80240248 E7A20024 */ swc1 $f2, 0x24($sp) +/* 98507C 8024024C E7A40028 */ swc1 $f4, 0x28($sp) +/* 985080 80240250 E7A60010 */ swc1 $f6, 0x10($sp) +/* 985084 80240254 C600000C */ lwc1 $f0, 0xc($s0) +/* 985088 80240258 E7A00014 */ swc1 $f0, 0x14($sp) +/* 98508C 8024025C 860200A8 */ lh $v0, 0xa8($s0) +/* 985090 80240260 27A50020 */ addiu $a1, $sp, 0x20 +/* 985094 80240264 44820000 */ mtc1 $v0, $f0 +/* 985098 80240268 00000000 */ nop +/* 98509C 8024026C 46800020 */ cvt.s.w $f0, $f0 +/* 9850A0 80240270 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9850A4 80240274 860200A6 */ lh $v0, 0xa6($s0) +/* 9850A8 80240278 27A60024 */ addiu $a2, $sp, 0x24 +/* 9850AC 8024027C 44820000 */ mtc1 $v0, $f0 +/* 9850B0 80240280 00000000 */ nop +/* 9850B4 80240284 46800020 */ cvt.s.w $f0, $f0 +/* 9850B8 80240288 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9850BC 8024028C 8E040080 */ lw $a0, 0x80($s0) +/* 9850C0 80240290 0C037711 */ jal func_800DDC44 +/* 9850C4 80240294 27A70028 */ addiu $a3, $sp, 0x28 +/* 9850C8 80240298 0040902D */ daddu $s2, $v0, $zero +/* 9850CC 8024029C 16400005 */ bnez $s2, .L802402B4 +/* 9850D0 802402A0 00000000 */ nop +/* 9850D4 802402A4 8E050018 */ lw $a1, 0x18($s0) +/* 9850D8 802402A8 8E06000C */ lw $a2, 0xc($s0) +/* 9850DC 802402AC 0C00EA95 */ jal npc_move_heading +/* 9850E0 802402B0 0200202D */ daddu $a0, $s0, $zero +.L802402B4: +/* 9850E4 802402B4 8602008E */ lh $v0, 0x8e($s0) +/* 9850E8 802402B8 9603008E */ lhu $v1, 0x8e($s0) +/* 9850EC 802402BC 18400007 */ blez $v0, .L802402DC +/* 9850F0 802402C0 2462FFFF */ addiu $v0, $v1, -1 +/* 9850F4 802402C4 A602008E */ sh $v0, 0x8e($s0) +/* 9850F8 802402C8 00021400 */ sll $v0, $v0, 0x10 +/* 9850FC 802402CC 18400003 */ blez $v0, .L802402DC +/* 985100 802402D0 00000000 */ nop +/* 985104 802402D4 12400008 */ beqz $s2, .L802402F8 +/* 985108 802402D8 00000000 */ nop +.L802402DC: +/* 98510C 802402DC 8E2200CC */ lw $v0, 0xcc($s1) +/* 985110 802402E0 A2200007 */ sb $zero, 7($s1) +/* 985114 802402E4 8C420028 */ lw $v0, 0x28($v0) +/* 985118 802402E8 A600008E */ sh $zero, 0x8e($s0) +/* 98511C 802402EC AE020028 */ sw $v0, 0x28($s0) +/* 985120 802402F0 2402000F */ addiu $v0, $zero, 0xf +/* 985124 802402F4 AE620070 */ sw $v0, 0x70($s3) +.L802402F8: +/* 985128 802402F8 8FBF0040 */ lw $ra, 0x40($sp) +/* 98512C 802402FC 8FB3003C */ lw $s3, 0x3c($sp) +/* 985130 80240300 8FB20038 */ lw $s2, 0x38($sp) +/* 985134 80240304 8FB10034 */ lw $s1, 0x34($sp) +/* 985138 80240308 8FB00030 */ lw $s0, 0x30($sp) +/* 98513C 8024030C 03E00008 */ jr $ra +/* 985140 80240310 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_80240314_984E30.s b/asm/nonmatchings/world/area_isk/isk_08/func_80240314_984E30.s new file mode 100644 index 0000000000..dc32c6c79b --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_80240314_984E30.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314_985144 +/* 985144 80240314 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 985148 80240318 AFB10014 */ sw $s1, 0x14($sp) +/* 98514C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* 985150 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* 985154 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* 985158 80240328 8E300148 */ lw $s0, 0x148($s1) +/* 98515C 8024032C 0C00EABB */ jal get_npc_unsafe +/* 985160 80240330 86040008 */ lh $a0, 8($s0) +/* 985164 80240334 0040202D */ daddu $a0, $v0, $zero +/* 985168 80240338 9482008E */ lhu $v0, 0x8e($a0) +/* 98516C 8024033C 24030003 */ addiu $v1, $zero, 3 +/* 985170 80240340 24420001 */ addiu $v0, $v0, 1 +/* 985174 80240344 A482008E */ sh $v0, 0x8e($a0) +/* 985178 80240348 00021400 */ sll $v0, $v0, 0x10 +/* 98517C 8024034C 00021403 */ sra $v0, $v0, 0x10 +/* 985180 80240350 14430003 */ bne $v0, $v1, .L80240360 +/* 985184 80240354 00000000 */ nop +/* 985188 80240358 96020086 */ lhu $v0, 0x86($s0) +/* 98518C 8024035C A48200A8 */ sh $v0, 0xa8($a0) +.L80240360: +/* 985190 80240360 8482008E */ lh $v0, 0x8e($a0) +/* 985194 80240364 8E030080 */ lw $v1, 0x80($s0) +/* 985198 80240368 0043102A */ slt $v0, $v0, $v1 +/* 98519C 8024036C 14400004 */ bnez $v0, .L80240380 +/* 9851A0 80240370 00000000 */ nop +/* 9851A4 80240374 96020086 */ lhu $v0, 0x86($s0) +/* 9851A8 80240378 A48200A8 */ sh $v0, 0xa8($a0) +/* 9851AC 8024037C AE200070 */ sw $zero, 0x70($s1) +.L80240380: +/* 9851B0 80240380 8FBF0018 */ lw $ra, 0x18($sp) +/* 9851B4 80240384 8FB10014 */ lw $s1, 0x14($sp) +/* 9851B8 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* 9851BC 8024038C 03E00008 */ jr $ra +/* 9851C0 80240390 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_80240394.s b/asm/nonmatchings/world/area_isk/isk_08/func_80240394.s new file mode 100644 index 0000000000..da03c104dd --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_80240394.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394 +/* 9851C4 80240394 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9851C8 80240398 AFB3005C */ sw $s3, 0x5c($sp) +/* 9851CC 8024039C 0080982D */ daddu $s3, $a0, $zero +/* 9851D0 802403A0 AFBF0068 */ sw $ra, 0x68($sp) +/* 9851D4 802403A4 AFB50064 */ sw $s5, 0x64($sp) +/* 9851D8 802403A8 AFB40060 */ sw $s4, 0x60($sp) +/* 9851DC 802403AC AFB20058 */ sw $s2, 0x58($sp) +/* 9851E0 802403B0 AFB10054 */ sw $s1, 0x54($sp) +/* 9851E4 802403B4 AFB00050 */ sw $s0, 0x50($sp) +/* 9851E8 802403B8 8E710148 */ lw $s1, 0x148($s3) +/* 9851EC 802403BC 86240008 */ lh $a0, 8($s1) +/* 9851F0 802403C0 0C00EABB */ jal get_npc_unsafe +/* 9851F4 802403C4 00A0802D */ daddu $s0, $a1, $zero +/* 9851F8 802403C8 8E63000C */ lw $v1, 0xc($s3) +/* 9851FC 802403CC 0260202D */ daddu $a0, $s3, $zero +/* 985200 802403D0 8C650000 */ lw $a1, ($v1) +/* 985204 802403D4 0C0B1EAF */ jal get_variable +/* 985208 802403D8 0040902D */ daddu $s2, $v0, $zero +/* 98520C 802403DC AFA00028 */ sw $zero, 0x28($sp) +/* 985210 802403E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 985214 802403E4 8C630030 */ lw $v1, 0x30($v1) +/* 985218 802403E8 AFA3002C */ sw $v1, 0x2c($sp) +/* 98521C 802403EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 985220 802403F0 8C63001C */ lw $v1, 0x1c($v1) +/* 985224 802403F4 AFA30030 */ sw $v1, 0x30($sp) +/* 985228 802403F8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 98522C 802403FC 8C630024 */ lw $v1, 0x24($v1) +/* 985230 80240400 AFA30034 */ sw $v1, 0x34($sp) +/* 985234 80240404 8E2300D0 */ lw $v1, 0xd0($s1) +/* 985238 80240408 8C630028 */ lw $v1, 0x28($v1) +/* 98523C 8024040C 27B50028 */ addiu $s5, $sp, 0x28 +/* 985240 80240410 AFA30038 */ sw $v1, 0x38($sp) +/* 985244 80240414 8E2300D0 */ lw $v1, 0xd0($s1) +/* 985248 80240418 3C0142C8 */ lui $at, 0x42c8 +/* 98524C 8024041C 44810000 */ mtc1 $at, $f0 +/* 985250 80240420 8C63002C */ lw $v1, 0x2c($v1) +/* 985254 80240424 0040A02D */ daddu $s4, $v0, $zero +/* 985258 80240428 E7A00040 */ swc1 $f0, 0x40($sp) +/* 98525C 8024042C A7A00044 */ sh $zero, 0x44($sp) +/* 985260 80240430 12000009 */ beqz $s0, .L80240458 +/* 985264 80240434 AFA3003C */ sw $v1, 0x3c($sp) +/* 985268 80240438 864300A8 */ lh $v1, 0xa8($s2) +/* 98526C 8024043C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 985270 80240440 AE20008C */ sw $zero, 0x8c($s1) +/* 985274 80240444 A22000B5 */ sb $zero, 0xb5($s1) +/* 985278 80240448 34420008 */ ori $v0, $v0, 8 +/* 98527C 8024044C AE230084 */ sw $v1, 0x84($s1) +/* 985280 80240450 0809011A */ j .L80240468 +/* 985284 80240454 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240458: +/* 985288 80240458 8E2200B0 */ lw $v0, 0xb0($s1) +/* 98528C 8024045C 30420004 */ andi $v0, $v0, 4 +/* 985290 80240460 10400047 */ beqz $v0, .L80240580 +/* 985294 80240464 00000000 */ nop +.L80240468: +/* 985298 80240468 AE600070 */ sw $zero, 0x70($s3) +/* 98529C 8024046C A640008E */ sh $zero, 0x8e($s2) +/* 9852A0 80240470 8E2300CC */ lw $v1, 0xcc($s1) +/* 9852A4 80240474 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9852A8 80240478 A2200007 */ sb $zero, 7($s1) +/* 9852AC 8024047C 8E420000 */ lw $v0, ($s2) +/* 9852B0 80240480 8C630000 */ lw $v1, ($v1) +/* 9852B4 80240484 00441024 */ and $v0, $v0, $a0 +/* 9852B8 80240488 AE420000 */ sw $v0, ($s2) +/* 9852BC 8024048C AE430028 */ sw $v1, 0x28($s2) +/* 9852C0 80240490 96220086 */ lhu $v0, 0x86($s1) +/* 9852C4 80240494 A64200A8 */ sh $v0, 0xa8($s2) +/* 9852C8 80240498 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9852CC 8024049C AE200090 */ sw $zero, 0x90($s1) +/* 9852D0 802404A0 8C420034 */ lw $v0, 0x34($v0) +/* 9852D4 802404A4 14400006 */ bnez $v0, .L802404C0 +/* 9852D8 802404A8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9852DC 802404AC 8E420000 */ lw $v0, ($s2) +/* 9852E0 802404B0 2403FFF7 */ addiu $v1, $zero, -9 +/* 9852E4 802404B4 34420200 */ ori $v0, $v0, 0x200 +/* 9852E8 802404B8 08090133 */ j .L802404CC +/* 9852EC 802404BC 00431024 */ and $v0, $v0, $v1 +.L802404C0: +/* 9852F0 802404C0 8E420000 */ lw $v0, ($s2) +/* 9852F4 802404C4 00431024 */ and $v0, $v0, $v1 +/* 9852F8 802404C8 34420008 */ ori $v0, $v0, 8 +.L802404CC: +/* 9852FC 802404CC AE420000 */ sw $v0, ($s2) +/* 985300 802404D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 985304 802404D4 30420004 */ andi $v0, $v0, 4 +/* 985308 802404D8 1040001E */ beqz $v0, .L80240554 +/* 98530C 802404DC 24040002 */ addiu $a0, $zero, 2 +/* 985310 802404E0 0240282D */ daddu $a1, $s2, $zero +/* 985314 802404E4 0000302D */ daddu $a2, $zero, $zero +/* 985318 802404E8 24020063 */ addiu $v0, $zero, 0x63 +/* 98531C 802404EC AE620070 */ sw $v0, 0x70($s3) +/* 985320 802404F0 AE600074 */ sw $zero, 0x74($s3) +/* 985324 802404F4 864300A8 */ lh $v1, 0xa8($s2) +/* 985328 802404F8 3C013F80 */ lui $at, 0x3f80 +/* 98532C 802404FC 44810000 */ mtc1 $at, $f0 +/* 985330 80240500 3C014000 */ lui $at, 0x4000 +/* 985334 80240504 44811000 */ mtc1 $at, $f2 +/* 985338 80240508 3C01C1A0 */ lui $at, 0xc1a0 +/* 98533C 8024050C 44812000 */ mtc1 $at, $f4 +/* 985340 80240510 24020028 */ addiu $v0, $zero, 0x28 +/* 985344 80240514 AFA2001C */ sw $v0, 0x1c($sp) +/* 985348 80240518 44833000 */ mtc1 $v1, $f6 +/* 98534C 8024051C 00000000 */ nop +/* 985350 80240520 468031A0 */ cvt.s.w $f6, $f6 +/* 985354 80240524 44073000 */ mfc1 $a3, $f6 +/* 985358 80240528 27A20048 */ addiu $v0, $sp, 0x48 +/* 98535C 8024052C AFA20020 */ sw $v0, 0x20($sp) +/* 985360 80240530 E7A00010 */ swc1 $f0, 0x10($sp) +/* 985364 80240534 E7A20014 */ swc1 $f2, 0x14($sp) +/* 985368 80240538 0C01BFA4 */ jal fx_emote +/* 98536C 8024053C E7A40018 */ swc1 $f4, 0x18($sp) +/* 985370 80240540 8E2200B0 */ lw $v0, 0xb0($s1) +/* 985374 80240544 2403FFFB */ addiu $v1, $zero, -5 +/* 985378 80240548 00431024 */ and $v0, $v0, $v1 +/* 98537C 8024054C 08090160 */ j .L80240580 +/* 985380 80240550 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240554: +/* 985384 80240554 8E220000 */ lw $v0, ($s1) +/* 985388 80240558 3C034000 */ lui $v1, 0x4000 +/* 98538C 8024055C 00431024 */ and $v0, $v0, $v1 +/* 985390 80240560 10400007 */ beqz $v0, .L80240580 +/* 985394 80240564 3C03BFFF */ lui $v1, 0xbfff +/* 985398 80240568 2402000C */ addiu $v0, $zero, 0xc +/* 98539C 8024056C AE620070 */ sw $v0, 0x70($s3) +/* 9853A0 80240570 8E220000 */ lw $v0, ($s1) +/* 9853A4 80240574 3463FFFF */ ori $v1, $v1, 0xffff +/* 9853A8 80240578 00431024 */ and $v0, $v0, $v1 +/* 9853AC 8024057C AE220000 */ sw $v0, ($s1) +.L80240580: +/* 9853B0 80240580 8E220090 */ lw $v0, 0x90($s1) +/* 9853B4 80240584 1840000C */ blez $v0, .L802405B8 +/* 9853B8 80240588 2442FFFF */ addiu $v0, $v0, -1 +/* 9853BC 8024058C 14400087 */ bnez $v0, .L802407AC +/* 9853C0 80240590 AE220090 */ sw $v0, 0x90($s1) +/* 9853C4 80240594 3C03FFAA */ lui $v1, 0xffaa +/* 9853C8 80240598 8E420028 */ lw $v0, 0x28($s2) +/* 9853CC 8024059C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9853D0 802405A0 00431021 */ addu $v0, $v0, $v1 +/* 9853D4 802405A4 2C420002 */ sltiu $v0, $v0, 2 +/* 9853D8 802405A8 10400003 */ beqz $v0, .L802405B8 +/* 9853DC 802405AC 3C020055 */ lui $v0, 0x55 +/* 9853E0 802405B0 3442000C */ ori $v0, $v0, 0xc +/* 9853E4 802405B4 AE420028 */ sw $v0, 0x28($s2) +.L802405B8: +/* 9853E8 802405B8 8E630070 */ lw $v1, 0x70($s3) +/* 9853EC 802405BC 2402000C */ addiu $v0, $zero, 0xc +/* 9853F0 802405C0 10620048 */ beq $v1, $v0, .L802406E4 +/* 9853F4 802405C4 2862000D */ slti $v0, $v1, 0xd +/* 9853F8 802405C8 1040000F */ beqz $v0, .L80240608 +/* 9853FC 802405CC 24100001 */ addiu $s0, $zero, 1 +/* 985400 802405D0 1070001E */ beq $v1, $s0, .L8024064C +/* 985404 802405D4 28620002 */ slti $v0, $v1, 2 +/* 985408 802405D8 10400005 */ beqz $v0, .L802405F0 +/* 98540C 802405DC 24020002 */ addiu $v0, $zero, 2 +/* 985410 802405E0 10600015 */ beqz $v1, .L80240638 +/* 985414 802405E4 0260202D */ daddu $a0, $s3, $zero +/* 985418 802405E8 080901D0 */ j .L80240740 +/* 98541C 802405EC 00000000 */ nop +.L802405F0: +/* 985420 802405F0 1062001C */ beq $v1, $v0, .L80240664 +/* 985424 802405F4 24020003 */ addiu $v0, $zero, 3 +/* 985428 802405F8 10620035 */ beq $v1, $v0, .L802406D0 +/* 98542C 802405FC 0260202D */ daddu $a0, $s3, $zero +/* 985430 80240600 080901D0 */ j .L80240740 +/* 985434 80240604 00000000 */ nop +.L80240608: +/* 985438 80240608 2402000E */ addiu $v0, $zero, 0xe +/* 98543C 8024060C 1062003F */ beq $v1, $v0, .L8024070C +/* 985440 80240610 0062102A */ slt $v0, $v1, $v0 +/* 985444 80240614 14400038 */ bnez $v0, .L802406F8 +/* 985448 80240618 0260202D */ daddu $a0, $s3, $zero +/* 98544C 8024061C 2402000F */ addiu $v0, $zero, 0xf +/* 985450 80240620 10620040 */ beq $v1, $v0, .L80240724 +/* 985454 80240624 24020063 */ addiu $v0, $zero, 0x63 +/* 985458 80240628 10620043 */ beq $v1, $v0, .L80240738 +/* 98545C 8024062C 00000000 */ nop +/* 985460 80240630 080901D0 */ j .L80240740 +/* 985464 80240634 00000000 */ nop +.L80240638: +/* 985468 80240638 0280282D */ daddu $a1, $s4, $zero +/* 98546C 8024063C 0C012568 */ jal func_800495A0 +/* 985470 80240640 02A0302D */ daddu $a2, $s5, $zero +/* 985474 80240644 96220086 */ lhu $v0, 0x86($s1) +/* 985478 80240648 A64200A8 */ sh $v0, 0xa8($s2) +.L8024064C: +/* 98547C 8024064C 0260202D */ daddu $a0, $s3, $zero +/* 985480 80240650 0280282D */ daddu $a1, $s4, $zero +/* 985484 80240654 0C0125AE */ jal func_800496B8 +/* 985488 80240658 02A0302D */ daddu $a2, $s5, $zero +/* 98548C 8024065C 080901D0 */ j .L80240740 +/* 985490 80240660 00000000 */ nop +.L80240664: +/* 985494 80240664 0260202D */ daddu $a0, $s3, $zero +/* 985498 80240668 0280282D */ daddu $a1, $s4, $zero +/* 98549C 8024066C 0C0126D1 */ jal func_80049B44 +/* 9854A0 80240670 02A0302D */ daddu $a2, $s5, $zero +/* 9854A4 80240674 8E230088 */ lw $v1, 0x88($s1) +/* 9854A8 80240678 24020006 */ addiu $v0, $zero, 6 +/* 9854AC 8024067C 14620014 */ bne $v1, $v0, .L802406D0 +/* 9854B0 80240680 0260202D */ daddu $a0, $s3, $zero +/* 9854B4 80240684 0C00A67F */ jal rand_int +/* 9854B8 80240688 24040064 */ addiu $a0, $zero, 0x64 +/* 9854BC 8024068C 28420021 */ slti $v0, $v0, 0x21 +/* 9854C0 80240690 5040000F */ beql $v0, $zero, .L802406D0 +/* 9854C4 80240694 0260202D */ daddu $a0, $s3, $zero +/* 9854C8 80240698 8E22008C */ lw $v0, 0x8c($s1) +/* 9854CC 8024069C 10400005 */ beqz $v0, .L802406B4 +/* 9854D0 802406A0 3C020055 */ lui $v0, 0x55 +/* 9854D4 802406A4 3442002F */ ori $v0, $v0, 0x2f +/* 9854D8 802406A8 AE20008C */ sw $zero, 0x8c($s1) +/* 9854DC 802406AC 080901B0 */ j .L802406C0 +/* 9854E0 802406B0 A22000B5 */ sb $zero, 0xb5($s1) +.L802406B4: +/* 9854E4 802406B4 3442002E */ ori $v0, $v0, 0x2e +/* 9854E8 802406B8 AE30008C */ sw $s0, 0x8c($s1) +/* 9854EC 802406BC A23000B5 */ sb $s0, 0xb5($s1) +.L802406C0: +/* 9854F0 802406C0 AE420028 */ sw $v0, 0x28($s2) +/* 9854F4 802406C4 24020007 */ addiu $v0, $zero, 7 +/* 9854F8 802406C8 080901EB */ j .L802407AC +/* 9854FC 802406CC AE220090 */ sw $v0, 0x90($s1) +.L802406D0: +/* 985500 802406D0 0280282D */ daddu $a1, $s4, $zero +/* 985504 802406D4 0C012701 */ jal func_80049C04 +/* 985508 802406D8 02A0302D */ daddu $a2, $s5, $zero +/* 98550C 802406DC 080901D0 */ j .L80240740 +/* 985510 802406E0 00000000 */ nop +.L802406E4: +/* 985514 802406E4 0260202D */ daddu $a0, $s3, $zero +/* 985518 802406E8 0280282D */ daddu $a1, $s4, $zero +/* 98551C 802406EC 0C090000 */ jal func_80240000 +/* 985520 802406F0 02A0302D */ daddu $a2, $s5, $zero +/* 985524 802406F4 0260202D */ daddu $a0, $s3, $zero +.L802406F8: +/* 985528 802406F8 0280282D */ daddu $a1, $s4, $zero +/* 98552C 802406FC 0C09001F */ jal func_8024007C +/* 985530 80240700 02A0302D */ daddu $a2, $s5, $zero +/* 985534 80240704 080901D0 */ j .L80240740 +/* 985538 80240708 00000000 */ nop +.L8024070C: +/* 98553C 8024070C 0260202D */ daddu $a0, $s3, $zero +/* 985540 80240710 0280282D */ daddu $a1, $s4, $zero +/* 985544 80240714 0C09006C */ jal func_802401B0 +/* 985548 80240718 02A0302D */ daddu $a2, $s5, $zero +/* 98554C 8024071C 080901D0 */ j .L80240740 +/* 985550 80240720 00000000 */ nop +.L80240724: +/* 985554 80240724 0280282D */ daddu $a1, $s4, $zero +/* 985558 80240728 0C0900C5 */ jal func_80240314 +/* 98555C 8024072C 02A0302D */ daddu $a2, $s5, $zero +/* 985560 80240730 080901D0 */ j .L80240740 +/* 985564 80240734 00000000 */ nop +.L80240738: +/* 985568 80240738 0C0129CF */ jal func_8004A73C +/* 98556C 8024073C 0260202D */ daddu $a0, $s3, $zero +.L80240740: +/* 985570 80240740 8E230088 */ lw $v1, 0x88($s1) +/* 985574 80240744 24020006 */ addiu $v0, $zero, 6 +/* 985578 80240748 14620019 */ bne $v1, $v0, .L802407B0 +/* 98557C 8024074C 0000102D */ daddu $v0, $zero, $zero +/* 985580 80240750 8E22008C */ lw $v0, 0x8c($s1) +/* 985584 80240754 10400003 */ beqz $v0, .L80240764 +/* 985588 80240758 24020001 */ addiu $v0, $zero, 1 +/* 98558C 8024075C 080901DA */ j .L80240768 +/* 985590 80240760 A22200B5 */ sb $v0, 0xb5($s1) +.L80240764: +/* 985594 80240764 A22000B5 */ sb $zero, 0xb5($s1) +.L80240768: +/* 985598 80240768 8E22008C */ lw $v0, 0x8c($s1) +/* 98559C 8024076C 1040000F */ beqz $v0, .L802407AC +/* 9855A0 80240770 3C03FFAA */ lui $v1, 0xffaa +/* 9855A4 80240774 8E420028 */ lw $v0, 0x28($s2) +/* 9855A8 80240778 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9855AC 8024077C 00431821 */ addu $v1, $v0, $v1 +/* 9855B0 80240780 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9855B4 80240784 10400009 */ beqz $v0, .L802407AC +/* 9855B8 80240788 00031080 */ sll $v0, $v1, 2 +/* 9855BC 8024078C 3C018024 */ lui $at, 0x8024 +/* 9855C0 80240790 00220821 */ addu $at, $at, $v0 +/* 9855C4 80240794 8C221658 */ lw $v0, 0x1658($at) +/* 9855C8 80240798 00400008 */ jr $v0 +/* 9855CC 8024079C 00000000 */ nop +/* 9855D0 802407A0 8E420028 */ lw $v0, 0x28($s2) +/* 9855D4 802407A4 24420001 */ addiu $v0, $v0, 1 +/* 9855D8 802407A8 AE420028 */ sw $v0, 0x28($s2) +.L802407AC: +/* 9855DC 802407AC 0000102D */ daddu $v0, $zero, $zero +.L802407B0: +/* 9855E0 802407B0 8FBF0068 */ lw $ra, 0x68($sp) +/* 9855E4 802407B4 8FB50064 */ lw $s5, 0x64($sp) +/* 9855E8 802407B8 8FB40060 */ lw $s4, 0x60($sp) +/* 9855EC 802407BC 8FB3005C */ lw $s3, 0x5c($sp) +/* 9855F0 802407C0 8FB20058 */ lw $s2, 0x58($sp) +/* 9855F4 802407C4 8FB10054 */ lw $s1, 0x54($sp) +/* 9855F8 802407C8 8FB00050 */ lw $s0, 0x50($sp) +/* 9855FC 802407CC 03E00008 */ jr $ra +/* 985600 802407D0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_802407D4.s b/asm/nonmatchings/world/area_isk/isk_08/func_802407D4.s new file mode 100644 index 0000000000..961ec83ce8 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_802407D4.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D4 +/* 985604 802407D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 985608 802407D8 AFBF0010 */ sw $ra, 0x10($sp) +/* 98560C 802407DC 0C00EAD2 */ jal get_npc_safe +/* 985610 802407E0 8C84014C */ lw $a0, 0x14c($a0) +/* 985614 802407E4 0040182D */ daddu $v1, $v0, $zero +/* 985618 802407E8 846200A8 */ lh $v0, 0xa8($v1) +/* 98561C 802407EC C462003C */ lwc1 $f2, 0x3c($v1) +/* 985620 802407F0 906400A9 */ lbu $a0, 0xa9($v1) +/* 985624 802407F4 44820000 */ mtc1 $v0, $f0 +/* 985628 802407F8 00000000 */ nop +/* 98562C 802407FC 46800020 */ cvt.s.w $f0, $f0 +/* 985630 80240800 46001081 */ sub.s $f2, $f2, $f0 +/* 985634 80240804 A06400AB */ sb $a0, 0xab($v1) +/* 985638 80240808 E462003C */ swc1 $f2, 0x3c($v1) +/* 98563C 8024080C 8FBF0010 */ lw $ra, 0x10($sp) +/* 985640 80240810 24020002 */ addiu $v0, $zero, 2 +/* 985644 80240814 03E00008 */ jr $ra +/* 985648 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_8024081C.s b/asm/nonmatchings/world/area_isk/isk_08/func_8024081C.s new file mode 100644 index 0000000000..bc5ffa3fdb --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_8024081C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C +/* 98564C 8024081C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 985650 80240820 AFBF0010 */ sw $ra, 0x10($sp) +/* 985654 80240824 0C00EAD2 */ jal get_npc_safe +/* 985658 80240828 8C84014C */ lw $a0, 0x14c($a0) +/* 98565C 8024082C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 985660 80240830 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 985664 80240834 C44C0038 */ lwc1 $f12, 0x38($v0) +/* 985668 80240838 C44E0040 */ lwc1 $f14, 0x40($v0) +/* 98566C 8024083C 8C660028 */ lw $a2, 0x28($v1) +/* 985670 80240840 0C00A7B5 */ jal dist2D +/* 985674 80240844 8C670030 */ lw $a3, 0x30($v1) +/* 985678 80240848 3C014248 */ lui $at, 0x4248 +/* 98567C 8024084C 44811000 */ mtc1 $at, $f2 +/* 985680 80240850 00000000 */ nop +/* 985684 80240854 4602003C */ c.lt.s $f0, $f2 +/* 985688 80240858 00000000 */ nop +/* 98568C 8024085C 45010002 */ bc1t .L80240868 +/* 985690 80240860 24020002 */ addiu $v0, $zero, 2 +/* 985694 80240864 0000102D */ daddu $v0, $zero, $zero +.L80240868: +/* 985698 80240868 8FBF0010 */ lw $ra, 0x10($sp) +/* 98569C 8024086C 03E00008 */ jr $ra +/* 9856A0 80240870 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_08/func_80240874.s b/asm/nonmatchings/world/area_isk/isk_08/func_80240874.s new file mode 100644 index 0000000000..f37dd87946 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_08/func_80240874.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240874 +/* 9856A4 80240874 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9856A8 80240878 0080102D */ daddu $v0, $a0, $zero +/* 9856AC 8024087C AFB00010 */ sw $s0, 0x10($sp) +/* 9856B0 80240880 AFBF0018 */ sw $ra, 0x18($sp) +/* 9856B4 80240884 AFB10014 */ sw $s1, 0x14($sp) +/* 9856B8 80240888 8C44014C */ lw $a0, 0x14c($v0) +/* 9856BC 8024088C 8C510148 */ lw $s1, 0x148($v0) +/* 9856C0 80240890 0C00EAD2 */ jal get_npc_safe +/* 9856C4 80240894 00A0802D */ daddu $s0, $a1, $zero +/* 9856C8 80240898 56000001 */ bnel $s0, $zero, .L802408A0 +/* 9856CC 8024089C A04000AB */ sb $zero, 0xab($v0) +.L802408A0: +/* 9856D0 802408A0 8C420000 */ lw $v0, ($v0) +/* 9856D4 802408A4 30421000 */ andi $v0, $v0, 0x1000 +/* 9856D8 802408A8 1040000A */ beqz $v0, .L802408D4 +/* 9856DC 802408AC 0000102D */ daddu $v0, $zero, $zero +/* 9856E0 802408B0 82220004 */ lb $v0, 4($s1) +/* 9856E4 802408B4 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 9856E8 802408B8 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 9856EC 802408BC 00021080 */ sll $v0, $v0, 2 +/* 9856F0 802408C0 00431021 */ addu $v0, $v0, $v1 +/* 9856F4 802408C4 8C440028 */ lw $a0, 0x28($v0) +/* 9856F8 802408C8 9623006E */ lhu $v1, 0x6e($s1) +/* 9856FC 802408CC 24020002 */ addiu $v0, $zero, 2 +/* 985700 802408D0 A4830044 */ sh $v1, 0x44($a0) +.L802408D4: +/* 985704 802408D4 8FBF0018 */ lw $ra, 0x18($sp) +/* 985708 802408D8 8FB10014 */ lw $s1, 0x14($sp) +/* 98570C 802408DC 8FB00010 */ lw $s0, 0x10($sp) +/* 985710 802408E0 03E00008 */ jr $ra +/* 985714 802408E4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 985718 802408E8 00000000 */ nop +/* 98571C 802408EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_80240000_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_80240000_9864E0.s new file mode 100644 index 0000000000..61d58c5cd2 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_80240000_9864E0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9864E0 +/* 9864E0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9864E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9864E8 80240008 3C108024 */ lui $s0, 0x8024 +/* 9864EC 8024000C 261006F0 */ addiu $s0, $s0, 0x6f0 +/* 9864F0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9864F4 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 9864F8 80240018 8E020000 */ lw $v0, ($s0) +/* 9864FC 8024001C 14400010 */ bnez $v0, .L80240060 +/* 986500 80240020 0080882D */ daddu $s1, $a0, $zero +/* 986504 80240024 0C00AB39 */ jal heap_malloc +/* 986508 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* 98650C 8024002C AE020000 */ sw $v0, ($s0) +/* 986510 80240030 0000182D */ daddu $v1, $zero, $zero +/* 986514 80240034 0040282D */ daddu $a1, $v0, $zero +/* 986518 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* 98651C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* 986520 80240040 24840004 */ addiu $a0, $a0, 4 +/* 986524 80240044 24630001 */ addiu $v1, $v1, 1 +/* 986528 80240048 ACA20000 */ sw $v0, ($a1) +/* 98652C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* 986530 80240050 1440FFFA */ bnez $v0, .L8024003C +/* 986534 80240054 24A50004 */ addiu $a1, $a1, 4 +/* 986538 80240058 08090027 */ j .L8024009C +/* 98653C 8024005C 00000000 */ nop +.L80240060: +/* 986540 80240060 0000182D */ daddu $v1, $zero, $zero +/* 986544 80240064 0040282D */ daddu $a1, $v0, $zero +/* 986548 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* 98654C 8024006C 8CA20000 */ lw $v0, ($a1) +/* 986550 80240070 24A50004 */ addiu $a1, $a1, 4 +/* 986554 80240074 24630001 */ addiu $v1, $v1, 1 +/* 986558 80240078 AC820084 */ sw $v0, 0x84($a0) +/* 98655C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* 986560 80240080 1440FFFA */ bnez $v0, .L8024006C +/* 986564 80240084 24840004 */ addiu $a0, $a0, 4 +/* 986568 80240088 3C108024 */ lui $s0, 0x8024 +/* 98656C 8024008C 261006F0 */ addiu $s0, $s0, 0x6f0 +/* 986570 80240090 0C00AB4B */ jal heap_free +/* 986574 80240094 8E040000 */ lw $a0, ($s0) +/* 986578 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* 98657C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* 986580 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* 986584 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* 986588 802400A8 24020002 */ addiu $v0, $zero, 2 +/* 98658C 802400AC 03E00008 */ jr $ra +/* 986590 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_802400B4_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_802400B4_9864E0.s new file mode 100644 index 0000000000..5039480e02 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_802400B4_9864E0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_986594 +/* 986594 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 986598 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* 98659C 802400BC 0080802D */ daddu $s0, $a0, $zero +/* 9865A0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9865A4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* 9865A8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* 9865AC 802400CC 8C510000 */ lw $s1, ($v0) +/* 9865B0 802400D0 0C0B1EAF */ jal get_variable +/* 9865B4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* 9865B8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 9865BC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9865C0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* 9865C4 802400E4 00431024 */ and $v0, $v0, $v1 +/* 9865C8 802400E8 00021140 */ sll $v0, $v0, 5 +/* 9865CC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 9865D0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* 9865D4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9865D8 802400F8 0C0B2026 */ jal set_variable +/* 9865DC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* 9865E0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* 9865E4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* 9865E8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* 9865EC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* 9865F0 80240110 03E00008 */ jr $ra +/* 9865F4 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_80240118_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_80240118_9864E0.s new file mode 100644 index 0000000000..467af68977 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_80240118_9864E0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_9865F8 +/* 9865F8 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9865FC 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* 986600 80240120 0080882D */ daddu $s1, $a0, $zero +/* 986604 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* 986608 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* 98660C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* 986610 80240130 8E240084 */ lw $a0, 0x84($s1) +/* 986614 80240134 0C04C3D6 */ jal get_item_entity +/* 986618 80240138 00A0802D */ daddu $s0, $a1, $zero +/* 98661C 8024013C 12000005 */ beqz $s0, .L80240154 +/* 986620 80240140 0040902D */ daddu $s2, $v0, $zero +/* 986624 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* 986628 80240148 AE200074 */ sw $zero, 0x74($s1) +/* 98662C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* 986630 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* 986634 80240154 8E230074 */ lw $v1, 0x74($s1) +/* 986638 80240158 10600005 */ beqz $v1, .L80240170 +/* 98663C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* 986640 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* 986644 80240164 00000000 */ nop +/* 986648 80240168 08090093 */ j .L8024024C +/* 98664C 8024016C 00000000 */ nop +.L80240170: +/* 986650 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* 986654 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* 986658 80240178 44810000 */ mtc1 $at, $f0 +/* 98665C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* 986660 80240180 46806320 */ cvt.s.w $f12, $f12 +/* 986664 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* 986668 80240188 00000000 */ nop +/* 98666C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* 986670 80240190 44810000 */ mtc1 $at, $f0 +/* 986674 80240194 0C00A874 */ jal cos_rad +/* 986678 80240198 46006303 */ div.s $f12, $f12, $f0 +/* 98667C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* 986680 802401A0 44811000 */ mtc1 $at, $f2 +/* 986684 802401A4 00000000 */ nop +/* 986688 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* 98668C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* 986690 802401B0 44810000 */ mtc1 $at, $f0 +/* 986694 802401B4 00000000 */ nop +/* 986698 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* 98669C 802401BC 00000000 */ nop +/* 9866A0 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9866A4 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* 9866A8 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* 9866AC 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* 9866B0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* 9866B4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* 9866B8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* 9866BC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* 9866C0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* 9866C4 802401E4 08090093 */ j .L8024024C +/* 9866C8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* 9866CC 802401EC 08090093 */ j .L8024024C +/* 9866D0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* 9866D4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 9866D8 802401F8 0C00A8D4 */ jal cos_deg +/* 9866DC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* 9866E0 80240200 3C014040 */ lui $at, 0x4040 +/* 9866E4 80240204 44811000 */ mtc1 $at, $f2 +/* 9866E8 80240208 00000000 */ nop +/* 9866EC 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* 9866F0 80240210 00000000 */ nop +/* 9866F4 80240214 3C014188 */ lui $at, 0x4188 +/* 9866F8 80240218 44812000 */ mtc1 $at, $f4 +/* 9866FC 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* 986700 80240220 46041080 */ add.s $f2, $f2, $f4 +/* 986704 80240224 46001080 */ add.s $f2, $f2, $f0 +/* 986708 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* 98670C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* 986710 80240230 24420009 */ addiu $v0, $v0, 9 +/* 986714 80240234 44826000 */ mtc1 $v0, $f12 +/* 986718 80240238 00000000 */ nop +/* 98671C 8024023C 0C00A6C9 */ jal clamp_angle +/* 986720 80240240 46806320 */ cvt.s.w $f12, $f12 +/* 986724 80240244 4600018D */ trunc.w.s $f6, $f0 +/* 986728 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* 98672C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* 986730 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* 986734 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* 986738 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* 98673C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* 986740 80240260 03E00008 */ jr $ra +/* 986744 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_80240268_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_80240268_9864E0.s new file mode 100644 index 0000000000..71f2fc41b1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_80240268_9864E0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_986748 +/* 986748 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 98674C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* 986750 80240270 0080802D */ daddu $s0, $a0, $zero +/* 986754 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* 986758 80240278 8E02000C */ lw $v0, 0xc($s0) +/* 98675C 8024027C 0C0B1EAF */ jal get_variable +/* 986760 80240280 8C450000 */ lw $a1, ($v0) +/* 986764 80240284 00021140 */ sll $v0, $v0, 5 +/* 986768 80240288 AE000084 */ sw $zero, 0x84($s0) +/* 98676C 8024028C 3C018008 */ lui $at, 0x8008 +/* 986770 80240290 00220821 */ addu $at, $at, $v0 +/* 986774 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* 986778 80240298 30420040 */ andi $v0, $v0, 0x40 +/* 98677C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* 986780 802402A0 24020001 */ addiu $v0, $zero, 1 +/* 986784 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* 986788 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 98678C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* 986790 802402B0 24020002 */ addiu $v0, $zero, 2 +/* 986794 802402B4 03E00008 */ jr $ra +/* 986798 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_802402BC_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_802402BC_9864E0.s new file mode 100644 index 0000000000..7663670515 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_802402BC_9864E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_98679C +/* 98679C 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9867A0 802402C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9867A4 802402C4 0C04417A */ jal get_entity_by_index +/* 9867A8 802402C8 8C840084 */ lw $a0, 0x84($a0) +/* 9867AC 802402CC 8C440040 */ lw $a0, 0x40($v0) +/* 9867B0 802402D0 24030001 */ addiu $v1, $zero, 1 +/* 9867B4 802402D4 A0830030 */ sb $v1, 0x30($a0) +/* 9867B8 802402D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9867BC 802402DC 24020002 */ addiu $v0, $zero, 2 +/* 9867C0 802402E0 03E00008 */ jr $ra +/* 9867C4 802402E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9867C8 802402E8 00000000 */ nop +/* 9867CC 802402EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_09/func_802402F0_9864E0.s b/asm/nonmatchings/world/area_isk/isk_09/func_802402F0_9864E0.s new file mode 100644 index 0000000000..d0350701d2 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_09/func_802402F0_9864E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_9867D0 +/* 9867D0 802402F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9867D4 802402F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9867D8 802402F8 8C82000C */ lw $v0, 0xc($a0) +/* 9867DC 802402FC 0C0B1EAF */ jal get_variable +/* 9867E0 80240300 8C450000 */ lw $a1, ($v0) +/* 9867E4 80240304 3C038016 */ lui $v1, 0x8016 +/* 9867E8 80240308 8463A552 */ lh $v1, -0x5aae($v1) +/* 9867EC 8024030C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9867F0 80240310 00621826 */ xor $v1, $v1, $v0 +/* 9867F4 80240314 0003182B */ sltu $v1, $zero, $v1 +/* 9867F8 80240318 00031040 */ sll $v0, $v1, 1 +/* 9867FC 8024031C 03E00008 */ jr $ra +/* 986800 80240320 27BD0018 */ addiu $sp, $sp, 0x18 +/* 986804 80240324 00000000 */ nop +/* 986808 80240328 00000000 */ nop +/* 98680C 8024032C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240000_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240000_988B60.s new file mode 100644 index 0000000000..5171c4fb00 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240000_988B60.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_988B60 +/* 988B60 80240000 3C03800A */ lui $v1, %hi(D_8009A650) +/* 988B64 80240004 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 988B68 80240008 8C620000 */ lw $v0, ($v1) +/* 988B6C 8024000C 34420040 */ ori $v0, $v0, 0x40 +/* 988B70 80240010 AC620000 */ sw $v0, ($v1) +/* 988B74 80240014 03E00008 */ jr $ra +/* 988B78 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_8024001C.s b/asm/nonmatchings/world/area_isk/isk_10/func_8024001C.s new file mode 100644 index 0000000000..e8e0a4b499 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_8024001C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C +/* 988B7C 8024001C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 988B80 80240020 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 988B84 80240024 8C430000 */ lw $v1, ($v0) +/* 988B88 80240028 2404FFBF */ addiu $a0, $zero, -0x41 +/* 988B8C 8024002C 00641824 */ and $v1, $v1, $a0 +/* 988B90 80240030 AC430000 */ sw $v1, ($v0) +/* 988B94 80240034 03E00008 */ jr $ra +/* 988B98 80240038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_8024003C.s b/asm/nonmatchings/world/area_isk/isk_10/func_8024003C.s new file mode 100644 index 0000000000..9d98cc4df1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_8024003C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C +/* 988B9C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 988BA0 80240040 AFBF0010 */ sw $ra, 0x10($sp) +/* 988BA4 80240044 8C82000C */ lw $v0, 0xc($a0) +/* 988BA8 80240048 0C0B1EAF */ jal get_variable +/* 988BAC 8024004C 8C450000 */ lw $a1, ($v0) +/* 988BB0 80240050 0C0B95A4 */ jal func_802E5690 +/* 988BB4 80240054 0040202D */ daddu $a0, $v0, $zero +/* 988BB8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* 988BBC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* 988BC0 80240060 03E00008 */ jr $ra +/* 988BC4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240068.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240068.s new file mode 100644 index 0000000000..b4da6be87f --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240068.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068 +/* 988BC8 80240068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 988BCC 8024006C AFB00010 */ sw $s0, 0x10($sp) +/* 988BD0 80240070 0080802D */ daddu $s0, $a0, $zero +/* 988BD4 80240074 AFBF0018 */ sw $ra, 0x18($sp) +/* 988BD8 80240078 AFB10014 */ sw $s1, 0x14($sp) +/* 988BDC 8024007C 8E11000C */ lw $s1, 0xc($s0) +/* 988BE0 80240080 8E250000 */ lw $a1, ($s1) +/* 988BE4 80240084 0C0B1EAF */ jal get_variable +/* 988BE8 80240088 26310004 */ addiu $s1, $s1, 4 +/* 988BEC 8024008C 0200202D */ daddu $a0, $s0, $zero +/* 988BF0 80240090 3C038011 */ lui $v1, %hi(gPlayerData) +/* 988BF4 80240094 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 988BF8 80240098 000210C0 */ sll $v0, $v0, 3 +/* 988BFC 8024009C 00431021 */ addu $v0, $v0, $v1 +/* 988C00 802400A0 90460015 */ lbu $a2, 0x15($v0) +/* 988C04 802400A4 8E250000 */ lw $a1, ($s1) +/* 988C08 802400A8 24C60001 */ addiu $a2, $a2, 1 +/* 988C0C 802400AC A0460015 */ sb $a2, 0x15($v0) +/* 988C10 802400B0 00063600 */ sll $a2, $a2, 0x18 +/* 988C14 802400B4 0C0B2026 */ jal set_variable +/* 988C18 802400B8 00063603 */ sra $a2, $a2, 0x18 +/* 988C1C 802400BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 988C20 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* 988C24 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* 988C28 802400C8 24020002 */ addiu $v0, $zero, 2 +/* 988C2C 802400CC 03E00008 */ jr $ra +/* 988C30 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_802400D4.s b/asm/nonmatchings/world/area_isk/isk_10/func_802400D4.s new file mode 100644 index 0000000000..d99b1ddc19 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_802400D4.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D4 +/* 988C34 802400D4 3C028011 */ lui $v0, %hi(gPlayerData) +/* 988C38 802400D8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 988C3C 802400DC 000420C0 */ sll $a0, $a0, 3 +/* 988C40 802400E0 00822021 */ addu $a0, $a0, $v0 +/* 988C44 802400E4 90820014 */ lbu $v0, 0x14($a0) +/* 988C48 802400E8 10400009 */ beqz $v0, .L80240110 +/* 988C4C 802400EC 00000000 */ nop +/* 988C50 802400F0 90820015 */ lbu $v0, 0x15($a0) +/* 988C54 802400F4 00022600 */ sll $a0, $v0, 0x18 +/* 988C58 802400F8 00041E03 */ sra $v1, $a0, 0x18 +/* 988C5C 802400FC 00051400 */ sll $v0, $a1, 0x10 +/* 988C60 80240100 00021403 */ sra $v0, $v0, 0x10 +/* 988C64 80240104 0043102A */ slt $v0, $v0, $v1 +/* 988C68 80240108 10400003 */ beqz $v0, .L80240118 +/* 988C6C 8024010C 00000000 */ nop +.L80240110: +/* 988C70 80240110 03E00008 */ jr $ra +/* 988C74 80240114 2402FFFF */ addiu $v0, $zero, -1 +.L80240118: +/* 988C78 80240118 03E00008 */ jr $ra +/* 988C7C 8024011C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240120_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240120_988B60.s new file mode 100644 index 0000000000..dc3311e58e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240120_988B60.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_988C80 +/* 988C80 80240120 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 988C84 80240124 AFB3001C */ sw $s3, 0x1c($sp) +/* 988C88 80240128 0080982D */ daddu $s3, $a0, $zero +/* 988C8C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* 988C90 80240130 24100001 */ addiu $s0, $zero, 1 +/* 988C94 80240134 AFB40020 */ sw $s4, 0x20($sp) +/* 988C98 80240138 2414FFFF */ addiu $s4, $zero, -1 +/* 988C9C 8024013C AFB50024 */ sw $s5, 0x24($sp) +/* 988CA0 80240140 0200A82D */ daddu $s5, $s0, $zero +/* 988CA4 80240144 AFB10014 */ sw $s1, 0x14($sp) +/* 988CA8 80240148 3C118011 */ lui $s1, 0x8011 +/* 988CAC 8024014C 2631F298 */ addiu $s1, $s1, -0xd68 +/* 988CB0 80240150 AFBF0028 */ sw $ra, 0x28($sp) +/* 988CB4 80240154 AFB20018 */ sw $s2, 0x18($sp) +/* 988CB8 80240158 8E6200B4 */ lw $v0, 0xb4($s3) +/* 988CBC 8024015C 0280182D */ daddu $v1, $s4, $zero +/* 988CC0 80240160 AE630084 */ sw $v1, 0x84($s3) +/* 988CC4 80240164 00021027 */ nor $v0, $zero, $v0 +/* 988CC8 80240168 000217C2 */ srl $v0, $v0, 0x1f +/* 988CCC 8024016C 00029400 */ sll $s2, $v0, 0x10 +.L80240170: +/* 988CD0 80240170 92220014 */ lbu $v0, 0x14($s1) +/* 988CD4 80240174 50400008 */ beql $v0, $zero, .L80240198 +/* 988CD8 80240178 26100001 */ addiu $s0, $s0, 1 +/* 988CDC 8024017C 0200202D */ daddu $a0, $s0, $zero +/* 988CE0 80240180 0C090035 */ jal func_802400D4 +/* 988CE4 80240184 00122C03 */ sra $a1, $s2, 0x10 +/* 988CE8 80240188 10540003 */ beq $v0, $s4, .L80240198 +/* 988CEC 8024018C 26100001 */ addiu $s0, $s0, 1 +/* 988CF0 80240190 08090069 */ j .L802401A4 +/* 988CF4 80240194 AE750084 */ sw $s5, 0x84($s3) +.L80240198: +/* 988CF8 80240198 2A02000C */ slti $v0, $s0, 0xc +/* 988CFC 8024019C 1440FFF4 */ bnez $v0, .L80240170 +/* 988D00 802401A0 26310008 */ addiu $s1, $s1, 8 +.L802401A4: +/* 988D04 802401A4 8FBF0028 */ lw $ra, 0x28($sp) +/* 988D08 802401A8 8FB50024 */ lw $s5, 0x24($sp) +/* 988D0C 802401AC 8FB40020 */ lw $s4, 0x20($sp) +/* 988D10 802401B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 988D14 802401B4 8FB20018 */ lw $s2, 0x18($sp) +/* 988D18 802401B8 8FB10014 */ lw $s1, 0x14($sp) +/* 988D1C 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* 988D20 802401C0 24020002 */ addiu $v0, $zero, 2 +/* 988D24 802401C4 03E00008 */ jr $ra +/* 988D28 802401C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_802401CC.s b/asm/nonmatchings/world/area_isk/isk_10/func_802401CC.s new file mode 100644 index 0000000000..c6955fbc58 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_802401CC.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC +/* 988D2C 802401CC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 988D30 802401D0 AFB5002C */ sw $s5, 0x2c($sp) +/* 988D34 802401D4 0080A82D */ daddu $s5, $a0, $zero +/* 988D38 802401D8 AFBE0038 */ sw $fp, 0x38($sp) +/* 988D3C 802401DC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 988D40 802401E0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 988D44 802401E4 AFBF003C */ sw $ra, 0x3c($sp) +/* 988D48 802401E8 AFB70034 */ sw $s7, 0x34($sp) +/* 988D4C 802401EC AFB60030 */ sw $s6, 0x30($sp) +/* 988D50 802401F0 AFB40028 */ sw $s4, 0x28($sp) +/* 988D54 802401F4 AFB30024 */ sw $s3, 0x24($sp) +/* 988D58 802401F8 AFB20020 */ sw $s2, 0x20($sp) +/* 988D5C 802401FC AFB1001C */ sw $s1, 0x1c($sp) +/* 988D60 80240200 10A0004F */ beqz $a1, .L80240340 +/* 988D64 80240204 AFB00018 */ sw $s0, 0x18($sp) +/* 988D68 80240208 0C00AB39 */ jal heap_malloc +/* 988D6C 8024020C 24040330 */ addiu $a0, $zero, 0x330 +/* 988D70 80240210 0040982D */ daddu $s3, $v0, $zero +/* 988D74 80240214 0000B02D */ daddu $s6, $zero, $zero +/* 988D78 80240218 02C0902D */ daddu $s2, $s6, $zero +/* 988D7C 8024021C 3C148024 */ lui $s4, 0x8024 +/* 988D80 80240220 26941108 */ addiu $s4, $s4, 0x1108 +/* 988D84 80240224 0260882D */ daddu $s1, $s3, $zero +/* 988D88 80240228 8EA200B4 */ lw $v0, 0xb4($s5) +/* 988D8C 8024022C 3C038024 */ lui $v1, 0x8024 +/* 988D90 80240230 24631100 */ addiu $v1, $v1, 0x1100 +/* 988D94 80240234 AEB30078 */ sw $s3, 0x78($s5) +/* 988D98 80240238 00021027 */ nor $v0, $zero, $v0 +/* 988D9C 8024023C 0002BFC2 */ srl $s7, $v0, 0x1f +/* 988DA0 80240240 00171080 */ sll $v0, $s7, 2 +/* 988DA4 80240244 00431021 */ addu $v0, $v0, $v1 +/* 988DA8 80240248 AFA20010 */ sw $v0, 0x10($sp) +.L8024024C: +/* 988DAC 8024024C 86900000 */ lh $s0, ($s4) +/* 988DB0 80240250 001010C0 */ sll $v0, $s0, 3 +/* 988DB4 80240254 03C21021 */ addu $v0, $fp, $v0 +/* 988DB8 80240258 90420014 */ lbu $v0, 0x14($v0) +/* 988DBC 8024025C 5040002E */ beql $v0, $zero, .L80240318 +/* 988DC0 80240260 26520001 */ addiu $s2, $s2, 1 +/* 988DC4 80240264 00101100 */ sll $v0, $s0, 4 +/* 988DC8 80240268 3C068009 */ lui $a2, 0x8009 +/* 988DCC 8024026C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 988DD0 80240270 00461021 */ addu $v0, $v0, $a2 +/* 988DD4 80240274 0200202D */ daddu $a0, $s0, $zero +/* 988DD8 80240278 AE300108 */ sw $s0, 0x108($s1) +/* 988DDC 8024027C 8C420000 */ lw $v0, ($v0) +/* 988DE0 80240280 02E0282D */ daddu $a1, $s7, $zero +/* 988DE4 80240284 0C090035 */ jal func_802400D4 +/* 988DE8 80240288 AE220084 */ sw $v0, 0x84($s1) +/* 988DEC 8024028C 0040202D */ daddu $a0, $v0, $zero +/* 988DF0 80240290 04800011 */ bltz $a0, .L802402D8 +/* 988DF4 80240294 00101080 */ sll $v0, $s0, 2 +/* 988DF8 80240298 3C06800F */ lui $a2, 0x800f +/* 988DFC 8024029C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 988E00 802402A0 00461021 */ addu $v0, $v0, $a2 +/* 988E04 802402A4 8C430000 */ lw $v1, ($v0) +/* 988E08 802402A8 24020001 */ addiu $v0, $zero, 1 +/* 988E0C 802402AC AE22018C */ sw $v0, 0x18c($s1) +/* 988E10 802402B0 00041080 */ sll $v0, $a0, 2 +/* 988E14 802402B4 3C068024 */ lui $a2, 0x8024 +/* 988E18 802402B8 24C61118 */ addiu $a2, $a2, 0x1118 +/* 988E1C 802402BC AE230000 */ sw $v1, ($s1) +/* 988E20 802402C0 001218C0 */ sll $v1, $s2, 3 +/* 988E24 802402C4 00431021 */ addu $v0, $v0, $v1 +/* 988E28 802402C8 00461021 */ addu $v0, $v0, $a2 +/* 988E2C 802402CC 8C420000 */ lw $v0, ($v0) +/* 988E30 802402D0 080900BF */ j .L802402FC +/* 988E34 802402D4 AE220294 */ sw $v0, 0x294($s1) +.L802402D8: +/* 988E38 802402D8 3C06800F */ lui $a2, 0x800f +/* 988E3C 802402DC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 988E40 802402E0 00461021 */ addu $v0, $v0, $a2 +/* 988E44 802402E4 8C420000 */ lw $v0, ($v0) +/* 988E48 802402E8 AE20018C */ sw $zero, 0x18c($s1) +/* 988E4C 802402EC AE220000 */ sw $v0, ($s1) +/* 988E50 802402F0 8FA60010 */ lw $a2, 0x10($sp) +/* 988E54 802402F4 8CC20000 */ lw $v0, ($a2) +/* 988E58 802402F8 AE220294 */ sw $v0, 0x294($s1) +.L802402FC: +/* 988E5C 802402FC 001010C0 */ sll $v0, $s0, 3 +/* 988E60 80240300 03C21021 */ addu $v0, $fp, $v0 +/* 988E64 80240304 80420015 */ lb $v0, 0x15($v0) +/* 988E68 80240308 26D60001 */ addiu $s6, $s6, 1 +/* 988E6C 8024030C AE220210 */ sw $v0, 0x210($s1) +/* 988E70 80240310 26310004 */ addiu $s1, $s1, 4 +/* 988E74 80240314 26520001 */ addiu $s2, $s2, 1 +.L80240318: +/* 988E78 80240318 2A420008 */ slti $v0, $s2, 8 +/* 988E7C 8024031C 1440FFCB */ bnez $v0, .L8024024C +/* 988E80 80240320 26940002 */ addiu $s4, $s4, 2 +/* 988E84 80240324 0260202D */ daddu $a0, $s3, $zero +/* 988E88 80240328 24020004 */ addiu $v0, $zero, 4 +/* 988E8C 8024032C AC820318 */ sw $v0, 0x318($a0) +/* 988E90 80240330 AC960324 */ sw $s6, 0x324($a0) +/* 988E94 80240334 0C03D390 */ jal func_800F4E40 +/* 988E98 80240338 AC800328 */ sw $zero, 0x328($a0) +/* 988E9C 8024033C AEA00070 */ sw $zero, 0x70($s5) +.L80240340: +/* 988EA0 80240340 8EA20070 */ lw $v0, 0x70($s5) +/* 988EA4 80240344 8EB30078 */ lw $s3, 0x78($s5) +/* 988EA8 80240348 14400008 */ bnez $v0, .L8024036C +/* 988EAC 8024034C 24420001 */ addiu $v0, $v0, 1 +/* 988EB0 80240350 8662032C */ lh $v0, 0x32c($s3) +/* 988EB4 80240354 10400009 */ beqz $v0, .L8024037C +/* 988EB8 80240358 AEA20074 */ sw $v0, 0x74($s5) +/* 988EBC 8024035C 0C03C4EC */ jal func_800F13B0 +/* 988EC0 80240360 00000000 */ nop +/* 988EC4 80240364 8EA20070 */ lw $v0, 0x70($s5) +/* 988EC8 80240368 24420001 */ addiu $v0, $v0, 1 +.L8024036C: +/* 988ECC 8024036C AEA20070 */ sw $v0, 0x70($s5) +/* 988ED0 80240370 2842000F */ slti $v0, $v0, 0xf +/* 988ED4 80240374 10400003 */ beqz $v0, .L80240384 +/* 988ED8 80240378 00000000 */ nop +.L8024037C: +/* 988EDC 8024037C 080900FB */ j .L802403EC +/* 988EE0 80240380 0000102D */ daddu $v0, $zero, $zero +.L80240384: +/* 988EE4 80240384 0C03C54E */ jal func_800F1538 +/* 988EE8 80240388 00000000 */ nop +/* 988EEC 8024038C 8EA30074 */ lw $v1, 0x74($s5) +/* 988EF0 80240390 240200FF */ addiu $v0, $zero, 0xff +/* 988EF4 80240394 10620010 */ beq $v1, $v0, .L802403D8 +/* 988EF8 80240398 2462FFFF */ addiu $v0, $v1, -1 +/* 988EFC 8024039C 00021080 */ sll $v0, $v0, 2 +/* 988F00 802403A0 02621021 */ addu $v0, $s3, $v0 +/* 988F04 802403A4 8C420108 */ lw $v0, 0x108($v0) +/* 988F08 802403A8 00021100 */ sll $v0, $v0, 4 +/* 988F0C 802403AC 3C038009 */ lui $v1, 0x8009 +/* 988F10 802403B0 00621821 */ addu $v1, $v1, $v0 +/* 988F14 802403B4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 988F18 802403B8 8EA20074 */ lw $v0, 0x74($s5) +/* 988F1C 802403BC 2442FFFF */ addiu $v0, $v0, -1 +/* 988F20 802403C0 00021080 */ sll $v0, $v0, 2 +/* 988F24 802403C4 02621021 */ addu $v0, $s3, $v0 +/* 988F28 802403C8 AEA30084 */ sw $v1, 0x84($s5) +/* 988F2C 802403CC 8C420108 */ lw $v0, 0x108($v0) +/* 988F30 802403D0 080900F8 */ j .L802403E0 +/* 988F34 802403D4 AEA20088 */ sw $v0, 0x88($s5) +.L802403D8: +/* 988F38 802403D8 2402FFFF */ addiu $v0, $zero, -1 +/* 988F3C 802403DC AEA20084 */ sw $v0, 0x84($s5) +.L802403E0: +/* 988F40 802403E0 0C00AB4B */ jal heap_free +/* 988F44 802403E4 8EA40078 */ lw $a0, 0x78($s5) +/* 988F48 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* 988F4C 802403EC 8FBF003C */ lw $ra, 0x3c($sp) +/* 988F50 802403F0 8FBE0038 */ lw $fp, 0x38($sp) +/* 988F54 802403F4 8FB70034 */ lw $s7, 0x34($sp) +/* 988F58 802403F8 8FB60030 */ lw $s6, 0x30($sp) +/* 988F5C 802403FC 8FB5002C */ lw $s5, 0x2c($sp) +/* 988F60 80240400 8FB40028 */ lw $s4, 0x28($sp) +/* 988F64 80240404 8FB30024 */ lw $s3, 0x24($sp) +/* 988F68 80240408 8FB20020 */ lw $s2, 0x20($sp) +/* 988F6C 8024040C 8FB1001C */ lw $s1, 0x1c($sp) +/* 988F70 80240410 8FB00018 */ lw $s0, 0x18($sp) +/* 988F74 80240414 03E00008 */ jr $ra +/* 988F78 80240418 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_8024041C.s b/asm/nonmatchings/world/area_isk/isk_10/func_8024041C.s new file mode 100644 index 0000000000..c2d13eb4c1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_8024041C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C +/* 988F7C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 988F80 80240420 AFBF0010 */ sw $ra, 0x10($sp) +/* 988F84 80240424 8C82000C */ lw $v0, 0xc($a0) +/* 988F88 80240428 0C0B1EAF */ jal get_variable +/* 988F8C 8024042C 8C450000 */ lw $a1, ($v0) +/* 988F90 80240430 0C03AC5A */ jal func_800EB168 +/* 988F94 80240434 0040202D */ daddu $a0, $v0, $zero +/* 988F98 80240438 8FBF0010 */ lw $ra, 0x10($sp) +/* 988F9C 8024043C 24020002 */ addiu $v0, $zero, 2 +/* 988FA0 80240440 03E00008 */ jr $ra +/* 988FA4 80240444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240448.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240448.s new file mode 100644 index 0000000000..a7aca612a3 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240448.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448 +/* 988FA8 80240448 3C028011 */ lui $v0, 0x8011 +/* 988FAC 8024044C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 988FB0 80240450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 988FB4 80240454 AFBF0010 */ sw $ra, 0x10($sp) +/* 988FB8 80240458 00021100 */ sll $v0, $v0, 4 +/* 988FBC 8024045C 3C048009 */ lui $a0, 0x8009 +/* 988FC0 80240460 00822021 */ addu $a0, $a0, $v0 +/* 988FC4 80240464 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 988FC8 80240468 0C0496CF */ jal set_message_string +/* 988FCC 8024046C 0000282D */ daddu $a1, $zero, $zero +/* 988FD0 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* 988FD4 80240474 24020002 */ addiu $v0, $zero, 2 +/* 988FD8 80240478 03E00008 */ jr $ra +/* 988FDC 8024047C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240480_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240480_988B60.s new file mode 100644 index 0000000000..d5a4f55050 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240480_988B60.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_988FE0 +/* 988FE0 80240480 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 988FE4 80240484 AFB1001C */ sw $s1, 0x1c($sp) +/* 988FE8 80240488 0080882D */ daddu $s1, $a0, $zero +/* 988FEC 8024048C AFBF0020 */ sw $ra, 0x20($sp) +/* 988FF0 80240490 AFB00018 */ sw $s0, 0x18($sp) +/* 988FF4 80240494 8E30000C */ lw $s0, 0xc($s1) +/* 988FF8 80240498 8E050000 */ lw $a1, ($s0) +/* 988FFC 8024049C 0C0B1EAF */ jal get_variable +/* 989000 802404A0 26100004 */ addiu $s0, $s0, 4 +/* 989004 802404A4 0C04417A */ jal get_entity_by_index +/* 989008 802404A8 0040202D */ daddu $a0, $v0, $zero +/* 98900C 802404AC 8E100000 */ lw $s0, ($s0) +/* 989010 802404B0 C444004C */ lwc1 $f4, 0x4c($v0) +/* 989014 802404B4 3C014148 */ lui $at, 0x4148 +/* 989018 802404B8 44810000 */ mtc1 $at, $f0 +/* 98901C 802404BC 3C013F33 */ lui $at, 0x3f33 +/* 989020 802404C0 34213333 */ ori $at, $at, 0x3333 +/* 989024 802404C4 44811000 */ mtc1 $at, $f2 +/* 989028 802404C8 AFA00014 */ sw $zero, 0x14($sp) +/* 98902C 802404CC 46002100 */ add.s $f4, $f4, $f0 +/* 989030 802404D0 E7A20010 */ swc1 $f2, 0x10($sp) +/* 989034 802404D4 8C450048 */ lw $a1, 0x48($v0) +/* 989038 802404D8 8C470050 */ lw $a3, 0x50($v0) +/* 98903C 802404DC 44062000 */ mfc1 $a2, $f4 +/* 989040 802404E0 0C01C5D4 */ jal func_80071750 +/* 989044 802404E4 0000202D */ daddu $a0, $zero, $zero +/* 989048 802404E8 0220202D */ daddu $a0, $s1, $zero +/* 98904C 802404EC 0200282D */ daddu $a1, $s0, $zero +/* 989050 802404F0 0C0B2026 */ jal set_variable +/* 989054 802404F4 0040302D */ daddu $a2, $v0, $zero +/* 989058 802404F8 8FBF0020 */ lw $ra, 0x20($sp) +/* 98905C 802404FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 989060 80240500 8FB00018 */ lw $s0, 0x18($sp) +/* 989064 80240504 24020002 */ addiu $v0, $zero, 2 +/* 989068 80240508 03E00008 */ jr $ra +/* 98906C 8024050C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240510.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240510.s new file mode 100644 index 0000000000..e594e80d3d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240510.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510 +/* 989070 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 989074 80240514 AFBF0010 */ sw $ra, 0x10($sp) +/* 989078 80240518 8C82000C */ lw $v0, 0xc($a0) +/* 98907C 8024051C 0C0B1EAF */ jal get_variable +/* 989080 80240520 8C450000 */ lw $a1, ($v0) +/* 989084 80240524 0040202D */ daddu $a0, $v0, $zero +/* 989088 80240528 8C830000 */ lw $v1, ($a0) +/* 98908C 8024052C 34630010 */ ori $v1, $v1, 0x10 +/* 989090 80240530 AC830000 */ sw $v1, ($a0) +/* 989094 80240534 8FBF0010 */ lw $ra, 0x10($sp) +/* 989098 80240538 24020002 */ addiu $v0, $zero, 2 +/* 98909C 8024053C 03E00008 */ jr $ra +/* 9890A0 80240540 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240544_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240544_988B60.s new file mode 100644 index 0000000000..f02632554c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240544_988B60.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_9890A4 +/* 9890A4 80240544 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9890A8 80240548 AFBF0018 */ sw $ra, 0x18($sp) +/* 9890AC 8024054C 8C82000C */ lw $v0, 0xc($a0) +/* 9890B0 80240550 0C0B1EAF */ jal get_variable +/* 9890B4 80240554 8C450000 */ lw $a1, ($v0) +/* 9890B8 80240558 0C04417A */ jal get_entity_by_index +/* 9890BC 8024055C 0040202D */ daddu $a0, $v0, $zero +/* 9890C0 80240560 3C013F80 */ lui $at, 0x3f80 +/* 9890C4 80240564 44810000 */ mtc1 $at, $f0 +/* 9890C8 80240568 C442004C */ lwc1 $f2, 0x4c($v0) +/* 9890CC 8024056C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9890D0 80240570 3C014148 */ lui $at, 0x4148 +/* 9890D4 80240574 44810000 */ mtc1 $at, $f0 +/* 9890D8 80240578 2403004B */ addiu $v1, $zero, 0x4b +/* 9890DC 8024057C AFA30014 */ sw $v1, 0x14($sp) +/* 9890E0 80240580 46001080 */ add.s $f2, $f2, $f0 +/* 9890E4 80240584 8C450048 */ lw $a1, 0x48($v0) +/* 9890E8 80240588 8C470050 */ lw $a3, 0x50($v0) +/* 9890EC 8024058C 44061000 */ mfc1 $a2, $f2 +/* 9890F0 80240590 0C01C2EC */ jal func_80070BB0 +/* 9890F4 80240594 24040004 */ addiu $a0, $zero, 4 +/* 9890F8 80240598 8FBF0018 */ lw $ra, 0x18($sp) +/* 9890FC 8024059C 24020002 */ addiu $v0, $zero, 2 +/* 989100 802405A0 03E00008 */ jr $ra +/* 989104 802405A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_802405A8_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_802405A8_988B60.s new file mode 100644 index 0000000000..a389ebe9a9 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_802405A8_988B60.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8_989108 +/* 989108 802405A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 98910C 802405AC AFBF0018 */ sw $ra, 0x18($sp) +/* 989110 802405B0 0C00EAD2 */ jal get_npc_safe +/* 989114 802405B4 2404FFFC */ addiu $a0, $zero, -4 +/* 989118 802405B8 C444003C */ lwc1 $f4, 0x3c($v0) +/* 98911C 802405BC 3C014148 */ lui $at, 0x4148 +/* 989120 802405C0 44811000 */ mtc1 $at, $f2 +/* 989124 802405C4 3C013F80 */ lui $at, 0x3f80 +/* 989128 802405C8 44810000 */ mtc1 $at, $f0 +/* 98912C 802405CC 2403001E */ addiu $v1, $zero, 0x1e +/* 989130 802405D0 AFA30014 */ sw $v1, 0x14($sp) +/* 989134 802405D4 46022100 */ add.s $f4, $f4, $f2 +/* 989138 802405D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 98913C 802405DC 8C450038 */ lw $a1, 0x38($v0) +/* 989140 802405E0 8C470040 */ lw $a3, 0x40($v0) +/* 989144 802405E4 44062000 */ mfc1 $a2, $f4 +/* 989148 802405E8 0C01C2EC */ jal func_80070BB0 +/* 98914C 802405EC 24040009 */ addiu $a0, $zero, 9 +/* 989150 802405F0 8FBF0018 */ lw $ra, 0x18($sp) +/* 989154 802405F4 24020002 */ addiu $v0, $zero, 2 +/* 989158 802405F8 03E00008 */ jr $ra +/* 98915C 802405FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240600.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240600.s new file mode 100644 index 0000000000..65515647bc --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240600.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240600 +/* 989160 80240600 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 989164 80240604 AFB60040 */ sw $s6, 0x40($sp) +/* 989168 80240608 0080B02D */ daddu $s6, $a0, $zero +/* 98916C 8024060C AFB00028 */ sw $s0, 0x28($sp) +/* 989170 80240610 00A0802D */ daddu $s0, $a1, $zero +/* 989174 80240614 AFBF0044 */ sw $ra, 0x44($sp) +/* 989178 80240618 AFB5003C */ sw $s5, 0x3c($sp) +/* 98917C 8024061C AFB40038 */ sw $s4, 0x38($sp) +/* 989180 80240620 AFB30034 */ sw $s3, 0x34($sp) +/* 989184 80240624 AFB20030 */ sw $s2, 0x30($sp) +/* 989188 80240628 AFB1002C */ sw $s1, 0x2c($sp) +/* 98918C 8024062C F7B80058 */ sdc1 $f24, 0x58($sp) +/* 989190 80240630 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 989194 80240634 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 989198 80240638 8ED3000C */ lw $s3, 0xc($s6) +/* 98919C 8024063C 0C00EAD2 */ jal get_npc_safe +/* 9891A0 80240640 2404FFFC */ addiu $a0, $zero, -4 +/* 9891A4 80240644 27A50018 */ addiu $a1, $sp, 0x18 +/* 9891A8 80240648 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 9891AC 8024064C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 9891B0 80240650 27A6001C */ addiu $a2, $sp, 0x1c +/* 9891B4 80240654 00041880 */ sll $v1, $a0, 2 +/* 9891B8 80240658 00641821 */ addu $v1, $v1, $a0 +/* 9891BC 8024065C 00031880 */ sll $v1, $v1, 2 +/* 9891C0 80240660 00641823 */ subu $v1, $v1, $a0 +/* 9891C4 80240664 000320C0 */ sll $a0, $v1, 3 +/* 9891C8 80240668 00641821 */ addu $v1, $v1, $a0 +/* 9891CC 8024066C 000318C0 */ sll $v1, $v1, 3 +/* 9891D0 80240670 3C01800B */ lui $at, 0x800b +/* 9891D4 80240674 00230821 */ addu $at, $at, $v1 +/* 9891D8 80240678 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 9891DC 8024067C 0C00A88D */ jal sin_cos_deg +/* 9891E0 80240680 0040A82D */ daddu $s5, $v0, $zero +/* 9891E4 80240684 1200005D */ beqz $s0, .L802407FC +/* 9891E8 80240688 00000000 */ nop +/* 9891EC 8024068C 0C00AB0A */ jal general_heap_malloc +/* 9891F0 80240690 24040068 */ addiu $a0, $zero, 0x68 +/* 9891F4 80240694 0040902D */ daddu $s2, $v0, $zero +/* 9891F8 80240698 02C0202D */ daddu $a0, $s6, $zero +/* 9891FC 8024069C 0000882D */ daddu $s1, $zero, $zero +/* 989200 802406A0 2414FFFF */ addiu $s4, $zero, -1 +/* 989204 802406A4 AED20060 */ sw $s2, 0x60($s6) +/* 989208 802406A8 8E650000 */ lw $a1, ($s3) +/* 98920C 802406AC 3C014148 */ lui $at, 0x4148 +/* 989210 802406B0 4481C000 */ mtc1 $at, $f24 +/* 989214 802406B4 3C013F80 */ lui $at, 0x3f80 +/* 989218 802406B8 4481B000 */ mtc1 $at, $f22 +/* 98921C 802406BC 4480A000 */ mtc1 $zero, $f20 +/* 989220 802406C0 0C0B1EAF */ jal get_variable +/* 989224 802406C4 0240802D */ daddu $s0, $s2, $zero +/* 989228 802406C8 0C04417A */ jal get_entity_by_index +/* 98922C 802406CC 0040202D */ daddu $a0, $v0, $zero +/* 989230 802406D0 AE42005C */ sw $v0, 0x5c($s2) +.L802406D4: +/* 989234 802406D4 8E42005C */ lw $v0, 0x5c($s2) +/* 989238 802406D8 C440004C */ lwc1 $f0, 0x4c($v0) +/* 98923C 802406DC 0000202D */ daddu $a0, $zero, $zero +/* 989240 802406E0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 989244 802406E4 AFB40014 */ sw $s4, 0x14($sp) +/* 989248 802406E8 46180000 */ add.s $f0, $f0, $f24 +/* 98924C 802406EC 8C450048 */ lw $a1, 0x48($v0) +/* 989250 802406F0 8C470050 */ lw $a3, 0x50($v0) +/* 989254 802406F4 44060000 */ mfc1 $a2, $f0 +/* 989258 802406F8 0C01C5BC */ jal func_800716F0 +/* 98925C 802406FC 26310001 */ addiu $s1, $s1, 1 +/* 989260 80240700 AE020008 */ sw $v0, 8($s0) +/* 989264 80240704 E614002C */ swc1 $f20, 0x2c($s0) +/* 989268 80240708 E6140020 */ swc1 $f20, 0x20($s0) +/* 98926C 8024070C E6140014 */ swc1 $f20, 0x14($s0) +/* 989270 80240710 E6140050 */ swc1 $f20, 0x50($s0) +/* 989274 80240714 E6140044 */ swc1 $f20, 0x44($s0) +/* 989278 80240718 E6140038 */ swc1 $f20, 0x38($s0) +/* 98927C 8024071C 2A220003 */ slti $v0, $s1, 3 +/* 989280 80240720 1440FFEC */ bnez $v0, .L802406D4 +/* 989284 80240724 26100004 */ addiu $s0, $s0, 4 +/* 989288 80240728 0000882D */ daddu $s1, $zero, $zero +/* 98928C 8024072C 0240802D */ daddu $s0, $s2, $zero +/* 989290 80240730 3C148024 */ lui $s4, 0x8024 +/* 989294 80240734 26941158 */ addiu $s4, $s4, 0x1158 +/* 989298 80240738 3C014248 */ lui $at, 0x4248 +/* 98929C 8024073C 4481A000 */ mtc1 $at, $f20 +/* 9892A0 80240740 24130044 */ addiu $s3, $zero, 0x44 +/* 9892A4 80240744 AE400000 */ sw $zero, ($s2) +/* 9892A8 80240748 AE400004 */ sw $zero, 4($s2) +/* 9892AC 8024074C AE400060 */ sw $zero, 0x60($s2) +/* 9892B0 80240750 AE400064 */ sw $zero, 0x64($s2) +.L80240754: +/* 9892B4 80240754 27A40020 */ addiu $a0, $sp, 0x20 +/* 9892B8 80240758 4406A000 */ mfc1 $a2, $f20 +/* 9892BC 8024075C 8E870000 */ lw $a3, ($s4) +/* 9892C0 80240760 02532821 */ addu $a1, $s2, $s3 +/* 9892C4 80240764 0C00A7E7 */ jal add_vec2D_polar +/* 9892C8 80240768 AFA00020 */ sw $zero, 0x20($sp) +/* 9892CC 8024076C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 9892D0 80240770 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 9892D4 80240774 46041082 */ mul.s $f2, $f2, $f4 +/* 9892D8 80240778 00000000 */ nop +/* 9892DC 8024077C C7A00018 */ lwc1 $f0, 0x18($sp) +/* 9892E0 80240780 46040002 */ mul.s $f0, $f0, $f4 +/* 9892E4 80240784 00000000 */ nop +/* 9892E8 80240788 E6020038 */ swc1 $f2, 0x38($s0) +/* 9892EC 8024078C E6000050 */ swc1 $f0, 0x50($s0) +/* 9892F0 80240790 8E42005C */ lw $v0, 0x5c($s2) +/* 9892F4 80240794 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9892F8 80240798 C4420048 */ lwc1 $f2, 0x48($v0) +/* 9892FC 8024079C 46001080 */ add.s $f2, $f2, $f0 +/* 989300 802407A0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 989304 802407A4 46020001 */ sub.s $f0, $f0, $f2 +/* 989308 802407A8 E6000038 */ swc1 $f0, 0x38($s0) +/* 98930C 802407AC 8E42005C */ lw $v0, 0x5c($s2) +/* 989310 802407B0 C6000044 */ lwc1 $f0, 0x44($s0) +/* 989314 802407B4 C442004C */ lwc1 $f2, 0x4c($v0) +/* 989318 802407B8 46001080 */ add.s $f2, $f2, $f0 +/* 98931C 802407BC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 989320 802407C0 46020001 */ sub.s $f0, $f0, $f2 +/* 989324 802407C4 E6000044 */ swc1 $f0, 0x44($s0) +/* 989328 802407C8 8E42005C */ lw $v0, 0x5c($s2) +/* 98932C 802407CC C6000050 */ lwc1 $f0, 0x50($s0) +/* 989330 802407D0 C4420050 */ lwc1 $f2, 0x50($v0) +/* 989334 802407D4 26940004 */ addiu $s4, $s4, 4 +/* 989338 802407D8 46001080 */ add.s $f2, $f2, $f0 +/* 98933C 802407DC C6A00040 */ lwc1 $f0, 0x40($s5) +/* 989340 802407E0 26730004 */ addiu $s3, $s3, 4 +/* 989344 802407E4 46020001 */ sub.s $f0, $f0, $f2 +/* 989348 802407E8 26310001 */ addiu $s1, $s1, 1 +/* 98934C 802407EC 2A220003 */ slti $v0, $s1, 3 +/* 989350 802407F0 E6000050 */ swc1 $f0, 0x50($s0) +/* 989354 802407F4 1440FFD7 */ bnez $v0, .L80240754 +/* 989358 802407F8 26100004 */ addiu $s0, $s0, 4 +.L802407FC: +/* 98935C 802407FC 8ED20060 */ lw $s2, 0x60($s6) +/* 989360 80240800 8E430000 */ lw $v1, ($s2) +/* 989364 80240804 24020001 */ addiu $v0, $zero, 1 +/* 989368 80240808 10620038 */ beq $v1, $v0, .L802408EC +/* 98936C 8024080C 28620002 */ slti $v0, $v1, 2 +/* 989370 80240810 50400005 */ beql $v0, $zero, .L80240828 +/* 989374 80240814 24020002 */ addiu $v0, $zero, 2 +/* 989378 80240818 10600007 */ beqz $v1, .L80240838 +/* 98937C 8024081C 24040005 */ addiu $a0, $zero, 5 +/* 989380 80240820 08090274 */ j .L802409D0 +/* 989384 80240824 00000000 */ nop +.L80240828: +/* 989388 80240828 10620058 */ beq $v1, $v0, .L8024098C +/* 98938C 8024082C 00000000 */ nop +/* 989390 80240830 08090274 */ j .L802409D0 +/* 989394 80240834 00000000 */ nop +.L80240838: +/* 989398 80240838 0000882D */ daddu $s1, $zero, $zero +/* 98939C 8024083C 3C148024 */ lui $s4, 0x8024 +/* 9893A0 80240840 26941158 */ addiu $s4, $s4, 0x1158 +/* 9893A4 80240844 24130020 */ addiu $s3, $zero, 0x20 +/* 9893A8 80240848 3C064248 */ lui $a2, 0x4248 +/* 9893AC 8024084C 44800000 */ mtc1 $zero, $f0 +/* 9893B0 80240850 24020014 */ addiu $v0, $zero, 0x14 +/* 9893B4 80240854 AFA20010 */ sw $v0, 0x10($sp) +/* 9893B8 80240858 44050000 */ mfc1 $a1, $f0 +/* 9893BC 8024085C 8E470060 */ lw $a3, 0x60($s2) +/* 9893C0 80240860 4485B000 */ mtc1 $a1, $f22 +/* 9893C4 80240864 0C00A8ED */ jal update_lerp +/* 9893C8 80240868 0240802D */ daddu $s0, $s2, $zero +/* 9893CC 8024086C 46000506 */ mov.s $f20, $f0 +.L80240870: +/* 9893D0 80240870 4406A000 */ mfc1 $a2, $f20 +/* 9893D4 80240874 27A40020 */ addiu $a0, $sp, 0x20 +/* 9893D8 80240878 E6160020 */ swc1 $f22, 0x20($s0) +/* 9893DC 8024087C 8E870000 */ lw $a3, ($s4) +/* 9893E0 80240880 02532821 */ addu $a1, $s2, $s3 +/* 9893E4 80240884 0C00A7E7 */ jal add_vec2D_polar +/* 9893E8 80240888 E7B60020 */ swc1 $f22, 0x20($sp) +/* 9893EC 8024088C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 9893F0 80240890 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 9893F4 80240894 46002102 */ mul.s $f4, $f4, $f0 +/* 9893F8 80240898 00000000 */ nop +/* 9893FC 8024089C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 989400 802408A0 26940004 */ addiu $s4, $s4, 4 +/* 989404 802408A4 46001082 */ mul.s $f2, $f2, $f0 +/* 989408 802408A8 00000000 */ nop +/* 98940C 802408AC 26730004 */ addiu $s3, $s3, 4 +/* 989410 802408B0 26310001 */ addiu $s1, $s1, 1 +/* 989414 802408B4 2A220003 */ slti $v0, $s1, 3 +/* 989418 802408B8 E6040014 */ swc1 $f4, 0x14($s0) +/* 98941C 802408BC E602002C */ swc1 $f2, 0x2c($s0) +/* 989420 802408C0 1440FFEB */ bnez $v0, .L80240870 +/* 989424 802408C4 26100004 */ addiu $s0, $s0, 4 +/* 989428 802408C8 8E420060 */ lw $v0, 0x60($s2) +/* 98942C 802408CC 24420001 */ addiu $v0, $v0, 1 +/* 989430 802408D0 AE420060 */ sw $v0, 0x60($s2) +/* 989434 802408D4 28420015 */ slti $v0, $v0, 0x15 +/* 989438 802408D8 1440003D */ bnez $v0, .L802409D0 +/* 98943C 802408DC 24020001 */ addiu $v0, $zero, 1 +/* 989440 802408E0 AE420000 */ sw $v0, ($s2) +/* 989444 802408E4 08090274 */ j .L802409D0 +/* 989448 802408E8 AE400060 */ sw $zero, 0x60($s2) +.L802408EC: +/* 98944C 802408EC 0000882D */ daddu $s1, $zero, $zero +/* 989450 802408F0 3C148024 */ lui $s4, 0x8024 +/* 989454 802408F4 26941158 */ addiu $s4, $s4, 0x1158 +/* 989458 802408F8 24130020 */ addiu $s3, $zero, 0x20 +/* 98945C 802408FC 0240802D */ daddu $s0, $s2, $zero +/* 989460 80240900 3C014248 */ lui $at, 0x4248 +/* 989464 80240904 4481A000 */ mtc1 $at, $f20 +/* 989468 80240908 4480B000 */ mtc1 $zero, $f22 +.L8024090C: +/* 98946C 8024090C 4406A000 */ mfc1 $a2, $f20 +/* 989470 80240910 27A40020 */ addiu $a0, $sp, 0x20 +/* 989474 80240914 E6160020 */ swc1 $f22, 0x20($s0) +/* 989478 80240918 8E870000 */ lw $a3, ($s4) +/* 98947C 8024091C 02532821 */ addu $a1, $s2, $s3 +/* 989480 80240920 0C00A7E7 */ jal add_vec2D_polar +/* 989484 80240924 E7B60020 */ swc1 $f22, 0x20($sp) +/* 989488 80240928 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 98948C 8024092C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 989490 80240930 46002102 */ mul.s $f4, $f4, $f0 +/* 989494 80240934 00000000 */ nop +/* 989498 80240938 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 98949C 8024093C 26940004 */ addiu $s4, $s4, 4 +/* 9894A0 80240940 46001082 */ mul.s $f2, $f2, $f0 +/* 9894A4 80240944 00000000 */ nop +/* 9894A8 80240948 26730004 */ addiu $s3, $s3, 4 +/* 9894AC 8024094C 26310001 */ addiu $s1, $s1, 1 +/* 9894B0 80240950 2A220003 */ slti $v0, $s1, 3 +/* 9894B4 80240954 E6040014 */ swc1 $f4, 0x14($s0) +/* 9894B8 80240958 E602002C */ swc1 $f2, 0x2c($s0) +/* 9894BC 8024095C 1440FFEB */ bnez $v0, .L8024090C +/* 9894C0 80240960 26100004 */ addiu $s0, $s0, 4 +/* 9894C4 80240964 8E420060 */ lw $v0, 0x60($s2) +/* 9894C8 80240968 24420001 */ addiu $v0, $v0, 1 +/* 9894CC 8024096C AE420060 */ sw $v0, 0x60($s2) +/* 9894D0 80240970 28420010 */ slti $v0, $v0, 0x10 +/* 9894D4 80240974 14400016 */ bnez $v0, .L802409D0 +/* 9894D8 80240978 2402000F */ addiu $v0, $zero, 0xf +/* 9894DC 8024097C AE420060 */ sw $v0, 0x60($s2) +/* 9894E0 80240980 24020002 */ addiu $v0, $zero, 2 +/* 9894E4 80240984 08090274 */ j .L802409D0 +/* 9894E8 80240988 AE420000 */ sw $v0, ($s2) +.L8024098C: +/* 9894EC 8024098C 8E420060 */ lw $v0, 0x60($s2) +/* 9894F0 80240990 24420001 */ addiu $v0, $v0, 1 +/* 9894F4 80240994 AE420060 */ sw $v0, 0x60($s2) +/* 9894F8 80240998 2842001F */ slti $v0, $v0, 0x1f +/* 9894FC 8024099C 1440000C */ bnez $v0, .L802409D0 +/* 989500 802409A0 0000882D */ daddu $s1, $zero, $zero +/* 989504 802409A4 0240282D */ daddu $a1, $s2, $zero +.L802409A8: +/* 989508 802409A8 8CA20008 */ lw $v0, 8($a1) +/* 98950C 802409AC 8C430000 */ lw $v1, ($v0) +/* 989510 802409B0 26310001 */ addiu $s1, $s1, 1 +/* 989514 802409B4 34630010 */ ori $v1, $v1, 0x10 +/* 989518 802409B8 AC430000 */ sw $v1, ($v0) +/* 98951C 802409BC 2A220003 */ slti $v0, $s1, 3 +/* 989520 802409C0 1440FFF9 */ bnez $v0, .L802409A8 +/* 989524 802409C4 24A50004 */ addiu $a1, $a1, 4 +/* 989528 802409C8 080902C1 */ j .L80240B04 +/* 98952C 802409CC 24020002 */ addiu $v0, $zero, 2 +.L802409D0: +/* 989530 802409D0 8E430004 */ lw $v1, 4($s2) +/* 989534 802409D4 10600005 */ beqz $v1, .L802409EC +/* 989538 802409D8 24020001 */ addiu $v0, $zero, 1 +/* 98953C 802409DC 1062000B */ beq $v1, $v0, .L80240A0C +/* 989540 802409E0 0000882D */ daddu $s1, $zero, $zero +/* 989544 802409E4 080902B0 */ j .L80240AC0 +/* 989548 802409E8 0240282D */ daddu $a1, $s2, $zero +.L802409EC: +/* 98954C 802409EC 8E420064 */ lw $v0, 0x64($s2) +/* 989550 802409F0 24420001 */ addiu $v0, $v0, 1 +/* 989554 802409F4 AE420064 */ sw $v0, 0x64($s2) +/* 989558 802409F8 28420010 */ slti $v0, $v0, 0x10 +/* 98955C 802409FC 1440002F */ bnez $v0, .L80240ABC +/* 989560 80240A00 0000882D */ daddu $s1, $zero, $zero +/* 989564 80240A04 080902AC */ j .L80240AB0 +/* 989568 80240A08 24020001 */ addiu $v0, $zero, 1 +.L80240A0C: +/* 98956C 80240A0C 4480A000 */ mtc1 $zero, $f20 +/* 989570 80240A10 24130014 */ addiu $s3, $zero, 0x14 +/* 989574 80240A14 0240802D */ daddu $s0, $s2, $zero +.L80240A18: +/* 989578 80240A18 4405A000 */ mfc1 $a1, $f20 +/* 98957C 80240A1C AFB30010 */ sw $s3, 0x10($sp) +/* 989580 80240A20 8E060038 */ lw $a2, 0x38($s0) +/* 989584 80240A24 8E470064 */ lw $a3, 0x64($s2) +/* 989588 80240A28 0C00A8ED */ jal update_lerp +/* 98958C 80240A2C 24040001 */ addiu $a0, $zero, 1 +/* 989590 80240A30 C6020014 */ lwc1 $f2, 0x14($s0) +/* 989594 80240A34 46001080 */ add.s $f2, $f2, $f0 +/* 989598 80240A38 4405A000 */ mfc1 $a1, $f20 +/* 98959C 80240A3C E6020014 */ swc1 $f2, 0x14($s0) +/* 9895A0 80240A40 AFB30010 */ sw $s3, 0x10($sp) +/* 9895A4 80240A44 8E060044 */ lw $a2, 0x44($s0) +/* 9895A8 80240A48 8E470064 */ lw $a3, 0x64($s2) +/* 9895AC 80240A4C 0C00A8ED */ jal update_lerp +/* 9895B0 80240A50 24040001 */ addiu $a0, $zero, 1 +/* 9895B4 80240A54 C6020020 */ lwc1 $f2, 0x20($s0) +/* 9895B8 80240A58 46001080 */ add.s $f2, $f2, $f0 +/* 9895BC 80240A5C 4405A000 */ mfc1 $a1, $f20 +/* 9895C0 80240A60 E6020020 */ swc1 $f2, 0x20($s0) +/* 9895C4 80240A64 AFB30010 */ sw $s3, 0x10($sp) +/* 9895C8 80240A68 8E060050 */ lw $a2, 0x50($s0) +/* 9895CC 80240A6C 8E470064 */ lw $a3, 0x64($s2) +/* 9895D0 80240A70 0C00A8ED */ jal update_lerp +/* 9895D4 80240A74 24040001 */ addiu $a0, $zero, 1 +/* 9895D8 80240A78 C602002C */ lwc1 $f2, 0x2c($s0) +/* 9895DC 80240A7C 46001080 */ add.s $f2, $f2, $f0 +/* 9895E0 80240A80 26310001 */ addiu $s1, $s1, 1 +/* 9895E4 80240A84 2A220003 */ slti $v0, $s1, 3 +/* 9895E8 80240A88 E602002C */ swc1 $f2, 0x2c($s0) +/* 9895EC 80240A8C 1440FFE2 */ bnez $v0, .L80240A18 +/* 9895F0 80240A90 26100004 */ addiu $s0, $s0, 4 +/* 9895F4 80240A94 8E420064 */ lw $v0, 0x64($s2) +/* 9895F8 80240A98 24420001 */ addiu $v0, $v0, 1 +/* 9895FC 80240A9C AE420064 */ sw $v0, 0x64($s2) +/* 989600 80240AA0 28420015 */ slti $v0, $v0, 0x15 +/* 989604 80240AA4 14400005 */ bnez $v0, .L80240ABC +/* 989608 80240AA8 0000882D */ daddu $s1, $zero, $zero +/* 98960C 80240AAC 24020002 */ addiu $v0, $zero, 2 +.L80240AB0: +/* 989610 80240AB0 AE420004 */ sw $v0, 4($s2) +/* 989614 80240AB4 AE400064 */ sw $zero, 0x64($s2) +/* 989618 80240AB8 0000882D */ daddu $s1, $zero, $zero +.L80240ABC: +/* 98961C 80240ABC 0240282D */ daddu $a1, $s2, $zero +.L80240AC0: +/* 989620 80240AC0 8CA20008 */ lw $v0, 8($a1) +/* 989624 80240AC4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 989628 80240AC8 8C42000C */ lw $v0, 0xc($v0) +/* 98962C 80240ACC E4400010 */ swc1 $f0, 0x10($v0) +/* 989630 80240AD0 8CA20008 */ lw $v0, 8($a1) +/* 989634 80240AD4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 989638 80240AD8 8C42000C */ lw $v0, 0xc($v0) +/* 98963C 80240ADC 26310001 */ addiu $s1, $s1, 1 +/* 989640 80240AE0 E4400014 */ swc1 $f0, 0x14($v0) +/* 989644 80240AE4 8CA20008 */ lw $v0, 8($a1) +/* 989648 80240AE8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 98964C 80240AEC 8C42000C */ lw $v0, 0xc($v0) +/* 989650 80240AF0 E4400018 */ swc1 $f0, 0x18($v0) +/* 989654 80240AF4 2A220003 */ slti $v0, $s1, 3 +/* 989658 80240AF8 1440FFF1 */ bnez $v0, .L80240AC0 +/* 98965C 80240AFC 24A50004 */ addiu $a1, $a1, 4 +/* 989660 80240B00 0000102D */ daddu $v0, $zero, $zero +.L80240B04: +/* 989664 80240B04 8FBF0044 */ lw $ra, 0x44($sp) +/* 989668 80240B08 8FB60040 */ lw $s6, 0x40($sp) +/* 98966C 80240B0C 8FB5003C */ lw $s5, 0x3c($sp) +/* 989670 80240B10 8FB40038 */ lw $s4, 0x38($sp) +/* 989674 80240B14 8FB30034 */ lw $s3, 0x34($sp) +/* 989678 80240B18 8FB20030 */ lw $s2, 0x30($sp) +/* 98967C 80240B1C 8FB1002C */ lw $s1, 0x2c($sp) +/* 989680 80240B20 8FB00028 */ lw $s0, 0x28($sp) +/* 989684 80240B24 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 989688 80240B28 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 98968C 80240B2C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 989690 80240B30 03E00008 */ jr $ra +/* 989694 80240B34 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240B38.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240B38.s new file mode 100644 index 0000000000..5d32452cf3 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240B38.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B38 +/* 989698 80240B38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 98969C 80240B3C AFB10014 */ sw $s1, 0x14($sp) +/* 9896A0 80240B40 0080882D */ daddu $s1, $a0, $zero +/* 9896A4 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* 9896A8 80240B48 AFBF001C */ sw $ra, 0x1c($sp) +/* 9896AC 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* 9896B0 80240B50 8E30000C */ lw $s0, 0xc($s1) +/* 9896B4 80240B54 10A00010 */ beqz $a1, .L80240B98 +/* 9896B8 80240B58 0000902D */ daddu $s2, $zero, $zero +/* 9896BC 80240B5C 8E050000 */ lw $a1, ($s0) +/* 9896C0 80240B60 0C0B1EAF */ jal get_variable +/* 9896C4 80240B64 26100004 */ addiu $s0, $s0, 4 +/* 9896C8 80240B68 AE220084 */ sw $v0, 0x84($s1) +/* 9896CC 80240B6C 8E050000 */ lw $a1, ($s0) +/* 9896D0 80240B70 0C0B1EAF */ jal get_variable +/* 9896D4 80240B74 0220202D */ daddu $a0, $s1, $zero +/* 9896D8 80240B78 0240202D */ daddu $a0, $s2, $zero +/* 9896DC 80240B7C 240500D0 */ addiu $a1, $zero, 0xd0 +/* 9896E0 80240B80 00A0302D */ daddu $a2, $a1, $zero +/* 9896E4 80240B84 00A0382D */ daddu $a3, $a1, $zero +/* 9896E8 80240B88 AE220088 */ sw $v0, 0x88($s1) +/* 9896EC 80240B8C AE200070 */ sw $zero, 0x70($s1) +/* 9896F0 80240B90 0C04DF84 */ jal func_80137E10 +/* 9896F4 80240B94 AE200074 */ sw $zero, 0x74($s1) +.L80240B98: +/* 9896F8 80240B98 8E230070 */ lw $v1, 0x70($s1) +/* 9896FC 80240B9C 24040001 */ addiu $a0, $zero, 1 +/* 989700 80240BA0 10640019 */ beq $v1, $a0, .L80240C08 +/* 989704 80240BA4 28620002 */ slti $v0, $v1, 2 +/* 989708 80240BA8 10400005 */ beqz $v0, .L80240BC0 +/* 98970C 80240BAC 24020002 */ addiu $v0, $zero, 2 +/* 989710 80240BB0 10600007 */ beqz $v1, .L80240BD0 +/* 989714 80240BB4 240500FF */ addiu $a1, $zero, 0xff +/* 989718 80240BB8 08090312 */ j .L80240C48 +/* 98971C 80240BBC 00000000 */ nop +.L80240BC0: +/* 989720 80240BC0 10620019 */ beq $v1, $v0, .L80240C28 +/* 989724 80240BC4 00000000 */ nop +/* 989728 80240BC8 08090312 */ j .L80240C48 +/* 98972C 80240BCC 00000000 */ nop +.L80240BD0: +/* 989730 80240BD0 8E220074 */ lw $v0, 0x74($s1) +/* 989734 80240BD4 14450004 */ bne $v0, $a1, .L80240BE8 +/* 989738 80240BD8 00000000 */ nop +/* 98973C 80240BDC AE240070 */ sw $a0, 0x70($s1) +/* 989740 80240BE0 AE200078 */ sw $zero, 0x78($s1) +/* 989744 80240BE4 8E220074 */ lw $v0, 0x74($s1) +.L80240BE8: +/* 989748 80240BE8 8E230084 */ lw $v1, 0x84($s1) +/* 98974C 80240BEC 00431021 */ addu $v0, $v0, $v1 +/* 989750 80240BF0 AE220074 */ sw $v0, 0x74($s1) +/* 989754 80240BF4 28420100 */ slti $v0, $v0, 0x100 +/* 989758 80240BF8 50400013 */ beql $v0, $zero, .L80240C48 +/* 98975C 80240BFC AE250074 */ sw $a1, 0x74($s1) +/* 989760 80240C00 08090312 */ j .L80240C48 +/* 989764 80240C04 00000000 */ nop +.L80240C08: +/* 989768 80240C08 8E220078 */ lw $v0, 0x78($s1) +/* 98976C 80240C0C 24420001 */ addiu $v0, $v0, 1 +/* 989770 80240C10 AE220078 */ sw $v0, 0x78($s1) +/* 989774 80240C14 28420002 */ slti $v0, $v0, 2 +/* 989778 80240C18 1440000B */ bnez $v0, .L80240C48 +/* 98977C 80240C1C 24020002 */ addiu $v0, $zero, 2 +/* 989780 80240C20 08090312 */ j .L80240C48 +/* 989784 80240C24 AE220070 */ sw $v0, 0x70($s1) +.L80240C28: +/* 989788 80240C28 8E230074 */ lw $v1, 0x74($s1) +/* 98978C 80240C2C 50600001 */ beql $v1, $zero, .L80240C34 +/* 989790 80240C30 24120001 */ addiu $s2, $zero, 1 +.L80240C34: +/* 989794 80240C34 8E220088 */ lw $v0, 0x88($s1) +/* 989798 80240C38 00621023 */ subu $v0, $v1, $v0 +/* 98979C 80240C3C 04410002 */ bgez $v0, .L80240C48 +/* 9897A0 80240C40 AE220074 */ sw $v0, 0x74($s1) +/* 9897A4 80240C44 AE200074 */ sw $zero, 0x74($s1) +.L80240C48: +/* 9897A8 80240C48 C6200074 */ lwc1 $f0, 0x74($s1) +/* 9897AC 80240C4C 46800020 */ cvt.s.w $f0, $f0 +/* 9897B0 80240C50 44050000 */ mfc1 $a1, $f0 +/* 9897B4 80240C54 0C04DF62 */ jal func_80137D88 +/* 9897B8 80240C58 24040001 */ addiu $a0, $zero, 1 +/* 9897BC 80240C5C 0240102D */ daddu $v0, $s2, $zero +/* 9897C0 80240C60 8FBF001C */ lw $ra, 0x1c($sp) +/* 9897C4 80240C64 8FB20018 */ lw $s2, 0x18($sp) +/* 9897C8 80240C68 8FB10014 */ lw $s1, 0x14($sp) +/* 9897CC 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* 9897D0 80240C70 03E00008 */ jr $ra +/* 9897D4 80240C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240C78.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240C78.s new file mode 100644 index 0000000000..5296be57fd --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240C78.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78 +/* 9897D8 80240C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9897DC 80240C7C AFBF0018 */ sw $ra, 0x18($sp) +/* 9897E0 80240C80 0C00EAD2 */ jal get_npc_safe +/* 9897E4 80240C84 2404FFFC */ addiu $a0, $zero, -4 +/* 9897E8 80240C88 3C0141F0 */ lui $at, 0x41f0 +/* 9897EC 80240C8C 44810000 */ mtc1 $at, $f0 +/* 9897F0 80240C90 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9897F4 80240C94 46001080 */ add.s $f2, $f2, $f0 +/* 9897F8 80240C98 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9897FC 80240C9C 8C450038 */ lw $a1, 0x38($v0) +/* 989800 80240CA0 8C470040 */ lw $a3, 0x40($v0) +/* 989804 80240CA4 44061000 */ mfc1 $a2, $f2 +/* 989808 80240CA8 0C01BFBC */ jal func_8006FEF0 +/* 98980C 80240CAC 24040002 */ addiu $a0, $zero, 2 +/* 989810 80240CB0 8FBF0018 */ lw $ra, 0x18($sp) +/* 989814 80240CB4 24020002 */ addiu $v0, $zero, 2 +/* 989818 80240CB8 03E00008 */ jr $ra +/* 98981C 80240CBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240CC0_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240CC0_988B60.s new file mode 100644 index 0000000000..5327bc50e9 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240CC0_988B60.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_989820 +/* 989820 80240CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 989824 80240CC4 AFBF0018 */ sw $ra, 0x18($sp) +/* 989828 80240CC8 0C00EAD2 */ jal get_npc_safe +/* 98982C 80240CCC 2404FFFC */ addiu $a0, $zero, -4 +/* 989830 80240CD0 3C0141F0 */ lui $at, 0x41f0 +/* 989834 80240CD4 44810000 */ mtc1 $at, $f0 +/* 989838 80240CD8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 98983C 80240CDC 46001080 */ add.s $f2, $f2, $f0 +/* 989840 80240CE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 989844 80240CE4 8C450038 */ lw $a1, 0x38($v0) +/* 989848 80240CE8 8C470040 */ lw $a3, 0x40($v0) +/* 98984C 80240CEC 44061000 */ mfc1 $a2, $f2 +/* 989850 80240CF0 0C01BFBC */ jal func_8006FEF0 +/* 989854 80240CF4 24040004 */ addiu $a0, $zero, 4 +/* 989858 80240CF8 8FBF0018 */ lw $ra, 0x18($sp) +/* 98985C 80240CFC 24020002 */ addiu $v0, $zero, 2 +/* 989860 80240D00 03E00008 */ jr $ra +/* 989864 80240D04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240D08.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240D08.s new file mode 100644 index 0000000000..5155693847 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240D08.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08 +/* 989868 80240D08 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 98986C 80240D0C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 989870 80240D10 AC800084 */ sw $zero, 0x84($a0) +/* 989874 80240D14 80620000 */ lb $v0, ($v1) +/* 989878 80240D18 10400005 */ beqz $v0, .L80240D30 +/* 98987C 80240D1C 24020003 */ addiu $v0, $zero, 3 +/* 989880 80240D20 80630003 */ lb $v1, 3($v1) +/* 989884 80240D24 14620002 */ bne $v1, $v0, .L80240D30 +/* 989888 80240D28 24020001 */ addiu $v0, $zero, 1 +/* 98988C 80240D2C AC820084 */ sw $v0, 0x84($a0) +.L80240D30: +/* 989890 80240D30 03E00008 */ jr $ra +/* 989894 80240D34 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_isk/isk_10/func_80240D38_988B60.s b/asm/nonmatchings/world/area_isk/isk_10/func_80240D38_988B60.s new file mode 100644 index 0000000000..8021cc8534 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_10/func_80240D38_988B60.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D38_989898 +/* 989898 80240D38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 98989C 80240D3C 3C028011 */ lui $v0, 0x8011 +/* 9898A0 80240D40 8442EFE0 */ lh $v0, -0x1020($v0) +/* 9898A4 80240D44 3C018024 */ lui $at, 0x8024 +/* 9898A8 80240D48 D4201EA0 */ ldc1 $f0, 0x1ea0($at) +/* 9898AC 80240D4C 2406FFFF */ addiu $a2, $zero, -1 +/* 9898B0 80240D50 44821000 */ mtc1 $v0, $f2 +/* 9898B4 80240D54 00000000 */ nop +/* 9898B8 80240D58 468010A1 */ cvt.d.w $f2, $f2 +/* 9898BC 80240D5C 4622003C */ c.lt.d $f0, $f2 +/* 9898C0 80240D60 00000000 */ nop +/* 9898C4 80240D64 45000002 */ bc1f .L80240D70 +/* 9898C8 80240D68 AFBF0010 */ sw $ra, 0x10($sp) +/* 9898CC 80240D6C 0000302D */ daddu $a2, $zero, $zero +.L80240D70: +/* 9898D0 80240D70 3C018024 */ lui $at, 0x8024 +/* 9898D4 80240D74 D4201EA8 */ ldc1 $f0, 0x1ea8($at) +/* 9898D8 80240D78 4620103C */ c.lt.d $f2, $f0 +/* 9898DC 80240D7C 00000000 */ nop +/* 9898E0 80240D80 45030001 */ bc1tl .L80240D88 +/* 9898E4 80240D84 24060001 */ addiu $a2, $zero, 1 +.L80240D88: +/* 9898E8 80240D88 04C00004 */ bltz $a2, .L80240D9C +/* 9898EC 80240D8C 00000000 */ nop +/* 9898F0 80240D90 3C05FD05 */ lui $a1, 0xfd05 +/* 9898F4 80240D94 0C0B2026 */ jal set_variable +/* 9898F8 80240D98 34A50F89 */ ori $a1, $a1, 0xf89 +.L80240D9C: +/* 9898FC 80240D9C 8FBF0010 */ lw $ra, 0x10($sp) +/* 989900 80240DA0 0000102D */ daddu $v0, $zero, $zero +/* 989904 80240DA4 03E00008 */ jr $ra +/* 989908 80240DA8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 98990C 80240DAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_11/func_80240000_98AA10.s b/asm/nonmatchings/world/area_isk/isk_11/func_80240000_98AA10.s new file mode 100644 index 0000000000..3d4d8641b3 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_11/func_80240000_98AA10.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_98AA10 +/* 98AA10 80240000 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 98AA14 80240004 AFB1001C */ sw $s1, 0x1c($sp) +/* 98AA18 80240008 0080882D */ daddu $s1, $a0, $zero +/* 98AA1C 8024000C AFBF0020 */ sw $ra, 0x20($sp) +/* 98AA20 80240010 AFB00018 */ sw $s0, 0x18($sp) +/* 98AA24 80240014 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 98AA28 80240018 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 98AA2C 8024001C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 98AA30 80240020 8E30000C */ lw $s0, 0xc($s1) +/* 98AA34 80240024 8E050000 */ lw $a1, ($s0) +/* 98AA38 80240028 0C0B210B */ jal get_float_variable +/* 98AA3C 8024002C 26100004 */ addiu $s0, $s0, 4 +/* 98AA40 80240030 8E050000 */ lw $a1, ($s0) +/* 98AA44 80240034 26100004 */ addiu $s0, $s0, 4 +/* 98AA48 80240038 0220202D */ daddu $a0, $s1, $zero +/* 98AA4C 8024003C 0C0B210B */ jal get_float_variable +/* 98AA50 80240040 46000606 */ mov.s $f24, $f0 +/* 98AA54 80240044 8E050000 */ lw $a1, ($s0) +/* 98AA58 80240048 26100004 */ addiu $s0, $s0, 4 +/* 98AA5C 8024004C 0220202D */ daddu $a0, $s1, $zero +/* 98AA60 80240050 0C0B210B */ jal get_float_variable +/* 98AA64 80240054 46000586 */ mov.s $f22, $f0 +/* 98AA68 80240058 0220202D */ daddu $a0, $s1, $zero +/* 98AA6C 8024005C 8E050000 */ lw $a1, ($s0) +/* 98AA70 80240060 0C0B1EAF */ jal get_variable +/* 98AA74 80240064 46000506 */ mov.s $f20, $f0 +/* 98AA78 80240068 4405C000 */ mfc1 $a1, $f24 +/* 98AA7C 8024006C 4406B000 */ mfc1 $a2, $f22 +/* 98AA80 80240070 4407A000 */ mfc1 $a3, $f20 +/* 98AA84 80240074 0000202D */ daddu $a0, $zero, $zero +/* 98AA88 80240078 0C01C094 */ jal func_80070250 +/* 98AA8C 8024007C AFA20010 */ sw $v0, 0x10($sp) +/* 98AA90 80240080 8FBF0020 */ lw $ra, 0x20($sp) +/* 98AA94 80240084 8FB1001C */ lw $s1, 0x1c($sp) +/* 98AA98 80240088 8FB00018 */ lw $s0, 0x18($sp) +/* 98AA9C 8024008C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 98AAA0 80240090 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 98AAA4 80240094 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 98AAA8 80240098 24020002 */ addiu $v0, $zero, 2 +/* 98AAAC 8024009C 03E00008 */ jr $ra +/* 98AAB0 802400A0 27BD0040 */ addiu $sp, $sp, 0x40 +/* 98AAB4 802400A4 00000000 */ nop +/* 98AAB8 802400A8 00000000 */ nop +/* 98AABC 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_11/func_802400B0_98AA10.s b/asm/nonmatchings/world/area_isk/isk_11/func_802400B0_98AA10.s new file mode 100644 index 0000000000..976ff01238 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_11/func_802400B0_98AA10.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_98AAC0 +/* 98AAC0 802400B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 98AAC4 802400B4 AFB10014 */ sw $s1, 0x14($sp) +/* 98AAC8 802400B8 0080882D */ daddu $s1, $a0, $zero +/* 98AACC 802400BC AFBF0018 */ sw $ra, 0x18($sp) +/* 98AAD0 802400C0 AFB00010 */ sw $s0, 0x10($sp) +/* 98AAD4 802400C4 8E30000C */ lw $s0, 0xc($s1) +/* 98AAD8 802400C8 8E050000 */ lw $a1, ($s0) +/* 98AADC 802400CC 0C0B1EAF */ jal get_variable +/* 98AAE0 802400D0 26100004 */ addiu $s0, $s0, 4 +/* 98AAE4 802400D4 3C03FFF0 */ lui $v1, 0xfff0 +/* 98AAE8 802400D8 3463FFFF */ ori $v1, $v1, 0xffff +/* 98AAEC 802400DC 00431024 */ and $v0, $v0, $v1 +/* 98AAF0 802400E0 00021140 */ sll $v0, $v0, 5 +/* 98AAF4 802400E4 8E050000 */ lw $a1, ($s0) +/* 98AAF8 802400E8 3C068008 */ lui $a2, %hi(gItemTable) +/* 98AAFC 802400EC 00C23021 */ addu $a2, $a2, $v0 +/* 98AB00 802400F0 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 98AB04 802400F4 0C0B2026 */ jal set_variable +/* 98AB08 802400F8 0220202D */ daddu $a0, $s1, $zero +/* 98AB0C 802400FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 98AB10 80240100 8FB10014 */ lw $s1, 0x14($sp) +/* 98AB14 80240104 8FB00010 */ lw $s0, 0x10($sp) +/* 98AB18 80240108 24020002 */ addiu $v0, $zero, 2 +/* 98AB1C 8024010C 03E00008 */ jr $ra +/* 98AB20 80240110 27BD0020 */ addiu $sp, $sp, 0x20 +/* 98AB24 80240114 00000000 */ nop +/* 98AB28 80240118 00000000 */ nop +/* 98AB2C 8024011C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_11/func_80240120_98AA10.s b/asm/nonmatchings/world/area_isk/isk_11/func_80240120_98AA10.s new file mode 100644 index 0000000000..34a913143e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_11/func_80240120_98AA10.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_98AB30 +/* 98AB30 80240120 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 98AB34 80240124 AFBF0010 */ sw $ra, 0x10($sp) +/* 98AB38 80240128 0C04417A */ jal get_entity_by_index +/* 98AB3C 8024012C 8C840084 */ lw $a0, 0x84($a0) +/* 98AB40 80240130 0040182D */ daddu $v1, $v0, $zero +/* 98AB44 80240134 8C640000 */ lw $a0, ($v1) +/* 98AB48 80240138 3C050010 */ lui $a1, 0x10 +/* 98AB4C 8024013C 00852025 */ or $a0, $a0, $a1 +/* 98AB50 80240140 AC640000 */ sw $a0, ($v1) +/* 98AB54 80240144 8FBF0010 */ lw $ra, 0x10($sp) +/* 98AB58 80240148 24020002 */ addiu $v0, $zero, 2 +/* 98AB5C 8024014C 03E00008 */ jr $ra +/* 98AB60 80240150 27BD0018 */ addiu $sp, $sp, 0x18 +/* 98AB64 80240154 00000000 */ nop +/* 98AB68 80240158 00000000 */ nop +/* 98AB6C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240000_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240000_98F7E0.s new file mode 100644 index 0000000000..ee261d5494 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240000_98F7E0.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_98F7E0 +/* 98F7E0 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 98F7E4 80240004 AFB00030 */ sw $s0, 0x30($sp) +/* 98F7E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 98F7EC 8024000C AFBF0040 */ sw $ra, 0x40($sp) +/* 98F7F0 80240010 AFB3003C */ sw $s3, 0x3c($sp) +/* 98F7F4 80240014 AFB20038 */ sw $s2, 0x38($sp) +/* 98F7F8 80240018 AFB10034 */ sw $s1, 0x34($sp) +/* 98F7FC 8024001C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 98F800 80240020 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 98F804 80240024 8E130148 */ lw $s3, 0x148($s0) +/* 98F808 80240028 00A0882D */ daddu $s1, $a1, $zero +/* 98F80C 8024002C 86640008 */ lh $a0, 8($s3) +/* 98F810 80240030 0C00EABB */ jal get_npc_unsafe +/* 98F814 80240034 00C0902D */ daddu $s2, $a2, $zero +/* 98F818 80240038 0200202D */ daddu $a0, $s0, $zero +/* 98F81C 8024003C 0220282D */ daddu $a1, $s1, $zero +/* 98F820 80240040 0240302D */ daddu $a2, $s2, $zero +/* 98F824 80240044 0C012568 */ jal func_800495A0 +/* 98F828 80240048 0040802D */ daddu $s0, $v0, $zero +/* 98F82C 8024004C 8E020000 */ lw $v0, ($s0) +/* 98F830 80240050 2404002D */ addiu $a0, $zero, 0x2d +/* 98F834 80240054 34420800 */ ori $v0, $v0, 0x800 +/* 98F838 80240058 0C00A67F */ jal rand_int +/* 98F83C 8024005C AE020000 */ sw $v0, ($s0) +/* 98F840 80240060 0200202D */ daddu $a0, $s0, $zero +/* 98F844 80240064 3C05B000 */ lui $a1, 0xb000 +/* 98F848 80240068 34A50017 */ ori $a1, $a1, 0x17 +/* 98F84C 8024006C 44820000 */ mtc1 $v0, $f0 +/* 98F850 80240070 00000000 */ nop +/* 98F854 80240074 46800021 */ cvt.d.w $f0, $f0 +/* 98F858 80240078 3C014024 */ lui $at, 0x4024 +/* 98F85C 8024007C 44811800 */ mtc1 $at, $f3 +/* 98F860 80240080 44801000 */ mtc1 $zero, $f2 +/* 98F864 80240084 3C014020 */ lui $at, 0x4020 +/* 98F868 80240088 44812800 */ mtc1 $at, $f5 +/* 98F86C 8024008C 44802000 */ mtc1 $zero, $f4 +/* 98F870 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 98F874 80240094 46240000 */ add.d $f0, $f0, $f4 +/* 98F878 80240098 3C013FC0 */ lui $at, 0x3fc0 +/* 98F87C 8024009C 44811000 */ mtc1 $at, $f2 +/* 98F880 802400A0 0000302D */ daddu $a2, $zero, $zero +/* 98F884 802400A4 E6020014 */ swc1 $f2, 0x14($s0) +/* 98F888 802400A8 46200020 */ cvt.s.d $f0, $f0 +/* 98F88C 802400AC 0C012530 */ jal func_800494C0 +/* 98F890 802400B0 E600001C */ swc1 $f0, 0x1c($s0) +/* 98F894 802400B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* 98F898 802400B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 98F89C 802400BC C4620000 */ lwc1 $f2, ($v1) +/* 98F8A0 802400C0 468010A0 */ cvt.s.w $f2, $f2 +/* 98F8A4 802400C4 C4640008 */ lwc1 $f4, 8($v1) +/* 98F8A8 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* 98F8AC 802400CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 98F8B0 802400D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* 98F8B4 802400D4 44051000 */ mfc1 $a1, $f2 +/* 98F8B8 802400D8 C440000C */ lwc1 $f0, 0xc($v0) +/* 98F8BC 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* 98F8C0 802400E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 98F8C4 802400E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* 98F8C8 802400E8 44062000 */ mfc1 $a2, $f4 +/* 98F8CC 802400EC C4400010 */ lwc1 $f0, 0x10($v0) +/* 98F8D0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* 98F8D4 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 98F8D8 802400F8 8C640018 */ lw $a0, 0x18($v1) +/* 98F8DC 802400FC 0C0123F5 */ jal is_point_within_region +/* 98F8E0 80240100 8E070038 */ lw $a3, 0x38($s0) +/* 98F8E4 80240104 10400035 */ beqz $v0, .L802401DC +/* 98F8E8 80240108 00000000 */ nop +/* 98F8EC 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 98F8F0 80240110 3C0141C8 */ lui $at, 0x41c8 +/* 98F8F4 80240114 4481B000 */ mtc1 $at, $f22 +/* 98F8F8 80240118 8E6200D0 */ lw $v0, 0xd0($s3) +/* 98F8FC 8024011C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 98F900 80240120 C4480000 */ lwc1 $f8, ($v0) +/* 98F904 80240124 46804220 */ cvt.s.w $f8, $f8 +/* 98F908 80240128 44064000 */ mfc1 $a2, $f8 +/* 98F90C 8024012C C4480008 */ lwc1 $f8, 8($v0) +/* 98F910 80240130 46804220 */ cvt.s.w $f8, $f8 +/* 98F914 80240134 44074000 */ mfc1 $a3, $f8 +/* 98F918 80240138 3C01403E */ lui $at, 0x403e +/* 98F91C 8024013C 4481A800 */ mtc1 $at, $f21 +/* 98F920 80240140 4480A000 */ mtc1 $zero, $f20 +/* 98F924 80240144 0C00A720 */ jal atan2 +/* 98F928 80240148 0000882D */ daddu $s1, $zero, $zero +/* 98F92C 8024014C C6020038 */ lwc1 $f2, 0x38($s0) +/* 98F930 80240150 C604003C */ lwc1 $f4, 0x3c($s0) +/* 98F934 80240154 C6060040 */ lwc1 $f6, 0x40($s0) +/* 98F938 80240158 E600000C */ swc1 $f0, 0xc($s0) +/* 98F93C 8024015C E7A20020 */ swc1 $f2, 0x20($sp) +/* 98F940 80240160 E7A40024 */ swc1 $f4, 0x24($sp) +/* 98F944 80240164 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240168: +/* 98F948 80240168 E7B60010 */ swc1 $f22, 0x10($sp) +/* 98F94C 8024016C C600000C */ lwc1 $f0, 0xc($s0) +/* 98F950 80240170 E7A00014 */ swc1 $f0, 0x14($sp) +/* 98F954 80240174 860200A8 */ lh $v0, 0xa8($s0) +/* 98F958 80240178 27A50020 */ addiu $a1, $sp, 0x20 +/* 98F95C 8024017C 44820000 */ mtc1 $v0, $f0 +/* 98F960 80240180 00000000 */ nop +/* 98F964 80240184 46800020 */ cvt.s.w $f0, $f0 +/* 98F968 80240188 E7A00018 */ swc1 $f0, 0x18($sp) +/* 98F96C 8024018C 860200A6 */ lh $v0, 0xa6($s0) +/* 98F970 80240190 27A60024 */ addiu $a2, $sp, 0x24 +/* 98F974 80240194 44820000 */ mtc1 $v0, $f0 +/* 98F978 80240198 00000000 */ nop +/* 98F97C 8024019C 46800020 */ cvt.s.w $f0, $f0 +/* 98F980 802401A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 98F984 802401A4 8E040080 */ lw $a0, 0x80($s0) +/* 98F988 802401A8 0C037711 */ jal func_800DDC44 +/* 98F98C 802401AC 27A70028 */ addiu $a3, $sp, 0x28 +/* 98F990 802401B0 10400016 */ beqz $v0, .L8024020C +/* 98F994 802401B4 26310001 */ addiu $s1, $s1, 1 +/* 98F998 802401B8 C600000C */ lwc1 $f0, 0xc($s0) +/* 98F99C 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* 98F9A0 802401C0 46340000 */ add.d $f0, $f0, $f20 +/* 98F9A4 802401C4 2A220006 */ slti $v0, $s1, 6 +/* 98F9A8 802401C8 46200020 */ cvt.s.d $f0, $f0 +/* 98F9AC 802401CC 1440FFE6 */ bnez $v0, .L80240168 +/* 98F9B0 802401D0 E600000C */ swc1 $f0, 0xc($s0) +/* 98F9B4 802401D4 08090083 */ j .L8024020C +/* 98F9B8 802401D8 00000000 */ nop +.L802401DC: +/* 98F9BC 802401DC 0C00A67F */ jal rand_int +/* 98F9C0 802401E0 2404003C */ addiu $a0, $zero, 0x3c +/* 98F9C4 802401E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 98F9C8 802401E8 44820000 */ mtc1 $v0, $f0 +/* 98F9CC 802401EC 00000000 */ nop +/* 98F9D0 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* 98F9D4 802401F4 46006300 */ add.s $f12, $f12, $f0 +/* 98F9D8 802401F8 3C0141F0 */ lui $at, 0x41f0 +/* 98F9DC 802401FC 44810000 */ mtc1 $at, $f0 +/* 98F9E0 80240200 0C00A6C9 */ jal clamp_angle +/* 98F9E4 80240204 46006301 */ sub.s $f12, $f12, $f0 +/* 98F9E8 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* 98F9EC 8024020C 8FBF0040 */ lw $ra, 0x40($sp) +/* 98F9F0 80240210 8FB3003C */ lw $s3, 0x3c($sp) +/* 98F9F4 80240214 8FB20038 */ lw $s2, 0x38($sp) +/* 98F9F8 80240218 8FB10034 */ lw $s1, 0x34($sp) +/* 98F9FC 8024021C 8FB00030 */ lw $s0, 0x30($sp) +/* 98FA00 80240220 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 98FA04 80240224 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 98FA08 80240228 03E00008 */ jr $ra +/* 98FA0C 8024022C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240230_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240230_98F7E0.s new file mode 100644 index 0000000000..17fd90daf4 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240230_98F7E0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240230_98FA10 +/* 98FA10 80240230 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 98FA14 80240234 AFB3004C */ sw $s3, 0x4c($sp) +/* 98FA18 80240238 0080982D */ daddu $s3, $a0, $zero +/* 98FA1C 8024023C AFBF0054 */ sw $ra, 0x54($sp) +/* 98FA20 80240240 AFB40050 */ sw $s4, 0x50($sp) +/* 98FA24 80240244 AFB20048 */ sw $s2, 0x48($sp) +/* 98FA28 80240248 AFB10044 */ sw $s1, 0x44($sp) +/* 98FA2C 8024024C AFB00040 */ sw $s0, 0x40($sp) +/* 98FA30 80240250 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 98FA34 80240254 8E710148 */ lw $s1, 0x148($s3) +/* 98FA38 80240258 00A0A02D */ daddu $s4, $a1, $zero +/* 98FA3C 8024025C 86240008 */ lh $a0, 8($s1) +/* 98FA40 80240260 0C00EABB */ jal get_npc_unsafe +/* 98FA44 80240264 00C0902D */ daddu $s2, $a2, $zero +/* 98FA48 80240268 8E830014 */ lw $v1, 0x14($s4) +/* 98FA4C 8024026C 04600034 */ bltz $v1, .L80240340 +/* 98FA50 80240270 0040802D */ daddu $s0, $v0, $zero +/* 98FA54 80240274 8E620074 */ lw $v0, 0x74($s3) +/* 98FA58 80240278 1C400030 */ bgtz $v0, .L8024033C +/* 98FA5C 8024027C 2442FFFF */ addiu $v0, $v0, -1 +/* 98FA60 80240280 0240202D */ daddu $a0, $s2, $zero +/* 98FA64 80240284 AE630074 */ sw $v1, 0x74($s3) +/* 98FA68 80240288 AFA00010 */ sw $zero, 0x10($sp) +/* 98FA6C 8024028C 8E86000C */ lw $a2, 0xc($s4) +/* 98FA70 80240290 8E870010 */ lw $a3, 0x10($s4) +/* 98FA74 80240294 0C01242D */ jal func_800490B4 +/* 98FA78 80240298 0220282D */ daddu $a1, $s1, $zero +/* 98FA7C 8024029C 10400025 */ beqz $v0, .L80240334 +/* 98FA80 802402A0 0000202D */ daddu $a0, $zero, $zero +/* 98FA84 802402A4 0200282D */ daddu $a1, $s0, $zero +/* 98FA88 802402A8 0000302D */ daddu $a2, $zero, $zero +/* 98FA8C 802402AC 860300A8 */ lh $v1, 0xa8($s0) +/* 98FA90 802402B0 3C013F80 */ lui $at, 0x3f80 +/* 98FA94 802402B4 44810000 */ mtc1 $at, $f0 +/* 98FA98 802402B8 3C014000 */ lui $at, 0x4000 +/* 98FA9C 802402BC 44811000 */ mtc1 $at, $f2 +/* 98FAA0 802402C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 98FAA4 802402C4 44812000 */ mtc1 $at, $f4 +/* 98FAA8 802402C8 2402000F */ addiu $v0, $zero, 0xf +/* 98FAAC 802402CC AFA2001C */ sw $v0, 0x1c($sp) +/* 98FAB0 802402D0 44835000 */ mtc1 $v1, $f10 +/* 98FAB4 802402D4 00000000 */ nop +/* 98FAB8 802402D8 468052A0 */ cvt.s.w $f10, $f10 +/* 98FABC 802402DC 44075000 */ mfc1 $a3, $f10 +/* 98FAC0 802402E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 98FAC4 802402E4 AFA20020 */ sw $v0, 0x20($sp) +/* 98FAC8 802402E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 98FACC 802402EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 98FAD0 802402F0 0C01BFA4 */ jal fx_emote +/* 98FAD4 802402F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 98FAD8 802402F8 0200202D */ daddu $a0, $s0, $zero +/* 98FADC 802402FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 98FAE0 80240300 0C012530 */ jal func_800494C0 +/* 98FAE4 80240304 3C060020 */ lui $a2, 0x20 +/* 98FAE8 80240308 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 98FAEC 8024030C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 98FAF0 80240310 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 98FAF4 80240314 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 98FAF8 80240318 8C460028 */ lw $a2, 0x28($v0) +/* 98FAFC 8024031C 0C00A720 */ jal atan2 +/* 98FB00 80240320 8C470030 */ lw $a3, 0x30($v0) +/* 98FB04 80240324 2402000C */ addiu $v0, $zero, 0xc +/* 98FB08 80240328 E600000C */ swc1 $f0, 0xc($s0) +/* 98FB0C 8024032C 08090151 */ j .L80240544 +/* 98FB10 80240330 AE620070 */ sw $v0, 0x70($s3) +.L80240334: +/* 98FB14 80240334 8E620074 */ lw $v0, 0x74($s3) +/* 98FB18 80240338 2442FFFF */ addiu $v0, $v0, -1 +.L8024033C: +/* 98FB1C 8024033C AE620074 */ sw $v0, 0x74($s3) +.L80240340: +/* 98FB20 80240340 C6000018 */ lwc1 $f0, 0x18($s0) +/* 98FB24 80240344 44801000 */ mtc1 $zero, $f2 +/* 98FB28 80240348 44801800 */ mtc1 $zero, $f3 +/* 98FB2C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* 98FB30 80240350 4620103C */ c.lt.d $f2, $f0 +/* 98FB34 80240354 00000000 */ nop +/* 98FB38 80240358 45000025 */ bc1f .L802403F0 +/* 98FB3C 8024035C 27A5002C */ addiu $a1, $sp, 0x2c +/* 98FB40 80240360 C6000038 */ lwc1 $f0, 0x38($s0) +/* 98FB44 80240364 860200A6 */ lh $v0, 0xa6($s0) +/* 98FB48 80240368 3C018024 */ lui $at, 0x8024 +/* 98FB4C 8024036C D4222EB0 */ ldc1 $f2, 0x2eb0($at) +/* 98FB50 80240370 27A60030 */ addiu $a2, $sp, 0x30 +/* 98FB54 80240374 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 98FB58 80240378 44820000 */ mtc1 $v0, $f0 +/* 98FB5C 8024037C 00000000 */ nop +/* 98FB60 80240380 46800020 */ cvt.s.w $f0, $f0 +/* 98FB64 80240384 46000021 */ cvt.d.s $f0, $f0 +/* 98FB68 80240388 C604003C */ lwc1 $f4, 0x3c($s0) +/* 98FB6C 8024038C C6060040 */ lwc1 $f6, 0x40($s0) +/* 98FB70 80240390 C6080018 */ lwc1 $f8, 0x18($s0) +/* 98FB74 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* 98FB78 80240398 46220002 */ mul.d $f0, $f0, $f2 +/* 98FB7C 8024039C 00000000 */ nop +/* 98FB80 802403A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 98FB84 802403A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 98FB88 802403A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* 98FB8C 802403AC C604000C */ lwc1 $f4, 0xc($s0) +/* 98FB90 802403B0 44821000 */ mtc1 $v0, $f2 +/* 98FB94 802403B4 00000000 */ nop +/* 98FB98 802403B8 468010A0 */ cvt.s.w $f2, $f2 +/* 98FB9C 802403BC E7A20018 */ swc1 $f2, 0x18($sp) +/* 98FBA0 802403C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* 98FBA4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 98FBA8 802403C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 98FBAC 802403CC 8E040080 */ lw $a0, 0x80($s0) +/* 98FBB0 802403D0 0C037711 */ jal func_800DDC44 +/* 98FBB4 802403D4 27A70034 */ addiu $a3, $sp, 0x34 +/* 98FBB8 802403D8 54400005 */ bnel $v0, $zero, .L802403F0 +/* 98FBBC 802403DC AE000018 */ sw $zero, 0x18($s0) +/* 98FBC0 802403E0 8E050018 */ lw $a1, 0x18($s0) +/* 98FBC4 802403E4 8E06000C */ lw $a2, 0xc($s0) +/* 98FBC8 802403E8 0C00EA95 */ jal npc_move_heading +/* 98FBCC 802403EC 0200202D */ daddu $a0, $s0, $zero +.L802403F0: +/* 98FBD0 802403F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 98FBD4 802403F4 44801000 */ mtc1 $zero, $f2 +/* 98FBD8 802403F8 44801800 */ mtc1 $zero, $f3 +/* 98FBDC 802403FC 46000021 */ cvt.d.s $f0, $f0 +/* 98FBE0 80240400 4622003C */ c.lt.d $f0, $f2 +/* 98FBE4 80240404 00000000 */ nop +/* 98FBE8 80240408 45000047 */ bc1f .L80240528 +/* 98FBEC 8024040C 27A5002C */ addiu $a1, $sp, 0x2c +/* 98FBF0 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* 98FBF4 80240414 27A20038 */ addiu $v0, $sp, 0x38 +/* 98FBF8 80240418 C602003C */ lwc1 $f2, 0x3c($s0) +/* 98FBFC 8024041C C6060038 */ lwc1 $f6, 0x38($s0) +/* 98FC00 80240420 3C01402A */ lui $at, 0x402a +/* 98FC04 80240424 4481A800 */ mtc1 $at, $f21 +/* 98FC08 80240428 4480A000 */ mtc1 $zero, $f20 +/* 98FC0C 8024042C 460010A1 */ cvt.d.s $f2, $f2 +/* 98FC10 80240430 46341080 */ add.d $f2, $f2, $f20 +/* 98FC14 80240434 C600001C */ lwc1 $f0, 0x1c($s0) +/* 98FC18 80240438 C6040040 */ lwc1 $f4, 0x40($s0) +/* 98FC1C 8024043C 46000005 */ abs.s $f0, $f0 +/* 98FC20 80240440 E7A40034 */ swc1 $f4, 0x34($sp) +/* 98FC24 80240444 3C014030 */ lui $at, 0x4030 +/* 98FC28 80240448 44812800 */ mtc1 $at, $f5 +/* 98FC2C 8024044C 44802000 */ mtc1 $zero, $f4 +/* 98FC30 80240450 46000021 */ cvt.d.s $f0, $f0 +/* 98FC34 80240454 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 98FC38 80240458 46240000 */ add.d $f0, $f0, $f4 +/* 98FC3C 8024045C 462010A0 */ cvt.s.d $f2, $f2 +/* 98FC40 80240460 E7A20030 */ swc1 $f2, 0x30($sp) +/* 98FC44 80240464 46200020 */ cvt.s.d $f0, $f0 +/* 98FC48 80240468 E7A00038 */ swc1 $f0, 0x38($sp) +/* 98FC4C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 98FC50 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 98FC54 80240474 0C0372DF */ jal func_800DCB7C +/* 98FC58 80240478 27A70034 */ addiu $a3, $sp, 0x34 +/* 98FC5C 8024047C 1040002A */ beqz $v0, .L80240528 +/* 98FC60 80240480 00000000 */ nop +/* 98FC64 80240484 C600001C */ lwc1 $f0, 0x1c($s0) +/* 98FC68 80240488 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 98FC6C 8024048C 46000005 */ abs.s $f0, $f0 +/* 98FC70 80240490 46000021 */ cvt.d.s $f0, $f0 +/* 98FC74 80240494 46340000 */ add.d $f0, $f0, $f20 +/* 98FC78 80240498 460010A1 */ cvt.d.s $f2, $f2 +/* 98FC7C 8024049C 4620103E */ c.le.d $f2, $f0 +/* 98FC80 802404A0 00000000 */ nop +/* 98FC84 802404A4 45000020 */ bc1f .L80240528 +/* 98FC88 802404A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 98FC8C 802404AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* 98FC90 802404B0 8E020000 */ lw $v0, ($s0) +/* 98FC94 802404B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 98FC98 802404B8 AE00001C */ sw $zero, 0x1c($s0) +/* 98FC9C 802404BC 00431024 */ and $v0, $v0, $v1 +/* 98FCA0 802404C0 AE020000 */ sw $v0, ($s0) +/* 98FCA4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 98FCA8 802404C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 98FCAC 802404CC 0C00A67F */ jal rand_int +/* 98FCB0 802404D0 AE620070 */ sw $v0, 0x70($s3) +/* 98FCB4 802404D4 3C035555 */ lui $v1, 0x5555 +/* 98FCB8 802404D8 34635556 */ ori $v1, $v1, 0x5556 +/* 98FCBC 802404DC 00430018 */ mult $v0, $v1 +/* 98FCC0 802404E0 000227C3 */ sra $a0, $v0, 0x1f +/* 98FCC4 802404E4 00004010 */ mfhi $t0 +/* 98FCC8 802404E8 01042023 */ subu $a0, $t0, $a0 +/* 98FCCC 802404EC 00041840 */ sll $v1, $a0, 1 +/* 98FCD0 802404F0 00641821 */ addu $v1, $v1, $a0 +/* 98FCD4 802404F4 00431023 */ subu $v0, $v0, $v1 +/* 98FCD8 802404F8 24430002 */ addiu $v1, $v0, 2 +/* 98FCDC 802404FC AE630074 */ sw $v1, 0x74($s3) +/* 98FCE0 80240500 8E82002C */ lw $v0, 0x2c($s4) +/* 98FCE4 80240504 5840000F */ blezl $v0, .L80240544 +/* 98FCE8 80240508 AE600070 */ sw $zero, 0x70($s3) +/* 98FCEC 8024050C 8E820004 */ lw $v0, 4($s4) +/* 98FCF0 80240510 5840000C */ blezl $v0, .L80240544 +/* 98FCF4 80240514 AE600070 */ sw $zero, 0x70($s3) +/* 98FCF8 80240518 1460000A */ bnez $v1, .L80240544 +/* 98FCFC 8024051C 00000000 */ nop +/* 98FD00 80240520 08090151 */ j .L80240544 +/* 98FD04 80240524 AE600070 */ sw $zero, 0x70($s3) +.L80240528: +/* 98FD08 80240528 C604003C */ lwc1 $f4, 0x3c($s0) +/* 98FD0C 8024052C C600001C */ lwc1 $f0, 0x1c($s0) +/* 98FD10 80240530 46002100 */ add.s $f4, $f4, $f0 +/* 98FD14 80240534 C6020014 */ lwc1 $f2, 0x14($s0) +/* 98FD18 80240538 46020001 */ sub.s $f0, $f0, $f2 +/* 98FD1C 8024053C E604003C */ swc1 $f4, 0x3c($s0) +/* 98FD20 80240540 E600001C */ swc1 $f0, 0x1c($s0) +.L80240544: +/* 98FD24 80240544 8FBF0054 */ lw $ra, 0x54($sp) +/* 98FD28 80240548 8FB40050 */ lw $s4, 0x50($sp) +/* 98FD2C 8024054C 8FB3004C */ lw $s3, 0x4c($sp) +/* 98FD30 80240550 8FB20048 */ lw $s2, 0x48($sp) +/* 98FD34 80240554 8FB10044 */ lw $s1, 0x44($sp) +/* 98FD38 80240558 8FB00040 */ lw $s0, 0x40($sp) +/* 98FD3C 8024055C D7B40058 */ ldc1 $f20, 0x58($sp) +/* 98FD40 80240560 03E00008 */ jr $ra +/* 98FD44 80240564 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240568_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240568_98F7E0.s new file mode 100644 index 0000000000..a38159cd92 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240568_98F7E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_98FD48 +/* 98FD48 80240568 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 98FD4C 8024056C AFB3001C */ sw $s3, 0x1c($sp) +/* 98FD50 80240570 0080982D */ daddu $s3, $a0, $zero +/* 98FD54 80240574 AFBF0020 */ sw $ra, 0x20($sp) +/* 98FD58 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* 98FD5C 8024057C AFB10014 */ sw $s1, 0x14($sp) +/* 98FD60 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* 98FD64 80240584 8E720148 */ lw $s2, 0x148($s3) +/* 98FD68 80240588 86440008 */ lh $a0, 8($s2) +/* 98FD6C 8024058C 0C00EABB */ jal get_npc_unsafe +/* 98FD70 80240590 00A0882D */ daddu $s1, $a1, $zero +/* 98FD74 80240594 8E240008 */ lw $a0, 8($s1) +/* 98FD78 80240598 0040802D */ daddu $s0, $v0, $zero +/* 98FD7C 8024059C 00041FC2 */ srl $v1, $a0, 0x1f +/* 98FD80 802405A0 00832021 */ addu $a0, $a0, $v1 +/* 98FD84 802405A4 00042043 */ sra $a0, $a0, 1 +/* 98FD88 802405A8 0C00A67F */ jal rand_int +/* 98FD8C 802405AC 24840001 */ addiu $a0, $a0, 1 +/* 98FD90 802405B0 8E230008 */ lw $v1, 8($s1) +/* 98FD94 802405B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* 98FD98 802405B8 00032FC2 */ srl $a1, $v1, 0x1f +/* 98FD9C 802405BC 00651821 */ addu $v1, $v1, $a1 +/* 98FDA0 802405C0 00031843 */ sra $v1, $v1, 1 +/* 98FDA4 802405C4 00621821 */ addu $v1, $v1, $v0 +/* 98FDA8 802405C8 0C00A67F */ jal rand_int +/* 98FDAC 802405CC A603008E */ sh $v1, 0x8e($s0) +/* 98FDB0 802405D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 98FDB4 802405D4 44820000 */ mtc1 $v0, $f0 +/* 98FDB8 802405D8 00000000 */ nop +/* 98FDBC 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* 98FDC0 802405E0 46006300 */ add.s $f12, $f12, $f0 +/* 98FDC4 802405E4 3C0142B4 */ lui $at, 0x42b4 +/* 98FDC8 802405E8 44810000 */ mtc1 $at, $f0 +/* 98FDCC 802405EC 0C00A6C9 */ jal clamp_angle +/* 98FDD0 802405F0 46006301 */ sub.s $f12, $f12, $f0 +/* 98FDD4 802405F4 E600000C */ swc1 $f0, 0xc($s0) +/* 98FDD8 802405F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 98FDDC 802405FC 8C420000 */ lw $v0, ($v0) +/* 98FDE0 80240600 AE020028 */ sw $v0, 0x28($s0) +/* 98FDE4 80240604 24020003 */ addiu $v0, $zero, 3 +/* 98FDE8 80240608 AE620070 */ sw $v0, 0x70($s3) +/* 98FDEC 8024060C 8FBF0020 */ lw $ra, 0x20($sp) +/* 98FDF0 80240610 8FB3001C */ lw $s3, 0x1c($sp) +/* 98FDF4 80240614 8FB20018 */ lw $s2, 0x18($sp) +/* 98FDF8 80240618 8FB10014 */ lw $s1, 0x14($sp) +/* 98FDFC 8024061C 8FB00010 */ lw $s0, 0x10($sp) +/* 98FE00 80240620 03E00008 */ jr $ra +/* 98FE04 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240628_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240628_98F7E0.s new file mode 100644 index 0000000000..137ca28269 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240628_98F7E0.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_98FE08 +/* 98FE08 80240628 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 98FE0C 8024062C AFB40040 */ sw $s4, 0x40($sp) +/* 98FE10 80240630 0080A02D */ daddu $s4, $a0, $zero +/* 98FE14 80240634 AFBF0044 */ sw $ra, 0x44($sp) +/* 98FE18 80240638 AFB3003C */ sw $s3, 0x3c($sp) +/* 98FE1C 8024063C AFB20038 */ sw $s2, 0x38($sp) +/* 98FE20 80240640 AFB10034 */ sw $s1, 0x34($sp) +/* 98FE24 80240644 AFB00030 */ sw $s0, 0x30($sp) +/* 98FE28 80240648 8E920148 */ lw $s2, 0x148($s4) +/* 98FE2C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* 98FE30 80240650 86440008 */ lh $a0, 8($s2) +/* 98FE34 80240654 0C00EABB */ jal get_npc_unsafe +/* 98FE38 80240658 00C0982D */ daddu $s3, $a2, $zero +/* 98FE3C 8024065C 8E230014 */ lw $v1, 0x14($s1) +/* 98FE40 80240660 0460002D */ bltz $v1, .L80240718 +/* 98FE44 80240664 0040802D */ daddu $s0, $v0, $zero +/* 98FE48 80240668 0260202D */ daddu $a0, $s3, $zero +/* 98FE4C 8024066C AFA00010 */ sw $zero, 0x10($sp) +/* 98FE50 80240670 8E260024 */ lw $a2, 0x24($s1) +/* 98FE54 80240674 8E270028 */ lw $a3, 0x28($s1) +/* 98FE58 80240678 0C01242D */ jal func_800490B4 +/* 98FE5C 8024067C 0240282D */ daddu $a1, $s2, $zero +/* 98FE60 80240680 10400025 */ beqz $v0, .L80240718 +/* 98FE64 80240684 0000202D */ daddu $a0, $zero, $zero +/* 98FE68 80240688 0200282D */ daddu $a1, $s0, $zero +/* 98FE6C 8024068C 0000302D */ daddu $a2, $zero, $zero +/* 98FE70 80240690 860300A8 */ lh $v1, 0xa8($s0) +/* 98FE74 80240694 3C013F80 */ lui $at, 0x3f80 +/* 98FE78 80240698 44810000 */ mtc1 $at, $f0 +/* 98FE7C 8024069C 3C014000 */ lui $at, 0x4000 +/* 98FE80 802406A0 44811000 */ mtc1 $at, $f2 +/* 98FE84 802406A4 3C01C1A0 */ lui $at, 0xc1a0 +/* 98FE88 802406A8 44812000 */ mtc1 $at, $f4 +/* 98FE8C 802406AC 2402000F */ addiu $v0, $zero, 0xf +/* 98FE90 802406B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 98FE94 802406B4 44833000 */ mtc1 $v1, $f6 +/* 98FE98 802406B8 00000000 */ nop +/* 98FE9C 802406BC 468031A0 */ cvt.s.w $f6, $f6 +/* 98FEA0 802406C0 44073000 */ mfc1 $a3, $f6 +/* 98FEA4 802406C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 98FEA8 802406C8 AFA20020 */ sw $v0, 0x20($sp) +/* 98FEAC 802406CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 98FEB0 802406D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 98FEB4 802406D4 0C01BFA4 */ jal fx_emote +/* 98FEB8 802406D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 98FEBC 802406DC 0200202D */ daddu $a0, $s0, $zero +/* 98FEC0 802406E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 98FEC4 802406E4 0C012530 */ jal func_800494C0 +/* 98FEC8 802406E8 3C060020 */ lui $a2, 0x20 +/* 98FECC 802406EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 98FED0 802406F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 98FED4 802406F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 98FED8 802406F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 98FEDC 802406FC 8C460028 */ lw $a2, 0x28($v0) +/* 98FEE0 80240700 0C00A720 */ jal atan2 +/* 98FEE4 80240704 8C470030 */ lw $a3, 0x30($v0) +/* 98FEE8 80240708 2402000C */ addiu $v0, $zero, 0xc +/* 98FEEC 8024070C E600000C */ swc1 $f0, 0xc($s0) +/* 98FEF0 80240710 080901EB */ j .L802407AC +/* 98FEF4 80240714 AE820070 */ sw $v0, 0x70($s4) +.L80240718: +/* 98FEF8 80240718 8602008C */ lh $v0, 0x8c($s0) +/* 98FEFC 8024071C 14400023 */ bnez $v0, .L802407AC +/* 98FF00 80240720 00000000 */ nop +/* 98FF04 80240724 9602008E */ lhu $v0, 0x8e($s0) +/* 98FF08 80240728 2442FFFF */ addiu $v0, $v0, -1 +/* 98FF0C 8024072C A602008E */ sh $v0, 0x8e($s0) +/* 98FF10 80240730 00021400 */ sll $v0, $v0, 0x10 +/* 98FF14 80240734 1C40001D */ bgtz $v0, .L802407AC +/* 98FF18 80240738 00000000 */ nop +/* 98FF1C 8024073C 8E820074 */ lw $v0, 0x74($s4) +/* 98FF20 80240740 2442FFFF */ addiu $v0, $v0, -1 +/* 98FF24 80240744 18400018 */ blez $v0, .L802407A8 +/* 98FF28 80240748 AE820074 */ sw $v0, 0x74($s4) +/* 98FF2C 8024074C C600000C */ lwc1 $f0, 0xc($s0) +/* 98FF30 80240750 3C014334 */ lui $at, 0x4334 +/* 98FF34 80240754 44816000 */ mtc1 $at, $f12 +/* 98FF38 80240758 0C00A6C9 */ jal clamp_angle +/* 98FF3C 8024075C 460C0300 */ add.s $f12, $f0, $f12 +/* 98FF40 80240760 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 98FF44 80240764 0C00A67F */ jal rand_int +/* 98FF48 80240768 E600000C */ swc1 $f0, 0xc($s0) +/* 98FF4C 8024076C 3C032E8B */ lui $v1, 0x2e8b +/* 98FF50 80240770 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 98FF54 80240774 00430018 */ mult $v0, $v1 +/* 98FF58 80240778 00021FC3 */ sra $v1, $v0, 0x1f +/* 98FF5C 8024077C 00004010 */ mfhi $t0 +/* 98FF60 80240780 00082043 */ sra $a0, $t0, 1 +/* 98FF64 80240784 00832023 */ subu $a0, $a0, $v1 +/* 98FF68 80240788 00041840 */ sll $v1, $a0, 1 +/* 98FF6C 8024078C 00641821 */ addu $v1, $v1, $a0 +/* 98FF70 80240790 00031880 */ sll $v1, $v1, 2 +/* 98FF74 80240794 00641823 */ subu $v1, $v1, $a0 +/* 98FF78 80240798 00431023 */ subu $v0, $v0, $v1 +/* 98FF7C 8024079C 24420005 */ addiu $v0, $v0, 5 +/* 98FF80 802407A0 080901EB */ j .L802407AC +/* 98FF84 802407A4 A602008E */ sh $v0, 0x8e($s0) +.L802407A8: +/* 98FF88 802407A8 AE800070 */ sw $zero, 0x70($s4) +.L802407AC: +/* 98FF8C 802407AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 98FF90 802407B0 8FB40040 */ lw $s4, 0x40($sp) +/* 98FF94 802407B4 8FB3003C */ lw $s3, 0x3c($sp) +/* 98FF98 802407B8 8FB20038 */ lw $s2, 0x38($sp) +/* 98FF9C 802407BC 8FB10034 */ lw $s1, 0x34($sp) +/* 98FFA0 802407C0 8FB00030 */ lw $s0, 0x30($sp) +/* 98FFA4 802407C4 03E00008 */ jr $ra +/* 98FFA8 802407C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_802407CC_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_802407CC_98F7E0.s new file mode 100644 index 0000000000..22e7a9440e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_802407CC_98F7E0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_98FFAC +/* 98FFAC 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 98FFB0 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* 98FFB4 802407D4 0080882D */ daddu $s1, $a0, $zero +/* 98FFB8 802407D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 98FFBC 802407DC AFB20018 */ sw $s2, 0x18($sp) +/* 98FFC0 802407E0 AFB00010 */ sw $s0, 0x10($sp) +/* 98FFC4 802407E4 8E220148 */ lw $v0, 0x148($s1) +/* 98FFC8 802407E8 00A0902D */ daddu $s2, $a1, $zero +/* 98FFCC 802407EC 84440008 */ lh $a0, 8($v0) +/* 98FFD0 802407F0 0C00EABB */ jal get_npc_unsafe +/* 98FFD4 802407F4 00C0802D */ daddu $s0, $a2, $zero +/* 98FFD8 802407F8 0220202D */ daddu $a0, $s1, $zero +/* 98FFDC 802407FC 0240282D */ daddu $a1, $s2, $zero +/* 98FFE0 80240800 0200302D */ daddu $a2, $s0, $zero +/* 98FFE4 80240804 0C0127DF */ jal func_80049F7C +/* 98FFE8 80240808 0040802D */ daddu $s0, $v0, $zero +/* 98FFEC 8024080C 8E020000 */ lw $v0, ($s0) +/* 98FFF0 80240810 24040005 */ addiu $a0, $zero, 5 +/* 98FFF4 80240814 34420800 */ ori $v0, $v0, 0x800 +/* 98FFF8 80240818 0C00A67F */ jal rand_int +/* 98FFFC 8024081C AE020000 */ sw $v0, ($s0) +/* 990000 80240820 44820000 */ mtc1 $v0, $f0 +/* 990004 80240824 00000000 */ nop +/* 990008 80240828 46800021 */ cvt.d.w $f0, $f0 +/* 99000C 8024082C 3C014024 */ lui $at, 0x4024 +/* 990010 80240830 44811800 */ mtc1 $at, $f3 +/* 990014 80240834 44801000 */ mtc1 $zero, $f2 +/* 990018 80240838 3C013FC0 */ lui $at, 0x3fc0 +/* 99001C 8024083C 44812000 */ mtc1 $at, $f4 +/* 990020 80240840 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 990024 80240844 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 990028 80240848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99002C 8024084C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 990030 80240850 46220000 */ add.d $f0, $f0, $f2 +/* 990034 80240854 E6040014 */ swc1 $f4, 0x14($s0) +/* 990038 80240858 46200020 */ cvt.s.d $f0, $f0 +/* 99003C 8024085C E600001C */ swc1 $f0, 0x1c($s0) +/* 990040 80240860 8C460028 */ lw $a2, 0x28($v0) +/* 990044 80240864 0C00A720 */ jal atan2 +/* 990048 80240868 8C470030 */ lw $a3, 0x30($v0) +/* 99004C 8024086C 0200202D */ daddu $a0, $s0, $zero +/* 990050 80240870 3C05B000 */ lui $a1, 0xb000 +/* 990054 80240874 34A50017 */ ori $a1, $a1, 0x17 +/* 990058 80240878 0000302D */ daddu $a2, $zero, $zero +/* 99005C 8024087C E480000C */ swc1 $f0, 0xc($a0) +/* 990060 80240880 C6400018 */ lwc1 $f0, 0x18($s2) +/* 990064 80240884 2402000D */ addiu $v0, $zero, 0xd +/* 990068 80240888 E4800018 */ swc1 $f0, 0x18($a0) +/* 99006C 8024088C 0C012530 */ jal func_800494C0 +/* 990070 80240890 AE220070 */ sw $v0, 0x70($s1) +/* 990074 80240894 8FBF001C */ lw $ra, 0x1c($sp) +/* 990078 80240898 8FB20018 */ lw $s2, 0x18($sp) +/* 99007C 8024089C 8FB10014 */ lw $s1, 0x14($sp) +/* 990080 802408A0 8FB00010 */ lw $s0, 0x10($sp) +/* 990084 802408A4 03E00008 */ jr $ra +/* 990088 802408A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_802408AC_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_802408AC_98F7E0.s new file mode 100644 index 0000000000..a8cb4ebad8 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_802408AC_98F7E0.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408AC_99008C +/* 99008C 802408AC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 990090 802408B0 AFB40050 */ sw $s4, 0x50($sp) +/* 990094 802408B4 0080A02D */ daddu $s4, $a0, $zero +/* 990098 802408B8 AFBF0060 */ sw $ra, 0x60($sp) +/* 99009C 802408BC AFB7005C */ sw $s7, 0x5c($sp) +/* 9900A0 802408C0 AFB60058 */ sw $s6, 0x58($sp) +/* 9900A4 802408C4 AFB50054 */ sw $s5, 0x54($sp) +/* 9900A8 802408C8 AFB3004C */ sw $s3, 0x4c($sp) +/* 9900AC 802408CC AFB20048 */ sw $s2, 0x48($sp) +/* 9900B0 802408D0 AFB10044 */ sw $s1, 0x44($sp) +/* 9900B4 802408D4 AFB00040 */ sw $s0, 0x40($sp) +/* 9900B8 802408D8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* 9900BC 802408DC 8E950148 */ lw $s5, 0x148($s4) +/* 9900C0 802408E0 00A0B02D */ daddu $s6, $a1, $zero +/* 9900C4 802408E4 86A40008 */ lh $a0, 8($s5) +/* 9900C8 802408E8 0C00EABB */ jal get_npc_unsafe +/* 9900CC 802408EC 00C0B82D */ daddu $s7, $a2, $zero +/* 9900D0 802408F0 0040982D */ daddu $s3, $v0, $zero +/* 9900D4 802408F4 C6600018 */ lwc1 $f0, 0x18($s3) +/* 9900D8 802408F8 44801000 */ mtc1 $zero, $f2 +/* 9900DC 802408FC 44801800 */ mtc1 $zero, $f3 +/* 9900E0 80240900 46000021 */ cvt.d.s $f0, $f0 +/* 9900E4 80240904 4620103C */ c.lt.d $f2, $f0 +/* 9900E8 80240908 00000000 */ nop +/* 9900EC 8024090C 45000021 */ bc1f .L80240994 +/* 9900F0 80240910 27A50028 */ addiu $a1, $sp, 0x28 +/* 9900F4 80240914 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9900F8 80240918 C662003C */ lwc1 $f2, 0x3c($s3) +/* 9900FC 8024091C C6640040 */ lwc1 $f4, 0x40($s3) +/* 990100 80240920 C6660018 */ lwc1 $f6, 0x18($s3) +/* 990104 80240924 E7A00028 */ swc1 $f0, 0x28($sp) +/* 990108 80240928 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 99010C 8024092C E7A40030 */ swc1 $f4, 0x30($sp) +/* 990110 80240930 E7A60010 */ swc1 $f6, 0x10($sp) +/* 990114 80240934 C660000C */ lwc1 $f0, 0xc($s3) +/* 990118 80240938 E7A00014 */ swc1 $f0, 0x14($sp) +/* 99011C 8024093C 866200A8 */ lh $v0, 0xa8($s3) +/* 990120 80240940 44820000 */ mtc1 $v0, $f0 +/* 990124 80240944 00000000 */ nop +/* 990128 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 99012C 8024094C E7A00018 */ swc1 $f0, 0x18($sp) +/* 990130 80240950 866200A6 */ lh $v0, 0xa6($s3) +/* 990134 80240954 27A6002C */ addiu $a2, $sp, 0x2c +/* 990138 80240958 44820000 */ mtc1 $v0, $f0 +/* 99013C 8024095C 00000000 */ nop +/* 990140 80240960 46800020 */ cvt.s.w $f0, $f0 +/* 990144 80240964 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 990148 80240968 8E640080 */ lw $a0, 0x80($s3) +/* 99014C 8024096C 0C037711 */ jal func_800DDC44 +/* 990150 80240970 27A70030 */ addiu $a3, $sp, 0x30 +/* 990154 80240974 10400003 */ beqz $v0, .L80240984 +/* 990158 80240978 00000000 */ nop +/* 99015C 8024097C 08090265 */ j .L80240994 +/* 990160 80240980 AE600018 */ sw $zero, 0x18($s3) +.L80240984: +/* 990164 80240984 8E650018 */ lw $a1, 0x18($s3) +/* 990168 80240988 8E66000C */ lw $a2, 0xc($s3) +/* 99016C 8024098C 0C00EA95 */ jal npc_move_heading +/* 990170 80240990 0260202D */ daddu $a0, $s3, $zero +.L80240994: +/* 990174 80240994 C660001C */ lwc1 $f0, 0x1c($s3) +/* 990178 80240998 44801000 */ mtc1 $zero, $f2 +/* 99017C 8024099C 44801800 */ mtc1 $zero, $f3 +/* 990180 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* 990184 802409A4 4622003C */ c.lt.d $f0, $f2 +/* 990188 802409A8 00000000 */ nop +/* 99018C 802409AC 4500006C */ bc1f .L80240B60 +/* 990190 802409B0 27B00028 */ addiu $s0, $sp, 0x28 +/* 990194 802409B4 0200282D */ daddu $a1, $s0, $zero +/* 990198 802409B8 27A60034 */ addiu $a2, $sp, 0x34 +/* 99019C 802409BC 27B20038 */ addiu $s2, $sp, 0x38 +/* 9901A0 802409C0 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9901A4 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* 9901A8 802409C8 44811000 */ mtc1 $at, $f2 +/* 9901AC 802409CC C6640040 */ lwc1 $f4, 0x40($s3) +/* 9901B0 802409D0 3C01447A */ lui $at, 0x447a +/* 9901B4 802409D4 44813000 */ mtc1 $at, $f6 +/* 9901B8 802409D8 27B10030 */ addiu $s1, $sp, 0x30 +/* 9901BC 802409DC E7A00028 */ swc1 $f0, 0x28($sp) +/* 9901C0 802409E0 E7A20034 */ swc1 $f2, 0x34($sp) +/* 9901C4 802409E4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9901C8 802409E8 E7A60038 */ swc1 $f6, 0x38($sp) +/* 9901CC 802409EC AFB20010 */ sw $s2, 0x10($sp) +/* 9901D0 802409F0 8E640080 */ lw $a0, 0x80($s3) +/* 9901D4 802409F4 0C0372DF */ jal func_800DCB7C +/* 9901D8 802409F8 0220382D */ daddu $a3, $s1, $zero +/* 9901DC 802409FC 0200282D */ daddu $a1, $s0, $zero +/* 9901E0 80240A00 27A6002C */ addiu $a2, $sp, 0x2c +/* 9901E4 80240A04 C662003C */ lwc1 $f2, 0x3c($s3) +/* 9901E8 80240A08 C6660038 */ lwc1 $f6, 0x38($s3) +/* 9901EC 80240A0C 3C01402A */ lui $at, 0x402a +/* 9901F0 80240A10 4481A800 */ mtc1 $at, $f21 +/* 9901F4 80240A14 4480A000 */ mtc1 $zero, $f20 +/* 9901F8 80240A18 460010A1 */ cvt.d.s $f2, $f2 +/* 9901FC 80240A1C 46341080 */ add.d $f2, $f2, $f20 +/* 990200 80240A20 C660001C */ lwc1 $f0, 0x1c($s3) +/* 990204 80240A24 C6640040 */ lwc1 $f4, 0x40($s3) +/* 990208 80240A28 46000005 */ abs.s $f0, $f0 +/* 99020C 80240A2C E7A40030 */ swc1 $f4, 0x30($sp) +/* 990210 80240A30 3C014030 */ lui $at, 0x4030 +/* 990214 80240A34 44812800 */ mtc1 $at, $f5 +/* 990218 80240A38 44802000 */ mtc1 $zero, $f4 +/* 99021C 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* 990220 80240A40 E7A60028 */ swc1 $f6, 0x28($sp) +/* 990224 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 990228 80240A48 462010A0 */ cvt.s.d $f2, $f2 +/* 99022C 80240A4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 990230 80240A50 46200020 */ cvt.s.d $f0, $f0 +/* 990234 80240A54 E7A00038 */ swc1 $f0, 0x38($sp) +/* 990238 80240A58 AFB20010 */ sw $s2, 0x10($sp) +/* 99023C 80240A5C 8E640080 */ lw $a0, 0x80($s3) +/* 990240 80240A60 0C0372DF */ jal func_800DCB7C +/* 990244 80240A64 0220382D */ daddu $a3, $s1, $zero +/* 990248 80240A68 1040003D */ beqz $v0, .L80240B60 +/* 99024C 80240A6C 00000000 */ nop +/* 990250 80240A70 C660001C */ lwc1 $f0, 0x1c($s3) +/* 990254 80240A74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 990258 80240A78 46000005 */ abs.s $f0, $f0 +/* 99025C 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* 990260 80240A80 46340000 */ add.d $f0, $f0, $f20 +/* 990264 80240A84 460010A1 */ cvt.d.s $f2, $f2 +/* 990268 80240A88 4620103E */ c.le.d $f2, $f0 +/* 99026C 80240A8C 00000000 */ nop +/* 990270 80240A90 45000033 */ bc1f .L80240B60 +/* 990274 80240A94 2403F7FF */ addiu $v1, $zero, -0x801 +/* 990278 80240A98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 99027C 80240A9C 8E620000 */ lw $v0, ($s3) +/* 990280 80240AA0 AE60001C */ sw $zero, 0x1c($s3) +/* 990284 80240AA4 00431024 */ and $v0, $v0, $v1 +/* 990288 80240AA8 E660003C */ swc1 $f0, 0x3c($s3) +/* 99028C 80240AAC AE620000 */ sw $v0, ($s3) +/* 990290 80240AB0 AFA00010 */ sw $zero, 0x10($sp) +/* 990294 80240AB4 AFA00014 */ sw $zero, 0x14($sp) +/* 990298 80240AB8 8E650038 */ lw $a1, 0x38($s3) +/* 99029C 80240ABC 8E66003C */ lw $a2, 0x3c($s3) +/* 9902A0 80240AC0 8E670040 */ lw $a3, 0x40($s3) +/* 9902A4 80240AC4 0C01BECC */ jal fx_walk_normal +/* 9902A8 80240AC8 24040002 */ addiu $a0, $zero, 2 +/* 9902AC 80240ACC 02E0202D */ daddu $a0, $s7, $zero +/* 9902B0 80240AD0 2402000C */ addiu $v0, $zero, 0xc +/* 9902B4 80240AD4 AE820070 */ sw $v0, 0x70($s4) +/* 9902B8 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* 9902BC 80240ADC AFA20010 */ sw $v0, 0x10($sp) +/* 9902C0 80240AE0 8EC60024 */ lw $a2, 0x24($s6) +/* 9902C4 80240AE4 8EC70028 */ lw $a3, 0x28($s6) +/* 9902C8 80240AE8 0C01242D */ jal func_800490B4 +/* 9902CC 80240AEC 02A0282D */ daddu $a1, $s5, $zero +/* 9902D0 80240AF0 14400022 */ bnez $v0, .L80240B7C +/* 9902D4 80240AF4 24040002 */ addiu $a0, $zero, 2 +/* 9902D8 80240AF8 0260282D */ daddu $a1, $s3, $zero +/* 9902DC 80240AFC 0000302D */ daddu $a2, $zero, $zero +/* 9902E0 80240B00 866300A8 */ lh $v1, 0xa8($s3) +/* 9902E4 80240B04 3C013F80 */ lui $at, 0x3f80 +/* 9902E8 80240B08 44810000 */ mtc1 $at, $f0 +/* 9902EC 80240B0C 3C014000 */ lui $at, 0x4000 +/* 9902F0 80240B10 44811000 */ mtc1 $at, $f2 +/* 9902F4 80240B14 3C01C1A0 */ lui $at, 0xc1a0 +/* 9902F8 80240B18 44812000 */ mtc1 $at, $f4 +/* 9902FC 80240B1C 2402000F */ addiu $v0, $zero, 0xf +/* 990300 80240B20 AFA2001C */ sw $v0, 0x1c($sp) +/* 990304 80240B24 44834000 */ mtc1 $v1, $f8 +/* 990308 80240B28 00000000 */ nop +/* 99030C 80240B2C 46804220 */ cvt.s.w $f8, $f8 +/* 990310 80240B30 44074000 */ mfc1 $a3, $f8 +/* 990314 80240B34 27A2003C */ addiu $v0, $sp, 0x3c +/* 990318 80240B38 AFA20020 */ sw $v0, 0x20($sp) +/* 99031C 80240B3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 990320 80240B40 E7A20014 */ swc1 $f2, 0x14($sp) +/* 990324 80240B44 0C01BFA4 */ jal fx_emote +/* 990328 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* 99032C 80240B4C 24020019 */ addiu $v0, $zero, 0x19 +/* 990330 80240B50 A662008E */ sh $v0, 0x8e($s3) +/* 990334 80240B54 2402000E */ addiu $v0, $zero, 0xe +/* 990338 80240B58 080902DF */ j .L80240B7C +/* 99033C 80240B5C AE820070 */ sw $v0, 0x70($s4) +.L80240B60: +/* 990340 80240B60 C664003C */ lwc1 $f4, 0x3c($s3) +/* 990344 80240B64 C660001C */ lwc1 $f0, 0x1c($s3) +/* 990348 80240B68 46002100 */ add.s $f4, $f4, $f0 +/* 99034C 80240B6C C6620014 */ lwc1 $f2, 0x14($s3) +/* 990350 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* 990354 80240B74 E664003C */ swc1 $f4, 0x3c($s3) +/* 990358 80240B78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240B7C: +/* 99035C 80240B7C 8FBF0060 */ lw $ra, 0x60($sp) +/* 990360 80240B80 8FB7005C */ lw $s7, 0x5c($sp) +/* 990364 80240B84 8FB60058 */ lw $s6, 0x58($sp) +/* 990368 80240B88 8FB50054 */ lw $s5, 0x54($sp) +/* 99036C 80240B8C 8FB40050 */ lw $s4, 0x50($sp) +/* 990370 80240B90 8FB3004C */ lw $s3, 0x4c($sp) +/* 990374 80240B94 8FB20048 */ lw $s2, 0x48($sp) +/* 990378 80240B98 8FB10044 */ lw $s1, 0x44($sp) +/* 99037C 80240B9C 8FB00040 */ lw $s0, 0x40($sp) +/* 990380 80240BA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* 990384 80240BA4 03E00008 */ jr $ra +/* 990388 80240BA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240BAC_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240BAC_98F7E0.s new file mode 100644 index 0000000000..66e706a3a9 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240BAC_98F7E0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC_99038C +/* 99038C 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 990390 80240BB0 AFB00010 */ sw $s0, 0x10($sp) +/* 990394 80240BB4 0080802D */ daddu $s0, $a0, $zero +/* 990398 80240BB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 99039C 80240BBC 8E020148 */ lw $v0, 0x148($s0) +/* 9903A0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* 9903A4 80240BC4 84440008 */ lh $a0, 8($v0) +/* 9903A8 80240BC8 9443008E */ lhu $v1, 0x8e($v0) +/* 9903AC 80240BCC 2463FFFF */ addiu $v1, $v1, -1 +/* 9903B0 80240BD0 A443008E */ sh $v1, 0x8e($v0) +/* 9903B4 80240BD4 00031C00 */ sll $v1, $v1, 0x10 +/* 9903B8 80240BD8 58600001 */ blezl $v1, .L80240BE0 +/* 9903BC 80240BDC AE000070 */ sw $zero, 0x70($s0) +.L80240BE0: +/* 9903C0 80240BE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9903C4 80240BE4 8FB00010 */ lw $s0, 0x10($sp) +/* 9903C8 80240BE8 03E00008 */ jr $ra +/* 9903CC 80240BEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240BF0_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240BF0_98F7E0.s new file mode 100644 index 0000000000..59c9f0a907 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240BF0_98F7E0.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0_9903D0 +/* 9903D0 80240BF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9903D4 80240BF4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9903D8 80240BF8 0080982D */ daddu $s3, $a0, $zero +/* 9903DC 80240BFC AFBF0048 */ sw $ra, 0x48($sp) +/* 9903E0 80240C00 AFB50044 */ sw $s5, 0x44($sp) +/* 9903E4 80240C04 AFB40040 */ sw $s4, 0x40($sp) +/* 9903E8 80240C08 AFB20038 */ sw $s2, 0x38($sp) +/* 9903EC 80240C0C AFB10034 */ sw $s1, 0x34($sp) +/* 9903F0 80240C10 AFB00030 */ sw $s0, 0x30($sp) +/* 9903F4 80240C14 8E720148 */ lw $s2, 0x148($s3) +/* 9903F8 80240C18 86440008 */ lh $a0, 8($s2) +/* 9903FC 80240C1C 8E70000C */ lw $s0, 0xc($s3) +/* 990400 80240C20 0C00EABB */ jal get_npc_unsafe +/* 990404 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* 990408 80240C28 8E050000 */ lw $a1, ($s0) +/* 99040C 80240C2C 26100004 */ addiu $s0, $s0, 4 +/* 990410 80240C30 0260202D */ daddu $a0, $s3, $zero +/* 990414 80240C34 0C0B1EAF */ jal get_variable +/* 990418 80240C38 0040A82D */ daddu $s5, $v0, $zero +/* 99041C 80240C3C 0260202D */ daddu $a0, $s3, $zero +/* 990420 80240C40 8E050000 */ lw $a1, ($s0) +/* 990424 80240C44 0C0B1EAF */ jal get_variable +/* 990428 80240C48 0040A02D */ daddu $s4, $v0, $zero +/* 99042C 80240C4C AE420094 */ sw $v0, 0x94($s2) +/* 990430 80240C50 AFA00010 */ sw $zero, 0x10($sp) +/* 990434 80240C54 8E4200D0 */ lw $v0, 0xd0($s2) +/* 990438 80240C58 8C420030 */ lw $v0, 0x30($v0) +/* 99043C 80240C5C AFA20014 */ sw $v0, 0x14($sp) +/* 990440 80240C60 8E4200D0 */ lw $v0, 0xd0($s2) +/* 990444 80240C64 8C42001C */ lw $v0, 0x1c($v0) +/* 990448 80240C68 AFA20018 */ sw $v0, 0x18($sp) +/* 99044C 80240C6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 990450 80240C70 8C420024 */ lw $v0, 0x24($v0) +/* 990454 80240C74 AFA2001C */ sw $v0, 0x1c($sp) +/* 990458 80240C78 8E4200D0 */ lw $v0, 0xd0($s2) +/* 99045C 80240C7C 8C420028 */ lw $v0, 0x28($v0) +/* 990460 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* 990464 80240C84 8E4200D0 */ lw $v0, 0xd0($s2) +/* 990468 80240C88 3C0142C8 */ lui $at, 0x42c8 +/* 99046C 80240C8C 44810000 */ mtc1 $at, $f0 +/* 990470 80240C90 8C42002C */ lw $v0, 0x2c($v0) +/* 990474 80240C94 27B00010 */ addiu $s0, $sp, 0x10 +/* 990478 80240C98 E7A00028 */ swc1 $f0, 0x28($sp) +/* 99047C 80240C9C A7A0002C */ sh $zero, 0x2c($sp) +/* 990480 80240CA0 12200019 */ beqz $s1, .L80240D08 +/* 990484 80240CA4 AFA20024 */ sw $v0, 0x24($sp) +/* 990488 80240CA8 AE600070 */ sw $zero, 0x70($s3) +/* 99048C 80240CAC A6A0008E */ sh $zero, 0x8e($s5) +/* 990490 80240CB0 AE600074 */ sw $zero, 0x74($s3) +/* 990494 80240CB4 8EA20000 */ lw $v0, ($s5) +/* 990498 80240CB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* 99049C 80240CBC 00431024 */ and $v0, $v0, $v1 +/* 9904A0 80240CC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9904A4 80240CC4 00431024 */ and $v0, $v0, $v1 +/* 9904A8 80240CC8 34420008 */ ori $v0, $v0, 8 +/* 9904AC 80240CCC AEA20000 */ sw $v0, ($s5) +/* 9904B0 80240CD0 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9904B4 80240CD4 34420018 */ ori $v0, $v0, 0x18 +/* 9904B8 80240CD8 AE4200B0 */ sw $v0, 0xb0($s2) +/* 9904BC 80240CDC 8E420000 */ lw $v0, ($s2) +/* 9904C0 80240CE0 3C034000 */ lui $v1, 0x4000 +/* 9904C4 80240CE4 00431024 */ and $v0, $v0, $v1 +/* 9904C8 80240CE8 10400007 */ beqz $v0, .L80240D08 +/* 9904CC 80240CEC 3C03BFFF */ lui $v1, 0xbfff +/* 9904D0 80240CF0 2402000C */ addiu $v0, $zero, 0xc +/* 9904D4 80240CF4 AE620070 */ sw $v0, 0x70($s3) +/* 9904D8 80240CF8 8E420000 */ lw $v0, ($s2) +/* 9904DC 80240CFC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9904E0 80240D00 00431024 */ and $v0, $v0, $v1 +/* 9904E4 80240D04 AE420000 */ sw $v0, ($s2) +.L80240D08: +/* 9904E8 80240D08 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9904EC 80240D0C 30620004 */ andi $v0, $v1, 4 +/* 9904F0 80240D10 10400007 */ beqz $v0, .L80240D30 +/* 9904F4 80240D14 00000000 */ nop +/* 9904F8 80240D18 824200B4 */ lb $v0, 0xb4($s2) +/* 9904FC 80240D1C 14400034 */ bnez $v0, .L80240DF0 +/* 990500 80240D20 0000102D */ daddu $v0, $zero, $zero +/* 990504 80240D24 2402FFFB */ addiu $v0, $zero, -5 +/* 990508 80240D28 00621024 */ and $v0, $v1, $v0 +/* 99050C 80240D2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D30: +/* 990510 80240D30 8E630070 */ lw $v1, 0x70($s3) +/* 990514 80240D34 2C62000F */ sltiu $v0, $v1, 0xf +/* 990518 80240D38 1040002C */ beqz $v0, .L80240DEC +/* 99051C 80240D3C 00031080 */ sll $v0, $v1, 2 +/* 990520 80240D40 3C018024 */ lui $at, 0x8024 +/* 990524 80240D44 00220821 */ addu $at, $at, $v0 +/* 990528 80240D48 8C222EB8 */ lw $v0, 0x2eb8($at) +/* 99052C 80240D4C 00400008 */ jr $v0 +/* 990530 80240D50 00000000 */ nop +/* 990534 80240D54 0260202D */ daddu $a0, $s3, $zero +/* 990538 80240D58 0280282D */ daddu $a1, $s4, $zero +/* 99053C 80240D5C 0C090000 */ jal func_80240000 +/* 990540 80240D60 0200302D */ daddu $a2, $s0, $zero +/* 990544 80240D64 0260202D */ daddu $a0, $s3, $zero +/* 990548 80240D68 0280282D */ daddu $a1, $s4, $zero +/* 99054C 80240D6C 0C09008C */ jal func_80240230 +/* 990550 80240D70 0200302D */ daddu $a2, $s0, $zero +/* 990554 80240D74 0809037C */ j .L80240DF0 +/* 990558 80240D78 0000102D */ daddu $v0, $zero, $zero +/* 99055C 80240D7C 0260202D */ daddu $a0, $s3, $zero +/* 990560 80240D80 0280282D */ daddu $a1, $s4, $zero +/* 990564 80240D84 0C09015A */ jal func_80240568 +/* 990568 80240D88 0200302D */ daddu $a2, $s0, $zero +/* 99056C 80240D8C 8E630070 */ lw $v1, 0x70($s3) +/* 990570 80240D90 24020003 */ addiu $v0, $zero, 3 +/* 990574 80240D94 14620016 */ bne $v1, $v0, .L80240DF0 +/* 990578 80240D98 0000102D */ daddu $v0, $zero, $zero +/* 99057C 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* 990580 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* 990584 80240DA4 0C09018A */ jal func_80240628 +/* 990588 80240DA8 0200302D */ daddu $a2, $s0, $zero +/* 99058C 80240DAC 0809037C */ j .L80240DF0 +/* 990590 80240DB0 0000102D */ daddu $v0, $zero, $zero +/* 990594 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 990598 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* 99059C 80240DBC 0C0901F3 */ jal func_802407CC +/* 9905A0 80240DC0 0200302D */ daddu $a2, $s0, $zero +/* 9905A4 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* 9905A8 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 9905AC 80240DCC 0C09022B */ jal func_802408AC +/* 9905B0 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* 9905B4 80240DD4 0809037C */ j .L80240DF0 +/* 9905B8 80240DD8 0000102D */ daddu $v0, $zero, $zero +/* 9905BC 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* 9905C0 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* 9905C4 80240DE4 0C0902EB */ jal func_80240BAC +/* 9905C8 80240DE8 0200302D */ daddu $a2, $s0, $zero +.L80240DEC: +/* 9905CC 80240DEC 0000102D */ daddu $v0, $zero, $zero +.L80240DF0: +/* 9905D0 80240DF0 8FBF0048 */ lw $ra, 0x48($sp) +/* 9905D4 80240DF4 8FB50044 */ lw $s5, 0x44($sp) +/* 9905D8 80240DF8 8FB40040 */ lw $s4, 0x40($sp) +/* 9905DC 80240DFC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9905E0 80240E00 8FB20038 */ lw $s2, 0x38($sp) +/* 9905E4 80240E04 8FB10034 */ lw $s1, 0x34($sp) +/* 9905E8 80240E08 8FB00030 */ lw $s0, 0x30($sp) +/* 9905EC 80240E0C 03E00008 */ jr $ra +/* 9905F0 80240E10 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240E14_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240E14_98F7E0.s new file mode 100644 index 0000000000..5dd79c0428 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240E14_98F7E0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E14_9905F4 +/* 9905F4 80240E14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9905F8 80240E18 AFB00010 */ sw $s0, 0x10($sp) +/* 9905FC 80240E1C 0080802D */ daddu $s0, $a0, $zero +/* 990600 80240E20 AFBF001C */ sw $ra, 0x1c($sp) +/* 990604 80240E24 AFB20018 */ sw $s2, 0x18($sp) +/* 990608 80240E28 AFB10014 */ sw $s1, 0x14($sp) +/* 99060C 80240E2C 8E020148 */ lw $v0, 0x148($s0) +/* 990610 80240E30 00A0882D */ daddu $s1, $a1, $zero +/* 990614 80240E34 84440008 */ lh $a0, 8($v0) +/* 990618 80240E38 0C00EABB */ jal get_npc_unsafe +/* 99061C 80240E3C 00C0902D */ daddu $s2, $a2, $zero +/* 990620 80240E40 0200202D */ daddu $a0, $s0, $zero +/* 990624 80240E44 0040802D */ daddu $s0, $v0, $zero +/* 990628 80240E48 0220282D */ daddu $a1, $s1, $zero +/* 99062C 80240E4C 0C012568 */ jal func_800495A0 +/* 990630 80240E50 0240302D */ daddu $a2, $s2, $zero +/* 990634 80240E54 0C00A67F */ jal rand_int +/* 990638 80240E58 24040005 */ addiu $a0, $zero, 5 +/* 99063C 80240E5C 3C014020 */ lui $at, 0x4020 +/* 990640 80240E60 44811800 */ mtc1 $at, $f3 +/* 990644 80240E64 44801000 */ mtc1 $zero, $f2 +/* 990648 80240E68 44820000 */ mtc1 $v0, $f0 +/* 99064C 80240E6C 00000000 */ nop +/* 990650 80240E70 46800021 */ cvt.d.w $f0, $f0 +/* 990654 80240E74 46220000 */ add.d $f0, $f0, $f2 +/* 990658 80240E78 3C013FC0 */ lui $at, 0x3fc0 +/* 99065C 80240E7C 44811000 */ mtc1 $at, $f2 +/* 990660 80240E80 00000000 */ nop +/* 990664 80240E84 E6020014 */ swc1 $f2, 0x14($s0) +/* 990668 80240E88 46200020 */ cvt.s.d $f0, $f0 +/* 99066C 80240E8C E600001C */ swc1 $f0, 0x1c($s0) +/* 990670 80240E90 8FBF001C */ lw $ra, 0x1c($sp) +/* 990674 80240E94 8FB20018 */ lw $s2, 0x18($sp) +/* 990678 80240E98 8FB10014 */ lw $s1, 0x14($sp) +/* 99067C 80240E9C 8FB00010 */ lw $s0, 0x10($sp) +/* 990680 80240EA0 03E00008 */ jr $ra +/* 990684 80240EA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240EA8_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240EA8_98F7E0.s new file mode 100644 index 0000000000..19e060af41 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240EA8_98F7E0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EA8_990688 +/* 990688 80240EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99068C 80240EAC AFB00010 */ sw $s0, 0x10($sp) +/* 990690 80240EB0 0080802D */ daddu $s0, $a0, $zero +/* 990694 80240EB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 990698 80240EB8 AFB20018 */ sw $s2, 0x18($sp) +/* 99069C 80240EBC AFB10014 */ sw $s1, 0x14($sp) +/* 9906A0 80240EC0 8E020148 */ lw $v0, 0x148($s0) +/* 9906A4 80240EC4 00A0882D */ daddu $s1, $a1, $zero +/* 9906A8 80240EC8 84440008 */ lh $a0, 8($v0) +/* 9906AC 80240ECC 0C00EABB */ jal get_npc_unsafe +/* 9906B0 80240ED0 00C0902D */ daddu $s2, $a2, $zero +/* 9906B4 80240ED4 0200202D */ daddu $a0, $s0, $zero +/* 9906B8 80240ED8 0040802D */ daddu $s0, $v0, $zero +/* 9906BC 80240EDC 0220282D */ daddu $a1, $s1, $zero +/* 9906C0 80240EE0 0C0127DF */ jal func_80049F7C +/* 9906C4 80240EE4 0240302D */ daddu $a2, $s2, $zero +/* 9906C8 80240EE8 0C00A67F */ jal rand_int +/* 9906CC 80240EEC 24040005 */ addiu $a0, $zero, 5 +/* 9906D0 80240EF0 3C014014 */ lui $at, 0x4014 +/* 9906D4 80240EF4 44811800 */ mtc1 $at, $f3 +/* 9906D8 80240EF8 44801000 */ mtc1 $zero, $f2 +/* 9906DC 80240EFC 44820000 */ mtc1 $v0, $f0 +/* 9906E0 80240F00 00000000 */ nop +/* 9906E4 80240F04 46800021 */ cvt.d.w $f0, $f0 +/* 9906E8 80240F08 46220000 */ add.d $f0, $f0, $f2 +/* 9906EC 80240F0C 3C013FC0 */ lui $at, 0x3fc0 +/* 9906F0 80240F10 44811000 */ mtc1 $at, $f2 +/* 9906F4 80240F14 00000000 */ nop +/* 9906F8 80240F18 E6020014 */ swc1 $f2, 0x14($s0) +/* 9906FC 80240F1C 46200020 */ cvt.s.d $f0, $f0 +/* 990700 80240F20 E600001C */ swc1 $f0, 0x1c($s0) +/* 990704 80240F24 8FBF001C */ lw $ra, 0x1c($sp) +/* 990708 80240F28 8FB20018 */ lw $s2, 0x18($sp) +/* 99070C 80240F2C 8FB10014 */ lw $s1, 0x14($sp) +/* 990710 80240F30 8FB00010 */ lw $s0, 0x10($sp) +/* 990714 80240F34 03E00008 */ jr $ra +/* 990718 80240F38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80240F3C_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80240F3C_98F7E0.s new file mode 100644 index 0000000000..30b5bf95b1 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80240F3C_98F7E0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F3C_99071C +/* 99071C 80240F3C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 990720 80240F40 AFB40040 */ sw $s4, 0x40($sp) +/* 990724 80240F44 0080A02D */ daddu $s4, $a0, $zero +/* 990728 80240F48 AFBF0048 */ sw $ra, 0x48($sp) +/* 99072C 80240F4C AFB50044 */ sw $s5, 0x44($sp) +/* 990730 80240F50 AFB3003C */ sw $s3, 0x3c($sp) +/* 990734 80240F54 AFB20038 */ sw $s2, 0x38($sp) +/* 990738 80240F58 AFB10034 */ sw $s1, 0x34($sp) +/* 99073C 80240F5C AFB00030 */ sw $s0, 0x30($sp) +/* 990740 80240F60 8E920148 */ lw $s2, 0x148($s4) +/* 990744 80240F64 86440008 */ lh $a0, 8($s2) +/* 990748 80240F68 8E90000C */ lw $s0, 0xc($s4) +/* 99074C 80240F6C 0C00EABB */ jal get_npc_unsafe +/* 990750 80240F70 00A0882D */ daddu $s1, $a1, $zero +/* 990754 80240F74 0280202D */ daddu $a0, $s4, $zero +/* 990758 80240F78 8E050000 */ lw $a1, ($s0) +/* 99075C 80240F7C 0C0B1EAF */ jal get_variable +/* 990760 80240F80 0040A82D */ daddu $s5, $v0, $zero +/* 990764 80240F84 AFA00010 */ sw $zero, 0x10($sp) +/* 990768 80240F88 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99076C 80240F8C 8C630030 */ lw $v1, 0x30($v1) +/* 990770 80240F90 AFA30014 */ sw $v1, 0x14($sp) +/* 990774 80240F94 8E4300D0 */ lw $v1, 0xd0($s2) +/* 990778 80240F98 8C63001C */ lw $v1, 0x1c($v1) +/* 99077C 80240F9C AFA30018 */ sw $v1, 0x18($sp) +/* 990780 80240FA0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 990784 80240FA4 8C630024 */ lw $v1, 0x24($v1) +/* 990788 80240FA8 AFA3001C */ sw $v1, 0x1c($sp) +/* 99078C 80240FAC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 990790 80240FB0 8C630028 */ lw $v1, 0x28($v1) +/* 990794 80240FB4 27B30010 */ addiu $s3, $sp, 0x10 +/* 990798 80240FB8 AFA30020 */ sw $v1, 0x20($sp) +/* 99079C 80240FBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9907A0 80240FC0 3C0142C8 */ lui $at, 0x42c8 +/* 9907A4 80240FC4 44810000 */ mtc1 $at, $f0 +/* 9907A8 80240FC8 8C63002C */ lw $v1, 0x2c($v1) +/* 9907AC 80240FCC 0040802D */ daddu $s0, $v0, $zero +/* 9907B0 80240FD0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9907B4 80240FD4 A7A0002C */ sh $zero, 0x2c($sp) +/* 9907B8 80240FD8 12200016 */ beqz $s1, .L80241034 +/* 9907BC 80240FDC AFA30024 */ sw $v1, 0x24($sp) +/* 9907C0 80240FE0 8EA20000 */ lw $v0, ($s5) +/* 9907C4 80240FE4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9907C8 80240FE8 A6A0008E */ sh $zero, 0x8e($s5) +/* 9907CC 80240FEC 00431024 */ and $v0, $v0, $v1 +/* 9907D0 80240FF0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9907D4 80240FF4 00431024 */ and $v0, $v0, $v1 +/* 9907D8 80240FF8 34420008 */ ori $v0, $v0, 8 +/* 9907DC 80240FFC AEA20000 */ sw $v0, ($s5) +/* 9907E0 80241000 AE800074 */ sw $zero, 0x74($s4) +/* 9907E4 80241004 AE800070 */ sw $zero, 0x70($s4) +/* 9907E8 80241008 8E420000 */ lw $v0, ($s2) +/* 9907EC 8024100C 3C034000 */ lui $v1, 0x4000 +/* 9907F0 80241010 00431024 */ and $v0, $v0, $v1 +/* 9907F4 80241014 10400007 */ beqz $v0, .L80241034 +/* 9907F8 80241018 3C03BFFF */ lui $v1, 0xbfff +/* 9907FC 8024101C 2402000C */ addiu $v0, $zero, 0xc +/* 990800 80241020 AE820070 */ sw $v0, 0x70($s4) +/* 990804 80241024 8E420000 */ lw $v0, ($s2) +/* 990808 80241028 3463FFFF */ ori $v1, $v1, 0xffff +/* 99080C 8024102C 00431024 */ and $v0, $v0, $v1 +/* 990810 80241030 AE420000 */ sw $v0, ($s2) +.L80241034: +/* 990814 80241034 8E830070 */ lw $v1, 0x70($s4) +/* 990818 80241038 2C62000F */ sltiu $v0, $v1, 0xf +/* 99081C 8024103C 10400028 */ beqz $v0, .L802410E0 +/* 990820 80241040 00031080 */ sll $v0, $v1, 2 +/* 990824 80241044 3C018024 */ lui $at, 0x8024 +/* 990828 80241048 00220821 */ addu $at, $at, $v0 +/* 99082C 8024104C 8C222EF8 */ lw $v0, 0x2ef8($at) +/* 990830 80241050 00400008 */ jr $v0 +/* 990834 80241054 00000000 */ nop +/* 990838 80241058 0280202D */ daddu $a0, $s4, $zero +/* 99083C 8024105C 0200282D */ daddu $a1, $s0, $zero +/* 990840 80241060 0C090385 */ jal func_80240E14 +/* 990844 80241064 0260302D */ daddu $a2, $s3, $zero +/* 990848 80241068 0280202D */ daddu $a0, $s4, $zero +/* 99084C 8024106C 0200282D */ daddu $a1, $s0, $zero +/* 990850 80241070 0C09008C */ jal func_80240230 +/* 990854 80241074 0260302D */ daddu $a2, $s3, $zero +/* 990858 80241078 08090438 */ j .L802410E0 +/* 99085C 8024107C 00000000 */ nop +/* 990860 80241080 0280202D */ daddu $a0, $s4, $zero +/* 990864 80241084 0200282D */ daddu $a1, $s0, $zero +/* 990868 80241088 0C09015A */ jal func_80240568 +/* 99086C 8024108C 0260302D */ daddu $a2, $s3, $zero +/* 990870 80241090 0280202D */ daddu $a0, $s4, $zero +/* 990874 80241094 0200282D */ daddu $a1, $s0, $zero +/* 990878 80241098 0C09018A */ jal func_80240628 +/* 99087C 8024109C 0260302D */ daddu $a2, $s3, $zero +/* 990880 802410A0 08090438 */ j .L802410E0 +/* 990884 802410A4 00000000 */ nop +/* 990888 802410A8 0280202D */ daddu $a0, $s4, $zero +/* 99088C 802410AC 0200282D */ daddu $a1, $s0, $zero +/* 990890 802410B0 0C0903AA */ jal func_80240EA8 +/* 990894 802410B4 0260302D */ daddu $a2, $s3, $zero +/* 990898 802410B8 0280202D */ daddu $a0, $s4, $zero +/* 99089C 802410BC 0200282D */ daddu $a1, $s0, $zero +/* 9908A0 802410C0 0C09022B */ jal func_802408AC +/* 9908A4 802410C4 0260302D */ daddu $a2, $s3, $zero +/* 9908A8 802410C8 08090438 */ j .L802410E0 +/* 9908AC 802410CC 00000000 */ nop +/* 9908B0 802410D0 0280202D */ daddu $a0, $s4, $zero +/* 9908B4 802410D4 0200282D */ daddu $a1, $s0, $zero +/* 9908B8 802410D8 0C0902EB */ jal func_80240BAC +/* 9908BC 802410DC 0260302D */ daddu $a2, $s3, $zero +.L802410E0: +/* 9908C0 802410E0 8FBF0048 */ lw $ra, 0x48($sp) +/* 9908C4 802410E4 8FB50044 */ lw $s5, 0x44($sp) +/* 9908C8 802410E8 8FB40040 */ lw $s4, 0x40($sp) +/* 9908CC 802410EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9908D0 802410F0 8FB20038 */ lw $s2, 0x38($sp) +/* 9908D4 802410F4 8FB10034 */ lw $s1, 0x34($sp) +/* 9908D8 802410F8 8FB00030 */ lw $s0, 0x30($sp) +/* 9908DC 802410FC 0000102D */ daddu $v0, $zero, $zero +/* 9908E0 80241100 03E00008 */ jr $ra +/* 9908E4 80241104 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241108_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241108_98F7E0.s new file mode 100644 index 0000000000..282f00345a --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241108_98F7E0.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241108_9908E8 +/* 9908E8 80241108 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 9908EC 8024110C AFB40030 */ sw $s4, 0x30($sp) +/* 9908F0 80241110 27B40010 */ addiu $s4, $sp, 0x10 +/* 9908F4 80241114 AFB3002C */ sw $s3, 0x2c($sp) +/* 9908F8 80241118 0000982D */ daddu $s3, $zero, $zero +/* 9908FC 8024111C AFBF0038 */ sw $ra, 0x38($sp) +/* 990900 80241120 AFB50034 */ sw $s5, 0x34($sp) +/* 990904 80241124 AFB20028 */ sw $s2, 0x28($sp) +/* 990908 80241128 AFB10024 */ sw $s1, 0x24($sp) +/* 99090C 8024112C AFB00020 */ sw $s0, 0x20($sp) +/* 990910 80241130 8C84014C */ lw $a0, 0x14c($a0) +/* 990914 80241134 0C00EAD2 */ jal get_npc_safe +/* 990918 80241138 24150003 */ addiu $s5, $zero, 3 +/* 99091C 8024113C 24040080 */ addiu $a0, $zero, 0x80 +/* 990920 80241140 0C00AB39 */ jal heap_malloc +/* 990924 80241144 0040882D */ daddu $s1, $v0, $zero +/* 990928 80241148 0040902D */ daddu $s2, $v0, $zero +/* 99092C 8024114C 3C030035 */ lui $v1, 0x35 +/* 990930 80241150 34630002 */ ori $v1, $v1, 2 +/* 990934 80241154 2650000C */ addiu $s0, $s2, 0xc +/* 990938 80241158 3402814A */ ori $v0, $zero, 0x814a +/* 99093C 8024115C AE320020 */ sw $s2, 0x20($s1) +/* 990940 80241160 AFA20010 */ sw $v0, 0x10($sp) +/* 990944 80241164 AFA30014 */ sw $v1, 0x14($sp) +/* 990948 80241168 AFA00018 */ sw $zero, 0x18($sp) +/* 99094C 8024116C AFA0001C */ sw $zero, 0x1c($sp) +.L80241170: +/* 990950 80241170 0C00E211 */ jal create_basic_npc +/* 990954 80241174 0280202D */ daddu $a0, $s4, $zero +/* 990958 80241178 0C00E2B7 */ jal get_npc_by_index +/* 99095C 8024117C 0040202D */ daddu $a0, $v0, $zero +/* 990960 80241180 AE420000 */ sw $v0, ($s2) +/* 990964 80241184 C6200038 */ lwc1 $f0, 0x38($s1) +/* 990968 80241188 E4400038 */ swc1 $f0, 0x38($v0) +/* 99096C 8024118C C620003C */ lwc1 $f0, 0x3c($s1) +/* 990970 80241190 0040202D */ daddu $a0, $v0, $zero +/* 990974 80241194 E480003C */ swc1 $f0, 0x3c($a0) +/* 990978 80241198 C6200040 */ lwc1 $f0, 0x40($s1) +/* 99097C 8024119C 26730001 */ addiu $s3, $s3, 1 +/* 990980 802411A0 E4800040 */ swc1 $f0, 0x40($a0) +/* 990984 802411A4 C620000C */ lwc1 $f0, 0xc($s1) +/* 990988 802411A8 26520010 */ addiu $s2, $s2, 0x10 +/* 99098C 802411AC A09500AB */ sb $s5, 0xab($a0) +/* 990990 802411B0 0C00EAFF */ jal disable_npc_shadow +/* 990994 802411B4 E480000C */ swc1 $f0, 0xc($a0) +/* 990998 802411B8 AE00FFF8 */ sw $zero, -8($s0) +/* 99099C 802411BC AE00FFFC */ sw $zero, -4($s0) +/* 9909A0 802411C0 AE000000 */ sw $zero, ($s0) +/* 9909A4 802411C4 2A620008 */ slti $v0, $s3, 8 +/* 9909A8 802411C8 1440FFE9 */ bnez $v0, .L80241170 +/* 9909AC 802411CC 26100010 */ addiu $s0, $s0, 0x10 +/* 9909B0 802411D0 8FBF0038 */ lw $ra, 0x38($sp) +/* 9909B4 802411D4 8FB50034 */ lw $s5, 0x34($sp) +/* 9909B8 802411D8 8FB40030 */ lw $s4, 0x30($sp) +/* 9909BC 802411DC 8FB3002C */ lw $s3, 0x2c($sp) +/* 9909C0 802411E0 8FB20028 */ lw $s2, 0x28($sp) +/* 9909C4 802411E4 8FB10024 */ lw $s1, 0x24($sp) +/* 9909C8 802411E8 8FB00020 */ lw $s0, 0x20($sp) +/* 9909CC 802411EC 24020002 */ addiu $v0, $zero, 2 +/* 9909D0 802411F0 03E00008 */ jr $ra +/* 9909D4 802411F4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_802411F8_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_802411F8_98F7E0.s new file mode 100644 index 0000000000..dec6f70f24 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_802411F8_98F7E0.s @@ -0,0 +1,254 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F8_9909D8 +/* 9909D8 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 9909DC 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 9909E0 80241200 AFB40030 */ sw $s4, 0x30($sp) +/* 9909E4 80241204 AFB3002C */ sw $s3, 0x2c($sp) +/* 9909E8 80241208 AFB20028 */ sw $s2, 0x28($sp) +/* 9909EC 8024120C AFB10024 */ sw $s1, 0x24($sp) +/* 9909F0 80241210 AFB00020 */ sw $s0, 0x20($sp) +/* 9909F4 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 9909F8 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 9909FC 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 990A00 80241220 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 990A04 80241224 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 990A08 80241228 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 990A0C 8024122C 8C820148 */ lw $v0, 0x148($a0) +/* 990A10 80241230 8C84014C */ lw $a0, 0x14c($a0) +/* 990A14 80241234 C45A006C */ lwc1 $f26, 0x6c($v0) +/* 990A18 80241238 0C00EAD2 */ jal get_npc_safe +/* 990A1C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26 +/* 990A20 80241240 0040A02D */ daddu $s4, $v0, $zero +/* 990A24 80241244 8E930020 */ lw $s3, 0x20($s4) +/* 990A28 80241248 868200A8 */ lh $v0, 0xa8($s4) +/* 990A2C 8024124C 3C013E4C */ lui $at, 0x3e4c +/* 990A30 80241250 3421CCCD */ ori $at, $at, 0xcccd +/* 990A34 80241254 44810000 */ mtc1 $at, $f0 +/* 990A38 80241258 C6860038 */ lwc1 $f6, 0x38($s4) +/* 990A3C 8024125C 44821000 */ mtc1 $v0, $f2 +/* 990A40 80241260 00000000 */ nop +/* 990A44 80241264 468010A0 */ cvt.s.w $f2, $f2 +/* 990A48 80241268 46001082 */ mul.s $f2, $f2, $f0 +/* 990A4C 8024126C 00000000 */ nop +/* 990A50 80241270 C688003C */ lwc1 $f8, 0x3c($s4) +/* 990A54 80241274 3C014334 */ lui $at, 0x4334 +/* 990A58 80241278 44816000 */ mtc1 $at, $f12 +/* 990A5C 8024127C C6800034 */ lwc1 $f0, 0x34($s4) +/* 990A60 80241280 C6840040 */ lwc1 $f4, 0x40($s4) +/* 990A64 80241284 460C0300 */ add.s $f12, $f0, $f12 +/* 990A68 80241288 E7A60018 */ swc1 $f6, 0x18($sp) +/* 990A6C 8024128C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 990A70 80241290 0C00A6C9 */ jal clamp_angle +/* 990A74 80241294 46024500 */ add.s $f20, $f8, $f2 +/* 990A78 80241298 868200A6 */ lh $v0, 0xa6($s4) +/* 990A7C 8024129C 3C013E99 */ lui $at, 0x3e99 +/* 990A80 802412A0 3421999A */ ori $at, $at, 0x999a +/* 990A84 802412A4 44812000 */ mtc1 $at, $f4 +/* 990A88 802412A8 44821000 */ mtc1 $v0, $f2 +/* 990A8C 802412AC 00000000 */ nop +/* 990A90 802412B0 468010A0 */ cvt.s.w $f2, $f2 +/* 990A94 802412B4 46041082 */ mul.s $f2, $f2, $f4 +/* 990A98 802412B8 00000000 */ nop +/* 990A9C 802412BC 27A40018 */ addiu $a0, $sp, 0x18 +/* 990AA0 802412C0 44070000 */ mfc1 $a3, $f0 +/* 990AA4 802412C4 44061000 */ mfc1 $a2, $f2 +/* 990AA8 802412C8 0C00A7E7 */ jal add_vec2D_polar +/* 990AAC 802412CC 27A5001C */ addiu $a1, $sp, 0x1c +/* 990AB0 802412D0 8E820000 */ lw $v0, ($s4) +/* 990AB4 802412D4 30420002 */ andi $v0, $v0, 2 +/* 990AB8 802412D8 1040000D */ beqz $v0, .L80241310 +/* 990ABC 802412DC 0000902D */ daddu $s2, $zero, $zero +/* 990AC0 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 990AC4 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp) +.L802412E8: +/* 990AC8 802412E8 26520001 */ addiu $s2, $s2, 1 +/* 990ACC 802412EC 8E700000 */ lw $s0, ($s3) +/* 990AD0 802412F0 26730010 */ addiu $s3, $s3, 0x10 +/* 990AD4 802412F4 2A420008 */ slti $v0, $s2, 8 +/* 990AD8 802412F8 E6020038 */ swc1 $f2, 0x38($s0) +/* 990ADC 802412FC E614003C */ swc1 $f20, 0x3c($s0) +/* 990AE0 80241300 1440FFF9 */ bnez $v0, .L802412E8 +/* 990AE4 80241304 E6000040 */ swc1 $f0, 0x40($s0) +/* 990AE8 80241308 08090562 */ j .L80241588 +/* 990AEC 8024130C 0000102D */ daddu $v0, $zero, $zero +.L80241310: +/* 990AF0 80241310 26710008 */ addiu $s1, $s3, 8 +/* 990AF4 80241314 3C014024 */ lui $at, 0x4024 +/* 990AF8 80241318 4481C800 */ mtc1 $at, $f25 +/* 990AFC 8024131C 4480C000 */ mtc1 $zero, $f24 +/* 990B00 80241320 3C013F4C */ lui $at, 0x3f4c +/* 990B04 80241324 3421CCCD */ ori $at, $at, 0xcccd +/* 990B08 80241328 4481B000 */ mtc1 $at, $f22 +/* 990B0C 8024132C 3C013F33 */ lui $at, 0x3f33 +/* 990B10 80241330 34213333 */ ori $at, $at, 0x3333 +/* 990B14 80241334 4481E000 */ mtc1 $at, $f28 +/* 990B18 80241338 3C01C120 */ lui $at, 0xc120 +/* 990B1C 8024133C 4481F000 */ mtc1 $at, $f30 +.L80241340: +/* 990B20 80241340 8E700000 */ lw $s0, ($s3) +/* 990B24 80241344 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 990B28 80241348 E7B40010 */ swc1 $f20, 0x10($sp) +/* 990B2C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 990B30 80241350 E7A00014 */ swc1 $f0, 0x14($sp) +/* 990B34 80241354 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 990B38 80241358 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 990B3C 8024135C 8E060040 */ lw $a2, 0x40($s0) +/* 990B40 80241360 44071000 */ mfc1 $a3, $f2 +/* 990B44 80241364 0C00A7CB */ jal dist3D +/* 990B48 80241368 00000000 */ nop +/* 990B4C 8024136C 46000021 */ cvt.d.s $f0, $f0 +/* 990B50 80241370 4620C03E */ c.le.d $f24, $f0 +/* 990B54 80241374 00000000 */ nop +/* 990B58 80241378 45000047 */ bc1f .L80241498 +/* 990B5C 8024137C 00000000 */ nop +/* 990B60 80241380 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 990B64 80241384 C7A40018 */ lwc1 $f4, 0x18($sp) +/* 990B68 80241388 46046301 */ sub.s $f12, $f12, $f4 +/* 990B6C 8024138C 46166302 */ mul.s $f12, $f12, $f22 +/* 990B70 80241390 00000000 */ nop +/* 990B74 80241394 C6000040 */ lwc1 $f0, 0x40($s0) +/* 990B78 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 990B7C 8024139C 46020001 */ sub.s $f0, $f0, $f2 +/* 990B80 802413A0 46160002 */ mul.s $f0, $f0, $f22 +/* 990B84 802413A4 00000000 */ nop +/* 990B88 802413A8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 990B8C 802413AC E7A20014 */ swc1 $f2, 0x14($sp) +/* 990B90 802413B0 46020000 */ add.s $f0, $f0, $f2 +/* 990B94 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 990B98 802413B8 44072000 */ mfc1 $a3, $f4 +/* 990B9C 802413BC 44060000 */ mfc1 $a2, $f0 +/* 990BA0 802413C0 0C00A7CB */ jal dist3D +/* 990BA4 802413C4 46046300 */ add.s $f12, $f12, $f4 +/* 990BA8 802413C8 C6080038 */ lwc1 $f8, 0x38($s0) +/* 990BAC 802413CC C7A20018 */ lwc1 $f2, 0x18($sp) +/* 990BB0 802413D0 46024201 */ sub.s $f8, $f8, $f2 +/* 990BB4 802413D4 46164202 */ mul.s $f8, $f8, $f22 +/* 990BB8 802413D8 00000000 */ nop +/* 990BBC 802413DC C606003C */ lwc1 $f6, 0x3c($s0) +/* 990BC0 802413E0 46000021 */ cvt.d.s $f0, $f0 +/* 990BC4 802413E4 46143181 */ sub.s $f6, $f6, $f20 +/* 990BC8 802413E8 4620C003 */ div.d $f0, $f24, $f0 +/* 990BCC 802413EC 46200020 */ cvt.s.d $f0, $f0 +/* 990BD0 802413F0 46003182 */ mul.s $f6, $f6, $f0 +/* 990BD4 802413F4 00000000 */ nop +/* 990BD8 802413F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* 990BDC 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp) +/* 990BE0 80241400 460A2101 */ sub.s $f4, $f4, $f10 +/* 990BE4 80241404 46162102 */ mul.s $f4, $f4, $f22 +/* 990BE8 80241408 00000000 */ nop +/* 990BEC 8024140C 46004202 */ mul.s $f8, $f8, $f0 +/* 990BF0 80241410 00000000 */ nop +/* 990BF4 80241414 46002102 */ mul.s $f4, $f4, $f0 +/* 990BF8 80241418 00000000 */ nop +/* 990BFC 8024141C 46024200 */ add.s $f8, $f8, $f2 +/* 990C00 80241420 C6020038 */ lwc1 $f2, 0x38($s0) +/* 990C04 80241424 46024081 */ sub.s $f2, $f8, $f2 +/* 990C08 80241428 461C1082 */ mul.s $f2, $f2, $f28 +/* 990C0C 8024142C 00000000 */ nop +/* 990C10 80241430 4606A500 */ add.s $f20, $f20, $f6 +/* 990C14 80241434 E622FFFC */ swc1 $f2, -4($s1) +/* 990C18 80241438 C602003C */ lwc1 $f2, 0x3c($s0) +/* 990C1C 8024143C 4602A081 */ sub.s $f2, $f20, $f2 +/* 990C20 80241440 461C1082 */ mul.s $f2, $f2, $f28 +/* 990C24 80241444 00000000 */ nop +/* 990C28 80241448 460A2100 */ add.s $f4, $f4, $f10 +/* 990C2C 8024144C E6220000 */ swc1 $f2, ($s1) +/* 990C30 80241450 C6000040 */ lwc1 $f0, 0x40($s0) +/* 990C34 80241454 46002001 */ sub.s $f0, $f4, $f0 +/* 990C38 80241458 461C0002 */ mul.s $f0, $f0, $f28 +/* 990C3C 8024145C 00000000 */ nop +/* 990C40 80241460 3C014120 */ lui $at, 0x4120 +/* 990C44 80241464 44818000 */ mtc1 $at, $f16 +/* 990C48 80241468 E6200004 */ swc1 $f0, 4($s1) +/* 990C4C 8024146C E6080038 */ swc1 $f8, 0x38($s0) +/* 990C50 80241470 E614003C */ swc1 $f20, 0x3c($s0) +/* 990C54 80241474 E6040040 */ swc1 $f4, 0x40($s0) +/* 990C58 80241478 C6200000 */ lwc1 $f0, ($s1) +/* 990C5C 8024147C E7A80018 */ swc1 $f8, 0x18($sp) +/* 990C60 80241480 4600803C */ c.lt.s $f16, $f0 +/* 990C64 80241484 00000000 */ nop +/* 990C68 80241488 45000016 */ bc1f .L802414E4 +/* 990C6C 8024148C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 990C70 80241490 08090539 */ j .L802414E4 +/* 990C74 80241494 E6300000 */ swc1 $f16, ($s1) +.L80241498: +/* 990C78 80241498 C622FFFC */ lwc1 $f2, -4($s1) +/* 990C7C 8024149C 3C013F66 */ lui $at, 0x3f66 +/* 990C80 802414A0 34216666 */ ori $at, $at, 0x6666 +/* 990C84 802414A4 44818000 */ mtc1 $at, $f16 +/* 990C88 802414A8 00000000 */ nop +/* 990C8C 802414AC 46101082 */ mul.s $f2, $f2, $f16 +/* 990C90 802414B0 00000000 */ nop +/* 990C94 802414B4 C6200004 */ lwc1 $f0, 4($s1) +/* 990C98 802414B8 46100002 */ mul.s $f0, $f0, $f16 +/* 990C9C 802414BC 00000000 */ nop +/* 990CA0 802414C0 E622FFFC */ swc1 $f2, -4($s1) +/* 990CA4 802414C4 E6200004 */ swc1 $f0, 4($s1) +/* 990CA8 802414C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* 990CAC 802414CC 46020000 */ add.s $f0, $f0, $f2 +/* 990CB0 802414D0 E6000038 */ swc1 $f0, 0x38($s0) +/* 990CB4 802414D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 990CB8 802414D8 C6220004 */ lwc1 $f2, 4($s1) +/* 990CBC 802414DC 46020000 */ add.s $f0, $f0, $f2 +/* 990CC0 802414E0 E6000040 */ swc1 $f0, 0x40($s0) +.L802414E4: +/* 990CC4 802414E4 C6220000 */ lwc1 $f2, ($s1) +/* 990CC8 802414E8 3C013F80 */ lui $at, 0x3f80 +/* 990CCC 802414EC 44810000 */ mtc1 $at, $f0 +/* 990CD0 802414F0 00000000 */ nop +/* 990CD4 802414F4 46001081 */ sub.s $f2, $f2, $f0 +/* 990CD8 802414F8 461E103C */ c.lt.s $f2, $f30 +/* 990CDC 802414FC 00000000 */ nop +/* 990CE0 80241500 45000002 */ bc1f .L8024150C +/* 990CE4 80241504 E6220000 */ swc1 $f2, ($s1) +/* 990CE8 80241508 E63E0000 */ swc1 $f30, ($s1) +.L8024150C: +/* 990CEC 8024150C C602003C */ lwc1 $f2, 0x3c($s0) +/* 990CF0 80241510 C6200000 */ lwc1 $f0, ($s1) +/* 990CF4 80241514 46001080 */ add.s $f2, $f2, $f0 +/* 990CF8 80241518 461A103E */ c.le.s $f2, $f26 +/* 990CFC 8024151C 00000000 */ nop +/* 990D00 80241520 4500000C */ bc1f .L80241554 +/* 990D04 80241524 E602003C */ swc1 $f2, 0x3c($s0) +/* 990D08 80241528 E61A003C */ swc1 $f26, 0x3c($s0) +/* 990D0C 8024152C C6200000 */ lwc1 $f0, ($s1) +/* 990D10 80241530 3C013FE0 */ lui $at, 0x3fe0 +/* 990D14 80241534 44811800 */ mtc1 $at, $f3 +/* 990D18 80241538 44801000 */ mtc1 $zero, $f2 +/* 990D1C 8024153C 46000007 */ neg.s $f0, $f0 +/* 990D20 80241540 46000021 */ cvt.d.s $f0, $f0 +/* 990D24 80241544 46220002 */ mul.d $f0, $f0, $f2 +/* 990D28 80241548 00000000 */ nop +/* 990D2C 8024154C 46200020 */ cvt.s.d $f0, $f0 +/* 990D30 80241550 E6200000 */ swc1 $f0, ($s1) +.L80241554: +/* 990D34 80241554 26520001 */ addiu $s2, $s2, 1 +/* 990D38 80241558 26310010 */ addiu $s1, $s1, 0x10 +/* 990D3C 8024155C C614003C */ lwc1 $f20, 0x3c($s0) +/* 990D40 80241560 C6000038 */ lwc1 $f0, 0x38($s0) +/* 990D44 80241564 C6020040 */ lwc1 $f2, 0x40($s0) +/* 990D48 80241568 8E820000 */ lw $v0, ($s4) +/* 990D4C 8024156C E7A00018 */ swc1 $f0, 0x18($sp) +/* 990D50 80241570 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 990D54 80241574 AE020000 */ sw $v0, ($s0) +/* 990D58 80241578 2A420008 */ slti $v0, $s2, 8 +/* 990D5C 8024157C 1440FF70 */ bnez $v0, .L80241340 +/* 990D60 80241580 26730010 */ addiu $s3, $s3, 0x10 +/* 990D64 80241584 0000102D */ daddu $v0, $zero, $zero +.L80241588: +/* 990D68 80241588 8FBF0034 */ lw $ra, 0x34($sp) +/* 990D6C 8024158C 8FB40030 */ lw $s4, 0x30($sp) +/* 990D70 80241590 8FB3002C */ lw $s3, 0x2c($sp) +/* 990D74 80241594 8FB20028 */ lw $s2, 0x28($sp) +/* 990D78 80241598 8FB10024 */ lw $s1, 0x24($sp) +/* 990D7C 8024159C 8FB00020 */ lw $s0, 0x20($sp) +/* 990D80 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 990D84 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 990D88 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 990D8C 802415AC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 990D90 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 990D94 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 990D98 802415B8 03E00008 */ jr $ra +/* 990D9C 802415BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_802415C0_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_802415C0_98F7E0.s new file mode 100644 index 0000000000..1d61d77198 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_802415C0_98F7E0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C0_990DA0 +/* 990DA0 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 990DA4 802415C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 990DA8 802415C8 AFB10014 */ sw $s1, 0x14($sp) +/* 990DAC 802415CC AFB00010 */ sw $s0, 0x10($sp) +/* 990DB0 802415D0 8C84014C */ lw $a0, 0x14c($a0) +/* 990DB4 802415D4 0C00EAD2 */ jal get_npc_safe +/* 990DB8 802415D8 0000882D */ daddu $s1, $zero, $zero +/* 990DBC 802415DC 8C500020 */ lw $s0, 0x20($v0) +.L802415E0: +/* 990DC0 802415E0 8E040000 */ lw $a0, ($s0) +/* 990DC4 802415E4 26310001 */ addiu $s1, $s1, 1 +/* 990DC8 802415E8 0C00E273 */ jal free_npc +/* 990DCC 802415EC 26100010 */ addiu $s0, $s0, 0x10 +/* 990DD0 802415F0 2A220008 */ slti $v0, $s1, 8 +/* 990DD4 802415F4 1440FFFA */ bnez $v0, .L802415E0 +/* 990DD8 802415F8 24020002 */ addiu $v0, $zero, 2 +/* 990DDC 802415FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 990DE0 80241600 8FB10014 */ lw $s1, 0x14($sp) +/* 990DE4 80241604 8FB00010 */ lw $s0, 0x10($sp) +/* 990DE8 80241608 03E00008 */ jr $ra +/* 990DEC 8024160C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241610_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241610_98F7E0.s new file mode 100644 index 0000000000..c5d49f38b2 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241610_98F7E0.s @@ -0,0 +1,365 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610_990DF0 +/* 990DF0 80241610 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 990DF4 80241614 0000202D */ daddu $a0, $zero, $zero +/* 990DF8 80241618 3C05FD05 */ lui $a1, 0xfd05 +/* 990DFC 8024161C AFBF00F4 */ sw $ra, 0xf4($sp) +/* 990E00 80241620 AFBE00F0 */ sw $fp, 0xf0($sp) +/* 990E04 80241624 AFB700EC */ sw $s7, 0xec($sp) +/* 990E08 80241628 AFB600E8 */ sw $s6, 0xe8($sp) +/* 990E0C 8024162C AFB500E4 */ sw $s5, 0xe4($sp) +/* 990E10 80241630 AFB400E0 */ sw $s4, 0xe0($sp) +/* 990E14 80241634 AFB300DC */ sw $s3, 0xdc($sp) +/* 990E18 80241638 AFB200D8 */ sw $s2, 0xd8($sp) +/* 990E1C 8024163C AFB100D4 */ sw $s1, 0xd4($sp) +/* 990E20 80241640 AFB000D0 */ sw $s0, 0xd0($sp) +/* 990E24 80241644 F7B60100 */ sdc1 $f22, 0x100($sp) +/* 990E28 80241648 F7B400F8 */ sdc1 $f20, 0xf8($sp) +/* 990E2C 8024164C 0C0B1EAF */ jal get_variable +/* 990E30 80241650 34A50F8A */ ori $a1, $a1, 0xf8a +/* 990E34 80241654 3C03DC08 */ lui $v1, 0xdc08 +/* 990E38 80241658 3C1E800A */ lui $fp, 0x800a +/* 990E3C 8024165C 27DEA66C */ addiu $fp, $fp, -0x5994 +/* 990E40 80241660 34630008 */ ori $v1, $v1, 8 +/* 990E44 80241664 8FC60000 */ lw $a2, ($fp) +/* 990E48 80241668 3C168007 */ lui $s6, %hi(gCurrentCameraID) +/* 990E4C 8024166C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID) +/* 990E50 80241670 00C0282D */ daddu $a1, $a2, $zero +/* 990E54 80241674 24C60008 */ addiu $a2, $a2, 8 +/* 990E58 80241678 AFC60000 */ sw $a2, ($fp) +/* 990E5C 8024167C ACA30000 */ sw $v1, ($a1) +/* 990E60 80241680 8EC40000 */ lw $a0, ($s6) +/* 990E64 80241684 3C18800B */ lui $t8, %hi(gCameras) +/* 990E68 80241688 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 990E6C 8024168C 00041880 */ sll $v1, $a0, 2 +/* 990E70 80241690 00641821 */ addu $v1, $v1, $a0 +/* 990E74 80241694 00031880 */ sll $v1, $v1, 2 +/* 990E78 80241698 00641823 */ subu $v1, $v1, $a0 +/* 990E7C 8024169C 000320C0 */ sll $a0, $v1, 3 +/* 990E80 802416A0 00641821 */ addu $v1, $v1, $a0 +/* 990E84 802416A4 000318C0 */ sll $v1, $v1, 3 +/* 990E88 802416A8 00782021 */ addu $a0, $v1, $t8 +/* 990E8C 802416AC 248300A0 */ addiu $v1, $a0, 0xa0 +/* 990E90 802416B0 ACA30004 */ sw $v1, 4($a1) +/* 990E94 802416B4 94830000 */ lhu $v1, ($a0) +/* 990E98 802416B8 30630010 */ andi $v1, $v1, 0x10 +/* 990E9C 802416BC 14600007 */ bnez $v1, .L802416DC +/* 990EA0 802416C0 0040B82D */ daddu $s7, $v0, $zero +/* 990EA4 802416C4 3C02DB0E */ lui $v0, 0xdb0e +/* 990EA8 802416C8 ACC20000 */ sw $v0, ($a2) +/* 990EAC 802416CC 94830038 */ lhu $v1, 0x38($a0) +/* 990EB0 802416D0 24C20008 */ addiu $v0, $a2, 8 +/* 990EB4 802416D4 AFC20000 */ sw $v0, ($fp) +/* 990EB8 802416D8 ACC30004 */ sw $v1, 4($a2) +.L802416DC: +/* 990EBC 802416DC 248400D4 */ addiu $a0, $a0, 0xd4 +/* 990EC0 802416E0 3C180001 */ lui $t8, 1 +/* 990EC4 802416E4 3C12800A */ lui $s2, 0x800a +/* 990EC8 802416E8 2652A674 */ addiu $s2, $s2, -0x598c +/* 990ECC 802416EC AFB800C8 */ sw $t8, 0xc8($sp) +/* 990ED0 802416F0 8EC50000 */ lw $a1, ($s6) +/* 990ED4 802416F4 8E420000 */ lw $v0, ($s2) +/* 990ED8 802416F8 00052980 */ sll $a1, $a1, 6 +/* 990EDC 802416FC 24A50030 */ addiu $a1, $a1, 0x30 +/* 990EE0 80241700 0C019D40 */ jal guMtxF2L +/* 990EE4 80241704 00452821 */ addu $a1, $v0, $a1 +/* 990EE8 80241708 3C03DA38 */ lui $v1, 0xda38 +/* 990EEC 8024170C 34630007 */ ori $v1, $v1, 7 +/* 990EF0 80241710 3C07E300 */ lui $a3, 0xe300 +/* 990EF4 80241714 34E70A01 */ ori $a3, $a3, 0xa01 +/* 990EF8 80241718 3C08D9C0 */ lui $t0, 0xd9c0 +/* 990EFC 8024171C 3508F9FB */ ori $t0, $t0, 0xf9fb +/* 990F00 80241720 3C0AD9FF */ lui $t2, 0xd9ff +/* 990F04 80241724 354AFFFF */ ori $t2, $t2, 0xffff +/* 990F08 80241728 3C090020 */ lui $t1, 0x20 +/* 990F0C 8024172C 35290005 */ ori $t1, $t1, 5 +/* 990F10 80241730 3C0BD700 */ lui $t3, 0xd700 +/* 990F14 80241734 356B0002 */ ori $t3, $t3, 2 +/* 990F18 80241738 3C0CE300 */ lui $t4, 0xe300 +/* 990F1C 8024173C 358C0F00 */ ori $t4, $t4, 0xf00 +/* 990F20 80241740 3C0DE300 */ lui $t5, 0xe300 +/* 990F24 80241744 35AD0C00 */ ori $t5, $t5, 0xc00 +/* 990F28 80241748 3C0EE300 */ lui $t6, 0xe300 +/* 990F2C 8024174C 35CE1201 */ ori $t6, $t6, 0x1201 +/* 990F30 80241750 3C0FE300 */ lui $t7, 0xe300 +/* 990F34 80241754 35EF1801 */ ori $t7, $t7, 0x1801 +/* 990F38 80241758 3C10E300 */ lui $s0, 0xe300 +/* 990F3C 8024175C 36100D01 */ ori $s0, $s0, 0xd01 +/* 990F40 80241760 3C13E300 */ lui $s3, 0xe300 +/* 990F44 80241764 36731402 */ ori $s3, $s3, 0x1402 +/* 990F48 80241768 3C14E300 */ lui $s4, 0xe300 +/* 990F4C 8024176C 36941700 */ ori $s4, $s4, 0x1700 +/* 990F50 80241770 3C15E200 */ lui $s5, 0xe200 +/* 990F54 80241774 36B51E01 */ ori $s5, $s5, 0x1e01 +/* 990F58 80241778 27B10048 */ addiu $s1, $sp, 0x48 +/* 990F5C 8024177C 0220202D */ daddu $a0, $s1, $zero +/* 990F60 80241780 8FC20000 */ lw $v0, ($fp) +/* 990F64 80241784 8EC50000 */ lw $a1, ($s6) +/* 990F68 80241788 0040302D */ daddu $a2, $v0, $zero +/* 990F6C 8024178C 24420008 */ addiu $v0, $v0, 8 +/* 990F70 80241790 00052980 */ sll $a1, $a1, 6 +/* 990F74 80241794 AFC20000 */ sw $v0, ($fp) +/* 990F78 80241798 ACC30000 */ sw $v1, ($a2) +/* 990F7C 8024179C 8E430000 */ lw $v1, ($s2) +/* 990F80 802417A0 24A50030 */ addiu $a1, $a1, 0x30 +/* 990F84 802417A4 00651821 */ addu $v1, $v1, $a1 +/* 990F88 802417A8 ACC30004 */ sw $v1, 4($a2) +/* 990F8C 802417AC 24430008 */ addiu $v1, $v0, 8 +/* 990F90 802417B0 AFC30000 */ sw $v1, ($fp) +/* 990F94 802417B4 3C03E700 */ lui $v1, 0xe700 +/* 990F98 802417B8 AC430000 */ sw $v1, ($v0) +/* 990F9C 802417BC 24430010 */ addiu $v1, $v0, 0x10 +/* 990FA0 802417C0 AC400004 */ sw $zero, 4($v0) +/* 990FA4 802417C4 AFC30000 */ sw $v1, ($fp) +/* 990FA8 802417C8 24430018 */ addiu $v1, $v0, 0x18 +/* 990FAC 802417CC AC470008 */ sw $a3, 8($v0) +/* 990FB0 802417D0 AC40000C */ sw $zero, 0xc($v0) +/* 990FB4 802417D4 AFC30000 */ sw $v1, ($fp) +/* 990FB8 802417D8 24430020 */ addiu $v1, $v0, 0x20 +/* 990FBC 802417DC AC480010 */ sw $t0, 0x10($v0) +/* 990FC0 802417E0 AC400014 */ sw $zero, 0x14($v0) +/* 990FC4 802417E4 AFC30000 */ sw $v1, ($fp) +/* 990FC8 802417E8 24430028 */ addiu $v1, $v0, 0x28 +/* 990FCC 802417EC AC4A0018 */ sw $t2, 0x18($v0) +/* 990FD0 802417F0 AC49001C */ sw $t1, 0x1c($v0) +/* 990FD4 802417F4 AFC30000 */ sw $v1, ($fp) +/* 990FD8 802417F8 2403FFFF */ addiu $v1, $zero, -1 +/* 990FDC 802417FC AC430024 */ sw $v1, 0x24($v0) +/* 990FE0 80241800 24430030 */ addiu $v1, $v0, 0x30 +/* 990FE4 80241804 AC4B0020 */ sw $t3, 0x20($v0) +/* 990FE8 80241808 AFC30000 */ sw $v1, ($fp) +/* 990FEC 8024180C 24430038 */ addiu $v1, $v0, 0x38 +/* 990FF0 80241810 AC4C0028 */ sw $t4, 0x28($v0) +/* 990FF4 80241814 AC40002C */ sw $zero, 0x2c($v0) +/* 990FF8 80241818 AFC30000 */ sw $v1, ($fp) +/* 990FFC 8024181C 3C030008 */ lui $v1, 8 +/* 991000 80241820 AC430034 */ sw $v1, 0x34($v0) +/* 991004 80241824 24430040 */ addiu $v1, $v0, 0x40 +/* 991008 80241828 AC4D0030 */ sw $t5, 0x30($v0) +/* 99100C 8024182C AFC30000 */ sw $v1, ($fp) +/* 991010 80241830 24032000 */ addiu $v1, $zero, 0x2000 +/* 991014 80241834 AC43003C */ sw $v1, 0x3c($v0) +/* 991018 80241838 24430048 */ addiu $v1, $v0, 0x48 +/* 99101C 8024183C AC4E0038 */ sw $t6, 0x38($v0) +/* 991020 80241840 AFC30000 */ sw $v1, ($fp) +/* 991024 80241844 240300C0 */ addiu $v1, $zero, 0xc0 +/* 991028 80241848 AC430044 */ sw $v1, 0x44($v0) +/* 99102C 8024184C 24430050 */ addiu $v1, $v0, 0x50 +/* 991030 80241850 AC4F0040 */ sw $t7, 0x40($v0) +/* 991034 80241854 AFC30000 */ sw $v1, ($fp) +/* 991038 80241858 24030C00 */ addiu $v1, $zero, 0xc00 +/* 99103C 8024185C AC500048 */ sw $s0, 0x48($v0) +/* 991040 80241860 AC40004C */ sw $zero, 0x4c($v0) +/* 991044 80241864 AC530050 */ sw $s3, 0x50($v0) +/* 991048 80241868 AC430054 */ sw $v1, 0x54($v0) +/* 99104C 8024186C AC540058 */ sw $s4, 0x58($v0) +/* 991050 80241870 AC40005C */ sw $zero, 0x5c($v0) +/* 991054 80241874 AC550060 */ sw $s5, 0x60($v0) +/* 991058 80241878 AC400064 */ sw $zero, 0x64($v0) +/* 99105C 8024187C 8EE50014 */ lw $a1, 0x14($s7) +/* 991060 80241880 8EE60018 */ lw $a2, 0x18($s7) +/* 991064 80241884 8EE7001C */ lw $a3, 0x1c($s7) +/* 991068 80241888 24430058 */ addiu $v1, $v0, 0x58 +/* 99106C 8024188C AFC30000 */ sw $v1, ($fp) +/* 991070 80241890 24430060 */ addiu $v1, $v0, 0x60 +/* 991074 80241894 24420068 */ addiu $v0, $v0, 0x68 +/* 991078 80241898 AFC30000 */ sw $v1, ($fp) +/* 99107C 8024189C 0C019E40 */ jal guTranslateF +/* 991080 802418A0 AFC20000 */ sw $v0, ($fp) +/* 991084 802418A4 27B00088 */ addiu $s0, $sp, 0x88 +/* 991088 802418A8 8FB800C8 */ lw $t8, 0xc8($sp) +/* 99108C 802418AC 8EC30000 */ lw $v1, ($s6) +/* 991090 802418B0 37181630 */ ori $t8, $t8, 0x1630 +/* 991094 802418B4 00031080 */ sll $v0, $v1, 2 +/* 991098 802418B8 00431021 */ addu $v0, $v0, $v1 +/* 99109C 802418BC 00021080 */ sll $v0, $v0, 2 +/* 9910A0 802418C0 00431023 */ subu $v0, $v0, $v1 +/* 9910A4 802418C4 000218C0 */ sll $v1, $v0, 3 +/* 9910A8 802418C8 00431021 */ addu $v0, $v0, $v1 +/* 9910AC 802418CC 000210C0 */ sll $v0, $v0, 3 +/* 9910B0 802418D0 AFB800C8 */ sw $t8, 0xc8($sp) +/* 9910B4 802418D4 3C18800B */ lui $t8, %hi(gCameras) +/* 9910B8 802418D8 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 9910BC 802418DC 00581021 */ addu $v0, $v0, $t8 +/* 9910C0 802418E0 C6E00024 */ lwc1 $f0, 0x24($s7) +/* 9910C4 802418E4 C442006C */ lwc1 $f2, 0x6c($v0) +/* 9910C8 802418E8 4480A000 */ mtc1 $zero, $f20 +/* 9910CC 802418EC 46020000 */ add.s $f0, $f0, $f2 +/* 9910D0 802418F0 C6E20038 */ lwc1 $f2, 0x38($s7) +/* 9910D4 802418F4 3C013F80 */ lui $at, 0x3f80 +/* 9910D8 802418F8 4481B000 */ mtc1 $at, $f22 +/* 9910DC 802418FC 46020000 */ add.s $f0, $f0, $f2 +/* 9910E0 80241900 4406A000 */ mfc1 $a2, $f20 +/* 9910E4 80241904 4407B000 */ mfc1 $a3, $f22 +/* 9910E8 80241908 44050000 */ mfc1 $a1, $f0 +/* 9910EC 8024190C 0200202D */ daddu $a0, $s0, $zero +/* 9910F0 80241910 0C019EC8 */ jal guRotateF +/* 9910F4 80241914 E7B40010 */ swc1 $f20, 0x10($sp) +/* 9910F8 80241918 0200202D */ daddu $a0, $s0, $zero +/* 9910FC 8024191C 0220282D */ daddu $a1, $s1, $zero +/* 991100 80241920 0C019D80 */ jal guMtxCatF +/* 991104 80241924 0220302D */ daddu $a2, $s1, $zero +/* 991108 80241928 E7B60010 */ swc1 $f22, 0x10($sp) +/* 99110C 8024192C 8EE50028 */ lw $a1, 0x28($s7) +/* 991110 80241930 4406A000 */ mfc1 $a2, $f20 +/* 991114 80241934 4407A000 */ mfc1 $a3, $f20 +/* 991118 80241938 0C019EC8 */ jal guRotateF +/* 99111C 8024193C 0200202D */ daddu $a0, $s0, $zero +/* 991120 80241940 0200202D */ daddu $a0, $s0, $zero +/* 991124 80241944 0220282D */ daddu $a1, $s1, $zero +/* 991128 80241948 0C019D80 */ jal guMtxCatF +/* 99112C 8024194C 0220302D */ daddu $a2, $s1, $zero +/* 991130 80241950 E7B40010 */ swc1 $f20, 0x10($sp) +/* 991134 80241954 8EE50020 */ lw $a1, 0x20($s7) +/* 991138 80241958 4406B000 */ mfc1 $a2, $f22 +/* 99113C 8024195C 4407A000 */ mfc1 $a3, $f20 +/* 991140 80241960 0C019EC8 */ jal guRotateF +/* 991144 80241964 0200202D */ daddu $a0, $s0, $zero +/* 991148 80241968 0200202D */ daddu $a0, $s0, $zero +/* 99114C 8024196C 0220282D */ daddu $a1, $s1, $zero +/* 991150 80241970 0C019D80 */ jal guMtxCatF +/* 991154 80241974 0220302D */ daddu $a2, $s1, $zero +/* 991158 80241978 8EE5002C */ lw $a1, 0x2c($s7) +/* 99115C 8024197C 8EE60030 */ lw $a2, 0x30($s7) +/* 991160 80241980 8EE70034 */ lw $a3, 0x34($s7) +/* 991164 80241984 0C019DF0 */ jal guScaleF +/* 991168 80241988 0200202D */ daddu $a0, $s0, $zero +/* 99116C 8024198C 0200202D */ daddu $a0, $s0, $zero +/* 991170 80241990 0220282D */ daddu $a1, $s1, $zero +/* 991174 80241994 0C019D80 */ jal guMtxCatF +/* 991178 80241998 0220302D */ daddu $a2, $s1, $zero +/* 99117C 8024199C 3C108007 */ lui $s0, 0x8007 +/* 991180 802419A0 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 991184 802419A4 0220202D */ daddu $a0, $s1, $zero +/* 991188 802419A8 96050000 */ lhu $a1, ($s0) +/* 99118C 802419AC 8E420000 */ lw $v0, ($s2) +/* 991190 802419B0 8FB800C8 */ lw $t8, 0xc8($sp) +/* 991194 802419B4 00052980 */ sll $a1, $a1, 6 +/* 991198 802419B8 00B82821 */ addu $a1, $a1, $t8 +/* 99119C 802419BC 0C019D40 */ jal guMtxF2L +/* 9911A0 802419C0 00452821 */ addu $a1, $v0, $a1 +/* 9911A4 802419C4 3C03DA38 */ lui $v1, 0xda38 +/* 9911A8 802419C8 34630002 */ ori $v1, $v1, 2 +/* 9911AC 802419CC 8FC20000 */ lw $v0, ($fp) +/* 9911B0 802419D0 96040000 */ lhu $a0, ($s0) +/* 9911B4 802419D4 0040282D */ daddu $a1, $v0, $zero +/* 9911B8 802419D8 24420008 */ addiu $v0, $v0, 8 +/* 9911BC 802419DC AFC20000 */ sw $v0, ($fp) +/* 9911C0 802419E0 3082FFFF */ andi $v0, $a0, 0xffff +/* 9911C4 802419E4 00021180 */ sll $v0, $v0, 6 +/* 9911C8 802419E8 ACA30000 */ sw $v1, ($a1) +/* 9911CC 802419EC 8FB800C8 */ lw $t8, 0xc8($sp) +/* 9911D0 802419F0 8E430000 */ lw $v1, ($s2) +/* 9911D4 802419F4 00581021 */ addu $v0, $v0, $t8 +/* 9911D8 802419F8 00621821 */ addu $v1, $v1, $v0 +/* 9911DC 802419FC 3C028000 */ lui $v0, 0x8000 +/* 9911E0 80241A00 00621821 */ addu $v1, $v1, $v0 +/* 9911E4 80241A04 ACA30004 */ sw $v1, 4($a1) +/* 9911E8 80241A08 8EE20000 */ lw $v0, ($s7) +/* 9911EC 80241A0C 24840001 */ addiu $a0, $a0, 1 +/* 9911F0 80241A10 10400014 */ beqz $v0, .L80241A64 +/* 9911F4 80241A14 A6040000 */ sh $a0, ($s0) +/* 9911F8 80241A18 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9911FC 80241A1C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 991200 80241A20 94430134 */ lhu $v1, 0x134($v0) +/* 991204 80241A24 3C02CCCC */ lui $v0, 0xcccc +/* 991208 80241A28 3442CCCD */ ori $v0, $v0, 0xcccd +/* 99120C 80241A2C 00620019 */ multu $v1, $v0 +/* 991210 80241A30 0000C010 */ mfhi $t8 +/* 991214 80241A34 001820C2 */ srl $a0, $t8, 3 +/* 991218 80241A38 00041080 */ sll $v0, $a0, 2 +/* 99121C 80241A3C 00441021 */ addu $v0, $v0, $a0 +/* 991220 80241A40 00021040 */ sll $v0, $v0, 1 +/* 991224 80241A44 00621823 */ subu $v1, $v1, $v0 +/* 991228 80241A48 3063FFFF */ andi $v1, $v1, 0xffff +/* 99122C 80241A4C 2C630005 */ sltiu $v1, $v1, 5 +/* 991230 80241A50 10600003 */ beqz $v1, .L80241A60 +/* 991234 80241A54 24020002 */ addiu $v0, $zero, 2 +/* 991238 80241A58 08090699 */ j .L80241A64 +/* 99123C 80241A5C AEE00010 */ sw $zero, 0x10($s7) +.L80241A60: +/* 991240 80241A60 AEE20010 */ sw $v0, 0x10($s7) +.L80241A64: +/* 991244 80241A64 8EE5000C */ lw $a1, 0xc($s7) +/* 991248 80241A68 8EE60010 */ lw $a2, 0x10($s7) +/* 99124C 80241A6C 0C0B7A76 */ jal func_802DE9D8 +/* 991250 80241A70 27A40038 */ addiu $a0, $sp, 0x38 +/* 991254 80241A74 97A20042 */ lhu $v0, 0x42($sp) +/* 991258 80241A78 8FA30038 */ lw $v1, 0x38($sp) +/* 99125C 80241A7C 8FA4003C */ lw $a0, 0x3c($sp) +/* 991260 80241A80 A7A20028 */ sh $v0, 0x28($sp) +/* 991264 80241A84 3042FFFF */ andi $v0, $v0, 0xffff +/* 991268 80241A88 44820000 */ mtc1 $v0, $f0 +/* 99126C 80241A8C 00000000 */ nop +/* 991270 80241A90 46800020 */ cvt.s.w $f0, $f0 +/* 991274 80241A94 AFA30020 */ sw $v1, 0x20($sp) +/* 991278 80241A98 AFA40024 */ sw $a0, 0x24($sp) +/* 99127C 80241A9C E6E0004C */ swc1 $f0, 0x4c($s7) +/* 991280 80241AA0 97A20046 */ lhu $v0, 0x46($sp) +/* 991284 80241AA4 A7A2002A */ sh $v0, 0x2a($sp) +/* 991288 80241AA8 3042FFFF */ andi $v0, $v0, 0xffff +/* 99128C 80241AAC 44820000 */ mtc1 $v0, $f0 +/* 991290 80241AB0 00000000 */ nop +/* 991294 80241AB4 46800020 */ cvt.s.w $f0, $f0 +/* 991298 80241AB8 E6E00050 */ swc1 $f0, 0x50($s7) +/* 99129C 80241ABC 8FA20040 */ lw $v0, 0x40($sp) +/* 9912A0 80241AC0 240300FF */ addiu $v1, $zero, 0xff +/* 9912A4 80241AC4 A3A30030 */ sb $v1, 0x30($sp) +/* 9912A8 80241AC8 00021FC2 */ srl $v1, $v0, 0x1f +/* 9912AC 80241ACC 00431021 */ addu $v0, $v0, $v1 +/* 9912B0 80241AD0 00021043 */ sra $v0, $v0, 1 +/* 9912B4 80241AD4 8FA30044 */ lw $v1, 0x44($sp) +/* 9912B8 80241AD8 00021023 */ negu $v0, $v0 +/* 9912BC 80241ADC A7A2002C */ sh $v0, 0x2c($sp) +/* 9912C0 80241AE0 000317C2 */ srl $v0, $v1, 0x1f +/* 9912C4 80241AE4 00621821 */ addu $v1, $v1, $v0 +/* 9912C8 80241AE8 00031843 */ sra $v1, $v1, 1 +/* 9912CC 80241AEC A7A3002E */ sh $v1, 0x2e($sp) +/* 9912D0 80241AF0 C6E2003C */ lwc1 $f2, 0x3c($s7) +/* 9912D4 80241AF4 C6E00044 */ lwc1 $f0, 0x44($s7) +/* 9912D8 80241AF8 C6E40040 */ lwc1 $f4, 0x40($s7) +/* 9912DC 80241AFC 4600018D */ trunc.w.s $f6, $f0 +/* 9912E0 80241B00 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9912E4 80241B04 C6E00048 */ lwc1 $f0, 0x48($s7) +/* 9912E8 80241B08 4600118D */ trunc.w.s $f6, $f2 +/* 9912EC 80241B0C 44063000 */ mfc1 $a2, $f6 +/* 9912F0 80241B10 AFA00018 */ sw $zero, 0x18($sp) +/* 9912F4 80241B14 4600018D */ trunc.w.s $f6, $f0 +/* 9912F8 80241B18 E7A60014 */ swc1 $f6, 0x14($sp) +/* 9912FC 80241B1C 8EE40004 */ lw $a0, 4($s7) +/* 991300 80241B20 4600218D */ trunc.w.s $f6, $f4 +/* 991304 80241B24 44073000 */ mfc1 $a3, $f6 +/* 991308 80241B28 0C04EAA7 */ jal func_8013AA9C +/* 99130C 80241B2C 24050008 */ addiu $a1, $zero, 8 +/* 991310 80241B30 27A50020 */ addiu $a1, $sp, 0x20 +/* 991314 80241B34 0000302D */ daddu $a2, $zero, $zero +/* 991318 80241B38 8EE40004 */ lw $a0, 4($s7) +/* 99131C 80241B3C 0C04EBDC */ jal func_8013AF70 +/* 991320 80241B40 27A70048 */ addiu $a3, $sp, 0x48 +/* 991324 80241B44 3C05D838 */ lui $a1, 0xd838 +/* 991328 80241B48 3C03800A */ lui $v1, 0x800a +/* 99132C 80241B4C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 991330 80241B50 8C620000 */ lw $v0, ($v1) +/* 991334 80241B54 34A50002 */ ori $a1, $a1, 2 +/* 991338 80241B58 0040202D */ daddu $a0, $v0, $zero +/* 99133C 80241B5C 24420008 */ addiu $v0, $v0, 8 +/* 991340 80241B60 AC620000 */ sw $v0, ($v1) +/* 991344 80241B64 24020040 */ addiu $v0, $zero, 0x40 +/* 991348 80241B68 AC850000 */ sw $a1, ($a0) +/* 99134C 80241B6C AC820004 */ sw $v0, 4($a0) +/* 991350 80241B70 8FBF00F4 */ lw $ra, 0xf4($sp) +/* 991354 80241B74 8FBE00F0 */ lw $fp, 0xf0($sp) +/* 991358 80241B78 8FB700EC */ lw $s7, 0xec($sp) +/* 99135C 80241B7C 8FB600E8 */ lw $s6, 0xe8($sp) +/* 991360 80241B80 8FB500E4 */ lw $s5, 0xe4($sp) +/* 991364 80241B84 8FB400E0 */ lw $s4, 0xe0($sp) +/* 991368 80241B88 8FB300DC */ lw $s3, 0xdc($sp) +/* 99136C 80241B8C 8FB200D8 */ lw $s2, 0xd8($sp) +/* 991370 80241B90 8FB100D4 */ lw $s1, 0xd4($sp) +/* 991374 80241B94 8FB000D0 */ lw $s0, 0xd0($sp) +/* 991378 80241B98 D7B60100 */ ldc1 $f22, 0x100($sp) +/* 99137C 80241B9C D7B400F8 */ ldc1 $f20, 0xf8($sp) +/* 991380 80241BA0 03E00008 */ jr $ra +/* 991384 80241BA4 27BD0108 */ addiu $sp, $sp, 0x108 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241BA8.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241BA8.s new file mode 100644 index 0000000000..62ef32f032 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241BA8.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BA8 +/* 991388 80241BA8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 99138C 80241BAC AFB20028 */ sw $s2, 0x28($sp) +/* 991390 80241BB0 0080902D */ daddu $s2, $a0, $zero +/* 991394 80241BB4 AFBF002C */ sw $ra, 0x2c($sp) +/* 991398 80241BB8 AFB10024 */ sw $s1, 0x24($sp) +/* 99139C 80241BBC AFB00020 */ sw $s0, 0x20($sp) +/* 9913A0 80241BC0 8E420148 */ lw $v0, 0x148($s2) +/* 9913A4 80241BC4 0C00EABB */ jal get_npc_unsafe +/* 9913A8 80241BC8 84440008 */ lh $a0, 8($v0) +/* 9913AC 80241BCC 24040054 */ addiu $a0, $zero, 0x54 +/* 9913B0 80241BD0 0C00AB39 */ jal heap_malloc +/* 9913B4 80241BD4 0040882D */ daddu $s1, $v0, $zero +/* 9913B8 80241BD8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9913BC 80241BDC 0040802D */ daddu $s0, $v0, $zero +/* 9913C0 80241BE0 24020035 */ addiu $v0, $zero, 0x35 +/* 9913C4 80241BE4 AE02000C */ sw $v0, 0xc($s0) +/* 9913C8 80241BE8 0040282D */ daddu $a1, $v0, $zero +/* 9913CC 80241BEC 0000302D */ daddu $a2, $zero, $zero +/* 9913D0 80241BF0 AE000000 */ sw $zero, ($s0) +/* 9913D4 80241BF4 0C0B7A76 */ jal func_802DE9D8 +/* 9913D8 80241BF8 AE000010 */ sw $zero, 0x10($s0) +/* 9913DC 80241BFC C7A00018 */ lwc1 $f0, 0x18($sp) +/* 9913E0 80241C00 46800020 */ cvt.s.w $f0, $f0 +/* 9913E4 80241C04 E600004C */ swc1 $f0, 0x4c($s0) +/* 9913E8 80241C08 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9913EC 80241C0C 46800020 */ cvt.s.w $f0, $f0 +/* 9913F0 80241C10 E6000050 */ swc1 $f0, 0x50($s0) +/* 9913F4 80241C14 46000086 */ mov.s $f2, $f0 +/* 9913F8 80241C18 3C018024 */ lui $at, 0x8024 +/* 9913FC 80241C1C D4202F38 */ ldc1 $f0, 0x2f38($at) +/* 991400 80241C20 460010A1 */ cvt.d.s $f2, $f2 +/* 991404 80241C24 46201082 */ mul.d $f2, $f2, $f0 +/* 991408 80241C28 00000000 */ nop +/* 99140C 80241C2C 3C013FE0 */ lui $at, 0x3fe0 +/* 991410 80241C30 44810800 */ mtc1 $at, $f1 +/* 991414 80241C34 44800000 */ mtc1 $zero, $f0 +/* 991418 80241C38 00000000 */ nop +/* 99141C 80241C3C 46201082 */ mul.d $f2, $f2, $f0 +/* 991420 80241C40 00000000 */ nop +/* 991424 80241C44 3C014270 */ lui $at, 0x4270 +/* 991428 80241C48 44813000 */ mtc1 $at, $f6 +/* 99142C 80241C4C C6200038 */ lwc1 $f0, 0x38($s1) +/* 991430 80241C50 0000202D */ daddu $a0, $zero, $zero +/* 991434 80241C54 E6000014 */ swc1 $f0, 0x14($s0) +/* 991438 80241C58 C620003C */ lwc1 $f0, 0x3c($s1) +/* 99143C 80241C5C 3C01437F */ lui $at, 0x437f +/* 991440 80241C60 44812000 */ mtc1 $at, $f4 +/* 991444 80241C64 46000021 */ cvt.d.s $f0, $f0 +/* 991448 80241C68 46220000 */ add.d $f0, $f0, $f2 +/* 99144C 80241C6C 3C014300 */ lui $at, 0x4300 +/* 991450 80241C70 44814000 */ mtc1 $at, $f8 +/* 991454 80241C74 3C0142B4 */ lui $at, 0x42b4 +/* 991458 80241C78 44811000 */ mtc1 $at, $f2 +/* 99145C 80241C7C 46200020 */ cvt.s.d $f0, $f0 +/* 991460 80241C80 E6000018 */ swc1 $f0, 0x18($s0) +/* 991464 80241C84 C62A0040 */ lwc1 $f10, 0x40($s1) +/* 991468 80241C88 3C013F36 */ lui $at, 0x3f36 +/* 99146C 80241C8C 3421DB6E */ ori $at, $at, 0xdb6e +/* 991470 80241C90 44810000 */ mtc1 $at, $f0 +/* 991474 80241C94 3C058024 */ lui $a1, 0x8024 +/* 991478 80241C98 24A51610 */ addiu $a1, $a1, 0x1610 +/* 99147C 80241C9C AE000020 */ sw $zero, 0x20($s0) +/* 991480 80241CA0 AE000024 */ sw $zero, 0x24($s0) +/* 991484 80241CA4 E6020028 */ swc1 $f2, 0x28($s0) +/* 991488 80241CA8 E6060038 */ swc1 $f6, 0x38($s0) +/* 99148C 80241CAC E604003C */ swc1 $f4, 0x3c($s0) +/* 991490 80241CB0 E6080040 */ swc1 $f8, 0x40($s0) +/* 991494 80241CB4 E6040044 */ swc1 $f4, 0x44($s0) +/* 991498 80241CB8 AE000048 */ sw $zero, 0x48($s0) +/* 99149C 80241CBC AE000004 */ sw $zero, 4($s0) +/* 9914A0 80241CC0 E600002C */ swc1 $f0, 0x2c($s0) +/* 9914A4 80241CC4 E6000030 */ swc1 $f0, 0x30($s0) +/* 9914A8 80241CC8 E6000034 */ swc1 $f0, 0x34($s0) +/* 9914AC 80241CCC 0C048C8F */ jal bind_dynamic_entity_7 +/* 9914B0 80241CD0 E60A001C */ swc1 $f10, 0x1c($s0) +/* 9914B4 80241CD4 0240202D */ daddu $a0, $s2, $zero +/* 9914B8 80241CD8 3C05FD05 */ lui $a1, 0xfd05 +/* 9914BC 80241CDC 34A50F8A */ ori $a1, $a1, 0xf8a +/* 9914C0 80241CE0 0200302D */ daddu $a2, $s0, $zero +/* 9914C4 80241CE4 0C0B2026 */ jal set_variable +/* 9914C8 80241CE8 ACC20008 */ sw $v0, 8($a2) +/* 9914CC 80241CEC 8FBF002C */ lw $ra, 0x2c($sp) +/* 9914D0 80241CF0 8FB20028 */ lw $s2, 0x28($sp) +/* 9914D4 80241CF4 8FB10024 */ lw $s1, 0x24($sp) +/* 9914D8 80241CF8 8FB00020 */ lw $s0, 0x20($sp) +/* 9914DC 80241CFC 24020002 */ addiu $v0, $zero, 2 +/* 9914E0 80241D00 03E00008 */ jr $ra +/* 9914E4 80241D04 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241D08.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241D08.s new file mode 100644 index 0000000000..e7cdd186dd --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241D08.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D08 +/* 9914E8 80241D08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9914EC 80241D0C 3C05FD05 */ lui $a1, 0xfd05 +/* 9914F0 80241D10 AFBF0010 */ sw $ra, 0x10($sp) +/* 9914F4 80241D14 0C0B1EAF */ jal get_variable +/* 9914F8 80241D18 34A50F8A */ ori $a1, $a1, 0xf8a +/* 9914FC 80241D1C 8C440008 */ lw $a0, 8($v0) +/* 991500 80241D20 0C048D70 */ jal func_801235C0 +/* 991504 80241D24 00000000 */ nop +/* 991508 80241D28 8FBF0010 */ lw $ra, 0x10($sp) +/* 99150C 80241D2C 24020002 */ addiu $v0, $zero, 2 +/* 991510 80241D30 03E00008 */ jr $ra +/* 991514 80241D34 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241D38_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241D38_98F7E0.s new file mode 100644 index 0000000000..bdc5d5830a --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241D38_98F7E0.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D38_991518 +/* 991518 80241D38 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 99151C 80241D3C AFB10014 */ sw $s1, 0x14($sp) +/* 991520 80241D40 0080882D */ daddu $s1, $a0, $zero +/* 991524 80241D44 AFBF0020 */ sw $ra, 0x20($sp) +/* 991528 80241D48 AFB3001C */ sw $s3, 0x1c($sp) +/* 99152C 80241D4C AFB20018 */ sw $s2, 0x18($sp) +/* 991530 80241D50 AFB00010 */ sw $s0, 0x10($sp) +/* 991534 80241D54 8E30000C */ lw $s0, 0xc($s1) +/* 991538 80241D58 8E050000 */ lw $a1, ($s0) +/* 99153C 80241D5C 0C0B210B */ jal get_float_variable +/* 991540 80241D60 26100004 */ addiu $s0, $s0, 4 +/* 991544 80241D64 8E050000 */ lw $a1, ($s0) +/* 991548 80241D68 26100004 */ addiu $s0, $s0, 4 +/* 99154C 80241D6C 4600010D */ trunc.w.s $f4, $f0 +/* 991550 80241D70 44132000 */ mfc1 $s3, $f4 +/* 991554 80241D74 0C0B210B */ jal get_float_variable +/* 991558 80241D78 0220202D */ daddu $a0, $s1, $zero +/* 99155C 80241D7C 8E050000 */ lw $a1, ($s0) +/* 991560 80241D80 4600010D */ trunc.w.s $f4, $f0 +/* 991564 80241D84 44122000 */ mfc1 $s2, $f4 +/* 991568 80241D88 0C0B210B */ jal get_float_variable +/* 99156C 80241D8C 0220202D */ daddu $a0, $s1, $zero +/* 991570 80241D90 0220202D */ daddu $a0, $s1, $zero +/* 991574 80241D94 3C05FD05 */ lui $a1, 0xfd05 +/* 991578 80241D98 4600010D */ trunc.w.s $f4, $f0 +/* 99157C 80241D9C 44102000 */ mfc1 $s0, $f4 +/* 991580 80241DA0 0C0B1EAF */ jal get_variable +/* 991584 80241DA4 34A50F8A */ ori $a1, $a1, 0xf8a +/* 991588 80241DA8 0040182D */ daddu $v1, $v0, $zero +/* 99158C 80241DAC C4600050 */ lwc1 $f0, 0x50($v1) +/* 991590 80241DB0 3C018024 */ lui $at, 0x8024 +/* 991594 80241DB4 D4222F40 */ ldc1 $f2, 0x2f40($at) +/* 991598 80241DB8 46000021 */ cvt.d.s $f0, $f0 +/* 99159C 80241DBC 46220002 */ mul.d $f0, $f0, $f2 +/* 9915A0 80241DC0 00000000 */ nop +/* 9915A4 80241DC4 3C013FE0 */ lui $at, 0x3fe0 +/* 9915A8 80241DC8 44811800 */ mtc1 $at, $f3 +/* 9915AC 80241DCC 44801000 */ mtc1 $zero, $f2 +/* 9915B0 80241DD0 00000000 */ nop +/* 9915B4 80241DD4 46220002 */ mul.d $f0, $f0, $f2 +/* 9915B8 80241DD8 00000000 */ nop +/* 9915BC 80241DDC 44931000 */ mtc1 $s3, $f2 +/* 9915C0 80241DE0 00000000 */ nop +/* 9915C4 80241DE4 468010A0 */ cvt.s.w $f2, $f2 +/* 9915C8 80241DE8 E4620014 */ swc1 $f2, 0x14($v1) +/* 9915CC 80241DEC 44921000 */ mtc1 $s2, $f2 +/* 9915D0 80241DF0 00000000 */ nop +/* 9915D4 80241DF4 468010A1 */ cvt.d.w $f2, $f2 +/* 9915D8 80241DF8 46201080 */ add.d $f2, $f2, $f0 +/* 9915DC 80241DFC 44900000 */ mtc1 $s0, $f0 +/* 9915E0 80241E00 00000000 */ nop +/* 9915E4 80241E04 46800020 */ cvt.s.w $f0, $f0 +/* 9915E8 80241E08 E460001C */ swc1 $f0, 0x1c($v1) +/* 9915EC 80241E0C 462010A0 */ cvt.s.d $f2, $f2 +/* 9915F0 80241E10 E4620018 */ swc1 $f2, 0x18($v1) +/* 9915F4 80241E14 8FBF0020 */ lw $ra, 0x20($sp) +/* 9915F8 80241E18 8FB3001C */ lw $s3, 0x1c($sp) +/* 9915FC 80241E1C 8FB20018 */ lw $s2, 0x18($sp) +/* 991600 80241E20 8FB10014 */ lw $s1, 0x14($sp) +/* 991604 80241E24 8FB00010 */ lw $s0, 0x10($sp) +/* 991608 80241E28 24020002 */ addiu $v0, $zero, 2 +/* 99160C 80241E2C 03E00008 */ jr $ra +/* 991610 80241E30 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241E34.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241E34.s new file mode 100644 index 0000000000..e643cd1686 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241E34.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E34 +/* 991614 80241E34 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 991618 80241E38 AFB10014 */ sw $s1, 0x14($sp) +/* 99161C 80241E3C 0080882D */ daddu $s1, $a0, $zero +/* 991620 80241E40 AFBF0020 */ sw $ra, 0x20($sp) +/* 991624 80241E44 AFB3001C */ sw $s3, 0x1c($sp) +/* 991628 80241E48 AFB20018 */ sw $s2, 0x18($sp) +/* 99162C 80241E4C AFB00010 */ sw $s0, 0x10($sp) +/* 991630 80241E50 8E30000C */ lw $s0, 0xc($s1) +/* 991634 80241E54 8E050000 */ lw $a1, ($s0) +/* 991638 80241E58 0C0B210B */ jal get_float_variable +/* 99163C 80241E5C 26100004 */ addiu $s0, $s0, 4 +/* 991640 80241E60 8E050000 */ lw $a1, ($s0) +/* 991644 80241E64 26100004 */ addiu $s0, $s0, 4 +/* 991648 80241E68 4600008D */ trunc.w.s $f2, $f0 +/* 99164C 80241E6C 44131000 */ mfc1 $s3, $f2 +/* 991650 80241E70 0C0B210B */ jal get_float_variable +/* 991654 80241E74 0220202D */ daddu $a0, $s1, $zero +/* 991658 80241E78 8E050000 */ lw $a1, ($s0) +/* 99165C 80241E7C 4600008D */ trunc.w.s $f2, $f0 +/* 991660 80241E80 44121000 */ mfc1 $s2, $f2 +/* 991664 80241E84 0C0B210B */ jal get_float_variable +/* 991668 80241E88 0220202D */ daddu $a0, $s1, $zero +/* 99166C 80241E8C 0220202D */ daddu $a0, $s1, $zero +/* 991670 80241E90 3C05FD05 */ lui $a1, 0xfd05 +/* 991674 80241E94 4600008D */ trunc.w.s $f2, $f0 +/* 991678 80241E98 44101000 */ mfc1 $s0, $f2 +/* 99167C 80241E9C 0C0B1EAF */ jal get_variable +/* 991680 80241EA0 34A50F8A */ ori $a1, $a1, 0xf8a +/* 991684 80241EA4 0040182D */ daddu $v1, $v0, $zero +/* 991688 80241EA8 44930000 */ mtc1 $s3, $f0 +/* 99168C 80241EAC 00000000 */ nop +/* 991690 80241EB0 46800020 */ cvt.s.w $f0, $f0 +/* 991694 80241EB4 E4600020 */ swc1 $f0, 0x20($v1) +/* 991698 80241EB8 44920000 */ mtc1 $s2, $f0 +/* 99169C 80241EBC 00000000 */ nop +/* 9916A0 80241EC0 46800020 */ cvt.s.w $f0, $f0 +/* 9916A4 80241EC4 E4600024 */ swc1 $f0, 0x24($v1) +/* 9916A8 80241EC8 44900000 */ mtc1 $s0, $f0 +/* 9916AC 80241ECC 00000000 */ nop +/* 9916B0 80241ED0 46800020 */ cvt.s.w $f0, $f0 +/* 9916B4 80241ED4 E4600028 */ swc1 $f0, 0x28($v1) +/* 9916B8 80241ED8 8FBF0020 */ lw $ra, 0x20($sp) +/* 9916BC 80241EDC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9916C0 80241EE0 8FB20018 */ lw $s2, 0x18($sp) +/* 9916C4 80241EE4 8FB10014 */ lw $s1, 0x14($sp) +/* 9916C8 80241EE8 8FB00010 */ lw $s0, 0x10($sp) +/* 9916CC 80241EEC 24020002 */ addiu $v0, $zero, 2 +/* 9916D0 80241EF0 03E00008 */ jr $ra +/* 9916D4 80241EF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80241EF8.s b/asm/nonmatchings/world/area_isk/isk_13/func_80241EF8.s new file mode 100644 index 0000000000..17ead8d71c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80241EF8.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EF8 +/* 9916D8 80241EF8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9916DC 80241EFC AFB10014 */ sw $s1, 0x14($sp) +/* 9916E0 80241F00 0080882D */ daddu $s1, $a0, $zero +/* 9916E4 80241F04 3C05FD05 */ lui $a1, 0xfd05 +/* 9916E8 80241F08 AFBF001C */ sw $ra, 0x1c($sp) +/* 9916EC 80241F0C AFB20018 */ sw $s2, 0x18($sp) +/* 9916F0 80241F10 AFB00010 */ sw $s0, 0x10($sp) +/* 9916F4 80241F14 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 9916F8 80241F18 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 9916FC 80241F1C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 991700 80241F20 8E30000C */ lw $s0, 0xc($s1) +/* 991704 80241F24 0C0B1EAF */ jal get_variable +/* 991708 80241F28 34A50F8A */ ori $a1, $a1, 0xf8a +/* 99170C 80241F2C 0220202D */ daddu $a0, $s1, $zero +/* 991710 80241F30 0040902D */ daddu $s2, $v0, $zero +/* 991714 80241F34 8E050000 */ lw $a1, ($s0) +/* 991718 80241F38 0C0B210B */ jal get_float_variable +/* 99171C 80241F3C 26100004 */ addiu $s0, $s0, 4 +/* 991720 80241F40 46000606 */ mov.s $f24, $f0 +/* 991724 80241F44 8E050000 */ lw $a1, ($s0) +/* 991728 80241F48 26100004 */ addiu $s0, $s0, 4 +/* 99172C 80241F4C 0C0B210B */ jal get_float_variable +/* 991730 80241F50 0220202D */ daddu $a0, $s1, $zero +/* 991734 80241F54 46000586 */ mov.s $f22, $f0 +/* 991738 80241F58 8E050000 */ lw $a1, ($s0) +/* 99173C 80241F5C 26100004 */ addiu $s0, $s0, 4 +/* 991740 80241F60 0C0B210B */ jal get_float_variable +/* 991744 80241F64 0220202D */ daddu $a0, $s1, $zero +/* 991748 80241F68 46000506 */ mov.s $f20, $f0 +/* 99174C 80241F6C 8E050000 */ lw $a1, ($s0) +/* 991750 80241F70 0C0B210B */ jal get_float_variable +/* 991754 80241F74 0220202D */ daddu $a0, $s1, $zero +/* 991758 80241F78 44801000 */ mtc1 $zero, $f2 +/* 99175C 80241F7C 00000000 */ nop +/* 991760 80241F80 4602C03C */ c.lt.s $f24, $f2 +/* 991764 80241F84 00000000 */ nop +/* 991768 80241F88 45030001 */ bc1tl .L80241F90 +/* 99176C 80241F8C 46001606 */ mov.s $f24, $f2 +.L80241F90: +/* 991770 80241F90 4602B03C */ c.lt.s $f22, $f2 +/* 991774 80241F94 00000000 */ nop +/* 991778 80241F98 45030001 */ bc1tl .L80241FA0 +/* 99177C 80241F9C 46001586 */ mov.s $f22, $f2 +.L80241FA0: +/* 991780 80241FA0 4602A03C */ c.lt.s $f20, $f2 +/* 991784 80241FA4 00000000 */ nop +/* 991788 80241FA8 45030001 */ bc1tl .L80241FB0 +/* 99178C 80241FAC 46001506 */ mov.s $f20, $f2 +.L80241FB0: +/* 991790 80241FB0 4602003C */ c.lt.s $f0, $f2 +/* 991794 80241FB4 00000000 */ nop +/* 991798 80241FB8 45030001 */ bc1tl .L80241FC0 +/* 99179C 80241FBC 46001006 */ mov.s $f0, $f2 +.L80241FC0: +/* 9917A0 80241FC0 3C01437F */ lui $at, 0x437f +/* 9917A4 80241FC4 44811000 */ mtc1 $at, $f2 +/* 9917A8 80241FC8 00000000 */ nop +/* 9917AC 80241FCC 4618103C */ c.lt.s $f2, $f24 +/* 9917B0 80241FD0 00000000 */ nop +/* 9917B4 80241FD4 45030001 */ bc1tl .L80241FDC +/* 9917B8 80241FD8 46001606 */ mov.s $f24, $f2 +.L80241FDC: +/* 9917BC 80241FDC 4616103C */ c.lt.s $f2, $f22 +/* 9917C0 80241FE0 00000000 */ nop +/* 9917C4 80241FE4 45030001 */ bc1tl .L80241FEC +/* 9917C8 80241FE8 46001586 */ mov.s $f22, $f2 +.L80241FEC: +/* 9917CC 80241FEC 4614103C */ c.lt.s $f2, $f20 +/* 9917D0 80241FF0 00000000 */ nop +/* 9917D4 80241FF4 45030001 */ bc1tl .L80241FFC +/* 9917D8 80241FF8 46001506 */ mov.s $f20, $f2 +.L80241FFC: +/* 9917DC 80241FFC 4600103C */ c.lt.s $f2, $f0 +/* 9917E0 80242000 00000000 */ nop +/* 9917E4 80242004 45030001 */ bc1tl .L8024200C +/* 9917E8 80242008 46001006 */ mov.s $f0, $f2 +.L8024200C: +/* 9917EC 8024200C E658003C */ swc1 $f24, 0x3c($s2) +/* 9917F0 80242010 E6560040 */ swc1 $f22, 0x40($s2) +/* 9917F4 80242014 E6540044 */ swc1 $f20, 0x44($s2) +/* 9917F8 80242018 E6400048 */ swc1 $f0, 0x48($s2) +/* 9917FC 8024201C 8FBF001C */ lw $ra, 0x1c($sp) +/* 991800 80242020 8FB20018 */ lw $s2, 0x18($sp) +/* 991804 80242024 8FB10014 */ lw $s1, 0x14($sp) +/* 991808 80242028 8FB00010 */ lw $s0, 0x10($sp) +/* 99180C 8024202C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 991810 80242030 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 991814 80242034 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 991818 80242038 24020002 */ addiu $v0, $zero, 2 +/* 99181C 8024203C 03E00008 */ jr $ra +/* 991820 80242040 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_isk/isk_13/func_80242044_98F7E0.s b/asm/nonmatchings/world/area_isk/isk_13/func_80242044_98F7E0.s new file mode 100644 index 0000000000..2e2d9724d7 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_13/func_80242044_98F7E0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242044_991824 +/* 991824 80242044 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 991828 80242048 3C05FD05 */ lui $a1, 0xfd05 +/* 99182C 8024204C AFBF0010 */ sw $ra, 0x10($sp) +/* 991830 80242050 0C0B1EAF */ jal get_variable +/* 991834 80242054 34A50F8A */ ori $a1, $a1, 0xf8a +/* 991838 80242058 24030001 */ addiu $v1, $zero, 1 +/* 99183C 8024205C AC430000 */ sw $v1, ($v0) +/* 991840 80242060 8FBF0010 */ lw $ra, 0x10($sp) +/* 991844 80242064 24020002 */ addiu $v0, $zero, 2 +/* 991848 80242068 03E00008 */ jr $ra +/* 99184C 8024206C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240000_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240000_992730.s new file mode 100644 index 0000000000..6112482c75 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240000_992730.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_992730 +/* 992730 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 992734 80240004 AFB00030 */ sw $s0, 0x30($sp) +/* 992738 80240008 0080802D */ daddu $s0, $a0, $zero +/* 99273C 8024000C AFBF0040 */ sw $ra, 0x40($sp) +/* 992740 80240010 AFB3003C */ sw $s3, 0x3c($sp) +/* 992744 80240014 AFB20038 */ sw $s2, 0x38($sp) +/* 992748 80240018 AFB10034 */ sw $s1, 0x34($sp) +/* 99274C 8024001C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 992750 80240020 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 992754 80240024 8E130148 */ lw $s3, 0x148($s0) +/* 992758 80240028 00A0882D */ daddu $s1, $a1, $zero +/* 99275C 8024002C 86640008 */ lh $a0, 8($s3) +/* 992760 80240030 0C00EABB */ jal get_npc_unsafe +/* 992764 80240034 00C0902D */ daddu $s2, $a2, $zero +/* 992768 80240038 0200202D */ daddu $a0, $s0, $zero +/* 99276C 8024003C 0220282D */ daddu $a1, $s1, $zero +/* 992770 80240040 0240302D */ daddu $a2, $s2, $zero +/* 992774 80240044 0C012568 */ jal func_800495A0 +/* 992778 80240048 0040802D */ daddu $s0, $v0, $zero +/* 99277C 8024004C 8E020000 */ lw $v0, ($s0) +/* 992780 80240050 2404002D */ addiu $a0, $zero, 0x2d +/* 992784 80240054 34420800 */ ori $v0, $v0, 0x800 +/* 992788 80240058 0C00A67F */ jal rand_int +/* 99278C 8024005C AE020000 */ sw $v0, ($s0) +/* 992790 80240060 0200202D */ daddu $a0, $s0, $zero +/* 992794 80240064 3C05B000 */ lui $a1, 0xb000 +/* 992798 80240068 34A50017 */ ori $a1, $a1, 0x17 +/* 99279C 8024006C 44820000 */ mtc1 $v0, $f0 +/* 9927A0 80240070 00000000 */ nop +/* 9927A4 80240074 46800021 */ cvt.d.w $f0, $f0 +/* 9927A8 80240078 3C014024 */ lui $at, 0x4024 +/* 9927AC 8024007C 44811800 */ mtc1 $at, $f3 +/* 9927B0 80240080 44801000 */ mtc1 $zero, $f2 +/* 9927B4 80240084 3C014020 */ lui $at, 0x4020 +/* 9927B8 80240088 44812800 */ mtc1 $at, $f5 +/* 9927BC 8024008C 44802000 */ mtc1 $zero, $f4 +/* 9927C0 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 9927C4 80240094 46240000 */ add.d $f0, $f0, $f4 +/* 9927C8 80240098 3C013FC0 */ lui $at, 0x3fc0 +/* 9927CC 8024009C 44811000 */ mtc1 $at, $f2 +/* 9927D0 802400A0 0000302D */ daddu $a2, $zero, $zero +/* 9927D4 802400A4 E6020014 */ swc1 $f2, 0x14($s0) +/* 9927D8 802400A8 46200020 */ cvt.s.d $f0, $f0 +/* 9927DC 802400AC 0C012530 */ jal func_800494C0 +/* 9927E0 802400B0 E600001C */ swc1 $f0, 0x1c($s0) +/* 9927E4 802400B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9927E8 802400B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9927EC 802400BC C4620000 */ lwc1 $f2, ($v1) +/* 9927F0 802400C0 468010A0 */ cvt.s.w $f2, $f2 +/* 9927F4 802400C4 C4640008 */ lwc1 $f4, 8($v1) +/* 9927F8 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* 9927FC 802400CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 992800 802400D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* 992804 802400D4 44051000 */ mfc1 $a1, $f2 +/* 992808 802400D8 C440000C */ lwc1 $f0, 0xc($v0) +/* 99280C 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* 992810 802400E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 992814 802400E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* 992818 802400E8 44062000 */ mfc1 $a2, $f4 +/* 99281C 802400EC C4400010 */ lwc1 $f0, 0x10($v0) +/* 992820 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* 992824 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 992828 802400F8 8C640018 */ lw $a0, 0x18($v1) +/* 99282C 802400FC 0C0123F5 */ jal is_point_within_region +/* 992830 80240100 8E070038 */ lw $a3, 0x38($s0) +/* 992834 80240104 10400035 */ beqz $v0, .L802401DC +/* 992838 80240108 00000000 */ nop +/* 99283C 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 992840 80240110 3C0141C8 */ lui $at, 0x41c8 +/* 992844 80240114 4481B000 */ mtc1 $at, $f22 +/* 992848 80240118 8E6200D0 */ lw $v0, 0xd0($s3) +/* 99284C 8024011C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 992850 80240120 C4480000 */ lwc1 $f8, ($v0) +/* 992854 80240124 46804220 */ cvt.s.w $f8, $f8 +/* 992858 80240128 44064000 */ mfc1 $a2, $f8 +/* 99285C 8024012C C4480008 */ lwc1 $f8, 8($v0) +/* 992860 80240130 46804220 */ cvt.s.w $f8, $f8 +/* 992864 80240134 44074000 */ mfc1 $a3, $f8 +/* 992868 80240138 3C01403E */ lui $at, 0x403e +/* 99286C 8024013C 4481A800 */ mtc1 $at, $f21 +/* 992870 80240140 4480A000 */ mtc1 $zero, $f20 +/* 992874 80240144 0C00A720 */ jal atan2 +/* 992878 80240148 0000882D */ daddu $s1, $zero, $zero +/* 99287C 8024014C C6020038 */ lwc1 $f2, 0x38($s0) +/* 992880 80240150 C604003C */ lwc1 $f4, 0x3c($s0) +/* 992884 80240154 C6060040 */ lwc1 $f6, 0x40($s0) +/* 992888 80240158 E600000C */ swc1 $f0, 0xc($s0) +/* 99288C 8024015C E7A20020 */ swc1 $f2, 0x20($sp) +/* 992890 80240160 E7A40024 */ swc1 $f4, 0x24($sp) +/* 992894 80240164 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240168: +/* 992898 80240168 E7B60010 */ swc1 $f22, 0x10($sp) +/* 99289C 8024016C C600000C */ lwc1 $f0, 0xc($s0) +/* 9928A0 80240170 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9928A4 80240174 860200A8 */ lh $v0, 0xa8($s0) +/* 9928A8 80240178 27A50020 */ addiu $a1, $sp, 0x20 +/* 9928AC 8024017C 44820000 */ mtc1 $v0, $f0 +/* 9928B0 80240180 00000000 */ nop +/* 9928B4 80240184 46800020 */ cvt.s.w $f0, $f0 +/* 9928B8 80240188 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9928BC 8024018C 860200A6 */ lh $v0, 0xa6($s0) +/* 9928C0 80240190 27A60024 */ addiu $a2, $sp, 0x24 +/* 9928C4 80240194 44820000 */ mtc1 $v0, $f0 +/* 9928C8 80240198 00000000 */ nop +/* 9928CC 8024019C 46800020 */ cvt.s.w $f0, $f0 +/* 9928D0 802401A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9928D4 802401A4 8E040080 */ lw $a0, 0x80($s0) +/* 9928D8 802401A8 0C037711 */ jal func_800DDC44 +/* 9928DC 802401AC 27A70028 */ addiu $a3, $sp, 0x28 +/* 9928E0 802401B0 10400016 */ beqz $v0, .L8024020C +/* 9928E4 802401B4 26310001 */ addiu $s1, $s1, 1 +/* 9928E8 802401B8 C600000C */ lwc1 $f0, 0xc($s0) +/* 9928EC 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* 9928F0 802401C0 46340000 */ add.d $f0, $f0, $f20 +/* 9928F4 802401C4 2A220006 */ slti $v0, $s1, 6 +/* 9928F8 802401C8 46200020 */ cvt.s.d $f0, $f0 +/* 9928FC 802401CC 1440FFE6 */ bnez $v0, .L80240168 +/* 992900 802401D0 E600000C */ swc1 $f0, 0xc($s0) +/* 992904 802401D4 08090083 */ j .L8024020C +/* 992908 802401D8 00000000 */ nop +.L802401DC: +/* 99290C 802401DC 0C00A67F */ jal rand_int +/* 992910 802401E0 2404003C */ addiu $a0, $zero, 0x3c +/* 992914 802401E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 992918 802401E8 44820000 */ mtc1 $v0, $f0 +/* 99291C 802401EC 00000000 */ nop +/* 992920 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* 992924 802401F4 46006300 */ add.s $f12, $f12, $f0 +/* 992928 802401F8 3C0141F0 */ lui $at, 0x41f0 +/* 99292C 802401FC 44810000 */ mtc1 $at, $f0 +/* 992930 80240200 0C00A6C9 */ jal clamp_angle +/* 992934 80240204 46006301 */ sub.s $f12, $f12, $f0 +/* 992938 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* 99293C 8024020C 8FBF0040 */ lw $ra, 0x40($sp) +/* 992940 80240210 8FB3003C */ lw $s3, 0x3c($sp) +/* 992944 80240214 8FB20038 */ lw $s2, 0x38($sp) +/* 992948 80240218 8FB10034 */ lw $s1, 0x34($sp) +/* 99294C 8024021C 8FB00030 */ lw $s0, 0x30($sp) +/* 992950 80240220 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 992954 80240224 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 992958 80240228 03E00008 */ jr $ra +/* 99295C 8024022C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240230_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240230_992730.s new file mode 100644 index 0000000000..bf8537515d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240230_992730.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240230_992960 +/* 992960 80240230 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 992964 80240234 AFB3004C */ sw $s3, 0x4c($sp) +/* 992968 80240238 0080982D */ daddu $s3, $a0, $zero +/* 99296C 8024023C AFBF0054 */ sw $ra, 0x54($sp) +/* 992970 80240240 AFB40050 */ sw $s4, 0x50($sp) +/* 992974 80240244 AFB20048 */ sw $s2, 0x48($sp) +/* 992978 80240248 AFB10044 */ sw $s1, 0x44($sp) +/* 99297C 8024024C AFB00040 */ sw $s0, 0x40($sp) +/* 992980 80240250 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 992984 80240254 8E710148 */ lw $s1, 0x148($s3) +/* 992988 80240258 00A0A02D */ daddu $s4, $a1, $zero +/* 99298C 8024025C 86240008 */ lh $a0, 8($s1) +/* 992990 80240260 0C00EABB */ jal get_npc_unsafe +/* 992994 80240264 00C0902D */ daddu $s2, $a2, $zero +/* 992998 80240268 8E830014 */ lw $v1, 0x14($s4) +/* 99299C 8024026C 04600034 */ bltz $v1, .L80240340 +/* 9929A0 80240270 0040802D */ daddu $s0, $v0, $zero +/* 9929A4 80240274 8E620074 */ lw $v0, 0x74($s3) +/* 9929A8 80240278 1C400030 */ bgtz $v0, .L8024033C +/* 9929AC 8024027C 2442FFFF */ addiu $v0, $v0, -1 +/* 9929B0 80240280 0240202D */ daddu $a0, $s2, $zero +/* 9929B4 80240284 AE630074 */ sw $v1, 0x74($s3) +/* 9929B8 80240288 AFA00010 */ sw $zero, 0x10($sp) +/* 9929BC 8024028C 8E86000C */ lw $a2, 0xc($s4) +/* 9929C0 80240290 8E870010 */ lw $a3, 0x10($s4) +/* 9929C4 80240294 0C01242D */ jal func_800490B4 +/* 9929C8 80240298 0220282D */ daddu $a1, $s1, $zero +/* 9929CC 8024029C 10400025 */ beqz $v0, .L80240334 +/* 9929D0 802402A0 0000202D */ daddu $a0, $zero, $zero +/* 9929D4 802402A4 0200282D */ daddu $a1, $s0, $zero +/* 9929D8 802402A8 0000302D */ daddu $a2, $zero, $zero +/* 9929DC 802402AC 860300A8 */ lh $v1, 0xa8($s0) +/* 9929E0 802402B0 3C013F80 */ lui $at, 0x3f80 +/* 9929E4 802402B4 44810000 */ mtc1 $at, $f0 +/* 9929E8 802402B8 3C014000 */ lui $at, 0x4000 +/* 9929EC 802402BC 44811000 */ mtc1 $at, $f2 +/* 9929F0 802402C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 9929F4 802402C4 44812000 */ mtc1 $at, $f4 +/* 9929F8 802402C8 2402000F */ addiu $v0, $zero, 0xf +/* 9929FC 802402CC AFA2001C */ sw $v0, 0x1c($sp) +/* 992A00 802402D0 44835000 */ mtc1 $v1, $f10 +/* 992A04 802402D4 00000000 */ nop +/* 992A08 802402D8 468052A0 */ cvt.s.w $f10, $f10 +/* 992A0C 802402DC 44075000 */ mfc1 $a3, $f10 +/* 992A10 802402E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 992A14 802402E4 AFA20020 */ sw $v0, 0x20($sp) +/* 992A18 802402E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 992A1C 802402EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 992A20 802402F0 0C01BFA4 */ jal fx_emote +/* 992A24 802402F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 992A28 802402F8 0200202D */ daddu $a0, $s0, $zero +/* 992A2C 802402FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 992A30 80240300 0C012530 */ jal func_800494C0 +/* 992A34 80240304 3C060020 */ lui $a2, 0x20 +/* 992A38 80240308 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 992A3C 8024030C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 992A40 80240310 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 992A44 80240314 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 992A48 80240318 8C460028 */ lw $a2, 0x28($v0) +/* 992A4C 8024031C 0C00A720 */ jal atan2 +/* 992A50 80240320 8C470030 */ lw $a3, 0x30($v0) +/* 992A54 80240324 2402000C */ addiu $v0, $zero, 0xc +/* 992A58 80240328 E600000C */ swc1 $f0, 0xc($s0) +/* 992A5C 8024032C 08090151 */ j .L80240544 +/* 992A60 80240330 AE620070 */ sw $v0, 0x70($s3) +.L80240334: +/* 992A64 80240334 8E620074 */ lw $v0, 0x74($s3) +/* 992A68 80240338 2442FFFF */ addiu $v0, $v0, -1 +.L8024033C: +/* 992A6C 8024033C AE620074 */ sw $v0, 0x74($s3) +.L80240340: +/* 992A70 80240340 C6000018 */ lwc1 $f0, 0x18($s0) +/* 992A74 80240344 44801000 */ mtc1 $zero, $f2 +/* 992A78 80240348 44801800 */ mtc1 $zero, $f3 +/* 992A7C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* 992A80 80240350 4620103C */ c.lt.d $f2, $f0 +/* 992A84 80240354 00000000 */ nop +/* 992A88 80240358 45000025 */ bc1f .L802403F0 +/* 992A8C 8024035C 27A5002C */ addiu $a1, $sp, 0x2c +/* 992A90 80240360 C6000038 */ lwc1 $f0, 0x38($s0) +/* 992A94 80240364 860200A6 */ lh $v0, 0xa6($s0) +/* 992A98 80240368 3C018024 */ lui $at, 0x8024 +/* 992A9C 8024036C D4222A30 */ ldc1 $f2, 0x2a30($at) +/* 992AA0 80240370 27A60030 */ addiu $a2, $sp, 0x30 +/* 992AA4 80240374 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 992AA8 80240378 44820000 */ mtc1 $v0, $f0 +/* 992AAC 8024037C 00000000 */ nop +/* 992AB0 80240380 46800020 */ cvt.s.w $f0, $f0 +/* 992AB4 80240384 46000021 */ cvt.d.s $f0, $f0 +/* 992AB8 80240388 C604003C */ lwc1 $f4, 0x3c($s0) +/* 992ABC 8024038C C6060040 */ lwc1 $f6, 0x40($s0) +/* 992AC0 80240390 C6080018 */ lwc1 $f8, 0x18($s0) +/* 992AC4 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* 992AC8 80240398 46220002 */ mul.d $f0, $f0, $f2 +/* 992ACC 8024039C 00000000 */ nop +/* 992AD0 802403A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 992AD4 802403A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 992AD8 802403A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* 992ADC 802403AC C604000C */ lwc1 $f4, 0xc($s0) +/* 992AE0 802403B0 44821000 */ mtc1 $v0, $f2 +/* 992AE4 802403B4 00000000 */ nop +/* 992AE8 802403B8 468010A0 */ cvt.s.w $f2, $f2 +/* 992AEC 802403BC E7A20018 */ swc1 $f2, 0x18($sp) +/* 992AF0 802403C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* 992AF4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 992AF8 802403C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 992AFC 802403CC 8E040080 */ lw $a0, 0x80($s0) +/* 992B00 802403D0 0C037711 */ jal func_800DDC44 +/* 992B04 802403D4 27A70034 */ addiu $a3, $sp, 0x34 +/* 992B08 802403D8 54400005 */ bnel $v0, $zero, .L802403F0 +/* 992B0C 802403DC AE000018 */ sw $zero, 0x18($s0) +/* 992B10 802403E0 8E050018 */ lw $a1, 0x18($s0) +/* 992B14 802403E4 8E06000C */ lw $a2, 0xc($s0) +/* 992B18 802403E8 0C00EA95 */ jal npc_move_heading +/* 992B1C 802403EC 0200202D */ daddu $a0, $s0, $zero +.L802403F0: +/* 992B20 802403F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 992B24 802403F4 44801000 */ mtc1 $zero, $f2 +/* 992B28 802403F8 44801800 */ mtc1 $zero, $f3 +/* 992B2C 802403FC 46000021 */ cvt.d.s $f0, $f0 +/* 992B30 80240400 4622003C */ c.lt.d $f0, $f2 +/* 992B34 80240404 00000000 */ nop +/* 992B38 80240408 45000047 */ bc1f .L80240528 +/* 992B3C 8024040C 27A5002C */ addiu $a1, $sp, 0x2c +/* 992B40 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* 992B44 80240414 27A20038 */ addiu $v0, $sp, 0x38 +/* 992B48 80240418 C602003C */ lwc1 $f2, 0x3c($s0) +/* 992B4C 8024041C C6060038 */ lwc1 $f6, 0x38($s0) +/* 992B50 80240420 3C01402A */ lui $at, 0x402a +/* 992B54 80240424 4481A800 */ mtc1 $at, $f21 +/* 992B58 80240428 4480A000 */ mtc1 $zero, $f20 +/* 992B5C 8024042C 460010A1 */ cvt.d.s $f2, $f2 +/* 992B60 80240430 46341080 */ add.d $f2, $f2, $f20 +/* 992B64 80240434 C600001C */ lwc1 $f0, 0x1c($s0) +/* 992B68 80240438 C6040040 */ lwc1 $f4, 0x40($s0) +/* 992B6C 8024043C 46000005 */ abs.s $f0, $f0 +/* 992B70 80240440 E7A40034 */ swc1 $f4, 0x34($sp) +/* 992B74 80240444 3C014030 */ lui $at, 0x4030 +/* 992B78 80240448 44812800 */ mtc1 $at, $f5 +/* 992B7C 8024044C 44802000 */ mtc1 $zero, $f4 +/* 992B80 80240450 46000021 */ cvt.d.s $f0, $f0 +/* 992B84 80240454 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 992B88 80240458 46240000 */ add.d $f0, $f0, $f4 +/* 992B8C 8024045C 462010A0 */ cvt.s.d $f2, $f2 +/* 992B90 80240460 E7A20030 */ swc1 $f2, 0x30($sp) +/* 992B94 80240464 46200020 */ cvt.s.d $f0, $f0 +/* 992B98 80240468 E7A00038 */ swc1 $f0, 0x38($sp) +/* 992B9C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 992BA0 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 992BA4 80240474 0C0372DF */ jal func_800DCB7C +/* 992BA8 80240478 27A70034 */ addiu $a3, $sp, 0x34 +/* 992BAC 8024047C 1040002A */ beqz $v0, .L80240528 +/* 992BB0 80240480 00000000 */ nop +/* 992BB4 80240484 C600001C */ lwc1 $f0, 0x1c($s0) +/* 992BB8 80240488 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 992BBC 8024048C 46000005 */ abs.s $f0, $f0 +/* 992BC0 80240490 46000021 */ cvt.d.s $f0, $f0 +/* 992BC4 80240494 46340000 */ add.d $f0, $f0, $f20 +/* 992BC8 80240498 460010A1 */ cvt.d.s $f2, $f2 +/* 992BCC 8024049C 4620103E */ c.le.d $f2, $f0 +/* 992BD0 802404A0 00000000 */ nop +/* 992BD4 802404A4 45000020 */ bc1f .L80240528 +/* 992BD8 802404A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 992BDC 802404AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* 992BE0 802404B0 8E020000 */ lw $v0, ($s0) +/* 992BE4 802404B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 992BE8 802404B8 AE00001C */ sw $zero, 0x1c($s0) +/* 992BEC 802404BC 00431024 */ and $v0, $v0, $v1 +/* 992BF0 802404C0 AE020000 */ sw $v0, ($s0) +/* 992BF4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 992BF8 802404C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 992BFC 802404CC 0C00A67F */ jal rand_int +/* 992C00 802404D0 AE620070 */ sw $v0, 0x70($s3) +/* 992C04 802404D4 3C035555 */ lui $v1, 0x5555 +/* 992C08 802404D8 34635556 */ ori $v1, $v1, 0x5556 +/* 992C0C 802404DC 00430018 */ mult $v0, $v1 +/* 992C10 802404E0 000227C3 */ sra $a0, $v0, 0x1f +/* 992C14 802404E4 00004010 */ mfhi $t0 +/* 992C18 802404E8 01042023 */ subu $a0, $t0, $a0 +/* 992C1C 802404EC 00041840 */ sll $v1, $a0, 1 +/* 992C20 802404F0 00641821 */ addu $v1, $v1, $a0 +/* 992C24 802404F4 00431023 */ subu $v0, $v0, $v1 +/* 992C28 802404F8 24430002 */ addiu $v1, $v0, 2 +/* 992C2C 802404FC AE630074 */ sw $v1, 0x74($s3) +/* 992C30 80240500 8E82002C */ lw $v0, 0x2c($s4) +/* 992C34 80240504 5840000F */ blezl $v0, .L80240544 +/* 992C38 80240508 AE600070 */ sw $zero, 0x70($s3) +/* 992C3C 8024050C 8E820004 */ lw $v0, 4($s4) +/* 992C40 80240510 5840000C */ blezl $v0, .L80240544 +/* 992C44 80240514 AE600070 */ sw $zero, 0x70($s3) +/* 992C48 80240518 1460000A */ bnez $v1, .L80240544 +/* 992C4C 8024051C 00000000 */ nop +/* 992C50 80240520 08090151 */ j .L80240544 +/* 992C54 80240524 AE600070 */ sw $zero, 0x70($s3) +.L80240528: +/* 992C58 80240528 C604003C */ lwc1 $f4, 0x3c($s0) +/* 992C5C 8024052C C600001C */ lwc1 $f0, 0x1c($s0) +/* 992C60 80240530 46002100 */ add.s $f4, $f4, $f0 +/* 992C64 80240534 C6020014 */ lwc1 $f2, 0x14($s0) +/* 992C68 80240538 46020001 */ sub.s $f0, $f0, $f2 +/* 992C6C 8024053C E604003C */ swc1 $f4, 0x3c($s0) +/* 992C70 80240540 E600001C */ swc1 $f0, 0x1c($s0) +.L80240544: +/* 992C74 80240544 8FBF0054 */ lw $ra, 0x54($sp) +/* 992C78 80240548 8FB40050 */ lw $s4, 0x50($sp) +/* 992C7C 8024054C 8FB3004C */ lw $s3, 0x4c($sp) +/* 992C80 80240550 8FB20048 */ lw $s2, 0x48($sp) +/* 992C84 80240554 8FB10044 */ lw $s1, 0x44($sp) +/* 992C88 80240558 8FB00040 */ lw $s0, 0x40($sp) +/* 992C8C 8024055C D7B40058 */ ldc1 $f20, 0x58($sp) +/* 992C90 80240560 03E00008 */ jr $ra +/* 992C94 80240564 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240568_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240568_992730.s new file mode 100644 index 0000000000..1c6989bd2f --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240568_992730.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_992C98 +/* 992C98 80240568 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 992C9C 8024056C AFB3001C */ sw $s3, 0x1c($sp) +/* 992CA0 80240570 0080982D */ daddu $s3, $a0, $zero +/* 992CA4 80240574 AFBF0020 */ sw $ra, 0x20($sp) +/* 992CA8 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* 992CAC 8024057C AFB10014 */ sw $s1, 0x14($sp) +/* 992CB0 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* 992CB4 80240584 8E720148 */ lw $s2, 0x148($s3) +/* 992CB8 80240588 86440008 */ lh $a0, 8($s2) +/* 992CBC 8024058C 0C00EABB */ jal get_npc_unsafe +/* 992CC0 80240590 00A0882D */ daddu $s1, $a1, $zero +/* 992CC4 80240594 8E240008 */ lw $a0, 8($s1) +/* 992CC8 80240598 0040802D */ daddu $s0, $v0, $zero +/* 992CCC 8024059C 00041FC2 */ srl $v1, $a0, 0x1f +/* 992CD0 802405A0 00832021 */ addu $a0, $a0, $v1 +/* 992CD4 802405A4 00042043 */ sra $a0, $a0, 1 +/* 992CD8 802405A8 0C00A67F */ jal rand_int +/* 992CDC 802405AC 24840001 */ addiu $a0, $a0, 1 +/* 992CE0 802405B0 8E230008 */ lw $v1, 8($s1) +/* 992CE4 802405B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* 992CE8 802405B8 00032FC2 */ srl $a1, $v1, 0x1f +/* 992CEC 802405BC 00651821 */ addu $v1, $v1, $a1 +/* 992CF0 802405C0 00031843 */ sra $v1, $v1, 1 +/* 992CF4 802405C4 00621821 */ addu $v1, $v1, $v0 +/* 992CF8 802405C8 0C00A67F */ jal rand_int +/* 992CFC 802405CC A603008E */ sh $v1, 0x8e($s0) +/* 992D00 802405D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 992D04 802405D4 44820000 */ mtc1 $v0, $f0 +/* 992D08 802405D8 00000000 */ nop +/* 992D0C 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* 992D10 802405E0 46006300 */ add.s $f12, $f12, $f0 +/* 992D14 802405E4 3C0142B4 */ lui $at, 0x42b4 +/* 992D18 802405E8 44810000 */ mtc1 $at, $f0 +/* 992D1C 802405EC 0C00A6C9 */ jal clamp_angle +/* 992D20 802405F0 46006301 */ sub.s $f12, $f12, $f0 +/* 992D24 802405F4 E600000C */ swc1 $f0, 0xc($s0) +/* 992D28 802405F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 992D2C 802405FC 8C420000 */ lw $v0, ($v0) +/* 992D30 80240600 AE020028 */ sw $v0, 0x28($s0) +/* 992D34 80240604 24020003 */ addiu $v0, $zero, 3 +/* 992D38 80240608 AE620070 */ sw $v0, 0x70($s3) +/* 992D3C 8024060C 8FBF0020 */ lw $ra, 0x20($sp) +/* 992D40 80240610 8FB3001C */ lw $s3, 0x1c($sp) +/* 992D44 80240614 8FB20018 */ lw $s2, 0x18($sp) +/* 992D48 80240618 8FB10014 */ lw $s1, 0x14($sp) +/* 992D4C 8024061C 8FB00010 */ lw $s0, 0x10($sp) +/* 992D50 80240620 03E00008 */ jr $ra +/* 992D54 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240628_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240628_992730.s new file mode 100644 index 0000000000..803359363d --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240628_992730.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_992D58 +/* 992D58 80240628 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 992D5C 8024062C AFB40040 */ sw $s4, 0x40($sp) +/* 992D60 80240630 0080A02D */ daddu $s4, $a0, $zero +/* 992D64 80240634 AFBF0044 */ sw $ra, 0x44($sp) +/* 992D68 80240638 AFB3003C */ sw $s3, 0x3c($sp) +/* 992D6C 8024063C AFB20038 */ sw $s2, 0x38($sp) +/* 992D70 80240640 AFB10034 */ sw $s1, 0x34($sp) +/* 992D74 80240644 AFB00030 */ sw $s0, 0x30($sp) +/* 992D78 80240648 8E920148 */ lw $s2, 0x148($s4) +/* 992D7C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* 992D80 80240650 86440008 */ lh $a0, 8($s2) +/* 992D84 80240654 0C00EABB */ jal get_npc_unsafe +/* 992D88 80240658 00C0982D */ daddu $s3, $a2, $zero +/* 992D8C 8024065C 8E230014 */ lw $v1, 0x14($s1) +/* 992D90 80240660 0460002D */ bltz $v1, .L80240718 +/* 992D94 80240664 0040802D */ daddu $s0, $v0, $zero +/* 992D98 80240668 0260202D */ daddu $a0, $s3, $zero +/* 992D9C 8024066C AFA00010 */ sw $zero, 0x10($sp) +/* 992DA0 80240670 8E260024 */ lw $a2, 0x24($s1) +/* 992DA4 80240674 8E270028 */ lw $a3, 0x28($s1) +/* 992DA8 80240678 0C01242D */ jal func_800490B4 +/* 992DAC 8024067C 0240282D */ daddu $a1, $s2, $zero +/* 992DB0 80240680 10400025 */ beqz $v0, .L80240718 +/* 992DB4 80240684 0000202D */ daddu $a0, $zero, $zero +/* 992DB8 80240688 0200282D */ daddu $a1, $s0, $zero +/* 992DBC 8024068C 0000302D */ daddu $a2, $zero, $zero +/* 992DC0 80240690 860300A8 */ lh $v1, 0xa8($s0) +/* 992DC4 80240694 3C013F80 */ lui $at, 0x3f80 +/* 992DC8 80240698 44810000 */ mtc1 $at, $f0 +/* 992DCC 8024069C 3C014000 */ lui $at, 0x4000 +/* 992DD0 802406A0 44811000 */ mtc1 $at, $f2 +/* 992DD4 802406A4 3C01C1A0 */ lui $at, 0xc1a0 +/* 992DD8 802406A8 44812000 */ mtc1 $at, $f4 +/* 992DDC 802406AC 2402000F */ addiu $v0, $zero, 0xf +/* 992DE0 802406B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 992DE4 802406B4 44833000 */ mtc1 $v1, $f6 +/* 992DE8 802406B8 00000000 */ nop +/* 992DEC 802406BC 468031A0 */ cvt.s.w $f6, $f6 +/* 992DF0 802406C0 44073000 */ mfc1 $a3, $f6 +/* 992DF4 802406C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 992DF8 802406C8 AFA20020 */ sw $v0, 0x20($sp) +/* 992DFC 802406CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 992E00 802406D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 992E04 802406D4 0C01BFA4 */ jal fx_emote +/* 992E08 802406D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 992E0C 802406DC 0200202D */ daddu $a0, $s0, $zero +/* 992E10 802406E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 992E14 802406E4 0C012530 */ jal func_800494C0 +/* 992E18 802406E8 3C060020 */ lui $a2, 0x20 +/* 992E1C 802406EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 992E20 802406F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 992E24 802406F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 992E28 802406F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 992E2C 802406FC 8C460028 */ lw $a2, 0x28($v0) +/* 992E30 80240700 0C00A720 */ jal atan2 +/* 992E34 80240704 8C470030 */ lw $a3, 0x30($v0) +/* 992E38 80240708 2402000C */ addiu $v0, $zero, 0xc +/* 992E3C 8024070C E600000C */ swc1 $f0, 0xc($s0) +/* 992E40 80240710 080901EB */ j .L802407AC +/* 992E44 80240714 AE820070 */ sw $v0, 0x70($s4) +.L80240718: +/* 992E48 80240718 8602008C */ lh $v0, 0x8c($s0) +/* 992E4C 8024071C 14400023 */ bnez $v0, .L802407AC +/* 992E50 80240720 00000000 */ nop +/* 992E54 80240724 9602008E */ lhu $v0, 0x8e($s0) +/* 992E58 80240728 2442FFFF */ addiu $v0, $v0, -1 +/* 992E5C 8024072C A602008E */ sh $v0, 0x8e($s0) +/* 992E60 80240730 00021400 */ sll $v0, $v0, 0x10 +/* 992E64 80240734 1C40001D */ bgtz $v0, .L802407AC +/* 992E68 80240738 00000000 */ nop +/* 992E6C 8024073C 8E820074 */ lw $v0, 0x74($s4) +/* 992E70 80240740 2442FFFF */ addiu $v0, $v0, -1 +/* 992E74 80240744 18400018 */ blez $v0, .L802407A8 +/* 992E78 80240748 AE820074 */ sw $v0, 0x74($s4) +/* 992E7C 8024074C C600000C */ lwc1 $f0, 0xc($s0) +/* 992E80 80240750 3C014334 */ lui $at, 0x4334 +/* 992E84 80240754 44816000 */ mtc1 $at, $f12 +/* 992E88 80240758 0C00A6C9 */ jal clamp_angle +/* 992E8C 8024075C 460C0300 */ add.s $f12, $f0, $f12 +/* 992E90 80240760 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 992E94 80240764 0C00A67F */ jal rand_int +/* 992E98 80240768 E600000C */ swc1 $f0, 0xc($s0) +/* 992E9C 8024076C 3C032E8B */ lui $v1, 0x2e8b +/* 992EA0 80240770 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 992EA4 80240774 00430018 */ mult $v0, $v1 +/* 992EA8 80240778 00021FC3 */ sra $v1, $v0, 0x1f +/* 992EAC 8024077C 00004010 */ mfhi $t0 +/* 992EB0 80240780 00082043 */ sra $a0, $t0, 1 +/* 992EB4 80240784 00832023 */ subu $a0, $a0, $v1 +/* 992EB8 80240788 00041840 */ sll $v1, $a0, 1 +/* 992EBC 8024078C 00641821 */ addu $v1, $v1, $a0 +/* 992EC0 80240790 00031880 */ sll $v1, $v1, 2 +/* 992EC4 80240794 00641823 */ subu $v1, $v1, $a0 +/* 992EC8 80240798 00431023 */ subu $v0, $v0, $v1 +/* 992ECC 8024079C 24420005 */ addiu $v0, $v0, 5 +/* 992ED0 802407A0 080901EB */ j .L802407AC +/* 992ED4 802407A4 A602008E */ sh $v0, 0x8e($s0) +.L802407A8: +/* 992ED8 802407A8 AE800070 */ sw $zero, 0x70($s4) +.L802407AC: +/* 992EDC 802407AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 992EE0 802407B0 8FB40040 */ lw $s4, 0x40($sp) +/* 992EE4 802407B4 8FB3003C */ lw $s3, 0x3c($sp) +/* 992EE8 802407B8 8FB20038 */ lw $s2, 0x38($sp) +/* 992EEC 802407BC 8FB10034 */ lw $s1, 0x34($sp) +/* 992EF0 802407C0 8FB00030 */ lw $s0, 0x30($sp) +/* 992EF4 802407C4 03E00008 */ jr $ra +/* 992EF8 802407C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_802407CC_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_802407CC_992730.s new file mode 100644 index 0000000000..71bd9806f7 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_802407CC_992730.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_992EFC +/* 992EFC 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 992F00 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* 992F04 802407D4 0080882D */ daddu $s1, $a0, $zero +/* 992F08 802407D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 992F0C 802407DC AFB20018 */ sw $s2, 0x18($sp) +/* 992F10 802407E0 AFB00010 */ sw $s0, 0x10($sp) +/* 992F14 802407E4 8E220148 */ lw $v0, 0x148($s1) +/* 992F18 802407E8 00A0902D */ daddu $s2, $a1, $zero +/* 992F1C 802407EC 84440008 */ lh $a0, 8($v0) +/* 992F20 802407F0 0C00EABB */ jal get_npc_unsafe +/* 992F24 802407F4 00C0802D */ daddu $s0, $a2, $zero +/* 992F28 802407F8 0220202D */ daddu $a0, $s1, $zero +/* 992F2C 802407FC 0240282D */ daddu $a1, $s2, $zero +/* 992F30 80240800 0200302D */ daddu $a2, $s0, $zero +/* 992F34 80240804 0C0127DF */ jal func_80049F7C +/* 992F38 80240808 0040802D */ daddu $s0, $v0, $zero +/* 992F3C 8024080C 8E020000 */ lw $v0, ($s0) +/* 992F40 80240810 24040005 */ addiu $a0, $zero, 5 +/* 992F44 80240814 34420800 */ ori $v0, $v0, 0x800 +/* 992F48 80240818 0C00A67F */ jal rand_int +/* 992F4C 8024081C AE020000 */ sw $v0, ($s0) +/* 992F50 80240820 44820000 */ mtc1 $v0, $f0 +/* 992F54 80240824 00000000 */ nop +/* 992F58 80240828 46800021 */ cvt.d.w $f0, $f0 +/* 992F5C 8024082C 3C014024 */ lui $at, 0x4024 +/* 992F60 80240830 44811800 */ mtc1 $at, $f3 +/* 992F64 80240834 44801000 */ mtc1 $zero, $f2 +/* 992F68 80240838 3C013FC0 */ lui $at, 0x3fc0 +/* 992F6C 8024083C 44812000 */ mtc1 $at, $f4 +/* 992F70 80240840 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 992F74 80240844 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 992F78 80240848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 992F7C 8024084C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 992F80 80240850 46220000 */ add.d $f0, $f0, $f2 +/* 992F84 80240854 E6040014 */ swc1 $f4, 0x14($s0) +/* 992F88 80240858 46200020 */ cvt.s.d $f0, $f0 +/* 992F8C 8024085C E600001C */ swc1 $f0, 0x1c($s0) +/* 992F90 80240860 8C460028 */ lw $a2, 0x28($v0) +/* 992F94 80240864 0C00A720 */ jal atan2 +/* 992F98 80240868 8C470030 */ lw $a3, 0x30($v0) +/* 992F9C 8024086C 0200202D */ daddu $a0, $s0, $zero +/* 992FA0 80240870 3C05B000 */ lui $a1, 0xb000 +/* 992FA4 80240874 34A50017 */ ori $a1, $a1, 0x17 +/* 992FA8 80240878 0000302D */ daddu $a2, $zero, $zero +/* 992FAC 8024087C E480000C */ swc1 $f0, 0xc($a0) +/* 992FB0 80240880 C6400018 */ lwc1 $f0, 0x18($s2) +/* 992FB4 80240884 2402000D */ addiu $v0, $zero, 0xd +/* 992FB8 80240888 E4800018 */ swc1 $f0, 0x18($a0) +/* 992FBC 8024088C 0C012530 */ jal func_800494C0 +/* 992FC0 80240890 AE220070 */ sw $v0, 0x70($s1) +/* 992FC4 80240894 8FBF001C */ lw $ra, 0x1c($sp) +/* 992FC8 80240898 8FB20018 */ lw $s2, 0x18($sp) +/* 992FCC 8024089C 8FB10014 */ lw $s1, 0x14($sp) +/* 992FD0 802408A0 8FB00010 */ lw $s0, 0x10($sp) +/* 992FD4 802408A4 03E00008 */ jr $ra +/* 992FD8 802408A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_802408AC_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_802408AC_992730.s new file mode 100644 index 0000000000..60688c0364 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_802408AC_992730.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408AC_992FDC +/* 992FDC 802408AC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 992FE0 802408B0 AFB40050 */ sw $s4, 0x50($sp) +/* 992FE4 802408B4 0080A02D */ daddu $s4, $a0, $zero +/* 992FE8 802408B8 AFBF0060 */ sw $ra, 0x60($sp) +/* 992FEC 802408BC AFB7005C */ sw $s7, 0x5c($sp) +/* 992FF0 802408C0 AFB60058 */ sw $s6, 0x58($sp) +/* 992FF4 802408C4 AFB50054 */ sw $s5, 0x54($sp) +/* 992FF8 802408C8 AFB3004C */ sw $s3, 0x4c($sp) +/* 992FFC 802408CC AFB20048 */ sw $s2, 0x48($sp) +/* 993000 802408D0 AFB10044 */ sw $s1, 0x44($sp) +/* 993004 802408D4 AFB00040 */ sw $s0, 0x40($sp) +/* 993008 802408D8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* 99300C 802408DC 8E950148 */ lw $s5, 0x148($s4) +/* 993010 802408E0 00A0B02D */ daddu $s6, $a1, $zero +/* 993014 802408E4 86A40008 */ lh $a0, 8($s5) +/* 993018 802408E8 0C00EABB */ jal get_npc_unsafe +/* 99301C 802408EC 00C0B82D */ daddu $s7, $a2, $zero +/* 993020 802408F0 0040982D */ daddu $s3, $v0, $zero +/* 993024 802408F4 C6600018 */ lwc1 $f0, 0x18($s3) +/* 993028 802408F8 44801000 */ mtc1 $zero, $f2 +/* 99302C 802408FC 44801800 */ mtc1 $zero, $f3 +/* 993030 80240900 46000021 */ cvt.d.s $f0, $f0 +/* 993034 80240904 4620103C */ c.lt.d $f2, $f0 +/* 993038 80240908 00000000 */ nop +/* 99303C 8024090C 45000021 */ bc1f .L80240994 +/* 993040 80240910 27A50028 */ addiu $a1, $sp, 0x28 +/* 993044 80240914 C6600038 */ lwc1 $f0, 0x38($s3) +/* 993048 80240918 C662003C */ lwc1 $f2, 0x3c($s3) +/* 99304C 8024091C C6640040 */ lwc1 $f4, 0x40($s3) +/* 993050 80240920 C6660018 */ lwc1 $f6, 0x18($s3) +/* 993054 80240924 E7A00028 */ swc1 $f0, 0x28($sp) +/* 993058 80240928 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 99305C 8024092C E7A40030 */ swc1 $f4, 0x30($sp) +/* 993060 80240930 E7A60010 */ swc1 $f6, 0x10($sp) +/* 993064 80240934 C660000C */ lwc1 $f0, 0xc($s3) +/* 993068 80240938 E7A00014 */ swc1 $f0, 0x14($sp) +/* 99306C 8024093C 866200A8 */ lh $v0, 0xa8($s3) +/* 993070 80240940 44820000 */ mtc1 $v0, $f0 +/* 993074 80240944 00000000 */ nop +/* 993078 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 99307C 8024094C E7A00018 */ swc1 $f0, 0x18($sp) +/* 993080 80240950 866200A6 */ lh $v0, 0xa6($s3) +/* 993084 80240954 27A6002C */ addiu $a2, $sp, 0x2c +/* 993088 80240958 44820000 */ mtc1 $v0, $f0 +/* 99308C 8024095C 00000000 */ nop +/* 993090 80240960 46800020 */ cvt.s.w $f0, $f0 +/* 993094 80240964 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 993098 80240968 8E640080 */ lw $a0, 0x80($s3) +/* 99309C 8024096C 0C037711 */ jal func_800DDC44 +/* 9930A0 80240970 27A70030 */ addiu $a3, $sp, 0x30 +/* 9930A4 80240974 10400003 */ beqz $v0, .L80240984 +/* 9930A8 80240978 00000000 */ nop +/* 9930AC 8024097C 08090265 */ j .L80240994 +/* 9930B0 80240980 AE600018 */ sw $zero, 0x18($s3) +.L80240984: +/* 9930B4 80240984 8E650018 */ lw $a1, 0x18($s3) +/* 9930B8 80240988 8E66000C */ lw $a2, 0xc($s3) +/* 9930BC 8024098C 0C00EA95 */ jal npc_move_heading +/* 9930C0 80240990 0260202D */ daddu $a0, $s3, $zero +.L80240994: +/* 9930C4 80240994 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9930C8 80240998 44801000 */ mtc1 $zero, $f2 +/* 9930CC 8024099C 44801800 */ mtc1 $zero, $f3 +/* 9930D0 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* 9930D4 802409A4 4622003C */ c.lt.d $f0, $f2 +/* 9930D8 802409A8 00000000 */ nop +/* 9930DC 802409AC 4500006C */ bc1f .L80240B60 +/* 9930E0 802409B0 27B00028 */ addiu $s0, $sp, 0x28 +/* 9930E4 802409B4 0200282D */ daddu $a1, $s0, $zero +/* 9930E8 802409B8 27A60034 */ addiu $a2, $sp, 0x34 +/* 9930EC 802409BC 27B20038 */ addiu $s2, $sp, 0x38 +/* 9930F0 802409C0 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9930F4 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* 9930F8 802409C8 44811000 */ mtc1 $at, $f2 +/* 9930FC 802409CC C6640040 */ lwc1 $f4, 0x40($s3) +/* 993100 802409D0 3C01447A */ lui $at, 0x447a +/* 993104 802409D4 44813000 */ mtc1 $at, $f6 +/* 993108 802409D8 27B10030 */ addiu $s1, $sp, 0x30 +/* 99310C 802409DC E7A00028 */ swc1 $f0, 0x28($sp) +/* 993110 802409E0 E7A20034 */ swc1 $f2, 0x34($sp) +/* 993114 802409E4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 993118 802409E8 E7A60038 */ swc1 $f6, 0x38($sp) +/* 99311C 802409EC AFB20010 */ sw $s2, 0x10($sp) +/* 993120 802409F0 8E640080 */ lw $a0, 0x80($s3) +/* 993124 802409F4 0C0372DF */ jal func_800DCB7C +/* 993128 802409F8 0220382D */ daddu $a3, $s1, $zero +/* 99312C 802409FC 0200282D */ daddu $a1, $s0, $zero +/* 993130 80240A00 27A6002C */ addiu $a2, $sp, 0x2c +/* 993134 80240A04 C662003C */ lwc1 $f2, 0x3c($s3) +/* 993138 80240A08 C6660038 */ lwc1 $f6, 0x38($s3) +/* 99313C 80240A0C 3C01402A */ lui $at, 0x402a +/* 993140 80240A10 4481A800 */ mtc1 $at, $f21 +/* 993144 80240A14 4480A000 */ mtc1 $zero, $f20 +/* 993148 80240A18 460010A1 */ cvt.d.s $f2, $f2 +/* 99314C 80240A1C 46341080 */ add.d $f2, $f2, $f20 +/* 993150 80240A20 C660001C */ lwc1 $f0, 0x1c($s3) +/* 993154 80240A24 C6640040 */ lwc1 $f4, 0x40($s3) +/* 993158 80240A28 46000005 */ abs.s $f0, $f0 +/* 99315C 80240A2C E7A40030 */ swc1 $f4, 0x30($sp) +/* 993160 80240A30 3C014030 */ lui $at, 0x4030 +/* 993164 80240A34 44812800 */ mtc1 $at, $f5 +/* 993168 80240A38 44802000 */ mtc1 $zero, $f4 +/* 99316C 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* 993170 80240A40 E7A60028 */ swc1 $f6, 0x28($sp) +/* 993174 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 993178 80240A48 462010A0 */ cvt.s.d $f2, $f2 +/* 99317C 80240A4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 993180 80240A50 46200020 */ cvt.s.d $f0, $f0 +/* 993184 80240A54 E7A00038 */ swc1 $f0, 0x38($sp) +/* 993188 80240A58 AFB20010 */ sw $s2, 0x10($sp) +/* 99318C 80240A5C 8E640080 */ lw $a0, 0x80($s3) +/* 993190 80240A60 0C0372DF */ jal func_800DCB7C +/* 993194 80240A64 0220382D */ daddu $a3, $s1, $zero +/* 993198 80240A68 1040003D */ beqz $v0, .L80240B60 +/* 99319C 80240A6C 00000000 */ nop +/* 9931A0 80240A70 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9931A4 80240A74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 9931A8 80240A78 46000005 */ abs.s $f0, $f0 +/* 9931AC 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* 9931B0 80240A80 46340000 */ add.d $f0, $f0, $f20 +/* 9931B4 80240A84 460010A1 */ cvt.d.s $f2, $f2 +/* 9931B8 80240A88 4620103E */ c.le.d $f2, $f0 +/* 9931BC 80240A8C 00000000 */ nop +/* 9931C0 80240A90 45000033 */ bc1f .L80240B60 +/* 9931C4 80240A94 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9931C8 80240A98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9931CC 80240A9C 8E620000 */ lw $v0, ($s3) +/* 9931D0 80240AA0 AE60001C */ sw $zero, 0x1c($s3) +/* 9931D4 80240AA4 00431024 */ and $v0, $v0, $v1 +/* 9931D8 80240AA8 E660003C */ swc1 $f0, 0x3c($s3) +/* 9931DC 80240AAC AE620000 */ sw $v0, ($s3) +/* 9931E0 80240AB0 AFA00010 */ sw $zero, 0x10($sp) +/* 9931E4 80240AB4 AFA00014 */ sw $zero, 0x14($sp) +/* 9931E8 80240AB8 8E650038 */ lw $a1, 0x38($s3) +/* 9931EC 80240ABC 8E66003C */ lw $a2, 0x3c($s3) +/* 9931F0 80240AC0 8E670040 */ lw $a3, 0x40($s3) +/* 9931F4 80240AC4 0C01BECC */ jal fx_walk_normal +/* 9931F8 80240AC8 24040002 */ addiu $a0, $zero, 2 +/* 9931FC 80240ACC 02E0202D */ daddu $a0, $s7, $zero +/* 993200 80240AD0 2402000C */ addiu $v0, $zero, 0xc +/* 993204 80240AD4 AE820070 */ sw $v0, 0x70($s4) +/* 993208 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* 99320C 80240ADC AFA20010 */ sw $v0, 0x10($sp) +/* 993210 80240AE0 8EC60024 */ lw $a2, 0x24($s6) +/* 993214 80240AE4 8EC70028 */ lw $a3, 0x28($s6) +/* 993218 80240AE8 0C01242D */ jal func_800490B4 +/* 99321C 80240AEC 02A0282D */ daddu $a1, $s5, $zero +/* 993220 80240AF0 14400022 */ bnez $v0, .L80240B7C +/* 993224 80240AF4 24040002 */ addiu $a0, $zero, 2 +/* 993228 80240AF8 0260282D */ daddu $a1, $s3, $zero +/* 99322C 80240AFC 0000302D */ daddu $a2, $zero, $zero +/* 993230 80240B00 866300A8 */ lh $v1, 0xa8($s3) +/* 993234 80240B04 3C013F80 */ lui $at, 0x3f80 +/* 993238 80240B08 44810000 */ mtc1 $at, $f0 +/* 99323C 80240B0C 3C014000 */ lui $at, 0x4000 +/* 993240 80240B10 44811000 */ mtc1 $at, $f2 +/* 993244 80240B14 3C01C1A0 */ lui $at, 0xc1a0 +/* 993248 80240B18 44812000 */ mtc1 $at, $f4 +/* 99324C 80240B1C 2402000F */ addiu $v0, $zero, 0xf +/* 993250 80240B20 AFA2001C */ sw $v0, 0x1c($sp) +/* 993254 80240B24 44834000 */ mtc1 $v1, $f8 +/* 993258 80240B28 00000000 */ nop +/* 99325C 80240B2C 46804220 */ cvt.s.w $f8, $f8 +/* 993260 80240B30 44074000 */ mfc1 $a3, $f8 +/* 993264 80240B34 27A2003C */ addiu $v0, $sp, 0x3c +/* 993268 80240B38 AFA20020 */ sw $v0, 0x20($sp) +/* 99326C 80240B3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 993270 80240B40 E7A20014 */ swc1 $f2, 0x14($sp) +/* 993274 80240B44 0C01BFA4 */ jal fx_emote +/* 993278 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* 99327C 80240B4C 24020019 */ addiu $v0, $zero, 0x19 +/* 993280 80240B50 A662008E */ sh $v0, 0x8e($s3) +/* 993284 80240B54 2402000E */ addiu $v0, $zero, 0xe +/* 993288 80240B58 080902DF */ j .L80240B7C +/* 99328C 80240B5C AE820070 */ sw $v0, 0x70($s4) +.L80240B60: +/* 993290 80240B60 C664003C */ lwc1 $f4, 0x3c($s3) +/* 993294 80240B64 C660001C */ lwc1 $f0, 0x1c($s3) +/* 993298 80240B68 46002100 */ add.s $f4, $f4, $f0 +/* 99329C 80240B6C C6620014 */ lwc1 $f2, 0x14($s3) +/* 9932A0 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* 9932A4 80240B74 E664003C */ swc1 $f4, 0x3c($s3) +/* 9932A8 80240B78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240B7C: +/* 9932AC 80240B7C 8FBF0060 */ lw $ra, 0x60($sp) +/* 9932B0 80240B80 8FB7005C */ lw $s7, 0x5c($sp) +/* 9932B4 80240B84 8FB60058 */ lw $s6, 0x58($sp) +/* 9932B8 80240B88 8FB50054 */ lw $s5, 0x54($sp) +/* 9932BC 80240B8C 8FB40050 */ lw $s4, 0x50($sp) +/* 9932C0 80240B90 8FB3004C */ lw $s3, 0x4c($sp) +/* 9932C4 80240B94 8FB20048 */ lw $s2, 0x48($sp) +/* 9932C8 80240B98 8FB10044 */ lw $s1, 0x44($sp) +/* 9932CC 80240B9C 8FB00040 */ lw $s0, 0x40($sp) +/* 9932D0 80240BA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* 9932D4 80240BA4 03E00008 */ jr $ra +/* 9932D8 80240BA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240BAC_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240BAC_992730.s new file mode 100644 index 0000000000..d077bee2ca --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240BAC_992730.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC_9932DC +/* 9932DC 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9932E0 80240BB0 AFB00010 */ sw $s0, 0x10($sp) +/* 9932E4 80240BB4 0080802D */ daddu $s0, $a0, $zero +/* 9932E8 80240BB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 9932EC 80240BBC 8E020148 */ lw $v0, 0x148($s0) +/* 9932F0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* 9932F4 80240BC4 84440008 */ lh $a0, 8($v0) +/* 9932F8 80240BC8 9443008E */ lhu $v1, 0x8e($v0) +/* 9932FC 80240BCC 2463FFFF */ addiu $v1, $v1, -1 +/* 993300 80240BD0 A443008E */ sh $v1, 0x8e($v0) +/* 993304 80240BD4 00031C00 */ sll $v1, $v1, 0x10 +/* 993308 80240BD8 58600001 */ blezl $v1, .L80240BE0 +/* 99330C 80240BDC AE000070 */ sw $zero, 0x70($s0) +.L80240BE0: +/* 993310 80240BE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 993314 80240BE4 8FB00010 */ lw $s0, 0x10($sp) +/* 993318 80240BE8 03E00008 */ jr $ra +/* 99331C 80240BEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240BF0_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240BF0_992730.s new file mode 100644 index 0000000000..4978209cbd --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240BF0_992730.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0_993320 +/* 993320 80240BF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 993324 80240BF4 AFB3003C */ sw $s3, 0x3c($sp) +/* 993328 80240BF8 0080982D */ daddu $s3, $a0, $zero +/* 99332C 80240BFC AFBF0048 */ sw $ra, 0x48($sp) +/* 993330 80240C00 AFB50044 */ sw $s5, 0x44($sp) +/* 993334 80240C04 AFB40040 */ sw $s4, 0x40($sp) +/* 993338 80240C08 AFB20038 */ sw $s2, 0x38($sp) +/* 99333C 80240C0C AFB10034 */ sw $s1, 0x34($sp) +/* 993340 80240C10 AFB00030 */ sw $s0, 0x30($sp) +/* 993344 80240C14 8E720148 */ lw $s2, 0x148($s3) +/* 993348 80240C18 86440008 */ lh $a0, 8($s2) +/* 99334C 80240C1C 8E70000C */ lw $s0, 0xc($s3) +/* 993350 80240C20 0C00EABB */ jal get_npc_unsafe +/* 993354 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* 993358 80240C28 8E050000 */ lw $a1, ($s0) +/* 99335C 80240C2C 26100004 */ addiu $s0, $s0, 4 +/* 993360 80240C30 0260202D */ daddu $a0, $s3, $zero +/* 993364 80240C34 0C0B1EAF */ jal get_variable +/* 993368 80240C38 0040A82D */ daddu $s5, $v0, $zero +/* 99336C 80240C3C 0260202D */ daddu $a0, $s3, $zero +/* 993370 80240C40 8E050000 */ lw $a1, ($s0) +/* 993374 80240C44 0C0B1EAF */ jal get_variable +/* 993378 80240C48 0040A02D */ daddu $s4, $v0, $zero +/* 99337C 80240C4C AE420094 */ sw $v0, 0x94($s2) +/* 993380 80240C50 AFA00010 */ sw $zero, 0x10($sp) +/* 993384 80240C54 8E4200D0 */ lw $v0, 0xd0($s2) +/* 993388 80240C58 8C420030 */ lw $v0, 0x30($v0) +/* 99338C 80240C5C AFA20014 */ sw $v0, 0x14($sp) +/* 993390 80240C60 8E4200D0 */ lw $v0, 0xd0($s2) +/* 993394 80240C64 8C42001C */ lw $v0, 0x1c($v0) +/* 993398 80240C68 AFA20018 */ sw $v0, 0x18($sp) +/* 99339C 80240C6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9933A0 80240C70 8C420024 */ lw $v0, 0x24($v0) +/* 9933A4 80240C74 AFA2001C */ sw $v0, 0x1c($sp) +/* 9933A8 80240C78 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9933AC 80240C7C 8C420028 */ lw $v0, 0x28($v0) +/* 9933B0 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* 9933B4 80240C84 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9933B8 80240C88 3C0142C8 */ lui $at, 0x42c8 +/* 9933BC 80240C8C 44810000 */ mtc1 $at, $f0 +/* 9933C0 80240C90 8C42002C */ lw $v0, 0x2c($v0) +/* 9933C4 80240C94 27B00010 */ addiu $s0, $sp, 0x10 +/* 9933C8 80240C98 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9933CC 80240C9C A7A0002C */ sh $zero, 0x2c($sp) +/* 9933D0 80240CA0 12200019 */ beqz $s1, .L80240D08 +/* 9933D4 80240CA4 AFA20024 */ sw $v0, 0x24($sp) +/* 9933D8 80240CA8 AE600070 */ sw $zero, 0x70($s3) +/* 9933DC 80240CAC A6A0008E */ sh $zero, 0x8e($s5) +/* 9933E0 80240CB0 AE600074 */ sw $zero, 0x74($s3) +/* 9933E4 80240CB4 8EA20000 */ lw $v0, ($s5) +/* 9933E8 80240CB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9933EC 80240CBC 00431024 */ and $v0, $v0, $v1 +/* 9933F0 80240CC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9933F4 80240CC4 00431024 */ and $v0, $v0, $v1 +/* 9933F8 80240CC8 34420008 */ ori $v0, $v0, 8 +/* 9933FC 80240CCC AEA20000 */ sw $v0, ($s5) +/* 993400 80240CD0 8E4200B0 */ lw $v0, 0xb0($s2) +/* 993404 80240CD4 34420018 */ ori $v0, $v0, 0x18 +/* 993408 80240CD8 AE4200B0 */ sw $v0, 0xb0($s2) +/* 99340C 80240CDC 8E420000 */ lw $v0, ($s2) +/* 993410 80240CE0 3C034000 */ lui $v1, 0x4000 +/* 993414 80240CE4 00431024 */ and $v0, $v0, $v1 +/* 993418 80240CE8 10400007 */ beqz $v0, .L80240D08 +/* 99341C 80240CEC 3C03BFFF */ lui $v1, 0xbfff +/* 993420 80240CF0 2402000C */ addiu $v0, $zero, 0xc +/* 993424 80240CF4 AE620070 */ sw $v0, 0x70($s3) +/* 993428 80240CF8 8E420000 */ lw $v0, ($s2) +/* 99342C 80240CFC 3463FFFF */ ori $v1, $v1, 0xffff +/* 993430 80240D00 00431024 */ and $v0, $v0, $v1 +/* 993434 80240D04 AE420000 */ sw $v0, ($s2) +.L80240D08: +/* 993438 80240D08 8E4300B0 */ lw $v1, 0xb0($s2) +/* 99343C 80240D0C 30620004 */ andi $v0, $v1, 4 +/* 993440 80240D10 10400007 */ beqz $v0, .L80240D30 +/* 993444 80240D14 00000000 */ nop +/* 993448 80240D18 824200B4 */ lb $v0, 0xb4($s2) +/* 99344C 80240D1C 14400034 */ bnez $v0, .L80240DF0 +/* 993450 80240D20 0000102D */ daddu $v0, $zero, $zero +/* 993454 80240D24 2402FFFB */ addiu $v0, $zero, -5 +/* 993458 80240D28 00621024 */ and $v0, $v1, $v0 +/* 99345C 80240D2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D30: +/* 993460 80240D30 8E630070 */ lw $v1, 0x70($s3) +/* 993464 80240D34 2C62000F */ sltiu $v0, $v1, 0xf +/* 993468 80240D38 1040002C */ beqz $v0, .L80240DEC +/* 99346C 80240D3C 00031080 */ sll $v0, $v1, 2 +/* 993470 80240D40 3C018024 */ lui $at, 0x8024 +/* 993474 80240D44 00220821 */ addu $at, $at, $v0 +/* 993478 80240D48 8C222A38 */ lw $v0, 0x2a38($at) +/* 99347C 80240D4C 00400008 */ jr $v0 +/* 993480 80240D50 00000000 */ nop +/* 993484 80240D54 0260202D */ daddu $a0, $s3, $zero +/* 993488 80240D58 0280282D */ daddu $a1, $s4, $zero +/* 99348C 80240D5C 0C090000 */ jal func_80240000 +/* 993490 80240D60 0200302D */ daddu $a2, $s0, $zero +/* 993494 80240D64 0260202D */ daddu $a0, $s3, $zero +/* 993498 80240D68 0280282D */ daddu $a1, $s4, $zero +/* 99349C 80240D6C 0C09008C */ jal func_80240230 +/* 9934A0 80240D70 0200302D */ daddu $a2, $s0, $zero +/* 9934A4 80240D74 0809037C */ j .L80240DF0 +/* 9934A8 80240D78 0000102D */ daddu $v0, $zero, $zero +/* 9934AC 80240D7C 0260202D */ daddu $a0, $s3, $zero +/* 9934B0 80240D80 0280282D */ daddu $a1, $s4, $zero +/* 9934B4 80240D84 0C09015A */ jal func_80240568 +/* 9934B8 80240D88 0200302D */ daddu $a2, $s0, $zero +/* 9934BC 80240D8C 8E630070 */ lw $v1, 0x70($s3) +/* 9934C0 80240D90 24020003 */ addiu $v0, $zero, 3 +/* 9934C4 80240D94 14620016 */ bne $v1, $v0, .L80240DF0 +/* 9934C8 80240D98 0000102D */ daddu $v0, $zero, $zero +/* 9934CC 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* 9934D0 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* 9934D4 80240DA4 0C09018A */ jal func_80240628 +/* 9934D8 80240DA8 0200302D */ daddu $a2, $s0, $zero +/* 9934DC 80240DAC 0809037C */ j .L80240DF0 +/* 9934E0 80240DB0 0000102D */ daddu $v0, $zero, $zero +/* 9934E4 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 9934E8 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* 9934EC 80240DBC 0C0901F3 */ jal func_802407CC +/* 9934F0 80240DC0 0200302D */ daddu $a2, $s0, $zero +/* 9934F4 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* 9934F8 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 9934FC 80240DCC 0C09022B */ jal func_802408AC +/* 993500 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* 993504 80240DD4 0809037C */ j .L80240DF0 +/* 993508 80240DD8 0000102D */ daddu $v0, $zero, $zero +/* 99350C 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* 993510 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* 993514 80240DE4 0C0902EB */ jal func_80240BAC +/* 993518 80240DE8 0200302D */ daddu $a2, $s0, $zero +.L80240DEC: +/* 99351C 80240DEC 0000102D */ daddu $v0, $zero, $zero +.L80240DF0: +/* 993520 80240DF0 8FBF0048 */ lw $ra, 0x48($sp) +/* 993524 80240DF4 8FB50044 */ lw $s5, 0x44($sp) +/* 993528 80240DF8 8FB40040 */ lw $s4, 0x40($sp) +/* 99352C 80240DFC 8FB3003C */ lw $s3, 0x3c($sp) +/* 993530 80240E00 8FB20038 */ lw $s2, 0x38($sp) +/* 993534 80240E04 8FB10034 */ lw $s1, 0x34($sp) +/* 993538 80240E08 8FB00030 */ lw $s0, 0x30($sp) +/* 99353C 80240E0C 03E00008 */ jr $ra +/* 993540 80240E10 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240E14_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240E14_992730.s new file mode 100644 index 0000000000..9234d61273 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240E14_992730.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E14_993544 +/* 993544 80240E14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 993548 80240E18 AFB00010 */ sw $s0, 0x10($sp) +/* 99354C 80240E1C 0080802D */ daddu $s0, $a0, $zero +/* 993550 80240E20 AFBF001C */ sw $ra, 0x1c($sp) +/* 993554 80240E24 AFB20018 */ sw $s2, 0x18($sp) +/* 993558 80240E28 AFB10014 */ sw $s1, 0x14($sp) +/* 99355C 80240E2C 8E020148 */ lw $v0, 0x148($s0) +/* 993560 80240E30 00A0882D */ daddu $s1, $a1, $zero +/* 993564 80240E34 84440008 */ lh $a0, 8($v0) +/* 993568 80240E38 0C00EABB */ jal get_npc_unsafe +/* 99356C 80240E3C 00C0902D */ daddu $s2, $a2, $zero +/* 993570 80240E40 0200202D */ daddu $a0, $s0, $zero +/* 993574 80240E44 0040802D */ daddu $s0, $v0, $zero +/* 993578 80240E48 0220282D */ daddu $a1, $s1, $zero +/* 99357C 80240E4C 0C012568 */ jal func_800495A0 +/* 993580 80240E50 0240302D */ daddu $a2, $s2, $zero +/* 993584 80240E54 0C00A67F */ jal rand_int +/* 993588 80240E58 24040005 */ addiu $a0, $zero, 5 +/* 99358C 80240E5C 3C014020 */ lui $at, 0x4020 +/* 993590 80240E60 44811800 */ mtc1 $at, $f3 +/* 993594 80240E64 44801000 */ mtc1 $zero, $f2 +/* 993598 80240E68 44820000 */ mtc1 $v0, $f0 +/* 99359C 80240E6C 00000000 */ nop +/* 9935A0 80240E70 46800021 */ cvt.d.w $f0, $f0 +/* 9935A4 80240E74 46220000 */ add.d $f0, $f0, $f2 +/* 9935A8 80240E78 3C013FC0 */ lui $at, 0x3fc0 +/* 9935AC 80240E7C 44811000 */ mtc1 $at, $f2 +/* 9935B0 80240E80 00000000 */ nop +/* 9935B4 80240E84 E6020014 */ swc1 $f2, 0x14($s0) +/* 9935B8 80240E88 46200020 */ cvt.s.d $f0, $f0 +/* 9935BC 80240E8C E600001C */ swc1 $f0, 0x1c($s0) +/* 9935C0 80240E90 8FBF001C */ lw $ra, 0x1c($sp) +/* 9935C4 80240E94 8FB20018 */ lw $s2, 0x18($sp) +/* 9935C8 80240E98 8FB10014 */ lw $s1, 0x14($sp) +/* 9935CC 80240E9C 8FB00010 */ lw $s0, 0x10($sp) +/* 9935D0 80240EA0 03E00008 */ jr $ra +/* 9935D4 80240EA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240EA8_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240EA8_992730.s new file mode 100644 index 0000000000..c037dad3d4 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240EA8_992730.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EA8_9935D8 +/* 9935D8 80240EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9935DC 80240EAC AFB00010 */ sw $s0, 0x10($sp) +/* 9935E0 80240EB0 0080802D */ daddu $s0, $a0, $zero +/* 9935E4 80240EB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 9935E8 80240EB8 AFB20018 */ sw $s2, 0x18($sp) +/* 9935EC 80240EBC AFB10014 */ sw $s1, 0x14($sp) +/* 9935F0 80240EC0 8E020148 */ lw $v0, 0x148($s0) +/* 9935F4 80240EC4 00A0882D */ daddu $s1, $a1, $zero +/* 9935F8 80240EC8 84440008 */ lh $a0, 8($v0) +/* 9935FC 80240ECC 0C00EABB */ jal get_npc_unsafe +/* 993600 80240ED0 00C0902D */ daddu $s2, $a2, $zero +/* 993604 80240ED4 0200202D */ daddu $a0, $s0, $zero +/* 993608 80240ED8 0040802D */ daddu $s0, $v0, $zero +/* 99360C 80240EDC 0220282D */ daddu $a1, $s1, $zero +/* 993610 80240EE0 0C0127DF */ jal func_80049F7C +/* 993614 80240EE4 0240302D */ daddu $a2, $s2, $zero +/* 993618 80240EE8 0C00A67F */ jal rand_int +/* 99361C 80240EEC 24040005 */ addiu $a0, $zero, 5 +/* 993620 80240EF0 3C014014 */ lui $at, 0x4014 +/* 993624 80240EF4 44811800 */ mtc1 $at, $f3 +/* 993628 80240EF8 44801000 */ mtc1 $zero, $f2 +/* 99362C 80240EFC 44820000 */ mtc1 $v0, $f0 +/* 993630 80240F00 00000000 */ nop +/* 993634 80240F04 46800021 */ cvt.d.w $f0, $f0 +/* 993638 80240F08 46220000 */ add.d $f0, $f0, $f2 +/* 99363C 80240F0C 3C013FC0 */ lui $at, 0x3fc0 +/* 993640 80240F10 44811000 */ mtc1 $at, $f2 +/* 993644 80240F14 00000000 */ nop +/* 993648 80240F18 E6020014 */ swc1 $f2, 0x14($s0) +/* 99364C 80240F1C 46200020 */ cvt.s.d $f0, $f0 +/* 993650 80240F20 E600001C */ swc1 $f0, 0x1c($s0) +/* 993654 80240F24 8FBF001C */ lw $ra, 0x1c($sp) +/* 993658 80240F28 8FB20018 */ lw $s2, 0x18($sp) +/* 99365C 80240F2C 8FB10014 */ lw $s1, 0x14($sp) +/* 993660 80240F30 8FB00010 */ lw $s0, 0x10($sp) +/* 993664 80240F34 03E00008 */ jr $ra +/* 993668 80240F38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80240F3C_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80240F3C_992730.s new file mode 100644 index 0000000000..b513410ca6 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80240F3C_992730.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F3C_99366C +/* 99366C 80240F3C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 993670 80240F40 AFB40040 */ sw $s4, 0x40($sp) +/* 993674 80240F44 0080A02D */ daddu $s4, $a0, $zero +/* 993678 80240F48 AFBF0048 */ sw $ra, 0x48($sp) +/* 99367C 80240F4C AFB50044 */ sw $s5, 0x44($sp) +/* 993680 80240F50 AFB3003C */ sw $s3, 0x3c($sp) +/* 993684 80240F54 AFB20038 */ sw $s2, 0x38($sp) +/* 993688 80240F58 AFB10034 */ sw $s1, 0x34($sp) +/* 99368C 80240F5C AFB00030 */ sw $s0, 0x30($sp) +/* 993690 80240F60 8E920148 */ lw $s2, 0x148($s4) +/* 993694 80240F64 86440008 */ lh $a0, 8($s2) +/* 993698 80240F68 8E90000C */ lw $s0, 0xc($s4) +/* 99369C 80240F6C 0C00EABB */ jal get_npc_unsafe +/* 9936A0 80240F70 00A0882D */ daddu $s1, $a1, $zero +/* 9936A4 80240F74 0280202D */ daddu $a0, $s4, $zero +/* 9936A8 80240F78 8E050000 */ lw $a1, ($s0) +/* 9936AC 80240F7C 0C0B1EAF */ jal get_variable +/* 9936B0 80240F80 0040A82D */ daddu $s5, $v0, $zero +/* 9936B4 80240F84 AFA00010 */ sw $zero, 0x10($sp) +/* 9936B8 80240F88 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9936BC 80240F8C 8C630030 */ lw $v1, 0x30($v1) +/* 9936C0 80240F90 AFA30014 */ sw $v1, 0x14($sp) +/* 9936C4 80240F94 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9936C8 80240F98 8C63001C */ lw $v1, 0x1c($v1) +/* 9936CC 80240F9C AFA30018 */ sw $v1, 0x18($sp) +/* 9936D0 80240FA0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9936D4 80240FA4 8C630024 */ lw $v1, 0x24($v1) +/* 9936D8 80240FA8 AFA3001C */ sw $v1, 0x1c($sp) +/* 9936DC 80240FAC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9936E0 80240FB0 8C630028 */ lw $v1, 0x28($v1) +/* 9936E4 80240FB4 27B30010 */ addiu $s3, $sp, 0x10 +/* 9936E8 80240FB8 AFA30020 */ sw $v1, 0x20($sp) +/* 9936EC 80240FBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9936F0 80240FC0 3C0142C8 */ lui $at, 0x42c8 +/* 9936F4 80240FC4 44810000 */ mtc1 $at, $f0 +/* 9936F8 80240FC8 8C63002C */ lw $v1, 0x2c($v1) +/* 9936FC 80240FCC 0040802D */ daddu $s0, $v0, $zero +/* 993700 80240FD0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 993704 80240FD4 A7A0002C */ sh $zero, 0x2c($sp) +/* 993708 80240FD8 12200016 */ beqz $s1, .L80241034 +/* 99370C 80240FDC AFA30024 */ sw $v1, 0x24($sp) +/* 993710 80240FE0 8EA20000 */ lw $v0, ($s5) +/* 993714 80240FE4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 993718 80240FE8 A6A0008E */ sh $zero, 0x8e($s5) +/* 99371C 80240FEC 00431024 */ and $v0, $v0, $v1 +/* 993720 80240FF0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 993724 80240FF4 00431024 */ and $v0, $v0, $v1 +/* 993728 80240FF8 34420008 */ ori $v0, $v0, 8 +/* 99372C 80240FFC AEA20000 */ sw $v0, ($s5) +/* 993730 80241000 AE800074 */ sw $zero, 0x74($s4) +/* 993734 80241004 AE800070 */ sw $zero, 0x70($s4) +/* 993738 80241008 8E420000 */ lw $v0, ($s2) +/* 99373C 8024100C 3C034000 */ lui $v1, 0x4000 +/* 993740 80241010 00431024 */ and $v0, $v0, $v1 +/* 993744 80241014 10400007 */ beqz $v0, .L80241034 +/* 993748 80241018 3C03BFFF */ lui $v1, 0xbfff +/* 99374C 8024101C 2402000C */ addiu $v0, $zero, 0xc +/* 993750 80241020 AE820070 */ sw $v0, 0x70($s4) +/* 993754 80241024 8E420000 */ lw $v0, ($s2) +/* 993758 80241028 3463FFFF */ ori $v1, $v1, 0xffff +/* 99375C 8024102C 00431024 */ and $v0, $v0, $v1 +/* 993760 80241030 AE420000 */ sw $v0, ($s2) +.L80241034: +/* 993764 80241034 8E830070 */ lw $v1, 0x70($s4) +/* 993768 80241038 2C62000F */ sltiu $v0, $v1, 0xf +/* 99376C 8024103C 10400028 */ beqz $v0, .L802410E0 +/* 993770 80241040 00031080 */ sll $v0, $v1, 2 +/* 993774 80241044 3C018024 */ lui $at, 0x8024 +/* 993778 80241048 00220821 */ addu $at, $at, $v0 +/* 99377C 8024104C 8C222A78 */ lw $v0, 0x2a78($at) +/* 993780 80241050 00400008 */ jr $v0 +/* 993784 80241054 00000000 */ nop +/* 993788 80241058 0280202D */ daddu $a0, $s4, $zero +/* 99378C 8024105C 0200282D */ daddu $a1, $s0, $zero +/* 993790 80241060 0C090385 */ jal func_80240E14 +/* 993794 80241064 0260302D */ daddu $a2, $s3, $zero +/* 993798 80241068 0280202D */ daddu $a0, $s4, $zero +/* 99379C 8024106C 0200282D */ daddu $a1, $s0, $zero +/* 9937A0 80241070 0C09008C */ jal func_80240230 +/* 9937A4 80241074 0260302D */ daddu $a2, $s3, $zero +/* 9937A8 80241078 08090438 */ j .L802410E0 +/* 9937AC 8024107C 00000000 */ nop +/* 9937B0 80241080 0280202D */ daddu $a0, $s4, $zero +/* 9937B4 80241084 0200282D */ daddu $a1, $s0, $zero +/* 9937B8 80241088 0C09015A */ jal func_80240568 +/* 9937BC 8024108C 0260302D */ daddu $a2, $s3, $zero +/* 9937C0 80241090 0280202D */ daddu $a0, $s4, $zero +/* 9937C4 80241094 0200282D */ daddu $a1, $s0, $zero +/* 9937C8 80241098 0C09018A */ jal func_80240628 +/* 9937CC 8024109C 0260302D */ daddu $a2, $s3, $zero +/* 9937D0 802410A0 08090438 */ j .L802410E0 +/* 9937D4 802410A4 00000000 */ nop +/* 9937D8 802410A8 0280202D */ daddu $a0, $s4, $zero +/* 9937DC 802410AC 0200282D */ daddu $a1, $s0, $zero +/* 9937E0 802410B0 0C0903AA */ jal func_80240EA8 +/* 9937E4 802410B4 0260302D */ daddu $a2, $s3, $zero +/* 9937E8 802410B8 0280202D */ daddu $a0, $s4, $zero +/* 9937EC 802410BC 0200282D */ daddu $a1, $s0, $zero +/* 9937F0 802410C0 0C09022B */ jal func_802408AC +/* 9937F4 802410C4 0260302D */ daddu $a2, $s3, $zero +/* 9937F8 802410C8 08090438 */ j .L802410E0 +/* 9937FC 802410CC 00000000 */ nop +/* 993800 802410D0 0280202D */ daddu $a0, $s4, $zero +/* 993804 802410D4 0200282D */ daddu $a1, $s0, $zero +/* 993808 802410D8 0C0902EB */ jal func_80240BAC +/* 99380C 802410DC 0260302D */ daddu $a2, $s3, $zero +.L802410E0: +/* 993810 802410E0 8FBF0048 */ lw $ra, 0x48($sp) +/* 993814 802410E4 8FB50044 */ lw $s5, 0x44($sp) +/* 993818 802410E8 8FB40040 */ lw $s4, 0x40($sp) +/* 99381C 802410EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 993820 802410F0 8FB20038 */ lw $s2, 0x38($sp) +/* 993824 802410F4 8FB10034 */ lw $s1, 0x34($sp) +/* 993828 802410F8 8FB00030 */ lw $s0, 0x30($sp) +/* 99382C 802410FC 0000102D */ daddu $v0, $zero, $zero +/* 993830 80241100 03E00008 */ jr $ra +/* 993834 80241104 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241108_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241108_992730.s new file mode 100644 index 0000000000..4b7cc660f4 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241108_992730.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241108_993838 +/* 993838 80241108 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 99383C 8024110C AFB40030 */ sw $s4, 0x30($sp) +/* 993840 80241110 27B40010 */ addiu $s4, $sp, 0x10 +/* 993844 80241114 AFB3002C */ sw $s3, 0x2c($sp) +/* 993848 80241118 0000982D */ daddu $s3, $zero, $zero +/* 99384C 8024111C AFBF0038 */ sw $ra, 0x38($sp) +/* 993850 80241120 AFB50034 */ sw $s5, 0x34($sp) +/* 993854 80241124 AFB20028 */ sw $s2, 0x28($sp) +/* 993858 80241128 AFB10024 */ sw $s1, 0x24($sp) +/* 99385C 8024112C AFB00020 */ sw $s0, 0x20($sp) +/* 993860 80241130 8C84014C */ lw $a0, 0x14c($a0) +/* 993864 80241134 0C00EAD2 */ jal get_npc_safe +/* 993868 80241138 24150003 */ addiu $s5, $zero, 3 +/* 99386C 8024113C 24040080 */ addiu $a0, $zero, 0x80 +/* 993870 80241140 0C00AB39 */ jal heap_malloc +/* 993874 80241144 0040882D */ daddu $s1, $v0, $zero +/* 993878 80241148 0040902D */ daddu $s2, $v0, $zero +/* 99387C 8024114C 3C030035 */ lui $v1, 0x35 +/* 993880 80241150 34630002 */ ori $v1, $v1, 2 +/* 993884 80241154 2650000C */ addiu $s0, $s2, 0xc +/* 993888 80241158 3402814A */ ori $v0, $zero, 0x814a +/* 99388C 8024115C AE320020 */ sw $s2, 0x20($s1) +/* 993890 80241160 AFA20010 */ sw $v0, 0x10($sp) +/* 993894 80241164 AFA30014 */ sw $v1, 0x14($sp) +/* 993898 80241168 AFA00018 */ sw $zero, 0x18($sp) +/* 99389C 8024116C AFA0001C */ sw $zero, 0x1c($sp) +.L80241170: +/* 9938A0 80241170 0C00E211 */ jal create_basic_npc +/* 9938A4 80241174 0280202D */ daddu $a0, $s4, $zero +/* 9938A8 80241178 0C00E2B7 */ jal get_npc_by_index +/* 9938AC 8024117C 0040202D */ daddu $a0, $v0, $zero +/* 9938B0 80241180 AE420000 */ sw $v0, ($s2) +/* 9938B4 80241184 C6200038 */ lwc1 $f0, 0x38($s1) +/* 9938B8 80241188 E4400038 */ swc1 $f0, 0x38($v0) +/* 9938BC 8024118C C620003C */ lwc1 $f0, 0x3c($s1) +/* 9938C0 80241190 0040202D */ daddu $a0, $v0, $zero +/* 9938C4 80241194 E480003C */ swc1 $f0, 0x3c($a0) +/* 9938C8 80241198 C6200040 */ lwc1 $f0, 0x40($s1) +/* 9938CC 8024119C 26730001 */ addiu $s3, $s3, 1 +/* 9938D0 802411A0 E4800040 */ swc1 $f0, 0x40($a0) +/* 9938D4 802411A4 C620000C */ lwc1 $f0, 0xc($s1) +/* 9938D8 802411A8 26520010 */ addiu $s2, $s2, 0x10 +/* 9938DC 802411AC A09500AB */ sb $s5, 0xab($a0) +/* 9938E0 802411B0 0C00EAFF */ jal disable_npc_shadow +/* 9938E4 802411B4 E480000C */ swc1 $f0, 0xc($a0) +/* 9938E8 802411B8 AE00FFF8 */ sw $zero, -8($s0) +/* 9938EC 802411BC AE00FFFC */ sw $zero, -4($s0) +/* 9938F0 802411C0 AE000000 */ sw $zero, ($s0) +/* 9938F4 802411C4 2A620008 */ slti $v0, $s3, 8 +/* 9938F8 802411C8 1440FFE9 */ bnez $v0, .L80241170 +/* 9938FC 802411CC 26100010 */ addiu $s0, $s0, 0x10 +/* 993900 802411D0 8FBF0038 */ lw $ra, 0x38($sp) +/* 993904 802411D4 8FB50034 */ lw $s5, 0x34($sp) +/* 993908 802411D8 8FB40030 */ lw $s4, 0x30($sp) +/* 99390C 802411DC 8FB3002C */ lw $s3, 0x2c($sp) +/* 993910 802411E0 8FB20028 */ lw $s2, 0x28($sp) +/* 993914 802411E4 8FB10024 */ lw $s1, 0x24($sp) +/* 993918 802411E8 8FB00020 */ lw $s0, 0x20($sp) +/* 99391C 802411EC 24020002 */ addiu $v0, $zero, 2 +/* 993920 802411F0 03E00008 */ jr $ra +/* 993924 802411F4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_802411F8_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_802411F8_992730.s new file mode 100644 index 0000000000..c13b6206ba --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_802411F8_992730.s @@ -0,0 +1,254 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F8_993928 +/* 993928 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 99392C 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 993930 80241200 AFB40030 */ sw $s4, 0x30($sp) +/* 993934 80241204 AFB3002C */ sw $s3, 0x2c($sp) +/* 993938 80241208 AFB20028 */ sw $s2, 0x28($sp) +/* 99393C 8024120C AFB10024 */ sw $s1, 0x24($sp) +/* 993940 80241210 AFB00020 */ sw $s0, 0x20($sp) +/* 993944 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 993948 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 99394C 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 993950 80241220 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 993954 80241224 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 993958 80241228 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 99395C 8024122C 8C820148 */ lw $v0, 0x148($a0) +/* 993960 80241230 8C84014C */ lw $a0, 0x14c($a0) +/* 993964 80241234 C45A006C */ lwc1 $f26, 0x6c($v0) +/* 993968 80241238 0C00EAD2 */ jal get_npc_safe +/* 99396C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26 +/* 993970 80241240 0040A02D */ daddu $s4, $v0, $zero +/* 993974 80241244 8E930020 */ lw $s3, 0x20($s4) +/* 993978 80241248 868200A8 */ lh $v0, 0xa8($s4) +/* 99397C 8024124C 3C013E4C */ lui $at, 0x3e4c +/* 993980 80241250 3421CCCD */ ori $at, $at, 0xcccd +/* 993984 80241254 44810000 */ mtc1 $at, $f0 +/* 993988 80241258 C6860038 */ lwc1 $f6, 0x38($s4) +/* 99398C 8024125C 44821000 */ mtc1 $v0, $f2 +/* 993990 80241260 00000000 */ nop +/* 993994 80241264 468010A0 */ cvt.s.w $f2, $f2 +/* 993998 80241268 46001082 */ mul.s $f2, $f2, $f0 +/* 99399C 8024126C 00000000 */ nop +/* 9939A0 80241270 C688003C */ lwc1 $f8, 0x3c($s4) +/* 9939A4 80241274 3C014334 */ lui $at, 0x4334 +/* 9939A8 80241278 44816000 */ mtc1 $at, $f12 +/* 9939AC 8024127C C6800034 */ lwc1 $f0, 0x34($s4) +/* 9939B0 80241280 C6840040 */ lwc1 $f4, 0x40($s4) +/* 9939B4 80241284 460C0300 */ add.s $f12, $f0, $f12 +/* 9939B8 80241288 E7A60018 */ swc1 $f6, 0x18($sp) +/* 9939BC 8024128C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 9939C0 80241290 0C00A6C9 */ jal clamp_angle +/* 9939C4 80241294 46024500 */ add.s $f20, $f8, $f2 +/* 9939C8 80241298 868200A6 */ lh $v0, 0xa6($s4) +/* 9939CC 8024129C 3C013E99 */ lui $at, 0x3e99 +/* 9939D0 802412A0 3421999A */ ori $at, $at, 0x999a +/* 9939D4 802412A4 44812000 */ mtc1 $at, $f4 +/* 9939D8 802412A8 44821000 */ mtc1 $v0, $f2 +/* 9939DC 802412AC 00000000 */ nop +/* 9939E0 802412B0 468010A0 */ cvt.s.w $f2, $f2 +/* 9939E4 802412B4 46041082 */ mul.s $f2, $f2, $f4 +/* 9939E8 802412B8 00000000 */ nop +/* 9939EC 802412BC 27A40018 */ addiu $a0, $sp, 0x18 +/* 9939F0 802412C0 44070000 */ mfc1 $a3, $f0 +/* 9939F4 802412C4 44061000 */ mfc1 $a2, $f2 +/* 9939F8 802412C8 0C00A7E7 */ jal add_vec2D_polar +/* 9939FC 802412CC 27A5001C */ addiu $a1, $sp, 0x1c +/* 993A00 802412D0 8E820000 */ lw $v0, ($s4) +/* 993A04 802412D4 30420002 */ andi $v0, $v0, 2 +/* 993A08 802412D8 1040000D */ beqz $v0, .L80241310 +/* 993A0C 802412DC 0000902D */ daddu $s2, $zero, $zero +/* 993A10 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 993A14 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp) +.L802412E8: +/* 993A18 802412E8 26520001 */ addiu $s2, $s2, 1 +/* 993A1C 802412EC 8E700000 */ lw $s0, ($s3) +/* 993A20 802412F0 26730010 */ addiu $s3, $s3, 0x10 +/* 993A24 802412F4 2A420008 */ slti $v0, $s2, 8 +/* 993A28 802412F8 E6020038 */ swc1 $f2, 0x38($s0) +/* 993A2C 802412FC E614003C */ swc1 $f20, 0x3c($s0) +/* 993A30 80241300 1440FFF9 */ bnez $v0, .L802412E8 +/* 993A34 80241304 E6000040 */ swc1 $f0, 0x40($s0) +/* 993A38 80241308 08090562 */ j .L80241588 +/* 993A3C 8024130C 0000102D */ daddu $v0, $zero, $zero +.L80241310: +/* 993A40 80241310 26710008 */ addiu $s1, $s3, 8 +/* 993A44 80241314 3C014024 */ lui $at, 0x4024 +/* 993A48 80241318 4481C800 */ mtc1 $at, $f25 +/* 993A4C 8024131C 4480C000 */ mtc1 $zero, $f24 +/* 993A50 80241320 3C013F4C */ lui $at, 0x3f4c +/* 993A54 80241324 3421CCCD */ ori $at, $at, 0xcccd +/* 993A58 80241328 4481B000 */ mtc1 $at, $f22 +/* 993A5C 8024132C 3C013F33 */ lui $at, 0x3f33 +/* 993A60 80241330 34213333 */ ori $at, $at, 0x3333 +/* 993A64 80241334 4481E000 */ mtc1 $at, $f28 +/* 993A68 80241338 3C01C120 */ lui $at, 0xc120 +/* 993A6C 8024133C 4481F000 */ mtc1 $at, $f30 +.L80241340: +/* 993A70 80241340 8E700000 */ lw $s0, ($s3) +/* 993A74 80241344 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 993A78 80241348 E7B40010 */ swc1 $f20, 0x10($sp) +/* 993A7C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 993A80 80241350 E7A00014 */ swc1 $f0, 0x14($sp) +/* 993A84 80241354 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 993A88 80241358 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 993A8C 8024135C 8E060040 */ lw $a2, 0x40($s0) +/* 993A90 80241360 44071000 */ mfc1 $a3, $f2 +/* 993A94 80241364 0C00A7CB */ jal dist3D +/* 993A98 80241368 00000000 */ nop +/* 993A9C 8024136C 46000021 */ cvt.d.s $f0, $f0 +/* 993AA0 80241370 4620C03E */ c.le.d $f24, $f0 +/* 993AA4 80241374 00000000 */ nop +/* 993AA8 80241378 45000047 */ bc1f .L80241498 +/* 993AAC 8024137C 00000000 */ nop +/* 993AB0 80241380 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 993AB4 80241384 C7A40018 */ lwc1 $f4, 0x18($sp) +/* 993AB8 80241388 46046301 */ sub.s $f12, $f12, $f4 +/* 993ABC 8024138C 46166302 */ mul.s $f12, $f12, $f22 +/* 993AC0 80241390 00000000 */ nop +/* 993AC4 80241394 C6000040 */ lwc1 $f0, 0x40($s0) +/* 993AC8 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 993ACC 8024139C 46020001 */ sub.s $f0, $f0, $f2 +/* 993AD0 802413A0 46160002 */ mul.s $f0, $f0, $f22 +/* 993AD4 802413A4 00000000 */ nop +/* 993AD8 802413A8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 993ADC 802413AC E7A20014 */ swc1 $f2, 0x14($sp) +/* 993AE0 802413B0 46020000 */ add.s $f0, $f0, $f2 +/* 993AE4 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0) +/* 993AE8 802413B8 44072000 */ mfc1 $a3, $f4 +/* 993AEC 802413BC 44060000 */ mfc1 $a2, $f0 +/* 993AF0 802413C0 0C00A7CB */ jal dist3D +/* 993AF4 802413C4 46046300 */ add.s $f12, $f12, $f4 +/* 993AF8 802413C8 C6080038 */ lwc1 $f8, 0x38($s0) +/* 993AFC 802413CC C7A20018 */ lwc1 $f2, 0x18($sp) +/* 993B00 802413D0 46024201 */ sub.s $f8, $f8, $f2 +/* 993B04 802413D4 46164202 */ mul.s $f8, $f8, $f22 +/* 993B08 802413D8 00000000 */ nop +/* 993B0C 802413DC C606003C */ lwc1 $f6, 0x3c($s0) +/* 993B10 802413E0 46000021 */ cvt.d.s $f0, $f0 +/* 993B14 802413E4 46143181 */ sub.s $f6, $f6, $f20 +/* 993B18 802413E8 4620C003 */ div.d $f0, $f24, $f0 +/* 993B1C 802413EC 46200020 */ cvt.s.d $f0, $f0 +/* 993B20 802413F0 46003182 */ mul.s $f6, $f6, $f0 +/* 993B24 802413F4 00000000 */ nop +/* 993B28 802413F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* 993B2C 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp) +/* 993B30 80241400 460A2101 */ sub.s $f4, $f4, $f10 +/* 993B34 80241404 46162102 */ mul.s $f4, $f4, $f22 +/* 993B38 80241408 00000000 */ nop +/* 993B3C 8024140C 46004202 */ mul.s $f8, $f8, $f0 +/* 993B40 80241410 00000000 */ nop +/* 993B44 80241414 46002102 */ mul.s $f4, $f4, $f0 +/* 993B48 80241418 00000000 */ nop +/* 993B4C 8024141C 46024200 */ add.s $f8, $f8, $f2 +/* 993B50 80241420 C6020038 */ lwc1 $f2, 0x38($s0) +/* 993B54 80241424 46024081 */ sub.s $f2, $f8, $f2 +/* 993B58 80241428 461C1082 */ mul.s $f2, $f2, $f28 +/* 993B5C 8024142C 00000000 */ nop +/* 993B60 80241430 4606A500 */ add.s $f20, $f20, $f6 +/* 993B64 80241434 E622FFFC */ swc1 $f2, -4($s1) +/* 993B68 80241438 C602003C */ lwc1 $f2, 0x3c($s0) +/* 993B6C 8024143C 4602A081 */ sub.s $f2, $f20, $f2 +/* 993B70 80241440 461C1082 */ mul.s $f2, $f2, $f28 +/* 993B74 80241444 00000000 */ nop +/* 993B78 80241448 460A2100 */ add.s $f4, $f4, $f10 +/* 993B7C 8024144C E6220000 */ swc1 $f2, ($s1) +/* 993B80 80241450 C6000040 */ lwc1 $f0, 0x40($s0) +/* 993B84 80241454 46002001 */ sub.s $f0, $f4, $f0 +/* 993B88 80241458 461C0002 */ mul.s $f0, $f0, $f28 +/* 993B8C 8024145C 00000000 */ nop +/* 993B90 80241460 3C014120 */ lui $at, 0x4120 +/* 993B94 80241464 44818000 */ mtc1 $at, $f16 +/* 993B98 80241468 E6200004 */ swc1 $f0, 4($s1) +/* 993B9C 8024146C E6080038 */ swc1 $f8, 0x38($s0) +/* 993BA0 80241470 E614003C */ swc1 $f20, 0x3c($s0) +/* 993BA4 80241474 E6040040 */ swc1 $f4, 0x40($s0) +/* 993BA8 80241478 C6200000 */ lwc1 $f0, ($s1) +/* 993BAC 8024147C E7A80018 */ swc1 $f8, 0x18($sp) +/* 993BB0 80241480 4600803C */ c.lt.s $f16, $f0 +/* 993BB4 80241484 00000000 */ nop +/* 993BB8 80241488 45000016 */ bc1f .L802414E4 +/* 993BBC 8024148C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 993BC0 80241490 08090539 */ j .L802414E4 +/* 993BC4 80241494 E6300000 */ swc1 $f16, ($s1) +.L80241498: +/* 993BC8 80241498 C622FFFC */ lwc1 $f2, -4($s1) +/* 993BCC 8024149C 3C013F66 */ lui $at, 0x3f66 +/* 993BD0 802414A0 34216666 */ ori $at, $at, 0x6666 +/* 993BD4 802414A4 44818000 */ mtc1 $at, $f16 +/* 993BD8 802414A8 00000000 */ nop +/* 993BDC 802414AC 46101082 */ mul.s $f2, $f2, $f16 +/* 993BE0 802414B0 00000000 */ nop +/* 993BE4 802414B4 C6200004 */ lwc1 $f0, 4($s1) +/* 993BE8 802414B8 46100002 */ mul.s $f0, $f0, $f16 +/* 993BEC 802414BC 00000000 */ nop +/* 993BF0 802414C0 E622FFFC */ swc1 $f2, -4($s1) +/* 993BF4 802414C4 E6200004 */ swc1 $f0, 4($s1) +/* 993BF8 802414C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* 993BFC 802414CC 46020000 */ add.s $f0, $f0, $f2 +/* 993C00 802414D0 E6000038 */ swc1 $f0, 0x38($s0) +/* 993C04 802414D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 993C08 802414D8 C6220004 */ lwc1 $f2, 4($s1) +/* 993C0C 802414DC 46020000 */ add.s $f0, $f0, $f2 +/* 993C10 802414E0 E6000040 */ swc1 $f0, 0x40($s0) +.L802414E4: +/* 993C14 802414E4 C6220000 */ lwc1 $f2, ($s1) +/* 993C18 802414E8 3C013F80 */ lui $at, 0x3f80 +/* 993C1C 802414EC 44810000 */ mtc1 $at, $f0 +/* 993C20 802414F0 00000000 */ nop +/* 993C24 802414F4 46001081 */ sub.s $f2, $f2, $f0 +/* 993C28 802414F8 461E103C */ c.lt.s $f2, $f30 +/* 993C2C 802414FC 00000000 */ nop +/* 993C30 80241500 45000002 */ bc1f .L8024150C +/* 993C34 80241504 E6220000 */ swc1 $f2, ($s1) +/* 993C38 80241508 E63E0000 */ swc1 $f30, ($s1) +.L8024150C: +/* 993C3C 8024150C C602003C */ lwc1 $f2, 0x3c($s0) +/* 993C40 80241510 C6200000 */ lwc1 $f0, ($s1) +/* 993C44 80241514 46001080 */ add.s $f2, $f2, $f0 +/* 993C48 80241518 461A103E */ c.le.s $f2, $f26 +/* 993C4C 8024151C 00000000 */ nop +/* 993C50 80241520 4500000C */ bc1f .L80241554 +/* 993C54 80241524 E602003C */ swc1 $f2, 0x3c($s0) +/* 993C58 80241528 E61A003C */ swc1 $f26, 0x3c($s0) +/* 993C5C 8024152C C6200000 */ lwc1 $f0, ($s1) +/* 993C60 80241530 3C013FE0 */ lui $at, 0x3fe0 +/* 993C64 80241534 44811800 */ mtc1 $at, $f3 +/* 993C68 80241538 44801000 */ mtc1 $zero, $f2 +/* 993C6C 8024153C 46000007 */ neg.s $f0, $f0 +/* 993C70 80241540 46000021 */ cvt.d.s $f0, $f0 +/* 993C74 80241544 46220002 */ mul.d $f0, $f0, $f2 +/* 993C78 80241548 00000000 */ nop +/* 993C7C 8024154C 46200020 */ cvt.s.d $f0, $f0 +/* 993C80 80241550 E6200000 */ swc1 $f0, ($s1) +.L80241554: +/* 993C84 80241554 26520001 */ addiu $s2, $s2, 1 +/* 993C88 80241558 26310010 */ addiu $s1, $s1, 0x10 +/* 993C8C 8024155C C614003C */ lwc1 $f20, 0x3c($s0) +/* 993C90 80241560 C6000038 */ lwc1 $f0, 0x38($s0) +/* 993C94 80241564 C6020040 */ lwc1 $f2, 0x40($s0) +/* 993C98 80241568 8E820000 */ lw $v0, ($s4) +/* 993C9C 8024156C E7A00018 */ swc1 $f0, 0x18($sp) +/* 993CA0 80241570 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 993CA4 80241574 AE020000 */ sw $v0, ($s0) +/* 993CA8 80241578 2A420008 */ slti $v0, $s2, 8 +/* 993CAC 8024157C 1440FF70 */ bnez $v0, .L80241340 +/* 993CB0 80241580 26730010 */ addiu $s3, $s3, 0x10 +/* 993CB4 80241584 0000102D */ daddu $v0, $zero, $zero +.L80241588: +/* 993CB8 80241588 8FBF0034 */ lw $ra, 0x34($sp) +/* 993CBC 8024158C 8FB40030 */ lw $s4, 0x30($sp) +/* 993CC0 80241590 8FB3002C */ lw $s3, 0x2c($sp) +/* 993CC4 80241594 8FB20028 */ lw $s2, 0x28($sp) +/* 993CC8 80241598 8FB10024 */ lw $s1, 0x24($sp) +/* 993CCC 8024159C 8FB00020 */ lw $s0, 0x20($sp) +/* 993CD0 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 993CD4 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 993CD8 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 993CDC 802415AC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 993CE0 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 993CE4 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 993CE8 802415B8 03E00008 */ jr $ra +/* 993CEC 802415BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_802415C0_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_802415C0_992730.s new file mode 100644 index 0000000000..4f3c8b6d71 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_802415C0_992730.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C0_993CF0 +/* 993CF0 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 993CF4 802415C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 993CF8 802415C8 AFB10014 */ sw $s1, 0x14($sp) +/* 993CFC 802415CC AFB00010 */ sw $s0, 0x10($sp) +/* 993D00 802415D0 8C84014C */ lw $a0, 0x14c($a0) +/* 993D04 802415D4 0C00EAD2 */ jal get_npc_safe +/* 993D08 802415D8 0000882D */ daddu $s1, $zero, $zero +/* 993D0C 802415DC 8C500020 */ lw $s0, 0x20($v0) +.L802415E0: +/* 993D10 802415E0 8E040000 */ lw $a0, ($s0) +/* 993D14 802415E4 26310001 */ addiu $s1, $s1, 1 +/* 993D18 802415E8 0C00E273 */ jal free_npc +/* 993D1C 802415EC 26100010 */ addiu $s0, $s0, 0x10 +/* 993D20 802415F0 2A220008 */ slti $v0, $s1, 8 +/* 993D24 802415F4 1440FFFA */ bnez $v0, .L802415E0 +/* 993D28 802415F8 24020002 */ addiu $v0, $zero, 2 +/* 993D2C 802415FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 993D30 80241600 8FB10014 */ lw $s1, 0x14($sp) +/* 993D34 80241604 8FB00010 */ lw $s0, 0x10($sp) +/* 993D38 80241608 03E00008 */ jr $ra +/* 993D3C 8024160C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241610_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241610_992730.s new file mode 100644 index 0000000000..2da4925817 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241610_992730.s @@ -0,0 +1,317 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610_993D40 +/* 993D40 80241610 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 993D44 80241614 3C02DC08 */ lui $v0, 0xdc08 +/* 993D48 80241618 AFB700E4 */ sw $s7, 0xe4($sp) +/* 993D4C 8024161C 3C17800A */ lui $s7, 0x800a +/* 993D50 80241620 26F7A66C */ addiu $s7, $s7, -0x5994 +/* 993D54 80241624 34420008 */ ori $v0, $v0, 8 +/* 993D58 80241628 AFBF00EC */ sw $ra, 0xec($sp) +/* 993D5C 8024162C AFBE00E8 */ sw $fp, 0xe8($sp) +/* 993D60 80241630 AFB600E0 */ sw $s6, 0xe0($sp) +/* 993D64 80241634 AFB500DC */ sw $s5, 0xdc($sp) +/* 993D68 80241638 AFB400D8 */ sw $s4, 0xd8($sp) +/* 993D6C 8024163C AFB300D4 */ sw $s3, 0xd4($sp) +/* 993D70 80241640 AFB200D0 */ sw $s2, 0xd0($sp) +/* 993D74 80241644 AFB100CC */ sw $s1, 0xcc($sp) +/* 993D78 80241648 AFB000C8 */ sw $s0, 0xc8($sp) +/* 993D7C 8024164C F7B600F8 */ sdc1 $f22, 0xf8($sp) +/* 993D80 80241650 F7B400F0 */ sdc1 $f20, 0xf0($sp) +/* 993D84 80241654 8EE50000 */ lw $a1, ($s7) +/* 993D88 80241658 3C168007 */ lui $s6, %hi(gCurrentCameraID) +/* 993D8C 8024165C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID) +/* 993D90 80241660 00A0202D */ daddu $a0, $a1, $zero +/* 993D94 80241664 24A50008 */ addiu $a1, $a1, 8 +/* 993D98 80241668 AEE50000 */ sw $a1, ($s7) +/* 993D9C 8024166C AC820000 */ sw $v0, ($a0) +/* 993DA0 80241670 8EC30000 */ lw $v1, ($s6) +/* 993DA4 80241674 3C18800B */ lui $t8, %hi(gCameras) +/* 993DA8 80241678 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 993DAC 8024167C 00031080 */ sll $v0, $v1, 2 +/* 993DB0 80241680 00431021 */ addu $v0, $v0, $v1 +/* 993DB4 80241684 00021080 */ sll $v0, $v0, 2 +/* 993DB8 80241688 00431023 */ subu $v0, $v0, $v1 +/* 993DBC 8024168C 000218C0 */ sll $v1, $v0, 3 +/* 993DC0 80241690 00431021 */ addu $v0, $v0, $v1 +/* 993DC4 80241694 000210C0 */ sll $v0, $v0, 3 +/* 993DC8 80241698 00583021 */ addu $a2, $v0, $t8 +/* 993DCC 8024169C 24C200A0 */ addiu $v0, $a2, 0xa0 +/* 993DD0 802416A0 AC820004 */ sw $v0, 4($a0) +/* 993DD4 802416A4 94C20000 */ lhu $v0, ($a2) +/* 993DD8 802416A8 3C1E8024 */ lui $fp, 0x8024 +/* 993DDC 802416AC 27DE2AC0 */ addiu $fp, $fp, 0x2ac0 +/* 993DE0 802416B0 30420010 */ andi $v0, $v0, 0x10 +/* 993DE4 802416B4 14400007 */ bnez $v0, .L802416D4 +/* 993DE8 802416B8 24C400D4 */ addiu $a0, $a2, 0xd4 +/* 993DEC 802416BC 3C02DB0E */ lui $v0, 0xdb0e +/* 993DF0 802416C0 ACA20000 */ sw $v0, ($a1) +/* 993DF4 802416C4 94C30038 */ lhu $v1, 0x38($a2) +/* 993DF8 802416C8 24A20008 */ addiu $v0, $a1, 8 +/* 993DFC 802416CC AEE20000 */ sw $v0, ($s7) +/* 993E00 802416D0 ACA30004 */ sw $v1, 4($a1) +.L802416D4: +/* 993E04 802416D4 3C180001 */ lui $t8, 1 +/* 993E08 802416D8 3C12800A */ lui $s2, 0x800a +/* 993E0C 802416DC 2652A674 */ addiu $s2, $s2, -0x598c +/* 993E10 802416E0 AFB800C0 */ sw $t8, 0xc0($sp) +/* 993E14 802416E4 8EC50000 */ lw $a1, ($s6) +/* 993E18 802416E8 8E420000 */ lw $v0, ($s2) +/* 993E1C 802416EC 00052980 */ sll $a1, $a1, 6 +/* 993E20 802416F0 24A50030 */ addiu $a1, $a1, 0x30 +/* 993E24 802416F4 0C019D40 */ jal guMtxF2L +/* 993E28 802416F8 00452821 */ addu $a1, $v0, $a1 +/* 993E2C 802416FC 3C03DA38 */ lui $v1, 0xda38 +/* 993E30 80241700 34630007 */ ori $v1, $v1, 7 +/* 993E34 80241704 3C07E300 */ lui $a3, 0xe300 +/* 993E38 80241708 34E70A01 */ ori $a3, $a3, 0xa01 +/* 993E3C 8024170C 3C08D9C0 */ lui $t0, 0xd9c0 +/* 993E40 80241710 3508F9FB */ ori $t0, $t0, 0xf9fb +/* 993E44 80241714 3C0AD9FF */ lui $t2, 0xd9ff +/* 993E48 80241718 354AFFFF */ ori $t2, $t2, 0xffff +/* 993E4C 8024171C 3C090020 */ lui $t1, 0x20 +/* 993E50 80241720 35290005 */ ori $t1, $t1, 5 +/* 993E54 80241724 3C0BD700 */ lui $t3, 0xd700 +/* 993E58 80241728 356B0002 */ ori $t3, $t3, 2 +/* 993E5C 8024172C 3C0CE300 */ lui $t4, 0xe300 +/* 993E60 80241730 358C0F00 */ ori $t4, $t4, 0xf00 +/* 993E64 80241734 3C0DE300 */ lui $t5, 0xe300 +/* 993E68 80241738 35AD0C00 */ ori $t5, $t5, 0xc00 +/* 993E6C 8024173C 3C0EE300 */ lui $t6, 0xe300 +/* 993E70 80241740 35CE1201 */ ori $t6, $t6, 0x1201 +/* 993E74 80241744 3C0FE300 */ lui $t7, 0xe300 +/* 993E78 80241748 35EF1801 */ ori $t7, $t7, 0x1801 +/* 993E7C 8024174C 3C10E300 */ lui $s0, 0xe300 +/* 993E80 80241750 36100D01 */ ori $s0, $s0, 0xd01 +/* 993E84 80241754 3C13E300 */ lui $s3, 0xe300 +/* 993E88 80241758 36731402 */ ori $s3, $s3, 0x1402 +/* 993E8C 8024175C 3C14E300 */ lui $s4, 0xe300 +/* 993E90 80241760 36941700 */ ori $s4, $s4, 0x1700 +/* 993E94 80241764 3C15E200 */ lui $s5, 0xe200 +/* 993E98 80241768 36B51E01 */ ori $s5, $s5, 0x1e01 +/* 993E9C 8024176C 27B10040 */ addiu $s1, $sp, 0x40 +/* 993EA0 80241770 0220202D */ daddu $a0, $s1, $zero +/* 993EA4 80241774 8EE20000 */ lw $v0, ($s7) +/* 993EA8 80241778 8EC50000 */ lw $a1, ($s6) +/* 993EAC 8024177C 0040302D */ daddu $a2, $v0, $zero +/* 993EB0 80241780 24420008 */ addiu $v0, $v0, 8 +/* 993EB4 80241784 00052980 */ sll $a1, $a1, 6 +/* 993EB8 80241788 AEE20000 */ sw $v0, ($s7) +/* 993EBC 8024178C ACC30000 */ sw $v1, ($a2) +/* 993EC0 80241790 8E430000 */ lw $v1, ($s2) +/* 993EC4 80241794 24A50030 */ addiu $a1, $a1, 0x30 +/* 993EC8 80241798 00651821 */ addu $v1, $v1, $a1 +/* 993ECC 8024179C ACC30004 */ sw $v1, 4($a2) +/* 993ED0 802417A0 24430008 */ addiu $v1, $v0, 8 +/* 993ED4 802417A4 AEE30000 */ sw $v1, ($s7) +/* 993ED8 802417A8 3C03E700 */ lui $v1, 0xe700 +/* 993EDC 802417AC AC430000 */ sw $v1, ($v0) +/* 993EE0 802417B0 24430010 */ addiu $v1, $v0, 0x10 +/* 993EE4 802417B4 AC400004 */ sw $zero, 4($v0) +/* 993EE8 802417B8 AEE30000 */ sw $v1, ($s7) +/* 993EEC 802417BC 24430018 */ addiu $v1, $v0, 0x18 +/* 993EF0 802417C0 AC470008 */ sw $a3, 8($v0) +/* 993EF4 802417C4 AC40000C */ sw $zero, 0xc($v0) +/* 993EF8 802417C8 AEE30000 */ sw $v1, ($s7) +/* 993EFC 802417CC 24430020 */ addiu $v1, $v0, 0x20 +/* 993F00 802417D0 AC480010 */ sw $t0, 0x10($v0) +/* 993F04 802417D4 AC400014 */ sw $zero, 0x14($v0) +/* 993F08 802417D8 AEE30000 */ sw $v1, ($s7) +/* 993F0C 802417DC 24430028 */ addiu $v1, $v0, 0x28 +/* 993F10 802417E0 AC4A0018 */ sw $t2, 0x18($v0) +/* 993F14 802417E4 AC49001C */ sw $t1, 0x1c($v0) +/* 993F18 802417E8 AEE30000 */ sw $v1, ($s7) +/* 993F1C 802417EC 2403FFFF */ addiu $v1, $zero, -1 +/* 993F20 802417F0 AC430024 */ sw $v1, 0x24($v0) +/* 993F24 802417F4 24430030 */ addiu $v1, $v0, 0x30 +/* 993F28 802417F8 AC4B0020 */ sw $t3, 0x20($v0) +/* 993F2C 802417FC AEE30000 */ sw $v1, ($s7) +/* 993F30 80241800 24430038 */ addiu $v1, $v0, 0x38 +/* 993F34 80241804 AC4C0028 */ sw $t4, 0x28($v0) +/* 993F38 80241808 AC40002C */ sw $zero, 0x2c($v0) +/* 993F3C 8024180C AEE30000 */ sw $v1, ($s7) +/* 993F40 80241810 3C030008 */ lui $v1, 8 +/* 993F44 80241814 AC430034 */ sw $v1, 0x34($v0) +/* 993F48 80241818 24430040 */ addiu $v1, $v0, 0x40 +/* 993F4C 8024181C AC4D0030 */ sw $t5, 0x30($v0) +/* 993F50 80241820 AEE30000 */ sw $v1, ($s7) +/* 993F54 80241824 24032000 */ addiu $v1, $zero, 0x2000 +/* 993F58 80241828 AC43003C */ sw $v1, 0x3c($v0) +/* 993F5C 8024182C 24430048 */ addiu $v1, $v0, 0x48 +/* 993F60 80241830 AC4E0038 */ sw $t6, 0x38($v0) +/* 993F64 80241834 AEE30000 */ sw $v1, ($s7) +/* 993F68 80241838 240300C0 */ addiu $v1, $zero, 0xc0 +/* 993F6C 8024183C AC430044 */ sw $v1, 0x44($v0) +/* 993F70 80241840 24430050 */ addiu $v1, $v0, 0x50 +/* 993F74 80241844 AC4F0040 */ sw $t7, 0x40($v0) +/* 993F78 80241848 AEE30000 */ sw $v1, ($s7) +/* 993F7C 8024184C 24030C00 */ addiu $v1, $zero, 0xc00 +/* 993F80 80241850 AC500048 */ sw $s0, 0x48($v0) +/* 993F84 80241854 AC40004C */ sw $zero, 0x4c($v0) +/* 993F88 80241858 AC530050 */ sw $s3, 0x50($v0) +/* 993F8C 8024185C AC430054 */ sw $v1, 0x54($v0) +/* 993F90 80241860 AC540058 */ sw $s4, 0x58($v0) +/* 993F94 80241864 AC40005C */ sw $zero, 0x5c($v0) +/* 993F98 80241868 AC550060 */ sw $s5, 0x60($v0) +/* 993F9C 8024186C AC400064 */ sw $zero, 0x64($v0) +/* 993FA0 80241870 8FC50010 */ lw $a1, 0x10($fp) +/* 993FA4 80241874 8FC60014 */ lw $a2, 0x14($fp) +/* 993FA8 80241878 8FC70018 */ lw $a3, 0x18($fp) +/* 993FAC 8024187C 24430058 */ addiu $v1, $v0, 0x58 +/* 993FB0 80241880 AEE30000 */ sw $v1, ($s7) +/* 993FB4 80241884 24430060 */ addiu $v1, $v0, 0x60 +/* 993FB8 80241888 24420068 */ addiu $v0, $v0, 0x68 +/* 993FBC 8024188C AEE30000 */ sw $v1, ($s7) +/* 993FC0 80241890 0C019E40 */ jal guTranslateF +/* 993FC4 80241894 AEE20000 */ sw $v0, ($s7) +/* 993FC8 80241898 27B00080 */ addiu $s0, $sp, 0x80 +/* 993FCC 8024189C 8FB800C0 */ lw $t8, 0xc0($sp) +/* 993FD0 802418A0 8EC30000 */ lw $v1, ($s6) +/* 993FD4 802418A4 37181630 */ ori $t8, $t8, 0x1630 +/* 993FD8 802418A8 00031080 */ sll $v0, $v1, 2 +/* 993FDC 802418AC 00431021 */ addu $v0, $v0, $v1 +/* 993FE0 802418B0 00021080 */ sll $v0, $v0, 2 +/* 993FE4 802418B4 00431023 */ subu $v0, $v0, $v1 +/* 993FE8 802418B8 000218C0 */ sll $v1, $v0, 3 +/* 993FEC 802418BC 00431021 */ addu $v0, $v0, $v1 +/* 993FF0 802418C0 000210C0 */ sll $v0, $v0, 3 +/* 993FF4 802418C4 AFB800C0 */ sw $t8, 0xc0($sp) +/* 993FF8 802418C8 3C18800B */ lui $t8, %hi(gCameras) +/* 993FFC 802418CC 27181D80 */ addiu $t8, $t8, %lo(gCameras) +/* 994000 802418D0 00581021 */ addu $v0, $v0, $t8 +/* 994004 802418D4 C7C00020 */ lwc1 $f0, 0x20($fp) +/* 994008 802418D8 C442006C */ lwc1 $f2, 0x6c($v0) +/* 99400C 802418DC 4480A000 */ mtc1 $zero, $f20 +/* 994010 802418E0 46020000 */ add.s $f0, $f0, $f2 +/* 994014 802418E4 C7C20034 */ lwc1 $f2, 0x34($fp) +/* 994018 802418E8 3C013F80 */ lui $at, 0x3f80 +/* 99401C 802418EC 4481B000 */ mtc1 $at, $f22 +/* 994020 802418F0 46020000 */ add.s $f0, $f0, $f2 +/* 994024 802418F4 4406A000 */ mfc1 $a2, $f20 +/* 994028 802418F8 4407B000 */ mfc1 $a3, $f22 +/* 99402C 802418FC 44050000 */ mfc1 $a1, $f0 +/* 994030 80241900 0200202D */ daddu $a0, $s0, $zero +/* 994034 80241904 0C019EC8 */ jal guRotateF +/* 994038 80241908 E7B40010 */ swc1 $f20, 0x10($sp) +/* 99403C 8024190C 0200202D */ daddu $a0, $s0, $zero +/* 994040 80241910 0220282D */ daddu $a1, $s1, $zero +/* 994044 80241914 0C019D80 */ jal guMtxCatF +/* 994048 80241918 0220302D */ daddu $a2, $s1, $zero +/* 99404C 8024191C 8FC50024 */ lw $a1, 0x24($fp) +/* 994050 80241920 4406A000 */ mfc1 $a2, $f20 +/* 994054 80241924 4407A000 */ mfc1 $a3, $f20 +/* 994058 80241928 0200202D */ daddu $a0, $s0, $zero +/* 99405C 8024192C 0C019EC8 */ jal guRotateF +/* 994060 80241930 E7B60010 */ swc1 $f22, 0x10($sp) +/* 994064 80241934 0200202D */ daddu $a0, $s0, $zero +/* 994068 80241938 0220282D */ daddu $a1, $s1, $zero +/* 99406C 8024193C 0C019D80 */ jal guMtxCatF +/* 994070 80241940 0220302D */ daddu $a2, $s1, $zero +/* 994074 80241944 8FC5001C */ lw $a1, 0x1c($fp) +/* 994078 80241948 4406B000 */ mfc1 $a2, $f22 +/* 99407C 8024194C 4407A000 */ mfc1 $a3, $f20 +/* 994080 80241950 0200202D */ daddu $a0, $s0, $zero +/* 994084 80241954 0C019EC8 */ jal guRotateF +/* 994088 80241958 AFA70010 */ sw $a3, 0x10($sp) +/* 99408C 8024195C 0200202D */ daddu $a0, $s0, $zero +/* 994090 80241960 0220282D */ daddu $a1, $s1, $zero +/* 994094 80241964 0C019D80 */ jal guMtxCatF +/* 994098 80241968 0220302D */ daddu $a2, $s1, $zero +/* 99409C 8024196C 8FC50028 */ lw $a1, 0x28($fp) +/* 9940A0 80241970 8FC6002C */ lw $a2, 0x2c($fp) +/* 9940A4 80241974 8FC70030 */ lw $a3, 0x30($fp) +/* 9940A8 80241978 0C019DF0 */ jal guScaleF +/* 9940AC 8024197C 0200202D */ daddu $a0, $s0, $zero +/* 9940B0 80241980 0200202D */ daddu $a0, $s0, $zero +/* 9940B4 80241984 0220282D */ daddu $a1, $s1, $zero +/* 9940B8 80241988 0C019D80 */ jal guMtxCatF +/* 9940BC 8024198C 0220302D */ daddu $a2, $s1, $zero +/* 9940C0 80241990 3C108007 */ lui $s0, 0x8007 +/* 9940C4 80241994 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 9940C8 80241998 0220202D */ daddu $a0, $s1, $zero +/* 9940CC 8024199C 96050000 */ lhu $a1, ($s0) +/* 9940D0 802419A0 8E420000 */ lw $v0, ($s2) +/* 9940D4 802419A4 8FB800C0 */ lw $t8, 0xc0($sp) +/* 9940D8 802419A8 00052980 */ sll $a1, $a1, 6 +/* 9940DC 802419AC 00B82821 */ addu $a1, $a1, $t8 +/* 9940E0 802419B0 0C019D40 */ jal guMtxF2L +/* 9940E4 802419B4 00452821 */ addu $a1, $v0, $a1 +/* 9940E8 802419B8 3C02DA38 */ lui $v0, 0xda38 +/* 9940EC 802419BC 34420002 */ ori $v0, $v0, 2 +/* 9940F0 802419C0 27A40030 */ addiu $a0, $sp, 0x30 +/* 9940F4 802419C4 8EE70000 */ lw $a3, ($s7) +/* 9940F8 802419C8 96080000 */ lhu $t0, ($s0) +/* 9940FC 802419CC 00E0282D */ daddu $a1, $a3, $zero +/* 994100 802419D0 ACA20000 */ sw $v0, ($a1) +/* 994104 802419D4 3102FFFF */ andi $v0, $t0, 0xffff +/* 994108 802419D8 00021180 */ sll $v0, $v0, 6 +/* 99410C 802419DC 24E70008 */ addiu $a3, $a3, 8 +/* 994110 802419E0 8FB800C0 */ lw $t8, 0xc0($sp) +/* 994114 802419E4 8E430000 */ lw $v1, ($s2) +/* 994118 802419E8 00581021 */ addu $v0, $v0, $t8 +/* 99411C 802419EC 00621821 */ addu $v1, $v1, $v0 +/* 994120 802419F0 3C028000 */ lui $v0, 0x8000 +/* 994124 802419F4 00621821 */ addu $v1, $v1, $v0 +/* 994128 802419F8 ACA30004 */ sw $v1, 4($a1) +/* 99412C 802419FC 8FC50008 */ lw $a1, 8($fp) +/* 994130 80241A00 8FC6000C */ lw $a2, 0xc($fp) +/* 994134 80241A04 25080001 */ addiu $t0, $t0, 1 +/* 994138 80241A08 AEE70000 */ sw $a3, ($s7) +/* 99413C 80241A0C 0C0B7A76 */ jal func_802DE9D8 +/* 994140 80241A10 A6080000 */ sh $t0, ($s0) +/* 994144 80241A14 27A50018 */ addiu $a1, $sp, 0x18 +/* 994148 80241A18 0000302D */ daddu $a2, $zero, $zero +/* 99414C 80241A1C 0220382D */ daddu $a3, $s1, $zero +/* 994150 80241A20 8FC40000 */ lw $a0, ($fp) +/* 994154 80241A24 8FA80030 */ lw $t0, 0x30($sp) +/* 994158 80241A28 8FA90034 */ lw $t1, 0x34($sp) +/* 99415C 80241A2C 97A3003A */ lhu $v1, 0x3a($sp) +/* 994160 80241A30 240200FF */ addiu $v0, $zero, 0xff +/* 994164 80241A34 A3A20028 */ sb $v0, 0x28($sp) +/* 994168 80241A38 A7A30020 */ sh $v1, 0x20($sp) +/* 99416C 80241A3C 3063FFFF */ andi $v1, $v1, 0xffff +/* 994170 80241A40 AFA80018 */ sw $t0, 0x18($sp) +/* 994174 80241A44 97A8003E */ lhu $t0, 0x3e($sp) +/* 994178 80241A48 44830000 */ mtc1 $v1, $f0 +/* 99417C 80241A4C 00000000 */ nop +/* 994180 80241A50 46800020 */ cvt.s.w $f0, $f0 +/* 994184 80241A54 AFA9001C */ sw $t1, 0x1c($sp) +/* 994188 80241A58 E7C00038 */ swc1 $f0, 0x38($fp) +/* 99418C 80241A5C 8FA20038 */ lw $v0, 0x38($sp) +/* 994190 80241A60 3103FFFF */ andi $v1, $t0, 0xffff +/* 994194 80241A64 44830000 */ mtc1 $v1, $f0 +/* 994198 80241A68 00000000 */ nop +/* 99419C 80241A6C 46800020 */ cvt.s.w $f0, $f0 +/* 9941A0 80241A70 00021FC2 */ srl $v1, $v0, 0x1f +/* 9941A4 80241A74 00431021 */ addu $v0, $v0, $v1 +/* 9941A8 80241A78 00021043 */ sra $v0, $v0, 1 +/* 9941AC 80241A7C 00021023 */ negu $v0, $v0 +/* 9941B0 80241A80 A7A80022 */ sh $t0, 0x22($sp) +/* 9941B4 80241A84 E7C0003C */ swc1 $f0, 0x3c($fp) +/* 9941B8 80241A88 A7A20024 */ sh $v0, 0x24($sp) +/* 9941BC 80241A8C 0C04EBDC */ jal func_8013AF70 +/* 9941C0 80241A90 A7A80026 */ sh $t0, 0x26($sp) +/* 9941C4 80241A94 3C04D838 */ lui $a0, 0xd838 +/* 9941C8 80241A98 8EE20000 */ lw $v0, ($s7) +/* 9941CC 80241A9C 34840002 */ ori $a0, $a0, 2 +/* 9941D0 80241AA0 0040182D */ daddu $v1, $v0, $zero +/* 9941D4 80241AA4 24420008 */ addiu $v0, $v0, 8 +/* 9941D8 80241AA8 AEE20000 */ sw $v0, ($s7) +/* 9941DC 80241AAC 24020040 */ addiu $v0, $zero, 0x40 +/* 9941E0 80241AB0 AC640000 */ sw $a0, ($v1) +/* 9941E4 80241AB4 AC620004 */ sw $v0, 4($v1) +/* 9941E8 80241AB8 8FBF00EC */ lw $ra, 0xec($sp) +/* 9941EC 80241ABC 8FBE00E8 */ lw $fp, 0xe8($sp) +/* 9941F0 80241AC0 8FB700E4 */ lw $s7, 0xe4($sp) +/* 9941F4 80241AC4 8FB600E0 */ lw $s6, 0xe0($sp) +/* 9941F8 80241AC8 8FB500DC */ lw $s5, 0xdc($sp) +/* 9941FC 80241ACC 8FB400D8 */ lw $s4, 0xd8($sp) +/* 994200 80241AD0 8FB300D4 */ lw $s3, 0xd4($sp) +/* 994204 80241AD4 8FB200D0 */ lw $s2, 0xd0($sp) +/* 994208 80241AD8 8FB100CC */ lw $s1, 0xcc($sp) +/* 99420C 80241ADC 8FB000C8 */ lw $s0, 0xc8($sp) +/* 994210 80241AE0 D7B600F8 */ ldc1 $f22, 0xf8($sp) +/* 994214 80241AE4 D7B400F0 */ ldc1 $f20, 0xf0($sp) +/* 994218 80241AE8 03E00008 */ jr $ra +/* 99421C 80241AEC 27BD0100 */ addiu $sp, $sp, 0x100 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241AF0.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241AF0.s new file mode 100644 index 0000000000..681727539f --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241AF0.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AF0 +/* 994220 80241AF0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 994224 80241AF4 AFBF0028 */ sw $ra, 0x28($sp) +/* 994228 80241AF8 AFB10024 */ sw $s1, 0x24($sp) +/* 99422C 80241AFC AFB00020 */ sw $s0, 0x20($sp) +/* 994230 80241B00 8C820148 */ lw $v0, 0x148($a0) +/* 994234 80241B04 0C00EABB */ jal get_npc_unsafe +/* 994238 80241B08 84440008 */ lh $a0, 8($v0) +/* 99423C 80241B0C 27A40010 */ addiu $a0, $sp, 0x10 +/* 994240 80241B10 24050035 */ addiu $a1, $zero, 0x35 +/* 994244 80241B14 3C108024 */ lui $s0, 0x8024 +/* 994248 80241B18 26102AC0 */ addiu $s0, $s0, 0x2ac0 +/* 99424C 80241B1C 00A0182D */ daddu $v1, $a1, $zero +/* 994250 80241B20 0040882D */ daddu $s1, $v0, $zero +/* 994254 80241B24 0000302D */ daddu $a2, $zero, $zero +/* 994258 80241B28 AE030008 */ sw $v1, 8($s0) +/* 99425C 80241B2C 0C0B7A76 */ jal func_802DE9D8 +/* 994260 80241B30 AE00000C */ sw $zero, 0xc($s0) +/* 994264 80241B34 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 994268 80241B38 46800020 */ cvt.s.w $f0, $f0 +/* 99426C 80241B3C E6000038 */ swc1 $f0, 0x38($s0) +/* 994270 80241B40 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 994274 80241B44 46800020 */ cvt.s.w $f0, $f0 +/* 994278 80241B48 E600003C */ swc1 $f0, 0x3c($s0) +/* 99427C 80241B4C C6200038 */ lwc1 $f0, 0x38($s1) +/* 994280 80241B50 3C014387 */ lui $at, 0x4387 +/* 994284 80241B54 44811000 */ mtc1 $at, $f2 +/* 994288 80241B58 E6000010 */ swc1 $f0, 0x10($s0) +/* 99428C 80241B5C C620003C */ lwc1 $f0, 0x3c($s1) +/* 994290 80241B60 0000202D */ daddu $a0, $zero, $zero +/* 994294 80241B64 E6000014 */ swc1 $f0, 0x14($s0) +/* 994298 80241B68 C6240040 */ lwc1 $f4, 0x40($s1) +/* 99429C 80241B6C 3C013F36 */ lui $at, 0x3f36 +/* 9942A0 80241B70 3421DB6E */ ori $at, $at, 0xdb6e +/* 9942A4 80241B74 44810000 */ mtc1 $at, $f0 +/* 9942A8 80241B78 3C058024 */ lui $a1, 0x8024 +/* 9942AC 80241B7C 24A51610 */ addiu $a1, $a1, 0x1610 +/* 9942B0 80241B80 AE00001C */ sw $zero, 0x1c($s0) +/* 9942B4 80241B84 AE000020 */ sw $zero, 0x20($s0) +/* 9942B8 80241B88 AE000024 */ sw $zero, 0x24($s0) +/* 9942BC 80241B8C E6020034 */ swc1 $f2, 0x34($s0) +/* 9942C0 80241B90 AE000000 */ sw $zero, ($s0) +/* 9942C4 80241B94 E6000028 */ swc1 $f0, 0x28($s0) +/* 9942C8 80241B98 E600002C */ swc1 $f0, 0x2c($s0) +/* 9942CC 80241B9C E6000030 */ swc1 $f0, 0x30($s0) +/* 9942D0 80241BA0 0C048C8F */ jal bind_dynamic_entity_7 +/* 9942D4 80241BA4 E6040018 */ swc1 $f4, 0x18($s0) +/* 9942D8 80241BA8 AE020004 */ sw $v0, 4($s0) +/* 9942DC 80241BAC 8FBF0028 */ lw $ra, 0x28($sp) +/* 9942E0 80241BB0 8FB10024 */ lw $s1, 0x24($sp) +/* 9942E4 80241BB4 8FB00020 */ lw $s0, 0x20($sp) +/* 9942E8 80241BB8 24020002 */ addiu $v0, $zero, 2 +/* 9942EC 80241BBC 03E00008 */ jr $ra +/* 9942F0 80241BC0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241BC4.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241BC4.s new file mode 100644 index 0000000000..86e2e9ab12 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241BC4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BC4 +/* 9942F4 80241BC4 3C048024 */ lui $a0, 0x8024 +/* 9942F8 80241BC8 8C842AC4 */ lw $a0, 0x2ac4($a0) +/* 9942FC 80241BCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 994300 80241BD0 AFBF0010 */ sw $ra, 0x10($sp) +/* 994304 80241BD4 0C048D70 */ jal func_801235C0 +/* 994308 80241BD8 00000000 */ nop +/* 99430C 80241BDC 8FBF0010 */ lw $ra, 0x10($sp) +/* 994310 80241BE0 24020002 */ addiu $v0, $zero, 2 +/* 994314 80241BE4 03E00008 */ jr $ra +/* 994318 80241BE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241BEC_992730.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241BEC_992730.s new file mode 100644 index 0000000000..f99bbafb66 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241BEC_992730.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BEC_99431C +/* 99431C 80241BEC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 994320 80241BF0 AFB10014 */ sw $s1, 0x14($sp) +/* 994324 80241BF4 0080882D */ daddu $s1, $a0, $zero +/* 994328 80241BF8 AFBF001C */ sw $ra, 0x1c($sp) +/* 99432C 80241BFC AFB20018 */ sw $s2, 0x18($sp) +/* 994330 80241C00 AFB00010 */ sw $s0, 0x10($sp) +/* 994334 80241C04 8E30000C */ lw $s0, 0xc($s1) +/* 994338 80241C08 8E050000 */ lw $a1, ($s0) +/* 99433C 80241C0C 0C0B210B */ jal get_float_variable +/* 994340 80241C10 26100004 */ addiu $s0, $s0, 4 +/* 994344 80241C14 8E050000 */ lw $a1, ($s0) +/* 994348 80241C18 26100004 */ addiu $s0, $s0, 4 +/* 99434C 80241C1C 4600010D */ trunc.w.s $f4, $f0 +/* 994350 80241C20 44122000 */ mfc1 $s2, $f4 +/* 994354 80241C24 0C0B210B */ jal get_float_variable +/* 994358 80241C28 0220202D */ daddu $a0, $s1, $zero +/* 99435C 80241C2C 8E050000 */ lw $a1, ($s0) +/* 994360 80241C30 4600010D */ trunc.w.s $f4, $f0 +/* 994364 80241C34 44102000 */ mfc1 $s0, $f4 +/* 994368 80241C38 0C0B210B */ jal get_float_variable +/* 99436C 80241C3C 0220202D */ daddu $a0, $s1, $zero +/* 994370 80241C40 3C038024 */ lui $v1, 0x8024 +/* 994374 80241C44 24632AC0 */ addiu $v1, $v1, 0x2ac0 +/* 994378 80241C48 44921000 */ mtc1 $s2, $f2 +/* 99437C 80241C4C 00000000 */ nop +/* 994380 80241C50 468010A0 */ cvt.s.w $f2, $f2 +/* 994384 80241C54 E4620010 */ swc1 $f2, 0x10($v1) +/* 994388 80241C58 44901000 */ mtc1 $s0, $f2 +/* 99438C 80241C5C 00000000 */ nop +/* 994390 80241C60 468010A0 */ cvt.s.w $f2, $f2 +/* 994394 80241C64 4600010D */ trunc.w.s $f4, $f0 +/* 994398 80241C68 44022000 */ mfc1 $v0, $f4 +/* 99439C 80241C6C 00000000 */ nop +/* 9943A0 80241C70 44820000 */ mtc1 $v0, $f0 +/* 9943A4 80241C74 00000000 */ nop +/* 9943A8 80241C78 46800020 */ cvt.s.w $f0, $f0 +/* 9943AC 80241C7C E4620014 */ swc1 $f2, 0x14($v1) +/* 9943B0 80241C80 E4600018 */ swc1 $f0, 0x18($v1) +/* 9943B4 80241C84 8FBF001C */ lw $ra, 0x1c($sp) +/* 9943B8 80241C88 8FB20018 */ lw $s2, 0x18($sp) +/* 9943BC 80241C8C 8FB10014 */ lw $s1, 0x14($sp) +/* 9943C0 80241C90 8FB00010 */ lw $s0, 0x10($sp) +/* 9943C4 80241C94 24020002 */ addiu $v0, $zero, 2 +/* 9943C8 80241C98 03E00008 */ jr $ra +/* 9943CC 80241C9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_14/func_80241CA0.s b/asm/nonmatchings/world/area_isk/isk_14/func_80241CA0.s new file mode 100644 index 0000000000..4367cb41b6 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_14/func_80241CA0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CA0 +/* 9943D0 80241CA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9943D4 80241CA4 AFB10014 */ sw $s1, 0x14($sp) +/* 9943D8 80241CA8 0080882D */ daddu $s1, $a0, $zero +/* 9943DC 80241CAC AFBF001C */ sw $ra, 0x1c($sp) +/* 9943E0 80241CB0 AFB20018 */ sw $s2, 0x18($sp) +/* 9943E4 80241CB4 AFB00010 */ sw $s0, 0x10($sp) +/* 9943E8 80241CB8 8E30000C */ lw $s0, 0xc($s1) +/* 9943EC 80241CBC 8E050000 */ lw $a1, ($s0) +/* 9943F0 80241CC0 0C0B210B */ jal get_float_variable +/* 9943F4 80241CC4 26100004 */ addiu $s0, $s0, 4 +/* 9943F8 80241CC8 8E050000 */ lw $a1, ($s0) +/* 9943FC 80241CCC 26100004 */ addiu $s0, $s0, 4 +/* 994400 80241CD0 4600010D */ trunc.w.s $f4, $f0 +/* 994404 80241CD4 44122000 */ mfc1 $s2, $f4 +/* 994408 80241CD8 0C0B210B */ jal get_float_variable +/* 99440C 80241CDC 0220202D */ daddu $a0, $s1, $zero +/* 994410 80241CE0 8E050000 */ lw $a1, ($s0) +/* 994414 80241CE4 4600010D */ trunc.w.s $f4, $f0 +/* 994418 80241CE8 44102000 */ mfc1 $s0, $f4 +/* 99441C 80241CEC 0C0B210B */ jal get_float_variable +/* 994420 80241CF0 0220202D */ daddu $a0, $s1, $zero +/* 994424 80241CF4 3C038024 */ lui $v1, 0x8024 +/* 994428 80241CF8 24632AC0 */ addiu $v1, $v1, 0x2ac0 +/* 99442C 80241CFC 44921000 */ mtc1 $s2, $f2 +/* 994430 80241D00 00000000 */ nop +/* 994434 80241D04 468010A0 */ cvt.s.w $f2, $f2 +/* 994438 80241D08 E462001C */ swc1 $f2, 0x1c($v1) +/* 99443C 80241D0C 44901000 */ mtc1 $s0, $f2 +/* 994440 80241D10 00000000 */ nop +/* 994444 80241D14 468010A0 */ cvt.s.w $f2, $f2 +/* 994448 80241D18 4600010D */ trunc.w.s $f4, $f0 +/* 99444C 80241D1C 44022000 */ mfc1 $v0, $f4 +/* 994450 80241D20 00000000 */ nop +/* 994454 80241D24 44820000 */ mtc1 $v0, $f0 +/* 994458 80241D28 00000000 */ nop +/* 99445C 80241D2C 46800020 */ cvt.s.w $f0, $f0 +/* 994460 80241D30 E4620020 */ swc1 $f2, 0x20($v1) +/* 994464 80241D34 E4600024 */ swc1 $f0, 0x24($v1) +/* 994468 80241D38 8FBF001C */ lw $ra, 0x1c($sp) +/* 99446C 80241D3C 8FB20018 */ lw $s2, 0x18($sp) +/* 994470 80241D40 8FB10014 */ lw $s1, 0x14($sp) +/* 994474 80241D44 8FB00010 */ lw $s0, 0x10($sp) +/* 994478 80241D48 24020002 */ addiu $v0, $zero, 2 +/* 99447C 80241D4C 03E00008 */ jr $ra +/* 994480 80241D50 27BD0020 */ addiu $sp, $sp, 0x20 +/* 994484 80241D54 00000000 */ nop +/* 994488 80241D58 00000000 */ nop +/* 99448C 80241D5C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_80240000_9951F0.s b/asm/nonmatchings/world/area_isk/isk_16/func_80240000_9951F0.s new file mode 100644 index 0000000000..4a2beb9fd8 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_80240000_9951F0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9951F0 +/* 9951F0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9951F4 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* 9951F8 80240008 AFB00018 */ sw $s0, 0x18($sp) +/* 9951FC 8024000C 8C900084 */ lw $s0, 0x84($a0) +/* 995200 80240010 C6000008 */ lwc1 $f0, 8($s0) +/* 995204 80240014 240400A2 */ addiu $a0, $zero, 0xa2 +/* 995208 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 99520C 8024001C 8E060000 */ lw $a2, ($s0) +/* 995210 80240020 8E070004 */ lw $a3, 4($s0) +/* 995214 80240024 0C05267B */ jal func_801499EC +/* 995218 80240028 0000282D */ daddu $a1, $zero, $zero +/* 99521C 8024002C 86020044 */ lh $v0, 0x44($s0) +/* 995220 80240030 8FBF001C */ lw $ra, 0x1c($sp) +/* 995224 80240034 8FB00018 */ lw $s0, 0x18($sp) +/* 995228 80240038 28420002 */ slti $v0, $v0, 2 +/* 99522C 8024003C 38420001 */ xori $v0, $v0, 1 +/* 995230 80240040 00021040 */ sll $v0, $v0, 1 +/* 995234 80240044 03E00008 */ jr $ra +/* 995238 80240048 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_8024004C_9951F0.s b/asm/nonmatchings/world/area_isk/isk_16/func_8024004C_9951F0.s new file mode 100644 index 0000000000..3d0c2a37fa --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_8024004C_9951F0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C_99523C +/* 99523C 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 995240 80240050 AFB20020 */ sw $s2, 0x20($sp) +/* 995244 80240054 0080902D */ daddu $s2, $a0, $zero +/* 995248 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* 99524C 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* 995250 80240060 AFB00018 */ sw $s0, 0x18($sp) +/* 995254 80240064 10A0004A */ beqz $a1, .L80240190 +/* 995258 80240068 8E51000C */ lw $s1, 0xc($s2) +/* 99525C 8024006C 0C00AB39 */ jal heap_malloc +/* 995260 80240070 24040058 */ addiu $a0, $zero, 0x58 +/* 995264 80240074 0000202D */ daddu $a0, $zero, $zero +/* 995268 80240078 3C05FD05 */ lui $a1, 0xfd05 +/* 99526C 8024007C 34A50F81 */ ori $a1, $a1, 0xf81 +/* 995270 80240080 0040802D */ daddu $s0, $v0, $zero +/* 995274 80240084 0200302D */ daddu $a2, $s0, $zero +/* 995278 80240088 0C0B2026 */ jal set_variable +/* 99527C 8024008C AE500084 */ sw $s0, 0x84($s2) +/* 995280 80240090 8E250000 */ lw $a1, ($s1) +/* 995284 80240094 26310004 */ addiu $s1, $s1, 4 +/* 995288 80240098 0C0B1EAF */ jal get_variable +/* 99528C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* 995290 802400A0 AE020038 */ sw $v0, 0x38($s0) +/* 995294 802400A4 8E250000 */ lw $a1, ($s1) +/* 995298 802400A8 26310004 */ addiu $s1, $s1, 4 +/* 99529C 802400AC 0C0B1EAF */ jal get_variable +/* 9952A0 802400B0 0240202D */ daddu $a0, $s2, $zero +/* 9952A4 802400B4 AE02003C */ sw $v0, 0x3c($s0) +/* 9952A8 802400B8 8E250000 */ lw $a1, ($s1) +/* 9952AC 802400BC 26310004 */ addiu $s1, $s1, 4 +/* 9952B0 802400C0 0C0B210B */ jal get_float_variable +/* 9952B4 802400C4 0240202D */ daddu $a0, $s2, $zero +/* 9952B8 802400C8 E600000C */ swc1 $f0, 0xc($s0) +/* 9952BC 802400CC 8E250000 */ lw $a1, ($s1) +/* 9952C0 802400D0 26310004 */ addiu $s1, $s1, 4 +/* 9952C4 802400D4 0C0B210B */ jal get_float_variable +/* 9952C8 802400D8 0240202D */ daddu $a0, $s2, $zero +/* 9952CC 802400DC E6000010 */ swc1 $f0, 0x10($s0) +/* 9952D0 802400E0 8E250000 */ lw $a1, ($s1) +/* 9952D4 802400E4 26310004 */ addiu $s1, $s1, 4 +/* 9952D8 802400E8 0C0B210B */ jal get_float_variable +/* 9952DC 802400EC 0240202D */ daddu $a0, $s2, $zero +/* 9952E0 802400F0 E6000014 */ swc1 $f0, 0x14($s0) +/* 9952E4 802400F4 8E250000 */ lw $a1, ($s1) +/* 9952E8 802400F8 26310004 */ addiu $s1, $s1, 4 +/* 9952EC 802400FC 0C0B210B */ jal get_float_variable +/* 9952F0 80240100 0240202D */ daddu $a0, $s2, $zero +/* 9952F4 80240104 E6000018 */ swc1 $f0, 0x18($s0) +/* 9952F8 80240108 8E250000 */ lw $a1, ($s1) +/* 9952FC 8024010C 26310004 */ addiu $s1, $s1, 4 +/* 995300 80240110 0C0B210B */ jal get_float_variable +/* 995304 80240114 0240202D */ daddu $a0, $s2, $zero +/* 995308 80240118 E600001C */ swc1 $f0, 0x1c($s0) +/* 99530C 8024011C 8E250000 */ lw $a1, ($s1) +/* 995310 80240120 26310004 */ addiu $s1, $s1, 4 +/* 995314 80240124 0C0B210B */ jal get_float_variable +/* 995318 80240128 0240202D */ daddu $a0, $s2, $zero +/* 99531C 8024012C E6000020 */ swc1 $f0, 0x20($s0) +/* 995320 80240130 8E250000 */ lw $a1, ($s1) +/* 995324 80240134 26310004 */ addiu $s1, $s1, 4 +/* 995328 80240138 0C0B210B */ jal get_float_variable +/* 99532C 8024013C 0240202D */ daddu $a0, $s2, $zero +/* 995330 80240140 E6000024 */ swc1 $f0, 0x24($s0) +/* 995334 80240144 8E250000 */ lw $a1, ($s1) +/* 995338 80240148 0C0B210B */ jal get_float_variable +/* 99533C 8024014C 0240202D */ daddu $a0, $s2, $zero +/* 995340 80240150 3C013F80 */ lui $at, 0x3f80 +/* 995344 80240154 44811000 */ mtc1 $at, $f2 +/* 995348 80240158 E6000028 */ swc1 $f0, 0x28($s0) +/* 99534C 8024015C AFA00014 */ sw $zero, 0x14($sp) +/* 995350 80240160 E7A20010 */ swc1 $f2, 0x10($sp) +/* 995354 80240164 8E05000C */ lw $a1, 0xc($s0) +/* 995358 80240168 8E060010 */ lw $a2, 0x10($s0) +/* 99535C 8024016C 8E070014 */ lw $a3, 0x14($s0) +/* 995360 80240170 0C01CA6C */ jal func_800729B0 +/* 995364 80240174 24040002 */ addiu $a0, $zero, 2 +/* 995368 80240178 AE020050 */ sw $v0, 0x50($s0) +/* 99536C 8024017C A600004E */ sh $zero, 0x4e($s0) +/* 995370 80240180 A6000048 */ sh $zero, 0x48($s0) +/* 995374 80240184 A600004A */ sh $zero, 0x4a($s0) +/* 995378 80240188 A6000044 */ sh $zero, 0x44($s0) +/* 99537C 8024018C A6000046 */ sh $zero, 0x46($s0) +.L80240190: +/* 995380 80240190 8FBF0024 */ lw $ra, 0x24($sp) +/* 995384 80240194 8FB20020 */ lw $s2, 0x20($sp) +/* 995388 80240198 8FB1001C */ lw $s1, 0x1c($sp) +/* 99538C 8024019C 8FB00018 */ lw $s0, 0x18($sp) +/* 995390 802401A0 24020002 */ addiu $v0, $zero, 2 +/* 995394 802401A4 03E00008 */ jr $ra +/* 995398 802401A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_802401AC.s b/asm/nonmatchings/world/area_isk/isk_16/func_802401AC.s new file mode 100644 index 0000000000..6619a5d31f --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_802401AC.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC +/* 99539C 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9953A0 802401B0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9953A4 802401B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 9953A8 802401B8 AFB00018 */ sw $s0, 0x18($sp) +/* 9953AC 802401BC 8C910084 */ lw $s1, 0x84($a0) +/* 9953B0 802401C0 86230044 */ lh $v1, 0x44($s1) +/* 9953B4 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 9953B8 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 9953BC 802401CC 2C620005 */ sltiu $v0, $v1, 5 +/* 9953C0 802401D0 1040008A */ beqz $v0, .L802403FC +/* 9953C4 802401D4 00031080 */ sll $v0, $v1, 2 +/* 9953C8 802401D8 3C018024 */ lui $at, 0x8024 +/* 9953CC 802401DC 00220821 */ addu $at, $at, $v0 +/* 9953D0 802401E0 8C222D50 */ lw $v0, 0x2d50($at) +/* 9953D4 802401E4 00400008 */ jr $v0 +/* 9953D8 802401E8 00000000 */ nop +/* 9953DC 802401EC 8E22003C */ lw $v0, 0x3c($s1) +/* 9953E0 802401F0 86270046 */ lh $a3, 0x46($s1) +/* 9953E4 802401F4 AFA20010 */ sw $v0, 0x10($sp) +/* 9953E8 802401F8 8E250010 */ lw $a1, 0x10($s1) +/* 9953EC 802401FC 8E26001C */ lw $a2, 0x1c($s1) +/* 9953F0 80240200 0C00A8ED */ jal update_lerp +/* 9953F4 80240204 24040005 */ addiu $a0, $zero, 5 +/* 9953F8 80240208 86270046 */ lh $a3, 0x46($s1) +/* 9953FC 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* 995400 80240210 E6200004 */ swc1 $f0, 4($s1) +/* 995404 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* 995408 80240218 8E25000C */ lw $a1, 0xc($s1) +/* 99540C 8024021C 8E260018 */ lw $a2, 0x18($s1) +/* 995410 80240220 0C00A8ED */ jal update_lerp +/* 995414 80240224 0000202D */ daddu $a0, $zero, $zero +/* 995418 80240228 86270046 */ lh $a3, 0x46($s1) +/* 99541C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* 995420 80240230 E6200000 */ swc1 $f0, ($s1) +/* 995424 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* 995428 80240238 8E250014 */ lw $a1, 0x14($s1) +/* 99542C 8024023C 8E260020 */ lw $a2, 0x20($s1) +/* 995430 80240240 0C00A8ED */ jal update_lerp +/* 995434 80240244 0000202D */ daddu $a0, $zero, $zero +/* 995438 80240248 8E220050 */ lw $v0, 0x50($s1) +/* 99543C 8024024C E6200008 */ swc1 $f0, 8($s1) +/* 995440 80240250 C6200000 */ lwc1 $f0, ($s1) +/* 995444 80240254 8C42000C */ lw $v0, 0xc($v0) +/* 995448 80240258 E4400008 */ swc1 $f0, 8($v0) +/* 99544C 8024025C 8E220050 */ lw $v0, 0x50($s1) +/* 995450 80240260 C6200004 */ lwc1 $f0, 4($s1) +/* 995454 80240264 8C42000C */ lw $v0, 0xc($v0) +/* 995458 80240268 E440000C */ swc1 $f0, 0xc($v0) +/* 99545C 8024026C 8E220050 */ lw $v0, 0x50($s1) +/* 995460 80240270 C6200008 */ lwc1 $f0, 8($s1) +/* 995464 80240274 8C42000C */ lw $v0, 0xc($v0) +/* 995468 80240278 E4400010 */ swc1 $f0, 0x10($v0) +/* 99546C 8024027C 96220046 */ lhu $v0, 0x46($s1) +/* 995470 80240280 8E23003C */ lw $v1, 0x3c($s1) +/* 995474 80240284 24420001 */ addiu $v0, $v0, 1 +/* 995478 80240288 A6220046 */ sh $v0, 0x46($s1) +/* 99547C 8024028C 00021400 */ sll $v0, $v0, 0x10 +/* 995480 80240290 00021403 */ sra $v0, $v0, 0x10 +/* 995484 80240294 0043102A */ slt $v0, $v0, $v1 +/* 995488 80240298 14400058 */ bnez $v0, .L802403FC +/* 99548C 8024029C 24020001 */ addiu $v0, $zero, 1 +/* 995490 802402A0 A6220044 */ sh $v0, 0x44($s1) +/* 995494 802402A4 080900FF */ j .L802403FC +/* 995498 802402A8 A6200046 */ sh $zero, 0x46($s1) +/* 99549C 802402AC 96220046 */ lhu $v0, 0x46($s1) +/* 9954A0 802402B0 24420001 */ addiu $v0, $v0, 1 +/* 9954A4 802402B4 A6220046 */ sh $v0, 0x46($s1) +/* 9954A8 802402B8 00021400 */ sll $v0, $v0, 0x10 +/* 9954AC 802402BC 00021403 */ sra $v0, $v0, 0x10 +/* 9954B0 802402C0 2842003C */ slti $v0, $v0, 0x3c +/* 9954B4 802402C4 1440004D */ bnez $v0, .L802403FC +/* 9954B8 802402C8 24020002 */ addiu $v0, $zero, 2 +/* 9954BC 802402CC 8E230050 */ lw $v1, 0x50($s1) +/* 9954C0 802402D0 A6220044 */ sh $v0, 0x44($s1) +/* 9954C4 802402D4 A6200046 */ sh $zero, 0x46($s1) +/* 9954C8 802402D8 8C63000C */ lw $v1, 0xc($v1) +/* 9954CC 802402DC 24020001 */ addiu $v0, $zero, 1 +/* 9954D0 802402E0 AC620070 */ sw $v0, 0x70($v1) +/* 9954D4 802402E4 8E220050 */ lw $v0, 0x50($s1) +/* 9954D8 802402E8 8C42000C */ lw $v0, 0xc($v0) +/* 9954DC 802402EC 080900FF */ j .L802403FC +/* 9954E0 802402F0 AC400074 */ sw $zero, 0x74($v0) +/* 9954E4 802402F4 96220046 */ lhu $v0, 0x46($s1) +/* 9954E8 802402F8 24420001 */ addiu $v0, $v0, 1 +/* 9954EC 802402FC A6220046 */ sh $v0, 0x46($s1) +/* 9954F0 80240300 00021400 */ sll $v0, $v0, 0x10 +/* 9954F4 80240304 00021403 */ sra $v0, $v0, 0x10 +/* 9954F8 80240308 2842003C */ slti $v0, $v0, 0x3c +/* 9954FC 8024030C 1440003B */ bnez $v0, .L802403FC +/* 995500 80240310 00000000 */ nop +/* 995504 80240314 3C013F80 */ lui $at, 0x3f80 +/* 995508 80240318 44810000 */ mtc1 $at, $f0 +/* 99550C 8024031C AFA00014 */ sw $zero, 0x14($sp) +/* 995510 80240320 E7A00010 */ swc1 $f0, 0x10($sp) +/* 995514 80240324 8E250018 */ lw $a1, 0x18($s1) +/* 995518 80240328 8E26001C */ lw $a2, 0x1c($s1) +/* 99551C 8024032C 8E270020 */ lw $a3, 0x20($s1) +/* 995520 80240330 0C01C9AC */ jal func_800726B0 +/* 995524 80240334 24040001 */ addiu $a0, $zero, 1 +/* 995528 80240338 AE220054 */ sw $v0, 0x54($s1) +/* 99552C 8024033C 8C43000C */ lw $v1, 0xc($v0) +/* 995530 80240340 9222003B */ lbu $v0, 0x3b($s1) +/* 995534 80240344 A0620034 */ sb $v0, 0x34($v1) +/* 995538 80240348 8E220054 */ lw $v0, 0x54($s1) +/* 99553C 8024034C 8C42000C */ lw $v0, 0xc($v0) +/* 995540 80240350 AC400020 */ sw $zero, 0x20($v0) +/* 995544 80240354 8E250018 */ lw $a1, 0x18($s1) +/* 995548 80240358 8E260028 */ lw $a2, 0x28($s1) +/* 99554C 8024035C 8E270020 */ lw $a3, 0x20($s1) +/* 995550 80240360 0C044898 */ jal create_shadow_type +/* 995554 80240364 0000202D */ daddu $a0, $zero, $zero +/* 995558 80240368 3C014210 */ lui $at, 0x4210 +/* 99555C 8024036C 44810000 */ mtc1 $at, $f0 +/* 995560 80240370 AE220040 */ sw $v0, 0x40($s1) +/* 995564 80240374 24020003 */ addiu $v0, $zero, 3 +/* 995568 80240378 A6220044 */ sh $v0, 0x44($s1) +/* 99556C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* 995570 80240380 A6200046 */ sh $zero, 0x46($s1) +/* 995574 80240384 AE20002C */ sw $zero, 0x2c($s1) +/* 995578 80240388 A6220048 */ sh $v0, 0x48($s1) +/* 99557C 8024038C 080900FF */ j .L802403FC +/* 995580 80240390 E6200030 */ swc1 $f0, 0x30($s1) +/* 995584 80240394 0000202D */ daddu $a0, $zero, $zero +/* 995588 80240398 3C054210 */ lui $a1, 0x4210 +/* 99558C 8024039C 3C064198 */ lui $a2, 0x4198 +/* 995590 802403A0 86270046 */ lh $a3, 0x46($s1) +/* 995594 802403A4 24020078 */ addiu $v0, $zero, 0x78 +/* 995598 802403A8 0C00A8ED */ jal update_lerp +/* 99559C 802403AC AFA20010 */ sw $v0, 0x10($sp) +/* 9955A0 802403B0 96220046 */ lhu $v0, 0x46($s1) +/* 9955A4 802403B4 E6200030 */ swc1 $f0, 0x30($s1) +/* 9955A8 802403B8 24420001 */ addiu $v0, $v0, 1 +/* 9955AC 802403BC A6220046 */ sh $v0, 0x46($s1) +/* 9955B0 802403C0 00021400 */ sll $v0, $v0, 0x10 +/* 9955B4 802403C4 00021403 */ sra $v0, $v0, 0x10 +/* 9955B8 802403C8 28420078 */ slti $v0, $v0, 0x78 +/* 9955BC 802403CC 1440000B */ bnez $v0, .L802403FC +/* 9955C0 802403D0 24030001 */ addiu $v1, $zero, 1 +/* 9955C4 802403D4 C620002C */ lwc1 $f0, 0x2c($s1) +/* 9955C8 802403D8 24020002 */ addiu $v0, $zero, 2 +/* 9955CC 802403DC A6220048 */ sh $v0, 0x48($s1) +/* 9955D0 802403E0 24020004 */ addiu $v0, $zero, 4 +/* 9955D4 802403E4 A620004C */ sh $zero, 0x4c($s1) +/* 9955D8 802403E8 A623004A */ sh $v1, 0x4a($s1) +/* 9955DC 802403EC A623004E */ sh $v1, 0x4e($s1) +/* 9955E0 802403F0 A6220044 */ sh $v0, 0x44($s1) +/* 9955E4 802403F4 A6200046 */ sh $zero, 0x46($s1) +/* 9955E8 802403F8 E6200034 */ swc1 $f0, 0x34($s1) +.L802403FC: +/* 9955EC 802403FC 8623004A */ lh $v1, 0x4a($s1) +/* 9955F0 80240400 24020001 */ addiu $v0, $zero, 1 +/* 9955F4 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* 9955F8 80240408 24020002 */ addiu $v0, $zero, 2 +/* 9955FC 8024040C 1062001E */ beq $v1, $v0, .L80240488 +/* 995600 80240410 00000000 */ nop +/* 995604 80240414 0809014C */ j .L80240530 +/* 995608 80240418 00000000 */ nop +.L8024041C: +/* 99560C 8024041C 8627004C */ lh $a3, 0x4c($s1) +/* 995610 80240420 24100078 */ addiu $s0, $zero, 0x78 +/* 995614 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* 995618 80240428 8E250034 */ lw $a1, 0x34($s1) +/* 99561C 8024042C 3C0644B4 */ lui $a2, 0x44b4 +/* 995620 80240430 0C00A8ED */ jal update_lerp +/* 995624 80240434 24040004 */ addiu $a0, $zero, 4 +/* 995628 80240438 8627004C */ lh $a3, 0x4c($s1) +/* 99562C 8024043C E620002C */ swc1 $f0, 0x2c($s1) +/* 995630 80240440 AFB00010 */ sw $s0, 0x10($sp) +/* 995634 80240444 8E25001C */ lw $a1, 0x1c($s1) +/* 995638 80240448 8E260024 */ lw $a2, 0x24($s1) +/* 99563C 8024044C 0C00A8ED */ jal update_lerp +/* 995640 80240450 2404000A */ addiu $a0, $zero, 0xa +/* 995644 80240454 9622004C */ lhu $v0, 0x4c($s1) +/* 995648 80240458 E6200004 */ swc1 $f0, 4($s1) +/* 99564C 8024045C 24420001 */ addiu $v0, $v0, 1 +/* 995650 80240460 A622004C */ sh $v0, 0x4c($s1) +/* 995654 80240464 00021400 */ sll $v0, $v0, 0x10 +/* 995658 80240468 00021403 */ sra $v0, $v0, 0x10 +/* 99565C 8024046C 0050102A */ slt $v0, $v0, $s0 +/* 995660 80240470 1440002F */ bnez $v0, .L80240530 +/* 995664 80240474 2402010E */ addiu $v0, $zero, 0x10e +/* 995668 80240478 A622004C */ sh $v0, 0x4c($s1) +/* 99566C 8024047C 24020002 */ addiu $v0, $zero, 2 +/* 995670 80240480 0809014B */ j .L8024052C +/* 995674 80240484 A622004A */ sh $v0, 0x4a($s1) +.L80240488: +/* 995678 80240488 8622004C */ lh $v0, 0x4c($s1) +/* 99567C 8024048C 44826000 */ mtc1 $v0, $f12 +/* 995680 80240490 00000000 */ nop +/* 995684 80240494 0C00A8BB */ jal sin_deg +/* 995688 80240498 46806320 */ cvt.s.w $f12, $f12 +/* 99568C 8024049C 3C013F80 */ lui $at, 0x3f80 +/* 995690 802404A0 44811000 */ mtc1 $at, $f2 +/* 995694 802404A4 00000000 */ nop +/* 995698 802404A8 46020000 */ add.s $f0, $f0, $f2 +/* 99569C 802404AC 46000000 */ add.s $f0, $f0, $f0 +/* 9956A0 802404B0 C6220024 */ lwc1 $f2, 0x24($s1) +/* 9956A4 802404B4 8622004C */ lh $v0, 0x4c($s1) +/* 9956A8 802404B8 46001080 */ add.s $f2, $f2, $f0 +/* 9956AC 802404BC 24420008 */ addiu $v0, $v0, 8 +/* 9956B0 802404C0 44826000 */ mtc1 $v0, $f12 +/* 9956B4 802404C4 00000000 */ nop +/* 9956B8 802404C8 46806320 */ cvt.s.w $f12, $f12 +/* 9956BC 802404CC 0C00A6C9 */ jal clamp_angle +/* 9956C0 802404D0 E6220004 */ swc1 $f2, 4($s1) +/* 9956C4 802404D4 4600010D */ trunc.w.s $f4, $f0 +/* 9956C8 802404D8 44022000 */ mfc1 $v0, $f4 +/* 9956CC 802404DC C6200004 */ lwc1 $f0, 4($s1) +/* 9956D0 802404E0 A622004C */ sh $v0, 0x4c($s1) +/* 9956D4 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0) +/* 9956D8 802404E8 8E060030 */ lw $a2, 0x30($s0) +/* 9956DC 802404EC 3C0141A0 */ lui $at, 0x41a0 +/* 9956E0 802404F0 44817000 */ mtc1 $at, $f14 +/* 9956E4 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9956E8 802404F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* 9956EC 802404FC C6200008 */ lwc1 $f0, 8($s1) +/* 9956F0 80240500 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9956F4 80240504 8E270000 */ lw $a3, ($s1) +/* 9956F8 80240508 0C00A7CB */ jal dist3D +/* 9956FC 8024050C 460E1380 */ add.s $f14, $f2, $f14 +/* 995700 80240510 3C0141F0 */ lui $at, 0x41f0 +/* 995704 80240514 44811000 */ mtc1 $at, $f2 +/* 995708 80240518 00000000 */ nop +/* 99570C 8024051C 4600103C */ c.lt.s $f2, $f0 +/* 995710 80240520 00000000 */ nop +/* 995714 80240524 45010002 */ bc1t .L80240530 +/* 995718 80240528 24020003 */ addiu $v0, $zero, 3 +.L8024052C: +/* 99571C 8024052C A622004E */ sh $v0, 0x4e($s1) +.L80240530: +/* 995720 80240530 86230048 */ lh $v1, 0x48($s1) +/* 995724 80240534 24020001 */ addiu $v0, $zero, 1 +/* 995728 80240538 10620005 */ beq $v1, $v0, .L80240550 +/* 99572C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 995730 80240540 10620008 */ beq $v1, $v0, .L80240564 +/* 995734 80240544 00000000 */ nop +/* 995738 80240548 08090169 */ j .L802405A4 +/* 99573C 8024054C 00000000 */ nop +.L80240550: +/* 995740 80240550 C620002C */ lwc1 $f0, 0x2c($s1) +/* 995744 80240554 C62C0030 */ lwc1 $f12, 0x30($s1) +/* 995748 80240558 0C00A6C9 */ jal clamp_angle +/* 99574C 8024055C 460C0300 */ add.s $f12, $f0, $f12 +/* 995750 80240560 E620002C */ swc1 $f0, 0x2c($s1) +.L80240564: +/* 995754 80240564 8E220054 */ lw $v0, 0x54($s1) +/* 995758 80240568 C620002C */ lwc1 $f0, 0x2c($s1) +/* 99575C 8024056C 8C42000C */ lw $v0, 0xc($v0) +/* 995760 80240570 E4400024 */ swc1 $f0, 0x24($v0) +/* 995764 80240574 8E220054 */ lw $v0, 0x54($s1) +/* 995768 80240578 C6200018 */ lwc1 $f0, 0x18($s1) +/* 99576C 8024057C 8C42000C */ lw $v0, 0xc($v0) +/* 995770 80240580 E4400004 */ swc1 $f0, 4($v0) +/* 995774 80240584 8E220054 */ lw $v0, 0x54($s1) +/* 995778 80240588 C6200004 */ lwc1 $f0, 4($s1) +/* 99577C 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* 995780 80240590 E4400008 */ swc1 $f0, 8($v0) +/* 995784 80240594 8E220054 */ lw $v0, 0x54($s1) +/* 995788 80240598 C6200020 */ lwc1 $f0, 0x20($s1) +/* 99578C 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* 995790 802405A0 E440000C */ swc1 $f0, 0xc($v0) +.L802405A4: +/* 995794 802405A4 8FBF0020 */ lw $ra, 0x20($sp) +/* 995798 802405A8 8FB1001C */ lw $s1, 0x1c($sp) +/* 99579C 802405AC 8FB00018 */ lw $s0, 0x18($sp) +/* 9957A0 802405B0 0000102D */ daddu $v0, $zero, $zero +/* 9957A4 802405B4 03E00008 */ jr $ra +/* 9957A8 802405B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_802405BC_9951F0.s b/asm/nonmatchings/world/area_isk/isk_16/func_802405BC_9951F0.s new file mode 100644 index 0000000000..b74c344348 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_802405BC_9951F0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_9957AC +/* 9957AC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9957B0 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* 9957B4 802405C4 0080802D */ daddu $s0, $a0, $zero +/* 9957B8 802405C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 9957BC 802405CC 8E02000C */ lw $v0, 0xc($s0) +/* 9957C0 802405D0 0C0B1EAF */ jal get_variable +/* 9957C4 802405D4 8C450000 */ lw $a1, ($v0) +/* 9957C8 802405D8 8E030084 */ lw $v1, 0x84($s0) +/* 9957CC 802405DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9957D0 802405E0 8463004E */ lh $v1, 0x4e($v1) +/* 9957D4 802405E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9957D8 802405E8 00621826 */ xor $v1, $v1, $v0 +/* 9957DC 802405EC 2C630001 */ sltiu $v1, $v1, 1 +/* 9957E0 802405F0 00031040 */ sll $v0, $v1, 1 +/* 9957E4 802405F4 03E00008 */ jr $ra +/* 9957E8 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_802405FC.s b/asm/nonmatchings/world/area_isk/isk_16/func_802405FC.s new file mode 100644 index 0000000000..b7904f3326 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_802405FC.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC +/* 9957EC 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9957F0 80240600 AFB20020 */ sw $s2, 0x20($sp) +/* 9957F4 80240604 0080902D */ daddu $s2, $a0, $zero +/* 9957F8 80240608 AFBF0024 */ sw $ra, 0x24($sp) +/* 9957FC 8024060C AFB1001C */ sw $s1, 0x1c($sp) +/* 995800 80240610 AFB00018 */ sw $s0, 0x18($sp) +/* 995804 80240614 10A00035 */ beqz $a1, .L802406EC +/* 995808 80240618 8E51000C */ lw $s1, 0xc($s2) +/* 99580C 8024061C 0C00AB39 */ jal heap_malloc +/* 995810 80240620 24040058 */ addiu $a0, $zero, 0x58 +/* 995814 80240624 0040802D */ daddu $s0, $v0, $zero +/* 995818 80240628 AE500084 */ sw $s0, 0x84($s2) +/* 99581C 8024062C 8E250000 */ lw $a1, ($s1) +/* 995820 80240630 26310004 */ addiu $s1, $s1, 4 +/* 995824 80240634 0C0B1EAF */ jal get_variable +/* 995828 80240638 0240202D */ daddu $a0, $s2, $zero +/* 99582C 8024063C AE020038 */ sw $v0, 0x38($s0) +/* 995830 80240640 8E250000 */ lw $a1, ($s1) +/* 995834 80240644 26310004 */ addiu $s1, $s1, 4 +/* 995838 80240648 0C0B210B */ jal get_float_variable +/* 99583C 8024064C 0240202D */ daddu $a0, $s2, $zero +/* 995840 80240650 E6000018 */ swc1 $f0, 0x18($s0) +/* 995844 80240654 8E250000 */ lw $a1, ($s1) +/* 995848 80240658 26310004 */ addiu $s1, $s1, 4 +/* 99584C 8024065C 0C0B210B */ jal get_float_variable +/* 995850 80240660 0240202D */ daddu $a0, $s2, $zero +/* 995854 80240664 E6000024 */ swc1 $f0, 0x24($s0) +/* 995858 80240668 8E250000 */ lw $a1, ($s1) +/* 99585C 8024066C 26310004 */ addiu $s1, $s1, 4 +/* 995860 80240670 0C0B210B */ jal get_float_variable +/* 995864 80240674 0240202D */ daddu $a0, $s2, $zero +/* 995868 80240678 E6000020 */ swc1 $f0, 0x20($s0) +/* 99586C 8024067C 8E250000 */ lw $a1, ($s1) +/* 995870 80240680 0C0B210B */ jal get_float_variable +/* 995874 80240684 0240202D */ daddu $a0, $s2, $zero +/* 995878 80240688 3C013F80 */ lui $at, 0x3f80 +/* 99587C 8024068C 44811000 */ mtc1 $at, $f2 +/* 995880 80240690 E6000028 */ swc1 $f0, 0x28($s0) +/* 995884 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* 995888 80240698 E7A20010 */ swc1 $f2, 0x10($sp) +/* 99588C 8024069C 8E050018 */ lw $a1, 0x18($s0) +/* 995890 802406A0 8E060024 */ lw $a2, 0x24($s0) +/* 995894 802406A4 8E070020 */ lw $a3, 0x20($s0) +/* 995898 802406A8 0C01C9AC */ jal func_800726B0 +/* 99589C 802406AC 24040001 */ addiu $a0, $zero, 1 +/* 9958A0 802406B0 AE020054 */ sw $v0, 0x54($s0) +/* 9958A4 802406B4 8C43000C */ lw $v1, 0xc($v0) +/* 9958A8 802406B8 9202003B */ lbu $v0, 0x3b($s0) +/* 9958AC 802406BC A0620034 */ sb $v0, 0x34($v1) +/* 9958B0 802406C0 8E020054 */ lw $v0, 0x54($s0) +/* 9958B4 802406C4 8C42000C */ lw $v0, 0xc($v0) +/* 9958B8 802406C8 AC400020 */ sw $zero, 0x20($v0) +/* 9958BC 802406CC 8E050018 */ lw $a1, 0x18($s0) +/* 9958C0 802406D0 8E060028 */ lw $a2, 0x28($s0) +/* 9958C4 802406D4 8E070020 */ lw $a3, 0x20($s0) +/* 9958C8 802406D8 0C044898 */ jal create_shadow_type +/* 9958CC 802406DC 0000202D */ daddu $a0, $zero, $zero +/* 9958D0 802406E0 AE020040 */ sw $v0, 0x40($s0) +/* 9958D4 802406E4 2402010E */ addiu $v0, $zero, 0x10e +/* 9958D8 802406E8 A602004C */ sh $v0, 0x4c($s0) +.L802406EC: +/* 9958DC 802406EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 9958E0 802406F0 8FB20020 */ lw $s2, 0x20($sp) +/* 9958E4 802406F4 8FB1001C */ lw $s1, 0x1c($sp) +/* 9958E8 802406F8 8FB00018 */ lw $s0, 0x18($sp) +/* 9958EC 802406FC 24020002 */ addiu $v0, $zero, 2 +/* 9958F0 80240700 03E00008 */ jr $ra +/* 9958F4 80240704 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_80240708.s b/asm/nonmatchings/world/area_isk/isk_16/func_80240708.s new file mode 100644 index 0000000000..14aeab5a1a --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_80240708.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708 +/* 9958F8 80240708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9958FC 8024070C AFBF0014 */ sw $ra, 0x14($sp) +/* 995900 80240710 AFB00010 */ sw $s0, 0x10($sp) +/* 995904 80240714 8C900084 */ lw $s0, 0x84($a0) +/* 995908 80240718 8602004C */ lh $v0, 0x4c($s0) +/* 99590C 8024071C 44826000 */ mtc1 $v0, $f12 +/* 995910 80240720 00000000 */ nop +/* 995914 80240724 0C00A8BB */ jal sin_deg +/* 995918 80240728 46806320 */ cvt.s.w $f12, $f12 +/* 99591C 8024072C 3C013F80 */ lui $at, 0x3f80 +/* 995920 80240730 44811000 */ mtc1 $at, $f2 +/* 995924 80240734 00000000 */ nop +/* 995928 80240738 46020000 */ add.s $f0, $f0, $f2 +/* 99592C 8024073C 46000000 */ add.s $f0, $f0, $f0 +/* 995930 80240740 C6020024 */ lwc1 $f2, 0x24($s0) +/* 995934 80240744 8602004C */ lh $v0, 0x4c($s0) +/* 995938 80240748 46001080 */ add.s $f2, $f2, $f0 +/* 99593C 8024074C 24420008 */ addiu $v0, $v0, 8 +/* 995940 80240750 44826000 */ mtc1 $v0, $f12 +/* 995944 80240754 00000000 */ nop +/* 995948 80240758 46806320 */ cvt.s.w $f12, $f12 +/* 99594C 8024075C 0C00A6C9 */ jal clamp_angle +/* 995950 80240760 E6020004 */ swc1 $f2, 4($s0) +/* 995954 80240764 4600010D */ trunc.w.s $f4, $f0 +/* 995958 80240768 44022000 */ mfc1 $v0, $f4 +/* 99595C 8024076C 00000000 */ nop +/* 995960 80240770 A602004C */ sh $v0, 0x4c($s0) +/* 995964 80240774 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 995968 80240778 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 99596C 8024077C C44C0028 */ lwc1 $f12, 0x28($v0) +/* 995970 80240780 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 995974 80240784 8E060018 */ lw $a2, 0x18($s0) +/* 995978 80240788 0C00A7B5 */ jal dist2D +/* 99597C 8024078C 8E070020 */ lw $a3, 0x20($s0) +/* 995980 80240790 3C0141F0 */ lui $at, 0x41f0 +/* 995984 80240794 44811000 */ mtc1 $at, $f2 +/* 995988 80240798 00000000 */ nop +/* 99598C 8024079C 4602003E */ c.le.s $f0, $f2 +/* 995990 802407A0 00000000 */ nop +/* 995994 802407A4 45000002 */ bc1f .L802407B0 +/* 995998 802407A8 24020003 */ addiu $v0, $zero, 3 +/* 99599C 802407AC A602004E */ sh $v0, 0x4e($s0) +.L802407B0: +/* 9959A0 802407B0 8E020054 */ lw $v0, 0x54($s0) +/* 9959A4 802407B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9959A8 802407B8 8C42000C */ lw $v0, 0xc($v0) +/* 9959AC 802407BC E4400004 */ swc1 $f0, 4($v0) +/* 9959B0 802407C0 8E020054 */ lw $v0, 0x54($s0) +/* 9959B4 802407C4 C6000004 */ lwc1 $f0, 4($s0) +/* 9959B8 802407C8 8C42000C */ lw $v0, 0xc($v0) +/* 9959BC 802407CC E4400008 */ swc1 $f0, 8($v0) +/* 9959C0 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* 9959C4 802407D4 C6000020 */ lwc1 $f0, 0x20($s0) +/* 9959C8 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* 9959CC 802407DC E440000C */ swc1 $f0, 0xc($v0) +/* 9959D0 802407E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9959D4 802407E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9959D8 802407E8 0000102D */ daddu $v0, $zero, $zero +/* 9959DC 802407EC 03E00008 */ jr $ra +/* 9959E0 802407F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9959E4 802407F4 00000000 */ nop +/* 9959E8 802407F8 00000000 */ nop +/* 9959EC 802407FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_80240800_9951F0.s b/asm/nonmatchings/world/area_isk/isk_16/func_80240800_9951F0.s new file mode 100644 index 0000000000..a61f407176 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_80240800_9951F0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240800_9959F0 +/* 9959F0 80240800 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9959F4 80240804 AFB10014 */ sw $s1, 0x14($sp) +/* 9959F8 80240808 0080882D */ daddu $s1, $a0, $zero +/* 9959FC 8024080C AFBF001C */ sw $ra, 0x1c($sp) +/* 995A00 80240810 AFB20018 */ sw $s2, 0x18($sp) +/* 995A04 80240814 AFB00010 */ sw $s0, 0x10($sp) +/* 995A08 80240818 8E30000C */ lw $s0, 0xc($s1) +/* 995A0C 8024081C 8E050000 */ lw $a1, ($s0) +/* 995A10 80240820 0C0B1EAF */ jal get_variable +/* 995A14 80240824 26100004 */ addiu $s0, $s0, 4 +/* 995A18 80240828 8E050000 */ lw $a1, ($s0) +/* 995A1C 8024082C 26100004 */ addiu $s0, $s0, 4 +/* 995A20 80240830 0220202D */ daddu $a0, $s1, $zero +/* 995A24 80240834 0C0B1EAF */ jal get_variable +/* 995A28 80240838 0040902D */ daddu $s2, $v0, $zero +/* 995A2C 8024083C 0220202D */ daddu $a0, $s1, $zero +/* 995A30 80240840 8E050000 */ lw $a1, ($s0) +/* 995A34 80240844 0C0B1EAF */ jal get_variable +/* 995A38 80240848 0040802D */ daddu $s0, $v0, $zero +/* 995A3C 8024084C 0040882D */ daddu $s1, $v0, $zero +/* 995A40 80240850 2402FFFF */ addiu $v0, $zero, -1 +/* 995A44 80240854 16020005 */ bne $s0, $v0, .L8024086C +/* 995A48 80240858 24020001 */ addiu $v0, $zero, 1 +/* 995A4C 8024085C 0C04760B */ jal func_8011D82C +/* 995A50 80240860 0220202D */ daddu $a0, $s1, $zero +/* 995A54 80240864 08090243 */ j .L8024090C +/* 995A58 80240868 24020002 */ addiu $v0, $zero, 2 +.L8024086C: +/* 995A5C 8024086C 12420018 */ beq $s2, $v0, .L802408D0 +/* 995A60 80240870 2A420002 */ slti $v0, $s2, 2 +/* 995A64 80240874 10400005 */ beqz $v0, .L8024088C +/* 995A68 80240878 24020002 */ addiu $v0, $zero, 2 +/* 995A6C 8024087C 12400007 */ beqz $s2, .L8024089C +/* 995A70 80240880 3412FFFF */ ori $s2, $zero, 0xffff +/* 995A74 80240884 08090243 */ j .L8024090C +/* 995A78 80240888 00000000 */ nop +.L8024088C: +/* 995A7C 8024088C 1242001B */ beq $s2, $v0, .L802408FC +/* 995A80 80240890 24020002 */ addiu $v0, $zero, 2 +/* 995A84 80240894 08090243 */ j .L8024090C +/* 995A88 80240898 00000000 */ nop +.L8024089C: +/* 995A8C 8024089C 8E040000 */ lw $a0, ($s0) +/* 995A90 802408A0 1092001A */ beq $a0, $s2, .L8024090C +/* 995A94 802408A4 24020002 */ addiu $v0, $zero, 2 +/* 995A98 802408A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 995A9C 802408AC 26100004 */ addiu $s0, $s0, 4 +/* 995AA0 802408B0 0C046B4C */ jal get_model_from_list_index +/* 995AA4 802408B4 0040202D */ daddu $a0, $v0, $zero +/* 995AA8 802408B8 0040202D */ daddu $a0, $v0, $zero +/* 995AAC 802408BC 2405FFFF */ addiu $a1, $zero, -1 +/* 995AB0 802408C0 0C046F1F */ jal func_8011BC7C +/* 995AB4 802408C4 0220302D */ daddu $a2, $s1, $zero +/* 995AB8 802408C8 08090227 */ j .L8024089C +/* 995ABC 802408CC 00000000 */ nop +.L802408D0: +/* 995AC0 802408D0 3412FFFF */ ori $s2, $zero, 0xffff +.L802408D4: +/* 995AC4 802408D4 8E020000 */ lw $v0, ($s0) +/* 995AC8 802408D8 1052000B */ beq $v0, $s2, .L80240908 +/* 995ACC 802408DC 2405FFFF */ addiu $a1, $zero, -1 +/* 995AD0 802408E0 96040002 */ lhu $a0, 2($s0) +/* 995AD4 802408E4 0220302D */ daddu $a2, $s1, $zero +/* 995AD8 802408E8 26100004 */ addiu $s0, $s0, 4 +/* 995ADC 802408EC 0C046E54 */ jal func_8011B950 +/* 995AE0 802408F0 0000382D */ daddu $a3, $zero, $zero +/* 995AE4 802408F4 08090235 */ j .L802408D4 +/* 995AE8 802408F8 00000000 */ nop +.L802408FC: +/* 995AEC 802408FC 3C028015 */ lui $v0, 0x8015 +/* 995AF0 80240900 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 995AF4 80240904 A0510000 */ sb $s1, ($v0) +.L80240908: +/* 995AF8 80240908 24020002 */ addiu $v0, $zero, 2 +.L8024090C: +/* 995AFC 8024090C 8FBF001C */ lw $ra, 0x1c($sp) +/* 995B00 80240910 8FB20018 */ lw $s2, 0x18($sp) +/* 995B04 80240914 8FB10014 */ lw $s1, 0x14($sp) +/* 995B08 80240918 8FB00010 */ lw $s0, 0x10($sp) +/* 995B0C 8024091C 03E00008 */ jr $ra +/* 995B10 80240920 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_16/func_80240924.s b/asm/nonmatchings/world/area_isk/isk_16/func_80240924.s new file mode 100644 index 0000000000..12b9e4dbb5 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_16/func_80240924.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240924 +/* 995B14 80240924 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 995B18 80240928 AFB10034 */ sw $s1, 0x34($sp) +/* 995B1C 8024092C 0080882D */ daddu $s1, $a0, $zero +/* 995B20 80240930 AFBF0054 */ sw $ra, 0x54($sp) +/* 995B24 80240934 AFBE0050 */ sw $fp, 0x50($sp) +/* 995B28 80240938 AFB7004C */ sw $s7, 0x4c($sp) +/* 995B2C 8024093C AFB60048 */ sw $s6, 0x48($sp) +/* 995B30 80240940 AFB50044 */ sw $s5, 0x44($sp) +/* 995B34 80240944 AFB40040 */ sw $s4, 0x40($sp) +/* 995B38 80240948 AFB3003C */ sw $s3, 0x3c($sp) +/* 995B3C 8024094C AFB20038 */ sw $s2, 0x38($sp) +/* 995B40 80240950 AFB00030 */ sw $s0, 0x30($sp) +/* 995B44 80240954 8E30000C */ lw $s0, 0xc($s1) +/* 995B48 80240958 8E050000 */ lw $a1, ($s0) +/* 995B4C 8024095C 0C0B1EAF */ jal get_variable +/* 995B50 80240960 26100004 */ addiu $s0, $s0, 4 +/* 995B54 80240964 8E050000 */ lw $a1, ($s0) +/* 995B58 80240968 26100004 */ addiu $s0, $s0, 4 +/* 995B5C 8024096C 0220202D */ daddu $a0, $s1, $zero +/* 995B60 80240970 0C0B1EAF */ jal get_variable +/* 995B64 80240974 0040982D */ daddu $s3, $v0, $zero +/* 995B68 80240978 8E050000 */ lw $a1, ($s0) +/* 995B6C 8024097C 26100004 */ addiu $s0, $s0, 4 +/* 995B70 80240980 0220202D */ daddu $a0, $s1, $zero +/* 995B74 80240984 0C0B1EAF */ jal get_variable +/* 995B78 80240988 0040B02D */ daddu $s6, $v0, $zero +/* 995B7C 8024098C 8E050000 */ lw $a1, ($s0) +/* 995B80 80240990 26100004 */ addiu $s0, $s0, 4 +/* 995B84 80240994 0220202D */ daddu $a0, $s1, $zero +/* 995B88 80240998 0C0B1EAF */ jal get_variable +/* 995B8C 8024099C 0040A82D */ daddu $s5, $v0, $zero +/* 995B90 802409A0 8E050000 */ lw $a1, ($s0) +/* 995B94 802409A4 26100004 */ addiu $s0, $s0, 4 +/* 995B98 802409A8 0220202D */ daddu $a0, $s1, $zero +/* 995B9C 802409AC 0C0B1EAF */ jal get_variable +/* 995BA0 802409B0 0040A02D */ daddu $s4, $v0, $zero +/* 995BA4 802409B4 8E050000 */ lw $a1, ($s0) +/* 995BA8 802409B8 26100004 */ addiu $s0, $s0, 4 +/* 995BAC 802409BC 0220202D */ daddu $a0, $s1, $zero +/* 995BB0 802409C0 0C0B1EAF */ jal get_variable +/* 995BB4 802409C4 0040902D */ daddu $s2, $v0, $zero +/* 995BB8 802409C8 8E050000 */ lw $a1, ($s0) +/* 995BBC 802409CC 26100004 */ addiu $s0, $s0, 4 +/* 995BC0 802409D0 0220202D */ daddu $a0, $s1, $zero +/* 995BC4 802409D4 0C0B1EAF */ jal get_variable +/* 995BC8 802409D8 AFA20028 */ sw $v0, 0x28($sp) +/* 995BCC 802409DC 8E050000 */ lw $a1, ($s0) +/* 995BD0 802409E0 26100004 */ addiu $s0, $s0, 4 +/* 995BD4 802409E4 0220202D */ daddu $a0, $s1, $zero +/* 995BD8 802409E8 0C0B1EAF */ jal get_variable +/* 995BDC 802409EC 0040F02D */ daddu $fp, $v0, $zero +/* 995BE0 802409F0 8E050000 */ lw $a1, ($s0) +/* 995BE4 802409F4 26100004 */ addiu $s0, $s0, 4 +/* 995BE8 802409F8 0220202D */ daddu $a0, $s1, $zero +/* 995BEC 802409FC 0C0B1EAF */ jal get_variable +/* 995BF0 80240A00 0040B82D */ daddu $s7, $v0, $zero +/* 995BF4 80240A04 0220202D */ daddu $a0, $s1, $zero +/* 995BF8 80240A08 8E050000 */ lw $a1, ($s0) +/* 995BFC 80240A0C 0C0B1EAF */ jal get_variable +/* 995C00 80240A10 0040802D */ daddu $s0, $v0, $zero +/* 995C04 80240A14 0040182D */ daddu $v1, $v0, $zero +/* 995C08 80240A18 24020002 */ addiu $v0, $zero, 2 +/* 995C0C 80240A1C 12620012 */ beq $s3, $v0, .L80240A68 +/* 995C10 80240A20 2A620003 */ slti $v0, $s3, 3 +/* 995C14 80240A24 10400005 */ beqz $v0, .L80240A3C +/* 995C18 80240A28 24020001 */ addiu $v0, $zero, 1 +/* 995C1C 80240A2C 12620008 */ beq $s3, $v0, .L80240A50 +/* 995C20 80240A30 32C400FF */ andi $a0, $s6, 0xff +/* 995C24 80240A34 080902B1 */ j .L80240AC4 +/* 995C28 80240A38 00000000 */ nop +.L80240A3C: +/* 995C2C 80240A3C 24020003 */ addiu $v0, $zero, 3 +/* 995C30 80240A40 12620018 */ beq $s3, $v0, .L80240AA4 +/* 995C34 80240A44 32C400FF */ andi $a0, $s6, 0xff +/* 995C38 80240A48 080902B1 */ j .L80240AC4 +/* 995C3C 80240A4C 00000000 */ nop +.L80240A50: +/* 995C40 80240A50 32A500FF */ andi $a1, $s5, 0xff +/* 995C44 80240A54 328600FF */ andi $a2, $s4, 0xff +/* 995C48 80240A58 0C046F97 */ jal set_background_color_blend +/* 995C4C 80240A5C 324700FF */ andi $a3, $s2, 0xff +/* 995C50 80240A60 080902B1 */ j .L80240AC4 +/* 995C54 80240A64 00000000 */ nop +.L80240A68: +/* 995C58 80240A68 32C400FF */ andi $a0, $s6, 0xff +/* 995C5C 80240A6C 32A500FF */ andi $a1, $s5, 0xff +/* 995C60 80240A70 328600FF */ andi $a2, $s4, 0xff +/* 995C64 80240A74 324700FF */ andi $a3, $s2, 0xff +/* 995C68 80240A78 93A2002B */ lbu $v0, 0x2b($sp) +/* 995C6C 80240A7C AFB0001C */ sw $s0, 0x1c($sp) +/* 995C70 80240A80 AFA30020 */ sw $v1, 0x20($sp) +/* 995C74 80240A84 AFA20010 */ sw $v0, 0x10($sp) +/* 995C78 80240A88 33C200FF */ andi $v0, $fp, 0xff +/* 995C7C 80240A8C AFA20014 */ sw $v0, 0x14($sp) +/* 995C80 80240A90 32E200FF */ andi $v0, $s7, 0xff +/* 995C84 80240A94 0C046FAD */ jal func_8011BEB4 +/* 995C88 80240A98 AFA20018 */ sw $v0, 0x18($sp) +/* 995C8C 80240A9C 080902B1 */ j .L80240AC4 +/* 995C90 80240AA0 00000000 */ nop +.L80240AA4: +/* 995C94 80240AA4 32A500FF */ andi $a1, $s5, 0xff +/* 995C98 80240AA8 328600FF */ andi $a2, $s4, 0xff +/* 995C9C 80240AAC 324700FF */ andi $a3, $s2, 0xff +/* 995CA0 80240AB0 93A2002B */ lbu $v0, 0x2b($sp) +/* 995CA4 80240AB4 AFA20010 */ sw $v0, 0x10($sp) +/* 995CA8 80240AB8 33C200FF */ andi $v0, $fp, 0xff +/* 995CAC 80240ABC 0C046FE6 */ jal func_8011BF98 +/* 995CB0 80240AC0 AFA20014 */ sw $v0, 0x14($sp) +.L80240AC4: +/* 995CB4 80240AC4 8FBF0054 */ lw $ra, 0x54($sp) +/* 995CB8 80240AC8 8FBE0050 */ lw $fp, 0x50($sp) +/* 995CBC 80240ACC 8FB7004C */ lw $s7, 0x4c($sp) +/* 995CC0 80240AD0 8FB60048 */ lw $s6, 0x48($sp) +/* 995CC4 80240AD4 8FB50044 */ lw $s5, 0x44($sp) +/* 995CC8 80240AD8 8FB40040 */ lw $s4, 0x40($sp) +/* 995CCC 80240ADC 8FB3003C */ lw $s3, 0x3c($sp) +/* 995CD0 80240AE0 8FB20038 */ lw $s2, 0x38($sp) +/* 995CD4 80240AE4 8FB10034 */ lw $s1, 0x34($sp) +/* 995CD8 80240AE8 8FB00030 */ lw $s0, 0x30($sp) +/* 995CDC 80240AEC 24020002 */ addiu $v0, $zero, 2 +/* 995CE0 80240AF0 03E00008 */ jr $ra +/* 995CE4 80240AF4 27BD0058 */ addiu $sp, $sp, 0x58 +/* 995CE8 80240AF8 00000000 */ nop +/* 995CEC 80240AFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_80240000_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_80240000_997F70.s new file mode 100644 index 0000000000..fed1a7364f --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_80240000_997F70.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_997F70 +/* 997F70 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 997F74 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* 997F78 80240008 0080902D */ daddu $s2, $a0, $zero +/* 997F7C 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 997F80 80240010 AFB10014 */ sw $s1, 0x14($sp) +/* 997F84 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* 997F88 80240018 8E510148 */ lw $s1, 0x148($s2) +/* 997F8C 8024001C 0C00EABB */ jal get_npc_unsafe +/* 997F90 80240020 86240008 */ lh $a0, 8($s1) +/* 997F94 80240024 0040802D */ daddu $s0, $v0, $zero +/* 997F98 80240028 8E2300CC */ lw $v1, 0xcc($s1) +/* 997F9C 8024002C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 997FA0 80240030 8C630020 */ lw $v1, 0x20($v1) +/* 997FA4 80240034 AE030028 */ sw $v1, 0x28($s0) +/* 997FA8 80240038 96220076 */ lhu $v0, 0x76($s1) +/* 997FAC 8024003C A602008E */ sh $v0, 0x8e($s0) +/* 997FB0 80240040 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 997FB4 80240044 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 997FB8 80240048 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 997FBC 8024004C 8C460028 */ lw $a2, 0x28($v0) +/* 997FC0 80240050 0C00A720 */ jal atan2 +/* 997FC4 80240054 8C470030 */ lw $a3, 0x30($v0) +/* 997FC8 80240058 2402000D */ addiu $v0, $zero, 0xd +/* 997FCC 8024005C E600000C */ swc1 $f0, 0xc($s0) +/* 997FD0 80240060 AE420070 */ sw $v0, 0x70($s2) +/* 997FD4 80240064 8FBF001C */ lw $ra, 0x1c($sp) +/* 997FD8 80240068 8FB20018 */ lw $s2, 0x18($sp) +/* 997FDC 8024006C 8FB10014 */ lw $s1, 0x14($sp) +/* 997FE0 80240070 8FB00010 */ lw $s0, 0x10($sp) +/* 997FE4 80240074 03E00008 */ jr $ra +/* 997FE8 80240078 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_8024007C_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_8024007C_997F70.s new file mode 100644 index 0000000000..d37479a8b7 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_8024007C_997F70.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024007C_997FEC +/* 997FEC 8024007C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 997FF0 80240080 AFB3001C */ sw $s3, 0x1c($sp) +/* 997FF4 80240084 0080982D */ daddu $s3, $a0, $zero +/* 997FF8 80240088 AFBF0020 */ sw $ra, 0x20($sp) +/* 997FFC 8024008C AFB20018 */ sw $s2, 0x18($sp) +/* 998000 80240090 AFB10014 */ sw $s1, 0x14($sp) +/* 998004 80240094 AFB00010 */ sw $s0, 0x10($sp) +/* 998008 80240098 8E710148 */ lw $s1, 0x148($s3) +/* 99800C 8024009C 86240008 */ lh $a0, 8($s1) +/* 998010 802400A0 0C00EABB */ jal get_npc_unsafe +/* 998014 802400A4 00A0902D */ daddu $s2, $a1, $zero +/* 998018 802400A8 0040802D */ daddu $s0, $v0, $zero +/* 99801C 802400AC 8602008E */ lh $v0, 0x8e($s0) +/* 998020 802400B0 9603008E */ lhu $v1, 0x8e($s0) +/* 998024 802400B4 18400005 */ blez $v0, .L802400CC +/* 998028 802400B8 2462FFFF */ addiu $v0, $v1, -1 +/* 99802C 802400BC A602008E */ sh $v0, 0x8e($s0) +/* 998030 802400C0 00021400 */ sll $v0, $v0, 0x10 +/* 998034 802400C4 1C400033 */ bgtz $v0, .L80240194 +/* 998038 802400C8 00000000 */ nop +.L802400CC: +/* 99803C 802400CC 8602008C */ lh $v0, 0x8c($s0) +/* 998040 802400D0 14400030 */ bnez $v0, .L80240194 +/* 998044 802400D4 00000000 */ nop +/* 998048 802400D8 8E2200CC */ lw $v0, 0xcc($s1) +/* 99804C 802400DC 8C420024 */ lw $v0, 0x24($v0) +/* 998050 802400E0 AE020028 */ sw $v0, 0x28($s0) +/* 998054 802400E4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 998058 802400E8 E6000018 */ swc1 $f0, 0x18($s0) +/* 99805C 802400EC 8E230088 */ lw $v1, 0x88($s1) +/* 998060 802400F0 24020005 */ addiu $v0, $zero, 5 +/* 998064 802400F4 10620005 */ beq $v1, $v0, .L8024010C +/* 998068 802400F8 00000000 */ nop +/* 99806C 802400FC 10600003 */ beqz $v1, .L8024010C +/* 998070 80240100 24020001 */ addiu $v0, $zero, 1 +/* 998074 80240104 14620006 */ bne $v1, $v0, .L80240120 +/* 998078 80240108 00000000 */ nop +.L8024010C: +/* 99807C 8024010C 8E220084 */ lw $v0, 0x84($s1) +/* 998080 80240110 00021FC2 */ srl $v1, $v0, 0x1f +/* 998084 80240114 00431021 */ addu $v0, $v0, $v1 +/* 998088 80240118 00021043 */ sra $v0, $v0, 1 +/* 99808C 8024011C A60200A8 */ sh $v0, 0xa8($s0) +.L80240120: +/* 998090 80240120 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 998094 80240124 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 998098 80240128 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99809C 8024012C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9980A0 80240130 8C460028 */ lw $a2, 0x28($v0) +/* 9980A4 80240134 0C00A7B5 */ jal dist2D +/* 9980A8 80240138 8C470030 */ lw $a3, 0x30($v0) +/* 9980AC 8024013C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9980B0 80240140 46020003 */ div.s $f0, $f0, $f2 +/* 9980B4 80240144 3C018024 */ lui $at, 0x8024 +/* 9980B8 80240148 D4221770 */ ldc1 $f2, 0x1770($at) +/* 9980BC 8024014C 46000021 */ cvt.d.s $f0, $f0 +/* 9980C0 80240150 46220000 */ add.d $f0, $f0, $f2 +/* 9980C4 80240154 4620010D */ trunc.w.d $f4, $f0 +/* 9980C8 80240158 44022000 */ mfc1 $v0, $f4 +/* 9980CC 8024015C 00000000 */ nop +/* 9980D0 80240160 A602008E */ sh $v0, 0x8e($s0) +/* 9980D4 80240164 00021400 */ sll $v0, $v0, 0x10 +/* 9980D8 80240168 8E230078 */ lw $v1, 0x78($s1) +/* 9980DC 8024016C 00021403 */ sra $v0, $v0, 0x10 +/* 9980E0 80240170 0043102A */ slt $v0, $v0, $v1 +/* 9980E4 80240174 10400003 */ beqz $v0, .L80240184 +/* 9980E8 80240178 00000000 */ nop +/* 9980EC 8024017C 9622007A */ lhu $v0, 0x7a($s1) +/* 9980F0 80240180 A602008E */ sh $v0, 0x8e($s0) +.L80240184: +/* 9980F4 80240184 8602008E */ lh $v0, 0x8e($s0) +/* 9980F8 80240188 AE22007C */ sw $v0, 0x7c($s1) +/* 9980FC 8024018C 2402000E */ addiu $v0, $zero, 0xe +/* 998100 80240190 AE620070 */ sw $v0, 0x70($s3) +.L80240194: +/* 998104 80240194 8FBF0020 */ lw $ra, 0x20($sp) +/* 998108 80240198 8FB3001C */ lw $s3, 0x1c($sp) +/* 99810C 8024019C 8FB20018 */ lw $s2, 0x18($sp) +/* 998110 802401A0 8FB10014 */ lw $s1, 0x14($sp) +/* 998114 802401A4 8FB00010 */ lw $s0, 0x10($sp) +/* 998118 802401A8 03E00008 */ jr $ra +/* 99811C 802401AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_802401B0_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_802401B0_997F70.s new file mode 100644 index 0000000000..a1a1432340 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_802401B0_997F70.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_998120 +/* 998120 802401B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 998124 802401B4 AFB3003C */ sw $s3, 0x3c($sp) +/* 998128 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 99812C 802401BC AFBF0040 */ sw $ra, 0x40($sp) +/* 998130 802401C0 AFB20038 */ sw $s2, 0x38($sp) +/* 998134 802401C4 AFB10034 */ sw $s1, 0x34($sp) +/* 998138 802401C8 AFB00030 */ sw $s0, 0x30($sp) +/* 99813C 802401CC 8E710148 */ lw $s1, 0x148($s3) +/* 998140 802401D0 0C00EABB */ jal get_npc_unsafe +/* 998144 802401D4 86240008 */ lh $a0, 8($s1) +/* 998148 802401D8 0040802D */ daddu $s0, $v0, $zero +/* 99814C 802401DC 8E22007C */ lw $v0, 0x7c($s1) +/* 998150 802401E0 8603008E */ lh $v1, 0x8e($s0) +/* 998154 802401E4 2442FFFF */ addiu $v0, $v0, -1 +/* 998158 802401E8 14620012 */ bne $v1, $v0, .L80240234 +/* 99815C 802401EC 00000000 */ nop +/* 998160 802401F0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 998164 802401F4 4600020D */ trunc.w.s $f8, $f0 +/* 998168 802401F8 44024000 */ mfc1 $v0, $f8 +/* 99816C 802401FC 00000000 */ nop +/* 998170 80240200 A6220010 */ sh $v0, 0x10($s1) +/* 998174 80240204 C600003C */ lwc1 $f0, 0x3c($s0) +/* 998178 80240208 4600020D */ trunc.w.s $f8, $f0 +/* 99817C 8024020C 44024000 */ mfc1 $v0, $f8 +/* 998180 80240210 00000000 */ nop +/* 998184 80240214 A6220012 */ sh $v0, 0x12($s1) +/* 998188 80240218 C6000040 */ lwc1 $f0, 0x40($s0) +/* 99818C 8024021C 24020001 */ addiu $v0, $zero, 1 +/* 998190 80240220 A2220007 */ sb $v0, 7($s1) +/* 998194 80240224 4600020D */ trunc.w.s $f8, $f0 +/* 998198 80240228 44024000 */ mfc1 $v0, $f8 +/* 99819C 8024022C 00000000 */ nop +/* 9981A0 80240230 A6220014 */ sh $v0, 0x14($s1) +.L80240234: +/* 9981A4 80240234 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9981A8 80240238 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9981AC 8024023C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9981B0 80240240 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9981B4 80240244 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9981B8 80240248 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9981BC 8024024C E7A40028 */ swc1 $f4, 0x28($sp) +/* 9981C0 80240250 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9981C4 80240254 C600000C */ lwc1 $f0, 0xc($s0) +/* 9981C8 80240258 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9981CC 8024025C 860200A8 */ lh $v0, 0xa8($s0) +/* 9981D0 80240260 27A50020 */ addiu $a1, $sp, 0x20 +/* 9981D4 80240264 44820000 */ mtc1 $v0, $f0 +/* 9981D8 80240268 00000000 */ nop +/* 9981DC 8024026C 46800020 */ cvt.s.w $f0, $f0 +/* 9981E0 80240270 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9981E4 80240274 860200A6 */ lh $v0, 0xa6($s0) +/* 9981E8 80240278 27A60024 */ addiu $a2, $sp, 0x24 +/* 9981EC 8024027C 44820000 */ mtc1 $v0, $f0 +/* 9981F0 80240280 00000000 */ nop +/* 9981F4 80240284 46800020 */ cvt.s.w $f0, $f0 +/* 9981F8 80240288 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9981FC 8024028C 8E040080 */ lw $a0, 0x80($s0) +/* 998200 80240290 0C037711 */ jal func_800DDC44 +/* 998204 80240294 27A70028 */ addiu $a3, $sp, 0x28 +/* 998208 80240298 0040902D */ daddu $s2, $v0, $zero +/* 99820C 8024029C 16400005 */ bnez $s2, .L802402B4 +/* 998210 802402A0 00000000 */ nop +/* 998214 802402A4 8E050018 */ lw $a1, 0x18($s0) +/* 998218 802402A8 8E06000C */ lw $a2, 0xc($s0) +/* 99821C 802402AC 0C00EA95 */ jal npc_move_heading +/* 998220 802402B0 0200202D */ daddu $a0, $s0, $zero +.L802402B4: +/* 998224 802402B4 8602008E */ lh $v0, 0x8e($s0) +/* 998228 802402B8 9603008E */ lhu $v1, 0x8e($s0) +/* 99822C 802402BC 18400007 */ blez $v0, .L802402DC +/* 998230 802402C0 2462FFFF */ addiu $v0, $v1, -1 +/* 998234 802402C4 A602008E */ sh $v0, 0x8e($s0) +/* 998238 802402C8 00021400 */ sll $v0, $v0, 0x10 +/* 99823C 802402CC 18400003 */ blez $v0, .L802402DC +/* 998240 802402D0 00000000 */ nop +/* 998244 802402D4 12400008 */ beqz $s2, .L802402F8 +/* 998248 802402D8 00000000 */ nop +.L802402DC: +/* 99824C 802402DC 8E2200CC */ lw $v0, 0xcc($s1) +/* 998250 802402E0 A2200007 */ sb $zero, 7($s1) +/* 998254 802402E4 8C420028 */ lw $v0, 0x28($v0) +/* 998258 802402E8 A600008E */ sh $zero, 0x8e($s0) +/* 99825C 802402EC AE020028 */ sw $v0, 0x28($s0) +/* 998260 802402F0 2402000F */ addiu $v0, $zero, 0xf +/* 998264 802402F4 AE620070 */ sw $v0, 0x70($s3) +.L802402F8: +/* 998268 802402F8 8FBF0040 */ lw $ra, 0x40($sp) +/* 99826C 802402FC 8FB3003C */ lw $s3, 0x3c($sp) +/* 998270 80240300 8FB20038 */ lw $s2, 0x38($sp) +/* 998274 80240304 8FB10034 */ lw $s1, 0x34($sp) +/* 998278 80240308 8FB00030 */ lw $s0, 0x30($sp) +/* 99827C 8024030C 03E00008 */ jr $ra +/* 998280 80240310 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_80240314_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_80240314_997F70.s new file mode 100644 index 0000000000..86b358d17c --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_80240314_997F70.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314_998284 +/* 998284 80240314 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 998288 80240318 AFB10014 */ sw $s1, 0x14($sp) +/* 99828C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* 998290 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* 998294 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* 998298 80240328 8E300148 */ lw $s0, 0x148($s1) +/* 99829C 8024032C 0C00EABB */ jal get_npc_unsafe +/* 9982A0 80240330 86040008 */ lh $a0, 8($s0) +/* 9982A4 80240334 0040202D */ daddu $a0, $v0, $zero +/* 9982A8 80240338 9482008E */ lhu $v0, 0x8e($a0) +/* 9982AC 8024033C 24030003 */ addiu $v1, $zero, 3 +/* 9982B0 80240340 24420001 */ addiu $v0, $v0, 1 +/* 9982B4 80240344 A482008E */ sh $v0, 0x8e($a0) +/* 9982B8 80240348 00021400 */ sll $v0, $v0, 0x10 +/* 9982BC 8024034C 00021403 */ sra $v0, $v0, 0x10 +/* 9982C0 80240350 14430003 */ bne $v0, $v1, .L80240360 +/* 9982C4 80240354 00000000 */ nop +/* 9982C8 80240358 96020086 */ lhu $v0, 0x86($s0) +/* 9982CC 8024035C A48200A8 */ sh $v0, 0xa8($a0) +.L80240360: +/* 9982D0 80240360 8482008E */ lh $v0, 0x8e($a0) +/* 9982D4 80240364 8E030080 */ lw $v1, 0x80($s0) +/* 9982D8 80240368 0043102A */ slt $v0, $v0, $v1 +/* 9982DC 8024036C 14400004 */ bnez $v0, .L80240380 +/* 9982E0 80240370 00000000 */ nop +/* 9982E4 80240374 96020086 */ lhu $v0, 0x86($s0) +/* 9982E8 80240378 A48200A8 */ sh $v0, 0xa8($a0) +/* 9982EC 8024037C AE200070 */ sw $zero, 0x70($s1) +.L80240380: +/* 9982F0 80240380 8FBF0018 */ lw $ra, 0x18($sp) +/* 9982F4 80240384 8FB10014 */ lw $s1, 0x14($sp) +/* 9982F8 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* 9982FC 8024038C 03E00008 */ jr $ra +/* 998300 80240390 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_80240394_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_80240394_997F70.s new file mode 100644 index 0000000000..f4eb722b2e --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_80240394_997F70.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_998304 +/* 998304 80240394 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 998308 80240398 AFB3005C */ sw $s3, 0x5c($sp) +/* 99830C 8024039C 0080982D */ daddu $s3, $a0, $zero +/* 998310 802403A0 AFBF0068 */ sw $ra, 0x68($sp) +/* 998314 802403A4 AFB50064 */ sw $s5, 0x64($sp) +/* 998318 802403A8 AFB40060 */ sw $s4, 0x60($sp) +/* 99831C 802403AC AFB20058 */ sw $s2, 0x58($sp) +/* 998320 802403B0 AFB10054 */ sw $s1, 0x54($sp) +/* 998324 802403B4 AFB00050 */ sw $s0, 0x50($sp) +/* 998328 802403B8 8E710148 */ lw $s1, 0x148($s3) +/* 99832C 802403BC 86240008 */ lh $a0, 8($s1) +/* 998330 802403C0 0C00EABB */ jal get_npc_unsafe +/* 998334 802403C4 00A0802D */ daddu $s0, $a1, $zero +/* 998338 802403C8 8E63000C */ lw $v1, 0xc($s3) +/* 99833C 802403CC 0260202D */ daddu $a0, $s3, $zero +/* 998340 802403D0 8C650000 */ lw $a1, ($v1) +/* 998344 802403D4 0C0B1EAF */ jal get_variable +/* 998348 802403D8 0040902D */ daddu $s2, $v0, $zero +/* 99834C 802403DC AFA00028 */ sw $zero, 0x28($sp) +/* 998350 802403E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 998354 802403E4 8C630030 */ lw $v1, 0x30($v1) +/* 998358 802403E8 AFA3002C */ sw $v1, 0x2c($sp) +/* 99835C 802403EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 998360 802403F0 8C63001C */ lw $v1, 0x1c($v1) +/* 998364 802403F4 AFA30030 */ sw $v1, 0x30($sp) +/* 998368 802403F8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99836C 802403FC 8C630024 */ lw $v1, 0x24($v1) +/* 998370 80240400 AFA30034 */ sw $v1, 0x34($sp) +/* 998374 80240404 8E2300D0 */ lw $v1, 0xd0($s1) +/* 998378 80240408 8C630028 */ lw $v1, 0x28($v1) +/* 99837C 8024040C 27B50028 */ addiu $s5, $sp, 0x28 +/* 998380 80240410 AFA30038 */ sw $v1, 0x38($sp) +/* 998384 80240414 8E2300D0 */ lw $v1, 0xd0($s1) +/* 998388 80240418 3C0142C8 */ lui $at, 0x42c8 +/* 99838C 8024041C 44810000 */ mtc1 $at, $f0 +/* 998390 80240420 8C63002C */ lw $v1, 0x2c($v1) +/* 998394 80240424 0040A02D */ daddu $s4, $v0, $zero +/* 998398 80240428 E7A00040 */ swc1 $f0, 0x40($sp) +/* 99839C 8024042C A7A00044 */ sh $zero, 0x44($sp) +/* 9983A0 80240430 12000009 */ beqz $s0, .L80240458 +/* 9983A4 80240434 AFA3003C */ sw $v1, 0x3c($sp) +/* 9983A8 80240438 864300A8 */ lh $v1, 0xa8($s2) +/* 9983AC 8024043C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9983B0 80240440 AE20008C */ sw $zero, 0x8c($s1) +/* 9983B4 80240444 A22000B5 */ sb $zero, 0xb5($s1) +/* 9983B8 80240448 34420008 */ ori $v0, $v0, 8 +/* 9983BC 8024044C AE230084 */ sw $v1, 0x84($s1) +/* 9983C0 80240450 0809011A */ j .L80240468 +/* 9983C4 80240454 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240458: +/* 9983C8 80240458 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9983CC 8024045C 30420004 */ andi $v0, $v0, 4 +/* 9983D0 80240460 10400047 */ beqz $v0, .L80240580 +/* 9983D4 80240464 00000000 */ nop +.L80240468: +/* 9983D8 80240468 AE600070 */ sw $zero, 0x70($s3) +/* 9983DC 8024046C A640008E */ sh $zero, 0x8e($s2) +/* 9983E0 80240470 8E2300CC */ lw $v1, 0xcc($s1) +/* 9983E4 80240474 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9983E8 80240478 A2200007 */ sb $zero, 7($s1) +/* 9983EC 8024047C 8E420000 */ lw $v0, ($s2) +/* 9983F0 80240480 8C630000 */ lw $v1, ($v1) +/* 9983F4 80240484 00441024 */ and $v0, $v0, $a0 +/* 9983F8 80240488 AE420000 */ sw $v0, ($s2) +/* 9983FC 8024048C AE430028 */ sw $v1, 0x28($s2) +/* 998400 80240490 96220086 */ lhu $v0, 0x86($s1) +/* 998404 80240494 A64200A8 */ sh $v0, 0xa8($s2) +/* 998408 80240498 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99840C 8024049C AE200090 */ sw $zero, 0x90($s1) +/* 998410 802404A0 8C420034 */ lw $v0, 0x34($v0) +/* 998414 802404A4 14400006 */ bnez $v0, .L802404C0 +/* 998418 802404A8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 99841C 802404AC 8E420000 */ lw $v0, ($s2) +/* 998420 802404B0 2403FFF7 */ addiu $v1, $zero, -9 +/* 998424 802404B4 34420200 */ ori $v0, $v0, 0x200 +/* 998428 802404B8 08090133 */ j .L802404CC +/* 99842C 802404BC 00431024 */ and $v0, $v0, $v1 +.L802404C0: +/* 998430 802404C0 8E420000 */ lw $v0, ($s2) +/* 998434 802404C4 00431024 */ and $v0, $v0, $v1 +/* 998438 802404C8 34420008 */ ori $v0, $v0, 8 +.L802404CC: +/* 99843C 802404CC AE420000 */ sw $v0, ($s2) +/* 998440 802404D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 998444 802404D4 30420004 */ andi $v0, $v0, 4 +/* 998448 802404D8 1040001E */ beqz $v0, .L80240554 +/* 99844C 802404DC 24040002 */ addiu $a0, $zero, 2 +/* 998450 802404E0 0240282D */ daddu $a1, $s2, $zero +/* 998454 802404E4 0000302D */ daddu $a2, $zero, $zero +/* 998458 802404E8 24020063 */ addiu $v0, $zero, 0x63 +/* 99845C 802404EC AE620070 */ sw $v0, 0x70($s3) +/* 998460 802404F0 AE600074 */ sw $zero, 0x74($s3) +/* 998464 802404F4 864300A8 */ lh $v1, 0xa8($s2) +/* 998468 802404F8 3C013F80 */ lui $at, 0x3f80 +/* 99846C 802404FC 44810000 */ mtc1 $at, $f0 +/* 998470 80240500 3C014000 */ lui $at, 0x4000 +/* 998474 80240504 44811000 */ mtc1 $at, $f2 +/* 998478 80240508 3C01C1A0 */ lui $at, 0xc1a0 +/* 99847C 8024050C 44812000 */ mtc1 $at, $f4 +/* 998480 80240510 24020028 */ addiu $v0, $zero, 0x28 +/* 998484 80240514 AFA2001C */ sw $v0, 0x1c($sp) +/* 998488 80240518 44833000 */ mtc1 $v1, $f6 +/* 99848C 8024051C 00000000 */ nop +/* 998490 80240520 468031A0 */ cvt.s.w $f6, $f6 +/* 998494 80240524 44073000 */ mfc1 $a3, $f6 +/* 998498 80240528 27A20048 */ addiu $v0, $sp, 0x48 +/* 99849C 8024052C AFA20020 */ sw $v0, 0x20($sp) +/* 9984A0 80240530 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9984A4 80240534 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9984A8 80240538 0C01BFA4 */ jal fx_emote +/* 9984AC 8024053C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9984B0 80240540 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9984B4 80240544 2403FFFB */ addiu $v1, $zero, -5 +/* 9984B8 80240548 00431024 */ and $v0, $v0, $v1 +/* 9984BC 8024054C 08090160 */ j .L80240580 +/* 9984C0 80240550 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240554: +/* 9984C4 80240554 8E220000 */ lw $v0, ($s1) +/* 9984C8 80240558 3C034000 */ lui $v1, 0x4000 +/* 9984CC 8024055C 00431024 */ and $v0, $v0, $v1 +/* 9984D0 80240560 10400007 */ beqz $v0, .L80240580 +/* 9984D4 80240564 3C03BFFF */ lui $v1, 0xbfff +/* 9984D8 80240568 2402000C */ addiu $v0, $zero, 0xc +/* 9984DC 8024056C AE620070 */ sw $v0, 0x70($s3) +/* 9984E0 80240570 8E220000 */ lw $v0, ($s1) +/* 9984E4 80240574 3463FFFF */ ori $v1, $v1, 0xffff +/* 9984E8 80240578 00431024 */ and $v0, $v0, $v1 +/* 9984EC 8024057C AE220000 */ sw $v0, ($s1) +.L80240580: +/* 9984F0 80240580 8E220090 */ lw $v0, 0x90($s1) +/* 9984F4 80240584 1840000C */ blez $v0, .L802405B8 +/* 9984F8 80240588 2442FFFF */ addiu $v0, $v0, -1 +/* 9984FC 8024058C 14400087 */ bnez $v0, .L802407AC +/* 998500 80240590 AE220090 */ sw $v0, 0x90($s1) +/* 998504 80240594 3C03FFAA */ lui $v1, 0xffaa +/* 998508 80240598 8E420028 */ lw $v0, 0x28($s2) +/* 99850C 8024059C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 998510 802405A0 00431021 */ addu $v0, $v0, $v1 +/* 998514 802405A4 2C420002 */ sltiu $v0, $v0, 2 +/* 998518 802405A8 10400003 */ beqz $v0, .L802405B8 +/* 99851C 802405AC 3C020055 */ lui $v0, 0x55 +/* 998520 802405B0 3442000C */ ori $v0, $v0, 0xc +/* 998524 802405B4 AE420028 */ sw $v0, 0x28($s2) +.L802405B8: +/* 998528 802405B8 8E630070 */ lw $v1, 0x70($s3) +/* 99852C 802405BC 2402000C */ addiu $v0, $zero, 0xc +/* 998530 802405C0 10620048 */ beq $v1, $v0, .L802406E4 +/* 998534 802405C4 2862000D */ slti $v0, $v1, 0xd +/* 998538 802405C8 1040000F */ beqz $v0, .L80240608 +/* 99853C 802405CC 24100001 */ addiu $s0, $zero, 1 +/* 998540 802405D0 1070001E */ beq $v1, $s0, .L8024064C +/* 998544 802405D4 28620002 */ slti $v0, $v1, 2 +/* 998548 802405D8 10400005 */ beqz $v0, .L802405F0 +/* 99854C 802405DC 24020002 */ addiu $v0, $zero, 2 +/* 998550 802405E0 10600015 */ beqz $v1, .L80240638 +/* 998554 802405E4 0260202D */ daddu $a0, $s3, $zero +/* 998558 802405E8 080901D0 */ j .L80240740 +/* 99855C 802405EC 00000000 */ nop +.L802405F0: +/* 998560 802405F0 1062001C */ beq $v1, $v0, .L80240664 +/* 998564 802405F4 24020003 */ addiu $v0, $zero, 3 +/* 998568 802405F8 10620035 */ beq $v1, $v0, .L802406D0 +/* 99856C 802405FC 0260202D */ daddu $a0, $s3, $zero +/* 998570 80240600 080901D0 */ j .L80240740 +/* 998574 80240604 00000000 */ nop +.L80240608: +/* 998578 80240608 2402000E */ addiu $v0, $zero, 0xe +/* 99857C 8024060C 1062003F */ beq $v1, $v0, .L8024070C +/* 998580 80240610 0062102A */ slt $v0, $v1, $v0 +/* 998584 80240614 14400038 */ bnez $v0, .L802406F8 +/* 998588 80240618 0260202D */ daddu $a0, $s3, $zero +/* 99858C 8024061C 2402000F */ addiu $v0, $zero, 0xf +/* 998590 80240620 10620040 */ beq $v1, $v0, .L80240724 +/* 998594 80240624 24020063 */ addiu $v0, $zero, 0x63 +/* 998598 80240628 10620043 */ beq $v1, $v0, .L80240738 +/* 99859C 8024062C 00000000 */ nop +/* 9985A0 80240630 080901D0 */ j .L80240740 +/* 9985A4 80240634 00000000 */ nop +.L80240638: +/* 9985A8 80240638 0280282D */ daddu $a1, $s4, $zero +/* 9985AC 8024063C 0C012568 */ jal func_800495A0 +/* 9985B0 80240640 02A0302D */ daddu $a2, $s5, $zero +/* 9985B4 80240644 96220086 */ lhu $v0, 0x86($s1) +/* 9985B8 80240648 A64200A8 */ sh $v0, 0xa8($s2) +.L8024064C: +/* 9985BC 8024064C 0260202D */ daddu $a0, $s3, $zero +/* 9985C0 80240650 0280282D */ daddu $a1, $s4, $zero +/* 9985C4 80240654 0C0125AE */ jal func_800496B8 +/* 9985C8 80240658 02A0302D */ daddu $a2, $s5, $zero +/* 9985CC 8024065C 080901D0 */ j .L80240740 +/* 9985D0 80240660 00000000 */ nop +.L80240664: +/* 9985D4 80240664 0260202D */ daddu $a0, $s3, $zero +/* 9985D8 80240668 0280282D */ daddu $a1, $s4, $zero +/* 9985DC 8024066C 0C0126D1 */ jal func_80049B44 +/* 9985E0 80240670 02A0302D */ daddu $a2, $s5, $zero +/* 9985E4 80240674 8E230088 */ lw $v1, 0x88($s1) +/* 9985E8 80240678 24020006 */ addiu $v0, $zero, 6 +/* 9985EC 8024067C 14620014 */ bne $v1, $v0, .L802406D0 +/* 9985F0 80240680 0260202D */ daddu $a0, $s3, $zero +/* 9985F4 80240684 0C00A67F */ jal rand_int +/* 9985F8 80240688 24040064 */ addiu $a0, $zero, 0x64 +/* 9985FC 8024068C 28420021 */ slti $v0, $v0, 0x21 +/* 998600 80240690 5040000F */ beql $v0, $zero, .L802406D0 +/* 998604 80240694 0260202D */ daddu $a0, $s3, $zero +/* 998608 80240698 8E22008C */ lw $v0, 0x8c($s1) +/* 99860C 8024069C 10400005 */ beqz $v0, .L802406B4 +/* 998610 802406A0 3C020055 */ lui $v0, 0x55 +/* 998614 802406A4 3442002F */ ori $v0, $v0, 0x2f +/* 998618 802406A8 AE20008C */ sw $zero, 0x8c($s1) +/* 99861C 802406AC 080901B0 */ j .L802406C0 +/* 998620 802406B0 A22000B5 */ sb $zero, 0xb5($s1) +.L802406B4: +/* 998624 802406B4 3442002E */ ori $v0, $v0, 0x2e +/* 998628 802406B8 AE30008C */ sw $s0, 0x8c($s1) +/* 99862C 802406BC A23000B5 */ sb $s0, 0xb5($s1) +.L802406C0: +/* 998630 802406C0 AE420028 */ sw $v0, 0x28($s2) +/* 998634 802406C4 24020007 */ addiu $v0, $zero, 7 +/* 998638 802406C8 080901EB */ j .L802407AC +/* 99863C 802406CC AE220090 */ sw $v0, 0x90($s1) +.L802406D0: +/* 998640 802406D0 0280282D */ daddu $a1, $s4, $zero +/* 998644 802406D4 0C012701 */ jal func_80049C04 +/* 998648 802406D8 02A0302D */ daddu $a2, $s5, $zero +/* 99864C 802406DC 080901D0 */ j .L80240740 +/* 998650 802406E0 00000000 */ nop +.L802406E4: +/* 998654 802406E4 0260202D */ daddu $a0, $s3, $zero +/* 998658 802406E8 0280282D */ daddu $a1, $s4, $zero +/* 99865C 802406EC 0C090000 */ jal func_80240000 +/* 998660 802406F0 02A0302D */ daddu $a2, $s5, $zero +/* 998664 802406F4 0260202D */ daddu $a0, $s3, $zero +.L802406F8: +/* 998668 802406F8 0280282D */ daddu $a1, $s4, $zero +/* 99866C 802406FC 0C09001F */ jal func_8024007C +/* 998670 80240700 02A0302D */ daddu $a2, $s5, $zero +/* 998674 80240704 080901D0 */ j .L80240740 +/* 998678 80240708 00000000 */ nop +.L8024070C: +/* 99867C 8024070C 0260202D */ daddu $a0, $s3, $zero +/* 998680 80240710 0280282D */ daddu $a1, $s4, $zero +/* 998684 80240714 0C09006C */ jal func_802401B0 +/* 998688 80240718 02A0302D */ daddu $a2, $s5, $zero +/* 99868C 8024071C 080901D0 */ j .L80240740 +/* 998690 80240720 00000000 */ nop +.L80240724: +/* 998694 80240724 0280282D */ daddu $a1, $s4, $zero +/* 998698 80240728 0C0900C5 */ jal func_80240314 +/* 99869C 8024072C 02A0302D */ daddu $a2, $s5, $zero +/* 9986A0 80240730 080901D0 */ j .L80240740 +/* 9986A4 80240734 00000000 */ nop +.L80240738: +/* 9986A8 80240738 0C0129CF */ jal func_8004A73C +/* 9986AC 8024073C 0260202D */ daddu $a0, $s3, $zero +.L80240740: +/* 9986B0 80240740 8E230088 */ lw $v1, 0x88($s1) +/* 9986B4 80240744 24020006 */ addiu $v0, $zero, 6 +/* 9986B8 80240748 14620019 */ bne $v1, $v0, .L802407B0 +/* 9986BC 8024074C 0000102D */ daddu $v0, $zero, $zero +/* 9986C0 80240750 8E22008C */ lw $v0, 0x8c($s1) +/* 9986C4 80240754 10400003 */ beqz $v0, .L80240764 +/* 9986C8 80240758 24020001 */ addiu $v0, $zero, 1 +/* 9986CC 8024075C 080901DA */ j .L80240768 +/* 9986D0 80240760 A22200B5 */ sb $v0, 0xb5($s1) +.L80240764: +/* 9986D4 80240764 A22000B5 */ sb $zero, 0xb5($s1) +.L80240768: +/* 9986D8 80240768 8E22008C */ lw $v0, 0x8c($s1) +/* 9986DC 8024076C 1040000F */ beqz $v0, .L802407AC +/* 9986E0 80240770 3C03FFAA */ lui $v1, 0xffaa +/* 9986E4 80240774 8E420028 */ lw $v0, 0x28($s2) +/* 9986E8 80240778 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9986EC 8024077C 00431821 */ addu $v1, $v0, $v1 +/* 9986F0 80240780 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9986F4 80240784 10400009 */ beqz $v0, .L802407AC +/* 9986F8 80240788 00031080 */ sll $v0, $v1, 2 +/* 9986FC 8024078C 3C018024 */ lui $at, 0x8024 +/* 998700 80240790 00220821 */ addu $at, $at, $v0 +/* 998704 80240794 8C221778 */ lw $v0, 0x1778($at) +/* 998708 80240798 00400008 */ jr $v0 +/* 99870C 8024079C 00000000 */ nop +/* 998710 802407A0 8E420028 */ lw $v0, 0x28($s2) +/* 998714 802407A4 24420001 */ addiu $v0, $v0, 1 +/* 998718 802407A8 AE420028 */ sw $v0, 0x28($s2) +.L802407AC: +/* 99871C 802407AC 0000102D */ daddu $v0, $zero, $zero +.L802407B0: +/* 998720 802407B0 8FBF0068 */ lw $ra, 0x68($sp) +/* 998724 802407B4 8FB50064 */ lw $s5, 0x64($sp) +/* 998728 802407B8 8FB40060 */ lw $s4, 0x60($sp) +/* 99872C 802407BC 8FB3005C */ lw $s3, 0x5c($sp) +/* 998730 802407C0 8FB20058 */ lw $s2, 0x58($sp) +/* 998734 802407C4 8FB10054 */ lw $s1, 0x54($sp) +/* 998738 802407C8 8FB00050 */ lw $s0, 0x50($sp) +/* 99873C 802407CC 03E00008 */ jr $ra +/* 998740 802407D0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_802407D4_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_802407D4_997F70.s new file mode 100644 index 0000000000..f9e5c50207 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_802407D4_997F70.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D4_998744 +/* 998744 802407D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 998748 802407D8 AFBF0010 */ sw $ra, 0x10($sp) +/* 99874C 802407DC 0C00EAD2 */ jal get_npc_safe +/* 998750 802407E0 8C84014C */ lw $a0, 0x14c($a0) +/* 998754 802407E4 0040182D */ daddu $v1, $v0, $zero +/* 998758 802407E8 846200A8 */ lh $v0, 0xa8($v1) +/* 99875C 802407EC C462003C */ lwc1 $f2, 0x3c($v1) +/* 998760 802407F0 906400A9 */ lbu $a0, 0xa9($v1) +/* 998764 802407F4 44820000 */ mtc1 $v0, $f0 +/* 998768 802407F8 00000000 */ nop +/* 99876C 802407FC 46800020 */ cvt.s.w $f0, $f0 +/* 998770 80240800 46001081 */ sub.s $f2, $f2, $f0 +/* 998774 80240804 A06400AB */ sb $a0, 0xab($v1) +/* 998778 80240808 E462003C */ swc1 $f2, 0x3c($v1) +/* 99877C 8024080C 8FBF0010 */ lw $ra, 0x10($sp) +/* 998780 80240810 24020002 */ addiu $v0, $zero, 2 +/* 998784 80240814 03E00008 */ jr $ra +/* 998788 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_8024081C_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_8024081C_997F70.s new file mode 100644 index 0000000000..817390b51a --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_8024081C_997F70.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_99878C +/* 99878C 8024081C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 998790 80240820 AFBF0010 */ sw $ra, 0x10($sp) +/* 998794 80240824 0C00EAD2 */ jal get_npc_safe +/* 998798 80240828 8C84014C */ lw $a0, 0x14c($a0) +/* 99879C 8024082C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 9987A0 80240830 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 9987A4 80240834 C44C0038 */ lwc1 $f12, 0x38($v0) +/* 9987A8 80240838 C44E0040 */ lwc1 $f14, 0x40($v0) +/* 9987AC 8024083C 8C660028 */ lw $a2, 0x28($v1) +/* 9987B0 80240840 0C00A7B5 */ jal dist2D +/* 9987B4 80240844 8C670030 */ lw $a3, 0x30($v1) +/* 9987B8 80240848 3C014248 */ lui $at, 0x4248 +/* 9987BC 8024084C 44811000 */ mtc1 $at, $f2 +/* 9987C0 80240850 00000000 */ nop +/* 9987C4 80240854 4602003C */ c.lt.s $f0, $f2 +/* 9987C8 80240858 00000000 */ nop +/* 9987CC 8024085C 45010002 */ bc1t .L80240868 +/* 9987D0 80240860 24020002 */ addiu $v0, $zero, 2 +/* 9987D4 80240864 0000102D */ daddu $v0, $zero, $zero +.L80240868: +/* 9987D8 80240868 8FBF0010 */ lw $ra, 0x10($sp) +/* 9987DC 8024086C 03E00008 */ jr $ra +/* 9987E0 80240870 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_isk/isk_18/func_80240874_997F70.s b/asm/nonmatchings/world/area_isk/isk_18/func_80240874_997F70.s new file mode 100644 index 0000000000..21aa509255 --- /dev/null +++ b/asm/nonmatchings/world/area_isk/isk_18/func_80240874_997F70.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240874_9987E4 +/* 9987E4 80240874 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9987E8 80240878 0080102D */ daddu $v0, $a0, $zero +/* 9987EC 8024087C AFB00010 */ sw $s0, 0x10($sp) +/* 9987F0 80240880 AFBF0018 */ sw $ra, 0x18($sp) +/* 9987F4 80240884 AFB10014 */ sw $s1, 0x14($sp) +/* 9987F8 80240888 8C44014C */ lw $a0, 0x14c($v0) +/* 9987FC 8024088C 8C510148 */ lw $s1, 0x148($v0) +/* 998800 80240890 0C00EAD2 */ jal get_npc_safe +/* 998804 80240894 00A0802D */ daddu $s0, $a1, $zero +/* 998808 80240898 56000001 */ bnel $s0, $zero, .L802408A0 +/* 99880C 8024089C A04000AB */ sb $zero, 0xab($v0) +.L802408A0: +/* 998810 802408A0 8C420000 */ lw $v0, ($v0) +/* 998814 802408A4 30421000 */ andi $v0, $v0, 0x1000 +/* 998818 802408A8 1040000A */ beqz $v0, .L802408D4 +/* 99881C 802408AC 0000102D */ daddu $v0, $zero, $zero +/* 998820 802408B0 82220004 */ lb $v0, 4($s1) +/* 998824 802408B4 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 998828 802408B8 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 99882C 802408BC 00021080 */ sll $v0, $v0, 2 +/* 998830 802408C0 00431021 */ addu $v0, $v0, $v1 +/* 998834 802408C4 8C440028 */ lw $a0, 0x28($v0) +/* 998838 802408C8 9623006E */ lhu $v1, 0x6e($s1) +/* 99883C 802408CC 24020002 */ addiu $v0, $zero, 2 +/* 998840 802408D0 A4830044 */ sh $v1, 0x44($a0) +.L802408D4: +/* 998844 802408D4 8FBF0018 */ lw $ra, 0x18($sp) +/* 998848 802408D8 8FB10014 */ lw $s1, 0x14($sp) +/* 99884C 802408DC 8FB00010 */ lw $s0, 0x10($sp) +/* 998850 802408E0 03E00008 */ jr $ra +/* 998854 802408E4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 998858 802408E8 00000000 */ nop +/* 99885C 802408EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_00/func_80240000_90CC40.s b/asm/nonmatchings/world/area_iwa/iwa_00/func_80240000_90CC40.s new file mode 100644 index 0000000000..9137f14794 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_00/func_80240000_90CC40.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_90CC40 +/* 90CC40 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 90CC44 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 90CC48 80240008 3C108024 */ lui $s0, 0x8024 +/* 90CC4C 8024000C 26100FF8 */ addiu $s0, $s0, 0xff8 +/* 90CC50 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 90CC54 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 90CC58 80240018 8E020000 */ lw $v0, ($s0) +/* 90CC5C 8024001C 14400010 */ bnez $v0, .L80240060 +/* 90CC60 80240020 0080882D */ daddu $s1, $a0, $zero +/* 90CC64 80240024 0C00AB39 */ jal heap_malloc +/* 90CC68 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* 90CC6C 8024002C AE020000 */ sw $v0, ($s0) +/* 90CC70 80240030 0000182D */ daddu $v1, $zero, $zero +/* 90CC74 80240034 0040282D */ daddu $a1, $v0, $zero +/* 90CC78 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* 90CC7C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* 90CC80 80240040 24840004 */ addiu $a0, $a0, 4 +/* 90CC84 80240044 24630001 */ addiu $v1, $v1, 1 +/* 90CC88 80240048 ACA20000 */ sw $v0, ($a1) +/* 90CC8C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* 90CC90 80240050 1440FFFA */ bnez $v0, .L8024003C +/* 90CC94 80240054 24A50004 */ addiu $a1, $a1, 4 +/* 90CC98 80240058 08090027 */ j .L8024009C +/* 90CC9C 8024005C 00000000 */ nop +.L80240060: +/* 90CCA0 80240060 0000182D */ daddu $v1, $zero, $zero +/* 90CCA4 80240064 0040282D */ daddu $a1, $v0, $zero +/* 90CCA8 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* 90CCAC 8024006C 8CA20000 */ lw $v0, ($a1) +/* 90CCB0 80240070 24A50004 */ addiu $a1, $a1, 4 +/* 90CCB4 80240074 24630001 */ addiu $v1, $v1, 1 +/* 90CCB8 80240078 AC820084 */ sw $v0, 0x84($a0) +/* 90CCBC 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* 90CCC0 80240080 1440FFFA */ bnez $v0, .L8024006C +/* 90CCC4 80240084 24840004 */ addiu $a0, $a0, 4 +/* 90CCC8 80240088 3C108024 */ lui $s0, 0x8024 +/* 90CCCC 8024008C 26100FF8 */ addiu $s0, $s0, 0xff8 +/* 90CCD0 80240090 0C00AB4B */ jal heap_free +/* 90CCD4 80240094 8E040000 */ lw $a0, ($s0) +/* 90CCD8 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* 90CCDC 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* 90CCE0 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* 90CCE4 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* 90CCE8 802400A8 24020002 */ addiu $v0, $zero, 2 +/* 90CCEC 802400AC 03E00008 */ jr $ra +/* 90CCF0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_00/func_802400B4_90CC40.s b/asm/nonmatchings/world/area_iwa/iwa_00/func_802400B4_90CC40.s new file mode 100644 index 0000000000..cdf4fdf652 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_00/func_802400B4_90CC40.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_90CCF4 +/* 90CCF4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 90CCF8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* 90CCFC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* 90CD00 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 90CD04 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* 90CD08 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* 90CD0C 802400CC 8C510000 */ lw $s1, ($v0) +/* 90CD10 802400D0 0C0B1EAF */ jal get_variable +/* 90CD14 802400D4 0220282D */ daddu $a1, $s1, $zero +/* 90CD18 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 90CD1C 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 90CD20 802400E0 0200202D */ daddu $a0, $s0, $zero +/* 90CD24 802400E4 00431024 */ and $v0, $v0, $v1 +/* 90CD28 802400E8 00021140 */ sll $v0, $v0, 5 +/* 90CD2C 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 90CD30 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* 90CD34 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 90CD38 802400F8 0C0B2026 */ jal set_variable +/* 90CD3C 802400FC 0220282D */ daddu $a1, $s1, $zero +/* 90CD40 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* 90CD44 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* 90CD48 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* 90CD4C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* 90CD50 80240110 03E00008 */ jr $ra +/* 90CD54 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_00/func_80240118_90CC40.s b/asm/nonmatchings/world/area_iwa/iwa_00/func_80240118_90CC40.s new file mode 100644 index 0000000000..643126b404 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_00/func_80240118_90CC40.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_90CD58 +/* 90CD58 80240118 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 90CD5C 8024011C AFB20028 */ sw $s2, 0x28($sp) +/* 90CD60 80240120 0080902D */ daddu $s2, $a0, $zero +/* 90CD64 80240124 AFBF0030 */ sw $ra, 0x30($sp) +/* 90CD68 80240128 AFB3002C */ sw $s3, 0x2c($sp) +/* 90CD6C 8024012C AFB10024 */ sw $s1, 0x24($sp) +/* 90CD70 80240130 AFB00020 */ sw $s0, 0x20($sp) +/* 90CD74 80240134 8E530148 */ lw $s3, 0x148($s2) +/* 90CD78 80240138 86640008 */ lh $a0, 8($s3) +/* 90CD7C 8024013C 0C00EABB */ jal get_npc_unsafe +/* 90CD80 80240140 00A0802D */ daddu $s0, $a1, $zero +/* 90CD84 80240144 12000004 */ beqz $s0, .L80240158 +/* 90CD88 80240148 0040882D */ daddu $s1, $v0, $zero +/* 90CD8C 8024014C 24020014 */ addiu $v0, $zero, 0x14 +/* 90CD90 80240150 AE400070 */ sw $zero, 0x70($s2) +/* 90CD94 80240154 AE420074 */ sw $v0, 0x74($s2) +.L80240158: +/* 90CD98 80240158 8E420074 */ lw $v0, 0x74($s2) +/* 90CD9C 8024015C 30420001 */ andi $v0, $v0, 1 +/* 90CDA0 80240160 10400004 */ beqz $v0, .L80240174 +/* 90CDA4 80240164 2403FFFD */ addiu $v1, $zero, -3 +/* 90CDA8 80240168 8E220000 */ lw $v0, ($s1) +/* 90CDAC 8024016C 0809005F */ j .L8024017C +/* 90CDB0 80240170 00431024 */ and $v0, $v0, $v1 +.L80240174: +/* 90CDB4 80240174 8E220000 */ lw $v0, ($s1) +/* 90CDB8 80240178 34420002 */ ori $v0, $v0, 2 +.L8024017C: +/* 90CDBC 8024017C AE220000 */ sw $v0, ($s1) +/* 90CDC0 80240180 8E430074 */ lw $v1, 0x74($s2) +/* 90CDC4 80240184 2402000F */ addiu $v0, $zero, 0xf +/* 90CDC8 80240188 1462002A */ bne $v1, $v0, .L80240234 +/* 90CDCC 8024018C 00000000 */ nop +/* 90CDD0 80240190 240403E5 */ addiu $a0, $zero, 0x3e5 +/* 90CDD4 80240194 962300A8 */ lhu $v1, 0xa8($s1) +/* 90CDD8 80240198 C620003C */ lwc1 $f0, 0x3c($s1) +/* 90CDDC 8024019C C6220040 */ lwc1 $f2, 0x40($s1) +/* 90CDE0 802401A0 00031C00 */ sll $v1, $v1, 0x10 +/* 90CDE4 802401A4 00031403 */ sra $v0, $v1, 0x10 +/* 90CDE8 802401A8 00031FC2 */ srl $v1, $v1, 0x1f +/* 90CDEC 802401AC 00431021 */ addu $v0, $v0, $v1 +/* 90CDF0 802401B0 00021043 */ sra $v0, $v0, 1 +/* 90CDF4 802401B4 44822000 */ mtc1 $v0, $f4 +/* 90CDF8 802401B8 00000000 */ nop +/* 90CDFC 802401BC 46802120 */ cvt.s.w $f4, $f4 +/* 90CE00 802401C0 46040000 */ add.s $f0, $f0, $f4 +/* 90CE04 802401C4 E7A20010 */ swc1 $f2, 0x10($sp) +/* 90CE08 802401C8 8E260038 */ lw $a2, 0x38($s1) +/* 90CE0C 802401CC 44070000 */ mfc1 $a3, $f0 +/* 90CE10 802401D0 0C052757 */ jal play_sound_at_position +/* 90CE14 802401D4 0000282D */ daddu $a1, $zero, $zero +/* 90CE18 802401D8 962300A8 */ lhu $v1, 0xa8($s1) +/* 90CE1C 802401DC C624003C */ lwc1 $f4, 0x3c($s1) +/* 90CE20 802401E0 3C01BF80 */ lui $at, 0xbf80 +/* 90CE24 802401E4 44811000 */ mtc1 $at, $f2 +/* 90CE28 802401E8 2402000A */ addiu $v0, $zero, 0xa +/* 90CE2C 802401EC AFA00010 */ sw $zero, 0x10($sp) +/* 90CE30 802401F0 AFA00018 */ sw $zero, 0x18($sp) +/* 90CE34 802401F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 90CE38 802401F8 00031C00 */ sll $v1, $v1, 0x10 +/* 90CE3C 802401FC 00031403 */ sra $v0, $v1, 0x10 +/* 90CE40 80240200 00031FC2 */ srl $v1, $v1, 0x1f +/* 90CE44 80240204 00431021 */ addu $v0, $v0, $v1 +/* 90CE48 80240208 00021043 */ sra $v0, $v0, 1 +/* 90CE4C 8024020C 44820000 */ mtc1 $v0, $f0 +/* 90CE50 80240210 00000000 */ nop +/* 90CE54 80240214 46800020 */ cvt.s.w $f0, $f0 +/* 90CE58 80240218 46002100 */ add.s $f4, $f4, $f0 +/* 90CE5C 8024021C E7A20014 */ swc1 $f2, 0x14($sp) +/* 90CE60 80240220 8E250038 */ lw $a1, 0x38($s1) +/* 90CE64 80240224 8E270040 */ lw $a3, 0x40($s1) +/* 90CE68 80240228 44062000 */ mfc1 $a2, $f4 +/* 90CE6C 8024022C 0C01C064 */ jal func_80070190 +/* 90CE70 80240230 24040001 */ addiu $a0, $zero, 1 +.L80240234: +/* 90CE74 80240234 8E500074 */ lw $s0, 0x74($s2) +/* 90CE78 80240238 2402000A */ addiu $v0, $zero, 0xa +/* 90CE7C 8024023C 1602000F */ bne $s0, $v0, .L8024027C +/* 90CE80 80240240 00000000 */ nop +/* 90CE84 80240244 3C014120 */ lui $at, 0x4120 +/* 90CE88 80240248 44811000 */ mtc1 $at, $f2 +/* 90CE8C 8024024C C6200040 */ lwc1 $f0, 0x40($s1) +/* 90CE90 80240250 46020000 */ add.s $f0, $f0, $f2 +/* 90CE94 80240254 C62E003C */ lwc1 $f14, 0x3c($s1) +/* 90CE98 80240258 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 90CE9C 8024025C 44060000 */ mfc1 $a2, $f0 +/* 90CEA0 80240260 0C01BE3C */ jal func_8006F8F0 +/* 90CEA4 80240264 46027380 */ add.s $f14, $f14, $f2 +/* 90CEA8 80240268 8E420074 */ lw $v0, 0x74($s2) +/* 90CEAC 8024026C 14500003 */ bne $v0, $s0, .L8024027C +/* 90CEB0 80240270 00000000 */ nop +/* 90CEB4 80240274 0C0120A0 */ jal spawn_drops +/* 90CEB8 80240278 0260202D */ daddu $a0, $s3, $zero +.L8024027C: +/* 90CEBC 8024027C 8E430074 */ lw $v1, 0x74($s2) +/* 90CEC0 80240280 2463FFFF */ addiu $v1, $v1, -1 +/* 90CEC4 80240284 AE430074 */ sw $v1, 0x74($s2) +/* 90CEC8 80240288 8FBF0030 */ lw $ra, 0x30($sp) +/* 90CECC 8024028C 8FB3002C */ lw $s3, 0x2c($sp) +/* 90CED0 80240290 8FB20028 */ lw $s2, 0x28($sp) +/* 90CED4 80240294 8FB10024 */ lw $s1, 0x24($sp) +/* 90CED8 80240298 8FB00020 */ lw $s0, 0x20($sp) +/* 90CEDC 8024029C 2C620001 */ sltiu $v0, $v1, 1 +/* 90CEE0 802402A0 03E00008 */ jr $ra +/* 90CEE4 802402A4 27BD0038 */ addiu $sp, $sp, 0x38 +/* 90CEE8 802402A8 00000000 */ nop +/* 90CEEC 802402AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_00/func_802402B0.s b/asm/nonmatchings/world/area_iwa/iwa_00/func_802402B0.s new file mode 100644 index 0000000000..654605c936 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_00/func_802402B0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B0 +/* 90CEF0 802402B0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 90CEF4 802402B4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 90CEF8 802402B8 8C430000 */ lw $v1, ($v0) +/* 90CEFC 802402BC 8C840084 */ lw $a0, 0x84($a0) +/* 90CF00 802402C0 34630010 */ ori $v1, $v1, 0x10 +/* 90CF04 802402C4 AC4400D0 */ sw $a0, 0xd0($v0) +/* 90CF08 802402C8 AC430000 */ sw $v1, ($v0) +/* 90CF0C 802402CC 03E00008 */ jr $ra +/* 90CF10 802402D0 24020002 */ addiu $v0, $zero, 2 +/* 90CF14 802402D4 00000000 */ nop +/* 90CF18 802402D8 00000000 */ nop +/* 90CF1C 802402DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240000_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240000_90F6B0.s new file mode 100644 index 0000000000..c3a71e1941 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240000_90F6B0.s @@ -0,0 +1,238 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_90F6B0 +/* 90F6B0 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 90F6B4 80240004 0000202D */ daddu $a0, $zero, $zero +/* 90F6B8 80240008 3C05FD05 */ lui $a1, 0xfd05 +/* 90F6BC 8024000C AFBF003C */ sw $ra, 0x3c($sp) +/* 90F6C0 80240010 AFB60038 */ sw $s6, 0x38($sp) +/* 90F6C4 80240014 AFB50034 */ sw $s5, 0x34($sp) +/* 90F6C8 80240018 AFB40030 */ sw $s4, 0x30($sp) +/* 90F6CC 8024001C AFB3002C */ sw $s3, 0x2c($sp) +/* 90F6D0 80240020 AFB20028 */ sw $s2, 0x28($sp) +/* 90F6D4 80240024 AFB10024 */ sw $s1, 0x24($sp) +/* 90F6D8 80240028 AFB00020 */ sw $s0, 0x20($sp) +/* 90F6DC 8024002C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 90F6E0 80240030 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 90F6E4 80240034 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 90F6E8 80240038 0C0B1EAF */ jal get_variable +/* 90F6EC 8024003C 34A50F8F */ ori $a1, $a1, 0xf8f +/* 90F6F0 80240040 0040882D */ daddu $s1, $v0, $zero +/* 90F6F4 80240044 0000982D */ daddu $s3, $zero, $zero +/* 90F6F8 80240048 3C12800A */ lui $s2, 0x800a +/* 90F6FC 8024004C 2652A66C */ addiu $s2, $s2, -0x5994 +/* 90F700 80240050 3C16800A */ lui $s6, 0x800a +/* 90F704 80240054 26D6A674 */ addiu $s6, $s6, -0x598c +/* 90F708 80240058 3C158007 */ lui $s5, 0x8007 +/* 90F70C 8024005C 26B541F0 */ addiu $s5, $s5, 0x41f0 +/* 90F710 80240060 3C140001 */ lui $s4, 1 +/* 90F714 80240064 36941630 */ ori $s4, $s4, 0x1630 +/* 90F718 80240068 26300018 */ addiu $s0, $s1, 0x18 +/* 90F71C 8024006C 3C01C1F0 */ lui $at, 0xc1f0 +/* 90F720 80240070 4481C000 */ mtc1 $at, $f24 +/* 90F724 80240074 3C014120 */ lui $at, 0x4120 +/* 90F728 80240078 4481B000 */ mtc1 $at, $f22 +/* 90F72C 8024007C 3C018024 */ lui $at, 0x8024 +/* 90F730 80240080 D4346370 */ ldc1 $f20, 0x6370($at) +.L80240084: +/* 90F734 80240084 C600FFEC */ lwc1 $f0, -0x14($s0) +/* 90F738 80240088 4618003C */ c.lt.s $f0, $f24 +/* 90F73C 8024008C 00000000 */ nop +/* 90F740 80240090 4500002F */ bc1f .L80240150 +/* 90F744 80240094 24040008 */ addiu $a0, $zero, 8 +/* 90F748 80240098 3C0140A0 */ lui $at, 0x40a0 +/* 90F74C 8024009C 44810000 */ mtc1 $at, $f0 +/* 90F750 802400A0 3C01C1A0 */ lui $at, 0xc1a0 +/* 90F754 802400A4 44811000 */ mtc1 $at, $f2 +/* 90F758 802400A8 AE200000 */ sw $zero, ($s1) +/* 90F75C 802400AC E600FFEC */ swc1 $f0, -0x14($s0) +/* 90F760 802400B0 0C00A67F */ jal rand_int +/* 90F764 802400B4 E602FFF0 */ swc1 $f2, -0x10($s0) +/* 90F768 802400B8 2404000A */ addiu $a0, $zero, 0xa +/* 90F76C 802400BC 2442FFFC */ addiu $v0, $v0, -4 +/* 90F770 802400C0 44820000 */ mtc1 $v0, $f0 +/* 90F774 802400C4 00000000 */ nop +/* 90F778 802400C8 46800020 */ cvt.s.w $f0, $f0 +/* 90F77C 802400CC 46160003 */ div.s $f0, $f0, $f22 +/* 90F780 802400D0 0C00A67F */ jal rand_int +/* 90F784 802400D4 E6000004 */ swc1 $f0, 4($s0) +/* 90F788 802400D8 2404000A */ addiu $a0, $zero, 0xa +/* 90F78C 802400DC 44820000 */ mtc1 $v0, $f0 +/* 90F790 802400E0 00000000 */ nop +/* 90F794 802400E4 46800020 */ cvt.s.w $f0, $f0 +/* 90F798 802400E8 46160003 */ div.s $f0, $f0, $f22 +/* 90F79C 802400EC 0C00A67F */ jal rand_int +/* 90F7A0 802400F0 E6000008 */ swc1 $f0, 8($s0) +/* 90F7A4 802400F4 24040014 */ addiu $a0, $zero, 0x14 +/* 90F7A8 802400F8 2442001E */ addiu $v0, $v0, 0x1e +/* 90F7AC 802400FC 44820000 */ mtc1 $v0, $f0 +/* 90F7B0 80240100 00000000 */ nop +/* 90F7B4 80240104 46800020 */ cvt.s.w $f0, $f0 +/* 90F7B8 80240108 3C013F80 */ lui $at, 0x3f80 +/* 90F7BC 8024010C 44811000 */ mtc1 $at, $f2 +/* 90F7C0 80240110 46160003 */ div.s $f0, $f0, $f22 +/* 90F7C4 80240114 E600000C */ swc1 $f0, 0xc($s0) +/* 90F7C8 80240118 0C00A67F */ jal rand_int +/* 90F7CC 8024011C E602FFF4 */ swc1 $f2, -0xc($s0) +/* 90F7D0 80240120 24040167 */ addiu $a0, $zero, 0x167 +/* 90F7D4 80240124 24420050 */ addiu $v0, $v0, 0x50 +/* 90F7D8 80240128 44820000 */ mtc1 $v0, $f0 +/* 90F7DC 8024012C 00000000 */ nop +/* 90F7E0 80240130 46800020 */ cvt.s.w $f0, $f0 +/* 90F7E4 80240134 0C00A67F */ jal rand_int +/* 90F7E8 80240138 E600FFF8 */ swc1 $f0, -8($s0) +/* 90F7EC 8024013C 44820000 */ mtc1 $v0, $f0 +/* 90F7F0 80240140 00000000 */ nop +/* 90F7F4 80240144 46800020 */ cvt.s.w $f0, $f0 +/* 90F7F8 80240148 E600FFFC */ swc1 $f0, -4($s0) +/* 90F7FC 8024014C AE000000 */ sw $zero, ($s0) +.L80240150: +/* 90F800 80240150 C6040004 */ lwc1 $f4, 4($s0) +/* 90F804 80240154 46002121 */ cvt.d.s $f4, $f4 +/* 90F808 80240158 46342102 */ mul.d $f4, $f4, $f20 +/* 90F80C 8024015C 00000000 */ nop +/* 90F810 80240160 C602000C */ lwc1 $f2, 0xc($s0) +/* 90F814 80240164 460010A1 */ cvt.d.s $f2, $f2 +/* 90F818 80240168 46341082 */ mul.d $f2, $f2, $f20 +/* 90F81C 8024016C 00000000 */ nop +/* 90F820 80240170 C6000008 */ lwc1 $f0, 8($s0) +/* 90F824 80240174 3C018024 */ lui $at, 0x8024 +/* 90F828 80240178 D4266378 */ ldc1 $f6, 0x6378($at) +/* 90F82C 8024017C 46000021 */ cvt.d.s $f0, $f0 +/* 90F830 80240180 46260000 */ add.d $f0, $f0, $f6 +/* 90F834 80240184 46200020 */ cvt.s.d $f0, $f0 +/* 90F838 80240188 E6000008 */ swc1 $f0, 8($s0) +/* 90F83C 8024018C 46202120 */ cvt.s.d $f4, $f4 +/* 90F840 80240190 462010A0 */ cvt.s.d $f2, $f2 +/* 90F844 80240194 E6040004 */ swc1 $f4, 4($s0) +/* 90F848 80240198 E602000C */ swc1 $f2, 0xc($s0) +/* 90F84C 8024019C C6200000 */ lwc1 $f0, ($s1) +/* 90F850 802401A0 46002086 */ mov.s $f2, $f4 +/* 90F854 802401A4 46020000 */ add.s $f0, $f0, $f2 +/* 90F858 802401A8 E6200000 */ swc1 $f0, ($s1) +/* 90F85C 802401AC C600FFEC */ lwc1 $f0, -0x14($s0) +/* 90F860 802401B0 C6020008 */ lwc1 $f2, 8($s0) +/* 90F864 802401B4 46020000 */ add.s $f0, $f0, $f2 +/* 90F868 802401B8 E600FFEC */ swc1 $f0, -0x14($s0) +/* 90F86C 802401BC 46000186 */ mov.s $f6, $f0 +/* 90F870 802401C0 3C01437F */ lui $at, 0x437f +/* 90F874 802401C4 44810000 */ mtc1 $at, $f0 +/* 90F878 802401C8 00000000 */ nop +/* 90F87C 802401CC 46003182 */ mul.s $f6, $f6, $f0 +/* 90F880 802401D0 00000000 */ nop +/* 90F884 802401D4 C604FFF0 */ lwc1 $f4, -0x10($s0) +/* 90F888 802401D8 C600000C */ lwc1 $f0, 0xc($s0) +/* 90F88C 802401DC C602FFF8 */ lwc1 $f2, -8($s0) +/* 90F890 802401E0 46002100 */ add.s $f4, $f4, $f0 +/* 90F894 802401E4 3C014000 */ lui $at, 0x4000 +/* 90F898 802401E8 44810000 */ mtc1 $at, $f0 +/* 90F89C 802401EC 00000000 */ nop +/* 90F8A0 802401F0 46001080 */ add.s $f2, $f2, $f0 +/* 90F8A4 802401F4 E604FFF0 */ swc1 $f4, -0x10($s0) +/* 90F8A8 802401F8 46183183 */ div.s $f6, $f6, $f24 +/* 90F8AC 802401FC 4600320D */ trunc.w.s $f8, $f6 +/* 90F8B0 80240200 44064000 */ mfc1 $a2, $f8 +/* 90F8B4 80240204 00000000 */ nop +/* 90F8B8 80240208 04C10002 */ bgez $a2, .L80240214 +/* 90F8BC 8024020C E602FFF8 */ swc1 $f2, -8($s0) +/* 90F8C0 80240210 0000302D */ daddu $a2, $zero, $zero +.L80240214: +/* 90F8C4 80240214 28C20100 */ slti $v0, $a2, 0x100 +/* 90F8C8 80240218 50400001 */ beql $v0, $zero, .L80240220 +/* 90F8CC 8024021C 240600FF */ addiu $a2, $zero, 0xff +.L80240220: +/* 90F8D0 80240220 3C05E6FF */ lui $a1, 0xe6ff +/* 90F8D4 80240224 34A5FFFF */ ori $a1, $a1, 0xffff +/* 90F8D8 80240228 3C02FA00 */ lui $v0, 0xfa00 +/* 90F8DC 8024022C 8E430000 */ lw $v1, ($s2) +/* 90F8E0 80240230 26730001 */ addiu $s3, $s3, 1 +/* 90F8E4 80240234 0060202D */ daddu $a0, $v1, $zero +/* 90F8E8 80240238 24630008 */ addiu $v1, $v1, 8 +/* 90F8EC 8024023C AC820000 */ sw $v0, ($a0) +/* 90F8F0 80240240 3C02F900 */ lui $v0, 0xf900 +/* 90F8F4 80240244 AC850004 */ sw $a1, 4($a0) +/* 90F8F8 80240248 AC620000 */ sw $v0, ($v1) +/* 90F8FC 8024024C 30C200FF */ andi $v0, $a2, 0xff +/* 90F900 80240250 AC620004 */ sw $v0, 4($v1) +/* 90F904 80240254 96A40000 */ lhu $a0, ($s5) +/* 90F908 80240258 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* 90F90C 8024025C 00042180 */ sll $a0, $a0, 6 +/* 90F910 80240260 E7A00010 */ swc1 $f0, 0x10($sp) +/* 90F914 80240264 8EC20000 */ lw $v0, ($s6) +/* 90F918 80240268 C6200000 */ lwc1 $f0, ($s1) +/* 90F91C 8024026C 00942021 */ addu $a0, $a0, $s4 +/* 90F920 80240270 AE430000 */ sw $v1, ($s2) +/* 90F924 80240274 24630008 */ addiu $v1, $v1, 8 +/* 90F928 80240278 E7A00014 */ swc1 $f0, 0x14($sp) +/* 90F92C 8024027C C600FFEC */ lwc1 $f0, -0x14($s0) +/* 90F930 80240280 26310028 */ addiu $s1, $s1, 0x28 +/* 90F934 80240284 AE430000 */ sw $v1, ($s2) +/* 90F938 80240288 E7A00018 */ swc1 $f0, 0x18($sp) +/* 90F93C 8024028C C600FFF0 */ lwc1 $f0, -0x10($s0) +/* 90F940 80240290 00442021 */ addu $a0, $v0, $a0 +/* 90F944 80240294 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 90F948 80240298 8E05FFF8 */ lw $a1, -8($s0) +/* 90F94C 8024029C 8E06FFFC */ lw $a2, -4($s0) +/* 90F950 802402A0 8E070000 */ lw $a3, ($s0) +/* 90F954 802402A4 0C01903A */ jal guPosition +/* 90F958 802402A8 26100028 */ addiu $s0, $s0, 0x28 +/* 90F95C 802402AC 3C06D838 */ lui $a2, 0xd838 +/* 90F960 802402B0 8E440000 */ lw $a0, ($s2) +/* 90F964 802402B4 34C60002 */ ori $a2, $a2, 2 +/* 90F968 802402B8 0080282D */ daddu $a1, $a0, $zero +/* 90F96C 802402BC 24840008 */ addiu $a0, $a0, 8 +/* 90F970 802402C0 AE440000 */ sw $a0, ($s2) +/* 90F974 802402C4 96A20000 */ lhu $v0, ($s5) +/* 90F978 802402C8 3C03DA38 */ lui $v1, 0xda38 +/* 90F97C 802402CC ACA30000 */ sw $v1, ($a1) +/* 90F980 802402D0 24430001 */ addiu $v1, $v0, 1 +/* 90F984 802402D4 3042FFFF */ andi $v0, $v0, 0xffff +/* 90F988 802402D8 00021180 */ sll $v0, $v0, 6 +/* 90F98C 802402DC A6A30000 */ sh $v1, ($s5) +/* 90F990 802402E0 8EC30000 */ lw $v1, ($s6) +/* 90F994 802402E4 00541021 */ addu $v0, $v0, $s4 +/* 90F998 802402E8 00621821 */ addu $v1, $v1, $v0 +/* 90F99C 802402EC 24820008 */ addiu $v0, $a0, 8 +/* 90F9A0 802402F0 ACA30004 */ sw $v1, 4($a1) +/* 90F9A4 802402F4 AE420000 */ sw $v0, ($s2) +/* 90F9A8 802402F8 3C02DE00 */ lui $v0, 0xde00 +/* 90F9AC 802402FC AC820000 */ sw $v0, ($a0) +/* 90F9B0 80240300 3C028024 */ lui $v0, 0x8024 +/* 90F9B4 80240304 24423E00 */ addiu $v0, $v0, 0x3e00 +/* 90F9B8 80240308 AC820004 */ sw $v0, 4($a0) +/* 90F9BC 8024030C 24820010 */ addiu $v0, $a0, 0x10 +/* 90F9C0 80240310 AE420000 */ sw $v0, ($s2) +/* 90F9C4 80240314 24020040 */ addiu $v0, $zero, 0x40 +/* 90F9C8 80240318 AC82000C */ sw $v0, 0xc($a0) +/* 90F9CC 8024031C 2A620014 */ slti $v0, $s3, 0x14 +/* 90F9D0 80240320 1440FF58 */ bnez $v0, .L80240084 +/* 90F9D4 80240324 AC860008 */ sw $a2, 8($a0) +/* 90F9D8 80240328 3C05E200 */ lui $a1, 0xe200 +/* 90F9DC 8024032C 3C04800A */ lui $a0, 0x800a +/* 90F9E0 80240330 2484A66C */ addiu $a0, $a0, -0x5994 +/* 90F9E4 80240334 8C820000 */ lw $v0, ($a0) +/* 90F9E8 80240338 34A51E01 */ ori $a1, $a1, 0x1e01 +/* 90F9EC 8024033C 0040182D */ daddu $v1, $v0, $zero +/* 90F9F0 80240340 24420008 */ addiu $v0, $v0, 8 +/* 90F9F4 80240344 AC820000 */ sw $v0, ($a0) +/* 90F9F8 80240348 AC650000 */ sw $a1, ($v1) +/* 90F9FC 8024034C AC600004 */ sw $zero, 4($v1) +/* 90FA00 80240350 24430008 */ addiu $v1, $v0, 8 +/* 90FA04 80240354 AC830000 */ sw $v1, ($a0) +/* 90FA08 80240358 3C03E700 */ lui $v1, 0xe700 +/* 90FA0C 8024035C AC430000 */ sw $v1, ($v0) +/* 90FA10 80240360 AC400004 */ sw $zero, 4($v0) +/* 90FA14 80240364 8FBF003C */ lw $ra, 0x3c($sp) +/* 90FA18 80240368 8FB60038 */ lw $s6, 0x38($sp) +/* 90FA1C 8024036C 8FB50034 */ lw $s5, 0x34($sp) +/* 90FA20 80240370 8FB40030 */ lw $s4, 0x30($sp) +/* 90FA24 80240374 8FB3002C */ lw $s3, 0x2c($sp) +/* 90FA28 80240378 8FB20028 */ lw $s2, 0x28($sp) +/* 90FA2C 8024037C 8FB10024 */ lw $s1, 0x24($sp) +/* 90FA30 80240380 8FB00020 */ lw $s0, 0x20($sp) +/* 90FA34 80240384 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 90FA38 80240388 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 90FA3C 8024038C D7B40040 */ ldc1 $f20, 0x40($sp) +/* 90FA40 80240390 03E00008 */ jr $ra +/* 90FA44 80240394 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240398.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240398.s new file mode 100644 index 0000000000..21dc4b7d4a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240398.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240398 +/* 90FA48 80240398 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 90FA4C 8024039C AFBF0024 */ sw $ra, 0x24($sp) +/* 90FA50 802403A0 AFB40020 */ sw $s4, 0x20($sp) +/* 90FA54 802403A4 AFB3001C */ sw $s3, 0x1c($sp) +/* 90FA58 802403A8 AFB20018 */ sw $s2, 0x18($sp) +/* 90FA5C 802403AC AFB10014 */ sw $s1, 0x14($sp) +/* 90FA60 802403B0 AFB00010 */ sw $s0, 0x10($sp) +/* 90FA64 802403B4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 90FA68 802403B8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 90FA6C 802403BC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 90FA70 802403C0 0C00AB39 */ jal heap_malloc +/* 90FA74 802403C4 24040320 */ addiu $a0, $zero, 0x320 +/* 90FA78 802403C8 0040982D */ daddu $s3, $v0, $zero +/* 90FA7C 802403CC 0000202D */ daddu $a0, $zero, $zero +/* 90FA80 802403D0 3C05FD05 */ lui $a1, 0xfd05 +/* 90FA84 802403D4 34A50F8F */ ori $a1, $a1, 0xf8f +/* 90FA88 802403D8 0C0B2026 */ jal set_variable +/* 90FA8C 802403DC 0260302D */ daddu $a2, $s3, $zero +/* 90FA90 802403E0 0000902D */ daddu $s2, $zero, $zero +/* 90FA94 802403E4 3C146666 */ lui $s4, 0x6666 +/* 90FA98 802403E8 36946667 */ ori $s4, $s4, 0x6667 +/* 90FA9C 802403EC 26700018 */ addiu $s0, $s3, 0x18 +/* 90FAA0 802403F0 0240882D */ daddu $s1, $s2, $zero +/* 90FAA4 802403F4 3C014120 */ lui $at, 0x4120 +/* 90FAA8 802403F8 4481C000 */ mtc1 $at, $f24 +/* 90FAAC 802403FC 3C018024 */ lui $at, 0x8024 +/* 90FAB0 80240400 D4346380 */ ldc1 $f20, 0x6380($at) +/* 90FAB4 80240404 3C013F80 */ lui $at, 0x3f80 +/* 90FAB8 80240408 4481B000 */ mtc1 $at, $f22 +.L8024040C: +/* 90FABC 8024040C 2404000A */ addiu $a0, $zero, 0xa +/* 90FAC0 80240410 02340018 */ mult $s1, $s4 +/* 90FAC4 80240414 00111FC3 */ sra $v1, $s1, 0x1f +/* 90FAC8 80240418 AE600000 */ sw $zero, ($s3) +/* 90FACC 8024041C AE00FFF0 */ sw $zero, -0x10($s0) +/* 90FAD0 80240420 AE000004 */ sw $zero, 4($s0) +/* 90FAD4 80240424 00003810 */ mfhi $a3 +/* 90FAD8 80240428 000710C3 */ sra $v0, $a3, 3 +/* 90FADC 8024042C 00431023 */ subu $v0, $v0, $v1 +/* 90FAE0 80240430 44820000 */ mtc1 $v0, $f0 +/* 90FAE4 80240434 00000000 */ nop +/* 90FAE8 80240438 46800020 */ cvt.s.w $f0, $f0 +/* 90FAEC 8024043C 0C00A67F */ jal rand_int +/* 90FAF0 80240440 E600FFEC */ swc1 $f0, -0x14($s0) +/* 90FAF4 80240444 44921000 */ mtc1 $s2, $f2 +/* 90FAF8 80240448 00000000 */ nop +/* 90FAFC 8024044C 468010A0 */ cvt.s.w $f2, $f2 +/* 90FB00 80240450 460010A1 */ cvt.d.s $f2, $f2 +/* 90FB04 80240454 46341082 */ mul.d $f2, $f2, $f20 +/* 90FB08 80240458 00000000 */ nop +/* 90FB0C 8024045C 2631FFE2 */ addiu $s1, $s1, -0x1e +/* 90FB10 80240460 26730028 */ addiu $s3, $s3, 0x28 +/* 90FB14 80240464 24040167 */ addiu $a0, $zero, 0x167 +/* 90FB18 80240468 26520001 */ addiu $s2, $s2, 1 +/* 90FB1C 8024046C 44820000 */ mtc1 $v0, $f0 +/* 90FB20 80240470 00000000 */ nop +/* 90FB24 80240474 46800020 */ cvt.s.w $f0, $f0 +/* 90FB28 80240478 46180003 */ div.s $f0, $f0, $f24 +/* 90FB2C 8024047C 46000021 */ cvt.d.s $f0, $f0 +/* 90FB30 80240480 46220001 */ sub.d $f0, $f0, $f2 +/* 90FB34 80240484 AE00000C */ sw $zero, 0xc($s0) +/* 90FB38 80240488 E616FFF4 */ swc1 $f22, -0xc($s0) +/* 90FB3C 8024048C 46200020 */ cvt.s.d $f0, $f0 +/* 90FB40 80240490 0C00A67F */ jal rand_int +/* 90FB44 80240494 E6000008 */ swc1 $f0, 8($s0) +/* 90FB48 80240498 24040167 */ addiu $a0, $zero, 0x167 +/* 90FB4C 8024049C 44820000 */ mtc1 $v0, $f0 +/* 90FB50 802404A0 00000000 */ nop +/* 90FB54 802404A4 46800020 */ cvt.s.w $f0, $f0 +/* 90FB58 802404A8 0C00A67F */ jal rand_int +/* 90FB5C 802404AC E600FFF8 */ swc1 $f0, -8($s0) +/* 90FB60 802404B0 24040167 */ addiu $a0, $zero, 0x167 +/* 90FB64 802404B4 44820000 */ mtc1 $v0, $f0 +/* 90FB68 802404B8 00000000 */ nop +/* 90FB6C 802404BC 46800020 */ cvt.s.w $f0, $f0 +/* 90FB70 802404C0 0C00A67F */ jal rand_int +/* 90FB74 802404C4 E600FFFC */ swc1 $f0, -4($s0) +/* 90FB78 802404C8 44820000 */ mtc1 $v0, $f0 +/* 90FB7C 802404CC 00000000 */ nop +/* 90FB80 802404D0 46800020 */ cvt.s.w $f0, $f0 +/* 90FB84 802404D4 E6000000 */ swc1 $f0, ($s0) +/* 90FB88 802404D8 2A420014 */ slti $v0, $s2, 0x14 +/* 90FB8C 802404DC 1440FFCB */ bnez $v0, .L8024040C +/* 90FB90 802404E0 26100028 */ addiu $s0, $s0, 0x28 +/* 90FB94 802404E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 90FB98 802404E8 8FB40020 */ lw $s4, 0x20($sp) +/* 90FB9C 802404EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 90FBA0 802404F0 8FB20018 */ lw $s2, 0x18($sp) +/* 90FBA4 802404F4 8FB10014 */ lw $s1, 0x14($sp) +/* 90FBA8 802404F8 8FB00010 */ lw $s0, 0x10($sp) +/* 90FBAC 802404FC D7B80038 */ ldc1 $f24, 0x38($sp) +/* 90FBB0 80240500 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 90FBB4 80240504 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 90FBB8 80240508 24020002 */ addiu $v0, $zero, 2 +/* 90FBBC 8024050C 03E00008 */ jr $ra +/* 90FBC0 80240510 27BD0040 */ addiu $sp, $sp, 0x40 +/* 90FBC4 80240514 00000000 */ nop +/* 90FBC8 80240518 00000000 */ nop +/* 90FBCC 8024051C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240520.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240520.s new file mode 100644 index 0000000000..e1d882ab64 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240520.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240520 +/* 90FBD0 80240520 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 90FBD4 80240524 AFB10014 */ sw $s1, 0x14($sp) +/* 90FBD8 80240528 0080882D */ daddu $s1, $a0, $zero +/* 90FBDC 8024052C 3C05800B */ lui $a1, %hi(gCameras) +/* 90FBE0 80240530 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 90FBE4 80240534 AFBF0020 */ sw $ra, 0x20($sp) +/* 90FBE8 80240538 AFB3001C */ sw $s3, 0x1c($sp) +/* 90FBEC 8024053C AFB20018 */ sw $s2, 0x18($sp) +/* 90FBF0 80240540 AFB00010 */ sw $s0, 0x10($sp) +/* 90FBF4 80240544 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 90FBF8 80240548 8E330148 */ lw $s3, 0x148($s1) +/* 90FBFC 8024054C 3C03800A */ lui $v1, 0x800a +/* 90FC00 80240550 8463A634 */ lh $v1, -0x59cc($v1) +/* 90FC04 80240554 8E30000C */ lw $s0, 0xc($s1) +/* 90FC08 80240558 00031080 */ sll $v0, $v1, 2 +/* 90FC0C 8024055C 00431021 */ addu $v0, $v0, $v1 +/* 90FC10 80240560 00021080 */ sll $v0, $v0, 2 +/* 90FC14 80240564 00431023 */ subu $v0, $v0, $v1 +/* 90FC18 80240568 000218C0 */ sll $v1, $v0, 3 +/* 90FC1C 8024056C 00431021 */ addu $v0, $v0, $v1 +/* 90FC20 80240570 000210C0 */ sll $v0, $v0, 3 +/* 90FC24 80240574 86640008 */ lh $a0, 8($s3) +/* 90FC28 80240578 0C00EABB */ jal get_npc_unsafe +/* 90FC2C 8024057C 00459021 */ addu $s2, $v0, $a1 +/* 90FC30 80240580 0220202D */ daddu $a0, $s1, $zero +/* 90FC34 80240584 8E050000 */ lw $a1, ($s0) +/* 90FC38 80240588 0C0B1EAF */ jal get_variable +/* 90FC3C 8024058C 0040802D */ daddu $s0, $v0, $zero +/* 90FC40 80240590 0260202D */ daddu $a0, $s3, $zero +/* 90FC44 80240594 8C460024 */ lw $a2, 0x24($v0) +/* 90FC48 80240598 8C470028 */ lw $a3, 0x28($v0) +/* 90FC4C 8024059C 0C0124FB */ jal func_800493EC +/* 90FC50 802405A0 0000282D */ daddu $a1, $zero, $zero +/* 90FC54 802405A4 10400052 */ beqz $v0, .L802406F0 +/* 90FC58 802405A8 2402FFFF */ addiu $v0, $zero, -1 +/* 90FC5C 802405AC C64C006C */ lwc1 $f12, 0x6c($s2) +/* 90FC60 802405B0 C60E000C */ lwc1 $f14, 0xc($s0) +/* 90FC64 802405B4 3C014387 */ lui $at, 0x4387 +/* 90FC68 802405B8 4481A000 */ mtc1 $at, $f20 +/* 90FC6C 802405BC 0C00A70A */ jal get_clamped_angle_diff +/* 90FC70 802405C0 00000000 */ nop +/* 90FC74 802405C4 0C00A6C9 */ jal clamp_angle +/* 90FC78 802405C8 46000306 */ mov.s $f12, $f0 +/* 90FC7C 802405CC 3C018024 */ lui $at, 0x8024 +/* 90FC80 802405D0 D4226390 */ ldc1 $f2, 0x6390($at) +/* 90FC84 802405D4 46000021 */ cvt.d.s $f0, $f0 +/* 90FC88 802405D8 4622003C */ c.lt.d $f0, $f2 +/* 90FC8C 802405DC 00000000 */ nop +/* 90FC90 802405E0 45000003 */ bc1f .L802405F0 +/* 90FC94 802405E4 00000000 */ nop +/* 90FC98 802405E8 3C0142B4 */ lui $at, 0x42b4 +/* 90FC9C 802405EC 4481A000 */ mtc1 $at, $f20 +.L802405F0: +/* 90FCA0 802405F0 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* 90FCA4 802405F4 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* 90FCA8 802405F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 90FCAC 802405FC 8E220000 */ lw $v0, ($s1) +/* 90FCB0 80240600 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 90FCB4 80240604 8C460028 */ lw $a2, 0x28($v0) +/* 90FCB8 80240608 0C00A720 */ jal atan2 +/* 90FCBC 8024060C 8C470030 */ lw $a3, 0x30($v0) +/* 90FCC0 80240610 4600A306 */ mov.s $f12, $f20 +/* 90FCC4 80240614 0C00A70A */ jal get_clamped_angle_diff +/* 90FCC8 80240618 46000386 */ mov.s $f14, $f0 +/* 90FCCC 8024061C 46000005 */ abs.s $f0, $f0 +/* 90FCD0 80240620 3C018024 */ lui $at, 0x8024 +/* 90FCD4 80240624 D4226398 */ ldc1 $f2, 0x6398($at) +/* 90FCD8 80240628 46000021 */ cvt.d.s $f0, $f0 +/* 90FCDC 8024062C 4620103C */ c.lt.d $f2, $f0 +/* 90FCE0 80240630 00000000 */ nop +/* 90FCE4 80240634 4501002E */ bc1t .L802406F0 +/* 90FCE8 80240638 2402FFFF */ addiu $v0, $zero, -1 +/* 90FCEC 8024063C 8E220000 */ lw $v0, ($s1) +/* 90FCF0 80240640 C600003C */ lwc1 $f0, 0x3c($s0) +/* 90FCF4 80240644 C442002C */ lwc1 $f2, 0x2c($v0) +/* 90FCF8 80240648 860200A8 */ lh $v0, 0xa8($s0) +/* 90FCFC 8024064C 46020001 */ sub.s $f0, $f0, $f2 +/* 90FD00 80240650 44821000 */ mtc1 $v0, $f2 +/* 90FD04 80240654 00000000 */ nop +/* 90FD08 80240658 468010A1 */ cvt.d.w $f2, $f2 +/* 90FD0C 8024065C 46221080 */ add.d $f2, $f2, $f2 +/* 90FD10 80240660 46000005 */ abs.s $f0, $f0 +/* 90FD14 80240664 46000021 */ cvt.d.s $f0, $f0 +/* 90FD18 80240668 4620103E */ c.le.d $f2, $f0 +/* 90FD1C 8024066C 00000000 */ nop +/* 90FD20 80240670 4501001F */ bc1t .L802406F0 +/* 90FD24 80240674 2402FFFF */ addiu $v0, $zero, -1 +/* 90FD28 80240678 3C038011 */ lui $v1, 0x8011 +/* 90FD2C 8024067C 8063EBB3 */ lb $v1, -0x144d($v1) +/* 90FD30 80240680 24020009 */ addiu $v0, $zero, 9 +/* 90FD34 80240684 10620019 */ beq $v1, $v0, .L802406EC +/* 90FD38 80240688 24020007 */ addiu $v0, $zero, 7 +/* 90FD3C 8024068C 14620005 */ bne $v1, $v0, .L802406A4 +/* 90FD40 80240690 2402FFFF */ addiu $v0, $zero, -1 +/* 90FD44 80240694 080901BC */ j .L802406F0 +/* 90FD48 80240698 00000000 */ nop +.L8024069C: +/* 90FD4C 8024069C 080901BC */ j .L802406F0 +/* 90FD50 802406A0 0240102D */ daddu $v0, $s2, $zero +.L802406A4: +/* 90FD54 802406A4 8E620078 */ lw $v0, 0x78($s3) +/* 90FD58 802406A8 18400010 */ blez $v0, .L802406EC +/* 90FD5C 802406AC 0000882D */ daddu $s1, $zero, $zero +.L802406B0: +/* 90FD60 802406B0 86620008 */ lh $v0, 8($s3) +/* 90FD64 802406B4 00511021 */ addu $v0, $v0, $s1 +/* 90FD68 802406B8 24520001 */ addiu $s2, $v0, 1 +/* 90FD6C 802406BC 0C00FB3A */ jal get_enemy +/* 90FD70 802406C0 0240202D */ daddu $a0, $s2, $zero +/* 90FD74 802406C4 0240202D */ daddu $a0, $s2, $zero +/* 90FD78 802406C8 0C00EABB */ jal get_npc_unsafe +/* 90FD7C 802406CC 0040802D */ daddu $s0, $v0, $zero +/* 90FD80 802406D0 8E02006C */ lw $v0, 0x6c($s0) +/* 90FD84 802406D4 1040FFF1 */ beqz $v0, .L8024069C +/* 90FD88 802406D8 26310001 */ addiu $s1, $s1, 1 +/* 90FD8C 802406DC 8E620078 */ lw $v0, 0x78($s3) +/* 90FD90 802406E0 0222102A */ slt $v0, $s1, $v0 +/* 90FD94 802406E4 1440FFF2 */ bnez $v0, .L802406B0 +/* 90FD98 802406E8 00000000 */ nop +.L802406EC: +/* 90FD9C 802406EC 2402FFFF */ addiu $v0, $zero, -1 +.L802406F0: +/* 90FDA0 802406F0 8FBF0020 */ lw $ra, 0x20($sp) +/* 90FDA4 802406F4 8FB3001C */ lw $s3, 0x1c($sp) +/* 90FDA8 802406F8 8FB20018 */ lw $s2, 0x18($sp) +/* 90FDAC 802406FC 8FB10014 */ lw $s1, 0x14($sp) +/* 90FDB0 80240700 8FB00010 */ lw $s0, 0x10($sp) +/* 90FDB4 80240704 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 90FDB8 80240708 03E00008 */ jr $ra +/* 90FDBC 8024070C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240710_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240710_90F6B0.s new file mode 100644 index 0000000000..d8f1265e3b --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240710_90F6B0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240710_90FDC0 +/* 90FDC0 80240710 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 90FDC4 80240714 AFB20038 */ sw $s2, 0x38($sp) +/* 90FDC8 80240718 0080902D */ daddu $s2, $a0, $zero +/* 90FDCC 8024071C AFB00030 */ sw $s0, 0x30($sp) +/* 90FDD0 80240720 AFBF003C */ sw $ra, 0x3c($sp) +/* 90FDD4 80240724 AFB10034 */ sw $s1, 0x34($sp) +/* 90FDD8 80240728 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 90FDDC 8024072C F7B40040 */ sdc1 $f20, 0x40($sp) +/* 90FDE0 80240730 8E510148 */ lw $s1, 0x148($s2) +/* 90FDE4 80240734 4485A000 */ mtc1 $a1, $f20 +/* 90FDE8 80240738 86240008 */ lh $a0, 8($s1) +/* 90FDEC 8024073C 4486B000 */ mtc1 $a2, $f22 +/* 90FDF0 80240740 0C00EABB */ jal get_npc_unsafe +/* 90FDF4 80240744 00E0802D */ daddu $s0, $a3, $zero +/* 90FDF8 80240748 0200202D */ daddu $a0, $s0, $zero +/* 90FDFC 8024074C 0220282D */ daddu $a1, $s1, $zero +/* 90FE00 80240750 24030001 */ addiu $v1, $zero, 1 +/* 90FE04 80240754 4406A000 */ mfc1 $a2, $f20 +/* 90FE08 80240758 4407B000 */ mfc1 $a3, $f22 +/* 90FE0C 8024075C 0040802D */ daddu $s0, $v0, $zero +/* 90FE10 80240760 0C01242D */ jal func_800490B4 +/* 90FE14 80240764 AFA30010 */ sw $v1, 0x10($sp) +/* 90FE18 80240768 1440001D */ bnez $v0, .L802407E0 +/* 90FE1C 8024076C 24040002 */ addiu $a0, $zero, 2 +/* 90FE20 80240770 0200282D */ daddu $a1, $s0, $zero +/* 90FE24 80240774 0000302D */ daddu $a2, $zero, $zero +/* 90FE28 80240778 860300A8 */ lh $v1, 0xa8($s0) +/* 90FE2C 8024077C 3C013F80 */ lui $at, 0x3f80 +/* 90FE30 80240780 44810000 */ mtc1 $at, $f0 +/* 90FE34 80240784 3C014000 */ lui $at, 0x4000 +/* 90FE38 80240788 44811000 */ mtc1 $at, $f2 +/* 90FE3C 8024078C 3C01C1A0 */ lui $at, 0xc1a0 +/* 90FE40 80240790 44812000 */ mtc1 $at, $f4 +/* 90FE44 80240794 2402000F */ addiu $v0, $zero, 0xf +/* 90FE48 80240798 AFA2001C */ sw $v0, 0x1c($sp) +/* 90FE4C 8024079C 44833000 */ mtc1 $v1, $f6 +/* 90FE50 802407A0 00000000 */ nop +/* 90FE54 802407A4 468031A0 */ cvt.s.w $f6, $f6 +/* 90FE58 802407A8 44073000 */ mfc1 $a3, $f6 +/* 90FE5C 802407AC 27A20028 */ addiu $v0, $sp, 0x28 +/* 90FE60 802407B0 AFA20020 */ sw $v0, 0x20($sp) +/* 90FE64 802407B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 90FE68 802407B8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 90FE6C 802407BC 0C01BFA4 */ jal fx_emote +/* 90FE70 802407C0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 90FE74 802407C4 8E2200CC */ lw $v0, 0xcc($s1) +/* 90FE78 802407C8 8C430000 */ lw $v1, ($v0) +/* 90FE7C 802407CC 24020014 */ addiu $v0, $zero, 0x14 +/* 90FE80 802407D0 A602008E */ sh $v0, 0x8e($s0) +/* 90FE84 802407D4 24020021 */ addiu $v0, $zero, 0x21 +/* 90FE88 802407D8 0809020C */ j .L80240830 +/* 90FE8C 802407DC AE030028 */ sw $v1, 0x28($s0) +.L802407E0: +/* 90FE90 802407E0 0C090148 */ jal func_80240520 +/* 90FE94 802407E4 0240202D */ daddu $a0, $s2, $zero +/* 90FE98 802407E8 0040202D */ daddu $a0, $v0, $zero +/* 90FE9C 802407EC 2402FFFF */ addiu $v0, $zero, -1 +/* 90FEA0 802407F0 10820010 */ beq $a0, $v0, .L80240834 +/* 90FEA4 802407F4 00000000 */ nop +/* 90FEA8 802407F8 0C00FB3A */ jal get_enemy +/* 90FEAC 802407FC 00000000 */ nop +/* 90FEB0 80240800 8C42006C */ lw $v0, 0x6c($v0) +/* 90FEB4 80240804 1440000B */ bnez $v0, .L80240834 +/* 90FEB8 80240808 00000000 */ nop +/* 90FEBC 8024080C 8602008C */ lh $v0, 0x8c($s0) +/* 90FEC0 80240810 14400008 */ bnez $v0, .L80240834 +/* 90FEC4 80240814 00000000 */ nop +/* 90FEC8 80240818 8E2200CC */ lw $v0, 0xcc($s1) +/* 90FECC 8024081C 8C420020 */ lw $v0, 0x20($v0) +/* 90FED0 80240820 AE020028 */ sw $v0, 0x28($s0) +/* 90FED4 80240824 96220072 */ lhu $v0, 0x72($s1) +/* 90FED8 80240828 A602008E */ sh $v0, 0x8e($s0) +/* 90FEDC 8024082C 2402001E */ addiu $v0, $zero, 0x1e +.L80240830: +/* 90FEE0 80240830 AE420070 */ sw $v0, 0x70($s2) +.L80240834: +/* 90FEE4 80240834 8FBF003C */ lw $ra, 0x3c($sp) +/* 90FEE8 80240838 8FB20038 */ lw $s2, 0x38($sp) +/* 90FEEC 8024083C 8FB10034 */ lw $s1, 0x34($sp) +/* 90FEF0 80240840 8FB00030 */ lw $s0, 0x30($sp) +/* 90FEF4 80240844 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 90FEF8 80240848 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 90FEFC 8024084C 03E00008 */ jr $ra +/* 90FF00 80240850 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240854.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240854.s new file mode 100644 index 0000000000..fd92474397 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240854.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240854 +/* 90FF04 80240854 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 90FF08 80240858 AFB20038 */ sw $s2, 0x38($sp) +/* 90FF0C 8024085C 0080902D */ daddu $s2, $a0, $zero +/* 90FF10 80240860 AFBF003C */ sw $ra, 0x3c($sp) +/* 90FF14 80240864 AFB10034 */ sw $s1, 0x34($sp) +/* 90FF18 80240868 AFB00030 */ sw $s0, 0x30($sp) +/* 90FF1C 8024086C 8E510148 */ lw $s1, 0x148($s2) +/* 90FF20 80240870 0C00EABB */ jal get_npc_unsafe +/* 90FF24 80240874 86240008 */ lh $a0, 8($s1) +/* 90FF28 80240878 0040802D */ daddu $s0, $v0, $zero +/* 90FF2C 8024087C 9602008E */ lhu $v0, 0x8e($s0) +/* 90FF30 80240880 2442FFFF */ addiu $v0, $v0, -1 +/* 90FF34 80240884 A602008E */ sh $v0, 0x8e($s0) +/* 90FF38 80240888 00021400 */ sll $v0, $v0, 0x10 +/* 90FF3C 8024088C 1C40002B */ bgtz $v0, .L8024093C +/* 90FF40 80240890 00000000 */ nop +/* 90FF44 80240894 0C090148 */ jal func_80240520 +/* 90FF48 80240898 0240202D */ daddu $a0, $s2, $zero +/* 90FF4C 8024089C 0040202D */ daddu $a0, $v0, $zero +/* 90FF50 802408A0 0481001A */ bgez $a0, .L8024090C +/* 90FF54 802408A4 2402000F */ addiu $v0, $zero, 0xf +/* 90FF58 802408A8 24040002 */ addiu $a0, $zero, 2 +/* 90FF5C 802408AC 860300A8 */ lh $v1, 0xa8($s0) +/* 90FF60 802408B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 90FF64 802408B4 27A20028 */ addiu $v0, $sp, 0x28 +/* 90FF68 802408B8 0200282D */ daddu $a1, $s0, $zero +/* 90FF6C 802408BC 3C013F80 */ lui $at, 0x3f80 +/* 90FF70 802408C0 44810000 */ mtc1 $at, $f0 +/* 90FF74 802408C4 3C014000 */ lui $at, 0x4000 +/* 90FF78 802408C8 44811000 */ mtc1 $at, $f2 +/* 90FF7C 802408CC 3C01C1A0 */ lui $at, 0xc1a0 +/* 90FF80 802408D0 44812000 */ mtc1 $at, $f4 +/* 90FF84 802408D4 44833000 */ mtc1 $v1, $f6 +/* 90FF88 802408D8 00000000 */ nop +/* 90FF8C 802408DC 468031A0 */ cvt.s.w $f6, $f6 +/* 90FF90 802408E0 44073000 */ mfc1 $a3, $f6 +/* 90FF94 802408E4 0000302D */ daddu $a2, $zero, $zero +/* 90FF98 802408E8 AFA20020 */ sw $v0, 0x20($sp) +/* 90FF9C 802408EC E7A00010 */ swc1 $f0, 0x10($sp) +/* 90FFA0 802408F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 90FFA4 802408F4 0C01BFA4 */ jal fx_emote +/* 90FFA8 802408F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 90FFAC 802408FC 8E2200CC */ lw $v0, 0xcc($s1) +/* 90FFB0 80240900 8C420000 */ lw $v0, ($v0) +/* 90FFB4 80240904 0809024B */ j .L8024092C +/* 90FFB8 80240908 AE020028 */ sw $v0, 0x28($s0) +.L8024090C: +/* 90FFBC 8024090C 8E2200CC */ lw $v0, 0xcc($s1) +/* 90FFC0 80240910 8C420024 */ lw $v0, 0x24($v0) +/* 90FFC4 80240914 0C00FB3A */ jal get_enemy +/* 90FFC8 80240918 AE020028 */ sw $v0, 0x28($s0) +/* 90FFCC 8024091C 86240008 */ lh $a0, 8($s1) +/* 90FFD0 80240920 24030001 */ addiu $v1, $zero, 1 +/* 90FFD4 80240924 AC43006C */ sw $v1, 0x6c($v0) +/* 90FFD8 80240928 AC44007C */ sw $a0, 0x7c($v0) +.L8024092C: +/* 90FFDC 8024092C 96220076 */ lhu $v0, 0x76($s1) +/* 90FFE0 80240930 A602008E */ sh $v0, 0x8e($s0) +/* 90FFE4 80240934 24020021 */ addiu $v0, $zero, 0x21 +/* 90FFE8 80240938 AE420070 */ sw $v0, 0x70($s2) +.L8024093C: +/* 90FFEC 8024093C 8FBF003C */ lw $ra, 0x3c($sp) +/* 90FFF0 80240940 8FB20038 */ lw $s2, 0x38($sp) +/* 90FFF4 80240944 8FB10034 */ lw $s1, 0x34($sp) +/* 90FFF8 80240948 8FB00030 */ lw $s0, 0x30($sp) +/* 90FFFC 8024094C 03E00008 */ jr $ra +/* 910000 80240950 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240954.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240954.s new file mode 100644 index 0000000000..c58b1df7a5 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240954.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240954 +/* 910004 80240954 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 910008 80240958 AFB10014 */ sw $s1, 0x14($sp) +/* 91000C 8024095C 0080882D */ daddu $s1, $a0, $zero +/* 910010 80240960 AFBF0018 */ sw $ra, 0x18($sp) +/* 910014 80240964 AFB00010 */ sw $s0, 0x10($sp) +/* 910018 80240968 8E300148 */ lw $s0, 0x148($s1) +/* 91001C 8024096C 0C00EABB */ jal get_npc_unsafe +/* 910020 80240970 86040008 */ lh $a0, 8($s0) +/* 910024 80240974 96030076 */ lhu $v1, 0x76($s0) +/* 910028 80240978 A443008E */ sh $v1, 0x8e($v0) +/* 91002C 8024097C 24020021 */ addiu $v0, $zero, 0x21 +/* 910030 80240980 AE220070 */ sw $v0, 0x70($s1) +/* 910034 80240984 8FBF0018 */ lw $ra, 0x18($sp) +/* 910038 80240988 8FB10014 */ lw $s1, 0x14($sp) +/* 91003C 8024098C 8FB00010 */ lw $s0, 0x10($sp) +/* 910040 80240990 03E00008 */ jr $ra +/* 910044 80240994 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240998.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240998.s new file mode 100644 index 0000000000..7091f95087 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240998.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240998 +/* 910048 80240998 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 91004C 8024099C AFB3001C */ sw $s3, 0x1c($sp) +/* 910050 802409A0 0080982D */ daddu $s3, $a0, $zero +/* 910054 802409A4 AFBF0020 */ sw $ra, 0x20($sp) +/* 910058 802409A8 AFB20018 */ sw $s2, 0x18($sp) +/* 91005C 802409AC AFB10014 */ sw $s1, 0x14($sp) +/* 910060 802409B0 AFB00010 */ sw $s0, 0x10($sp) +/* 910064 802409B4 8E720148 */ lw $s2, 0x148($s3) +/* 910068 802409B8 0C00EABB */ jal get_npc_unsafe +/* 91006C 802409BC 86440008 */ lh $a0, 8($s2) +/* 910070 802409C0 86440008 */ lh $a0, 8($s2) +/* 910074 802409C4 0040882D */ daddu $s1, $v0, $zero +/* 910078 802409C8 0C00FB3A */ jal get_enemy +/* 91007C 802409CC 24840001 */ addiu $a0, $a0, 1 +/* 910080 802409D0 0040802D */ daddu $s0, $v0, $zero +/* 910084 802409D4 0C00EABB */ jal get_npc_unsafe +/* 910088 802409D8 86040008 */ lh $a0, 8($s0) +/* 91008C 802409DC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 910090 802409E0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 910094 802409E4 8C460038 */ lw $a2, 0x38($v0) +/* 910098 802409E8 0C00A720 */ jal atan2 +/* 91009C 802409EC 8C470040 */ lw $a3, 0x40($v0) +/* 9100A0 802409F0 E620000C */ swc1 $f0, 0xc($s1) +/* 9100A4 802409F4 8E02006C */ lw $v0, 0x6c($s0) +/* 9100A8 802409F8 14400008 */ bnez $v0, .L80240A1C +/* 9100AC 802409FC 00000000 */ nop +/* 9100B0 80240A00 8E4200CC */ lw $v0, 0xcc($s2) +/* 9100B4 80240A04 8C420000 */ lw $v0, ($v0) +/* 9100B8 80240A08 AE220028 */ sw $v0, 0x28($s1) +/* 9100BC 80240A0C 96420076 */ lhu $v0, 0x76($s2) +/* 9100C0 80240A10 A622008E */ sh $v0, 0x8e($s1) +/* 9100C4 80240A14 24020021 */ addiu $v0, $zero, 0x21 +/* 9100C8 80240A18 AE620070 */ sw $v0, 0x70($s3) +.L80240A1C: +/* 9100CC 80240A1C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9100D0 80240A20 8FB3001C */ lw $s3, 0x1c($sp) +/* 9100D4 80240A24 8FB20018 */ lw $s2, 0x18($sp) +/* 9100D8 80240A28 8FB10014 */ lw $s1, 0x14($sp) +/* 9100DC 80240A2C 8FB00010 */ lw $s0, 0x10($sp) +/* 9100E0 80240A30 03E00008 */ jr $ra +/* 9100E4 80240A34 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A38_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A38_90F6B0.s new file mode 100644 index 0000000000..fe37336b9e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A38_90F6B0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A38_9100E8 +/* 9100E8 80240A38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9100EC 80240A3C AFB00010 */ sw $s0, 0x10($sp) +/* 9100F0 80240A40 0080802D */ daddu $s0, $a0, $zero +/* 9100F4 80240A44 AFBF0014 */ sw $ra, 0x14($sp) +/* 9100F8 80240A48 8E020148 */ lw $v0, 0x148($s0) +/* 9100FC 80240A4C 0C00EABB */ jal get_npc_unsafe +/* 910100 80240A50 84440008 */ lh $a0, 8($v0) +/* 910104 80240A54 9443008E */ lhu $v1, 0x8e($v0) +/* 910108 80240A58 2463FFFF */ addiu $v1, $v1, -1 +/* 91010C 80240A5C A443008E */ sh $v1, 0x8e($v0) +/* 910110 80240A60 00031C00 */ sll $v1, $v1, 0x10 +/* 910114 80240A64 58600001 */ blezl $v1, .L80240A6C +/* 910118 80240A68 AE000070 */ sw $zero, 0x70($s0) +.L80240A6C: +/* 91011C 80240A6C 8FBF0014 */ lw $ra, 0x14($sp) +/* 910120 80240A70 8FB00010 */ lw $s0, 0x10($sp) +/* 910124 80240A74 03E00008 */ jr $ra +/* 910128 80240A78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A7C_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A7C_90F6B0.s new file mode 100644 index 0000000000..3cbd8cfc52 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240A7C_90F6B0.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A7C_91012C +/* 91012C 80240A7C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 910130 80240A80 AFB7004C */ sw $s7, 0x4c($sp) +/* 910134 80240A84 0080B82D */ daddu $s7, $a0, $zero +/* 910138 80240A88 AFB10034 */ sw $s1, 0x34($sp) +/* 91013C 80240A8C 00A0882D */ daddu $s1, $a1, $zero +/* 910140 80240A90 AFBF0050 */ sw $ra, 0x50($sp) +/* 910144 80240A94 AFB60048 */ sw $s6, 0x48($sp) +/* 910148 80240A98 AFB50044 */ sw $s5, 0x44($sp) +/* 91014C 80240A9C AFB40040 */ sw $s4, 0x40($sp) +/* 910150 80240AA0 AFB3003C */ sw $s3, 0x3c($sp) +/* 910154 80240AA4 AFB20038 */ sw $s2, 0x38($sp) +/* 910158 80240AA8 AFB00030 */ sw $s0, 0x30($sp) +/* 91015C 80240AAC 8EF30148 */ lw $s3, 0x148($s7) +/* 910160 80240AB0 86640008 */ lh $a0, 8($s3) +/* 910164 80240AB4 8EF0000C */ lw $s0, 0xc($s7) +/* 910168 80240AB8 0C00FB5A */ jal get_enemy_safe +/* 91016C 80240ABC 0000B02D */ daddu $s6, $zero, $zero +/* 910170 80240AC0 10400131 */ beqz $v0, .L80240F88 +/* 910174 80240AC4 24020005 */ addiu $v0, $zero, 5 +/* 910178 80240AC8 8E63006C */ lw $v1, 0x6c($s3) +/* 91017C 80240ACC 1062012F */ beq $v1, $v0, .L80240F8C +/* 910180 80240AD0 0000102D */ daddu $v0, $zero, $zero +/* 910184 80240AD4 8E050000 */ lw $a1, ($s0) +/* 910188 80240AD8 0C0B1EAF */ jal get_variable +/* 91018C 80240ADC 02E0202D */ daddu $a0, $s7, $zero +/* 910190 80240AE0 86640008 */ lh $a0, 8($s3) +/* 910194 80240AE4 0C00EABB */ jal get_npc_unsafe +/* 910198 80240AE8 0040A82D */ daddu $s5, $v0, $zero +/* 91019C 80240AEC 8E630070 */ lw $v1, 0x70($s3) +/* 9101A0 80240AF0 30630002 */ andi $v1, $v1, 2 +/* 9101A4 80240AF4 10600008 */ beqz $v1, .L80240B18 +/* 9101A8 80240AF8 0040902D */ daddu $s2, $v0, $zero +/* 9101AC 80240AFC 964200A8 */ lhu $v0, 0xa8($s2) +/* 9101B0 80240B00 00021400 */ sll $v0, $v0, 0x10 +/* 9101B4 80240B04 00021C03 */ sra $v1, $v0, 0x10 +/* 9101B8 80240B08 000217C2 */ srl $v0, $v0, 0x1f +/* 9101BC 80240B0C 00621821 */ addu $v1, $v1, $v0 +/* 9101C0 80240B10 00031843 */ sra $v1, $v1, 1 +/* 9101C4 80240B14 A24300AB */ sb $v1, 0xab($s2) +.L80240B18: +/* 9101C8 80240B18 16200005 */ bnez $s1, .L80240B30 +/* 9101CC 80240B1C 3C030004 */ lui $v1, 4 +/* 9101D0 80240B20 8E6200B0 */ lw $v0, 0xb0($s3) +/* 9101D4 80240B24 30420004 */ andi $v0, $v0, 4 +/* 9101D8 80240B28 10400019 */ beqz $v0, .L80240B90 +/* 9101DC 80240B2C 00000000 */ nop +.L80240B30: +/* 9101E0 80240B30 34630102 */ ori $v1, $v1, 0x102 +/* 9101E4 80240B34 AEE00070 */ sw $zero, 0x70($s7) +/* 9101E8 80240B38 8E420000 */ lw $v0, ($s2) +/* 9101EC 80240B3C 0240202D */ daddu $a0, $s2, $zero +/* 9101F0 80240B40 A640008E */ sh $zero, 0x8e($s2) +/* 9101F4 80240B44 00431025 */ or $v0, $v0, $v1 +/* 9101F8 80240B48 0C00EAFF */ jal disable_npc_shadow +/* 9101FC 80240B4C AE420000 */ sw $v0, ($s2) +/* 910200 80240B50 3C041F30 */ lui $a0, 0x1f30 +/* 910204 80240B54 8E420000 */ lw $v0, ($s2) +/* 910208 80240B58 2403F7FF */ addiu $v1, $zero, -0x801 +/* 91020C 80240B5C 00431024 */ and $v0, $v0, $v1 +/* 910210 80240B60 AE420000 */ sw $v0, ($s2) +/* 910214 80240B64 8E620000 */ lw $v0, ($s3) +/* 910218 80240B68 8E6300B0 */ lw $v1, 0xb0($s3) +/* 91021C 80240B6C 34840040 */ ori $a0, $a0, 0x40 +/* 910220 80240B70 AE60006C */ sw $zero, 0x6c($s3) +/* 910224 80240B74 00441025 */ or $v0, $v0, $a0 +/* 910228 80240B78 AE620000 */ sw $v0, ($s3) +/* 91022C 80240B7C 30620004 */ andi $v0, $v1, 4 +/* 910230 80240B80 10400003 */ beqz $v0, .L80240B90 +/* 910234 80240B84 2402FFFB */ addiu $v0, $zero, -5 +/* 910238 80240B88 00621024 */ and $v0, $v1, $v0 +/* 91023C 80240B8C AE6200B0 */ sw $v0, 0xb0($s3) +.L80240B90: +/* 910240 80240B90 8EE30070 */ lw $v1, 0x70($s7) +/* 910244 80240B94 24100001 */ addiu $s0, $zero, 1 +/* 910248 80240B98 10700012 */ beq $v1, $s0, .L80240BE4 +/* 91024C 80240B9C 28620002 */ slti $v0, $v1, 2 +/* 910250 80240BA0 10400005 */ beqz $v0, .L80240BB8 +/* 910254 80240BA4 24020002 */ addiu $v0, $zero, 2 +/* 910258 80240BA8 10600007 */ beqz $v1, .L80240BC8 +/* 91025C 80240BAC 0000102D */ daddu $v0, $zero, $zero +/* 910260 80240BB0 080903E3 */ j .L80240F8C +/* 910264 80240BB4 00000000 */ nop +.L80240BB8: +/* 910268 80240BB8 1062005B */ beq $v1, $v0, .L80240D28 +/* 91026C 80240BBC 0000102D */ daddu $v0, $zero, $zero +/* 910270 80240BC0 080903E3 */ j .L80240F8C +/* 910274 80240BC4 00000000 */ nop +.L80240BC8: +/* 910278 80240BC8 8E420000 */ lw $v0, ($s2) +/* 91027C 80240BCC 0240202D */ daddu $a0, $s2, $zero +/* 910280 80240BD0 34420002 */ ori $v0, $v0, 2 +/* 910284 80240BD4 0C00EAFF */ jal disable_npc_shadow +/* 910288 80240BD8 AE420000 */ sw $v0, ($s2) +/* 91028C 80240BDC AE60006C */ sw $zero, 0x6c($s3) +/* 910290 80240BE0 AEF00070 */ sw $s0, 0x70($s7) +.L80240BE4: +/* 910294 80240BE4 8E74006C */ lw $s4, 0x6c($s3) +/* 910298 80240BE8 24020001 */ addiu $v0, $zero, 1 +/* 91029C 80240BEC 168200E7 */ bne $s4, $v0, .L80240F8C +/* 9102A0 80240BF0 0000102D */ daddu $v0, $zero, $zero +/* 9102A4 80240BF4 8E64007C */ lw $a0, 0x7c($s3) +/* 9102A8 80240BF8 24110002 */ addiu $s1, $zero, 2 +/* 9102AC 80240BFC 0C00EABB */ jal get_npc_unsafe +/* 9102B0 80240C00 AE71006C */ sw $s1, 0x6c($s3) +/* 9102B4 80240C04 0040802D */ daddu $s0, $v0, $zero +/* 9102B8 80240C08 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9102BC 80240C0C E6400038 */ swc1 $f0, 0x38($s2) +/* 9102C0 80240C10 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9102C4 80240C14 E6400040 */ swc1 $f0, 0x40($s2) +/* 9102C8 80240C18 C6020034 */ lwc1 $f2, 0x34($s0) +/* 9102CC 80240C1C 3C014387 */ lui $at, 0x4387 +/* 9102D0 80240C20 44810000 */ mtc1 $at, $f0 +/* 9102D4 80240C24 26440038 */ addiu $a0, $s2, 0x38 +/* 9102D8 80240C28 46020001 */ sub.s $f0, $f0, $f2 +/* 9102DC 80240C2C C6680078 */ lwc1 $f8, 0x78($s3) +/* 9102E0 80240C30 46804220 */ cvt.s.w $f8, $f8 +/* 9102E4 80240C34 44064000 */ mfc1 $a2, $f8 +/* 9102E8 80240C38 44070000 */ mfc1 $a3, $f0 +/* 9102EC 80240C3C 0C00A7E7 */ jal add_vec2D_polar +/* 9102F0 80240C40 26450040 */ addiu $a1, $s2, 0x40 +/* 9102F4 80240C44 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9102F8 80240C48 C6620074 */ lwc1 $f2, 0x74($s3) +/* 9102FC 80240C4C 468010A0 */ cvt.s.w $f2, $f2 +/* 910300 80240C50 46020000 */ add.s $f0, $f0, $f2 +/* 910304 80240C54 E640003C */ swc1 $f0, 0x3c($s2) +/* 910308 80240C58 A2740007 */ sb $s4, 7($s3) +/* 91030C 80240C5C C6400038 */ lwc1 $f0, 0x38($s2) +/* 910310 80240C60 4600020D */ trunc.w.s $f8, $f0 +/* 910314 80240C64 44024000 */ mfc1 $v0, $f8 +/* 910318 80240C68 00000000 */ nop +/* 91031C 80240C6C A6620010 */ sh $v0, 0x10($s3) +/* 910320 80240C70 C640003C */ lwc1 $f0, 0x3c($s2) +/* 910324 80240C74 4600020D */ trunc.w.s $f8, $f0 +/* 910328 80240C78 44024000 */ mfc1 $v0, $f8 +/* 91032C 80240C7C 00000000 */ nop +/* 910330 80240C80 A6620012 */ sh $v0, 0x12($s3) +/* 910334 80240C84 C6400040 */ lwc1 $f0, 0x40($s2) +/* 910338 80240C88 4600020D */ trunc.w.s $f8, $f0 +/* 91033C 80240C8C 44024000 */ mfc1 $v0, $f8 +/* 910340 80240C90 00000000 */ nop +/* 910344 80240C94 A6620014 */ sh $v0, 0x14($s3) +/* 910348 80240C98 AE400044 */ sw $zero, 0x44($s2) +/* 91034C 80240C9C AE400048 */ sw $zero, 0x48($s2) +/* 910350 80240CA0 AE40004C */ sw $zero, 0x4c($s2) +/* 910354 80240CA4 C6A00000 */ lwc1 $f0, ($s5) +/* 910358 80240CA8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91035C 80240CAC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 910360 80240CB0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 910364 80240CB4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 910368 80240CB8 E6400018 */ swc1 $f0, 0x18($s2) +/* 91036C 80240CBC 8C460028 */ lw $a2, 0x28($v0) +/* 910370 80240CC0 0C00A720 */ jal atan2 +/* 910374 80240CC4 8C470030 */ lw $a3, 0x30($v0) +/* 910378 80240CC8 E640000C */ swc1 $f0, 0xc($s2) +/* 91037C 80240CCC C6A0000C */ lwc1 $f0, 0xc($s5) +/* 910380 80240CD0 8E420000 */ lw $v0, ($s2) +/* 910384 80240CD4 0240202D */ daddu $a0, $s2, $zero +/* 910388 80240CD8 E640001C */ swc1 $f0, 0x1c($s2) +/* 91038C 80240CDC C6A00010 */ lwc1 $f0, 0x10($s5) +/* 910390 80240CE0 2403FFFD */ addiu $v1, $zero, -3 +/* 910394 80240CE4 E6400014 */ swc1 $f0, 0x14($s2) +/* 910398 80240CE8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 91039C 80240CEC 00431024 */ and $v0, $v0, $v1 +/* 9103A0 80240CF0 AE420000 */ sw $v0, ($s2) +/* 9103A4 80240CF4 0C00EAE8 */ jal enable_npc_shadow +/* 9103A8 80240CF8 E6400064 */ swc1 $f0, 0x64($s2) +/* 9103AC 80240CFC 8E420000 */ lw $v0, ($s2) +/* 9103B0 80240D00 3C03E0FF */ lui $v1, 0xe0ff +/* 9103B4 80240D04 34420800 */ ori $v0, $v0, 0x800 +/* 9103B8 80240D08 AE420000 */ sw $v0, ($s2) +/* 9103BC 80240D0C 8E620000 */ lw $v0, ($s3) +/* 9103C0 80240D10 3463FFFF */ ori $v1, $v1, 0xffff +/* 9103C4 80240D14 00431024 */ and $v0, $v0, $v1 +/* 9103C8 80240D18 AE620000 */ sw $v0, ($s3) +/* 9103CC 80240D1C 2402005A */ addiu $v0, $zero, 0x5a +/* 9103D0 80240D20 A642008E */ sh $v0, 0x8e($s2) +/* 9103D4 80240D24 AEF10070 */ sw $s1, 0x70($s7) +.L80240D28: +/* 9103D8 80240D28 0000202D */ daddu $a0, $zero, $zero +/* 9103DC 80240D2C 27B00020 */ addiu $s0, $sp, 0x20 +/* 9103E0 80240D30 864200A8 */ lh $v0, 0xa8($s2) +/* 9103E4 80240D34 3C013FE0 */ lui $at, 0x3fe0 +/* 9103E8 80240D38 44810800 */ mtc1 $at, $f1 +/* 9103EC 80240D3C 44800000 */ mtc1 $zero, $f0 +/* 9103F0 80240D40 44821000 */ mtc1 $v0, $f2 +/* 9103F4 80240D44 00000000 */ nop +/* 9103F8 80240D48 468010A1 */ cvt.d.w $f2, $f2 +/* 9103FC 80240D4C 46201082 */ mul.d $f2, $f2, $f0 +/* 910400 80240D50 00000000 */ nop +/* 910404 80240D54 0200282D */ daddu $a1, $s0, $zero +/* 910408 80240D58 C6440038 */ lwc1 $f4, 0x38($s2) +/* 91040C 80240D5C C640003C */ lwc1 $f0, 0x3c($s2) +/* 910410 80240D60 27B10024 */ addiu $s1, $sp, 0x24 +/* 910414 80240D64 E7A40020 */ swc1 $f4, 0x20($sp) +/* 910418 80240D68 C6440040 */ lwc1 $f4, 0x40($s2) +/* 91041C 80240D6C 46000021 */ cvt.d.s $f0, $f0 +/* 910420 80240D70 46220000 */ add.d $f0, $f0, $f2 +/* 910424 80240D74 E7A40028 */ swc1 $f4, 0x28($sp) +/* 910428 80240D78 C6420018 */ lwc1 $f2, 0x18($s2) +/* 91042C 80240D7C 46200020 */ cvt.s.d $f0, $f0 +/* 910430 80240D80 E7A00024 */ swc1 $f0, 0x24($sp) +/* 910434 80240D84 E7A20010 */ swc1 $f2, 0x10($sp) +/* 910438 80240D88 C640000C */ lwc1 $f0, 0xc($s2) +/* 91043C 80240D8C 0220302D */ daddu $a2, $s1, $zero +/* 910440 80240D90 E7A00014 */ swc1 $f0, 0x14($sp) +/* 910444 80240D94 864200A6 */ lh $v0, 0xa6($s2) +/* 910448 80240D98 27B40028 */ addiu $s4, $sp, 0x28 +/* 91044C 80240D9C 44820000 */ mtc1 $v0, $f0 +/* 910450 80240DA0 00000000 */ nop +/* 910454 80240DA4 46800020 */ cvt.s.w $f0, $f0 +/* 910458 80240DA8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 91045C 80240DAC 864200A8 */ lh $v0, 0xa8($s2) +/* 910460 80240DB0 0280382D */ daddu $a3, $s4, $zero +/* 910464 80240DB4 44820000 */ mtc1 $v0, $f0 +/* 910468 80240DB8 00000000 */ nop +/* 91046C 80240DBC 46800020 */ cvt.s.w $f0, $f0 +/* 910470 80240DC0 0C0376B9 */ jal func_800DDAE4 +/* 910474 80240DC4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 910478 80240DC8 54400001 */ bnel $v0, $zero, .L80240DD0 +/* 91047C 80240DCC 24160001 */ addiu $s6, $zero, 1 +.L80240DD0: +/* 910480 80240DD0 0200282D */ daddu $a1, $s0, $zero +/* 910484 80240DD4 0220302D */ daddu $a2, $s1, $zero +/* 910488 80240DD8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 91048C 80240DDC C642003C */ lwc1 $f2, 0x3c($s2) +/* 910490 80240DE0 C6440040 */ lwc1 $f4, 0x40($s2) +/* 910494 80240DE4 3C01447A */ lui $at, 0x447a +/* 910498 80240DE8 44813000 */ mtc1 $at, $f6 +/* 91049C 80240DEC 27A2002C */ addiu $v0, $sp, 0x2c +/* 9104A0 80240DF0 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9104A4 80240DF4 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9104A8 80240DF8 E7A40028 */ swc1 $f4, 0x28($sp) +/* 9104AC 80240DFC E7A6002C */ swc1 $f6, 0x2c($sp) +/* 9104B0 80240E00 AFA20010 */ sw $v0, 0x10($sp) +/* 9104B4 80240E04 8E440080 */ lw $a0, 0x80($s2) +/* 9104B8 80240E08 0C0372DF */ jal func_800DCB7C +/* 9104BC 80240E0C 0280382D */ daddu $a3, $s4, $zero +/* 9104C0 80240E10 10400019 */ beqz $v0, .L80240E78 +/* 9104C4 80240E14 00000000 */ nop +/* 9104C8 80240E18 C640001C */ lwc1 $f0, 0x1c($s2) +/* 9104CC 80240E1C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 9104D0 80240E20 46000005 */ abs.s $f0, $f0 +/* 9104D4 80240E24 4600103C */ c.lt.s $f2, $f0 +/* 9104D8 80240E28 00000000 */ nop +/* 9104DC 80240E2C 45000012 */ bc1f .L80240E78 +/* 9104E0 80240E30 00000000 */ nop +/* 9104E4 80240E34 C7A40024 */ lwc1 $f4, 0x24($sp) +/* 9104E8 80240E38 C6400064 */ lwc1 $f0, 0x64($s2) +/* 9104EC 80240E3C 46002001 */ sub.s $f0, $f4, $f0 +/* 9104F0 80240E40 3C014034 */ lui $at, 0x4034 +/* 9104F4 80240E44 44811800 */ mtc1 $at, $f3 +/* 9104F8 80240E48 44801000 */ mtc1 $zero, $f2 +/* 9104FC 80240E4C 46000005 */ abs.s $f0, $f0 +/* 910500 80240E50 46000021 */ cvt.d.s $f0, $f0 +/* 910504 80240E54 4622003C */ c.lt.d $f0, $f2 +/* 910508 80240E58 00000000 */ nop +/* 91050C 80240E5C 45000006 */ bc1f .L80240E78 +/* 910510 80240E60 0240202D */ daddu $a0, $s2, $zero +/* 910514 80240E64 8E450018 */ lw $a1, 0x18($s2) +/* 910518 80240E68 8E46000C */ lw $a2, 0xc($s2) +/* 91051C 80240E6C 2416000A */ addiu $s6, $zero, 0xa +/* 910520 80240E70 0C00EA95 */ jal npc_move_heading +/* 910524 80240E74 E644003C */ swc1 $f4, 0x3c($s2) +.L80240E78: +/* 910528 80240E78 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 91052C 80240E7C 3C013FF0 */ lui $at, 0x3ff0 +/* 910530 80240E80 44811800 */ mtc1 $at, $f3 +/* 910534 80240E84 44801000 */ mtc1 $zero, $f2 +/* 910538 80240E88 46000021 */ cvt.d.s $f0, $f0 +/* 91053C 80240E8C 4622003C */ c.lt.d $f0, $f2 +/* 910540 80240E90 00000000 */ nop +/* 910544 80240E94 45030001 */ bc1tl .L80240E9C +/* 910548 80240E98 2416000B */ addiu $s6, $zero, 0xb +.L80240E9C: +/* 91054C 80240E9C 9642008E */ lhu $v0, 0x8e($s2) +/* 910550 80240EA0 2442FFFF */ addiu $v0, $v0, -1 +/* 910554 80240EA4 A642008E */ sh $v0, 0x8e($s2) +/* 910558 80240EA8 00021400 */ sll $v0, $v0, 0x10 +/* 91055C 80240EAC 58400001 */ blezl $v0, .L80240EB4 +/* 910560 80240EB0 24160014 */ addiu $s6, $zero, 0x14 +.L80240EB4: +/* 910564 80240EB4 56C00019 */ bnel $s6, $zero, .L80240F1C +/* 910568 80240EB8 AFA00010 */ sw $zero, 0x10($sp) +/* 91056C 80240EBC 8E620070 */ lw $v0, 0x70($s3) +/* 910570 80240EC0 30420001 */ andi $v0, $v0, 1 +/* 910574 80240EC4 10400009 */ beqz $v0, .L80240EEC +/* 910578 80240EC8 00000000 */ nop +/* 91057C 80240ECC C640004C */ lwc1 $f0, 0x4c($s2) +/* 910580 80240ED0 3C014044 */ lui $at, 0x4044 +/* 910584 80240ED4 44811800 */ mtc1 $at, $f3 +/* 910588 80240ED8 44801000 */ mtc1 $zero, $f2 +/* 91058C 80240EDC 46000021 */ cvt.d.s $f0, $f0 +/* 910590 80240EE0 46220000 */ add.d $f0, $f0, $f2 +/* 910594 80240EE4 46200020 */ cvt.s.d $f0, $f0 +/* 910598 80240EE8 E640004C */ swc1 $f0, 0x4c($s2) +.L80240EEC: +/* 91059C 80240EEC 8E450018 */ lw $a1, 0x18($s2) +/* 9105A0 80240EF0 8E46000C */ lw $a2, 0xc($s2) +/* 9105A4 80240EF4 0C00EA95 */ jal npc_move_heading +/* 9105A8 80240EF8 0240202D */ daddu $a0, $s2, $zero +/* 9105AC 80240EFC C644003C */ lwc1 $f4, 0x3c($s2) +/* 9105B0 80240F00 C640001C */ lwc1 $f0, 0x1c($s2) +/* 9105B4 80240F04 46002100 */ add.s $f4, $f4, $f0 +/* 9105B8 80240F08 C6420014 */ lwc1 $f2, 0x14($s2) +/* 9105BC 80240F0C 46020001 */ sub.s $f0, $f0, $f2 +/* 9105C0 80240F10 E644003C */ swc1 $f4, 0x3c($s2) +/* 9105C4 80240F14 080903E2 */ j .L80240F88 +/* 9105C8 80240F18 E640001C */ swc1 $f0, 0x1c($s2) +.L80240F1C: +/* 9105CC 80240F1C AFA00014 */ sw $zero, 0x14($sp) +/* 9105D0 80240F20 8E450038 */ lw $a1, 0x38($s2) +/* 9105D4 80240F24 8E46003C */ lw $a2, 0x3c($s2) +/* 9105D8 80240F28 8E470040 */ lw $a3, 0x40($s2) +/* 9105DC 80240F2C 0C01BECC */ jal fx_walk_normal +/* 9105E0 80240F30 24040002 */ addiu $a0, $zero, 2 +/* 9105E4 80240F34 3C01C47A */ lui $at, 0xc47a +/* 9105E8 80240F38 44810000 */ mtc1 $at, $f0 +/* 9105EC 80240F3C AE60006C */ sw $zero, 0x6c($s3) +/* 9105F0 80240F40 8E420000 */ lw $v0, ($s2) +/* 9105F4 80240F44 0240202D */ daddu $a0, $s2, $zero +/* 9105F8 80240F48 AE400038 */ sw $zero, 0x38($s2) +/* 9105FC 80240F4C AE400040 */ sw $zero, 0x40($s2) +/* 910600 80240F50 AE40001C */ sw $zero, 0x1c($s2) +/* 910604 80240F54 34420002 */ ori $v0, $v0, 2 +/* 910608 80240F58 E640003C */ swc1 $f0, 0x3c($s2) +/* 91060C 80240F5C 0C00EAFF */ jal disable_npc_shadow +/* 910610 80240F60 AE420000 */ sw $v0, ($s2) +/* 910614 80240F64 8E420000 */ lw $v0, ($s2) +/* 910618 80240F68 2403F7FF */ addiu $v1, $zero, -0x801 +/* 91061C 80240F6C 00431024 */ and $v0, $v0, $v1 +/* 910620 80240F70 AE420000 */ sw $v0, ($s2) +/* 910624 80240F74 8E620000 */ lw $v0, ($s3) +/* 910628 80240F78 3C031F00 */ lui $v1, 0x1f00 +/* 91062C 80240F7C 00431025 */ or $v0, $v0, $v1 +/* 910630 80240F80 AE620000 */ sw $v0, ($s3) +/* 910634 80240F84 AEE00070 */ sw $zero, 0x70($s7) +.L80240F88: +/* 910638 80240F88 0000102D */ daddu $v0, $zero, $zero +.L80240F8C: +/* 91063C 80240F8C 8FBF0050 */ lw $ra, 0x50($sp) +/* 910640 80240F90 8FB7004C */ lw $s7, 0x4c($sp) +/* 910644 80240F94 8FB60048 */ lw $s6, 0x48($sp) +/* 910648 80240F98 8FB50044 */ lw $s5, 0x44($sp) +/* 91064C 80240F9C 8FB40040 */ lw $s4, 0x40($sp) +/* 910650 80240FA0 8FB3003C */ lw $s3, 0x3c($sp) +/* 910654 80240FA4 8FB20038 */ lw $s2, 0x38($sp) +/* 910658 80240FA8 8FB10034 */ lw $s1, 0x34($sp) +/* 91065C 80240FAC 8FB00030 */ lw $s0, 0x30($sp) +/* 910660 80240FB0 03E00008 */ jr $ra +/* 910664 80240FB4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80240FB8_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240FB8_90F6B0.s new file mode 100644 index 0000000000..4e7de8d770 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80240FB8_90F6B0.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB8_910668 +/* 910668 80240FB8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 91066C 80240FBC AFB3003C */ sw $s3, 0x3c($sp) +/* 910670 80240FC0 0080982D */ daddu $s3, $a0, $zero +/* 910674 80240FC4 AFB40040 */ sw $s4, 0x40($sp) +/* 910678 80240FC8 0000A02D */ daddu $s4, $zero, $zero +/* 91067C 80240FCC 3C03800A */ lui $v1, 0x800a +/* 910680 80240FD0 8463A634 */ lh $v1, -0x59cc($v1) +/* 910684 80240FD4 3C04800B */ lui $a0, %hi(gCameras) +/* 910688 80240FD8 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* 91068C 80240FDC AFBF0044 */ sw $ra, 0x44($sp) +/* 910690 80240FE0 AFB20038 */ sw $s2, 0x38($sp) +/* 910694 80240FE4 AFB10034 */ sw $s1, 0x34($sp) +/* 910698 80240FE8 AFB00030 */ sw $s0, 0x30($sp) +/* 91069C 80240FEC F7B80058 */ sdc1 $f24, 0x58($sp) +/* 9106A0 80240FF0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9106A4 80240FF4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9106A8 80240FF8 8E710148 */ lw $s1, 0x148($s3) +/* 9106AC 80240FFC 00031080 */ sll $v0, $v1, 2 +/* 9106B0 80241000 00431021 */ addu $v0, $v0, $v1 +/* 9106B4 80241004 00021080 */ sll $v0, $v0, 2 +/* 9106B8 80241008 00431023 */ subu $v0, $v0, $v1 +/* 9106BC 8024100C 000218C0 */ sll $v1, $v0, 3 +/* 9106C0 80241010 00431021 */ addu $v0, $v0, $v1 +/* 9106C4 80241014 000210C0 */ sll $v0, $v0, 3 +/* 9106C8 80241018 10A00002 */ beqz $a1, .L80241024 +/* 9106CC 8024101C 00449021 */ addu $s2, $v0, $a0 +/* 9106D0 80241020 AE600070 */ sw $zero, 0x70($s3) +.L80241024: +/* 9106D4 80241024 0C00FB5A */ jal get_enemy_safe +/* 9106D8 80241028 86240008 */ lh $a0, 8($s1) +/* 9106DC 8024102C 14400006 */ bnez $v0, .L80241048 +/* 9106E0 80241030 24020005 */ addiu $v0, $zero, 5 +/* 9106E4 80241034 0260202D */ daddu $a0, $s3, $zero +/* 9106E8 80241038 3C05FE36 */ lui $a1, 0xfe36 +/* 9106EC 8024103C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9106F0 80241040 080904EA */ j .L802413A8 +/* 9106F4 80241044 0000302D */ daddu $a2, $zero, $zero +.L80241048: +/* 9106F8 80241048 8E23006C */ lw $v1, 0x6c($s1) +/* 9106FC 8024104C 14620005 */ bne $v1, $v0, .L80241064 +/* 910700 80241050 0260202D */ daddu $a0, $s3, $zero +/* 910704 80241054 3C05FE36 */ lui $a1, 0xfe36 +/* 910708 80241058 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 91070C 8024105C 080904EA */ j .L802413A8 +/* 910710 80241060 0000302D */ daddu $a2, $zero, $zero +.L80241064: +/* 910714 80241064 86240008 */ lh $a0, 8($s1) +/* 910718 80241068 0C00FB5A */ jal get_enemy_safe +/* 91071C 8024106C 00000000 */ nop +/* 910720 80241070 14400005 */ bnez $v0, .L80241088 +/* 910724 80241074 0260202D */ daddu $a0, $s3, $zero +/* 910728 80241078 3C05FE36 */ lui $a1, 0xfe36 +/* 91072C 8024107C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 910730 80241080 080904EA */ j .L802413A8 +/* 910734 80241084 0000302D */ daddu $a2, $zero, $zero +.L80241088: +/* 910738 80241088 86240008 */ lh $a0, 8($s1) +/* 91073C 8024108C 0C00EABB */ jal get_npc_unsafe +/* 910740 80241090 00000000 */ nop +/* 910744 80241094 8E630070 */ lw $v1, 0x70($s3) +/* 910748 80241098 10600006 */ beqz $v1, .L802410B4 +/* 91074C 8024109C 0040802D */ daddu $s0, $v0, $zero +/* 910750 802410A0 24020001 */ addiu $v0, $zero, 1 +/* 910754 802410A4 1062003F */ beq $v1, $v0, .L802411A4 +/* 910758 802410A8 0000102D */ daddu $v0, $zero, $zero +/* 91075C 802410AC 080904FA */ j .L802413E8 +/* 910760 802410B0 00000000 */ nop +.L802410B4: +/* 910764 802410B4 AFA00010 */ sw $zero, 0x10($sp) +/* 910768 802410B8 AFA00014 */ sw $zero, 0x14($sp) +/* 91076C 802410BC 8E050038 */ lw $a1, 0x38($s0) +/* 910770 802410C0 8E06003C */ lw $a2, 0x3c($s0) +/* 910774 802410C4 8E070040 */ lw $a3, 0x40($s0) +/* 910778 802410C8 0C01BECC */ jal fx_walk_normal +/* 91077C 802410CC 24040002 */ addiu $a0, $zero, 2 +/* 910780 802410D0 C64C006C */ lwc1 $f12, 0x6c($s2) +/* 910784 802410D4 0C00A6C9 */ jal clamp_angle +/* 910788 802410D8 00000000 */ nop +/* 91078C 802410DC 3C018024 */ lui $at, 0x8024 +/* 910790 802410E0 D43863A0 */ ldc1 $f24, 0x63a0($at) +/* 910794 802410E4 46000521 */ cvt.d.s $f20, $f0 +/* 910798 802410E8 4638A300 */ add.d $f12, $f20, $f24 +/* 91079C 802410EC 3C018024 */ lui $at, 0x8024 +/* 9107A0 802410F0 D43663A8 */ ldc1 $f22, 0x63a8($at) +/* 9107A4 802410F4 0C00A6C9 */ jal clamp_angle +/* 9107A8 802410F8 46206320 */ cvt.s.d $f12, $f12 +/* 9107AC 802410FC 4636A500 */ add.d $f20, $f20, $f22 +/* 9107B0 80241100 4620A320 */ cvt.s.d $f12, $f20 +/* 9107B4 80241104 0C00A6C9 */ jal clamp_angle +/* 9107B8 80241108 46000506 */ mov.s $f20, $f0 +/* 9107BC 8024110C 4600A521 */ cvt.d.s $f20, $f20 +/* 9107C0 80241110 4636A500 */ add.d $f20, $f20, $f22 +/* 9107C4 80241114 46000586 */ mov.s $f22, $f0 +/* 9107C8 80241118 0C00A6C9 */ jal clamp_angle +/* 9107CC 8024111C 4620A320 */ cvt.s.d $f12, $f20 +/* 9107D0 80241120 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9107D4 80241124 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9107D8 80241128 C64C006C */ lwc1 $f12, 0x6c($s2) +/* 9107DC 8024112C C44E0084 */ lwc1 $f14, 0x84($v0) +/* 9107E0 80241130 0C00A70A */ jal get_clamped_angle_diff +/* 9107E4 80241134 46000506 */ mov.s $f20, $f0 +/* 9107E8 80241138 0C00A6C9 */ jal clamp_angle +/* 9107EC 8024113C 46000306 */ mov.s $f12, $f0 +/* 9107F0 80241140 46000021 */ cvt.d.s $f0, $f0 +/* 9107F4 80241144 4638003C */ c.lt.d $f0, $f24 +/* 9107F8 80241148 00000000 */ nop +/* 9107FC 8024114C 45020002 */ bc1fl .L80241158 +/* 910800 80241150 E614000C */ swc1 $f20, 0xc($s0) +/* 910804 80241154 E616000C */ swc1 $f22, 0xc($s0) +.L80241158: +/* 910808 80241158 C6000018 */ lwc1 $f0, 0x18($s0) +/* 91080C 8024115C 3C018024 */ lui $at, 0x8024 +/* 910810 80241160 D42263B0 */ ldc1 $f2, 0x63b0($at) +/* 910814 80241164 46000021 */ cvt.d.s $f0, $f0 +/* 910818 80241168 46220002 */ mul.d $f0, $f0, $f2 +/* 91081C 8024116C 00000000 */ nop +/* 910820 80241170 3C013F66 */ lui $at, 0x3f66 +/* 910824 80241174 34216666 */ ori $at, $at, 0x6666 +/* 910828 80241178 44812000 */ mtc1 $at, $f4 +/* 91082C 8024117C 2402001E */ addiu $v0, $zero, 0x1e +/* 910830 80241180 A602008E */ sh $v0, 0x8e($s0) +/* 910834 80241184 3C014120 */ lui $at, 0x4120 +/* 910838 80241188 44811000 */ mtc1 $at, $f2 +/* 91083C 8024118C 24020001 */ addiu $v0, $zero, 1 +/* 910840 80241190 E6040014 */ swc1 $f4, 0x14($s0) +/* 910844 80241194 E602001C */ swc1 $f2, 0x1c($s0) +/* 910848 80241198 46200020 */ cvt.s.d $f0, $f0 +/* 91084C 8024119C E6000018 */ swc1 $f0, 0x18($s0) +/* 910850 802411A0 AE620070 */ sw $v0, 0x70($s3) +.L802411A4: +/* 910854 802411A4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 910858 802411A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 91085C 802411AC C6040040 */ lwc1 $f4, 0x40($s0) +/* 910860 802411B0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 910864 802411B4 0000202D */ daddu $a0, $zero, $zero +/* 910868 802411B8 E7A00020 */ swc1 $f0, 0x20($sp) +/* 91086C 802411BC E7A20024 */ swc1 $f2, 0x24($sp) +/* 910870 802411C0 E7A40028 */ swc1 $f4, 0x28($sp) +/* 910874 802411C4 E7A60010 */ swc1 $f6, 0x10($sp) +/* 910878 802411C8 C600000C */ lwc1 $f0, 0xc($s0) +/* 91087C 802411CC 27A50020 */ addiu $a1, $sp, 0x20 +/* 910880 802411D0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 910884 802411D4 860200A6 */ lh $v0, 0xa6($s0) +/* 910888 802411D8 27A60024 */ addiu $a2, $sp, 0x24 +/* 91088C 802411DC 44820000 */ mtc1 $v0, $f0 +/* 910890 802411E0 00000000 */ nop +/* 910894 802411E4 46800020 */ cvt.s.w $f0, $f0 +/* 910898 802411E8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 91089C 802411EC 860200A8 */ lh $v0, 0xa8($s0) +/* 9108A0 802411F0 27A70028 */ addiu $a3, $sp, 0x28 +/* 9108A4 802411F4 44820000 */ mtc1 $v0, $f0 +/* 9108A8 802411F8 00000000 */ nop +/* 9108AC 802411FC 46800020 */ cvt.s.w $f0, $f0 +/* 9108B0 80241200 0C037711 */ jal func_800DDC44 +/* 9108B4 80241204 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9108B8 80241208 54400007 */ bnel $v0, $zero, .L80241228 +/* 9108BC 8024120C 24140001 */ addiu $s4, $zero, 1 +/* 9108C0 80241210 8E050018 */ lw $a1, 0x18($s0) +/* 9108C4 80241214 8E06000C */ lw $a2, 0xc($s0) +/* 9108C8 80241218 0C00EA95 */ jal npc_move_heading +/* 9108CC 8024121C 0200202D */ daddu $a0, $s0, $zero +/* 9108D0 80241220 0809048B */ j .L8024122C +/* 9108D4 80241224 0000902D */ daddu $s2, $zero, $zero +.L80241228: +/* 9108D8 80241228 0000902D */ daddu $s2, $zero, $zero +.L8024122C: +/* 9108DC 8024122C C600001C */ lwc1 $f0, 0x1c($s0) +/* 9108E0 80241230 44801000 */ mtc1 $zero, $f2 +/* 9108E4 80241234 44801800 */ mtc1 $zero, $f3 +/* 9108E8 80241238 46000021 */ cvt.d.s $f0, $f0 +/* 9108EC 8024123C 4622003C */ c.lt.d $f0, $f2 +/* 9108F0 80241240 00000000 */ nop +/* 9108F4 80241244 45000028 */ bc1f .L802412E8 +/* 9108F8 80241248 27A50020 */ addiu $a1, $sp, 0x20 +/* 9108FC 8024124C 27A60024 */ addiu $a2, $sp, 0x24 +/* 910900 80241250 27A2002C */ addiu $v0, $sp, 0x2c +/* 910904 80241254 C602003C */ lwc1 $f2, 0x3c($s0) +/* 910908 80241258 C6060038 */ lwc1 $f6, 0x38($s0) +/* 91090C 8024125C 3C01402A */ lui $at, 0x402a +/* 910910 80241260 4481A800 */ mtc1 $at, $f21 +/* 910914 80241264 4480A000 */ mtc1 $zero, $f20 +/* 910918 80241268 460010A1 */ cvt.d.s $f2, $f2 +/* 91091C 8024126C 46341080 */ add.d $f2, $f2, $f20 +/* 910920 80241270 C600001C */ lwc1 $f0, 0x1c($s0) +/* 910924 80241274 C6040040 */ lwc1 $f4, 0x40($s0) +/* 910928 80241278 46000005 */ abs.s $f0, $f0 +/* 91092C 8024127C E7A40028 */ swc1 $f4, 0x28($sp) +/* 910930 80241280 3C014030 */ lui $at, 0x4030 +/* 910934 80241284 44812800 */ mtc1 $at, $f5 +/* 910938 80241288 44802000 */ mtc1 $zero, $f4 +/* 91093C 8024128C 46000021 */ cvt.d.s $f0, $f0 +/* 910940 80241290 E7A60020 */ swc1 $f6, 0x20($sp) +/* 910944 80241294 46240000 */ add.d $f0, $f0, $f4 +/* 910948 80241298 462010A0 */ cvt.s.d $f2, $f2 +/* 91094C 8024129C E7A20024 */ swc1 $f2, 0x24($sp) +/* 910950 802412A0 46200020 */ cvt.s.d $f0, $f0 +/* 910954 802412A4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 910958 802412A8 AFA20010 */ sw $v0, 0x10($sp) +/* 91095C 802412AC 8E040080 */ lw $a0, 0x80($s0) +/* 910960 802412B0 0C0372DF */ jal func_800DCB7C +/* 910964 802412B4 27A70028 */ addiu $a3, $sp, 0x28 +/* 910968 802412B8 1040000B */ beqz $v0, .L802412E8 +/* 91096C 802412BC 00000000 */ nop +/* 910970 802412C0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 910974 802412C4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 910978 802412C8 46000005 */ abs.s $f0, $f0 +/* 91097C 802412CC 46000021 */ cvt.d.s $f0, $f0 +/* 910980 802412D0 46340000 */ add.d $f0, $f0, $f20 +/* 910984 802412D4 460010A1 */ cvt.d.s $f2, $f2 +/* 910988 802412D8 4620103E */ c.le.d $f2, $f0 +/* 91098C 802412DC 00000000 */ nop +/* 910990 802412E0 45030001 */ bc1tl .L802412E8 +/* 910994 802412E4 24120001 */ addiu $s2, $zero, 1 +.L802412E8: +/* 910998 802412E8 56400008 */ bnel $s2, $zero, .L8024130C +/* 91099C 802412EC 2414000A */ addiu $s4, $zero, 0xa +/* 9109A0 802412F0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9109A4 802412F4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9109A8 802412F8 46002100 */ add.s $f4, $f4, $f0 +/* 9109AC 802412FC C6020014 */ lwc1 $f2, 0x14($s0) +/* 9109B0 80241300 46020001 */ sub.s $f0, $f0, $f2 +/* 9109B4 80241304 E604003C */ swc1 $f4, 0x3c($s0) +/* 9109B8 80241308 E600001C */ swc1 $f0, 0x1c($s0) +.L8024130C: +/* 9109BC 8024130C 9602008E */ lhu $v0, 0x8e($s0) +/* 9109C0 80241310 2442FFFF */ addiu $v0, $v0, -1 +/* 9109C4 80241314 A602008E */ sh $v0, 0x8e($s0) +/* 9109C8 80241318 00021400 */ sll $v0, $v0, 0x10 +/* 9109CC 8024131C 58400001 */ blezl $v0, .L80241324 +/* 9109D0 80241320 2414000B */ addiu $s4, $zero, 0xb +.L80241324: +/* 9109D4 80241324 12800024 */ beqz $s4, .L802413B8 +/* 9109D8 80241328 00000000 */ nop +/* 9109DC 8024132C AFA00010 */ sw $zero, 0x10($sp) +/* 9109E0 80241330 AFA00014 */ sw $zero, 0x14($sp) +/* 9109E4 80241334 8E050038 */ lw $a1, 0x38($s0) +/* 9109E8 80241338 8E06003C */ lw $a2, 0x3c($s0) +/* 9109EC 8024133C 8E070040 */ lw $a3, 0x40($s0) +/* 9109F0 80241340 0C01BECC */ jal fx_walk_normal +/* 9109F4 80241344 24040002 */ addiu $a0, $zero, 2 +/* 9109F8 80241348 3C01C47A */ lui $at, 0xc47a +/* 9109FC 8024134C 44810000 */ mtc1 $at, $f0 +/* 910A00 80241350 AE20006C */ sw $zero, 0x6c($s1) +/* 910A04 80241354 8E020000 */ lw $v0, ($s0) +/* 910A08 80241358 0200202D */ daddu $a0, $s0, $zero +/* 910A0C 8024135C AE000038 */ sw $zero, 0x38($s0) +/* 910A10 80241360 AE000040 */ sw $zero, 0x40($s0) +/* 910A14 80241364 34420002 */ ori $v0, $v0, 2 +/* 910A18 80241368 E600003C */ swc1 $f0, 0x3c($s0) +/* 910A1C 8024136C 0C00EAFF */ jal disable_npc_shadow +/* 910A20 80241370 AE020000 */ sw $v0, ($s0) +/* 910A24 80241374 0260202D */ daddu $a0, $s3, $zero +/* 910A28 80241378 3C05FE36 */ lui $a1, 0xfe36 +/* 910A2C 8024137C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 910A30 80241380 24060001 */ addiu $a2, $zero, 1 +/* 910A34 80241384 8E020000 */ lw $v0, ($s0) +/* 910A38 80241388 2403F7FF */ addiu $v1, $zero, -0x801 +/* 910A3C 8024138C 00431024 */ and $v0, $v0, $v1 +/* 910A40 80241390 AE020000 */ sw $v0, ($s0) +/* 910A44 80241394 8E220000 */ lw $v0, ($s1) +/* 910A48 80241398 3C031F00 */ lui $v1, 0x1f00 +/* 910A4C 8024139C 00431025 */ or $v0, $v0, $v1 +/* 910A50 802413A0 AE220000 */ sw $v0, ($s1) +/* 910A54 802413A4 AC800070 */ sw $zero, 0x70($a0) +.L802413A8: +/* 910A58 802413A8 0C0B2026 */ jal set_variable +/* 910A5C 802413AC 00000000 */ nop +/* 910A60 802413B0 080904FA */ j .L802413E8 +/* 910A64 802413B4 24020002 */ addiu $v0, $zero, 2 +.L802413B8: +/* 910A68 802413B8 8E220070 */ lw $v0, 0x70($s1) +/* 910A6C 802413BC 30420001 */ andi $v0, $v0, 1 +/* 910A70 802413C0 10400009 */ beqz $v0, .L802413E8 +/* 910A74 802413C4 0000102D */ daddu $v0, $zero, $zero +/* 910A78 802413C8 C600004C */ lwc1 $f0, 0x4c($s0) +/* 910A7C 802413CC 3C01404E */ lui $at, 0x404e +/* 910A80 802413D0 44811800 */ mtc1 $at, $f3 +/* 910A84 802413D4 44801000 */ mtc1 $zero, $f2 +/* 910A88 802413D8 46000021 */ cvt.d.s $f0, $f0 +/* 910A8C 802413DC 46220000 */ add.d $f0, $f0, $f2 +/* 910A90 802413E0 46200020 */ cvt.s.d $f0, $f0 +/* 910A94 802413E4 E600004C */ swc1 $f0, 0x4c($s0) +.L802413E8: +/* 910A98 802413E8 8FBF0044 */ lw $ra, 0x44($sp) +/* 910A9C 802413EC 8FB40040 */ lw $s4, 0x40($sp) +/* 910AA0 802413F0 8FB3003C */ lw $s3, 0x3c($sp) +/* 910AA4 802413F4 8FB20038 */ lw $s2, 0x38($sp) +/* 910AA8 802413F8 8FB10034 */ lw $s1, 0x34($sp) +/* 910AAC 802413FC 8FB00030 */ lw $s0, 0x30($sp) +/* 910AB0 80241400 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 910AB4 80241404 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 910AB8 80241408 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 910ABC 8024140C 03E00008 */ jr $ra +/* 910AC0 80241410 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241414_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241414_90F6B0.s new file mode 100644 index 0000000000..1a51f392a1 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241414_90F6B0.s @@ -0,0 +1,124 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241414_910AC4 +/* 910AC4 80241414 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 910AC8 80241418 AFB00018 */ sw $s0, 0x18($sp) +/* 910ACC 8024141C AFBF0024 */ sw $ra, 0x24($sp) +/* 910AD0 80241420 AFB20020 */ sw $s2, 0x20($sp) +/* 910AD4 80241424 AFB1001C */ sw $s1, 0x1c($sp) +/* 910AD8 80241428 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 910ADC 8024142C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 910AE0 80241430 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 910AE4 80241434 8C910148 */ lw $s1, 0x148($a0) +/* 910AE8 80241438 4486A000 */ mtc1 $a2, $f20 +/* 910AEC 8024143C 86240008 */ lh $a0, 8($s1) +/* 910AF0 80241440 4487B000 */ mtc1 $a3, $f22 +/* 910AF4 80241444 0C00EABB */ jal get_npc_unsafe +/* 910AF8 80241448 00A0802D */ daddu $s0, $a1, $zero +/* 910AFC 8024144C 4600A521 */ cvt.d.s $f20, $f20 +/* 910B00 80241450 0200202D */ daddu $a0, $s0, $zero +/* 910B04 80241454 0040902D */ daddu $s2, $v0, $zero +/* 910B08 80241458 3C03800B */ lui $v1, %hi(gCameras) +/* 910B0C 8024145C 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 910B10 80241460 3C018024 */ lui $at, 0x8024 +/* 910B14 80241464 D42063B8 */ ldc1 $f0, 0x63b8($at) +/* 910B18 80241468 3C014387 */ lui $at, 0x4387 +/* 910B1C 8024146C 4481C000 */ mtc1 $at, $f24 +/* 910B20 80241470 4407B000 */ mfc1 $a3, $f22 +/* 910B24 80241474 3C02800A */ lui $v0, 0x800a +/* 910B28 80241478 8442A634 */ lh $v0, -0x59cc($v0) +/* 910B2C 8024147C 0220282D */ daddu $a1, $s1, $zero +/* 910B30 80241480 AFA00010 */ sw $zero, 0x10($sp) +/* 910B34 80241484 4620A502 */ mul.d $f20, $f20, $f0 +/* 910B38 80241488 00000000 */ nop +/* 910B3C 8024148C 00028080 */ sll $s0, $v0, 2 +/* 910B40 80241490 02028021 */ addu $s0, $s0, $v0 +/* 910B44 80241494 00108080 */ sll $s0, $s0, 2 +/* 910B48 80241498 02028023 */ subu $s0, $s0, $v0 +/* 910B4C 8024149C 001010C0 */ sll $v0, $s0, 3 +/* 910B50 802414A0 02028021 */ addu $s0, $s0, $v0 +/* 910B54 802414A4 001080C0 */ sll $s0, $s0, 3 +/* 910B58 802414A8 4620A520 */ cvt.s.d $f20, $f20 +/* 910B5C 802414AC 4406A000 */ mfc1 $a2, $f20 +/* 910B60 802414B0 0C01242D */ jal func_800490B4 +/* 910B64 802414B4 02038021 */ addu $s0, $s0, $v1 +/* 910B68 802414B8 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 910B6C 802414BC C64E000C */ lwc1 $f14, 0xc($s2) +/* 910B70 802414C0 0C00A70A */ jal get_clamped_angle_diff +/* 910B74 802414C4 0002802B */ sltu $s0, $zero, $v0 +/* 910B78 802414C8 0C00A6C9 */ jal clamp_angle +/* 910B7C 802414CC 46000306 */ mov.s $f12, $f0 +/* 910B80 802414D0 3C018024 */ lui $at, 0x8024 +/* 910B84 802414D4 D42263C0 */ ldc1 $f2, 0x63c0($at) +/* 910B88 802414D8 46000021 */ cvt.d.s $f0, $f0 +/* 910B8C 802414DC 4622003C */ c.lt.d $f0, $f2 +/* 910B90 802414E0 00000000 */ nop +/* 910B94 802414E4 45000003 */ bc1f .L802414F4 +/* 910B98 802414E8 00000000 */ nop +/* 910B9C 802414EC 3C0142B4 */ lui $at, 0x42b4 +/* 910BA0 802414F0 4481C000 */ mtc1 $at, $f24 +.L802414F4: +/* 910BA4 802414F4 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* 910BA8 802414F8 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* 910BAC 802414FC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 910BB0 80241500 8E220000 */ lw $v0, ($s1) +/* 910BB4 80241504 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 910BB8 80241508 8C460028 */ lw $a2, 0x28($v0) +/* 910BBC 8024150C 0C00A720 */ jal atan2 +/* 910BC0 80241510 8C470030 */ lw $a3, 0x30($v0) +/* 910BC4 80241514 4600C306 */ mov.s $f12, $f24 +/* 910BC8 80241518 0C00A70A */ jal get_clamped_angle_diff +/* 910BCC 8024151C 46000386 */ mov.s $f14, $f0 +/* 910BD0 80241520 46000005 */ abs.s $f0, $f0 +/* 910BD4 80241524 3C01404E */ lui $at, 0x404e +/* 910BD8 80241528 44811800 */ mtc1 $at, $f3 +/* 910BDC 8024152C 44801000 */ mtc1 $zero, $f2 +/* 910BE0 80241530 46000021 */ cvt.d.s $f0, $f0 +/* 910BE4 80241534 4620103C */ c.lt.d $f2, $f0 +/* 910BE8 80241538 00000000 */ nop +/* 910BEC 8024153C 45030001 */ bc1tl .L80241544 +/* 910BF0 80241540 0000802D */ daddu $s0, $zero, $zero +.L80241544: +/* 910BF4 80241544 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 910BF8 80241548 0C038022 */ jal func_800E0088 +/* 910BFC 8024154C C64E0040 */ lwc1 $f14, 0x40($s2) +/* 910C00 80241550 8E240000 */ lw $a0, ($s1) +/* 910C04 80241554 864300A6 */ lh $v1, 0xa6($s2) +/* 910C08 80241558 848200B2 */ lh $v0, 0xb2($a0) +/* 910C0C 8024155C 00431021 */ addu $v0, $v0, $v1 +/* 910C10 80241560 44821000 */ mtc1 $v0, $f2 +/* 910C14 80241564 00000000 */ nop +/* 910C18 80241568 468010A0 */ cvt.s.w $f2, $f2 +/* 910C1C 8024156C 4602003C */ c.lt.s $f0, $f2 +/* 910C20 80241570 00000000 */ nop +/* 910C24 80241574 45030001 */ bc1tl .L8024157C +/* 910C28 80241578 0000802D */ daddu $s0, $zero, $zero +.L8024157C: +/* 910C2C 8024157C C640003C */ lwc1 $f0, 0x3c($s2) +/* 910C30 80241580 C482002C */ lwc1 $f2, 0x2c($a0) +/* 910C34 80241584 46020001 */ sub.s $f0, $f0, $f2 +/* 910C38 80241588 3C014220 */ lui $at, 0x4220 +/* 910C3C 8024158C 44811000 */ mtc1 $at, $f2 +/* 910C40 80241590 46000005 */ abs.s $f0, $f0 +/* 910C44 80241594 4600103E */ c.le.s $f2, $f0 +/* 910C48 80241598 00000000 */ nop +/* 910C4C 8024159C 45030001 */ bc1tl .L802415A4 +/* 910C50 802415A0 0000802D */ daddu $s0, $zero, $zero +.L802415A4: +/* 910C54 802415A4 3C038011 */ lui $v1, 0x8011 +/* 910C58 802415A8 8063EBB3 */ lb $v1, -0x144d($v1) +/* 910C5C 802415AC 24020009 */ addiu $v0, $zero, 9 +/* 910C60 802415B0 50620001 */ beql $v1, $v0, .L802415B8 +/* 910C64 802415B4 0000802D */ daddu $s0, $zero, $zero +.L802415B8: +/* 910C68 802415B8 0200102D */ daddu $v0, $s0, $zero +/* 910C6C 802415BC 8FBF0024 */ lw $ra, 0x24($sp) +/* 910C70 802415C0 8FB20020 */ lw $s2, 0x20($sp) +/* 910C74 802415C4 8FB1001C */ lw $s1, 0x1c($sp) +/* 910C78 802415C8 8FB00018 */ lw $s0, 0x18($sp) +/* 910C7C 802415CC D7B80038 */ ldc1 $f24, 0x38($sp) +/* 910C80 802415D0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 910C84 802415D4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 910C88 802415D8 03E00008 */ jr $ra +/* 910C8C 802415DC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802415E0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802415E0.s new file mode 100644 index 0000000000..5327258872 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802415E0.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415E0 +/* 910C90 802415E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 910C94 802415E4 AFB3001C */ sw $s3, 0x1c($sp) +/* 910C98 802415E8 0080982D */ daddu $s3, $a0, $zero +/* 910C9C 802415EC AFBF0020 */ sw $ra, 0x20($sp) +/* 910CA0 802415F0 AFB20018 */ sw $s2, 0x18($sp) +/* 910CA4 802415F4 AFB10014 */ sw $s1, 0x14($sp) +/* 910CA8 802415F8 AFB00010 */ sw $s0, 0x10($sp) +/* 910CAC 802415FC 8E710148 */ lw $s1, 0x148($s3) +/* 910CB0 80241600 86240008 */ lh $a0, 8($s1) +/* 910CB4 80241604 0C00EABB */ jal get_npc_unsafe +/* 910CB8 80241608 00A0902D */ daddu $s2, $a1, $zero +/* 910CBC 8024160C 8E440004 */ lw $a0, 4($s2) +/* 910CC0 80241610 0040802D */ daddu $s0, $v0, $zero +/* 910CC4 80241614 00041FC2 */ srl $v1, $a0, 0x1f +/* 910CC8 80241618 00832021 */ addu $a0, $a0, $v1 +/* 910CCC 8024161C 00042043 */ sra $a0, $a0, 1 +/* 910CD0 80241620 0C00A67F */ jal rand_int +/* 910CD4 80241624 24840001 */ addiu $a0, $a0, 1 +/* 910CD8 80241628 8E430004 */ lw $v1, 4($s2) +/* 910CDC 8024162C 2404003C */ addiu $a0, $zero, 0x3c +/* 910CE0 80241630 00032FC2 */ srl $a1, $v1, 0x1f +/* 910CE4 80241634 00651821 */ addu $v1, $v1, $a1 +/* 910CE8 80241638 00031843 */ sra $v1, $v1, 1 +/* 910CEC 8024163C 00621821 */ addu $v1, $v1, $v0 +/* 910CF0 80241640 0C00A67F */ jal rand_int +/* 910CF4 80241644 A603008E */ sh $v1, 0x8e($s0) +/* 910CF8 80241648 C60C000C */ lwc1 $f12, 0xc($s0) +/* 910CFC 8024164C 44820000 */ mtc1 $v0, $f0 +/* 910D00 80241650 00000000 */ nop +/* 910D04 80241654 46800020 */ cvt.s.w $f0, $f0 +/* 910D08 80241658 46006300 */ add.s $f12, $f12, $f0 +/* 910D0C 8024165C 3C0141F0 */ lui $at, 0x41f0 +/* 910D10 80241660 44810000 */ mtc1 $at, $f0 +/* 910D14 80241664 0C00A6C9 */ jal clamp_angle +/* 910D18 80241668 46006301 */ sub.s $f12, $f12, $f0 +/* 910D1C 8024166C E600000C */ swc1 $f0, 0xc($s0) +/* 910D20 80241670 8E2200D0 */ lw $v0, 0xd0($s1) +/* 910D24 80241674 8C420014 */ lw $v0, 0x14($v0) +/* 910D28 80241678 04410004 */ bgez $v0, .L8024168C +/* 910D2C 8024167C 00000000 */ nop +/* 910D30 80241680 C6400000 */ lwc1 $f0, ($s2) +/* 910D34 80241684 080905AB */ j .L802416AC +/* 910D38 80241688 E6000018 */ swc1 $f0, 0x18($s0) +.L8024168C: +/* 910D3C 8024168C 3C018024 */ lui $at, 0x8024 +/* 910D40 80241690 D42263C8 */ ldc1 $f2, 0x63c8($at) +/* 910D44 80241694 44820000 */ mtc1 $v0, $f0 +/* 910D48 80241698 00000000 */ nop +/* 910D4C 8024169C 46800021 */ cvt.d.w $f0, $f0 +/* 910D50 802416A0 46220003 */ div.d $f0, $f0, $f2 +/* 910D54 802416A4 46200020 */ cvt.s.d $f0, $f0 +/* 910D58 802416A8 E6000018 */ swc1 $f0, 0x18($s0) +.L802416AC: +/* 910D5C 802416AC 8E220000 */ lw $v0, ($s1) +/* 910D60 802416B0 3C031F10 */ lui $v1, 0x1f10 +/* 910D64 802416B4 00431025 */ or $v0, $v0, $v1 +/* 910D68 802416B8 AE220000 */ sw $v0, ($s1) +/* 910D6C 802416BC 8E020000 */ lw $v0, ($s0) +/* 910D70 802416C0 34420002 */ ori $v0, $v0, 2 +/* 910D74 802416C4 AE020000 */ sw $v0, ($s0) +/* 910D78 802416C8 24020001 */ addiu $v0, $zero, 1 +/* 910D7C 802416CC AE600074 */ sw $zero, 0x74($s3) +/* 910D80 802416D0 AE620070 */ sw $v0, 0x70($s3) +/* 910D84 802416D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 910D88 802416D8 8FB3001C */ lw $s3, 0x1c($sp) +/* 910D8C 802416DC 8FB20018 */ lw $s2, 0x18($sp) +/* 910D90 802416E0 8FB10014 */ lw $s1, 0x14($sp) +/* 910D94 802416E4 8FB00010 */ lw $s0, 0x10($sp) +/* 910D98 802416E8 03E00008 */ jr $ra +/* 910D9C 802416EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802416F0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802416F0.s new file mode 100644 index 0000000000..78a31375bc --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802416F0.s @@ -0,0 +1,155 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F0 +/* 910DA0 802416F0 27BDFC80 */ addiu $sp, $sp, -0x380 +/* 910DA4 802416F4 AFB20370 */ sw $s2, 0x370($sp) +/* 910DA8 802416F8 0080902D */ daddu $s2, $a0, $zero +/* 910DAC 802416FC AFBF037C */ sw $ra, 0x37c($sp) +/* 910DB0 80241700 AFB40378 */ sw $s4, 0x378($sp) +/* 910DB4 80241704 AFB30374 */ sw $s3, 0x374($sp) +/* 910DB8 80241708 AFB1036C */ sw $s1, 0x36c($sp) +/* 910DBC 8024170C AFB00368 */ sw $s0, 0x368($sp) +/* 910DC0 80241710 8E510148 */ lw $s1, 0x148($s2) +/* 910DC4 80241714 00A0982D */ daddu $s3, $a1, $zero +/* 910DC8 80241718 86240008 */ lh $a0, 8($s1) +/* 910DCC 8024171C 0C00EABB */ jal get_npc_unsafe +/* 910DD0 80241720 00C0A02D */ daddu $s4, $a2, $zero +/* 910DD4 80241724 0040802D */ daddu $s0, $v0, $zero +/* 910DD8 80241728 8E2300D0 */ lw $v1, 0xd0($s1) +/* 910DDC 8024172C C6000040 */ lwc1 $f0, 0x40($s0) +/* 910DE0 80241730 C4620000 */ lwc1 $f2, ($v1) +/* 910DE4 80241734 468010A0 */ cvt.s.w $f2, $f2 +/* 910DE8 80241738 C4640008 */ lwc1 $f4, 8($v1) +/* 910DEC 8024173C 46802120 */ cvt.s.w $f4, $f4 +/* 910DF0 80241740 E7A00010 */ swc1 $f0, 0x10($sp) +/* 910DF4 80241744 8E2200D0 */ lw $v0, 0xd0($s1) +/* 910DF8 80241748 44051000 */ mfc1 $a1, $f2 +/* 910DFC 8024174C C440000C */ lwc1 $f0, 0xc($v0) +/* 910E00 80241750 46800020 */ cvt.s.w $f0, $f0 +/* 910E04 80241754 E7A00014 */ swc1 $f0, 0x14($sp) +/* 910E08 80241758 8E2200D0 */ lw $v0, 0xd0($s1) +/* 910E0C 8024175C 44062000 */ mfc1 $a2, $f4 +/* 910E10 80241760 C4400010 */ lwc1 $f0, 0x10($v0) +/* 910E14 80241764 46800020 */ cvt.s.w $f0, $f0 +/* 910E18 80241768 E7A00018 */ swc1 $f0, 0x18($sp) +/* 910E1C 8024176C 8C640018 */ lw $a0, 0x18($v1) +/* 910E20 80241770 0C0123F5 */ jal is_point_within_region +/* 910E24 80241774 8E070038 */ lw $a3, 0x38($s0) +/* 910E28 80241778 1040000D */ beqz $v0, .L802417B0 +/* 910E2C 8024177C 00000000 */ nop +/* 910E30 80241780 8E2200D0 */ lw $v0, 0xd0($s1) +/* 910E34 80241784 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 910E38 80241788 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 910E3C 8024178C C4460000 */ lwc1 $f6, ($v0) +/* 910E40 80241790 468031A0 */ cvt.s.w $f6, $f6 +/* 910E44 80241794 44063000 */ mfc1 $a2, $f6 +/* 910E48 80241798 C4460008 */ lwc1 $f6, 8($v0) +/* 910E4C 8024179C 468031A0 */ cvt.s.w $f6, $f6 +/* 910E50 802417A0 44073000 */ mfc1 $a3, $f6 +/* 910E54 802417A4 0C00A720 */ jal atan2 +/* 910E58 802417A8 00000000 */ nop +/* 910E5C 802417AC E600000C */ swc1 $f0, 0xc($s0) +.L802417B0: +/* 910E60 802417B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 910E64 802417B4 3C013F80 */ lui $at, 0x3f80 +/* 910E68 802417B8 44811000 */ mtc1 $at, $f2 +/* 910E6C 802417BC E7A00058 */ swc1 $f0, 0x58($sp) +/* 910E70 802417C0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 910E74 802417C4 46020000 */ add.s $f0, $f0, $f2 +/* 910E78 802417C8 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 910E7C 802417CC C6000040 */ lwc1 $f0, 0x40($s0) +/* 910E80 802417D0 E7A00060 */ swc1 $f0, 0x60($sp) +/* 910E84 802417D4 860200A6 */ lh $v0, 0xa6($s0) +/* 910E88 802417D8 C6020018 */ lwc1 $f2, 0x18($s0) +/* 910E8C 802417DC 44820000 */ mtc1 $v0, $f0 +/* 910E90 802417E0 00000000 */ nop +/* 910E94 802417E4 46800020 */ cvt.s.w $f0, $f0 +/* 910E98 802417E8 46001080 */ add.s $f2, $f2, $f0 +/* 910E9C 802417EC 8E06000C */ lw $a2, 0xc($s0) +/* 910EA0 802417F0 44051000 */ mfc1 $a1, $f2 +/* 910EA4 802417F4 0C00EA95 */ jal npc_move_heading +/* 910EA8 802417F8 27A40020 */ addiu $a0, $sp, 0x20 +/* 910EAC 802417FC 0000202D */ daddu $a0, $zero, $zero +/* 910EB0 80241800 27A50058 */ addiu $a1, $sp, 0x58 +/* 910EB4 80241804 27A6005C */ addiu $a2, $sp, 0x5c +/* 910EB8 80241808 27A70060 */ addiu $a3, $sp, 0x60 +/* 910EBC 8024180C 3C01447A */ lui $at, 0x447a +/* 910EC0 80241810 44810000 */ mtc1 $at, $f0 +/* 910EC4 80241814 27A20360 */ addiu $v0, $sp, 0x360 +/* 910EC8 80241818 E7A00360 */ swc1 $f0, 0x360($sp) +/* 910ECC 8024181C 0C0372DF */ jal func_800DCB7C +/* 910ED0 80241820 AFA20010 */ sw $v0, 0x10($sp) +/* 910ED4 80241824 1040000D */ beqz $v0, .L8024185C +/* 910ED8 80241828 00000000 */ nop +/* 910EDC 8024182C C7A20360 */ lwc1 $f2, 0x360($sp) +/* 910EE0 80241830 3C0140A0 */ lui $at, 0x40a0 +/* 910EE4 80241834 44810000 */ mtc1 $at, $f0 +/* 910EE8 80241838 00000000 */ nop +/* 910EEC 8024183C 4600103C */ c.lt.s $f2, $f0 +/* 910EF0 80241840 00000000 */ nop +/* 910EF4 80241844 45000005 */ bc1f .L8024185C +/* 910EF8 80241848 00000000 */ nop +/* 910EFC 8024184C 8E050018 */ lw $a1, 0x18($s0) +/* 910F00 80241850 8E06000C */ lw $a2, 0xc($s0) +/* 910F04 80241854 0C00EA95 */ jal npc_move_heading +/* 910F08 80241858 0200202D */ daddu $a0, $s0, $zero +.L8024185C: +/* 910F0C 8024185C 8E020000 */ lw $v0, ($s0) +/* 910F10 80241860 30424000 */ andi $v0, $v0, 0x4000 +/* 910F14 80241864 54400001 */ bnel $v0, $zero, .L8024186C +/* 910F18 80241868 AE400070 */ sw $zero, 0x70($s2) +.L8024186C: +/* 910F1C 8024186C 8E630014 */ lw $v1, 0x14($s3) +/* 910F20 80241870 04600012 */ bltz $v1, .L802418BC +/* 910F24 80241874 00000000 */ nop +/* 910F28 80241878 8E420074 */ lw $v0, 0x74($s2) +/* 910F2C 8024187C 1C40000E */ bgtz $v0, .L802418B8 +/* 910F30 80241880 2442FFFF */ addiu $v0, $v0, -1 +/* 910F34 80241884 0240202D */ daddu $a0, $s2, $zero +/* 910F38 80241888 AE430074 */ sw $v1, 0x74($s2) +/* 910F3C 8024188C 8E66000C */ lw $a2, 0xc($s3) +/* 910F40 80241890 8E670010 */ lw $a3, 0x10($s3) +/* 910F44 80241894 0C090505 */ jal func_80241414 +/* 910F48 80241898 0280282D */ daddu $a1, $s4, $zero +/* 910F4C 8024189C 10400004 */ beqz $v0, .L802418B0 +/* 910F50 802418A0 2402000C */ addiu $v0, $zero, 0xc +/* 910F54 802418A4 A600008E */ sh $zero, 0x8e($s0) +/* 910F58 802418A8 08090643 */ j .L8024190C +/* 910F5C 802418AC AE420070 */ sw $v0, 0x70($s2) +.L802418B0: +/* 910F60 802418B0 8E420074 */ lw $v0, 0x74($s2) +/* 910F64 802418B4 2442FFFF */ addiu $v0, $v0, -1 +.L802418B8: +/* 910F68 802418B8 AE420074 */ sw $v0, 0x74($s2) +.L802418BC: +/* 910F6C 802418BC 8E020000 */ lw $v0, ($s0) +/* 910F70 802418C0 30421008 */ andi $v0, $v0, 0x1008 +/* 910F74 802418C4 1440000B */ bnez $v0, .L802418F4 +/* 910F78 802418C8 00000000 */ nop +/* 910F7C 802418CC C6000038 */ lwc1 $f0, 0x38($s0) +/* 910F80 802418D0 C6020040 */ lwc1 $f2, 0x40($s0) +/* 910F84 802418D4 4600018D */ trunc.w.s $f6, $f0 +/* 910F88 802418D8 44023000 */ mfc1 $v0, $f6 +/* 910F8C 802418DC 00000000 */ nop +/* 910F90 802418E0 A6020090 */ sh $v0, 0x90($s0) +/* 910F94 802418E4 4600118D */ trunc.w.s $f6, $f2 +/* 910F98 802418E8 44023000 */ mfc1 $v0, $f6 +/* 910F9C 802418EC 00000000 */ nop +/* 910FA0 802418F0 A6020094 */ sh $v0, 0x94($s0) +.L802418F4: +/* 910FA4 802418F4 9602008E */ lhu $v0, 0x8e($s0) +/* 910FA8 802418F8 2442FFFF */ addiu $v0, $v0, -1 +/* 910FAC 802418FC A602008E */ sh $v0, 0x8e($s0) +/* 910FB0 80241900 00021400 */ sll $v0, $v0, 0x10 +/* 910FB4 80241904 50400001 */ beql $v0, $zero, .L8024190C +/* 910FB8 80241908 AE400070 */ sw $zero, 0x70($s2) +.L8024190C: +/* 910FBC 8024190C 8FBF037C */ lw $ra, 0x37c($sp) +/* 910FC0 80241910 8FB40378 */ lw $s4, 0x378($sp) +/* 910FC4 80241914 8FB30374 */ lw $s3, 0x374($sp) +/* 910FC8 80241918 8FB20370 */ lw $s2, 0x370($sp) +/* 910FCC 8024191C 8FB1036C */ lw $s1, 0x36c($sp) +/* 910FD0 80241920 8FB00368 */ lw $s0, 0x368($sp) +/* 910FD4 80241924 03E00008 */ jr $ra +/* 910FD8 80241928 27BD0380 */ addiu $sp, $sp, 0x380 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_8024192C.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_8024192C.s new file mode 100644 index 0000000000..82902e213f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_8024192C.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024192C +/* 910FDC 8024192C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 910FE0 80241930 AFB10014 */ sw $s1, 0x14($sp) +/* 910FE4 80241934 0080882D */ daddu $s1, $a0, $zero +/* 910FE8 80241938 AFBF0018 */ sw $ra, 0x18($sp) +/* 910FEC 8024193C AFB00010 */ sw $s0, 0x10($sp) +/* 910FF0 80241940 8E220148 */ lw $v0, 0x148($s1) +/* 910FF4 80241944 0C00EABB */ jal get_npc_unsafe +/* 910FF8 80241948 84440008 */ lh $a0, 8($v0) +/* 910FFC 8024194C 0040802D */ daddu $s0, $v0, $zero +/* 911000 80241950 0200202D */ daddu $a0, $s0, $zero +/* 911004 80241954 0000302D */ daddu $a2, $zero, $zero +/* 911008 80241958 2403FFFD */ addiu $v1, $zero, -3 +/* 91100C 8024195C 8E020000 */ lw $v0, ($s0) +/* 911010 80241960 24050321 */ addiu $a1, $zero, 0x321 +/* 911014 80241964 00431024 */ and $v0, $v0, $v1 +/* 911018 80241968 0C012530 */ jal func_800494C0 +/* 91101C 8024196C AE020000 */ sw $v0, ($s0) +/* 911020 80241970 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 911024 80241974 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 911028 80241978 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91102C 8024197C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 911030 80241980 8C460028 */ lw $a2, 0x28($v0) +/* 911034 80241984 0C00A720 */ jal atan2 +/* 911038 80241988 8C470030 */ lw $a3, 0x30($v0) +/* 91103C 8024198C 3C02002F */ lui $v0, 0x2f +/* 911040 80241990 34420010 */ ori $v0, $v0, 0x10 +/* 911044 80241994 AE020028 */ sw $v0, 0x28($s0) +/* 911048 80241998 2402000A */ addiu $v0, $zero, 0xa +/* 91104C 8024199C A602008E */ sh $v0, 0x8e($s0) +/* 911050 802419A0 2402000D */ addiu $v0, $zero, 0xd +/* 911054 802419A4 E600000C */ swc1 $f0, 0xc($s0) +/* 911058 802419A8 AE220070 */ sw $v0, 0x70($s1) +/* 91105C 802419AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 911060 802419B0 8FB10014 */ lw $s1, 0x14($sp) +/* 911064 802419B4 8FB00010 */ lw $s0, 0x10($sp) +/* 911068 802419B8 03E00008 */ jr $ra +/* 91106C 802419BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802419C0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802419C0.s new file mode 100644 index 0000000000..f69c47ce1c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802419C0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419C0 +/* 911070 802419C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911074 802419C4 AFB10014 */ sw $s1, 0x14($sp) +/* 911078 802419C8 0080882D */ daddu $s1, $a0, $zero +/* 91107C 802419CC AFBF0018 */ sw $ra, 0x18($sp) +/* 911080 802419D0 AFB00010 */ sw $s0, 0x10($sp) +/* 911084 802419D4 8E300148 */ lw $s0, 0x148($s1) +/* 911088 802419D8 0C00EABB */ jal get_npc_unsafe +/* 91108C 802419DC 86040008 */ lh $a0, 8($s0) +/* 911090 802419E0 0040202D */ daddu $a0, $v0, $zero +/* 911094 802419E4 9482008E */ lhu $v0, 0x8e($a0) +/* 911098 802419E8 24030002 */ addiu $v1, $zero, 2 +/* 91109C 802419EC 2442FFFF */ addiu $v0, $v0, -1 +/* 9110A0 802419F0 A482008E */ sh $v0, 0x8e($a0) +/* 9110A4 802419F4 00021400 */ sll $v0, $v0, 0x10 +/* 9110A8 802419F8 00021403 */ sra $v0, $v0, 0x10 +/* 9110AC 802419FC 14430005 */ bne $v0, $v1, .L80241A14 +/* 9110B0 80241A00 3C03E0EF */ lui $v1, 0xe0ef +/* 9110B4 80241A04 8E020000 */ lw $v0, ($s0) +/* 9110B8 80241A08 3463FFFF */ ori $v1, $v1, 0xffff +/* 9110BC 80241A0C 00431024 */ and $v0, $v0, $v1 +/* 9110C0 80241A10 AE020000 */ sw $v0, ($s0) +.L80241A14: +/* 9110C4 80241A14 8482008E */ lh $v0, 0x8e($a0) +/* 9110C8 80241A18 1C400007 */ bgtz $v0, .L80241A38 +/* 9110CC 80241A1C 3C02002F */ lui $v0, 0x2f +/* 9110D0 80241A20 34420018 */ ori $v0, $v0, 0x18 +/* 9110D4 80241A24 AC820028 */ sw $v0, 0x28($a0) +/* 9110D8 80241A28 2402000A */ addiu $v0, $zero, 0xa +/* 9110DC 80241A2C A482008E */ sh $v0, 0x8e($a0) +/* 9110E0 80241A30 2402000E */ addiu $v0, $zero, 0xe +/* 9110E4 80241A34 AE220070 */ sw $v0, 0x70($s1) +.L80241A38: +/* 9110E8 80241A38 8FBF0018 */ lw $ra, 0x18($sp) +/* 9110EC 80241A3C 8FB10014 */ lw $s1, 0x14($sp) +/* 9110F0 80241A40 8FB00010 */ lw $s0, 0x10($sp) +/* 9110F4 80241A44 03E00008 */ jr $ra +/* 9110F8 80241A48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241A4C.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241A4C.s new file mode 100644 index 0000000000..0b5b6d37f9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241A4C.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A4C +/* 9110FC 80241A4C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 911100 80241A50 AFB10034 */ sw $s1, 0x34($sp) +/* 911104 80241A54 0080882D */ daddu $s1, $a0, $zero +/* 911108 80241A58 AFBF0040 */ sw $ra, 0x40($sp) +/* 91110C 80241A5C AFB3003C */ sw $s3, 0x3c($sp) +/* 911110 80241A60 AFB20038 */ sw $s2, 0x38($sp) +/* 911114 80241A64 AFB00030 */ sw $s0, 0x30($sp) +/* 911118 80241A68 8E220148 */ lw $v0, 0x148($s1) +/* 91111C 80241A6C 00A0902D */ daddu $s2, $a1, $zero +/* 911120 80241A70 84440008 */ lh $a0, 8($v0) +/* 911124 80241A74 0C00EABB */ jal get_npc_unsafe +/* 911128 80241A78 00C0982D */ daddu $s3, $a2, $zero +/* 91112C 80241A7C 0040802D */ daddu $s0, $v0, $zero +/* 911130 80241A80 9602008E */ lhu $v0, 0x8e($s0) +/* 911134 80241A84 2442FFFF */ addiu $v0, $v0, -1 +/* 911138 80241A88 A602008E */ sh $v0, 0x8e($s0) +/* 91113C 80241A8C 00021400 */ sll $v0, $v0, 0x10 +/* 911140 80241A90 1C400031 */ bgtz $v0, .L80241B58 +/* 911144 80241A94 0220202D */ daddu $a0, $s1, $zero +/* 911148 80241A98 C640000C */ lwc1 $f0, 0xc($s2) +/* 91114C 80241A9C 3C018024 */ lui $at, 0x8024 +/* 911150 80241AA0 D42263D0 */ ldc1 $f2, 0x63d0($at) +/* 911154 80241AA4 46000021 */ cvt.d.s $f0, $f0 +/* 911158 80241AA8 46220002 */ mul.d $f0, $f0, $f2 +/* 91115C 80241AAC 00000000 */ nop +/* 911160 80241AB0 8E470010 */ lw $a3, 0x10($s2) +/* 911164 80241AB4 46200020 */ cvt.s.d $f0, $f0 +/* 911168 80241AB8 44060000 */ mfc1 $a2, $f0 +/* 91116C 80241ABC 0C090505 */ jal func_80241414 +/* 911170 80241AC0 0260282D */ daddu $a1, $s3, $zero +/* 911174 80241AC4 5440001E */ bnel $v0, $zero, .L80241B40 +/* 911178 80241AC8 3C02002F */ lui $v0, 0x2f +/* 91117C 80241ACC 24040002 */ addiu $a0, $zero, 2 +/* 911180 80241AD0 0200282D */ daddu $a1, $s0, $zero +/* 911184 80241AD4 0000302D */ daddu $a2, $zero, $zero +/* 911188 80241AD8 860300A8 */ lh $v1, 0xa8($s0) +/* 91118C 80241ADC 3C013F80 */ lui $at, 0x3f80 +/* 911190 80241AE0 44810000 */ mtc1 $at, $f0 +/* 911194 80241AE4 3C014000 */ lui $at, 0x4000 +/* 911198 80241AE8 44811000 */ mtc1 $at, $f2 +/* 91119C 80241AEC 3C01C1A0 */ lui $at, 0xc1a0 +/* 9111A0 80241AF0 44812000 */ mtc1 $at, $f4 +/* 9111A4 80241AF4 2402000F */ addiu $v0, $zero, 0xf +/* 9111A8 80241AF8 AFA2001C */ sw $v0, 0x1c($sp) +/* 9111AC 80241AFC 44833000 */ mtc1 $v1, $f6 +/* 9111B0 80241B00 00000000 */ nop +/* 9111B4 80241B04 468031A0 */ cvt.s.w $f6, $f6 +/* 9111B8 80241B08 44073000 */ mfc1 $a3, $f6 +/* 9111BC 80241B0C 27A20028 */ addiu $v0, $sp, 0x28 +/* 9111C0 80241B10 AFA20020 */ sw $v0, 0x20($sp) +/* 9111C4 80241B14 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9111C8 80241B18 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9111CC 80241B1C 0C01BFA4 */ jal fx_emote +/* 9111D0 80241B20 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9111D4 80241B24 3C02002F */ lui $v0, 0x2f +/* 9111D8 80241B28 34420001 */ ori $v0, $v0, 1 +/* 9111DC 80241B2C AE020028 */ sw $v0, 0x28($s0) +/* 9111E0 80241B30 2402001E */ addiu $v0, $zero, 0x1e +/* 9111E4 80241B34 A602008E */ sh $v0, 0x8e($s0) +/* 9111E8 80241B38 080906D5 */ j .L80241B54 +/* 9111EC 80241B3C 24020014 */ addiu $v0, $zero, 0x14 +.L80241B40: +/* 9111F0 80241B40 3442001B */ ori $v0, $v0, 0x1b +/* 9111F4 80241B44 AE020028 */ sw $v0, 0x28($s0) +/* 9111F8 80241B48 2402000F */ addiu $v0, $zero, 0xf +/* 9111FC 80241B4C A602008E */ sh $v0, 0x8e($s0) +/* 911200 80241B50 2402000F */ addiu $v0, $zero, 0xf +.L80241B54: +/* 911204 80241B54 AE220070 */ sw $v0, 0x70($s1) +.L80241B58: +/* 911208 80241B58 8FBF0040 */ lw $ra, 0x40($sp) +/* 91120C 80241B5C 8FB3003C */ lw $s3, 0x3c($sp) +/* 911210 80241B60 8FB20038 */ lw $s2, 0x38($sp) +/* 911214 80241B64 8FB10034 */ lw $s1, 0x34($sp) +/* 911218 80241B68 8FB00030 */ lw $s0, 0x30($sp) +/* 91121C 80241B6C 03E00008 */ jr $ra +/* 911220 80241B70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241B74.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241B74.s new file mode 100644 index 0000000000..ada3957c0f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241B74.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B74 +/* 911224 80241B74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911228 80241B78 AFB20018 */ sw $s2, 0x18($sp) +/* 91122C 80241B7C 0080902D */ daddu $s2, $a0, $zero +/* 911230 80241B80 AFBF001C */ sw $ra, 0x1c($sp) +/* 911234 80241B84 AFB10014 */ sw $s1, 0x14($sp) +/* 911238 80241B88 AFB00010 */ sw $s0, 0x10($sp) +/* 91123C 80241B8C 8E510148 */ lw $s1, 0x148($s2) +/* 911240 80241B90 0C00EABB */ jal get_npc_unsafe +/* 911244 80241B94 86240008 */ lh $a0, 8($s1) +/* 911248 80241B98 0040802D */ daddu $s0, $v0, $zero +/* 91124C 80241B9C 9602008E */ lhu $v0, 0x8e($s0) +/* 911250 80241BA0 2403000D */ addiu $v1, $zero, 0xd +/* 911254 80241BA4 2442FFFF */ addiu $v0, $v0, -1 +/* 911258 80241BA8 A602008E */ sh $v0, 0x8e($s0) +/* 91125C 80241BAC 00021400 */ sll $v0, $v0, 0x10 +/* 911260 80241BB0 00021403 */ sra $v0, $v0, 0x10 +/* 911264 80241BB4 14430008 */ bne $v0, $v1, .L80241BD8 +/* 911268 80241BB8 00000000 */ nop +/* 91126C 80241BBC 86240008 */ lh $a0, 8($s1) +/* 911270 80241BC0 0C00FB3A */ jal get_enemy +/* 911274 80241BC4 24840001 */ addiu $a0, $a0, 1 +/* 911278 80241BC8 86240008 */ lh $a0, 8($s1) +/* 91127C 80241BCC 24030001 */ addiu $v1, $zero, 1 +/* 911280 80241BD0 AC43006C */ sw $v1, 0x6c($v0) +/* 911284 80241BD4 AC44007C */ sw $a0, 0x7c($v0) +.L80241BD8: +/* 911288 80241BD8 8602008E */ lh $v0, 0x8e($s0) +/* 91128C 80241BDC 28420008 */ slti $v0, $v0, 8 +/* 911290 80241BE0 10400012 */ beqz $v0, .L80241C2C +/* 911294 80241BE4 00000000 */ nop +/* 911298 80241BE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91129C 80241BEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9112A0 80241BF0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9112A4 80241BF4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9112A8 80241BF8 8C460028 */ lw $a2, 0x28($v0) +/* 9112AC 80241BFC 0C00A7B5 */ jal dist2D +/* 9112B0 80241C00 8C470030 */ lw $a3, 0x30($v0) +/* 9112B4 80241C04 3C014059 */ lui $at, 0x4059 +/* 9112B8 80241C08 44811800 */ mtc1 $at, $f3 +/* 9112BC 80241C0C 44801000 */ mtc1 $zero, $f2 +/* 9112C0 80241C10 46000021 */ cvt.d.s $f0, $f0 +/* 9112C4 80241C14 4620103C */ c.lt.d $f2, $f0 +/* 9112C8 80241C18 00000000 */ nop +/* 9112CC 80241C1C 45000003 */ bc1f .L80241C2C +/* 9112D0 80241C20 3C02002F */ lui $v0, 0x2f +/* 9112D4 80241C24 34420015 */ ori $v0, $v0, 0x15 +/* 9112D8 80241C28 AE020028 */ sw $v0, 0x28($s0) +.L80241C2C: +/* 9112DC 80241C2C 8602008E */ lh $v0, 0x8e($s0) +/* 9112E0 80241C30 1C40000B */ bgtz $v0, .L80241C60 +/* 9112E4 80241C34 3C03002F */ lui $v1, 0x2f +/* 9112E8 80241C38 8E020028 */ lw $v0, 0x28($s0) +/* 9112EC 80241C3C 34630015 */ ori $v1, $v1, 0x15 +/* 9112F0 80241C40 10430003 */ beq $v0, $v1, .L80241C50 +/* 9112F4 80241C44 3C02002F */ lui $v0, 0x2f +/* 9112F8 80241C48 34420001 */ ori $v0, $v0, 1 +/* 9112FC 80241C4C AE020028 */ sw $v0, 0x28($s0) +.L80241C50: +/* 911300 80241C50 2402000F */ addiu $v0, $zero, 0xf +/* 911304 80241C54 A602008E */ sh $v0, 0x8e($s0) +/* 911308 80241C58 24020014 */ addiu $v0, $zero, 0x14 +/* 91130C 80241C5C AE420070 */ sw $v0, 0x70($s2) +.L80241C60: +/* 911310 80241C60 8FBF001C */ lw $ra, 0x1c($sp) +/* 911314 80241C64 8FB20018 */ lw $s2, 0x18($sp) +/* 911318 80241C68 8FB10014 */ lw $s1, 0x14($sp) +/* 91131C 80241C6C 8FB00010 */ lw $s0, 0x10($sp) +/* 911320 80241C70 03E00008 */ jr $ra +/* 911324 80241C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241C78_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241C78_90F6B0.s new file mode 100644 index 0000000000..2657d58da8 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241C78_90F6B0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C78_911328 +/* 911328 80241C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91132C 80241C7C AFB10014 */ sw $s1, 0x14($sp) +/* 911330 80241C80 0080882D */ daddu $s1, $a0, $zero +/* 911334 80241C84 AFBF0018 */ sw $ra, 0x18($sp) +/* 911338 80241C88 AFB00010 */ sw $s0, 0x10($sp) +/* 91133C 80241C8C 8E220148 */ lw $v0, 0x148($s1) +/* 911340 80241C90 0C00EABB */ jal get_npc_unsafe +/* 911344 80241C94 84440008 */ lh $a0, 8($v0) +/* 911348 80241C98 0040802D */ daddu $s0, $v0, $zero +/* 91134C 80241C9C 9602008E */ lhu $v0, 0x8e($s0) +/* 911350 80241CA0 2442FFFF */ addiu $v0, $v0, -1 +/* 911354 80241CA4 A602008E */ sh $v0, 0x8e($s0) +/* 911358 80241CA8 00021400 */ sll $v0, $v0, 0x10 +/* 91135C 80241CAC 1C40000B */ bgtz $v0, .L80241CDC +/* 911360 80241CB0 0200202D */ daddu $a0, $s0, $zero +/* 911364 80241CB4 24050322 */ addiu $a1, $zero, 0x322 +/* 911368 80241CB8 0C012530 */ jal func_800494C0 +/* 91136C 80241CBC 0000302D */ daddu $a2, $zero, $zero +/* 911370 80241CC0 3C02002F */ lui $v0, 0x2f +/* 911374 80241CC4 34420011 */ ori $v0, $v0, 0x11 +/* 911378 80241CC8 2403000B */ addiu $v1, $zero, 0xb +/* 91137C 80241CCC AE020028 */ sw $v0, 0x28($s0) +/* 911380 80241CD0 24020015 */ addiu $v0, $zero, 0x15 +/* 911384 80241CD4 A603008E */ sh $v1, 0x8e($s0) +/* 911388 80241CD8 AE220070 */ sw $v0, 0x70($s1) +.L80241CDC: +/* 91138C 80241CDC 8FBF0018 */ lw $ra, 0x18($sp) +/* 911390 80241CE0 8FB10014 */ lw $s1, 0x14($sp) +/* 911394 80241CE4 8FB00010 */ lw $s0, 0x10($sp) +/* 911398 80241CE8 03E00008 */ jr $ra +/* 91139C 80241CEC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241CF0_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241CF0_90F6B0.s new file mode 100644 index 0000000000..711cb71b1d --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241CF0_90F6B0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CF0_9113A0 +/* 9113A0 80241CF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9113A4 80241CF4 AFB10014 */ sw $s1, 0x14($sp) +/* 9113A8 80241CF8 0080882D */ daddu $s1, $a0, $zero +/* 9113AC 80241CFC AFBF0018 */ sw $ra, 0x18($sp) +/* 9113B0 80241D00 AFB00010 */ sw $s0, 0x10($sp) +/* 9113B4 80241D04 8E300148 */ lw $s0, 0x148($s1) +/* 9113B8 80241D08 0C00EABB */ jal get_npc_unsafe +/* 9113BC 80241D0C 86040008 */ lh $a0, 8($s0) +/* 9113C0 80241D10 0040202D */ daddu $a0, $v0, $zero +/* 9113C4 80241D14 9482008E */ lhu $v0, 0x8e($a0) +/* 9113C8 80241D18 24030003 */ addiu $v1, $zero, 3 +/* 9113CC 80241D1C 2442FFFF */ addiu $v0, $v0, -1 +/* 9113D0 80241D20 A482008E */ sh $v0, 0x8e($a0) +/* 9113D4 80241D24 00021400 */ sll $v0, $v0, 0x10 +/* 9113D8 80241D28 00021403 */ sra $v0, $v0, 0x10 +/* 9113DC 80241D2C 14430004 */ bne $v0, $v1, .L80241D40 +/* 9113E0 80241D30 3C031F10 */ lui $v1, 0x1f10 +/* 9113E4 80241D34 8E020000 */ lw $v0, ($s0) +/* 9113E8 80241D38 00431025 */ or $v0, $v0, $v1 +/* 9113EC 80241D3C AE020000 */ sw $v0, ($s0) +.L80241D40: +/* 9113F0 80241D40 8482008E */ lh $v0, 0x8e($a0) +/* 9113F4 80241D44 1C400005 */ bgtz $v0, .L80241D5C +/* 9113F8 80241D48 00000000 */ nop +/* 9113FC 80241D4C 8C820000 */ lw $v0, ($a0) +/* 911400 80241D50 34420002 */ ori $v0, $v0, 2 +/* 911404 80241D54 AC820000 */ sw $v0, ($a0) +/* 911408 80241D58 AE200070 */ sw $zero, 0x70($s1) +.L80241D5C: +/* 91140C 80241D5C 8FBF0018 */ lw $ra, 0x18($sp) +/* 911410 80241D60 8FB10014 */ lw $s1, 0x14($sp) +/* 911414 80241D64 8FB00010 */ lw $s0, 0x10($sp) +/* 911418 80241D68 03E00008 */ jr $ra +/* 91141C 80241D6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241D70_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241D70_90F6B0.s new file mode 100644 index 0000000000..c33f3ba486 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241D70_90F6B0.s @@ -0,0 +1,135 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D70_911420 +/* 911420 80241D70 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 911424 80241D74 AFB40040 */ sw $s4, 0x40($sp) +/* 911428 80241D78 0080A02D */ daddu $s4, $a0, $zero +/* 91142C 80241D7C AFBF0048 */ sw $ra, 0x48($sp) +/* 911430 80241D80 AFB50044 */ sw $s5, 0x44($sp) +/* 911434 80241D84 AFB3003C */ sw $s3, 0x3c($sp) +/* 911438 80241D88 AFB20038 */ sw $s2, 0x38($sp) +/* 91143C 80241D8C AFB10034 */ sw $s1, 0x34($sp) +/* 911440 80241D90 AFB00030 */ sw $s0, 0x30($sp) +/* 911444 80241D94 8E920148 */ lw $s2, 0x148($s4) +/* 911448 80241D98 86440008 */ lh $a0, 8($s2) +/* 91144C 80241D9C 8E90000C */ lw $s0, 0xc($s4) +/* 911450 80241DA0 0C00EABB */ jal get_npc_unsafe +/* 911454 80241DA4 00A0882D */ daddu $s1, $a1, $zero +/* 911458 80241DA8 0280202D */ daddu $a0, $s4, $zero +/* 91145C 80241DAC 8E050000 */ lw $a1, ($s0) +/* 911460 80241DB0 0C0B1EAF */ jal get_variable +/* 911464 80241DB4 0040A82D */ daddu $s5, $v0, $zero +/* 911468 80241DB8 AFA00010 */ sw $zero, 0x10($sp) +/* 91146C 80241DBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911470 80241DC0 8C630030 */ lw $v1, 0x30($v1) +/* 911474 80241DC4 AFA30014 */ sw $v1, 0x14($sp) +/* 911478 80241DC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* 91147C 80241DCC 8C63001C */ lw $v1, 0x1c($v1) +/* 911480 80241DD0 AFA30018 */ sw $v1, 0x18($sp) +/* 911484 80241DD4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911488 80241DD8 8C630024 */ lw $v1, 0x24($v1) +/* 91148C 80241DDC AFA3001C */ sw $v1, 0x1c($sp) +/* 911490 80241DE0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911494 80241DE4 8C630028 */ lw $v1, 0x28($v1) +/* 911498 80241DE8 27B30010 */ addiu $s3, $sp, 0x10 +/* 91149C 80241DEC AFA30020 */ sw $v1, 0x20($sp) +/* 9114A0 80241DF0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9114A4 80241DF4 3C014282 */ lui $at, 0x4282 +/* 9114A8 80241DF8 44810000 */ mtc1 $at, $f0 +/* 9114AC 80241DFC 8C63002C */ lw $v1, 0x2c($v1) +/* 9114B0 80241E00 0040802D */ daddu $s0, $v0, $zero +/* 9114B4 80241E04 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9114B8 80241E08 A7A0002C */ sh $zero, 0x2c($sp) +/* 9114BC 80241E0C 1220000A */ beqz $s1, .L80241E38 +/* 9114C0 80241E10 AFA30024 */ sw $v1, 0x24($sp) +/* 9114C4 80241E14 AE800070 */ sw $zero, 0x70($s4) +/* 9114C8 80241E18 8EA20000 */ lw $v0, ($s5) +/* 9114CC 80241E1C 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9114D0 80241E20 A6A0008E */ sh $zero, 0x8e($s5) +/* 9114D4 80241E24 00431024 */ and $v0, $v0, $v1 +/* 9114D8 80241E28 AEA20000 */ sw $v0, ($s5) +/* 9114DC 80241E2C 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9114E0 80241E30 34420018 */ ori $v0, $v0, 0x18 +/* 9114E4 80241E34 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241E38: +/* 9114E8 80241E38 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9114EC 80241E3C 30620004 */ andi $v0, $v1, 4 +/* 9114F0 80241E40 10400007 */ beqz $v0, .L80241E60 +/* 9114F4 80241E44 00000000 */ nop +/* 9114F8 80241E48 824200B4 */ lb $v0, 0xb4($s2) +/* 9114FC 80241E4C 1440003E */ bnez $v0, .L80241F48 +/* 911500 80241E50 0000102D */ daddu $v0, $zero, $zero +/* 911504 80241E54 2402FFFB */ addiu $v0, $zero, -5 +/* 911508 80241E58 00621024 */ and $v0, $v1, $v0 +/* 91150C 80241E5C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241E60: +/* 911510 80241E60 8E830070 */ lw $v1, 0x70($s4) +/* 911514 80241E64 2C620016 */ sltiu $v0, $v1, 0x16 +/* 911518 80241E68 10400036 */ beqz $v0, .L80241F44 +/* 91151C 80241E6C 00031080 */ sll $v0, $v1, 2 +/* 911520 80241E70 3C018024 */ lui $at, 0x8024 +/* 911524 80241E74 00220821 */ addu $at, $at, $v0 +/* 911528 80241E78 8C2263D8 */ lw $v0, 0x63d8($at) +/* 91152C 80241E7C 00400008 */ jr $v0 +/* 911530 80241E80 00000000 */ nop +/* 911534 80241E84 0280202D */ daddu $a0, $s4, $zero +/* 911538 80241E88 0200282D */ daddu $a1, $s0, $zero +/* 91153C 80241E8C 0C090578 */ jal func_802415E0 +/* 911540 80241E90 0260302D */ daddu $a2, $s3, $zero +/* 911544 80241E94 0280202D */ daddu $a0, $s4, $zero +/* 911548 80241E98 0200282D */ daddu $a1, $s0, $zero +/* 91154C 80241E9C 0C0905BC */ jal func_802416F0 +/* 911550 80241EA0 0260302D */ daddu $a2, $s3, $zero +/* 911554 80241EA4 080907D2 */ j .L80241F48 +/* 911558 80241EA8 0000102D */ daddu $v0, $zero, $zero +/* 91155C 80241EAC 0280202D */ daddu $a0, $s4, $zero +/* 911560 80241EB0 0200282D */ daddu $a1, $s0, $zero +/* 911564 80241EB4 0C09064B */ jal func_8024192C +/* 911568 80241EB8 0260302D */ daddu $a2, $s3, $zero +/* 91156C 80241EBC 0280202D */ daddu $a0, $s4, $zero +/* 911570 80241EC0 0200282D */ daddu $a1, $s0, $zero +/* 911574 80241EC4 0C090670 */ jal func_802419C0 +/* 911578 80241EC8 0260302D */ daddu $a2, $s3, $zero +/* 91157C 80241ECC 8E830070 */ lw $v1, 0x70($s4) +/* 911580 80241ED0 2402000E */ addiu $v0, $zero, 0xe +/* 911584 80241ED4 1462001C */ bne $v1, $v0, .L80241F48 +/* 911588 80241ED8 0000102D */ daddu $v0, $zero, $zero +/* 91158C 80241EDC 0280202D */ daddu $a0, $s4, $zero +/* 911590 80241EE0 0200282D */ daddu $a1, $s0, $zero +/* 911594 80241EE4 0C090693 */ jal func_80241A4C +/* 911598 80241EE8 0260302D */ daddu $a2, $s3, $zero +/* 91159C 80241EEC 8E830070 */ lw $v1, 0x70($s4) +/* 9115A0 80241EF0 2402000F */ addiu $v0, $zero, 0xf +/* 9115A4 80241EF4 14620014 */ bne $v1, $v0, .L80241F48 +/* 9115A8 80241EF8 0000102D */ daddu $v0, $zero, $zero +/* 9115AC 80241EFC 0280202D */ daddu $a0, $s4, $zero +/* 9115B0 80241F00 0200282D */ daddu $a1, $s0, $zero +/* 9115B4 80241F04 0C0906DD */ jal func_80241B74 +/* 9115B8 80241F08 0260302D */ daddu $a2, $s3, $zero +/* 9115BC 80241F0C 8E830070 */ lw $v1, 0x70($s4) +/* 9115C0 80241F10 24020010 */ addiu $v0, $zero, 0x10 +/* 9115C4 80241F14 1462000C */ bne $v1, $v0, .L80241F48 +/* 9115C8 80241F18 0000102D */ daddu $v0, $zero, $zero +/* 9115CC 80241F1C 0280202D */ daddu $a0, $s4, $zero +/* 9115D0 80241F20 0200282D */ daddu $a1, $s0, $zero +/* 9115D4 80241F24 0C09071E */ jal func_80241C78 +/* 9115D8 80241F28 0260302D */ daddu $a2, $s3, $zero +/* 9115DC 80241F2C 080907D2 */ j .L80241F48 +/* 9115E0 80241F30 0000102D */ daddu $v0, $zero, $zero +/* 9115E4 80241F34 0280202D */ daddu $a0, $s4, $zero +/* 9115E8 80241F38 0200282D */ daddu $a1, $s0, $zero +/* 9115EC 80241F3C 0C09073C */ jal func_80241CF0 +/* 9115F0 80241F40 0260302D */ daddu $a2, $s3, $zero +.L80241F44: +/* 9115F4 80241F44 0000102D */ daddu $v0, $zero, $zero +.L80241F48: +/* 9115F8 80241F48 8FBF0048 */ lw $ra, 0x48($sp) +/* 9115FC 80241F4C 8FB50044 */ lw $s5, 0x44($sp) +/* 911600 80241F50 8FB40040 */ lw $s4, 0x40($sp) +/* 911604 80241F54 8FB3003C */ lw $s3, 0x3c($sp) +/* 911608 80241F58 8FB20038 */ lw $s2, 0x38($sp) +/* 91160C 80241F5C 8FB10034 */ lw $s1, 0x34($sp) +/* 911610 80241F60 8FB00030 */ lw $s0, 0x30($sp) +/* 911614 80241F64 03E00008 */ jr $ra +/* 911618 80241F68 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80241F6C_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241F6C_90F6B0.s new file mode 100644 index 0000000000..7612e2ee9a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80241F6C_90F6B0.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F6C_91161C +/* 91161C 80241F6C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 911620 80241F70 AFB3003C */ sw $s3, 0x3c($sp) +/* 911624 80241F74 0080982D */ daddu $s3, $a0, $zero +/* 911628 80241F78 AFBF0048 */ sw $ra, 0x48($sp) +/* 91162C 80241F7C AFB50044 */ sw $s5, 0x44($sp) +/* 911630 80241F80 AFB40040 */ sw $s4, 0x40($sp) +/* 911634 80241F84 AFB20038 */ sw $s2, 0x38($sp) +/* 911638 80241F88 AFB10034 */ sw $s1, 0x34($sp) +/* 91163C 80241F8C AFB00030 */ sw $s0, 0x30($sp) +/* 911640 80241F90 8E720148 */ lw $s2, 0x148($s3) +/* 911644 80241F94 86440008 */ lh $a0, 8($s2) +/* 911648 80241F98 8E70000C */ lw $s0, 0xc($s3) +/* 91164C 80241F9C 0C00EABB */ jal get_npc_unsafe +/* 911650 80241FA0 00A0882D */ daddu $s1, $a1, $zero +/* 911654 80241FA4 0260202D */ daddu $a0, $s3, $zero +/* 911658 80241FA8 8E050000 */ lw $a1, ($s0) +/* 91165C 80241FAC 0C0B1EAF */ jal get_variable +/* 911660 80241FB0 0040A02D */ daddu $s4, $v0, $zero +/* 911664 80241FB4 AFA00010 */ sw $zero, 0x10($sp) +/* 911668 80241FB8 8E4300D0 */ lw $v1, 0xd0($s2) +/* 91166C 80241FBC 8C630030 */ lw $v1, 0x30($v1) +/* 911670 80241FC0 AFA30014 */ sw $v1, 0x14($sp) +/* 911674 80241FC4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911678 80241FC8 8C63001C */ lw $v1, 0x1c($v1) +/* 91167C 80241FCC AFA30018 */ sw $v1, 0x18($sp) +/* 911680 80241FD0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911684 80241FD4 8C630024 */ lw $v1, 0x24($v1) +/* 911688 80241FD8 AFA3001C */ sw $v1, 0x1c($sp) +/* 91168C 80241FDC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 911690 80241FE0 8C630028 */ lw $v1, 0x28($v1) +/* 911694 80241FE4 27B50010 */ addiu $s5, $sp, 0x10 +/* 911698 80241FE8 AFA30020 */ sw $v1, 0x20($sp) +/* 91169C 80241FEC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9116A0 80241FF0 3C014220 */ lui $at, 0x4220 +/* 9116A4 80241FF4 44810000 */ mtc1 $at, $f0 +/* 9116A8 80241FF8 8C63002C */ lw $v1, 0x2c($v1) +/* 9116AC 80241FFC 0040802D */ daddu $s0, $v0, $zero +/* 9116B0 80242000 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9116B4 80242004 A7A0002C */ sh $zero, 0x2c($sp) +/* 9116B8 80242008 16200005 */ bnez $s1, .L80242020 +/* 9116BC 8024200C AFA30024 */ sw $v1, 0x24($sp) +/* 9116C0 80242010 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9116C4 80242014 30420004 */ andi $v0, $v0, 4 +/* 9116C8 80242018 1040002F */ beqz $v0, .L802420D8 +/* 9116CC 8024201C 00000000 */ nop +.L80242020: +/* 9116D0 80242020 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9116D4 80242024 AE600070 */ sw $zero, 0x70($s3) +/* 9116D8 80242028 A680008E */ sh $zero, 0x8e($s4) +/* 9116DC 8024202C 8E4200CC */ lw $v0, 0xcc($s2) +/* 9116E0 80242030 8E830000 */ lw $v1, ($s4) +/* 9116E4 80242034 8C420000 */ lw $v0, ($v0) +/* 9116E8 80242038 00641824 */ and $v1, $v1, $a0 +/* 9116EC 8024203C AE830000 */ sw $v1, ($s4) +/* 9116F0 80242040 AE820028 */ sw $v0, 0x28($s4) +/* 9116F4 80242044 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9116F8 80242048 8C420034 */ lw $v0, 0x34($v0) +/* 9116FC 8024204C 54400005 */ bnel $v0, $zero, .L80242064 +/* 911700 80242050 2402FDFF */ addiu $v0, $zero, -0x201 +/* 911704 80242054 34620200 */ ori $v0, $v1, 0x200 +/* 911708 80242058 2403FFF7 */ addiu $v1, $zero, -9 +/* 91170C 8024205C 0809081B */ j .L8024206C +/* 911710 80242060 00431024 */ and $v0, $v0, $v1 +.L80242064: +/* 911714 80242064 00621024 */ and $v0, $v1, $v0 +/* 911718 80242068 34420008 */ ori $v0, $v0, 8 +.L8024206C: +/* 91171C 8024206C AE820000 */ sw $v0, ($s4) +/* 911720 80242070 8E4200B0 */ lw $v0, 0xb0($s2) +/* 911724 80242074 30420004 */ andi $v0, $v0, 4 +/* 911728 80242078 10400008 */ beqz $v0, .L8024209C +/* 91172C 8024207C 24020063 */ addiu $v0, $zero, 0x63 +/* 911730 80242080 AE620070 */ sw $v0, 0x70($s3) +/* 911734 80242084 AE600074 */ sw $zero, 0x74($s3) +/* 911738 80242088 8E4200B0 */ lw $v0, 0xb0($s2) +/* 91173C 8024208C 2403FFFB */ addiu $v1, $zero, -5 +/* 911740 80242090 00431024 */ and $v0, $v0, $v1 +/* 911744 80242094 0809082D */ j .L802420B4 +/* 911748 80242098 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024209C: +/* 91174C 8024209C 8E420000 */ lw $v0, ($s2) +/* 911750 802420A0 3C034000 */ lui $v1, 0x4000 +/* 911754 802420A4 00431024 */ and $v0, $v0, $v1 +/* 911758 802420A8 10400002 */ beqz $v0, .L802420B4 +/* 91175C 802420AC 2402000C */ addiu $v0, $zero, 0xc +/* 911760 802420B0 AE620070 */ sw $v0, 0x70($s3) +.L802420B4: +/* 911764 802420B4 3C05BFFF */ lui $a1, 0xbfff +/* 911768 802420B8 34A5FFFF */ ori $a1, $a1, 0xffff +/* 91176C 802420BC 2404FFFB */ addiu $a0, $zero, -5 +/* 911770 802420C0 8E4200B0 */ lw $v0, 0xb0($s2) +/* 911774 802420C4 8E430000 */ lw $v1, ($s2) +/* 911778 802420C8 00441024 */ and $v0, $v0, $a0 +/* 91177C 802420CC 00651824 */ and $v1, $v1, $a1 +/* 911780 802420D0 AE4200B0 */ sw $v0, 0xb0($s2) +/* 911784 802420D4 AE430000 */ sw $v1, ($s2) +.L802420D8: +/* 911788 802420D8 8E630070 */ lw $v1, 0x70($s3) +/* 91178C 802420DC 2C620064 */ sltiu $v0, $v1, 0x64 +/* 911790 802420E0 10400060 */ beqz $v0, .L80242264 +/* 911794 802420E4 00031080 */ sll $v0, $v1, 2 +/* 911798 802420E8 3C018024 */ lui $at, 0x8024 +/* 91179C 802420EC 00220821 */ addu $at, $at, $v0 +/* 9117A0 802420F0 8C226430 */ lw $v0, 0x6430($at) +/* 9117A4 802420F4 00400008 */ jr $v0 +/* 9117A8 802420F8 00000000 */ nop +/* 9117AC 802420FC 0260202D */ daddu $a0, $s3, $zero +/* 9117B0 80242100 0200282D */ daddu $a1, $s0, $zero +/* 9117B4 80242104 0C012568 */ jal func_800495A0 +/* 9117B8 80242108 02A0302D */ daddu $a2, $s5, $zero +/* 9117BC 8024210C 0260202D */ daddu $a0, $s3, $zero +/* 9117C0 80242110 0200282D */ daddu $a1, $s0, $zero +/* 9117C4 80242114 0C0125AE */ jal func_800496B8 +/* 9117C8 80242118 02A0302D */ daddu $a2, $s5, $zero +/* 9117CC 8024211C 08090899 */ j .L80242264 +/* 9117D0 80242120 00000000 */ nop +/* 9117D4 80242124 0260202D */ daddu $a0, $s3, $zero +/* 9117D8 80242128 0200282D */ daddu $a1, $s0, $zero +/* 9117DC 8024212C 0C0126D1 */ jal func_80049B44 +/* 9117E0 80242130 02A0302D */ daddu $a2, $s5, $zero +/* 9117E4 80242134 0260202D */ daddu $a0, $s3, $zero +/* 9117E8 80242138 0200282D */ daddu $a1, $s0, $zero +/* 9117EC 8024213C 0C012701 */ jal func_80049C04 +/* 9117F0 80242140 02A0302D */ daddu $a2, $s5, $zero +/* 9117F4 80242144 08090899 */ j .L80242264 +/* 9117F8 80242148 00000000 */ nop +/* 9117FC 8024214C 0260202D */ daddu $a0, $s3, $zero +/* 911800 80242150 0200282D */ daddu $a1, $s0, $zero +/* 911804 80242154 0C01278F */ jal func_80049E3C +/* 911808 80242158 02A0302D */ daddu $a2, $s5, $zero +/* 91180C 8024215C 0260202D */ daddu $a0, $s3, $zero +/* 911810 80242160 0200282D */ daddu $a1, $s0, $zero +/* 911814 80242164 0C0127B3 */ jal func_80049ECC +/* 911818 80242168 02A0302D */ daddu $a2, $s5, $zero +/* 91181C 8024216C 08090899 */ j .L80242264 +/* 911820 80242170 00000000 */ nop +/* 911824 80242174 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 911828 80242178 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91182C 8024217C C68C0038 */ lwc1 $f12, 0x38($s4) +/* 911830 80242180 C68E0040 */ lwc1 $f14, 0x40($s4) +/* 911834 80242184 8C460028 */ lw $a2, 0x28($v0) +/* 911838 80242188 0C00A7B5 */ jal dist2D +/* 91183C 8024218C 8C470030 */ lw $a3, 0x30($v0) +/* 911840 80242190 8E42006C */ lw $v0, 0x6c($s2) +/* 911844 80242194 10400008 */ beqz $v0, .L802421B8 +/* 911848 80242198 46000086 */ mov.s $f2, $f0 +/* 91184C 8024219C 44820000 */ mtc1 $v0, $f0 +/* 911850 802421A0 00000000 */ nop +/* 911854 802421A4 46800020 */ cvt.s.w $f0, $f0 +/* 911858 802421A8 4602003C */ c.lt.s $f0, $f2 +/* 91185C 802421AC 00000000 */ nop +/* 911860 802421B0 4500000B */ bc1f .L802421E0 +/* 911864 802421B4 0260202D */ daddu $a0, $s3, $zero +.L802421B8: +/* 911868 802421B8 0260202D */ daddu $a0, $s3, $zero +/* 91186C 802421BC 8E050024 */ lw $a1, 0x24($s0) +/* 911870 802421C0 8E060028 */ lw $a2, 0x28($s0) +/* 911874 802421C4 0C0901C4 */ jal func_80240710 +/* 911878 802421C8 02A0382D */ daddu $a3, $s5, $zero +/* 91187C 802421CC 8E630070 */ lw $v1, 0x70($s3) +/* 911880 802421D0 2402000C */ addiu $v0, $zero, 0xc +/* 911884 802421D4 14620023 */ bne $v1, $v0, .L80242264 +/* 911888 802421D8 00000000 */ nop +/* 91188C 802421DC 0260202D */ daddu $a0, $s3, $zero +.L802421E0: +/* 911890 802421E0 0200282D */ daddu $a1, $s0, $zero +/* 911894 802421E4 0C0127DF */ jal func_80049F7C +/* 911898 802421E8 02A0302D */ daddu $a2, $s5, $zero +/* 91189C 802421EC 0260202D */ daddu $a0, $s3, $zero +/* 9118A0 802421F0 0200282D */ daddu $a1, $s0, $zero +/* 9118A4 802421F4 0C012849 */ jal func_8004A124 +/* 9118A8 802421F8 02A0302D */ daddu $a2, $s5, $zero +/* 9118AC 802421FC 08090899 */ j .L80242264 +/* 9118B0 80242200 00000000 */ nop +/* 9118B4 80242204 0260202D */ daddu $a0, $s3, $zero +/* 9118B8 80242208 0200282D */ daddu $a1, $s0, $zero +/* 9118BC 8024220C 0C0128FA */ jal func_8004A3E8 +/* 9118C0 80242210 02A0302D */ daddu $a2, $s5, $zero +/* 9118C4 80242214 08090899 */ j .L80242264 +/* 9118C8 80242218 00000000 */ nop +/* 9118CC 8024221C 0C090215 */ jal func_80240854 +/* 9118D0 80242220 0260202D */ daddu $a0, $s3, $zero +/* 9118D4 80242224 08090899 */ j .L80242264 +/* 9118D8 80242228 00000000 */ nop +/* 9118DC 8024222C 0C090255 */ jal func_80240954 +/* 9118E0 80242230 0260202D */ daddu $a0, $s3, $zero +/* 9118E4 80242234 08090899 */ j .L80242264 +/* 9118E8 80242238 00000000 */ nop +/* 9118EC 8024223C 0C090266 */ jal func_80240998 +/* 9118F0 80242240 0260202D */ daddu $a0, $s3, $zero +/* 9118F4 80242244 08090899 */ j .L80242264 +/* 9118F8 80242248 00000000 */ nop +/* 9118FC 8024224C 0C09028E */ jal func_80240A38 +/* 911900 80242250 0260202D */ daddu $a0, $s3, $zero +/* 911904 80242254 08090899 */ j .L80242264 +/* 911908 80242258 00000000 */ nop +/* 91190C 8024225C 0C0129CF */ jal func_8004A73C +/* 911910 80242260 0260202D */ daddu $a0, $s3, $zero +.L80242264: +/* 911914 80242264 8FBF0048 */ lw $ra, 0x48($sp) +/* 911918 80242268 8FB50044 */ lw $s5, 0x44($sp) +/* 91191C 8024226C 8FB40040 */ lw $s4, 0x40($sp) +/* 911920 80242270 8FB3003C */ lw $s3, 0x3c($sp) +/* 911924 80242274 8FB20038 */ lw $s2, 0x38($sp) +/* 911928 80242278 8FB10034 */ lw $s1, 0x34($sp) +/* 91192C 8024227C 8FB00030 */ lw $s0, 0x30($sp) +/* 911930 80242280 0000102D */ daddu $v0, $zero, $zero +/* 911934 80242284 03E00008 */ jr $ra +/* 911938 80242288 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_8024228C_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_8024228C_90F6B0.s new file mode 100644 index 0000000000..380bfad5c4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_8024228C_90F6B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024228C_91193C +/* 91193C 8024228C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 911940 80242290 3C05FE36 */ lui $a1, 0xfe36 +/* 911944 80242294 AFBF0010 */ sw $ra, 0x10($sp) +/* 911948 80242298 8C820148 */ lw $v0, 0x148($a0) +/* 91194C 8024229C 3C06800B */ lui $a2, 0x800b +/* 911950 802422A0 8CC60F9C */ lw $a2, 0xf9c($a2) +/* 911954 802422A4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 911958 802422A8 00C23026 */ xor $a2, $a2, $v0 +/* 91195C 802422AC 0C0B2026 */ jal set_variable +/* 911960 802422B0 2CC60001 */ sltiu $a2, $a2, 1 +/* 911964 802422B4 8FBF0010 */ lw $ra, 0x10($sp) +/* 911968 802422B8 24020002 */ addiu $v0, $zero, 2 +/* 91196C 802422BC 03E00008 */ jr $ra +/* 911970 802422C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802422C4.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802422C4.s new file mode 100644 index 0000000000..b3fe5132eb --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802422C4.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C4 +/* 911974 802422C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 911978 802422C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 91197C 802422CC AFB20018 */ sw $s2, 0x18($sp) +/* 911980 802422D0 AFB10014 */ sw $s1, 0x14($sp) +/* 911984 802422D4 AFB00010 */ sw $s0, 0x10($sp) +/* 911988 802422D8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 91198C 802422DC 8C900148 */ lw $s0, 0x148($a0) +/* 911990 802422E0 86040008 */ lh $a0, 8($s0) +/* 911994 802422E4 3C014387 */ lui $at, 0x4387 +/* 911998 802422E8 4481A000 */ mtc1 $at, $f20 +/* 91199C 802422EC 0C00EABB */ jal get_npc_unsafe +/* 9119A0 802422F0 00A0882D */ daddu $s1, $a1, $zero +/* 9119A4 802422F4 0200202D */ daddu $a0, $s0, $zero +/* 9119A8 802422F8 8E26000C */ lw $a2, 0xc($s1) +/* 9119AC 802422FC 8E270010 */ lw $a3, 0x10($s1) +/* 9119B0 80242300 0040882D */ daddu $s1, $v0, $zero +/* 9119B4 80242304 3C03800B */ lui $v1, %hi(gCameras) +/* 9119B8 80242308 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 9119BC 8024230C 3C02800A */ lui $v0, 0x800a +/* 9119C0 80242310 8442A634 */ lh $v0, -0x59cc($v0) +/* 9119C4 80242314 0000282D */ daddu $a1, $zero, $zero +/* 9119C8 80242318 00028080 */ sll $s0, $v0, 2 +/* 9119CC 8024231C 02028021 */ addu $s0, $s0, $v0 +/* 9119D0 80242320 00108080 */ sll $s0, $s0, 2 +/* 9119D4 80242324 02028023 */ subu $s0, $s0, $v0 +/* 9119D8 80242328 001010C0 */ sll $v0, $s0, 3 +/* 9119DC 8024232C 02028021 */ addu $s0, $s0, $v0 +/* 9119E0 80242330 001080C0 */ sll $s0, $s0, 3 +/* 9119E4 80242334 0C0124FB */ jal func_800493EC +/* 9119E8 80242338 02038021 */ addu $s0, $s0, $v1 +/* 9119EC 8024233C C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9119F0 80242340 C62E000C */ lwc1 $f14, 0xc($s1) +/* 9119F4 80242344 0C00A70A */ jal get_clamped_angle_diff +/* 9119F8 80242348 0002802B */ sltu $s0, $zero, $v0 +/* 9119FC 8024234C 0C00A6C9 */ jal clamp_angle +/* 911A00 80242350 46000306 */ mov.s $f12, $f0 +/* 911A04 80242354 3C018024 */ lui $at, 0x8024 +/* 911A08 80242358 D42265C0 */ ldc1 $f2, 0x65c0($at) +/* 911A0C 8024235C 46000021 */ cvt.d.s $f0, $f0 +/* 911A10 80242360 4622003C */ c.lt.d $f0, $f2 +/* 911A14 80242364 00000000 */ nop +/* 911A18 80242368 45000003 */ bc1f .L80242378 +/* 911A1C 8024236C 00000000 */ nop +/* 911A20 80242370 3C0142B4 */ lui $at, 0x42b4 +/* 911A24 80242374 4481A000 */ mtc1 $at, $f20 +.L80242378: +/* 911A28 80242378 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 911A2C 8024237C 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 911A30 80242380 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 911A34 80242384 8E420000 */ lw $v0, ($s2) +/* 911A38 80242388 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 911A3C 8024238C 8C460028 */ lw $a2, 0x28($v0) +/* 911A40 80242390 0C00A720 */ jal atan2 +/* 911A44 80242394 8C470030 */ lw $a3, 0x30($v0) +/* 911A48 80242398 4600A306 */ mov.s $f12, $f20 +/* 911A4C 8024239C 0C00A70A */ jal get_clamped_angle_diff +/* 911A50 802423A0 46000386 */ mov.s $f14, $f0 +/* 911A54 802423A4 46000005 */ abs.s $f0, $f0 +/* 911A58 802423A8 3C018024 */ lui $at, 0x8024 +/* 911A5C 802423AC D42265C8 */ ldc1 $f2, 0x65c8($at) +/* 911A60 802423B0 46000021 */ cvt.d.s $f0, $f0 +/* 911A64 802423B4 4620103C */ c.lt.d $f2, $f0 +/* 911A68 802423B8 00000000 */ nop +/* 911A6C 802423BC 45030001 */ bc1tl .L802423C4 +/* 911A70 802423C0 0000802D */ daddu $s0, $zero, $zero +.L802423C4: +/* 911A74 802423C4 8E420000 */ lw $v0, ($s2) +/* 911A78 802423C8 C620003C */ lwc1 $f0, 0x3c($s1) +/* 911A7C 802423CC C442002C */ lwc1 $f2, 0x2c($v0) +/* 911A80 802423D0 46020001 */ sub.s $f0, $f0, $f2 +/* 911A84 802423D4 3C014220 */ lui $at, 0x4220 +/* 911A88 802423D8 44811000 */ mtc1 $at, $f2 +/* 911A8C 802423DC 46000005 */ abs.s $f0, $f0 +/* 911A90 802423E0 4600103E */ c.le.s $f2, $f0 +/* 911A94 802423E4 00000000 */ nop +/* 911A98 802423E8 45030001 */ bc1tl .L802423F0 +/* 911A9C 802423EC 0000802D */ daddu $s0, $zero, $zero +.L802423F0: +/* 911AA0 802423F0 3C038011 */ lui $v1, 0x8011 +/* 911AA4 802423F4 8063EBB3 */ lb $v1, -0x144d($v1) +/* 911AA8 802423F8 24020009 */ addiu $v0, $zero, 9 +/* 911AAC 802423FC 50620001 */ beql $v1, $v0, .L80242404 +/* 911AB0 80242400 0000802D */ daddu $s0, $zero, $zero +.L80242404: +/* 911AB4 80242404 0200102D */ daddu $v0, $s0, $zero +/* 911AB8 80242408 8FBF001C */ lw $ra, 0x1c($sp) +/* 911ABC 8024240C 8FB20018 */ lw $s2, 0x18($sp) +/* 911AC0 80242410 8FB10014 */ lw $s1, 0x14($sp) +/* 911AC4 80242414 8FB00010 */ lw $s0, 0x10($sp) +/* 911AC8 80242418 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 911ACC 8024241C 03E00008 */ jr $ra +/* 911AD0 80242420 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242424_90F6B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242424_90F6B0.s new file mode 100644 index 0000000000..12ff39d442 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242424_90F6B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242424_911AD4 +/* 911AD4 80242424 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911AD8 80242428 AFB10014 */ sw $s1, 0x14($sp) +/* 911ADC 8024242C 0080882D */ daddu $s1, $a0, $zero +/* 911AE0 80242430 AFBF001C */ sw $ra, 0x1c($sp) +/* 911AE4 80242434 AFB20018 */ sw $s2, 0x18($sp) +/* 911AE8 80242438 AFB00010 */ sw $s0, 0x10($sp) +/* 911AEC 8024243C 8E320148 */ lw $s2, 0x148($s1) +/* 911AF0 80242440 0C00EABB */ jal get_npc_unsafe +/* 911AF4 80242444 86440008 */ lh $a0, 8($s2) +/* 911AF8 80242448 0040802D */ daddu $s0, $v0, $zero +/* 911AFC 8024244C 0C00EAFF */ jal disable_npc_shadow +/* 911B00 80242450 0200202D */ daddu $a0, $s0, $zero +/* 911B04 80242454 24020016 */ addiu $v0, $zero, 0x16 +/* 911B08 80242458 A60200A8 */ sh $v0, 0xa8($s0) +/* 911B0C 8024245C 24020018 */ addiu $v0, $zero, 0x18 +/* 911B10 80242460 A60200A6 */ sh $v0, 0xa6($s0) +/* 911B14 80242464 AE200074 */ sw $zero, 0x74($s1) +/* 911B18 80242468 A600008E */ sh $zero, 0x8e($s0) +/* 911B1C 8024246C 8E4200CC */ lw $v0, 0xcc($s2) +/* 911B20 80242470 8C420020 */ lw $v0, 0x20($v0) +/* 911B24 80242474 AE020028 */ sw $v0, 0x28($s0) +/* 911B28 80242478 24020001 */ addiu $v0, $zero, 1 +/* 911B2C 8024247C AE220070 */ sw $v0, 0x70($s1) +/* 911B30 80242480 8FBF001C */ lw $ra, 0x1c($sp) +/* 911B34 80242484 8FB20018 */ lw $s2, 0x18($sp) +/* 911B38 80242488 8FB10014 */ lw $s1, 0x14($sp) +/* 911B3C 8024248C 8FB00010 */ lw $s0, 0x10($sp) +/* 911B40 80242490 03E00008 */ jr $ra +/* 911B44 80242494 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242498.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242498.s new file mode 100644 index 0000000000..db50d8fab3 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242498.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242498 +/* 911B48 80242498 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 911B4C 8024249C AFB3003C */ sw $s3, 0x3c($sp) +/* 911B50 802424A0 0080982D */ daddu $s3, $a0, $zero +/* 911B54 802424A4 AFBF0044 */ sw $ra, 0x44($sp) +/* 911B58 802424A8 AFB40040 */ sw $s4, 0x40($sp) +/* 911B5C 802424AC AFB20038 */ sw $s2, 0x38($sp) +/* 911B60 802424B0 AFB10034 */ sw $s1, 0x34($sp) +/* 911B64 802424B4 AFB00030 */ sw $s0, 0x30($sp) +/* 911B68 802424B8 8E700148 */ lw $s0, 0x148($s3) +/* 911B6C 802424BC 00A0902D */ daddu $s2, $a1, $zero +/* 911B70 802424C0 86040008 */ lh $a0, 8($s0) +/* 911B74 802424C4 0C00EABB */ jal get_npc_unsafe +/* 911B78 802424C8 00C0A02D */ daddu $s4, $a2, $zero +/* 911B7C 802424CC 8E630074 */ lw $v1, 0x74($s3) +/* 911B80 802424D0 1C600032 */ bgtz $v1, .L8024259C +/* 911B84 802424D4 0040882D */ daddu $s1, $v0, $zero +/* 911B88 802424D8 8E420014 */ lw $v0, 0x14($s2) +/* 911B8C 802424DC AE620074 */ sw $v0, 0x74($s3) +/* 911B90 802424E0 C640000C */ lwc1 $f0, 0xc($s2) +/* 911B94 802424E4 3C018024 */ lui $at, 0x8024 +/* 911B98 802424E8 D42265D0 */ ldc1 $f2, 0x65d0($at) +/* 911B9C 802424EC 46000021 */ cvt.d.s $f0, $f0 +/* 911BA0 802424F0 46220002 */ mul.d $f0, $f0, $f2 +/* 911BA4 802424F4 00000000 */ nop +/* 911BA8 802424F8 0280202D */ daddu $a0, $s4, $zero +/* 911BAC 802424FC AFA00010 */ sw $zero, 0x10($sp) +/* 911BB0 80242500 8E470010 */ lw $a3, 0x10($s2) +/* 911BB4 80242504 46200020 */ cvt.s.d $f0, $f0 +/* 911BB8 80242508 44060000 */ mfc1 $a2, $f0 +/* 911BBC 8024250C 0C01242D */ jal func_800490B4 +/* 911BC0 80242510 0200282D */ daddu $a1, $s0, $zero +/* 911BC4 80242514 10400021 */ beqz $v0, .L8024259C +/* 911BC8 80242518 0000202D */ daddu $a0, $zero, $zero +/* 911BCC 8024251C 0220282D */ daddu $a1, $s1, $zero +/* 911BD0 80242520 0000302D */ daddu $a2, $zero, $zero +/* 911BD4 80242524 8E0200CC */ lw $v0, 0xcc($s0) +/* 911BD8 80242528 3C013F80 */ lui $at, 0x3f80 +/* 911BDC 8024252C 44810000 */ mtc1 $at, $f0 +/* 911BE0 80242530 3C014000 */ lui $at, 0x4000 +/* 911BE4 80242534 44811000 */ mtc1 $at, $f2 +/* 911BE8 80242538 8C430024 */ lw $v1, 0x24($v0) +/* 911BEC 8024253C 862200A8 */ lh $v0, 0xa8($s1) +/* 911BF0 80242540 3C01C1A0 */ lui $at, 0xc1a0 +/* 911BF4 80242544 44812000 */ mtc1 $at, $f4 +/* 911BF8 80242548 44823000 */ mtc1 $v0, $f6 +/* 911BFC 8024254C 00000000 */ nop +/* 911C00 80242550 468031A0 */ cvt.s.w $f6, $f6 +/* 911C04 80242554 44073000 */ mfc1 $a3, $f6 +/* 911C08 80242558 2402000F */ addiu $v0, $zero, 0xf +/* 911C0C 8024255C AE230028 */ sw $v1, 0x28($s1) +/* 911C10 80242560 AFA2001C */ sw $v0, 0x1c($sp) +/* 911C14 80242564 27A20028 */ addiu $v0, $sp, 0x28 +/* 911C18 80242568 E7A00010 */ swc1 $f0, 0x10($sp) +/* 911C1C 8024256C E7A20014 */ swc1 $f2, 0x14($sp) +/* 911C20 80242570 E7A40018 */ swc1 $f4, 0x18($sp) +/* 911C24 80242574 0C01BFA4 */ jal fx_emote +/* 911C28 80242578 AFA20020 */ sw $v0, 0x20($sp) +/* 911C2C 8024257C 0220202D */ daddu $a0, $s1, $zero +/* 911C30 80242580 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 911C34 80242584 0C012530 */ jal func_800494C0 +/* 911C38 80242588 3C060020 */ lui $a2, 0x20 +/* 911C3C 8024258C 2402000C */ addiu $v0, $zero, 0xc +/* 911C40 80242590 A622008E */ sh $v0, 0x8e($s1) +/* 911C44 80242594 24020002 */ addiu $v0, $zero, 2 +/* 911C48 80242598 AE620070 */ sw $v0, 0x70($s3) +.L8024259C: +/* 911C4C 8024259C 8E620074 */ lw $v0, 0x74($s3) +/* 911C50 802425A0 2442FFFF */ addiu $v0, $v0, -1 +/* 911C54 802425A4 AE620074 */ sw $v0, 0x74($s3) +/* 911C58 802425A8 8FBF0044 */ lw $ra, 0x44($sp) +/* 911C5C 802425AC 8FB40040 */ lw $s4, 0x40($sp) +/* 911C60 802425B0 8FB3003C */ lw $s3, 0x3c($sp) +/* 911C64 802425B4 8FB20038 */ lw $s2, 0x38($sp) +/* 911C68 802425B8 8FB10034 */ lw $s1, 0x34($sp) +/* 911C6C 802425BC 8FB00030 */ lw $s0, 0x30($sp) +/* 911C70 802425C0 03E00008 */ jr $ra +/* 911C74 802425C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802425C8.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802425C8.s new file mode 100644 index 0000000000..a9acce296a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802425C8.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425C8 +/* 911C78 802425C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911C7C 802425CC AFB20018 */ sw $s2, 0x18($sp) +/* 911C80 802425D0 0080902D */ daddu $s2, $a0, $zero +/* 911C84 802425D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 911C88 802425D8 AFB10014 */ sw $s1, 0x14($sp) +/* 911C8C 802425DC AFB00010 */ sw $s0, 0x10($sp) +/* 911C90 802425E0 8E510148 */ lw $s1, 0x148($s2) +/* 911C94 802425E4 0C00EABB */ jal get_npc_unsafe +/* 911C98 802425E8 86240008 */ lh $a0, 8($s1) +/* 911C9C 802425EC 0040802D */ daddu $s0, $v0, $zero +/* 911CA0 802425F0 9602008E */ lhu $v0, 0x8e($s0) +/* 911CA4 802425F4 2442FFFF */ addiu $v0, $v0, -1 +/* 911CA8 802425F8 A602008E */ sh $v0, 0x8e($s0) +/* 911CAC 802425FC 00021400 */ sll $v0, $v0, 0x10 +/* 911CB0 80242600 1C400012 */ bgtz $v0, .L8024264C +/* 911CB4 80242604 00000000 */ nop +/* 911CB8 80242608 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 911CBC 8024260C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 911CC0 80242610 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 911CC4 80242614 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 911CC8 80242618 8C460028 */ lw $a2, 0x28($v0) +/* 911CCC 8024261C 0C00A720 */ jal atan2 +/* 911CD0 80242620 8C470030 */ lw $a3, 0x30($v0) +/* 911CD4 80242624 0200202D */ daddu $a0, $s0, $zero +/* 911CD8 80242628 0C00EAE8 */ jal enable_npc_shadow +/* 911CDC 8024262C E600000C */ swc1 $f0, 0xc($s0) +/* 911CE0 80242630 8E2200CC */ lw $v0, 0xcc($s1) +/* 911CE4 80242634 8C430028 */ lw $v1, 0x28($v0) +/* 911CE8 80242638 24020008 */ addiu $v0, $zero, 8 +/* 911CEC 8024263C A602008E */ sh $v0, 0x8e($s0) +/* 911CF0 80242640 24020003 */ addiu $v0, $zero, 3 +/* 911CF4 80242644 AE030028 */ sw $v1, 0x28($s0) +/* 911CF8 80242648 AE420070 */ sw $v0, 0x70($s2) +.L8024264C: +/* 911CFC 8024264C 8FBF001C */ lw $ra, 0x1c($sp) +/* 911D00 80242650 8FB20018 */ lw $s2, 0x18($sp) +/* 911D04 80242654 8FB10014 */ lw $s1, 0x14($sp) +/* 911D08 80242658 8FB00010 */ lw $s0, 0x10($sp) +/* 911D0C 8024265C 03E00008 */ jr $ra +/* 911D10 80242660 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242664.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242664.s new file mode 100644 index 0000000000..bab26408b8 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242664.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242664 +/* 911D14 80242664 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911D18 80242668 AFB10014 */ sw $s1, 0x14($sp) +/* 911D1C 8024266C 0080882D */ daddu $s1, $a0, $zero +/* 911D20 80242670 AFBF0018 */ sw $ra, 0x18($sp) +/* 911D24 80242674 AFB00010 */ sw $s0, 0x10($sp) +/* 911D28 80242678 8E220148 */ lw $v0, 0x148($s1) +/* 911D2C 8024267C 0C00EABB */ jal get_npc_unsafe +/* 911D30 80242680 84440008 */ lh $a0, 8($v0) +/* 911D34 80242684 0040802D */ daddu $s0, $v0, $zero +/* 911D38 80242688 9602008E */ lhu $v0, 0x8e($s0) +/* 911D3C 8024268C 2442FFFF */ addiu $v0, $v0, -1 +/* 911D40 80242690 A602008E */ sh $v0, 0x8e($s0) +/* 911D44 80242694 00021400 */ sll $v0, $v0, 0x10 +/* 911D48 80242698 1C40000F */ bgtz $v0, .L802426D8 +/* 911D4C 8024269C 00000000 */ nop +/* 911D50 802426A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 911D54 802426A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 911D58 802426A8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 911D5C 802426AC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 911D60 802426B0 8C460028 */ lw $a2, 0x28($v0) +/* 911D64 802426B4 0C00A720 */ jal atan2 +/* 911D68 802426B8 8C470030 */ lw $a3, 0x30($v0) +/* 911D6C 802426BC 2402001A */ addiu $v0, $zero, 0x1a +/* 911D70 802426C0 A60200A8 */ sh $v0, 0xa8($s0) +/* 911D74 802426C4 24020018 */ addiu $v0, $zero, 0x18 +/* 911D78 802426C8 A60200A6 */ sh $v0, 0xa6($s0) +/* 911D7C 802426CC 24020004 */ addiu $v0, $zero, 4 +/* 911D80 802426D0 E600000C */ swc1 $f0, 0xc($s0) +/* 911D84 802426D4 AE220070 */ sw $v0, 0x70($s1) +.L802426D8: +/* 911D88 802426D8 8FBF0018 */ lw $ra, 0x18($sp) +/* 911D8C 802426DC 8FB10014 */ lw $s1, 0x14($sp) +/* 911D90 802426E0 8FB00010 */ lw $s0, 0x10($sp) +/* 911D94 802426E4 03E00008 */ jr $ra +/* 911D98 802426E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802426EC.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802426EC.s new file mode 100644 index 0000000000..12ea288515 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802426EC.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426EC +/* 911D9C 802426EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911DA0 802426F0 AFB10014 */ sw $s1, 0x14($sp) +/* 911DA4 802426F4 0080882D */ daddu $s1, $a0, $zero +/* 911DA8 802426F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 911DAC 802426FC AFB20018 */ sw $s2, 0x18($sp) +/* 911DB0 80242700 AFB00010 */ sw $s0, 0x10($sp) +/* 911DB4 80242704 8E320148 */ lw $s2, 0x148($s1) +/* 911DB8 80242708 0C00EABB */ jal get_npc_unsafe +/* 911DBC 8024270C 86440008 */ lh $a0, 8($s2) +/* 911DC0 80242710 240400B4 */ addiu $a0, $zero, 0xb4 +/* 911DC4 80242714 0C00A67F */ jal rand_int +/* 911DC8 80242718 0040802D */ daddu $s0, $v0, $zero +/* 911DCC 8024271C C60C000C */ lwc1 $f12, 0xc($s0) +/* 911DD0 80242720 44820000 */ mtc1 $v0, $f0 +/* 911DD4 80242724 00000000 */ nop +/* 911DD8 80242728 46800020 */ cvt.s.w $f0, $f0 +/* 911DDC 8024272C 46006300 */ add.s $f12, $f12, $f0 +/* 911DE0 80242730 3C0142B4 */ lui $at, 0x42b4 +/* 911DE4 80242734 44810000 */ mtc1 $at, $f0 +/* 911DE8 80242738 0C00A6C9 */ jal clamp_angle +/* 911DEC 8024273C 46006301 */ sub.s $f12, $f12, $f0 +/* 911DF0 80242740 E600000C */ swc1 $f0, 0xc($s0) +/* 911DF4 80242744 8E4200CC */ lw $v0, 0xcc($s2) +/* 911DF8 80242748 8C420000 */ lw $v0, ($v0) +/* 911DFC 8024274C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 911E00 80242750 0C00A67F */ jal rand_int +/* 911E04 80242754 AE020028 */ sw $v0, 0x28($s0) +/* 911E08 80242758 00021FC2 */ srl $v1, $v0, 0x1f +/* 911E0C 8024275C 00431821 */ addu $v1, $v0, $v1 +/* 911E10 80242760 00031843 */ sra $v1, $v1, 1 +/* 911E14 80242764 00031840 */ sll $v1, $v1, 1 +/* 911E18 80242768 00431023 */ subu $v0, $v0, $v1 +/* 911E1C 8024276C 24420002 */ addiu $v0, $v0, 2 +/* 911E20 80242770 AE220074 */ sw $v0, 0x74($s1) +/* 911E24 80242774 24020005 */ addiu $v0, $zero, 5 +/* 911E28 80242778 AE220070 */ sw $v0, 0x70($s1) +/* 911E2C 8024277C 8FBF001C */ lw $ra, 0x1c($sp) +/* 911E30 80242780 8FB20018 */ lw $s2, 0x18($sp) +/* 911E34 80242784 8FB10014 */ lw $s1, 0x14($sp) +/* 911E38 80242788 8FB00010 */ lw $s0, 0x10($sp) +/* 911E3C 8024278C 03E00008 */ jr $ra +/* 911E40 80242790 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242794.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242794.s new file mode 100644 index 0000000000..cecbc36b6e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242794.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242794 +/* 911E44 80242794 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 911E48 80242798 AFB3003C */ sw $s3, 0x3c($sp) +/* 911E4C 8024279C 0080982D */ daddu $s3, $a0, $zero +/* 911E50 802427A0 AFBF0040 */ sw $ra, 0x40($sp) +/* 911E54 802427A4 AFB20038 */ sw $s2, 0x38($sp) +/* 911E58 802427A8 AFB10034 */ sw $s1, 0x34($sp) +/* 911E5C 802427AC AFB00030 */ sw $s0, 0x30($sp) +/* 911E60 802427B0 8E700148 */ lw $s0, 0x148($s3) +/* 911E64 802427B4 00A0902D */ daddu $s2, $a1, $zero +/* 911E68 802427B8 86040008 */ lh $a0, 8($s0) +/* 911E6C 802427BC 0C00EABB */ jal get_npc_unsafe +/* 911E70 802427C0 00C0882D */ daddu $s1, $a2, $zero +/* 911E74 802427C4 0220202D */ daddu $a0, $s1, $zero +/* 911E78 802427C8 0200282D */ daddu $a1, $s0, $zero +/* 911E7C 802427CC AFA00010 */ sw $zero, 0x10($sp) +/* 911E80 802427D0 8E460024 */ lw $a2, 0x24($s2) +/* 911E84 802427D4 8E470028 */ lw $a3, 0x28($s2) +/* 911E88 802427D8 0C01242D */ jal func_800490B4 +/* 911E8C 802427DC 0040802D */ daddu $s0, $v0, $zero +/* 911E90 802427E0 1040000B */ beqz $v0, .L80242810 +/* 911E94 802427E4 00000000 */ nop +/* 911E98 802427E8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 911E9C 802427EC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 911EA0 802427F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 911EA4 802427F4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 911EA8 802427F8 8C460028 */ lw $a2, 0x28($v0) +/* 911EAC 802427FC 0C00A720 */ jal atan2 +/* 911EB0 80242800 8C470030 */ lw $a3, 0x30($v0) +/* 911EB4 80242804 2402000C */ addiu $v0, $zero, 0xc +/* 911EB8 80242808 08090A3A */ j .L802428E8 +/* 911EBC 8024280C E600000C */ swc1 $f0, 0xc($s0) +.L80242810: +/* 911EC0 80242810 9602008E */ lhu $v0, 0x8e($s0) +/* 911EC4 80242814 2442FFFF */ addiu $v0, $v0, -1 +/* 911EC8 80242818 A602008E */ sh $v0, 0x8e($s0) +/* 911ECC 8024281C 00021400 */ sll $v0, $v0, 0x10 +/* 911ED0 80242820 1C400032 */ bgtz $v0, .L802428EC +/* 911ED4 80242824 00000000 */ nop +/* 911ED8 80242828 8E620074 */ lw $v0, 0x74($s3) +/* 911EDC 8024282C 2442FFFF */ addiu $v0, $v0, -1 +/* 911EE0 80242830 18400014 */ blez $v0, .L80242884 +/* 911EE4 80242834 AE620074 */ sw $v0, 0x74($s3) +/* 911EE8 80242838 C600000C */ lwc1 $f0, 0xc($s0) +/* 911EEC 8024283C 3C014334 */ lui $at, 0x4334 +/* 911EF0 80242840 44816000 */ mtc1 $at, $f12 +/* 911EF4 80242844 0C00A6C9 */ jal clamp_angle +/* 911EF8 80242848 460C0300 */ add.s $f12, $f0, $f12 +/* 911EFC 8024284C E600000C */ swc1 $f0, 0xc($s0) +/* 911F00 80242850 8E440008 */ lw $a0, 8($s2) +/* 911F04 80242854 000417C2 */ srl $v0, $a0, 0x1f +/* 911F08 80242858 00822021 */ addu $a0, $a0, $v0 +/* 911F0C 8024285C 00042043 */ sra $a0, $a0, 1 +/* 911F10 80242860 0C00A67F */ jal rand_int +/* 911F14 80242864 24840001 */ addiu $a0, $a0, 1 +/* 911F18 80242868 8E430008 */ lw $v1, 8($s2) +/* 911F1C 8024286C 000327C2 */ srl $a0, $v1, 0x1f +/* 911F20 80242870 00641821 */ addu $v1, $v1, $a0 +/* 911F24 80242874 00031843 */ sra $v1, $v1, 1 +/* 911F28 80242878 00621821 */ addu $v1, $v1, $v0 +/* 911F2C 8024287C 08090A3B */ j .L802428EC +/* 911F30 80242880 A603008E */ sh $v1, 0x8e($s0) +.L80242884: +/* 911F34 80242884 24040002 */ addiu $a0, $zero, 2 +/* 911F38 80242888 0200282D */ daddu $a1, $s0, $zero +/* 911F3C 8024288C 0000302D */ daddu $a2, $zero, $zero +/* 911F40 80242890 860300A8 */ lh $v1, 0xa8($s0) +/* 911F44 80242894 3C013F80 */ lui $at, 0x3f80 +/* 911F48 80242898 44810000 */ mtc1 $at, $f0 +/* 911F4C 8024289C 3C014000 */ lui $at, 0x4000 +/* 911F50 802428A0 44811000 */ mtc1 $at, $f2 +/* 911F54 802428A4 3C01C1A0 */ lui $at, 0xc1a0 +/* 911F58 802428A8 44812000 */ mtc1 $at, $f4 +/* 911F5C 802428AC 2402000C */ addiu $v0, $zero, 0xc +/* 911F60 802428B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 911F64 802428B4 44833000 */ mtc1 $v1, $f6 +/* 911F68 802428B8 00000000 */ nop +/* 911F6C 802428BC 468031A0 */ cvt.s.w $f6, $f6 +/* 911F70 802428C0 44073000 */ mfc1 $a3, $f6 +/* 911F74 802428C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 911F78 802428C8 AFA20020 */ sw $v0, 0x20($sp) +/* 911F7C 802428CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 911F80 802428D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 911F84 802428D4 0C01BFA4 */ jal fx_emote +/* 911F88 802428D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 911F8C 802428DC 2402000F */ addiu $v0, $zero, 0xf +/* 911F90 802428E0 A602008E */ sh $v0, 0x8e($s0) +/* 911F94 802428E4 24020028 */ addiu $v0, $zero, 0x28 +.L802428E8: +/* 911F98 802428E8 AE620070 */ sw $v0, 0x70($s3) +.L802428EC: +/* 911F9C 802428EC 8FBF0040 */ lw $ra, 0x40($sp) +/* 911FA0 802428F0 8FB3003C */ lw $s3, 0x3c($sp) +/* 911FA4 802428F4 8FB20038 */ lw $s2, 0x38($sp) +/* 911FA8 802428F8 8FB10034 */ lw $s1, 0x34($sp) +/* 911FAC 802428FC 8FB00030 */ lw $s0, 0x30($sp) +/* 911FB0 80242900 03E00008 */ jr $ra +/* 911FB4 80242904 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242908.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242908.s new file mode 100644 index 0000000000..4466a4c3c6 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242908.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242908 +/* 911FB8 80242908 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 911FBC 8024290C AFB10014 */ sw $s1, 0x14($sp) +/* 911FC0 80242910 0080882D */ daddu $s1, $a0, $zero +/* 911FC4 80242914 AFBF0018 */ sw $ra, 0x18($sp) +/* 911FC8 80242918 AFB00010 */ sw $s0, 0x10($sp) +/* 911FCC 8024291C 8E300148 */ lw $s0, 0x148($s1) +/* 911FD0 80242920 0C00EABB */ jal get_npc_unsafe +/* 911FD4 80242924 86040008 */ lh $a0, 8($s0) +/* 911FD8 80242928 96030096 */ lhu $v1, 0x96($s0) +/* 911FDC 8024292C A443008E */ sh $v1, 0x8e($v0) +/* 911FE0 80242930 8E0300CC */ lw $v1, 0xcc($s0) +/* 911FE4 80242934 8C630034 */ lw $v1, 0x34($v1) +/* 911FE8 80242938 AC430028 */ sw $v1, 0x28($v0) +/* 911FEC 8024293C 24020015 */ addiu $v0, $zero, 0x15 +/* 911FF0 80242940 AE220070 */ sw $v0, 0x70($s1) +/* 911FF4 80242944 8FBF0018 */ lw $ra, 0x18($sp) +/* 911FF8 80242948 8FB10014 */ lw $s1, 0x14($sp) +/* 911FFC 8024294C 8FB00010 */ lw $s0, 0x10($sp) +/* 912000 80242950 03E00008 */ jr $ra +/* 912004 80242954 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242958.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242958.s new file mode 100644 index 0000000000..38c71cfe73 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242958.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242958 +/* 912008 80242958 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 91200C 8024295C AFB30024 */ sw $s3, 0x24($sp) +/* 912010 80242960 0080982D */ daddu $s3, $a0, $zero +/* 912014 80242964 AFBF002C */ sw $ra, 0x2c($sp) +/* 912018 80242968 AFB40028 */ sw $s4, 0x28($sp) +/* 91201C 8024296C AFB20020 */ sw $s2, 0x20($sp) +/* 912020 80242970 AFB1001C */ sw $s1, 0x1c($sp) +/* 912024 80242974 AFB00018 */ sw $s0, 0x18($sp) +/* 912028 80242978 8E710148 */ lw $s1, 0x148($s3) +/* 91202C 8024297C 86240008 */ lh $a0, 8($s1) +/* 912030 80242980 0C00EABB */ jal get_npc_unsafe +/* 912034 80242984 00A0A02D */ daddu $s4, $a1, $zero +/* 912038 80242988 0040802D */ daddu $s0, $v0, $zero +/* 91203C 8024298C 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 912040 80242990 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 912044 80242994 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 912048 80242998 8E420000 */ lw $v0, ($s2) +/* 91204C 8024299C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 912050 802429A0 8C460028 */ lw $a2, 0x28($v0) +/* 912054 802429A4 0C00A720 */ jal atan2 +/* 912058 802429A8 8C470030 */ lw $a3, 0x30($v0) +/* 91205C 802429AC 3C025555 */ lui $v0, 0x5555 +/* 912060 802429B0 9603008E */ lhu $v1, 0x8e($s0) +/* 912064 802429B4 34425556 */ ori $v0, $v0, 0x5556 +/* 912068 802429B8 00031C00 */ sll $v1, $v1, 0x10 +/* 91206C 802429BC 00032403 */ sra $a0, $v1, 0x10 +/* 912070 802429C0 00820018 */ mult $a0, $v0 +/* 912074 802429C4 00031FC3 */ sra $v1, $v1, 0x1f +/* 912078 802429C8 00004010 */ mfhi $t0 +/* 91207C 802429CC 01031823 */ subu $v1, $t0, $v1 +/* 912080 802429D0 00031040 */ sll $v0, $v1, 1 +/* 912084 802429D4 00431021 */ addu $v0, $v0, $v1 +/* 912088 802429D8 00822023 */ subu $a0, $a0, $v0 +/* 91208C 802429DC 00042400 */ sll $a0, $a0, 0x10 +/* 912090 802429E0 1480000C */ bnez $a0, .L80242A14 +/* 912094 802429E4 E600000C */ swc1 $f0, 0xc($s0) +/* 912098 802429E8 C6020040 */ lwc1 $f2, 0x40($s0) +/* 91209C 802429EC 3C014000 */ lui $at, 0x4000 +/* 9120A0 802429F0 44810000 */ mtc1 $at, $f0 +/* 9120A4 802429F4 AFA00010 */ sw $zero, 0x10($sp) +/* 9120A8 802429F8 AFA00014 */ sw $zero, 0x14($sp) +/* 9120AC 802429FC 46001080 */ add.s $f2, $f2, $f0 +/* 9120B0 80242A00 8E06003C */ lw $a2, 0x3c($s0) +/* 9120B4 80242A04 8E050038 */ lw $a1, 0x38($s0) +/* 9120B8 80242A08 44071000 */ mfc1 $a3, $f2 +/* 9120BC 80242A0C 0C01BECC */ jal fx_walk_normal +/* 9120C0 80242A10 24040002 */ addiu $a0, $zero, 2 +.L80242A14: +/* 9120C4 80242A14 9602008E */ lhu $v0, 0x8e($s0) +/* 9120C8 80242A18 2442FFFF */ addiu $v0, $v0, -1 +/* 9120CC 80242A1C A602008E */ sh $v0, 0x8e($s0) +/* 9120D0 80242A20 00021400 */ sll $v0, $v0, 0x10 +/* 9120D4 80242A24 1C40002C */ bgtz $v0, .L80242AD8 +/* 9120D8 80242A28 00000000 */ nop +/* 9120DC 80242A2C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9120E0 80242A30 4600010D */ trunc.w.s $f4, $f0 +/* 9120E4 80242A34 44022000 */ mfc1 $v0, $f4 +/* 9120E8 80242A38 00000000 */ nop +/* 9120EC 80242A3C A6220010 */ sh $v0, 0x10($s1) +/* 9120F0 80242A40 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9120F4 80242A44 4600010D */ trunc.w.s $f4, $f0 +/* 9120F8 80242A48 44022000 */ mfc1 $v0, $f4 +/* 9120FC 80242A4C 00000000 */ nop +/* 912100 80242A50 A6220012 */ sh $v0, 0x12($s1) +/* 912104 80242A54 C6000040 */ lwc1 $f0, 0x40($s0) +/* 912108 80242A58 24020001 */ addiu $v0, $zero, 1 +/* 91210C 80242A5C A2220007 */ sb $v0, 7($s1) +/* 912110 80242A60 4600010D */ trunc.w.s $f4, $f0 +/* 912114 80242A64 44022000 */ mfc1 $v0, $f4 +/* 912118 80242A68 00000000 */ nop +/* 91211C 80242A6C A6220014 */ sh $v0, 0x14($s1) +/* 912120 80242A70 C6800018 */ lwc1 $f0, 0x18($s4) +/* 912124 80242A74 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 912128 80242A78 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91212C 80242A7C 8E420000 */ lw $v0, ($s2) +/* 912130 80242A80 E6000018 */ swc1 $f0, 0x18($s0) +/* 912134 80242A84 8C460028 */ lw $a2, 0x28($v0) +/* 912138 80242A88 0C00A7B5 */ jal dist2D +/* 91213C 80242A8C 8C470030 */ lw $a3, 0x30($v0) +/* 912140 80242A90 C6020018 */ lwc1 $f2, 0x18($s0) +/* 912144 80242A94 46020003 */ div.s $f0, $f0, $f2 +/* 912148 80242A98 3C018024 */ lui $at, 0x8024 +/* 91214C 80242A9C D42265D8 */ ldc1 $f2, 0x65d8($at) +/* 912150 80242AA0 46000021 */ cvt.d.s $f0, $f0 +/* 912154 80242AA4 46220000 */ add.d $f0, $f0, $f2 +/* 912158 80242AA8 4620010D */ trunc.w.d $f4, $f0 +/* 91215C 80242AAC 44022000 */ mfc1 $v0, $f4 +/* 912160 80242AB0 00000000 */ nop +/* 912164 80242AB4 A602008E */ sh $v0, 0x8e($s0) +/* 912168 80242AB8 00021400 */ sll $v0, $v0, 0x10 +/* 91216C 80242ABC 00021403 */ sra $v0, $v0, 0x10 +/* 912170 80242AC0 2842000F */ slti $v0, $v0, 0xf +/* 912174 80242AC4 10400002 */ beqz $v0, .L80242AD0 +/* 912178 80242AC8 2402000F */ addiu $v0, $zero, 0xf +/* 91217C 80242ACC A602008E */ sh $v0, 0x8e($s0) +.L80242AD0: +/* 912180 80242AD0 24020016 */ addiu $v0, $zero, 0x16 +/* 912184 80242AD4 AE620070 */ sw $v0, 0x70($s3) +.L80242AD8: +/* 912188 80242AD8 8FBF002C */ lw $ra, 0x2c($sp) +/* 91218C 80242ADC 8FB40028 */ lw $s4, 0x28($sp) +/* 912190 80242AE0 8FB30024 */ lw $s3, 0x24($sp) +/* 912194 80242AE4 8FB20020 */ lw $s2, 0x20($sp) +/* 912198 80242AE8 8FB1001C */ lw $s1, 0x1c($sp) +/* 91219C 80242AEC 8FB00018 */ lw $s0, 0x18($sp) +/* 9121A0 80242AF0 03E00008 */ jr $ra +/* 9121A4 80242AF4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242AF8.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242AF8.s new file mode 100644 index 0000000000..3b9d4b759f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242AF8.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AF8 +/* 9121A8 80242AF8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9121AC 80242AFC AFB3003C */ sw $s3, 0x3c($sp) +/* 9121B0 80242B00 0080982D */ daddu $s3, $a0, $zero +/* 9121B4 80242B04 AFBF0040 */ sw $ra, 0x40($sp) +/* 9121B8 80242B08 AFB20038 */ sw $s2, 0x38($sp) +/* 9121BC 80242B0C AFB10034 */ sw $s1, 0x34($sp) +/* 9121C0 80242B10 AFB00030 */ sw $s0, 0x30($sp) +/* 9121C4 80242B14 8E720148 */ lw $s2, 0x148($s3) +/* 9121C8 80242B18 0C00EABB */ jal get_npc_unsafe +/* 9121CC 80242B1C 86440008 */ lh $a0, 8($s2) +/* 9121D0 80242B20 0040802D */ daddu $s0, $v0, $zero +/* 9121D4 80242B24 0200202D */ daddu $a0, $s0, $zero +/* 9121D8 80242B28 0C00F598 */ jal func_8003D660 +/* 9121DC 80242B2C 24050001 */ addiu $a1, $zero, 1 +/* 9121E0 80242B30 8E050018 */ lw $a1, 0x18($s0) +/* 9121E4 80242B34 8E06000C */ lw $a2, 0xc($s0) +/* 9121E8 80242B38 0C00EA95 */ jal npc_move_heading +/* 9121EC 80242B3C 0200202D */ daddu $a0, $s0, $zero +/* 9121F0 80242B40 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9121F4 80242B44 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9121F8 80242B48 C462001C */ lwc1 $f2, 0x1c($v1) +/* 9121FC 80242B4C 468010A0 */ cvt.s.w $f2, $f2 +/* 912200 80242B50 C4640024 */ lwc1 $f4, 0x24($v1) +/* 912204 80242B54 46802120 */ cvt.s.w $f4, $f4 +/* 912208 80242B58 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91220C 80242B5C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912210 80242B60 44051000 */ mfc1 $a1, $f2 +/* 912214 80242B64 C4400028 */ lwc1 $f0, 0x28($v0) +/* 912218 80242B68 46800020 */ cvt.s.w $f0, $f0 +/* 91221C 80242B6C E7A00014 */ swc1 $f0, 0x14($sp) +/* 912220 80242B70 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912224 80242B74 44062000 */ mfc1 $a2, $f4 +/* 912228 80242B78 C440002C */ lwc1 $f0, 0x2c($v0) +/* 91222C 80242B7C 46800020 */ cvt.s.w $f0, $f0 +/* 912230 80242B80 E7A00018 */ swc1 $f0, 0x18($sp) +/* 912234 80242B84 8C640030 */ lw $a0, 0x30($v1) +/* 912238 80242B88 0C0123F5 */ jal is_point_within_region +/* 91223C 80242B8C 8E070038 */ lw $a3, 0x38($s0) +/* 912240 80242B90 C6000038 */ lwc1 $f0, 0x38($s0) +/* 912244 80242B94 C602003C */ lwc1 $f2, 0x3c($s0) +/* 912248 80242B98 C6040040 */ lwc1 $f4, 0x40($s0) +/* 91224C 80242B9C 3C013F80 */ lui $at, 0x3f80 +/* 912250 80242BA0 44813000 */ mtc1 $at, $f6 +/* 912254 80242BA4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 912258 80242BA8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 91225C 80242BAC E7A40028 */ swc1 $f4, 0x28($sp) +/* 912260 80242BB0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 912264 80242BB4 C600000C */ lwc1 $f0, 0xc($s0) +/* 912268 80242BB8 0002882B */ sltu $s1, $zero, $v0 +/* 91226C 80242BBC E7A00014 */ swc1 $f0, 0x14($sp) +/* 912270 80242BC0 860200A8 */ lh $v0, 0xa8($s0) +/* 912274 80242BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* 912278 80242BC8 44820000 */ mtc1 $v0, $f0 +/* 91227C 80242BCC 00000000 */ nop +/* 912280 80242BD0 46800020 */ cvt.s.w $f0, $f0 +/* 912284 80242BD4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 912288 80242BD8 860200A6 */ lh $v0, 0xa6($s0) +/* 91228C 80242BDC 27A60024 */ addiu $a2, $sp, 0x24 +/* 912290 80242BE0 44820000 */ mtc1 $v0, $f0 +/* 912294 80242BE4 00000000 */ nop +/* 912298 80242BE8 46800020 */ cvt.s.w $f0, $f0 +/* 91229C 80242BEC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9122A0 80242BF0 8E040080 */ lw $a0, 0x80($s0) +/* 9122A4 80242BF4 0C037711 */ jal func_800DDC44 +/* 9122A8 80242BF8 27A70028 */ addiu $a3, $sp, 0x28 +/* 9122AC 80242BFC 54400001 */ bnel $v0, $zero, .L80242C04 +/* 9122B0 80242C00 24110001 */ addiu $s1, $zero, 1 +.L80242C04: +/* 9122B4 80242C04 9602008E */ lhu $v0, 0x8e($s0) +/* 9122B8 80242C08 2442FFFF */ addiu $v0, $v0, -1 +/* 9122BC 80242C0C A602008E */ sh $v0, 0x8e($s0) +/* 9122C0 80242C10 00021400 */ sll $v0, $v0, 0x10 +/* 9122C4 80242C14 58400001 */ blezl $v0, .L80242C1C +/* 9122C8 80242C18 24110001 */ addiu $s1, $zero, 1 +.L80242C1C: +/* 9122CC 80242C1C 12200003 */ beqz $s1, .L80242C2C +/* 9122D0 80242C20 24020004 */ addiu $v0, $zero, 4 +/* 9122D4 80242C24 AE620070 */ sw $v0, 0x70($s3) +/* 9122D8 80242C28 A2400007 */ sb $zero, 7($s2) +.L80242C2C: +/* 9122DC 80242C2C 8FBF0040 */ lw $ra, 0x40($sp) +/* 9122E0 80242C30 8FB3003C */ lw $s3, 0x3c($sp) +/* 9122E4 80242C34 8FB20038 */ lw $s2, 0x38($sp) +/* 9122E8 80242C38 8FB10034 */ lw $s1, 0x34($sp) +/* 9122EC 80242C3C 8FB00030 */ lw $s0, 0x30($sp) +/* 9122F0 80242C40 03E00008 */ jr $ra +/* 9122F4 80242C44 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242C48.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242C48.s new file mode 100644 index 0000000000..40b7d70860 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242C48.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C48 +/* 9122F8 80242C48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9122FC 80242C4C AFB20018 */ sw $s2, 0x18($sp) +/* 912300 80242C50 0080902D */ daddu $s2, $a0, $zero +/* 912304 80242C54 AFBF001C */ sw $ra, 0x1c($sp) +/* 912308 80242C58 AFB10014 */ sw $s1, 0x14($sp) +/* 91230C 80242C5C AFB00010 */ sw $s0, 0x10($sp) +/* 912310 80242C60 8E500148 */ lw $s0, 0x148($s2) +/* 912314 80242C64 86040008 */ lh $a0, 8($s0) +/* 912318 80242C68 0C00EABB */ jal get_npc_unsafe +/* 91231C 80242C6C 00A0882D */ daddu $s1, $a1, $zero +/* 912320 80242C70 0040182D */ daddu $v1, $v0, $zero +/* 912324 80242C74 9462008E */ lhu $v0, 0x8e($v1) +/* 912328 80242C78 2442FFFF */ addiu $v0, $v0, -1 +/* 91232C 80242C7C A462008E */ sh $v0, 0x8e($v1) +/* 912330 80242C80 00021400 */ sll $v0, $v0, 0x10 +/* 912334 80242C84 1C400015 */ bgtz $v0, .L80242CDC +/* 912338 80242C88 00000000 */ nop +/* 91233C 80242C8C 8E0200CC */ lw $v0, 0xcc($s0) +/* 912340 80242C90 8C420004 */ lw $v0, 4($v0) +/* 912344 80242C94 AC620028 */ sw $v0, 0x28($v1) +/* 912348 80242C98 8E0200D0 */ lw $v0, 0xd0($s0) +/* 91234C 80242C9C 8C420014 */ lw $v0, 0x14($v0) +/* 912350 80242CA0 04410004 */ bgez $v0, .L80242CB4 +/* 912354 80242CA4 00000000 */ nop +/* 912358 80242CA8 C6200000 */ lwc1 $f0, ($s1) +/* 91235C 80242CAC 08090B35 */ j .L80242CD4 +/* 912360 80242CB0 E4600018 */ swc1 $f0, 0x18($v1) +.L80242CB4: +/* 912364 80242CB4 3C018024 */ lui $at, 0x8024 +/* 912368 80242CB8 D42265E0 */ ldc1 $f2, 0x65e0($at) +/* 91236C 80242CBC 44820000 */ mtc1 $v0, $f0 +/* 912370 80242CC0 00000000 */ nop +/* 912374 80242CC4 46800021 */ cvt.d.w $f0, $f0 +/* 912378 80242CC8 46220003 */ div.d $f0, $f0, $f2 +/* 91237C 80242CCC 46200020 */ cvt.s.d $f0, $f0 +/* 912380 80242CD0 E4600018 */ swc1 $f0, 0x18($v1) +.L80242CD4: +/* 912384 80242CD4 24020029 */ addiu $v0, $zero, 0x29 +/* 912388 80242CD8 AE420070 */ sw $v0, 0x70($s2) +.L80242CDC: +/* 91238C 80242CDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 912390 80242CE0 8FB20018 */ lw $s2, 0x18($sp) +/* 912394 80242CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 912398 80242CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 91239C 80242CEC 03E00008 */ jr $ra +/* 9123A0 80242CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242CF4.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242CF4.s new file mode 100644 index 0000000000..69b02792c7 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242CF4.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CF4 +/* 9123A4 80242CF4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9123A8 80242CF8 AFB30024 */ sw $s3, 0x24($sp) +/* 9123AC 80242CFC 0080982D */ daddu $s3, $a0, $zero +/* 9123B0 80242D00 AFBF0028 */ sw $ra, 0x28($sp) +/* 9123B4 80242D04 AFB20020 */ sw $s2, 0x20($sp) +/* 9123B8 80242D08 AFB1001C */ sw $s1, 0x1c($sp) +/* 9123BC 80242D0C AFB00018 */ sw $s0, 0x18($sp) +/* 9123C0 80242D10 8E720148 */ lw $s2, 0x148($s3) +/* 9123C4 80242D14 00A0882D */ daddu $s1, $a1, $zero +/* 9123C8 80242D18 86440008 */ lh $a0, 8($s2) +/* 9123CC 80242D1C 0C00EABB */ jal get_npc_unsafe +/* 9123D0 80242D20 00C0802D */ daddu $s0, $a2, $zero +/* 9123D4 80242D24 0200202D */ daddu $a0, $s0, $zero +/* 9123D8 80242D28 0240282D */ daddu $a1, $s2, $zero +/* 9123DC 80242D2C AFA00010 */ sw $zero, 0x10($sp) +/* 9123E0 80242D30 8E260024 */ lw $a2, 0x24($s1) +/* 9123E4 80242D34 8E270028 */ lw $a3, 0x28($s1) +/* 9123E8 80242D38 0C01242D */ jal func_800490B4 +/* 9123EC 80242D3C 0040802D */ daddu $s0, $v0, $zero +/* 9123F0 80242D40 1040000C */ beqz $v0, .L80242D74 +/* 9123F4 80242D44 00000000 */ nop +/* 9123F8 80242D48 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9123FC 80242D4C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 912400 80242D50 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 912404 80242D54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 912408 80242D58 8C460028 */ lw $a2, 0x28($v0) +/* 91240C 80242D5C 0C00A720 */ jal atan2 +/* 912410 80242D60 8C470030 */ lw $a3, 0x30($v0) +/* 912414 80242D64 2402000C */ addiu $v0, $zero, 0xc +/* 912418 80242D68 E600000C */ swc1 $f0, 0xc($s0) +/* 91241C 80242D6C 08090B84 */ j .L80242E10 +/* 912420 80242D70 AE620070 */ sw $v0, 0x70($s3) +.L80242D74: +/* 912424 80242D74 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 912428 80242D78 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91242C 80242D7C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 912430 80242D80 C4440000 */ lwc1 $f4, ($v0) +/* 912434 80242D84 46802120 */ cvt.s.w $f4, $f4 +/* 912438 80242D88 44062000 */ mfc1 $a2, $f4 +/* 91243C 80242D8C C4440008 */ lwc1 $f4, 8($v0) +/* 912440 80242D90 46802120 */ cvt.s.w $f4, $f4 +/* 912444 80242D94 44072000 */ mfc1 $a3, $f4 +/* 912448 80242D98 0C00A7B5 */ jal dist2D +/* 91244C 80242D9C 00000000 */ nop +/* 912450 80242DA0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 912454 80242DA4 4602003E */ c.le.s $f0, $f2 +/* 912458 80242DA8 00000000 */ nop +/* 91245C 80242DAC 45000005 */ bc1f .L80242DC4 +/* 912460 80242DB0 2402000A */ addiu $v0, $zero, 0xa +/* 912464 80242DB4 A602008E */ sh $v0, 0x8e($s0) +/* 912468 80242DB8 24020032 */ addiu $v0, $zero, 0x32 +/* 91246C 80242DBC 08090B84 */ j .L80242E10 +/* 912470 80242DC0 AE620070 */ sw $v0, 0x70($s3) +.L80242DC4: +/* 912474 80242DC4 8602008C */ lh $v0, 0x8c($s0) +/* 912478 80242DC8 14400011 */ bnez $v0, .L80242E10 +/* 91247C 80242DCC 00000000 */ nop +/* 912480 80242DD0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 912484 80242DD4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912488 80242DD8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91248C 80242DDC C4440000 */ lwc1 $f4, ($v0) +/* 912490 80242DE0 46802120 */ cvt.s.w $f4, $f4 +/* 912494 80242DE4 44062000 */ mfc1 $a2, $f4 +/* 912498 80242DE8 C4440008 */ lwc1 $f4, 8($v0) +/* 91249C 80242DEC 46802120 */ cvt.s.w $f4, $f4 +/* 9124A0 80242DF0 44072000 */ mfc1 $a3, $f4 +/* 9124A4 80242DF4 0C00A720 */ jal atan2 +/* 9124A8 80242DF8 00000000 */ nop +/* 9124AC 80242DFC 8E050018 */ lw $a1, 0x18($s0) +/* 9124B0 80242E00 44060000 */ mfc1 $a2, $f0 +/* 9124B4 80242E04 0200202D */ daddu $a0, $s0, $zero +/* 9124B8 80242E08 0C00EA95 */ jal npc_move_heading +/* 9124BC 80242E0C AC86000C */ sw $a2, 0xc($a0) +.L80242E10: +/* 9124C0 80242E10 8FBF0028 */ lw $ra, 0x28($sp) +/* 9124C4 80242E14 8FB30024 */ lw $s3, 0x24($sp) +/* 9124C8 80242E18 8FB20020 */ lw $s2, 0x20($sp) +/* 9124CC 80242E1C 8FB1001C */ lw $s1, 0x1c($sp) +/* 9124D0 80242E20 8FB00018 */ lw $s0, 0x18($sp) +/* 9124D4 80242E24 03E00008 */ jr $ra +/* 9124D8 80242E28 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242E2C.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242E2C.s new file mode 100644 index 0000000000..4a7983410c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242E2C.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E2C +/* 9124DC 80242E2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9124E0 80242E30 AFB10014 */ sw $s1, 0x14($sp) +/* 9124E4 80242E34 0080882D */ daddu $s1, $a0, $zero +/* 9124E8 80242E38 AFBF0018 */ sw $ra, 0x18($sp) +/* 9124EC 80242E3C AFB00010 */ sw $s0, 0x10($sp) +/* 9124F0 80242E40 8E300148 */ lw $s0, 0x148($s1) +/* 9124F4 80242E44 0C00EABB */ jal get_npc_unsafe +/* 9124F8 80242E48 86040008 */ lh $a0, 8($s0) +/* 9124FC 80242E4C 0040202D */ daddu $a0, $v0, $zero +/* 912500 80242E50 8482008E */ lh $v0, 0x8e($a0) +/* 912504 80242E54 9483008E */ lhu $v1, 0x8e($a0) +/* 912508 80242E58 18400002 */ blez $v0, .L80242E64 +/* 91250C 80242E5C 2462FFFF */ addiu $v0, $v1, -1 +/* 912510 80242E60 A482008E */ sh $v0, 0x8e($a0) +.L80242E64: +/* 912514 80242E64 8482008C */ lh $v0, 0x8c($a0) +/* 912518 80242E68 1440000A */ bnez $v0, .L80242E94 +/* 91251C 80242E6C 00000000 */ nop +/* 912520 80242E70 8482008E */ lh $v0, 0x8e($a0) +/* 912524 80242E74 1C400007 */ bgtz $v0, .L80242E94 +/* 912528 80242E78 24020008 */ addiu $v0, $zero, 8 +/* 91252C 80242E7C A482008E */ sh $v0, 0x8e($a0) +/* 912530 80242E80 8E0200CC */ lw $v0, 0xcc($s0) +/* 912534 80242E84 8C42002C */ lw $v0, 0x2c($v0) +/* 912538 80242E88 AC820028 */ sw $v0, 0x28($a0) +/* 91253C 80242E8C 24020033 */ addiu $v0, $zero, 0x33 +/* 912540 80242E90 AE220070 */ sw $v0, 0x70($s1) +.L80242E94: +/* 912544 80242E94 8FBF0018 */ lw $ra, 0x18($sp) +/* 912548 80242E98 8FB10014 */ lw $s1, 0x14($sp) +/* 91254C 80242E9C 8FB00010 */ lw $s0, 0x10($sp) +/* 912550 80242EA0 03E00008 */ jr $ra +/* 912554 80242EA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242EA8.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242EA8.s new file mode 100644 index 0000000000..4872bdcbae --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242EA8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EA8 +/* 912558 80242EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91255C 80242EAC AFB10014 */ sw $s1, 0x14($sp) +/* 912560 80242EB0 0080882D */ daddu $s1, $a0, $zero +/* 912564 80242EB4 AFBF0018 */ sw $ra, 0x18($sp) +/* 912568 80242EB8 AFB00010 */ sw $s0, 0x10($sp) +/* 91256C 80242EBC 8E300148 */ lw $s0, 0x148($s1) +/* 912570 80242EC0 0C00EABB */ jal get_npc_unsafe +/* 912574 80242EC4 86040008 */ lh $a0, 8($s0) +/* 912578 80242EC8 0040182D */ daddu $v1, $v0, $zero +/* 91257C 80242ECC 9462008E */ lhu $v0, 0x8e($v1) +/* 912580 80242ED0 2442FFFF */ addiu $v0, $v0, -1 +/* 912584 80242ED4 A462008E */ sh $v0, 0x8e($v1) +/* 912588 80242ED8 00021400 */ sll $v0, $v0, 0x10 +/* 91258C 80242EDC 1C400007 */ bgtz $v0, .L80242EFC +/* 912590 80242EE0 24020008 */ addiu $v0, $zero, 8 +/* 912594 80242EE4 A462008E */ sh $v0, 0x8e($v1) +/* 912598 80242EE8 8E0200CC */ lw $v0, 0xcc($s0) +/* 91259C 80242EEC 8C420038 */ lw $v0, 0x38($v0) +/* 9125A0 80242EF0 AC620028 */ sw $v0, 0x28($v1) +/* 9125A4 80242EF4 24020034 */ addiu $v0, $zero, 0x34 +/* 9125A8 80242EF8 AE220070 */ sw $v0, 0x70($s1) +.L80242EFC: +/* 9125AC 80242EFC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9125B0 80242F00 8FB10014 */ lw $s1, 0x14($sp) +/* 9125B4 80242F04 8FB00010 */ lw $s0, 0x10($sp) +/* 9125B8 80242F08 03E00008 */ jr $ra +/* 9125BC 80242F0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F10.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F10.s new file mode 100644 index 0000000000..b336b15a70 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F10.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F10 +/* 9125C0 80242F10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9125C4 80242F14 AFB00010 */ sw $s0, 0x10($sp) +/* 9125C8 80242F18 0080802D */ daddu $s0, $a0, $zero +/* 9125CC 80242F1C AFBF0014 */ sw $ra, 0x14($sp) +/* 9125D0 80242F20 8E020148 */ lw $v0, 0x148($s0) +/* 9125D4 80242F24 0C00EABB */ jal get_npc_unsafe +/* 9125D8 80242F28 84440008 */ lh $a0, 8($v0) +/* 9125DC 80242F2C 9443008E */ lhu $v1, 0x8e($v0) +/* 9125E0 80242F30 2463FFFF */ addiu $v1, $v1, -1 +/* 9125E4 80242F34 A443008E */ sh $v1, 0x8e($v0) +/* 9125E8 80242F38 00031C00 */ sll $v1, $v1, 0x10 +/* 9125EC 80242F3C 58600001 */ blezl $v1, .L80242F44 +/* 9125F0 80242F40 AE000070 */ sw $zero, 0x70($s0) +.L80242F44: +/* 9125F4 80242F44 8FBF0014 */ lw $ra, 0x14($sp) +/* 9125F8 80242F48 8FB00010 */ lw $s0, 0x10($sp) +/* 9125FC 80242F4C 03E00008 */ jr $ra +/* 912600 80242F50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F54.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F54.s new file mode 100644 index 0000000000..a879481d77 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_80242F54.s @@ -0,0 +1,226 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F54 +/* 912604 80242F54 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 912608 80242F58 AFB3003C */ sw $s3, 0x3c($sp) +/* 91260C 80242F5C 0080982D */ daddu $s3, $a0, $zero +/* 912610 80242F60 AFBF0048 */ sw $ra, 0x48($sp) +/* 912614 80242F64 AFB50044 */ sw $s5, 0x44($sp) +/* 912618 80242F68 AFB40040 */ sw $s4, 0x40($sp) +/* 91261C 80242F6C AFB20038 */ sw $s2, 0x38($sp) +/* 912620 80242F70 AFB10034 */ sw $s1, 0x34($sp) +/* 912624 80242F74 AFB00030 */ sw $s0, 0x30($sp) +/* 912628 80242F78 8E720148 */ lw $s2, 0x148($s3) +/* 91262C 80242F7C 86440008 */ lh $a0, 8($s2) +/* 912630 80242F80 0C00EABB */ jal get_npc_unsafe +/* 912634 80242F84 00A0882D */ daddu $s1, $a1, $zero +/* 912638 80242F88 0260202D */ daddu $a0, $s3, $zero +/* 91263C 80242F8C 8E70000C */ lw $s0, 0xc($s3) +/* 912640 80242F90 0040A82D */ daddu $s5, $v0, $zero +/* 912644 80242F94 8E050000 */ lw $a1, ($s0) +/* 912648 80242F98 0C0B1EAF */ jal get_variable +/* 91264C 80242F9C 26100004 */ addiu $s0, $s0, 4 +/* 912650 80242FA0 0260202D */ daddu $a0, $s3, $zero +/* 912654 80242FA4 8E050000 */ lw $a1, ($s0) +/* 912658 80242FA8 0C0B1EAF */ jal get_variable +/* 91265C 80242FAC 0040A02D */ daddu $s4, $v0, $zero +/* 912660 80242FB0 AE420094 */ sw $v0, 0x94($s2) +/* 912664 80242FB4 AFA00010 */ sw $zero, 0x10($sp) +/* 912668 80242FB8 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91266C 80242FBC 8C420030 */ lw $v0, 0x30($v0) +/* 912670 80242FC0 AFA20014 */ sw $v0, 0x14($sp) +/* 912674 80242FC4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912678 80242FC8 8C42001C */ lw $v0, 0x1c($v0) +/* 91267C 80242FCC AFA20018 */ sw $v0, 0x18($sp) +/* 912680 80242FD0 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912684 80242FD4 8C420024 */ lw $v0, 0x24($v0) +/* 912688 80242FD8 AFA2001C */ sw $v0, 0x1c($sp) +/* 91268C 80242FDC 8E4200D0 */ lw $v0, 0xd0($s2) +/* 912690 80242FE0 8C420028 */ lw $v0, 0x28($v0) +/* 912694 80242FE4 AFA20020 */ sw $v0, 0x20($sp) +/* 912698 80242FE8 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91269C 80242FEC 3C014220 */ lui $at, 0x4220 +/* 9126A0 80242FF0 44810000 */ mtc1 $at, $f0 +/* 9126A4 80242FF4 8C42002C */ lw $v0, 0x2c($v0) +/* 9126A8 80242FF8 27B00010 */ addiu $s0, $sp, 0x10 +/* 9126AC 80242FFC E7A00028 */ swc1 $f0, 0x28($sp) +/* 9126B0 80243000 A7A0002C */ sh $zero, 0x2c($sp) +/* 9126B4 80243004 12200012 */ beqz $s1, .L80243050 +/* 9126B8 80243008 AFA20024 */ sw $v0, 0x24($sp) +/* 9126BC 8024300C AE600070 */ sw $zero, 0x70($s3) +/* 9126C0 80243010 8EA30000 */ lw $v1, ($s5) +/* 9126C4 80243014 2402F7FF */ addiu $v0, $zero, -0x801 +/* 9126C8 80243018 A6A0008E */ sh $zero, 0x8e($s5) +/* 9126CC 8024301C 00621824 */ and $v1, $v1, $v0 +/* 9126D0 80243020 AEA30000 */ sw $v1, ($s5) +/* 9126D4 80243024 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9126D8 80243028 8C420034 */ lw $v0, 0x34($v0) +/* 9126DC 8024302C 54400005 */ bnel $v0, $zero, .L80243044 +/* 9126E0 80243030 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9126E4 80243034 34620200 */ ori $v0, $v1, 0x200 +/* 9126E8 80243038 2403FFF7 */ addiu $v1, $zero, -9 +/* 9126EC 8024303C 08090C13 */ j .L8024304C +/* 9126F0 80243040 00431024 */ and $v0, $v0, $v1 +.L80243044: +/* 9126F4 80243044 00621024 */ and $v0, $v1, $v0 +/* 9126F8 80243048 34420008 */ ori $v0, $v0, 8 +.L8024304C: +/* 9126FC 8024304C AEA20000 */ sw $v0, ($s5) +.L80243050: +/* 912700 80243050 8E4300B0 */ lw $v1, 0xb0($s2) +/* 912704 80243054 30620004 */ andi $v0, $v1, 4 +/* 912708 80243058 10400007 */ beqz $v0, .L80243078 +/* 91270C 8024305C 00000000 */ nop +/* 912710 80243060 824200B4 */ lb $v0, 0xb4($s2) +/* 912714 80243064 14400086 */ bnez $v0, .L80243280 +/* 912718 80243068 0000102D */ daddu $v0, $zero, $zero +/* 91271C 8024306C 2402FFFB */ addiu $v0, $zero, -5 +/* 912720 80243070 00621024 */ and $v0, $v1, $v0 +/* 912724 80243074 AE4200B0 */ sw $v0, 0xb0($s2) +.L80243078: +/* 912728 80243078 8E620070 */ lw $v0, 0x70($s3) +/* 91272C 8024307C 2442FFF4 */ addiu $v0, $v0, -0xc +/* 912730 80243080 2C420003 */ sltiu $v0, $v0, 3 +/* 912734 80243084 10400007 */ beqz $v0, .L802430A4 +/* 912738 80243088 0260202D */ daddu $a0, $s3, $zero +/* 91273C 8024308C 0280282D */ daddu $a1, $s4, $zero +/* 912740 80243090 0C0908B1 */ jal func_802422C4 +/* 912744 80243094 0200302D */ daddu $a2, $s0, $zero +/* 912748 80243098 10400002 */ beqz $v0, .L802430A4 +/* 91274C 8024309C 24020014 */ addiu $v0, $zero, 0x14 +/* 912750 802430A0 AE620070 */ sw $v0, 0x70($s3) +.L802430A4: +/* 912754 802430A4 8E630070 */ lw $v1, 0x70($s3) +/* 912758 802430A8 2C620035 */ sltiu $v0, $v1, 0x35 +/* 91275C 802430AC 10400073 */ beqz $v0, .L8024327C +/* 912760 802430B0 00031080 */ sll $v0, $v1, 2 +/* 912764 802430B4 3C018024 */ lui $at, 0x8024 +/* 912768 802430B8 00220821 */ addu $at, $at, $v0 +/* 91276C 802430BC 8C2265E8 */ lw $v0, 0x65e8($at) +/* 912770 802430C0 00400008 */ jr $v0 +/* 912774 802430C4 00000000 */ nop +/* 912778 802430C8 0260202D */ daddu $a0, $s3, $zero +/* 91277C 802430CC 0280282D */ daddu $a1, $s4, $zero +/* 912780 802430D0 0C090909 */ jal func_80242424 +/* 912784 802430D4 0200302D */ daddu $a2, $s0, $zero +/* 912788 802430D8 0260202D */ daddu $a0, $s3, $zero +/* 91278C 802430DC 0280282D */ daddu $a1, $s4, $zero +/* 912790 802430E0 0C090926 */ jal func_80242498 +/* 912794 802430E4 0200302D */ daddu $a2, $s0, $zero +/* 912798 802430E8 8E630070 */ lw $v1, 0x70($s3) +/* 91279C 802430EC 24020002 */ addiu $v0, $zero, 2 +/* 9127A0 802430F0 14620063 */ bne $v1, $v0, .L80243280 +/* 9127A4 802430F4 0000102D */ daddu $v0, $zero, $zero +/* 9127A8 802430F8 0260202D */ daddu $a0, $s3, $zero +/* 9127AC 802430FC 0280282D */ daddu $a1, $s4, $zero +/* 9127B0 80243100 0C090972 */ jal func_802425C8 +/* 9127B4 80243104 0200302D */ daddu $a2, $s0, $zero +/* 9127B8 80243108 8E630070 */ lw $v1, 0x70($s3) +/* 9127BC 8024310C 24020003 */ addiu $v0, $zero, 3 +/* 9127C0 80243110 1462005B */ bne $v1, $v0, .L80243280 +/* 9127C4 80243114 0000102D */ daddu $v0, $zero, $zero +/* 9127C8 80243118 0260202D */ daddu $a0, $s3, $zero +/* 9127CC 8024311C 0280282D */ daddu $a1, $s4, $zero +/* 9127D0 80243120 0C090999 */ jal func_80242664 +/* 9127D4 80243124 0200302D */ daddu $a2, $s0, $zero +/* 9127D8 80243128 8E630070 */ lw $v1, 0x70($s3) +/* 9127DC 8024312C 24020004 */ addiu $v0, $zero, 4 +/* 9127E0 80243130 14620053 */ bne $v1, $v0, .L80243280 +/* 9127E4 80243134 0000102D */ daddu $v0, $zero, $zero +/* 9127E8 80243138 0260202D */ daddu $a0, $s3, $zero +/* 9127EC 8024313C 0280282D */ daddu $a1, $s4, $zero +/* 9127F0 80243140 0C0909BB */ jal func_802426EC +/* 9127F4 80243144 0200302D */ daddu $a2, $s0, $zero +/* 9127F8 80243148 0260202D */ daddu $a0, $s3, $zero +/* 9127FC 8024314C 0280282D */ daddu $a1, $s4, $zero +/* 912800 80243150 0C0909E5 */ jal func_80242794 +/* 912804 80243154 0200302D */ daddu $a2, $s0, $zero +/* 912808 80243158 08090CA0 */ j .L80243280 +/* 91280C 8024315C 0000102D */ daddu $v0, $zero, $zero +/* 912810 80243160 0260202D */ daddu $a0, $s3, $zero +/* 912814 80243164 0280282D */ daddu $a1, $s4, $zero +/* 912818 80243168 0C0127DF */ jal func_80049F7C +/* 91281C 8024316C 0200302D */ daddu $a2, $s0, $zero +/* 912820 80243170 8E630070 */ lw $v1, 0x70($s3) +/* 912824 80243174 2402000D */ addiu $v0, $zero, 0xd +/* 912828 80243178 14620041 */ bne $v1, $v0, .L80243280 +/* 91282C 8024317C 0000102D */ daddu $v0, $zero, $zero +/* 912830 80243180 0260202D */ daddu $a0, $s3, $zero +/* 912834 80243184 0280282D */ daddu $a1, $s4, $zero +/* 912838 80243188 0C012849 */ jal func_8004A124 +/* 91283C 8024318C 0200302D */ daddu $a2, $s0, $zero +/* 912840 80243190 8E630070 */ lw $v1, 0x70($s3) +/* 912844 80243194 2402000E */ addiu $v0, $zero, 0xe +/* 912848 80243198 14620039 */ bne $v1, $v0, .L80243280 +/* 91284C 8024319C 0000102D */ daddu $v0, $zero, $zero +/* 912850 802431A0 96A2008E */ lhu $v0, 0x8e($s5) +/* 912854 802431A4 2442FFFF */ addiu $v0, $v0, -1 +/* 912858 802431A8 A6A2008E */ sh $v0, 0x8e($s5) +/* 91285C 802431AC 00021400 */ sll $v0, $v0, 0x10 +/* 912860 802431B0 14400033 */ bnez $v0, .L80243280 +/* 912864 802431B4 0000102D */ daddu $v0, $zero, $zero +/* 912868 802431B8 24020028 */ addiu $v0, $zero, 0x28 +/* 91286C 802431BC 08090C9F */ j .L8024327C +/* 912870 802431C0 AE620070 */ sw $v0, 0x70($s3) +/* 912874 802431C4 0260202D */ daddu $a0, $s3, $zero +/* 912878 802431C8 0280282D */ daddu $a1, $s4, $zero +/* 91287C 802431CC 0C090A42 */ jal func_80242908 +/* 912880 802431D0 0200302D */ daddu $a2, $s0, $zero +/* 912884 802431D4 0260202D */ daddu $a0, $s3, $zero +/* 912888 802431D8 0280282D */ daddu $a1, $s4, $zero +/* 91288C 802431DC 0C090A56 */ jal func_80242958 +/* 912890 802431E0 0200302D */ daddu $a2, $s0, $zero +/* 912894 802431E4 08090CA0 */ j .L80243280 +/* 912898 802431E8 0000102D */ daddu $v0, $zero, $zero +/* 91289C 802431EC 0260202D */ daddu $a0, $s3, $zero +/* 9128A0 802431F0 0280282D */ daddu $a1, $s4, $zero +/* 9128A4 802431F4 0C090ABE */ jal func_80242AF8 +/* 9128A8 802431F8 0200302D */ daddu $a2, $s0, $zero +/* 9128AC 802431FC 08090CA0 */ j .L80243280 +/* 9128B0 80243200 0000102D */ daddu $v0, $zero, $zero +/* 9128B4 80243204 0260202D */ daddu $a0, $s3, $zero +/* 9128B8 80243208 0280282D */ daddu $a1, $s4, $zero +/* 9128BC 8024320C 0C090B12 */ jal func_80242C48 +/* 9128C0 80243210 0200302D */ daddu $a2, $s0, $zero +/* 9128C4 80243214 8E630070 */ lw $v1, 0x70($s3) +/* 9128C8 80243218 24020029 */ addiu $v0, $zero, 0x29 +/* 9128CC 8024321C 14620018 */ bne $v1, $v0, .L80243280 +/* 9128D0 80243220 0000102D */ daddu $v0, $zero, $zero +/* 9128D4 80243224 0260202D */ daddu $a0, $s3, $zero +/* 9128D8 80243228 0280282D */ daddu $a1, $s4, $zero +/* 9128DC 8024322C 0C090B3D */ jal func_80242CF4 +/* 9128E0 80243230 0200302D */ daddu $a2, $s0, $zero +/* 9128E4 80243234 08090CA0 */ j .L80243280 +/* 9128E8 80243238 0000102D */ daddu $v0, $zero, $zero +/* 9128EC 8024323C 0260202D */ daddu $a0, $s3, $zero +/* 9128F0 80243240 0280282D */ daddu $a1, $s4, $zero +/* 9128F4 80243244 0C090B8B */ jal func_80242E2C +/* 9128F8 80243248 0200302D */ daddu $a2, $s0, $zero +/* 9128FC 8024324C 0260202D */ daddu $a0, $s3, $zero +/* 912900 80243250 0280282D */ daddu $a1, $s4, $zero +/* 912904 80243254 0C090BAA */ jal func_80242EA8 +/* 912908 80243258 0200302D */ daddu $a2, $s0, $zero +/* 91290C 8024325C 8E630070 */ lw $v1, 0x70($s3) +/* 912910 80243260 24020034 */ addiu $v0, $zero, 0x34 +/* 912914 80243264 14620006 */ bne $v1, $v0, .L80243280 +/* 912918 80243268 0000102D */ daddu $v0, $zero, $zero +/* 91291C 8024326C 0260202D */ daddu $a0, $s3, $zero +/* 912920 80243270 0280282D */ daddu $a1, $s4, $zero +/* 912924 80243274 0C090BC4 */ jal func_80242F10 +/* 912928 80243278 0200302D */ daddu $a2, $s0, $zero +.L8024327C: +/* 91292C 8024327C 0000102D */ daddu $v0, $zero, $zero +.L80243280: +/* 912930 80243280 8FBF0048 */ lw $ra, 0x48($sp) +/* 912934 80243284 8FB50044 */ lw $s5, 0x44($sp) +/* 912938 80243288 8FB40040 */ lw $s4, 0x40($sp) +/* 91293C 8024328C 8FB3003C */ lw $s3, 0x3c($sp) +/* 912940 80243290 8FB20038 */ lw $s2, 0x38($sp) +/* 912944 80243294 8FB10034 */ lw $s1, 0x34($sp) +/* 912948 80243298 8FB00030 */ lw $s0, 0x30($sp) +/* 91294C 8024329C 03E00008 */ jr $ra +/* 912950 802432A0 27BD0050 */ addiu $sp, $sp, 0x50 +/* 912954 802432A4 00000000 */ nop +/* 912958 802432A8 00000000 */ nop +/* 91295C 802432AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_01/func_802432B0.s b/asm/nonmatchings/world/area_iwa/iwa_01/func_802432B0.s new file mode 100644 index 0000000000..a419772e2d --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_01/func_802432B0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802432B0 +/* 912960 802432B0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 912964 802432B4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 912968 802432B8 8C430000 */ lw $v1, ($v0) +/* 91296C 802432BC 8C840084 */ lw $a0, 0x84($a0) +/* 912970 802432C0 34630010 */ ori $v1, $v1, 0x10 +/* 912974 802432C4 AC4400D0 */ sw $a0, 0xd0($v0) +/* 912978 802432C8 AC430000 */ sw $v1, ($v0) +/* 91297C 802432CC 03E00008 */ jr $ra +/* 912980 802432D0 24020002 */ addiu $v0, $zero, 2 +/* 912984 802432D4 00000000 */ nop +/* 912988 802432D8 00000000 */ nop +/* 91298C 802432DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240000_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240000_915D70.s new file mode 100644 index 0000000000..bd8486e9b0 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240000_915D70.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_915D70 +/* 915D70 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 915D74 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* 915D78 80240008 AFB20018 */ sw $s2, 0x18($sp) +/* 915D7C 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* 915D80 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* 915D84 80240014 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 915D88 80240018 8C900148 */ lw $s0, 0x148($a0) +/* 915D8C 8024001C 86040008 */ lh $a0, 8($s0) +/* 915D90 80240020 3C014387 */ lui $at, 0x4387 +/* 915D94 80240024 4481A000 */ mtc1 $at, $f20 +/* 915D98 80240028 0C00EABB */ jal get_npc_unsafe +/* 915D9C 8024002C 00A0882D */ daddu $s1, $a1, $zero +/* 915DA0 80240030 0200202D */ daddu $a0, $s0, $zero +/* 915DA4 80240034 8E26000C */ lw $a2, 0xc($s1) +/* 915DA8 80240038 8E270010 */ lw $a3, 0x10($s1) +/* 915DAC 8024003C 0040882D */ daddu $s1, $v0, $zero +/* 915DB0 80240040 3C03800B */ lui $v1, %hi(gCameras) +/* 915DB4 80240044 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 915DB8 80240048 3C02800A */ lui $v0, 0x800a +/* 915DBC 8024004C 8442A634 */ lh $v0, -0x59cc($v0) +/* 915DC0 80240050 0000282D */ daddu $a1, $zero, $zero +/* 915DC4 80240054 00028080 */ sll $s0, $v0, 2 +/* 915DC8 80240058 02028021 */ addu $s0, $s0, $v0 +/* 915DCC 8024005C 00108080 */ sll $s0, $s0, 2 +/* 915DD0 80240060 02028023 */ subu $s0, $s0, $v0 +/* 915DD4 80240064 001010C0 */ sll $v0, $s0, 3 +/* 915DD8 80240068 02028021 */ addu $s0, $s0, $v0 +/* 915DDC 8024006C 001080C0 */ sll $s0, $s0, 3 +/* 915DE0 80240070 0C0124FB */ jal func_800493EC +/* 915DE4 80240074 02038021 */ addu $s0, $s0, $v1 +/* 915DE8 80240078 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 915DEC 8024007C C62E000C */ lwc1 $f14, 0xc($s1) +/* 915DF0 80240080 0C00A70A */ jal get_clamped_angle_diff +/* 915DF4 80240084 0002802B */ sltu $s0, $zero, $v0 +/* 915DF8 80240088 0C00A6C9 */ jal clamp_angle +/* 915DFC 8024008C 46000306 */ mov.s $f12, $f0 +/* 915E00 80240090 3C018024 */ lui $at, 0x8024 +/* 915E04 80240094 D4222D40 */ ldc1 $f2, 0x2d40($at) +/* 915E08 80240098 46000021 */ cvt.d.s $f0, $f0 +/* 915E0C 8024009C 4622003C */ c.lt.d $f0, $f2 +/* 915E10 802400A0 00000000 */ nop +/* 915E14 802400A4 45000003 */ bc1f .L802400B4 +/* 915E18 802400A8 00000000 */ nop +/* 915E1C 802400AC 3C0142B4 */ lui $at, 0x42b4 +/* 915E20 802400B0 4481A000 */ mtc1 $at, $f20 +.L802400B4: +/* 915E24 802400B4 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 915E28 802400B8 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 915E2C 802400BC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 915E30 802400C0 8E420000 */ lw $v0, ($s2) +/* 915E34 802400C4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 915E38 802400C8 8C460028 */ lw $a2, 0x28($v0) +/* 915E3C 802400CC 0C00A720 */ jal atan2 +/* 915E40 802400D0 8C470030 */ lw $a3, 0x30($v0) +/* 915E44 802400D4 4600A306 */ mov.s $f12, $f20 +/* 915E48 802400D8 0C00A70A */ jal get_clamped_angle_diff +/* 915E4C 802400DC 46000386 */ mov.s $f14, $f0 +/* 915E50 802400E0 46000005 */ abs.s $f0, $f0 +/* 915E54 802400E4 3C018024 */ lui $at, 0x8024 +/* 915E58 802400E8 D4222D48 */ ldc1 $f2, 0x2d48($at) +/* 915E5C 802400EC 46000021 */ cvt.d.s $f0, $f0 +/* 915E60 802400F0 4620103C */ c.lt.d $f2, $f0 +/* 915E64 802400F4 00000000 */ nop +/* 915E68 802400F8 45030001 */ bc1tl .L80240100 +/* 915E6C 802400FC 0000802D */ daddu $s0, $zero, $zero +.L80240100: +/* 915E70 80240100 8E420000 */ lw $v0, ($s2) +/* 915E74 80240104 C620003C */ lwc1 $f0, 0x3c($s1) +/* 915E78 80240108 C442002C */ lwc1 $f2, 0x2c($v0) +/* 915E7C 8024010C 46020001 */ sub.s $f0, $f0, $f2 +/* 915E80 80240110 3C014220 */ lui $at, 0x4220 +/* 915E84 80240114 44811000 */ mtc1 $at, $f2 +/* 915E88 80240118 46000005 */ abs.s $f0, $f0 +/* 915E8C 8024011C 4600103E */ c.le.s $f2, $f0 +/* 915E90 80240120 00000000 */ nop +/* 915E94 80240124 45030001 */ bc1tl .L8024012C +/* 915E98 80240128 0000802D */ daddu $s0, $zero, $zero +.L8024012C: +/* 915E9C 8024012C 3C038011 */ lui $v1, 0x8011 +/* 915EA0 80240130 8063EBB3 */ lb $v1, -0x144d($v1) +/* 915EA4 80240134 24020009 */ addiu $v0, $zero, 9 +/* 915EA8 80240138 50620001 */ beql $v1, $v0, .L80240140 +/* 915EAC 8024013C 0000802D */ daddu $s0, $zero, $zero +.L80240140: +/* 915EB0 80240140 0200102D */ daddu $v0, $s0, $zero +/* 915EB4 80240144 8FBF001C */ lw $ra, 0x1c($sp) +/* 915EB8 80240148 8FB20018 */ lw $s2, 0x18($sp) +/* 915EBC 8024014C 8FB10014 */ lw $s1, 0x14($sp) +/* 915EC0 80240150 8FB00010 */ lw $s0, 0x10($sp) +/* 915EC4 80240154 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 915EC8 80240158 03E00008 */ jr $ra +/* 915ECC 8024015C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240160_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240160_915D70.s new file mode 100644 index 0000000000..36bae0b64e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240160_915D70.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_915ED0 +/* 915ED0 80240160 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 915ED4 80240164 AFB10014 */ sw $s1, 0x14($sp) +/* 915ED8 80240168 0080882D */ daddu $s1, $a0, $zero +/* 915EDC 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* 915EE0 80240170 AFB20018 */ sw $s2, 0x18($sp) +/* 915EE4 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* 915EE8 80240178 8E320148 */ lw $s2, 0x148($s1) +/* 915EEC 8024017C 0C00EABB */ jal get_npc_unsafe +/* 915EF0 80240180 86440008 */ lh $a0, 8($s2) +/* 915EF4 80240184 0040802D */ daddu $s0, $v0, $zero +/* 915EF8 80240188 0C00EAFF */ jal disable_npc_shadow +/* 915EFC 8024018C 0200202D */ daddu $a0, $s0, $zero +/* 915F00 80240190 24020016 */ addiu $v0, $zero, 0x16 +/* 915F04 80240194 A60200A8 */ sh $v0, 0xa8($s0) +/* 915F08 80240198 24020018 */ addiu $v0, $zero, 0x18 +/* 915F0C 8024019C A60200A6 */ sh $v0, 0xa6($s0) +/* 915F10 802401A0 AE200074 */ sw $zero, 0x74($s1) +/* 915F14 802401A4 A600008E */ sh $zero, 0x8e($s0) +/* 915F18 802401A8 8E4200CC */ lw $v0, 0xcc($s2) +/* 915F1C 802401AC 8C420020 */ lw $v0, 0x20($v0) +/* 915F20 802401B0 AE020028 */ sw $v0, 0x28($s0) +/* 915F24 802401B4 24020001 */ addiu $v0, $zero, 1 +/* 915F28 802401B8 AE220070 */ sw $v0, 0x70($s1) +/* 915F2C 802401BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 915F30 802401C0 8FB20018 */ lw $s2, 0x18($sp) +/* 915F34 802401C4 8FB10014 */ lw $s1, 0x14($sp) +/* 915F38 802401C8 8FB00010 */ lw $s0, 0x10($sp) +/* 915F3C 802401CC 03E00008 */ jr $ra +/* 915F40 802401D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_802401D4_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_802401D4_915D70.s new file mode 100644 index 0000000000..39c2d5f94f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_802401D4_915D70.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D4_915F44 +/* 915F44 802401D4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 915F48 802401D8 AFB3003C */ sw $s3, 0x3c($sp) +/* 915F4C 802401DC 0080982D */ daddu $s3, $a0, $zero +/* 915F50 802401E0 AFBF0044 */ sw $ra, 0x44($sp) +/* 915F54 802401E4 AFB40040 */ sw $s4, 0x40($sp) +/* 915F58 802401E8 AFB20038 */ sw $s2, 0x38($sp) +/* 915F5C 802401EC AFB10034 */ sw $s1, 0x34($sp) +/* 915F60 802401F0 AFB00030 */ sw $s0, 0x30($sp) +/* 915F64 802401F4 8E700148 */ lw $s0, 0x148($s3) +/* 915F68 802401F8 00A0902D */ daddu $s2, $a1, $zero +/* 915F6C 802401FC 86040008 */ lh $a0, 8($s0) +/* 915F70 80240200 0C00EABB */ jal get_npc_unsafe +/* 915F74 80240204 00C0A02D */ daddu $s4, $a2, $zero +/* 915F78 80240208 8E630074 */ lw $v1, 0x74($s3) +/* 915F7C 8024020C 1C600032 */ bgtz $v1, .L802402D8 +/* 915F80 80240210 0040882D */ daddu $s1, $v0, $zero +/* 915F84 80240214 8E420014 */ lw $v0, 0x14($s2) +/* 915F88 80240218 AE620074 */ sw $v0, 0x74($s3) +/* 915F8C 8024021C C640000C */ lwc1 $f0, 0xc($s2) +/* 915F90 80240220 3C018024 */ lui $at, 0x8024 +/* 915F94 80240224 D4222D50 */ ldc1 $f2, 0x2d50($at) +/* 915F98 80240228 46000021 */ cvt.d.s $f0, $f0 +/* 915F9C 8024022C 46220002 */ mul.d $f0, $f0, $f2 +/* 915FA0 80240230 00000000 */ nop +/* 915FA4 80240234 0280202D */ daddu $a0, $s4, $zero +/* 915FA8 80240238 AFA00010 */ sw $zero, 0x10($sp) +/* 915FAC 8024023C 8E470010 */ lw $a3, 0x10($s2) +/* 915FB0 80240240 46200020 */ cvt.s.d $f0, $f0 +/* 915FB4 80240244 44060000 */ mfc1 $a2, $f0 +/* 915FB8 80240248 0C01242D */ jal func_800490B4 +/* 915FBC 8024024C 0200282D */ daddu $a1, $s0, $zero +/* 915FC0 80240250 10400021 */ beqz $v0, .L802402D8 +/* 915FC4 80240254 0000202D */ daddu $a0, $zero, $zero +/* 915FC8 80240258 0220282D */ daddu $a1, $s1, $zero +/* 915FCC 8024025C 0000302D */ daddu $a2, $zero, $zero +/* 915FD0 80240260 8E0200CC */ lw $v0, 0xcc($s0) +/* 915FD4 80240264 3C013F80 */ lui $at, 0x3f80 +/* 915FD8 80240268 44810000 */ mtc1 $at, $f0 +/* 915FDC 8024026C 3C014000 */ lui $at, 0x4000 +/* 915FE0 80240270 44811000 */ mtc1 $at, $f2 +/* 915FE4 80240274 8C430024 */ lw $v1, 0x24($v0) +/* 915FE8 80240278 862200A8 */ lh $v0, 0xa8($s1) +/* 915FEC 8024027C 3C01C1A0 */ lui $at, 0xc1a0 +/* 915FF0 80240280 44812000 */ mtc1 $at, $f4 +/* 915FF4 80240284 44823000 */ mtc1 $v0, $f6 +/* 915FF8 80240288 00000000 */ nop +/* 915FFC 8024028C 468031A0 */ cvt.s.w $f6, $f6 +/* 916000 80240290 44073000 */ mfc1 $a3, $f6 +/* 916004 80240294 2402000F */ addiu $v0, $zero, 0xf +/* 916008 80240298 AE230028 */ sw $v1, 0x28($s1) +/* 91600C 8024029C AFA2001C */ sw $v0, 0x1c($sp) +/* 916010 802402A0 27A20028 */ addiu $v0, $sp, 0x28 +/* 916014 802402A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 916018 802402A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 91601C 802402AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 916020 802402B0 0C01BFA4 */ jal fx_emote +/* 916024 802402B4 AFA20020 */ sw $v0, 0x20($sp) +/* 916028 802402B8 0220202D */ daddu $a0, $s1, $zero +/* 91602C 802402BC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 916030 802402C0 0C012530 */ jal func_800494C0 +/* 916034 802402C4 3C060020 */ lui $a2, 0x20 +/* 916038 802402C8 2402000C */ addiu $v0, $zero, 0xc +/* 91603C 802402CC A622008E */ sh $v0, 0x8e($s1) +/* 916040 802402D0 24020002 */ addiu $v0, $zero, 2 +/* 916044 802402D4 AE620070 */ sw $v0, 0x70($s3) +.L802402D8: +/* 916048 802402D8 8E620074 */ lw $v0, 0x74($s3) +/* 91604C 802402DC 2442FFFF */ addiu $v0, $v0, -1 +/* 916050 802402E0 AE620074 */ sw $v0, 0x74($s3) +/* 916054 802402E4 8FBF0044 */ lw $ra, 0x44($sp) +/* 916058 802402E8 8FB40040 */ lw $s4, 0x40($sp) +/* 91605C 802402EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 916060 802402F0 8FB20038 */ lw $s2, 0x38($sp) +/* 916064 802402F4 8FB10034 */ lw $s1, 0x34($sp) +/* 916068 802402F8 8FB00030 */ lw $s0, 0x30($sp) +/* 91606C 802402FC 03E00008 */ jr $ra +/* 916070 80240300 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240304_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240304_915D70.s new file mode 100644 index 0000000000..8a9ffd2448 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240304_915D70.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240304_916074 +/* 916074 80240304 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 916078 80240308 AFB20018 */ sw $s2, 0x18($sp) +/* 91607C 8024030C 0080902D */ daddu $s2, $a0, $zero +/* 916080 80240310 AFBF001C */ sw $ra, 0x1c($sp) +/* 916084 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* 916088 80240318 AFB00010 */ sw $s0, 0x10($sp) +/* 91608C 8024031C 8E510148 */ lw $s1, 0x148($s2) +/* 916090 80240320 0C00EABB */ jal get_npc_unsafe +/* 916094 80240324 86240008 */ lh $a0, 8($s1) +/* 916098 80240328 0040802D */ daddu $s0, $v0, $zero +/* 91609C 8024032C 9602008E */ lhu $v0, 0x8e($s0) +/* 9160A0 80240330 2442FFFF */ addiu $v0, $v0, -1 +/* 9160A4 80240334 A602008E */ sh $v0, 0x8e($s0) +/* 9160A8 80240338 00021400 */ sll $v0, $v0, 0x10 +/* 9160AC 8024033C 1C400012 */ bgtz $v0, .L80240388 +/* 9160B0 80240340 00000000 */ nop +/* 9160B4 80240344 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9160B8 80240348 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9160BC 8024034C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9160C0 80240350 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9160C4 80240354 8C460028 */ lw $a2, 0x28($v0) +/* 9160C8 80240358 0C00A720 */ jal atan2 +/* 9160CC 8024035C 8C470030 */ lw $a3, 0x30($v0) +/* 9160D0 80240360 0200202D */ daddu $a0, $s0, $zero +/* 9160D4 80240364 0C00EAE8 */ jal enable_npc_shadow +/* 9160D8 80240368 E600000C */ swc1 $f0, 0xc($s0) +/* 9160DC 8024036C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9160E0 80240370 8C430028 */ lw $v1, 0x28($v0) +/* 9160E4 80240374 24020008 */ addiu $v0, $zero, 8 +/* 9160E8 80240378 A602008E */ sh $v0, 0x8e($s0) +/* 9160EC 8024037C 24020003 */ addiu $v0, $zero, 3 +/* 9160F0 80240380 AE030028 */ sw $v1, 0x28($s0) +/* 9160F4 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* 9160F8 80240388 8FBF001C */ lw $ra, 0x1c($sp) +/* 9160FC 8024038C 8FB20018 */ lw $s2, 0x18($sp) +/* 916100 80240390 8FB10014 */ lw $s1, 0x14($sp) +/* 916104 80240394 8FB00010 */ lw $s0, 0x10($sp) +/* 916108 80240398 03E00008 */ jr $ra +/* 91610C 8024039C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_802403A0_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_802403A0_915D70.s new file mode 100644 index 0000000000..44ff5f8e13 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_802403A0_915D70.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_916110 +/* 916110 802403A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 916114 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* 916118 802403A8 0080882D */ daddu $s1, $a0, $zero +/* 91611C 802403AC AFBF0018 */ sw $ra, 0x18($sp) +/* 916120 802403B0 AFB00010 */ sw $s0, 0x10($sp) +/* 916124 802403B4 8E220148 */ lw $v0, 0x148($s1) +/* 916128 802403B8 0C00EABB */ jal get_npc_unsafe +/* 91612C 802403BC 84440008 */ lh $a0, 8($v0) +/* 916130 802403C0 0040802D */ daddu $s0, $v0, $zero +/* 916134 802403C4 9602008E */ lhu $v0, 0x8e($s0) +/* 916138 802403C8 2442FFFF */ addiu $v0, $v0, -1 +/* 91613C 802403CC A602008E */ sh $v0, 0x8e($s0) +/* 916140 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* 916144 802403D4 1C40000F */ bgtz $v0, .L80240414 +/* 916148 802403D8 00000000 */ nop +/* 91614C 802403DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 916150 802403E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 916154 802403E4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 916158 802403E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91615C 802403EC 8C460028 */ lw $a2, 0x28($v0) +/* 916160 802403F0 0C00A720 */ jal atan2 +/* 916164 802403F4 8C470030 */ lw $a3, 0x30($v0) +/* 916168 802403F8 2402001A */ addiu $v0, $zero, 0x1a +/* 91616C 802403FC A60200A8 */ sh $v0, 0xa8($s0) +/* 916170 80240400 24020018 */ addiu $v0, $zero, 0x18 +/* 916174 80240404 A60200A6 */ sh $v0, 0xa6($s0) +/* 916178 80240408 24020004 */ addiu $v0, $zero, 4 +/* 91617C 8024040C E600000C */ swc1 $f0, 0xc($s0) +/* 916180 80240410 AE220070 */ sw $v0, 0x70($s1) +.L80240414: +/* 916184 80240414 8FBF0018 */ lw $ra, 0x18($sp) +/* 916188 80240418 8FB10014 */ lw $s1, 0x14($sp) +/* 91618C 8024041C 8FB00010 */ lw $s0, 0x10($sp) +/* 916190 80240420 03E00008 */ jr $ra +/* 916194 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240428_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240428_915D70.s new file mode 100644 index 0000000000..af86815b50 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240428_915D70.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_916198 +/* 916198 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91619C 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* 9161A0 80240430 0080882D */ daddu $s1, $a0, $zero +/* 9161A4 80240434 AFBF001C */ sw $ra, 0x1c($sp) +/* 9161A8 80240438 AFB20018 */ sw $s2, 0x18($sp) +/* 9161AC 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* 9161B0 80240440 8E320148 */ lw $s2, 0x148($s1) +/* 9161B4 80240444 0C00EABB */ jal get_npc_unsafe +/* 9161B8 80240448 86440008 */ lh $a0, 8($s2) +/* 9161BC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9161C0 80240450 0C00A67F */ jal rand_int +/* 9161C4 80240454 0040802D */ daddu $s0, $v0, $zero +/* 9161C8 80240458 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9161CC 8024045C 44820000 */ mtc1 $v0, $f0 +/* 9161D0 80240460 00000000 */ nop +/* 9161D4 80240464 46800020 */ cvt.s.w $f0, $f0 +/* 9161D8 80240468 46006300 */ add.s $f12, $f12, $f0 +/* 9161DC 8024046C 3C0142B4 */ lui $at, 0x42b4 +/* 9161E0 80240470 44810000 */ mtc1 $at, $f0 +/* 9161E4 80240474 0C00A6C9 */ jal clamp_angle +/* 9161E8 80240478 46006301 */ sub.s $f12, $f12, $f0 +/* 9161EC 8024047C E600000C */ swc1 $f0, 0xc($s0) +/* 9161F0 80240480 8E4200CC */ lw $v0, 0xcc($s2) +/* 9161F4 80240484 8C420000 */ lw $v0, ($v0) +/* 9161F8 80240488 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9161FC 8024048C 0C00A67F */ jal rand_int +/* 916200 80240490 AE020028 */ sw $v0, 0x28($s0) +/* 916204 80240494 00021FC2 */ srl $v1, $v0, 0x1f +/* 916208 80240498 00431821 */ addu $v1, $v0, $v1 +/* 91620C 8024049C 00031843 */ sra $v1, $v1, 1 +/* 916210 802404A0 00031840 */ sll $v1, $v1, 1 +/* 916214 802404A4 00431023 */ subu $v0, $v0, $v1 +/* 916218 802404A8 24420002 */ addiu $v0, $v0, 2 +/* 91621C 802404AC AE220074 */ sw $v0, 0x74($s1) +/* 916220 802404B0 24020005 */ addiu $v0, $zero, 5 +/* 916224 802404B4 AE220070 */ sw $v0, 0x70($s1) +/* 916228 802404B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 91622C 802404BC 8FB20018 */ lw $s2, 0x18($sp) +/* 916230 802404C0 8FB10014 */ lw $s1, 0x14($sp) +/* 916234 802404C4 8FB00010 */ lw $s0, 0x10($sp) +/* 916238 802404C8 03E00008 */ jr $ra +/* 91623C 802404CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_802404D0.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_802404D0.s new file mode 100644 index 0000000000..70cde67ca6 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_802404D0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0 +/* 916240 802404D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 916244 802404D4 AFB3003C */ sw $s3, 0x3c($sp) +/* 916248 802404D8 0080982D */ daddu $s3, $a0, $zero +/* 91624C 802404DC AFBF0040 */ sw $ra, 0x40($sp) +/* 916250 802404E0 AFB20038 */ sw $s2, 0x38($sp) +/* 916254 802404E4 AFB10034 */ sw $s1, 0x34($sp) +/* 916258 802404E8 AFB00030 */ sw $s0, 0x30($sp) +/* 91625C 802404EC 8E700148 */ lw $s0, 0x148($s3) +/* 916260 802404F0 00A0902D */ daddu $s2, $a1, $zero +/* 916264 802404F4 86040008 */ lh $a0, 8($s0) +/* 916268 802404F8 0C00EABB */ jal get_npc_unsafe +/* 91626C 802404FC 00C0882D */ daddu $s1, $a2, $zero +/* 916270 80240500 0220202D */ daddu $a0, $s1, $zero +/* 916274 80240504 0200282D */ daddu $a1, $s0, $zero +/* 916278 80240508 AFA00010 */ sw $zero, 0x10($sp) +/* 91627C 8024050C 8E460024 */ lw $a2, 0x24($s2) +/* 916280 80240510 8E470028 */ lw $a3, 0x28($s2) +/* 916284 80240514 0C01242D */ jal func_800490B4 +/* 916288 80240518 0040802D */ daddu $s0, $v0, $zero +/* 91628C 8024051C 1040000B */ beqz $v0, .L8024054C +/* 916290 80240520 00000000 */ nop +/* 916294 80240524 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 916298 80240528 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91629C 8024052C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9162A0 80240530 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9162A4 80240534 8C460028 */ lw $a2, 0x28($v0) +/* 9162A8 80240538 0C00A720 */ jal atan2 +/* 9162AC 8024053C 8C470030 */ lw $a3, 0x30($v0) +/* 9162B0 80240540 2402000C */ addiu $v0, $zero, 0xc +/* 9162B4 80240544 08090189 */ j .L80240624 +/* 9162B8 80240548 E600000C */ swc1 $f0, 0xc($s0) +.L8024054C: +/* 9162BC 8024054C 9602008E */ lhu $v0, 0x8e($s0) +/* 9162C0 80240550 2442FFFF */ addiu $v0, $v0, -1 +/* 9162C4 80240554 A602008E */ sh $v0, 0x8e($s0) +/* 9162C8 80240558 00021400 */ sll $v0, $v0, 0x10 +/* 9162CC 8024055C 1C400032 */ bgtz $v0, .L80240628 +/* 9162D0 80240560 00000000 */ nop +/* 9162D4 80240564 8E620074 */ lw $v0, 0x74($s3) +/* 9162D8 80240568 2442FFFF */ addiu $v0, $v0, -1 +/* 9162DC 8024056C 18400014 */ blez $v0, .L802405C0 +/* 9162E0 80240570 AE620074 */ sw $v0, 0x74($s3) +/* 9162E4 80240574 C600000C */ lwc1 $f0, 0xc($s0) +/* 9162E8 80240578 3C014334 */ lui $at, 0x4334 +/* 9162EC 8024057C 44816000 */ mtc1 $at, $f12 +/* 9162F0 80240580 0C00A6C9 */ jal clamp_angle +/* 9162F4 80240584 460C0300 */ add.s $f12, $f0, $f12 +/* 9162F8 80240588 E600000C */ swc1 $f0, 0xc($s0) +/* 9162FC 8024058C 8E440008 */ lw $a0, 8($s2) +/* 916300 80240590 000417C2 */ srl $v0, $a0, 0x1f +/* 916304 80240594 00822021 */ addu $a0, $a0, $v0 +/* 916308 80240598 00042043 */ sra $a0, $a0, 1 +/* 91630C 8024059C 0C00A67F */ jal rand_int +/* 916310 802405A0 24840001 */ addiu $a0, $a0, 1 +/* 916314 802405A4 8E430008 */ lw $v1, 8($s2) +/* 916318 802405A8 000327C2 */ srl $a0, $v1, 0x1f +/* 91631C 802405AC 00641821 */ addu $v1, $v1, $a0 +/* 916320 802405B0 00031843 */ sra $v1, $v1, 1 +/* 916324 802405B4 00621821 */ addu $v1, $v1, $v0 +/* 916328 802405B8 0809018A */ j .L80240628 +/* 91632C 802405BC A603008E */ sh $v1, 0x8e($s0) +.L802405C0: +/* 916330 802405C0 24040002 */ addiu $a0, $zero, 2 +/* 916334 802405C4 0200282D */ daddu $a1, $s0, $zero +/* 916338 802405C8 0000302D */ daddu $a2, $zero, $zero +/* 91633C 802405CC 860300A8 */ lh $v1, 0xa8($s0) +/* 916340 802405D0 3C013F80 */ lui $at, 0x3f80 +/* 916344 802405D4 44810000 */ mtc1 $at, $f0 +/* 916348 802405D8 3C014000 */ lui $at, 0x4000 +/* 91634C 802405DC 44811000 */ mtc1 $at, $f2 +/* 916350 802405E0 3C01C1A0 */ lui $at, 0xc1a0 +/* 916354 802405E4 44812000 */ mtc1 $at, $f4 +/* 916358 802405E8 2402000C */ addiu $v0, $zero, 0xc +/* 91635C 802405EC AFA2001C */ sw $v0, 0x1c($sp) +/* 916360 802405F0 44833000 */ mtc1 $v1, $f6 +/* 916364 802405F4 00000000 */ nop +/* 916368 802405F8 468031A0 */ cvt.s.w $f6, $f6 +/* 91636C 802405FC 44073000 */ mfc1 $a3, $f6 +/* 916370 80240600 27A20028 */ addiu $v0, $sp, 0x28 +/* 916374 80240604 AFA20020 */ sw $v0, 0x20($sp) +/* 916378 80240608 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91637C 8024060C E7A20014 */ swc1 $f2, 0x14($sp) +/* 916380 80240610 0C01BFA4 */ jal fx_emote +/* 916384 80240614 E7A40018 */ swc1 $f4, 0x18($sp) +/* 916388 80240618 2402000F */ addiu $v0, $zero, 0xf +/* 91638C 8024061C A602008E */ sh $v0, 0x8e($s0) +/* 916390 80240620 24020028 */ addiu $v0, $zero, 0x28 +.L80240624: +/* 916394 80240624 AE620070 */ sw $v0, 0x70($s3) +.L80240628: +/* 916398 80240628 8FBF0040 */ lw $ra, 0x40($sp) +/* 91639C 8024062C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9163A0 80240630 8FB20038 */ lw $s2, 0x38($sp) +/* 9163A4 80240634 8FB10034 */ lw $s1, 0x34($sp) +/* 9163A8 80240638 8FB00030 */ lw $s0, 0x30($sp) +/* 9163AC 8024063C 03E00008 */ jr $ra +/* 9163B0 80240640 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240644.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240644.s new file mode 100644 index 0000000000..524f6d4bfd --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240644.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644 +/* 9163B4 80240644 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9163B8 80240648 AFB10014 */ sw $s1, 0x14($sp) +/* 9163BC 8024064C 0080882D */ daddu $s1, $a0, $zero +/* 9163C0 80240650 AFBF0018 */ sw $ra, 0x18($sp) +/* 9163C4 80240654 AFB00010 */ sw $s0, 0x10($sp) +/* 9163C8 80240658 8E300148 */ lw $s0, 0x148($s1) +/* 9163CC 8024065C 0C00EABB */ jal get_npc_unsafe +/* 9163D0 80240660 86040008 */ lh $a0, 8($s0) +/* 9163D4 80240664 96030096 */ lhu $v1, 0x96($s0) +/* 9163D8 80240668 A443008E */ sh $v1, 0x8e($v0) +/* 9163DC 8024066C 8E0300CC */ lw $v1, 0xcc($s0) +/* 9163E0 80240670 8C630034 */ lw $v1, 0x34($v1) +/* 9163E4 80240674 AC430028 */ sw $v1, 0x28($v0) +/* 9163E8 80240678 24020015 */ addiu $v0, $zero, 0x15 +/* 9163EC 8024067C AE220070 */ sw $v0, 0x70($s1) +/* 9163F0 80240680 8FBF0018 */ lw $ra, 0x18($sp) +/* 9163F4 80240684 8FB10014 */ lw $s1, 0x14($sp) +/* 9163F8 80240688 8FB00010 */ lw $s0, 0x10($sp) +/* 9163FC 8024068C 03E00008 */ jr $ra +/* 916400 80240690 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240694.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240694.s new file mode 100644 index 0000000000..87a9c9bff4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240694.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240694 +/* 916404 80240694 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 916408 80240698 AFB30024 */ sw $s3, 0x24($sp) +/* 91640C 8024069C 0080982D */ daddu $s3, $a0, $zero +/* 916410 802406A0 AFBF002C */ sw $ra, 0x2c($sp) +/* 916414 802406A4 AFB40028 */ sw $s4, 0x28($sp) +/* 916418 802406A8 AFB20020 */ sw $s2, 0x20($sp) +/* 91641C 802406AC AFB1001C */ sw $s1, 0x1c($sp) +/* 916420 802406B0 AFB00018 */ sw $s0, 0x18($sp) +/* 916424 802406B4 8E710148 */ lw $s1, 0x148($s3) +/* 916428 802406B8 86240008 */ lh $a0, 8($s1) +/* 91642C 802406BC 0C00EABB */ jal get_npc_unsafe +/* 916430 802406C0 00A0A02D */ daddu $s4, $a1, $zero +/* 916434 802406C4 0040802D */ daddu $s0, $v0, $zero +/* 916438 802406C8 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 91643C 802406CC 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 916440 802406D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 916444 802406D4 8E420000 */ lw $v0, ($s2) +/* 916448 802406D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91644C 802406DC 8C460028 */ lw $a2, 0x28($v0) +/* 916450 802406E0 0C00A720 */ jal atan2 +/* 916454 802406E4 8C470030 */ lw $a3, 0x30($v0) +/* 916458 802406E8 3C025555 */ lui $v0, 0x5555 +/* 91645C 802406EC 9603008E */ lhu $v1, 0x8e($s0) +/* 916460 802406F0 34425556 */ ori $v0, $v0, 0x5556 +/* 916464 802406F4 00031C00 */ sll $v1, $v1, 0x10 +/* 916468 802406F8 00032403 */ sra $a0, $v1, 0x10 +/* 91646C 802406FC 00820018 */ mult $a0, $v0 +/* 916470 80240700 00031FC3 */ sra $v1, $v1, 0x1f +/* 916474 80240704 00004010 */ mfhi $t0 +/* 916478 80240708 01031823 */ subu $v1, $t0, $v1 +/* 91647C 8024070C 00031040 */ sll $v0, $v1, 1 +/* 916480 80240710 00431021 */ addu $v0, $v0, $v1 +/* 916484 80240714 00822023 */ subu $a0, $a0, $v0 +/* 916488 80240718 00042400 */ sll $a0, $a0, 0x10 +/* 91648C 8024071C 1480000C */ bnez $a0, .L80240750 +/* 916490 80240720 E600000C */ swc1 $f0, 0xc($s0) +/* 916494 80240724 C6020040 */ lwc1 $f2, 0x40($s0) +/* 916498 80240728 3C014000 */ lui $at, 0x4000 +/* 91649C 8024072C 44810000 */ mtc1 $at, $f0 +/* 9164A0 80240730 AFA00010 */ sw $zero, 0x10($sp) +/* 9164A4 80240734 AFA00014 */ sw $zero, 0x14($sp) +/* 9164A8 80240738 46001080 */ add.s $f2, $f2, $f0 +/* 9164AC 8024073C 8E06003C */ lw $a2, 0x3c($s0) +/* 9164B0 80240740 8E050038 */ lw $a1, 0x38($s0) +/* 9164B4 80240744 44071000 */ mfc1 $a3, $f2 +/* 9164B8 80240748 0C01BECC */ jal fx_walk_normal +/* 9164BC 8024074C 24040002 */ addiu $a0, $zero, 2 +.L80240750: +/* 9164C0 80240750 9602008E */ lhu $v0, 0x8e($s0) +/* 9164C4 80240754 2442FFFF */ addiu $v0, $v0, -1 +/* 9164C8 80240758 A602008E */ sh $v0, 0x8e($s0) +/* 9164CC 8024075C 00021400 */ sll $v0, $v0, 0x10 +/* 9164D0 80240760 1C40002C */ bgtz $v0, .L80240814 +/* 9164D4 80240764 00000000 */ nop +/* 9164D8 80240768 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9164DC 8024076C 4600010D */ trunc.w.s $f4, $f0 +/* 9164E0 80240770 44022000 */ mfc1 $v0, $f4 +/* 9164E4 80240774 00000000 */ nop +/* 9164E8 80240778 A6220010 */ sh $v0, 0x10($s1) +/* 9164EC 8024077C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9164F0 80240780 4600010D */ trunc.w.s $f4, $f0 +/* 9164F4 80240784 44022000 */ mfc1 $v0, $f4 +/* 9164F8 80240788 00000000 */ nop +/* 9164FC 8024078C A6220012 */ sh $v0, 0x12($s1) +/* 916500 80240790 C6000040 */ lwc1 $f0, 0x40($s0) +/* 916504 80240794 24020001 */ addiu $v0, $zero, 1 +/* 916508 80240798 A2220007 */ sb $v0, 7($s1) +/* 91650C 8024079C 4600010D */ trunc.w.s $f4, $f0 +/* 916510 802407A0 44022000 */ mfc1 $v0, $f4 +/* 916514 802407A4 00000000 */ nop +/* 916518 802407A8 A6220014 */ sh $v0, 0x14($s1) +/* 91651C 802407AC C6800018 */ lwc1 $f0, 0x18($s4) +/* 916520 802407B0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 916524 802407B4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 916528 802407B8 8E420000 */ lw $v0, ($s2) +/* 91652C 802407BC E6000018 */ swc1 $f0, 0x18($s0) +/* 916530 802407C0 8C460028 */ lw $a2, 0x28($v0) +/* 916534 802407C4 0C00A7B5 */ jal dist2D +/* 916538 802407C8 8C470030 */ lw $a3, 0x30($v0) +/* 91653C 802407CC C6020018 */ lwc1 $f2, 0x18($s0) +/* 916540 802407D0 46020003 */ div.s $f0, $f0, $f2 +/* 916544 802407D4 3C018024 */ lui $at, 0x8024 +/* 916548 802407D8 D4222D58 */ ldc1 $f2, 0x2d58($at) +/* 91654C 802407DC 46000021 */ cvt.d.s $f0, $f0 +/* 916550 802407E0 46220000 */ add.d $f0, $f0, $f2 +/* 916554 802407E4 4620010D */ trunc.w.d $f4, $f0 +/* 916558 802407E8 44022000 */ mfc1 $v0, $f4 +/* 91655C 802407EC 00000000 */ nop +/* 916560 802407F0 A602008E */ sh $v0, 0x8e($s0) +/* 916564 802407F4 00021400 */ sll $v0, $v0, 0x10 +/* 916568 802407F8 00021403 */ sra $v0, $v0, 0x10 +/* 91656C 802407FC 2842000F */ slti $v0, $v0, 0xf +/* 916570 80240800 10400002 */ beqz $v0, .L8024080C +/* 916574 80240804 2402000F */ addiu $v0, $zero, 0xf +/* 916578 80240808 A602008E */ sh $v0, 0x8e($s0) +.L8024080C: +/* 91657C 8024080C 24020016 */ addiu $v0, $zero, 0x16 +/* 916580 80240810 AE620070 */ sw $v0, 0x70($s3) +.L80240814: +/* 916584 80240814 8FBF002C */ lw $ra, 0x2c($sp) +/* 916588 80240818 8FB40028 */ lw $s4, 0x28($sp) +/* 91658C 8024081C 8FB30024 */ lw $s3, 0x24($sp) +/* 916590 80240820 8FB20020 */ lw $s2, 0x20($sp) +/* 916594 80240824 8FB1001C */ lw $s1, 0x1c($sp) +/* 916598 80240828 8FB00018 */ lw $s0, 0x18($sp) +/* 91659C 8024082C 03E00008 */ jr $ra +/* 9165A0 80240830 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240834.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240834.s new file mode 100644 index 0000000000..d1f184c2dd --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240834.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240834 +/* 9165A4 80240834 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9165A8 80240838 AFB3003C */ sw $s3, 0x3c($sp) +/* 9165AC 8024083C 0080982D */ daddu $s3, $a0, $zero +/* 9165B0 80240840 AFBF0040 */ sw $ra, 0x40($sp) +/* 9165B4 80240844 AFB20038 */ sw $s2, 0x38($sp) +/* 9165B8 80240848 AFB10034 */ sw $s1, 0x34($sp) +/* 9165BC 8024084C AFB00030 */ sw $s0, 0x30($sp) +/* 9165C0 80240850 8E720148 */ lw $s2, 0x148($s3) +/* 9165C4 80240854 0C00EABB */ jal get_npc_unsafe +/* 9165C8 80240858 86440008 */ lh $a0, 8($s2) +/* 9165CC 8024085C 0040802D */ daddu $s0, $v0, $zero +/* 9165D0 80240860 0200202D */ daddu $a0, $s0, $zero +/* 9165D4 80240864 0C00F598 */ jal func_8003D660 +/* 9165D8 80240868 24050001 */ addiu $a1, $zero, 1 +/* 9165DC 8024086C 8E050018 */ lw $a1, 0x18($s0) +/* 9165E0 80240870 8E06000C */ lw $a2, 0xc($s0) +/* 9165E4 80240874 0C00EA95 */ jal npc_move_heading +/* 9165E8 80240878 0200202D */ daddu $a0, $s0, $zero +/* 9165EC 8024087C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9165F0 80240880 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9165F4 80240884 C462001C */ lwc1 $f2, 0x1c($v1) +/* 9165F8 80240888 468010A0 */ cvt.s.w $f2, $f2 +/* 9165FC 8024088C C4640024 */ lwc1 $f4, 0x24($v1) +/* 916600 80240890 46802120 */ cvt.s.w $f4, $f4 +/* 916604 80240894 E7A00010 */ swc1 $f0, 0x10($sp) +/* 916608 80240898 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91660C 8024089C 44051000 */ mfc1 $a1, $f2 +/* 916610 802408A0 C4400028 */ lwc1 $f0, 0x28($v0) +/* 916614 802408A4 46800020 */ cvt.s.w $f0, $f0 +/* 916618 802408A8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 91661C 802408AC 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916620 802408B0 44062000 */ mfc1 $a2, $f4 +/* 916624 802408B4 C440002C */ lwc1 $f0, 0x2c($v0) +/* 916628 802408B8 46800020 */ cvt.s.w $f0, $f0 +/* 91662C 802408BC E7A00018 */ swc1 $f0, 0x18($sp) +/* 916630 802408C0 8C640030 */ lw $a0, 0x30($v1) +/* 916634 802408C4 0C0123F5 */ jal is_point_within_region +/* 916638 802408C8 8E070038 */ lw $a3, 0x38($s0) +/* 91663C 802408CC C6000038 */ lwc1 $f0, 0x38($s0) +/* 916640 802408D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 916644 802408D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 916648 802408D8 3C013F80 */ lui $at, 0x3f80 +/* 91664C 802408DC 44813000 */ mtc1 $at, $f6 +/* 916650 802408E0 E7A00020 */ swc1 $f0, 0x20($sp) +/* 916654 802408E4 E7A20024 */ swc1 $f2, 0x24($sp) +/* 916658 802408E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* 91665C 802408EC E7A60010 */ swc1 $f6, 0x10($sp) +/* 916660 802408F0 C600000C */ lwc1 $f0, 0xc($s0) +/* 916664 802408F4 0002882B */ sltu $s1, $zero, $v0 +/* 916668 802408F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 91666C 802408FC 860200A8 */ lh $v0, 0xa8($s0) +/* 916670 80240900 27A50020 */ addiu $a1, $sp, 0x20 +/* 916674 80240904 44820000 */ mtc1 $v0, $f0 +/* 916678 80240908 00000000 */ nop +/* 91667C 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* 916680 80240910 E7A00018 */ swc1 $f0, 0x18($sp) +/* 916684 80240914 860200A6 */ lh $v0, 0xa6($s0) +/* 916688 80240918 27A60024 */ addiu $a2, $sp, 0x24 +/* 91668C 8024091C 44820000 */ mtc1 $v0, $f0 +/* 916690 80240920 00000000 */ nop +/* 916694 80240924 46800020 */ cvt.s.w $f0, $f0 +/* 916698 80240928 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 91669C 8024092C 8E040080 */ lw $a0, 0x80($s0) +/* 9166A0 80240930 0C037711 */ jal func_800DDC44 +/* 9166A4 80240934 27A70028 */ addiu $a3, $sp, 0x28 +/* 9166A8 80240938 54400001 */ bnel $v0, $zero, .L80240940 +/* 9166AC 8024093C 24110001 */ addiu $s1, $zero, 1 +.L80240940: +/* 9166B0 80240940 9602008E */ lhu $v0, 0x8e($s0) +/* 9166B4 80240944 2442FFFF */ addiu $v0, $v0, -1 +/* 9166B8 80240948 A602008E */ sh $v0, 0x8e($s0) +/* 9166BC 8024094C 00021400 */ sll $v0, $v0, 0x10 +/* 9166C0 80240950 58400001 */ blezl $v0, .L80240958 +/* 9166C4 80240954 24110001 */ addiu $s1, $zero, 1 +.L80240958: +/* 9166C8 80240958 12200003 */ beqz $s1, .L80240968 +/* 9166CC 8024095C 24020004 */ addiu $v0, $zero, 4 +/* 9166D0 80240960 AE620070 */ sw $v0, 0x70($s3) +/* 9166D4 80240964 A2400007 */ sb $zero, 7($s2) +.L80240968: +/* 9166D8 80240968 8FBF0040 */ lw $ra, 0x40($sp) +/* 9166DC 8024096C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9166E0 80240970 8FB20038 */ lw $s2, 0x38($sp) +/* 9166E4 80240974 8FB10034 */ lw $s1, 0x34($sp) +/* 9166E8 80240978 8FB00030 */ lw $s0, 0x30($sp) +/* 9166EC 8024097C 03E00008 */ jr $ra +/* 9166F0 80240980 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240984_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240984_915D70.s new file mode 100644 index 0000000000..05037d5e46 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240984_915D70.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984_9166F4 +/* 9166F4 80240984 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9166F8 80240988 AFB20018 */ sw $s2, 0x18($sp) +/* 9166FC 8024098C 0080902D */ daddu $s2, $a0, $zero +/* 916700 80240990 AFBF001C */ sw $ra, 0x1c($sp) +/* 916704 80240994 AFB10014 */ sw $s1, 0x14($sp) +/* 916708 80240998 AFB00010 */ sw $s0, 0x10($sp) +/* 91670C 8024099C 8E500148 */ lw $s0, 0x148($s2) +/* 916710 802409A0 86040008 */ lh $a0, 8($s0) +/* 916714 802409A4 0C00EABB */ jal get_npc_unsafe +/* 916718 802409A8 00A0882D */ daddu $s1, $a1, $zero +/* 91671C 802409AC 0040182D */ daddu $v1, $v0, $zero +/* 916720 802409B0 9462008E */ lhu $v0, 0x8e($v1) +/* 916724 802409B4 2442FFFF */ addiu $v0, $v0, -1 +/* 916728 802409B8 A462008E */ sh $v0, 0x8e($v1) +/* 91672C 802409BC 00021400 */ sll $v0, $v0, 0x10 +/* 916730 802409C0 1C400015 */ bgtz $v0, .L80240A18 +/* 916734 802409C4 00000000 */ nop +/* 916738 802409C8 8E0200CC */ lw $v0, 0xcc($s0) +/* 91673C 802409CC 8C420004 */ lw $v0, 4($v0) +/* 916740 802409D0 AC620028 */ sw $v0, 0x28($v1) +/* 916744 802409D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* 916748 802409D8 8C420014 */ lw $v0, 0x14($v0) +/* 91674C 802409DC 04410004 */ bgez $v0, .L802409F0 +/* 916750 802409E0 00000000 */ nop +/* 916754 802409E4 C6200000 */ lwc1 $f0, ($s1) +/* 916758 802409E8 08090284 */ j .L80240A10 +/* 91675C 802409EC E4600018 */ swc1 $f0, 0x18($v1) +.L802409F0: +/* 916760 802409F0 3C018024 */ lui $at, 0x8024 +/* 916764 802409F4 D4222D60 */ ldc1 $f2, 0x2d60($at) +/* 916768 802409F8 44820000 */ mtc1 $v0, $f0 +/* 91676C 802409FC 00000000 */ nop +/* 916770 80240A00 46800021 */ cvt.d.w $f0, $f0 +/* 916774 80240A04 46220003 */ div.d $f0, $f0, $f2 +/* 916778 80240A08 46200020 */ cvt.s.d $f0, $f0 +/* 91677C 80240A0C E4600018 */ swc1 $f0, 0x18($v1) +.L80240A10: +/* 916780 80240A10 24020029 */ addiu $v0, $zero, 0x29 +/* 916784 80240A14 AE420070 */ sw $v0, 0x70($s2) +.L80240A18: +/* 916788 80240A18 8FBF001C */ lw $ra, 0x1c($sp) +/* 91678C 80240A1C 8FB20018 */ lw $s2, 0x18($sp) +/* 916790 80240A20 8FB10014 */ lw $s1, 0x14($sp) +/* 916794 80240A24 8FB00010 */ lw $s0, 0x10($sp) +/* 916798 80240A28 03E00008 */ jr $ra +/* 91679C 80240A2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240A30_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240A30_915D70.s new file mode 100644 index 0000000000..589e6d3656 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240A30_915D70.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A30_9167A0 +/* 9167A0 80240A30 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9167A4 80240A34 AFB30024 */ sw $s3, 0x24($sp) +/* 9167A8 80240A38 0080982D */ daddu $s3, $a0, $zero +/* 9167AC 80240A3C AFBF0028 */ sw $ra, 0x28($sp) +/* 9167B0 80240A40 AFB20020 */ sw $s2, 0x20($sp) +/* 9167B4 80240A44 AFB1001C */ sw $s1, 0x1c($sp) +/* 9167B8 80240A48 AFB00018 */ sw $s0, 0x18($sp) +/* 9167BC 80240A4C 8E720148 */ lw $s2, 0x148($s3) +/* 9167C0 80240A50 00A0882D */ daddu $s1, $a1, $zero +/* 9167C4 80240A54 86440008 */ lh $a0, 8($s2) +/* 9167C8 80240A58 0C00EABB */ jal get_npc_unsafe +/* 9167CC 80240A5C 00C0802D */ daddu $s0, $a2, $zero +/* 9167D0 80240A60 0200202D */ daddu $a0, $s0, $zero +/* 9167D4 80240A64 0240282D */ daddu $a1, $s2, $zero +/* 9167D8 80240A68 AFA00010 */ sw $zero, 0x10($sp) +/* 9167DC 80240A6C 8E260024 */ lw $a2, 0x24($s1) +/* 9167E0 80240A70 8E270028 */ lw $a3, 0x28($s1) +/* 9167E4 80240A74 0C01242D */ jal func_800490B4 +/* 9167E8 80240A78 0040802D */ daddu $s0, $v0, $zero +/* 9167EC 80240A7C 1040000C */ beqz $v0, .L80240AB0 +/* 9167F0 80240A80 00000000 */ nop +/* 9167F4 80240A84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9167F8 80240A88 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9167FC 80240A8C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 916800 80240A90 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 916804 80240A94 8C460028 */ lw $a2, 0x28($v0) +/* 916808 80240A98 0C00A720 */ jal atan2 +/* 91680C 80240A9C 8C470030 */ lw $a3, 0x30($v0) +/* 916810 80240AA0 2402000C */ addiu $v0, $zero, 0xc +/* 916814 80240AA4 E600000C */ swc1 $f0, 0xc($s0) +/* 916818 80240AA8 080902D3 */ j .L80240B4C +/* 91681C 80240AAC AE620070 */ sw $v0, 0x70($s3) +.L80240AB0: +/* 916820 80240AB0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 916824 80240AB4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916828 80240AB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91682C 80240ABC C4440000 */ lwc1 $f4, ($v0) +/* 916830 80240AC0 46802120 */ cvt.s.w $f4, $f4 +/* 916834 80240AC4 44062000 */ mfc1 $a2, $f4 +/* 916838 80240AC8 C4440008 */ lwc1 $f4, 8($v0) +/* 91683C 80240ACC 46802120 */ cvt.s.w $f4, $f4 +/* 916840 80240AD0 44072000 */ mfc1 $a3, $f4 +/* 916844 80240AD4 0C00A7B5 */ jal dist2D +/* 916848 80240AD8 00000000 */ nop +/* 91684C 80240ADC C6020018 */ lwc1 $f2, 0x18($s0) +/* 916850 80240AE0 4602003E */ c.le.s $f0, $f2 +/* 916854 80240AE4 00000000 */ nop +/* 916858 80240AE8 45000005 */ bc1f .L80240B00 +/* 91685C 80240AEC 2402000A */ addiu $v0, $zero, 0xa +/* 916860 80240AF0 A602008E */ sh $v0, 0x8e($s0) +/* 916864 80240AF4 24020032 */ addiu $v0, $zero, 0x32 +/* 916868 80240AF8 080902D3 */ j .L80240B4C +/* 91686C 80240AFC AE620070 */ sw $v0, 0x70($s3) +.L80240B00: +/* 916870 80240B00 8602008C */ lh $v0, 0x8c($s0) +/* 916874 80240B04 14400011 */ bnez $v0, .L80240B4C +/* 916878 80240B08 00000000 */ nop +/* 91687C 80240B0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 916880 80240B10 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916884 80240B14 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 916888 80240B18 C4440000 */ lwc1 $f4, ($v0) +/* 91688C 80240B1C 46802120 */ cvt.s.w $f4, $f4 +/* 916890 80240B20 44062000 */ mfc1 $a2, $f4 +/* 916894 80240B24 C4440008 */ lwc1 $f4, 8($v0) +/* 916898 80240B28 46802120 */ cvt.s.w $f4, $f4 +/* 91689C 80240B2C 44072000 */ mfc1 $a3, $f4 +/* 9168A0 80240B30 0C00A720 */ jal atan2 +/* 9168A4 80240B34 00000000 */ nop +/* 9168A8 80240B38 8E050018 */ lw $a1, 0x18($s0) +/* 9168AC 80240B3C 44060000 */ mfc1 $a2, $f0 +/* 9168B0 80240B40 0200202D */ daddu $a0, $s0, $zero +/* 9168B4 80240B44 0C00EA95 */ jal npc_move_heading +/* 9168B8 80240B48 AC86000C */ sw $a2, 0xc($a0) +.L80240B4C: +/* 9168BC 80240B4C 8FBF0028 */ lw $ra, 0x28($sp) +/* 9168C0 80240B50 8FB30024 */ lw $s3, 0x24($sp) +/* 9168C4 80240B54 8FB20020 */ lw $s2, 0x20($sp) +/* 9168C8 80240B58 8FB1001C */ lw $s1, 0x1c($sp) +/* 9168CC 80240B5C 8FB00018 */ lw $s0, 0x18($sp) +/* 9168D0 80240B60 03E00008 */ jr $ra +/* 9168D4 80240B64 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240B68_915D70.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240B68_915D70.s new file mode 100644 index 0000000000..6374ddb5c5 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240B68_915D70.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B68_9168D8 +/* 9168D8 80240B68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9168DC 80240B6C AFB10014 */ sw $s1, 0x14($sp) +/* 9168E0 80240B70 0080882D */ daddu $s1, $a0, $zero +/* 9168E4 80240B74 AFBF0018 */ sw $ra, 0x18($sp) +/* 9168E8 80240B78 AFB00010 */ sw $s0, 0x10($sp) +/* 9168EC 80240B7C 8E300148 */ lw $s0, 0x148($s1) +/* 9168F0 80240B80 0C00EABB */ jal get_npc_unsafe +/* 9168F4 80240B84 86040008 */ lh $a0, 8($s0) +/* 9168F8 80240B88 0040202D */ daddu $a0, $v0, $zero +/* 9168FC 80240B8C 8482008E */ lh $v0, 0x8e($a0) +/* 916900 80240B90 9483008E */ lhu $v1, 0x8e($a0) +/* 916904 80240B94 18400002 */ blez $v0, .L80240BA0 +/* 916908 80240B98 2462FFFF */ addiu $v0, $v1, -1 +/* 91690C 80240B9C A482008E */ sh $v0, 0x8e($a0) +.L80240BA0: +/* 916910 80240BA0 8482008C */ lh $v0, 0x8c($a0) +/* 916914 80240BA4 1440000A */ bnez $v0, .L80240BD0 +/* 916918 80240BA8 00000000 */ nop +/* 91691C 80240BAC 8482008E */ lh $v0, 0x8e($a0) +/* 916920 80240BB0 1C400007 */ bgtz $v0, .L80240BD0 +/* 916924 80240BB4 24020008 */ addiu $v0, $zero, 8 +/* 916928 80240BB8 A482008E */ sh $v0, 0x8e($a0) +/* 91692C 80240BBC 8E0200CC */ lw $v0, 0xcc($s0) +/* 916930 80240BC0 8C42002C */ lw $v0, 0x2c($v0) +/* 916934 80240BC4 AC820028 */ sw $v0, 0x28($a0) +/* 916938 80240BC8 24020033 */ addiu $v0, $zero, 0x33 +/* 91693C 80240BCC AE220070 */ sw $v0, 0x70($s1) +.L80240BD0: +/* 916940 80240BD0 8FBF0018 */ lw $ra, 0x18($sp) +/* 916944 80240BD4 8FB10014 */ lw $s1, 0x14($sp) +/* 916948 80240BD8 8FB00010 */ lw $s0, 0x10($sp) +/* 91694C 80240BDC 03E00008 */ jr $ra +/* 916950 80240BE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240BE4.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240BE4.s new file mode 100644 index 0000000000..94bbaf88d5 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240BE4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE4 +/* 916954 80240BE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 916958 80240BE8 AFB10014 */ sw $s1, 0x14($sp) +/* 91695C 80240BEC 0080882D */ daddu $s1, $a0, $zero +/* 916960 80240BF0 AFBF0018 */ sw $ra, 0x18($sp) +/* 916964 80240BF4 AFB00010 */ sw $s0, 0x10($sp) +/* 916968 80240BF8 8E300148 */ lw $s0, 0x148($s1) +/* 91696C 80240BFC 0C00EABB */ jal get_npc_unsafe +/* 916970 80240C00 86040008 */ lh $a0, 8($s0) +/* 916974 80240C04 0040182D */ daddu $v1, $v0, $zero +/* 916978 80240C08 9462008E */ lhu $v0, 0x8e($v1) +/* 91697C 80240C0C 2442FFFF */ addiu $v0, $v0, -1 +/* 916980 80240C10 A462008E */ sh $v0, 0x8e($v1) +/* 916984 80240C14 00021400 */ sll $v0, $v0, 0x10 +/* 916988 80240C18 1C400007 */ bgtz $v0, .L80240C38 +/* 91698C 80240C1C 24020008 */ addiu $v0, $zero, 8 +/* 916990 80240C20 A462008E */ sh $v0, 0x8e($v1) +/* 916994 80240C24 8E0200CC */ lw $v0, 0xcc($s0) +/* 916998 80240C28 8C420038 */ lw $v0, 0x38($v0) +/* 91699C 80240C2C AC620028 */ sw $v0, 0x28($v1) +/* 9169A0 80240C30 24020034 */ addiu $v0, $zero, 0x34 +/* 9169A4 80240C34 AE220070 */ sw $v0, 0x70($s1) +.L80240C38: +/* 9169A8 80240C38 8FBF0018 */ lw $ra, 0x18($sp) +/* 9169AC 80240C3C 8FB10014 */ lw $s1, 0x14($sp) +/* 9169B0 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* 9169B4 80240C44 03E00008 */ jr $ra +/* 9169B8 80240C48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C4C.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C4C.s new file mode 100644 index 0000000000..7b0fc1cdc9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C4C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C +/* 9169BC 80240C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9169C0 80240C50 AFB00010 */ sw $s0, 0x10($sp) +/* 9169C4 80240C54 0080802D */ daddu $s0, $a0, $zero +/* 9169C8 80240C58 AFBF0014 */ sw $ra, 0x14($sp) +/* 9169CC 80240C5C 8E020148 */ lw $v0, 0x148($s0) +/* 9169D0 80240C60 0C00EABB */ jal get_npc_unsafe +/* 9169D4 80240C64 84440008 */ lh $a0, 8($v0) +/* 9169D8 80240C68 9443008E */ lhu $v1, 0x8e($v0) +/* 9169DC 80240C6C 2463FFFF */ addiu $v1, $v1, -1 +/* 9169E0 80240C70 A443008E */ sh $v1, 0x8e($v0) +/* 9169E4 80240C74 00031C00 */ sll $v1, $v1, 0x10 +/* 9169E8 80240C78 58600001 */ blezl $v1, .L80240C80 +/* 9169EC 80240C7C AE000070 */ sw $zero, 0x70($s0) +.L80240C80: +/* 9169F0 80240C80 8FBF0014 */ lw $ra, 0x14($sp) +/* 9169F4 80240C84 8FB00010 */ lw $s0, 0x10($sp) +/* 9169F8 80240C88 03E00008 */ jr $ra +/* 9169FC 80240C8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C90.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C90.s new file mode 100644 index 0000000000..1d62246d2f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240C90.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C90 +/* 916A00 80240C90 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 916A04 80240C94 AFB3003C */ sw $s3, 0x3c($sp) +/* 916A08 80240C98 0080982D */ daddu $s3, $a0, $zero +/* 916A0C 80240C9C AFBF0048 */ sw $ra, 0x48($sp) +/* 916A10 80240CA0 AFB50044 */ sw $s5, 0x44($sp) +/* 916A14 80240CA4 AFB40040 */ sw $s4, 0x40($sp) +/* 916A18 80240CA8 AFB20038 */ sw $s2, 0x38($sp) +/* 916A1C 80240CAC AFB10034 */ sw $s1, 0x34($sp) +/* 916A20 80240CB0 AFB00030 */ sw $s0, 0x30($sp) +/* 916A24 80240CB4 8E720148 */ lw $s2, 0x148($s3) +/* 916A28 80240CB8 86440008 */ lh $a0, 8($s2) +/* 916A2C 80240CBC 0C00EABB */ jal get_npc_unsafe +/* 916A30 80240CC0 00A0882D */ daddu $s1, $a1, $zero +/* 916A34 80240CC4 0260202D */ daddu $a0, $s3, $zero +/* 916A38 80240CC8 8E70000C */ lw $s0, 0xc($s3) +/* 916A3C 80240CCC 0040A82D */ daddu $s5, $v0, $zero +/* 916A40 80240CD0 8E050000 */ lw $a1, ($s0) +/* 916A44 80240CD4 0C0B1EAF */ jal get_variable +/* 916A48 80240CD8 26100004 */ addiu $s0, $s0, 4 +/* 916A4C 80240CDC 0260202D */ daddu $a0, $s3, $zero +/* 916A50 80240CE0 8E050000 */ lw $a1, ($s0) +/* 916A54 80240CE4 0C0B1EAF */ jal get_variable +/* 916A58 80240CE8 0040A02D */ daddu $s4, $v0, $zero +/* 916A5C 80240CEC AE420094 */ sw $v0, 0x94($s2) +/* 916A60 80240CF0 AFA00010 */ sw $zero, 0x10($sp) +/* 916A64 80240CF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916A68 80240CF8 8C420030 */ lw $v0, 0x30($v0) +/* 916A6C 80240CFC AFA20014 */ sw $v0, 0x14($sp) +/* 916A70 80240D00 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916A74 80240D04 8C42001C */ lw $v0, 0x1c($v0) +/* 916A78 80240D08 AFA20018 */ sw $v0, 0x18($sp) +/* 916A7C 80240D0C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916A80 80240D10 8C420024 */ lw $v0, 0x24($v0) +/* 916A84 80240D14 AFA2001C */ sw $v0, 0x1c($sp) +/* 916A88 80240D18 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916A8C 80240D1C 8C420028 */ lw $v0, 0x28($v0) +/* 916A90 80240D20 AFA20020 */ sw $v0, 0x20($sp) +/* 916A94 80240D24 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916A98 80240D28 3C014220 */ lui $at, 0x4220 +/* 916A9C 80240D2C 44810000 */ mtc1 $at, $f0 +/* 916AA0 80240D30 8C42002C */ lw $v0, 0x2c($v0) +/* 916AA4 80240D34 27B00010 */ addiu $s0, $sp, 0x10 +/* 916AA8 80240D38 E7A00028 */ swc1 $f0, 0x28($sp) +/* 916AAC 80240D3C A7A0002C */ sh $zero, 0x2c($sp) +/* 916AB0 80240D40 12200012 */ beqz $s1, .L80240D8C +/* 916AB4 80240D44 AFA20024 */ sw $v0, 0x24($sp) +/* 916AB8 80240D48 AE600070 */ sw $zero, 0x70($s3) +/* 916ABC 80240D4C 8EA30000 */ lw $v1, ($s5) +/* 916AC0 80240D50 2402F7FF */ addiu $v0, $zero, -0x801 +/* 916AC4 80240D54 A6A0008E */ sh $zero, 0x8e($s5) +/* 916AC8 80240D58 00621824 */ and $v1, $v1, $v0 +/* 916ACC 80240D5C AEA30000 */ sw $v1, ($s5) +/* 916AD0 80240D60 8E4200D0 */ lw $v0, 0xd0($s2) +/* 916AD4 80240D64 8C420034 */ lw $v0, 0x34($v0) +/* 916AD8 80240D68 54400005 */ bnel $v0, $zero, .L80240D80 +/* 916ADC 80240D6C 2402FDFF */ addiu $v0, $zero, -0x201 +/* 916AE0 80240D70 34620200 */ ori $v0, $v1, 0x200 +/* 916AE4 80240D74 2403FFF7 */ addiu $v1, $zero, -9 +/* 916AE8 80240D78 08090362 */ j .L80240D88 +/* 916AEC 80240D7C 00431024 */ and $v0, $v0, $v1 +.L80240D80: +/* 916AF0 80240D80 00621024 */ and $v0, $v1, $v0 +/* 916AF4 80240D84 34420008 */ ori $v0, $v0, 8 +.L80240D88: +/* 916AF8 80240D88 AEA20000 */ sw $v0, ($s5) +.L80240D8C: +/* 916AFC 80240D8C 8E4300B0 */ lw $v1, 0xb0($s2) +/* 916B00 80240D90 30620004 */ andi $v0, $v1, 4 +/* 916B04 80240D94 10400007 */ beqz $v0, .L80240DB4 +/* 916B08 80240D98 00000000 */ nop +/* 916B0C 80240D9C 824200B4 */ lb $v0, 0xb4($s2) +/* 916B10 80240DA0 14400086 */ bnez $v0, .L80240FBC +/* 916B14 80240DA4 0000102D */ daddu $v0, $zero, $zero +/* 916B18 80240DA8 2402FFFB */ addiu $v0, $zero, -5 +/* 916B1C 80240DAC 00621024 */ and $v0, $v1, $v0 +/* 916B20 80240DB0 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240DB4: +/* 916B24 80240DB4 8E620070 */ lw $v0, 0x70($s3) +/* 916B28 80240DB8 2442FFF4 */ addiu $v0, $v0, -0xc +/* 916B2C 80240DBC 2C420003 */ sltiu $v0, $v0, 3 +/* 916B30 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* 916B34 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* 916B38 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 916B3C 80240DCC 0C090000 */ jal func_80240000 +/* 916B40 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* 916B44 80240DD4 10400002 */ beqz $v0, .L80240DE0 +/* 916B48 80240DD8 24020014 */ addiu $v0, $zero, 0x14 +/* 916B4C 80240DDC AE620070 */ sw $v0, 0x70($s3) +.L80240DE0: +/* 916B50 80240DE0 8E630070 */ lw $v1, 0x70($s3) +/* 916B54 80240DE4 2C620035 */ sltiu $v0, $v1, 0x35 +/* 916B58 80240DE8 10400073 */ beqz $v0, .L80240FB8 +/* 916B5C 80240DEC 00031080 */ sll $v0, $v1, 2 +/* 916B60 80240DF0 3C018024 */ lui $at, 0x8024 +/* 916B64 80240DF4 00220821 */ addu $at, $at, $v0 +/* 916B68 80240DF8 8C222D68 */ lw $v0, 0x2d68($at) +/* 916B6C 80240DFC 00400008 */ jr $v0 +/* 916B70 80240E00 00000000 */ nop +/* 916B74 80240E04 0260202D */ daddu $a0, $s3, $zero +/* 916B78 80240E08 0280282D */ daddu $a1, $s4, $zero +/* 916B7C 80240E0C 0C090058 */ jal func_80240160 +/* 916B80 80240E10 0200302D */ daddu $a2, $s0, $zero +/* 916B84 80240E14 0260202D */ daddu $a0, $s3, $zero +/* 916B88 80240E18 0280282D */ daddu $a1, $s4, $zero +/* 916B8C 80240E1C 0C090075 */ jal func_802401D4 +/* 916B90 80240E20 0200302D */ daddu $a2, $s0, $zero +/* 916B94 80240E24 8E630070 */ lw $v1, 0x70($s3) +/* 916B98 80240E28 24020002 */ addiu $v0, $zero, 2 +/* 916B9C 80240E2C 14620063 */ bne $v1, $v0, .L80240FBC +/* 916BA0 80240E30 0000102D */ daddu $v0, $zero, $zero +/* 916BA4 80240E34 0260202D */ daddu $a0, $s3, $zero +/* 916BA8 80240E38 0280282D */ daddu $a1, $s4, $zero +/* 916BAC 80240E3C 0C0900C1 */ jal func_80240304 +/* 916BB0 80240E40 0200302D */ daddu $a2, $s0, $zero +/* 916BB4 80240E44 8E630070 */ lw $v1, 0x70($s3) +/* 916BB8 80240E48 24020003 */ addiu $v0, $zero, 3 +/* 916BBC 80240E4C 1462005B */ bne $v1, $v0, .L80240FBC +/* 916BC0 80240E50 0000102D */ daddu $v0, $zero, $zero +/* 916BC4 80240E54 0260202D */ daddu $a0, $s3, $zero +/* 916BC8 80240E58 0280282D */ daddu $a1, $s4, $zero +/* 916BCC 80240E5C 0C0900E8 */ jal func_802403A0 +/* 916BD0 80240E60 0200302D */ daddu $a2, $s0, $zero +/* 916BD4 80240E64 8E630070 */ lw $v1, 0x70($s3) +/* 916BD8 80240E68 24020004 */ addiu $v0, $zero, 4 +/* 916BDC 80240E6C 14620053 */ bne $v1, $v0, .L80240FBC +/* 916BE0 80240E70 0000102D */ daddu $v0, $zero, $zero +/* 916BE4 80240E74 0260202D */ daddu $a0, $s3, $zero +/* 916BE8 80240E78 0280282D */ daddu $a1, $s4, $zero +/* 916BEC 80240E7C 0C09010A */ jal func_80240428 +/* 916BF0 80240E80 0200302D */ daddu $a2, $s0, $zero +/* 916BF4 80240E84 0260202D */ daddu $a0, $s3, $zero +/* 916BF8 80240E88 0280282D */ daddu $a1, $s4, $zero +/* 916BFC 80240E8C 0C090134 */ jal func_802404D0 +/* 916C00 80240E90 0200302D */ daddu $a2, $s0, $zero +/* 916C04 80240E94 080903EF */ j .L80240FBC +/* 916C08 80240E98 0000102D */ daddu $v0, $zero, $zero +/* 916C0C 80240E9C 0260202D */ daddu $a0, $s3, $zero +/* 916C10 80240EA0 0280282D */ daddu $a1, $s4, $zero +/* 916C14 80240EA4 0C0127DF */ jal func_80049F7C +/* 916C18 80240EA8 0200302D */ daddu $a2, $s0, $zero +/* 916C1C 80240EAC 8E630070 */ lw $v1, 0x70($s3) +/* 916C20 80240EB0 2402000D */ addiu $v0, $zero, 0xd +/* 916C24 80240EB4 14620041 */ bne $v1, $v0, .L80240FBC +/* 916C28 80240EB8 0000102D */ daddu $v0, $zero, $zero +/* 916C2C 80240EBC 0260202D */ daddu $a0, $s3, $zero +/* 916C30 80240EC0 0280282D */ daddu $a1, $s4, $zero +/* 916C34 80240EC4 0C012849 */ jal func_8004A124 +/* 916C38 80240EC8 0200302D */ daddu $a2, $s0, $zero +/* 916C3C 80240ECC 8E630070 */ lw $v1, 0x70($s3) +/* 916C40 80240ED0 2402000E */ addiu $v0, $zero, 0xe +/* 916C44 80240ED4 14620039 */ bne $v1, $v0, .L80240FBC +/* 916C48 80240ED8 0000102D */ daddu $v0, $zero, $zero +/* 916C4C 80240EDC 96A2008E */ lhu $v0, 0x8e($s5) +/* 916C50 80240EE0 2442FFFF */ addiu $v0, $v0, -1 +/* 916C54 80240EE4 A6A2008E */ sh $v0, 0x8e($s5) +/* 916C58 80240EE8 00021400 */ sll $v0, $v0, 0x10 +/* 916C5C 80240EEC 14400033 */ bnez $v0, .L80240FBC +/* 916C60 80240EF0 0000102D */ daddu $v0, $zero, $zero +/* 916C64 80240EF4 24020028 */ addiu $v0, $zero, 0x28 +/* 916C68 80240EF8 080903EE */ j .L80240FB8 +/* 916C6C 80240EFC AE620070 */ sw $v0, 0x70($s3) +/* 916C70 80240F00 0260202D */ daddu $a0, $s3, $zero +/* 916C74 80240F04 0280282D */ daddu $a1, $s4, $zero +/* 916C78 80240F08 0C090191 */ jal func_80240644 +/* 916C7C 80240F0C 0200302D */ daddu $a2, $s0, $zero +/* 916C80 80240F10 0260202D */ daddu $a0, $s3, $zero +/* 916C84 80240F14 0280282D */ daddu $a1, $s4, $zero +/* 916C88 80240F18 0C0901A5 */ jal func_80240694 +/* 916C8C 80240F1C 0200302D */ daddu $a2, $s0, $zero +/* 916C90 80240F20 080903EF */ j .L80240FBC +/* 916C94 80240F24 0000102D */ daddu $v0, $zero, $zero +/* 916C98 80240F28 0260202D */ daddu $a0, $s3, $zero +/* 916C9C 80240F2C 0280282D */ daddu $a1, $s4, $zero +/* 916CA0 80240F30 0C09020D */ jal func_80240834 +/* 916CA4 80240F34 0200302D */ daddu $a2, $s0, $zero +/* 916CA8 80240F38 080903EF */ j .L80240FBC +/* 916CAC 80240F3C 0000102D */ daddu $v0, $zero, $zero +/* 916CB0 80240F40 0260202D */ daddu $a0, $s3, $zero +/* 916CB4 80240F44 0280282D */ daddu $a1, $s4, $zero +/* 916CB8 80240F48 0C090261 */ jal func_80240984 +/* 916CBC 80240F4C 0200302D */ daddu $a2, $s0, $zero +/* 916CC0 80240F50 8E630070 */ lw $v1, 0x70($s3) +/* 916CC4 80240F54 24020029 */ addiu $v0, $zero, 0x29 +/* 916CC8 80240F58 14620018 */ bne $v1, $v0, .L80240FBC +/* 916CCC 80240F5C 0000102D */ daddu $v0, $zero, $zero +/* 916CD0 80240F60 0260202D */ daddu $a0, $s3, $zero +/* 916CD4 80240F64 0280282D */ daddu $a1, $s4, $zero +/* 916CD8 80240F68 0C09028C */ jal func_80240A30 +/* 916CDC 80240F6C 0200302D */ daddu $a2, $s0, $zero +/* 916CE0 80240F70 080903EF */ j .L80240FBC +/* 916CE4 80240F74 0000102D */ daddu $v0, $zero, $zero +/* 916CE8 80240F78 0260202D */ daddu $a0, $s3, $zero +/* 916CEC 80240F7C 0280282D */ daddu $a1, $s4, $zero +/* 916CF0 80240F80 0C0902DA */ jal func_80240B68 +/* 916CF4 80240F84 0200302D */ daddu $a2, $s0, $zero +/* 916CF8 80240F88 0260202D */ daddu $a0, $s3, $zero +/* 916CFC 80240F8C 0280282D */ daddu $a1, $s4, $zero +/* 916D00 80240F90 0C0902F9 */ jal func_80240BE4 +/* 916D04 80240F94 0200302D */ daddu $a2, $s0, $zero +/* 916D08 80240F98 8E630070 */ lw $v1, 0x70($s3) +/* 916D0C 80240F9C 24020034 */ addiu $v0, $zero, 0x34 +/* 916D10 80240FA0 14620006 */ bne $v1, $v0, .L80240FBC +/* 916D14 80240FA4 0000102D */ daddu $v0, $zero, $zero +/* 916D18 80240FA8 0260202D */ daddu $a0, $s3, $zero +/* 916D1C 80240FAC 0280282D */ daddu $a1, $s4, $zero +/* 916D20 80240FB0 0C090313 */ jal func_80240C4C +/* 916D24 80240FB4 0200302D */ daddu $a2, $s0, $zero +.L80240FB8: +/* 916D28 80240FB8 0000102D */ daddu $v0, $zero, $zero +.L80240FBC: +/* 916D2C 80240FBC 8FBF0048 */ lw $ra, 0x48($sp) +/* 916D30 80240FC0 8FB50044 */ lw $s5, 0x44($sp) +/* 916D34 80240FC4 8FB40040 */ lw $s4, 0x40($sp) +/* 916D38 80240FC8 8FB3003C */ lw $s3, 0x3c($sp) +/* 916D3C 80240FCC 8FB20038 */ lw $s2, 0x38($sp) +/* 916D40 80240FD0 8FB10034 */ lw $s1, 0x34($sp) +/* 916D44 80240FD4 8FB00030 */ lw $s0, 0x30($sp) +/* 916D48 80240FD8 03E00008 */ jr $ra +/* 916D4C 80240FDC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80240FE0.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240FE0.s new file mode 100644 index 0000000000..2890bb5754 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80240FE0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0 +/* 916D50 80240FE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 916D54 80240FE4 AFB00010 */ sw $s0, 0x10($sp) +/* 916D58 80240FE8 3C108024 */ lui $s0, 0x8024 +/* 916D5C 80240FEC 26101DA8 */ addiu $s0, $s0, 0x1da8 +/* 916D60 80240FF0 AFBF0018 */ sw $ra, 0x18($sp) +/* 916D64 80240FF4 AFB10014 */ sw $s1, 0x14($sp) +/* 916D68 80240FF8 8E020000 */ lw $v0, ($s0) +/* 916D6C 80240FFC 14400010 */ bnez $v0, .L80241040 +/* 916D70 80241000 0080882D */ daddu $s1, $a0, $zero +/* 916D74 80241004 0C00AB39 */ jal heap_malloc +/* 916D78 80241008 24040040 */ addiu $a0, $zero, 0x40 +/* 916D7C 8024100C AE020000 */ sw $v0, ($s0) +/* 916D80 80241010 0000182D */ daddu $v1, $zero, $zero +/* 916D84 80241014 0040282D */ daddu $a1, $v0, $zero +/* 916D88 80241018 0220202D */ daddu $a0, $s1, $zero +.L8024101C: +/* 916D8C 8024101C 8C820084 */ lw $v0, 0x84($a0) +/* 916D90 80241020 24840004 */ addiu $a0, $a0, 4 +/* 916D94 80241024 24630001 */ addiu $v1, $v1, 1 +/* 916D98 80241028 ACA20000 */ sw $v0, ($a1) +/* 916D9C 8024102C 28620010 */ slti $v0, $v1, 0x10 +/* 916DA0 80241030 1440FFFA */ bnez $v0, .L8024101C +/* 916DA4 80241034 24A50004 */ addiu $a1, $a1, 4 +/* 916DA8 80241038 0809041F */ j .L8024107C +/* 916DAC 8024103C 00000000 */ nop +.L80241040: +/* 916DB0 80241040 0000182D */ daddu $v1, $zero, $zero +/* 916DB4 80241044 0040282D */ daddu $a1, $v0, $zero +/* 916DB8 80241048 0220202D */ daddu $a0, $s1, $zero +.L8024104C: +/* 916DBC 8024104C 8CA20000 */ lw $v0, ($a1) +/* 916DC0 80241050 24A50004 */ addiu $a1, $a1, 4 +/* 916DC4 80241054 24630001 */ addiu $v1, $v1, 1 +/* 916DC8 80241058 AC820084 */ sw $v0, 0x84($a0) +/* 916DCC 8024105C 28620010 */ slti $v0, $v1, 0x10 +/* 916DD0 80241060 1440FFFA */ bnez $v0, .L8024104C +/* 916DD4 80241064 24840004 */ addiu $a0, $a0, 4 +/* 916DD8 80241068 3C108024 */ lui $s0, 0x8024 +/* 916DDC 8024106C 26101DA8 */ addiu $s0, $s0, 0x1da8 +/* 916DE0 80241070 0C00AB4B */ jal heap_free +/* 916DE4 80241074 8E040000 */ lw $a0, ($s0) +/* 916DE8 80241078 AE000000 */ sw $zero, ($s0) +.L8024107C: +/* 916DEC 8024107C 8FBF0018 */ lw $ra, 0x18($sp) +/* 916DF0 80241080 8FB10014 */ lw $s1, 0x14($sp) +/* 916DF4 80241084 8FB00010 */ lw $s0, 0x10($sp) +/* 916DF8 80241088 24020002 */ addiu $v0, $zero, 2 +/* 916DFC 8024108C 03E00008 */ jr $ra +/* 916E00 80241090 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_02/func_80241094.s b/asm/nonmatchings/world/area_iwa/iwa_02/func_80241094.s new file mode 100644 index 0000000000..76882c5333 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_02/func_80241094.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241094 +/* 916E04 80241094 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 916E08 80241098 AFB00010 */ sw $s0, 0x10($sp) +/* 916E0C 8024109C 0080802D */ daddu $s0, $a0, $zero +/* 916E10 802410A0 AFBF0018 */ sw $ra, 0x18($sp) +/* 916E14 802410A4 AFB10014 */ sw $s1, 0x14($sp) +/* 916E18 802410A8 8E02000C */ lw $v0, 0xc($s0) +/* 916E1C 802410AC 8C510000 */ lw $s1, ($v0) +/* 916E20 802410B0 0C0B1EAF */ jal get_variable +/* 916E24 802410B4 0220282D */ daddu $a1, $s1, $zero +/* 916E28 802410B8 3C03FFF0 */ lui $v1, 0xfff0 +/* 916E2C 802410BC 3463FFFF */ ori $v1, $v1, 0xffff +/* 916E30 802410C0 0200202D */ daddu $a0, $s0, $zero +/* 916E34 802410C4 00431024 */ and $v0, $v0, $v1 +/* 916E38 802410C8 00021140 */ sll $v0, $v0, 5 +/* 916E3C 802410CC 3C068008 */ lui $a2, %hi(gItemTable) +/* 916E40 802410D0 00C23021 */ addu $a2, $a2, $v0 +/* 916E44 802410D4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 916E48 802410D8 0C0B2026 */ jal set_variable +/* 916E4C 802410DC 0220282D */ daddu $a1, $s1, $zero +/* 916E50 802410E0 8FBF0018 */ lw $ra, 0x18($sp) +/* 916E54 802410E4 8FB10014 */ lw $s1, 0x14($sp) +/* 916E58 802410E8 8FB00010 */ lw $s0, 0x10($sp) +/* 916E5C 802410EC 24020002 */ addiu $v0, $zero, 2 +/* 916E60 802410F0 03E00008 */ jr $ra +/* 916E64 802410F4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 916E68 802410F8 00000000 */ nop +/* 916E6C 802410FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240000_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240000_918BB0.s new file mode 100644 index 0000000000..a5d8562079 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240000_918BB0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_918BB0 +/* 918BB0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 918BB4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 918BB8 80240008 3C108024 */ lui $s0, 0x8024 +/* 918BBC 8024000C 26101530 */ addiu $s0, $s0, 0x1530 +/* 918BC0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 918BC4 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 918BC8 80240018 8E020000 */ lw $v0, ($s0) +/* 918BCC 8024001C 14400010 */ bnez $v0, .L80240060 +/* 918BD0 80240020 0080882D */ daddu $s1, $a0, $zero +/* 918BD4 80240024 0C00AB39 */ jal heap_malloc +/* 918BD8 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* 918BDC 8024002C AE020000 */ sw $v0, ($s0) +/* 918BE0 80240030 0000182D */ daddu $v1, $zero, $zero +/* 918BE4 80240034 0040282D */ daddu $a1, $v0, $zero +/* 918BE8 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* 918BEC 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* 918BF0 80240040 24840004 */ addiu $a0, $a0, 4 +/* 918BF4 80240044 24630001 */ addiu $v1, $v1, 1 +/* 918BF8 80240048 ACA20000 */ sw $v0, ($a1) +/* 918BFC 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* 918C00 80240050 1440FFFA */ bnez $v0, .L8024003C +/* 918C04 80240054 24A50004 */ addiu $a1, $a1, 4 +/* 918C08 80240058 08090027 */ j .L8024009C +/* 918C0C 8024005C 00000000 */ nop +.L80240060: +/* 918C10 80240060 0000182D */ daddu $v1, $zero, $zero +/* 918C14 80240064 0040282D */ daddu $a1, $v0, $zero +/* 918C18 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* 918C1C 8024006C 8CA20000 */ lw $v0, ($a1) +/* 918C20 80240070 24A50004 */ addiu $a1, $a1, 4 +/* 918C24 80240074 24630001 */ addiu $v1, $v1, 1 +/* 918C28 80240078 AC820084 */ sw $v0, 0x84($a0) +/* 918C2C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* 918C30 80240080 1440FFFA */ bnez $v0, .L8024006C +/* 918C34 80240084 24840004 */ addiu $a0, $a0, 4 +/* 918C38 80240088 3C108024 */ lui $s0, 0x8024 +/* 918C3C 8024008C 26101530 */ addiu $s0, $s0, 0x1530 +/* 918C40 80240090 0C00AB4B */ jal heap_free +/* 918C44 80240094 8E040000 */ lw $a0, ($s0) +/* 918C48 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* 918C4C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* 918C50 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* 918C54 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* 918C58 802400A8 24020002 */ addiu $v0, $zero, 2 +/* 918C5C 802400AC 03E00008 */ jr $ra +/* 918C60 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_802400B4_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_802400B4_918BB0.s new file mode 100644 index 0000000000..77bf9c3f90 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_802400B4_918BB0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_918C64 +/* 918C64 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 918C68 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* 918C6C 802400BC 0080802D */ daddu $s0, $a0, $zero +/* 918C70 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 918C74 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* 918C78 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* 918C7C 802400CC 8C510000 */ lw $s1, ($v0) +/* 918C80 802400D0 0C0B1EAF */ jal get_variable +/* 918C84 802400D4 0220282D */ daddu $a1, $s1, $zero +/* 918C88 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 918C8C 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 918C90 802400E0 0200202D */ daddu $a0, $s0, $zero +/* 918C94 802400E4 00431024 */ and $v0, $v0, $v1 +/* 918C98 802400E8 00021140 */ sll $v0, $v0, 5 +/* 918C9C 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 918CA0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* 918CA4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 918CA8 802400F8 0C0B2026 */ jal set_variable +/* 918CAC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* 918CB0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* 918CB4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* 918CB8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* 918CBC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* 918CC0 80240110 03E00008 */ jr $ra +/* 918CC4 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240118_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240118_918BB0.s new file mode 100644 index 0000000000..24597a62b0 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240118_918BB0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_918CC8 +/* 918CC8 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 918CCC 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* 918CD0 80240120 0080882D */ daddu $s1, $a0, $zero +/* 918CD4 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* 918CD8 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* 918CDC 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* 918CE0 80240130 8E240084 */ lw $a0, 0x84($s1) +/* 918CE4 80240134 0C04C3D6 */ jal get_item_entity +/* 918CE8 80240138 00A0802D */ daddu $s0, $a1, $zero +/* 918CEC 8024013C 12000005 */ beqz $s0, .L80240154 +/* 918CF0 80240140 0040902D */ daddu $s2, $v0, $zero +/* 918CF4 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* 918CF8 80240148 AE200074 */ sw $zero, 0x74($s1) +/* 918CFC 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* 918D00 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* 918D04 80240154 8E230074 */ lw $v1, 0x74($s1) +/* 918D08 80240158 10600005 */ beqz $v1, .L80240170 +/* 918D0C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* 918D10 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* 918D14 80240164 00000000 */ nop +/* 918D18 80240168 08090093 */ j .L8024024C +/* 918D1C 8024016C 00000000 */ nop +.L80240170: +/* 918D20 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* 918D24 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* 918D28 80240178 44810000 */ mtc1 $at, $f0 +/* 918D2C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* 918D30 80240180 46806320 */ cvt.s.w $f12, $f12 +/* 918D34 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* 918D38 80240188 00000000 */ nop +/* 918D3C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* 918D40 80240190 44810000 */ mtc1 $at, $f0 +/* 918D44 80240194 0C00A874 */ jal cos_rad +/* 918D48 80240198 46006303 */ div.s $f12, $f12, $f0 +/* 918D4C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* 918D50 802401A0 44811000 */ mtc1 $at, $f2 +/* 918D54 802401A4 00000000 */ nop +/* 918D58 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* 918D5C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* 918D60 802401B0 44810000 */ mtc1 $at, $f0 +/* 918D64 802401B4 00000000 */ nop +/* 918D68 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* 918D6C 802401BC 00000000 */ nop +/* 918D70 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 918D74 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* 918D78 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* 918D7C 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* 918D80 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* 918D84 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* 918D88 802401D8 24620001 */ addiu $v0, $v1, 1 +/* 918D8C 802401DC 24020001 */ addiu $v0, $zero, 1 +/* 918D90 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* 918D94 802401E4 08090093 */ j .L8024024C +/* 918D98 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* 918D9C 802401EC 08090093 */ j .L8024024C +/* 918DA0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* 918DA4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 918DA8 802401F8 0C00A8D4 */ jal cos_deg +/* 918DAC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* 918DB0 80240200 3C014040 */ lui $at, 0x4040 +/* 918DB4 80240204 44811000 */ mtc1 $at, $f2 +/* 918DB8 80240208 00000000 */ nop +/* 918DBC 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* 918DC0 80240210 00000000 */ nop +/* 918DC4 80240214 3C014188 */ lui $at, 0x4188 +/* 918DC8 80240218 44812000 */ mtc1 $at, $f4 +/* 918DCC 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* 918DD0 80240220 46041080 */ add.s $f2, $f2, $f4 +/* 918DD4 80240224 46001080 */ add.s $f2, $f2, $f0 +/* 918DD8 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* 918DDC 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* 918DE0 80240230 24420009 */ addiu $v0, $v0, 9 +/* 918DE4 80240234 44826000 */ mtc1 $v0, $f12 +/* 918DE8 80240238 00000000 */ nop +/* 918DEC 8024023C 0C00A6C9 */ jal clamp_angle +/* 918DF0 80240240 46806320 */ cvt.s.w $f12, $f12 +/* 918DF4 80240244 4600018D */ trunc.w.s $f6, $f0 +/* 918DF8 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* 918DFC 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* 918E00 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* 918E04 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* 918E08 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* 918E0C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* 918E10 80240260 03E00008 */ jr $ra +/* 918E14 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240268_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240268_918BB0.s new file mode 100644 index 0000000000..53b15ea335 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240268_918BB0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_918E18 +/* 918E18 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 918E1C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* 918E20 80240270 0080802D */ daddu $s0, $a0, $zero +/* 918E24 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* 918E28 80240278 8E02000C */ lw $v0, 0xc($s0) +/* 918E2C 8024027C 0C0B1EAF */ jal get_variable +/* 918E30 80240280 8C450000 */ lw $a1, ($v0) +/* 918E34 80240284 00021140 */ sll $v0, $v0, 5 +/* 918E38 80240288 AE000084 */ sw $zero, 0x84($s0) +/* 918E3C 8024028C 3C018008 */ lui $at, 0x8008 +/* 918E40 80240290 00220821 */ addu $at, $at, $v0 +/* 918E44 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* 918E48 80240298 30420040 */ andi $v0, $v0, 0x40 +/* 918E4C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* 918E50 802402A0 24020001 */ addiu $v0, $zero, 1 +/* 918E54 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* 918E58 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 918E5C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* 918E60 802402B0 24020002 */ addiu $v0, $zero, 2 +/* 918E64 802402B4 03E00008 */ jr $ra +/* 918E68 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_802402BC_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_802402BC_918BB0.s new file mode 100644 index 0000000000..0cc6c4b83c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_802402BC_918BB0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_918E6C +/* 918E6C 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 918E70 802402C0 3C028011 */ lui $v0, 0x8011 +/* 918E74 802402C4 8442EFE0 */ lh $v0, -0x1020($v0) +/* 918E78 802402C8 3C014069 */ lui $at, 0x4069 +/* 918E7C 802402CC 44810800 */ mtc1 $at, $f1 +/* 918E80 802402D0 44800000 */ mtc1 $zero, $f0 +/* 918E84 802402D4 2406FFFF */ addiu $a2, $zero, -1 +/* 918E88 802402D8 44821000 */ mtc1 $v0, $f2 +/* 918E8C 802402DC 00000000 */ nop +/* 918E90 802402E0 468010A1 */ cvt.d.w $f2, $f2 +/* 918E94 802402E4 4622003C */ c.lt.d $f0, $f2 +/* 918E98 802402E8 00000000 */ nop +/* 918E9C 802402EC 45000002 */ bc1f .L802402F8 +/* 918EA0 802402F0 AFBF0010 */ sw $ra, 0x10($sp) +/* 918EA4 802402F4 0000302D */ daddu $a2, $zero, $zero +.L802402F8: +/* 918EA8 802402F8 3C014044 */ lui $at, 0x4044 +/* 918EAC 802402FC 44810800 */ mtc1 $at, $f1 +/* 918EB0 80240300 44800000 */ mtc1 $zero, $f0 +/* 918EB4 80240304 00000000 */ nop +/* 918EB8 80240308 4620103C */ c.lt.d $f2, $f0 +/* 918EBC 8024030C 00000000 */ nop +/* 918EC0 80240310 45030001 */ bc1tl .L80240318 +/* 918EC4 80240314 24060001 */ addiu $a2, $zero, 1 +.L80240318: +/* 918EC8 80240318 04C00004 */ bltz $a2, .L8024032C +/* 918ECC 8024031C 00000000 */ nop +/* 918ED0 80240320 3C05FD05 */ lui $a1, 0xfd05 +/* 918ED4 80240324 0C0B2026 */ jal set_variable +/* 918ED8 80240328 34A50F89 */ ori $a1, $a1, 0xf89 +.L8024032C: +/* 918EDC 8024032C 8FBF0010 */ lw $ra, 0x10($sp) +/* 918EE0 80240330 0000102D */ daddu $v0, $zero, $zero +/* 918EE4 80240334 03E00008 */ jr $ra +/* 918EE8 80240338 27BD0018 */ addiu $sp, $sp, 0x18 +/* 918EEC 8024033C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240340_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240340_918BB0.s new file mode 100644 index 0000000000..3790724b68 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240340_918BB0.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_918EF0 +/* 918EF0 80240340 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 918EF4 80240344 AFBF001C */ sw $ra, 0x1c($sp) +/* 918EF8 80240348 AFB20018 */ sw $s2, 0x18($sp) +/* 918EFC 8024034C AFB10014 */ sw $s1, 0x14($sp) +/* 918F00 80240350 AFB00010 */ sw $s0, 0x10($sp) +/* 918F04 80240354 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 918F08 80240358 8C900148 */ lw $s0, 0x148($a0) +/* 918F0C 8024035C 86040008 */ lh $a0, 8($s0) +/* 918F10 80240360 3C014387 */ lui $at, 0x4387 +/* 918F14 80240364 4481A000 */ mtc1 $at, $f20 +/* 918F18 80240368 0C00EABB */ jal get_npc_unsafe +/* 918F1C 8024036C 00A0882D */ daddu $s1, $a1, $zero +/* 918F20 80240370 0200202D */ daddu $a0, $s0, $zero +/* 918F24 80240374 8E26000C */ lw $a2, 0xc($s1) +/* 918F28 80240378 8E270010 */ lw $a3, 0x10($s1) +/* 918F2C 8024037C 0040882D */ daddu $s1, $v0, $zero +/* 918F30 80240380 3C03800B */ lui $v1, %hi(gCameras) +/* 918F34 80240384 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 918F38 80240388 3C02800A */ lui $v0, 0x800a +/* 918F3C 8024038C 8442A634 */ lh $v0, -0x59cc($v0) +/* 918F40 80240390 0000282D */ daddu $a1, $zero, $zero +/* 918F44 80240394 00028080 */ sll $s0, $v0, 2 +/* 918F48 80240398 02028021 */ addu $s0, $s0, $v0 +/* 918F4C 8024039C 00108080 */ sll $s0, $s0, 2 +/* 918F50 802403A0 02028023 */ subu $s0, $s0, $v0 +/* 918F54 802403A4 001010C0 */ sll $v0, $s0, 3 +/* 918F58 802403A8 02028021 */ addu $s0, $s0, $v0 +/* 918F5C 802403AC 001080C0 */ sll $s0, $s0, 3 +/* 918F60 802403B0 0C0124FB */ jal func_800493EC +/* 918F64 802403B4 02038021 */ addu $s0, $s0, $v1 +/* 918F68 802403B8 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 918F6C 802403BC C62E000C */ lwc1 $f14, 0xc($s1) +/* 918F70 802403C0 0C00A70A */ jal get_clamped_angle_diff +/* 918F74 802403C4 0002802B */ sltu $s0, $zero, $v0 +/* 918F78 802403C8 0C00A6C9 */ jal clamp_angle +/* 918F7C 802403CC 46000306 */ mov.s $f12, $f0 +/* 918F80 802403D0 3C018024 */ lui $at, 0x8024 +/* 918F84 802403D4 D4222C30 */ ldc1 $f2, 0x2c30($at) +/* 918F88 802403D8 46000021 */ cvt.d.s $f0, $f0 +/* 918F8C 802403DC 4622003C */ c.lt.d $f0, $f2 +/* 918F90 802403E0 00000000 */ nop +/* 918F94 802403E4 45000003 */ bc1f .L802403F4 +/* 918F98 802403E8 00000000 */ nop +/* 918F9C 802403EC 3C0142B4 */ lui $at, 0x42b4 +/* 918FA0 802403F0 4481A000 */ mtc1 $at, $f20 +.L802403F4: +/* 918FA4 802403F4 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 918FA8 802403F8 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 918FAC 802403FC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 918FB0 80240400 8E420000 */ lw $v0, ($s2) +/* 918FB4 80240404 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 918FB8 80240408 8C460028 */ lw $a2, 0x28($v0) +/* 918FBC 8024040C 0C00A720 */ jal atan2 +/* 918FC0 80240410 8C470030 */ lw $a3, 0x30($v0) +/* 918FC4 80240414 4600A306 */ mov.s $f12, $f20 +/* 918FC8 80240418 0C00A70A */ jal get_clamped_angle_diff +/* 918FCC 8024041C 46000386 */ mov.s $f14, $f0 +/* 918FD0 80240420 46000005 */ abs.s $f0, $f0 +/* 918FD4 80240424 3C018024 */ lui $at, 0x8024 +/* 918FD8 80240428 D4222C38 */ ldc1 $f2, 0x2c38($at) +/* 918FDC 8024042C 46000021 */ cvt.d.s $f0, $f0 +/* 918FE0 80240430 4620103C */ c.lt.d $f2, $f0 +/* 918FE4 80240434 00000000 */ nop +/* 918FE8 80240438 45030001 */ bc1tl .L80240440 +/* 918FEC 8024043C 0000802D */ daddu $s0, $zero, $zero +.L80240440: +/* 918FF0 80240440 8E420000 */ lw $v0, ($s2) +/* 918FF4 80240444 C620003C */ lwc1 $f0, 0x3c($s1) +/* 918FF8 80240448 C442002C */ lwc1 $f2, 0x2c($v0) +/* 918FFC 8024044C 46020001 */ sub.s $f0, $f0, $f2 +/* 919000 80240450 3C014220 */ lui $at, 0x4220 +/* 919004 80240454 44811000 */ mtc1 $at, $f2 +/* 919008 80240458 46000005 */ abs.s $f0, $f0 +/* 91900C 8024045C 4600103E */ c.le.s $f2, $f0 +/* 919010 80240460 00000000 */ nop +/* 919014 80240464 45030001 */ bc1tl .L8024046C +/* 919018 80240468 0000802D */ daddu $s0, $zero, $zero +.L8024046C: +/* 91901C 8024046C 3C038011 */ lui $v1, 0x8011 +/* 919020 80240470 8063EBB3 */ lb $v1, -0x144d($v1) +/* 919024 80240474 24020009 */ addiu $v0, $zero, 9 +/* 919028 80240478 50620001 */ beql $v1, $v0, .L80240480 +/* 91902C 8024047C 0000802D */ daddu $s0, $zero, $zero +.L80240480: +/* 919030 80240480 0200102D */ daddu $v0, $s0, $zero +/* 919034 80240484 8FBF001C */ lw $ra, 0x1c($sp) +/* 919038 80240488 8FB20018 */ lw $s2, 0x18($sp) +/* 91903C 8024048C 8FB10014 */ lw $s1, 0x14($sp) +/* 919040 80240490 8FB00010 */ lw $s0, 0x10($sp) +/* 919044 80240494 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 919048 80240498 03E00008 */ jr $ra +/* 91904C 8024049C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_802404A0_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_802404A0_918BB0.s new file mode 100644 index 0000000000..c2d4c49655 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_802404A0_918BB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A0_919050 +/* 919050 802404A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919054 802404A4 AFB10014 */ sw $s1, 0x14($sp) +/* 919058 802404A8 0080882D */ daddu $s1, $a0, $zero +/* 91905C 802404AC AFBF001C */ sw $ra, 0x1c($sp) +/* 919060 802404B0 AFB20018 */ sw $s2, 0x18($sp) +/* 919064 802404B4 AFB00010 */ sw $s0, 0x10($sp) +/* 919068 802404B8 8E320148 */ lw $s2, 0x148($s1) +/* 91906C 802404BC 0C00EABB */ jal get_npc_unsafe +/* 919070 802404C0 86440008 */ lh $a0, 8($s2) +/* 919074 802404C4 0040802D */ daddu $s0, $v0, $zero +/* 919078 802404C8 0C00EAFF */ jal disable_npc_shadow +/* 91907C 802404CC 0200202D */ daddu $a0, $s0, $zero +/* 919080 802404D0 24020016 */ addiu $v0, $zero, 0x16 +/* 919084 802404D4 A60200A8 */ sh $v0, 0xa8($s0) +/* 919088 802404D8 24020018 */ addiu $v0, $zero, 0x18 +/* 91908C 802404DC A60200A6 */ sh $v0, 0xa6($s0) +/* 919090 802404E0 AE200074 */ sw $zero, 0x74($s1) +/* 919094 802404E4 A600008E */ sh $zero, 0x8e($s0) +/* 919098 802404E8 8E4200CC */ lw $v0, 0xcc($s2) +/* 91909C 802404EC 8C420020 */ lw $v0, 0x20($v0) +/* 9190A0 802404F0 AE020028 */ sw $v0, 0x28($s0) +/* 9190A4 802404F4 24020001 */ addiu $v0, $zero, 1 +/* 9190A8 802404F8 AE220070 */ sw $v0, 0x70($s1) +/* 9190AC 802404FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 9190B0 80240500 8FB20018 */ lw $s2, 0x18($sp) +/* 9190B4 80240504 8FB10014 */ lw $s1, 0x14($sp) +/* 9190B8 80240508 8FB00010 */ lw $s0, 0x10($sp) +/* 9190BC 8024050C 03E00008 */ jr $ra +/* 9190C0 80240510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240514_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240514_918BB0.s new file mode 100644 index 0000000000..3e16c8bbad --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240514_918BB0.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240514_9190C4 +/* 9190C4 80240514 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9190C8 80240518 AFB3003C */ sw $s3, 0x3c($sp) +/* 9190CC 8024051C 0080982D */ daddu $s3, $a0, $zero +/* 9190D0 80240520 AFBF0044 */ sw $ra, 0x44($sp) +/* 9190D4 80240524 AFB40040 */ sw $s4, 0x40($sp) +/* 9190D8 80240528 AFB20038 */ sw $s2, 0x38($sp) +/* 9190DC 8024052C AFB10034 */ sw $s1, 0x34($sp) +/* 9190E0 80240530 AFB00030 */ sw $s0, 0x30($sp) +/* 9190E4 80240534 8E700148 */ lw $s0, 0x148($s3) +/* 9190E8 80240538 00A0902D */ daddu $s2, $a1, $zero +/* 9190EC 8024053C 86040008 */ lh $a0, 8($s0) +/* 9190F0 80240540 0C00EABB */ jal get_npc_unsafe +/* 9190F4 80240544 00C0A02D */ daddu $s4, $a2, $zero +/* 9190F8 80240548 8E630074 */ lw $v1, 0x74($s3) +/* 9190FC 8024054C 1C600032 */ bgtz $v1, .L80240618 +/* 919100 80240550 0040882D */ daddu $s1, $v0, $zero +/* 919104 80240554 8E420014 */ lw $v0, 0x14($s2) +/* 919108 80240558 AE620074 */ sw $v0, 0x74($s3) +/* 91910C 8024055C C640000C */ lwc1 $f0, 0xc($s2) +/* 919110 80240560 3C018024 */ lui $at, 0x8024 +/* 919114 80240564 D4222C40 */ ldc1 $f2, 0x2c40($at) +/* 919118 80240568 46000021 */ cvt.d.s $f0, $f0 +/* 91911C 8024056C 46220002 */ mul.d $f0, $f0, $f2 +/* 919120 80240570 00000000 */ nop +/* 919124 80240574 0280202D */ daddu $a0, $s4, $zero +/* 919128 80240578 AFA00010 */ sw $zero, 0x10($sp) +/* 91912C 8024057C 8E470010 */ lw $a3, 0x10($s2) +/* 919130 80240580 46200020 */ cvt.s.d $f0, $f0 +/* 919134 80240584 44060000 */ mfc1 $a2, $f0 +/* 919138 80240588 0C01242D */ jal func_800490B4 +/* 91913C 8024058C 0200282D */ daddu $a1, $s0, $zero +/* 919140 80240590 10400021 */ beqz $v0, .L80240618 +/* 919144 80240594 0000202D */ daddu $a0, $zero, $zero +/* 919148 80240598 0220282D */ daddu $a1, $s1, $zero +/* 91914C 8024059C 0000302D */ daddu $a2, $zero, $zero +/* 919150 802405A0 8E0200CC */ lw $v0, 0xcc($s0) +/* 919154 802405A4 3C013F80 */ lui $at, 0x3f80 +/* 919158 802405A8 44810000 */ mtc1 $at, $f0 +/* 91915C 802405AC 3C014000 */ lui $at, 0x4000 +/* 919160 802405B0 44811000 */ mtc1 $at, $f2 +/* 919164 802405B4 8C430024 */ lw $v1, 0x24($v0) +/* 919168 802405B8 862200A8 */ lh $v0, 0xa8($s1) +/* 91916C 802405BC 3C01C1A0 */ lui $at, 0xc1a0 +/* 919170 802405C0 44812000 */ mtc1 $at, $f4 +/* 919174 802405C4 44823000 */ mtc1 $v0, $f6 +/* 919178 802405C8 00000000 */ nop +/* 91917C 802405CC 468031A0 */ cvt.s.w $f6, $f6 +/* 919180 802405D0 44073000 */ mfc1 $a3, $f6 +/* 919184 802405D4 2402000F */ addiu $v0, $zero, 0xf +/* 919188 802405D8 AE230028 */ sw $v1, 0x28($s1) +/* 91918C 802405DC AFA2001C */ sw $v0, 0x1c($sp) +/* 919190 802405E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 919194 802405E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 919198 802405E8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 91919C 802405EC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9191A0 802405F0 0C01BFA4 */ jal fx_emote +/* 9191A4 802405F4 AFA20020 */ sw $v0, 0x20($sp) +/* 9191A8 802405F8 0220202D */ daddu $a0, $s1, $zero +/* 9191AC 802405FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9191B0 80240600 0C012530 */ jal func_800494C0 +/* 9191B4 80240604 3C060020 */ lui $a2, 0x20 +/* 9191B8 80240608 2402000C */ addiu $v0, $zero, 0xc +/* 9191BC 8024060C A622008E */ sh $v0, 0x8e($s1) +/* 9191C0 80240610 24020002 */ addiu $v0, $zero, 2 +/* 9191C4 80240614 AE620070 */ sw $v0, 0x70($s3) +.L80240618: +/* 9191C8 80240618 8E620074 */ lw $v0, 0x74($s3) +/* 9191CC 8024061C 2442FFFF */ addiu $v0, $v0, -1 +/* 9191D0 80240620 AE620074 */ sw $v0, 0x74($s3) +/* 9191D4 80240624 8FBF0044 */ lw $ra, 0x44($sp) +/* 9191D8 80240628 8FB40040 */ lw $s4, 0x40($sp) +/* 9191DC 8024062C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9191E0 80240630 8FB20038 */ lw $s2, 0x38($sp) +/* 9191E4 80240634 8FB10034 */ lw $s1, 0x34($sp) +/* 9191E8 80240638 8FB00030 */ lw $s0, 0x30($sp) +/* 9191EC 8024063C 03E00008 */ jr $ra +/* 9191F0 80240640 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240644_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240644_918BB0.s new file mode 100644 index 0000000000..de0c1f72b8 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240644_918BB0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_9191F4 +/* 9191F4 80240644 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9191F8 80240648 AFB20018 */ sw $s2, 0x18($sp) +/* 9191FC 8024064C 0080902D */ daddu $s2, $a0, $zero +/* 919200 80240650 AFBF001C */ sw $ra, 0x1c($sp) +/* 919204 80240654 AFB10014 */ sw $s1, 0x14($sp) +/* 919208 80240658 AFB00010 */ sw $s0, 0x10($sp) +/* 91920C 8024065C 8E510148 */ lw $s1, 0x148($s2) +/* 919210 80240660 0C00EABB */ jal get_npc_unsafe +/* 919214 80240664 86240008 */ lh $a0, 8($s1) +/* 919218 80240668 0040802D */ daddu $s0, $v0, $zero +/* 91921C 8024066C 9602008E */ lhu $v0, 0x8e($s0) +/* 919220 80240670 2442FFFF */ addiu $v0, $v0, -1 +/* 919224 80240674 A602008E */ sh $v0, 0x8e($s0) +/* 919228 80240678 00021400 */ sll $v0, $v0, 0x10 +/* 91922C 8024067C 1C400012 */ bgtz $v0, .L802406C8 +/* 919230 80240680 00000000 */ nop +/* 919234 80240684 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 919238 80240688 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91923C 8024068C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 919240 80240690 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 919244 80240694 8C460028 */ lw $a2, 0x28($v0) +/* 919248 80240698 0C00A720 */ jal atan2 +/* 91924C 8024069C 8C470030 */ lw $a3, 0x30($v0) +/* 919250 802406A0 0200202D */ daddu $a0, $s0, $zero +/* 919254 802406A4 0C00EAE8 */ jal enable_npc_shadow +/* 919258 802406A8 E600000C */ swc1 $f0, 0xc($s0) +/* 91925C 802406AC 8E2200CC */ lw $v0, 0xcc($s1) +/* 919260 802406B0 8C430028 */ lw $v1, 0x28($v0) +/* 919264 802406B4 24020008 */ addiu $v0, $zero, 8 +/* 919268 802406B8 A602008E */ sh $v0, 0x8e($s0) +/* 91926C 802406BC 24020003 */ addiu $v0, $zero, 3 +/* 919270 802406C0 AE030028 */ sw $v1, 0x28($s0) +/* 919274 802406C4 AE420070 */ sw $v0, 0x70($s2) +.L802406C8: +/* 919278 802406C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 91927C 802406CC 8FB20018 */ lw $s2, 0x18($sp) +/* 919280 802406D0 8FB10014 */ lw $s1, 0x14($sp) +/* 919284 802406D4 8FB00010 */ lw $s0, 0x10($sp) +/* 919288 802406D8 03E00008 */ jr $ra +/* 91928C 802406DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_802406E0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_802406E0.s new file mode 100644 index 0000000000..84a2cfca6e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_802406E0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0 +/* 919290 802406E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919294 802406E4 AFB10014 */ sw $s1, 0x14($sp) +/* 919298 802406E8 0080882D */ daddu $s1, $a0, $zero +/* 91929C 802406EC AFBF0018 */ sw $ra, 0x18($sp) +/* 9192A0 802406F0 AFB00010 */ sw $s0, 0x10($sp) +/* 9192A4 802406F4 8E220148 */ lw $v0, 0x148($s1) +/* 9192A8 802406F8 0C00EABB */ jal get_npc_unsafe +/* 9192AC 802406FC 84440008 */ lh $a0, 8($v0) +/* 9192B0 80240700 0040802D */ daddu $s0, $v0, $zero +/* 9192B4 80240704 9602008E */ lhu $v0, 0x8e($s0) +/* 9192B8 80240708 2442FFFF */ addiu $v0, $v0, -1 +/* 9192BC 8024070C A602008E */ sh $v0, 0x8e($s0) +/* 9192C0 80240710 00021400 */ sll $v0, $v0, 0x10 +/* 9192C4 80240714 1C40000F */ bgtz $v0, .L80240754 +/* 9192C8 80240718 00000000 */ nop +/* 9192CC 8024071C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9192D0 80240720 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9192D4 80240724 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9192D8 80240728 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9192DC 8024072C 8C460028 */ lw $a2, 0x28($v0) +/* 9192E0 80240730 0C00A720 */ jal atan2 +/* 9192E4 80240734 8C470030 */ lw $a3, 0x30($v0) +/* 9192E8 80240738 2402001A */ addiu $v0, $zero, 0x1a +/* 9192EC 8024073C A60200A8 */ sh $v0, 0xa8($s0) +/* 9192F0 80240740 24020018 */ addiu $v0, $zero, 0x18 +/* 9192F4 80240744 A60200A6 */ sh $v0, 0xa6($s0) +/* 9192F8 80240748 24020004 */ addiu $v0, $zero, 4 +/* 9192FC 8024074C E600000C */ swc1 $f0, 0xc($s0) +/* 919300 80240750 AE220070 */ sw $v0, 0x70($s1) +.L80240754: +/* 919304 80240754 8FBF0018 */ lw $ra, 0x18($sp) +/* 919308 80240758 8FB10014 */ lw $s1, 0x14($sp) +/* 91930C 8024075C 8FB00010 */ lw $s0, 0x10($sp) +/* 919310 80240760 03E00008 */ jr $ra +/* 919314 80240764 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240768.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240768.s new file mode 100644 index 0000000000..2a8f108fa3 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240768.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240768 +/* 919318 80240768 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91931C 8024076C AFB10014 */ sw $s1, 0x14($sp) +/* 919320 80240770 0080882D */ daddu $s1, $a0, $zero +/* 919324 80240774 AFBF001C */ sw $ra, 0x1c($sp) +/* 919328 80240778 AFB20018 */ sw $s2, 0x18($sp) +/* 91932C 8024077C AFB00010 */ sw $s0, 0x10($sp) +/* 919330 80240780 8E320148 */ lw $s2, 0x148($s1) +/* 919334 80240784 0C00EABB */ jal get_npc_unsafe +/* 919338 80240788 86440008 */ lh $a0, 8($s2) +/* 91933C 8024078C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 919340 80240790 0C00A67F */ jal rand_int +/* 919344 80240794 0040802D */ daddu $s0, $v0, $zero +/* 919348 80240798 C60C000C */ lwc1 $f12, 0xc($s0) +/* 91934C 8024079C 44820000 */ mtc1 $v0, $f0 +/* 919350 802407A0 00000000 */ nop +/* 919354 802407A4 46800020 */ cvt.s.w $f0, $f0 +/* 919358 802407A8 46006300 */ add.s $f12, $f12, $f0 +/* 91935C 802407AC 3C0142B4 */ lui $at, 0x42b4 +/* 919360 802407B0 44810000 */ mtc1 $at, $f0 +/* 919364 802407B4 0C00A6C9 */ jal clamp_angle +/* 919368 802407B8 46006301 */ sub.s $f12, $f12, $f0 +/* 91936C 802407BC E600000C */ swc1 $f0, 0xc($s0) +/* 919370 802407C0 8E4200CC */ lw $v0, 0xcc($s2) +/* 919374 802407C4 8C420000 */ lw $v0, ($v0) +/* 919378 802407C8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 91937C 802407CC 0C00A67F */ jal rand_int +/* 919380 802407D0 AE020028 */ sw $v0, 0x28($s0) +/* 919384 802407D4 00021FC2 */ srl $v1, $v0, 0x1f +/* 919388 802407D8 00431821 */ addu $v1, $v0, $v1 +/* 91938C 802407DC 00031843 */ sra $v1, $v1, 1 +/* 919390 802407E0 00031840 */ sll $v1, $v1, 1 +/* 919394 802407E4 00431023 */ subu $v0, $v0, $v1 +/* 919398 802407E8 24420002 */ addiu $v0, $v0, 2 +/* 91939C 802407EC AE220074 */ sw $v0, 0x74($s1) +/* 9193A0 802407F0 24020005 */ addiu $v0, $zero, 5 +/* 9193A4 802407F4 AE220070 */ sw $v0, 0x70($s1) +/* 9193A8 802407F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9193AC 802407FC 8FB20018 */ lw $s2, 0x18($sp) +/* 9193B0 80240800 8FB10014 */ lw $s1, 0x14($sp) +/* 9193B4 80240804 8FB00010 */ lw $s0, 0x10($sp) +/* 9193B8 80240808 03E00008 */ jr $ra +/* 9193BC 8024080C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240810_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240810_918BB0.s new file mode 100644 index 0000000000..4fdf15b106 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240810_918BB0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240810_9193C0 +/* 9193C0 80240810 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9193C4 80240814 AFB3003C */ sw $s3, 0x3c($sp) +/* 9193C8 80240818 0080982D */ daddu $s3, $a0, $zero +/* 9193CC 8024081C AFBF0040 */ sw $ra, 0x40($sp) +/* 9193D0 80240820 AFB20038 */ sw $s2, 0x38($sp) +/* 9193D4 80240824 AFB10034 */ sw $s1, 0x34($sp) +/* 9193D8 80240828 AFB00030 */ sw $s0, 0x30($sp) +/* 9193DC 8024082C 8E700148 */ lw $s0, 0x148($s3) +/* 9193E0 80240830 00A0902D */ daddu $s2, $a1, $zero +/* 9193E4 80240834 86040008 */ lh $a0, 8($s0) +/* 9193E8 80240838 0C00EABB */ jal get_npc_unsafe +/* 9193EC 8024083C 00C0882D */ daddu $s1, $a2, $zero +/* 9193F0 80240840 0220202D */ daddu $a0, $s1, $zero +/* 9193F4 80240844 0200282D */ daddu $a1, $s0, $zero +/* 9193F8 80240848 AFA00010 */ sw $zero, 0x10($sp) +/* 9193FC 8024084C 8E460024 */ lw $a2, 0x24($s2) +/* 919400 80240850 8E470028 */ lw $a3, 0x28($s2) +/* 919404 80240854 0C01242D */ jal func_800490B4 +/* 919408 80240858 0040802D */ daddu $s0, $v0, $zero +/* 91940C 8024085C 1040000B */ beqz $v0, .L8024088C +/* 919410 80240860 00000000 */ nop +/* 919414 80240864 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 919418 80240868 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91941C 8024086C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 919420 80240870 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 919424 80240874 8C460028 */ lw $a2, 0x28($v0) +/* 919428 80240878 0C00A720 */ jal atan2 +/* 91942C 8024087C 8C470030 */ lw $a3, 0x30($v0) +/* 919430 80240880 2402000C */ addiu $v0, $zero, 0xc +/* 919434 80240884 08090259 */ j .L80240964 +/* 919438 80240888 E600000C */ swc1 $f0, 0xc($s0) +.L8024088C: +/* 91943C 8024088C 9602008E */ lhu $v0, 0x8e($s0) +/* 919440 80240890 2442FFFF */ addiu $v0, $v0, -1 +/* 919444 80240894 A602008E */ sh $v0, 0x8e($s0) +/* 919448 80240898 00021400 */ sll $v0, $v0, 0x10 +/* 91944C 8024089C 1C400032 */ bgtz $v0, .L80240968 +/* 919450 802408A0 00000000 */ nop +/* 919454 802408A4 8E620074 */ lw $v0, 0x74($s3) +/* 919458 802408A8 2442FFFF */ addiu $v0, $v0, -1 +/* 91945C 802408AC 18400014 */ blez $v0, .L80240900 +/* 919460 802408B0 AE620074 */ sw $v0, 0x74($s3) +/* 919464 802408B4 C600000C */ lwc1 $f0, 0xc($s0) +/* 919468 802408B8 3C014334 */ lui $at, 0x4334 +/* 91946C 802408BC 44816000 */ mtc1 $at, $f12 +/* 919470 802408C0 0C00A6C9 */ jal clamp_angle +/* 919474 802408C4 460C0300 */ add.s $f12, $f0, $f12 +/* 919478 802408C8 E600000C */ swc1 $f0, 0xc($s0) +/* 91947C 802408CC 8E440008 */ lw $a0, 8($s2) +/* 919480 802408D0 000417C2 */ srl $v0, $a0, 0x1f +/* 919484 802408D4 00822021 */ addu $a0, $a0, $v0 +/* 919488 802408D8 00042043 */ sra $a0, $a0, 1 +/* 91948C 802408DC 0C00A67F */ jal rand_int +/* 919490 802408E0 24840001 */ addiu $a0, $a0, 1 +/* 919494 802408E4 8E430008 */ lw $v1, 8($s2) +/* 919498 802408E8 000327C2 */ srl $a0, $v1, 0x1f +/* 91949C 802408EC 00641821 */ addu $v1, $v1, $a0 +/* 9194A0 802408F0 00031843 */ sra $v1, $v1, 1 +/* 9194A4 802408F4 00621821 */ addu $v1, $v1, $v0 +/* 9194A8 802408F8 0809025A */ j .L80240968 +/* 9194AC 802408FC A603008E */ sh $v1, 0x8e($s0) +.L80240900: +/* 9194B0 80240900 24040002 */ addiu $a0, $zero, 2 +/* 9194B4 80240904 0200282D */ daddu $a1, $s0, $zero +/* 9194B8 80240908 0000302D */ daddu $a2, $zero, $zero +/* 9194BC 8024090C 860300A8 */ lh $v1, 0xa8($s0) +/* 9194C0 80240910 3C013F80 */ lui $at, 0x3f80 +/* 9194C4 80240914 44810000 */ mtc1 $at, $f0 +/* 9194C8 80240918 3C014000 */ lui $at, 0x4000 +/* 9194CC 8024091C 44811000 */ mtc1 $at, $f2 +/* 9194D0 80240920 3C01C1A0 */ lui $at, 0xc1a0 +/* 9194D4 80240924 44812000 */ mtc1 $at, $f4 +/* 9194D8 80240928 2402000C */ addiu $v0, $zero, 0xc +/* 9194DC 8024092C AFA2001C */ sw $v0, 0x1c($sp) +/* 9194E0 80240930 44833000 */ mtc1 $v1, $f6 +/* 9194E4 80240934 00000000 */ nop +/* 9194E8 80240938 468031A0 */ cvt.s.w $f6, $f6 +/* 9194EC 8024093C 44073000 */ mfc1 $a3, $f6 +/* 9194F0 80240940 27A20028 */ addiu $v0, $sp, 0x28 +/* 9194F4 80240944 AFA20020 */ sw $v0, 0x20($sp) +/* 9194F8 80240948 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9194FC 8024094C E7A20014 */ swc1 $f2, 0x14($sp) +/* 919500 80240950 0C01BFA4 */ jal fx_emote +/* 919504 80240954 E7A40018 */ swc1 $f4, 0x18($sp) +/* 919508 80240958 2402000F */ addiu $v0, $zero, 0xf +/* 91950C 8024095C A602008E */ sh $v0, 0x8e($s0) +/* 919510 80240960 24020028 */ addiu $v0, $zero, 0x28 +.L80240964: +/* 919514 80240964 AE620070 */ sw $v0, 0x70($s3) +.L80240968: +/* 919518 80240968 8FBF0040 */ lw $ra, 0x40($sp) +/* 91951C 8024096C 8FB3003C */ lw $s3, 0x3c($sp) +/* 919520 80240970 8FB20038 */ lw $s2, 0x38($sp) +/* 919524 80240974 8FB10034 */ lw $s1, 0x34($sp) +/* 919528 80240978 8FB00030 */ lw $s0, 0x30($sp) +/* 91952C 8024097C 03E00008 */ jr $ra +/* 919530 80240980 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240984_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240984_918BB0.s new file mode 100644 index 0000000000..e0a7c8441a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240984_918BB0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984_919534 +/* 919534 80240984 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919538 80240988 AFB10014 */ sw $s1, 0x14($sp) +/* 91953C 8024098C 0080882D */ daddu $s1, $a0, $zero +/* 919540 80240990 AFBF0018 */ sw $ra, 0x18($sp) +/* 919544 80240994 AFB00010 */ sw $s0, 0x10($sp) +/* 919548 80240998 8E300148 */ lw $s0, 0x148($s1) +/* 91954C 8024099C 0C00EABB */ jal get_npc_unsafe +/* 919550 802409A0 86040008 */ lh $a0, 8($s0) +/* 919554 802409A4 96030096 */ lhu $v1, 0x96($s0) +/* 919558 802409A8 A443008E */ sh $v1, 0x8e($v0) +/* 91955C 802409AC 8E0300CC */ lw $v1, 0xcc($s0) +/* 919560 802409B0 8C630034 */ lw $v1, 0x34($v1) +/* 919564 802409B4 AC430028 */ sw $v1, 0x28($v0) +/* 919568 802409B8 24020015 */ addiu $v0, $zero, 0x15 +/* 91956C 802409BC AE220070 */ sw $v0, 0x70($s1) +/* 919570 802409C0 8FBF0018 */ lw $ra, 0x18($sp) +/* 919574 802409C4 8FB10014 */ lw $s1, 0x14($sp) +/* 919578 802409C8 8FB00010 */ lw $s0, 0x10($sp) +/* 91957C 802409CC 03E00008 */ jr $ra +/* 919580 802409D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_802409D4.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_802409D4.s new file mode 100644 index 0000000000..2eab176081 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_802409D4.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D4 +/* 919584 802409D4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 919588 802409D8 AFB30024 */ sw $s3, 0x24($sp) +/* 91958C 802409DC 0080982D */ daddu $s3, $a0, $zero +/* 919590 802409E0 AFBF002C */ sw $ra, 0x2c($sp) +/* 919594 802409E4 AFB40028 */ sw $s4, 0x28($sp) +/* 919598 802409E8 AFB20020 */ sw $s2, 0x20($sp) +/* 91959C 802409EC AFB1001C */ sw $s1, 0x1c($sp) +/* 9195A0 802409F0 AFB00018 */ sw $s0, 0x18($sp) +/* 9195A4 802409F4 8E710148 */ lw $s1, 0x148($s3) +/* 9195A8 802409F8 86240008 */ lh $a0, 8($s1) +/* 9195AC 802409FC 0C00EABB */ jal get_npc_unsafe +/* 9195B0 80240A00 00A0A02D */ daddu $s4, $a1, $zero +/* 9195B4 80240A04 0040802D */ daddu $s0, $v0, $zero +/* 9195B8 80240A08 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 9195BC 80240A0C 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 9195C0 80240A10 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9195C4 80240A14 8E420000 */ lw $v0, ($s2) +/* 9195C8 80240A18 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9195CC 80240A1C 8C460028 */ lw $a2, 0x28($v0) +/* 9195D0 80240A20 0C00A720 */ jal atan2 +/* 9195D4 80240A24 8C470030 */ lw $a3, 0x30($v0) +/* 9195D8 80240A28 3C025555 */ lui $v0, 0x5555 +/* 9195DC 80240A2C 9603008E */ lhu $v1, 0x8e($s0) +/* 9195E0 80240A30 34425556 */ ori $v0, $v0, 0x5556 +/* 9195E4 80240A34 00031C00 */ sll $v1, $v1, 0x10 +/* 9195E8 80240A38 00032403 */ sra $a0, $v1, 0x10 +/* 9195EC 80240A3C 00820018 */ mult $a0, $v0 +/* 9195F0 80240A40 00031FC3 */ sra $v1, $v1, 0x1f +/* 9195F4 80240A44 00004010 */ mfhi $t0 +/* 9195F8 80240A48 01031823 */ subu $v1, $t0, $v1 +/* 9195FC 80240A4C 00031040 */ sll $v0, $v1, 1 +/* 919600 80240A50 00431021 */ addu $v0, $v0, $v1 +/* 919604 80240A54 00822023 */ subu $a0, $a0, $v0 +/* 919608 80240A58 00042400 */ sll $a0, $a0, 0x10 +/* 91960C 80240A5C 1480000C */ bnez $a0, .L80240A90 +/* 919610 80240A60 E600000C */ swc1 $f0, 0xc($s0) +/* 919614 80240A64 C6020040 */ lwc1 $f2, 0x40($s0) +/* 919618 80240A68 3C014000 */ lui $at, 0x4000 +/* 91961C 80240A6C 44810000 */ mtc1 $at, $f0 +/* 919620 80240A70 AFA00010 */ sw $zero, 0x10($sp) +/* 919624 80240A74 AFA00014 */ sw $zero, 0x14($sp) +/* 919628 80240A78 46001080 */ add.s $f2, $f2, $f0 +/* 91962C 80240A7C 8E06003C */ lw $a2, 0x3c($s0) +/* 919630 80240A80 8E050038 */ lw $a1, 0x38($s0) +/* 919634 80240A84 44071000 */ mfc1 $a3, $f2 +/* 919638 80240A88 0C01BECC */ jal fx_walk_normal +/* 91963C 80240A8C 24040002 */ addiu $a0, $zero, 2 +.L80240A90: +/* 919640 80240A90 9602008E */ lhu $v0, 0x8e($s0) +/* 919644 80240A94 2442FFFF */ addiu $v0, $v0, -1 +/* 919648 80240A98 A602008E */ sh $v0, 0x8e($s0) +/* 91964C 80240A9C 00021400 */ sll $v0, $v0, 0x10 +/* 919650 80240AA0 1C40002C */ bgtz $v0, .L80240B54 +/* 919654 80240AA4 00000000 */ nop +/* 919658 80240AA8 C6000038 */ lwc1 $f0, 0x38($s0) +/* 91965C 80240AAC 4600010D */ trunc.w.s $f4, $f0 +/* 919660 80240AB0 44022000 */ mfc1 $v0, $f4 +/* 919664 80240AB4 00000000 */ nop +/* 919668 80240AB8 A6220010 */ sh $v0, 0x10($s1) +/* 91966C 80240ABC C600003C */ lwc1 $f0, 0x3c($s0) +/* 919670 80240AC0 4600010D */ trunc.w.s $f4, $f0 +/* 919674 80240AC4 44022000 */ mfc1 $v0, $f4 +/* 919678 80240AC8 00000000 */ nop +/* 91967C 80240ACC A6220012 */ sh $v0, 0x12($s1) +/* 919680 80240AD0 C6000040 */ lwc1 $f0, 0x40($s0) +/* 919684 80240AD4 24020001 */ addiu $v0, $zero, 1 +/* 919688 80240AD8 A2220007 */ sb $v0, 7($s1) +/* 91968C 80240ADC 4600010D */ trunc.w.s $f4, $f0 +/* 919690 80240AE0 44022000 */ mfc1 $v0, $f4 +/* 919694 80240AE4 00000000 */ nop +/* 919698 80240AE8 A6220014 */ sh $v0, 0x14($s1) +/* 91969C 80240AEC C6800018 */ lwc1 $f0, 0x18($s4) +/* 9196A0 80240AF0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9196A4 80240AF4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9196A8 80240AF8 8E420000 */ lw $v0, ($s2) +/* 9196AC 80240AFC E6000018 */ swc1 $f0, 0x18($s0) +/* 9196B0 80240B00 8C460028 */ lw $a2, 0x28($v0) +/* 9196B4 80240B04 0C00A7B5 */ jal dist2D +/* 9196B8 80240B08 8C470030 */ lw $a3, 0x30($v0) +/* 9196BC 80240B0C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9196C0 80240B10 46020003 */ div.s $f0, $f0, $f2 +/* 9196C4 80240B14 3C018024 */ lui $at, 0x8024 +/* 9196C8 80240B18 D4222C48 */ ldc1 $f2, 0x2c48($at) +/* 9196CC 80240B1C 46000021 */ cvt.d.s $f0, $f0 +/* 9196D0 80240B20 46220000 */ add.d $f0, $f0, $f2 +/* 9196D4 80240B24 4620010D */ trunc.w.d $f4, $f0 +/* 9196D8 80240B28 44022000 */ mfc1 $v0, $f4 +/* 9196DC 80240B2C 00000000 */ nop +/* 9196E0 80240B30 A602008E */ sh $v0, 0x8e($s0) +/* 9196E4 80240B34 00021400 */ sll $v0, $v0, 0x10 +/* 9196E8 80240B38 00021403 */ sra $v0, $v0, 0x10 +/* 9196EC 80240B3C 2842000F */ slti $v0, $v0, 0xf +/* 9196F0 80240B40 10400002 */ beqz $v0, .L80240B4C +/* 9196F4 80240B44 2402000F */ addiu $v0, $zero, 0xf +/* 9196F8 80240B48 A602008E */ sh $v0, 0x8e($s0) +.L80240B4C: +/* 9196FC 80240B4C 24020016 */ addiu $v0, $zero, 0x16 +/* 919700 80240B50 AE620070 */ sw $v0, 0x70($s3) +.L80240B54: +/* 919704 80240B54 8FBF002C */ lw $ra, 0x2c($sp) +/* 919708 80240B58 8FB40028 */ lw $s4, 0x28($sp) +/* 91970C 80240B5C 8FB30024 */ lw $s3, 0x24($sp) +/* 919710 80240B60 8FB20020 */ lw $s2, 0x20($sp) +/* 919714 80240B64 8FB1001C */ lw $s1, 0x1c($sp) +/* 919718 80240B68 8FB00018 */ lw $s0, 0x18($sp) +/* 91971C 80240B6C 03E00008 */ jr $ra +/* 919720 80240B70 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240B74.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240B74.s new file mode 100644 index 0000000000..8475ed53d2 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240B74.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B74 +/* 919724 80240B74 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 919728 80240B78 AFB3003C */ sw $s3, 0x3c($sp) +/* 91972C 80240B7C 0080982D */ daddu $s3, $a0, $zero +/* 919730 80240B80 AFBF0040 */ sw $ra, 0x40($sp) +/* 919734 80240B84 AFB20038 */ sw $s2, 0x38($sp) +/* 919738 80240B88 AFB10034 */ sw $s1, 0x34($sp) +/* 91973C 80240B8C AFB00030 */ sw $s0, 0x30($sp) +/* 919740 80240B90 8E720148 */ lw $s2, 0x148($s3) +/* 919744 80240B94 0C00EABB */ jal get_npc_unsafe +/* 919748 80240B98 86440008 */ lh $a0, 8($s2) +/* 91974C 80240B9C 0040802D */ daddu $s0, $v0, $zero +/* 919750 80240BA0 0200202D */ daddu $a0, $s0, $zero +/* 919754 80240BA4 0C00F598 */ jal func_8003D660 +/* 919758 80240BA8 24050001 */ addiu $a1, $zero, 1 +/* 91975C 80240BAC 8E050018 */ lw $a1, 0x18($s0) +/* 919760 80240BB0 8E06000C */ lw $a2, 0xc($s0) +/* 919764 80240BB4 0C00EA95 */ jal npc_move_heading +/* 919768 80240BB8 0200202D */ daddu $a0, $s0, $zero +/* 91976C 80240BBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 919770 80240BC0 C6000040 */ lwc1 $f0, 0x40($s0) +/* 919774 80240BC4 C462001C */ lwc1 $f2, 0x1c($v1) +/* 919778 80240BC8 468010A0 */ cvt.s.w $f2, $f2 +/* 91977C 80240BCC C4640024 */ lwc1 $f4, 0x24($v1) +/* 919780 80240BD0 46802120 */ cvt.s.w $f4, $f4 +/* 919784 80240BD4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 919788 80240BD8 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91978C 80240BDC 44051000 */ mfc1 $a1, $f2 +/* 919790 80240BE0 C4400028 */ lwc1 $f0, 0x28($v0) +/* 919794 80240BE4 46800020 */ cvt.s.w $f0, $f0 +/* 919798 80240BE8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 91979C 80240BEC 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9197A0 80240BF0 44062000 */ mfc1 $a2, $f4 +/* 9197A4 80240BF4 C440002C */ lwc1 $f0, 0x2c($v0) +/* 9197A8 80240BF8 46800020 */ cvt.s.w $f0, $f0 +/* 9197AC 80240BFC E7A00018 */ swc1 $f0, 0x18($sp) +/* 9197B0 80240C00 8C640030 */ lw $a0, 0x30($v1) +/* 9197B4 80240C04 0C0123F5 */ jal is_point_within_region +/* 9197B8 80240C08 8E070038 */ lw $a3, 0x38($s0) +/* 9197BC 80240C0C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9197C0 80240C10 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9197C4 80240C14 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9197C8 80240C18 3C013F80 */ lui $at, 0x3f80 +/* 9197CC 80240C1C 44813000 */ mtc1 $at, $f6 +/* 9197D0 80240C20 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9197D4 80240C24 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9197D8 80240C28 E7A40028 */ swc1 $f4, 0x28($sp) +/* 9197DC 80240C2C E7A60010 */ swc1 $f6, 0x10($sp) +/* 9197E0 80240C30 C600000C */ lwc1 $f0, 0xc($s0) +/* 9197E4 80240C34 0002882B */ sltu $s1, $zero, $v0 +/* 9197E8 80240C38 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9197EC 80240C3C 860200A8 */ lh $v0, 0xa8($s0) +/* 9197F0 80240C40 27A50020 */ addiu $a1, $sp, 0x20 +/* 9197F4 80240C44 44820000 */ mtc1 $v0, $f0 +/* 9197F8 80240C48 00000000 */ nop +/* 9197FC 80240C4C 46800020 */ cvt.s.w $f0, $f0 +/* 919800 80240C50 E7A00018 */ swc1 $f0, 0x18($sp) +/* 919804 80240C54 860200A6 */ lh $v0, 0xa6($s0) +/* 919808 80240C58 27A60024 */ addiu $a2, $sp, 0x24 +/* 91980C 80240C5C 44820000 */ mtc1 $v0, $f0 +/* 919810 80240C60 00000000 */ nop +/* 919814 80240C64 46800020 */ cvt.s.w $f0, $f0 +/* 919818 80240C68 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 91981C 80240C6C 8E040080 */ lw $a0, 0x80($s0) +/* 919820 80240C70 0C037711 */ jal func_800DDC44 +/* 919824 80240C74 27A70028 */ addiu $a3, $sp, 0x28 +/* 919828 80240C78 54400001 */ bnel $v0, $zero, .L80240C80 +/* 91982C 80240C7C 24110001 */ addiu $s1, $zero, 1 +.L80240C80: +/* 919830 80240C80 9602008E */ lhu $v0, 0x8e($s0) +/* 919834 80240C84 2442FFFF */ addiu $v0, $v0, -1 +/* 919838 80240C88 A602008E */ sh $v0, 0x8e($s0) +/* 91983C 80240C8C 00021400 */ sll $v0, $v0, 0x10 +/* 919840 80240C90 58400001 */ blezl $v0, .L80240C98 +/* 919844 80240C94 24110001 */ addiu $s1, $zero, 1 +.L80240C98: +/* 919848 80240C98 12200003 */ beqz $s1, .L80240CA8 +/* 91984C 80240C9C 24020004 */ addiu $v0, $zero, 4 +/* 919850 80240CA0 AE620070 */ sw $v0, 0x70($s3) +/* 919854 80240CA4 A2400007 */ sb $zero, 7($s2) +.L80240CA8: +/* 919858 80240CA8 8FBF0040 */ lw $ra, 0x40($sp) +/* 91985C 80240CAC 8FB3003C */ lw $s3, 0x3c($sp) +/* 919860 80240CB0 8FB20038 */ lw $s2, 0x38($sp) +/* 919864 80240CB4 8FB10034 */ lw $s1, 0x34($sp) +/* 919868 80240CB8 8FB00030 */ lw $s0, 0x30($sp) +/* 91986C 80240CBC 03E00008 */ jr $ra +/* 919870 80240CC0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240CC4.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240CC4.s new file mode 100644 index 0000000000..d868b5c8fd --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240CC4.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC4 +/* 919874 80240CC4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919878 80240CC8 AFB20018 */ sw $s2, 0x18($sp) +/* 91987C 80240CCC 0080902D */ daddu $s2, $a0, $zero +/* 919880 80240CD0 AFBF001C */ sw $ra, 0x1c($sp) +/* 919884 80240CD4 AFB10014 */ sw $s1, 0x14($sp) +/* 919888 80240CD8 AFB00010 */ sw $s0, 0x10($sp) +/* 91988C 80240CDC 8E500148 */ lw $s0, 0x148($s2) +/* 919890 80240CE0 86040008 */ lh $a0, 8($s0) +/* 919894 80240CE4 0C00EABB */ jal get_npc_unsafe +/* 919898 80240CE8 00A0882D */ daddu $s1, $a1, $zero +/* 91989C 80240CEC 0040182D */ daddu $v1, $v0, $zero +/* 9198A0 80240CF0 9462008E */ lhu $v0, 0x8e($v1) +/* 9198A4 80240CF4 2442FFFF */ addiu $v0, $v0, -1 +/* 9198A8 80240CF8 A462008E */ sh $v0, 0x8e($v1) +/* 9198AC 80240CFC 00021400 */ sll $v0, $v0, 0x10 +/* 9198B0 80240D00 1C400015 */ bgtz $v0, .L80240D58 +/* 9198B4 80240D04 00000000 */ nop +/* 9198B8 80240D08 8E0200CC */ lw $v0, 0xcc($s0) +/* 9198BC 80240D0C 8C420004 */ lw $v0, 4($v0) +/* 9198C0 80240D10 AC620028 */ sw $v0, 0x28($v1) +/* 9198C4 80240D14 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9198C8 80240D18 8C420014 */ lw $v0, 0x14($v0) +/* 9198CC 80240D1C 04410004 */ bgez $v0, .L80240D30 +/* 9198D0 80240D20 00000000 */ nop +/* 9198D4 80240D24 C6200000 */ lwc1 $f0, ($s1) +/* 9198D8 80240D28 08090354 */ j .L80240D50 +/* 9198DC 80240D2C E4600018 */ swc1 $f0, 0x18($v1) +.L80240D30: +/* 9198E0 80240D30 3C018024 */ lui $at, 0x8024 +/* 9198E4 80240D34 D4222C50 */ ldc1 $f2, 0x2c50($at) +/* 9198E8 80240D38 44820000 */ mtc1 $v0, $f0 +/* 9198EC 80240D3C 00000000 */ nop +/* 9198F0 80240D40 46800021 */ cvt.d.w $f0, $f0 +/* 9198F4 80240D44 46220003 */ div.d $f0, $f0, $f2 +/* 9198F8 80240D48 46200020 */ cvt.s.d $f0, $f0 +/* 9198FC 80240D4C E4600018 */ swc1 $f0, 0x18($v1) +.L80240D50: +/* 919900 80240D50 24020029 */ addiu $v0, $zero, 0x29 +/* 919904 80240D54 AE420070 */ sw $v0, 0x70($s2) +.L80240D58: +/* 919908 80240D58 8FBF001C */ lw $ra, 0x1c($sp) +/* 91990C 80240D5C 8FB20018 */ lw $s2, 0x18($sp) +/* 919910 80240D60 8FB10014 */ lw $s1, 0x14($sp) +/* 919914 80240D64 8FB00010 */ lw $s0, 0x10($sp) +/* 919918 80240D68 03E00008 */ jr $ra +/* 91991C 80240D6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240D70_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240D70_918BB0.s new file mode 100644 index 0000000000..88f9eeeda5 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240D70_918BB0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D70_919920 +/* 919920 80240D70 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 919924 80240D74 AFB30024 */ sw $s3, 0x24($sp) +/* 919928 80240D78 0080982D */ daddu $s3, $a0, $zero +/* 91992C 80240D7C AFBF0028 */ sw $ra, 0x28($sp) +/* 919930 80240D80 AFB20020 */ sw $s2, 0x20($sp) +/* 919934 80240D84 AFB1001C */ sw $s1, 0x1c($sp) +/* 919938 80240D88 AFB00018 */ sw $s0, 0x18($sp) +/* 91993C 80240D8C 8E720148 */ lw $s2, 0x148($s3) +/* 919940 80240D90 00A0882D */ daddu $s1, $a1, $zero +/* 919944 80240D94 86440008 */ lh $a0, 8($s2) +/* 919948 80240D98 0C00EABB */ jal get_npc_unsafe +/* 91994C 80240D9C 00C0802D */ daddu $s0, $a2, $zero +/* 919950 80240DA0 0200202D */ daddu $a0, $s0, $zero +/* 919954 80240DA4 0240282D */ daddu $a1, $s2, $zero +/* 919958 80240DA8 AFA00010 */ sw $zero, 0x10($sp) +/* 91995C 80240DAC 8E260024 */ lw $a2, 0x24($s1) +/* 919960 80240DB0 8E270028 */ lw $a3, 0x28($s1) +/* 919964 80240DB4 0C01242D */ jal func_800490B4 +/* 919968 80240DB8 0040802D */ daddu $s0, $v0, $zero +/* 91996C 80240DBC 1040000C */ beqz $v0, .L80240DF0 +/* 919970 80240DC0 00000000 */ nop +/* 919974 80240DC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 919978 80240DC8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91997C 80240DCC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 919980 80240DD0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 919984 80240DD4 8C460028 */ lw $a2, 0x28($v0) +/* 919988 80240DD8 0C00A720 */ jal atan2 +/* 91998C 80240DDC 8C470030 */ lw $a3, 0x30($v0) +/* 919990 80240DE0 2402000C */ addiu $v0, $zero, 0xc +/* 919994 80240DE4 E600000C */ swc1 $f0, 0xc($s0) +/* 919998 80240DE8 080903A3 */ j .L80240E8C +/* 91999C 80240DEC AE620070 */ sw $v0, 0x70($s3) +.L80240DF0: +/* 9199A0 80240DF0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9199A4 80240DF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9199A8 80240DF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9199AC 80240DFC C4440000 */ lwc1 $f4, ($v0) +/* 9199B0 80240E00 46802120 */ cvt.s.w $f4, $f4 +/* 9199B4 80240E04 44062000 */ mfc1 $a2, $f4 +/* 9199B8 80240E08 C4440008 */ lwc1 $f4, 8($v0) +/* 9199BC 80240E0C 46802120 */ cvt.s.w $f4, $f4 +/* 9199C0 80240E10 44072000 */ mfc1 $a3, $f4 +/* 9199C4 80240E14 0C00A7B5 */ jal dist2D +/* 9199C8 80240E18 00000000 */ nop +/* 9199CC 80240E1C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9199D0 80240E20 4602003E */ c.le.s $f0, $f2 +/* 9199D4 80240E24 00000000 */ nop +/* 9199D8 80240E28 45000005 */ bc1f .L80240E40 +/* 9199DC 80240E2C 2402000A */ addiu $v0, $zero, 0xa +/* 9199E0 80240E30 A602008E */ sh $v0, 0x8e($s0) +/* 9199E4 80240E34 24020032 */ addiu $v0, $zero, 0x32 +/* 9199E8 80240E38 080903A3 */ j .L80240E8C +/* 9199EC 80240E3C AE620070 */ sw $v0, 0x70($s3) +.L80240E40: +/* 9199F0 80240E40 8602008C */ lh $v0, 0x8c($s0) +/* 9199F4 80240E44 14400011 */ bnez $v0, .L80240E8C +/* 9199F8 80240E48 00000000 */ nop +/* 9199FC 80240E4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 919A00 80240E50 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919A04 80240E54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 919A08 80240E58 C4440000 */ lwc1 $f4, ($v0) +/* 919A0C 80240E5C 46802120 */ cvt.s.w $f4, $f4 +/* 919A10 80240E60 44062000 */ mfc1 $a2, $f4 +/* 919A14 80240E64 C4440008 */ lwc1 $f4, 8($v0) +/* 919A18 80240E68 46802120 */ cvt.s.w $f4, $f4 +/* 919A1C 80240E6C 44072000 */ mfc1 $a3, $f4 +/* 919A20 80240E70 0C00A720 */ jal atan2 +/* 919A24 80240E74 00000000 */ nop +/* 919A28 80240E78 8E050018 */ lw $a1, 0x18($s0) +/* 919A2C 80240E7C 44060000 */ mfc1 $a2, $f0 +/* 919A30 80240E80 0200202D */ daddu $a0, $s0, $zero +/* 919A34 80240E84 0C00EA95 */ jal npc_move_heading +/* 919A38 80240E88 AC86000C */ sw $a2, 0xc($a0) +.L80240E8C: +/* 919A3C 80240E8C 8FBF0028 */ lw $ra, 0x28($sp) +/* 919A40 80240E90 8FB30024 */ lw $s3, 0x24($sp) +/* 919A44 80240E94 8FB20020 */ lw $s2, 0x20($sp) +/* 919A48 80240E98 8FB1001C */ lw $s1, 0x1c($sp) +/* 919A4C 80240E9C 8FB00018 */ lw $s0, 0x18($sp) +/* 919A50 80240EA0 03E00008 */ jr $ra +/* 919A54 80240EA4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240EA8.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240EA8.s new file mode 100644 index 0000000000..2eab50bf21 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240EA8.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EA8 +/* 919A58 80240EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919A5C 80240EAC AFB10014 */ sw $s1, 0x14($sp) +/* 919A60 80240EB0 0080882D */ daddu $s1, $a0, $zero +/* 919A64 80240EB4 AFBF0018 */ sw $ra, 0x18($sp) +/* 919A68 80240EB8 AFB00010 */ sw $s0, 0x10($sp) +/* 919A6C 80240EBC 8E300148 */ lw $s0, 0x148($s1) +/* 919A70 80240EC0 0C00EABB */ jal get_npc_unsafe +/* 919A74 80240EC4 86040008 */ lh $a0, 8($s0) +/* 919A78 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* 919A7C 80240ECC 8482008E */ lh $v0, 0x8e($a0) +/* 919A80 80240ED0 9483008E */ lhu $v1, 0x8e($a0) +/* 919A84 80240ED4 18400002 */ blez $v0, .L80240EE0 +/* 919A88 80240ED8 2462FFFF */ addiu $v0, $v1, -1 +/* 919A8C 80240EDC A482008E */ sh $v0, 0x8e($a0) +.L80240EE0: +/* 919A90 80240EE0 8482008C */ lh $v0, 0x8c($a0) +/* 919A94 80240EE4 1440000A */ bnez $v0, .L80240F10 +/* 919A98 80240EE8 00000000 */ nop +/* 919A9C 80240EEC 8482008E */ lh $v0, 0x8e($a0) +/* 919AA0 80240EF0 1C400007 */ bgtz $v0, .L80240F10 +/* 919AA4 80240EF4 24020008 */ addiu $v0, $zero, 8 +/* 919AA8 80240EF8 A482008E */ sh $v0, 0x8e($a0) +/* 919AAC 80240EFC 8E0200CC */ lw $v0, 0xcc($s0) +/* 919AB0 80240F00 8C42002C */ lw $v0, 0x2c($v0) +/* 919AB4 80240F04 AC820028 */ sw $v0, 0x28($a0) +/* 919AB8 80240F08 24020033 */ addiu $v0, $zero, 0x33 +/* 919ABC 80240F0C AE220070 */ sw $v0, 0x70($s1) +.L80240F10: +/* 919AC0 80240F10 8FBF0018 */ lw $ra, 0x18($sp) +/* 919AC4 80240F14 8FB10014 */ lw $s1, 0x14($sp) +/* 919AC8 80240F18 8FB00010 */ lw $s0, 0x10($sp) +/* 919ACC 80240F1C 03E00008 */ jr $ra +/* 919AD0 80240F20 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F24.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F24.s new file mode 100644 index 0000000000..9eb0fb39f6 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F24.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F24 +/* 919AD4 80240F24 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 919AD8 80240F28 AFB10014 */ sw $s1, 0x14($sp) +/* 919ADC 80240F2C 0080882D */ daddu $s1, $a0, $zero +/* 919AE0 80240F30 AFBF0018 */ sw $ra, 0x18($sp) +/* 919AE4 80240F34 AFB00010 */ sw $s0, 0x10($sp) +/* 919AE8 80240F38 8E300148 */ lw $s0, 0x148($s1) +/* 919AEC 80240F3C 0C00EABB */ jal get_npc_unsafe +/* 919AF0 80240F40 86040008 */ lh $a0, 8($s0) +/* 919AF4 80240F44 0040182D */ daddu $v1, $v0, $zero +/* 919AF8 80240F48 9462008E */ lhu $v0, 0x8e($v1) +/* 919AFC 80240F4C 2442FFFF */ addiu $v0, $v0, -1 +/* 919B00 80240F50 A462008E */ sh $v0, 0x8e($v1) +/* 919B04 80240F54 00021400 */ sll $v0, $v0, 0x10 +/* 919B08 80240F58 1C400007 */ bgtz $v0, .L80240F78 +/* 919B0C 80240F5C 24020008 */ addiu $v0, $zero, 8 +/* 919B10 80240F60 A462008E */ sh $v0, 0x8e($v1) +/* 919B14 80240F64 8E0200CC */ lw $v0, 0xcc($s0) +/* 919B18 80240F68 8C420038 */ lw $v0, 0x38($v0) +/* 919B1C 80240F6C AC620028 */ sw $v0, 0x28($v1) +/* 919B20 80240F70 24020034 */ addiu $v0, $zero, 0x34 +/* 919B24 80240F74 AE220070 */ sw $v0, 0x70($s1) +.L80240F78: +/* 919B28 80240F78 8FBF0018 */ lw $ra, 0x18($sp) +/* 919B2C 80240F7C 8FB10014 */ lw $s1, 0x14($sp) +/* 919B30 80240F80 8FB00010 */ lw $s0, 0x10($sp) +/* 919B34 80240F84 03E00008 */ jr $ra +/* 919B38 80240F88 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F8C.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F8C.s new file mode 100644 index 0000000000..4198f84664 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240F8C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F8C +/* 919B3C 80240F8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 919B40 80240F90 AFB00010 */ sw $s0, 0x10($sp) +/* 919B44 80240F94 0080802D */ daddu $s0, $a0, $zero +/* 919B48 80240F98 AFBF0014 */ sw $ra, 0x14($sp) +/* 919B4C 80240F9C 8E020148 */ lw $v0, 0x148($s0) +/* 919B50 80240FA0 0C00EABB */ jal get_npc_unsafe +/* 919B54 80240FA4 84440008 */ lh $a0, 8($v0) +/* 919B58 80240FA8 9443008E */ lhu $v1, 0x8e($v0) +/* 919B5C 80240FAC 2463FFFF */ addiu $v1, $v1, -1 +/* 919B60 80240FB0 A443008E */ sh $v1, 0x8e($v0) +/* 919B64 80240FB4 00031C00 */ sll $v1, $v1, 0x10 +/* 919B68 80240FB8 58600001 */ blezl $v1, .L80240FC0 +/* 919B6C 80240FBC AE000070 */ sw $zero, 0x70($s0) +.L80240FC0: +/* 919B70 80240FC0 8FBF0014 */ lw $ra, 0x14($sp) +/* 919B74 80240FC4 8FB00010 */ lw $s0, 0x10($sp) +/* 919B78 80240FC8 03E00008 */ jr $ra +/* 919B7C 80240FCC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80240FD0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240FD0.s new file mode 100644 index 0000000000..6cb140a1b2 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80240FD0.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD0 +/* 919B80 80240FD0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 919B84 80240FD4 AFB3003C */ sw $s3, 0x3c($sp) +/* 919B88 80240FD8 0080982D */ daddu $s3, $a0, $zero +/* 919B8C 80240FDC AFBF0048 */ sw $ra, 0x48($sp) +/* 919B90 80240FE0 AFB50044 */ sw $s5, 0x44($sp) +/* 919B94 80240FE4 AFB40040 */ sw $s4, 0x40($sp) +/* 919B98 80240FE8 AFB20038 */ sw $s2, 0x38($sp) +/* 919B9C 80240FEC AFB10034 */ sw $s1, 0x34($sp) +/* 919BA0 80240FF0 AFB00030 */ sw $s0, 0x30($sp) +/* 919BA4 80240FF4 8E720148 */ lw $s2, 0x148($s3) +/* 919BA8 80240FF8 86440008 */ lh $a0, 8($s2) +/* 919BAC 80240FFC 0C00EABB */ jal get_npc_unsafe +/* 919BB0 80241000 00A0882D */ daddu $s1, $a1, $zero +/* 919BB4 80241004 0260202D */ daddu $a0, $s3, $zero +/* 919BB8 80241008 8E70000C */ lw $s0, 0xc($s3) +/* 919BBC 8024100C 0040A82D */ daddu $s5, $v0, $zero +/* 919BC0 80241010 8E050000 */ lw $a1, ($s0) +/* 919BC4 80241014 0C0B1EAF */ jal get_variable +/* 919BC8 80241018 26100004 */ addiu $s0, $s0, 4 +/* 919BCC 8024101C 0260202D */ daddu $a0, $s3, $zero +/* 919BD0 80241020 8E050000 */ lw $a1, ($s0) +/* 919BD4 80241024 0C0B1EAF */ jal get_variable +/* 919BD8 80241028 0040A02D */ daddu $s4, $v0, $zero +/* 919BDC 8024102C AE420094 */ sw $v0, 0x94($s2) +/* 919BE0 80241030 AFA00010 */ sw $zero, 0x10($sp) +/* 919BE4 80241034 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919BE8 80241038 8C420030 */ lw $v0, 0x30($v0) +/* 919BEC 8024103C AFA20014 */ sw $v0, 0x14($sp) +/* 919BF0 80241040 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919BF4 80241044 8C42001C */ lw $v0, 0x1c($v0) +/* 919BF8 80241048 AFA20018 */ sw $v0, 0x18($sp) +/* 919BFC 8024104C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919C00 80241050 8C420024 */ lw $v0, 0x24($v0) +/* 919C04 80241054 AFA2001C */ sw $v0, 0x1c($sp) +/* 919C08 80241058 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919C0C 8024105C 8C420028 */ lw $v0, 0x28($v0) +/* 919C10 80241060 AFA20020 */ sw $v0, 0x20($sp) +/* 919C14 80241064 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919C18 80241068 3C014220 */ lui $at, 0x4220 +/* 919C1C 8024106C 44810000 */ mtc1 $at, $f0 +/* 919C20 80241070 8C42002C */ lw $v0, 0x2c($v0) +/* 919C24 80241074 27B00010 */ addiu $s0, $sp, 0x10 +/* 919C28 80241078 E7A00028 */ swc1 $f0, 0x28($sp) +/* 919C2C 8024107C A7A0002C */ sh $zero, 0x2c($sp) +/* 919C30 80241080 12200012 */ beqz $s1, .L802410CC +/* 919C34 80241084 AFA20024 */ sw $v0, 0x24($sp) +/* 919C38 80241088 AE600070 */ sw $zero, 0x70($s3) +/* 919C3C 8024108C 8EA30000 */ lw $v1, ($s5) +/* 919C40 80241090 2402F7FF */ addiu $v0, $zero, -0x801 +/* 919C44 80241094 A6A0008E */ sh $zero, 0x8e($s5) +/* 919C48 80241098 00621824 */ and $v1, $v1, $v0 +/* 919C4C 8024109C AEA30000 */ sw $v1, ($s5) +/* 919C50 802410A0 8E4200D0 */ lw $v0, 0xd0($s2) +/* 919C54 802410A4 8C420034 */ lw $v0, 0x34($v0) +/* 919C58 802410A8 54400005 */ bnel $v0, $zero, .L802410C0 +/* 919C5C 802410AC 2402FDFF */ addiu $v0, $zero, -0x201 +/* 919C60 802410B0 34620200 */ ori $v0, $v1, 0x200 +/* 919C64 802410B4 2403FFF7 */ addiu $v1, $zero, -9 +/* 919C68 802410B8 08090432 */ j .L802410C8 +/* 919C6C 802410BC 00431024 */ and $v0, $v0, $v1 +.L802410C0: +/* 919C70 802410C0 00621024 */ and $v0, $v1, $v0 +/* 919C74 802410C4 34420008 */ ori $v0, $v0, 8 +.L802410C8: +/* 919C78 802410C8 AEA20000 */ sw $v0, ($s5) +.L802410CC: +/* 919C7C 802410CC 8E4300B0 */ lw $v1, 0xb0($s2) +/* 919C80 802410D0 30620004 */ andi $v0, $v1, 4 +/* 919C84 802410D4 10400007 */ beqz $v0, .L802410F4 +/* 919C88 802410D8 00000000 */ nop +/* 919C8C 802410DC 824200B4 */ lb $v0, 0xb4($s2) +/* 919C90 802410E0 14400086 */ bnez $v0, .L802412FC +/* 919C94 802410E4 0000102D */ daddu $v0, $zero, $zero +/* 919C98 802410E8 2402FFFB */ addiu $v0, $zero, -5 +/* 919C9C 802410EC 00621024 */ and $v0, $v1, $v0 +/* 919CA0 802410F0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802410F4: +/* 919CA4 802410F4 8E620070 */ lw $v0, 0x70($s3) +/* 919CA8 802410F8 2442FFF4 */ addiu $v0, $v0, -0xc +/* 919CAC 802410FC 2C420003 */ sltiu $v0, $v0, 3 +/* 919CB0 80241100 10400007 */ beqz $v0, .L80241120 +/* 919CB4 80241104 0260202D */ daddu $a0, $s3, $zero +/* 919CB8 80241108 0280282D */ daddu $a1, $s4, $zero +/* 919CBC 8024110C 0C0900D0 */ jal func_80240340 +/* 919CC0 80241110 0200302D */ daddu $a2, $s0, $zero +/* 919CC4 80241114 10400002 */ beqz $v0, .L80241120 +/* 919CC8 80241118 24020014 */ addiu $v0, $zero, 0x14 +/* 919CCC 8024111C AE620070 */ sw $v0, 0x70($s3) +.L80241120: +/* 919CD0 80241120 8E630070 */ lw $v1, 0x70($s3) +/* 919CD4 80241124 2C620035 */ sltiu $v0, $v1, 0x35 +/* 919CD8 80241128 10400073 */ beqz $v0, .L802412F8 +/* 919CDC 8024112C 00031080 */ sll $v0, $v1, 2 +/* 919CE0 80241130 3C018024 */ lui $at, 0x8024 +/* 919CE4 80241134 00220821 */ addu $at, $at, $v0 +/* 919CE8 80241138 8C222C58 */ lw $v0, 0x2c58($at) +/* 919CEC 8024113C 00400008 */ jr $v0 +/* 919CF0 80241140 00000000 */ nop +/* 919CF4 80241144 0260202D */ daddu $a0, $s3, $zero +/* 919CF8 80241148 0280282D */ daddu $a1, $s4, $zero +/* 919CFC 8024114C 0C090128 */ jal func_802404A0 +/* 919D00 80241150 0200302D */ daddu $a2, $s0, $zero +/* 919D04 80241154 0260202D */ daddu $a0, $s3, $zero +/* 919D08 80241158 0280282D */ daddu $a1, $s4, $zero +/* 919D0C 8024115C 0C090145 */ jal func_80240514 +/* 919D10 80241160 0200302D */ daddu $a2, $s0, $zero +/* 919D14 80241164 8E630070 */ lw $v1, 0x70($s3) +/* 919D18 80241168 24020002 */ addiu $v0, $zero, 2 +/* 919D1C 8024116C 14620063 */ bne $v1, $v0, .L802412FC +/* 919D20 80241170 0000102D */ daddu $v0, $zero, $zero +/* 919D24 80241174 0260202D */ daddu $a0, $s3, $zero +/* 919D28 80241178 0280282D */ daddu $a1, $s4, $zero +/* 919D2C 8024117C 0C090191 */ jal func_80240644 +/* 919D30 80241180 0200302D */ daddu $a2, $s0, $zero +/* 919D34 80241184 8E630070 */ lw $v1, 0x70($s3) +/* 919D38 80241188 24020003 */ addiu $v0, $zero, 3 +/* 919D3C 8024118C 1462005B */ bne $v1, $v0, .L802412FC +/* 919D40 80241190 0000102D */ daddu $v0, $zero, $zero +/* 919D44 80241194 0260202D */ daddu $a0, $s3, $zero +/* 919D48 80241198 0280282D */ daddu $a1, $s4, $zero +/* 919D4C 8024119C 0C0901B8 */ jal func_802406E0 +/* 919D50 802411A0 0200302D */ daddu $a2, $s0, $zero +/* 919D54 802411A4 8E630070 */ lw $v1, 0x70($s3) +/* 919D58 802411A8 24020004 */ addiu $v0, $zero, 4 +/* 919D5C 802411AC 14620053 */ bne $v1, $v0, .L802412FC +/* 919D60 802411B0 0000102D */ daddu $v0, $zero, $zero +/* 919D64 802411B4 0260202D */ daddu $a0, $s3, $zero +/* 919D68 802411B8 0280282D */ daddu $a1, $s4, $zero +/* 919D6C 802411BC 0C0901DA */ jal func_80240768 +/* 919D70 802411C0 0200302D */ daddu $a2, $s0, $zero +/* 919D74 802411C4 0260202D */ daddu $a0, $s3, $zero +/* 919D78 802411C8 0280282D */ daddu $a1, $s4, $zero +/* 919D7C 802411CC 0C090204 */ jal func_80240810 +/* 919D80 802411D0 0200302D */ daddu $a2, $s0, $zero +/* 919D84 802411D4 080904BF */ j .L802412FC +/* 919D88 802411D8 0000102D */ daddu $v0, $zero, $zero +/* 919D8C 802411DC 0260202D */ daddu $a0, $s3, $zero +/* 919D90 802411E0 0280282D */ daddu $a1, $s4, $zero +/* 919D94 802411E4 0C0127DF */ jal func_80049F7C +/* 919D98 802411E8 0200302D */ daddu $a2, $s0, $zero +/* 919D9C 802411EC 8E630070 */ lw $v1, 0x70($s3) +/* 919DA0 802411F0 2402000D */ addiu $v0, $zero, 0xd +/* 919DA4 802411F4 14620041 */ bne $v1, $v0, .L802412FC +/* 919DA8 802411F8 0000102D */ daddu $v0, $zero, $zero +/* 919DAC 802411FC 0260202D */ daddu $a0, $s3, $zero +/* 919DB0 80241200 0280282D */ daddu $a1, $s4, $zero +/* 919DB4 80241204 0C012849 */ jal func_8004A124 +/* 919DB8 80241208 0200302D */ daddu $a2, $s0, $zero +/* 919DBC 8024120C 8E630070 */ lw $v1, 0x70($s3) +/* 919DC0 80241210 2402000E */ addiu $v0, $zero, 0xe +/* 919DC4 80241214 14620039 */ bne $v1, $v0, .L802412FC +/* 919DC8 80241218 0000102D */ daddu $v0, $zero, $zero +/* 919DCC 8024121C 96A2008E */ lhu $v0, 0x8e($s5) +/* 919DD0 80241220 2442FFFF */ addiu $v0, $v0, -1 +/* 919DD4 80241224 A6A2008E */ sh $v0, 0x8e($s5) +/* 919DD8 80241228 00021400 */ sll $v0, $v0, 0x10 +/* 919DDC 8024122C 14400033 */ bnez $v0, .L802412FC +/* 919DE0 80241230 0000102D */ daddu $v0, $zero, $zero +/* 919DE4 80241234 24020028 */ addiu $v0, $zero, 0x28 +/* 919DE8 80241238 080904BE */ j .L802412F8 +/* 919DEC 8024123C AE620070 */ sw $v0, 0x70($s3) +/* 919DF0 80241240 0260202D */ daddu $a0, $s3, $zero +/* 919DF4 80241244 0280282D */ daddu $a1, $s4, $zero +/* 919DF8 80241248 0C090261 */ jal func_80240984 +/* 919DFC 8024124C 0200302D */ daddu $a2, $s0, $zero +/* 919E00 80241250 0260202D */ daddu $a0, $s3, $zero +/* 919E04 80241254 0280282D */ daddu $a1, $s4, $zero +/* 919E08 80241258 0C090275 */ jal func_802409D4 +/* 919E0C 8024125C 0200302D */ daddu $a2, $s0, $zero +/* 919E10 80241260 080904BF */ j .L802412FC +/* 919E14 80241264 0000102D */ daddu $v0, $zero, $zero +/* 919E18 80241268 0260202D */ daddu $a0, $s3, $zero +/* 919E1C 8024126C 0280282D */ daddu $a1, $s4, $zero +/* 919E20 80241270 0C0902DD */ jal func_80240B74 +/* 919E24 80241274 0200302D */ daddu $a2, $s0, $zero +/* 919E28 80241278 080904BF */ j .L802412FC +/* 919E2C 8024127C 0000102D */ daddu $v0, $zero, $zero +/* 919E30 80241280 0260202D */ daddu $a0, $s3, $zero +/* 919E34 80241284 0280282D */ daddu $a1, $s4, $zero +/* 919E38 80241288 0C090331 */ jal func_80240CC4 +/* 919E3C 8024128C 0200302D */ daddu $a2, $s0, $zero +/* 919E40 80241290 8E630070 */ lw $v1, 0x70($s3) +/* 919E44 80241294 24020029 */ addiu $v0, $zero, 0x29 +/* 919E48 80241298 14620018 */ bne $v1, $v0, .L802412FC +/* 919E4C 8024129C 0000102D */ daddu $v0, $zero, $zero +/* 919E50 802412A0 0260202D */ daddu $a0, $s3, $zero +/* 919E54 802412A4 0280282D */ daddu $a1, $s4, $zero +/* 919E58 802412A8 0C09035C */ jal func_80240D70 +/* 919E5C 802412AC 0200302D */ daddu $a2, $s0, $zero +/* 919E60 802412B0 080904BF */ j .L802412FC +/* 919E64 802412B4 0000102D */ daddu $v0, $zero, $zero +/* 919E68 802412B8 0260202D */ daddu $a0, $s3, $zero +/* 919E6C 802412BC 0280282D */ daddu $a1, $s4, $zero +/* 919E70 802412C0 0C0903AA */ jal func_80240EA8 +/* 919E74 802412C4 0200302D */ daddu $a2, $s0, $zero +/* 919E78 802412C8 0260202D */ daddu $a0, $s3, $zero +/* 919E7C 802412CC 0280282D */ daddu $a1, $s4, $zero +/* 919E80 802412D0 0C0903C9 */ jal func_80240F24 +/* 919E84 802412D4 0200302D */ daddu $a2, $s0, $zero +/* 919E88 802412D8 8E630070 */ lw $v1, 0x70($s3) +/* 919E8C 802412DC 24020034 */ addiu $v0, $zero, 0x34 +/* 919E90 802412E0 14620006 */ bne $v1, $v0, .L802412FC +/* 919E94 802412E4 0000102D */ daddu $v0, $zero, $zero +/* 919E98 802412E8 0260202D */ daddu $a0, $s3, $zero +/* 919E9C 802412EC 0280282D */ daddu $a1, $s4, $zero +/* 919EA0 802412F0 0C0903E3 */ jal func_80240F8C +/* 919EA4 802412F4 0200302D */ daddu $a2, $s0, $zero +.L802412F8: +/* 919EA8 802412F8 0000102D */ daddu $v0, $zero, $zero +.L802412FC: +/* 919EAC 802412FC 8FBF0048 */ lw $ra, 0x48($sp) +/* 919EB0 80241300 8FB50044 */ lw $s5, 0x44($sp) +/* 919EB4 80241304 8FB40040 */ lw $s4, 0x40($sp) +/* 919EB8 80241308 8FB3003C */ lw $s3, 0x3c($sp) +/* 919EBC 8024130C 8FB20038 */ lw $s2, 0x38($sp) +/* 919EC0 80241310 8FB10034 */ lw $s1, 0x34($sp) +/* 919EC4 80241314 8FB00030 */ lw $s0, 0x30($sp) +/* 919EC8 80241318 03E00008 */ jr $ra +/* 919ECC 8024131C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_03/func_80241320_918BB0.s b/asm/nonmatchings/world/area_iwa/iwa_03/func_80241320_918BB0.s new file mode 100644 index 0000000000..2945dc47ab --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_03/func_80241320_918BB0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241320_919ED0 +/* 919ED0 80241320 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 919ED4 80241324 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 919ED8 80241328 8C430000 */ lw $v1, ($v0) +/* 919EDC 8024132C 8C840084 */ lw $a0, 0x84($a0) +/* 919EE0 80241330 34630010 */ ori $v1, $v1, 0x10 +/* 919EE4 80241334 AC4400D0 */ sw $a0, 0xd0($v0) +/* 919EE8 80241338 AC430000 */ sw $v1, ($v0) +/* 919EEC 8024133C 03E00008 */ jr $ra +/* 919EF0 80241340 24020002 */ addiu $v0, $zero, 2 +/* 919EF4 80241344 00000000 */ nop +/* 919EF8 80241348 00000000 */ nop +/* 919EFC 8024134C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240000_91B8E0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240000_91B8E0.s new file mode 100644 index 0000000000..330f487e77 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240000_91B8E0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_91B8E0 +/* 91B8E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91B8E4 80240004 3C028011 */ lui $v0, 0x8011 +/* 91B8E8 80240008 8442EFE0 */ lh $v0, -0x1020($v0) +/* 91B8EC 8024000C 3C01C059 */ lui $at, 0xc059 +/* 91B8F0 80240010 44810800 */ mtc1 $at, $f1 +/* 91B8F4 80240014 44800000 */ mtc1 $zero, $f0 +/* 91B8F8 80240018 2406FFFF */ addiu $a2, $zero, -1 +/* 91B8FC 8024001C 44821000 */ mtc1 $v0, $f2 +/* 91B900 80240020 00000000 */ nop +/* 91B904 80240024 468010A1 */ cvt.d.w $f2, $f2 +/* 91B908 80240028 4622003C */ c.lt.d $f0, $f2 +/* 91B90C 8024002C 00000000 */ nop +/* 91B910 80240030 45000002 */ bc1f .L8024003C +/* 91B914 80240034 AFBF0010 */ sw $ra, 0x10($sp) +/* 91B918 80240038 0000302D */ daddu $a2, $zero, $zero +.L8024003C: +/* 91B91C 8024003C 3C01C06E */ lui $at, 0xc06e +/* 91B920 80240040 44810800 */ mtc1 $at, $f1 +/* 91B924 80240044 44800000 */ mtc1 $zero, $f0 +/* 91B928 80240048 00000000 */ nop +/* 91B92C 8024004C 4620103C */ c.lt.d $f2, $f0 +/* 91B930 80240050 00000000 */ nop +/* 91B934 80240054 45030001 */ bc1tl .L8024005C +/* 91B938 80240058 24060001 */ addiu $a2, $zero, 1 +.L8024005C: +/* 91B93C 8024005C 04C00004 */ bltz $a2, .L80240070 +/* 91B940 80240060 00000000 */ nop +/* 91B944 80240064 3C05FD05 */ lui $a1, 0xfd05 +/* 91B948 80240068 0C0B2026 */ jal set_variable +/* 91B94C 8024006C 34A50F89 */ ori $a1, $a1, 0xf89 +.L80240070: +/* 91B950 80240070 8FBF0010 */ lw $ra, 0x10($sp) +/* 91B954 80240074 0000102D */ daddu $v0, $zero, $zero +/* 91B958 80240078 03E00008 */ jr $ra +/* 91B95C 8024007C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240080.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240080.s new file mode 100644 index 0000000000..0806386310 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240080.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080 +/* 91B960 80240080 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 91B964 80240084 AFBF001C */ sw $ra, 0x1c($sp) +/* 91B968 80240088 AFB20018 */ sw $s2, 0x18($sp) +/* 91B96C 8024008C AFB10014 */ sw $s1, 0x14($sp) +/* 91B970 80240090 AFB00010 */ sw $s0, 0x10($sp) +/* 91B974 80240094 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 91B978 80240098 8C900148 */ lw $s0, 0x148($a0) +/* 91B97C 8024009C 86040008 */ lh $a0, 8($s0) +/* 91B980 802400A0 3C014387 */ lui $at, 0x4387 +/* 91B984 802400A4 4481A000 */ mtc1 $at, $f20 +/* 91B988 802400A8 0C00EABB */ jal get_npc_unsafe +/* 91B98C 802400AC 00A0882D */ daddu $s1, $a1, $zero +/* 91B990 802400B0 0200202D */ daddu $a0, $s0, $zero +/* 91B994 802400B4 8E26000C */ lw $a2, 0xc($s1) +/* 91B998 802400B8 8E270010 */ lw $a3, 0x10($s1) +/* 91B99C 802400BC 0040882D */ daddu $s1, $v0, $zero +/* 91B9A0 802400C0 3C03800B */ lui $v1, %hi(gCameras) +/* 91B9A4 802400C4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 91B9A8 802400C8 3C02800A */ lui $v0, 0x800a +/* 91B9AC 802400CC 8442A634 */ lh $v0, -0x59cc($v0) +/* 91B9B0 802400D0 0000282D */ daddu $a1, $zero, $zero +/* 91B9B4 802400D4 00028080 */ sll $s0, $v0, 2 +/* 91B9B8 802400D8 02028021 */ addu $s0, $s0, $v0 +/* 91B9BC 802400DC 00108080 */ sll $s0, $s0, 2 +/* 91B9C0 802400E0 02028023 */ subu $s0, $s0, $v0 +/* 91B9C4 802400E4 001010C0 */ sll $v0, $s0, 3 +/* 91B9C8 802400E8 02028021 */ addu $s0, $s0, $v0 +/* 91B9CC 802400EC 001080C0 */ sll $s0, $s0, 3 +/* 91B9D0 802400F0 0C0124FB */ jal func_800493EC +/* 91B9D4 802400F4 02038021 */ addu $s0, $s0, $v1 +/* 91B9D8 802400F8 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 91B9DC 802400FC C62E000C */ lwc1 $f14, 0xc($s1) +/* 91B9E0 80240100 0C00A70A */ jal get_clamped_angle_diff +/* 91B9E4 80240104 0002802B */ sltu $s0, $zero, $v0 +/* 91B9E8 80240108 0C00A6C9 */ jal clamp_angle +/* 91B9EC 8024010C 46000306 */ mov.s $f12, $f0 +/* 91B9F0 80240110 3C018024 */ lui $at, 0x8024 +/* 91B9F4 80240114 D4222B90 */ ldc1 $f2, 0x2b90($at) +/* 91B9F8 80240118 46000021 */ cvt.d.s $f0, $f0 +/* 91B9FC 8024011C 4622003C */ c.lt.d $f0, $f2 +/* 91BA00 80240120 00000000 */ nop +/* 91BA04 80240124 45000003 */ bc1f .L80240134 +/* 91BA08 80240128 00000000 */ nop +/* 91BA0C 8024012C 3C0142B4 */ lui $at, 0x42b4 +/* 91BA10 80240130 4481A000 */ mtc1 $at, $f20 +.L80240134: +/* 91BA14 80240134 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 91BA18 80240138 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 91BA1C 8024013C C62C0038 */ lwc1 $f12, 0x38($s1) +/* 91BA20 80240140 8E420000 */ lw $v0, ($s2) +/* 91BA24 80240144 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 91BA28 80240148 8C460028 */ lw $a2, 0x28($v0) +/* 91BA2C 8024014C 0C00A720 */ jal atan2 +/* 91BA30 80240150 8C470030 */ lw $a3, 0x30($v0) +/* 91BA34 80240154 4600A306 */ mov.s $f12, $f20 +/* 91BA38 80240158 0C00A70A */ jal get_clamped_angle_diff +/* 91BA3C 8024015C 46000386 */ mov.s $f14, $f0 +/* 91BA40 80240160 46000005 */ abs.s $f0, $f0 +/* 91BA44 80240164 3C018024 */ lui $at, 0x8024 +/* 91BA48 80240168 D4222B98 */ ldc1 $f2, 0x2b98($at) +/* 91BA4C 8024016C 46000021 */ cvt.d.s $f0, $f0 +/* 91BA50 80240170 4620103C */ c.lt.d $f2, $f0 +/* 91BA54 80240174 00000000 */ nop +/* 91BA58 80240178 45030001 */ bc1tl .L80240180 +/* 91BA5C 8024017C 0000802D */ daddu $s0, $zero, $zero +.L80240180: +/* 91BA60 80240180 8E420000 */ lw $v0, ($s2) +/* 91BA64 80240184 C620003C */ lwc1 $f0, 0x3c($s1) +/* 91BA68 80240188 C442002C */ lwc1 $f2, 0x2c($v0) +/* 91BA6C 8024018C 46020001 */ sub.s $f0, $f0, $f2 +/* 91BA70 80240190 3C014220 */ lui $at, 0x4220 +/* 91BA74 80240194 44811000 */ mtc1 $at, $f2 +/* 91BA78 80240198 46000005 */ abs.s $f0, $f0 +/* 91BA7C 8024019C 4600103E */ c.le.s $f2, $f0 +/* 91BA80 802401A0 00000000 */ nop +/* 91BA84 802401A4 45030001 */ bc1tl .L802401AC +/* 91BA88 802401A8 0000802D */ daddu $s0, $zero, $zero +.L802401AC: +/* 91BA8C 802401AC 3C038011 */ lui $v1, 0x8011 +/* 91BA90 802401B0 8063EBB3 */ lb $v1, -0x144d($v1) +/* 91BA94 802401B4 24020009 */ addiu $v0, $zero, 9 +/* 91BA98 802401B8 50620001 */ beql $v1, $v0, .L802401C0 +/* 91BA9C 802401BC 0000802D */ daddu $s0, $zero, $zero +.L802401C0: +/* 91BAA0 802401C0 0200102D */ daddu $v0, $s0, $zero +/* 91BAA4 802401C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 91BAA8 802401C8 8FB20018 */ lw $s2, 0x18($sp) +/* 91BAAC 802401CC 8FB10014 */ lw $s1, 0x14($sp) +/* 91BAB0 802401D0 8FB00010 */ lw $s0, 0x10($sp) +/* 91BAB4 802401D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 91BAB8 802401D8 03E00008 */ jr $ra +/* 91BABC 802401DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_802401E0_91B8E0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_802401E0_91B8E0.s new file mode 100644 index 0000000000..28a2eff00e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_802401E0_91B8E0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401E0_91BAC0 +/* 91BAC0 802401E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91BAC4 802401E4 AFB10014 */ sw $s1, 0x14($sp) +/* 91BAC8 802401E8 0080882D */ daddu $s1, $a0, $zero +/* 91BACC 802401EC AFBF001C */ sw $ra, 0x1c($sp) +/* 91BAD0 802401F0 AFB20018 */ sw $s2, 0x18($sp) +/* 91BAD4 802401F4 AFB00010 */ sw $s0, 0x10($sp) +/* 91BAD8 802401F8 8E320148 */ lw $s2, 0x148($s1) +/* 91BADC 802401FC 0C00EABB */ jal get_npc_unsafe +/* 91BAE0 80240200 86440008 */ lh $a0, 8($s2) +/* 91BAE4 80240204 0040802D */ daddu $s0, $v0, $zero +/* 91BAE8 80240208 0C00EAFF */ jal disable_npc_shadow +/* 91BAEC 8024020C 0200202D */ daddu $a0, $s0, $zero +/* 91BAF0 80240210 24020016 */ addiu $v0, $zero, 0x16 +/* 91BAF4 80240214 A60200A8 */ sh $v0, 0xa8($s0) +/* 91BAF8 80240218 24020018 */ addiu $v0, $zero, 0x18 +/* 91BAFC 8024021C A60200A6 */ sh $v0, 0xa6($s0) +/* 91BB00 80240220 AE200074 */ sw $zero, 0x74($s1) +/* 91BB04 80240224 A600008E */ sh $zero, 0x8e($s0) +/* 91BB08 80240228 8E4200CC */ lw $v0, 0xcc($s2) +/* 91BB0C 8024022C 8C420020 */ lw $v0, 0x20($v0) +/* 91BB10 80240230 AE020028 */ sw $v0, 0x28($s0) +/* 91BB14 80240234 24020001 */ addiu $v0, $zero, 1 +/* 91BB18 80240238 AE220070 */ sw $v0, 0x70($s1) +/* 91BB1C 8024023C 8FBF001C */ lw $ra, 0x1c($sp) +/* 91BB20 80240240 8FB20018 */ lw $s2, 0x18($sp) +/* 91BB24 80240244 8FB10014 */ lw $s1, 0x14($sp) +/* 91BB28 80240248 8FB00010 */ lw $s0, 0x10($sp) +/* 91BB2C 8024024C 03E00008 */ jr $ra +/* 91BB30 80240250 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240254.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240254.s new file mode 100644 index 0000000000..121c58dd6b --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240254.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240254 +/* 91BB34 80240254 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 91BB38 80240258 AFB3003C */ sw $s3, 0x3c($sp) +/* 91BB3C 8024025C 0080982D */ daddu $s3, $a0, $zero +/* 91BB40 80240260 AFBF0044 */ sw $ra, 0x44($sp) +/* 91BB44 80240264 AFB40040 */ sw $s4, 0x40($sp) +/* 91BB48 80240268 AFB20038 */ sw $s2, 0x38($sp) +/* 91BB4C 8024026C AFB10034 */ sw $s1, 0x34($sp) +/* 91BB50 80240270 AFB00030 */ sw $s0, 0x30($sp) +/* 91BB54 80240274 8E700148 */ lw $s0, 0x148($s3) +/* 91BB58 80240278 00A0902D */ daddu $s2, $a1, $zero +/* 91BB5C 8024027C 86040008 */ lh $a0, 8($s0) +/* 91BB60 80240280 0C00EABB */ jal get_npc_unsafe +/* 91BB64 80240284 00C0A02D */ daddu $s4, $a2, $zero +/* 91BB68 80240288 8E630074 */ lw $v1, 0x74($s3) +/* 91BB6C 8024028C 1C600032 */ bgtz $v1, .L80240358 +/* 91BB70 80240290 0040882D */ daddu $s1, $v0, $zero +/* 91BB74 80240294 8E420014 */ lw $v0, 0x14($s2) +/* 91BB78 80240298 AE620074 */ sw $v0, 0x74($s3) +/* 91BB7C 8024029C C640000C */ lwc1 $f0, 0xc($s2) +/* 91BB80 802402A0 3C018024 */ lui $at, 0x8024 +/* 91BB84 802402A4 D4222BA0 */ ldc1 $f2, 0x2ba0($at) +/* 91BB88 802402A8 46000021 */ cvt.d.s $f0, $f0 +/* 91BB8C 802402AC 46220002 */ mul.d $f0, $f0, $f2 +/* 91BB90 802402B0 00000000 */ nop +/* 91BB94 802402B4 0280202D */ daddu $a0, $s4, $zero +/* 91BB98 802402B8 AFA00010 */ sw $zero, 0x10($sp) +/* 91BB9C 802402BC 8E470010 */ lw $a3, 0x10($s2) +/* 91BBA0 802402C0 46200020 */ cvt.s.d $f0, $f0 +/* 91BBA4 802402C4 44060000 */ mfc1 $a2, $f0 +/* 91BBA8 802402C8 0C01242D */ jal func_800490B4 +/* 91BBAC 802402CC 0200282D */ daddu $a1, $s0, $zero +/* 91BBB0 802402D0 10400021 */ beqz $v0, .L80240358 +/* 91BBB4 802402D4 0000202D */ daddu $a0, $zero, $zero +/* 91BBB8 802402D8 0220282D */ daddu $a1, $s1, $zero +/* 91BBBC 802402DC 0000302D */ daddu $a2, $zero, $zero +/* 91BBC0 802402E0 8E0200CC */ lw $v0, 0xcc($s0) +/* 91BBC4 802402E4 3C013F80 */ lui $at, 0x3f80 +/* 91BBC8 802402E8 44810000 */ mtc1 $at, $f0 +/* 91BBCC 802402EC 3C014000 */ lui $at, 0x4000 +/* 91BBD0 802402F0 44811000 */ mtc1 $at, $f2 +/* 91BBD4 802402F4 8C430024 */ lw $v1, 0x24($v0) +/* 91BBD8 802402F8 862200A8 */ lh $v0, 0xa8($s1) +/* 91BBDC 802402FC 3C01C1A0 */ lui $at, 0xc1a0 +/* 91BBE0 80240300 44812000 */ mtc1 $at, $f4 +/* 91BBE4 80240304 44823000 */ mtc1 $v0, $f6 +/* 91BBE8 80240308 00000000 */ nop +/* 91BBEC 8024030C 468031A0 */ cvt.s.w $f6, $f6 +/* 91BBF0 80240310 44073000 */ mfc1 $a3, $f6 +/* 91BBF4 80240314 2402000F */ addiu $v0, $zero, 0xf +/* 91BBF8 80240318 AE230028 */ sw $v1, 0x28($s1) +/* 91BBFC 8024031C AFA2001C */ sw $v0, 0x1c($sp) +/* 91BC00 80240320 27A20028 */ addiu $v0, $sp, 0x28 +/* 91BC04 80240324 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91BC08 80240328 E7A20014 */ swc1 $f2, 0x14($sp) +/* 91BC0C 8024032C E7A40018 */ swc1 $f4, 0x18($sp) +/* 91BC10 80240330 0C01BFA4 */ jal fx_emote +/* 91BC14 80240334 AFA20020 */ sw $v0, 0x20($sp) +/* 91BC18 80240338 0220202D */ daddu $a0, $s1, $zero +/* 91BC1C 8024033C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 91BC20 80240340 0C012530 */ jal func_800494C0 +/* 91BC24 80240344 3C060020 */ lui $a2, 0x20 +/* 91BC28 80240348 2402000C */ addiu $v0, $zero, 0xc +/* 91BC2C 8024034C A622008E */ sh $v0, 0x8e($s1) +/* 91BC30 80240350 24020002 */ addiu $v0, $zero, 2 +/* 91BC34 80240354 AE620070 */ sw $v0, 0x70($s3) +.L80240358: +/* 91BC38 80240358 8E620074 */ lw $v0, 0x74($s3) +/* 91BC3C 8024035C 2442FFFF */ addiu $v0, $v0, -1 +/* 91BC40 80240360 AE620074 */ sw $v0, 0x74($s3) +/* 91BC44 80240364 8FBF0044 */ lw $ra, 0x44($sp) +/* 91BC48 80240368 8FB40040 */ lw $s4, 0x40($sp) +/* 91BC4C 8024036C 8FB3003C */ lw $s3, 0x3c($sp) +/* 91BC50 80240370 8FB20038 */ lw $s2, 0x38($sp) +/* 91BC54 80240374 8FB10034 */ lw $s1, 0x34($sp) +/* 91BC58 80240378 8FB00030 */ lw $s0, 0x30($sp) +/* 91BC5C 8024037C 03E00008 */ jr $ra +/* 91BC60 80240380 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240384.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240384.s new file mode 100644 index 0000000000..89f7f94e95 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240384.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240384 +/* 91BC64 80240384 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91BC68 80240388 AFB20018 */ sw $s2, 0x18($sp) +/* 91BC6C 8024038C 0080902D */ daddu $s2, $a0, $zero +/* 91BC70 80240390 AFBF001C */ sw $ra, 0x1c($sp) +/* 91BC74 80240394 AFB10014 */ sw $s1, 0x14($sp) +/* 91BC78 80240398 AFB00010 */ sw $s0, 0x10($sp) +/* 91BC7C 8024039C 8E510148 */ lw $s1, 0x148($s2) +/* 91BC80 802403A0 0C00EABB */ jal get_npc_unsafe +/* 91BC84 802403A4 86240008 */ lh $a0, 8($s1) +/* 91BC88 802403A8 0040802D */ daddu $s0, $v0, $zero +/* 91BC8C 802403AC 9602008E */ lhu $v0, 0x8e($s0) +/* 91BC90 802403B0 2442FFFF */ addiu $v0, $v0, -1 +/* 91BC94 802403B4 A602008E */ sh $v0, 0x8e($s0) +/* 91BC98 802403B8 00021400 */ sll $v0, $v0, 0x10 +/* 91BC9C 802403BC 1C400012 */ bgtz $v0, .L80240408 +/* 91BCA0 802403C0 00000000 */ nop +/* 91BCA4 802403C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91BCA8 802403C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91BCAC 802403CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91BCB0 802403D0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91BCB4 802403D4 8C460028 */ lw $a2, 0x28($v0) +/* 91BCB8 802403D8 0C00A720 */ jal atan2 +/* 91BCBC 802403DC 8C470030 */ lw $a3, 0x30($v0) +/* 91BCC0 802403E0 0200202D */ daddu $a0, $s0, $zero +/* 91BCC4 802403E4 0C00EAE8 */ jal enable_npc_shadow +/* 91BCC8 802403E8 E600000C */ swc1 $f0, 0xc($s0) +/* 91BCCC 802403EC 8E2200CC */ lw $v0, 0xcc($s1) +/* 91BCD0 802403F0 8C430028 */ lw $v1, 0x28($v0) +/* 91BCD4 802403F4 24020008 */ addiu $v0, $zero, 8 +/* 91BCD8 802403F8 A602008E */ sh $v0, 0x8e($s0) +/* 91BCDC 802403FC 24020003 */ addiu $v0, $zero, 3 +/* 91BCE0 80240400 AE030028 */ sw $v1, 0x28($s0) +/* 91BCE4 80240404 AE420070 */ sw $v0, 0x70($s2) +.L80240408: +/* 91BCE8 80240408 8FBF001C */ lw $ra, 0x1c($sp) +/* 91BCEC 8024040C 8FB20018 */ lw $s2, 0x18($sp) +/* 91BCF0 80240410 8FB10014 */ lw $s1, 0x14($sp) +/* 91BCF4 80240414 8FB00010 */ lw $s0, 0x10($sp) +/* 91BCF8 80240418 03E00008 */ jr $ra +/* 91BCFC 8024041C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240420.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240420.s new file mode 100644 index 0000000000..dd1a7fa7d9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240420.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240420 +/* 91BD00 80240420 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91BD04 80240424 AFB10014 */ sw $s1, 0x14($sp) +/* 91BD08 80240428 0080882D */ daddu $s1, $a0, $zero +/* 91BD0C 8024042C AFBF0018 */ sw $ra, 0x18($sp) +/* 91BD10 80240430 AFB00010 */ sw $s0, 0x10($sp) +/* 91BD14 80240434 8E220148 */ lw $v0, 0x148($s1) +/* 91BD18 80240438 0C00EABB */ jal get_npc_unsafe +/* 91BD1C 8024043C 84440008 */ lh $a0, 8($v0) +/* 91BD20 80240440 0040802D */ daddu $s0, $v0, $zero +/* 91BD24 80240444 9602008E */ lhu $v0, 0x8e($s0) +/* 91BD28 80240448 2442FFFF */ addiu $v0, $v0, -1 +/* 91BD2C 8024044C A602008E */ sh $v0, 0x8e($s0) +/* 91BD30 80240450 00021400 */ sll $v0, $v0, 0x10 +/* 91BD34 80240454 1C40000F */ bgtz $v0, .L80240494 +/* 91BD38 80240458 00000000 */ nop +/* 91BD3C 8024045C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91BD40 80240460 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91BD44 80240464 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91BD48 80240468 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91BD4C 8024046C 8C460028 */ lw $a2, 0x28($v0) +/* 91BD50 80240470 0C00A720 */ jal atan2 +/* 91BD54 80240474 8C470030 */ lw $a3, 0x30($v0) +/* 91BD58 80240478 2402001A */ addiu $v0, $zero, 0x1a +/* 91BD5C 8024047C A60200A8 */ sh $v0, 0xa8($s0) +/* 91BD60 80240480 24020018 */ addiu $v0, $zero, 0x18 +/* 91BD64 80240484 A60200A6 */ sh $v0, 0xa6($s0) +/* 91BD68 80240488 24020004 */ addiu $v0, $zero, 4 +/* 91BD6C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* 91BD70 80240490 AE220070 */ sw $v0, 0x70($s1) +.L80240494: +/* 91BD74 80240494 8FBF0018 */ lw $ra, 0x18($sp) +/* 91BD78 80240498 8FB10014 */ lw $s1, 0x14($sp) +/* 91BD7C 8024049C 8FB00010 */ lw $s0, 0x10($sp) +/* 91BD80 802404A0 03E00008 */ jr $ra +/* 91BD84 802404A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_802404A8_91B8E0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_802404A8_91B8E0.s new file mode 100644 index 0000000000..1dbb910c38 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_802404A8_91B8E0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A8_91BD88 +/* 91BD88 802404A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91BD8C 802404AC AFB10014 */ sw $s1, 0x14($sp) +/* 91BD90 802404B0 0080882D */ daddu $s1, $a0, $zero +/* 91BD94 802404B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 91BD98 802404B8 AFB20018 */ sw $s2, 0x18($sp) +/* 91BD9C 802404BC AFB00010 */ sw $s0, 0x10($sp) +/* 91BDA0 802404C0 8E320148 */ lw $s2, 0x148($s1) +/* 91BDA4 802404C4 0C00EABB */ jal get_npc_unsafe +/* 91BDA8 802404C8 86440008 */ lh $a0, 8($s2) +/* 91BDAC 802404CC 240400B4 */ addiu $a0, $zero, 0xb4 +/* 91BDB0 802404D0 0C00A67F */ jal rand_int +/* 91BDB4 802404D4 0040802D */ daddu $s0, $v0, $zero +/* 91BDB8 802404D8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 91BDBC 802404DC 44820000 */ mtc1 $v0, $f0 +/* 91BDC0 802404E0 00000000 */ nop +/* 91BDC4 802404E4 46800020 */ cvt.s.w $f0, $f0 +/* 91BDC8 802404E8 46006300 */ add.s $f12, $f12, $f0 +/* 91BDCC 802404EC 3C0142B4 */ lui $at, 0x42b4 +/* 91BDD0 802404F0 44810000 */ mtc1 $at, $f0 +/* 91BDD4 802404F4 0C00A6C9 */ jal clamp_angle +/* 91BDD8 802404F8 46006301 */ sub.s $f12, $f12, $f0 +/* 91BDDC 802404FC E600000C */ swc1 $f0, 0xc($s0) +/* 91BDE0 80240500 8E4200CC */ lw $v0, 0xcc($s2) +/* 91BDE4 80240504 8C420000 */ lw $v0, ($v0) +/* 91BDE8 80240508 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 91BDEC 8024050C 0C00A67F */ jal rand_int +/* 91BDF0 80240510 AE020028 */ sw $v0, 0x28($s0) +/* 91BDF4 80240514 00021FC2 */ srl $v1, $v0, 0x1f +/* 91BDF8 80240518 00431821 */ addu $v1, $v0, $v1 +/* 91BDFC 8024051C 00031843 */ sra $v1, $v1, 1 +/* 91BE00 80240520 00031840 */ sll $v1, $v1, 1 +/* 91BE04 80240524 00431023 */ subu $v0, $v0, $v1 +/* 91BE08 80240528 24420002 */ addiu $v0, $v0, 2 +/* 91BE0C 8024052C AE220074 */ sw $v0, 0x74($s1) +/* 91BE10 80240530 24020005 */ addiu $v0, $zero, 5 +/* 91BE14 80240534 AE220070 */ sw $v0, 0x70($s1) +/* 91BE18 80240538 8FBF001C */ lw $ra, 0x1c($sp) +/* 91BE1C 8024053C 8FB20018 */ lw $s2, 0x18($sp) +/* 91BE20 80240540 8FB10014 */ lw $s1, 0x14($sp) +/* 91BE24 80240544 8FB00010 */ lw $s0, 0x10($sp) +/* 91BE28 80240548 03E00008 */ jr $ra +/* 91BE2C 8024054C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240550.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240550.s new file mode 100644 index 0000000000..38001feea4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240550.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240550 +/* 91BE30 80240550 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 91BE34 80240554 AFB3003C */ sw $s3, 0x3c($sp) +/* 91BE38 80240558 0080982D */ daddu $s3, $a0, $zero +/* 91BE3C 8024055C AFBF0040 */ sw $ra, 0x40($sp) +/* 91BE40 80240560 AFB20038 */ sw $s2, 0x38($sp) +/* 91BE44 80240564 AFB10034 */ sw $s1, 0x34($sp) +/* 91BE48 80240568 AFB00030 */ sw $s0, 0x30($sp) +/* 91BE4C 8024056C 8E700148 */ lw $s0, 0x148($s3) +/* 91BE50 80240570 00A0902D */ daddu $s2, $a1, $zero +/* 91BE54 80240574 86040008 */ lh $a0, 8($s0) +/* 91BE58 80240578 0C00EABB */ jal get_npc_unsafe +/* 91BE5C 8024057C 00C0882D */ daddu $s1, $a2, $zero +/* 91BE60 80240580 0220202D */ daddu $a0, $s1, $zero +/* 91BE64 80240584 0200282D */ daddu $a1, $s0, $zero +/* 91BE68 80240588 AFA00010 */ sw $zero, 0x10($sp) +/* 91BE6C 8024058C 8E460024 */ lw $a2, 0x24($s2) +/* 91BE70 80240590 8E470028 */ lw $a3, 0x28($s2) +/* 91BE74 80240594 0C01242D */ jal func_800490B4 +/* 91BE78 80240598 0040802D */ daddu $s0, $v0, $zero +/* 91BE7C 8024059C 1040000B */ beqz $v0, .L802405CC +/* 91BE80 802405A0 00000000 */ nop +/* 91BE84 802405A4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91BE88 802405A8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91BE8C 802405AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91BE90 802405B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91BE94 802405B4 8C460028 */ lw $a2, 0x28($v0) +/* 91BE98 802405B8 0C00A720 */ jal atan2 +/* 91BE9C 802405BC 8C470030 */ lw $a3, 0x30($v0) +/* 91BEA0 802405C0 2402000C */ addiu $v0, $zero, 0xc +/* 91BEA4 802405C4 080901A9 */ j .L802406A4 +/* 91BEA8 802405C8 E600000C */ swc1 $f0, 0xc($s0) +.L802405CC: +/* 91BEAC 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* 91BEB0 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* 91BEB4 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* 91BEB8 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* 91BEBC 802405DC 1C400032 */ bgtz $v0, .L802406A8 +/* 91BEC0 802405E0 00000000 */ nop +/* 91BEC4 802405E4 8E620074 */ lw $v0, 0x74($s3) +/* 91BEC8 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* 91BECC 802405EC 18400014 */ blez $v0, .L80240640 +/* 91BED0 802405F0 AE620074 */ sw $v0, 0x74($s3) +/* 91BED4 802405F4 C600000C */ lwc1 $f0, 0xc($s0) +/* 91BED8 802405F8 3C014334 */ lui $at, 0x4334 +/* 91BEDC 802405FC 44816000 */ mtc1 $at, $f12 +/* 91BEE0 80240600 0C00A6C9 */ jal clamp_angle +/* 91BEE4 80240604 460C0300 */ add.s $f12, $f0, $f12 +/* 91BEE8 80240608 E600000C */ swc1 $f0, 0xc($s0) +/* 91BEEC 8024060C 8E440008 */ lw $a0, 8($s2) +/* 91BEF0 80240610 000417C2 */ srl $v0, $a0, 0x1f +/* 91BEF4 80240614 00822021 */ addu $a0, $a0, $v0 +/* 91BEF8 80240618 00042043 */ sra $a0, $a0, 1 +/* 91BEFC 8024061C 0C00A67F */ jal rand_int +/* 91BF00 80240620 24840001 */ addiu $a0, $a0, 1 +/* 91BF04 80240624 8E430008 */ lw $v1, 8($s2) +/* 91BF08 80240628 000327C2 */ srl $a0, $v1, 0x1f +/* 91BF0C 8024062C 00641821 */ addu $v1, $v1, $a0 +/* 91BF10 80240630 00031843 */ sra $v1, $v1, 1 +/* 91BF14 80240634 00621821 */ addu $v1, $v1, $v0 +/* 91BF18 80240638 080901AA */ j .L802406A8 +/* 91BF1C 8024063C A603008E */ sh $v1, 0x8e($s0) +.L80240640: +/* 91BF20 80240640 24040002 */ addiu $a0, $zero, 2 +/* 91BF24 80240644 0200282D */ daddu $a1, $s0, $zero +/* 91BF28 80240648 0000302D */ daddu $a2, $zero, $zero +/* 91BF2C 8024064C 860300A8 */ lh $v1, 0xa8($s0) +/* 91BF30 80240650 3C013F80 */ lui $at, 0x3f80 +/* 91BF34 80240654 44810000 */ mtc1 $at, $f0 +/* 91BF38 80240658 3C014000 */ lui $at, 0x4000 +/* 91BF3C 8024065C 44811000 */ mtc1 $at, $f2 +/* 91BF40 80240660 3C01C1A0 */ lui $at, 0xc1a0 +/* 91BF44 80240664 44812000 */ mtc1 $at, $f4 +/* 91BF48 80240668 2402000C */ addiu $v0, $zero, 0xc +/* 91BF4C 8024066C AFA2001C */ sw $v0, 0x1c($sp) +/* 91BF50 80240670 44833000 */ mtc1 $v1, $f6 +/* 91BF54 80240674 00000000 */ nop +/* 91BF58 80240678 468031A0 */ cvt.s.w $f6, $f6 +/* 91BF5C 8024067C 44073000 */ mfc1 $a3, $f6 +/* 91BF60 80240680 27A20028 */ addiu $v0, $sp, 0x28 +/* 91BF64 80240684 AFA20020 */ sw $v0, 0x20($sp) +/* 91BF68 80240688 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91BF6C 8024068C E7A20014 */ swc1 $f2, 0x14($sp) +/* 91BF70 80240690 0C01BFA4 */ jal fx_emote +/* 91BF74 80240694 E7A40018 */ swc1 $f4, 0x18($sp) +/* 91BF78 80240698 2402000F */ addiu $v0, $zero, 0xf +/* 91BF7C 8024069C A602008E */ sh $v0, 0x8e($s0) +/* 91BF80 802406A0 24020028 */ addiu $v0, $zero, 0x28 +.L802406A4: +/* 91BF84 802406A4 AE620070 */ sw $v0, 0x70($s3) +.L802406A8: +/* 91BF88 802406A8 8FBF0040 */ lw $ra, 0x40($sp) +/* 91BF8C 802406AC 8FB3003C */ lw $s3, 0x3c($sp) +/* 91BF90 802406B0 8FB20038 */ lw $s2, 0x38($sp) +/* 91BF94 802406B4 8FB10034 */ lw $s1, 0x34($sp) +/* 91BF98 802406B8 8FB00030 */ lw $s0, 0x30($sp) +/* 91BF9C 802406BC 03E00008 */ jr $ra +/* 91BFA0 802406C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_802406C4_91B8E0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_802406C4_91B8E0.s new file mode 100644 index 0000000000..9b1e7f68e7 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_802406C4_91B8E0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4_91BFA4 +/* 91BFA4 802406C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91BFA8 802406C8 AFB10014 */ sw $s1, 0x14($sp) +/* 91BFAC 802406CC 0080882D */ daddu $s1, $a0, $zero +/* 91BFB0 802406D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 91BFB4 802406D4 AFB00010 */ sw $s0, 0x10($sp) +/* 91BFB8 802406D8 8E300148 */ lw $s0, 0x148($s1) +/* 91BFBC 802406DC 0C00EABB */ jal get_npc_unsafe +/* 91BFC0 802406E0 86040008 */ lh $a0, 8($s0) +/* 91BFC4 802406E4 96030096 */ lhu $v1, 0x96($s0) +/* 91BFC8 802406E8 A443008E */ sh $v1, 0x8e($v0) +/* 91BFCC 802406EC 8E0300CC */ lw $v1, 0xcc($s0) +/* 91BFD0 802406F0 8C630034 */ lw $v1, 0x34($v1) +/* 91BFD4 802406F4 AC430028 */ sw $v1, 0x28($v0) +/* 91BFD8 802406F8 24020015 */ addiu $v0, $zero, 0x15 +/* 91BFDC 802406FC AE220070 */ sw $v0, 0x70($s1) +/* 91BFE0 80240700 8FBF0018 */ lw $ra, 0x18($sp) +/* 91BFE4 80240704 8FB10014 */ lw $s1, 0x14($sp) +/* 91BFE8 80240708 8FB00010 */ lw $s0, 0x10($sp) +/* 91BFEC 8024070C 03E00008 */ jr $ra +/* 91BFF0 80240710 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240714.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240714.s new file mode 100644 index 0000000000..aa787fb909 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240714.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240714 +/* 91BFF4 80240714 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 91BFF8 80240718 AFB30024 */ sw $s3, 0x24($sp) +/* 91BFFC 8024071C 0080982D */ daddu $s3, $a0, $zero +/* 91C000 80240720 AFBF002C */ sw $ra, 0x2c($sp) +/* 91C004 80240724 AFB40028 */ sw $s4, 0x28($sp) +/* 91C008 80240728 AFB20020 */ sw $s2, 0x20($sp) +/* 91C00C 8024072C AFB1001C */ sw $s1, 0x1c($sp) +/* 91C010 80240730 AFB00018 */ sw $s0, 0x18($sp) +/* 91C014 80240734 8E710148 */ lw $s1, 0x148($s3) +/* 91C018 80240738 86240008 */ lh $a0, 8($s1) +/* 91C01C 8024073C 0C00EABB */ jal get_npc_unsafe +/* 91C020 80240740 00A0A02D */ daddu $s4, $a1, $zero +/* 91C024 80240744 0040802D */ daddu $s0, $v0, $zero +/* 91C028 80240748 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 91C02C 8024074C 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 91C030 80240750 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91C034 80240754 8E420000 */ lw $v0, ($s2) +/* 91C038 80240758 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91C03C 8024075C 8C460028 */ lw $a2, 0x28($v0) +/* 91C040 80240760 0C00A720 */ jal atan2 +/* 91C044 80240764 8C470030 */ lw $a3, 0x30($v0) +/* 91C048 80240768 3C025555 */ lui $v0, 0x5555 +/* 91C04C 8024076C 9603008E */ lhu $v1, 0x8e($s0) +/* 91C050 80240770 34425556 */ ori $v0, $v0, 0x5556 +/* 91C054 80240774 00031C00 */ sll $v1, $v1, 0x10 +/* 91C058 80240778 00032403 */ sra $a0, $v1, 0x10 +/* 91C05C 8024077C 00820018 */ mult $a0, $v0 +/* 91C060 80240780 00031FC3 */ sra $v1, $v1, 0x1f +/* 91C064 80240784 00004010 */ mfhi $t0 +/* 91C068 80240788 01031823 */ subu $v1, $t0, $v1 +/* 91C06C 8024078C 00031040 */ sll $v0, $v1, 1 +/* 91C070 80240790 00431021 */ addu $v0, $v0, $v1 +/* 91C074 80240794 00822023 */ subu $a0, $a0, $v0 +/* 91C078 80240798 00042400 */ sll $a0, $a0, 0x10 +/* 91C07C 8024079C 1480000C */ bnez $a0, .L802407D0 +/* 91C080 802407A0 E600000C */ swc1 $f0, 0xc($s0) +/* 91C084 802407A4 C6020040 */ lwc1 $f2, 0x40($s0) +/* 91C088 802407A8 3C014000 */ lui $at, 0x4000 +/* 91C08C 802407AC 44810000 */ mtc1 $at, $f0 +/* 91C090 802407B0 AFA00010 */ sw $zero, 0x10($sp) +/* 91C094 802407B4 AFA00014 */ sw $zero, 0x14($sp) +/* 91C098 802407B8 46001080 */ add.s $f2, $f2, $f0 +/* 91C09C 802407BC 8E06003C */ lw $a2, 0x3c($s0) +/* 91C0A0 802407C0 8E050038 */ lw $a1, 0x38($s0) +/* 91C0A4 802407C4 44071000 */ mfc1 $a3, $f2 +/* 91C0A8 802407C8 0C01BECC */ jal fx_walk_normal +/* 91C0AC 802407CC 24040002 */ addiu $a0, $zero, 2 +.L802407D0: +/* 91C0B0 802407D0 9602008E */ lhu $v0, 0x8e($s0) +/* 91C0B4 802407D4 2442FFFF */ addiu $v0, $v0, -1 +/* 91C0B8 802407D8 A602008E */ sh $v0, 0x8e($s0) +/* 91C0BC 802407DC 00021400 */ sll $v0, $v0, 0x10 +/* 91C0C0 802407E0 1C40002C */ bgtz $v0, .L80240894 +/* 91C0C4 802407E4 00000000 */ nop +/* 91C0C8 802407E8 C6000038 */ lwc1 $f0, 0x38($s0) +/* 91C0CC 802407EC 4600010D */ trunc.w.s $f4, $f0 +/* 91C0D0 802407F0 44022000 */ mfc1 $v0, $f4 +/* 91C0D4 802407F4 00000000 */ nop +/* 91C0D8 802407F8 A6220010 */ sh $v0, 0x10($s1) +/* 91C0DC 802407FC C600003C */ lwc1 $f0, 0x3c($s0) +/* 91C0E0 80240800 4600010D */ trunc.w.s $f4, $f0 +/* 91C0E4 80240804 44022000 */ mfc1 $v0, $f4 +/* 91C0E8 80240808 00000000 */ nop +/* 91C0EC 8024080C A6220012 */ sh $v0, 0x12($s1) +/* 91C0F0 80240810 C6000040 */ lwc1 $f0, 0x40($s0) +/* 91C0F4 80240814 24020001 */ addiu $v0, $zero, 1 +/* 91C0F8 80240818 A2220007 */ sb $v0, 7($s1) +/* 91C0FC 8024081C 4600010D */ trunc.w.s $f4, $f0 +/* 91C100 80240820 44022000 */ mfc1 $v0, $f4 +/* 91C104 80240824 00000000 */ nop +/* 91C108 80240828 A6220014 */ sh $v0, 0x14($s1) +/* 91C10C 8024082C C6800018 */ lwc1 $f0, 0x18($s4) +/* 91C110 80240830 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91C114 80240834 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91C118 80240838 8E420000 */ lw $v0, ($s2) +/* 91C11C 8024083C E6000018 */ swc1 $f0, 0x18($s0) +/* 91C120 80240840 8C460028 */ lw $a2, 0x28($v0) +/* 91C124 80240844 0C00A7B5 */ jal dist2D +/* 91C128 80240848 8C470030 */ lw $a3, 0x30($v0) +/* 91C12C 8024084C C6020018 */ lwc1 $f2, 0x18($s0) +/* 91C130 80240850 46020003 */ div.s $f0, $f0, $f2 +/* 91C134 80240854 3C018024 */ lui $at, 0x8024 +/* 91C138 80240858 D4222BA8 */ ldc1 $f2, 0x2ba8($at) +/* 91C13C 8024085C 46000021 */ cvt.d.s $f0, $f0 +/* 91C140 80240860 46220000 */ add.d $f0, $f0, $f2 +/* 91C144 80240864 4620010D */ trunc.w.d $f4, $f0 +/* 91C148 80240868 44022000 */ mfc1 $v0, $f4 +/* 91C14C 8024086C 00000000 */ nop +/* 91C150 80240870 A602008E */ sh $v0, 0x8e($s0) +/* 91C154 80240874 00021400 */ sll $v0, $v0, 0x10 +/* 91C158 80240878 00021403 */ sra $v0, $v0, 0x10 +/* 91C15C 8024087C 2842000F */ slti $v0, $v0, 0xf +/* 91C160 80240880 10400002 */ beqz $v0, .L8024088C +/* 91C164 80240884 2402000F */ addiu $v0, $zero, 0xf +/* 91C168 80240888 A602008E */ sh $v0, 0x8e($s0) +.L8024088C: +/* 91C16C 8024088C 24020016 */ addiu $v0, $zero, 0x16 +/* 91C170 80240890 AE620070 */ sw $v0, 0x70($s3) +.L80240894: +/* 91C174 80240894 8FBF002C */ lw $ra, 0x2c($sp) +/* 91C178 80240898 8FB40028 */ lw $s4, 0x28($sp) +/* 91C17C 8024089C 8FB30024 */ lw $s3, 0x24($sp) +/* 91C180 802408A0 8FB20020 */ lw $s2, 0x20($sp) +/* 91C184 802408A4 8FB1001C */ lw $s1, 0x1c($sp) +/* 91C188 802408A8 8FB00018 */ lw $s0, 0x18($sp) +/* 91C18C 802408AC 03E00008 */ jr $ra +/* 91C190 802408B0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_802408B4.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_802408B4.s new file mode 100644 index 0000000000..352da189f4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_802408B4.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B4 +/* 91C194 802408B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 91C198 802408B8 AFB3003C */ sw $s3, 0x3c($sp) +/* 91C19C 802408BC 0080982D */ daddu $s3, $a0, $zero +/* 91C1A0 802408C0 AFBF0040 */ sw $ra, 0x40($sp) +/* 91C1A4 802408C4 AFB20038 */ sw $s2, 0x38($sp) +/* 91C1A8 802408C8 AFB10034 */ sw $s1, 0x34($sp) +/* 91C1AC 802408CC AFB00030 */ sw $s0, 0x30($sp) +/* 91C1B0 802408D0 8E720148 */ lw $s2, 0x148($s3) +/* 91C1B4 802408D4 0C00EABB */ jal get_npc_unsafe +/* 91C1B8 802408D8 86440008 */ lh $a0, 8($s2) +/* 91C1BC 802408DC 0040802D */ daddu $s0, $v0, $zero +/* 91C1C0 802408E0 0200202D */ daddu $a0, $s0, $zero +/* 91C1C4 802408E4 0C00F598 */ jal func_8003D660 +/* 91C1C8 802408E8 24050001 */ addiu $a1, $zero, 1 +/* 91C1CC 802408EC 8E050018 */ lw $a1, 0x18($s0) +/* 91C1D0 802408F0 8E06000C */ lw $a2, 0xc($s0) +/* 91C1D4 802408F4 0C00EA95 */ jal npc_move_heading +/* 91C1D8 802408F8 0200202D */ daddu $a0, $s0, $zero +/* 91C1DC 802408FC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 91C1E0 80240900 C6000040 */ lwc1 $f0, 0x40($s0) +/* 91C1E4 80240904 C462001C */ lwc1 $f2, 0x1c($v1) +/* 91C1E8 80240908 468010A0 */ cvt.s.w $f2, $f2 +/* 91C1EC 8024090C C4640024 */ lwc1 $f4, 0x24($v1) +/* 91C1F0 80240910 46802120 */ cvt.s.w $f4, $f4 +/* 91C1F4 80240914 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91C1F8 80240918 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C1FC 8024091C 44051000 */ mfc1 $a1, $f2 +/* 91C200 80240920 C4400028 */ lwc1 $f0, 0x28($v0) +/* 91C204 80240924 46800020 */ cvt.s.w $f0, $f0 +/* 91C208 80240928 E7A00014 */ swc1 $f0, 0x14($sp) +/* 91C20C 8024092C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C210 80240930 44062000 */ mfc1 $a2, $f4 +/* 91C214 80240934 C440002C */ lwc1 $f0, 0x2c($v0) +/* 91C218 80240938 46800020 */ cvt.s.w $f0, $f0 +/* 91C21C 8024093C E7A00018 */ swc1 $f0, 0x18($sp) +/* 91C220 80240940 8C640030 */ lw $a0, 0x30($v1) +/* 91C224 80240944 0C0123F5 */ jal is_point_within_region +/* 91C228 80240948 8E070038 */ lw $a3, 0x38($s0) +/* 91C22C 8024094C C6000038 */ lwc1 $f0, 0x38($s0) +/* 91C230 80240950 C602003C */ lwc1 $f2, 0x3c($s0) +/* 91C234 80240954 C6040040 */ lwc1 $f4, 0x40($s0) +/* 91C238 80240958 3C013F80 */ lui $at, 0x3f80 +/* 91C23C 8024095C 44813000 */ mtc1 $at, $f6 +/* 91C240 80240960 E7A00020 */ swc1 $f0, 0x20($sp) +/* 91C244 80240964 E7A20024 */ swc1 $f2, 0x24($sp) +/* 91C248 80240968 E7A40028 */ swc1 $f4, 0x28($sp) +/* 91C24C 8024096C E7A60010 */ swc1 $f6, 0x10($sp) +/* 91C250 80240970 C600000C */ lwc1 $f0, 0xc($s0) +/* 91C254 80240974 0002882B */ sltu $s1, $zero, $v0 +/* 91C258 80240978 E7A00014 */ swc1 $f0, 0x14($sp) +/* 91C25C 8024097C 860200A8 */ lh $v0, 0xa8($s0) +/* 91C260 80240980 27A50020 */ addiu $a1, $sp, 0x20 +/* 91C264 80240984 44820000 */ mtc1 $v0, $f0 +/* 91C268 80240988 00000000 */ nop +/* 91C26C 8024098C 46800020 */ cvt.s.w $f0, $f0 +/* 91C270 80240990 E7A00018 */ swc1 $f0, 0x18($sp) +/* 91C274 80240994 860200A6 */ lh $v0, 0xa6($s0) +/* 91C278 80240998 27A60024 */ addiu $a2, $sp, 0x24 +/* 91C27C 8024099C 44820000 */ mtc1 $v0, $f0 +/* 91C280 802409A0 00000000 */ nop +/* 91C284 802409A4 46800020 */ cvt.s.w $f0, $f0 +/* 91C288 802409A8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 91C28C 802409AC 8E040080 */ lw $a0, 0x80($s0) +/* 91C290 802409B0 0C037711 */ jal func_800DDC44 +/* 91C294 802409B4 27A70028 */ addiu $a3, $sp, 0x28 +/* 91C298 802409B8 54400001 */ bnel $v0, $zero, .L802409C0 +/* 91C29C 802409BC 24110001 */ addiu $s1, $zero, 1 +.L802409C0: +/* 91C2A0 802409C0 9602008E */ lhu $v0, 0x8e($s0) +/* 91C2A4 802409C4 2442FFFF */ addiu $v0, $v0, -1 +/* 91C2A8 802409C8 A602008E */ sh $v0, 0x8e($s0) +/* 91C2AC 802409CC 00021400 */ sll $v0, $v0, 0x10 +/* 91C2B0 802409D0 58400001 */ blezl $v0, .L802409D8 +/* 91C2B4 802409D4 24110001 */ addiu $s1, $zero, 1 +.L802409D8: +/* 91C2B8 802409D8 12200003 */ beqz $s1, .L802409E8 +/* 91C2BC 802409DC 24020004 */ addiu $v0, $zero, 4 +/* 91C2C0 802409E0 AE620070 */ sw $v0, 0x70($s3) +/* 91C2C4 802409E4 A2400007 */ sb $zero, 7($s2) +.L802409E8: +/* 91C2C8 802409E8 8FBF0040 */ lw $ra, 0x40($sp) +/* 91C2CC 802409EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 91C2D0 802409F0 8FB20038 */ lw $s2, 0x38($sp) +/* 91C2D4 802409F4 8FB10034 */ lw $s1, 0x34($sp) +/* 91C2D8 802409F8 8FB00030 */ lw $s0, 0x30($sp) +/* 91C2DC 802409FC 03E00008 */ jr $ra +/* 91C2E0 80240A00 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240A04.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240A04.s new file mode 100644 index 0000000000..e460d3b6e1 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240A04.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A04 +/* 91C2E4 80240A04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91C2E8 80240A08 AFB20018 */ sw $s2, 0x18($sp) +/* 91C2EC 80240A0C 0080902D */ daddu $s2, $a0, $zero +/* 91C2F0 80240A10 AFBF001C */ sw $ra, 0x1c($sp) +/* 91C2F4 80240A14 AFB10014 */ sw $s1, 0x14($sp) +/* 91C2F8 80240A18 AFB00010 */ sw $s0, 0x10($sp) +/* 91C2FC 80240A1C 8E500148 */ lw $s0, 0x148($s2) +/* 91C300 80240A20 86040008 */ lh $a0, 8($s0) +/* 91C304 80240A24 0C00EABB */ jal get_npc_unsafe +/* 91C308 80240A28 00A0882D */ daddu $s1, $a1, $zero +/* 91C30C 80240A2C 0040182D */ daddu $v1, $v0, $zero +/* 91C310 80240A30 9462008E */ lhu $v0, 0x8e($v1) +/* 91C314 80240A34 2442FFFF */ addiu $v0, $v0, -1 +/* 91C318 80240A38 A462008E */ sh $v0, 0x8e($v1) +/* 91C31C 80240A3C 00021400 */ sll $v0, $v0, 0x10 +/* 91C320 80240A40 1C400015 */ bgtz $v0, .L80240A98 +/* 91C324 80240A44 00000000 */ nop +/* 91C328 80240A48 8E0200CC */ lw $v0, 0xcc($s0) +/* 91C32C 80240A4C 8C420004 */ lw $v0, 4($v0) +/* 91C330 80240A50 AC620028 */ sw $v0, 0x28($v1) +/* 91C334 80240A54 8E0200D0 */ lw $v0, 0xd0($s0) +/* 91C338 80240A58 8C420014 */ lw $v0, 0x14($v0) +/* 91C33C 80240A5C 04410004 */ bgez $v0, .L80240A70 +/* 91C340 80240A60 00000000 */ nop +/* 91C344 80240A64 C6200000 */ lwc1 $f0, ($s1) +/* 91C348 80240A68 080902A4 */ j .L80240A90 +/* 91C34C 80240A6C E4600018 */ swc1 $f0, 0x18($v1) +.L80240A70: +/* 91C350 80240A70 3C018024 */ lui $at, 0x8024 +/* 91C354 80240A74 D4222BB0 */ ldc1 $f2, 0x2bb0($at) +/* 91C358 80240A78 44820000 */ mtc1 $v0, $f0 +/* 91C35C 80240A7C 00000000 */ nop +/* 91C360 80240A80 46800021 */ cvt.d.w $f0, $f0 +/* 91C364 80240A84 46220003 */ div.d $f0, $f0, $f2 +/* 91C368 80240A88 46200020 */ cvt.s.d $f0, $f0 +/* 91C36C 80240A8C E4600018 */ swc1 $f0, 0x18($v1) +.L80240A90: +/* 91C370 80240A90 24020029 */ addiu $v0, $zero, 0x29 +/* 91C374 80240A94 AE420070 */ sw $v0, 0x70($s2) +.L80240A98: +/* 91C378 80240A98 8FBF001C */ lw $ra, 0x1c($sp) +/* 91C37C 80240A9C 8FB20018 */ lw $s2, 0x18($sp) +/* 91C380 80240AA0 8FB10014 */ lw $s1, 0x14($sp) +/* 91C384 80240AA4 8FB00010 */ lw $s0, 0x10($sp) +/* 91C388 80240AA8 03E00008 */ jr $ra +/* 91C38C 80240AAC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240AB0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240AB0.s new file mode 100644 index 0000000000..ec4b01d38c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240AB0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB0 +/* 91C390 80240AB0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 91C394 80240AB4 AFB30024 */ sw $s3, 0x24($sp) +/* 91C398 80240AB8 0080982D */ daddu $s3, $a0, $zero +/* 91C39C 80240ABC AFBF0028 */ sw $ra, 0x28($sp) +/* 91C3A0 80240AC0 AFB20020 */ sw $s2, 0x20($sp) +/* 91C3A4 80240AC4 AFB1001C */ sw $s1, 0x1c($sp) +/* 91C3A8 80240AC8 AFB00018 */ sw $s0, 0x18($sp) +/* 91C3AC 80240ACC 8E720148 */ lw $s2, 0x148($s3) +/* 91C3B0 80240AD0 00A0882D */ daddu $s1, $a1, $zero +/* 91C3B4 80240AD4 86440008 */ lh $a0, 8($s2) +/* 91C3B8 80240AD8 0C00EABB */ jal get_npc_unsafe +/* 91C3BC 80240ADC 00C0802D */ daddu $s0, $a2, $zero +/* 91C3C0 80240AE0 0200202D */ daddu $a0, $s0, $zero +/* 91C3C4 80240AE4 0240282D */ daddu $a1, $s2, $zero +/* 91C3C8 80240AE8 AFA00010 */ sw $zero, 0x10($sp) +/* 91C3CC 80240AEC 8E260024 */ lw $a2, 0x24($s1) +/* 91C3D0 80240AF0 8E270028 */ lw $a3, 0x28($s1) +/* 91C3D4 80240AF4 0C01242D */ jal func_800490B4 +/* 91C3D8 80240AF8 0040802D */ daddu $s0, $v0, $zero +/* 91C3DC 80240AFC 1040000C */ beqz $v0, .L80240B30 +/* 91C3E0 80240B00 00000000 */ nop +/* 91C3E4 80240B04 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91C3E8 80240B08 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 91C3EC 80240B0C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 91C3F0 80240B10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91C3F4 80240B14 8C460028 */ lw $a2, 0x28($v0) +/* 91C3F8 80240B18 0C00A720 */ jal atan2 +/* 91C3FC 80240B1C 8C470030 */ lw $a3, 0x30($v0) +/* 91C400 80240B20 2402000C */ addiu $v0, $zero, 0xc +/* 91C404 80240B24 E600000C */ swc1 $f0, 0xc($s0) +/* 91C408 80240B28 080902F3 */ j .L80240BCC +/* 91C40C 80240B2C AE620070 */ sw $v0, 0x70($s3) +.L80240B30: +/* 91C410 80240B30 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91C414 80240B34 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C418 80240B38 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91C41C 80240B3C C4440000 */ lwc1 $f4, ($v0) +/* 91C420 80240B40 46802120 */ cvt.s.w $f4, $f4 +/* 91C424 80240B44 44062000 */ mfc1 $a2, $f4 +/* 91C428 80240B48 C4440008 */ lwc1 $f4, 8($v0) +/* 91C42C 80240B4C 46802120 */ cvt.s.w $f4, $f4 +/* 91C430 80240B50 44072000 */ mfc1 $a3, $f4 +/* 91C434 80240B54 0C00A7B5 */ jal dist2D +/* 91C438 80240B58 00000000 */ nop +/* 91C43C 80240B5C C6020018 */ lwc1 $f2, 0x18($s0) +/* 91C440 80240B60 4602003E */ c.le.s $f0, $f2 +/* 91C444 80240B64 00000000 */ nop +/* 91C448 80240B68 45000005 */ bc1f .L80240B80 +/* 91C44C 80240B6C 2402000A */ addiu $v0, $zero, 0xa +/* 91C450 80240B70 A602008E */ sh $v0, 0x8e($s0) +/* 91C454 80240B74 24020032 */ addiu $v0, $zero, 0x32 +/* 91C458 80240B78 080902F3 */ j .L80240BCC +/* 91C45C 80240B7C AE620070 */ sw $v0, 0x70($s3) +.L80240B80: +/* 91C460 80240B80 8602008C */ lh $v0, 0x8c($s0) +/* 91C464 80240B84 14400011 */ bnez $v0, .L80240BCC +/* 91C468 80240B88 00000000 */ nop +/* 91C46C 80240B8C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 91C470 80240B90 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C474 80240B94 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 91C478 80240B98 C4440000 */ lwc1 $f4, ($v0) +/* 91C47C 80240B9C 46802120 */ cvt.s.w $f4, $f4 +/* 91C480 80240BA0 44062000 */ mfc1 $a2, $f4 +/* 91C484 80240BA4 C4440008 */ lwc1 $f4, 8($v0) +/* 91C488 80240BA8 46802120 */ cvt.s.w $f4, $f4 +/* 91C48C 80240BAC 44072000 */ mfc1 $a3, $f4 +/* 91C490 80240BB0 0C00A720 */ jal atan2 +/* 91C494 80240BB4 00000000 */ nop +/* 91C498 80240BB8 8E050018 */ lw $a1, 0x18($s0) +/* 91C49C 80240BBC 44060000 */ mfc1 $a2, $f0 +/* 91C4A0 80240BC0 0200202D */ daddu $a0, $s0, $zero +/* 91C4A4 80240BC4 0C00EA95 */ jal npc_move_heading +/* 91C4A8 80240BC8 AC86000C */ sw $a2, 0xc($a0) +.L80240BCC: +/* 91C4AC 80240BCC 8FBF0028 */ lw $ra, 0x28($sp) +/* 91C4B0 80240BD0 8FB30024 */ lw $s3, 0x24($sp) +/* 91C4B4 80240BD4 8FB20020 */ lw $s2, 0x20($sp) +/* 91C4B8 80240BD8 8FB1001C */ lw $s1, 0x1c($sp) +/* 91C4BC 80240BDC 8FB00018 */ lw $s0, 0x18($sp) +/* 91C4C0 80240BE0 03E00008 */ jr $ra +/* 91C4C4 80240BE4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240BE8.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240BE8.s new file mode 100644 index 0000000000..87d3d5b78f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240BE8.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE8 +/* 91C4C8 80240BE8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91C4CC 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* 91C4D0 80240BF0 0080882D */ daddu $s1, $a0, $zero +/* 91C4D4 80240BF4 AFBF0018 */ sw $ra, 0x18($sp) +/* 91C4D8 80240BF8 AFB00010 */ sw $s0, 0x10($sp) +/* 91C4DC 80240BFC 8E300148 */ lw $s0, 0x148($s1) +/* 91C4E0 80240C00 0C00EABB */ jal get_npc_unsafe +/* 91C4E4 80240C04 86040008 */ lh $a0, 8($s0) +/* 91C4E8 80240C08 0040202D */ daddu $a0, $v0, $zero +/* 91C4EC 80240C0C 8482008E */ lh $v0, 0x8e($a0) +/* 91C4F0 80240C10 9483008E */ lhu $v1, 0x8e($a0) +/* 91C4F4 80240C14 18400002 */ blez $v0, .L80240C20 +/* 91C4F8 80240C18 2462FFFF */ addiu $v0, $v1, -1 +/* 91C4FC 80240C1C A482008E */ sh $v0, 0x8e($a0) +.L80240C20: +/* 91C500 80240C20 8482008C */ lh $v0, 0x8c($a0) +/* 91C504 80240C24 1440000A */ bnez $v0, .L80240C50 +/* 91C508 80240C28 00000000 */ nop +/* 91C50C 80240C2C 8482008E */ lh $v0, 0x8e($a0) +/* 91C510 80240C30 1C400007 */ bgtz $v0, .L80240C50 +/* 91C514 80240C34 24020008 */ addiu $v0, $zero, 8 +/* 91C518 80240C38 A482008E */ sh $v0, 0x8e($a0) +/* 91C51C 80240C3C 8E0200CC */ lw $v0, 0xcc($s0) +/* 91C520 80240C40 8C42002C */ lw $v0, 0x2c($v0) +/* 91C524 80240C44 AC820028 */ sw $v0, 0x28($a0) +/* 91C528 80240C48 24020033 */ addiu $v0, $zero, 0x33 +/* 91C52C 80240C4C AE220070 */ sw $v0, 0x70($s1) +.L80240C50: +/* 91C530 80240C50 8FBF0018 */ lw $ra, 0x18($sp) +/* 91C534 80240C54 8FB10014 */ lw $s1, 0x14($sp) +/* 91C538 80240C58 8FB00010 */ lw $s0, 0x10($sp) +/* 91C53C 80240C5C 03E00008 */ jr $ra +/* 91C540 80240C60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240C64.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240C64.s new file mode 100644 index 0000000000..77fa65d206 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240C64.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C64 +/* 91C544 80240C64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91C548 80240C68 AFB10014 */ sw $s1, 0x14($sp) +/* 91C54C 80240C6C 0080882D */ daddu $s1, $a0, $zero +/* 91C550 80240C70 AFBF0018 */ sw $ra, 0x18($sp) +/* 91C554 80240C74 AFB00010 */ sw $s0, 0x10($sp) +/* 91C558 80240C78 8E300148 */ lw $s0, 0x148($s1) +/* 91C55C 80240C7C 0C00EABB */ jal get_npc_unsafe +/* 91C560 80240C80 86040008 */ lh $a0, 8($s0) +/* 91C564 80240C84 0040182D */ daddu $v1, $v0, $zero +/* 91C568 80240C88 9462008E */ lhu $v0, 0x8e($v1) +/* 91C56C 80240C8C 2442FFFF */ addiu $v0, $v0, -1 +/* 91C570 80240C90 A462008E */ sh $v0, 0x8e($v1) +/* 91C574 80240C94 00021400 */ sll $v0, $v0, 0x10 +/* 91C578 80240C98 1C400007 */ bgtz $v0, .L80240CB8 +/* 91C57C 80240C9C 24020008 */ addiu $v0, $zero, 8 +/* 91C580 80240CA0 A462008E */ sh $v0, 0x8e($v1) +/* 91C584 80240CA4 8E0200CC */ lw $v0, 0xcc($s0) +/* 91C588 80240CA8 8C420038 */ lw $v0, 0x38($v0) +/* 91C58C 80240CAC AC620028 */ sw $v0, 0x28($v1) +/* 91C590 80240CB0 24020034 */ addiu $v0, $zero, 0x34 +/* 91C594 80240CB4 AE220070 */ sw $v0, 0x70($s1) +.L80240CB8: +/* 91C598 80240CB8 8FBF0018 */ lw $ra, 0x18($sp) +/* 91C59C 80240CBC 8FB10014 */ lw $s1, 0x14($sp) +/* 91C5A0 80240CC0 8FB00010 */ lw $s0, 0x10($sp) +/* 91C5A4 80240CC4 03E00008 */ jr $ra +/* 91C5A8 80240CC8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240CCC.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240CCC.s new file mode 100644 index 0000000000..ef5f426d8e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240CCC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CCC +/* 91C5AC 80240CCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91C5B0 80240CD0 AFB00010 */ sw $s0, 0x10($sp) +/* 91C5B4 80240CD4 0080802D */ daddu $s0, $a0, $zero +/* 91C5B8 80240CD8 AFBF0014 */ sw $ra, 0x14($sp) +/* 91C5BC 80240CDC 8E020148 */ lw $v0, 0x148($s0) +/* 91C5C0 80240CE0 0C00EABB */ jal get_npc_unsafe +/* 91C5C4 80240CE4 84440008 */ lh $a0, 8($v0) +/* 91C5C8 80240CE8 9443008E */ lhu $v1, 0x8e($v0) +/* 91C5CC 80240CEC 2463FFFF */ addiu $v1, $v1, -1 +/* 91C5D0 80240CF0 A443008E */ sh $v1, 0x8e($v0) +/* 91C5D4 80240CF4 00031C00 */ sll $v1, $v1, 0x10 +/* 91C5D8 80240CF8 58600001 */ blezl $v1, .L80240D00 +/* 91C5DC 80240CFC AE000070 */ sw $zero, 0x70($s0) +.L80240D00: +/* 91C5E0 80240D00 8FBF0014 */ lw $ra, 0x14($sp) +/* 91C5E4 80240D04 8FB00010 */ lw $s0, 0x10($sp) +/* 91C5E8 80240D08 03E00008 */ jr $ra +/* 91C5EC 80240D0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80240D10.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240D10.s new file mode 100644 index 0000000000..3e1f0d5a13 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80240D10.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D10 +/* 91C5F0 80240D10 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 91C5F4 80240D14 AFB3003C */ sw $s3, 0x3c($sp) +/* 91C5F8 80240D18 0080982D */ daddu $s3, $a0, $zero +/* 91C5FC 80240D1C AFBF0048 */ sw $ra, 0x48($sp) +/* 91C600 80240D20 AFB50044 */ sw $s5, 0x44($sp) +/* 91C604 80240D24 AFB40040 */ sw $s4, 0x40($sp) +/* 91C608 80240D28 AFB20038 */ sw $s2, 0x38($sp) +/* 91C60C 80240D2C AFB10034 */ sw $s1, 0x34($sp) +/* 91C610 80240D30 AFB00030 */ sw $s0, 0x30($sp) +/* 91C614 80240D34 8E720148 */ lw $s2, 0x148($s3) +/* 91C618 80240D38 86440008 */ lh $a0, 8($s2) +/* 91C61C 80240D3C 0C00EABB */ jal get_npc_unsafe +/* 91C620 80240D40 00A0882D */ daddu $s1, $a1, $zero +/* 91C624 80240D44 0260202D */ daddu $a0, $s3, $zero +/* 91C628 80240D48 8E70000C */ lw $s0, 0xc($s3) +/* 91C62C 80240D4C 0040A82D */ daddu $s5, $v0, $zero +/* 91C630 80240D50 8E050000 */ lw $a1, ($s0) +/* 91C634 80240D54 0C0B1EAF */ jal get_variable +/* 91C638 80240D58 26100004 */ addiu $s0, $s0, 4 +/* 91C63C 80240D5C 0260202D */ daddu $a0, $s3, $zero +/* 91C640 80240D60 8E050000 */ lw $a1, ($s0) +/* 91C644 80240D64 0C0B1EAF */ jal get_variable +/* 91C648 80240D68 0040A02D */ daddu $s4, $v0, $zero +/* 91C64C 80240D6C AE420094 */ sw $v0, 0x94($s2) +/* 91C650 80240D70 AFA00010 */ sw $zero, 0x10($sp) +/* 91C654 80240D74 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C658 80240D78 8C420030 */ lw $v0, 0x30($v0) +/* 91C65C 80240D7C AFA20014 */ sw $v0, 0x14($sp) +/* 91C660 80240D80 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C664 80240D84 8C42001C */ lw $v0, 0x1c($v0) +/* 91C668 80240D88 AFA20018 */ sw $v0, 0x18($sp) +/* 91C66C 80240D8C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C670 80240D90 8C420024 */ lw $v0, 0x24($v0) +/* 91C674 80240D94 AFA2001C */ sw $v0, 0x1c($sp) +/* 91C678 80240D98 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C67C 80240D9C 8C420028 */ lw $v0, 0x28($v0) +/* 91C680 80240DA0 AFA20020 */ sw $v0, 0x20($sp) +/* 91C684 80240DA4 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C688 80240DA8 3C014220 */ lui $at, 0x4220 +/* 91C68C 80240DAC 44810000 */ mtc1 $at, $f0 +/* 91C690 80240DB0 8C42002C */ lw $v0, 0x2c($v0) +/* 91C694 80240DB4 27B00010 */ addiu $s0, $sp, 0x10 +/* 91C698 80240DB8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 91C69C 80240DBC A7A0002C */ sh $zero, 0x2c($sp) +/* 91C6A0 80240DC0 12200012 */ beqz $s1, .L80240E0C +/* 91C6A4 80240DC4 AFA20024 */ sw $v0, 0x24($sp) +/* 91C6A8 80240DC8 AE600070 */ sw $zero, 0x70($s3) +/* 91C6AC 80240DCC 8EA30000 */ lw $v1, ($s5) +/* 91C6B0 80240DD0 2402F7FF */ addiu $v0, $zero, -0x801 +/* 91C6B4 80240DD4 A6A0008E */ sh $zero, 0x8e($s5) +/* 91C6B8 80240DD8 00621824 */ and $v1, $v1, $v0 +/* 91C6BC 80240DDC AEA30000 */ sw $v1, ($s5) +/* 91C6C0 80240DE0 8E4200D0 */ lw $v0, 0xd0($s2) +/* 91C6C4 80240DE4 8C420034 */ lw $v0, 0x34($v0) +/* 91C6C8 80240DE8 54400005 */ bnel $v0, $zero, .L80240E00 +/* 91C6CC 80240DEC 2402FDFF */ addiu $v0, $zero, -0x201 +/* 91C6D0 80240DF0 34620200 */ ori $v0, $v1, 0x200 +/* 91C6D4 80240DF4 2403FFF7 */ addiu $v1, $zero, -9 +/* 91C6D8 80240DF8 08090382 */ j .L80240E08 +/* 91C6DC 80240DFC 00431024 */ and $v0, $v0, $v1 +.L80240E00: +/* 91C6E0 80240E00 00621024 */ and $v0, $v1, $v0 +/* 91C6E4 80240E04 34420008 */ ori $v0, $v0, 8 +.L80240E08: +/* 91C6E8 80240E08 AEA20000 */ sw $v0, ($s5) +.L80240E0C: +/* 91C6EC 80240E0C 8E4300B0 */ lw $v1, 0xb0($s2) +/* 91C6F0 80240E10 30620004 */ andi $v0, $v1, 4 +/* 91C6F4 80240E14 10400007 */ beqz $v0, .L80240E34 +/* 91C6F8 80240E18 00000000 */ nop +/* 91C6FC 80240E1C 824200B4 */ lb $v0, 0xb4($s2) +/* 91C700 80240E20 14400086 */ bnez $v0, .L8024103C +/* 91C704 80240E24 0000102D */ daddu $v0, $zero, $zero +/* 91C708 80240E28 2402FFFB */ addiu $v0, $zero, -5 +/* 91C70C 80240E2C 00621024 */ and $v0, $v1, $v0 +/* 91C710 80240E30 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240E34: +/* 91C714 80240E34 8E620070 */ lw $v0, 0x70($s3) +/* 91C718 80240E38 2442FFF4 */ addiu $v0, $v0, -0xc +/* 91C71C 80240E3C 2C420003 */ sltiu $v0, $v0, 3 +/* 91C720 80240E40 10400007 */ beqz $v0, .L80240E60 +/* 91C724 80240E44 0260202D */ daddu $a0, $s3, $zero +/* 91C728 80240E48 0280282D */ daddu $a1, $s4, $zero +/* 91C72C 80240E4C 0C090020 */ jal func_80240080 +/* 91C730 80240E50 0200302D */ daddu $a2, $s0, $zero +/* 91C734 80240E54 10400002 */ beqz $v0, .L80240E60 +/* 91C738 80240E58 24020014 */ addiu $v0, $zero, 0x14 +/* 91C73C 80240E5C AE620070 */ sw $v0, 0x70($s3) +.L80240E60: +/* 91C740 80240E60 8E630070 */ lw $v1, 0x70($s3) +/* 91C744 80240E64 2C620035 */ sltiu $v0, $v1, 0x35 +/* 91C748 80240E68 10400073 */ beqz $v0, .L80241038 +/* 91C74C 80240E6C 00031080 */ sll $v0, $v1, 2 +/* 91C750 80240E70 3C018024 */ lui $at, 0x8024 +/* 91C754 80240E74 00220821 */ addu $at, $at, $v0 +/* 91C758 80240E78 8C222BB8 */ lw $v0, 0x2bb8($at) +/* 91C75C 80240E7C 00400008 */ jr $v0 +/* 91C760 80240E80 00000000 */ nop +/* 91C764 80240E84 0260202D */ daddu $a0, $s3, $zero +/* 91C768 80240E88 0280282D */ daddu $a1, $s4, $zero +/* 91C76C 80240E8C 0C090078 */ jal func_802401E0 +/* 91C770 80240E90 0200302D */ daddu $a2, $s0, $zero +/* 91C774 80240E94 0260202D */ daddu $a0, $s3, $zero +/* 91C778 80240E98 0280282D */ daddu $a1, $s4, $zero +/* 91C77C 80240E9C 0C090095 */ jal func_80240254 +/* 91C780 80240EA0 0200302D */ daddu $a2, $s0, $zero +/* 91C784 80240EA4 8E630070 */ lw $v1, 0x70($s3) +/* 91C788 80240EA8 24020002 */ addiu $v0, $zero, 2 +/* 91C78C 80240EAC 14620063 */ bne $v1, $v0, .L8024103C +/* 91C790 80240EB0 0000102D */ daddu $v0, $zero, $zero +/* 91C794 80240EB4 0260202D */ daddu $a0, $s3, $zero +/* 91C798 80240EB8 0280282D */ daddu $a1, $s4, $zero +/* 91C79C 80240EBC 0C0900E1 */ jal func_80240384 +/* 91C7A0 80240EC0 0200302D */ daddu $a2, $s0, $zero +/* 91C7A4 80240EC4 8E630070 */ lw $v1, 0x70($s3) +/* 91C7A8 80240EC8 24020003 */ addiu $v0, $zero, 3 +/* 91C7AC 80240ECC 1462005B */ bne $v1, $v0, .L8024103C +/* 91C7B0 80240ED0 0000102D */ daddu $v0, $zero, $zero +/* 91C7B4 80240ED4 0260202D */ daddu $a0, $s3, $zero +/* 91C7B8 80240ED8 0280282D */ daddu $a1, $s4, $zero +/* 91C7BC 80240EDC 0C090108 */ jal func_80240420 +/* 91C7C0 80240EE0 0200302D */ daddu $a2, $s0, $zero +/* 91C7C4 80240EE4 8E630070 */ lw $v1, 0x70($s3) +/* 91C7C8 80240EE8 24020004 */ addiu $v0, $zero, 4 +/* 91C7CC 80240EEC 14620053 */ bne $v1, $v0, .L8024103C +/* 91C7D0 80240EF0 0000102D */ daddu $v0, $zero, $zero +/* 91C7D4 80240EF4 0260202D */ daddu $a0, $s3, $zero +/* 91C7D8 80240EF8 0280282D */ daddu $a1, $s4, $zero +/* 91C7DC 80240EFC 0C09012A */ jal func_802404A8 +/* 91C7E0 80240F00 0200302D */ daddu $a2, $s0, $zero +/* 91C7E4 80240F04 0260202D */ daddu $a0, $s3, $zero +/* 91C7E8 80240F08 0280282D */ daddu $a1, $s4, $zero +/* 91C7EC 80240F0C 0C090154 */ jal func_80240550 +/* 91C7F0 80240F10 0200302D */ daddu $a2, $s0, $zero +/* 91C7F4 80240F14 0809040F */ j .L8024103C +/* 91C7F8 80240F18 0000102D */ daddu $v0, $zero, $zero +/* 91C7FC 80240F1C 0260202D */ daddu $a0, $s3, $zero +/* 91C800 80240F20 0280282D */ daddu $a1, $s4, $zero +/* 91C804 80240F24 0C0127DF */ jal func_80049F7C +/* 91C808 80240F28 0200302D */ daddu $a2, $s0, $zero +/* 91C80C 80240F2C 8E630070 */ lw $v1, 0x70($s3) +/* 91C810 80240F30 2402000D */ addiu $v0, $zero, 0xd +/* 91C814 80240F34 14620041 */ bne $v1, $v0, .L8024103C +/* 91C818 80240F38 0000102D */ daddu $v0, $zero, $zero +/* 91C81C 80240F3C 0260202D */ daddu $a0, $s3, $zero +/* 91C820 80240F40 0280282D */ daddu $a1, $s4, $zero +/* 91C824 80240F44 0C012849 */ jal func_8004A124 +/* 91C828 80240F48 0200302D */ daddu $a2, $s0, $zero +/* 91C82C 80240F4C 8E630070 */ lw $v1, 0x70($s3) +/* 91C830 80240F50 2402000E */ addiu $v0, $zero, 0xe +/* 91C834 80240F54 14620039 */ bne $v1, $v0, .L8024103C +/* 91C838 80240F58 0000102D */ daddu $v0, $zero, $zero +/* 91C83C 80240F5C 96A2008E */ lhu $v0, 0x8e($s5) +/* 91C840 80240F60 2442FFFF */ addiu $v0, $v0, -1 +/* 91C844 80240F64 A6A2008E */ sh $v0, 0x8e($s5) +/* 91C848 80240F68 00021400 */ sll $v0, $v0, 0x10 +/* 91C84C 80240F6C 14400033 */ bnez $v0, .L8024103C +/* 91C850 80240F70 0000102D */ daddu $v0, $zero, $zero +/* 91C854 80240F74 24020028 */ addiu $v0, $zero, 0x28 +/* 91C858 80240F78 0809040E */ j .L80241038 +/* 91C85C 80240F7C AE620070 */ sw $v0, 0x70($s3) +/* 91C860 80240F80 0260202D */ daddu $a0, $s3, $zero +/* 91C864 80240F84 0280282D */ daddu $a1, $s4, $zero +/* 91C868 80240F88 0C0901B1 */ jal func_802406C4 +/* 91C86C 80240F8C 0200302D */ daddu $a2, $s0, $zero +/* 91C870 80240F90 0260202D */ daddu $a0, $s3, $zero +/* 91C874 80240F94 0280282D */ daddu $a1, $s4, $zero +/* 91C878 80240F98 0C0901C5 */ jal func_80240714 +/* 91C87C 80240F9C 0200302D */ daddu $a2, $s0, $zero +/* 91C880 80240FA0 0809040F */ j .L8024103C +/* 91C884 80240FA4 0000102D */ daddu $v0, $zero, $zero +/* 91C888 80240FA8 0260202D */ daddu $a0, $s3, $zero +/* 91C88C 80240FAC 0280282D */ daddu $a1, $s4, $zero +/* 91C890 80240FB0 0C09022D */ jal func_802408B4 +/* 91C894 80240FB4 0200302D */ daddu $a2, $s0, $zero +/* 91C898 80240FB8 0809040F */ j .L8024103C +/* 91C89C 80240FBC 0000102D */ daddu $v0, $zero, $zero +/* 91C8A0 80240FC0 0260202D */ daddu $a0, $s3, $zero +/* 91C8A4 80240FC4 0280282D */ daddu $a1, $s4, $zero +/* 91C8A8 80240FC8 0C090281 */ jal func_80240A04 +/* 91C8AC 80240FCC 0200302D */ daddu $a2, $s0, $zero +/* 91C8B0 80240FD0 8E630070 */ lw $v1, 0x70($s3) +/* 91C8B4 80240FD4 24020029 */ addiu $v0, $zero, 0x29 +/* 91C8B8 80240FD8 14620018 */ bne $v1, $v0, .L8024103C +/* 91C8BC 80240FDC 0000102D */ daddu $v0, $zero, $zero +/* 91C8C0 80240FE0 0260202D */ daddu $a0, $s3, $zero +/* 91C8C4 80240FE4 0280282D */ daddu $a1, $s4, $zero +/* 91C8C8 80240FE8 0C0902AC */ jal func_80240AB0 +/* 91C8CC 80240FEC 0200302D */ daddu $a2, $s0, $zero +/* 91C8D0 80240FF0 0809040F */ j .L8024103C +/* 91C8D4 80240FF4 0000102D */ daddu $v0, $zero, $zero +/* 91C8D8 80240FF8 0260202D */ daddu $a0, $s3, $zero +/* 91C8DC 80240FFC 0280282D */ daddu $a1, $s4, $zero +/* 91C8E0 80241000 0C0902FA */ jal func_80240BE8 +/* 91C8E4 80241004 0200302D */ daddu $a2, $s0, $zero +/* 91C8E8 80241008 0260202D */ daddu $a0, $s3, $zero +/* 91C8EC 8024100C 0280282D */ daddu $a1, $s4, $zero +/* 91C8F0 80241010 0C090319 */ jal func_80240C64 +/* 91C8F4 80241014 0200302D */ daddu $a2, $s0, $zero +/* 91C8F8 80241018 8E630070 */ lw $v1, 0x70($s3) +/* 91C8FC 8024101C 24020034 */ addiu $v0, $zero, 0x34 +/* 91C900 80241020 14620006 */ bne $v1, $v0, .L8024103C +/* 91C904 80241024 0000102D */ daddu $v0, $zero, $zero +/* 91C908 80241028 0260202D */ daddu $a0, $s3, $zero +/* 91C90C 8024102C 0280282D */ daddu $a1, $s4, $zero +/* 91C910 80241030 0C090333 */ jal func_80240CCC +/* 91C914 80241034 0200302D */ daddu $a2, $s0, $zero +.L80241038: +/* 91C918 80241038 0000102D */ daddu $v0, $zero, $zero +.L8024103C: +/* 91C91C 8024103C 8FBF0048 */ lw $ra, 0x48($sp) +/* 91C920 80241040 8FB50044 */ lw $s5, 0x44($sp) +/* 91C924 80241044 8FB40040 */ lw $s4, 0x40($sp) +/* 91C928 80241048 8FB3003C */ lw $s3, 0x3c($sp) +/* 91C92C 8024104C 8FB20038 */ lw $s2, 0x38($sp) +/* 91C930 80241050 8FB10034 */ lw $s1, 0x34($sp) +/* 91C934 80241054 8FB00030 */ lw $s0, 0x30($sp) +/* 91C938 80241058 03E00008 */ jr $ra +/* 91C93C 8024105C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_80241060_91B8E0.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_80241060_91B8E0.s new file mode 100644 index 0000000000..c5a7bbfc7f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_80241060_91B8E0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241060_91C940 +/* 91C940 80241060 3C013F80 */ lui $at, 0x3f80 +/* 91C944 80241064 44810000 */ mtc1 $at, $f0 +/* 91C948 80241068 00000000 */ nop +/* 91C94C 8024106C 3C01800B */ lui $at, 0x800b +/* 91C950 80241070 E4202218 */ swc1 $f0, 0x2218($at) +/* 91C954 80241074 03E00008 */ jr $ra +/* 91C958 80241078 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_iwa/iwa_04/func_8024107C.s b/asm/nonmatchings/world/area_iwa/iwa_04/func_8024107C.s new file mode 100644 index 0000000000..8768a80a93 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_04/func_8024107C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024107C +/* 91C95C 8024107C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91C960 80241080 AFB00010 */ sw $s0, 0x10($sp) +/* 91C964 80241084 0080802D */ daddu $s0, $a0, $zero +/* 91C968 80241088 AFBF0018 */ sw $ra, 0x18($sp) +/* 91C96C 8024108C AFB10014 */ sw $s1, 0x14($sp) +/* 91C970 80241090 8E11000C */ lw $s1, 0xc($s0) +/* 91C974 80241094 0C0B36B0 */ jal resolve_npc +/* 91C978 80241098 2405FFFF */ addiu $a1, $zero, -1 +/* 91C97C 8024109C 0200202D */ daddu $a0, $s0, $zero +/* 91C980 802410A0 8E250000 */ lw $a1, ($s1) +/* 91C984 802410A4 0C0B1EAF */ jal get_variable +/* 91C988 802410A8 0040802D */ daddu $s0, $v0, $zero +/* 91C98C 802410AC 44820000 */ mtc1 $v0, $f0 +/* 91C990 802410B0 00000000 */ nop +/* 91C994 802410B4 46800020 */ cvt.s.w $f0, $f0 +/* 91C998 802410B8 E6000034 */ swc1 $f0, 0x34($s0) +/* 91C99C 802410BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 91C9A0 802410C0 8FB10014 */ lw $s1, 0x14($sp) +/* 91C9A4 802410C4 8FB00010 */ lw $s0, 0x10($sp) +/* 91C9A8 802410C8 24020002 */ addiu $v0, $zero, 2 +/* 91C9AC 802410CC 03E00008 */ jr $ra +/* 91C9B0 802410D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 91C9B4 802410D4 00000000 */ nop +/* 91C9B8 802410D8 00000000 */ nop +/* 91C9BC 802410DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240000_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240000_91E570.s new file mode 100644 index 0000000000..05fc100e0d --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240000_91E570.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_91E570 +/* 91E570 80240000 8C8200C0 */ lw $v0, 0xc0($a0) +/* 91E574 80240004 284202D1 */ slti $v0, $v0, 0x2d1 +/* 91E578 80240008 50400001 */ beql $v0, $zero, .L80240010 +/* 91E57C 8024000C AC8000C0 */ sw $zero, 0xc0($a0) +.L80240010: +/* 91E580 80240010 8C8300C0 */ lw $v1, 0xc0($a0) +/* 91E584 80240014 00031040 */ sll $v0, $v1, 1 +/* 91E588 80240018 00431021 */ addu $v0, $v0, $v1 +/* 91E58C 8024001C 00021040 */ sll $v0, $v0, 1 +/* 91E590 80240020 AC820084 */ sw $v0, 0x84($a0) +/* 91E594 80240024 000317C2 */ srl $v0, $v1, 0x1f +/* 91E598 80240028 00621821 */ addu $v1, $v1, $v0 +/* 91E59C 8024002C 00031843 */ sra $v1, $v1, 1 +/* 91E5A0 80240030 24020002 */ addiu $v0, $zero, 2 +/* 91E5A4 80240034 03E00008 */ jr $ra +/* 91E5A8 80240038 AC830088 */ sw $v1, 0x88($a0) +/* 91E5AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240040_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240040_91E570.s new file mode 100644 index 0000000000..e4384b4adc --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240040_91E570.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_91E5B0 +/* 91E5B0 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91E5B4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* 91E5B8 80240048 3C108024 */ lui $s0, 0x8024 +/* 91E5BC 8024004C 26101DD0 */ addiu $s0, $s0, 0x1dd0 +/* 91E5C0 80240050 AFBF0018 */ sw $ra, 0x18($sp) +/* 91E5C4 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* 91E5C8 80240058 8E020000 */ lw $v0, ($s0) +/* 91E5CC 8024005C 14400010 */ bnez $v0, .L802400A0 +/* 91E5D0 80240060 0080882D */ daddu $s1, $a0, $zero +/* 91E5D4 80240064 0C00AB39 */ jal heap_malloc +/* 91E5D8 80240068 24040040 */ addiu $a0, $zero, 0x40 +/* 91E5DC 8024006C AE020000 */ sw $v0, ($s0) +/* 91E5E0 80240070 0000182D */ daddu $v1, $zero, $zero +/* 91E5E4 80240074 0040282D */ daddu $a1, $v0, $zero +/* 91E5E8 80240078 0220202D */ daddu $a0, $s1, $zero +.L8024007C: +/* 91E5EC 8024007C 8C820084 */ lw $v0, 0x84($a0) +/* 91E5F0 80240080 24840004 */ addiu $a0, $a0, 4 +/* 91E5F4 80240084 24630001 */ addiu $v1, $v1, 1 +/* 91E5F8 80240088 ACA20000 */ sw $v0, ($a1) +/* 91E5FC 8024008C 28620010 */ slti $v0, $v1, 0x10 +/* 91E600 80240090 1440FFFA */ bnez $v0, .L8024007C +/* 91E604 80240094 24A50004 */ addiu $a1, $a1, 4 +/* 91E608 80240098 08090037 */ j .L802400DC +/* 91E60C 8024009C 00000000 */ nop +.L802400A0: +/* 91E610 802400A0 0000182D */ daddu $v1, $zero, $zero +/* 91E614 802400A4 0040282D */ daddu $a1, $v0, $zero +/* 91E618 802400A8 0220202D */ daddu $a0, $s1, $zero +.L802400AC: +/* 91E61C 802400AC 8CA20000 */ lw $v0, ($a1) +/* 91E620 802400B0 24A50004 */ addiu $a1, $a1, 4 +/* 91E624 802400B4 24630001 */ addiu $v1, $v1, 1 +/* 91E628 802400B8 AC820084 */ sw $v0, 0x84($a0) +/* 91E62C 802400BC 28620010 */ slti $v0, $v1, 0x10 +/* 91E630 802400C0 1440FFFA */ bnez $v0, .L802400AC +/* 91E634 802400C4 24840004 */ addiu $a0, $a0, 4 +/* 91E638 802400C8 3C108024 */ lui $s0, 0x8024 +/* 91E63C 802400CC 26101DD0 */ addiu $s0, $s0, 0x1dd0 +/* 91E640 802400D0 0C00AB4B */ jal heap_free +/* 91E644 802400D4 8E040000 */ lw $a0, ($s0) +/* 91E648 802400D8 AE000000 */ sw $zero, ($s0) +.L802400DC: +/* 91E64C 802400DC 8FBF0018 */ lw $ra, 0x18($sp) +/* 91E650 802400E0 8FB10014 */ lw $s1, 0x14($sp) +/* 91E654 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 91E658 802400E8 24020002 */ addiu $v0, $zero, 2 +/* 91E65C 802400EC 03E00008 */ jr $ra +/* 91E660 802400F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802400F4.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802400F4.s new file mode 100644 index 0000000000..521eb8a13a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802400F4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F4 +/* 91E664 802400F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91E668 802400F8 AFB00010 */ sw $s0, 0x10($sp) +/* 91E66C 802400FC 0080802D */ daddu $s0, $a0, $zero +/* 91E670 80240100 AFBF0018 */ sw $ra, 0x18($sp) +/* 91E674 80240104 AFB10014 */ sw $s1, 0x14($sp) +/* 91E678 80240108 8E02000C */ lw $v0, 0xc($s0) +/* 91E67C 8024010C 8C510000 */ lw $s1, ($v0) +/* 91E680 80240110 0C0B1EAF */ jal get_variable +/* 91E684 80240114 0220282D */ daddu $a1, $s1, $zero +/* 91E688 80240118 3C03FFF0 */ lui $v1, 0xfff0 +/* 91E68C 8024011C 3463FFFF */ ori $v1, $v1, 0xffff +/* 91E690 80240120 0200202D */ daddu $a0, $s0, $zero +/* 91E694 80240124 00431024 */ and $v0, $v0, $v1 +/* 91E698 80240128 00021140 */ sll $v0, $v0, 5 +/* 91E69C 8024012C 3C068008 */ lui $a2, %hi(gItemTable) +/* 91E6A0 80240130 00C23021 */ addu $a2, $a2, $v0 +/* 91E6A4 80240134 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 91E6A8 80240138 0C0B2026 */ jal set_variable +/* 91E6AC 8024013C 0220282D */ daddu $a1, $s1, $zero +/* 91E6B0 80240140 8FBF0018 */ lw $ra, 0x18($sp) +/* 91E6B4 80240144 8FB10014 */ lw $s1, 0x14($sp) +/* 91E6B8 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* 91E6BC 8024014C 24020002 */ addiu $v0, $zero, 2 +/* 91E6C0 80240150 03E00008 */ jr $ra +/* 91E6C4 80240154 27BD0020 */ addiu $sp, $sp, 0x20 +/* 91E6C8 80240158 00000000 */ nop +/* 91E6CC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240160_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240160_91E570.s new file mode 100644 index 0000000000..c7ece9fa2e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240160_91E570.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_91E6D0 +/* 91E6D0 80240160 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 91E6D4 80240164 AFB20018 */ sw $s2, 0x18($sp) +/* 91E6D8 80240168 0080902D */ daddu $s2, $a0, $zero +/* 91E6DC 8024016C AFBF0028 */ sw $ra, 0x28($sp) +/* 91E6E0 80240170 AFB50024 */ sw $s5, 0x24($sp) +/* 91E6E4 80240174 AFB40020 */ sw $s4, 0x20($sp) +/* 91E6E8 80240178 AFB3001C */ sw $s3, 0x1c($sp) +/* 91E6EC 8024017C AFB10014 */ sw $s1, 0x14($sp) +/* 91E6F0 80240180 AFB00010 */ sw $s0, 0x10($sp) +/* 91E6F4 80240184 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 91E6F8 80240188 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 91E6FC 8024018C F7B40030 */ sdc1 $f20, 0x30($sp) +/* 91E700 80240190 8E50000C */ lw $s0, 0xc($s2) +/* 91E704 80240194 8E140000 */ lw $s4, ($s0) +/* 91E708 80240198 26100004 */ addiu $s0, $s0, 4 +/* 91E70C 8024019C 0C0B1EAF */ jal get_variable +/* 91E710 802401A0 0280282D */ daddu $a1, $s4, $zero +/* 91E714 802401A4 0040982D */ daddu $s3, $v0, $zero +/* 91E718 802401A8 8E150000 */ lw $s5, ($s0) +/* 91E71C 802401AC 26100004 */ addiu $s0, $s0, 4 +/* 91E720 802401B0 8E050000 */ lw $a1, ($s0) +/* 91E724 802401B4 26100004 */ addiu $s0, $s0, 4 +/* 91E728 802401B8 0C0B210B */ jal get_float_variable +/* 91E72C 802401BC 0240202D */ daddu $a0, $s2, $zero +/* 91E730 802401C0 8E050000 */ lw $a1, ($s0) +/* 91E734 802401C4 26100004 */ addiu $s0, $s0, 4 +/* 91E738 802401C8 0240202D */ daddu $a0, $s2, $zero +/* 91E73C 802401CC 0C0B210B */ jal get_float_variable +/* 91E740 802401D0 46000606 */ mov.s $f24, $f0 +/* 91E744 802401D4 8E050000 */ lw $a1, ($s0) +/* 91E748 802401D8 26100004 */ addiu $s0, $s0, 4 +/* 91E74C 802401DC 0240202D */ daddu $a0, $s2, $zero +/* 91E750 802401E0 0C0B1EAF */ jal get_variable +/* 91E754 802401E4 46000506 */ mov.s $f20, $f0 +/* 91E758 802401E8 8E050000 */ lw $a1, ($s0) +/* 91E75C 802401EC 26100004 */ addiu $s0, $s0, 4 +/* 91E760 802401F0 0240202D */ daddu $a0, $s2, $zero +/* 91E764 802401F4 0C0B1EAF */ jal get_variable +/* 91E768 802401F8 0040882D */ daddu $s1, $v0, $zero +/* 91E76C 802401FC 0240202D */ daddu $a0, $s2, $zero +/* 91E770 80240200 8E050000 */ lw $a1, ($s0) +/* 91E774 80240204 0C0B210B */ jal get_float_variable +/* 91E778 80240208 0040802D */ daddu $s0, $v0, $zero +/* 91E77C 8024020C 3C014334 */ lui $at, 0x4334 +/* 91E780 80240210 44811000 */ mtc1 $at, $f2 +/* 91E784 80240214 3C014049 */ lui $at, 0x4049 +/* 91E788 80240218 34210FD8 */ ori $at, $at, 0xfd8 +/* 91E78C 8024021C 44812000 */ mtc1 $at, $f4 +/* 91E790 80240220 46020003 */ div.s $f0, $f0, $f2 +/* 91E794 80240224 46040582 */ mul.s $f22, $f0, $f4 +/* 91E798 80240228 00000000 */ nop +/* 91E79C 8024022C 4618A501 */ sub.s $f20, $f20, $f24 +/* 91E7A0 80240230 3C013F00 */ lui $at, 0x3f00 +/* 91E7A4 80240234 44810000 */ mtc1 $at, $f0 +/* 91E7A8 80240238 00000000 */ nop +/* 91E7AC 8024023C 4600A502 */ mul.s $f20, $f20, $f0 +/* 91E7B0 80240240 00000000 */ nop +/* 91E7B4 80240244 12000007 */ beqz $s0, .L80240264 +/* 91E7B8 80240248 0233102A */ slt $v0, $s1, $s3 +/* 91E7BC 8024024C 10400005 */ beqz $v0, .L80240264 +/* 91E7C0 80240250 0240202D */ daddu $a0, $s2, $zero +/* 91E7C4 80240254 0220982D */ daddu $s3, $s1, $zero +/* 91E7C8 80240258 0280282D */ daddu $a1, $s4, $zero +/* 91E7CC 8024025C 0C0B2026 */ jal set_variable +/* 91E7D0 80240260 0220302D */ daddu $a2, $s1, $zero +.L80240264: +/* 91E7D4 80240264 3C014049 */ lui $at, 0x4049 +/* 91E7D8 80240268 34210FD8 */ ori $at, $at, 0xfd8 +/* 91E7DC 8024026C 44810000 */ mtc1 $at, $f0 +/* 91E7E0 80240270 44936000 */ mtc1 $s3, $f12 +/* 91E7E4 80240274 00000000 */ nop +/* 91E7E8 80240278 46806320 */ cvt.s.w $f12, $f12 +/* 91E7EC 8024027C 46006302 */ mul.s $f12, $f12, $f0 +/* 91E7F0 80240280 00000000 */ nop +/* 91E7F4 80240284 44910000 */ mtc1 $s1, $f0 +/* 91E7F8 80240288 00000000 */ nop +/* 91E7FC 8024028C 46800020 */ cvt.s.w $f0, $f0 +/* 91E800 80240290 46006303 */ div.s $f12, $f12, $f0 +/* 91E804 80240294 0C00A874 */ jal cos_rad +/* 91E808 80240298 46166300 */ add.s $f12, $f12, $f22 +/* 91E80C 8024029C 4600A002 */ mul.s $f0, $f20, $f0 +/* 91E810 802402A0 00000000 */ nop +/* 91E814 802402A4 4614C080 */ add.s $f2, $f24, $f20 +/* 91E818 802402A8 46001081 */ sub.s $f2, $f2, $f0 +/* 91E81C 802402AC 0240202D */ daddu $a0, $s2, $zero +/* 91E820 802402B0 44061000 */ mfc1 $a2, $f2 +/* 91E824 802402B4 0C0B2190 */ jal set_float_variable +/* 91E828 802402B8 02A0282D */ daddu $a1, $s5, $zero +/* 91E82C 802402BC 8FBF0028 */ lw $ra, 0x28($sp) +/* 91E830 802402C0 8FB50024 */ lw $s5, 0x24($sp) +/* 91E834 802402C4 8FB40020 */ lw $s4, 0x20($sp) +/* 91E838 802402C8 8FB3001C */ lw $s3, 0x1c($sp) +/* 91E83C 802402CC 8FB20018 */ lw $s2, 0x18($sp) +/* 91E840 802402D0 8FB10014 */ lw $s1, 0x14($sp) +/* 91E844 802402D4 8FB00010 */ lw $s0, 0x10($sp) +/* 91E848 802402D8 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 91E84C 802402DC D7B60038 */ ldc1 $f22, 0x38($sp) +/* 91E850 802402E0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 91E854 802402E4 24020002 */ addiu $v0, $zero, 2 +/* 91E858 802402E8 03E00008 */ jr $ra +/* 91E85C 802402EC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802402F0.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802402F0.s new file mode 100644 index 0000000000..bc9baa3e91 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802402F0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0 +/* 91E860 802402F0 3C03800A */ lui $v1, %hi(D_8009A650) +/* 91E864 802402F4 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 91E868 802402F8 8C620000 */ lw $v0, ($v1) +/* 91E86C 802402FC 34420040 */ ori $v0, $v0, 0x40 +/* 91E870 80240300 AC620000 */ sw $v0, ($v1) +/* 91E874 80240304 03E00008 */ jr $ra +/* 91E878 80240308 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_8024030C_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024030C_91E570.s new file mode 100644 index 0000000000..dffc98af34 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024030C_91E570.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_91E87C +/* 91E87C 8024030C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 91E880 80240310 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 91E884 80240314 8C430000 */ lw $v1, ($v0) +/* 91E888 80240318 2404FFBF */ addiu $a0, $zero, -0x41 +/* 91E88C 8024031C 00641824 */ and $v1, $v1, $a0 +/* 91E890 80240320 AC430000 */ sw $v1, ($v0) +/* 91E894 80240324 03E00008 */ jr $ra +/* 91E898 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_8024032C_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024032C_91E570.s new file mode 100644 index 0000000000..f037fbf436 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024032C_91E570.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_91E89C +/* 91E89C 8024032C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91E8A0 80240330 AFBF0010 */ sw $ra, 0x10($sp) +/* 91E8A4 80240334 8C82000C */ lw $v0, 0xc($a0) +/* 91E8A8 80240338 0C0B1EAF */ jal get_variable +/* 91E8AC 8024033C 8C450000 */ lw $a1, ($v0) +/* 91E8B0 80240340 0C0B95A4 */ jal func_802E5690 +/* 91E8B4 80240344 0040202D */ daddu $a0, $v0, $zero +/* 91E8B8 80240348 8FBF0010 */ lw $ra, 0x10($sp) +/* 91E8BC 8024034C 24020002 */ addiu $v0, $zero, 2 +/* 91E8C0 80240350 03E00008 */ jr $ra +/* 91E8C4 80240354 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240358_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240358_91E570.s new file mode 100644 index 0000000000..8b65c7fff9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240358_91E570.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240358_91E8C8 +/* 91E8C8 80240358 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91E8CC 8024035C AFB00010 */ sw $s0, 0x10($sp) +/* 91E8D0 80240360 0080802D */ daddu $s0, $a0, $zero +/* 91E8D4 80240364 AFBF0018 */ sw $ra, 0x18($sp) +/* 91E8D8 80240368 AFB10014 */ sw $s1, 0x14($sp) +/* 91E8DC 8024036C 8E11000C */ lw $s1, 0xc($s0) +/* 91E8E0 80240370 8E250000 */ lw $a1, ($s1) +/* 91E8E4 80240374 0C0B1EAF */ jal get_variable +/* 91E8E8 80240378 26310004 */ addiu $s1, $s1, 4 +/* 91E8EC 8024037C 0200202D */ daddu $a0, $s0, $zero +/* 91E8F0 80240380 3C038011 */ lui $v1, %hi(gPlayerData) +/* 91E8F4 80240384 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 91E8F8 80240388 000210C0 */ sll $v0, $v0, 3 +/* 91E8FC 8024038C 00431021 */ addu $v0, $v0, $v1 +/* 91E900 80240390 90460015 */ lbu $a2, 0x15($v0) +/* 91E904 80240394 8E250000 */ lw $a1, ($s1) +/* 91E908 80240398 24C60001 */ addiu $a2, $a2, 1 +/* 91E90C 8024039C A0460015 */ sb $a2, 0x15($v0) +/* 91E910 802403A0 00063600 */ sll $a2, $a2, 0x18 +/* 91E914 802403A4 0C0B2026 */ jal set_variable +/* 91E918 802403A8 00063603 */ sra $a2, $a2, 0x18 +/* 91E91C 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 91E920 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* 91E924 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* 91E928 802403B8 24020002 */ addiu $v0, $zero, 2 +/* 91E92C 802403BC 03E00008 */ jr $ra +/* 91E930 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802403C4_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802403C4_91E570.s new file mode 100644 index 0000000000..656df75bc8 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802403C4_91E570.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_91E934 +/* 91E934 802403C4 3C028011 */ lui $v0, %hi(gPlayerData) +/* 91E938 802403C8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 91E93C 802403CC 000420C0 */ sll $a0, $a0, 3 +/* 91E940 802403D0 00822021 */ addu $a0, $a0, $v0 +/* 91E944 802403D4 90820014 */ lbu $v0, 0x14($a0) +/* 91E948 802403D8 10400009 */ beqz $v0, .L80240400 +/* 91E94C 802403DC 00000000 */ nop +/* 91E950 802403E0 90820015 */ lbu $v0, 0x15($a0) +/* 91E954 802403E4 00022600 */ sll $a0, $v0, 0x18 +/* 91E958 802403E8 00041E03 */ sra $v1, $a0, 0x18 +/* 91E95C 802403EC 00051400 */ sll $v0, $a1, 0x10 +/* 91E960 802403F0 00021403 */ sra $v0, $v0, 0x10 +/* 91E964 802403F4 0043102A */ slt $v0, $v0, $v1 +/* 91E968 802403F8 10400003 */ beqz $v0, .L80240408 +/* 91E96C 802403FC 00000000 */ nop +.L80240400: +/* 91E970 80240400 03E00008 */ jr $ra +/* 91E974 80240404 2402FFFF */ addiu $v0, $zero, -1 +.L80240408: +/* 91E978 80240408 03E00008 */ jr $ra +/* 91E97C 8024040C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240410_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240410_91E570.s new file mode 100644 index 0000000000..8d47fd48c4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240410_91E570.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410_91E980 +/* 91E980 80240410 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 91E984 80240414 AFB3001C */ sw $s3, 0x1c($sp) +/* 91E988 80240418 0080982D */ daddu $s3, $a0, $zero +/* 91E98C 8024041C AFB00010 */ sw $s0, 0x10($sp) +/* 91E990 80240420 24100001 */ addiu $s0, $zero, 1 +/* 91E994 80240424 AFB40020 */ sw $s4, 0x20($sp) +/* 91E998 80240428 2414FFFF */ addiu $s4, $zero, -1 +/* 91E99C 8024042C AFB50024 */ sw $s5, 0x24($sp) +/* 91E9A0 80240430 0200A82D */ daddu $s5, $s0, $zero +/* 91E9A4 80240434 AFB10014 */ sw $s1, 0x14($sp) +/* 91E9A8 80240438 3C118011 */ lui $s1, 0x8011 +/* 91E9AC 8024043C 2631F298 */ addiu $s1, $s1, -0xd68 +/* 91E9B0 80240440 AFBF0028 */ sw $ra, 0x28($sp) +/* 91E9B4 80240444 AFB20018 */ sw $s2, 0x18($sp) +/* 91E9B8 80240448 8E6200B4 */ lw $v0, 0xb4($s3) +/* 91E9BC 8024044C 0280182D */ daddu $v1, $s4, $zero +/* 91E9C0 80240450 AE630084 */ sw $v1, 0x84($s3) +/* 91E9C4 80240454 00021027 */ nor $v0, $zero, $v0 +/* 91E9C8 80240458 000217C2 */ srl $v0, $v0, 0x1f +/* 91E9CC 8024045C 00029400 */ sll $s2, $v0, 0x10 +.L80240460: +/* 91E9D0 80240460 92220014 */ lbu $v0, 0x14($s1) +/* 91E9D4 80240464 50400008 */ beql $v0, $zero, .L80240488 +/* 91E9D8 80240468 26100001 */ addiu $s0, $s0, 1 +/* 91E9DC 8024046C 0200202D */ daddu $a0, $s0, $zero +/* 91E9E0 80240470 0C0900F1 */ jal func_802403C4 +/* 91E9E4 80240474 00122C03 */ sra $a1, $s2, 0x10 +/* 91E9E8 80240478 10540003 */ beq $v0, $s4, .L80240488 +/* 91E9EC 8024047C 26100001 */ addiu $s0, $s0, 1 +/* 91E9F0 80240480 08090125 */ j .L80240494 +/* 91E9F4 80240484 AE750084 */ sw $s5, 0x84($s3) +.L80240488: +/* 91E9F8 80240488 2A02000C */ slti $v0, $s0, 0xc +/* 91E9FC 8024048C 1440FFF4 */ bnez $v0, .L80240460 +/* 91EA00 80240490 26310008 */ addiu $s1, $s1, 8 +.L80240494: +/* 91EA04 80240494 8FBF0028 */ lw $ra, 0x28($sp) +/* 91EA08 80240498 8FB50024 */ lw $s5, 0x24($sp) +/* 91EA0C 8024049C 8FB40020 */ lw $s4, 0x20($sp) +/* 91EA10 802404A0 8FB3001C */ lw $s3, 0x1c($sp) +/* 91EA14 802404A4 8FB20018 */ lw $s2, 0x18($sp) +/* 91EA18 802404A8 8FB10014 */ lw $s1, 0x14($sp) +/* 91EA1C 802404AC 8FB00010 */ lw $s0, 0x10($sp) +/* 91EA20 802404B0 24020002 */ addiu $v0, $zero, 2 +/* 91EA24 802404B4 03E00008 */ jr $ra +/* 91EA28 802404B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802404BC_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802404BC_91E570.s new file mode 100644 index 0000000000..38df538efe --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802404BC_91E570.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404BC_91EA2C +/* 91EA2C 802404BC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 91EA30 802404C0 AFB5002C */ sw $s5, 0x2c($sp) +/* 91EA34 802404C4 0080A82D */ daddu $s5, $a0, $zero +/* 91EA38 802404C8 AFBE0038 */ sw $fp, 0x38($sp) +/* 91EA3C 802404CC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 91EA40 802404D0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 91EA44 802404D4 AFBF003C */ sw $ra, 0x3c($sp) +/* 91EA48 802404D8 AFB70034 */ sw $s7, 0x34($sp) +/* 91EA4C 802404DC AFB60030 */ sw $s6, 0x30($sp) +/* 91EA50 802404E0 AFB40028 */ sw $s4, 0x28($sp) +/* 91EA54 802404E4 AFB30024 */ sw $s3, 0x24($sp) +/* 91EA58 802404E8 AFB20020 */ sw $s2, 0x20($sp) +/* 91EA5C 802404EC AFB1001C */ sw $s1, 0x1c($sp) +/* 91EA60 802404F0 10A0004F */ beqz $a1, .L80240630 +/* 91EA64 802404F4 AFB00018 */ sw $s0, 0x18($sp) +/* 91EA68 802404F8 0C00AB39 */ jal heap_malloc +/* 91EA6C 802404FC 24040330 */ addiu $a0, $zero, 0x330 +/* 91EA70 80240500 0040982D */ daddu $s3, $v0, $zero +/* 91EA74 80240504 0000B02D */ daddu $s6, $zero, $zero +/* 91EA78 80240508 02C0902D */ daddu $s2, $s6, $zero +/* 91EA7C 8024050C 3C148024 */ lui $s4, 0x8024 +/* 91EA80 80240510 26945A68 */ addiu $s4, $s4, 0x5a68 +/* 91EA84 80240514 0260882D */ daddu $s1, $s3, $zero +/* 91EA88 80240518 8EA200B4 */ lw $v0, 0xb4($s5) +/* 91EA8C 8024051C 3C038024 */ lui $v1, 0x8024 +/* 91EA90 80240520 24635A60 */ addiu $v1, $v1, 0x5a60 +/* 91EA94 80240524 AEB30078 */ sw $s3, 0x78($s5) +/* 91EA98 80240528 00021027 */ nor $v0, $zero, $v0 +/* 91EA9C 8024052C 0002BFC2 */ srl $s7, $v0, 0x1f +/* 91EAA0 80240530 00171080 */ sll $v0, $s7, 2 +/* 91EAA4 80240534 00431021 */ addu $v0, $v0, $v1 +/* 91EAA8 80240538 AFA20010 */ sw $v0, 0x10($sp) +.L8024053C: +/* 91EAAC 8024053C 86900000 */ lh $s0, ($s4) +/* 91EAB0 80240540 001010C0 */ sll $v0, $s0, 3 +/* 91EAB4 80240544 03C21021 */ addu $v0, $fp, $v0 +/* 91EAB8 80240548 90420014 */ lbu $v0, 0x14($v0) +/* 91EABC 8024054C 5040002E */ beql $v0, $zero, .L80240608 +/* 91EAC0 80240550 26520001 */ addiu $s2, $s2, 1 +/* 91EAC4 80240554 00101100 */ sll $v0, $s0, 4 +/* 91EAC8 80240558 3C068009 */ lui $a2, 0x8009 +/* 91EACC 8024055C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 91EAD0 80240560 00461021 */ addu $v0, $v0, $a2 +/* 91EAD4 80240564 0200202D */ daddu $a0, $s0, $zero +/* 91EAD8 80240568 AE300108 */ sw $s0, 0x108($s1) +/* 91EADC 8024056C 8C420000 */ lw $v0, ($v0) +/* 91EAE0 80240570 02E0282D */ daddu $a1, $s7, $zero +/* 91EAE4 80240574 0C0900F1 */ jal func_802403C4 +/* 91EAE8 80240578 AE220084 */ sw $v0, 0x84($s1) +/* 91EAEC 8024057C 0040202D */ daddu $a0, $v0, $zero +/* 91EAF0 80240580 04800011 */ bltz $a0, .L802405C8 +/* 91EAF4 80240584 00101080 */ sll $v0, $s0, 2 +/* 91EAF8 80240588 3C06800F */ lui $a2, 0x800f +/* 91EAFC 8024058C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 91EB00 80240590 00461021 */ addu $v0, $v0, $a2 +/* 91EB04 80240594 8C430000 */ lw $v1, ($v0) +/* 91EB08 80240598 24020001 */ addiu $v0, $zero, 1 +/* 91EB0C 8024059C AE22018C */ sw $v0, 0x18c($s1) +/* 91EB10 802405A0 00041080 */ sll $v0, $a0, 2 +/* 91EB14 802405A4 3C068024 */ lui $a2, 0x8024 +/* 91EB18 802405A8 24C65A78 */ addiu $a2, $a2, 0x5a78 +/* 91EB1C 802405AC AE230000 */ sw $v1, ($s1) +/* 91EB20 802405B0 001218C0 */ sll $v1, $s2, 3 +/* 91EB24 802405B4 00431021 */ addu $v0, $v0, $v1 +/* 91EB28 802405B8 00461021 */ addu $v0, $v0, $a2 +/* 91EB2C 802405BC 8C420000 */ lw $v0, ($v0) +/* 91EB30 802405C0 0809017B */ j .L802405EC +/* 91EB34 802405C4 AE220294 */ sw $v0, 0x294($s1) +.L802405C8: +/* 91EB38 802405C8 3C06800F */ lui $a2, 0x800f +/* 91EB3C 802405CC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 91EB40 802405D0 00461021 */ addu $v0, $v0, $a2 +/* 91EB44 802405D4 8C420000 */ lw $v0, ($v0) +/* 91EB48 802405D8 AE20018C */ sw $zero, 0x18c($s1) +/* 91EB4C 802405DC AE220000 */ sw $v0, ($s1) +/* 91EB50 802405E0 8FA60010 */ lw $a2, 0x10($sp) +/* 91EB54 802405E4 8CC20000 */ lw $v0, ($a2) +/* 91EB58 802405E8 AE220294 */ sw $v0, 0x294($s1) +.L802405EC: +/* 91EB5C 802405EC 001010C0 */ sll $v0, $s0, 3 +/* 91EB60 802405F0 03C21021 */ addu $v0, $fp, $v0 +/* 91EB64 802405F4 80420015 */ lb $v0, 0x15($v0) +/* 91EB68 802405F8 26D60001 */ addiu $s6, $s6, 1 +/* 91EB6C 802405FC AE220210 */ sw $v0, 0x210($s1) +/* 91EB70 80240600 26310004 */ addiu $s1, $s1, 4 +/* 91EB74 80240604 26520001 */ addiu $s2, $s2, 1 +.L80240608: +/* 91EB78 80240608 2A420008 */ slti $v0, $s2, 8 +/* 91EB7C 8024060C 1440FFCB */ bnez $v0, .L8024053C +/* 91EB80 80240610 26940002 */ addiu $s4, $s4, 2 +/* 91EB84 80240614 0260202D */ daddu $a0, $s3, $zero +/* 91EB88 80240618 24020004 */ addiu $v0, $zero, 4 +/* 91EB8C 8024061C AC820318 */ sw $v0, 0x318($a0) +/* 91EB90 80240620 AC960324 */ sw $s6, 0x324($a0) +/* 91EB94 80240624 0C03D390 */ jal func_800F4E40 +/* 91EB98 80240628 AC800328 */ sw $zero, 0x328($a0) +/* 91EB9C 8024062C AEA00070 */ sw $zero, 0x70($s5) +.L80240630: +/* 91EBA0 80240630 8EA20070 */ lw $v0, 0x70($s5) +/* 91EBA4 80240634 8EB30078 */ lw $s3, 0x78($s5) +/* 91EBA8 80240638 14400008 */ bnez $v0, .L8024065C +/* 91EBAC 8024063C 24420001 */ addiu $v0, $v0, 1 +/* 91EBB0 80240640 8662032C */ lh $v0, 0x32c($s3) +/* 91EBB4 80240644 10400009 */ beqz $v0, .L8024066C +/* 91EBB8 80240648 AEA20074 */ sw $v0, 0x74($s5) +/* 91EBBC 8024064C 0C03C4EC */ jal func_800F13B0 +/* 91EBC0 80240650 00000000 */ nop +/* 91EBC4 80240654 8EA20070 */ lw $v0, 0x70($s5) +/* 91EBC8 80240658 24420001 */ addiu $v0, $v0, 1 +.L8024065C: +/* 91EBCC 8024065C AEA20070 */ sw $v0, 0x70($s5) +/* 91EBD0 80240660 2842000F */ slti $v0, $v0, 0xf +/* 91EBD4 80240664 10400003 */ beqz $v0, .L80240674 +/* 91EBD8 80240668 00000000 */ nop +.L8024066C: +/* 91EBDC 8024066C 080901B7 */ j .L802406DC +/* 91EBE0 80240670 0000102D */ daddu $v0, $zero, $zero +.L80240674: +/* 91EBE4 80240674 0C03C54E */ jal func_800F1538 +/* 91EBE8 80240678 00000000 */ nop +/* 91EBEC 8024067C 8EA30074 */ lw $v1, 0x74($s5) +/* 91EBF0 80240680 240200FF */ addiu $v0, $zero, 0xff +/* 91EBF4 80240684 10620010 */ beq $v1, $v0, .L802406C8 +/* 91EBF8 80240688 2462FFFF */ addiu $v0, $v1, -1 +/* 91EBFC 8024068C 00021080 */ sll $v0, $v0, 2 +/* 91EC00 80240690 02621021 */ addu $v0, $s3, $v0 +/* 91EC04 80240694 8C420108 */ lw $v0, 0x108($v0) +/* 91EC08 80240698 00021100 */ sll $v0, $v0, 4 +/* 91EC0C 8024069C 3C038009 */ lui $v1, 0x8009 +/* 91EC10 802406A0 00621821 */ addu $v1, $v1, $v0 +/* 91EC14 802406A4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 91EC18 802406A8 8EA20074 */ lw $v0, 0x74($s5) +/* 91EC1C 802406AC 2442FFFF */ addiu $v0, $v0, -1 +/* 91EC20 802406B0 00021080 */ sll $v0, $v0, 2 +/* 91EC24 802406B4 02621021 */ addu $v0, $s3, $v0 +/* 91EC28 802406B8 AEA30084 */ sw $v1, 0x84($s5) +/* 91EC2C 802406BC 8C420108 */ lw $v0, 0x108($v0) +/* 91EC30 802406C0 080901B4 */ j .L802406D0 +/* 91EC34 802406C4 AEA20088 */ sw $v0, 0x88($s5) +.L802406C8: +/* 91EC38 802406C8 2402FFFF */ addiu $v0, $zero, -1 +/* 91EC3C 802406CC AEA20084 */ sw $v0, 0x84($s5) +.L802406D0: +/* 91EC40 802406D0 0C00AB4B */ jal heap_free +/* 91EC44 802406D4 8EA40078 */ lw $a0, 0x78($s5) +/* 91EC48 802406D8 24020002 */ addiu $v0, $zero, 2 +.L802406DC: +/* 91EC4C 802406DC 8FBF003C */ lw $ra, 0x3c($sp) +/* 91EC50 802406E0 8FBE0038 */ lw $fp, 0x38($sp) +/* 91EC54 802406E4 8FB70034 */ lw $s7, 0x34($sp) +/* 91EC58 802406E8 8FB60030 */ lw $s6, 0x30($sp) +/* 91EC5C 802406EC 8FB5002C */ lw $s5, 0x2c($sp) +/* 91EC60 802406F0 8FB40028 */ lw $s4, 0x28($sp) +/* 91EC64 802406F4 8FB30024 */ lw $s3, 0x24($sp) +/* 91EC68 802406F8 8FB20020 */ lw $s2, 0x20($sp) +/* 91EC6C 802406FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 91EC70 80240700 8FB00018 */ lw $s0, 0x18($sp) +/* 91EC74 80240704 03E00008 */ jr $ra +/* 91EC78 80240708 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_8024070C.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024070C.s new file mode 100644 index 0000000000..b562aa25c9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024070C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024070C +/* 91EC7C 8024070C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91EC80 80240710 AFBF0010 */ sw $ra, 0x10($sp) +/* 91EC84 80240714 8C82000C */ lw $v0, 0xc($a0) +/* 91EC88 80240718 0C0B1EAF */ jal get_variable +/* 91EC8C 8024071C 8C450000 */ lw $a1, ($v0) +/* 91EC90 80240720 0C03AC5A */ jal func_800EB168 +/* 91EC94 80240724 0040202D */ daddu $a0, $v0, $zero +/* 91EC98 80240728 8FBF0010 */ lw $ra, 0x10($sp) +/* 91EC9C 8024072C 24020002 */ addiu $v0, $zero, 2 +/* 91ECA0 80240730 03E00008 */ jr $ra +/* 91ECA4 80240734 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240738.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240738.s new file mode 100644 index 0000000000..a62c75fa1a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240738.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738 +/* 91ECA8 80240738 3C028011 */ lui $v0, 0x8011 +/* 91ECAC 8024073C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 91ECB0 80240740 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91ECB4 80240744 AFBF0010 */ sw $ra, 0x10($sp) +/* 91ECB8 80240748 00021100 */ sll $v0, $v0, 4 +/* 91ECBC 8024074C 3C048009 */ lui $a0, 0x8009 +/* 91ECC0 80240750 00822021 */ addu $a0, $a0, $v0 +/* 91ECC4 80240754 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 91ECC8 80240758 0C0496CF */ jal set_message_string +/* 91ECCC 8024075C 0000282D */ daddu $a1, $zero, $zero +/* 91ECD0 80240760 8FBF0010 */ lw $ra, 0x10($sp) +/* 91ECD4 80240764 24020002 */ addiu $v0, $zero, 2 +/* 91ECD8 80240768 03E00008 */ jr $ra +/* 91ECDC 8024076C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240770_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240770_91E570.s new file mode 100644 index 0000000000..5f6f2c5d96 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240770_91E570.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240770_91ECE0 +/* 91ECE0 80240770 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 91ECE4 80240774 AFB1001C */ sw $s1, 0x1c($sp) +/* 91ECE8 80240778 0080882D */ daddu $s1, $a0, $zero +/* 91ECEC 8024077C AFBF0020 */ sw $ra, 0x20($sp) +/* 91ECF0 80240780 AFB00018 */ sw $s0, 0x18($sp) +/* 91ECF4 80240784 8E30000C */ lw $s0, 0xc($s1) +/* 91ECF8 80240788 8E050000 */ lw $a1, ($s0) +/* 91ECFC 8024078C 0C0B1EAF */ jal get_variable +/* 91ED00 80240790 26100004 */ addiu $s0, $s0, 4 +/* 91ED04 80240794 0C04417A */ jal get_entity_by_index +/* 91ED08 80240798 0040202D */ daddu $a0, $v0, $zero +/* 91ED0C 8024079C 8E100000 */ lw $s0, ($s0) +/* 91ED10 802407A0 C444004C */ lwc1 $f4, 0x4c($v0) +/* 91ED14 802407A4 3C014148 */ lui $at, 0x4148 +/* 91ED18 802407A8 44810000 */ mtc1 $at, $f0 +/* 91ED1C 802407AC 3C013F33 */ lui $at, 0x3f33 +/* 91ED20 802407B0 34213333 */ ori $at, $at, 0x3333 +/* 91ED24 802407B4 44811000 */ mtc1 $at, $f2 +/* 91ED28 802407B8 AFA00014 */ sw $zero, 0x14($sp) +/* 91ED2C 802407BC 46002100 */ add.s $f4, $f4, $f0 +/* 91ED30 802407C0 E7A20010 */ swc1 $f2, 0x10($sp) +/* 91ED34 802407C4 8C450048 */ lw $a1, 0x48($v0) +/* 91ED38 802407C8 8C470050 */ lw $a3, 0x50($v0) +/* 91ED3C 802407CC 44062000 */ mfc1 $a2, $f4 +/* 91ED40 802407D0 0C01C5D4 */ jal func_80071750 +/* 91ED44 802407D4 0000202D */ daddu $a0, $zero, $zero +/* 91ED48 802407D8 0220202D */ daddu $a0, $s1, $zero +/* 91ED4C 802407DC 0200282D */ daddu $a1, $s0, $zero +/* 91ED50 802407E0 0C0B2026 */ jal set_variable +/* 91ED54 802407E4 0040302D */ daddu $a2, $v0, $zero +/* 91ED58 802407E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 91ED5C 802407EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 91ED60 802407F0 8FB00018 */ lw $s0, 0x18($sp) +/* 91ED64 802407F4 24020002 */ addiu $v0, $zero, 2 +/* 91ED68 802407F8 03E00008 */ jr $ra +/* 91ED6C 802407FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240800.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240800.s new file mode 100644 index 0000000000..8e74e8c6eb --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240800.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240800 +/* 91ED70 80240800 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91ED74 80240804 AFBF0010 */ sw $ra, 0x10($sp) +/* 91ED78 80240808 8C82000C */ lw $v0, 0xc($a0) +/* 91ED7C 8024080C 0C0B1EAF */ jal get_variable +/* 91ED80 80240810 8C450000 */ lw $a1, ($v0) +/* 91ED84 80240814 0040202D */ daddu $a0, $v0, $zero +/* 91ED88 80240818 8C830000 */ lw $v1, ($a0) +/* 91ED8C 8024081C 34630010 */ ori $v1, $v1, 0x10 +/* 91ED90 80240820 AC830000 */ sw $v1, ($a0) +/* 91ED94 80240824 8FBF0010 */ lw $ra, 0x10($sp) +/* 91ED98 80240828 24020002 */ addiu $v0, $zero, 2 +/* 91ED9C 8024082C 03E00008 */ jr $ra +/* 91EDA0 80240830 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240834_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240834_91E570.s new file mode 100644 index 0000000000..c5cc64da0f --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240834_91E570.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240834_91EDA4 +/* 91EDA4 80240834 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91EDA8 80240838 AFBF0018 */ sw $ra, 0x18($sp) +/* 91EDAC 8024083C 8C82000C */ lw $v0, 0xc($a0) +/* 91EDB0 80240840 0C0B1EAF */ jal get_variable +/* 91EDB4 80240844 8C450000 */ lw $a1, ($v0) +/* 91EDB8 80240848 0C04417A */ jal get_entity_by_index +/* 91EDBC 8024084C 0040202D */ daddu $a0, $v0, $zero +/* 91EDC0 80240850 3C013F80 */ lui $at, 0x3f80 +/* 91EDC4 80240854 44810000 */ mtc1 $at, $f0 +/* 91EDC8 80240858 C442004C */ lwc1 $f2, 0x4c($v0) +/* 91EDCC 8024085C E7A00010 */ swc1 $f0, 0x10($sp) +/* 91EDD0 80240860 3C014148 */ lui $at, 0x4148 +/* 91EDD4 80240864 44810000 */ mtc1 $at, $f0 +/* 91EDD8 80240868 2403004B */ addiu $v1, $zero, 0x4b +/* 91EDDC 8024086C AFA30014 */ sw $v1, 0x14($sp) +/* 91EDE0 80240870 46001080 */ add.s $f2, $f2, $f0 +/* 91EDE4 80240874 8C450048 */ lw $a1, 0x48($v0) +/* 91EDE8 80240878 8C470050 */ lw $a3, 0x50($v0) +/* 91EDEC 8024087C 44061000 */ mfc1 $a2, $f2 +/* 91EDF0 80240880 0C01C2EC */ jal func_80070BB0 +/* 91EDF4 80240884 24040004 */ addiu $a0, $zero, 4 +/* 91EDF8 80240888 8FBF0018 */ lw $ra, 0x18($sp) +/* 91EDFC 8024088C 24020002 */ addiu $v0, $zero, 2 +/* 91EE00 80240890 03E00008 */ jr $ra +/* 91EE04 80240894 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240898_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240898_91E570.s new file mode 100644 index 0000000000..ae1de31da9 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240898_91E570.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898_91EE08 +/* 91EE08 80240898 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91EE0C 8024089C AFBF0018 */ sw $ra, 0x18($sp) +/* 91EE10 802408A0 0C00EAD2 */ jal get_npc_safe +/* 91EE14 802408A4 2404FFFC */ addiu $a0, $zero, -4 +/* 91EE18 802408A8 C444003C */ lwc1 $f4, 0x3c($v0) +/* 91EE1C 802408AC 3C014148 */ lui $at, 0x4148 +/* 91EE20 802408B0 44811000 */ mtc1 $at, $f2 +/* 91EE24 802408B4 3C013F80 */ lui $at, 0x3f80 +/* 91EE28 802408B8 44810000 */ mtc1 $at, $f0 +/* 91EE2C 802408BC 2403001E */ addiu $v1, $zero, 0x1e +/* 91EE30 802408C0 AFA30014 */ sw $v1, 0x14($sp) +/* 91EE34 802408C4 46022100 */ add.s $f4, $f4, $f2 +/* 91EE38 802408C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91EE3C 802408CC 8C450038 */ lw $a1, 0x38($v0) +/* 91EE40 802408D0 8C470040 */ lw $a3, 0x40($v0) +/* 91EE44 802408D4 44062000 */ mfc1 $a2, $f4 +/* 91EE48 802408D8 0C01C2EC */ jal func_80070BB0 +/* 91EE4C 802408DC 24040009 */ addiu $a0, $zero, 9 +/* 91EE50 802408E0 8FBF0018 */ lw $ra, 0x18($sp) +/* 91EE54 802408E4 24020002 */ addiu $v0, $zero, 2 +/* 91EE58 802408E8 03E00008 */ jr $ra +/* 91EE5C 802408EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802408F0_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802408F0_91E570.s new file mode 100644 index 0000000000..c4d468dcf4 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802408F0_91E570.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F0_91EE60 +/* 91EE60 802408F0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 91EE64 802408F4 AFB60040 */ sw $s6, 0x40($sp) +/* 91EE68 802408F8 0080B02D */ daddu $s6, $a0, $zero +/* 91EE6C 802408FC AFB00028 */ sw $s0, 0x28($sp) +/* 91EE70 80240900 00A0802D */ daddu $s0, $a1, $zero +/* 91EE74 80240904 AFBF0044 */ sw $ra, 0x44($sp) +/* 91EE78 80240908 AFB5003C */ sw $s5, 0x3c($sp) +/* 91EE7C 8024090C AFB40038 */ sw $s4, 0x38($sp) +/* 91EE80 80240910 AFB30034 */ sw $s3, 0x34($sp) +/* 91EE84 80240914 AFB20030 */ sw $s2, 0x30($sp) +/* 91EE88 80240918 AFB1002C */ sw $s1, 0x2c($sp) +/* 91EE8C 8024091C F7B80058 */ sdc1 $f24, 0x58($sp) +/* 91EE90 80240920 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 91EE94 80240924 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 91EE98 80240928 8ED3000C */ lw $s3, 0xc($s6) +/* 91EE9C 8024092C 0C00EAD2 */ jal get_npc_safe +/* 91EEA0 80240930 2404FFFC */ addiu $a0, $zero, -4 +/* 91EEA4 80240934 27A50018 */ addiu $a1, $sp, 0x18 +/* 91EEA8 80240938 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 91EEAC 8024093C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 91EEB0 80240940 27A6001C */ addiu $a2, $sp, 0x1c +/* 91EEB4 80240944 00041880 */ sll $v1, $a0, 2 +/* 91EEB8 80240948 00641821 */ addu $v1, $v1, $a0 +/* 91EEBC 8024094C 00031880 */ sll $v1, $v1, 2 +/* 91EEC0 80240950 00641823 */ subu $v1, $v1, $a0 +/* 91EEC4 80240954 000320C0 */ sll $a0, $v1, 3 +/* 91EEC8 80240958 00641821 */ addu $v1, $v1, $a0 +/* 91EECC 8024095C 000318C0 */ sll $v1, $v1, 3 +/* 91EED0 80240960 3C01800B */ lui $at, 0x800b +/* 91EED4 80240964 00230821 */ addu $at, $at, $v1 +/* 91EED8 80240968 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 91EEDC 8024096C 0C00A88D */ jal sin_cos_deg +/* 91EEE0 80240970 0040A82D */ daddu $s5, $v0, $zero +/* 91EEE4 80240974 1200005D */ beqz $s0, .L80240AEC +/* 91EEE8 80240978 00000000 */ nop +/* 91EEEC 8024097C 0C00AB0A */ jal general_heap_malloc +/* 91EEF0 80240980 24040068 */ addiu $a0, $zero, 0x68 +/* 91EEF4 80240984 0040902D */ daddu $s2, $v0, $zero +/* 91EEF8 80240988 02C0202D */ daddu $a0, $s6, $zero +/* 91EEFC 8024098C 0000882D */ daddu $s1, $zero, $zero +/* 91EF00 80240990 2414FFFF */ addiu $s4, $zero, -1 +/* 91EF04 80240994 AED20060 */ sw $s2, 0x60($s6) +/* 91EF08 80240998 8E650000 */ lw $a1, ($s3) +/* 91EF0C 8024099C 3C014148 */ lui $at, 0x4148 +/* 91EF10 802409A0 4481C000 */ mtc1 $at, $f24 +/* 91EF14 802409A4 3C013F80 */ lui $at, 0x3f80 +/* 91EF18 802409A8 4481B000 */ mtc1 $at, $f22 +/* 91EF1C 802409AC 4480A000 */ mtc1 $zero, $f20 +/* 91EF20 802409B0 0C0B1EAF */ jal get_variable +/* 91EF24 802409B4 0240802D */ daddu $s0, $s2, $zero +/* 91EF28 802409B8 0C04417A */ jal get_entity_by_index +/* 91EF2C 802409BC 0040202D */ daddu $a0, $v0, $zero +/* 91EF30 802409C0 AE42005C */ sw $v0, 0x5c($s2) +.L802409C4: +/* 91EF34 802409C4 8E42005C */ lw $v0, 0x5c($s2) +/* 91EF38 802409C8 C440004C */ lwc1 $f0, 0x4c($v0) +/* 91EF3C 802409CC 0000202D */ daddu $a0, $zero, $zero +/* 91EF40 802409D0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 91EF44 802409D4 AFB40014 */ sw $s4, 0x14($sp) +/* 91EF48 802409D8 46180000 */ add.s $f0, $f0, $f24 +/* 91EF4C 802409DC 8C450048 */ lw $a1, 0x48($v0) +/* 91EF50 802409E0 8C470050 */ lw $a3, 0x50($v0) +/* 91EF54 802409E4 44060000 */ mfc1 $a2, $f0 +/* 91EF58 802409E8 0C01C5BC */ jal func_800716F0 +/* 91EF5C 802409EC 26310001 */ addiu $s1, $s1, 1 +/* 91EF60 802409F0 AE020008 */ sw $v0, 8($s0) +/* 91EF64 802409F4 E614002C */ swc1 $f20, 0x2c($s0) +/* 91EF68 802409F8 E6140020 */ swc1 $f20, 0x20($s0) +/* 91EF6C 802409FC E6140014 */ swc1 $f20, 0x14($s0) +/* 91EF70 80240A00 E6140050 */ swc1 $f20, 0x50($s0) +/* 91EF74 80240A04 E6140044 */ swc1 $f20, 0x44($s0) +/* 91EF78 80240A08 E6140038 */ swc1 $f20, 0x38($s0) +/* 91EF7C 80240A0C 2A220003 */ slti $v0, $s1, 3 +/* 91EF80 80240A10 1440FFEC */ bnez $v0, .L802409C4 +/* 91EF84 80240A14 26100004 */ addiu $s0, $s0, 4 +/* 91EF88 80240A18 0000882D */ daddu $s1, $zero, $zero +/* 91EF8C 80240A1C 0240802D */ daddu $s0, $s2, $zero +/* 91EF90 80240A20 3C148024 */ lui $s4, 0x8024 +/* 91EF94 80240A24 26945AB8 */ addiu $s4, $s4, 0x5ab8 +/* 91EF98 80240A28 3C014248 */ lui $at, 0x4248 +/* 91EF9C 80240A2C 4481A000 */ mtc1 $at, $f20 +/* 91EFA0 80240A30 24130044 */ addiu $s3, $zero, 0x44 +/* 91EFA4 80240A34 AE400000 */ sw $zero, ($s2) +/* 91EFA8 80240A38 AE400004 */ sw $zero, 4($s2) +/* 91EFAC 80240A3C AE400060 */ sw $zero, 0x60($s2) +/* 91EFB0 80240A40 AE400064 */ sw $zero, 0x64($s2) +.L80240A44: +/* 91EFB4 80240A44 27A40020 */ addiu $a0, $sp, 0x20 +/* 91EFB8 80240A48 4406A000 */ mfc1 $a2, $f20 +/* 91EFBC 80240A4C 8E870000 */ lw $a3, ($s4) +/* 91EFC0 80240A50 02532821 */ addu $a1, $s2, $s3 +/* 91EFC4 80240A54 0C00A7E7 */ jal add_vec2D_polar +/* 91EFC8 80240A58 AFA00020 */ sw $zero, 0x20($sp) +/* 91EFCC 80240A5C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 91EFD0 80240A60 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 91EFD4 80240A64 46041082 */ mul.s $f2, $f2, $f4 +/* 91EFD8 80240A68 00000000 */ nop +/* 91EFDC 80240A6C C7A00018 */ lwc1 $f0, 0x18($sp) +/* 91EFE0 80240A70 46040002 */ mul.s $f0, $f0, $f4 +/* 91EFE4 80240A74 00000000 */ nop +/* 91EFE8 80240A78 E6020038 */ swc1 $f2, 0x38($s0) +/* 91EFEC 80240A7C E6000050 */ swc1 $f0, 0x50($s0) +/* 91EFF0 80240A80 8E42005C */ lw $v0, 0x5c($s2) +/* 91EFF4 80240A84 C6000038 */ lwc1 $f0, 0x38($s0) +/* 91EFF8 80240A88 C4420048 */ lwc1 $f2, 0x48($v0) +/* 91EFFC 80240A8C 46001080 */ add.s $f2, $f2, $f0 +/* 91F000 80240A90 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 91F004 80240A94 46020001 */ sub.s $f0, $f0, $f2 +/* 91F008 80240A98 E6000038 */ swc1 $f0, 0x38($s0) +/* 91F00C 80240A9C 8E42005C */ lw $v0, 0x5c($s2) +/* 91F010 80240AA0 C6000044 */ lwc1 $f0, 0x44($s0) +/* 91F014 80240AA4 C442004C */ lwc1 $f2, 0x4c($v0) +/* 91F018 80240AA8 46001080 */ add.s $f2, $f2, $f0 +/* 91F01C 80240AAC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 91F020 80240AB0 46020001 */ sub.s $f0, $f0, $f2 +/* 91F024 80240AB4 E6000044 */ swc1 $f0, 0x44($s0) +/* 91F028 80240AB8 8E42005C */ lw $v0, 0x5c($s2) +/* 91F02C 80240ABC C6000050 */ lwc1 $f0, 0x50($s0) +/* 91F030 80240AC0 C4420050 */ lwc1 $f2, 0x50($v0) +/* 91F034 80240AC4 26940004 */ addiu $s4, $s4, 4 +/* 91F038 80240AC8 46001080 */ add.s $f2, $f2, $f0 +/* 91F03C 80240ACC C6A00040 */ lwc1 $f0, 0x40($s5) +/* 91F040 80240AD0 26730004 */ addiu $s3, $s3, 4 +/* 91F044 80240AD4 46020001 */ sub.s $f0, $f0, $f2 +/* 91F048 80240AD8 26310001 */ addiu $s1, $s1, 1 +/* 91F04C 80240ADC 2A220003 */ slti $v0, $s1, 3 +/* 91F050 80240AE0 E6000050 */ swc1 $f0, 0x50($s0) +/* 91F054 80240AE4 1440FFD7 */ bnez $v0, .L80240A44 +/* 91F058 80240AE8 26100004 */ addiu $s0, $s0, 4 +.L80240AEC: +/* 91F05C 80240AEC 8ED20060 */ lw $s2, 0x60($s6) +/* 91F060 80240AF0 8E430000 */ lw $v1, ($s2) +/* 91F064 80240AF4 24020001 */ addiu $v0, $zero, 1 +/* 91F068 80240AF8 10620038 */ beq $v1, $v0, .L80240BDC +/* 91F06C 80240AFC 28620002 */ slti $v0, $v1, 2 +/* 91F070 80240B00 50400005 */ beql $v0, $zero, .L80240B18 +/* 91F074 80240B04 24020002 */ addiu $v0, $zero, 2 +/* 91F078 80240B08 10600007 */ beqz $v1, .L80240B28 +/* 91F07C 80240B0C 24040005 */ addiu $a0, $zero, 5 +/* 91F080 80240B10 08090330 */ j .L80240CC0 +/* 91F084 80240B14 00000000 */ nop +.L80240B18: +/* 91F088 80240B18 10620058 */ beq $v1, $v0, .L80240C7C +/* 91F08C 80240B1C 00000000 */ nop +/* 91F090 80240B20 08090330 */ j .L80240CC0 +/* 91F094 80240B24 00000000 */ nop +.L80240B28: +/* 91F098 80240B28 0000882D */ daddu $s1, $zero, $zero +/* 91F09C 80240B2C 3C148024 */ lui $s4, 0x8024 +/* 91F0A0 80240B30 26945AB8 */ addiu $s4, $s4, 0x5ab8 +/* 91F0A4 80240B34 24130020 */ addiu $s3, $zero, 0x20 +/* 91F0A8 80240B38 3C064248 */ lui $a2, 0x4248 +/* 91F0AC 80240B3C 44800000 */ mtc1 $zero, $f0 +/* 91F0B0 80240B40 24020014 */ addiu $v0, $zero, 0x14 +/* 91F0B4 80240B44 AFA20010 */ sw $v0, 0x10($sp) +/* 91F0B8 80240B48 44050000 */ mfc1 $a1, $f0 +/* 91F0BC 80240B4C 8E470060 */ lw $a3, 0x60($s2) +/* 91F0C0 80240B50 4485B000 */ mtc1 $a1, $f22 +/* 91F0C4 80240B54 0C00A8ED */ jal update_lerp +/* 91F0C8 80240B58 0240802D */ daddu $s0, $s2, $zero +/* 91F0CC 80240B5C 46000506 */ mov.s $f20, $f0 +.L80240B60: +/* 91F0D0 80240B60 4406A000 */ mfc1 $a2, $f20 +/* 91F0D4 80240B64 27A40020 */ addiu $a0, $sp, 0x20 +/* 91F0D8 80240B68 E6160020 */ swc1 $f22, 0x20($s0) +/* 91F0DC 80240B6C 8E870000 */ lw $a3, ($s4) +/* 91F0E0 80240B70 02532821 */ addu $a1, $s2, $s3 +/* 91F0E4 80240B74 0C00A7E7 */ jal add_vec2D_polar +/* 91F0E8 80240B78 E7B60020 */ swc1 $f22, 0x20($sp) +/* 91F0EC 80240B7C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 91F0F0 80240B80 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 91F0F4 80240B84 46002102 */ mul.s $f4, $f4, $f0 +/* 91F0F8 80240B88 00000000 */ nop +/* 91F0FC 80240B8C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 91F100 80240B90 26940004 */ addiu $s4, $s4, 4 +/* 91F104 80240B94 46001082 */ mul.s $f2, $f2, $f0 +/* 91F108 80240B98 00000000 */ nop +/* 91F10C 80240B9C 26730004 */ addiu $s3, $s3, 4 +/* 91F110 80240BA0 26310001 */ addiu $s1, $s1, 1 +/* 91F114 80240BA4 2A220003 */ slti $v0, $s1, 3 +/* 91F118 80240BA8 E6040014 */ swc1 $f4, 0x14($s0) +/* 91F11C 80240BAC E602002C */ swc1 $f2, 0x2c($s0) +/* 91F120 80240BB0 1440FFEB */ bnez $v0, .L80240B60 +/* 91F124 80240BB4 26100004 */ addiu $s0, $s0, 4 +/* 91F128 80240BB8 8E420060 */ lw $v0, 0x60($s2) +/* 91F12C 80240BBC 24420001 */ addiu $v0, $v0, 1 +/* 91F130 80240BC0 AE420060 */ sw $v0, 0x60($s2) +/* 91F134 80240BC4 28420015 */ slti $v0, $v0, 0x15 +/* 91F138 80240BC8 1440003D */ bnez $v0, .L80240CC0 +/* 91F13C 80240BCC 24020001 */ addiu $v0, $zero, 1 +/* 91F140 80240BD0 AE420000 */ sw $v0, ($s2) +/* 91F144 80240BD4 08090330 */ j .L80240CC0 +/* 91F148 80240BD8 AE400060 */ sw $zero, 0x60($s2) +.L80240BDC: +/* 91F14C 80240BDC 0000882D */ daddu $s1, $zero, $zero +/* 91F150 80240BE0 3C148024 */ lui $s4, 0x8024 +/* 91F154 80240BE4 26945AB8 */ addiu $s4, $s4, 0x5ab8 +/* 91F158 80240BE8 24130020 */ addiu $s3, $zero, 0x20 +/* 91F15C 80240BEC 0240802D */ daddu $s0, $s2, $zero +/* 91F160 80240BF0 3C014248 */ lui $at, 0x4248 +/* 91F164 80240BF4 4481A000 */ mtc1 $at, $f20 +/* 91F168 80240BF8 4480B000 */ mtc1 $zero, $f22 +.L80240BFC: +/* 91F16C 80240BFC 4406A000 */ mfc1 $a2, $f20 +/* 91F170 80240C00 27A40020 */ addiu $a0, $sp, 0x20 +/* 91F174 80240C04 E6160020 */ swc1 $f22, 0x20($s0) +/* 91F178 80240C08 8E870000 */ lw $a3, ($s4) +/* 91F17C 80240C0C 02532821 */ addu $a1, $s2, $s3 +/* 91F180 80240C10 0C00A7E7 */ jal add_vec2D_polar +/* 91F184 80240C14 E7B60020 */ swc1 $f22, 0x20($sp) +/* 91F188 80240C18 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 91F18C 80240C1C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 91F190 80240C20 46002102 */ mul.s $f4, $f4, $f0 +/* 91F194 80240C24 00000000 */ nop +/* 91F198 80240C28 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 91F19C 80240C2C 26940004 */ addiu $s4, $s4, 4 +/* 91F1A0 80240C30 46001082 */ mul.s $f2, $f2, $f0 +/* 91F1A4 80240C34 00000000 */ nop +/* 91F1A8 80240C38 26730004 */ addiu $s3, $s3, 4 +/* 91F1AC 80240C3C 26310001 */ addiu $s1, $s1, 1 +/* 91F1B0 80240C40 2A220003 */ slti $v0, $s1, 3 +/* 91F1B4 80240C44 E6040014 */ swc1 $f4, 0x14($s0) +/* 91F1B8 80240C48 E602002C */ swc1 $f2, 0x2c($s0) +/* 91F1BC 80240C4C 1440FFEB */ bnez $v0, .L80240BFC +/* 91F1C0 80240C50 26100004 */ addiu $s0, $s0, 4 +/* 91F1C4 80240C54 8E420060 */ lw $v0, 0x60($s2) +/* 91F1C8 80240C58 24420001 */ addiu $v0, $v0, 1 +/* 91F1CC 80240C5C AE420060 */ sw $v0, 0x60($s2) +/* 91F1D0 80240C60 28420010 */ slti $v0, $v0, 0x10 +/* 91F1D4 80240C64 14400016 */ bnez $v0, .L80240CC0 +/* 91F1D8 80240C68 2402000F */ addiu $v0, $zero, 0xf +/* 91F1DC 80240C6C AE420060 */ sw $v0, 0x60($s2) +/* 91F1E0 80240C70 24020002 */ addiu $v0, $zero, 2 +/* 91F1E4 80240C74 08090330 */ j .L80240CC0 +/* 91F1E8 80240C78 AE420000 */ sw $v0, ($s2) +.L80240C7C: +/* 91F1EC 80240C7C 8E420060 */ lw $v0, 0x60($s2) +/* 91F1F0 80240C80 24420001 */ addiu $v0, $v0, 1 +/* 91F1F4 80240C84 AE420060 */ sw $v0, 0x60($s2) +/* 91F1F8 80240C88 2842001F */ slti $v0, $v0, 0x1f +/* 91F1FC 80240C8C 1440000C */ bnez $v0, .L80240CC0 +/* 91F200 80240C90 0000882D */ daddu $s1, $zero, $zero +/* 91F204 80240C94 0240282D */ daddu $a1, $s2, $zero +.L80240C98: +/* 91F208 80240C98 8CA20008 */ lw $v0, 8($a1) +/* 91F20C 80240C9C 8C430000 */ lw $v1, ($v0) +/* 91F210 80240CA0 26310001 */ addiu $s1, $s1, 1 +/* 91F214 80240CA4 34630010 */ ori $v1, $v1, 0x10 +/* 91F218 80240CA8 AC430000 */ sw $v1, ($v0) +/* 91F21C 80240CAC 2A220003 */ slti $v0, $s1, 3 +/* 91F220 80240CB0 1440FFF9 */ bnez $v0, .L80240C98 +/* 91F224 80240CB4 24A50004 */ addiu $a1, $a1, 4 +/* 91F228 80240CB8 0809037D */ j .L80240DF4 +/* 91F22C 80240CBC 24020002 */ addiu $v0, $zero, 2 +.L80240CC0: +/* 91F230 80240CC0 8E430004 */ lw $v1, 4($s2) +/* 91F234 80240CC4 10600005 */ beqz $v1, .L80240CDC +/* 91F238 80240CC8 24020001 */ addiu $v0, $zero, 1 +/* 91F23C 80240CCC 1062000B */ beq $v1, $v0, .L80240CFC +/* 91F240 80240CD0 0000882D */ daddu $s1, $zero, $zero +/* 91F244 80240CD4 0809036C */ j .L80240DB0 +/* 91F248 80240CD8 0240282D */ daddu $a1, $s2, $zero +.L80240CDC: +/* 91F24C 80240CDC 8E420064 */ lw $v0, 0x64($s2) +/* 91F250 80240CE0 24420001 */ addiu $v0, $v0, 1 +/* 91F254 80240CE4 AE420064 */ sw $v0, 0x64($s2) +/* 91F258 80240CE8 28420010 */ slti $v0, $v0, 0x10 +/* 91F25C 80240CEC 1440002F */ bnez $v0, .L80240DAC +/* 91F260 80240CF0 0000882D */ daddu $s1, $zero, $zero +/* 91F264 80240CF4 08090368 */ j .L80240DA0 +/* 91F268 80240CF8 24020001 */ addiu $v0, $zero, 1 +.L80240CFC: +/* 91F26C 80240CFC 4480A000 */ mtc1 $zero, $f20 +/* 91F270 80240D00 24130014 */ addiu $s3, $zero, 0x14 +/* 91F274 80240D04 0240802D */ daddu $s0, $s2, $zero +.L80240D08: +/* 91F278 80240D08 4405A000 */ mfc1 $a1, $f20 +/* 91F27C 80240D0C AFB30010 */ sw $s3, 0x10($sp) +/* 91F280 80240D10 8E060038 */ lw $a2, 0x38($s0) +/* 91F284 80240D14 8E470064 */ lw $a3, 0x64($s2) +/* 91F288 80240D18 0C00A8ED */ jal update_lerp +/* 91F28C 80240D1C 24040001 */ addiu $a0, $zero, 1 +/* 91F290 80240D20 C6020014 */ lwc1 $f2, 0x14($s0) +/* 91F294 80240D24 46001080 */ add.s $f2, $f2, $f0 +/* 91F298 80240D28 4405A000 */ mfc1 $a1, $f20 +/* 91F29C 80240D2C E6020014 */ swc1 $f2, 0x14($s0) +/* 91F2A0 80240D30 AFB30010 */ sw $s3, 0x10($sp) +/* 91F2A4 80240D34 8E060044 */ lw $a2, 0x44($s0) +/* 91F2A8 80240D38 8E470064 */ lw $a3, 0x64($s2) +/* 91F2AC 80240D3C 0C00A8ED */ jal update_lerp +/* 91F2B0 80240D40 24040001 */ addiu $a0, $zero, 1 +/* 91F2B4 80240D44 C6020020 */ lwc1 $f2, 0x20($s0) +/* 91F2B8 80240D48 46001080 */ add.s $f2, $f2, $f0 +/* 91F2BC 80240D4C 4405A000 */ mfc1 $a1, $f20 +/* 91F2C0 80240D50 E6020020 */ swc1 $f2, 0x20($s0) +/* 91F2C4 80240D54 AFB30010 */ sw $s3, 0x10($sp) +/* 91F2C8 80240D58 8E060050 */ lw $a2, 0x50($s0) +/* 91F2CC 80240D5C 8E470064 */ lw $a3, 0x64($s2) +/* 91F2D0 80240D60 0C00A8ED */ jal update_lerp +/* 91F2D4 80240D64 24040001 */ addiu $a0, $zero, 1 +/* 91F2D8 80240D68 C602002C */ lwc1 $f2, 0x2c($s0) +/* 91F2DC 80240D6C 46001080 */ add.s $f2, $f2, $f0 +/* 91F2E0 80240D70 26310001 */ addiu $s1, $s1, 1 +/* 91F2E4 80240D74 2A220003 */ slti $v0, $s1, 3 +/* 91F2E8 80240D78 E602002C */ swc1 $f2, 0x2c($s0) +/* 91F2EC 80240D7C 1440FFE2 */ bnez $v0, .L80240D08 +/* 91F2F0 80240D80 26100004 */ addiu $s0, $s0, 4 +/* 91F2F4 80240D84 8E420064 */ lw $v0, 0x64($s2) +/* 91F2F8 80240D88 24420001 */ addiu $v0, $v0, 1 +/* 91F2FC 80240D8C AE420064 */ sw $v0, 0x64($s2) +/* 91F300 80240D90 28420015 */ slti $v0, $v0, 0x15 +/* 91F304 80240D94 14400005 */ bnez $v0, .L80240DAC +/* 91F308 80240D98 0000882D */ daddu $s1, $zero, $zero +/* 91F30C 80240D9C 24020002 */ addiu $v0, $zero, 2 +.L80240DA0: +/* 91F310 80240DA0 AE420004 */ sw $v0, 4($s2) +/* 91F314 80240DA4 AE400064 */ sw $zero, 0x64($s2) +/* 91F318 80240DA8 0000882D */ daddu $s1, $zero, $zero +.L80240DAC: +/* 91F31C 80240DAC 0240282D */ daddu $a1, $s2, $zero +.L80240DB0: +/* 91F320 80240DB0 8CA20008 */ lw $v0, 8($a1) +/* 91F324 80240DB4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 91F328 80240DB8 8C42000C */ lw $v0, 0xc($v0) +/* 91F32C 80240DBC E4400010 */ swc1 $f0, 0x10($v0) +/* 91F330 80240DC0 8CA20008 */ lw $v0, 8($a1) +/* 91F334 80240DC4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 91F338 80240DC8 8C42000C */ lw $v0, 0xc($v0) +/* 91F33C 80240DCC 26310001 */ addiu $s1, $s1, 1 +/* 91F340 80240DD0 E4400014 */ swc1 $f0, 0x14($v0) +/* 91F344 80240DD4 8CA20008 */ lw $v0, 8($a1) +/* 91F348 80240DD8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 91F34C 80240DDC 8C42000C */ lw $v0, 0xc($v0) +/* 91F350 80240DE0 E4400018 */ swc1 $f0, 0x18($v0) +/* 91F354 80240DE4 2A220003 */ slti $v0, $s1, 3 +/* 91F358 80240DE8 1440FFF1 */ bnez $v0, .L80240DB0 +/* 91F35C 80240DEC 24A50004 */ addiu $a1, $a1, 4 +/* 91F360 80240DF0 0000102D */ daddu $v0, $zero, $zero +.L80240DF4: +/* 91F364 80240DF4 8FBF0044 */ lw $ra, 0x44($sp) +/* 91F368 80240DF8 8FB60040 */ lw $s6, 0x40($sp) +/* 91F36C 80240DFC 8FB5003C */ lw $s5, 0x3c($sp) +/* 91F370 80240E00 8FB40038 */ lw $s4, 0x38($sp) +/* 91F374 80240E04 8FB30034 */ lw $s3, 0x34($sp) +/* 91F378 80240E08 8FB20030 */ lw $s2, 0x30($sp) +/* 91F37C 80240E0C 8FB1002C */ lw $s1, 0x2c($sp) +/* 91F380 80240E10 8FB00028 */ lw $s0, 0x28($sp) +/* 91F384 80240E14 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 91F388 80240E18 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 91F38C 80240E1C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 91F390 80240E20 03E00008 */ jr $ra +/* 91F394 80240E24 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240E28.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240E28.s new file mode 100644 index 0000000000..f6e1b00c32 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240E28.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E28 +/* 91F398 80240E28 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91F39C 80240E2C AFB10014 */ sw $s1, 0x14($sp) +/* 91F3A0 80240E30 0080882D */ daddu $s1, $a0, $zero +/* 91F3A4 80240E34 AFB20018 */ sw $s2, 0x18($sp) +/* 91F3A8 80240E38 AFBF001C */ sw $ra, 0x1c($sp) +/* 91F3AC 80240E3C AFB00010 */ sw $s0, 0x10($sp) +/* 91F3B0 80240E40 8E30000C */ lw $s0, 0xc($s1) +/* 91F3B4 80240E44 10A00010 */ beqz $a1, .L80240E88 +/* 91F3B8 80240E48 0000902D */ daddu $s2, $zero, $zero +/* 91F3BC 80240E4C 8E050000 */ lw $a1, ($s0) +/* 91F3C0 80240E50 0C0B1EAF */ jal get_variable +/* 91F3C4 80240E54 26100004 */ addiu $s0, $s0, 4 +/* 91F3C8 80240E58 AE220084 */ sw $v0, 0x84($s1) +/* 91F3CC 80240E5C 8E050000 */ lw $a1, ($s0) +/* 91F3D0 80240E60 0C0B1EAF */ jal get_variable +/* 91F3D4 80240E64 0220202D */ daddu $a0, $s1, $zero +/* 91F3D8 80240E68 0240202D */ daddu $a0, $s2, $zero +/* 91F3DC 80240E6C 240500D0 */ addiu $a1, $zero, 0xd0 +/* 91F3E0 80240E70 00A0302D */ daddu $a2, $a1, $zero +/* 91F3E4 80240E74 00A0382D */ daddu $a3, $a1, $zero +/* 91F3E8 80240E78 AE220088 */ sw $v0, 0x88($s1) +/* 91F3EC 80240E7C AE200070 */ sw $zero, 0x70($s1) +/* 91F3F0 80240E80 0C04DF84 */ jal func_80137E10 +/* 91F3F4 80240E84 AE200074 */ sw $zero, 0x74($s1) +.L80240E88: +/* 91F3F8 80240E88 8E230070 */ lw $v1, 0x70($s1) +/* 91F3FC 80240E8C 24040001 */ addiu $a0, $zero, 1 +/* 91F400 80240E90 10640019 */ beq $v1, $a0, .L80240EF8 +/* 91F404 80240E94 28620002 */ slti $v0, $v1, 2 +/* 91F408 80240E98 10400005 */ beqz $v0, .L80240EB0 +/* 91F40C 80240E9C 24020002 */ addiu $v0, $zero, 2 +/* 91F410 80240EA0 10600007 */ beqz $v1, .L80240EC0 +/* 91F414 80240EA4 240500FF */ addiu $a1, $zero, 0xff +/* 91F418 80240EA8 080903CE */ j .L80240F38 +/* 91F41C 80240EAC 00000000 */ nop +.L80240EB0: +/* 91F420 80240EB0 10620019 */ beq $v1, $v0, .L80240F18 +/* 91F424 80240EB4 00000000 */ nop +/* 91F428 80240EB8 080903CE */ j .L80240F38 +/* 91F42C 80240EBC 00000000 */ nop +.L80240EC0: +/* 91F430 80240EC0 8E220074 */ lw $v0, 0x74($s1) +/* 91F434 80240EC4 14450004 */ bne $v0, $a1, .L80240ED8 +/* 91F438 80240EC8 00000000 */ nop +/* 91F43C 80240ECC AE240070 */ sw $a0, 0x70($s1) +/* 91F440 80240ED0 AE200078 */ sw $zero, 0x78($s1) +/* 91F444 80240ED4 8E220074 */ lw $v0, 0x74($s1) +.L80240ED8: +/* 91F448 80240ED8 8E230084 */ lw $v1, 0x84($s1) +/* 91F44C 80240EDC 00431021 */ addu $v0, $v0, $v1 +/* 91F450 80240EE0 AE220074 */ sw $v0, 0x74($s1) +/* 91F454 80240EE4 28420100 */ slti $v0, $v0, 0x100 +/* 91F458 80240EE8 50400013 */ beql $v0, $zero, .L80240F38 +/* 91F45C 80240EEC AE250074 */ sw $a1, 0x74($s1) +/* 91F460 80240EF0 080903CE */ j .L80240F38 +/* 91F464 80240EF4 00000000 */ nop +.L80240EF8: +/* 91F468 80240EF8 8E220078 */ lw $v0, 0x78($s1) +/* 91F46C 80240EFC 24420001 */ addiu $v0, $v0, 1 +/* 91F470 80240F00 AE220078 */ sw $v0, 0x78($s1) +/* 91F474 80240F04 28420002 */ slti $v0, $v0, 2 +/* 91F478 80240F08 1440000B */ bnez $v0, .L80240F38 +/* 91F47C 80240F0C 24020002 */ addiu $v0, $zero, 2 +/* 91F480 80240F10 080903CE */ j .L80240F38 +/* 91F484 80240F14 AE220070 */ sw $v0, 0x70($s1) +.L80240F18: +/* 91F488 80240F18 8E230074 */ lw $v1, 0x74($s1) +/* 91F48C 80240F1C 50600001 */ beql $v1, $zero, .L80240F24 +/* 91F490 80240F20 24120001 */ addiu $s2, $zero, 1 +.L80240F24: +/* 91F494 80240F24 8E220088 */ lw $v0, 0x88($s1) +/* 91F498 80240F28 00621023 */ subu $v0, $v1, $v0 +/* 91F49C 80240F2C 04410002 */ bgez $v0, .L80240F38 +/* 91F4A0 80240F30 AE220074 */ sw $v0, 0x74($s1) +/* 91F4A4 80240F34 AE200074 */ sw $zero, 0x74($s1) +.L80240F38: +/* 91F4A8 80240F38 C6200074 */ lwc1 $f0, 0x74($s1) +/* 91F4AC 80240F3C 46800020 */ cvt.s.w $f0, $f0 +/* 91F4B0 80240F40 44050000 */ mfc1 $a1, $f0 +/* 91F4B4 80240F44 0C04DF62 */ jal func_80137D88 +/* 91F4B8 80240F48 24040001 */ addiu $a0, $zero, 1 +/* 91F4BC 80240F4C 0240102D */ daddu $v0, $s2, $zero +/* 91F4C0 80240F50 8FBF001C */ lw $ra, 0x1c($sp) +/* 91F4C4 80240F54 8FB20018 */ lw $s2, 0x18($sp) +/* 91F4C8 80240F58 8FB10014 */ lw $s1, 0x14($sp) +/* 91F4CC 80240F5C 8FB00010 */ lw $s0, 0x10($sp) +/* 91F4D0 80240F60 03E00008 */ jr $ra +/* 91F4D4 80240F64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240F68_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240F68_91E570.s new file mode 100644 index 0000000000..7a27d1f31c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240F68_91E570.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F68_91F4D8 +/* 91F4D8 80240F68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91F4DC 80240F6C AFBF0018 */ sw $ra, 0x18($sp) +/* 91F4E0 80240F70 0C00EAD2 */ jal get_npc_safe +/* 91F4E4 80240F74 2404FFFC */ addiu $a0, $zero, -4 +/* 91F4E8 80240F78 3C0141F0 */ lui $at, 0x41f0 +/* 91F4EC 80240F7C 44810000 */ mtc1 $at, $f0 +/* 91F4F0 80240F80 C442003C */ lwc1 $f2, 0x3c($v0) +/* 91F4F4 80240F84 46001080 */ add.s $f2, $f2, $f0 +/* 91F4F8 80240F88 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91F4FC 80240F8C 8C450038 */ lw $a1, 0x38($v0) +/* 91F500 80240F90 8C470040 */ lw $a3, 0x40($v0) +/* 91F504 80240F94 44061000 */ mfc1 $a2, $f2 +/* 91F508 80240F98 0C01BFBC */ jal func_8006FEF0 +/* 91F50C 80240F9C 24040002 */ addiu $a0, $zero, 2 +/* 91F510 80240FA0 8FBF0018 */ lw $ra, 0x18($sp) +/* 91F514 80240FA4 24020002 */ addiu $v0, $zero, 2 +/* 91F518 80240FA8 03E00008 */ jr $ra +/* 91F51C 80240FAC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FB0.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FB0.s new file mode 100644 index 0000000000..0e53219324 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FB0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB0 +/* 91F520 80240FB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91F524 80240FB4 AFBF0018 */ sw $ra, 0x18($sp) +/* 91F528 80240FB8 0C00EAD2 */ jal get_npc_safe +/* 91F52C 80240FBC 2404FFFC */ addiu $a0, $zero, -4 +/* 91F530 80240FC0 3C0141F0 */ lui $at, 0x41f0 +/* 91F534 80240FC4 44810000 */ mtc1 $at, $f0 +/* 91F538 80240FC8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 91F53C 80240FCC 46001080 */ add.s $f2, $f2, $f0 +/* 91F540 80240FD0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 91F544 80240FD4 8C450038 */ lw $a1, 0x38($v0) +/* 91F548 80240FD8 8C470040 */ lw $a3, 0x40($v0) +/* 91F54C 80240FDC 44061000 */ mfc1 $a2, $f2 +/* 91F550 80240FE0 0C01BFBC */ jal func_8006FEF0 +/* 91F554 80240FE4 24040004 */ addiu $a0, $zero, 4 +/* 91F558 80240FE8 8FBF0018 */ lw $ra, 0x18($sp) +/* 91F55C 80240FEC 24020002 */ addiu $v0, $zero, 2 +/* 91F560 80240FF0 03E00008 */ jr $ra +/* 91F564 80240FF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FF8.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FF8.s new file mode 100644 index 0000000000..88092ae622 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80240FF8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FF8 +/* 91F568 80240FF8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 91F56C 80240FFC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 91F570 80241000 AC800084 */ sw $zero, 0x84($a0) +/* 91F574 80241004 80620000 */ lb $v0, ($v1) +/* 91F578 80241008 10400005 */ beqz $v0, .L80241020 +/* 91F57C 8024100C 24020003 */ addiu $v0, $zero, 3 +/* 91F580 80241010 80630003 */ lb $v1, 3($v1) +/* 91F584 80241014 14620002 */ bne $v1, $v0, .L80241020 +/* 91F588 80241018 24020001 */ addiu $v0, $zero, 1 +/* 91F58C 8024101C AC820084 */ sw $v0, 0x84($a0) +.L80241020: +/* 91F590 80241020 03E00008 */ jr $ra +/* 91F594 80241024 24020002 */ addiu $v0, $zero, 2 +/* 91F598 80241028 00000000 */ nop +/* 91F59C 8024102C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80241030.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241030.s new file mode 100644 index 0000000000..1993d68032 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241030.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241030 +/* 91F5A0 80241030 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 91F5A4 80241034 AFB20018 */ sw $s2, 0x18($sp) +/* 91F5A8 80241038 0080902D */ daddu $s2, $a0, $zero +/* 91F5AC 8024103C AFB10014 */ sw $s1, 0x14($sp) +/* 91F5B0 80241040 00A0882D */ daddu $s1, $a1, $zero +/* 91F5B4 80241044 AFBF0024 */ sw $ra, 0x24($sp) +/* 91F5B8 80241048 AFB40020 */ sw $s4, 0x20($sp) +/* 91F5BC 8024104C AFB3001C */ sw $s3, 0x1c($sp) +/* 91F5C0 80241050 AFB00010 */ sw $s0, 0x10($sp) +/* 91F5C4 80241054 8E50000C */ lw $s0, 0xc($s2) +/* 91F5C8 80241058 8E050000 */ lw $a1, ($s0) +/* 91F5CC 8024105C 0C0B1EAF */ jal get_variable +/* 91F5D0 80241060 26100004 */ addiu $s0, $s0, 4 +/* 91F5D4 80241064 0240202D */ daddu $a0, $s2, $zero +/* 91F5D8 80241068 8E050000 */ lw $a1, ($s0) +/* 91F5DC 8024106C 0C0B1EAF */ jal get_variable +/* 91F5E0 80241070 0040802D */ daddu $s0, $v0, $zero +/* 91F5E4 80241074 0200202D */ daddu $a0, $s0, $zero +/* 91F5E8 80241078 0C00EAD2 */ jal get_npc_safe +/* 91F5EC 8024107C 0040A02D */ daddu $s4, $v0, $zero +/* 91F5F0 80241080 3C138011 */ lui $s3, %hi(gPlayerData) +/* 91F5F4 80241084 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* 91F5F8 80241088 12200006 */ beqz $s1, .L802410A4 +/* 91F5FC 8024108C 0040802D */ daddu $s0, $v0, $zero +/* 91F600 80241090 82620012 */ lb $v0, 0x12($s3) +/* 91F604 80241094 54400003 */ bnel $v0, $zero, .L802410A4 +/* 91F608 80241098 AE400070 */ sw $zero, 0x70($s2) +/* 91F60C 8024109C 24020002 */ addiu $v0, $zero, 2 +/* 91F610 802410A0 AE420070 */ sw $v0, 0x70($s2) +.L802410A4: +/* 91F614 802410A4 8E430070 */ lw $v1, 0x70($s2) +/* 91F618 802410A8 24110001 */ addiu $s1, $zero, 1 +/* 91F61C 802410AC 10710013 */ beq $v1, $s1, .L802410FC +/* 91F620 802410B0 28620002 */ slti $v0, $v1, 2 +/* 91F624 802410B4 10400005 */ beqz $v0, .L802410CC +/* 91F628 802410B8 24020002 */ addiu $v0, $zero, 2 +/* 91F62C 802410BC 10600009 */ beqz $v1, .L802410E4 +/* 91F630 802410C0 0000102D */ daddu $v0, $zero, $zero +/* 91F634 802410C4 08090465 */ j .L80241194 +/* 91F638 802410C8 00000000 */ nop +.L802410CC: +/* 91F63C 802410CC 10620013 */ beq $v1, $v0, .L8024111C +/* 91F640 802410D0 24020003 */ addiu $v0, $zero, 3 +/* 91F644 802410D4 1062001E */ beq $v1, $v0, .L80241150 +/* 91F648 802410D8 0000102D */ daddu $v0, $zero, $zero +/* 91F64C 802410DC 08090465 */ j .L80241194 +/* 91F650 802410E0 00000000 */ nop +.L802410E4: +/* 91F654 802410E4 0C03AC5A */ jal func_800EB168 +/* 91F658 802410E8 0000202D */ daddu $a0, $zero, $zero +/* 91F65C 802410EC 2402001E */ addiu $v0, $zero, 0x1e +/* 91F660 802410F0 AE420074 */ sw $v0, 0x74($s2) +/* 91F664 802410F4 08090464 */ j .L80241190 +/* 91F668 802410F8 AE510070 */ sw $s1, 0x70($s2) +.L802410FC: +/* 91F66C 802410FC 8E420074 */ lw $v0, 0x74($s2) +/* 91F670 80241100 2403FFFF */ addiu $v1, $zero, -1 +/* 91F674 80241104 2442FFFF */ addiu $v0, $v0, -1 +/* 91F678 80241108 14430021 */ bne $v0, $v1, .L80241190 +/* 91F67C 8024110C AE420074 */ sw $v0, 0x74($s2) +/* 91F680 80241110 24020002 */ addiu $v0, $zero, 2 +/* 91F684 80241114 08090464 */ j .L80241190 +/* 91F688 80241118 AE420070 */ sw $v0, 0x70($s2) +.L8024111C: +/* 91F68C 8024111C 0200202D */ daddu $a0, $s0, $zero +/* 91F690 80241120 00141600 */ sll $v0, $s4, 0x18 +/* 91F694 80241124 00021543 */ sra $v0, $v0, 0x15 +/* 91F698 80241128 02621021 */ addu $v0, $s3, $v0 +/* 91F69C 8024112C A2740012 */ sb $s4, 0x12($s3) +/* 91F6A0 80241130 0C03BD17 */ jal clear_partner_move_history +/* 91F6A4 80241134 A0510014 */ sb $s1, 0x14($v0) +/* 91F6A8 80241138 82640012 */ lb $a0, 0x12($s3) +/* 91F6AC 8024113C 0C03ACA9 */ jal func_800EB2A4 +/* 91F6B0 80241140 00000000 */ nop +/* 91F6B4 80241144 24020003 */ addiu $v0, $zero, 3 +/* 91F6B8 80241148 08090464 */ j .L80241190 +/* 91F6BC 8024114C AE420070 */ sw $v0, 0x70($s2) +.L80241150: +/* 91F6C0 80241150 0C00EAD2 */ jal get_npc_safe +/* 91F6C4 80241154 2404FFFC */ addiu $a0, $zero, -4 +/* 91F6C8 80241158 8E05000C */ lw $a1, 0xc($s0) +/* 91F6CC 8024115C 0C00ECD0 */ jal set_npc_yaw +/* 91F6D0 80241160 0040202D */ daddu $a0, $v0, $zero +/* 91F6D4 80241164 0200202D */ daddu $a0, $s0, $zero +/* 91F6D8 80241168 8E020000 */ lw $v0, ($s0) +/* 91F6DC 8024116C 2403FFFB */ addiu $v1, $zero, -5 +/* 91F6E0 80241170 00431024 */ and $v0, $v0, $v1 +/* 91F6E4 80241174 0C00EAFF */ jal disable_npc_shadow +/* 91F6E8 80241178 AE020000 */ sw $v0, ($s0) +/* 91F6EC 8024117C 3C01C47A */ lui $at, 0xc47a +/* 91F6F0 80241180 44810000 */ mtc1 $at, $f0 +/* 91F6F4 80241184 24020002 */ addiu $v0, $zero, 2 +/* 91F6F8 80241188 08090465 */ j .L80241194 +/* 91F6FC 8024118C E600003C */ swc1 $f0, 0x3c($s0) +.L80241190: +/* 91F700 80241190 0000102D */ daddu $v0, $zero, $zero +.L80241194: +/* 91F704 80241194 8FBF0024 */ lw $ra, 0x24($sp) +/* 91F708 80241198 8FB40020 */ lw $s4, 0x20($sp) +/* 91F70C 8024119C 8FB3001C */ lw $s3, 0x1c($sp) +/* 91F710 802411A0 8FB20018 */ lw $s2, 0x18($sp) +/* 91F714 802411A4 8FB10014 */ lw $s1, 0x14($sp) +/* 91F718 802411A8 8FB00010 */ lw $s0, 0x10($sp) +/* 91F71C 802411AC 03E00008 */ jr $ra +/* 91F720 802411B0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802411B4.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802411B4.s new file mode 100644 index 0000000000..6a735a6617 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802411B4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B4 +/* 91F724 802411B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 91F728 802411B8 AFB10014 */ sw $s1, 0x14($sp) +/* 91F72C 802411BC 0080882D */ daddu $s1, $a0, $zero +/* 91F730 802411C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 91F734 802411C4 AFB00010 */ sw $s0, 0x10($sp) +/* 91F738 802411C8 8E30000C */ lw $s0, 0xc($s1) +/* 91F73C 802411CC 8E050000 */ lw $a1, ($s0) +/* 91F740 802411D0 0C0B1EAF */ jal get_variable +/* 91F744 802411D4 26100004 */ addiu $s0, $s0, 4 +/* 91F748 802411D8 0C00EAD2 */ jal get_npc_safe +/* 91F74C 802411DC 0040202D */ daddu $a0, $v0, $zero +/* 91F750 802411E0 10400005 */ beqz $v0, .L802411F8 +/* 91F754 802411E4 00000000 */ nop +/* 91F758 802411E8 8E050000 */ lw $a1, ($s0) +/* 91F75C 802411EC 844600A8 */ lh $a2, 0xa8($v0) +/* 91F760 802411F0 0C0B2026 */ jal set_variable +/* 91F764 802411F4 0220202D */ daddu $a0, $s1, $zero +.L802411F8: +/* 91F768 802411F8 8FBF0018 */ lw $ra, 0x18($sp) +/* 91F76C 802411FC 8FB10014 */ lw $s1, 0x14($sp) +/* 91F770 80241200 8FB00010 */ lw $s0, 0x10($sp) +/* 91F774 80241204 24020002 */ addiu $v0, $zero, 2 +/* 91F778 80241208 03E00008 */ jr $ra +/* 91F77C 8024120C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80241210_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241210_91E570.s new file mode 100644 index 0000000000..9826005b9a --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241210_91E570.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241210_91F780 +/* 91F780 80241210 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 91F784 80241214 AFB10014 */ sw $s1, 0x14($sp) +/* 91F788 80241218 0080882D */ daddu $s1, $a0, $zero +/* 91F78C 8024121C AFBF0024 */ sw $ra, 0x24($sp) +/* 91F790 80241220 AFB40020 */ sw $s4, 0x20($sp) +/* 91F794 80241224 AFB3001C */ sw $s3, 0x1c($sp) +/* 91F798 80241228 AFB20018 */ sw $s2, 0x18($sp) +/* 91F79C 8024122C AFB00010 */ sw $s0, 0x10($sp) +/* 91F7A0 80241230 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 91F7A4 80241234 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 91F7A8 80241238 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 91F7AC 8024123C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 91F7B0 80241240 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 91F7B4 80241244 8E30000C */ lw $s0, 0xc($s1) +/* 91F7B8 80241248 8E130000 */ lw $s3, ($s0) +/* 91F7BC 8024124C 26100004 */ addiu $s0, $s0, 4 +/* 91F7C0 80241250 0C0B1EAF */ jal get_variable +/* 91F7C4 80241254 0260282D */ daddu $a1, $s3, $zero +/* 91F7C8 80241258 4482E000 */ mtc1 $v0, $f28 +/* 91F7CC 8024125C 00000000 */ nop +/* 91F7D0 80241260 4680E720 */ cvt.s.w $f28, $f28 +/* 91F7D4 80241264 8E140000 */ lw $s4, ($s0) +/* 91F7D8 80241268 26100004 */ addiu $s0, $s0, 4 +/* 91F7DC 8024126C 0220202D */ daddu $a0, $s1, $zero +/* 91F7E0 80241270 0C0B1EAF */ jal get_variable +/* 91F7E4 80241274 0280282D */ daddu $a1, $s4, $zero +/* 91F7E8 80241278 4482D000 */ mtc1 $v0, $f26 +/* 91F7EC 8024127C 00000000 */ nop +/* 91F7F0 80241280 4680D6A0 */ cvt.s.w $f26, $f26 +/* 91F7F4 80241284 8E100000 */ lw $s0, ($s0) +/* 91F7F8 80241288 0220202D */ daddu $a0, $s1, $zero +/* 91F7FC 8024128C 0C0B1EAF */ jal get_variable +/* 91F800 80241290 0200282D */ daddu $a1, $s0, $zero +/* 91F804 80241294 4482C000 */ mtc1 $v0, $f24 +/* 91F808 80241298 00000000 */ nop +/* 91F80C 8024129C 4680C620 */ cvt.s.w $f24, $f24 +/* 91F810 802412A0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 91F814 802412A4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 91F818 802412A8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 91F81C 802412AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 91F820 802412B0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 91F824 802412B4 44800000 */ mtc1 $zero, $f0 +/* 91F828 802412B8 00031080 */ sll $v0, $v1, 2 +/* 91F82C 802412BC 00431021 */ addu $v0, $v0, $v1 +/* 91F830 802412C0 00021080 */ sll $v0, $v0, 2 +/* 91F834 802412C4 00431023 */ subu $v0, $v0, $v1 +/* 91F838 802412C8 000218C0 */ sll $v1, $v0, 3 +/* 91F83C 802412CC 00431021 */ addu $v0, $v0, $v1 +/* 91F840 802412D0 000210C0 */ sll $v0, $v0, 3 +/* 91F844 802412D4 46001032 */ c.eq.s $f2, $f0 +/* 91F848 802412D8 3C01800B */ lui $at, 0x800b +/* 91F84C 802412DC 00220821 */ addu $at, $at, $v0 +/* 91F850 802412E0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 91F854 802412E4 45000005 */ bc1f .L802412FC +/* 91F858 802412E8 00000000 */ nop +/* 91F85C 802412EC 3C0142C8 */ lui $at, 0x42c8 +/* 91F860 802412F0 44810000 */ mtc1 $at, $f0 +/* 91F864 802412F4 080904C3 */ j .L8024130C +/* 91F868 802412F8 4600B581 */ sub.s $f22, $f22, $f0 +.L802412FC: +/* 91F86C 802412FC 3C0142C8 */ lui $at, 0x42c8 +/* 91F870 80241300 44810000 */ mtc1 $at, $f0 +/* 91F874 80241304 00000000 */ nop +/* 91F878 80241308 4600B580 */ add.s $f22, $f22, $f0 +.L8024130C: +/* 91F87C 8024130C 0C00A6C9 */ jal clamp_angle +/* 91F880 80241310 4600B306 */ mov.s $f12, $f22 +/* 91F884 80241314 46000586 */ mov.s $f22, $f0 +/* 91F888 80241318 3C014170 */ lui $at, 0x4170 +/* 91F88C 8024131C 4481A000 */ mtc1 $at, $f20 +/* 91F890 80241320 0C00A8BB */ jal sin_deg +/* 91F894 80241324 4600B306 */ mov.s $f12, $f22 +/* 91F898 80241328 46140002 */ mul.s $f0, $f0, $f20 +/* 91F89C 8024132C 00000000 */ nop +/* 91F8A0 80241330 864200B0 */ lh $v0, 0xb0($s2) +/* 91F8A4 80241334 3C013F00 */ lui $at, 0x3f00 +/* 91F8A8 80241338 44812000 */ mtc1 $at, $f4 +/* 91F8AC 8024133C 44821000 */ mtc1 $v0, $f2 +/* 91F8B0 80241340 00000000 */ nop +/* 91F8B4 80241344 468010A0 */ cvt.s.w $f2, $f2 +/* 91F8B8 80241348 46041082 */ mul.s $f2, $f2, $f4 +/* 91F8BC 8024134C 00000000 */ nop +/* 91F8C0 80241350 4600E700 */ add.s $f28, $f28, $f0 +/* 91F8C4 80241354 4602D680 */ add.s $f26, $f26, $f2 +/* 91F8C8 80241358 0C00A8D4 */ jal cos_deg +/* 91F8CC 8024135C 4600B306 */ mov.s $f12, $f22 +/* 91F8D0 80241360 46140002 */ mul.s $f0, $f0, $f20 +/* 91F8D4 80241364 00000000 */ nop +/* 91F8D8 80241368 0220202D */ daddu $a0, $s1, $zero +/* 91F8DC 8024136C 0260282D */ daddu $a1, $s3, $zero +/* 91F8E0 80241370 4600E18D */ trunc.w.s $f6, $f28 +/* 91F8E4 80241374 44063000 */ mfc1 $a2, $f6 +/* 91F8E8 80241378 0C0B2026 */ jal set_variable +/* 91F8EC 8024137C 4600C601 */ sub.s $f24, $f24, $f0 +/* 91F8F0 80241380 0220202D */ daddu $a0, $s1, $zero +/* 91F8F4 80241384 4600D18D */ trunc.w.s $f6, $f26 +/* 91F8F8 80241388 44063000 */ mfc1 $a2, $f6 +/* 91F8FC 8024138C 0C0B2026 */ jal set_variable +/* 91F900 80241390 0280282D */ daddu $a1, $s4, $zero +/* 91F904 80241394 0220202D */ daddu $a0, $s1, $zero +/* 91F908 80241398 4600C18D */ trunc.w.s $f6, $f24 +/* 91F90C 8024139C 44063000 */ mfc1 $a2, $f6 +/* 91F910 802413A0 0C0B2026 */ jal set_variable +/* 91F914 802413A4 0200282D */ daddu $a1, $s0, $zero +/* 91F918 802413A8 8FBF0024 */ lw $ra, 0x24($sp) +/* 91F91C 802413AC 8FB40020 */ lw $s4, 0x20($sp) +/* 91F920 802413B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 91F924 802413B4 8FB20018 */ lw $s2, 0x18($sp) +/* 91F928 802413B8 8FB10014 */ lw $s1, 0x14($sp) +/* 91F92C 802413BC 8FB00010 */ lw $s0, 0x10($sp) +/* 91F930 802413C0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 91F934 802413C4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 91F938 802413C8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 91F93C 802413CC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 91F940 802413D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 91F944 802413D4 24020002 */ addiu $v0, $zero, 2 +/* 91F948 802413D8 03E00008 */ jr $ra +/* 91F94C 802413DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802413E0.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802413E0.s new file mode 100644 index 0000000000..1658fa13c5 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802413E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413E0 +/* 91F950 802413E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91F954 802413E4 AFBF0010 */ sw $ra, 0x10($sp) +/* 91F958 802413E8 10A00003 */ beqz $a1, .L802413F8 +/* 91F95C 802413EC 8C86000C */ lw $a2, 0xc($a0) +/* 91F960 802413F0 3C018024 */ lui $at, 0x8024 +/* 91F964 802413F4 AC20626C */ sw $zero, 0x626c($at) +.L802413F8: +/* 91F968 802413F8 3C038024 */ lui $v1, 0x8024 +/* 91F96C 802413FC 2463626C */ addiu $v1, $v1, 0x626c +/* 91F970 80241400 8C620000 */ lw $v0, ($v1) +/* 91F974 80241404 54400003 */ bnel $v0, $zero, .L80241414 +/* 91F978 80241408 AC600000 */ sw $zero, ($v1) +/* 91F97C 8024140C 0809050A */ j .L80241428 +/* 91F980 80241410 0000102D */ daddu $v0, $zero, $zero +.L80241414: +/* 91F984 80241414 8CC50000 */ lw $a1, ($a2) +/* 91F988 80241418 3C068024 */ lui $a2, 0x8024 +/* 91F98C 8024141C 0C0B2026 */ jal set_variable +/* 91F990 80241420 8CC66270 */ lw $a2, 0x6270($a2) +/* 91F994 80241424 24020002 */ addiu $v0, $zero, 2 +.L80241428: +/* 91F998 80241428 8FBF0010 */ lw $ra, 0x10($sp) +/* 91F99C 8024142C 03E00008 */ jr $ra +/* 91F9A0 80241430 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80241434.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241434.s new file mode 100644 index 0000000000..d38cfcf054 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241434.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241434 +/* 91F9A4 80241434 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91F9A8 80241438 AFBF0010 */ sw $ra, 0x10($sp) +/* 91F9AC 8024143C 8C82000C */ lw $v0, 0xc($a0) +/* 91F9B0 80241440 0C0B1EAF */ jal get_variable +/* 91F9B4 80241444 8C450000 */ lw $a1, ($v0) +/* 91F9B8 80241448 3C018024 */ lui $at, 0x8024 +/* 91F9BC 8024144C AC226270 */ sw $v0, 0x6270($at) +/* 91F9C0 80241450 24020002 */ addiu $v0, $zero, 2 +/* 91F9C4 80241454 8FBF0010 */ lw $ra, 0x10($sp) +/* 91F9C8 80241458 24030001 */ addiu $v1, $zero, 1 +/* 91F9CC 8024145C 3C018024 */ lui $at, 0x8024 +/* 91F9D0 80241460 AC23626C */ sw $v1, 0x626c($at) +/* 91F9D4 80241464 03E00008 */ jr $ra +/* 91F9D8 80241468 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_8024146C.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024146C.s new file mode 100644 index 0000000000..8482c81f64 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_8024146C.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024146C +/* 91F9DC 8024146C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 91F9E0 80241470 AFBF0010 */ sw $ra, 0x10($sp) +/* 91F9E4 80241474 8C82000C */ lw $v0, 0xc($a0) +/* 91F9E8 80241478 0C0B1EAF */ jal get_variable +/* 91F9EC 8024147C 8C450000 */ lw $a1, ($v0) +/* 91F9F0 80241480 0040182D */ daddu $v1, $v0, $zero +/* 91F9F4 80241484 10600012 */ beqz $v1, .L802414D0 +/* 91F9F8 80241488 0000202D */ daddu $a0, $zero, $zero +/* 91F9FC 8024148C 8C620000 */ lw $v0, ($v1) +/* 91FA00 80241490 5040000A */ beql $v0, $zero, .L802414BC +/* 91FA04 80241494 00041080 */ sll $v0, $a0, 2 +/* 91FA08 80241498 3C058025 */ lui $a1, 0x8025 +/* 91FA0C 8024149C 24A58480 */ addiu $a1, $a1, -0x7b80 +.L802414A0: +/* 91FA10 802414A0 24630004 */ addiu $v1, $v1, 4 +/* 91FA14 802414A4 24840001 */ addiu $a0, $a0, 1 +/* 91FA18 802414A8 ACA20000 */ sw $v0, ($a1) +/* 91FA1C 802414AC 8C620000 */ lw $v0, ($v1) +/* 91FA20 802414B0 1440FFFB */ bnez $v0, .L802414A0 +/* 91FA24 802414B4 24A50004 */ addiu $a1, $a1, 4 +/* 91FA28 802414B8 00041080 */ sll $v0, $a0, 2 +.L802414BC: +/* 91FA2C 802414BC 3C018025 */ lui $at, 0x8025 +/* 91FA30 802414C0 00220821 */ addu $at, $at, $v0 +/* 91FA34 802414C4 AC208480 */ sw $zero, -0x7b80($at) +/* 91FA38 802414C8 0809053E */ j .L802414F8 +/* 91FA3C 802414CC 00000000 */ nop +.L802414D0: +/* 91FA40 802414D0 3C038025 */ lui $v1, 0x8025 +/* 91FA44 802414D4 24638480 */ addiu $v1, $v1, -0x7b80 +/* 91FA48 802414D8 0060282D */ daddu $a1, $v1, $zero +.L802414DC: +/* 91FA4C 802414DC 24820010 */ addiu $v0, $a0, 0x10 +/* 91FA50 802414E0 AC620000 */ sw $v0, ($v1) +/* 91FA54 802414E4 24630004 */ addiu $v1, $v1, 4 +/* 91FA58 802414E8 24840001 */ addiu $a0, $a0, 1 +/* 91FA5C 802414EC 28820070 */ slti $v0, $a0, 0x70 +/* 91FA60 802414F0 1440FFFA */ bnez $v0, .L802414DC +/* 91FA64 802414F4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802414F8: +/* 91FA68 802414F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 91FA6C 802414FC 24020002 */ addiu $v0, $zero, 2 +/* 91FA70 80241500 03E00008 */ jr $ra +/* 91FA74 80241504 27BD0018 */ addiu $sp, $sp, 0x18 +/* 91FA78 80241508 00000000 */ nop +/* 91FA7C 8024150C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80241510.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241510.s new file mode 100644 index 0000000000..ecea1223d1 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241510.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241510 +/* 91FA80 80241510 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 91FA84 80241514 3C048025 */ lui $a0, 0x8025 +/* 91FA88 80241518 24848470 */ addiu $a0, $a0, -0x7b90 +/* 91FA8C 8024151C 27A50010 */ addiu $a1, $sp, 0x10 +/* 91FA90 80241520 AFBF0020 */ sw $ra, 0x20($sp) +/* 91FA94 80241524 AFB1001C */ sw $s1, 0x1c($sp) +/* 91FA98 80241528 0C016B3A */ jal load_asset_by_name +/* 91FA9C 8024152C AFB00018 */ sw $s0, 0x18($sp) +/* 91FAA0 80241530 0040802D */ daddu $s0, $v0, $zero +/* 91FAA4 80241534 0200202D */ daddu $a0, $s0, $zero +/* 91FAA8 80241538 3C118025 */ lui $s1, 0x8025 +/* 91FAAC 8024153C 26318650 */ addiu $s1, $s1, -0x79b0 +/* 91FAB0 80241540 0C01BB7C */ jal decode_yay0 +/* 91FAB4 80241544 0220282D */ daddu $a1, $s1, $zero +/* 91FAB8 80241548 0C00AB1E */ jal general_heap_free +/* 91FABC 8024154C 0200202D */ daddu $a0, $s0, $zero +/* 91FAC0 80241550 3C048025 */ lui $a0, 0x8025 +/* 91FAC4 80241554 2484C5E0 */ addiu $a0, $a0, -0x3a20 +/* 91FAC8 80241558 3C028025 */ lui $v0, 0x8025 +/* 91FACC 8024155C 24428850 */ addiu $v0, $v0, -0x77b0 +/* 91FAD0 80241560 AC820000 */ sw $v0, ($a0) +/* 91FAD4 80241564 24020096 */ addiu $v0, $zero, 0x96 +/* 91FAD8 80241568 A4820008 */ sh $v0, 8($a0) +/* 91FADC 8024156C 24020069 */ addiu $v0, $zero, 0x69 +/* 91FAE0 80241570 A482000A */ sh $v0, 0xa($a0) +/* 91FAE4 80241574 24020002 */ addiu $v0, $zero, 2 +/* 91FAE8 80241578 AC82000C */ sw $v0, 0xc($a0) +/* 91FAEC 8024157C 24020001 */ addiu $v0, $zero, 1 +/* 91FAF0 80241580 AC910004 */ sw $s1, 4($a0) +/* 91FAF4 80241584 0C0496CB */ jal set_message_images +/* 91FAF8 80241588 AC820010 */ sw $v0, 0x10($a0) +/* 91FAFC 8024158C 8FBF0020 */ lw $ra, 0x20($sp) +/* 91FB00 80241590 8FB1001C */ lw $s1, 0x1c($sp) +/* 91FB04 80241594 8FB00018 */ lw $s0, 0x18($sp) +/* 91FB08 80241598 24020002 */ addiu $v0, $zero, 2 +/* 91FB0C 8024159C 03E00008 */ jr $ra +/* 91FB10 802415A0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 91FB14 802415A4 00000000 */ nop +/* 91FB18 802415A8 00000000 */ nop +/* 91FB1C 802415AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_802415B0.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_802415B0.s new file mode 100644 index 0000000000..9bf99bad40 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_802415B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415B0 +/* 91FB20 802415B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 91FB24 802415B4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 91FB28 802415B8 4485A000 */ mtc1 $a1, $f20 +/* 91FB2C 802415BC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 91FB30 802415C0 4486B000 */ mtc1 $a2, $f22 +/* 91FB34 802415C4 AFB00010 */ sw $s0, 0x10($sp) +/* 91FB38 802415C8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 91FB3C 802415CC 4487C000 */ mtc1 $a3, $f24 +/* 91FB40 802415D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 91FB44 802415D4 0C019D28 */ jal guMtxIdentF +/* 91FB48 802415D8 0080802D */ daddu $s0, $a0, $zero +/* 91FB4C 802415DC 4616A582 */ mul.s $f22, $f20, $f22 +/* 91FB50 802415E0 00000000 */ nop +/* 91FB54 802415E4 4618A502 */ mul.s $f20, $f20, $f24 +/* 91FB58 802415E8 00000000 */ nop +/* 91FB5C 802415EC 3C013F80 */ lui $at, 0x3f80 +/* 91FB60 802415F0 44810000 */ mtc1 $at, $f0 +/* 91FB64 802415F4 00000000 */ nop +/* 91FB68 802415F8 E6000014 */ swc1 $f0, 0x14($s0) +/* 91FB6C 802415FC E6160010 */ swc1 $f22, 0x10($s0) +/* 91FB70 80241600 E6140018 */ swc1 $f20, 0x18($s0) +/* 91FB74 80241604 8FBF0014 */ lw $ra, 0x14($sp) +/* 91FB78 80241608 8FB00010 */ lw $s0, 0x10($sp) +/* 91FB7C 8024160C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 91FB80 80241610 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 91FB84 80241614 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 91FB88 80241618 03E00008 */ jr $ra +/* 91FB8C 8024161C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_iwa/iwa_10/func_80241620_91E570.s b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241620_91E570.s new file mode 100644 index 0000000000..26dbdecc76 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_10/func_80241620_91E570.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241620_91FB90 +/* 91FB90 80241620 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 91FB94 80241624 AFB10054 */ sw $s1, 0x54($sp) +/* 91FB98 80241628 0080882D */ daddu $s1, $a0, $zero +/* 91FB9C 8024162C AFBF005C */ sw $ra, 0x5c($sp) +/* 91FBA0 80241630 AFB20058 */ sw $s2, 0x58($sp) +/* 91FBA4 80241634 AFB00050 */ sw $s0, 0x50($sp) +/* 91FBA8 80241638 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 91FBAC 8024163C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 91FBB0 80241640 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 91FBB4 80241644 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 91FBB8 80241648 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 91FBBC 8024164C 8E30000C */ lw $s0, 0xc($s1) +/* 91FBC0 80241650 8E050000 */ lw $a1, ($s0) +/* 91FBC4 80241654 0C0B1EAF */ jal get_variable +/* 91FBC8 80241658 26100004 */ addiu $s0, $s0, 4 +/* 91FBCC 8024165C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 91FBD0 80241660 0040202D */ daddu $a0, $v0, $zero +/* 91FBD4 80241664 8E050000 */ lw $a1, ($s0) +/* 91FBD8 80241668 26100004 */ addiu $s0, $s0, 4 +/* 91FBDC 8024166C 0220202D */ daddu $a0, $s1, $zero +/* 91FBE0 80241670 0C0B210B */ jal get_float_variable +/* 91FBE4 80241674 0040902D */ daddu $s2, $v0, $zero +/* 91FBE8 80241678 8E050000 */ lw $a1, ($s0) +/* 91FBEC 8024167C 26100004 */ addiu $s0, $s0, 4 +/* 91FBF0 80241680 0220202D */ daddu $a0, $s1, $zero +/* 91FBF4 80241684 0C0B210B */ jal get_float_variable +/* 91FBF8 80241688 46000706 */ mov.s $f28, $f0 +/* 91FBFC 8024168C 8E050000 */ lw $a1, ($s0) +/* 91FC00 80241690 26100004 */ addiu $s0, $s0, 4 +/* 91FC04 80241694 0220202D */ daddu $a0, $s1, $zero +/* 91FC08 80241698 0C0B210B */ jal get_float_variable +/* 91FC0C 8024169C 46000686 */ mov.s $f26, $f0 +/* 91FC10 802416A0 0220202D */ daddu $a0, $s1, $zero +/* 91FC14 802416A4 8E050000 */ lw $a1, ($s0) +/* 91FC18 802416A8 0C0B210B */ jal get_float_variable +/* 91FC1C 802416AC 46000586 */ mov.s $f22, $f0 +/* 91FC20 802416B0 0240202D */ daddu $a0, $s2, $zero +/* 91FC24 802416B4 0C046B4C */ jal get_model_from_list_index +/* 91FC28 802416B8 46000606 */ mov.s $f24, $f0 +/* 91FC2C 802416BC 0040882D */ daddu $s1, $v0, $zero +/* 91FC30 802416C0 96220000 */ lhu $v0, ($s1) +/* 91FC34 802416C4 30420400 */ andi $v0, $v0, 0x400 +/* 91FC38 802416C8 1440001E */ bnez $v0, .L80241744 +/* 91FC3C 802416CC 26300058 */ addiu $s0, $s1, 0x58 +/* 91FC40 802416D0 4480A000 */ mtc1 $zero, $f20 +/* 91FC44 802416D4 4406B000 */ mfc1 $a2, $f22 +/* 91FC48 802416D8 4405A000 */ mfc1 $a1, $f20 +/* 91FC4C 802416DC 4407A000 */ mfc1 $a3, $f20 +/* 91FC50 802416E0 0C019E40 */ jal guTranslateF +/* 91FC54 802416E4 0200202D */ daddu $a0, $s0, $zero +/* 91FC58 802416E8 4405E000 */ mfc1 $a1, $f28 +/* 91FC5C 802416EC 4406D000 */ mfc1 $a2, $f26 +/* 91FC60 802416F0 4407C000 */ mfc1 $a3, $f24 +/* 91FC64 802416F4 0C09056C */ jal func_802415B0 +/* 91FC68 802416F8 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FC6C 802416FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FC70 80241700 0200282D */ daddu $a1, $s0, $zero +/* 91FC74 80241704 0C019D80 */ jal guMtxCatF +/* 91FC78 80241708 0200302D */ daddu $a2, $s0, $zero +/* 91FC7C 8024170C 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FC80 80241710 4600B587 */ neg.s $f22, $f22 +/* 91FC84 80241714 4405A000 */ mfc1 $a1, $f20 +/* 91FC88 80241718 4406B000 */ mfc1 $a2, $f22 +/* 91FC8C 8024171C 0C019E40 */ jal guTranslateF +/* 91FC90 80241720 00A0382D */ daddu $a3, $a1, $zero +/* 91FC94 80241724 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FC98 80241728 0200282D */ daddu $a1, $s0, $zero +/* 91FC9C 8024172C 0C019D80 */ jal guMtxCatF +/* 91FCA0 80241730 00A0302D */ daddu $a2, $a1, $zero +/* 91FCA4 80241734 96220000 */ lhu $v0, ($s1) +/* 91FCA8 80241738 34421400 */ ori $v0, $v0, 0x1400 +/* 91FCAC 8024173C 080905EF */ j .L802417BC +/* 91FCB0 80241740 A6220000 */ sh $v0, ($s1) +.L80241744: +/* 91FCB4 80241744 4480A000 */ mtc1 $zero, $f20 +/* 91FCB8 80241748 4406B000 */ mfc1 $a2, $f22 +/* 91FCBC 8024174C 4405A000 */ mfc1 $a1, $f20 +/* 91FCC0 80241750 4407A000 */ mfc1 $a3, $f20 +/* 91FCC4 80241754 0C019E40 */ jal guTranslateF +/* 91FCC8 80241758 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FCCC 8024175C 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FCD0 80241760 26300058 */ addiu $s0, $s1, 0x58 +/* 91FCD4 80241764 0200282D */ daddu $a1, $s0, $zero +/* 91FCD8 80241768 0C019D80 */ jal guMtxCatF +/* 91FCDC 8024176C 0200302D */ daddu $a2, $s0, $zero +/* 91FCE0 80241770 4405E000 */ mfc1 $a1, $f28 +/* 91FCE4 80241774 4406D000 */ mfc1 $a2, $f26 +/* 91FCE8 80241778 4407C000 */ mfc1 $a3, $f24 +/* 91FCEC 8024177C 0C09056C */ jal func_802415B0 +/* 91FCF0 80241780 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FCF4 80241784 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FCF8 80241788 0200282D */ daddu $a1, $s0, $zero +/* 91FCFC 8024178C 0C019D80 */ jal guMtxCatF +/* 91FD00 80241790 0200302D */ daddu $a2, $s0, $zero +/* 91FD04 80241794 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FD08 80241798 4600B587 */ neg.s $f22, $f22 +/* 91FD0C 8024179C 4405A000 */ mfc1 $a1, $f20 +/* 91FD10 802417A0 4406B000 */ mfc1 $a2, $f22 +/* 91FD14 802417A4 0C019E40 */ jal guTranslateF +/* 91FD18 802417A8 00A0382D */ daddu $a3, $a1, $zero +/* 91FD1C 802417AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 91FD20 802417B0 0200282D */ daddu $a1, $s0, $zero +/* 91FD24 802417B4 0C019D80 */ jal guMtxCatF +/* 91FD28 802417B8 00A0302D */ daddu $a2, $a1, $zero +.L802417BC: +/* 91FD2C 802417BC 8FBF005C */ lw $ra, 0x5c($sp) +/* 91FD30 802417C0 8FB20058 */ lw $s2, 0x58($sp) +/* 91FD34 802417C4 8FB10054 */ lw $s1, 0x54($sp) +/* 91FD38 802417C8 8FB00050 */ lw $s0, 0x50($sp) +/* 91FD3C 802417CC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 91FD40 802417D0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 91FD44 802417D4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 91FD48 802417D8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 91FD4C 802417DC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 91FD50 802417E0 24020002 */ addiu $v0, $zero, 2 +/* 91FD54 802417E4 03E00008 */ jr $ra +/* 91FD58 802417E8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 91FD5C 802417EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_11/func_80240000_9269F0.s b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240000_9269F0.s new file mode 100644 index 0000000000..8e5ed3b53e --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240000_9269F0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9269F0 +/* 9269F0 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9269F4 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9269F8 80240008 8C420010 */ lw $v0, 0x10($v0) +/* 9269FC 8024000C 3042C000 */ andi $v0, $v0, 0xc000 +/* 926A00 80240010 0002102B */ sltu $v0, $zero, $v0 +/* 926A04 80240014 03E00008 */ jr $ra +/* 926A08 80240018 00021040 */ sll $v0, $v0, 1 +/* 926A0C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_11/func_80240020_9269F0.s b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240020_9269F0.s new file mode 100644 index 0000000000..d5a5692866 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240020_9269F0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_926A10 +/* 926A10 80240020 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 926A14 80240024 AFB20018 */ sw $s2, 0x18($sp) +/* 926A18 80240028 0080902D */ daddu $s2, $a0, $zero +/* 926A1C 8024002C AFBF0028 */ sw $ra, 0x28($sp) +/* 926A20 80240030 AFB50024 */ sw $s5, 0x24($sp) +/* 926A24 80240034 AFB40020 */ sw $s4, 0x20($sp) +/* 926A28 80240038 AFB3001C */ sw $s3, 0x1c($sp) +/* 926A2C 8024003C AFB10014 */ sw $s1, 0x14($sp) +/* 926A30 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 926A34 80240044 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 926A38 80240048 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 926A3C 8024004C F7B40030 */ sdc1 $f20, 0x30($sp) +/* 926A40 80240050 8E50000C */ lw $s0, 0xc($s2) +/* 926A44 80240054 8E140000 */ lw $s4, ($s0) +/* 926A48 80240058 26100004 */ addiu $s0, $s0, 4 +/* 926A4C 8024005C 0C0B1EAF */ jal get_variable +/* 926A50 80240060 0280282D */ daddu $a1, $s4, $zero +/* 926A54 80240064 0040982D */ daddu $s3, $v0, $zero +/* 926A58 80240068 8E150000 */ lw $s5, ($s0) +/* 926A5C 8024006C 26100004 */ addiu $s0, $s0, 4 +/* 926A60 80240070 8E050000 */ lw $a1, ($s0) +/* 926A64 80240074 26100004 */ addiu $s0, $s0, 4 +/* 926A68 80240078 0C0B210B */ jal get_float_variable +/* 926A6C 8024007C 0240202D */ daddu $a0, $s2, $zero +/* 926A70 80240080 8E050000 */ lw $a1, ($s0) +/* 926A74 80240084 26100004 */ addiu $s0, $s0, 4 +/* 926A78 80240088 0240202D */ daddu $a0, $s2, $zero +/* 926A7C 8024008C 0C0B210B */ jal get_float_variable +/* 926A80 80240090 46000606 */ mov.s $f24, $f0 +/* 926A84 80240094 8E050000 */ lw $a1, ($s0) +/* 926A88 80240098 26100004 */ addiu $s0, $s0, 4 +/* 926A8C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* 926A90 802400A0 0C0B1EAF */ jal get_variable +/* 926A94 802400A4 46000506 */ mov.s $f20, $f0 +/* 926A98 802400A8 8E050000 */ lw $a1, ($s0) +/* 926A9C 802400AC 26100004 */ addiu $s0, $s0, 4 +/* 926AA0 802400B0 0240202D */ daddu $a0, $s2, $zero +/* 926AA4 802400B4 0C0B1EAF */ jal get_variable +/* 926AA8 802400B8 0040882D */ daddu $s1, $v0, $zero +/* 926AAC 802400BC 0240202D */ daddu $a0, $s2, $zero +/* 926AB0 802400C0 8E050000 */ lw $a1, ($s0) +/* 926AB4 802400C4 0C0B210B */ jal get_float_variable +/* 926AB8 802400C8 0040802D */ daddu $s0, $v0, $zero +/* 926ABC 802400CC 3C014334 */ lui $at, 0x4334 +/* 926AC0 802400D0 44811000 */ mtc1 $at, $f2 +/* 926AC4 802400D4 3C014049 */ lui $at, 0x4049 +/* 926AC8 802400D8 34210FD8 */ ori $at, $at, 0xfd8 +/* 926ACC 802400DC 44812000 */ mtc1 $at, $f4 +/* 926AD0 802400E0 46020003 */ div.s $f0, $f0, $f2 +/* 926AD4 802400E4 46040582 */ mul.s $f22, $f0, $f4 +/* 926AD8 802400E8 00000000 */ nop +/* 926ADC 802400EC 4618A501 */ sub.s $f20, $f20, $f24 +/* 926AE0 802400F0 3C013F00 */ lui $at, 0x3f00 +/* 926AE4 802400F4 44810000 */ mtc1 $at, $f0 +/* 926AE8 802400F8 00000000 */ nop +/* 926AEC 802400FC 4600A502 */ mul.s $f20, $f20, $f0 +/* 926AF0 80240100 00000000 */ nop +/* 926AF4 80240104 12000007 */ beqz $s0, .L80240124 +/* 926AF8 80240108 0233102A */ slt $v0, $s1, $s3 +/* 926AFC 8024010C 10400005 */ beqz $v0, .L80240124 +/* 926B00 80240110 0240202D */ daddu $a0, $s2, $zero +/* 926B04 80240114 0220982D */ daddu $s3, $s1, $zero +/* 926B08 80240118 0280282D */ daddu $a1, $s4, $zero +/* 926B0C 8024011C 0C0B2026 */ jal set_variable +/* 926B10 80240120 0220302D */ daddu $a2, $s1, $zero +.L80240124: +/* 926B14 80240124 3C014049 */ lui $at, 0x4049 +/* 926B18 80240128 34210FD8 */ ori $at, $at, 0xfd8 +/* 926B1C 8024012C 44810000 */ mtc1 $at, $f0 +/* 926B20 80240130 44936000 */ mtc1 $s3, $f12 +/* 926B24 80240134 00000000 */ nop +/* 926B28 80240138 46806320 */ cvt.s.w $f12, $f12 +/* 926B2C 8024013C 46006302 */ mul.s $f12, $f12, $f0 +/* 926B30 80240140 00000000 */ nop +/* 926B34 80240144 44910000 */ mtc1 $s1, $f0 +/* 926B38 80240148 00000000 */ nop +/* 926B3C 8024014C 46800020 */ cvt.s.w $f0, $f0 +/* 926B40 80240150 46006303 */ div.s $f12, $f12, $f0 +/* 926B44 80240154 0C00A874 */ jal cos_rad +/* 926B48 80240158 46166300 */ add.s $f12, $f12, $f22 +/* 926B4C 8024015C 4600A002 */ mul.s $f0, $f20, $f0 +/* 926B50 80240160 00000000 */ nop +/* 926B54 80240164 4614C080 */ add.s $f2, $f24, $f20 +/* 926B58 80240168 46001081 */ sub.s $f2, $f2, $f0 +/* 926B5C 8024016C 0240202D */ daddu $a0, $s2, $zero +/* 926B60 80240170 44061000 */ mfc1 $a2, $f2 +/* 926B64 80240174 0C0B2190 */ jal set_float_variable +/* 926B68 80240178 02A0282D */ daddu $a1, $s5, $zero +/* 926B6C 8024017C 8FBF0028 */ lw $ra, 0x28($sp) +/* 926B70 80240180 8FB50024 */ lw $s5, 0x24($sp) +/* 926B74 80240184 8FB40020 */ lw $s4, 0x20($sp) +/* 926B78 80240188 8FB3001C */ lw $s3, 0x1c($sp) +/* 926B7C 8024018C 8FB20018 */ lw $s2, 0x18($sp) +/* 926B80 80240190 8FB10014 */ lw $s1, 0x14($sp) +/* 926B84 80240194 8FB00010 */ lw $s0, 0x10($sp) +/* 926B88 80240198 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 926B8C 8024019C D7B60038 */ ldc1 $f22, 0x38($sp) +/* 926B90 802401A0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 926B94 802401A4 24020002 */ addiu $v0, $zero, 2 +/* 926B98 802401A8 03E00008 */ jr $ra +/* 926B9C 802401AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_iwa/iwa_11/func_802401B0_9269F0.s b/asm/nonmatchings/world/area_iwa/iwa_11/func_802401B0_9269F0.s new file mode 100644 index 0000000000..855319718c --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_11/func_802401B0_9269F0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_926BA0 +/* 926BA0 802401B0 3C01C019 */ lui $at, 0xc019 +/* 926BA4 802401B4 3421999A */ ori $at, $at, 0x999a +/* 926BA8 802401B8 44810000 */ mtc1 $at, $f0 +/* 926BAC 802401BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 926BB0 802401C0 AFB00010 */ sw $s0, 0x10($sp) +/* 926BB4 802401C4 0080802D */ daddu $s0, $a0, $zero +/* 926BB8 802401C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 926BBC 802401CC C60C008C */ lwc1 $f12, 0x8c($s0) +/* 926BC0 802401D0 46806320 */ cvt.s.w $f12, $f12 +/* 926BC4 802401D4 46006302 */ mul.s $f12, $f12, $f0 +/* 926BC8 802401D8 0C00A6C9 */ jal clamp_angle +/* 926BCC 802401DC 00000000 */ nop +/* 926BD0 802401E0 3C05FE36 */ lui $a1, 0xfe36 +/* 926BD4 802401E4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 926BD8 802401E8 44060000 */ mfc1 $a2, $f0 +/* 926BDC 802401EC 0C0B2190 */ jal set_float_variable +/* 926BE0 802401F0 0200202D */ daddu $a0, $s0, $zero +/* 926BE4 802401F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 926BE8 802401F8 8FB00010 */ lw $s0, 0x10($sp) +/* 926BEC 802401FC 24020002 */ addiu $v0, $zero, 2 +/* 926BF0 80240200 03E00008 */ jr $ra +/* 926BF4 80240204 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_iwa/iwa_11/func_80240208_9269F0.s b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240208_9269F0.s new file mode 100644 index 0000000000..bc6f5a6a3d --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240208_9269F0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_926BF8 +/* 926BF8 80240208 3C01C019 */ lui $at, 0xc019 +/* 926BFC 8024020C 3421999A */ ori $at, $at, 0x999a +/* 926C00 80240210 44810000 */ mtc1 $at, $f0 +/* 926C04 80240214 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 926C08 80240218 AFB00010 */ sw $s0, 0x10($sp) +/* 926C0C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 926C10 80240220 AFBF0014 */ sw $ra, 0x14($sp) +/* 926C14 80240224 C60C008C */ lwc1 $f12, 0x8c($s0) +/* 926C18 80240228 46806320 */ cvt.s.w $f12, $f12 +/* 926C1C 8024022C 46006302 */ mul.s $f12, $f12, $f0 +/* 926C20 80240230 00000000 */ nop +/* 926C24 80240234 3C013F19 */ lui $at, 0x3f19 +/* 926C28 80240238 3421999A */ ori $at, $at, 0x999a +/* 926C2C 8024023C 44810000 */ mtc1 $at, $f0 +/* 926C30 80240240 00000000 */ nop +/* 926C34 80240244 46006302 */ mul.s $f12, $f12, $f0 +/* 926C38 80240248 0C00A6C9 */ jal clamp_angle +/* 926C3C 8024024C 00000000 */ nop +/* 926C40 80240250 3C05FE36 */ lui $a1, 0xfe36 +/* 926C44 80240254 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 926C48 80240258 44060000 */ mfc1 $a2, $f0 +/* 926C4C 8024025C 0C0B2190 */ jal set_float_variable +/* 926C50 80240260 0200202D */ daddu $a0, $s0, $zero +/* 926C54 80240264 8FBF0014 */ lw $ra, 0x14($sp) +/* 926C58 80240268 8FB00010 */ lw $s0, 0x10($sp) +/* 926C5C 8024026C 24020002 */ addiu $v0, $zero, 2 +/* 926C60 80240270 03E00008 */ jr $ra +/* 926C64 80240274 27BD0018 */ addiu $sp, $sp, 0x18 +/* 926C68 80240278 00000000 */ nop +/* 926C6C 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_iwa/iwa_11/func_80240280.s b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240280.s new file mode 100644 index 0000000000..d3ed22fbc8 --- /dev/null +++ b/asm/nonmatchings/world/area_iwa/iwa_11/func_80240280.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280 +/* 926C70 80240280 8C860084 */ lw $a2, 0x84($a0) +/* 926C74 80240284 0000282D */ daddu $a1, $zero, $zero +/* 926C78 80240288 3C038024 */ lui $v1, 0x8024 +/* 926C7C 8024028C 24632148 */ addiu $v1, $v1, 0x2148 +.L80240290: +/* 926C80 80240290 8C620000 */ lw $v0, ($v1) +/* 926C84 80240294 00C2102A */ slt $v0, $a2, $v0 +/* 926C88 80240298 54400006 */ bnel $v0, $zero, .L802402B4 +/* 926C8C 8024029C 24A3FFFF */ addiu $v1, $a1, -1 +/* 926C90 802402A0 24A50001 */ addiu $a1, $a1, 1 +/* 926C94 802402A4 28A2000E */ slti $v0, $a1, 0xe +/* 926C98 802402A8 1440FFF9 */ bnez $v0, .L80240290 +/* 926C9C 802402AC 2463001C */ addiu $v1, $v1, 0x1c +/* 926CA0 802402B0 24A3FFFF */ addiu $v1, $a1, -1 +.L802402B4: +/* 926CA4 802402B4 0000282D */ daddu $a1, $zero, $zero +/* 926CA8 802402B8 3C078024 */ lui $a3, 0x8024 +/* 926CAC 802402BC 24E72148 */ addiu $a3, $a3, 0x2148 +/* 926CB0 802402C0 000310C0 */ sll $v0, $v1, 3 +/* 926CB4 802402C4 00431023 */ subu $v0, $v0, $v1 +/* 926CB8 802402C8 00023080 */ sll $a2, $v0, 2 +/* 926CBC 802402CC 24A30005 */ addiu $v1, $a1, 5 +.L802402D0: +/* 926CC0 802402D0 24A20001 */ addiu $v0, $a1, 1 +/* 926CC4 802402D4 0040282D */ daddu $a1, $v0, $zero +/* 926CC8 802402D8 00031880 */ sll $v1, $v1, 2 +/* 926CCC 802402DC 00051080 */ sll $v0, $a1, 2 +/* 926CD0 802402E0 00461021 */ addu $v0, $v0, $a2 +/* 926CD4 802402E4 00471021 */ addu $v0, $v0, $a3 +/* 926CD8 802402E8 8C420000 */ lw $v0, ($v0) +/* 926CDC 802402EC 00831821 */ addu $v1, $a0, $v1 +/* 926CE0 802402F0 AC620084 */ sw $v0, 0x84($v1) +/* 926CE4 802402F4 28A20006 */ slti $v0, $a1, 6 +/* 926CE8 802402F8 1440FFF5 */ bnez $v0, .L802402D0 +/* 926CEC 802402FC 24A30005 */ addiu $v1, $a1, 5 +/* 926CF0 80240300 03E00008 */ jr $ra +/* 926CF4 80240304 24020002 */ addiu $v0, $zero, 2 +/* 926CF8 80240308 00000000 */ nop +/* 926CFC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240000_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240000_B20540.s new file mode 100644 index 0000000000..18917e369d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240000_B20540.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B20540 +/* B20540 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B20544 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B20548 80240008 0080802D */ daddu $s0, $a0, $zero +/* B2054C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B20550 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B20554 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B20558 80240018 00621821 */ addu $v1, $v1, $v0 +/* B2055C 8024001C 04610004 */ bgez $v1, .L80240030 +/* B20560 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B20564 80240024 3C020002 */ lui $v0, 2 +/* B20568 80240028 08090010 */ j .L80240040 +/* B2056C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B20570 80240030 3C040002 */ lui $a0, 2 +/* B20574 80240034 0083102A */ slt $v0, $a0, $v1 +/* B20578 80240038 10400002 */ beqz $v0, .L80240044 +/* B2057C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B20580 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B20584 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B20588 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B2058C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B20590 80240050 04610004 */ bgez $v1, .L80240064 +/* B20594 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B20598 80240058 3C020002 */ lui $v0, 2 +/* B2059C 8024005C 0809001D */ j .L80240074 +/* B205A0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B205A4 80240064 3C040002 */ lui $a0, 2 +/* B205A8 80240068 0083102A */ slt $v0, $a0, $v1 +/* B205AC 8024006C 10400002 */ beqz $v0, .L80240078 +/* B205B0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B205B4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B205B8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B205BC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B205C0 80240080 00621821 */ addu $v1, $v1, $v0 +/* B205C4 80240084 04610004 */ bgez $v1, .L80240098 +/* B205C8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B205CC 8024008C 3C020002 */ lui $v0, 2 +/* B205D0 80240090 0809002A */ j .L802400A8 +/* B205D4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B205D8 80240098 3C040002 */ lui $a0, 2 +/* B205DC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B205E0 802400A0 10400002 */ beqz $v0, .L802400AC +/* B205E4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B205E8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B205EC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B205F0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B205F4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B205F8 802400B8 04610004 */ bgez $v1, .L802400CC +/* B205FC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B20600 802400C0 3C020002 */ lui $v0, 2 +/* B20604 802400C4 08090037 */ j .L802400DC +/* B20608 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B2060C 802400CC 3C040002 */ lui $a0, 2 +/* B20610 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B20614 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B20618 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B2061C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B20620 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B20624 802400E4 0C046F07 */ jal set_main_pan_u +/* B20628 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B2062C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B20630 802400F0 0C046F0D */ jal set_main_pan_v +/* B20634 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B20638 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B2063C 802400FC 0C046F13 */ jal set_aux_pan_u +/* B20640 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B20644 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B20648 80240108 0C046F19 */ jal set_aux_pan_v +/* B2064C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B20650 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B20654 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B20658 80240118 0000102D */ daddu $v0, $zero, $zero +/* B2065C 8024011C 03E00008 */ jr $ra +/* B20660 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240124_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240124_B20540.s new file mode 100644 index 0000000000..373f9dfef0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240124_B20540.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B20664 +/* B20664 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B20668 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B2066C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B20670 80240130 10A00005 */ beqz $a1, .L80240148 +/* B20674 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B20678 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B2067C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B20680 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B20684 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B20688 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B2068C 8024014C 1440000E */ bnez $v0, .L80240188 +/* B20690 80240150 00000000 */ nop +/* B20694 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B20698 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B2069C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B206A0 80240160 04610004 */ bgez $v1, .L80240174 +/* B206A4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B206A8 80240168 3C020002 */ lui $v0, 2 +/* B206AC 8024016C 08090061 */ j .L80240184 +/* B206B0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B206B4 80240174 3C040002 */ lui $a0, 2 +/* B206B8 80240178 0083102A */ slt $v0, $a0, $v1 +/* B206BC 8024017C 10400002 */ beqz $v0, .L80240188 +/* B206C0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B206C4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B206C8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B206CC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B206D0 80240190 00000000 */ nop +/* B206D4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B206D8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B206DC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B206E0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B206E4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B206E8 802401A8 3C020002 */ lui $v0, 2 +/* B206EC 802401AC 08090071 */ j .L802401C4 +/* B206F0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B206F4 802401B4 3C040002 */ lui $a0, 2 +/* B206F8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B206FC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B20700 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B20704 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B20708 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B2070C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B20710 802401D0 00000000 */ nop +/* B20714 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B20718 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B2071C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B20720 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B20724 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B20728 802401E8 3C020002 */ lui $v0, 2 +/* B2072C 802401EC 08090081 */ j .L80240204 +/* B20730 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B20734 802401F4 3C040002 */ lui $a0, 2 +/* B20738 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B2073C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B20740 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B20744 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B20748 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B2074C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B20750 80240210 00000000 */ nop +/* B20754 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B20758 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B2075C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B20760 80240220 04610004 */ bgez $v1, .L80240234 +/* B20764 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B20768 80240228 3C020002 */ lui $v0, 2 +/* B2076C 8024022C 08090091 */ j .L80240244 +/* B20770 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B20774 80240234 3C040002 */ lui $a0, 2 +/* B20778 80240238 0083102A */ slt $v0, $a0, $v1 +/* B2077C 8024023C 10400002 */ beqz $v0, .L80240248 +/* B20780 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B20784 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B20788 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B2078C 8024024C 0C046F07 */ jal set_main_pan_u +/* B20790 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B20794 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B20798 80240258 0C046F0D */ jal set_main_pan_v +/* B2079C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B207A0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B207A4 80240264 0C046F13 */ jal set_aux_pan_u +/* B207A8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B207AC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B207B0 80240270 0C046F19 */ jal set_aux_pan_v +/* B207B4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B207B8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B207BC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B207C0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B207C4 80240284 24420001 */ addiu $v0, $v0, 1 +/* B207C8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B207CC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B207D0 80240290 24630001 */ addiu $v1, $v1, 1 +/* B207D4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B207D8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B207DC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B207E0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B207E4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B207E8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B207EC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B207F0 802402B0 14600002 */ bnez $v1, .L802402BC +/* B207F4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B207F8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B207FC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B20800 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B20804 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B20808 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B2080C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B20810 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B20814 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B20818 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B2081C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B20820 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B20824 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B20828 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B2082C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B20830 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B20834 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B20838 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B2083C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B20840 80240300 0000102D */ daddu $v0, $zero, $zero +/* B20844 80240304 03E00008 */ jr $ra +/* B20848 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_8024030C_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_8024030C_B20540.s new file mode 100644 index 0000000000..c265b7874a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_8024030C_B20540.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_B2084C +/* B2084C 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B20850 80240310 0000202D */ daddu $a0, $zero, $zero +/* B20854 80240314 0080282D */ daddu $a1, $a0, $zero +/* B20858 80240318 0080302D */ daddu $a2, $a0, $zero +/* B2085C 8024031C 0080382D */ daddu $a3, $a0, $zero +/* B20860 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* B20864 80240324 AFA00010 */ sw $zero, 0x10($sp) +/* B20868 80240328 0C01CA54 */ jal func_80072950 +/* B2086C 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* B20870 80240330 8FBF0018 */ lw $ra, 0x18($sp) +/* B20874 80240334 24020002 */ addiu $v0, $zero, 2 +/* B20878 80240338 03E00008 */ jr $ra +/* B2087C 8024033C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240340_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240340_B20540.s new file mode 100644 index 0000000000..8244ce351c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240340_B20540.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_B20880 +/* B20880 80240340 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B20884 80240344 AFBF0020 */ sw $ra, 0x20($sp) +/* B20888 80240348 AFB1001C */ sw $s1, 0x1c($sp) +/* B2088C 8024034C AFB00018 */ sw $s0, 0x18($sp) +/* B20890 80240350 8C910148 */ lw $s1, 0x148($a0) +/* B20894 80240354 0C00EABB */ jal get_npc_unsafe +/* B20898 80240358 86240008 */ lh $a0, 8($s1) +/* B2089C 8024035C 8E23006C */ lw $v1, 0x6c($s1) +/* B208A0 80240360 28630005 */ slti $v1, $v1, 5 +/* B208A4 80240364 1060001D */ beqz $v1, .L802403DC +/* B208A8 80240368 0040802D */ daddu $s0, $v0, $zero +/* B208AC 8024036C 0C00A67F */ jal rand_int +/* B208B0 80240370 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B208B4 80240374 2842012D */ slti $v0, $v0, 0x12d +/* B208B8 80240378 14400018 */ bnez $v0, .L802403DC +/* B208BC 8024037C 24020003 */ addiu $v0, $zero, 3 +/* B208C0 80240380 860300A8 */ lh $v1, 0xa8($s0) +/* B208C4 80240384 C604003C */ lwc1 $f4, 0x3c($s0) +/* B208C8 80240388 C6000040 */ lwc1 $f0, 0x40($s0) +/* B208CC 8024038C 3C014014 */ lui $at, 0x4014 +/* B208D0 80240390 44811800 */ mtc1 $at, $f3 +/* B208D4 80240394 44801000 */ mtc1 $zero, $f2 +/* B208D8 80240398 AFA20010 */ sw $v0, 0x10($sp) +/* B208DC 8024039C 46000021 */ cvt.d.s $f0, $f0 +/* B208E0 802403A0 46220000 */ add.d $f0, $f0, $f2 +/* B208E4 802403A4 AFA00014 */ sw $zero, 0x14($sp) +/* B208E8 802403A8 44831000 */ mtc1 $v1, $f2 +/* B208EC 802403AC 00000000 */ nop +/* B208F0 802403B0 468010A0 */ cvt.s.w $f2, $f2 +/* B208F4 802403B4 46022100 */ add.s $f4, $f4, $f2 +/* B208F8 802403B8 8E050038 */ lw $a1, 0x38($s0) +/* B208FC 802403BC 46200020 */ cvt.s.d $f0, $f0 +/* B20900 802403C0 44062000 */ mfc1 $a2, $f4 +/* B20904 802403C4 44070000 */ mfc1 $a3, $f0 +/* B20908 802403C8 0C04C6A5 */ jal make_item_entity_nodelay +/* B2090C 802403CC 24040156 */ addiu $a0, $zero, 0x156 +/* B20910 802403D0 8E22006C */ lw $v0, 0x6c($s1) +/* B20914 802403D4 24420001 */ addiu $v0, $v0, 1 +/* B20918 802403D8 AE22006C */ sw $v0, 0x6c($s1) +.L802403DC: +/* B2091C 802403DC 8FBF0020 */ lw $ra, 0x20($sp) +/* B20920 802403E0 8FB1001C */ lw $s1, 0x1c($sp) +/* B20924 802403E4 8FB00018 */ lw $s0, 0x18($sp) +/* B20928 802403E8 24020002 */ addiu $v0, $zero, 2 +/* B2092C 802403EC 03E00008 */ jr $ra +/* B20930 802403F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802403F4_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802403F4_B20540.s new file mode 100644 index 0000000000..4c51cc1c23 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802403F4_B20540.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F4_B20934 +/* B20934 802403F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B20938 802403F8 AFB00010 */ sw $s0, 0x10($sp) +/* B2093C 802403FC 3C108024 */ lui $s0, 0x8024 +/* B20940 80240400 261023C8 */ addiu $s0, $s0, 0x23c8 +/* B20944 80240404 AFBF0018 */ sw $ra, 0x18($sp) +/* B20948 80240408 AFB10014 */ sw $s1, 0x14($sp) +/* B2094C 8024040C 8E020000 */ lw $v0, ($s0) +/* B20950 80240410 14400010 */ bnez $v0, .L80240454 +/* B20954 80240414 0080882D */ daddu $s1, $a0, $zero +/* B20958 80240418 0C00AB39 */ jal heap_malloc +/* B2095C 8024041C 24040040 */ addiu $a0, $zero, 0x40 +/* B20960 80240420 AE020000 */ sw $v0, ($s0) +/* B20964 80240424 0000182D */ daddu $v1, $zero, $zero +/* B20968 80240428 0040282D */ daddu $a1, $v0, $zero +/* B2096C 8024042C 0220202D */ daddu $a0, $s1, $zero +.L80240430: +/* B20970 80240430 8C820084 */ lw $v0, 0x84($a0) +/* B20974 80240434 24840004 */ addiu $a0, $a0, 4 +/* B20978 80240438 24630001 */ addiu $v1, $v1, 1 +/* B2097C 8024043C ACA20000 */ sw $v0, ($a1) +/* B20980 80240440 28620010 */ slti $v0, $v1, 0x10 +/* B20984 80240444 1440FFFA */ bnez $v0, .L80240430 +/* B20988 80240448 24A50004 */ addiu $a1, $a1, 4 +/* B2098C 8024044C 08090124 */ j .L80240490 +/* B20990 80240450 00000000 */ nop +.L80240454: +/* B20994 80240454 0000182D */ daddu $v1, $zero, $zero +/* B20998 80240458 0040282D */ daddu $a1, $v0, $zero +/* B2099C 8024045C 0220202D */ daddu $a0, $s1, $zero +.L80240460: +/* B209A0 80240460 8CA20000 */ lw $v0, ($a1) +/* B209A4 80240464 24A50004 */ addiu $a1, $a1, 4 +/* B209A8 80240468 24630001 */ addiu $v1, $v1, 1 +/* B209AC 8024046C AC820084 */ sw $v0, 0x84($a0) +/* B209B0 80240470 28620010 */ slti $v0, $v1, 0x10 +/* B209B4 80240474 1440FFFA */ bnez $v0, .L80240460 +/* B209B8 80240478 24840004 */ addiu $a0, $a0, 4 +/* B209BC 8024047C 3C108024 */ lui $s0, 0x8024 +/* B209C0 80240480 261023C8 */ addiu $s0, $s0, 0x23c8 +/* B209C4 80240484 0C00AB4B */ jal heap_free +/* B209C8 80240488 8E040000 */ lw $a0, ($s0) +/* B209CC 8024048C AE000000 */ sw $zero, ($s0) +.L80240490: +/* B209D0 80240490 8FBF0018 */ lw $ra, 0x18($sp) +/* B209D4 80240494 8FB10014 */ lw $s1, 0x14($sp) +/* B209D8 80240498 8FB00010 */ lw $s0, 0x10($sp) +/* B209DC 8024049C 24020002 */ addiu $v0, $zero, 2 +/* B209E0 802404A0 03E00008 */ jr $ra +/* B209E4 802404A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802404A8_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802404A8_B20540.s new file mode 100644 index 0000000000..5ce7aed7f5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802404A8_B20540.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A8_B209E8 +/* B209E8 802404A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B209EC 802404AC AFB00010 */ sw $s0, 0x10($sp) +/* B209F0 802404B0 0080802D */ daddu $s0, $a0, $zero +/* B209F4 802404B4 AFBF0018 */ sw $ra, 0x18($sp) +/* B209F8 802404B8 AFB10014 */ sw $s1, 0x14($sp) +/* B209FC 802404BC 8E02000C */ lw $v0, 0xc($s0) +/* B20A00 802404C0 8C510000 */ lw $s1, ($v0) +/* B20A04 802404C4 0C0B1EAF */ jal get_variable +/* B20A08 802404C8 0220282D */ daddu $a1, $s1, $zero +/* B20A0C 802404CC 3C03FFF0 */ lui $v1, 0xfff0 +/* B20A10 802404D0 3463FFFF */ ori $v1, $v1, 0xffff +/* B20A14 802404D4 0200202D */ daddu $a0, $s0, $zero +/* B20A18 802404D8 00431024 */ and $v0, $v0, $v1 +/* B20A1C 802404DC 00021140 */ sll $v0, $v0, 5 +/* B20A20 802404E0 3C068008 */ lui $a2, %hi(gItemTable) +/* B20A24 802404E4 00C23021 */ addu $a2, $a2, $v0 +/* B20A28 802404E8 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B20A2C 802404EC 0C0B2026 */ jal set_variable +/* B20A30 802404F0 0220282D */ daddu $a1, $s1, $zero +/* B20A34 802404F4 8FBF0018 */ lw $ra, 0x18($sp) +/* B20A38 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* B20A3C 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* B20A40 80240500 24020002 */ addiu $v0, $zero, 2 +/* B20A44 80240504 03E00008 */ jr $ra +/* B20A48 80240508 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_8024050C_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_8024050C_B20540.s new file mode 100644 index 0000000000..76852889a9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_8024050C_B20540.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024050C_B20A4C +/* B20A4C 8024050C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B20A50 80240510 AFB10014 */ sw $s1, 0x14($sp) +/* B20A54 80240514 0080882D */ daddu $s1, $a0, $zero +/* B20A58 80240518 AFBF0018 */ sw $ra, 0x18($sp) +/* B20A5C 8024051C AFB00010 */ sw $s0, 0x10($sp) +/* B20A60 80240520 8E30000C */ lw $s0, 0xc($s1) +/* B20A64 80240524 8E050000 */ lw $a1, ($s0) +/* B20A68 80240528 0C0B1EAF */ jal get_variable +/* B20A6C 8024052C 26100004 */ addiu $s0, $s0, 4 +/* B20A70 80240530 0C00EAD2 */ jal get_npc_safe +/* B20A74 80240534 0040202D */ daddu $a0, $v0, $zero +/* B20A78 80240538 10400005 */ beqz $v0, .L80240550 +/* B20A7C 8024053C 00000000 */ nop +/* B20A80 80240540 8E050000 */ lw $a1, ($s0) +/* B20A84 80240544 844600A8 */ lh $a2, 0xa8($v0) +/* B20A88 80240548 0C0B2026 */ jal set_variable +/* B20A8C 8024054C 0220202D */ daddu $a0, $s1, $zero +.L80240550: +/* B20A90 80240550 8FBF0018 */ lw $ra, 0x18($sp) +/* B20A94 80240554 8FB10014 */ lw $s1, 0x14($sp) +/* B20A98 80240558 8FB00010 */ lw $s0, 0x10($sp) +/* B20A9C 8024055C 24020002 */ addiu $v0, $zero, 2 +/* B20AA0 80240560 03E00008 */ jr $ra +/* B20AA4 80240564 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240568_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240568_B20540.s new file mode 100644 index 0000000000..68d3c53c81 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240568_B20540.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_B20AA8 +/* B20AA8 80240568 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B20AAC 8024056C AFB10014 */ sw $s1, 0x14($sp) +/* B20AB0 80240570 0080882D */ daddu $s1, $a0, $zero +/* B20AB4 80240574 AFBF0024 */ sw $ra, 0x24($sp) +/* B20AB8 80240578 AFB40020 */ sw $s4, 0x20($sp) +/* B20ABC 8024057C AFB3001C */ sw $s3, 0x1c($sp) +/* B20AC0 80240580 AFB20018 */ sw $s2, 0x18($sp) +/* B20AC4 80240584 AFB00010 */ sw $s0, 0x10($sp) +/* B20AC8 80240588 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* B20ACC 8024058C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B20AD0 80240590 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B20AD4 80240594 F7B60030 */ sdc1 $f22, 0x30($sp) +/* B20AD8 80240598 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B20ADC 8024059C 8E30000C */ lw $s0, 0xc($s1) +/* B20AE0 802405A0 8E130000 */ lw $s3, ($s0) +/* B20AE4 802405A4 26100004 */ addiu $s0, $s0, 4 +/* B20AE8 802405A8 0C0B1EAF */ jal get_variable +/* B20AEC 802405AC 0260282D */ daddu $a1, $s3, $zero +/* B20AF0 802405B0 4482E000 */ mtc1 $v0, $f28 +/* B20AF4 802405B4 00000000 */ nop +/* B20AF8 802405B8 4680E720 */ cvt.s.w $f28, $f28 +/* B20AFC 802405BC 8E140000 */ lw $s4, ($s0) +/* B20B00 802405C0 26100004 */ addiu $s0, $s0, 4 +/* B20B04 802405C4 0220202D */ daddu $a0, $s1, $zero +/* B20B08 802405C8 0C0B1EAF */ jal get_variable +/* B20B0C 802405CC 0280282D */ daddu $a1, $s4, $zero +/* B20B10 802405D0 4482D000 */ mtc1 $v0, $f26 +/* B20B14 802405D4 00000000 */ nop +/* B20B18 802405D8 4680D6A0 */ cvt.s.w $f26, $f26 +/* B20B1C 802405DC 8E100000 */ lw $s0, ($s0) +/* B20B20 802405E0 0220202D */ daddu $a0, $s1, $zero +/* B20B24 802405E4 0C0B1EAF */ jal get_variable +/* B20B28 802405E8 0200282D */ daddu $a1, $s0, $zero +/* B20B2C 802405EC 4482C000 */ mtc1 $v0, $f24 +/* B20B30 802405F0 00000000 */ nop +/* B20B34 802405F4 4680C620 */ cvt.s.w $f24, $f24 +/* B20B38 802405F8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B20B3C 802405FC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B20B40 80240600 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B20B44 80240604 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B20B48 80240608 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* B20B4C 8024060C 44800000 */ mtc1 $zero, $f0 +/* B20B50 80240610 00031080 */ sll $v0, $v1, 2 +/* B20B54 80240614 00431021 */ addu $v0, $v0, $v1 +/* B20B58 80240618 00021080 */ sll $v0, $v0, 2 +/* B20B5C 8024061C 00431023 */ subu $v0, $v0, $v1 +/* B20B60 80240620 000218C0 */ sll $v1, $v0, 3 +/* B20B64 80240624 00431021 */ addu $v0, $v0, $v1 +/* B20B68 80240628 000210C0 */ sll $v0, $v0, 3 +/* B20B6C 8024062C 46001032 */ c.eq.s $f2, $f0 +/* B20B70 80240630 3C01800B */ lui $at, 0x800b +/* B20B74 80240634 00220821 */ addu $at, $at, $v0 +/* B20B78 80240638 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B20B7C 8024063C 45000005 */ bc1f .L80240654 +/* B20B80 80240640 00000000 */ nop +/* B20B84 80240644 3C0142C8 */ lui $at, 0x42c8 +/* B20B88 80240648 44810000 */ mtc1 $at, $f0 +/* B20B8C 8024064C 08090199 */ j .L80240664 +/* B20B90 80240650 4600B581 */ sub.s $f22, $f22, $f0 +.L80240654: +/* B20B94 80240654 3C0142C8 */ lui $at, 0x42c8 +/* B20B98 80240658 44810000 */ mtc1 $at, $f0 +/* B20B9C 8024065C 00000000 */ nop +/* B20BA0 80240660 4600B580 */ add.s $f22, $f22, $f0 +.L80240664: +/* B20BA4 80240664 0C00A6C9 */ jal clamp_angle +/* B20BA8 80240668 4600B306 */ mov.s $f12, $f22 +/* B20BAC 8024066C 46000586 */ mov.s $f22, $f0 +/* B20BB0 80240670 3C014170 */ lui $at, 0x4170 +/* B20BB4 80240674 4481A000 */ mtc1 $at, $f20 +/* B20BB8 80240678 0C00A8BB */ jal sin_deg +/* B20BBC 8024067C 4600B306 */ mov.s $f12, $f22 +/* B20BC0 80240680 46140002 */ mul.s $f0, $f0, $f20 +/* B20BC4 80240684 00000000 */ nop +/* B20BC8 80240688 864200B0 */ lh $v0, 0xb0($s2) +/* B20BCC 8024068C 3C013F00 */ lui $at, 0x3f00 +/* B20BD0 80240690 44812000 */ mtc1 $at, $f4 +/* B20BD4 80240694 44821000 */ mtc1 $v0, $f2 +/* B20BD8 80240698 00000000 */ nop +/* B20BDC 8024069C 468010A0 */ cvt.s.w $f2, $f2 +/* B20BE0 802406A0 46041082 */ mul.s $f2, $f2, $f4 +/* B20BE4 802406A4 00000000 */ nop +/* B20BE8 802406A8 4600E700 */ add.s $f28, $f28, $f0 +/* B20BEC 802406AC 4602D680 */ add.s $f26, $f26, $f2 +/* B20BF0 802406B0 0C00A8D4 */ jal cos_deg +/* B20BF4 802406B4 4600B306 */ mov.s $f12, $f22 +/* B20BF8 802406B8 46140002 */ mul.s $f0, $f0, $f20 +/* B20BFC 802406BC 00000000 */ nop +/* B20C00 802406C0 0220202D */ daddu $a0, $s1, $zero +/* B20C04 802406C4 0260282D */ daddu $a1, $s3, $zero +/* B20C08 802406C8 4600E18D */ trunc.w.s $f6, $f28 +/* B20C0C 802406CC 44063000 */ mfc1 $a2, $f6 +/* B20C10 802406D0 0C0B2026 */ jal set_variable +/* B20C14 802406D4 4600C601 */ sub.s $f24, $f24, $f0 +/* B20C18 802406D8 0220202D */ daddu $a0, $s1, $zero +/* B20C1C 802406DC 4600D18D */ trunc.w.s $f6, $f26 +/* B20C20 802406E0 44063000 */ mfc1 $a2, $f6 +/* B20C24 802406E4 0C0B2026 */ jal set_variable +/* B20C28 802406E8 0280282D */ daddu $a1, $s4, $zero +/* B20C2C 802406EC 0220202D */ daddu $a0, $s1, $zero +/* B20C30 802406F0 4600C18D */ trunc.w.s $f6, $f24 +/* B20C34 802406F4 44063000 */ mfc1 $a2, $f6 +/* B20C38 802406F8 0C0B2026 */ jal set_variable +/* B20C3C 802406FC 0200282D */ daddu $a1, $s0, $zero +/* B20C40 80240700 8FBF0024 */ lw $ra, 0x24($sp) +/* B20C44 80240704 8FB40020 */ lw $s4, 0x20($sp) +/* B20C48 80240708 8FB3001C */ lw $s3, 0x1c($sp) +/* B20C4C 8024070C 8FB20018 */ lw $s2, 0x18($sp) +/* B20C50 80240710 8FB10014 */ lw $s1, 0x14($sp) +/* B20C54 80240714 8FB00010 */ lw $s0, 0x10($sp) +/* B20C58 80240718 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* B20C5C 8024071C D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B20C60 80240720 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B20C64 80240724 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B20C68 80240728 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B20C6C 8024072C 24020002 */ addiu $v0, $zero, 2 +/* B20C70 80240730 03E00008 */ jr $ra +/* B20C74 80240734 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240738_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240738_B20540.s new file mode 100644 index 0000000000..48ed16b568 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240738_B20540.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738_B20C78 +/* B20C78 80240738 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B20C7C 8024073C AFBF0010 */ sw $ra, 0x10($sp) +/* B20C80 80240740 10A00003 */ beqz $a1, .L80240750 +/* B20C84 80240744 8C86000C */ lw $a2, 0xc($a0) +/* B20C88 80240748 3C018024 */ lui $at, 0x8024 +/* B20C8C 8024074C AC20242C */ sw $zero, 0x242c($at) +.L80240750: +/* B20C90 80240750 3C038024 */ lui $v1, 0x8024 +/* B20C94 80240754 2463242C */ addiu $v1, $v1, 0x242c +/* B20C98 80240758 8C620000 */ lw $v0, ($v1) +/* B20C9C 8024075C 54400003 */ bnel $v0, $zero, .L8024076C +/* B20CA0 80240760 AC600000 */ sw $zero, ($v1) +/* B20CA4 80240764 080901E0 */ j .L80240780 +/* B20CA8 80240768 0000102D */ daddu $v0, $zero, $zero +.L8024076C: +/* B20CAC 8024076C 8CC50000 */ lw $a1, ($a2) +/* B20CB0 80240770 3C068024 */ lui $a2, 0x8024 +/* B20CB4 80240774 0C0B2026 */ jal set_variable +/* B20CB8 80240778 8CC62430 */ lw $a2, 0x2430($a2) +/* B20CBC 8024077C 24020002 */ addiu $v0, $zero, 2 +.L80240780: +/* B20CC0 80240780 8FBF0010 */ lw $ra, 0x10($sp) +/* B20CC4 80240784 03E00008 */ jr $ra +/* B20CC8 80240788 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_8024078C.s b/asm/nonmatchings/world/area_jan/jan_00/func_8024078C.s new file mode 100644 index 0000000000..ad3cd13caa --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_8024078C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024078C +/* B20CCC 8024078C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B20CD0 80240790 AFBF0010 */ sw $ra, 0x10($sp) +/* B20CD4 80240794 8C82000C */ lw $v0, 0xc($a0) +/* B20CD8 80240798 0C0B1EAF */ jal get_variable +/* B20CDC 8024079C 8C450000 */ lw $a1, ($v0) +/* B20CE0 802407A0 3C018024 */ lui $at, 0x8024 +/* B20CE4 802407A4 AC222430 */ sw $v0, 0x2430($at) +/* B20CE8 802407A8 24020002 */ addiu $v0, $zero, 2 +/* B20CEC 802407AC 8FBF0010 */ lw $ra, 0x10($sp) +/* B20CF0 802407B0 24030001 */ addiu $v1, $zero, 1 +/* B20CF4 802407B4 3C018024 */ lui $at, 0x8024 +/* B20CF8 802407B8 AC23242C */ sw $v1, 0x242c($at) +/* B20CFC 802407BC 03E00008 */ jr $ra +/* B20D00 802407C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802407C4_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802407C4_B20540.s new file mode 100644 index 0000000000..147d39b70e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802407C4_B20540.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407C4_B20D04 +/* B20D04 802407C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B20D08 802407C8 AFBF0010 */ sw $ra, 0x10($sp) +/* B20D0C 802407CC 8C82000C */ lw $v0, 0xc($a0) +/* B20D10 802407D0 0C0B1EAF */ jal get_variable +/* B20D14 802407D4 8C450000 */ lw $a1, ($v0) +/* B20D18 802407D8 0040182D */ daddu $v1, $v0, $zero +/* B20D1C 802407DC 10600012 */ beqz $v1, .L80240828 +/* B20D20 802407E0 0000202D */ daddu $a0, $zero, $zero +/* B20D24 802407E4 8C620000 */ lw $v0, ($v1) +/* B20D28 802407E8 5040000A */ beql $v0, $zero, .L80240814 +/* B20D2C 802407EC 00041080 */ sll $v0, $a0, 2 +/* B20D30 802407F0 3C058024 */ lui $a1, 0x8024 +/* B20D34 802407F4 24A57AF0 */ addiu $a1, $a1, 0x7af0 +.L802407F8: +/* B20D38 802407F8 24630004 */ addiu $v1, $v1, 4 +/* B20D3C 802407FC 24840001 */ addiu $a0, $a0, 1 +/* B20D40 80240800 ACA20000 */ sw $v0, ($a1) +/* B20D44 80240804 8C620000 */ lw $v0, ($v1) +/* B20D48 80240808 1440FFFB */ bnez $v0, .L802407F8 +/* B20D4C 8024080C 24A50004 */ addiu $a1, $a1, 4 +/* B20D50 80240810 00041080 */ sll $v0, $a0, 2 +.L80240814: +/* B20D54 80240814 3C018024 */ lui $at, 0x8024 +/* B20D58 80240818 00220821 */ addu $at, $at, $v0 +/* B20D5C 8024081C AC207AF0 */ sw $zero, 0x7af0($at) +/* B20D60 80240820 08090214 */ j .L80240850 +/* B20D64 80240824 00000000 */ nop +.L80240828: +/* B20D68 80240828 3C038024 */ lui $v1, 0x8024 +/* B20D6C 8024082C 24637AF0 */ addiu $v1, $v1, 0x7af0 +/* B20D70 80240830 0060282D */ daddu $a1, $v1, $zero +.L80240834: +/* B20D74 80240834 24820010 */ addiu $v0, $a0, 0x10 +/* B20D78 80240838 AC620000 */ sw $v0, ($v1) +/* B20D7C 8024083C 24630004 */ addiu $v1, $v1, 4 +/* B20D80 80240840 24840001 */ addiu $a0, $a0, 1 +/* B20D84 80240844 28820070 */ slti $v0, $a0, 0x70 +/* B20D88 80240848 1440FFFA */ bnez $v0, .L80240834 +/* B20D8C 8024084C ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240850: +/* B20D90 80240850 8FBF0010 */ lw $ra, 0x10($sp) +/* B20D94 80240854 24020002 */ addiu $v0, $zero, 2 +/* B20D98 80240858 03E00008 */ jr $ra +/* B20D9C 8024085C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240860.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240860.s new file mode 100644 index 0000000000..c677b0f8f8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240860.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240860 +/* B20DA0 80240860 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B20DA4 80240864 AFB10014 */ sw $s1, 0x14($sp) +/* B20DA8 80240868 0080882D */ daddu $s1, $a0, $zero +/* B20DAC 8024086C AFBF0018 */ sw $ra, 0x18($sp) +/* B20DB0 80240870 AFB00010 */ sw $s0, 0x10($sp) +/* B20DB4 80240874 8E30000C */ lw $s0, 0xc($s1) +/* B20DB8 80240878 8E050000 */ lw $a1, ($s0) +/* B20DBC 8024087C 0C0B1EAF */ jal get_variable +/* B20DC0 80240880 26100004 */ addiu $s0, $s0, 4 +/* B20DC4 80240884 AE22008C */ sw $v0, 0x8c($s1) +/* B20DC8 80240888 8E050000 */ lw $a1, ($s0) +/* B20DCC 8024088C 26100004 */ addiu $s0, $s0, 4 +/* B20DD0 80240890 0C0B1EAF */ jal get_variable +/* B20DD4 80240894 0220202D */ daddu $a0, $s1, $zero +/* B20DD8 80240898 AE220090 */ sw $v0, 0x90($s1) +/* B20DDC 8024089C 8E050000 */ lw $a1, ($s0) +/* B20DE0 802408A0 26100004 */ addiu $s0, $s0, 4 +/* B20DE4 802408A4 0C0B1EAF */ jal get_variable +/* B20DE8 802408A8 0220202D */ daddu $a0, $s1, $zero +/* B20DEC 802408AC AE220094 */ sw $v0, 0x94($s1) +/* B20DF0 802408B0 8E050000 */ lw $a1, ($s0) +/* B20DF4 802408B4 26100004 */ addiu $s0, $s0, 4 +/* B20DF8 802408B8 0C0B1EAF */ jal get_variable +/* B20DFC 802408BC 0220202D */ daddu $a0, $s1, $zero +/* B20E00 802408C0 AE220098 */ sw $v0, 0x98($s1) +/* B20E04 802408C4 8E050000 */ lw $a1, ($s0) +/* B20E08 802408C8 26100004 */ addiu $s0, $s0, 4 +/* B20E0C 802408CC 0C0B1EAF */ jal get_variable +/* B20E10 802408D0 0220202D */ daddu $a0, $s1, $zero +/* B20E14 802408D4 AE22009C */ sw $v0, 0x9c($s1) +/* B20E18 802408D8 8E050000 */ lw $a1, ($s0) +/* B20E1C 802408DC 26100004 */ addiu $s0, $s0, 4 +/* B20E20 802408E0 0C0B1EAF */ jal get_variable +/* B20E24 802408E4 0220202D */ daddu $a0, $s1, $zero +/* B20E28 802408E8 AE2200A0 */ sw $v0, 0xa0($s1) +/* B20E2C 802408EC 8E050000 */ lw $a1, ($s0) +/* B20E30 802408F0 26100004 */ addiu $s0, $s0, 4 +/* B20E34 802408F4 0C0B1EAF */ jal get_variable +/* B20E38 802408F8 0220202D */ daddu $a0, $s1, $zero +/* B20E3C 802408FC AE2200A4 */ sw $v0, 0xa4($s1) +/* B20E40 80240900 8E050000 */ lw $a1, ($s0) +/* B20E44 80240904 26100004 */ addiu $s0, $s0, 4 +/* B20E48 80240908 0C0B1EAF */ jal get_variable +/* B20E4C 8024090C 0220202D */ daddu $a0, $s1, $zero +/* B20E50 80240910 AE2200A8 */ sw $v0, 0xa8($s1) +/* B20E54 80240914 8E050000 */ lw $a1, ($s0) +/* B20E58 80240918 26100004 */ addiu $s0, $s0, 4 +/* B20E5C 8024091C 0C0B1EAF */ jal get_variable +/* B20E60 80240920 0220202D */ daddu $a0, $s1, $zero +/* B20E64 80240924 AE2200AC */ sw $v0, 0xac($s1) +/* B20E68 80240928 8E050000 */ lw $a1, ($s0) +/* B20E6C 8024092C 0C0B1EAF */ jal get_variable +/* B20E70 80240930 0220202D */ daddu $a0, $s1, $zero +/* B20E74 80240934 AE2200B0 */ sw $v0, 0xb0($s1) +/* B20E78 80240938 8FBF0018 */ lw $ra, 0x18($sp) +/* B20E7C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* B20E80 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* B20E84 80240944 24020002 */ addiu $v0, $zero, 2 +/* B20E88 80240948 03E00008 */ jr $ra +/* B20E8C 8024094C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240950_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240950_B20540.s new file mode 100644 index 0000000000..0e32a5d1ff --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240950_B20540.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240950_B20E90 +/* B20E90 80240950 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B20E94 80240954 AFB1001C */ sw $s1, 0x1c($sp) +/* B20E98 80240958 0080882D */ daddu $s1, $a0, $zero +/* B20E9C 8024095C AFBF0034 */ sw $ra, 0x34($sp) +/* B20EA0 80240960 AFB60030 */ sw $s6, 0x30($sp) +/* B20EA4 80240964 AFB5002C */ sw $s5, 0x2c($sp) +/* B20EA8 80240968 AFB40028 */ sw $s4, 0x28($sp) +/* B20EAC 8024096C AFB30024 */ sw $s3, 0x24($sp) +/* B20EB0 80240970 AFB20020 */ sw $s2, 0x20($sp) +/* B20EB4 80240974 AFB00018 */ sw $s0, 0x18($sp) +/* B20EB8 80240978 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B20EBC 8024097C F7B40038 */ sdc1 $f20, 0x38($sp) +/* B20EC0 80240980 8E30000C */ lw $s0, 0xc($s1) +/* B20EC4 80240984 8E160000 */ lw $s6, ($s0) +/* B20EC8 80240988 26100004 */ addiu $s0, $s0, 4 +/* B20ECC 8024098C 0C0B1EAF */ jal get_variable +/* B20ED0 80240990 02C0282D */ daddu $a1, $s6, $zero +/* B20ED4 80240994 44820000 */ mtc1 $v0, $f0 +/* B20ED8 80240998 00000000 */ nop +/* B20EDC 8024099C 46800020 */ cvt.s.w $f0, $f0 +/* B20EE0 802409A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* B20EE4 802409A4 8E140000 */ lw $s4, ($s0) +/* B20EE8 802409A8 26100004 */ addiu $s0, $s0, 4 +/* B20EEC 802409AC 0220202D */ daddu $a0, $s1, $zero +/* B20EF0 802409B0 0C0B1EAF */ jal get_variable +/* B20EF4 802409B4 0280282D */ daddu $a1, $s4, $zero +/* B20EF8 802409B8 0220202D */ daddu $a0, $s1, $zero +/* B20EFC 802409BC 8E150000 */ lw $s5, ($s0) +/* B20F00 802409C0 4482B000 */ mtc1 $v0, $f22 +/* B20F04 802409C4 00000000 */ nop +/* B20F08 802409C8 4680B5A0 */ cvt.s.w $f22, $f22 +/* B20F0C 802409CC 0C0B1EAF */ jal get_variable +/* B20F10 802409D0 02A0282D */ daddu $a1, $s5, $zero +/* B20F14 802409D4 2404FFFC */ addiu $a0, $zero, -4 +/* B20F18 802409D8 44820000 */ mtc1 $v0, $f0 +/* B20F1C 802409DC 00000000 */ nop +/* B20F20 802409E0 46800020 */ cvt.s.w $f0, $f0 +/* B20F24 802409E4 0C00EABB */ jal get_npc_unsafe +/* B20F28 802409E8 E7A00014 */ swc1 $f0, 0x14($sp) +/* B20F2C 802409EC 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* B20F30 802409F0 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* B20F34 802409F4 3C014334 */ lui $at, 0x4334 +/* B20F38 802409F8 44816000 */ mtc1 $at, $f12 +/* B20F3C 802409FC 00041880 */ sll $v1, $a0, 2 +/* B20F40 80240A00 00641821 */ addu $v1, $v1, $a0 +/* B20F44 80240A04 00031880 */ sll $v1, $v1, 2 +/* B20F48 80240A08 00641823 */ subu $v1, $v1, $a0 +/* B20F4C 80240A0C 000320C0 */ sll $a0, $v1, 3 +/* B20F50 80240A10 00641821 */ addu $v1, $v1, $a0 +/* B20F54 80240A14 000318C0 */ sll $v1, $v1, 3 +/* B20F58 80240A18 3C01800B */ lui $at, 0x800b +/* B20F5C 80240A1C 00230821 */ addu $at, $at, $v1 +/* B20F60 80240A20 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B20F64 80240A24 460C0300 */ add.s $f12, $f0, $f12 +/* B20F68 80240A28 0C00A6C9 */ jal clamp_angle +/* B20F6C 80240A2C 0040982D */ daddu $s3, $v0, $zero +/* B20F70 80240A30 27B00010 */ addiu $s0, $sp, 0x10 +/* B20F74 80240A34 0200202D */ daddu $a0, $s0, $zero +/* B20F78 80240A38 27B20014 */ addiu $s2, $sp, 0x14 +/* B20F7C 80240A3C 0240282D */ daddu $a1, $s2, $zero +/* B20F80 80240A40 3C064170 */ lui $a2, 0x4170 +/* B20F84 80240A44 8E67000C */ lw $a3, 0xc($s3) +/* B20F88 80240A48 0C00A7E7 */ jal add_vec2D_polar +/* B20F8C 80240A4C 46000506 */ mov.s $f20, $f0 +/* B20F90 80240A50 0200202D */ daddu $a0, $s0, $zero +/* B20F94 80240A54 3C064120 */ lui $a2, 0x4120 +/* B20F98 80240A58 4407A000 */ mfc1 $a3, $f20 +/* B20F9C 80240A5C 0C00A7E7 */ jal add_vec2D_polar +/* B20FA0 80240A60 0240282D */ daddu $a1, $s2, $zero +/* B20FA4 80240A64 0220202D */ daddu $a0, $s1, $zero +/* B20FA8 80240A68 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B20FAC 80240A6C 4600008D */ trunc.w.s $f2, $f0 +/* B20FB0 80240A70 44061000 */ mfc1 $a2, $f2 +/* B20FB4 80240A74 0C0B2026 */ jal set_variable +/* B20FB8 80240A78 02C0282D */ daddu $a1, $s6, $zero +/* B20FBC 80240A7C 0220202D */ daddu $a0, $s1, $zero +/* B20FC0 80240A80 4600B08D */ trunc.w.s $f2, $f22 +/* B20FC4 80240A84 44061000 */ mfc1 $a2, $f2 +/* B20FC8 80240A88 0C0B2026 */ jal set_variable +/* B20FCC 80240A8C 0280282D */ daddu $a1, $s4, $zero +/* B20FD0 80240A90 0220202D */ daddu $a0, $s1, $zero +/* B20FD4 80240A94 C7A00014 */ lwc1 $f0, 0x14($sp) +/* B20FD8 80240A98 4600008D */ trunc.w.s $f2, $f0 +/* B20FDC 80240A9C 44061000 */ mfc1 $a2, $f2 +/* B20FE0 80240AA0 0C0B2026 */ jal set_variable +/* B20FE4 80240AA4 02A0282D */ daddu $a1, $s5, $zero +/* B20FE8 80240AA8 8FBF0034 */ lw $ra, 0x34($sp) +/* B20FEC 80240AAC 8FB60030 */ lw $s6, 0x30($sp) +/* B20FF0 80240AB0 8FB5002C */ lw $s5, 0x2c($sp) +/* B20FF4 80240AB4 8FB40028 */ lw $s4, 0x28($sp) +/* B20FF8 80240AB8 8FB30024 */ lw $s3, 0x24($sp) +/* B20FFC 80240ABC 8FB20020 */ lw $s2, 0x20($sp) +/* B21000 80240AC0 8FB1001C */ lw $s1, 0x1c($sp) +/* B21004 80240AC4 8FB00018 */ lw $s0, 0x18($sp) +/* B21008 80240AC8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* B2100C 80240ACC D7B40038 */ ldc1 $f20, 0x38($sp) +/* B21010 80240AD0 24020002 */ addiu $v0, $zero, 2 +/* B21014 80240AD4 03E00008 */ jr $ra +/* B21018 80240AD8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240ADC.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240ADC.s new file mode 100644 index 0000000000..a929bd2b7b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240ADC.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ADC +/* B2101C 80240ADC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B21020 80240AE0 AFB00010 */ sw $s0, 0x10($sp) +/* B21024 80240AE4 0080802D */ daddu $s0, $a0, $zero +/* B21028 80240AE8 AFBF0014 */ sw $ra, 0x14($sp) +/* B2102C 80240AEC 0C00EABB */ jal get_npc_unsafe +/* B21030 80240AF0 8E04008C */ lw $a0, 0x8c($s0) +/* B21034 80240AF4 0040282D */ daddu $a1, $v0, $zero +/* B21038 80240AF8 8E040094 */ lw $a0, 0x94($s0) +/* B2103C 80240AFC 8CA30028 */ lw $v1, 0x28($a1) +/* B21040 80240B00 ACA40028 */ sw $a0, 0x28($a1) +/* B21044 80240B04 8FBF0014 */ lw $ra, 0x14($sp) +/* B21048 80240B08 8FB00010 */ lw $s0, 0x10($sp) +/* B2104C 80240B0C 24020002 */ addiu $v0, $zero, 2 +/* B21050 80240B10 3C018024 */ lui $at, 0x8024 +/* B21054 80240B14 AC237CB4 */ sw $v1, 0x7cb4($at) +/* B21058 80240B18 03E00008 */ jr $ra +/* B2105C 80240B1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240B20_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240B20_B20540.s new file mode 100644 index 0000000000..af3d199586 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240B20_B20540.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B20_B21060 +/* B21060 80240B20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B21064 80240B24 AFBF0010 */ sw $ra, 0x10($sp) +/* B21068 80240B28 0C00EABB */ jal get_npc_unsafe +/* B2106C 80240B2C 8C84008C */ lw $a0, 0x8c($a0) +/* B21070 80240B30 3C038024 */ lui $v1, 0x8024 +/* B21074 80240B34 8C637CB4 */ lw $v1, 0x7cb4($v1) +/* B21078 80240B38 AC430028 */ sw $v1, 0x28($v0) +/* B2107C 80240B3C 8FBF0010 */ lw $ra, 0x10($sp) +/* B21080 80240B40 24020002 */ addiu $v0, $zero, 2 +/* B21084 80240B44 03E00008 */ jr $ra +/* B21088 80240B48 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240B4C_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240B4C_B20540.s new file mode 100644 index 0000000000..c57c66db89 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240B4C_B20540.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B4C_B2108C +/* B2108C 80240B4C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B21090 80240B50 AFB20018 */ sw $s2, 0x18($sp) +/* B21094 80240B54 0080902D */ daddu $s2, $a0, $zero +/* B21098 80240B58 AFBF0028 */ sw $ra, 0x28($sp) +/* B2109C 80240B5C AFB50024 */ sw $s5, 0x24($sp) +/* B210A0 80240B60 AFB40020 */ sw $s4, 0x20($sp) +/* B210A4 80240B64 AFB3001C */ sw $s3, 0x1c($sp) +/* B210A8 80240B68 AFB10014 */ sw $s1, 0x14($sp) +/* B210AC 80240B6C AFB00010 */ sw $s0, 0x10($sp) +/* B210B0 80240B70 F7BA0048 */ sdc1 $f26, 0x48($sp) +/* B210B4 80240B74 F7B80040 */ sdc1 $f24, 0x40($sp) +/* B210B8 80240B78 F7B60038 */ sdc1 $f22, 0x38($sp) +/* B210BC 80240B7C F7B40030 */ sdc1 $f20, 0x30($sp) +/* B210C0 80240B80 8E50000C */ lw $s0, 0xc($s2) +/* B210C4 80240B84 4480A000 */ mtc1 $zero, $f20 +/* B210C8 80240B88 8E050000 */ lw $a1, ($s0) +/* B210CC 80240B8C 26100004 */ addiu $s0, $s0, 4 +/* B210D0 80240B90 4600A686 */ mov.s $f26, $f20 +/* B210D4 80240B94 0C0B1EAF */ jal get_variable +/* B210D8 80240B98 4600A606 */ mov.s $f24, $f20 +/* B210DC 80240B9C 8E130000 */ lw $s3, ($s0) +/* B210E0 80240BA0 26100004 */ addiu $s0, $s0, 4 +/* B210E4 80240BA4 0000202D */ daddu $a0, $zero, $zero +/* B210E8 80240BA8 8E140000 */ lw $s4, ($s0) +/* B210EC 80240BAC 8E150004 */ lw $s5, 4($s0) +/* B210F0 80240BB0 0C00EAD2 */ jal get_npc_safe +/* B210F4 80240BB4 0040882D */ daddu $s1, $v0, $zero +/* B210F8 80240BB8 0040802D */ daddu $s0, $v0, $zero +/* B210FC 80240BBC 24020001 */ addiu $v0, $zero, 1 +/* B21100 80240BC0 1222000F */ beq $s1, $v0, .L80240C00 +/* B21104 80240BC4 2A220002 */ slti $v0, $s1, 2 +/* B21108 80240BC8 10400005 */ beqz $v0, .L80240BE0 +/* B2110C 80240BCC 24020002 */ addiu $v0, $zero, 2 +/* B21110 80240BD0 12200007 */ beqz $s1, .L80240BF0 +/* B21114 80240BD4 00000000 */ nop +/* B21118 80240BD8 08090308 */ j .L80240C20 +/* B2111C 80240BDC 00000000 */ nop +.L80240BE0: +/* B21120 80240BE0 1222000B */ beq $s1, $v0, .L80240C10 +/* B21124 80240BE4 00000000 */ nop +/* B21128 80240BE8 08090308 */ j .L80240C20 +/* B2112C 80240BEC 00000000 */ nop +.L80240BF0: +/* B21130 80240BF0 3C014302 */ lui $at, 0x4302 +/* B21134 80240BF4 4481B000 */ mtc1 $at, $f22 +/* B21138 80240BF8 0809030B */ j .L80240C2C +/* B2113C 80240BFC 2A220004 */ slti $v0, $s1, 4 +.L80240C00: +/* B21140 80240C00 3C014320 */ lui $at, 0x4320 +/* B21144 80240C04 4481B000 */ mtc1 $at, $f22 +/* B21148 80240C08 0809030B */ j .L80240C2C +/* B2114C 80240C0C 2A220004 */ slti $v0, $s1, 4 +.L80240C10: +/* B21150 80240C10 3C0142C8 */ lui $at, 0x42c8 +/* B21154 80240C14 4481B000 */ mtc1 $at, $f22 +/* B21158 80240C18 0809030B */ j .L80240C2C +/* B2115C 80240C1C 2A220004 */ slti $v0, $s1, 4 +.L80240C20: +/* B21160 80240C20 3C0142A0 */ lui $at, 0x42a0 +/* B21164 80240C24 4481B000 */ mtc1 $at, $f22 +/* B21168 80240C28 2A220004 */ slti $v0, $s1, 4 +.L80240C2C: +/* B2116C 80240C2C 10400019 */ beqz $v0, .L80240C94 +/* B21170 80240C30 0240202D */ daddu $a0, $s2, $zero +/* B21174 80240C34 C614000C */ lwc1 $f20, 0xc($s0) +/* B21178 80240C38 4600A507 */ neg.s $f20, $f20 +/* B2117C 80240C3C 0C00A8BB */ jal sin_deg +/* B21180 80240C40 4600A306 */ mov.s $f12, $f20 +/* B21184 80240C44 46160002 */ mul.s $f0, $f0, $f22 +/* B21188 80240C48 00000000 */ nop +/* B2118C 80240C4C C6020038 */ lwc1 $f2, 0x38($s0) +/* B21190 80240C50 3C0141F0 */ lui $at, 0x41f0 +/* B21194 80240C54 44812000 */ mtc1 $at, $f4 +/* B21198 80240C58 00000000 */ nop +/* B2119C 80240C5C 46041080 */ add.s $f2, $f2, $f4 +/* B211A0 80240C60 46001680 */ add.s $f26, $f2, $f0 +/* B211A4 80240C64 0C00A8D4 */ jal cos_deg +/* B211A8 80240C68 4600A306 */ mov.s $f12, $f20 +/* B211AC 80240C6C 46160002 */ mul.s $f0, $f0, $f22 +/* B211B0 80240C70 00000000 */ nop +/* B211B4 80240C74 C604003C */ lwc1 $f4, 0x3c($s0) +/* B211B8 80240C78 3C014248 */ lui $at, 0x4248 +/* B211BC 80240C7C 44811000 */ mtc1 $at, $f2 +/* B211C0 80240C80 00000000 */ nop +/* B211C4 80240C84 46022500 */ add.s $f20, $f4, $f2 +/* B211C8 80240C88 C6020040 */ lwc1 $f2, 0x40($s0) +/* B211CC 80240C8C 46001600 */ add.s $f24, $f2, $f0 +/* B211D0 80240C90 0240202D */ daddu $a0, $s2, $zero +.L80240C94: +/* B211D4 80240C94 4406D000 */ mfc1 $a2, $f26 +/* B211D8 80240C98 0C0B2190 */ jal set_float_variable +/* B211DC 80240C9C 0260282D */ daddu $a1, $s3, $zero +/* B211E0 80240CA0 0240202D */ daddu $a0, $s2, $zero +/* B211E4 80240CA4 4406A000 */ mfc1 $a2, $f20 +/* B211E8 80240CA8 0C0B2190 */ jal set_float_variable +/* B211EC 80240CAC 0280282D */ daddu $a1, $s4, $zero +/* B211F0 80240CB0 0240202D */ daddu $a0, $s2, $zero +/* B211F4 80240CB4 4406C000 */ mfc1 $a2, $f24 +/* B211F8 80240CB8 0C0B2190 */ jal set_float_variable +/* B211FC 80240CBC 02A0282D */ daddu $a1, $s5, $zero +/* B21200 80240CC0 8FBF0028 */ lw $ra, 0x28($sp) +/* B21204 80240CC4 8FB50024 */ lw $s5, 0x24($sp) +/* B21208 80240CC8 8FB40020 */ lw $s4, 0x20($sp) +/* B2120C 80240CCC 8FB3001C */ lw $s3, 0x1c($sp) +/* B21210 80240CD0 8FB20018 */ lw $s2, 0x18($sp) +/* B21214 80240CD4 8FB10014 */ lw $s1, 0x14($sp) +/* B21218 80240CD8 8FB00010 */ lw $s0, 0x10($sp) +/* B2121C 80240CDC D7BA0048 */ ldc1 $f26, 0x48($sp) +/* B21220 80240CE0 D7B80040 */ ldc1 $f24, 0x40($sp) +/* B21224 80240CE4 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B21228 80240CE8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* B2122C 80240CEC 24020002 */ addiu $v0, $zero, 2 +/* B21230 80240CF0 03E00008 */ jr $ra +/* B21234 80240CF4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240CF8_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240CF8_B20540.s new file mode 100644 index 0000000000..0c5473ea93 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240CF8_B20540.s @@ -0,0 +1,150 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF8_B21238 +/* B21238 80240CF8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B2123C 80240CFC AFB3001C */ sw $s3, 0x1c($sp) +/* B21240 80240D00 0080982D */ daddu $s3, $a0, $zero +/* B21244 80240D04 AFB00010 */ sw $s0, 0x10($sp) +/* B21248 80240D08 00A0802D */ daddu $s0, $a1, $zero +/* B2124C 80240D0C AFBF0020 */ sw $ra, 0x20($sp) +/* B21250 80240D10 AFB20018 */ sw $s2, 0x18($sp) +/* B21254 80240D14 AFB10014 */ sw $s1, 0x14($sp) +/* B21258 80240D18 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B2125C 80240D1C F7B60030 */ sdc1 $f22, 0x30($sp) +/* B21260 80240D20 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B21264 80240D24 8E72000C */ lw $s2, 0xc($s3) +/* B21268 80240D28 0C00EAD2 */ jal get_npc_safe +/* B2126C 80240D2C 0000202D */ daddu $a0, $zero, $zero +/* B21270 80240D30 12000010 */ beqz $s0, .L80240D74 +/* B21274 80240D34 0040882D */ daddu $s1, $v0, $zero +/* B21278 80240D38 8E450000 */ lw $a1, ($s2) +/* B2127C 80240D3C 0C0B1EAF */ jal get_variable +/* B21280 80240D40 0260202D */ daddu $a0, $s3, $zero +/* B21284 80240D44 0040182D */ daddu $v1, $v0, $zero +/* B21288 80240D48 10600006 */ beqz $v1, .L80240D64 +/* B2128C 80240D4C AE630070 */ sw $v1, 0x70($s3) +/* B21290 80240D50 24020001 */ addiu $v0, $zero, 1 +/* B21294 80240D54 10620005 */ beq $v1, $v0, .L80240D6C +/* B21298 80240D58 24020019 */ addiu $v0, $zero, 0x19 +/* B2129C 80240D5C 0809035D */ j .L80240D74 +/* B212A0 80240D60 AE620074 */ sw $v0, 0x74($s3) +.L80240D64: +/* B212A4 80240D64 0809035C */ j .L80240D70 +/* B212A8 80240D68 24020037 */ addiu $v0, $zero, 0x37 +.L80240D6C: +/* B212AC 80240D6C 24020055 */ addiu $v0, $zero, 0x55 +.L80240D70: +/* B212B0 80240D70 AE620074 */ sw $v0, 0x74($s3) +.L80240D74: +/* B212B4 80240D74 C634000C */ lwc1 $f20, 0xc($s1) +/* B212B8 80240D78 C6760074 */ lwc1 $f22, 0x74($s3) +/* B212BC 80240D7C 4680B5A0 */ cvt.s.w $f22, $f22 +/* B212C0 80240D80 4600A507 */ neg.s $f20, $f20 +/* B212C4 80240D84 0C00A8BB */ jal sin_deg +/* B212C8 80240D88 4600A306 */ mov.s $f12, $f20 +/* B212CC 80240D8C 46160002 */ mul.s $f0, $f0, $f22 +/* B212D0 80240D90 00000000 */ nop +/* B212D4 80240D94 C6220038 */ lwc1 $f2, 0x38($s1) +/* B212D8 80240D98 3C0141F0 */ lui $at, 0x41f0 +/* B212DC 80240D9C 44812000 */ mtc1 $at, $f4 +/* B212E0 80240DA0 00000000 */ nop +/* B212E4 80240DA4 46041080 */ add.s $f2, $f2, $f4 +/* B212E8 80240DA8 3C014296 */ lui $at, 0x4296 +/* B212EC 80240DAC 44812000 */ mtc1 $at, $f4 +/* B212F0 80240DB0 00000000 */ nop +/* B212F4 80240DB4 46041081 */ sub.s $f2, $f2, $f4 +/* B212F8 80240DB8 46001600 */ add.s $f24, $f2, $f0 +/* B212FC 80240DBC 0C00A8D4 */ jal cos_deg +/* B21300 80240DC0 4600A306 */ mov.s $f12, $f20 +/* B21304 80240DC4 46160002 */ mul.s $f0, $f0, $f22 +/* B21308 80240DC8 00000000 */ nop +/* B2130C 80240DCC 24020001 */ addiu $v0, $zero, 1 +/* B21310 80240DD0 C6220040 */ lwc1 $f2, 0x40($s1) +/* B21314 80240DD4 C624003C */ lwc1 $f4, 0x3c($s1) +/* B21318 80240DD8 46001580 */ add.s $f22, $f2, $f0 +/* B2131C 80240DDC 3C014248 */ lui $at, 0x4248 +/* B21320 80240DE0 44810000 */ mtc1 $at, $f0 +/* B21324 80240DE4 8E640070 */ lw $a0, 0x70($s3) +/* B21328 80240DE8 1082001C */ beq $a0, $v0, .L80240E5C +/* B2132C 80240DEC 46002500 */ add.s $f20, $f4, $f0 +/* B21330 80240DF0 28820002 */ slti $v0, $a0, 2 +/* B21334 80240DF4 10400005 */ beqz $v0, .L80240E0C +/* B21338 80240DF8 24020002 */ addiu $v0, $zero, 2 +/* B2133C 80240DFC 10800007 */ beqz $a0, .L80240E1C +/* B21340 80240E00 0000102D */ daddu $v0, $zero, $zero +/* B21344 80240E04 080903BB */ j .L80240EEC +/* B21348 80240E08 00000000 */ nop +.L80240E0C: +/* B2134C 80240E0C 10820027 */ beq $a0, $v0, .L80240EAC +/* B21350 80240E10 0000102D */ daddu $v0, $zero, $zero +/* B21354 80240E14 080903BB */ j .L80240EEC +/* B21358 80240E18 00000000 */ nop +.L80240E1C: +/* B2135C 80240E1C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* B21360 80240E20 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* B21364 80240E24 3C030001 */ lui $v1, 1 +/* B21368 80240E28 E4580028 */ swc1 $f24, 0x28($v0) +/* B2136C 80240E2C E454002C */ swc1 $f20, 0x2c($v0) +/* B21370 80240E30 E4560030 */ swc1 $f22, 0x30($v0) +/* B21374 80240E34 C6200038 */ lwc1 $f0, 0x38($s1) +/* B21378 80240E38 C622003C */ lwc1 $f2, 0x3c($s1) +/* B2137C 80240E3C 8E220000 */ lw $v0, ($s1) +/* B21380 80240E40 C6240040 */ lwc1 $f4, 0x40($s1) +/* B21384 80240E44 00431025 */ or $v0, $v0, $v1 +/* B21388 80240E48 E620006C */ swc1 $f0, 0x6c($s1) +/* B2138C 80240E4C E6220070 */ swc1 $f2, 0x70($s1) +/* B21390 80240E50 E6240074 */ swc1 $f4, 0x74($s1) +/* B21394 80240E54 080903BA */ j .L80240EE8 +/* B21398 80240E58 AE220000 */ sw $v0, ($s1) +.L80240E5C: +/* B2139C 80240E5C 0C00EAD2 */ jal get_npc_safe +/* B213A0 80240E60 2404FFFC */ addiu $a0, $zero, -4 +/* B213A4 80240E64 0040202D */ daddu $a0, $v0, $zero +/* B213A8 80240E68 54800003 */ bnel $a0, $zero, .L80240E78 +/* B213AC 80240E6C E4980038 */ swc1 $f24, 0x38($a0) +/* B213B0 80240E70 080903BB */ j .L80240EEC +/* B213B4 80240E74 24020002 */ addiu $v0, $zero, 2 +.L80240E78: +/* B213B8 80240E78 4600C006 */ mov.s $f0, $f24 +/* B213BC 80240E7C E494003C */ swc1 $f20, 0x3c($a0) +/* B213C0 80240E80 4600A086 */ mov.s $f2, $f20 +/* B213C4 80240E84 E4960040 */ swc1 $f22, 0x40($a0) +/* B213C8 80240E88 4600B106 */ mov.s $f4, $f22 +/* B213CC 80240E8C 8C820000 */ lw $v0, ($a0) +/* B213D0 80240E90 3C030001 */ lui $v1, 1 +/* B213D4 80240E94 E480006C */ swc1 $f0, 0x6c($a0) +/* B213D8 80240E98 E4820070 */ swc1 $f2, 0x70($a0) +/* B213DC 80240E9C E4840074 */ swc1 $f4, 0x74($a0) +/* B213E0 80240EA0 00431025 */ or $v0, $v0, $v1 +/* B213E4 80240EA4 080903BA */ j .L80240EE8 +/* B213E8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* B213EC 80240EAC 0C00EAD2 */ jal get_npc_safe +/* B213F0 80240EB0 24040001 */ addiu $a0, $zero, 1 +/* B213F4 80240EB4 E4580038 */ swc1 $f24, 0x38($v0) +/* B213F8 80240EB8 4600C006 */ mov.s $f0, $f24 +/* B213FC 80240EBC E454003C */ swc1 $f20, 0x3c($v0) +/* B21400 80240EC0 4600A086 */ mov.s $f2, $f20 +/* B21404 80240EC4 E4560040 */ swc1 $f22, 0x40($v0) +/* B21408 80240EC8 4600B106 */ mov.s $f4, $f22 +/* B2140C 80240ECC 8C430000 */ lw $v1, ($v0) +/* B21410 80240ED0 3C040001 */ lui $a0, 1 +/* B21414 80240ED4 E440006C */ swc1 $f0, 0x6c($v0) +/* B21418 80240ED8 E4420070 */ swc1 $f2, 0x70($v0) +/* B2141C 80240EDC E4440074 */ swc1 $f4, 0x74($v0) +/* B21420 80240EE0 00641825 */ or $v1, $v1, $a0 +/* B21424 80240EE4 AC430000 */ sw $v1, ($v0) +.L80240EE8: +/* B21428 80240EE8 0000102D */ daddu $v0, $zero, $zero +.L80240EEC: +/* B2142C 80240EEC 8FBF0020 */ lw $ra, 0x20($sp) +/* B21430 80240EF0 8FB3001C */ lw $s3, 0x1c($sp) +/* B21434 80240EF4 8FB20018 */ lw $s2, 0x18($sp) +/* B21438 80240EF8 8FB10014 */ lw $s1, 0x14($sp) +/* B2143C 80240EFC 8FB00010 */ lw $s0, 0x10($sp) +/* B21440 80240F00 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B21444 80240F04 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B21448 80240F08 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B2144C 80240F0C 03E00008 */ jr $ra +/* B21450 80240F10 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80240F14.s b/asm/nonmatchings/world/area_jan/jan_00/func_80240F14.s new file mode 100644 index 0000000000..e600973d7a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80240F14.s @@ -0,0 +1,151 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F14 +/* B21454 80240F14 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B21458 80240F18 AFB20018 */ sw $s2, 0x18($sp) +/* B2145C 80240F1C 0080902D */ daddu $s2, $a0, $zero +/* B21460 80240F20 AFB00010 */ sw $s0, 0x10($sp) +/* B21464 80240F24 00A0802D */ daddu $s0, $a1, $zero +/* B21468 80240F28 AFBF0020 */ sw $ra, 0x20($sp) +/* B2146C 80240F2C AFB3001C */ sw $s3, 0x1c($sp) +/* B21470 80240F30 AFB10014 */ sw $s1, 0x14($sp) +/* B21474 80240F34 8E53000C */ lw $s3, 0xc($s2) +/* B21478 80240F38 0C00EAD2 */ jal get_npc_safe +/* B2147C 80240F3C 0000202D */ daddu $a0, $zero, $zero +/* B21480 80240F40 12000021 */ beqz $s0, .L80240FC8 +/* B21484 80240F44 0040882D */ daddu $s1, $v0, $zero +/* B21488 80240F48 8E650000 */ lw $a1, ($s3) +/* B2148C 80240F4C 0C0B1EAF */ jal get_variable +/* B21490 80240F50 0240202D */ daddu $a0, $s2, $zero +/* B21494 80240F54 0040182D */ daddu $v1, $v0, $zero +/* B21498 80240F58 10600006 */ beqz $v1, .L80240F74 +/* B2149C 80240F5C AE430070 */ sw $v1, 0x70($s2) +/* B214A0 80240F60 24020001 */ addiu $v0, $zero, 1 +/* B214A4 80240F64 1062000C */ beq $v1, $v0, .L80240F98 +/* B214A8 80240F68 2402000A */ addiu $v0, $zero, 0xa +/* B214AC 80240F6C 080903F2 */ j .L80240FC8 +/* B214B0 80240F70 00000000 */ nop +.L80240F74: +/* B214B4 80240F74 3C01431E */ lui $at, 0x431e +/* B214B8 80240F78 44810000 */ mtc1 $at, $f0 +/* B214BC 80240F7C 3C01C248 */ lui $at, 0xc248 +/* B214C0 80240F80 44811000 */ mtc1 $at, $f2 +/* B214C4 80240F84 3C01C218 */ lui $at, 0xc218 +/* B214C8 80240F88 44812000 */ mtc1 $at, $f4 +/* B214CC 80240F8C 2402005A */ addiu $v0, $zero, 0x5a +/* B214D0 80240F90 080903EE */ j .L80240FB8 +/* B214D4 80240F94 AE400078 */ sw $zero, 0x78($s2) +.L80240F98: +/* B214D8 80240F98 3C01C3DD */ lui $at, 0xc3dd +/* B214DC 80240F9C 44810000 */ mtc1 $at, $f0 +/* B214E0 80240FA0 3C01C248 */ lui $at, 0xc248 +/* B214E4 80240FA4 44811000 */ mtc1 $at, $f2 +/* B214E8 80240FA8 3C01C218 */ lui $at, 0xc218 +/* B214EC 80240FAC 44812000 */ mtc1 $at, $f4 +/* B214F0 80240FB0 AE420078 */ sw $v0, 0x78($s2) +/* B214F4 80240FB4 240200C8 */ addiu $v0, $zero, 0xc8 +.L80240FB8: +/* B214F8 80240FB8 AE420074 */ sw $v0, 0x74($s2) +/* B214FC 80240FBC E6200038 */ swc1 $f0, 0x38($s1) +/* B21500 80240FC0 E622003C */ swc1 $f2, 0x3c($s1) +/* B21504 80240FC4 E6240040 */ swc1 $f4, 0x40($s1) +.L80240FC8: +/* B21508 80240FC8 8E430078 */ lw $v1, 0x78($s2) +/* B2150C 80240FCC 24040001 */ addiu $a0, $zero, 1 +/* B21510 80240FD0 10640022 */ beq $v1, $a0, .L8024105C +/* B21514 80240FD4 28620002 */ slti $v0, $v1, 2 +/* B21518 80240FD8 10400005 */ beqz $v0, .L80240FF0 +/* B2151C 80240FDC 24020002 */ addiu $v0, $zero, 2 +/* B21520 80240FE0 10600009 */ beqz $v1, .L80241008 +/* B21524 80240FE4 0000102D */ daddu $v0, $zero, $zero +/* B21528 80240FE8 08090446 */ j .L80241118 +/* B2152C 80240FEC 00000000 */ nop +.L80240FF0: +/* B21530 80240FF0 1062002D */ beq $v1, $v0, .L802410A8 +/* B21534 80240FF4 2402000A */ addiu $v0, $zero, 0xa +/* B21538 80240FF8 10620037 */ beq $v1, $v0, .L802410D8 +/* B2153C 80240FFC 0000102D */ daddu $v0, $zero, $zero +/* B21540 80241000 08090446 */ j .L80241118 +/* B21544 80241004 00000000 */ nop +.L80241008: +/* B21548 80241008 3C0200B6 */ lui $v0, 0xb6 +/* B2154C 8024100C C624000C */ lwc1 $f4, 0xc($s1) +/* B21550 80241010 3C013F80 */ lui $at, 0x3f80 +/* B21554 80241014 44810000 */ mtc1 $at, $f0 +/* B21558 80241018 3C014040 */ lui $at, 0x4040 +/* B2155C 8024101C 44811000 */ mtc1 $at, $f2 +/* B21560 80241020 46002101 */ sub.s $f4, $f4, $f0 +/* B21564 80241024 C6200038 */ lwc1 $f0, 0x38($s1) +/* B21568 80241028 34420001 */ ori $v0, $v0, 1 +/* B2156C 8024102C 46020001 */ sub.s $f0, $f0, $f2 +/* B21570 80241030 AE220028 */ sw $v0, 0x28($s1) +/* B21574 80241034 E624000C */ swc1 $f4, 0xc($s1) +/* B21578 80241038 E6200038 */ swc1 $f0, 0x38($s1) +/* B2157C 8024103C 8E420074 */ lw $v0, 0x74($s2) +/* B21580 80241040 2442FFFF */ addiu $v0, $v0, -1 +/* B21584 80241044 1C400033 */ bgtz $v0, .L80241114 +/* B21588 80241048 AE420074 */ sw $v0, 0x74($s2) +/* B2158C 8024104C 2402005A */ addiu $v0, $zero, 0x5a +/* B21590 80241050 AE440078 */ sw $a0, 0x78($s2) +/* B21594 80241054 08090445 */ j .L80241114 +/* B21598 80241058 AE420074 */ sw $v0, 0x74($s2) +.L8024105C: +/* B2159C 8024105C C624000C */ lwc1 $f4, 0xc($s1) +/* B215A0 80241060 3C013F80 */ lui $at, 0x3f80 +/* B215A4 80241064 44810000 */ mtc1 $at, $f0 +/* B215A8 80241068 3C014040 */ lui $at, 0x4040 +/* B215AC 8024106C 44811000 */ mtc1 $at, $f2 +/* B215B0 80241070 46002101 */ sub.s $f4, $f4, $f0 +/* B215B4 80241074 C6200038 */ lwc1 $f0, 0x38($s1) +/* B215B8 80241078 46020001 */ sub.s $f0, $f0, $f2 +/* B215BC 8024107C E624000C */ swc1 $f4, 0xc($s1) +/* B215C0 80241080 E6200038 */ swc1 $f0, 0x38($s1) +/* B215C4 80241084 8E420074 */ lw $v0, 0x74($s2) +/* B215C8 80241088 2442FFFF */ addiu $v0, $v0, -1 +/* B215CC 8024108C 1C400021 */ bgtz $v0, .L80241114 +/* B215D0 80241090 AE420074 */ sw $v0, 0x74($s2) +/* B215D4 80241094 24020002 */ addiu $v0, $zero, 2 +/* B215D8 80241098 AE420078 */ sw $v0, 0x78($s2) +/* B215DC 8024109C 24020078 */ addiu $v0, $zero, 0x78 +/* B215E0 802410A0 08090445 */ j .L80241114 +/* B215E4 802410A4 AE420074 */ sw $v0, 0x74($s2) +.L802410A8: +/* B215E8 802410A8 C6200038 */ lwc1 $f0, 0x38($s1) +/* B215EC 802410AC 3C014040 */ lui $at, 0x4040 +/* B215F0 802410B0 44811000 */ mtc1 $at, $f2 +/* B215F4 802410B4 00000000 */ nop +/* B215F8 802410B8 46020001 */ sub.s $f0, $f0, $f2 +/* B215FC 802410BC E6200038 */ swc1 $f0, 0x38($s1) +/* B21600 802410C0 8E420074 */ lw $v0, 0x74($s2) +/* B21604 802410C4 2442FFFF */ addiu $v0, $v0, -1 +/* B21608 802410C8 1C400012 */ bgtz $v0, .L80241114 +/* B2160C 802410CC AE420074 */ sw $v0, 0x74($s2) +/* B21610 802410D0 08090446 */ j .L80241118 +/* B21614 802410D4 24020002 */ addiu $v0, $zero, 2 +.L802410D8: +/* B21618 802410D8 C6220038 */ lwc1 $f2, 0x38($s1) +/* B2161C 802410DC 3C014040 */ lui $at, 0x4040 +/* B21620 802410E0 44810000 */ mtc1 $at, $f0 +/* B21624 802410E4 00000000 */ nop +/* B21628 802410E8 46001080 */ add.s $f2, $f2, $f0 +/* B2162C 802410EC 3C0142B4 */ lui $at, 0x42b4 +/* B21630 802410F0 44810000 */ mtc1 $at, $f0 +/* B21634 802410F4 00000000 */ nop +/* B21638 802410F8 E620000C */ swc1 $f0, 0xc($s1) +/* B2163C 802410FC E6220038 */ swc1 $f2, 0x38($s1) +/* B21640 80241100 8E430074 */ lw $v1, 0x74($s2) +/* B21644 80241104 24020002 */ addiu $v0, $zero, 2 +/* B21648 80241108 2463FFFF */ addiu $v1, $v1, -1 +/* B2164C 8024110C 18600002 */ blez $v1, .L80241118 +/* B21650 80241110 AE430074 */ sw $v1, 0x74($s2) +.L80241114: +/* B21654 80241114 0000102D */ daddu $v0, $zero, $zero +.L80241118: +/* B21658 80241118 8FBF0020 */ lw $ra, 0x20($sp) +/* B2165C 8024111C 8FB3001C */ lw $s3, 0x1c($sp) +/* B21660 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* B21664 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* B21668 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* B2166C 8024112C 03E00008 */ jr $ra +/* B21670 80241130 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80241134_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80241134_B20540.s new file mode 100644 index 0000000000..a39f0e37eb --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80241134_B20540.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241134_B21674 +/* B21674 80241134 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B21678 80241138 AFBF0018 */ sw $ra, 0x18($sp) +/* B2167C 8024113C 0C00EAD2 */ jal get_npc_safe +/* B21680 80241140 24040002 */ addiu $a0, $zero, 2 +/* B21684 80241144 C4420040 */ lwc1 $f2, 0x40($v0) +/* B21688 80241148 3C0141A0 */ lui $at, 0x41a0 +/* B2168C 8024114C 44810000 */ mtc1 $at, $f0 +/* B21690 80241150 C444003C */ lwc1 $f4, 0x3c($v0) +/* B21694 80241154 46001081 */ sub.s $f2, $f2, $f0 +/* B21698 80241158 44803000 */ mtc1 $zero, $f6 +/* B2169C 8024115C 00000000 */ nop +/* B216A0 80241160 4606203C */ c.lt.s $f4, $f6 +/* B216A4 80241164 C4400038 */ lwc1 $f0, 0x38($v0) +/* B216A8 80241168 45000006 */ bc1f .L80241184 +/* B216AC 8024116C 0000202D */ daddu $a0, $zero, $zero +/* B216B0 80241170 44050000 */ mfc1 $a1, $f0 +/* B216B4 80241174 44062000 */ mfc1 $a2, $f4 +/* B216B8 80241178 44071000 */ mfc1 $a3, $f2 +/* B216BC 8024117C 0C01C16C */ jal func_800705B0 +/* B216C0 80241180 E7A60010 */ swc1 $f6, 0x10($sp) +.L80241184: +/* B216C4 80241184 8FBF0018 */ lw $ra, 0x18($sp) +/* B216C8 80241188 0000102D */ daddu $v0, $zero, $zero +/* B216CC 8024118C 03E00008 */ jr $ra +/* B216D0 80241190 27BD0020 */ addiu $sp, $sp, 0x20 +/* B216D4 80241194 00000000 */ nop +/* B216D8 80241198 00000000 */ nop +/* B216DC 8024119C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802411A0_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802411A0_B20540.s new file mode 100644 index 0000000000..f26212db3f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802411A0_B20540.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_B216E0 +/* B216E0 802411A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B216E4 802411A4 0080182D */ daddu $v1, $a0, $zero +/* B216E8 802411A8 00A0202D */ daddu $a0, $a1, $zero +/* B216EC 802411AC 2402FFFF */ addiu $v0, $zero, -1 +/* B216F0 802411B0 14820004 */ bne $a0, $v0, .L802411C4 +/* B216F4 802411B4 AFBF0010 */ sw $ra, 0x10($sp) +/* B216F8 802411B8 8C64014C */ lw $a0, 0x14c($v1) +/* B216FC 802411BC 08090476 */ j .L802411D8 +/* B21700 802411C0 00000000 */ nop +.L802411C4: +/* B21704 802411C4 3C02EFE8 */ lui $v0, 0xefe8 +/* B21708 802411C8 34422080 */ ori $v0, $v0, 0x2080 +/* B2170C 802411CC 0082102A */ slt $v0, $a0, $v0 +/* B21710 802411D0 14400003 */ bnez $v0, .L802411E0 +/* B21714 802411D4 0080102D */ daddu $v0, $a0, $zero +.L802411D8: +/* B21718 802411D8 0C00EAD2 */ jal get_npc_safe +/* B2171C 802411DC 00000000 */ nop +.L802411E0: +/* B21720 802411E0 8FBF0010 */ lw $ra, 0x10($sp) +/* B21724 802411E4 03E00008 */ jr $ra +/* B21728 802411E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802411EC.s b/asm/nonmatchings/world/area_jan/jan_00/func_802411EC.s new file mode 100644 index 0000000000..a7c1980e83 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802411EC.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411EC +/* B2172C 802411EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B21730 802411F0 AFB10014 */ sw $s1, 0x14($sp) +/* B21734 802411F4 0080882D */ daddu $s1, $a0, $zero +/* B21738 802411F8 AFBF0024 */ sw $ra, 0x24($sp) +/* B2173C 802411FC AFB40020 */ sw $s4, 0x20($sp) +/* B21740 80241200 AFB3001C */ sw $s3, 0x1c($sp) +/* B21744 80241204 AFB20018 */ sw $s2, 0x18($sp) +/* B21748 80241208 AFB00010 */ sw $s0, 0x10($sp) +/* B2174C 8024120C F7B40028 */ sdc1 $f20, 0x28($sp) +/* B21750 80241210 8E30000C */ lw $s0, 0xc($s1) +/* B21754 80241214 8E050000 */ lw $a1, ($s0) +/* B21758 80241218 0C0B1EAF */ jal get_variable +/* B2175C 8024121C 26100004 */ addiu $s0, $s0, 4 +/* B21760 80241220 8E120000 */ lw $s2, ($s0) +/* B21764 80241224 26100004 */ addiu $s0, $s0, 4 +/* B21768 80241228 0220202D */ daddu $a0, $s1, $zero +/* B2176C 8024122C 8E130000 */ lw $s3, ($s0) +/* B21770 80241230 8E140004 */ lw $s4, 4($s0) +/* B21774 80241234 0C090468 */ jal func_802411A0 +/* B21778 80241238 0040282D */ daddu $a1, $v0, $zero +/* B2177C 8024123C 0040802D */ daddu $s0, $v0, $zero +/* B21780 80241240 12000034 */ beqz $s0, .L80241314 +/* B21784 80241244 24020002 */ addiu $v0, $zero, 2 +/* B21788 80241248 3C038024 */ lui $v1, 0x8024 +/* B2178C 8024124C 24635950 */ addiu $v1, $v1, 0x5950 +/* B21790 80241250 8C640000 */ lw $a0, ($v1) +/* B21794 80241254 24820004 */ addiu $v0, $a0, 4 +/* B21798 80241258 AC620000 */ sw $v0, ($v1) +/* B2179C 8024125C 2C420168 */ sltiu $v0, $v0, 0x168 +/* B217A0 80241260 14400004 */ bnez $v0, .L80241274 +/* B217A4 80241264 3C0200B6 */ lui $v0, 0xb6 +/* B217A8 80241268 2482FE9C */ addiu $v0, $a0, -0x164 +/* B217AC 8024126C AC620000 */ sw $v0, ($v1) +/* B217B0 80241270 3C0200B6 */ lui $v0, 0xb6 +.L80241274: +/* B217B4 80241274 8E030028 */ lw $v1, 0x28($s0) +/* B217B8 80241278 C614003C */ lwc1 $f20, 0x3c($s0) +/* B217BC 8024127C 10620009 */ beq $v1, $v0, .L802412A4 +/* B217C0 80241280 34420004 */ ori $v0, $v0, 4 +/* B217C4 80241284 10620007 */ beq $v1, $v0, .L802412A4 +/* B217C8 80241288 3C0200B6 */ lui $v0, 0xb6 +/* B217CC 8024128C 34420008 */ ori $v0, $v0, 8 +/* B217D0 80241290 10620004 */ beq $v1, $v0, .L802412A4 +/* B217D4 80241294 3C0200B6 */ lui $v0, 0xb6 +/* B217D8 80241298 3442000C */ ori $v0, $v0, 0xc +/* B217DC 8024129C 14620011 */ bne $v1, $v0, .L802412E4 +/* B217E0 802412A0 0220202D */ daddu $a0, $s1, $zero +.L802412A4: +/* B217E4 802412A4 3C028024 */ lui $v0, 0x8024 +/* B217E8 802412A8 8C425950 */ lw $v0, 0x5950($v0) +/* B217EC 802412AC 44826000 */ mtc1 $v0, $f12 +/* B217F0 802412B0 00000000 */ nop +/* B217F4 802412B4 04410006 */ bgez $v0, .L802412D0 +/* B217F8 802412B8 46806321 */ cvt.d.w $f12, $f12 +/* B217FC 802412BC 3C0141F0 */ lui $at, 0x41f0 +/* B21800 802412C0 44810800 */ mtc1 $at, $f1 +/* B21804 802412C4 44800000 */ mtc1 $zero, $f0 +/* B21808 802412C8 00000000 */ nop +/* B2180C 802412CC 46206300 */ add.d $f12, $f12, $f0 +.L802412D0: +/* B21810 802412D0 0C00A8BB */ jal sin_deg +/* B21814 802412D4 46206320 */ cvt.s.d $f12, $f12 +/* B21818 802412D8 46000000 */ add.s $f0, $f0, $f0 +/* B2181C 802412DC 4600A500 */ add.s $f20, $f20, $f0 +/* B21820 802412E0 0220202D */ daddu $a0, $s1, $zero +.L802412E4: +/* B21824 802412E4 8E060038 */ lw $a2, 0x38($s0) +/* B21828 802412E8 0C0B2190 */ jal set_float_variable +/* B2182C 802412EC 0240282D */ daddu $a1, $s2, $zero +/* B21830 802412F0 0220202D */ daddu $a0, $s1, $zero +/* B21834 802412F4 4406A000 */ mfc1 $a2, $f20 +/* B21838 802412F8 0C0B2190 */ jal set_float_variable +/* B2183C 802412FC 0260282D */ daddu $a1, $s3, $zero +/* B21840 80241300 0220202D */ daddu $a0, $s1, $zero +/* B21844 80241304 8E060040 */ lw $a2, 0x40($s0) +/* B21848 80241308 0C0B2190 */ jal set_float_variable +/* B2184C 8024130C 0280282D */ daddu $a1, $s4, $zero +/* B21850 80241310 24020002 */ addiu $v0, $zero, 2 +.L80241314: +/* B21854 80241314 8FBF0024 */ lw $ra, 0x24($sp) +/* B21858 80241318 8FB40020 */ lw $s4, 0x20($sp) +/* B2185C 8024131C 8FB3001C */ lw $s3, 0x1c($sp) +/* B21860 80241320 8FB20018 */ lw $s2, 0x18($sp) +/* B21864 80241324 8FB10014 */ lw $s1, 0x14($sp) +/* B21868 80241328 8FB00010 */ lw $s0, 0x10($sp) +/* B2186C 8024132C D7B40028 */ ldc1 $f20, 0x28($sp) +/* B21870 80241330 03E00008 */ jr $ra +/* B21874 80241334 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80241338.s b/asm/nonmatchings/world/area_jan/jan_00/func_80241338.s new file mode 100644 index 0000000000..ea0a650290 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80241338.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241338 +/* B21878 80241338 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B2187C 8024133C AFB20018 */ sw $s2, 0x18($sp) +/* B21880 80241340 0080902D */ daddu $s2, $a0, $zero +/* B21884 80241344 AFB10014 */ sw $s1, 0x14($sp) +/* B21888 80241348 00A0882D */ daddu $s1, $a1, $zero +/* B2188C 8024134C AFB7002C */ sw $s7, 0x2c($sp) +/* B21890 80241350 00C0B82D */ daddu $s7, $a2, $zero +/* B21894 80241354 AFB00010 */ sw $s0, 0x10($sp) +/* B21898 80241358 00E0802D */ daddu $s0, $a3, $zero +/* B2189C 8024135C AFBF0030 */ sw $ra, 0x30($sp) +/* B218A0 80241360 AFB60028 */ sw $s6, 0x28($sp) +/* B218A4 80241364 AFB50024 */ sw $s5, 0x24($sp) +/* B218A8 80241368 AFB40020 */ sw $s4, 0x20($sp) +/* B218AC 8024136C AFB3001C */ sw $s3, 0x1c($sp) +/* B218B0 80241370 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* B218B4 80241374 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* B218B8 80241378 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* B218BC 8024137C F7B80048 */ sdc1 $f24, 0x48($sp) +/* B218C0 80241380 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B218C4 80241384 F7B40038 */ sdc1 $f20, 0x38($sp) +/* B218C8 80241388 8E160000 */ lw $s6, ($s0) +/* B218CC 8024138C 0C00EAD2 */ jal get_npc_safe +/* B218D0 80241390 0000202D */ daddu $a0, $zero, $zero +/* B218D4 80241394 8C420028 */ lw $v0, 0x28($v0) +/* B218D8 80241398 3C03FF4A */ lui $v1, 0xff4a +/* B218DC 8024139C 00431821 */ addu $v1, $v0, $v1 +/* B218E0 802413A0 2C62000D */ sltiu $v0, $v1, 0xd +/* B218E4 802413A4 1040000B */ beqz $v0, .L802413D4 +/* B218E8 802413A8 00031080 */ sll $v0, $v1, 2 +/* B218EC 802413AC 3C018024 */ lui $at, 0x8024 +/* B218F0 802413B0 00220821 */ addu $at, $at, $v0 +/* B218F4 802413B4 8C227AB8 */ lw $v0, 0x7ab8($at) +/* B218F8 802413B8 00400008 */ jr $v0 +/* B218FC 802413BC 00000000 */ nop +/* B21900 802413C0 8E020000 */ lw $v0, ($s0) +/* B21904 802413C4 04410003 */ bgez $v0, .L802413D4 +/* B21908 802413C8 00000000 */ nop +/* B2190C 802413CC 0000B02D */ daddu $s6, $zero, $zero +/* B21910 802413D0 AE000000 */ sw $zero, ($s0) +.L802413D4: +/* B21914 802413D4 1AE00065 */ blez $s7, .L8024156C +/* B21918 802413D8 0000A02D */ daddu $s4, $zero, $zero +/* B2191C 802413DC 0220982D */ daddu $s3, $s1, $zero +/* B21920 802413E0 3C014220 */ lui $at, 0x4220 +/* B21924 802413E4 4481F000 */ mtc1 $at, $f30 +/* B21928 802413E8 3C014120 */ lui $at, 0x4120 +/* B2192C 802413EC 4481E000 */ mtc1 $at, $f28 +.L802413F0: +/* B21930 802413F0 86440000 */ lh $a0, ($s2) +/* B21934 802413F4 2882001F */ slti $v0, $a0, 0x1f +/* B21938 802413F8 54400058 */ bnel $v0, $zero, .L8024155C +/* B2193C 802413FC 26730010 */ addiu $s3, $s3, 0x10 +/* B21940 80241400 3C026666 */ lui $v0, 0x6666 +/* B21944 80241404 34426667 */ ori $v0, $v0, 0x6667 +/* B21948 80241408 2483FFE2 */ addiu $v1, $a0, -0x1e +/* B2194C 8024140C 00620018 */ mult $v1, $v0 +/* B21950 80241410 4480C000 */ mtc1 $zero, $f24 +/* B21954 80241414 0000802D */ daddu $s0, $zero, $zero +/* B21958 80241418 00031FC3 */ sra $v1, $v1, 0x1f +/* B2195C 8024141C 4600C686 */ mov.s $f26, $f24 +/* B21960 80241420 00004010 */ mfhi $t0 +/* B21964 80241424 00081083 */ sra $v0, $t0, 2 +/* B21968 80241428 00438823 */ subu $s1, $v0, $v1 +/* B2196C 8024142C 00111080 */ sll $v0, $s1, 2 +/* B21970 80241430 00511021 */ addu $v0, $v0, $s1 +/* B21974 80241434 00021040 */ sll $v0, $v0, 1 +/* B21978 80241438 2442001E */ addiu $v0, $v0, 0x1e +/* B2197C 8024143C 1A20001D */ blez $s1, .L802414B4 +/* B21980 80241440 0082A823 */ subu $s5, $a0, $v0 +.L80241444: +/* B21984 80241444 44966000 */ mtc1 $s6, $f12 +/* B21988 80241448 00000000 */ nop +/* B2198C 8024144C 0C00A8BB */ jal sin_deg +/* B21990 80241450 46806320 */ cvt.s.w $f12, $f12 +/* B21994 80241454 44902000 */ mtc1 $s0, $f4 +/* B21998 80241458 00000000 */ nop +/* B2199C 8024145C 46802120 */ cvt.s.w $f4, $f4 +/* B219A0 80241460 461E2083 */ div.s $f2, $f4, $f30 +/* B219A4 80241464 46001082 */ mul.s $f2, $f2, $f0 +/* B219A8 80241468 00000000 */ nop +/* B219AC 8024146C 3C014170 */ lui $at, 0x4170 +/* B219B0 80241470 44813000 */ mtc1 $at, $f6 +/* B219B4 80241474 00000000 */ nop +/* B219B8 80241478 46062103 */ div.s $f4, $f4, $f6 +/* B219BC 8024147C 46022580 */ add.s $f22, $f4, $f2 +/* B219C0 80241480 0C00A874 */ jal cos_rad +/* B219C4 80241484 4600B306 */ mov.s $f12, $f22 +/* B219C8 80241488 461C0002 */ mul.s $f0, $f0, $f28 +/* B219CC 8024148C 00000000 */ nop +/* B219D0 80241490 4600D680 */ add.s $f26, $f26, $f0 +/* B219D4 80241494 0C00A85B */ jal sin_rad +/* B219D8 80241498 4600B306 */ mov.s $f12, $f22 +/* B219DC 8024149C 461C0002 */ mul.s $f0, $f0, $f28 +/* B219E0 802414A0 00000000 */ nop +/* B219E4 802414A4 26100001 */ addiu $s0, $s0, 1 +/* B219E8 802414A8 0211102A */ slt $v0, $s0, $s1 +/* B219EC 802414AC 1440FFE5 */ bnez $v0, .L80241444 +/* B219F0 802414B0 4600C600 */ add.s $f24, $f24, $f0 +.L802414B4: +/* B219F4 802414B4 44966000 */ mtc1 $s6, $f12 +/* B219F8 802414B8 00000000 */ nop +/* B219FC 802414BC 0C00A8BB */ jal sin_deg +/* B21A00 802414C0 46806320 */ cvt.s.w $f12, $f12 +/* B21A04 802414C4 44902000 */ mtc1 $s0, $f4 +/* B21A08 802414C8 00000000 */ nop +/* B21A0C 802414CC 46802120 */ cvt.s.w $f4, $f4 +/* B21A10 802414D0 461E2083 */ div.s $f2, $f4, $f30 +/* B21A14 802414D4 46001082 */ mul.s $f2, $f2, $f0 +/* B21A18 802414D8 00000000 */ nop +/* B21A1C 802414DC 3C014170 */ lui $at, 0x4170 +/* B21A20 802414E0 44813000 */ mtc1 $at, $f6 +/* B21A24 802414E4 00000000 */ nop +/* B21A28 802414E8 46062103 */ div.s $f4, $f4, $f6 +/* B21A2C 802414EC 46022580 */ add.s $f22, $f4, $f2 +/* B21A30 802414F0 0C00A874 */ jal cos_rad +/* B21A34 802414F4 4600B306 */ mov.s $f12, $f22 +/* B21A38 802414F8 4495A000 */ mtc1 $s5, $f20 +/* B21A3C 802414FC 00000000 */ nop +/* B21A40 80241500 4680A520 */ cvt.s.w $f20, $f20 +/* B21A44 80241504 4600A002 */ mul.s $f0, $f20, $f0 +/* B21A48 80241508 00000000 */ nop +/* B21A4C 8024150C 4600D680 */ add.s $f26, $f26, $f0 +/* B21A50 80241510 0C00A85B */ jal sin_rad +/* B21A54 80241514 4600B306 */ mov.s $f12, $f22 +/* B21A58 80241518 4600A502 */ mul.s $f20, $f20, $f0 +/* B21A5C 8024151C 00000000 */ nop +/* B21A60 80241520 4600D18D */ trunc.w.s $f6, $f26 +/* B21A64 80241524 44023000 */ mfc1 $v0, $f6 +/* B21A68 80241528 00000000 */ nop +/* B21A6C 8024152C A6620000 */ sh $v0, ($s3) +/* B21A70 80241530 86420002 */ lh $v0, 2($s2) +/* B21A74 80241534 4614C600 */ add.s $f24, $f24, $f20 +/* B21A78 80241538 44820000 */ mtc1 $v0, $f0 +/* B21A7C 8024153C 00000000 */ nop +/* B21A80 80241540 46800020 */ cvt.s.w $f0, $f0 +/* B21A84 80241544 46180000 */ add.s $f0, $f0, $f24 +/* B21A88 80241548 4600018D */ trunc.w.s $f6, $f0 +/* B21A8C 8024154C 44023000 */ mfc1 $v0, $f6 +/* B21A90 80241550 00000000 */ nop +/* B21A94 80241554 A6620002 */ sh $v0, 2($s3) +/* B21A98 80241558 26730010 */ addiu $s3, $s3, 0x10 +.L8024155C: +/* B21A9C 8024155C 26940001 */ addiu $s4, $s4, 1 +/* B21AA0 80241560 0297102A */ slt $v0, $s4, $s7 +/* B21AA4 80241564 1440FFA2 */ bnez $v0, .L802413F0 +/* B21AA8 80241568 26520010 */ addiu $s2, $s2, 0x10 +.L8024156C: +/* B21AAC 8024156C 8FBF0030 */ lw $ra, 0x30($sp) +/* B21AB0 80241570 8FB7002C */ lw $s7, 0x2c($sp) +/* B21AB4 80241574 8FB60028 */ lw $s6, 0x28($sp) +/* B21AB8 80241578 8FB50024 */ lw $s5, 0x24($sp) +/* B21ABC 8024157C 8FB40020 */ lw $s4, 0x20($sp) +/* B21AC0 80241580 8FB3001C */ lw $s3, 0x1c($sp) +/* B21AC4 80241584 8FB20018 */ lw $s2, 0x18($sp) +/* B21AC8 80241588 8FB10014 */ lw $s1, 0x14($sp) +/* B21ACC 8024158C 8FB00010 */ lw $s0, 0x10($sp) +/* B21AD0 80241590 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* B21AD4 80241594 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* B21AD8 80241598 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* B21ADC 8024159C D7B80048 */ ldc1 $f24, 0x48($sp) +/* B21AE0 802415A0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* B21AE4 802415A4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* B21AE8 802415A8 03E00008 */ jr $ra +/* B21AEC 802415AC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802415B0_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802415B0_B20540.s new file mode 100644 index 0000000000..43b0b1a89d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802415B0_B20540.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415B0_B21AF0 +/* B21AF0 802415B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B21AF4 802415B4 24040001 */ addiu $a0, $zero, 1 +/* B21AF8 802415B8 27A50010 */ addiu $a1, $sp, 0x10 +/* B21AFC 802415BC 27A60014 */ addiu $a2, $sp, 0x14 +/* B21B00 802415C0 27A70018 */ addiu $a3, $sp, 0x18 +/* B21B04 802415C4 AFBF0028 */ sw $ra, 0x28($sp) +/* B21B08 802415C8 AFB10024 */ sw $s1, 0x24($sp) +/* B21B0C 802415CC 0C0470AC */ jal func_8011C2B0 +/* B21B10 802415D0 AFB00020 */ sw $s0, 0x20($sp) +/* B21B14 802415D4 3C118024 */ lui $s1, 0x8024 +/* B21B18 802415D8 26315954 */ addiu $s1, $s1, 0x5954 +/* B21B1C 802415DC 8FA40010 */ lw $a0, 0x10($sp) +/* B21B20 802415E0 8FA50014 */ lw $a1, 0x14($sp) +/* B21B24 802415E4 8FA60018 */ lw $a2, 0x18($sp) +/* B21B28 802415E8 0C0904CE */ jal func_80241338 +/* B21B2C 802415EC 0220382D */ daddu $a3, $s1, $zero +/* B21B30 802415F0 3C03800A */ lui $v1, 0x800a +/* B21B34 802415F4 2463A66C */ addiu $v1, $v1, -0x5994 +/* B21B38 802415F8 8C620000 */ lw $v0, ($v1) +/* B21B3C 802415FC 24040001 */ addiu $a0, $zero, 1 +/* B21B40 80241600 0040802D */ daddu $s0, $v0, $zero +/* B21B44 80241604 24420008 */ addiu $v0, $v0, 8 +/* B21B48 80241608 AC620000 */ sw $v0, ($v1) +/* B21B4C 8024160C 3C02DE00 */ lui $v0, 0xde00 +/* B21B50 80241610 0C0470BB */ jal func_8011C2EC +/* B21B54 80241614 AE020000 */ sw $v0, ($s0) +/* B21B58 80241618 8E230000 */ lw $v1, ($s1) +/* B21B5C 8024161C 04600003 */ bltz $v1, .L8024162C +/* B21B60 80241620 AE020004 */ sw $v0, 4($s0) +/* B21B64 80241624 24620004 */ addiu $v0, $v1, 4 +/* B21B68 80241628 AE220000 */ sw $v0, ($s1) +.L8024162C: +/* B21B6C 8024162C 8E220000 */ lw $v0, ($s1) +/* B21B70 80241630 28420168 */ slti $v0, $v0, 0x168 +/* B21B74 80241634 14400002 */ bnez $v0, .L80241640 +/* B21B78 80241638 2402FFFF */ addiu $v0, $zero, -1 +/* B21B7C 8024163C AE220000 */ sw $v0, ($s1) +.L80241640: +/* B21B80 80241640 8FBF0028 */ lw $ra, 0x28($sp) +/* B21B84 80241644 8FB10024 */ lw $s1, 0x24($sp) +/* B21B88 80241648 8FB00020 */ lw $s0, 0x20($sp) +/* B21B8C 8024164C 03E00008 */ jr $ra +/* B21B90 80241650 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80241654_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80241654_B20540.s new file mode 100644 index 0000000000..6f4918340d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80241654_B20540.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241654_B21B94 +/* B21B94 80241654 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B21B98 80241658 24040002 */ addiu $a0, $zero, 2 +/* B21B9C 8024165C 27A50010 */ addiu $a1, $sp, 0x10 +/* B21BA0 80241660 27A60014 */ addiu $a2, $sp, 0x14 +/* B21BA4 80241664 27A70018 */ addiu $a3, $sp, 0x18 +/* B21BA8 80241668 AFBF0028 */ sw $ra, 0x28($sp) +/* B21BAC 8024166C AFB10024 */ sw $s1, 0x24($sp) +/* B21BB0 80241670 0C0470AC */ jal func_8011C2B0 +/* B21BB4 80241674 AFB00020 */ sw $s0, 0x20($sp) +/* B21BB8 80241678 3C118024 */ lui $s1, 0x8024 +/* B21BBC 8024167C 26315958 */ addiu $s1, $s1, 0x5958 +/* B21BC0 80241680 8FA40010 */ lw $a0, 0x10($sp) +/* B21BC4 80241684 8FA50014 */ lw $a1, 0x14($sp) +/* B21BC8 80241688 8FA60018 */ lw $a2, 0x18($sp) +/* B21BCC 8024168C 0C0904CE */ jal func_80241338 +/* B21BD0 80241690 0220382D */ daddu $a3, $s1, $zero +/* B21BD4 80241694 3C03800A */ lui $v1, 0x800a +/* B21BD8 80241698 2463A66C */ addiu $v1, $v1, -0x5994 +/* B21BDC 8024169C 8C620000 */ lw $v0, ($v1) +/* B21BE0 802416A0 24040002 */ addiu $a0, $zero, 2 +/* B21BE4 802416A4 0040802D */ daddu $s0, $v0, $zero +/* B21BE8 802416A8 24420008 */ addiu $v0, $v0, 8 +/* B21BEC 802416AC AC620000 */ sw $v0, ($v1) +/* B21BF0 802416B0 3C02DE00 */ lui $v0, 0xde00 +/* B21BF4 802416B4 0C0470BB */ jal func_8011C2EC +/* B21BF8 802416B8 AE020000 */ sw $v0, ($s0) +/* B21BFC 802416BC 8E230000 */ lw $v1, ($s1) +/* B21C00 802416C0 04600003 */ bltz $v1, .L802416D0 +/* B21C04 802416C4 AE020004 */ sw $v0, 4($s0) +/* B21C08 802416C8 24620004 */ addiu $v0, $v1, 4 +/* B21C0C 802416CC AE220000 */ sw $v0, ($s1) +.L802416D0: +/* B21C10 802416D0 8E220000 */ lw $v0, ($s1) +/* B21C14 802416D4 28420168 */ slti $v0, $v0, 0x168 +/* B21C18 802416D8 14400002 */ bnez $v0, .L802416E4 +/* B21C1C 802416DC 2402FFFF */ addiu $v0, $zero, -1 +/* B21C20 802416E0 AE220000 */ sw $v0, ($s1) +.L802416E4: +/* B21C24 802416E4 8FBF0028 */ lw $ra, 0x28($sp) +/* B21C28 802416E8 8FB10024 */ lw $s1, 0x24($sp) +/* B21C2C 802416EC 8FB00020 */ lw $s0, 0x20($sp) +/* B21C30 802416F0 03E00008 */ jr $ra +/* B21C34 802416F4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802416F8.s b/asm/nonmatchings/world/area_jan/jan_00/func_802416F8.s new file mode 100644 index 0000000000..182f8190b4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802416F8.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8 +/* B21C38 802416F8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B21C3C 802416FC AFB20018 */ sw $s2, 0x18($sp) +/* B21C40 80241700 0080902D */ daddu $s2, $a0, $zero +/* B21C44 80241704 AFBF0028 */ sw $ra, 0x28($sp) +/* B21C48 80241708 AFB50024 */ sw $s5, 0x24($sp) +/* B21C4C 8024170C AFB40020 */ sw $s4, 0x20($sp) +/* B21C50 80241710 AFB3001C */ sw $s3, 0x1c($sp) +/* B21C54 80241714 AFB10014 */ sw $s1, 0x14($sp) +/* B21C58 80241718 AFB00010 */ sw $s0, 0x10($sp) +/* B21C5C 8024171C F7B80040 */ sdc1 $f24, 0x40($sp) +/* B21C60 80241720 F7B60038 */ sdc1 $f22, 0x38($sp) +/* B21C64 80241724 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B21C68 80241728 8E50000C */ lw $s0, 0xc($s2) +/* B21C6C 8024172C 8E140000 */ lw $s4, ($s0) +/* B21C70 80241730 26100004 */ addiu $s0, $s0, 4 +/* B21C74 80241734 0C0B1EAF */ jal get_variable +/* B21C78 80241738 0280282D */ daddu $a1, $s4, $zero +/* B21C7C 8024173C 0040982D */ daddu $s3, $v0, $zero +/* B21C80 80241740 8E150000 */ lw $s5, ($s0) +/* B21C84 80241744 26100004 */ addiu $s0, $s0, 4 +/* B21C88 80241748 8E050000 */ lw $a1, ($s0) +/* B21C8C 8024174C 26100004 */ addiu $s0, $s0, 4 +/* B21C90 80241750 0C0B210B */ jal get_float_variable +/* B21C94 80241754 0240202D */ daddu $a0, $s2, $zero +/* B21C98 80241758 8E050000 */ lw $a1, ($s0) +/* B21C9C 8024175C 26100004 */ addiu $s0, $s0, 4 +/* B21CA0 80241760 0240202D */ daddu $a0, $s2, $zero +/* B21CA4 80241764 0C0B210B */ jal get_float_variable +/* B21CA8 80241768 46000606 */ mov.s $f24, $f0 +/* B21CAC 8024176C 8E050000 */ lw $a1, ($s0) +/* B21CB0 80241770 26100004 */ addiu $s0, $s0, 4 +/* B21CB4 80241774 0240202D */ daddu $a0, $s2, $zero +/* B21CB8 80241778 0C0B1EAF */ jal get_variable +/* B21CBC 8024177C 46000506 */ mov.s $f20, $f0 +/* B21CC0 80241780 8E050000 */ lw $a1, ($s0) +/* B21CC4 80241784 26100004 */ addiu $s0, $s0, 4 +/* B21CC8 80241788 0240202D */ daddu $a0, $s2, $zero +/* B21CCC 8024178C 0C0B1EAF */ jal get_variable +/* B21CD0 80241790 0040882D */ daddu $s1, $v0, $zero +/* B21CD4 80241794 0240202D */ daddu $a0, $s2, $zero +/* B21CD8 80241798 8E050000 */ lw $a1, ($s0) +/* B21CDC 8024179C 0C0B210B */ jal get_float_variable +/* B21CE0 802417A0 0040802D */ daddu $s0, $v0, $zero +/* B21CE4 802417A4 4618A501 */ sub.s $f20, $f20, $f24 +/* B21CE8 802417A8 3C013F00 */ lui $at, 0x3f00 +/* B21CEC 802417AC 44811000 */ mtc1 $at, $f2 +/* B21CF0 802417B0 00000000 */ nop +/* B21CF4 802417B4 4602A502 */ mul.s $f20, $f20, $f2 +/* B21CF8 802417B8 00000000 */ nop +/* B21CFC 802417BC 12000008 */ beqz $s0, .L802417E0 +/* B21D00 802417C0 46000586 */ mov.s $f22, $f0 +/* B21D04 802417C4 0233102A */ slt $v0, $s1, $s3 +/* B21D08 802417C8 10400005 */ beqz $v0, .L802417E0 +/* B21D0C 802417CC 0240202D */ daddu $a0, $s2, $zero +/* B21D10 802417D0 0220982D */ daddu $s3, $s1, $zero +/* B21D14 802417D4 0280282D */ daddu $a1, $s4, $zero +/* B21D18 802417D8 0C0B2026 */ jal set_variable +/* B21D1C 802417DC 0220302D */ daddu $a2, $s1, $zero +.L802417E0: +/* B21D20 802417E0 3C014334 */ lui $at, 0x4334 +/* B21D24 802417E4 44810000 */ mtc1 $at, $f0 +/* B21D28 802417E8 44936000 */ mtc1 $s3, $f12 +/* B21D2C 802417EC 00000000 */ nop +/* B21D30 802417F0 46806320 */ cvt.s.w $f12, $f12 +/* B21D34 802417F4 46006302 */ mul.s $f12, $f12, $f0 +/* B21D38 802417F8 00000000 */ nop +/* B21D3C 802417FC 44910000 */ mtc1 $s1, $f0 +/* B21D40 80241800 00000000 */ nop +/* B21D44 80241804 46800020 */ cvt.s.w $f0, $f0 +/* B21D48 80241808 46006303 */ div.s $f12, $f12, $f0 +/* B21D4C 8024180C 0C00A8D4 */ jal cos_deg +/* B21D50 80241810 46166300 */ add.s $f12, $f12, $f22 +/* B21D54 80241814 4600A002 */ mul.s $f0, $f20, $f0 +/* B21D58 80241818 00000000 */ nop +/* B21D5C 8024181C 4614C080 */ add.s $f2, $f24, $f20 +/* B21D60 80241820 46001081 */ sub.s $f2, $f2, $f0 +/* B21D64 80241824 0240202D */ daddu $a0, $s2, $zero +/* B21D68 80241828 44061000 */ mfc1 $a2, $f2 +/* B21D6C 8024182C 0C0B2190 */ jal set_float_variable +/* B21D70 80241830 02A0282D */ daddu $a1, $s5, $zero +/* B21D74 80241834 8FBF0028 */ lw $ra, 0x28($sp) +/* B21D78 80241838 8FB50024 */ lw $s5, 0x24($sp) +/* B21D7C 8024183C 8FB40020 */ lw $s4, 0x20($sp) +/* B21D80 80241840 8FB3001C */ lw $s3, 0x1c($sp) +/* B21D84 80241844 8FB20018 */ lw $s2, 0x18($sp) +/* B21D88 80241848 8FB10014 */ lw $s1, 0x14($sp) +/* B21D8C 8024184C 8FB00010 */ lw $s0, 0x10($sp) +/* B21D90 80241850 D7B80040 */ ldc1 $f24, 0x40($sp) +/* B21D94 80241854 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B21D98 80241858 D7B40030 */ ldc1 $f20, 0x30($sp) +/* B21D9C 8024185C 24020002 */ addiu $v0, $zero, 2 +/* B21DA0 80241860 03E00008 */ jr $ra +/* B21DA4 80241864 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80241868.s b/asm/nonmatchings/world/area_jan/jan_00/func_80241868.s new file mode 100644 index 0000000000..ea3cce7c53 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80241868.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241868 +/* B21DA8 80241868 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B21DAC 8024186C AFB10014 */ sw $s1, 0x14($sp) +/* B21DB0 80241870 0080882D */ daddu $s1, $a0, $zero +/* B21DB4 80241874 AFBF0018 */ sw $ra, 0x18($sp) +/* B21DB8 80241878 AFB00010 */ sw $s0, 0x10($sp) +/* B21DBC 8024187C F7B80030 */ sdc1 $f24, 0x30($sp) +/* B21DC0 80241880 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B21DC4 80241884 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B21DC8 80241888 0C00EAD2 */ jal get_npc_safe +/* B21DCC 8024188C 0000202D */ daddu $a0, $zero, $zero +/* B21DD0 80241890 0040802D */ daddu $s0, $v0, $zero +/* B21DD4 80241894 C614000C */ lwc1 $f20, 0xc($s0) +/* B21DD8 80241898 3C01432A */ lui $at, 0x432a +/* B21DDC 8024189C 4481C000 */ mtc1 $at, $f24 +/* B21DE0 802418A0 4600A507 */ neg.s $f20, $f20 +/* B21DE4 802418A4 0C00A8BB */ jal sin_deg +/* B21DE8 802418A8 4600A306 */ mov.s $f12, $f20 +/* B21DEC 802418AC 46180002 */ mul.s $f0, $f0, $f24 +/* B21DF0 802418B0 00000000 */ nop +/* B21DF4 802418B4 C6160038 */ lwc1 $f22, 0x38($s0) +/* B21DF8 802418B8 3C0141F0 */ lui $at, 0x41f0 +/* B21DFC 802418BC 44811000 */ mtc1 $at, $f2 +/* B21E00 802418C0 00000000 */ nop +/* B21E04 802418C4 4602B580 */ add.s $f22, $f22, $f2 +/* B21E08 802418C8 4600A306 */ mov.s $f12, $f20 +/* B21E0C 802418CC 0C00A8D4 */ jal cos_deg +/* B21E10 802418D0 4600B580 */ add.s $f22, $f22, $f0 +/* B21E14 802418D4 0220202D */ daddu $a0, $s1, $zero +/* B21E18 802418D8 46180002 */ mul.s $f0, $f0, $f24 +/* B21E1C 802418DC 00000000 */ nop +/* B21E20 802418E0 3C05FE36 */ lui $a1, 0xfe36 +/* B21E24 802418E4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B21E28 802418E8 C6180040 */ lwc1 $f24, 0x40($s0) +/* B21E2C 802418EC C614003C */ lwc1 $f20, 0x3c($s0) +/* B21E30 802418F0 4600C600 */ add.s $f24, $f24, $f0 +/* B21E34 802418F4 3C014248 */ lui $at, 0x4248 +/* B21E38 802418F8 44810000 */ mtc1 $at, $f0 +/* B21E3C 802418FC 4406B000 */ mfc1 $a2, $f22 +/* B21E40 80241900 0C0B2190 */ jal set_float_variable +/* B21E44 80241904 4600A500 */ add.s $f20, $f20, $f0 +/* B21E48 80241908 0220202D */ daddu $a0, $s1, $zero +/* B21E4C 8024190C 3C05FE36 */ lui $a1, 0xfe36 +/* B21E50 80241910 4406A000 */ mfc1 $a2, $f20 +/* B21E54 80241914 0C0B2190 */ jal set_float_variable +/* B21E58 80241918 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B21E5C 8024191C 0220202D */ daddu $a0, $s1, $zero +/* B21E60 80241920 3C05FE36 */ lui $a1, 0xfe36 +/* B21E64 80241924 4406C000 */ mfc1 $a2, $f24 +/* B21E68 80241928 0C0B2190 */ jal set_float_variable +/* B21E6C 8024192C 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B21E70 80241930 8FBF0018 */ lw $ra, 0x18($sp) +/* B21E74 80241934 8FB10014 */ lw $s1, 0x14($sp) +/* B21E78 80241938 8FB00010 */ lw $s0, 0x10($sp) +/* B21E7C 8024193C D7B80030 */ ldc1 $f24, 0x30($sp) +/* B21E80 80241940 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B21E84 80241944 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B21E88 80241948 24020002 */ addiu $v0, $zero, 2 +/* B21E8C 8024194C 03E00008 */ jr $ra +/* B21E90 80241950 27BD0038 */ addiu $sp, $sp, 0x38 +/* B21E94 80241954 00000000 */ nop +/* B21E98 80241958 00000000 */ nop +/* B21E9C 8024195C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_80241960_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_80241960_B20540.s new file mode 100644 index 0000000000..f4c1ddf97c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_80241960_B20540.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241960_B21EA0 +/* B21EA0 80241960 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B21EA4 80241964 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B21EA8 80241968 4485A000 */ mtc1 $a1, $f20 +/* B21EAC 8024196C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B21EB0 80241970 4486B000 */ mtc1 $a2, $f22 +/* B21EB4 80241974 AFB00010 */ sw $s0, 0x10($sp) +/* B21EB8 80241978 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B21EBC 8024197C 4487C000 */ mtc1 $a3, $f24 +/* B21EC0 80241980 AFBF0014 */ sw $ra, 0x14($sp) +/* B21EC4 80241984 0C019D28 */ jal guMtxIdentF +/* B21EC8 80241988 0080802D */ daddu $s0, $a0, $zero +/* B21ECC 8024198C 4616A582 */ mul.s $f22, $f20, $f22 +/* B21ED0 80241990 00000000 */ nop +/* B21ED4 80241994 4618A502 */ mul.s $f20, $f20, $f24 +/* B21ED8 80241998 00000000 */ nop +/* B21EDC 8024199C 3C013F80 */ lui $at, 0x3f80 +/* B21EE0 802419A0 44810000 */ mtc1 $at, $f0 +/* B21EE4 802419A4 00000000 */ nop +/* B21EE8 802419A8 E6000014 */ swc1 $f0, 0x14($s0) +/* B21EEC 802419AC E6160010 */ swc1 $f22, 0x10($s0) +/* B21EF0 802419B0 E6140018 */ swc1 $f20, 0x18($s0) +/* B21EF4 802419B4 8FBF0014 */ lw $ra, 0x14($sp) +/* B21EF8 802419B8 8FB00010 */ lw $s0, 0x10($sp) +/* B21EFC 802419BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B21F00 802419C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B21F04 802419C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B21F08 802419C8 03E00008 */ jr $ra +/* B21F0C 802419CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_00/func_802419D0_B20540.s b/asm/nonmatchings/world/area_jan/jan_00/func_802419D0_B20540.s new file mode 100644 index 0000000000..9c473e0b25 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_00/func_802419D0_B20540.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D0_B21F10 +/* B21F10 802419D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B21F14 802419D4 AFB10054 */ sw $s1, 0x54($sp) +/* B21F18 802419D8 0080882D */ daddu $s1, $a0, $zero +/* B21F1C 802419DC AFBF005C */ sw $ra, 0x5c($sp) +/* B21F20 802419E0 AFB20058 */ sw $s2, 0x58($sp) +/* B21F24 802419E4 AFB00050 */ sw $s0, 0x50($sp) +/* B21F28 802419E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B21F2C 802419EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B21F30 802419F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B21F34 802419F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B21F38 802419F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B21F3C 802419FC 8E30000C */ lw $s0, 0xc($s1) +/* B21F40 80241A00 8E050000 */ lw $a1, ($s0) +/* B21F44 80241A04 0C0B1EAF */ jal get_variable +/* B21F48 80241A08 26100004 */ addiu $s0, $s0, 4 +/* B21F4C 80241A0C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B21F50 80241A10 0040202D */ daddu $a0, $v0, $zero +/* B21F54 80241A14 8E050000 */ lw $a1, ($s0) +/* B21F58 80241A18 26100004 */ addiu $s0, $s0, 4 +/* B21F5C 80241A1C 0220202D */ daddu $a0, $s1, $zero +/* B21F60 80241A20 0C0B210B */ jal get_float_variable +/* B21F64 80241A24 0040902D */ daddu $s2, $v0, $zero +/* B21F68 80241A28 8E050000 */ lw $a1, ($s0) +/* B21F6C 80241A2C 26100004 */ addiu $s0, $s0, 4 +/* B21F70 80241A30 0220202D */ daddu $a0, $s1, $zero +/* B21F74 80241A34 0C0B210B */ jal get_float_variable +/* B21F78 80241A38 46000706 */ mov.s $f28, $f0 +/* B21F7C 80241A3C 8E050000 */ lw $a1, ($s0) +/* B21F80 80241A40 26100004 */ addiu $s0, $s0, 4 +/* B21F84 80241A44 0220202D */ daddu $a0, $s1, $zero +/* B21F88 80241A48 0C0B210B */ jal get_float_variable +/* B21F8C 80241A4C 46000686 */ mov.s $f26, $f0 +/* B21F90 80241A50 0220202D */ daddu $a0, $s1, $zero +/* B21F94 80241A54 8E050000 */ lw $a1, ($s0) +/* B21F98 80241A58 0C0B210B */ jal get_float_variable +/* B21F9C 80241A5C 46000586 */ mov.s $f22, $f0 +/* B21FA0 80241A60 0240202D */ daddu $a0, $s2, $zero +/* B21FA4 80241A64 0C046B4C */ jal get_model_from_list_index +/* B21FA8 80241A68 46000606 */ mov.s $f24, $f0 +/* B21FAC 80241A6C 0040882D */ daddu $s1, $v0, $zero +/* B21FB0 80241A70 96220000 */ lhu $v0, ($s1) +/* B21FB4 80241A74 30420400 */ andi $v0, $v0, 0x400 +/* B21FB8 80241A78 1440001E */ bnez $v0, .L80241AF4 +/* B21FBC 80241A7C 26300058 */ addiu $s0, $s1, 0x58 +/* B21FC0 80241A80 4480A000 */ mtc1 $zero, $f20 +/* B21FC4 80241A84 4406B000 */ mfc1 $a2, $f22 +/* B21FC8 80241A88 4405A000 */ mfc1 $a1, $f20 +/* B21FCC 80241A8C 4407A000 */ mfc1 $a3, $f20 +/* B21FD0 80241A90 0C019E40 */ jal guTranslateF +/* B21FD4 80241A94 0200202D */ daddu $a0, $s0, $zero +/* B21FD8 80241A98 4405E000 */ mfc1 $a1, $f28 +/* B21FDC 80241A9C 4406D000 */ mfc1 $a2, $f26 +/* B21FE0 80241AA0 4407C000 */ mfc1 $a3, $f24 +/* B21FE4 80241AA4 0C090658 */ jal func_80241960 +/* B21FE8 80241AA8 27A40010 */ addiu $a0, $sp, 0x10 +/* B21FEC 80241AAC 27A40010 */ addiu $a0, $sp, 0x10 +/* B21FF0 80241AB0 0200282D */ daddu $a1, $s0, $zero +/* B21FF4 80241AB4 0C019D80 */ jal guMtxCatF +/* B21FF8 80241AB8 0200302D */ daddu $a2, $s0, $zero +/* B21FFC 80241ABC 27A40010 */ addiu $a0, $sp, 0x10 +/* B22000 80241AC0 4600B587 */ neg.s $f22, $f22 +/* B22004 80241AC4 4405A000 */ mfc1 $a1, $f20 +/* B22008 80241AC8 4406B000 */ mfc1 $a2, $f22 +/* B2200C 80241ACC 0C019E40 */ jal guTranslateF +/* B22010 80241AD0 00A0382D */ daddu $a3, $a1, $zero +/* B22014 80241AD4 27A40010 */ addiu $a0, $sp, 0x10 +/* B22018 80241AD8 0200282D */ daddu $a1, $s0, $zero +/* B2201C 80241ADC 0C019D80 */ jal guMtxCatF +/* B22020 80241AE0 00A0302D */ daddu $a2, $a1, $zero +/* B22024 80241AE4 96220000 */ lhu $v0, ($s1) +/* B22028 80241AE8 34421400 */ ori $v0, $v0, 0x1400 +/* B2202C 80241AEC 080906DB */ j .L80241B6C +/* B22030 80241AF0 A6220000 */ sh $v0, ($s1) +.L80241AF4: +/* B22034 80241AF4 4480A000 */ mtc1 $zero, $f20 +/* B22038 80241AF8 4406B000 */ mfc1 $a2, $f22 +/* B2203C 80241AFC 4405A000 */ mfc1 $a1, $f20 +/* B22040 80241B00 4407A000 */ mfc1 $a3, $f20 +/* B22044 80241B04 0C019E40 */ jal guTranslateF +/* B22048 80241B08 27A40010 */ addiu $a0, $sp, 0x10 +/* B2204C 80241B0C 27A40010 */ addiu $a0, $sp, 0x10 +/* B22050 80241B10 26300058 */ addiu $s0, $s1, 0x58 +/* B22054 80241B14 0200282D */ daddu $a1, $s0, $zero +/* B22058 80241B18 0C019D80 */ jal guMtxCatF +/* B2205C 80241B1C 0200302D */ daddu $a2, $s0, $zero +/* B22060 80241B20 4405E000 */ mfc1 $a1, $f28 +/* B22064 80241B24 4406D000 */ mfc1 $a2, $f26 +/* B22068 80241B28 4407C000 */ mfc1 $a3, $f24 +/* B2206C 80241B2C 0C090658 */ jal func_80241960 +/* B22070 80241B30 27A40010 */ addiu $a0, $sp, 0x10 +/* B22074 80241B34 27A40010 */ addiu $a0, $sp, 0x10 +/* B22078 80241B38 0200282D */ daddu $a1, $s0, $zero +/* B2207C 80241B3C 0C019D80 */ jal guMtxCatF +/* B22080 80241B40 0200302D */ daddu $a2, $s0, $zero +/* B22084 80241B44 27A40010 */ addiu $a0, $sp, 0x10 +/* B22088 80241B48 4600B587 */ neg.s $f22, $f22 +/* B2208C 80241B4C 4405A000 */ mfc1 $a1, $f20 +/* B22090 80241B50 4406B000 */ mfc1 $a2, $f22 +/* B22094 80241B54 0C019E40 */ jal guTranslateF +/* B22098 80241B58 00A0382D */ daddu $a3, $a1, $zero +/* B2209C 80241B5C 27A40010 */ addiu $a0, $sp, 0x10 +/* B220A0 80241B60 0200282D */ daddu $a1, $s0, $zero +/* B220A4 80241B64 0C019D80 */ jal guMtxCatF +/* B220A8 80241B68 00A0302D */ daddu $a2, $a1, $zero +.L80241B6C: +/* B220AC 80241B6C 8FBF005C */ lw $ra, 0x5c($sp) +/* B220B0 80241B70 8FB20058 */ lw $s2, 0x58($sp) +/* B220B4 80241B74 8FB10054 */ lw $s1, 0x54($sp) +/* B220B8 80241B78 8FB00050 */ lw $s0, 0x50($sp) +/* B220BC 80241B7C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B220C0 80241B80 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B220C4 80241B84 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B220C8 80241B88 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B220CC 80241B8C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B220D0 80241B90 24020002 */ addiu $v0, $zero, 2 +/* B220D4 80241B94 03E00008 */ jr $ra +/* B220D8 80241B98 27BD0088 */ addiu $sp, $sp, 0x88 +/* B220DC 80241B9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240000_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240000_B28030.s new file mode 100644 index 0000000000..b624ae414a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240000_B28030.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B28030 +/* B28030 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B28034 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B28038 80240008 0080802D */ daddu $s0, $a0, $zero +/* B2803C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B28040 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B28044 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B28048 80240018 00621821 */ addu $v1, $v1, $v0 +/* B2804C 8024001C 04610004 */ bgez $v1, .L80240030 +/* B28050 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B28054 80240024 3C020002 */ lui $v0, 2 +/* B28058 80240028 08090010 */ j .L80240040 +/* B2805C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B28060 80240030 3C040002 */ lui $a0, 2 +/* B28064 80240034 0083102A */ slt $v0, $a0, $v1 +/* B28068 80240038 10400002 */ beqz $v0, .L80240044 +/* B2806C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B28070 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B28074 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B28078 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B2807C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B28080 80240050 04610004 */ bgez $v1, .L80240064 +/* B28084 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B28088 80240058 3C020002 */ lui $v0, 2 +/* B2808C 8024005C 0809001D */ j .L80240074 +/* B28090 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B28094 80240064 3C040002 */ lui $a0, 2 +/* B28098 80240068 0083102A */ slt $v0, $a0, $v1 +/* B2809C 8024006C 10400002 */ beqz $v0, .L80240078 +/* B280A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B280A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B280A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B280AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B280B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* B280B4 80240084 04610004 */ bgez $v1, .L80240098 +/* B280B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B280BC 8024008C 3C020002 */ lui $v0, 2 +/* B280C0 80240090 0809002A */ j .L802400A8 +/* B280C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B280C8 80240098 3C040002 */ lui $a0, 2 +/* B280CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B280D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* B280D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B280D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B280DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B280E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B280E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B280E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* B280EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B280F0 802400C0 3C020002 */ lui $v0, 2 +/* B280F4 802400C4 08090037 */ j .L802400DC +/* B280F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B280FC 802400CC 3C040002 */ lui $a0, 2 +/* B28100 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B28104 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B28108 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B2810C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B28110 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B28114 802400E4 0C046F07 */ jal set_main_pan_u +/* B28118 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B2811C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B28120 802400F0 0C046F0D */ jal set_main_pan_v +/* B28124 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B28128 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B2812C 802400FC 0C046F13 */ jal set_aux_pan_u +/* B28130 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B28134 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B28138 80240108 0C046F19 */ jal set_aux_pan_v +/* B2813C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B28140 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B28144 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B28148 80240118 0000102D */ daddu $v0, $zero, $zero +/* B2814C 8024011C 03E00008 */ jr $ra +/* B28150 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240124_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240124_B28030.s new file mode 100644 index 0000000000..df7324b32a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240124_B28030.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B28154 +/* B28154 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B28158 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B2815C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B28160 80240130 10A00005 */ beqz $a1, .L80240148 +/* B28164 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B28168 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B2816C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B28170 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B28174 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B28178 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B2817C 8024014C 1440000E */ bnez $v0, .L80240188 +/* B28180 80240150 00000000 */ nop +/* B28184 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B28188 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B2818C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B28190 80240160 04610004 */ bgez $v1, .L80240174 +/* B28194 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B28198 80240168 3C020002 */ lui $v0, 2 +/* B2819C 8024016C 08090061 */ j .L80240184 +/* B281A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B281A4 80240174 3C040002 */ lui $a0, 2 +/* B281A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* B281AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* B281B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B281B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B281B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B281BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B281C0 80240190 00000000 */ nop +/* B281C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B281C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B281CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B281D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B281D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B281D8 802401A8 3C020002 */ lui $v0, 2 +/* B281DC 802401AC 08090071 */ j .L802401C4 +/* B281E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B281E4 802401B4 3C040002 */ lui $a0, 2 +/* B281E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B281EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B281F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B281F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B281F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B281FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* B28200 802401D0 00000000 */ nop +/* B28204 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B28208 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B2820C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B28210 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B28214 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B28218 802401E8 3C020002 */ lui $v0, 2 +/* B2821C 802401EC 08090081 */ j .L80240204 +/* B28220 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B28224 802401F4 3C040002 */ lui $a0, 2 +/* B28228 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B2822C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B28230 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B28234 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B28238 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B2823C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B28240 80240210 00000000 */ nop +/* B28244 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B28248 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B2824C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B28250 80240220 04610004 */ bgez $v1, .L80240234 +/* B28254 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B28258 80240228 3C020002 */ lui $v0, 2 +/* B2825C 8024022C 08090091 */ j .L80240244 +/* B28260 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B28264 80240234 3C040002 */ lui $a0, 2 +/* B28268 80240238 0083102A */ slt $v0, $a0, $v1 +/* B2826C 8024023C 10400002 */ beqz $v0, .L80240248 +/* B28270 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B28274 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B28278 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B2827C 8024024C 0C046F07 */ jal set_main_pan_u +/* B28280 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B28284 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B28288 80240258 0C046F0D */ jal set_main_pan_v +/* B2828C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B28290 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B28294 80240264 0C046F13 */ jal set_aux_pan_u +/* B28298 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B2829C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B282A0 80240270 0C046F19 */ jal set_aux_pan_v +/* B282A4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B282A8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B282AC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B282B0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B282B4 80240284 24420001 */ addiu $v0, $v0, 1 +/* B282B8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B282BC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B282C0 80240290 24630001 */ addiu $v1, $v1, 1 +/* B282C4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B282C8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B282CC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B282D0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B282D4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B282D8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B282DC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B282E0 802402B0 14600002 */ bnez $v1, .L802402BC +/* B282E4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B282E8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B282EC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B282F0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B282F4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B282F8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B282FC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B28300 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B28304 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B28308 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B2830C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B28310 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B28314 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B28318 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B2831C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B28320 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B28324 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B28328 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B2832C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B28330 80240300 0000102D */ daddu $v0, $zero, $zero +/* B28334 80240304 03E00008 */ jr $ra +/* B28338 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_8024030C_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_8024030C_B28030.s new file mode 100644 index 0000000000..7ece28ff91 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_8024030C_B28030.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_B2833C +/* B2833C 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B28340 80240310 0000202D */ daddu $a0, $zero, $zero +/* B28344 80240314 0080282D */ daddu $a1, $a0, $zero +/* B28348 80240318 0080302D */ daddu $a2, $a0, $zero +/* B2834C 8024031C 0080382D */ daddu $a3, $a0, $zero +/* B28350 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* B28354 80240324 AFA00010 */ sw $zero, 0x10($sp) +/* B28358 80240328 0C01CA54 */ jal func_80072950 +/* B2835C 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* B28360 80240330 8FBF0018 */ lw $ra, 0x18($sp) +/* B28364 80240334 24020002 */ addiu $v0, $zero, 2 +/* B28368 80240338 03E00008 */ jr $ra +/* B2836C 8024033C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240340_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240340_B28030.s new file mode 100644 index 0000000000..91f5114d4a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240340_B28030.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_B28370 +/* B28370 80240340 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B28374 80240344 AFB00030 */ sw $s0, 0x30($sp) +/* B28378 80240348 0080802D */ daddu $s0, $a0, $zero +/* B2837C 8024034C AFBF0040 */ sw $ra, 0x40($sp) +/* B28380 80240350 AFB3003C */ sw $s3, 0x3c($sp) +/* B28384 80240354 AFB20038 */ sw $s2, 0x38($sp) +/* B28388 80240358 AFB10034 */ sw $s1, 0x34($sp) +/* B2838C 8024035C F7B60050 */ sdc1 $f22, 0x50($sp) +/* B28390 80240360 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B28394 80240364 8E130148 */ lw $s3, 0x148($s0) +/* B28398 80240368 00A0882D */ daddu $s1, $a1, $zero +/* B2839C 8024036C 86640008 */ lh $a0, 8($s3) +/* B283A0 80240370 0C00EABB */ jal get_npc_unsafe +/* B283A4 80240374 00C0902D */ daddu $s2, $a2, $zero +/* B283A8 80240378 0200202D */ daddu $a0, $s0, $zero +/* B283AC 8024037C 0220282D */ daddu $a1, $s1, $zero +/* B283B0 80240380 0240302D */ daddu $a2, $s2, $zero +/* B283B4 80240384 0C012568 */ jal func_800495A0 +/* B283B8 80240388 0040802D */ daddu $s0, $v0, $zero +/* B283BC 8024038C 8E020000 */ lw $v0, ($s0) +/* B283C0 80240390 2404002D */ addiu $a0, $zero, 0x2d +/* B283C4 80240394 34420800 */ ori $v0, $v0, 0x800 +/* B283C8 80240398 0C00A67F */ jal rand_int +/* B283CC 8024039C AE020000 */ sw $v0, ($s0) +/* B283D0 802403A0 0200202D */ daddu $a0, $s0, $zero +/* B283D4 802403A4 3C05B000 */ lui $a1, 0xb000 +/* B283D8 802403A8 34A50017 */ ori $a1, $a1, 0x17 +/* B283DC 802403AC 44820000 */ mtc1 $v0, $f0 +/* B283E0 802403B0 00000000 */ nop +/* B283E4 802403B4 46800021 */ cvt.d.w $f0, $f0 +/* B283E8 802403B8 3C014024 */ lui $at, 0x4024 +/* B283EC 802403BC 44811800 */ mtc1 $at, $f3 +/* B283F0 802403C0 44801000 */ mtc1 $zero, $f2 +/* B283F4 802403C4 3C014020 */ lui $at, 0x4020 +/* B283F8 802403C8 44812800 */ mtc1 $at, $f5 +/* B283FC 802403CC 44802000 */ mtc1 $zero, $f4 +/* B28400 802403D0 46220003 */ div.d $f0, $f0, $f2 +/* B28404 802403D4 46240000 */ add.d $f0, $f0, $f4 +/* B28408 802403D8 3C013FC0 */ lui $at, 0x3fc0 +/* B2840C 802403DC 44811000 */ mtc1 $at, $f2 +/* B28410 802403E0 0000302D */ daddu $a2, $zero, $zero +/* B28414 802403E4 E6020014 */ swc1 $f2, 0x14($s0) +/* B28418 802403E8 46200020 */ cvt.s.d $f0, $f0 +/* B2841C 802403EC 0C012530 */ jal func_800494C0 +/* B28420 802403F0 E600001C */ swc1 $f0, 0x1c($s0) +/* B28424 802403F4 8E6300D0 */ lw $v1, 0xd0($s3) +/* B28428 802403F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* B2842C 802403FC C4620000 */ lwc1 $f2, ($v1) +/* B28430 80240400 468010A0 */ cvt.s.w $f2, $f2 +/* B28434 80240404 C4640008 */ lwc1 $f4, 8($v1) +/* B28438 80240408 46802120 */ cvt.s.w $f4, $f4 +/* B2843C 8024040C E7A00010 */ swc1 $f0, 0x10($sp) +/* B28440 80240410 8E6200D0 */ lw $v0, 0xd0($s3) +/* B28444 80240414 44051000 */ mfc1 $a1, $f2 +/* B28448 80240418 C440000C */ lwc1 $f0, 0xc($v0) +/* B2844C 8024041C 46800020 */ cvt.s.w $f0, $f0 +/* B28450 80240420 E7A00014 */ swc1 $f0, 0x14($sp) +/* B28454 80240424 8E6200D0 */ lw $v0, 0xd0($s3) +/* B28458 80240428 44062000 */ mfc1 $a2, $f4 +/* B2845C 8024042C C4400010 */ lwc1 $f0, 0x10($v0) +/* B28460 80240430 46800020 */ cvt.s.w $f0, $f0 +/* B28464 80240434 E7A00018 */ swc1 $f0, 0x18($sp) +/* B28468 80240438 8C640018 */ lw $a0, 0x18($v1) +/* B2846C 8024043C 0C0123F5 */ jal is_point_within_region +/* B28470 80240440 8E070038 */ lw $a3, 0x38($s0) +/* B28474 80240444 10400035 */ beqz $v0, .L8024051C +/* B28478 80240448 00000000 */ nop +/* B2847C 8024044C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B28480 80240450 3C0141C8 */ lui $at, 0x41c8 +/* B28484 80240454 4481B000 */ mtc1 $at, $f22 +/* B28488 80240458 8E6200D0 */ lw $v0, 0xd0($s3) +/* B2848C 8024045C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B28490 80240460 C4480000 */ lwc1 $f8, ($v0) +/* B28494 80240464 46804220 */ cvt.s.w $f8, $f8 +/* B28498 80240468 44064000 */ mfc1 $a2, $f8 +/* B2849C 8024046C C4480008 */ lwc1 $f8, 8($v0) +/* B284A0 80240470 46804220 */ cvt.s.w $f8, $f8 +/* B284A4 80240474 44074000 */ mfc1 $a3, $f8 +/* B284A8 80240478 3C01403E */ lui $at, 0x403e +/* B284AC 8024047C 4481A800 */ mtc1 $at, $f21 +/* B284B0 80240480 4480A000 */ mtc1 $zero, $f20 +/* B284B4 80240484 0C00A720 */ jal atan2 +/* B284B8 80240488 0000882D */ daddu $s1, $zero, $zero +/* B284BC 8024048C C6020038 */ lwc1 $f2, 0x38($s0) +/* B284C0 80240490 C604003C */ lwc1 $f4, 0x3c($s0) +/* B284C4 80240494 C6060040 */ lwc1 $f6, 0x40($s0) +/* B284C8 80240498 E600000C */ swc1 $f0, 0xc($s0) +/* B284CC 8024049C E7A20020 */ swc1 $f2, 0x20($sp) +/* B284D0 802404A0 E7A40024 */ swc1 $f4, 0x24($sp) +/* B284D4 802404A4 E7A60028 */ swc1 $f6, 0x28($sp) +.L802404A8: +/* B284D8 802404A8 E7B60010 */ swc1 $f22, 0x10($sp) +/* B284DC 802404AC C600000C */ lwc1 $f0, 0xc($s0) +/* B284E0 802404B0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B284E4 802404B4 860200A8 */ lh $v0, 0xa8($s0) +/* B284E8 802404B8 27A50020 */ addiu $a1, $sp, 0x20 +/* B284EC 802404BC 44820000 */ mtc1 $v0, $f0 +/* B284F0 802404C0 00000000 */ nop +/* B284F4 802404C4 46800020 */ cvt.s.w $f0, $f0 +/* B284F8 802404C8 E7A00018 */ swc1 $f0, 0x18($sp) +/* B284FC 802404CC 860200A6 */ lh $v0, 0xa6($s0) +/* B28500 802404D0 27A60024 */ addiu $a2, $sp, 0x24 +/* B28504 802404D4 44820000 */ mtc1 $v0, $f0 +/* B28508 802404D8 00000000 */ nop +/* B2850C 802404DC 46800020 */ cvt.s.w $f0, $f0 +/* B28510 802404E0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B28514 802404E4 8E040080 */ lw $a0, 0x80($s0) +/* B28518 802404E8 0C037711 */ jal func_800DDC44 +/* B2851C 802404EC 27A70028 */ addiu $a3, $sp, 0x28 +/* B28520 802404F0 10400016 */ beqz $v0, .L8024054C +/* B28524 802404F4 26310001 */ addiu $s1, $s1, 1 +/* B28528 802404F8 C600000C */ lwc1 $f0, 0xc($s0) +/* B2852C 802404FC 46000021 */ cvt.d.s $f0, $f0 +/* B28530 80240500 46340000 */ add.d $f0, $f0, $f20 +/* B28534 80240504 2A220006 */ slti $v0, $s1, 6 +/* B28538 80240508 46200020 */ cvt.s.d $f0, $f0 +/* B2853C 8024050C 1440FFE6 */ bnez $v0, .L802404A8 +/* B28540 80240510 E600000C */ swc1 $f0, 0xc($s0) +/* B28544 80240514 08090153 */ j .L8024054C +/* B28548 80240518 00000000 */ nop +.L8024051C: +/* B2854C 8024051C 0C00A67F */ jal rand_int +/* B28550 80240520 2404003C */ addiu $a0, $zero, 0x3c +/* B28554 80240524 C60C000C */ lwc1 $f12, 0xc($s0) +/* B28558 80240528 44820000 */ mtc1 $v0, $f0 +/* B2855C 8024052C 00000000 */ nop +/* B28560 80240530 46800020 */ cvt.s.w $f0, $f0 +/* B28564 80240534 46006300 */ add.s $f12, $f12, $f0 +/* B28568 80240538 3C0141F0 */ lui $at, 0x41f0 +/* B2856C 8024053C 44810000 */ mtc1 $at, $f0 +/* B28570 80240540 0C00A6C9 */ jal clamp_angle +/* B28574 80240544 46006301 */ sub.s $f12, $f12, $f0 +/* B28578 80240548 E600000C */ swc1 $f0, 0xc($s0) +.L8024054C: +/* B2857C 8024054C 8FBF0040 */ lw $ra, 0x40($sp) +/* B28580 80240550 8FB3003C */ lw $s3, 0x3c($sp) +/* B28584 80240554 8FB20038 */ lw $s2, 0x38($sp) +/* B28588 80240558 8FB10034 */ lw $s1, 0x34($sp) +/* B2858C 8024055C 8FB00030 */ lw $s0, 0x30($sp) +/* B28590 80240560 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B28594 80240564 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B28598 80240568 03E00008 */ jr $ra +/* B2859C 8024056C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240570_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240570_B28030.s new file mode 100644 index 0000000000..c78fae13e6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240570_B28030.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240570_B285A0 +/* B285A0 80240570 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B285A4 80240574 AFB3004C */ sw $s3, 0x4c($sp) +/* B285A8 80240578 0080982D */ daddu $s3, $a0, $zero +/* B285AC 8024057C AFBF0054 */ sw $ra, 0x54($sp) +/* B285B0 80240580 AFB40050 */ sw $s4, 0x50($sp) +/* B285B4 80240584 AFB20048 */ sw $s2, 0x48($sp) +/* B285B8 80240588 AFB10044 */ sw $s1, 0x44($sp) +/* B285BC 8024058C AFB00040 */ sw $s0, 0x40($sp) +/* B285C0 80240590 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B285C4 80240594 8E710148 */ lw $s1, 0x148($s3) +/* B285C8 80240598 00A0A02D */ daddu $s4, $a1, $zero +/* B285CC 8024059C 86240008 */ lh $a0, 8($s1) +/* B285D0 802405A0 0C00EABB */ jal get_npc_unsafe +/* B285D4 802405A4 00C0902D */ daddu $s2, $a2, $zero +/* B285D8 802405A8 8E830014 */ lw $v1, 0x14($s4) +/* B285DC 802405AC 04600034 */ bltz $v1, .L80240680 +/* B285E0 802405B0 0040802D */ daddu $s0, $v0, $zero +/* B285E4 802405B4 8E620074 */ lw $v0, 0x74($s3) +/* B285E8 802405B8 1C400030 */ bgtz $v0, .L8024067C +/* B285EC 802405BC 2442FFFF */ addiu $v0, $v0, -1 +/* B285F0 802405C0 0240202D */ daddu $a0, $s2, $zero +/* B285F4 802405C4 AE630074 */ sw $v1, 0x74($s3) +/* B285F8 802405C8 AFA00010 */ sw $zero, 0x10($sp) +/* B285FC 802405CC 8E86000C */ lw $a2, 0xc($s4) +/* B28600 802405D0 8E870010 */ lw $a3, 0x10($s4) +/* B28604 802405D4 0C01242D */ jal func_800490B4 +/* B28608 802405D8 0220282D */ daddu $a1, $s1, $zero +/* B2860C 802405DC 10400025 */ beqz $v0, .L80240674 +/* B28610 802405E0 0000202D */ daddu $a0, $zero, $zero +/* B28614 802405E4 0200282D */ daddu $a1, $s0, $zero +/* B28618 802405E8 0000302D */ daddu $a2, $zero, $zero +/* B2861C 802405EC 860300A8 */ lh $v1, 0xa8($s0) +/* B28620 802405F0 3C013F80 */ lui $at, 0x3f80 +/* B28624 802405F4 44810000 */ mtc1 $at, $f0 +/* B28628 802405F8 3C014000 */ lui $at, 0x4000 +/* B2862C 802405FC 44811000 */ mtc1 $at, $f2 +/* B28630 80240600 3C01C1A0 */ lui $at, 0xc1a0 +/* B28634 80240604 44812000 */ mtc1 $at, $f4 +/* B28638 80240608 2402000F */ addiu $v0, $zero, 0xf +/* B2863C 8024060C AFA2001C */ sw $v0, 0x1c($sp) +/* B28640 80240610 44835000 */ mtc1 $v1, $f10 +/* B28644 80240614 00000000 */ nop +/* B28648 80240618 468052A0 */ cvt.s.w $f10, $f10 +/* B2864C 8024061C 44075000 */ mfc1 $a3, $f10 +/* B28650 80240620 27A20028 */ addiu $v0, $sp, 0x28 +/* B28654 80240624 AFA20020 */ sw $v0, 0x20($sp) +/* B28658 80240628 E7A00010 */ swc1 $f0, 0x10($sp) +/* B2865C 8024062C E7A20014 */ swc1 $f2, 0x14($sp) +/* B28660 80240630 0C01BFA4 */ jal fx_emote +/* B28664 80240634 E7A40018 */ swc1 $f4, 0x18($sp) +/* B28668 80240638 0200202D */ daddu $a0, $s0, $zero +/* B2866C 8024063C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B28670 80240640 0C012530 */ jal func_800494C0 +/* B28674 80240644 3C060020 */ lui $a2, 0x20 +/* B28678 80240648 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B2867C 8024064C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B28680 80240650 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B28684 80240654 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B28688 80240658 8C460028 */ lw $a2, 0x28($v0) +/* B2868C 8024065C 0C00A720 */ jal atan2 +/* B28690 80240660 8C470030 */ lw $a3, 0x30($v0) +/* B28694 80240664 2402000C */ addiu $v0, $zero, 0xc +/* B28698 80240668 E600000C */ swc1 $f0, 0xc($s0) +/* B2869C 8024066C 08090221 */ j .L80240884 +/* B286A0 80240670 AE620070 */ sw $v0, 0x70($s3) +.L80240674: +/* B286A4 80240674 8E620074 */ lw $v0, 0x74($s3) +/* B286A8 80240678 2442FFFF */ addiu $v0, $v0, -1 +.L8024067C: +/* B286AC 8024067C AE620074 */ sw $v0, 0x74($s3) +.L80240680: +/* B286B0 80240680 C6000018 */ lwc1 $f0, 0x18($s0) +/* B286B4 80240684 44801000 */ mtc1 $zero, $f2 +/* B286B8 80240688 44801800 */ mtc1 $zero, $f3 +/* B286BC 8024068C 46000021 */ cvt.d.s $f0, $f0 +/* B286C0 80240690 4620103C */ c.lt.d $f2, $f0 +/* B286C4 80240694 00000000 */ nop +/* B286C8 80240698 45000025 */ bc1f .L80240730 +/* B286CC 8024069C 27A5002C */ addiu $a1, $sp, 0x2c +/* B286D0 802406A0 C6000038 */ lwc1 $f0, 0x38($s0) +/* B286D4 802406A4 860200A6 */ lh $v0, 0xa6($s0) +/* B286D8 802406A8 3C018024 */ lui $at, 0x8024 +/* B286DC 802406AC D42243F0 */ ldc1 $f2, 0x43f0($at) +/* B286E0 802406B0 27A60030 */ addiu $a2, $sp, 0x30 +/* B286E4 802406B4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B286E8 802406B8 44820000 */ mtc1 $v0, $f0 +/* B286EC 802406BC 00000000 */ nop +/* B286F0 802406C0 46800020 */ cvt.s.w $f0, $f0 +/* B286F4 802406C4 46000021 */ cvt.d.s $f0, $f0 +/* B286F8 802406C8 C604003C */ lwc1 $f4, 0x3c($s0) +/* B286FC 802406CC C6060040 */ lwc1 $f6, 0x40($s0) +/* B28700 802406D0 C6080018 */ lwc1 $f8, 0x18($s0) +/* B28704 802406D4 860200A8 */ lh $v0, 0xa8($s0) +/* B28708 802406D8 46220002 */ mul.d $f0, $f0, $f2 +/* B2870C 802406DC 00000000 */ nop +/* B28710 802406E0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B28714 802406E4 E7A60034 */ swc1 $f6, 0x34($sp) +/* B28718 802406E8 E7A80010 */ swc1 $f8, 0x10($sp) +/* B2871C 802406EC C604000C */ lwc1 $f4, 0xc($s0) +/* B28720 802406F0 44821000 */ mtc1 $v0, $f2 +/* B28724 802406F4 00000000 */ nop +/* B28728 802406F8 468010A0 */ cvt.s.w $f2, $f2 +/* B2872C 802406FC E7A20018 */ swc1 $f2, 0x18($sp) +/* B28730 80240700 E7A40014 */ swc1 $f4, 0x14($sp) +/* B28734 80240704 46200020 */ cvt.s.d $f0, $f0 +/* B28738 80240708 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B2873C 8024070C 8E040080 */ lw $a0, 0x80($s0) +/* B28740 80240710 0C037711 */ jal func_800DDC44 +/* B28744 80240714 27A70034 */ addiu $a3, $sp, 0x34 +/* B28748 80240718 54400005 */ bnel $v0, $zero, .L80240730 +/* B2874C 8024071C AE000018 */ sw $zero, 0x18($s0) +/* B28750 80240720 8E050018 */ lw $a1, 0x18($s0) +/* B28754 80240724 8E06000C */ lw $a2, 0xc($s0) +/* B28758 80240728 0C00EA95 */ jal npc_move_heading +/* B2875C 8024072C 0200202D */ daddu $a0, $s0, $zero +.L80240730: +/* B28760 80240730 C600001C */ lwc1 $f0, 0x1c($s0) +/* B28764 80240734 44801000 */ mtc1 $zero, $f2 +/* B28768 80240738 44801800 */ mtc1 $zero, $f3 +/* B2876C 8024073C 46000021 */ cvt.d.s $f0, $f0 +/* B28770 80240740 4622003C */ c.lt.d $f0, $f2 +/* B28774 80240744 00000000 */ nop +/* B28778 80240748 45000047 */ bc1f .L80240868 +/* B2877C 8024074C 27A5002C */ addiu $a1, $sp, 0x2c +/* B28780 80240750 27A60030 */ addiu $a2, $sp, 0x30 +/* B28784 80240754 27A20038 */ addiu $v0, $sp, 0x38 +/* B28788 80240758 C602003C */ lwc1 $f2, 0x3c($s0) +/* B2878C 8024075C C6060038 */ lwc1 $f6, 0x38($s0) +/* B28790 80240760 3C01402A */ lui $at, 0x402a +/* B28794 80240764 4481A800 */ mtc1 $at, $f21 +/* B28798 80240768 4480A000 */ mtc1 $zero, $f20 +/* B2879C 8024076C 460010A1 */ cvt.d.s $f2, $f2 +/* B287A0 80240770 46341080 */ add.d $f2, $f2, $f20 +/* B287A4 80240774 C600001C */ lwc1 $f0, 0x1c($s0) +/* B287A8 80240778 C6040040 */ lwc1 $f4, 0x40($s0) +/* B287AC 8024077C 46000005 */ abs.s $f0, $f0 +/* B287B0 80240780 E7A40034 */ swc1 $f4, 0x34($sp) +/* B287B4 80240784 3C014030 */ lui $at, 0x4030 +/* B287B8 80240788 44812800 */ mtc1 $at, $f5 +/* B287BC 8024078C 44802000 */ mtc1 $zero, $f4 +/* B287C0 80240790 46000021 */ cvt.d.s $f0, $f0 +/* B287C4 80240794 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B287C8 80240798 46240000 */ add.d $f0, $f0, $f4 +/* B287CC 8024079C 462010A0 */ cvt.s.d $f2, $f2 +/* B287D0 802407A0 E7A20030 */ swc1 $f2, 0x30($sp) +/* B287D4 802407A4 46200020 */ cvt.s.d $f0, $f0 +/* B287D8 802407A8 E7A00038 */ swc1 $f0, 0x38($sp) +/* B287DC 802407AC AFA20010 */ sw $v0, 0x10($sp) +/* B287E0 802407B0 8E040080 */ lw $a0, 0x80($s0) +/* B287E4 802407B4 0C0372DF */ jal func_800DCB7C +/* B287E8 802407B8 27A70034 */ addiu $a3, $sp, 0x34 +/* B287EC 802407BC 1040002A */ beqz $v0, .L80240868 +/* B287F0 802407C0 00000000 */ nop +/* B287F4 802407C4 C600001C */ lwc1 $f0, 0x1c($s0) +/* B287F8 802407C8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B287FC 802407CC 46000005 */ abs.s $f0, $f0 +/* B28800 802407D0 46000021 */ cvt.d.s $f0, $f0 +/* B28804 802407D4 46340000 */ add.d $f0, $f0, $f20 +/* B28808 802407D8 460010A1 */ cvt.d.s $f2, $f2 +/* B2880C 802407DC 4620103E */ c.le.d $f2, $f0 +/* B28810 802407E0 00000000 */ nop +/* B28814 802407E4 45000020 */ bc1f .L80240868 +/* B28818 802407E8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B2881C 802407EC C7A00030 */ lwc1 $f0, 0x30($sp) +/* B28820 802407F0 8E020000 */ lw $v0, ($s0) +/* B28824 802407F4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B28828 802407F8 AE00001C */ sw $zero, 0x1c($s0) +/* B2882C 802407FC 00431024 */ and $v0, $v0, $v1 +/* B28830 80240800 AE020000 */ sw $v0, ($s0) +/* B28834 80240804 24020002 */ addiu $v0, $zero, 2 +/* B28838 80240808 E600003C */ swc1 $f0, 0x3c($s0) +/* B2883C 8024080C 0C00A67F */ jal rand_int +/* B28840 80240810 AE620070 */ sw $v0, 0x70($s3) +/* B28844 80240814 3C035555 */ lui $v1, 0x5555 +/* B28848 80240818 34635556 */ ori $v1, $v1, 0x5556 +/* B2884C 8024081C 00430018 */ mult $v0, $v1 +/* B28850 80240820 000227C3 */ sra $a0, $v0, 0x1f +/* B28854 80240824 00004010 */ mfhi $t0 +/* B28858 80240828 01042023 */ subu $a0, $t0, $a0 +/* B2885C 8024082C 00041840 */ sll $v1, $a0, 1 +/* B28860 80240830 00641821 */ addu $v1, $v1, $a0 +/* B28864 80240834 00431023 */ subu $v0, $v0, $v1 +/* B28868 80240838 24430002 */ addiu $v1, $v0, 2 +/* B2886C 8024083C AE630074 */ sw $v1, 0x74($s3) +/* B28870 80240840 8E82002C */ lw $v0, 0x2c($s4) +/* B28874 80240844 5840000F */ blezl $v0, .L80240884 +/* B28878 80240848 AE600070 */ sw $zero, 0x70($s3) +/* B2887C 8024084C 8E820004 */ lw $v0, 4($s4) +/* B28880 80240850 5840000C */ blezl $v0, .L80240884 +/* B28884 80240854 AE600070 */ sw $zero, 0x70($s3) +/* B28888 80240858 1460000A */ bnez $v1, .L80240884 +/* B2888C 8024085C 00000000 */ nop +/* B28890 80240860 08090221 */ j .L80240884 +/* B28894 80240864 AE600070 */ sw $zero, 0x70($s3) +.L80240868: +/* B28898 80240868 C604003C */ lwc1 $f4, 0x3c($s0) +/* B2889C 8024086C C600001C */ lwc1 $f0, 0x1c($s0) +/* B288A0 80240870 46002100 */ add.s $f4, $f4, $f0 +/* B288A4 80240874 C6020014 */ lwc1 $f2, 0x14($s0) +/* B288A8 80240878 46020001 */ sub.s $f0, $f0, $f2 +/* B288AC 8024087C E604003C */ swc1 $f4, 0x3c($s0) +/* B288B0 80240880 E600001C */ swc1 $f0, 0x1c($s0) +.L80240884: +/* B288B4 80240884 8FBF0054 */ lw $ra, 0x54($sp) +/* B288B8 80240888 8FB40050 */ lw $s4, 0x50($sp) +/* B288BC 8024088C 8FB3004C */ lw $s3, 0x4c($sp) +/* B288C0 80240890 8FB20048 */ lw $s2, 0x48($sp) +/* B288C4 80240894 8FB10044 */ lw $s1, 0x44($sp) +/* B288C8 80240898 8FB00040 */ lw $s0, 0x40($sp) +/* B288CC 8024089C D7B40058 */ ldc1 $f20, 0x58($sp) +/* B288D0 802408A0 03E00008 */ jr $ra +/* B288D4 802408A4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_802408A8.s b/asm/nonmatchings/world/area_jan/jan_01/func_802408A8.s new file mode 100644 index 0000000000..1b33c10ee0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_802408A8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A8 +/* B288D8 802408A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B288DC 802408AC AFB3001C */ sw $s3, 0x1c($sp) +/* B288E0 802408B0 0080982D */ daddu $s3, $a0, $zero +/* B288E4 802408B4 AFBF0020 */ sw $ra, 0x20($sp) +/* B288E8 802408B8 AFB20018 */ sw $s2, 0x18($sp) +/* B288EC 802408BC AFB10014 */ sw $s1, 0x14($sp) +/* B288F0 802408C0 AFB00010 */ sw $s0, 0x10($sp) +/* B288F4 802408C4 8E720148 */ lw $s2, 0x148($s3) +/* B288F8 802408C8 86440008 */ lh $a0, 8($s2) +/* B288FC 802408CC 0C00EABB */ jal get_npc_unsafe +/* B28900 802408D0 00A0882D */ daddu $s1, $a1, $zero +/* B28904 802408D4 8E240008 */ lw $a0, 8($s1) +/* B28908 802408D8 0040802D */ daddu $s0, $v0, $zero +/* B2890C 802408DC 00041FC2 */ srl $v1, $a0, 0x1f +/* B28910 802408E0 00832021 */ addu $a0, $a0, $v1 +/* B28914 802408E4 00042043 */ sra $a0, $a0, 1 +/* B28918 802408E8 0C00A67F */ jal rand_int +/* B2891C 802408EC 24840001 */ addiu $a0, $a0, 1 +/* B28920 802408F0 8E230008 */ lw $v1, 8($s1) +/* B28924 802408F4 240400B4 */ addiu $a0, $zero, 0xb4 +/* B28928 802408F8 00032FC2 */ srl $a1, $v1, 0x1f +/* B2892C 802408FC 00651821 */ addu $v1, $v1, $a1 +/* B28930 80240900 00031843 */ sra $v1, $v1, 1 +/* B28934 80240904 00621821 */ addu $v1, $v1, $v0 +/* B28938 80240908 0C00A67F */ jal rand_int +/* B2893C 8024090C A603008E */ sh $v1, 0x8e($s0) +/* B28940 80240910 C60C000C */ lwc1 $f12, 0xc($s0) +/* B28944 80240914 44820000 */ mtc1 $v0, $f0 +/* B28948 80240918 00000000 */ nop +/* B2894C 8024091C 46800020 */ cvt.s.w $f0, $f0 +/* B28950 80240920 46006300 */ add.s $f12, $f12, $f0 +/* B28954 80240924 3C0142B4 */ lui $at, 0x42b4 +/* B28958 80240928 44810000 */ mtc1 $at, $f0 +/* B2895C 8024092C 0C00A6C9 */ jal clamp_angle +/* B28960 80240930 46006301 */ sub.s $f12, $f12, $f0 +/* B28964 80240934 E600000C */ swc1 $f0, 0xc($s0) +/* B28968 80240938 8E4200CC */ lw $v0, 0xcc($s2) +/* B2896C 8024093C 8C420000 */ lw $v0, ($v0) +/* B28970 80240940 AE020028 */ sw $v0, 0x28($s0) +/* B28974 80240944 24020003 */ addiu $v0, $zero, 3 +/* B28978 80240948 AE620070 */ sw $v0, 0x70($s3) +/* B2897C 8024094C 8FBF0020 */ lw $ra, 0x20($sp) +/* B28980 80240950 8FB3001C */ lw $s3, 0x1c($sp) +/* B28984 80240954 8FB20018 */ lw $s2, 0x18($sp) +/* B28988 80240958 8FB10014 */ lw $s1, 0x14($sp) +/* B2898C 8024095C 8FB00010 */ lw $s0, 0x10($sp) +/* B28990 80240960 03E00008 */ jr $ra +/* B28994 80240964 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240968.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240968.s new file mode 100644 index 0000000000..e5cd431e48 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240968.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240968 +/* B28998 80240968 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2899C 8024096C AFB40040 */ sw $s4, 0x40($sp) +/* B289A0 80240970 0080A02D */ daddu $s4, $a0, $zero +/* B289A4 80240974 AFBF0044 */ sw $ra, 0x44($sp) +/* B289A8 80240978 AFB3003C */ sw $s3, 0x3c($sp) +/* B289AC 8024097C AFB20038 */ sw $s2, 0x38($sp) +/* B289B0 80240980 AFB10034 */ sw $s1, 0x34($sp) +/* B289B4 80240984 AFB00030 */ sw $s0, 0x30($sp) +/* B289B8 80240988 8E920148 */ lw $s2, 0x148($s4) +/* B289BC 8024098C 00A0882D */ daddu $s1, $a1, $zero +/* B289C0 80240990 86440008 */ lh $a0, 8($s2) +/* B289C4 80240994 0C00EABB */ jal get_npc_unsafe +/* B289C8 80240998 00C0982D */ daddu $s3, $a2, $zero +/* B289CC 8024099C 8E230014 */ lw $v1, 0x14($s1) +/* B289D0 802409A0 0460002D */ bltz $v1, .L80240A58 +/* B289D4 802409A4 0040802D */ daddu $s0, $v0, $zero +/* B289D8 802409A8 0260202D */ daddu $a0, $s3, $zero +/* B289DC 802409AC AFA00010 */ sw $zero, 0x10($sp) +/* B289E0 802409B0 8E260024 */ lw $a2, 0x24($s1) +/* B289E4 802409B4 8E270028 */ lw $a3, 0x28($s1) +/* B289E8 802409B8 0C01242D */ jal func_800490B4 +/* B289EC 802409BC 0240282D */ daddu $a1, $s2, $zero +/* B289F0 802409C0 10400025 */ beqz $v0, .L80240A58 +/* B289F4 802409C4 0000202D */ daddu $a0, $zero, $zero +/* B289F8 802409C8 0200282D */ daddu $a1, $s0, $zero +/* B289FC 802409CC 0000302D */ daddu $a2, $zero, $zero +/* B28A00 802409D0 860300A8 */ lh $v1, 0xa8($s0) +/* B28A04 802409D4 3C013F80 */ lui $at, 0x3f80 +/* B28A08 802409D8 44810000 */ mtc1 $at, $f0 +/* B28A0C 802409DC 3C014000 */ lui $at, 0x4000 +/* B28A10 802409E0 44811000 */ mtc1 $at, $f2 +/* B28A14 802409E4 3C01C1A0 */ lui $at, 0xc1a0 +/* B28A18 802409E8 44812000 */ mtc1 $at, $f4 +/* B28A1C 802409EC 2402000F */ addiu $v0, $zero, 0xf +/* B28A20 802409F0 AFA2001C */ sw $v0, 0x1c($sp) +/* B28A24 802409F4 44833000 */ mtc1 $v1, $f6 +/* B28A28 802409F8 00000000 */ nop +/* B28A2C 802409FC 468031A0 */ cvt.s.w $f6, $f6 +/* B28A30 80240A00 44073000 */ mfc1 $a3, $f6 +/* B28A34 80240A04 27A20028 */ addiu $v0, $sp, 0x28 +/* B28A38 80240A08 AFA20020 */ sw $v0, 0x20($sp) +/* B28A3C 80240A0C E7A00010 */ swc1 $f0, 0x10($sp) +/* B28A40 80240A10 E7A20014 */ swc1 $f2, 0x14($sp) +/* B28A44 80240A14 0C01BFA4 */ jal fx_emote +/* B28A48 80240A18 E7A40018 */ swc1 $f4, 0x18($sp) +/* B28A4C 80240A1C 0200202D */ daddu $a0, $s0, $zero +/* B28A50 80240A20 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B28A54 80240A24 0C012530 */ jal func_800494C0 +/* B28A58 80240A28 3C060020 */ lui $a2, 0x20 +/* B28A5C 80240A2C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B28A60 80240A30 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B28A64 80240A34 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B28A68 80240A38 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B28A6C 80240A3C 8C460028 */ lw $a2, 0x28($v0) +/* B28A70 80240A40 0C00A720 */ jal atan2 +/* B28A74 80240A44 8C470030 */ lw $a3, 0x30($v0) +/* B28A78 80240A48 2402000C */ addiu $v0, $zero, 0xc +/* B28A7C 80240A4C E600000C */ swc1 $f0, 0xc($s0) +/* B28A80 80240A50 080902BB */ j .L80240AEC +/* B28A84 80240A54 AE820070 */ sw $v0, 0x70($s4) +.L80240A58: +/* B28A88 80240A58 8602008C */ lh $v0, 0x8c($s0) +/* B28A8C 80240A5C 14400023 */ bnez $v0, .L80240AEC +/* B28A90 80240A60 00000000 */ nop +/* B28A94 80240A64 9602008E */ lhu $v0, 0x8e($s0) +/* B28A98 80240A68 2442FFFF */ addiu $v0, $v0, -1 +/* B28A9C 80240A6C A602008E */ sh $v0, 0x8e($s0) +/* B28AA0 80240A70 00021400 */ sll $v0, $v0, 0x10 +/* B28AA4 80240A74 1C40001D */ bgtz $v0, .L80240AEC +/* B28AA8 80240A78 00000000 */ nop +/* B28AAC 80240A7C 8E820074 */ lw $v0, 0x74($s4) +/* B28AB0 80240A80 2442FFFF */ addiu $v0, $v0, -1 +/* B28AB4 80240A84 18400018 */ blez $v0, .L80240AE8 +/* B28AB8 80240A88 AE820074 */ sw $v0, 0x74($s4) +/* B28ABC 80240A8C C600000C */ lwc1 $f0, 0xc($s0) +/* B28AC0 80240A90 3C014334 */ lui $at, 0x4334 +/* B28AC4 80240A94 44816000 */ mtc1 $at, $f12 +/* B28AC8 80240A98 0C00A6C9 */ jal clamp_angle +/* B28ACC 80240A9C 460C0300 */ add.s $f12, $f0, $f12 +/* B28AD0 80240AA0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B28AD4 80240AA4 0C00A67F */ jal rand_int +/* B28AD8 80240AA8 E600000C */ swc1 $f0, 0xc($s0) +/* B28ADC 80240AAC 3C032E8B */ lui $v1, 0x2e8b +/* B28AE0 80240AB0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B28AE4 80240AB4 00430018 */ mult $v0, $v1 +/* B28AE8 80240AB8 00021FC3 */ sra $v1, $v0, 0x1f +/* B28AEC 80240ABC 00004010 */ mfhi $t0 +/* B28AF0 80240AC0 00082043 */ sra $a0, $t0, 1 +/* B28AF4 80240AC4 00832023 */ subu $a0, $a0, $v1 +/* B28AF8 80240AC8 00041840 */ sll $v1, $a0, 1 +/* B28AFC 80240ACC 00641821 */ addu $v1, $v1, $a0 +/* B28B00 80240AD0 00031880 */ sll $v1, $v1, 2 +/* B28B04 80240AD4 00641823 */ subu $v1, $v1, $a0 +/* B28B08 80240AD8 00431023 */ subu $v0, $v0, $v1 +/* B28B0C 80240ADC 24420005 */ addiu $v0, $v0, 5 +/* B28B10 80240AE0 080902BB */ j .L80240AEC +/* B28B14 80240AE4 A602008E */ sh $v0, 0x8e($s0) +.L80240AE8: +/* B28B18 80240AE8 AE800070 */ sw $zero, 0x70($s4) +.L80240AEC: +/* B28B1C 80240AEC 8FBF0044 */ lw $ra, 0x44($sp) +/* B28B20 80240AF0 8FB40040 */ lw $s4, 0x40($sp) +/* B28B24 80240AF4 8FB3003C */ lw $s3, 0x3c($sp) +/* B28B28 80240AF8 8FB20038 */ lw $s2, 0x38($sp) +/* B28B2C 80240AFC 8FB10034 */ lw $s1, 0x34($sp) +/* B28B30 80240B00 8FB00030 */ lw $s0, 0x30($sp) +/* B28B34 80240B04 03E00008 */ jr $ra +/* B28B38 80240B08 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240B0C_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240B0C_B28030.s new file mode 100644 index 0000000000..b8d9566497 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240B0C_B28030.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B0C_B28B3C +/* B28B3C 80240B0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B28B40 80240B10 AFB10014 */ sw $s1, 0x14($sp) +/* B28B44 80240B14 0080882D */ daddu $s1, $a0, $zero +/* B28B48 80240B18 AFBF001C */ sw $ra, 0x1c($sp) +/* B28B4C 80240B1C AFB20018 */ sw $s2, 0x18($sp) +/* B28B50 80240B20 AFB00010 */ sw $s0, 0x10($sp) +/* B28B54 80240B24 8E220148 */ lw $v0, 0x148($s1) +/* B28B58 80240B28 00A0902D */ daddu $s2, $a1, $zero +/* B28B5C 80240B2C 84440008 */ lh $a0, 8($v0) +/* B28B60 80240B30 0C00EABB */ jal get_npc_unsafe +/* B28B64 80240B34 00C0802D */ daddu $s0, $a2, $zero +/* B28B68 80240B38 0220202D */ daddu $a0, $s1, $zero +/* B28B6C 80240B3C 0240282D */ daddu $a1, $s2, $zero +/* B28B70 80240B40 0200302D */ daddu $a2, $s0, $zero +/* B28B74 80240B44 0C0127DF */ jal func_80049F7C +/* B28B78 80240B48 0040802D */ daddu $s0, $v0, $zero +/* B28B7C 80240B4C 8E020000 */ lw $v0, ($s0) +/* B28B80 80240B50 24040005 */ addiu $a0, $zero, 5 +/* B28B84 80240B54 34420800 */ ori $v0, $v0, 0x800 +/* B28B88 80240B58 0C00A67F */ jal rand_int +/* B28B8C 80240B5C AE020000 */ sw $v0, ($s0) +/* B28B90 80240B60 44820000 */ mtc1 $v0, $f0 +/* B28B94 80240B64 00000000 */ nop +/* B28B98 80240B68 46800021 */ cvt.d.w $f0, $f0 +/* B28B9C 80240B6C 3C014024 */ lui $at, 0x4024 +/* B28BA0 80240B70 44811800 */ mtc1 $at, $f3 +/* B28BA4 80240B74 44801000 */ mtc1 $zero, $f2 +/* B28BA8 80240B78 3C013FC0 */ lui $at, 0x3fc0 +/* B28BAC 80240B7C 44812000 */ mtc1 $at, $f4 +/* B28BB0 80240B80 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B28BB4 80240B84 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B28BB8 80240B88 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B28BBC 80240B8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B28BC0 80240B90 46220000 */ add.d $f0, $f0, $f2 +/* B28BC4 80240B94 E6040014 */ swc1 $f4, 0x14($s0) +/* B28BC8 80240B98 46200020 */ cvt.s.d $f0, $f0 +/* B28BCC 80240B9C E600001C */ swc1 $f0, 0x1c($s0) +/* B28BD0 80240BA0 8C460028 */ lw $a2, 0x28($v0) +/* B28BD4 80240BA4 0C00A720 */ jal atan2 +/* B28BD8 80240BA8 8C470030 */ lw $a3, 0x30($v0) +/* B28BDC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* B28BE0 80240BB0 3C05B000 */ lui $a1, 0xb000 +/* B28BE4 80240BB4 34A50017 */ ori $a1, $a1, 0x17 +/* B28BE8 80240BB8 0000302D */ daddu $a2, $zero, $zero +/* B28BEC 80240BBC E480000C */ swc1 $f0, 0xc($a0) +/* B28BF0 80240BC0 C6400018 */ lwc1 $f0, 0x18($s2) +/* B28BF4 80240BC4 2402000D */ addiu $v0, $zero, 0xd +/* B28BF8 80240BC8 E4800018 */ swc1 $f0, 0x18($a0) +/* B28BFC 80240BCC 0C012530 */ jal func_800494C0 +/* B28C00 80240BD0 AE220070 */ sw $v0, 0x70($s1) +/* B28C04 80240BD4 8FBF001C */ lw $ra, 0x1c($sp) +/* B28C08 80240BD8 8FB20018 */ lw $s2, 0x18($sp) +/* B28C0C 80240BDC 8FB10014 */ lw $s1, 0x14($sp) +/* B28C10 80240BE0 8FB00010 */ lw $s0, 0x10($sp) +/* B28C14 80240BE4 03E00008 */ jr $ra +/* B28C18 80240BE8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240BEC_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240BEC_B28030.s new file mode 100644 index 0000000000..884ab868c3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240BEC_B28030.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BEC_B28C1C +/* B28C1C 80240BEC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B28C20 80240BF0 AFB40050 */ sw $s4, 0x50($sp) +/* B28C24 80240BF4 0080A02D */ daddu $s4, $a0, $zero +/* B28C28 80240BF8 AFBF0060 */ sw $ra, 0x60($sp) +/* B28C2C 80240BFC AFB7005C */ sw $s7, 0x5c($sp) +/* B28C30 80240C00 AFB60058 */ sw $s6, 0x58($sp) +/* B28C34 80240C04 AFB50054 */ sw $s5, 0x54($sp) +/* B28C38 80240C08 AFB3004C */ sw $s3, 0x4c($sp) +/* B28C3C 80240C0C AFB20048 */ sw $s2, 0x48($sp) +/* B28C40 80240C10 AFB10044 */ sw $s1, 0x44($sp) +/* B28C44 80240C14 AFB00040 */ sw $s0, 0x40($sp) +/* B28C48 80240C18 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B28C4C 80240C1C 8E950148 */ lw $s5, 0x148($s4) +/* B28C50 80240C20 00A0B02D */ daddu $s6, $a1, $zero +/* B28C54 80240C24 86A40008 */ lh $a0, 8($s5) +/* B28C58 80240C28 0C00EABB */ jal get_npc_unsafe +/* B28C5C 80240C2C 00C0B82D */ daddu $s7, $a2, $zero +/* B28C60 80240C30 0040982D */ daddu $s3, $v0, $zero +/* B28C64 80240C34 C6600018 */ lwc1 $f0, 0x18($s3) +/* B28C68 80240C38 44801000 */ mtc1 $zero, $f2 +/* B28C6C 80240C3C 44801800 */ mtc1 $zero, $f3 +/* B28C70 80240C40 46000021 */ cvt.d.s $f0, $f0 +/* B28C74 80240C44 4620103C */ c.lt.d $f2, $f0 +/* B28C78 80240C48 00000000 */ nop +/* B28C7C 80240C4C 45000021 */ bc1f .L80240CD4 +/* B28C80 80240C50 27A50028 */ addiu $a1, $sp, 0x28 +/* B28C84 80240C54 C6600038 */ lwc1 $f0, 0x38($s3) +/* B28C88 80240C58 C662003C */ lwc1 $f2, 0x3c($s3) +/* B28C8C 80240C5C C6640040 */ lwc1 $f4, 0x40($s3) +/* B28C90 80240C60 C6660018 */ lwc1 $f6, 0x18($s3) +/* B28C94 80240C64 E7A00028 */ swc1 $f0, 0x28($sp) +/* B28C98 80240C68 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B28C9C 80240C6C E7A40030 */ swc1 $f4, 0x30($sp) +/* B28CA0 80240C70 E7A60010 */ swc1 $f6, 0x10($sp) +/* B28CA4 80240C74 C660000C */ lwc1 $f0, 0xc($s3) +/* B28CA8 80240C78 E7A00014 */ swc1 $f0, 0x14($sp) +/* B28CAC 80240C7C 866200A8 */ lh $v0, 0xa8($s3) +/* B28CB0 80240C80 44820000 */ mtc1 $v0, $f0 +/* B28CB4 80240C84 00000000 */ nop +/* B28CB8 80240C88 46800020 */ cvt.s.w $f0, $f0 +/* B28CBC 80240C8C E7A00018 */ swc1 $f0, 0x18($sp) +/* B28CC0 80240C90 866200A6 */ lh $v0, 0xa6($s3) +/* B28CC4 80240C94 27A6002C */ addiu $a2, $sp, 0x2c +/* B28CC8 80240C98 44820000 */ mtc1 $v0, $f0 +/* B28CCC 80240C9C 00000000 */ nop +/* B28CD0 80240CA0 46800020 */ cvt.s.w $f0, $f0 +/* B28CD4 80240CA4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B28CD8 80240CA8 8E640080 */ lw $a0, 0x80($s3) +/* B28CDC 80240CAC 0C037711 */ jal func_800DDC44 +/* B28CE0 80240CB0 27A70030 */ addiu $a3, $sp, 0x30 +/* B28CE4 80240CB4 10400003 */ beqz $v0, .L80240CC4 +/* B28CE8 80240CB8 00000000 */ nop +/* B28CEC 80240CBC 08090335 */ j .L80240CD4 +/* B28CF0 80240CC0 AE600018 */ sw $zero, 0x18($s3) +.L80240CC4: +/* B28CF4 80240CC4 8E650018 */ lw $a1, 0x18($s3) +/* B28CF8 80240CC8 8E66000C */ lw $a2, 0xc($s3) +/* B28CFC 80240CCC 0C00EA95 */ jal npc_move_heading +/* B28D00 80240CD0 0260202D */ daddu $a0, $s3, $zero +.L80240CD4: +/* B28D04 80240CD4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B28D08 80240CD8 44801000 */ mtc1 $zero, $f2 +/* B28D0C 80240CDC 44801800 */ mtc1 $zero, $f3 +/* B28D10 80240CE0 46000021 */ cvt.d.s $f0, $f0 +/* B28D14 80240CE4 4622003C */ c.lt.d $f0, $f2 +/* B28D18 80240CE8 00000000 */ nop +/* B28D1C 80240CEC 4500006C */ bc1f .L80240EA0 +/* B28D20 80240CF0 27B00028 */ addiu $s0, $sp, 0x28 +/* B28D24 80240CF4 0200282D */ daddu $a1, $s0, $zero +/* B28D28 80240CF8 27A60034 */ addiu $a2, $sp, 0x34 +/* B28D2C 80240CFC 27B20038 */ addiu $s2, $sp, 0x38 +/* B28D30 80240D00 C6600038 */ lwc1 $f0, 0x38($s3) +/* B28D34 80240D04 3C0142C8 */ lui $at, 0x42c8 +/* B28D38 80240D08 44811000 */ mtc1 $at, $f2 +/* B28D3C 80240D0C C6640040 */ lwc1 $f4, 0x40($s3) +/* B28D40 80240D10 3C01447A */ lui $at, 0x447a +/* B28D44 80240D14 44813000 */ mtc1 $at, $f6 +/* B28D48 80240D18 27B10030 */ addiu $s1, $sp, 0x30 +/* B28D4C 80240D1C E7A00028 */ swc1 $f0, 0x28($sp) +/* B28D50 80240D20 E7A20034 */ swc1 $f2, 0x34($sp) +/* B28D54 80240D24 E7A40030 */ swc1 $f4, 0x30($sp) +/* B28D58 80240D28 E7A60038 */ swc1 $f6, 0x38($sp) +/* B28D5C 80240D2C AFB20010 */ sw $s2, 0x10($sp) +/* B28D60 80240D30 8E640080 */ lw $a0, 0x80($s3) +/* B28D64 80240D34 0C0372DF */ jal func_800DCB7C +/* B28D68 80240D38 0220382D */ daddu $a3, $s1, $zero +/* B28D6C 80240D3C 0200282D */ daddu $a1, $s0, $zero +/* B28D70 80240D40 27A6002C */ addiu $a2, $sp, 0x2c +/* B28D74 80240D44 C662003C */ lwc1 $f2, 0x3c($s3) +/* B28D78 80240D48 C6660038 */ lwc1 $f6, 0x38($s3) +/* B28D7C 80240D4C 3C01402A */ lui $at, 0x402a +/* B28D80 80240D50 4481A800 */ mtc1 $at, $f21 +/* B28D84 80240D54 4480A000 */ mtc1 $zero, $f20 +/* B28D88 80240D58 460010A1 */ cvt.d.s $f2, $f2 +/* B28D8C 80240D5C 46341080 */ add.d $f2, $f2, $f20 +/* B28D90 80240D60 C660001C */ lwc1 $f0, 0x1c($s3) +/* B28D94 80240D64 C6640040 */ lwc1 $f4, 0x40($s3) +/* B28D98 80240D68 46000005 */ abs.s $f0, $f0 +/* B28D9C 80240D6C E7A40030 */ swc1 $f4, 0x30($sp) +/* B28DA0 80240D70 3C014030 */ lui $at, 0x4030 +/* B28DA4 80240D74 44812800 */ mtc1 $at, $f5 +/* B28DA8 80240D78 44802000 */ mtc1 $zero, $f4 +/* B28DAC 80240D7C 46000021 */ cvt.d.s $f0, $f0 +/* B28DB0 80240D80 E7A60028 */ swc1 $f6, 0x28($sp) +/* B28DB4 80240D84 46240000 */ add.d $f0, $f0, $f4 +/* B28DB8 80240D88 462010A0 */ cvt.s.d $f2, $f2 +/* B28DBC 80240D8C E7A2002C */ swc1 $f2, 0x2c($sp) +/* B28DC0 80240D90 46200020 */ cvt.s.d $f0, $f0 +/* B28DC4 80240D94 E7A00038 */ swc1 $f0, 0x38($sp) +/* B28DC8 80240D98 AFB20010 */ sw $s2, 0x10($sp) +/* B28DCC 80240D9C 8E640080 */ lw $a0, 0x80($s3) +/* B28DD0 80240DA0 0C0372DF */ jal func_800DCB7C +/* B28DD4 80240DA4 0220382D */ daddu $a3, $s1, $zero +/* B28DD8 80240DA8 1040003D */ beqz $v0, .L80240EA0 +/* B28DDC 80240DAC 00000000 */ nop +/* B28DE0 80240DB0 C660001C */ lwc1 $f0, 0x1c($s3) +/* B28DE4 80240DB4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B28DE8 80240DB8 46000005 */ abs.s $f0, $f0 +/* B28DEC 80240DBC 46000021 */ cvt.d.s $f0, $f0 +/* B28DF0 80240DC0 46340000 */ add.d $f0, $f0, $f20 +/* B28DF4 80240DC4 460010A1 */ cvt.d.s $f2, $f2 +/* B28DF8 80240DC8 4620103E */ c.le.d $f2, $f0 +/* B28DFC 80240DCC 00000000 */ nop +/* B28E00 80240DD0 45000033 */ bc1f .L80240EA0 +/* B28E04 80240DD4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B28E08 80240DD8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B28E0C 80240DDC 8E620000 */ lw $v0, ($s3) +/* B28E10 80240DE0 AE60001C */ sw $zero, 0x1c($s3) +/* B28E14 80240DE4 00431024 */ and $v0, $v0, $v1 +/* B28E18 80240DE8 E660003C */ swc1 $f0, 0x3c($s3) +/* B28E1C 80240DEC AE620000 */ sw $v0, ($s3) +/* B28E20 80240DF0 AFA00010 */ sw $zero, 0x10($sp) +/* B28E24 80240DF4 AFA00014 */ sw $zero, 0x14($sp) +/* B28E28 80240DF8 8E650038 */ lw $a1, 0x38($s3) +/* B28E2C 80240DFC 8E66003C */ lw $a2, 0x3c($s3) +/* B28E30 80240E00 8E670040 */ lw $a3, 0x40($s3) +/* B28E34 80240E04 0C01BECC */ jal fx_walk_normal +/* B28E38 80240E08 24040002 */ addiu $a0, $zero, 2 +/* B28E3C 80240E0C 02E0202D */ daddu $a0, $s7, $zero +/* B28E40 80240E10 2402000C */ addiu $v0, $zero, 0xc +/* B28E44 80240E14 AE820070 */ sw $v0, 0x70($s4) +/* B28E48 80240E18 24020001 */ addiu $v0, $zero, 1 +/* B28E4C 80240E1C AFA20010 */ sw $v0, 0x10($sp) +/* B28E50 80240E20 8EC60024 */ lw $a2, 0x24($s6) +/* B28E54 80240E24 8EC70028 */ lw $a3, 0x28($s6) +/* B28E58 80240E28 0C01242D */ jal func_800490B4 +/* B28E5C 80240E2C 02A0282D */ daddu $a1, $s5, $zero +/* B28E60 80240E30 14400022 */ bnez $v0, .L80240EBC +/* B28E64 80240E34 24040002 */ addiu $a0, $zero, 2 +/* B28E68 80240E38 0260282D */ daddu $a1, $s3, $zero +/* B28E6C 80240E3C 0000302D */ daddu $a2, $zero, $zero +/* B28E70 80240E40 866300A8 */ lh $v1, 0xa8($s3) +/* B28E74 80240E44 3C013F80 */ lui $at, 0x3f80 +/* B28E78 80240E48 44810000 */ mtc1 $at, $f0 +/* B28E7C 80240E4C 3C014000 */ lui $at, 0x4000 +/* B28E80 80240E50 44811000 */ mtc1 $at, $f2 +/* B28E84 80240E54 3C01C1A0 */ lui $at, 0xc1a0 +/* B28E88 80240E58 44812000 */ mtc1 $at, $f4 +/* B28E8C 80240E5C 2402000F */ addiu $v0, $zero, 0xf +/* B28E90 80240E60 AFA2001C */ sw $v0, 0x1c($sp) +/* B28E94 80240E64 44834000 */ mtc1 $v1, $f8 +/* B28E98 80240E68 00000000 */ nop +/* B28E9C 80240E6C 46804220 */ cvt.s.w $f8, $f8 +/* B28EA0 80240E70 44074000 */ mfc1 $a3, $f8 +/* B28EA4 80240E74 27A2003C */ addiu $v0, $sp, 0x3c +/* B28EA8 80240E78 AFA20020 */ sw $v0, 0x20($sp) +/* B28EAC 80240E7C E7A00010 */ swc1 $f0, 0x10($sp) +/* B28EB0 80240E80 E7A20014 */ swc1 $f2, 0x14($sp) +/* B28EB4 80240E84 0C01BFA4 */ jal fx_emote +/* B28EB8 80240E88 E7A40018 */ swc1 $f4, 0x18($sp) +/* B28EBC 80240E8C 24020019 */ addiu $v0, $zero, 0x19 +/* B28EC0 80240E90 A662008E */ sh $v0, 0x8e($s3) +/* B28EC4 80240E94 2402000E */ addiu $v0, $zero, 0xe +/* B28EC8 80240E98 080903AF */ j .L80240EBC +/* B28ECC 80240E9C AE820070 */ sw $v0, 0x70($s4) +.L80240EA0: +/* B28ED0 80240EA0 C664003C */ lwc1 $f4, 0x3c($s3) +/* B28ED4 80240EA4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B28ED8 80240EA8 46002100 */ add.s $f4, $f4, $f0 +/* B28EDC 80240EAC C6620014 */ lwc1 $f2, 0x14($s3) +/* B28EE0 80240EB0 46020001 */ sub.s $f0, $f0, $f2 +/* B28EE4 80240EB4 E664003C */ swc1 $f4, 0x3c($s3) +/* B28EE8 80240EB8 E660001C */ swc1 $f0, 0x1c($s3) +.L80240EBC: +/* B28EEC 80240EBC 8FBF0060 */ lw $ra, 0x60($sp) +/* B28EF0 80240EC0 8FB7005C */ lw $s7, 0x5c($sp) +/* B28EF4 80240EC4 8FB60058 */ lw $s6, 0x58($sp) +/* B28EF8 80240EC8 8FB50054 */ lw $s5, 0x54($sp) +/* B28EFC 80240ECC 8FB40050 */ lw $s4, 0x50($sp) +/* B28F00 80240ED0 8FB3004C */ lw $s3, 0x4c($sp) +/* B28F04 80240ED4 8FB20048 */ lw $s2, 0x48($sp) +/* B28F08 80240ED8 8FB10044 */ lw $s1, 0x44($sp) +/* B28F0C 80240EDC 8FB00040 */ lw $s0, 0x40($sp) +/* B28F10 80240EE0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B28F14 80240EE4 03E00008 */ jr $ra +/* B28F18 80240EE8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240EEC_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240EEC_B28030.s new file mode 100644 index 0000000000..ad1ffa7704 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240EEC_B28030.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_B28F1C +/* B28F1C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B28F20 80240EF0 AFB00010 */ sw $s0, 0x10($sp) +/* B28F24 80240EF4 0080802D */ daddu $s0, $a0, $zero +/* B28F28 80240EF8 AFBF0014 */ sw $ra, 0x14($sp) +/* B28F2C 80240EFC 8E020148 */ lw $v0, 0x148($s0) +/* B28F30 80240F00 0C00EABB */ jal get_npc_unsafe +/* B28F34 80240F04 84440008 */ lh $a0, 8($v0) +/* B28F38 80240F08 9443008E */ lhu $v1, 0x8e($v0) +/* B28F3C 80240F0C 2463FFFF */ addiu $v1, $v1, -1 +/* B28F40 80240F10 A443008E */ sh $v1, 0x8e($v0) +/* B28F44 80240F14 00031C00 */ sll $v1, $v1, 0x10 +/* B28F48 80240F18 58600001 */ blezl $v1, .L80240F20 +/* B28F4C 80240F1C AE000070 */ sw $zero, 0x70($s0) +.L80240F20: +/* B28F50 80240F20 8FBF0014 */ lw $ra, 0x14($sp) +/* B28F54 80240F24 8FB00010 */ lw $s0, 0x10($sp) +/* B28F58 80240F28 03E00008 */ jr $ra +/* B28F5C 80240F2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80240F30_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80240F30_B28030.s new file mode 100644 index 0000000000..ab922d92fa --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80240F30_B28030.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F30_B28F60 +/* B28F60 80240F30 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B28F64 80240F34 AFB3003C */ sw $s3, 0x3c($sp) +/* B28F68 80240F38 0080982D */ daddu $s3, $a0, $zero +/* B28F6C 80240F3C AFBF0048 */ sw $ra, 0x48($sp) +/* B28F70 80240F40 AFB50044 */ sw $s5, 0x44($sp) +/* B28F74 80240F44 AFB40040 */ sw $s4, 0x40($sp) +/* B28F78 80240F48 AFB20038 */ sw $s2, 0x38($sp) +/* B28F7C 80240F4C AFB10034 */ sw $s1, 0x34($sp) +/* B28F80 80240F50 AFB00030 */ sw $s0, 0x30($sp) +/* B28F84 80240F54 8E720148 */ lw $s2, 0x148($s3) +/* B28F88 80240F58 86440008 */ lh $a0, 8($s2) +/* B28F8C 80240F5C 8E70000C */ lw $s0, 0xc($s3) +/* B28F90 80240F60 0C00EABB */ jal get_npc_unsafe +/* B28F94 80240F64 00A0882D */ daddu $s1, $a1, $zero +/* B28F98 80240F68 8E050000 */ lw $a1, ($s0) +/* B28F9C 80240F6C 26100004 */ addiu $s0, $s0, 4 +/* B28FA0 80240F70 0260202D */ daddu $a0, $s3, $zero +/* B28FA4 80240F74 0C0B1EAF */ jal get_variable +/* B28FA8 80240F78 0040A82D */ daddu $s5, $v0, $zero +/* B28FAC 80240F7C 0260202D */ daddu $a0, $s3, $zero +/* B28FB0 80240F80 8E050000 */ lw $a1, ($s0) +/* B28FB4 80240F84 0C0B1EAF */ jal get_variable +/* B28FB8 80240F88 0040A02D */ daddu $s4, $v0, $zero +/* B28FBC 80240F8C AE420094 */ sw $v0, 0x94($s2) +/* B28FC0 80240F90 AFA00010 */ sw $zero, 0x10($sp) +/* B28FC4 80240F94 8E4200D0 */ lw $v0, 0xd0($s2) +/* B28FC8 80240F98 8C420030 */ lw $v0, 0x30($v0) +/* B28FCC 80240F9C AFA20014 */ sw $v0, 0x14($sp) +/* B28FD0 80240FA0 8E4200D0 */ lw $v0, 0xd0($s2) +/* B28FD4 80240FA4 8C42001C */ lw $v0, 0x1c($v0) +/* B28FD8 80240FA8 AFA20018 */ sw $v0, 0x18($sp) +/* B28FDC 80240FAC 8E4200D0 */ lw $v0, 0xd0($s2) +/* B28FE0 80240FB0 8C420024 */ lw $v0, 0x24($v0) +/* B28FE4 80240FB4 AFA2001C */ sw $v0, 0x1c($sp) +/* B28FE8 80240FB8 8E4200D0 */ lw $v0, 0xd0($s2) +/* B28FEC 80240FBC 8C420028 */ lw $v0, 0x28($v0) +/* B28FF0 80240FC0 AFA20020 */ sw $v0, 0x20($sp) +/* B28FF4 80240FC4 8E4200D0 */ lw $v0, 0xd0($s2) +/* B28FF8 80240FC8 3C0142C8 */ lui $at, 0x42c8 +/* B28FFC 80240FCC 44810000 */ mtc1 $at, $f0 +/* B29000 80240FD0 8C42002C */ lw $v0, 0x2c($v0) +/* B29004 80240FD4 27B00010 */ addiu $s0, $sp, 0x10 +/* B29008 80240FD8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B2900C 80240FDC A7A0002C */ sh $zero, 0x2c($sp) +/* B29010 80240FE0 12200019 */ beqz $s1, .L80241048 +/* B29014 80240FE4 AFA20024 */ sw $v0, 0x24($sp) +/* B29018 80240FE8 AE600070 */ sw $zero, 0x70($s3) +/* B2901C 80240FEC A6A0008E */ sh $zero, 0x8e($s5) +/* B29020 80240FF0 AE600074 */ sw $zero, 0x74($s3) +/* B29024 80240FF4 8EA20000 */ lw $v0, ($s5) +/* B29028 80240FF8 2403F7FF */ addiu $v1, $zero, -0x801 +/* B2902C 80240FFC 00431024 */ and $v0, $v0, $v1 +/* B29030 80241000 2403FDFF */ addiu $v1, $zero, -0x201 +/* B29034 80241004 00431024 */ and $v0, $v0, $v1 +/* B29038 80241008 34420008 */ ori $v0, $v0, 8 +/* B2903C 8024100C AEA20000 */ sw $v0, ($s5) +/* B29040 80241010 8E4200B0 */ lw $v0, 0xb0($s2) +/* B29044 80241014 34420018 */ ori $v0, $v0, 0x18 +/* B29048 80241018 AE4200B0 */ sw $v0, 0xb0($s2) +/* B2904C 8024101C 8E420000 */ lw $v0, ($s2) +/* B29050 80241020 3C034000 */ lui $v1, 0x4000 +/* B29054 80241024 00431024 */ and $v0, $v0, $v1 +/* B29058 80241028 10400007 */ beqz $v0, .L80241048 +/* B2905C 8024102C 3C03BFFF */ lui $v1, 0xbfff +/* B29060 80241030 2402000C */ addiu $v0, $zero, 0xc +/* B29064 80241034 AE620070 */ sw $v0, 0x70($s3) +/* B29068 80241038 8E420000 */ lw $v0, ($s2) +/* B2906C 8024103C 3463FFFF */ ori $v1, $v1, 0xffff +/* B29070 80241040 00431024 */ and $v0, $v0, $v1 +/* B29074 80241044 AE420000 */ sw $v0, ($s2) +.L80241048: +/* B29078 80241048 8E4300B0 */ lw $v1, 0xb0($s2) +/* B2907C 8024104C 30620004 */ andi $v0, $v1, 4 +/* B29080 80241050 10400007 */ beqz $v0, .L80241070 +/* B29084 80241054 00000000 */ nop +/* B29088 80241058 824200B4 */ lb $v0, 0xb4($s2) +/* B2908C 8024105C 14400034 */ bnez $v0, .L80241130 +/* B29090 80241060 0000102D */ daddu $v0, $zero, $zero +/* B29094 80241064 2402FFFB */ addiu $v0, $zero, -5 +/* B29098 80241068 00621024 */ and $v0, $v1, $v0 +/* B2909C 8024106C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241070: +/* B290A0 80241070 8E630070 */ lw $v1, 0x70($s3) +/* B290A4 80241074 2C62000F */ sltiu $v0, $v1, 0xf +/* B290A8 80241078 1040002C */ beqz $v0, .L8024112C +/* B290AC 8024107C 00031080 */ sll $v0, $v1, 2 +/* B290B0 80241080 3C018024 */ lui $at, 0x8024 +/* B290B4 80241084 00220821 */ addu $at, $at, $v0 +/* B290B8 80241088 8C2243F8 */ lw $v0, 0x43f8($at) +/* B290BC 8024108C 00400008 */ jr $v0 +/* B290C0 80241090 00000000 */ nop +/* B290C4 80241094 0260202D */ daddu $a0, $s3, $zero +/* B290C8 80241098 0280282D */ daddu $a1, $s4, $zero +/* B290CC 8024109C 0C0900D0 */ jal func_80240340 +/* B290D0 802410A0 0200302D */ daddu $a2, $s0, $zero +/* B290D4 802410A4 0260202D */ daddu $a0, $s3, $zero +/* B290D8 802410A8 0280282D */ daddu $a1, $s4, $zero +/* B290DC 802410AC 0C09015C */ jal func_80240570 +/* B290E0 802410B0 0200302D */ daddu $a2, $s0, $zero +/* B290E4 802410B4 0809044C */ j .L80241130 +/* B290E8 802410B8 0000102D */ daddu $v0, $zero, $zero +/* B290EC 802410BC 0260202D */ daddu $a0, $s3, $zero +/* B290F0 802410C0 0280282D */ daddu $a1, $s4, $zero +/* B290F4 802410C4 0C09022A */ jal func_802408A8 +/* B290F8 802410C8 0200302D */ daddu $a2, $s0, $zero +/* B290FC 802410CC 8E630070 */ lw $v1, 0x70($s3) +/* B29100 802410D0 24020003 */ addiu $v0, $zero, 3 +/* B29104 802410D4 14620016 */ bne $v1, $v0, .L80241130 +/* B29108 802410D8 0000102D */ daddu $v0, $zero, $zero +/* B2910C 802410DC 0260202D */ daddu $a0, $s3, $zero +/* B29110 802410E0 0280282D */ daddu $a1, $s4, $zero +/* B29114 802410E4 0C09025A */ jal func_80240968 +/* B29118 802410E8 0200302D */ daddu $a2, $s0, $zero +/* B2911C 802410EC 0809044C */ j .L80241130 +/* B29120 802410F0 0000102D */ daddu $v0, $zero, $zero +/* B29124 802410F4 0260202D */ daddu $a0, $s3, $zero +/* B29128 802410F8 0280282D */ daddu $a1, $s4, $zero +/* B2912C 802410FC 0C0902C3 */ jal func_80240B0C +/* B29130 80241100 0200302D */ daddu $a2, $s0, $zero +/* B29134 80241104 0260202D */ daddu $a0, $s3, $zero +/* B29138 80241108 0280282D */ daddu $a1, $s4, $zero +/* B2913C 8024110C 0C0902FB */ jal func_80240BEC +/* B29140 80241110 0200302D */ daddu $a2, $s0, $zero +/* B29144 80241114 0809044C */ j .L80241130 +/* B29148 80241118 0000102D */ daddu $v0, $zero, $zero +/* B2914C 8024111C 0260202D */ daddu $a0, $s3, $zero +/* B29150 80241120 0280282D */ daddu $a1, $s4, $zero +/* B29154 80241124 0C0903BB */ jal func_80240EEC +/* B29158 80241128 0200302D */ daddu $a2, $s0, $zero +.L8024112C: +/* B2915C 8024112C 0000102D */ daddu $v0, $zero, $zero +.L80241130: +/* B29160 80241130 8FBF0048 */ lw $ra, 0x48($sp) +/* B29164 80241134 8FB50044 */ lw $s5, 0x44($sp) +/* B29168 80241138 8FB40040 */ lw $s4, 0x40($sp) +/* B2916C 8024113C 8FB3003C */ lw $s3, 0x3c($sp) +/* B29170 80241140 8FB20038 */ lw $s2, 0x38($sp) +/* B29174 80241144 8FB10034 */ lw $s1, 0x34($sp) +/* B29178 80241148 8FB00030 */ lw $s0, 0x30($sp) +/* B2917C 8024114C 03E00008 */ jr $ra +/* B29180 80241150 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80241154_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80241154_B28030.s new file mode 100644 index 0000000000..aa89bd5d1c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80241154_B28030.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241154_B29184 +/* B29184 80241154 3C03800B */ lui $v1, %hi(gCameras) +/* B29188 80241158 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* B2918C 8024115C 94620000 */ lhu $v0, ($v1) +/* B29190 80241160 34421000 */ ori $v0, $v0, 0x1000 +/* B29194 80241164 A4620000 */ sh $v0, ($v1) +/* B29198 80241168 03E00008 */ jr $ra +/* B2919C 8024116C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80241170.s b/asm/nonmatchings/world/area_jan/jan_01/func_80241170.s new file mode 100644 index 0000000000..59a4277315 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80241170.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170 +/* B291A0 80241170 3C03800B */ lui $v1, %hi(gCameras) +/* B291A4 80241174 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* B291A8 80241178 94620000 */ lhu $v0, ($v1) +/* B291AC 8024117C 3042EFFF */ andi $v0, $v0, 0xefff +/* B291B0 80241180 A4620000 */ sh $v0, ($v1) +/* B291B4 80241184 03E00008 */ jr $ra +/* B291B8 80241188 24020002 */ addiu $v0, $zero, 2 +/* B291BC 8024118C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80241190_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80241190_B28030.s new file mode 100644 index 0000000000..3af82a23af --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80241190_B28030.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241190_B291C0 +/* B291C0 80241190 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B291C4 80241194 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B291C8 80241198 4485A000 */ mtc1 $a1, $f20 +/* B291CC 8024119C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B291D0 802411A0 4486B000 */ mtc1 $a2, $f22 +/* B291D4 802411A4 AFB00010 */ sw $s0, 0x10($sp) +/* B291D8 802411A8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B291DC 802411AC 4487C000 */ mtc1 $a3, $f24 +/* B291E0 802411B0 AFBF0014 */ sw $ra, 0x14($sp) +/* B291E4 802411B4 0C019D28 */ jal guMtxIdentF +/* B291E8 802411B8 0080802D */ daddu $s0, $a0, $zero +/* B291EC 802411BC 4616A582 */ mul.s $f22, $f20, $f22 +/* B291F0 802411C0 00000000 */ nop +/* B291F4 802411C4 4618A502 */ mul.s $f20, $f20, $f24 +/* B291F8 802411C8 00000000 */ nop +/* B291FC 802411CC 3C013F80 */ lui $at, 0x3f80 +/* B29200 802411D0 44810000 */ mtc1 $at, $f0 +/* B29204 802411D4 00000000 */ nop +/* B29208 802411D8 E6000014 */ swc1 $f0, 0x14($s0) +/* B2920C 802411DC E6160010 */ swc1 $f22, 0x10($s0) +/* B29210 802411E0 E6140018 */ swc1 $f20, 0x18($s0) +/* B29214 802411E4 8FBF0014 */ lw $ra, 0x14($sp) +/* B29218 802411E8 8FB00010 */ lw $s0, 0x10($sp) +/* B2921C 802411EC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B29220 802411F0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B29224 802411F4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B29228 802411F8 03E00008 */ jr $ra +/* B2922C 802411FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_01/func_80241200_B28030.s b/asm/nonmatchings/world/area_jan/jan_01/func_80241200_B28030.s new file mode 100644 index 0000000000..517c004de9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_01/func_80241200_B28030.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241200_B29230 +/* B29230 80241200 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B29234 80241204 AFB10054 */ sw $s1, 0x54($sp) +/* B29238 80241208 0080882D */ daddu $s1, $a0, $zero +/* B2923C 8024120C AFBF005C */ sw $ra, 0x5c($sp) +/* B29240 80241210 AFB20058 */ sw $s2, 0x58($sp) +/* B29244 80241214 AFB00050 */ sw $s0, 0x50($sp) +/* B29248 80241218 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B2924C 8024121C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B29250 80241220 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B29254 80241224 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B29258 80241228 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B2925C 8024122C 8E30000C */ lw $s0, 0xc($s1) +/* B29260 80241230 8E050000 */ lw $a1, ($s0) +/* B29264 80241234 0C0B1EAF */ jal get_variable +/* B29268 80241238 26100004 */ addiu $s0, $s0, 4 +/* B2926C 8024123C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B29270 80241240 0040202D */ daddu $a0, $v0, $zero +/* B29274 80241244 8E050000 */ lw $a1, ($s0) +/* B29278 80241248 26100004 */ addiu $s0, $s0, 4 +/* B2927C 8024124C 0220202D */ daddu $a0, $s1, $zero +/* B29280 80241250 0C0B210B */ jal get_float_variable +/* B29284 80241254 0040902D */ daddu $s2, $v0, $zero +/* B29288 80241258 8E050000 */ lw $a1, ($s0) +/* B2928C 8024125C 26100004 */ addiu $s0, $s0, 4 +/* B29290 80241260 0220202D */ daddu $a0, $s1, $zero +/* B29294 80241264 0C0B210B */ jal get_float_variable +/* B29298 80241268 46000706 */ mov.s $f28, $f0 +/* B2929C 8024126C 8E050000 */ lw $a1, ($s0) +/* B292A0 80241270 26100004 */ addiu $s0, $s0, 4 +/* B292A4 80241274 0220202D */ daddu $a0, $s1, $zero +/* B292A8 80241278 0C0B210B */ jal get_float_variable +/* B292AC 8024127C 46000686 */ mov.s $f26, $f0 +/* B292B0 80241280 0220202D */ daddu $a0, $s1, $zero +/* B292B4 80241284 8E050000 */ lw $a1, ($s0) +/* B292B8 80241288 0C0B210B */ jal get_float_variable +/* B292BC 8024128C 46000586 */ mov.s $f22, $f0 +/* B292C0 80241290 0240202D */ daddu $a0, $s2, $zero +/* B292C4 80241294 0C046B4C */ jal get_model_from_list_index +/* B292C8 80241298 46000606 */ mov.s $f24, $f0 +/* B292CC 8024129C 0040882D */ daddu $s1, $v0, $zero +/* B292D0 802412A0 96220000 */ lhu $v0, ($s1) +/* B292D4 802412A4 30420400 */ andi $v0, $v0, 0x400 +/* B292D8 802412A8 1440001E */ bnez $v0, .L80241324 +/* B292DC 802412AC 26300058 */ addiu $s0, $s1, 0x58 +/* B292E0 802412B0 4480A000 */ mtc1 $zero, $f20 +/* B292E4 802412B4 4406B000 */ mfc1 $a2, $f22 +/* B292E8 802412B8 4405A000 */ mfc1 $a1, $f20 +/* B292EC 802412BC 4407A000 */ mfc1 $a3, $f20 +/* B292F0 802412C0 0C019E40 */ jal guTranslateF +/* B292F4 802412C4 0200202D */ daddu $a0, $s0, $zero +/* B292F8 802412C8 4405E000 */ mfc1 $a1, $f28 +/* B292FC 802412CC 4406D000 */ mfc1 $a2, $f26 +/* B29300 802412D0 4407C000 */ mfc1 $a3, $f24 +/* B29304 802412D4 0C090464 */ jal func_80241190 +/* B29308 802412D8 27A40010 */ addiu $a0, $sp, 0x10 +/* B2930C 802412DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B29310 802412E0 0200282D */ daddu $a1, $s0, $zero +/* B29314 802412E4 0C019D80 */ jal guMtxCatF +/* B29318 802412E8 0200302D */ daddu $a2, $s0, $zero +/* B2931C 802412EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B29320 802412F0 4600B587 */ neg.s $f22, $f22 +/* B29324 802412F4 4405A000 */ mfc1 $a1, $f20 +/* B29328 802412F8 4406B000 */ mfc1 $a2, $f22 +/* B2932C 802412FC 0C019E40 */ jal guTranslateF +/* B29330 80241300 00A0382D */ daddu $a3, $a1, $zero +/* B29334 80241304 27A40010 */ addiu $a0, $sp, 0x10 +/* B29338 80241308 0200282D */ daddu $a1, $s0, $zero +/* B2933C 8024130C 0C019D80 */ jal guMtxCatF +/* B29340 80241310 00A0302D */ daddu $a2, $a1, $zero +/* B29344 80241314 96220000 */ lhu $v0, ($s1) +/* B29348 80241318 34421400 */ ori $v0, $v0, 0x1400 +/* B2934C 8024131C 080904E7 */ j .L8024139C +/* B29350 80241320 A6220000 */ sh $v0, ($s1) +.L80241324: +/* B29354 80241324 4480A000 */ mtc1 $zero, $f20 +/* B29358 80241328 4406B000 */ mfc1 $a2, $f22 +/* B2935C 8024132C 4405A000 */ mfc1 $a1, $f20 +/* B29360 80241330 4407A000 */ mfc1 $a3, $f20 +/* B29364 80241334 0C019E40 */ jal guTranslateF +/* B29368 80241338 27A40010 */ addiu $a0, $sp, 0x10 +/* B2936C 8024133C 27A40010 */ addiu $a0, $sp, 0x10 +/* B29370 80241340 26300058 */ addiu $s0, $s1, 0x58 +/* B29374 80241344 0200282D */ daddu $a1, $s0, $zero +/* B29378 80241348 0C019D80 */ jal guMtxCatF +/* B2937C 8024134C 0200302D */ daddu $a2, $s0, $zero +/* B29380 80241350 4405E000 */ mfc1 $a1, $f28 +/* B29384 80241354 4406D000 */ mfc1 $a2, $f26 +/* B29388 80241358 4407C000 */ mfc1 $a3, $f24 +/* B2938C 8024135C 0C090464 */ jal func_80241190 +/* B29390 80241360 27A40010 */ addiu $a0, $sp, 0x10 +/* B29394 80241364 27A40010 */ addiu $a0, $sp, 0x10 +/* B29398 80241368 0200282D */ daddu $a1, $s0, $zero +/* B2939C 8024136C 0C019D80 */ jal guMtxCatF +/* B293A0 80241370 0200302D */ daddu $a2, $s0, $zero +/* B293A4 80241374 27A40010 */ addiu $a0, $sp, 0x10 +/* B293A8 80241378 4600B587 */ neg.s $f22, $f22 +/* B293AC 8024137C 4405A000 */ mfc1 $a1, $f20 +/* B293B0 80241380 4406B000 */ mfc1 $a2, $f22 +/* B293B4 80241384 0C019E40 */ jal guTranslateF +/* B293B8 80241388 00A0382D */ daddu $a3, $a1, $zero +/* B293BC 8024138C 27A40010 */ addiu $a0, $sp, 0x10 +/* B293C0 80241390 0200282D */ daddu $a1, $s0, $zero +/* B293C4 80241394 0C019D80 */ jal guMtxCatF +/* B293C8 80241398 00A0302D */ daddu $a2, $a1, $zero +.L8024139C: +/* B293CC 8024139C 8FBF005C */ lw $ra, 0x5c($sp) +/* B293D0 802413A0 8FB20058 */ lw $s2, 0x58($sp) +/* B293D4 802413A4 8FB10054 */ lw $s1, 0x54($sp) +/* B293D8 802413A8 8FB00050 */ lw $s0, 0x50($sp) +/* B293DC 802413AC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B293E0 802413B0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B293E4 802413B4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B293E8 802413B8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B293EC 802413BC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B293F0 802413C0 24020002 */ addiu $v0, $zero, 2 +/* B293F4 802413C4 03E00008 */ jr $ra +/* B293F8 802413C8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B293FC 802413CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240000_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240000_B2C470.s new file mode 100644 index 0000000000..78fe25435f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240000_B2C470.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B2C470 +/* B2C470 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2C474 80240004 0000202D */ daddu $a0, $zero, $zero +/* B2C478 80240008 AFBF0010 */ sw $ra, 0x10($sp) +/* B2C47C 8024000C 0C052AC3 */ jal func_8014AB0C +/* B2C480 80240010 0080282D */ daddu $a1, $a0, $zero +/* B2C484 80240014 8FBF0010 */ lw $ra, 0x10($sp) +/* B2C488 80240018 24020002 */ addiu $v0, $zero, 2 +/* B2C48C 8024001C 03E00008 */ jr $ra +/* B2C490 80240020 27BD0018 */ addiu $sp, $sp, 0x18 +/* B2C494 80240024 00000000 */ nop +/* B2C498 80240028 00000000 */ nop +/* B2C49C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240030_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240030_B2C470.s new file mode 100644 index 0000000000..7eae0fe52b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240030_B2C470.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_B2C4A0 +/* B2C4A0 80240030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2C4A4 80240034 AFB00010 */ sw $s0, 0x10($sp) +/* B2C4A8 80240038 0080802D */ daddu $s0, $a0, $zero +/* B2C4AC 8024003C AFBF0014 */ sw $ra, 0x14($sp) +/* B2C4B0 80240040 8E0300A8 */ lw $v1, 0xa8($s0) +/* B2C4B4 80240044 8E020088 */ lw $v0, 0x88($s0) +/* B2C4B8 80240048 00621821 */ addu $v1, $v1, $v0 +/* B2C4BC 8024004C 04610004 */ bgez $v1, .L80240060 +/* B2C4C0 80240050 AE0300A8 */ sw $v1, 0xa8($s0) +/* B2C4C4 80240054 3C020002 */ lui $v0, 2 +/* B2C4C8 80240058 0809001C */ j .L80240070 +/* B2C4CC 8024005C 00621021 */ addu $v0, $v1, $v0 +.L80240060: +/* B2C4D0 80240060 3C040002 */ lui $a0, 2 +/* B2C4D4 80240064 0083102A */ slt $v0, $a0, $v1 +/* B2C4D8 80240068 10400002 */ beqz $v0, .L80240074 +/* B2C4DC 8024006C 00641023 */ subu $v0, $v1, $a0 +.L80240070: +/* B2C4E0 80240070 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240074: +/* B2C4E4 80240074 8E0300AC */ lw $v1, 0xac($s0) +/* B2C4E8 80240078 8E02008C */ lw $v0, 0x8c($s0) +/* B2C4EC 8024007C 00621821 */ addu $v1, $v1, $v0 +/* B2C4F0 80240080 04610004 */ bgez $v1, .L80240094 +/* B2C4F4 80240084 AE0300AC */ sw $v1, 0xac($s0) +/* B2C4F8 80240088 3C020002 */ lui $v0, 2 +/* B2C4FC 8024008C 08090029 */ j .L802400A4 +/* B2C500 80240090 00621021 */ addu $v0, $v1, $v0 +.L80240094: +/* B2C504 80240094 3C040002 */ lui $a0, 2 +/* B2C508 80240098 0083102A */ slt $v0, $a0, $v1 +/* B2C50C 8024009C 10400002 */ beqz $v0, .L802400A8 +/* B2C510 802400A0 00641023 */ subu $v0, $v1, $a0 +.L802400A4: +/* B2C514 802400A4 AE0200AC */ sw $v0, 0xac($s0) +.L802400A8: +/* B2C518 802400A8 8E0300B0 */ lw $v1, 0xb0($s0) +/* B2C51C 802400AC 8E020090 */ lw $v0, 0x90($s0) +/* B2C520 802400B0 00621821 */ addu $v1, $v1, $v0 +/* B2C524 802400B4 04610004 */ bgez $v1, .L802400C8 +/* B2C528 802400B8 AE0300B0 */ sw $v1, 0xb0($s0) +/* B2C52C 802400BC 3C020002 */ lui $v0, 2 +/* B2C530 802400C0 08090036 */ j .L802400D8 +/* B2C534 802400C4 00621021 */ addu $v0, $v1, $v0 +.L802400C8: +/* B2C538 802400C8 3C040002 */ lui $a0, 2 +/* B2C53C 802400CC 0083102A */ slt $v0, $a0, $v1 +/* B2C540 802400D0 10400002 */ beqz $v0, .L802400DC +/* B2C544 802400D4 00641023 */ subu $v0, $v1, $a0 +.L802400D8: +/* B2C548 802400D8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400DC: +/* B2C54C 802400DC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B2C550 802400E0 8E020094 */ lw $v0, 0x94($s0) +/* B2C554 802400E4 00621821 */ addu $v1, $v1, $v0 +/* B2C558 802400E8 04610004 */ bgez $v1, .L802400FC +/* B2C55C 802400EC AE0300B4 */ sw $v1, 0xb4($s0) +/* B2C560 802400F0 3C020002 */ lui $v0, 2 +/* B2C564 802400F4 08090043 */ j .L8024010C +/* B2C568 802400F8 00621021 */ addu $v0, $v1, $v0 +.L802400FC: +/* B2C56C 802400FC 3C040002 */ lui $a0, 2 +/* B2C570 80240100 0083102A */ slt $v0, $a0, $v1 +/* B2C574 80240104 10400002 */ beqz $v0, .L80240110 +/* B2C578 80240108 00641023 */ subu $v0, $v1, $a0 +.L8024010C: +/* B2C57C 8024010C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240110: +/* B2C580 80240110 8E040084 */ lw $a0, 0x84($s0) +/* B2C584 80240114 0C046F07 */ jal set_main_pan_u +/* B2C588 80240118 8E0500A8 */ lw $a1, 0xa8($s0) +/* B2C58C 8024011C 8E040084 */ lw $a0, 0x84($s0) +/* B2C590 80240120 0C046F0D */ jal set_main_pan_v +/* B2C594 80240124 8E0500AC */ lw $a1, 0xac($s0) +/* B2C598 80240128 8E040084 */ lw $a0, 0x84($s0) +/* B2C59C 8024012C 0C046F13 */ jal set_aux_pan_u +/* B2C5A0 80240130 8E0500B0 */ lw $a1, 0xb0($s0) +/* B2C5A4 80240134 8E040084 */ lw $a0, 0x84($s0) +/* B2C5A8 80240138 0C046F19 */ jal set_aux_pan_v +/* B2C5AC 8024013C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B2C5B0 80240140 8FBF0014 */ lw $ra, 0x14($sp) +/* B2C5B4 80240144 8FB00010 */ lw $s0, 0x10($sp) +/* B2C5B8 80240148 0000102D */ daddu $v0, $zero, $zero +/* B2C5BC 8024014C 03E00008 */ jr $ra +/* B2C5C0 80240150 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240154_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240154_B2C470.s new file mode 100644 index 0000000000..5dc2f1a2b2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240154_B2C470.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240154_B2C5C4 +/* B2C5C4 80240154 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2C5C8 80240158 AFB00010 */ sw $s0, 0x10($sp) +/* B2C5CC 8024015C 0080802D */ daddu $s0, $a0, $zero +/* B2C5D0 80240160 10A00005 */ beqz $a1, .L80240178 +/* B2C5D4 80240164 AFBF0014 */ sw $ra, 0x14($sp) +/* B2C5D8 80240168 AE000070 */ sw $zero, 0x70($s0) +/* B2C5DC 8024016C AE000074 */ sw $zero, 0x74($s0) +/* B2C5E0 80240170 AE000078 */ sw $zero, 0x78($s0) +/* B2C5E4 80240174 AE00007C */ sw $zero, 0x7c($s0) +.L80240178: +/* B2C5E8 80240178 8E020070 */ lw $v0, 0x70($s0) +/* B2C5EC 8024017C 1440000E */ bnez $v0, .L802401B8 +/* B2C5F0 80240180 00000000 */ nop +/* B2C5F4 80240184 8E0300A8 */ lw $v1, 0xa8($s0) +/* B2C5F8 80240188 8E020088 */ lw $v0, 0x88($s0) +/* B2C5FC 8024018C 00621821 */ addu $v1, $v1, $v0 +/* B2C600 80240190 04610004 */ bgez $v1, .L802401A4 +/* B2C604 80240194 AE0300A8 */ sw $v1, 0xa8($s0) +/* B2C608 80240198 3C020002 */ lui $v0, 2 +/* B2C60C 8024019C 0809006D */ j .L802401B4 +/* B2C610 802401A0 00621021 */ addu $v0, $v1, $v0 +.L802401A4: +/* B2C614 802401A4 3C040002 */ lui $a0, 2 +/* B2C618 802401A8 0083102A */ slt $v0, $a0, $v1 +/* B2C61C 802401AC 10400002 */ beqz $v0, .L802401B8 +/* B2C620 802401B0 00641023 */ subu $v0, $v1, $a0 +.L802401B4: +/* B2C624 802401B4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401B8: +/* B2C628 802401B8 8E020074 */ lw $v0, 0x74($s0) +/* B2C62C 802401BC 1440000E */ bnez $v0, .L802401F8 +/* B2C630 802401C0 00000000 */ nop +/* B2C634 802401C4 8E0300AC */ lw $v1, 0xac($s0) +/* B2C638 802401C8 8E02008C */ lw $v0, 0x8c($s0) +/* B2C63C 802401CC 00621821 */ addu $v1, $v1, $v0 +/* B2C640 802401D0 04610004 */ bgez $v1, .L802401E4 +/* B2C644 802401D4 AE0300AC */ sw $v1, 0xac($s0) +/* B2C648 802401D8 3C020002 */ lui $v0, 2 +/* B2C64C 802401DC 0809007D */ j .L802401F4 +/* B2C650 802401E0 00621021 */ addu $v0, $v1, $v0 +.L802401E4: +/* B2C654 802401E4 3C040002 */ lui $a0, 2 +/* B2C658 802401E8 0083102A */ slt $v0, $a0, $v1 +/* B2C65C 802401EC 10400002 */ beqz $v0, .L802401F8 +/* B2C660 802401F0 00641023 */ subu $v0, $v1, $a0 +.L802401F4: +/* B2C664 802401F4 AE0200AC */ sw $v0, 0xac($s0) +.L802401F8: +/* B2C668 802401F8 8E020078 */ lw $v0, 0x78($s0) +/* B2C66C 802401FC 1440000E */ bnez $v0, .L80240238 +/* B2C670 80240200 00000000 */ nop +/* B2C674 80240204 8E0300B0 */ lw $v1, 0xb0($s0) +/* B2C678 80240208 8E020090 */ lw $v0, 0x90($s0) +/* B2C67C 8024020C 00621821 */ addu $v1, $v1, $v0 +/* B2C680 80240210 04610004 */ bgez $v1, .L80240224 +/* B2C684 80240214 AE0300B0 */ sw $v1, 0xb0($s0) +/* B2C688 80240218 3C020002 */ lui $v0, 2 +/* B2C68C 8024021C 0809008D */ j .L80240234 +/* B2C690 80240220 00621021 */ addu $v0, $v1, $v0 +.L80240224: +/* B2C694 80240224 3C040002 */ lui $a0, 2 +/* B2C698 80240228 0083102A */ slt $v0, $a0, $v1 +/* B2C69C 8024022C 10400002 */ beqz $v0, .L80240238 +/* B2C6A0 80240230 00641023 */ subu $v0, $v1, $a0 +.L80240234: +/* B2C6A4 80240234 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240238: +/* B2C6A8 80240238 8E02007C */ lw $v0, 0x7c($s0) +/* B2C6AC 8024023C 1440000E */ bnez $v0, .L80240278 +/* B2C6B0 80240240 00000000 */ nop +/* B2C6B4 80240244 8E0300B4 */ lw $v1, 0xb4($s0) +/* B2C6B8 80240248 8E020094 */ lw $v0, 0x94($s0) +/* B2C6BC 8024024C 00621821 */ addu $v1, $v1, $v0 +/* B2C6C0 80240250 04610004 */ bgez $v1, .L80240264 +/* B2C6C4 80240254 AE0300B4 */ sw $v1, 0xb4($s0) +/* B2C6C8 80240258 3C020002 */ lui $v0, 2 +/* B2C6CC 8024025C 0809009D */ j .L80240274 +/* B2C6D0 80240260 00621021 */ addu $v0, $v1, $v0 +.L80240264: +/* B2C6D4 80240264 3C040002 */ lui $a0, 2 +/* B2C6D8 80240268 0083102A */ slt $v0, $a0, $v1 +/* B2C6DC 8024026C 10400002 */ beqz $v0, .L80240278 +/* B2C6E0 80240270 00641023 */ subu $v0, $v1, $a0 +.L80240274: +/* B2C6E4 80240274 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240278: +/* B2C6E8 80240278 8E040084 */ lw $a0, 0x84($s0) +/* B2C6EC 8024027C 0C046F07 */ jal set_main_pan_u +/* B2C6F0 80240280 8E0500A8 */ lw $a1, 0xa8($s0) +/* B2C6F4 80240284 8E040084 */ lw $a0, 0x84($s0) +/* B2C6F8 80240288 0C046F0D */ jal set_main_pan_v +/* B2C6FC 8024028C 8E0500AC */ lw $a1, 0xac($s0) +/* B2C700 80240290 8E040084 */ lw $a0, 0x84($s0) +/* B2C704 80240294 0C046F13 */ jal set_aux_pan_u +/* B2C708 80240298 8E0500B0 */ lw $a1, 0xb0($s0) +/* B2C70C 8024029C 8E040084 */ lw $a0, 0x84($s0) +/* B2C710 802402A0 0C046F19 */ jal set_aux_pan_v +/* B2C714 802402A4 8E0500B4 */ lw $a1, 0xb4($s0) +/* B2C718 802402A8 8E020070 */ lw $v0, 0x70($s0) +/* B2C71C 802402AC 8E030078 */ lw $v1, 0x78($s0) +/* B2C720 802402B0 8E040098 */ lw $a0, 0x98($s0) +/* B2C724 802402B4 24420001 */ addiu $v0, $v0, 1 +/* B2C728 802402B8 AE020070 */ sw $v0, 0x70($s0) +/* B2C72C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B2C730 802402C0 24630001 */ addiu $v1, $v1, 1 +/* B2C734 802402C4 AE030078 */ sw $v1, 0x78($s0) +/* B2C738 802402C8 8E030070 */ lw $v1, 0x70($s0) +/* B2C73C 802402CC 24420001 */ addiu $v0, $v0, 1 +/* B2C740 802402D0 AE020074 */ sw $v0, 0x74($s0) +/* B2C744 802402D4 8E02007C */ lw $v0, 0x7c($s0) +/* B2C748 802402D8 0064182A */ slt $v1, $v1, $a0 +/* B2C74C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* B2C750 802402E0 14600002 */ bnez $v1, .L802402EC +/* B2C754 802402E4 AE02007C */ sw $v0, 0x7c($s0) +/* B2C758 802402E8 AE000070 */ sw $zero, 0x70($s0) +.L802402EC: +/* B2C75C 802402EC 8E020074 */ lw $v0, 0x74($s0) +/* B2C760 802402F0 8E03009C */ lw $v1, 0x9c($s0) +/* B2C764 802402F4 0043102A */ slt $v0, $v0, $v1 +/* B2C768 802402F8 50400001 */ beql $v0, $zero, .L80240300 +/* B2C76C 802402FC AE000074 */ sw $zero, 0x74($s0) +.L80240300: +/* B2C770 80240300 8E020078 */ lw $v0, 0x78($s0) +/* B2C774 80240304 8E0300A0 */ lw $v1, 0xa0($s0) +/* B2C778 80240308 0043102A */ slt $v0, $v0, $v1 +/* B2C77C 8024030C 50400001 */ beql $v0, $zero, .L80240314 +/* B2C780 80240310 AE000078 */ sw $zero, 0x78($s0) +.L80240314: +/* B2C784 80240314 8E02007C */ lw $v0, 0x7c($s0) +/* B2C788 80240318 8E0300A4 */ lw $v1, 0xa4($s0) +/* B2C78C 8024031C 0043102A */ slt $v0, $v0, $v1 +/* B2C790 80240320 50400001 */ beql $v0, $zero, .L80240328 +/* B2C794 80240324 AE00007C */ sw $zero, 0x7c($s0) +.L80240328: +/* B2C798 80240328 8FBF0014 */ lw $ra, 0x14($sp) +/* B2C79C 8024032C 8FB00010 */ lw $s0, 0x10($sp) +/* B2C7A0 80240330 0000102D */ daddu $v0, $zero, $zero +/* B2C7A4 80240334 03E00008 */ jr $ra +/* B2C7A8 80240338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_8024033C_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_8024033C_B2C470.s new file mode 100644 index 0000000000..9551bc6c08 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_8024033C_B2C470.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024033C_B2C7AC +/* B2C7AC 8024033C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2C7B0 80240340 0000202D */ daddu $a0, $zero, $zero +/* B2C7B4 80240344 AFBF0010 */ sw $ra, 0x10($sp) +/* B2C7B8 80240348 0C052AD8 */ jal func_8014AB60 +/* B2C7BC 8024034C 0080282D */ daddu $a1, $a0, $zero +/* B2C7C0 80240350 8FBF0010 */ lw $ra, 0x10($sp) +/* B2C7C4 80240354 24020002 */ addiu $v0, $zero, 2 +/* B2C7C8 80240358 03E00008 */ jr $ra +/* B2C7CC 8024035C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240360_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240360_B2C470.s new file mode 100644 index 0000000000..41f08945d3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240360_B2C470.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_B2C7D0 +/* B2C7D0 80240360 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2C7D4 80240364 AFB00010 */ sw $s0, 0x10($sp) +/* B2C7D8 80240368 3C108024 */ lui $s0, 0x8024 +/* B2C7DC 8024036C 26102BD8 */ addiu $s0, $s0, 0x2bd8 +/* B2C7E0 80240370 AFBF0014 */ sw $ra, 0x14($sp) +/* B2C7E4 80240374 8E020000 */ lw $v0, ($s0) +/* B2C7E8 80240378 3C038016 */ lui $v1, 0x8016 +/* B2C7EC 8024037C 9463A552 */ lhu $v1, -0x5aae($v1) +/* B2C7F0 80240380 1040000C */ beqz $v0, .L802403B4 +/* B2C7F4 80240384 2402000A */ addiu $v0, $zero, 0xa +/* B2C7F8 80240388 3063FFFF */ andi $v1, $v1, 0xffff +/* B2C7FC 8024038C 10620003 */ beq $v1, $v0, .L8024039C +/* B2C800 80240390 2402000D */ addiu $v0, $zero, 0xd +/* B2C804 80240394 14620013 */ bne $v1, $v0, .L802403E4 +/* B2C808 80240398 00000000 */ nop +.L8024039C: +/* B2C80C 8024039C 24040009 */ addiu $a0, $zero, 9 +/* B2C810 802403A0 24050002 */ addiu $a1, $zero, 2 +/* B2C814 802403A4 0C046DF0 */ jal func_8011B7C0 +/* B2C818 802403A8 0000302D */ daddu $a2, $zero, $zero +/* B2C81C 802403AC 080900F9 */ j .L802403E4 +/* B2C820 802403B0 AE000000 */ sw $zero, ($s0) +.L802403B4: +/* B2C824 802403B4 3063FFFF */ andi $v1, $v1, 0xffff +/* B2C828 802403B8 2402002E */ addiu $v0, $zero, 0x2e +/* B2C82C 802403BC 10620003 */ beq $v1, $v0, .L802403CC +/* B2C830 802403C0 2402002B */ addiu $v0, $zero, 0x2b +/* B2C834 802403C4 14620007 */ bne $v1, $v0, .L802403E4 +/* B2C838 802403C8 00000000 */ nop +.L802403CC: +/* B2C83C 802403CC 24040009 */ addiu $a0, $zero, 9 +/* B2C840 802403D0 24050002 */ addiu $a1, $zero, 2 +/* B2C844 802403D4 0C046DF0 */ jal func_8011B7C0 +/* B2C848 802403D8 24060001 */ addiu $a2, $zero, 1 +/* B2C84C 802403DC 24020001 */ addiu $v0, $zero, 1 +/* B2C850 802403E0 AE020000 */ sw $v0, ($s0) +.L802403E4: +/* B2C854 802403E4 8FBF0014 */ lw $ra, 0x14($sp) +/* B2C858 802403E8 8FB00010 */ lw $s0, 0x10($sp) +/* B2C85C 802403EC 0000102D */ daddu $v0, $zero, $zero +/* B2C860 802403F0 03E00008 */ jr $ra +/* B2C864 802403F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802403F8_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802403F8_B2C470.s new file mode 100644 index 0000000000..236883b525 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802403F8_B2C470.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F8_B2C868 +/* B2C868 802403F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2C86C 802403FC 0000202D */ daddu $a0, $zero, $zero +/* B2C870 80240400 0080282D */ daddu $a1, $a0, $zero +/* B2C874 80240404 0080302D */ daddu $a2, $a0, $zero +/* B2C878 80240408 0080382D */ daddu $a3, $a0, $zero +/* B2C87C 8024040C AFBF0018 */ sw $ra, 0x18($sp) +/* B2C880 80240410 AFA00010 */ sw $zero, 0x10($sp) +/* B2C884 80240414 0C01CA54 */ jal func_80072950 +/* B2C888 80240418 AFA00014 */ sw $zero, 0x14($sp) +/* B2C88C 8024041C 8FBF0018 */ lw $ra, 0x18($sp) +/* B2C890 80240420 24020002 */ addiu $v0, $zero, 2 +/* B2C894 80240424 03E00008 */ jr $ra +/* B2C898 80240428 27BD0020 */ addiu $sp, $sp, 0x20 +/* B2C89C 8024042C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240430.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240430.s new file mode 100644 index 0000000000..f0475b2b61 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240430.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240430 +/* B2C8A0 80240430 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2C8A4 80240434 AFB50024 */ sw $s5, 0x24($sp) +/* B2C8A8 80240438 0080A82D */ daddu $s5, $a0, $zero +/* B2C8AC 8024043C AFBF002C */ sw $ra, 0x2c($sp) +/* B2C8B0 80240440 AFB60028 */ sw $s6, 0x28($sp) +/* B2C8B4 80240444 AFB40020 */ sw $s4, 0x20($sp) +/* B2C8B8 80240448 AFB3001C */ sw $s3, 0x1c($sp) +/* B2C8BC 8024044C AFB20018 */ sw $s2, 0x18($sp) +/* B2C8C0 80240450 AFB10014 */ sw $s1, 0x14($sp) +/* B2C8C4 80240454 AFB00010 */ sw $s0, 0x10($sp) +/* B2C8C8 80240458 F7B80040 */ sdc1 $f24, 0x40($sp) +/* B2C8CC 8024045C F7B60038 */ sdc1 $f22, 0x38($sp) +/* B2C8D0 80240460 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B2C8D4 80240464 8EB30148 */ lw $s3, 0x148($s5) +/* B2C8D8 80240468 86640008 */ lh $a0, 8($s3) +/* B2C8DC 8024046C 0C00EABB */ jal get_npc_unsafe +/* B2C8E0 80240470 00A0B02D */ daddu $s6, $a1, $zero +/* B2C8E4 80240474 0040A02D */ daddu $s4, $v0, $zero +/* B2C8E8 80240478 AEA00074 */ sw $zero, 0x74($s5) +/* B2C8EC 8024047C C6980038 */ lwc1 $f24, 0x38($s4) +/* B2C8F0 80240480 C6960040 */ lwc1 $f22, 0x40($s4) +/* B2C8F4 80240484 0000902D */ daddu $s2, $zero, $zero +/* B2C8F8 80240488 AEA00078 */ sw $zero, 0x78($s5) +/* B2C8FC 8024048C 8E6300D0 */ lw $v1, 0xd0($s3) +/* B2C900 80240490 8C620000 */ lw $v0, ($v1) +/* B2C904 80240494 3C0146FF */ lui $at, 0x46ff +/* B2C908 80240498 3421FE00 */ ori $at, $at, 0xfe00 +/* B2C90C 8024049C 4481A000 */ mtc1 $at, $f20 +/* B2C910 802404A0 18400018 */ blez $v0, .L80240504 +/* B2C914 802404A4 0240802D */ daddu $s0, $s2, $zero +/* B2C918 802404A8 0240882D */ daddu $s1, $s2, $zero +.L802404AC: +/* B2C91C 802404AC 02231021 */ addu $v0, $s1, $v1 +/* B2C920 802404B0 4600C306 */ mov.s $f12, $f24 +/* B2C924 802404B4 C4440004 */ lwc1 $f4, 4($v0) +/* B2C928 802404B8 46802120 */ cvt.s.w $f4, $f4 +/* B2C92C 802404BC 44062000 */ mfc1 $a2, $f4 +/* B2C930 802404C0 C444000C */ lwc1 $f4, 0xc($v0) +/* B2C934 802404C4 46802120 */ cvt.s.w $f4, $f4 +/* B2C938 802404C8 44072000 */ mfc1 $a3, $f4 +/* B2C93C 802404CC 0C00A7B5 */ jal dist2D +/* B2C940 802404D0 4600B386 */ mov.s $f14, $f22 +/* B2C944 802404D4 4614003C */ c.lt.s $f0, $f20 +/* B2C948 802404D8 00000000 */ nop +/* B2C94C 802404DC 45000003 */ bc1f .L802404EC +/* B2C950 802404E0 2631000C */ addiu $s1, $s1, 0xc +/* B2C954 802404E4 46000506 */ mov.s $f20, $f0 +/* B2C958 802404E8 AEB20078 */ sw $s2, 0x78($s5) +.L802404EC: +/* B2C95C 802404EC 8E6300D0 */ lw $v1, 0xd0($s3) +/* B2C960 802404F0 26100001 */ addiu $s0, $s0, 1 +/* B2C964 802404F4 8C620000 */ lw $v0, ($v1) +/* B2C968 802404F8 0202102A */ slt $v0, $s0, $v0 +/* B2C96C 802404FC 1440FFEB */ bnez $v0, .L802404AC +/* B2C970 80240500 26520001 */ addiu $s2, $s2, 1 +.L80240504: +/* B2C974 80240504 8E6200CC */ lw $v0, 0xcc($s3) +/* B2C978 80240508 8C420004 */ lw $v0, 4($v0) +/* B2C97C 8024050C AE820028 */ sw $v0, 0x28($s4) +/* B2C980 80240510 8E6200D0 */ lw $v0, 0xd0($s3) +/* B2C984 80240514 8C42007C */ lw $v0, 0x7c($v0) +/* B2C988 80240518 04410004 */ bgez $v0, .L8024052C +/* B2C98C 8024051C 00000000 */ nop +/* B2C990 80240520 C6C00000 */ lwc1 $f0, ($s6) +/* B2C994 80240524 08090153 */ j .L8024054C +/* B2C998 80240528 E6800018 */ swc1 $f0, 0x18($s4) +.L8024052C: +/* B2C99C 8024052C 3C018025 */ lui $at, 0x8025 +/* B2C9A0 80240530 D42285C0 */ ldc1 $f2, -0x7a40($at) +/* B2C9A4 80240534 44820000 */ mtc1 $v0, $f0 +/* B2C9A8 80240538 00000000 */ nop +/* B2C9AC 8024053C 46800021 */ cvt.d.w $f0, $f0 +/* B2C9B0 80240540 46220003 */ div.d $f0, $f0, $f2 +/* B2C9B4 80240544 46200020 */ cvt.s.d $f0, $f0 +/* B2C9B8 80240548 E6800018 */ swc1 $f0, 0x18($s4) +.L8024054C: +/* B2C9BC 8024054C 24020001 */ addiu $v0, $zero, 1 +/* B2C9C0 80240550 AEA20070 */ sw $v0, 0x70($s5) +/* B2C9C4 80240554 8FBF002C */ lw $ra, 0x2c($sp) +/* B2C9C8 80240558 8FB60028 */ lw $s6, 0x28($sp) +/* B2C9CC 8024055C 8FB50024 */ lw $s5, 0x24($sp) +/* B2C9D0 80240560 8FB40020 */ lw $s4, 0x20($sp) +/* B2C9D4 80240564 8FB3001C */ lw $s3, 0x1c($sp) +/* B2C9D8 80240568 8FB20018 */ lw $s2, 0x18($sp) +/* B2C9DC 8024056C 8FB10014 */ lw $s1, 0x14($sp) +/* B2C9E0 80240570 8FB00010 */ lw $s0, 0x10($sp) +/* B2C9E4 80240574 D7B80040 */ ldc1 $f24, 0x40($sp) +/* B2C9E8 80240578 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B2C9EC 8024057C D7B40030 */ ldc1 $f20, 0x30($sp) +/* B2C9F0 80240580 03E00008 */ jr $ra +/* B2C9F4 80240584 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240588.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240588.s new file mode 100644 index 0000000000..34c383cc3d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240588.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240588 +/* B2C9F8 80240588 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B2C9FC 8024058C AFB20038 */ sw $s2, 0x38($sp) +/* B2CA00 80240590 0080902D */ daddu $s2, $a0, $zero +/* B2CA04 80240594 AFBF0044 */ sw $ra, 0x44($sp) +/* B2CA08 80240598 AFB40040 */ sw $s4, 0x40($sp) +/* B2CA0C 8024059C AFB3003C */ sw $s3, 0x3c($sp) +/* B2CA10 802405A0 AFB10034 */ sw $s1, 0x34($sp) +/* B2CA14 802405A4 AFB00030 */ sw $s0, 0x30($sp) +/* B2CA18 802405A8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B2CA1C 802405AC F7B40048 */ sdc1 $f20, 0x48($sp) +/* B2CA20 802405B0 8E510148 */ lw $s1, 0x148($s2) +/* B2CA24 802405B4 00A0982D */ daddu $s3, $a1, $zero +/* B2CA28 802405B8 86240008 */ lh $a0, 8($s1) +/* B2CA2C 802405BC 0C00EABB */ jal get_npc_unsafe +/* B2CA30 802405C0 00C0A02D */ daddu $s4, $a2, $zero +/* B2CA34 802405C4 8E630014 */ lw $v1, 0x14($s3) +/* B2CA38 802405C8 04600030 */ bltz $v1, .L8024068C +/* B2CA3C 802405CC 0040802D */ daddu $s0, $v0, $zero +/* B2CA40 802405D0 8E420074 */ lw $v0, 0x74($s2) +/* B2CA44 802405D4 1C40002C */ bgtz $v0, .L80240688 +/* B2CA48 802405D8 2442FFFF */ addiu $v0, $v0, -1 +/* B2CA4C 802405DC 0280202D */ daddu $a0, $s4, $zero +/* B2CA50 802405E0 AE430074 */ sw $v1, 0x74($s2) +/* B2CA54 802405E4 AFA00010 */ sw $zero, 0x10($sp) +/* B2CA58 802405E8 8E66000C */ lw $a2, 0xc($s3) +/* B2CA5C 802405EC 8E670010 */ lw $a3, 0x10($s3) +/* B2CA60 802405F0 0C01242D */ jal func_800490B4 +/* B2CA64 802405F4 0220282D */ daddu $a1, $s1, $zero +/* B2CA68 802405F8 10400021 */ beqz $v0, .L80240680 +/* B2CA6C 802405FC 0000202D */ daddu $a0, $zero, $zero +/* B2CA70 80240600 0200282D */ daddu $a1, $s0, $zero +/* B2CA74 80240604 0000302D */ daddu $a2, $zero, $zero +/* B2CA78 80240608 860300A8 */ lh $v1, 0xa8($s0) +/* B2CA7C 8024060C 3C013F80 */ lui $at, 0x3f80 +/* B2CA80 80240610 44810000 */ mtc1 $at, $f0 +/* B2CA84 80240614 3C014000 */ lui $at, 0x4000 +/* B2CA88 80240618 44811000 */ mtc1 $at, $f2 +/* B2CA8C 8024061C 3C01C1A0 */ lui $at, 0xc1a0 +/* B2CA90 80240620 44812000 */ mtc1 $at, $f4 +/* B2CA94 80240624 2402000F */ addiu $v0, $zero, 0xf +/* B2CA98 80240628 AFA2001C */ sw $v0, 0x1c($sp) +/* B2CA9C 8024062C 44833000 */ mtc1 $v1, $f6 +/* B2CAA0 80240630 00000000 */ nop +/* B2CAA4 80240634 468031A0 */ cvt.s.w $f6, $f6 +/* B2CAA8 80240638 44073000 */ mfc1 $a3, $f6 +/* B2CAAC 8024063C 27A20028 */ addiu $v0, $sp, 0x28 +/* B2CAB0 80240640 AFA20020 */ sw $v0, 0x20($sp) +/* B2CAB4 80240644 E7A00010 */ swc1 $f0, 0x10($sp) +/* B2CAB8 80240648 E7A20014 */ swc1 $f2, 0x14($sp) +/* B2CABC 8024064C 0C01BFA4 */ jal fx_emote +/* B2CAC0 80240650 E7A40018 */ swc1 $f4, 0x18($sp) +/* B2CAC4 80240654 0200202D */ daddu $a0, $s0, $zero +/* B2CAC8 80240658 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B2CACC 8024065C 0C012530 */ jal func_800494C0 +/* B2CAD0 80240660 3C060020 */ lui $a2, 0x20 +/* B2CAD4 80240664 8E220018 */ lw $v0, 0x18($s1) +/* B2CAD8 80240668 9442002A */ lhu $v0, 0x2a($v0) +/* B2CADC 8024066C 30420001 */ andi $v0, $v0, 1 +/* B2CAE0 80240670 14400064 */ bnez $v0, .L80240804 +/* B2CAE4 80240674 2402000A */ addiu $v0, $zero, 0xa +/* B2CAE8 80240678 08090201 */ j .L80240804 +/* B2CAEC 8024067C 2402000C */ addiu $v0, $zero, 0xc +.L80240680: +/* B2CAF0 80240680 8E420074 */ lw $v0, 0x74($s2) +/* B2CAF4 80240684 2442FFFF */ addiu $v0, $v0, -1 +.L80240688: +/* B2CAF8 80240688 AE420074 */ sw $v0, 0x74($s2) +.L8024068C: +/* B2CAFC 8024068C 8602008C */ lh $v0, 0x8c($s0) +/* B2CB00 80240690 1440005D */ bnez $v0, .L80240808 +/* B2CB04 80240694 00000000 */ nop +/* B2CB08 80240698 C6000018 */ lwc1 $f0, 0x18($s0) +/* B2CB0C 8024069C 3C014010 */ lui $at, 0x4010 +/* B2CB10 802406A0 44811800 */ mtc1 $at, $f3 +/* B2CB14 802406A4 44801000 */ mtc1 $zero, $f2 +/* B2CB18 802406A8 46000021 */ cvt.d.s $f0, $f0 +/* B2CB1C 802406AC 4622003C */ c.lt.d $f0, $f2 +/* B2CB20 802406B0 00000000 */ nop +/* B2CB24 802406B4 45000003 */ bc1f .L802406C4 +/* B2CB28 802406B8 0200202D */ daddu $a0, $s0, $zero +/* B2CB2C 802406BC 080901B2 */ j .L802406C8 +/* B2CB30 802406C0 0000282D */ daddu $a1, $zero, $zero +.L802406C4: +/* B2CB34 802406C4 24050001 */ addiu $a1, $zero, 1 +.L802406C8: +/* B2CB38 802406C8 0C00F598 */ jal func_8003D660 +/* B2CB3C 802406CC 00000000 */ nop +/* B2CB40 802406D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B2CB44 802406D4 8E430078 */ lw $v1, 0x78($s2) +/* B2CB48 802406D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B2CB4C 802406DC 00031040 */ sll $v0, $v1, 1 +/* B2CB50 802406E0 00431021 */ addu $v0, $v0, $v1 +/* B2CB54 802406E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2CB58 802406E8 00021080 */ sll $v0, $v0, 2 +/* B2CB5C 802406EC 00431021 */ addu $v0, $v0, $v1 +/* B2CB60 802406F0 C4560004 */ lwc1 $f22, 4($v0) +/* B2CB64 802406F4 4680B5A0 */ cvt.s.w $f22, $f22 +/* B2CB68 802406F8 C454000C */ lwc1 $f20, 0xc($v0) +/* B2CB6C 802406FC 4680A520 */ cvt.s.w $f20, $f20 +/* B2CB70 80240700 4406B000 */ mfc1 $a2, $f22 +/* B2CB74 80240704 4407A000 */ mfc1 $a3, $f20 +/* B2CB78 80240708 0C00A720 */ jal atan2 +/* B2CB7C 8024070C 00000000 */ nop +/* B2CB80 80240710 8E050018 */ lw $a1, 0x18($s0) +/* B2CB84 80240714 44060000 */ mfc1 $a2, $f0 +/* B2CB88 80240718 0200202D */ daddu $a0, $s0, $zero +/* B2CB8C 8024071C 0C00EA95 */ jal npc_move_heading +/* B2CB90 80240720 AE06000C */ sw $a2, 0xc($s0) +/* B2CB94 80240724 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B2CB98 80240728 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B2CB9C 8024072C 4406B000 */ mfc1 $a2, $f22 +/* B2CBA0 80240730 4407A000 */ mfc1 $a3, $f20 +/* B2CBA4 80240734 0C00A7B5 */ jal dist2D +/* B2CBA8 80240738 00000000 */ nop +/* B2CBAC 8024073C C6020018 */ lwc1 $f2, 0x18($s0) +/* B2CBB0 80240740 4602003E */ c.le.s $f0, $f2 +/* B2CBB4 80240744 00000000 */ nop +/* B2CBB8 80240748 4500002F */ bc1f .L80240808 +/* B2CBBC 8024074C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B2CBC0 80240750 24020002 */ addiu $v0, $zero, 2 +/* B2CBC4 80240754 0C00A67F */ jal rand_int +/* B2CBC8 80240758 AE420070 */ sw $v0, 0x70($s2) +/* B2CBCC 8024075C 3C035555 */ lui $v1, 0x5555 +/* B2CBD0 80240760 34635556 */ ori $v1, $v1, 0x5556 +/* B2CBD4 80240764 00430018 */ mult $v0, $v1 +/* B2CBD8 80240768 000227C3 */ sra $a0, $v0, 0x1f +/* B2CBDC 8024076C 00004010 */ mfhi $t0 +/* B2CBE0 80240770 01042023 */ subu $a0, $t0, $a0 +/* B2CBE4 80240774 00041840 */ sll $v1, $a0, 1 +/* B2CBE8 80240778 00641821 */ addu $v1, $v1, $a0 +/* B2CBEC 8024077C 00431023 */ subu $v0, $v0, $v1 +/* B2CBF0 80240780 24430002 */ addiu $v1, $v0, 2 +/* B2CBF4 80240784 AE430074 */ sw $v1, 0x74($s2) +/* B2CBF8 80240788 8E62002C */ lw $v0, 0x2c($s3) +/* B2CBFC 8024078C 18400009 */ blez $v0, .L802407B4 +/* B2CC00 80240790 24020004 */ addiu $v0, $zero, 4 +/* B2CC04 80240794 8E620004 */ lw $v0, 4($s3) +/* B2CC08 80240798 18400006 */ blez $v0, .L802407B4 +/* B2CC0C 8024079C 24020004 */ addiu $v0, $zero, 4 +/* B2CC10 802407A0 8E620008 */ lw $v0, 8($s3) +/* B2CC14 802407A4 18400003 */ blez $v0, .L802407B4 +/* B2CC18 802407A8 24020004 */ addiu $v0, $zero, 4 +/* B2CC1C 802407AC 14600002 */ bnez $v1, .L802407B8 +/* B2CC20 802407B0 00000000 */ nop +.L802407B4: +/* B2CC24 802407B4 AE420070 */ sw $v0, 0x70($s2) +.L802407B8: +/* B2CC28 802407B8 0C00A67F */ jal rand_int +/* B2CC2C 802407BC 24042710 */ addiu $a0, $zero, 0x2710 +/* B2CC30 802407C0 3C0351EB */ lui $v1, 0x51eb +/* B2CC34 802407C4 3463851F */ ori $v1, $v1, 0x851f +/* B2CC38 802407C8 00430018 */ mult $v0, $v1 +/* B2CC3C 802407CC 00021FC3 */ sra $v1, $v0, 0x1f +/* B2CC40 802407D0 00004010 */ mfhi $t0 +/* B2CC44 802407D4 00082143 */ sra $a0, $t0, 5 +/* B2CC48 802407D8 00832023 */ subu $a0, $a0, $v1 +/* B2CC4C 802407DC 00041840 */ sll $v1, $a0, 1 +/* B2CC50 802407E0 00641821 */ addu $v1, $v1, $a0 +/* B2CC54 802407E4 000318C0 */ sll $v1, $v1, 3 +/* B2CC58 802407E8 00641821 */ addu $v1, $v1, $a0 +/* B2CC5C 802407EC 00031880 */ sll $v1, $v1, 2 +/* B2CC60 802407F0 8E640004 */ lw $a0, 4($s3) +/* B2CC64 802407F4 00431023 */ subu $v0, $v0, $v1 +/* B2CC68 802407F8 0044102A */ slt $v0, $v0, $a0 +/* B2CC6C 802407FC 10400002 */ beqz $v0, .L80240808 +/* B2CC70 80240800 24020004 */ addiu $v0, $zero, 4 +.L80240804: +/* B2CC74 80240804 AE420070 */ sw $v0, 0x70($s2) +.L80240808: +/* B2CC78 80240808 8FBF0044 */ lw $ra, 0x44($sp) +/* B2CC7C 8024080C 8FB40040 */ lw $s4, 0x40($sp) +/* B2CC80 80240810 8FB3003C */ lw $s3, 0x3c($sp) +/* B2CC84 80240814 8FB20038 */ lw $s2, 0x38($sp) +/* B2CC88 80240818 8FB10034 */ lw $s1, 0x34($sp) +/* B2CC8C 8024081C 8FB00030 */ lw $s0, 0x30($sp) +/* B2CC90 80240820 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B2CC94 80240824 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B2CC98 80240828 03E00008 */ jr $ra +/* B2CC9C 8024082C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240830_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240830_B2C470.s new file mode 100644 index 0000000000..140e1a0d97 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240830_B2C470.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240830_B2CCA0 +/* B2CCA0 80240830 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B2CCA4 80240834 AFB3001C */ sw $s3, 0x1c($sp) +/* B2CCA8 80240838 0080982D */ daddu $s3, $a0, $zero +/* B2CCAC 8024083C AFBF0020 */ sw $ra, 0x20($sp) +/* B2CCB0 80240840 AFB20018 */ sw $s2, 0x18($sp) +/* B2CCB4 80240844 AFB10014 */ sw $s1, 0x14($sp) +/* B2CCB8 80240848 AFB00010 */ sw $s0, 0x10($sp) +/* B2CCBC 8024084C 8E720148 */ lw $s2, 0x148($s3) +/* B2CCC0 80240850 86440008 */ lh $a0, 8($s2) +/* B2CCC4 80240854 0C00EABB */ jal get_npc_unsafe +/* B2CCC8 80240858 00A0882D */ daddu $s1, $a1, $zero +/* B2CCCC 8024085C 8E240008 */ lw $a0, 8($s1) +/* B2CCD0 80240860 0040802D */ daddu $s0, $v0, $zero +/* B2CCD4 80240864 00041FC2 */ srl $v1, $a0, 0x1f +/* B2CCD8 80240868 00832021 */ addu $a0, $a0, $v1 +/* B2CCDC 8024086C 00042043 */ sra $a0, $a0, 1 +/* B2CCE0 80240870 0C00A67F */ jal rand_int +/* B2CCE4 80240874 24840001 */ addiu $a0, $a0, 1 +/* B2CCE8 80240878 8E230008 */ lw $v1, 8($s1) +/* B2CCEC 8024087C 240400B4 */ addiu $a0, $zero, 0xb4 +/* B2CCF0 80240880 00032FC2 */ srl $a1, $v1, 0x1f +/* B2CCF4 80240884 00651821 */ addu $v1, $v1, $a1 +/* B2CCF8 80240888 00031843 */ sra $v1, $v1, 1 +/* B2CCFC 8024088C 00621821 */ addu $v1, $v1, $v0 +/* B2CD00 80240890 0C00A67F */ jal rand_int +/* B2CD04 80240894 A603008E */ sh $v1, 0x8e($s0) +/* B2CD08 80240898 C60C000C */ lwc1 $f12, 0xc($s0) +/* B2CD0C 8024089C 44820000 */ mtc1 $v0, $f0 +/* B2CD10 802408A0 00000000 */ nop +/* B2CD14 802408A4 46800020 */ cvt.s.w $f0, $f0 +/* B2CD18 802408A8 46006300 */ add.s $f12, $f12, $f0 +/* B2CD1C 802408AC 3C0142B4 */ lui $at, 0x42b4 +/* B2CD20 802408B0 44810000 */ mtc1 $at, $f0 +/* B2CD24 802408B4 0C00A6C9 */ jal clamp_angle +/* B2CD28 802408B8 46006301 */ sub.s $f12, $f12, $f0 +/* B2CD2C 802408BC E600000C */ swc1 $f0, 0xc($s0) +/* B2CD30 802408C0 8E4200CC */ lw $v0, 0xcc($s2) +/* B2CD34 802408C4 8C420000 */ lw $v0, ($v0) +/* B2CD38 802408C8 AE020028 */ sw $v0, 0x28($s0) +/* B2CD3C 802408CC 24020003 */ addiu $v0, $zero, 3 +/* B2CD40 802408D0 AE620070 */ sw $v0, 0x70($s3) +/* B2CD44 802408D4 8FBF0020 */ lw $ra, 0x20($sp) +/* B2CD48 802408D8 8FB3001C */ lw $s3, 0x1c($sp) +/* B2CD4C 802408DC 8FB20018 */ lw $s2, 0x18($sp) +/* B2CD50 802408E0 8FB10014 */ lw $s1, 0x14($sp) +/* B2CD54 802408E4 8FB00010 */ lw $s0, 0x10($sp) +/* B2CD58 802408E8 03E00008 */ jr $ra +/* B2CD5C 802408EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802408F0_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802408F0_B2C470.s new file mode 100644 index 0000000000..46d3502ead --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802408F0_B2C470.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F0_B2CD60 +/* B2CD60 802408F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2CD64 802408F4 AFB40040 */ sw $s4, 0x40($sp) +/* B2CD68 802408F8 0080A02D */ daddu $s4, $a0, $zero +/* B2CD6C 802408FC AFBF0044 */ sw $ra, 0x44($sp) +/* B2CD70 80240900 AFB3003C */ sw $s3, 0x3c($sp) +/* B2CD74 80240904 AFB20038 */ sw $s2, 0x38($sp) +/* B2CD78 80240908 AFB10034 */ sw $s1, 0x34($sp) +/* B2CD7C 8024090C AFB00030 */ sw $s0, 0x30($sp) +/* B2CD80 80240910 8E910148 */ lw $s1, 0x148($s4) +/* B2CD84 80240914 00A0902D */ daddu $s2, $a1, $zero +/* B2CD88 80240918 86240008 */ lh $a0, 8($s1) +/* B2CD8C 8024091C 0C00EABB */ jal get_npc_unsafe +/* B2CD90 80240920 00C0982D */ daddu $s3, $a2, $zero +/* B2CD94 80240924 8E430014 */ lw $v1, 0x14($s2) +/* B2CD98 80240928 04600031 */ bltz $v1, .L802409F0 +/* B2CD9C 8024092C 0040802D */ daddu $s0, $v0, $zero +/* B2CDA0 80240930 0260202D */ daddu $a0, $s3, $zero +/* B2CDA4 80240934 AFA00010 */ sw $zero, 0x10($sp) +/* B2CDA8 80240938 8E460024 */ lw $a2, 0x24($s2) +/* B2CDAC 8024093C 8E470028 */ lw $a3, 0x28($s2) +/* B2CDB0 80240940 0C01242D */ jal func_800490B4 +/* B2CDB4 80240944 0220282D */ daddu $a1, $s1, $zero +/* B2CDB8 80240948 10400029 */ beqz $v0, .L802409F0 +/* B2CDBC 8024094C 0000202D */ daddu $a0, $zero, $zero +/* B2CDC0 80240950 0200282D */ daddu $a1, $s0, $zero +/* B2CDC4 80240954 0000302D */ daddu $a2, $zero, $zero +/* B2CDC8 80240958 860300A8 */ lh $v1, 0xa8($s0) +/* B2CDCC 8024095C 3C013F80 */ lui $at, 0x3f80 +/* B2CDD0 80240960 44810000 */ mtc1 $at, $f0 +/* B2CDD4 80240964 3C014000 */ lui $at, 0x4000 +/* B2CDD8 80240968 44811000 */ mtc1 $at, $f2 +/* B2CDDC 8024096C 3C01C1A0 */ lui $at, 0xc1a0 +/* B2CDE0 80240970 44812000 */ mtc1 $at, $f4 +/* B2CDE4 80240974 2402000F */ addiu $v0, $zero, 0xf +/* B2CDE8 80240978 AFA2001C */ sw $v0, 0x1c($sp) +/* B2CDEC 8024097C 44833000 */ mtc1 $v1, $f6 +/* B2CDF0 80240980 00000000 */ nop +/* B2CDF4 80240984 468031A0 */ cvt.s.w $f6, $f6 +/* B2CDF8 80240988 44073000 */ mfc1 $a3, $f6 +/* B2CDFC 8024098C 27A20028 */ addiu $v0, $sp, 0x28 +/* B2CE00 80240990 AFA20020 */ sw $v0, 0x20($sp) +/* B2CE04 80240994 E7A00010 */ swc1 $f0, 0x10($sp) +/* B2CE08 80240998 E7A20014 */ swc1 $f2, 0x14($sp) +/* B2CE0C 8024099C 0C01BFA4 */ jal fx_emote +/* B2CE10 802409A0 E7A40018 */ swc1 $f4, 0x18($sp) +/* B2CE14 802409A4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B2CE18 802409A8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B2CE1C 802409AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* B2CE20 802409B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B2CE24 802409B4 8C460028 */ lw $a2, 0x28($v0) +/* B2CE28 802409B8 0C00A720 */ jal atan2 +/* B2CE2C 802409BC 8C470030 */ lw $a3, 0x30($v0) +/* B2CE30 802409C0 0200202D */ daddu $a0, $s0, $zero +/* B2CE34 802409C4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B2CE38 802409C8 3C060020 */ lui $a2, 0x20 +/* B2CE3C 802409CC 0C012530 */ jal func_800494C0 +/* B2CE40 802409D0 E480000C */ swc1 $f0, 0xc($a0) +/* B2CE44 802409D4 8E220018 */ lw $v0, 0x18($s1) +/* B2CE48 802409D8 9442002A */ lhu $v0, 0x2a($v0) +/* B2CE4C 802409DC 30420001 */ andi $v0, $v0, 1 +/* B2CE50 802409E0 14400029 */ bnez $v0, .L80240A88 +/* B2CE54 802409E4 2402000A */ addiu $v0, $zero, 0xa +/* B2CE58 802409E8 080902A2 */ j .L80240A88 +/* B2CE5C 802409EC 2402000C */ addiu $v0, $zero, 0xc +.L802409F0: +/* B2CE60 802409F0 8602008C */ lh $v0, 0x8c($s0) +/* B2CE64 802409F4 14400025 */ bnez $v0, .L80240A8C +/* B2CE68 802409F8 00000000 */ nop +/* B2CE6C 802409FC 9602008E */ lhu $v0, 0x8e($s0) +/* B2CE70 80240A00 2442FFFF */ addiu $v0, $v0, -1 +/* B2CE74 80240A04 A602008E */ sh $v0, 0x8e($s0) +/* B2CE78 80240A08 00021400 */ sll $v0, $v0, 0x10 +/* B2CE7C 80240A0C 1440001F */ bnez $v0, .L80240A8C +/* B2CE80 80240A10 00000000 */ nop +/* B2CE84 80240A14 8E820074 */ lw $v0, 0x74($s4) +/* B2CE88 80240A18 2442FFFF */ addiu $v0, $v0, -1 +/* B2CE8C 80240A1C 10400019 */ beqz $v0, .L80240A84 +/* B2CE90 80240A20 AE820074 */ sw $v0, 0x74($s4) +/* B2CE94 80240A24 8E220018 */ lw $v0, 0x18($s1) +/* B2CE98 80240A28 9442002A */ lhu $v0, 0x2a($v0) +/* B2CE9C 80240A2C 30420010 */ andi $v0, $v0, 0x10 +/* B2CEA0 80240A30 14400007 */ bnez $v0, .L80240A50 +/* B2CEA4 80240A34 00000000 */ nop +/* B2CEA8 80240A38 C600000C */ lwc1 $f0, 0xc($s0) +/* B2CEAC 80240A3C 3C014334 */ lui $at, 0x4334 +/* B2CEB0 80240A40 44816000 */ mtc1 $at, $f12 +/* B2CEB4 80240A44 0C00A6C9 */ jal clamp_angle +/* B2CEB8 80240A48 460C0300 */ add.s $f12, $f0, $f12 +/* B2CEBC 80240A4C E600000C */ swc1 $f0, 0xc($s0) +.L80240A50: +/* B2CEC0 80240A50 8E440008 */ lw $a0, 8($s2) +/* B2CEC4 80240A54 000417C2 */ srl $v0, $a0, 0x1f +/* B2CEC8 80240A58 00822021 */ addu $a0, $a0, $v0 +/* B2CECC 80240A5C 00042043 */ sra $a0, $a0, 1 +/* B2CED0 80240A60 0C00A67F */ jal rand_int +/* B2CED4 80240A64 24840001 */ addiu $a0, $a0, 1 +/* B2CED8 80240A68 8E430008 */ lw $v1, 8($s2) +/* B2CEDC 80240A6C 000327C2 */ srl $a0, $v1, 0x1f +/* B2CEE0 80240A70 00641821 */ addu $v1, $v1, $a0 +/* B2CEE4 80240A74 00031843 */ sra $v1, $v1, 1 +/* B2CEE8 80240A78 00621821 */ addu $v1, $v1, $v0 +/* B2CEEC 80240A7C 080902A3 */ j .L80240A8C +/* B2CEF0 80240A80 A603008E */ sh $v1, 0x8e($s0) +.L80240A84: +/* B2CEF4 80240A84 24020004 */ addiu $v0, $zero, 4 +.L80240A88: +/* B2CEF8 80240A88 AE820070 */ sw $v0, 0x70($s4) +.L80240A8C: +/* B2CEFC 80240A8C 8FBF0044 */ lw $ra, 0x44($sp) +/* B2CF00 80240A90 8FB40040 */ lw $s4, 0x40($sp) +/* B2CF04 80240A94 8FB3003C */ lw $s3, 0x3c($sp) +/* B2CF08 80240A98 8FB20038 */ lw $s2, 0x38($sp) +/* B2CF0C 80240A9C 8FB10034 */ lw $s1, 0x34($sp) +/* B2CF10 80240AA0 8FB00030 */ lw $s0, 0x30($sp) +/* B2CF14 80240AA4 03E00008 */ jr $ra +/* B2CF18 80240AA8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240AAC_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240AAC_B2C470.s new file mode 100644 index 0000000000..4c2c27a33c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240AAC_B2C470.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_B2CF1C +/* B2CF1C 80240AAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2CF20 80240AB0 AFB10014 */ sw $s1, 0x14($sp) +/* B2CF24 80240AB4 0080882D */ daddu $s1, $a0, $zero +/* B2CF28 80240AB8 AFBF001C */ sw $ra, 0x1c($sp) +/* B2CF2C 80240ABC AFB20018 */ sw $s2, 0x18($sp) +/* B2CF30 80240AC0 AFB00010 */ sw $s0, 0x10($sp) +/* B2CF34 80240AC4 8E300148 */ lw $s0, 0x148($s1) +/* B2CF38 80240AC8 86040008 */ lh $a0, 8($s0) +/* B2CF3C 80240ACC 0C00EABB */ jal get_npc_unsafe +/* B2CF40 80240AD0 00A0902D */ daddu $s2, $a1, $zero +/* B2CF44 80240AD4 8E230078 */ lw $v1, 0x78($s1) +/* B2CF48 80240AD8 24630001 */ addiu $v1, $v1, 1 +/* B2CF4C 80240ADC AE230078 */ sw $v1, 0x78($s1) +/* B2CF50 80240AE0 8E0400D0 */ lw $a0, 0xd0($s0) +/* B2CF54 80240AE4 8C840000 */ lw $a0, ($a0) +/* B2CF58 80240AE8 0064182A */ slt $v1, $v1, $a0 +/* B2CF5C 80240AEC 14600002 */ bnez $v1, .L80240AF8 +/* B2CF60 80240AF0 0040282D */ daddu $a1, $v0, $zero +/* B2CF64 80240AF4 AE200078 */ sw $zero, 0x78($s1) +.L80240AF8: +/* B2CF68 80240AF8 8E0200CC */ lw $v0, 0xcc($s0) +/* B2CF6C 80240AFC 8C420004 */ lw $v0, 4($v0) +/* B2CF70 80240B00 ACA20028 */ sw $v0, 0x28($a1) +/* B2CF74 80240B04 8E0200D0 */ lw $v0, 0xd0($s0) +/* B2CF78 80240B08 8C42007C */ lw $v0, 0x7c($v0) +/* B2CF7C 80240B0C 04410004 */ bgez $v0, .L80240B20 +/* B2CF80 80240B10 00000000 */ nop +/* B2CF84 80240B14 C6400000 */ lwc1 $f0, ($s2) +/* B2CF88 80240B18 080902D0 */ j .L80240B40 +/* B2CF8C 80240B1C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240B20: +/* B2CF90 80240B20 3C018025 */ lui $at, 0x8025 +/* B2CF94 80240B24 D42285C8 */ ldc1 $f2, -0x7a38($at) +/* B2CF98 80240B28 44820000 */ mtc1 $v0, $f0 +/* B2CF9C 80240B2C 00000000 */ nop +/* B2CFA0 80240B30 46800021 */ cvt.d.w $f0, $f0 +/* B2CFA4 80240B34 46220003 */ div.d $f0, $f0, $f2 +/* B2CFA8 80240B38 46200020 */ cvt.s.d $f0, $f0 +/* B2CFAC 80240B3C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240B40: +/* B2CFB0 80240B40 24020001 */ addiu $v0, $zero, 1 +/* B2CFB4 80240B44 AE220070 */ sw $v0, 0x70($s1) +/* B2CFB8 80240B48 8FBF001C */ lw $ra, 0x1c($sp) +/* B2CFBC 80240B4C 8FB20018 */ lw $s2, 0x18($sp) +/* B2CFC0 80240B50 8FB10014 */ lw $s1, 0x14($sp) +/* B2CFC4 80240B54 8FB00010 */ lw $s0, 0x10($sp) +/* B2CFC8 80240B58 03E00008 */ jr $ra +/* B2CFCC 80240B5C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240B60_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240B60_B2C470.s new file mode 100644 index 0000000000..06ab47a00a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240B60_B2C470.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B60_B2CFD0 +/* B2CFD0 80240B60 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2CFD4 80240B64 AFB10014 */ sw $s1, 0x14($sp) +/* B2CFD8 80240B68 0080882D */ daddu $s1, $a0, $zero +/* B2CFDC 80240B6C AFBF0018 */ sw $ra, 0x18($sp) +/* B2CFE0 80240B70 AFB00010 */ sw $s0, 0x10($sp) +/* B2CFE4 80240B74 8E300148 */ lw $s0, 0x148($s1) +/* B2CFE8 80240B78 0C00EABB */ jal get_npc_unsafe +/* B2CFEC 80240B7C 86040008 */ lh $a0, 8($s0) +/* B2CFF0 80240B80 8E0300CC */ lw $v1, 0xcc($s0) +/* B2CFF4 80240B84 3C014120 */ lui $at, 0x4120 +/* B2CFF8 80240B88 44812000 */ mtc1 $at, $f4 +/* B2CFFC 80240B8C 3C014000 */ lui $at, 0x4000 +/* B2D000 80240B90 44810000 */ mtc1 $at, $f0 +/* B2D004 80240B94 C442003C */ lwc1 $f2, 0x3c($v0) +/* B2D008 80240B98 8C640010 */ lw $a0, 0x10($v1) +/* B2D00C 80240B9C 8C430000 */ lw $v1, ($v0) +/* B2D010 80240BA0 E444001C */ swc1 $f4, 0x1c($v0) +/* B2D014 80240BA4 E4400014 */ swc1 $f0, 0x14($v0) +/* B2D018 80240BA8 E4420064 */ swc1 $f2, 0x64($v0) +/* B2D01C 80240BAC 34630800 */ ori $v1, $v1, 0x800 +/* B2D020 80240BB0 AC430000 */ sw $v1, ($v0) +/* B2D024 80240BB4 AC440028 */ sw $a0, 0x28($v0) +/* B2D028 80240BB8 2402000B */ addiu $v0, $zero, 0xb +/* B2D02C 80240BBC AE220070 */ sw $v0, 0x70($s1) +/* B2D030 80240BC0 8FBF0018 */ lw $ra, 0x18($sp) +/* B2D034 80240BC4 8FB10014 */ lw $s1, 0x14($sp) +/* B2D038 80240BC8 8FB00010 */ lw $s0, 0x10($sp) +/* B2D03C 80240BCC 03E00008 */ jr $ra +/* B2D040 80240BD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240BD4_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240BD4_B2C470.s new file mode 100644 index 0000000000..6d863dd452 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240BD4_B2C470.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD4_B2D044 +/* B2D044 80240BD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2D048 80240BD8 AFB00010 */ sw $s0, 0x10($sp) +/* B2D04C 80240BDC 0080802D */ daddu $s0, $a0, $zero +/* B2D050 80240BE0 AFBF0014 */ sw $ra, 0x14($sp) +/* B2D054 80240BE4 8E020148 */ lw $v0, 0x148($s0) +/* B2D058 80240BE8 0C00EABB */ jal get_npc_unsafe +/* B2D05C 80240BEC 84440008 */ lh $a0, 8($v0) +/* B2D060 80240BF0 0040202D */ daddu $a0, $v0, $zero +/* B2D064 80240BF4 C482003C */ lwc1 $f2, 0x3c($a0) +/* B2D068 80240BF8 C480001C */ lwc1 $f0, 0x1c($a0) +/* B2D06C 80240BFC 46001080 */ add.s $f2, $f2, $f0 +/* B2D070 80240C00 C4840014 */ lwc1 $f4, 0x14($a0) +/* B2D074 80240C04 46040001 */ sub.s $f0, $f0, $f4 +/* B2D078 80240C08 C4840064 */ lwc1 $f4, 0x64($a0) +/* B2D07C 80240C0C 4602203C */ c.lt.s $f4, $f2 +/* B2D080 80240C10 E482003C */ swc1 $f2, 0x3c($a0) +/* B2D084 80240C14 45010009 */ bc1t .L80240C3C +/* B2D088 80240C18 E480001C */ swc1 $f0, 0x1c($a0) +/* B2D08C 80240C1C 8C820000 */ lw $v0, ($a0) +/* B2D090 80240C20 2403F7FF */ addiu $v1, $zero, -0x801 +/* B2D094 80240C24 E484003C */ swc1 $f4, 0x3c($a0) +/* B2D098 80240C28 AC80001C */ sw $zero, 0x1c($a0) +/* B2D09C 80240C2C 00431024 */ and $v0, $v0, $v1 +/* B2D0A0 80240C30 AC820000 */ sw $v0, ($a0) +/* B2D0A4 80240C34 2402000C */ addiu $v0, $zero, 0xc +/* B2D0A8 80240C38 AE020070 */ sw $v0, 0x70($s0) +.L80240C3C: +/* B2D0AC 80240C3C 8FBF0014 */ lw $ra, 0x14($sp) +/* B2D0B0 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* B2D0B4 80240C44 03E00008 */ jr $ra +/* B2D0B8 80240C48 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240C4C_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240C4C_B2C470.s new file mode 100644 index 0000000000..84888a42b2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240C4C_B2C470.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_B2D0BC +/* B2D0BC 80240C4C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B2D0C0 80240C50 AFB3001C */ sw $s3, 0x1c($sp) +/* B2D0C4 80240C54 0080982D */ daddu $s3, $a0, $zero +/* B2D0C8 80240C58 AFBF0020 */ sw $ra, 0x20($sp) +/* B2D0CC 80240C5C AFB20018 */ sw $s2, 0x18($sp) +/* B2D0D0 80240C60 AFB10014 */ sw $s1, 0x14($sp) +/* B2D0D4 80240C64 AFB00010 */ sw $s0, 0x10($sp) +/* B2D0D8 80240C68 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B2D0DC 80240C6C 8E710148 */ lw $s1, 0x148($s3) +/* B2D0E0 80240C70 86240008 */ lh $a0, 8($s1) +/* B2D0E4 80240C74 0C00EABB */ jal get_npc_unsafe +/* B2D0E8 80240C78 00A0802D */ daddu $s0, $a1, $zero +/* B2D0EC 80240C7C 8E040020 */ lw $a0, 0x20($s0) +/* B2D0F0 80240C80 0040902D */ daddu $s2, $v0, $zero +/* B2D0F4 80240C84 00041FC2 */ srl $v1, $a0, 0x1f +/* B2D0F8 80240C88 00832021 */ addu $a0, $a0, $v1 +/* B2D0FC 80240C8C 00042043 */ sra $a0, $a0, 1 +/* B2D100 80240C90 0C00A67F */ jal rand_int +/* B2D104 80240C94 24840001 */ addiu $a0, $a0, 1 +/* B2D108 80240C98 8E030020 */ lw $v1, 0x20($s0) +/* B2D10C 80240C9C C64C0038 */ lwc1 $f12, 0x38($s2) +/* B2D110 80240CA0 000327C2 */ srl $a0, $v1, 0x1f +/* B2D114 80240CA4 00641821 */ addu $v1, $v1, $a0 +/* B2D118 80240CA8 00031843 */ sra $v1, $v1, 1 +/* B2D11C 80240CAC 00621821 */ addu $v1, $v1, $v0 +/* B2D120 80240CB0 A643008E */ sh $v1, 0x8e($s2) +/* B2D124 80240CB4 8E2200CC */ lw $v0, 0xcc($s1) +/* B2D128 80240CB8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B2D12C 80240CBC 8C42000C */ lw $v0, 0xc($v0) +/* B2D130 80240CC0 AE420028 */ sw $v0, 0x28($s2) +/* B2D134 80240CC4 C6000018 */ lwc1 $f0, 0x18($s0) +/* B2D138 80240CC8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B2D13C 80240CCC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B2D140 80240CD0 E6400018 */ swc1 $f0, 0x18($s2) +/* B2D144 80240CD4 8C460028 */ lw $a2, 0x28($v0) +/* B2D148 80240CD8 0C00A720 */ jal atan2 +/* B2D14C 80240CDC 8C470030 */ lw $a3, 0x30($v0) +/* B2D150 80240CE0 46000506 */ mov.s $f20, $f0 +/* B2D154 80240CE4 C64C000C */ lwc1 $f12, 0xc($s2) +/* B2D158 80240CE8 0C00A70A */ jal get_clamped_angle_diff +/* B2D15C 80240CEC 4600A386 */ mov.s $f14, $f20 +/* B2D160 80240CF0 46000086 */ mov.s $f2, $f0 +/* B2D164 80240CF4 8E02001C */ lw $v0, 0x1c($s0) +/* B2D168 80240CF8 46001005 */ abs.s $f0, $f2 +/* B2D16C 80240CFC 44822000 */ mtc1 $v0, $f4 +/* B2D170 80240D00 00000000 */ nop +/* B2D174 80240D04 46802120 */ cvt.s.w $f4, $f4 +/* B2D178 80240D08 4600203C */ c.lt.s $f4, $f0 +/* B2D17C 80240D0C 00000000 */ nop +/* B2D180 80240D10 4500000D */ bc1f .L80240D48 +/* B2D184 80240D14 00000000 */ nop +/* B2D188 80240D18 44800000 */ mtc1 $zero, $f0 +/* B2D18C 80240D1C C654000C */ lwc1 $f20, 0xc($s2) +/* B2D190 80240D20 4600103C */ c.lt.s $f2, $f0 +/* B2D194 80240D24 00000000 */ nop +/* B2D198 80240D28 45000006 */ bc1f .L80240D44 +/* B2D19C 80240D2C 00021023 */ negu $v0, $v0 +/* B2D1A0 80240D30 44820000 */ mtc1 $v0, $f0 +/* B2D1A4 80240D34 00000000 */ nop +/* B2D1A8 80240D38 46800020 */ cvt.s.w $f0, $f0 +/* B2D1AC 80240D3C 08090352 */ j .L80240D48 +/* B2D1B0 80240D40 4600A500 */ add.s $f20, $f20, $f0 +.L80240D44: +/* B2D1B4 80240D44 4604A500 */ add.s $f20, $f20, $f4 +.L80240D48: +/* B2D1B8 80240D48 0C00A6C9 */ jal clamp_angle +/* B2D1BC 80240D4C 4600A306 */ mov.s $f12, $f20 +/* B2D1C0 80240D50 2402000D */ addiu $v0, $zero, 0xd +/* B2D1C4 80240D54 E640000C */ swc1 $f0, 0xc($s2) +/* B2D1C8 80240D58 AE620070 */ sw $v0, 0x70($s3) +/* B2D1CC 80240D5C 8FBF0020 */ lw $ra, 0x20($sp) +/* B2D1D0 80240D60 8FB3001C */ lw $s3, 0x1c($sp) +/* B2D1D4 80240D64 8FB20018 */ lw $s2, 0x18($sp) +/* B2D1D8 80240D68 8FB10014 */ lw $s1, 0x14($sp) +/* B2D1DC 80240D6C 8FB00010 */ lw $s0, 0x10($sp) +/* B2D1E0 80240D70 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B2D1E4 80240D74 03E00008 */ jr $ra +/* B2D1E8 80240D78 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240D7C.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240D7C.s new file mode 100644 index 0000000000..d2c58e3d2e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240D7C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D7C +/* B2D1EC 80240D7C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2D1F0 80240D80 AFB3003C */ sw $s3, 0x3c($sp) +/* B2D1F4 80240D84 0080982D */ daddu $s3, $a0, $zero +/* B2D1F8 80240D88 AFBF0040 */ sw $ra, 0x40($sp) +/* B2D1FC 80240D8C AFB20038 */ sw $s2, 0x38($sp) +/* B2D200 80240D90 AFB10034 */ sw $s1, 0x34($sp) +/* B2D204 80240D94 AFB00030 */ sw $s0, 0x30($sp) +/* B2D208 80240D98 8E720148 */ lw $s2, 0x148($s3) +/* B2D20C 80240D9C 00A0882D */ daddu $s1, $a1, $zero +/* B2D210 80240DA0 86440008 */ lh $a0, 8($s2) +/* B2D214 80240DA4 0C00EABB */ jal get_npc_unsafe +/* B2D218 80240DA8 00C0802D */ daddu $s0, $a2, $zero +/* B2D21C 80240DAC 0200202D */ daddu $a0, $s0, $zero +/* B2D220 80240DB0 0240282D */ daddu $a1, $s2, $zero +/* B2D224 80240DB4 24030001 */ addiu $v1, $zero, 1 +/* B2D228 80240DB8 AFA30010 */ sw $v1, 0x10($sp) +/* B2D22C 80240DBC 8E260024 */ lw $a2, 0x24($s1) +/* B2D230 80240DC0 8E270028 */ lw $a3, 0x28($s1) +/* B2D234 80240DC4 0C01242D */ jal func_800490B4 +/* B2D238 80240DC8 0040802D */ daddu $s0, $v0, $zero +/* B2D23C 80240DCC 1440001E */ bnez $v0, .L80240E48 +/* B2D240 80240DD0 0200202D */ daddu $a0, $s0, $zero +/* B2D244 80240DD4 24040002 */ addiu $a0, $zero, 2 +/* B2D248 80240DD8 0200282D */ daddu $a1, $s0, $zero +/* B2D24C 80240DDC 0000302D */ daddu $a2, $zero, $zero +/* B2D250 80240DE0 860300A8 */ lh $v1, 0xa8($s0) +/* B2D254 80240DE4 3C013F80 */ lui $at, 0x3f80 +/* B2D258 80240DE8 44810000 */ mtc1 $at, $f0 +/* B2D25C 80240DEC 3C014000 */ lui $at, 0x4000 +/* B2D260 80240DF0 44811000 */ mtc1 $at, $f2 +/* B2D264 80240DF4 3C01C1A0 */ lui $at, 0xc1a0 +/* B2D268 80240DF8 44812000 */ mtc1 $at, $f4 +/* B2D26C 80240DFC 2402000F */ addiu $v0, $zero, 0xf +/* B2D270 80240E00 AFA2001C */ sw $v0, 0x1c($sp) +/* B2D274 80240E04 44833000 */ mtc1 $v1, $f6 +/* B2D278 80240E08 00000000 */ nop +/* B2D27C 80240E0C 468031A0 */ cvt.s.w $f6, $f6 +/* B2D280 80240E10 44073000 */ mfc1 $a3, $f6 +/* B2D284 80240E14 27A20028 */ addiu $v0, $sp, 0x28 +/* B2D288 80240E18 AFA20020 */ sw $v0, 0x20($sp) +/* B2D28C 80240E1C E7A00010 */ swc1 $f0, 0x10($sp) +/* B2D290 80240E20 E7A20014 */ swc1 $f2, 0x14($sp) +/* B2D294 80240E24 0C01BFA4 */ jal fx_emote +/* B2D298 80240E28 E7A40018 */ swc1 $f4, 0x18($sp) +/* B2D29C 80240E2C 8E4200CC */ lw $v0, 0xcc($s2) +/* B2D2A0 80240E30 8C430000 */ lw $v1, ($v0) +/* B2D2A4 80240E34 24020019 */ addiu $v0, $zero, 0x19 +/* B2D2A8 80240E38 A602008E */ sh $v0, 0x8e($s0) +/* B2D2AC 80240E3C 2402000E */ addiu $v0, $zero, 0xe +/* B2D2B0 80240E40 0809039F */ j .L80240E7C +/* B2D2B4 80240E44 AE030028 */ sw $v1, 0x28($s0) +.L80240E48: +/* B2D2B8 80240E48 0C00F598 */ jal func_8003D660 +/* B2D2BC 80240E4C 24050001 */ addiu $a1, $zero, 1 +/* B2D2C0 80240E50 8E050018 */ lw $a1, 0x18($s0) +/* B2D2C4 80240E54 8E06000C */ lw $a2, 0xc($s0) +/* B2D2C8 80240E58 0C00EA95 */ jal npc_move_heading +/* B2D2CC 80240E5C 0200202D */ daddu $a0, $s0, $zero +/* B2D2D0 80240E60 8602008E */ lh $v0, 0x8e($s0) +/* B2D2D4 80240E64 9603008E */ lhu $v1, 0x8e($s0) +/* B2D2D8 80240E68 18400003 */ blez $v0, .L80240E78 +/* B2D2DC 80240E6C 2462FFFF */ addiu $v0, $v1, -1 +/* B2D2E0 80240E70 080903A0 */ j .L80240E80 +/* B2D2E4 80240E74 A602008E */ sh $v0, 0x8e($s0) +.L80240E78: +/* B2D2E8 80240E78 2402000C */ addiu $v0, $zero, 0xc +.L80240E7C: +/* B2D2EC 80240E7C AE620070 */ sw $v0, 0x70($s3) +.L80240E80: +/* B2D2F0 80240E80 8FBF0040 */ lw $ra, 0x40($sp) +/* B2D2F4 80240E84 8FB3003C */ lw $s3, 0x3c($sp) +/* B2D2F8 80240E88 8FB20038 */ lw $s2, 0x38($sp) +/* B2D2FC 80240E8C 8FB10034 */ lw $s1, 0x34($sp) +/* B2D300 80240E90 8FB00030 */ lw $s0, 0x30($sp) +/* B2D304 80240E94 03E00008 */ jr $ra +/* B2D308 80240E98 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240E9C_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240E9C_B2C470.s new file mode 100644 index 0000000000..dc96d5ef47 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240E9C_B2C470.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E9C_B2D30C +/* B2D30C 80240E9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2D310 80240EA0 AFB10014 */ sw $s1, 0x14($sp) +/* B2D314 80240EA4 0080882D */ daddu $s1, $a0, $zero +/* B2D318 80240EA8 AFBF0018 */ sw $ra, 0x18($sp) +/* B2D31C 80240EAC AFB00010 */ sw $s0, 0x10($sp) +/* B2D320 80240EB0 8E300148 */ lw $s0, 0x148($s1) +/* B2D324 80240EB4 0C00EABB */ jal get_npc_unsafe +/* B2D328 80240EB8 86040008 */ lh $a0, 8($s0) +/* B2D32C 80240EBC 9443008E */ lhu $v1, 0x8e($v0) +/* B2D330 80240EC0 2463FFFF */ addiu $v1, $v1, -1 +/* B2D334 80240EC4 A443008E */ sh $v1, 0x8e($v0) +/* B2D338 80240EC8 00031C00 */ sll $v1, $v1, 0x10 +/* B2D33C 80240ECC 14600008 */ bnez $v1, .L80240EF0 +/* B2D340 80240ED0 00000000 */ nop +/* B2D344 80240ED4 8E0200B0 */ lw $v0, 0xb0($s0) +/* B2D348 80240ED8 30420080 */ andi $v0, $v0, 0x80 +/* B2D34C 80240EDC 10400003 */ beqz $v0, .L80240EEC +/* B2D350 80240EE0 2402000F */ addiu $v0, $zero, 0xf +/* B2D354 80240EE4 080903BC */ j .L80240EF0 +/* B2D358 80240EE8 AE220070 */ sw $v0, 0x70($s1) +.L80240EEC: +/* B2D35C 80240EEC AE200070 */ sw $zero, 0x70($s1) +.L80240EF0: +/* B2D360 80240EF0 8FBF0018 */ lw $ra, 0x18($sp) +/* B2D364 80240EF4 8FB10014 */ lw $s1, 0x14($sp) +/* B2D368 80240EF8 8FB00010 */ lw $s0, 0x10($sp) +/* B2D36C 80240EFC 03E00008 */ jr $ra +/* B2D370 80240F00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240F04_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240F04_B2C470.s new file mode 100644 index 0000000000..633ea7c3c1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240F04_B2C470.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F04_B2D374 +/* B2D374 80240F04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2D378 80240F08 AFB10014 */ sw $s1, 0x14($sp) +/* B2D37C 80240F0C 0080882D */ daddu $s1, $a0, $zero +/* B2D380 80240F10 AFBF001C */ sw $ra, 0x1c($sp) +/* B2D384 80240F14 AFB20018 */ sw $s2, 0x18($sp) +/* B2D388 80240F18 AFB00010 */ sw $s0, 0x10($sp) +/* B2D38C 80240F1C 8E300148 */ lw $s0, 0x148($s1) +/* B2D390 80240F20 86040008 */ lh $a0, 8($s0) +/* B2D394 80240F24 0C00EABB */ jal get_npc_unsafe +/* B2D398 80240F28 00A0902D */ daddu $s2, $a1, $zero +/* B2D39C 80240F2C 8E0300D0 */ lw $v1, 0xd0($s0) +/* B2D3A0 80240F30 8E240078 */ lw $a0, 0x78($s1) +/* B2D3A4 80240F34 8C630000 */ lw $v1, ($v1) +/* B2D3A8 80240F38 0083182A */ slt $v1, $a0, $v1 +/* B2D3AC 80240F3C 10600013 */ beqz $v1, .L80240F8C +/* B2D3B0 80240F40 0040302D */ daddu $a2, $v0, $zero +/* B2D3B4 80240F44 00041040 */ sll $v0, $a0, 1 +/* B2D3B8 80240F48 00441021 */ addu $v0, $v0, $a0 +/* B2D3BC 80240F4C 00022880 */ sll $a1, $v0, 2 +.L80240F50: +/* B2D3C0 80240F50 8E0300D0 */ lw $v1, 0xd0($s0) +/* B2D3C4 80240F54 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* B2D3C8 80240F58 00A31021 */ addu $v0, $a1, $v1 +/* B2D3CC 80240F5C C4400008 */ lwc1 $f0, 8($v0) +/* B2D3D0 80240F60 46800020 */ cvt.s.w $f0, $f0 +/* B2D3D4 80240F64 4602003E */ c.le.s $f0, $f2 +/* B2D3D8 80240F68 00000000 */ nop +/* B2D3DC 80240F6C 45020003 */ bc1fl .L80240F7C +/* B2D3E0 80240F70 24840001 */ addiu $a0, $a0, 1 +/* B2D3E4 80240F74 080903E3 */ j .L80240F8C +/* B2D3E8 80240F78 AE240078 */ sw $a0, 0x78($s1) +.L80240F7C: +/* B2D3EC 80240F7C 8C620000 */ lw $v0, ($v1) +/* B2D3F0 80240F80 0082102A */ slt $v0, $a0, $v0 +/* B2D3F4 80240F84 1440FFF2 */ bnez $v0, .L80240F50 +/* B2D3F8 80240F88 24A5000C */ addiu $a1, $a1, 0xc +.L80240F8C: +/* B2D3FC 80240F8C C6400000 */ lwc1 $f0, ($s2) +/* B2D400 80240F90 E4C00018 */ swc1 $f0, 0x18($a2) +/* B2D404 80240F94 8E0200CC */ lw $v0, 0xcc($s0) +/* B2D408 80240F98 8C420004 */ lw $v0, 4($v0) +/* B2D40C 80240F9C ACC20028 */ sw $v0, 0x28($a2) +/* B2D410 80240FA0 24020001 */ addiu $v0, $zero, 1 +/* B2D414 80240FA4 AE200074 */ sw $zero, 0x74($s1) +/* B2D418 80240FA8 AE220070 */ sw $v0, 0x70($s1) +/* B2D41C 80240FAC 8FBF001C */ lw $ra, 0x1c($sp) +/* B2D420 80240FB0 8FB20018 */ lw $s2, 0x18($sp) +/* B2D424 80240FB4 8FB10014 */ lw $s1, 0x14($sp) +/* B2D428 80240FB8 8FB00010 */ lw $s0, 0x10($sp) +/* B2D42C 80240FBC 03E00008 */ jr $ra +/* B2D430 80240FC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80240FC4.s b/asm/nonmatchings/world/area_jan/jan_02/func_80240FC4.s new file mode 100644 index 0000000000..7f5a665758 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80240FC4.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FC4 +/* B2D434 80240FC4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B2D438 80240FC8 AFB40058 */ sw $s4, 0x58($sp) +/* B2D43C 80240FCC 0080A02D */ daddu $s4, $a0, $zero +/* B2D440 80240FD0 AFBF0060 */ sw $ra, 0x60($sp) +/* B2D444 80240FD4 AFB5005C */ sw $s5, 0x5c($sp) +/* B2D448 80240FD8 AFB30054 */ sw $s3, 0x54($sp) +/* B2D44C 80240FDC AFB20050 */ sw $s2, 0x50($sp) +/* B2D450 80240FE0 AFB1004C */ sw $s1, 0x4c($sp) +/* B2D454 80240FE4 AFB00048 */ sw $s0, 0x48($sp) +/* B2D458 80240FE8 8E910148 */ lw $s1, 0x148($s4) +/* B2D45C 80240FEC 86240008 */ lh $a0, 8($s1) +/* B2D460 80240FF0 0C00EABB */ jal get_npc_unsafe +/* B2D464 80240FF4 00A0802D */ daddu $s0, $a1, $zero +/* B2D468 80240FF8 8E83000C */ lw $v1, 0xc($s4) +/* B2D46C 80240FFC 0280202D */ daddu $a0, $s4, $zero +/* B2D470 80241000 8C650000 */ lw $a1, ($v1) +/* B2D474 80241004 0C0B1EAF */ jal get_variable +/* B2D478 80241008 0040902D */ daddu $s2, $v0, $zero +/* B2D47C 8024100C AFA00018 */ sw $zero, 0x18($sp) +/* B2D480 80241010 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2D484 80241014 8C630094 */ lw $v1, 0x94($v1) +/* B2D488 80241018 AFA3001C */ sw $v1, 0x1c($sp) +/* B2D48C 8024101C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2D490 80241020 8C630080 */ lw $v1, 0x80($v1) +/* B2D494 80241024 AFA30020 */ sw $v1, 0x20($sp) +/* B2D498 80241028 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2D49C 8024102C 8C630088 */ lw $v1, 0x88($v1) +/* B2D4A0 80241030 AFA30024 */ sw $v1, 0x24($sp) +/* B2D4A4 80241034 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2D4A8 80241038 8C63008C */ lw $v1, 0x8c($v1) +/* B2D4AC 8024103C 27B50018 */ addiu $s5, $sp, 0x18 +/* B2D4B0 80241040 AFA30028 */ sw $v1, 0x28($sp) +/* B2D4B4 80241044 8E2300D0 */ lw $v1, 0xd0($s1) +/* B2D4B8 80241048 3C014282 */ lui $at, 0x4282 +/* B2D4BC 8024104C 44810000 */ mtc1 $at, $f0 +/* B2D4C0 80241050 8C630090 */ lw $v1, 0x90($v1) +/* B2D4C4 80241054 0040982D */ daddu $s3, $v0, $zero +/* B2D4C8 80241058 E7A00030 */ swc1 $f0, 0x30($sp) +/* B2D4CC 8024105C A7A00034 */ sh $zero, 0x34($sp) +/* B2D4D0 80241060 16000005 */ bnez $s0, .L80241078 +/* B2D4D4 80241064 AFA3002C */ sw $v1, 0x2c($sp) +/* B2D4D8 80241068 8E2200B0 */ lw $v0, 0xb0($s1) +/* B2D4DC 8024106C 30420004 */ andi $v0, $v0, 4 +/* B2D4E0 80241070 10400044 */ beqz $v0, .L80241184 +/* B2D4E4 80241074 00000000 */ nop +.L80241078: +/* B2D4E8 80241078 2404F7FF */ addiu $a0, $zero, -0x801 +/* B2D4EC 8024107C AE800070 */ sw $zero, 0x70($s4) +/* B2D4F0 80241080 A640008E */ sh $zero, 0x8e($s2) +/* B2D4F4 80241084 8E2200CC */ lw $v0, 0xcc($s1) +/* B2D4F8 80241088 8E430000 */ lw $v1, ($s2) +/* B2D4FC 8024108C 8C420000 */ lw $v0, ($v0) +/* B2D500 80241090 00641824 */ and $v1, $v1, $a0 +/* B2D504 80241094 AE430000 */ sw $v1, ($s2) +/* B2D508 80241098 AE420028 */ sw $v0, 0x28($s2) +/* B2D50C 8024109C 8E2200D0 */ lw $v0, 0xd0($s1) +/* B2D510 802410A0 8C420098 */ lw $v0, 0x98($v0) +/* B2D514 802410A4 54400005 */ bnel $v0, $zero, .L802410BC +/* B2D518 802410A8 2402FDFF */ addiu $v0, $zero, -0x201 +/* B2D51C 802410AC 34620200 */ ori $v0, $v1, 0x200 +/* B2D520 802410B0 2403FFF7 */ addiu $v1, $zero, -9 +/* B2D524 802410B4 08090431 */ j .L802410C4 +/* B2D528 802410B8 00431024 */ and $v0, $v0, $v1 +.L802410BC: +/* B2D52C 802410BC 00621024 */ and $v0, $v1, $v0 +/* B2D530 802410C0 34420008 */ ori $v0, $v0, 8 +.L802410C4: +/* B2D534 802410C4 AE420000 */ sw $v0, ($s2) +/* B2D538 802410C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B2D53C 802410CC 30420004 */ andi $v0, $v0, 4 +/* B2D540 802410D0 10400008 */ beqz $v0, .L802410F4 +/* B2D544 802410D4 24020063 */ addiu $v0, $zero, 0x63 +/* B2D548 802410D8 AE820070 */ sw $v0, 0x70($s4) +/* B2D54C 802410DC AE800074 */ sw $zero, 0x74($s4) +/* B2D550 802410E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B2D554 802410E4 2403FFFB */ addiu $v1, $zero, -5 +/* B2D558 802410E8 00431024 */ and $v0, $v0, $v1 +/* B2D55C 802410EC 08090448 */ j .L80241120 +/* B2D560 802410F0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802410F4: +/* B2D564 802410F4 8E220000 */ lw $v0, ($s1) +/* B2D568 802410F8 3C034000 */ lui $v1, 0x4000 +/* B2D56C 802410FC 00431024 */ and $v0, $v0, $v1 +/* B2D570 80241100 10400007 */ beqz $v0, .L80241120 +/* B2D574 80241104 3C03BFFF */ lui $v1, 0xbfff +/* B2D578 80241108 2402000C */ addiu $v0, $zero, 0xc +/* B2D57C 8024110C AE820070 */ sw $v0, 0x70($s4) +/* B2D580 80241110 8E220000 */ lw $v0, ($s1) +/* B2D584 80241114 3463FFFF */ ori $v1, $v1, 0xffff +/* B2D588 80241118 00431024 */ and $v0, $v0, $v1 +/* B2D58C 8024111C AE220000 */ sw $v0, ($s1) +.L80241120: +/* B2D590 80241120 27A50038 */ addiu $a1, $sp, 0x38 +/* B2D594 80241124 27A6003C */ addiu $a2, $sp, 0x3c +/* B2D598 80241128 C6400038 */ lwc1 $f0, 0x38($s2) +/* B2D59C 8024112C 864200A8 */ lh $v0, 0xa8($s2) +/* B2D5A0 80241130 3C0142C8 */ lui $at, 0x42c8 +/* B2D5A4 80241134 44812000 */ mtc1 $at, $f4 +/* B2D5A8 80241138 44823000 */ mtc1 $v0, $f6 +/* B2D5AC 8024113C 00000000 */ nop +/* B2D5B0 80241140 468031A0 */ cvt.s.w $f6, $f6 +/* B2D5B4 80241144 27A20044 */ addiu $v0, $sp, 0x44 +/* B2D5B8 80241148 E7A00038 */ swc1 $f0, 0x38($sp) +/* B2D5BC 8024114C C640003C */ lwc1 $f0, 0x3c($s2) +/* B2D5C0 80241150 C6420040 */ lwc1 $f2, 0x40($s2) +/* B2D5C4 80241154 46060000 */ add.s $f0, $f0, $f6 +/* B2D5C8 80241158 E7A40044 */ swc1 $f4, 0x44($sp) +/* B2D5CC 8024115C E7A20040 */ swc1 $f2, 0x40($sp) +/* B2D5D0 80241160 E7A0003C */ swc1 $f0, 0x3c($sp) +/* B2D5D4 80241164 AFA20010 */ sw $v0, 0x10($sp) +/* B2D5D8 80241168 8E440080 */ lw $a0, 0x80($s2) +/* B2D5DC 8024116C 0C0372DF */ jal func_800DCB7C +/* B2D5E0 80241170 27A70040 */ addiu $a3, $sp, 0x40 +/* B2D5E4 80241174 10400003 */ beqz $v0, .L80241184 +/* B2D5E8 80241178 00000000 */ nop +/* B2D5EC 8024117C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* B2D5F0 80241180 E640003C */ swc1 $f0, 0x3c($s2) +.L80241184: +/* B2D5F4 80241184 8E830070 */ lw $v1, 0x70($s4) +/* B2D5F8 80241188 2C620064 */ sltiu $v0, $v1, 0x64 +/* B2D5FC 8024118C 10400042 */ beqz $v0, .L80241298 +/* B2D600 80241190 00031080 */ sll $v0, $v1, 2 +/* B2D604 80241194 3C018025 */ lui $at, 0x8025 +/* B2D608 80241198 00220821 */ addu $at, $at, $v0 +/* B2D60C 8024119C 8C2285D0 */ lw $v0, -0x7a30($at) +/* B2D610 802411A0 00400008 */ jr $v0 +/* B2D614 802411A4 00000000 */ nop +/* B2D618 802411A8 0280202D */ daddu $a0, $s4, $zero +/* B2D61C 802411AC 0260282D */ daddu $a1, $s3, $zero +/* B2D620 802411B0 0C09010C */ jal func_80240430 +/* B2D624 802411B4 02A0302D */ daddu $a2, $s5, $zero +/* B2D628 802411B8 0280202D */ daddu $a0, $s4, $zero +/* B2D62C 802411BC 0260282D */ daddu $a1, $s3, $zero +/* B2D630 802411C0 0C090162 */ jal func_80240588 +/* B2D634 802411C4 02A0302D */ daddu $a2, $s5, $zero +/* B2D638 802411C8 080904A6 */ j .L80241298 +/* B2D63C 802411CC 00000000 */ nop +/* B2D640 802411D0 0280202D */ daddu $a0, $s4, $zero +/* B2D644 802411D4 0260282D */ daddu $a1, $s3, $zero +/* B2D648 802411D8 0C09020C */ jal func_80240830 +/* B2D64C 802411DC 02A0302D */ daddu $a2, $s5, $zero +/* B2D650 802411E0 0280202D */ daddu $a0, $s4, $zero +/* B2D654 802411E4 0260282D */ daddu $a1, $s3, $zero +/* B2D658 802411E8 0C09023C */ jal func_802408F0 +/* B2D65C 802411EC 02A0302D */ daddu $a2, $s5, $zero +/* B2D660 802411F0 080904A6 */ j .L80241298 +/* B2D664 802411F4 00000000 */ nop +/* B2D668 802411F8 0280202D */ daddu $a0, $s4, $zero +/* B2D66C 802411FC 0260282D */ daddu $a1, $s3, $zero +/* B2D670 80241200 0C0902AB */ jal func_80240AAC +/* B2D674 80241204 02A0302D */ daddu $a2, $s5, $zero +/* B2D678 80241208 080904A6 */ j .L80241298 +/* B2D67C 8024120C 00000000 */ nop +/* B2D680 80241210 0280202D */ daddu $a0, $s4, $zero +/* B2D684 80241214 0260282D */ daddu $a1, $s3, $zero +/* B2D688 80241218 0C0902D8 */ jal func_80240B60 +/* B2D68C 8024121C 02A0302D */ daddu $a2, $s5, $zero +/* B2D690 80241220 0280202D */ daddu $a0, $s4, $zero +/* B2D694 80241224 0260282D */ daddu $a1, $s3, $zero +/* B2D698 80241228 0C0902F5 */ jal func_80240BD4 +/* B2D69C 8024122C 02A0302D */ daddu $a2, $s5, $zero +/* B2D6A0 80241230 080904A6 */ j .L80241298 +/* B2D6A4 80241234 00000000 */ nop +/* B2D6A8 80241238 0280202D */ daddu $a0, $s4, $zero +/* B2D6AC 8024123C 0260282D */ daddu $a1, $s3, $zero +/* B2D6B0 80241240 0C090313 */ jal func_80240C4C +/* B2D6B4 80241244 02A0302D */ daddu $a2, $s5, $zero +/* B2D6B8 80241248 0280202D */ daddu $a0, $s4, $zero +/* B2D6BC 8024124C 0260282D */ daddu $a1, $s3, $zero +/* B2D6C0 80241250 0C09035F */ jal func_80240D7C +/* B2D6C4 80241254 02A0302D */ daddu $a2, $s5, $zero +/* B2D6C8 80241258 080904A6 */ j .L80241298 +/* B2D6CC 8024125C 00000000 */ nop +/* B2D6D0 80241260 0280202D */ daddu $a0, $s4, $zero +/* B2D6D4 80241264 0260282D */ daddu $a1, $s3, $zero +/* B2D6D8 80241268 0C0903A7 */ jal func_80240E9C +/* B2D6DC 8024126C 02A0302D */ daddu $a2, $s5, $zero +/* B2D6E0 80241270 080904A6 */ j .L80241298 +/* B2D6E4 80241274 00000000 */ nop +/* B2D6E8 80241278 0280202D */ daddu $a0, $s4, $zero +/* B2D6EC 8024127C 0260282D */ daddu $a1, $s3, $zero +/* B2D6F0 80241280 0C0903C1 */ jal func_80240F04 +/* B2D6F4 80241284 02A0302D */ daddu $a2, $s5, $zero +/* B2D6F8 80241288 080904A6 */ j .L80241298 +/* B2D6FC 8024128C 00000000 */ nop +/* B2D700 80241290 0C0129CF */ jal func_8004A73C +/* B2D704 80241294 0280202D */ daddu $a0, $s4, $zero +.L80241298: +/* B2D708 80241298 8FBF0060 */ lw $ra, 0x60($sp) +/* B2D70C 8024129C 8FB5005C */ lw $s5, 0x5c($sp) +/* B2D710 802412A0 8FB40058 */ lw $s4, 0x58($sp) +/* B2D714 802412A4 8FB30054 */ lw $s3, 0x54($sp) +/* B2D718 802412A8 8FB20050 */ lw $s2, 0x50($sp) +/* B2D71C 802412AC 8FB1004C */ lw $s1, 0x4c($sp) +/* B2D720 802412B0 8FB00048 */ lw $s0, 0x48($sp) +/* B2D724 802412B4 0000102D */ daddu $v0, $zero, $zero +/* B2D728 802412B8 03E00008 */ jr $ra +/* B2D72C 802412BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802412C0_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802412C0_B2C470.s new file mode 100644 index 0000000000..a025292923 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802412C0_B2C470.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C0_B2D730 +/* B2D730 802412C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2D734 802412C4 AFB10014 */ sw $s1, 0x14($sp) +/* B2D738 802412C8 0080882D */ daddu $s1, $a0, $zero +/* B2D73C 802412CC AFBF0018 */ sw $ra, 0x18($sp) +/* B2D740 802412D0 AFB00010 */ sw $s0, 0x10($sp) +/* B2D744 802412D4 8E30000C */ lw $s0, 0xc($s1) +/* B2D748 802412D8 8E050000 */ lw $a1, ($s0) +/* B2D74C 802412DC 0C0B1EAF */ jal get_variable +/* B2D750 802412E0 26100004 */ addiu $s0, $s0, 4 +/* B2D754 802412E4 0C00EAD2 */ jal get_npc_safe +/* B2D758 802412E8 0040202D */ daddu $a0, $v0, $zero +/* B2D75C 802412EC 10400005 */ beqz $v0, .L80241304 +/* B2D760 802412F0 00000000 */ nop +/* B2D764 802412F4 8E050000 */ lw $a1, ($s0) +/* B2D768 802412F8 844600A8 */ lh $a2, 0xa8($v0) +/* B2D76C 802412FC 0C0B2026 */ jal set_variable +/* B2D770 80241300 0220202D */ daddu $a0, $s1, $zero +.L80241304: +/* B2D774 80241304 8FBF0018 */ lw $ra, 0x18($sp) +/* B2D778 80241308 8FB10014 */ lw $s1, 0x14($sp) +/* B2D77C 8024130C 8FB00010 */ lw $s0, 0x10($sp) +/* B2D780 80241310 24020002 */ addiu $v0, $zero, 2 +/* B2D784 80241314 03E00008 */ jr $ra +/* B2D788 80241318 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_8024131C.s b/asm/nonmatchings/world/area_jan/jan_02/func_8024131C.s new file mode 100644 index 0000000000..2f6fcdc8de --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_8024131C.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024131C +/* B2D78C 8024131C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B2D790 80241320 AFB10014 */ sw $s1, 0x14($sp) +/* B2D794 80241324 0080882D */ daddu $s1, $a0, $zero +/* B2D798 80241328 AFBF0024 */ sw $ra, 0x24($sp) +/* B2D79C 8024132C AFB40020 */ sw $s4, 0x20($sp) +/* B2D7A0 80241330 AFB3001C */ sw $s3, 0x1c($sp) +/* B2D7A4 80241334 AFB20018 */ sw $s2, 0x18($sp) +/* B2D7A8 80241338 AFB00010 */ sw $s0, 0x10($sp) +/* B2D7AC 8024133C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* B2D7B0 80241340 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B2D7B4 80241344 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B2D7B8 80241348 F7B60030 */ sdc1 $f22, 0x30($sp) +/* B2D7BC 8024134C F7B40028 */ sdc1 $f20, 0x28($sp) +/* B2D7C0 80241350 8E30000C */ lw $s0, 0xc($s1) +/* B2D7C4 80241354 8E130000 */ lw $s3, ($s0) +/* B2D7C8 80241358 26100004 */ addiu $s0, $s0, 4 +/* B2D7CC 8024135C 0C0B1EAF */ jal get_variable +/* B2D7D0 80241360 0260282D */ daddu $a1, $s3, $zero +/* B2D7D4 80241364 4482E000 */ mtc1 $v0, $f28 +/* B2D7D8 80241368 00000000 */ nop +/* B2D7DC 8024136C 4680E720 */ cvt.s.w $f28, $f28 +/* B2D7E0 80241370 8E140000 */ lw $s4, ($s0) +/* B2D7E4 80241374 26100004 */ addiu $s0, $s0, 4 +/* B2D7E8 80241378 0220202D */ daddu $a0, $s1, $zero +/* B2D7EC 8024137C 0C0B1EAF */ jal get_variable +/* B2D7F0 80241380 0280282D */ daddu $a1, $s4, $zero +/* B2D7F4 80241384 4482D000 */ mtc1 $v0, $f26 +/* B2D7F8 80241388 00000000 */ nop +/* B2D7FC 8024138C 4680D6A0 */ cvt.s.w $f26, $f26 +/* B2D800 80241390 8E100000 */ lw $s0, ($s0) +/* B2D804 80241394 0220202D */ daddu $a0, $s1, $zero +/* B2D808 80241398 0C0B1EAF */ jal get_variable +/* B2D80C 8024139C 0200282D */ daddu $a1, $s0, $zero +/* B2D810 802413A0 4482C000 */ mtc1 $v0, $f24 +/* B2D814 802413A4 00000000 */ nop +/* B2D818 802413A8 4680C620 */ cvt.s.w $f24, $f24 +/* B2D81C 802413AC 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B2D820 802413B0 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B2D824 802413B4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B2D828 802413B8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B2D82C 802413BC C64200A8 */ lwc1 $f2, 0xa8($s2) +/* B2D830 802413C0 44800000 */ mtc1 $zero, $f0 +/* B2D834 802413C4 00031080 */ sll $v0, $v1, 2 +/* B2D838 802413C8 00431021 */ addu $v0, $v0, $v1 +/* B2D83C 802413CC 00021080 */ sll $v0, $v0, 2 +/* B2D840 802413D0 00431023 */ subu $v0, $v0, $v1 +/* B2D844 802413D4 000218C0 */ sll $v1, $v0, 3 +/* B2D848 802413D8 00431021 */ addu $v0, $v0, $v1 +/* B2D84C 802413DC 000210C0 */ sll $v0, $v0, 3 +/* B2D850 802413E0 46001032 */ c.eq.s $f2, $f0 +/* B2D854 802413E4 3C01800B */ lui $at, 0x800b +/* B2D858 802413E8 00220821 */ addu $at, $at, $v0 +/* B2D85C 802413EC C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B2D860 802413F0 45000005 */ bc1f .L80241408 +/* B2D864 802413F4 00000000 */ nop +/* B2D868 802413F8 3C0142C8 */ lui $at, 0x42c8 +/* B2D86C 802413FC 44810000 */ mtc1 $at, $f0 +/* B2D870 80241400 08090506 */ j .L80241418 +/* B2D874 80241404 4600B581 */ sub.s $f22, $f22, $f0 +.L80241408: +/* B2D878 80241408 3C0142C8 */ lui $at, 0x42c8 +/* B2D87C 8024140C 44810000 */ mtc1 $at, $f0 +/* B2D880 80241410 00000000 */ nop +/* B2D884 80241414 4600B580 */ add.s $f22, $f22, $f0 +.L80241418: +/* B2D888 80241418 0C00A6C9 */ jal clamp_angle +/* B2D88C 8024141C 4600B306 */ mov.s $f12, $f22 +/* B2D890 80241420 46000586 */ mov.s $f22, $f0 +/* B2D894 80241424 3C014170 */ lui $at, 0x4170 +/* B2D898 80241428 4481A000 */ mtc1 $at, $f20 +/* B2D89C 8024142C 0C00A8BB */ jal sin_deg +/* B2D8A0 80241430 4600B306 */ mov.s $f12, $f22 +/* B2D8A4 80241434 46140002 */ mul.s $f0, $f0, $f20 +/* B2D8A8 80241438 00000000 */ nop +/* B2D8AC 8024143C 864200B0 */ lh $v0, 0xb0($s2) +/* B2D8B0 80241440 3C013F00 */ lui $at, 0x3f00 +/* B2D8B4 80241444 44812000 */ mtc1 $at, $f4 +/* B2D8B8 80241448 44821000 */ mtc1 $v0, $f2 +/* B2D8BC 8024144C 00000000 */ nop +/* B2D8C0 80241450 468010A0 */ cvt.s.w $f2, $f2 +/* B2D8C4 80241454 46041082 */ mul.s $f2, $f2, $f4 +/* B2D8C8 80241458 00000000 */ nop +/* B2D8CC 8024145C 4600E700 */ add.s $f28, $f28, $f0 +/* B2D8D0 80241460 4602D680 */ add.s $f26, $f26, $f2 +/* B2D8D4 80241464 0C00A8D4 */ jal cos_deg +/* B2D8D8 80241468 4600B306 */ mov.s $f12, $f22 +/* B2D8DC 8024146C 46140002 */ mul.s $f0, $f0, $f20 +/* B2D8E0 80241470 00000000 */ nop +/* B2D8E4 80241474 0220202D */ daddu $a0, $s1, $zero +/* B2D8E8 80241478 0260282D */ daddu $a1, $s3, $zero +/* B2D8EC 8024147C 4600E18D */ trunc.w.s $f6, $f28 +/* B2D8F0 80241480 44063000 */ mfc1 $a2, $f6 +/* B2D8F4 80241484 0C0B2026 */ jal set_variable +/* B2D8F8 80241488 4600C601 */ sub.s $f24, $f24, $f0 +/* B2D8FC 8024148C 0220202D */ daddu $a0, $s1, $zero +/* B2D900 80241490 4600D18D */ trunc.w.s $f6, $f26 +/* B2D904 80241494 44063000 */ mfc1 $a2, $f6 +/* B2D908 80241498 0C0B2026 */ jal set_variable +/* B2D90C 8024149C 0280282D */ daddu $a1, $s4, $zero +/* B2D910 802414A0 0220202D */ daddu $a0, $s1, $zero +/* B2D914 802414A4 4600C18D */ trunc.w.s $f6, $f24 +/* B2D918 802414A8 44063000 */ mfc1 $a2, $f6 +/* B2D91C 802414AC 0C0B2026 */ jal set_variable +/* B2D920 802414B0 0200282D */ daddu $a1, $s0, $zero +/* B2D924 802414B4 8FBF0024 */ lw $ra, 0x24($sp) +/* B2D928 802414B8 8FB40020 */ lw $s4, 0x20($sp) +/* B2D92C 802414BC 8FB3001C */ lw $s3, 0x1c($sp) +/* B2D930 802414C0 8FB20018 */ lw $s2, 0x18($sp) +/* B2D934 802414C4 8FB10014 */ lw $s1, 0x14($sp) +/* B2D938 802414C8 8FB00010 */ lw $s0, 0x10($sp) +/* B2D93C 802414CC D7BC0048 */ ldc1 $f28, 0x48($sp) +/* B2D940 802414D0 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B2D944 802414D4 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B2D948 802414D8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B2D94C 802414DC D7B40028 */ ldc1 $f20, 0x28($sp) +/* B2D950 802414E0 24020002 */ addiu $v0, $zero, 2 +/* B2D954 802414E4 03E00008 */ jr $ra +/* B2D958 802414E8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802414EC_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802414EC_B2C470.s new file mode 100644 index 0000000000..cfaef3065e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802414EC_B2C470.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414EC_B2D95C +/* B2D95C 802414EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2D960 802414F0 AFBF0010 */ sw $ra, 0x10($sp) +/* B2D964 802414F4 10A00003 */ beqz $a1, .L80241504 +/* B2D968 802414F8 8C86000C */ lw $a2, 0xc($a0) +/* B2D96C 802414FC 3C018024 */ lui $at, 0x8024 +/* B2D970 80241500 AC203048 */ sw $zero, 0x3048($at) +.L80241504: +/* B2D974 80241504 3C038024 */ lui $v1, 0x8024 +/* B2D978 80241508 24633048 */ addiu $v1, $v1, 0x3048 +/* B2D97C 8024150C 8C620000 */ lw $v0, ($v1) +/* B2D980 80241510 54400003 */ bnel $v0, $zero, .L80241520 +/* B2D984 80241514 AC600000 */ sw $zero, ($v1) +/* B2D988 80241518 0809054D */ j .L80241534 +/* B2D98C 8024151C 0000102D */ daddu $v0, $zero, $zero +.L80241520: +/* B2D990 80241520 8CC50000 */ lw $a1, ($a2) +/* B2D994 80241524 3C068024 */ lui $a2, 0x8024 +/* B2D998 80241528 0C0B2026 */ jal set_variable +/* B2D99C 8024152C 8CC6304C */ lw $a2, 0x304c($a2) +/* B2D9A0 80241530 24020002 */ addiu $v0, $zero, 2 +.L80241534: +/* B2D9A4 80241534 8FBF0010 */ lw $ra, 0x10($sp) +/* B2D9A8 80241538 03E00008 */ jr $ra +/* B2D9AC 8024153C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241540_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241540_B2C470.s new file mode 100644 index 0000000000..2aeada36e0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241540_B2C470.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241540_B2D9B0 +/* B2D9B0 80241540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2D9B4 80241544 AFBF0010 */ sw $ra, 0x10($sp) +/* B2D9B8 80241548 8C82000C */ lw $v0, 0xc($a0) +/* B2D9BC 8024154C 0C0B1EAF */ jal get_variable +/* B2D9C0 80241550 8C450000 */ lw $a1, ($v0) +/* B2D9C4 80241554 3C018024 */ lui $at, 0x8024 +/* B2D9C8 80241558 AC22304C */ sw $v0, 0x304c($at) +/* B2D9CC 8024155C 24020002 */ addiu $v0, $zero, 2 +/* B2D9D0 80241560 8FBF0010 */ lw $ra, 0x10($sp) +/* B2D9D4 80241564 24030001 */ addiu $v1, $zero, 1 +/* B2D9D8 80241568 3C018024 */ lui $at, 0x8024 +/* B2D9DC 8024156C AC233048 */ sw $v1, 0x3048($at) +/* B2D9E0 80241570 03E00008 */ jr $ra +/* B2D9E4 80241574 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241578.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241578.s new file mode 100644 index 0000000000..c954f8e83f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241578.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241578 +/* B2D9E8 80241578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2D9EC 8024157C AFBF0010 */ sw $ra, 0x10($sp) +/* B2D9F0 80241580 8C82000C */ lw $v0, 0xc($a0) +/* B2D9F4 80241584 0C0B1EAF */ jal get_variable +/* B2D9F8 80241588 8C450000 */ lw $a1, ($v0) +/* B2D9FC 8024158C 0040182D */ daddu $v1, $v0, $zero +/* B2DA00 80241590 10600012 */ beqz $v1, .L802415DC +/* B2DA04 80241594 0000202D */ daddu $a0, $zero, $zero +/* B2DA08 80241598 8C620000 */ lw $v0, ($v1) +/* B2DA0C 8024159C 5040000A */ beql $v0, $zero, .L802415C8 +/* B2DA10 802415A0 00041080 */ sll $v0, $a0, 2 +/* B2DA14 802415A4 3C058025 */ lui $a1, 0x8025 +/* B2DA18 802415A8 24A58760 */ addiu $a1, $a1, -0x78a0 +.L802415AC: +/* B2DA1C 802415AC 24630004 */ addiu $v1, $v1, 4 +/* B2DA20 802415B0 24840001 */ addiu $a0, $a0, 1 +/* B2DA24 802415B4 ACA20000 */ sw $v0, ($a1) +/* B2DA28 802415B8 8C620000 */ lw $v0, ($v1) +/* B2DA2C 802415BC 1440FFFB */ bnez $v0, .L802415AC +/* B2DA30 802415C0 24A50004 */ addiu $a1, $a1, 4 +/* B2DA34 802415C4 00041080 */ sll $v0, $a0, 2 +.L802415C8: +/* B2DA38 802415C8 3C018025 */ lui $at, 0x8025 +/* B2DA3C 802415CC 00220821 */ addu $at, $at, $v0 +/* B2DA40 802415D0 AC208760 */ sw $zero, -0x78a0($at) +/* B2DA44 802415D4 08090581 */ j .L80241604 +/* B2DA48 802415D8 00000000 */ nop +.L802415DC: +/* B2DA4C 802415DC 3C038025 */ lui $v1, 0x8025 +/* B2DA50 802415E0 24638760 */ addiu $v1, $v1, -0x78a0 +/* B2DA54 802415E4 0060282D */ daddu $a1, $v1, $zero +.L802415E8: +/* B2DA58 802415E8 24820010 */ addiu $v0, $a0, 0x10 +/* B2DA5C 802415EC AC620000 */ sw $v0, ($v1) +/* B2DA60 802415F0 24630004 */ addiu $v1, $v1, 4 +/* B2DA64 802415F4 24840001 */ addiu $a0, $a0, 1 +/* B2DA68 802415F8 28820070 */ slti $v0, $a0, 0x70 +/* B2DA6C 802415FC 1440FFFA */ bnez $v0, .L802415E8 +/* B2DA70 80241600 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241604: +/* B2DA74 80241604 8FBF0010 */ lw $ra, 0x10($sp) +/* B2DA78 80241608 24020002 */ addiu $v0, $zero, 2 +/* B2DA7C 8024160C 03E00008 */ jr $ra +/* B2DA80 80241610 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241614_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241614_B2C470.s new file mode 100644 index 0000000000..77c1f675a0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241614_B2C470.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241614_B2DA84 +/* B2DA84 80241614 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2DA88 80241618 AFB00010 */ sw $s0, 0x10($sp) +/* B2DA8C 8024161C 3C108024 */ lui $s0, 0x8024 +/* B2DA90 80241620 261031E4 */ addiu $s0, $s0, 0x31e4 +/* B2DA94 80241624 AFBF0018 */ sw $ra, 0x18($sp) +/* B2DA98 80241628 AFB10014 */ sw $s1, 0x14($sp) +/* B2DA9C 8024162C 8E020000 */ lw $v0, ($s0) +/* B2DAA0 80241630 14400010 */ bnez $v0, .L80241674 +/* B2DAA4 80241634 0080882D */ daddu $s1, $a0, $zero +/* B2DAA8 80241638 0C00AB39 */ jal heap_malloc +/* B2DAAC 8024163C 24040040 */ addiu $a0, $zero, 0x40 +/* B2DAB0 80241640 AE020000 */ sw $v0, ($s0) +/* B2DAB4 80241644 0000182D */ daddu $v1, $zero, $zero +/* B2DAB8 80241648 0040282D */ daddu $a1, $v0, $zero +/* B2DABC 8024164C 0220202D */ daddu $a0, $s1, $zero +.L80241650: +/* B2DAC0 80241650 8C820084 */ lw $v0, 0x84($a0) +/* B2DAC4 80241654 24840004 */ addiu $a0, $a0, 4 +/* B2DAC8 80241658 24630001 */ addiu $v1, $v1, 1 +/* B2DACC 8024165C ACA20000 */ sw $v0, ($a1) +/* B2DAD0 80241660 28620010 */ slti $v0, $v1, 0x10 +/* B2DAD4 80241664 1440FFFA */ bnez $v0, .L80241650 +/* B2DAD8 80241668 24A50004 */ addiu $a1, $a1, 4 +/* B2DADC 8024166C 080905AC */ j .L802416B0 +/* B2DAE0 80241670 00000000 */ nop +.L80241674: +/* B2DAE4 80241674 0000182D */ daddu $v1, $zero, $zero +/* B2DAE8 80241678 0040282D */ daddu $a1, $v0, $zero +/* B2DAEC 8024167C 0220202D */ daddu $a0, $s1, $zero +.L80241680: +/* B2DAF0 80241680 8CA20000 */ lw $v0, ($a1) +/* B2DAF4 80241684 24A50004 */ addiu $a1, $a1, 4 +/* B2DAF8 80241688 24630001 */ addiu $v1, $v1, 1 +/* B2DAFC 8024168C AC820084 */ sw $v0, 0x84($a0) +/* B2DB00 80241690 28620010 */ slti $v0, $v1, 0x10 +/* B2DB04 80241694 1440FFFA */ bnez $v0, .L80241680 +/* B2DB08 80241698 24840004 */ addiu $a0, $a0, 4 +/* B2DB0C 8024169C 3C108024 */ lui $s0, 0x8024 +/* B2DB10 802416A0 261031E4 */ addiu $s0, $s0, 0x31e4 +/* B2DB14 802416A4 0C00AB4B */ jal heap_free +/* B2DB18 802416A8 8E040000 */ lw $a0, ($s0) +/* B2DB1C 802416AC AE000000 */ sw $zero, ($s0) +.L802416B0: +/* B2DB20 802416B0 8FBF0018 */ lw $ra, 0x18($sp) +/* B2DB24 802416B4 8FB10014 */ lw $s1, 0x14($sp) +/* B2DB28 802416B8 8FB00010 */ lw $s0, 0x10($sp) +/* B2DB2C 802416BC 24020002 */ addiu $v0, $zero, 2 +/* B2DB30 802416C0 03E00008 */ jr $ra +/* B2DB34 802416C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802416C8_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802416C8_B2C470.s new file mode 100644 index 0000000000..d181eec6cf --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802416C8_B2C470.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C8_B2DB38 +/* B2DB38 802416C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2DB3C 802416CC AFB00010 */ sw $s0, 0x10($sp) +/* B2DB40 802416D0 0080802D */ daddu $s0, $a0, $zero +/* B2DB44 802416D4 AFBF0018 */ sw $ra, 0x18($sp) +/* B2DB48 802416D8 AFB10014 */ sw $s1, 0x14($sp) +/* B2DB4C 802416DC 8E02000C */ lw $v0, 0xc($s0) +/* B2DB50 802416E0 8C510000 */ lw $s1, ($v0) +/* B2DB54 802416E4 0C0B1EAF */ jal get_variable +/* B2DB58 802416E8 0220282D */ daddu $a1, $s1, $zero +/* B2DB5C 802416EC 3C03FFF0 */ lui $v1, 0xfff0 +/* B2DB60 802416F0 3463FFFF */ ori $v1, $v1, 0xffff +/* B2DB64 802416F4 0200202D */ daddu $a0, $s0, $zero +/* B2DB68 802416F8 00431024 */ and $v0, $v0, $v1 +/* B2DB6C 802416FC 00021140 */ sll $v0, $v0, 5 +/* B2DB70 80241700 3C068008 */ lui $a2, %hi(gItemTable) +/* B2DB74 80241704 00C23021 */ addu $a2, $a2, $v0 +/* B2DB78 80241708 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B2DB7C 8024170C 0C0B2026 */ jal set_variable +/* B2DB80 80241710 0220282D */ daddu $a1, $s1, $zero +/* B2DB84 80241714 8FBF0018 */ lw $ra, 0x18($sp) +/* B2DB88 80241718 8FB10014 */ lw $s1, 0x14($sp) +/* B2DB8C 8024171C 8FB00010 */ lw $s0, 0x10($sp) +/* B2DB90 80241720 24020002 */ addiu $v0, $zero, 2 +/* B2DB94 80241724 03E00008 */ jr $ra +/* B2DB98 80241728 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_8024172C.s b/asm/nonmatchings/world/area_jan/jan_02/func_8024172C.s new file mode 100644 index 0000000000..4ae7ecfa70 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_8024172C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024172C +/* B2DB9C 8024172C 24020001 */ addiu $v0, $zero, 1 +/* B2DBA0 80241730 3C018015 */ lui $at, %hi(D_80151310) +/* B2DBA4 80241734 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* B2DBA8 80241738 03E00008 */ jr $ra +/* B2DBAC 8024173C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241740.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241740.s new file mode 100644 index 0000000000..ed1ff9fc01 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241740.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241740 +/* B2DBB0 80241740 3C018015 */ lui $at, %hi(D_80151310) +/* B2DBB4 80241744 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* B2DBB8 80241748 03E00008 */ jr $ra +/* B2DBBC 8024174C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241750.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241750.s new file mode 100644 index 0000000000..094374bf34 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241750.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241750 +/* B2DBC0 80241750 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2DBC4 80241754 AFB10024 */ sw $s1, 0x24($sp) +/* B2DBC8 80241758 0080882D */ daddu $s1, $a0, $zero +/* B2DBCC 8024175C 3C05F840 */ lui $a1, 0xf840 +/* B2DBD0 80241760 AFBF0044 */ sw $ra, 0x44($sp) +/* B2DBD4 80241764 AFBE0040 */ sw $fp, 0x40($sp) +/* B2DBD8 80241768 AFB7003C */ sw $s7, 0x3c($sp) +/* B2DBDC 8024176C AFB60038 */ sw $s6, 0x38($sp) +/* B2DBE0 80241770 AFB50034 */ sw $s5, 0x34($sp) +/* B2DBE4 80241774 AFB40030 */ sw $s4, 0x30($sp) +/* B2DBE8 80241778 AFB3002C */ sw $s3, 0x2c($sp) +/* B2DBEC 8024177C AFB20028 */ sw $s2, 0x28($sp) +/* B2DBF0 80241780 AFB00020 */ sw $s0, 0x20($sp) +/* B2DBF4 80241784 8E3E0148 */ lw $fp, 0x148($s1) +/* B2DBF8 80241788 0C0B1EAF */ jal get_variable +/* B2DBFC 8024178C 34A56268 */ ori $a1, $a1, 0x6268 +/* B2DC00 80241790 0040802D */ daddu $s0, $v0, $zero +/* B2DC04 80241794 0220202D */ daddu $a0, $s1, $zero +/* B2DC08 80241798 3C05F840 */ lui $a1, 0xf840 +/* B2DC0C 8024179C 0C0B1EAF */ jal get_variable +/* B2DC10 802417A0 34A56269 */ ori $a1, $a1, 0x6269 +/* B2DC14 802417A4 0040B82D */ daddu $s7, $v0, $zero +/* B2DC18 802417A8 0220202D */ daddu $a0, $s1, $zero +/* B2DC1C 802417AC 3C05F5DE */ lui $a1, 0xf5de +/* B2DC20 802417B0 0C0B1EAF */ jal get_variable +/* B2DC24 802417B4 34A502DE */ ori $a1, $a1, 0x2de +/* B2DC28 802417B8 0040B02D */ daddu $s6, $v0, $zero +/* B2DC2C 802417BC 0220202D */ daddu $a0, $s1, $zero +/* B2DC30 802417C0 3C05F5DE */ lui $a1, 0xf5de +/* B2DC34 802417C4 0C0B1EAF */ jal get_variable +/* B2DC38 802417C8 34A502DF */ ori $a1, $a1, 0x2df +/* B2DC3C 802417CC 0040A82D */ daddu $s5, $v0, $zero +/* B2DC40 802417D0 93D3006D */ lbu $s3, 0x6d($fp) +/* B2DC44 802417D4 32C2FFFF */ andi $v0, $s6, 0xffff +/* B2DC48 802417D8 A7B30010 */ sh $s3, 0x10($sp) +/* B2DC4C 802417DC 93D2006E */ lbu $s2, 0x6e($fp) +/* B2DC50 802417E0 93C7006F */ lbu $a3, 0x6f($fp) +/* B2DC54 802417E4 3274FFFF */ andi $s4, $s3, 0xffff +/* B2DC58 802417E8 12820003 */ beq $s4, $v0, .L802417F8 +/* B2DC5C 802417EC A7A7001E */ sh $a3, 0x1e($sp) +/* B2DC60 802417F0 0000B82D */ daddu $s7, $zero, $zero +/* B2DC64 802417F4 02E0802D */ daddu $s0, $s7, $zero +.L802417F8: +/* B2DC68 802417F8 3202FFFF */ andi $v0, $s0, 0xffff +/* B2DC6C 802417FC 14400016 */ bnez $v0, .L80241858 +/* B2DC70 80241800 0220202D */ daddu $a0, $s1, $zero +/* B2DC74 80241804 0C00A67F */ jal rand_int +/* B2DC78 80241808 24040064 */ addiu $a0, $zero, 0x64 +/* B2DC7C 8024180C 2842001E */ slti $v0, $v0, 0x1e +/* B2DC80 80241810 10400011 */ beqz $v0, .L80241858 +/* B2DC84 80241814 0220202D */ daddu $a0, $s1, $zero +/* B2DC88 80241818 0C00A67F */ jal rand_int +/* B2DC8C 8024181C 2644FFFF */ addiu $a0, $s2, -1 +/* B2DC90 80241820 0040A82D */ daddu $s5, $v0, $zero +/* B2DC94 80241824 0260B02D */ daddu $s6, $s3, $zero +/* B2DC98 80241828 0220202D */ daddu $a0, $s1, $zero +/* B2DC9C 8024182C 3C05F5DE */ lui $a1, 0xf5de +/* B2DCA0 80241830 34A502DE */ ori $a1, $a1, 0x2de +/* B2DCA4 80241834 0C0B2026 */ jal set_variable +/* B2DCA8 80241838 0280302D */ daddu $a2, $s4, $zero +/* B2DCAC 8024183C 0220202D */ daddu $a0, $s1, $zero +/* B2DCB0 80241840 3C05F5DE */ lui $a1, 0xf5de +/* B2DCB4 80241844 34A502DF */ ori $a1, $a1, 0x2df +/* B2DCB8 80241848 0C0B2026 */ jal set_variable +/* B2DCBC 8024184C 32A6FFFF */ andi $a2, $s5, 0xffff +/* B2DCC0 80241850 24100001 */ addiu $s0, $zero, 1 +/* B2DCC4 80241854 0220202D */ daddu $a0, $s1, $zero +.L80241858: +/* B2DCC8 80241858 3C05F840 */ lui $a1, 0xf840 +/* B2DCCC 8024185C 34A56268 */ ori $a1, $a1, 0x6268 +/* B2DCD0 80241860 0C0B2026 */ jal set_variable +/* B2DCD4 80241864 3206FFFF */ andi $a2, $s0, 0xffff +/* B2DCD8 80241868 0220202D */ daddu $a0, $s1, $zero +/* B2DCDC 8024186C 3C05F840 */ lui $a1, 0xf840 +/* B2DCE0 80241870 34A56269 */ ori $a1, $a1, 0x6269 +/* B2DCE4 80241874 0C0B2026 */ jal set_variable +/* B2DCE8 80241878 32E6FFFF */ andi $a2, $s7, 0xffff +/* B2DCEC 8024187C 0000202D */ daddu $a0, $zero, $zero +/* B2DCF0 80241880 3C05F5DE */ lui $a1, 0xf5de +/* B2DCF4 80241884 0C0B1EAF */ jal get_variable +/* B2DCF8 80241888 34A502E0 */ ori $a1, $a1, 0x2e0 +/* B2DCFC 8024188C 0000202D */ daddu $a0, $zero, $zero +/* B2DD00 80241890 3C05F5DE */ lui $a1, 0xf5de +/* B2DD04 80241894 34A50180 */ ori $a1, $a1, 0x180 +/* B2DD08 80241898 0C0B1EAF */ jal get_variable +/* B2DD0C 8024189C 0040802D */ daddu $s0, $v0, $zero +/* B2DD10 802418A0 0040282D */ daddu $a1, $v0, $zero +/* B2DD14 802418A4 0000182D */ daddu $v1, $zero, $zero +/* B2DD18 802418A8 3C068024 */ lui $a2, 0x8024 +/* B2DD1C 802418AC 24C63288 */ addiu $a2, $a2, 0x3288 +/* B2DD20 802418B0 00C0202D */ daddu $a0, $a2, $zero +.L802418B4: +/* B2DD24 802418B4 8C820000 */ lw $v0, ($a0) +/* B2DD28 802418B8 00A2102A */ slt $v0, $a1, $v0 +/* B2DD2C 802418BC 14400006 */ bnez $v0, .L802418D8 +/* B2DD30 802418C0 000310C0 */ sll $v0, $v1, 3 +/* B2DD34 802418C4 24630001 */ addiu $v1, $v1, 1 +/* B2DD38 802418C8 28620008 */ slti $v0, $v1, 8 +/* B2DD3C 802418CC 1440FFF9 */ bnez $v0, .L802418B4 +/* B2DD40 802418D0 24840008 */ addiu $a0, $a0, 8 +/* B2DD44 802418D4 000310C0 */ sll $v0, $v1, 3 +.L802418D8: +/* B2DD48 802418D8 00461021 */ addu $v0, $v0, $a2 +/* B2DD4C 802418DC 8C420004 */ lw $v0, 4($v0) +/* B2DD50 802418E0 97A30010 */ lhu $v1, 0x10($sp) +/* B2DD54 802418E4 0202202A */ slt $a0, $s0, $v0 +/* B2DD58 802418E8 32C2FFFF */ andi $v0, $s6, 0xffff +/* B2DD5C 802418EC 14620008 */ bne $v1, $v0, .L80241910 +/* B2DD60 802418F0 32A2FFFF */ andi $v0, $s5, 0xffff +/* B2DD64 802418F4 97A7001E */ lhu $a3, 0x1e($sp) +/* B2DD68 802418F8 14E20005 */ bne $a3, $v0, .L80241910 +/* B2DD6C 802418FC 32E2FFFF */ andi $v0, $s7, 0xffff +/* B2DD70 80241900 14400003 */ bnez $v0, .L80241910 +/* B2DD74 80241904 00000000 */ nop +/* B2DD78 80241908 14800008 */ bnez $a0, .L8024192C +/* B2DD7C 8024190C 24020001 */ addiu $v0, $zero, 1 +.L80241910: +/* B2DD80 80241910 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B2DD84 80241914 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B2DD88 80241918 80420075 */ lb $v0, 0x75($v0) +/* B2DD8C 8024191C 10400005 */ beqz $v0, .L80241934 +/* B2DD90 80241920 00000000 */ nop +/* B2DD94 80241924 10800003 */ beqz $a0, .L80241934 +/* B2DD98 80241928 24020001 */ addiu $v0, $zero, 1 +.L8024192C: +/* B2DD9C 8024192C 08090650 */ j .L80241940 +/* B2DDA0 80241930 AE220084 */ sw $v0, 0x84($s1) +.L80241934: +/* B2DDA4 80241934 0C00F9EB */ jal kill_enemy +/* B2DDA8 80241938 03C0202D */ daddu $a0, $fp, $zero +/* B2DDAC 8024193C AE200084 */ sw $zero, 0x84($s1) +.L80241940: +/* B2DDB0 80241940 8FBF0044 */ lw $ra, 0x44($sp) +/* B2DDB4 80241944 8FBE0040 */ lw $fp, 0x40($sp) +/* B2DDB8 80241948 8FB7003C */ lw $s7, 0x3c($sp) +/* B2DDBC 8024194C 8FB60038 */ lw $s6, 0x38($sp) +/* B2DDC0 80241950 8FB50034 */ lw $s5, 0x34($sp) +/* B2DDC4 80241954 8FB40030 */ lw $s4, 0x30($sp) +/* B2DDC8 80241958 8FB3002C */ lw $s3, 0x2c($sp) +/* B2DDCC 8024195C 8FB20028 */ lw $s2, 0x28($sp) +/* B2DDD0 80241960 8FB10024 */ lw $s1, 0x24($sp) +/* B2DDD4 80241964 8FB00020 */ lw $s0, 0x20($sp) +/* B2DDD8 80241968 24020002 */ addiu $v0, $zero, 2 +/* B2DDDC 8024196C 03E00008 */ jr $ra +/* B2DDE0 80241970 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241974.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241974.s new file mode 100644 index 0000000000..1217b93813 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241974.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241974 +/* B2DDE4 80241974 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2DDE8 80241978 AFBF0014 */ sw $ra, 0x14($sp) +/* B2DDEC 8024197C AFB00010 */ sw $s0, 0x10($sp) +/* B2DDF0 80241980 0C00EABB */ jal get_npc_unsafe +/* B2DDF4 80241984 8C84014C */ lw $a0, 0x14c($a0) +/* B2DDF8 80241988 24040008 */ addiu $a0, $zero, 8 +/* B2DDFC 8024198C 0040802D */ daddu $s0, $v0, $zero +/* B2DE00 80241990 3C028024 */ lui $v0, 0x8024 +/* B2DE04 80241994 244219E0 */ addiu $v0, $v0, 0x19e0 +/* B2DE08 80241998 0C00AB39 */ jal heap_malloc +/* B2DE0C 8024199C AE020008 */ sw $v0, 8($s0) +/* B2DE10 802419A0 0040182D */ daddu $v1, $v0, $zero +/* B2DE14 802419A4 AE030020 */ sw $v1, 0x20($s0) +/* B2DE18 802419A8 AC600000 */ sw $zero, ($v1) +/* B2DE1C 802419AC 8FBF0014 */ lw $ra, 0x14($sp) +/* B2DE20 802419B0 8FB00010 */ lw $s0, 0x10($sp) +/* B2DE24 802419B4 24020001 */ addiu $v0, $zero, 1 +/* B2DE28 802419B8 03E00008 */ jr $ra +/* B2DE2C 802419BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802419C0_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_802419C0_B2C470.s new file mode 100644 index 0000000000..216750a4e5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802419C0_B2C470.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419C0_B2DE30 +/* B2DE30 802419C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2DE34 802419C4 AFBF0010 */ sw $ra, 0x10($sp) +/* B2DE38 802419C8 0C00EABB */ jal get_npc_unsafe +/* B2DE3C 802419CC 8C84014C */ lw $a0, 0x14c($a0) +/* B2DE40 802419D0 8FBF0010 */ lw $ra, 0x10($sp) +/* B2DE44 802419D4 0000102D */ daddu $v0, $zero, $zero +/* B2DE48 802419D8 03E00008 */ jr $ra +/* B2DE4C 802419DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802419E0.s b/asm/nonmatchings/world/area_jan/jan_02/func_802419E0.s new file mode 100644 index 0000000000..0084670858 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802419E0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419E0 +/* B2DE50 802419E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2DE54 802419E4 3C03800A */ lui $v1, 0x800a +/* B2DE58 802419E8 8463A634 */ lh $v1, -0x59cc($v1) +/* B2DE5C 802419EC 3C05800B */ lui $a1, %hi(gCameras) +/* B2DE60 802419F0 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B2DE64 802419F4 AFBF0010 */ sw $ra, 0x10($sp) +/* B2DE68 802419F8 00031080 */ sll $v0, $v1, 2 +/* B2DE6C 802419FC 00431021 */ addu $v0, $v0, $v1 +/* B2DE70 80241A00 00021080 */ sll $v0, $v0, 2 +/* B2DE74 80241A04 00431023 */ subu $v0, $v0, $v1 +/* B2DE78 80241A08 000218C0 */ sll $v1, $v0, 3 +/* B2DE7C 80241A0C 00431021 */ addu $v0, $v0, $v1 +/* B2DE80 80241A10 8C830020 */ lw $v1, 0x20($a0) +/* B2DE84 80241A14 000210C0 */ sll $v0, $v0, 3 +/* B2DE88 80241A18 8C630000 */ lw $v1, ($v1) +/* B2DE8C 80241A1C 30630001 */ andi $v1, $v1, 1 +/* B2DE90 80241A20 10600004 */ beqz $v1, .L80241A34 +/* B2DE94 80241A24 00451021 */ addu $v0, $v0, $a1 +/* B2DE98 80241A28 C44C006C */ lwc1 $f12, 0x6c($v0) +/* B2DE9C 80241A2C 0C00A6C9 */ jal clamp_angle +/* B2DEA0 80241A30 46006307 */ neg.s $f12, $f12 +.L80241A34: +/* B2DEA4 80241A34 8FBF0010 */ lw $ra, 0x10($sp) +/* B2DEA8 80241A38 03E00008 */ jr $ra +/* B2DEAC 80241A3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241A40.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241A40.s new file mode 100644 index 0000000000..bd3c129828 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241A40.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A40 +/* B2DEB0 80241A40 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B2DEB4 80241A44 AFB10014 */ sw $s1, 0x14($sp) +/* B2DEB8 80241A48 0080882D */ daddu $s1, $a0, $zero +/* B2DEBC 80241A4C AFBF0024 */ sw $ra, 0x24($sp) +/* B2DEC0 80241A50 AFB40020 */ sw $s4, 0x20($sp) +/* B2DEC4 80241A54 AFB3001C */ sw $s3, 0x1c($sp) +/* B2DEC8 80241A58 AFB20018 */ sw $s2, 0x18($sp) +/* B2DECC 80241A5C 10A00033 */ beqz $a1, .L80241B2C +/* B2DED0 80241A60 AFB00010 */ sw $s0, 0x10($sp) +/* B2DED4 80241A64 0C04760B */ jal func_8011D82C +/* B2DED8 80241A68 24040001 */ addiu $a0, $zero, 1 +/* B2DEDC 80241A6C 0000202D */ daddu $a0, $zero, $zero +/* B2DEE0 80241A70 0080282D */ daddu $a1, $a0, $zero +/* B2DEE4 80241A74 0080302D */ daddu $a2, $a0, $zero +/* B2DEE8 80241A78 0080382D */ daddu $a3, $a0, $zero +/* B2DEEC 80241A7C 0080802D */ daddu $s0, $a0, $zero +/* B2DEF0 80241A80 2414FFFC */ addiu $s4, $zero, -4 +/* B2DEF4 80241A84 24130005 */ addiu $s3, $zero, 5 +/* B2DEF8 80241A88 3C120080 */ lui $s2, 0x80 +/* B2DEFC 80241A8C 3C038015 */ lui $v1, 0x8015 +/* B2DF00 80241A90 8C6312F0 */ lw $v1, 0x12f0($v1) +/* B2DF04 80241A94 24020001 */ addiu $v0, $zero, 1 +/* B2DF08 80241A98 0C046F97 */ jal set_background_color_blend +/* B2DF0C 80241A9C A0620000 */ sb $v0, ($v1) +.L80241AA0: +/* B2DF10 80241AA0 0C00E2B7 */ jal get_npc_by_index +/* B2DF14 80241AA4 0200202D */ daddu $a0, $s0, $zero +/* B2DF18 80241AA8 0040202D */ daddu $a0, $v0, $zero +/* B2DF1C 80241AAC 5080000B */ beql $a0, $zero, .L80241ADC +/* B2DF20 80241AB0 26100001 */ addiu $s0, $s0, 1 +/* B2DF24 80241AB4 8C820000 */ lw $v0, ($a0) +/* B2DF28 80241AB8 50400008 */ beql $v0, $zero, .L80241ADC +/* B2DF2C 80241ABC 26100001 */ addiu $s0, $s0, 1 +/* B2DF30 80241AC0 808300A4 */ lb $v1, 0xa4($a0) +/* B2DF34 80241AC4 10740005 */ beq $v1, $s4, .L80241ADC +/* B2DF38 80241AC8 26100001 */ addiu $s0, $s0, 1 +/* B2DF3C 80241ACC 10730003 */ beq $v1, $s3, .L80241ADC +/* B2DF40 80241AD0 00000000 */ nop +/* B2DF44 80241AD4 00521025 */ or $v0, $v0, $s2 +/* B2DF48 80241AD8 AC820000 */ sw $v0, ($a0) +.L80241ADC: +/* B2DF4C 80241ADC 2A020040 */ slti $v0, $s0, 0x40 +/* B2DF50 80241AE0 1440FFEF */ bnez $v0, .L80241AA0 +/* B2DF54 80241AE4 00000000 */ nop +/* B2DF58 80241AE8 0000802D */ daddu $s0, $zero, $zero +/* B2DF5C 80241AEC 3C120800 */ lui $s2, 0x800 +.L80241AF0: +/* B2DF60 80241AF0 0C04C3D6 */ jal get_item_entity +/* B2DF64 80241AF4 0200202D */ daddu $a0, $s0, $zero +/* B2DF68 80241AF8 0040182D */ daddu $v1, $v0, $zero +/* B2DF6C 80241AFC 10600007 */ beqz $v1, .L80241B1C +/* B2DF70 80241B00 26100001 */ addiu $s0, $s0, 1 +/* B2DF74 80241B04 8C640000 */ lw $a0, ($v1) +/* B2DF78 80241B08 30820010 */ andi $v0, $a0, 0x10 +/* B2DF7C 80241B0C 10400003 */ beqz $v0, .L80241B1C +/* B2DF80 80241B10 00000000 */ nop +/* B2DF84 80241B14 00921025 */ or $v0, $a0, $s2 +/* B2DF88 80241B18 AC620000 */ sw $v0, ($v1) +.L80241B1C: +/* B2DF8C 80241B1C 2A020100 */ slti $v0, $s0, 0x100 +/* B2DF90 80241B20 1440FFF3 */ bnez $v0, .L80241AF0 +/* B2DF94 80241B24 00000000 */ nop +/* B2DF98 80241B28 AE200070 */ sw $zero, 0x70($s1) +.L80241B2C: +/* B2DF9C 80241B2C 8E220070 */ lw $v0, 0x70($s1) +/* B2DFA0 80241B30 24420008 */ addiu $v0, $v0, 8 +/* B2DFA4 80241B34 AE220070 */ sw $v0, 0x70($s1) +/* B2DFA8 80241B38 28420100 */ slti $v0, $v0, 0x100 +/* B2DFAC 80241B3C 14400003 */ bnez $v0, .L80241B4C +/* B2DFB0 80241B40 0000202D */ daddu $a0, $zero, $zero +/* B2DFB4 80241B44 240200FF */ addiu $v0, $zero, 0xff +/* B2DFB8 80241B48 AE220070 */ sw $v0, 0x70($s1) +.L80241B4C: +/* B2DFBC 80241B4C 0080282D */ daddu $a1, $a0, $zero +/* B2DFC0 80241B50 92270073 */ lbu $a3, 0x73($s1) +/* B2DFC4 80241B54 0C046F97 */ jal set_background_color_blend +/* B2DFC8 80241B58 0080302D */ daddu $a2, $a0, $zero +/* B2DFCC 80241B5C 8E220070 */ lw $v0, 0x70($s1) +/* B2DFD0 80241B60 8FBF0024 */ lw $ra, 0x24($sp) +/* B2DFD4 80241B64 8FB40020 */ lw $s4, 0x20($sp) +/* B2DFD8 80241B68 8FB3001C */ lw $s3, 0x1c($sp) +/* B2DFDC 80241B6C 8FB20018 */ lw $s2, 0x18($sp) +/* B2DFE0 80241B70 8FB10014 */ lw $s1, 0x14($sp) +/* B2DFE4 80241B74 8FB00010 */ lw $s0, 0x10($sp) +/* B2DFE8 80241B78 384200FF */ xori $v0, $v0, 0xff +/* B2DFEC 80241B7C 2C420001 */ sltiu $v0, $v0, 1 +/* B2DFF0 80241B80 00021040 */ sll $v0, $v0, 1 +/* B2DFF4 80241B84 03E00008 */ jr $ra +/* B2DFF8 80241B88 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241B8C_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241B8C_B2C470.s new file mode 100644 index 0000000000..167a0ff4f5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241B8C_B2C470.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B8C_B2DFFC +/* B2DFFC 80241B8C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B2E000 80241B90 AFB00010 */ sw $s0, 0x10($sp) +/* B2E004 80241B94 0080802D */ daddu $s0, $a0, $zero +/* B2E008 80241B98 AFBF0020 */ sw $ra, 0x20($sp) +/* B2E00C 80241B9C AFB3001C */ sw $s3, 0x1c($sp) +/* B2E010 80241BA0 AFB20018 */ sw $s2, 0x18($sp) +/* B2E014 80241BA4 10A00009 */ beqz $a1, .L80241BCC +/* B2E018 80241BA8 AFB10014 */ sw $s1, 0x14($sp) +/* B2E01C 80241BAC 0000202D */ daddu $a0, $zero, $zero +/* B2E020 80241BB0 0080282D */ daddu $a1, $a0, $zero +/* B2E024 80241BB4 0080302D */ daddu $a2, $a0, $zero +/* B2E028 80241BB8 0C046F97 */ jal set_background_color_blend +/* B2E02C 80241BBC 240700FF */ addiu $a3, $zero, 0xff +/* B2E030 80241BC0 240200FF */ addiu $v0, $zero, 0xff +/* B2E034 80241BC4 AE020070 */ sw $v0, 0x70($s0) +/* B2E038 80241BC8 AE000074 */ sw $zero, 0x74($s0) +.L80241BCC: +/* B2E03C 80241BCC 8E020070 */ lw $v0, 0x70($s0) +/* B2E040 80241BD0 2442FFF8 */ addiu $v0, $v0, -8 +/* B2E044 80241BD4 04410002 */ bgez $v0, .L80241BE0 +/* B2E048 80241BD8 AE020070 */ sw $v0, 0x70($s0) +/* B2E04C 80241BDC AE000070 */ sw $zero, 0x70($s0) +.L80241BE0: +/* B2E050 80241BE0 0000202D */ daddu $a0, $zero, $zero +/* B2E054 80241BE4 0080282D */ daddu $a1, $a0, $zero +/* B2E058 80241BE8 92070073 */ lbu $a3, 0x73($s0) +/* B2E05C 80241BEC 0C046F97 */ jal set_background_color_blend +/* B2E060 80241BF0 0080302D */ daddu $a2, $a0, $zero +/* B2E064 80241BF4 8E020070 */ lw $v0, 0x70($s0) +/* B2E068 80241BF8 14400006 */ bnez $v0, .L80241C14 +/* B2E06C 80241BFC 00000000 */ nop +/* B2E070 80241C00 8E020074 */ lw $v0, 0x74($s0) +/* B2E074 80241C04 14400003 */ bnez $v0, .L80241C14 +/* B2E078 80241C08 24020001 */ addiu $v0, $zero, 1 +/* B2E07C 80241C0C 08090738 */ j .L80241CE0 +/* B2E080 80241C10 AE020074 */ sw $v0, 0x74($s0) +.L80241C14: +/* B2E084 80241C14 8E030074 */ lw $v1, 0x74($s0) +/* B2E088 80241C18 24020001 */ addiu $v0, $zero, 1 +/* B2E08C 80241C1C 14620031 */ bne $v1, $v0, .L80241CE4 +/* B2E090 80241C20 0000102D */ daddu $v0, $zero, $zero +/* B2E094 80241C24 0C04760B */ jal func_8011D82C +/* B2E098 80241C28 0000202D */ daddu $a0, $zero, $zero +/* B2E09C 80241C2C 0000802D */ daddu $s0, $zero, $zero +/* B2E0A0 80241C30 2413FFFC */ addiu $s3, $zero, -4 +/* B2E0A4 80241C34 24120005 */ addiu $s2, $zero, 5 +/* B2E0A8 80241C38 3C11FF7F */ lui $s1, 0xff7f +/* B2E0AC 80241C3C 3C028015 */ lui $v0, 0x8015 +/* B2E0B0 80241C40 8C4212F0 */ lw $v0, 0x12f0($v0) +/* B2E0B4 80241C44 3631FFFF */ ori $s1, $s1, 0xffff +/* B2E0B8 80241C48 A0400000 */ sb $zero, ($v0) +.L80241C4C: +/* B2E0BC 80241C4C 0C00E2B7 */ jal get_npc_by_index +/* B2E0C0 80241C50 0200202D */ daddu $a0, $s0, $zero +/* B2E0C4 80241C54 0040202D */ daddu $a0, $v0, $zero +/* B2E0C8 80241C58 5080000B */ beql $a0, $zero, .L80241C88 +/* B2E0CC 80241C5C 26100001 */ addiu $s0, $s0, 1 +/* B2E0D0 80241C60 8C820000 */ lw $v0, ($a0) +/* B2E0D4 80241C64 50400008 */ beql $v0, $zero, .L80241C88 +/* B2E0D8 80241C68 26100001 */ addiu $s0, $s0, 1 +/* B2E0DC 80241C6C 808300A4 */ lb $v1, 0xa4($a0) +/* B2E0E0 80241C70 10730005 */ beq $v1, $s3, .L80241C88 +/* B2E0E4 80241C74 26100001 */ addiu $s0, $s0, 1 +/* B2E0E8 80241C78 10720003 */ beq $v1, $s2, .L80241C88 +/* B2E0EC 80241C7C 00000000 */ nop +/* B2E0F0 80241C80 00511024 */ and $v0, $v0, $s1 +/* B2E0F4 80241C84 AC820000 */ sw $v0, ($a0) +.L80241C88: +/* B2E0F8 80241C88 2A020040 */ slti $v0, $s0, 0x40 +/* B2E0FC 80241C8C 1440FFEF */ bnez $v0, .L80241C4C +/* B2E100 80241C90 00000000 */ nop +/* B2E104 80241C94 0000802D */ daddu $s0, $zero, $zero +/* B2E108 80241C98 3C11F7FF */ lui $s1, 0xf7ff +/* B2E10C 80241C9C 3631FFFF */ ori $s1, $s1, 0xffff +.L80241CA0: +/* B2E110 80241CA0 0C04C3D6 */ jal get_item_entity +/* B2E114 80241CA4 0200202D */ daddu $a0, $s0, $zero +/* B2E118 80241CA8 0040182D */ daddu $v1, $v0, $zero +/* B2E11C 80241CAC 10600007 */ beqz $v1, .L80241CCC +/* B2E120 80241CB0 26100001 */ addiu $s0, $s0, 1 +/* B2E124 80241CB4 8C640000 */ lw $a0, ($v1) +/* B2E128 80241CB8 30820010 */ andi $v0, $a0, 0x10 +/* B2E12C 80241CBC 10400003 */ beqz $v0, .L80241CCC +/* B2E130 80241CC0 00000000 */ nop +/* B2E134 80241CC4 00911024 */ and $v0, $a0, $s1 +/* B2E138 80241CC8 AC620000 */ sw $v0, ($v1) +.L80241CCC: +/* B2E13C 80241CCC 2A020100 */ slti $v0, $s0, 0x100 +/* B2E140 80241CD0 1440FFF3 */ bnez $v0, .L80241CA0 +/* B2E144 80241CD4 24020002 */ addiu $v0, $zero, 2 +/* B2E148 80241CD8 08090739 */ j .L80241CE4 +/* B2E14C 80241CDC 00000000 */ nop +.L80241CE0: +/* B2E150 80241CE0 0000102D */ daddu $v0, $zero, $zero +.L80241CE4: +/* B2E154 80241CE4 8FBF0020 */ lw $ra, 0x20($sp) +/* B2E158 80241CE8 8FB3001C */ lw $s3, 0x1c($sp) +/* B2E15C 80241CEC 8FB20018 */ lw $s2, 0x18($sp) +/* B2E160 80241CF0 8FB10014 */ lw $s1, 0x14($sp) +/* B2E164 80241CF4 8FB00010 */ lw $s0, 0x10($sp) +/* B2E168 80241CF8 03E00008 */ jr $ra +/* B2E16C 80241CFC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241D00_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241D00_B2C470.s new file mode 100644 index 0000000000..31a5d70721 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241D00_B2C470.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D00_B2E170 +/* B2E170 80241D00 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2E174 80241D04 AFB00010 */ sw $s0, 0x10($sp) +/* B2E178 80241D08 3C108011 */ lui $s0, %hi(gPlayerData) +/* B2E17C 80241D0C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* B2E180 80241D10 AFBF0018 */ sw $ra, 0x18($sp) +/* B2E184 80241D14 AFB10014 */ sw $s1, 0x14($sp) +/* B2E188 80241D18 960302C0 */ lhu $v1, 0x2c0($s0) +/* B2E18C 80241D1C 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* B2E190 80241D20 10400003 */ beqz $v0, .L80241D30 +/* B2E194 80241D24 0080882D */ daddu $s1, $a0, $zero +/* B2E198 80241D28 24620001 */ addiu $v0, $v1, 1 +/* B2E19C 80241D2C A60202C0 */ sh $v0, 0x2c0($s0) +.L80241D30: +/* B2E1A0 80241D30 3C05F5DE */ lui $a1, 0xf5de +/* B2E1A4 80241D34 34A502E0 */ ori $a1, $a1, 0x2e0 +/* B2E1A8 80241D38 0C0B1EAF */ jal get_variable +/* B2E1AC 80241D3C 0000202D */ daddu $a0, $zero, $zero +/* B2E1B0 80241D40 3C038024 */ lui $v1, 0x8024 +/* B2E1B4 80241D44 00621821 */ addu $v1, $v1, $v0 +/* B2E1B8 80241D48 90633248 */ lbu $v1, 0x3248($v1) +/* B2E1BC 80241D4C 8E220084 */ lw $v0, 0x84($s1) +/* B2E1C0 80241D50 54430006 */ bnel $v0, $v1, .L80241D6C +/* B2E1C4 80241D54 AE200084 */ sw $zero, 0x84($s1) +/* B2E1C8 80241D58 24020001 */ addiu $v0, $zero, 1 +/* B2E1CC 80241D5C AE220084 */ sw $v0, 0x84($s1) +/* B2E1D0 80241D60 960202C2 */ lhu $v0, 0x2c2($s0) +/* B2E1D4 80241D64 24420001 */ addiu $v0, $v0, 1 +/* B2E1D8 80241D68 A60202C2 */ sh $v0, 0x2c2($s0) +.L80241D6C: +/* B2E1DC 80241D6C 8FBF0018 */ lw $ra, 0x18($sp) +/* B2E1E0 80241D70 8FB10014 */ lw $s1, 0x14($sp) +/* B2E1E4 80241D74 8FB00010 */ lw $s0, 0x10($sp) +/* B2E1E8 80241D78 24020002 */ addiu $v0, $zero, 2 +/* B2E1EC 80241D7C 03E00008 */ jr $ra +/* B2E1F0 80241D80 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241D84_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241D84_B2C470.s new file mode 100644 index 0000000000..e48b5e781e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241D84_B2C470.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D84_B2E1F4 +/* B2E1F4 80241D84 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B2E1F8 80241D88 AFB1001C */ sw $s1, 0x1c($sp) +/* B2E1FC 80241D8C AFBF0020 */ sw $ra, 0x20($sp) +/* B2E200 80241D90 AFB00018 */ sw $s0, 0x18($sp) +/* B2E204 80241D94 F7B60030 */ sdc1 $f22, 0x30($sp) +/* B2E208 80241D98 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B2E20C 80241D9C 10A00060 */ beqz $a1, .L80241F20 +/* B2E210 80241DA0 0080882D */ daddu $s1, $a0, $zero +/* B2E214 80241DA4 3C05F4AC */ lui $a1, 0xf4ac +/* B2E218 80241DA8 0C0B1EAF */ jal get_variable +/* B2E21C 80241DAC 34A5D481 */ ori $a1, $a1, 0xd481 +/* B2E220 80241DB0 0220202D */ daddu $a0, $s1, $zero +/* B2E224 80241DB4 3C05F4AC */ lui $a1, 0xf4ac +/* B2E228 80241DB8 4482B000 */ mtc1 $v0, $f22 +/* B2E22C 80241DBC 00000000 */ nop +/* B2E230 80241DC0 4680B5A0 */ cvt.s.w $f22, $f22 +/* B2E234 80241DC4 0C0B1EAF */ jal get_variable +/* B2E238 80241DC8 34A5D482 */ ori $a1, $a1, 0xd482 +/* B2E23C 80241DCC 0220202D */ daddu $a0, $s1, $zero +/* B2E240 80241DD0 3C05F4AC */ lui $a1, 0xf4ac +/* B2E244 80241DD4 4482A000 */ mtc1 $v0, $f20 +/* B2E248 80241DD8 00000000 */ nop +/* B2E24C 80241DDC 4680A520 */ cvt.s.w $f20, $f20 +/* B2E250 80241DE0 0C0B1EAF */ jal get_variable +/* B2E254 80241DE4 34A5D483 */ ori $a1, $a1, 0xd483 +/* B2E258 80241DE8 44821000 */ mtc1 $v0, $f2 +/* B2E25C 80241DEC 00000000 */ nop +/* B2E260 80241DF0 468010A0 */ cvt.s.w $f2, $f2 +/* B2E264 80241DF4 4405B000 */ mfc1 $a1, $f22 +/* B2E268 80241DF8 4406A000 */ mfc1 $a2, $f20 +/* B2E26C 80241DFC 44071000 */ mfc1 $a3, $f2 +/* B2E270 80241E00 0C01C574 */ jal func_800715D0 +/* B2E274 80241E04 0000202D */ daddu $a0, $zero, $zero +/* B2E278 80241E08 0220202D */ daddu $a0, $s1, $zero +/* B2E27C 80241E0C 3C05F4AC */ lui $a1, 0xf4ac +/* B2E280 80241E10 34A5D481 */ ori $a1, $a1, 0xd481 +/* B2E284 80241E14 3C108025 */ lui $s0, 0x8025 +/* B2E288 80241E18 26108940 */ addiu $s0, $s0, -0x76c0 +/* B2E28C 80241E1C 0C0B1EAF */ jal get_variable +/* B2E290 80241E20 AE020000 */ sw $v0, ($s0) +/* B2E294 80241E24 0220202D */ daddu $a0, $s1, $zero +/* B2E298 80241E28 3C05F4AC */ lui $a1, 0xf4ac +/* B2E29C 80241E2C 4482B000 */ mtc1 $v0, $f22 +/* B2E2A0 80241E30 00000000 */ nop +/* B2E2A4 80241E34 4680B5A0 */ cvt.s.w $f22, $f22 +/* B2E2A8 80241E38 0C0B1EAF */ jal get_variable +/* B2E2AC 80241E3C 34A5D482 */ ori $a1, $a1, 0xd482 +/* B2E2B0 80241E40 0220202D */ daddu $a0, $s1, $zero +/* B2E2B4 80241E44 3C05F4AC */ lui $a1, 0xf4ac +/* B2E2B8 80241E48 4482A000 */ mtc1 $v0, $f20 +/* B2E2BC 80241E4C 00000000 */ nop +/* B2E2C0 80241E50 4680A520 */ cvt.s.w $f20, $f20 +/* B2E2C4 80241E54 0C0B1EAF */ jal get_variable +/* B2E2C8 80241E58 34A5D483 */ ori $a1, $a1, 0xd483 +/* B2E2CC 80241E5C 44821000 */ mtc1 $v0, $f2 +/* B2E2D0 80241E60 00000000 */ nop +/* B2E2D4 80241E64 468010A0 */ cvt.s.w $f2, $f2 +/* B2E2D8 80241E68 4405B000 */ mfc1 $a1, $f22 +/* B2E2DC 80241E6C 4406A000 */ mfc1 $a2, $f20 +/* B2E2E0 80241E70 44071000 */ mfc1 $a3, $f2 +/* B2E2E4 80241E74 0C01C604 */ jal func_80071810 +/* B2E2E8 80241E78 0000202D */ daddu $a0, $zero, $zero +/* B2E2EC 80241E7C 0220202D */ daddu $a0, $s1, $zero +/* B2E2F0 80241E80 3C05F4AC */ lui $a1, 0xf4ac +/* B2E2F4 80241E84 3C018025 */ lui $at, 0x8025 +/* B2E2F8 80241E88 AC228944 */ sw $v0, -0x76bc($at) +/* B2E2FC 80241E8C 0C0B1EAF */ jal get_variable +/* B2E300 80241E90 34A5D481 */ ori $a1, $a1, 0xd481 +/* B2E304 80241E94 0220202D */ daddu $a0, $s1, $zero +/* B2E308 80241E98 3C05F4AC */ lui $a1, 0xf4ac +/* B2E30C 80241E9C 4482B000 */ mtc1 $v0, $f22 +/* B2E310 80241EA0 00000000 */ nop +/* B2E314 80241EA4 4680B5A0 */ cvt.s.w $f22, $f22 +/* B2E318 80241EA8 0C0B1EAF */ jal get_variable +/* B2E31C 80241EAC 34A5D482 */ ori $a1, $a1, 0xd482 +/* B2E320 80241EB0 0220202D */ daddu $a0, $s1, $zero +/* B2E324 80241EB4 3C05F4AC */ lui $a1, 0xf4ac +/* B2E328 80241EB8 4482A000 */ mtc1 $v0, $f20 +/* B2E32C 80241EBC 00000000 */ nop +/* B2E330 80241EC0 4680A520 */ cvt.s.w $f20, $f20 +/* B2E334 80241EC4 0C0B1EAF */ jal get_variable +/* B2E338 80241EC8 34A5D483 */ ori $a1, $a1, 0xd483 +/* B2E33C 80241ECC 44821000 */ mtc1 $v0, $f2 +/* B2E340 80241ED0 00000000 */ nop +/* B2E344 80241ED4 468010A0 */ cvt.s.w $f2, $f2 +/* B2E348 80241ED8 4405B000 */ mfc1 $a1, $f22 +/* B2E34C 80241EDC 4406A000 */ mfc1 $a2, $f20 +/* B2E350 80241EE0 3C013F80 */ lui $at, 0x3f80 +/* B2E354 80241EE4 44810000 */ mtc1 $at, $f0 +/* B2E358 80241EE8 44071000 */ mfc1 $a3, $f2 +/* B2E35C 80241EEC 0000202D */ daddu $a0, $zero, $zero +/* B2E360 80241EF0 AFA00014 */ sw $zero, 0x14($sp) +/* B2E364 80241EF4 0C01CA24 */ jal func_80072890 +/* B2E368 80241EF8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B2E36C 80241EFC 8E030000 */ lw $v1, ($s0) +/* B2E370 80241F00 8C64000C */ lw $a0, 0xc($v1) +/* B2E374 80241F04 3C018025 */ lui $at, 0x8025 +/* B2E378 80241F08 AC228948 */ sw $v0, -0x76b8($at) +/* B2E37C 80241F0C AC800018 */ sw $zero, 0x18($a0) +/* B2E380 80241F10 AC800020 */ sw $zero, 0x20($a0) +/* B2E384 80241F14 AC800024 */ sw $zero, 0x24($a0) +/* B2E388 80241F18 AC800028 */ sw $zero, 0x28($a0) +/* B2E38C 80241F1C AC80001C */ sw $zero, 0x1c($a0) +.L80241F20: +/* B2E390 80241F20 3C028025 */ lui $v0, 0x8025 +/* B2E394 80241F24 8C428940 */ lw $v0, -0x76c0($v0) +/* B2E398 80241F28 8C44000C */ lw $a0, 0xc($v0) +/* B2E39C 80241F2C 8C820020 */ lw $v0, 0x20($a0) +/* B2E3A0 80241F30 8C830028 */ lw $v1, 0x28($a0) +/* B2E3A4 80241F34 2442000A */ addiu $v0, $v0, 0xa +/* B2E3A8 80241F38 AC820020 */ sw $v0, 0x20($a0) +/* B2E3AC 80241F3C 8C820024 */ lw $v0, 0x24($a0) +/* B2E3B0 80241F40 2463000A */ addiu $v1, $v1, 0xa +/* B2E3B4 80241F44 AC830028 */ sw $v1, 0x28($a0) +/* B2E3B8 80241F48 8C830018 */ lw $v1, 0x18($a0) +/* B2E3BC 80241F4C 2442000A */ addiu $v0, $v0, 0xa +/* B2E3C0 80241F50 AC820024 */ sw $v0, 0x24($a0) +/* B2E3C4 80241F54 8C82001C */ lw $v0, 0x1c($a0) +/* B2E3C8 80241F58 2463000A */ addiu $v1, $v1, 0xa +/* B2E3CC 80241F5C AC830018 */ sw $v1, 0x18($a0) +/* B2E3D0 80241F60 286300FF */ slti $v1, $v1, 0xff +/* B2E3D4 80241F64 2442000A */ addiu $v0, $v0, 0xa +/* B2E3D8 80241F68 AC82001C */ sw $v0, 0x1c($a0) +/* B2E3DC 80241F6C 14600004 */ bnez $v1, .L80241F80 +/* B2E3E0 80241F70 0000102D */ daddu $v0, $zero, $zero +/* B2E3E4 80241F74 240200FF */ addiu $v0, $zero, 0xff +/* B2E3E8 80241F78 AC820018 */ sw $v0, 0x18($a0) +/* B2E3EC 80241F7C 24020002 */ addiu $v0, $zero, 2 +.L80241F80: +/* B2E3F0 80241F80 8FBF0020 */ lw $ra, 0x20($sp) +/* B2E3F4 80241F84 8FB1001C */ lw $s1, 0x1c($sp) +/* B2E3F8 80241F88 8FB00018 */ lw $s0, 0x18($sp) +/* B2E3FC 80241F8C D7B60030 */ ldc1 $f22, 0x30($sp) +/* B2E400 80241F90 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B2E404 80241F94 03E00008 */ jr $ra +/* B2E408 80241F98 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80241F9C.s b/asm/nonmatchings/world/area_jan/jan_02/func_80241F9C.s new file mode 100644 index 0000000000..84c2a159d5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80241F9C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F9C +/* B2E40C 80241F9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2E410 80241FA0 10A0000B */ beqz $a1, .L80241FD0 +/* B2E414 80241FA4 AFBF0010 */ sw $ra, 0x10($sp) +/* B2E418 80241FA8 3C038025 */ lui $v1, 0x8025 +/* B2E41C 80241FAC 8C638944 */ lw $v1, -0x76bc($v1) +/* B2E420 80241FB0 8C620000 */ lw $v0, ($v1) +/* B2E424 80241FB4 3C048025 */ lui $a0, 0x8025 +/* B2E428 80241FB8 8C848948 */ lw $a0, -0x76b8($a0) +/* B2E42C 80241FBC 34420010 */ ori $v0, $v0, 0x10 +/* B2E430 80241FC0 AC620000 */ sw $v0, ($v1) +/* B2E434 80241FC4 8C820000 */ lw $v0, ($a0) +/* B2E438 80241FC8 34420010 */ ori $v0, $v0, 0x10 +/* B2E43C 80241FCC AC820000 */ sw $v0, ($a0) +.L80241FD0: +/* B2E440 80241FD0 3C048025 */ lui $a0, 0x8025 +/* B2E444 80241FD4 8C848940 */ lw $a0, -0x76c0($a0) +/* B2E448 80241FD8 8C85000C */ lw $a1, 0xc($a0) +/* B2E44C 80241FDC 8CA20018 */ lw $v0, 0x18($a1) +/* B2E450 80241FE0 8CA30020 */ lw $v1, 0x20($a1) +/* B2E454 80241FE4 2442FFF6 */ addiu $v0, $v0, -0xa +/* B2E458 80241FE8 ACA20018 */ sw $v0, 0x18($a1) +/* B2E45C 80241FEC 8CA20024 */ lw $v0, 0x24($a1) +/* B2E460 80241FF0 2463FFF6 */ addiu $v1, $v1, -0xa +/* B2E464 80241FF4 ACA30020 */ sw $v1, 0x20($a1) +/* B2E468 80241FF8 8CA30028 */ lw $v1, 0x28($a1) +/* B2E46C 80241FFC 2442FFF6 */ addiu $v0, $v0, -0xa +/* B2E470 80242000 ACA20024 */ sw $v0, 0x24($a1) +/* B2E474 80242004 8CA2001C */ lw $v0, 0x1c($a1) +/* B2E478 80242008 2463FFF6 */ addiu $v1, $v1, -0xa +/* B2E47C 8024200C ACA30028 */ sw $v1, 0x28($a1) +/* B2E480 80242010 8CA30018 */ lw $v1, 0x18($a1) +/* B2E484 80242014 2442FFF6 */ addiu $v0, $v0, -0xa +/* B2E488 80242018 18600003 */ blez $v1, .L80242028 +/* B2E48C 8024201C ACA2001C */ sw $v0, 0x1c($a1) +/* B2E490 80242020 08090811 */ j .L80242044 +/* B2E494 80242024 0000102D */ daddu $v0, $zero, $zero +.L80242028: +/* B2E498 80242028 0C016914 */ jal remove_effect +/* B2E49C 8024202C ACA00018 */ sw $zero, 0x18($a1) +/* B2E4A0 80242030 3C048025 */ lui $a0, 0x8025 +/* B2E4A4 80242034 8C848924 */ lw $a0, -0x76dc($a0) +/* B2E4A8 80242038 0C048D70 */ jal func_801235C0 +/* B2E4AC 8024203C 00000000 */ nop +/* B2E4B0 80242040 24020002 */ addiu $v0, $zero, 2 +.L80242044: +/* B2E4B4 80242044 8FBF0010 */ lw $ra, 0x10($sp) +/* B2E4B8 80242048 03E00008 */ jr $ra +/* B2E4BC 8024204C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242050_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242050_B2C470.s new file mode 100644 index 0000000000..84f539dcb1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242050_B2C470.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242050_B2E4C0 +/* B2E4C0 80242050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2E4C4 80242054 AFBF0010 */ sw $ra, 0x10($sp) +/* B2E4C8 80242058 8C82000C */ lw $v0, 0xc($a0) +/* B2E4CC 8024205C 0C0B1EAF */ jal get_variable +/* B2E4D0 80242060 8C450000 */ lw $a1, ($v0) +/* B2E4D4 80242064 3C038025 */ lui $v1, 0x8025 +/* B2E4D8 80242068 8C638940 */ lw $v1, -0x76c0($v1) +/* B2E4DC 8024206C 8C63000C */ lw $v1, 0xc($v1) +/* B2E4E0 80242070 AC620034 */ sw $v0, 0x34($v1) +/* B2E4E4 80242074 8FBF0010 */ lw $ra, 0x10($sp) +/* B2E4E8 80242078 24020002 */ addiu $v0, $zero, 2 +/* B2E4EC 8024207C 03E00008 */ jr $ra +/* B2E4F0 80242080 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242084_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242084_B2C470.s new file mode 100644 index 0000000000..b85e85aa54 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242084_B2C470.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242084_B2E4F4 +/* B2E4F4 80242084 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2E4F8 80242088 AFBF0010 */ sw $ra, 0x10($sp) +/* B2E4FC 8024208C 8C82000C */ lw $v0, 0xc($a0) +/* B2E500 80242090 0C0B1EAF */ jal get_variable +/* B2E504 80242094 8C450000 */ lw $a1, ($v0) +/* B2E508 80242098 0040202D */ daddu $a0, $v0, $zero +/* B2E50C 8024209C 3C028025 */ lui $v0, 0x8025 +/* B2E510 802420A0 8C428940 */ lw $v0, -0x76c0($v0) +/* B2E514 802420A4 24030001 */ addiu $v1, $zero, 1 +/* B2E518 802420A8 8C45000C */ lw $a1, 0xc($v0) +/* B2E51C 802420AC 1083000D */ beq $a0, $v1, .L802420E4 +/* B2E520 802420B0 28820002 */ slti $v0, $a0, 2 +/* B2E524 802420B4 10400005 */ beqz $v0, .L802420CC +/* B2E528 802420B8 24020002 */ addiu $v0, $zero, 2 +/* B2E52C 802420BC 10800007 */ beqz $a0, .L802420DC +/* B2E530 802420C0 240200C0 */ addiu $v0, $zero, 0xc0 +/* B2E534 802420C4 0809083D */ j .L802420F4 +/* B2E538 802420C8 ACA00038 */ sw $zero, 0x38($a1) +.L802420CC: +/* B2E53C 802420CC 10820008 */ beq $a0, $v0, .L802420F0 +/* B2E540 802420D0 24020040 */ addiu $v0, $zero, 0x40 +/* B2E544 802420D4 0809083D */ j .L802420F4 +/* B2E548 802420D8 ACA00038 */ sw $zero, 0x38($a1) +.L802420DC: +/* B2E54C 802420DC 0809083D */ j .L802420F4 +/* B2E550 802420E0 ACA20038 */ sw $v0, 0x38($a1) +.L802420E4: +/* B2E554 802420E4 24020080 */ addiu $v0, $zero, 0x80 +/* B2E558 802420E8 0809083D */ j .L802420F4 +/* B2E55C 802420EC ACA20038 */ sw $v0, 0x38($a1) +.L802420F0: +/* B2E560 802420F0 ACA20038 */ sw $v0, 0x38($a1) +.L802420F4: +/* B2E564 802420F4 8FBF0010 */ lw $ra, 0x10($sp) +/* B2E568 802420F8 24020002 */ addiu $v0, $zero, 2 +/* B2E56C 802420FC 03E00008 */ jr $ra +/* B2E570 80242100 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242104_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242104_B2C470.s new file mode 100644 index 0000000000..6f2dcd6a46 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242104_B2C470.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242104_B2E574 +/* B2E574 80242104 3C028025 */ lui $v0, 0x8025 +/* B2E578 80242108 8C428948 */ lw $v0, -0x76b8($v0) +/* B2E57C 8024210C 8C42000C */ lw $v0, 0xc($v0) +/* B2E580 80242110 AC40001C */ sw $zero, 0x1c($v0) +/* B2E584 80242114 03E00008 */ jr $ra +/* B2E588 80242118 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_8024211C.s b/asm/nonmatchings/world/area_jan/jan_02/func_8024211C.s new file mode 100644 index 0000000000..91b6cfb565 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_8024211C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024211C +/* B2E58C 8024211C 3C028025 */ lui $v0, 0x8025 +/* B2E590 80242120 8C428948 */ lw $v0, -0x76b8($v0) +/* B2E594 80242124 8C43000C */ lw $v1, 0xc($v0) +/* B2E598 80242128 24020001 */ addiu $v0, $zero, 1 +/* B2E59C 8024212C AC62001C */ sw $v0, 0x1c($v1) +/* B2E5A0 80242130 03E00008 */ jr $ra +/* B2E5A4 80242134 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242138.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242138.s new file mode 100644 index 0000000000..0dc85c4da7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242138.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242138 +/* B2E5A8 80242138 3C028025 */ lui $v0, 0x8025 +/* B2E5AC 8024213C 8C428948 */ lw $v0, -0x76b8($v0) +/* B2E5B0 80242140 8C43000C */ lw $v1, 0xc($v0) +/* B2E5B4 80242144 24020002 */ addiu $v0, $zero, 2 +/* B2E5B8 80242148 03E00008 */ jr $ra +/* B2E5BC 8024214C AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242150_B2C470.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242150_B2C470.s new file mode 100644 index 0000000000..d52189f12e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242150_B2C470.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242150_B2E5C0 +/* B2E5C0 80242150 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2E5C4 80242154 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B2E5C8 80242158 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B2E5CC 8024215C 3C05FE36 */ lui $a1, 0xfe36 +/* B2E5D0 80242160 AFBF0010 */ sw $ra, 0x10($sp) +/* B2E5D4 80242164 80460075 */ lb $a2, 0x75($v0) +/* B2E5D8 80242168 0C0B2026 */ jal set_variable +/* B2E5DC 8024216C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B2E5E0 80242170 8FBF0010 */ lw $ra, 0x10($sp) +/* B2E5E4 80242174 24020002 */ addiu $v0, $zero, 2 +/* B2E5E8 80242178 03E00008 */ jr $ra +/* B2E5EC 8024217C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242180.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242180.s new file mode 100644 index 0000000000..9bf0db013b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242180.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242180 +/* B2E5F0 80242180 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2E5F4 80242184 AFB10014 */ sw $s1, 0x14($sp) +/* B2E5F8 80242188 0080882D */ daddu $s1, $a0, $zero +/* B2E5FC 8024218C AFBF0018 */ sw $ra, 0x18($sp) +/* B2E600 80242190 AFB00010 */ sw $s0, 0x10($sp) +/* B2E604 80242194 8E30000C */ lw $s0, 0xc($s1) +/* B2E608 80242198 8E050000 */ lw $a1, ($s0) +/* B2E60C 8024219C 0C0B1EAF */ jal get_variable +/* B2E610 802421A0 26100004 */ addiu $s0, $s0, 4 +/* B2E614 802421A4 0220202D */ daddu $a0, $s1, $zero +/* B2E618 802421A8 8E050000 */ lw $a1, ($s0) +/* B2E61C 802421AC 0C0B210B */ jal get_float_variable +/* B2E620 802421B0 0040802D */ daddu $s0, $v0, $zero +/* B2E624 802421B4 24020002 */ addiu $v0, $zero, 2 +/* B2E628 802421B8 00501804 */ sllv $v1, $s0, $v0 +/* B2E62C 802421BC 00701821 */ addu $v1, $v1, $s0 +/* B2E630 802421C0 00431804 */ sllv $v1, $v1, $v0 +/* B2E634 802421C4 00701823 */ subu $v1, $v1, $s0 +/* B2E638 802421C8 000320C0 */ sll $a0, $v1, 3 +/* B2E63C 802421CC 00641821 */ addu $v1, $v1, $a0 +/* B2E640 802421D0 000318C0 */ sll $v1, $v1, 3 +/* B2E644 802421D4 3C01800B */ lui $at, 0x800b +/* B2E648 802421D8 00230821 */ addu $at, $at, $v1 +/* B2E64C 802421DC E4201D98 */ swc1 $f0, 0x1d98($at) +/* B2E650 802421E0 8FBF0018 */ lw $ra, 0x18($sp) +/* B2E654 802421E4 8FB10014 */ lw $s1, 0x14($sp) +/* B2E658 802421E8 8FB00010 */ lw $s0, 0x10($sp) +/* B2E65C 802421EC 03E00008 */ jr $ra +/* B2E660 802421F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802421F4.s b/asm/nonmatchings/world/area_jan/jan_02/func_802421F4.s new file mode 100644 index 0000000000..126d7bac41 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802421F4.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421F4 +/* B2E664 802421F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2E668 802421F8 AFB10014 */ sw $s1, 0x14($sp) +/* B2E66C 802421FC 0080882D */ daddu $s1, $a0, $zero +/* B2E670 80242200 AFBF0018 */ sw $ra, 0x18($sp) +/* B2E674 80242204 AFB00010 */ sw $s0, 0x10($sp) +/* B2E678 80242208 8E30000C */ lw $s0, 0xc($s1) +/* B2E67C 8024220C 8E050000 */ lw $a1, ($s0) +/* B2E680 80242210 0C0B1EAF */ jal get_variable +/* B2E684 80242214 26100004 */ addiu $s0, $s0, 4 +/* B2E688 80242218 00021880 */ sll $v1, $v0, 2 +/* B2E68C 8024221C 00621821 */ addu $v1, $v1, $v0 +/* B2E690 80242220 00031880 */ sll $v1, $v1, 2 +/* B2E694 80242224 00621823 */ subu $v1, $v1, $v0 +/* B2E698 80242228 000310C0 */ sll $v0, $v1, 3 +/* B2E69C 8024222C 00621821 */ addu $v1, $v1, $v0 +/* B2E6A0 80242230 000318C0 */ sll $v1, $v1, 3 +/* B2E6A4 80242234 3C01800B */ lui $at, 0x800b +/* B2E6A8 80242238 00230821 */ addu $at, $at, $v1 +/* B2E6AC 8024223C C4221D98 */ lwc1 $f2, 0x1d98($at) +/* B2E6B0 80242240 3C014480 */ lui $at, 0x4480 +/* B2E6B4 80242244 44810000 */ mtc1 $at, $f0 +/* B2E6B8 80242248 00000000 */ nop +/* B2E6BC 8024224C 46001082 */ mul.s $f2, $f2, $f0 +/* B2E6C0 80242250 00000000 */ nop +/* B2E6C4 80242254 3C01CD5B */ lui $at, 0xcd5b +/* B2E6C8 80242258 34215858 */ ori $at, $at, 0x5858 +/* B2E6CC 8024225C 44810000 */ mtc1 $at, $f0 +/* B2E6D0 80242260 00000000 */ nop +/* B2E6D4 80242264 46001080 */ add.s $f2, $f2, $f0 +/* B2E6D8 80242268 8E050000 */ lw $a1, ($s0) +/* B2E6DC 8024226C 4600110D */ trunc.w.s $f4, $f2 +/* B2E6E0 80242270 44062000 */ mfc1 $a2, $f4 +/* B2E6E4 80242274 0C0B2026 */ jal set_variable +/* B2E6E8 80242278 0220202D */ daddu $a0, $s1, $zero +/* B2E6EC 8024227C 8FBF0018 */ lw $ra, 0x18($sp) +/* B2E6F0 80242280 8FB10014 */ lw $s1, 0x14($sp) +/* B2E6F4 80242284 8FB00010 */ lw $s0, 0x10($sp) +/* B2E6F8 80242288 24020002 */ addiu $v0, $zero, 2 +/* B2E6FC 8024228C 03E00008 */ jr $ra +/* B2E700 80242290 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242294.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242294.s new file mode 100644 index 0000000000..3801281ead --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242294.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242294 +/* B2E704 80242294 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B2E708 80242298 AFB20018 */ sw $s2, 0x18($sp) +/* B2E70C 8024229C 0080902D */ daddu $s2, $a0, $zero +/* B2E710 802422A0 AFBF0030 */ sw $ra, 0x30($sp) +/* B2E714 802422A4 AFB7002C */ sw $s7, 0x2c($sp) +/* B2E718 802422A8 AFB60028 */ sw $s6, 0x28($sp) +/* B2E71C 802422AC AFB50024 */ sw $s5, 0x24($sp) +/* B2E720 802422B0 AFB40020 */ sw $s4, 0x20($sp) +/* B2E724 802422B4 AFB3001C */ sw $s3, 0x1c($sp) +/* B2E728 802422B8 AFB10014 */ sw $s1, 0x14($sp) +/* B2E72C 802422BC AFB00010 */ sw $s0, 0x10($sp) +/* B2E730 802422C0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B2E734 802422C4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* B2E738 802422C8 8E50000C */ lw $s0, 0xc($s2) +/* B2E73C 802422CC 8E050000 */ lw $a1, ($s0) +/* B2E740 802422D0 0C0B1EAF */ jal get_variable +/* B2E744 802422D4 26100004 */ addiu $s0, $s0, 4 +/* B2E748 802422D8 8E050000 */ lw $a1, ($s0) +/* B2E74C 802422DC 26100004 */ addiu $s0, $s0, 4 +/* B2E750 802422E0 0240202D */ daddu $a0, $s2, $zero +/* B2E754 802422E4 0C0B1EAF */ jal get_variable +/* B2E758 802422E8 0040B82D */ daddu $s7, $v0, $zero +/* B2E75C 802422EC 8E050000 */ lw $a1, ($s0) +/* B2E760 802422F0 26100004 */ addiu $s0, $s0, 4 +/* B2E764 802422F4 0240202D */ daddu $a0, $s2, $zero +/* B2E768 802422F8 0C0B1EAF */ jal get_variable +/* B2E76C 802422FC 0040B02D */ daddu $s6, $v0, $zero +/* B2E770 80242300 0240202D */ daddu $a0, $s2, $zero +/* B2E774 80242304 3C05F4AC */ lui $a1, 0xf4ac +/* B2E778 80242308 34A5D481 */ ori $a1, $a1, 0xd481 +/* B2E77C 8024230C 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* B2E780 80242310 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* B2E784 80242314 8E140000 */ lw $s4, ($s0) +/* B2E788 80242318 00061880 */ sll $v1, $a2, 2 +/* B2E78C 8024231C 00661821 */ addu $v1, $v1, $a2 +/* B2E790 80242320 00031880 */ sll $v1, $v1, 2 +/* B2E794 80242324 00661823 */ subu $v1, $v1, $a2 +/* B2E798 80242328 000330C0 */ sll $a2, $v1, 3 +/* B2E79C 8024232C 00661821 */ addu $v1, $v1, $a2 +/* B2E7A0 80242330 000318C0 */ sll $v1, $v1, 3 +/* B2E7A4 80242334 3C01800B */ lui $at, 0x800b +/* B2E7A8 80242338 00230821 */ addu $at, $at, $v1 +/* B2E7AC 8024233C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B2E7B0 80242340 8E150004 */ lw $s5, 4($s0) +/* B2E7B4 80242344 4600010D */ trunc.w.s $f4, $f0 +/* B2E7B8 80242348 44112000 */ mfc1 $s1, $f4 +/* B2E7BC 8024234C 0C0B1EAF */ jal get_variable +/* B2E7C0 80242350 0040982D */ daddu $s3, $v0, $zero +/* B2E7C4 80242354 4491B000 */ mtc1 $s1, $f22 +/* B2E7C8 80242358 00000000 */ nop +/* B2E7CC 8024235C 4680B5A0 */ cvt.s.w $f22, $f22 +/* B2E7D0 80242360 4600B306 */ mov.s $f12, $f22 +/* B2E7D4 80242364 0C00A8D4 */ jal cos_deg +/* B2E7D8 80242368 0040802D */ daddu $s0, $v0, $zero +/* B2E7DC 8024236C 4493A000 */ mtc1 $s3, $f20 +/* B2E7E0 80242370 00000000 */ nop +/* B2E7E4 80242374 4680A520 */ cvt.s.w $f20, $f20 +/* B2E7E8 80242378 4600A002 */ mul.s $f0, $f20, $f0 +/* B2E7EC 8024237C 00000000 */ nop +/* B2E7F0 80242380 0240202D */ daddu $a0, $s2, $zero +/* B2E7F4 80242384 44901000 */ mtc1 $s0, $f2 +/* B2E7F8 80242388 00000000 */ nop +/* B2E7FC 8024238C 468010A0 */ cvt.s.w $f2, $f2 +/* B2E800 80242390 46001081 */ sub.s $f2, $f2, $f0 +/* B2E804 80242394 3C05F4AC */ lui $a1, 0xf4ac +/* B2E808 80242398 4600110D */ trunc.w.s $f4, $f2 +/* B2E80C 8024239C 44102000 */ mfc1 $s0, $f4 +/* B2E810 802423A0 0C0B1EAF */ jal get_variable +/* B2E814 802423A4 34A5D483 */ ori $a1, $a1, 0xd483 +/* B2E818 802423A8 4600B306 */ mov.s $f12, $f22 +/* B2E81C 802423AC 0C00A8BB */ jal sin_deg +/* B2E820 802423B0 0040882D */ daddu $s1, $v0, $zero +/* B2E824 802423B4 4600A502 */ mul.s $f20, $f20, $f0 +/* B2E828 802423B8 00000000 */ nop +/* B2E82C 802423BC 0240202D */ daddu $a0, $s2, $zero +/* B2E830 802423C0 44910000 */ mtc1 $s1, $f0 +/* B2E834 802423C4 00000000 */ nop +/* B2E838 802423C8 46800020 */ cvt.s.w $f0, $f0 +/* B2E83C 802423CC 46140001 */ sub.s $f0, $f0, $f20 +/* B2E840 802423D0 0280282D */ daddu $a1, $s4, $zero +/* B2E844 802423D4 02173023 */ subu $a2, $s0, $s7 +/* B2E848 802423D8 4600010D */ trunc.w.s $f4, $f0 +/* B2E84C 802423DC 44102000 */ mfc1 $s0, $f4 +/* B2E850 802423E0 0C0B2026 */ jal set_variable +/* B2E854 802423E4 02168023 */ subu $s0, $s0, $s6 +/* B2E858 802423E8 0240202D */ daddu $a0, $s2, $zero +/* B2E85C 802423EC 02A0282D */ daddu $a1, $s5, $zero +/* B2E860 802423F0 0C0B2026 */ jal set_variable +/* B2E864 802423F4 0200302D */ daddu $a2, $s0, $zero +/* B2E868 802423F8 8FBF0030 */ lw $ra, 0x30($sp) +/* B2E86C 802423FC 8FB7002C */ lw $s7, 0x2c($sp) +/* B2E870 80242400 8FB60028 */ lw $s6, 0x28($sp) +/* B2E874 80242404 8FB50024 */ lw $s5, 0x24($sp) +/* B2E878 80242408 8FB40020 */ lw $s4, 0x20($sp) +/* B2E87C 8024240C 8FB3001C */ lw $s3, 0x1c($sp) +/* B2E880 80242410 8FB20018 */ lw $s2, 0x18($sp) +/* B2E884 80242414 8FB10014 */ lw $s1, 0x14($sp) +/* B2E888 80242418 8FB00010 */ lw $s0, 0x10($sp) +/* B2E88C 8024241C D7B60040 */ ldc1 $f22, 0x40($sp) +/* B2E890 80242420 D7B40038 */ ldc1 $f20, 0x38($sp) +/* B2E894 80242424 24020002 */ addiu $v0, $zero, 2 +/* B2E898 80242428 03E00008 */ jr $ra +/* B2E89C 8024242C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242430.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242430.s new file mode 100644 index 0000000000..33f5b6a0a7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242430.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242430 +/* B2E8A0 80242430 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B2E8A4 80242434 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B2E8A8 80242438 10A00002 */ beqz $a1, .L80242444 +/* B2E8AC 8024243C 2402003C */ addiu $v0, $zero, 0x3c +/* B2E8B0 80242440 AC820070 */ sw $v0, 0x70($a0) +.L80242444: +/* B2E8B4 80242444 C4620080 */ lwc1 $f2, 0x80($v1) +/* B2E8B8 80242448 3C0141F0 */ lui $at, 0x41f0 +/* B2E8BC 8024244C 44810000 */ mtc1 $at, $f0 +/* B2E8C0 80242450 00000000 */ nop +/* B2E8C4 80242454 46001000 */ add.s $f0, $f2, $f0 +/* B2E8C8 80242458 3C0143B4 */ lui $at, 0x43b4 +/* B2E8CC 8024245C 44811000 */ mtc1 $at, $f2 +/* B2E8D0 80242460 00000000 */ nop +/* B2E8D4 80242464 4600103E */ c.le.s $f2, $f0 +/* B2E8D8 80242468 00000000 */ nop +/* B2E8DC 8024246C 45000003 */ bc1f .L8024247C +/* B2E8E0 80242470 E4600080 */ swc1 $f0, 0x80($v1) +/* B2E8E4 80242474 46020001 */ sub.s $f0, $f0, $f2 +/* B2E8E8 80242478 E4600080 */ swc1 $f0, 0x80($v1) +.L8024247C: +/* B2E8EC 8024247C 8C820070 */ lw $v0, 0x70($a0) +/* B2E8F0 80242480 2442FFFF */ addiu $v0, $v0, -1 +/* B2E8F4 80242484 AC820070 */ sw $v0, 0x70($a0) +/* B2E8F8 80242488 000217C3 */ sra $v0, $v0, 0x1f +/* B2E8FC 8024248C 03E00008 */ jr $ra +/* B2E900 80242490 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242494.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242494.s new file mode 100644 index 0000000000..0827c05169 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242494.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242494 +/* B2E904 80242494 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B2E908 80242498 AFB10014 */ sw $s1, 0x14($sp) +/* B2E90C 8024249C 0080882D */ daddu $s1, $a0, $zero +/* B2E910 802424A0 AFB00010 */ sw $s0, 0x10($sp) +/* B2E914 802424A4 00A0802D */ daddu $s0, $a1, $zero +/* B2E918 802424A8 AFBF0018 */ sw $ra, 0x18($sp) +/* B2E91C 802424AC 0C00EABB */ jal get_npc_unsafe +/* B2E920 802424B0 2404FFFC */ addiu $a0, $zero, -4 +/* B2E924 802424B4 12000003 */ beqz $s0, .L802424C4 +/* B2E928 802424B8 0040182D */ daddu $v1, $v0, $zero +/* B2E92C 802424BC 2402003C */ addiu $v0, $zero, 0x3c +/* B2E930 802424C0 AE220070 */ sw $v0, 0x70($s1) +.L802424C4: +/* B2E934 802424C4 C462000C */ lwc1 $f2, 0xc($v1) +/* B2E938 802424C8 3C0141F0 */ lui $at, 0x41f0 +/* B2E93C 802424CC 44810000 */ mtc1 $at, $f0 +/* B2E940 802424D0 00000000 */ nop +/* B2E944 802424D4 46001000 */ add.s $f0, $f2, $f0 +/* B2E948 802424D8 3C0143B4 */ lui $at, 0x43b4 +/* B2E94C 802424DC 44811000 */ mtc1 $at, $f2 +/* B2E950 802424E0 00000000 */ nop +/* B2E954 802424E4 4600103E */ c.le.s $f2, $f0 +/* B2E958 802424E8 00000000 */ nop +/* B2E95C 802424EC 45000003 */ bc1f .L802424FC +/* B2E960 802424F0 E460000C */ swc1 $f0, 0xc($v1) +/* B2E964 802424F4 46020001 */ sub.s $f0, $f0, $f2 +/* B2E968 802424F8 E460000C */ swc1 $f0, 0xc($v1) +.L802424FC: +/* B2E96C 802424FC 8E230070 */ lw $v1, 0x70($s1) +/* B2E970 80242500 2463FFFF */ addiu $v1, $v1, -1 +/* B2E974 80242504 000317C3 */ sra $v0, $v1, 0x1f +/* B2E978 80242508 AE230070 */ sw $v1, 0x70($s1) +/* B2E97C 8024250C 8FBF0018 */ lw $ra, 0x18($sp) +/* B2E980 80242510 8FB10014 */ lw $s1, 0x14($sp) +/* B2E984 80242514 8FB00010 */ lw $s0, 0x10($sp) +/* B2E988 80242518 30420002 */ andi $v0, $v0, 2 +/* B2E98C 8024251C 03E00008 */ jr $ra +/* B2E990 80242520 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242524.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242524.s new file mode 100644 index 0000000000..07b3c37195 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242524.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242524 +/* B2E994 80242524 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B2E998 80242528 AFB10014 */ sw $s1, 0x14($sp) +/* B2E99C 8024252C 0080882D */ daddu $s1, $a0, $zero +/* B2E9A0 80242530 AFB00010 */ sw $s0, 0x10($sp) +/* B2E9A4 80242534 00A0802D */ daddu $s0, $a1, $zero +/* B2E9A8 80242538 AFBF001C */ sw $ra, 0x1c($sp) +/* B2E9AC 8024253C AFB20018 */ sw $s2, 0x18($sp) +/* B2E9B0 80242540 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B2E9B4 80242544 0C00EABB */ jal get_npc_unsafe +/* B2E9B8 80242548 2404FFFC */ addiu $a0, $zero, -4 +/* B2E9BC 8024254C 12000017 */ beqz $s0, .L802425AC +/* B2E9C0 80242550 0040902D */ daddu $s2, $v0, $zero +/* B2E9C4 80242554 0220202D */ daddu $a0, $s1, $zero +/* B2E9C8 80242558 3C05FE36 */ lui $a1, 0xfe36 +/* B2E9CC 8024255C 0C0B210B */ jal get_float_variable +/* B2E9D0 80242560 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B2E9D4 80242564 0220202D */ daddu $a0, $s1, $zero +/* B2E9D8 80242568 3C05FE36 */ lui $a1, 0xfe36 +/* B2E9DC 8024256C 3C014270 */ lui $at, 0x4270 +/* B2E9E0 80242570 4481A000 */ mtc1 $at, $f20 +/* B2E9E4 80242574 34A53C85 */ ori $a1, $a1, 0x3c85 +/* B2E9E8 80242578 46140003 */ div.s $f0, $f0, $f20 +/* B2E9EC 8024257C 0C0B210B */ jal get_float_variable +/* B2E9F0 80242580 E6200074 */ swc1 $f0, 0x74($s1) +/* B2E9F4 80242584 0220202D */ daddu $a0, $s1, $zero +/* B2E9F8 80242588 3C05FE36 */ lui $a1, 0xfe36 +/* B2E9FC 8024258C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B2EA00 80242590 46140003 */ div.s $f0, $f0, $f20 +/* B2EA04 80242594 0C0B210B */ jal get_float_variable +/* B2EA08 80242598 E6200078 */ swc1 $f0, 0x78($s1) +/* B2EA0C 8024259C 46140003 */ div.s $f0, $f0, $f20 +/* B2EA10 802425A0 2402003C */ addiu $v0, $zero, 0x3c +/* B2EA14 802425A4 E620007C */ swc1 $f0, 0x7c($s1) +/* B2EA18 802425A8 AE220070 */ sw $v0, 0x70($s1) +.L802425AC: +/* B2EA1C 802425AC C6400038 */ lwc1 $f0, 0x38($s2) +/* B2EA20 802425B0 C6220074 */ lwc1 $f2, 0x74($s1) +/* B2EA24 802425B4 46020000 */ add.s $f0, $f0, $f2 +/* B2EA28 802425B8 E6400038 */ swc1 $f0, 0x38($s2) +/* B2EA2C 802425BC C640003C */ lwc1 $f0, 0x3c($s2) +/* B2EA30 802425C0 C6220078 */ lwc1 $f2, 0x78($s1) +/* B2EA34 802425C4 46020000 */ add.s $f0, $f0, $f2 +/* B2EA38 802425C8 E640003C */ swc1 $f0, 0x3c($s2) +/* B2EA3C 802425CC C6400040 */ lwc1 $f0, 0x40($s2) +/* B2EA40 802425D0 C622007C */ lwc1 $f2, 0x7c($s1) +/* B2EA44 802425D4 46020000 */ add.s $f0, $f0, $f2 +/* B2EA48 802425D8 E6400040 */ swc1 $f0, 0x40($s2) +/* B2EA4C 802425DC 8E230070 */ lw $v1, 0x70($s1) +/* B2EA50 802425E0 2463FFFF */ addiu $v1, $v1, -1 +/* B2EA54 802425E4 2C620001 */ sltiu $v0, $v1, 1 +/* B2EA58 802425E8 AE230070 */ sw $v1, 0x70($s1) +/* B2EA5C 802425EC 8FBF001C */ lw $ra, 0x1c($sp) +/* B2EA60 802425F0 8FB20018 */ lw $s2, 0x18($sp) +/* B2EA64 802425F4 8FB10014 */ lw $s1, 0x14($sp) +/* B2EA68 802425F8 8FB00010 */ lw $s0, 0x10($sp) +/* B2EA6C 802425FC D7B40020 */ ldc1 $f20, 0x20($sp) +/* B2EA70 80242600 00021040 */ sll $v0, $v0, 1 +/* B2EA74 80242604 03E00008 */ jr $ra +/* B2EA78 80242608 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_8024260C.s b/asm/nonmatchings/world/area_jan/jan_02/func_8024260C.s new file mode 100644 index 0000000000..223b4b67fa --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_8024260C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024260C +/* B2EA7C 8024260C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2EA80 80242610 3C058025 */ lui $a1, 0x8025 +/* B2EA84 80242614 8CA58938 */ lw $a1, -0x76c8($a1) +/* B2EA88 80242618 AFBF0010 */ sw $ra, 0x10($sp) +/* B2EA8C 8024261C 0C0B1EAF */ jal get_variable +/* B2EA90 80242620 0000202D */ daddu $a0, $zero, $zero +/* B2EA94 80242624 0040182D */ daddu $v1, $v0, $zero +/* B2EA98 80242628 24020001 */ addiu $v0, $zero, 1 +/* B2EA9C 8024262C 14620006 */ bne $v1, $v0, .L80242648 +/* B2EAA0 80242630 24020002 */ addiu $v0, $zero, 2 +/* B2EAA4 80242634 44800000 */ mtc1 $zero, $f0 +/* B2EAA8 80242638 00000000 */ nop +/* B2EAAC 8024263C 44050000 */ mfc1 $a1, $f0 +/* B2EAB0 80242640 08090998 */ j .L80242660 +/* B2EAB4 80242644 0000202D */ daddu $a0, $zero, $zero +.L80242648: +/* B2EAB8 80242648 14620008 */ bne $v1, $v0, .L8024266C +/* B2EABC 8024264C 24040001 */ addiu $a0, $zero, 1 +/* B2EAC0 80242650 44800000 */ mtc1 $zero, $f0 +/* B2EAC4 80242654 00000000 */ nop +/* B2EAC8 80242658 44050000 */ mfc1 $a1, $f0 +/* B2EACC 8024265C 00000000 */ nop +.L80242660: +/* B2EAD0 80242660 00A0302D */ daddu $a2, $a1, $zero +/* B2EAD4 80242664 0C01C5A4 */ jal func_80071690 +/* B2EAD8 80242668 00A0382D */ daddu $a3, $a1, $zero +.L8024266C: +/* B2EADC 8024266C 8FBF0010 */ lw $ra, 0x10($sp) +/* B2EAE0 80242670 03E00008 */ jr $ra +/* B2EAE4 80242674 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242678.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242678.s new file mode 100644 index 0000000000..d5f875d71e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242678.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242678 +/* B2EAE8 80242678 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2EAEC 8024267C 3C058024 */ lui $a1, 0x8024 +/* B2EAF0 80242680 24A5260C */ addiu $a1, $a1, 0x260c +/* B2EAF4 80242684 AFBF0010 */ sw $ra, 0x10($sp) +/* B2EAF8 80242688 0C048C8F */ jal bind_dynamic_entity_7 +/* B2EAFC 8024268C 0000202D */ daddu $a0, $zero, $zero +/* B2EB00 80242690 8FBF0010 */ lw $ra, 0x10($sp) +/* B2EB04 80242694 3C018025 */ lui $at, 0x8025 +/* B2EB08 80242698 AC228924 */ sw $v0, -0x76dc($at) +/* B2EB0C 8024269C 24020002 */ addiu $v0, $zero, 2 +/* B2EB10 802426A0 03E00008 */ jr $ra +/* B2EB14 802426A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802426A8.s b/asm/nonmatchings/world/area_jan/jan_02/func_802426A8.s new file mode 100644 index 0000000000..63299b020d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802426A8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426A8 +/* B2EB18 802426A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B2EB1C 802426AC AFBF0010 */ sw $ra, 0x10($sp) +/* B2EB20 802426B0 8C82000C */ lw $v0, 0xc($a0) +/* B2EB24 802426B4 0C0B1EAF */ jal get_variable +/* B2EB28 802426B8 8C450000 */ lw $a1, ($v0) +/* B2EB2C 802426BC 0C03AC5A */ jal func_800EB168 +/* B2EB30 802426C0 0040202D */ daddu $a0, $v0, $zero +/* B2EB34 802426C4 8FBF0010 */ lw $ra, 0x10($sp) +/* B2EB38 802426C8 24020002 */ addiu $v0, $zero, 2 +/* B2EB3C 802426CC 03E00008 */ jr $ra +/* B2EB40 802426D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* B2EB44 802426D4 00000000 */ nop +/* B2EB48 802426D8 00000000 */ nop +/* B2EB4C 802426DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_802426E0.s b/asm/nonmatchings/world/area_jan/jan_02/func_802426E0.s new file mode 100644 index 0000000000..4c1ad74a8e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_802426E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426E0 +/* B2EB50 802426E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B2EB54 802426E4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B2EB58 802426E8 4485A000 */ mtc1 $a1, $f20 +/* B2EB5C 802426EC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B2EB60 802426F0 4486B000 */ mtc1 $a2, $f22 +/* B2EB64 802426F4 AFB00010 */ sw $s0, 0x10($sp) +/* B2EB68 802426F8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B2EB6C 802426FC 4487C000 */ mtc1 $a3, $f24 +/* B2EB70 80242700 AFBF0014 */ sw $ra, 0x14($sp) +/* B2EB74 80242704 0C019D28 */ jal guMtxIdentF +/* B2EB78 80242708 0080802D */ daddu $s0, $a0, $zero +/* B2EB7C 8024270C 4616A582 */ mul.s $f22, $f20, $f22 +/* B2EB80 80242710 00000000 */ nop +/* B2EB84 80242714 4618A502 */ mul.s $f20, $f20, $f24 +/* B2EB88 80242718 00000000 */ nop +/* B2EB8C 8024271C 3C013F80 */ lui $at, 0x3f80 +/* B2EB90 80242720 44810000 */ mtc1 $at, $f0 +/* B2EB94 80242724 00000000 */ nop +/* B2EB98 80242728 E6000014 */ swc1 $f0, 0x14($s0) +/* B2EB9C 8024272C E6160010 */ swc1 $f22, 0x10($s0) +/* B2EBA0 80242730 E6140018 */ swc1 $f20, 0x18($s0) +/* B2EBA4 80242734 8FBF0014 */ lw $ra, 0x14($sp) +/* B2EBA8 80242738 8FB00010 */ lw $s0, 0x10($sp) +/* B2EBAC 8024273C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B2EBB0 80242740 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B2EBB4 80242744 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B2EBB8 80242748 03E00008 */ jr $ra +/* B2EBBC 8024274C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_02/func_80242750.s b/asm/nonmatchings/world/area_jan/jan_02/func_80242750.s new file mode 100644 index 0000000000..939bd09aa8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_02/func_80242750.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242750 +/* B2EBC0 80242750 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B2EBC4 80242754 AFB10054 */ sw $s1, 0x54($sp) +/* B2EBC8 80242758 0080882D */ daddu $s1, $a0, $zero +/* B2EBCC 8024275C AFBF005C */ sw $ra, 0x5c($sp) +/* B2EBD0 80242760 AFB20058 */ sw $s2, 0x58($sp) +/* B2EBD4 80242764 AFB00050 */ sw $s0, 0x50($sp) +/* B2EBD8 80242768 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B2EBDC 8024276C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B2EBE0 80242770 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B2EBE4 80242774 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B2EBE8 80242778 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B2EBEC 8024277C 8E30000C */ lw $s0, 0xc($s1) +/* B2EBF0 80242780 8E050000 */ lw $a1, ($s0) +/* B2EBF4 80242784 0C0B1EAF */ jal get_variable +/* B2EBF8 80242788 26100004 */ addiu $s0, $s0, 4 +/* B2EBFC 8024278C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B2EC00 80242790 0040202D */ daddu $a0, $v0, $zero +/* B2EC04 80242794 8E050000 */ lw $a1, ($s0) +/* B2EC08 80242798 26100004 */ addiu $s0, $s0, 4 +/* B2EC0C 8024279C 0220202D */ daddu $a0, $s1, $zero +/* B2EC10 802427A0 0C0B210B */ jal get_float_variable +/* B2EC14 802427A4 0040902D */ daddu $s2, $v0, $zero +/* B2EC18 802427A8 8E050000 */ lw $a1, ($s0) +/* B2EC1C 802427AC 26100004 */ addiu $s0, $s0, 4 +/* B2EC20 802427B0 0220202D */ daddu $a0, $s1, $zero +/* B2EC24 802427B4 0C0B210B */ jal get_float_variable +/* B2EC28 802427B8 46000706 */ mov.s $f28, $f0 +/* B2EC2C 802427BC 8E050000 */ lw $a1, ($s0) +/* B2EC30 802427C0 26100004 */ addiu $s0, $s0, 4 +/* B2EC34 802427C4 0220202D */ daddu $a0, $s1, $zero +/* B2EC38 802427C8 0C0B210B */ jal get_float_variable +/* B2EC3C 802427CC 46000686 */ mov.s $f26, $f0 +/* B2EC40 802427D0 0220202D */ daddu $a0, $s1, $zero +/* B2EC44 802427D4 8E050000 */ lw $a1, ($s0) +/* B2EC48 802427D8 0C0B210B */ jal get_float_variable +/* B2EC4C 802427DC 46000586 */ mov.s $f22, $f0 +/* B2EC50 802427E0 0240202D */ daddu $a0, $s2, $zero +/* B2EC54 802427E4 0C046B4C */ jal get_model_from_list_index +/* B2EC58 802427E8 46000606 */ mov.s $f24, $f0 +/* B2EC5C 802427EC 0040882D */ daddu $s1, $v0, $zero +/* B2EC60 802427F0 96220000 */ lhu $v0, ($s1) +/* B2EC64 802427F4 30420400 */ andi $v0, $v0, 0x400 +/* B2EC68 802427F8 1440001E */ bnez $v0, .L80242874 +/* B2EC6C 802427FC 26300058 */ addiu $s0, $s1, 0x58 +/* B2EC70 80242800 4480A000 */ mtc1 $zero, $f20 +/* B2EC74 80242804 4406B000 */ mfc1 $a2, $f22 +/* B2EC78 80242808 4405A000 */ mfc1 $a1, $f20 +/* B2EC7C 8024280C 4407A000 */ mfc1 $a3, $f20 +/* B2EC80 80242810 0C019E40 */ jal guTranslateF +/* B2EC84 80242814 0200202D */ daddu $a0, $s0, $zero +/* B2EC88 80242818 4405E000 */ mfc1 $a1, $f28 +/* B2EC8C 8024281C 4406D000 */ mfc1 $a2, $f26 +/* B2EC90 80242820 4407C000 */ mfc1 $a3, $f24 +/* B2EC94 80242824 0C0909B8 */ jal func_802426E0 +/* B2EC98 80242828 27A40010 */ addiu $a0, $sp, 0x10 +/* B2EC9C 8024282C 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ECA0 80242830 0200282D */ daddu $a1, $s0, $zero +/* B2ECA4 80242834 0C019D80 */ jal guMtxCatF +/* B2ECA8 80242838 0200302D */ daddu $a2, $s0, $zero +/* B2ECAC 8024283C 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ECB0 80242840 4600B587 */ neg.s $f22, $f22 +/* B2ECB4 80242844 4405A000 */ mfc1 $a1, $f20 +/* B2ECB8 80242848 4406B000 */ mfc1 $a2, $f22 +/* B2ECBC 8024284C 0C019E40 */ jal guTranslateF +/* B2ECC0 80242850 00A0382D */ daddu $a3, $a1, $zero +/* B2ECC4 80242854 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ECC8 80242858 0200282D */ daddu $a1, $s0, $zero +/* B2ECCC 8024285C 0C019D80 */ jal guMtxCatF +/* B2ECD0 80242860 00A0302D */ daddu $a2, $a1, $zero +/* B2ECD4 80242864 96220000 */ lhu $v0, ($s1) +/* B2ECD8 80242868 34421400 */ ori $v0, $v0, 0x1400 +/* B2ECDC 8024286C 08090A3B */ j .L802428EC +/* B2ECE0 80242870 A6220000 */ sh $v0, ($s1) +.L80242874: +/* B2ECE4 80242874 4480A000 */ mtc1 $zero, $f20 +/* B2ECE8 80242878 4406B000 */ mfc1 $a2, $f22 +/* B2ECEC 8024287C 4405A000 */ mfc1 $a1, $f20 +/* B2ECF0 80242880 4407A000 */ mfc1 $a3, $f20 +/* B2ECF4 80242884 0C019E40 */ jal guTranslateF +/* B2ECF8 80242888 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ECFC 8024288C 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ED00 80242890 26300058 */ addiu $s0, $s1, 0x58 +/* B2ED04 80242894 0200282D */ daddu $a1, $s0, $zero +/* B2ED08 80242898 0C019D80 */ jal guMtxCatF +/* B2ED0C 8024289C 0200302D */ daddu $a2, $s0, $zero +/* B2ED10 802428A0 4405E000 */ mfc1 $a1, $f28 +/* B2ED14 802428A4 4406D000 */ mfc1 $a2, $f26 +/* B2ED18 802428A8 4407C000 */ mfc1 $a3, $f24 +/* B2ED1C 802428AC 0C0909B8 */ jal func_802426E0 +/* B2ED20 802428B0 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ED24 802428B4 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ED28 802428B8 0200282D */ daddu $a1, $s0, $zero +/* B2ED2C 802428BC 0C019D80 */ jal guMtxCatF +/* B2ED30 802428C0 0200302D */ daddu $a2, $s0, $zero +/* B2ED34 802428C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ED38 802428C8 4600B587 */ neg.s $f22, $f22 +/* B2ED3C 802428CC 4405A000 */ mfc1 $a1, $f20 +/* B2ED40 802428D0 4406B000 */ mfc1 $a2, $f22 +/* B2ED44 802428D4 0C019E40 */ jal guTranslateF +/* B2ED48 802428D8 00A0382D */ daddu $a3, $a1, $zero +/* B2ED4C 802428DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B2ED50 802428E0 0200282D */ daddu $a1, $s0, $zero +/* B2ED54 802428E4 0C019D80 */ jal guMtxCatF +/* B2ED58 802428E8 00A0302D */ daddu $a2, $a1, $zero +.L802428EC: +/* B2ED5C 802428EC 8FBF005C */ lw $ra, 0x5c($sp) +/* B2ED60 802428F0 8FB20058 */ lw $s2, 0x58($sp) +/* B2ED64 802428F4 8FB10054 */ lw $s1, 0x54($sp) +/* B2ED68 802428F8 8FB00050 */ lw $s0, 0x50($sp) +/* B2ED6C 802428FC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B2ED70 80242900 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B2ED74 80242904 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B2ED78 80242908 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B2ED7C 8024290C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B2ED80 80242910 24020002 */ addiu $v0, $zero, 2 +/* B2ED84 80242914 03E00008 */ jr $ra +/* B2ED88 80242918 27BD0088 */ addiu $sp, $sp, 0x88 +/* B2ED8C 8024291C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240000_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240000_B34BD0.s new file mode 100644 index 0000000000..e3643bd767 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240000_B34BD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B34BD0 +/* B34BD0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B34BD4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B34BD8 80240008 8C430004 */ lw $v1, 4($v0) +/* B34BDC 8024000C 3C040010 */ lui $a0, 0x10 +/* B34BE0 80240010 00641825 */ or $v1, $v1, $a0 +/* B34BE4 80240014 AC430004 */ sw $v1, 4($v0) +/* B34BE8 80240018 03E00008 */ jr $ra +/* B34BEC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240020_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240020_B34BD0.s new file mode 100644 index 0000000000..804cdb4019 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240020_B34BD0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_B34BF0 +/* B34BF0 80240020 3C028016 */ lui $v0, 0x8016 +/* B34BF4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* B34BF8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* B34BFC 8024002C 03E00008 */ jr $ra +/* B34C00 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240034_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240034_B34BD0.s new file mode 100644 index 0000000000..ccfe10d98f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240034_B34BD0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_B34C04 +/* B34C04 80240034 3C038016 */ lui $v1, 0x8016 +/* B34C08 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* B34C0C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B34C10 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* B34C14 80240044 0080802D */ daddu $s0, $a0, $zero +/* B34C18 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* B34C1C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* B34C20 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* B34C24 80240054 24020002 */ addiu $v0, $zero, 2 +/* B34C28 80240058 08090038 */ j .L802400E0 +/* B34C2C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* B34C30 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B34C34 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B34C38 80240068 80620040 */ lb $v0, 0x40($v1) +/* B34C3C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* B34C40 80240070 04420001 */ bltzl $v0, .L80240078 +/* B34C44 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* B34C48 80240078 14400003 */ bnez $v0, .L80240088 +/* B34C4C 8024007C 00000000 */ nop +/* B34C50 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* B34C54 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* B34C58 80240088 44822000 */ mtc1 $v0, $f4 +/* B34C5C 8024008C 00000000 */ nop +/* B34C60 80240090 46802120 */ cvt.s.w $f4, $f4 +/* B34C64 80240094 44062000 */ mfc1 $a2, $f4 +/* B34C68 80240098 44872000 */ mtc1 $a3, $f4 +/* B34C6C 8024009C 00000000 */ nop +/* B34C70 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* B34C74 802400A4 44806000 */ mtc1 $zero, $f12 +/* B34C78 802400A8 44072000 */ mfc1 $a3, $f4 +/* B34C7C 802400AC 0C00A720 */ jal atan2 +/* B34C80 802400B0 46006386 */ mov.s $f14, $f12 +/* B34C84 802400B4 3C014270 */ lui $at, 0x4270 +/* B34C88 802400B8 44811000 */ mtc1 $at, $f2 +/* B34C8C 802400BC 00000000 */ nop +/* B34C90 802400C0 4602003C */ c.lt.s $f0, $f2 +/* B34C94 802400C4 00000000 */ nop +/* B34C98 802400C8 45000004 */ bc1f .L802400DC +/* B34C9C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* B34CA0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* B34CA4 802400D4 08090038 */ j .L802400E0 +/* B34CA8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* B34CAC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* B34CB0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* B34CB4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* B34CB8 802400E8 03E00008 */ jr $ra +/* B34CBC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802400F0_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802400F0_B34BD0.s new file mode 100644 index 0000000000..06b17b8424 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802400F0_B34BD0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_B34CC0 +/* B34CC0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B34CC4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* B34CC8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* B34CCC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* B34CD0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* B34CD4 80240104 0C016AFA */ jal get_current_map_header +/* B34CD8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* B34CDC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* B34CE0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* B34CE4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B34CE8 80240118 0C0B1EAF */ jal get_variable +/* B34CEC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* B34CF0 80240120 0220202D */ daddu $a0, $s1, $zero +/* B34CF4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* B34CF8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* B34CFC 8024012C 00028100 */ sll $s0, $v0, 4 +/* B34D00 80240130 02031821 */ addu $v1, $s0, $v1 +/* B34D04 80240134 C4600000 */ lwc1 $f0, ($v1) +/* B34D08 80240138 4600008D */ trunc.w.s $f2, $f0 +/* B34D0C 8024013C 44061000 */ mfc1 $a2, $f2 +/* B34D10 80240140 0C0B2026 */ jal set_variable +/* B34D14 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B34D18 80240148 0220202D */ daddu $a0, $s1, $zero +/* B34D1C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* B34D20 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* B34D24 80240154 02021021 */ addu $v0, $s0, $v0 +/* B34D28 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* B34D2C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* B34D30 80240160 44061000 */ mfc1 $a2, $f2 +/* B34D34 80240164 0C0B2026 */ jal set_variable +/* B34D38 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B34D3C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* B34D40 80240170 8E420014 */ lw $v0, 0x14($s2) +/* B34D44 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* B34D48 80240178 02021021 */ addu $v0, $s0, $v0 +/* B34D4C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* B34D50 80240180 4600008D */ trunc.w.s $f2, $f0 +/* B34D54 80240184 44061000 */ mfc1 $a2, $f2 +/* B34D58 80240188 0C0B2026 */ jal set_variable +/* B34D5C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* B34D60 80240190 0220202D */ daddu $a0, $s1, $zero +/* B34D64 80240194 8E420014 */ lw $v0, 0x14($s2) +/* B34D68 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* B34D6C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* B34D70 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* B34D74 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* B34D78 802401A8 44061000 */ mfc1 $a2, $f2 +/* B34D7C 802401AC 0C0B2026 */ jal set_variable +/* B34D80 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* B34D84 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* B34D88 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* B34D8C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* B34D90 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* B34D94 802401C4 24020002 */ addiu $v0, $zero, 2 +/* B34D98 802401C8 03E00008 */ jr $ra +/* B34D9C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802401D0_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802401D0_B34BD0.s new file mode 100644 index 0000000000..62880ba7e4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802401D0_B34BD0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_B34DA0 +/* B34DA0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B34DA4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B34DA8 802401D8 3C014334 */ lui $at, 0x4334 +/* B34DAC 802401DC 44816000 */ mtc1 $at, $f12 +/* B34DB0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B34DB4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* B34DB8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* B34DBC 802401EC 00031080 */ sll $v0, $v1, 2 +/* B34DC0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* B34DC4 802401F4 00021080 */ sll $v0, $v0, 2 +/* B34DC8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* B34DCC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* B34DD0 80240200 00431021 */ addu $v0, $v0, $v1 +/* B34DD4 80240204 000210C0 */ sll $v0, $v0, 3 +/* B34DD8 80240208 3C01800B */ lui $at, 0x800b +/* B34DDC 8024020C 00220821 */ addu $at, $at, $v0 +/* B34DE0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B34DE4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* B34DE8 80240218 0C00A6C9 */ jal clamp_angle +/* B34DEC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* B34DF0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* B34DF4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* B34DF8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* B34DFC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* B34E00 80240230 24020002 */ addiu $v0, $zero, 2 +/* B34E04 80240234 03E00008 */ jr $ra +/* B34E08 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024023C_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024023C_B34BD0.s new file mode 100644 index 0000000000..4928a7f2a1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024023C_B34BD0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_B34E0C +/* B34E0C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B34E10 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* B34E14 80240244 0080802D */ daddu $s0, $a0, $zero +/* B34E18 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* B34E1C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B34E20 80240250 8E02000C */ lw $v0, 0xc($s0) +/* B34E24 80240254 0C0B210B */ jal get_float_variable +/* B34E28 80240258 8C450000 */ lw $a1, ($v0) +/* B34E2C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* B34E30 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* B34E34 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* B34E38 80240268 44060000 */ mfc1 $a2, $f0 +/* B34E3C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* B34E40 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* B34E44 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* B34E48 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* B34E4C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* B34E50 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* B34E54 80240284 0C00A7E7 */ jal add_vec2D_polar +/* B34E58 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* B34E5C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* B34E60 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* B34E64 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* B34E68 80240298 0C0B2190 */ jal set_float_variable +/* B34E6C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B34E70 802402A0 0200202D */ daddu $a0, $s0, $zero +/* B34E74 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* B34E78 802402A8 4406A000 */ mfc1 $a2, $f20 +/* B34E7C 802402AC 0C0B2190 */ jal set_float_variable +/* B34E80 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B34E84 802402B4 0200202D */ daddu $a0, $s0, $zero +/* B34E88 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* B34E8C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* B34E90 802402C0 0C0B2190 */ jal set_float_variable +/* B34E94 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B34E98 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* B34E9C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* B34EA0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B34EA4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* B34EA8 802402D8 03E00008 */ jr $ra +/* B34EAC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802402E0_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802402E0_B34BD0.s new file mode 100644 index 0000000000..6134a5cc38 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802402E0_B34BD0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_B34EB0 +/* B34EB0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B34EB4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* B34EB8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* B34EBC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* B34EC0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* B34EC4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* B34EC8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* B34ECC 802402FC 04610004 */ bgez $v1, .L80240310 +/* B34ED0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* B34ED4 80240304 3C020002 */ lui $v0, 2 +/* B34ED8 80240308 080900C8 */ j .L80240320 +/* B34EDC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* B34EE0 80240310 3C040002 */ lui $a0, 2 +/* B34EE4 80240314 0083102A */ slt $v0, $a0, $v1 +/* B34EE8 80240318 10400002 */ beqz $v0, .L80240324 +/* B34EEC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* B34EF0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* B34EF4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* B34EF8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* B34EFC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* B34F00 80240330 04610004 */ bgez $v1, .L80240344 +/* B34F04 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* B34F08 80240338 3C020002 */ lui $v0, 2 +/* B34F0C 8024033C 080900D5 */ j .L80240354 +/* B34F10 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* B34F14 80240344 3C040002 */ lui $a0, 2 +/* B34F18 80240348 0083102A */ slt $v0, $a0, $v1 +/* B34F1C 8024034C 10400002 */ beqz $v0, .L80240358 +/* B34F20 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* B34F24 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* B34F28 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* B34F2C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* B34F30 80240360 00621821 */ addu $v1, $v1, $v0 +/* B34F34 80240364 04610004 */ bgez $v1, .L80240378 +/* B34F38 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* B34F3C 8024036C 3C020002 */ lui $v0, 2 +/* B34F40 80240370 080900E2 */ j .L80240388 +/* B34F44 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* B34F48 80240378 3C040002 */ lui $a0, 2 +/* B34F4C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* B34F50 80240380 10400002 */ beqz $v0, .L8024038C +/* B34F54 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* B34F58 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* B34F5C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* B34F60 80240390 8E020094 */ lw $v0, 0x94($s0) +/* B34F64 80240394 00621821 */ addu $v1, $v1, $v0 +/* B34F68 80240398 04610004 */ bgez $v1, .L802403AC +/* B34F6C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* B34F70 802403A0 3C020002 */ lui $v0, 2 +/* B34F74 802403A4 080900EF */ j .L802403BC +/* B34F78 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* B34F7C 802403AC 3C040002 */ lui $a0, 2 +/* B34F80 802403B0 0083102A */ slt $v0, $a0, $v1 +/* B34F84 802403B4 10400002 */ beqz $v0, .L802403C0 +/* B34F88 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* B34F8C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* B34F90 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* B34F94 802403C4 0C046F07 */ jal set_main_pan_u +/* B34F98 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B34F9C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* B34FA0 802403D0 0C046F0D */ jal set_main_pan_v +/* B34FA4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* B34FA8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* B34FAC 802403DC 0C046F13 */ jal set_aux_pan_u +/* B34FB0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* B34FB4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* B34FB8 802403E8 0C046F19 */ jal set_aux_pan_v +/* B34FBC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* B34FC0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* B34FC4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* B34FC8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* B34FCC 802403FC 03E00008 */ jr $ra +/* B34FD0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240404_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240404_B34BD0.s new file mode 100644 index 0000000000..f6cf025e55 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240404_B34BD0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_B34FD4 +/* B34FD4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B34FD8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* B34FDC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* B34FE0 80240410 10A00005 */ beqz $a1, .L80240428 +/* B34FE4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* B34FE8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* B34FEC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* B34FF0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* B34FF4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* B34FF8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* B34FFC 8024042C 1440000E */ bnez $v0, .L80240468 +/* B35000 80240430 00000000 */ nop +/* B35004 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* B35008 80240438 8E020088 */ lw $v0, 0x88($s0) +/* B3500C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* B35010 80240440 04610004 */ bgez $v1, .L80240454 +/* B35014 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* B35018 80240448 3C020002 */ lui $v0, 2 +/* B3501C 8024044C 08090119 */ j .L80240464 +/* B35020 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* B35024 80240454 3C040002 */ lui $a0, 2 +/* B35028 80240458 0083102A */ slt $v0, $a0, $v1 +/* B3502C 8024045C 10400002 */ beqz $v0, .L80240468 +/* B35030 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* B35034 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* B35038 80240468 8E020074 */ lw $v0, 0x74($s0) +/* B3503C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* B35040 80240470 00000000 */ nop +/* B35044 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* B35048 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* B3504C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* B35050 80240480 04610004 */ bgez $v1, .L80240494 +/* B35054 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* B35058 80240488 3C020002 */ lui $v0, 2 +/* B3505C 8024048C 08090129 */ j .L802404A4 +/* B35060 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* B35064 80240494 3C040002 */ lui $a0, 2 +/* B35068 80240498 0083102A */ slt $v0, $a0, $v1 +/* B3506C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* B35070 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* B35074 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* B35078 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* B3507C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* B35080 802404B0 00000000 */ nop +/* B35084 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B35088 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* B3508C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* B35090 802404C0 04610004 */ bgez $v1, .L802404D4 +/* B35094 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B35098 802404C8 3C020002 */ lui $v0, 2 +/* B3509C 802404CC 08090139 */ j .L802404E4 +/* B350A0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* B350A4 802404D4 3C040002 */ lui $a0, 2 +/* B350A8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* B350AC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* B350B0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* B350B4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* B350B8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* B350BC 802404EC 1440000E */ bnez $v0, .L80240528 +/* B350C0 802404F0 00000000 */ nop +/* B350C4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* B350C8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* B350CC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* B350D0 80240500 04610004 */ bgez $v1, .L80240514 +/* B350D4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* B350D8 80240508 3C020002 */ lui $v0, 2 +/* B350DC 8024050C 08090149 */ j .L80240524 +/* B350E0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* B350E4 80240514 3C040002 */ lui $a0, 2 +/* B350E8 80240518 0083102A */ slt $v0, $a0, $v1 +/* B350EC 8024051C 10400002 */ beqz $v0, .L80240528 +/* B350F0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* B350F4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* B350F8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* B350FC 8024052C 0C046F07 */ jal set_main_pan_u +/* B35100 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* B35104 80240534 8E040084 */ lw $a0, 0x84($s0) +/* B35108 80240538 0C046F0D */ jal set_main_pan_v +/* B3510C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* B35110 80240540 8E040084 */ lw $a0, 0x84($s0) +/* B35114 80240544 0C046F13 */ jal set_aux_pan_u +/* B35118 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* B3511C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* B35120 80240550 0C046F19 */ jal set_aux_pan_v +/* B35124 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* B35128 80240558 8E020070 */ lw $v0, 0x70($s0) +/* B3512C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* B35130 80240560 8E040098 */ lw $a0, 0x98($s0) +/* B35134 80240564 24420001 */ addiu $v0, $v0, 1 +/* B35138 80240568 AE020070 */ sw $v0, 0x70($s0) +/* B3513C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* B35140 80240570 24630001 */ addiu $v1, $v1, 1 +/* B35144 80240574 AE030078 */ sw $v1, 0x78($s0) +/* B35148 80240578 8E030070 */ lw $v1, 0x70($s0) +/* B3514C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* B35150 80240580 AE020074 */ sw $v0, 0x74($s0) +/* B35154 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* B35158 80240588 0064182A */ slt $v1, $v1, $a0 +/* B3515C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* B35160 80240590 14600002 */ bnez $v1, .L8024059C +/* B35164 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* B35168 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* B3516C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* B35170 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* B35174 802405A4 0043102A */ slt $v0, $v0, $v1 +/* B35178 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* B3517C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* B35180 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* B35184 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B35188 802405B8 0043102A */ slt $v0, $v0, $v1 +/* B3518C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* B35190 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* B35194 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* B35198 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B3519C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* B351A0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* B351A4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* B351A8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* B351AC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* B351B0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* B351B4 802405E4 03E00008 */ jr $ra +/* B351B8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802405EC_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802405EC_B34BD0.s new file mode 100644 index 0000000000..f7c692f9a9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802405EC_B34BD0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_B351BC +/* B351BC 802405EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B351C0 802405F0 0000202D */ daddu $a0, $zero, $zero +/* B351C4 802405F4 0080282D */ daddu $a1, $a0, $zero +/* B351C8 802405F8 0080302D */ daddu $a2, $a0, $zero +/* B351CC 802405FC 0080382D */ daddu $a3, $a0, $zero +/* B351D0 80240600 AFBF0018 */ sw $ra, 0x18($sp) +/* B351D4 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* B351D8 80240608 0C01CA54 */ jal func_80072950 +/* B351DC 8024060C AFA00014 */ sw $zero, 0x14($sp) +/* B351E0 80240610 8FBF0018 */ lw $ra, 0x18($sp) +/* B351E4 80240614 24020002 */ addiu $v0, $zero, 2 +/* B351E8 80240618 03E00008 */ jr $ra +/* B351EC 8024061C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240620.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240620.s new file mode 100644 index 0000000000..3b4cc9c65d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240620.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240620 +/* B351F0 80240620 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B351F4 80240624 AFB50024 */ sw $s5, 0x24($sp) +/* B351F8 80240628 0080A82D */ daddu $s5, $a0, $zero +/* B351FC 8024062C AFBF002C */ sw $ra, 0x2c($sp) +/* B35200 80240630 AFB60028 */ sw $s6, 0x28($sp) +/* B35204 80240634 AFB40020 */ sw $s4, 0x20($sp) +/* B35208 80240638 AFB3001C */ sw $s3, 0x1c($sp) +/* B3520C 8024063C AFB20018 */ sw $s2, 0x18($sp) +/* B35210 80240640 AFB10014 */ sw $s1, 0x14($sp) +/* B35214 80240644 AFB00010 */ sw $s0, 0x10($sp) +/* B35218 80240648 F7B80040 */ sdc1 $f24, 0x40($sp) +/* B3521C 8024064C F7B60038 */ sdc1 $f22, 0x38($sp) +/* B35220 80240650 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B35224 80240654 8EB30148 */ lw $s3, 0x148($s5) +/* B35228 80240658 86640008 */ lh $a0, 8($s3) +/* B3522C 8024065C 0C00EABB */ jal get_npc_unsafe +/* B35230 80240660 00A0B02D */ daddu $s6, $a1, $zero +/* B35234 80240664 0040A02D */ daddu $s4, $v0, $zero +/* B35238 80240668 AEA00074 */ sw $zero, 0x74($s5) +/* B3523C 8024066C C6980038 */ lwc1 $f24, 0x38($s4) +/* B35240 80240670 C6960040 */ lwc1 $f22, 0x40($s4) +/* B35244 80240674 0000902D */ daddu $s2, $zero, $zero +/* B35248 80240678 AEA00078 */ sw $zero, 0x78($s5) +/* B3524C 8024067C 8E6300D0 */ lw $v1, 0xd0($s3) +/* B35250 80240680 8C620000 */ lw $v0, ($v1) +/* B35254 80240684 3C0146FF */ lui $at, 0x46ff +/* B35258 80240688 3421FE00 */ ori $at, $at, 0xfe00 +/* B3525C 8024068C 4481A000 */ mtc1 $at, $f20 +/* B35260 80240690 18400018 */ blez $v0, .L802406F4 +/* B35264 80240694 0240802D */ daddu $s0, $s2, $zero +/* B35268 80240698 0240882D */ daddu $s1, $s2, $zero +.L8024069C: +/* B3526C 8024069C 02231021 */ addu $v0, $s1, $v1 +/* B35270 802406A0 4600C306 */ mov.s $f12, $f24 +/* B35274 802406A4 C4440004 */ lwc1 $f4, 4($v0) +/* B35278 802406A8 46802120 */ cvt.s.w $f4, $f4 +/* B3527C 802406AC 44062000 */ mfc1 $a2, $f4 +/* B35280 802406B0 C444000C */ lwc1 $f4, 0xc($v0) +/* B35284 802406B4 46802120 */ cvt.s.w $f4, $f4 +/* B35288 802406B8 44072000 */ mfc1 $a3, $f4 +/* B3528C 802406BC 0C00A7B5 */ jal dist2D +/* B35290 802406C0 4600B386 */ mov.s $f14, $f22 +/* B35294 802406C4 4614003C */ c.lt.s $f0, $f20 +/* B35298 802406C8 00000000 */ nop +/* B3529C 802406CC 45000003 */ bc1f .L802406DC +/* B352A0 802406D0 2631000C */ addiu $s1, $s1, 0xc +/* B352A4 802406D4 46000506 */ mov.s $f20, $f0 +/* B352A8 802406D8 AEB20078 */ sw $s2, 0x78($s5) +.L802406DC: +/* B352AC 802406DC 8E6300D0 */ lw $v1, 0xd0($s3) +/* B352B0 802406E0 26100001 */ addiu $s0, $s0, 1 +/* B352B4 802406E4 8C620000 */ lw $v0, ($v1) +/* B352B8 802406E8 0202102A */ slt $v0, $s0, $v0 +/* B352BC 802406EC 1440FFEB */ bnez $v0, .L8024069C +/* B352C0 802406F0 26520001 */ addiu $s2, $s2, 1 +.L802406F4: +/* B352C4 802406F4 8E6200CC */ lw $v0, 0xcc($s3) +/* B352C8 802406F8 8C420004 */ lw $v0, 4($v0) +/* B352CC 802406FC AE820028 */ sw $v0, 0x28($s4) +/* B352D0 80240700 8E6200D0 */ lw $v0, 0xd0($s3) +/* B352D4 80240704 8C42007C */ lw $v0, 0x7c($v0) +/* B352D8 80240708 04410004 */ bgez $v0, .L8024071C +/* B352DC 8024070C 00000000 */ nop +/* B352E0 80240710 C6C00000 */ lwc1 $f0, ($s6) +/* B352E4 80240714 080901CF */ j .L8024073C +/* B352E8 80240718 E6800018 */ swc1 $f0, 0x18($s4) +.L8024071C: +/* B352EC 8024071C 3C018025 */ lui $at, 0x8025 +/* B352F0 80240720 D422F9F0 */ ldc1 $f2, -0x610($at) +/* B352F4 80240724 44820000 */ mtc1 $v0, $f0 +/* B352F8 80240728 00000000 */ nop +/* B352FC 8024072C 46800021 */ cvt.d.w $f0, $f0 +/* B35300 80240730 46220003 */ div.d $f0, $f0, $f2 +/* B35304 80240734 46200020 */ cvt.s.d $f0, $f0 +/* B35308 80240738 E6800018 */ swc1 $f0, 0x18($s4) +.L8024073C: +/* B3530C 8024073C 24020001 */ addiu $v0, $zero, 1 +/* B35310 80240740 AEA20070 */ sw $v0, 0x70($s5) +/* B35314 80240744 8FBF002C */ lw $ra, 0x2c($sp) +/* B35318 80240748 8FB60028 */ lw $s6, 0x28($sp) +/* B3531C 8024074C 8FB50024 */ lw $s5, 0x24($sp) +/* B35320 80240750 8FB40020 */ lw $s4, 0x20($sp) +/* B35324 80240754 8FB3001C */ lw $s3, 0x1c($sp) +/* B35328 80240758 8FB20018 */ lw $s2, 0x18($sp) +/* B3532C 8024075C 8FB10014 */ lw $s1, 0x14($sp) +/* B35330 80240760 8FB00010 */ lw $s0, 0x10($sp) +/* B35334 80240764 D7B80040 */ ldc1 $f24, 0x40($sp) +/* B35338 80240768 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B3533C 8024076C D7B40030 */ ldc1 $f20, 0x30($sp) +/* B35340 80240770 03E00008 */ jr $ra +/* B35344 80240774 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240778.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240778.s new file mode 100644 index 0000000000..a243cc2d2c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240778.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240778 +/* B35348 80240778 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B3534C 8024077C AFB20038 */ sw $s2, 0x38($sp) +/* B35350 80240780 0080902D */ daddu $s2, $a0, $zero +/* B35354 80240784 AFBF0044 */ sw $ra, 0x44($sp) +/* B35358 80240788 AFB40040 */ sw $s4, 0x40($sp) +/* B3535C 8024078C AFB3003C */ sw $s3, 0x3c($sp) +/* B35360 80240790 AFB10034 */ sw $s1, 0x34($sp) +/* B35364 80240794 AFB00030 */ sw $s0, 0x30($sp) +/* B35368 80240798 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B3536C 8024079C F7B40048 */ sdc1 $f20, 0x48($sp) +/* B35370 802407A0 8E510148 */ lw $s1, 0x148($s2) +/* B35374 802407A4 00A0982D */ daddu $s3, $a1, $zero +/* B35378 802407A8 86240008 */ lh $a0, 8($s1) +/* B3537C 802407AC 0C00EABB */ jal get_npc_unsafe +/* B35380 802407B0 00C0A02D */ daddu $s4, $a2, $zero +/* B35384 802407B4 8E630014 */ lw $v1, 0x14($s3) +/* B35388 802407B8 04600030 */ bltz $v1, .L8024087C +/* B3538C 802407BC 0040802D */ daddu $s0, $v0, $zero +/* B35390 802407C0 8E420074 */ lw $v0, 0x74($s2) +/* B35394 802407C4 1C40002C */ bgtz $v0, .L80240878 +/* B35398 802407C8 2442FFFF */ addiu $v0, $v0, -1 +/* B3539C 802407CC 0280202D */ daddu $a0, $s4, $zero +/* B353A0 802407D0 AE430074 */ sw $v1, 0x74($s2) +/* B353A4 802407D4 AFA00010 */ sw $zero, 0x10($sp) +/* B353A8 802407D8 8E66000C */ lw $a2, 0xc($s3) +/* B353AC 802407DC 8E670010 */ lw $a3, 0x10($s3) +/* B353B0 802407E0 0C01242D */ jal func_800490B4 +/* B353B4 802407E4 0220282D */ daddu $a1, $s1, $zero +/* B353B8 802407E8 10400021 */ beqz $v0, .L80240870 +/* B353BC 802407EC 0000202D */ daddu $a0, $zero, $zero +/* B353C0 802407F0 0200282D */ daddu $a1, $s0, $zero +/* B353C4 802407F4 0000302D */ daddu $a2, $zero, $zero +/* B353C8 802407F8 860300A8 */ lh $v1, 0xa8($s0) +/* B353CC 802407FC 3C013F80 */ lui $at, 0x3f80 +/* B353D0 80240800 44810000 */ mtc1 $at, $f0 +/* B353D4 80240804 3C014000 */ lui $at, 0x4000 +/* B353D8 80240808 44811000 */ mtc1 $at, $f2 +/* B353DC 8024080C 3C01C1A0 */ lui $at, 0xc1a0 +/* B353E0 80240810 44812000 */ mtc1 $at, $f4 +/* B353E4 80240814 2402000F */ addiu $v0, $zero, 0xf +/* B353E8 80240818 AFA2001C */ sw $v0, 0x1c($sp) +/* B353EC 8024081C 44833000 */ mtc1 $v1, $f6 +/* B353F0 80240820 00000000 */ nop +/* B353F4 80240824 468031A0 */ cvt.s.w $f6, $f6 +/* B353F8 80240828 44073000 */ mfc1 $a3, $f6 +/* B353FC 8024082C 27A20028 */ addiu $v0, $sp, 0x28 +/* B35400 80240830 AFA20020 */ sw $v0, 0x20($sp) +/* B35404 80240834 E7A00010 */ swc1 $f0, 0x10($sp) +/* B35408 80240838 E7A20014 */ swc1 $f2, 0x14($sp) +/* B3540C 8024083C 0C01BFA4 */ jal fx_emote +/* B35410 80240840 E7A40018 */ swc1 $f4, 0x18($sp) +/* B35414 80240844 0200202D */ daddu $a0, $s0, $zero +/* B35418 80240848 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B3541C 8024084C 0C012530 */ jal func_800494C0 +/* B35420 80240850 3C060020 */ lui $a2, 0x20 +/* B35424 80240854 8E220018 */ lw $v0, 0x18($s1) +/* B35428 80240858 9442002A */ lhu $v0, 0x2a($v0) +/* B3542C 8024085C 30420001 */ andi $v0, $v0, 1 +/* B35430 80240860 14400064 */ bnez $v0, .L802409F4 +/* B35434 80240864 2402000A */ addiu $v0, $zero, 0xa +/* B35438 80240868 0809027D */ j .L802409F4 +/* B3543C 8024086C 2402000C */ addiu $v0, $zero, 0xc +.L80240870: +/* B35440 80240870 8E420074 */ lw $v0, 0x74($s2) +/* B35444 80240874 2442FFFF */ addiu $v0, $v0, -1 +.L80240878: +/* B35448 80240878 AE420074 */ sw $v0, 0x74($s2) +.L8024087C: +/* B3544C 8024087C 8602008C */ lh $v0, 0x8c($s0) +/* B35450 80240880 1440005D */ bnez $v0, .L802409F8 +/* B35454 80240884 00000000 */ nop +/* B35458 80240888 C6000018 */ lwc1 $f0, 0x18($s0) +/* B3545C 8024088C 3C014010 */ lui $at, 0x4010 +/* B35460 80240890 44811800 */ mtc1 $at, $f3 +/* B35464 80240894 44801000 */ mtc1 $zero, $f2 +/* B35468 80240898 46000021 */ cvt.d.s $f0, $f0 +/* B3546C 8024089C 4622003C */ c.lt.d $f0, $f2 +/* B35470 802408A0 00000000 */ nop +/* B35474 802408A4 45000003 */ bc1f .L802408B4 +/* B35478 802408A8 0200202D */ daddu $a0, $s0, $zero +/* B3547C 802408AC 0809022E */ j .L802408B8 +/* B35480 802408B0 0000282D */ daddu $a1, $zero, $zero +.L802408B4: +/* B35484 802408B4 24050001 */ addiu $a1, $zero, 1 +.L802408B8: +/* B35488 802408B8 0C00F598 */ jal func_8003D660 +/* B3548C 802408BC 00000000 */ nop +/* B35490 802408C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B35494 802408C4 8E430078 */ lw $v1, 0x78($s2) +/* B35498 802408C8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B3549C 802408CC 00031040 */ sll $v0, $v1, 1 +/* B354A0 802408D0 00431021 */ addu $v0, $v0, $v1 +/* B354A4 802408D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B354A8 802408D8 00021080 */ sll $v0, $v0, 2 +/* B354AC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* B354B0 802408E0 C4560004 */ lwc1 $f22, 4($v0) +/* B354B4 802408E4 4680B5A0 */ cvt.s.w $f22, $f22 +/* B354B8 802408E8 C454000C */ lwc1 $f20, 0xc($v0) +/* B354BC 802408EC 4680A520 */ cvt.s.w $f20, $f20 +/* B354C0 802408F0 4406B000 */ mfc1 $a2, $f22 +/* B354C4 802408F4 4407A000 */ mfc1 $a3, $f20 +/* B354C8 802408F8 0C00A720 */ jal atan2 +/* B354CC 802408FC 00000000 */ nop +/* B354D0 80240900 8E050018 */ lw $a1, 0x18($s0) +/* B354D4 80240904 44060000 */ mfc1 $a2, $f0 +/* B354D8 80240908 0200202D */ daddu $a0, $s0, $zero +/* B354DC 8024090C 0C00EA95 */ jal npc_move_heading +/* B354E0 80240910 AE06000C */ sw $a2, 0xc($s0) +/* B354E4 80240914 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B354E8 80240918 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B354EC 8024091C 4406B000 */ mfc1 $a2, $f22 +/* B354F0 80240920 4407A000 */ mfc1 $a3, $f20 +/* B354F4 80240924 0C00A7B5 */ jal dist2D +/* B354F8 80240928 00000000 */ nop +/* B354FC 8024092C C6020018 */ lwc1 $f2, 0x18($s0) +/* B35500 80240930 4602003E */ c.le.s $f0, $f2 +/* B35504 80240934 00000000 */ nop +/* B35508 80240938 4500002F */ bc1f .L802409F8 +/* B3550C 8024093C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B35510 80240940 24020002 */ addiu $v0, $zero, 2 +/* B35514 80240944 0C00A67F */ jal rand_int +/* B35518 80240948 AE420070 */ sw $v0, 0x70($s2) +/* B3551C 8024094C 3C035555 */ lui $v1, 0x5555 +/* B35520 80240950 34635556 */ ori $v1, $v1, 0x5556 +/* B35524 80240954 00430018 */ mult $v0, $v1 +/* B35528 80240958 000227C3 */ sra $a0, $v0, 0x1f +/* B3552C 8024095C 00004010 */ mfhi $t0 +/* B35530 80240960 01042023 */ subu $a0, $t0, $a0 +/* B35534 80240964 00041840 */ sll $v1, $a0, 1 +/* B35538 80240968 00641821 */ addu $v1, $v1, $a0 +/* B3553C 8024096C 00431023 */ subu $v0, $v0, $v1 +/* B35540 80240970 24430002 */ addiu $v1, $v0, 2 +/* B35544 80240974 AE430074 */ sw $v1, 0x74($s2) +/* B35548 80240978 8E62002C */ lw $v0, 0x2c($s3) +/* B3554C 8024097C 18400009 */ blez $v0, .L802409A4 +/* B35550 80240980 24020004 */ addiu $v0, $zero, 4 +/* B35554 80240984 8E620004 */ lw $v0, 4($s3) +/* B35558 80240988 18400006 */ blez $v0, .L802409A4 +/* B3555C 8024098C 24020004 */ addiu $v0, $zero, 4 +/* B35560 80240990 8E620008 */ lw $v0, 8($s3) +/* B35564 80240994 18400003 */ blez $v0, .L802409A4 +/* B35568 80240998 24020004 */ addiu $v0, $zero, 4 +/* B3556C 8024099C 14600002 */ bnez $v1, .L802409A8 +/* B35570 802409A0 00000000 */ nop +.L802409A4: +/* B35574 802409A4 AE420070 */ sw $v0, 0x70($s2) +.L802409A8: +/* B35578 802409A8 0C00A67F */ jal rand_int +/* B3557C 802409AC 24042710 */ addiu $a0, $zero, 0x2710 +/* B35580 802409B0 3C0351EB */ lui $v1, 0x51eb +/* B35584 802409B4 3463851F */ ori $v1, $v1, 0x851f +/* B35588 802409B8 00430018 */ mult $v0, $v1 +/* B3558C 802409BC 00021FC3 */ sra $v1, $v0, 0x1f +/* B35590 802409C0 00004010 */ mfhi $t0 +/* B35594 802409C4 00082143 */ sra $a0, $t0, 5 +/* B35598 802409C8 00832023 */ subu $a0, $a0, $v1 +/* B3559C 802409CC 00041840 */ sll $v1, $a0, 1 +/* B355A0 802409D0 00641821 */ addu $v1, $v1, $a0 +/* B355A4 802409D4 000318C0 */ sll $v1, $v1, 3 +/* B355A8 802409D8 00641821 */ addu $v1, $v1, $a0 +/* B355AC 802409DC 00031880 */ sll $v1, $v1, 2 +/* B355B0 802409E0 8E640004 */ lw $a0, 4($s3) +/* B355B4 802409E4 00431023 */ subu $v0, $v0, $v1 +/* B355B8 802409E8 0044102A */ slt $v0, $v0, $a0 +/* B355BC 802409EC 10400002 */ beqz $v0, .L802409F8 +/* B355C0 802409F0 24020004 */ addiu $v0, $zero, 4 +.L802409F4: +/* B355C4 802409F4 AE420070 */ sw $v0, 0x70($s2) +.L802409F8: +/* B355C8 802409F8 8FBF0044 */ lw $ra, 0x44($sp) +/* B355CC 802409FC 8FB40040 */ lw $s4, 0x40($sp) +/* B355D0 80240A00 8FB3003C */ lw $s3, 0x3c($sp) +/* B355D4 80240A04 8FB20038 */ lw $s2, 0x38($sp) +/* B355D8 80240A08 8FB10034 */ lw $s1, 0x34($sp) +/* B355DC 80240A0C 8FB00030 */ lw $s0, 0x30($sp) +/* B355E0 80240A10 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B355E4 80240A14 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B355E8 80240A18 03E00008 */ jr $ra +/* B355EC 80240A1C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240A20.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240A20.s new file mode 100644 index 0000000000..a086c926b9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240A20.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A20 +/* B355F0 80240A20 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B355F4 80240A24 AFB3001C */ sw $s3, 0x1c($sp) +/* B355F8 80240A28 0080982D */ daddu $s3, $a0, $zero +/* B355FC 80240A2C AFBF0020 */ sw $ra, 0x20($sp) +/* B35600 80240A30 AFB20018 */ sw $s2, 0x18($sp) +/* B35604 80240A34 AFB10014 */ sw $s1, 0x14($sp) +/* B35608 80240A38 AFB00010 */ sw $s0, 0x10($sp) +/* B3560C 80240A3C 8E720148 */ lw $s2, 0x148($s3) +/* B35610 80240A40 86440008 */ lh $a0, 8($s2) +/* B35614 80240A44 0C00EABB */ jal get_npc_unsafe +/* B35618 80240A48 00A0882D */ daddu $s1, $a1, $zero +/* B3561C 80240A4C 8E240008 */ lw $a0, 8($s1) +/* B35620 80240A50 0040802D */ daddu $s0, $v0, $zero +/* B35624 80240A54 00041FC2 */ srl $v1, $a0, 0x1f +/* B35628 80240A58 00832021 */ addu $a0, $a0, $v1 +/* B3562C 80240A5C 00042043 */ sra $a0, $a0, 1 +/* B35630 80240A60 0C00A67F */ jal rand_int +/* B35634 80240A64 24840001 */ addiu $a0, $a0, 1 +/* B35638 80240A68 8E230008 */ lw $v1, 8($s1) +/* B3563C 80240A6C 240400B4 */ addiu $a0, $zero, 0xb4 +/* B35640 80240A70 00032FC2 */ srl $a1, $v1, 0x1f +/* B35644 80240A74 00651821 */ addu $v1, $v1, $a1 +/* B35648 80240A78 00031843 */ sra $v1, $v1, 1 +/* B3564C 80240A7C 00621821 */ addu $v1, $v1, $v0 +/* B35650 80240A80 0C00A67F */ jal rand_int +/* B35654 80240A84 A603008E */ sh $v1, 0x8e($s0) +/* B35658 80240A88 C60C000C */ lwc1 $f12, 0xc($s0) +/* B3565C 80240A8C 44820000 */ mtc1 $v0, $f0 +/* B35660 80240A90 00000000 */ nop +/* B35664 80240A94 46800020 */ cvt.s.w $f0, $f0 +/* B35668 80240A98 46006300 */ add.s $f12, $f12, $f0 +/* B3566C 80240A9C 3C0142B4 */ lui $at, 0x42b4 +/* B35670 80240AA0 44810000 */ mtc1 $at, $f0 +/* B35674 80240AA4 0C00A6C9 */ jal clamp_angle +/* B35678 80240AA8 46006301 */ sub.s $f12, $f12, $f0 +/* B3567C 80240AAC E600000C */ swc1 $f0, 0xc($s0) +/* B35680 80240AB0 8E4200CC */ lw $v0, 0xcc($s2) +/* B35684 80240AB4 8C420000 */ lw $v0, ($v0) +/* B35688 80240AB8 AE020028 */ sw $v0, 0x28($s0) +/* B3568C 80240ABC 24020003 */ addiu $v0, $zero, 3 +/* B35690 80240AC0 AE620070 */ sw $v0, 0x70($s3) +/* B35694 80240AC4 8FBF0020 */ lw $ra, 0x20($sp) +/* B35698 80240AC8 8FB3001C */ lw $s3, 0x1c($sp) +/* B3569C 80240ACC 8FB20018 */ lw $s2, 0x18($sp) +/* B356A0 80240AD0 8FB10014 */ lw $s1, 0x14($sp) +/* B356A4 80240AD4 8FB00010 */ lw $s0, 0x10($sp) +/* B356A8 80240AD8 03E00008 */ jr $ra +/* B356AC 80240ADC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240AE0_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240AE0_B34BD0.s new file mode 100644 index 0000000000..efd5ee7344 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240AE0_B34BD0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE0_B356B0 +/* B356B0 80240AE0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B356B4 80240AE4 AFB40040 */ sw $s4, 0x40($sp) +/* B356B8 80240AE8 0080A02D */ daddu $s4, $a0, $zero +/* B356BC 80240AEC AFBF0044 */ sw $ra, 0x44($sp) +/* B356C0 80240AF0 AFB3003C */ sw $s3, 0x3c($sp) +/* B356C4 80240AF4 AFB20038 */ sw $s2, 0x38($sp) +/* B356C8 80240AF8 AFB10034 */ sw $s1, 0x34($sp) +/* B356CC 80240AFC AFB00030 */ sw $s0, 0x30($sp) +/* B356D0 80240B00 8E910148 */ lw $s1, 0x148($s4) +/* B356D4 80240B04 00A0902D */ daddu $s2, $a1, $zero +/* B356D8 80240B08 86240008 */ lh $a0, 8($s1) +/* B356DC 80240B0C 0C00EABB */ jal get_npc_unsafe +/* B356E0 80240B10 00C0982D */ daddu $s3, $a2, $zero +/* B356E4 80240B14 8E430014 */ lw $v1, 0x14($s2) +/* B356E8 80240B18 04600031 */ bltz $v1, .L80240BE0 +/* B356EC 80240B1C 0040802D */ daddu $s0, $v0, $zero +/* B356F0 80240B20 0260202D */ daddu $a0, $s3, $zero +/* B356F4 80240B24 AFA00010 */ sw $zero, 0x10($sp) +/* B356F8 80240B28 8E460024 */ lw $a2, 0x24($s2) +/* B356FC 80240B2C 8E470028 */ lw $a3, 0x28($s2) +/* B35700 80240B30 0C01242D */ jal func_800490B4 +/* B35704 80240B34 0220282D */ daddu $a1, $s1, $zero +/* B35708 80240B38 10400029 */ beqz $v0, .L80240BE0 +/* B3570C 80240B3C 0000202D */ daddu $a0, $zero, $zero +/* B35710 80240B40 0200282D */ daddu $a1, $s0, $zero +/* B35714 80240B44 0000302D */ daddu $a2, $zero, $zero +/* B35718 80240B48 860300A8 */ lh $v1, 0xa8($s0) +/* B3571C 80240B4C 3C013F80 */ lui $at, 0x3f80 +/* B35720 80240B50 44810000 */ mtc1 $at, $f0 +/* B35724 80240B54 3C014000 */ lui $at, 0x4000 +/* B35728 80240B58 44811000 */ mtc1 $at, $f2 +/* B3572C 80240B5C 3C01C1A0 */ lui $at, 0xc1a0 +/* B35730 80240B60 44812000 */ mtc1 $at, $f4 +/* B35734 80240B64 2402000F */ addiu $v0, $zero, 0xf +/* B35738 80240B68 AFA2001C */ sw $v0, 0x1c($sp) +/* B3573C 80240B6C 44833000 */ mtc1 $v1, $f6 +/* B35740 80240B70 00000000 */ nop +/* B35744 80240B74 468031A0 */ cvt.s.w $f6, $f6 +/* B35748 80240B78 44073000 */ mfc1 $a3, $f6 +/* B3574C 80240B7C 27A20028 */ addiu $v0, $sp, 0x28 +/* B35750 80240B80 AFA20020 */ sw $v0, 0x20($sp) +/* B35754 80240B84 E7A00010 */ swc1 $f0, 0x10($sp) +/* B35758 80240B88 E7A20014 */ swc1 $f2, 0x14($sp) +/* B3575C 80240B8C 0C01BFA4 */ jal fx_emote +/* B35760 80240B90 E7A40018 */ swc1 $f4, 0x18($sp) +/* B35764 80240B94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B35768 80240B98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B3576C 80240B9C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B35770 80240BA0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B35774 80240BA4 8C460028 */ lw $a2, 0x28($v0) +/* B35778 80240BA8 0C00A720 */ jal atan2 +/* B3577C 80240BAC 8C470030 */ lw $a3, 0x30($v0) +/* B35780 80240BB0 0200202D */ daddu $a0, $s0, $zero +/* B35784 80240BB4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B35788 80240BB8 3C060020 */ lui $a2, 0x20 +/* B3578C 80240BBC 0C012530 */ jal func_800494C0 +/* B35790 80240BC0 E480000C */ swc1 $f0, 0xc($a0) +/* B35794 80240BC4 8E220018 */ lw $v0, 0x18($s1) +/* B35798 80240BC8 9442002A */ lhu $v0, 0x2a($v0) +/* B3579C 80240BCC 30420001 */ andi $v0, $v0, 1 +/* B357A0 80240BD0 14400029 */ bnez $v0, .L80240C78 +/* B357A4 80240BD4 2402000A */ addiu $v0, $zero, 0xa +/* B357A8 80240BD8 0809031E */ j .L80240C78 +/* B357AC 80240BDC 2402000C */ addiu $v0, $zero, 0xc +.L80240BE0: +/* B357B0 80240BE0 8602008C */ lh $v0, 0x8c($s0) +/* B357B4 80240BE4 14400025 */ bnez $v0, .L80240C7C +/* B357B8 80240BE8 00000000 */ nop +/* B357BC 80240BEC 9602008E */ lhu $v0, 0x8e($s0) +/* B357C0 80240BF0 2442FFFF */ addiu $v0, $v0, -1 +/* B357C4 80240BF4 A602008E */ sh $v0, 0x8e($s0) +/* B357C8 80240BF8 00021400 */ sll $v0, $v0, 0x10 +/* B357CC 80240BFC 1440001F */ bnez $v0, .L80240C7C +/* B357D0 80240C00 00000000 */ nop +/* B357D4 80240C04 8E820074 */ lw $v0, 0x74($s4) +/* B357D8 80240C08 2442FFFF */ addiu $v0, $v0, -1 +/* B357DC 80240C0C 10400019 */ beqz $v0, .L80240C74 +/* B357E0 80240C10 AE820074 */ sw $v0, 0x74($s4) +/* B357E4 80240C14 8E220018 */ lw $v0, 0x18($s1) +/* B357E8 80240C18 9442002A */ lhu $v0, 0x2a($v0) +/* B357EC 80240C1C 30420010 */ andi $v0, $v0, 0x10 +/* B357F0 80240C20 14400007 */ bnez $v0, .L80240C40 +/* B357F4 80240C24 00000000 */ nop +/* B357F8 80240C28 C600000C */ lwc1 $f0, 0xc($s0) +/* B357FC 80240C2C 3C014334 */ lui $at, 0x4334 +/* B35800 80240C30 44816000 */ mtc1 $at, $f12 +/* B35804 80240C34 0C00A6C9 */ jal clamp_angle +/* B35808 80240C38 460C0300 */ add.s $f12, $f0, $f12 +/* B3580C 80240C3C E600000C */ swc1 $f0, 0xc($s0) +.L80240C40: +/* B35810 80240C40 8E440008 */ lw $a0, 8($s2) +/* B35814 80240C44 000417C2 */ srl $v0, $a0, 0x1f +/* B35818 80240C48 00822021 */ addu $a0, $a0, $v0 +/* B3581C 80240C4C 00042043 */ sra $a0, $a0, 1 +/* B35820 80240C50 0C00A67F */ jal rand_int +/* B35824 80240C54 24840001 */ addiu $a0, $a0, 1 +/* B35828 80240C58 8E430008 */ lw $v1, 8($s2) +/* B3582C 80240C5C 000327C2 */ srl $a0, $v1, 0x1f +/* B35830 80240C60 00641821 */ addu $v1, $v1, $a0 +/* B35834 80240C64 00031843 */ sra $v1, $v1, 1 +/* B35838 80240C68 00621821 */ addu $v1, $v1, $v0 +/* B3583C 80240C6C 0809031F */ j .L80240C7C +/* B35840 80240C70 A603008E */ sh $v1, 0x8e($s0) +.L80240C74: +/* B35844 80240C74 24020004 */ addiu $v0, $zero, 4 +.L80240C78: +/* B35848 80240C78 AE820070 */ sw $v0, 0x70($s4) +.L80240C7C: +/* B3584C 80240C7C 8FBF0044 */ lw $ra, 0x44($sp) +/* B35850 80240C80 8FB40040 */ lw $s4, 0x40($sp) +/* B35854 80240C84 8FB3003C */ lw $s3, 0x3c($sp) +/* B35858 80240C88 8FB20038 */ lw $s2, 0x38($sp) +/* B3585C 80240C8C 8FB10034 */ lw $s1, 0x34($sp) +/* B35860 80240C90 8FB00030 */ lw $s0, 0x30($sp) +/* B35864 80240C94 03E00008 */ jr $ra +/* B35868 80240C98 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240C9C.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240C9C.s new file mode 100644 index 0000000000..12be7fc61a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240C9C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C9C +/* B3586C 80240C9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B35870 80240CA0 AFB10014 */ sw $s1, 0x14($sp) +/* B35874 80240CA4 0080882D */ daddu $s1, $a0, $zero +/* B35878 80240CA8 AFBF001C */ sw $ra, 0x1c($sp) +/* B3587C 80240CAC AFB20018 */ sw $s2, 0x18($sp) +/* B35880 80240CB0 AFB00010 */ sw $s0, 0x10($sp) +/* B35884 80240CB4 8E300148 */ lw $s0, 0x148($s1) +/* B35888 80240CB8 86040008 */ lh $a0, 8($s0) +/* B3588C 80240CBC 0C00EABB */ jal get_npc_unsafe +/* B35890 80240CC0 00A0902D */ daddu $s2, $a1, $zero +/* B35894 80240CC4 8E230078 */ lw $v1, 0x78($s1) +/* B35898 80240CC8 24630001 */ addiu $v1, $v1, 1 +/* B3589C 80240CCC AE230078 */ sw $v1, 0x78($s1) +/* B358A0 80240CD0 8E0400D0 */ lw $a0, 0xd0($s0) +/* B358A4 80240CD4 8C840000 */ lw $a0, ($a0) +/* B358A8 80240CD8 0064182A */ slt $v1, $v1, $a0 +/* B358AC 80240CDC 14600002 */ bnez $v1, .L80240CE8 +/* B358B0 80240CE0 0040282D */ daddu $a1, $v0, $zero +/* B358B4 80240CE4 AE200078 */ sw $zero, 0x78($s1) +.L80240CE8: +/* B358B8 80240CE8 8E0200CC */ lw $v0, 0xcc($s0) +/* B358BC 80240CEC 8C420004 */ lw $v0, 4($v0) +/* B358C0 80240CF0 ACA20028 */ sw $v0, 0x28($a1) +/* B358C4 80240CF4 8E0200D0 */ lw $v0, 0xd0($s0) +/* B358C8 80240CF8 8C42007C */ lw $v0, 0x7c($v0) +/* B358CC 80240CFC 04410004 */ bgez $v0, .L80240D10 +/* B358D0 80240D00 00000000 */ nop +/* B358D4 80240D04 C6400000 */ lwc1 $f0, ($s2) +/* B358D8 80240D08 0809034C */ j .L80240D30 +/* B358DC 80240D0C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240D10: +/* B358E0 80240D10 3C018025 */ lui $at, 0x8025 +/* B358E4 80240D14 D422F9F8 */ ldc1 $f2, -0x608($at) +/* B358E8 80240D18 44820000 */ mtc1 $v0, $f0 +/* B358EC 80240D1C 00000000 */ nop +/* B358F0 80240D20 46800021 */ cvt.d.w $f0, $f0 +/* B358F4 80240D24 46220003 */ div.d $f0, $f0, $f2 +/* B358F8 80240D28 46200020 */ cvt.s.d $f0, $f0 +/* B358FC 80240D2C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240D30: +/* B35900 80240D30 24020001 */ addiu $v0, $zero, 1 +/* B35904 80240D34 AE220070 */ sw $v0, 0x70($s1) +/* B35908 80240D38 8FBF001C */ lw $ra, 0x1c($sp) +/* B3590C 80240D3C 8FB20018 */ lw $s2, 0x18($sp) +/* B35910 80240D40 8FB10014 */ lw $s1, 0x14($sp) +/* B35914 80240D44 8FB00010 */ lw $s0, 0x10($sp) +/* B35918 80240D48 03E00008 */ jr $ra +/* B3591C 80240D4C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240D50_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240D50_B34BD0.s new file mode 100644 index 0000000000..933f2131a5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240D50_B34BD0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D50_B35920 +/* B35920 80240D50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B35924 80240D54 AFB10014 */ sw $s1, 0x14($sp) +/* B35928 80240D58 0080882D */ daddu $s1, $a0, $zero +/* B3592C 80240D5C AFBF0018 */ sw $ra, 0x18($sp) +/* B35930 80240D60 AFB00010 */ sw $s0, 0x10($sp) +/* B35934 80240D64 8E300148 */ lw $s0, 0x148($s1) +/* B35938 80240D68 0C00EABB */ jal get_npc_unsafe +/* B3593C 80240D6C 86040008 */ lh $a0, 8($s0) +/* B35940 80240D70 8E0300CC */ lw $v1, 0xcc($s0) +/* B35944 80240D74 3C014120 */ lui $at, 0x4120 +/* B35948 80240D78 44812000 */ mtc1 $at, $f4 +/* B3594C 80240D7C 3C014000 */ lui $at, 0x4000 +/* B35950 80240D80 44810000 */ mtc1 $at, $f0 +/* B35954 80240D84 C442003C */ lwc1 $f2, 0x3c($v0) +/* B35958 80240D88 8C640010 */ lw $a0, 0x10($v1) +/* B3595C 80240D8C 8C430000 */ lw $v1, ($v0) +/* B35960 80240D90 E444001C */ swc1 $f4, 0x1c($v0) +/* B35964 80240D94 E4400014 */ swc1 $f0, 0x14($v0) +/* B35968 80240D98 E4420064 */ swc1 $f2, 0x64($v0) +/* B3596C 80240D9C 34630800 */ ori $v1, $v1, 0x800 +/* B35970 80240DA0 AC430000 */ sw $v1, ($v0) +/* B35974 80240DA4 AC440028 */ sw $a0, 0x28($v0) +/* B35978 80240DA8 2402000B */ addiu $v0, $zero, 0xb +/* B3597C 80240DAC AE220070 */ sw $v0, 0x70($s1) +/* B35980 80240DB0 8FBF0018 */ lw $ra, 0x18($sp) +/* B35984 80240DB4 8FB10014 */ lw $s1, 0x14($sp) +/* B35988 80240DB8 8FB00010 */ lw $s0, 0x10($sp) +/* B3598C 80240DBC 03E00008 */ jr $ra +/* B35990 80240DC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240DC4_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240DC4_B34BD0.s new file mode 100644 index 0000000000..1944e27a9a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240DC4_B34BD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DC4_B35994 +/* B35994 80240DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B35998 80240DC8 AFB00010 */ sw $s0, 0x10($sp) +/* B3599C 80240DCC 0080802D */ daddu $s0, $a0, $zero +/* B359A0 80240DD0 AFBF0014 */ sw $ra, 0x14($sp) +/* B359A4 80240DD4 8E020148 */ lw $v0, 0x148($s0) +/* B359A8 80240DD8 0C00EABB */ jal get_npc_unsafe +/* B359AC 80240DDC 84440008 */ lh $a0, 8($v0) +/* B359B0 80240DE0 0040202D */ daddu $a0, $v0, $zero +/* B359B4 80240DE4 C482003C */ lwc1 $f2, 0x3c($a0) +/* B359B8 80240DE8 C480001C */ lwc1 $f0, 0x1c($a0) +/* B359BC 80240DEC 46001080 */ add.s $f2, $f2, $f0 +/* B359C0 80240DF0 C4840014 */ lwc1 $f4, 0x14($a0) +/* B359C4 80240DF4 46040001 */ sub.s $f0, $f0, $f4 +/* B359C8 80240DF8 C4840064 */ lwc1 $f4, 0x64($a0) +/* B359CC 80240DFC 4602203C */ c.lt.s $f4, $f2 +/* B359D0 80240E00 E482003C */ swc1 $f2, 0x3c($a0) +/* B359D4 80240E04 45010009 */ bc1t .L80240E2C +/* B359D8 80240E08 E480001C */ swc1 $f0, 0x1c($a0) +/* B359DC 80240E0C 8C820000 */ lw $v0, ($a0) +/* B359E0 80240E10 2403F7FF */ addiu $v1, $zero, -0x801 +/* B359E4 80240E14 E484003C */ swc1 $f4, 0x3c($a0) +/* B359E8 80240E18 AC80001C */ sw $zero, 0x1c($a0) +/* B359EC 80240E1C 00431024 */ and $v0, $v0, $v1 +/* B359F0 80240E20 AC820000 */ sw $v0, ($a0) +/* B359F4 80240E24 2402000C */ addiu $v0, $zero, 0xc +/* B359F8 80240E28 AE020070 */ sw $v0, 0x70($s0) +.L80240E2C: +/* B359FC 80240E2C 8FBF0014 */ lw $ra, 0x14($sp) +/* B35A00 80240E30 8FB00010 */ lw $s0, 0x10($sp) +/* B35A04 80240E34 03E00008 */ jr $ra +/* B35A08 80240E38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240E3C_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240E3C_B34BD0.s new file mode 100644 index 0000000000..0d0141ff9e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240E3C_B34BD0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E3C_B35A0C +/* B35A0C 80240E3C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B35A10 80240E40 AFB3001C */ sw $s3, 0x1c($sp) +/* B35A14 80240E44 0080982D */ daddu $s3, $a0, $zero +/* B35A18 80240E48 AFBF0020 */ sw $ra, 0x20($sp) +/* B35A1C 80240E4C AFB20018 */ sw $s2, 0x18($sp) +/* B35A20 80240E50 AFB10014 */ sw $s1, 0x14($sp) +/* B35A24 80240E54 AFB00010 */ sw $s0, 0x10($sp) +/* B35A28 80240E58 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B35A2C 80240E5C 8E710148 */ lw $s1, 0x148($s3) +/* B35A30 80240E60 86240008 */ lh $a0, 8($s1) +/* B35A34 80240E64 0C00EABB */ jal get_npc_unsafe +/* B35A38 80240E68 00A0802D */ daddu $s0, $a1, $zero +/* B35A3C 80240E6C 8E040020 */ lw $a0, 0x20($s0) +/* B35A40 80240E70 0040902D */ daddu $s2, $v0, $zero +/* B35A44 80240E74 00041FC2 */ srl $v1, $a0, 0x1f +/* B35A48 80240E78 00832021 */ addu $a0, $a0, $v1 +/* B35A4C 80240E7C 00042043 */ sra $a0, $a0, 1 +/* B35A50 80240E80 0C00A67F */ jal rand_int +/* B35A54 80240E84 24840001 */ addiu $a0, $a0, 1 +/* B35A58 80240E88 8E030020 */ lw $v1, 0x20($s0) +/* B35A5C 80240E8C C64C0038 */ lwc1 $f12, 0x38($s2) +/* B35A60 80240E90 000327C2 */ srl $a0, $v1, 0x1f +/* B35A64 80240E94 00641821 */ addu $v1, $v1, $a0 +/* B35A68 80240E98 00031843 */ sra $v1, $v1, 1 +/* B35A6C 80240E9C 00621821 */ addu $v1, $v1, $v0 +/* B35A70 80240EA0 A643008E */ sh $v1, 0x8e($s2) +/* B35A74 80240EA4 8E2200CC */ lw $v0, 0xcc($s1) +/* B35A78 80240EA8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B35A7C 80240EAC 8C42000C */ lw $v0, 0xc($v0) +/* B35A80 80240EB0 AE420028 */ sw $v0, 0x28($s2) +/* B35A84 80240EB4 C6000018 */ lwc1 $f0, 0x18($s0) +/* B35A88 80240EB8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B35A8C 80240EBC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B35A90 80240EC0 E6400018 */ swc1 $f0, 0x18($s2) +/* B35A94 80240EC4 8C460028 */ lw $a2, 0x28($v0) +/* B35A98 80240EC8 0C00A720 */ jal atan2 +/* B35A9C 80240ECC 8C470030 */ lw $a3, 0x30($v0) +/* B35AA0 80240ED0 46000506 */ mov.s $f20, $f0 +/* B35AA4 80240ED4 C64C000C */ lwc1 $f12, 0xc($s2) +/* B35AA8 80240ED8 0C00A70A */ jal get_clamped_angle_diff +/* B35AAC 80240EDC 4600A386 */ mov.s $f14, $f20 +/* B35AB0 80240EE0 46000086 */ mov.s $f2, $f0 +/* B35AB4 80240EE4 8E02001C */ lw $v0, 0x1c($s0) +/* B35AB8 80240EE8 46001005 */ abs.s $f0, $f2 +/* B35ABC 80240EEC 44822000 */ mtc1 $v0, $f4 +/* B35AC0 80240EF0 00000000 */ nop +/* B35AC4 80240EF4 46802120 */ cvt.s.w $f4, $f4 +/* B35AC8 80240EF8 4600203C */ c.lt.s $f4, $f0 +/* B35ACC 80240EFC 00000000 */ nop +/* B35AD0 80240F00 4500000D */ bc1f .L80240F38 +/* B35AD4 80240F04 00000000 */ nop +/* B35AD8 80240F08 44800000 */ mtc1 $zero, $f0 +/* B35ADC 80240F0C C654000C */ lwc1 $f20, 0xc($s2) +/* B35AE0 80240F10 4600103C */ c.lt.s $f2, $f0 +/* B35AE4 80240F14 00000000 */ nop +/* B35AE8 80240F18 45000006 */ bc1f .L80240F34 +/* B35AEC 80240F1C 00021023 */ negu $v0, $v0 +/* B35AF0 80240F20 44820000 */ mtc1 $v0, $f0 +/* B35AF4 80240F24 00000000 */ nop +/* B35AF8 80240F28 46800020 */ cvt.s.w $f0, $f0 +/* B35AFC 80240F2C 080903CE */ j .L80240F38 +/* B35B00 80240F30 4600A500 */ add.s $f20, $f20, $f0 +.L80240F34: +/* B35B04 80240F34 4604A500 */ add.s $f20, $f20, $f4 +.L80240F38: +/* B35B08 80240F38 0C00A6C9 */ jal clamp_angle +/* B35B0C 80240F3C 4600A306 */ mov.s $f12, $f20 +/* B35B10 80240F40 2402000D */ addiu $v0, $zero, 0xd +/* B35B14 80240F44 E640000C */ swc1 $f0, 0xc($s2) +/* B35B18 80240F48 AE620070 */ sw $v0, 0x70($s3) +/* B35B1C 80240F4C 8FBF0020 */ lw $ra, 0x20($sp) +/* B35B20 80240F50 8FB3001C */ lw $s3, 0x1c($sp) +/* B35B24 80240F54 8FB20018 */ lw $s2, 0x18($sp) +/* B35B28 80240F58 8FB10014 */ lw $s1, 0x14($sp) +/* B35B2C 80240F5C 8FB00010 */ lw $s0, 0x10($sp) +/* B35B30 80240F60 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B35B34 80240F64 03E00008 */ jr $ra +/* B35B38 80240F68 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80240F6C.s b/asm/nonmatchings/world/area_jan/jan_03/func_80240F6C.s new file mode 100644 index 0000000000..e4824dab43 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80240F6C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F6C +/* B35B3C 80240F6C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B35B40 80240F70 AFB3003C */ sw $s3, 0x3c($sp) +/* B35B44 80240F74 0080982D */ daddu $s3, $a0, $zero +/* B35B48 80240F78 AFBF0040 */ sw $ra, 0x40($sp) +/* B35B4C 80240F7C AFB20038 */ sw $s2, 0x38($sp) +/* B35B50 80240F80 AFB10034 */ sw $s1, 0x34($sp) +/* B35B54 80240F84 AFB00030 */ sw $s0, 0x30($sp) +/* B35B58 80240F88 8E720148 */ lw $s2, 0x148($s3) +/* B35B5C 80240F8C 00A0882D */ daddu $s1, $a1, $zero +/* B35B60 80240F90 86440008 */ lh $a0, 8($s2) +/* B35B64 80240F94 0C00EABB */ jal get_npc_unsafe +/* B35B68 80240F98 00C0802D */ daddu $s0, $a2, $zero +/* B35B6C 80240F9C 0200202D */ daddu $a0, $s0, $zero +/* B35B70 80240FA0 0240282D */ daddu $a1, $s2, $zero +/* B35B74 80240FA4 24030001 */ addiu $v1, $zero, 1 +/* B35B78 80240FA8 AFA30010 */ sw $v1, 0x10($sp) +/* B35B7C 80240FAC 8E260024 */ lw $a2, 0x24($s1) +/* B35B80 80240FB0 8E270028 */ lw $a3, 0x28($s1) +/* B35B84 80240FB4 0C01242D */ jal func_800490B4 +/* B35B88 80240FB8 0040802D */ daddu $s0, $v0, $zero +/* B35B8C 80240FBC 1440001E */ bnez $v0, .L80241038 +/* B35B90 80240FC0 0200202D */ daddu $a0, $s0, $zero +/* B35B94 80240FC4 24040002 */ addiu $a0, $zero, 2 +/* B35B98 80240FC8 0200282D */ daddu $a1, $s0, $zero +/* B35B9C 80240FCC 0000302D */ daddu $a2, $zero, $zero +/* B35BA0 80240FD0 860300A8 */ lh $v1, 0xa8($s0) +/* B35BA4 80240FD4 3C013F80 */ lui $at, 0x3f80 +/* B35BA8 80240FD8 44810000 */ mtc1 $at, $f0 +/* B35BAC 80240FDC 3C014000 */ lui $at, 0x4000 +/* B35BB0 80240FE0 44811000 */ mtc1 $at, $f2 +/* B35BB4 80240FE4 3C01C1A0 */ lui $at, 0xc1a0 +/* B35BB8 80240FE8 44812000 */ mtc1 $at, $f4 +/* B35BBC 80240FEC 2402000F */ addiu $v0, $zero, 0xf +/* B35BC0 80240FF0 AFA2001C */ sw $v0, 0x1c($sp) +/* B35BC4 80240FF4 44833000 */ mtc1 $v1, $f6 +/* B35BC8 80240FF8 00000000 */ nop +/* B35BCC 80240FFC 468031A0 */ cvt.s.w $f6, $f6 +/* B35BD0 80241000 44073000 */ mfc1 $a3, $f6 +/* B35BD4 80241004 27A20028 */ addiu $v0, $sp, 0x28 +/* B35BD8 80241008 AFA20020 */ sw $v0, 0x20($sp) +/* B35BDC 8024100C E7A00010 */ swc1 $f0, 0x10($sp) +/* B35BE0 80241010 E7A20014 */ swc1 $f2, 0x14($sp) +/* B35BE4 80241014 0C01BFA4 */ jal fx_emote +/* B35BE8 80241018 E7A40018 */ swc1 $f4, 0x18($sp) +/* B35BEC 8024101C 8E4200CC */ lw $v0, 0xcc($s2) +/* B35BF0 80241020 8C430000 */ lw $v1, ($v0) +/* B35BF4 80241024 24020019 */ addiu $v0, $zero, 0x19 +/* B35BF8 80241028 A602008E */ sh $v0, 0x8e($s0) +/* B35BFC 8024102C 2402000E */ addiu $v0, $zero, 0xe +/* B35C00 80241030 0809041B */ j .L8024106C +/* B35C04 80241034 AE030028 */ sw $v1, 0x28($s0) +.L80241038: +/* B35C08 80241038 0C00F598 */ jal func_8003D660 +/* B35C0C 8024103C 24050001 */ addiu $a1, $zero, 1 +/* B35C10 80241040 8E050018 */ lw $a1, 0x18($s0) +/* B35C14 80241044 8E06000C */ lw $a2, 0xc($s0) +/* B35C18 80241048 0C00EA95 */ jal npc_move_heading +/* B35C1C 8024104C 0200202D */ daddu $a0, $s0, $zero +/* B35C20 80241050 8602008E */ lh $v0, 0x8e($s0) +/* B35C24 80241054 9603008E */ lhu $v1, 0x8e($s0) +/* B35C28 80241058 18400003 */ blez $v0, .L80241068 +/* B35C2C 8024105C 2462FFFF */ addiu $v0, $v1, -1 +/* B35C30 80241060 0809041C */ j .L80241070 +/* B35C34 80241064 A602008E */ sh $v0, 0x8e($s0) +.L80241068: +/* B35C38 80241068 2402000C */ addiu $v0, $zero, 0xc +.L8024106C: +/* B35C3C 8024106C AE620070 */ sw $v0, 0x70($s3) +.L80241070: +/* B35C40 80241070 8FBF0040 */ lw $ra, 0x40($sp) +/* B35C44 80241074 8FB3003C */ lw $s3, 0x3c($sp) +/* B35C48 80241078 8FB20038 */ lw $s2, 0x38($sp) +/* B35C4C 8024107C 8FB10034 */ lw $s1, 0x34($sp) +/* B35C50 80241080 8FB00030 */ lw $s0, 0x30($sp) +/* B35C54 80241084 03E00008 */ jr $ra +/* B35C58 80241088 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024108C.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024108C.s new file mode 100644 index 0000000000..7135b0ccc2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024108C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024108C +/* B35C5C 8024108C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B35C60 80241090 AFB10014 */ sw $s1, 0x14($sp) +/* B35C64 80241094 0080882D */ daddu $s1, $a0, $zero +/* B35C68 80241098 AFBF0018 */ sw $ra, 0x18($sp) +/* B35C6C 8024109C AFB00010 */ sw $s0, 0x10($sp) +/* B35C70 802410A0 8E300148 */ lw $s0, 0x148($s1) +/* B35C74 802410A4 0C00EABB */ jal get_npc_unsafe +/* B35C78 802410A8 86040008 */ lh $a0, 8($s0) +/* B35C7C 802410AC 9443008E */ lhu $v1, 0x8e($v0) +/* B35C80 802410B0 2463FFFF */ addiu $v1, $v1, -1 +/* B35C84 802410B4 A443008E */ sh $v1, 0x8e($v0) +/* B35C88 802410B8 00031C00 */ sll $v1, $v1, 0x10 +/* B35C8C 802410BC 14600008 */ bnez $v1, .L802410E0 +/* B35C90 802410C0 00000000 */ nop +/* B35C94 802410C4 8E0200B0 */ lw $v0, 0xb0($s0) +/* B35C98 802410C8 30420080 */ andi $v0, $v0, 0x80 +/* B35C9C 802410CC 10400003 */ beqz $v0, .L802410DC +/* B35CA0 802410D0 2402000F */ addiu $v0, $zero, 0xf +/* B35CA4 802410D4 08090438 */ j .L802410E0 +/* B35CA8 802410D8 AE220070 */ sw $v0, 0x70($s1) +.L802410DC: +/* B35CAC 802410DC AE200070 */ sw $zero, 0x70($s1) +.L802410E0: +/* B35CB0 802410E0 8FBF0018 */ lw $ra, 0x18($sp) +/* B35CB4 802410E4 8FB10014 */ lw $s1, 0x14($sp) +/* B35CB8 802410E8 8FB00010 */ lw $s0, 0x10($sp) +/* B35CBC 802410EC 03E00008 */ jr $ra +/* B35CC0 802410F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802410F4.s b/asm/nonmatchings/world/area_jan/jan_03/func_802410F4.s new file mode 100644 index 0000000000..e02851e636 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802410F4.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410F4 +/* B35CC4 802410F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B35CC8 802410F8 AFB10014 */ sw $s1, 0x14($sp) +/* B35CCC 802410FC 0080882D */ daddu $s1, $a0, $zero +/* B35CD0 80241100 AFBF001C */ sw $ra, 0x1c($sp) +/* B35CD4 80241104 AFB20018 */ sw $s2, 0x18($sp) +/* B35CD8 80241108 AFB00010 */ sw $s0, 0x10($sp) +/* B35CDC 8024110C 8E300148 */ lw $s0, 0x148($s1) +/* B35CE0 80241110 86040008 */ lh $a0, 8($s0) +/* B35CE4 80241114 0C00EABB */ jal get_npc_unsafe +/* B35CE8 80241118 00A0902D */ daddu $s2, $a1, $zero +/* B35CEC 8024111C 8E0300D0 */ lw $v1, 0xd0($s0) +/* B35CF0 80241120 8E240078 */ lw $a0, 0x78($s1) +/* B35CF4 80241124 8C630000 */ lw $v1, ($v1) +/* B35CF8 80241128 0083182A */ slt $v1, $a0, $v1 +/* B35CFC 8024112C 10600013 */ beqz $v1, .L8024117C +/* B35D00 80241130 0040302D */ daddu $a2, $v0, $zero +/* B35D04 80241134 00041040 */ sll $v0, $a0, 1 +/* B35D08 80241138 00441021 */ addu $v0, $v0, $a0 +/* B35D0C 8024113C 00022880 */ sll $a1, $v0, 2 +.L80241140: +/* B35D10 80241140 8E0300D0 */ lw $v1, 0xd0($s0) +/* B35D14 80241144 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* B35D18 80241148 00A31021 */ addu $v0, $a1, $v1 +/* B35D1C 8024114C C4400008 */ lwc1 $f0, 8($v0) +/* B35D20 80241150 46800020 */ cvt.s.w $f0, $f0 +/* B35D24 80241154 4602003E */ c.le.s $f0, $f2 +/* B35D28 80241158 00000000 */ nop +/* B35D2C 8024115C 45020003 */ bc1fl .L8024116C +/* B35D30 80241160 24840001 */ addiu $a0, $a0, 1 +/* B35D34 80241164 0809045F */ j .L8024117C +/* B35D38 80241168 AE240078 */ sw $a0, 0x78($s1) +.L8024116C: +/* B35D3C 8024116C 8C620000 */ lw $v0, ($v1) +/* B35D40 80241170 0082102A */ slt $v0, $a0, $v0 +/* B35D44 80241174 1440FFF2 */ bnez $v0, .L80241140 +/* B35D48 80241178 24A5000C */ addiu $a1, $a1, 0xc +.L8024117C: +/* B35D4C 8024117C C6400000 */ lwc1 $f0, ($s2) +/* B35D50 80241180 E4C00018 */ swc1 $f0, 0x18($a2) +/* B35D54 80241184 8E0200CC */ lw $v0, 0xcc($s0) +/* B35D58 80241188 8C420004 */ lw $v0, 4($v0) +/* B35D5C 8024118C ACC20028 */ sw $v0, 0x28($a2) +/* B35D60 80241190 24020001 */ addiu $v0, $zero, 1 +/* B35D64 80241194 AE200074 */ sw $zero, 0x74($s1) +/* B35D68 80241198 AE220070 */ sw $v0, 0x70($s1) +/* B35D6C 8024119C 8FBF001C */ lw $ra, 0x1c($sp) +/* B35D70 802411A0 8FB20018 */ lw $s2, 0x18($sp) +/* B35D74 802411A4 8FB10014 */ lw $s1, 0x14($sp) +/* B35D78 802411A8 8FB00010 */ lw $s0, 0x10($sp) +/* B35D7C 802411AC 03E00008 */ jr $ra +/* B35D80 802411B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802411B4_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802411B4_B34BD0.s new file mode 100644 index 0000000000..0eceddb3b2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802411B4_B34BD0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B4_B35D84 +/* B35D84 802411B4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B35D88 802411B8 AFB40058 */ sw $s4, 0x58($sp) +/* B35D8C 802411BC 0080A02D */ daddu $s4, $a0, $zero +/* B35D90 802411C0 AFBF0060 */ sw $ra, 0x60($sp) +/* B35D94 802411C4 AFB5005C */ sw $s5, 0x5c($sp) +/* B35D98 802411C8 AFB30054 */ sw $s3, 0x54($sp) +/* B35D9C 802411CC AFB20050 */ sw $s2, 0x50($sp) +/* B35DA0 802411D0 AFB1004C */ sw $s1, 0x4c($sp) +/* B35DA4 802411D4 AFB00048 */ sw $s0, 0x48($sp) +/* B35DA8 802411D8 8E910148 */ lw $s1, 0x148($s4) +/* B35DAC 802411DC 86240008 */ lh $a0, 8($s1) +/* B35DB0 802411E0 0C00EABB */ jal get_npc_unsafe +/* B35DB4 802411E4 00A0802D */ daddu $s0, $a1, $zero +/* B35DB8 802411E8 8E83000C */ lw $v1, 0xc($s4) +/* B35DBC 802411EC 0280202D */ daddu $a0, $s4, $zero +/* B35DC0 802411F0 8C650000 */ lw $a1, ($v1) +/* B35DC4 802411F4 0C0B1EAF */ jal get_variable +/* B35DC8 802411F8 0040902D */ daddu $s2, $v0, $zero +/* B35DCC 802411FC AFA00018 */ sw $zero, 0x18($sp) +/* B35DD0 80241200 8E2300D0 */ lw $v1, 0xd0($s1) +/* B35DD4 80241204 8C630094 */ lw $v1, 0x94($v1) +/* B35DD8 80241208 AFA3001C */ sw $v1, 0x1c($sp) +/* B35DDC 8024120C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B35DE0 80241210 8C630080 */ lw $v1, 0x80($v1) +/* B35DE4 80241214 AFA30020 */ sw $v1, 0x20($sp) +/* B35DE8 80241218 8E2300D0 */ lw $v1, 0xd0($s1) +/* B35DEC 8024121C 8C630088 */ lw $v1, 0x88($v1) +/* B35DF0 80241220 AFA30024 */ sw $v1, 0x24($sp) +/* B35DF4 80241224 8E2300D0 */ lw $v1, 0xd0($s1) +/* B35DF8 80241228 8C63008C */ lw $v1, 0x8c($v1) +/* B35DFC 8024122C 27B50018 */ addiu $s5, $sp, 0x18 +/* B35E00 80241230 AFA30028 */ sw $v1, 0x28($sp) +/* B35E04 80241234 8E2300D0 */ lw $v1, 0xd0($s1) +/* B35E08 80241238 3C014282 */ lui $at, 0x4282 +/* B35E0C 8024123C 44810000 */ mtc1 $at, $f0 +/* B35E10 80241240 8C630090 */ lw $v1, 0x90($v1) +/* B35E14 80241244 0040982D */ daddu $s3, $v0, $zero +/* B35E18 80241248 E7A00030 */ swc1 $f0, 0x30($sp) +/* B35E1C 8024124C A7A00034 */ sh $zero, 0x34($sp) +/* B35E20 80241250 16000005 */ bnez $s0, .L80241268 +/* B35E24 80241254 AFA3002C */ sw $v1, 0x2c($sp) +/* B35E28 80241258 8E2200B0 */ lw $v0, 0xb0($s1) +/* B35E2C 8024125C 30420004 */ andi $v0, $v0, 4 +/* B35E30 80241260 10400044 */ beqz $v0, .L80241374 +/* B35E34 80241264 00000000 */ nop +.L80241268: +/* B35E38 80241268 2404F7FF */ addiu $a0, $zero, -0x801 +/* B35E3C 8024126C AE800070 */ sw $zero, 0x70($s4) +/* B35E40 80241270 A640008E */ sh $zero, 0x8e($s2) +/* B35E44 80241274 8E2200CC */ lw $v0, 0xcc($s1) +/* B35E48 80241278 8E430000 */ lw $v1, ($s2) +/* B35E4C 8024127C 8C420000 */ lw $v0, ($v0) +/* B35E50 80241280 00641824 */ and $v1, $v1, $a0 +/* B35E54 80241284 AE430000 */ sw $v1, ($s2) +/* B35E58 80241288 AE420028 */ sw $v0, 0x28($s2) +/* B35E5C 8024128C 8E2200D0 */ lw $v0, 0xd0($s1) +/* B35E60 80241290 8C420098 */ lw $v0, 0x98($v0) +/* B35E64 80241294 54400005 */ bnel $v0, $zero, .L802412AC +/* B35E68 80241298 2402FDFF */ addiu $v0, $zero, -0x201 +/* B35E6C 8024129C 34620200 */ ori $v0, $v1, 0x200 +/* B35E70 802412A0 2403FFF7 */ addiu $v1, $zero, -9 +/* B35E74 802412A4 080904AD */ j .L802412B4 +/* B35E78 802412A8 00431024 */ and $v0, $v0, $v1 +.L802412AC: +/* B35E7C 802412AC 00621024 */ and $v0, $v1, $v0 +/* B35E80 802412B0 34420008 */ ori $v0, $v0, 8 +.L802412B4: +/* B35E84 802412B4 AE420000 */ sw $v0, ($s2) +/* B35E88 802412B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B35E8C 802412BC 30420004 */ andi $v0, $v0, 4 +/* B35E90 802412C0 10400008 */ beqz $v0, .L802412E4 +/* B35E94 802412C4 24020063 */ addiu $v0, $zero, 0x63 +/* B35E98 802412C8 AE820070 */ sw $v0, 0x70($s4) +/* B35E9C 802412CC AE800074 */ sw $zero, 0x74($s4) +/* B35EA0 802412D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B35EA4 802412D4 2403FFFB */ addiu $v1, $zero, -5 +/* B35EA8 802412D8 00431024 */ and $v0, $v0, $v1 +/* B35EAC 802412DC 080904C4 */ j .L80241310 +/* B35EB0 802412E0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802412E4: +/* B35EB4 802412E4 8E220000 */ lw $v0, ($s1) +/* B35EB8 802412E8 3C034000 */ lui $v1, 0x4000 +/* B35EBC 802412EC 00431024 */ and $v0, $v0, $v1 +/* B35EC0 802412F0 10400007 */ beqz $v0, .L80241310 +/* B35EC4 802412F4 3C03BFFF */ lui $v1, 0xbfff +/* B35EC8 802412F8 2402000C */ addiu $v0, $zero, 0xc +/* B35ECC 802412FC AE820070 */ sw $v0, 0x70($s4) +/* B35ED0 80241300 8E220000 */ lw $v0, ($s1) +/* B35ED4 80241304 3463FFFF */ ori $v1, $v1, 0xffff +/* B35ED8 80241308 00431024 */ and $v0, $v0, $v1 +/* B35EDC 8024130C AE220000 */ sw $v0, ($s1) +.L80241310: +/* B35EE0 80241310 27A50038 */ addiu $a1, $sp, 0x38 +/* B35EE4 80241314 27A6003C */ addiu $a2, $sp, 0x3c +/* B35EE8 80241318 C6400038 */ lwc1 $f0, 0x38($s2) +/* B35EEC 8024131C 864200A8 */ lh $v0, 0xa8($s2) +/* B35EF0 80241320 3C0142C8 */ lui $at, 0x42c8 +/* B35EF4 80241324 44812000 */ mtc1 $at, $f4 +/* B35EF8 80241328 44823000 */ mtc1 $v0, $f6 +/* B35EFC 8024132C 00000000 */ nop +/* B35F00 80241330 468031A0 */ cvt.s.w $f6, $f6 +/* B35F04 80241334 27A20044 */ addiu $v0, $sp, 0x44 +/* B35F08 80241338 E7A00038 */ swc1 $f0, 0x38($sp) +/* B35F0C 8024133C C640003C */ lwc1 $f0, 0x3c($s2) +/* B35F10 80241340 C6420040 */ lwc1 $f2, 0x40($s2) +/* B35F14 80241344 46060000 */ add.s $f0, $f0, $f6 +/* B35F18 80241348 E7A40044 */ swc1 $f4, 0x44($sp) +/* B35F1C 8024134C E7A20040 */ swc1 $f2, 0x40($sp) +/* B35F20 80241350 E7A0003C */ swc1 $f0, 0x3c($sp) +/* B35F24 80241354 AFA20010 */ sw $v0, 0x10($sp) +/* B35F28 80241358 8E440080 */ lw $a0, 0x80($s2) +/* B35F2C 8024135C 0C0372DF */ jal func_800DCB7C +/* B35F30 80241360 27A70040 */ addiu $a3, $sp, 0x40 +/* B35F34 80241364 10400003 */ beqz $v0, .L80241374 +/* B35F38 80241368 00000000 */ nop +/* B35F3C 8024136C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* B35F40 80241370 E640003C */ swc1 $f0, 0x3c($s2) +.L80241374: +/* B35F44 80241374 8E830070 */ lw $v1, 0x70($s4) +/* B35F48 80241378 2C620064 */ sltiu $v0, $v1, 0x64 +/* B35F4C 8024137C 10400042 */ beqz $v0, .L80241488 +/* B35F50 80241380 00031080 */ sll $v0, $v1, 2 +/* B35F54 80241384 3C018025 */ lui $at, 0x8025 +/* B35F58 80241388 00220821 */ addu $at, $at, $v0 +/* B35F5C 8024138C 8C22FA00 */ lw $v0, -0x600($at) +/* B35F60 80241390 00400008 */ jr $v0 +/* B35F64 80241394 00000000 */ nop +/* B35F68 80241398 0280202D */ daddu $a0, $s4, $zero +/* B35F6C 8024139C 0260282D */ daddu $a1, $s3, $zero +/* B35F70 802413A0 0C090188 */ jal func_80240620 +/* B35F74 802413A4 02A0302D */ daddu $a2, $s5, $zero +/* B35F78 802413A8 0280202D */ daddu $a0, $s4, $zero +/* B35F7C 802413AC 0260282D */ daddu $a1, $s3, $zero +/* B35F80 802413B0 0C0901DE */ jal func_80240778 +/* B35F84 802413B4 02A0302D */ daddu $a2, $s5, $zero +/* B35F88 802413B8 08090522 */ j .L80241488 +/* B35F8C 802413BC 00000000 */ nop +/* B35F90 802413C0 0280202D */ daddu $a0, $s4, $zero +/* B35F94 802413C4 0260282D */ daddu $a1, $s3, $zero +/* B35F98 802413C8 0C090288 */ jal func_80240A20 +/* B35F9C 802413CC 02A0302D */ daddu $a2, $s5, $zero +/* B35FA0 802413D0 0280202D */ daddu $a0, $s4, $zero +/* B35FA4 802413D4 0260282D */ daddu $a1, $s3, $zero +/* B35FA8 802413D8 0C0902B8 */ jal func_80240AE0 +/* B35FAC 802413DC 02A0302D */ daddu $a2, $s5, $zero +/* B35FB0 802413E0 08090522 */ j .L80241488 +/* B35FB4 802413E4 00000000 */ nop +/* B35FB8 802413E8 0280202D */ daddu $a0, $s4, $zero +/* B35FBC 802413EC 0260282D */ daddu $a1, $s3, $zero +/* B35FC0 802413F0 0C090327 */ jal func_80240C9C +/* B35FC4 802413F4 02A0302D */ daddu $a2, $s5, $zero +/* B35FC8 802413F8 08090522 */ j .L80241488 +/* B35FCC 802413FC 00000000 */ nop +/* B35FD0 80241400 0280202D */ daddu $a0, $s4, $zero +/* B35FD4 80241404 0260282D */ daddu $a1, $s3, $zero +/* B35FD8 80241408 0C090354 */ jal func_80240D50 +/* B35FDC 8024140C 02A0302D */ daddu $a2, $s5, $zero +/* B35FE0 80241410 0280202D */ daddu $a0, $s4, $zero +/* B35FE4 80241414 0260282D */ daddu $a1, $s3, $zero +/* B35FE8 80241418 0C090371 */ jal func_80240DC4 +/* B35FEC 8024141C 02A0302D */ daddu $a2, $s5, $zero +/* B35FF0 80241420 08090522 */ j .L80241488 +/* B35FF4 80241424 00000000 */ nop +/* B35FF8 80241428 0280202D */ daddu $a0, $s4, $zero +/* B35FFC 8024142C 0260282D */ daddu $a1, $s3, $zero +/* B36000 80241430 0C09038F */ jal func_80240E3C +/* B36004 80241434 02A0302D */ daddu $a2, $s5, $zero +/* B36008 80241438 0280202D */ daddu $a0, $s4, $zero +/* B3600C 8024143C 0260282D */ daddu $a1, $s3, $zero +/* B36010 80241440 0C0903DB */ jal func_80240F6C +/* B36014 80241444 02A0302D */ daddu $a2, $s5, $zero +/* B36018 80241448 08090522 */ j .L80241488 +/* B3601C 8024144C 00000000 */ nop +/* B36020 80241450 0280202D */ daddu $a0, $s4, $zero +/* B36024 80241454 0260282D */ daddu $a1, $s3, $zero +/* B36028 80241458 0C090423 */ jal func_8024108C +/* B3602C 8024145C 02A0302D */ daddu $a2, $s5, $zero +/* B36030 80241460 08090522 */ j .L80241488 +/* B36034 80241464 00000000 */ nop +/* B36038 80241468 0280202D */ daddu $a0, $s4, $zero +/* B3603C 8024146C 0260282D */ daddu $a1, $s3, $zero +/* B36040 80241470 0C09043D */ jal func_802410F4 +/* B36044 80241474 02A0302D */ daddu $a2, $s5, $zero +/* B36048 80241478 08090522 */ j .L80241488 +/* B3604C 8024147C 00000000 */ nop +/* B36050 80241480 0C0129CF */ jal func_8004A73C +/* B36054 80241484 0280202D */ daddu $a0, $s4, $zero +.L80241488: +/* B36058 80241488 8FBF0060 */ lw $ra, 0x60($sp) +/* B3605C 8024148C 8FB5005C */ lw $s5, 0x5c($sp) +/* B36060 80241490 8FB40058 */ lw $s4, 0x58($sp) +/* B36064 80241494 8FB30054 */ lw $s3, 0x54($sp) +/* B36068 80241498 8FB20050 */ lw $s2, 0x50($sp) +/* B3606C 8024149C 8FB1004C */ lw $s1, 0x4c($sp) +/* B36070 802414A0 8FB00048 */ lw $s0, 0x48($sp) +/* B36074 802414A4 0000102D */ daddu $v0, $zero, $zero +/* B36078 802414A8 03E00008 */ jr $ra +/* B3607C 802414AC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802414B0_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802414B0_B34BD0.s new file mode 100644 index 0000000000..5c822db0c3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802414B0_B34BD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414B0_B36080 +/* B36080 802414B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36084 802414B4 AFBF0010 */ sw $ra, 0x10($sp) +/* B36088 802414B8 0C03A625 */ jal func_800E9894 +/* B3608C 802414BC 00000000 */ nop +/* B36090 802414C0 8FBF0010 */ lw $ra, 0x10($sp) +/* B36094 802414C4 24020002 */ addiu $v0, $zero, 2 +/* B36098 802414C8 03E00008 */ jr $ra +/* B3609C 802414CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802414D0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802414D0.s new file mode 100644 index 0000000000..7b74b4b353 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802414D0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414D0 +/* B360A0 802414D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B360A4 802414D4 AFBF0010 */ sw $ra, 0x10($sp) +/* B360A8 802414D8 0C03A631 */ jal func_800E98C4 +/* B360AC 802414DC 00000000 */ nop +/* B360B0 802414E0 0C03A6DB */ jal sync_status_menu +/* B360B4 802414E4 00000000 */ nop +/* B360B8 802414E8 8FBF0010 */ lw $ra, 0x10($sp) +/* B360BC 802414EC 24020002 */ addiu $v0, $zero, 2 +/* B360C0 802414F0 03E00008 */ jr $ra +/* B360C4 802414F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802414F8_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802414F8_B34BD0.s new file mode 100644 index 0000000000..355bd3c89e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802414F8_B34BD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F8_B360C8 +/* B360C8 802414F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B360CC 802414FC AFB10014 */ sw $s1, 0x14($sp) +/* B360D0 80241500 0080882D */ daddu $s1, $a0, $zero +/* B360D4 80241504 AFBF0018 */ sw $ra, 0x18($sp) +/* B360D8 80241508 AFB00010 */ sw $s0, 0x10($sp) +/* B360DC 8024150C 8E30000C */ lw $s0, 0xc($s1) +/* B360E0 80241510 8E050000 */ lw $a1, ($s0) +/* B360E4 80241514 0C0B1EAF */ jal get_variable +/* B360E8 80241518 26100004 */ addiu $s0, $s0, 4 +/* B360EC 8024151C 0220202D */ daddu $a0, $s1, $zero +/* B360F0 80241520 8E050000 */ lw $a1, ($s0) +/* B360F4 80241524 0C0B1EAF */ jal get_variable +/* B360F8 80241528 0040882D */ daddu $s1, $v0, $zero +/* B360FC 8024152C 0000202D */ daddu $a0, $zero, $zero +/* B36100 80241530 0080282D */ daddu $a1, $a0, $zero +/* B36104 80241534 0040802D */ daddu $s0, $v0, $zero +/* B36108 80241538 240600BE */ addiu $a2, $zero, 0xbe +/* B3610C 8024153C 0C04DF93 */ jal func_80137E4C +/* B36110 80241540 24070091 */ addiu $a3, $zero, 0x91 +/* B36114 80241544 44900000 */ mtc1 $s0, $f0 +/* B36118 80241548 00000000 */ nop +/* B3611C 8024154C 46800020 */ cvt.s.w $f0, $f0 +/* B36120 80241550 44050000 */ mfc1 $a1, $f0 +/* B36124 80241554 0C04DF62 */ jal func_80137D88 +/* B36128 80241558 322400FF */ andi $a0, $s1, 0xff +/* B3612C 8024155C 8FBF0018 */ lw $ra, 0x18($sp) +/* B36130 80241560 8FB10014 */ lw $s1, 0x14($sp) +/* B36134 80241564 8FB00010 */ lw $s0, 0x10($sp) +/* B36138 80241568 24020002 */ addiu $v0, $zero, 2 +/* B3613C 8024156C 03E00008 */ jr $ra +/* B36140 80241570 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241574.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241574.s new file mode 100644 index 0000000000..c8d1313a22 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241574.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241574 +/* B36144 80241574 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36148 80241578 AFB10014 */ sw $s1, 0x14($sp) +/* B3614C 8024157C 0080882D */ daddu $s1, $a0, $zero +/* B36150 80241580 AFBF0018 */ sw $ra, 0x18($sp) +/* B36154 80241584 AFB00010 */ sw $s0, 0x10($sp) +/* B36158 80241588 8E30000C */ lw $s0, 0xc($s1) +/* B3615C 8024158C 8E050000 */ lw $a1, ($s0) +/* B36160 80241590 0C0B1EAF */ jal get_variable +/* B36164 80241594 26100004 */ addiu $s0, $s0, 4 +/* B36168 80241598 0220202D */ daddu $a0, $s1, $zero +/* B3616C 8024159C 8E050000 */ lw $a1, ($s0) +/* B36170 802415A0 0C0B1EAF */ jal get_variable +/* B36174 802415A4 0040802D */ daddu $s0, $v0, $zero +/* B36178 802415A8 44820000 */ mtc1 $v0, $f0 +/* B3617C 802415AC 00000000 */ nop +/* B36180 802415B0 46800020 */ cvt.s.w $f0, $f0 +/* B36184 802415B4 24020002 */ addiu $v0, $zero, 2 +/* B36188 802415B8 00501804 */ sllv $v1, $s0, $v0 +/* B3618C 802415BC 00701821 */ addu $v1, $v1, $s0 +/* B36190 802415C0 00431804 */ sllv $v1, $v1, $v0 +/* B36194 802415C4 00701823 */ subu $v1, $v1, $s0 +/* B36198 802415C8 000320C0 */ sll $a0, $v1, 3 +/* B3619C 802415CC 00641821 */ addu $v1, $v1, $a0 +/* B361A0 802415D0 000318C0 */ sll $v1, $v1, 3 +/* B361A4 802415D4 3C01800B */ lui $at, 0x800b +/* B361A8 802415D8 00230821 */ addu $at, $at, $v1 +/* B361AC 802415DC E4201D98 */ swc1 $f0, 0x1d98($at) +/* B361B0 802415E0 8FBF0018 */ lw $ra, 0x18($sp) +/* B361B4 802415E4 8FB10014 */ lw $s1, 0x14($sp) +/* B361B8 802415E8 8FB00010 */ lw $s0, 0x10($sp) +/* B361BC 802415EC 03E00008 */ jr $ra +/* B361C0 802415F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802415F4.s b/asm/nonmatchings/world/area_jan/jan_03/func_802415F4.s new file mode 100644 index 0000000000..dfb1a4fa58 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802415F4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F4 +/* B361C4 802415F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B361C8 802415F8 AFBF0010 */ sw $ra, 0x10($sp) +/* B361CC 802415FC 8C82000C */ lw $v0, 0xc($a0) +/* B361D0 80241600 0C0B1EAF */ jal get_variable +/* B361D4 80241604 8C450000 */ lw $a1, ($v0) +/* B361D8 80241608 0C0B1059 */ jal does_script_exist +/* B361DC 8024160C 0040202D */ daddu $a0, $v0, $zero +/* B361E0 80241610 2C420001 */ sltiu $v0, $v0, 1 +/* B361E4 80241614 8FBF0010 */ lw $ra, 0x10($sp) +/* B361E8 80241618 00021040 */ sll $v0, $v0, 1 +/* B361EC 8024161C 03E00008 */ jr $ra +/* B361F0 80241620 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241624.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241624.s new file mode 100644 index 0000000000..0e7d72ca0f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241624.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241624 +/* B361F4 80241624 3C028011 */ lui $v0, 0x8011 +/* B361F8 80241628 8042F2A2 */ lb $v0, -0xd5e($v0) +/* B361FC 8024162C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36200 80241630 10400003 */ beqz $v0, .L80241640 +/* B36204 80241634 AFBF0010 */ sw $ra, 0x10($sp) +/* B36208 80241638 0C03AE06 */ jal partner_suspend_ability_script +/* B3620C 8024163C 00000000 */ nop +.L80241640: +/* B36210 80241640 24020002 */ addiu $v0, $zero, 2 +/* B36214 80241644 8FBF0010 */ lw $ra, 0x10($sp) +/* B36218 80241648 03E00008 */ jr $ra +/* B3621C 8024164C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241650_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241650_B34BD0.s new file mode 100644 index 0000000000..af5b8f82cd --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241650_B34BD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650_B36220 +/* B36220 80241650 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36224 80241654 AFBF0010 */ sw $ra, 0x10($sp) +/* B36228 80241658 0C03AE18 */ jal partner_resume_ability_script +/* B3622C 8024165C 00000000 */ nop +/* B36230 80241660 8FBF0010 */ lw $ra, 0x10($sp) +/* B36234 80241664 24020002 */ addiu $v0, $zero, 2 +/* B36238 80241668 03E00008 */ jr $ra +/* B3623C 8024166C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241670.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241670.s new file mode 100644 index 0000000000..f6abcf055e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241670.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241670 +/* B36240 80241670 3C058011 */ lui $a1, %hi(gPlayerData) +/* B36244 80241674 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* B36248 80241678 AC800088 */ sw $zero, 0x88($a0) +/* B3624C 8024167C 80A30003 */ lb $v1, 3($a1) +/* B36250 80241680 80A20002 */ lb $v0, 2($a1) +/* B36254 80241684 1462000B */ bne $v1, $v0, .L802416B4 +/* B36258 80241688 00A0302D */ daddu $a2, $a1, $zero +/* B3625C 8024168C 80A30006 */ lb $v1, 6($a1) +/* B36260 80241690 80A20005 */ lb $v0, 5($a1) +/* B36264 80241694 14620007 */ bne $v1, $v0, .L802416B4 +/* B36268 80241698 00000000 */ nop +/* B3626C 8024169C 80C2028E */ lb $v0, 0x28e($a2) +/* B36270 802416A0 84C30290 */ lh $v1, 0x290($a2) +/* B36274 802416A4 00021200 */ sll $v0, $v0, 8 +/* B36278 802416A8 14620004 */ bne $v1, $v0, .L802416BC +/* B3627C 802416AC 24020001 */ addiu $v0, $zero, 1 +/* B36280 802416B0 AC820088 */ sw $v0, 0x88($a0) +.L802416B4: +/* B36284 802416B4 03E00008 */ jr $ra +/* B36288 802416B8 24020002 */ addiu $v0, $zero, 2 +.L802416BC: +/* B3628C 802416BC 03E00008 */ jr $ra +/* B36290 802416C0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802416C4_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802416C4_B34BD0.s new file mode 100644 index 0000000000..3a62ee67f5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802416C4_B34BD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C4_B36294 +/* B36294 802416C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36298 802416C8 AFB10014 */ sw $s1, 0x14($sp) +/* B3629C 802416CC 0080882D */ daddu $s1, $a0, $zero +/* B362A0 802416D0 AFBF001C */ sw $ra, 0x1c($sp) +/* B362A4 802416D4 AFB20018 */ sw $s2, 0x18($sp) +/* B362A8 802416D8 AFB00010 */ sw $s0, 0x10($sp) +/* B362AC 802416DC 8E30000C */ lw $s0, 0xc($s1) +/* B362B0 802416E0 8E050000 */ lw $a1, ($s0) +/* B362B4 802416E4 0C0B1EAF */ jal get_variable +/* B362B8 802416E8 26100004 */ addiu $s0, $s0, 4 +/* B362BC 802416EC 8E050000 */ lw $a1, ($s0) +/* B362C0 802416F0 26100004 */ addiu $s0, $s0, 4 +/* B362C4 802416F4 0220202D */ daddu $a0, $s1, $zero +/* B362C8 802416F8 0C0B1EAF */ jal get_variable +/* B362CC 802416FC 0040902D */ daddu $s2, $v0, $zero +/* B362D0 80241700 0220202D */ daddu $a0, $s1, $zero +/* B362D4 80241704 8E050000 */ lw $a1, ($s0) +/* B362D8 80241708 0C0B1EAF */ jal get_variable +/* B362DC 8024170C 0040802D */ daddu $s0, $v0, $zero +/* B362E0 80241710 0000202D */ daddu $a0, $zero, $zero +/* B362E4 80241714 324500FF */ andi $a1, $s2, 0xff +/* B362E8 80241718 320600FF */ andi $a2, $s0, 0xff +/* B362EC 8024171C 0C04DF84 */ jal func_80137E10 +/* B362F0 80241720 304700FF */ andi $a3, $v0, 0xff +/* B362F4 80241724 8FBF001C */ lw $ra, 0x1c($sp) +/* B362F8 80241728 8FB20018 */ lw $s2, 0x18($sp) +/* B362FC 8024172C 8FB10014 */ lw $s1, 0x14($sp) +/* B36300 80241730 8FB00010 */ lw $s0, 0x10($sp) +/* B36304 80241734 24020002 */ addiu $v0, $zero, 2 +/* B36308 80241738 03E00008 */ jr $ra +/* B3630C 8024173C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241740_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241740_B34BD0.s new file mode 100644 index 0000000000..e6fbcb7c61 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241740_B34BD0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241740_B36310 +/* B36310 80241740 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36314 80241744 AFBF0010 */ sw $ra, 0x10($sp) +/* B36318 80241748 8C82000C */ lw $v0, 0xc($a0) +/* B3631C 8024174C 3C068011 */ lui $a2, 0x8011 +/* B36320 80241750 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* B36324 80241754 0C0B2026 */ jal set_variable +/* B36328 80241758 8C450000 */ lw $a1, ($v0) +/* B3632C 8024175C 0C03AC5A */ jal func_800EB168 +/* B36330 80241760 0000202D */ daddu $a0, $zero, $zero +/* B36334 80241764 8FBF0010 */ lw $ra, 0x10($sp) +/* B36338 80241768 24020002 */ addiu $v0, $zero, 2 +/* B3633C 8024176C 03E00008 */ jr $ra +/* B36340 80241770 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241774_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241774_B34BD0.s new file mode 100644 index 0000000000..cf4e2e0fa6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241774_B34BD0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241774_B36344 +/* B36344 80241774 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36348 80241778 AFBF0010 */ sw $ra, 0x10($sp) +/* B3634C 8024177C 8C82000C */ lw $v0, 0xc($a0) +/* B36350 80241780 0C0B1EAF */ jal get_variable +/* B36354 80241784 8C450000 */ lw $a1, ($v0) +/* B36358 80241788 00021600 */ sll $v0, $v0, 0x18 +/* B3635C 8024178C 0C03AC5A */ jal func_800EB168 +/* B36360 80241790 00022603 */ sra $a0, $v0, 0x18 +/* B36364 80241794 8FBF0010 */ lw $ra, 0x10($sp) +/* B36368 80241798 24020002 */ addiu $v0, $zero, 2 +/* B3636C 8024179C 03E00008 */ jr $ra +/* B36370 802417A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802417A4_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802417A4_B34BD0.s new file mode 100644 index 0000000000..34e096fc88 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802417A4_B34BD0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A4_B36374 +/* B36374 802417A4 03E00008 */ jr $ra +/* B36378 802417A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802417AC_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802417AC_B34BD0.s new file mode 100644 index 0000000000..3a416b595e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802417AC_B34BD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417AC_B3637C +/* B3637C 802417AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36380 802417B0 AFB10014 */ sw $s1, 0x14($sp) +/* B36384 802417B4 0080882D */ daddu $s1, $a0, $zero +/* B36388 802417B8 AFBF0018 */ sw $ra, 0x18($sp) +/* B3638C 802417BC AFB00010 */ sw $s0, 0x10($sp) +/* B36390 802417C0 8E30000C */ lw $s0, 0xc($s1) +/* B36394 802417C4 8E050000 */ lw $a1, ($s0) +/* B36398 802417C8 0C0B1EAF */ jal get_variable +/* B3639C 802417CC 26100004 */ addiu $s0, $s0, 4 +/* B363A0 802417D0 0C00EAD2 */ jal get_npc_safe +/* B363A4 802417D4 0040202D */ daddu $a0, $v0, $zero +/* B363A8 802417D8 10400005 */ beqz $v0, .L802417F0 +/* B363AC 802417DC 00000000 */ nop +/* B363B0 802417E0 8E050000 */ lw $a1, ($s0) +/* B363B4 802417E4 844600A8 */ lh $a2, 0xa8($v0) +/* B363B8 802417E8 0C0B2026 */ jal set_variable +/* B363BC 802417EC 0220202D */ daddu $a0, $s1, $zero +.L802417F0: +/* B363C0 802417F0 8FBF0018 */ lw $ra, 0x18($sp) +/* B363C4 802417F4 8FB10014 */ lw $s1, 0x14($sp) +/* B363C8 802417F8 8FB00010 */ lw $s0, 0x10($sp) +/* B363CC 802417FC 24020002 */ addiu $v0, $zero, 2 +/* B363D0 80241800 03E00008 */ jr $ra +/* B363D4 80241804 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241808.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241808.s new file mode 100644 index 0000000000..a411f3df2b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241808.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241808 +/* B363D8 80241808 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B363DC 8024180C AFB10014 */ sw $s1, 0x14($sp) +/* B363E0 80241810 0080882D */ daddu $s1, $a0, $zero +/* B363E4 80241814 AFBF0024 */ sw $ra, 0x24($sp) +/* B363E8 80241818 AFB40020 */ sw $s4, 0x20($sp) +/* B363EC 8024181C AFB3001C */ sw $s3, 0x1c($sp) +/* B363F0 80241820 AFB20018 */ sw $s2, 0x18($sp) +/* B363F4 80241824 AFB00010 */ sw $s0, 0x10($sp) +/* B363F8 80241828 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* B363FC 8024182C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B36400 80241830 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B36404 80241834 F7B60030 */ sdc1 $f22, 0x30($sp) +/* B36408 80241838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B3640C 8024183C 8E30000C */ lw $s0, 0xc($s1) +/* B36410 80241840 8E130000 */ lw $s3, ($s0) +/* B36414 80241844 26100004 */ addiu $s0, $s0, 4 +/* B36418 80241848 0C0B1EAF */ jal get_variable +/* B3641C 8024184C 0260282D */ daddu $a1, $s3, $zero +/* B36420 80241850 4482E000 */ mtc1 $v0, $f28 +/* B36424 80241854 00000000 */ nop +/* B36428 80241858 4680E720 */ cvt.s.w $f28, $f28 +/* B3642C 8024185C 8E140000 */ lw $s4, ($s0) +/* B36430 80241860 26100004 */ addiu $s0, $s0, 4 +/* B36434 80241864 0220202D */ daddu $a0, $s1, $zero +/* B36438 80241868 0C0B1EAF */ jal get_variable +/* B3643C 8024186C 0280282D */ daddu $a1, $s4, $zero +/* B36440 80241870 4482D000 */ mtc1 $v0, $f26 +/* B36444 80241874 00000000 */ nop +/* B36448 80241878 4680D6A0 */ cvt.s.w $f26, $f26 +/* B3644C 8024187C 8E100000 */ lw $s0, ($s0) +/* B36450 80241880 0220202D */ daddu $a0, $s1, $zero +/* B36454 80241884 0C0B1EAF */ jal get_variable +/* B36458 80241888 0200282D */ daddu $a1, $s0, $zero +/* B3645C 8024188C 4482C000 */ mtc1 $v0, $f24 +/* B36460 80241890 00000000 */ nop +/* B36464 80241894 4680C620 */ cvt.s.w $f24, $f24 +/* B36468 80241898 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B3646C 8024189C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B36470 802418A0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B36474 802418A4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B36478 802418A8 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* B3647C 802418AC 44800000 */ mtc1 $zero, $f0 +/* B36480 802418B0 00031080 */ sll $v0, $v1, 2 +/* B36484 802418B4 00431021 */ addu $v0, $v0, $v1 +/* B36488 802418B8 00021080 */ sll $v0, $v0, 2 +/* B3648C 802418BC 00431023 */ subu $v0, $v0, $v1 +/* B36490 802418C0 000218C0 */ sll $v1, $v0, 3 +/* B36494 802418C4 00431021 */ addu $v0, $v0, $v1 +/* B36498 802418C8 000210C0 */ sll $v0, $v0, 3 +/* B3649C 802418CC 46001032 */ c.eq.s $f2, $f0 +/* B364A0 802418D0 3C01800B */ lui $at, 0x800b +/* B364A4 802418D4 00220821 */ addu $at, $at, $v0 +/* B364A8 802418D8 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B364AC 802418DC 45000005 */ bc1f .L802418F4 +/* B364B0 802418E0 00000000 */ nop +/* B364B4 802418E4 3C0142C8 */ lui $at, 0x42c8 +/* B364B8 802418E8 44810000 */ mtc1 $at, $f0 +/* B364BC 802418EC 08090641 */ j .L80241904 +/* B364C0 802418F0 4600B581 */ sub.s $f22, $f22, $f0 +.L802418F4: +/* B364C4 802418F4 3C0142C8 */ lui $at, 0x42c8 +/* B364C8 802418F8 44810000 */ mtc1 $at, $f0 +/* B364CC 802418FC 00000000 */ nop +/* B364D0 80241900 4600B580 */ add.s $f22, $f22, $f0 +.L80241904: +/* B364D4 80241904 0C00A6C9 */ jal clamp_angle +/* B364D8 80241908 4600B306 */ mov.s $f12, $f22 +/* B364DC 8024190C 46000586 */ mov.s $f22, $f0 +/* B364E0 80241910 3C014170 */ lui $at, 0x4170 +/* B364E4 80241914 4481A000 */ mtc1 $at, $f20 +/* B364E8 80241918 0C00A8BB */ jal sin_deg +/* B364EC 8024191C 4600B306 */ mov.s $f12, $f22 +/* B364F0 80241920 46140002 */ mul.s $f0, $f0, $f20 +/* B364F4 80241924 00000000 */ nop +/* B364F8 80241928 864200B0 */ lh $v0, 0xb0($s2) +/* B364FC 8024192C 3C013F00 */ lui $at, 0x3f00 +/* B36500 80241930 44812000 */ mtc1 $at, $f4 +/* B36504 80241934 44821000 */ mtc1 $v0, $f2 +/* B36508 80241938 00000000 */ nop +/* B3650C 8024193C 468010A0 */ cvt.s.w $f2, $f2 +/* B36510 80241940 46041082 */ mul.s $f2, $f2, $f4 +/* B36514 80241944 00000000 */ nop +/* B36518 80241948 4600E700 */ add.s $f28, $f28, $f0 +/* B3651C 8024194C 4602D680 */ add.s $f26, $f26, $f2 +/* B36520 80241950 0C00A8D4 */ jal cos_deg +/* B36524 80241954 4600B306 */ mov.s $f12, $f22 +/* B36528 80241958 46140002 */ mul.s $f0, $f0, $f20 +/* B3652C 8024195C 00000000 */ nop +/* B36530 80241960 0220202D */ daddu $a0, $s1, $zero +/* B36534 80241964 0260282D */ daddu $a1, $s3, $zero +/* B36538 80241968 4600E18D */ trunc.w.s $f6, $f28 +/* B3653C 8024196C 44063000 */ mfc1 $a2, $f6 +/* B36540 80241970 0C0B2026 */ jal set_variable +/* B36544 80241974 4600C601 */ sub.s $f24, $f24, $f0 +/* B36548 80241978 0220202D */ daddu $a0, $s1, $zero +/* B3654C 8024197C 4600D18D */ trunc.w.s $f6, $f26 +/* B36550 80241980 44063000 */ mfc1 $a2, $f6 +/* B36554 80241984 0C0B2026 */ jal set_variable +/* B36558 80241988 0280282D */ daddu $a1, $s4, $zero +/* B3655C 8024198C 0220202D */ daddu $a0, $s1, $zero +/* B36560 80241990 4600C18D */ trunc.w.s $f6, $f24 +/* B36564 80241994 44063000 */ mfc1 $a2, $f6 +/* B36568 80241998 0C0B2026 */ jal set_variable +/* B3656C 8024199C 0200282D */ daddu $a1, $s0, $zero +/* B36570 802419A0 8FBF0024 */ lw $ra, 0x24($sp) +/* B36574 802419A4 8FB40020 */ lw $s4, 0x20($sp) +/* B36578 802419A8 8FB3001C */ lw $s3, 0x1c($sp) +/* B3657C 802419AC 8FB20018 */ lw $s2, 0x18($sp) +/* B36580 802419B0 8FB10014 */ lw $s1, 0x14($sp) +/* B36584 802419B4 8FB00010 */ lw $s0, 0x10($sp) +/* B36588 802419B8 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* B3658C 802419BC D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B36590 802419C0 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B36594 802419C4 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B36598 802419C8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B3659C 802419CC 24020002 */ addiu $v0, $zero, 2 +/* B365A0 802419D0 03E00008 */ jr $ra +/* B365A4 802419D4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802419D8.s b/asm/nonmatchings/world/area_jan/jan_03/func_802419D8.s new file mode 100644 index 0000000000..09a46eda32 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802419D8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D8 +/* B365A8 802419D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B365AC 802419DC AFBF0010 */ sw $ra, 0x10($sp) +/* B365B0 802419E0 10A00003 */ beqz $a1, .L802419F0 +/* B365B4 802419E4 8C86000C */ lw $a2, 0xc($a0) +/* B365B8 802419E8 3C018024 */ lui $at, 0x8024 +/* B365BC 802419EC AC207444 */ sw $zero, 0x7444($at) +.L802419F0: +/* B365C0 802419F0 3C038024 */ lui $v1, 0x8024 +/* B365C4 802419F4 24637444 */ addiu $v1, $v1, 0x7444 +/* B365C8 802419F8 8C620000 */ lw $v0, ($v1) +/* B365CC 802419FC 54400003 */ bnel $v0, $zero, .L80241A0C +/* B365D0 80241A00 AC600000 */ sw $zero, ($v1) +/* B365D4 80241A04 08090688 */ j .L80241A20 +/* B365D8 80241A08 0000102D */ daddu $v0, $zero, $zero +.L80241A0C: +/* B365DC 80241A0C 8CC50000 */ lw $a1, ($a2) +/* B365E0 80241A10 3C068024 */ lui $a2, 0x8024 +/* B365E4 80241A14 0C0B2026 */ jal set_variable +/* B365E8 80241A18 8CC67448 */ lw $a2, 0x7448($a2) +/* B365EC 80241A1C 24020002 */ addiu $v0, $zero, 2 +.L80241A20: +/* B365F0 80241A20 8FBF0010 */ lw $ra, 0x10($sp) +/* B365F4 80241A24 03E00008 */ jr $ra +/* B365F8 80241A28 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241A2C.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241A2C.s new file mode 100644 index 0000000000..ac473d4c72 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241A2C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A2C +/* B365FC 80241A2C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36600 80241A30 AFBF0010 */ sw $ra, 0x10($sp) +/* B36604 80241A34 8C82000C */ lw $v0, 0xc($a0) +/* B36608 80241A38 0C0B1EAF */ jal get_variable +/* B3660C 80241A3C 8C450000 */ lw $a1, ($v0) +/* B36610 80241A40 3C018024 */ lui $at, 0x8024 +/* B36614 80241A44 AC227448 */ sw $v0, 0x7448($at) +/* B36618 80241A48 24020002 */ addiu $v0, $zero, 2 +/* B3661C 80241A4C 8FBF0010 */ lw $ra, 0x10($sp) +/* B36620 80241A50 24030001 */ addiu $v1, $zero, 1 +/* B36624 80241A54 3C018024 */ lui $at, 0x8024 +/* B36628 80241A58 AC237444 */ sw $v1, 0x7444($at) +/* B3662C 80241A5C 03E00008 */ jr $ra +/* B36630 80241A60 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241A64_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241A64_B34BD0.s new file mode 100644 index 0000000000..aa1f594872 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241A64_B34BD0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A64_B36634 +/* B36634 80241A64 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36638 80241A68 AFBF0010 */ sw $ra, 0x10($sp) +/* B3663C 80241A6C 8C82000C */ lw $v0, 0xc($a0) +/* B36640 80241A70 0C0B1EAF */ jal get_variable +/* B36644 80241A74 8C450000 */ lw $a1, ($v0) +/* B36648 80241A78 0040182D */ daddu $v1, $v0, $zero +/* B3664C 80241A7C 10600012 */ beqz $v1, .L80241AC8 +/* B36650 80241A80 0000202D */ daddu $a0, $zero, $zero +/* B36654 80241A84 8C620000 */ lw $v0, ($v1) +/* B36658 80241A88 5040000A */ beql $v0, $zero, .L80241AB4 +/* B3665C 80241A8C 00041080 */ sll $v0, $a0, 2 +/* B36660 80241A90 3C058025 */ lui $a1, 0x8025 +/* B36664 80241A94 24A5FBA0 */ addiu $a1, $a1, -0x460 +.L80241A98: +/* B36668 80241A98 24630004 */ addiu $v1, $v1, 4 +/* B3666C 80241A9C 24840001 */ addiu $a0, $a0, 1 +/* B36670 80241AA0 ACA20000 */ sw $v0, ($a1) +/* B36674 80241AA4 8C620000 */ lw $v0, ($v1) +/* B36678 80241AA8 1440FFFB */ bnez $v0, .L80241A98 +/* B3667C 80241AAC 24A50004 */ addiu $a1, $a1, 4 +/* B36680 80241AB0 00041080 */ sll $v0, $a0, 2 +.L80241AB4: +/* B36684 80241AB4 3C018025 */ lui $at, 0x8025 +/* B36688 80241AB8 00220821 */ addu $at, $at, $v0 +/* B3668C 80241ABC AC20FBA0 */ sw $zero, -0x460($at) +/* B36690 80241AC0 080906BC */ j .L80241AF0 +/* B36694 80241AC4 00000000 */ nop +.L80241AC8: +/* B36698 80241AC8 3C038025 */ lui $v1, 0x8025 +/* B3669C 80241ACC 2463FBA0 */ addiu $v1, $v1, -0x460 +/* B366A0 80241AD0 0060282D */ daddu $a1, $v1, $zero +.L80241AD4: +/* B366A4 80241AD4 24820010 */ addiu $v0, $a0, 0x10 +/* B366A8 80241AD8 AC620000 */ sw $v0, ($v1) +/* B366AC 80241ADC 24630004 */ addiu $v1, $v1, 4 +/* B366B0 80241AE0 24840001 */ addiu $a0, $a0, 1 +/* B366B4 80241AE4 28820070 */ slti $v0, $a0, 0x70 +/* B366B8 80241AE8 1440FFFA */ bnez $v0, .L80241AD4 +/* B366BC 80241AEC ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241AF0: +/* B366C0 80241AF0 8FBF0010 */ lw $ra, 0x10($sp) +/* B366C4 80241AF4 24020002 */ addiu $v0, $zero, 2 +/* B366C8 80241AF8 03E00008 */ jr $ra +/* B366CC 80241AFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241B00.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241B00.s new file mode 100644 index 0000000000..044550dca0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241B00.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B00 +/* B366D0 80241B00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B366D4 80241B04 AFBF0010 */ sw $ra, 0x10($sp) +/* B366D8 80241B08 8C82000C */ lw $v0, 0xc($a0) +/* B366DC 80241B0C 0C0B1EAF */ jal get_variable +/* B366E0 80241B10 8C450000 */ lw $a1, ($v0) +/* B366E4 80241B14 0040182D */ daddu $v1, $v0, $zero +/* B366E8 80241B18 10600012 */ beqz $v1, .L80241B64 +/* B366EC 80241B1C 0000202D */ daddu $a0, $zero, $zero +/* B366F0 80241B20 8C620000 */ lw $v0, ($v1) +/* B366F4 80241B24 5040000A */ beql $v0, $zero, .L80241B50 +/* B366F8 80241B28 00041080 */ sll $v0, $a0, 2 +/* B366FC 80241B2C 3C058025 */ lui $a1, 0x8025 +/* B36700 80241B30 24A5FD68 */ addiu $a1, $a1, -0x298 +.L80241B34: +/* B36704 80241B34 24630004 */ addiu $v1, $v1, 4 +/* B36708 80241B38 24840001 */ addiu $a0, $a0, 1 +/* B3670C 80241B3C ACA20000 */ sw $v0, ($a1) +/* B36710 80241B40 8C620000 */ lw $v0, ($v1) +/* B36714 80241B44 1440FFFB */ bnez $v0, .L80241B34 +/* B36718 80241B48 24A50004 */ addiu $a1, $a1, 4 +/* B3671C 80241B4C 00041080 */ sll $v0, $a0, 2 +.L80241B50: +/* B36720 80241B50 3C018025 */ lui $at, 0x8025 +/* B36724 80241B54 00220821 */ addu $at, $at, $v0 +/* B36728 80241B58 AC20FD68 */ sw $zero, -0x298($at) +/* B3672C 80241B5C 080906E3 */ j .L80241B8C +/* B36730 80241B60 00000000 */ nop +.L80241B64: +/* B36734 80241B64 3C038025 */ lui $v1, 0x8025 +/* B36738 80241B68 2463FD68 */ addiu $v1, $v1, -0x298 +/* B3673C 80241B6C 0060282D */ daddu $a1, $v1, $zero +.L80241B70: +/* B36740 80241B70 24820080 */ addiu $v0, $a0, 0x80 +/* B36744 80241B74 AC620000 */ sw $v0, ($v1) +/* B36748 80241B78 24630004 */ addiu $v1, $v1, 4 +/* B3674C 80241B7C 24840001 */ addiu $a0, $a0, 1 +/* B36750 80241B80 2882005B */ slti $v0, $a0, 0x5b +/* B36754 80241B84 1440FFFA */ bnez $v0, .L80241B70 +/* B36758 80241B88 ACA0016C */ sw $zero, 0x16c($a1) +.L80241B8C: +/* B3675C 80241B8C 8FBF0010 */ lw $ra, 0x10($sp) +/* B36760 80241B90 24020002 */ addiu $v0, $zero, 2 +/* B36764 80241B94 03E00008 */ jr $ra +/* B36768 80241B98 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241B9C.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241B9C.s new file mode 100644 index 0000000000..68978dd701 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241B9C.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B9C +/* B3676C 80241B9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36770 80241BA0 AFB00010 */ sw $s0, 0x10($sp) +/* B36774 80241BA4 3C108024 */ lui $s0, 0x8024 +/* B36778 80241BA8 26107764 */ addiu $s0, $s0, 0x7764 +/* B3677C 80241BAC AFBF0018 */ sw $ra, 0x18($sp) +/* B36780 80241BB0 AFB10014 */ sw $s1, 0x14($sp) +/* B36784 80241BB4 8E020000 */ lw $v0, ($s0) +/* B36788 80241BB8 14400010 */ bnez $v0, .L80241BFC +/* B3678C 80241BBC 0080882D */ daddu $s1, $a0, $zero +/* B36790 80241BC0 0C00AB39 */ jal heap_malloc +/* B36794 80241BC4 24040040 */ addiu $a0, $zero, 0x40 +/* B36798 80241BC8 AE020000 */ sw $v0, ($s0) +/* B3679C 80241BCC 0000182D */ daddu $v1, $zero, $zero +/* B367A0 80241BD0 0040282D */ daddu $a1, $v0, $zero +/* B367A4 80241BD4 0220202D */ daddu $a0, $s1, $zero +.L80241BD8: +/* B367A8 80241BD8 8C820084 */ lw $v0, 0x84($a0) +/* B367AC 80241BDC 24840004 */ addiu $a0, $a0, 4 +/* B367B0 80241BE0 24630001 */ addiu $v1, $v1, 1 +/* B367B4 80241BE4 ACA20000 */ sw $v0, ($a1) +/* B367B8 80241BE8 28620010 */ slti $v0, $v1, 0x10 +/* B367BC 80241BEC 1440FFFA */ bnez $v0, .L80241BD8 +/* B367C0 80241BF0 24A50004 */ addiu $a1, $a1, 4 +/* B367C4 80241BF4 0809070E */ j .L80241C38 +/* B367C8 80241BF8 00000000 */ nop +.L80241BFC: +/* B367CC 80241BFC 0000182D */ daddu $v1, $zero, $zero +/* B367D0 80241C00 0040282D */ daddu $a1, $v0, $zero +/* B367D4 80241C04 0220202D */ daddu $a0, $s1, $zero +.L80241C08: +/* B367D8 80241C08 8CA20000 */ lw $v0, ($a1) +/* B367DC 80241C0C 24A50004 */ addiu $a1, $a1, 4 +/* B367E0 80241C10 24630001 */ addiu $v1, $v1, 1 +/* B367E4 80241C14 AC820084 */ sw $v0, 0x84($a0) +/* B367E8 80241C18 28620010 */ slti $v0, $v1, 0x10 +/* B367EC 80241C1C 1440FFFA */ bnez $v0, .L80241C08 +/* B367F0 80241C20 24840004 */ addiu $a0, $a0, 4 +/* B367F4 80241C24 3C108024 */ lui $s0, 0x8024 +/* B367F8 80241C28 26107764 */ addiu $s0, $s0, 0x7764 +/* B367FC 80241C2C 0C00AB4B */ jal heap_free +/* B36800 80241C30 8E040000 */ lw $a0, ($s0) +/* B36804 80241C34 AE000000 */ sw $zero, ($s0) +.L80241C38: +/* B36808 80241C38 8FBF0018 */ lw $ra, 0x18($sp) +/* B3680C 80241C3C 8FB10014 */ lw $s1, 0x14($sp) +/* B36810 80241C40 8FB00010 */ lw $s0, 0x10($sp) +/* B36814 80241C44 24020002 */ addiu $v0, $zero, 2 +/* B36818 80241C48 03E00008 */ jr $ra +/* B3681C 80241C4C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241C50.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241C50.s new file mode 100644 index 0000000000..4295a2a648 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241C50.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C50 +/* B36820 80241C50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36824 80241C54 AFB00010 */ sw $s0, 0x10($sp) +/* B36828 80241C58 0080802D */ daddu $s0, $a0, $zero +/* B3682C 80241C5C AFBF0018 */ sw $ra, 0x18($sp) +/* B36830 80241C60 AFB10014 */ sw $s1, 0x14($sp) +/* B36834 80241C64 8E02000C */ lw $v0, 0xc($s0) +/* B36838 80241C68 8C510000 */ lw $s1, ($v0) +/* B3683C 80241C6C 0C0B1EAF */ jal get_variable +/* B36840 80241C70 0220282D */ daddu $a1, $s1, $zero +/* B36844 80241C74 3C03FFF0 */ lui $v1, 0xfff0 +/* B36848 80241C78 3463FFFF */ ori $v1, $v1, 0xffff +/* B3684C 80241C7C 0200202D */ daddu $a0, $s0, $zero +/* B36850 80241C80 00431024 */ and $v0, $v0, $v1 +/* B36854 80241C84 00021140 */ sll $v0, $v0, 5 +/* B36858 80241C88 3C068008 */ lui $a2, %hi(gItemTable) +/* B3685C 80241C8C 00C23021 */ addu $a2, $a2, $v0 +/* B36860 80241C90 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B36864 80241C94 0C0B2026 */ jal set_variable +/* B36868 80241C98 0220282D */ daddu $a1, $s1, $zero +/* B3686C 80241C9C 8FBF0018 */ lw $ra, 0x18($sp) +/* B36870 80241CA0 8FB10014 */ lw $s1, 0x14($sp) +/* B36874 80241CA4 8FB00010 */ lw $s0, 0x10($sp) +/* B36878 80241CA8 24020002 */ addiu $v0, $zero, 2 +/* B3687C 80241CAC 03E00008 */ jr $ra +/* B36880 80241CB0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241CB4.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241CB4.s new file mode 100644 index 0000000000..a9c3efc4d0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241CB4.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CB4 +/* B36884 80241CB4 24020001 */ addiu $v0, $zero, 1 +/* B36888 80241CB8 3C018015 */ lui $at, %hi(D_80151310) +/* B3688C 80241CBC AC221310 */ sw $v0, %lo(D_80151310)($at) +/* B36890 80241CC0 03E00008 */ jr $ra +/* B36894 80241CC4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241CC8_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241CC8_B34BD0.s new file mode 100644 index 0000000000..4d608bced3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241CC8_B34BD0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CC8_B36898 +/* B36898 80241CC8 3C018015 */ lui $at, %hi(D_80151310) +/* B3689C 80241CCC AC201310 */ sw $zero, %lo(D_80151310)($at) +/* B368A0 80241CD0 03E00008 */ jr $ra +/* B368A4 80241CD4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241CD8.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241CD8.s new file mode 100644 index 0000000000..5a82c6342c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241CD8.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CD8 +/* B368A8 80241CD8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B368AC 80241CDC AFB10024 */ sw $s1, 0x24($sp) +/* B368B0 80241CE0 0080882D */ daddu $s1, $a0, $zero +/* B368B4 80241CE4 3C05F840 */ lui $a1, 0xf840 +/* B368B8 80241CE8 AFBF0044 */ sw $ra, 0x44($sp) +/* B368BC 80241CEC AFBE0040 */ sw $fp, 0x40($sp) +/* B368C0 80241CF0 AFB7003C */ sw $s7, 0x3c($sp) +/* B368C4 80241CF4 AFB60038 */ sw $s6, 0x38($sp) +/* B368C8 80241CF8 AFB50034 */ sw $s5, 0x34($sp) +/* B368CC 80241CFC AFB40030 */ sw $s4, 0x30($sp) +/* B368D0 80241D00 AFB3002C */ sw $s3, 0x2c($sp) +/* B368D4 80241D04 AFB20028 */ sw $s2, 0x28($sp) +/* B368D8 80241D08 AFB00020 */ sw $s0, 0x20($sp) +/* B368DC 80241D0C 8E3E0148 */ lw $fp, 0x148($s1) +/* B368E0 80241D10 0C0B1EAF */ jal get_variable +/* B368E4 80241D14 34A56268 */ ori $a1, $a1, 0x6268 +/* B368E8 80241D18 0040802D */ daddu $s0, $v0, $zero +/* B368EC 80241D1C 0220202D */ daddu $a0, $s1, $zero +/* B368F0 80241D20 3C05F840 */ lui $a1, 0xf840 +/* B368F4 80241D24 0C0B1EAF */ jal get_variable +/* B368F8 80241D28 34A56269 */ ori $a1, $a1, 0x6269 +/* B368FC 80241D2C 0040B82D */ daddu $s7, $v0, $zero +/* B36900 80241D30 0220202D */ daddu $a0, $s1, $zero +/* B36904 80241D34 3C05F5DE */ lui $a1, 0xf5de +/* B36908 80241D38 0C0B1EAF */ jal get_variable +/* B3690C 80241D3C 34A502DE */ ori $a1, $a1, 0x2de +/* B36910 80241D40 0040B02D */ daddu $s6, $v0, $zero +/* B36914 80241D44 0220202D */ daddu $a0, $s1, $zero +/* B36918 80241D48 3C05F5DE */ lui $a1, 0xf5de +/* B3691C 80241D4C 0C0B1EAF */ jal get_variable +/* B36920 80241D50 34A502DF */ ori $a1, $a1, 0x2df +/* B36924 80241D54 0040A82D */ daddu $s5, $v0, $zero +/* B36928 80241D58 93D3006D */ lbu $s3, 0x6d($fp) +/* B3692C 80241D5C 32C2FFFF */ andi $v0, $s6, 0xffff +/* B36930 80241D60 A7B30010 */ sh $s3, 0x10($sp) +/* B36934 80241D64 93D2006E */ lbu $s2, 0x6e($fp) +/* B36938 80241D68 93C7006F */ lbu $a3, 0x6f($fp) +/* B3693C 80241D6C 3274FFFF */ andi $s4, $s3, 0xffff +/* B36940 80241D70 12820003 */ beq $s4, $v0, .L80241D80 +/* B36944 80241D74 A7A7001E */ sh $a3, 0x1e($sp) +/* B36948 80241D78 0000B82D */ daddu $s7, $zero, $zero +/* B3694C 80241D7C 02E0802D */ daddu $s0, $s7, $zero +.L80241D80: +/* B36950 80241D80 3202FFFF */ andi $v0, $s0, 0xffff +/* B36954 80241D84 14400016 */ bnez $v0, .L80241DE0 +/* B36958 80241D88 0220202D */ daddu $a0, $s1, $zero +/* B3695C 80241D8C 0C00A67F */ jal rand_int +/* B36960 80241D90 24040064 */ addiu $a0, $zero, 0x64 +/* B36964 80241D94 2842001E */ slti $v0, $v0, 0x1e +/* B36968 80241D98 10400011 */ beqz $v0, .L80241DE0 +/* B3696C 80241D9C 0220202D */ daddu $a0, $s1, $zero +/* B36970 80241DA0 0C00A67F */ jal rand_int +/* B36974 80241DA4 2644FFFF */ addiu $a0, $s2, -1 +/* B36978 80241DA8 0040A82D */ daddu $s5, $v0, $zero +/* B3697C 80241DAC 0260B02D */ daddu $s6, $s3, $zero +/* B36980 80241DB0 0220202D */ daddu $a0, $s1, $zero +/* B36984 80241DB4 3C05F5DE */ lui $a1, 0xf5de +/* B36988 80241DB8 34A502DE */ ori $a1, $a1, 0x2de +/* B3698C 80241DBC 0C0B2026 */ jal set_variable +/* B36990 80241DC0 0280302D */ daddu $a2, $s4, $zero +/* B36994 80241DC4 0220202D */ daddu $a0, $s1, $zero +/* B36998 80241DC8 3C05F5DE */ lui $a1, 0xf5de +/* B3699C 80241DCC 34A502DF */ ori $a1, $a1, 0x2df +/* B369A0 80241DD0 0C0B2026 */ jal set_variable +/* B369A4 80241DD4 32A6FFFF */ andi $a2, $s5, 0xffff +/* B369A8 80241DD8 24100001 */ addiu $s0, $zero, 1 +/* B369AC 80241DDC 0220202D */ daddu $a0, $s1, $zero +.L80241DE0: +/* B369B0 80241DE0 3C05F840 */ lui $a1, 0xf840 +/* B369B4 80241DE4 34A56268 */ ori $a1, $a1, 0x6268 +/* B369B8 80241DE8 0C0B2026 */ jal set_variable +/* B369BC 80241DEC 3206FFFF */ andi $a2, $s0, 0xffff +/* B369C0 80241DF0 0220202D */ daddu $a0, $s1, $zero +/* B369C4 80241DF4 3C05F840 */ lui $a1, 0xf840 +/* B369C8 80241DF8 34A56269 */ ori $a1, $a1, 0x6269 +/* B369CC 80241DFC 0C0B2026 */ jal set_variable +/* B369D0 80241E00 32E6FFFF */ andi $a2, $s7, 0xffff +/* B369D4 80241E04 0000202D */ daddu $a0, $zero, $zero +/* B369D8 80241E08 3C05F5DE */ lui $a1, 0xf5de +/* B369DC 80241E0C 0C0B1EAF */ jal get_variable +/* B369E0 80241E10 34A502E0 */ ori $a1, $a1, 0x2e0 +/* B369E4 80241E14 0000202D */ daddu $a0, $zero, $zero +/* B369E8 80241E18 3C05F5DE */ lui $a1, 0xf5de +/* B369EC 80241E1C 34A50180 */ ori $a1, $a1, 0x180 +/* B369F0 80241E20 0C0B1EAF */ jal get_variable +/* B369F4 80241E24 0040802D */ daddu $s0, $v0, $zero +/* B369F8 80241E28 0040282D */ daddu $a1, $v0, $zero +/* B369FC 80241E2C 0000182D */ daddu $v1, $zero, $zero +/* B36A00 80241E30 3C068024 */ lui $a2, 0x8024 +/* B36A04 80241E34 24C67808 */ addiu $a2, $a2, 0x7808 +/* B36A08 80241E38 00C0202D */ daddu $a0, $a2, $zero +.L80241E3C: +/* B36A0C 80241E3C 8C820000 */ lw $v0, ($a0) +/* B36A10 80241E40 00A2102A */ slt $v0, $a1, $v0 +/* B36A14 80241E44 14400006 */ bnez $v0, .L80241E60 +/* B36A18 80241E48 000310C0 */ sll $v0, $v1, 3 +/* B36A1C 80241E4C 24630001 */ addiu $v1, $v1, 1 +/* B36A20 80241E50 28620008 */ slti $v0, $v1, 8 +/* B36A24 80241E54 1440FFF9 */ bnez $v0, .L80241E3C +/* B36A28 80241E58 24840008 */ addiu $a0, $a0, 8 +/* B36A2C 80241E5C 000310C0 */ sll $v0, $v1, 3 +.L80241E60: +/* B36A30 80241E60 00461021 */ addu $v0, $v0, $a2 +/* B36A34 80241E64 8C420004 */ lw $v0, 4($v0) +/* B36A38 80241E68 97A30010 */ lhu $v1, 0x10($sp) +/* B36A3C 80241E6C 0202202A */ slt $a0, $s0, $v0 +/* B36A40 80241E70 32C2FFFF */ andi $v0, $s6, 0xffff +/* B36A44 80241E74 14620008 */ bne $v1, $v0, .L80241E98 +/* B36A48 80241E78 32A2FFFF */ andi $v0, $s5, 0xffff +/* B36A4C 80241E7C 97A7001E */ lhu $a3, 0x1e($sp) +/* B36A50 80241E80 14E20005 */ bne $a3, $v0, .L80241E98 +/* B36A54 80241E84 32E2FFFF */ andi $v0, $s7, 0xffff +/* B36A58 80241E88 14400003 */ bnez $v0, .L80241E98 +/* B36A5C 80241E8C 00000000 */ nop +/* B36A60 80241E90 14800008 */ bnez $a0, .L80241EB4 +/* B36A64 80241E94 24020001 */ addiu $v0, $zero, 1 +.L80241E98: +/* B36A68 80241E98 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B36A6C 80241E9C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B36A70 80241EA0 80420075 */ lb $v0, 0x75($v0) +/* B36A74 80241EA4 10400005 */ beqz $v0, .L80241EBC +/* B36A78 80241EA8 00000000 */ nop +/* B36A7C 80241EAC 10800003 */ beqz $a0, .L80241EBC +/* B36A80 80241EB0 24020001 */ addiu $v0, $zero, 1 +.L80241EB4: +/* B36A84 80241EB4 080907B2 */ j .L80241EC8 +/* B36A88 80241EB8 AE220084 */ sw $v0, 0x84($s1) +.L80241EBC: +/* B36A8C 80241EBC 0C00F9EB */ jal kill_enemy +/* B36A90 80241EC0 03C0202D */ daddu $a0, $fp, $zero +/* B36A94 80241EC4 AE200084 */ sw $zero, 0x84($s1) +.L80241EC8: +/* B36A98 80241EC8 8FBF0044 */ lw $ra, 0x44($sp) +/* B36A9C 80241ECC 8FBE0040 */ lw $fp, 0x40($sp) +/* B36AA0 80241ED0 8FB7003C */ lw $s7, 0x3c($sp) +/* B36AA4 80241ED4 8FB60038 */ lw $s6, 0x38($sp) +/* B36AA8 80241ED8 8FB50034 */ lw $s5, 0x34($sp) +/* B36AAC 80241EDC 8FB40030 */ lw $s4, 0x30($sp) +/* B36AB0 80241EE0 8FB3002C */ lw $s3, 0x2c($sp) +/* B36AB4 80241EE4 8FB20028 */ lw $s2, 0x28($sp) +/* B36AB8 80241EE8 8FB10024 */ lw $s1, 0x24($sp) +/* B36ABC 80241EEC 8FB00020 */ lw $s0, 0x20($sp) +/* B36AC0 80241EF0 24020002 */ addiu $v0, $zero, 2 +/* B36AC4 80241EF4 03E00008 */ jr $ra +/* B36AC8 80241EF8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241EFC.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241EFC.s new file mode 100644 index 0000000000..661a202c4f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241EFC.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EFC +/* B36ACC 80241EFC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36AD0 80241F00 AFBF0014 */ sw $ra, 0x14($sp) +/* B36AD4 80241F04 AFB00010 */ sw $s0, 0x10($sp) +/* B36AD8 80241F08 0C00EABB */ jal get_npc_unsafe +/* B36ADC 80241F0C 8C84014C */ lw $a0, 0x14c($a0) +/* B36AE0 80241F10 24040008 */ addiu $a0, $zero, 8 +/* B36AE4 80241F14 0040802D */ daddu $s0, $v0, $zero +/* B36AE8 80241F18 3C028024 */ lui $v0, 0x8024 +/* B36AEC 80241F1C 24421F68 */ addiu $v0, $v0, 0x1f68 +/* B36AF0 80241F20 0C00AB39 */ jal heap_malloc +/* B36AF4 80241F24 AE020008 */ sw $v0, 8($s0) +/* B36AF8 80241F28 0040182D */ daddu $v1, $v0, $zero +/* B36AFC 80241F2C AE030020 */ sw $v1, 0x20($s0) +/* B36B00 80241F30 AC600000 */ sw $zero, ($v1) +/* B36B04 80241F34 8FBF0014 */ lw $ra, 0x14($sp) +/* B36B08 80241F38 8FB00010 */ lw $s0, 0x10($sp) +/* B36B0C 80241F3C 24020001 */ addiu $v0, $zero, 1 +/* B36B10 80241F40 03E00008 */ jr $ra +/* B36B14 80241F44 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241F48.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241F48.s new file mode 100644 index 0000000000..aa3f93e425 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241F48.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F48 +/* B36B18 80241F48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36B1C 80241F4C AFBF0010 */ sw $ra, 0x10($sp) +/* B36B20 80241F50 0C00EABB */ jal get_npc_unsafe +/* B36B24 80241F54 8C84014C */ lw $a0, 0x14c($a0) +/* B36B28 80241F58 8FBF0010 */ lw $ra, 0x10($sp) +/* B36B2C 80241F5C 0000102D */ daddu $v0, $zero, $zero +/* B36B30 80241F60 03E00008 */ jr $ra +/* B36B34 80241F64 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241F68.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241F68.s new file mode 100644 index 0000000000..3ee10ed42c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241F68.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F68 +/* B36B38 80241F68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B36B3C 80241F6C 3C03800A */ lui $v1, 0x800a +/* B36B40 80241F70 8463A634 */ lh $v1, -0x59cc($v1) +/* B36B44 80241F74 3C05800B */ lui $a1, %hi(gCameras) +/* B36B48 80241F78 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B36B4C 80241F7C AFBF0010 */ sw $ra, 0x10($sp) +/* B36B50 80241F80 00031080 */ sll $v0, $v1, 2 +/* B36B54 80241F84 00431021 */ addu $v0, $v0, $v1 +/* B36B58 80241F88 00021080 */ sll $v0, $v0, 2 +/* B36B5C 80241F8C 00431023 */ subu $v0, $v0, $v1 +/* B36B60 80241F90 000218C0 */ sll $v1, $v0, 3 +/* B36B64 80241F94 00431021 */ addu $v0, $v0, $v1 +/* B36B68 80241F98 8C830020 */ lw $v1, 0x20($a0) +/* B36B6C 80241F9C 000210C0 */ sll $v0, $v0, 3 +/* B36B70 80241FA0 8C630000 */ lw $v1, ($v1) +/* B36B74 80241FA4 30630001 */ andi $v1, $v1, 1 +/* B36B78 80241FA8 10600004 */ beqz $v1, .L80241FBC +/* B36B7C 80241FAC 00451021 */ addu $v0, $v0, $a1 +/* B36B80 80241FB0 C44C006C */ lwc1 $f12, 0x6c($v0) +/* B36B84 80241FB4 0C00A6C9 */ jal clamp_angle +/* B36B88 80241FB8 46006307 */ neg.s $f12, $f12 +.L80241FBC: +/* B36B8C 80241FBC 8FBF0010 */ lw $ra, 0x10($sp) +/* B36B90 80241FC0 03E00008 */ jr $ra +/* B36B94 80241FC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80241FC8_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80241FC8_B34BD0.s new file mode 100644 index 0000000000..b8757a8ca6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80241FC8_B34BD0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FC8_B36B98 +/* B36B98 80241FC8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B36B9C 80241FCC AFB10014 */ sw $s1, 0x14($sp) +/* B36BA0 80241FD0 0080882D */ daddu $s1, $a0, $zero +/* B36BA4 80241FD4 AFBF0024 */ sw $ra, 0x24($sp) +/* B36BA8 80241FD8 AFB40020 */ sw $s4, 0x20($sp) +/* B36BAC 80241FDC AFB3001C */ sw $s3, 0x1c($sp) +/* B36BB0 80241FE0 AFB20018 */ sw $s2, 0x18($sp) +/* B36BB4 80241FE4 10A00033 */ beqz $a1, .L802420B4 +/* B36BB8 80241FE8 AFB00010 */ sw $s0, 0x10($sp) +/* B36BBC 80241FEC 0C04760B */ jal func_8011D82C +/* B36BC0 80241FF0 24040001 */ addiu $a0, $zero, 1 +/* B36BC4 80241FF4 0000202D */ daddu $a0, $zero, $zero +/* B36BC8 80241FF8 0080282D */ daddu $a1, $a0, $zero +/* B36BCC 80241FFC 0080302D */ daddu $a2, $a0, $zero +/* B36BD0 80242000 0080382D */ daddu $a3, $a0, $zero +/* B36BD4 80242004 0080802D */ daddu $s0, $a0, $zero +/* B36BD8 80242008 2414FFFC */ addiu $s4, $zero, -4 +/* B36BDC 8024200C 24130011 */ addiu $s3, $zero, 0x11 +/* B36BE0 80242010 3C120080 */ lui $s2, 0x80 +/* B36BE4 80242014 3C038015 */ lui $v1, 0x8015 +/* B36BE8 80242018 8C6312F0 */ lw $v1, 0x12f0($v1) +/* B36BEC 8024201C 24020001 */ addiu $v0, $zero, 1 +/* B36BF0 80242020 0C046F97 */ jal set_background_color_blend +/* B36BF4 80242024 A0620000 */ sb $v0, ($v1) +.L80242028: +/* B36BF8 80242028 0C00E2B7 */ jal get_npc_by_index +/* B36BFC 8024202C 0200202D */ daddu $a0, $s0, $zero +/* B36C00 80242030 0040202D */ daddu $a0, $v0, $zero +/* B36C04 80242034 5080000B */ beql $a0, $zero, .L80242064 +/* B36C08 80242038 26100001 */ addiu $s0, $s0, 1 +/* B36C0C 8024203C 8C820000 */ lw $v0, ($a0) +/* B36C10 80242040 50400008 */ beql $v0, $zero, .L80242064 +/* B36C14 80242044 26100001 */ addiu $s0, $s0, 1 +/* B36C18 80242048 808300A4 */ lb $v1, 0xa4($a0) +/* B36C1C 8024204C 10740005 */ beq $v1, $s4, .L80242064 +/* B36C20 80242050 26100001 */ addiu $s0, $s0, 1 +/* B36C24 80242054 10730003 */ beq $v1, $s3, .L80242064 +/* B36C28 80242058 00000000 */ nop +/* B36C2C 8024205C 00521025 */ or $v0, $v0, $s2 +/* B36C30 80242060 AC820000 */ sw $v0, ($a0) +.L80242064: +/* B36C34 80242064 2A020040 */ slti $v0, $s0, 0x40 +/* B36C38 80242068 1440FFEF */ bnez $v0, .L80242028 +/* B36C3C 8024206C 00000000 */ nop +/* B36C40 80242070 0000802D */ daddu $s0, $zero, $zero +/* B36C44 80242074 3C120800 */ lui $s2, 0x800 +.L80242078: +/* B36C48 80242078 0C04C3D6 */ jal get_item_entity +/* B36C4C 8024207C 0200202D */ daddu $a0, $s0, $zero +/* B36C50 80242080 0040182D */ daddu $v1, $v0, $zero +/* B36C54 80242084 10600007 */ beqz $v1, .L802420A4 +/* B36C58 80242088 26100001 */ addiu $s0, $s0, 1 +/* B36C5C 8024208C 8C640000 */ lw $a0, ($v1) +/* B36C60 80242090 30820010 */ andi $v0, $a0, 0x10 +/* B36C64 80242094 10400003 */ beqz $v0, .L802420A4 +/* B36C68 80242098 00000000 */ nop +/* B36C6C 8024209C 00921025 */ or $v0, $a0, $s2 +/* B36C70 802420A0 AC620000 */ sw $v0, ($v1) +.L802420A4: +/* B36C74 802420A4 2A020100 */ slti $v0, $s0, 0x100 +/* B36C78 802420A8 1440FFF3 */ bnez $v0, .L80242078 +/* B36C7C 802420AC 00000000 */ nop +/* B36C80 802420B0 AE200070 */ sw $zero, 0x70($s1) +.L802420B4: +/* B36C84 802420B4 8E220070 */ lw $v0, 0x70($s1) +/* B36C88 802420B8 24420008 */ addiu $v0, $v0, 8 +/* B36C8C 802420BC AE220070 */ sw $v0, 0x70($s1) +/* B36C90 802420C0 28420100 */ slti $v0, $v0, 0x100 +/* B36C94 802420C4 14400003 */ bnez $v0, .L802420D4 +/* B36C98 802420C8 0000202D */ daddu $a0, $zero, $zero +/* B36C9C 802420CC 240200FF */ addiu $v0, $zero, 0xff +/* B36CA0 802420D0 AE220070 */ sw $v0, 0x70($s1) +.L802420D4: +/* B36CA4 802420D4 0080282D */ daddu $a1, $a0, $zero +/* B36CA8 802420D8 92270073 */ lbu $a3, 0x73($s1) +/* B36CAC 802420DC 0C046F97 */ jal set_background_color_blend +/* B36CB0 802420E0 0080302D */ daddu $a2, $a0, $zero +/* B36CB4 802420E4 8E220070 */ lw $v0, 0x70($s1) +/* B36CB8 802420E8 8FBF0024 */ lw $ra, 0x24($sp) +/* B36CBC 802420EC 8FB40020 */ lw $s4, 0x20($sp) +/* B36CC0 802420F0 8FB3001C */ lw $s3, 0x1c($sp) +/* B36CC4 802420F4 8FB20018 */ lw $s2, 0x18($sp) +/* B36CC8 802420F8 8FB10014 */ lw $s1, 0x14($sp) +/* B36CCC 802420FC 8FB00010 */ lw $s0, 0x10($sp) +/* B36CD0 80242100 384200FF */ xori $v0, $v0, 0xff +/* B36CD4 80242104 2C420001 */ sltiu $v0, $v0, 1 +/* B36CD8 80242108 00021040 */ sll $v0, $v0, 1 +/* B36CDC 8024210C 03E00008 */ jr $ra +/* B36CE0 80242110 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242114.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242114.s new file mode 100644 index 0000000000..9f50ec1ddd --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242114.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242114 +/* B36CE4 80242114 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B36CE8 80242118 AFB00010 */ sw $s0, 0x10($sp) +/* B36CEC 8024211C 0080802D */ daddu $s0, $a0, $zero +/* B36CF0 80242120 AFBF0020 */ sw $ra, 0x20($sp) +/* B36CF4 80242124 AFB3001C */ sw $s3, 0x1c($sp) +/* B36CF8 80242128 AFB20018 */ sw $s2, 0x18($sp) +/* B36CFC 8024212C 10A00009 */ beqz $a1, .L80242154 +/* B36D00 80242130 AFB10014 */ sw $s1, 0x14($sp) +/* B36D04 80242134 0000202D */ daddu $a0, $zero, $zero +/* B36D08 80242138 0080282D */ daddu $a1, $a0, $zero +/* B36D0C 8024213C 0080302D */ daddu $a2, $a0, $zero +/* B36D10 80242140 0C046F97 */ jal set_background_color_blend +/* B36D14 80242144 240700FF */ addiu $a3, $zero, 0xff +/* B36D18 80242148 240200FF */ addiu $v0, $zero, 0xff +/* B36D1C 8024214C AE020070 */ sw $v0, 0x70($s0) +/* B36D20 80242150 AE000074 */ sw $zero, 0x74($s0) +.L80242154: +/* B36D24 80242154 8E020070 */ lw $v0, 0x70($s0) +/* B36D28 80242158 2442FFF8 */ addiu $v0, $v0, -8 +/* B36D2C 8024215C 04410002 */ bgez $v0, .L80242168 +/* B36D30 80242160 AE020070 */ sw $v0, 0x70($s0) +/* B36D34 80242164 AE000070 */ sw $zero, 0x70($s0) +.L80242168: +/* B36D38 80242168 0000202D */ daddu $a0, $zero, $zero +/* B36D3C 8024216C 0080282D */ daddu $a1, $a0, $zero +/* B36D40 80242170 92070073 */ lbu $a3, 0x73($s0) +/* B36D44 80242174 0C046F97 */ jal set_background_color_blend +/* B36D48 80242178 0080302D */ daddu $a2, $a0, $zero +/* B36D4C 8024217C 8E020070 */ lw $v0, 0x70($s0) +/* B36D50 80242180 14400006 */ bnez $v0, .L8024219C +/* B36D54 80242184 00000000 */ nop +/* B36D58 80242188 8E020074 */ lw $v0, 0x74($s0) +/* B36D5C 8024218C 14400003 */ bnez $v0, .L8024219C +/* B36D60 80242190 24020001 */ addiu $v0, $zero, 1 +/* B36D64 80242194 0809089A */ j .L80242268 +/* B36D68 80242198 AE020074 */ sw $v0, 0x74($s0) +.L8024219C: +/* B36D6C 8024219C 8E030074 */ lw $v1, 0x74($s0) +/* B36D70 802421A0 24020001 */ addiu $v0, $zero, 1 +/* B36D74 802421A4 14620031 */ bne $v1, $v0, .L8024226C +/* B36D78 802421A8 0000102D */ daddu $v0, $zero, $zero +/* B36D7C 802421AC 0C04760B */ jal func_8011D82C +/* B36D80 802421B0 0000202D */ daddu $a0, $zero, $zero +/* B36D84 802421B4 0000802D */ daddu $s0, $zero, $zero +/* B36D88 802421B8 2413FFFC */ addiu $s3, $zero, -4 +/* B36D8C 802421BC 24120011 */ addiu $s2, $zero, 0x11 +/* B36D90 802421C0 3C11FF7F */ lui $s1, 0xff7f +/* B36D94 802421C4 3C028015 */ lui $v0, 0x8015 +/* B36D98 802421C8 8C4212F0 */ lw $v0, 0x12f0($v0) +/* B36D9C 802421CC 3631FFFF */ ori $s1, $s1, 0xffff +/* B36DA0 802421D0 A0400000 */ sb $zero, ($v0) +.L802421D4: +/* B36DA4 802421D4 0C00E2B7 */ jal get_npc_by_index +/* B36DA8 802421D8 0200202D */ daddu $a0, $s0, $zero +/* B36DAC 802421DC 0040202D */ daddu $a0, $v0, $zero +/* B36DB0 802421E0 5080000B */ beql $a0, $zero, .L80242210 +/* B36DB4 802421E4 26100001 */ addiu $s0, $s0, 1 +/* B36DB8 802421E8 8C820000 */ lw $v0, ($a0) +/* B36DBC 802421EC 50400008 */ beql $v0, $zero, .L80242210 +/* B36DC0 802421F0 26100001 */ addiu $s0, $s0, 1 +/* B36DC4 802421F4 808300A4 */ lb $v1, 0xa4($a0) +/* B36DC8 802421F8 10730005 */ beq $v1, $s3, .L80242210 +/* B36DCC 802421FC 26100001 */ addiu $s0, $s0, 1 +/* B36DD0 80242200 10720003 */ beq $v1, $s2, .L80242210 +/* B36DD4 80242204 00000000 */ nop +/* B36DD8 80242208 00511024 */ and $v0, $v0, $s1 +/* B36DDC 8024220C AC820000 */ sw $v0, ($a0) +.L80242210: +/* B36DE0 80242210 2A020040 */ slti $v0, $s0, 0x40 +/* B36DE4 80242214 1440FFEF */ bnez $v0, .L802421D4 +/* B36DE8 80242218 00000000 */ nop +/* B36DEC 8024221C 0000802D */ daddu $s0, $zero, $zero +/* B36DF0 80242220 3C11F7FF */ lui $s1, 0xf7ff +/* B36DF4 80242224 3631FFFF */ ori $s1, $s1, 0xffff +.L80242228: +/* B36DF8 80242228 0C04C3D6 */ jal get_item_entity +/* B36DFC 8024222C 0200202D */ daddu $a0, $s0, $zero +/* B36E00 80242230 0040182D */ daddu $v1, $v0, $zero +/* B36E04 80242234 10600007 */ beqz $v1, .L80242254 +/* B36E08 80242238 26100001 */ addiu $s0, $s0, 1 +/* B36E0C 8024223C 8C640000 */ lw $a0, ($v1) +/* B36E10 80242240 30820010 */ andi $v0, $a0, 0x10 +/* B36E14 80242244 10400003 */ beqz $v0, .L80242254 +/* B36E18 80242248 00000000 */ nop +/* B36E1C 8024224C 00911024 */ and $v0, $a0, $s1 +/* B36E20 80242250 AC620000 */ sw $v0, ($v1) +.L80242254: +/* B36E24 80242254 2A020100 */ slti $v0, $s0, 0x100 +/* B36E28 80242258 1440FFF3 */ bnez $v0, .L80242228 +/* B36E2C 8024225C 24020002 */ addiu $v0, $zero, 2 +/* B36E30 80242260 0809089B */ j .L8024226C +/* B36E34 80242264 00000000 */ nop +.L80242268: +/* B36E38 80242268 0000102D */ daddu $v0, $zero, $zero +.L8024226C: +/* B36E3C 8024226C 8FBF0020 */ lw $ra, 0x20($sp) +/* B36E40 80242270 8FB3001C */ lw $s3, 0x1c($sp) +/* B36E44 80242274 8FB20018 */ lw $s2, 0x18($sp) +/* B36E48 80242278 8FB10014 */ lw $s1, 0x14($sp) +/* B36E4C 8024227C 8FB00010 */ lw $s0, 0x10($sp) +/* B36E50 80242280 03E00008 */ jr $ra +/* B36E54 80242284 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242288.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242288.s new file mode 100644 index 0000000000..e0911d986f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242288.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242288 +/* B36E58 80242288 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B36E5C 8024228C AFB00010 */ sw $s0, 0x10($sp) +/* B36E60 80242290 3C108011 */ lui $s0, %hi(gPlayerData) +/* B36E64 80242294 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* B36E68 80242298 AFBF0018 */ sw $ra, 0x18($sp) +/* B36E6C 8024229C AFB10014 */ sw $s1, 0x14($sp) +/* B36E70 802422A0 960302C0 */ lhu $v1, 0x2c0($s0) +/* B36E74 802422A4 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* B36E78 802422A8 10400003 */ beqz $v0, .L802422B8 +/* B36E7C 802422AC 0080882D */ daddu $s1, $a0, $zero +/* B36E80 802422B0 24620001 */ addiu $v0, $v1, 1 +/* B36E84 802422B4 A60202C0 */ sh $v0, 0x2c0($s0) +.L802422B8: +/* B36E88 802422B8 3C05F5DE */ lui $a1, 0xf5de +/* B36E8C 802422BC 34A502E0 */ ori $a1, $a1, 0x2e0 +/* B36E90 802422C0 0C0B1EAF */ jal get_variable +/* B36E94 802422C4 0000202D */ daddu $a0, $zero, $zero +/* B36E98 802422C8 3C038024 */ lui $v1, 0x8024 +/* B36E9C 802422CC 00621821 */ addu $v1, $v1, $v0 +/* B36EA0 802422D0 906377C8 */ lbu $v1, 0x77c8($v1) +/* B36EA4 802422D4 8E220084 */ lw $v0, 0x84($s1) +/* B36EA8 802422D8 54430006 */ bnel $v0, $v1, .L802422F4 +/* B36EAC 802422DC AE200084 */ sw $zero, 0x84($s1) +/* B36EB0 802422E0 24020001 */ addiu $v0, $zero, 1 +/* B36EB4 802422E4 AE220084 */ sw $v0, 0x84($s1) +/* B36EB8 802422E8 960202C2 */ lhu $v0, 0x2c2($s0) +/* B36EBC 802422EC 24420001 */ addiu $v0, $v0, 1 +/* B36EC0 802422F0 A60202C2 */ sh $v0, 0x2c2($s0) +.L802422F4: +/* B36EC4 802422F4 8FBF0018 */ lw $ra, 0x18($sp) +/* B36EC8 802422F8 8FB10014 */ lw $s1, 0x14($sp) +/* B36ECC 802422FC 8FB00010 */ lw $s0, 0x10($sp) +/* B36ED0 80242300 24020002 */ addiu $v0, $zero, 2 +/* B36ED4 80242304 03E00008 */ jr $ra +/* B36ED8 80242308 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024230C.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024230C.s new file mode 100644 index 0000000000..b239a16b67 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024230C.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024230C +/* B36EDC 8024230C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B36EE0 80242310 AFB1001C */ sw $s1, 0x1c($sp) +/* B36EE4 80242314 AFBF0020 */ sw $ra, 0x20($sp) +/* B36EE8 80242318 AFB00018 */ sw $s0, 0x18($sp) +/* B36EEC 8024231C F7B60030 */ sdc1 $f22, 0x30($sp) +/* B36EF0 80242320 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B36EF4 80242324 10A00060 */ beqz $a1, .L802424A8 +/* B36EF8 80242328 0080882D */ daddu $s1, $a0, $zero +/* B36EFC 8024232C 3C05F4AC */ lui $a1, 0xf4ac +/* B36F00 80242330 0C0B1EAF */ jal get_variable +/* B36F04 80242334 34A5D481 */ ori $a1, $a1, 0xd481 +/* B36F08 80242338 0220202D */ daddu $a0, $s1, $zero +/* B36F0C 8024233C 3C05F4AC */ lui $a1, 0xf4ac +/* B36F10 80242340 4482B000 */ mtc1 $v0, $f22 +/* B36F14 80242344 00000000 */ nop +/* B36F18 80242348 4680B5A0 */ cvt.s.w $f22, $f22 +/* B36F1C 8024234C 0C0B1EAF */ jal get_variable +/* B36F20 80242350 34A5D482 */ ori $a1, $a1, 0xd482 +/* B36F24 80242354 0220202D */ daddu $a0, $s1, $zero +/* B36F28 80242358 3C05F4AC */ lui $a1, 0xf4ac +/* B36F2C 8024235C 4482A000 */ mtc1 $v0, $f20 +/* B36F30 80242360 00000000 */ nop +/* B36F34 80242364 4680A520 */ cvt.s.w $f20, $f20 +/* B36F38 80242368 0C0B1EAF */ jal get_variable +/* B36F3C 8024236C 34A5D483 */ ori $a1, $a1, 0xd483 +/* B36F40 80242370 44821000 */ mtc1 $v0, $f2 +/* B36F44 80242374 00000000 */ nop +/* B36F48 80242378 468010A0 */ cvt.s.w $f2, $f2 +/* B36F4C 8024237C 4405B000 */ mfc1 $a1, $f22 +/* B36F50 80242380 4406A000 */ mfc1 $a2, $f20 +/* B36F54 80242384 44071000 */ mfc1 $a3, $f2 +/* B36F58 80242388 0C01C574 */ jal func_800715D0 +/* B36F5C 8024238C 0000202D */ daddu $a0, $zero, $zero +/* B36F60 80242390 0220202D */ daddu $a0, $s1, $zero +/* B36F64 80242394 3C05F4AC */ lui $a1, 0xf4ac +/* B36F68 80242398 34A5D481 */ ori $a1, $a1, 0xd481 +/* B36F6C 8024239C 3C108025 */ lui $s0, 0x8025 +/* B36F70 802423A0 2610FEF8 */ addiu $s0, $s0, -0x108 +/* B36F74 802423A4 0C0B1EAF */ jal get_variable +/* B36F78 802423A8 AE020000 */ sw $v0, ($s0) +/* B36F7C 802423AC 0220202D */ daddu $a0, $s1, $zero +/* B36F80 802423B0 3C05F4AC */ lui $a1, 0xf4ac +/* B36F84 802423B4 4482B000 */ mtc1 $v0, $f22 +/* B36F88 802423B8 00000000 */ nop +/* B36F8C 802423BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* B36F90 802423C0 0C0B1EAF */ jal get_variable +/* B36F94 802423C4 34A5D482 */ ori $a1, $a1, 0xd482 +/* B36F98 802423C8 0220202D */ daddu $a0, $s1, $zero +/* B36F9C 802423CC 3C05F4AC */ lui $a1, 0xf4ac +/* B36FA0 802423D0 4482A000 */ mtc1 $v0, $f20 +/* B36FA4 802423D4 00000000 */ nop +/* B36FA8 802423D8 4680A520 */ cvt.s.w $f20, $f20 +/* B36FAC 802423DC 0C0B1EAF */ jal get_variable +/* B36FB0 802423E0 34A5D483 */ ori $a1, $a1, 0xd483 +/* B36FB4 802423E4 44821000 */ mtc1 $v0, $f2 +/* B36FB8 802423E8 00000000 */ nop +/* B36FBC 802423EC 468010A0 */ cvt.s.w $f2, $f2 +/* B36FC0 802423F0 4405B000 */ mfc1 $a1, $f22 +/* B36FC4 802423F4 4406A000 */ mfc1 $a2, $f20 +/* B36FC8 802423F8 44071000 */ mfc1 $a3, $f2 +/* B36FCC 802423FC 0C01C604 */ jal func_80071810 +/* B36FD0 80242400 0000202D */ daddu $a0, $zero, $zero +/* B36FD4 80242404 0220202D */ daddu $a0, $s1, $zero +/* B36FD8 80242408 3C05F4AC */ lui $a1, 0xf4ac +/* B36FDC 8024240C 3C018025 */ lui $at, 0x8025 +/* B36FE0 80242410 AC22FEFC */ sw $v0, -0x104($at) +/* B36FE4 80242414 0C0B1EAF */ jal get_variable +/* B36FE8 80242418 34A5D481 */ ori $a1, $a1, 0xd481 +/* B36FEC 8024241C 0220202D */ daddu $a0, $s1, $zero +/* B36FF0 80242420 3C05F4AC */ lui $a1, 0xf4ac +/* B36FF4 80242424 4482B000 */ mtc1 $v0, $f22 +/* B36FF8 80242428 00000000 */ nop +/* B36FFC 8024242C 4680B5A0 */ cvt.s.w $f22, $f22 +/* B37000 80242430 0C0B1EAF */ jal get_variable +/* B37004 80242434 34A5D482 */ ori $a1, $a1, 0xd482 +/* B37008 80242438 0220202D */ daddu $a0, $s1, $zero +/* B3700C 8024243C 3C05F4AC */ lui $a1, 0xf4ac +/* B37010 80242440 4482A000 */ mtc1 $v0, $f20 +/* B37014 80242444 00000000 */ nop +/* B37018 80242448 4680A520 */ cvt.s.w $f20, $f20 +/* B3701C 8024244C 0C0B1EAF */ jal get_variable +/* B37020 80242450 34A5D483 */ ori $a1, $a1, 0xd483 +/* B37024 80242454 44821000 */ mtc1 $v0, $f2 +/* B37028 80242458 00000000 */ nop +/* B3702C 8024245C 468010A0 */ cvt.s.w $f2, $f2 +/* B37030 80242460 4405B000 */ mfc1 $a1, $f22 +/* B37034 80242464 4406A000 */ mfc1 $a2, $f20 +/* B37038 80242468 3C013F80 */ lui $at, 0x3f80 +/* B3703C 8024246C 44810000 */ mtc1 $at, $f0 +/* B37040 80242470 44071000 */ mfc1 $a3, $f2 +/* B37044 80242474 0000202D */ daddu $a0, $zero, $zero +/* B37048 80242478 AFA00014 */ sw $zero, 0x14($sp) +/* B3704C 8024247C 0C01CA24 */ jal func_80072890 +/* B37050 80242480 E7A00010 */ swc1 $f0, 0x10($sp) +/* B37054 80242484 8E030000 */ lw $v1, ($s0) +/* B37058 80242488 8C64000C */ lw $a0, 0xc($v1) +/* B3705C 8024248C 3C018025 */ lui $at, 0x8025 +/* B37060 80242490 AC22FF00 */ sw $v0, -0x100($at) +/* B37064 80242494 AC800018 */ sw $zero, 0x18($a0) +/* B37068 80242498 AC800020 */ sw $zero, 0x20($a0) +/* B3706C 8024249C AC800024 */ sw $zero, 0x24($a0) +/* B37070 802424A0 AC800028 */ sw $zero, 0x28($a0) +/* B37074 802424A4 AC80001C */ sw $zero, 0x1c($a0) +.L802424A8: +/* B37078 802424A8 3C028025 */ lui $v0, 0x8025 +/* B3707C 802424AC 8C42FEF8 */ lw $v0, -0x108($v0) +/* B37080 802424B0 8C44000C */ lw $a0, 0xc($v0) +/* B37084 802424B4 8C820020 */ lw $v0, 0x20($a0) +/* B37088 802424B8 8C830028 */ lw $v1, 0x28($a0) +/* B3708C 802424BC 2442000A */ addiu $v0, $v0, 0xa +/* B37090 802424C0 AC820020 */ sw $v0, 0x20($a0) +/* B37094 802424C4 8C820024 */ lw $v0, 0x24($a0) +/* B37098 802424C8 2463000A */ addiu $v1, $v1, 0xa +/* B3709C 802424CC AC830028 */ sw $v1, 0x28($a0) +/* B370A0 802424D0 8C830018 */ lw $v1, 0x18($a0) +/* B370A4 802424D4 2442000A */ addiu $v0, $v0, 0xa +/* B370A8 802424D8 AC820024 */ sw $v0, 0x24($a0) +/* B370AC 802424DC 8C82001C */ lw $v0, 0x1c($a0) +/* B370B0 802424E0 2463000A */ addiu $v1, $v1, 0xa +/* B370B4 802424E4 AC830018 */ sw $v1, 0x18($a0) +/* B370B8 802424E8 286300FF */ slti $v1, $v1, 0xff +/* B370BC 802424EC 2442000A */ addiu $v0, $v0, 0xa +/* B370C0 802424F0 AC82001C */ sw $v0, 0x1c($a0) +/* B370C4 802424F4 14600004 */ bnez $v1, .L80242508 +/* B370C8 802424F8 0000102D */ daddu $v0, $zero, $zero +/* B370CC 802424FC 240200FF */ addiu $v0, $zero, 0xff +/* B370D0 80242500 AC820018 */ sw $v0, 0x18($a0) +/* B370D4 80242504 24020002 */ addiu $v0, $zero, 2 +.L80242508: +/* B370D8 80242508 8FBF0020 */ lw $ra, 0x20($sp) +/* B370DC 8024250C 8FB1001C */ lw $s1, 0x1c($sp) +/* B370E0 80242510 8FB00018 */ lw $s0, 0x18($sp) +/* B370E4 80242514 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B370E8 80242518 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B370EC 8024251C 03E00008 */ jr $ra +/* B370F0 80242520 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242524_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242524_B34BD0.s new file mode 100644 index 0000000000..44f1b61d14 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242524_B34BD0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242524_B370F4 +/* B370F4 80242524 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B370F8 80242528 10A0000B */ beqz $a1, .L80242558 +/* B370FC 8024252C AFBF0010 */ sw $ra, 0x10($sp) +/* B37100 80242530 3C038025 */ lui $v1, 0x8025 +/* B37104 80242534 8C63FEFC */ lw $v1, -0x104($v1) +/* B37108 80242538 8C620000 */ lw $v0, ($v1) +/* B3710C 8024253C 3C048025 */ lui $a0, 0x8025 +/* B37110 80242540 8C84FF00 */ lw $a0, -0x100($a0) +/* B37114 80242544 34420010 */ ori $v0, $v0, 0x10 +/* B37118 80242548 AC620000 */ sw $v0, ($v1) +/* B3711C 8024254C 8C820000 */ lw $v0, ($a0) +/* B37120 80242550 34420010 */ ori $v0, $v0, 0x10 +/* B37124 80242554 AC820000 */ sw $v0, ($a0) +.L80242558: +/* B37128 80242558 3C048025 */ lui $a0, 0x8025 +/* B3712C 8024255C 8C84FEF8 */ lw $a0, -0x108($a0) +/* B37130 80242560 8C85000C */ lw $a1, 0xc($a0) +/* B37134 80242564 8CA20018 */ lw $v0, 0x18($a1) +/* B37138 80242568 8CA30020 */ lw $v1, 0x20($a1) +/* B3713C 8024256C 2442FFF6 */ addiu $v0, $v0, -0xa +/* B37140 80242570 ACA20018 */ sw $v0, 0x18($a1) +/* B37144 80242574 8CA20024 */ lw $v0, 0x24($a1) +/* B37148 80242578 2463FFF6 */ addiu $v1, $v1, -0xa +/* B3714C 8024257C ACA30020 */ sw $v1, 0x20($a1) +/* B37150 80242580 8CA30028 */ lw $v1, 0x28($a1) +/* B37154 80242584 2442FFF6 */ addiu $v0, $v0, -0xa +/* B37158 80242588 ACA20024 */ sw $v0, 0x24($a1) +/* B3715C 8024258C 8CA2001C */ lw $v0, 0x1c($a1) +/* B37160 80242590 2463FFF6 */ addiu $v1, $v1, -0xa +/* B37164 80242594 ACA30028 */ sw $v1, 0x28($a1) +/* B37168 80242598 8CA30018 */ lw $v1, 0x18($a1) +/* B3716C 8024259C 2442FFF6 */ addiu $v0, $v0, -0xa +/* B37170 802425A0 18600003 */ blez $v1, .L802425B0 +/* B37174 802425A4 ACA2001C */ sw $v0, 0x1c($a1) +/* B37178 802425A8 08090973 */ j .L802425CC +/* B3717C 802425AC 0000102D */ daddu $v0, $zero, $zero +.L802425B0: +/* B37180 802425B0 0C016914 */ jal remove_effect +/* B37184 802425B4 ACA00018 */ sw $zero, 0x18($a1) +/* B37188 802425B8 3C048025 */ lui $a0, 0x8025 +/* B3718C 802425BC 8C84FED8 */ lw $a0, -0x128($a0) +/* B37190 802425C0 0C048D70 */ jal func_801235C0 +/* B37194 802425C4 00000000 */ nop +/* B37198 802425C8 24020002 */ addiu $v0, $zero, 2 +.L802425CC: +/* B3719C 802425CC 8FBF0010 */ lw $ra, 0x10($sp) +/* B371A0 802425D0 03E00008 */ jr $ra +/* B371A4 802425D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802425D8_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802425D8_B34BD0.s new file mode 100644 index 0000000000..a3d9ef886d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802425D8_B34BD0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425D8_B371A8 +/* B371A8 802425D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B371AC 802425DC AFBF0010 */ sw $ra, 0x10($sp) +/* B371B0 802425E0 8C82000C */ lw $v0, 0xc($a0) +/* B371B4 802425E4 0C0B1EAF */ jal get_variable +/* B371B8 802425E8 8C450000 */ lw $a1, ($v0) +/* B371BC 802425EC 3C038025 */ lui $v1, 0x8025 +/* B371C0 802425F0 8C63FEF8 */ lw $v1, -0x108($v1) +/* B371C4 802425F4 8C63000C */ lw $v1, 0xc($v1) +/* B371C8 802425F8 AC620034 */ sw $v0, 0x34($v1) +/* B371CC 802425FC 8FBF0010 */ lw $ra, 0x10($sp) +/* B371D0 80242600 24020002 */ addiu $v0, $zero, 2 +/* B371D4 80242604 03E00008 */ jr $ra +/* B371D8 80242608 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024260C_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024260C_B34BD0.s new file mode 100644 index 0000000000..e4ac48a1dc --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024260C_B34BD0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024260C_B371DC +/* B371DC 8024260C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B371E0 80242610 AFBF0010 */ sw $ra, 0x10($sp) +/* B371E4 80242614 8C82000C */ lw $v0, 0xc($a0) +/* B371E8 80242618 0C0B1EAF */ jal get_variable +/* B371EC 8024261C 8C450000 */ lw $a1, ($v0) +/* B371F0 80242620 0040202D */ daddu $a0, $v0, $zero +/* B371F4 80242624 3C028025 */ lui $v0, 0x8025 +/* B371F8 80242628 8C42FEF8 */ lw $v0, -0x108($v0) +/* B371FC 8024262C 24030001 */ addiu $v1, $zero, 1 +/* B37200 80242630 8C45000C */ lw $a1, 0xc($v0) +/* B37204 80242634 1083000D */ beq $a0, $v1, .L8024266C +/* B37208 80242638 28820002 */ slti $v0, $a0, 2 +/* B3720C 8024263C 10400005 */ beqz $v0, .L80242654 +/* B37210 80242640 24020002 */ addiu $v0, $zero, 2 +/* B37214 80242644 10800007 */ beqz $a0, .L80242664 +/* B37218 80242648 240200C0 */ addiu $v0, $zero, 0xc0 +/* B3721C 8024264C 0809099F */ j .L8024267C +/* B37220 80242650 ACA00038 */ sw $zero, 0x38($a1) +.L80242654: +/* B37224 80242654 10820008 */ beq $a0, $v0, .L80242678 +/* B37228 80242658 24020040 */ addiu $v0, $zero, 0x40 +/* B3722C 8024265C 0809099F */ j .L8024267C +/* B37230 80242660 ACA00038 */ sw $zero, 0x38($a1) +.L80242664: +/* B37234 80242664 0809099F */ j .L8024267C +/* B37238 80242668 ACA20038 */ sw $v0, 0x38($a1) +.L8024266C: +/* B3723C 8024266C 24020080 */ addiu $v0, $zero, 0x80 +/* B37240 80242670 0809099F */ j .L8024267C +/* B37244 80242674 ACA20038 */ sw $v0, 0x38($a1) +.L80242678: +/* B37248 80242678 ACA20038 */ sw $v0, 0x38($a1) +.L8024267C: +/* B3724C 8024267C 8FBF0010 */ lw $ra, 0x10($sp) +/* B37250 80242680 24020002 */ addiu $v0, $zero, 2 +/* B37254 80242684 03E00008 */ jr $ra +/* B37258 80242688 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024268C.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024268C.s new file mode 100644 index 0000000000..62c77de0c7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024268C.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024268C +/* B3725C 8024268C 3C028025 */ lui $v0, 0x8025 +/* B37260 80242690 8C42FF00 */ lw $v0, -0x100($v0) +/* B37264 80242694 8C42000C */ lw $v0, 0xc($v0) +/* B37268 80242698 AC40001C */ sw $zero, 0x1c($v0) +/* B3726C 8024269C 03E00008 */ jr $ra +/* B37270 802426A0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802426A4_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802426A4_B34BD0.s new file mode 100644 index 0000000000..1346e29b47 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802426A4_B34BD0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426A4_B37274 +/* B37274 802426A4 3C028025 */ lui $v0, 0x8025 +/* B37278 802426A8 8C42FF00 */ lw $v0, -0x100($v0) +/* B3727C 802426AC 8C43000C */ lw $v1, 0xc($v0) +/* B37280 802426B0 24020001 */ addiu $v0, $zero, 1 +/* B37284 802426B4 AC62001C */ sw $v0, 0x1c($v1) +/* B37288 802426B8 03E00008 */ jr $ra +/* B3728C 802426BC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802426C0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802426C0.s new file mode 100644 index 0000000000..fcf5f803ba --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802426C0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426C0 +/* B37290 802426C0 3C028025 */ lui $v0, 0x8025 +/* B37294 802426C4 8C42FF00 */ lw $v0, -0x100($v0) +/* B37298 802426C8 8C43000C */ lw $v1, 0xc($v0) +/* B3729C 802426CC 24020002 */ addiu $v0, $zero, 2 +/* B372A0 802426D0 03E00008 */ jr $ra +/* B372A4 802426D4 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802426D8.s b/asm/nonmatchings/world/area_jan/jan_03/func_802426D8.s new file mode 100644 index 0000000000..6b4f227bde --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802426D8.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426D8 +/* B372A8 802426D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B372AC 802426DC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B372B0 802426E0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B372B4 802426E4 3C05FE36 */ lui $a1, 0xfe36 +/* B372B8 802426E8 AFBF0010 */ sw $ra, 0x10($sp) +/* B372BC 802426EC 80460075 */ lb $a2, 0x75($v0) +/* B372C0 802426F0 0C0B2026 */ jal set_variable +/* B372C4 802426F4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B372C8 802426F8 8FBF0010 */ lw $ra, 0x10($sp) +/* B372CC 802426FC 24020002 */ addiu $v0, $zero, 2 +/* B372D0 80242700 03E00008 */ jr $ra +/* B372D4 80242704 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242708_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242708_B34BD0.s new file mode 100644 index 0000000000..a050d494b2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242708_B34BD0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242708_B372D8 +/* B372D8 80242708 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B372DC 8024270C AFB10014 */ sw $s1, 0x14($sp) +/* B372E0 80242710 0080882D */ daddu $s1, $a0, $zero +/* B372E4 80242714 AFBF0018 */ sw $ra, 0x18($sp) +/* B372E8 80242718 AFB00010 */ sw $s0, 0x10($sp) +/* B372EC 8024271C 8E30000C */ lw $s0, 0xc($s1) +/* B372F0 80242720 8E050000 */ lw $a1, ($s0) +/* B372F4 80242724 0C0B1EAF */ jal get_variable +/* B372F8 80242728 26100004 */ addiu $s0, $s0, 4 +/* B372FC 8024272C 0220202D */ daddu $a0, $s1, $zero +/* B37300 80242730 8E050000 */ lw $a1, ($s0) +/* B37304 80242734 0C0B210B */ jal get_float_variable +/* B37308 80242738 0040802D */ daddu $s0, $v0, $zero +/* B3730C 8024273C 24020002 */ addiu $v0, $zero, 2 +/* B37310 80242740 00501804 */ sllv $v1, $s0, $v0 +/* B37314 80242744 00701821 */ addu $v1, $v1, $s0 +/* B37318 80242748 00431804 */ sllv $v1, $v1, $v0 +/* B3731C 8024274C 00701823 */ subu $v1, $v1, $s0 +/* B37320 80242750 000320C0 */ sll $a0, $v1, 3 +/* B37324 80242754 00641821 */ addu $v1, $v1, $a0 +/* B37328 80242758 000318C0 */ sll $v1, $v1, 3 +/* B3732C 8024275C 3C01800B */ lui $at, 0x800b +/* B37330 80242760 00230821 */ addu $at, $at, $v1 +/* B37334 80242764 E4201D98 */ swc1 $f0, 0x1d98($at) +/* B37338 80242768 8FBF0018 */ lw $ra, 0x18($sp) +/* B3733C 8024276C 8FB10014 */ lw $s1, 0x14($sp) +/* B37340 80242770 8FB00010 */ lw $s0, 0x10($sp) +/* B37344 80242774 03E00008 */ jr $ra +/* B37348 80242778 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024277C.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024277C.s new file mode 100644 index 0000000000..93537012f5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024277C.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024277C +/* B3734C 8024277C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B37350 80242780 AFB10014 */ sw $s1, 0x14($sp) +/* B37354 80242784 0080882D */ daddu $s1, $a0, $zero +/* B37358 80242788 AFBF0018 */ sw $ra, 0x18($sp) +/* B3735C 8024278C AFB00010 */ sw $s0, 0x10($sp) +/* B37360 80242790 8E30000C */ lw $s0, 0xc($s1) +/* B37364 80242794 8E050000 */ lw $a1, ($s0) +/* B37368 80242798 0C0B1EAF */ jal get_variable +/* B3736C 8024279C 26100004 */ addiu $s0, $s0, 4 +/* B37370 802427A0 00021880 */ sll $v1, $v0, 2 +/* B37374 802427A4 00621821 */ addu $v1, $v1, $v0 +/* B37378 802427A8 00031880 */ sll $v1, $v1, 2 +/* B3737C 802427AC 00621823 */ subu $v1, $v1, $v0 +/* B37380 802427B0 000310C0 */ sll $v0, $v1, 3 +/* B37384 802427B4 00621821 */ addu $v1, $v1, $v0 +/* B37388 802427B8 000318C0 */ sll $v1, $v1, 3 +/* B3738C 802427BC 3C01800B */ lui $at, 0x800b +/* B37390 802427C0 00230821 */ addu $at, $at, $v1 +/* B37394 802427C4 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* B37398 802427C8 3C014480 */ lui $at, 0x4480 +/* B3739C 802427CC 44810000 */ mtc1 $at, $f0 +/* B373A0 802427D0 00000000 */ nop +/* B373A4 802427D4 46001082 */ mul.s $f2, $f2, $f0 +/* B373A8 802427D8 00000000 */ nop +/* B373AC 802427DC 3C01CD5B */ lui $at, 0xcd5b +/* B373B0 802427E0 34215858 */ ori $at, $at, 0x5858 +/* B373B4 802427E4 44810000 */ mtc1 $at, $f0 +/* B373B8 802427E8 00000000 */ nop +/* B373BC 802427EC 46001080 */ add.s $f2, $f2, $f0 +/* B373C0 802427F0 8E050000 */ lw $a1, ($s0) +/* B373C4 802427F4 4600110D */ trunc.w.s $f4, $f2 +/* B373C8 802427F8 44062000 */ mfc1 $a2, $f4 +/* B373CC 802427FC 0C0B2026 */ jal set_variable +/* B373D0 80242800 0220202D */ daddu $a0, $s1, $zero +/* B373D4 80242804 8FBF0018 */ lw $ra, 0x18($sp) +/* B373D8 80242808 8FB10014 */ lw $s1, 0x14($sp) +/* B373DC 8024280C 8FB00010 */ lw $s0, 0x10($sp) +/* B373E0 80242810 24020002 */ addiu $v0, $zero, 2 +/* B373E4 80242814 03E00008 */ jr $ra +/* B373E8 80242818 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_8024281C.s b/asm/nonmatchings/world/area_jan/jan_03/func_8024281C.s new file mode 100644 index 0000000000..96333e7e06 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_8024281C.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024281C +/* B373EC 8024281C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B373F0 80242820 AFB20018 */ sw $s2, 0x18($sp) +/* B373F4 80242824 0080902D */ daddu $s2, $a0, $zero +/* B373F8 80242828 AFBF0030 */ sw $ra, 0x30($sp) +/* B373FC 8024282C AFB7002C */ sw $s7, 0x2c($sp) +/* B37400 80242830 AFB60028 */ sw $s6, 0x28($sp) +/* B37404 80242834 AFB50024 */ sw $s5, 0x24($sp) +/* B37408 80242838 AFB40020 */ sw $s4, 0x20($sp) +/* B3740C 8024283C AFB3001C */ sw $s3, 0x1c($sp) +/* B37410 80242840 AFB10014 */ sw $s1, 0x14($sp) +/* B37414 80242844 AFB00010 */ sw $s0, 0x10($sp) +/* B37418 80242848 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B3741C 8024284C F7B40038 */ sdc1 $f20, 0x38($sp) +/* B37420 80242850 8E50000C */ lw $s0, 0xc($s2) +/* B37424 80242854 8E050000 */ lw $a1, ($s0) +/* B37428 80242858 0C0B1EAF */ jal get_variable +/* B3742C 8024285C 26100004 */ addiu $s0, $s0, 4 +/* B37430 80242860 8E050000 */ lw $a1, ($s0) +/* B37434 80242864 26100004 */ addiu $s0, $s0, 4 +/* B37438 80242868 0240202D */ daddu $a0, $s2, $zero +/* B3743C 8024286C 0C0B1EAF */ jal get_variable +/* B37440 80242870 0040B82D */ daddu $s7, $v0, $zero +/* B37444 80242874 8E050000 */ lw $a1, ($s0) +/* B37448 80242878 26100004 */ addiu $s0, $s0, 4 +/* B3744C 8024287C 0240202D */ daddu $a0, $s2, $zero +/* B37450 80242880 0C0B1EAF */ jal get_variable +/* B37454 80242884 0040B02D */ daddu $s6, $v0, $zero +/* B37458 80242888 0240202D */ daddu $a0, $s2, $zero +/* B3745C 8024288C 3C05F4AC */ lui $a1, 0xf4ac +/* B37460 80242890 34A5D481 */ ori $a1, $a1, 0xd481 +/* B37464 80242894 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* B37468 80242898 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* B3746C 8024289C 8E140000 */ lw $s4, ($s0) +/* B37470 802428A0 00061880 */ sll $v1, $a2, 2 +/* B37474 802428A4 00661821 */ addu $v1, $v1, $a2 +/* B37478 802428A8 00031880 */ sll $v1, $v1, 2 +/* B3747C 802428AC 00661823 */ subu $v1, $v1, $a2 +/* B37480 802428B0 000330C0 */ sll $a2, $v1, 3 +/* B37484 802428B4 00661821 */ addu $v1, $v1, $a2 +/* B37488 802428B8 000318C0 */ sll $v1, $v1, 3 +/* B3748C 802428BC 3C01800B */ lui $at, 0x800b +/* B37490 802428C0 00230821 */ addu $at, $at, $v1 +/* B37494 802428C4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B37498 802428C8 8E150004 */ lw $s5, 4($s0) +/* B3749C 802428CC 4600010D */ trunc.w.s $f4, $f0 +/* B374A0 802428D0 44112000 */ mfc1 $s1, $f4 +/* B374A4 802428D4 0C0B1EAF */ jal get_variable +/* B374A8 802428D8 0040982D */ daddu $s3, $v0, $zero +/* B374AC 802428DC 4491B000 */ mtc1 $s1, $f22 +/* B374B0 802428E0 00000000 */ nop +/* B374B4 802428E4 4680B5A0 */ cvt.s.w $f22, $f22 +/* B374B8 802428E8 4600B306 */ mov.s $f12, $f22 +/* B374BC 802428EC 0C00A8D4 */ jal cos_deg +/* B374C0 802428F0 0040802D */ daddu $s0, $v0, $zero +/* B374C4 802428F4 4493A000 */ mtc1 $s3, $f20 +/* B374C8 802428F8 00000000 */ nop +/* B374CC 802428FC 4680A520 */ cvt.s.w $f20, $f20 +/* B374D0 80242900 4600A002 */ mul.s $f0, $f20, $f0 +/* B374D4 80242904 00000000 */ nop +/* B374D8 80242908 0240202D */ daddu $a0, $s2, $zero +/* B374DC 8024290C 44901000 */ mtc1 $s0, $f2 +/* B374E0 80242910 00000000 */ nop +/* B374E4 80242914 468010A0 */ cvt.s.w $f2, $f2 +/* B374E8 80242918 46001081 */ sub.s $f2, $f2, $f0 +/* B374EC 8024291C 3C05F4AC */ lui $a1, 0xf4ac +/* B374F0 80242920 4600110D */ trunc.w.s $f4, $f2 +/* B374F4 80242924 44102000 */ mfc1 $s0, $f4 +/* B374F8 80242928 0C0B1EAF */ jal get_variable +/* B374FC 8024292C 34A5D483 */ ori $a1, $a1, 0xd483 +/* B37500 80242930 4600B306 */ mov.s $f12, $f22 +/* B37504 80242934 0C00A8BB */ jal sin_deg +/* B37508 80242938 0040882D */ daddu $s1, $v0, $zero +/* B3750C 8024293C 4600A502 */ mul.s $f20, $f20, $f0 +/* B37510 80242940 00000000 */ nop +/* B37514 80242944 0240202D */ daddu $a0, $s2, $zero +/* B37518 80242948 44910000 */ mtc1 $s1, $f0 +/* B3751C 8024294C 00000000 */ nop +/* B37520 80242950 46800020 */ cvt.s.w $f0, $f0 +/* B37524 80242954 46140001 */ sub.s $f0, $f0, $f20 +/* B37528 80242958 0280282D */ daddu $a1, $s4, $zero +/* B3752C 8024295C 02173023 */ subu $a2, $s0, $s7 +/* B37530 80242960 4600010D */ trunc.w.s $f4, $f0 +/* B37534 80242964 44102000 */ mfc1 $s0, $f4 +/* B37538 80242968 0C0B2026 */ jal set_variable +/* B3753C 8024296C 02168023 */ subu $s0, $s0, $s6 +/* B37540 80242970 0240202D */ daddu $a0, $s2, $zero +/* B37544 80242974 02A0282D */ daddu $a1, $s5, $zero +/* B37548 80242978 0C0B2026 */ jal set_variable +/* B3754C 8024297C 0200302D */ daddu $a2, $s0, $zero +/* B37550 80242980 8FBF0030 */ lw $ra, 0x30($sp) +/* B37554 80242984 8FB7002C */ lw $s7, 0x2c($sp) +/* B37558 80242988 8FB60028 */ lw $s6, 0x28($sp) +/* B3755C 8024298C 8FB50024 */ lw $s5, 0x24($sp) +/* B37560 80242990 8FB40020 */ lw $s4, 0x20($sp) +/* B37564 80242994 8FB3001C */ lw $s3, 0x1c($sp) +/* B37568 80242998 8FB20018 */ lw $s2, 0x18($sp) +/* B3756C 8024299C 8FB10014 */ lw $s1, 0x14($sp) +/* B37570 802429A0 8FB00010 */ lw $s0, 0x10($sp) +/* B37574 802429A4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* B37578 802429A8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* B3757C 802429AC 24020002 */ addiu $v0, $zero, 2 +/* B37580 802429B0 03E00008 */ jr $ra +/* B37584 802429B4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802429B8.s b/asm/nonmatchings/world/area_jan/jan_03/func_802429B8.s new file mode 100644 index 0000000000..a975cf7776 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802429B8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429B8 +/* B37588 802429B8 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B3758C 802429BC 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B37590 802429C0 10A00002 */ beqz $a1, .L802429CC +/* B37594 802429C4 2402003C */ addiu $v0, $zero, 0x3c +/* B37598 802429C8 AC820070 */ sw $v0, 0x70($a0) +.L802429CC: +/* B3759C 802429CC C4620080 */ lwc1 $f2, 0x80($v1) +/* B375A0 802429D0 3C0141F0 */ lui $at, 0x41f0 +/* B375A4 802429D4 44810000 */ mtc1 $at, $f0 +/* B375A8 802429D8 00000000 */ nop +/* B375AC 802429DC 46001000 */ add.s $f0, $f2, $f0 +/* B375B0 802429E0 3C0143B4 */ lui $at, 0x43b4 +/* B375B4 802429E4 44811000 */ mtc1 $at, $f2 +/* B375B8 802429E8 00000000 */ nop +/* B375BC 802429EC 4600103E */ c.le.s $f2, $f0 +/* B375C0 802429F0 00000000 */ nop +/* B375C4 802429F4 45000003 */ bc1f .L80242A04 +/* B375C8 802429F8 E4600080 */ swc1 $f0, 0x80($v1) +/* B375CC 802429FC 46020001 */ sub.s $f0, $f0, $f2 +/* B375D0 80242A00 E4600080 */ swc1 $f0, 0x80($v1) +.L80242A04: +/* B375D4 80242A04 8C820070 */ lw $v0, 0x70($a0) +/* B375D8 80242A08 2442FFFF */ addiu $v0, $v0, -1 +/* B375DC 80242A0C AC820070 */ sw $v0, 0x70($a0) +/* B375E0 80242A10 000217C3 */ sra $v0, $v0, 0x1f +/* B375E4 80242A14 03E00008 */ jr $ra +/* B375E8 80242A18 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242A1C_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242A1C_B34BD0.s new file mode 100644 index 0000000000..e7d25b3e55 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242A1C_B34BD0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A1C_B375EC +/* B375EC 80242A1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B375F0 80242A20 AFB10014 */ sw $s1, 0x14($sp) +/* B375F4 80242A24 0080882D */ daddu $s1, $a0, $zero +/* B375F8 80242A28 AFB00010 */ sw $s0, 0x10($sp) +/* B375FC 80242A2C 00A0802D */ daddu $s0, $a1, $zero +/* B37600 80242A30 AFBF0018 */ sw $ra, 0x18($sp) +/* B37604 80242A34 0C00EABB */ jal get_npc_unsafe +/* B37608 80242A38 2404FFFC */ addiu $a0, $zero, -4 +/* B3760C 80242A3C 12000003 */ beqz $s0, .L80242A4C +/* B37610 80242A40 0040182D */ daddu $v1, $v0, $zero +/* B37614 80242A44 2402003C */ addiu $v0, $zero, 0x3c +/* B37618 80242A48 AE220070 */ sw $v0, 0x70($s1) +.L80242A4C: +/* B3761C 80242A4C C462000C */ lwc1 $f2, 0xc($v1) +/* B37620 80242A50 3C0141F0 */ lui $at, 0x41f0 +/* B37624 80242A54 44810000 */ mtc1 $at, $f0 +/* B37628 80242A58 00000000 */ nop +/* B3762C 80242A5C 46001000 */ add.s $f0, $f2, $f0 +/* B37630 80242A60 3C0143B4 */ lui $at, 0x43b4 +/* B37634 80242A64 44811000 */ mtc1 $at, $f2 +/* B37638 80242A68 00000000 */ nop +/* B3763C 80242A6C 4600103E */ c.le.s $f2, $f0 +/* B37640 80242A70 00000000 */ nop +/* B37644 80242A74 45000003 */ bc1f .L80242A84 +/* B37648 80242A78 E460000C */ swc1 $f0, 0xc($v1) +/* B3764C 80242A7C 46020001 */ sub.s $f0, $f0, $f2 +/* B37650 80242A80 E460000C */ swc1 $f0, 0xc($v1) +.L80242A84: +/* B37654 80242A84 8E230070 */ lw $v1, 0x70($s1) +/* B37658 80242A88 2463FFFF */ addiu $v1, $v1, -1 +/* B3765C 80242A8C 000317C3 */ sra $v0, $v1, 0x1f +/* B37660 80242A90 AE230070 */ sw $v1, 0x70($s1) +/* B37664 80242A94 8FBF0018 */ lw $ra, 0x18($sp) +/* B37668 80242A98 8FB10014 */ lw $s1, 0x14($sp) +/* B3766C 80242A9C 8FB00010 */ lw $s0, 0x10($sp) +/* B37670 80242AA0 30420002 */ andi $v0, $v0, 2 +/* B37674 80242AA4 03E00008 */ jr $ra +/* B37678 80242AA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242AAC.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242AAC.s new file mode 100644 index 0000000000..8eecf63cec --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242AAC.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AAC +/* B3767C 80242AAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B37680 80242AB0 AFB10014 */ sw $s1, 0x14($sp) +/* B37684 80242AB4 0080882D */ daddu $s1, $a0, $zero +/* B37688 80242AB8 AFB00010 */ sw $s0, 0x10($sp) +/* B3768C 80242ABC 00A0802D */ daddu $s0, $a1, $zero +/* B37690 80242AC0 AFBF001C */ sw $ra, 0x1c($sp) +/* B37694 80242AC4 AFB20018 */ sw $s2, 0x18($sp) +/* B37698 80242AC8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B3769C 80242ACC 0C00EABB */ jal get_npc_unsafe +/* B376A0 80242AD0 2404FFFC */ addiu $a0, $zero, -4 +/* B376A4 80242AD4 12000017 */ beqz $s0, .L80242B34 +/* B376A8 80242AD8 0040902D */ daddu $s2, $v0, $zero +/* B376AC 80242ADC 0220202D */ daddu $a0, $s1, $zero +/* B376B0 80242AE0 3C05FE36 */ lui $a1, 0xfe36 +/* B376B4 80242AE4 0C0B210B */ jal get_float_variable +/* B376B8 80242AE8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B376BC 80242AEC 0220202D */ daddu $a0, $s1, $zero +/* B376C0 80242AF0 3C05FE36 */ lui $a1, 0xfe36 +/* B376C4 80242AF4 3C014270 */ lui $at, 0x4270 +/* B376C8 80242AF8 4481A000 */ mtc1 $at, $f20 +/* B376CC 80242AFC 34A53C85 */ ori $a1, $a1, 0x3c85 +/* B376D0 80242B00 46140003 */ div.s $f0, $f0, $f20 +/* B376D4 80242B04 0C0B210B */ jal get_float_variable +/* B376D8 80242B08 E6200074 */ swc1 $f0, 0x74($s1) +/* B376DC 80242B0C 0220202D */ daddu $a0, $s1, $zero +/* B376E0 80242B10 3C05FE36 */ lui $a1, 0xfe36 +/* B376E4 80242B14 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B376E8 80242B18 46140003 */ div.s $f0, $f0, $f20 +/* B376EC 80242B1C 0C0B210B */ jal get_float_variable +/* B376F0 80242B20 E6200078 */ swc1 $f0, 0x78($s1) +/* B376F4 80242B24 46140003 */ div.s $f0, $f0, $f20 +/* B376F8 80242B28 2402003C */ addiu $v0, $zero, 0x3c +/* B376FC 80242B2C E620007C */ swc1 $f0, 0x7c($s1) +/* B37700 80242B30 AE220070 */ sw $v0, 0x70($s1) +.L80242B34: +/* B37704 80242B34 C6400038 */ lwc1 $f0, 0x38($s2) +/* B37708 80242B38 C6220074 */ lwc1 $f2, 0x74($s1) +/* B3770C 80242B3C 46020000 */ add.s $f0, $f0, $f2 +/* B37710 80242B40 E6400038 */ swc1 $f0, 0x38($s2) +/* B37714 80242B44 C640003C */ lwc1 $f0, 0x3c($s2) +/* B37718 80242B48 C6220078 */ lwc1 $f2, 0x78($s1) +/* B3771C 80242B4C 46020000 */ add.s $f0, $f0, $f2 +/* B37720 80242B50 E640003C */ swc1 $f0, 0x3c($s2) +/* B37724 80242B54 C6400040 */ lwc1 $f0, 0x40($s2) +/* B37728 80242B58 C622007C */ lwc1 $f2, 0x7c($s1) +/* B3772C 80242B5C 46020000 */ add.s $f0, $f0, $f2 +/* B37730 80242B60 E6400040 */ swc1 $f0, 0x40($s2) +/* B37734 80242B64 8E230070 */ lw $v1, 0x70($s1) +/* B37738 80242B68 2463FFFF */ addiu $v1, $v1, -1 +/* B3773C 80242B6C 2C620001 */ sltiu $v0, $v1, 1 +/* B37740 80242B70 AE230070 */ sw $v1, 0x70($s1) +/* B37744 80242B74 8FBF001C */ lw $ra, 0x1c($sp) +/* B37748 80242B78 8FB20018 */ lw $s2, 0x18($sp) +/* B3774C 80242B7C 8FB10014 */ lw $s1, 0x14($sp) +/* B37750 80242B80 8FB00010 */ lw $s0, 0x10($sp) +/* B37754 80242B84 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B37758 80242B88 00021040 */ sll $v0, $v0, 1 +/* B3775C 80242B8C 03E00008 */ jr $ra +/* B37760 80242B90 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242B94.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242B94.s new file mode 100644 index 0000000000..b87c78f098 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242B94.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B94 +/* B37764 80242B94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B37768 80242B98 3C058025 */ lui $a1, 0x8025 +/* B3776C 80242B9C 8CA5FEF0 */ lw $a1, -0x110($a1) +/* B37770 80242BA0 AFBF0010 */ sw $ra, 0x10($sp) +/* B37774 80242BA4 0C0B1EAF */ jal get_variable +/* B37778 80242BA8 0000202D */ daddu $a0, $zero, $zero +/* B3777C 80242BAC 0040182D */ daddu $v1, $v0, $zero +/* B37780 80242BB0 24020001 */ addiu $v0, $zero, 1 +/* B37784 80242BB4 14620006 */ bne $v1, $v0, .L80242BD0 +/* B37788 80242BB8 24020002 */ addiu $v0, $zero, 2 +/* B3778C 80242BBC 44800000 */ mtc1 $zero, $f0 +/* B37790 80242BC0 00000000 */ nop +/* B37794 80242BC4 44050000 */ mfc1 $a1, $f0 +/* B37798 80242BC8 08090AFA */ j .L80242BE8 +/* B3779C 80242BCC 0000202D */ daddu $a0, $zero, $zero +.L80242BD0: +/* B377A0 80242BD0 14620008 */ bne $v1, $v0, .L80242BF4 +/* B377A4 80242BD4 24040001 */ addiu $a0, $zero, 1 +/* B377A8 80242BD8 44800000 */ mtc1 $zero, $f0 +/* B377AC 80242BDC 00000000 */ nop +/* B377B0 80242BE0 44050000 */ mfc1 $a1, $f0 +/* B377B4 80242BE4 00000000 */ nop +.L80242BE8: +/* B377B8 80242BE8 00A0302D */ daddu $a2, $a1, $zero +/* B377BC 80242BEC 0C01C5A4 */ jal func_80071690 +/* B377C0 80242BF0 00A0382D */ daddu $a3, $a1, $zero +.L80242BF4: +/* B377C4 80242BF4 8FBF0010 */ lw $ra, 0x10($sp) +/* B377C8 80242BF8 03E00008 */ jr $ra +/* B377CC 80242BFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242C00.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242C00.s new file mode 100644 index 0000000000..24a9564a5e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242C00.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C00 +/* B377D0 80242C00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B377D4 80242C04 3C058024 */ lui $a1, 0x8024 +/* B377D8 80242C08 24A52B94 */ addiu $a1, $a1, 0x2b94 +/* B377DC 80242C0C AFBF0010 */ sw $ra, 0x10($sp) +/* B377E0 80242C10 0C048C8F */ jal bind_dynamic_entity_7 +/* B377E4 80242C14 0000202D */ daddu $a0, $zero, $zero +/* B377E8 80242C18 8FBF0010 */ lw $ra, 0x10($sp) +/* B377EC 80242C1C 3C018025 */ lui $at, 0x8025 +/* B377F0 80242C20 AC22FED8 */ sw $v0, -0x128($at) +/* B377F4 80242C24 24020002 */ addiu $v0, $zero, 2 +/* B377F8 80242C28 03E00008 */ jr $ra +/* B377FC 80242C2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242C30.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242C30.s new file mode 100644 index 0000000000..f7d28ca15c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242C30.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C30 +/* B37800 80242C30 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B37804 80242C34 AFB10014 */ sw $s1, 0x14($sp) +/* B37808 80242C38 0080882D */ daddu $s1, $a0, $zero +/* B3780C 80242C3C AFBF0018 */ sw $ra, 0x18($sp) +/* B37810 80242C40 AFB00010 */ sw $s0, 0x10($sp) +/* B37814 80242C44 8E30000C */ lw $s0, 0xc($s1) +/* B37818 80242C48 8E050000 */ lw $a1, ($s0) +/* B3781C 80242C4C 0C0B1EAF */ jal get_variable +/* B37820 80242C50 26100004 */ addiu $s0, $s0, 4 +/* B37824 80242C54 AE22008C */ sw $v0, 0x8c($s1) +/* B37828 80242C58 8E050000 */ lw $a1, ($s0) +/* B3782C 80242C5C 26100004 */ addiu $s0, $s0, 4 +/* B37830 80242C60 0C0B1EAF */ jal get_variable +/* B37834 80242C64 0220202D */ daddu $a0, $s1, $zero +/* B37838 80242C68 AE220090 */ sw $v0, 0x90($s1) +/* B3783C 80242C6C 8E050000 */ lw $a1, ($s0) +/* B37840 80242C70 26100004 */ addiu $s0, $s0, 4 +/* B37844 80242C74 0C0B1EAF */ jal get_variable +/* B37848 80242C78 0220202D */ daddu $a0, $s1, $zero +/* B3784C 80242C7C AE220094 */ sw $v0, 0x94($s1) +/* B37850 80242C80 8E050000 */ lw $a1, ($s0) +/* B37854 80242C84 26100004 */ addiu $s0, $s0, 4 +/* B37858 80242C88 0C0B1EAF */ jal get_variable +/* B3785C 80242C8C 0220202D */ daddu $a0, $s1, $zero +/* B37860 80242C90 AE220098 */ sw $v0, 0x98($s1) +/* B37864 80242C94 8E050000 */ lw $a1, ($s0) +/* B37868 80242C98 26100004 */ addiu $s0, $s0, 4 +/* B3786C 80242C9C 0C0B1EAF */ jal get_variable +/* B37870 80242CA0 0220202D */ daddu $a0, $s1, $zero +/* B37874 80242CA4 AE22009C */ sw $v0, 0x9c($s1) +/* B37878 80242CA8 8E050000 */ lw $a1, ($s0) +/* B3787C 80242CAC 26100004 */ addiu $s0, $s0, 4 +/* B37880 80242CB0 0C0B1EAF */ jal get_variable +/* B37884 80242CB4 0220202D */ daddu $a0, $s1, $zero +/* B37888 80242CB8 AE2200A0 */ sw $v0, 0xa0($s1) +/* B3788C 80242CBC 8E050000 */ lw $a1, ($s0) +/* B37890 80242CC0 26100004 */ addiu $s0, $s0, 4 +/* B37894 80242CC4 0C0B1EAF */ jal get_variable +/* B37898 80242CC8 0220202D */ daddu $a0, $s1, $zero +/* B3789C 80242CCC AE2200A4 */ sw $v0, 0xa4($s1) +/* B378A0 80242CD0 8E050000 */ lw $a1, ($s0) +/* B378A4 80242CD4 26100004 */ addiu $s0, $s0, 4 +/* B378A8 80242CD8 0C0B1EAF */ jal get_variable +/* B378AC 80242CDC 0220202D */ daddu $a0, $s1, $zero +/* B378B0 80242CE0 AE2200A8 */ sw $v0, 0xa8($s1) +/* B378B4 80242CE4 8E050000 */ lw $a1, ($s0) +/* B378B8 80242CE8 26100004 */ addiu $s0, $s0, 4 +/* B378BC 80242CEC 0C0B1EAF */ jal get_variable +/* B378C0 80242CF0 0220202D */ daddu $a0, $s1, $zero +/* B378C4 80242CF4 AE2200AC */ sw $v0, 0xac($s1) +/* B378C8 80242CF8 8E050000 */ lw $a1, ($s0) +/* B378CC 80242CFC 0C0B1EAF */ jal get_variable +/* B378D0 80242D00 0220202D */ daddu $a0, $s1, $zero +/* B378D4 80242D04 AE2200B0 */ sw $v0, 0xb0($s1) +/* B378D8 80242D08 8FBF0018 */ lw $ra, 0x18($sp) +/* B378DC 80242D0C 8FB10014 */ lw $s1, 0x14($sp) +/* B378E0 80242D10 8FB00010 */ lw $s0, 0x10($sp) +/* B378E4 80242D14 24020002 */ addiu $v0, $zero, 2 +/* B378E8 80242D18 03E00008 */ jr $ra +/* B378EC 80242D1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242D20.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242D20.s new file mode 100644 index 0000000000..6b364ee275 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242D20.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D20 +/* B378F0 80242D20 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B378F4 80242D24 AFB1001C */ sw $s1, 0x1c($sp) +/* B378F8 80242D28 0080882D */ daddu $s1, $a0, $zero +/* B378FC 80242D2C AFBF0034 */ sw $ra, 0x34($sp) +/* B37900 80242D30 AFB60030 */ sw $s6, 0x30($sp) +/* B37904 80242D34 AFB5002C */ sw $s5, 0x2c($sp) +/* B37908 80242D38 AFB40028 */ sw $s4, 0x28($sp) +/* B3790C 80242D3C AFB30024 */ sw $s3, 0x24($sp) +/* B37910 80242D40 AFB20020 */ sw $s2, 0x20($sp) +/* B37914 80242D44 AFB00018 */ sw $s0, 0x18($sp) +/* B37918 80242D48 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B3791C 80242D4C F7B40038 */ sdc1 $f20, 0x38($sp) +/* B37920 80242D50 8E30000C */ lw $s0, 0xc($s1) +/* B37924 80242D54 8E160000 */ lw $s6, ($s0) +/* B37928 80242D58 26100004 */ addiu $s0, $s0, 4 +/* B3792C 80242D5C 0C0B1EAF */ jal get_variable +/* B37930 80242D60 02C0282D */ daddu $a1, $s6, $zero +/* B37934 80242D64 44820000 */ mtc1 $v0, $f0 +/* B37938 80242D68 00000000 */ nop +/* B3793C 80242D6C 46800020 */ cvt.s.w $f0, $f0 +/* B37940 80242D70 E7A00010 */ swc1 $f0, 0x10($sp) +/* B37944 80242D74 8E140000 */ lw $s4, ($s0) +/* B37948 80242D78 26100004 */ addiu $s0, $s0, 4 +/* B3794C 80242D7C 0220202D */ daddu $a0, $s1, $zero +/* B37950 80242D80 0C0B1EAF */ jal get_variable +/* B37954 80242D84 0280282D */ daddu $a1, $s4, $zero +/* B37958 80242D88 0220202D */ daddu $a0, $s1, $zero +/* B3795C 80242D8C 8E150000 */ lw $s5, ($s0) +/* B37960 80242D90 4482B000 */ mtc1 $v0, $f22 +/* B37964 80242D94 00000000 */ nop +/* B37968 80242D98 4680B5A0 */ cvt.s.w $f22, $f22 +/* B3796C 80242D9C 0C0B1EAF */ jal get_variable +/* B37970 80242DA0 02A0282D */ daddu $a1, $s5, $zero +/* B37974 80242DA4 2404FFFC */ addiu $a0, $zero, -4 +/* B37978 80242DA8 44820000 */ mtc1 $v0, $f0 +/* B3797C 80242DAC 00000000 */ nop +/* B37980 80242DB0 46800020 */ cvt.s.w $f0, $f0 +/* B37984 80242DB4 0C00EABB */ jal get_npc_unsafe +/* B37988 80242DB8 E7A00014 */ swc1 $f0, 0x14($sp) +/* B3798C 80242DBC 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* B37990 80242DC0 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* B37994 80242DC4 3C014334 */ lui $at, 0x4334 +/* B37998 80242DC8 44816000 */ mtc1 $at, $f12 +/* B3799C 80242DCC 00041880 */ sll $v1, $a0, 2 +/* B379A0 80242DD0 00641821 */ addu $v1, $v1, $a0 +/* B379A4 80242DD4 00031880 */ sll $v1, $v1, 2 +/* B379A8 80242DD8 00641823 */ subu $v1, $v1, $a0 +/* B379AC 80242DDC 000320C0 */ sll $a0, $v1, 3 +/* B379B0 80242DE0 00641821 */ addu $v1, $v1, $a0 +/* B379B4 80242DE4 000318C0 */ sll $v1, $v1, 3 +/* B379B8 80242DE8 3C01800B */ lui $at, 0x800b +/* B379BC 80242DEC 00230821 */ addu $at, $at, $v1 +/* B379C0 80242DF0 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B379C4 80242DF4 460C0300 */ add.s $f12, $f0, $f12 +/* B379C8 80242DF8 0C00A6C9 */ jal clamp_angle +/* B379CC 80242DFC 0040982D */ daddu $s3, $v0, $zero +/* B379D0 80242E00 27B00010 */ addiu $s0, $sp, 0x10 +/* B379D4 80242E04 0200202D */ daddu $a0, $s0, $zero +/* B379D8 80242E08 27B20014 */ addiu $s2, $sp, 0x14 +/* B379DC 80242E0C 0240282D */ daddu $a1, $s2, $zero +/* B379E0 80242E10 3C064170 */ lui $a2, 0x4170 +/* B379E4 80242E14 8E67000C */ lw $a3, 0xc($s3) +/* B379E8 80242E18 0C00A7E7 */ jal add_vec2D_polar +/* B379EC 80242E1C 46000506 */ mov.s $f20, $f0 +/* B379F0 80242E20 0200202D */ daddu $a0, $s0, $zero +/* B379F4 80242E24 3C064120 */ lui $a2, 0x4120 +/* B379F8 80242E28 4407A000 */ mfc1 $a3, $f20 +/* B379FC 80242E2C 0C00A7E7 */ jal add_vec2D_polar +/* B37A00 80242E30 0240282D */ daddu $a1, $s2, $zero +/* B37A04 80242E34 0220202D */ daddu $a0, $s1, $zero +/* B37A08 80242E38 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B37A0C 80242E3C 4600008D */ trunc.w.s $f2, $f0 +/* B37A10 80242E40 44061000 */ mfc1 $a2, $f2 +/* B37A14 80242E44 0C0B2026 */ jal set_variable +/* B37A18 80242E48 02C0282D */ daddu $a1, $s6, $zero +/* B37A1C 80242E4C 0220202D */ daddu $a0, $s1, $zero +/* B37A20 80242E50 4600B08D */ trunc.w.s $f2, $f22 +/* B37A24 80242E54 44061000 */ mfc1 $a2, $f2 +/* B37A28 80242E58 0C0B2026 */ jal set_variable +/* B37A2C 80242E5C 0280282D */ daddu $a1, $s4, $zero +/* B37A30 80242E60 0220202D */ daddu $a0, $s1, $zero +/* B37A34 80242E64 C7A00014 */ lwc1 $f0, 0x14($sp) +/* B37A38 80242E68 4600008D */ trunc.w.s $f2, $f0 +/* B37A3C 80242E6C 44061000 */ mfc1 $a2, $f2 +/* B37A40 80242E70 0C0B2026 */ jal set_variable +/* B37A44 80242E74 02A0282D */ daddu $a1, $s5, $zero +/* B37A48 80242E78 8FBF0034 */ lw $ra, 0x34($sp) +/* B37A4C 80242E7C 8FB60030 */ lw $s6, 0x30($sp) +/* B37A50 80242E80 8FB5002C */ lw $s5, 0x2c($sp) +/* B37A54 80242E84 8FB40028 */ lw $s4, 0x28($sp) +/* B37A58 80242E88 8FB30024 */ lw $s3, 0x24($sp) +/* B37A5C 80242E8C 8FB20020 */ lw $s2, 0x20($sp) +/* B37A60 80242E90 8FB1001C */ lw $s1, 0x1c($sp) +/* B37A64 80242E94 8FB00018 */ lw $s0, 0x18($sp) +/* B37A68 80242E98 D7B60040 */ ldc1 $f22, 0x40($sp) +/* B37A6C 80242E9C D7B40038 */ ldc1 $f20, 0x38($sp) +/* B37A70 80242EA0 24020002 */ addiu $v0, $zero, 2 +/* B37A74 80242EA4 03E00008 */ jr $ra +/* B37A78 80242EA8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242EAC_B34BD0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242EAC_B34BD0.s new file mode 100644 index 0000000000..6f83dce1ab --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242EAC_B34BD0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EAC_B37A7C +/* B37A7C 80242EAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B37A80 80242EB0 AFB00010 */ sw $s0, 0x10($sp) +/* B37A84 80242EB4 0080802D */ daddu $s0, $a0, $zero +/* B37A88 80242EB8 AFBF0014 */ sw $ra, 0x14($sp) +/* B37A8C 80242EBC 0C00EABB */ jal get_npc_unsafe +/* B37A90 80242EC0 8E04008C */ lw $a0, 0x8c($s0) +/* B37A94 80242EC4 0040282D */ daddu $a1, $v0, $zero +/* B37A98 80242EC8 8E040094 */ lw $a0, 0x94($s0) +/* B37A9C 80242ECC 8CA30028 */ lw $v1, 0x28($a1) +/* B37AA0 80242ED0 ACA40028 */ sw $a0, 0x28($a1) +/* B37AA4 80242ED4 8FBF0014 */ lw $ra, 0x14($sp) +/* B37AA8 80242ED8 8FB00010 */ lw $s0, 0x10($sp) +/* B37AAC 80242EDC 24020002 */ addiu $v0, $zero, 2 +/* B37AB0 80242EE0 3C018025 */ lui $at, 0x8025 +/* B37AB4 80242EE4 AC23FF04 */ sw $v1, -0xfc($at) +/* B37AB8 80242EE8 03E00008 */ jr $ra +/* B37ABC 80242EEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242EF0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242EF0.s new file mode 100644 index 0000000000..6c7ef58840 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242EF0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EF0 +/* B37AC0 80242EF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B37AC4 80242EF4 AFBF0010 */ sw $ra, 0x10($sp) +/* B37AC8 80242EF8 0C00EABB */ jal get_npc_unsafe +/* B37ACC 80242EFC 8C84008C */ lw $a0, 0x8c($a0) +/* B37AD0 80242F00 3C038025 */ lui $v1, 0x8025 +/* B37AD4 80242F04 8C63FF04 */ lw $v1, -0xfc($v1) +/* B37AD8 80242F08 AC430028 */ sw $v1, 0x28($v0) +/* B37ADC 80242F0C 8FBF0010 */ lw $ra, 0x10($sp) +/* B37AE0 80242F10 24020002 */ addiu $v0, $zero, 2 +/* B37AE4 80242F14 03E00008 */ jr $ra +/* B37AE8 80242F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242F1C.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242F1C.s new file mode 100644 index 0000000000..6274180910 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242F1C.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F1C +/* B37AEC 80242F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B37AF0 80242F20 0000302D */ daddu $a2, $zero, $zero +/* B37AF4 80242F24 00C0482D */ daddu $t1, $a2, $zero +/* B37AF8 80242F28 AFBF0010 */ sw $ra, 0x10($sp) +/* B37AFC 80242F2C 8C82000C */ lw $v0, 0xc($a0) +/* B37B00 80242F30 3C088011 */ lui $t0, %hi(gPlayerData) +/* B37B04 80242F34 2508F290 */ addiu $t0, $t0, %lo(gPlayerData) +/* B37B08 80242F38 8C450000 */ lw $a1, ($v0) +.L80242F3C: +/* B37B0C 80242F3C 3C038025 */ lui $v1, 0x8025 +/* B37B10 80242F40 2463A5AC */ addiu $v1, $v1, -0x5a54 +/* B37B14 80242F44 8C620000 */ lw $v0, ($v1) +/* B37B18 80242F48 5040000A */ beql $v0, $zero, .L80242F74 +/* B37B1C 80242F4C 25290001 */ addiu $t1, $t1, 1 +/* B37B20 80242F50 850701B4 */ lh $a3, 0x1b4($t0) +.L80242F54: +/* B37B24 80242F54 8C620000 */ lw $v0, ($v1) +/* B37B28 80242F58 14E20002 */ bne $a3, $v0, .L80242F64 +/* B37B2C 80242F5C 24630004 */ addiu $v1, $v1, 4 +/* B37B30 80242F60 24C60001 */ addiu $a2, $a2, 1 +.L80242F64: +/* B37B34 80242F64 8C620000 */ lw $v0, ($v1) +/* B37B38 80242F68 1440FFFA */ bnez $v0, .L80242F54 +/* B37B3C 80242F6C 00000000 */ nop +/* B37B40 80242F70 25290001 */ addiu $t1, $t1, 1 +.L80242F74: +/* B37B44 80242F74 2922000A */ slti $v0, $t1, 0xa +/* B37B48 80242F78 1440FFF0 */ bnez $v0, .L80242F3C +/* B37B4C 80242F7C 25080002 */ addiu $t0, $t0, 2 +/* B37B50 80242F80 0C0B2026 */ jal set_variable +/* B37B54 80242F84 00000000 */ nop +/* B37B58 80242F88 8FBF0010 */ lw $ra, 0x10($sp) +/* B37B5C 80242F8C 24020002 */ addiu $v0, $zero, 2 +/* B37B60 80242F90 03E00008 */ jr $ra +/* B37B64 80242F94 27BD0018 */ addiu $sp, $sp, 0x18 +/* B37B68 80242F98 00000000 */ nop +/* B37B6C 80242F9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80242FA0.s b/asm/nonmatchings/world/area_jan/jan_03/func_80242FA0.s new file mode 100644 index 0000000000..f56ca00d0e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80242FA0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FA0 +/* B37B70 80242FA0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B37B74 80242FA4 AFB00010 */ sw $s0, 0x10($sp) +/* B37B78 80242FA8 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B37B7C 80242FAC 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B37B80 80242FB0 AFBF0018 */ sw $ra, 0x18($sp) +/* B37B84 80242FB4 AFB10014 */ sw $s1, 0x14($sp) +/* B37B88 80242FB8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B37B8C 80242FBC F7B40020 */ sdc1 $f20, 0x20($sp) +/* B37B90 80242FC0 C60C0080 */ lwc1 $f12, 0x80($s0) +/* B37B94 80242FC4 0C00A8BB */ jal sin_deg +/* B37B98 80242FC8 0080882D */ daddu $s1, $a0, $zero +/* B37B9C 80242FCC C6140054 */ lwc1 $f20, 0x54($s0) +/* B37BA0 80242FD0 3C0140A0 */ lui $at, 0x40a0 +/* B37BA4 80242FD4 4481B000 */ mtc1 $at, $f22 +/* B37BA8 80242FD8 00000000 */ nop +/* B37BAC 80242FDC 4616A502 */ mul.s $f20, $f20, $f22 +/* B37BB0 80242FE0 00000000 */ nop +/* B37BB4 80242FE4 C60C0080 */ lwc1 $f12, 0x80($s0) +/* B37BB8 80242FE8 4600A502 */ mul.s $f20, $f20, $f0 +/* B37BBC 80242FEC 0C00A8D4 */ jal cos_deg +/* B37BC0 80242FF0 00000000 */ nop +/* B37BC4 80242FF4 C6040054 */ lwc1 $f4, 0x54($s0) +/* B37BC8 80242FF8 46162102 */ mul.s $f4, $f4, $f22 +/* B37BCC 80242FFC 00000000 */ nop +/* B37BD0 80243000 C6020028 */ lwc1 $f2, 0x28($s0) +/* B37BD4 80243004 46141080 */ add.s $f2, $f2, $f20 +/* B37BD8 80243008 46000007 */ neg.s $f0, $f0 +/* B37BDC 8024300C 46002102 */ mul.s $f4, $f4, $f0 +/* B37BE0 80243010 00000000 */ nop +/* B37BE4 80243014 4600118D */ trunc.w.s $f6, $f2 +/* B37BE8 80243018 E6260084 */ swc1 $f6, 0x84($s1) +/* B37BEC 8024301C C6000030 */ lwc1 $f0, 0x30($s0) +/* B37BF0 80243020 46040000 */ add.s $f0, $f0, $f4 +/* B37BF4 80243024 4600018D */ trunc.w.s $f6, $f0 +/* B37BF8 80243028 E6260088 */ swc1 $f6, 0x88($s1) +/* B37BFC 8024302C 8FBF0018 */ lw $ra, 0x18($sp) +/* B37C00 80243030 8FB10014 */ lw $s1, 0x14($sp) +/* B37C04 80243034 8FB00010 */ lw $s0, 0x10($sp) +/* B37C08 80243038 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B37C0C 8024303C D7B40020 */ ldc1 $f20, 0x20($sp) +/* B37C10 80243040 24020002 */ addiu $v0, $zero, 2 +/* B37C14 80243044 03E00008 */ jr $ra +/* B37C18 80243048 27BD0030 */ addiu $sp, $sp, 0x30 +/* B37C1C 8024304C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_80243050.s b/asm/nonmatchings/world/area_jan/jan_03/func_80243050.s new file mode 100644 index 0000000000..cd6beaae37 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_80243050.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243050 +/* B37C20 80243050 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B37C24 80243054 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B37C28 80243058 4485A000 */ mtc1 $a1, $f20 +/* B37C2C 8024305C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B37C30 80243060 4486B000 */ mtc1 $a2, $f22 +/* B37C34 80243064 AFB00010 */ sw $s0, 0x10($sp) +/* B37C38 80243068 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B37C3C 8024306C 4487C000 */ mtc1 $a3, $f24 +/* B37C40 80243070 AFBF0014 */ sw $ra, 0x14($sp) +/* B37C44 80243074 0C019D28 */ jal guMtxIdentF +/* B37C48 80243078 0080802D */ daddu $s0, $a0, $zero +/* B37C4C 8024307C 4616A582 */ mul.s $f22, $f20, $f22 +/* B37C50 80243080 00000000 */ nop +/* B37C54 80243084 4618A502 */ mul.s $f20, $f20, $f24 +/* B37C58 80243088 00000000 */ nop +/* B37C5C 8024308C 3C013F80 */ lui $at, 0x3f80 +/* B37C60 80243090 44810000 */ mtc1 $at, $f0 +/* B37C64 80243094 00000000 */ nop +/* B37C68 80243098 E6000014 */ swc1 $f0, 0x14($s0) +/* B37C6C 8024309C E6160010 */ swc1 $f22, 0x10($s0) +/* B37C70 802430A0 E6140018 */ swc1 $f20, 0x18($s0) +/* B37C74 802430A4 8FBF0014 */ lw $ra, 0x14($sp) +/* B37C78 802430A8 8FB00010 */ lw $s0, 0x10($sp) +/* B37C7C 802430AC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B37C80 802430B0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B37C84 802430B4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B37C88 802430B8 03E00008 */ jr $ra +/* B37C8C 802430BC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_03/func_802430C0.s b/asm/nonmatchings/world/area_jan/jan_03/func_802430C0.s new file mode 100644 index 0000000000..cfe5fd9f08 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_03/func_802430C0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430C0 +/* B37C90 802430C0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B37C94 802430C4 AFB10054 */ sw $s1, 0x54($sp) +/* B37C98 802430C8 0080882D */ daddu $s1, $a0, $zero +/* B37C9C 802430CC AFBF005C */ sw $ra, 0x5c($sp) +/* B37CA0 802430D0 AFB20058 */ sw $s2, 0x58($sp) +/* B37CA4 802430D4 AFB00050 */ sw $s0, 0x50($sp) +/* B37CA8 802430D8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B37CAC 802430DC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B37CB0 802430E0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B37CB4 802430E4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B37CB8 802430E8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B37CBC 802430EC 8E30000C */ lw $s0, 0xc($s1) +/* B37CC0 802430F0 8E050000 */ lw $a1, ($s0) +/* B37CC4 802430F4 0C0B1EAF */ jal get_variable +/* B37CC8 802430F8 26100004 */ addiu $s0, $s0, 4 +/* B37CCC 802430FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B37CD0 80243100 0040202D */ daddu $a0, $v0, $zero +/* B37CD4 80243104 8E050000 */ lw $a1, ($s0) +/* B37CD8 80243108 26100004 */ addiu $s0, $s0, 4 +/* B37CDC 8024310C 0220202D */ daddu $a0, $s1, $zero +/* B37CE0 80243110 0C0B210B */ jal get_float_variable +/* B37CE4 80243114 0040902D */ daddu $s2, $v0, $zero +/* B37CE8 80243118 8E050000 */ lw $a1, ($s0) +/* B37CEC 8024311C 26100004 */ addiu $s0, $s0, 4 +/* B37CF0 80243120 0220202D */ daddu $a0, $s1, $zero +/* B37CF4 80243124 0C0B210B */ jal get_float_variable +/* B37CF8 80243128 46000706 */ mov.s $f28, $f0 +/* B37CFC 8024312C 8E050000 */ lw $a1, ($s0) +/* B37D00 80243130 26100004 */ addiu $s0, $s0, 4 +/* B37D04 80243134 0220202D */ daddu $a0, $s1, $zero +/* B37D08 80243138 0C0B210B */ jal get_float_variable +/* B37D0C 8024313C 46000686 */ mov.s $f26, $f0 +/* B37D10 80243140 0220202D */ daddu $a0, $s1, $zero +/* B37D14 80243144 8E050000 */ lw $a1, ($s0) +/* B37D18 80243148 0C0B210B */ jal get_float_variable +/* B37D1C 8024314C 46000586 */ mov.s $f22, $f0 +/* B37D20 80243150 0240202D */ daddu $a0, $s2, $zero +/* B37D24 80243154 0C046B4C */ jal get_model_from_list_index +/* B37D28 80243158 46000606 */ mov.s $f24, $f0 +/* B37D2C 8024315C 0040882D */ daddu $s1, $v0, $zero +/* B37D30 80243160 96220000 */ lhu $v0, ($s1) +/* B37D34 80243164 30420400 */ andi $v0, $v0, 0x400 +/* B37D38 80243168 1440001E */ bnez $v0, .L802431E4 +/* B37D3C 8024316C 26300058 */ addiu $s0, $s1, 0x58 +/* B37D40 80243170 4480A000 */ mtc1 $zero, $f20 +/* B37D44 80243174 4406B000 */ mfc1 $a2, $f22 +/* B37D48 80243178 4405A000 */ mfc1 $a1, $f20 +/* B37D4C 8024317C 4407A000 */ mfc1 $a3, $f20 +/* B37D50 80243180 0C019E40 */ jal guTranslateF +/* B37D54 80243184 0200202D */ daddu $a0, $s0, $zero +/* B37D58 80243188 4405E000 */ mfc1 $a1, $f28 +/* B37D5C 8024318C 4406D000 */ mfc1 $a2, $f26 +/* B37D60 80243190 4407C000 */ mfc1 $a3, $f24 +/* B37D64 80243194 0C090C14 */ jal func_80243050 +/* B37D68 80243198 27A40010 */ addiu $a0, $sp, 0x10 +/* B37D6C 8024319C 27A40010 */ addiu $a0, $sp, 0x10 +/* B37D70 802431A0 0200282D */ daddu $a1, $s0, $zero +/* B37D74 802431A4 0C019D80 */ jal guMtxCatF +/* B37D78 802431A8 0200302D */ daddu $a2, $s0, $zero +/* B37D7C 802431AC 27A40010 */ addiu $a0, $sp, 0x10 +/* B37D80 802431B0 4600B587 */ neg.s $f22, $f22 +/* B37D84 802431B4 4405A000 */ mfc1 $a1, $f20 +/* B37D88 802431B8 4406B000 */ mfc1 $a2, $f22 +/* B37D8C 802431BC 0C019E40 */ jal guTranslateF +/* B37D90 802431C0 00A0382D */ daddu $a3, $a1, $zero +/* B37D94 802431C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B37D98 802431C8 0200282D */ daddu $a1, $s0, $zero +/* B37D9C 802431CC 0C019D80 */ jal guMtxCatF +/* B37DA0 802431D0 00A0302D */ daddu $a2, $a1, $zero +/* B37DA4 802431D4 96220000 */ lhu $v0, ($s1) +/* B37DA8 802431D8 34421400 */ ori $v0, $v0, 0x1400 +/* B37DAC 802431DC 08090C97 */ j .L8024325C +/* B37DB0 802431E0 A6220000 */ sh $v0, ($s1) +.L802431E4: +/* B37DB4 802431E4 4480A000 */ mtc1 $zero, $f20 +/* B37DB8 802431E8 4406B000 */ mfc1 $a2, $f22 +/* B37DBC 802431EC 4405A000 */ mfc1 $a1, $f20 +/* B37DC0 802431F0 4407A000 */ mfc1 $a3, $f20 +/* B37DC4 802431F4 0C019E40 */ jal guTranslateF +/* B37DC8 802431F8 27A40010 */ addiu $a0, $sp, 0x10 +/* B37DCC 802431FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B37DD0 80243200 26300058 */ addiu $s0, $s1, 0x58 +/* B37DD4 80243204 0200282D */ daddu $a1, $s0, $zero +/* B37DD8 80243208 0C019D80 */ jal guMtxCatF +/* B37DDC 8024320C 0200302D */ daddu $a2, $s0, $zero +/* B37DE0 80243210 4405E000 */ mfc1 $a1, $f28 +/* B37DE4 80243214 4406D000 */ mfc1 $a2, $f26 +/* B37DE8 80243218 4407C000 */ mfc1 $a3, $f24 +/* B37DEC 8024321C 0C090C14 */ jal func_80243050 +/* B37DF0 80243220 27A40010 */ addiu $a0, $sp, 0x10 +/* B37DF4 80243224 27A40010 */ addiu $a0, $sp, 0x10 +/* B37DF8 80243228 0200282D */ daddu $a1, $s0, $zero +/* B37DFC 8024322C 0C019D80 */ jal guMtxCatF +/* B37E00 80243230 0200302D */ daddu $a2, $s0, $zero +/* B37E04 80243234 27A40010 */ addiu $a0, $sp, 0x10 +/* B37E08 80243238 4600B587 */ neg.s $f22, $f22 +/* B37E0C 8024323C 4405A000 */ mfc1 $a1, $f20 +/* B37E10 80243240 4406B000 */ mfc1 $a2, $f22 +/* B37E14 80243244 0C019E40 */ jal guTranslateF +/* B37E18 80243248 00A0382D */ daddu $a3, $a1, $zero +/* B37E1C 8024324C 27A40010 */ addiu $a0, $sp, 0x10 +/* B37E20 80243250 0200282D */ daddu $a1, $s0, $zero +/* B37E24 80243254 0C019D80 */ jal guMtxCatF +/* B37E28 80243258 00A0302D */ daddu $a2, $a1, $zero +.L8024325C: +/* B37E2C 8024325C 8FBF005C */ lw $ra, 0x5c($sp) +/* B37E30 80243260 8FB20058 */ lw $s2, 0x58($sp) +/* B37E34 80243264 8FB10054 */ lw $s1, 0x54($sp) +/* B37E38 80243268 8FB00050 */ lw $s0, 0x50($sp) +/* B37E3C 8024326C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B37E40 80243270 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B37E44 80243274 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B37E48 80243278 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B37E4C 8024327C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B37E50 80243280 24020002 */ addiu $v0, $zero, 2 +/* B37E54 80243284 03E00008 */ jr $ra +/* B37E58 80243288 27BD0088 */ addiu $sp, $sp, 0x88 +/* B37E5C 8024328C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240000_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240000_B44770.s new file mode 100644 index 0000000000..bfe52c0665 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240000_B44770.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B44770 +/* B44770 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B44774 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B44778 80240008 3C05F5DE */ lui $a1, 0xf5de +/* B4477C 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* B44780 80240010 0C0B1EAF */ jal get_variable +/* B44784 80240014 0000202D */ daddu $a0, $zero, $zero +/* B44788 80240018 2843000F */ slti $v1, $v0, 0xf +/* B4478C 8024001C 3C020019 */ lui $v0, 0x19 +/* B44790 80240020 14600003 */ bnez $v1, .L80240030 +/* B44794 80240024 344200F0 */ ori $v0, $v0, 0xf0 +/* B44798 80240028 3C020019 */ lui $v0, 0x19 +/* B4479C 8024002C 344200F1 */ ori $v0, $v0, 0xf1 +.L80240030: +/* B447A0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* B447A4 80240034 03E00008 */ jr $ra +/* B447A8 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* B447AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240040_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240040_B44770.s new file mode 100644 index 0000000000..bb7b1ad2f6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240040_B44770.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_B447B0 +/* B447B0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B447B4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* B447B8 80240048 0080802D */ daddu $s0, $a0, $zero +/* B447BC 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* B447C0 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* B447C4 80240054 8E020088 */ lw $v0, 0x88($s0) +/* B447C8 80240058 00621821 */ addu $v1, $v1, $v0 +/* B447CC 8024005C 04610004 */ bgez $v1, .L80240070 +/* B447D0 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* B447D4 80240064 3C020002 */ lui $v0, 2 +/* B447D8 80240068 08090020 */ j .L80240080 +/* B447DC 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* B447E0 80240070 3C040002 */ lui $a0, 2 +/* B447E4 80240074 0083102A */ slt $v0, $a0, $v1 +/* B447E8 80240078 10400002 */ beqz $v0, .L80240084 +/* B447EC 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* B447F0 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* B447F4 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* B447F8 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* B447FC 8024008C 00621821 */ addu $v1, $v1, $v0 +/* B44800 80240090 04610004 */ bgez $v1, .L802400A4 +/* B44804 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* B44808 80240098 3C020002 */ lui $v0, 2 +/* B4480C 8024009C 0809002D */ j .L802400B4 +/* B44810 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* B44814 802400A4 3C040002 */ lui $a0, 2 +/* B44818 802400A8 0083102A */ slt $v0, $a0, $v1 +/* B4481C 802400AC 10400002 */ beqz $v0, .L802400B8 +/* B44820 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* B44824 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* B44828 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* B4482C 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* B44830 802400C0 00621821 */ addu $v1, $v1, $v0 +/* B44834 802400C4 04610004 */ bgez $v1, .L802400D8 +/* B44838 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* B4483C 802400CC 3C020002 */ lui $v0, 2 +/* B44840 802400D0 0809003A */ j .L802400E8 +/* B44844 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* B44848 802400D8 3C040002 */ lui $a0, 2 +/* B4484C 802400DC 0083102A */ slt $v0, $a0, $v1 +/* B44850 802400E0 10400002 */ beqz $v0, .L802400EC +/* B44854 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* B44858 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* B4485C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B44860 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* B44864 802400F4 00621821 */ addu $v1, $v1, $v0 +/* B44868 802400F8 04610004 */ bgez $v1, .L8024010C +/* B4486C 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* B44870 80240100 3C020002 */ lui $v0, 2 +/* B44874 80240104 08090047 */ j .L8024011C +/* B44878 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* B4487C 8024010C 3C040002 */ lui $a0, 2 +/* B44880 80240110 0083102A */ slt $v0, $a0, $v1 +/* B44884 80240114 10400002 */ beqz $v0, .L80240120 +/* B44888 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* B4488C 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* B44890 80240120 8E040084 */ lw $a0, 0x84($s0) +/* B44894 80240124 0C046F07 */ jal set_main_pan_u +/* B44898 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* B4489C 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* B448A0 80240130 0C046F0D */ jal set_main_pan_v +/* B448A4 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* B448A8 80240138 8E040084 */ lw $a0, 0x84($s0) +/* B448AC 8024013C 0C046F13 */ jal set_aux_pan_u +/* B448B0 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* B448B4 80240144 8E040084 */ lw $a0, 0x84($s0) +/* B448B8 80240148 0C046F19 */ jal set_aux_pan_v +/* B448BC 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B448C0 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* B448C4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* B448C8 80240158 0000102D */ daddu $v0, $zero, $zero +/* B448CC 8024015C 03E00008 */ jr $ra +/* B448D0 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240164_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240164_B44770.s new file mode 100644 index 0000000000..f04649d297 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240164_B44770.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_B448D4 +/* B448D4 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B448D8 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* B448DC 8024016C 0080802D */ daddu $s0, $a0, $zero +/* B448E0 80240170 10A00005 */ beqz $a1, .L80240188 +/* B448E4 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* B448E8 80240178 AE000070 */ sw $zero, 0x70($s0) +/* B448EC 8024017C AE000074 */ sw $zero, 0x74($s0) +/* B448F0 80240180 AE000078 */ sw $zero, 0x78($s0) +/* B448F4 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* B448F8 80240188 8E020070 */ lw $v0, 0x70($s0) +/* B448FC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B44900 80240190 00000000 */ nop +/* B44904 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* B44908 80240198 8E020088 */ lw $v0, 0x88($s0) +/* B4490C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B44910 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B44914 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* B44918 802401A8 3C020002 */ lui $v0, 2 +/* B4491C 802401AC 08090071 */ j .L802401C4 +/* B44920 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B44924 802401B4 3C040002 */ lui $a0, 2 +/* B44928 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B4492C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B44930 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B44934 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* B44938 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* B4493C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B44940 802401D0 00000000 */ nop +/* B44944 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* B44948 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* B4494C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B44950 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B44954 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* B44958 802401E8 3C020002 */ lui $v0, 2 +/* B4495C 802401EC 08090081 */ j .L80240204 +/* B44960 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B44964 802401F4 3C040002 */ lui $a0, 2 +/* B44968 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B4496C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B44970 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B44974 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* B44978 80240208 8E020078 */ lw $v0, 0x78($s0) +/* B4497C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B44980 80240210 00000000 */ nop +/* B44984 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* B44988 80240218 8E020090 */ lw $v0, 0x90($s0) +/* B4498C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B44990 80240220 04610004 */ bgez $v1, .L80240234 +/* B44994 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* B44998 80240228 3C020002 */ lui $v0, 2 +/* B4499C 8024022C 08090091 */ j .L80240244 +/* B449A0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B449A4 80240234 3C040002 */ lui $a0, 2 +/* B449A8 80240238 0083102A */ slt $v0, $a0, $v1 +/* B449AC 8024023C 10400002 */ beqz $v0, .L80240248 +/* B449B0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B449B4 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* B449B8 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* B449BC 8024024C 1440000E */ bnez $v0, .L80240288 +/* B449C0 80240250 00000000 */ nop +/* B449C4 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* B449C8 80240258 8E020094 */ lw $v0, 0x94($s0) +/* B449CC 8024025C 00621821 */ addu $v1, $v1, $v0 +/* B449D0 80240260 04610004 */ bgez $v1, .L80240274 +/* B449D4 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* B449D8 80240268 3C020002 */ lui $v0, 2 +/* B449DC 8024026C 080900A1 */ j .L80240284 +/* B449E0 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* B449E4 80240274 3C040002 */ lui $a0, 2 +/* B449E8 80240278 0083102A */ slt $v0, $a0, $v1 +/* B449EC 8024027C 10400002 */ beqz $v0, .L80240288 +/* B449F0 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* B449F4 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* B449F8 80240288 8E040084 */ lw $a0, 0x84($s0) +/* B449FC 8024028C 0C046F07 */ jal set_main_pan_u +/* B44A00 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* B44A04 80240294 8E040084 */ lw $a0, 0x84($s0) +/* B44A08 80240298 0C046F0D */ jal set_main_pan_v +/* B44A0C 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* B44A10 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* B44A14 802402A4 0C046F13 */ jal set_aux_pan_u +/* B44A18 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* B44A1C 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* B44A20 802402B0 0C046F19 */ jal set_aux_pan_v +/* B44A24 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* B44A28 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* B44A2C 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* B44A30 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* B44A34 802402C4 24420001 */ addiu $v0, $v0, 1 +/* B44A38 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* B44A3C 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* B44A40 802402D0 24630001 */ addiu $v1, $v1, 1 +/* B44A44 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* B44A48 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* B44A4C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* B44A50 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* B44A54 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B44A58 802402E8 0064182A */ slt $v1, $v1, $a0 +/* B44A5C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* B44A60 802402F0 14600002 */ bnez $v1, .L802402FC +/* B44A64 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* B44A68 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* B44A6C 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* B44A70 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* B44A74 80240304 0043102A */ slt $v0, $v0, $v1 +/* B44A78 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* B44A7C 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* B44A80 80240310 8E020078 */ lw $v0, 0x78($s0) +/* B44A84 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* B44A88 80240318 0043102A */ slt $v0, $v0, $v1 +/* B44A8C 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* B44A90 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* B44A94 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* B44A98 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* B44A9C 8024032C 0043102A */ slt $v0, $v0, $v1 +/* B44AA0 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* B44AA4 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* B44AA8 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* B44AAC 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* B44AB0 80240340 0000102D */ daddu $v0, $zero, $zero +/* B44AB4 80240344 03E00008 */ jr $ra +/* B44AB8 80240348 27BD0018 */ addiu $sp, $sp, 0x18 +/* B44ABC 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240350_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240350_B44770.s new file mode 100644 index 0000000000..bd8debaa3c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240350_B44770.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_B44AC0 +/* B44AC0 80240350 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B44AC4 80240354 AFB00010 */ sw $s0, 0x10($sp) +/* B44AC8 80240358 3C108024 */ lui $s0, 0x8024 +/* B44ACC 8024035C 26101800 */ addiu $s0, $s0, 0x1800 +/* B44AD0 80240360 AFBF0018 */ sw $ra, 0x18($sp) +/* B44AD4 80240364 AFB10014 */ sw $s1, 0x14($sp) +/* B44AD8 80240368 8E020000 */ lw $v0, ($s0) +/* B44ADC 8024036C 14400010 */ bnez $v0, .L802403B0 +/* B44AE0 80240370 0080882D */ daddu $s1, $a0, $zero +/* B44AE4 80240374 0C00AB39 */ jal heap_malloc +/* B44AE8 80240378 24040040 */ addiu $a0, $zero, 0x40 +/* B44AEC 8024037C AE020000 */ sw $v0, ($s0) +/* B44AF0 80240380 0000182D */ daddu $v1, $zero, $zero +/* B44AF4 80240384 0040282D */ daddu $a1, $v0, $zero +/* B44AF8 80240388 0220202D */ daddu $a0, $s1, $zero +.L8024038C: +/* B44AFC 8024038C 8C820084 */ lw $v0, 0x84($a0) +/* B44B00 80240390 24840004 */ addiu $a0, $a0, 4 +/* B44B04 80240394 24630001 */ addiu $v1, $v1, 1 +/* B44B08 80240398 ACA20000 */ sw $v0, ($a1) +/* B44B0C 8024039C 28620010 */ slti $v0, $v1, 0x10 +/* B44B10 802403A0 1440FFFA */ bnez $v0, .L8024038C +/* B44B14 802403A4 24A50004 */ addiu $a1, $a1, 4 +/* B44B18 802403A8 080900FB */ j .L802403EC +/* B44B1C 802403AC 00000000 */ nop +.L802403B0: +/* B44B20 802403B0 0000182D */ daddu $v1, $zero, $zero +/* B44B24 802403B4 0040282D */ daddu $a1, $v0, $zero +/* B44B28 802403B8 0220202D */ daddu $a0, $s1, $zero +.L802403BC: +/* B44B2C 802403BC 8CA20000 */ lw $v0, ($a1) +/* B44B30 802403C0 24A50004 */ addiu $a1, $a1, 4 +/* B44B34 802403C4 24630001 */ addiu $v1, $v1, 1 +/* B44B38 802403C8 AC820084 */ sw $v0, 0x84($a0) +/* B44B3C 802403CC 28620010 */ slti $v0, $v1, 0x10 +/* B44B40 802403D0 1440FFFA */ bnez $v0, .L802403BC +/* B44B44 802403D4 24840004 */ addiu $a0, $a0, 4 +/* B44B48 802403D8 3C108024 */ lui $s0, 0x8024 +/* B44B4C 802403DC 26101800 */ addiu $s0, $s0, 0x1800 +/* B44B50 802403E0 0C00AB4B */ jal heap_free +/* B44B54 802403E4 8E040000 */ lw $a0, ($s0) +/* B44B58 802403E8 AE000000 */ sw $zero, ($s0) +.L802403EC: +/* B44B5C 802403EC 8FBF0018 */ lw $ra, 0x18($sp) +/* B44B60 802403F0 8FB10014 */ lw $s1, 0x14($sp) +/* B44B64 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* B44B68 802403F8 24020002 */ addiu $v0, $zero, 2 +/* B44B6C 802403FC 03E00008 */ jr $ra +/* B44B70 80240400 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240404_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240404_B44770.s new file mode 100644 index 0000000000..94b3a904da --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240404_B44770.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_B44B74 +/* B44B74 80240404 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B44B78 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* B44B7C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* B44B80 80240410 AFBF0018 */ sw $ra, 0x18($sp) +/* B44B84 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* B44B88 80240418 8E02000C */ lw $v0, 0xc($s0) +/* B44B8C 8024041C 8C510000 */ lw $s1, ($v0) +/* B44B90 80240420 0C0B1EAF */ jal get_variable +/* B44B94 80240424 0220282D */ daddu $a1, $s1, $zero +/* B44B98 80240428 3C03FFF0 */ lui $v1, 0xfff0 +/* B44B9C 8024042C 3463FFFF */ ori $v1, $v1, 0xffff +/* B44BA0 80240430 0200202D */ daddu $a0, $s0, $zero +/* B44BA4 80240434 00431024 */ and $v0, $v0, $v1 +/* B44BA8 80240438 00021140 */ sll $v0, $v0, 5 +/* B44BAC 8024043C 3C068008 */ lui $a2, %hi(gItemTable) +/* B44BB0 80240440 00C23021 */ addu $a2, $a2, $v0 +/* B44BB4 80240444 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B44BB8 80240448 0C0B2026 */ jal set_variable +/* B44BBC 8024044C 0220282D */ daddu $a1, $s1, $zero +/* B44BC0 80240450 8FBF0018 */ lw $ra, 0x18($sp) +/* B44BC4 80240454 8FB10014 */ lw $s1, 0x14($sp) +/* B44BC8 80240458 8FB00010 */ lw $s0, 0x10($sp) +/* B44BCC 8024045C 24020002 */ addiu $v0, $zero, 2 +/* B44BD0 80240460 03E00008 */ jr $ra +/* B44BD4 80240464 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240468.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240468.s new file mode 100644 index 0000000000..7056ca1c8e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240468.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240468 +/* B44BD8 80240468 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B44BDC 8024046C AFB10014 */ sw $s1, 0x14($sp) +/* B44BE0 80240470 0080882D */ daddu $s1, $a0, $zero +/* B44BE4 80240474 AFBF001C */ sw $ra, 0x1c($sp) +/* B44BE8 80240478 AFB20018 */ sw $s2, 0x18($sp) +/* B44BEC 8024047C AFB00010 */ sw $s0, 0x10($sp) +/* B44BF0 80240480 8E240084 */ lw $a0, 0x84($s1) +/* B44BF4 80240484 0C04C3D6 */ jal get_item_entity +/* B44BF8 80240488 00A0802D */ daddu $s0, $a1, $zero +/* B44BFC 8024048C 12000005 */ beqz $s0, .L802404A4 +/* B44C00 80240490 0040902D */ daddu $s2, $v0, $zero +/* B44C04 80240494 C640000C */ lwc1 $f0, 0xc($s2) +/* B44C08 80240498 AE200074 */ sw $zero, 0x74($s1) +/* B44C0C 8024049C AE20007C */ sw $zero, 0x7c($s1) +/* B44C10 802404A0 E6200078 */ swc1 $f0, 0x78($s1) +.L802404A4: +/* B44C14 802404A4 8E230074 */ lw $v1, 0x74($s1) +/* B44C18 802404A8 10600005 */ beqz $v1, .L802404C0 +/* B44C1C 802404AC 24020001 */ addiu $v0, $zero, 1 +/* B44C20 802404B0 10620024 */ beq $v1, $v0, .L80240544 +/* B44C24 802404B4 00000000 */ nop +/* B44C28 802404B8 08090167 */ j .L8024059C +/* B44C2C 802404BC 00000000 */ nop +.L802404C0: +/* B44C30 802404C0 3C013FC9 */ lui $at, 0x3fc9 +/* B44C34 802404C4 34210FD8 */ ori $at, $at, 0xfd8 +/* B44C38 802404C8 44810000 */ mtc1 $at, $f0 +/* B44C3C 802404CC C62C007C */ lwc1 $f12, 0x7c($s1) +/* B44C40 802404D0 46806320 */ cvt.s.w $f12, $f12 +/* B44C44 802404D4 46006302 */ mul.s $f12, $f12, $f0 +/* B44C48 802404D8 00000000 */ nop +/* B44C4C 802404DC 3C0141F0 */ lui $at, 0x41f0 +/* B44C50 802404E0 44810000 */ mtc1 $at, $f0 +/* B44C54 802404E4 0C00A874 */ jal cos_rad +/* B44C58 802404E8 46006303 */ div.s $f12, $f12, $f0 +/* B44C5C 802404EC 3C013F80 */ lui $at, 0x3f80 +/* B44C60 802404F0 44811000 */ mtc1 $at, $f2 +/* B44C64 802404F4 00000000 */ nop +/* B44C68 802404F8 46001081 */ sub.s $f2, $f2, $f0 +/* B44C6C 802404FC 3C0141A0 */ lui $at, 0x41a0 +/* B44C70 80240500 44810000 */ mtc1 $at, $f0 +/* B44C74 80240504 00000000 */ nop +/* B44C78 80240508 46001082 */ mul.s $f2, $f2, $f0 +/* B44C7C 8024050C 00000000 */ nop +/* B44C80 80240510 C6200078 */ lwc1 $f0, 0x78($s1) +/* B44C84 80240514 46020000 */ add.s $f0, $f0, $f2 +/* B44C88 80240518 E640000C */ swc1 $f0, 0xc($s2) +/* B44C8C 8024051C 8E23007C */ lw $v1, 0x7c($s1) +/* B44C90 80240520 2402001E */ addiu $v0, $zero, 0x1e +/* B44C94 80240524 14620005 */ bne $v1, $v0, .L8024053C +/* B44C98 80240528 24620001 */ addiu $v0, $v1, 1 +/* B44C9C 8024052C 24020001 */ addiu $v0, $zero, 1 +/* B44CA0 80240530 AE220074 */ sw $v0, 0x74($s1) +/* B44CA4 80240534 08090167 */ j .L8024059C +/* B44CA8 80240538 AE20007C */ sw $zero, 0x7c($s1) +.L8024053C: +/* B44CAC 8024053C 08090167 */ j .L8024059C +/* B44CB0 80240540 AE22007C */ sw $v0, 0x7c($s1) +.L80240544: +/* B44CB4 80240544 C62C007C */ lwc1 $f12, 0x7c($s1) +/* B44CB8 80240548 0C00A8D4 */ jal cos_deg +/* B44CBC 8024054C 46806320 */ cvt.s.w $f12, $f12 +/* B44CC0 80240550 3C014040 */ lui $at, 0x4040 +/* B44CC4 80240554 44811000 */ mtc1 $at, $f2 +/* B44CC8 80240558 00000000 */ nop +/* B44CCC 8024055C 46020002 */ mul.s $f0, $f0, $f2 +/* B44CD0 80240560 00000000 */ nop +/* B44CD4 80240564 3C014188 */ lui $at, 0x4188 +/* B44CD8 80240568 44812000 */ mtc1 $at, $f4 +/* B44CDC 8024056C C6220078 */ lwc1 $f2, 0x78($s1) +/* B44CE0 80240570 46041080 */ add.s $f2, $f2, $f4 +/* B44CE4 80240574 46001080 */ add.s $f2, $f2, $f0 +/* B44CE8 80240578 E642000C */ swc1 $f2, 0xc($s2) +/* B44CEC 8024057C 8E22007C */ lw $v0, 0x7c($s1) +/* B44CF0 80240580 24420009 */ addiu $v0, $v0, 9 +/* B44CF4 80240584 44826000 */ mtc1 $v0, $f12 +/* B44CF8 80240588 00000000 */ nop +/* B44CFC 8024058C 0C00A6C9 */ jal clamp_angle +/* B44D00 80240590 46806320 */ cvt.s.w $f12, $f12 +/* B44D04 80240594 4600018D */ trunc.w.s $f6, $f0 +/* B44D08 80240598 E626007C */ swc1 $f6, 0x7c($s1) +.L8024059C: +/* B44D0C 8024059C 8FBF001C */ lw $ra, 0x1c($sp) +/* B44D10 802405A0 8FB20018 */ lw $s2, 0x18($sp) +/* B44D14 802405A4 8FB10014 */ lw $s1, 0x14($sp) +/* B44D18 802405A8 8FB00010 */ lw $s0, 0x10($sp) +/* B44D1C 802405AC 0000102D */ daddu $v0, $zero, $zero +/* B44D20 802405B0 03E00008 */ jr $ra +/* B44D24 802405B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_802405B8_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_802405B8_B44770.s new file mode 100644 index 0000000000..7329f118d5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_802405B8_B44770.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B8_B44D28 +/* B44D28 802405B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B44D2C 802405BC AFB00010 */ sw $s0, 0x10($sp) +/* B44D30 802405C0 0080802D */ daddu $s0, $a0, $zero +/* B44D34 802405C4 AFBF0014 */ sw $ra, 0x14($sp) +/* B44D38 802405C8 8E02000C */ lw $v0, 0xc($s0) +/* B44D3C 802405CC 0C0B1EAF */ jal get_variable +/* B44D40 802405D0 8C450000 */ lw $a1, ($v0) +/* B44D44 802405D4 00021140 */ sll $v0, $v0, 5 +/* B44D48 802405D8 AE000084 */ sw $zero, 0x84($s0) +/* B44D4C 802405DC 3C018008 */ lui $at, 0x8008 +/* B44D50 802405E0 00220821 */ addu $at, $at, $v0 +/* B44D54 802405E4 942278F8 */ lhu $v0, 0x78f8($at) +/* B44D58 802405E8 30420040 */ andi $v0, $v0, 0x40 +/* B44D5C 802405EC 10400002 */ beqz $v0, .L802405F8 +/* B44D60 802405F0 24020001 */ addiu $v0, $zero, 1 +/* B44D64 802405F4 AE020084 */ sw $v0, 0x84($s0) +.L802405F8: +/* B44D68 802405F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B44D6C 802405FC 8FB00010 */ lw $s0, 0x10($sp) +/* B44D70 80240600 24020002 */ addiu $v0, $zero, 2 +/* B44D74 80240604 03E00008 */ jr $ra +/* B44D78 80240608 27BD0018 */ addiu $sp, $sp, 0x18 +/* B44D7C 8024060C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240610_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240610_B44770.s new file mode 100644 index 0000000000..0eca582e42 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240610_B44770.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240610_B44D80 +/* B44D80 80240610 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B44D84 80240614 AFB20018 */ sw $s2, 0x18($sp) +/* B44D88 80240618 0080902D */ daddu $s2, $a0, $zero +/* B44D8C 8024061C AFB10014 */ sw $s1, 0x14($sp) +/* B44D90 80240620 00A0882D */ daddu $s1, $a1, $zero +/* B44D94 80240624 AFBF0024 */ sw $ra, 0x24($sp) +/* B44D98 80240628 AFB40020 */ sw $s4, 0x20($sp) +/* B44D9C 8024062C AFB3001C */ sw $s3, 0x1c($sp) +/* B44DA0 80240630 AFB00010 */ sw $s0, 0x10($sp) +/* B44DA4 80240634 8E50000C */ lw $s0, 0xc($s2) +/* B44DA8 80240638 8E050000 */ lw $a1, ($s0) +/* B44DAC 8024063C 0C0B1EAF */ jal get_variable +/* B44DB0 80240640 26100004 */ addiu $s0, $s0, 4 +/* B44DB4 80240644 0240202D */ daddu $a0, $s2, $zero +/* B44DB8 80240648 8E050000 */ lw $a1, ($s0) +/* B44DBC 8024064C 0C0B1EAF */ jal get_variable +/* B44DC0 80240650 0040802D */ daddu $s0, $v0, $zero +/* B44DC4 80240654 0200202D */ daddu $a0, $s0, $zero +/* B44DC8 80240658 0C00EAD2 */ jal get_npc_safe +/* B44DCC 8024065C 0040A02D */ daddu $s4, $v0, $zero +/* B44DD0 80240660 3C138011 */ lui $s3, %hi(gPlayerData) +/* B44DD4 80240664 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* B44DD8 80240668 12200006 */ beqz $s1, .L80240684 +/* B44DDC 8024066C 0040802D */ daddu $s0, $v0, $zero +/* B44DE0 80240670 82620012 */ lb $v0, 0x12($s3) +/* B44DE4 80240674 54400003 */ bnel $v0, $zero, .L80240684 +/* B44DE8 80240678 AE400070 */ sw $zero, 0x70($s2) +/* B44DEC 8024067C 24020002 */ addiu $v0, $zero, 2 +/* B44DF0 80240680 AE420070 */ sw $v0, 0x70($s2) +.L80240684: +/* B44DF4 80240684 8E430070 */ lw $v1, 0x70($s2) +/* B44DF8 80240688 24110001 */ addiu $s1, $zero, 1 +/* B44DFC 8024068C 10710013 */ beq $v1, $s1, .L802406DC +/* B44E00 80240690 28620002 */ slti $v0, $v1, 2 +/* B44E04 80240694 10400005 */ beqz $v0, .L802406AC +/* B44E08 80240698 24020002 */ addiu $v0, $zero, 2 +/* B44E0C 8024069C 10600009 */ beqz $v1, .L802406C4 +/* B44E10 802406A0 0000102D */ daddu $v0, $zero, $zero +/* B44E14 802406A4 080901DD */ j .L80240774 +/* B44E18 802406A8 00000000 */ nop +.L802406AC: +/* B44E1C 802406AC 10620013 */ beq $v1, $v0, .L802406FC +/* B44E20 802406B0 24020003 */ addiu $v0, $zero, 3 +/* B44E24 802406B4 1062001E */ beq $v1, $v0, .L80240730 +/* B44E28 802406B8 0000102D */ daddu $v0, $zero, $zero +/* B44E2C 802406BC 080901DD */ j .L80240774 +/* B44E30 802406C0 00000000 */ nop +.L802406C4: +/* B44E34 802406C4 0C03AC5A */ jal func_800EB168 +/* B44E38 802406C8 0000202D */ daddu $a0, $zero, $zero +/* B44E3C 802406CC 2402001E */ addiu $v0, $zero, 0x1e +/* B44E40 802406D0 AE420074 */ sw $v0, 0x74($s2) +/* B44E44 802406D4 080901DC */ j .L80240770 +/* B44E48 802406D8 AE510070 */ sw $s1, 0x70($s2) +.L802406DC: +/* B44E4C 802406DC 8E420074 */ lw $v0, 0x74($s2) +/* B44E50 802406E0 2403FFFF */ addiu $v1, $zero, -1 +/* B44E54 802406E4 2442FFFF */ addiu $v0, $v0, -1 +/* B44E58 802406E8 14430021 */ bne $v0, $v1, .L80240770 +/* B44E5C 802406EC AE420074 */ sw $v0, 0x74($s2) +/* B44E60 802406F0 24020002 */ addiu $v0, $zero, 2 +/* B44E64 802406F4 080901DC */ j .L80240770 +/* B44E68 802406F8 AE420070 */ sw $v0, 0x70($s2) +.L802406FC: +/* B44E6C 802406FC 0200202D */ daddu $a0, $s0, $zero +/* B44E70 80240700 00141600 */ sll $v0, $s4, 0x18 +/* B44E74 80240704 00021543 */ sra $v0, $v0, 0x15 +/* B44E78 80240708 02621021 */ addu $v0, $s3, $v0 +/* B44E7C 8024070C A2740012 */ sb $s4, 0x12($s3) +/* B44E80 80240710 0C03BD17 */ jal clear_partner_move_history +/* B44E84 80240714 A0510014 */ sb $s1, 0x14($v0) +/* B44E88 80240718 82640012 */ lb $a0, 0x12($s3) +/* B44E8C 8024071C 0C03ACA9 */ jal func_800EB2A4 +/* B44E90 80240720 00000000 */ nop +/* B44E94 80240724 24020003 */ addiu $v0, $zero, 3 +/* B44E98 80240728 080901DC */ j .L80240770 +/* B44E9C 8024072C AE420070 */ sw $v0, 0x70($s2) +.L80240730: +/* B44EA0 80240730 0C00EAD2 */ jal get_npc_safe +/* B44EA4 80240734 2404FFFC */ addiu $a0, $zero, -4 +/* B44EA8 80240738 8E05000C */ lw $a1, 0xc($s0) +/* B44EAC 8024073C 0C00ECD0 */ jal set_npc_yaw +/* B44EB0 80240740 0040202D */ daddu $a0, $v0, $zero +/* B44EB4 80240744 0200202D */ daddu $a0, $s0, $zero +/* B44EB8 80240748 8E020000 */ lw $v0, ($s0) +/* B44EBC 8024074C 2403FFFB */ addiu $v1, $zero, -5 +/* B44EC0 80240750 00431024 */ and $v0, $v0, $v1 +/* B44EC4 80240754 0C00EAFF */ jal disable_npc_shadow +/* B44EC8 80240758 AE020000 */ sw $v0, ($s0) +/* B44ECC 8024075C 3C01C47A */ lui $at, 0xc47a +/* B44ED0 80240760 44810000 */ mtc1 $at, $f0 +/* B44ED4 80240764 24020002 */ addiu $v0, $zero, 2 +/* B44ED8 80240768 080901DD */ j .L80240774 +/* B44EDC 8024076C E600003C */ swc1 $f0, 0x3c($s0) +.L80240770: +/* B44EE0 80240770 0000102D */ daddu $v0, $zero, $zero +.L80240774: +/* B44EE4 80240774 8FBF0024 */ lw $ra, 0x24($sp) +/* B44EE8 80240778 8FB40020 */ lw $s4, 0x20($sp) +/* B44EEC 8024077C 8FB3001C */ lw $s3, 0x1c($sp) +/* B44EF0 80240780 8FB20018 */ lw $s2, 0x18($sp) +/* B44EF4 80240784 8FB10014 */ lw $s1, 0x14($sp) +/* B44EF8 80240788 8FB00010 */ lw $s0, 0x10($sp) +/* B44EFC 8024078C 03E00008 */ jr $ra +/* B44F00 80240790 27BD0028 */ addiu $sp, $sp, 0x28 +/* B44F04 80240794 00000000 */ nop +/* B44F08 80240798 00000000 */ nop +/* B44F0C 8024079C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_802407A0_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_802407A0_B44770.s new file mode 100644 index 0000000000..7685ac69f6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_802407A0_B44770.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_B44F10 +/* B44F10 802407A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B44F14 802407A4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B44F18 802407A8 4485A000 */ mtc1 $a1, $f20 +/* B44F1C 802407AC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B44F20 802407B0 4486B000 */ mtc1 $a2, $f22 +/* B44F24 802407B4 AFB00010 */ sw $s0, 0x10($sp) +/* B44F28 802407B8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B44F2C 802407BC 4487C000 */ mtc1 $a3, $f24 +/* B44F30 802407C0 AFBF0014 */ sw $ra, 0x14($sp) +/* B44F34 802407C4 0C019D28 */ jal guMtxIdentF +/* B44F38 802407C8 0080802D */ daddu $s0, $a0, $zero +/* B44F3C 802407CC 4616A582 */ mul.s $f22, $f20, $f22 +/* B44F40 802407D0 00000000 */ nop +/* B44F44 802407D4 4618A502 */ mul.s $f20, $f20, $f24 +/* B44F48 802407D8 00000000 */ nop +/* B44F4C 802407DC 3C013F80 */ lui $at, 0x3f80 +/* B44F50 802407E0 44810000 */ mtc1 $at, $f0 +/* B44F54 802407E4 00000000 */ nop +/* B44F58 802407E8 E6000014 */ swc1 $f0, 0x14($s0) +/* B44F5C 802407EC E6160010 */ swc1 $f22, 0x10($s0) +/* B44F60 802407F0 E6140018 */ swc1 $f20, 0x18($s0) +/* B44F64 802407F4 8FBF0014 */ lw $ra, 0x14($sp) +/* B44F68 802407F8 8FB00010 */ lw $s0, 0x10($sp) +/* B44F6C 802407FC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B44F70 80240800 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B44F74 80240804 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B44F78 80240808 03E00008 */ jr $ra +/* B44F7C 8024080C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240810_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240810_B44770.s new file mode 100644 index 0000000000..b11ebc45c8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240810_B44770.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240810_B44F80 +/* B44F80 80240810 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B44F84 80240814 AFB10054 */ sw $s1, 0x54($sp) +/* B44F88 80240818 0080882D */ daddu $s1, $a0, $zero +/* B44F8C 8024081C AFBF005C */ sw $ra, 0x5c($sp) +/* B44F90 80240820 AFB20058 */ sw $s2, 0x58($sp) +/* B44F94 80240824 AFB00050 */ sw $s0, 0x50($sp) +/* B44F98 80240828 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B44F9C 8024082C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B44FA0 80240830 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B44FA4 80240834 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B44FA8 80240838 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B44FAC 8024083C 8E30000C */ lw $s0, 0xc($s1) +/* B44FB0 80240840 8E050000 */ lw $a1, ($s0) +/* B44FB4 80240844 0C0B1EAF */ jal get_variable +/* B44FB8 80240848 26100004 */ addiu $s0, $s0, 4 +/* B44FBC 8024084C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B44FC0 80240850 0040202D */ daddu $a0, $v0, $zero +/* B44FC4 80240854 8E050000 */ lw $a1, ($s0) +/* B44FC8 80240858 26100004 */ addiu $s0, $s0, 4 +/* B44FCC 8024085C 0220202D */ daddu $a0, $s1, $zero +/* B44FD0 80240860 0C0B210B */ jal get_float_variable +/* B44FD4 80240864 0040902D */ daddu $s2, $v0, $zero +/* B44FD8 80240868 8E050000 */ lw $a1, ($s0) +/* B44FDC 8024086C 26100004 */ addiu $s0, $s0, 4 +/* B44FE0 80240870 0220202D */ daddu $a0, $s1, $zero +/* B44FE4 80240874 0C0B210B */ jal get_float_variable +/* B44FE8 80240878 46000706 */ mov.s $f28, $f0 +/* B44FEC 8024087C 8E050000 */ lw $a1, ($s0) +/* B44FF0 80240880 26100004 */ addiu $s0, $s0, 4 +/* B44FF4 80240884 0220202D */ daddu $a0, $s1, $zero +/* B44FF8 80240888 0C0B210B */ jal get_float_variable +/* B44FFC 8024088C 46000686 */ mov.s $f26, $f0 +/* B45000 80240890 0220202D */ daddu $a0, $s1, $zero +/* B45004 80240894 8E050000 */ lw $a1, ($s0) +/* B45008 80240898 0C0B210B */ jal get_float_variable +/* B4500C 8024089C 46000586 */ mov.s $f22, $f0 +/* B45010 802408A0 0240202D */ daddu $a0, $s2, $zero +/* B45014 802408A4 0C046B4C */ jal get_model_from_list_index +/* B45018 802408A8 46000606 */ mov.s $f24, $f0 +/* B4501C 802408AC 0040882D */ daddu $s1, $v0, $zero +/* B45020 802408B0 96220000 */ lhu $v0, ($s1) +/* B45024 802408B4 30420400 */ andi $v0, $v0, 0x400 +/* B45028 802408B8 1440001E */ bnez $v0, .L80240934 +/* B4502C 802408BC 26300058 */ addiu $s0, $s1, 0x58 +/* B45030 802408C0 4480A000 */ mtc1 $zero, $f20 +/* B45034 802408C4 4406B000 */ mfc1 $a2, $f22 +/* B45038 802408C8 4405A000 */ mfc1 $a1, $f20 +/* B4503C 802408CC 4407A000 */ mfc1 $a3, $f20 +/* B45040 802408D0 0C019E40 */ jal guTranslateF +/* B45044 802408D4 0200202D */ daddu $a0, $s0, $zero +/* B45048 802408D8 4405E000 */ mfc1 $a1, $f28 +/* B4504C 802408DC 4406D000 */ mfc1 $a2, $f26 +/* B45050 802408E0 4407C000 */ mfc1 $a3, $f24 +/* B45054 802408E4 0C0901E8 */ jal func_802407A0 +/* B45058 802408E8 27A40010 */ addiu $a0, $sp, 0x10 +/* B4505C 802408EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B45060 802408F0 0200282D */ daddu $a1, $s0, $zero +/* B45064 802408F4 0C019D80 */ jal guMtxCatF +/* B45068 802408F8 0200302D */ daddu $a2, $s0, $zero +/* B4506C 802408FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B45070 80240900 4600B587 */ neg.s $f22, $f22 +/* B45074 80240904 4405A000 */ mfc1 $a1, $f20 +/* B45078 80240908 4406B000 */ mfc1 $a2, $f22 +/* B4507C 8024090C 0C019E40 */ jal guTranslateF +/* B45080 80240910 00A0382D */ daddu $a3, $a1, $zero +/* B45084 80240914 27A40010 */ addiu $a0, $sp, 0x10 +/* B45088 80240918 0200282D */ daddu $a1, $s0, $zero +/* B4508C 8024091C 0C019D80 */ jal guMtxCatF +/* B45090 80240920 00A0302D */ daddu $a2, $a1, $zero +/* B45094 80240924 96220000 */ lhu $v0, ($s1) +/* B45098 80240928 34421400 */ ori $v0, $v0, 0x1400 +/* B4509C 8024092C 0809026B */ j .L802409AC +/* B450A0 80240930 A6220000 */ sh $v0, ($s1) +.L80240934: +/* B450A4 80240934 4480A000 */ mtc1 $zero, $f20 +/* B450A8 80240938 4406B000 */ mfc1 $a2, $f22 +/* B450AC 8024093C 4405A000 */ mfc1 $a1, $f20 +/* B450B0 80240940 4407A000 */ mfc1 $a3, $f20 +/* B450B4 80240944 0C019E40 */ jal guTranslateF +/* B450B8 80240948 27A40010 */ addiu $a0, $sp, 0x10 +/* B450BC 8024094C 27A40010 */ addiu $a0, $sp, 0x10 +/* B450C0 80240950 26300058 */ addiu $s0, $s1, 0x58 +/* B450C4 80240954 0200282D */ daddu $a1, $s0, $zero +/* B450C8 80240958 0C019D80 */ jal guMtxCatF +/* B450CC 8024095C 0200302D */ daddu $a2, $s0, $zero +/* B450D0 80240960 4405E000 */ mfc1 $a1, $f28 +/* B450D4 80240964 4406D000 */ mfc1 $a2, $f26 +/* B450D8 80240968 4407C000 */ mfc1 $a3, $f24 +/* B450DC 8024096C 0C0901E8 */ jal func_802407A0 +/* B450E0 80240970 27A40010 */ addiu $a0, $sp, 0x10 +/* B450E4 80240974 27A40010 */ addiu $a0, $sp, 0x10 +/* B450E8 80240978 0200282D */ daddu $a1, $s0, $zero +/* B450EC 8024097C 0C019D80 */ jal guMtxCatF +/* B450F0 80240980 0200302D */ daddu $a2, $s0, $zero +/* B450F4 80240984 27A40010 */ addiu $a0, $sp, 0x10 +/* B450F8 80240988 4600B587 */ neg.s $f22, $f22 +/* B450FC 8024098C 4405A000 */ mfc1 $a1, $f20 +/* B45100 80240990 4406B000 */ mfc1 $a2, $f22 +/* B45104 80240994 0C019E40 */ jal guTranslateF +/* B45108 80240998 00A0382D */ daddu $a3, $a1, $zero +/* B4510C 8024099C 27A40010 */ addiu $a0, $sp, 0x10 +/* B45110 802409A0 0200282D */ daddu $a1, $s0, $zero +/* B45114 802409A4 0C019D80 */ jal guMtxCatF +/* B45118 802409A8 00A0302D */ daddu $a2, $a1, $zero +.L802409AC: +/* B4511C 802409AC 8FBF005C */ lw $ra, 0x5c($sp) +/* B45120 802409B0 8FB20058 */ lw $s2, 0x58($sp) +/* B45124 802409B4 8FB10054 */ lw $s1, 0x54($sp) +/* B45128 802409B8 8FB00050 */ lw $s0, 0x50($sp) +/* B4512C 802409BC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B45130 802409C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B45134 802409C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B45138 802409C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B4513C 802409CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B45140 802409D0 24020002 */ addiu $v0, $zero, 2 +/* B45144 802409D4 03E00008 */ jr $ra +/* B45148 802409D8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B4514C 802409DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_802409E0_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_802409E0_B44770.s new file mode 100644 index 0000000000..d8d62db4dc --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_802409E0_B44770.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E0_B45150 +/* B45150 802409E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B45154 802409E4 3C048024 */ lui $a0, 0x8024 +/* B45158 802409E8 248462C0 */ addiu $a0, $a0, 0x62c0 +/* B4515C 802409EC 27A50010 */ addiu $a1, $sp, 0x10 +/* B45160 802409F0 AFBF0020 */ sw $ra, 0x20($sp) +/* B45164 802409F4 AFB1001C */ sw $s1, 0x1c($sp) +/* B45168 802409F8 0C016B3A */ jal load_asset_by_name +/* B4516C 802409FC AFB00018 */ sw $s0, 0x18($sp) +/* B45170 80240A00 0040802D */ daddu $s0, $v0, $zero +/* B45174 80240A04 0200202D */ daddu $a0, $s0, $zero +/* B45178 80240A08 3C118024 */ lui $s1, 0x8024 +/* B4517C 80240A0C 26316300 */ addiu $s1, $s1, 0x6300 +/* B45180 80240A10 0C01BB7C */ jal decode_yay0 +/* B45184 80240A14 0220282D */ daddu $a1, $s1, $zero +/* B45188 80240A18 0C00AB1E */ jal general_heap_free +/* B4518C 80240A1C 0200202D */ daddu $a0, $s0, $zero +/* B45190 80240A20 3C048025 */ lui $a0, 0x8025 +/* B45194 80240A24 2484A2A0 */ addiu $a0, $a0, -0x5d60 +/* B45198 80240A28 3C028024 */ lui $v0, 0x8024 +/* B4519C 80240A2C 24426500 */ addiu $v0, $v0, 0x6500 +/* B451A0 80240A30 AC820000 */ sw $v0, ($a0) +/* B451A4 80240A34 24020096 */ addiu $v0, $zero, 0x96 +/* B451A8 80240A38 A4820008 */ sh $v0, 8($a0) +/* B451AC 80240A3C 24020069 */ addiu $v0, $zero, 0x69 +/* B451B0 80240A40 A482000A */ sh $v0, 0xa($a0) +/* B451B4 80240A44 24020002 */ addiu $v0, $zero, 2 +/* B451B8 80240A48 AC82000C */ sw $v0, 0xc($a0) +/* B451BC 80240A4C 24020001 */ addiu $v0, $zero, 1 +/* B451C0 80240A50 AC910004 */ sw $s1, 4($a0) +/* B451C4 80240A54 0C0496CB */ jal set_message_images +/* B451C8 80240A58 AC820010 */ sw $v0, 0x10($a0) +/* B451CC 80240A5C 8FBF0020 */ lw $ra, 0x20($sp) +/* B451D0 80240A60 8FB1001C */ lw $s1, 0x1c($sp) +/* B451D4 80240A64 8FB00018 */ lw $s0, 0x18($sp) +/* B451D8 80240A68 24020002 */ addiu $v0, $zero, 2 +/* B451DC 80240A6C 03E00008 */ jr $ra +/* B451E0 80240A70 27BD0028 */ addiu $sp, $sp, 0x28 +/* B451E4 80240A74 00000000 */ nop +/* B451E8 80240A78 00000000 */ nop +/* B451EC 80240A7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240A80_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240A80_B44770.s new file mode 100644 index 0000000000..6910183f17 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240A80_B44770.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A80_B451F0 +/* B451F0 80240A80 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B451F4 80240A84 AFB10014 */ sw $s1, 0x14($sp) +/* B451F8 80240A88 0080882D */ daddu $s1, $a0, $zero +/* B451FC 80240A8C AFBF001C */ sw $ra, 0x1c($sp) +/* B45200 80240A90 AFB20018 */ sw $s2, 0x18($sp) +/* B45204 80240A94 AFB00010 */ sw $s0, 0x10($sp) +/* B45208 80240A98 F7B80030 */ sdc1 $f24, 0x30($sp) +/* B4520C 80240A9C F7B60028 */ sdc1 $f22, 0x28($sp) +/* B45210 80240AA0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B45214 80240AA4 8E30000C */ lw $s0, 0xc($s1) +/* B45218 80240AA8 8E050000 */ lw $a1, ($s0) +/* B4521C 80240AAC 0C0B1EAF */ jal get_variable +/* B45220 80240AB0 26100004 */ addiu $s0, $s0, 4 +/* B45224 80240AB4 8E050000 */ lw $a1, ($s0) +/* B45228 80240AB8 26100004 */ addiu $s0, $s0, 4 +/* B4522C 80240ABC 0220202D */ daddu $a0, $s1, $zero +/* B45230 80240AC0 0C0B1EAF */ jal get_variable +/* B45234 80240AC4 0040902D */ daddu $s2, $v0, $zero +/* B45238 80240AC8 8E050000 */ lw $a1, ($s0) +/* B4523C 80240ACC 26100004 */ addiu $s0, $s0, 4 +/* B45240 80240AD0 4482C000 */ mtc1 $v0, $f24 +/* B45244 80240AD4 00000000 */ nop +/* B45248 80240AD8 4680C620 */ cvt.s.w $f24, $f24 +/* B4524C 80240ADC 0C0B1EAF */ jal get_variable +/* B45250 80240AE0 0220202D */ daddu $a0, $s1, $zero +/* B45254 80240AE4 8E050000 */ lw $a1, ($s0) +/* B45258 80240AE8 4482B000 */ mtc1 $v0, $f22 +/* B4525C 80240AEC 00000000 */ nop +/* B45260 80240AF0 4680B5A0 */ cvt.s.w $f22, $f22 +/* B45264 80240AF4 0C0B1EAF */ jal get_variable +/* B45268 80240AF8 0220202D */ daddu $a0, $s1, $zero +/* B4526C 80240AFC 4482A000 */ mtc1 $v0, $f20 +/* B45270 80240B00 00000000 */ nop +/* B45274 80240B04 4680A520 */ cvt.s.w $f20, $f20 +/* B45278 80240B08 0C04417A */ jal get_entity_by_index +/* B4527C 80240B0C 0240202D */ daddu $a0, $s2, $zero +/* B45280 80240B10 0040182D */ daddu $v1, $v0, $zero +/* B45284 80240B14 E4780048 */ swc1 $f24, 0x48($v1) +/* B45288 80240B18 E476004C */ swc1 $f22, 0x4c($v1) +/* B4528C 80240B1C E4740050 */ swc1 $f20, 0x50($v1) +/* B45290 80240B20 8FBF001C */ lw $ra, 0x1c($sp) +/* B45294 80240B24 8FB20018 */ lw $s2, 0x18($sp) +/* B45298 80240B28 8FB10014 */ lw $s1, 0x14($sp) +/* B4529C 80240B2C 8FB00010 */ lw $s0, 0x10($sp) +/* B452A0 80240B30 D7B80030 */ ldc1 $f24, 0x30($sp) +/* B452A4 80240B34 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B452A8 80240B38 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B452AC 80240B3C 24020002 */ addiu $v0, $zero, 2 +/* B452B0 80240B40 03E00008 */ jr $ra +/* B452B4 80240B44 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240B48_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240B48_B44770.s new file mode 100644 index 0000000000..7fd975a179 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240B48_B44770.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B48_B452B8 +/* B452B8 80240B48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B452BC 80240B4C AFB20018 */ sw $s2, 0x18($sp) +/* B452C0 80240B50 0080902D */ daddu $s2, $a0, $zero +/* B452C4 80240B54 AFBF001C */ sw $ra, 0x1c($sp) +/* B452C8 80240B58 AFB10014 */ sw $s1, 0x14($sp) +/* B452CC 80240B5C AFB00010 */ sw $s0, 0x10($sp) +/* B452D0 80240B60 8E50000C */ lw $s0, 0xc($s2) +/* B452D4 80240B64 8E050000 */ lw $a1, ($s0) +/* B452D8 80240B68 0C0B1EAF */ jal get_variable +/* B452DC 80240B6C 26100004 */ addiu $s0, $s0, 4 +/* B452E0 80240B70 0C04417A */ jal get_entity_by_index +/* B452E4 80240B74 0040202D */ daddu $a0, $v0, $zero +/* B452E8 80240B78 8E050000 */ lw $a1, ($s0) +/* B452EC 80240B7C 26100004 */ addiu $s0, $s0, 4 +/* B452F0 80240B80 0040882D */ daddu $s1, $v0, $zero +/* B452F4 80240B84 C6200048 */ lwc1 $f0, 0x48($s1) +/* B452F8 80240B88 4600008D */ trunc.w.s $f2, $f0 +/* B452FC 80240B8C 44061000 */ mfc1 $a2, $f2 +/* B45300 80240B90 0C0B2026 */ jal set_variable +/* B45304 80240B94 0240202D */ daddu $a0, $s2, $zero +/* B45308 80240B98 8E050000 */ lw $a1, ($s0) +/* B4530C 80240B9C 26100004 */ addiu $s0, $s0, 4 +/* B45310 80240BA0 C620004C */ lwc1 $f0, 0x4c($s1) +/* B45314 80240BA4 4600008D */ trunc.w.s $f2, $f0 +/* B45318 80240BA8 44061000 */ mfc1 $a2, $f2 +/* B4531C 80240BAC 0C0B2026 */ jal set_variable +/* B45320 80240BB0 0240202D */ daddu $a0, $s2, $zero +/* B45324 80240BB4 C6200050 */ lwc1 $f0, 0x50($s1) +/* B45328 80240BB8 8E050000 */ lw $a1, ($s0) +/* B4532C 80240BBC 4600008D */ trunc.w.s $f2, $f0 +/* B45330 80240BC0 44061000 */ mfc1 $a2, $f2 +/* B45334 80240BC4 0C0B2026 */ jal set_variable +/* B45338 80240BC8 0240202D */ daddu $a0, $s2, $zero +/* B4533C 80240BCC 8FBF001C */ lw $ra, 0x1c($sp) +/* B45340 80240BD0 8FB20018 */ lw $s2, 0x18($sp) +/* B45344 80240BD4 8FB10014 */ lw $s1, 0x14($sp) +/* B45348 80240BD8 8FB00010 */ lw $s0, 0x10($sp) +/* B4534C 80240BDC 24020002 */ addiu $v0, $zero, 2 +/* B45350 80240BE0 03E00008 */ jr $ra +/* B45354 80240BE4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240BE8_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240BE8_B44770.s new file mode 100644 index 0000000000..8d98a709a5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240BE8_B44770.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE8_B45358 +/* B45358 80240BE8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4535C 80240BEC AFB20018 */ sw $s2, 0x18($sp) +/* B45360 80240BF0 0080902D */ daddu $s2, $a0, $zero +/* B45364 80240BF4 AFBF001C */ sw $ra, 0x1c($sp) +/* B45368 80240BF8 AFB10014 */ sw $s1, 0x14($sp) +/* B4536C 80240BFC AFB00010 */ sw $s0, 0x10($sp) +/* B45370 80240C00 8E4400AC */ lw $a0, 0xac($s2) +/* B45374 80240C04 0C04417A */ jal get_entity_by_index +/* B45378 80240C08 00A0802D */ daddu $s0, $a1, $zero +/* B4537C 80240C0C 12000004 */ beqz $s0, .L80240C20 +/* B45380 80240C10 0040882D */ daddu $s1, $v0, $zero +/* B45384 80240C14 2402003C */ addiu $v0, $zero, 0x3c +/* B45388 80240C18 AE400070 */ sw $zero, 0x70($s2) +/* B4538C 80240C1C AE420074 */ sw $v0, 0x74($s2) +.L80240C20: +/* B45390 80240C20 2403003C */ addiu $v1, $zero, 0x3c +/* B45394 80240C24 8E420074 */ lw $v0, 0x74($s2) +/* B45398 80240C28 3C014270 */ lui $at, 0x4270 +/* B4539C 80240C2C 44811000 */ mtc1 $at, $f2 +/* B453A0 80240C30 00621023 */ subu $v0, $v1, $v0 +/* B453A4 80240C34 44820000 */ mtc1 $v0, $f0 +/* B453A8 80240C38 00000000 */ nop +/* B453AC 80240C3C 46800020 */ cvt.s.w $f0, $f0 +/* B453B0 80240C40 46020003 */ div.s $f0, $f0, $f2 +/* B453B4 80240C44 E6200054 */ swc1 $f0, 0x54($s1) +/* B453B8 80240C48 8E420074 */ lw $v0, 0x74($s2) +/* B453BC 80240C4C 3C014049 */ lui $at, 0x4049 +/* B453C0 80240C50 34210FD8 */ ori $at, $at, 0xfd8 +/* B453C4 80240C54 44816000 */ mtc1 $at, $f12 +/* B453C8 80240C58 00621023 */ subu $v0, $v1, $v0 +/* B453CC 80240C5C 44820000 */ mtc1 $v0, $f0 +/* B453D0 80240C60 00000000 */ nop +/* B453D4 80240C64 46800020 */ cvt.s.w $f0, $f0 +/* B453D8 80240C68 46020003 */ div.s $f0, $f0, $f2 +/* B453DC 80240C6C E6200058 */ swc1 $f0, 0x58($s1) +/* B453E0 80240C70 8E420074 */ lw $v0, 0x74($s2) +/* B453E4 80240C74 460C0302 */ mul.s $f12, $f0, $f12 +/* B453E8 80240C78 00000000 */ nop +/* B453EC 80240C7C 00621823 */ subu $v1, $v1, $v0 +/* B453F0 80240C80 44830000 */ mtc1 $v1, $f0 +/* B453F4 80240C84 00000000 */ nop +/* B453F8 80240C88 46800020 */ cvt.s.w $f0, $f0 +/* B453FC 80240C8C 46020003 */ div.s $f0, $f0, $f2 +/* B45400 80240C90 0C00A874 */ jal cos_rad +/* B45404 80240C94 E620005C */ swc1 $f0, 0x5c($s1) +/* B45408 80240C98 3C013F80 */ lui $at, 0x3f80 +/* B4540C 80240C9C 44811000 */ mtc1 $at, $f2 +/* B45410 80240CA0 00000000 */ nop +/* B45414 80240CA4 46001081 */ sub.s $f2, $f2, $f0 +/* B45418 80240CA8 3C018024 */ lui $at, 0x8024 +/* B4541C 80240CAC D42062E0 */ ldc1 $f0, 0x62e0($at) +/* B45420 80240CB0 460010A1 */ cvt.d.s $f2, $f2 +/* B45424 80240CB4 46201082 */ mul.d $f2, $f2, $f0 +/* B45428 80240CB8 00000000 */ nop +/* B4542C 80240CBC 3C013FD0 */ lui $at, 0x3fd0 +/* B45430 80240CC0 44810800 */ mtc1 $at, $f1 +/* B45434 80240CC4 44800000 */ mtc1 $zero, $f0 +/* B45438 80240CC8 00000000 */ nop +/* B4543C 80240CCC 46201082 */ mul.d $f2, $f2, $f0 +/* B45440 80240CD0 00000000 */ nop +/* B45444 80240CD4 462010A0 */ cvt.s.d $f2, $f2 +/* B45448 80240CD8 E6220064 */ swc1 $f2, 0x64($s1) +/* B4544C 80240CDC 8E430074 */ lw $v1, 0x74($s2) +/* B45450 80240CE0 2463FFFF */ addiu $v1, $v1, -1 +/* B45454 80240CE4 00031027 */ nor $v0, $zero, $v1 +/* B45458 80240CE8 2C420001 */ sltiu $v0, $v0, 1 +/* B4545C 80240CEC AE430074 */ sw $v1, 0x74($s2) +/* B45460 80240CF0 8FBF001C */ lw $ra, 0x1c($sp) +/* B45464 80240CF4 8FB20018 */ lw $s2, 0x18($sp) +/* B45468 80240CF8 8FB10014 */ lw $s1, 0x14($sp) +/* B4546C 80240CFC 8FB00010 */ lw $s0, 0x10($sp) +/* B45470 80240D00 00021040 */ sll $v0, $v0, 1 +/* B45474 80240D04 03E00008 */ jr $ra +/* B45478 80240D08 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240D0C.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240D0C.s new file mode 100644 index 0000000000..f60592db6b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240D0C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D0C +/* B4547C 80240D0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B45480 80240D10 AFB10014 */ sw $s1, 0x14($sp) +/* B45484 80240D14 0080882D */ daddu $s1, $a0, $zero +/* B45488 80240D18 AFBF0018 */ sw $ra, 0x18($sp) +/* B4548C 80240D1C AFB00010 */ sw $s0, 0x10($sp) +/* B45490 80240D20 8E2400AC */ lw $a0, 0xac($s1) +/* B45494 80240D24 0C04417A */ jal get_entity_by_index +/* B45498 80240D28 00A0802D */ daddu $s0, $a1, $zero +/* B4549C 80240D2C 12000003 */ beqz $s0, .L80240D3C +/* B454A0 80240D30 0040182D */ daddu $v1, $v0, $zero +/* B454A4 80240D34 2402FFE2 */ addiu $v0, $zero, -0x1e +/* B454A8 80240D38 AE220070 */ sw $v0, 0x70($s1) +.L80240D3C: +/* B454AC 80240D3C C6200070 */ lwc1 $f0, 0x70($s1) +/* B454B0 80240D40 46800020 */ cvt.s.w $f0, $f0 +/* B454B4 80240D44 E4600060 */ swc1 $f0, 0x60($v1) +/* B454B8 80240D48 C6200070 */ lwc1 $f0, 0x70($s1) +/* B454BC 80240D4C 46800020 */ cvt.s.w $f0, $f0 +/* B454C0 80240D50 E4600068 */ swc1 $f0, 0x68($v1) +/* B454C4 80240D54 8E230070 */ lw $v1, 0x70($s1) +/* B454C8 80240D58 24630001 */ addiu $v1, $v1, 1 +/* B454CC 80240D5C 38620001 */ xori $v0, $v1, 1 +/* B454D0 80240D60 2C420001 */ sltiu $v0, $v0, 1 +/* B454D4 80240D64 AE230070 */ sw $v1, 0x70($s1) +/* B454D8 80240D68 8FBF0018 */ lw $ra, 0x18($sp) +/* B454DC 80240D6C 8FB10014 */ lw $s1, 0x14($sp) +/* B454E0 80240D70 8FB00010 */ lw $s0, 0x10($sp) +/* B454E4 80240D74 00021040 */ sll $v0, $v0, 1 +/* B454E8 80240D78 03E00008 */ jr $ra +/* B454EC 80240D7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240D80.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240D80.s new file mode 100644 index 0000000000..de83f3fa63 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240D80.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D80 +/* B454F0 80240D80 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B454F4 80240D84 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B454F8 80240D88 4485A000 */ mtc1 $a1, $f20 +/* B454FC 80240D8C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B45500 80240D90 4486B000 */ mtc1 $a2, $f22 +/* B45504 80240D94 AFB00010 */ sw $s0, 0x10($sp) +/* B45508 80240D98 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B4550C 80240D9C 4487C000 */ mtc1 $a3, $f24 +/* B45510 80240DA0 AFBF0014 */ sw $ra, 0x14($sp) +/* B45514 80240DA4 0C019D28 */ jal guMtxIdentF +/* B45518 80240DA8 0080802D */ daddu $s0, $a0, $zero +/* B4551C 80240DAC 4616A582 */ mul.s $f22, $f20, $f22 +/* B45520 80240DB0 00000000 */ nop +/* B45524 80240DB4 4618A502 */ mul.s $f20, $f20, $f24 +/* B45528 80240DB8 00000000 */ nop +/* B4552C 80240DBC 3C013F80 */ lui $at, 0x3f80 +/* B45530 80240DC0 44810000 */ mtc1 $at, $f0 +/* B45534 80240DC4 00000000 */ nop +/* B45538 80240DC8 E6000014 */ swc1 $f0, 0x14($s0) +/* B4553C 80240DCC E6160010 */ swc1 $f22, 0x10($s0) +/* B45540 80240DD0 E6140018 */ swc1 $f20, 0x18($s0) +/* B45544 80240DD4 8FBF0014 */ lw $ra, 0x14($sp) +/* B45548 80240DD8 8FB00010 */ lw $s0, 0x10($sp) +/* B4554C 80240DDC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B45550 80240DE0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B45554 80240DE4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B45558 80240DE8 03E00008 */ jr $ra +/* B4555C 80240DEC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240DF0_B44770.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240DF0_B44770.s new file mode 100644 index 0000000000..7c576c7d10 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240DF0_B44770.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF0_B45560 +/* B45560 80240DF0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B45564 80240DF4 AFB10054 */ sw $s1, 0x54($sp) +/* B45568 80240DF8 0080882D */ daddu $s1, $a0, $zero +/* B4556C 80240DFC AFBF005C */ sw $ra, 0x5c($sp) +/* B45570 80240E00 AFB20058 */ sw $s2, 0x58($sp) +/* B45574 80240E04 AFB00050 */ sw $s0, 0x50($sp) +/* B45578 80240E08 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B4557C 80240E0C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B45580 80240E10 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B45584 80240E14 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B45588 80240E18 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B4558C 80240E1C 8E30000C */ lw $s0, 0xc($s1) +/* B45590 80240E20 8E050000 */ lw $a1, ($s0) +/* B45594 80240E24 0C0B1EAF */ jal get_variable +/* B45598 80240E28 26100004 */ addiu $s0, $s0, 4 +/* B4559C 80240E2C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B455A0 80240E30 0040202D */ daddu $a0, $v0, $zero +/* B455A4 80240E34 8E050000 */ lw $a1, ($s0) +/* B455A8 80240E38 26100004 */ addiu $s0, $s0, 4 +/* B455AC 80240E3C 0220202D */ daddu $a0, $s1, $zero +/* B455B0 80240E40 0C0B210B */ jal get_float_variable +/* B455B4 80240E44 0040902D */ daddu $s2, $v0, $zero +/* B455B8 80240E48 8E050000 */ lw $a1, ($s0) +/* B455BC 80240E4C 26100004 */ addiu $s0, $s0, 4 +/* B455C0 80240E50 0220202D */ daddu $a0, $s1, $zero +/* B455C4 80240E54 0C0B210B */ jal get_float_variable +/* B455C8 80240E58 46000706 */ mov.s $f28, $f0 +/* B455CC 80240E5C 8E050000 */ lw $a1, ($s0) +/* B455D0 80240E60 26100004 */ addiu $s0, $s0, 4 +/* B455D4 80240E64 0220202D */ daddu $a0, $s1, $zero +/* B455D8 80240E68 0C0B210B */ jal get_float_variable +/* B455DC 80240E6C 46000686 */ mov.s $f26, $f0 +/* B455E0 80240E70 0220202D */ daddu $a0, $s1, $zero +/* B455E4 80240E74 8E050000 */ lw $a1, ($s0) +/* B455E8 80240E78 0C0B210B */ jal get_float_variable +/* B455EC 80240E7C 46000586 */ mov.s $f22, $f0 +/* B455F0 80240E80 0240202D */ daddu $a0, $s2, $zero +/* B455F4 80240E84 0C046B4C */ jal get_model_from_list_index +/* B455F8 80240E88 46000606 */ mov.s $f24, $f0 +/* B455FC 80240E8C 0040882D */ daddu $s1, $v0, $zero +/* B45600 80240E90 96220000 */ lhu $v0, ($s1) +/* B45604 80240E94 30420400 */ andi $v0, $v0, 0x400 +/* B45608 80240E98 1440001E */ bnez $v0, .L80240F14 +/* B4560C 80240E9C 26300058 */ addiu $s0, $s1, 0x58 +/* B45610 80240EA0 4480A000 */ mtc1 $zero, $f20 +/* B45614 80240EA4 4406B000 */ mfc1 $a2, $f22 +/* B45618 80240EA8 4405A000 */ mfc1 $a1, $f20 +/* B4561C 80240EAC 4407A000 */ mfc1 $a3, $f20 +/* B45620 80240EB0 0C019E40 */ jal guTranslateF +/* B45624 80240EB4 0200202D */ daddu $a0, $s0, $zero +/* B45628 80240EB8 4405E000 */ mfc1 $a1, $f28 +/* B4562C 80240EBC 4406D000 */ mfc1 $a2, $f26 +/* B45630 80240EC0 4407C000 */ mfc1 $a3, $f24 +/* B45634 80240EC4 0C090360 */ jal func_80240D80 +/* B45638 80240EC8 27A40010 */ addiu $a0, $sp, 0x10 +/* B4563C 80240ECC 27A40010 */ addiu $a0, $sp, 0x10 +/* B45640 80240ED0 0200282D */ daddu $a1, $s0, $zero +/* B45644 80240ED4 0C019D80 */ jal guMtxCatF +/* B45648 80240ED8 0200302D */ daddu $a2, $s0, $zero +/* B4564C 80240EDC 27A40010 */ addiu $a0, $sp, 0x10 +/* B45650 80240EE0 4600B587 */ neg.s $f22, $f22 +/* B45654 80240EE4 4405A000 */ mfc1 $a1, $f20 +/* B45658 80240EE8 4406B000 */ mfc1 $a2, $f22 +/* B4565C 80240EEC 0C019E40 */ jal guTranslateF +/* B45660 80240EF0 00A0382D */ daddu $a3, $a1, $zero +/* B45664 80240EF4 27A40010 */ addiu $a0, $sp, 0x10 +/* B45668 80240EF8 0200282D */ daddu $a1, $s0, $zero +/* B4566C 80240EFC 0C019D80 */ jal guMtxCatF +/* B45670 80240F00 00A0302D */ daddu $a2, $a1, $zero +/* B45674 80240F04 96220000 */ lhu $v0, ($s1) +/* B45678 80240F08 34421400 */ ori $v0, $v0, 0x1400 +/* B4567C 80240F0C 080903E3 */ j .L80240F8C +/* B45680 80240F10 A6220000 */ sh $v0, ($s1) +.L80240F14: +/* B45684 80240F14 4480A000 */ mtc1 $zero, $f20 +/* B45688 80240F18 4406B000 */ mfc1 $a2, $f22 +/* B4568C 80240F1C 4405A000 */ mfc1 $a1, $f20 +/* B45690 80240F20 4407A000 */ mfc1 $a3, $f20 +/* B45694 80240F24 0C019E40 */ jal guTranslateF +/* B45698 80240F28 27A40010 */ addiu $a0, $sp, 0x10 +/* B4569C 80240F2C 27A40010 */ addiu $a0, $sp, 0x10 +/* B456A0 80240F30 26300058 */ addiu $s0, $s1, 0x58 +/* B456A4 80240F34 0200282D */ daddu $a1, $s0, $zero +/* B456A8 80240F38 0C019D80 */ jal guMtxCatF +/* B456AC 80240F3C 0200302D */ daddu $a2, $s0, $zero +/* B456B0 80240F40 4405E000 */ mfc1 $a1, $f28 +/* B456B4 80240F44 4406D000 */ mfc1 $a2, $f26 +/* B456B8 80240F48 4407C000 */ mfc1 $a3, $f24 +/* B456BC 80240F4C 0C090360 */ jal func_80240D80 +/* B456C0 80240F50 27A40010 */ addiu $a0, $sp, 0x10 +/* B456C4 80240F54 27A40010 */ addiu $a0, $sp, 0x10 +/* B456C8 80240F58 0200282D */ daddu $a1, $s0, $zero +/* B456CC 80240F5C 0C019D80 */ jal guMtxCatF +/* B456D0 80240F60 0200302D */ daddu $a2, $s0, $zero +/* B456D4 80240F64 27A40010 */ addiu $a0, $sp, 0x10 +/* B456D8 80240F68 4600B587 */ neg.s $f22, $f22 +/* B456DC 80240F6C 4405A000 */ mfc1 $a1, $f20 +/* B456E0 80240F70 4406B000 */ mfc1 $a2, $f22 +/* B456E4 80240F74 0C019E40 */ jal guTranslateF +/* B456E8 80240F78 00A0382D */ daddu $a3, $a1, $zero +/* B456EC 80240F7C 27A40010 */ addiu $a0, $sp, 0x10 +/* B456F0 80240F80 0200282D */ daddu $a1, $s0, $zero +/* B456F4 80240F84 0C019D80 */ jal guMtxCatF +/* B456F8 80240F88 00A0302D */ daddu $a2, $a1, $zero +.L80240F8C: +/* B456FC 80240F8C 8FBF005C */ lw $ra, 0x5c($sp) +/* B45700 80240F90 8FB20058 */ lw $s2, 0x58($sp) +/* B45704 80240F94 8FB10054 */ lw $s1, 0x54($sp) +/* B45708 80240F98 8FB00050 */ lw $s0, 0x50($sp) +/* B4570C 80240F9C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B45710 80240FA0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B45714 80240FA4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B45718 80240FA8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B4571C 80240FAC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B45720 80240FB0 24020002 */ addiu $v0, $zero, 2 +/* B45724 80240FB4 03E00008 */ jr $ra +/* B45728 80240FB8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B4572C 80240FBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_04/func_80240FC0.s b/asm/nonmatchings/world/area_jan/jan_04/func_80240FC0.s new file mode 100644 index 0000000000..4fcdb77460 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_04/func_80240FC0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FC0 +/* B45730 80240FC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B45734 80240FC4 AFB10014 */ sw $s1, 0x14($sp) +/* B45738 80240FC8 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* B4573C 80240FCC 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* B45740 80240FD0 AFB00010 */ sw $s0, 0x10($sp) +/* B45744 80240FD4 3C108024 */ lui $s0, 0x8024 +/* B45748 80240FD8 2610625C */ addiu $s0, $s0, 0x625c +/* B4574C 80240FDC AFBF0018 */ sw $ra, 0x18($sp) +/* B45750 80240FE0 8E030000 */ lw $v1, ($s0) +/* B45754 80240FE4 28620003 */ slti $v0, $v1, 3 +/* B45758 80240FE8 10400007 */ beqz $v0, .L80241008 +/* B4575C 80240FEC 0220202D */ daddu $a0, $s1, $zero +/* B45760 80240FF0 1C600027 */ bgtz $v1, .L80241090 +/* B45764 80240FF4 24620001 */ addiu $v0, $v1, 1 +/* B45768 80240FF8 10600008 */ beqz $v1, .L8024101C +/* B4576C 80240FFC 0000102D */ daddu $v0, $zero, $zero +/* B45770 80241000 08090437 */ j .L802410DC +/* B45774 80241004 00000000 */ nop +.L80241008: +/* B45778 80241008 24020003 */ addiu $v0, $zero, 3 +/* B4577C 8024100C 10620022 */ beq $v1, $v0, .L80241098 +/* B45780 80241010 0000102D */ daddu $v0, $zero, $zero +/* B45784 80241014 08090437 */ j .L802410DC +/* B45788 80241018 00000000 */ nop +.L8024101C: +/* B4578C 8024101C 0C03AD8E */ jal partner_get_ride_script +/* B45790 80241020 00000000 */ nop +/* B45794 80241024 0040202D */ daddu $a0, $v0, $zero +/* B45798 80241028 1080002B */ beqz $a0, .L802410D8 +/* B4579C 8024102C 0000282D */ daddu $a1, $zero, $zero +/* B457A0 80241030 8E020000 */ lw $v0, ($s0) +/* B457A4 80241034 24060020 */ addiu $a2, $zero, 0x20 +/* B457A8 80241038 24420001 */ addiu $v0, $v0, 1 +/* B457AC 8024103C 0C0B0CF8 */ jal start_script +/* B457B0 80241040 AE020000 */ sw $v0, ($s0) +/* B457B4 80241044 C6200028 */ lwc1 $f0, 0x28($s1) +/* B457B8 80241048 3C014120 */ lui $at, 0x4120 +/* B457BC 8024104C 44811000 */ mtc1 $at, $f2 +/* B457C0 80241050 00000000 */ nop +/* B457C4 80241054 46020001 */ sub.s $f0, $f0, $f2 +/* B457C8 80241058 4600010D */ trunc.w.s $f4, $f0 +/* B457CC 8024105C E4440088 */ swc1 $f4, 0x88($v0) +/* B457D0 80241060 C620002C */ lwc1 $f0, 0x2c($s1) +/* B457D4 80241064 4600010D */ trunc.w.s $f4, $f0 +/* B457D8 80241068 E444008C */ swc1 $f4, 0x8c($v0) +/* B457DC 8024106C C6200030 */ lwc1 $f0, 0x30($s1) +/* B457E0 80241070 24030001 */ addiu $v1, $zero, 1 +/* B457E4 80241074 3C018025 */ lui $at, 0x8025 +/* B457E8 80241078 AC22A290 */ sw $v0, -0x5d70($at) +/* B457EC 8024107C AC4300B4 */ sw $v1, 0xb4($v0) +/* B457F0 80241080 4600010D */ trunc.w.s $f4, $f0 +/* B457F4 80241084 E4440090 */ swc1 $f4, 0x90($v0) +/* B457F8 80241088 08090437 */ j .L802410DC +/* B457FC 8024108C 0000102D */ daddu $v0, $zero, $zero +.L80241090: +/* B45800 80241090 08090436 */ j .L802410D8 +/* B45804 80241094 AE020000 */ sw $v0, ($s0) +.L80241098: +/* B45808 80241098 3C038011 */ lui $v1, 0x8011 +/* B4580C 8024109C 8C63C930 */ lw $v1, -0x36d0($v1) +/* B45810 802410A0 3C014387 */ lui $at, 0x4387 +/* B45814 802410A4 44810000 */ mtc1 $at, $f0 +/* B45818 802410A8 3C014334 */ lui $at, 0x4334 +/* B4581C 802410AC 44811000 */ mtc1 $at, $f2 +/* B45820 802410B0 24020002 */ addiu $v0, $zero, 2 +/* B45824 802410B4 E460000C */ swc1 $f0, 0xc($v1) +/* B45828 802410B8 E4800080 */ swc1 $f0, 0x80($a0) +/* B4582C 802410BC E4800084 */ swc1 $f0, 0x84($a0) +/* B45830 802410C0 E48200A8 */ swc1 $f2, 0xa8($a0) +/* B45834 802410C4 3C048025 */ lui $a0, 0x8025 +/* B45838 802410C8 8C84A290 */ lw $a0, -0x5d70($a0) +/* B4583C 802410CC 24030001 */ addiu $v1, $zero, 1 +/* B45840 802410D0 08090437 */ j .L802410DC +/* B45844 802410D4 AC830074 */ sw $v1, 0x74($a0) +.L802410D8: +/* B45848 802410D8 0000102D */ daddu $v0, $zero, $zero +.L802410DC: +/* B4584C 802410DC 8FBF0018 */ lw $ra, 0x18($sp) +/* B45850 802410E0 8FB10014 */ lw $s1, 0x14($sp) +/* B45854 802410E4 8FB00010 */ lw $s0, 0x10($sp) +/* B45858 802410E8 03E00008 */ jr $ra +/* B4585C 802410EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240000_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240000_B4AA70.s new file mode 100644 index 0000000000..a1cdaf9c31 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240000_B4AA70.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B4AA70 +/* B4AA70 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B4AA74 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B4AA78 80240008 3C05F5DE */ lui $a1, 0xf5de +/* B4AA7C 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* B4AA80 80240010 0C0B1EAF */ jal get_variable +/* B4AA84 80240014 0000202D */ daddu $a0, $zero, $zero +/* B4AA88 80240018 2843000F */ slti $v1, $v0, 0xf +/* B4AA8C 8024001C 3C020019 */ lui $v0, 0x19 +/* B4AA90 80240020 14600003 */ bnez $v1, .L80240030 +/* B4AA94 80240024 344200F2 */ ori $v0, $v0, 0xf2 +/* B4AA98 80240028 3C020019 */ lui $v0, 0x19 +/* B4AA9C 8024002C 344200F3 */ ori $v0, $v0, 0xf3 +.L80240030: +/* B4AAA0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* B4AAA4 80240034 03E00008 */ jr $ra +/* B4AAA8 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* B4AAAC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240040_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240040_B4AA70.s new file mode 100644 index 0000000000..3ee38883e2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240040_B4AA70.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_B4AAB0 +/* B4AAB0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B4AAB4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* B4AAB8 80240048 0080802D */ daddu $s0, $a0, $zero +/* B4AABC 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* B4AAC0 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* B4AAC4 80240054 8E020088 */ lw $v0, 0x88($s0) +/* B4AAC8 80240058 00621821 */ addu $v1, $v1, $v0 +/* B4AACC 8024005C 04610004 */ bgez $v1, .L80240070 +/* B4AAD0 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* B4AAD4 80240064 3C020002 */ lui $v0, 2 +/* B4AAD8 80240068 08090020 */ j .L80240080 +/* B4AADC 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* B4AAE0 80240070 3C040002 */ lui $a0, 2 +/* B4AAE4 80240074 0083102A */ slt $v0, $a0, $v1 +/* B4AAE8 80240078 10400002 */ beqz $v0, .L80240084 +/* B4AAEC 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* B4AAF0 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* B4AAF4 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* B4AAF8 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* B4AAFC 8024008C 00621821 */ addu $v1, $v1, $v0 +/* B4AB00 80240090 04610004 */ bgez $v1, .L802400A4 +/* B4AB04 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* B4AB08 80240098 3C020002 */ lui $v0, 2 +/* B4AB0C 8024009C 0809002D */ j .L802400B4 +/* B4AB10 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* B4AB14 802400A4 3C040002 */ lui $a0, 2 +/* B4AB18 802400A8 0083102A */ slt $v0, $a0, $v1 +/* B4AB1C 802400AC 10400002 */ beqz $v0, .L802400B8 +/* B4AB20 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* B4AB24 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* B4AB28 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* B4AB2C 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* B4AB30 802400C0 00621821 */ addu $v1, $v1, $v0 +/* B4AB34 802400C4 04610004 */ bgez $v1, .L802400D8 +/* B4AB38 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* B4AB3C 802400CC 3C020002 */ lui $v0, 2 +/* B4AB40 802400D0 0809003A */ j .L802400E8 +/* B4AB44 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* B4AB48 802400D8 3C040002 */ lui $a0, 2 +/* B4AB4C 802400DC 0083102A */ slt $v0, $a0, $v1 +/* B4AB50 802400E0 10400002 */ beqz $v0, .L802400EC +/* B4AB54 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* B4AB58 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* B4AB5C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B4AB60 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* B4AB64 802400F4 00621821 */ addu $v1, $v1, $v0 +/* B4AB68 802400F8 04610004 */ bgez $v1, .L8024010C +/* B4AB6C 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* B4AB70 80240100 3C020002 */ lui $v0, 2 +/* B4AB74 80240104 08090047 */ j .L8024011C +/* B4AB78 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* B4AB7C 8024010C 3C040002 */ lui $a0, 2 +/* B4AB80 80240110 0083102A */ slt $v0, $a0, $v1 +/* B4AB84 80240114 10400002 */ beqz $v0, .L80240120 +/* B4AB88 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* B4AB8C 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* B4AB90 80240120 8E040084 */ lw $a0, 0x84($s0) +/* B4AB94 80240124 0C046F07 */ jal set_main_pan_u +/* B4AB98 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* B4AB9C 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* B4ABA0 80240130 0C046F0D */ jal set_main_pan_v +/* B4ABA4 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* B4ABA8 80240138 8E040084 */ lw $a0, 0x84($s0) +/* B4ABAC 8024013C 0C046F13 */ jal set_aux_pan_u +/* B4ABB0 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* B4ABB4 80240144 8E040084 */ lw $a0, 0x84($s0) +/* B4ABB8 80240148 0C046F19 */ jal set_aux_pan_v +/* B4ABBC 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B4ABC0 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* B4ABC4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* B4ABC8 80240158 0000102D */ daddu $v0, $zero, $zero +/* B4ABCC 8024015C 03E00008 */ jr $ra +/* B4ABD0 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240164_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240164_B4AA70.s new file mode 100644 index 0000000000..5f420c063e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240164_B4AA70.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_B4ABD4 +/* B4ABD4 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B4ABD8 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* B4ABDC 8024016C 0080802D */ daddu $s0, $a0, $zero +/* B4ABE0 80240170 10A00005 */ beqz $a1, .L80240188 +/* B4ABE4 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* B4ABE8 80240178 AE000070 */ sw $zero, 0x70($s0) +/* B4ABEC 8024017C AE000074 */ sw $zero, 0x74($s0) +/* B4ABF0 80240180 AE000078 */ sw $zero, 0x78($s0) +/* B4ABF4 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* B4ABF8 80240188 8E020070 */ lw $v0, 0x70($s0) +/* B4ABFC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B4AC00 80240190 00000000 */ nop +/* B4AC04 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* B4AC08 80240198 8E020088 */ lw $v0, 0x88($s0) +/* B4AC0C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B4AC10 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B4AC14 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* B4AC18 802401A8 3C020002 */ lui $v0, 2 +/* B4AC1C 802401AC 08090071 */ j .L802401C4 +/* B4AC20 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B4AC24 802401B4 3C040002 */ lui $a0, 2 +/* B4AC28 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B4AC2C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B4AC30 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B4AC34 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* B4AC38 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* B4AC3C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B4AC40 802401D0 00000000 */ nop +/* B4AC44 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* B4AC48 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* B4AC4C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B4AC50 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B4AC54 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* B4AC58 802401E8 3C020002 */ lui $v0, 2 +/* B4AC5C 802401EC 08090081 */ j .L80240204 +/* B4AC60 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B4AC64 802401F4 3C040002 */ lui $a0, 2 +/* B4AC68 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B4AC6C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B4AC70 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B4AC74 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* B4AC78 80240208 8E020078 */ lw $v0, 0x78($s0) +/* B4AC7C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B4AC80 80240210 00000000 */ nop +/* B4AC84 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* B4AC88 80240218 8E020090 */ lw $v0, 0x90($s0) +/* B4AC8C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B4AC90 80240220 04610004 */ bgez $v1, .L80240234 +/* B4AC94 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* B4AC98 80240228 3C020002 */ lui $v0, 2 +/* B4AC9C 8024022C 08090091 */ j .L80240244 +/* B4ACA0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B4ACA4 80240234 3C040002 */ lui $a0, 2 +/* B4ACA8 80240238 0083102A */ slt $v0, $a0, $v1 +/* B4ACAC 8024023C 10400002 */ beqz $v0, .L80240248 +/* B4ACB0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B4ACB4 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* B4ACB8 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* B4ACBC 8024024C 1440000E */ bnez $v0, .L80240288 +/* B4ACC0 80240250 00000000 */ nop +/* B4ACC4 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* B4ACC8 80240258 8E020094 */ lw $v0, 0x94($s0) +/* B4ACCC 8024025C 00621821 */ addu $v1, $v1, $v0 +/* B4ACD0 80240260 04610004 */ bgez $v1, .L80240274 +/* B4ACD4 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* B4ACD8 80240268 3C020002 */ lui $v0, 2 +/* B4ACDC 8024026C 080900A1 */ j .L80240284 +/* B4ACE0 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* B4ACE4 80240274 3C040002 */ lui $a0, 2 +/* B4ACE8 80240278 0083102A */ slt $v0, $a0, $v1 +/* B4ACEC 8024027C 10400002 */ beqz $v0, .L80240288 +/* B4ACF0 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* B4ACF4 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* B4ACF8 80240288 8E040084 */ lw $a0, 0x84($s0) +/* B4ACFC 8024028C 0C046F07 */ jal set_main_pan_u +/* B4AD00 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* B4AD04 80240294 8E040084 */ lw $a0, 0x84($s0) +/* B4AD08 80240298 0C046F0D */ jal set_main_pan_v +/* B4AD0C 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* B4AD10 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* B4AD14 802402A4 0C046F13 */ jal set_aux_pan_u +/* B4AD18 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* B4AD1C 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* B4AD20 802402B0 0C046F19 */ jal set_aux_pan_v +/* B4AD24 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* B4AD28 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* B4AD2C 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* B4AD30 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* B4AD34 802402C4 24420001 */ addiu $v0, $v0, 1 +/* B4AD38 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* B4AD3C 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* B4AD40 802402D0 24630001 */ addiu $v1, $v1, 1 +/* B4AD44 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* B4AD48 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* B4AD4C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* B4AD50 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* B4AD54 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B4AD58 802402E8 0064182A */ slt $v1, $v1, $a0 +/* B4AD5C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* B4AD60 802402F0 14600002 */ bnez $v1, .L802402FC +/* B4AD64 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* B4AD68 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* B4AD6C 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* B4AD70 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* B4AD74 80240304 0043102A */ slt $v0, $v0, $v1 +/* B4AD78 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* B4AD7C 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* B4AD80 80240310 8E020078 */ lw $v0, 0x78($s0) +/* B4AD84 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* B4AD88 80240318 0043102A */ slt $v0, $v0, $v1 +/* B4AD8C 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* B4AD90 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* B4AD94 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* B4AD98 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* B4AD9C 8024032C 0043102A */ slt $v0, $v0, $v1 +/* B4ADA0 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* B4ADA4 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* B4ADA8 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* B4ADAC 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* B4ADB0 80240340 0000102D */ daddu $v0, $zero, $zero +/* B4ADB4 80240344 03E00008 */ jr $ra +/* B4ADB8 80240348 27BD0018 */ addiu $sp, $sp, 0x18 +/* B4ADBC 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240350_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240350_B4AA70.s new file mode 100644 index 0000000000..b5133f58a8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240350_B4AA70.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_B4ADC0 +/* B4ADC0 80240350 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B4ADC4 80240354 AFB10034 */ sw $s1, 0x34($sp) +/* B4ADC8 80240358 0080882D */ daddu $s1, $a0, $zero +/* B4ADCC 8024035C AFBF0038 */ sw $ra, 0x38($sp) +/* B4ADD0 80240360 AFB00030 */ sw $s0, 0x30($sp) +/* B4ADD4 80240364 10A00016 */ beqz $a1, .L802403C0 +/* B4ADD8 80240368 8E30000C */ lw $s0, 0xc($s1) +/* B4ADDC 8024036C 8E050000 */ lw $a1, ($s0) +/* B4ADE0 80240370 0C0B1EAF */ jal get_variable +/* B4ADE4 80240374 26100004 */ addiu $s0, $s0, 4 +/* B4ADE8 80240378 8E030000 */ lw $v1, ($s0) +/* B4ADEC 8024037C 0040202D */ daddu $a0, $v0, $zero +/* B4ADF0 80240380 0C046C04 */ jal get_model_list_index_from_tree_index +/* B4ADF4 80240384 AE23007C */ sw $v1, 0x7c($s1) +/* B4ADF8 80240388 0C046B4C */ jal get_model_from_list_index +/* B4ADFC 8024038C 0040202D */ daddu $a0, $v0, $zero +/* B4AE00 80240390 0040802D */ daddu $s0, $v0, $zero +/* B4AE04 80240394 0000202D */ daddu $a0, $zero, $zero +/* B4AE08 80240398 AE300074 */ sw $s0, 0x74($s1) +/* B4AE0C 8024039C 8E050098 */ lw $a1, 0x98($s0) +/* B4AE10 802403A0 8E0700A0 */ lw $a3, 0xa0($s0) +/* B4AE14 802403A4 0C044898 */ jal create_shadow_type +/* B4AE18 802403A8 0000302D */ daddu $a2, $zero, $zero +/* B4AE1C 802403AC 0220202D */ daddu $a0, $s1, $zero +/* B4AE20 802403B0 8E25007C */ lw $a1, 0x7c($s1) +/* B4AE24 802403B4 0000302D */ daddu $a2, $zero, $zero +/* B4AE28 802403B8 0C0B2026 */ jal set_variable +/* B4AE2C 802403BC AE220078 */ sw $v0, 0x78($s1) +.L802403C0: +/* B4AE30 802403C0 8E25007C */ lw $a1, 0x7c($s1) +/* B4AE34 802403C4 0C0B1EAF */ jal get_variable +/* B4AE38 802403C8 0220202D */ daddu $a0, $s1, $zero +/* B4AE3C 802403CC 1440002A */ bnez $v0, .L80240478 +/* B4AE40 802403D0 00000000 */ nop +/* B4AE44 802403D4 8E240078 */ lw $a0, 0x78($s1) +/* B4AE48 802403D8 0C044181 */ jal get_shadow_by_index +/* B4AE4C 802403DC 8E300074 */ lw $s0, 0x74($s1) +/* B4AE50 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* B4AE54 802403E4 27A5001C */ addiu $a1, $sp, 0x1c +/* B4AE58 802403E8 27A60020 */ addiu $a2, $sp, 0x20 +/* B4AE5C 802403EC 27A70024 */ addiu $a3, $sp, 0x24 +/* B4AE60 802403F0 27A30028 */ addiu $v1, $sp, 0x28 +/* B4AE64 802403F4 C6000098 */ lwc1 $f0, 0x98($s0) +/* B4AE68 802403F8 C602009C */ lwc1 $f2, 0x9c($s0) +/* B4AE6C 802403FC C60400A0 */ lwc1 $f4, 0xa0($s0) +/* B4AE70 80240400 0040802D */ daddu $s0, $v0, $zero +/* B4AE74 80240404 E7A00018 */ swc1 $f0, 0x18($sp) +/* B4AE78 80240408 E7A2001C */ swc1 $f2, 0x1c($sp) +/* B4AE7C 8024040C E7A40020 */ swc1 $f4, 0x20($sp) +/* B4AE80 80240410 AFA30010 */ sw $v1, 0x10($sp) +/* B4AE84 80240414 27A3002C */ addiu $v1, $sp, 0x2c +/* B4AE88 80240418 0C04497A */ jal func_801125E8 +/* B4AE8C 8024041C AFA30014 */ sw $v1, 0x14($sp) +/* B4AE90 80240420 8FA5002C */ lw $a1, 0x2c($sp) +/* B4AE94 80240424 0C044A17 */ jal set_standard_shadow_scale +/* B4AE98 80240428 0200202D */ daddu $a0, $s0, $zero +/* B4AE9C 8024042C C7A00018 */ lwc1 $f0, 0x18($sp) +/* B4AEA0 80240430 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B4AEA4 80240434 C7A60020 */ lwc1 $f6, 0x20($sp) +/* B4AEA8 80240438 C7A80024 */ lwc1 $f8, 0x24($sp) +/* B4AEAC 8024043C C604001C */ lwc1 $f4, 0x1c($s0) +/* B4AEB0 80240440 0000102D */ daddu $v0, $zero, $zero +/* B4AEB4 80240444 AE00002C */ sw $zero, 0x2c($s0) +/* B4AEB8 80240448 E6000010 */ swc1 $f0, 0x10($s0) +/* B4AEBC 8024044C C6000024 */ lwc1 $f0, 0x24($s0) +/* B4AEC0 80240450 46042100 */ add.s $f4, $f4, $f4 +/* B4AEC4 80240454 E6020014 */ swc1 $f2, 0x14($s0) +/* B4AEC8 80240458 E6060018 */ swc1 $f6, 0x18($s0) +/* B4AECC 8024045C E6080028 */ swc1 $f8, 0x28($s0) +/* B4AED0 80240460 C7A20028 */ lwc1 $f2, 0x28($sp) +/* B4AED4 80240464 46000000 */ add.s $f0, $f0, $f0 +/* B4AED8 80240468 E6020030 */ swc1 $f2, 0x30($s0) +/* B4AEDC 8024046C E604001C */ swc1 $f4, 0x1c($s0) +/* B4AEE0 80240470 08090122 */ j .L80240488 +/* B4AEE4 80240474 E6000024 */ swc1 $f0, 0x24($s0) +.L80240478: +/* B4AEE8 80240478 8E240078 */ lw $a0, 0x78($s1) +/* B4AEEC 8024047C 0C0448CA */ jal func_80112328 +/* B4AEF0 80240480 00000000 */ nop +/* B4AEF4 80240484 24020002 */ addiu $v0, $zero, 2 +.L80240488: +/* B4AEF8 80240488 8FBF0038 */ lw $ra, 0x38($sp) +/* B4AEFC 8024048C 8FB10034 */ lw $s1, 0x34($sp) +/* B4AF00 80240490 8FB00030 */ lw $s0, 0x30($sp) +/* B4AF04 80240494 03E00008 */ jr $ra +/* B4AF08 80240498 27BD0040 */ addiu $sp, $sp, 0x40 +/* B4AF0C 8024049C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802404A0_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_802404A0_B4AA70.s new file mode 100644 index 0000000000..64d20def17 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802404A0_B4AA70.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A0_B4AF10 +/* B4AF10 802404A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B4AF14 802404A4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B4AF18 802404A8 4485A000 */ mtc1 $a1, $f20 +/* B4AF1C 802404AC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B4AF20 802404B0 4486B000 */ mtc1 $a2, $f22 +/* B4AF24 802404B4 AFB00010 */ sw $s0, 0x10($sp) +/* B4AF28 802404B8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B4AF2C 802404BC 4487C000 */ mtc1 $a3, $f24 +/* B4AF30 802404C0 AFBF0014 */ sw $ra, 0x14($sp) +/* B4AF34 802404C4 0C019D28 */ jal guMtxIdentF +/* B4AF38 802404C8 0080802D */ daddu $s0, $a0, $zero +/* B4AF3C 802404CC 4616A582 */ mul.s $f22, $f20, $f22 +/* B4AF40 802404D0 00000000 */ nop +/* B4AF44 802404D4 4618A502 */ mul.s $f20, $f20, $f24 +/* B4AF48 802404D8 00000000 */ nop +/* B4AF4C 802404DC 3C013F80 */ lui $at, 0x3f80 +/* B4AF50 802404E0 44810000 */ mtc1 $at, $f0 +/* B4AF54 802404E4 00000000 */ nop +/* B4AF58 802404E8 E6000014 */ swc1 $f0, 0x14($s0) +/* B4AF5C 802404EC E6160010 */ swc1 $f22, 0x10($s0) +/* B4AF60 802404F0 E6140018 */ swc1 $f20, 0x18($s0) +/* B4AF64 802404F4 8FBF0014 */ lw $ra, 0x14($sp) +/* B4AF68 802404F8 8FB00010 */ lw $s0, 0x10($sp) +/* B4AF6C 802404FC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B4AF70 80240500 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B4AF74 80240504 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B4AF78 80240508 03E00008 */ jr $ra +/* B4AF7C 8024050C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240510_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240510_B4AA70.s new file mode 100644 index 0000000000..01d9075d60 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240510_B4AA70.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_B4AF80 +/* B4AF80 80240510 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B4AF84 80240514 AFB10054 */ sw $s1, 0x54($sp) +/* B4AF88 80240518 0080882D */ daddu $s1, $a0, $zero +/* B4AF8C 8024051C AFBF005C */ sw $ra, 0x5c($sp) +/* B4AF90 80240520 AFB20058 */ sw $s2, 0x58($sp) +/* B4AF94 80240524 AFB00050 */ sw $s0, 0x50($sp) +/* B4AF98 80240528 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B4AF9C 8024052C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B4AFA0 80240530 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B4AFA4 80240534 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B4AFA8 80240538 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B4AFAC 8024053C 8E30000C */ lw $s0, 0xc($s1) +/* B4AFB0 80240540 8E050000 */ lw $a1, ($s0) +/* B4AFB4 80240544 0C0B1EAF */ jal get_variable +/* B4AFB8 80240548 26100004 */ addiu $s0, $s0, 4 +/* B4AFBC 8024054C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B4AFC0 80240550 0040202D */ daddu $a0, $v0, $zero +/* B4AFC4 80240554 8E050000 */ lw $a1, ($s0) +/* B4AFC8 80240558 26100004 */ addiu $s0, $s0, 4 +/* B4AFCC 8024055C 0220202D */ daddu $a0, $s1, $zero +/* B4AFD0 80240560 0C0B210B */ jal get_float_variable +/* B4AFD4 80240564 0040902D */ daddu $s2, $v0, $zero +/* B4AFD8 80240568 8E050000 */ lw $a1, ($s0) +/* B4AFDC 8024056C 26100004 */ addiu $s0, $s0, 4 +/* B4AFE0 80240570 0220202D */ daddu $a0, $s1, $zero +/* B4AFE4 80240574 0C0B210B */ jal get_float_variable +/* B4AFE8 80240578 46000706 */ mov.s $f28, $f0 +/* B4AFEC 8024057C 8E050000 */ lw $a1, ($s0) +/* B4AFF0 80240580 26100004 */ addiu $s0, $s0, 4 +/* B4AFF4 80240584 0220202D */ daddu $a0, $s1, $zero +/* B4AFF8 80240588 0C0B210B */ jal get_float_variable +/* B4AFFC 8024058C 46000686 */ mov.s $f26, $f0 +/* B4B000 80240590 0220202D */ daddu $a0, $s1, $zero +/* B4B004 80240594 8E050000 */ lw $a1, ($s0) +/* B4B008 80240598 0C0B210B */ jal get_float_variable +/* B4B00C 8024059C 46000586 */ mov.s $f22, $f0 +/* B4B010 802405A0 0240202D */ daddu $a0, $s2, $zero +/* B4B014 802405A4 0C046B4C */ jal get_model_from_list_index +/* B4B018 802405A8 46000606 */ mov.s $f24, $f0 +/* B4B01C 802405AC 0040882D */ daddu $s1, $v0, $zero +/* B4B020 802405B0 96220000 */ lhu $v0, ($s1) +/* B4B024 802405B4 30420400 */ andi $v0, $v0, 0x400 +/* B4B028 802405B8 1440001E */ bnez $v0, .L80240634 +/* B4B02C 802405BC 26300058 */ addiu $s0, $s1, 0x58 +/* B4B030 802405C0 4480A000 */ mtc1 $zero, $f20 +/* B4B034 802405C4 4406B000 */ mfc1 $a2, $f22 +/* B4B038 802405C8 4405A000 */ mfc1 $a1, $f20 +/* B4B03C 802405CC 4407A000 */ mfc1 $a3, $f20 +/* B4B040 802405D0 0C019E40 */ jal guTranslateF +/* B4B044 802405D4 0200202D */ daddu $a0, $s0, $zero +/* B4B048 802405D8 4405E000 */ mfc1 $a1, $f28 +/* B4B04C 802405DC 4406D000 */ mfc1 $a2, $f26 +/* B4B050 802405E0 4407C000 */ mfc1 $a3, $f24 +/* B4B054 802405E4 0C090128 */ jal func_802404A0 +/* B4B058 802405E8 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B05C 802405EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B060 802405F0 0200282D */ daddu $a1, $s0, $zero +/* B4B064 802405F4 0C019D80 */ jal guMtxCatF +/* B4B068 802405F8 0200302D */ daddu $a2, $s0, $zero +/* B4B06C 802405FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B070 80240600 4600B587 */ neg.s $f22, $f22 +/* B4B074 80240604 4405A000 */ mfc1 $a1, $f20 +/* B4B078 80240608 4406B000 */ mfc1 $a2, $f22 +/* B4B07C 8024060C 0C019E40 */ jal guTranslateF +/* B4B080 80240610 00A0382D */ daddu $a3, $a1, $zero +/* B4B084 80240614 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B088 80240618 0200282D */ daddu $a1, $s0, $zero +/* B4B08C 8024061C 0C019D80 */ jal guMtxCatF +/* B4B090 80240620 00A0302D */ daddu $a2, $a1, $zero +/* B4B094 80240624 96220000 */ lhu $v0, ($s1) +/* B4B098 80240628 34421400 */ ori $v0, $v0, 0x1400 +/* B4B09C 8024062C 080901AB */ j .L802406AC +/* B4B0A0 80240630 A6220000 */ sh $v0, ($s1) +.L80240634: +/* B4B0A4 80240634 4480A000 */ mtc1 $zero, $f20 +/* B4B0A8 80240638 4406B000 */ mfc1 $a2, $f22 +/* B4B0AC 8024063C 4405A000 */ mfc1 $a1, $f20 +/* B4B0B0 80240640 4407A000 */ mfc1 $a3, $f20 +/* B4B0B4 80240644 0C019E40 */ jal guTranslateF +/* B4B0B8 80240648 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B0BC 8024064C 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B0C0 80240650 26300058 */ addiu $s0, $s1, 0x58 +/* B4B0C4 80240654 0200282D */ daddu $a1, $s0, $zero +/* B4B0C8 80240658 0C019D80 */ jal guMtxCatF +/* B4B0CC 8024065C 0200302D */ daddu $a2, $s0, $zero +/* B4B0D0 80240660 4405E000 */ mfc1 $a1, $f28 +/* B4B0D4 80240664 4406D000 */ mfc1 $a2, $f26 +/* B4B0D8 80240668 4407C000 */ mfc1 $a3, $f24 +/* B4B0DC 8024066C 0C090128 */ jal func_802404A0 +/* B4B0E0 80240670 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B0E4 80240674 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B0E8 80240678 0200282D */ daddu $a1, $s0, $zero +/* B4B0EC 8024067C 0C019D80 */ jal guMtxCatF +/* B4B0F0 80240680 0200302D */ daddu $a2, $s0, $zero +/* B4B0F4 80240684 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B0F8 80240688 4600B587 */ neg.s $f22, $f22 +/* B4B0FC 8024068C 4405A000 */ mfc1 $a1, $f20 +/* B4B100 80240690 4406B000 */ mfc1 $a2, $f22 +/* B4B104 80240694 0C019E40 */ jal guTranslateF +/* B4B108 80240698 00A0382D */ daddu $a3, $a1, $zero +/* B4B10C 8024069C 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B110 802406A0 0200282D */ daddu $a1, $s0, $zero +/* B4B114 802406A4 0C019D80 */ jal guMtxCatF +/* B4B118 802406A8 00A0302D */ daddu $a2, $a1, $zero +.L802406AC: +/* B4B11C 802406AC 8FBF005C */ lw $ra, 0x5c($sp) +/* B4B120 802406B0 8FB20058 */ lw $s2, 0x58($sp) +/* B4B124 802406B4 8FB10054 */ lw $s1, 0x54($sp) +/* B4B128 802406B8 8FB00050 */ lw $s0, 0x50($sp) +/* B4B12C 802406BC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B4B130 802406C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B4B134 802406C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B4B138 802406C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B4B13C 802406CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B4B140 802406D0 24020002 */ addiu $v0, $zero, 2 +/* B4B144 802406D4 03E00008 */ jr $ra +/* B4B148 802406D8 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802406DC.s b/asm/nonmatchings/world/area_jan/jan_05/func_802406DC.s new file mode 100644 index 0000000000..e0c774366f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802406DC.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406DC +/* B4B14C 802406DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4B150 802406E0 AFB00010 */ sw $s0, 0x10($sp) +/* B4B154 802406E4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B4B158 802406E8 4485A000 */ mtc1 $a1, $f20 +/* B4B15C 802406EC AFBF0014 */ sw $ra, 0x14($sp) +/* B4B160 802406F0 0C019D28 */ jal guMtxIdentF +/* B4B164 802406F4 0080802D */ daddu $s0, $a0, $zero +/* B4B168 802406F8 3C018024 */ lui $at, 0x8024 +/* B4B16C 802406FC D4207A20 */ ldc1 $f0, 0x7a20($at) +/* B4B170 80240700 4600A521 */ cvt.d.s $f20, $f20 +/* B4B174 80240704 4620A502 */ mul.d $f20, $f20, $f0 +/* B4B178 80240708 00000000 */ nop +/* B4B17C 8024070C 3C013F80 */ lui $at, 0x3f80 +/* B4B180 80240710 44810000 */ mtc1 $at, $f0 +/* B4B184 80240714 AE000018 */ sw $zero, 0x18($s0) +/* B4B188 80240718 E6000014 */ swc1 $f0, 0x14($s0) +/* B4B18C 8024071C 4620A520 */ cvt.s.d $f20, $f20 +/* B4B190 80240720 E6140010 */ swc1 $f20, 0x10($s0) +/* B4B194 80240724 8FBF0014 */ lw $ra, 0x14($sp) +/* B4B198 80240728 8FB00010 */ lw $s0, 0x10($sp) +/* B4B19C 8024072C D7B40018 */ ldc1 $f20, 0x18($sp) +/* B4B1A0 80240730 03E00008 */ jr $ra +/* B4B1A4 80240734 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240738_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240738_B4AA70.s new file mode 100644 index 0000000000..3692f40b12 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240738_B4AA70.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738_B4B1A8 +/* B4B1A8 80240738 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B4B1AC 8024073C AFB10054 */ sw $s1, 0x54($sp) +/* B4B1B0 80240740 0080882D */ daddu $s1, $a0, $zero +/* B4B1B4 80240744 AFBF0058 */ sw $ra, 0x58($sp) +/* B4B1B8 80240748 AFB00050 */ sw $s0, 0x50($sp) +/* B4B1BC 8024074C F7B40060 */ sdc1 $f20, 0x60($sp) +/* B4B1C0 80240750 8E30000C */ lw $s0, 0xc($s1) +/* B4B1C4 80240754 8E050000 */ lw $a1, ($s0) +/* B4B1C8 80240758 0C0B1EAF */ jal get_variable +/* B4B1CC 8024075C 26100004 */ addiu $s0, $s0, 4 +/* B4B1D0 80240760 0C046C04 */ jal get_model_list_index_from_tree_index +/* B4B1D4 80240764 0040202D */ daddu $a0, $v0, $zero +/* B4B1D8 80240768 0220202D */ daddu $a0, $s1, $zero +/* B4B1DC 8024076C 8E050000 */ lw $a1, ($s0) +/* B4B1E0 80240770 0C0B210B */ jal get_float_variable +/* B4B1E4 80240774 0040802D */ daddu $s0, $v0, $zero +/* B4B1E8 80240778 0200202D */ daddu $a0, $s0, $zero +/* B4B1EC 8024077C 0C046B4C */ jal get_model_from_list_index +/* B4B1F0 80240780 46000506 */ mov.s $f20, $f0 +/* B4B1F4 80240784 0040802D */ daddu $s0, $v0, $zero +/* B4B1F8 80240788 96020000 */ lhu $v0, ($s0) +/* B4B1FC 8024078C 30420400 */ andi $v0, $v0, 0x400 +/* B4B200 80240790 14400008 */ bnez $v0, .L802407B4 +/* B4B204 80240794 00000000 */ nop +/* B4B208 80240798 4405A000 */ mfc1 $a1, $f20 +/* B4B20C 8024079C 0C0901B7 */ jal func_802406DC +/* B4B210 802407A0 26040058 */ addiu $a0, $s0, 0x58 +/* B4B214 802407A4 96020000 */ lhu $v0, ($s0) +/* B4B218 802407A8 34421400 */ ori $v0, $v0, 0x1400 +/* B4B21C 802407AC 080901F4 */ j .L802407D0 +/* B4B220 802407B0 A6020000 */ sh $v0, ($s0) +.L802407B4: +/* B4B224 802407B4 4405A000 */ mfc1 $a1, $f20 +/* B4B228 802407B8 0C0901B7 */ jal func_802406DC +/* B4B22C 802407BC 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B230 802407C0 27A40010 */ addiu $a0, $sp, 0x10 +/* B4B234 802407C4 26050058 */ addiu $a1, $s0, 0x58 +/* B4B238 802407C8 0C019D80 */ jal guMtxCatF +/* B4B23C 802407CC 00A0302D */ daddu $a2, $a1, $zero +.L802407D0: +/* B4B240 802407D0 8FBF0058 */ lw $ra, 0x58($sp) +/* B4B244 802407D4 8FB10054 */ lw $s1, 0x54($sp) +/* B4B248 802407D8 8FB00050 */ lw $s0, 0x50($sp) +/* B4B24C 802407DC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B4B250 802407E0 24020002 */ addiu $v0, $zero, 2 +/* B4B254 802407E4 03E00008 */ jr $ra +/* B4B258 802407E8 27BD0068 */ addiu $sp, $sp, 0x68 +/* B4B25C 802407EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802407F0_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_802407F0_B4AA70.s new file mode 100644 index 0000000000..b83d67b7b1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802407F0_B4AA70.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F0_B4B260 +/* B4B260 802407F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B4B264 802407F4 AFBF0020 */ sw $ra, 0x20($sp) +/* B4B268 802407F8 AFB1001C */ sw $s1, 0x1c($sp) +/* B4B26C 802407FC AFB00018 */ sw $s0, 0x18($sp) +/* B4B270 80240800 8C910148 */ lw $s1, 0x148($a0) +/* B4B274 80240804 0C00EABB */ jal get_npc_unsafe +/* B4B278 80240808 86240008 */ lh $a0, 8($s1) +/* B4B27C 8024080C 8E23006C */ lw $v1, 0x6c($s1) +/* B4B280 80240810 28630005 */ slti $v1, $v1, 5 +/* B4B284 80240814 1060001D */ beqz $v1, .L8024088C +/* B4B288 80240818 0040802D */ daddu $s0, $v0, $zero +/* B4B28C 8024081C 0C00A67F */ jal rand_int +/* B4B290 80240820 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B4B294 80240824 2842012D */ slti $v0, $v0, 0x12d +/* B4B298 80240828 14400018 */ bnez $v0, .L8024088C +/* B4B29C 8024082C 24020003 */ addiu $v0, $zero, 3 +/* B4B2A0 80240830 860300A8 */ lh $v1, 0xa8($s0) +/* B4B2A4 80240834 C604003C */ lwc1 $f4, 0x3c($s0) +/* B4B2A8 80240838 C6000040 */ lwc1 $f0, 0x40($s0) +/* B4B2AC 8024083C 3C014014 */ lui $at, 0x4014 +/* B4B2B0 80240840 44811800 */ mtc1 $at, $f3 +/* B4B2B4 80240844 44801000 */ mtc1 $zero, $f2 +/* B4B2B8 80240848 AFA20010 */ sw $v0, 0x10($sp) +/* B4B2BC 8024084C 46000021 */ cvt.d.s $f0, $f0 +/* B4B2C0 80240850 46220000 */ add.d $f0, $f0, $f2 +/* B4B2C4 80240854 AFA00014 */ sw $zero, 0x14($sp) +/* B4B2C8 80240858 44831000 */ mtc1 $v1, $f2 +/* B4B2CC 8024085C 00000000 */ nop +/* B4B2D0 80240860 468010A0 */ cvt.s.w $f2, $f2 +/* B4B2D4 80240864 46022100 */ add.s $f4, $f4, $f2 +/* B4B2D8 80240868 8E050038 */ lw $a1, 0x38($s0) +/* B4B2DC 8024086C 46200020 */ cvt.s.d $f0, $f0 +/* B4B2E0 80240870 44062000 */ mfc1 $a2, $f4 +/* B4B2E4 80240874 44070000 */ mfc1 $a3, $f0 +/* B4B2E8 80240878 0C04C6A5 */ jal make_item_entity_nodelay +/* B4B2EC 8024087C 24040156 */ addiu $a0, $zero, 0x156 +/* B4B2F0 80240880 8E22006C */ lw $v0, 0x6c($s1) +/* B4B2F4 80240884 24420001 */ addiu $v0, $v0, 1 +/* B4B2F8 80240888 AE22006C */ sw $v0, 0x6c($s1) +.L8024088C: +/* B4B2FC 8024088C 8FBF0020 */ lw $ra, 0x20($sp) +/* B4B300 80240890 8FB1001C */ lw $s1, 0x1c($sp) +/* B4B304 80240894 8FB00018 */ lw $s0, 0x18($sp) +/* B4B308 80240898 24020002 */ addiu $v0, $zero, 2 +/* B4B30C 8024089C 03E00008 */ jr $ra +/* B4B310 802408A0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802408A4_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_802408A4_B4AA70.s new file mode 100644 index 0000000000..bb47648b34 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802408A4_B4AA70.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A4_B4B314 +/* B4B314 802408A4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B4B318 802408A8 AFB00030 */ sw $s0, 0x30($sp) +/* B4B31C 802408AC 0080802D */ daddu $s0, $a0, $zero +/* B4B320 802408B0 AFBF0040 */ sw $ra, 0x40($sp) +/* B4B324 802408B4 AFB3003C */ sw $s3, 0x3c($sp) +/* B4B328 802408B8 AFB20038 */ sw $s2, 0x38($sp) +/* B4B32C 802408BC AFB10034 */ sw $s1, 0x34($sp) +/* B4B330 802408C0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B4B334 802408C4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B4B338 802408C8 8E130148 */ lw $s3, 0x148($s0) +/* B4B33C 802408CC 00A0882D */ daddu $s1, $a1, $zero +/* B4B340 802408D0 86640008 */ lh $a0, 8($s3) +/* B4B344 802408D4 0C00EABB */ jal get_npc_unsafe +/* B4B348 802408D8 00C0902D */ daddu $s2, $a2, $zero +/* B4B34C 802408DC 0200202D */ daddu $a0, $s0, $zero +/* B4B350 802408E0 0220282D */ daddu $a1, $s1, $zero +/* B4B354 802408E4 0240302D */ daddu $a2, $s2, $zero +/* B4B358 802408E8 0C012568 */ jal func_800495A0 +/* B4B35C 802408EC 0040802D */ daddu $s0, $v0, $zero +/* B4B360 802408F0 8E020000 */ lw $v0, ($s0) +/* B4B364 802408F4 2404002D */ addiu $a0, $zero, 0x2d +/* B4B368 802408F8 34420800 */ ori $v0, $v0, 0x800 +/* B4B36C 802408FC 0C00A67F */ jal rand_int +/* B4B370 80240900 AE020000 */ sw $v0, ($s0) +/* B4B374 80240904 0200202D */ daddu $a0, $s0, $zero +/* B4B378 80240908 3C05B000 */ lui $a1, 0xb000 +/* B4B37C 8024090C 34A50017 */ ori $a1, $a1, 0x17 +/* B4B380 80240910 44820000 */ mtc1 $v0, $f0 +/* B4B384 80240914 00000000 */ nop +/* B4B388 80240918 46800021 */ cvt.d.w $f0, $f0 +/* B4B38C 8024091C 3C014024 */ lui $at, 0x4024 +/* B4B390 80240920 44811800 */ mtc1 $at, $f3 +/* B4B394 80240924 44801000 */ mtc1 $zero, $f2 +/* B4B398 80240928 3C014020 */ lui $at, 0x4020 +/* B4B39C 8024092C 44812800 */ mtc1 $at, $f5 +/* B4B3A0 80240930 44802000 */ mtc1 $zero, $f4 +/* B4B3A4 80240934 46220003 */ div.d $f0, $f0, $f2 +/* B4B3A8 80240938 46240000 */ add.d $f0, $f0, $f4 +/* B4B3AC 8024093C 3C013FC0 */ lui $at, 0x3fc0 +/* B4B3B0 80240940 44811000 */ mtc1 $at, $f2 +/* B4B3B4 80240944 0000302D */ daddu $a2, $zero, $zero +/* B4B3B8 80240948 E6020014 */ swc1 $f2, 0x14($s0) +/* B4B3BC 8024094C 46200020 */ cvt.s.d $f0, $f0 +/* B4B3C0 80240950 0C012530 */ jal func_800494C0 +/* B4B3C4 80240954 E600001C */ swc1 $f0, 0x1c($s0) +/* B4B3C8 80240958 8E6300D0 */ lw $v1, 0xd0($s3) +/* B4B3CC 8024095C C6000040 */ lwc1 $f0, 0x40($s0) +/* B4B3D0 80240960 C4620000 */ lwc1 $f2, ($v1) +/* B4B3D4 80240964 468010A0 */ cvt.s.w $f2, $f2 +/* B4B3D8 80240968 C4640008 */ lwc1 $f4, 8($v1) +/* B4B3DC 8024096C 46802120 */ cvt.s.w $f4, $f4 +/* B4B3E0 80240970 E7A00010 */ swc1 $f0, 0x10($sp) +/* B4B3E4 80240974 8E6200D0 */ lw $v0, 0xd0($s3) +/* B4B3E8 80240978 44051000 */ mfc1 $a1, $f2 +/* B4B3EC 8024097C C440000C */ lwc1 $f0, 0xc($v0) +/* B4B3F0 80240980 46800020 */ cvt.s.w $f0, $f0 +/* B4B3F4 80240984 E7A00014 */ swc1 $f0, 0x14($sp) +/* B4B3F8 80240988 8E6200D0 */ lw $v0, 0xd0($s3) +/* B4B3FC 8024098C 44062000 */ mfc1 $a2, $f4 +/* B4B400 80240990 C4400010 */ lwc1 $f0, 0x10($v0) +/* B4B404 80240994 46800020 */ cvt.s.w $f0, $f0 +/* B4B408 80240998 E7A00018 */ swc1 $f0, 0x18($sp) +/* B4B40C 8024099C 8C640018 */ lw $a0, 0x18($v1) +/* B4B410 802409A0 0C0123F5 */ jal is_point_within_region +/* B4B414 802409A4 8E070038 */ lw $a3, 0x38($s0) +/* B4B418 802409A8 10400035 */ beqz $v0, .L80240A80 +/* B4B41C 802409AC 00000000 */ nop +/* B4B420 802409B0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4B424 802409B4 3C0141C8 */ lui $at, 0x41c8 +/* B4B428 802409B8 4481B000 */ mtc1 $at, $f22 +/* B4B42C 802409BC 8E6200D0 */ lw $v0, 0xd0($s3) +/* B4B430 802409C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4B434 802409C4 C4480000 */ lwc1 $f8, ($v0) +/* B4B438 802409C8 46804220 */ cvt.s.w $f8, $f8 +/* B4B43C 802409CC 44064000 */ mfc1 $a2, $f8 +/* B4B440 802409D0 C4480008 */ lwc1 $f8, 8($v0) +/* B4B444 802409D4 46804220 */ cvt.s.w $f8, $f8 +/* B4B448 802409D8 44074000 */ mfc1 $a3, $f8 +/* B4B44C 802409DC 3C01403E */ lui $at, 0x403e +/* B4B450 802409E0 4481A800 */ mtc1 $at, $f21 +/* B4B454 802409E4 4480A000 */ mtc1 $zero, $f20 +/* B4B458 802409E8 0C00A720 */ jal atan2 +/* B4B45C 802409EC 0000882D */ daddu $s1, $zero, $zero +/* B4B460 802409F0 C6020038 */ lwc1 $f2, 0x38($s0) +/* B4B464 802409F4 C604003C */ lwc1 $f4, 0x3c($s0) +/* B4B468 802409F8 C6060040 */ lwc1 $f6, 0x40($s0) +/* B4B46C 802409FC E600000C */ swc1 $f0, 0xc($s0) +/* B4B470 80240A00 E7A20020 */ swc1 $f2, 0x20($sp) +/* B4B474 80240A04 E7A40024 */ swc1 $f4, 0x24($sp) +/* B4B478 80240A08 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240A0C: +/* B4B47C 80240A0C E7B60010 */ swc1 $f22, 0x10($sp) +/* B4B480 80240A10 C600000C */ lwc1 $f0, 0xc($s0) +/* B4B484 80240A14 E7A00014 */ swc1 $f0, 0x14($sp) +/* B4B488 80240A18 860200A8 */ lh $v0, 0xa8($s0) +/* B4B48C 80240A1C 27A50020 */ addiu $a1, $sp, 0x20 +/* B4B490 80240A20 44820000 */ mtc1 $v0, $f0 +/* B4B494 80240A24 00000000 */ nop +/* B4B498 80240A28 46800020 */ cvt.s.w $f0, $f0 +/* B4B49C 80240A2C E7A00018 */ swc1 $f0, 0x18($sp) +/* B4B4A0 80240A30 860200A6 */ lh $v0, 0xa6($s0) +/* B4B4A4 80240A34 27A60024 */ addiu $a2, $sp, 0x24 +/* B4B4A8 80240A38 44820000 */ mtc1 $v0, $f0 +/* B4B4AC 80240A3C 00000000 */ nop +/* B4B4B0 80240A40 46800020 */ cvt.s.w $f0, $f0 +/* B4B4B4 80240A44 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B4B4B8 80240A48 8E040080 */ lw $a0, 0x80($s0) +/* B4B4BC 80240A4C 0C037711 */ jal func_800DDC44 +/* B4B4C0 80240A50 27A70028 */ addiu $a3, $sp, 0x28 +/* B4B4C4 80240A54 10400016 */ beqz $v0, .L80240AB0 +/* B4B4C8 80240A58 26310001 */ addiu $s1, $s1, 1 +/* B4B4CC 80240A5C C600000C */ lwc1 $f0, 0xc($s0) +/* B4B4D0 80240A60 46000021 */ cvt.d.s $f0, $f0 +/* B4B4D4 80240A64 46340000 */ add.d $f0, $f0, $f20 +/* B4B4D8 80240A68 2A220006 */ slti $v0, $s1, 6 +/* B4B4DC 80240A6C 46200020 */ cvt.s.d $f0, $f0 +/* B4B4E0 80240A70 1440FFE6 */ bnez $v0, .L80240A0C +/* B4B4E4 80240A74 E600000C */ swc1 $f0, 0xc($s0) +/* B4B4E8 80240A78 080902AC */ j .L80240AB0 +/* B4B4EC 80240A7C 00000000 */ nop +.L80240A80: +/* B4B4F0 80240A80 0C00A67F */ jal rand_int +/* B4B4F4 80240A84 2404003C */ addiu $a0, $zero, 0x3c +/* B4B4F8 80240A88 C60C000C */ lwc1 $f12, 0xc($s0) +/* B4B4FC 80240A8C 44820000 */ mtc1 $v0, $f0 +/* B4B500 80240A90 00000000 */ nop +/* B4B504 80240A94 46800020 */ cvt.s.w $f0, $f0 +/* B4B508 80240A98 46006300 */ add.s $f12, $f12, $f0 +/* B4B50C 80240A9C 3C0141F0 */ lui $at, 0x41f0 +/* B4B510 80240AA0 44810000 */ mtc1 $at, $f0 +/* B4B514 80240AA4 0C00A6C9 */ jal clamp_angle +/* B4B518 80240AA8 46006301 */ sub.s $f12, $f12, $f0 +/* B4B51C 80240AAC E600000C */ swc1 $f0, 0xc($s0) +.L80240AB0: +/* B4B520 80240AB0 8FBF0040 */ lw $ra, 0x40($sp) +/* B4B524 80240AB4 8FB3003C */ lw $s3, 0x3c($sp) +/* B4B528 80240AB8 8FB20038 */ lw $s2, 0x38($sp) +/* B4B52C 80240ABC 8FB10034 */ lw $s1, 0x34($sp) +/* B4B530 80240AC0 8FB00030 */ lw $s0, 0x30($sp) +/* B4B534 80240AC4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B4B538 80240AC8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B4B53C 80240ACC 03E00008 */ jr $ra +/* B4B540 80240AD0 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240AD4_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240AD4_B4AA70.s new file mode 100644 index 0000000000..c81330a28c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240AD4_B4AA70.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_B4B544 +/* B4B544 80240AD4 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B4B548 80240AD8 AFB3004C */ sw $s3, 0x4c($sp) +/* B4B54C 80240ADC 0080982D */ daddu $s3, $a0, $zero +/* B4B550 80240AE0 AFBF0054 */ sw $ra, 0x54($sp) +/* B4B554 80240AE4 AFB40050 */ sw $s4, 0x50($sp) +/* B4B558 80240AE8 AFB20048 */ sw $s2, 0x48($sp) +/* B4B55C 80240AEC AFB10044 */ sw $s1, 0x44($sp) +/* B4B560 80240AF0 AFB00040 */ sw $s0, 0x40($sp) +/* B4B564 80240AF4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B4B568 80240AF8 8E710148 */ lw $s1, 0x148($s3) +/* B4B56C 80240AFC 00A0A02D */ daddu $s4, $a1, $zero +/* B4B570 80240B00 86240008 */ lh $a0, 8($s1) +/* B4B574 80240B04 0C00EABB */ jal get_npc_unsafe +/* B4B578 80240B08 00C0902D */ daddu $s2, $a2, $zero +/* B4B57C 80240B0C 8E830014 */ lw $v1, 0x14($s4) +/* B4B580 80240B10 04600034 */ bltz $v1, .L80240BE4 +/* B4B584 80240B14 0040802D */ daddu $s0, $v0, $zero +/* B4B588 80240B18 8E620074 */ lw $v0, 0x74($s3) +/* B4B58C 80240B1C 1C400030 */ bgtz $v0, .L80240BE0 +/* B4B590 80240B20 2442FFFF */ addiu $v0, $v0, -1 +/* B4B594 80240B24 0240202D */ daddu $a0, $s2, $zero +/* B4B598 80240B28 AE630074 */ sw $v1, 0x74($s3) +/* B4B59C 80240B2C AFA00010 */ sw $zero, 0x10($sp) +/* B4B5A0 80240B30 8E86000C */ lw $a2, 0xc($s4) +/* B4B5A4 80240B34 8E870010 */ lw $a3, 0x10($s4) +/* B4B5A8 80240B38 0C01242D */ jal func_800490B4 +/* B4B5AC 80240B3C 0220282D */ daddu $a1, $s1, $zero +/* B4B5B0 80240B40 10400025 */ beqz $v0, .L80240BD8 +/* B4B5B4 80240B44 0000202D */ daddu $a0, $zero, $zero +/* B4B5B8 80240B48 0200282D */ daddu $a1, $s0, $zero +/* B4B5BC 80240B4C 0000302D */ daddu $a2, $zero, $zero +/* B4B5C0 80240B50 860300A8 */ lh $v1, 0xa8($s0) +/* B4B5C4 80240B54 3C013F80 */ lui $at, 0x3f80 +/* B4B5C8 80240B58 44810000 */ mtc1 $at, $f0 +/* B4B5CC 80240B5C 3C014000 */ lui $at, 0x4000 +/* B4B5D0 80240B60 44811000 */ mtc1 $at, $f2 +/* B4B5D4 80240B64 3C01C1A0 */ lui $at, 0xc1a0 +/* B4B5D8 80240B68 44812000 */ mtc1 $at, $f4 +/* B4B5DC 80240B6C 2402000F */ addiu $v0, $zero, 0xf +/* B4B5E0 80240B70 AFA2001C */ sw $v0, 0x1c($sp) +/* B4B5E4 80240B74 44835000 */ mtc1 $v1, $f10 +/* B4B5E8 80240B78 00000000 */ nop +/* B4B5EC 80240B7C 468052A0 */ cvt.s.w $f10, $f10 +/* B4B5F0 80240B80 44075000 */ mfc1 $a3, $f10 +/* B4B5F4 80240B84 27A20028 */ addiu $v0, $sp, 0x28 +/* B4B5F8 80240B88 AFA20020 */ sw $v0, 0x20($sp) +/* B4B5FC 80240B8C E7A00010 */ swc1 $f0, 0x10($sp) +/* B4B600 80240B90 E7A20014 */ swc1 $f2, 0x14($sp) +/* B4B604 80240B94 0C01BFA4 */ jal fx_emote +/* B4B608 80240B98 E7A40018 */ swc1 $f4, 0x18($sp) +/* B4B60C 80240B9C 0200202D */ daddu $a0, $s0, $zero +/* B4B610 80240BA0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B4B614 80240BA4 0C012530 */ jal func_800494C0 +/* B4B618 80240BA8 3C060020 */ lui $a2, 0x20 +/* B4B61C 80240BAC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B4B620 80240BB0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B4B624 80240BB4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4B628 80240BB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4B62C 80240BBC 8C460028 */ lw $a2, 0x28($v0) +/* B4B630 80240BC0 0C00A720 */ jal atan2 +/* B4B634 80240BC4 8C470030 */ lw $a3, 0x30($v0) +/* B4B638 80240BC8 2402000C */ addiu $v0, $zero, 0xc +/* B4B63C 80240BCC E600000C */ swc1 $f0, 0xc($s0) +/* B4B640 80240BD0 0809037A */ j .L80240DE8 +/* B4B644 80240BD4 AE620070 */ sw $v0, 0x70($s3) +.L80240BD8: +/* B4B648 80240BD8 8E620074 */ lw $v0, 0x74($s3) +/* B4B64C 80240BDC 2442FFFF */ addiu $v0, $v0, -1 +.L80240BE0: +/* B4B650 80240BE0 AE620074 */ sw $v0, 0x74($s3) +.L80240BE4: +/* B4B654 80240BE4 C6000018 */ lwc1 $f0, 0x18($s0) +/* B4B658 80240BE8 44801000 */ mtc1 $zero, $f2 +/* B4B65C 80240BEC 44801800 */ mtc1 $zero, $f3 +/* B4B660 80240BF0 46000021 */ cvt.d.s $f0, $f0 +/* B4B664 80240BF4 4620103C */ c.lt.d $f2, $f0 +/* B4B668 80240BF8 00000000 */ nop +/* B4B66C 80240BFC 45000025 */ bc1f .L80240C94 +/* B4B670 80240C00 27A5002C */ addiu $a1, $sp, 0x2c +/* B4B674 80240C04 C6000038 */ lwc1 $f0, 0x38($s0) +/* B4B678 80240C08 860200A6 */ lh $v0, 0xa6($s0) +/* B4B67C 80240C0C 3C018024 */ lui $at, 0x8024 +/* B4B680 80240C10 D4227A30 */ ldc1 $f2, 0x7a30($at) +/* B4B684 80240C14 27A60030 */ addiu $a2, $sp, 0x30 +/* B4B688 80240C18 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B4B68C 80240C1C 44820000 */ mtc1 $v0, $f0 +/* B4B690 80240C20 00000000 */ nop +/* B4B694 80240C24 46800020 */ cvt.s.w $f0, $f0 +/* B4B698 80240C28 46000021 */ cvt.d.s $f0, $f0 +/* B4B69C 80240C2C C604003C */ lwc1 $f4, 0x3c($s0) +/* B4B6A0 80240C30 C6060040 */ lwc1 $f6, 0x40($s0) +/* B4B6A4 80240C34 C6080018 */ lwc1 $f8, 0x18($s0) +/* B4B6A8 80240C38 860200A8 */ lh $v0, 0xa8($s0) +/* B4B6AC 80240C3C 46220002 */ mul.d $f0, $f0, $f2 +/* B4B6B0 80240C40 00000000 */ nop +/* B4B6B4 80240C44 E7A40030 */ swc1 $f4, 0x30($sp) +/* B4B6B8 80240C48 E7A60034 */ swc1 $f6, 0x34($sp) +/* B4B6BC 80240C4C E7A80010 */ swc1 $f8, 0x10($sp) +/* B4B6C0 80240C50 C604000C */ lwc1 $f4, 0xc($s0) +/* B4B6C4 80240C54 44821000 */ mtc1 $v0, $f2 +/* B4B6C8 80240C58 00000000 */ nop +/* B4B6CC 80240C5C 468010A0 */ cvt.s.w $f2, $f2 +/* B4B6D0 80240C60 E7A20018 */ swc1 $f2, 0x18($sp) +/* B4B6D4 80240C64 E7A40014 */ swc1 $f4, 0x14($sp) +/* B4B6D8 80240C68 46200020 */ cvt.s.d $f0, $f0 +/* B4B6DC 80240C6C E7A0001C */ swc1 $f0, 0x1c($sp) +/* B4B6E0 80240C70 8E040080 */ lw $a0, 0x80($s0) +/* B4B6E4 80240C74 0C037711 */ jal func_800DDC44 +/* B4B6E8 80240C78 27A70034 */ addiu $a3, $sp, 0x34 +/* B4B6EC 80240C7C 54400005 */ bnel $v0, $zero, .L80240C94 +/* B4B6F0 80240C80 AE000018 */ sw $zero, 0x18($s0) +/* B4B6F4 80240C84 8E050018 */ lw $a1, 0x18($s0) +/* B4B6F8 80240C88 8E06000C */ lw $a2, 0xc($s0) +/* B4B6FC 80240C8C 0C00EA95 */ jal npc_move_heading +/* B4B700 80240C90 0200202D */ daddu $a0, $s0, $zero +.L80240C94: +/* B4B704 80240C94 C600001C */ lwc1 $f0, 0x1c($s0) +/* B4B708 80240C98 44801000 */ mtc1 $zero, $f2 +/* B4B70C 80240C9C 44801800 */ mtc1 $zero, $f3 +/* B4B710 80240CA0 46000021 */ cvt.d.s $f0, $f0 +/* B4B714 80240CA4 4622003C */ c.lt.d $f0, $f2 +/* B4B718 80240CA8 00000000 */ nop +/* B4B71C 80240CAC 45000047 */ bc1f .L80240DCC +/* B4B720 80240CB0 27A5002C */ addiu $a1, $sp, 0x2c +/* B4B724 80240CB4 27A60030 */ addiu $a2, $sp, 0x30 +/* B4B728 80240CB8 27A20038 */ addiu $v0, $sp, 0x38 +/* B4B72C 80240CBC C602003C */ lwc1 $f2, 0x3c($s0) +/* B4B730 80240CC0 C6060038 */ lwc1 $f6, 0x38($s0) +/* B4B734 80240CC4 3C01402A */ lui $at, 0x402a +/* B4B738 80240CC8 4481A800 */ mtc1 $at, $f21 +/* B4B73C 80240CCC 4480A000 */ mtc1 $zero, $f20 +/* B4B740 80240CD0 460010A1 */ cvt.d.s $f2, $f2 +/* B4B744 80240CD4 46341080 */ add.d $f2, $f2, $f20 +/* B4B748 80240CD8 C600001C */ lwc1 $f0, 0x1c($s0) +/* B4B74C 80240CDC C6040040 */ lwc1 $f4, 0x40($s0) +/* B4B750 80240CE0 46000005 */ abs.s $f0, $f0 +/* B4B754 80240CE4 E7A40034 */ swc1 $f4, 0x34($sp) +/* B4B758 80240CE8 3C014030 */ lui $at, 0x4030 +/* B4B75C 80240CEC 44812800 */ mtc1 $at, $f5 +/* B4B760 80240CF0 44802000 */ mtc1 $zero, $f4 +/* B4B764 80240CF4 46000021 */ cvt.d.s $f0, $f0 +/* B4B768 80240CF8 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B4B76C 80240CFC 46240000 */ add.d $f0, $f0, $f4 +/* B4B770 80240D00 462010A0 */ cvt.s.d $f2, $f2 +/* B4B774 80240D04 E7A20030 */ swc1 $f2, 0x30($sp) +/* B4B778 80240D08 46200020 */ cvt.s.d $f0, $f0 +/* B4B77C 80240D0C E7A00038 */ swc1 $f0, 0x38($sp) +/* B4B780 80240D10 AFA20010 */ sw $v0, 0x10($sp) +/* B4B784 80240D14 8E040080 */ lw $a0, 0x80($s0) +/* B4B788 80240D18 0C0372DF */ jal func_800DCB7C +/* B4B78C 80240D1C 27A70034 */ addiu $a3, $sp, 0x34 +/* B4B790 80240D20 1040002A */ beqz $v0, .L80240DCC +/* B4B794 80240D24 00000000 */ nop +/* B4B798 80240D28 C600001C */ lwc1 $f0, 0x1c($s0) +/* B4B79C 80240D2C C7A20038 */ lwc1 $f2, 0x38($sp) +/* B4B7A0 80240D30 46000005 */ abs.s $f0, $f0 +/* B4B7A4 80240D34 46000021 */ cvt.d.s $f0, $f0 +/* B4B7A8 80240D38 46340000 */ add.d $f0, $f0, $f20 +/* B4B7AC 80240D3C 460010A1 */ cvt.d.s $f2, $f2 +/* B4B7B0 80240D40 4620103E */ c.le.d $f2, $f0 +/* B4B7B4 80240D44 00000000 */ nop +/* B4B7B8 80240D48 45000020 */ bc1f .L80240DCC +/* B4B7BC 80240D4C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B4B7C0 80240D50 C7A00030 */ lwc1 $f0, 0x30($sp) +/* B4B7C4 80240D54 8E020000 */ lw $v0, ($s0) +/* B4B7C8 80240D58 2403F7FF */ addiu $v1, $zero, -0x801 +/* B4B7CC 80240D5C AE00001C */ sw $zero, 0x1c($s0) +/* B4B7D0 80240D60 00431024 */ and $v0, $v0, $v1 +/* B4B7D4 80240D64 AE020000 */ sw $v0, ($s0) +/* B4B7D8 80240D68 24020002 */ addiu $v0, $zero, 2 +/* B4B7DC 80240D6C E600003C */ swc1 $f0, 0x3c($s0) +/* B4B7E0 80240D70 0C00A67F */ jal rand_int +/* B4B7E4 80240D74 AE620070 */ sw $v0, 0x70($s3) +/* B4B7E8 80240D78 3C035555 */ lui $v1, 0x5555 +/* B4B7EC 80240D7C 34635556 */ ori $v1, $v1, 0x5556 +/* B4B7F0 80240D80 00430018 */ mult $v0, $v1 +/* B4B7F4 80240D84 000227C3 */ sra $a0, $v0, 0x1f +/* B4B7F8 80240D88 00004010 */ mfhi $t0 +/* B4B7FC 80240D8C 01042023 */ subu $a0, $t0, $a0 +/* B4B800 80240D90 00041840 */ sll $v1, $a0, 1 +/* B4B804 80240D94 00641821 */ addu $v1, $v1, $a0 +/* B4B808 80240D98 00431023 */ subu $v0, $v0, $v1 +/* B4B80C 80240D9C 24430002 */ addiu $v1, $v0, 2 +/* B4B810 80240DA0 AE630074 */ sw $v1, 0x74($s3) +/* B4B814 80240DA4 8E82002C */ lw $v0, 0x2c($s4) +/* B4B818 80240DA8 5840000F */ blezl $v0, .L80240DE8 +/* B4B81C 80240DAC AE600070 */ sw $zero, 0x70($s3) +/* B4B820 80240DB0 8E820004 */ lw $v0, 4($s4) +/* B4B824 80240DB4 5840000C */ blezl $v0, .L80240DE8 +/* B4B828 80240DB8 AE600070 */ sw $zero, 0x70($s3) +/* B4B82C 80240DBC 1460000A */ bnez $v1, .L80240DE8 +/* B4B830 80240DC0 00000000 */ nop +/* B4B834 80240DC4 0809037A */ j .L80240DE8 +/* B4B838 80240DC8 AE600070 */ sw $zero, 0x70($s3) +.L80240DCC: +/* B4B83C 80240DCC C604003C */ lwc1 $f4, 0x3c($s0) +/* B4B840 80240DD0 C600001C */ lwc1 $f0, 0x1c($s0) +/* B4B844 80240DD4 46002100 */ add.s $f4, $f4, $f0 +/* B4B848 80240DD8 C6020014 */ lwc1 $f2, 0x14($s0) +/* B4B84C 80240DDC 46020001 */ sub.s $f0, $f0, $f2 +/* B4B850 80240DE0 E604003C */ swc1 $f4, 0x3c($s0) +/* B4B854 80240DE4 E600001C */ swc1 $f0, 0x1c($s0) +.L80240DE8: +/* B4B858 80240DE8 8FBF0054 */ lw $ra, 0x54($sp) +/* B4B85C 80240DEC 8FB40050 */ lw $s4, 0x50($sp) +/* B4B860 80240DF0 8FB3004C */ lw $s3, 0x4c($sp) +/* B4B864 80240DF4 8FB20048 */ lw $s2, 0x48($sp) +/* B4B868 80240DF8 8FB10044 */ lw $s1, 0x44($sp) +/* B4B86C 80240DFC 8FB00040 */ lw $s0, 0x40($sp) +/* B4B870 80240E00 D7B40058 */ ldc1 $f20, 0x58($sp) +/* B4B874 80240E04 03E00008 */ jr $ra +/* B4B878 80240E08 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240E0C.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240E0C.s new file mode 100644 index 0000000000..80890d6b3a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240E0C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E0C +/* B4B87C 80240E0C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B4B880 80240E10 AFB3001C */ sw $s3, 0x1c($sp) +/* B4B884 80240E14 0080982D */ daddu $s3, $a0, $zero +/* B4B888 80240E18 AFBF0020 */ sw $ra, 0x20($sp) +/* B4B88C 80240E1C AFB20018 */ sw $s2, 0x18($sp) +/* B4B890 80240E20 AFB10014 */ sw $s1, 0x14($sp) +/* B4B894 80240E24 AFB00010 */ sw $s0, 0x10($sp) +/* B4B898 80240E28 8E720148 */ lw $s2, 0x148($s3) +/* B4B89C 80240E2C 86440008 */ lh $a0, 8($s2) +/* B4B8A0 80240E30 0C00EABB */ jal get_npc_unsafe +/* B4B8A4 80240E34 00A0882D */ daddu $s1, $a1, $zero +/* B4B8A8 80240E38 8E240008 */ lw $a0, 8($s1) +/* B4B8AC 80240E3C 0040802D */ daddu $s0, $v0, $zero +/* B4B8B0 80240E40 00041FC2 */ srl $v1, $a0, 0x1f +/* B4B8B4 80240E44 00832021 */ addu $a0, $a0, $v1 +/* B4B8B8 80240E48 00042043 */ sra $a0, $a0, 1 +/* B4B8BC 80240E4C 0C00A67F */ jal rand_int +/* B4B8C0 80240E50 24840001 */ addiu $a0, $a0, 1 +/* B4B8C4 80240E54 8E230008 */ lw $v1, 8($s1) +/* B4B8C8 80240E58 240400B4 */ addiu $a0, $zero, 0xb4 +/* B4B8CC 80240E5C 00032FC2 */ srl $a1, $v1, 0x1f +/* B4B8D0 80240E60 00651821 */ addu $v1, $v1, $a1 +/* B4B8D4 80240E64 00031843 */ sra $v1, $v1, 1 +/* B4B8D8 80240E68 00621821 */ addu $v1, $v1, $v0 +/* B4B8DC 80240E6C 0C00A67F */ jal rand_int +/* B4B8E0 80240E70 A603008E */ sh $v1, 0x8e($s0) +/* B4B8E4 80240E74 C60C000C */ lwc1 $f12, 0xc($s0) +/* B4B8E8 80240E78 44820000 */ mtc1 $v0, $f0 +/* B4B8EC 80240E7C 00000000 */ nop +/* B4B8F0 80240E80 46800020 */ cvt.s.w $f0, $f0 +/* B4B8F4 80240E84 46006300 */ add.s $f12, $f12, $f0 +/* B4B8F8 80240E88 3C0142B4 */ lui $at, 0x42b4 +/* B4B8FC 80240E8C 44810000 */ mtc1 $at, $f0 +/* B4B900 80240E90 0C00A6C9 */ jal clamp_angle +/* B4B904 80240E94 46006301 */ sub.s $f12, $f12, $f0 +/* B4B908 80240E98 E600000C */ swc1 $f0, 0xc($s0) +/* B4B90C 80240E9C 8E4200CC */ lw $v0, 0xcc($s2) +/* B4B910 80240EA0 8C420000 */ lw $v0, ($v0) +/* B4B914 80240EA4 AE020028 */ sw $v0, 0x28($s0) +/* B4B918 80240EA8 24020003 */ addiu $v0, $zero, 3 +/* B4B91C 80240EAC AE620070 */ sw $v0, 0x70($s3) +/* B4B920 80240EB0 8FBF0020 */ lw $ra, 0x20($sp) +/* B4B924 80240EB4 8FB3001C */ lw $s3, 0x1c($sp) +/* B4B928 80240EB8 8FB20018 */ lw $s2, 0x18($sp) +/* B4B92C 80240EBC 8FB10014 */ lw $s1, 0x14($sp) +/* B4B930 80240EC0 8FB00010 */ lw $s0, 0x10($sp) +/* B4B934 80240EC4 03E00008 */ jr $ra +/* B4B938 80240EC8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80240ECC_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80240ECC_B4AA70.s new file mode 100644 index 0000000000..b6b2027f12 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80240ECC_B4AA70.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ECC_B4B93C +/* B4B93C 80240ECC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B4B940 80240ED0 AFB40040 */ sw $s4, 0x40($sp) +/* B4B944 80240ED4 0080A02D */ daddu $s4, $a0, $zero +/* B4B948 80240ED8 AFBF0044 */ sw $ra, 0x44($sp) +/* B4B94C 80240EDC AFB3003C */ sw $s3, 0x3c($sp) +/* B4B950 80240EE0 AFB20038 */ sw $s2, 0x38($sp) +/* B4B954 80240EE4 AFB10034 */ sw $s1, 0x34($sp) +/* B4B958 80240EE8 AFB00030 */ sw $s0, 0x30($sp) +/* B4B95C 80240EEC 8E920148 */ lw $s2, 0x148($s4) +/* B4B960 80240EF0 00A0882D */ daddu $s1, $a1, $zero +/* B4B964 80240EF4 86440008 */ lh $a0, 8($s2) +/* B4B968 80240EF8 0C00EABB */ jal get_npc_unsafe +/* B4B96C 80240EFC 00C0982D */ daddu $s3, $a2, $zero +/* B4B970 80240F00 8E230014 */ lw $v1, 0x14($s1) +/* B4B974 80240F04 0460002D */ bltz $v1, .L80240FBC +/* B4B978 80240F08 0040802D */ daddu $s0, $v0, $zero +/* B4B97C 80240F0C 0260202D */ daddu $a0, $s3, $zero +/* B4B980 80240F10 AFA00010 */ sw $zero, 0x10($sp) +/* B4B984 80240F14 8E260024 */ lw $a2, 0x24($s1) +/* B4B988 80240F18 8E270028 */ lw $a3, 0x28($s1) +/* B4B98C 80240F1C 0C01242D */ jal func_800490B4 +/* B4B990 80240F20 0240282D */ daddu $a1, $s2, $zero +/* B4B994 80240F24 10400025 */ beqz $v0, .L80240FBC +/* B4B998 80240F28 0000202D */ daddu $a0, $zero, $zero +/* B4B99C 80240F2C 0200282D */ daddu $a1, $s0, $zero +/* B4B9A0 80240F30 0000302D */ daddu $a2, $zero, $zero +/* B4B9A4 80240F34 860300A8 */ lh $v1, 0xa8($s0) +/* B4B9A8 80240F38 3C013F80 */ lui $at, 0x3f80 +/* B4B9AC 80240F3C 44810000 */ mtc1 $at, $f0 +/* B4B9B0 80240F40 3C014000 */ lui $at, 0x4000 +/* B4B9B4 80240F44 44811000 */ mtc1 $at, $f2 +/* B4B9B8 80240F48 3C01C1A0 */ lui $at, 0xc1a0 +/* B4B9BC 80240F4C 44812000 */ mtc1 $at, $f4 +/* B4B9C0 80240F50 2402000F */ addiu $v0, $zero, 0xf +/* B4B9C4 80240F54 AFA2001C */ sw $v0, 0x1c($sp) +/* B4B9C8 80240F58 44833000 */ mtc1 $v1, $f6 +/* B4B9CC 80240F5C 00000000 */ nop +/* B4B9D0 80240F60 468031A0 */ cvt.s.w $f6, $f6 +/* B4B9D4 80240F64 44073000 */ mfc1 $a3, $f6 +/* B4B9D8 80240F68 27A20028 */ addiu $v0, $sp, 0x28 +/* B4B9DC 80240F6C AFA20020 */ sw $v0, 0x20($sp) +/* B4B9E0 80240F70 E7A00010 */ swc1 $f0, 0x10($sp) +/* B4B9E4 80240F74 E7A20014 */ swc1 $f2, 0x14($sp) +/* B4B9E8 80240F78 0C01BFA4 */ jal fx_emote +/* B4B9EC 80240F7C E7A40018 */ swc1 $f4, 0x18($sp) +/* B4B9F0 80240F80 0200202D */ daddu $a0, $s0, $zero +/* B4B9F4 80240F84 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B4B9F8 80240F88 0C012530 */ jal func_800494C0 +/* B4B9FC 80240F8C 3C060020 */ lui $a2, 0x20 +/* B4BA00 80240F90 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B4BA04 80240F94 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B4BA08 80240F98 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4BA0C 80240F9C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4BA10 80240FA0 8C460028 */ lw $a2, 0x28($v0) +/* B4BA14 80240FA4 0C00A720 */ jal atan2 +/* B4BA18 80240FA8 8C470030 */ lw $a3, 0x30($v0) +/* B4BA1C 80240FAC 2402000C */ addiu $v0, $zero, 0xc +/* B4BA20 80240FB0 E600000C */ swc1 $f0, 0xc($s0) +/* B4BA24 80240FB4 08090414 */ j .L80241050 +/* B4BA28 80240FB8 AE820070 */ sw $v0, 0x70($s4) +.L80240FBC: +/* B4BA2C 80240FBC 8602008C */ lh $v0, 0x8c($s0) +/* B4BA30 80240FC0 14400023 */ bnez $v0, .L80241050 +/* B4BA34 80240FC4 00000000 */ nop +/* B4BA38 80240FC8 9602008E */ lhu $v0, 0x8e($s0) +/* B4BA3C 80240FCC 2442FFFF */ addiu $v0, $v0, -1 +/* B4BA40 80240FD0 A602008E */ sh $v0, 0x8e($s0) +/* B4BA44 80240FD4 00021400 */ sll $v0, $v0, 0x10 +/* B4BA48 80240FD8 1C40001D */ bgtz $v0, .L80241050 +/* B4BA4C 80240FDC 00000000 */ nop +/* B4BA50 80240FE0 8E820074 */ lw $v0, 0x74($s4) +/* B4BA54 80240FE4 2442FFFF */ addiu $v0, $v0, -1 +/* B4BA58 80240FE8 18400018 */ blez $v0, .L8024104C +/* B4BA5C 80240FEC AE820074 */ sw $v0, 0x74($s4) +/* B4BA60 80240FF0 C600000C */ lwc1 $f0, 0xc($s0) +/* B4BA64 80240FF4 3C014334 */ lui $at, 0x4334 +/* B4BA68 80240FF8 44816000 */ mtc1 $at, $f12 +/* B4BA6C 80240FFC 0C00A6C9 */ jal clamp_angle +/* B4BA70 80241000 460C0300 */ add.s $f12, $f0, $f12 +/* B4BA74 80241004 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B4BA78 80241008 0C00A67F */ jal rand_int +/* B4BA7C 8024100C E600000C */ swc1 $f0, 0xc($s0) +/* B4BA80 80241010 3C032E8B */ lui $v1, 0x2e8b +/* B4BA84 80241014 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B4BA88 80241018 00430018 */ mult $v0, $v1 +/* B4BA8C 8024101C 00021FC3 */ sra $v1, $v0, 0x1f +/* B4BA90 80241020 00004010 */ mfhi $t0 +/* B4BA94 80241024 00082043 */ sra $a0, $t0, 1 +/* B4BA98 80241028 00832023 */ subu $a0, $a0, $v1 +/* B4BA9C 8024102C 00041840 */ sll $v1, $a0, 1 +/* B4BAA0 80241030 00641821 */ addu $v1, $v1, $a0 +/* B4BAA4 80241034 00031880 */ sll $v1, $v1, 2 +/* B4BAA8 80241038 00641823 */ subu $v1, $v1, $a0 +/* B4BAAC 8024103C 00431023 */ subu $v0, $v0, $v1 +/* B4BAB0 80241040 24420005 */ addiu $v0, $v0, 5 +/* B4BAB4 80241044 08090414 */ j .L80241050 +/* B4BAB8 80241048 A602008E */ sh $v0, 0x8e($s0) +.L8024104C: +/* B4BABC 8024104C AE800070 */ sw $zero, 0x70($s4) +.L80241050: +/* B4BAC0 80241050 8FBF0044 */ lw $ra, 0x44($sp) +/* B4BAC4 80241054 8FB40040 */ lw $s4, 0x40($sp) +/* B4BAC8 80241058 8FB3003C */ lw $s3, 0x3c($sp) +/* B4BACC 8024105C 8FB20038 */ lw $s2, 0x38($sp) +/* B4BAD0 80241060 8FB10034 */ lw $s1, 0x34($sp) +/* B4BAD4 80241064 8FB00030 */ lw $s0, 0x30($sp) +/* B4BAD8 80241068 03E00008 */ jr $ra +/* B4BADC 8024106C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241070.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241070.s new file mode 100644 index 0000000000..d827294028 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241070.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241070 +/* B4BAE0 80241070 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4BAE4 80241074 AFB10014 */ sw $s1, 0x14($sp) +/* B4BAE8 80241078 0080882D */ daddu $s1, $a0, $zero +/* B4BAEC 8024107C AFBF001C */ sw $ra, 0x1c($sp) +/* B4BAF0 80241080 AFB20018 */ sw $s2, 0x18($sp) +/* B4BAF4 80241084 AFB00010 */ sw $s0, 0x10($sp) +/* B4BAF8 80241088 8E220148 */ lw $v0, 0x148($s1) +/* B4BAFC 8024108C 00A0902D */ daddu $s2, $a1, $zero +/* B4BB00 80241090 84440008 */ lh $a0, 8($v0) +/* B4BB04 80241094 0C00EABB */ jal get_npc_unsafe +/* B4BB08 80241098 00C0802D */ daddu $s0, $a2, $zero +/* B4BB0C 8024109C 0220202D */ daddu $a0, $s1, $zero +/* B4BB10 802410A0 0240282D */ daddu $a1, $s2, $zero +/* B4BB14 802410A4 0200302D */ daddu $a2, $s0, $zero +/* B4BB18 802410A8 0C0127DF */ jal func_80049F7C +/* B4BB1C 802410AC 0040802D */ daddu $s0, $v0, $zero +/* B4BB20 802410B0 8E020000 */ lw $v0, ($s0) +/* B4BB24 802410B4 24040005 */ addiu $a0, $zero, 5 +/* B4BB28 802410B8 34420800 */ ori $v0, $v0, 0x800 +/* B4BB2C 802410BC 0C00A67F */ jal rand_int +/* B4BB30 802410C0 AE020000 */ sw $v0, ($s0) +/* B4BB34 802410C4 44820000 */ mtc1 $v0, $f0 +/* B4BB38 802410C8 00000000 */ nop +/* B4BB3C 802410CC 46800021 */ cvt.d.w $f0, $f0 +/* B4BB40 802410D0 3C014024 */ lui $at, 0x4024 +/* B4BB44 802410D4 44811800 */ mtc1 $at, $f3 +/* B4BB48 802410D8 44801000 */ mtc1 $zero, $f2 +/* B4BB4C 802410DC 3C013FC0 */ lui $at, 0x3fc0 +/* B4BB50 802410E0 44812000 */ mtc1 $at, $f4 +/* B4BB54 802410E4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B4BB58 802410E8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B4BB5C 802410EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4BB60 802410F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4BB64 802410F4 46220000 */ add.d $f0, $f0, $f2 +/* B4BB68 802410F8 E6040014 */ swc1 $f4, 0x14($s0) +/* B4BB6C 802410FC 46200020 */ cvt.s.d $f0, $f0 +/* B4BB70 80241100 E600001C */ swc1 $f0, 0x1c($s0) +/* B4BB74 80241104 8C460028 */ lw $a2, 0x28($v0) +/* B4BB78 80241108 0C00A720 */ jal atan2 +/* B4BB7C 8024110C 8C470030 */ lw $a3, 0x30($v0) +/* B4BB80 80241110 0200202D */ daddu $a0, $s0, $zero +/* B4BB84 80241114 3C05B000 */ lui $a1, 0xb000 +/* B4BB88 80241118 34A50017 */ ori $a1, $a1, 0x17 +/* B4BB8C 8024111C 0000302D */ daddu $a2, $zero, $zero +/* B4BB90 80241120 E480000C */ swc1 $f0, 0xc($a0) +/* B4BB94 80241124 C6400018 */ lwc1 $f0, 0x18($s2) +/* B4BB98 80241128 2402000D */ addiu $v0, $zero, 0xd +/* B4BB9C 8024112C E4800018 */ swc1 $f0, 0x18($a0) +/* B4BBA0 80241130 0C012530 */ jal func_800494C0 +/* B4BBA4 80241134 AE220070 */ sw $v0, 0x70($s1) +/* B4BBA8 80241138 8FBF001C */ lw $ra, 0x1c($sp) +/* B4BBAC 8024113C 8FB20018 */ lw $s2, 0x18($sp) +/* B4BBB0 80241140 8FB10014 */ lw $s1, 0x14($sp) +/* B4BBB4 80241144 8FB00010 */ lw $s0, 0x10($sp) +/* B4BBB8 80241148 03E00008 */ jr $ra +/* B4BBBC 8024114C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241150.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241150.s new file mode 100644 index 0000000000..45219e6c39 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241150.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241150 +/* B4BBC0 80241150 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B4BBC4 80241154 AFB40050 */ sw $s4, 0x50($sp) +/* B4BBC8 80241158 0080A02D */ daddu $s4, $a0, $zero +/* B4BBCC 8024115C AFBF0060 */ sw $ra, 0x60($sp) +/* B4BBD0 80241160 AFB7005C */ sw $s7, 0x5c($sp) +/* B4BBD4 80241164 AFB60058 */ sw $s6, 0x58($sp) +/* B4BBD8 80241168 AFB50054 */ sw $s5, 0x54($sp) +/* B4BBDC 8024116C AFB3004C */ sw $s3, 0x4c($sp) +/* B4BBE0 80241170 AFB20048 */ sw $s2, 0x48($sp) +/* B4BBE4 80241174 AFB10044 */ sw $s1, 0x44($sp) +/* B4BBE8 80241178 AFB00040 */ sw $s0, 0x40($sp) +/* B4BBEC 8024117C F7B40068 */ sdc1 $f20, 0x68($sp) +/* B4BBF0 80241180 8E950148 */ lw $s5, 0x148($s4) +/* B4BBF4 80241184 00A0B02D */ daddu $s6, $a1, $zero +/* B4BBF8 80241188 86A40008 */ lh $a0, 8($s5) +/* B4BBFC 8024118C 0C00EABB */ jal get_npc_unsafe +/* B4BC00 80241190 00C0B82D */ daddu $s7, $a2, $zero +/* B4BC04 80241194 0040982D */ daddu $s3, $v0, $zero +/* B4BC08 80241198 C6600018 */ lwc1 $f0, 0x18($s3) +/* B4BC0C 8024119C 44801000 */ mtc1 $zero, $f2 +/* B4BC10 802411A0 44801800 */ mtc1 $zero, $f3 +/* B4BC14 802411A4 46000021 */ cvt.d.s $f0, $f0 +/* B4BC18 802411A8 4620103C */ c.lt.d $f2, $f0 +/* B4BC1C 802411AC 00000000 */ nop +/* B4BC20 802411B0 45000021 */ bc1f .L80241238 +/* B4BC24 802411B4 27A50028 */ addiu $a1, $sp, 0x28 +/* B4BC28 802411B8 C6600038 */ lwc1 $f0, 0x38($s3) +/* B4BC2C 802411BC C662003C */ lwc1 $f2, 0x3c($s3) +/* B4BC30 802411C0 C6640040 */ lwc1 $f4, 0x40($s3) +/* B4BC34 802411C4 C6660018 */ lwc1 $f6, 0x18($s3) +/* B4BC38 802411C8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B4BC3C 802411CC E7A2002C */ swc1 $f2, 0x2c($sp) +/* B4BC40 802411D0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B4BC44 802411D4 E7A60010 */ swc1 $f6, 0x10($sp) +/* B4BC48 802411D8 C660000C */ lwc1 $f0, 0xc($s3) +/* B4BC4C 802411DC E7A00014 */ swc1 $f0, 0x14($sp) +/* B4BC50 802411E0 866200A8 */ lh $v0, 0xa8($s3) +/* B4BC54 802411E4 44820000 */ mtc1 $v0, $f0 +/* B4BC58 802411E8 00000000 */ nop +/* B4BC5C 802411EC 46800020 */ cvt.s.w $f0, $f0 +/* B4BC60 802411F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* B4BC64 802411F4 866200A6 */ lh $v0, 0xa6($s3) +/* B4BC68 802411F8 27A6002C */ addiu $a2, $sp, 0x2c +/* B4BC6C 802411FC 44820000 */ mtc1 $v0, $f0 +/* B4BC70 80241200 00000000 */ nop +/* B4BC74 80241204 46800020 */ cvt.s.w $f0, $f0 +/* B4BC78 80241208 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B4BC7C 8024120C 8E640080 */ lw $a0, 0x80($s3) +/* B4BC80 80241210 0C037711 */ jal func_800DDC44 +/* B4BC84 80241214 27A70030 */ addiu $a3, $sp, 0x30 +/* B4BC88 80241218 10400003 */ beqz $v0, .L80241228 +/* B4BC8C 8024121C 00000000 */ nop +/* B4BC90 80241220 0809048E */ j .L80241238 +/* B4BC94 80241224 AE600018 */ sw $zero, 0x18($s3) +.L80241228: +/* B4BC98 80241228 8E650018 */ lw $a1, 0x18($s3) +/* B4BC9C 8024122C 8E66000C */ lw $a2, 0xc($s3) +/* B4BCA0 80241230 0C00EA95 */ jal npc_move_heading +/* B4BCA4 80241234 0260202D */ daddu $a0, $s3, $zero +.L80241238: +/* B4BCA8 80241238 C660001C */ lwc1 $f0, 0x1c($s3) +/* B4BCAC 8024123C 44801000 */ mtc1 $zero, $f2 +/* B4BCB0 80241240 44801800 */ mtc1 $zero, $f3 +/* B4BCB4 80241244 46000021 */ cvt.d.s $f0, $f0 +/* B4BCB8 80241248 4622003C */ c.lt.d $f0, $f2 +/* B4BCBC 8024124C 00000000 */ nop +/* B4BCC0 80241250 4500006C */ bc1f .L80241404 +/* B4BCC4 80241254 27B00028 */ addiu $s0, $sp, 0x28 +/* B4BCC8 80241258 0200282D */ daddu $a1, $s0, $zero +/* B4BCCC 8024125C 27A60034 */ addiu $a2, $sp, 0x34 +/* B4BCD0 80241260 27B20038 */ addiu $s2, $sp, 0x38 +/* B4BCD4 80241264 C6600038 */ lwc1 $f0, 0x38($s3) +/* B4BCD8 80241268 3C0142C8 */ lui $at, 0x42c8 +/* B4BCDC 8024126C 44811000 */ mtc1 $at, $f2 +/* B4BCE0 80241270 C6640040 */ lwc1 $f4, 0x40($s3) +/* B4BCE4 80241274 3C01447A */ lui $at, 0x447a +/* B4BCE8 80241278 44813000 */ mtc1 $at, $f6 +/* B4BCEC 8024127C 27B10030 */ addiu $s1, $sp, 0x30 +/* B4BCF0 80241280 E7A00028 */ swc1 $f0, 0x28($sp) +/* B4BCF4 80241284 E7A20034 */ swc1 $f2, 0x34($sp) +/* B4BCF8 80241288 E7A40030 */ swc1 $f4, 0x30($sp) +/* B4BCFC 8024128C E7A60038 */ swc1 $f6, 0x38($sp) +/* B4BD00 80241290 AFB20010 */ sw $s2, 0x10($sp) +/* B4BD04 80241294 8E640080 */ lw $a0, 0x80($s3) +/* B4BD08 80241298 0C0372DF */ jal func_800DCB7C +/* B4BD0C 8024129C 0220382D */ daddu $a3, $s1, $zero +/* B4BD10 802412A0 0200282D */ daddu $a1, $s0, $zero +/* B4BD14 802412A4 27A6002C */ addiu $a2, $sp, 0x2c +/* B4BD18 802412A8 C662003C */ lwc1 $f2, 0x3c($s3) +/* B4BD1C 802412AC C6660038 */ lwc1 $f6, 0x38($s3) +/* B4BD20 802412B0 3C01402A */ lui $at, 0x402a +/* B4BD24 802412B4 4481A800 */ mtc1 $at, $f21 +/* B4BD28 802412B8 4480A000 */ mtc1 $zero, $f20 +/* B4BD2C 802412BC 460010A1 */ cvt.d.s $f2, $f2 +/* B4BD30 802412C0 46341080 */ add.d $f2, $f2, $f20 +/* B4BD34 802412C4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B4BD38 802412C8 C6640040 */ lwc1 $f4, 0x40($s3) +/* B4BD3C 802412CC 46000005 */ abs.s $f0, $f0 +/* B4BD40 802412D0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B4BD44 802412D4 3C014030 */ lui $at, 0x4030 +/* B4BD48 802412D8 44812800 */ mtc1 $at, $f5 +/* B4BD4C 802412DC 44802000 */ mtc1 $zero, $f4 +/* B4BD50 802412E0 46000021 */ cvt.d.s $f0, $f0 +/* B4BD54 802412E4 E7A60028 */ swc1 $f6, 0x28($sp) +/* B4BD58 802412E8 46240000 */ add.d $f0, $f0, $f4 +/* B4BD5C 802412EC 462010A0 */ cvt.s.d $f2, $f2 +/* B4BD60 802412F0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B4BD64 802412F4 46200020 */ cvt.s.d $f0, $f0 +/* B4BD68 802412F8 E7A00038 */ swc1 $f0, 0x38($sp) +/* B4BD6C 802412FC AFB20010 */ sw $s2, 0x10($sp) +/* B4BD70 80241300 8E640080 */ lw $a0, 0x80($s3) +/* B4BD74 80241304 0C0372DF */ jal func_800DCB7C +/* B4BD78 80241308 0220382D */ daddu $a3, $s1, $zero +/* B4BD7C 8024130C 1040003D */ beqz $v0, .L80241404 +/* B4BD80 80241310 00000000 */ nop +/* B4BD84 80241314 C660001C */ lwc1 $f0, 0x1c($s3) +/* B4BD88 80241318 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B4BD8C 8024131C 46000005 */ abs.s $f0, $f0 +/* B4BD90 80241320 46000021 */ cvt.d.s $f0, $f0 +/* B4BD94 80241324 46340000 */ add.d $f0, $f0, $f20 +/* B4BD98 80241328 460010A1 */ cvt.d.s $f2, $f2 +/* B4BD9C 8024132C 4620103E */ c.le.d $f2, $f0 +/* B4BDA0 80241330 00000000 */ nop +/* B4BDA4 80241334 45000033 */ bc1f .L80241404 +/* B4BDA8 80241338 2403F7FF */ addiu $v1, $zero, -0x801 +/* B4BDAC 8024133C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B4BDB0 80241340 8E620000 */ lw $v0, ($s3) +/* B4BDB4 80241344 AE60001C */ sw $zero, 0x1c($s3) +/* B4BDB8 80241348 00431024 */ and $v0, $v0, $v1 +/* B4BDBC 8024134C E660003C */ swc1 $f0, 0x3c($s3) +/* B4BDC0 80241350 AE620000 */ sw $v0, ($s3) +/* B4BDC4 80241354 AFA00010 */ sw $zero, 0x10($sp) +/* B4BDC8 80241358 AFA00014 */ sw $zero, 0x14($sp) +/* B4BDCC 8024135C 8E650038 */ lw $a1, 0x38($s3) +/* B4BDD0 80241360 8E66003C */ lw $a2, 0x3c($s3) +/* B4BDD4 80241364 8E670040 */ lw $a3, 0x40($s3) +/* B4BDD8 80241368 0C01BECC */ jal fx_walk_normal +/* B4BDDC 8024136C 24040002 */ addiu $a0, $zero, 2 +/* B4BDE0 80241370 02E0202D */ daddu $a0, $s7, $zero +/* B4BDE4 80241374 2402000C */ addiu $v0, $zero, 0xc +/* B4BDE8 80241378 AE820070 */ sw $v0, 0x70($s4) +/* B4BDEC 8024137C 24020001 */ addiu $v0, $zero, 1 +/* B4BDF0 80241380 AFA20010 */ sw $v0, 0x10($sp) +/* B4BDF4 80241384 8EC60024 */ lw $a2, 0x24($s6) +/* B4BDF8 80241388 8EC70028 */ lw $a3, 0x28($s6) +/* B4BDFC 8024138C 0C01242D */ jal func_800490B4 +/* B4BE00 80241390 02A0282D */ daddu $a1, $s5, $zero +/* B4BE04 80241394 14400022 */ bnez $v0, .L80241420 +/* B4BE08 80241398 24040002 */ addiu $a0, $zero, 2 +/* B4BE0C 8024139C 0260282D */ daddu $a1, $s3, $zero +/* B4BE10 802413A0 0000302D */ daddu $a2, $zero, $zero +/* B4BE14 802413A4 866300A8 */ lh $v1, 0xa8($s3) +/* B4BE18 802413A8 3C013F80 */ lui $at, 0x3f80 +/* B4BE1C 802413AC 44810000 */ mtc1 $at, $f0 +/* B4BE20 802413B0 3C014000 */ lui $at, 0x4000 +/* B4BE24 802413B4 44811000 */ mtc1 $at, $f2 +/* B4BE28 802413B8 3C01C1A0 */ lui $at, 0xc1a0 +/* B4BE2C 802413BC 44812000 */ mtc1 $at, $f4 +/* B4BE30 802413C0 2402000F */ addiu $v0, $zero, 0xf +/* B4BE34 802413C4 AFA2001C */ sw $v0, 0x1c($sp) +/* B4BE38 802413C8 44834000 */ mtc1 $v1, $f8 +/* B4BE3C 802413CC 00000000 */ nop +/* B4BE40 802413D0 46804220 */ cvt.s.w $f8, $f8 +/* B4BE44 802413D4 44074000 */ mfc1 $a3, $f8 +/* B4BE48 802413D8 27A2003C */ addiu $v0, $sp, 0x3c +/* B4BE4C 802413DC AFA20020 */ sw $v0, 0x20($sp) +/* B4BE50 802413E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* B4BE54 802413E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* B4BE58 802413E8 0C01BFA4 */ jal fx_emote +/* B4BE5C 802413EC E7A40018 */ swc1 $f4, 0x18($sp) +/* B4BE60 802413F0 24020019 */ addiu $v0, $zero, 0x19 +/* B4BE64 802413F4 A662008E */ sh $v0, 0x8e($s3) +/* B4BE68 802413F8 2402000E */ addiu $v0, $zero, 0xe +/* B4BE6C 802413FC 08090508 */ j .L80241420 +/* B4BE70 80241400 AE820070 */ sw $v0, 0x70($s4) +.L80241404: +/* B4BE74 80241404 C664003C */ lwc1 $f4, 0x3c($s3) +/* B4BE78 80241408 C660001C */ lwc1 $f0, 0x1c($s3) +/* B4BE7C 8024140C 46002100 */ add.s $f4, $f4, $f0 +/* B4BE80 80241410 C6620014 */ lwc1 $f2, 0x14($s3) +/* B4BE84 80241414 46020001 */ sub.s $f0, $f0, $f2 +/* B4BE88 80241418 E664003C */ swc1 $f4, 0x3c($s3) +/* B4BE8C 8024141C E660001C */ swc1 $f0, 0x1c($s3) +.L80241420: +/* B4BE90 80241420 8FBF0060 */ lw $ra, 0x60($sp) +/* B4BE94 80241424 8FB7005C */ lw $s7, 0x5c($sp) +/* B4BE98 80241428 8FB60058 */ lw $s6, 0x58($sp) +/* B4BE9C 8024142C 8FB50054 */ lw $s5, 0x54($sp) +/* B4BEA0 80241430 8FB40050 */ lw $s4, 0x50($sp) +/* B4BEA4 80241434 8FB3004C */ lw $s3, 0x4c($sp) +/* B4BEA8 80241438 8FB20048 */ lw $s2, 0x48($sp) +/* B4BEAC 8024143C 8FB10044 */ lw $s1, 0x44($sp) +/* B4BEB0 80241440 8FB00040 */ lw $s0, 0x40($sp) +/* B4BEB4 80241444 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B4BEB8 80241448 03E00008 */ jr $ra +/* B4BEBC 8024144C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241450.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241450.s new file mode 100644 index 0000000000..94473aba2e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241450.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241450 +/* B4BEC0 80241450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B4BEC4 80241454 AFB00010 */ sw $s0, 0x10($sp) +/* B4BEC8 80241458 0080802D */ daddu $s0, $a0, $zero +/* B4BECC 8024145C AFBF0014 */ sw $ra, 0x14($sp) +/* B4BED0 80241460 8E020148 */ lw $v0, 0x148($s0) +/* B4BED4 80241464 0C00EABB */ jal get_npc_unsafe +/* B4BED8 80241468 84440008 */ lh $a0, 8($v0) +/* B4BEDC 8024146C 9443008E */ lhu $v1, 0x8e($v0) +/* B4BEE0 80241470 2463FFFF */ addiu $v1, $v1, -1 +/* B4BEE4 80241474 A443008E */ sh $v1, 0x8e($v0) +/* B4BEE8 80241478 00031C00 */ sll $v1, $v1, 0x10 +/* B4BEEC 8024147C 58600001 */ blezl $v1, .L80241484 +/* B4BEF0 80241480 AE000070 */ sw $zero, 0x70($s0) +.L80241484: +/* B4BEF4 80241484 8FBF0014 */ lw $ra, 0x14($sp) +/* B4BEF8 80241488 8FB00010 */ lw $s0, 0x10($sp) +/* B4BEFC 8024148C 03E00008 */ jr $ra +/* B4BF00 80241490 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241494_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241494_B4AA70.s new file mode 100644 index 0000000000..6fbd08fe3d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241494_B4AA70.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241494_B4BF04 +/* B4BF04 80241494 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B4BF08 80241498 AFB3003C */ sw $s3, 0x3c($sp) +/* B4BF0C 8024149C 0080982D */ daddu $s3, $a0, $zero +/* B4BF10 802414A0 AFBF0048 */ sw $ra, 0x48($sp) +/* B4BF14 802414A4 AFB50044 */ sw $s5, 0x44($sp) +/* B4BF18 802414A8 AFB40040 */ sw $s4, 0x40($sp) +/* B4BF1C 802414AC AFB20038 */ sw $s2, 0x38($sp) +/* B4BF20 802414B0 AFB10034 */ sw $s1, 0x34($sp) +/* B4BF24 802414B4 AFB00030 */ sw $s0, 0x30($sp) +/* B4BF28 802414B8 8E720148 */ lw $s2, 0x148($s3) +/* B4BF2C 802414BC 86440008 */ lh $a0, 8($s2) +/* B4BF30 802414C0 8E70000C */ lw $s0, 0xc($s3) +/* B4BF34 802414C4 0C00EABB */ jal get_npc_unsafe +/* B4BF38 802414C8 00A0882D */ daddu $s1, $a1, $zero +/* B4BF3C 802414CC 8E050000 */ lw $a1, ($s0) +/* B4BF40 802414D0 26100004 */ addiu $s0, $s0, 4 +/* B4BF44 802414D4 0260202D */ daddu $a0, $s3, $zero +/* B4BF48 802414D8 0C0B1EAF */ jal get_variable +/* B4BF4C 802414DC 0040A82D */ daddu $s5, $v0, $zero +/* B4BF50 802414E0 0260202D */ daddu $a0, $s3, $zero +/* B4BF54 802414E4 8E050000 */ lw $a1, ($s0) +/* B4BF58 802414E8 0C0B1EAF */ jal get_variable +/* B4BF5C 802414EC 0040A02D */ daddu $s4, $v0, $zero +/* B4BF60 802414F0 AE420094 */ sw $v0, 0x94($s2) +/* B4BF64 802414F4 AFA00010 */ sw $zero, 0x10($sp) +/* B4BF68 802414F8 8E4200D0 */ lw $v0, 0xd0($s2) +/* B4BF6C 802414FC 8C420030 */ lw $v0, 0x30($v0) +/* B4BF70 80241500 AFA20014 */ sw $v0, 0x14($sp) +/* B4BF74 80241504 8E4200D0 */ lw $v0, 0xd0($s2) +/* B4BF78 80241508 8C42001C */ lw $v0, 0x1c($v0) +/* B4BF7C 8024150C AFA20018 */ sw $v0, 0x18($sp) +/* B4BF80 80241510 8E4200D0 */ lw $v0, 0xd0($s2) +/* B4BF84 80241514 8C420024 */ lw $v0, 0x24($v0) +/* B4BF88 80241518 AFA2001C */ sw $v0, 0x1c($sp) +/* B4BF8C 8024151C 8E4200D0 */ lw $v0, 0xd0($s2) +/* B4BF90 80241520 8C420028 */ lw $v0, 0x28($v0) +/* B4BF94 80241524 AFA20020 */ sw $v0, 0x20($sp) +/* B4BF98 80241528 8E4200D0 */ lw $v0, 0xd0($s2) +/* B4BF9C 8024152C 3C0142C8 */ lui $at, 0x42c8 +/* B4BFA0 80241530 44810000 */ mtc1 $at, $f0 +/* B4BFA4 80241534 8C42002C */ lw $v0, 0x2c($v0) +/* B4BFA8 80241538 27B00010 */ addiu $s0, $sp, 0x10 +/* B4BFAC 8024153C E7A00028 */ swc1 $f0, 0x28($sp) +/* B4BFB0 80241540 A7A0002C */ sh $zero, 0x2c($sp) +/* B4BFB4 80241544 12200019 */ beqz $s1, .L802415AC +/* B4BFB8 80241548 AFA20024 */ sw $v0, 0x24($sp) +/* B4BFBC 8024154C AE600070 */ sw $zero, 0x70($s3) +/* B4BFC0 80241550 A6A0008E */ sh $zero, 0x8e($s5) +/* B4BFC4 80241554 AE600074 */ sw $zero, 0x74($s3) +/* B4BFC8 80241558 8EA20000 */ lw $v0, ($s5) +/* B4BFCC 8024155C 2403F7FF */ addiu $v1, $zero, -0x801 +/* B4BFD0 80241560 00431024 */ and $v0, $v0, $v1 +/* B4BFD4 80241564 2403FDFF */ addiu $v1, $zero, -0x201 +/* B4BFD8 80241568 00431024 */ and $v0, $v0, $v1 +/* B4BFDC 8024156C 34420008 */ ori $v0, $v0, 8 +/* B4BFE0 80241570 AEA20000 */ sw $v0, ($s5) +/* B4BFE4 80241574 8E4200B0 */ lw $v0, 0xb0($s2) +/* B4BFE8 80241578 34420018 */ ori $v0, $v0, 0x18 +/* B4BFEC 8024157C AE4200B0 */ sw $v0, 0xb0($s2) +/* B4BFF0 80241580 8E420000 */ lw $v0, ($s2) +/* B4BFF4 80241584 3C034000 */ lui $v1, 0x4000 +/* B4BFF8 80241588 00431024 */ and $v0, $v0, $v1 +/* B4BFFC 8024158C 10400007 */ beqz $v0, .L802415AC +/* B4C000 80241590 3C03BFFF */ lui $v1, 0xbfff +/* B4C004 80241594 2402000C */ addiu $v0, $zero, 0xc +/* B4C008 80241598 AE620070 */ sw $v0, 0x70($s3) +/* B4C00C 8024159C 8E420000 */ lw $v0, ($s2) +/* B4C010 802415A0 3463FFFF */ ori $v1, $v1, 0xffff +/* B4C014 802415A4 00431024 */ and $v0, $v0, $v1 +/* B4C018 802415A8 AE420000 */ sw $v0, ($s2) +.L802415AC: +/* B4C01C 802415AC 8E4300B0 */ lw $v1, 0xb0($s2) +/* B4C020 802415B0 30620004 */ andi $v0, $v1, 4 +/* B4C024 802415B4 10400007 */ beqz $v0, .L802415D4 +/* B4C028 802415B8 00000000 */ nop +/* B4C02C 802415BC 824200B4 */ lb $v0, 0xb4($s2) +/* B4C030 802415C0 14400034 */ bnez $v0, .L80241694 +/* B4C034 802415C4 0000102D */ daddu $v0, $zero, $zero +/* B4C038 802415C8 2402FFFB */ addiu $v0, $zero, -5 +/* B4C03C 802415CC 00621024 */ and $v0, $v1, $v0 +/* B4C040 802415D0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802415D4: +/* B4C044 802415D4 8E630070 */ lw $v1, 0x70($s3) +/* B4C048 802415D8 2C62000F */ sltiu $v0, $v1, 0xf +/* B4C04C 802415DC 1040002C */ beqz $v0, .L80241690 +/* B4C050 802415E0 00031080 */ sll $v0, $v1, 2 +/* B4C054 802415E4 3C018024 */ lui $at, 0x8024 +/* B4C058 802415E8 00220821 */ addu $at, $at, $v0 +/* B4C05C 802415EC 8C227A38 */ lw $v0, 0x7a38($at) +/* B4C060 802415F0 00400008 */ jr $v0 +/* B4C064 802415F4 00000000 */ nop +/* B4C068 802415F8 0260202D */ daddu $a0, $s3, $zero +/* B4C06C 802415FC 0280282D */ daddu $a1, $s4, $zero +/* B4C070 80241600 0C090229 */ jal func_802408A4 +/* B4C074 80241604 0200302D */ daddu $a2, $s0, $zero +/* B4C078 80241608 0260202D */ daddu $a0, $s3, $zero +/* B4C07C 8024160C 0280282D */ daddu $a1, $s4, $zero +/* B4C080 80241610 0C0902B5 */ jal func_80240AD4 +/* B4C084 80241614 0200302D */ daddu $a2, $s0, $zero +/* B4C088 80241618 080905A5 */ j .L80241694 +/* B4C08C 8024161C 0000102D */ daddu $v0, $zero, $zero +/* B4C090 80241620 0260202D */ daddu $a0, $s3, $zero +/* B4C094 80241624 0280282D */ daddu $a1, $s4, $zero +/* B4C098 80241628 0C090383 */ jal func_80240E0C +/* B4C09C 8024162C 0200302D */ daddu $a2, $s0, $zero +/* B4C0A0 80241630 8E630070 */ lw $v1, 0x70($s3) +/* B4C0A4 80241634 24020003 */ addiu $v0, $zero, 3 +/* B4C0A8 80241638 14620016 */ bne $v1, $v0, .L80241694 +/* B4C0AC 8024163C 0000102D */ daddu $v0, $zero, $zero +/* B4C0B0 80241640 0260202D */ daddu $a0, $s3, $zero +/* B4C0B4 80241644 0280282D */ daddu $a1, $s4, $zero +/* B4C0B8 80241648 0C0903B3 */ jal func_80240ECC +/* B4C0BC 8024164C 0200302D */ daddu $a2, $s0, $zero +/* B4C0C0 80241650 080905A5 */ j .L80241694 +/* B4C0C4 80241654 0000102D */ daddu $v0, $zero, $zero +/* B4C0C8 80241658 0260202D */ daddu $a0, $s3, $zero +/* B4C0CC 8024165C 0280282D */ daddu $a1, $s4, $zero +/* B4C0D0 80241660 0C09041C */ jal func_80241070 +/* B4C0D4 80241664 0200302D */ daddu $a2, $s0, $zero +/* B4C0D8 80241668 0260202D */ daddu $a0, $s3, $zero +/* B4C0DC 8024166C 0280282D */ daddu $a1, $s4, $zero +/* B4C0E0 80241670 0C090454 */ jal func_80241150 +/* B4C0E4 80241674 0200302D */ daddu $a2, $s0, $zero +/* B4C0E8 80241678 080905A5 */ j .L80241694 +/* B4C0EC 8024167C 0000102D */ daddu $v0, $zero, $zero +/* B4C0F0 80241680 0260202D */ daddu $a0, $s3, $zero +/* B4C0F4 80241684 0280282D */ daddu $a1, $s4, $zero +/* B4C0F8 80241688 0C090514 */ jal func_80241450 +/* B4C0FC 8024168C 0200302D */ daddu $a2, $s0, $zero +.L80241690: +/* B4C100 80241690 0000102D */ daddu $v0, $zero, $zero +.L80241694: +/* B4C104 80241694 8FBF0048 */ lw $ra, 0x48($sp) +/* B4C108 80241698 8FB50044 */ lw $s5, 0x44($sp) +/* B4C10C 8024169C 8FB40040 */ lw $s4, 0x40($sp) +/* B4C110 802416A0 8FB3003C */ lw $s3, 0x3c($sp) +/* B4C114 802416A4 8FB20038 */ lw $s2, 0x38($sp) +/* B4C118 802416A8 8FB10034 */ lw $s1, 0x34($sp) +/* B4C11C 802416AC 8FB00030 */ lw $s0, 0x30($sp) +/* B4C120 802416B0 03E00008 */ jr $ra +/* B4C124 802416B4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802416B8.s b/asm/nonmatchings/world/area_jan/jan_05/func_802416B8.s new file mode 100644 index 0000000000..432be03c8c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802416B8.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416B8 +/* B4C128 802416B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4C12C 802416BC AFB10014 */ sw $s1, 0x14($sp) +/* B4C130 802416C0 0080882D */ daddu $s1, $a0, $zero +/* B4C134 802416C4 AFBF0018 */ sw $ra, 0x18($sp) +/* B4C138 802416C8 AFB00010 */ sw $s0, 0x10($sp) +/* B4C13C 802416CC 8E300148 */ lw $s0, 0x148($s1) +/* B4C140 802416D0 0C00EABB */ jal get_npc_unsafe +/* B4C144 802416D4 86040008 */ lh $a0, 8($s0) +/* B4C148 802416D8 3C054387 */ lui $a1, 0x4387 +/* B4C14C 802416DC 0040202D */ daddu $a0, $v0, $zero +/* B4C150 802416E0 0C00ECD0 */ jal set_npc_yaw +/* B4C154 802416E4 A480008E */ sh $zero, 0x8e($a0) +/* B4C158 802416E8 24020003 */ addiu $v0, $zero, 3 +/* B4C15C 802416EC AE00006C */ sw $zero, 0x6c($s0) +/* B4C160 802416F0 AE220070 */ sw $v0, 0x70($s1) +/* B4C164 802416F4 8FBF0018 */ lw $ra, 0x18($sp) +/* B4C168 802416F8 8FB10014 */ lw $s1, 0x14($sp) +/* B4C16C 802416FC 8FB00010 */ lw $s0, 0x10($sp) +/* B4C170 80241700 03E00008 */ jr $ra +/* B4C174 80241704 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241708_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241708_B4AA70.s new file mode 100644 index 0000000000..3389478de9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241708_B4AA70.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241708_B4C178 +/* B4C178 80241708 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B4C17C 8024170C AFB20028 */ sw $s2, 0x28($sp) +/* B4C180 80241710 0080902D */ daddu $s2, $a0, $zero +/* B4C184 80241714 AFBF002C */ sw $ra, 0x2c($sp) +/* B4C188 80241718 AFB10024 */ sw $s1, 0x24($sp) +/* B4C18C 8024171C AFB00020 */ sw $s0, 0x20($sp) +/* B4C190 80241720 8E500148 */ lw $s0, 0x148($s2) +/* B4C194 80241724 0C00EABB */ jal get_npc_unsafe +/* B4C198 80241728 86040008 */ lh $a0, 8($s0) +/* B4C19C 8024172C 8E03006C */ lw $v1, 0x6c($s0) +/* B4C1A0 80241730 1460000B */ bnez $v1, .L80241760 +/* B4C1A4 80241734 0040882D */ daddu $s1, $v0, $zero +/* B4C1A8 80241738 0C00A67F */ jal rand_int +/* B4C1AC 8024173C 24040064 */ addiu $a0, $zero, 0x64 +/* B4C1B0 80241740 28420032 */ slti $v0, $v0, 0x32 +/* B4C1B4 80241744 14400002 */ bnez $v0, .L80241750 +/* B4C1B8 80241748 24020001 */ addiu $v0, $zero, 1 +/* B4C1BC 8024174C 24020003 */ addiu $v0, $zero, 3 +.L80241750: +/* B4C1C0 80241750 AE02006C */ sw $v0, 0x6c($s0) +/* B4C1C4 80241754 3C054387 */ lui $a1, 0x4387 +/* B4C1C8 80241758 0C00ECD0 */ jal set_npc_yaw +/* B4C1CC 8024175C 0220202D */ daddu $a0, $s1, $zero +.L80241760: +/* B4C1D0 80241760 8E02006C */ lw $v0, 0x6c($s0) +/* B4C1D4 80241764 2443FFFF */ addiu $v1, $v0, -1 +/* B4C1D8 80241768 2C620006 */ sltiu $v0, $v1, 6 +/* B4C1DC 8024176C 1040004D */ beqz $v0, .L802418A4 +/* B4C1E0 80241770 00031080 */ sll $v0, $v1, 2 +/* B4C1E4 80241774 3C018024 */ lui $at, 0x8024 +/* B4C1E8 80241778 00220821 */ addu $at, $at, $v0 +/* B4C1EC 8024177C 8C227A78 */ lw $v0, 0x7a78($at) +/* B4C1F0 80241780 00400008 */ jr $v0 +/* B4C1F4 80241784 00000000 */ nop +/* B4C1F8 80241788 3C030042 */ lui $v1, 0x42 +/* B4C1FC 8024178C 3463000F */ ori $v1, $v1, 0xf +/* B4C200 80241790 24020002 */ addiu $v0, $zero, 2 +/* B4C204 80241794 AE02006C */ sw $v0, 0x6c($s0) +/* B4C208 80241798 AE000070 */ sw $zero, 0x70($s0) +/* B4C20C 8024179C AE230028 */ sw $v1, 0x28($s1) +/* B4C210 802417A0 8E020070 */ lw $v0, 0x70($s0) +/* B4C214 802417A4 24420001 */ addiu $v0, $v0, 1 +/* B4C218 802417A8 AE020070 */ sw $v0, 0x70($s0) +/* B4C21C 802417AC 28420033 */ slti $v0, $v0, 0x33 +/* B4C220 802417B0 1440003C */ bnez $v0, .L802418A4 +/* B4C224 802417B4 24020005 */ addiu $v0, $zero, 5 +/* B4C228 802417B8 08090629 */ j .L802418A4 +/* B4C22C 802417BC AE02006C */ sw $v0, 0x6c($s0) +/* B4C230 802417C0 3C030042 */ lui $v1, 0x42 +/* B4C234 802417C4 34630010 */ ori $v1, $v1, 0x10 +/* B4C238 802417C8 24020004 */ addiu $v0, $zero, 4 +/* B4C23C 802417CC AE02006C */ sw $v0, 0x6c($s0) +/* B4C240 802417D0 AE000070 */ sw $zero, 0x70($s0) +/* B4C244 802417D4 AE230028 */ sw $v1, 0x28($s1) +/* B4C248 802417D8 8E020070 */ lw $v0, 0x70($s0) +/* B4C24C 802417DC 24030019 */ addiu $v1, $zero, 0x19 +/* B4C250 802417E0 24420001 */ addiu $v0, $v0, 1 +/* B4C254 802417E4 14430005 */ bne $v0, $v1, .L802417FC +/* B4C258 802417E8 AE020070 */ sw $v0, 0x70($s0) +/* B4C25C 802417EC 3C0142B4 */ lui $at, 0x42b4 +/* B4C260 802417F0 44810000 */ mtc1 $at, $f0 +/* B4C264 802417F4 00000000 */ nop +/* B4C268 802417F8 E620000C */ swc1 $f0, 0xc($s1) +.L802417FC: +/* B4C26C 802417FC 8E020070 */ lw $v0, 0x70($s0) +/* B4C270 80241800 2842003D */ slti $v0, $v0, 0x3d +/* B4C274 80241804 14400027 */ bnez $v0, .L802418A4 +/* B4C278 80241808 24020005 */ addiu $v0, $zero, 5 +/* B4C27C 8024180C 08090629 */ j .L802418A4 +/* B4C280 80241810 AE02006C */ sw $v0, 0x6c($s0) +/* B4C284 80241814 3C030042 */ lui $v1, 0x42 +/* B4C288 80241818 24020006 */ addiu $v0, $zero, 6 +/* B4C28C 8024181C 34630003 */ ori $v1, $v1, 3 +/* B4C290 80241820 AE02006C */ sw $v0, 0x6c($s0) +/* B4C294 80241824 AE000070 */ sw $zero, 0x70($s0) +/* B4C298 80241828 862400A8 */ lh $a0, 0xa8($s1) +/* B4C29C 8024182C 2402000A */ addiu $v0, $zero, 0xa +/* B4C2A0 80241830 AE230028 */ sw $v1, 0x28($s1) +/* B4C2A4 80241834 AFA00014 */ sw $zero, 0x14($sp) +/* B4C2A8 80241838 AFA20018 */ sw $v0, 0x18($sp) +/* B4C2AC 8024183C 44840000 */ mtc1 $a0, $f0 +/* B4C2B0 80241840 00000000 */ nop +/* B4C2B4 80241844 46800020 */ cvt.s.w $f0, $f0 +/* B4C2B8 80241848 E7A00010 */ swc1 $f0, 0x10($sp) +/* B4C2BC 8024184C 8E250038 */ lw $a1, 0x38($s1) +/* B4C2C0 80241850 8E26003C */ lw $a2, 0x3c($s1) +/* B4C2C4 80241854 8E270040 */ lw $a3, 0x40($s1) +/* B4C2C8 80241858 0C01C1E4 */ jal fx_sweat +/* B4C2CC 8024185C 0000202D */ daddu $a0, $zero, $zero +/* B4C2D0 80241860 8E020070 */ lw $v0, 0x70($s0) +/* B4C2D4 80241864 24420001 */ addiu $v0, $v0, 1 +/* B4C2D8 80241868 AE020070 */ sw $v0, 0x70($s0) +/* B4C2DC 8024186C 2842000B */ slti $v0, $v0, 0xb +/* B4C2E0 80241870 1440000C */ bnez $v0, .L802418A4 +/* B4C2E4 80241874 00000000 */ nop +/* B4C2E8 80241878 0C00A67F */ jal rand_int +/* B4C2EC 8024187C 24040064 */ addiu $a0, $zero, 0x64 +/* B4C2F0 80241880 0040182D */ daddu $v1, $v0, $zero +/* B4C2F4 80241884 2862005A */ slti $v0, $v1, 0x5a +/* B4C2F8 80241888 14400005 */ bnez $v0, .L802418A0 +/* B4C2FC 8024188C 24020007 */ addiu $v0, $zero, 7 +/* B4C300 80241890 2862005F */ slti $v0, $v1, 0x5f +/* B4C304 80241894 14400002 */ bnez $v0, .L802418A0 +/* B4C308 80241898 24020001 */ addiu $v0, $zero, 1 +/* B4C30C 8024189C 24020003 */ addiu $v0, $zero, 3 +.L802418A0: +/* B4C310 802418A0 AE02006C */ sw $v0, 0x6c($s0) +.L802418A4: +/* B4C314 802418A4 8E03006C */ lw $v1, 0x6c($s0) +/* B4C318 802418A8 24020007 */ addiu $v0, $zero, 7 +/* B4C31C 802418AC 50620001 */ beql $v1, $v0, .L802418B4 +/* B4C320 802418B0 AE400070 */ sw $zero, 0x70($s2) +.L802418B4: +/* B4C324 802418B4 8FBF002C */ lw $ra, 0x2c($sp) +/* B4C328 802418B8 8FB20028 */ lw $s2, 0x28($sp) +/* B4C32C 802418BC 8FB10024 */ lw $s1, 0x24($sp) +/* B4C330 802418C0 8FB00020 */ lw $s0, 0x20($sp) +/* B4C334 802418C4 03E00008 */ jr $ra +/* B4C338 802418C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802418CC_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_802418CC_B4AA70.s new file mode 100644 index 0000000000..5484829d2f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802418CC_B4AA70.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418CC_B4C33C +/* B4C33C 802418CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4C340 802418D0 AFB10014 */ sw $s1, 0x14($sp) +/* B4C344 802418D4 0080882D */ daddu $s1, $a0, $zero +/* B4C348 802418D8 AFBF0018 */ sw $ra, 0x18($sp) +/* B4C34C 802418DC AFB00010 */ sw $s0, 0x10($sp) +/* B4C350 802418E0 8E300148 */ lw $s0, 0x148($s1) +/* B4C354 802418E4 0C00EABB */ jal get_npc_unsafe +/* B4C358 802418E8 86040008 */ lh $a0, 8($s0) +/* B4C35C 802418EC 24030001 */ addiu $v1, $zero, 1 +/* B4C360 802418F0 0040202D */ daddu $a0, $v0, $zero +/* B4C364 802418F4 AE03006C */ sw $v1, 0x6c($s0) +/* B4C368 802418F8 8482008C */ lh $v0, 0x8c($a0) +/* B4C36C 802418FC 14400009 */ bnez $v0, .L80241924 +/* B4C370 80241900 24020002 */ addiu $v0, $zero, 2 +/* B4C374 80241904 96030072 */ lhu $v1, 0x72($s0) +/* B4C378 80241908 AE02006C */ sw $v0, 0x6c($s0) +/* B4C37C 8024190C A483008E */ sh $v1, 0x8e($a0) +/* B4C380 80241910 8E0200CC */ lw $v0, 0xcc($s0) +/* B4C384 80241914 8C420020 */ lw $v0, 0x20($v0) +/* B4C388 80241918 AC820028 */ sw $v0, 0x28($a0) +/* B4C38C 8024191C 2402001F */ addiu $v0, $zero, 0x1f +/* B4C390 80241920 AE220070 */ sw $v0, 0x70($s1) +.L80241924: +/* B4C394 80241924 8FBF0018 */ lw $ra, 0x18($sp) +/* B4C398 80241928 8FB10014 */ lw $s1, 0x14($sp) +/* B4C39C 8024192C 8FB00010 */ lw $s0, 0x10($sp) +/* B4C3A0 80241930 03E00008 */ jr $ra +/* B4C3A4 80241934 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241938.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241938.s new file mode 100644 index 0000000000..0e48620903 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241938.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241938 +/* B4C3A8 80241938 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4C3AC 8024193C AFB10014 */ sw $s1, 0x14($sp) +/* B4C3B0 80241940 0080882D */ daddu $s1, $a0, $zero +/* B4C3B4 80241944 AFBF0018 */ sw $ra, 0x18($sp) +/* B4C3B8 80241948 AFB00010 */ sw $s0, 0x10($sp) +/* B4C3BC 8024194C 8E300148 */ lw $s0, 0x148($s1) +/* B4C3C0 80241950 0C00EABB */ jal get_npc_unsafe +/* B4C3C4 80241954 86040008 */ lh $a0, 8($s0) +/* B4C3C8 80241958 0040202D */ daddu $a0, $v0, $zero +/* B4C3CC 8024195C 9482008E */ lhu $v0, 0x8e($a0) +/* B4C3D0 80241960 2442FFFF */ addiu $v0, $v0, -1 +/* B4C3D4 80241964 A482008E */ sh $v0, 0x8e($a0) +/* B4C3D8 80241968 00021400 */ sll $v0, $v0, 0x10 +/* B4C3DC 8024196C 1C400009 */ bgtz $v0, .L80241994 +/* B4C3E0 80241970 24020003 */ addiu $v0, $zero, 3 +/* B4C3E4 80241974 96030076 */ lhu $v1, 0x76($s0) +/* B4C3E8 80241978 AE02006C */ sw $v0, 0x6c($s0) +/* B4C3EC 8024197C A483008E */ sh $v1, 0x8e($a0) +/* B4C3F0 80241980 8E0200CC */ lw $v0, 0xcc($s0) +/* B4C3F4 80241984 8C420024 */ lw $v0, 0x24($v0) +/* B4C3F8 80241988 AC820028 */ sw $v0, 0x28($a0) +/* B4C3FC 8024198C 24020020 */ addiu $v0, $zero, 0x20 +/* B4C400 80241990 AE220070 */ sw $v0, 0x70($s1) +.L80241994: +/* B4C404 80241994 8FBF0018 */ lw $ra, 0x18($sp) +/* B4C408 80241998 8FB10014 */ lw $s1, 0x14($sp) +/* B4C40C 8024199C 8FB00010 */ lw $s0, 0x10($sp) +/* B4C410 802419A0 03E00008 */ jr $ra +/* B4C414 802419A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802419A8.s b/asm/nonmatchings/world/area_jan/jan_05/func_802419A8.s new file mode 100644 index 0000000000..a13781f34d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802419A8.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419A8 +/* B4C418 802419A8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B4C41C 802419AC AFB10034 */ sw $s1, 0x34($sp) +/* B4C420 802419B0 0080882D */ daddu $s1, $a0, $zero +/* B4C424 802419B4 AFBF0038 */ sw $ra, 0x38($sp) +/* B4C428 802419B8 AFB00030 */ sw $s0, 0x30($sp) +/* B4C42C 802419BC 8E300148 */ lw $s0, 0x148($s1) +/* B4C430 802419C0 0C00EABB */ jal get_npc_unsafe +/* B4C434 802419C4 86040008 */ lh $a0, 8($s0) +/* B4C438 802419C8 0040282D */ daddu $a1, $v0, $zero +/* B4C43C 802419CC 94A2008E */ lhu $v0, 0x8e($a1) +/* B4C440 802419D0 2442FFFF */ addiu $v0, $v0, -1 +/* B4C444 802419D4 A4A2008E */ sh $v0, 0x8e($a1) +/* B4C448 802419D8 00021400 */ sll $v0, $v0, 0x10 +/* B4C44C 802419DC 1C400023 */ bgtz $v0, .L80241A6C +/* B4C450 802419E0 24020004 */ addiu $v0, $zero, 4 +/* B4C454 802419E4 8E0300CC */ lw $v1, 0xcc($s0) +/* B4C458 802419E8 AE02006C */ sw $v0, 0x6c($s0) +/* B4C45C 802419EC 8C620000 */ lw $v0, ($v1) +/* B4C460 802419F0 ACA20028 */ sw $v0, 0x28($a1) +/* B4C464 802419F4 9602007A */ lhu $v0, 0x7a($s0) +/* B4C468 802419F8 A4A2008E */ sh $v0, 0x8e($a1) +/* B4C46C 802419FC 8E020078 */ lw $v0, 0x78($s0) +/* B4C470 80241A00 28420008 */ slti $v0, $v0, 8 +/* B4C474 80241A04 14400018 */ bnez $v0, .L80241A68 +/* B4C478 80241A08 24020021 */ addiu $v0, $zero, 0x21 +/* B4C47C 80241A0C 24040003 */ addiu $a0, $zero, 3 +/* B4C480 80241A10 27A30028 */ addiu $v1, $sp, 0x28 +/* B4C484 80241A14 84A700A8 */ lh $a3, 0xa8($a1) +/* B4C488 80241A18 3C013F80 */ lui $at, 0x3f80 +/* B4C48C 80241A1C 44810000 */ mtc1 $at, $f0 +/* B4C490 80241A20 3C014000 */ lui $at, 0x4000 +/* B4C494 80241A24 44811000 */ mtc1 $at, $f2 +/* B4C498 80241A28 3C01C1A0 */ lui $at, 0xc1a0 +/* B4C49C 80241A2C 44812000 */ mtc1 $at, $f4 +/* B4C4A0 80241A30 44873000 */ mtc1 $a3, $f6 +/* B4C4A4 80241A34 00000000 */ nop +/* B4C4A8 80241A38 468031A0 */ cvt.s.w $f6, $f6 +/* B4C4AC 80241A3C E7A00010 */ swc1 $f0, 0x10($sp) +/* B4C4B0 80241A40 E7A20014 */ swc1 $f2, 0x14($sp) +/* B4C4B4 80241A44 E7A40018 */ swc1 $f4, 0x18($sp) +/* B4C4B8 80241A48 8E020078 */ lw $v0, 0x78($s0) +/* B4C4BC 80241A4C 44073000 */ mfc1 $a3, $f6 +/* B4C4C0 80241A50 0000302D */ daddu $a2, $zero, $zero +/* B4C4C4 80241A54 AFA30020 */ sw $v1, 0x20($sp) +/* B4C4C8 80241A58 2442FFFF */ addiu $v0, $v0, -1 +/* B4C4CC 80241A5C 0C01BFA4 */ jal fx_emote +/* B4C4D0 80241A60 AFA2001C */ sw $v0, 0x1c($sp) +/* B4C4D4 80241A64 24020021 */ addiu $v0, $zero, 0x21 +.L80241A68: +/* B4C4D8 80241A68 AE220070 */ sw $v0, 0x70($s1) +.L80241A6C: +/* B4C4DC 80241A6C 8FBF0038 */ lw $ra, 0x38($sp) +/* B4C4E0 80241A70 8FB10034 */ lw $s1, 0x34($sp) +/* B4C4E4 80241A74 8FB00030 */ lw $s0, 0x30($sp) +/* B4C4E8 80241A78 03E00008 */ jr $ra +/* B4C4EC 80241A7C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241A80.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241A80.s new file mode 100644 index 0000000000..a9585d131d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241A80.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A80 +/* B4C4F0 80241A80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B4C4F4 80241A84 AFB10014 */ sw $s1, 0x14($sp) +/* B4C4F8 80241A88 0080882D */ daddu $s1, $a0, $zero +/* B4C4FC 80241A8C AFBF0018 */ sw $ra, 0x18($sp) +/* B4C500 80241A90 AFB00010 */ sw $s0, 0x10($sp) +/* B4C504 80241A94 8E300148 */ lw $s0, 0x148($s1) +/* B4C508 80241A98 0C00EABB */ jal get_npc_unsafe +/* B4C50C 80241A9C 86040008 */ lh $a0, 8($s0) +/* B4C510 80241AA0 9443008E */ lhu $v1, 0x8e($v0) +/* B4C514 80241AA4 2463FFFF */ addiu $v1, $v1, -1 +/* B4C518 80241AA8 A443008E */ sh $v1, 0x8e($v0) +/* B4C51C 80241AAC 00031C00 */ sll $v1, $v1, 0x10 +/* B4C520 80241AB0 1C600003 */ bgtz $v1, .L80241AC0 +/* B4C524 80241AB4 2402000C */ addiu $v0, $zero, 0xc +/* B4C528 80241AB8 AE00006C */ sw $zero, 0x6c($s0) +/* B4C52C 80241ABC AE220070 */ sw $v0, 0x70($s1) +.L80241AC0: +/* B4C530 80241AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* B4C534 80241AC4 8FB10014 */ lw $s1, 0x14($sp) +/* B4C538 80241AC8 8FB00010 */ lw $s0, 0x10($sp) +/* B4C53C 80241ACC 03E00008 */ jr $ra +/* B4C540 80241AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241AD4.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241AD4.s new file mode 100644 index 0000000000..56d7766d7a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241AD4.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AD4 +/* B4C544 80241AD4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B4C548 80241AD8 AFBF0024 */ sw $ra, 0x24($sp) +/* B4C54C 80241ADC AFB40020 */ sw $s4, 0x20($sp) +/* B4C550 80241AE0 AFB3001C */ sw $s3, 0x1c($sp) +/* B4C554 80241AE4 AFB20018 */ sw $s2, 0x18($sp) +/* B4C558 80241AE8 AFB10014 */ sw $s1, 0x14($sp) +/* B4C55C 80241AEC AFB00010 */ sw $s0, 0x10($sp) +/* B4C560 80241AF0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B4C564 80241AF4 8C900148 */ lw $s0, 0x148($a0) +/* B4C568 80241AF8 86040008 */ lh $a0, 8($s0) +/* B4C56C 80241AFC 0C00EABB */ jal get_npc_unsafe +/* B4C570 80241B00 24110001 */ addiu $s1, $zero, 1 +/* B4C574 80241B04 86040008 */ lh $a0, 8($s0) +/* B4C578 80241B08 0040802D */ daddu $s0, $v0, $zero +/* B4C57C 80241B0C 3C05800B */ lui $a1, %hi(gCameras) +/* B4C580 80241B10 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B4C584 80241B14 3C03800A */ lui $v1, 0x800a +/* B4C588 80241B18 8463A634 */ lh $v1, -0x59cc($v1) +/* B4C58C 80241B1C 00912021 */ addu $a0, $a0, $s1 +/* B4C590 80241B20 00031080 */ sll $v0, $v1, 2 +/* B4C594 80241B24 00431021 */ addu $v0, $v0, $v1 +/* B4C598 80241B28 00021080 */ sll $v0, $v0, 2 +/* B4C59C 80241B2C 00431023 */ subu $v0, $v0, $v1 +/* B4C5A0 80241B30 000218C0 */ sll $v1, $v0, 3 +/* B4C5A4 80241B34 00431021 */ addu $v0, $v0, $v1 +/* B4C5A8 80241B38 000210C0 */ sll $v0, $v0, 3 +/* B4C5AC 80241B3C 0C00FB3A */ jal get_enemy +/* B4C5B0 80241B40 00459021 */ addu $s2, $v0, $a1 +/* B4C5B4 80241B44 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B4C5B8 80241B48 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B4C5BC 80241B4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4C5C0 80241B50 8E830000 */ lw $v1, ($s4) +/* B4C5C4 80241B54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4C5C8 80241B58 8C660028 */ lw $a2, 0x28($v1) +/* B4C5CC 80241B5C 8C670030 */ lw $a3, 0x30($v1) +/* B4C5D0 80241B60 0C00A7B5 */ jal dist2D +/* B4C5D4 80241B64 0040982D */ daddu $s3, $v0, $zero +/* B4C5D8 80241B68 C6620074 */ lwc1 $f2, 0x74($s3) +/* B4C5DC 80241B6C 468010A0 */ cvt.s.w $f2, $f2 +/* B4C5E0 80241B70 4600103C */ c.lt.s $f2, $f0 +/* B4C5E4 80241B74 00000000 */ nop +/* B4C5E8 80241B78 45030001 */ bc1tl .L80241B80 +/* B4C5EC 80241B7C 0000882D */ daddu $s1, $zero, $zero +.L80241B80: +/* B4C5F0 80241B80 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B4C5F4 80241B84 C60E000C */ lwc1 $f14, 0xc($s0) +/* B4C5F8 80241B88 3C014387 */ lui $at, 0x4387 +/* B4C5FC 80241B8C 4481A000 */ mtc1 $at, $f20 +/* B4C600 80241B90 0C00A70A */ jal get_clamped_angle_diff +/* B4C604 80241B94 00000000 */ nop +/* B4C608 80241B98 0C00A6C9 */ jal clamp_angle +/* B4C60C 80241B9C 46000306 */ mov.s $f12, $f0 +/* B4C610 80241BA0 3C018024 */ lui $at, 0x8024 +/* B4C614 80241BA4 D4227A90 */ ldc1 $f2, 0x7a90($at) +/* B4C618 80241BA8 46000021 */ cvt.d.s $f0, $f0 +/* B4C61C 80241BAC 4622003C */ c.lt.d $f0, $f2 +/* B4C620 80241BB0 00000000 */ nop +/* B4C624 80241BB4 45000003 */ bc1f .L80241BC4 +/* B4C628 80241BB8 00000000 */ nop +/* B4C62C 80241BBC 3C0142B4 */ lui $at, 0x42b4 +/* B4C630 80241BC0 4481A000 */ mtc1 $at, $f20 +.L80241BC4: +/* B4C634 80241BC4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B4C638 80241BC8 8E820000 */ lw $v0, ($s4) +/* B4C63C 80241BCC C60E0040 */ lwc1 $f14, 0x40($s0) +/* B4C640 80241BD0 8C460028 */ lw $a2, 0x28($v0) +/* B4C644 80241BD4 0C00A720 */ jal atan2 +/* B4C648 80241BD8 8C470030 */ lw $a3, 0x30($v0) +/* B4C64C 80241BDC 4600A306 */ mov.s $f12, $f20 +/* B4C650 80241BE0 0C00A70A */ jal get_clamped_angle_diff +/* B4C654 80241BE4 46000386 */ mov.s $f14, $f0 +/* B4C658 80241BE8 C6620078 */ lwc1 $f2, 0x78($s3) +/* B4C65C 80241BEC 468010A0 */ cvt.s.w $f2, $f2 +/* B4C660 80241BF0 46000005 */ abs.s $f0, $f0 +/* B4C664 80241BF4 4600103C */ c.lt.s $f2, $f0 +/* B4C668 80241BF8 00000000 */ nop +/* B4C66C 80241BFC 45030001 */ bc1tl .L80241C04 +/* B4C670 80241C00 0000882D */ daddu $s1, $zero, $zero +.L80241C04: +/* B4C674 80241C04 8E820000 */ lw $v0, ($s4) +/* B4C678 80241C08 C600003C */ lwc1 $f0, 0x3c($s0) +/* B4C67C 80241C0C C442002C */ lwc1 $f2, 0x2c($v0) +/* B4C680 80241C10 860200A8 */ lh $v0, 0xa8($s0) +/* B4C684 80241C14 46020001 */ sub.s $f0, $f0, $f2 +/* B4C688 80241C18 44821000 */ mtc1 $v0, $f2 +/* B4C68C 80241C1C 00000000 */ nop +/* B4C690 80241C20 468010A1 */ cvt.d.w $f2, $f2 +/* B4C694 80241C24 46221080 */ add.d $f2, $f2, $f2 +/* B4C698 80241C28 46000005 */ abs.s $f0, $f0 +/* B4C69C 80241C2C 46000021 */ cvt.d.s $f0, $f0 +/* B4C6A0 80241C30 4620103E */ c.le.d $f2, $f0 +/* B4C6A4 80241C34 00000000 */ nop +/* B4C6A8 80241C38 45030001 */ bc1tl .L80241C40 +/* B4C6AC 80241C3C 0000882D */ daddu $s1, $zero, $zero +.L80241C40: +/* B4C6B0 80241C40 3C038011 */ lui $v1, 0x8011 +/* B4C6B4 80241C44 8063EBB3 */ lb $v1, -0x144d($v1) +/* B4C6B8 80241C48 24020009 */ addiu $v0, $zero, 9 +/* B4C6BC 80241C4C 50620001 */ beql $v1, $v0, .L80241C54 +/* B4C6C0 80241C50 0000882D */ daddu $s1, $zero, $zero +.L80241C54: +/* B4C6C4 80241C54 24020007 */ addiu $v0, $zero, 7 +/* B4C6C8 80241C58 50620001 */ beql $v1, $v0, .L80241C60 +/* B4C6CC 80241C5C 0000882D */ daddu $s1, $zero, $zero +.L80241C60: +/* B4C6D0 80241C60 0220102D */ daddu $v0, $s1, $zero +/* B4C6D4 80241C64 8FBF0024 */ lw $ra, 0x24($sp) +/* B4C6D8 80241C68 8FB40020 */ lw $s4, 0x20($sp) +/* B4C6DC 80241C6C 8FB3001C */ lw $s3, 0x1c($sp) +/* B4C6E0 80241C70 8FB20018 */ lw $s2, 0x18($sp) +/* B4C6E4 80241C74 8FB10014 */ lw $s1, 0x14($sp) +/* B4C6E8 80241C78 8FB00010 */ lw $s0, 0x10($sp) +/* B4C6EC 80241C7C D7B40028 */ ldc1 $f20, 0x28($sp) +/* B4C6F0 80241C80 03E00008 */ jr $ra +/* B4C6F4 80241C84 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241C88_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241C88_B4AA70.s new file mode 100644 index 0000000000..0bab27e883 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241C88_B4AA70.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C88_B4C6F8 +/* B4C6F8 80241C88 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B4C6FC 80241C8C AFB40028 */ sw $s4, 0x28($sp) +/* B4C700 80241C90 0080A02D */ daddu $s4, $a0, $zero +/* B4C704 80241C94 AFBF002C */ sw $ra, 0x2c($sp) +/* B4C708 80241C98 AFB30024 */ sw $s3, 0x24($sp) +/* B4C70C 80241C9C AFB20020 */ sw $s2, 0x20($sp) +/* B4C710 80241CA0 AFB1001C */ sw $s1, 0x1c($sp) +/* B4C714 80241CA4 AFB00018 */ sw $s0, 0x18($sp) +/* B4C718 80241CA8 8E910148 */ lw $s1, 0x148($s4) +/* B4C71C 80241CAC 86240008 */ lh $a0, 8($s1) +/* B4C720 80241CB0 0C00EABB */ jal get_npc_unsafe +/* B4C724 80241CB4 00A0802D */ daddu $s0, $a1, $zero +/* B4C728 80241CB8 16000005 */ bnez $s0, .L80241CD0 +/* B4C72C 80241CBC 0040902D */ daddu $s2, $v0, $zero +/* B4C730 80241CC0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4C734 80241CC4 30420004 */ andi $v0, $v0, 4 +/* B4C738 80241CC8 10400015 */ beqz $v0, .L80241D20 +/* B4C73C 80241CCC 00000000 */ nop +.L80241CD0: +/* B4C740 80241CD0 AE800070 */ sw $zero, 0x70($s4) +/* B4C744 80241CD4 8E420000 */ lw $v0, ($s2) +/* B4C748 80241CD8 3C031F30 */ lui $v1, 0x1f30 +/* B4C74C 80241CDC A640008E */ sh $zero, 0x8e($s2) +/* B4C750 80241CE0 34420102 */ ori $v0, $v0, 0x102 +/* B4C754 80241CE4 AE420000 */ sw $v0, ($s2) +/* B4C758 80241CE8 8E220000 */ lw $v0, ($s1) +/* B4C75C 80241CEC 3C01C47A */ lui $at, 0xc47a +/* B4C760 80241CF0 44810000 */ mtc1 $at, $f0 +/* B4C764 80241CF4 00431025 */ or $v0, $v0, $v1 +/* B4C768 80241CF8 AE220000 */ sw $v0, ($s1) +/* B4C76C 80241CFC AE400038 */ sw $zero, 0x38($s2) +/* B4C770 80241D00 E640003C */ swc1 $f0, 0x3c($s2) +/* B4C774 80241D04 AE400040 */ sw $zero, 0x40($s2) +/* B4C778 80241D08 8E2300B0 */ lw $v1, 0xb0($s1) +/* B4C77C 80241D0C 30620004 */ andi $v0, $v1, 4 +/* B4C780 80241D10 10400003 */ beqz $v0, .L80241D20 +/* B4C784 80241D14 2402FFFB */ addiu $v0, $zero, -5 +/* B4C788 80241D18 00621024 */ and $v0, $v1, $v0 +/* B4C78C 80241D1C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241D20: +/* B4C790 80241D20 8E930070 */ lw $s3, 0x70($s4) +/* B4C794 80241D24 12600005 */ beqz $s3, .L80241D3C +/* B4C798 80241D28 24020001 */ addiu $v0, $zero, 1 +/* B4C79C 80241D2C 12620048 */ beq $s3, $v0, .L80241E50 +/* B4C7A0 80241D30 00000000 */ nop +/* B4C7A4 80241D34 080907B1 */ j .L80241EC4 +/* B4C7A8 80241D38 00000000 */ nop +.L80241D3C: +/* B4C7AC 80241D3C 86240008 */ lh $a0, 8($s1) +/* B4C7B0 80241D40 0C00FB3A */ jal get_enemy +/* B4C7B4 80241D44 2484FFFF */ addiu $a0, $a0, -1 +/* B4C7B8 80241D48 0040802D */ daddu $s0, $v0, $zero +/* B4C7BC 80241D4C 0C00EABB */ jal get_npc_unsafe +/* B4C7C0 80241D50 86040008 */ lh $a0, 8($s0) +/* B4C7C4 80241D54 24030001 */ addiu $v1, $zero, 1 +/* B4C7C8 80241D58 0040982D */ daddu $s3, $v0, $zero +/* B4C7CC 80241D5C A2230007 */ sb $v1, 7($s1) +/* B4C7D0 80241D60 8E03006C */ lw $v1, 0x6c($s0) +/* B4C7D4 80241D64 24020003 */ addiu $v0, $zero, 3 +/* B4C7D8 80241D68 14620056 */ bne $v1, $v0, .L80241EC4 +/* B4C7DC 80241D6C 00000000 */ nop +/* B4C7E0 80241D70 8E2500A8 */ lw $a1, 0xa8($s1) +/* B4C7E4 80241D74 10A00003 */ beqz $a1, .L80241D84 +/* B4C7E8 80241D78 0260202D */ daddu $a0, $s3, $zero +/* B4C7EC 80241D7C 0C012530 */ jal func_800494C0 +/* B4C7F0 80241D80 0000302D */ daddu $a2, $zero, $zero +.L80241D84: +/* B4C7F4 80241D84 27A40010 */ addiu $a0, $sp, 0x10 +/* B4C7F8 80241D88 C6280070 */ lwc1 $f8, 0x70($s1) +/* B4C7FC 80241D8C 46804220 */ cvt.s.w $f8, $f8 +/* B4C800 80241D90 C6620034 */ lwc1 $f2, 0x34($s3) +/* B4C804 80241D94 3C014387 */ lui $at, 0x4387 +/* B4C808 80241D98 44810000 */ mtc1 $at, $f0 +/* B4C80C 80241D9C 44064000 */ mfc1 $a2, $f8 +/* B4C810 80241DA0 46020001 */ sub.s $f0, $f0, $f2 +/* B4C814 80241DA4 C6660038 */ lwc1 $f6, 0x38($s3) +/* B4C818 80241DA8 C6640040 */ lwc1 $f4, 0x40($s3) +/* B4C81C 80241DAC 44070000 */ mfc1 $a3, $f0 +/* B4C820 80241DB0 27A50014 */ addiu $a1, $sp, 0x14 +/* B4C824 80241DB4 E7A60010 */ swc1 $f6, 0x10($sp) +/* B4C828 80241DB8 0C00A7E7 */ jal add_vec2D_polar +/* B4C82C 80241DBC E7A40014 */ swc1 $f4, 0x14($sp) +/* B4C830 80241DC0 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B4C834 80241DC4 4600020D */ trunc.w.s $f8, $f0 +/* B4C838 80241DC8 44024000 */ mfc1 $v0, $f8 +/* B4C83C 80241DCC E6400038 */ swc1 $f0, 0x38($s2) +/* B4C840 80241DD0 A6220010 */ sh $v0, 0x10($s1) +/* B4C844 80241DD4 C660003C */ lwc1 $f0, 0x3c($s3) +/* B4C848 80241DD8 C622006C */ lwc1 $f2, 0x6c($s1) +/* B4C84C 80241DDC 468010A0 */ cvt.s.w $f2, $f2 +/* B4C850 80241DE0 46020000 */ add.s $f0, $f0, $f2 +/* B4C854 80241DE4 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B4C858 80241DE8 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B4C85C 80241DEC E640003C */ swc1 $f0, 0x3c($s2) +/* B4C860 80241DF0 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B4C864 80241DF4 4600020D */ trunc.w.s $f8, $f0 +/* B4C868 80241DF8 44024000 */ mfc1 $v0, $f8 +/* B4C86C 80241DFC 00000000 */ nop +/* B4C870 80241E00 A6220012 */ sh $v0, 0x12($s1) +/* B4C874 80241E04 4600120D */ trunc.w.s $f8, $f2 +/* B4C878 80241E08 44024000 */ mfc1 $v0, $f8 +/* B4C87C 80241E0C E6420040 */ swc1 $f2, 0x40($s2) +/* B4C880 80241E10 A6220014 */ sh $v0, 0x14($s1) +/* B4C884 80241E14 8C660028 */ lw $a2, 0x28($v1) +/* B4C888 80241E18 8C670030 */ lw $a3, 0x30($v1) +/* B4C88C 80241E1C C64C0038 */ lwc1 $f12, 0x38($s2) +/* B4C890 80241E20 0C00A720 */ jal atan2 +/* B4C894 80241E24 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B4C898 80241E28 3C03E0EF */ lui $v1, 0xe0ef +/* B4C89C 80241E2C E640000C */ swc1 $f0, 0xc($s2) +/* B4C8A0 80241E30 8E220000 */ lw $v0, ($s1) +/* B4C8A4 80241E34 3463FFFF */ ori $v1, $v1, 0xffff +/* B4C8A8 80241E38 00431024 */ and $v0, $v0, $v1 +/* B4C8AC 80241E3C AE220000 */ sw $v0, ($s1) +/* B4C8B0 80241E40 24020001 */ addiu $v0, $zero, 1 +/* B4C8B4 80241E44 A640008E */ sh $zero, 0x8e($s2) +/* B4C8B8 80241E48 080907B1 */ j .L80241EC4 +/* B4C8BC 80241E4C AE820070 */ sw $v0, 0x70($s4) +.L80241E50: +/* B4C8C0 80241E50 86240008 */ lh $a0, 8($s1) +/* B4C8C4 80241E54 0C00FB3A */ jal get_enemy +/* B4C8C8 80241E58 2484FFFF */ addiu $a0, $a0, -1 +/* B4C8CC 80241E5C 0040802D */ daddu $s0, $v0, $zero +/* B4C8D0 80241E60 0C00EABB */ jal get_npc_unsafe +/* B4C8D4 80241E64 86040008 */ lh $a0, 8($s0) +/* B4C8D8 80241E68 9642008E */ lhu $v0, 0x8e($s2) +/* B4C8DC 80241E6C 24420001 */ addiu $v0, $v0, 1 +/* B4C8E0 80241E70 A642008E */ sh $v0, 0x8e($s2) +/* B4C8E4 80241E74 00021400 */ sll $v0, $v0, 0x10 +/* B4C8E8 80241E78 8E23007C */ lw $v1, 0x7c($s1) +/* B4C8EC 80241E7C 00021403 */ sra $v0, $v0, 0x10 +/* B4C8F0 80241E80 0043102A */ slt $v0, $v0, $v1 +/* B4C8F4 80241E84 50400001 */ beql $v0, $zero, .L80241E8C +/* B4C8F8 80241E88 A2200007 */ sb $zero, 7($s1) +.L80241E8C: +/* B4C8FC 80241E8C 8E03006C */ lw $v1, 0x6c($s0) +/* B4C900 80241E90 24020004 */ addiu $v0, $zero, 4 +/* B4C904 80241E94 1462000B */ bne $v1, $v0, .L80241EC4 +/* B4C908 80241E98 3C021F10 */ lui $v0, 0x1f10 +/* B4C90C 80241E9C 8E230000 */ lw $v1, ($s1) +/* B4C910 80241EA0 3C01C47A */ lui $at, 0xc47a +/* B4C914 80241EA4 44810000 */ mtc1 $at, $f0 +/* B4C918 80241EA8 00621825 */ or $v1, $v1, $v0 +/* B4C91C 80241EAC AE230000 */ sw $v1, ($s1) +/* B4C920 80241EB0 AE400038 */ sw $zero, 0x38($s2) +/* B4C924 80241EB4 E640003C */ swc1 $f0, 0x3c($s2) +/* B4C928 80241EB8 AE400040 */ sw $zero, 0x40($s2) +/* B4C92C 80241EBC A2330007 */ sb $s3, 7($s1) +/* B4C930 80241EC0 AE800070 */ sw $zero, 0x70($s4) +.L80241EC4: +/* B4C934 80241EC4 8FBF002C */ lw $ra, 0x2c($sp) +/* B4C938 80241EC8 8FB40028 */ lw $s4, 0x28($sp) +/* B4C93C 80241ECC 8FB30024 */ lw $s3, 0x24($sp) +/* B4C940 80241ED0 8FB20020 */ lw $s2, 0x20($sp) +/* B4C944 80241ED4 8FB1001C */ lw $s1, 0x1c($sp) +/* B4C948 80241ED8 8FB00018 */ lw $s0, 0x18($sp) +/* B4C94C 80241EDC 0000102D */ daddu $v0, $zero, $zero +/* B4C950 80241EE0 03E00008 */ jr $ra +/* B4C954 80241EE4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80241EE8.s b/asm/nonmatchings/world/area_jan/jan_05/func_80241EE8.s new file mode 100644 index 0000000000..8e3d46ea97 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80241EE8.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EE8 +/* B4C958 80241EE8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B4C95C 80241EEC AFB20038 */ sw $s2, 0x38($sp) +/* B4C960 80241EF0 0080902D */ daddu $s2, $a0, $zero +/* B4C964 80241EF4 AFBF0048 */ sw $ra, 0x48($sp) +/* B4C968 80241EF8 AFB50044 */ sw $s5, 0x44($sp) +/* B4C96C 80241EFC AFB40040 */ sw $s4, 0x40($sp) +/* B4C970 80241F00 AFB3003C */ sw $s3, 0x3c($sp) +/* B4C974 80241F04 AFB10034 */ sw $s1, 0x34($sp) +/* B4C978 80241F08 AFB00030 */ sw $s0, 0x30($sp) +/* B4C97C 80241F0C 8E510148 */ lw $s1, 0x148($s2) +/* B4C980 80241F10 86240008 */ lh $a0, 8($s1) +/* B4C984 80241F14 0C00EABB */ jal get_npc_unsafe +/* B4C988 80241F18 00A0802D */ daddu $s0, $a1, $zero +/* B4C98C 80241F1C 8E43000C */ lw $v1, 0xc($s2) +/* B4C990 80241F20 0240202D */ daddu $a0, $s2, $zero +/* B4C994 80241F24 8C650000 */ lw $a1, ($v1) +/* B4C998 80241F28 0C0B1EAF */ jal get_variable +/* B4C99C 80241F2C 0040A82D */ daddu $s5, $v0, $zero +/* B4C9A0 80241F30 AFA00010 */ sw $zero, 0x10($sp) +/* B4C9A4 80241F34 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4C9A8 80241F38 8C630030 */ lw $v1, 0x30($v1) +/* B4C9AC 80241F3C AFA30014 */ sw $v1, 0x14($sp) +/* B4C9B0 80241F40 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4C9B4 80241F44 8C63001C */ lw $v1, 0x1c($v1) +/* B4C9B8 80241F48 AFA30018 */ sw $v1, 0x18($sp) +/* B4C9BC 80241F4C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4C9C0 80241F50 8C630024 */ lw $v1, 0x24($v1) +/* B4C9C4 80241F54 AFA3001C */ sw $v1, 0x1c($sp) +/* B4C9C8 80241F58 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4C9CC 80241F5C 8C630028 */ lw $v1, 0x28($v1) +/* B4C9D0 80241F60 27B40010 */ addiu $s4, $sp, 0x10 +/* B4C9D4 80241F64 AFA30020 */ sw $v1, 0x20($sp) +/* B4C9D8 80241F68 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4C9DC 80241F6C 3C014282 */ lui $at, 0x4282 +/* B4C9E0 80241F70 44810000 */ mtc1 $at, $f0 +/* B4C9E4 80241F74 8C63002C */ lw $v1, 0x2c($v1) +/* B4C9E8 80241F78 0040982D */ daddu $s3, $v0, $zero +/* B4C9EC 80241F7C E7A00028 */ swc1 $f0, 0x28($sp) +/* B4C9F0 80241F80 A7A0002C */ sh $zero, 0x2c($sp) +/* B4C9F4 80241F84 16000005 */ bnez $s0, .L80241F9C +/* B4C9F8 80241F88 AFA30024 */ sw $v1, 0x24($sp) +/* B4C9FC 80241F8C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CA00 80241F90 30420004 */ andi $v0, $v0, 4 +/* B4CA04 80241F94 10400020 */ beqz $v0, .L80242018 +/* B4CA08 80241F98 00000000 */ nop +.L80241F9C: +/* B4CA0C 80241F9C 2404F7FF */ addiu $a0, $zero, -0x801 +/* B4CA10 80241FA0 AE400070 */ sw $zero, 0x70($s2) +/* B4CA14 80241FA4 A6A0008E */ sh $zero, 0x8e($s5) +/* B4CA18 80241FA8 8E2200CC */ lw $v0, 0xcc($s1) +/* B4CA1C 80241FAC 8EA30000 */ lw $v1, ($s5) +/* B4CA20 80241FB0 8C420000 */ lw $v0, ($v0) +/* B4CA24 80241FB4 00641824 */ and $v1, $v1, $a0 +/* B4CA28 80241FB8 AEA30000 */ sw $v1, ($s5) +/* B4CA2C 80241FBC AEA20028 */ sw $v0, 0x28($s5) +/* B4CA30 80241FC0 8E2200D0 */ lw $v0, 0xd0($s1) +/* B4CA34 80241FC4 8C420034 */ lw $v0, 0x34($v0) +/* B4CA38 80241FC8 54400005 */ bnel $v0, $zero, .L80241FE0 +/* B4CA3C 80241FCC 2402FDFF */ addiu $v0, $zero, -0x201 +/* B4CA40 80241FD0 34620200 */ ori $v0, $v1, 0x200 +/* B4CA44 80241FD4 2403FFF7 */ addiu $v1, $zero, -9 +/* B4CA48 80241FD8 080907FA */ j .L80241FE8 +/* B4CA4C 80241FDC 00431024 */ and $v0, $v0, $v1 +.L80241FE0: +/* B4CA50 80241FE0 00621024 */ and $v0, $v1, $v0 +/* B4CA54 80241FE4 34420008 */ ori $v0, $v0, 8 +.L80241FE8: +/* B4CA58 80241FE8 AEA20000 */ sw $v0, ($s5) +/* B4CA5C 80241FEC 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CA60 80241FF0 30420004 */ andi $v0, $v0, 4 +/* B4CA64 80241FF4 10400007 */ beqz $v0, .L80242014 +/* B4CA68 80241FF8 24020063 */ addiu $v0, $zero, 0x63 +/* B4CA6C 80241FFC AE420070 */ sw $v0, 0x70($s2) +/* B4CA70 80242000 AE400074 */ sw $zero, 0x74($s2) +/* B4CA74 80242004 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CA78 80242008 2403FFFB */ addiu $v1, $zero, -5 +/* B4CA7C 8024200C 00431024 */ and $v0, $v0, $v1 +/* B4CA80 80242010 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242014: +/* B4CA84 80242014 AE20006C */ sw $zero, 0x6c($s1) +.L80242018: +/* B4CA88 80242018 8E420070 */ lw $v0, 0x70($s2) +/* B4CA8C 8024201C 2842001E */ slti $v0, $v0, 0x1e +/* B4CA90 80242020 10400009 */ beqz $v0, .L80242048 +/* B4CA94 80242024 00000000 */ nop +/* B4CA98 80242028 8E22006C */ lw $v0, 0x6c($s1) +/* B4CA9C 8024202C 14400006 */ bnez $v0, .L80242048 +/* B4CAA0 80242030 00000000 */ nop +/* B4CAA4 80242034 0C0906B5 */ jal func_80241AD4 +/* B4CAA8 80242038 0240202D */ daddu $a0, $s2, $zero +/* B4CAAC 8024203C 10400002 */ beqz $v0, .L80242048 +/* B4CAB0 80242040 2402001E */ addiu $v0, $zero, 0x1e +/* B4CAB4 80242044 AE420070 */ sw $v0, 0x70($s2) +.L80242048: +/* B4CAB8 80242048 8E430070 */ lw $v1, 0x70($s2) +/* B4CABC 8024204C 2C620064 */ sltiu $v0, $v1, 0x64 +/* B4CAC0 80242050 10400048 */ beqz $v0, .L80242174 +/* B4CAC4 80242054 00031080 */ sll $v0, $v1, 2 +/* B4CAC8 80242058 3C018024 */ lui $at, 0x8024 +/* B4CACC 8024205C 00220821 */ addu $at, $at, $v0 +/* B4CAD0 80242060 8C227A98 */ lw $v0, 0x7a98($at) +/* B4CAD4 80242064 00400008 */ jr $v0 +/* B4CAD8 80242068 00000000 */ nop +/* B4CADC 8024206C 0240202D */ daddu $a0, $s2, $zero +/* B4CAE0 80242070 0260282D */ daddu $a1, $s3, $zero +/* B4CAE4 80242074 0C012568 */ jal func_800495A0 +/* B4CAE8 80242078 0280302D */ daddu $a2, $s4, $zero +/* B4CAEC 8024207C 0240202D */ daddu $a0, $s2, $zero +/* B4CAF0 80242080 0260282D */ daddu $a1, $s3, $zero +/* B4CAF4 80242084 0C0125AE */ jal func_800496B8 +/* B4CAF8 80242088 0280302D */ daddu $a2, $s4, $zero +/* B4CAFC 8024208C 0809085D */ j .L80242174 +/* B4CB00 80242090 00000000 */ nop +/* B4CB04 80242094 0240202D */ daddu $a0, $s2, $zero +/* B4CB08 80242098 0260282D */ daddu $a1, $s3, $zero +/* B4CB0C 8024209C 0C0126D1 */ jal func_80049B44 +/* B4CB10 802420A0 0280302D */ daddu $a2, $s4, $zero +/* B4CB14 802420A4 0240202D */ daddu $a0, $s2, $zero +/* B4CB18 802420A8 0260282D */ daddu $a1, $s3, $zero +/* B4CB1C 802420AC 0C012701 */ jal func_80049C04 +/* B4CB20 802420B0 0280302D */ daddu $a2, $s4, $zero +/* B4CB24 802420B4 0809085D */ j .L80242174 +/* B4CB28 802420B8 00000000 */ nop +/* B4CB2C 802420BC 0240202D */ daddu $a0, $s2, $zero +/* B4CB30 802420C0 0260282D */ daddu $a1, $s3, $zero +/* B4CB34 802420C4 0C01278F */ jal func_80049E3C +/* B4CB38 802420C8 0280302D */ daddu $a2, $s4, $zero +/* B4CB3C 802420CC 0240202D */ daddu $a0, $s2, $zero +/* B4CB40 802420D0 0260282D */ daddu $a1, $s3, $zero +/* B4CB44 802420D4 0C0127B3 */ jal func_80049ECC +/* B4CB48 802420D8 0280302D */ daddu $a2, $s4, $zero +/* B4CB4C 802420DC 0809085D */ j .L80242174 +/* B4CB50 802420E0 00000000 */ nop +/* B4CB54 802420E4 0240202D */ daddu $a0, $s2, $zero +/* B4CB58 802420E8 0260282D */ daddu $a1, $s3, $zero +/* B4CB5C 802420EC 0C0127DF */ jal func_80049F7C +/* B4CB60 802420F0 0280302D */ daddu $a2, $s4, $zero +/* B4CB64 802420F4 0240202D */ daddu $a0, $s2, $zero +/* B4CB68 802420F8 0260282D */ daddu $a1, $s3, $zero +/* B4CB6C 802420FC 0C012849 */ jal func_8004A124 +/* B4CB70 80242100 0280302D */ daddu $a2, $s4, $zero +/* B4CB74 80242104 0809085D */ j .L80242174 +/* B4CB78 80242108 00000000 */ nop +/* B4CB7C 8024210C 0240202D */ daddu $a0, $s2, $zero +/* B4CB80 80242110 0260282D */ daddu $a1, $s3, $zero +/* B4CB84 80242114 0C0128FA */ jal func_8004A3E8 +/* B4CB88 80242118 0280302D */ daddu $a2, $s4, $zero +/* B4CB8C 8024211C 0809085D */ j .L80242174 +/* B4CB90 80242120 00000000 */ nop +/* B4CB94 80242124 0C090633 */ jal func_802418CC +/* B4CB98 80242128 0240202D */ daddu $a0, $s2, $zero +/* B4CB9C 8024212C 0C09064E */ jal func_80241938 +/* B4CBA0 80242130 0240202D */ daddu $a0, $s2, $zero +/* B4CBA4 80242134 8E430070 */ lw $v1, 0x70($s2) +/* B4CBA8 80242138 24020020 */ addiu $v0, $zero, 0x20 +/* B4CBAC 8024213C 1462000D */ bne $v1, $v0, .L80242174 +/* B4CBB0 80242140 00000000 */ nop +/* B4CBB4 80242144 0C09066A */ jal func_802419A8 +/* B4CBB8 80242148 0240202D */ daddu $a0, $s2, $zero +/* B4CBBC 8024214C 8E430070 */ lw $v1, 0x70($s2) +/* B4CBC0 80242150 24020021 */ addiu $v0, $zero, 0x21 +/* B4CBC4 80242154 14620007 */ bne $v1, $v0, .L80242174 +/* B4CBC8 80242158 00000000 */ nop +/* B4CBCC 8024215C 0C0906A0 */ jal func_80241A80 +/* B4CBD0 80242160 0240202D */ daddu $a0, $s2, $zero +/* B4CBD4 80242164 0809085D */ j .L80242174 +/* B4CBD8 80242168 00000000 */ nop +/* B4CBDC 8024216C 0C0129CF */ jal func_8004A73C +/* B4CBE0 80242170 0240202D */ daddu $a0, $s2, $zero +.L80242174: +/* B4CBE4 80242174 8FBF0048 */ lw $ra, 0x48($sp) +/* B4CBE8 80242178 8FB50044 */ lw $s5, 0x44($sp) +/* B4CBEC 8024217C 8FB40040 */ lw $s4, 0x40($sp) +/* B4CBF0 80242180 8FB3003C */ lw $s3, 0x3c($sp) +/* B4CBF4 80242184 8FB20038 */ lw $s2, 0x38($sp) +/* B4CBF8 80242188 8FB10034 */ lw $s1, 0x34($sp) +/* B4CBFC 8024218C 8FB00030 */ lw $s0, 0x30($sp) +/* B4CC00 80242190 0000102D */ daddu $v0, $zero, $zero +/* B4CC04 80242194 03E00008 */ jr $ra +/* B4CC08 80242198 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_8024219C.s b/asm/nonmatchings/world/area_jan/jan_05/func_8024219C.s new file mode 100644 index 0000000000..72c056038e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_8024219C.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024219C +/* B4CC0C 8024219C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B4CC10 802421A0 AFB20038 */ sw $s2, 0x38($sp) +/* B4CC14 802421A4 0080902D */ daddu $s2, $a0, $zero +/* B4CC18 802421A8 AFBF0048 */ sw $ra, 0x48($sp) +/* B4CC1C 802421AC AFB50044 */ sw $s5, 0x44($sp) +/* B4CC20 802421B0 AFB40040 */ sw $s4, 0x40($sp) +/* B4CC24 802421B4 AFB3003C */ sw $s3, 0x3c($sp) +/* B4CC28 802421B8 AFB10034 */ sw $s1, 0x34($sp) +/* B4CC2C 802421BC AFB00030 */ sw $s0, 0x30($sp) +/* B4CC30 802421C0 8E510148 */ lw $s1, 0x148($s2) +/* B4CC34 802421C4 86240008 */ lh $a0, 8($s1) +/* B4CC38 802421C8 0C00EABB */ jal get_npc_unsafe +/* B4CC3C 802421CC 00A0802D */ daddu $s0, $a1, $zero +/* B4CC40 802421D0 8E43000C */ lw $v1, 0xc($s2) +/* B4CC44 802421D4 0240202D */ daddu $a0, $s2, $zero +/* B4CC48 802421D8 8C650000 */ lw $a1, ($v1) +/* B4CC4C 802421DC 0C0B1EAF */ jal get_variable +/* B4CC50 802421E0 0040A82D */ daddu $s5, $v0, $zero +/* B4CC54 802421E4 AFA00010 */ sw $zero, 0x10($sp) +/* B4CC58 802421E8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4CC5C 802421EC 8C630030 */ lw $v1, 0x30($v1) +/* B4CC60 802421F0 AFA30014 */ sw $v1, 0x14($sp) +/* B4CC64 802421F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4CC68 802421F8 8C63001C */ lw $v1, 0x1c($v1) +/* B4CC6C 802421FC AFA30018 */ sw $v1, 0x18($sp) +/* B4CC70 80242200 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4CC74 80242204 8C630024 */ lw $v1, 0x24($v1) +/* B4CC78 80242208 AFA3001C */ sw $v1, 0x1c($sp) +/* B4CC7C 8024220C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4CC80 80242210 8C630028 */ lw $v1, 0x28($v1) +/* B4CC84 80242214 27B40010 */ addiu $s4, $sp, 0x10 +/* B4CC88 80242218 AFA30020 */ sw $v1, 0x20($sp) +/* B4CC8C 8024221C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B4CC90 80242220 3C014282 */ lui $at, 0x4282 +/* B4CC94 80242224 44810000 */ mtc1 $at, $f0 +/* B4CC98 80242228 8C63002C */ lw $v1, 0x2c($v1) +/* B4CC9C 8024222C 0040982D */ daddu $s3, $v0, $zero +/* B4CCA0 80242230 E7A00028 */ swc1 $f0, 0x28($sp) +/* B4CCA4 80242234 A7A0002C */ sh $zero, 0x2c($sp) +/* B4CCA8 80242238 16000005 */ bnez $s0, .L80242250 +/* B4CCAC 8024223C AFA30024 */ sw $v1, 0x24($sp) +/* B4CCB0 80242240 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CCB4 80242244 30420004 */ andi $v0, $v0, 4 +/* B4CCB8 80242248 10400020 */ beqz $v0, .L802422CC +/* B4CCBC 8024224C 00000000 */ nop +.L80242250: +/* B4CCC0 80242250 2404F7FF */ addiu $a0, $zero, -0x801 +/* B4CCC4 80242254 AE400070 */ sw $zero, 0x70($s2) +/* B4CCC8 80242258 A6A0008E */ sh $zero, 0x8e($s5) +/* B4CCCC 8024225C 8E2200CC */ lw $v0, 0xcc($s1) +/* B4CCD0 80242260 8EA30000 */ lw $v1, ($s5) +/* B4CCD4 80242264 8C420000 */ lw $v0, ($v0) +/* B4CCD8 80242268 00641824 */ and $v1, $v1, $a0 +/* B4CCDC 8024226C AEA30000 */ sw $v1, ($s5) +/* B4CCE0 80242270 AEA20028 */ sw $v0, 0x28($s5) +/* B4CCE4 80242274 8E2200D0 */ lw $v0, 0xd0($s1) +/* B4CCE8 80242278 8C420034 */ lw $v0, 0x34($v0) +/* B4CCEC 8024227C 54400005 */ bnel $v0, $zero, .L80242294 +/* B4CCF0 80242280 2402FDFF */ addiu $v0, $zero, -0x201 +/* B4CCF4 80242284 34620200 */ ori $v0, $v1, 0x200 +/* B4CCF8 80242288 2403FFF7 */ addiu $v1, $zero, -9 +/* B4CCFC 8024228C 080908A7 */ j .L8024229C +/* B4CD00 80242290 00431024 */ and $v0, $v0, $v1 +.L80242294: +/* B4CD04 80242294 00621024 */ and $v0, $v1, $v0 +/* B4CD08 80242298 34420008 */ ori $v0, $v0, 8 +.L8024229C: +/* B4CD0C 8024229C AEA20000 */ sw $v0, ($s5) +/* B4CD10 802422A0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CD14 802422A4 30420004 */ andi $v0, $v0, 4 +/* B4CD18 802422A8 10400007 */ beqz $v0, .L802422C8 +/* B4CD1C 802422AC 24020063 */ addiu $v0, $zero, 0x63 +/* B4CD20 802422B0 AE420070 */ sw $v0, 0x70($s2) +/* B4CD24 802422B4 AE400074 */ sw $zero, 0x74($s2) +/* B4CD28 802422B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B4CD2C 802422BC 2403FFFB */ addiu $v1, $zero, -5 +/* B4CD30 802422C0 00431024 */ and $v0, $v0, $v1 +/* B4CD34 802422C4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802422C8: +/* B4CD38 802422C8 AE20006C */ sw $zero, 0x6c($s1) +.L802422CC: +/* B4CD3C 802422CC 8E420070 */ lw $v0, 0x70($s2) +/* B4CD40 802422D0 2842001E */ slti $v0, $v0, 0x1e +/* B4CD44 802422D4 10400009 */ beqz $v0, .L802422FC +/* B4CD48 802422D8 00000000 */ nop +/* B4CD4C 802422DC 8E22006C */ lw $v0, 0x6c($s1) +/* B4CD50 802422E0 14400006 */ bnez $v0, .L802422FC +/* B4CD54 802422E4 00000000 */ nop +/* B4CD58 802422E8 0C0906B5 */ jal func_80241AD4 +/* B4CD5C 802422EC 0240202D */ daddu $a0, $s2, $zero +/* B4CD60 802422F0 10400002 */ beqz $v0, .L802422FC +/* B4CD64 802422F4 2402001E */ addiu $v0, $zero, 0x1e +/* B4CD68 802422F8 AE420070 */ sw $v0, 0x70($s2) +.L802422FC: +/* B4CD6C 802422FC 8E430070 */ lw $v1, 0x70($s2) +/* B4CD70 80242300 2C620064 */ sltiu $v0, $v1, 0x64 +/* B4CD74 80242304 10400048 */ beqz $v0, .L80242428 +/* B4CD78 80242308 00031080 */ sll $v0, $v1, 2 +/* B4CD7C 8024230C 3C018024 */ lui $at, 0x8024 +/* B4CD80 80242310 00220821 */ addu $at, $at, $v0 +/* B4CD84 80242314 8C227C28 */ lw $v0, 0x7c28($at) +/* B4CD88 80242318 00400008 */ jr $v0 +/* B4CD8C 8024231C 00000000 */ nop +/* B4CD90 80242320 0240202D */ daddu $a0, $s2, $zero +/* B4CD94 80242324 0260282D */ daddu $a1, $s3, $zero +/* B4CD98 80242328 0C012568 */ jal func_800495A0 +/* B4CD9C 8024232C 0280302D */ daddu $a2, $s4, $zero +/* B4CDA0 80242330 0240202D */ daddu $a0, $s2, $zero +/* B4CDA4 80242334 0260282D */ daddu $a1, $s3, $zero +/* B4CDA8 80242338 0C0125AE */ jal func_800496B8 +/* B4CDAC 8024233C 0280302D */ daddu $a2, $s4, $zero +/* B4CDB0 80242340 0809090A */ j .L80242428 +/* B4CDB4 80242344 00000000 */ nop +/* B4CDB8 80242348 0240202D */ daddu $a0, $s2, $zero +/* B4CDBC 8024234C 0260282D */ daddu $a1, $s3, $zero +/* B4CDC0 80242350 0C0905AE */ jal func_802416B8 +/* B4CDC4 80242354 0280302D */ daddu $a2, $s4, $zero +/* B4CDC8 80242358 0240202D */ daddu $a0, $s2, $zero +/* B4CDCC 8024235C 0260282D */ daddu $a1, $s3, $zero +/* B4CDD0 80242360 0C0905C2 */ jal func_80241708 +/* B4CDD4 80242364 0280302D */ daddu $a2, $s4, $zero +/* B4CDD8 80242368 0809090A */ j .L80242428 +/* B4CDDC 8024236C 00000000 */ nop +/* B4CDE0 80242370 0240202D */ daddu $a0, $s2, $zero +/* B4CDE4 80242374 0260282D */ daddu $a1, $s3, $zero +/* B4CDE8 80242378 0C01278F */ jal func_80049E3C +/* B4CDEC 8024237C 0280302D */ daddu $a2, $s4, $zero +/* B4CDF0 80242380 0240202D */ daddu $a0, $s2, $zero +/* B4CDF4 80242384 0260282D */ daddu $a1, $s3, $zero +/* B4CDF8 80242388 0C0127B3 */ jal func_80049ECC +/* B4CDFC 8024238C 0280302D */ daddu $a2, $s4, $zero +/* B4CE00 80242390 0809090A */ j .L80242428 +/* B4CE04 80242394 00000000 */ nop +/* B4CE08 80242398 0240202D */ daddu $a0, $s2, $zero +/* B4CE0C 8024239C 0260282D */ daddu $a1, $s3, $zero +/* B4CE10 802423A0 0C0127DF */ jal func_80049F7C +/* B4CE14 802423A4 0280302D */ daddu $a2, $s4, $zero +/* B4CE18 802423A8 0240202D */ daddu $a0, $s2, $zero +/* B4CE1C 802423AC 0260282D */ daddu $a1, $s3, $zero +/* B4CE20 802423B0 0C012849 */ jal func_8004A124 +/* B4CE24 802423B4 0280302D */ daddu $a2, $s4, $zero +/* B4CE28 802423B8 0809090A */ j .L80242428 +/* B4CE2C 802423BC 00000000 */ nop +/* B4CE30 802423C0 0240202D */ daddu $a0, $s2, $zero +/* B4CE34 802423C4 0260282D */ daddu $a1, $s3, $zero +/* B4CE38 802423C8 0C0128FA */ jal func_8004A3E8 +/* B4CE3C 802423CC 0280302D */ daddu $a2, $s4, $zero +/* B4CE40 802423D0 0809090A */ j .L80242428 +/* B4CE44 802423D4 00000000 */ nop +/* B4CE48 802423D8 0C090633 */ jal func_802418CC +/* B4CE4C 802423DC 0240202D */ daddu $a0, $s2, $zero +/* B4CE50 802423E0 0C09064E */ jal func_80241938 +/* B4CE54 802423E4 0240202D */ daddu $a0, $s2, $zero +/* B4CE58 802423E8 8E430070 */ lw $v1, 0x70($s2) +/* B4CE5C 802423EC 24020020 */ addiu $v0, $zero, 0x20 +/* B4CE60 802423F0 1462000D */ bne $v1, $v0, .L80242428 +/* B4CE64 802423F4 00000000 */ nop +/* B4CE68 802423F8 0C09066A */ jal func_802419A8 +/* B4CE6C 802423FC 0240202D */ daddu $a0, $s2, $zero +/* B4CE70 80242400 8E430070 */ lw $v1, 0x70($s2) +/* B4CE74 80242404 24020021 */ addiu $v0, $zero, 0x21 +/* B4CE78 80242408 14620007 */ bne $v1, $v0, .L80242428 +/* B4CE7C 8024240C 00000000 */ nop +/* B4CE80 80242410 0C0906A0 */ jal func_80241A80 +/* B4CE84 80242414 0240202D */ daddu $a0, $s2, $zero +/* B4CE88 80242418 0809090A */ j .L80242428 +/* B4CE8C 8024241C 00000000 */ nop +/* B4CE90 80242420 0C0129CF */ jal func_8004A73C +/* B4CE94 80242424 0240202D */ daddu $a0, $s2, $zero +.L80242428: +/* B4CE98 80242428 8FBF0048 */ lw $ra, 0x48($sp) +/* B4CE9C 8024242C 8FB50044 */ lw $s5, 0x44($sp) +/* B4CEA0 80242430 8FB40040 */ lw $s4, 0x40($sp) +/* B4CEA4 80242434 8FB3003C */ lw $s3, 0x3c($sp) +/* B4CEA8 80242438 8FB20038 */ lw $s2, 0x38($sp) +/* B4CEAC 8024243C 8FB10034 */ lw $s1, 0x34($sp) +/* B4CEB0 80242440 8FB00030 */ lw $s0, 0x30($sp) +/* B4CEB4 80242444 0000102D */ daddu $v0, $zero, $zero +/* B4CEB8 80242448 03E00008 */ jr $ra +/* B4CEBC 8024244C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_80242450.s b/asm/nonmatchings/world/area_jan/jan_05/func_80242450.s new file mode 100644 index 0000000000..d8b927492a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_80242450.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242450 +/* B4CEC0 80242450 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B4CEC4 80242454 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B4CEC8 80242458 4485A000 */ mtc1 $a1, $f20 +/* B4CECC 8024245C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B4CED0 80242460 4486B000 */ mtc1 $a2, $f22 +/* B4CED4 80242464 AFB00010 */ sw $s0, 0x10($sp) +/* B4CED8 80242468 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B4CEDC 8024246C 4487C000 */ mtc1 $a3, $f24 +/* B4CEE0 80242470 AFBF0014 */ sw $ra, 0x14($sp) +/* B4CEE4 80242474 0C019D28 */ jal guMtxIdentF +/* B4CEE8 80242478 0080802D */ daddu $s0, $a0, $zero +/* B4CEEC 8024247C 4616A582 */ mul.s $f22, $f20, $f22 +/* B4CEF0 80242480 00000000 */ nop +/* B4CEF4 80242484 4618A502 */ mul.s $f20, $f20, $f24 +/* B4CEF8 80242488 00000000 */ nop +/* B4CEFC 8024248C 3C013F80 */ lui $at, 0x3f80 +/* B4CF00 80242490 44810000 */ mtc1 $at, $f0 +/* B4CF04 80242494 00000000 */ nop +/* B4CF08 80242498 E6000014 */ swc1 $f0, 0x14($s0) +/* B4CF0C 8024249C E6160010 */ swc1 $f22, 0x10($s0) +/* B4CF10 802424A0 E6140018 */ swc1 $f20, 0x18($s0) +/* B4CF14 802424A4 8FBF0014 */ lw $ra, 0x14($sp) +/* B4CF18 802424A8 8FB00010 */ lw $s0, 0x10($sp) +/* B4CF1C 802424AC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B4CF20 802424B0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B4CF24 802424B4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B4CF28 802424B8 03E00008 */ jr $ra +/* B4CF2C 802424BC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_802424C0.s b/asm/nonmatchings/world/area_jan/jan_05/func_802424C0.s new file mode 100644 index 0000000000..c9e60e66db --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_802424C0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424C0 +/* B4CF30 802424C0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B4CF34 802424C4 AFB10054 */ sw $s1, 0x54($sp) +/* B4CF38 802424C8 0080882D */ daddu $s1, $a0, $zero +/* B4CF3C 802424CC AFBF005C */ sw $ra, 0x5c($sp) +/* B4CF40 802424D0 AFB20058 */ sw $s2, 0x58($sp) +/* B4CF44 802424D4 AFB00050 */ sw $s0, 0x50($sp) +/* B4CF48 802424D8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B4CF4C 802424DC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B4CF50 802424E0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B4CF54 802424E4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B4CF58 802424E8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B4CF5C 802424EC 8E30000C */ lw $s0, 0xc($s1) +/* B4CF60 802424F0 8E050000 */ lw $a1, ($s0) +/* B4CF64 802424F4 0C0B1EAF */ jal get_variable +/* B4CF68 802424F8 26100004 */ addiu $s0, $s0, 4 +/* B4CF6C 802424FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B4CF70 80242500 0040202D */ daddu $a0, $v0, $zero +/* B4CF74 80242504 8E050000 */ lw $a1, ($s0) +/* B4CF78 80242508 26100004 */ addiu $s0, $s0, 4 +/* B4CF7C 8024250C 0220202D */ daddu $a0, $s1, $zero +/* B4CF80 80242510 0C0B210B */ jal get_float_variable +/* B4CF84 80242514 0040902D */ daddu $s2, $v0, $zero +/* B4CF88 80242518 8E050000 */ lw $a1, ($s0) +/* B4CF8C 8024251C 26100004 */ addiu $s0, $s0, 4 +/* B4CF90 80242520 0220202D */ daddu $a0, $s1, $zero +/* B4CF94 80242524 0C0B210B */ jal get_float_variable +/* B4CF98 80242528 46000706 */ mov.s $f28, $f0 +/* B4CF9C 8024252C 8E050000 */ lw $a1, ($s0) +/* B4CFA0 80242530 26100004 */ addiu $s0, $s0, 4 +/* B4CFA4 80242534 0220202D */ daddu $a0, $s1, $zero +/* B4CFA8 80242538 0C0B210B */ jal get_float_variable +/* B4CFAC 8024253C 46000686 */ mov.s $f26, $f0 +/* B4CFB0 80242540 0220202D */ daddu $a0, $s1, $zero +/* B4CFB4 80242544 8E050000 */ lw $a1, ($s0) +/* B4CFB8 80242548 0C0B210B */ jal get_float_variable +/* B4CFBC 8024254C 46000586 */ mov.s $f22, $f0 +/* B4CFC0 80242550 0240202D */ daddu $a0, $s2, $zero +/* B4CFC4 80242554 0C046B4C */ jal get_model_from_list_index +/* B4CFC8 80242558 46000606 */ mov.s $f24, $f0 +/* B4CFCC 8024255C 0040882D */ daddu $s1, $v0, $zero +/* B4CFD0 80242560 96220000 */ lhu $v0, ($s1) +/* B4CFD4 80242564 30420400 */ andi $v0, $v0, 0x400 +/* B4CFD8 80242568 1440001E */ bnez $v0, .L802425E4 +/* B4CFDC 8024256C 26300058 */ addiu $s0, $s1, 0x58 +/* B4CFE0 80242570 4480A000 */ mtc1 $zero, $f20 +/* B4CFE4 80242574 4406B000 */ mfc1 $a2, $f22 +/* B4CFE8 80242578 4405A000 */ mfc1 $a1, $f20 +/* B4CFEC 8024257C 4407A000 */ mfc1 $a3, $f20 +/* B4CFF0 80242580 0C019E40 */ jal guTranslateF +/* B4CFF4 80242584 0200202D */ daddu $a0, $s0, $zero +/* B4CFF8 80242588 4405E000 */ mfc1 $a1, $f28 +/* B4CFFC 8024258C 4406D000 */ mfc1 $a2, $f26 +/* B4D000 80242590 4407C000 */ mfc1 $a3, $f24 +/* B4D004 80242594 0C090914 */ jal func_80242450 +/* B4D008 80242598 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D00C 8024259C 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D010 802425A0 0200282D */ daddu $a1, $s0, $zero +/* B4D014 802425A4 0C019D80 */ jal guMtxCatF +/* B4D018 802425A8 0200302D */ daddu $a2, $s0, $zero +/* B4D01C 802425AC 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D020 802425B0 4600B587 */ neg.s $f22, $f22 +/* B4D024 802425B4 4405A000 */ mfc1 $a1, $f20 +/* B4D028 802425B8 4406B000 */ mfc1 $a2, $f22 +/* B4D02C 802425BC 0C019E40 */ jal guTranslateF +/* B4D030 802425C0 00A0382D */ daddu $a3, $a1, $zero +/* B4D034 802425C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D038 802425C8 0200282D */ daddu $a1, $s0, $zero +/* B4D03C 802425CC 0C019D80 */ jal guMtxCatF +/* B4D040 802425D0 00A0302D */ daddu $a2, $a1, $zero +/* B4D044 802425D4 96220000 */ lhu $v0, ($s1) +/* B4D048 802425D8 34421400 */ ori $v0, $v0, 0x1400 +/* B4D04C 802425DC 08090997 */ j .L8024265C +/* B4D050 802425E0 A6220000 */ sh $v0, ($s1) +.L802425E4: +/* B4D054 802425E4 4480A000 */ mtc1 $zero, $f20 +/* B4D058 802425E8 4406B000 */ mfc1 $a2, $f22 +/* B4D05C 802425EC 4405A000 */ mfc1 $a1, $f20 +/* B4D060 802425F0 4407A000 */ mfc1 $a3, $f20 +/* B4D064 802425F4 0C019E40 */ jal guTranslateF +/* B4D068 802425F8 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D06C 802425FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D070 80242600 26300058 */ addiu $s0, $s1, 0x58 +/* B4D074 80242604 0200282D */ daddu $a1, $s0, $zero +/* B4D078 80242608 0C019D80 */ jal guMtxCatF +/* B4D07C 8024260C 0200302D */ daddu $a2, $s0, $zero +/* B4D080 80242610 4405E000 */ mfc1 $a1, $f28 +/* B4D084 80242614 4406D000 */ mfc1 $a2, $f26 +/* B4D088 80242618 4407C000 */ mfc1 $a3, $f24 +/* B4D08C 8024261C 0C090914 */ jal func_80242450 +/* B4D090 80242620 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D094 80242624 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D098 80242628 0200282D */ daddu $a1, $s0, $zero +/* B4D09C 8024262C 0C019D80 */ jal guMtxCatF +/* B4D0A0 80242630 0200302D */ daddu $a2, $s0, $zero +/* B4D0A4 80242634 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D0A8 80242638 4600B587 */ neg.s $f22, $f22 +/* B4D0AC 8024263C 4405A000 */ mfc1 $a1, $f20 +/* B4D0B0 80242640 4406B000 */ mfc1 $a2, $f22 +/* B4D0B4 80242644 0C019E40 */ jal guTranslateF +/* B4D0B8 80242648 00A0382D */ daddu $a3, $a1, $zero +/* B4D0BC 8024264C 27A40010 */ addiu $a0, $sp, 0x10 +/* B4D0C0 80242650 0200282D */ daddu $a1, $s0, $zero +/* B4D0C4 80242654 0C019D80 */ jal guMtxCatF +/* B4D0C8 80242658 00A0302D */ daddu $a2, $a1, $zero +.L8024265C: +/* B4D0CC 8024265C 8FBF005C */ lw $ra, 0x5c($sp) +/* B4D0D0 80242660 8FB20058 */ lw $s2, 0x58($sp) +/* B4D0D4 80242664 8FB10054 */ lw $s1, 0x54($sp) +/* B4D0D8 80242668 8FB00050 */ lw $s0, 0x50($sp) +/* B4D0DC 8024266C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B4D0E0 80242670 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B4D0E4 80242674 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B4D0E8 80242678 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B4D0EC 8024267C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B4D0F0 80242680 24020002 */ addiu $v0, $zero, 2 +/* B4D0F4 80242684 03E00008 */ jr $ra +/* B4D0F8 80242688 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_05/func_8024268C_B4AA70.s b/asm/nonmatchings/world/area_jan/jan_05/func_8024268C_B4AA70.s new file mode 100644 index 0000000000..d15cd96c72 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_05/func_8024268C_B4AA70.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024268C_B4D0FC +/* B4D0FC 8024268C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B4D100 80242690 AFB00010 */ sw $s0, 0x10($sp) +/* B4D104 80242694 0080802D */ daddu $s0, $a0, $zero +/* B4D108 80242698 AFBF0014 */ sw $ra, 0x14($sp) +/* B4D10C 8024269C 0C00FB5A */ jal get_enemy_safe +/* B4D110 802426A0 0000202D */ daddu $a0, $zero, $zero +/* B4D114 802426A4 14400003 */ bnez $v0, .L802426B4 +/* B4D118 802426A8 24020001 */ addiu $v0, $zero, 1 +/* B4D11C 802426AC 080909AE */ j .L802426B8 +/* B4D120 802426B0 AE000084 */ sw $zero, 0x84($s0) +.L802426B4: +/* B4D124 802426B4 AE020084 */ sw $v0, 0x84($s0) +.L802426B8: +/* B4D128 802426B8 8FBF0014 */ lw $ra, 0x14($sp) +/* B4D12C 802426BC 8FB00010 */ lw $s0, 0x10($sp) +/* B4D130 802426C0 24020002 */ addiu $v0, $zero, 2 +/* B4D134 802426C4 03E00008 */ jr $ra +/* B4D138 802426C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* B4D13C 802426CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_06/delete_player_actor_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/delete_player_actor_B52830.s new file mode 100644 index 0000000000..2819a7d50d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/delete_player_actor_B52830.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel delete_player_actor_B53598 +/* B53598 80240D68 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B5359C 80240D6C AFB40040 */ sw $s4, 0x40($sp) +/* B535A0 80240D70 0080A02D */ daddu $s4, $a0, $zero +/* B535A4 80240D74 AFBF0044 */ sw $ra, 0x44($sp) +/* B535A8 80240D78 AFB3003C */ sw $s3, 0x3c($sp) +/* B535AC 80240D7C AFB20038 */ sw $s2, 0x38($sp) +/* B535B0 80240D80 AFB10034 */ sw $s1, 0x34($sp) +/* B535B4 80240D84 AFB00030 */ sw $s0, 0x30($sp) +/* B535B8 80240D88 8E920148 */ lw $s2, 0x148($s4) +/* B535BC 80240D8C 00A0882D */ daddu $s1, $a1, $zero +/* B535C0 80240D90 86440008 */ lh $a0, 8($s2) +/* B535C4 80240D94 0C00EABB */ jal get_npc_unsafe +/* B535C8 80240D98 00C0982D */ daddu $s3, $a2, $zero +/* B535CC 80240D9C 8E230014 */ lw $v1, 0x14($s1) +/* B535D0 80240DA0 0460002D */ bltz $v1, .L80240E58 +/* B535D4 80240DA4 0040802D */ daddu $s0, $v0, $zero +/* B535D8 80240DA8 0260202D */ daddu $a0, $s3, $zero +/* B535DC 80240DAC AFA00010 */ sw $zero, 0x10($sp) +/* B535E0 80240DB0 8E260024 */ lw $a2, 0x24($s1) +/* B535E4 80240DB4 8E270028 */ lw $a3, 0x28($s1) +/* B535E8 80240DB8 0C01242D */ jal func_800490B4 +/* B535EC 80240DBC 0240282D */ daddu $a1, $s2, $zero +/* B535F0 80240DC0 10400025 */ beqz $v0, .L80240E58 +/* B535F4 80240DC4 0000202D */ daddu $a0, $zero, $zero +/* B535F8 80240DC8 0200282D */ daddu $a1, $s0, $zero +/* B535FC 80240DCC 0000302D */ daddu $a2, $zero, $zero +/* B53600 80240DD0 860300A8 */ lh $v1, 0xa8($s0) +/* B53604 80240DD4 3C013F80 */ lui $at, 0x3f80 +/* B53608 80240DD8 44810000 */ mtc1 $at, $f0 +/* B5360C 80240DDC 3C014000 */ lui $at, 0x4000 +/* B53610 80240DE0 44811000 */ mtc1 $at, $f2 +/* B53614 80240DE4 3C01C1A0 */ lui $at, 0xc1a0 +/* B53618 80240DE8 44812000 */ mtc1 $at, $f4 +/* B5361C 80240DEC 2402000F */ addiu $v0, $zero, 0xf +/* B53620 80240DF0 AFA2001C */ sw $v0, 0x1c($sp) +/* B53624 80240DF4 44833000 */ mtc1 $v1, $f6 +/* B53628 80240DF8 00000000 */ nop +/* B5362C 80240DFC 468031A0 */ cvt.s.w $f6, $f6 +/* B53630 80240E00 44073000 */ mfc1 $a3, $f6 +/* B53634 80240E04 27A20028 */ addiu $v0, $sp, 0x28 +/* B53638 80240E08 AFA20020 */ sw $v0, 0x20($sp) +/* B5363C 80240E0C E7A00010 */ swc1 $f0, 0x10($sp) +/* B53640 80240E10 E7A20014 */ swc1 $f2, 0x14($sp) +/* B53644 80240E14 0C01BFA4 */ jal fx_emote +/* B53648 80240E18 E7A40018 */ swc1 $f4, 0x18($sp) +/* B5364C 80240E1C 0200202D */ daddu $a0, $s0, $zero +/* B53650 80240E20 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B53654 80240E24 0C012530 */ jal func_800494C0 +/* B53658 80240E28 3C060020 */ lui $a2, 0x20 +/* B5365C 80240E2C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B53660 80240E30 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B53664 80240E34 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B53668 80240E38 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B5366C 80240E3C 8C460028 */ lw $a2, 0x28($v0) +/* B53670 80240E40 0C00A720 */ jal atan2 +/* B53674 80240E44 8C470030 */ lw $a3, 0x30($v0) +/* B53678 80240E48 2402000C */ addiu $v0, $zero, 0xc +/* B5367C 80240E4C E600000C */ swc1 $f0, 0xc($s0) +/* B53680 80240E50 080903BB */ j .L80240EEC +/* B53684 80240E54 AE820070 */ sw $v0, 0x70($s4) +.L80240E58: +/* B53688 80240E58 8602008C */ lh $v0, 0x8c($s0) +/* B5368C 80240E5C 14400023 */ bnez $v0, .L80240EEC +/* B53690 80240E60 00000000 */ nop +/* B53694 80240E64 9602008E */ lhu $v0, 0x8e($s0) +/* B53698 80240E68 2442FFFF */ addiu $v0, $v0, -1 +/* B5369C 80240E6C A602008E */ sh $v0, 0x8e($s0) +/* B536A0 80240E70 00021400 */ sll $v0, $v0, 0x10 +/* B536A4 80240E74 1C40001D */ bgtz $v0, .L80240EEC +/* B536A8 80240E78 00000000 */ nop +/* B536AC 80240E7C 8E820074 */ lw $v0, 0x74($s4) +/* B536B0 80240E80 2442FFFF */ addiu $v0, $v0, -1 +/* B536B4 80240E84 18400018 */ blez $v0, .L80240EE8 +/* B536B8 80240E88 AE820074 */ sw $v0, 0x74($s4) +/* B536BC 80240E8C C600000C */ lwc1 $f0, 0xc($s0) +/* B536C0 80240E90 3C014334 */ lui $at, 0x4334 +/* B536C4 80240E94 44816000 */ mtc1 $at, $f12 +/* B536C8 80240E98 0C00A6C9 */ jal clamp_angle +/* B536CC 80240E9C 460C0300 */ add.s $f12, $f0, $f12 +/* B536D0 80240EA0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B536D4 80240EA4 0C00A67F */ jal rand_int +/* B536D8 80240EA8 E600000C */ swc1 $f0, 0xc($s0) +/* B536DC 80240EAC 3C032E8B */ lui $v1, 0x2e8b +/* B536E0 80240EB0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B536E4 80240EB4 00430018 */ mult $v0, $v1 +/* B536E8 80240EB8 00021FC3 */ sra $v1, $v0, 0x1f +/* B536EC 80240EBC 00004010 */ mfhi $t0 +/* B536F0 80240EC0 00082043 */ sra $a0, $t0, 1 +/* B536F4 80240EC4 00832023 */ subu $a0, $a0, $v1 +/* B536F8 80240EC8 00041840 */ sll $v1, $a0, 1 +/* B536FC 80240ECC 00641821 */ addu $v1, $v1, $a0 +/* B53700 80240ED0 00031880 */ sll $v1, $v1, 2 +/* B53704 80240ED4 00641823 */ subu $v1, $v1, $a0 +/* B53708 80240ED8 00431023 */ subu $v0, $v0, $v1 +/* B5370C 80240EDC 24420005 */ addiu $v0, $v0, 5 +/* B53710 80240EE0 080903BB */ j .L80240EEC +/* B53714 80240EE4 A602008E */ sh $v0, 0x8e($s0) +.L80240EE8: +/* B53718 80240EE8 AE800070 */ sw $zero, 0x70($s4) +.L80240EEC: +/* B5371C 80240EEC 8FBF0044 */ lw $ra, 0x44($sp) +/* B53720 80240EF0 8FB40040 */ lw $s4, 0x40($sp) +/* B53724 80240EF4 8FB3003C */ lw $s3, 0x3c($sp) +/* B53728 80240EF8 8FB20038 */ lw $s2, 0x38($sp) +/* B5372C 80240EFC 8FB10034 */ lw $s1, 0x34($sp) +/* B53730 80240F00 8FB00030 */ lw $s0, 0x30($sp) +/* B53734 80240F04 03E00008 */ jr $ra +/* B53738 80240F08 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240000_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240000_B52830.s new file mode 100644 index 0000000000..8dd4808f3e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240000_B52830.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B52830 +/* B52830 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B52834 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B52838 80240008 0080802D */ daddu $s0, $a0, $zero +/* B5283C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B52840 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B52844 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B52848 80240018 00621821 */ addu $v1, $v1, $v0 +/* B5284C 8024001C 04610004 */ bgez $v1, .L80240030 +/* B52850 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B52854 80240024 3C020002 */ lui $v0, 2 +/* B52858 80240028 08090010 */ j .L80240040 +/* B5285C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B52860 80240030 3C040002 */ lui $a0, 2 +/* B52864 80240034 0083102A */ slt $v0, $a0, $v1 +/* B52868 80240038 10400002 */ beqz $v0, .L80240044 +/* B5286C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B52870 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B52874 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B52878 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B5287C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B52880 80240050 04610004 */ bgez $v1, .L80240064 +/* B52884 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B52888 80240058 3C020002 */ lui $v0, 2 +/* B5288C 8024005C 0809001D */ j .L80240074 +/* B52890 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B52894 80240064 3C040002 */ lui $a0, 2 +/* B52898 80240068 0083102A */ slt $v0, $a0, $v1 +/* B5289C 8024006C 10400002 */ beqz $v0, .L80240078 +/* B528A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B528A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B528A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B528AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B528B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* B528B4 80240084 04610004 */ bgez $v1, .L80240098 +/* B528B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B528BC 8024008C 3C020002 */ lui $v0, 2 +/* B528C0 80240090 0809002A */ j .L802400A8 +/* B528C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B528C8 80240098 3C040002 */ lui $a0, 2 +/* B528CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B528D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* B528D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B528D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B528DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B528E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B528E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B528E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* B528EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B528F0 802400C0 3C020002 */ lui $v0, 2 +/* B528F4 802400C4 08090037 */ j .L802400DC +/* B528F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B528FC 802400CC 3C040002 */ lui $a0, 2 +/* B52900 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B52904 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B52908 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B5290C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B52910 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B52914 802400E4 0C046F07 */ jal set_main_pan_u +/* B52918 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B5291C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B52920 802400F0 0C046F0D */ jal set_main_pan_v +/* B52924 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B52928 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B5292C 802400FC 0C046F13 */ jal set_aux_pan_u +/* B52930 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B52934 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B52938 80240108 0C046F19 */ jal set_aux_pan_v +/* B5293C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B52940 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B52944 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B52948 80240118 0000102D */ daddu $v0, $zero, $zero +/* B5294C 8024011C 03E00008 */ jr $ra +/* B52950 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240124_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240124_B52830.s new file mode 100644 index 0000000000..9149f6ba59 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240124_B52830.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B52954 +/* B52954 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B52958 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B5295C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B52960 80240130 10A00005 */ beqz $a1, .L80240148 +/* B52964 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B52968 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B5296C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B52970 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B52974 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B52978 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B5297C 8024014C 1440000E */ bnez $v0, .L80240188 +/* B52980 80240150 00000000 */ nop +/* B52984 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B52988 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B5298C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B52990 80240160 04610004 */ bgez $v1, .L80240174 +/* B52994 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B52998 80240168 3C020002 */ lui $v0, 2 +/* B5299C 8024016C 08090061 */ j .L80240184 +/* B529A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B529A4 80240174 3C040002 */ lui $a0, 2 +/* B529A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* B529AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* B529B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B529B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B529B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B529BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B529C0 80240190 00000000 */ nop +/* B529C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B529C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B529CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B529D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B529D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B529D8 802401A8 3C020002 */ lui $v0, 2 +/* B529DC 802401AC 08090071 */ j .L802401C4 +/* B529E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B529E4 802401B4 3C040002 */ lui $a0, 2 +/* B529E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B529EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B529F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B529F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B529F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B529FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* B52A00 802401D0 00000000 */ nop +/* B52A04 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B52A08 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B52A0C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B52A10 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B52A14 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B52A18 802401E8 3C020002 */ lui $v0, 2 +/* B52A1C 802401EC 08090081 */ j .L80240204 +/* B52A20 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B52A24 802401F4 3C040002 */ lui $a0, 2 +/* B52A28 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B52A2C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B52A30 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B52A34 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B52A38 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B52A3C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B52A40 80240210 00000000 */ nop +/* B52A44 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B52A48 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B52A4C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B52A50 80240220 04610004 */ bgez $v1, .L80240234 +/* B52A54 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B52A58 80240228 3C020002 */ lui $v0, 2 +/* B52A5C 8024022C 08090091 */ j .L80240244 +/* B52A60 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B52A64 80240234 3C040002 */ lui $a0, 2 +/* B52A68 80240238 0083102A */ slt $v0, $a0, $v1 +/* B52A6C 8024023C 10400002 */ beqz $v0, .L80240248 +/* B52A70 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B52A74 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B52A78 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B52A7C 8024024C 0C046F07 */ jal set_main_pan_u +/* B52A80 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B52A84 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B52A88 80240258 0C046F0D */ jal set_main_pan_v +/* B52A8C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B52A90 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B52A94 80240264 0C046F13 */ jal set_aux_pan_u +/* B52A98 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B52A9C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B52AA0 80240270 0C046F19 */ jal set_aux_pan_v +/* B52AA4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B52AA8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B52AAC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B52AB0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B52AB4 80240284 24420001 */ addiu $v0, $v0, 1 +/* B52AB8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B52ABC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B52AC0 80240290 24630001 */ addiu $v1, $v1, 1 +/* B52AC4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B52AC8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B52ACC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B52AD0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B52AD4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B52AD8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B52ADC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B52AE0 802402B0 14600002 */ bnez $v1, .L802402BC +/* B52AE4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B52AE8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B52AEC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B52AF0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B52AF4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B52AF8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B52AFC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B52B00 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B52B04 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B52B08 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B52B0C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B52B10 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B52B14 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B52B18 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B52B1C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B52B20 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B52B24 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B52B28 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B52B2C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B52B30 80240300 0000102D */ daddu $v0, $zero, $zero +/* B52B34 80240304 03E00008 */ jr $ra +/* B52B38 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* B52B3C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240310_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240310_B52830.s new file mode 100644 index 0000000000..4832f6ec17 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240310_B52830.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_B52B40 +/* B52B40 80240310 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B52B44 80240314 AFB1001C */ sw $s1, 0x1c($sp) +/* B52B48 80240318 0080882D */ daddu $s1, $a0, $zero +/* B52B4C 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* B52B50 80240320 AFB00018 */ sw $s0, 0x18($sp) +/* B52B54 80240324 8E30000C */ lw $s0, 0xc($s1) +/* B52B58 80240328 8E050000 */ lw $a1, ($s0) +/* B52B5C 8024032C 0C0B1EAF */ jal get_variable +/* B52B60 80240330 26100004 */ addiu $s0, $s0, 4 +/* B52B64 80240334 AE220070 */ sw $v0, 0x70($s1) +/* B52B68 80240338 8E050000 */ lw $a1, ($s0) +/* B52B6C 8024033C 26100004 */ addiu $s0, $s0, 4 +/* B52B70 80240340 0C0B1EAF */ jal get_variable +/* B52B74 80240344 0220202D */ daddu $a0, $s1, $zero +/* B52B78 80240348 AE220074 */ sw $v0, 0x74($s1) +/* B52B7C 8024034C 8E050000 */ lw $a1, ($s0) +/* B52B80 80240350 0C0B1EAF */ jal get_variable +/* B52B84 80240354 0220202D */ daddu $a0, $s1, $zero +/* B52B88 80240358 2404009E */ addiu $a0, $zero, 0x9e +/* B52B8C 8024035C 0000282D */ daddu $a1, $zero, $zero +/* B52B90 80240360 C6200070 */ lwc1 $f0, 0x70($s1) +/* B52B94 80240364 46800020 */ cvt.s.w $f0, $f0 +/* B52B98 80240368 C6220074 */ lwc1 $f2, 0x74($s1) +/* B52B9C 8024036C 468010A0 */ cvt.s.w $f2, $f2 +/* B52BA0 80240370 44060000 */ mfc1 $a2, $f0 +/* B52BA4 80240374 44071000 */ mfc1 $a3, $f2 +/* B52BA8 80240378 44820000 */ mtc1 $v0, $f0 +/* B52BAC 8024037C 00000000 */ nop +/* B52BB0 80240380 46800020 */ cvt.s.w $f0, $f0 +/* B52BB4 80240384 AE220078 */ sw $v0, 0x78($s1) +/* B52BB8 80240388 0C05267B */ jal func_801499EC +/* B52BBC 8024038C E7A00010 */ swc1 $f0, 0x10($sp) +/* B52BC0 80240390 8FBF0020 */ lw $ra, 0x20($sp) +/* B52BC4 80240394 8FB1001C */ lw $s1, 0x1c($sp) +/* B52BC8 80240398 8FB00018 */ lw $s0, 0x18($sp) +/* B52BCC 8024039C 24020002 */ addiu $v0, $zero, 2 +/* B52BD0 802403A0 03E00008 */ jr $ra +/* B52BD4 802403A4 27BD0028 */ addiu $sp, $sp, 0x28 +/* B52BD8 802403A8 00000000 */ nop +/* B52BDC 802403AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802403B0.s b/asm/nonmatchings/world/area_jan/jan_06/func_802403B0.s new file mode 100644 index 0000000000..e5aeca7001 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802403B0.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B0 +/* B52BE0 802403B0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B52BE4 802403B4 AFB10034 */ sw $s1, 0x34($sp) +/* B52BE8 802403B8 0080882D */ daddu $s1, $a0, $zero +/* B52BEC 802403BC AFBF0038 */ sw $ra, 0x38($sp) +/* B52BF0 802403C0 AFB00030 */ sw $s0, 0x30($sp) +/* B52BF4 802403C4 10A00016 */ beqz $a1, .L80240420 +/* B52BF8 802403C8 8E30000C */ lw $s0, 0xc($s1) +/* B52BFC 802403CC 8E050000 */ lw $a1, ($s0) +/* B52C00 802403D0 0C0B1EAF */ jal get_variable +/* B52C04 802403D4 26100004 */ addiu $s0, $s0, 4 +/* B52C08 802403D8 8E030000 */ lw $v1, ($s0) +/* B52C0C 802403DC 0040202D */ daddu $a0, $v0, $zero +/* B52C10 802403E0 0C046C04 */ jal get_model_list_index_from_tree_index +/* B52C14 802403E4 AE23007C */ sw $v1, 0x7c($s1) +/* B52C18 802403E8 0C046B4C */ jal get_model_from_list_index +/* B52C1C 802403EC 0040202D */ daddu $a0, $v0, $zero +/* B52C20 802403F0 0040802D */ daddu $s0, $v0, $zero +/* B52C24 802403F4 0000202D */ daddu $a0, $zero, $zero +/* B52C28 802403F8 AE300074 */ sw $s0, 0x74($s1) +/* B52C2C 802403FC 8E050098 */ lw $a1, 0x98($s0) +/* B52C30 80240400 8E0700A0 */ lw $a3, 0xa0($s0) +/* B52C34 80240404 0C044898 */ jal create_shadow_type +/* B52C38 80240408 0000302D */ daddu $a2, $zero, $zero +/* B52C3C 8024040C 0220202D */ daddu $a0, $s1, $zero +/* B52C40 80240410 8E25007C */ lw $a1, 0x7c($s1) +/* B52C44 80240414 0000302D */ daddu $a2, $zero, $zero +/* B52C48 80240418 0C0B2026 */ jal set_variable +/* B52C4C 8024041C AE220078 */ sw $v0, 0x78($s1) +.L80240420: +/* B52C50 80240420 8E25007C */ lw $a1, 0x7c($s1) +/* B52C54 80240424 0C0B1EAF */ jal get_variable +/* B52C58 80240428 0220202D */ daddu $a0, $s1, $zero +/* B52C5C 8024042C 1440002A */ bnez $v0, .L802404D8 +/* B52C60 80240430 00000000 */ nop +/* B52C64 80240434 8E240078 */ lw $a0, 0x78($s1) +/* B52C68 80240438 0C044181 */ jal get_shadow_by_index +/* B52C6C 8024043C 8E300074 */ lw $s0, 0x74($s1) +/* B52C70 80240440 27A40018 */ addiu $a0, $sp, 0x18 +/* B52C74 80240444 27A5001C */ addiu $a1, $sp, 0x1c +/* B52C78 80240448 27A60020 */ addiu $a2, $sp, 0x20 +/* B52C7C 8024044C 27A70024 */ addiu $a3, $sp, 0x24 +/* B52C80 80240450 27A30028 */ addiu $v1, $sp, 0x28 +/* B52C84 80240454 C6000098 */ lwc1 $f0, 0x98($s0) +/* B52C88 80240458 C602009C */ lwc1 $f2, 0x9c($s0) +/* B52C8C 8024045C C60400A0 */ lwc1 $f4, 0xa0($s0) +/* B52C90 80240460 0040802D */ daddu $s0, $v0, $zero +/* B52C94 80240464 E7A00018 */ swc1 $f0, 0x18($sp) +/* B52C98 80240468 E7A2001C */ swc1 $f2, 0x1c($sp) +/* B52C9C 8024046C E7A40020 */ swc1 $f4, 0x20($sp) +/* B52CA0 80240470 AFA30010 */ sw $v1, 0x10($sp) +/* B52CA4 80240474 27A3002C */ addiu $v1, $sp, 0x2c +/* B52CA8 80240478 0C04497A */ jal func_801125E8 +/* B52CAC 8024047C AFA30014 */ sw $v1, 0x14($sp) +/* B52CB0 80240480 8FA5002C */ lw $a1, 0x2c($sp) +/* B52CB4 80240484 0C044A17 */ jal set_standard_shadow_scale +/* B52CB8 80240488 0200202D */ daddu $a0, $s0, $zero +/* B52CBC 8024048C C7A00018 */ lwc1 $f0, 0x18($sp) +/* B52CC0 80240490 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B52CC4 80240494 C7A60020 */ lwc1 $f6, 0x20($sp) +/* B52CC8 80240498 C7A80024 */ lwc1 $f8, 0x24($sp) +/* B52CCC 8024049C C604001C */ lwc1 $f4, 0x1c($s0) +/* B52CD0 802404A0 0000102D */ daddu $v0, $zero, $zero +/* B52CD4 802404A4 AE00002C */ sw $zero, 0x2c($s0) +/* B52CD8 802404A8 E6000010 */ swc1 $f0, 0x10($s0) +/* B52CDC 802404AC C6000024 */ lwc1 $f0, 0x24($s0) +/* B52CE0 802404B0 46042100 */ add.s $f4, $f4, $f4 +/* B52CE4 802404B4 E6020014 */ swc1 $f2, 0x14($s0) +/* B52CE8 802404B8 E6060018 */ swc1 $f6, 0x18($s0) +/* B52CEC 802404BC E6080028 */ swc1 $f8, 0x28($s0) +/* B52CF0 802404C0 C7A20028 */ lwc1 $f2, 0x28($sp) +/* B52CF4 802404C4 46000000 */ add.s $f0, $f0, $f0 +/* B52CF8 802404C8 E6020030 */ swc1 $f2, 0x30($s0) +/* B52CFC 802404CC E604001C */ swc1 $f4, 0x1c($s0) +/* B52D00 802404D0 0809013A */ j .L802404E8 +/* B52D04 802404D4 E6000024 */ swc1 $f0, 0x24($s0) +.L802404D8: +/* B52D08 802404D8 8E240078 */ lw $a0, 0x78($s1) +/* B52D0C 802404DC 0C0448CA */ jal func_80112328 +/* B52D10 802404E0 00000000 */ nop +/* B52D14 802404E4 24020002 */ addiu $v0, $zero, 2 +.L802404E8: +/* B52D18 802404E8 8FBF0038 */ lw $ra, 0x38($sp) +/* B52D1C 802404EC 8FB10034 */ lw $s1, 0x34($sp) +/* B52D20 802404F0 8FB00030 */ lw $s0, 0x30($sp) +/* B52D24 802404F4 03E00008 */ jr $ra +/* B52D28 802404F8 27BD0040 */ addiu $sp, $sp, 0x40 +/* B52D2C 802404FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240500_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240500_B52830.s new file mode 100644 index 0000000000..24d1d0ac16 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240500_B52830.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_B52D30 +/* B52D30 80240500 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B52D34 80240504 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B52D38 80240508 4485A000 */ mtc1 $a1, $f20 +/* B52D3C 8024050C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B52D40 80240510 4486B000 */ mtc1 $a2, $f22 +/* B52D44 80240514 AFB00010 */ sw $s0, 0x10($sp) +/* B52D48 80240518 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B52D4C 8024051C 4487C000 */ mtc1 $a3, $f24 +/* B52D50 80240520 AFBF0014 */ sw $ra, 0x14($sp) +/* B52D54 80240524 0C019D28 */ jal guMtxIdentF +/* B52D58 80240528 0080802D */ daddu $s0, $a0, $zero +/* B52D5C 8024052C 4616A582 */ mul.s $f22, $f20, $f22 +/* B52D60 80240530 00000000 */ nop +/* B52D64 80240534 4618A502 */ mul.s $f20, $f20, $f24 +/* B52D68 80240538 00000000 */ nop +/* B52D6C 8024053C 3C013F80 */ lui $at, 0x3f80 +/* B52D70 80240540 44810000 */ mtc1 $at, $f0 +/* B52D74 80240544 00000000 */ nop +/* B52D78 80240548 E6000014 */ swc1 $f0, 0x14($s0) +/* B52D7C 8024054C E6160010 */ swc1 $f22, 0x10($s0) +/* B52D80 80240550 E6140018 */ swc1 $f20, 0x18($s0) +/* B52D84 80240554 8FBF0014 */ lw $ra, 0x14($sp) +/* B52D88 80240558 8FB00010 */ lw $s0, 0x10($sp) +/* B52D8C 8024055C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B52D90 80240560 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B52D94 80240564 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B52D98 80240568 03E00008 */ jr $ra +/* B52D9C 8024056C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240570_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240570_B52830.s new file mode 100644 index 0000000000..864a5d78db --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240570_B52830.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240570_B52DA0 +/* B52DA0 80240570 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B52DA4 80240574 AFB10054 */ sw $s1, 0x54($sp) +/* B52DA8 80240578 0080882D */ daddu $s1, $a0, $zero +/* B52DAC 8024057C AFBF005C */ sw $ra, 0x5c($sp) +/* B52DB0 80240580 AFB20058 */ sw $s2, 0x58($sp) +/* B52DB4 80240584 AFB00050 */ sw $s0, 0x50($sp) +/* B52DB8 80240588 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B52DBC 8024058C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B52DC0 80240590 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B52DC4 80240594 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B52DC8 80240598 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B52DCC 8024059C 8E30000C */ lw $s0, 0xc($s1) +/* B52DD0 802405A0 8E050000 */ lw $a1, ($s0) +/* B52DD4 802405A4 0C0B1EAF */ jal get_variable +/* B52DD8 802405A8 26100004 */ addiu $s0, $s0, 4 +/* B52DDC 802405AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B52DE0 802405B0 0040202D */ daddu $a0, $v0, $zero +/* B52DE4 802405B4 8E050000 */ lw $a1, ($s0) +/* B52DE8 802405B8 26100004 */ addiu $s0, $s0, 4 +/* B52DEC 802405BC 0220202D */ daddu $a0, $s1, $zero +/* B52DF0 802405C0 0C0B210B */ jal get_float_variable +/* B52DF4 802405C4 0040902D */ daddu $s2, $v0, $zero +/* B52DF8 802405C8 8E050000 */ lw $a1, ($s0) +/* B52DFC 802405CC 26100004 */ addiu $s0, $s0, 4 +/* B52E00 802405D0 0220202D */ daddu $a0, $s1, $zero +/* B52E04 802405D4 0C0B210B */ jal get_float_variable +/* B52E08 802405D8 46000706 */ mov.s $f28, $f0 +/* B52E0C 802405DC 8E050000 */ lw $a1, ($s0) +/* B52E10 802405E0 26100004 */ addiu $s0, $s0, 4 +/* B52E14 802405E4 0220202D */ daddu $a0, $s1, $zero +/* B52E18 802405E8 0C0B210B */ jal get_float_variable +/* B52E1C 802405EC 46000686 */ mov.s $f26, $f0 +/* B52E20 802405F0 0220202D */ daddu $a0, $s1, $zero +/* B52E24 802405F4 8E050000 */ lw $a1, ($s0) +/* B52E28 802405F8 0C0B210B */ jal get_float_variable +/* B52E2C 802405FC 46000586 */ mov.s $f22, $f0 +/* B52E30 80240600 0240202D */ daddu $a0, $s2, $zero +/* B52E34 80240604 0C046B4C */ jal get_model_from_list_index +/* B52E38 80240608 46000606 */ mov.s $f24, $f0 +/* B52E3C 8024060C 0040882D */ daddu $s1, $v0, $zero +/* B52E40 80240610 96220000 */ lhu $v0, ($s1) +/* B52E44 80240614 30420400 */ andi $v0, $v0, 0x400 +/* B52E48 80240618 1440001E */ bnez $v0, .L80240694 +/* B52E4C 8024061C 26300058 */ addiu $s0, $s1, 0x58 +/* B52E50 80240620 4480A000 */ mtc1 $zero, $f20 +/* B52E54 80240624 4406B000 */ mfc1 $a2, $f22 +/* B52E58 80240628 4405A000 */ mfc1 $a1, $f20 +/* B52E5C 8024062C 4407A000 */ mfc1 $a3, $f20 +/* B52E60 80240630 0C019E40 */ jal guTranslateF +/* B52E64 80240634 0200202D */ daddu $a0, $s0, $zero +/* B52E68 80240638 4405E000 */ mfc1 $a1, $f28 +/* B52E6C 8024063C 4406D000 */ mfc1 $a2, $f26 +/* B52E70 80240640 4407C000 */ mfc1 $a3, $f24 +/* B52E74 80240644 0C090140 */ jal func_80240500 +/* B52E78 80240648 27A40010 */ addiu $a0, $sp, 0x10 +/* B52E7C 8024064C 27A40010 */ addiu $a0, $sp, 0x10 +/* B52E80 80240650 0200282D */ daddu $a1, $s0, $zero +/* B52E84 80240654 0C019D80 */ jal guMtxCatF +/* B52E88 80240658 0200302D */ daddu $a2, $s0, $zero +/* B52E8C 8024065C 27A40010 */ addiu $a0, $sp, 0x10 +/* B52E90 80240660 4600B587 */ neg.s $f22, $f22 +/* B52E94 80240664 4405A000 */ mfc1 $a1, $f20 +/* B52E98 80240668 4406B000 */ mfc1 $a2, $f22 +/* B52E9C 8024066C 0C019E40 */ jal guTranslateF +/* B52EA0 80240670 00A0382D */ daddu $a3, $a1, $zero +/* B52EA4 80240674 27A40010 */ addiu $a0, $sp, 0x10 +/* B52EA8 80240678 0200282D */ daddu $a1, $s0, $zero +/* B52EAC 8024067C 0C019D80 */ jal guMtxCatF +/* B52EB0 80240680 00A0302D */ daddu $a2, $a1, $zero +/* B52EB4 80240684 96220000 */ lhu $v0, ($s1) +/* B52EB8 80240688 34421400 */ ori $v0, $v0, 0x1400 +/* B52EBC 8024068C 080901C3 */ j .L8024070C +/* B52EC0 80240690 A6220000 */ sh $v0, ($s1) +.L80240694: +/* B52EC4 80240694 4480A000 */ mtc1 $zero, $f20 +/* B52EC8 80240698 4406B000 */ mfc1 $a2, $f22 +/* B52ECC 8024069C 4405A000 */ mfc1 $a1, $f20 +/* B52ED0 802406A0 4407A000 */ mfc1 $a3, $f20 +/* B52ED4 802406A4 0C019E40 */ jal guTranslateF +/* B52ED8 802406A8 27A40010 */ addiu $a0, $sp, 0x10 +/* B52EDC 802406AC 27A40010 */ addiu $a0, $sp, 0x10 +/* B52EE0 802406B0 26300058 */ addiu $s0, $s1, 0x58 +/* B52EE4 802406B4 0200282D */ daddu $a1, $s0, $zero +/* B52EE8 802406B8 0C019D80 */ jal guMtxCatF +/* B52EEC 802406BC 0200302D */ daddu $a2, $s0, $zero +/* B52EF0 802406C0 4405E000 */ mfc1 $a1, $f28 +/* B52EF4 802406C4 4406D000 */ mfc1 $a2, $f26 +/* B52EF8 802406C8 4407C000 */ mfc1 $a3, $f24 +/* B52EFC 802406CC 0C090140 */ jal func_80240500 +/* B52F00 802406D0 27A40010 */ addiu $a0, $sp, 0x10 +/* B52F04 802406D4 27A40010 */ addiu $a0, $sp, 0x10 +/* B52F08 802406D8 0200282D */ daddu $a1, $s0, $zero +/* B52F0C 802406DC 0C019D80 */ jal guMtxCatF +/* B52F10 802406E0 0200302D */ daddu $a2, $s0, $zero +/* B52F14 802406E4 27A40010 */ addiu $a0, $sp, 0x10 +/* B52F18 802406E8 4600B587 */ neg.s $f22, $f22 +/* B52F1C 802406EC 4405A000 */ mfc1 $a1, $f20 +/* B52F20 802406F0 4406B000 */ mfc1 $a2, $f22 +/* B52F24 802406F4 0C019E40 */ jal guTranslateF +/* B52F28 802406F8 00A0382D */ daddu $a3, $a1, $zero +/* B52F2C 802406FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B52F30 80240700 0200282D */ daddu $a1, $s0, $zero +/* B52F34 80240704 0C019D80 */ jal guMtxCatF +/* B52F38 80240708 00A0302D */ daddu $a2, $a1, $zero +.L8024070C: +/* B52F3C 8024070C 8FBF005C */ lw $ra, 0x5c($sp) +/* B52F40 80240710 8FB20058 */ lw $s2, 0x58($sp) +/* B52F44 80240714 8FB10054 */ lw $s1, 0x54($sp) +/* B52F48 80240718 8FB00050 */ lw $s0, 0x50($sp) +/* B52F4C 8024071C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B52F50 80240720 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B52F54 80240724 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B52F58 80240728 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B52F5C 8024072C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B52F60 80240730 24020002 */ addiu $v0, $zero, 2 +/* B52F64 80240734 03E00008 */ jr $ra +/* B52F68 80240738 27BD0088 */ addiu $sp, $sp, 0x88 +/* B52F6C 8024073C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240740.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240740.s new file mode 100644 index 0000000000..bcc471a3d6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240740.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240740 +/* B52F70 80240740 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B52F74 80240744 AFB00030 */ sw $s0, 0x30($sp) +/* B52F78 80240748 0080802D */ daddu $s0, $a0, $zero +/* B52F7C 8024074C AFBF0040 */ sw $ra, 0x40($sp) +/* B52F80 80240750 AFB3003C */ sw $s3, 0x3c($sp) +/* B52F84 80240754 AFB20038 */ sw $s2, 0x38($sp) +/* B52F88 80240758 AFB10034 */ sw $s1, 0x34($sp) +/* B52F8C 8024075C F7B60050 */ sdc1 $f22, 0x50($sp) +/* B52F90 80240760 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B52F94 80240764 8E130148 */ lw $s3, 0x148($s0) +/* B52F98 80240768 00A0882D */ daddu $s1, $a1, $zero +/* B52F9C 8024076C 86640008 */ lh $a0, 8($s3) +/* B52FA0 80240770 0C00EABB */ jal get_npc_unsafe +/* B52FA4 80240774 00C0902D */ daddu $s2, $a2, $zero +/* B52FA8 80240778 0200202D */ daddu $a0, $s0, $zero +/* B52FAC 8024077C 0220282D */ daddu $a1, $s1, $zero +/* B52FB0 80240780 0240302D */ daddu $a2, $s2, $zero +/* B52FB4 80240784 0C012568 */ jal func_800495A0 +/* B52FB8 80240788 0040802D */ daddu $s0, $v0, $zero +/* B52FBC 8024078C 8E020000 */ lw $v0, ($s0) +/* B52FC0 80240790 2404002D */ addiu $a0, $zero, 0x2d +/* B52FC4 80240794 34420800 */ ori $v0, $v0, 0x800 +/* B52FC8 80240798 0C00A67F */ jal rand_int +/* B52FCC 8024079C AE020000 */ sw $v0, ($s0) +/* B52FD0 802407A0 0200202D */ daddu $a0, $s0, $zero +/* B52FD4 802407A4 3C05B000 */ lui $a1, 0xb000 +/* B52FD8 802407A8 34A50017 */ ori $a1, $a1, 0x17 +/* B52FDC 802407AC 44820000 */ mtc1 $v0, $f0 +/* B52FE0 802407B0 00000000 */ nop +/* B52FE4 802407B4 46800021 */ cvt.d.w $f0, $f0 +/* B52FE8 802407B8 3C014024 */ lui $at, 0x4024 +/* B52FEC 802407BC 44811800 */ mtc1 $at, $f3 +/* B52FF0 802407C0 44801000 */ mtc1 $zero, $f2 +/* B52FF4 802407C4 3C014020 */ lui $at, 0x4020 +/* B52FF8 802407C8 44812800 */ mtc1 $at, $f5 +/* B52FFC 802407CC 44802000 */ mtc1 $zero, $f4 +/* B53000 802407D0 46220003 */ div.d $f0, $f0, $f2 +/* B53004 802407D4 46240000 */ add.d $f0, $f0, $f4 +/* B53008 802407D8 3C013FC0 */ lui $at, 0x3fc0 +/* B5300C 802407DC 44811000 */ mtc1 $at, $f2 +/* B53010 802407E0 0000302D */ daddu $a2, $zero, $zero +/* B53014 802407E4 E6020014 */ swc1 $f2, 0x14($s0) +/* B53018 802407E8 46200020 */ cvt.s.d $f0, $f0 +/* B5301C 802407EC 0C012530 */ jal func_800494C0 +/* B53020 802407F0 E600001C */ swc1 $f0, 0x1c($s0) +/* B53024 802407F4 8E6300D0 */ lw $v1, 0xd0($s3) +/* B53028 802407F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* B5302C 802407FC C4620000 */ lwc1 $f2, ($v1) +/* B53030 80240800 468010A0 */ cvt.s.w $f2, $f2 +/* B53034 80240804 C4640008 */ lwc1 $f4, 8($v1) +/* B53038 80240808 46802120 */ cvt.s.w $f4, $f4 +/* B5303C 8024080C E7A00010 */ swc1 $f0, 0x10($sp) +/* B53040 80240810 8E6200D0 */ lw $v0, 0xd0($s3) +/* B53044 80240814 44051000 */ mfc1 $a1, $f2 +/* B53048 80240818 C440000C */ lwc1 $f0, 0xc($v0) +/* B5304C 8024081C 46800020 */ cvt.s.w $f0, $f0 +/* B53050 80240820 E7A00014 */ swc1 $f0, 0x14($sp) +/* B53054 80240824 8E6200D0 */ lw $v0, 0xd0($s3) +/* B53058 80240828 44062000 */ mfc1 $a2, $f4 +/* B5305C 8024082C C4400010 */ lwc1 $f0, 0x10($v0) +/* B53060 80240830 46800020 */ cvt.s.w $f0, $f0 +/* B53064 80240834 E7A00018 */ swc1 $f0, 0x18($sp) +/* B53068 80240838 8C640018 */ lw $a0, 0x18($v1) +/* B5306C 8024083C 0C0123F5 */ jal is_point_within_region +/* B53070 80240840 8E070038 */ lw $a3, 0x38($s0) +/* B53074 80240844 10400035 */ beqz $v0, .L8024091C +/* B53078 80240848 00000000 */ nop +/* B5307C 8024084C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B53080 80240850 3C0141C8 */ lui $at, 0x41c8 +/* B53084 80240854 4481B000 */ mtc1 $at, $f22 +/* B53088 80240858 8E6200D0 */ lw $v0, 0xd0($s3) +/* B5308C 8024085C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B53090 80240860 C4480000 */ lwc1 $f8, ($v0) +/* B53094 80240864 46804220 */ cvt.s.w $f8, $f8 +/* B53098 80240868 44064000 */ mfc1 $a2, $f8 +/* B5309C 8024086C C4480008 */ lwc1 $f8, 8($v0) +/* B530A0 80240870 46804220 */ cvt.s.w $f8, $f8 +/* B530A4 80240874 44074000 */ mfc1 $a3, $f8 +/* B530A8 80240878 3C01403E */ lui $at, 0x403e +/* B530AC 8024087C 4481A800 */ mtc1 $at, $f21 +/* B530B0 80240880 4480A000 */ mtc1 $zero, $f20 +/* B530B4 80240884 0C00A720 */ jal atan2 +/* B530B8 80240888 0000882D */ daddu $s1, $zero, $zero +/* B530BC 8024088C C6020038 */ lwc1 $f2, 0x38($s0) +/* B530C0 80240890 C604003C */ lwc1 $f4, 0x3c($s0) +/* B530C4 80240894 C6060040 */ lwc1 $f6, 0x40($s0) +/* B530C8 80240898 E600000C */ swc1 $f0, 0xc($s0) +/* B530CC 8024089C E7A20020 */ swc1 $f2, 0x20($sp) +/* B530D0 802408A0 E7A40024 */ swc1 $f4, 0x24($sp) +/* B530D4 802408A4 E7A60028 */ swc1 $f6, 0x28($sp) +.L802408A8: +/* B530D8 802408A8 E7B60010 */ swc1 $f22, 0x10($sp) +/* B530DC 802408AC C600000C */ lwc1 $f0, 0xc($s0) +/* B530E0 802408B0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B530E4 802408B4 860200A8 */ lh $v0, 0xa8($s0) +/* B530E8 802408B8 27A50020 */ addiu $a1, $sp, 0x20 +/* B530EC 802408BC 44820000 */ mtc1 $v0, $f0 +/* B530F0 802408C0 00000000 */ nop +/* B530F4 802408C4 46800020 */ cvt.s.w $f0, $f0 +/* B530F8 802408C8 E7A00018 */ swc1 $f0, 0x18($sp) +/* B530FC 802408CC 860200A6 */ lh $v0, 0xa6($s0) +/* B53100 802408D0 27A60024 */ addiu $a2, $sp, 0x24 +/* B53104 802408D4 44820000 */ mtc1 $v0, $f0 +/* B53108 802408D8 00000000 */ nop +/* B5310C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* B53110 802408E0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B53114 802408E4 8E040080 */ lw $a0, 0x80($s0) +/* B53118 802408E8 0C037711 */ jal func_800DDC44 +/* B5311C 802408EC 27A70028 */ addiu $a3, $sp, 0x28 +/* B53120 802408F0 10400016 */ beqz $v0, .L8024094C +/* B53124 802408F4 26310001 */ addiu $s1, $s1, 1 +/* B53128 802408F8 C600000C */ lwc1 $f0, 0xc($s0) +/* B5312C 802408FC 46000021 */ cvt.d.s $f0, $f0 +/* B53130 80240900 46340000 */ add.d $f0, $f0, $f20 +/* B53134 80240904 2A220006 */ slti $v0, $s1, 6 +/* B53138 80240908 46200020 */ cvt.s.d $f0, $f0 +/* B5313C 8024090C 1440FFE6 */ bnez $v0, .L802408A8 +/* B53140 80240910 E600000C */ swc1 $f0, 0xc($s0) +/* B53144 80240914 08090253 */ j .L8024094C +/* B53148 80240918 00000000 */ nop +.L8024091C: +/* B5314C 8024091C 0C00A67F */ jal rand_int +/* B53150 80240920 2404003C */ addiu $a0, $zero, 0x3c +/* B53154 80240924 C60C000C */ lwc1 $f12, 0xc($s0) +/* B53158 80240928 44820000 */ mtc1 $v0, $f0 +/* B5315C 8024092C 00000000 */ nop +/* B53160 80240930 46800020 */ cvt.s.w $f0, $f0 +/* B53164 80240934 46006300 */ add.s $f12, $f12, $f0 +/* B53168 80240938 3C0141F0 */ lui $at, 0x41f0 +/* B5316C 8024093C 44810000 */ mtc1 $at, $f0 +/* B53170 80240940 0C00A6C9 */ jal clamp_angle +/* B53174 80240944 46006301 */ sub.s $f12, $f12, $f0 +/* B53178 80240948 E600000C */ swc1 $f0, 0xc($s0) +.L8024094C: +/* B5317C 8024094C 8FBF0040 */ lw $ra, 0x40($sp) +/* B53180 80240950 8FB3003C */ lw $s3, 0x3c($sp) +/* B53184 80240954 8FB20038 */ lw $s2, 0x38($sp) +/* B53188 80240958 8FB10034 */ lw $s1, 0x34($sp) +/* B5318C 8024095C 8FB00030 */ lw $s0, 0x30($sp) +/* B53190 80240960 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B53194 80240964 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B53198 80240968 03E00008 */ jr $ra +/* B5319C 8024096C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240970_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240970_B52830.s new file mode 100644 index 0000000000..70675ce271 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240970_B52830.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240970_B531A0 +/* B531A0 80240970 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B531A4 80240974 AFB3004C */ sw $s3, 0x4c($sp) +/* B531A8 80240978 0080982D */ daddu $s3, $a0, $zero +/* B531AC 8024097C AFBF0054 */ sw $ra, 0x54($sp) +/* B531B0 80240980 AFB40050 */ sw $s4, 0x50($sp) +/* B531B4 80240984 AFB20048 */ sw $s2, 0x48($sp) +/* B531B8 80240988 AFB10044 */ sw $s1, 0x44($sp) +/* B531BC 8024098C AFB00040 */ sw $s0, 0x40($sp) +/* B531C0 80240990 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B531C4 80240994 8E710148 */ lw $s1, 0x148($s3) +/* B531C8 80240998 00A0A02D */ daddu $s4, $a1, $zero +/* B531CC 8024099C 86240008 */ lh $a0, 8($s1) +/* B531D0 802409A0 0C00EABB */ jal get_npc_unsafe +/* B531D4 802409A4 00C0902D */ daddu $s2, $a2, $zero +/* B531D8 802409A8 8E830014 */ lw $v1, 0x14($s4) +/* B531DC 802409AC 04600034 */ bltz $v1, .L80240A80 +/* B531E0 802409B0 0040802D */ daddu $s0, $v0, $zero +/* B531E4 802409B4 8E620074 */ lw $v0, 0x74($s3) +/* B531E8 802409B8 1C400030 */ bgtz $v0, .L80240A7C +/* B531EC 802409BC 2442FFFF */ addiu $v0, $v0, -1 +/* B531F0 802409C0 0240202D */ daddu $a0, $s2, $zero +/* B531F4 802409C4 AE630074 */ sw $v1, 0x74($s3) +/* B531F8 802409C8 AFA00010 */ sw $zero, 0x10($sp) +/* B531FC 802409CC 8E86000C */ lw $a2, 0xc($s4) +/* B53200 802409D0 8E870010 */ lw $a3, 0x10($s4) +/* B53204 802409D4 0C01242D */ jal func_800490B4 +/* B53208 802409D8 0220282D */ daddu $a1, $s1, $zero +/* B5320C 802409DC 10400025 */ beqz $v0, .L80240A74 +/* B53210 802409E0 0000202D */ daddu $a0, $zero, $zero +/* B53214 802409E4 0200282D */ daddu $a1, $s0, $zero +/* B53218 802409E8 0000302D */ daddu $a2, $zero, $zero +/* B5321C 802409EC 860300A8 */ lh $v1, 0xa8($s0) +/* B53220 802409F0 3C013F80 */ lui $at, 0x3f80 +/* B53224 802409F4 44810000 */ mtc1 $at, $f0 +/* B53228 802409F8 3C014000 */ lui $at, 0x4000 +/* B5322C 802409FC 44811000 */ mtc1 $at, $f2 +/* B53230 80240A00 3C01C1A0 */ lui $at, 0xc1a0 +/* B53234 80240A04 44812000 */ mtc1 $at, $f4 +/* B53238 80240A08 2402000F */ addiu $v0, $zero, 0xf +/* B5323C 80240A0C AFA2001C */ sw $v0, 0x1c($sp) +/* B53240 80240A10 44835000 */ mtc1 $v1, $f10 +/* B53244 80240A14 00000000 */ nop +/* B53248 80240A18 468052A0 */ cvt.s.w $f10, $f10 +/* B5324C 80240A1C 44075000 */ mfc1 $a3, $f10 +/* B53250 80240A20 27A20028 */ addiu $v0, $sp, 0x28 +/* B53254 80240A24 AFA20020 */ sw $v0, 0x20($sp) +/* B53258 80240A28 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5325C 80240A2C E7A20014 */ swc1 $f2, 0x14($sp) +/* B53260 80240A30 0C01BFA4 */ jal fx_emote +/* B53264 80240A34 E7A40018 */ swc1 $f4, 0x18($sp) +/* B53268 80240A38 0200202D */ daddu $a0, $s0, $zero +/* B5326C 80240A3C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B53270 80240A40 0C012530 */ jal func_800494C0 +/* B53274 80240A44 3C060020 */ lui $a2, 0x20 +/* B53278 80240A48 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B5327C 80240A4C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B53280 80240A50 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B53284 80240A54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B53288 80240A58 8C460028 */ lw $a2, 0x28($v0) +/* B5328C 80240A5C 0C00A720 */ jal atan2 +/* B53290 80240A60 8C470030 */ lw $a3, 0x30($v0) +/* B53294 80240A64 2402000C */ addiu $v0, $zero, 0xc +/* B53298 80240A68 E600000C */ swc1 $f0, 0xc($s0) +/* B5329C 80240A6C 08090321 */ j .L80240C84 +/* B532A0 80240A70 AE620070 */ sw $v0, 0x70($s3) +.L80240A74: +/* B532A4 80240A74 8E620074 */ lw $v0, 0x74($s3) +/* B532A8 80240A78 2442FFFF */ addiu $v0, $v0, -1 +.L80240A7C: +/* B532AC 80240A7C AE620074 */ sw $v0, 0x74($s3) +.L80240A80: +/* B532B0 80240A80 C6000018 */ lwc1 $f0, 0x18($s0) +/* B532B4 80240A84 44801000 */ mtc1 $zero, $f2 +/* B532B8 80240A88 44801800 */ mtc1 $zero, $f3 +/* B532BC 80240A8C 46000021 */ cvt.d.s $f0, $f0 +/* B532C0 80240A90 4620103C */ c.lt.d $f2, $f0 +/* B532C4 80240A94 00000000 */ nop +/* B532C8 80240A98 45000025 */ bc1f .L80240B30 +/* B532CC 80240A9C 27A5002C */ addiu $a1, $sp, 0x2c +/* B532D0 80240AA0 C6000038 */ lwc1 $f0, 0x38($s0) +/* B532D4 80240AA4 860200A6 */ lh $v0, 0xa6($s0) +/* B532D8 80240AA8 3C018024 */ lui $at, 0x8024 +/* B532DC 80240AAC D4226CB0 */ ldc1 $f2, 0x6cb0($at) +/* B532E0 80240AB0 27A60030 */ addiu $a2, $sp, 0x30 +/* B532E4 80240AB4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B532E8 80240AB8 44820000 */ mtc1 $v0, $f0 +/* B532EC 80240ABC 00000000 */ nop +/* B532F0 80240AC0 46800020 */ cvt.s.w $f0, $f0 +/* B532F4 80240AC4 46000021 */ cvt.d.s $f0, $f0 +/* B532F8 80240AC8 C604003C */ lwc1 $f4, 0x3c($s0) +/* B532FC 80240ACC C6060040 */ lwc1 $f6, 0x40($s0) +/* B53300 80240AD0 C6080018 */ lwc1 $f8, 0x18($s0) +/* B53304 80240AD4 860200A8 */ lh $v0, 0xa8($s0) +/* B53308 80240AD8 46220002 */ mul.d $f0, $f0, $f2 +/* B5330C 80240ADC 00000000 */ nop +/* B53310 80240AE0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B53314 80240AE4 E7A60034 */ swc1 $f6, 0x34($sp) +/* B53318 80240AE8 E7A80010 */ swc1 $f8, 0x10($sp) +/* B5331C 80240AEC C604000C */ lwc1 $f4, 0xc($s0) +/* B53320 80240AF0 44821000 */ mtc1 $v0, $f2 +/* B53324 80240AF4 00000000 */ nop +/* B53328 80240AF8 468010A0 */ cvt.s.w $f2, $f2 +/* B5332C 80240AFC E7A20018 */ swc1 $f2, 0x18($sp) +/* B53330 80240B00 E7A40014 */ swc1 $f4, 0x14($sp) +/* B53334 80240B04 46200020 */ cvt.s.d $f0, $f0 +/* B53338 80240B08 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B5333C 80240B0C 8E040080 */ lw $a0, 0x80($s0) +/* B53340 80240B10 0C037711 */ jal func_800DDC44 +/* B53344 80240B14 27A70034 */ addiu $a3, $sp, 0x34 +/* B53348 80240B18 54400005 */ bnel $v0, $zero, .L80240B30 +/* B5334C 80240B1C AE000018 */ sw $zero, 0x18($s0) +/* B53350 80240B20 8E050018 */ lw $a1, 0x18($s0) +/* B53354 80240B24 8E06000C */ lw $a2, 0xc($s0) +/* B53358 80240B28 0C00EA95 */ jal npc_move_heading +/* B5335C 80240B2C 0200202D */ daddu $a0, $s0, $zero +.L80240B30: +/* B53360 80240B30 C600001C */ lwc1 $f0, 0x1c($s0) +/* B53364 80240B34 44801000 */ mtc1 $zero, $f2 +/* B53368 80240B38 44801800 */ mtc1 $zero, $f3 +/* B5336C 80240B3C 46000021 */ cvt.d.s $f0, $f0 +/* B53370 80240B40 4622003C */ c.lt.d $f0, $f2 +/* B53374 80240B44 00000000 */ nop +/* B53378 80240B48 45000047 */ bc1f .L80240C68 +/* B5337C 80240B4C 27A5002C */ addiu $a1, $sp, 0x2c +/* B53380 80240B50 27A60030 */ addiu $a2, $sp, 0x30 +/* B53384 80240B54 27A20038 */ addiu $v0, $sp, 0x38 +/* B53388 80240B58 C602003C */ lwc1 $f2, 0x3c($s0) +/* B5338C 80240B5C C6060038 */ lwc1 $f6, 0x38($s0) +/* B53390 80240B60 3C01402A */ lui $at, 0x402a +/* B53394 80240B64 4481A800 */ mtc1 $at, $f21 +/* B53398 80240B68 4480A000 */ mtc1 $zero, $f20 +/* B5339C 80240B6C 460010A1 */ cvt.d.s $f2, $f2 +/* B533A0 80240B70 46341080 */ add.d $f2, $f2, $f20 +/* B533A4 80240B74 C600001C */ lwc1 $f0, 0x1c($s0) +/* B533A8 80240B78 C6040040 */ lwc1 $f4, 0x40($s0) +/* B533AC 80240B7C 46000005 */ abs.s $f0, $f0 +/* B533B0 80240B80 E7A40034 */ swc1 $f4, 0x34($sp) +/* B533B4 80240B84 3C014030 */ lui $at, 0x4030 +/* B533B8 80240B88 44812800 */ mtc1 $at, $f5 +/* B533BC 80240B8C 44802000 */ mtc1 $zero, $f4 +/* B533C0 80240B90 46000021 */ cvt.d.s $f0, $f0 +/* B533C4 80240B94 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B533C8 80240B98 46240000 */ add.d $f0, $f0, $f4 +/* B533CC 80240B9C 462010A0 */ cvt.s.d $f2, $f2 +/* B533D0 80240BA0 E7A20030 */ swc1 $f2, 0x30($sp) +/* B533D4 80240BA4 46200020 */ cvt.s.d $f0, $f0 +/* B533D8 80240BA8 E7A00038 */ swc1 $f0, 0x38($sp) +/* B533DC 80240BAC AFA20010 */ sw $v0, 0x10($sp) +/* B533E0 80240BB0 8E040080 */ lw $a0, 0x80($s0) +/* B533E4 80240BB4 0C0372DF */ jal func_800DCB7C +/* B533E8 80240BB8 27A70034 */ addiu $a3, $sp, 0x34 +/* B533EC 80240BBC 1040002A */ beqz $v0, .L80240C68 +/* B533F0 80240BC0 00000000 */ nop +/* B533F4 80240BC4 C600001C */ lwc1 $f0, 0x1c($s0) +/* B533F8 80240BC8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B533FC 80240BCC 46000005 */ abs.s $f0, $f0 +/* B53400 80240BD0 46000021 */ cvt.d.s $f0, $f0 +/* B53404 80240BD4 46340000 */ add.d $f0, $f0, $f20 +/* B53408 80240BD8 460010A1 */ cvt.d.s $f2, $f2 +/* B5340C 80240BDC 4620103E */ c.le.d $f2, $f0 +/* B53410 80240BE0 00000000 */ nop +/* B53414 80240BE4 45000020 */ bc1f .L80240C68 +/* B53418 80240BE8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B5341C 80240BEC C7A00030 */ lwc1 $f0, 0x30($sp) +/* B53420 80240BF0 8E020000 */ lw $v0, ($s0) +/* B53424 80240BF4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B53428 80240BF8 AE00001C */ sw $zero, 0x1c($s0) +/* B5342C 80240BFC 00431024 */ and $v0, $v0, $v1 +/* B53430 80240C00 AE020000 */ sw $v0, ($s0) +/* B53434 80240C04 24020002 */ addiu $v0, $zero, 2 +/* B53438 80240C08 E600003C */ swc1 $f0, 0x3c($s0) +/* B5343C 80240C0C 0C00A67F */ jal rand_int +/* B53440 80240C10 AE620070 */ sw $v0, 0x70($s3) +/* B53444 80240C14 3C035555 */ lui $v1, 0x5555 +/* B53448 80240C18 34635556 */ ori $v1, $v1, 0x5556 +/* B5344C 80240C1C 00430018 */ mult $v0, $v1 +/* B53450 80240C20 000227C3 */ sra $a0, $v0, 0x1f +/* B53454 80240C24 00004010 */ mfhi $t0 +/* B53458 80240C28 01042023 */ subu $a0, $t0, $a0 +/* B5345C 80240C2C 00041840 */ sll $v1, $a0, 1 +/* B53460 80240C30 00641821 */ addu $v1, $v1, $a0 +/* B53464 80240C34 00431023 */ subu $v0, $v0, $v1 +/* B53468 80240C38 24430002 */ addiu $v1, $v0, 2 +/* B5346C 80240C3C AE630074 */ sw $v1, 0x74($s3) +/* B53470 80240C40 8E82002C */ lw $v0, 0x2c($s4) +/* B53474 80240C44 5840000F */ blezl $v0, .L80240C84 +/* B53478 80240C48 AE600070 */ sw $zero, 0x70($s3) +/* B5347C 80240C4C 8E820004 */ lw $v0, 4($s4) +/* B53480 80240C50 5840000C */ blezl $v0, .L80240C84 +/* B53484 80240C54 AE600070 */ sw $zero, 0x70($s3) +/* B53488 80240C58 1460000A */ bnez $v1, .L80240C84 +/* B5348C 80240C5C 00000000 */ nop +/* B53490 80240C60 08090321 */ j .L80240C84 +/* B53494 80240C64 AE600070 */ sw $zero, 0x70($s3) +.L80240C68: +/* B53498 80240C68 C604003C */ lwc1 $f4, 0x3c($s0) +/* B5349C 80240C6C C600001C */ lwc1 $f0, 0x1c($s0) +/* B534A0 80240C70 46002100 */ add.s $f4, $f4, $f0 +/* B534A4 80240C74 C6020014 */ lwc1 $f2, 0x14($s0) +/* B534A8 80240C78 46020001 */ sub.s $f0, $f0, $f2 +/* B534AC 80240C7C E604003C */ swc1 $f4, 0x3c($s0) +/* B534B0 80240C80 E600001C */ swc1 $f0, 0x1c($s0) +.L80240C84: +/* B534B4 80240C84 8FBF0054 */ lw $ra, 0x54($sp) +/* B534B8 80240C88 8FB40050 */ lw $s4, 0x50($sp) +/* B534BC 80240C8C 8FB3004C */ lw $s3, 0x4c($sp) +/* B534C0 80240C90 8FB20048 */ lw $s2, 0x48($sp) +/* B534C4 80240C94 8FB10044 */ lw $s1, 0x44($sp) +/* B534C8 80240C98 8FB00040 */ lw $s0, 0x40($sp) +/* B534CC 80240C9C D7B40058 */ ldc1 $f20, 0x58($sp) +/* B534D0 80240CA0 03E00008 */ jr $ra +/* B534D4 80240CA4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240CA8_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240CA8_B52830.s new file mode 100644 index 0000000000..4403cad1cb --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240CA8_B52830.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA8_B534D8 +/* B534D8 80240CA8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B534DC 80240CAC AFB3001C */ sw $s3, 0x1c($sp) +/* B534E0 80240CB0 0080982D */ daddu $s3, $a0, $zero +/* B534E4 80240CB4 AFBF0020 */ sw $ra, 0x20($sp) +/* B534E8 80240CB8 AFB20018 */ sw $s2, 0x18($sp) +/* B534EC 80240CBC AFB10014 */ sw $s1, 0x14($sp) +/* B534F0 80240CC0 AFB00010 */ sw $s0, 0x10($sp) +/* B534F4 80240CC4 8E720148 */ lw $s2, 0x148($s3) +/* B534F8 80240CC8 86440008 */ lh $a0, 8($s2) +/* B534FC 80240CCC 0C00EABB */ jal get_npc_unsafe +/* B53500 80240CD0 00A0882D */ daddu $s1, $a1, $zero +/* B53504 80240CD4 8E240008 */ lw $a0, 8($s1) +/* B53508 80240CD8 0040802D */ daddu $s0, $v0, $zero +/* B5350C 80240CDC 00041FC2 */ srl $v1, $a0, 0x1f +/* B53510 80240CE0 00832021 */ addu $a0, $a0, $v1 +/* B53514 80240CE4 00042043 */ sra $a0, $a0, 1 +/* B53518 80240CE8 0C00A67F */ jal rand_int +/* B5351C 80240CEC 24840001 */ addiu $a0, $a0, 1 +/* B53520 80240CF0 8E230008 */ lw $v1, 8($s1) +/* B53524 80240CF4 240400B4 */ addiu $a0, $zero, 0xb4 +/* B53528 80240CF8 00032FC2 */ srl $a1, $v1, 0x1f +/* B5352C 80240CFC 00651821 */ addu $v1, $v1, $a1 +/* B53530 80240D00 00031843 */ sra $v1, $v1, 1 +/* B53534 80240D04 00621821 */ addu $v1, $v1, $v0 +/* B53538 80240D08 0C00A67F */ jal rand_int +/* B5353C 80240D0C A603008E */ sh $v1, 0x8e($s0) +/* B53540 80240D10 C60C000C */ lwc1 $f12, 0xc($s0) +/* B53544 80240D14 44820000 */ mtc1 $v0, $f0 +/* B53548 80240D18 00000000 */ nop +/* B5354C 80240D1C 46800020 */ cvt.s.w $f0, $f0 +/* B53550 80240D20 46006300 */ add.s $f12, $f12, $f0 +/* B53554 80240D24 3C0142B4 */ lui $at, 0x42b4 +/* B53558 80240D28 44810000 */ mtc1 $at, $f0 +/* B5355C 80240D2C 0C00A6C9 */ jal clamp_angle +/* B53560 80240D30 46006301 */ sub.s $f12, $f12, $f0 +/* B53564 80240D34 E600000C */ swc1 $f0, 0xc($s0) +/* B53568 80240D38 8E4200CC */ lw $v0, 0xcc($s2) +/* B5356C 80240D3C 8C420000 */ lw $v0, ($v0) +/* B53570 80240D40 AE020028 */ sw $v0, 0x28($s0) +/* B53574 80240D44 24020003 */ addiu $v0, $zero, 3 +/* B53578 80240D48 AE620070 */ sw $v0, 0x70($s3) +/* B5357C 80240D4C 8FBF0020 */ lw $ra, 0x20($sp) +/* B53580 80240D50 8FB3001C */ lw $s3, 0x1c($sp) +/* B53584 80240D54 8FB20018 */ lw $s2, 0x18($sp) +/* B53588 80240D58 8FB10014 */ lw $s1, 0x14($sp) +/* B5358C 80240D5C 8FB00010 */ lw $s0, 0x10($sp) +/* B53590 80240D60 03E00008 */ jr $ra +/* B53594 80240D64 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240F0C_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240F0C_B52830.s new file mode 100644 index 0000000000..56035526df --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240F0C_B52830.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F0C_B5373C +/* B5373C 80240F0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B53740 80240F10 AFB10014 */ sw $s1, 0x14($sp) +/* B53744 80240F14 0080882D */ daddu $s1, $a0, $zero +/* B53748 80240F18 AFBF001C */ sw $ra, 0x1c($sp) +/* B5374C 80240F1C AFB20018 */ sw $s2, 0x18($sp) +/* B53750 80240F20 AFB00010 */ sw $s0, 0x10($sp) +/* B53754 80240F24 8E220148 */ lw $v0, 0x148($s1) +/* B53758 80240F28 00A0902D */ daddu $s2, $a1, $zero +/* B5375C 80240F2C 84440008 */ lh $a0, 8($v0) +/* B53760 80240F30 0C00EABB */ jal get_npc_unsafe +/* B53764 80240F34 00C0802D */ daddu $s0, $a2, $zero +/* B53768 80240F38 0220202D */ daddu $a0, $s1, $zero +/* B5376C 80240F3C 0240282D */ daddu $a1, $s2, $zero +/* B53770 80240F40 0200302D */ daddu $a2, $s0, $zero +/* B53774 80240F44 0C0127DF */ jal func_80049F7C +/* B53778 80240F48 0040802D */ daddu $s0, $v0, $zero +/* B5377C 80240F4C 8E020000 */ lw $v0, ($s0) +/* B53780 80240F50 24040005 */ addiu $a0, $zero, 5 +/* B53784 80240F54 34420800 */ ori $v0, $v0, 0x800 +/* B53788 80240F58 0C00A67F */ jal rand_int +/* B5378C 80240F5C AE020000 */ sw $v0, ($s0) +/* B53790 80240F60 44820000 */ mtc1 $v0, $f0 +/* B53794 80240F64 00000000 */ nop +/* B53798 80240F68 46800021 */ cvt.d.w $f0, $f0 +/* B5379C 80240F6C 3C014024 */ lui $at, 0x4024 +/* B537A0 80240F70 44811800 */ mtc1 $at, $f3 +/* B537A4 80240F74 44801000 */ mtc1 $zero, $f2 +/* B537A8 80240F78 3C013FC0 */ lui $at, 0x3fc0 +/* B537AC 80240F7C 44812000 */ mtc1 $at, $f4 +/* B537B0 80240F80 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B537B4 80240F84 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B537B8 80240F88 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B537BC 80240F8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B537C0 80240F90 46220000 */ add.d $f0, $f0, $f2 +/* B537C4 80240F94 E6040014 */ swc1 $f4, 0x14($s0) +/* B537C8 80240F98 46200020 */ cvt.s.d $f0, $f0 +/* B537CC 80240F9C E600001C */ swc1 $f0, 0x1c($s0) +/* B537D0 80240FA0 8C460028 */ lw $a2, 0x28($v0) +/* B537D4 80240FA4 0C00A720 */ jal atan2 +/* B537D8 80240FA8 8C470030 */ lw $a3, 0x30($v0) +/* B537DC 80240FAC 0200202D */ daddu $a0, $s0, $zero +/* B537E0 80240FB0 3C05B000 */ lui $a1, 0xb000 +/* B537E4 80240FB4 34A50017 */ ori $a1, $a1, 0x17 +/* B537E8 80240FB8 0000302D */ daddu $a2, $zero, $zero +/* B537EC 80240FBC E480000C */ swc1 $f0, 0xc($a0) +/* B537F0 80240FC0 C6400018 */ lwc1 $f0, 0x18($s2) +/* B537F4 80240FC4 2402000D */ addiu $v0, $zero, 0xd +/* B537F8 80240FC8 E4800018 */ swc1 $f0, 0x18($a0) +/* B537FC 80240FCC 0C012530 */ jal func_800494C0 +/* B53800 80240FD0 AE220070 */ sw $v0, 0x70($s1) +/* B53804 80240FD4 8FBF001C */ lw $ra, 0x1c($sp) +/* B53808 80240FD8 8FB20018 */ lw $s2, 0x18($sp) +/* B5380C 80240FDC 8FB10014 */ lw $s1, 0x14($sp) +/* B53810 80240FE0 8FB00010 */ lw $s0, 0x10($sp) +/* B53814 80240FE4 03E00008 */ jr $ra +/* B53818 80240FE8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80240FEC_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80240FEC_B52830.s new file mode 100644 index 0000000000..f3253c49f1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80240FEC_B52830.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FEC_B5381C +/* B5381C 80240FEC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B53820 80240FF0 AFB40050 */ sw $s4, 0x50($sp) +/* B53824 80240FF4 0080A02D */ daddu $s4, $a0, $zero +/* B53828 80240FF8 AFBF0060 */ sw $ra, 0x60($sp) +/* B5382C 80240FFC AFB7005C */ sw $s7, 0x5c($sp) +/* B53830 80241000 AFB60058 */ sw $s6, 0x58($sp) +/* B53834 80241004 AFB50054 */ sw $s5, 0x54($sp) +/* B53838 80241008 AFB3004C */ sw $s3, 0x4c($sp) +/* B5383C 8024100C AFB20048 */ sw $s2, 0x48($sp) +/* B53840 80241010 AFB10044 */ sw $s1, 0x44($sp) +/* B53844 80241014 AFB00040 */ sw $s0, 0x40($sp) +/* B53848 80241018 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B5384C 8024101C 8E950148 */ lw $s5, 0x148($s4) +/* B53850 80241020 00A0B02D */ daddu $s6, $a1, $zero +/* B53854 80241024 86A40008 */ lh $a0, 8($s5) +/* B53858 80241028 0C00EABB */ jal get_npc_unsafe +/* B5385C 8024102C 00C0B82D */ daddu $s7, $a2, $zero +/* B53860 80241030 0040982D */ daddu $s3, $v0, $zero +/* B53864 80241034 C6600018 */ lwc1 $f0, 0x18($s3) +/* B53868 80241038 44801000 */ mtc1 $zero, $f2 +/* B5386C 8024103C 44801800 */ mtc1 $zero, $f3 +/* B53870 80241040 46000021 */ cvt.d.s $f0, $f0 +/* B53874 80241044 4620103C */ c.lt.d $f2, $f0 +/* B53878 80241048 00000000 */ nop +/* B5387C 8024104C 45000021 */ bc1f .L802410D4 +/* B53880 80241050 27A50028 */ addiu $a1, $sp, 0x28 +/* B53884 80241054 C6600038 */ lwc1 $f0, 0x38($s3) +/* B53888 80241058 C662003C */ lwc1 $f2, 0x3c($s3) +/* B5388C 8024105C C6640040 */ lwc1 $f4, 0x40($s3) +/* B53890 80241060 C6660018 */ lwc1 $f6, 0x18($s3) +/* B53894 80241064 E7A00028 */ swc1 $f0, 0x28($sp) +/* B53898 80241068 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B5389C 8024106C E7A40030 */ swc1 $f4, 0x30($sp) +/* B538A0 80241070 E7A60010 */ swc1 $f6, 0x10($sp) +/* B538A4 80241074 C660000C */ lwc1 $f0, 0xc($s3) +/* B538A8 80241078 E7A00014 */ swc1 $f0, 0x14($sp) +/* B538AC 8024107C 866200A8 */ lh $v0, 0xa8($s3) +/* B538B0 80241080 44820000 */ mtc1 $v0, $f0 +/* B538B4 80241084 00000000 */ nop +/* B538B8 80241088 46800020 */ cvt.s.w $f0, $f0 +/* B538BC 8024108C E7A00018 */ swc1 $f0, 0x18($sp) +/* B538C0 80241090 866200A6 */ lh $v0, 0xa6($s3) +/* B538C4 80241094 27A6002C */ addiu $a2, $sp, 0x2c +/* B538C8 80241098 44820000 */ mtc1 $v0, $f0 +/* B538CC 8024109C 00000000 */ nop +/* B538D0 802410A0 46800020 */ cvt.s.w $f0, $f0 +/* B538D4 802410A4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B538D8 802410A8 8E640080 */ lw $a0, 0x80($s3) +/* B538DC 802410AC 0C037711 */ jal func_800DDC44 +/* B538E0 802410B0 27A70030 */ addiu $a3, $sp, 0x30 +/* B538E4 802410B4 10400003 */ beqz $v0, .L802410C4 +/* B538E8 802410B8 00000000 */ nop +/* B538EC 802410BC 08090435 */ j .L802410D4 +/* B538F0 802410C0 AE600018 */ sw $zero, 0x18($s3) +.L802410C4: +/* B538F4 802410C4 8E650018 */ lw $a1, 0x18($s3) +/* B538F8 802410C8 8E66000C */ lw $a2, 0xc($s3) +/* B538FC 802410CC 0C00EA95 */ jal npc_move_heading +/* B53900 802410D0 0260202D */ daddu $a0, $s3, $zero +.L802410D4: +/* B53904 802410D4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B53908 802410D8 44801000 */ mtc1 $zero, $f2 +/* B5390C 802410DC 44801800 */ mtc1 $zero, $f3 +/* B53910 802410E0 46000021 */ cvt.d.s $f0, $f0 +/* B53914 802410E4 4622003C */ c.lt.d $f0, $f2 +/* B53918 802410E8 00000000 */ nop +/* B5391C 802410EC 4500006C */ bc1f .L802412A0 +/* B53920 802410F0 27B00028 */ addiu $s0, $sp, 0x28 +/* B53924 802410F4 0200282D */ daddu $a1, $s0, $zero +/* B53928 802410F8 27A60034 */ addiu $a2, $sp, 0x34 +/* B5392C 802410FC 27B20038 */ addiu $s2, $sp, 0x38 +/* B53930 80241100 C6600038 */ lwc1 $f0, 0x38($s3) +/* B53934 80241104 3C0142C8 */ lui $at, 0x42c8 +/* B53938 80241108 44811000 */ mtc1 $at, $f2 +/* B5393C 8024110C C6640040 */ lwc1 $f4, 0x40($s3) +/* B53940 80241110 3C01447A */ lui $at, 0x447a +/* B53944 80241114 44813000 */ mtc1 $at, $f6 +/* B53948 80241118 27B10030 */ addiu $s1, $sp, 0x30 +/* B5394C 8024111C E7A00028 */ swc1 $f0, 0x28($sp) +/* B53950 80241120 E7A20034 */ swc1 $f2, 0x34($sp) +/* B53954 80241124 E7A40030 */ swc1 $f4, 0x30($sp) +/* B53958 80241128 E7A60038 */ swc1 $f6, 0x38($sp) +/* B5395C 8024112C AFB20010 */ sw $s2, 0x10($sp) +/* B53960 80241130 8E640080 */ lw $a0, 0x80($s3) +/* B53964 80241134 0C0372DF */ jal func_800DCB7C +/* B53968 80241138 0220382D */ daddu $a3, $s1, $zero +/* B5396C 8024113C 0200282D */ daddu $a1, $s0, $zero +/* B53970 80241140 27A6002C */ addiu $a2, $sp, 0x2c +/* B53974 80241144 C662003C */ lwc1 $f2, 0x3c($s3) +/* B53978 80241148 C6660038 */ lwc1 $f6, 0x38($s3) +/* B5397C 8024114C 3C01402A */ lui $at, 0x402a +/* B53980 80241150 4481A800 */ mtc1 $at, $f21 +/* B53984 80241154 4480A000 */ mtc1 $zero, $f20 +/* B53988 80241158 460010A1 */ cvt.d.s $f2, $f2 +/* B5398C 8024115C 46341080 */ add.d $f2, $f2, $f20 +/* B53990 80241160 C660001C */ lwc1 $f0, 0x1c($s3) +/* B53994 80241164 C6640040 */ lwc1 $f4, 0x40($s3) +/* B53998 80241168 46000005 */ abs.s $f0, $f0 +/* B5399C 8024116C E7A40030 */ swc1 $f4, 0x30($sp) +/* B539A0 80241170 3C014030 */ lui $at, 0x4030 +/* B539A4 80241174 44812800 */ mtc1 $at, $f5 +/* B539A8 80241178 44802000 */ mtc1 $zero, $f4 +/* B539AC 8024117C 46000021 */ cvt.d.s $f0, $f0 +/* B539B0 80241180 E7A60028 */ swc1 $f6, 0x28($sp) +/* B539B4 80241184 46240000 */ add.d $f0, $f0, $f4 +/* B539B8 80241188 462010A0 */ cvt.s.d $f2, $f2 +/* B539BC 8024118C E7A2002C */ swc1 $f2, 0x2c($sp) +/* B539C0 80241190 46200020 */ cvt.s.d $f0, $f0 +/* B539C4 80241194 E7A00038 */ swc1 $f0, 0x38($sp) +/* B539C8 80241198 AFB20010 */ sw $s2, 0x10($sp) +/* B539CC 8024119C 8E640080 */ lw $a0, 0x80($s3) +/* B539D0 802411A0 0C0372DF */ jal func_800DCB7C +/* B539D4 802411A4 0220382D */ daddu $a3, $s1, $zero +/* B539D8 802411A8 1040003D */ beqz $v0, .L802412A0 +/* B539DC 802411AC 00000000 */ nop +/* B539E0 802411B0 C660001C */ lwc1 $f0, 0x1c($s3) +/* B539E4 802411B4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B539E8 802411B8 46000005 */ abs.s $f0, $f0 +/* B539EC 802411BC 46000021 */ cvt.d.s $f0, $f0 +/* B539F0 802411C0 46340000 */ add.d $f0, $f0, $f20 +/* B539F4 802411C4 460010A1 */ cvt.d.s $f2, $f2 +/* B539F8 802411C8 4620103E */ c.le.d $f2, $f0 +/* B539FC 802411CC 00000000 */ nop +/* B53A00 802411D0 45000033 */ bc1f .L802412A0 +/* B53A04 802411D4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B53A08 802411D8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B53A0C 802411DC 8E620000 */ lw $v0, ($s3) +/* B53A10 802411E0 AE60001C */ sw $zero, 0x1c($s3) +/* B53A14 802411E4 00431024 */ and $v0, $v0, $v1 +/* B53A18 802411E8 E660003C */ swc1 $f0, 0x3c($s3) +/* B53A1C 802411EC AE620000 */ sw $v0, ($s3) +/* B53A20 802411F0 AFA00010 */ sw $zero, 0x10($sp) +/* B53A24 802411F4 AFA00014 */ sw $zero, 0x14($sp) +/* B53A28 802411F8 8E650038 */ lw $a1, 0x38($s3) +/* B53A2C 802411FC 8E66003C */ lw $a2, 0x3c($s3) +/* B53A30 80241200 8E670040 */ lw $a3, 0x40($s3) +/* B53A34 80241204 0C01BECC */ jal fx_walk_normal +/* B53A38 80241208 24040002 */ addiu $a0, $zero, 2 +/* B53A3C 8024120C 02E0202D */ daddu $a0, $s7, $zero +/* B53A40 80241210 2402000C */ addiu $v0, $zero, 0xc +/* B53A44 80241214 AE820070 */ sw $v0, 0x70($s4) +/* B53A48 80241218 24020001 */ addiu $v0, $zero, 1 +/* B53A4C 8024121C AFA20010 */ sw $v0, 0x10($sp) +/* B53A50 80241220 8EC60024 */ lw $a2, 0x24($s6) +/* B53A54 80241224 8EC70028 */ lw $a3, 0x28($s6) +/* B53A58 80241228 0C01242D */ jal func_800490B4 +/* B53A5C 8024122C 02A0282D */ daddu $a1, $s5, $zero +/* B53A60 80241230 14400022 */ bnez $v0, .L802412BC +/* B53A64 80241234 24040002 */ addiu $a0, $zero, 2 +/* B53A68 80241238 0260282D */ daddu $a1, $s3, $zero +/* B53A6C 8024123C 0000302D */ daddu $a2, $zero, $zero +/* B53A70 80241240 866300A8 */ lh $v1, 0xa8($s3) +/* B53A74 80241244 3C013F80 */ lui $at, 0x3f80 +/* B53A78 80241248 44810000 */ mtc1 $at, $f0 +/* B53A7C 8024124C 3C014000 */ lui $at, 0x4000 +/* B53A80 80241250 44811000 */ mtc1 $at, $f2 +/* B53A84 80241254 3C01C1A0 */ lui $at, 0xc1a0 +/* B53A88 80241258 44812000 */ mtc1 $at, $f4 +/* B53A8C 8024125C 2402000F */ addiu $v0, $zero, 0xf +/* B53A90 80241260 AFA2001C */ sw $v0, 0x1c($sp) +/* B53A94 80241264 44834000 */ mtc1 $v1, $f8 +/* B53A98 80241268 00000000 */ nop +/* B53A9C 8024126C 46804220 */ cvt.s.w $f8, $f8 +/* B53AA0 80241270 44074000 */ mfc1 $a3, $f8 +/* B53AA4 80241274 27A2003C */ addiu $v0, $sp, 0x3c +/* B53AA8 80241278 AFA20020 */ sw $v0, 0x20($sp) +/* B53AAC 8024127C E7A00010 */ swc1 $f0, 0x10($sp) +/* B53AB0 80241280 E7A20014 */ swc1 $f2, 0x14($sp) +/* B53AB4 80241284 0C01BFA4 */ jal fx_emote +/* B53AB8 80241288 E7A40018 */ swc1 $f4, 0x18($sp) +/* B53ABC 8024128C 24020019 */ addiu $v0, $zero, 0x19 +/* B53AC0 80241290 A662008E */ sh $v0, 0x8e($s3) +/* B53AC4 80241294 2402000E */ addiu $v0, $zero, 0xe +/* B53AC8 80241298 080904AF */ j .L802412BC +/* B53ACC 8024129C AE820070 */ sw $v0, 0x70($s4) +.L802412A0: +/* B53AD0 802412A0 C664003C */ lwc1 $f4, 0x3c($s3) +/* B53AD4 802412A4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B53AD8 802412A8 46002100 */ add.s $f4, $f4, $f0 +/* B53ADC 802412AC C6620014 */ lwc1 $f2, 0x14($s3) +/* B53AE0 802412B0 46020001 */ sub.s $f0, $f0, $f2 +/* B53AE4 802412B4 E664003C */ swc1 $f4, 0x3c($s3) +/* B53AE8 802412B8 E660001C */ swc1 $f0, 0x1c($s3) +.L802412BC: +/* B53AEC 802412BC 8FBF0060 */ lw $ra, 0x60($sp) +/* B53AF0 802412C0 8FB7005C */ lw $s7, 0x5c($sp) +/* B53AF4 802412C4 8FB60058 */ lw $s6, 0x58($sp) +/* B53AF8 802412C8 8FB50054 */ lw $s5, 0x54($sp) +/* B53AFC 802412CC 8FB40050 */ lw $s4, 0x50($sp) +/* B53B00 802412D0 8FB3004C */ lw $s3, 0x4c($sp) +/* B53B04 802412D4 8FB20048 */ lw $s2, 0x48($sp) +/* B53B08 802412D8 8FB10044 */ lw $s1, 0x44($sp) +/* B53B0C 802412DC 8FB00040 */ lw $s0, 0x40($sp) +/* B53B10 802412E0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B53B14 802412E4 03E00008 */ jr $ra +/* B53B18 802412E8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802412EC.s b/asm/nonmatchings/world/area_jan/jan_06/func_802412EC.s new file mode 100644 index 0000000000..467c0dfd08 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802412EC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412EC +/* B53B1C 802412EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B53B20 802412F0 AFB00010 */ sw $s0, 0x10($sp) +/* B53B24 802412F4 0080802D */ daddu $s0, $a0, $zero +/* B53B28 802412F8 AFBF0014 */ sw $ra, 0x14($sp) +/* B53B2C 802412FC 8E020148 */ lw $v0, 0x148($s0) +/* B53B30 80241300 0C00EABB */ jal get_npc_unsafe +/* B53B34 80241304 84440008 */ lh $a0, 8($v0) +/* B53B38 80241308 9443008E */ lhu $v1, 0x8e($v0) +/* B53B3C 8024130C 2463FFFF */ addiu $v1, $v1, -1 +/* B53B40 80241310 A443008E */ sh $v1, 0x8e($v0) +/* B53B44 80241314 00031C00 */ sll $v1, $v1, 0x10 +/* B53B48 80241318 58600001 */ blezl $v1, .L80241320 +/* B53B4C 8024131C AE000070 */ sw $zero, 0x70($s0) +.L80241320: +/* B53B50 80241320 8FBF0014 */ lw $ra, 0x14($sp) +/* B53B54 80241324 8FB00010 */ lw $s0, 0x10($sp) +/* B53B58 80241328 03E00008 */ jr $ra +/* B53B5C 8024132C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241330_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241330_B52830.s new file mode 100644 index 0000000000..6ded4b1c9e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241330_B52830.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241330_B53B60 +/* B53B60 80241330 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B53B64 80241334 AFB3003C */ sw $s3, 0x3c($sp) +/* B53B68 80241338 0080982D */ daddu $s3, $a0, $zero +/* B53B6C 8024133C AFBF0048 */ sw $ra, 0x48($sp) +/* B53B70 80241340 AFB50044 */ sw $s5, 0x44($sp) +/* B53B74 80241344 AFB40040 */ sw $s4, 0x40($sp) +/* B53B78 80241348 AFB20038 */ sw $s2, 0x38($sp) +/* B53B7C 8024134C AFB10034 */ sw $s1, 0x34($sp) +/* B53B80 80241350 AFB00030 */ sw $s0, 0x30($sp) +/* B53B84 80241354 8E720148 */ lw $s2, 0x148($s3) +/* B53B88 80241358 86440008 */ lh $a0, 8($s2) +/* B53B8C 8024135C 8E70000C */ lw $s0, 0xc($s3) +/* B53B90 80241360 0C00EABB */ jal get_npc_unsafe +/* B53B94 80241364 00A0882D */ daddu $s1, $a1, $zero +/* B53B98 80241368 8E050000 */ lw $a1, ($s0) +/* B53B9C 8024136C 26100004 */ addiu $s0, $s0, 4 +/* B53BA0 80241370 0260202D */ daddu $a0, $s3, $zero +/* B53BA4 80241374 0C0B1EAF */ jal get_variable +/* B53BA8 80241378 0040A82D */ daddu $s5, $v0, $zero +/* B53BAC 8024137C 0260202D */ daddu $a0, $s3, $zero +/* B53BB0 80241380 8E050000 */ lw $a1, ($s0) +/* B53BB4 80241384 0C0B1EAF */ jal get_variable +/* B53BB8 80241388 0040A02D */ daddu $s4, $v0, $zero +/* B53BBC 8024138C AE420094 */ sw $v0, 0x94($s2) +/* B53BC0 80241390 AFA00010 */ sw $zero, 0x10($sp) +/* B53BC4 80241394 8E4200D0 */ lw $v0, 0xd0($s2) +/* B53BC8 80241398 8C420030 */ lw $v0, 0x30($v0) +/* B53BCC 8024139C AFA20014 */ sw $v0, 0x14($sp) +/* B53BD0 802413A0 8E4200D0 */ lw $v0, 0xd0($s2) +/* B53BD4 802413A4 8C42001C */ lw $v0, 0x1c($v0) +/* B53BD8 802413A8 AFA20018 */ sw $v0, 0x18($sp) +/* B53BDC 802413AC 8E4200D0 */ lw $v0, 0xd0($s2) +/* B53BE0 802413B0 8C420024 */ lw $v0, 0x24($v0) +/* B53BE4 802413B4 AFA2001C */ sw $v0, 0x1c($sp) +/* B53BE8 802413B8 8E4200D0 */ lw $v0, 0xd0($s2) +/* B53BEC 802413BC 8C420028 */ lw $v0, 0x28($v0) +/* B53BF0 802413C0 AFA20020 */ sw $v0, 0x20($sp) +/* B53BF4 802413C4 8E4200D0 */ lw $v0, 0xd0($s2) +/* B53BF8 802413C8 3C0142C8 */ lui $at, 0x42c8 +/* B53BFC 802413CC 44810000 */ mtc1 $at, $f0 +/* B53C00 802413D0 8C42002C */ lw $v0, 0x2c($v0) +/* B53C04 802413D4 27B00010 */ addiu $s0, $sp, 0x10 +/* B53C08 802413D8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B53C0C 802413DC A7A0002C */ sh $zero, 0x2c($sp) +/* B53C10 802413E0 12200019 */ beqz $s1, .L80241448 +/* B53C14 802413E4 AFA20024 */ sw $v0, 0x24($sp) +/* B53C18 802413E8 AE600070 */ sw $zero, 0x70($s3) +/* B53C1C 802413EC A6A0008E */ sh $zero, 0x8e($s5) +/* B53C20 802413F0 AE600074 */ sw $zero, 0x74($s3) +/* B53C24 802413F4 8EA20000 */ lw $v0, ($s5) +/* B53C28 802413F8 2403F7FF */ addiu $v1, $zero, -0x801 +/* B53C2C 802413FC 00431024 */ and $v0, $v0, $v1 +/* B53C30 80241400 2403FDFF */ addiu $v1, $zero, -0x201 +/* B53C34 80241404 00431024 */ and $v0, $v0, $v1 +/* B53C38 80241408 34420008 */ ori $v0, $v0, 8 +/* B53C3C 8024140C AEA20000 */ sw $v0, ($s5) +/* B53C40 80241410 8E4200B0 */ lw $v0, 0xb0($s2) +/* B53C44 80241414 34420018 */ ori $v0, $v0, 0x18 +/* B53C48 80241418 AE4200B0 */ sw $v0, 0xb0($s2) +/* B53C4C 8024141C 8E420000 */ lw $v0, ($s2) +/* B53C50 80241420 3C034000 */ lui $v1, 0x4000 +/* B53C54 80241424 00431024 */ and $v0, $v0, $v1 +/* B53C58 80241428 10400007 */ beqz $v0, .L80241448 +/* B53C5C 8024142C 3C03BFFF */ lui $v1, 0xbfff +/* B53C60 80241430 2402000C */ addiu $v0, $zero, 0xc +/* B53C64 80241434 AE620070 */ sw $v0, 0x70($s3) +/* B53C68 80241438 8E420000 */ lw $v0, ($s2) +/* B53C6C 8024143C 3463FFFF */ ori $v1, $v1, 0xffff +/* B53C70 80241440 00431024 */ and $v0, $v0, $v1 +/* B53C74 80241444 AE420000 */ sw $v0, ($s2) +.L80241448: +/* B53C78 80241448 8E4300B0 */ lw $v1, 0xb0($s2) +/* B53C7C 8024144C 30620004 */ andi $v0, $v1, 4 +/* B53C80 80241450 10400007 */ beqz $v0, .L80241470 +/* B53C84 80241454 00000000 */ nop +/* B53C88 80241458 824200B4 */ lb $v0, 0xb4($s2) +/* B53C8C 8024145C 14400034 */ bnez $v0, .L80241530 +/* B53C90 80241460 0000102D */ daddu $v0, $zero, $zero +/* B53C94 80241464 2402FFFB */ addiu $v0, $zero, -5 +/* B53C98 80241468 00621024 */ and $v0, $v1, $v0 +/* B53C9C 8024146C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241470: +/* B53CA0 80241470 8E630070 */ lw $v1, 0x70($s3) +/* B53CA4 80241474 2C62000F */ sltiu $v0, $v1, 0xf +/* B53CA8 80241478 1040002C */ beqz $v0, .L8024152C +/* B53CAC 8024147C 00031080 */ sll $v0, $v1, 2 +/* B53CB0 80241480 3C018024 */ lui $at, 0x8024 +/* B53CB4 80241484 00220821 */ addu $at, $at, $v0 +/* B53CB8 80241488 8C226CB8 */ lw $v0, 0x6cb8($at) +/* B53CBC 8024148C 00400008 */ jr $v0 +/* B53CC0 80241490 00000000 */ nop +/* B53CC4 80241494 0260202D */ daddu $a0, $s3, $zero +/* B53CC8 80241498 0280282D */ daddu $a1, $s4, $zero +/* B53CCC 8024149C 0C0901D0 */ jal func_80240740 +/* B53CD0 802414A0 0200302D */ daddu $a2, $s0, $zero +/* B53CD4 802414A4 0260202D */ daddu $a0, $s3, $zero +/* B53CD8 802414A8 0280282D */ daddu $a1, $s4, $zero +/* B53CDC 802414AC 0C09025C */ jal func_80240970 +/* B53CE0 802414B0 0200302D */ daddu $a2, $s0, $zero +/* B53CE4 802414B4 0809054C */ j .L80241530 +/* B53CE8 802414B8 0000102D */ daddu $v0, $zero, $zero +/* B53CEC 802414BC 0260202D */ daddu $a0, $s3, $zero +/* B53CF0 802414C0 0280282D */ daddu $a1, $s4, $zero +/* B53CF4 802414C4 0C09032A */ jal func_80240CA8 +/* B53CF8 802414C8 0200302D */ daddu $a2, $s0, $zero +/* B53CFC 802414CC 8E630070 */ lw $v1, 0x70($s3) +/* B53D00 802414D0 24020003 */ addiu $v0, $zero, 3 +/* B53D04 802414D4 14620016 */ bne $v1, $v0, .L80241530 +/* B53D08 802414D8 0000102D */ daddu $v0, $zero, $zero +/* B53D0C 802414DC 0260202D */ daddu $a0, $s3, $zero +/* B53D10 802414E0 0280282D */ daddu $a1, $s4, $zero +/* B53D14 802414E4 0C09035A */ jal delete_player_actor +/* B53D18 802414E8 0200302D */ daddu $a2, $s0, $zero +/* B53D1C 802414EC 0809054C */ j .L80241530 +/* B53D20 802414F0 0000102D */ daddu $v0, $zero, $zero +/* B53D24 802414F4 0260202D */ daddu $a0, $s3, $zero +/* B53D28 802414F8 0280282D */ daddu $a1, $s4, $zero +/* B53D2C 802414FC 0C0903C3 */ jal func_80240F0C +/* B53D30 80241500 0200302D */ daddu $a2, $s0, $zero +/* B53D34 80241504 0260202D */ daddu $a0, $s3, $zero +/* B53D38 80241508 0280282D */ daddu $a1, $s4, $zero +/* B53D3C 8024150C 0C0903FB */ jal func_80240FEC +/* B53D40 80241510 0200302D */ daddu $a2, $s0, $zero +/* B53D44 80241514 0809054C */ j .L80241530 +/* B53D48 80241518 0000102D */ daddu $v0, $zero, $zero +/* B53D4C 8024151C 0260202D */ daddu $a0, $s3, $zero +/* B53D50 80241520 0280282D */ daddu $a1, $s4, $zero +/* B53D54 80241524 0C0904BB */ jal func_802412EC +/* B53D58 80241528 0200302D */ daddu $a2, $s0, $zero +.L8024152C: +/* B53D5C 8024152C 0000102D */ daddu $v0, $zero, $zero +.L80241530: +/* B53D60 80241530 8FBF0048 */ lw $ra, 0x48($sp) +/* B53D64 80241534 8FB50044 */ lw $s5, 0x44($sp) +/* B53D68 80241538 8FB40040 */ lw $s4, 0x40($sp) +/* B53D6C 8024153C 8FB3003C */ lw $s3, 0x3c($sp) +/* B53D70 80241540 8FB20038 */ lw $s2, 0x38($sp) +/* B53D74 80241544 8FB10034 */ lw $s1, 0x34($sp) +/* B53D78 80241548 8FB00030 */ lw $s0, 0x30($sp) +/* B53D7C 8024154C 03E00008 */ jr $ra +/* B53D80 80241550 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241554_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241554_B52830.s new file mode 100644 index 0000000000..75c16bc8a9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241554_B52830.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241554_B53D84 +/* B53D84 80241554 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B53D88 80241558 AFBF0020 */ sw $ra, 0x20($sp) +/* B53D8C 8024155C AFB1001C */ sw $s1, 0x1c($sp) +/* B53D90 80241560 AFB00018 */ sw $s0, 0x18($sp) +/* B53D94 80241564 8C910148 */ lw $s1, 0x148($a0) +/* B53D98 80241568 0C00EABB */ jal get_npc_unsafe +/* B53D9C 8024156C 86240008 */ lh $a0, 8($s1) +/* B53DA0 80241570 8E23006C */ lw $v1, 0x6c($s1) +/* B53DA4 80241574 28630005 */ slti $v1, $v1, 5 +/* B53DA8 80241578 1060001D */ beqz $v1, .L802415F0 +/* B53DAC 8024157C 0040802D */ daddu $s0, $v0, $zero +/* B53DB0 80241580 0C00A67F */ jal rand_int +/* B53DB4 80241584 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B53DB8 80241588 2842012D */ slti $v0, $v0, 0x12d +/* B53DBC 8024158C 14400018 */ bnez $v0, .L802415F0 +/* B53DC0 80241590 24020003 */ addiu $v0, $zero, 3 +/* B53DC4 80241594 860300A8 */ lh $v1, 0xa8($s0) +/* B53DC8 80241598 C604003C */ lwc1 $f4, 0x3c($s0) +/* B53DCC 8024159C C6000040 */ lwc1 $f0, 0x40($s0) +/* B53DD0 802415A0 3C014014 */ lui $at, 0x4014 +/* B53DD4 802415A4 44811800 */ mtc1 $at, $f3 +/* B53DD8 802415A8 44801000 */ mtc1 $zero, $f2 +/* B53DDC 802415AC AFA20010 */ sw $v0, 0x10($sp) +/* B53DE0 802415B0 46000021 */ cvt.d.s $f0, $f0 +/* B53DE4 802415B4 46220000 */ add.d $f0, $f0, $f2 +/* B53DE8 802415B8 AFA00014 */ sw $zero, 0x14($sp) +/* B53DEC 802415BC 44831000 */ mtc1 $v1, $f2 +/* B53DF0 802415C0 00000000 */ nop +/* B53DF4 802415C4 468010A0 */ cvt.s.w $f2, $f2 +/* B53DF8 802415C8 46022100 */ add.s $f4, $f4, $f2 +/* B53DFC 802415CC 8E050038 */ lw $a1, 0x38($s0) +/* B53E00 802415D0 46200020 */ cvt.s.d $f0, $f0 +/* B53E04 802415D4 44062000 */ mfc1 $a2, $f4 +/* B53E08 802415D8 44070000 */ mfc1 $a3, $f0 +/* B53E0C 802415DC 0C04C6A5 */ jal make_item_entity_nodelay +/* B53E10 802415E0 24040156 */ addiu $a0, $zero, 0x156 +/* B53E14 802415E4 8E22006C */ lw $v0, 0x6c($s1) +/* B53E18 802415E8 24420001 */ addiu $v0, $v0, 1 +/* B53E1C 802415EC AE22006C */ sw $v0, 0x6c($s1) +.L802415F0: +/* B53E20 802415F0 8FBF0020 */ lw $ra, 0x20($sp) +/* B53E24 802415F4 8FB1001C */ lw $s1, 0x1c($sp) +/* B53E28 802415F8 8FB00018 */ lw $s0, 0x18($sp) +/* B53E2C 802415FC 24020002 */ addiu $v0, $zero, 2 +/* B53E30 80241600 03E00008 */ jr $ra +/* B53E34 80241604 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241608_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241608_B52830.s new file mode 100644 index 0000000000..8a374ca252 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241608_B52830.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241608_B53E38 +/* B53E38 80241608 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B53E3C 8024160C AFB10014 */ sw $s1, 0x14($sp) +/* B53E40 80241610 0080882D */ daddu $s1, $a0, $zero +/* B53E44 80241614 AFBF0018 */ sw $ra, 0x18($sp) +/* B53E48 80241618 AFB00010 */ sw $s0, 0x10($sp) +/* B53E4C 8024161C 8E300148 */ lw $s0, 0x148($s1) +/* B53E50 80241620 0C00EABB */ jal get_npc_unsafe +/* B53E54 80241624 86040008 */ lh $a0, 8($s0) +/* B53E58 80241628 3C054387 */ lui $a1, 0x4387 +/* B53E5C 8024162C 0040202D */ daddu $a0, $v0, $zero +/* B53E60 80241630 0C00ECD0 */ jal set_npc_yaw +/* B53E64 80241634 A480008E */ sh $zero, 0x8e($a0) +/* B53E68 80241638 24020003 */ addiu $v0, $zero, 3 +/* B53E6C 8024163C AE00006C */ sw $zero, 0x6c($s0) +/* B53E70 80241640 AE220070 */ sw $v0, 0x70($s1) +/* B53E74 80241644 8FBF0018 */ lw $ra, 0x18($sp) +/* B53E78 80241648 8FB10014 */ lw $s1, 0x14($sp) +/* B53E7C 8024164C 8FB00010 */ lw $s0, 0x10($sp) +/* B53E80 80241650 03E00008 */ jr $ra +/* B53E84 80241654 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241658_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241658_B52830.s new file mode 100644 index 0000000000..7693d8a396 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241658_B52830.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241658_B53E88 +/* B53E88 80241658 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B53E8C 8024165C AFB20028 */ sw $s2, 0x28($sp) +/* B53E90 80241660 0080902D */ daddu $s2, $a0, $zero +/* B53E94 80241664 AFBF002C */ sw $ra, 0x2c($sp) +/* B53E98 80241668 AFB10024 */ sw $s1, 0x24($sp) +/* B53E9C 8024166C AFB00020 */ sw $s0, 0x20($sp) +/* B53EA0 80241670 8E500148 */ lw $s0, 0x148($s2) +/* B53EA4 80241674 0C00EABB */ jal get_npc_unsafe +/* B53EA8 80241678 86040008 */ lh $a0, 8($s0) +/* B53EAC 8024167C 8E03006C */ lw $v1, 0x6c($s0) +/* B53EB0 80241680 1460000B */ bnez $v1, .L802416B0 +/* B53EB4 80241684 0040882D */ daddu $s1, $v0, $zero +/* B53EB8 80241688 0C00A67F */ jal rand_int +/* B53EBC 8024168C 24040064 */ addiu $a0, $zero, 0x64 +/* B53EC0 80241690 28420032 */ slti $v0, $v0, 0x32 +/* B53EC4 80241694 14400002 */ bnez $v0, .L802416A0 +/* B53EC8 80241698 24020001 */ addiu $v0, $zero, 1 +/* B53ECC 8024169C 24020003 */ addiu $v0, $zero, 3 +.L802416A0: +/* B53ED0 802416A0 AE02006C */ sw $v0, 0x6c($s0) +/* B53ED4 802416A4 3C054387 */ lui $a1, 0x4387 +/* B53ED8 802416A8 0C00ECD0 */ jal set_npc_yaw +/* B53EDC 802416AC 0220202D */ daddu $a0, $s1, $zero +.L802416B0: +/* B53EE0 802416B0 8E02006C */ lw $v0, 0x6c($s0) +/* B53EE4 802416B4 2443FFFF */ addiu $v1, $v0, -1 +/* B53EE8 802416B8 2C620006 */ sltiu $v0, $v1, 6 +/* B53EEC 802416BC 1040004D */ beqz $v0, .L802417F4 +/* B53EF0 802416C0 00031080 */ sll $v0, $v1, 2 +/* B53EF4 802416C4 3C018024 */ lui $at, 0x8024 +/* B53EF8 802416C8 00220821 */ addu $at, $at, $v0 +/* B53EFC 802416CC 8C226CF8 */ lw $v0, 0x6cf8($at) +/* B53F00 802416D0 00400008 */ jr $v0 +/* B53F04 802416D4 00000000 */ nop +/* B53F08 802416D8 3C030042 */ lui $v1, 0x42 +/* B53F0C 802416DC 3463000F */ ori $v1, $v1, 0xf +/* B53F10 802416E0 24020002 */ addiu $v0, $zero, 2 +/* B53F14 802416E4 AE02006C */ sw $v0, 0x6c($s0) +/* B53F18 802416E8 AE000070 */ sw $zero, 0x70($s0) +/* B53F1C 802416EC AE230028 */ sw $v1, 0x28($s1) +/* B53F20 802416F0 8E020070 */ lw $v0, 0x70($s0) +/* B53F24 802416F4 24420001 */ addiu $v0, $v0, 1 +/* B53F28 802416F8 AE020070 */ sw $v0, 0x70($s0) +/* B53F2C 802416FC 28420033 */ slti $v0, $v0, 0x33 +/* B53F30 80241700 1440003C */ bnez $v0, .L802417F4 +/* B53F34 80241704 24020005 */ addiu $v0, $zero, 5 +/* B53F38 80241708 080905FD */ j .L802417F4 +/* B53F3C 8024170C AE02006C */ sw $v0, 0x6c($s0) +/* B53F40 80241710 3C030042 */ lui $v1, 0x42 +/* B53F44 80241714 34630010 */ ori $v1, $v1, 0x10 +/* B53F48 80241718 24020004 */ addiu $v0, $zero, 4 +/* B53F4C 8024171C AE02006C */ sw $v0, 0x6c($s0) +/* B53F50 80241720 AE000070 */ sw $zero, 0x70($s0) +/* B53F54 80241724 AE230028 */ sw $v1, 0x28($s1) +/* B53F58 80241728 8E020070 */ lw $v0, 0x70($s0) +/* B53F5C 8024172C 24030019 */ addiu $v1, $zero, 0x19 +/* B53F60 80241730 24420001 */ addiu $v0, $v0, 1 +/* B53F64 80241734 14430005 */ bne $v0, $v1, .L8024174C +/* B53F68 80241738 AE020070 */ sw $v0, 0x70($s0) +/* B53F6C 8024173C 3C0142B4 */ lui $at, 0x42b4 +/* B53F70 80241740 44810000 */ mtc1 $at, $f0 +/* B53F74 80241744 00000000 */ nop +/* B53F78 80241748 E620000C */ swc1 $f0, 0xc($s1) +.L8024174C: +/* B53F7C 8024174C 8E020070 */ lw $v0, 0x70($s0) +/* B53F80 80241750 2842003D */ slti $v0, $v0, 0x3d +/* B53F84 80241754 14400027 */ bnez $v0, .L802417F4 +/* B53F88 80241758 24020005 */ addiu $v0, $zero, 5 +/* B53F8C 8024175C 080905FD */ j .L802417F4 +/* B53F90 80241760 AE02006C */ sw $v0, 0x6c($s0) +/* B53F94 80241764 3C030042 */ lui $v1, 0x42 +/* B53F98 80241768 24020006 */ addiu $v0, $zero, 6 +/* B53F9C 8024176C 34630003 */ ori $v1, $v1, 3 +/* B53FA0 80241770 AE02006C */ sw $v0, 0x6c($s0) +/* B53FA4 80241774 AE000070 */ sw $zero, 0x70($s0) +/* B53FA8 80241778 862400A8 */ lh $a0, 0xa8($s1) +/* B53FAC 8024177C 2402000A */ addiu $v0, $zero, 0xa +/* B53FB0 80241780 AE230028 */ sw $v1, 0x28($s1) +/* B53FB4 80241784 AFA00014 */ sw $zero, 0x14($sp) +/* B53FB8 80241788 AFA20018 */ sw $v0, 0x18($sp) +/* B53FBC 8024178C 44840000 */ mtc1 $a0, $f0 +/* B53FC0 80241790 00000000 */ nop +/* B53FC4 80241794 46800020 */ cvt.s.w $f0, $f0 +/* B53FC8 80241798 E7A00010 */ swc1 $f0, 0x10($sp) +/* B53FCC 8024179C 8E250038 */ lw $a1, 0x38($s1) +/* B53FD0 802417A0 8E26003C */ lw $a2, 0x3c($s1) +/* B53FD4 802417A4 8E270040 */ lw $a3, 0x40($s1) +/* B53FD8 802417A8 0C01C1E4 */ jal fx_sweat +/* B53FDC 802417AC 0000202D */ daddu $a0, $zero, $zero +/* B53FE0 802417B0 8E020070 */ lw $v0, 0x70($s0) +/* B53FE4 802417B4 24420001 */ addiu $v0, $v0, 1 +/* B53FE8 802417B8 AE020070 */ sw $v0, 0x70($s0) +/* B53FEC 802417BC 2842000B */ slti $v0, $v0, 0xb +/* B53FF0 802417C0 1440000C */ bnez $v0, .L802417F4 +/* B53FF4 802417C4 00000000 */ nop +/* B53FF8 802417C8 0C00A67F */ jal rand_int +/* B53FFC 802417CC 24040064 */ addiu $a0, $zero, 0x64 +/* B54000 802417D0 0040182D */ daddu $v1, $v0, $zero +/* B54004 802417D4 2862005A */ slti $v0, $v1, 0x5a +/* B54008 802417D8 14400005 */ bnez $v0, .L802417F0 +/* B5400C 802417DC 24020007 */ addiu $v0, $zero, 7 +/* B54010 802417E0 2862005F */ slti $v0, $v1, 0x5f +/* B54014 802417E4 14400002 */ bnez $v0, .L802417F0 +/* B54018 802417E8 24020001 */ addiu $v0, $zero, 1 +/* B5401C 802417EC 24020003 */ addiu $v0, $zero, 3 +.L802417F0: +/* B54020 802417F0 AE02006C */ sw $v0, 0x6c($s0) +.L802417F4: +/* B54024 802417F4 8E03006C */ lw $v1, 0x6c($s0) +/* B54028 802417F8 24020007 */ addiu $v0, $zero, 7 +/* B5402C 802417FC 50620001 */ beql $v1, $v0, .L80241804 +/* B54030 80241800 AE400070 */ sw $zero, 0x70($s2) +.L80241804: +/* B54034 80241804 8FBF002C */ lw $ra, 0x2c($sp) +/* B54038 80241808 8FB20028 */ lw $s2, 0x28($sp) +/* B5403C 8024180C 8FB10024 */ lw $s1, 0x24($sp) +/* B54040 80241810 8FB00020 */ lw $s0, 0x20($sp) +/* B54044 80241814 03E00008 */ jr $ra +/* B54048 80241818 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_8024181C_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_8024181C_B52830.s new file mode 100644 index 0000000000..1f947ce7eb --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_8024181C_B52830.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024181C_B5404C +/* B5404C 8024181C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B54050 80241820 AFB10014 */ sw $s1, 0x14($sp) +/* B54054 80241824 0080882D */ daddu $s1, $a0, $zero +/* B54058 80241828 AFBF0018 */ sw $ra, 0x18($sp) +/* B5405C 8024182C AFB00010 */ sw $s0, 0x10($sp) +/* B54060 80241830 8E300148 */ lw $s0, 0x148($s1) +/* B54064 80241834 0C00EABB */ jal get_npc_unsafe +/* B54068 80241838 86040008 */ lh $a0, 8($s0) +/* B5406C 8024183C 24030001 */ addiu $v1, $zero, 1 +/* B54070 80241840 0040202D */ daddu $a0, $v0, $zero +/* B54074 80241844 AE03006C */ sw $v1, 0x6c($s0) +/* B54078 80241848 8482008C */ lh $v0, 0x8c($a0) +/* B5407C 8024184C 14400009 */ bnez $v0, .L80241874 +/* B54080 80241850 24020002 */ addiu $v0, $zero, 2 +/* B54084 80241854 96030072 */ lhu $v1, 0x72($s0) +/* B54088 80241858 AE02006C */ sw $v0, 0x6c($s0) +/* B5408C 8024185C A483008E */ sh $v1, 0x8e($a0) +/* B54090 80241860 8E0200CC */ lw $v0, 0xcc($s0) +/* B54094 80241864 8C420020 */ lw $v0, 0x20($v0) +/* B54098 80241868 AC820028 */ sw $v0, 0x28($a0) +/* B5409C 8024186C 2402001F */ addiu $v0, $zero, 0x1f +/* B540A0 80241870 AE220070 */ sw $v0, 0x70($s1) +.L80241874: +/* B540A4 80241874 8FBF0018 */ lw $ra, 0x18($sp) +/* B540A8 80241878 8FB10014 */ lw $s1, 0x14($sp) +/* B540AC 8024187C 8FB00010 */ lw $s0, 0x10($sp) +/* B540B0 80241880 03E00008 */ jr $ra +/* B540B4 80241884 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241888_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241888_B52830.s new file mode 100644 index 0000000000..3a56e24358 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241888_B52830.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241888_B540B8 +/* B540B8 80241888 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B540BC 8024188C AFB10014 */ sw $s1, 0x14($sp) +/* B540C0 80241890 0080882D */ daddu $s1, $a0, $zero +/* B540C4 80241894 AFBF0018 */ sw $ra, 0x18($sp) +/* B540C8 80241898 AFB00010 */ sw $s0, 0x10($sp) +/* B540CC 8024189C 8E300148 */ lw $s0, 0x148($s1) +/* B540D0 802418A0 0C00EABB */ jal get_npc_unsafe +/* B540D4 802418A4 86040008 */ lh $a0, 8($s0) +/* B540D8 802418A8 0040202D */ daddu $a0, $v0, $zero +/* B540DC 802418AC 9482008E */ lhu $v0, 0x8e($a0) +/* B540E0 802418B0 2442FFFF */ addiu $v0, $v0, -1 +/* B540E4 802418B4 A482008E */ sh $v0, 0x8e($a0) +/* B540E8 802418B8 00021400 */ sll $v0, $v0, 0x10 +/* B540EC 802418BC 1C400009 */ bgtz $v0, .L802418E4 +/* B540F0 802418C0 24020003 */ addiu $v0, $zero, 3 +/* B540F4 802418C4 96030076 */ lhu $v1, 0x76($s0) +/* B540F8 802418C8 AE02006C */ sw $v0, 0x6c($s0) +/* B540FC 802418CC A483008E */ sh $v1, 0x8e($a0) +/* B54100 802418D0 8E0200CC */ lw $v0, 0xcc($s0) +/* B54104 802418D4 8C420024 */ lw $v0, 0x24($v0) +/* B54108 802418D8 AC820028 */ sw $v0, 0x28($a0) +/* B5410C 802418DC 24020020 */ addiu $v0, $zero, 0x20 +/* B54110 802418E0 AE220070 */ sw $v0, 0x70($s1) +.L802418E4: +/* B54114 802418E4 8FBF0018 */ lw $ra, 0x18($sp) +/* B54118 802418E8 8FB10014 */ lw $s1, 0x14($sp) +/* B5411C 802418EC 8FB00010 */ lw $s0, 0x10($sp) +/* B54120 802418F0 03E00008 */ jr $ra +/* B54124 802418F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802418F8.s b/asm/nonmatchings/world/area_jan/jan_06/func_802418F8.s new file mode 100644 index 0000000000..c4b5cbf082 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802418F8.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418F8 +/* B54128 802418F8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B5412C 802418FC AFB10034 */ sw $s1, 0x34($sp) +/* B54130 80241900 0080882D */ daddu $s1, $a0, $zero +/* B54134 80241904 AFBF0038 */ sw $ra, 0x38($sp) +/* B54138 80241908 AFB00030 */ sw $s0, 0x30($sp) +/* B5413C 8024190C 8E300148 */ lw $s0, 0x148($s1) +/* B54140 80241910 0C00EABB */ jal get_npc_unsafe +/* B54144 80241914 86040008 */ lh $a0, 8($s0) +/* B54148 80241918 0040282D */ daddu $a1, $v0, $zero +/* B5414C 8024191C 94A2008E */ lhu $v0, 0x8e($a1) +/* B54150 80241920 2442FFFF */ addiu $v0, $v0, -1 +/* B54154 80241924 A4A2008E */ sh $v0, 0x8e($a1) +/* B54158 80241928 00021400 */ sll $v0, $v0, 0x10 +/* B5415C 8024192C 1C400023 */ bgtz $v0, .L802419BC +/* B54160 80241930 24020004 */ addiu $v0, $zero, 4 +/* B54164 80241934 8E0300CC */ lw $v1, 0xcc($s0) +/* B54168 80241938 AE02006C */ sw $v0, 0x6c($s0) +/* B5416C 8024193C 8C620000 */ lw $v0, ($v1) +/* B54170 80241940 ACA20028 */ sw $v0, 0x28($a1) +/* B54174 80241944 9602007A */ lhu $v0, 0x7a($s0) +/* B54178 80241948 A4A2008E */ sh $v0, 0x8e($a1) +/* B5417C 8024194C 8E020078 */ lw $v0, 0x78($s0) +/* B54180 80241950 28420008 */ slti $v0, $v0, 8 +/* B54184 80241954 14400018 */ bnez $v0, .L802419B8 +/* B54188 80241958 24020021 */ addiu $v0, $zero, 0x21 +/* B5418C 8024195C 24040003 */ addiu $a0, $zero, 3 +/* B54190 80241960 27A30028 */ addiu $v1, $sp, 0x28 +/* B54194 80241964 84A700A8 */ lh $a3, 0xa8($a1) +/* B54198 80241968 3C013F80 */ lui $at, 0x3f80 +/* B5419C 8024196C 44810000 */ mtc1 $at, $f0 +/* B541A0 80241970 3C014000 */ lui $at, 0x4000 +/* B541A4 80241974 44811000 */ mtc1 $at, $f2 +/* B541A8 80241978 3C01C1A0 */ lui $at, 0xc1a0 +/* B541AC 8024197C 44812000 */ mtc1 $at, $f4 +/* B541B0 80241980 44873000 */ mtc1 $a3, $f6 +/* B541B4 80241984 00000000 */ nop +/* B541B8 80241988 468031A0 */ cvt.s.w $f6, $f6 +/* B541BC 8024198C E7A00010 */ swc1 $f0, 0x10($sp) +/* B541C0 80241990 E7A20014 */ swc1 $f2, 0x14($sp) +/* B541C4 80241994 E7A40018 */ swc1 $f4, 0x18($sp) +/* B541C8 80241998 8E020078 */ lw $v0, 0x78($s0) +/* B541CC 8024199C 44073000 */ mfc1 $a3, $f6 +/* B541D0 802419A0 0000302D */ daddu $a2, $zero, $zero +/* B541D4 802419A4 AFA30020 */ sw $v1, 0x20($sp) +/* B541D8 802419A8 2442FFFF */ addiu $v0, $v0, -1 +/* B541DC 802419AC 0C01BFA4 */ jal fx_emote +/* B541E0 802419B0 AFA2001C */ sw $v0, 0x1c($sp) +/* B541E4 802419B4 24020021 */ addiu $v0, $zero, 0x21 +.L802419B8: +/* B541E8 802419B8 AE220070 */ sw $v0, 0x70($s1) +.L802419BC: +/* B541EC 802419BC 8FBF0038 */ lw $ra, 0x38($sp) +/* B541F0 802419C0 8FB10034 */ lw $s1, 0x34($sp) +/* B541F4 802419C4 8FB00030 */ lw $s0, 0x30($sp) +/* B541F8 802419C8 03E00008 */ jr $ra +/* B541FC 802419CC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802419D0_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_802419D0_B52830.s new file mode 100644 index 0000000000..d83ba7654d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802419D0_B52830.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D0_B54200 +/* B54200 802419D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B54204 802419D4 AFB10014 */ sw $s1, 0x14($sp) +/* B54208 802419D8 0080882D */ daddu $s1, $a0, $zero +/* B5420C 802419DC AFBF0018 */ sw $ra, 0x18($sp) +/* B54210 802419E0 AFB00010 */ sw $s0, 0x10($sp) +/* B54214 802419E4 8E300148 */ lw $s0, 0x148($s1) +/* B54218 802419E8 0C00EABB */ jal get_npc_unsafe +/* B5421C 802419EC 86040008 */ lh $a0, 8($s0) +/* B54220 802419F0 9443008E */ lhu $v1, 0x8e($v0) +/* B54224 802419F4 2463FFFF */ addiu $v1, $v1, -1 +/* B54228 802419F8 A443008E */ sh $v1, 0x8e($v0) +/* B5422C 802419FC 00031C00 */ sll $v1, $v1, 0x10 +/* B54230 80241A00 1C600003 */ bgtz $v1, .L80241A10 +/* B54234 80241A04 2402000C */ addiu $v0, $zero, 0xc +/* B54238 80241A08 AE00006C */ sw $zero, 0x6c($s0) +/* B5423C 80241A0C AE220070 */ sw $v0, 0x70($s1) +.L80241A10: +/* B54240 80241A10 8FBF0018 */ lw $ra, 0x18($sp) +/* B54244 80241A14 8FB10014 */ lw $s1, 0x14($sp) +/* B54248 80241A18 8FB00010 */ lw $s0, 0x10($sp) +/* B5424C 80241A1C 03E00008 */ jr $ra +/* B54250 80241A20 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241A24.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241A24.s new file mode 100644 index 0000000000..6d50f776b9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241A24.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A24 +/* B54254 80241A24 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B54258 80241A28 AFBF0024 */ sw $ra, 0x24($sp) +/* B5425C 80241A2C AFB40020 */ sw $s4, 0x20($sp) +/* B54260 80241A30 AFB3001C */ sw $s3, 0x1c($sp) +/* B54264 80241A34 AFB20018 */ sw $s2, 0x18($sp) +/* B54268 80241A38 AFB10014 */ sw $s1, 0x14($sp) +/* B5426C 80241A3C AFB00010 */ sw $s0, 0x10($sp) +/* B54270 80241A40 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B54274 80241A44 8C900148 */ lw $s0, 0x148($a0) +/* B54278 80241A48 86040008 */ lh $a0, 8($s0) +/* B5427C 80241A4C 0C00EABB */ jal get_npc_unsafe +/* B54280 80241A50 24110001 */ addiu $s1, $zero, 1 +/* B54284 80241A54 86040008 */ lh $a0, 8($s0) +/* B54288 80241A58 0040802D */ daddu $s0, $v0, $zero +/* B5428C 80241A5C 3C05800B */ lui $a1, %hi(gCameras) +/* B54290 80241A60 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B54294 80241A64 3C03800A */ lui $v1, 0x800a +/* B54298 80241A68 8463A634 */ lh $v1, -0x59cc($v1) +/* B5429C 80241A6C 00912021 */ addu $a0, $a0, $s1 +/* B542A0 80241A70 00031080 */ sll $v0, $v1, 2 +/* B542A4 80241A74 00431021 */ addu $v0, $v0, $v1 +/* B542A8 80241A78 00021080 */ sll $v0, $v0, 2 +/* B542AC 80241A7C 00431023 */ subu $v0, $v0, $v1 +/* B542B0 80241A80 000218C0 */ sll $v1, $v0, 3 +/* B542B4 80241A84 00431021 */ addu $v0, $v0, $v1 +/* B542B8 80241A88 000210C0 */ sll $v0, $v0, 3 +/* B542BC 80241A8C 0C00FB3A */ jal get_enemy +/* B542C0 80241A90 00459021 */ addu $s2, $v0, $a1 +/* B542C4 80241A94 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B542C8 80241A98 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B542CC 80241A9C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B542D0 80241AA0 8E830000 */ lw $v1, ($s4) +/* B542D4 80241AA4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B542D8 80241AA8 8C660028 */ lw $a2, 0x28($v1) +/* B542DC 80241AAC 8C670030 */ lw $a3, 0x30($v1) +/* B542E0 80241AB0 0C00A7B5 */ jal dist2D +/* B542E4 80241AB4 0040982D */ daddu $s3, $v0, $zero +/* B542E8 80241AB8 C6620074 */ lwc1 $f2, 0x74($s3) +/* B542EC 80241ABC 468010A0 */ cvt.s.w $f2, $f2 +/* B542F0 80241AC0 4600103C */ c.lt.s $f2, $f0 +/* B542F4 80241AC4 00000000 */ nop +/* B542F8 80241AC8 45030001 */ bc1tl .L80241AD0 +/* B542FC 80241ACC 0000882D */ daddu $s1, $zero, $zero +.L80241AD0: +/* B54300 80241AD0 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B54304 80241AD4 C60E000C */ lwc1 $f14, 0xc($s0) +/* B54308 80241AD8 3C014387 */ lui $at, 0x4387 +/* B5430C 80241ADC 4481A000 */ mtc1 $at, $f20 +/* B54310 80241AE0 0C00A70A */ jal get_clamped_angle_diff +/* B54314 80241AE4 00000000 */ nop +/* B54318 80241AE8 0C00A6C9 */ jal clamp_angle +/* B5431C 80241AEC 46000306 */ mov.s $f12, $f0 +/* B54320 80241AF0 3C018024 */ lui $at, 0x8024 +/* B54324 80241AF4 D4226D10 */ ldc1 $f2, 0x6d10($at) +/* B54328 80241AF8 46000021 */ cvt.d.s $f0, $f0 +/* B5432C 80241AFC 4622003C */ c.lt.d $f0, $f2 +/* B54330 80241B00 00000000 */ nop +/* B54334 80241B04 45000003 */ bc1f .L80241B14 +/* B54338 80241B08 00000000 */ nop +/* B5433C 80241B0C 3C0142B4 */ lui $at, 0x42b4 +/* B54340 80241B10 4481A000 */ mtc1 $at, $f20 +.L80241B14: +/* B54344 80241B14 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B54348 80241B18 8E820000 */ lw $v0, ($s4) +/* B5434C 80241B1C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B54350 80241B20 8C460028 */ lw $a2, 0x28($v0) +/* B54354 80241B24 0C00A720 */ jal atan2 +/* B54358 80241B28 8C470030 */ lw $a3, 0x30($v0) +/* B5435C 80241B2C 4600A306 */ mov.s $f12, $f20 +/* B54360 80241B30 0C00A70A */ jal get_clamped_angle_diff +/* B54364 80241B34 46000386 */ mov.s $f14, $f0 +/* B54368 80241B38 C6620078 */ lwc1 $f2, 0x78($s3) +/* B5436C 80241B3C 468010A0 */ cvt.s.w $f2, $f2 +/* B54370 80241B40 46000005 */ abs.s $f0, $f0 +/* B54374 80241B44 4600103C */ c.lt.s $f2, $f0 +/* B54378 80241B48 00000000 */ nop +/* B5437C 80241B4C 45030001 */ bc1tl .L80241B54 +/* B54380 80241B50 0000882D */ daddu $s1, $zero, $zero +.L80241B54: +/* B54384 80241B54 8E820000 */ lw $v0, ($s4) +/* B54388 80241B58 C600003C */ lwc1 $f0, 0x3c($s0) +/* B5438C 80241B5C C442002C */ lwc1 $f2, 0x2c($v0) +/* B54390 80241B60 860200A8 */ lh $v0, 0xa8($s0) +/* B54394 80241B64 46020001 */ sub.s $f0, $f0, $f2 +/* B54398 80241B68 44821000 */ mtc1 $v0, $f2 +/* B5439C 80241B6C 00000000 */ nop +/* B543A0 80241B70 468010A1 */ cvt.d.w $f2, $f2 +/* B543A4 80241B74 46221080 */ add.d $f2, $f2, $f2 +/* B543A8 80241B78 46000005 */ abs.s $f0, $f0 +/* B543AC 80241B7C 46000021 */ cvt.d.s $f0, $f0 +/* B543B0 80241B80 4620103E */ c.le.d $f2, $f0 +/* B543B4 80241B84 00000000 */ nop +/* B543B8 80241B88 45030001 */ bc1tl .L80241B90 +/* B543BC 80241B8C 0000882D */ daddu $s1, $zero, $zero +.L80241B90: +/* B543C0 80241B90 3C038011 */ lui $v1, 0x8011 +/* B543C4 80241B94 8063EBB3 */ lb $v1, -0x144d($v1) +/* B543C8 80241B98 24020009 */ addiu $v0, $zero, 9 +/* B543CC 80241B9C 50620001 */ beql $v1, $v0, .L80241BA4 +/* B543D0 80241BA0 0000882D */ daddu $s1, $zero, $zero +.L80241BA4: +/* B543D4 80241BA4 24020007 */ addiu $v0, $zero, 7 +/* B543D8 80241BA8 50620001 */ beql $v1, $v0, .L80241BB0 +/* B543DC 80241BAC 0000882D */ daddu $s1, $zero, $zero +.L80241BB0: +/* B543E0 80241BB0 0220102D */ daddu $v0, $s1, $zero +/* B543E4 80241BB4 8FBF0024 */ lw $ra, 0x24($sp) +/* B543E8 80241BB8 8FB40020 */ lw $s4, 0x20($sp) +/* B543EC 80241BBC 8FB3001C */ lw $s3, 0x1c($sp) +/* B543F0 80241BC0 8FB20018 */ lw $s2, 0x18($sp) +/* B543F4 80241BC4 8FB10014 */ lw $s1, 0x14($sp) +/* B543F8 80241BC8 8FB00010 */ lw $s0, 0x10($sp) +/* B543FC 80241BCC D7B40028 */ ldc1 $f20, 0x28($sp) +/* B54400 80241BD0 03E00008 */ jr $ra +/* B54404 80241BD4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241BD8_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241BD8_B52830.s new file mode 100644 index 0000000000..b76c33d5f5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241BD8_B52830.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BD8_B54408 +/* B54408 80241BD8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5440C 80241BDC AFB40028 */ sw $s4, 0x28($sp) +/* B54410 80241BE0 0080A02D */ daddu $s4, $a0, $zero +/* B54414 80241BE4 AFBF002C */ sw $ra, 0x2c($sp) +/* B54418 80241BE8 AFB30024 */ sw $s3, 0x24($sp) +/* B5441C 80241BEC AFB20020 */ sw $s2, 0x20($sp) +/* B54420 80241BF0 AFB1001C */ sw $s1, 0x1c($sp) +/* B54424 80241BF4 AFB00018 */ sw $s0, 0x18($sp) +/* B54428 80241BF8 8E910148 */ lw $s1, 0x148($s4) +/* B5442C 80241BFC 86240008 */ lh $a0, 8($s1) +/* B54430 80241C00 0C00EABB */ jal get_npc_unsafe +/* B54434 80241C04 00A0802D */ daddu $s0, $a1, $zero +/* B54438 80241C08 16000005 */ bnez $s0, .L80241C20 +/* B5443C 80241C0C 0040902D */ daddu $s2, $v0, $zero +/* B54440 80241C10 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54444 80241C14 30420004 */ andi $v0, $v0, 4 +/* B54448 80241C18 10400015 */ beqz $v0, .L80241C70 +/* B5444C 80241C1C 00000000 */ nop +.L80241C20: +/* B54450 80241C20 AE800070 */ sw $zero, 0x70($s4) +/* B54454 80241C24 8E420000 */ lw $v0, ($s2) +/* B54458 80241C28 3C031F30 */ lui $v1, 0x1f30 +/* B5445C 80241C2C A640008E */ sh $zero, 0x8e($s2) +/* B54460 80241C30 34420102 */ ori $v0, $v0, 0x102 +/* B54464 80241C34 AE420000 */ sw $v0, ($s2) +/* B54468 80241C38 8E220000 */ lw $v0, ($s1) +/* B5446C 80241C3C 3C01C47A */ lui $at, 0xc47a +/* B54470 80241C40 44810000 */ mtc1 $at, $f0 +/* B54474 80241C44 00431025 */ or $v0, $v0, $v1 +/* B54478 80241C48 AE220000 */ sw $v0, ($s1) +/* B5447C 80241C4C AE400038 */ sw $zero, 0x38($s2) +/* B54480 80241C50 E640003C */ swc1 $f0, 0x3c($s2) +/* B54484 80241C54 AE400040 */ sw $zero, 0x40($s2) +/* B54488 80241C58 8E2300B0 */ lw $v1, 0xb0($s1) +/* B5448C 80241C5C 30620004 */ andi $v0, $v1, 4 +/* B54490 80241C60 10400003 */ beqz $v0, .L80241C70 +/* B54494 80241C64 2402FFFB */ addiu $v0, $zero, -5 +/* B54498 80241C68 00621024 */ and $v0, $v1, $v0 +/* B5449C 80241C6C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241C70: +/* B544A0 80241C70 8E930070 */ lw $s3, 0x70($s4) +/* B544A4 80241C74 12600005 */ beqz $s3, .L80241C8C +/* B544A8 80241C78 24020001 */ addiu $v0, $zero, 1 +/* B544AC 80241C7C 12620048 */ beq $s3, $v0, .L80241DA0 +/* B544B0 80241C80 00000000 */ nop +/* B544B4 80241C84 08090785 */ j .L80241E14 +/* B544B8 80241C88 00000000 */ nop +.L80241C8C: +/* B544BC 80241C8C 86240008 */ lh $a0, 8($s1) +/* B544C0 80241C90 0C00FB3A */ jal get_enemy +/* B544C4 80241C94 2484FFFF */ addiu $a0, $a0, -1 +/* B544C8 80241C98 0040802D */ daddu $s0, $v0, $zero +/* B544CC 80241C9C 0C00EABB */ jal get_npc_unsafe +/* B544D0 80241CA0 86040008 */ lh $a0, 8($s0) +/* B544D4 80241CA4 24030001 */ addiu $v1, $zero, 1 +/* B544D8 80241CA8 0040982D */ daddu $s3, $v0, $zero +/* B544DC 80241CAC A2230007 */ sb $v1, 7($s1) +/* B544E0 80241CB0 8E03006C */ lw $v1, 0x6c($s0) +/* B544E4 80241CB4 24020003 */ addiu $v0, $zero, 3 +/* B544E8 80241CB8 14620056 */ bne $v1, $v0, .L80241E14 +/* B544EC 80241CBC 00000000 */ nop +/* B544F0 80241CC0 8E2500A8 */ lw $a1, 0xa8($s1) +/* B544F4 80241CC4 10A00003 */ beqz $a1, .L80241CD4 +/* B544F8 80241CC8 0260202D */ daddu $a0, $s3, $zero +/* B544FC 80241CCC 0C012530 */ jal func_800494C0 +/* B54500 80241CD0 0000302D */ daddu $a2, $zero, $zero +.L80241CD4: +/* B54504 80241CD4 27A40010 */ addiu $a0, $sp, 0x10 +/* B54508 80241CD8 C6280070 */ lwc1 $f8, 0x70($s1) +/* B5450C 80241CDC 46804220 */ cvt.s.w $f8, $f8 +/* B54510 80241CE0 C6620034 */ lwc1 $f2, 0x34($s3) +/* B54514 80241CE4 3C014387 */ lui $at, 0x4387 +/* B54518 80241CE8 44810000 */ mtc1 $at, $f0 +/* B5451C 80241CEC 44064000 */ mfc1 $a2, $f8 +/* B54520 80241CF0 46020001 */ sub.s $f0, $f0, $f2 +/* B54524 80241CF4 C6660038 */ lwc1 $f6, 0x38($s3) +/* B54528 80241CF8 C6640040 */ lwc1 $f4, 0x40($s3) +/* B5452C 80241CFC 44070000 */ mfc1 $a3, $f0 +/* B54530 80241D00 27A50014 */ addiu $a1, $sp, 0x14 +/* B54534 80241D04 E7A60010 */ swc1 $f6, 0x10($sp) +/* B54538 80241D08 0C00A7E7 */ jal add_vec2D_polar +/* B5453C 80241D0C E7A40014 */ swc1 $f4, 0x14($sp) +/* B54540 80241D10 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B54544 80241D14 4600020D */ trunc.w.s $f8, $f0 +/* B54548 80241D18 44024000 */ mfc1 $v0, $f8 +/* B5454C 80241D1C E6400038 */ swc1 $f0, 0x38($s2) +/* B54550 80241D20 A6220010 */ sh $v0, 0x10($s1) +/* B54554 80241D24 C660003C */ lwc1 $f0, 0x3c($s3) +/* B54558 80241D28 C622006C */ lwc1 $f2, 0x6c($s1) +/* B5455C 80241D2C 468010A0 */ cvt.s.w $f2, $f2 +/* B54560 80241D30 46020000 */ add.s $f0, $f0, $f2 +/* B54564 80241D34 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B54568 80241D38 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B5456C 80241D3C E640003C */ swc1 $f0, 0x3c($s2) +/* B54570 80241D40 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B54574 80241D44 4600020D */ trunc.w.s $f8, $f0 +/* B54578 80241D48 44024000 */ mfc1 $v0, $f8 +/* B5457C 80241D4C 00000000 */ nop +/* B54580 80241D50 A6220012 */ sh $v0, 0x12($s1) +/* B54584 80241D54 4600120D */ trunc.w.s $f8, $f2 +/* B54588 80241D58 44024000 */ mfc1 $v0, $f8 +/* B5458C 80241D5C E6420040 */ swc1 $f2, 0x40($s2) +/* B54590 80241D60 A6220014 */ sh $v0, 0x14($s1) +/* B54594 80241D64 8C660028 */ lw $a2, 0x28($v1) +/* B54598 80241D68 8C670030 */ lw $a3, 0x30($v1) +/* B5459C 80241D6C C64C0038 */ lwc1 $f12, 0x38($s2) +/* B545A0 80241D70 0C00A720 */ jal atan2 +/* B545A4 80241D74 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B545A8 80241D78 3C03E0EF */ lui $v1, 0xe0ef +/* B545AC 80241D7C E640000C */ swc1 $f0, 0xc($s2) +/* B545B0 80241D80 8E220000 */ lw $v0, ($s1) +/* B545B4 80241D84 3463FFFF */ ori $v1, $v1, 0xffff +/* B545B8 80241D88 00431024 */ and $v0, $v0, $v1 +/* B545BC 80241D8C AE220000 */ sw $v0, ($s1) +/* B545C0 80241D90 24020001 */ addiu $v0, $zero, 1 +/* B545C4 80241D94 A640008E */ sh $zero, 0x8e($s2) +/* B545C8 80241D98 08090785 */ j .L80241E14 +/* B545CC 80241D9C AE820070 */ sw $v0, 0x70($s4) +.L80241DA0: +/* B545D0 80241DA0 86240008 */ lh $a0, 8($s1) +/* B545D4 80241DA4 0C00FB3A */ jal get_enemy +/* B545D8 80241DA8 2484FFFF */ addiu $a0, $a0, -1 +/* B545DC 80241DAC 0040802D */ daddu $s0, $v0, $zero +/* B545E0 80241DB0 0C00EABB */ jal get_npc_unsafe +/* B545E4 80241DB4 86040008 */ lh $a0, 8($s0) +/* B545E8 80241DB8 9642008E */ lhu $v0, 0x8e($s2) +/* B545EC 80241DBC 24420001 */ addiu $v0, $v0, 1 +/* B545F0 80241DC0 A642008E */ sh $v0, 0x8e($s2) +/* B545F4 80241DC4 00021400 */ sll $v0, $v0, 0x10 +/* B545F8 80241DC8 8E23007C */ lw $v1, 0x7c($s1) +/* B545FC 80241DCC 00021403 */ sra $v0, $v0, 0x10 +/* B54600 80241DD0 0043102A */ slt $v0, $v0, $v1 +/* B54604 80241DD4 50400001 */ beql $v0, $zero, .L80241DDC +/* B54608 80241DD8 A2200007 */ sb $zero, 7($s1) +.L80241DDC: +/* B5460C 80241DDC 8E03006C */ lw $v1, 0x6c($s0) +/* B54610 80241DE0 24020004 */ addiu $v0, $zero, 4 +/* B54614 80241DE4 1462000B */ bne $v1, $v0, .L80241E14 +/* B54618 80241DE8 3C021F10 */ lui $v0, 0x1f10 +/* B5461C 80241DEC 8E230000 */ lw $v1, ($s1) +/* B54620 80241DF0 3C01C47A */ lui $at, 0xc47a +/* B54624 80241DF4 44810000 */ mtc1 $at, $f0 +/* B54628 80241DF8 00621825 */ or $v1, $v1, $v0 +/* B5462C 80241DFC AE230000 */ sw $v1, ($s1) +/* B54630 80241E00 AE400038 */ sw $zero, 0x38($s2) +/* B54634 80241E04 E640003C */ swc1 $f0, 0x3c($s2) +/* B54638 80241E08 AE400040 */ sw $zero, 0x40($s2) +/* B5463C 80241E0C A2330007 */ sb $s3, 7($s1) +/* B54640 80241E10 AE800070 */ sw $zero, 0x70($s4) +.L80241E14: +/* B54644 80241E14 8FBF002C */ lw $ra, 0x2c($sp) +/* B54648 80241E18 8FB40028 */ lw $s4, 0x28($sp) +/* B5464C 80241E1C 8FB30024 */ lw $s3, 0x24($sp) +/* B54650 80241E20 8FB20020 */ lw $s2, 0x20($sp) +/* B54654 80241E24 8FB1001C */ lw $s1, 0x1c($sp) +/* B54658 80241E28 8FB00018 */ lw $s0, 0x18($sp) +/* B5465C 80241E2C 0000102D */ daddu $v0, $zero, $zero +/* B54660 80241E30 03E00008 */ jr $ra +/* B54664 80241E34 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80241E38.s b/asm/nonmatchings/world/area_jan/jan_06/func_80241E38.s new file mode 100644 index 0000000000..3343b38562 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80241E38.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E38 +/* B54668 80241E38 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B5466C 80241E3C AFB20038 */ sw $s2, 0x38($sp) +/* B54670 80241E40 0080902D */ daddu $s2, $a0, $zero +/* B54674 80241E44 AFBF0048 */ sw $ra, 0x48($sp) +/* B54678 80241E48 AFB50044 */ sw $s5, 0x44($sp) +/* B5467C 80241E4C AFB40040 */ sw $s4, 0x40($sp) +/* B54680 80241E50 AFB3003C */ sw $s3, 0x3c($sp) +/* B54684 80241E54 AFB10034 */ sw $s1, 0x34($sp) +/* B54688 80241E58 AFB00030 */ sw $s0, 0x30($sp) +/* B5468C 80241E5C 8E510148 */ lw $s1, 0x148($s2) +/* B54690 80241E60 86240008 */ lh $a0, 8($s1) +/* B54694 80241E64 0C00EABB */ jal get_npc_unsafe +/* B54698 80241E68 00A0802D */ daddu $s0, $a1, $zero +/* B5469C 80241E6C 8E43000C */ lw $v1, 0xc($s2) +/* B546A0 80241E70 0240202D */ daddu $a0, $s2, $zero +/* B546A4 80241E74 8C650000 */ lw $a1, ($v1) +/* B546A8 80241E78 0C0B1EAF */ jal get_variable +/* B546AC 80241E7C 0040A82D */ daddu $s5, $v0, $zero +/* B546B0 80241E80 AFA00010 */ sw $zero, 0x10($sp) +/* B546B4 80241E84 8E2300D0 */ lw $v1, 0xd0($s1) +/* B546B8 80241E88 8C630030 */ lw $v1, 0x30($v1) +/* B546BC 80241E8C AFA30014 */ sw $v1, 0x14($sp) +/* B546C0 80241E90 8E2300D0 */ lw $v1, 0xd0($s1) +/* B546C4 80241E94 8C63001C */ lw $v1, 0x1c($v1) +/* B546C8 80241E98 AFA30018 */ sw $v1, 0x18($sp) +/* B546CC 80241E9C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B546D0 80241EA0 8C630024 */ lw $v1, 0x24($v1) +/* B546D4 80241EA4 AFA3001C */ sw $v1, 0x1c($sp) +/* B546D8 80241EA8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B546DC 80241EAC 8C630028 */ lw $v1, 0x28($v1) +/* B546E0 80241EB0 27B40010 */ addiu $s4, $sp, 0x10 +/* B546E4 80241EB4 AFA30020 */ sw $v1, 0x20($sp) +/* B546E8 80241EB8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B546EC 80241EBC 3C014282 */ lui $at, 0x4282 +/* B546F0 80241EC0 44810000 */ mtc1 $at, $f0 +/* B546F4 80241EC4 8C63002C */ lw $v1, 0x2c($v1) +/* B546F8 80241EC8 0040982D */ daddu $s3, $v0, $zero +/* B546FC 80241ECC E7A00028 */ swc1 $f0, 0x28($sp) +/* B54700 80241ED0 A7A0002C */ sh $zero, 0x2c($sp) +/* B54704 80241ED4 16000005 */ bnez $s0, .L80241EEC +/* B54708 80241ED8 AFA30024 */ sw $v1, 0x24($sp) +/* B5470C 80241EDC 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54710 80241EE0 30420004 */ andi $v0, $v0, 4 +/* B54714 80241EE4 10400020 */ beqz $v0, .L80241F68 +/* B54718 80241EE8 00000000 */ nop +.L80241EEC: +/* B5471C 80241EEC 2404F7FF */ addiu $a0, $zero, -0x801 +/* B54720 80241EF0 AE400070 */ sw $zero, 0x70($s2) +/* B54724 80241EF4 A6A0008E */ sh $zero, 0x8e($s5) +/* B54728 80241EF8 8E2200CC */ lw $v0, 0xcc($s1) +/* B5472C 80241EFC 8EA30000 */ lw $v1, ($s5) +/* B54730 80241F00 8C420000 */ lw $v0, ($v0) +/* B54734 80241F04 00641824 */ and $v1, $v1, $a0 +/* B54738 80241F08 AEA30000 */ sw $v1, ($s5) +/* B5473C 80241F0C AEA20028 */ sw $v0, 0x28($s5) +/* B54740 80241F10 8E2200D0 */ lw $v0, 0xd0($s1) +/* B54744 80241F14 8C420034 */ lw $v0, 0x34($v0) +/* B54748 80241F18 54400005 */ bnel $v0, $zero, .L80241F30 +/* B5474C 80241F1C 2402FDFF */ addiu $v0, $zero, -0x201 +/* B54750 80241F20 34620200 */ ori $v0, $v1, 0x200 +/* B54754 80241F24 2403FFF7 */ addiu $v1, $zero, -9 +/* B54758 80241F28 080907CE */ j .L80241F38 +/* B5475C 80241F2C 00431024 */ and $v0, $v0, $v1 +.L80241F30: +/* B54760 80241F30 00621024 */ and $v0, $v1, $v0 +/* B54764 80241F34 34420008 */ ori $v0, $v0, 8 +.L80241F38: +/* B54768 80241F38 AEA20000 */ sw $v0, ($s5) +/* B5476C 80241F3C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54770 80241F40 30420004 */ andi $v0, $v0, 4 +/* B54774 80241F44 10400007 */ beqz $v0, .L80241F64 +/* B54778 80241F48 24020063 */ addiu $v0, $zero, 0x63 +/* B5477C 80241F4C AE420070 */ sw $v0, 0x70($s2) +/* B54780 80241F50 AE400074 */ sw $zero, 0x74($s2) +/* B54784 80241F54 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54788 80241F58 2403FFFB */ addiu $v1, $zero, -5 +/* B5478C 80241F5C 00431024 */ and $v0, $v0, $v1 +/* B54790 80241F60 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241F64: +/* B54794 80241F64 AE20006C */ sw $zero, 0x6c($s1) +.L80241F68: +/* B54798 80241F68 8E420070 */ lw $v0, 0x70($s2) +/* B5479C 80241F6C 2842001E */ slti $v0, $v0, 0x1e +/* B547A0 80241F70 10400009 */ beqz $v0, .L80241F98 +/* B547A4 80241F74 00000000 */ nop +/* B547A8 80241F78 8E22006C */ lw $v0, 0x6c($s1) +/* B547AC 80241F7C 14400006 */ bnez $v0, .L80241F98 +/* B547B0 80241F80 00000000 */ nop +/* B547B4 80241F84 0C090689 */ jal func_80241A24 +/* B547B8 80241F88 0240202D */ daddu $a0, $s2, $zero +/* B547BC 80241F8C 10400002 */ beqz $v0, .L80241F98 +/* B547C0 80241F90 2402001E */ addiu $v0, $zero, 0x1e +/* B547C4 80241F94 AE420070 */ sw $v0, 0x70($s2) +.L80241F98: +/* B547C8 80241F98 8E430070 */ lw $v1, 0x70($s2) +/* B547CC 80241F9C 2C620064 */ sltiu $v0, $v1, 0x64 +/* B547D0 80241FA0 10400048 */ beqz $v0, .L802420C4 +/* B547D4 80241FA4 00031080 */ sll $v0, $v1, 2 +/* B547D8 80241FA8 3C018024 */ lui $at, 0x8024 +/* B547DC 80241FAC 00220821 */ addu $at, $at, $v0 +/* B547E0 80241FB0 8C226D18 */ lw $v0, 0x6d18($at) +/* B547E4 80241FB4 00400008 */ jr $v0 +/* B547E8 80241FB8 00000000 */ nop +/* B547EC 80241FBC 0240202D */ daddu $a0, $s2, $zero +/* B547F0 80241FC0 0260282D */ daddu $a1, $s3, $zero +/* B547F4 80241FC4 0C012568 */ jal func_800495A0 +/* B547F8 80241FC8 0280302D */ daddu $a2, $s4, $zero +/* B547FC 80241FCC 0240202D */ daddu $a0, $s2, $zero +/* B54800 80241FD0 0260282D */ daddu $a1, $s3, $zero +/* B54804 80241FD4 0C0125AE */ jal func_800496B8 +/* B54808 80241FD8 0280302D */ daddu $a2, $s4, $zero +/* B5480C 80241FDC 08090831 */ j .L802420C4 +/* B54810 80241FE0 00000000 */ nop +/* B54814 80241FE4 0240202D */ daddu $a0, $s2, $zero +/* B54818 80241FE8 0260282D */ daddu $a1, $s3, $zero +/* B5481C 80241FEC 0C0126D1 */ jal func_80049B44 +/* B54820 80241FF0 0280302D */ daddu $a2, $s4, $zero +/* B54824 80241FF4 0240202D */ daddu $a0, $s2, $zero +/* B54828 80241FF8 0260282D */ daddu $a1, $s3, $zero +/* B5482C 80241FFC 0C012701 */ jal func_80049C04 +/* B54830 80242000 0280302D */ daddu $a2, $s4, $zero +/* B54834 80242004 08090831 */ j .L802420C4 +/* B54838 80242008 00000000 */ nop +/* B5483C 8024200C 0240202D */ daddu $a0, $s2, $zero +/* B54840 80242010 0260282D */ daddu $a1, $s3, $zero +/* B54844 80242014 0C01278F */ jal func_80049E3C +/* B54848 80242018 0280302D */ daddu $a2, $s4, $zero +/* B5484C 8024201C 0240202D */ daddu $a0, $s2, $zero +/* B54850 80242020 0260282D */ daddu $a1, $s3, $zero +/* B54854 80242024 0C0127B3 */ jal func_80049ECC +/* B54858 80242028 0280302D */ daddu $a2, $s4, $zero +/* B5485C 8024202C 08090831 */ j .L802420C4 +/* B54860 80242030 00000000 */ nop +/* B54864 80242034 0240202D */ daddu $a0, $s2, $zero +/* B54868 80242038 0260282D */ daddu $a1, $s3, $zero +/* B5486C 8024203C 0C0127DF */ jal func_80049F7C +/* B54870 80242040 0280302D */ daddu $a2, $s4, $zero +/* B54874 80242044 0240202D */ daddu $a0, $s2, $zero +/* B54878 80242048 0260282D */ daddu $a1, $s3, $zero +/* B5487C 8024204C 0C012849 */ jal func_8004A124 +/* B54880 80242050 0280302D */ daddu $a2, $s4, $zero +/* B54884 80242054 08090831 */ j .L802420C4 +/* B54888 80242058 00000000 */ nop +/* B5488C 8024205C 0240202D */ daddu $a0, $s2, $zero +/* B54890 80242060 0260282D */ daddu $a1, $s3, $zero +/* B54894 80242064 0C0128FA */ jal func_8004A3E8 +/* B54898 80242068 0280302D */ daddu $a2, $s4, $zero +/* B5489C 8024206C 08090831 */ j .L802420C4 +/* B548A0 80242070 00000000 */ nop +/* B548A4 80242074 0C090607 */ jal func_8024181C +/* B548A8 80242078 0240202D */ daddu $a0, $s2, $zero +/* B548AC 8024207C 0C090622 */ jal func_80241888 +/* B548B0 80242080 0240202D */ daddu $a0, $s2, $zero +/* B548B4 80242084 8E430070 */ lw $v1, 0x70($s2) +/* B548B8 80242088 24020020 */ addiu $v0, $zero, 0x20 +/* B548BC 8024208C 1462000D */ bne $v1, $v0, .L802420C4 +/* B548C0 80242090 00000000 */ nop +/* B548C4 80242094 0C09063E */ jal func_802418F8 +/* B548C8 80242098 0240202D */ daddu $a0, $s2, $zero +/* B548CC 8024209C 8E430070 */ lw $v1, 0x70($s2) +/* B548D0 802420A0 24020021 */ addiu $v0, $zero, 0x21 +/* B548D4 802420A4 14620007 */ bne $v1, $v0, .L802420C4 +/* B548D8 802420A8 00000000 */ nop +/* B548DC 802420AC 0C090674 */ jal func_802419D0 +/* B548E0 802420B0 0240202D */ daddu $a0, $s2, $zero +/* B548E4 802420B4 08090831 */ j .L802420C4 +/* B548E8 802420B8 00000000 */ nop +/* B548EC 802420BC 0C0129CF */ jal func_8004A73C +/* B548F0 802420C0 0240202D */ daddu $a0, $s2, $zero +.L802420C4: +/* B548F4 802420C4 8FBF0048 */ lw $ra, 0x48($sp) +/* B548F8 802420C8 8FB50044 */ lw $s5, 0x44($sp) +/* B548FC 802420CC 8FB40040 */ lw $s4, 0x40($sp) +/* B54900 802420D0 8FB3003C */ lw $s3, 0x3c($sp) +/* B54904 802420D4 8FB20038 */ lw $s2, 0x38($sp) +/* B54908 802420D8 8FB10034 */ lw $s1, 0x34($sp) +/* B5490C 802420DC 8FB00030 */ lw $s0, 0x30($sp) +/* B54910 802420E0 0000102D */ daddu $v0, $zero, $zero +/* B54914 802420E4 03E00008 */ jr $ra +/* B54918 802420E8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802420EC_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_802420EC_B52830.s new file mode 100644 index 0000000000..e867d4ec30 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802420EC_B52830.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420EC_B5491C +/* B5491C 802420EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B54920 802420F0 AFB20038 */ sw $s2, 0x38($sp) +/* B54924 802420F4 0080902D */ daddu $s2, $a0, $zero +/* B54928 802420F8 AFBF0048 */ sw $ra, 0x48($sp) +/* B5492C 802420FC AFB50044 */ sw $s5, 0x44($sp) +/* B54930 80242100 AFB40040 */ sw $s4, 0x40($sp) +/* B54934 80242104 AFB3003C */ sw $s3, 0x3c($sp) +/* B54938 80242108 AFB10034 */ sw $s1, 0x34($sp) +/* B5493C 8024210C AFB00030 */ sw $s0, 0x30($sp) +/* B54940 80242110 8E510148 */ lw $s1, 0x148($s2) +/* B54944 80242114 86240008 */ lh $a0, 8($s1) +/* B54948 80242118 0C00EABB */ jal get_npc_unsafe +/* B5494C 8024211C 00A0802D */ daddu $s0, $a1, $zero +/* B54950 80242120 8E43000C */ lw $v1, 0xc($s2) +/* B54954 80242124 0240202D */ daddu $a0, $s2, $zero +/* B54958 80242128 8C650000 */ lw $a1, ($v1) +/* B5495C 8024212C 0C0B1EAF */ jal get_variable +/* B54960 80242130 0040A82D */ daddu $s5, $v0, $zero +/* B54964 80242134 AFA00010 */ sw $zero, 0x10($sp) +/* B54968 80242138 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5496C 8024213C 8C630030 */ lw $v1, 0x30($v1) +/* B54970 80242140 AFA30014 */ sw $v1, 0x14($sp) +/* B54974 80242144 8E2300D0 */ lw $v1, 0xd0($s1) +/* B54978 80242148 8C63001C */ lw $v1, 0x1c($v1) +/* B5497C 8024214C AFA30018 */ sw $v1, 0x18($sp) +/* B54980 80242150 8E2300D0 */ lw $v1, 0xd0($s1) +/* B54984 80242154 8C630024 */ lw $v1, 0x24($v1) +/* B54988 80242158 AFA3001C */ sw $v1, 0x1c($sp) +/* B5498C 8024215C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B54990 80242160 8C630028 */ lw $v1, 0x28($v1) +/* B54994 80242164 27B40010 */ addiu $s4, $sp, 0x10 +/* B54998 80242168 AFA30020 */ sw $v1, 0x20($sp) +/* B5499C 8024216C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B549A0 80242170 3C014282 */ lui $at, 0x4282 +/* B549A4 80242174 44810000 */ mtc1 $at, $f0 +/* B549A8 80242178 8C63002C */ lw $v1, 0x2c($v1) +/* B549AC 8024217C 0040982D */ daddu $s3, $v0, $zero +/* B549B0 80242180 E7A00028 */ swc1 $f0, 0x28($sp) +/* B549B4 80242184 A7A0002C */ sh $zero, 0x2c($sp) +/* B549B8 80242188 16000005 */ bnez $s0, .L802421A0 +/* B549BC 8024218C AFA30024 */ sw $v1, 0x24($sp) +/* B549C0 80242190 8E2200B0 */ lw $v0, 0xb0($s1) +/* B549C4 80242194 30420004 */ andi $v0, $v0, 4 +/* B549C8 80242198 10400020 */ beqz $v0, .L8024221C +/* B549CC 8024219C 00000000 */ nop +.L802421A0: +/* B549D0 802421A0 2404F7FF */ addiu $a0, $zero, -0x801 +/* B549D4 802421A4 AE400070 */ sw $zero, 0x70($s2) +/* B549D8 802421A8 A6A0008E */ sh $zero, 0x8e($s5) +/* B549DC 802421AC 8E2200CC */ lw $v0, 0xcc($s1) +/* B549E0 802421B0 8EA30000 */ lw $v1, ($s5) +/* B549E4 802421B4 8C420000 */ lw $v0, ($v0) +/* B549E8 802421B8 00641824 */ and $v1, $v1, $a0 +/* B549EC 802421BC AEA30000 */ sw $v1, ($s5) +/* B549F0 802421C0 AEA20028 */ sw $v0, 0x28($s5) +/* B549F4 802421C4 8E2200D0 */ lw $v0, 0xd0($s1) +/* B549F8 802421C8 8C420034 */ lw $v0, 0x34($v0) +/* B549FC 802421CC 54400005 */ bnel $v0, $zero, .L802421E4 +/* B54A00 802421D0 2402FDFF */ addiu $v0, $zero, -0x201 +/* B54A04 802421D4 34620200 */ ori $v0, $v1, 0x200 +/* B54A08 802421D8 2403FFF7 */ addiu $v1, $zero, -9 +/* B54A0C 802421DC 0809087B */ j .L802421EC +/* B54A10 802421E0 00431024 */ and $v0, $v0, $v1 +.L802421E4: +/* B54A14 802421E4 00621024 */ and $v0, $v1, $v0 +/* B54A18 802421E8 34420008 */ ori $v0, $v0, 8 +.L802421EC: +/* B54A1C 802421EC AEA20000 */ sw $v0, ($s5) +/* B54A20 802421F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54A24 802421F4 30420004 */ andi $v0, $v0, 4 +/* B54A28 802421F8 10400007 */ beqz $v0, .L80242218 +/* B54A2C 802421FC 24020063 */ addiu $v0, $zero, 0x63 +/* B54A30 80242200 AE420070 */ sw $v0, 0x70($s2) +/* B54A34 80242204 AE400074 */ sw $zero, 0x74($s2) +/* B54A38 80242208 8E2200B0 */ lw $v0, 0xb0($s1) +/* B54A3C 8024220C 2403FFFB */ addiu $v1, $zero, -5 +/* B54A40 80242210 00431024 */ and $v0, $v0, $v1 +/* B54A44 80242214 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242218: +/* B54A48 80242218 AE20006C */ sw $zero, 0x6c($s1) +.L8024221C: +/* B54A4C 8024221C 8E420070 */ lw $v0, 0x70($s2) +/* B54A50 80242220 2842001E */ slti $v0, $v0, 0x1e +/* B54A54 80242224 10400009 */ beqz $v0, .L8024224C +/* B54A58 80242228 00000000 */ nop +/* B54A5C 8024222C 8E22006C */ lw $v0, 0x6c($s1) +/* B54A60 80242230 14400006 */ bnez $v0, .L8024224C +/* B54A64 80242234 00000000 */ nop +/* B54A68 80242238 0C090689 */ jal func_80241A24 +/* B54A6C 8024223C 0240202D */ daddu $a0, $s2, $zero +/* B54A70 80242240 10400002 */ beqz $v0, .L8024224C +/* B54A74 80242244 2402001E */ addiu $v0, $zero, 0x1e +/* B54A78 80242248 AE420070 */ sw $v0, 0x70($s2) +.L8024224C: +/* B54A7C 8024224C 8E430070 */ lw $v1, 0x70($s2) +/* B54A80 80242250 2C620064 */ sltiu $v0, $v1, 0x64 +/* B54A84 80242254 10400048 */ beqz $v0, .L80242378 +/* B54A88 80242258 00031080 */ sll $v0, $v1, 2 +/* B54A8C 8024225C 3C018024 */ lui $at, 0x8024 +/* B54A90 80242260 00220821 */ addu $at, $at, $v0 +/* B54A94 80242264 8C226EA8 */ lw $v0, 0x6ea8($at) +/* B54A98 80242268 00400008 */ jr $v0 +/* B54A9C 8024226C 00000000 */ nop +/* B54AA0 80242270 0240202D */ daddu $a0, $s2, $zero +/* B54AA4 80242274 0260282D */ daddu $a1, $s3, $zero +/* B54AA8 80242278 0C012568 */ jal func_800495A0 +/* B54AAC 8024227C 0280302D */ daddu $a2, $s4, $zero +/* B54AB0 80242280 0240202D */ daddu $a0, $s2, $zero +/* B54AB4 80242284 0260282D */ daddu $a1, $s3, $zero +/* B54AB8 80242288 0C0125AE */ jal func_800496B8 +/* B54ABC 8024228C 0280302D */ daddu $a2, $s4, $zero +/* B54AC0 80242290 080908DE */ j .L80242378 +/* B54AC4 80242294 00000000 */ nop +/* B54AC8 80242298 0240202D */ daddu $a0, $s2, $zero +/* B54ACC 8024229C 0260282D */ daddu $a1, $s3, $zero +/* B54AD0 802422A0 0C090582 */ jal func_80241608 +/* B54AD4 802422A4 0280302D */ daddu $a2, $s4, $zero +/* B54AD8 802422A8 0240202D */ daddu $a0, $s2, $zero +/* B54ADC 802422AC 0260282D */ daddu $a1, $s3, $zero +/* B54AE0 802422B0 0C090596 */ jal func_80241658 +/* B54AE4 802422B4 0280302D */ daddu $a2, $s4, $zero +/* B54AE8 802422B8 080908DE */ j .L80242378 +/* B54AEC 802422BC 00000000 */ nop +/* B54AF0 802422C0 0240202D */ daddu $a0, $s2, $zero +/* B54AF4 802422C4 0260282D */ daddu $a1, $s3, $zero +/* B54AF8 802422C8 0C01278F */ jal func_80049E3C +/* B54AFC 802422CC 0280302D */ daddu $a2, $s4, $zero +/* B54B00 802422D0 0240202D */ daddu $a0, $s2, $zero +/* B54B04 802422D4 0260282D */ daddu $a1, $s3, $zero +/* B54B08 802422D8 0C0127B3 */ jal func_80049ECC +/* B54B0C 802422DC 0280302D */ daddu $a2, $s4, $zero +/* B54B10 802422E0 080908DE */ j .L80242378 +/* B54B14 802422E4 00000000 */ nop +/* B54B18 802422E8 0240202D */ daddu $a0, $s2, $zero +/* B54B1C 802422EC 0260282D */ daddu $a1, $s3, $zero +/* B54B20 802422F0 0C0127DF */ jal func_80049F7C +/* B54B24 802422F4 0280302D */ daddu $a2, $s4, $zero +/* B54B28 802422F8 0240202D */ daddu $a0, $s2, $zero +/* B54B2C 802422FC 0260282D */ daddu $a1, $s3, $zero +/* B54B30 80242300 0C012849 */ jal func_8004A124 +/* B54B34 80242304 0280302D */ daddu $a2, $s4, $zero +/* B54B38 80242308 080908DE */ j .L80242378 +/* B54B3C 8024230C 00000000 */ nop +/* B54B40 80242310 0240202D */ daddu $a0, $s2, $zero +/* B54B44 80242314 0260282D */ daddu $a1, $s3, $zero +/* B54B48 80242318 0C0128FA */ jal func_8004A3E8 +/* B54B4C 8024231C 0280302D */ daddu $a2, $s4, $zero +/* B54B50 80242320 080908DE */ j .L80242378 +/* B54B54 80242324 00000000 */ nop +/* B54B58 80242328 0C090607 */ jal func_8024181C +/* B54B5C 8024232C 0240202D */ daddu $a0, $s2, $zero +/* B54B60 80242330 0C090622 */ jal func_80241888 +/* B54B64 80242334 0240202D */ daddu $a0, $s2, $zero +/* B54B68 80242338 8E430070 */ lw $v1, 0x70($s2) +/* B54B6C 8024233C 24020020 */ addiu $v0, $zero, 0x20 +/* B54B70 80242340 1462000D */ bne $v1, $v0, .L80242378 +/* B54B74 80242344 00000000 */ nop +/* B54B78 80242348 0C09063E */ jal func_802418F8 +/* B54B7C 8024234C 0240202D */ daddu $a0, $s2, $zero +/* B54B80 80242350 8E430070 */ lw $v1, 0x70($s2) +/* B54B84 80242354 24020021 */ addiu $v0, $zero, 0x21 +/* B54B88 80242358 14620007 */ bne $v1, $v0, .L80242378 +/* B54B8C 8024235C 00000000 */ nop +/* B54B90 80242360 0C090674 */ jal func_802419D0 +/* B54B94 80242364 0240202D */ daddu $a0, $s2, $zero +/* B54B98 80242368 080908DE */ j .L80242378 +/* B54B9C 8024236C 00000000 */ nop +/* B54BA0 80242370 0C0129CF */ jal func_8004A73C +/* B54BA4 80242374 0240202D */ daddu $a0, $s2, $zero +.L80242378: +/* B54BA8 80242378 8FBF0048 */ lw $ra, 0x48($sp) +/* B54BAC 8024237C 8FB50044 */ lw $s5, 0x44($sp) +/* B54BB0 80242380 8FB40040 */ lw $s4, 0x40($sp) +/* B54BB4 80242384 8FB3003C */ lw $s3, 0x3c($sp) +/* B54BB8 80242388 8FB20038 */ lw $s2, 0x38($sp) +/* B54BBC 8024238C 8FB10034 */ lw $s1, 0x34($sp) +/* B54BC0 80242390 8FB00030 */ lw $s0, 0x30($sp) +/* B54BC4 80242394 0000102D */ daddu $v0, $zero, $zero +/* B54BC8 80242398 03E00008 */ jr $ra +/* B54BCC 8024239C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_802423A0_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_802423A0_B52830.s new file mode 100644 index 0000000000..8be80f9699 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_802423A0_B52830.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423A0_B54BD0 +/* B54BD0 802423A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B54BD4 802423A4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B54BD8 802423A8 4485A000 */ mtc1 $a1, $f20 +/* B54BDC 802423AC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B54BE0 802423B0 4486B000 */ mtc1 $a2, $f22 +/* B54BE4 802423B4 AFB00010 */ sw $s0, 0x10($sp) +/* B54BE8 802423B8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B54BEC 802423BC 4487C000 */ mtc1 $a3, $f24 +/* B54BF0 802423C0 AFBF0014 */ sw $ra, 0x14($sp) +/* B54BF4 802423C4 0C019D28 */ jal guMtxIdentF +/* B54BF8 802423C8 0080802D */ daddu $s0, $a0, $zero +/* B54BFC 802423CC 4616A582 */ mul.s $f22, $f20, $f22 +/* B54C00 802423D0 00000000 */ nop +/* B54C04 802423D4 4618A502 */ mul.s $f20, $f20, $f24 +/* B54C08 802423D8 00000000 */ nop +/* B54C0C 802423DC 3C013F80 */ lui $at, 0x3f80 +/* B54C10 802423E0 44810000 */ mtc1 $at, $f0 +/* B54C14 802423E4 00000000 */ nop +/* B54C18 802423E8 E6000014 */ swc1 $f0, 0x14($s0) +/* B54C1C 802423EC E6160010 */ swc1 $f22, 0x10($s0) +/* B54C20 802423F0 E6140018 */ swc1 $f20, 0x18($s0) +/* B54C24 802423F4 8FBF0014 */ lw $ra, 0x14($sp) +/* B54C28 802423F8 8FB00010 */ lw $s0, 0x10($sp) +/* B54C2C 802423FC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B54C30 80242400 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B54C34 80242404 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B54C38 80242408 03E00008 */ jr $ra +/* B54C3C 8024240C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_06/func_80242410_B52830.s b/asm/nonmatchings/world/area_jan/jan_06/func_80242410_B52830.s new file mode 100644 index 0000000000..86136c61af --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_06/func_80242410_B52830.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242410_B54C40 +/* B54C40 80242410 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B54C44 80242414 AFB10054 */ sw $s1, 0x54($sp) +/* B54C48 80242418 0080882D */ daddu $s1, $a0, $zero +/* B54C4C 8024241C AFBF005C */ sw $ra, 0x5c($sp) +/* B54C50 80242420 AFB20058 */ sw $s2, 0x58($sp) +/* B54C54 80242424 AFB00050 */ sw $s0, 0x50($sp) +/* B54C58 80242428 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B54C5C 8024242C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B54C60 80242430 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B54C64 80242434 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B54C68 80242438 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B54C6C 8024243C 8E30000C */ lw $s0, 0xc($s1) +/* B54C70 80242440 8E050000 */ lw $a1, ($s0) +/* B54C74 80242444 0C0B1EAF */ jal get_variable +/* B54C78 80242448 26100004 */ addiu $s0, $s0, 4 +/* B54C7C 8024244C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B54C80 80242450 0040202D */ daddu $a0, $v0, $zero +/* B54C84 80242454 8E050000 */ lw $a1, ($s0) +/* B54C88 80242458 26100004 */ addiu $s0, $s0, 4 +/* B54C8C 8024245C 0220202D */ daddu $a0, $s1, $zero +/* B54C90 80242460 0C0B210B */ jal get_float_variable +/* B54C94 80242464 0040902D */ daddu $s2, $v0, $zero +/* B54C98 80242468 8E050000 */ lw $a1, ($s0) +/* B54C9C 8024246C 26100004 */ addiu $s0, $s0, 4 +/* B54CA0 80242470 0220202D */ daddu $a0, $s1, $zero +/* B54CA4 80242474 0C0B210B */ jal get_float_variable +/* B54CA8 80242478 46000706 */ mov.s $f28, $f0 +/* B54CAC 8024247C 8E050000 */ lw $a1, ($s0) +/* B54CB0 80242480 26100004 */ addiu $s0, $s0, 4 +/* B54CB4 80242484 0220202D */ daddu $a0, $s1, $zero +/* B54CB8 80242488 0C0B210B */ jal get_float_variable +/* B54CBC 8024248C 46000686 */ mov.s $f26, $f0 +/* B54CC0 80242490 0220202D */ daddu $a0, $s1, $zero +/* B54CC4 80242494 8E050000 */ lw $a1, ($s0) +/* B54CC8 80242498 0C0B210B */ jal get_float_variable +/* B54CCC 8024249C 46000586 */ mov.s $f22, $f0 +/* B54CD0 802424A0 0240202D */ daddu $a0, $s2, $zero +/* B54CD4 802424A4 0C046B4C */ jal get_model_from_list_index +/* B54CD8 802424A8 46000606 */ mov.s $f24, $f0 +/* B54CDC 802424AC 0040882D */ daddu $s1, $v0, $zero +/* B54CE0 802424B0 96220000 */ lhu $v0, ($s1) +/* B54CE4 802424B4 30420400 */ andi $v0, $v0, 0x400 +/* B54CE8 802424B8 1440001E */ bnez $v0, .L80242534 +/* B54CEC 802424BC 26300058 */ addiu $s0, $s1, 0x58 +/* B54CF0 802424C0 4480A000 */ mtc1 $zero, $f20 +/* B54CF4 802424C4 4406B000 */ mfc1 $a2, $f22 +/* B54CF8 802424C8 4405A000 */ mfc1 $a1, $f20 +/* B54CFC 802424CC 4407A000 */ mfc1 $a3, $f20 +/* B54D00 802424D0 0C019E40 */ jal guTranslateF +/* B54D04 802424D4 0200202D */ daddu $a0, $s0, $zero +/* B54D08 802424D8 4405E000 */ mfc1 $a1, $f28 +/* B54D0C 802424DC 4406D000 */ mfc1 $a2, $f26 +/* B54D10 802424E0 4407C000 */ mfc1 $a3, $f24 +/* B54D14 802424E4 0C0908E8 */ jal func_802423A0 +/* B54D18 802424E8 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D1C 802424EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D20 802424F0 0200282D */ daddu $a1, $s0, $zero +/* B54D24 802424F4 0C019D80 */ jal guMtxCatF +/* B54D28 802424F8 0200302D */ daddu $a2, $s0, $zero +/* B54D2C 802424FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D30 80242500 4600B587 */ neg.s $f22, $f22 +/* B54D34 80242504 4405A000 */ mfc1 $a1, $f20 +/* B54D38 80242508 4406B000 */ mfc1 $a2, $f22 +/* B54D3C 8024250C 0C019E40 */ jal guTranslateF +/* B54D40 80242510 00A0382D */ daddu $a3, $a1, $zero +/* B54D44 80242514 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D48 80242518 0200282D */ daddu $a1, $s0, $zero +/* B54D4C 8024251C 0C019D80 */ jal guMtxCatF +/* B54D50 80242520 00A0302D */ daddu $a2, $a1, $zero +/* B54D54 80242524 96220000 */ lhu $v0, ($s1) +/* B54D58 80242528 34421400 */ ori $v0, $v0, 0x1400 +/* B54D5C 8024252C 0809096B */ j .L802425AC +/* B54D60 80242530 A6220000 */ sh $v0, ($s1) +.L80242534: +/* B54D64 80242534 4480A000 */ mtc1 $zero, $f20 +/* B54D68 80242538 4406B000 */ mfc1 $a2, $f22 +/* B54D6C 8024253C 4405A000 */ mfc1 $a1, $f20 +/* B54D70 80242540 4407A000 */ mfc1 $a3, $f20 +/* B54D74 80242544 0C019E40 */ jal guTranslateF +/* B54D78 80242548 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D7C 8024254C 27A40010 */ addiu $a0, $sp, 0x10 +/* B54D80 80242550 26300058 */ addiu $s0, $s1, 0x58 +/* B54D84 80242554 0200282D */ daddu $a1, $s0, $zero +/* B54D88 80242558 0C019D80 */ jal guMtxCatF +/* B54D8C 8024255C 0200302D */ daddu $a2, $s0, $zero +/* B54D90 80242560 4405E000 */ mfc1 $a1, $f28 +/* B54D94 80242564 4406D000 */ mfc1 $a2, $f26 +/* B54D98 80242568 4407C000 */ mfc1 $a3, $f24 +/* B54D9C 8024256C 0C0908E8 */ jal func_802423A0 +/* B54DA0 80242570 27A40010 */ addiu $a0, $sp, 0x10 +/* B54DA4 80242574 27A40010 */ addiu $a0, $sp, 0x10 +/* B54DA8 80242578 0200282D */ daddu $a1, $s0, $zero +/* B54DAC 8024257C 0C019D80 */ jal guMtxCatF +/* B54DB0 80242580 0200302D */ daddu $a2, $s0, $zero +/* B54DB4 80242584 27A40010 */ addiu $a0, $sp, 0x10 +/* B54DB8 80242588 4600B587 */ neg.s $f22, $f22 +/* B54DBC 8024258C 4405A000 */ mfc1 $a1, $f20 +/* B54DC0 80242590 4406B000 */ mfc1 $a2, $f22 +/* B54DC4 80242594 0C019E40 */ jal guTranslateF +/* B54DC8 80242598 00A0382D */ daddu $a3, $a1, $zero +/* B54DCC 8024259C 27A40010 */ addiu $a0, $sp, 0x10 +/* B54DD0 802425A0 0200282D */ daddu $a1, $s0, $zero +/* B54DD4 802425A4 0C019D80 */ jal guMtxCatF +/* B54DD8 802425A8 00A0302D */ daddu $a2, $a1, $zero +.L802425AC: +/* B54DDC 802425AC 8FBF005C */ lw $ra, 0x5c($sp) +/* B54DE0 802425B0 8FB20058 */ lw $s2, 0x58($sp) +/* B54DE4 802425B4 8FB10054 */ lw $s1, 0x54($sp) +/* B54DE8 802425B8 8FB00050 */ lw $s0, 0x50($sp) +/* B54DEC 802425BC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B54DF0 802425C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B54DF4 802425C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B54DF8 802425C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B54DFC 802425CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B54E00 802425D0 24020002 */ addiu $v0, $zero, 2 +/* B54E04 802425D4 03E00008 */ jr $ra +/* B54E08 802425D8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B54E0C 802425DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240000_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240000_B59870.s new file mode 100644 index 0000000000..06517e968c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240000_B59870.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B59870 +/* B59870 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B59874 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B59878 80240008 0080882D */ daddu $s1, $a0, $zero +/* B5987C 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* B59880 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* B59884 80240014 8E300148 */ lw $s0, 0x148($s1) +/* B59888 80240018 0C00EABB */ jal get_npc_unsafe +/* B5988C 8024001C 86040008 */ lh $a0, 8($s0) +/* B59890 80240020 3C054387 */ lui $a1, 0x4387 +/* B59894 80240024 0040202D */ daddu $a0, $v0, $zero +/* B59898 80240028 0C00ECD0 */ jal set_npc_yaw +/* B5989C 8024002C A480008E */ sh $zero, 0x8e($a0) +/* B598A0 80240030 24020003 */ addiu $v0, $zero, 3 +/* B598A4 80240034 AE00006C */ sw $zero, 0x6c($s0) +/* B598A8 80240038 AE220070 */ sw $v0, 0x70($s1) +/* B598AC 8024003C 8FBF0018 */ lw $ra, 0x18($sp) +/* B598B0 80240040 8FB10014 */ lw $s1, 0x14($sp) +/* B598B4 80240044 8FB00010 */ lw $s0, 0x10($sp) +/* B598B8 80240048 03E00008 */ jr $ra +/* B598BC 8024004C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240050_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240050_B59870.s new file mode 100644 index 0000000000..5ec63e6259 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240050_B59870.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_B598C0 +/* B598C0 80240050 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B598C4 80240054 AFB20028 */ sw $s2, 0x28($sp) +/* B598C8 80240058 0080902D */ daddu $s2, $a0, $zero +/* B598CC 8024005C AFBF002C */ sw $ra, 0x2c($sp) +/* B598D0 80240060 AFB10024 */ sw $s1, 0x24($sp) +/* B598D4 80240064 AFB00020 */ sw $s0, 0x20($sp) +/* B598D8 80240068 8E500148 */ lw $s0, 0x148($s2) +/* B598DC 8024006C 0C00EABB */ jal get_npc_unsafe +/* B598E0 80240070 86040008 */ lh $a0, 8($s0) +/* B598E4 80240074 8E03006C */ lw $v1, 0x6c($s0) +/* B598E8 80240078 1460000B */ bnez $v1, .L802400A8 +/* B598EC 8024007C 0040882D */ daddu $s1, $v0, $zero +/* B598F0 80240080 0C00A67F */ jal rand_int +/* B598F4 80240084 24040064 */ addiu $a0, $zero, 0x64 +/* B598F8 80240088 28420032 */ slti $v0, $v0, 0x32 +/* B598FC 8024008C 14400002 */ bnez $v0, .L80240098 +/* B59900 80240090 24020001 */ addiu $v0, $zero, 1 +/* B59904 80240094 24020003 */ addiu $v0, $zero, 3 +.L80240098: +/* B59908 80240098 AE02006C */ sw $v0, 0x6c($s0) +/* B5990C 8024009C 3C054387 */ lui $a1, 0x4387 +/* B59910 802400A0 0C00ECD0 */ jal set_npc_yaw +/* B59914 802400A4 0220202D */ daddu $a0, $s1, $zero +.L802400A8: +/* B59918 802400A8 8E02006C */ lw $v0, 0x6c($s0) +/* B5991C 802400AC 2443FFFF */ addiu $v1, $v0, -1 +/* B59920 802400B0 2C620006 */ sltiu $v0, $v1, 6 +/* B59924 802400B4 1040004D */ beqz $v0, .L802401EC +/* B59928 802400B8 00031080 */ sll $v0, $v1, 2 +/* B5992C 802400BC 3C018024 */ lui $at, 0x8024 +/* B59930 802400C0 00220821 */ addu $at, $at, $v0 +/* B59934 802400C4 8C224700 */ lw $v0, 0x4700($at) +/* B59938 802400C8 00400008 */ jr $v0 +/* B5993C 802400CC 00000000 */ nop +/* B59940 802400D0 3C030042 */ lui $v1, 0x42 +/* B59944 802400D4 3463000F */ ori $v1, $v1, 0xf +/* B59948 802400D8 24020002 */ addiu $v0, $zero, 2 +/* B5994C 802400DC AE02006C */ sw $v0, 0x6c($s0) +/* B59950 802400E0 AE000070 */ sw $zero, 0x70($s0) +/* B59954 802400E4 AE230028 */ sw $v1, 0x28($s1) +/* B59958 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* B5995C 802400EC 24420001 */ addiu $v0, $v0, 1 +/* B59960 802400F0 AE020070 */ sw $v0, 0x70($s0) +/* B59964 802400F4 28420033 */ slti $v0, $v0, 0x33 +/* B59968 802400F8 1440003C */ bnez $v0, .L802401EC +/* B5996C 802400FC 24020005 */ addiu $v0, $zero, 5 +/* B59970 80240100 0809007B */ j .L802401EC +/* B59974 80240104 AE02006C */ sw $v0, 0x6c($s0) +/* B59978 80240108 3C030042 */ lui $v1, 0x42 +/* B5997C 8024010C 34630010 */ ori $v1, $v1, 0x10 +/* B59980 80240110 24020004 */ addiu $v0, $zero, 4 +/* B59984 80240114 AE02006C */ sw $v0, 0x6c($s0) +/* B59988 80240118 AE000070 */ sw $zero, 0x70($s0) +/* B5998C 8024011C AE230028 */ sw $v1, 0x28($s1) +/* B59990 80240120 8E020070 */ lw $v0, 0x70($s0) +/* B59994 80240124 24030019 */ addiu $v1, $zero, 0x19 +/* B59998 80240128 24420001 */ addiu $v0, $v0, 1 +/* B5999C 8024012C 14430005 */ bne $v0, $v1, .L80240144 +/* B599A0 80240130 AE020070 */ sw $v0, 0x70($s0) +/* B599A4 80240134 3C0142B4 */ lui $at, 0x42b4 +/* B599A8 80240138 44810000 */ mtc1 $at, $f0 +/* B599AC 8024013C 00000000 */ nop +/* B599B0 80240140 E620000C */ swc1 $f0, 0xc($s1) +.L80240144: +/* B599B4 80240144 8E020070 */ lw $v0, 0x70($s0) +/* B599B8 80240148 2842003D */ slti $v0, $v0, 0x3d +/* B599BC 8024014C 14400027 */ bnez $v0, .L802401EC +/* B599C0 80240150 24020005 */ addiu $v0, $zero, 5 +/* B599C4 80240154 0809007B */ j .L802401EC +/* B599C8 80240158 AE02006C */ sw $v0, 0x6c($s0) +/* B599CC 8024015C 3C030042 */ lui $v1, 0x42 +/* B599D0 80240160 24020006 */ addiu $v0, $zero, 6 +/* B599D4 80240164 34630003 */ ori $v1, $v1, 3 +/* B599D8 80240168 AE02006C */ sw $v0, 0x6c($s0) +/* B599DC 8024016C AE000070 */ sw $zero, 0x70($s0) +/* B599E0 80240170 862400A8 */ lh $a0, 0xa8($s1) +/* B599E4 80240174 2402000A */ addiu $v0, $zero, 0xa +/* B599E8 80240178 AE230028 */ sw $v1, 0x28($s1) +/* B599EC 8024017C AFA00014 */ sw $zero, 0x14($sp) +/* B599F0 80240180 AFA20018 */ sw $v0, 0x18($sp) +/* B599F4 80240184 44840000 */ mtc1 $a0, $f0 +/* B599F8 80240188 00000000 */ nop +/* B599FC 8024018C 46800020 */ cvt.s.w $f0, $f0 +/* B59A00 80240190 E7A00010 */ swc1 $f0, 0x10($sp) +/* B59A04 80240194 8E250038 */ lw $a1, 0x38($s1) +/* B59A08 80240198 8E26003C */ lw $a2, 0x3c($s1) +/* B59A0C 8024019C 8E270040 */ lw $a3, 0x40($s1) +/* B59A10 802401A0 0C01C1E4 */ jal fx_sweat +/* B59A14 802401A4 0000202D */ daddu $a0, $zero, $zero +/* B59A18 802401A8 8E020070 */ lw $v0, 0x70($s0) +/* B59A1C 802401AC 24420001 */ addiu $v0, $v0, 1 +/* B59A20 802401B0 AE020070 */ sw $v0, 0x70($s0) +/* B59A24 802401B4 2842000B */ slti $v0, $v0, 0xb +/* B59A28 802401B8 1440000C */ bnez $v0, .L802401EC +/* B59A2C 802401BC 00000000 */ nop +/* B59A30 802401C0 0C00A67F */ jal rand_int +/* B59A34 802401C4 24040064 */ addiu $a0, $zero, 0x64 +/* B59A38 802401C8 0040182D */ daddu $v1, $v0, $zero +/* B59A3C 802401CC 2862005A */ slti $v0, $v1, 0x5a +/* B59A40 802401D0 14400005 */ bnez $v0, .L802401E8 +/* B59A44 802401D4 24020007 */ addiu $v0, $zero, 7 +/* B59A48 802401D8 2862005F */ slti $v0, $v1, 0x5f +/* B59A4C 802401DC 14400002 */ bnez $v0, .L802401E8 +/* B59A50 802401E0 24020001 */ addiu $v0, $zero, 1 +/* B59A54 802401E4 24020003 */ addiu $v0, $zero, 3 +.L802401E8: +/* B59A58 802401E8 AE02006C */ sw $v0, 0x6c($s0) +.L802401EC: +/* B59A5C 802401EC 8E03006C */ lw $v1, 0x6c($s0) +/* B59A60 802401F0 24020007 */ addiu $v0, $zero, 7 +/* B59A64 802401F4 50620001 */ beql $v1, $v0, .L802401FC +/* B59A68 802401F8 AE400070 */ sw $zero, 0x70($s2) +.L802401FC: +/* B59A6C 802401FC 8FBF002C */ lw $ra, 0x2c($sp) +/* B59A70 80240200 8FB20028 */ lw $s2, 0x28($sp) +/* B59A74 80240204 8FB10024 */ lw $s1, 0x24($sp) +/* B59A78 80240208 8FB00020 */ lw $s0, 0x20($sp) +/* B59A7C 8024020C 03E00008 */ jr $ra +/* B59A80 80240210 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240214.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240214.s new file mode 100644 index 0000000000..6b80200d08 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240214.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240214 +/* B59A84 80240214 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B59A88 80240218 AFB10014 */ sw $s1, 0x14($sp) +/* B59A8C 8024021C 0080882D */ daddu $s1, $a0, $zero +/* B59A90 80240220 AFBF0018 */ sw $ra, 0x18($sp) +/* B59A94 80240224 AFB00010 */ sw $s0, 0x10($sp) +/* B59A98 80240228 8E300148 */ lw $s0, 0x148($s1) +/* B59A9C 8024022C 0C00EABB */ jal get_npc_unsafe +/* B59AA0 80240230 86040008 */ lh $a0, 8($s0) +/* B59AA4 80240234 24030001 */ addiu $v1, $zero, 1 +/* B59AA8 80240238 0040202D */ daddu $a0, $v0, $zero +/* B59AAC 8024023C AE03006C */ sw $v1, 0x6c($s0) +/* B59AB0 80240240 8482008C */ lh $v0, 0x8c($a0) +/* B59AB4 80240244 14400009 */ bnez $v0, .L8024026C +/* B59AB8 80240248 24020002 */ addiu $v0, $zero, 2 +/* B59ABC 8024024C 96030072 */ lhu $v1, 0x72($s0) +/* B59AC0 80240250 AE02006C */ sw $v0, 0x6c($s0) +/* B59AC4 80240254 A483008E */ sh $v1, 0x8e($a0) +/* B59AC8 80240258 8E0200CC */ lw $v0, 0xcc($s0) +/* B59ACC 8024025C 8C420020 */ lw $v0, 0x20($v0) +/* B59AD0 80240260 AC820028 */ sw $v0, 0x28($a0) +/* B59AD4 80240264 2402001F */ addiu $v0, $zero, 0x1f +/* B59AD8 80240268 AE220070 */ sw $v0, 0x70($s1) +.L8024026C: +/* B59ADC 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* B59AE0 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* B59AE4 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* B59AE8 80240278 03E00008 */ jr $ra +/* B59AEC 8024027C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240280_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240280_B59870.s new file mode 100644 index 0000000000..1073480651 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240280_B59870.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_B59AF0 +/* B59AF0 80240280 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B59AF4 80240284 AFB10014 */ sw $s1, 0x14($sp) +/* B59AF8 80240288 0080882D */ daddu $s1, $a0, $zero +/* B59AFC 8024028C AFBF0018 */ sw $ra, 0x18($sp) +/* B59B00 80240290 AFB00010 */ sw $s0, 0x10($sp) +/* B59B04 80240294 8E300148 */ lw $s0, 0x148($s1) +/* B59B08 80240298 0C00EABB */ jal get_npc_unsafe +/* B59B0C 8024029C 86040008 */ lh $a0, 8($s0) +/* B59B10 802402A0 0040202D */ daddu $a0, $v0, $zero +/* B59B14 802402A4 9482008E */ lhu $v0, 0x8e($a0) +/* B59B18 802402A8 2442FFFF */ addiu $v0, $v0, -1 +/* B59B1C 802402AC A482008E */ sh $v0, 0x8e($a0) +/* B59B20 802402B0 00021400 */ sll $v0, $v0, 0x10 +/* B59B24 802402B4 1C400009 */ bgtz $v0, .L802402DC +/* B59B28 802402B8 24020003 */ addiu $v0, $zero, 3 +/* B59B2C 802402BC 96030076 */ lhu $v1, 0x76($s0) +/* B59B30 802402C0 AE02006C */ sw $v0, 0x6c($s0) +/* B59B34 802402C4 A483008E */ sh $v1, 0x8e($a0) +/* B59B38 802402C8 8E0200CC */ lw $v0, 0xcc($s0) +/* B59B3C 802402CC 8C420024 */ lw $v0, 0x24($v0) +/* B59B40 802402D0 AC820028 */ sw $v0, 0x28($a0) +/* B59B44 802402D4 24020020 */ addiu $v0, $zero, 0x20 +/* B59B48 802402D8 AE220070 */ sw $v0, 0x70($s1) +.L802402DC: +/* B59B4C 802402DC 8FBF0018 */ lw $ra, 0x18($sp) +/* B59B50 802402E0 8FB10014 */ lw $s1, 0x14($sp) +/* B59B54 802402E4 8FB00010 */ lw $s0, 0x10($sp) +/* B59B58 802402E8 03E00008 */ jr $ra +/* B59B5C 802402EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_802402F0_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_802402F0_B59870.s new file mode 100644 index 0000000000..14435f1289 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_802402F0_B59870.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_B59B60 +/* B59B60 802402F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B59B64 802402F4 AFB10034 */ sw $s1, 0x34($sp) +/* B59B68 802402F8 0080882D */ daddu $s1, $a0, $zero +/* B59B6C 802402FC AFBF0038 */ sw $ra, 0x38($sp) +/* B59B70 80240300 AFB00030 */ sw $s0, 0x30($sp) +/* B59B74 80240304 8E300148 */ lw $s0, 0x148($s1) +/* B59B78 80240308 0C00EABB */ jal get_npc_unsafe +/* B59B7C 8024030C 86040008 */ lh $a0, 8($s0) +/* B59B80 80240310 0040282D */ daddu $a1, $v0, $zero +/* B59B84 80240314 94A2008E */ lhu $v0, 0x8e($a1) +/* B59B88 80240318 2442FFFF */ addiu $v0, $v0, -1 +/* B59B8C 8024031C A4A2008E */ sh $v0, 0x8e($a1) +/* B59B90 80240320 00021400 */ sll $v0, $v0, 0x10 +/* B59B94 80240324 1C400023 */ bgtz $v0, .L802403B4 +/* B59B98 80240328 24020004 */ addiu $v0, $zero, 4 +/* B59B9C 8024032C 8E0300CC */ lw $v1, 0xcc($s0) +/* B59BA0 80240330 AE02006C */ sw $v0, 0x6c($s0) +/* B59BA4 80240334 8C620000 */ lw $v0, ($v1) +/* B59BA8 80240338 ACA20028 */ sw $v0, 0x28($a1) +/* B59BAC 8024033C 9602007A */ lhu $v0, 0x7a($s0) +/* B59BB0 80240340 A4A2008E */ sh $v0, 0x8e($a1) +/* B59BB4 80240344 8E020078 */ lw $v0, 0x78($s0) +/* B59BB8 80240348 28420008 */ slti $v0, $v0, 8 +/* B59BBC 8024034C 14400018 */ bnez $v0, .L802403B0 +/* B59BC0 80240350 24020021 */ addiu $v0, $zero, 0x21 +/* B59BC4 80240354 24040003 */ addiu $a0, $zero, 3 +/* B59BC8 80240358 27A30028 */ addiu $v1, $sp, 0x28 +/* B59BCC 8024035C 84A700A8 */ lh $a3, 0xa8($a1) +/* B59BD0 80240360 3C013F80 */ lui $at, 0x3f80 +/* B59BD4 80240364 44810000 */ mtc1 $at, $f0 +/* B59BD8 80240368 3C014000 */ lui $at, 0x4000 +/* B59BDC 8024036C 44811000 */ mtc1 $at, $f2 +/* B59BE0 80240370 3C01C1A0 */ lui $at, 0xc1a0 +/* B59BE4 80240374 44812000 */ mtc1 $at, $f4 +/* B59BE8 80240378 44873000 */ mtc1 $a3, $f6 +/* B59BEC 8024037C 00000000 */ nop +/* B59BF0 80240380 468031A0 */ cvt.s.w $f6, $f6 +/* B59BF4 80240384 E7A00010 */ swc1 $f0, 0x10($sp) +/* B59BF8 80240388 E7A20014 */ swc1 $f2, 0x14($sp) +/* B59BFC 8024038C E7A40018 */ swc1 $f4, 0x18($sp) +/* B59C00 80240390 8E020078 */ lw $v0, 0x78($s0) +/* B59C04 80240394 44073000 */ mfc1 $a3, $f6 +/* B59C08 80240398 0000302D */ daddu $a2, $zero, $zero +/* B59C0C 8024039C AFA30020 */ sw $v1, 0x20($sp) +/* B59C10 802403A0 2442FFFF */ addiu $v0, $v0, -1 +/* B59C14 802403A4 0C01BFA4 */ jal fx_emote +/* B59C18 802403A8 AFA2001C */ sw $v0, 0x1c($sp) +/* B59C1C 802403AC 24020021 */ addiu $v0, $zero, 0x21 +.L802403B0: +/* B59C20 802403B0 AE220070 */ sw $v0, 0x70($s1) +.L802403B4: +/* B59C24 802403B4 8FBF0038 */ lw $ra, 0x38($sp) +/* B59C28 802403B8 8FB10034 */ lw $s1, 0x34($sp) +/* B59C2C 802403BC 8FB00030 */ lw $s0, 0x30($sp) +/* B59C30 802403C0 03E00008 */ jr $ra +/* B59C34 802403C4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_802403C8.s b/asm/nonmatchings/world/area_jan/jan_07/func_802403C8.s new file mode 100644 index 0000000000..cb8b3fa271 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_802403C8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C8 +/* B59C38 802403C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B59C3C 802403CC AFB10014 */ sw $s1, 0x14($sp) +/* B59C40 802403D0 0080882D */ daddu $s1, $a0, $zero +/* B59C44 802403D4 AFBF0018 */ sw $ra, 0x18($sp) +/* B59C48 802403D8 AFB00010 */ sw $s0, 0x10($sp) +/* B59C4C 802403DC 8E300148 */ lw $s0, 0x148($s1) +/* B59C50 802403E0 0C00EABB */ jal get_npc_unsafe +/* B59C54 802403E4 86040008 */ lh $a0, 8($s0) +/* B59C58 802403E8 9443008E */ lhu $v1, 0x8e($v0) +/* B59C5C 802403EC 2463FFFF */ addiu $v1, $v1, -1 +/* B59C60 802403F0 A443008E */ sh $v1, 0x8e($v0) +/* B59C64 802403F4 00031C00 */ sll $v1, $v1, 0x10 +/* B59C68 802403F8 1C600003 */ bgtz $v1, .L80240408 +/* B59C6C 802403FC 2402000C */ addiu $v0, $zero, 0xc +/* B59C70 80240400 AE00006C */ sw $zero, 0x6c($s0) +/* B59C74 80240404 AE220070 */ sw $v0, 0x70($s1) +.L80240408: +/* B59C78 80240408 8FBF0018 */ lw $ra, 0x18($sp) +/* B59C7C 8024040C 8FB10014 */ lw $s1, 0x14($sp) +/* B59C80 80240410 8FB00010 */ lw $s0, 0x10($sp) +/* B59C84 80240414 03E00008 */ jr $ra +/* B59C88 80240418 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_8024041C_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_8024041C_B59870.s new file mode 100644 index 0000000000..d8a805a04d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_8024041C_B59870.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_B59C8C +/* B59C8C 8024041C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B59C90 80240420 AFBF0024 */ sw $ra, 0x24($sp) +/* B59C94 80240424 AFB40020 */ sw $s4, 0x20($sp) +/* B59C98 80240428 AFB3001C */ sw $s3, 0x1c($sp) +/* B59C9C 8024042C AFB20018 */ sw $s2, 0x18($sp) +/* B59CA0 80240430 AFB10014 */ sw $s1, 0x14($sp) +/* B59CA4 80240434 AFB00010 */ sw $s0, 0x10($sp) +/* B59CA8 80240438 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B59CAC 8024043C 8C900148 */ lw $s0, 0x148($a0) +/* B59CB0 80240440 86040008 */ lh $a0, 8($s0) +/* B59CB4 80240444 0C00EABB */ jal get_npc_unsafe +/* B59CB8 80240448 24110001 */ addiu $s1, $zero, 1 +/* B59CBC 8024044C 86040008 */ lh $a0, 8($s0) +/* B59CC0 80240450 0040802D */ daddu $s0, $v0, $zero +/* B59CC4 80240454 3C05800B */ lui $a1, %hi(gCameras) +/* B59CC8 80240458 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B59CCC 8024045C 3C03800A */ lui $v1, 0x800a +/* B59CD0 80240460 8463A634 */ lh $v1, -0x59cc($v1) +/* B59CD4 80240464 00912021 */ addu $a0, $a0, $s1 +/* B59CD8 80240468 00031080 */ sll $v0, $v1, 2 +/* B59CDC 8024046C 00431021 */ addu $v0, $v0, $v1 +/* B59CE0 80240470 00021080 */ sll $v0, $v0, 2 +/* B59CE4 80240474 00431023 */ subu $v0, $v0, $v1 +/* B59CE8 80240478 000218C0 */ sll $v1, $v0, 3 +/* B59CEC 8024047C 00431021 */ addu $v0, $v0, $v1 +/* B59CF0 80240480 000210C0 */ sll $v0, $v0, 3 +/* B59CF4 80240484 0C00FB3A */ jal get_enemy +/* B59CF8 80240488 00459021 */ addu $s2, $v0, $a1 +/* B59CFC 8024048C 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B59D00 80240490 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B59D04 80240494 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B59D08 80240498 8E830000 */ lw $v1, ($s4) +/* B59D0C 8024049C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B59D10 802404A0 8C660028 */ lw $a2, 0x28($v1) +/* B59D14 802404A4 8C670030 */ lw $a3, 0x30($v1) +/* B59D18 802404A8 0C00A7B5 */ jal dist2D +/* B59D1C 802404AC 0040982D */ daddu $s3, $v0, $zero +/* B59D20 802404B0 C6620074 */ lwc1 $f2, 0x74($s3) +/* B59D24 802404B4 468010A0 */ cvt.s.w $f2, $f2 +/* B59D28 802404B8 4600103C */ c.lt.s $f2, $f0 +/* B59D2C 802404BC 00000000 */ nop +/* B59D30 802404C0 45030001 */ bc1tl .L802404C8 +/* B59D34 802404C4 0000882D */ daddu $s1, $zero, $zero +.L802404C8: +/* B59D38 802404C8 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B59D3C 802404CC C60E000C */ lwc1 $f14, 0xc($s0) +/* B59D40 802404D0 3C014387 */ lui $at, 0x4387 +/* B59D44 802404D4 4481A000 */ mtc1 $at, $f20 +/* B59D48 802404D8 0C00A70A */ jal get_clamped_angle_diff +/* B59D4C 802404DC 00000000 */ nop +/* B59D50 802404E0 0C00A6C9 */ jal clamp_angle +/* B59D54 802404E4 46000306 */ mov.s $f12, $f0 +/* B59D58 802404E8 3C018024 */ lui $at, 0x8024 +/* B59D5C 802404EC D4224718 */ ldc1 $f2, 0x4718($at) +/* B59D60 802404F0 46000021 */ cvt.d.s $f0, $f0 +/* B59D64 802404F4 4622003C */ c.lt.d $f0, $f2 +/* B59D68 802404F8 00000000 */ nop +/* B59D6C 802404FC 45000003 */ bc1f .L8024050C +/* B59D70 80240500 00000000 */ nop +/* B59D74 80240504 3C0142B4 */ lui $at, 0x42b4 +/* B59D78 80240508 4481A000 */ mtc1 $at, $f20 +.L8024050C: +/* B59D7C 8024050C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B59D80 80240510 8E820000 */ lw $v0, ($s4) +/* B59D84 80240514 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B59D88 80240518 8C460028 */ lw $a2, 0x28($v0) +/* B59D8C 8024051C 0C00A720 */ jal atan2 +/* B59D90 80240520 8C470030 */ lw $a3, 0x30($v0) +/* B59D94 80240524 4600A306 */ mov.s $f12, $f20 +/* B59D98 80240528 0C00A70A */ jal get_clamped_angle_diff +/* B59D9C 8024052C 46000386 */ mov.s $f14, $f0 +/* B59DA0 80240530 C6620078 */ lwc1 $f2, 0x78($s3) +/* B59DA4 80240534 468010A0 */ cvt.s.w $f2, $f2 +/* B59DA8 80240538 46000005 */ abs.s $f0, $f0 +/* B59DAC 8024053C 4600103C */ c.lt.s $f2, $f0 +/* B59DB0 80240540 00000000 */ nop +/* B59DB4 80240544 45030001 */ bc1tl .L8024054C +/* B59DB8 80240548 0000882D */ daddu $s1, $zero, $zero +.L8024054C: +/* B59DBC 8024054C 8E820000 */ lw $v0, ($s4) +/* B59DC0 80240550 C600003C */ lwc1 $f0, 0x3c($s0) +/* B59DC4 80240554 C442002C */ lwc1 $f2, 0x2c($v0) +/* B59DC8 80240558 860200A8 */ lh $v0, 0xa8($s0) +/* B59DCC 8024055C 46020001 */ sub.s $f0, $f0, $f2 +/* B59DD0 80240560 44821000 */ mtc1 $v0, $f2 +/* B59DD4 80240564 00000000 */ nop +/* B59DD8 80240568 468010A1 */ cvt.d.w $f2, $f2 +/* B59DDC 8024056C 46221080 */ add.d $f2, $f2, $f2 +/* B59DE0 80240570 46000005 */ abs.s $f0, $f0 +/* B59DE4 80240574 46000021 */ cvt.d.s $f0, $f0 +/* B59DE8 80240578 4620103E */ c.le.d $f2, $f0 +/* B59DEC 8024057C 00000000 */ nop +/* B59DF0 80240580 45030001 */ bc1tl .L80240588 +/* B59DF4 80240584 0000882D */ daddu $s1, $zero, $zero +.L80240588: +/* B59DF8 80240588 3C038011 */ lui $v1, 0x8011 +/* B59DFC 8024058C 8063EBB3 */ lb $v1, -0x144d($v1) +/* B59E00 80240590 24020009 */ addiu $v0, $zero, 9 +/* B59E04 80240594 50620001 */ beql $v1, $v0, .L8024059C +/* B59E08 80240598 0000882D */ daddu $s1, $zero, $zero +.L8024059C: +/* B59E0C 8024059C 24020007 */ addiu $v0, $zero, 7 +/* B59E10 802405A0 50620001 */ beql $v1, $v0, .L802405A8 +/* B59E14 802405A4 0000882D */ daddu $s1, $zero, $zero +.L802405A8: +/* B59E18 802405A8 0220102D */ daddu $v0, $s1, $zero +/* B59E1C 802405AC 8FBF0024 */ lw $ra, 0x24($sp) +/* B59E20 802405B0 8FB40020 */ lw $s4, 0x20($sp) +/* B59E24 802405B4 8FB3001C */ lw $s3, 0x1c($sp) +/* B59E28 802405B8 8FB20018 */ lw $s2, 0x18($sp) +/* B59E2C 802405BC 8FB10014 */ lw $s1, 0x14($sp) +/* B59E30 802405C0 8FB00010 */ lw $s0, 0x10($sp) +/* B59E34 802405C4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B59E38 802405C8 03E00008 */ jr $ra +/* B59E3C 802405CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_802405D0_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_802405D0_B59870.s new file mode 100644 index 0000000000..172c988f80 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_802405D0_B59870.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0_B59E40 +/* B59E40 802405D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B59E44 802405D4 AFB40028 */ sw $s4, 0x28($sp) +/* B59E48 802405D8 0080A02D */ daddu $s4, $a0, $zero +/* B59E4C 802405DC AFBF002C */ sw $ra, 0x2c($sp) +/* B59E50 802405E0 AFB30024 */ sw $s3, 0x24($sp) +/* B59E54 802405E4 AFB20020 */ sw $s2, 0x20($sp) +/* B59E58 802405E8 AFB1001C */ sw $s1, 0x1c($sp) +/* B59E5C 802405EC AFB00018 */ sw $s0, 0x18($sp) +/* B59E60 802405F0 8E910148 */ lw $s1, 0x148($s4) +/* B59E64 802405F4 86240008 */ lh $a0, 8($s1) +/* B59E68 802405F8 0C00EABB */ jal get_npc_unsafe +/* B59E6C 802405FC 00A0802D */ daddu $s0, $a1, $zero +/* B59E70 80240600 16000005 */ bnez $s0, .L80240618 +/* B59E74 80240604 0040902D */ daddu $s2, $v0, $zero +/* B59E78 80240608 8E2200B0 */ lw $v0, 0xb0($s1) +/* B59E7C 8024060C 30420004 */ andi $v0, $v0, 4 +/* B59E80 80240610 10400015 */ beqz $v0, .L80240668 +/* B59E84 80240614 00000000 */ nop +.L80240618: +/* B59E88 80240618 AE800070 */ sw $zero, 0x70($s4) +/* B59E8C 8024061C 8E420000 */ lw $v0, ($s2) +/* B59E90 80240620 3C031F30 */ lui $v1, 0x1f30 +/* B59E94 80240624 A640008E */ sh $zero, 0x8e($s2) +/* B59E98 80240628 34420102 */ ori $v0, $v0, 0x102 +/* B59E9C 8024062C AE420000 */ sw $v0, ($s2) +/* B59EA0 80240630 8E220000 */ lw $v0, ($s1) +/* B59EA4 80240634 3C01C47A */ lui $at, 0xc47a +/* B59EA8 80240638 44810000 */ mtc1 $at, $f0 +/* B59EAC 8024063C 00431025 */ or $v0, $v0, $v1 +/* B59EB0 80240640 AE220000 */ sw $v0, ($s1) +/* B59EB4 80240644 AE400038 */ sw $zero, 0x38($s2) +/* B59EB8 80240648 E640003C */ swc1 $f0, 0x3c($s2) +/* B59EBC 8024064C AE400040 */ sw $zero, 0x40($s2) +/* B59EC0 80240650 8E2300B0 */ lw $v1, 0xb0($s1) +/* B59EC4 80240654 30620004 */ andi $v0, $v1, 4 +/* B59EC8 80240658 10400003 */ beqz $v0, .L80240668 +/* B59ECC 8024065C 2402FFFB */ addiu $v0, $zero, -5 +/* B59ED0 80240660 00621024 */ and $v0, $v1, $v0 +/* B59ED4 80240664 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240668: +/* B59ED8 80240668 8E930070 */ lw $s3, 0x70($s4) +/* B59EDC 8024066C 12600005 */ beqz $s3, .L80240684 +/* B59EE0 80240670 24020001 */ addiu $v0, $zero, 1 +/* B59EE4 80240674 12620048 */ beq $s3, $v0, .L80240798 +/* B59EE8 80240678 00000000 */ nop +/* B59EEC 8024067C 08090203 */ j .L8024080C +/* B59EF0 80240680 00000000 */ nop +.L80240684: +/* B59EF4 80240684 86240008 */ lh $a0, 8($s1) +/* B59EF8 80240688 0C00FB3A */ jal get_enemy +/* B59EFC 8024068C 2484FFFF */ addiu $a0, $a0, -1 +/* B59F00 80240690 0040802D */ daddu $s0, $v0, $zero +/* B59F04 80240694 0C00EABB */ jal get_npc_unsafe +/* B59F08 80240698 86040008 */ lh $a0, 8($s0) +/* B59F0C 8024069C 24030001 */ addiu $v1, $zero, 1 +/* B59F10 802406A0 0040982D */ daddu $s3, $v0, $zero +/* B59F14 802406A4 A2230007 */ sb $v1, 7($s1) +/* B59F18 802406A8 8E03006C */ lw $v1, 0x6c($s0) +/* B59F1C 802406AC 24020003 */ addiu $v0, $zero, 3 +/* B59F20 802406B0 14620056 */ bne $v1, $v0, .L8024080C +/* B59F24 802406B4 00000000 */ nop +/* B59F28 802406B8 8E2500A8 */ lw $a1, 0xa8($s1) +/* B59F2C 802406BC 10A00003 */ beqz $a1, .L802406CC +/* B59F30 802406C0 0260202D */ daddu $a0, $s3, $zero +/* B59F34 802406C4 0C012530 */ jal func_800494C0 +/* B59F38 802406C8 0000302D */ daddu $a2, $zero, $zero +.L802406CC: +/* B59F3C 802406CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B59F40 802406D0 C6280070 */ lwc1 $f8, 0x70($s1) +/* B59F44 802406D4 46804220 */ cvt.s.w $f8, $f8 +/* B59F48 802406D8 C6620034 */ lwc1 $f2, 0x34($s3) +/* B59F4C 802406DC 3C014387 */ lui $at, 0x4387 +/* B59F50 802406E0 44810000 */ mtc1 $at, $f0 +/* B59F54 802406E4 44064000 */ mfc1 $a2, $f8 +/* B59F58 802406E8 46020001 */ sub.s $f0, $f0, $f2 +/* B59F5C 802406EC C6660038 */ lwc1 $f6, 0x38($s3) +/* B59F60 802406F0 C6640040 */ lwc1 $f4, 0x40($s3) +/* B59F64 802406F4 44070000 */ mfc1 $a3, $f0 +/* B59F68 802406F8 27A50014 */ addiu $a1, $sp, 0x14 +/* B59F6C 802406FC E7A60010 */ swc1 $f6, 0x10($sp) +/* B59F70 80240700 0C00A7E7 */ jal add_vec2D_polar +/* B59F74 80240704 E7A40014 */ swc1 $f4, 0x14($sp) +/* B59F78 80240708 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B59F7C 8024070C 4600020D */ trunc.w.s $f8, $f0 +/* B59F80 80240710 44024000 */ mfc1 $v0, $f8 +/* B59F84 80240714 E6400038 */ swc1 $f0, 0x38($s2) +/* B59F88 80240718 A6220010 */ sh $v0, 0x10($s1) +/* B59F8C 8024071C C660003C */ lwc1 $f0, 0x3c($s3) +/* B59F90 80240720 C622006C */ lwc1 $f2, 0x6c($s1) +/* B59F94 80240724 468010A0 */ cvt.s.w $f2, $f2 +/* B59F98 80240728 46020000 */ add.s $f0, $f0, $f2 +/* B59F9C 8024072C 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B59FA0 80240730 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B59FA4 80240734 E640003C */ swc1 $f0, 0x3c($s2) +/* B59FA8 80240738 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B59FAC 8024073C 4600020D */ trunc.w.s $f8, $f0 +/* B59FB0 80240740 44024000 */ mfc1 $v0, $f8 +/* B59FB4 80240744 00000000 */ nop +/* B59FB8 80240748 A6220012 */ sh $v0, 0x12($s1) +/* B59FBC 8024074C 4600120D */ trunc.w.s $f8, $f2 +/* B59FC0 80240750 44024000 */ mfc1 $v0, $f8 +/* B59FC4 80240754 E6420040 */ swc1 $f2, 0x40($s2) +/* B59FC8 80240758 A6220014 */ sh $v0, 0x14($s1) +/* B59FCC 8024075C 8C660028 */ lw $a2, 0x28($v1) +/* B59FD0 80240760 8C670030 */ lw $a3, 0x30($v1) +/* B59FD4 80240764 C64C0038 */ lwc1 $f12, 0x38($s2) +/* B59FD8 80240768 0C00A720 */ jal atan2 +/* B59FDC 8024076C C64E0040 */ lwc1 $f14, 0x40($s2) +/* B59FE0 80240770 3C03E0EF */ lui $v1, 0xe0ef +/* B59FE4 80240774 E640000C */ swc1 $f0, 0xc($s2) +/* B59FE8 80240778 8E220000 */ lw $v0, ($s1) +/* B59FEC 8024077C 3463FFFF */ ori $v1, $v1, 0xffff +/* B59FF0 80240780 00431024 */ and $v0, $v0, $v1 +/* B59FF4 80240784 AE220000 */ sw $v0, ($s1) +/* B59FF8 80240788 24020001 */ addiu $v0, $zero, 1 +/* B59FFC 8024078C A640008E */ sh $zero, 0x8e($s2) +/* B5A000 80240790 08090203 */ j .L8024080C +/* B5A004 80240794 AE820070 */ sw $v0, 0x70($s4) +.L80240798: +/* B5A008 80240798 86240008 */ lh $a0, 8($s1) +/* B5A00C 8024079C 0C00FB3A */ jal get_enemy +/* B5A010 802407A0 2484FFFF */ addiu $a0, $a0, -1 +/* B5A014 802407A4 0040802D */ daddu $s0, $v0, $zero +/* B5A018 802407A8 0C00EABB */ jal get_npc_unsafe +/* B5A01C 802407AC 86040008 */ lh $a0, 8($s0) +/* B5A020 802407B0 9642008E */ lhu $v0, 0x8e($s2) +/* B5A024 802407B4 24420001 */ addiu $v0, $v0, 1 +/* B5A028 802407B8 A642008E */ sh $v0, 0x8e($s2) +/* B5A02C 802407BC 00021400 */ sll $v0, $v0, 0x10 +/* B5A030 802407C0 8E23007C */ lw $v1, 0x7c($s1) +/* B5A034 802407C4 00021403 */ sra $v0, $v0, 0x10 +/* B5A038 802407C8 0043102A */ slt $v0, $v0, $v1 +/* B5A03C 802407CC 50400001 */ beql $v0, $zero, .L802407D4 +/* B5A040 802407D0 A2200007 */ sb $zero, 7($s1) +.L802407D4: +/* B5A044 802407D4 8E03006C */ lw $v1, 0x6c($s0) +/* B5A048 802407D8 24020004 */ addiu $v0, $zero, 4 +/* B5A04C 802407DC 1462000B */ bne $v1, $v0, .L8024080C +/* B5A050 802407E0 3C021F10 */ lui $v0, 0x1f10 +/* B5A054 802407E4 8E230000 */ lw $v1, ($s1) +/* B5A058 802407E8 3C01C47A */ lui $at, 0xc47a +/* B5A05C 802407EC 44810000 */ mtc1 $at, $f0 +/* B5A060 802407F0 00621825 */ or $v1, $v1, $v0 +/* B5A064 802407F4 AE230000 */ sw $v1, ($s1) +/* B5A068 802407F8 AE400038 */ sw $zero, 0x38($s2) +/* B5A06C 802407FC E640003C */ swc1 $f0, 0x3c($s2) +/* B5A070 80240800 AE400040 */ sw $zero, 0x40($s2) +/* B5A074 80240804 A2330007 */ sb $s3, 7($s1) +/* B5A078 80240808 AE800070 */ sw $zero, 0x70($s4) +.L8024080C: +/* B5A07C 8024080C 8FBF002C */ lw $ra, 0x2c($sp) +/* B5A080 80240810 8FB40028 */ lw $s4, 0x28($sp) +/* B5A084 80240814 8FB30024 */ lw $s3, 0x24($sp) +/* B5A088 80240818 8FB20020 */ lw $s2, 0x20($sp) +/* B5A08C 8024081C 8FB1001C */ lw $s1, 0x1c($sp) +/* B5A090 80240820 8FB00018 */ lw $s0, 0x18($sp) +/* B5A094 80240824 0000102D */ daddu $v0, $zero, $zero +/* B5A098 80240828 03E00008 */ jr $ra +/* B5A09C 8024082C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240830_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240830_B59870.s new file mode 100644 index 0000000000..c01fedab56 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240830_B59870.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240830_B5A0A0 +/* B5A0A0 80240830 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B5A0A4 80240834 AFB20038 */ sw $s2, 0x38($sp) +/* B5A0A8 80240838 0080902D */ daddu $s2, $a0, $zero +/* B5A0AC 8024083C AFBF0048 */ sw $ra, 0x48($sp) +/* B5A0B0 80240840 AFB50044 */ sw $s5, 0x44($sp) +/* B5A0B4 80240844 AFB40040 */ sw $s4, 0x40($sp) +/* B5A0B8 80240848 AFB3003C */ sw $s3, 0x3c($sp) +/* B5A0BC 8024084C AFB10034 */ sw $s1, 0x34($sp) +/* B5A0C0 80240850 AFB00030 */ sw $s0, 0x30($sp) +/* B5A0C4 80240854 8E510148 */ lw $s1, 0x148($s2) +/* B5A0C8 80240858 86240008 */ lh $a0, 8($s1) +/* B5A0CC 8024085C 0C00EABB */ jal get_npc_unsafe +/* B5A0D0 80240860 00A0802D */ daddu $s0, $a1, $zero +/* B5A0D4 80240864 8E43000C */ lw $v1, 0xc($s2) +/* B5A0D8 80240868 0240202D */ daddu $a0, $s2, $zero +/* B5A0DC 8024086C 8C650000 */ lw $a1, ($v1) +/* B5A0E0 80240870 0C0B1EAF */ jal get_variable +/* B5A0E4 80240874 0040A82D */ daddu $s5, $v0, $zero +/* B5A0E8 80240878 AFA00010 */ sw $zero, 0x10($sp) +/* B5A0EC 8024087C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A0F0 80240880 8C630030 */ lw $v1, 0x30($v1) +/* B5A0F4 80240884 AFA30014 */ sw $v1, 0x14($sp) +/* B5A0F8 80240888 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A0FC 8024088C 8C63001C */ lw $v1, 0x1c($v1) +/* B5A100 80240890 AFA30018 */ sw $v1, 0x18($sp) +/* B5A104 80240894 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A108 80240898 8C630024 */ lw $v1, 0x24($v1) +/* B5A10C 8024089C AFA3001C */ sw $v1, 0x1c($sp) +/* B5A110 802408A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A114 802408A4 8C630028 */ lw $v1, 0x28($v1) +/* B5A118 802408A8 27B40010 */ addiu $s4, $sp, 0x10 +/* B5A11C 802408AC AFA30020 */ sw $v1, 0x20($sp) +/* B5A120 802408B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A124 802408B4 3C014282 */ lui $at, 0x4282 +/* B5A128 802408B8 44810000 */ mtc1 $at, $f0 +/* B5A12C 802408BC 8C63002C */ lw $v1, 0x2c($v1) +/* B5A130 802408C0 0040982D */ daddu $s3, $v0, $zero +/* B5A134 802408C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* B5A138 802408C8 A7A0002C */ sh $zero, 0x2c($sp) +/* B5A13C 802408CC 16000005 */ bnez $s0, .L802408E4 +/* B5A140 802408D0 AFA30024 */ sw $v1, 0x24($sp) +/* B5A144 802408D4 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A148 802408D8 30420004 */ andi $v0, $v0, 4 +/* B5A14C 802408DC 10400020 */ beqz $v0, .L80240960 +/* B5A150 802408E0 00000000 */ nop +.L802408E4: +/* B5A154 802408E4 2404F7FF */ addiu $a0, $zero, -0x801 +/* B5A158 802408E8 AE400070 */ sw $zero, 0x70($s2) +/* B5A15C 802408EC A6A0008E */ sh $zero, 0x8e($s5) +/* B5A160 802408F0 8E2200CC */ lw $v0, 0xcc($s1) +/* B5A164 802408F4 8EA30000 */ lw $v1, ($s5) +/* B5A168 802408F8 8C420000 */ lw $v0, ($v0) +/* B5A16C 802408FC 00641824 */ and $v1, $v1, $a0 +/* B5A170 80240900 AEA30000 */ sw $v1, ($s5) +/* B5A174 80240904 AEA20028 */ sw $v0, 0x28($s5) +/* B5A178 80240908 8E2200D0 */ lw $v0, 0xd0($s1) +/* B5A17C 8024090C 8C420034 */ lw $v0, 0x34($v0) +/* B5A180 80240910 54400005 */ bnel $v0, $zero, .L80240928 +/* B5A184 80240914 2402FDFF */ addiu $v0, $zero, -0x201 +/* B5A188 80240918 34620200 */ ori $v0, $v1, 0x200 +/* B5A18C 8024091C 2403FFF7 */ addiu $v1, $zero, -9 +/* B5A190 80240920 0809024C */ j .L80240930 +/* B5A194 80240924 00431024 */ and $v0, $v0, $v1 +.L80240928: +/* B5A198 80240928 00621024 */ and $v0, $v1, $v0 +/* B5A19C 8024092C 34420008 */ ori $v0, $v0, 8 +.L80240930: +/* B5A1A0 80240930 AEA20000 */ sw $v0, ($s5) +/* B5A1A4 80240934 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A1A8 80240938 30420004 */ andi $v0, $v0, 4 +/* B5A1AC 8024093C 10400007 */ beqz $v0, .L8024095C +/* B5A1B0 80240940 24020063 */ addiu $v0, $zero, 0x63 +/* B5A1B4 80240944 AE420070 */ sw $v0, 0x70($s2) +/* B5A1B8 80240948 AE400074 */ sw $zero, 0x74($s2) +/* B5A1BC 8024094C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A1C0 80240950 2403FFFB */ addiu $v1, $zero, -5 +/* B5A1C4 80240954 00431024 */ and $v0, $v0, $v1 +/* B5A1C8 80240958 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024095C: +/* B5A1CC 8024095C AE20006C */ sw $zero, 0x6c($s1) +.L80240960: +/* B5A1D0 80240960 8E420070 */ lw $v0, 0x70($s2) +/* B5A1D4 80240964 2842001E */ slti $v0, $v0, 0x1e +/* B5A1D8 80240968 10400009 */ beqz $v0, .L80240990 +/* B5A1DC 8024096C 00000000 */ nop +/* B5A1E0 80240970 8E22006C */ lw $v0, 0x6c($s1) +/* B5A1E4 80240974 14400006 */ bnez $v0, .L80240990 +/* B5A1E8 80240978 00000000 */ nop +/* B5A1EC 8024097C 0C090107 */ jal func_8024041C +/* B5A1F0 80240980 0240202D */ daddu $a0, $s2, $zero +/* B5A1F4 80240984 10400002 */ beqz $v0, .L80240990 +/* B5A1F8 80240988 2402001E */ addiu $v0, $zero, 0x1e +/* B5A1FC 8024098C AE420070 */ sw $v0, 0x70($s2) +.L80240990: +/* B5A200 80240990 8E430070 */ lw $v1, 0x70($s2) +/* B5A204 80240994 2C620064 */ sltiu $v0, $v1, 0x64 +/* B5A208 80240998 10400048 */ beqz $v0, .L80240ABC +/* B5A20C 8024099C 00031080 */ sll $v0, $v1, 2 +/* B5A210 802409A0 3C018024 */ lui $at, 0x8024 +/* B5A214 802409A4 00220821 */ addu $at, $at, $v0 +/* B5A218 802409A8 8C224720 */ lw $v0, 0x4720($at) +/* B5A21C 802409AC 00400008 */ jr $v0 +/* B5A220 802409B0 00000000 */ nop +/* B5A224 802409B4 0240202D */ daddu $a0, $s2, $zero +/* B5A228 802409B8 0260282D */ daddu $a1, $s3, $zero +/* B5A22C 802409BC 0C012568 */ jal func_800495A0 +/* B5A230 802409C0 0280302D */ daddu $a2, $s4, $zero +/* B5A234 802409C4 0240202D */ daddu $a0, $s2, $zero +/* B5A238 802409C8 0260282D */ daddu $a1, $s3, $zero +/* B5A23C 802409CC 0C0125AE */ jal func_800496B8 +/* B5A240 802409D0 0280302D */ daddu $a2, $s4, $zero +/* B5A244 802409D4 080902AF */ j .L80240ABC +/* B5A248 802409D8 00000000 */ nop +/* B5A24C 802409DC 0240202D */ daddu $a0, $s2, $zero +/* B5A250 802409E0 0260282D */ daddu $a1, $s3, $zero +/* B5A254 802409E4 0C0126D1 */ jal func_80049B44 +/* B5A258 802409E8 0280302D */ daddu $a2, $s4, $zero +/* B5A25C 802409EC 0240202D */ daddu $a0, $s2, $zero +/* B5A260 802409F0 0260282D */ daddu $a1, $s3, $zero +/* B5A264 802409F4 0C012701 */ jal func_80049C04 +/* B5A268 802409F8 0280302D */ daddu $a2, $s4, $zero +/* B5A26C 802409FC 080902AF */ j .L80240ABC +/* B5A270 80240A00 00000000 */ nop +/* B5A274 80240A04 0240202D */ daddu $a0, $s2, $zero +/* B5A278 80240A08 0260282D */ daddu $a1, $s3, $zero +/* B5A27C 80240A0C 0C01278F */ jal func_80049E3C +/* B5A280 80240A10 0280302D */ daddu $a2, $s4, $zero +/* B5A284 80240A14 0240202D */ daddu $a0, $s2, $zero +/* B5A288 80240A18 0260282D */ daddu $a1, $s3, $zero +/* B5A28C 80240A1C 0C0127B3 */ jal func_80049ECC +/* B5A290 80240A20 0280302D */ daddu $a2, $s4, $zero +/* B5A294 80240A24 080902AF */ j .L80240ABC +/* B5A298 80240A28 00000000 */ nop +/* B5A29C 80240A2C 0240202D */ daddu $a0, $s2, $zero +/* B5A2A0 80240A30 0260282D */ daddu $a1, $s3, $zero +/* B5A2A4 80240A34 0C0127DF */ jal func_80049F7C +/* B5A2A8 80240A38 0280302D */ daddu $a2, $s4, $zero +/* B5A2AC 80240A3C 0240202D */ daddu $a0, $s2, $zero +/* B5A2B0 80240A40 0260282D */ daddu $a1, $s3, $zero +/* B5A2B4 80240A44 0C012849 */ jal func_8004A124 +/* B5A2B8 80240A48 0280302D */ daddu $a2, $s4, $zero +/* B5A2BC 80240A4C 080902AF */ j .L80240ABC +/* B5A2C0 80240A50 00000000 */ nop +/* B5A2C4 80240A54 0240202D */ daddu $a0, $s2, $zero +/* B5A2C8 80240A58 0260282D */ daddu $a1, $s3, $zero +/* B5A2CC 80240A5C 0C0128FA */ jal func_8004A3E8 +/* B5A2D0 80240A60 0280302D */ daddu $a2, $s4, $zero +/* B5A2D4 80240A64 080902AF */ j .L80240ABC +/* B5A2D8 80240A68 00000000 */ nop +/* B5A2DC 80240A6C 0C090085 */ jal func_80240214 +/* B5A2E0 80240A70 0240202D */ daddu $a0, $s2, $zero +/* B5A2E4 80240A74 0C0900A0 */ jal func_80240280 +/* B5A2E8 80240A78 0240202D */ daddu $a0, $s2, $zero +/* B5A2EC 80240A7C 8E430070 */ lw $v1, 0x70($s2) +/* B5A2F0 80240A80 24020020 */ addiu $v0, $zero, 0x20 +/* B5A2F4 80240A84 1462000D */ bne $v1, $v0, .L80240ABC +/* B5A2F8 80240A88 00000000 */ nop +/* B5A2FC 80240A8C 0C0900BC */ jal func_802402F0 +/* B5A300 80240A90 0240202D */ daddu $a0, $s2, $zero +/* B5A304 80240A94 8E430070 */ lw $v1, 0x70($s2) +/* B5A308 80240A98 24020021 */ addiu $v0, $zero, 0x21 +/* B5A30C 80240A9C 14620007 */ bne $v1, $v0, .L80240ABC +/* B5A310 80240AA0 00000000 */ nop +/* B5A314 80240AA4 0C0900F2 */ jal func_802403C8 +/* B5A318 80240AA8 0240202D */ daddu $a0, $s2, $zero +/* B5A31C 80240AAC 080902AF */ j .L80240ABC +/* B5A320 80240AB0 00000000 */ nop +/* B5A324 80240AB4 0C0129CF */ jal func_8004A73C +/* B5A328 80240AB8 0240202D */ daddu $a0, $s2, $zero +.L80240ABC: +/* B5A32C 80240ABC 8FBF0048 */ lw $ra, 0x48($sp) +/* B5A330 80240AC0 8FB50044 */ lw $s5, 0x44($sp) +/* B5A334 80240AC4 8FB40040 */ lw $s4, 0x40($sp) +/* B5A338 80240AC8 8FB3003C */ lw $s3, 0x3c($sp) +/* B5A33C 80240ACC 8FB20038 */ lw $s2, 0x38($sp) +/* B5A340 80240AD0 8FB10034 */ lw $s1, 0x34($sp) +/* B5A344 80240AD4 8FB00030 */ lw $s0, 0x30($sp) +/* B5A348 80240AD8 0000102D */ daddu $v0, $zero, $zero +/* B5A34C 80240ADC 03E00008 */ jr $ra +/* B5A350 80240AE0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240AE4_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240AE4_B59870.s new file mode 100644 index 0000000000..44db78b2f6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240AE4_B59870.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE4_B5A354 +/* B5A354 80240AE4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B5A358 80240AE8 AFB20038 */ sw $s2, 0x38($sp) +/* B5A35C 80240AEC 0080902D */ daddu $s2, $a0, $zero +/* B5A360 80240AF0 AFBF0048 */ sw $ra, 0x48($sp) +/* B5A364 80240AF4 AFB50044 */ sw $s5, 0x44($sp) +/* B5A368 80240AF8 AFB40040 */ sw $s4, 0x40($sp) +/* B5A36C 80240AFC AFB3003C */ sw $s3, 0x3c($sp) +/* B5A370 80240B00 AFB10034 */ sw $s1, 0x34($sp) +/* B5A374 80240B04 AFB00030 */ sw $s0, 0x30($sp) +/* B5A378 80240B08 8E510148 */ lw $s1, 0x148($s2) +/* B5A37C 80240B0C 86240008 */ lh $a0, 8($s1) +/* B5A380 80240B10 0C00EABB */ jal get_npc_unsafe +/* B5A384 80240B14 00A0802D */ daddu $s0, $a1, $zero +/* B5A388 80240B18 8E43000C */ lw $v1, 0xc($s2) +/* B5A38C 80240B1C 0240202D */ daddu $a0, $s2, $zero +/* B5A390 80240B20 8C650000 */ lw $a1, ($v1) +/* B5A394 80240B24 0C0B1EAF */ jal get_variable +/* B5A398 80240B28 0040A82D */ daddu $s5, $v0, $zero +/* B5A39C 80240B2C AFA00010 */ sw $zero, 0x10($sp) +/* B5A3A0 80240B30 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A3A4 80240B34 8C630030 */ lw $v1, 0x30($v1) +/* B5A3A8 80240B38 AFA30014 */ sw $v1, 0x14($sp) +/* B5A3AC 80240B3C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A3B0 80240B40 8C63001C */ lw $v1, 0x1c($v1) +/* B5A3B4 80240B44 AFA30018 */ sw $v1, 0x18($sp) +/* B5A3B8 80240B48 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A3BC 80240B4C 8C630024 */ lw $v1, 0x24($v1) +/* B5A3C0 80240B50 AFA3001C */ sw $v1, 0x1c($sp) +/* B5A3C4 80240B54 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A3C8 80240B58 8C630028 */ lw $v1, 0x28($v1) +/* B5A3CC 80240B5C 27B40010 */ addiu $s4, $sp, 0x10 +/* B5A3D0 80240B60 AFA30020 */ sw $v1, 0x20($sp) +/* B5A3D4 80240B64 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5A3D8 80240B68 3C014282 */ lui $at, 0x4282 +/* B5A3DC 80240B6C 44810000 */ mtc1 $at, $f0 +/* B5A3E0 80240B70 8C63002C */ lw $v1, 0x2c($v1) +/* B5A3E4 80240B74 0040982D */ daddu $s3, $v0, $zero +/* B5A3E8 80240B78 E7A00028 */ swc1 $f0, 0x28($sp) +/* B5A3EC 80240B7C A7A0002C */ sh $zero, 0x2c($sp) +/* B5A3F0 80240B80 16000005 */ bnez $s0, .L80240B98 +/* B5A3F4 80240B84 AFA30024 */ sw $v1, 0x24($sp) +/* B5A3F8 80240B88 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A3FC 80240B8C 30420004 */ andi $v0, $v0, 4 +/* B5A400 80240B90 10400020 */ beqz $v0, .L80240C14 +/* B5A404 80240B94 00000000 */ nop +.L80240B98: +/* B5A408 80240B98 2404F7FF */ addiu $a0, $zero, -0x801 +/* B5A40C 80240B9C AE400070 */ sw $zero, 0x70($s2) +/* B5A410 80240BA0 A6A0008E */ sh $zero, 0x8e($s5) +/* B5A414 80240BA4 8E2200CC */ lw $v0, 0xcc($s1) +/* B5A418 80240BA8 8EA30000 */ lw $v1, ($s5) +/* B5A41C 80240BAC 8C420000 */ lw $v0, ($v0) +/* B5A420 80240BB0 00641824 */ and $v1, $v1, $a0 +/* B5A424 80240BB4 AEA30000 */ sw $v1, ($s5) +/* B5A428 80240BB8 AEA20028 */ sw $v0, 0x28($s5) +/* B5A42C 80240BBC 8E2200D0 */ lw $v0, 0xd0($s1) +/* B5A430 80240BC0 8C420034 */ lw $v0, 0x34($v0) +/* B5A434 80240BC4 54400005 */ bnel $v0, $zero, .L80240BDC +/* B5A438 80240BC8 2402FDFF */ addiu $v0, $zero, -0x201 +/* B5A43C 80240BCC 34620200 */ ori $v0, $v1, 0x200 +/* B5A440 80240BD0 2403FFF7 */ addiu $v1, $zero, -9 +/* B5A444 80240BD4 080902F9 */ j .L80240BE4 +/* B5A448 80240BD8 00431024 */ and $v0, $v0, $v1 +.L80240BDC: +/* B5A44C 80240BDC 00621024 */ and $v0, $v1, $v0 +/* B5A450 80240BE0 34420008 */ ori $v0, $v0, 8 +.L80240BE4: +/* B5A454 80240BE4 AEA20000 */ sw $v0, ($s5) +/* B5A458 80240BE8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A45C 80240BEC 30420004 */ andi $v0, $v0, 4 +/* B5A460 80240BF0 10400007 */ beqz $v0, .L80240C10 +/* B5A464 80240BF4 24020063 */ addiu $v0, $zero, 0x63 +/* B5A468 80240BF8 AE420070 */ sw $v0, 0x70($s2) +/* B5A46C 80240BFC AE400074 */ sw $zero, 0x74($s2) +/* B5A470 80240C00 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5A474 80240C04 2403FFFB */ addiu $v1, $zero, -5 +/* B5A478 80240C08 00431024 */ and $v0, $v0, $v1 +/* B5A47C 80240C0C AE2200B0 */ sw $v0, 0xb0($s1) +.L80240C10: +/* B5A480 80240C10 AE20006C */ sw $zero, 0x6c($s1) +.L80240C14: +/* B5A484 80240C14 8E420070 */ lw $v0, 0x70($s2) +/* B5A488 80240C18 2842001E */ slti $v0, $v0, 0x1e +/* B5A48C 80240C1C 10400009 */ beqz $v0, .L80240C44 +/* B5A490 80240C20 00000000 */ nop +/* B5A494 80240C24 8E22006C */ lw $v0, 0x6c($s1) +/* B5A498 80240C28 14400006 */ bnez $v0, .L80240C44 +/* B5A49C 80240C2C 00000000 */ nop +/* B5A4A0 80240C30 0C090107 */ jal func_8024041C +/* B5A4A4 80240C34 0240202D */ daddu $a0, $s2, $zero +/* B5A4A8 80240C38 10400002 */ beqz $v0, .L80240C44 +/* B5A4AC 80240C3C 2402001E */ addiu $v0, $zero, 0x1e +/* B5A4B0 80240C40 AE420070 */ sw $v0, 0x70($s2) +.L80240C44: +/* B5A4B4 80240C44 8E430070 */ lw $v1, 0x70($s2) +/* B5A4B8 80240C48 2C620064 */ sltiu $v0, $v1, 0x64 +/* B5A4BC 80240C4C 10400048 */ beqz $v0, .L80240D70 +/* B5A4C0 80240C50 00031080 */ sll $v0, $v1, 2 +/* B5A4C4 80240C54 3C018024 */ lui $at, 0x8024 +/* B5A4C8 80240C58 00220821 */ addu $at, $at, $v0 +/* B5A4CC 80240C5C 8C2248B0 */ lw $v0, 0x48b0($at) +/* B5A4D0 80240C60 00400008 */ jr $v0 +/* B5A4D4 80240C64 00000000 */ nop +/* B5A4D8 80240C68 0240202D */ daddu $a0, $s2, $zero +/* B5A4DC 80240C6C 0260282D */ daddu $a1, $s3, $zero +/* B5A4E0 80240C70 0C012568 */ jal func_800495A0 +/* B5A4E4 80240C74 0280302D */ daddu $a2, $s4, $zero +/* B5A4E8 80240C78 0240202D */ daddu $a0, $s2, $zero +/* B5A4EC 80240C7C 0260282D */ daddu $a1, $s3, $zero +/* B5A4F0 80240C80 0C0125AE */ jal func_800496B8 +/* B5A4F4 80240C84 0280302D */ daddu $a2, $s4, $zero +/* B5A4F8 80240C88 0809035C */ j .L80240D70 +/* B5A4FC 80240C8C 00000000 */ nop +/* B5A500 80240C90 0240202D */ daddu $a0, $s2, $zero +/* B5A504 80240C94 0260282D */ daddu $a1, $s3, $zero +/* B5A508 80240C98 0C090000 */ jal func_80240000 +/* B5A50C 80240C9C 0280302D */ daddu $a2, $s4, $zero +/* B5A510 80240CA0 0240202D */ daddu $a0, $s2, $zero +/* B5A514 80240CA4 0260282D */ daddu $a1, $s3, $zero +/* B5A518 80240CA8 0C090014 */ jal func_80240050 +/* B5A51C 80240CAC 0280302D */ daddu $a2, $s4, $zero +/* B5A520 80240CB0 0809035C */ j .L80240D70 +/* B5A524 80240CB4 00000000 */ nop +/* B5A528 80240CB8 0240202D */ daddu $a0, $s2, $zero +/* B5A52C 80240CBC 0260282D */ daddu $a1, $s3, $zero +/* B5A530 80240CC0 0C01278F */ jal func_80049E3C +/* B5A534 80240CC4 0280302D */ daddu $a2, $s4, $zero +/* B5A538 80240CC8 0240202D */ daddu $a0, $s2, $zero +/* B5A53C 80240CCC 0260282D */ daddu $a1, $s3, $zero +/* B5A540 80240CD0 0C0127B3 */ jal func_80049ECC +/* B5A544 80240CD4 0280302D */ daddu $a2, $s4, $zero +/* B5A548 80240CD8 0809035C */ j .L80240D70 +/* B5A54C 80240CDC 00000000 */ nop +/* B5A550 80240CE0 0240202D */ daddu $a0, $s2, $zero +/* B5A554 80240CE4 0260282D */ daddu $a1, $s3, $zero +/* B5A558 80240CE8 0C0127DF */ jal func_80049F7C +/* B5A55C 80240CEC 0280302D */ daddu $a2, $s4, $zero +/* B5A560 80240CF0 0240202D */ daddu $a0, $s2, $zero +/* B5A564 80240CF4 0260282D */ daddu $a1, $s3, $zero +/* B5A568 80240CF8 0C012849 */ jal func_8004A124 +/* B5A56C 80240CFC 0280302D */ daddu $a2, $s4, $zero +/* B5A570 80240D00 0809035C */ j .L80240D70 +/* B5A574 80240D04 00000000 */ nop +/* B5A578 80240D08 0240202D */ daddu $a0, $s2, $zero +/* B5A57C 80240D0C 0260282D */ daddu $a1, $s3, $zero +/* B5A580 80240D10 0C0128FA */ jal func_8004A3E8 +/* B5A584 80240D14 0280302D */ daddu $a2, $s4, $zero +/* B5A588 80240D18 0809035C */ j .L80240D70 +/* B5A58C 80240D1C 00000000 */ nop +/* B5A590 80240D20 0C090085 */ jal func_80240214 +/* B5A594 80240D24 0240202D */ daddu $a0, $s2, $zero +/* B5A598 80240D28 0C0900A0 */ jal func_80240280 +/* B5A59C 80240D2C 0240202D */ daddu $a0, $s2, $zero +/* B5A5A0 80240D30 8E430070 */ lw $v1, 0x70($s2) +/* B5A5A4 80240D34 24020020 */ addiu $v0, $zero, 0x20 +/* B5A5A8 80240D38 1462000D */ bne $v1, $v0, .L80240D70 +/* B5A5AC 80240D3C 00000000 */ nop +/* B5A5B0 80240D40 0C0900BC */ jal func_802402F0 +/* B5A5B4 80240D44 0240202D */ daddu $a0, $s2, $zero +/* B5A5B8 80240D48 8E430070 */ lw $v1, 0x70($s2) +/* B5A5BC 80240D4C 24020021 */ addiu $v0, $zero, 0x21 +/* B5A5C0 80240D50 14620007 */ bne $v1, $v0, .L80240D70 +/* B5A5C4 80240D54 00000000 */ nop +/* B5A5C8 80240D58 0C0900F2 */ jal func_802403C8 +/* B5A5CC 80240D5C 0240202D */ daddu $a0, $s2, $zero +/* B5A5D0 80240D60 0809035C */ j .L80240D70 +/* B5A5D4 80240D64 00000000 */ nop +/* B5A5D8 80240D68 0C0129CF */ jal func_8004A73C +/* B5A5DC 80240D6C 0240202D */ daddu $a0, $s2, $zero +.L80240D70: +/* B5A5E0 80240D70 8FBF0048 */ lw $ra, 0x48($sp) +/* B5A5E4 80240D74 8FB50044 */ lw $s5, 0x44($sp) +/* B5A5E8 80240D78 8FB40040 */ lw $s4, 0x40($sp) +/* B5A5EC 80240D7C 8FB3003C */ lw $s3, 0x3c($sp) +/* B5A5F0 80240D80 8FB20038 */ lw $s2, 0x38($sp) +/* B5A5F4 80240D84 8FB10034 */ lw $s1, 0x34($sp) +/* B5A5F8 80240D88 8FB00030 */ lw $s0, 0x30($sp) +/* B5A5FC 80240D8C 0000102D */ daddu $v0, $zero, $zero +/* B5A600 80240D90 03E00008 */ jr $ra +/* B5A604 80240D94 27BD0050 */ addiu $sp, $sp, 0x50 +/* B5A608 80240D98 00000000 */ nop +/* B5A60C 80240D9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240DA0_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240DA0_B59870.s new file mode 100644 index 0000000000..cbccad2372 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240DA0_B59870.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA0_B5A610 +/* B5A610 80240DA0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5A614 80240DA4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B5A618 80240DA8 4485A000 */ mtc1 $a1, $f20 +/* B5A61C 80240DAC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B5A620 80240DB0 4486B000 */ mtc1 $a2, $f22 +/* B5A624 80240DB4 AFB00010 */ sw $s0, 0x10($sp) +/* B5A628 80240DB8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B5A62C 80240DBC 4487C000 */ mtc1 $a3, $f24 +/* B5A630 80240DC0 AFBF0014 */ sw $ra, 0x14($sp) +/* B5A634 80240DC4 0C019D28 */ jal guMtxIdentF +/* B5A638 80240DC8 0080802D */ daddu $s0, $a0, $zero +/* B5A63C 80240DCC 4616A582 */ mul.s $f22, $f20, $f22 +/* B5A640 80240DD0 00000000 */ nop +/* B5A644 80240DD4 4618A502 */ mul.s $f20, $f20, $f24 +/* B5A648 80240DD8 00000000 */ nop +/* B5A64C 80240DDC 3C013F80 */ lui $at, 0x3f80 +/* B5A650 80240DE0 44810000 */ mtc1 $at, $f0 +/* B5A654 80240DE4 00000000 */ nop +/* B5A658 80240DE8 E6000014 */ swc1 $f0, 0x14($s0) +/* B5A65C 80240DEC E6160010 */ swc1 $f22, 0x10($s0) +/* B5A660 80240DF0 E6140018 */ swc1 $f20, 0x18($s0) +/* B5A664 80240DF4 8FBF0014 */ lw $ra, 0x14($sp) +/* B5A668 80240DF8 8FB00010 */ lw $s0, 0x10($sp) +/* B5A66C 80240DFC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B5A670 80240E00 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B5A674 80240E04 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B5A678 80240E08 03E00008 */ jr $ra +/* B5A67C 80240E0C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240E10.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240E10.s new file mode 100644 index 0000000000..70c0436af2 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240E10.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E10 +/* B5A680 80240E10 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B5A684 80240E14 AFB10054 */ sw $s1, 0x54($sp) +/* B5A688 80240E18 0080882D */ daddu $s1, $a0, $zero +/* B5A68C 80240E1C AFBF005C */ sw $ra, 0x5c($sp) +/* B5A690 80240E20 AFB20058 */ sw $s2, 0x58($sp) +/* B5A694 80240E24 AFB00050 */ sw $s0, 0x50($sp) +/* B5A698 80240E28 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B5A69C 80240E2C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B5A6A0 80240E30 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B5A6A4 80240E34 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B5A6A8 80240E38 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B5A6AC 80240E3C 8E30000C */ lw $s0, 0xc($s1) +/* B5A6B0 80240E40 8E050000 */ lw $a1, ($s0) +/* B5A6B4 80240E44 0C0B1EAF */ jal get_variable +/* B5A6B8 80240E48 26100004 */ addiu $s0, $s0, 4 +/* B5A6BC 80240E4C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B5A6C0 80240E50 0040202D */ daddu $a0, $v0, $zero +/* B5A6C4 80240E54 8E050000 */ lw $a1, ($s0) +/* B5A6C8 80240E58 26100004 */ addiu $s0, $s0, 4 +/* B5A6CC 80240E5C 0220202D */ daddu $a0, $s1, $zero +/* B5A6D0 80240E60 0C0B210B */ jal get_float_variable +/* B5A6D4 80240E64 0040902D */ daddu $s2, $v0, $zero +/* B5A6D8 80240E68 8E050000 */ lw $a1, ($s0) +/* B5A6DC 80240E6C 26100004 */ addiu $s0, $s0, 4 +/* B5A6E0 80240E70 0220202D */ daddu $a0, $s1, $zero +/* B5A6E4 80240E74 0C0B210B */ jal get_float_variable +/* B5A6E8 80240E78 46000706 */ mov.s $f28, $f0 +/* B5A6EC 80240E7C 8E050000 */ lw $a1, ($s0) +/* B5A6F0 80240E80 26100004 */ addiu $s0, $s0, 4 +/* B5A6F4 80240E84 0220202D */ daddu $a0, $s1, $zero +/* B5A6F8 80240E88 0C0B210B */ jal get_float_variable +/* B5A6FC 80240E8C 46000686 */ mov.s $f26, $f0 +/* B5A700 80240E90 0220202D */ daddu $a0, $s1, $zero +/* B5A704 80240E94 8E050000 */ lw $a1, ($s0) +/* B5A708 80240E98 0C0B210B */ jal get_float_variable +/* B5A70C 80240E9C 46000586 */ mov.s $f22, $f0 +/* B5A710 80240EA0 0240202D */ daddu $a0, $s2, $zero +/* B5A714 80240EA4 0C046B4C */ jal get_model_from_list_index +/* B5A718 80240EA8 46000606 */ mov.s $f24, $f0 +/* B5A71C 80240EAC 0040882D */ daddu $s1, $v0, $zero +/* B5A720 80240EB0 96220000 */ lhu $v0, ($s1) +/* B5A724 80240EB4 30420400 */ andi $v0, $v0, 0x400 +/* B5A728 80240EB8 1440001E */ bnez $v0, .L80240F34 +/* B5A72C 80240EBC 26300058 */ addiu $s0, $s1, 0x58 +/* B5A730 80240EC0 4480A000 */ mtc1 $zero, $f20 +/* B5A734 80240EC4 4406B000 */ mfc1 $a2, $f22 +/* B5A738 80240EC8 4405A000 */ mfc1 $a1, $f20 +/* B5A73C 80240ECC 4407A000 */ mfc1 $a3, $f20 +/* B5A740 80240ED0 0C019E40 */ jal guTranslateF +/* B5A744 80240ED4 0200202D */ daddu $a0, $s0, $zero +/* B5A748 80240ED8 4405E000 */ mfc1 $a1, $f28 +/* B5A74C 80240EDC 4406D000 */ mfc1 $a2, $f26 +/* B5A750 80240EE0 4407C000 */ mfc1 $a3, $f24 +/* B5A754 80240EE4 0C090368 */ jal func_80240DA0 +/* B5A758 80240EE8 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A75C 80240EEC 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A760 80240EF0 0200282D */ daddu $a1, $s0, $zero +/* B5A764 80240EF4 0C019D80 */ jal guMtxCatF +/* B5A768 80240EF8 0200302D */ daddu $a2, $s0, $zero +/* B5A76C 80240EFC 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A770 80240F00 4600B587 */ neg.s $f22, $f22 +/* B5A774 80240F04 4405A000 */ mfc1 $a1, $f20 +/* B5A778 80240F08 4406B000 */ mfc1 $a2, $f22 +/* B5A77C 80240F0C 0C019E40 */ jal guTranslateF +/* B5A780 80240F10 00A0382D */ daddu $a3, $a1, $zero +/* B5A784 80240F14 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A788 80240F18 0200282D */ daddu $a1, $s0, $zero +/* B5A78C 80240F1C 0C019D80 */ jal guMtxCatF +/* B5A790 80240F20 00A0302D */ daddu $a2, $a1, $zero +/* B5A794 80240F24 96220000 */ lhu $v0, ($s1) +/* B5A798 80240F28 34421400 */ ori $v0, $v0, 0x1400 +/* B5A79C 80240F2C 080903EB */ j .L80240FAC +/* B5A7A0 80240F30 A6220000 */ sh $v0, ($s1) +.L80240F34: +/* B5A7A4 80240F34 4480A000 */ mtc1 $zero, $f20 +/* B5A7A8 80240F38 4406B000 */ mfc1 $a2, $f22 +/* B5A7AC 80240F3C 4405A000 */ mfc1 $a1, $f20 +/* B5A7B0 80240F40 4407A000 */ mfc1 $a3, $f20 +/* B5A7B4 80240F44 0C019E40 */ jal guTranslateF +/* B5A7B8 80240F48 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A7BC 80240F4C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A7C0 80240F50 26300058 */ addiu $s0, $s1, 0x58 +/* B5A7C4 80240F54 0200282D */ daddu $a1, $s0, $zero +/* B5A7C8 80240F58 0C019D80 */ jal guMtxCatF +/* B5A7CC 80240F5C 0200302D */ daddu $a2, $s0, $zero +/* B5A7D0 80240F60 4405E000 */ mfc1 $a1, $f28 +/* B5A7D4 80240F64 4406D000 */ mfc1 $a2, $f26 +/* B5A7D8 80240F68 4407C000 */ mfc1 $a3, $f24 +/* B5A7DC 80240F6C 0C090368 */ jal func_80240DA0 +/* B5A7E0 80240F70 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A7E4 80240F74 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A7E8 80240F78 0200282D */ daddu $a1, $s0, $zero +/* B5A7EC 80240F7C 0C019D80 */ jal guMtxCatF +/* B5A7F0 80240F80 0200302D */ daddu $a2, $s0, $zero +/* B5A7F4 80240F84 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A7F8 80240F88 4600B587 */ neg.s $f22, $f22 +/* B5A7FC 80240F8C 4405A000 */ mfc1 $a1, $f20 +/* B5A800 80240F90 4406B000 */ mfc1 $a2, $f22 +/* B5A804 80240F94 0C019E40 */ jal guTranslateF +/* B5A808 80240F98 00A0382D */ daddu $a3, $a1, $zero +/* B5A80C 80240F9C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A810 80240FA0 0200282D */ daddu $a1, $s0, $zero +/* B5A814 80240FA4 0C019D80 */ jal guMtxCatF +/* B5A818 80240FA8 00A0302D */ daddu $a2, $a1, $zero +.L80240FAC: +/* B5A81C 80240FAC 8FBF005C */ lw $ra, 0x5c($sp) +/* B5A820 80240FB0 8FB20058 */ lw $s2, 0x58($sp) +/* B5A824 80240FB4 8FB10054 */ lw $s1, 0x54($sp) +/* B5A828 80240FB8 8FB00050 */ lw $s0, 0x50($sp) +/* B5A82C 80240FBC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B5A830 80240FC0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B5A834 80240FC4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B5A838 80240FC8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B5A83C 80240FCC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B5A840 80240FD0 24020002 */ addiu $v0, $zero, 2 +/* B5A844 80240FD4 03E00008 */ jr $ra +/* B5A848 80240FD8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B5A84C 80240FDC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80240FE0_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80240FE0_B59870.s new file mode 100644 index 0000000000..2c37bcff58 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80240FE0_B59870.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0_B5A850 +/* B5A850 80240FE0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5A854 80240FE4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B5A858 80240FE8 4485A000 */ mtc1 $a1, $f20 +/* B5A85C 80240FEC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B5A860 80240FF0 4486B000 */ mtc1 $a2, $f22 +/* B5A864 80240FF4 AFB00010 */ sw $s0, 0x10($sp) +/* B5A868 80240FF8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B5A86C 80240FFC 4487C000 */ mtc1 $a3, $f24 +/* B5A870 80241000 AFBF0014 */ sw $ra, 0x14($sp) +/* B5A874 80241004 0C019D28 */ jal guMtxIdentF +/* B5A878 80241008 0080802D */ daddu $s0, $a0, $zero +/* B5A87C 8024100C 4616A582 */ mul.s $f22, $f20, $f22 +/* B5A880 80241010 00000000 */ nop +/* B5A884 80241014 4618A502 */ mul.s $f20, $f20, $f24 +/* B5A888 80241018 00000000 */ nop +/* B5A88C 8024101C 3C013F80 */ lui $at, 0x3f80 +/* B5A890 80241020 44810000 */ mtc1 $at, $f0 +/* B5A894 80241024 00000000 */ nop +/* B5A898 80241028 E6000014 */ swc1 $f0, 0x14($s0) +/* B5A89C 8024102C E6160010 */ swc1 $f22, 0x10($s0) +/* B5A8A0 80241030 E6140018 */ swc1 $f20, 0x18($s0) +/* B5A8A4 80241034 8FBF0014 */ lw $ra, 0x14($sp) +/* B5A8A8 80241038 8FB00010 */ lw $s0, 0x10($sp) +/* B5A8AC 8024103C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B5A8B0 80241040 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B5A8B4 80241044 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B5A8B8 80241048 03E00008 */ jr $ra +/* B5A8BC 8024104C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_07/func_80241050_B59870.s b/asm/nonmatchings/world/area_jan/jan_07/func_80241050_B59870.s new file mode 100644 index 0000000000..49b112a6ee --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_07/func_80241050_B59870.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241050_B5A8C0 +/* B5A8C0 80241050 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B5A8C4 80241054 AFB10054 */ sw $s1, 0x54($sp) +/* B5A8C8 80241058 0080882D */ daddu $s1, $a0, $zero +/* B5A8CC 8024105C AFBF005C */ sw $ra, 0x5c($sp) +/* B5A8D0 80241060 AFB20058 */ sw $s2, 0x58($sp) +/* B5A8D4 80241064 AFB00050 */ sw $s0, 0x50($sp) +/* B5A8D8 80241068 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B5A8DC 8024106C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B5A8E0 80241070 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B5A8E4 80241074 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B5A8E8 80241078 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B5A8EC 8024107C 8E30000C */ lw $s0, 0xc($s1) +/* B5A8F0 80241080 8E050000 */ lw $a1, ($s0) +/* B5A8F4 80241084 0C0B1EAF */ jal get_variable +/* B5A8F8 80241088 26100004 */ addiu $s0, $s0, 4 +/* B5A8FC 8024108C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B5A900 80241090 0040202D */ daddu $a0, $v0, $zero +/* B5A904 80241094 8E050000 */ lw $a1, ($s0) +/* B5A908 80241098 26100004 */ addiu $s0, $s0, 4 +/* B5A90C 8024109C 0220202D */ daddu $a0, $s1, $zero +/* B5A910 802410A0 0C0B210B */ jal get_float_variable +/* B5A914 802410A4 0040902D */ daddu $s2, $v0, $zero +/* B5A918 802410A8 8E050000 */ lw $a1, ($s0) +/* B5A91C 802410AC 26100004 */ addiu $s0, $s0, 4 +/* B5A920 802410B0 0220202D */ daddu $a0, $s1, $zero +/* B5A924 802410B4 0C0B210B */ jal get_float_variable +/* B5A928 802410B8 46000706 */ mov.s $f28, $f0 +/* B5A92C 802410BC 8E050000 */ lw $a1, ($s0) +/* B5A930 802410C0 26100004 */ addiu $s0, $s0, 4 +/* B5A934 802410C4 0220202D */ daddu $a0, $s1, $zero +/* B5A938 802410C8 0C0B210B */ jal get_float_variable +/* B5A93C 802410CC 46000686 */ mov.s $f26, $f0 +/* B5A940 802410D0 0220202D */ daddu $a0, $s1, $zero +/* B5A944 802410D4 8E050000 */ lw $a1, ($s0) +/* B5A948 802410D8 0C0B210B */ jal get_float_variable +/* B5A94C 802410DC 46000586 */ mov.s $f22, $f0 +/* B5A950 802410E0 0240202D */ daddu $a0, $s2, $zero +/* B5A954 802410E4 0C046B4C */ jal get_model_from_list_index +/* B5A958 802410E8 46000606 */ mov.s $f24, $f0 +/* B5A95C 802410EC 0040882D */ daddu $s1, $v0, $zero +/* B5A960 802410F0 96220000 */ lhu $v0, ($s1) +/* B5A964 802410F4 30420400 */ andi $v0, $v0, 0x400 +/* B5A968 802410F8 1440001E */ bnez $v0, .L80241174 +/* B5A96C 802410FC 26300058 */ addiu $s0, $s1, 0x58 +/* B5A970 80241100 4480A000 */ mtc1 $zero, $f20 +/* B5A974 80241104 4406B000 */ mfc1 $a2, $f22 +/* B5A978 80241108 4405A000 */ mfc1 $a1, $f20 +/* B5A97C 8024110C 4407A000 */ mfc1 $a3, $f20 +/* B5A980 80241110 0C019E40 */ jal guTranslateF +/* B5A984 80241114 0200202D */ daddu $a0, $s0, $zero +/* B5A988 80241118 4405E000 */ mfc1 $a1, $f28 +/* B5A98C 8024111C 4406D000 */ mfc1 $a2, $f26 +/* B5A990 80241120 4407C000 */ mfc1 $a3, $f24 +/* B5A994 80241124 0C0903F8 */ jal func_80240FE0 +/* B5A998 80241128 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A99C 8024112C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A9A0 80241130 0200282D */ daddu $a1, $s0, $zero +/* B5A9A4 80241134 0C019D80 */ jal guMtxCatF +/* B5A9A8 80241138 0200302D */ daddu $a2, $s0, $zero +/* B5A9AC 8024113C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A9B0 80241140 4600B587 */ neg.s $f22, $f22 +/* B5A9B4 80241144 4405A000 */ mfc1 $a1, $f20 +/* B5A9B8 80241148 4406B000 */ mfc1 $a2, $f22 +/* B5A9BC 8024114C 0C019E40 */ jal guTranslateF +/* B5A9C0 80241150 00A0382D */ daddu $a3, $a1, $zero +/* B5A9C4 80241154 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A9C8 80241158 0200282D */ daddu $a1, $s0, $zero +/* B5A9CC 8024115C 0C019D80 */ jal guMtxCatF +/* B5A9D0 80241160 00A0302D */ daddu $a2, $a1, $zero +/* B5A9D4 80241164 96220000 */ lhu $v0, ($s1) +/* B5A9D8 80241168 34421400 */ ori $v0, $v0, 0x1400 +/* B5A9DC 8024116C 0809047B */ j .L802411EC +/* B5A9E0 80241170 A6220000 */ sh $v0, ($s1) +.L80241174: +/* B5A9E4 80241174 4480A000 */ mtc1 $zero, $f20 +/* B5A9E8 80241178 4406B000 */ mfc1 $a2, $f22 +/* B5A9EC 8024117C 4405A000 */ mfc1 $a1, $f20 +/* B5A9F0 80241180 4407A000 */ mfc1 $a3, $f20 +/* B5A9F4 80241184 0C019E40 */ jal guTranslateF +/* B5A9F8 80241188 27A40010 */ addiu $a0, $sp, 0x10 +/* B5A9FC 8024118C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5AA00 80241190 26300058 */ addiu $s0, $s1, 0x58 +/* B5AA04 80241194 0200282D */ daddu $a1, $s0, $zero +/* B5AA08 80241198 0C019D80 */ jal guMtxCatF +/* B5AA0C 8024119C 0200302D */ daddu $a2, $s0, $zero +/* B5AA10 802411A0 4405E000 */ mfc1 $a1, $f28 +/* B5AA14 802411A4 4406D000 */ mfc1 $a2, $f26 +/* B5AA18 802411A8 4407C000 */ mfc1 $a3, $f24 +/* B5AA1C 802411AC 0C0903F8 */ jal func_80240FE0 +/* B5AA20 802411B0 27A40010 */ addiu $a0, $sp, 0x10 +/* B5AA24 802411B4 27A40010 */ addiu $a0, $sp, 0x10 +/* B5AA28 802411B8 0200282D */ daddu $a1, $s0, $zero +/* B5AA2C 802411BC 0C019D80 */ jal guMtxCatF +/* B5AA30 802411C0 0200302D */ daddu $a2, $s0, $zero +/* B5AA34 802411C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B5AA38 802411C8 4600B587 */ neg.s $f22, $f22 +/* B5AA3C 802411CC 4405A000 */ mfc1 $a1, $f20 +/* B5AA40 802411D0 4406B000 */ mfc1 $a2, $f22 +/* B5AA44 802411D4 0C019E40 */ jal guTranslateF +/* B5AA48 802411D8 00A0382D */ daddu $a3, $a1, $zero +/* B5AA4C 802411DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B5AA50 802411E0 0200282D */ daddu $a1, $s0, $zero +/* B5AA54 802411E4 0C019D80 */ jal guMtxCatF +/* B5AA58 802411E8 00A0302D */ daddu $a2, $a1, $zero +.L802411EC: +/* B5AA5C 802411EC 8FBF005C */ lw $ra, 0x5c($sp) +/* B5AA60 802411F0 8FB20058 */ lw $s2, 0x58($sp) +/* B5AA64 802411F4 8FB10054 */ lw $s1, 0x54($sp) +/* B5AA68 802411F8 8FB00050 */ lw $s0, 0x50($sp) +/* B5AA6C 802411FC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B5AA70 80241200 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B5AA74 80241204 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B5AA78 80241208 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B5AA7C 8024120C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B5AA80 80241210 24020002 */ addiu $v0, $zero, 2 +/* B5AA84 80241214 03E00008 */ jr $ra +/* B5AA88 80241218 27BD0088 */ addiu $sp, $sp, 0x88 +/* B5AA8C 8024121C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240000_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240000_B5E2B0.s new file mode 100644 index 0000000000..37c987f4e5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240000_B5E2B0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B5E2B0 +/* B5E2B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5E2B4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B5E2B8 80240008 0080802D */ daddu $s0, $a0, $zero +/* B5E2BC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B5E2C0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B5E2C4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B5E2C8 80240018 00621821 */ addu $v1, $v1, $v0 +/* B5E2CC 8024001C 04610004 */ bgez $v1, .L80240030 +/* B5E2D0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B5E2D4 80240024 3C020002 */ lui $v0, 2 +/* B5E2D8 80240028 08090010 */ j .L80240040 +/* B5E2DC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B5E2E0 80240030 3C040002 */ lui $a0, 2 +/* B5E2E4 80240034 0083102A */ slt $v0, $a0, $v1 +/* B5E2E8 80240038 10400002 */ beqz $v0, .L80240044 +/* B5E2EC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B5E2F0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B5E2F4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B5E2F8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B5E2FC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B5E300 80240050 04610004 */ bgez $v1, .L80240064 +/* B5E304 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B5E308 80240058 3C020002 */ lui $v0, 2 +/* B5E30C 8024005C 0809001D */ j .L80240074 +/* B5E310 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B5E314 80240064 3C040002 */ lui $a0, 2 +/* B5E318 80240068 0083102A */ slt $v0, $a0, $v1 +/* B5E31C 8024006C 10400002 */ beqz $v0, .L80240078 +/* B5E320 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B5E324 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B5E328 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B5E32C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B5E330 80240080 00621821 */ addu $v1, $v1, $v0 +/* B5E334 80240084 04610004 */ bgez $v1, .L80240098 +/* B5E338 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B5E33C 8024008C 3C020002 */ lui $v0, 2 +/* B5E340 80240090 0809002A */ j .L802400A8 +/* B5E344 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B5E348 80240098 3C040002 */ lui $a0, 2 +/* B5E34C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B5E350 802400A0 10400002 */ beqz $v0, .L802400AC +/* B5E354 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B5E358 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B5E35C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B5E360 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B5E364 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B5E368 802400B8 04610004 */ bgez $v1, .L802400CC +/* B5E36C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B5E370 802400C0 3C020002 */ lui $v0, 2 +/* B5E374 802400C4 08090037 */ j .L802400DC +/* B5E378 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B5E37C 802400CC 3C040002 */ lui $a0, 2 +/* B5E380 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B5E384 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B5E388 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B5E38C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B5E390 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B5E394 802400E4 0C046F07 */ jal set_main_pan_u +/* B5E398 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B5E39C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B5E3A0 802400F0 0C046F0D */ jal set_main_pan_v +/* B5E3A4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B5E3A8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B5E3AC 802400FC 0C046F13 */ jal set_aux_pan_u +/* B5E3B0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B5E3B4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B5E3B8 80240108 0C046F19 */ jal set_aux_pan_v +/* B5E3BC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B5E3C0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B5E3C4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B5E3C8 80240118 0000102D */ daddu $v0, $zero, $zero +/* B5E3CC 8024011C 03E00008 */ jr $ra +/* B5E3D0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240124_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240124_B5E2B0.s new file mode 100644 index 0000000000..d970fb3872 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240124_B5E2B0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B5E3D4 +/* B5E3D4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5E3D8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B5E3DC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B5E3E0 80240130 10A00005 */ beqz $a1, .L80240148 +/* B5E3E4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B5E3E8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B5E3EC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B5E3F0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B5E3F4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B5E3F8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B5E3FC 8024014C 1440000E */ bnez $v0, .L80240188 +/* B5E400 80240150 00000000 */ nop +/* B5E404 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B5E408 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B5E40C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B5E410 80240160 04610004 */ bgez $v1, .L80240174 +/* B5E414 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B5E418 80240168 3C020002 */ lui $v0, 2 +/* B5E41C 8024016C 08090061 */ j .L80240184 +/* B5E420 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B5E424 80240174 3C040002 */ lui $a0, 2 +/* B5E428 80240178 0083102A */ slt $v0, $a0, $v1 +/* B5E42C 8024017C 10400002 */ beqz $v0, .L80240188 +/* B5E430 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B5E434 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B5E438 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B5E43C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B5E440 80240190 00000000 */ nop +/* B5E444 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B5E448 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B5E44C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B5E450 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B5E454 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B5E458 802401A8 3C020002 */ lui $v0, 2 +/* B5E45C 802401AC 08090071 */ j .L802401C4 +/* B5E460 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B5E464 802401B4 3C040002 */ lui $a0, 2 +/* B5E468 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B5E46C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B5E470 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B5E474 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B5E478 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B5E47C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B5E480 802401D0 00000000 */ nop +/* B5E484 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B5E488 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B5E48C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B5E490 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B5E494 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B5E498 802401E8 3C020002 */ lui $v0, 2 +/* B5E49C 802401EC 08090081 */ j .L80240204 +/* B5E4A0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B5E4A4 802401F4 3C040002 */ lui $a0, 2 +/* B5E4A8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B5E4AC 802401FC 10400002 */ beqz $v0, .L80240208 +/* B5E4B0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B5E4B4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B5E4B8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B5E4BC 8024020C 1440000E */ bnez $v0, .L80240248 +/* B5E4C0 80240210 00000000 */ nop +/* B5E4C4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B5E4C8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B5E4CC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B5E4D0 80240220 04610004 */ bgez $v1, .L80240234 +/* B5E4D4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B5E4D8 80240228 3C020002 */ lui $v0, 2 +/* B5E4DC 8024022C 08090091 */ j .L80240244 +/* B5E4E0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B5E4E4 80240234 3C040002 */ lui $a0, 2 +/* B5E4E8 80240238 0083102A */ slt $v0, $a0, $v1 +/* B5E4EC 8024023C 10400002 */ beqz $v0, .L80240248 +/* B5E4F0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B5E4F4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B5E4F8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B5E4FC 8024024C 0C046F07 */ jal set_main_pan_u +/* B5E500 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B5E504 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B5E508 80240258 0C046F0D */ jal set_main_pan_v +/* B5E50C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B5E510 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B5E514 80240264 0C046F13 */ jal set_aux_pan_u +/* B5E518 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B5E51C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B5E520 80240270 0C046F19 */ jal set_aux_pan_v +/* B5E524 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B5E528 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B5E52C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B5E530 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B5E534 80240284 24420001 */ addiu $v0, $v0, 1 +/* B5E538 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B5E53C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B5E540 80240290 24630001 */ addiu $v1, $v1, 1 +/* B5E544 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B5E548 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B5E54C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B5E550 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B5E554 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B5E558 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B5E55C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B5E560 802402B0 14600002 */ bnez $v1, .L802402BC +/* B5E564 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B5E568 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B5E56C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B5E570 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B5E574 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B5E578 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B5E57C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B5E580 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B5E584 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B5E588 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B5E58C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B5E590 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B5E594 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B5E598 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B5E59C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B5E5A0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B5E5A4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B5E5A8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B5E5AC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B5E5B0 80240300 0000102D */ daddu $v0, $zero, $zero +/* B5E5B4 80240304 03E00008 */ jr $ra +/* B5E5B8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* B5E5BC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240310_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240310_B5E2B0.s new file mode 100644 index 0000000000..fbcb18d6ef --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240310_B5E2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_B5E5C0 +/* B5E5C0 80240310 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5E5C4 80240314 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B5E5C8 80240318 4485A000 */ mtc1 $a1, $f20 +/* B5E5CC 8024031C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B5E5D0 80240320 4486B000 */ mtc1 $a2, $f22 +/* B5E5D4 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* B5E5D8 80240328 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B5E5DC 8024032C 4487C000 */ mtc1 $a3, $f24 +/* B5E5E0 80240330 AFBF0014 */ sw $ra, 0x14($sp) +/* B5E5E4 80240334 0C019D28 */ jal guMtxIdentF +/* B5E5E8 80240338 0080802D */ daddu $s0, $a0, $zero +/* B5E5EC 8024033C 4616A582 */ mul.s $f22, $f20, $f22 +/* B5E5F0 80240340 00000000 */ nop +/* B5E5F4 80240344 4618A502 */ mul.s $f20, $f20, $f24 +/* B5E5F8 80240348 00000000 */ nop +/* B5E5FC 8024034C 3C013F80 */ lui $at, 0x3f80 +/* B5E600 80240350 44810000 */ mtc1 $at, $f0 +/* B5E604 80240354 00000000 */ nop +/* B5E608 80240358 E6000014 */ swc1 $f0, 0x14($s0) +/* B5E60C 8024035C E6160010 */ swc1 $f22, 0x10($s0) +/* B5E610 80240360 E6140018 */ swc1 $f20, 0x18($s0) +/* B5E614 80240364 8FBF0014 */ lw $ra, 0x14($sp) +/* B5E618 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* B5E61C 8024036C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B5E620 80240370 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B5E624 80240374 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B5E628 80240378 03E00008 */ jr $ra +/* B5E62C 8024037C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240380_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240380_B5E2B0.s new file mode 100644 index 0000000000..35adcc7ed7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240380_B5E2B0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240380_B5E630 +/* B5E630 80240380 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B5E634 80240384 AFB10054 */ sw $s1, 0x54($sp) +/* B5E638 80240388 0080882D */ daddu $s1, $a0, $zero +/* B5E63C 8024038C AFBF005C */ sw $ra, 0x5c($sp) +/* B5E640 80240390 AFB20058 */ sw $s2, 0x58($sp) +/* B5E644 80240394 AFB00050 */ sw $s0, 0x50($sp) +/* B5E648 80240398 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B5E64C 8024039C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B5E650 802403A0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B5E654 802403A4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B5E658 802403A8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B5E65C 802403AC 8E30000C */ lw $s0, 0xc($s1) +/* B5E660 802403B0 8E050000 */ lw $a1, ($s0) +/* B5E664 802403B4 0C0B1EAF */ jal get_variable +/* B5E668 802403B8 26100004 */ addiu $s0, $s0, 4 +/* B5E66C 802403BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B5E670 802403C0 0040202D */ daddu $a0, $v0, $zero +/* B5E674 802403C4 8E050000 */ lw $a1, ($s0) +/* B5E678 802403C8 26100004 */ addiu $s0, $s0, 4 +/* B5E67C 802403CC 0220202D */ daddu $a0, $s1, $zero +/* B5E680 802403D0 0C0B210B */ jal get_float_variable +/* B5E684 802403D4 0040902D */ daddu $s2, $v0, $zero +/* B5E688 802403D8 8E050000 */ lw $a1, ($s0) +/* B5E68C 802403DC 26100004 */ addiu $s0, $s0, 4 +/* B5E690 802403E0 0220202D */ daddu $a0, $s1, $zero +/* B5E694 802403E4 0C0B210B */ jal get_float_variable +/* B5E698 802403E8 46000706 */ mov.s $f28, $f0 +/* B5E69C 802403EC 8E050000 */ lw $a1, ($s0) +/* B5E6A0 802403F0 26100004 */ addiu $s0, $s0, 4 +/* B5E6A4 802403F4 0220202D */ daddu $a0, $s1, $zero +/* B5E6A8 802403F8 0C0B210B */ jal get_float_variable +/* B5E6AC 802403FC 46000686 */ mov.s $f26, $f0 +/* B5E6B0 80240400 0220202D */ daddu $a0, $s1, $zero +/* B5E6B4 80240404 8E050000 */ lw $a1, ($s0) +/* B5E6B8 80240408 0C0B210B */ jal get_float_variable +/* B5E6BC 8024040C 46000586 */ mov.s $f22, $f0 +/* B5E6C0 80240410 0240202D */ daddu $a0, $s2, $zero +/* B5E6C4 80240414 0C046B4C */ jal get_model_from_list_index +/* B5E6C8 80240418 46000606 */ mov.s $f24, $f0 +/* B5E6CC 8024041C 0040882D */ daddu $s1, $v0, $zero +/* B5E6D0 80240420 96220000 */ lhu $v0, ($s1) +/* B5E6D4 80240424 30420400 */ andi $v0, $v0, 0x400 +/* B5E6D8 80240428 1440001E */ bnez $v0, .L802404A4 +/* B5E6DC 8024042C 26300058 */ addiu $s0, $s1, 0x58 +/* B5E6E0 80240430 4480A000 */ mtc1 $zero, $f20 +/* B5E6E4 80240434 4406B000 */ mfc1 $a2, $f22 +/* B5E6E8 80240438 4405A000 */ mfc1 $a1, $f20 +/* B5E6EC 8024043C 4407A000 */ mfc1 $a3, $f20 +/* B5E6F0 80240440 0C019E40 */ jal guTranslateF +/* B5E6F4 80240444 0200202D */ daddu $a0, $s0, $zero +/* B5E6F8 80240448 4405E000 */ mfc1 $a1, $f28 +/* B5E6FC 8024044C 4406D000 */ mfc1 $a2, $f26 +/* B5E700 80240450 4407C000 */ mfc1 $a3, $f24 +/* B5E704 80240454 0C0900C4 */ jal func_80240310 +/* B5E708 80240458 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E70C 8024045C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E710 80240460 0200282D */ daddu $a1, $s0, $zero +/* B5E714 80240464 0C019D80 */ jal guMtxCatF +/* B5E718 80240468 0200302D */ daddu $a2, $s0, $zero +/* B5E71C 8024046C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E720 80240470 4600B587 */ neg.s $f22, $f22 +/* B5E724 80240474 4405A000 */ mfc1 $a1, $f20 +/* B5E728 80240478 4406B000 */ mfc1 $a2, $f22 +/* B5E72C 8024047C 0C019E40 */ jal guTranslateF +/* B5E730 80240480 00A0382D */ daddu $a3, $a1, $zero +/* B5E734 80240484 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E738 80240488 0200282D */ daddu $a1, $s0, $zero +/* B5E73C 8024048C 0C019D80 */ jal guMtxCatF +/* B5E740 80240490 00A0302D */ daddu $a2, $a1, $zero +/* B5E744 80240494 96220000 */ lhu $v0, ($s1) +/* B5E748 80240498 34421400 */ ori $v0, $v0, 0x1400 +/* B5E74C 8024049C 08090147 */ j .L8024051C +/* B5E750 802404A0 A6220000 */ sh $v0, ($s1) +.L802404A4: +/* B5E754 802404A4 4480A000 */ mtc1 $zero, $f20 +/* B5E758 802404A8 4406B000 */ mfc1 $a2, $f22 +/* B5E75C 802404AC 4405A000 */ mfc1 $a1, $f20 +/* B5E760 802404B0 4407A000 */ mfc1 $a3, $f20 +/* B5E764 802404B4 0C019E40 */ jal guTranslateF +/* B5E768 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E76C 802404BC 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E770 802404C0 26300058 */ addiu $s0, $s1, 0x58 +/* B5E774 802404C4 0200282D */ daddu $a1, $s0, $zero +/* B5E778 802404C8 0C019D80 */ jal guMtxCatF +/* B5E77C 802404CC 0200302D */ daddu $a2, $s0, $zero +/* B5E780 802404D0 4405E000 */ mfc1 $a1, $f28 +/* B5E784 802404D4 4406D000 */ mfc1 $a2, $f26 +/* B5E788 802404D8 4407C000 */ mfc1 $a3, $f24 +/* B5E78C 802404DC 0C0900C4 */ jal func_80240310 +/* B5E790 802404E0 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E794 802404E4 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E798 802404E8 0200282D */ daddu $a1, $s0, $zero +/* B5E79C 802404EC 0C019D80 */ jal guMtxCatF +/* B5E7A0 802404F0 0200302D */ daddu $a2, $s0, $zero +/* B5E7A4 802404F4 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E7A8 802404F8 4600B587 */ neg.s $f22, $f22 +/* B5E7AC 802404FC 4405A000 */ mfc1 $a1, $f20 +/* B5E7B0 80240500 4406B000 */ mfc1 $a2, $f22 +/* B5E7B4 80240504 0C019E40 */ jal guTranslateF +/* B5E7B8 80240508 00A0382D */ daddu $a3, $a1, $zero +/* B5E7BC 8024050C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E7C0 80240510 0200282D */ daddu $a1, $s0, $zero +/* B5E7C4 80240514 0C019D80 */ jal guMtxCatF +/* B5E7C8 80240518 00A0302D */ daddu $a2, $a1, $zero +.L8024051C: +/* B5E7CC 8024051C 8FBF005C */ lw $ra, 0x5c($sp) +/* B5E7D0 80240520 8FB20058 */ lw $s2, 0x58($sp) +/* B5E7D4 80240524 8FB10054 */ lw $s1, 0x54($sp) +/* B5E7D8 80240528 8FB00050 */ lw $s0, 0x50($sp) +/* B5E7DC 8024052C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B5E7E0 80240530 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B5E7E4 80240534 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B5E7E8 80240538 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B5E7EC 8024053C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B5E7F0 80240540 24020002 */ addiu $v0, $zero, 2 +/* B5E7F4 80240544 03E00008 */ jr $ra +/* B5E7F8 80240548 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_8024054C.s b/asm/nonmatchings/world/area_jan/jan_08/func_8024054C.s new file mode 100644 index 0000000000..f1c5b994a5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_8024054C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024054C +/* B5E7FC 8024054C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5E800 80240550 AFB00010 */ sw $s0, 0x10($sp) +/* B5E804 80240554 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B5E808 80240558 4485A000 */ mtc1 $a1, $f20 +/* B5E80C 8024055C AFBF0014 */ sw $ra, 0x14($sp) +/* B5E810 80240560 0C019D28 */ jal guMtxIdentF +/* B5E814 80240564 0080802D */ daddu $s0, $a0, $zero +/* B5E818 80240568 3C018024 */ lui $at, 0x8024 +/* B5E81C 8024056C D42074B0 */ ldc1 $f0, 0x74b0($at) +/* B5E820 80240570 4600A521 */ cvt.d.s $f20, $f20 +/* B5E824 80240574 4620A502 */ mul.d $f20, $f20, $f0 +/* B5E828 80240578 00000000 */ nop +/* B5E82C 8024057C 3C013F80 */ lui $at, 0x3f80 +/* B5E830 80240580 44810000 */ mtc1 $at, $f0 +/* B5E834 80240584 AE000018 */ sw $zero, 0x18($s0) +/* B5E838 80240588 E6000014 */ swc1 $f0, 0x14($s0) +/* B5E83C 8024058C 4620A520 */ cvt.s.d $f20, $f20 +/* B5E840 80240590 E6140010 */ swc1 $f20, 0x10($s0) +/* B5E844 80240594 8FBF0014 */ lw $ra, 0x14($sp) +/* B5E848 80240598 8FB00010 */ lw $s0, 0x10($sp) +/* B5E84C 8024059C D7B40018 */ ldc1 $f20, 0x18($sp) +/* B5E850 802405A0 03E00008 */ jr $ra +/* B5E854 802405A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802405A8_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_802405A8_B5E2B0.s new file mode 100644 index 0000000000..48eec6a373 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802405A8_B5E2B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8_B5E858 +/* B5E858 802405A8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B5E85C 802405AC AFB10054 */ sw $s1, 0x54($sp) +/* B5E860 802405B0 0080882D */ daddu $s1, $a0, $zero +/* B5E864 802405B4 AFBF0058 */ sw $ra, 0x58($sp) +/* B5E868 802405B8 AFB00050 */ sw $s0, 0x50($sp) +/* B5E86C 802405BC F7B40060 */ sdc1 $f20, 0x60($sp) +/* B5E870 802405C0 8E30000C */ lw $s0, 0xc($s1) +/* B5E874 802405C4 8E050000 */ lw $a1, ($s0) +/* B5E878 802405C8 0C0B1EAF */ jal get_variable +/* B5E87C 802405CC 26100004 */ addiu $s0, $s0, 4 +/* B5E880 802405D0 0C046C04 */ jal get_model_list_index_from_tree_index +/* B5E884 802405D4 0040202D */ daddu $a0, $v0, $zero +/* B5E888 802405D8 0220202D */ daddu $a0, $s1, $zero +/* B5E88C 802405DC 8E050000 */ lw $a1, ($s0) +/* B5E890 802405E0 0C0B210B */ jal get_float_variable +/* B5E894 802405E4 0040802D */ daddu $s0, $v0, $zero +/* B5E898 802405E8 0200202D */ daddu $a0, $s0, $zero +/* B5E89C 802405EC 0C046B4C */ jal get_model_from_list_index +/* B5E8A0 802405F0 46000506 */ mov.s $f20, $f0 +/* B5E8A4 802405F4 0040802D */ daddu $s0, $v0, $zero +/* B5E8A8 802405F8 96020000 */ lhu $v0, ($s0) +/* B5E8AC 802405FC 30420400 */ andi $v0, $v0, 0x400 +/* B5E8B0 80240600 14400008 */ bnez $v0, .L80240624 +/* B5E8B4 80240604 00000000 */ nop +/* B5E8B8 80240608 4405A000 */ mfc1 $a1, $f20 +/* B5E8BC 8024060C 0C090153 */ jal func_8024054C +/* B5E8C0 80240610 26040058 */ addiu $a0, $s0, 0x58 +/* B5E8C4 80240614 96020000 */ lhu $v0, ($s0) +/* B5E8C8 80240618 34421400 */ ori $v0, $v0, 0x1400 +/* B5E8CC 8024061C 08090190 */ j .L80240640 +/* B5E8D0 80240620 A6020000 */ sh $v0, ($s0) +.L80240624: +/* B5E8D4 80240624 4405A000 */ mfc1 $a1, $f20 +/* B5E8D8 80240628 0C090153 */ jal func_8024054C +/* B5E8DC 8024062C 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E8E0 80240630 27A40010 */ addiu $a0, $sp, 0x10 +/* B5E8E4 80240634 26050058 */ addiu $a1, $s0, 0x58 +/* B5E8E8 80240638 0C019D80 */ jal guMtxCatF +/* B5E8EC 8024063C 00A0302D */ daddu $a2, $a1, $zero +.L80240640: +/* B5E8F0 80240640 8FBF0058 */ lw $ra, 0x58($sp) +/* B5E8F4 80240644 8FB10054 */ lw $s1, 0x54($sp) +/* B5E8F8 80240648 8FB00050 */ lw $s0, 0x50($sp) +/* B5E8FC 8024064C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B5E900 80240650 24020002 */ addiu $v0, $zero, 2 +/* B5E904 80240654 03E00008 */ jr $ra +/* B5E908 80240658 27BD0068 */ addiu $sp, $sp, 0x68 +/* B5E90C 8024065C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240660_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240660_B5E2B0.s new file mode 100644 index 0000000000..28d52fb115 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240660_B5E2B0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660_B5E910 +/* B5E910 80240660 3C03800A */ lui $v1, %hi(D_8009A650) +/* B5E914 80240664 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* B5E918 80240668 8C620000 */ lw $v0, ($v1) +/* B5E91C 8024066C 34420040 */ ori $v0, $v0, 0x40 +/* B5E920 80240670 AC620000 */ sw $v0, ($v1) +/* B5E924 80240674 03E00008 */ jr $ra +/* B5E928 80240678 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_8024067C_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_8024067C_B5E2B0.s new file mode 100644 index 0000000000..44579ab331 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_8024067C_B5E2B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_B5E92C +/* B5E92C 8024067C 3C02800A */ lui $v0, %hi(D_8009A650) +/* B5E930 80240680 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* B5E934 80240684 8C430000 */ lw $v1, ($v0) +/* B5E938 80240688 2404FFBF */ addiu $a0, $zero, -0x41 +/* B5E93C 8024068C 00641824 */ and $v1, $v1, $a0 +/* B5E940 80240690 AC430000 */ sw $v1, ($v0) +/* B5E944 80240694 03E00008 */ jr $ra +/* B5E948 80240698 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_8024069C_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_8024069C_B5E2B0.s new file mode 100644 index 0000000000..e4d2ddb12b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_8024069C_B5E2B0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024069C_B5E94C +/* B5E94C 8024069C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5E950 802406A0 AFBF0010 */ sw $ra, 0x10($sp) +/* B5E954 802406A4 8C82000C */ lw $v0, 0xc($a0) +/* B5E958 802406A8 0C0B1EAF */ jal get_variable +/* B5E95C 802406AC 8C450000 */ lw $a1, ($v0) +/* B5E960 802406B0 0C0B95A4 */ jal func_802E5690 +/* B5E964 802406B4 0040202D */ daddu $a0, $v0, $zero +/* B5E968 802406B8 8FBF0010 */ lw $ra, 0x10($sp) +/* B5E96C 802406BC 24020002 */ addiu $v0, $zero, 2 +/* B5E970 802406C0 03E00008 */ jr $ra +/* B5E974 802406C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802406C8_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_802406C8_B5E2B0.s new file mode 100644 index 0000000000..690eb8a044 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802406C8_B5E2B0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C8_B5E978 +/* B5E978 802406C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5E97C 802406CC AFB00010 */ sw $s0, 0x10($sp) +/* B5E980 802406D0 0080802D */ daddu $s0, $a0, $zero +/* B5E984 802406D4 AFBF0018 */ sw $ra, 0x18($sp) +/* B5E988 802406D8 AFB10014 */ sw $s1, 0x14($sp) +/* B5E98C 802406DC 8E11000C */ lw $s1, 0xc($s0) +/* B5E990 802406E0 8E250000 */ lw $a1, ($s1) +/* B5E994 802406E4 0C0B1EAF */ jal get_variable +/* B5E998 802406E8 26310004 */ addiu $s1, $s1, 4 +/* B5E99C 802406EC 0200202D */ daddu $a0, $s0, $zero +/* B5E9A0 802406F0 3C038011 */ lui $v1, %hi(gPlayerData) +/* B5E9A4 802406F4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* B5E9A8 802406F8 000210C0 */ sll $v0, $v0, 3 +/* B5E9AC 802406FC 00431021 */ addu $v0, $v0, $v1 +/* B5E9B0 80240700 90460015 */ lbu $a2, 0x15($v0) +/* B5E9B4 80240704 8E250000 */ lw $a1, ($s1) +/* B5E9B8 80240708 24C60001 */ addiu $a2, $a2, 1 +/* B5E9BC 8024070C A0460015 */ sb $a2, 0x15($v0) +/* B5E9C0 80240710 00063600 */ sll $a2, $a2, 0x18 +/* B5E9C4 80240714 0C0B2026 */ jal set_variable +/* B5E9C8 80240718 00063603 */ sra $a2, $a2, 0x18 +/* B5E9CC 8024071C 8FBF0018 */ lw $ra, 0x18($sp) +/* B5E9D0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* B5E9D4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* B5E9D8 80240728 24020002 */ addiu $v0, $zero, 2 +/* B5E9DC 8024072C 03E00008 */ jr $ra +/* B5E9E0 80240730 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240734_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240734_B5E2B0.s new file mode 100644 index 0000000000..c8589e614f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240734_B5E2B0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240734_B5E9E4 +/* B5E9E4 80240734 3C028011 */ lui $v0, %hi(gPlayerData) +/* B5E9E8 80240738 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* B5E9EC 8024073C 000420C0 */ sll $a0, $a0, 3 +/* B5E9F0 80240740 00822021 */ addu $a0, $a0, $v0 +/* B5E9F4 80240744 90820014 */ lbu $v0, 0x14($a0) +/* B5E9F8 80240748 10400009 */ beqz $v0, .L80240770 +/* B5E9FC 8024074C 00000000 */ nop +/* B5EA00 80240750 90820015 */ lbu $v0, 0x15($a0) +/* B5EA04 80240754 00022600 */ sll $a0, $v0, 0x18 +/* B5EA08 80240758 00041E03 */ sra $v1, $a0, 0x18 +/* B5EA0C 8024075C 00051400 */ sll $v0, $a1, 0x10 +/* B5EA10 80240760 00021403 */ sra $v0, $v0, 0x10 +/* B5EA14 80240764 0043102A */ slt $v0, $v0, $v1 +/* B5EA18 80240768 10400003 */ beqz $v0, .L80240778 +/* B5EA1C 8024076C 00000000 */ nop +.L80240770: +/* B5EA20 80240770 03E00008 */ jr $ra +/* B5EA24 80240774 2402FFFF */ addiu $v0, $zero, -1 +.L80240778: +/* B5EA28 80240778 03E00008 */ jr $ra +/* B5EA2C 8024077C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240780_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240780_B5E2B0.s new file mode 100644 index 0000000000..ea213b214d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240780_B5E2B0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240780_B5EA30 +/* B5EA30 80240780 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5EA34 80240784 AFB3001C */ sw $s3, 0x1c($sp) +/* B5EA38 80240788 0080982D */ daddu $s3, $a0, $zero +/* B5EA3C 8024078C AFB00010 */ sw $s0, 0x10($sp) +/* B5EA40 80240790 24100001 */ addiu $s0, $zero, 1 +/* B5EA44 80240794 AFB40020 */ sw $s4, 0x20($sp) +/* B5EA48 80240798 2414FFFF */ addiu $s4, $zero, -1 +/* B5EA4C 8024079C AFB50024 */ sw $s5, 0x24($sp) +/* B5EA50 802407A0 0200A82D */ daddu $s5, $s0, $zero +/* B5EA54 802407A4 AFB10014 */ sw $s1, 0x14($sp) +/* B5EA58 802407A8 3C118011 */ lui $s1, 0x8011 +/* B5EA5C 802407AC 2631F298 */ addiu $s1, $s1, -0xd68 +/* B5EA60 802407B0 AFBF0028 */ sw $ra, 0x28($sp) +/* B5EA64 802407B4 AFB20018 */ sw $s2, 0x18($sp) +/* B5EA68 802407B8 8E6200B4 */ lw $v0, 0xb4($s3) +/* B5EA6C 802407BC 0280182D */ daddu $v1, $s4, $zero +/* B5EA70 802407C0 AE630084 */ sw $v1, 0x84($s3) +/* B5EA74 802407C4 00021027 */ nor $v0, $zero, $v0 +/* B5EA78 802407C8 000217C2 */ srl $v0, $v0, 0x1f +/* B5EA7C 802407CC 00029400 */ sll $s2, $v0, 0x10 +.L802407D0: +/* B5EA80 802407D0 92220014 */ lbu $v0, 0x14($s1) +/* B5EA84 802407D4 50400008 */ beql $v0, $zero, .L802407F8 +/* B5EA88 802407D8 26100001 */ addiu $s0, $s0, 1 +/* B5EA8C 802407DC 0200202D */ daddu $a0, $s0, $zero +/* B5EA90 802407E0 0C0901CD */ jal func_80240734 +/* B5EA94 802407E4 00122C03 */ sra $a1, $s2, 0x10 +/* B5EA98 802407E8 10540003 */ beq $v0, $s4, .L802407F8 +/* B5EA9C 802407EC 26100001 */ addiu $s0, $s0, 1 +/* B5EAA0 802407F0 08090201 */ j .L80240804 +/* B5EAA4 802407F4 AE750084 */ sw $s5, 0x84($s3) +.L802407F8: +/* B5EAA8 802407F8 2A02000C */ slti $v0, $s0, 0xc +/* B5EAAC 802407FC 1440FFF4 */ bnez $v0, .L802407D0 +/* B5EAB0 80240800 26310008 */ addiu $s1, $s1, 8 +.L80240804: +/* B5EAB4 80240804 8FBF0028 */ lw $ra, 0x28($sp) +/* B5EAB8 80240808 8FB50024 */ lw $s5, 0x24($sp) +/* B5EABC 8024080C 8FB40020 */ lw $s4, 0x20($sp) +/* B5EAC0 80240810 8FB3001C */ lw $s3, 0x1c($sp) +/* B5EAC4 80240814 8FB20018 */ lw $s2, 0x18($sp) +/* B5EAC8 80240818 8FB10014 */ lw $s1, 0x14($sp) +/* B5EACC 8024081C 8FB00010 */ lw $s0, 0x10($sp) +/* B5EAD0 80240820 24020002 */ addiu $v0, $zero, 2 +/* B5EAD4 80240824 03E00008 */ jr $ra +/* B5EAD8 80240828 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_8024082C_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_8024082C_B5E2B0.s new file mode 100644 index 0000000000..885465981f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_8024082C_B5E2B0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024082C_B5EADC +/* B5EADC 8024082C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B5EAE0 80240830 AFB5002C */ sw $s5, 0x2c($sp) +/* B5EAE4 80240834 0080A82D */ daddu $s5, $a0, $zero +/* B5EAE8 80240838 AFBE0038 */ sw $fp, 0x38($sp) +/* B5EAEC 8024083C 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* B5EAF0 80240840 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* B5EAF4 80240844 AFBF003C */ sw $ra, 0x3c($sp) +/* B5EAF8 80240848 AFB70034 */ sw $s7, 0x34($sp) +/* B5EAFC 8024084C AFB60030 */ sw $s6, 0x30($sp) +/* B5EB00 80240850 AFB40028 */ sw $s4, 0x28($sp) +/* B5EB04 80240854 AFB30024 */ sw $s3, 0x24($sp) +/* B5EB08 80240858 AFB20020 */ sw $s2, 0x20($sp) +/* B5EB0C 8024085C AFB1001C */ sw $s1, 0x1c($sp) +/* B5EB10 80240860 10A0004F */ beqz $a1, .L802409A0 +/* B5EB14 80240864 AFB00018 */ sw $s0, 0x18($sp) +/* B5EB18 80240868 0C00AB39 */ jal heap_malloc +/* B5EB1C 8024086C 24040330 */ addiu $a0, $zero, 0x330 +/* B5EB20 80240870 0040982D */ daddu $s3, $v0, $zero +/* B5EB24 80240874 0000B02D */ daddu $s6, $zero, $zero +/* B5EB28 80240878 02C0902D */ daddu $s2, $s6, $zero +/* B5EB2C 8024087C 3C148024 */ lui $s4, 0x8024 +/* B5EB30 80240880 26943E08 */ addiu $s4, $s4, 0x3e08 +/* B5EB34 80240884 0260882D */ daddu $s1, $s3, $zero +/* B5EB38 80240888 8EA200B4 */ lw $v0, 0xb4($s5) +/* B5EB3C 8024088C 3C038024 */ lui $v1, 0x8024 +/* B5EB40 80240890 24633E00 */ addiu $v1, $v1, 0x3e00 +/* B5EB44 80240894 AEB30078 */ sw $s3, 0x78($s5) +/* B5EB48 80240898 00021027 */ nor $v0, $zero, $v0 +/* B5EB4C 8024089C 0002BFC2 */ srl $s7, $v0, 0x1f +/* B5EB50 802408A0 00171080 */ sll $v0, $s7, 2 +/* B5EB54 802408A4 00431021 */ addu $v0, $v0, $v1 +/* B5EB58 802408A8 AFA20010 */ sw $v0, 0x10($sp) +.L802408AC: +/* B5EB5C 802408AC 86900000 */ lh $s0, ($s4) +/* B5EB60 802408B0 001010C0 */ sll $v0, $s0, 3 +/* B5EB64 802408B4 03C21021 */ addu $v0, $fp, $v0 +/* B5EB68 802408B8 90420014 */ lbu $v0, 0x14($v0) +/* B5EB6C 802408BC 5040002E */ beql $v0, $zero, .L80240978 +/* B5EB70 802408C0 26520001 */ addiu $s2, $s2, 1 +/* B5EB74 802408C4 00101100 */ sll $v0, $s0, 4 +/* B5EB78 802408C8 3C068009 */ lui $a2, 0x8009 +/* B5EB7C 802408CC 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* B5EB80 802408D0 00461021 */ addu $v0, $v0, $a2 +/* B5EB84 802408D4 0200202D */ daddu $a0, $s0, $zero +/* B5EB88 802408D8 AE300108 */ sw $s0, 0x108($s1) +/* B5EB8C 802408DC 8C420000 */ lw $v0, ($v0) +/* B5EB90 802408E0 02E0282D */ daddu $a1, $s7, $zero +/* B5EB94 802408E4 0C0901CD */ jal func_80240734 +/* B5EB98 802408E8 AE220084 */ sw $v0, 0x84($s1) +/* B5EB9C 802408EC 0040202D */ daddu $a0, $v0, $zero +/* B5EBA0 802408F0 04800011 */ bltz $a0, .L80240938 +/* B5EBA4 802408F4 00101080 */ sll $v0, $s0, 2 +/* B5EBA8 802408F8 3C06800F */ lui $a2, 0x800f +/* B5EBAC 802408FC 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* B5EBB0 80240900 00461021 */ addu $v0, $v0, $a2 +/* B5EBB4 80240904 8C430000 */ lw $v1, ($v0) +/* B5EBB8 80240908 24020001 */ addiu $v0, $zero, 1 +/* B5EBBC 8024090C AE22018C */ sw $v0, 0x18c($s1) +/* B5EBC0 80240910 00041080 */ sll $v0, $a0, 2 +/* B5EBC4 80240914 3C068024 */ lui $a2, 0x8024 +/* B5EBC8 80240918 24C63E18 */ addiu $a2, $a2, 0x3e18 +/* B5EBCC 8024091C AE230000 */ sw $v1, ($s1) +/* B5EBD0 80240920 001218C0 */ sll $v1, $s2, 3 +/* B5EBD4 80240924 00431021 */ addu $v0, $v0, $v1 +/* B5EBD8 80240928 00461021 */ addu $v0, $v0, $a2 +/* B5EBDC 8024092C 8C420000 */ lw $v0, ($v0) +/* B5EBE0 80240930 08090257 */ j .L8024095C +/* B5EBE4 80240934 AE220294 */ sw $v0, 0x294($s1) +.L80240938: +/* B5EBE8 80240938 3C06800F */ lui $a2, 0x800f +/* B5EBEC 8024093C 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* B5EBF0 80240940 00461021 */ addu $v0, $v0, $a2 +/* B5EBF4 80240944 8C420000 */ lw $v0, ($v0) +/* B5EBF8 80240948 AE20018C */ sw $zero, 0x18c($s1) +/* B5EBFC 8024094C AE220000 */ sw $v0, ($s1) +/* B5EC00 80240950 8FA60010 */ lw $a2, 0x10($sp) +/* B5EC04 80240954 8CC20000 */ lw $v0, ($a2) +/* B5EC08 80240958 AE220294 */ sw $v0, 0x294($s1) +.L8024095C: +/* B5EC0C 8024095C 001010C0 */ sll $v0, $s0, 3 +/* B5EC10 80240960 03C21021 */ addu $v0, $fp, $v0 +/* B5EC14 80240964 80420015 */ lb $v0, 0x15($v0) +/* B5EC18 80240968 26D60001 */ addiu $s6, $s6, 1 +/* B5EC1C 8024096C AE220210 */ sw $v0, 0x210($s1) +/* B5EC20 80240970 26310004 */ addiu $s1, $s1, 4 +/* B5EC24 80240974 26520001 */ addiu $s2, $s2, 1 +.L80240978: +/* B5EC28 80240978 2A420008 */ slti $v0, $s2, 8 +/* B5EC2C 8024097C 1440FFCB */ bnez $v0, .L802408AC +/* B5EC30 80240980 26940002 */ addiu $s4, $s4, 2 +/* B5EC34 80240984 0260202D */ daddu $a0, $s3, $zero +/* B5EC38 80240988 24020004 */ addiu $v0, $zero, 4 +/* B5EC3C 8024098C AC820318 */ sw $v0, 0x318($a0) +/* B5EC40 80240990 AC960324 */ sw $s6, 0x324($a0) +/* B5EC44 80240994 0C03D390 */ jal func_800F4E40 +/* B5EC48 80240998 AC800328 */ sw $zero, 0x328($a0) +/* B5EC4C 8024099C AEA00070 */ sw $zero, 0x70($s5) +.L802409A0: +/* B5EC50 802409A0 8EA20070 */ lw $v0, 0x70($s5) +/* B5EC54 802409A4 8EB30078 */ lw $s3, 0x78($s5) +/* B5EC58 802409A8 14400008 */ bnez $v0, .L802409CC +/* B5EC5C 802409AC 24420001 */ addiu $v0, $v0, 1 +/* B5EC60 802409B0 8662032C */ lh $v0, 0x32c($s3) +/* B5EC64 802409B4 10400009 */ beqz $v0, .L802409DC +/* B5EC68 802409B8 AEA20074 */ sw $v0, 0x74($s5) +/* B5EC6C 802409BC 0C03C4EC */ jal func_800F13B0 +/* B5EC70 802409C0 00000000 */ nop +/* B5EC74 802409C4 8EA20070 */ lw $v0, 0x70($s5) +/* B5EC78 802409C8 24420001 */ addiu $v0, $v0, 1 +.L802409CC: +/* B5EC7C 802409CC AEA20070 */ sw $v0, 0x70($s5) +/* B5EC80 802409D0 2842000F */ slti $v0, $v0, 0xf +/* B5EC84 802409D4 10400003 */ beqz $v0, .L802409E4 +/* B5EC88 802409D8 00000000 */ nop +.L802409DC: +/* B5EC8C 802409DC 08090293 */ j .L80240A4C +/* B5EC90 802409E0 0000102D */ daddu $v0, $zero, $zero +.L802409E4: +/* B5EC94 802409E4 0C03C54E */ jal func_800F1538 +/* B5EC98 802409E8 00000000 */ nop +/* B5EC9C 802409EC 8EA30074 */ lw $v1, 0x74($s5) +/* B5ECA0 802409F0 240200FF */ addiu $v0, $zero, 0xff +/* B5ECA4 802409F4 10620010 */ beq $v1, $v0, .L80240A38 +/* B5ECA8 802409F8 2462FFFF */ addiu $v0, $v1, -1 +/* B5ECAC 802409FC 00021080 */ sll $v0, $v0, 2 +/* B5ECB0 80240A00 02621021 */ addu $v0, $s3, $v0 +/* B5ECB4 80240A04 8C420108 */ lw $v0, 0x108($v0) +/* B5ECB8 80240A08 00021100 */ sll $v0, $v0, 4 +/* B5ECBC 80240A0C 3C038009 */ lui $v1, 0x8009 +/* B5ECC0 80240A10 00621821 */ addu $v1, $v1, $v0 +/* B5ECC4 80240A14 8C63EF20 */ lw $v1, -0x10e0($v1) +/* B5ECC8 80240A18 8EA20074 */ lw $v0, 0x74($s5) +/* B5ECCC 80240A1C 2442FFFF */ addiu $v0, $v0, -1 +/* B5ECD0 80240A20 00021080 */ sll $v0, $v0, 2 +/* B5ECD4 80240A24 02621021 */ addu $v0, $s3, $v0 +/* B5ECD8 80240A28 AEA30084 */ sw $v1, 0x84($s5) +/* B5ECDC 80240A2C 8C420108 */ lw $v0, 0x108($v0) +/* B5ECE0 80240A30 08090290 */ j .L80240A40 +/* B5ECE4 80240A34 AEA20088 */ sw $v0, 0x88($s5) +.L80240A38: +/* B5ECE8 80240A38 2402FFFF */ addiu $v0, $zero, -1 +/* B5ECEC 80240A3C AEA20084 */ sw $v0, 0x84($s5) +.L80240A40: +/* B5ECF0 80240A40 0C00AB4B */ jal heap_free +/* B5ECF4 80240A44 8EA40078 */ lw $a0, 0x78($s5) +/* B5ECF8 80240A48 24020002 */ addiu $v0, $zero, 2 +.L80240A4C: +/* B5ECFC 80240A4C 8FBF003C */ lw $ra, 0x3c($sp) +/* B5ED00 80240A50 8FBE0038 */ lw $fp, 0x38($sp) +/* B5ED04 80240A54 8FB70034 */ lw $s7, 0x34($sp) +/* B5ED08 80240A58 8FB60030 */ lw $s6, 0x30($sp) +/* B5ED0C 80240A5C 8FB5002C */ lw $s5, 0x2c($sp) +/* B5ED10 80240A60 8FB40028 */ lw $s4, 0x28($sp) +/* B5ED14 80240A64 8FB30024 */ lw $s3, 0x24($sp) +/* B5ED18 80240A68 8FB20020 */ lw $s2, 0x20($sp) +/* B5ED1C 80240A6C 8FB1001C */ lw $s1, 0x1c($sp) +/* B5ED20 80240A70 8FB00018 */ lw $s0, 0x18($sp) +/* B5ED24 80240A74 03E00008 */ jr $ra +/* B5ED28 80240A78 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240A7C_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240A7C_B5E2B0.s new file mode 100644 index 0000000000..3100c0e67d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240A7C_B5E2B0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A7C_B5ED2C +/* B5ED2C 80240A7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5ED30 80240A80 AFBF0010 */ sw $ra, 0x10($sp) +/* B5ED34 80240A84 8C82000C */ lw $v0, 0xc($a0) +/* B5ED38 80240A88 0C0B1EAF */ jal get_variable +/* B5ED3C 80240A8C 8C450000 */ lw $a1, ($v0) +/* B5ED40 80240A90 0C03AC5A */ jal func_800EB168 +/* B5ED44 80240A94 0040202D */ daddu $a0, $v0, $zero +/* B5ED48 80240A98 8FBF0010 */ lw $ra, 0x10($sp) +/* B5ED4C 80240A9C 24020002 */ addiu $v0, $zero, 2 +/* B5ED50 80240AA0 03E00008 */ jr $ra +/* B5ED54 80240AA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240AA8_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240AA8_B5E2B0.s new file mode 100644 index 0000000000..5ad0aa5525 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240AA8_B5E2B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AA8_B5ED58 +/* B5ED58 80240AA8 3C028011 */ lui $v0, 0x8011 +/* B5ED5C 80240AAC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* B5ED60 80240AB0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5ED64 80240AB4 AFBF0010 */ sw $ra, 0x10($sp) +/* B5ED68 80240AB8 00021100 */ sll $v0, $v0, 4 +/* B5ED6C 80240ABC 3C048009 */ lui $a0, 0x8009 +/* B5ED70 80240AC0 00822021 */ addu $a0, $a0, $v0 +/* B5ED74 80240AC4 8C84EF20 */ lw $a0, -0x10e0($a0) +/* B5ED78 80240AC8 0C0496CF */ jal set_message_string +/* B5ED7C 80240ACC 0000282D */ daddu $a1, $zero, $zero +/* B5ED80 80240AD0 8FBF0010 */ lw $ra, 0x10($sp) +/* B5ED84 80240AD4 24020002 */ addiu $v0, $zero, 2 +/* B5ED88 80240AD8 03E00008 */ jr $ra +/* B5ED8C 80240ADC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240AE0_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240AE0_B5E2B0.s new file mode 100644 index 0000000000..3e68e7d156 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240AE0_B5E2B0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE0_B5ED90 +/* B5ED90 80240AE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B5ED94 80240AE4 AFB1001C */ sw $s1, 0x1c($sp) +/* B5ED98 80240AE8 0080882D */ daddu $s1, $a0, $zero +/* B5ED9C 80240AEC AFBF0020 */ sw $ra, 0x20($sp) +/* B5EDA0 80240AF0 AFB00018 */ sw $s0, 0x18($sp) +/* B5EDA4 80240AF4 8E30000C */ lw $s0, 0xc($s1) +/* B5EDA8 80240AF8 8E050000 */ lw $a1, ($s0) +/* B5EDAC 80240AFC 0C0B1EAF */ jal get_variable +/* B5EDB0 80240B00 26100004 */ addiu $s0, $s0, 4 +/* B5EDB4 80240B04 0C04417A */ jal get_entity_by_index +/* B5EDB8 80240B08 0040202D */ daddu $a0, $v0, $zero +/* B5EDBC 80240B0C 8E100000 */ lw $s0, ($s0) +/* B5EDC0 80240B10 C444004C */ lwc1 $f4, 0x4c($v0) +/* B5EDC4 80240B14 3C014148 */ lui $at, 0x4148 +/* B5EDC8 80240B18 44810000 */ mtc1 $at, $f0 +/* B5EDCC 80240B1C 3C013F33 */ lui $at, 0x3f33 +/* B5EDD0 80240B20 34213333 */ ori $at, $at, 0x3333 +/* B5EDD4 80240B24 44811000 */ mtc1 $at, $f2 +/* B5EDD8 80240B28 AFA00014 */ sw $zero, 0x14($sp) +/* B5EDDC 80240B2C 46002100 */ add.s $f4, $f4, $f0 +/* B5EDE0 80240B30 E7A20010 */ swc1 $f2, 0x10($sp) +/* B5EDE4 80240B34 8C450048 */ lw $a1, 0x48($v0) +/* B5EDE8 80240B38 8C470050 */ lw $a3, 0x50($v0) +/* B5EDEC 80240B3C 44062000 */ mfc1 $a2, $f4 +/* B5EDF0 80240B40 0C01C5D4 */ jal func_80071750 +/* B5EDF4 80240B44 0000202D */ daddu $a0, $zero, $zero +/* B5EDF8 80240B48 0220202D */ daddu $a0, $s1, $zero +/* B5EDFC 80240B4C 0200282D */ daddu $a1, $s0, $zero +/* B5EE00 80240B50 0C0B2026 */ jal set_variable +/* B5EE04 80240B54 0040302D */ daddu $a2, $v0, $zero +/* B5EE08 80240B58 8FBF0020 */ lw $ra, 0x20($sp) +/* B5EE0C 80240B5C 8FB1001C */ lw $s1, 0x1c($sp) +/* B5EE10 80240B60 8FB00018 */ lw $s0, 0x18($sp) +/* B5EE14 80240B64 24020002 */ addiu $v0, $zero, 2 +/* B5EE18 80240B68 03E00008 */ jr $ra +/* B5EE1C 80240B6C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240B70.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240B70.s new file mode 100644 index 0000000000..60461c7900 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240B70.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B70 +/* B5EE20 80240B70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B5EE24 80240B74 AFBF0010 */ sw $ra, 0x10($sp) +/* B5EE28 80240B78 8C82000C */ lw $v0, 0xc($a0) +/* B5EE2C 80240B7C 0C0B1EAF */ jal get_variable +/* B5EE30 80240B80 8C450000 */ lw $a1, ($v0) +/* B5EE34 80240B84 0040202D */ daddu $a0, $v0, $zero +/* B5EE38 80240B88 8C830000 */ lw $v1, ($a0) +/* B5EE3C 80240B8C 34630010 */ ori $v1, $v1, 0x10 +/* B5EE40 80240B90 AC830000 */ sw $v1, ($a0) +/* B5EE44 80240B94 8FBF0010 */ lw $ra, 0x10($sp) +/* B5EE48 80240B98 24020002 */ addiu $v0, $zero, 2 +/* B5EE4C 80240B9C 03E00008 */ jr $ra +/* B5EE50 80240BA0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240BA4.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240BA4.s new file mode 100644 index 0000000000..f409d3405d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240BA4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA4 +/* B5EE54 80240BA4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5EE58 80240BA8 AFBF0018 */ sw $ra, 0x18($sp) +/* B5EE5C 80240BAC 8C82000C */ lw $v0, 0xc($a0) +/* B5EE60 80240BB0 0C0B1EAF */ jal get_variable +/* B5EE64 80240BB4 8C450000 */ lw $a1, ($v0) +/* B5EE68 80240BB8 0C04417A */ jal get_entity_by_index +/* B5EE6C 80240BBC 0040202D */ daddu $a0, $v0, $zero +/* B5EE70 80240BC0 3C013F80 */ lui $at, 0x3f80 +/* B5EE74 80240BC4 44810000 */ mtc1 $at, $f0 +/* B5EE78 80240BC8 C442004C */ lwc1 $f2, 0x4c($v0) +/* B5EE7C 80240BCC E7A00010 */ swc1 $f0, 0x10($sp) +/* B5EE80 80240BD0 3C014148 */ lui $at, 0x4148 +/* B5EE84 80240BD4 44810000 */ mtc1 $at, $f0 +/* B5EE88 80240BD8 2403004B */ addiu $v1, $zero, 0x4b +/* B5EE8C 80240BDC AFA30014 */ sw $v1, 0x14($sp) +/* B5EE90 80240BE0 46001080 */ add.s $f2, $f2, $f0 +/* B5EE94 80240BE4 8C450048 */ lw $a1, 0x48($v0) +/* B5EE98 80240BE8 8C470050 */ lw $a3, 0x50($v0) +/* B5EE9C 80240BEC 44061000 */ mfc1 $a2, $f2 +/* B5EEA0 80240BF0 0C01C2EC */ jal func_80070BB0 +/* B5EEA4 80240BF4 24040004 */ addiu $a0, $zero, 4 +/* B5EEA8 80240BF8 8FBF0018 */ lw $ra, 0x18($sp) +/* B5EEAC 80240BFC 24020002 */ addiu $v0, $zero, 2 +/* B5EEB0 80240C00 03E00008 */ jr $ra +/* B5EEB4 80240C04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240C08_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240C08_B5E2B0.s new file mode 100644 index 0000000000..5cbcb22095 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240C08_B5E2B0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C08_B5EEB8 +/* B5EEB8 80240C08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5EEBC 80240C0C AFBF0018 */ sw $ra, 0x18($sp) +/* B5EEC0 80240C10 0C00EAD2 */ jal get_npc_safe +/* B5EEC4 80240C14 2404FFFC */ addiu $a0, $zero, -4 +/* B5EEC8 80240C18 C444003C */ lwc1 $f4, 0x3c($v0) +/* B5EECC 80240C1C 3C014148 */ lui $at, 0x4148 +/* B5EED0 80240C20 44811000 */ mtc1 $at, $f2 +/* B5EED4 80240C24 3C013F80 */ lui $at, 0x3f80 +/* B5EED8 80240C28 44810000 */ mtc1 $at, $f0 +/* B5EEDC 80240C2C 2403001E */ addiu $v1, $zero, 0x1e +/* B5EEE0 80240C30 AFA30014 */ sw $v1, 0x14($sp) +/* B5EEE4 80240C34 46022100 */ add.s $f4, $f4, $f2 +/* B5EEE8 80240C38 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5EEEC 80240C3C 8C450038 */ lw $a1, 0x38($v0) +/* B5EEF0 80240C40 8C470040 */ lw $a3, 0x40($v0) +/* B5EEF4 80240C44 44062000 */ mfc1 $a2, $f4 +/* B5EEF8 80240C48 0C01C2EC */ jal func_80070BB0 +/* B5EEFC 80240C4C 24040009 */ addiu $a0, $zero, 9 +/* B5EF00 80240C50 8FBF0018 */ lw $ra, 0x18($sp) +/* B5EF04 80240C54 24020002 */ addiu $v0, $zero, 2 +/* B5EF08 80240C58 03E00008 */ jr $ra +/* B5EF0C 80240C5C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80240C60_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80240C60_B5E2B0.s new file mode 100644 index 0000000000..b808b24280 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80240C60_B5E2B0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C60_B5EF10 +/* B5EF10 80240C60 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B5EF14 80240C64 AFB60040 */ sw $s6, 0x40($sp) +/* B5EF18 80240C68 0080B02D */ daddu $s6, $a0, $zero +/* B5EF1C 80240C6C AFB00028 */ sw $s0, 0x28($sp) +/* B5EF20 80240C70 00A0802D */ daddu $s0, $a1, $zero +/* B5EF24 80240C74 AFBF0044 */ sw $ra, 0x44($sp) +/* B5EF28 80240C78 AFB5003C */ sw $s5, 0x3c($sp) +/* B5EF2C 80240C7C AFB40038 */ sw $s4, 0x38($sp) +/* B5EF30 80240C80 AFB30034 */ sw $s3, 0x34($sp) +/* B5EF34 80240C84 AFB20030 */ sw $s2, 0x30($sp) +/* B5EF38 80240C88 AFB1002C */ sw $s1, 0x2c($sp) +/* B5EF3C 80240C8C F7B80058 */ sdc1 $f24, 0x58($sp) +/* B5EF40 80240C90 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B5EF44 80240C94 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B5EF48 80240C98 8ED3000C */ lw $s3, 0xc($s6) +/* B5EF4C 80240C9C 0C00EAD2 */ jal get_npc_safe +/* B5EF50 80240CA0 2404FFFC */ addiu $a0, $zero, -4 +/* B5EF54 80240CA4 27A50018 */ addiu $a1, $sp, 0x18 +/* B5EF58 80240CA8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* B5EF5C 80240CAC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* B5EF60 80240CB0 27A6001C */ addiu $a2, $sp, 0x1c +/* B5EF64 80240CB4 00041880 */ sll $v1, $a0, 2 +/* B5EF68 80240CB8 00641821 */ addu $v1, $v1, $a0 +/* B5EF6C 80240CBC 00031880 */ sll $v1, $v1, 2 +/* B5EF70 80240CC0 00641823 */ subu $v1, $v1, $a0 +/* B5EF74 80240CC4 000320C0 */ sll $a0, $v1, 3 +/* B5EF78 80240CC8 00641821 */ addu $v1, $v1, $a0 +/* B5EF7C 80240CCC 000318C0 */ sll $v1, $v1, 3 +/* B5EF80 80240CD0 3C01800B */ lui $at, 0x800b +/* B5EF84 80240CD4 00230821 */ addu $at, $at, $v1 +/* B5EF88 80240CD8 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* B5EF8C 80240CDC 0C00A88D */ jal sin_cos_deg +/* B5EF90 80240CE0 0040A82D */ daddu $s5, $v0, $zero +/* B5EF94 80240CE4 1200005D */ beqz $s0, .L80240E5C +/* B5EF98 80240CE8 00000000 */ nop +/* B5EF9C 80240CEC 0C00AB0A */ jal general_heap_malloc +/* B5EFA0 80240CF0 24040068 */ addiu $a0, $zero, 0x68 +/* B5EFA4 80240CF4 0040902D */ daddu $s2, $v0, $zero +/* B5EFA8 80240CF8 02C0202D */ daddu $a0, $s6, $zero +/* B5EFAC 80240CFC 0000882D */ daddu $s1, $zero, $zero +/* B5EFB0 80240D00 2414FFFF */ addiu $s4, $zero, -1 +/* B5EFB4 80240D04 AED20060 */ sw $s2, 0x60($s6) +/* B5EFB8 80240D08 8E650000 */ lw $a1, ($s3) +/* B5EFBC 80240D0C 3C014148 */ lui $at, 0x4148 +/* B5EFC0 80240D10 4481C000 */ mtc1 $at, $f24 +/* B5EFC4 80240D14 3C013F80 */ lui $at, 0x3f80 +/* B5EFC8 80240D18 4481B000 */ mtc1 $at, $f22 +/* B5EFCC 80240D1C 4480A000 */ mtc1 $zero, $f20 +/* B5EFD0 80240D20 0C0B1EAF */ jal get_variable +/* B5EFD4 80240D24 0240802D */ daddu $s0, $s2, $zero +/* B5EFD8 80240D28 0C04417A */ jal get_entity_by_index +/* B5EFDC 80240D2C 0040202D */ daddu $a0, $v0, $zero +/* B5EFE0 80240D30 AE42005C */ sw $v0, 0x5c($s2) +.L80240D34: +/* B5EFE4 80240D34 8E42005C */ lw $v0, 0x5c($s2) +/* B5EFE8 80240D38 C440004C */ lwc1 $f0, 0x4c($v0) +/* B5EFEC 80240D3C 0000202D */ daddu $a0, $zero, $zero +/* B5EFF0 80240D40 E7B60010 */ swc1 $f22, 0x10($sp) +/* B5EFF4 80240D44 AFB40014 */ sw $s4, 0x14($sp) +/* B5EFF8 80240D48 46180000 */ add.s $f0, $f0, $f24 +/* B5EFFC 80240D4C 8C450048 */ lw $a1, 0x48($v0) +/* B5F000 80240D50 8C470050 */ lw $a3, 0x50($v0) +/* B5F004 80240D54 44060000 */ mfc1 $a2, $f0 +/* B5F008 80240D58 0C01C5BC */ jal func_800716F0 +/* B5F00C 80240D5C 26310001 */ addiu $s1, $s1, 1 +/* B5F010 80240D60 AE020008 */ sw $v0, 8($s0) +/* B5F014 80240D64 E614002C */ swc1 $f20, 0x2c($s0) +/* B5F018 80240D68 E6140020 */ swc1 $f20, 0x20($s0) +/* B5F01C 80240D6C E6140014 */ swc1 $f20, 0x14($s0) +/* B5F020 80240D70 E6140050 */ swc1 $f20, 0x50($s0) +/* B5F024 80240D74 E6140044 */ swc1 $f20, 0x44($s0) +/* B5F028 80240D78 E6140038 */ swc1 $f20, 0x38($s0) +/* B5F02C 80240D7C 2A220003 */ slti $v0, $s1, 3 +/* B5F030 80240D80 1440FFEC */ bnez $v0, .L80240D34 +/* B5F034 80240D84 26100004 */ addiu $s0, $s0, 4 +/* B5F038 80240D88 0000882D */ daddu $s1, $zero, $zero +/* B5F03C 80240D8C 0240802D */ daddu $s0, $s2, $zero +/* B5F040 80240D90 3C148024 */ lui $s4, 0x8024 +/* B5F044 80240D94 26943E58 */ addiu $s4, $s4, 0x3e58 +/* B5F048 80240D98 3C014248 */ lui $at, 0x4248 +/* B5F04C 80240D9C 4481A000 */ mtc1 $at, $f20 +/* B5F050 80240DA0 24130044 */ addiu $s3, $zero, 0x44 +/* B5F054 80240DA4 AE400000 */ sw $zero, ($s2) +/* B5F058 80240DA8 AE400004 */ sw $zero, 4($s2) +/* B5F05C 80240DAC AE400060 */ sw $zero, 0x60($s2) +/* B5F060 80240DB0 AE400064 */ sw $zero, 0x64($s2) +.L80240DB4: +/* B5F064 80240DB4 27A40020 */ addiu $a0, $sp, 0x20 +/* B5F068 80240DB8 4406A000 */ mfc1 $a2, $f20 +/* B5F06C 80240DBC 8E870000 */ lw $a3, ($s4) +/* B5F070 80240DC0 02532821 */ addu $a1, $s2, $s3 +/* B5F074 80240DC4 0C00A7E7 */ jal add_vec2D_polar +/* B5F078 80240DC8 AFA00020 */ sw $zero, 0x20($sp) +/* B5F07C 80240DCC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B5F080 80240DD0 C7A40020 */ lwc1 $f4, 0x20($sp) +/* B5F084 80240DD4 46041082 */ mul.s $f2, $f2, $f4 +/* B5F088 80240DD8 00000000 */ nop +/* B5F08C 80240DDC C7A00018 */ lwc1 $f0, 0x18($sp) +/* B5F090 80240DE0 46040002 */ mul.s $f0, $f0, $f4 +/* B5F094 80240DE4 00000000 */ nop +/* B5F098 80240DE8 E6020038 */ swc1 $f2, 0x38($s0) +/* B5F09C 80240DEC E6000050 */ swc1 $f0, 0x50($s0) +/* B5F0A0 80240DF0 8E42005C */ lw $v0, 0x5c($s2) +/* B5F0A4 80240DF4 C6000038 */ lwc1 $f0, 0x38($s0) +/* B5F0A8 80240DF8 C4420048 */ lwc1 $f2, 0x48($v0) +/* B5F0AC 80240DFC 46001080 */ add.s $f2, $f2, $f0 +/* B5F0B0 80240E00 C6A00038 */ lwc1 $f0, 0x38($s5) +/* B5F0B4 80240E04 46020001 */ sub.s $f0, $f0, $f2 +/* B5F0B8 80240E08 E6000038 */ swc1 $f0, 0x38($s0) +/* B5F0BC 80240E0C 8E42005C */ lw $v0, 0x5c($s2) +/* B5F0C0 80240E10 C6000044 */ lwc1 $f0, 0x44($s0) +/* B5F0C4 80240E14 C442004C */ lwc1 $f2, 0x4c($v0) +/* B5F0C8 80240E18 46001080 */ add.s $f2, $f2, $f0 +/* B5F0CC 80240E1C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* B5F0D0 80240E20 46020001 */ sub.s $f0, $f0, $f2 +/* B5F0D4 80240E24 E6000044 */ swc1 $f0, 0x44($s0) +/* B5F0D8 80240E28 8E42005C */ lw $v0, 0x5c($s2) +/* B5F0DC 80240E2C C6000050 */ lwc1 $f0, 0x50($s0) +/* B5F0E0 80240E30 C4420050 */ lwc1 $f2, 0x50($v0) +/* B5F0E4 80240E34 26940004 */ addiu $s4, $s4, 4 +/* B5F0E8 80240E38 46001080 */ add.s $f2, $f2, $f0 +/* B5F0EC 80240E3C C6A00040 */ lwc1 $f0, 0x40($s5) +/* B5F0F0 80240E40 26730004 */ addiu $s3, $s3, 4 +/* B5F0F4 80240E44 46020001 */ sub.s $f0, $f0, $f2 +/* B5F0F8 80240E48 26310001 */ addiu $s1, $s1, 1 +/* B5F0FC 80240E4C 2A220003 */ slti $v0, $s1, 3 +/* B5F100 80240E50 E6000050 */ swc1 $f0, 0x50($s0) +/* B5F104 80240E54 1440FFD7 */ bnez $v0, .L80240DB4 +/* B5F108 80240E58 26100004 */ addiu $s0, $s0, 4 +.L80240E5C: +/* B5F10C 80240E5C 8ED20060 */ lw $s2, 0x60($s6) +/* B5F110 80240E60 8E430000 */ lw $v1, ($s2) +/* B5F114 80240E64 24020001 */ addiu $v0, $zero, 1 +/* B5F118 80240E68 10620038 */ beq $v1, $v0, .L80240F4C +/* B5F11C 80240E6C 28620002 */ slti $v0, $v1, 2 +/* B5F120 80240E70 50400005 */ beql $v0, $zero, .L80240E88 +/* B5F124 80240E74 24020002 */ addiu $v0, $zero, 2 +/* B5F128 80240E78 10600007 */ beqz $v1, .L80240E98 +/* B5F12C 80240E7C 24040005 */ addiu $a0, $zero, 5 +/* B5F130 80240E80 0809040C */ j .L80241030 +/* B5F134 80240E84 00000000 */ nop +.L80240E88: +/* B5F138 80240E88 10620058 */ beq $v1, $v0, .L80240FEC +/* B5F13C 80240E8C 00000000 */ nop +/* B5F140 80240E90 0809040C */ j .L80241030 +/* B5F144 80240E94 00000000 */ nop +.L80240E98: +/* B5F148 80240E98 0000882D */ daddu $s1, $zero, $zero +/* B5F14C 80240E9C 3C148024 */ lui $s4, 0x8024 +/* B5F150 80240EA0 26943E58 */ addiu $s4, $s4, 0x3e58 +/* B5F154 80240EA4 24130020 */ addiu $s3, $zero, 0x20 +/* B5F158 80240EA8 3C064248 */ lui $a2, 0x4248 +/* B5F15C 80240EAC 44800000 */ mtc1 $zero, $f0 +/* B5F160 80240EB0 24020014 */ addiu $v0, $zero, 0x14 +/* B5F164 80240EB4 AFA20010 */ sw $v0, 0x10($sp) +/* B5F168 80240EB8 44050000 */ mfc1 $a1, $f0 +/* B5F16C 80240EBC 8E470060 */ lw $a3, 0x60($s2) +/* B5F170 80240EC0 4485B000 */ mtc1 $a1, $f22 +/* B5F174 80240EC4 0C00A8ED */ jal update_lerp +/* B5F178 80240EC8 0240802D */ daddu $s0, $s2, $zero +/* B5F17C 80240ECC 46000506 */ mov.s $f20, $f0 +.L80240ED0: +/* B5F180 80240ED0 4406A000 */ mfc1 $a2, $f20 +/* B5F184 80240ED4 27A40020 */ addiu $a0, $sp, 0x20 +/* B5F188 80240ED8 E6160020 */ swc1 $f22, 0x20($s0) +/* B5F18C 80240EDC 8E870000 */ lw $a3, ($s4) +/* B5F190 80240EE0 02532821 */ addu $a1, $s2, $s3 +/* B5F194 80240EE4 0C00A7E7 */ jal add_vec2D_polar +/* B5F198 80240EE8 E7B60020 */ swc1 $f22, 0x20($sp) +/* B5F19C 80240EEC C7A4001C */ lwc1 $f4, 0x1c($sp) +/* B5F1A0 80240EF0 C7A00020 */ lwc1 $f0, 0x20($sp) +/* B5F1A4 80240EF4 46002102 */ mul.s $f4, $f4, $f0 +/* B5F1A8 80240EF8 00000000 */ nop +/* B5F1AC 80240EFC C7A20018 */ lwc1 $f2, 0x18($sp) +/* B5F1B0 80240F00 26940004 */ addiu $s4, $s4, 4 +/* B5F1B4 80240F04 46001082 */ mul.s $f2, $f2, $f0 +/* B5F1B8 80240F08 00000000 */ nop +/* B5F1BC 80240F0C 26730004 */ addiu $s3, $s3, 4 +/* B5F1C0 80240F10 26310001 */ addiu $s1, $s1, 1 +/* B5F1C4 80240F14 2A220003 */ slti $v0, $s1, 3 +/* B5F1C8 80240F18 E6040014 */ swc1 $f4, 0x14($s0) +/* B5F1CC 80240F1C E602002C */ swc1 $f2, 0x2c($s0) +/* B5F1D0 80240F20 1440FFEB */ bnez $v0, .L80240ED0 +/* B5F1D4 80240F24 26100004 */ addiu $s0, $s0, 4 +/* B5F1D8 80240F28 8E420060 */ lw $v0, 0x60($s2) +/* B5F1DC 80240F2C 24420001 */ addiu $v0, $v0, 1 +/* B5F1E0 80240F30 AE420060 */ sw $v0, 0x60($s2) +/* B5F1E4 80240F34 28420015 */ slti $v0, $v0, 0x15 +/* B5F1E8 80240F38 1440003D */ bnez $v0, .L80241030 +/* B5F1EC 80240F3C 24020001 */ addiu $v0, $zero, 1 +/* B5F1F0 80240F40 AE420000 */ sw $v0, ($s2) +/* B5F1F4 80240F44 0809040C */ j .L80241030 +/* B5F1F8 80240F48 AE400060 */ sw $zero, 0x60($s2) +.L80240F4C: +/* B5F1FC 80240F4C 0000882D */ daddu $s1, $zero, $zero +/* B5F200 80240F50 3C148024 */ lui $s4, 0x8024 +/* B5F204 80240F54 26943E58 */ addiu $s4, $s4, 0x3e58 +/* B5F208 80240F58 24130020 */ addiu $s3, $zero, 0x20 +/* B5F20C 80240F5C 0240802D */ daddu $s0, $s2, $zero +/* B5F210 80240F60 3C014248 */ lui $at, 0x4248 +/* B5F214 80240F64 4481A000 */ mtc1 $at, $f20 +/* B5F218 80240F68 4480B000 */ mtc1 $zero, $f22 +.L80240F6C: +/* B5F21C 80240F6C 4406A000 */ mfc1 $a2, $f20 +/* B5F220 80240F70 27A40020 */ addiu $a0, $sp, 0x20 +/* B5F224 80240F74 E6160020 */ swc1 $f22, 0x20($s0) +/* B5F228 80240F78 8E870000 */ lw $a3, ($s4) +/* B5F22C 80240F7C 02532821 */ addu $a1, $s2, $s3 +/* B5F230 80240F80 0C00A7E7 */ jal add_vec2D_polar +/* B5F234 80240F84 E7B60020 */ swc1 $f22, 0x20($sp) +/* B5F238 80240F88 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* B5F23C 80240F8C C7A00020 */ lwc1 $f0, 0x20($sp) +/* B5F240 80240F90 46002102 */ mul.s $f4, $f4, $f0 +/* B5F244 80240F94 00000000 */ nop +/* B5F248 80240F98 C7A20018 */ lwc1 $f2, 0x18($sp) +/* B5F24C 80240F9C 26940004 */ addiu $s4, $s4, 4 +/* B5F250 80240FA0 46001082 */ mul.s $f2, $f2, $f0 +/* B5F254 80240FA4 00000000 */ nop +/* B5F258 80240FA8 26730004 */ addiu $s3, $s3, 4 +/* B5F25C 80240FAC 26310001 */ addiu $s1, $s1, 1 +/* B5F260 80240FB0 2A220003 */ slti $v0, $s1, 3 +/* B5F264 80240FB4 E6040014 */ swc1 $f4, 0x14($s0) +/* B5F268 80240FB8 E602002C */ swc1 $f2, 0x2c($s0) +/* B5F26C 80240FBC 1440FFEB */ bnez $v0, .L80240F6C +/* B5F270 80240FC0 26100004 */ addiu $s0, $s0, 4 +/* B5F274 80240FC4 8E420060 */ lw $v0, 0x60($s2) +/* B5F278 80240FC8 24420001 */ addiu $v0, $v0, 1 +/* B5F27C 80240FCC AE420060 */ sw $v0, 0x60($s2) +/* B5F280 80240FD0 28420010 */ slti $v0, $v0, 0x10 +/* B5F284 80240FD4 14400016 */ bnez $v0, .L80241030 +/* B5F288 80240FD8 2402000F */ addiu $v0, $zero, 0xf +/* B5F28C 80240FDC AE420060 */ sw $v0, 0x60($s2) +/* B5F290 80240FE0 24020002 */ addiu $v0, $zero, 2 +/* B5F294 80240FE4 0809040C */ j .L80241030 +/* B5F298 80240FE8 AE420000 */ sw $v0, ($s2) +.L80240FEC: +/* B5F29C 80240FEC 8E420060 */ lw $v0, 0x60($s2) +/* B5F2A0 80240FF0 24420001 */ addiu $v0, $v0, 1 +/* B5F2A4 80240FF4 AE420060 */ sw $v0, 0x60($s2) +/* B5F2A8 80240FF8 2842001F */ slti $v0, $v0, 0x1f +/* B5F2AC 80240FFC 1440000C */ bnez $v0, .L80241030 +/* B5F2B0 80241000 0000882D */ daddu $s1, $zero, $zero +/* B5F2B4 80241004 0240282D */ daddu $a1, $s2, $zero +.L80241008: +/* B5F2B8 80241008 8CA20008 */ lw $v0, 8($a1) +/* B5F2BC 8024100C 8C430000 */ lw $v1, ($v0) +/* B5F2C0 80241010 26310001 */ addiu $s1, $s1, 1 +/* B5F2C4 80241014 34630010 */ ori $v1, $v1, 0x10 +/* B5F2C8 80241018 AC430000 */ sw $v1, ($v0) +/* B5F2CC 8024101C 2A220003 */ slti $v0, $s1, 3 +/* B5F2D0 80241020 1440FFF9 */ bnez $v0, .L80241008 +/* B5F2D4 80241024 24A50004 */ addiu $a1, $a1, 4 +/* B5F2D8 80241028 08090459 */ j .L80241164 +/* B5F2DC 8024102C 24020002 */ addiu $v0, $zero, 2 +.L80241030: +/* B5F2E0 80241030 8E430004 */ lw $v1, 4($s2) +/* B5F2E4 80241034 10600005 */ beqz $v1, .L8024104C +/* B5F2E8 80241038 24020001 */ addiu $v0, $zero, 1 +/* B5F2EC 8024103C 1062000B */ beq $v1, $v0, .L8024106C +/* B5F2F0 80241040 0000882D */ daddu $s1, $zero, $zero +/* B5F2F4 80241044 08090448 */ j .L80241120 +/* B5F2F8 80241048 0240282D */ daddu $a1, $s2, $zero +.L8024104C: +/* B5F2FC 8024104C 8E420064 */ lw $v0, 0x64($s2) +/* B5F300 80241050 24420001 */ addiu $v0, $v0, 1 +/* B5F304 80241054 AE420064 */ sw $v0, 0x64($s2) +/* B5F308 80241058 28420010 */ slti $v0, $v0, 0x10 +/* B5F30C 8024105C 1440002F */ bnez $v0, .L8024111C +/* B5F310 80241060 0000882D */ daddu $s1, $zero, $zero +/* B5F314 80241064 08090444 */ j .L80241110 +/* B5F318 80241068 24020001 */ addiu $v0, $zero, 1 +.L8024106C: +/* B5F31C 8024106C 4480A000 */ mtc1 $zero, $f20 +/* B5F320 80241070 24130014 */ addiu $s3, $zero, 0x14 +/* B5F324 80241074 0240802D */ daddu $s0, $s2, $zero +.L80241078: +/* B5F328 80241078 4405A000 */ mfc1 $a1, $f20 +/* B5F32C 8024107C AFB30010 */ sw $s3, 0x10($sp) +/* B5F330 80241080 8E060038 */ lw $a2, 0x38($s0) +/* B5F334 80241084 8E470064 */ lw $a3, 0x64($s2) +/* B5F338 80241088 0C00A8ED */ jal update_lerp +/* B5F33C 8024108C 24040001 */ addiu $a0, $zero, 1 +/* B5F340 80241090 C6020014 */ lwc1 $f2, 0x14($s0) +/* B5F344 80241094 46001080 */ add.s $f2, $f2, $f0 +/* B5F348 80241098 4405A000 */ mfc1 $a1, $f20 +/* B5F34C 8024109C E6020014 */ swc1 $f2, 0x14($s0) +/* B5F350 802410A0 AFB30010 */ sw $s3, 0x10($sp) +/* B5F354 802410A4 8E060044 */ lw $a2, 0x44($s0) +/* B5F358 802410A8 8E470064 */ lw $a3, 0x64($s2) +/* B5F35C 802410AC 0C00A8ED */ jal update_lerp +/* B5F360 802410B0 24040001 */ addiu $a0, $zero, 1 +/* B5F364 802410B4 C6020020 */ lwc1 $f2, 0x20($s0) +/* B5F368 802410B8 46001080 */ add.s $f2, $f2, $f0 +/* B5F36C 802410BC 4405A000 */ mfc1 $a1, $f20 +/* B5F370 802410C0 E6020020 */ swc1 $f2, 0x20($s0) +/* B5F374 802410C4 AFB30010 */ sw $s3, 0x10($sp) +/* B5F378 802410C8 8E060050 */ lw $a2, 0x50($s0) +/* B5F37C 802410CC 8E470064 */ lw $a3, 0x64($s2) +/* B5F380 802410D0 0C00A8ED */ jal update_lerp +/* B5F384 802410D4 24040001 */ addiu $a0, $zero, 1 +/* B5F388 802410D8 C602002C */ lwc1 $f2, 0x2c($s0) +/* B5F38C 802410DC 46001080 */ add.s $f2, $f2, $f0 +/* B5F390 802410E0 26310001 */ addiu $s1, $s1, 1 +/* B5F394 802410E4 2A220003 */ slti $v0, $s1, 3 +/* B5F398 802410E8 E602002C */ swc1 $f2, 0x2c($s0) +/* B5F39C 802410EC 1440FFE2 */ bnez $v0, .L80241078 +/* B5F3A0 802410F0 26100004 */ addiu $s0, $s0, 4 +/* B5F3A4 802410F4 8E420064 */ lw $v0, 0x64($s2) +/* B5F3A8 802410F8 24420001 */ addiu $v0, $v0, 1 +/* B5F3AC 802410FC AE420064 */ sw $v0, 0x64($s2) +/* B5F3B0 80241100 28420015 */ slti $v0, $v0, 0x15 +/* B5F3B4 80241104 14400005 */ bnez $v0, .L8024111C +/* B5F3B8 80241108 0000882D */ daddu $s1, $zero, $zero +/* B5F3BC 8024110C 24020002 */ addiu $v0, $zero, 2 +.L80241110: +/* B5F3C0 80241110 AE420004 */ sw $v0, 4($s2) +/* B5F3C4 80241114 AE400064 */ sw $zero, 0x64($s2) +/* B5F3C8 80241118 0000882D */ daddu $s1, $zero, $zero +.L8024111C: +/* B5F3CC 8024111C 0240282D */ daddu $a1, $s2, $zero +.L80241120: +/* B5F3D0 80241120 8CA20008 */ lw $v0, 8($a1) +/* B5F3D4 80241124 C4A00014 */ lwc1 $f0, 0x14($a1) +/* B5F3D8 80241128 8C42000C */ lw $v0, 0xc($v0) +/* B5F3DC 8024112C E4400010 */ swc1 $f0, 0x10($v0) +/* B5F3E0 80241130 8CA20008 */ lw $v0, 8($a1) +/* B5F3E4 80241134 C4A00020 */ lwc1 $f0, 0x20($a1) +/* B5F3E8 80241138 8C42000C */ lw $v0, 0xc($v0) +/* B5F3EC 8024113C 26310001 */ addiu $s1, $s1, 1 +/* B5F3F0 80241140 E4400014 */ swc1 $f0, 0x14($v0) +/* B5F3F4 80241144 8CA20008 */ lw $v0, 8($a1) +/* B5F3F8 80241148 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* B5F3FC 8024114C 8C42000C */ lw $v0, 0xc($v0) +/* B5F400 80241150 E4400018 */ swc1 $f0, 0x18($v0) +/* B5F404 80241154 2A220003 */ slti $v0, $s1, 3 +/* B5F408 80241158 1440FFF1 */ bnez $v0, .L80241120 +/* B5F40C 8024115C 24A50004 */ addiu $a1, $a1, 4 +/* B5F410 80241160 0000102D */ daddu $v0, $zero, $zero +.L80241164: +/* B5F414 80241164 8FBF0044 */ lw $ra, 0x44($sp) +/* B5F418 80241168 8FB60040 */ lw $s6, 0x40($sp) +/* B5F41C 8024116C 8FB5003C */ lw $s5, 0x3c($sp) +/* B5F420 80241170 8FB40038 */ lw $s4, 0x38($sp) +/* B5F424 80241174 8FB30034 */ lw $s3, 0x34($sp) +/* B5F428 80241178 8FB20030 */ lw $s2, 0x30($sp) +/* B5F42C 8024117C 8FB1002C */ lw $s1, 0x2c($sp) +/* B5F430 80241180 8FB00028 */ lw $s0, 0x28($sp) +/* B5F434 80241184 D7B80058 */ ldc1 $f24, 0x58($sp) +/* B5F438 80241188 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B5F43C 8024118C D7B40048 */ ldc1 $f20, 0x48($sp) +/* B5F440 80241190 03E00008 */ jr $ra +/* B5F444 80241194 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241198.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241198.s new file mode 100644 index 0000000000..faf783834f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241198.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241198 +/* B5F448 80241198 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F44C 8024119C AFB10014 */ sw $s1, 0x14($sp) +/* B5F450 802411A0 0080882D */ daddu $s1, $a0, $zero +/* B5F454 802411A4 AFB20018 */ sw $s2, 0x18($sp) +/* B5F458 802411A8 AFBF001C */ sw $ra, 0x1c($sp) +/* B5F45C 802411AC AFB00010 */ sw $s0, 0x10($sp) +/* B5F460 802411B0 8E30000C */ lw $s0, 0xc($s1) +/* B5F464 802411B4 10A00010 */ beqz $a1, .L802411F8 +/* B5F468 802411B8 0000902D */ daddu $s2, $zero, $zero +/* B5F46C 802411BC 8E050000 */ lw $a1, ($s0) +/* B5F470 802411C0 0C0B1EAF */ jal get_variable +/* B5F474 802411C4 26100004 */ addiu $s0, $s0, 4 +/* B5F478 802411C8 AE220084 */ sw $v0, 0x84($s1) +/* B5F47C 802411CC 8E050000 */ lw $a1, ($s0) +/* B5F480 802411D0 0C0B1EAF */ jal get_variable +/* B5F484 802411D4 0220202D */ daddu $a0, $s1, $zero +/* B5F488 802411D8 0240202D */ daddu $a0, $s2, $zero +/* B5F48C 802411DC 240500D0 */ addiu $a1, $zero, 0xd0 +/* B5F490 802411E0 00A0302D */ daddu $a2, $a1, $zero +/* B5F494 802411E4 00A0382D */ daddu $a3, $a1, $zero +/* B5F498 802411E8 AE220088 */ sw $v0, 0x88($s1) +/* B5F49C 802411EC AE200070 */ sw $zero, 0x70($s1) +/* B5F4A0 802411F0 0C04DF84 */ jal func_80137E10 +/* B5F4A4 802411F4 AE200074 */ sw $zero, 0x74($s1) +.L802411F8: +/* B5F4A8 802411F8 8E230070 */ lw $v1, 0x70($s1) +/* B5F4AC 802411FC 24040001 */ addiu $a0, $zero, 1 +/* B5F4B0 80241200 10640019 */ beq $v1, $a0, .L80241268 +/* B5F4B4 80241204 28620002 */ slti $v0, $v1, 2 +/* B5F4B8 80241208 10400005 */ beqz $v0, .L80241220 +/* B5F4BC 8024120C 24020002 */ addiu $v0, $zero, 2 +/* B5F4C0 80241210 10600007 */ beqz $v1, .L80241230 +/* B5F4C4 80241214 240500FF */ addiu $a1, $zero, 0xff +/* B5F4C8 80241218 080904AA */ j .L802412A8 +/* B5F4CC 8024121C 00000000 */ nop +.L80241220: +/* B5F4D0 80241220 10620019 */ beq $v1, $v0, .L80241288 +/* B5F4D4 80241224 00000000 */ nop +/* B5F4D8 80241228 080904AA */ j .L802412A8 +/* B5F4DC 8024122C 00000000 */ nop +.L80241230: +/* B5F4E0 80241230 8E220074 */ lw $v0, 0x74($s1) +/* B5F4E4 80241234 14450004 */ bne $v0, $a1, .L80241248 +/* B5F4E8 80241238 00000000 */ nop +/* B5F4EC 8024123C AE240070 */ sw $a0, 0x70($s1) +/* B5F4F0 80241240 AE200078 */ sw $zero, 0x78($s1) +/* B5F4F4 80241244 8E220074 */ lw $v0, 0x74($s1) +.L80241248: +/* B5F4F8 80241248 8E230084 */ lw $v1, 0x84($s1) +/* B5F4FC 8024124C 00431021 */ addu $v0, $v0, $v1 +/* B5F500 80241250 AE220074 */ sw $v0, 0x74($s1) +/* B5F504 80241254 28420100 */ slti $v0, $v0, 0x100 +/* B5F508 80241258 50400013 */ beql $v0, $zero, .L802412A8 +/* B5F50C 8024125C AE250074 */ sw $a1, 0x74($s1) +/* B5F510 80241260 080904AA */ j .L802412A8 +/* B5F514 80241264 00000000 */ nop +.L80241268: +/* B5F518 80241268 8E220078 */ lw $v0, 0x78($s1) +/* B5F51C 8024126C 24420001 */ addiu $v0, $v0, 1 +/* B5F520 80241270 AE220078 */ sw $v0, 0x78($s1) +/* B5F524 80241274 28420002 */ slti $v0, $v0, 2 +/* B5F528 80241278 1440000B */ bnez $v0, .L802412A8 +/* B5F52C 8024127C 24020002 */ addiu $v0, $zero, 2 +/* B5F530 80241280 080904AA */ j .L802412A8 +/* B5F534 80241284 AE220070 */ sw $v0, 0x70($s1) +.L80241288: +/* B5F538 80241288 8E230074 */ lw $v1, 0x74($s1) +/* B5F53C 8024128C 50600001 */ beql $v1, $zero, .L80241294 +/* B5F540 80241290 24120001 */ addiu $s2, $zero, 1 +.L80241294: +/* B5F544 80241294 8E220088 */ lw $v0, 0x88($s1) +/* B5F548 80241298 00621023 */ subu $v0, $v1, $v0 +/* B5F54C 8024129C 04410002 */ bgez $v0, .L802412A8 +/* B5F550 802412A0 AE220074 */ sw $v0, 0x74($s1) +/* B5F554 802412A4 AE200074 */ sw $zero, 0x74($s1) +.L802412A8: +/* B5F558 802412A8 C6200074 */ lwc1 $f0, 0x74($s1) +/* B5F55C 802412AC 46800020 */ cvt.s.w $f0, $f0 +/* B5F560 802412B0 44050000 */ mfc1 $a1, $f0 +/* B5F564 802412B4 0C04DF62 */ jal func_80137D88 +/* B5F568 802412B8 24040001 */ addiu $a0, $zero, 1 +/* B5F56C 802412BC 0240102D */ daddu $v0, $s2, $zero +/* B5F570 802412C0 8FBF001C */ lw $ra, 0x1c($sp) +/* B5F574 802412C4 8FB20018 */ lw $s2, 0x18($sp) +/* B5F578 802412C8 8FB10014 */ lw $s1, 0x14($sp) +/* B5F57C 802412CC 8FB00010 */ lw $s0, 0x10($sp) +/* B5F580 802412D0 03E00008 */ jr $ra +/* B5F584 802412D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802412D8.s b/asm/nonmatchings/world/area_jan/jan_08/func_802412D8.s new file mode 100644 index 0000000000..3938b62433 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802412D8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412D8 +/* B5F588 802412D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F58C 802412DC AFBF0018 */ sw $ra, 0x18($sp) +/* B5F590 802412E0 0C00EAD2 */ jal get_npc_safe +/* B5F594 802412E4 2404FFFC */ addiu $a0, $zero, -4 +/* B5F598 802412E8 3C0141F0 */ lui $at, 0x41f0 +/* B5F59C 802412EC 44810000 */ mtc1 $at, $f0 +/* B5F5A0 802412F0 C442003C */ lwc1 $f2, 0x3c($v0) +/* B5F5A4 802412F4 46001080 */ add.s $f2, $f2, $f0 +/* B5F5A8 802412F8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5F5AC 802412FC 8C450038 */ lw $a1, 0x38($v0) +/* B5F5B0 80241300 8C470040 */ lw $a3, 0x40($v0) +/* B5F5B4 80241304 44061000 */ mfc1 $a2, $f2 +/* B5F5B8 80241308 0C01BFBC */ jal func_8006FEF0 +/* B5F5BC 8024130C 24040002 */ addiu $a0, $zero, 2 +/* B5F5C0 80241310 8FBF0018 */ lw $ra, 0x18($sp) +/* B5F5C4 80241314 24020002 */ addiu $v0, $zero, 2 +/* B5F5C8 80241318 03E00008 */ jr $ra +/* B5F5CC 8024131C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241320_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241320_B5E2B0.s new file mode 100644 index 0000000000..36207e9597 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241320_B5E2B0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241320_B5F5D0 +/* B5F5D0 80241320 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F5D4 80241324 AFBF0018 */ sw $ra, 0x18($sp) +/* B5F5D8 80241328 0C00EAD2 */ jal get_npc_safe +/* B5F5DC 8024132C 2404FFFC */ addiu $a0, $zero, -4 +/* B5F5E0 80241330 3C0141F0 */ lui $at, 0x41f0 +/* B5F5E4 80241334 44810000 */ mtc1 $at, $f0 +/* B5F5E8 80241338 C442003C */ lwc1 $f2, 0x3c($v0) +/* B5F5EC 8024133C 46001080 */ add.s $f2, $f2, $f0 +/* B5F5F0 80241340 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5F5F4 80241344 8C450038 */ lw $a1, 0x38($v0) +/* B5F5F8 80241348 8C470040 */ lw $a3, 0x40($v0) +/* B5F5FC 8024134C 44061000 */ mfc1 $a2, $f2 +/* B5F600 80241350 0C01BFBC */ jal func_8006FEF0 +/* B5F604 80241354 24040004 */ addiu $a0, $zero, 4 +/* B5F608 80241358 8FBF0018 */ lw $ra, 0x18($sp) +/* B5F60C 8024135C 24020002 */ addiu $v0, $zero, 2 +/* B5F610 80241360 03E00008 */ jr $ra +/* B5F614 80241364 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241368_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241368_B5E2B0.s new file mode 100644 index 0000000000..de0e5de4d4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241368_B5E2B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241368_B5F618 +/* B5F618 80241368 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* B5F61C 8024136C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* B5F620 80241370 AC800084 */ sw $zero, 0x84($a0) +/* B5F624 80241374 80620000 */ lb $v0, ($v1) +/* B5F628 80241378 10400005 */ beqz $v0, .L80241390 +/* B5F62C 8024137C 24020003 */ addiu $v0, $zero, 3 +/* B5F630 80241380 80630003 */ lb $v1, 3($v1) +/* B5F634 80241384 14620002 */ bne $v1, $v0, .L80241390 +/* B5F638 80241388 24020001 */ addiu $v0, $zero, 1 +/* B5F63C 8024138C AC820084 */ sw $v0, 0x84($a0) +.L80241390: +/* B5F640 80241390 03E00008 */ jr $ra +/* B5F644 80241394 24020002 */ addiu $v0, $zero, 2 +/* B5F648 80241398 00000000 */ nop +/* B5F64C 8024139C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802413A0.s b/asm/nonmatchings/world/area_jan/jan_08/func_802413A0.s new file mode 100644 index 0000000000..9db8519805 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802413A0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A0 +/* B5F650 802413A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B5F654 802413A4 AFBF0020 */ sw $ra, 0x20($sp) +/* B5F658 802413A8 AFB1001C */ sw $s1, 0x1c($sp) +/* B5F65C 802413AC AFB00018 */ sw $s0, 0x18($sp) +/* B5F660 802413B0 8C910148 */ lw $s1, 0x148($a0) +/* B5F664 802413B4 0C00EABB */ jal get_npc_unsafe +/* B5F668 802413B8 86240008 */ lh $a0, 8($s1) +/* B5F66C 802413BC 8E23006C */ lw $v1, 0x6c($s1) +/* B5F670 802413C0 28630005 */ slti $v1, $v1, 5 +/* B5F674 802413C4 1060001D */ beqz $v1, .L8024143C +/* B5F678 802413C8 0040802D */ daddu $s0, $v0, $zero +/* B5F67C 802413CC 0C00A67F */ jal rand_int +/* B5F680 802413D0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B5F684 802413D4 2842012D */ slti $v0, $v0, 0x12d +/* B5F688 802413D8 14400018 */ bnez $v0, .L8024143C +/* B5F68C 802413DC 24020003 */ addiu $v0, $zero, 3 +/* B5F690 802413E0 860300A8 */ lh $v1, 0xa8($s0) +/* B5F694 802413E4 C604003C */ lwc1 $f4, 0x3c($s0) +/* B5F698 802413E8 C6000040 */ lwc1 $f0, 0x40($s0) +/* B5F69C 802413EC 3C014014 */ lui $at, 0x4014 +/* B5F6A0 802413F0 44811800 */ mtc1 $at, $f3 +/* B5F6A4 802413F4 44801000 */ mtc1 $zero, $f2 +/* B5F6A8 802413F8 AFA20010 */ sw $v0, 0x10($sp) +/* B5F6AC 802413FC 46000021 */ cvt.d.s $f0, $f0 +/* B5F6B0 80241400 46220000 */ add.d $f0, $f0, $f2 +/* B5F6B4 80241404 AFA00014 */ sw $zero, 0x14($sp) +/* B5F6B8 80241408 44831000 */ mtc1 $v1, $f2 +/* B5F6BC 8024140C 00000000 */ nop +/* B5F6C0 80241410 468010A0 */ cvt.s.w $f2, $f2 +/* B5F6C4 80241414 46022100 */ add.s $f4, $f4, $f2 +/* B5F6C8 80241418 8E050038 */ lw $a1, 0x38($s0) +/* B5F6CC 8024141C 46200020 */ cvt.s.d $f0, $f0 +/* B5F6D0 80241420 44062000 */ mfc1 $a2, $f4 +/* B5F6D4 80241424 44070000 */ mfc1 $a3, $f0 +/* B5F6D8 80241428 0C04C6A5 */ jal make_item_entity_nodelay +/* B5F6DC 8024142C 24040156 */ addiu $a0, $zero, 0x156 +/* B5F6E0 80241430 8E22006C */ lw $v0, 0x6c($s1) +/* B5F6E4 80241434 24420001 */ addiu $v0, $v0, 1 +/* B5F6E8 80241438 AE22006C */ sw $v0, 0x6c($s1) +.L8024143C: +/* B5F6EC 8024143C 8FBF0020 */ lw $ra, 0x20($sp) +/* B5F6F0 80241440 8FB1001C */ lw $s1, 0x1c($sp) +/* B5F6F4 80241444 8FB00018 */ lw $s0, 0x18($sp) +/* B5F6F8 80241448 24020002 */ addiu $v0, $zero, 2 +/* B5F6FC 8024144C 03E00008 */ jr $ra +/* B5F700 80241450 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241454_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241454_B5E2B0.s new file mode 100644 index 0000000000..75e5be0dc9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241454_B5E2B0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241454_B5F704 +/* B5F704 80241454 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F708 80241458 AFB10014 */ sw $s1, 0x14($sp) +/* B5F70C 8024145C 0080882D */ daddu $s1, $a0, $zero +/* B5F710 80241460 AFBF0018 */ sw $ra, 0x18($sp) +/* B5F714 80241464 AFB00010 */ sw $s0, 0x10($sp) +/* B5F718 80241468 8E300148 */ lw $s0, 0x148($s1) +/* B5F71C 8024146C 0C00EABB */ jal get_npc_unsafe +/* B5F720 80241470 86040008 */ lh $a0, 8($s0) +/* B5F724 80241474 3C054387 */ lui $a1, 0x4387 +/* B5F728 80241478 0040202D */ daddu $a0, $v0, $zero +/* B5F72C 8024147C 0C00ECD0 */ jal set_npc_yaw +/* B5F730 80241480 A480008E */ sh $zero, 0x8e($a0) +/* B5F734 80241484 24020003 */ addiu $v0, $zero, 3 +/* B5F738 80241488 AE00006C */ sw $zero, 0x6c($s0) +/* B5F73C 8024148C AE220070 */ sw $v0, 0x70($s1) +/* B5F740 80241490 8FBF0018 */ lw $ra, 0x18($sp) +/* B5F744 80241494 8FB10014 */ lw $s1, 0x14($sp) +/* B5F748 80241498 8FB00010 */ lw $s0, 0x10($sp) +/* B5F74C 8024149C 03E00008 */ jr $ra +/* B5F750 802414A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802414A4.s b/asm/nonmatchings/world/area_jan/jan_08/func_802414A4.s new file mode 100644 index 0000000000..5f90e9b483 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802414A4.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414A4 +/* B5F754 802414A4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5F758 802414A8 AFB20028 */ sw $s2, 0x28($sp) +/* B5F75C 802414AC 0080902D */ daddu $s2, $a0, $zero +/* B5F760 802414B0 AFBF002C */ sw $ra, 0x2c($sp) +/* B5F764 802414B4 AFB10024 */ sw $s1, 0x24($sp) +/* B5F768 802414B8 AFB00020 */ sw $s0, 0x20($sp) +/* B5F76C 802414BC 8E500148 */ lw $s0, 0x148($s2) +/* B5F770 802414C0 0C00EABB */ jal get_npc_unsafe +/* B5F774 802414C4 86040008 */ lh $a0, 8($s0) +/* B5F778 802414C8 8E03006C */ lw $v1, 0x6c($s0) +/* B5F77C 802414CC 1460000B */ bnez $v1, .L802414FC +/* B5F780 802414D0 0040882D */ daddu $s1, $v0, $zero +/* B5F784 802414D4 0C00A67F */ jal rand_int +/* B5F788 802414D8 24040064 */ addiu $a0, $zero, 0x64 +/* B5F78C 802414DC 28420032 */ slti $v0, $v0, 0x32 +/* B5F790 802414E0 14400002 */ bnez $v0, .L802414EC +/* B5F794 802414E4 24020001 */ addiu $v0, $zero, 1 +/* B5F798 802414E8 24020003 */ addiu $v0, $zero, 3 +.L802414EC: +/* B5F79C 802414EC AE02006C */ sw $v0, 0x6c($s0) +/* B5F7A0 802414F0 3C054387 */ lui $a1, 0x4387 +/* B5F7A4 802414F4 0C00ECD0 */ jal set_npc_yaw +/* B5F7A8 802414F8 0220202D */ daddu $a0, $s1, $zero +.L802414FC: +/* B5F7AC 802414FC 8E02006C */ lw $v0, 0x6c($s0) +/* B5F7B0 80241500 2443FFFF */ addiu $v1, $v0, -1 +/* B5F7B4 80241504 2C620006 */ sltiu $v0, $v1, 6 +/* B5F7B8 80241508 1040004D */ beqz $v0, .L80241640 +/* B5F7BC 8024150C 00031080 */ sll $v0, $v1, 2 +/* B5F7C0 80241510 3C018024 */ lui $at, 0x8024 +/* B5F7C4 80241514 00220821 */ addu $at, $at, $v0 +/* B5F7C8 80241518 8C2274C0 */ lw $v0, 0x74c0($at) +/* B5F7CC 8024151C 00400008 */ jr $v0 +/* B5F7D0 80241520 00000000 */ nop +/* B5F7D4 80241524 3C030042 */ lui $v1, 0x42 +/* B5F7D8 80241528 3463000F */ ori $v1, $v1, 0xf +/* B5F7DC 8024152C 24020002 */ addiu $v0, $zero, 2 +/* B5F7E0 80241530 AE02006C */ sw $v0, 0x6c($s0) +/* B5F7E4 80241534 AE000070 */ sw $zero, 0x70($s0) +/* B5F7E8 80241538 AE230028 */ sw $v1, 0x28($s1) +/* B5F7EC 8024153C 8E020070 */ lw $v0, 0x70($s0) +/* B5F7F0 80241540 24420001 */ addiu $v0, $v0, 1 +/* B5F7F4 80241544 AE020070 */ sw $v0, 0x70($s0) +/* B5F7F8 80241548 28420033 */ slti $v0, $v0, 0x33 +/* B5F7FC 8024154C 1440003C */ bnez $v0, .L80241640 +/* B5F800 80241550 24020005 */ addiu $v0, $zero, 5 +/* B5F804 80241554 08090590 */ j .L80241640 +/* B5F808 80241558 AE02006C */ sw $v0, 0x6c($s0) +/* B5F80C 8024155C 3C030042 */ lui $v1, 0x42 +/* B5F810 80241560 34630010 */ ori $v1, $v1, 0x10 +/* B5F814 80241564 24020004 */ addiu $v0, $zero, 4 +/* B5F818 80241568 AE02006C */ sw $v0, 0x6c($s0) +/* B5F81C 8024156C AE000070 */ sw $zero, 0x70($s0) +/* B5F820 80241570 AE230028 */ sw $v1, 0x28($s1) +/* B5F824 80241574 8E020070 */ lw $v0, 0x70($s0) +/* B5F828 80241578 24030019 */ addiu $v1, $zero, 0x19 +/* B5F82C 8024157C 24420001 */ addiu $v0, $v0, 1 +/* B5F830 80241580 14430005 */ bne $v0, $v1, .L80241598 +/* B5F834 80241584 AE020070 */ sw $v0, 0x70($s0) +/* B5F838 80241588 3C0142B4 */ lui $at, 0x42b4 +/* B5F83C 8024158C 44810000 */ mtc1 $at, $f0 +/* B5F840 80241590 00000000 */ nop +/* B5F844 80241594 E620000C */ swc1 $f0, 0xc($s1) +.L80241598: +/* B5F848 80241598 8E020070 */ lw $v0, 0x70($s0) +/* B5F84C 8024159C 2842003D */ slti $v0, $v0, 0x3d +/* B5F850 802415A0 14400027 */ bnez $v0, .L80241640 +/* B5F854 802415A4 24020005 */ addiu $v0, $zero, 5 +/* B5F858 802415A8 08090590 */ j .L80241640 +/* B5F85C 802415AC AE02006C */ sw $v0, 0x6c($s0) +/* B5F860 802415B0 3C030042 */ lui $v1, 0x42 +/* B5F864 802415B4 24020006 */ addiu $v0, $zero, 6 +/* B5F868 802415B8 34630003 */ ori $v1, $v1, 3 +/* B5F86C 802415BC AE02006C */ sw $v0, 0x6c($s0) +/* B5F870 802415C0 AE000070 */ sw $zero, 0x70($s0) +/* B5F874 802415C4 862400A8 */ lh $a0, 0xa8($s1) +/* B5F878 802415C8 2402000A */ addiu $v0, $zero, 0xa +/* B5F87C 802415CC AE230028 */ sw $v1, 0x28($s1) +/* B5F880 802415D0 AFA00014 */ sw $zero, 0x14($sp) +/* B5F884 802415D4 AFA20018 */ sw $v0, 0x18($sp) +/* B5F888 802415D8 44840000 */ mtc1 $a0, $f0 +/* B5F88C 802415DC 00000000 */ nop +/* B5F890 802415E0 46800020 */ cvt.s.w $f0, $f0 +/* B5F894 802415E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5F898 802415E8 8E250038 */ lw $a1, 0x38($s1) +/* B5F89C 802415EC 8E26003C */ lw $a2, 0x3c($s1) +/* B5F8A0 802415F0 8E270040 */ lw $a3, 0x40($s1) +/* B5F8A4 802415F4 0C01C1E4 */ jal fx_sweat +/* B5F8A8 802415F8 0000202D */ daddu $a0, $zero, $zero +/* B5F8AC 802415FC 8E020070 */ lw $v0, 0x70($s0) +/* B5F8B0 80241600 24420001 */ addiu $v0, $v0, 1 +/* B5F8B4 80241604 AE020070 */ sw $v0, 0x70($s0) +/* B5F8B8 80241608 2842000B */ slti $v0, $v0, 0xb +/* B5F8BC 8024160C 1440000C */ bnez $v0, .L80241640 +/* B5F8C0 80241610 00000000 */ nop +/* B5F8C4 80241614 0C00A67F */ jal rand_int +/* B5F8C8 80241618 24040064 */ addiu $a0, $zero, 0x64 +/* B5F8CC 8024161C 0040182D */ daddu $v1, $v0, $zero +/* B5F8D0 80241620 2862005A */ slti $v0, $v1, 0x5a +/* B5F8D4 80241624 14400005 */ bnez $v0, .L8024163C +/* B5F8D8 80241628 24020007 */ addiu $v0, $zero, 7 +/* B5F8DC 8024162C 2862005F */ slti $v0, $v1, 0x5f +/* B5F8E0 80241630 14400002 */ bnez $v0, .L8024163C +/* B5F8E4 80241634 24020001 */ addiu $v0, $zero, 1 +/* B5F8E8 80241638 24020003 */ addiu $v0, $zero, 3 +.L8024163C: +/* B5F8EC 8024163C AE02006C */ sw $v0, 0x6c($s0) +.L80241640: +/* B5F8F0 80241640 8E03006C */ lw $v1, 0x6c($s0) +/* B5F8F4 80241644 24020007 */ addiu $v0, $zero, 7 +/* B5F8F8 80241648 50620001 */ beql $v1, $v0, .L80241650 +/* B5F8FC 8024164C AE400070 */ sw $zero, 0x70($s2) +.L80241650: +/* B5F900 80241650 8FBF002C */ lw $ra, 0x2c($sp) +/* B5F904 80241654 8FB20028 */ lw $s2, 0x28($sp) +/* B5F908 80241658 8FB10024 */ lw $s1, 0x24($sp) +/* B5F90C 8024165C 8FB00020 */ lw $s0, 0x20($sp) +/* B5F910 80241660 03E00008 */ jr $ra +/* B5F914 80241664 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241668_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241668_B5E2B0.s new file mode 100644 index 0000000000..be84961136 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241668_B5E2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_B5F918 +/* B5F918 80241668 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F91C 8024166C AFB10014 */ sw $s1, 0x14($sp) +/* B5F920 80241670 0080882D */ daddu $s1, $a0, $zero +/* B5F924 80241674 AFBF0018 */ sw $ra, 0x18($sp) +/* B5F928 80241678 AFB00010 */ sw $s0, 0x10($sp) +/* B5F92C 8024167C 8E300148 */ lw $s0, 0x148($s1) +/* B5F930 80241680 0C00EABB */ jal get_npc_unsafe +/* B5F934 80241684 86040008 */ lh $a0, 8($s0) +/* B5F938 80241688 24030001 */ addiu $v1, $zero, 1 +/* B5F93C 8024168C 0040202D */ daddu $a0, $v0, $zero +/* B5F940 80241690 AE03006C */ sw $v1, 0x6c($s0) +/* B5F944 80241694 8482008C */ lh $v0, 0x8c($a0) +/* B5F948 80241698 14400009 */ bnez $v0, .L802416C0 +/* B5F94C 8024169C 24020002 */ addiu $v0, $zero, 2 +/* B5F950 802416A0 96030072 */ lhu $v1, 0x72($s0) +/* B5F954 802416A4 AE02006C */ sw $v0, 0x6c($s0) +/* B5F958 802416A8 A483008E */ sh $v1, 0x8e($a0) +/* B5F95C 802416AC 8E0200CC */ lw $v0, 0xcc($s0) +/* B5F960 802416B0 8C420020 */ lw $v0, 0x20($v0) +/* B5F964 802416B4 AC820028 */ sw $v0, 0x28($a0) +/* B5F968 802416B8 2402001F */ addiu $v0, $zero, 0x1f +/* B5F96C 802416BC AE220070 */ sw $v0, 0x70($s1) +.L802416C0: +/* B5F970 802416C0 8FBF0018 */ lw $ra, 0x18($sp) +/* B5F974 802416C4 8FB10014 */ lw $s1, 0x14($sp) +/* B5F978 802416C8 8FB00010 */ lw $s0, 0x10($sp) +/* B5F97C 802416CC 03E00008 */ jr $ra +/* B5F980 802416D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802416D4_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_802416D4_B5E2B0.s new file mode 100644 index 0000000000..ff1e37b259 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802416D4_B5E2B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416D4_B5F984 +/* B5F984 802416D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5F988 802416D8 AFB10014 */ sw $s1, 0x14($sp) +/* B5F98C 802416DC 0080882D */ daddu $s1, $a0, $zero +/* B5F990 802416E0 AFBF0018 */ sw $ra, 0x18($sp) +/* B5F994 802416E4 AFB00010 */ sw $s0, 0x10($sp) +/* B5F998 802416E8 8E300148 */ lw $s0, 0x148($s1) +/* B5F99C 802416EC 0C00EABB */ jal get_npc_unsafe +/* B5F9A0 802416F0 86040008 */ lh $a0, 8($s0) +/* B5F9A4 802416F4 0040202D */ daddu $a0, $v0, $zero +/* B5F9A8 802416F8 9482008E */ lhu $v0, 0x8e($a0) +/* B5F9AC 802416FC 2442FFFF */ addiu $v0, $v0, -1 +/* B5F9B0 80241700 A482008E */ sh $v0, 0x8e($a0) +/* B5F9B4 80241704 00021400 */ sll $v0, $v0, 0x10 +/* B5F9B8 80241708 1C400009 */ bgtz $v0, .L80241730 +/* B5F9BC 8024170C 24020003 */ addiu $v0, $zero, 3 +/* B5F9C0 80241710 96030076 */ lhu $v1, 0x76($s0) +/* B5F9C4 80241714 AE02006C */ sw $v0, 0x6c($s0) +/* B5F9C8 80241718 A483008E */ sh $v1, 0x8e($a0) +/* B5F9CC 8024171C 8E0200CC */ lw $v0, 0xcc($s0) +/* B5F9D0 80241720 8C420024 */ lw $v0, 0x24($v0) +/* B5F9D4 80241724 AC820028 */ sw $v0, 0x28($a0) +/* B5F9D8 80241728 24020020 */ addiu $v0, $zero, 0x20 +/* B5F9DC 8024172C AE220070 */ sw $v0, 0x70($s1) +.L80241730: +/* B5F9E0 80241730 8FBF0018 */ lw $ra, 0x18($sp) +/* B5F9E4 80241734 8FB10014 */ lw $s1, 0x14($sp) +/* B5F9E8 80241738 8FB00010 */ lw $s0, 0x10($sp) +/* B5F9EC 8024173C 03E00008 */ jr $ra +/* B5F9F0 80241740 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241744_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241744_B5E2B0.s new file mode 100644 index 0000000000..27ead89470 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241744_B5E2B0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241744_B5F9F4 +/* B5F9F4 80241744 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B5F9F8 80241748 AFB10034 */ sw $s1, 0x34($sp) +/* B5F9FC 8024174C 0080882D */ daddu $s1, $a0, $zero +/* B5FA00 80241750 AFBF0038 */ sw $ra, 0x38($sp) +/* B5FA04 80241754 AFB00030 */ sw $s0, 0x30($sp) +/* B5FA08 80241758 8E300148 */ lw $s0, 0x148($s1) +/* B5FA0C 8024175C 0C00EABB */ jal get_npc_unsafe +/* B5FA10 80241760 86040008 */ lh $a0, 8($s0) +/* B5FA14 80241764 0040282D */ daddu $a1, $v0, $zero +/* B5FA18 80241768 94A2008E */ lhu $v0, 0x8e($a1) +/* B5FA1C 8024176C 2442FFFF */ addiu $v0, $v0, -1 +/* B5FA20 80241770 A4A2008E */ sh $v0, 0x8e($a1) +/* B5FA24 80241774 00021400 */ sll $v0, $v0, 0x10 +/* B5FA28 80241778 1C400023 */ bgtz $v0, .L80241808 +/* B5FA2C 8024177C 24020004 */ addiu $v0, $zero, 4 +/* B5FA30 80241780 8E0300CC */ lw $v1, 0xcc($s0) +/* B5FA34 80241784 AE02006C */ sw $v0, 0x6c($s0) +/* B5FA38 80241788 8C620000 */ lw $v0, ($v1) +/* B5FA3C 8024178C ACA20028 */ sw $v0, 0x28($a1) +/* B5FA40 80241790 9602007A */ lhu $v0, 0x7a($s0) +/* B5FA44 80241794 A4A2008E */ sh $v0, 0x8e($a1) +/* B5FA48 80241798 8E020078 */ lw $v0, 0x78($s0) +/* B5FA4C 8024179C 28420008 */ slti $v0, $v0, 8 +/* B5FA50 802417A0 14400018 */ bnez $v0, .L80241804 +/* B5FA54 802417A4 24020021 */ addiu $v0, $zero, 0x21 +/* B5FA58 802417A8 24040003 */ addiu $a0, $zero, 3 +/* B5FA5C 802417AC 27A30028 */ addiu $v1, $sp, 0x28 +/* B5FA60 802417B0 84A700A8 */ lh $a3, 0xa8($a1) +/* B5FA64 802417B4 3C013F80 */ lui $at, 0x3f80 +/* B5FA68 802417B8 44810000 */ mtc1 $at, $f0 +/* B5FA6C 802417BC 3C014000 */ lui $at, 0x4000 +/* B5FA70 802417C0 44811000 */ mtc1 $at, $f2 +/* B5FA74 802417C4 3C01C1A0 */ lui $at, 0xc1a0 +/* B5FA78 802417C8 44812000 */ mtc1 $at, $f4 +/* B5FA7C 802417CC 44873000 */ mtc1 $a3, $f6 +/* B5FA80 802417D0 00000000 */ nop +/* B5FA84 802417D4 468031A0 */ cvt.s.w $f6, $f6 +/* B5FA88 802417D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B5FA8C 802417DC E7A20014 */ swc1 $f2, 0x14($sp) +/* B5FA90 802417E0 E7A40018 */ swc1 $f4, 0x18($sp) +/* B5FA94 802417E4 8E020078 */ lw $v0, 0x78($s0) +/* B5FA98 802417E8 44073000 */ mfc1 $a3, $f6 +/* B5FA9C 802417EC 0000302D */ daddu $a2, $zero, $zero +/* B5FAA0 802417F0 AFA30020 */ sw $v1, 0x20($sp) +/* B5FAA4 802417F4 2442FFFF */ addiu $v0, $v0, -1 +/* B5FAA8 802417F8 0C01BFA4 */ jal fx_emote +/* B5FAAC 802417FC AFA2001C */ sw $v0, 0x1c($sp) +/* B5FAB0 80241800 24020021 */ addiu $v0, $zero, 0x21 +.L80241804: +/* B5FAB4 80241804 AE220070 */ sw $v0, 0x70($s1) +.L80241808: +/* B5FAB8 80241808 8FBF0038 */ lw $ra, 0x38($sp) +/* B5FABC 8024180C 8FB10034 */ lw $s1, 0x34($sp) +/* B5FAC0 80241810 8FB00030 */ lw $s0, 0x30($sp) +/* B5FAC4 80241814 03E00008 */ jr $ra +/* B5FAC8 80241818 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_8024181C_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_8024181C_B5E2B0.s new file mode 100644 index 0000000000..e8f17bafb9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_8024181C_B5E2B0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024181C_B5FACC +/* B5FACC 8024181C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B5FAD0 80241820 AFB10014 */ sw $s1, 0x14($sp) +/* B5FAD4 80241824 0080882D */ daddu $s1, $a0, $zero +/* B5FAD8 80241828 AFBF0018 */ sw $ra, 0x18($sp) +/* B5FADC 8024182C AFB00010 */ sw $s0, 0x10($sp) +/* B5FAE0 80241830 8E300148 */ lw $s0, 0x148($s1) +/* B5FAE4 80241834 0C00EABB */ jal get_npc_unsafe +/* B5FAE8 80241838 86040008 */ lh $a0, 8($s0) +/* B5FAEC 8024183C 9443008E */ lhu $v1, 0x8e($v0) +/* B5FAF0 80241840 2463FFFF */ addiu $v1, $v1, -1 +/* B5FAF4 80241844 A443008E */ sh $v1, 0x8e($v0) +/* B5FAF8 80241848 00031C00 */ sll $v1, $v1, 0x10 +/* B5FAFC 8024184C 1C600003 */ bgtz $v1, .L8024185C +/* B5FB00 80241850 2402000C */ addiu $v0, $zero, 0xc +/* B5FB04 80241854 AE00006C */ sw $zero, 0x6c($s0) +/* B5FB08 80241858 AE220070 */ sw $v0, 0x70($s1) +.L8024185C: +/* B5FB0C 8024185C 8FBF0018 */ lw $ra, 0x18($sp) +/* B5FB10 80241860 8FB10014 */ lw $s1, 0x14($sp) +/* B5FB14 80241864 8FB00010 */ lw $s0, 0x10($sp) +/* B5FB18 80241868 03E00008 */ jr $ra +/* B5FB1C 8024186C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241870_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241870_B5E2B0.s new file mode 100644 index 0000000000..6c89860112 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241870_B5E2B0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241870_B5FB20 +/* B5FB20 80241870 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5FB24 80241874 AFBF0024 */ sw $ra, 0x24($sp) +/* B5FB28 80241878 AFB40020 */ sw $s4, 0x20($sp) +/* B5FB2C 8024187C AFB3001C */ sw $s3, 0x1c($sp) +/* B5FB30 80241880 AFB20018 */ sw $s2, 0x18($sp) +/* B5FB34 80241884 AFB10014 */ sw $s1, 0x14($sp) +/* B5FB38 80241888 AFB00010 */ sw $s0, 0x10($sp) +/* B5FB3C 8024188C F7B40028 */ sdc1 $f20, 0x28($sp) +/* B5FB40 80241890 8C900148 */ lw $s0, 0x148($a0) +/* B5FB44 80241894 86040008 */ lh $a0, 8($s0) +/* B5FB48 80241898 0C00EABB */ jal get_npc_unsafe +/* B5FB4C 8024189C 24110001 */ addiu $s1, $zero, 1 +/* B5FB50 802418A0 86040008 */ lh $a0, 8($s0) +/* B5FB54 802418A4 0040802D */ daddu $s0, $v0, $zero +/* B5FB58 802418A8 3C05800B */ lui $a1, %hi(gCameras) +/* B5FB5C 802418AC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B5FB60 802418B0 3C03800A */ lui $v1, 0x800a +/* B5FB64 802418B4 8463A634 */ lh $v1, -0x59cc($v1) +/* B5FB68 802418B8 00912021 */ addu $a0, $a0, $s1 +/* B5FB6C 802418BC 00031080 */ sll $v0, $v1, 2 +/* B5FB70 802418C0 00431021 */ addu $v0, $v0, $v1 +/* B5FB74 802418C4 00021080 */ sll $v0, $v0, 2 +/* B5FB78 802418C8 00431023 */ subu $v0, $v0, $v1 +/* B5FB7C 802418CC 000218C0 */ sll $v1, $v0, 3 +/* B5FB80 802418D0 00431021 */ addu $v0, $v0, $v1 +/* B5FB84 802418D4 000210C0 */ sll $v0, $v0, 3 +/* B5FB88 802418D8 0C00FB3A */ jal get_enemy +/* B5FB8C 802418DC 00459021 */ addu $s2, $v0, $a1 +/* B5FB90 802418E0 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B5FB94 802418E4 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B5FB98 802418E8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B5FB9C 802418EC 8E830000 */ lw $v1, ($s4) +/* B5FBA0 802418F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B5FBA4 802418F4 8C660028 */ lw $a2, 0x28($v1) +/* B5FBA8 802418F8 8C670030 */ lw $a3, 0x30($v1) +/* B5FBAC 802418FC 0C00A7B5 */ jal dist2D +/* B5FBB0 80241900 0040982D */ daddu $s3, $v0, $zero +/* B5FBB4 80241904 C6620074 */ lwc1 $f2, 0x74($s3) +/* B5FBB8 80241908 468010A0 */ cvt.s.w $f2, $f2 +/* B5FBBC 8024190C 4600103C */ c.lt.s $f2, $f0 +/* B5FBC0 80241910 00000000 */ nop +/* B5FBC4 80241914 45030001 */ bc1tl .L8024191C +/* B5FBC8 80241918 0000882D */ daddu $s1, $zero, $zero +.L8024191C: +/* B5FBCC 8024191C C64C006C */ lwc1 $f12, 0x6c($s2) +/* B5FBD0 80241920 C60E000C */ lwc1 $f14, 0xc($s0) +/* B5FBD4 80241924 3C014387 */ lui $at, 0x4387 +/* B5FBD8 80241928 4481A000 */ mtc1 $at, $f20 +/* B5FBDC 8024192C 0C00A70A */ jal get_clamped_angle_diff +/* B5FBE0 80241930 00000000 */ nop +/* B5FBE4 80241934 0C00A6C9 */ jal clamp_angle +/* B5FBE8 80241938 46000306 */ mov.s $f12, $f0 +/* B5FBEC 8024193C 3C018024 */ lui $at, 0x8024 +/* B5FBF0 80241940 D42274D8 */ ldc1 $f2, 0x74d8($at) +/* B5FBF4 80241944 46000021 */ cvt.d.s $f0, $f0 +/* B5FBF8 80241948 4622003C */ c.lt.d $f0, $f2 +/* B5FBFC 8024194C 00000000 */ nop +/* B5FC00 80241950 45000003 */ bc1f .L80241960 +/* B5FC04 80241954 00000000 */ nop +/* B5FC08 80241958 3C0142B4 */ lui $at, 0x42b4 +/* B5FC0C 8024195C 4481A000 */ mtc1 $at, $f20 +.L80241960: +/* B5FC10 80241960 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B5FC14 80241964 8E820000 */ lw $v0, ($s4) +/* B5FC18 80241968 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B5FC1C 8024196C 8C460028 */ lw $a2, 0x28($v0) +/* B5FC20 80241970 0C00A720 */ jal atan2 +/* B5FC24 80241974 8C470030 */ lw $a3, 0x30($v0) +/* B5FC28 80241978 4600A306 */ mov.s $f12, $f20 +/* B5FC2C 8024197C 0C00A70A */ jal get_clamped_angle_diff +/* B5FC30 80241980 46000386 */ mov.s $f14, $f0 +/* B5FC34 80241984 C6620078 */ lwc1 $f2, 0x78($s3) +/* B5FC38 80241988 468010A0 */ cvt.s.w $f2, $f2 +/* B5FC3C 8024198C 46000005 */ abs.s $f0, $f0 +/* B5FC40 80241990 4600103C */ c.lt.s $f2, $f0 +/* B5FC44 80241994 00000000 */ nop +/* B5FC48 80241998 45030001 */ bc1tl .L802419A0 +/* B5FC4C 8024199C 0000882D */ daddu $s1, $zero, $zero +.L802419A0: +/* B5FC50 802419A0 8E820000 */ lw $v0, ($s4) +/* B5FC54 802419A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* B5FC58 802419A8 C442002C */ lwc1 $f2, 0x2c($v0) +/* B5FC5C 802419AC 860200A8 */ lh $v0, 0xa8($s0) +/* B5FC60 802419B0 46020001 */ sub.s $f0, $f0, $f2 +/* B5FC64 802419B4 44821000 */ mtc1 $v0, $f2 +/* B5FC68 802419B8 00000000 */ nop +/* B5FC6C 802419BC 468010A1 */ cvt.d.w $f2, $f2 +/* B5FC70 802419C0 46221080 */ add.d $f2, $f2, $f2 +/* B5FC74 802419C4 46000005 */ abs.s $f0, $f0 +/* B5FC78 802419C8 46000021 */ cvt.d.s $f0, $f0 +/* B5FC7C 802419CC 4620103E */ c.le.d $f2, $f0 +/* B5FC80 802419D0 00000000 */ nop +/* B5FC84 802419D4 45030001 */ bc1tl .L802419DC +/* B5FC88 802419D8 0000882D */ daddu $s1, $zero, $zero +.L802419DC: +/* B5FC8C 802419DC 3C038011 */ lui $v1, 0x8011 +/* B5FC90 802419E0 8063EBB3 */ lb $v1, -0x144d($v1) +/* B5FC94 802419E4 24020009 */ addiu $v0, $zero, 9 +/* B5FC98 802419E8 50620001 */ beql $v1, $v0, .L802419F0 +/* B5FC9C 802419EC 0000882D */ daddu $s1, $zero, $zero +.L802419F0: +/* B5FCA0 802419F0 24020007 */ addiu $v0, $zero, 7 +/* B5FCA4 802419F4 50620001 */ beql $v1, $v0, .L802419FC +/* B5FCA8 802419F8 0000882D */ daddu $s1, $zero, $zero +.L802419FC: +/* B5FCAC 802419FC 0220102D */ daddu $v0, $s1, $zero +/* B5FCB0 80241A00 8FBF0024 */ lw $ra, 0x24($sp) +/* B5FCB4 80241A04 8FB40020 */ lw $s4, 0x20($sp) +/* B5FCB8 80241A08 8FB3001C */ lw $s3, 0x1c($sp) +/* B5FCBC 80241A0C 8FB20018 */ lw $s2, 0x18($sp) +/* B5FCC0 80241A10 8FB10014 */ lw $s1, 0x14($sp) +/* B5FCC4 80241A14 8FB00010 */ lw $s0, 0x10($sp) +/* B5FCC8 80241A18 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B5FCCC 80241A1C 03E00008 */ jr $ra +/* B5FCD0 80241A20 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241A24_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241A24_B5E2B0.s new file mode 100644 index 0000000000..89006d094b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241A24_B5E2B0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A24_B5FCD4 +/* B5FCD4 80241A24 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B5FCD8 80241A28 AFB40028 */ sw $s4, 0x28($sp) +/* B5FCDC 80241A2C 0080A02D */ daddu $s4, $a0, $zero +/* B5FCE0 80241A30 AFBF002C */ sw $ra, 0x2c($sp) +/* B5FCE4 80241A34 AFB30024 */ sw $s3, 0x24($sp) +/* B5FCE8 80241A38 AFB20020 */ sw $s2, 0x20($sp) +/* B5FCEC 80241A3C AFB1001C */ sw $s1, 0x1c($sp) +/* B5FCF0 80241A40 AFB00018 */ sw $s0, 0x18($sp) +/* B5FCF4 80241A44 8E910148 */ lw $s1, 0x148($s4) +/* B5FCF8 80241A48 86240008 */ lh $a0, 8($s1) +/* B5FCFC 80241A4C 0C00EABB */ jal get_npc_unsafe +/* B5FD00 80241A50 00A0802D */ daddu $s0, $a1, $zero +/* B5FD04 80241A54 16000005 */ bnez $s0, .L80241A6C +/* B5FD08 80241A58 0040902D */ daddu $s2, $v0, $zero +/* B5FD0C 80241A5C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5FD10 80241A60 30420004 */ andi $v0, $v0, 4 +/* B5FD14 80241A64 10400015 */ beqz $v0, .L80241ABC +/* B5FD18 80241A68 00000000 */ nop +.L80241A6C: +/* B5FD1C 80241A6C AE800070 */ sw $zero, 0x70($s4) +/* B5FD20 80241A70 8E420000 */ lw $v0, ($s2) +/* B5FD24 80241A74 3C031F30 */ lui $v1, 0x1f30 +/* B5FD28 80241A78 A640008E */ sh $zero, 0x8e($s2) +/* B5FD2C 80241A7C 34420102 */ ori $v0, $v0, 0x102 +/* B5FD30 80241A80 AE420000 */ sw $v0, ($s2) +/* B5FD34 80241A84 8E220000 */ lw $v0, ($s1) +/* B5FD38 80241A88 3C01C47A */ lui $at, 0xc47a +/* B5FD3C 80241A8C 44810000 */ mtc1 $at, $f0 +/* B5FD40 80241A90 00431025 */ or $v0, $v0, $v1 +/* B5FD44 80241A94 AE220000 */ sw $v0, ($s1) +/* B5FD48 80241A98 AE400038 */ sw $zero, 0x38($s2) +/* B5FD4C 80241A9C E640003C */ swc1 $f0, 0x3c($s2) +/* B5FD50 80241AA0 AE400040 */ sw $zero, 0x40($s2) +/* B5FD54 80241AA4 8E2300B0 */ lw $v1, 0xb0($s1) +/* B5FD58 80241AA8 30620004 */ andi $v0, $v1, 4 +/* B5FD5C 80241AAC 10400003 */ beqz $v0, .L80241ABC +/* B5FD60 80241AB0 2402FFFB */ addiu $v0, $zero, -5 +/* B5FD64 80241AB4 00621024 */ and $v0, $v1, $v0 +/* B5FD68 80241AB8 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241ABC: +/* B5FD6C 80241ABC 8E930070 */ lw $s3, 0x70($s4) +/* B5FD70 80241AC0 12600005 */ beqz $s3, .L80241AD8 +/* B5FD74 80241AC4 24020001 */ addiu $v0, $zero, 1 +/* B5FD78 80241AC8 12620048 */ beq $s3, $v0, .L80241BEC +/* B5FD7C 80241ACC 00000000 */ nop +/* B5FD80 80241AD0 08090718 */ j .L80241C60 +/* B5FD84 80241AD4 00000000 */ nop +.L80241AD8: +/* B5FD88 80241AD8 86240008 */ lh $a0, 8($s1) +/* B5FD8C 80241ADC 0C00FB3A */ jal get_enemy +/* B5FD90 80241AE0 2484FFFF */ addiu $a0, $a0, -1 +/* B5FD94 80241AE4 0040802D */ daddu $s0, $v0, $zero +/* B5FD98 80241AE8 0C00EABB */ jal get_npc_unsafe +/* B5FD9C 80241AEC 86040008 */ lh $a0, 8($s0) +/* B5FDA0 80241AF0 24030001 */ addiu $v1, $zero, 1 +/* B5FDA4 80241AF4 0040982D */ daddu $s3, $v0, $zero +/* B5FDA8 80241AF8 A2230007 */ sb $v1, 7($s1) +/* B5FDAC 80241AFC 8E03006C */ lw $v1, 0x6c($s0) +/* B5FDB0 80241B00 24020003 */ addiu $v0, $zero, 3 +/* B5FDB4 80241B04 14620056 */ bne $v1, $v0, .L80241C60 +/* B5FDB8 80241B08 00000000 */ nop +/* B5FDBC 80241B0C 8E2500A8 */ lw $a1, 0xa8($s1) +/* B5FDC0 80241B10 10A00003 */ beqz $a1, .L80241B20 +/* B5FDC4 80241B14 0260202D */ daddu $a0, $s3, $zero +/* B5FDC8 80241B18 0C012530 */ jal func_800494C0 +/* B5FDCC 80241B1C 0000302D */ daddu $a2, $zero, $zero +.L80241B20: +/* B5FDD0 80241B20 27A40010 */ addiu $a0, $sp, 0x10 +/* B5FDD4 80241B24 C6280070 */ lwc1 $f8, 0x70($s1) +/* B5FDD8 80241B28 46804220 */ cvt.s.w $f8, $f8 +/* B5FDDC 80241B2C C6620034 */ lwc1 $f2, 0x34($s3) +/* B5FDE0 80241B30 3C014387 */ lui $at, 0x4387 +/* B5FDE4 80241B34 44810000 */ mtc1 $at, $f0 +/* B5FDE8 80241B38 44064000 */ mfc1 $a2, $f8 +/* B5FDEC 80241B3C 46020001 */ sub.s $f0, $f0, $f2 +/* B5FDF0 80241B40 C6660038 */ lwc1 $f6, 0x38($s3) +/* B5FDF4 80241B44 C6640040 */ lwc1 $f4, 0x40($s3) +/* B5FDF8 80241B48 44070000 */ mfc1 $a3, $f0 +/* B5FDFC 80241B4C 27A50014 */ addiu $a1, $sp, 0x14 +/* B5FE00 80241B50 E7A60010 */ swc1 $f6, 0x10($sp) +/* B5FE04 80241B54 0C00A7E7 */ jal add_vec2D_polar +/* B5FE08 80241B58 E7A40014 */ swc1 $f4, 0x14($sp) +/* B5FE0C 80241B5C C7A00010 */ lwc1 $f0, 0x10($sp) +/* B5FE10 80241B60 4600020D */ trunc.w.s $f8, $f0 +/* B5FE14 80241B64 44024000 */ mfc1 $v0, $f8 +/* B5FE18 80241B68 E6400038 */ swc1 $f0, 0x38($s2) +/* B5FE1C 80241B6C A6220010 */ sh $v0, 0x10($s1) +/* B5FE20 80241B70 C660003C */ lwc1 $f0, 0x3c($s3) +/* B5FE24 80241B74 C622006C */ lwc1 $f2, 0x6c($s1) +/* B5FE28 80241B78 468010A0 */ cvt.s.w $f2, $f2 +/* B5FE2C 80241B7C 46020000 */ add.s $f0, $f0, $f2 +/* B5FE30 80241B80 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B5FE34 80241B84 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B5FE38 80241B88 E640003C */ swc1 $f0, 0x3c($s2) +/* B5FE3C 80241B8C C7A20014 */ lwc1 $f2, 0x14($sp) +/* B5FE40 80241B90 4600020D */ trunc.w.s $f8, $f0 +/* B5FE44 80241B94 44024000 */ mfc1 $v0, $f8 +/* B5FE48 80241B98 00000000 */ nop +/* B5FE4C 80241B9C A6220012 */ sh $v0, 0x12($s1) +/* B5FE50 80241BA0 4600120D */ trunc.w.s $f8, $f2 +/* B5FE54 80241BA4 44024000 */ mfc1 $v0, $f8 +/* B5FE58 80241BA8 E6420040 */ swc1 $f2, 0x40($s2) +/* B5FE5C 80241BAC A6220014 */ sh $v0, 0x14($s1) +/* B5FE60 80241BB0 8C660028 */ lw $a2, 0x28($v1) +/* B5FE64 80241BB4 8C670030 */ lw $a3, 0x30($v1) +/* B5FE68 80241BB8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* B5FE6C 80241BBC 0C00A720 */ jal atan2 +/* B5FE70 80241BC0 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B5FE74 80241BC4 3C03E0EF */ lui $v1, 0xe0ef +/* B5FE78 80241BC8 E640000C */ swc1 $f0, 0xc($s2) +/* B5FE7C 80241BCC 8E220000 */ lw $v0, ($s1) +/* B5FE80 80241BD0 3463FFFF */ ori $v1, $v1, 0xffff +/* B5FE84 80241BD4 00431024 */ and $v0, $v0, $v1 +/* B5FE88 80241BD8 AE220000 */ sw $v0, ($s1) +/* B5FE8C 80241BDC 24020001 */ addiu $v0, $zero, 1 +/* B5FE90 80241BE0 A640008E */ sh $zero, 0x8e($s2) +/* B5FE94 80241BE4 08090718 */ j .L80241C60 +/* B5FE98 80241BE8 AE820070 */ sw $v0, 0x70($s4) +.L80241BEC: +/* B5FE9C 80241BEC 86240008 */ lh $a0, 8($s1) +/* B5FEA0 80241BF0 0C00FB3A */ jal get_enemy +/* B5FEA4 80241BF4 2484FFFF */ addiu $a0, $a0, -1 +/* B5FEA8 80241BF8 0040802D */ daddu $s0, $v0, $zero +/* B5FEAC 80241BFC 0C00EABB */ jal get_npc_unsafe +/* B5FEB0 80241C00 86040008 */ lh $a0, 8($s0) +/* B5FEB4 80241C04 9642008E */ lhu $v0, 0x8e($s2) +/* B5FEB8 80241C08 24420001 */ addiu $v0, $v0, 1 +/* B5FEBC 80241C0C A642008E */ sh $v0, 0x8e($s2) +/* B5FEC0 80241C10 00021400 */ sll $v0, $v0, 0x10 +/* B5FEC4 80241C14 8E23007C */ lw $v1, 0x7c($s1) +/* B5FEC8 80241C18 00021403 */ sra $v0, $v0, 0x10 +/* B5FECC 80241C1C 0043102A */ slt $v0, $v0, $v1 +/* B5FED0 80241C20 50400001 */ beql $v0, $zero, .L80241C28 +/* B5FED4 80241C24 A2200007 */ sb $zero, 7($s1) +.L80241C28: +/* B5FED8 80241C28 8E03006C */ lw $v1, 0x6c($s0) +/* B5FEDC 80241C2C 24020004 */ addiu $v0, $zero, 4 +/* B5FEE0 80241C30 1462000B */ bne $v1, $v0, .L80241C60 +/* B5FEE4 80241C34 3C021F10 */ lui $v0, 0x1f10 +/* B5FEE8 80241C38 8E230000 */ lw $v1, ($s1) +/* B5FEEC 80241C3C 3C01C47A */ lui $at, 0xc47a +/* B5FEF0 80241C40 44810000 */ mtc1 $at, $f0 +/* B5FEF4 80241C44 00621825 */ or $v1, $v1, $v0 +/* B5FEF8 80241C48 AE230000 */ sw $v1, ($s1) +/* B5FEFC 80241C4C AE400038 */ sw $zero, 0x38($s2) +/* B5FF00 80241C50 E640003C */ swc1 $f0, 0x3c($s2) +/* B5FF04 80241C54 AE400040 */ sw $zero, 0x40($s2) +/* B5FF08 80241C58 A2330007 */ sb $s3, 7($s1) +/* B5FF0C 80241C5C AE800070 */ sw $zero, 0x70($s4) +.L80241C60: +/* B5FF10 80241C60 8FBF002C */ lw $ra, 0x2c($sp) +/* B5FF14 80241C64 8FB40028 */ lw $s4, 0x28($sp) +/* B5FF18 80241C68 8FB30024 */ lw $s3, 0x24($sp) +/* B5FF1C 80241C6C 8FB20020 */ lw $s2, 0x20($sp) +/* B5FF20 80241C70 8FB1001C */ lw $s1, 0x1c($sp) +/* B5FF24 80241C74 8FB00018 */ lw $s0, 0x18($sp) +/* B5FF28 80241C78 0000102D */ daddu $v0, $zero, $zero +/* B5FF2C 80241C7C 03E00008 */ jr $ra +/* B5FF30 80241C80 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241C84.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241C84.s new file mode 100644 index 0000000000..b4e5b67e7a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241C84.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C84 +/* B5FF34 80241C84 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B5FF38 80241C88 AFB20038 */ sw $s2, 0x38($sp) +/* B5FF3C 80241C8C 0080902D */ daddu $s2, $a0, $zero +/* B5FF40 80241C90 AFBF0048 */ sw $ra, 0x48($sp) +/* B5FF44 80241C94 AFB50044 */ sw $s5, 0x44($sp) +/* B5FF48 80241C98 AFB40040 */ sw $s4, 0x40($sp) +/* B5FF4C 80241C9C AFB3003C */ sw $s3, 0x3c($sp) +/* B5FF50 80241CA0 AFB10034 */ sw $s1, 0x34($sp) +/* B5FF54 80241CA4 AFB00030 */ sw $s0, 0x30($sp) +/* B5FF58 80241CA8 8E510148 */ lw $s1, 0x148($s2) +/* B5FF5C 80241CAC 86240008 */ lh $a0, 8($s1) +/* B5FF60 80241CB0 0C00EABB */ jal get_npc_unsafe +/* B5FF64 80241CB4 00A0802D */ daddu $s0, $a1, $zero +/* B5FF68 80241CB8 8E43000C */ lw $v1, 0xc($s2) +/* B5FF6C 80241CBC 0240202D */ daddu $a0, $s2, $zero +/* B5FF70 80241CC0 8C650000 */ lw $a1, ($v1) +/* B5FF74 80241CC4 0C0B1EAF */ jal get_variable +/* B5FF78 80241CC8 0040A82D */ daddu $s5, $v0, $zero +/* B5FF7C 80241CCC AFA00010 */ sw $zero, 0x10($sp) +/* B5FF80 80241CD0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5FF84 80241CD4 8C630030 */ lw $v1, 0x30($v1) +/* B5FF88 80241CD8 AFA30014 */ sw $v1, 0x14($sp) +/* B5FF8C 80241CDC 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5FF90 80241CE0 8C63001C */ lw $v1, 0x1c($v1) +/* B5FF94 80241CE4 AFA30018 */ sw $v1, 0x18($sp) +/* B5FF98 80241CE8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5FF9C 80241CEC 8C630024 */ lw $v1, 0x24($v1) +/* B5FFA0 80241CF0 AFA3001C */ sw $v1, 0x1c($sp) +/* B5FFA4 80241CF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5FFA8 80241CF8 8C630028 */ lw $v1, 0x28($v1) +/* B5FFAC 80241CFC 27B40010 */ addiu $s4, $sp, 0x10 +/* B5FFB0 80241D00 AFA30020 */ sw $v1, 0x20($sp) +/* B5FFB4 80241D04 8E2300D0 */ lw $v1, 0xd0($s1) +/* B5FFB8 80241D08 3C014282 */ lui $at, 0x4282 +/* B5FFBC 80241D0C 44810000 */ mtc1 $at, $f0 +/* B5FFC0 80241D10 8C63002C */ lw $v1, 0x2c($v1) +/* B5FFC4 80241D14 0040982D */ daddu $s3, $v0, $zero +/* B5FFC8 80241D18 E7A00028 */ swc1 $f0, 0x28($sp) +/* B5FFCC 80241D1C A7A0002C */ sh $zero, 0x2c($sp) +/* B5FFD0 80241D20 16000005 */ bnez $s0, .L80241D38 +/* B5FFD4 80241D24 AFA30024 */ sw $v1, 0x24($sp) +/* B5FFD8 80241D28 8E2200B0 */ lw $v0, 0xb0($s1) +/* B5FFDC 80241D2C 30420004 */ andi $v0, $v0, 4 +/* B5FFE0 80241D30 10400020 */ beqz $v0, .L80241DB4 +/* B5FFE4 80241D34 00000000 */ nop +.L80241D38: +/* B5FFE8 80241D38 2404F7FF */ addiu $a0, $zero, -0x801 +/* B5FFEC 80241D3C AE400070 */ sw $zero, 0x70($s2) +/* B5FFF0 80241D40 A6A0008E */ sh $zero, 0x8e($s5) +/* B5FFF4 80241D44 8E2200CC */ lw $v0, 0xcc($s1) +/* B5FFF8 80241D48 8EA30000 */ lw $v1, ($s5) +/* B5FFFC 80241D4C 8C420000 */ lw $v0, ($v0) +/* B60000 80241D50 00641824 */ and $v1, $v1, $a0 +/* B60004 80241D54 AEA30000 */ sw $v1, ($s5) +/* B60008 80241D58 AEA20028 */ sw $v0, 0x28($s5) +/* B6000C 80241D5C 8E2200D0 */ lw $v0, 0xd0($s1) +/* B60010 80241D60 8C420034 */ lw $v0, 0x34($v0) +/* B60014 80241D64 54400005 */ bnel $v0, $zero, .L80241D7C +/* B60018 80241D68 2402FDFF */ addiu $v0, $zero, -0x201 +/* B6001C 80241D6C 34620200 */ ori $v0, $v1, 0x200 +/* B60020 80241D70 2403FFF7 */ addiu $v1, $zero, -9 +/* B60024 80241D74 08090761 */ j .L80241D84 +/* B60028 80241D78 00431024 */ and $v0, $v0, $v1 +.L80241D7C: +/* B6002C 80241D7C 00621024 */ and $v0, $v1, $v0 +/* B60030 80241D80 34420008 */ ori $v0, $v0, 8 +.L80241D84: +/* B60034 80241D84 AEA20000 */ sw $v0, ($s5) +/* B60038 80241D88 8E2200B0 */ lw $v0, 0xb0($s1) +/* B6003C 80241D8C 30420004 */ andi $v0, $v0, 4 +/* B60040 80241D90 10400007 */ beqz $v0, .L80241DB0 +/* B60044 80241D94 24020063 */ addiu $v0, $zero, 0x63 +/* B60048 80241D98 AE420070 */ sw $v0, 0x70($s2) +/* B6004C 80241D9C AE400074 */ sw $zero, 0x74($s2) +/* B60050 80241DA0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B60054 80241DA4 2403FFFB */ addiu $v1, $zero, -5 +/* B60058 80241DA8 00431024 */ and $v0, $v0, $v1 +/* B6005C 80241DAC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241DB0: +/* B60060 80241DB0 AE20006C */ sw $zero, 0x6c($s1) +.L80241DB4: +/* B60064 80241DB4 8E420070 */ lw $v0, 0x70($s2) +/* B60068 80241DB8 2842001E */ slti $v0, $v0, 0x1e +/* B6006C 80241DBC 10400009 */ beqz $v0, .L80241DE4 +/* B60070 80241DC0 00000000 */ nop +/* B60074 80241DC4 8E22006C */ lw $v0, 0x6c($s1) +/* B60078 80241DC8 14400006 */ bnez $v0, .L80241DE4 +/* B6007C 80241DCC 00000000 */ nop +/* B60080 80241DD0 0C09061C */ jal func_80241870 +/* B60084 80241DD4 0240202D */ daddu $a0, $s2, $zero +/* B60088 80241DD8 10400002 */ beqz $v0, .L80241DE4 +/* B6008C 80241DDC 2402001E */ addiu $v0, $zero, 0x1e +/* B60090 80241DE0 AE420070 */ sw $v0, 0x70($s2) +.L80241DE4: +/* B60094 80241DE4 8E430070 */ lw $v1, 0x70($s2) +/* B60098 80241DE8 2C620064 */ sltiu $v0, $v1, 0x64 +/* B6009C 80241DEC 10400048 */ beqz $v0, .L80241F10 +/* B600A0 80241DF0 00031080 */ sll $v0, $v1, 2 +/* B600A4 80241DF4 3C018024 */ lui $at, 0x8024 +/* B600A8 80241DF8 00220821 */ addu $at, $at, $v0 +/* B600AC 80241DFC 8C2274E0 */ lw $v0, 0x74e0($at) +/* B600B0 80241E00 00400008 */ jr $v0 +/* B600B4 80241E04 00000000 */ nop +/* B600B8 80241E08 0240202D */ daddu $a0, $s2, $zero +/* B600BC 80241E0C 0260282D */ daddu $a1, $s3, $zero +/* B600C0 80241E10 0C012568 */ jal func_800495A0 +/* B600C4 80241E14 0280302D */ daddu $a2, $s4, $zero +/* B600C8 80241E18 0240202D */ daddu $a0, $s2, $zero +/* B600CC 80241E1C 0260282D */ daddu $a1, $s3, $zero +/* B600D0 80241E20 0C0125AE */ jal func_800496B8 +/* B600D4 80241E24 0280302D */ daddu $a2, $s4, $zero +/* B600D8 80241E28 080907C4 */ j .L80241F10 +/* B600DC 80241E2C 00000000 */ nop +/* B600E0 80241E30 0240202D */ daddu $a0, $s2, $zero +/* B600E4 80241E34 0260282D */ daddu $a1, $s3, $zero +/* B600E8 80241E38 0C0126D1 */ jal func_80049B44 +/* B600EC 80241E3C 0280302D */ daddu $a2, $s4, $zero +/* B600F0 80241E40 0240202D */ daddu $a0, $s2, $zero +/* B600F4 80241E44 0260282D */ daddu $a1, $s3, $zero +/* B600F8 80241E48 0C012701 */ jal func_80049C04 +/* B600FC 80241E4C 0280302D */ daddu $a2, $s4, $zero +/* B60100 80241E50 080907C4 */ j .L80241F10 +/* B60104 80241E54 00000000 */ nop +/* B60108 80241E58 0240202D */ daddu $a0, $s2, $zero +/* B6010C 80241E5C 0260282D */ daddu $a1, $s3, $zero +/* B60110 80241E60 0C01278F */ jal func_80049E3C +/* B60114 80241E64 0280302D */ daddu $a2, $s4, $zero +/* B60118 80241E68 0240202D */ daddu $a0, $s2, $zero +/* B6011C 80241E6C 0260282D */ daddu $a1, $s3, $zero +/* B60120 80241E70 0C0127B3 */ jal func_80049ECC +/* B60124 80241E74 0280302D */ daddu $a2, $s4, $zero +/* B60128 80241E78 080907C4 */ j .L80241F10 +/* B6012C 80241E7C 00000000 */ nop +/* B60130 80241E80 0240202D */ daddu $a0, $s2, $zero +/* B60134 80241E84 0260282D */ daddu $a1, $s3, $zero +/* B60138 80241E88 0C0127DF */ jal func_80049F7C +/* B6013C 80241E8C 0280302D */ daddu $a2, $s4, $zero +/* B60140 80241E90 0240202D */ daddu $a0, $s2, $zero +/* B60144 80241E94 0260282D */ daddu $a1, $s3, $zero +/* B60148 80241E98 0C012849 */ jal func_8004A124 +/* B6014C 80241E9C 0280302D */ daddu $a2, $s4, $zero +/* B60150 80241EA0 080907C4 */ j .L80241F10 +/* B60154 80241EA4 00000000 */ nop +/* B60158 80241EA8 0240202D */ daddu $a0, $s2, $zero +/* B6015C 80241EAC 0260282D */ daddu $a1, $s3, $zero +/* B60160 80241EB0 0C0128FA */ jal func_8004A3E8 +/* B60164 80241EB4 0280302D */ daddu $a2, $s4, $zero +/* B60168 80241EB8 080907C4 */ j .L80241F10 +/* B6016C 80241EBC 00000000 */ nop +/* B60170 80241EC0 0C09059A */ jal func_80241668 +/* B60174 80241EC4 0240202D */ daddu $a0, $s2, $zero +/* B60178 80241EC8 0C0905B5 */ jal func_802416D4 +/* B6017C 80241ECC 0240202D */ daddu $a0, $s2, $zero +/* B60180 80241ED0 8E430070 */ lw $v1, 0x70($s2) +/* B60184 80241ED4 24020020 */ addiu $v0, $zero, 0x20 +/* B60188 80241ED8 1462000D */ bne $v1, $v0, .L80241F10 +/* B6018C 80241EDC 00000000 */ nop +/* B60190 80241EE0 0C0905D1 */ jal func_80241744 +/* B60194 80241EE4 0240202D */ daddu $a0, $s2, $zero +/* B60198 80241EE8 8E430070 */ lw $v1, 0x70($s2) +/* B6019C 80241EEC 24020021 */ addiu $v0, $zero, 0x21 +/* B601A0 80241EF0 14620007 */ bne $v1, $v0, .L80241F10 +/* B601A4 80241EF4 00000000 */ nop +/* B601A8 80241EF8 0C090607 */ jal func_8024181C +/* B601AC 80241EFC 0240202D */ daddu $a0, $s2, $zero +/* B601B0 80241F00 080907C4 */ j .L80241F10 +/* B601B4 80241F04 00000000 */ nop +/* B601B8 80241F08 0C0129CF */ jal func_8004A73C +/* B601BC 80241F0C 0240202D */ daddu $a0, $s2, $zero +.L80241F10: +/* B601C0 80241F10 8FBF0048 */ lw $ra, 0x48($sp) +/* B601C4 80241F14 8FB50044 */ lw $s5, 0x44($sp) +/* B601C8 80241F18 8FB40040 */ lw $s4, 0x40($sp) +/* B601CC 80241F1C 8FB3003C */ lw $s3, 0x3c($sp) +/* B601D0 80241F20 8FB20038 */ lw $s2, 0x38($sp) +/* B601D4 80241F24 8FB10034 */ lw $s1, 0x34($sp) +/* B601D8 80241F28 8FB00030 */ lw $s0, 0x30($sp) +/* B601DC 80241F2C 0000102D */ daddu $v0, $zero, $zero +/* B601E0 80241F30 03E00008 */ jr $ra +/* B601E4 80241F34 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80241F38.s b/asm/nonmatchings/world/area_jan/jan_08/func_80241F38.s new file mode 100644 index 0000000000..964e013d22 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80241F38.s @@ -0,0 +1,185 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F38 +/* B601E8 80241F38 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B601EC 80241F3C AFB20038 */ sw $s2, 0x38($sp) +/* B601F0 80241F40 0080902D */ daddu $s2, $a0, $zero +/* B601F4 80241F44 AFBF0048 */ sw $ra, 0x48($sp) +/* B601F8 80241F48 AFB50044 */ sw $s5, 0x44($sp) +/* B601FC 80241F4C AFB40040 */ sw $s4, 0x40($sp) +/* B60200 80241F50 AFB3003C */ sw $s3, 0x3c($sp) +/* B60204 80241F54 AFB10034 */ sw $s1, 0x34($sp) +/* B60208 80241F58 AFB00030 */ sw $s0, 0x30($sp) +/* B6020C 80241F5C 8E510148 */ lw $s1, 0x148($s2) +/* B60210 80241F60 86240008 */ lh $a0, 8($s1) +/* B60214 80241F64 0C00EABB */ jal get_npc_unsafe +/* B60218 80241F68 00A0802D */ daddu $s0, $a1, $zero +/* B6021C 80241F6C 8E43000C */ lw $v1, 0xc($s2) +/* B60220 80241F70 0240202D */ daddu $a0, $s2, $zero +/* B60224 80241F74 8C650000 */ lw $a1, ($v1) +/* B60228 80241F78 0C0B1EAF */ jal get_variable +/* B6022C 80241F7C 0040A82D */ daddu $s5, $v0, $zero +/* B60230 80241F80 AFA00010 */ sw $zero, 0x10($sp) +/* B60234 80241F84 8E2300D0 */ lw $v1, 0xd0($s1) +/* B60238 80241F88 8C630030 */ lw $v1, 0x30($v1) +/* B6023C 80241F8C AFA30014 */ sw $v1, 0x14($sp) +/* B60240 80241F90 8E2300D0 */ lw $v1, 0xd0($s1) +/* B60244 80241F94 8C63001C */ lw $v1, 0x1c($v1) +/* B60248 80241F98 AFA30018 */ sw $v1, 0x18($sp) +/* B6024C 80241F9C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B60250 80241FA0 8C630024 */ lw $v1, 0x24($v1) +/* B60254 80241FA4 AFA3001C */ sw $v1, 0x1c($sp) +/* B60258 80241FA8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B6025C 80241FAC 8C630028 */ lw $v1, 0x28($v1) +/* B60260 80241FB0 27B40010 */ addiu $s4, $sp, 0x10 +/* B60264 80241FB4 AFA30020 */ sw $v1, 0x20($sp) +/* B60268 80241FB8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B6026C 80241FBC 3C014282 */ lui $at, 0x4282 +/* B60270 80241FC0 44810000 */ mtc1 $at, $f0 +/* B60274 80241FC4 8C63002C */ lw $v1, 0x2c($v1) +/* B60278 80241FC8 0040982D */ daddu $s3, $v0, $zero +/* B6027C 80241FCC E7A00028 */ swc1 $f0, 0x28($sp) +/* B60280 80241FD0 A7A0002C */ sh $zero, 0x2c($sp) +/* B60284 80241FD4 16000005 */ bnez $s0, .L80241FEC +/* B60288 80241FD8 AFA30024 */ sw $v1, 0x24($sp) +/* B6028C 80241FDC 8E2200B0 */ lw $v0, 0xb0($s1) +/* B60290 80241FE0 30420004 */ andi $v0, $v0, 4 +/* B60294 80241FE4 10400020 */ beqz $v0, .L80242068 +/* B60298 80241FE8 00000000 */ nop +.L80241FEC: +/* B6029C 80241FEC 2404F7FF */ addiu $a0, $zero, -0x801 +/* B602A0 80241FF0 AE400070 */ sw $zero, 0x70($s2) +/* B602A4 80241FF4 A6A0008E */ sh $zero, 0x8e($s5) +/* B602A8 80241FF8 8E2200CC */ lw $v0, 0xcc($s1) +/* B602AC 80241FFC 8EA30000 */ lw $v1, ($s5) +/* B602B0 80242000 8C420000 */ lw $v0, ($v0) +/* B602B4 80242004 00641824 */ and $v1, $v1, $a0 +/* B602B8 80242008 AEA30000 */ sw $v1, ($s5) +/* B602BC 8024200C AEA20028 */ sw $v0, 0x28($s5) +/* B602C0 80242010 8E2200D0 */ lw $v0, 0xd0($s1) +/* B602C4 80242014 8C420034 */ lw $v0, 0x34($v0) +/* B602C8 80242018 54400005 */ bnel $v0, $zero, .L80242030 +/* B602CC 8024201C 2402FDFF */ addiu $v0, $zero, -0x201 +/* B602D0 80242020 34620200 */ ori $v0, $v1, 0x200 +/* B602D4 80242024 2403FFF7 */ addiu $v1, $zero, -9 +/* B602D8 80242028 0809080E */ j .L80242038 +/* B602DC 8024202C 00431024 */ and $v0, $v0, $v1 +.L80242030: +/* B602E0 80242030 00621024 */ and $v0, $v1, $v0 +/* B602E4 80242034 34420008 */ ori $v0, $v0, 8 +.L80242038: +/* B602E8 80242038 AEA20000 */ sw $v0, ($s5) +/* B602EC 8024203C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B602F0 80242040 30420004 */ andi $v0, $v0, 4 +/* B602F4 80242044 10400007 */ beqz $v0, .L80242064 +/* B602F8 80242048 24020063 */ addiu $v0, $zero, 0x63 +/* B602FC 8024204C AE420070 */ sw $v0, 0x70($s2) +/* B60300 80242050 AE400074 */ sw $zero, 0x74($s2) +/* B60304 80242054 8E2200B0 */ lw $v0, 0xb0($s1) +/* B60308 80242058 2403FFFB */ addiu $v1, $zero, -5 +/* B6030C 8024205C 00431024 */ and $v0, $v0, $v1 +/* B60310 80242060 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242064: +/* B60314 80242064 AE20006C */ sw $zero, 0x6c($s1) +.L80242068: +/* B60318 80242068 8E420070 */ lw $v0, 0x70($s2) +/* B6031C 8024206C 2842001E */ slti $v0, $v0, 0x1e +/* B60320 80242070 10400009 */ beqz $v0, .L80242098 +/* B60324 80242074 00000000 */ nop +/* B60328 80242078 8E22006C */ lw $v0, 0x6c($s1) +/* B6032C 8024207C 14400006 */ bnez $v0, .L80242098 +/* B60330 80242080 00000000 */ nop +/* B60334 80242084 0C09061C */ jal func_80241870 +/* B60338 80242088 0240202D */ daddu $a0, $s2, $zero +/* B6033C 8024208C 10400002 */ beqz $v0, .L80242098 +/* B60340 80242090 2402001E */ addiu $v0, $zero, 0x1e +/* B60344 80242094 AE420070 */ sw $v0, 0x70($s2) +.L80242098: +/* B60348 80242098 8E430070 */ lw $v1, 0x70($s2) +/* B6034C 8024209C 2C620064 */ sltiu $v0, $v1, 0x64 +/* B60350 802420A0 10400048 */ beqz $v0, .L802421C4 +/* B60354 802420A4 00031080 */ sll $v0, $v1, 2 +/* B60358 802420A8 3C018024 */ lui $at, 0x8024 +/* B6035C 802420AC 00220821 */ addu $at, $at, $v0 +/* B60360 802420B0 8C227670 */ lw $v0, 0x7670($at) +/* B60364 802420B4 00400008 */ jr $v0 +/* B60368 802420B8 00000000 */ nop +/* B6036C 802420BC 0240202D */ daddu $a0, $s2, $zero +/* B60370 802420C0 0260282D */ daddu $a1, $s3, $zero +/* B60374 802420C4 0C012568 */ jal func_800495A0 +/* B60378 802420C8 0280302D */ daddu $a2, $s4, $zero +/* B6037C 802420CC 0240202D */ daddu $a0, $s2, $zero +/* B60380 802420D0 0260282D */ daddu $a1, $s3, $zero +/* B60384 802420D4 0C0125AE */ jal func_800496B8 +/* B60388 802420D8 0280302D */ daddu $a2, $s4, $zero +/* B6038C 802420DC 08090871 */ j .L802421C4 +/* B60390 802420E0 00000000 */ nop +/* B60394 802420E4 0240202D */ daddu $a0, $s2, $zero +/* B60398 802420E8 0260282D */ daddu $a1, $s3, $zero +/* B6039C 802420EC 0C090515 */ jal func_80241454 +/* B603A0 802420F0 0280302D */ daddu $a2, $s4, $zero +/* B603A4 802420F4 0240202D */ daddu $a0, $s2, $zero +/* B603A8 802420F8 0260282D */ daddu $a1, $s3, $zero +/* B603AC 802420FC 0C090529 */ jal func_802414A4 +/* B603B0 80242100 0280302D */ daddu $a2, $s4, $zero +/* B603B4 80242104 08090871 */ j .L802421C4 +/* B603B8 80242108 00000000 */ nop +/* B603BC 8024210C 0240202D */ daddu $a0, $s2, $zero +/* B603C0 80242110 0260282D */ daddu $a1, $s3, $zero +/* B603C4 80242114 0C01278F */ jal func_80049E3C +/* B603C8 80242118 0280302D */ daddu $a2, $s4, $zero +/* B603CC 8024211C 0240202D */ daddu $a0, $s2, $zero +/* B603D0 80242120 0260282D */ daddu $a1, $s3, $zero +/* B603D4 80242124 0C0127B3 */ jal func_80049ECC +/* B603D8 80242128 0280302D */ daddu $a2, $s4, $zero +/* B603DC 8024212C 08090871 */ j .L802421C4 +/* B603E0 80242130 00000000 */ nop +/* B603E4 80242134 0240202D */ daddu $a0, $s2, $zero +/* B603E8 80242138 0260282D */ daddu $a1, $s3, $zero +/* B603EC 8024213C 0C0127DF */ jal func_80049F7C +/* B603F0 80242140 0280302D */ daddu $a2, $s4, $zero +/* B603F4 80242144 0240202D */ daddu $a0, $s2, $zero +/* B603F8 80242148 0260282D */ daddu $a1, $s3, $zero +/* B603FC 8024214C 0C012849 */ jal func_8004A124 +/* B60400 80242150 0280302D */ daddu $a2, $s4, $zero +/* B60404 80242154 08090871 */ j .L802421C4 +/* B60408 80242158 00000000 */ nop +/* B6040C 8024215C 0240202D */ daddu $a0, $s2, $zero +/* B60410 80242160 0260282D */ daddu $a1, $s3, $zero +/* B60414 80242164 0C0128FA */ jal func_8004A3E8 +/* B60418 80242168 0280302D */ daddu $a2, $s4, $zero +/* B6041C 8024216C 08090871 */ j .L802421C4 +/* B60420 80242170 00000000 */ nop +/* B60424 80242174 0C09059A */ jal func_80241668 +/* B60428 80242178 0240202D */ daddu $a0, $s2, $zero +/* B6042C 8024217C 0C0905B5 */ jal func_802416D4 +/* B60430 80242180 0240202D */ daddu $a0, $s2, $zero +/* B60434 80242184 8E430070 */ lw $v1, 0x70($s2) +/* B60438 80242188 24020020 */ addiu $v0, $zero, 0x20 +/* B6043C 8024218C 1462000D */ bne $v1, $v0, .L802421C4 +/* B60440 80242190 00000000 */ nop +/* B60444 80242194 0C0905D1 */ jal func_80241744 +/* B60448 80242198 0240202D */ daddu $a0, $s2, $zero +/* B6044C 8024219C 8E430070 */ lw $v1, 0x70($s2) +/* B60450 802421A0 24020021 */ addiu $v0, $zero, 0x21 +/* B60454 802421A4 14620007 */ bne $v1, $v0, .L802421C4 +/* B60458 802421A8 00000000 */ nop +/* B6045C 802421AC 0C090607 */ jal func_8024181C +/* B60460 802421B0 0240202D */ daddu $a0, $s2, $zero +/* B60464 802421B4 08090871 */ j .L802421C4 +/* B60468 802421B8 00000000 */ nop +/* B6046C 802421BC 0C0129CF */ jal func_8004A73C +/* B60470 802421C0 0240202D */ daddu $a0, $s2, $zero +.L802421C4: +/* B60474 802421C4 8FBF0048 */ lw $ra, 0x48($sp) +/* B60478 802421C8 8FB50044 */ lw $s5, 0x44($sp) +/* B6047C 802421CC 8FB40040 */ lw $s4, 0x40($sp) +/* B60480 802421D0 8FB3003C */ lw $s3, 0x3c($sp) +/* B60484 802421D4 8FB20038 */ lw $s2, 0x38($sp) +/* B60488 802421D8 8FB10034 */ lw $s1, 0x34($sp) +/* B6048C 802421DC 8FB00030 */ lw $s0, 0x30($sp) +/* B60490 802421E0 0000102D */ daddu $v0, $zero, $zero +/* B60494 802421E4 03E00008 */ jr $ra +/* B60498 802421E8 27BD0050 */ addiu $sp, $sp, 0x50 +/* B6049C 802421EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_802421F0_B5E2B0.s b/asm/nonmatchings/world/area_jan/jan_08/func_802421F0_B5E2B0.s new file mode 100644 index 0000000000..b664219547 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_802421F0_B5E2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421F0_B604A0 +/* B604A0 802421F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B604A4 802421F4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B604A8 802421F8 4485A000 */ mtc1 $a1, $f20 +/* B604AC 802421FC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B604B0 80242200 4486B000 */ mtc1 $a2, $f22 +/* B604B4 80242204 AFB00010 */ sw $s0, 0x10($sp) +/* B604B8 80242208 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B604BC 8024220C 4487C000 */ mtc1 $a3, $f24 +/* B604C0 80242210 AFBF0014 */ sw $ra, 0x14($sp) +/* B604C4 80242214 0C019D28 */ jal guMtxIdentF +/* B604C8 80242218 0080802D */ daddu $s0, $a0, $zero +/* B604CC 8024221C 4616A582 */ mul.s $f22, $f20, $f22 +/* B604D0 80242220 00000000 */ nop +/* B604D4 80242224 4618A502 */ mul.s $f20, $f20, $f24 +/* B604D8 80242228 00000000 */ nop +/* B604DC 8024222C 3C013F80 */ lui $at, 0x3f80 +/* B604E0 80242230 44810000 */ mtc1 $at, $f0 +/* B604E4 80242234 00000000 */ nop +/* B604E8 80242238 E6000014 */ swc1 $f0, 0x14($s0) +/* B604EC 8024223C E6160010 */ swc1 $f22, 0x10($s0) +/* B604F0 80242240 E6140018 */ swc1 $f20, 0x18($s0) +/* B604F4 80242244 8FBF0014 */ lw $ra, 0x14($sp) +/* B604F8 80242248 8FB00010 */ lw $s0, 0x10($sp) +/* B604FC 8024224C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B60500 80242250 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B60504 80242254 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B60508 80242258 03E00008 */ jr $ra +/* B6050C 8024225C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_08/func_80242260.s b/asm/nonmatchings/world/area_jan/jan_08/func_80242260.s new file mode 100644 index 0000000000..3ff07c2144 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_08/func_80242260.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242260 +/* B60510 80242260 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B60514 80242264 AFB10054 */ sw $s1, 0x54($sp) +/* B60518 80242268 0080882D */ daddu $s1, $a0, $zero +/* B6051C 8024226C AFBF005C */ sw $ra, 0x5c($sp) +/* B60520 80242270 AFB20058 */ sw $s2, 0x58($sp) +/* B60524 80242274 AFB00050 */ sw $s0, 0x50($sp) +/* B60528 80242278 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B6052C 8024227C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B60530 80242280 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B60534 80242284 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B60538 80242288 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B6053C 8024228C 8E30000C */ lw $s0, 0xc($s1) +/* B60540 80242290 8E050000 */ lw $a1, ($s0) +/* B60544 80242294 0C0B1EAF */ jal get_variable +/* B60548 80242298 26100004 */ addiu $s0, $s0, 4 +/* B6054C 8024229C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B60550 802422A0 0040202D */ daddu $a0, $v0, $zero +/* B60554 802422A4 8E050000 */ lw $a1, ($s0) +/* B60558 802422A8 26100004 */ addiu $s0, $s0, 4 +/* B6055C 802422AC 0220202D */ daddu $a0, $s1, $zero +/* B60560 802422B0 0C0B210B */ jal get_float_variable +/* B60564 802422B4 0040902D */ daddu $s2, $v0, $zero +/* B60568 802422B8 8E050000 */ lw $a1, ($s0) +/* B6056C 802422BC 26100004 */ addiu $s0, $s0, 4 +/* B60570 802422C0 0220202D */ daddu $a0, $s1, $zero +/* B60574 802422C4 0C0B210B */ jal get_float_variable +/* B60578 802422C8 46000706 */ mov.s $f28, $f0 +/* B6057C 802422CC 8E050000 */ lw $a1, ($s0) +/* B60580 802422D0 26100004 */ addiu $s0, $s0, 4 +/* B60584 802422D4 0220202D */ daddu $a0, $s1, $zero +/* B60588 802422D8 0C0B210B */ jal get_float_variable +/* B6058C 802422DC 46000686 */ mov.s $f26, $f0 +/* B60590 802422E0 0220202D */ daddu $a0, $s1, $zero +/* B60594 802422E4 8E050000 */ lw $a1, ($s0) +/* B60598 802422E8 0C0B210B */ jal get_float_variable +/* B6059C 802422EC 46000586 */ mov.s $f22, $f0 +/* B605A0 802422F0 0240202D */ daddu $a0, $s2, $zero +/* B605A4 802422F4 0C046B4C */ jal get_model_from_list_index +/* B605A8 802422F8 46000606 */ mov.s $f24, $f0 +/* B605AC 802422FC 0040882D */ daddu $s1, $v0, $zero +/* B605B0 80242300 96220000 */ lhu $v0, ($s1) +/* B605B4 80242304 30420400 */ andi $v0, $v0, 0x400 +/* B605B8 80242308 1440001E */ bnez $v0, .L80242384 +/* B605BC 8024230C 26300058 */ addiu $s0, $s1, 0x58 +/* B605C0 80242310 4480A000 */ mtc1 $zero, $f20 +/* B605C4 80242314 4406B000 */ mfc1 $a2, $f22 +/* B605C8 80242318 4405A000 */ mfc1 $a1, $f20 +/* B605CC 8024231C 4407A000 */ mfc1 $a3, $f20 +/* B605D0 80242320 0C019E40 */ jal guTranslateF +/* B605D4 80242324 0200202D */ daddu $a0, $s0, $zero +/* B605D8 80242328 4405E000 */ mfc1 $a1, $f28 +/* B605DC 8024232C 4406D000 */ mfc1 $a2, $f26 +/* B605E0 80242330 4407C000 */ mfc1 $a3, $f24 +/* B605E4 80242334 0C09087C */ jal func_802421F0 +/* B605E8 80242338 27A40010 */ addiu $a0, $sp, 0x10 +/* B605EC 8024233C 27A40010 */ addiu $a0, $sp, 0x10 +/* B605F0 80242340 0200282D */ daddu $a1, $s0, $zero +/* B605F4 80242344 0C019D80 */ jal guMtxCatF +/* B605F8 80242348 0200302D */ daddu $a2, $s0, $zero +/* B605FC 8024234C 27A40010 */ addiu $a0, $sp, 0x10 +/* B60600 80242350 4600B587 */ neg.s $f22, $f22 +/* B60604 80242354 4405A000 */ mfc1 $a1, $f20 +/* B60608 80242358 4406B000 */ mfc1 $a2, $f22 +/* B6060C 8024235C 0C019E40 */ jal guTranslateF +/* B60610 80242360 00A0382D */ daddu $a3, $a1, $zero +/* B60614 80242364 27A40010 */ addiu $a0, $sp, 0x10 +/* B60618 80242368 0200282D */ daddu $a1, $s0, $zero +/* B6061C 8024236C 0C019D80 */ jal guMtxCatF +/* B60620 80242370 00A0302D */ daddu $a2, $a1, $zero +/* B60624 80242374 96220000 */ lhu $v0, ($s1) +/* B60628 80242378 34421400 */ ori $v0, $v0, 0x1400 +/* B6062C 8024237C 080908FF */ j .L802423FC +/* B60630 80242380 A6220000 */ sh $v0, ($s1) +.L80242384: +/* B60634 80242384 4480A000 */ mtc1 $zero, $f20 +/* B60638 80242388 4406B000 */ mfc1 $a2, $f22 +/* B6063C 8024238C 4405A000 */ mfc1 $a1, $f20 +/* B60640 80242390 4407A000 */ mfc1 $a3, $f20 +/* B60644 80242394 0C019E40 */ jal guTranslateF +/* B60648 80242398 27A40010 */ addiu $a0, $sp, 0x10 +/* B6064C 8024239C 27A40010 */ addiu $a0, $sp, 0x10 +/* B60650 802423A0 26300058 */ addiu $s0, $s1, 0x58 +/* B60654 802423A4 0200282D */ daddu $a1, $s0, $zero +/* B60658 802423A8 0C019D80 */ jal guMtxCatF +/* B6065C 802423AC 0200302D */ daddu $a2, $s0, $zero +/* B60660 802423B0 4405E000 */ mfc1 $a1, $f28 +/* B60664 802423B4 4406D000 */ mfc1 $a2, $f26 +/* B60668 802423B8 4407C000 */ mfc1 $a3, $f24 +/* B6066C 802423BC 0C09087C */ jal func_802421F0 +/* B60670 802423C0 27A40010 */ addiu $a0, $sp, 0x10 +/* B60674 802423C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B60678 802423C8 0200282D */ daddu $a1, $s0, $zero +/* B6067C 802423CC 0C019D80 */ jal guMtxCatF +/* B60680 802423D0 0200302D */ daddu $a2, $s0, $zero +/* B60684 802423D4 27A40010 */ addiu $a0, $sp, 0x10 +/* B60688 802423D8 4600B587 */ neg.s $f22, $f22 +/* B6068C 802423DC 4405A000 */ mfc1 $a1, $f20 +/* B60690 802423E0 4406B000 */ mfc1 $a2, $f22 +/* B60694 802423E4 0C019E40 */ jal guTranslateF +/* B60698 802423E8 00A0382D */ daddu $a3, $a1, $zero +/* B6069C 802423EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B606A0 802423F0 0200282D */ daddu $a1, $s0, $zero +/* B606A4 802423F4 0C019D80 */ jal guMtxCatF +/* B606A8 802423F8 00A0302D */ daddu $a2, $a1, $zero +.L802423FC: +/* B606AC 802423FC 8FBF005C */ lw $ra, 0x5c($sp) +/* B606B0 80242400 8FB20058 */ lw $s2, 0x58($sp) +/* B606B4 80242404 8FB10054 */ lw $s1, 0x54($sp) +/* B606B8 80242408 8FB00050 */ lw $s0, 0x50($sp) +/* B606BC 8024240C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B606C0 80242410 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B606C4 80242414 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B606C8 80242418 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B606CC 8024241C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B606D0 80242420 24020002 */ addiu $v0, $zero, 2 +/* B606D4 80242424 03E00008 */ jr $ra +/* B606D8 80242428 27BD0088 */ addiu $sp, $sp, 0x88 +/* B606DC 8024242C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240000_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240000_B65AB0.s new file mode 100644 index 0000000000..d25b3b049e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240000_B65AB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B65AB0 +/* B65AB0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B65AB4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B65AB8 80240008 8C430004 */ lw $v1, 4($v0) +/* B65ABC 8024000C 3C040010 */ lui $a0, 0x10 +/* B65AC0 80240010 00641825 */ or $v1, $v1, $a0 +/* B65AC4 80240014 AC430004 */ sw $v1, 4($v0) +/* B65AC8 80240018 03E00008 */ jr $ra +/* B65ACC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240020_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240020_B65AB0.s new file mode 100644 index 0000000000..160d22120c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240020_B65AB0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_B65AD0 +/* B65AD0 80240020 3C028016 */ lui $v0, 0x8016 +/* B65AD4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* B65AD8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* B65ADC 8024002C 03E00008 */ jr $ra +/* B65AE0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240034_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240034_B65AB0.s new file mode 100644 index 0000000000..eaaa49a6a6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240034_B65AB0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_B65AE4 +/* B65AE4 80240034 3C038016 */ lui $v1, 0x8016 +/* B65AE8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* B65AEC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B65AF0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* B65AF4 80240044 0080802D */ daddu $s0, $a0, $zero +/* B65AF8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* B65AFC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* B65B00 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* B65B04 80240054 24020002 */ addiu $v0, $zero, 2 +/* B65B08 80240058 08090038 */ j .L802400E0 +/* B65B0C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* B65B10 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B65B14 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B65B18 80240068 80620040 */ lb $v0, 0x40($v1) +/* B65B1C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* B65B20 80240070 04420001 */ bltzl $v0, .L80240078 +/* B65B24 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* B65B28 80240078 14400003 */ bnez $v0, .L80240088 +/* B65B2C 8024007C 00000000 */ nop +/* B65B30 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* B65B34 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* B65B38 80240088 44822000 */ mtc1 $v0, $f4 +/* B65B3C 8024008C 00000000 */ nop +/* B65B40 80240090 46802120 */ cvt.s.w $f4, $f4 +/* B65B44 80240094 44062000 */ mfc1 $a2, $f4 +/* B65B48 80240098 44872000 */ mtc1 $a3, $f4 +/* B65B4C 8024009C 00000000 */ nop +/* B65B50 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* B65B54 802400A4 44806000 */ mtc1 $zero, $f12 +/* B65B58 802400A8 44072000 */ mfc1 $a3, $f4 +/* B65B5C 802400AC 0C00A720 */ jal atan2 +/* B65B60 802400B0 46006386 */ mov.s $f14, $f12 +/* B65B64 802400B4 3C014270 */ lui $at, 0x4270 +/* B65B68 802400B8 44811000 */ mtc1 $at, $f2 +/* B65B6C 802400BC 00000000 */ nop +/* B65B70 802400C0 4602003C */ c.lt.s $f0, $f2 +/* B65B74 802400C4 00000000 */ nop +/* B65B78 802400C8 45000004 */ bc1f .L802400DC +/* B65B7C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* B65B80 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* B65B84 802400D4 08090038 */ j .L802400E0 +/* B65B88 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* B65B8C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* B65B90 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* B65B94 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* B65B98 802400E8 03E00008 */ jr $ra +/* B65B9C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_802400F0_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_802400F0_B65AB0.s new file mode 100644 index 0000000000..da04950534 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_802400F0_B65AB0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_B65BA0 +/* B65BA0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B65BA4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* B65BA8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* B65BAC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* B65BB0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* B65BB4 80240104 0C016AFA */ jal get_current_map_header +/* B65BB8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* B65BBC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* B65BC0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* B65BC4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B65BC8 80240118 0C0B1EAF */ jal get_variable +/* B65BCC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* B65BD0 80240120 0220202D */ daddu $a0, $s1, $zero +/* B65BD4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* B65BD8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* B65BDC 8024012C 00028100 */ sll $s0, $v0, 4 +/* B65BE0 80240130 02031821 */ addu $v1, $s0, $v1 +/* B65BE4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* B65BE8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* B65BEC 8024013C 44061000 */ mfc1 $a2, $f2 +/* B65BF0 80240140 0C0B2026 */ jal set_variable +/* B65BF4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B65BF8 80240148 0220202D */ daddu $a0, $s1, $zero +/* B65BFC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* B65C00 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* B65C04 80240154 02021021 */ addu $v0, $s0, $v0 +/* B65C08 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* B65C0C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* B65C10 80240160 44061000 */ mfc1 $a2, $f2 +/* B65C14 80240164 0C0B2026 */ jal set_variable +/* B65C18 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B65C1C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* B65C20 80240170 8E420014 */ lw $v0, 0x14($s2) +/* B65C24 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* B65C28 80240178 02021021 */ addu $v0, $s0, $v0 +/* B65C2C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* B65C30 80240180 4600008D */ trunc.w.s $f2, $f0 +/* B65C34 80240184 44061000 */ mfc1 $a2, $f2 +/* B65C38 80240188 0C0B2026 */ jal set_variable +/* B65C3C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* B65C40 80240190 0220202D */ daddu $a0, $s1, $zero +/* B65C44 80240194 8E420014 */ lw $v0, 0x14($s2) +/* B65C48 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* B65C4C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* B65C50 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* B65C54 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* B65C58 802401A8 44061000 */ mfc1 $a2, $f2 +/* B65C5C 802401AC 0C0B2026 */ jal set_variable +/* B65C60 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* B65C64 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* B65C68 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* B65C6C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* B65C70 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* B65C74 802401C4 24020002 */ addiu $v0, $zero, 2 +/* B65C78 802401C8 03E00008 */ jr $ra +/* B65C7C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_802401D0_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_802401D0_B65AB0.s new file mode 100644 index 0000000000..73d3b5dfc8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_802401D0_B65AB0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_B65C80 +/* B65C80 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B65C84 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B65C88 802401D8 3C014334 */ lui $at, 0x4334 +/* B65C8C 802401DC 44816000 */ mtc1 $at, $f12 +/* B65C90 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B65C94 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* B65C98 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* B65C9C 802401EC 00031080 */ sll $v0, $v1, 2 +/* B65CA0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* B65CA4 802401F4 00021080 */ sll $v0, $v0, 2 +/* B65CA8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* B65CAC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* B65CB0 80240200 00431021 */ addu $v0, $v0, $v1 +/* B65CB4 80240204 000210C0 */ sll $v0, $v0, 3 +/* B65CB8 80240208 3C01800B */ lui $at, 0x800b +/* B65CBC 8024020C 00220821 */ addu $at, $at, $v0 +/* B65CC0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B65CC4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* B65CC8 80240218 0C00A6C9 */ jal clamp_angle +/* B65CCC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* B65CD0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* B65CD4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* B65CD8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* B65CDC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* B65CE0 80240230 24020002 */ addiu $v0, $zero, 2 +/* B65CE4 80240234 03E00008 */ jr $ra +/* B65CE8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_8024023C_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_8024023C_B65AB0.s new file mode 100644 index 0000000000..cabb58319a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_8024023C_B65AB0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_B65CEC +/* B65CEC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B65CF0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* B65CF4 80240244 0080802D */ daddu $s0, $a0, $zero +/* B65CF8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* B65CFC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B65D00 80240250 8E02000C */ lw $v0, 0xc($s0) +/* B65D04 80240254 0C0B210B */ jal get_float_variable +/* B65D08 80240258 8C450000 */ lw $a1, ($v0) +/* B65D0C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* B65D10 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* B65D14 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* B65D18 80240268 44060000 */ mfc1 $a2, $f0 +/* B65D1C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* B65D20 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* B65D24 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* B65D28 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* B65D2C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* B65D30 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* B65D34 80240284 0C00A7E7 */ jal add_vec2D_polar +/* B65D38 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* B65D3C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* B65D40 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* B65D44 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* B65D48 80240298 0C0B2190 */ jal set_float_variable +/* B65D4C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B65D50 802402A0 0200202D */ daddu $a0, $s0, $zero +/* B65D54 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* B65D58 802402A8 4406A000 */ mfc1 $a2, $f20 +/* B65D5C 802402AC 0C0B2190 */ jal set_float_variable +/* B65D60 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B65D64 802402B4 0200202D */ daddu $a0, $s0, $zero +/* B65D68 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* B65D6C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* B65D70 802402C0 0C0B2190 */ jal set_float_variable +/* B65D74 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B65D78 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* B65D7C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* B65D80 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B65D84 802402D4 24020002 */ addiu $v0, $zero, 2 +/* B65D88 802402D8 03E00008 */ jr $ra +/* B65D8C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_802402E0_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_802402E0_B65AB0.s new file mode 100644 index 0000000000..5135baf24b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_802402E0_B65AB0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_B65D90 +/* B65D90 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B65D94 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* B65D98 802402E8 0080802D */ daddu $s0, $a0, $zero +/* B65D9C 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* B65DA0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* B65DA4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* B65DA8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* B65DAC 802402FC 04610004 */ bgez $v1, .L80240310 +/* B65DB0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* B65DB4 80240304 3C020002 */ lui $v0, 2 +/* B65DB8 80240308 080900C8 */ j .L80240320 +/* B65DBC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* B65DC0 80240310 3C040002 */ lui $a0, 2 +/* B65DC4 80240314 0083102A */ slt $v0, $a0, $v1 +/* B65DC8 80240318 10400002 */ beqz $v0, .L80240324 +/* B65DCC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* B65DD0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* B65DD4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* B65DD8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* B65DDC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* B65DE0 80240330 04610004 */ bgez $v1, .L80240344 +/* B65DE4 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* B65DE8 80240338 3C020002 */ lui $v0, 2 +/* B65DEC 8024033C 080900D5 */ j .L80240354 +/* B65DF0 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* B65DF4 80240344 3C040002 */ lui $a0, 2 +/* B65DF8 80240348 0083102A */ slt $v0, $a0, $v1 +/* B65DFC 8024034C 10400002 */ beqz $v0, .L80240358 +/* B65E00 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* B65E04 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* B65E08 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* B65E0C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* B65E10 80240360 00621821 */ addu $v1, $v1, $v0 +/* B65E14 80240364 04610004 */ bgez $v1, .L80240378 +/* B65E18 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* B65E1C 8024036C 3C020002 */ lui $v0, 2 +/* B65E20 80240370 080900E2 */ j .L80240388 +/* B65E24 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* B65E28 80240378 3C040002 */ lui $a0, 2 +/* B65E2C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* B65E30 80240380 10400002 */ beqz $v0, .L8024038C +/* B65E34 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* B65E38 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* B65E3C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* B65E40 80240390 8E020094 */ lw $v0, 0x94($s0) +/* B65E44 80240394 00621821 */ addu $v1, $v1, $v0 +/* B65E48 80240398 04610004 */ bgez $v1, .L802403AC +/* B65E4C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* B65E50 802403A0 3C020002 */ lui $v0, 2 +/* B65E54 802403A4 080900EF */ j .L802403BC +/* B65E58 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* B65E5C 802403AC 3C040002 */ lui $a0, 2 +/* B65E60 802403B0 0083102A */ slt $v0, $a0, $v1 +/* B65E64 802403B4 10400002 */ beqz $v0, .L802403C0 +/* B65E68 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* B65E6C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* B65E70 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* B65E74 802403C4 0C046F07 */ jal set_main_pan_u +/* B65E78 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B65E7C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* B65E80 802403D0 0C046F0D */ jal set_main_pan_v +/* B65E84 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* B65E88 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* B65E8C 802403DC 0C046F13 */ jal set_aux_pan_u +/* B65E90 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* B65E94 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* B65E98 802403E8 0C046F19 */ jal set_aux_pan_v +/* B65E9C 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* B65EA0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* B65EA4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* B65EA8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* B65EAC 802403FC 03E00008 */ jr $ra +/* B65EB0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240404_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240404_B65AB0.s new file mode 100644 index 0000000000..15afc78187 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240404_B65AB0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_B65EB4 +/* B65EB4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B65EB8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* B65EBC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* B65EC0 80240410 10A00005 */ beqz $a1, .L80240428 +/* B65EC4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* B65EC8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* B65ECC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* B65ED0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* B65ED4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* B65ED8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* B65EDC 8024042C 1440000E */ bnez $v0, .L80240468 +/* B65EE0 80240430 00000000 */ nop +/* B65EE4 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* B65EE8 80240438 8E020088 */ lw $v0, 0x88($s0) +/* B65EEC 8024043C 00621821 */ addu $v1, $v1, $v0 +/* B65EF0 80240440 04610004 */ bgez $v1, .L80240454 +/* B65EF4 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* B65EF8 80240448 3C020002 */ lui $v0, 2 +/* B65EFC 8024044C 08090119 */ j .L80240464 +/* B65F00 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* B65F04 80240454 3C040002 */ lui $a0, 2 +/* B65F08 80240458 0083102A */ slt $v0, $a0, $v1 +/* B65F0C 8024045C 10400002 */ beqz $v0, .L80240468 +/* B65F10 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* B65F14 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* B65F18 80240468 8E020074 */ lw $v0, 0x74($s0) +/* B65F1C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* B65F20 80240470 00000000 */ nop +/* B65F24 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* B65F28 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* B65F2C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* B65F30 80240480 04610004 */ bgez $v1, .L80240494 +/* B65F34 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* B65F38 80240488 3C020002 */ lui $v0, 2 +/* B65F3C 8024048C 08090129 */ j .L802404A4 +/* B65F40 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* B65F44 80240494 3C040002 */ lui $a0, 2 +/* B65F48 80240498 0083102A */ slt $v0, $a0, $v1 +/* B65F4C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* B65F50 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* B65F54 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* B65F58 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* B65F5C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* B65F60 802404B0 00000000 */ nop +/* B65F64 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B65F68 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* B65F6C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* B65F70 802404C0 04610004 */ bgez $v1, .L802404D4 +/* B65F74 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B65F78 802404C8 3C020002 */ lui $v0, 2 +/* B65F7C 802404CC 08090139 */ j .L802404E4 +/* B65F80 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* B65F84 802404D4 3C040002 */ lui $a0, 2 +/* B65F88 802404D8 0083102A */ slt $v0, $a0, $v1 +/* B65F8C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* B65F90 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* B65F94 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* B65F98 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* B65F9C 802404EC 1440000E */ bnez $v0, .L80240528 +/* B65FA0 802404F0 00000000 */ nop +/* B65FA4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* B65FA8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* B65FAC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* B65FB0 80240500 04610004 */ bgez $v1, .L80240514 +/* B65FB4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* B65FB8 80240508 3C020002 */ lui $v0, 2 +/* B65FBC 8024050C 08090149 */ j .L80240524 +/* B65FC0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* B65FC4 80240514 3C040002 */ lui $a0, 2 +/* B65FC8 80240518 0083102A */ slt $v0, $a0, $v1 +/* B65FCC 8024051C 10400002 */ beqz $v0, .L80240528 +/* B65FD0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* B65FD4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* B65FD8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* B65FDC 8024052C 0C046F07 */ jal set_main_pan_u +/* B65FE0 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* B65FE4 80240534 8E040084 */ lw $a0, 0x84($s0) +/* B65FE8 80240538 0C046F0D */ jal set_main_pan_v +/* B65FEC 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* B65FF0 80240540 8E040084 */ lw $a0, 0x84($s0) +/* B65FF4 80240544 0C046F13 */ jal set_aux_pan_u +/* B65FF8 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* B65FFC 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* B66000 80240550 0C046F19 */ jal set_aux_pan_v +/* B66004 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* B66008 80240558 8E020070 */ lw $v0, 0x70($s0) +/* B6600C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* B66010 80240560 8E040098 */ lw $a0, 0x98($s0) +/* B66014 80240564 24420001 */ addiu $v0, $v0, 1 +/* B66018 80240568 AE020070 */ sw $v0, 0x70($s0) +/* B6601C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* B66020 80240570 24630001 */ addiu $v1, $v1, 1 +/* B66024 80240574 AE030078 */ sw $v1, 0x78($s0) +/* B66028 80240578 8E030070 */ lw $v1, 0x70($s0) +/* B6602C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* B66030 80240580 AE020074 */ sw $v0, 0x74($s0) +/* B66034 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* B66038 80240588 0064182A */ slt $v1, $v1, $a0 +/* B6603C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* B66040 80240590 14600002 */ bnez $v1, .L8024059C +/* B66044 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* B66048 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* B6604C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* B66050 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* B66054 802405A4 0043102A */ slt $v0, $v0, $v1 +/* B66058 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* B6605C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* B66060 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* B66064 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B66068 802405B8 0043102A */ slt $v0, $v0, $v1 +/* B6606C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* B66070 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* B66074 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* B66078 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B6607C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* B66080 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* B66084 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* B66088 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* B6608C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* B66090 802405E0 0000102D */ daddu $v0, $zero, $zero +/* B66094 802405E4 03E00008 */ jr $ra +/* B66098 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* B6609C 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_802405F0_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_802405F0_B65AB0.s new file mode 100644 index 0000000000..ccca835477 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_802405F0_B65AB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_B660A0 +/* B660A0 802405F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B660A4 802405F4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B660A8 802405F8 4485A000 */ mtc1 $a1, $f20 +/* B660AC 802405FC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B660B0 80240600 4486B000 */ mtc1 $a2, $f22 +/* B660B4 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* B660B8 80240608 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B660BC 8024060C 4487C000 */ mtc1 $a3, $f24 +/* B660C0 80240610 AFBF0014 */ sw $ra, 0x14($sp) +/* B660C4 80240614 0C019D28 */ jal guMtxIdentF +/* B660C8 80240618 0080802D */ daddu $s0, $a0, $zero +/* B660CC 8024061C 4616A582 */ mul.s $f22, $f20, $f22 +/* B660D0 80240620 00000000 */ nop +/* B660D4 80240624 4618A502 */ mul.s $f20, $f20, $f24 +/* B660D8 80240628 00000000 */ nop +/* B660DC 8024062C 3C013F80 */ lui $at, 0x3f80 +/* B660E0 80240630 44810000 */ mtc1 $at, $f0 +/* B660E4 80240634 00000000 */ nop +/* B660E8 80240638 E6000014 */ swc1 $f0, 0x14($s0) +/* B660EC 8024063C E6160010 */ swc1 $f22, 0x10($s0) +/* B660F0 80240640 E6140018 */ swc1 $f20, 0x18($s0) +/* B660F4 80240644 8FBF0014 */ lw $ra, 0x14($sp) +/* B660F8 80240648 8FB00010 */ lw $s0, 0x10($sp) +/* B660FC 8024064C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B66100 80240650 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B66104 80240654 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B66108 80240658 03E00008 */ jr $ra +/* B6610C 8024065C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240660_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240660_B65AB0.s new file mode 100644 index 0000000000..081225f4dc --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240660_B65AB0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660_B66110 +/* B66110 80240660 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B66114 80240664 AFB10054 */ sw $s1, 0x54($sp) +/* B66118 80240668 0080882D */ daddu $s1, $a0, $zero +/* B6611C 8024066C AFBF005C */ sw $ra, 0x5c($sp) +/* B66120 80240670 AFB20058 */ sw $s2, 0x58($sp) +/* B66124 80240674 AFB00050 */ sw $s0, 0x50($sp) +/* B66128 80240678 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B6612C 8024067C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B66130 80240680 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B66134 80240684 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B66138 80240688 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B6613C 8024068C 8E30000C */ lw $s0, 0xc($s1) +/* B66140 80240690 8E050000 */ lw $a1, ($s0) +/* B66144 80240694 0C0B1EAF */ jal get_variable +/* B66148 80240698 26100004 */ addiu $s0, $s0, 4 +/* B6614C 8024069C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B66150 802406A0 0040202D */ daddu $a0, $v0, $zero +/* B66154 802406A4 8E050000 */ lw $a1, ($s0) +/* B66158 802406A8 26100004 */ addiu $s0, $s0, 4 +/* B6615C 802406AC 0220202D */ daddu $a0, $s1, $zero +/* B66160 802406B0 0C0B210B */ jal get_float_variable +/* B66164 802406B4 0040902D */ daddu $s2, $v0, $zero +/* B66168 802406B8 8E050000 */ lw $a1, ($s0) +/* B6616C 802406BC 26100004 */ addiu $s0, $s0, 4 +/* B66170 802406C0 0220202D */ daddu $a0, $s1, $zero +/* B66174 802406C4 0C0B210B */ jal get_float_variable +/* B66178 802406C8 46000706 */ mov.s $f28, $f0 +/* B6617C 802406CC 8E050000 */ lw $a1, ($s0) +/* B66180 802406D0 26100004 */ addiu $s0, $s0, 4 +/* B66184 802406D4 0220202D */ daddu $a0, $s1, $zero +/* B66188 802406D8 0C0B210B */ jal get_float_variable +/* B6618C 802406DC 46000686 */ mov.s $f26, $f0 +/* B66190 802406E0 0220202D */ daddu $a0, $s1, $zero +/* B66194 802406E4 8E050000 */ lw $a1, ($s0) +/* B66198 802406E8 0C0B210B */ jal get_float_variable +/* B6619C 802406EC 46000586 */ mov.s $f22, $f0 +/* B661A0 802406F0 0240202D */ daddu $a0, $s2, $zero +/* B661A4 802406F4 0C046B4C */ jal get_model_from_list_index +/* B661A8 802406F8 46000606 */ mov.s $f24, $f0 +/* B661AC 802406FC 0040882D */ daddu $s1, $v0, $zero +/* B661B0 80240700 96220000 */ lhu $v0, ($s1) +/* B661B4 80240704 30420400 */ andi $v0, $v0, 0x400 +/* B661B8 80240708 1440001E */ bnez $v0, .L80240784 +/* B661BC 8024070C 26300058 */ addiu $s0, $s1, 0x58 +/* B661C0 80240710 4480A000 */ mtc1 $zero, $f20 +/* B661C4 80240714 4406B000 */ mfc1 $a2, $f22 +/* B661C8 80240718 4405A000 */ mfc1 $a1, $f20 +/* B661CC 8024071C 4407A000 */ mfc1 $a3, $f20 +/* B661D0 80240720 0C019E40 */ jal guTranslateF +/* B661D4 80240724 0200202D */ daddu $a0, $s0, $zero +/* B661D8 80240728 4405E000 */ mfc1 $a1, $f28 +/* B661DC 8024072C 4406D000 */ mfc1 $a2, $f26 +/* B661E0 80240730 4407C000 */ mfc1 $a3, $f24 +/* B661E4 80240734 0C09017C */ jal func_802405F0 +/* B661E8 80240738 27A40010 */ addiu $a0, $sp, 0x10 +/* B661EC 8024073C 27A40010 */ addiu $a0, $sp, 0x10 +/* B661F0 80240740 0200282D */ daddu $a1, $s0, $zero +/* B661F4 80240744 0C019D80 */ jal guMtxCatF +/* B661F8 80240748 0200302D */ daddu $a2, $s0, $zero +/* B661FC 8024074C 27A40010 */ addiu $a0, $sp, 0x10 +/* B66200 80240750 4600B587 */ neg.s $f22, $f22 +/* B66204 80240754 4405A000 */ mfc1 $a1, $f20 +/* B66208 80240758 4406B000 */ mfc1 $a2, $f22 +/* B6620C 8024075C 0C019E40 */ jal guTranslateF +/* B66210 80240760 00A0382D */ daddu $a3, $a1, $zero +/* B66214 80240764 27A40010 */ addiu $a0, $sp, 0x10 +/* B66218 80240768 0200282D */ daddu $a1, $s0, $zero +/* B6621C 8024076C 0C019D80 */ jal guMtxCatF +/* B66220 80240770 00A0302D */ daddu $a2, $a1, $zero +/* B66224 80240774 96220000 */ lhu $v0, ($s1) +/* B66228 80240778 34421400 */ ori $v0, $v0, 0x1400 +/* B6622C 8024077C 080901FF */ j .L802407FC +/* B66230 80240780 A6220000 */ sh $v0, ($s1) +.L80240784: +/* B66234 80240784 4480A000 */ mtc1 $zero, $f20 +/* B66238 80240788 4406B000 */ mfc1 $a2, $f22 +/* B6623C 8024078C 4405A000 */ mfc1 $a1, $f20 +/* B66240 80240790 4407A000 */ mfc1 $a3, $f20 +/* B66244 80240794 0C019E40 */ jal guTranslateF +/* B66248 80240798 27A40010 */ addiu $a0, $sp, 0x10 +/* B6624C 8024079C 27A40010 */ addiu $a0, $sp, 0x10 +/* B66250 802407A0 26300058 */ addiu $s0, $s1, 0x58 +/* B66254 802407A4 0200282D */ daddu $a1, $s0, $zero +/* B66258 802407A8 0C019D80 */ jal guMtxCatF +/* B6625C 802407AC 0200302D */ daddu $a2, $s0, $zero +/* B66260 802407B0 4405E000 */ mfc1 $a1, $f28 +/* B66264 802407B4 4406D000 */ mfc1 $a2, $f26 +/* B66268 802407B8 4407C000 */ mfc1 $a3, $f24 +/* B6626C 802407BC 0C09017C */ jal func_802405F0 +/* B66270 802407C0 27A40010 */ addiu $a0, $sp, 0x10 +/* B66274 802407C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B66278 802407C8 0200282D */ daddu $a1, $s0, $zero +/* B6627C 802407CC 0C019D80 */ jal guMtxCatF +/* B66280 802407D0 0200302D */ daddu $a2, $s0, $zero +/* B66284 802407D4 27A40010 */ addiu $a0, $sp, 0x10 +/* B66288 802407D8 4600B587 */ neg.s $f22, $f22 +/* B6628C 802407DC 4405A000 */ mfc1 $a1, $f20 +/* B66290 802407E0 4406B000 */ mfc1 $a2, $f22 +/* B66294 802407E4 0C019E40 */ jal guTranslateF +/* B66298 802407E8 00A0382D */ daddu $a3, $a1, $zero +/* B6629C 802407EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B662A0 802407F0 0200282D */ daddu $a1, $s0, $zero +/* B662A4 802407F4 0C019D80 */ jal guMtxCatF +/* B662A8 802407F8 00A0302D */ daddu $a2, $a1, $zero +.L802407FC: +/* B662AC 802407FC 8FBF005C */ lw $ra, 0x5c($sp) +/* B662B0 80240800 8FB20058 */ lw $s2, 0x58($sp) +/* B662B4 80240804 8FB10054 */ lw $s1, 0x54($sp) +/* B662B8 80240808 8FB00050 */ lw $s0, 0x50($sp) +/* B662BC 8024080C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B662C0 80240810 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B662C4 80240814 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B662C8 80240818 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B662CC 8024081C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B662D0 80240820 24020002 */ addiu $v0, $zero, 2 +/* B662D4 80240824 03E00008 */ jr $ra +/* B662D8 80240828 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_8024082C_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_8024082C_B65AB0.s new file mode 100644 index 0000000000..8cf065bd55 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_8024082C_B65AB0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024082C_B662DC +/* B662DC 8024082C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B662E0 80240830 AFB00010 */ sw $s0, 0x10($sp) +/* B662E4 80240834 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B662E8 80240838 4485A000 */ mtc1 $a1, $f20 +/* B662EC 8024083C AFBF0014 */ sw $ra, 0x14($sp) +/* B662F0 80240840 0C019D28 */ jal guMtxIdentF +/* B662F4 80240844 0080802D */ daddu $s0, $a0, $zero +/* B662F8 80240848 3C018024 */ lui $at, 0x8024 +/* B662FC 8024084C D4206590 */ ldc1 $f0, 0x6590($at) +/* B66300 80240850 4600A521 */ cvt.d.s $f20, $f20 +/* B66304 80240854 4620A502 */ mul.d $f20, $f20, $f0 +/* B66308 80240858 00000000 */ nop +/* B6630C 8024085C 3C013F80 */ lui $at, 0x3f80 +/* B66310 80240860 44810000 */ mtc1 $at, $f0 +/* B66314 80240864 AE000018 */ sw $zero, 0x18($s0) +/* B66318 80240868 E6000014 */ swc1 $f0, 0x14($s0) +/* B6631C 8024086C 4620A520 */ cvt.s.d $f20, $f20 +/* B66320 80240870 E6140010 */ swc1 $f20, 0x10($s0) +/* B66324 80240874 8FBF0014 */ lw $ra, 0x14($sp) +/* B66328 80240878 8FB00010 */ lw $s0, 0x10($sp) +/* B6632C 8024087C D7B40018 */ ldc1 $f20, 0x18($sp) +/* B66330 80240880 03E00008 */ jr $ra +/* B66334 80240884 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240888_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240888_B65AB0.s new file mode 100644 index 0000000000..b355ed1cbc --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240888_B65AB0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240888_B66338 +/* B66338 80240888 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B6633C 8024088C AFB10054 */ sw $s1, 0x54($sp) +/* B66340 80240890 0080882D */ daddu $s1, $a0, $zero +/* B66344 80240894 AFBF0058 */ sw $ra, 0x58($sp) +/* B66348 80240898 AFB00050 */ sw $s0, 0x50($sp) +/* B6634C 8024089C F7B40060 */ sdc1 $f20, 0x60($sp) +/* B66350 802408A0 8E30000C */ lw $s0, 0xc($s1) +/* B66354 802408A4 8E050000 */ lw $a1, ($s0) +/* B66358 802408A8 0C0B1EAF */ jal get_variable +/* B6635C 802408AC 26100004 */ addiu $s0, $s0, 4 +/* B66360 802408B0 0C046C04 */ jal get_model_list_index_from_tree_index +/* B66364 802408B4 0040202D */ daddu $a0, $v0, $zero +/* B66368 802408B8 0220202D */ daddu $a0, $s1, $zero +/* B6636C 802408BC 8E050000 */ lw $a1, ($s0) +/* B66370 802408C0 0C0B210B */ jal get_float_variable +/* B66374 802408C4 0040802D */ daddu $s0, $v0, $zero +/* B66378 802408C8 0200202D */ daddu $a0, $s0, $zero +/* B6637C 802408CC 0C046B4C */ jal get_model_from_list_index +/* B66380 802408D0 46000506 */ mov.s $f20, $f0 +/* B66384 802408D4 0040802D */ daddu $s0, $v0, $zero +/* B66388 802408D8 96020000 */ lhu $v0, ($s0) +/* B6638C 802408DC 30420400 */ andi $v0, $v0, 0x400 +/* B66390 802408E0 14400008 */ bnez $v0, .L80240904 +/* B66394 802408E4 00000000 */ nop +/* B66398 802408E8 4405A000 */ mfc1 $a1, $f20 +/* B6639C 802408EC 0C09020B */ jal func_8024082C +/* B663A0 802408F0 26040058 */ addiu $a0, $s0, 0x58 +/* B663A4 802408F4 96020000 */ lhu $v0, ($s0) +/* B663A8 802408F8 34421400 */ ori $v0, $v0, 0x1400 +/* B663AC 802408FC 08090248 */ j .L80240920 +/* B663B0 80240900 A6020000 */ sh $v0, ($s0) +.L80240904: +/* B663B4 80240904 4405A000 */ mfc1 $a1, $f20 +/* B663B8 80240908 0C09020B */ jal func_8024082C +/* B663BC 8024090C 27A40010 */ addiu $a0, $sp, 0x10 +/* B663C0 80240910 27A40010 */ addiu $a0, $sp, 0x10 +/* B663C4 80240914 26050058 */ addiu $a1, $s0, 0x58 +/* B663C8 80240918 0C019D80 */ jal guMtxCatF +/* B663CC 8024091C 00A0302D */ daddu $a2, $a1, $zero +.L80240920: +/* B663D0 80240920 8FBF0058 */ lw $ra, 0x58($sp) +/* B663D4 80240924 8FB10054 */ lw $s1, 0x54($sp) +/* B663D8 80240928 8FB00050 */ lw $s0, 0x50($sp) +/* B663DC 8024092C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B663E0 80240930 24020002 */ addiu $v0, $zero, 2 +/* B663E4 80240934 03E00008 */ jr $ra +/* B663E8 80240938 27BD0068 */ addiu $sp, $sp, 0x68 +/* B663EC 8024093C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240940_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240940_B65AB0.s new file mode 100644 index 0000000000..cbb606d9a5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240940_B65AB0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240940_B663F0 +/* B663F0 80240940 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B663F4 80240944 AFB10014 */ sw $s1, 0x14($sp) +/* B663F8 80240948 0080882D */ daddu $s1, $a0, $zero +/* B663FC 8024094C AFBF0018 */ sw $ra, 0x18($sp) +/* B66400 80240950 AFB00010 */ sw $s0, 0x10($sp) +/* B66404 80240954 8E300148 */ lw $s0, 0x148($s1) +/* B66408 80240958 0C00EABB */ jal get_npc_unsafe +/* B6640C 8024095C 86040008 */ lh $a0, 8($s0) +/* B66410 80240960 3C054387 */ lui $a1, 0x4387 +/* B66414 80240964 0040202D */ daddu $a0, $v0, $zero +/* B66418 80240968 0C00ECD0 */ jal set_npc_yaw +/* B6641C 8024096C A480008E */ sh $zero, 0x8e($a0) +/* B66420 80240970 24020003 */ addiu $v0, $zero, 3 +/* B66424 80240974 AE00006C */ sw $zero, 0x6c($s0) +/* B66428 80240978 AE220070 */ sw $v0, 0x70($s1) +/* B6642C 8024097C 8FBF0018 */ lw $ra, 0x18($sp) +/* B66430 80240980 8FB10014 */ lw $s1, 0x14($sp) +/* B66434 80240984 8FB00010 */ lw $s0, 0x10($sp) +/* B66438 80240988 03E00008 */ jr $ra +/* B6643C 8024098C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240990_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240990_B65AB0.s new file mode 100644 index 0000000000..428bc2acf7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240990_B65AB0.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240990_B66440 +/* B66440 80240990 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B66444 80240994 AFB20028 */ sw $s2, 0x28($sp) +/* B66448 80240998 0080902D */ daddu $s2, $a0, $zero +/* B6644C 8024099C AFBF002C */ sw $ra, 0x2c($sp) +/* B66450 802409A0 AFB10024 */ sw $s1, 0x24($sp) +/* B66454 802409A4 AFB00020 */ sw $s0, 0x20($sp) +/* B66458 802409A8 8E500148 */ lw $s0, 0x148($s2) +/* B6645C 802409AC 0C00EABB */ jal get_npc_unsafe +/* B66460 802409B0 86040008 */ lh $a0, 8($s0) +/* B66464 802409B4 8E03006C */ lw $v1, 0x6c($s0) +/* B66468 802409B8 1460000B */ bnez $v1, .L802409E8 +/* B6646C 802409BC 0040882D */ daddu $s1, $v0, $zero +/* B66470 802409C0 0C00A67F */ jal rand_int +/* B66474 802409C4 24040064 */ addiu $a0, $zero, 0x64 +/* B66478 802409C8 28420032 */ slti $v0, $v0, 0x32 +/* B6647C 802409CC 14400002 */ bnez $v0, .L802409D8 +/* B66480 802409D0 24020001 */ addiu $v0, $zero, 1 +/* B66484 802409D4 24020003 */ addiu $v0, $zero, 3 +.L802409D8: +/* B66488 802409D8 AE02006C */ sw $v0, 0x6c($s0) +/* B6648C 802409DC 3C054387 */ lui $a1, 0x4387 +/* B66490 802409E0 0C00ECD0 */ jal set_npc_yaw +/* B66494 802409E4 0220202D */ daddu $a0, $s1, $zero +.L802409E8: +/* B66498 802409E8 8E02006C */ lw $v0, 0x6c($s0) +/* B6649C 802409EC 2443FFFF */ addiu $v1, $v0, -1 +/* B664A0 802409F0 2C620006 */ sltiu $v0, $v1, 6 +/* B664A4 802409F4 1040004D */ beqz $v0, .L80240B2C +/* B664A8 802409F8 00031080 */ sll $v0, $v1, 2 +/* B664AC 802409FC 3C018024 */ lui $at, 0x8024 +/* B664B0 80240A00 00220821 */ addu $at, $at, $v0 +/* B664B4 80240A04 8C2265A0 */ lw $v0, 0x65a0($at) +/* B664B8 80240A08 00400008 */ jr $v0 +/* B664BC 80240A0C 00000000 */ nop +/* B664C0 80240A10 3C030042 */ lui $v1, 0x42 +/* B664C4 80240A14 3463000F */ ori $v1, $v1, 0xf +/* B664C8 80240A18 24020002 */ addiu $v0, $zero, 2 +/* B664CC 80240A1C AE02006C */ sw $v0, 0x6c($s0) +/* B664D0 80240A20 AE000070 */ sw $zero, 0x70($s0) +/* B664D4 80240A24 AE230028 */ sw $v1, 0x28($s1) +/* B664D8 80240A28 8E020070 */ lw $v0, 0x70($s0) +/* B664DC 80240A2C 24420001 */ addiu $v0, $v0, 1 +/* B664E0 80240A30 AE020070 */ sw $v0, 0x70($s0) +/* B664E4 80240A34 28420033 */ slti $v0, $v0, 0x33 +/* B664E8 80240A38 1440003C */ bnez $v0, .L80240B2C +/* B664EC 80240A3C 24020005 */ addiu $v0, $zero, 5 +/* B664F0 80240A40 080902CB */ j .L80240B2C +/* B664F4 80240A44 AE02006C */ sw $v0, 0x6c($s0) +/* B664F8 80240A48 3C030042 */ lui $v1, 0x42 +/* B664FC 80240A4C 34630010 */ ori $v1, $v1, 0x10 +/* B66500 80240A50 24020004 */ addiu $v0, $zero, 4 +/* B66504 80240A54 AE02006C */ sw $v0, 0x6c($s0) +/* B66508 80240A58 AE000070 */ sw $zero, 0x70($s0) +/* B6650C 80240A5C AE230028 */ sw $v1, 0x28($s1) +/* B66510 80240A60 8E020070 */ lw $v0, 0x70($s0) +/* B66514 80240A64 24030019 */ addiu $v1, $zero, 0x19 +/* B66518 80240A68 24420001 */ addiu $v0, $v0, 1 +/* B6651C 80240A6C 14430005 */ bne $v0, $v1, .L80240A84 +/* B66520 80240A70 AE020070 */ sw $v0, 0x70($s0) +/* B66524 80240A74 3C0142B4 */ lui $at, 0x42b4 +/* B66528 80240A78 44810000 */ mtc1 $at, $f0 +/* B6652C 80240A7C 00000000 */ nop +/* B66530 80240A80 E620000C */ swc1 $f0, 0xc($s1) +.L80240A84: +/* B66534 80240A84 8E020070 */ lw $v0, 0x70($s0) +/* B66538 80240A88 2842003D */ slti $v0, $v0, 0x3d +/* B6653C 80240A8C 14400027 */ bnez $v0, .L80240B2C +/* B66540 80240A90 24020005 */ addiu $v0, $zero, 5 +/* B66544 80240A94 080902CB */ j .L80240B2C +/* B66548 80240A98 AE02006C */ sw $v0, 0x6c($s0) +/* B6654C 80240A9C 3C030042 */ lui $v1, 0x42 +/* B66550 80240AA0 24020006 */ addiu $v0, $zero, 6 +/* B66554 80240AA4 34630003 */ ori $v1, $v1, 3 +/* B66558 80240AA8 AE02006C */ sw $v0, 0x6c($s0) +/* B6655C 80240AAC AE000070 */ sw $zero, 0x70($s0) +/* B66560 80240AB0 862400A8 */ lh $a0, 0xa8($s1) +/* B66564 80240AB4 2402000A */ addiu $v0, $zero, 0xa +/* B66568 80240AB8 AE230028 */ sw $v1, 0x28($s1) +/* B6656C 80240ABC AFA00014 */ sw $zero, 0x14($sp) +/* B66570 80240AC0 AFA20018 */ sw $v0, 0x18($sp) +/* B66574 80240AC4 44840000 */ mtc1 $a0, $f0 +/* B66578 80240AC8 00000000 */ nop +/* B6657C 80240ACC 46800020 */ cvt.s.w $f0, $f0 +/* B66580 80240AD0 E7A00010 */ swc1 $f0, 0x10($sp) +/* B66584 80240AD4 8E250038 */ lw $a1, 0x38($s1) +/* B66588 80240AD8 8E26003C */ lw $a2, 0x3c($s1) +/* B6658C 80240ADC 8E270040 */ lw $a3, 0x40($s1) +/* B66590 80240AE0 0C01C1E4 */ jal fx_sweat +/* B66594 80240AE4 0000202D */ daddu $a0, $zero, $zero +/* B66598 80240AE8 8E020070 */ lw $v0, 0x70($s0) +/* B6659C 80240AEC 24420001 */ addiu $v0, $v0, 1 +/* B665A0 80240AF0 AE020070 */ sw $v0, 0x70($s0) +/* B665A4 80240AF4 2842000B */ slti $v0, $v0, 0xb +/* B665A8 80240AF8 1440000C */ bnez $v0, .L80240B2C +/* B665AC 80240AFC 00000000 */ nop +/* B665B0 80240B00 0C00A67F */ jal rand_int +/* B665B4 80240B04 24040064 */ addiu $a0, $zero, 0x64 +/* B665B8 80240B08 0040182D */ daddu $v1, $v0, $zero +/* B665BC 80240B0C 2862005A */ slti $v0, $v1, 0x5a +/* B665C0 80240B10 14400005 */ bnez $v0, .L80240B28 +/* B665C4 80240B14 24020007 */ addiu $v0, $zero, 7 +/* B665C8 80240B18 2862005F */ slti $v0, $v1, 0x5f +/* B665CC 80240B1C 14400002 */ bnez $v0, .L80240B28 +/* B665D0 80240B20 24020001 */ addiu $v0, $zero, 1 +/* B665D4 80240B24 24020003 */ addiu $v0, $zero, 3 +.L80240B28: +/* B665D8 80240B28 AE02006C */ sw $v0, 0x6c($s0) +.L80240B2C: +/* B665DC 80240B2C 8E03006C */ lw $v1, 0x6c($s0) +/* B665E0 80240B30 24020007 */ addiu $v0, $zero, 7 +/* B665E4 80240B34 50620001 */ beql $v1, $v0, .L80240B3C +/* B665E8 80240B38 AE400070 */ sw $zero, 0x70($s2) +.L80240B3C: +/* B665EC 80240B3C 8FBF002C */ lw $ra, 0x2c($sp) +/* B665F0 80240B40 8FB20028 */ lw $s2, 0x28($sp) +/* B665F4 80240B44 8FB10024 */ lw $s1, 0x24($sp) +/* B665F8 80240B48 8FB00020 */ lw $s0, 0x20($sp) +/* B665FC 80240B4C 03E00008 */ jr $ra +/* B66600 80240B50 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240B54_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240B54_B65AB0.s new file mode 100644 index 0000000000..37908a611b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240B54_B65AB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B54_B66604 +/* B66604 80240B54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B66608 80240B58 AFB10014 */ sw $s1, 0x14($sp) +/* B6660C 80240B5C 0080882D */ daddu $s1, $a0, $zero +/* B66610 80240B60 AFBF0018 */ sw $ra, 0x18($sp) +/* B66614 80240B64 AFB00010 */ sw $s0, 0x10($sp) +/* B66618 80240B68 8E300148 */ lw $s0, 0x148($s1) +/* B6661C 80240B6C 0C00EABB */ jal get_npc_unsafe +/* B66620 80240B70 86040008 */ lh $a0, 8($s0) +/* B66624 80240B74 24030001 */ addiu $v1, $zero, 1 +/* B66628 80240B78 0040202D */ daddu $a0, $v0, $zero +/* B6662C 80240B7C AE03006C */ sw $v1, 0x6c($s0) +/* B66630 80240B80 8482008C */ lh $v0, 0x8c($a0) +/* B66634 80240B84 14400009 */ bnez $v0, .L80240BAC +/* B66638 80240B88 24020002 */ addiu $v0, $zero, 2 +/* B6663C 80240B8C 96030072 */ lhu $v1, 0x72($s0) +/* B66640 80240B90 AE02006C */ sw $v0, 0x6c($s0) +/* B66644 80240B94 A483008E */ sh $v1, 0x8e($a0) +/* B66648 80240B98 8E0200CC */ lw $v0, 0xcc($s0) +/* B6664C 80240B9C 8C420020 */ lw $v0, 0x20($v0) +/* B66650 80240BA0 AC820028 */ sw $v0, 0x28($a0) +/* B66654 80240BA4 2402001F */ addiu $v0, $zero, 0x1f +/* B66658 80240BA8 AE220070 */ sw $v0, 0x70($s1) +.L80240BAC: +/* B6665C 80240BAC 8FBF0018 */ lw $ra, 0x18($sp) +/* B66660 80240BB0 8FB10014 */ lw $s1, 0x14($sp) +/* B66664 80240BB4 8FB00010 */ lw $s0, 0x10($sp) +/* B66668 80240BB8 03E00008 */ jr $ra +/* B6666C 80240BBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240BC0_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240BC0_B65AB0.s new file mode 100644 index 0000000000..162bde7b22 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240BC0_B65AB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BC0_B66670 +/* B66670 80240BC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B66674 80240BC4 AFB10014 */ sw $s1, 0x14($sp) +/* B66678 80240BC8 0080882D */ daddu $s1, $a0, $zero +/* B6667C 80240BCC AFBF0018 */ sw $ra, 0x18($sp) +/* B66680 80240BD0 AFB00010 */ sw $s0, 0x10($sp) +/* B66684 80240BD4 8E300148 */ lw $s0, 0x148($s1) +/* B66688 80240BD8 0C00EABB */ jal get_npc_unsafe +/* B6668C 80240BDC 86040008 */ lh $a0, 8($s0) +/* B66690 80240BE0 0040202D */ daddu $a0, $v0, $zero +/* B66694 80240BE4 9482008E */ lhu $v0, 0x8e($a0) +/* B66698 80240BE8 2442FFFF */ addiu $v0, $v0, -1 +/* B6669C 80240BEC A482008E */ sh $v0, 0x8e($a0) +/* B666A0 80240BF0 00021400 */ sll $v0, $v0, 0x10 +/* B666A4 80240BF4 1C400009 */ bgtz $v0, .L80240C1C +/* B666A8 80240BF8 24020003 */ addiu $v0, $zero, 3 +/* B666AC 80240BFC 96030076 */ lhu $v1, 0x76($s0) +/* B666B0 80240C00 AE02006C */ sw $v0, 0x6c($s0) +/* B666B4 80240C04 A483008E */ sh $v1, 0x8e($a0) +/* B666B8 80240C08 8E0200CC */ lw $v0, 0xcc($s0) +/* B666BC 80240C0C 8C420024 */ lw $v0, 0x24($v0) +/* B666C0 80240C10 AC820028 */ sw $v0, 0x28($a0) +/* B666C4 80240C14 24020020 */ addiu $v0, $zero, 0x20 +/* B666C8 80240C18 AE220070 */ sw $v0, 0x70($s1) +.L80240C1C: +/* B666CC 80240C1C 8FBF0018 */ lw $ra, 0x18($sp) +/* B666D0 80240C20 8FB10014 */ lw $s1, 0x14($sp) +/* B666D4 80240C24 8FB00010 */ lw $s0, 0x10($sp) +/* B666D8 80240C28 03E00008 */ jr $ra +/* B666DC 80240C2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240C30.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240C30.s new file mode 100644 index 0000000000..5c1ba869d5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240C30.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C30 +/* B666E0 80240C30 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B666E4 80240C34 AFB10034 */ sw $s1, 0x34($sp) +/* B666E8 80240C38 0080882D */ daddu $s1, $a0, $zero +/* B666EC 80240C3C AFBF0038 */ sw $ra, 0x38($sp) +/* B666F0 80240C40 AFB00030 */ sw $s0, 0x30($sp) +/* B666F4 80240C44 8E300148 */ lw $s0, 0x148($s1) +/* B666F8 80240C48 0C00EABB */ jal get_npc_unsafe +/* B666FC 80240C4C 86040008 */ lh $a0, 8($s0) +/* B66700 80240C50 0040282D */ daddu $a1, $v0, $zero +/* B66704 80240C54 94A2008E */ lhu $v0, 0x8e($a1) +/* B66708 80240C58 2442FFFF */ addiu $v0, $v0, -1 +/* B6670C 80240C5C A4A2008E */ sh $v0, 0x8e($a1) +/* B66710 80240C60 00021400 */ sll $v0, $v0, 0x10 +/* B66714 80240C64 1C400023 */ bgtz $v0, .L80240CF4 +/* B66718 80240C68 24020004 */ addiu $v0, $zero, 4 +/* B6671C 80240C6C 8E0300CC */ lw $v1, 0xcc($s0) +/* B66720 80240C70 AE02006C */ sw $v0, 0x6c($s0) +/* B66724 80240C74 8C620000 */ lw $v0, ($v1) +/* B66728 80240C78 ACA20028 */ sw $v0, 0x28($a1) +/* B6672C 80240C7C 9602007A */ lhu $v0, 0x7a($s0) +/* B66730 80240C80 A4A2008E */ sh $v0, 0x8e($a1) +/* B66734 80240C84 8E020078 */ lw $v0, 0x78($s0) +/* B66738 80240C88 28420008 */ slti $v0, $v0, 8 +/* B6673C 80240C8C 14400018 */ bnez $v0, .L80240CF0 +/* B66740 80240C90 24020021 */ addiu $v0, $zero, 0x21 +/* B66744 80240C94 24040003 */ addiu $a0, $zero, 3 +/* B66748 80240C98 27A30028 */ addiu $v1, $sp, 0x28 +/* B6674C 80240C9C 84A700A8 */ lh $a3, 0xa8($a1) +/* B66750 80240CA0 3C013F80 */ lui $at, 0x3f80 +/* B66754 80240CA4 44810000 */ mtc1 $at, $f0 +/* B66758 80240CA8 3C014000 */ lui $at, 0x4000 +/* B6675C 80240CAC 44811000 */ mtc1 $at, $f2 +/* B66760 80240CB0 3C01C1A0 */ lui $at, 0xc1a0 +/* B66764 80240CB4 44812000 */ mtc1 $at, $f4 +/* B66768 80240CB8 44873000 */ mtc1 $a3, $f6 +/* B6676C 80240CBC 00000000 */ nop +/* B66770 80240CC0 468031A0 */ cvt.s.w $f6, $f6 +/* B66774 80240CC4 E7A00010 */ swc1 $f0, 0x10($sp) +/* B66778 80240CC8 E7A20014 */ swc1 $f2, 0x14($sp) +/* B6677C 80240CCC E7A40018 */ swc1 $f4, 0x18($sp) +/* B66780 80240CD0 8E020078 */ lw $v0, 0x78($s0) +/* B66784 80240CD4 44073000 */ mfc1 $a3, $f6 +/* B66788 80240CD8 0000302D */ daddu $a2, $zero, $zero +/* B6678C 80240CDC AFA30020 */ sw $v1, 0x20($sp) +/* B66790 80240CE0 2442FFFF */ addiu $v0, $v0, -1 +/* B66794 80240CE4 0C01BFA4 */ jal fx_emote +/* B66798 80240CE8 AFA2001C */ sw $v0, 0x1c($sp) +/* B6679C 80240CEC 24020021 */ addiu $v0, $zero, 0x21 +.L80240CF0: +/* B667A0 80240CF0 AE220070 */ sw $v0, 0x70($s1) +.L80240CF4: +/* B667A4 80240CF4 8FBF0038 */ lw $ra, 0x38($sp) +/* B667A8 80240CF8 8FB10034 */ lw $s1, 0x34($sp) +/* B667AC 80240CFC 8FB00030 */ lw $s0, 0x30($sp) +/* B667B0 80240D00 03E00008 */ jr $ra +/* B667B4 80240D04 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240D08_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240D08_B65AB0.s new file mode 100644 index 0000000000..fdfdb00000 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240D08_B65AB0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08_B667B8 +/* B667B8 80240D08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B667BC 80240D0C AFB10014 */ sw $s1, 0x14($sp) +/* B667C0 80240D10 0080882D */ daddu $s1, $a0, $zero +/* B667C4 80240D14 AFBF0018 */ sw $ra, 0x18($sp) +/* B667C8 80240D18 AFB00010 */ sw $s0, 0x10($sp) +/* B667CC 80240D1C 8E300148 */ lw $s0, 0x148($s1) +/* B667D0 80240D20 0C00EABB */ jal get_npc_unsafe +/* B667D4 80240D24 86040008 */ lh $a0, 8($s0) +/* B667D8 80240D28 9443008E */ lhu $v1, 0x8e($v0) +/* B667DC 80240D2C 2463FFFF */ addiu $v1, $v1, -1 +/* B667E0 80240D30 A443008E */ sh $v1, 0x8e($v0) +/* B667E4 80240D34 00031C00 */ sll $v1, $v1, 0x10 +/* B667E8 80240D38 1C600003 */ bgtz $v1, .L80240D48 +/* B667EC 80240D3C 2402000C */ addiu $v0, $zero, 0xc +/* B667F0 80240D40 AE00006C */ sw $zero, 0x6c($s0) +/* B667F4 80240D44 AE220070 */ sw $v0, 0x70($s1) +.L80240D48: +/* B667F8 80240D48 8FBF0018 */ lw $ra, 0x18($sp) +/* B667FC 80240D4C 8FB10014 */ lw $s1, 0x14($sp) +/* B66800 80240D50 8FB00010 */ lw $s0, 0x10($sp) +/* B66804 80240D54 03E00008 */ jr $ra +/* B66808 80240D58 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240D5C_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240D5C_B65AB0.s new file mode 100644 index 0000000000..4843fc2db6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240D5C_B65AB0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D5C_B6680C +/* B6680C 80240D5C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B66810 80240D60 AFBF0024 */ sw $ra, 0x24($sp) +/* B66814 80240D64 AFB40020 */ sw $s4, 0x20($sp) +/* B66818 80240D68 AFB3001C */ sw $s3, 0x1c($sp) +/* B6681C 80240D6C AFB20018 */ sw $s2, 0x18($sp) +/* B66820 80240D70 AFB10014 */ sw $s1, 0x14($sp) +/* B66824 80240D74 AFB00010 */ sw $s0, 0x10($sp) +/* B66828 80240D78 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B6682C 80240D7C 8C900148 */ lw $s0, 0x148($a0) +/* B66830 80240D80 86040008 */ lh $a0, 8($s0) +/* B66834 80240D84 0C00EABB */ jal get_npc_unsafe +/* B66838 80240D88 24110001 */ addiu $s1, $zero, 1 +/* B6683C 80240D8C 86040008 */ lh $a0, 8($s0) +/* B66840 80240D90 0040802D */ daddu $s0, $v0, $zero +/* B66844 80240D94 3C05800B */ lui $a1, %hi(gCameras) +/* B66848 80240D98 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B6684C 80240D9C 3C03800A */ lui $v1, 0x800a +/* B66850 80240DA0 8463A634 */ lh $v1, -0x59cc($v1) +/* B66854 80240DA4 00912021 */ addu $a0, $a0, $s1 +/* B66858 80240DA8 00031080 */ sll $v0, $v1, 2 +/* B6685C 80240DAC 00431021 */ addu $v0, $v0, $v1 +/* B66860 80240DB0 00021080 */ sll $v0, $v0, 2 +/* B66864 80240DB4 00431023 */ subu $v0, $v0, $v1 +/* B66868 80240DB8 000218C0 */ sll $v1, $v0, 3 +/* B6686C 80240DBC 00431021 */ addu $v0, $v0, $v1 +/* B66870 80240DC0 000210C0 */ sll $v0, $v0, 3 +/* B66874 80240DC4 0C00FB3A */ jal get_enemy +/* B66878 80240DC8 00459021 */ addu $s2, $v0, $a1 +/* B6687C 80240DCC 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B66880 80240DD0 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B66884 80240DD4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B66888 80240DD8 8E830000 */ lw $v1, ($s4) +/* B6688C 80240DDC C60E0040 */ lwc1 $f14, 0x40($s0) +/* B66890 80240DE0 8C660028 */ lw $a2, 0x28($v1) +/* B66894 80240DE4 8C670030 */ lw $a3, 0x30($v1) +/* B66898 80240DE8 0C00A7B5 */ jal dist2D +/* B6689C 80240DEC 0040982D */ daddu $s3, $v0, $zero +/* B668A0 80240DF0 C6620074 */ lwc1 $f2, 0x74($s3) +/* B668A4 80240DF4 468010A0 */ cvt.s.w $f2, $f2 +/* B668A8 80240DF8 4600103C */ c.lt.s $f2, $f0 +/* B668AC 80240DFC 00000000 */ nop +/* B668B0 80240E00 45030001 */ bc1tl .L80240E08 +/* B668B4 80240E04 0000882D */ daddu $s1, $zero, $zero +.L80240E08: +/* B668B8 80240E08 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B668BC 80240E0C C60E000C */ lwc1 $f14, 0xc($s0) +/* B668C0 80240E10 3C014387 */ lui $at, 0x4387 +/* B668C4 80240E14 4481A000 */ mtc1 $at, $f20 +/* B668C8 80240E18 0C00A70A */ jal get_clamped_angle_diff +/* B668CC 80240E1C 00000000 */ nop +/* B668D0 80240E20 0C00A6C9 */ jal clamp_angle +/* B668D4 80240E24 46000306 */ mov.s $f12, $f0 +/* B668D8 80240E28 3C018024 */ lui $at, 0x8024 +/* B668DC 80240E2C D42265B8 */ ldc1 $f2, 0x65b8($at) +/* B668E0 80240E30 46000021 */ cvt.d.s $f0, $f0 +/* B668E4 80240E34 4622003C */ c.lt.d $f0, $f2 +/* B668E8 80240E38 00000000 */ nop +/* B668EC 80240E3C 45000003 */ bc1f .L80240E4C +/* B668F0 80240E40 00000000 */ nop +/* B668F4 80240E44 3C0142B4 */ lui $at, 0x42b4 +/* B668F8 80240E48 4481A000 */ mtc1 $at, $f20 +.L80240E4C: +/* B668FC 80240E4C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B66900 80240E50 8E820000 */ lw $v0, ($s4) +/* B66904 80240E54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B66908 80240E58 8C460028 */ lw $a2, 0x28($v0) +/* B6690C 80240E5C 0C00A720 */ jal atan2 +/* B66910 80240E60 8C470030 */ lw $a3, 0x30($v0) +/* B66914 80240E64 4600A306 */ mov.s $f12, $f20 +/* B66918 80240E68 0C00A70A */ jal get_clamped_angle_diff +/* B6691C 80240E6C 46000386 */ mov.s $f14, $f0 +/* B66920 80240E70 C6620078 */ lwc1 $f2, 0x78($s3) +/* B66924 80240E74 468010A0 */ cvt.s.w $f2, $f2 +/* B66928 80240E78 46000005 */ abs.s $f0, $f0 +/* B6692C 80240E7C 4600103C */ c.lt.s $f2, $f0 +/* B66930 80240E80 00000000 */ nop +/* B66934 80240E84 45030001 */ bc1tl .L80240E8C +/* B66938 80240E88 0000882D */ daddu $s1, $zero, $zero +.L80240E8C: +/* B6693C 80240E8C 8E820000 */ lw $v0, ($s4) +/* B66940 80240E90 C600003C */ lwc1 $f0, 0x3c($s0) +/* B66944 80240E94 C442002C */ lwc1 $f2, 0x2c($v0) +/* B66948 80240E98 860200A8 */ lh $v0, 0xa8($s0) +/* B6694C 80240E9C 46020001 */ sub.s $f0, $f0, $f2 +/* B66950 80240EA0 44821000 */ mtc1 $v0, $f2 +/* B66954 80240EA4 00000000 */ nop +/* B66958 80240EA8 468010A1 */ cvt.d.w $f2, $f2 +/* B6695C 80240EAC 46221080 */ add.d $f2, $f2, $f2 +/* B66960 80240EB0 46000005 */ abs.s $f0, $f0 +/* B66964 80240EB4 46000021 */ cvt.d.s $f0, $f0 +/* B66968 80240EB8 4620103E */ c.le.d $f2, $f0 +/* B6696C 80240EBC 00000000 */ nop +/* B66970 80240EC0 45030001 */ bc1tl .L80240EC8 +/* B66974 80240EC4 0000882D */ daddu $s1, $zero, $zero +.L80240EC8: +/* B66978 80240EC8 3C038011 */ lui $v1, 0x8011 +/* B6697C 80240ECC 8063EBB3 */ lb $v1, -0x144d($v1) +/* B66980 80240ED0 24020009 */ addiu $v0, $zero, 9 +/* B66984 80240ED4 50620001 */ beql $v1, $v0, .L80240EDC +/* B66988 80240ED8 0000882D */ daddu $s1, $zero, $zero +.L80240EDC: +/* B6698C 80240EDC 24020007 */ addiu $v0, $zero, 7 +/* B66990 80240EE0 50620001 */ beql $v1, $v0, .L80240EE8 +/* B66994 80240EE4 0000882D */ daddu $s1, $zero, $zero +.L80240EE8: +/* B66998 80240EE8 0220102D */ daddu $v0, $s1, $zero +/* B6699C 80240EEC 8FBF0024 */ lw $ra, 0x24($sp) +/* B669A0 80240EF0 8FB40020 */ lw $s4, 0x20($sp) +/* B669A4 80240EF4 8FB3001C */ lw $s3, 0x1c($sp) +/* B669A8 80240EF8 8FB20018 */ lw $s2, 0x18($sp) +/* B669AC 80240EFC 8FB10014 */ lw $s1, 0x14($sp) +/* B669B0 80240F00 8FB00010 */ lw $s0, 0x10($sp) +/* B669B4 80240F04 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B669B8 80240F08 03E00008 */ jr $ra +/* B669BC 80240F0C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80240F10_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80240F10_B65AB0.s new file mode 100644 index 0000000000..61ad28525f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80240F10_B65AB0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F10_B669C0 +/* B669C0 80240F10 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B669C4 80240F14 AFB40028 */ sw $s4, 0x28($sp) +/* B669C8 80240F18 0080A02D */ daddu $s4, $a0, $zero +/* B669CC 80240F1C AFBF002C */ sw $ra, 0x2c($sp) +/* B669D0 80240F20 AFB30024 */ sw $s3, 0x24($sp) +/* B669D4 80240F24 AFB20020 */ sw $s2, 0x20($sp) +/* B669D8 80240F28 AFB1001C */ sw $s1, 0x1c($sp) +/* B669DC 80240F2C AFB00018 */ sw $s0, 0x18($sp) +/* B669E0 80240F30 8E910148 */ lw $s1, 0x148($s4) +/* B669E4 80240F34 86240008 */ lh $a0, 8($s1) +/* B669E8 80240F38 0C00EABB */ jal get_npc_unsafe +/* B669EC 80240F3C 00A0802D */ daddu $s0, $a1, $zero +/* B669F0 80240F40 16000005 */ bnez $s0, .L80240F58 +/* B669F4 80240F44 0040902D */ daddu $s2, $v0, $zero +/* B669F8 80240F48 8E2200B0 */ lw $v0, 0xb0($s1) +/* B669FC 80240F4C 30420004 */ andi $v0, $v0, 4 +/* B66A00 80240F50 10400015 */ beqz $v0, .L80240FA8 +/* B66A04 80240F54 00000000 */ nop +.L80240F58: +/* B66A08 80240F58 AE800070 */ sw $zero, 0x70($s4) +/* B66A0C 80240F5C 8E420000 */ lw $v0, ($s2) +/* B66A10 80240F60 3C031F30 */ lui $v1, 0x1f30 +/* B66A14 80240F64 A640008E */ sh $zero, 0x8e($s2) +/* B66A18 80240F68 34420102 */ ori $v0, $v0, 0x102 +/* B66A1C 80240F6C AE420000 */ sw $v0, ($s2) +/* B66A20 80240F70 8E220000 */ lw $v0, ($s1) +/* B66A24 80240F74 3C01C47A */ lui $at, 0xc47a +/* B66A28 80240F78 44810000 */ mtc1 $at, $f0 +/* B66A2C 80240F7C 00431025 */ or $v0, $v0, $v1 +/* B66A30 80240F80 AE220000 */ sw $v0, ($s1) +/* B66A34 80240F84 AE400038 */ sw $zero, 0x38($s2) +/* B66A38 80240F88 E640003C */ swc1 $f0, 0x3c($s2) +/* B66A3C 80240F8C AE400040 */ sw $zero, 0x40($s2) +/* B66A40 80240F90 8E2300B0 */ lw $v1, 0xb0($s1) +/* B66A44 80240F94 30620004 */ andi $v0, $v1, 4 +/* B66A48 80240F98 10400003 */ beqz $v0, .L80240FA8 +/* B66A4C 80240F9C 2402FFFB */ addiu $v0, $zero, -5 +/* B66A50 80240FA0 00621024 */ and $v0, $v1, $v0 +/* B66A54 80240FA4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240FA8: +/* B66A58 80240FA8 8E930070 */ lw $s3, 0x70($s4) +/* B66A5C 80240FAC 12600005 */ beqz $s3, .L80240FC4 +/* B66A60 80240FB0 24020001 */ addiu $v0, $zero, 1 +/* B66A64 80240FB4 12620048 */ beq $s3, $v0, .L802410D8 +/* B66A68 80240FB8 00000000 */ nop +/* B66A6C 80240FBC 08090453 */ j .L8024114C +/* B66A70 80240FC0 00000000 */ nop +.L80240FC4: +/* B66A74 80240FC4 86240008 */ lh $a0, 8($s1) +/* B66A78 80240FC8 0C00FB3A */ jal get_enemy +/* B66A7C 80240FCC 2484FFFF */ addiu $a0, $a0, -1 +/* B66A80 80240FD0 0040802D */ daddu $s0, $v0, $zero +/* B66A84 80240FD4 0C00EABB */ jal get_npc_unsafe +/* B66A88 80240FD8 86040008 */ lh $a0, 8($s0) +/* B66A8C 80240FDC 24030001 */ addiu $v1, $zero, 1 +/* B66A90 80240FE0 0040982D */ daddu $s3, $v0, $zero +/* B66A94 80240FE4 A2230007 */ sb $v1, 7($s1) +/* B66A98 80240FE8 8E03006C */ lw $v1, 0x6c($s0) +/* B66A9C 80240FEC 24020003 */ addiu $v0, $zero, 3 +/* B66AA0 80240FF0 14620056 */ bne $v1, $v0, .L8024114C +/* B66AA4 80240FF4 00000000 */ nop +/* B66AA8 80240FF8 8E2500A8 */ lw $a1, 0xa8($s1) +/* B66AAC 80240FFC 10A00003 */ beqz $a1, .L8024100C +/* B66AB0 80241000 0260202D */ daddu $a0, $s3, $zero +/* B66AB4 80241004 0C012530 */ jal func_800494C0 +/* B66AB8 80241008 0000302D */ daddu $a2, $zero, $zero +.L8024100C: +/* B66ABC 8024100C 27A40010 */ addiu $a0, $sp, 0x10 +/* B66AC0 80241010 C6280070 */ lwc1 $f8, 0x70($s1) +/* B66AC4 80241014 46804220 */ cvt.s.w $f8, $f8 +/* B66AC8 80241018 C6620034 */ lwc1 $f2, 0x34($s3) +/* B66ACC 8024101C 3C014387 */ lui $at, 0x4387 +/* B66AD0 80241020 44810000 */ mtc1 $at, $f0 +/* B66AD4 80241024 44064000 */ mfc1 $a2, $f8 +/* B66AD8 80241028 46020001 */ sub.s $f0, $f0, $f2 +/* B66ADC 8024102C C6660038 */ lwc1 $f6, 0x38($s3) +/* B66AE0 80241030 C6640040 */ lwc1 $f4, 0x40($s3) +/* B66AE4 80241034 44070000 */ mfc1 $a3, $f0 +/* B66AE8 80241038 27A50014 */ addiu $a1, $sp, 0x14 +/* B66AEC 8024103C E7A60010 */ swc1 $f6, 0x10($sp) +/* B66AF0 80241040 0C00A7E7 */ jal add_vec2D_polar +/* B66AF4 80241044 E7A40014 */ swc1 $f4, 0x14($sp) +/* B66AF8 80241048 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B66AFC 8024104C 4600020D */ trunc.w.s $f8, $f0 +/* B66B00 80241050 44024000 */ mfc1 $v0, $f8 +/* B66B04 80241054 E6400038 */ swc1 $f0, 0x38($s2) +/* B66B08 80241058 A6220010 */ sh $v0, 0x10($s1) +/* B66B0C 8024105C C660003C */ lwc1 $f0, 0x3c($s3) +/* B66B10 80241060 C622006C */ lwc1 $f2, 0x6c($s1) +/* B66B14 80241064 468010A0 */ cvt.s.w $f2, $f2 +/* B66B18 80241068 46020000 */ add.s $f0, $f0, $f2 +/* B66B1C 8024106C 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B66B20 80241070 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B66B24 80241074 E640003C */ swc1 $f0, 0x3c($s2) +/* B66B28 80241078 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B66B2C 8024107C 4600020D */ trunc.w.s $f8, $f0 +/* B66B30 80241080 44024000 */ mfc1 $v0, $f8 +/* B66B34 80241084 00000000 */ nop +/* B66B38 80241088 A6220012 */ sh $v0, 0x12($s1) +/* B66B3C 8024108C 4600120D */ trunc.w.s $f8, $f2 +/* B66B40 80241090 44024000 */ mfc1 $v0, $f8 +/* B66B44 80241094 E6420040 */ swc1 $f2, 0x40($s2) +/* B66B48 80241098 A6220014 */ sh $v0, 0x14($s1) +/* B66B4C 8024109C 8C660028 */ lw $a2, 0x28($v1) +/* B66B50 802410A0 8C670030 */ lw $a3, 0x30($v1) +/* B66B54 802410A4 C64C0038 */ lwc1 $f12, 0x38($s2) +/* B66B58 802410A8 0C00A720 */ jal atan2 +/* B66B5C 802410AC C64E0040 */ lwc1 $f14, 0x40($s2) +/* B66B60 802410B0 3C03E0EF */ lui $v1, 0xe0ef +/* B66B64 802410B4 E640000C */ swc1 $f0, 0xc($s2) +/* B66B68 802410B8 8E220000 */ lw $v0, ($s1) +/* B66B6C 802410BC 3463FFFF */ ori $v1, $v1, 0xffff +/* B66B70 802410C0 00431024 */ and $v0, $v0, $v1 +/* B66B74 802410C4 AE220000 */ sw $v0, ($s1) +/* B66B78 802410C8 24020001 */ addiu $v0, $zero, 1 +/* B66B7C 802410CC A640008E */ sh $zero, 0x8e($s2) +/* B66B80 802410D0 08090453 */ j .L8024114C +/* B66B84 802410D4 AE820070 */ sw $v0, 0x70($s4) +.L802410D8: +/* B66B88 802410D8 86240008 */ lh $a0, 8($s1) +/* B66B8C 802410DC 0C00FB3A */ jal get_enemy +/* B66B90 802410E0 2484FFFF */ addiu $a0, $a0, -1 +/* B66B94 802410E4 0040802D */ daddu $s0, $v0, $zero +/* B66B98 802410E8 0C00EABB */ jal get_npc_unsafe +/* B66B9C 802410EC 86040008 */ lh $a0, 8($s0) +/* B66BA0 802410F0 9642008E */ lhu $v0, 0x8e($s2) +/* B66BA4 802410F4 24420001 */ addiu $v0, $v0, 1 +/* B66BA8 802410F8 A642008E */ sh $v0, 0x8e($s2) +/* B66BAC 802410FC 00021400 */ sll $v0, $v0, 0x10 +/* B66BB0 80241100 8E23007C */ lw $v1, 0x7c($s1) +/* B66BB4 80241104 00021403 */ sra $v0, $v0, 0x10 +/* B66BB8 80241108 0043102A */ slt $v0, $v0, $v1 +/* B66BBC 8024110C 50400001 */ beql $v0, $zero, .L80241114 +/* B66BC0 80241110 A2200007 */ sb $zero, 7($s1) +.L80241114: +/* B66BC4 80241114 8E03006C */ lw $v1, 0x6c($s0) +/* B66BC8 80241118 24020004 */ addiu $v0, $zero, 4 +/* B66BCC 8024111C 1462000B */ bne $v1, $v0, .L8024114C +/* B66BD0 80241120 3C021F10 */ lui $v0, 0x1f10 +/* B66BD4 80241124 8E230000 */ lw $v1, ($s1) +/* B66BD8 80241128 3C01C47A */ lui $at, 0xc47a +/* B66BDC 8024112C 44810000 */ mtc1 $at, $f0 +/* B66BE0 80241130 00621825 */ or $v1, $v1, $v0 +/* B66BE4 80241134 AE230000 */ sw $v1, ($s1) +/* B66BE8 80241138 AE400038 */ sw $zero, 0x38($s2) +/* B66BEC 8024113C E640003C */ swc1 $f0, 0x3c($s2) +/* B66BF0 80241140 AE400040 */ sw $zero, 0x40($s2) +/* B66BF4 80241144 A2330007 */ sb $s3, 7($s1) +/* B66BF8 80241148 AE800070 */ sw $zero, 0x70($s4) +.L8024114C: +/* B66BFC 8024114C 8FBF002C */ lw $ra, 0x2c($sp) +/* B66C00 80241150 8FB40028 */ lw $s4, 0x28($sp) +/* B66C04 80241154 8FB30024 */ lw $s3, 0x24($sp) +/* B66C08 80241158 8FB20020 */ lw $s2, 0x20($sp) +/* B66C0C 8024115C 8FB1001C */ lw $s1, 0x1c($sp) +/* B66C10 80241160 8FB00018 */ lw $s0, 0x18($sp) +/* B66C14 80241164 0000102D */ daddu $v0, $zero, $zero +/* B66C18 80241168 03E00008 */ jr $ra +/* B66C1C 8024116C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80241170_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80241170_B65AB0.s new file mode 100644 index 0000000000..da1fe12421 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80241170_B65AB0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170_B66C20 +/* B66C20 80241170 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B66C24 80241174 AFB20038 */ sw $s2, 0x38($sp) +/* B66C28 80241178 0080902D */ daddu $s2, $a0, $zero +/* B66C2C 8024117C AFBF0048 */ sw $ra, 0x48($sp) +/* B66C30 80241180 AFB50044 */ sw $s5, 0x44($sp) +/* B66C34 80241184 AFB40040 */ sw $s4, 0x40($sp) +/* B66C38 80241188 AFB3003C */ sw $s3, 0x3c($sp) +/* B66C3C 8024118C AFB10034 */ sw $s1, 0x34($sp) +/* B66C40 80241190 AFB00030 */ sw $s0, 0x30($sp) +/* B66C44 80241194 8E510148 */ lw $s1, 0x148($s2) +/* B66C48 80241198 86240008 */ lh $a0, 8($s1) +/* B66C4C 8024119C 0C00EABB */ jal get_npc_unsafe +/* B66C50 802411A0 00A0802D */ daddu $s0, $a1, $zero +/* B66C54 802411A4 8E43000C */ lw $v1, 0xc($s2) +/* B66C58 802411A8 0240202D */ daddu $a0, $s2, $zero +/* B66C5C 802411AC 8C650000 */ lw $a1, ($v1) +/* B66C60 802411B0 0C0B1EAF */ jal get_variable +/* B66C64 802411B4 0040A82D */ daddu $s5, $v0, $zero +/* B66C68 802411B8 AFA00010 */ sw $zero, 0x10($sp) +/* B66C6C 802411BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66C70 802411C0 8C630030 */ lw $v1, 0x30($v1) +/* B66C74 802411C4 AFA30014 */ sw $v1, 0x14($sp) +/* B66C78 802411C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66C7C 802411CC 8C63001C */ lw $v1, 0x1c($v1) +/* B66C80 802411D0 AFA30018 */ sw $v1, 0x18($sp) +/* B66C84 802411D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66C88 802411D8 8C630024 */ lw $v1, 0x24($v1) +/* B66C8C 802411DC AFA3001C */ sw $v1, 0x1c($sp) +/* B66C90 802411E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66C94 802411E4 8C630028 */ lw $v1, 0x28($v1) +/* B66C98 802411E8 27B40010 */ addiu $s4, $sp, 0x10 +/* B66C9C 802411EC AFA30020 */ sw $v1, 0x20($sp) +/* B66CA0 802411F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66CA4 802411F4 3C014282 */ lui $at, 0x4282 +/* B66CA8 802411F8 44810000 */ mtc1 $at, $f0 +/* B66CAC 802411FC 8C63002C */ lw $v1, 0x2c($v1) +/* B66CB0 80241200 0040982D */ daddu $s3, $v0, $zero +/* B66CB4 80241204 E7A00028 */ swc1 $f0, 0x28($sp) +/* B66CB8 80241208 A7A0002C */ sh $zero, 0x2c($sp) +/* B66CBC 8024120C 16000005 */ bnez $s0, .L80241224 +/* B66CC0 80241210 AFA30024 */ sw $v1, 0x24($sp) +/* B66CC4 80241214 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66CC8 80241218 30420004 */ andi $v0, $v0, 4 +/* B66CCC 8024121C 10400020 */ beqz $v0, .L802412A0 +/* B66CD0 80241220 00000000 */ nop +.L80241224: +/* B66CD4 80241224 2404F7FF */ addiu $a0, $zero, -0x801 +/* B66CD8 80241228 AE400070 */ sw $zero, 0x70($s2) +/* B66CDC 8024122C A6A0008E */ sh $zero, 0x8e($s5) +/* B66CE0 80241230 8E2200CC */ lw $v0, 0xcc($s1) +/* B66CE4 80241234 8EA30000 */ lw $v1, ($s5) +/* B66CE8 80241238 8C420000 */ lw $v0, ($v0) +/* B66CEC 8024123C 00641824 */ and $v1, $v1, $a0 +/* B66CF0 80241240 AEA30000 */ sw $v1, ($s5) +/* B66CF4 80241244 AEA20028 */ sw $v0, 0x28($s5) +/* B66CF8 80241248 8E2200D0 */ lw $v0, 0xd0($s1) +/* B66CFC 8024124C 8C420034 */ lw $v0, 0x34($v0) +/* B66D00 80241250 54400005 */ bnel $v0, $zero, .L80241268 +/* B66D04 80241254 2402FDFF */ addiu $v0, $zero, -0x201 +/* B66D08 80241258 34620200 */ ori $v0, $v1, 0x200 +/* B66D0C 8024125C 2403FFF7 */ addiu $v1, $zero, -9 +/* B66D10 80241260 0809049C */ j .L80241270 +/* B66D14 80241264 00431024 */ and $v0, $v0, $v1 +.L80241268: +/* B66D18 80241268 00621024 */ and $v0, $v1, $v0 +/* B66D1C 8024126C 34420008 */ ori $v0, $v0, 8 +.L80241270: +/* B66D20 80241270 AEA20000 */ sw $v0, ($s5) +/* B66D24 80241274 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66D28 80241278 30420004 */ andi $v0, $v0, 4 +/* B66D2C 8024127C 10400007 */ beqz $v0, .L8024129C +/* B66D30 80241280 24020063 */ addiu $v0, $zero, 0x63 +/* B66D34 80241284 AE420070 */ sw $v0, 0x70($s2) +/* B66D38 80241288 AE400074 */ sw $zero, 0x74($s2) +/* B66D3C 8024128C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66D40 80241290 2403FFFB */ addiu $v1, $zero, -5 +/* B66D44 80241294 00431024 */ and $v0, $v0, $v1 +/* B66D48 80241298 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024129C: +/* B66D4C 8024129C AE20006C */ sw $zero, 0x6c($s1) +.L802412A0: +/* B66D50 802412A0 8E420070 */ lw $v0, 0x70($s2) +/* B66D54 802412A4 2842001E */ slti $v0, $v0, 0x1e +/* B66D58 802412A8 10400009 */ beqz $v0, .L802412D0 +/* B66D5C 802412AC 00000000 */ nop +/* B66D60 802412B0 8E22006C */ lw $v0, 0x6c($s1) +/* B66D64 802412B4 14400006 */ bnez $v0, .L802412D0 +/* B66D68 802412B8 00000000 */ nop +/* B66D6C 802412BC 0C090357 */ jal func_80240D5C +/* B66D70 802412C0 0240202D */ daddu $a0, $s2, $zero +/* B66D74 802412C4 10400002 */ beqz $v0, .L802412D0 +/* B66D78 802412C8 2402001E */ addiu $v0, $zero, 0x1e +/* B66D7C 802412CC AE420070 */ sw $v0, 0x70($s2) +.L802412D0: +/* B66D80 802412D0 8E430070 */ lw $v1, 0x70($s2) +/* B66D84 802412D4 2C620064 */ sltiu $v0, $v1, 0x64 +/* B66D88 802412D8 10400048 */ beqz $v0, .L802413FC +/* B66D8C 802412DC 00031080 */ sll $v0, $v1, 2 +/* B66D90 802412E0 3C018024 */ lui $at, 0x8024 +/* B66D94 802412E4 00220821 */ addu $at, $at, $v0 +/* B66D98 802412E8 8C2265C0 */ lw $v0, 0x65c0($at) +/* B66D9C 802412EC 00400008 */ jr $v0 +/* B66DA0 802412F0 00000000 */ nop +/* B66DA4 802412F4 0240202D */ daddu $a0, $s2, $zero +/* B66DA8 802412F8 0260282D */ daddu $a1, $s3, $zero +/* B66DAC 802412FC 0C012568 */ jal func_800495A0 +/* B66DB0 80241300 0280302D */ daddu $a2, $s4, $zero +/* B66DB4 80241304 0240202D */ daddu $a0, $s2, $zero +/* B66DB8 80241308 0260282D */ daddu $a1, $s3, $zero +/* B66DBC 8024130C 0C0125AE */ jal func_800496B8 +/* B66DC0 80241310 0280302D */ daddu $a2, $s4, $zero +/* B66DC4 80241314 080904FF */ j .L802413FC +/* B66DC8 80241318 00000000 */ nop +/* B66DCC 8024131C 0240202D */ daddu $a0, $s2, $zero +/* B66DD0 80241320 0260282D */ daddu $a1, $s3, $zero +/* B66DD4 80241324 0C0126D1 */ jal func_80049B44 +/* B66DD8 80241328 0280302D */ daddu $a2, $s4, $zero +/* B66DDC 8024132C 0240202D */ daddu $a0, $s2, $zero +/* B66DE0 80241330 0260282D */ daddu $a1, $s3, $zero +/* B66DE4 80241334 0C012701 */ jal func_80049C04 +/* B66DE8 80241338 0280302D */ daddu $a2, $s4, $zero +/* B66DEC 8024133C 080904FF */ j .L802413FC +/* B66DF0 80241340 00000000 */ nop +/* B66DF4 80241344 0240202D */ daddu $a0, $s2, $zero +/* B66DF8 80241348 0260282D */ daddu $a1, $s3, $zero +/* B66DFC 8024134C 0C01278F */ jal func_80049E3C +/* B66E00 80241350 0280302D */ daddu $a2, $s4, $zero +/* B66E04 80241354 0240202D */ daddu $a0, $s2, $zero +/* B66E08 80241358 0260282D */ daddu $a1, $s3, $zero +/* B66E0C 8024135C 0C0127B3 */ jal func_80049ECC +/* B66E10 80241360 0280302D */ daddu $a2, $s4, $zero +/* B66E14 80241364 080904FF */ j .L802413FC +/* B66E18 80241368 00000000 */ nop +/* B66E1C 8024136C 0240202D */ daddu $a0, $s2, $zero +/* B66E20 80241370 0260282D */ daddu $a1, $s3, $zero +/* B66E24 80241374 0C0127DF */ jal func_80049F7C +/* B66E28 80241378 0280302D */ daddu $a2, $s4, $zero +/* B66E2C 8024137C 0240202D */ daddu $a0, $s2, $zero +/* B66E30 80241380 0260282D */ daddu $a1, $s3, $zero +/* B66E34 80241384 0C012849 */ jal func_8004A124 +/* B66E38 80241388 0280302D */ daddu $a2, $s4, $zero +/* B66E3C 8024138C 080904FF */ j .L802413FC +/* B66E40 80241390 00000000 */ nop +/* B66E44 80241394 0240202D */ daddu $a0, $s2, $zero +/* B66E48 80241398 0260282D */ daddu $a1, $s3, $zero +/* B66E4C 8024139C 0C0128FA */ jal func_8004A3E8 +/* B66E50 802413A0 0280302D */ daddu $a2, $s4, $zero +/* B66E54 802413A4 080904FF */ j .L802413FC +/* B66E58 802413A8 00000000 */ nop +/* B66E5C 802413AC 0C0902D5 */ jal func_80240B54 +/* B66E60 802413B0 0240202D */ daddu $a0, $s2, $zero +/* B66E64 802413B4 0C0902F0 */ jal func_80240BC0 +/* B66E68 802413B8 0240202D */ daddu $a0, $s2, $zero +/* B66E6C 802413BC 8E430070 */ lw $v1, 0x70($s2) +/* B66E70 802413C0 24020020 */ addiu $v0, $zero, 0x20 +/* B66E74 802413C4 1462000D */ bne $v1, $v0, .L802413FC +/* B66E78 802413C8 00000000 */ nop +/* B66E7C 802413CC 0C09030C */ jal func_80240C30 +/* B66E80 802413D0 0240202D */ daddu $a0, $s2, $zero +/* B66E84 802413D4 8E430070 */ lw $v1, 0x70($s2) +/* B66E88 802413D8 24020021 */ addiu $v0, $zero, 0x21 +/* B66E8C 802413DC 14620007 */ bne $v1, $v0, .L802413FC +/* B66E90 802413E0 00000000 */ nop +/* B66E94 802413E4 0C090342 */ jal func_80240D08 +/* B66E98 802413E8 0240202D */ daddu $a0, $s2, $zero +/* B66E9C 802413EC 080904FF */ j .L802413FC +/* B66EA0 802413F0 00000000 */ nop +/* B66EA4 802413F4 0C0129CF */ jal func_8004A73C +/* B66EA8 802413F8 0240202D */ daddu $a0, $s2, $zero +.L802413FC: +/* B66EAC 802413FC 8FBF0048 */ lw $ra, 0x48($sp) +/* B66EB0 80241400 8FB50044 */ lw $s5, 0x44($sp) +/* B66EB4 80241404 8FB40040 */ lw $s4, 0x40($sp) +/* B66EB8 80241408 8FB3003C */ lw $s3, 0x3c($sp) +/* B66EBC 8024140C 8FB20038 */ lw $s2, 0x38($sp) +/* B66EC0 80241410 8FB10034 */ lw $s1, 0x34($sp) +/* B66EC4 80241414 8FB00030 */ lw $s0, 0x30($sp) +/* B66EC8 80241418 0000102D */ daddu $v0, $zero, $zero +/* B66ECC 8024141C 03E00008 */ jr $ra +/* B66ED0 80241420 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80241424_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80241424_B65AB0.s new file mode 100644 index 0000000000..7878a2be72 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80241424_B65AB0.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241424_B66ED4 +/* B66ED4 80241424 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B66ED8 80241428 AFB20038 */ sw $s2, 0x38($sp) +/* B66EDC 8024142C 0080902D */ daddu $s2, $a0, $zero +/* B66EE0 80241430 AFBF0048 */ sw $ra, 0x48($sp) +/* B66EE4 80241434 AFB50044 */ sw $s5, 0x44($sp) +/* B66EE8 80241438 AFB40040 */ sw $s4, 0x40($sp) +/* B66EEC 8024143C AFB3003C */ sw $s3, 0x3c($sp) +/* B66EF0 80241440 AFB10034 */ sw $s1, 0x34($sp) +/* B66EF4 80241444 AFB00030 */ sw $s0, 0x30($sp) +/* B66EF8 80241448 8E510148 */ lw $s1, 0x148($s2) +/* B66EFC 8024144C 86240008 */ lh $a0, 8($s1) +/* B66F00 80241450 0C00EABB */ jal get_npc_unsafe +/* B66F04 80241454 00A0802D */ daddu $s0, $a1, $zero +/* B66F08 80241458 8E43000C */ lw $v1, 0xc($s2) +/* B66F0C 8024145C 0240202D */ daddu $a0, $s2, $zero +/* B66F10 80241460 8C650000 */ lw $a1, ($v1) +/* B66F14 80241464 0C0B1EAF */ jal get_variable +/* B66F18 80241468 0040A82D */ daddu $s5, $v0, $zero +/* B66F1C 8024146C AFA00010 */ sw $zero, 0x10($sp) +/* B66F20 80241470 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66F24 80241474 8C630030 */ lw $v1, 0x30($v1) +/* B66F28 80241478 AFA30014 */ sw $v1, 0x14($sp) +/* B66F2C 8024147C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66F30 80241480 8C63001C */ lw $v1, 0x1c($v1) +/* B66F34 80241484 AFA30018 */ sw $v1, 0x18($sp) +/* B66F38 80241488 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66F3C 8024148C 8C630024 */ lw $v1, 0x24($v1) +/* B66F40 80241490 AFA3001C */ sw $v1, 0x1c($sp) +/* B66F44 80241494 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66F48 80241498 8C630028 */ lw $v1, 0x28($v1) +/* B66F4C 8024149C 27B40010 */ addiu $s4, $sp, 0x10 +/* B66F50 802414A0 AFA30020 */ sw $v1, 0x20($sp) +/* B66F54 802414A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B66F58 802414A8 3C014282 */ lui $at, 0x4282 +/* B66F5C 802414AC 44810000 */ mtc1 $at, $f0 +/* B66F60 802414B0 8C63002C */ lw $v1, 0x2c($v1) +/* B66F64 802414B4 0040982D */ daddu $s3, $v0, $zero +/* B66F68 802414B8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B66F6C 802414BC A7A0002C */ sh $zero, 0x2c($sp) +/* B66F70 802414C0 16000005 */ bnez $s0, .L802414D8 +/* B66F74 802414C4 AFA30024 */ sw $v1, 0x24($sp) +/* B66F78 802414C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66F7C 802414CC 30420004 */ andi $v0, $v0, 4 +/* B66F80 802414D0 10400020 */ beqz $v0, .L80241554 +/* B66F84 802414D4 00000000 */ nop +.L802414D8: +/* B66F88 802414D8 2404F7FF */ addiu $a0, $zero, -0x801 +/* B66F8C 802414DC AE400070 */ sw $zero, 0x70($s2) +/* B66F90 802414E0 A6A0008E */ sh $zero, 0x8e($s5) +/* B66F94 802414E4 8E2200CC */ lw $v0, 0xcc($s1) +/* B66F98 802414E8 8EA30000 */ lw $v1, ($s5) +/* B66F9C 802414EC 8C420000 */ lw $v0, ($v0) +/* B66FA0 802414F0 00641824 */ and $v1, $v1, $a0 +/* B66FA4 802414F4 AEA30000 */ sw $v1, ($s5) +/* B66FA8 802414F8 AEA20028 */ sw $v0, 0x28($s5) +/* B66FAC 802414FC 8E2200D0 */ lw $v0, 0xd0($s1) +/* B66FB0 80241500 8C420034 */ lw $v0, 0x34($v0) +/* B66FB4 80241504 54400005 */ bnel $v0, $zero, .L8024151C +/* B66FB8 80241508 2402FDFF */ addiu $v0, $zero, -0x201 +/* B66FBC 8024150C 34620200 */ ori $v0, $v1, 0x200 +/* B66FC0 80241510 2403FFF7 */ addiu $v1, $zero, -9 +/* B66FC4 80241514 08090549 */ j .L80241524 +/* B66FC8 80241518 00431024 */ and $v0, $v0, $v1 +.L8024151C: +/* B66FCC 8024151C 00621024 */ and $v0, $v1, $v0 +/* B66FD0 80241520 34420008 */ ori $v0, $v0, 8 +.L80241524: +/* B66FD4 80241524 AEA20000 */ sw $v0, ($s5) +/* B66FD8 80241528 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66FDC 8024152C 30420004 */ andi $v0, $v0, 4 +/* B66FE0 80241530 10400007 */ beqz $v0, .L80241550 +/* B66FE4 80241534 24020063 */ addiu $v0, $zero, 0x63 +/* B66FE8 80241538 AE420070 */ sw $v0, 0x70($s2) +/* B66FEC 8024153C AE400074 */ sw $zero, 0x74($s2) +/* B66FF0 80241540 8E2200B0 */ lw $v0, 0xb0($s1) +/* B66FF4 80241544 2403FFFB */ addiu $v1, $zero, -5 +/* B66FF8 80241548 00431024 */ and $v0, $v0, $v1 +/* B66FFC 8024154C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241550: +/* B67000 80241550 AE20006C */ sw $zero, 0x6c($s1) +.L80241554: +/* B67004 80241554 8E420070 */ lw $v0, 0x70($s2) +/* B67008 80241558 2842001E */ slti $v0, $v0, 0x1e +/* B6700C 8024155C 10400009 */ beqz $v0, .L80241584 +/* B67010 80241560 00000000 */ nop +/* B67014 80241564 8E22006C */ lw $v0, 0x6c($s1) +/* B67018 80241568 14400006 */ bnez $v0, .L80241584 +/* B6701C 8024156C 00000000 */ nop +/* B67020 80241570 0C090357 */ jal func_80240D5C +/* B67024 80241574 0240202D */ daddu $a0, $s2, $zero +/* B67028 80241578 10400002 */ beqz $v0, .L80241584 +/* B6702C 8024157C 2402001E */ addiu $v0, $zero, 0x1e +/* B67030 80241580 AE420070 */ sw $v0, 0x70($s2) +.L80241584: +/* B67034 80241584 8E430070 */ lw $v1, 0x70($s2) +/* B67038 80241588 2C620064 */ sltiu $v0, $v1, 0x64 +/* B6703C 8024158C 10400048 */ beqz $v0, .L802416B0 +/* B67040 80241590 00031080 */ sll $v0, $v1, 2 +/* B67044 80241594 3C018024 */ lui $at, 0x8024 +/* B67048 80241598 00220821 */ addu $at, $at, $v0 +/* B6704C 8024159C 8C226750 */ lw $v0, 0x6750($at) +/* B67050 802415A0 00400008 */ jr $v0 +/* B67054 802415A4 00000000 */ nop +/* B67058 802415A8 0240202D */ daddu $a0, $s2, $zero +/* B6705C 802415AC 0260282D */ daddu $a1, $s3, $zero +/* B67060 802415B0 0C012568 */ jal func_800495A0 +/* B67064 802415B4 0280302D */ daddu $a2, $s4, $zero +/* B67068 802415B8 0240202D */ daddu $a0, $s2, $zero +/* B6706C 802415BC 0260282D */ daddu $a1, $s3, $zero +/* B67070 802415C0 0C0125AE */ jal func_800496B8 +/* B67074 802415C4 0280302D */ daddu $a2, $s4, $zero +/* B67078 802415C8 080905AC */ j .L802416B0 +/* B6707C 802415CC 00000000 */ nop +/* B67080 802415D0 0240202D */ daddu $a0, $s2, $zero +/* B67084 802415D4 0260282D */ daddu $a1, $s3, $zero +/* B67088 802415D8 0C090250 */ jal func_80240940 +/* B6708C 802415DC 0280302D */ daddu $a2, $s4, $zero +/* B67090 802415E0 0240202D */ daddu $a0, $s2, $zero +/* B67094 802415E4 0260282D */ daddu $a1, $s3, $zero +/* B67098 802415E8 0C090264 */ jal func_80240990 +/* B6709C 802415EC 0280302D */ daddu $a2, $s4, $zero +/* B670A0 802415F0 080905AC */ j .L802416B0 +/* B670A4 802415F4 00000000 */ nop +/* B670A8 802415F8 0240202D */ daddu $a0, $s2, $zero +/* B670AC 802415FC 0260282D */ daddu $a1, $s3, $zero +/* B670B0 80241600 0C01278F */ jal func_80049E3C +/* B670B4 80241604 0280302D */ daddu $a2, $s4, $zero +/* B670B8 80241608 0240202D */ daddu $a0, $s2, $zero +/* B670BC 8024160C 0260282D */ daddu $a1, $s3, $zero +/* B670C0 80241610 0C0127B3 */ jal func_80049ECC +/* B670C4 80241614 0280302D */ daddu $a2, $s4, $zero +/* B670C8 80241618 080905AC */ j .L802416B0 +/* B670CC 8024161C 00000000 */ nop +/* B670D0 80241620 0240202D */ daddu $a0, $s2, $zero +/* B670D4 80241624 0260282D */ daddu $a1, $s3, $zero +/* B670D8 80241628 0C0127DF */ jal func_80049F7C +/* B670DC 8024162C 0280302D */ daddu $a2, $s4, $zero +/* B670E0 80241630 0240202D */ daddu $a0, $s2, $zero +/* B670E4 80241634 0260282D */ daddu $a1, $s3, $zero +/* B670E8 80241638 0C012849 */ jal func_8004A124 +/* B670EC 8024163C 0280302D */ daddu $a2, $s4, $zero +/* B670F0 80241640 080905AC */ j .L802416B0 +/* B670F4 80241644 00000000 */ nop +/* B670F8 80241648 0240202D */ daddu $a0, $s2, $zero +/* B670FC 8024164C 0260282D */ daddu $a1, $s3, $zero +/* B67100 80241650 0C0128FA */ jal func_8004A3E8 +/* B67104 80241654 0280302D */ daddu $a2, $s4, $zero +/* B67108 80241658 080905AC */ j .L802416B0 +/* B6710C 8024165C 00000000 */ nop +/* B67110 80241660 0C0902D5 */ jal func_80240B54 +/* B67114 80241664 0240202D */ daddu $a0, $s2, $zero +/* B67118 80241668 0C0902F0 */ jal func_80240BC0 +/* B6711C 8024166C 0240202D */ daddu $a0, $s2, $zero +/* B67120 80241670 8E430070 */ lw $v1, 0x70($s2) +/* B67124 80241674 24020020 */ addiu $v0, $zero, 0x20 +/* B67128 80241678 1462000D */ bne $v1, $v0, .L802416B0 +/* B6712C 8024167C 00000000 */ nop +/* B67130 80241680 0C09030C */ jal func_80240C30 +/* B67134 80241684 0240202D */ daddu $a0, $s2, $zero +/* B67138 80241688 8E430070 */ lw $v1, 0x70($s2) +/* B6713C 8024168C 24020021 */ addiu $v0, $zero, 0x21 +/* B67140 80241690 14620007 */ bne $v1, $v0, .L802416B0 +/* B67144 80241694 00000000 */ nop +/* B67148 80241698 0C090342 */ jal func_80240D08 +/* B6714C 8024169C 0240202D */ daddu $a0, $s2, $zero +/* B67150 802416A0 080905AC */ j .L802416B0 +/* B67154 802416A4 00000000 */ nop +/* B67158 802416A8 0C0129CF */ jal func_8004A73C +/* B6715C 802416AC 0240202D */ daddu $a0, $s2, $zero +.L802416B0: +/* B67160 802416B0 8FBF0048 */ lw $ra, 0x48($sp) +/* B67164 802416B4 8FB50044 */ lw $s5, 0x44($sp) +/* B67168 802416B8 8FB40040 */ lw $s4, 0x40($sp) +/* B6716C 802416BC 8FB3003C */ lw $s3, 0x3c($sp) +/* B67170 802416C0 8FB20038 */ lw $s2, 0x38($sp) +/* B67174 802416C4 8FB10034 */ lw $s1, 0x34($sp) +/* B67178 802416C8 8FB00030 */ lw $s0, 0x30($sp) +/* B6717C 802416CC 0000102D */ daddu $v0, $zero, $zero +/* B67180 802416D0 03E00008 */ jr $ra +/* B67184 802416D4 27BD0050 */ addiu $sp, $sp, 0x50 +/* B67188 802416D8 00000000 */ nop +/* B6718C 802416DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_802416E0.s b/asm/nonmatchings/world/area_jan/jan_09/func_802416E0.s new file mode 100644 index 0000000000..ccdac330d7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_802416E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416E0 +/* B67190 802416E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B67194 802416E4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B67198 802416E8 4485A000 */ mtc1 $a1, $f20 +/* B6719C 802416EC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B671A0 802416F0 4486B000 */ mtc1 $a2, $f22 +/* B671A4 802416F4 AFB00010 */ sw $s0, 0x10($sp) +/* B671A8 802416F8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B671AC 802416FC 4487C000 */ mtc1 $a3, $f24 +/* B671B0 80241700 AFBF0014 */ sw $ra, 0x14($sp) +/* B671B4 80241704 0C019D28 */ jal guMtxIdentF +/* B671B8 80241708 0080802D */ daddu $s0, $a0, $zero +/* B671BC 8024170C 4616A582 */ mul.s $f22, $f20, $f22 +/* B671C0 80241710 00000000 */ nop +/* B671C4 80241714 4618A502 */ mul.s $f20, $f20, $f24 +/* B671C8 80241718 00000000 */ nop +/* B671CC 8024171C 3C013F80 */ lui $at, 0x3f80 +/* B671D0 80241720 44810000 */ mtc1 $at, $f0 +/* B671D4 80241724 00000000 */ nop +/* B671D8 80241728 E6000014 */ swc1 $f0, 0x14($s0) +/* B671DC 8024172C E6160010 */ swc1 $f22, 0x10($s0) +/* B671E0 80241730 E6140018 */ swc1 $f20, 0x18($s0) +/* B671E4 80241734 8FBF0014 */ lw $ra, 0x14($sp) +/* B671E8 80241738 8FB00010 */ lw $s0, 0x10($sp) +/* B671EC 8024173C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B671F0 80241740 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B671F4 80241744 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B671F8 80241748 03E00008 */ jr $ra +/* B671FC 8024174C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_09/func_80241750_B65AB0.s b/asm/nonmatchings/world/area_jan/jan_09/func_80241750_B65AB0.s new file mode 100644 index 0000000000..bc18c00ea1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_09/func_80241750_B65AB0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241750_B67200 +/* B67200 80241750 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B67204 80241754 AFB10054 */ sw $s1, 0x54($sp) +/* B67208 80241758 0080882D */ daddu $s1, $a0, $zero +/* B6720C 8024175C AFBF005C */ sw $ra, 0x5c($sp) +/* B67210 80241760 AFB20058 */ sw $s2, 0x58($sp) +/* B67214 80241764 AFB00050 */ sw $s0, 0x50($sp) +/* B67218 80241768 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B6721C 8024176C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B67220 80241770 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B67224 80241774 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B67228 80241778 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B6722C 8024177C 8E30000C */ lw $s0, 0xc($s1) +/* B67230 80241780 8E050000 */ lw $a1, ($s0) +/* B67234 80241784 0C0B1EAF */ jal get_variable +/* B67238 80241788 26100004 */ addiu $s0, $s0, 4 +/* B6723C 8024178C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B67240 80241790 0040202D */ daddu $a0, $v0, $zero +/* B67244 80241794 8E050000 */ lw $a1, ($s0) +/* B67248 80241798 26100004 */ addiu $s0, $s0, 4 +/* B6724C 8024179C 0220202D */ daddu $a0, $s1, $zero +/* B67250 802417A0 0C0B210B */ jal get_float_variable +/* B67254 802417A4 0040902D */ daddu $s2, $v0, $zero +/* B67258 802417A8 8E050000 */ lw $a1, ($s0) +/* B6725C 802417AC 26100004 */ addiu $s0, $s0, 4 +/* B67260 802417B0 0220202D */ daddu $a0, $s1, $zero +/* B67264 802417B4 0C0B210B */ jal get_float_variable +/* B67268 802417B8 46000706 */ mov.s $f28, $f0 +/* B6726C 802417BC 8E050000 */ lw $a1, ($s0) +/* B67270 802417C0 26100004 */ addiu $s0, $s0, 4 +/* B67274 802417C4 0220202D */ daddu $a0, $s1, $zero +/* B67278 802417C8 0C0B210B */ jal get_float_variable +/* B6727C 802417CC 46000686 */ mov.s $f26, $f0 +/* B67280 802417D0 0220202D */ daddu $a0, $s1, $zero +/* B67284 802417D4 8E050000 */ lw $a1, ($s0) +/* B67288 802417D8 0C0B210B */ jal get_float_variable +/* B6728C 802417DC 46000586 */ mov.s $f22, $f0 +/* B67290 802417E0 0240202D */ daddu $a0, $s2, $zero +/* B67294 802417E4 0C046B4C */ jal get_model_from_list_index +/* B67298 802417E8 46000606 */ mov.s $f24, $f0 +/* B6729C 802417EC 0040882D */ daddu $s1, $v0, $zero +/* B672A0 802417F0 96220000 */ lhu $v0, ($s1) +/* B672A4 802417F4 30420400 */ andi $v0, $v0, 0x400 +/* B672A8 802417F8 1440001E */ bnez $v0, .L80241874 +/* B672AC 802417FC 26300058 */ addiu $s0, $s1, 0x58 +/* B672B0 80241800 4480A000 */ mtc1 $zero, $f20 +/* B672B4 80241804 4406B000 */ mfc1 $a2, $f22 +/* B672B8 80241808 4405A000 */ mfc1 $a1, $f20 +/* B672BC 8024180C 4407A000 */ mfc1 $a3, $f20 +/* B672C0 80241810 0C019E40 */ jal guTranslateF +/* B672C4 80241814 0200202D */ daddu $a0, $s0, $zero +/* B672C8 80241818 4405E000 */ mfc1 $a1, $f28 +/* B672CC 8024181C 4406D000 */ mfc1 $a2, $f26 +/* B672D0 80241820 4407C000 */ mfc1 $a3, $f24 +/* B672D4 80241824 0C0905B8 */ jal func_802416E0 +/* B672D8 80241828 27A40010 */ addiu $a0, $sp, 0x10 +/* B672DC 8024182C 27A40010 */ addiu $a0, $sp, 0x10 +/* B672E0 80241830 0200282D */ daddu $a1, $s0, $zero +/* B672E4 80241834 0C019D80 */ jal guMtxCatF +/* B672E8 80241838 0200302D */ daddu $a2, $s0, $zero +/* B672EC 8024183C 27A40010 */ addiu $a0, $sp, 0x10 +/* B672F0 80241840 4600B587 */ neg.s $f22, $f22 +/* B672F4 80241844 4405A000 */ mfc1 $a1, $f20 +/* B672F8 80241848 4406B000 */ mfc1 $a2, $f22 +/* B672FC 8024184C 0C019E40 */ jal guTranslateF +/* B67300 80241850 00A0382D */ daddu $a3, $a1, $zero +/* B67304 80241854 27A40010 */ addiu $a0, $sp, 0x10 +/* B67308 80241858 0200282D */ daddu $a1, $s0, $zero +/* B6730C 8024185C 0C019D80 */ jal guMtxCatF +/* B67310 80241860 00A0302D */ daddu $a2, $a1, $zero +/* B67314 80241864 96220000 */ lhu $v0, ($s1) +/* B67318 80241868 34421400 */ ori $v0, $v0, 0x1400 +/* B6731C 8024186C 0809063B */ j .L802418EC +/* B67320 80241870 A6220000 */ sh $v0, ($s1) +.L80241874: +/* B67324 80241874 4480A000 */ mtc1 $zero, $f20 +/* B67328 80241878 4406B000 */ mfc1 $a2, $f22 +/* B6732C 8024187C 4405A000 */ mfc1 $a1, $f20 +/* B67330 80241880 4407A000 */ mfc1 $a3, $f20 +/* B67334 80241884 0C019E40 */ jal guTranslateF +/* B67338 80241888 27A40010 */ addiu $a0, $sp, 0x10 +/* B6733C 8024188C 27A40010 */ addiu $a0, $sp, 0x10 +/* B67340 80241890 26300058 */ addiu $s0, $s1, 0x58 +/* B67344 80241894 0200282D */ daddu $a1, $s0, $zero +/* B67348 80241898 0C019D80 */ jal guMtxCatF +/* B6734C 8024189C 0200302D */ daddu $a2, $s0, $zero +/* B67350 802418A0 4405E000 */ mfc1 $a1, $f28 +/* B67354 802418A4 4406D000 */ mfc1 $a2, $f26 +/* B67358 802418A8 4407C000 */ mfc1 $a3, $f24 +/* B6735C 802418AC 0C0905B8 */ jal func_802416E0 +/* B67360 802418B0 27A40010 */ addiu $a0, $sp, 0x10 +/* B67364 802418B4 27A40010 */ addiu $a0, $sp, 0x10 +/* B67368 802418B8 0200282D */ daddu $a1, $s0, $zero +/* B6736C 802418BC 0C019D80 */ jal guMtxCatF +/* B67370 802418C0 0200302D */ daddu $a2, $s0, $zero +/* B67374 802418C4 27A40010 */ addiu $a0, $sp, 0x10 +/* B67378 802418C8 4600B587 */ neg.s $f22, $f22 +/* B6737C 802418CC 4405A000 */ mfc1 $a1, $f20 +/* B67380 802418D0 4406B000 */ mfc1 $a2, $f22 +/* B67384 802418D4 0C019E40 */ jal guTranslateF +/* B67388 802418D8 00A0382D */ daddu $a3, $a1, $zero +/* B6738C 802418DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B67390 802418E0 0200282D */ daddu $a1, $s0, $zero +/* B67394 802418E4 0C019D80 */ jal guMtxCatF +/* B67398 802418E8 00A0302D */ daddu $a2, $a1, $zero +.L802418EC: +/* B6739C 802418EC 8FBF005C */ lw $ra, 0x5c($sp) +/* B673A0 802418F0 8FB20058 */ lw $s2, 0x58($sp) +/* B673A4 802418F4 8FB10054 */ lw $s1, 0x54($sp) +/* B673A8 802418F8 8FB00050 */ lw $s0, 0x50($sp) +/* B673AC 802418FC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B673B0 80241900 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B673B4 80241904 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B673B8 80241908 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B673BC 8024190C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B673C0 80241910 24020002 */ addiu $v0, $zero, 2 +/* B673C4 80241914 03E00008 */ jr $ra +/* B673C8 80241918 27BD0088 */ addiu $sp, $sp, 0x88 +/* B673CC 8024191C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_10/delete_actor_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/delete_actor_B6C390.s new file mode 100644 index 0000000000..832af5d694 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/delete_actor_B6C390.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel delete_actor_B6CF4C +/* B6CF4C 80240BBC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B6CF50 80240BC0 AFB40050 */ sw $s4, 0x50($sp) +/* B6CF54 80240BC4 0080A02D */ daddu $s4, $a0, $zero +/* B6CF58 80240BC8 AFBF0060 */ sw $ra, 0x60($sp) +/* B6CF5C 80240BCC AFB7005C */ sw $s7, 0x5c($sp) +/* B6CF60 80240BD0 AFB60058 */ sw $s6, 0x58($sp) +/* B6CF64 80240BD4 AFB50054 */ sw $s5, 0x54($sp) +/* B6CF68 80240BD8 AFB3004C */ sw $s3, 0x4c($sp) +/* B6CF6C 80240BDC AFB20048 */ sw $s2, 0x48($sp) +/* B6CF70 80240BE0 AFB10044 */ sw $s1, 0x44($sp) +/* B6CF74 80240BE4 AFB00040 */ sw $s0, 0x40($sp) +/* B6CF78 80240BE8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B6CF7C 80240BEC 8E950148 */ lw $s5, 0x148($s4) +/* B6CF80 80240BF0 00A0B02D */ daddu $s6, $a1, $zero +/* B6CF84 80240BF4 86A40008 */ lh $a0, 8($s5) +/* B6CF88 80240BF8 0C00EABB */ jal get_npc_unsafe +/* B6CF8C 80240BFC 00C0B82D */ daddu $s7, $a2, $zero +/* B6CF90 80240C00 0040982D */ daddu $s3, $v0, $zero +/* B6CF94 80240C04 C6600018 */ lwc1 $f0, 0x18($s3) +/* B6CF98 80240C08 44801000 */ mtc1 $zero, $f2 +/* B6CF9C 80240C0C 44801800 */ mtc1 $zero, $f3 +/* B6CFA0 80240C10 46000021 */ cvt.d.s $f0, $f0 +/* B6CFA4 80240C14 4620103C */ c.lt.d $f2, $f0 +/* B6CFA8 80240C18 00000000 */ nop +/* B6CFAC 80240C1C 45000021 */ bc1f .L80240CA4 +/* B6CFB0 80240C20 27A50028 */ addiu $a1, $sp, 0x28 +/* B6CFB4 80240C24 C6600038 */ lwc1 $f0, 0x38($s3) +/* B6CFB8 80240C28 C662003C */ lwc1 $f2, 0x3c($s3) +/* B6CFBC 80240C2C C6640040 */ lwc1 $f4, 0x40($s3) +/* B6CFC0 80240C30 C6660018 */ lwc1 $f6, 0x18($s3) +/* B6CFC4 80240C34 E7A00028 */ swc1 $f0, 0x28($sp) +/* B6CFC8 80240C38 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B6CFCC 80240C3C E7A40030 */ swc1 $f4, 0x30($sp) +/* B6CFD0 80240C40 E7A60010 */ swc1 $f6, 0x10($sp) +/* B6CFD4 80240C44 C660000C */ lwc1 $f0, 0xc($s3) +/* B6CFD8 80240C48 E7A00014 */ swc1 $f0, 0x14($sp) +/* B6CFDC 80240C4C 866200A8 */ lh $v0, 0xa8($s3) +/* B6CFE0 80240C50 44820000 */ mtc1 $v0, $f0 +/* B6CFE4 80240C54 00000000 */ nop +/* B6CFE8 80240C58 46800020 */ cvt.s.w $f0, $f0 +/* B6CFEC 80240C5C E7A00018 */ swc1 $f0, 0x18($sp) +/* B6CFF0 80240C60 866200A6 */ lh $v0, 0xa6($s3) +/* B6CFF4 80240C64 27A6002C */ addiu $a2, $sp, 0x2c +/* B6CFF8 80240C68 44820000 */ mtc1 $v0, $f0 +/* B6CFFC 80240C6C 00000000 */ nop +/* B6D000 80240C70 46800020 */ cvt.s.w $f0, $f0 +/* B6D004 80240C74 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B6D008 80240C78 8E640080 */ lw $a0, 0x80($s3) +/* B6D00C 80240C7C 0C037711 */ jal func_800DDC44 +/* B6D010 80240C80 27A70030 */ addiu $a3, $sp, 0x30 +/* B6D014 80240C84 10400003 */ beqz $v0, .L80240C94 +/* B6D018 80240C88 00000000 */ nop +/* B6D01C 80240C8C 08090329 */ j .L80240CA4 +/* B6D020 80240C90 AE600018 */ sw $zero, 0x18($s3) +.L80240C94: +/* B6D024 80240C94 8E650018 */ lw $a1, 0x18($s3) +/* B6D028 80240C98 8E66000C */ lw $a2, 0xc($s3) +/* B6D02C 80240C9C 0C00EA95 */ jal npc_move_heading +/* B6D030 80240CA0 0260202D */ daddu $a0, $s3, $zero +.L80240CA4: +/* B6D034 80240CA4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B6D038 80240CA8 44801000 */ mtc1 $zero, $f2 +/* B6D03C 80240CAC 44801800 */ mtc1 $zero, $f3 +/* B6D040 80240CB0 46000021 */ cvt.d.s $f0, $f0 +/* B6D044 80240CB4 4622003C */ c.lt.d $f0, $f2 +/* B6D048 80240CB8 00000000 */ nop +/* B6D04C 80240CBC 4500006C */ bc1f .L80240E70 +/* B6D050 80240CC0 27B00028 */ addiu $s0, $sp, 0x28 +/* B6D054 80240CC4 0200282D */ daddu $a1, $s0, $zero +/* B6D058 80240CC8 27A60034 */ addiu $a2, $sp, 0x34 +/* B6D05C 80240CCC 27B20038 */ addiu $s2, $sp, 0x38 +/* B6D060 80240CD0 C6600038 */ lwc1 $f0, 0x38($s3) +/* B6D064 80240CD4 3C0142C8 */ lui $at, 0x42c8 +/* B6D068 80240CD8 44811000 */ mtc1 $at, $f2 +/* B6D06C 80240CDC C6640040 */ lwc1 $f4, 0x40($s3) +/* B6D070 80240CE0 3C01447A */ lui $at, 0x447a +/* B6D074 80240CE4 44813000 */ mtc1 $at, $f6 +/* B6D078 80240CE8 27B10030 */ addiu $s1, $sp, 0x30 +/* B6D07C 80240CEC E7A00028 */ swc1 $f0, 0x28($sp) +/* B6D080 80240CF0 E7A20034 */ swc1 $f2, 0x34($sp) +/* B6D084 80240CF4 E7A40030 */ swc1 $f4, 0x30($sp) +/* B6D088 80240CF8 E7A60038 */ swc1 $f6, 0x38($sp) +/* B6D08C 80240CFC AFB20010 */ sw $s2, 0x10($sp) +/* B6D090 80240D00 8E640080 */ lw $a0, 0x80($s3) +/* B6D094 80240D04 0C0372DF */ jal func_800DCB7C +/* B6D098 80240D08 0220382D */ daddu $a3, $s1, $zero +/* B6D09C 80240D0C 0200282D */ daddu $a1, $s0, $zero +/* B6D0A0 80240D10 27A6002C */ addiu $a2, $sp, 0x2c +/* B6D0A4 80240D14 C662003C */ lwc1 $f2, 0x3c($s3) +/* B6D0A8 80240D18 C6660038 */ lwc1 $f6, 0x38($s3) +/* B6D0AC 80240D1C 3C01402A */ lui $at, 0x402a +/* B6D0B0 80240D20 4481A800 */ mtc1 $at, $f21 +/* B6D0B4 80240D24 4480A000 */ mtc1 $zero, $f20 +/* B6D0B8 80240D28 460010A1 */ cvt.d.s $f2, $f2 +/* B6D0BC 80240D2C 46341080 */ add.d $f2, $f2, $f20 +/* B6D0C0 80240D30 C660001C */ lwc1 $f0, 0x1c($s3) +/* B6D0C4 80240D34 C6640040 */ lwc1 $f4, 0x40($s3) +/* B6D0C8 80240D38 46000005 */ abs.s $f0, $f0 +/* B6D0CC 80240D3C E7A40030 */ swc1 $f4, 0x30($sp) +/* B6D0D0 80240D40 3C014030 */ lui $at, 0x4030 +/* B6D0D4 80240D44 44812800 */ mtc1 $at, $f5 +/* B6D0D8 80240D48 44802000 */ mtc1 $zero, $f4 +/* B6D0DC 80240D4C 46000021 */ cvt.d.s $f0, $f0 +/* B6D0E0 80240D50 E7A60028 */ swc1 $f6, 0x28($sp) +/* B6D0E4 80240D54 46240000 */ add.d $f0, $f0, $f4 +/* B6D0E8 80240D58 462010A0 */ cvt.s.d $f2, $f2 +/* B6D0EC 80240D5C E7A2002C */ swc1 $f2, 0x2c($sp) +/* B6D0F0 80240D60 46200020 */ cvt.s.d $f0, $f0 +/* B6D0F4 80240D64 E7A00038 */ swc1 $f0, 0x38($sp) +/* B6D0F8 80240D68 AFB20010 */ sw $s2, 0x10($sp) +/* B6D0FC 80240D6C 8E640080 */ lw $a0, 0x80($s3) +/* B6D100 80240D70 0C0372DF */ jal func_800DCB7C +/* B6D104 80240D74 0220382D */ daddu $a3, $s1, $zero +/* B6D108 80240D78 1040003D */ beqz $v0, .L80240E70 +/* B6D10C 80240D7C 00000000 */ nop +/* B6D110 80240D80 C660001C */ lwc1 $f0, 0x1c($s3) +/* B6D114 80240D84 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B6D118 80240D88 46000005 */ abs.s $f0, $f0 +/* B6D11C 80240D8C 46000021 */ cvt.d.s $f0, $f0 +/* B6D120 80240D90 46340000 */ add.d $f0, $f0, $f20 +/* B6D124 80240D94 460010A1 */ cvt.d.s $f2, $f2 +/* B6D128 80240D98 4620103E */ c.le.d $f2, $f0 +/* B6D12C 80240D9C 00000000 */ nop +/* B6D130 80240DA0 45000033 */ bc1f .L80240E70 +/* B6D134 80240DA4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B6D138 80240DA8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B6D13C 80240DAC 8E620000 */ lw $v0, ($s3) +/* B6D140 80240DB0 AE60001C */ sw $zero, 0x1c($s3) +/* B6D144 80240DB4 00431024 */ and $v0, $v0, $v1 +/* B6D148 80240DB8 E660003C */ swc1 $f0, 0x3c($s3) +/* B6D14C 80240DBC AE620000 */ sw $v0, ($s3) +/* B6D150 80240DC0 AFA00010 */ sw $zero, 0x10($sp) +/* B6D154 80240DC4 AFA00014 */ sw $zero, 0x14($sp) +/* B6D158 80240DC8 8E650038 */ lw $a1, 0x38($s3) +/* B6D15C 80240DCC 8E66003C */ lw $a2, 0x3c($s3) +/* B6D160 80240DD0 8E670040 */ lw $a3, 0x40($s3) +/* B6D164 80240DD4 0C01BECC */ jal fx_walk_normal +/* B6D168 80240DD8 24040002 */ addiu $a0, $zero, 2 +/* B6D16C 80240DDC 02E0202D */ daddu $a0, $s7, $zero +/* B6D170 80240DE0 2402000C */ addiu $v0, $zero, 0xc +/* B6D174 80240DE4 AE820070 */ sw $v0, 0x70($s4) +/* B6D178 80240DE8 24020001 */ addiu $v0, $zero, 1 +/* B6D17C 80240DEC AFA20010 */ sw $v0, 0x10($sp) +/* B6D180 80240DF0 8EC60024 */ lw $a2, 0x24($s6) +/* B6D184 80240DF4 8EC70028 */ lw $a3, 0x28($s6) +/* B6D188 80240DF8 0C01242D */ jal func_800490B4 +/* B6D18C 80240DFC 02A0282D */ daddu $a1, $s5, $zero +/* B6D190 80240E00 14400022 */ bnez $v0, .L80240E8C +/* B6D194 80240E04 24040002 */ addiu $a0, $zero, 2 +/* B6D198 80240E08 0260282D */ daddu $a1, $s3, $zero +/* B6D19C 80240E0C 0000302D */ daddu $a2, $zero, $zero +/* B6D1A0 80240E10 866300A8 */ lh $v1, 0xa8($s3) +/* B6D1A4 80240E14 3C013F80 */ lui $at, 0x3f80 +/* B6D1A8 80240E18 44810000 */ mtc1 $at, $f0 +/* B6D1AC 80240E1C 3C014000 */ lui $at, 0x4000 +/* B6D1B0 80240E20 44811000 */ mtc1 $at, $f2 +/* B6D1B4 80240E24 3C01C1A0 */ lui $at, 0xc1a0 +/* B6D1B8 80240E28 44812000 */ mtc1 $at, $f4 +/* B6D1BC 80240E2C 2402000F */ addiu $v0, $zero, 0xf +/* B6D1C0 80240E30 AFA2001C */ sw $v0, 0x1c($sp) +/* B6D1C4 80240E34 44834000 */ mtc1 $v1, $f8 +/* B6D1C8 80240E38 00000000 */ nop +/* B6D1CC 80240E3C 46804220 */ cvt.s.w $f8, $f8 +/* B6D1D0 80240E40 44074000 */ mfc1 $a3, $f8 +/* B6D1D4 80240E44 27A2003C */ addiu $v0, $sp, 0x3c +/* B6D1D8 80240E48 AFA20020 */ sw $v0, 0x20($sp) +/* B6D1DC 80240E4C E7A00010 */ swc1 $f0, 0x10($sp) +/* B6D1E0 80240E50 E7A20014 */ swc1 $f2, 0x14($sp) +/* B6D1E4 80240E54 0C01BFA4 */ jal fx_emote +/* B6D1E8 80240E58 E7A40018 */ swc1 $f4, 0x18($sp) +/* B6D1EC 80240E5C 24020019 */ addiu $v0, $zero, 0x19 +/* B6D1F0 80240E60 A662008E */ sh $v0, 0x8e($s3) +/* B6D1F4 80240E64 2402000E */ addiu $v0, $zero, 0xe +/* B6D1F8 80240E68 080903A3 */ j .L80240E8C +/* B6D1FC 80240E6C AE820070 */ sw $v0, 0x70($s4) +.L80240E70: +/* B6D200 80240E70 C664003C */ lwc1 $f4, 0x3c($s3) +/* B6D204 80240E74 C660001C */ lwc1 $f0, 0x1c($s3) +/* B6D208 80240E78 46002100 */ add.s $f4, $f4, $f0 +/* B6D20C 80240E7C C6620014 */ lwc1 $f2, 0x14($s3) +/* B6D210 80240E80 46020001 */ sub.s $f0, $f0, $f2 +/* B6D214 80240E84 E664003C */ swc1 $f4, 0x3c($s3) +/* B6D218 80240E88 E660001C */ swc1 $f0, 0x1c($s3) +.L80240E8C: +/* B6D21C 80240E8C 8FBF0060 */ lw $ra, 0x60($sp) +/* B6D220 80240E90 8FB7005C */ lw $s7, 0x5c($sp) +/* B6D224 80240E94 8FB60058 */ lw $s6, 0x58($sp) +/* B6D228 80240E98 8FB50054 */ lw $s5, 0x54($sp) +/* B6D22C 80240E9C 8FB40050 */ lw $s4, 0x50($sp) +/* B6D230 80240EA0 8FB3004C */ lw $s3, 0x4c($sp) +/* B6D234 80240EA4 8FB20048 */ lw $s2, 0x48($sp) +/* B6D238 80240EA8 8FB10044 */ lw $s1, 0x44($sp) +/* B6D23C 80240EAC 8FB00040 */ lw $s0, 0x40($sp) +/* B6D240 80240EB0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B6D244 80240EB4 03E00008 */ jr $ra +/* B6D248 80240EB8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240000_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240000_B6C390.s new file mode 100644 index 0000000000..085468d9c0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240000_B6C390.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B6C390 +/* B6C390 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B6C394 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B6C398 80240008 0080802D */ daddu $s0, $a0, $zero +/* B6C39C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B6C3A0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B6C3A4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B6C3A8 80240018 00621821 */ addu $v1, $v1, $v0 +/* B6C3AC 8024001C 04610004 */ bgez $v1, .L80240030 +/* B6C3B0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B6C3B4 80240024 3C020002 */ lui $v0, 2 +/* B6C3B8 80240028 08090010 */ j .L80240040 +/* B6C3BC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B6C3C0 80240030 3C040002 */ lui $a0, 2 +/* B6C3C4 80240034 0083102A */ slt $v0, $a0, $v1 +/* B6C3C8 80240038 10400002 */ beqz $v0, .L80240044 +/* B6C3CC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B6C3D0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B6C3D4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B6C3D8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B6C3DC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B6C3E0 80240050 04610004 */ bgez $v1, .L80240064 +/* B6C3E4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B6C3E8 80240058 3C020002 */ lui $v0, 2 +/* B6C3EC 8024005C 0809001D */ j .L80240074 +/* B6C3F0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B6C3F4 80240064 3C040002 */ lui $a0, 2 +/* B6C3F8 80240068 0083102A */ slt $v0, $a0, $v1 +/* B6C3FC 8024006C 10400002 */ beqz $v0, .L80240078 +/* B6C400 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B6C404 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B6C408 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B6C40C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B6C410 80240080 00621821 */ addu $v1, $v1, $v0 +/* B6C414 80240084 04610004 */ bgez $v1, .L80240098 +/* B6C418 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B6C41C 8024008C 3C020002 */ lui $v0, 2 +/* B6C420 80240090 0809002A */ j .L802400A8 +/* B6C424 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B6C428 80240098 3C040002 */ lui $a0, 2 +/* B6C42C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B6C430 802400A0 10400002 */ beqz $v0, .L802400AC +/* B6C434 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B6C438 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B6C43C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B6C440 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B6C444 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B6C448 802400B8 04610004 */ bgez $v1, .L802400CC +/* B6C44C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B6C450 802400C0 3C020002 */ lui $v0, 2 +/* B6C454 802400C4 08090037 */ j .L802400DC +/* B6C458 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B6C45C 802400CC 3C040002 */ lui $a0, 2 +/* B6C460 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B6C464 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B6C468 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B6C46C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B6C470 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B6C474 802400E4 0C046F07 */ jal set_main_pan_u +/* B6C478 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B6C47C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B6C480 802400F0 0C046F0D */ jal set_main_pan_v +/* B6C484 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B6C488 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B6C48C 802400FC 0C046F13 */ jal set_aux_pan_u +/* B6C490 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B6C494 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B6C498 80240108 0C046F19 */ jal set_aux_pan_v +/* B6C49C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B6C4A0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B6C4A4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B6C4A8 80240118 0000102D */ daddu $v0, $zero, $zero +/* B6C4AC 8024011C 03E00008 */ jr $ra +/* B6C4B0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240124_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240124_B6C390.s new file mode 100644 index 0000000000..905b0ed820 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240124_B6C390.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B6C4B4 +/* B6C4B4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B6C4B8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B6C4BC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B6C4C0 80240130 10A00005 */ beqz $a1, .L80240148 +/* B6C4C4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B6C4C8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B6C4CC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B6C4D0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B6C4D4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B6C4D8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B6C4DC 8024014C 1440000E */ bnez $v0, .L80240188 +/* B6C4E0 80240150 00000000 */ nop +/* B6C4E4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B6C4E8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B6C4EC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B6C4F0 80240160 04610004 */ bgez $v1, .L80240174 +/* B6C4F4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B6C4F8 80240168 3C020002 */ lui $v0, 2 +/* B6C4FC 8024016C 08090061 */ j .L80240184 +/* B6C500 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B6C504 80240174 3C040002 */ lui $a0, 2 +/* B6C508 80240178 0083102A */ slt $v0, $a0, $v1 +/* B6C50C 8024017C 10400002 */ beqz $v0, .L80240188 +/* B6C510 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B6C514 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B6C518 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B6C51C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B6C520 80240190 00000000 */ nop +/* B6C524 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B6C528 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B6C52C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B6C530 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B6C534 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B6C538 802401A8 3C020002 */ lui $v0, 2 +/* B6C53C 802401AC 08090071 */ j .L802401C4 +/* B6C540 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B6C544 802401B4 3C040002 */ lui $a0, 2 +/* B6C548 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B6C54C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B6C550 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B6C554 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B6C558 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B6C55C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B6C560 802401D0 00000000 */ nop +/* B6C564 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B6C568 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B6C56C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B6C570 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B6C574 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B6C578 802401E8 3C020002 */ lui $v0, 2 +/* B6C57C 802401EC 08090081 */ j .L80240204 +/* B6C580 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B6C584 802401F4 3C040002 */ lui $a0, 2 +/* B6C588 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B6C58C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B6C590 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B6C594 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B6C598 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B6C59C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B6C5A0 80240210 00000000 */ nop +/* B6C5A4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B6C5A8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B6C5AC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B6C5B0 80240220 04610004 */ bgez $v1, .L80240234 +/* B6C5B4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B6C5B8 80240228 3C020002 */ lui $v0, 2 +/* B6C5BC 8024022C 08090091 */ j .L80240244 +/* B6C5C0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B6C5C4 80240234 3C040002 */ lui $a0, 2 +/* B6C5C8 80240238 0083102A */ slt $v0, $a0, $v1 +/* B6C5CC 8024023C 10400002 */ beqz $v0, .L80240248 +/* B6C5D0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B6C5D4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B6C5D8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B6C5DC 8024024C 0C046F07 */ jal set_main_pan_u +/* B6C5E0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B6C5E4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B6C5E8 80240258 0C046F0D */ jal set_main_pan_v +/* B6C5EC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B6C5F0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B6C5F4 80240264 0C046F13 */ jal set_aux_pan_u +/* B6C5F8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B6C5FC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B6C600 80240270 0C046F19 */ jal set_aux_pan_v +/* B6C604 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B6C608 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B6C60C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B6C610 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B6C614 80240284 24420001 */ addiu $v0, $v0, 1 +/* B6C618 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B6C61C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B6C620 80240290 24630001 */ addiu $v1, $v1, 1 +/* B6C624 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B6C628 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B6C62C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B6C630 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B6C634 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B6C638 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B6C63C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B6C640 802402B0 14600002 */ bnez $v1, .L802402BC +/* B6C644 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B6C648 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B6C64C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B6C650 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B6C654 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B6C658 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B6C65C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B6C660 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B6C664 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B6C668 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B6C66C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B6C670 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B6C674 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B6C678 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B6C67C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B6C680 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B6C684 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B6C688 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B6C68C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B6C690 80240300 0000102D */ daddu $v0, $zero, $zero +/* B6C694 80240304 03E00008 */ jr $ra +/* B6C698 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* B6C69C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240310_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240310_B6C390.s new file mode 100644 index 0000000000..693e50ac8d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240310_B6C390.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_B6C6A0 +/* B6C6A0 80240310 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B6C6A4 80240314 AFB00030 */ sw $s0, 0x30($sp) +/* B6C6A8 80240318 0080802D */ daddu $s0, $a0, $zero +/* B6C6AC 8024031C AFBF0040 */ sw $ra, 0x40($sp) +/* B6C6B0 80240320 AFB3003C */ sw $s3, 0x3c($sp) +/* B6C6B4 80240324 AFB20038 */ sw $s2, 0x38($sp) +/* B6C6B8 80240328 AFB10034 */ sw $s1, 0x34($sp) +/* B6C6BC 8024032C F7B60050 */ sdc1 $f22, 0x50($sp) +/* B6C6C0 80240330 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B6C6C4 80240334 8E130148 */ lw $s3, 0x148($s0) +/* B6C6C8 80240338 00A0882D */ daddu $s1, $a1, $zero +/* B6C6CC 8024033C 86640008 */ lh $a0, 8($s3) +/* B6C6D0 80240340 0C00EABB */ jal get_npc_unsafe +/* B6C6D4 80240344 00C0902D */ daddu $s2, $a2, $zero +/* B6C6D8 80240348 0200202D */ daddu $a0, $s0, $zero +/* B6C6DC 8024034C 0220282D */ daddu $a1, $s1, $zero +/* B6C6E0 80240350 0240302D */ daddu $a2, $s2, $zero +/* B6C6E4 80240354 0C012568 */ jal func_800495A0 +/* B6C6E8 80240358 0040802D */ daddu $s0, $v0, $zero +/* B6C6EC 8024035C 8E020000 */ lw $v0, ($s0) +/* B6C6F0 80240360 2404002D */ addiu $a0, $zero, 0x2d +/* B6C6F4 80240364 34420800 */ ori $v0, $v0, 0x800 +/* B6C6F8 80240368 0C00A67F */ jal rand_int +/* B6C6FC 8024036C AE020000 */ sw $v0, ($s0) +/* B6C700 80240370 0200202D */ daddu $a0, $s0, $zero +/* B6C704 80240374 3C05B000 */ lui $a1, 0xb000 +/* B6C708 80240378 34A50017 */ ori $a1, $a1, 0x17 +/* B6C70C 8024037C 44820000 */ mtc1 $v0, $f0 +/* B6C710 80240380 00000000 */ nop +/* B6C714 80240384 46800021 */ cvt.d.w $f0, $f0 +/* B6C718 80240388 3C014024 */ lui $at, 0x4024 +/* B6C71C 8024038C 44811800 */ mtc1 $at, $f3 +/* B6C720 80240390 44801000 */ mtc1 $zero, $f2 +/* B6C724 80240394 3C014020 */ lui $at, 0x4020 +/* B6C728 80240398 44812800 */ mtc1 $at, $f5 +/* B6C72C 8024039C 44802000 */ mtc1 $zero, $f4 +/* B6C730 802403A0 46220003 */ div.d $f0, $f0, $f2 +/* B6C734 802403A4 46240000 */ add.d $f0, $f0, $f4 +/* B6C738 802403A8 3C013FC0 */ lui $at, 0x3fc0 +/* B6C73C 802403AC 44811000 */ mtc1 $at, $f2 +/* B6C740 802403B0 0000302D */ daddu $a2, $zero, $zero +/* B6C744 802403B4 E6020014 */ swc1 $f2, 0x14($s0) +/* B6C748 802403B8 46200020 */ cvt.s.d $f0, $f0 +/* B6C74C 802403BC 0C012530 */ jal func_800494C0 +/* B6C750 802403C0 E600001C */ swc1 $f0, 0x1c($s0) +/* B6C754 802403C4 8E6300D0 */ lw $v1, 0xd0($s3) +/* B6C758 802403C8 C6000040 */ lwc1 $f0, 0x40($s0) +/* B6C75C 802403CC C4620000 */ lwc1 $f2, ($v1) +/* B6C760 802403D0 468010A0 */ cvt.s.w $f2, $f2 +/* B6C764 802403D4 C4640008 */ lwc1 $f4, 8($v1) +/* B6C768 802403D8 46802120 */ cvt.s.w $f4, $f4 +/* B6C76C 802403DC E7A00010 */ swc1 $f0, 0x10($sp) +/* B6C770 802403E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* B6C774 802403E4 44051000 */ mfc1 $a1, $f2 +/* B6C778 802403E8 C440000C */ lwc1 $f0, 0xc($v0) +/* B6C77C 802403EC 46800020 */ cvt.s.w $f0, $f0 +/* B6C780 802403F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B6C784 802403F4 8E6200D0 */ lw $v0, 0xd0($s3) +/* B6C788 802403F8 44062000 */ mfc1 $a2, $f4 +/* B6C78C 802403FC C4400010 */ lwc1 $f0, 0x10($v0) +/* B6C790 80240400 46800020 */ cvt.s.w $f0, $f0 +/* B6C794 80240404 E7A00018 */ swc1 $f0, 0x18($sp) +/* B6C798 80240408 8C640018 */ lw $a0, 0x18($v1) +/* B6C79C 8024040C 0C0123F5 */ jal is_point_within_region +/* B6C7A0 80240410 8E070038 */ lw $a3, 0x38($s0) +/* B6C7A4 80240414 10400035 */ beqz $v0, .L802404EC +/* B6C7A8 80240418 00000000 */ nop +/* B6C7AC 8024041C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B6C7B0 80240420 3C0141C8 */ lui $at, 0x41c8 +/* B6C7B4 80240424 4481B000 */ mtc1 $at, $f22 +/* B6C7B8 80240428 8E6200D0 */ lw $v0, 0xd0($s3) +/* B6C7BC 8024042C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B6C7C0 80240430 C4480000 */ lwc1 $f8, ($v0) +/* B6C7C4 80240434 46804220 */ cvt.s.w $f8, $f8 +/* B6C7C8 80240438 44064000 */ mfc1 $a2, $f8 +/* B6C7CC 8024043C C4480008 */ lwc1 $f8, 8($v0) +/* B6C7D0 80240440 46804220 */ cvt.s.w $f8, $f8 +/* B6C7D4 80240444 44074000 */ mfc1 $a3, $f8 +/* B6C7D8 80240448 3C01403E */ lui $at, 0x403e +/* B6C7DC 8024044C 4481A800 */ mtc1 $at, $f21 +/* B6C7E0 80240450 4480A000 */ mtc1 $zero, $f20 +/* B6C7E4 80240454 0C00A720 */ jal atan2 +/* B6C7E8 80240458 0000882D */ daddu $s1, $zero, $zero +/* B6C7EC 8024045C C6020038 */ lwc1 $f2, 0x38($s0) +/* B6C7F0 80240460 C604003C */ lwc1 $f4, 0x3c($s0) +/* B6C7F4 80240464 C6060040 */ lwc1 $f6, 0x40($s0) +/* B6C7F8 80240468 E600000C */ swc1 $f0, 0xc($s0) +/* B6C7FC 8024046C E7A20020 */ swc1 $f2, 0x20($sp) +/* B6C800 80240470 E7A40024 */ swc1 $f4, 0x24($sp) +/* B6C804 80240474 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240478: +/* B6C808 80240478 E7B60010 */ swc1 $f22, 0x10($sp) +/* B6C80C 8024047C C600000C */ lwc1 $f0, 0xc($s0) +/* B6C810 80240480 E7A00014 */ swc1 $f0, 0x14($sp) +/* B6C814 80240484 860200A8 */ lh $v0, 0xa8($s0) +/* B6C818 80240488 27A50020 */ addiu $a1, $sp, 0x20 +/* B6C81C 8024048C 44820000 */ mtc1 $v0, $f0 +/* B6C820 80240490 00000000 */ nop +/* B6C824 80240494 46800020 */ cvt.s.w $f0, $f0 +/* B6C828 80240498 E7A00018 */ swc1 $f0, 0x18($sp) +/* B6C82C 8024049C 860200A6 */ lh $v0, 0xa6($s0) +/* B6C830 802404A0 27A60024 */ addiu $a2, $sp, 0x24 +/* B6C834 802404A4 44820000 */ mtc1 $v0, $f0 +/* B6C838 802404A8 00000000 */ nop +/* B6C83C 802404AC 46800020 */ cvt.s.w $f0, $f0 +/* B6C840 802404B0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B6C844 802404B4 8E040080 */ lw $a0, 0x80($s0) +/* B6C848 802404B8 0C037711 */ jal func_800DDC44 +/* B6C84C 802404BC 27A70028 */ addiu $a3, $sp, 0x28 +/* B6C850 802404C0 10400016 */ beqz $v0, .L8024051C +/* B6C854 802404C4 26310001 */ addiu $s1, $s1, 1 +/* B6C858 802404C8 C600000C */ lwc1 $f0, 0xc($s0) +/* B6C85C 802404CC 46000021 */ cvt.d.s $f0, $f0 +/* B6C860 802404D0 46340000 */ add.d $f0, $f0, $f20 +/* B6C864 802404D4 2A220006 */ slti $v0, $s1, 6 +/* B6C868 802404D8 46200020 */ cvt.s.d $f0, $f0 +/* B6C86C 802404DC 1440FFE6 */ bnez $v0, .L80240478 +/* B6C870 802404E0 E600000C */ swc1 $f0, 0xc($s0) +/* B6C874 802404E4 08090147 */ j .L8024051C +/* B6C878 802404E8 00000000 */ nop +.L802404EC: +/* B6C87C 802404EC 0C00A67F */ jal rand_int +/* B6C880 802404F0 2404003C */ addiu $a0, $zero, 0x3c +/* B6C884 802404F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* B6C888 802404F8 44820000 */ mtc1 $v0, $f0 +/* B6C88C 802404FC 00000000 */ nop +/* B6C890 80240500 46800020 */ cvt.s.w $f0, $f0 +/* B6C894 80240504 46006300 */ add.s $f12, $f12, $f0 +/* B6C898 80240508 3C0141F0 */ lui $at, 0x41f0 +/* B6C89C 8024050C 44810000 */ mtc1 $at, $f0 +/* B6C8A0 80240510 0C00A6C9 */ jal clamp_angle +/* B6C8A4 80240514 46006301 */ sub.s $f12, $f12, $f0 +/* B6C8A8 80240518 E600000C */ swc1 $f0, 0xc($s0) +.L8024051C: +/* B6C8AC 8024051C 8FBF0040 */ lw $ra, 0x40($sp) +/* B6C8B0 80240520 8FB3003C */ lw $s3, 0x3c($sp) +/* B6C8B4 80240524 8FB20038 */ lw $s2, 0x38($sp) +/* B6C8B8 80240528 8FB10034 */ lw $s1, 0x34($sp) +/* B6C8BC 8024052C 8FB00030 */ lw $s0, 0x30($sp) +/* B6C8C0 80240530 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B6C8C4 80240534 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B6C8C8 80240538 03E00008 */ jr $ra +/* B6C8CC 8024053C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240540_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240540_B6C390.s new file mode 100644 index 0000000000..b388f204f3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240540_B6C390.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_B6C8D0 +/* B6C8D0 80240540 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B6C8D4 80240544 AFB3004C */ sw $s3, 0x4c($sp) +/* B6C8D8 80240548 0080982D */ daddu $s3, $a0, $zero +/* B6C8DC 8024054C AFBF0054 */ sw $ra, 0x54($sp) +/* B6C8E0 80240550 AFB40050 */ sw $s4, 0x50($sp) +/* B6C8E4 80240554 AFB20048 */ sw $s2, 0x48($sp) +/* B6C8E8 80240558 AFB10044 */ sw $s1, 0x44($sp) +/* B6C8EC 8024055C AFB00040 */ sw $s0, 0x40($sp) +/* B6C8F0 80240560 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B6C8F4 80240564 8E710148 */ lw $s1, 0x148($s3) +/* B6C8F8 80240568 00A0A02D */ daddu $s4, $a1, $zero +/* B6C8FC 8024056C 86240008 */ lh $a0, 8($s1) +/* B6C900 80240570 0C00EABB */ jal get_npc_unsafe +/* B6C904 80240574 00C0902D */ daddu $s2, $a2, $zero +/* B6C908 80240578 8E830014 */ lw $v1, 0x14($s4) +/* B6C90C 8024057C 04600034 */ bltz $v1, .L80240650 +/* B6C910 80240580 0040802D */ daddu $s0, $v0, $zero +/* B6C914 80240584 8E620074 */ lw $v0, 0x74($s3) +/* B6C918 80240588 1C400030 */ bgtz $v0, .L8024064C +/* B6C91C 8024058C 2442FFFF */ addiu $v0, $v0, -1 +/* B6C920 80240590 0240202D */ daddu $a0, $s2, $zero +/* B6C924 80240594 AE630074 */ sw $v1, 0x74($s3) +/* B6C928 80240598 AFA00010 */ sw $zero, 0x10($sp) +/* B6C92C 8024059C 8E86000C */ lw $a2, 0xc($s4) +/* B6C930 802405A0 8E870010 */ lw $a3, 0x10($s4) +/* B6C934 802405A4 0C01242D */ jal func_800490B4 +/* B6C938 802405A8 0220282D */ daddu $a1, $s1, $zero +/* B6C93C 802405AC 10400025 */ beqz $v0, .L80240644 +/* B6C940 802405B0 0000202D */ daddu $a0, $zero, $zero +/* B6C944 802405B4 0200282D */ daddu $a1, $s0, $zero +/* B6C948 802405B8 0000302D */ daddu $a2, $zero, $zero +/* B6C94C 802405BC 860300A8 */ lh $v1, 0xa8($s0) +/* B6C950 802405C0 3C013F80 */ lui $at, 0x3f80 +/* B6C954 802405C4 44810000 */ mtc1 $at, $f0 +/* B6C958 802405C8 3C014000 */ lui $at, 0x4000 +/* B6C95C 802405CC 44811000 */ mtc1 $at, $f2 +/* B6C960 802405D0 3C01C1A0 */ lui $at, 0xc1a0 +/* B6C964 802405D4 44812000 */ mtc1 $at, $f4 +/* B6C968 802405D8 2402000F */ addiu $v0, $zero, 0xf +/* B6C96C 802405DC AFA2001C */ sw $v0, 0x1c($sp) +/* B6C970 802405E0 44835000 */ mtc1 $v1, $f10 +/* B6C974 802405E4 00000000 */ nop +/* B6C978 802405E8 468052A0 */ cvt.s.w $f10, $f10 +/* B6C97C 802405EC 44075000 */ mfc1 $a3, $f10 +/* B6C980 802405F0 27A20028 */ addiu $v0, $sp, 0x28 +/* B6C984 802405F4 AFA20020 */ sw $v0, 0x20($sp) +/* B6C988 802405F8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B6C98C 802405FC E7A20014 */ swc1 $f2, 0x14($sp) +/* B6C990 80240600 0C01BFA4 */ jal fx_emote +/* B6C994 80240604 E7A40018 */ swc1 $f4, 0x18($sp) +/* B6C998 80240608 0200202D */ daddu $a0, $s0, $zero +/* B6C99C 8024060C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B6C9A0 80240610 0C012530 */ jal func_800494C0 +/* B6C9A4 80240614 3C060020 */ lui $a2, 0x20 +/* B6C9A8 80240618 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B6C9AC 8024061C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B6C9B0 80240620 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B6C9B4 80240624 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B6C9B8 80240628 8C460028 */ lw $a2, 0x28($v0) +/* B6C9BC 8024062C 0C00A720 */ jal atan2 +/* B6C9C0 80240630 8C470030 */ lw $a3, 0x30($v0) +/* B6C9C4 80240634 2402000C */ addiu $v0, $zero, 0xc +/* B6C9C8 80240638 E600000C */ swc1 $f0, 0xc($s0) +/* B6C9CC 8024063C 08090215 */ j .L80240854 +/* B6C9D0 80240640 AE620070 */ sw $v0, 0x70($s3) +.L80240644: +/* B6C9D4 80240644 8E620074 */ lw $v0, 0x74($s3) +/* B6C9D8 80240648 2442FFFF */ addiu $v0, $v0, -1 +.L8024064C: +/* B6C9DC 8024064C AE620074 */ sw $v0, 0x74($s3) +.L80240650: +/* B6C9E0 80240650 C6000018 */ lwc1 $f0, 0x18($s0) +/* B6C9E4 80240654 44801000 */ mtc1 $zero, $f2 +/* B6C9E8 80240658 44801800 */ mtc1 $zero, $f3 +/* B6C9EC 8024065C 46000021 */ cvt.d.s $f0, $f0 +/* B6C9F0 80240660 4620103C */ c.lt.d $f2, $f0 +/* B6C9F4 80240664 00000000 */ nop +/* B6C9F8 80240668 45000025 */ bc1f .L80240700 +/* B6C9FC 8024066C 27A5002C */ addiu $a1, $sp, 0x2c +/* B6CA00 80240670 C6000038 */ lwc1 $f0, 0x38($s0) +/* B6CA04 80240674 860200A6 */ lh $v0, 0xa6($s0) +/* B6CA08 80240678 3C018024 */ lui $at, 0x8024 +/* B6CA0C 8024067C D4224480 */ ldc1 $f2, 0x4480($at) +/* B6CA10 80240680 27A60030 */ addiu $a2, $sp, 0x30 +/* B6CA14 80240684 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B6CA18 80240688 44820000 */ mtc1 $v0, $f0 +/* B6CA1C 8024068C 00000000 */ nop +/* B6CA20 80240690 46800020 */ cvt.s.w $f0, $f0 +/* B6CA24 80240694 46000021 */ cvt.d.s $f0, $f0 +/* B6CA28 80240698 C604003C */ lwc1 $f4, 0x3c($s0) +/* B6CA2C 8024069C C6060040 */ lwc1 $f6, 0x40($s0) +/* B6CA30 802406A0 C6080018 */ lwc1 $f8, 0x18($s0) +/* B6CA34 802406A4 860200A8 */ lh $v0, 0xa8($s0) +/* B6CA38 802406A8 46220002 */ mul.d $f0, $f0, $f2 +/* B6CA3C 802406AC 00000000 */ nop +/* B6CA40 802406B0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B6CA44 802406B4 E7A60034 */ swc1 $f6, 0x34($sp) +/* B6CA48 802406B8 E7A80010 */ swc1 $f8, 0x10($sp) +/* B6CA4C 802406BC C604000C */ lwc1 $f4, 0xc($s0) +/* B6CA50 802406C0 44821000 */ mtc1 $v0, $f2 +/* B6CA54 802406C4 00000000 */ nop +/* B6CA58 802406C8 468010A0 */ cvt.s.w $f2, $f2 +/* B6CA5C 802406CC E7A20018 */ swc1 $f2, 0x18($sp) +/* B6CA60 802406D0 E7A40014 */ swc1 $f4, 0x14($sp) +/* B6CA64 802406D4 46200020 */ cvt.s.d $f0, $f0 +/* B6CA68 802406D8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B6CA6C 802406DC 8E040080 */ lw $a0, 0x80($s0) +/* B6CA70 802406E0 0C037711 */ jal func_800DDC44 +/* B6CA74 802406E4 27A70034 */ addiu $a3, $sp, 0x34 +/* B6CA78 802406E8 54400005 */ bnel $v0, $zero, .L80240700 +/* B6CA7C 802406EC AE000018 */ sw $zero, 0x18($s0) +/* B6CA80 802406F0 8E050018 */ lw $a1, 0x18($s0) +/* B6CA84 802406F4 8E06000C */ lw $a2, 0xc($s0) +/* B6CA88 802406F8 0C00EA95 */ jal npc_move_heading +/* B6CA8C 802406FC 0200202D */ daddu $a0, $s0, $zero +.L80240700: +/* B6CA90 80240700 C600001C */ lwc1 $f0, 0x1c($s0) +/* B6CA94 80240704 44801000 */ mtc1 $zero, $f2 +/* B6CA98 80240708 44801800 */ mtc1 $zero, $f3 +/* B6CA9C 8024070C 46000021 */ cvt.d.s $f0, $f0 +/* B6CAA0 80240710 4622003C */ c.lt.d $f0, $f2 +/* B6CAA4 80240714 00000000 */ nop +/* B6CAA8 80240718 45000047 */ bc1f .L80240838 +/* B6CAAC 8024071C 27A5002C */ addiu $a1, $sp, 0x2c +/* B6CAB0 80240720 27A60030 */ addiu $a2, $sp, 0x30 +/* B6CAB4 80240724 27A20038 */ addiu $v0, $sp, 0x38 +/* B6CAB8 80240728 C602003C */ lwc1 $f2, 0x3c($s0) +/* B6CABC 8024072C C6060038 */ lwc1 $f6, 0x38($s0) +/* B6CAC0 80240730 3C01402A */ lui $at, 0x402a +/* B6CAC4 80240734 4481A800 */ mtc1 $at, $f21 +/* B6CAC8 80240738 4480A000 */ mtc1 $zero, $f20 +/* B6CACC 8024073C 460010A1 */ cvt.d.s $f2, $f2 +/* B6CAD0 80240740 46341080 */ add.d $f2, $f2, $f20 +/* B6CAD4 80240744 C600001C */ lwc1 $f0, 0x1c($s0) +/* B6CAD8 80240748 C6040040 */ lwc1 $f4, 0x40($s0) +/* B6CADC 8024074C 46000005 */ abs.s $f0, $f0 +/* B6CAE0 80240750 E7A40034 */ swc1 $f4, 0x34($sp) +/* B6CAE4 80240754 3C014030 */ lui $at, 0x4030 +/* B6CAE8 80240758 44812800 */ mtc1 $at, $f5 +/* B6CAEC 8024075C 44802000 */ mtc1 $zero, $f4 +/* B6CAF0 80240760 46000021 */ cvt.d.s $f0, $f0 +/* B6CAF4 80240764 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B6CAF8 80240768 46240000 */ add.d $f0, $f0, $f4 +/* B6CAFC 8024076C 462010A0 */ cvt.s.d $f2, $f2 +/* B6CB00 80240770 E7A20030 */ swc1 $f2, 0x30($sp) +/* B6CB04 80240774 46200020 */ cvt.s.d $f0, $f0 +/* B6CB08 80240778 E7A00038 */ swc1 $f0, 0x38($sp) +/* B6CB0C 8024077C AFA20010 */ sw $v0, 0x10($sp) +/* B6CB10 80240780 8E040080 */ lw $a0, 0x80($s0) +/* B6CB14 80240784 0C0372DF */ jal func_800DCB7C +/* B6CB18 80240788 27A70034 */ addiu $a3, $sp, 0x34 +/* B6CB1C 8024078C 1040002A */ beqz $v0, .L80240838 +/* B6CB20 80240790 00000000 */ nop +/* B6CB24 80240794 C600001C */ lwc1 $f0, 0x1c($s0) +/* B6CB28 80240798 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B6CB2C 8024079C 46000005 */ abs.s $f0, $f0 +/* B6CB30 802407A0 46000021 */ cvt.d.s $f0, $f0 +/* B6CB34 802407A4 46340000 */ add.d $f0, $f0, $f20 +/* B6CB38 802407A8 460010A1 */ cvt.d.s $f2, $f2 +/* B6CB3C 802407AC 4620103E */ c.le.d $f2, $f0 +/* B6CB40 802407B0 00000000 */ nop +/* B6CB44 802407B4 45000020 */ bc1f .L80240838 +/* B6CB48 802407B8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B6CB4C 802407BC C7A00030 */ lwc1 $f0, 0x30($sp) +/* B6CB50 802407C0 8E020000 */ lw $v0, ($s0) +/* B6CB54 802407C4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B6CB58 802407C8 AE00001C */ sw $zero, 0x1c($s0) +/* B6CB5C 802407CC 00431024 */ and $v0, $v0, $v1 +/* B6CB60 802407D0 AE020000 */ sw $v0, ($s0) +/* B6CB64 802407D4 24020002 */ addiu $v0, $zero, 2 +/* B6CB68 802407D8 E600003C */ swc1 $f0, 0x3c($s0) +/* B6CB6C 802407DC 0C00A67F */ jal rand_int +/* B6CB70 802407E0 AE620070 */ sw $v0, 0x70($s3) +/* B6CB74 802407E4 3C035555 */ lui $v1, 0x5555 +/* B6CB78 802407E8 34635556 */ ori $v1, $v1, 0x5556 +/* B6CB7C 802407EC 00430018 */ mult $v0, $v1 +/* B6CB80 802407F0 000227C3 */ sra $a0, $v0, 0x1f +/* B6CB84 802407F4 00004010 */ mfhi $t0 +/* B6CB88 802407F8 01042023 */ subu $a0, $t0, $a0 +/* B6CB8C 802407FC 00041840 */ sll $v1, $a0, 1 +/* B6CB90 80240800 00641821 */ addu $v1, $v1, $a0 +/* B6CB94 80240804 00431023 */ subu $v0, $v0, $v1 +/* B6CB98 80240808 24430002 */ addiu $v1, $v0, 2 +/* B6CB9C 8024080C AE630074 */ sw $v1, 0x74($s3) +/* B6CBA0 80240810 8E82002C */ lw $v0, 0x2c($s4) +/* B6CBA4 80240814 5840000F */ blezl $v0, .L80240854 +/* B6CBA8 80240818 AE600070 */ sw $zero, 0x70($s3) +/* B6CBAC 8024081C 8E820004 */ lw $v0, 4($s4) +/* B6CBB0 80240820 5840000C */ blezl $v0, .L80240854 +/* B6CBB4 80240824 AE600070 */ sw $zero, 0x70($s3) +/* B6CBB8 80240828 1460000A */ bnez $v1, .L80240854 +/* B6CBBC 8024082C 00000000 */ nop +/* B6CBC0 80240830 08090215 */ j .L80240854 +/* B6CBC4 80240834 AE600070 */ sw $zero, 0x70($s3) +.L80240838: +/* B6CBC8 80240838 C604003C */ lwc1 $f4, 0x3c($s0) +/* B6CBCC 8024083C C600001C */ lwc1 $f0, 0x1c($s0) +/* B6CBD0 80240840 46002100 */ add.s $f4, $f4, $f0 +/* B6CBD4 80240844 C6020014 */ lwc1 $f2, 0x14($s0) +/* B6CBD8 80240848 46020001 */ sub.s $f0, $f0, $f2 +/* B6CBDC 8024084C E604003C */ swc1 $f4, 0x3c($s0) +/* B6CBE0 80240850 E600001C */ swc1 $f0, 0x1c($s0) +.L80240854: +/* B6CBE4 80240854 8FBF0054 */ lw $ra, 0x54($sp) +/* B6CBE8 80240858 8FB40050 */ lw $s4, 0x50($sp) +/* B6CBEC 8024085C 8FB3004C */ lw $s3, 0x4c($sp) +/* B6CBF0 80240860 8FB20048 */ lw $s2, 0x48($sp) +/* B6CBF4 80240864 8FB10044 */ lw $s1, 0x44($sp) +/* B6CBF8 80240868 8FB00040 */ lw $s0, 0x40($sp) +/* B6CBFC 8024086C D7B40058 */ ldc1 $f20, 0x58($sp) +/* B6CC00 80240870 03E00008 */ jr $ra +/* B6CC04 80240874 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240878_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240878_B6C390.s new file mode 100644 index 0000000000..d5b113d141 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240878_B6C390.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240878_B6CC08 +/* B6CC08 80240878 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B6CC0C 8024087C AFB3001C */ sw $s3, 0x1c($sp) +/* B6CC10 80240880 0080982D */ daddu $s3, $a0, $zero +/* B6CC14 80240884 AFBF0020 */ sw $ra, 0x20($sp) +/* B6CC18 80240888 AFB20018 */ sw $s2, 0x18($sp) +/* B6CC1C 8024088C AFB10014 */ sw $s1, 0x14($sp) +/* B6CC20 80240890 AFB00010 */ sw $s0, 0x10($sp) +/* B6CC24 80240894 8E720148 */ lw $s2, 0x148($s3) +/* B6CC28 80240898 86440008 */ lh $a0, 8($s2) +/* B6CC2C 8024089C 0C00EABB */ jal get_npc_unsafe +/* B6CC30 802408A0 00A0882D */ daddu $s1, $a1, $zero +/* B6CC34 802408A4 8E240008 */ lw $a0, 8($s1) +/* B6CC38 802408A8 0040802D */ daddu $s0, $v0, $zero +/* B6CC3C 802408AC 00041FC2 */ srl $v1, $a0, 0x1f +/* B6CC40 802408B0 00832021 */ addu $a0, $a0, $v1 +/* B6CC44 802408B4 00042043 */ sra $a0, $a0, 1 +/* B6CC48 802408B8 0C00A67F */ jal rand_int +/* B6CC4C 802408BC 24840001 */ addiu $a0, $a0, 1 +/* B6CC50 802408C0 8E230008 */ lw $v1, 8($s1) +/* B6CC54 802408C4 240400B4 */ addiu $a0, $zero, 0xb4 +/* B6CC58 802408C8 00032FC2 */ srl $a1, $v1, 0x1f +/* B6CC5C 802408CC 00651821 */ addu $v1, $v1, $a1 +/* B6CC60 802408D0 00031843 */ sra $v1, $v1, 1 +/* B6CC64 802408D4 00621821 */ addu $v1, $v1, $v0 +/* B6CC68 802408D8 0C00A67F */ jal rand_int +/* B6CC6C 802408DC A603008E */ sh $v1, 0x8e($s0) +/* B6CC70 802408E0 C60C000C */ lwc1 $f12, 0xc($s0) +/* B6CC74 802408E4 44820000 */ mtc1 $v0, $f0 +/* B6CC78 802408E8 00000000 */ nop +/* B6CC7C 802408EC 46800020 */ cvt.s.w $f0, $f0 +/* B6CC80 802408F0 46006300 */ add.s $f12, $f12, $f0 +/* B6CC84 802408F4 3C0142B4 */ lui $at, 0x42b4 +/* B6CC88 802408F8 44810000 */ mtc1 $at, $f0 +/* B6CC8C 802408FC 0C00A6C9 */ jal clamp_angle +/* B6CC90 80240900 46006301 */ sub.s $f12, $f12, $f0 +/* B6CC94 80240904 E600000C */ swc1 $f0, 0xc($s0) +/* B6CC98 80240908 8E4200CC */ lw $v0, 0xcc($s2) +/* B6CC9C 8024090C 8C420000 */ lw $v0, ($v0) +/* B6CCA0 80240910 AE020028 */ sw $v0, 0x28($s0) +/* B6CCA4 80240914 24020003 */ addiu $v0, $zero, 3 +/* B6CCA8 80240918 AE620070 */ sw $v0, 0x70($s3) +/* B6CCAC 8024091C 8FBF0020 */ lw $ra, 0x20($sp) +/* B6CCB0 80240920 8FB3001C */ lw $s3, 0x1c($sp) +/* B6CCB4 80240924 8FB20018 */ lw $s2, 0x18($sp) +/* B6CCB8 80240928 8FB10014 */ lw $s1, 0x14($sp) +/* B6CCBC 8024092C 8FB00010 */ lw $s0, 0x10($sp) +/* B6CCC0 80240930 03E00008 */ jr $ra +/* B6CCC4 80240934 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240938.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240938.s new file mode 100644 index 0000000000..bf356cb9cd --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240938.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240938 +/* B6CCC8 80240938 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B6CCCC 8024093C AFB40040 */ sw $s4, 0x40($sp) +/* B6CCD0 80240940 0080A02D */ daddu $s4, $a0, $zero +/* B6CCD4 80240944 AFBF0044 */ sw $ra, 0x44($sp) +/* B6CCD8 80240948 AFB3003C */ sw $s3, 0x3c($sp) +/* B6CCDC 8024094C AFB20038 */ sw $s2, 0x38($sp) +/* B6CCE0 80240950 AFB10034 */ sw $s1, 0x34($sp) +/* B6CCE4 80240954 AFB00030 */ sw $s0, 0x30($sp) +/* B6CCE8 80240958 8E920148 */ lw $s2, 0x148($s4) +/* B6CCEC 8024095C 00A0882D */ daddu $s1, $a1, $zero +/* B6CCF0 80240960 86440008 */ lh $a0, 8($s2) +/* B6CCF4 80240964 0C00EABB */ jal get_npc_unsafe +/* B6CCF8 80240968 00C0982D */ daddu $s3, $a2, $zero +/* B6CCFC 8024096C 8E230014 */ lw $v1, 0x14($s1) +/* B6CD00 80240970 0460002D */ bltz $v1, .L80240A28 +/* B6CD04 80240974 0040802D */ daddu $s0, $v0, $zero +/* B6CD08 80240978 0260202D */ daddu $a0, $s3, $zero +/* B6CD0C 8024097C AFA00010 */ sw $zero, 0x10($sp) +/* B6CD10 80240980 8E260024 */ lw $a2, 0x24($s1) +/* B6CD14 80240984 8E270028 */ lw $a3, 0x28($s1) +/* B6CD18 80240988 0C01242D */ jal func_800490B4 +/* B6CD1C 8024098C 0240282D */ daddu $a1, $s2, $zero +/* B6CD20 80240990 10400025 */ beqz $v0, .L80240A28 +/* B6CD24 80240994 0000202D */ daddu $a0, $zero, $zero +/* B6CD28 80240998 0200282D */ daddu $a1, $s0, $zero +/* B6CD2C 8024099C 0000302D */ daddu $a2, $zero, $zero +/* B6CD30 802409A0 860300A8 */ lh $v1, 0xa8($s0) +/* B6CD34 802409A4 3C013F80 */ lui $at, 0x3f80 +/* B6CD38 802409A8 44810000 */ mtc1 $at, $f0 +/* B6CD3C 802409AC 3C014000 */ lui $at, 0x4000 +/* B6CD40 802409B0 44811000 */ mtc1 $at, $f2 +/* B6CD44 802409B4 3C01C1A0 */ lui $at, 0xc1a0 +/* B6CD48 802409B8 44812000 */ mtc1 $at, $f4 +/* B6CD4C 802409BC 2402000F */ addiu $v0, $zero, 0xf +/* B6CD50 802409C0 AFA2001C */ sw $v0, 0x1c($sp) +/* B6CD54 802409C4 44833000 */ mtc1 $v1, $f6 +/* B6CD58 802409C8 00000000 */ nop +/* B6CD5C 802409CC 468031A0 */ cvt.s.w $f6, $f6 +/* B6CD60 802409D0 44073000 */ mfc1 $a3, $f6 +/* B6CD64 802409D4 27A20028 */ addiu $v0, $sp, 0x28 +/* B6CD68 802409D8 AFA20020 */ sw $v0, 0x20($sp) +/* B6CD6C 802409DC E7A00010 */ swc1 $f0, 0x10($sp) +/* B6CD70 802409E0 E7A20014 */ swc1 $f2, 0x14($sp) +/* B6CD74 802409E4 0C01BFA4 */ jal fx_emote +/* B6CD78 802409E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* B6CD7C 802409EC 0200202D */ daddu $a0, $s0, $zero +/* B6CD80 802409F0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B6CD84 802409F4 0C012530 */ jal func_800494C0 +/* B6CD88 802409F8 3C060020 */ lui $a2, 0x20 +/* B6CD8C 802409FC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B6CD90 80240A00 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B6CD94 80240A04 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B6CD98 80240A08 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B6CD9C 80240A0C 8C460028 */ lw $a2, 0x28($v0) +/* B6CDA0 80240A10 0C00A720 */ jal atan2 +/* B6CDA4 80240A14 8C470030 */ lw $a3, 0x30($v0) +/* B6CDA8 80240A18 2402000C */ addiu $v0, $zero, 0xc +/* B6CDAC 80240A1C E600000C */ swc1 $f0, 0xc($s0) +/* B6CDB0 80240A20 080902AF */ j .L80240ABC +/* B6CDB4 80240A24 AE820070 */ sw $v0, 0x70($s4) +.L80240A28: +/* B6CDB8 80240A28 8602008C */ lh $v0, 0x8c($s0) +/* B6CDBC 80240A2C 14400023 */ bnez $v0, .L80240ABC +/* B6CDC0 80240A30 00000000 */ nop +/* B6CDC4 80240A34 9602008E */ lhu $v0, 0x8e($s0) +/* B6CDC8 80240A38 2442FFFF */ addiu $v0, $v0, -1 +/* B6CDCC 80240A3C A602008E */ sh $v0, 0x8e($s0) +/* B6CDD0 80240A40 00021400 */ sll $v0, $v0, 0x10 +/* B6CDD4 80240A44 1C40001D */ bgtz $v0, .L80240ABC +/* B6CDD8 80240A48 00000000 */ nop +/* B6CDDC 80240A4C 8E820074 */ lw $v0, 0x74($s4) +/* B6CDE0 80240A50 2442FFFF */ addiu $v0, $v0, -1 +/* B6CDE4 80240A54 18400018 */ blez $v0, .L80240AB8 +/* B6CDE8 80240A58 AE820074 */ sw $v0, 0x74($s4) +/* B6CDEC 80240A5C C600000C */ lwc1 $f0, 0xc($s0) +/* B6CDF0 80240A60 3C014334 */ lui $at, 0x4334 +/* B6CDF4 80240A64 44816000 */ mtc1 $at, $f12 +/* B6CDF8 80240A68 0C00A6C9 */ jal clamp_angle +/* B6CDFC 80240A6C 460C0300 */ add.s $f12, $f0, $f12 +/* B6CE00 80240A70 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B6CE04 80240A74 0C00A67F */ jal rand_int +/* B6CE08 80240A78 E600000C */ swc1 $f0, 0xc($s0) +/* B6CE0C 80240A7C 3C032E8B */ lui $v1, 0x2e8b +/* B6CE10 80240A80 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B6CE14 80240A84 00430018 */ mult $v0, $v1 +/* B6CE18 80240A88 00021FC3 */ sra $v1, $v0, 0x1f +/* B6CE1C 80240A8C 00004010 */ mfhi $t0 +/* B6CE20 80240A90 00082043 */ sra $a0, $t0, 1 +/* B6CE24 80240A94 00832023 */ subu $a0, $a0, $v1 +/* B6CE28 80240A98 00041840 */ sll $v1, $a0, 1 +/* B6CE2C 80240A9C 00641821 */ addu $v1, $v1, $a0 +/* B6CE30 80240AA0 00031880 */ sll $v1, $v1, 2 +/* B6CE34 80240AA4 00641823 */ subu $v1, $v1, $a0 +/* B6CE38 80240AA8 00431023 */ subu $v0, $v0, $v1 +/* B6CE3C 80240AAC 24420005 */ addiu $v0, $v0, 5 +/* B6CE40 80240AB0 080902AF */ j .L80240ABC +/* B6CE44 80240AB4 A602008E */ sh $v0, 0x8e($s0) +.L80240AB8: +/* B6CE48 80240AB8 AE800070 */ sw $zero, 0x70($s4) +.L80240ABC: +/* B6CE4C 80240ABC 8FBF0044 */ lw $ra, 0x44($sp) +/* B6CE50 80240AC0 8FB40040 */ lw $s4, 0x40($sp) +/* B6CE54 80240AC4 8FB3003C */ lw $s3, 0x3c($sp) +/* B6CE58 80240AC8 8FB20038 */ lw $s2, 0x38($sp) +/* B6CE5C 80240ACC 8FB10034 */ lw $s1, 0x34($sp) +/* B6CE60 80240AD0 8FB00030 */ lw $s0, 0x30($sp) +/* B6CE64 80240AD4 03E00008 */ jr $ra +/* B6CE68 80240AD8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240ADC_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240ADC_B6C390.s new file mode 100644 index 0000000000..67b3507e5b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240ADC_B6C390.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ADC_B6CE6C +/* B6CE6C 80240ADC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B6CE70 80240AE0 AFB10014 */ sw $s1, 0x14($sp) +/* B6CE74 80240AE4 0080882D */ daddu $s1, $a0, $zero +/* B6CE78 80240AE8 AFBF001C */ sw $ra, 0x1c($sp) +/* B6CE7C 80240AEC AFB20018 */ sw $s2, 0x18($sp) +/* B6CE80 80240AF0 AFB00010 */ sw $s0, 0x10($sp) +/* B6CE84 80240AF4 8E220148 */ lw $v0, 0x148($s1) +/* B6CE88 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* B6CE8C 80240AFC 84440008 */ lh $a0, 8($v0) +/* B6CE90 80240B00 0C00EABB */ jal get_npc_unsafe +/* B6CE94 80240B04 00C0802D */ daddu $s0, $a2, $zero +/* B6CE98 80240B08 0220202D */ daddu $a0, $s1, $zero +/* B6CE9C 80240B0C 0240282D */ daddu $a1, $s2, $zero +/* B6CEA0 80240B10 0200302D */ daddu $a2, $s0, $zero +/* B6CEA4 80240B14 0C0127DF */ jal func_80049F7C +/* B6CEA8 80240B18 0040802D */ daddu $s0, $v0, $zero +/* B6CEAC 80240B1C 8E020000 */ lw $v0, ($s0) +/* B6CEB0 80240B20 24040005 */ addiu $a0, $zero, 5 +/* B6CEB4 80240B24 34420800 */ ori $v0, $v0, 0x800 +/* B6CEB8 80240B28 0C00A67F */ jal rand_int +/* B6CEBC 80240B2C AE020000 */ sw $v0, ($s0) +/* B6CEC0 80240B30 44820000 */ mtc1 $v0, $f0 +/* B6CEC4 80240B34 00000000 */ nop +/* B6CEC8 80240B38 46800021 */ cvt.d.w $f0, $f0 +/* B6CECC 80240B3C 3C014024 */ lui $at, 0x4024 +/* B6CED0 80240B40 44811800 */ mtc1 $at, $f3 +/* B6CED4 80240B44 44801000 */ mtc1 $zero, $f2 +/* B6CED8 80240B48 3C013FC0 */ lui $at, 0x3fc0 +/* B6CEDC 80240B4C 44812000 */ mtc1 $at, $f4 +/* B6CEE0 80240B50 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B6CEE4 80240B54 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B6CEE8 80240B58 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B6CEEC 80240B5C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B6CEF0 80240B60 46220000 */ add.d $f0, $f0, $f2 +/* B6CEF4 80240B64 E6040014 */ swc1 $f4, 0x14($s0) +/* B6CEF8 80240B68 46200020 */ cvt.s.d $f0, $f0 +/* B6CEFC 80240B6C E600001C */ swc1 $f0, 0x1c($s0) +/* B6CF00 80240B70 8C460028 */ lw $a2, 0x28($v0) +/* B6CF04 80240B74 0C00A720 */ jal atan2 +/* B6CF08 80240B78 8C470030 */ lw $a3, 0x30($v0) +/* B6CF0C 80240B7C 0200202D */ daddu $a0, $s0, $zero +/* B6CF10 80240B80 3C05B000 */ lui $a1, 0xb000 +/* B6CF14 80240B84 34A50017 */ ori $a1, $a1, 0x17 +/* B6CF18 80240B88 0000302D */ daddu $a2, $zero, $zero +/* B6CF1C 80240B8C E480000C */ swc1 $f0, 0xc($a0) +/* B6CF20 80240B90 C6400018 */ lwc1 $f0, 0x18($s2) +/* B6CF24 80240B94 2402000D */ addiu $v0, $zero, 0xd +/* B6CF28 80240B98 E4800018 */ swc1 $f0, 0x18($a0) +/* B6CF2C 80240B9C 0C012530 */ jal func_800494C0 +/* B6CF30 80240BA0 AE220070 */ sw $v0, 0x70($s1) +/* B6CF34 80240BA4 8FBF001C */ lw $ra, 0x1c($sp) +/* B6CF38 80240BA8 8FB20018 */ lw $s2, 0x18($sp) +/* B6CF3C 80240BAC 8FB10014 */ lw $s1, 0x14($sp) +/* B6CF40 80240BB0 8FB00010 */ lw $s0, 0x10($sp) +/* B6CF44 80240BB4 03E00008 */ jr $ra +/* B6CF48 80240BB8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240EBC.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240EBC.s new file mode 100644 index 0000000000..9b65c12b66 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240EBC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EBC +/* B6D24C 80240EBC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B6D250 80240EC0 AFB00010 */ sw $s0, 0x10($sp) +/* B6D254 80240EC4 0080802D */ daddu $s0, $a0, $zero +/* B6D258 80240EC8 AFBF0014 */ sw $ra, 0x14($sp) +/* B6D25C 80240ECC 8E020148 */ lw $v0, 0x148($s0) +/* B6D260 80240ED0 0C00EABB */ jal get_npc_unsafe +/* B6D264 80240ED4 84440008 */ lh $a0, 8($v0) +/* B6D268 80240ED8 9443008E */ lhu $v1, 0x8e($v0) +/* B6D26C 80240EDC 2463FFFF */ addiu $v1, $v1, -1 +/* B6D270 80240EE0 A443008E */ sh $v1, 0x8e($v0) +/* B6D274 80240EE4 00031C00 */ sll $v1, $v1, 0x10 +/* B6D278 80240EE8 58600001 */ blezl $v1, .L80240EF0 +/* B6D27C 80240EEC AE000070 */ sw $zero, 0x70($s0) +.L80240EF0: +/* B6D280 80240EF0 8FBF0014 */ lw $ra, 0x14($sp) +/* B6D284 80240EF4 8FB00010 */ lw $s0, 0x10($sp) +/* B6D288 80240EF8 03E00008 */ jr $ra +/* B6D28C 80240EFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80240F00.s b/asm/nonmatchings/world/area_jan/jan_10/func_80240F00.s new file mode 100644 index 0000000000..635180ed75 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80240F00.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F00 +/* B6D290 80240F00 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B6D294 80240F04 AFB3003C */ sw $s3, 0x3c($sp) +/* B6D298 80240F08 0080982D */ daddu $s3, $a0, $zero +/* B6D29C 80240F0C AFBF0048 */ sw $ra, 0x48($sp) +/* B6D2A0 80240F10 AFB50044 */ sw $s5, 0x44($sp) +/* B6D2A4 80240F14 AFB40040 */ sw $s4, 0x40($sp) +/* B6D2A8 80240F18 AFB20038 */ sw $s2, 0x38($sp) +/* B6D2AC 80240F1C AFB10034 */ sw $s1, 0x34($sp) +/* B6D2B0 80240F20 AFB00030 */ sw $s0, 0x30($sp) +/* B6D2B4 80240F24 8E720148 */ lw $s2, 0x148($s3) +/* B6D2B8 80240F28 86440008 */ lh $a0, 8($s2) +/* B6D2BC 80240F2C 8E70000C */ lw $s0, 0xc($s3) +/* B6D2C0 80240F30 0C00EABB */ jal get_npc_unsafe +/* B6D2C4 80240F34 00A0882D */ daddu $s1, $a1, $zero +/* B6D2C8 80240F38 8E050000 */ lw $a1, ($s0) +/* B6D2CC 80240F3C 26100004 */ addiu $s0, $s0, 4 +/* B6D2D0 80240F40 0260202D */ daddu $a0, $s3, $zero +/* B6D2D4 80240F44 0C0B1EAF */ jal get_variable +/* B6D2D8 80240F48 0040A82D */ daddu $s5, $v0, $zero +/* B6D2DC 80240F4C 0260202D */ daddu $a0, $s3, $zero +/* B6D2E0 80240F50 8E050000 */ lw $a1, ($s0) +/* B6D2E4 80240F54 0C0B1EAF */ jal get_variable +/* B6D2E8 80240F58 0040A02D */ daddu $s4, $v0, $zero +/* B6D2EC 80240F5C AE420094 */ sw $v0, 0x94($s2) +/* B6D2F0 80240F60 AFA00010 */ sw $zero, 0x10($sp) +/* B6D2F4 80240F64 8E4200D0 */ lw $v0, 0xd0($s2) +/* B6D2F8 80240F68 8C420030 */ lw $v0, 0x30($v0) +/* B6D2FC 80240F6C AFA20014 */ sw $v0, 0x14($sp) +/* B6D300 80240F70 8E4200D0 */ lw $v0, 0xd0($s2) +/* B6D304 80240F74 8C42001C */ lw $v0, 0x1c($v0) +/* B6D308 80240F78 AFA20018 */ sw $v0, 0x18($sp) +/* B6D30C 80240F7C 8E4200D0 */ lw $v0, 0xd0($s2) +/* B6D310 80240F80 8C420024 */ lw $v0, 0x24($v0) +/* B6D314 80240F84 AFA2001C */ sw $v0, 0x1c($sp) +/* B6D318 80240F88 8E4200D0 */ lw $v0, 0xd0($s2) +/* B6D31C 80240F8C 8C420028 */ lw $v0, 0x28($v0) +/* B6D320 80240F90 AFA20020 */ sw $v0, 0x20($sp) +/* B6D324 80240F94 8E4200D0 */ lw $v0, 0xd0($s2) +/* B6D328 80240F98 3C0142C8 */ lui $at, 0x42c8 +/* B6D32C 80240F9C 44810000 */ mtc1 $at, $f0 +/* B6D330 80240FA0 8C42002C */ lw $v0, 0x2c($v0) +/* B6D334 80240FA4 27B00010 */ addiu $s0, $sp, 0x10 +/* B6D338 80240FA8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B6D33C 80240FAC A7A0002C */ sh $zero, 0x2c($sp) +/* B6D340 80240FB0 12200019 */ beqz $s1, .L80241018 +/* B6D344 80240FB4 AFA20024 */ sw $v0, 0x24($sp) +/* B6D348 80240FB8 AE600070 */ sw $zero, 0x70($s3) +/* B6D34C 80240FBC A6A0008E */ sh $zero, 0x8e($s5) +/* B6D350 80240FC0 AE600074 */ sw $zero, 0x74($s3) +/* B6D354 80240FC4 8EA20000 */ lw $v0, ($s5) +/* B6D358 80240FC8 2403F7FF */ addiu $v1, $zero, -0x801 +/* B6D35C 80240FCC 00431024 */ and $v0, $v0, $v1 +/* B6D360 80240FD0 2403FDFF */ addiu $v1, $zero, -0x201 +/* B6D364 80240FD4 00431024 */ and $v0, $v0, $v1 +/* B6D368 80240FD8 34420008 */ ori $v0, $v0, 8 +/* B6D36C 80240FDC AEA20000 */ sw $v0, ($s5) +/* B6D370 80240FE0 8E4200B0 */ lw $v0, 0xb0($s2) +/* B6D374 80240FE4 34420018 */ ori $v0, $v0, 0x18 +/* B6D378 80240FE8 AE4200B0 */ sw $v0, 0xb0($s2) +/* B6D37C 80240FEC 8E420000 */ lw $v0, ($s2) +/* B6D380 80240FF0 3C034000 */ lui $v1, 0x4000 +/* B6D384 80240FF4 00431024 */ and $v0, $v0, $v1 +/* B6D388 80240FF8 10400007 */ beqz $v0, .L80241018 +/* B6D38C 80240FFC 3C03BFFF */ lui $v1, 0xbfff +/* B6D390 80241000 2402000C */ addiu $v0, $zero, 0xc +/* B6D394 80241004 AE620070 */ sw $v0, 0x70($s3) +/* B6D398 80241008 8E420000 */ lw $v0, ($s2) +/* B6D39C 8024100C 3463FFFF */ ori $v1, $v1, 0xffff +/* B6D3A0 80241010 00431024 */ and $v0, $v0, $v1 +/* B6D3A4 80241014 AE420000 */ sw $v0, ($s2) +.L80241018: +/* B6D3A8 80241018 8E4300B0 */ lw $v1, 0xb0($s2) +/* B6D3AC 8024101C 30620004 */ andi $v0, $v1, 4 +/* B6D3B0 80241020 10400007 */ beqz $v0, .L80241040 +/* B6D3B4 80241024 00000000 */ nop +/* B6D3B8 80241028 824200B4 */ lb $v0, 0xb4($s2) +/* B6D3BC 8024102C 14400034 */ bnez $v0, .L80241100 +/* B6D3C0 80241030 0000102D */ daddu $v0, $zero, $zero +/* B6D3C4 80241034 2402FFFB */ addiu $v0, $zero, -5 +/* B6D3C8 80241038 00621024 */ and $v0, $v1, $v0 +/* B6D3CC 8024103C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241040: +/* B6D3D0 80241040 8E630070 */ lw $v1, 0x70($s3) +/* B6D3D4 80241044 2C62000F */ sltiu $v0, $v1, 0xf +/* B6D3D8 80241048 1040002C */ beqz $v0, .L802410FC +/* B6D3DC 8024104C 00031080 */ sll $v0, $v1, 2 +/* B6D3E0 80241050 3C018024 */ lui $at, 0x8024 +/* B6D3E4 80241054 00220821 */ addu $at, $at, $v0 +/* B6D3E8 80241058 8C224488 */ lw $v0, 0x4488($at) +/* B6D3EC 8024105C 00400008 */ jr $v0 +/* B6D3F0 80241060 00000000 */ nop +/* B6D3F4 80241064 0260202D */ daddu $a0, $s3, $zero +/* B6D3F8 80241068 0280282D */ daddu $a1, $s4, $zero +/* B6D3FC 8024106C 0C0900C4 */ jal func_80240310 +/* B6D400 80241070 0200302D */ daddu $a2, $s0, $zero +/* B6D404 80241074 0260202D */ daddu $a0, $s3, $zero +/* B6D408 80241078 0280282D */ daddu $a1, $s4, $zero +/* B6D40C 8024107C 0C090150 */ jal func_80240540 +/* B6D410 80241080 0200302D */ daddu $a2, $s0, $zero +/* B6D414 80241084 08090440 */ j .L80241100 +/* B6D418 80241088 0000102D */ daddu $v0, $zero, $zero +/* B6D41C 8024108C 0260202D */ daddu $a0, $s3, $zero +/* B6D420 80241090 0280282D */ daddu $a1, $s4, $zero +/* B6D424 80241094 0C09021E */ jal func_80240878 +/* B6D428 80241098 0200302D */ daddu $a2, $s0, $zero +/* B6D42C 8024109C 8E630070 */ lw $v1, 0x70($s3) +/* B6D430 802410A0 24020003 */ addiu $v0, $zero, 3 +/* B6D434 802410A4 14620016 */ bne $v1, $v0, .L80241100 +/* B6D438 802410A8 0000102D */ daddu $v0, $zero, $zero +/* B6D43C 802410AC 0260202D */ daddu $a0, $s3, $zero +/* B6D440 802410B0 0280282D */ daddu $a1, $s4, $zero +/* B6D444 802410B4 0C09024E */ jal func_80240938 +/* B6D448 802410B8 0200302D */ daddu $a2, $s0, $zero +/* B6D44C 802410BC 08090440 */ j .L80241100 +/* B6D450 802410C0 0000102D */ daddu $v0, $zero, $zero +/* B6D454 802410C4 0260202D */ daddu $a0, $s3, $zero +/* B6D458 802410C8 0280282D */ daddu $a1, $s4, $zero +/* B6D45C 802410CC 0C0902B7 */ jal func_80240ADC +/* B6D460 802410D0 0200302D */ daddu $a2, $s0, $zero +/* B6D464 802410D4 0260202D */ daddu $a0, $s3, $zero +/* B6D468 802410D8 0280282D */ daddu $a1, $s4, $zero +/* B6D46C 802410DC 0C0902EF */ jal delete_actor +/* B6D470 802410E0 0200302D */ daddu $a2, $s0, $zero +/* B6D474 802410E4 08090440 */ j .L80241100 +/* B6D478 802410E8 0000102D */ daddu $v0, $zero, $zero +/* B6D47C 802410EC 0260202D */ daddu $a0, $s3, $zero +/* B6D480 802410F0 0280282D */ daddu $a1, $s4, $zero +/* B6D484 802410F4 0C0903AF */ jal func_80240EBC +/* B6D488 802410F8 0200302D */ daddu $a2, $s0, $zero +.L802410FC: +/* B6D48C 802410FC 0000102D */ daddu $v0, $zero, $zero +.L80241100: +/* B6D490 80241100 8FBF0048 */ lw $ra, 0x48($sp) +/* B6D494 80241104 8FB50044 */ lw $s5, 0x44($sp) +/* B6D498 80241108 8FB40040 */ lw $s4, 0x40($sp) +/* B6D49C 8024110C 8FB3003C */ lw $s3, 0x3c($sp) +/* B6D4A0 80241110 8FB20038 */ lw $s2, 0x38($sp) +/* B6D4A4 80241114 8FB10034 */ lw $s1, 0x34($sp) +/* B6D4A8 80241118 8FB00030 */ lw $s0, 0x30($sp) +/* B6D4AC 8024111C 03E00008 */ jr $ra +/* B6D4B0 80241120 27BD0050 */ addiu $sp, $sp, 0x50 +/* B6D4B4 80241124 00000000 */ nop +/* B6D4B8 80241128 00000000 */ nop +/* B6D4BC 8024112C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80241130_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80241130_B6C390.s new file mode 100644 index 0000000000..94d23ee5f8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80241130_B6C390.s @@ -0,0 +1,91 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241130_B6D4C0 +/* B6D4C0 80241130 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B6D4C4 80241134 AFB10034 */ sw $s1, 0x34($sp) +/* B6D4C8 80241138 0080882D */ daddu $s1, $a0, $zero +/* B6D4CC 8024113C AFBF0038 */ sw $ra, 0x38($sp) +/* B6D4D0 80241140 AFB00030 */ sw $s0, 0x30($sp) +/* B6D4D4 80241144 10A00016 */ beqz $a1, .L802411A0 +/* B6D4D8 80241148 8E30000C */ lw $s0, 0xc($s1) +/* B6D4DC 8024114C 8E050000 */ lw $a1, ($s0) +/* B6D4E0 80241150 0C0B1EAF */ jal get_variable +/* B6D4E4 80241154 26100004 */ addiu $s0, $s0, 4 +/* B6D4E8 80241158 8E030000 */ lw $v1, ($s0) +/* B6D4EC 8024115C 0040202D */ daddu $a0, $v0, $zero +/* B6D4F0 80241160 0C046C04 */ jal get_model_list_index_from_tree_index +/* B6D4F4 80241164 AE23007C */ sw $v1, 0x7c($s1) +/* B6D4F8 80241168 0C046B4C */ jal get_model_from_list_index +/* B6D4FC 8024116C 0040202D */ daddu $a0, $v0, $zero +/* B6D500 80241170 0040802D */ daddu $s0, $v0, $zero +/* B6D504 80241174 0000202D */ daddu $a0, $zero, $zero +/* B6D508 80241178 AE300074 */ sw $s0, 0x74($s1) +/* B6D50C 8024117C 8E050098 */ lw $a1, 0x98($s0) +/* B6D510 80241180 8E0700A0 */ lw $a3, 0xa0($s0) +/* B6D514 80241184 0C044898 */ jal create_shadow_type +/* B6D518 80241188 0000302D */ daddu $a2, $zero, $zero +/* B6D51C 8024118C 0220202D */ daddu $a0, $s1, $zero +/* B6D520 80241190 8E25007C */ lw $a1, 0x7c($s1) +/* B6D524 80241194 0000302D */ daddu $a2, $zero, $zero +/* B6D528 80241198 0C0B2026 */ jal set_variable +/* B6D52C 8024119C AE220078 */ sw $v0, 0x78($s1) +.L802411A0: +/* B6D530 802411A0 8E25007C */ lw $a1, 0x7c($s1) +/* B6D534 802411A4 0C0B1EAF */ jal get_variable +/* B6D538 802411A8 0220202D */ daddu $a0, $s1, $zero +/* B6D53C 802411AC 1440002A */ bnez $v0, .L80241258 +/* B6D540 802411B0 00000000 */ nop +/* B6D544 802411B4 8E240078 */ lw $a0, 0x78($s1) +/* B6D548 802411B8 0C044181 */ jal get_shadow_by_index +/* B6D54C 802411BC 8E300074 */ lw $s0, 0x74($s1) +/* B6D550 802411C0 27A40018 */ addiu $a0, $sp, 0x18 +/* B6D554 802411C4 27A5001C */ addiu $a1, $sp, 0x1c +/* B6D558 802411C8 27A60020 */ addiu $a2, $sp, 0x20 +/* B6D55C 802411CC 27A70024 */ addiu $a3, $sp, 0x24 +/* B6D560 802411D0 27A30028 */ addiu $v1, $sp, 0x28 +/* B6D564 802411D4 C6000098 */ lwc1 $f0, 0x98($s0) +/* B6D568 802411D8 C602009C */ lwc1 $f2, 0x9c($s0) +/* B6D56C 802411DC C60400A0 */ lwc1 $f4, 0xa0($s0) +/* B6D570 802411E0 0040802D */ daddu $s0, $v0, $zero +/* B6D574 802411E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* B6D578 802411E8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* B6D57C 802411EC E7A40020 */ swc1 $f4, 0x20($sp) +/* B6D580 802411F0 AFA30010 */ sw $v1, 0x10($sp) +/* B6D584 802411F4 27A3002C */ addiu $v1, $sp, 0x2c +/* B6D588 802411F8 0C04497A */ jal func_801125E8 +/* B6D58C 802411FC AFA30014 */ sw $v1, 0x14($sp) +/* B6D590 80241200 8FA5002C */ lw $a1, 0x2c($sp) +/* B6D594 80241204 0C044A17 */ jal set_standard_shadow_scale +/* B6D598 80241208 0200202D */ daddu $a0, $s0, $zero +/* B6D59C 8024120C C7A00018 */ lwc1 $f0, 0x18($sp) +/* B6D5A0 80241210 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B6D5A4 80241214 C7A60020 */ lwc1 $f6, 0x20($sp) +/* B6D5A8 80241218 C7A80024 */ lwc1 $f8, 0x24($sp) +/* B6D5AC 8024121C C604001C */ lwc1 $f4, 0x1c($s0) +/* B6D5B0 80241220 0000102D */ daddu $v0, $zero, $zero +/* B6D5B4 80241224 AE00002C */ sw $zero, 0x2c($s0) +/* B6D5B8 80241228 E6000010 */ swc1 $f0, 0x10($s0) +/* B6D5BC 8024122C C6000024 */ lwc1 $f0, 0x24($s0) +/* B6D5C0 80241230 46042100 */ add.s $f4, $f4, $f4 +/* B6D5C4 80241234 E6020014 */ swc1 $f2, 0x14($s0) +/* B6D5C8 80241238 E6060018 */ swc1 $f6, 0x18($s0) +/* B6D5CC 8024123C E6080028 */ swc1 $f8, 0x28($s0) +/* B6D5D0 80241240 C7A20028 */ lwc1 $f2, 0x28($sp) +/* B6D5D4 80241244 46000000 */ add.s $f0, $f0, $f0 +/* B6D5D8 80241248 E6020030 */ swc1 $f2, 0x30($s0) +/* B6D5DC 8024124C E604001C */ swc1 $f4, 0x1c($s0) +/* B6D5E0 80241250 0809049A */ j .L80241268 +/* B6D5E4 80241254 E6000024 */ swc1 $f0, 0x24($s0) +.L80241258: +/* B6D5E8 80241258 8E240078 */ lw $a0, 0x78($s1) +/* B6D5EC 8024125C 0C0448CA */ jal func_80112328 +/* B6D5F0 80241260 00000000 */ nop +/* B6D5F4 80241264 24020002 */ addiu $v0, $zero, 2 +.L80241268: +/* B6D5F8 80241268 8FBF0038 */ lw $ra, 0x38($sp) +/* B6D5FC 8024126C 8FB10034 */ lw $s1, 0x34($sp) +/* B6D600 80241270 8FB00030 */ lw $s0, 0x30($sp) +/* B6D604 80241274 03E00008 */ jr $ra +/* B6D608 80241278 27BD0040 */ addiu $sp, $sp, 0x40 +/* B6D60C 8024127C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80241280.s b/asm/nonmatchings/world/area_jan/jan_10/func_80241280.s new file mode 100644 index 0000000000..894b11705d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80241280.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241280 +/* B6D610 80241280 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B6D614 80241284 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B6D618 80241288 4485A000 */ mtc1 $a1, $f20 +/* B6D61C 8024128C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B6D620 80241290 4486B000 */ mtc1 $a2, $f22 +/* B6D624 80241294 AFB00010 */ sw $s0, 0x10($sp) +/* B6D628 80241298 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B6D62C 8024129C 4487C000 */ mtc1 $a3, $f24 +/* B6D630 802412A0 AFBF0014 */ sw $ra, 0x14($sp) +/* B6D634 802412A4 0C019D28 */ jal guMtxIdentF +/* B6D638 802412A8 0080802D */ daddu $s0, $a0, $zero +/* B6D63C 802412AC 4616A582 */ mul.s $f22, $f20, $f22 +/* B6D640 802412B0 00000000 */ nop +/* B6D644 802412B4 4618A502 */ mul.s $f20, $f20, $f24 +/* B6D648 802412B8 00000000 */ nop +/* B6D64C 802412BC 3C013F80 */ lui $at, 0x3f80 +/* B6D650 802412C0 44810000 */ mtc1 $at, $f0 +/* B6D654 802412C4 00000000 */ nop +/* B6D658 802412C8 E6000014 */ swc1 $f0, 0x14($s0) +/* B6D65C 802412CC E6160010 */ swc1 $f22, 0x10($s0) +/* B6D660 802412D0 E6140018 */ swc1 $f20, 0x18($s0) +/* B6D664 802412D4 8FBF0014 */ lw $ra, 0x14($sp) +/* B6D668 802412D8 8FB00010 */ lw $s0, 0x10($sp) +/* B6D66C 802412DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B6D670 802412E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B6D674 802412E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B6D678 802412E8 03E00008 */ jr $ra +/* B6D67C 802412EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_802412F0.s b/asm/nonmatchings/world/area_jan/jan_10/func_802412F0.s new file mode 100644 index 0000000000..5e7b4cd6b4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_802412F0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F0 +/* B6D680 802412F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B6D684 802412F4 AFB10054 */ sw $s1, 0x54($sp) +/* B6D688 802412F8 0080882D */ daddu $s1, $a0, $zero +/* B6D68C 802412FC AFBF005C */ sw $ra, 0x5c($sp) +/* B6D690 80241300 AFB20058 */ sw $s2, 0x58($sp) +/* B6D694 80241304 AFB00050 */ sw $s0, 0x50($sp) +/* B6D698 80241308 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B6D69C 8024130C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B6D6A0 80241310 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B6D6A4 80241314 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B6D6A8 80241318 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B6D6AC 8024131C 8E30000C */ lw $s0, 0xc($s1) +/* B6D6B0 80241320 8E050000 */ lw $a1, ($s0) +/* B6D6B4 80241324 0C0B1EAF */ jal get_variable +/* B6D6B8 80241328 26100004 */ addiu $s0, $s0, 4 +/* B6D6BC 8024132C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B6D6C0 80241330 0040202D */ daddu $a0, $v0, $zero +/* B6D6C4 80241334 8E050000 */ lw $a1, ($s0) +/* B6D6C8 80241338 26100004 */ addiu $s0, $s0, 4 +/* B6D6CC 8024133C 0220202D */ daddu $a0, $s1, $zero +/* B6D6D0 80241340 0C0B210B */ jal get_float_variable +/* B6D6D4 80241344 0040902D */ daddu $s2, $v0, $zero +/* B6D6D8 80241348 8E050000 */ lw $a1, ($s0) +/* B6D6DC 8024134C 26100004 */ addiu $s0, $s0, 4 +/* B6D6E0 80241350 0220202D */ daddu $a0, $s1, $zero +/* B6D6E4 80241354 0C0B210B */ jal get_float_variable +/* B6D6E8 80241358 46000706 */ mov.s $f28, $f0 +/* B6D6EC 8024135C 8E050000 */ lw $a1, ($s0) +/* B6D6F0 80241360 26100004 */ addiu $s0, $s0, 4 +/* B6D6F4 80241364 0220202D */ daddu $a0, $s1, $zero +/* B6D6F8 80241368 0C0B210B */ jal get_float_variable +/* B6D6FC 8024136C 46000686 */ mov.s $f26, $f0 +/* B6D700 80241370 0220202D */ daddu $a0, $s1, $zero +/* B6D704 80241374 8E050000 */ lw $a1, ($s0) +/* B6D708 80241378 0C0B210B */ jal get_float_variable +/* B6D70C 8024137C 46000586 */ mov.s $f22, $f0 +/* B6D710 80241380 0240202D */ daddu $a0, $s2, $zero +/* B6D714 80241384 0C046B4C */ jal get_model_from_list_index +/* B6D718 80241388 46000606 */ mov.s $f24, $f0 +/* B6D71C 8024138C 0040882D */ daddu $s1, $v0, $zero +/* B6D720 80241390 96220000 */ lhu $v0, ($s1) +/* B6D724 80241394 30420400 */ andi $v0, $v0, 0x400 +/* B6D728 80241398 1440001E */ bnez $v0, .L80241414 +/* B6D72C 8024139C 26300058 */ addiu $s0, $s1, 0x58 +/* B6D730 802413A0 4480A000 */ mtc1 $zero, $f20 +/* B6D734 802413A4 4406B000 */ mfc1 $a2, $f22 +/* B6D738 802413A8 4405A000 */ mfc1 $a1, $f20 +/* B6D73C 802413AC 4407A000 */ mfc1 $a3, $f20 +/* B6D740 802413B0 0C019E40 */ jal guTranslateF +/* B6D744 802413B4 0200202D */ daddu $a0, $s0, $zero +/* B6D748 802413B8 4405E000 */ mfc1 $a1, $f28 +/* B6D74C 802413BC 4406D000 */ mfc1 $a2, $f26 +/* B6D750 802413C0 4407C000 */ mfc1 $a3, $f24 +/* B6D754 802413C4 0C0904A0 */ jal func_80241280 +/* B6D758 802413C8 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D75C 802413CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D760 802413D0 0200282D */ daddu $a1, $s0, $zero +/* B6D764 802413D4 0C019D80 */ jal guMtxCatF +/* B6D768 802413D8 0200302D */ daddu $a2, $s0, $zero +/* B6D76C 802413DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D770 802413E0 4600B587 */ neg.s $f22, $f22 +/* B6D774 802413E4 4405A000 */ mfc1 $a1, $f20 +/* B6D778 802413E8 4406B000 */ mfc1 $a2, $f22 +/* B6D77C 802413EC 0C019E40 */ jal guTranslateF +/* B6D780 802413F0 00A0382D */ daddu $a3, $a1, $zero +/* B6D784 802413F4 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D788 802413F8 0200282D */ daddu $a1, $s0, $zero +/* B6D78C 802413FC 0C019D80 */ jal guMtxCatF +/* B6D790 80241400 00A0302D */ daddu $a2, $a1, $zero +/* B6D794 80241404 96220000 */ lhu $v0, ($s1) +/* B6D798 80241408 34421400 */ ori $v0, $v0, 0x1400 +/* B6D79C 8024140C 08090523 */ j .L8024148C +/* B6D7A0 80241410 A6220000 */ sh $v0, ($s1) +.L80241414: +/* B6D7A4 80241414 4480A000 */ mtc1 $zero, $f20 +/* B6D7A8 80241418 4406B000 */ mfc1 $a2, $f22 +/* B6D7AC 8024141C 4405A000 */ mfc1 $a1, $f20 +/* B6D7B0 80241420 4407A000 */ mfc1 $a3, $f20 +/* B6D7B4 80241424 0C019E40 */ jal guTranslateF +/* B6D7B8 80241428 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D7BC 8024142C 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D7C0 80241430 26300058 */ addiu $s0, $s1, 0x58 +/* B6D7C4 80241434 0200282D */ daddu $a1, $s0, $zero +/* B6D7C8 80241438 0C019D80 */ jal guMtxCatF +/* B6D7CC 8024143C 0200302D */ daddu $a2, $s0, $zero +/* B6D7D0 80241440 4405E000 */ mfc1 $a1, $f28 +/* B6D7D4 80241444 4406D000 */ mfc1 $a2, $f26 +/* B6D7D8 80241448 4407C000 */ mfc1 $a3, $f24 +/* B6D7DC 8024144C 0C0904A0 */ jal func_80241280 +/* B6D7E0 80241450 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D7E4 80241454 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D7E8 80241458 0200282D */ daddu $a1, $s0, $zero +/* B6D7EC 8024145C 0C019D80 */ jal guMtxCatF +/* B6D7F0 80241460 0200302D */ daddu $a2, $s0, $zero +/* B6D7F4 80241464 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D7F8 80241468 4600B587 */ neg.s $f22, $f22 +/* B6D7FC 8024146C 4405A000 */ mfc1 $a1, $f20 +/* B6D800 80241470 4406B000 */ mfc1 $a2, $f22 +/* B6D804 80241474 0C019E40 */ jal guTranslateF +/* B6D808 80241478 00A0382D */ daddu $a3, $a1, $zero +/* B6D80C 8024147C 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D810 80241480 0200282D */ daddu $a1, $s0, $zero +/* B6D814 80241484 0C019D80 */ jal guMtxCatF +/* B6D818 80241488 00A0302D */ daddu $a2, $a1, $zero +.L8024148C: +/* B6D81C 8024148C 8FBF005C */ lw $ra, 0x5c($sp) +/* B6D820 80241490 8FB20058 */ lw $s2, 0x58($sp) +/* B6D824 80241494 8FB10054 */ lw $s1, 0x54($sp) +/* B6D828 80241498 8FB00050 */ lw $s0, 0x50($sp) +/* B6D82C 8024149C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B6D830 802414A0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B6D834 802414A4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B6D838 802414A8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B6D83C 802414AC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B6D840 802414B0 24020002 */ addiu $v0, $zero, 2 +/* B6D844 802414B4 03E00008 */ jr $ra +/* B6D848 802414B8 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_802414BC.s b/asm/nonmatchings/world/area_jan/jan_10/func_802414BC.s new file mode 100644 index 0000000000..ac670a2ebe --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_802414BC.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414BC +/* B6D84C 802414BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B6D850 802414C0 AFB00010 */ sw $s0, 0x10($sp) +/* B6D854 802414C4 0080802D */ daddu $s0, $a0, $zero +/* B6D858 802414C8 AFBF0014 */ sw $ra, 0x14($sp) +/* B6D85C 802414CC 0C00FB5A */ jal get_enemy_safe +/* B6D860 802414D0 24040001 */ addiu $a0, $zero, 1 +/* B6D864 802414D4 14400003 */ bnez $v0, .L802414E4 +/* B6D868 802414D8 24020001 */ addiu $v0, $zero, 1 +/* B6D86C 802414DC 0809053A */ j .L802414E8 +/* B6D870 802414E0 AE000084 */ sw $zero, 0x84($s0) +.L802414E4: +/* B6D874 802414E4 AE020084 */ sw $v0, 0x84($s0) +.L802414E8: +/* B6D878 802414E8 8FBF0014 */ lw $ra, 0x14($sp) +/* B6D87C 802414EC 8FB00010 */ lw $s0, 0x10($sp) +/* B6D880 802414F0 24020002 */ addiu $v0, $zero, 2 +/* B6D884 802414F4 03E00008 */ jr $ra +/* B6D888 802414F8 27BD0018 */ addiu $sp, $sp, 0x18 +/* B6D88C 802414FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80241500_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80241500_B6C390.s new file mode 100644 index 0000000000..9a52b81cc0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80241500_B6C390.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241500_B6D890 +/* B6D890 80241500 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B6D894 80241504 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B6D898 80241508 4485A000 */ mtc1 $a1, $f20 +/* B6D89C 8024150C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B6D8A0 80241510 4486B000 */ mtc1 $a2, $f22 +/* B6D8A4 80241514 AFB00010 */ sw $s0, 0x10($sp) +/* B6D8A8 80241518 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B6D8AC 8024151C 4487C000 */ mtc1 $a3, $f24 +/* B6D8B0 80241520 AFBF0014 */ sw $ra, 0x14($sp) +/* B6D8B4 80241524 0C019D28 */ jal guMtxIdentF +/* B6D8B8 80241528 0080802D */ daddu $s0, $a0, $zero +/* B6D8BC 8024152C 4616A582 */ mul.s $f22, $f20, $f22 +/* B6D8C0 80241530 00000000 */ nop +/* B6D8C4 80241534 4618A502 */ mul.s $f20, $f20, $f24 +/* B6D8C8 80241538 00000000 */ nop +/* B6D8CC 8024153C 3C013F80 */ lui $at, 0x3f80 +/* B6D8D0 80241540 44810000 */ mtc1 $at, $f0 +/* B6D8D4 80241544 00000000 */ nop +/* B6D8D8 80241548 E6000014 */ swc1 $f0, 0x14($s0) +/* B6D8DC 8024154C E6160010 */ swc1 $f22, 0x10($s0) +/* B6D8E0 80241550 E6140018 */ swc1 $f20, 0x18($s0) +/* B6D8E4 80241554 8FBF0014 */ lw $ra, 0x14($sp) +/* B6D8E8 80241558 8FB00010 */ lw $s0, 0x10($sp) +/* B6D8EC 8024155C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B6D8F0 80241560 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B6D8F4 80241564 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B6D8F8 80241568 03E00008 */ jr $ra +/* B6D8FC 8024156C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_10/func_80241570_B6C390.s b/asm/nonmatchings/world/area_jan/jan_10/func_80241570_B6C390.s new file mode 100644 index 0000000000..507c088916 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_10/func_80241570_B6C390.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241570_B6D900 +/* B6D900 80241570 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B6D904 80241574 AFB10054 */ sw $s1, 0x54($sp) +/* B6D908 80241578 0080882D */ daddu $s1, $a0, $zero +/* B6D90C 8024157C AFBF005C */ sw $ra, 0x5c($sp) +/* B6D910 80241580 AFB20058 */ sw $s2, 0x58($sp) +/* B6D914 80241584 AFB00050 */ sw $s0, 0x50($sp) +/* B6D918 80241588 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B6D91C 8024158C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B6D920 80241590 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B6D924 80241594 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B6D928 80241598 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B6D92C 8024159C 8E30000C */ lw $s0, 0xc($s1) +/* B6D930 802415A0 8E050000 */ lw $a1, ($s0) +/* B6D934 802415A4 0C0B1EAF */ jal get_variable +/* B6D938 802415A8 26100004 */ addiu $s0, $s0, 4 +/* B6D93C 802415AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B6D940 802415B0 0040202D */ daddu $a0, $v0, $zero +/* B6D944 802415B4 8E050000 */ lw $a1, ($s0) +/* B6D948 802415B8 26100004 */ addiu $s0, $s0, 4 +/* B6D94C 802415BC 0220202D */ daddu $a0, $s1, $zero +/* B6D950 802415C0 0C0B210B */ jal get_float_variable +/* B6D954 802415C4 0040902D */ daddu $s2, $v0, $zero +/* B6D958 802415C8 8E050000 */ lw $a1, ($s0) +/* B6D95C 802415CC 26100004 */ addiu $s0, $s0, 4 +/* B6D960 802415D0 0220202D */ daddu $a0, $s1, $zero +/* B6D964 802415D4 0C0B210B */ jal get_float_variable +/* B6D968 802415D8 46000706 */ mov.s $f28, $f0 +/* B6D96C 802415DC 8E050000 */ lw $a1, ($s0) +/* B6D970 802415E0 26100004 */ addiu $s0, $s0, 4 +/* B6D974 802415E4 0220202D */ daddu $a0, $s1, $zero +/* B6D978 802415E8 0C0B210B */ jal get_float_variable +/* B6D97C 802415EC 46000686 */ mov.s $f26, $f0 +/* B6D980 802415F0 0220202D */ daddu $a0, $s1, $zero +/* B6D984 802415F4 8E050000 */ lw $a1, ($s0) +/* B6D988 802415F8 0C0B210B */ jal get_float_variable +/* B6D98C 802415FC 46000586 */ mov.s $f22, $f0 +/* B6D990 80241600 0240202D */ daddu $a0, $s2, $zero +/* B6D994 80241604 0C046B4C */ jal get_model_from_list_index +/* B6D998 80241608 46000606 */ mov.s $f24, $f0 +/* B6D99C 8024160C 0040882D */ daddu $s1, $v0, $zero +/* B6D9A0 80241610 96220000 */ lhu $v0, ($s1) +/* B6D9A4 80241614 30420400 */ andi $v0, $v0, 0x400 +/* B6D9A8 80241618 1440001E */ bnez $v0, .L80241694 +/* B6D9AC 8024161C 26300058 */ addiu $s0, $s1, 0x58 +/* B6D9B0 80241620 4480A000 */ mtc1 $zero, $f20 +/* B6D9B4 80241624 4406B000 */ mfc1 $a2, $f22 +/* B6D9B8 80241628 4405A000 */ mfc1 $a1, $f20 +/* B6D9BC 8024162C 4407A000 */ mfc1 $a3, $f20 +/* B6D9C0 80241630 0C019E40 */ jal guTranslateF +/* B6D9C4 80241634 0200202D */ daddu $a0, $s0, $zero +/* B6D9C8 80241638 4405E000 */ mfc1 $a1, $f28 +/* B6D9CC 8024163C 4406D000 */ mfc1 $a2, $f26 +/* B6D9D0 80241640 4407C000 */ mfc1 $a3, $f24 +/* B6D9D4 80241644 0C090540 */ jal func_80241500 +/* B6D9D8 80241648 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D9DC 8024164C 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D9E0 80241650 0200282D */ daddu $a1, $s0, $zero +/* B6D9E4 80241654 0C019D80 */ jal guMtxCatF +/* B6D9E8 80241658 0200302D */ daddu $a2, $s0, $zero +/* B6D9EC 8024165C 27A40010 */ addiu $a0, $sp, 0x10 +/* B6D9F0 80241660 4600B587 */ neg.s $f22, $f22 +/* B6D9F4 80241664 4405A000 */ mfc1 $a1, $f20 +/* B6D9F8 80241668 4406B000 */ mfc1 $a2, $f22 +/* B6D9FC 8024166C 0C019E40 */ jal guTranslateF +/* B6DA00 80241670 00A0382D */ daddu $a3, $a1, $zero +/* B6DA04 80241674 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA08 80241678 0200282D */ daddu $a1, $s0, $zero +/* B6DA0C 8024167C 0C019D80 */ jal guMtxCatF +/* B6DA10 80241680 00A0302D */ daddu $a2, $a1, $zero +/* B6DA14 80241684 96220000 */ lhu $v0, ($s1) +/* B6DA18 80241688 34421400 */ ori $v0, $v0, 0x1400 +/* B6DA1C 8024168C 080905C3 */ j .L8024170C +/* B6DA20 80241690 A6220000 */ sh $v0, ($s1) +.L80241694: +/* B6DA24 80241694 4480A000 */ mtc1 $zero, $f20 +/* B6DA28 80241698 4406B000 */ mfc1 $a2, $f22 +/* B6DA2C 8024169C 4405A000 */ mfc1 $a1, $f20 +/* B6DA30 802416A0 4407A000 */ mfc1 $a3, $f20 +/* B6DA34 802416A4 0C019E40 */ jal guTranslateF +/* B6DA38 802416A8 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA3C 802416AC 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA40 802416B0 26300058 */ addiu $s0, $s1, 0x58 +/* B6DA44 802416B4 0200282D */ daddu $a1, $s0, $zero +/* B6DA48 802416B8 0C019D80 */ jal guMtxCatF +/* B6DA4C 802416BC 0200302D */ daddu $a2, $s0, $zero +/* B6DA50 802416C0 4405E000 */ mfc1 $a1, $f28 +/* B6DA54 802416C4 4406D000 */ mfc1 $a2, $f26 +/* B6DA58 802416C8 4407C000 */ mfc1 $a3, $f24 +/* B6DA5C 802416CC 0C090540 */ jal func_80241500 +/* B6DA60 802416D0 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA64 802416D4 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA68 802416D8 0200282D */ daddu $a1, $s0, $zero +/* B6DA6C 802416DC 0C019D80 */ jal guMtxCatF +/* B6DA70 802416E0 0200302D */ daddu $a2, $s0, $zero +/* B6DA74 802416E4 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA78 802416E8 4600B587 */ neg.s $f22, $f22 +/* B6DA7C 802416EC 4405A000 */ mfc1 $a1, $f20 +/* B6DA80 802416F0 4406B000 */ mfc1 $a2, $f22 +/* B6DA84 802416F4 0C019E40 */ jal guTranslateF +/* B6DA88 802416F8 00A0382D */ daddu $a3, $a1, $zero +/* B6DA8C 802416FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B6DA90 80241700 0200282D */ daddu $a1, $s0, $zero +/* B6DA94 80241704 0C019D80 */ jal guMtxCatF +/* B6DA98 80241708 00A0302D */ daddu $a2, $a1, $zero +.L8024170C: +/* B6DA9C 8024170C 8FBF005C */ lw $ra, 0x5c($sp) +/* B6DAA0 80241710 8FB20058 */ lw $s2, 0x58($sp) +/* B6DAA4 80241714 8FB10054 */ lw $s1, 0x54($sp) +/* B6DAA8 80241718 8FB00050 */ lw $s0, 0x50($sp) +/* B6DAAC 8024171C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B6DAB0 80241720 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B6DAB4 80241724 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B6DAB8 80241728 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B6DABC 8024172C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B6DAC0 80241730 24020002 */ addiu $v0, $zero, 2 +/* B6DAC4 80241734 03E00008 */ jr $ra +/* B6DAC8 80241738 27BD0088 */ addiu $sp, $sp, 0x88 +/* B6DACC 8024173C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240000_B70860.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240000_B70860.s new file mode 100644 index 0000000000..6a499ea44e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240000_B70860.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B70860 +/* B70860 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B70864 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* B70868 80240008 0080802D */ daddu $s0, $a0, $zero +/* B7086C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B70870 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B70874 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* B70878 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* B7087C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* B70880 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* B70884 80240024 0220902D */ daddu $s2, $s1, $zero +/* B70888 80240028 10A00004 */ beqz $a1, .L8024003C +/* B7088C 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* B70890 80240030 240200FF */ addiu $v0, $zero, 0xff +/* B70894 80240034 AE020070 */ sw $v0, 0x70($s0) +/* B70898 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* B7089C 8024003C 24040001 */ addiu $a0, $zero, 1 +/* B708A0 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* B708A4 80240044 3C014100 */ lui $at, 0x4100 +/* B708A8 80240048 44811000 */ mtc1 $at, $f2 +/* B708AC 8024004C 00000000 */ nop +/* B708B0 80240050 46020000 */ add.s $f0, $f0, $f2 +/* B708B4 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* B708B8 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* B708BC 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* B708C0 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* B708C4 80240064 4600218D */ trunc.w.s $f6, $f4 +/* B708C8 80240068 44063000 */ mfc1 $a2, $f6 +/* B708CC 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* B708D0 80240070 44073000 */ mfc1 $a3, $f6 +/* B708D4 80240074 0C04DFB0 */ jal func_80137EC0 +/* B708D8 80240078 0080282D */ daddu $a1, $a0, $zero +/* B708DC 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* B708E0 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* B708E4 80240084 10400012 */ beqz $v0, .L802400D0 +/* B708E8 80240088 24020006 */ addiu $v0, $zero, 6 +/* B708EC 8024008C 82230012 */ lb $v1, 0x12($s1) +/* B708F0 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* B708F4 80240094 00000000 */ nop +/* B708F8 80240098 8E020074 */ lw $v0, 0x74($s0) +/* B708FC 8024009C 14400004 */ bnez $v0, .L802400B0 +/* B70900 802400A0 24020001 */ addiu $v0, $zero, 1 +/* B70904 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* B70908 802400A8 0C05272D */ jal play_sound +/* B7090C 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* B70910 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* B70914 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* B70918 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* B7091C 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* B70920 802400C0 10400016 */ beqz $v0, .L8024011C +/* B70924 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* B70928 802400C8 08090047 */ j .L8024011C +/* B7092C 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* B70930 802400D0 82430012 */ lb $v1, 0x12($s2) +/* B70934 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* B70938 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* B7093C 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* B70940 802400E0 10400007 */ beqz $v0, .L80240100 +/* B70944 802400E4 00000000 */ nop +/* B70948 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* B7094C 802400EC 284200FF */ slti $v0, $v0, 0xff +/* B70950 802400F0 10400003 */ beqz $v0, .L80240100 +/* B70954 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* B70958 802400F8 0C05272D */ jal play_sound +/* B7095C 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* B70960 80240100 8E020070 */ lw $v0, 0x70($s0) +/* B70964 80240104 24420008 */ addiu $v0, $v0, 8 +/* B70968 80240108 AE020070 */ sw $v0, 0x70($s0) +/* B7096C 8024010C 284200FF */ slti $v0, $v0, 0xff +/* B70970 80240110 14400002 */ bnez $v0, .L8024011C +/* B70974 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* B70978 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* B7097C 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* B70980 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* B70984 80240124 44053000 */ mfc1 $a1, $f6 +/* B70988 80240128 0C04E035 */ jal func_801380D4 +/* B7098C 8024012C 24040001 */ addiu $a0, $zero, 1 +/* B70990 80240130 3C05437F */ lui $a1, 0x437f +/* B70994 80240134 0C04DF69 */ jal func_80137DA4 +/* B70998 80240138 2404000B */ addiu $a0, $zero, 0xb +/* B7099C 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* B709A0 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* B709A4 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* B709A8 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* B709AC 8024014C 0000102D */ daddu $v0, $zero, $zero +/* B709B0 80240150 03E00008 */ jr $ra +/* B709B4 80240154 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240158_B70860.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240158_B70860.s new file mode 100644 index 0000000000..4ba70a853b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240158_B70860.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_B709B8 +/* B709B8 80240158 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B709BC 8024015C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B709C0 80240160 8C430004 */ lw $v1, 4($v0) +/* B709C4 80240164 3C040010 */ lui $a0, 0x10 +/* B709C8 80240168 00641825 */ or $v1, $v1, $a0 +/* B709CC 8024016C AC430004 */ sw $v1, 4($v0) +/* B709D0 80240170 03E00008 */ jr $ra +/* B709D4 80240174 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240178_B70860.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240178_B70860.s new file mode 100644 index 0000000000..d1f52c9fa3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240178_B70860.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240178_B709D8 +/* B709D8 80240178 3C028016 */ lui $v0, 0x8016 +/* B709DC 8024017C 8442A552 */ lh $v0, -0x5aae($v0) +/* B709E0 80240180 AC820084 */ sw $v0, 0x84($a0) +/* B709E4 80240184 03E00008 */ jr $ra +/* B709E8 80240188 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_8024018C.s b/asm/nonmatchings/world/area_jan/jan_11/func_8024018C.s new file mode 100644 index 0000000000..318686bea0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_8024018C.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024018C +/* B709EC 8024018C 3C038016 */ lui $v1, 0x8016 +/* B709F0 80240190 8463A552 */ lh $v1, -0x5aae($v1) +/* B709F4 80240194 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B709F8 80240198 AFB00010 */ sw $s0, 0x10($sp) +/* B709FC 8024019C 0080802D */ daddu $s0, $a0, $zero +/* B70A00 802401A0 AFBF0014 */ sw $ra, 0x14($sp) +/* B70A04 802401A4 8E0200B0 */ lw $v0, 0xb0($s0) +/* B70A08 802401A8 10620003 */ beq $v1, $v0, .L802401B8 +/* B70A0C 802401AC 24020002 */ addiu $v0, $zero, 2 +/* B70A10 802401B0 0809008E */ j .L80240238 +/* B70A14 802401B4 AE000084 */ sw $zero, 0x84($s0) +.L802401B8: +/* B70A18 802401B8 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B70A1C 802401BC 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B70A20 802401C0 80620040 */ lb $v0, 0x40($v1) +/* B70A24 802401C4 80670044 */ lb $a3, 0x44($v1) +/* B70A28 802401C8 04420001 */ bltzl $v0, .L802401D0 +/* B70A2C 802401CC 00021023 */ negu $v0, $v0 +.L802401D0: +/* B70A30 802401D0 14400003 */ bnez $v0, .L802401E0 +/* B70A34 802401D4 00000000 */ nop +/* B70A38 802401D8 50E00017 */ beql $a3, $zero, .L80240238 +/* B70A3C 802401DC 0000102D */ daddu $v0, $zero, $zero +.L802401E0: +/* B70A40 802401E0 44822000 */ mtc1 $v0, $f4 +/* B70A44 802401E4 00000000 */ nop +/* B70A48 802401E8 46802120 */ cvt.s.w $f4, $f4 +/* B70A4C 802401EC 44062000 */ mfc1 $a2, $f4 +/* B70A50 802401F0 44872000 */ mtc1 $a3, $f4 +/* B70A54 802401F4 00000000 */ nop +/* B70A58 802401F8 46802120 */ cvt.s.w $f4, $f4 +/* B70A5C 802401FC 44806000 */ mtc1 $zero, $f12 +/* B70A60 80240200 44072000 */ mfc1 $a3, $f4 +/* B70A64 80240204 0C00A720 */ jal atan2 +/* B70A68 80240208 46006386 */ mov.s $f14, $f12 +/* B70A6C 8024020C 3C014270 */ lui $at, 0x4270 +/* B70A70 80240210 44811000 */ mtc1 $at, $f2 +/* B70A74 80240214 00000000 */ nop +/* B70A78 80240218 4602003C */ c.lt.s $f0, $f2 +/* B70A7C 8024021C 00000000 */ nop +/* B70A80 80240220 45000004 */ bc1f .L80240234 +/* B70A84 80240224 24020001 */ addiu $v0, $zero, 1 +/* B70A88 80240228 AE020084 */ sw $v0, 0x84($s0) +/* B70A8C 8024022C 0809008E */ j .L80240238 +/* B70A90 80240230 24020002 */ addiu $v0, $zero, 2 +.L80240234: +/* B70A94 80240234 0000102D */ daddu $v0, $zero, $zero +.L80240238: +/* B70A98 80240238 8FBF0014 */ lw $ra, 0x14($sp) +/* B70A9C 8024023C 8FB00010 */ lw $s0, 0x10($sp) +/* B70AA0 80240240 03E00008 */ jr $ra +/* B70AA4 80240244 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240248.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240248.s new file mode 100644 index 0000000000..0ec4cb53f1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240248.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240248 +/* B70AA8 80240248 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B70AAC 8024024C AFB10014 */ sw $s1, 0x14($sp) +/* B70AB0 80240250 0080882D */ daddu $s1, $a0, $zero +/* B70AB4 80240254 AFBF001C */ sw $ra, 0x1c($sp) +/* B70AB8 80240258 AFB20018 */ sw $s2, 0x18($sp) +/* B70ABC 8024025C 0C016AFA */ jal get_current_map_header +/* B70AC0 80240260 AFB00010 */ sw $s0, 0x10($sp) +/* B70AC4 80240264 0220202D */ daddu $a0, $s1, $zero +/* B70AC8 80240268 3C05FE36 */ lui $a1, 0xfe36 +/* B70ACC 8024026C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B70AD0 80240270 0C0B1EAF */ jal get_variable +/* B70AD4 80240274 0040902D */ daddu $s2, $v0, $zero +/* B70AD8 80240278 0220202D */ daddu $a0, $s1, $zero +/* B70ADC 8024027C 3C05FE36 */ lui $a1, 0xfe36 +/* B70AE0 80240280 8E430014 */ lw $v1, 0x14($s2) +/* B70AE4 80240284 00028100 */ sll $s0, $v0, 4 +/* B70AE8 80240288 02031821 */ addu $v1, $s0, $v1 +/* B70AEC 8024028C C4600000 */ lwc1 $f0, ($v1) +/* B70AF0 80240290 4600008D */ trunc.w.s $f2, $f0 +/* B70AF4 80240294 44061000 */ mfc1 $a2, $f2 +/* B70AF8 80240298 0C0B2026 */ jal set_variable +/* B70AFC 8024029C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B70B00 802402A0 0220202D */ daddu $a0, $s1, $zero +/* B70B04 802402A4 8E420014 */ lw $v0, 0x14($s2) +/* B70B08 802402A8 3C05FE36 */ lui $a1, 0xfe36 +/* B70B0C 802402AC 02021021 */ addu $v0, $s0, $v0 +/* B70B10 802402B0 C4400004 */ lwc1 $f0, 4($v0) +/* B70B14 802402B4 4600008D */ trunc.w.s $f2, $f0 +/* B70B18 802402B8 44061000 */ mfc1 $a2, $f2 +/* B70B1C 802402BC 0C0B2026 */ jal set_variable +/* B70B20 802402C0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B70B24 802402C4 0220202D */ daddu $a0, $s1, $zero +/* B70B28 802402C8 8E420014 */ lw $v0, 0x14($s2) +/* B70B2C 802402CC 3C05FE36 */ lui $a1, 0xfe36 +/* B70B30 802402D0 02021021 */ addu $v0, $s0, $v0 +/* B70B34 802402D4 C4400008 */ lwc1 $f0, 8($v0) +/* B70B38 802402D8 4600008D */ trunc.w.s $f2, $f0 +/* B70B3C 802402DC 44061000 */ mfc1 $a2, $f2 +/* B70B40 802402E0 0C0B2026 */ jal set_variable +/* B70B44 802402E4 34A53C83 */ ori $a1, $a1, 0x3c83 +/* B70B48 802402E8 0220202D */ daddu $a0, $s1, $zero +/* B70B4C 802402EC 8E420014 */ lw $v0, 0x14($s2) +/* B70B50 802402F0 3C05FE36 */ lui $a1, 0xfe36 +/* B70B54 802402F4 02028021 */ addu $s0, $s0, $v0 +/* B70B58 802402F8 C600000C */ lwc1 $f0, 0xc($s0) +/* B70B5C 802402FC 4600008D */ trunc.w.s $f2, $f0 +/* B70B60 80240300 44061000 */ mfc1 $a2, $f2 +/* B70B64 80240304 0C0B2026 */ jal set_variable +/* B70B68 80240308 34A53C84 */ ori $a1, $a1, 0x3c84 +/* B70B6C 8024030C 8FBF001C */ lw $ra, 0x1c($sp) +/* B70B70 80240310 8FB20018 */ lw $s2, 0x18($sp) +/* B70B74 80240314 8FB10014 */ lw $s1, 0x14($sp) +/* B70B78 80240318 8FB00010 */ lw $s0, 0x10($sp) +/* B70B7C 8024031C 24020002 */ addiu $v0, $zero, 2 +/* B70B80 80240320 03E00008 */ jr $ra +/* B70B84 80240324 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240328.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240328.s new file mode 100644 index 0000000000..5730930524 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240328.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240328 +/* B70B88 80240328 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B70B8C 8024032C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B70B90 80240330 3C014334 */ lui $at, 0x4334 +/* B70B94 80240334 44816000 */ mtc1 $at, $f12 +/* B70B98 80240338 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B70B9C 8024033C AFBF0014 */ sw $ra, 0x14($sp) +/* B70BA0 80240340 AFB00010 */ sw $s0, 0x10($sp) +/* B70BA4 80240344 00031080 */ sll $v0, $v1, 2 +/* B70BA8 80240348 00431021 */ addu $v0, $v0, $v1 +/* B70BAC 8024034C 00021080 */ sll $v0, $v0, 2 +/* B70BB0 80240350 00431023 */ subu $v0, $v0, $v1 +/* B70BB4 80240354 000218C0 */ sll $v1, $v0, 3 +/* B70BB8 80240358 00431021 */ addu $v0, $v0, $v1 +/* B70BBC 8024035C 000210C0 */ sll $v0, $v0, 3 +/* B70BC0 80240360 3C01800B */ lui $at, 0x800b +/* B70BC4 80240364 00220821 */ addu $at, $at, $v0 +/* B70BC8 80240368 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B70BCC 8024036C 460C0300 */ add.s $f12, $f0, $f12 +/* B70BD0 80240370 0C00A6C9 */ jal clamp_angle +/* B70BD4 80240374 0080802D */ daddu $s0, $a0, $zero +/* B70BD8 80240378 4600008D */ trunc.w.s $f2, $f0 +/* B70BDC 8024037C E6020084 */ swc1 $f2, 0x84($s0) +/* B70BE0 80240380 8FBF0014 */ lw $ra, 0x14($sp) +/* B70BE4 80240384 8FB00010 */ lw $s0, 0x10($sp) +/* B70BE8 80240388 24020002 */ addiu $v0, $zero, 2 +/* B70BEC 8024038C 03E00008 */ jr $ra +/* B70BF0 80240390 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240394_B70860.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240394_B70860.s new file mode 100644 index 0000000000..2ea65fc2a0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240394_B70860.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_B70BF4 +/* B70BF4 80240394 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B70BF8 80240398 AFB00018 */ sw $s0, 0x18($sp) +/* B70BFC 8024039C 0080802D */ daddu $s0, $a0, $zero +/* B70C00 802403A0 AFBF001C */ sw $ra, 0x1c($sp) +/* B70C04 802403A4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B70C08 802403A8 8E02000C */ lw $v0, 0xc($s0) +/* B70C0C 802403AC 0C0B210B */ jal get_float_variable +/* B70C10 802403B0 8C450000 */ lw $a1, ($v0) +/* B70C14 802403B4 27A40010 */ addiu $a0, $sp, 0x10 +/* B70C18 802403B8 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* B70C1C 802403BC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* B70C20 802403C0 44060000 */ mfc1 $a2, $f0 +/* B70C24 802403C4 C4400028 */ lwc1 $f0, 0x28($v0) +/* B70C28 802403C8 C4420030 */ lwc1 $f2, 0x30($v0) +/* B70C2C 802403CC E7A00010 */ swc1 $f0, 0x10($sp) +/* B70C30 802403D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* B70C34 802403D4 8C470080 */ lw $a3, 0x80($v0) +/* B70C38 802403D8 C454002C */ lwc1 $f20, 0x2c($v0) +/* B70C3C 802403DC 0C00A7E7 */ jal add_vec2D_polar +/* B70C40 802403E0 27A50014 */ addiu $a1, $sp, 0x14 +/* B70C44 802403E4 0200202D */ daddu $a0, $s0, $zero +/* B70C48 802403E8 3C05FE36 */ lui $a1, 0xfe36 +/* B70C4C 802403EC 8FA60010 */ lw $a2, 0x10($sp) +/* B70C50 802403F0 0C0B2190 */ jal set_float_variable +/* B70C54 802403F4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B70C58 802403F8 0200202D */ daddu $a0, $s0, $zero +/* B70C5C 802403FC 3C05FE36 */ lui $a1, 0xfe36 +/* B70C60 80240400 4406A000 */ mfc1 $a2, $f20 +/* B70C64 80240404 0C0B2190 */ jal set_float_variable +/* B70C68 80240408 34A53C81 */ ori $a1, $a1, 0x3c81 +/* B70C6C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* B70C70 80240410 3C05FE36 */ lui $a1, 0xfe36 +/* B70C74 80240414 8FA60014 */ lw $a2, 0x14($sp) +/* B70C78 80240418 0C0B2190 */ jal set_float_variable +/* B70C7C 8024041C 34A53C82 */ ori $a1, $a1, 0x3c82 +/* B70C80 80240420 8FBF001C */ lw $ra, 0x1c($sp) +/* B70C84 80240424 8FB00018 */ lw $s0, 0x18($sp) +/* B70C88 80240428 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B70C8C 8024042C 24020002 */ addiu $v0, $zero, 2 +/* B70C90 80240430 03E00008 */ jr $ra +/* B70C94 80240434 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_80240438.s b/asm/nonmatchings/world/area_jan/jan_11/func_80240438.s new file mode 100644 index 0000000000..e2a6644c81 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_80240438.s @@ -0,0 +1,236 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240438 +/* B70C98 80240438 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B70C9C 8024043C AFB3001C */ sw $s3, 0x1c($sp) +/* B70CA0 80240440 0080982D */ daddu $s3, $a0, $zero +/* B70CA4 80240444 AFBF0020 */ sw $ra, 0x20($sp) +/* B70CA8 80240448 AFB20018 */ sw $s2, 0x18($sp) +/* B70CAC 8024044C AFB10014 */ sw $s1, 0x14($sp) +/* B70CB0 80240450 AFB00010 */ sw $s0, 0x10($sp) +/* B70CB4 80240454 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B70CB8 80240458 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B70CBC 8024045C F7B60030 */ sdc1 $f22, 0x30($sp) +/* B70CC0 80240460 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B70CC4 80240464 8E62000C */ lw $v0, 0xc($s3) +/* B70CC8 80240468 0C0B1EAF */ jal get_variable +/* B70CCC 8024046C 8C450000 */ lw $a1, ($v0) +/* B70CD0 80240470 2404FFFC */ addiu $a0, $zero, -4 +/* B70CD4 80240474 0C00EABB */ jal get_npc_unsafe +/* B70CD8 80240478 0040802D */ daddu $s0, $v0, $zero +/* B70CDC 8024047C 0200202D */ daddu $a0, $s0, $zero +/* B70CE0 80240480 0C046C04 */ jal get_model_list_index_from_tree_index +/* B70CE4 80240484 0040802D */ daddu $s0, $v0, $zero +/* B70CE8 80240488 0C046B4C */ jal get_model_from_list_index +/* B70CEC 8024048C 0040202D */ daddu $a0, $v0, $zero +/* B70CF0 80240490 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B70CF4 80240494 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B70CF8 80240498 0040902D */ daddu $s2, $v0, $zero +/* B70CFC 8024049C AE60008C */ sw $zero, 0x8c($s3) +/* B70D00 802404A0 C4620028 */ lwc1 $f2, 0x28($v1) +/* B70D04 802404A4 C6400098 */ lwc1 $f0, 0x98($s2) +/* B70D08 802404A8 46001081 */ sub.s $f2, $f2, $f0 +/* B70D0C 802404AC 46021182 */ mul.s $f6, $f2, $f2 +/* B70D10 802404B0 00000000 */ nop +/* B70D14 802404B4 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* B70D18 802404B8 C4620030 */ lwc1 $f2, 0x30($v1) +/* B70D1C 802404BC 46001081 */ sub.s $f2, $f2, $f0 +/* B70D20 802404C0 46021102 */ mul.s $f4, $f2, $f2 +/* B70D24 802404C4 00000000 */ nop +/* B70D28 802404C8 846200B0 */ lh $v0, 0xb0($v1) +/* B70D2C 802404CC C462002C */ lwc1 $f2, 0x2c($v1) +/* B70D30 802404D0 44820000 */ mtc1 $v0, $f0 +/* B70D34 802404D4 00000000 */ nop +/* B70D38 802404D8 46800020 */ cvt.s.w $f0, $f0 +/* B70D3C 802404DC 46001080 */ add.s $f2, $f2, $f0 +/* B70D40 802404E0 3C013FC0 */ lui $at, 0x3fc0 +/* B70D44 802404E4 44810000 */ mtc1 $at, $f0 +/* B70D48 802404E8 00000000 */ nop +/* B70D4C 802404EC 46001081 */ sub.s $f2, $f2, $f0 +/* B70D50 802404F0 46043300 */ add.s $f12, $f6, $f4 +/* B70D54 802404F4 C640009C */ lwc1 $f0, 0x9c($s2) +/* B70D58 802404F8 46001501 */ sub.s $f20, $f2, $f0 +/* B70D5C 802404FC 46006084 */ sqrt.s $f2, $f12 +/* B70D60 80240500 46021032 */ c.eq.s $f2, $f2 +/* B70D64 80240504 00000000 */ nop +/* B70D68 80240508 45010004 */ bc1t .L8024051C +/* B70D6C 8024050C 0060882D */ daddu $s1, $v1, $zero +/* B70D70 80240510 0C0187BC */ jal sqrtf +/* B70D74 80240514 00000000 */ nop +/* B70D78 80240518 46000086 */ mov.s $f2, $f0 +.L8024051C: +/* B70D7C 8024051C 44800000 */ mtc1 $zero, $f0 +/* B70D80 80240520 00000000 */ nop +/* B70D84 80240524 4614003C */ c.lt.s $f0, $f20 +/* B70D88 80240528 00000000 */ nop +/* B70D8C 8024052C 45000016 */ bc1f .L80240588 +/* B70D90 80240530 46001106 */ mov.s $f4, $f2 +/* B70D94 80240534 862200B0 */ lh $v0, 0xb0($s1) +/* B70D98 80240538 44820000 */ mtc1 $v0, $f0 +/* B70D9C 8024053C 00000000 */ nop +/* B70DA0 80240540 46800020 */ cvt.s.w $f0, $f0 +/* B70DA4 80240544 4600A03C */ c.lt.s $f20, $f0 +/* B70DA8 80240548 00000000 */ nop +/* B70DAC 8024054C 4500000E */ bc1f .L80240588 +/* B70DB0 80240550 00000000 */ nop +/* B70DB4 80240554 862200B2 */ lh $v0, 0xb2($s1) +/* B70DB8 80240558 3C013F00 */ lui $at, 0x3f00 +/* B70DBC 8024055C 44811000 */ mtc1 $at, $f2 +/* B70DC0 80240560 44820000 */ mtc1 $v0, $f0 +/* B70DC4 80240564 00000000 */ nop +/* B70DC8 80240568 46800020 */ cvt.s.w $f0, $f0 +/* B70DCC 8024056C 46020002 */ mul.s $f0, $f0, $f2 +/* B70DD0 80240570 00000000 */ nop +/* B70DD4 80240574 4600203C */ c.lt.s $f4, $f0 +/* B70DD8 80240578 00000000 */ nop +/* B70DDC 8024057C 45000002 */ bc1f .L80240588 +/* B70DE0 80240580 24020001 */ addiu $v0, $zero, 1 +/* B70DE4 80240584 AE62008C */ sw $v0, 0x8c($s3) +.L80240588: +/* B70DE8 80240588 C6020038 */ lwc1 $f2, 0x38($s0) +/* B70DEC 8024058C C6400098 */ lwc1 $f0, 0x98($s2) +/* B70DF0 80240590 46001081 */ sub.s $f2, $f2, $f0 +/* B70DF4 80240594 46021182 */ mul.s $f6, $f2, $f2 +/* B70DF8 80240598 00000000 */ nop +/* B70DFC 8024059C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* B70E00 802405A0 C6020040 */ lwc1 $f2, 0x40($s0) +/* B70E04 802405A4 46001081 */ sub.s $f2, $f2, $f0 +/* B70E08 802405A8 46021102 */ mul.s $f4, $f2, $f2 +/* B70E0C 802405AC 00000000 */ nop +/* B70E10 802405B0 860200A8 */ lh $v0, 0xa8($s0) +/* B70E14 802405B4 C602003C */ lwc1 $f2, 0x3c($s0) +/* B70E18 802405B8 44820000 */ mtc1 $v0, $f0 +/* B70E1C 802405BC 00000000 */ nop +/* B70E20 802405C0 46800020 */ cvt.s.w $f0, $f0 +/* B70E24 802405C4 46001080 */ add.s $f2, $f2, $f0 +/* B70E28 802405C8 3C013FC0 */ lui $at, 0x3fc0 +/* B70E2C 802405CC 44810000 */ mtc1 $at, $f0 +/* B70E30 802405D0 00000000 */ nop +/* B70E34 802405D4 46001081 */ sub.s $f2, $f2, $f0 +/* B70E38 802405D8 46043300 */ add.s $f12, $f6, $f4 +/* B70E3C 802405DC C640009C */ lwc1 $f0, 0x9c($s2) +/* B70E40 802405E0 46001501 */ sub.s $f20, $f2, $f0 +/* B70E44 802405E4 46006084 */ sqrt.s $f2, $f12 +/* B70E48 802405E8 46021032 */ c.eq.s $f2, $f2 +/* B70E4C 802405EC 00000000 */ nop +/* B70E50 802405F0 45010004 */ bc1t .L80240604 +/* B70E54 802405F4 00000000 */ nop +/* B70E58 802405F8 0C0187BC */ jal sqrtf +/* B70E5C 802405FC 00000000 */ nop +/* B70E60 80240600 46000086 */ mov.s $f2, $f0 +.L80240604: +/* B70E64 80240604 44800000 */ mtc1 $zero, $f0 +/* B70E68 80240608 00000000 */ nop +/* B70E6C 8024060C 4614003C */ c.lt.s $f0, $f20 +/* B70E70 80240610 00000000 */ nop +/* B70E74 80240614 45000016 */ bc1f .L80240670 +/* B70E78 80240618 46001106 */ mov.s $f4, $f2 +/* B70E7C 8024061C 860200A8 */ lh $v0, 0xa8($s0) +/* B70E80 80240620 44820000 */ mtc1 $v0, $f0 +/* B70E84 80240624 00000000 */ nop +/* B70E88 80240628 46800020 */ cvt.s.w $f0, $f0 +/* B70E8C 8024062C 4600A03C */ c.lt.s $f20, $f0 +/* B70E90 80240630 00000000 */ nop +/* B70E94 80240634 4500000F */ bc1f .L80240674 +/* B70E98 80240638 0000882D */ daddu $s1, $zero, $zero +/* B70E9C 8024063C 860200A6 */ lh $v0, 0xa6($s0) +/* B70EA0 80240640 3C013F00 */ lui $at, 0x3f00 +/* B70EA4 80240644 44811000 */ mtc1 $at, $f2 +/* B70EA8 80240648 44820000 */ mtc1 $v0, $f0 +/* B70EAC 8024064C 00000000 */ nop +/* B70EB0 80240650 46800020 */ cvt.s.w $f0, $f0 +/* B70EB4 80240654 46020002 */ mul.s $f0, $f0, $f2 +/* B70EB8 80240658 00000000 */ nop +/* B70EBC 8024065C 4600203C */ c.lt.s $f4, $f0 +/* B70EC0 80240660 00000000 */ nop +/* B70EC4 80240664 45000003 */ bc1f .L80240674 +/* B70EC8 80240668 24020001 */ addiu $v0, $zero, 1 +/* B70ECC 8024066C AE62008C */ sw $v0, 0x8c($s3) +.L80240670: +/* B70ED0 80240670 0000882D */ daddu $s1, $zero, $zero +.L80240674: +/* B70ED4 80240674 3C013FC0 */ lui $at, 0x3fc0 +/* B70ED8 80240678 4481D000 */ mtc1 $at, $f26 +/* B70EDC 8024067C 4480C000 */ mtc1 $zero, $f24 +/* B70EE0 80240680 3C013F00 */ lui $at, 0x3f00 +/* B70EE4 80240684 4481B000 */ mtc1 $at, $f22 +.L80240688: +/* B70EE8 80240688 0C00EAD2 */ jal get_npc_safe +/* B70EEC 8024068C 0220202D */ daddu $a0, $s1, $zero +/* B70EF0 80240690 0040802D */ daddu $s0, $v0, $zero +/* B70EF4 80240694 52000035 */ beql $s0, $zero, .L8024076C +/* B70EF8 80240698 26310001 */ addiu $s1, $s1, 1 +/* B70EFC 8024069C C6020038 */ lwc1 $f2, 0x38($s0) +/* B70F00 802406A0 C6400098 */ lwc1 $f0, 0x98($s2) +/* B70F04 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* B70F08 802406A8 46021182 */ mul.s $f6, $f2, $f2 +/* B70F0C 802406AC 00000000 */ nop +/* B70F10 802406B0 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* B70F14 802406B4 C6020040 */ lwc1 $f2, 0x40($s0) +/* B70F18 802406B8 46001081 */ sub.s $f2, $f2, $f0 +/* B70F1C 802406BC 46021102 */ mul.s $f4, $f2, $f2 +/* B70F20 802406C0 00000000 */ nop +/* B70F24 802406C4 860200A8 */ lh $v0, 0xa8($s0) +/* B70F28 802406C8 C602003C */ lwc1 $f2, 0x3c($s0) +/* B70F2C 802406CC 44820000 */ mtc1 $v0, $f0 +/* B70F30 802406D0 00000000 */ nop +/* B70F34 802406D4 46800020 */ cvt.s.w $f0, $f0 +/* B70F38 802406D8 46001080 */ add.s $f2, $f2, $f0 +/* B70F3C 802406DC 461A1081 */ sub.s $f2, $f2, $f26 +/* B70F40 802406E0 46043300 */ add.s $f12, $f6, $f4 +/* B70F44 802406E4 C640009C */ lwc1 $f0, 0x9c($s2) +/* B70F48 802406E8 46001501 */ sub.s $f20, $f2, $f0 +/* B70F4C 802406EC 46006004 */ sqrt.s $f0, $f12 +/* B70F50 802406F0 46000032 */ c.eq.s $f0, $f0 +/* B70F54 802406F4 00000000 */ nop +/* B70F58 802406F8 45010003 */ bc1t .L80240708 +/* B70F5C 802406FC 00000000 */ nop +/* B70F60 80240700 0C0187BC */ jal sqrtf +/* B70F64 80240704 00000000 */ nop +.L80240708: +/* B70F68 80240708 4614C03C */ c.lt.s $f24, $f20 +/* B70F6C 8024070C 00000000 */ nop +/* B70F70 80240710 45000015 */ bc1f .L80240768 +/* B70F74 80240714 46000106 */ mov.s $f4, $f0 +/* B70F78 80240718 860200A8 */ lh $v0, 0xa8($s0) +/* B70F7C 8024071C 44820000 */ mtc1 $v0, $f0 +/* B70F80 80240720 00000000 */ nop +/* B70F84 80240724 46800020 */ cvt.s.w $f0, $f0 +/* B70F88 80240728 4600A03C */ c.lt.s $f20, $f0 +/* B70F8C 8024072C 00000000 */ nop +/* B70F90 80240730 4500000E */ bc1f .L8024076C +/* B70F94 80240734 26310001 */ addiu $s1, $s1, 1 +/* B70F98 80240738 860200A6 */ lh $v0, 0xa6($s0) +/* B70F9C 8024073C 44820000 */ mtc1 $v0, $f0 +/* B70FA0 80240740 00000000 */ nop +/* B70FA4 80240744 46800020 */ cvt.s.w $f0, $f0 +/* B70FA8 80240748 46160002 */ mul.s $f0, $f0, $f22 +/* B70FAC 8024074C 00000000 */ nop +/* B70FB0 80240750 4600203C */ c.lt.s $f4, $f0 +/* B70FB4 80240754 00000000 */ nop +/* B70FB8 80240758 45000004 */ bc1f .L8024076C +/* B70FBC 8024075C 24020001 */ addiu $v0, $zero, 1 +/* B70FC0 80240760 080901DE */ j .L80240778 +/* B70FC4 80240764 AE62008C */ sw $v0, 0x8c($s3) +.L80240768: +/* B70FC8 80240768 26310001 */ addiu $s1, $s1, 1 +.L8024076C: +/* B70FCC 8024076C 2A220040 */ slti $v0, $s1, 0x40 +/* B70FD0 80240770 1440FFC5 */ bnez $v0, .L80240688 +/* B70FD4 80240774 00000000 */ nop +.L80240778: +/* B70FD8 80240778 8FBF0020 */ lw $ra, 0x20($sp) +/* B70FDC 8024077C 8FB3001C */ lw $s3, 0x1c($sp) +/* B70FE0 80240780 8FB20018 */ lw $s2, 0x18($sp) +/* B70FE4 80240784 8FB10014 */ lw $s1, 0x14($sp) +/* B70FE8 80240788 8FB00010 */ lw $s0, 0x10($sp) +/* B70FEC 8024078C D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B70FF0 80240790 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B70FF4 80240794 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B70FF8 80240798 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B70FFC 8024079C 24020002 */ addiu $v0, $zero, 2 +/* B71000 802407A0 03E00008 */ jr $ra +/* B71004 802407A4 27BD0048 */ addiu $sp, $sp, 0x48 +/* B71008 802407A8 00000000 */ nop +/* B7100C 802407AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_802407B0.s b/asm/nonmatchings/world/area_jan/jan_11/func_802407B0.s new file mode 100644 index 0000000000..a78f1d1f4c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_802407B0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407B0 +/* B71010 802407B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B71014 802407B4 AFBF0010 */ sw $ra, 0x10($sp) +/* B71018 802407B8 8C82000C */ lw $v0, 0xc($a0) +/* B7101C 802407BC 3C068016 */ lui $a2, 0x8016 +/* B71020 802407C0 84C6A552 */ lh $a2, -0x5aae($a2) +/* B71024 802407C4 0C0B2026 */ jal set_variable +/* B71028 802407C8 8C450000 */ lw $a1, ($v0) +/* B7102C 802407CC 8FBF0010 */ lw $ra, 0x10($sp) +/* B71030 802407D0 24020002 */ addiu $v0, $zero, 2 +/* B71034 802407D4 03E00008 */ jr $ra +/* B71038 802407D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_11/func_802407DC.s b/asm/nonmatchings/world/area_jan/jan_11/func_802407DC.s new file mode 100644 index 0000000000..cd4dcf9ef3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_11/func_802407DC.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407DC +/* B7103C 802407DC 3C038011 */ lui $v1, 0x8011 +/* B71040 802407E0 8063EBB3 */ lb $v1, -0x144d($v1) +/* B71044 802407E4 24020006 */ addiu $v0, $zero, 6 +/* B71048 802407E8 54620003 */ bnel $v1, $v0, .L802407F8 +/* B7104C 802407EC AC8000A8 */ sw $zero, 0xa8($a0) +/* B71050 802407F0 24020001 */ addiu $v0, $zero, 1 +/* B71054 802407F4 AC8200A8 */ sw $v0, 0xa8($a0) +.L802407F8: +/* B71058 802407F8 03E00008 */ jr $ra +/* B7105C 802407FC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240000_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240000_B730B0.s new file mode 100644 index 0000000000..90633a8a93 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240000_B730B0.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B730B0 +/* B730B0 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B730B4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B730B8 80240008 0080882D */ daddu $s1, $a0, $zero +/* B730BC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* B730C0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* B730C4 80240014 F7B80030 */ sdc1 $f24, 0x30($sp) +/* B730C8 80240018 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B730CC 8024001C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B730D0 80240020 8E30000C */ lw $s0, 0xc($s1) +/* B730D4 80240024 8E050000 */ lw $a1, ($s0) +/* B730D8 80240028 0C0B210B */ jal get_float_variable +/* B730DC 8024002C 26100004 */ addiu $s0, $s0, 4 +/* B730E0 80240030 8E050000 */ lw $a1, ($s0) +/* B730E4 80240034 26100004 */ addiu $s0, $s0, 4 +/* B730E8 80240038 0220202D */ daddu $a0, $s1, $zero +/* B730EC 8024003C 0C0B210B */ jal get_float_variable +/* B730F0 80240040 46000606 */ mov.s $f24, $f0 +/* B730F4 80240044 8E050000 */ lw $a1, ($s0) +/* B730F8 80240048 26100004 */ addiu $s0, $s0, 4 +/* B730FC 8024004C 3C014170 */ lui $at, 0x4170 +/* B73100 80240050 44811000 */ mtc1 $at, $f2 +/* B73104 80240054 0220202D */ daddu $a0, $s1, $zero +/* B73108 80240058 0C0B210B */ jal get_float_variable +/* B7310C 8024005C 46020580 */ add.s $f22, $f0, $f2 +/* B73110 80240060 0220202D */ daddu $a0, $s1, $zero +/* B73114 80240064 8E050000 */ lw $a1, ($s0) +/* B73118 80240068 0C0B210B */ jal get_float_variable +/* B7311C 8024006C 46000506 */ mov.s $f20, $f0 +/* B73120 80240070 46000002 */ mul.s $f0, $f0, $f0 +/* B73124 80240074 00000000 */ nop +/* B73128 80240078 C6240084 */ lwc1 $f4, 0x84($s1) +/* B7312C 8024007C 46802120 */ cvt.s.w $f4, $f4 +/* B73130 80240080 46182101 */ sub.s $f4, $f4, $f24 +/* B73134 80240084 46042102 */ mul.s $f4, $f4, $f4 +/* B73138 80240088 00000000 */ nop +/* B7313C 8024008C C622008C */ lwc1 $f2, 0x8c($s1) +/* B73140 80240090 468010A0 */ cvt.s.w $f2, $f2 +/* B73144 80240094 46141081 */ sub.s $f2, $f2, $f20 +/* B73148 80240098 46021082 */ mul.s $f2, $f2, $f2 +/* B7314C 8024009C 00000000 */ nop +/* B73150 802400A0 C6260088 */ lwc1 $f6, 0x88($s1) +/* B73154 802400A4 468031A0 */ cvt.s.w $f6, $f6 +/* B73158 802400A8 46163181 */ sub.s $f6, $f6, $f22 +/* B7315C 802400AC 46063182 */ mul.s $f6, $f6, $f6 +/* B73160 802400B0 00000000 */ nop +/* B73164 802400B4 46062100 */ add.s $f4, $f4, $f6 +/* B73168 802400B8 46022100 */ add.s $f4, $f4, $f2 +/* B7316C 802400BC 4600203C */ c.lt.s $f4, $f0 +/* B73170 802400C0 00000000 */ nop +/* B73174 802400C4 45010002 */ bc1t .L802400D0 +/* B73178 802400C8 24020001 */ addiu $v0, $zero, 1 +/* B7317C 802400CC 0000102D */ daddu $v0, $zero, $zero +.L802400D0: +/* B73180 802400D0 AE220084 */ sw $v0, 0x84($s1) +/* B73184 802400D4 8FBF0018 */ lw $ra, 0x18($sp) +/* B73188 802400D8 8FB10014 */ lw $s1, 0x14($sp) +/* B7318C 802400DC 8FB00010 */ lw $s0, 0x10($sp) +/* B73190 802400E0 D7B80030 */ ldc1 $f24, 0x30($sp) +/* B73194 802400E4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B73198 802400E8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B7319C 802400EC 24020002 */ addiu $v0, $zero, 2 +/* B731A0 802400F0 03E00008 */ jr $ra +/* B731A4 802400F4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802400F8.s b/asm/nonmatchings/world/area_jan/jan_12/func_802400F8.s new file mode 100644 index 0000000000..7b2962ff9c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802400F8.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F8 +/* B731A8 802400F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B731AC 802400FC AFB10014 */ sw $s1, 0x14($sp) +/* B731B0 80240100 0080882D */ daddu $s1, $a0, $zero +/* B731B4 80240104 AFBF0018 */ sw $ra, 0x18($sp) +/* B731B8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* B731BC 8024010C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B731C0 80240110 8E30000C */ lw $s0, 0xc($s1) +/* B731C4 80240114 8E050000 */ lw $a1, ($s0) +/* B731C8 80240118 0C0B210B */ jal get_float_variable +/* B731CC 8024011C 26100004 */ addiu $s0, $s0, 4 +/* B731D0 80240120 8E050000 */ lw $a1, ($s0) +/* B731D4 80240124 26100004 */ addiu $s0, $s0, 4 +/* B731D8 80240128 0220202D */ daddu $a0, $s1, $zero +/* B731DC 8024012C 0C0B210B */ jal get_float_variable +/* B731E0 80240130 46000506 */ mov.s $f20, $f0 +/* B731E4 80240134 46140001 */ sub.s $f0, $f0, $f20 +/* B731E8 80240138 3C014120 */ lui $at, 0x4120 +/* B731EC 8024013C 44811000 */ mtc1 $at, $f2 +/* B731F0 80240140 8E050000 */ lw $a1, ($s0) +/* B731F4 80240144 46020003 */ div.s $f0, $f0, $f2 +/* B731F8 80240148 44060000 */ mfc1 $a2, $f0 +/* B731FC 8024014C 0C0B2190 */ jal set_float_variable +/* B73200 80240150 0220202D */ daddu $a0, $s1, $zero +/* B73204 80240154 8FBF0018 */ lw $ra, 0x18($sp) +/* B73208 80240158 8FB10014 */ lw $s1, 0x14($sp) +/* B7320C 8024015C 8FB00010 */ lw $s0, 0x10($sp) +/* B73210 80240160 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B73214 80240164 24020002 */ addiu $v0, $zero, 2 +/* B73218 80240168 03E00008 */ jr $ra +/* B7321C 8024016C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240170_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240170_B730B0.s new file mode 100644 index 0000000000..db1d495d0b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240170_B730B0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_B73220 +/* B73220 80240170 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B73224 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* B73228 80240178 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B7322C 8024017C 4485A000 */ mtc1 $a1, $f20 +/* B73230 80240180 AFBF0014 */ sw $ra, 0x14($sp) +/* B73234 80240184 0C019D28 */ jal guMtxIdentF +/* B73238 80240188 0080802D */ daddu $s0, $a0, $zero +/* B7323C 8024018C 3C018024 */ lui $at, 0x8024 +/* B73240 80240190 D42033B0 */ ldc1 $f0, 0x33b0($at) +/* B73244 80240194 4600A521 */ cvt.d.s $f20, $f20 +/* B73248 80240198 4620A502 */ mul.d $f20, $f20, $f0 +/* B7324C 8024019C 00000000 */ nop +/* B73250 802401A0 3C013F80 */ lui $at, 0x3f80 +/* B73254 802401A4 44810000 */ mtc1 $at, $f0 +/* B73258 802401A8 AE000018 */ sw $zero, 0x18($s0) +/* B7325C 802401AC E6000014 */ swc1 $f0, 0x14($s0) +/* B73260 802401B0 4620A520 */ cvt.s.d $f20, $f20 +/* B73264 802401B4 E6140010 */ swc1 $f20, 0x10($s0) +/* B73268 802401B8 8FBF0014 */ lw $ra, 0x14($sp) +/* B7326C 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* B73270 802401C0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B73274 802401C4 03E00008 */ jr $ra +/* B73278 802401C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802401CC_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802401CC_B730B0.s new file mode 100644 index 0000000000..211ee62865 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802401CC_B730B0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_B7327C +/* B7327C 802401CC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B73280 802401D0 AFB10054 */ sw $s1, 0x54($sp) +/* B73284 802401D4 0080882D */ daddu $s1, $a0, $zero +/* B73288 802401D8 AFBF0058 */ sw $ra, 0x58($sp) +/* B7328C 802401DC AFB00050 */ sw $s0, 0x50($sp) +/* B73290 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B73294 802401E4 8E30000C */ lw $s0, 0xc($s1) +/* B73298 802401E8 8E050000 */ lw $a1, ($s0) +/* B7329C 802401EC 0C0B1EAF */ jal get_variable +/* B732A0 802401F0 26100004 */ addiu $s0, $s0, 4 +/* B732A4 802401F4 0C046C04 */ jal get_model_list_index_from_tree_index +/* B732A8 802401F8 0040202D */ daddu $a0, $v0, $zero +/* B732AC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* B732B0 80240200 8E050000 */ lw $a1, ($s0) +/* B732B4 80240204 0C0B210B */ jal get_float_variable +/* B732B8 80240208 0040802D */ daddu $s0, $v0, $zero +/* B732BC 8024020C 0200202D */ daddu $a0, $s0, $zero +/* B732C0 80240210 0C046B4C */ jal get_model_from_list_index +/* B732C4 80240214 46000506 */ mov.s $f20, $f0 +/* B732C8 80240218 0040802D */ daddu $s0, $v0, $zero +/* B732CC 8024021C 96020000 */ lhu $v0, ($s0) +/* B732D0 80240220 30420400 */ andi $v0, $v0, 0x400 +/* B732D4 80240224 14400008 */ bnez $v0, .L80240248 +/* B732D8 80240228 00000000 */ nop +/* B732DC 8024022C 4405A000 */ mfc1 $a1, $f20 +/* B732E0 80240230 0C09005C */ jal func_80240170 +/* B732E4 80240234 26040058 */ addiu $a0, $s0, 0x58 +/* B732E8 80240238 96020000 */ lhu $v0, ($s0) +/* B732EC 8024023C 34421400 */ ori $v0, $v0, 0x1400 +/* B732F0 80240240 08090099 */ j .L80240264 +/* B732F4 80240244 A6020000 */ sh $v0, ($s0) +.L80240248: +/* B732F8 80240248 4405A000 */ mfc1 $a1, $f20 +/* B732FC 8024024C 0C09005C */ jal func_80240170 +/* B73300 80240250 27A40010 */ addiu $a0, $sp, 0x10 +/* B73304 80240254 27A40010 */ addiu $a0, $sp, 0x10 +/* B73308 80240258 26050058 */ addiu $a1, $s0, 0x58 +/* B7330C 8024025C 0C019D80 */ jal guMtxCatF +/* B73310 80240260 00A0302D */ daddu $a2, $a1, $zero +.L80240264: +/* B73314 80240264 8FBF0058 */ lw $ra, 0x58($sp) +/* B73318 80240268 8FB10054 */ lw $s1, 0x54($sp) +/* B7331C 8024026C 8FB00050 */ lw $s0, 0x50($sp) +/* B73320 80240270 D7B40060 */ ldc1 $f20, 0x60($sp) +/* B73324 80240274 24020002 */ addiu $v0, $zero, 2 +/* B73328 80240278 03E00008 */ jr $ra +/* B7332C 8024027C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240280_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240280_B730B0.s new file mode 100644 index 0000000000..ca5f07e774 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240280_B730B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_B73330 +/* B73330 80240280 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B73334 80240284 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B73338 80240288 4485A000 */ mtc1 $a1, $f20 +/* B7333C 8024028C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B73340 80240290 4486B000 */ mtc1 $a2, $f22 +/* B73344 80240294 AFB00010 */ sw $s0, 0x10($sp) +/* B73348 80240298 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B7334C 8024029C 4487C000 */ mtc1 $a3, $f24 +/* B73350 802402A0 AFBF0014 */ sw $ra, 0x14($sp) +/* B73354 802402A4 0C019D28 */ jal guMtxIdentF +/* B73358 802402A8 0080802D */ daddu $s0, $a0, $zero +/* B7335C 802402AC 4616A582 */ mul.s $f22, $f20, $f22 +/* B73360 802402B0 00000000 */ nop +/* B73364 802402B4 4618A502 */ mul.s $f20, $f20, $f24 +/* B73368 802402B8 00000000 */ nop +/* B7336C 802402BC 3C013F80 */ lui $at, 0x3f80 +/* B73370 802402C0 44810000 */ mtc1 $at, $f0 +/* B73374 802402C4 00000000 */ nop +/* B73378 802402C8 E6000014 */ swc1 $f0, 0x14($s0) +/* B7337C 802402CC E6160010 */ swc1 $f22, 0x10($s0) +/* B73380 802402D0 E6140018 */ swc1 $f20, 0x18($s0) +/* B73384 802402D4 8FBF0014 */ lw $ra, 0x14($sp) +/* B73388 802402D8 8FB00010 */ lw $s0, 0x10($sp) +/* B7338C 802402DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B73390 802402E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B73394 802402E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B73398 802402E8 03E00008 */ jr $ra +/* B7339C 802402EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802402F0_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802402F0_B730B0.s new file mode 100644 index 0000000000..3f40f3effa --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802402F0_B730B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_B733A0 +/* B733A0 802402F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B733A4 802402F4 AFB10054 */ sw $s1, 0x54($sp) +/* B733A8 802402F8 0080882D */ daddu $s1, $a0, $zero +/* B733AC 802402FC AFBF005C */ sw $ra, 0x5c($sp) +/* B733B0 80240300 AFB20058 */ sw $s2, 0x58($sp) +/* B733B4 80240304 AFB00050 */ sw $s0, 0x50($sp) +/* B733B8 80240308 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B733BC 8024030C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B733C0 80240310 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B733C4 80240314 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B733C8 80240318 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B733CC 8024031C 8E30000C */ lw $s0, 0xc($s1) +/* B733D0 80240320 8E050000 */ lw $a1, ($s0) +/* B733D4 80240324 0C0B1EAF */ jal get_variable +/* B733D8 80240328 26100004 */ addiu $s0, $s0, 4 +/* B733DC 8024032C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B733E0 80240330 0040202D */ daddu $a0, $v0, $zero +/* B733E4 80240334 8E050000 */ lw $a1, ($s0) +/* B733E8 80240338 26100004 */ addiu $s0, $s0, 4 +/* B733EC 8024033C 0220202D */ daddu $a0, $s1, $zero +/* B733F0 80240340 0C0B210B */ jal get_float_variable +/* B733F4 80240344 0040902D */ daddu $s2, $v0, $zero +/* B733F8 80240348 8E050000 */ lw $a1, ($s0) +/* B733FC 8024034C 26100004 */ addiu $s0, $s0, 4 +/* B73400 80240350 0220202D */ daddu $a0, $s1, $zero +/* B73404 80240354 0C0B210B */ jal get_float_variable +/* B73408 80240358 46000706 */ mov.s $f28, $f0 +/* B7340C 8024035C 8E050000 */ lw $a1, ($s0) +/* B73410 80240360 26100004 */ addiu $s0, $s0, 4 +/* B73414 80240364 0220202D */ daddu $a0, $s1, $zero +/* B73418 80240368 0C0B210B */ jal get_float_variable +/* B7341C 8024036C 46000686 */ mov.s $f26, $f0 +/* B73420 80240370 0220202D */ daddu $a0, $s1, $zero +/* B73424 80240374 8E050000 */ lw $a1, ($s0) +/* B73428 80240378 0C0B210B */ jal get_float_variable +/* B7342C 8024037C 46000586 */ mov.s $f22, $f0 +/* B73430 80240380 0240202D */ daddu $a0, $s2, $zero +/* B73434 80240384 0C046B4C */ jal get_model_from_list_index +/* B73438 80240388 46000606 */ mov.s $f24, $f0 +/* B7343C 8024038C 0040882D */ daddu $s1, $v0, $zero +/* B73440 80240390 96220000 */ lhu $v0, ($s1) +/* B73444 80240394 30420400 */ andi $v0, $v0, 0x400 +/* B73448 80240398 1440001E */ bnez $v0, .L80240414 +/* B7344C 8024039C 26300058 */ addiu $s0, $s1, 0x58 +/* B73450 802403A0 4480A000 */ mtc1 $zero, $f20 +/* B73454 802403A4 4406B000 */ mfc1 $a2, $f22 +/* B73458 802403A8 4405A000 */ mfc1 $a1, $f20 +/* B7345C 802403AC 4407A000 */ mfc1 $a3, $f20 +/* B73460 802403B0 0C019E40 */ jal guTranslateF +/* B73464 802403B4 0200202D */ daddu $a0, $s0, $zero +/* B73468 802403B8 4405E000 */ mfc1 $a1, $f28 +/* B7346C 802403BC 4406D000 */ mfc1 $a2, $f26 +/* B73470 802403C0 4407C000 */ mfc1 $a3, $f24 +/* B73474 802403C4 0C0900A0 */ jal func_80240280 +/* B73478 802403C8 27A40010 */ addiu $a0, $sp, 0x10 +/* B7347C 802403CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B73480 802403D0 0200282D */ daddu $a1, $s0, $zero +/* B73484 802403D4 0C019D80 */ jal guMtxCatF +/* B73488 802403D8 0200302D */ daddu $a2, $s0, $zero +/* B7348C 802403DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B73490 802403E0 4600B587 */ neg.s $f22, $f22 +/* B73494 802403E4 4405A000 */ mfc1 $a1, $f20 +/* B73498 802403E8 4406B000 */ mfc1 $a2, $f22 +/* B7349C 802403EC 0C019E40 */ jal guTranslateF +/* B734A0 802403F0 00A0382D */ daddu $a3, $a1, $zero +/* B734A4 802403F4 27A40010 */ addiu $a0, $sp, 0x10 +/* B734A8 802403F8 0200282D */ daddu $a1, $s0, $zero +/* B734AC 802403FC 0C019D80 */ jal guMtxCatF +/* B734B0 80240400 00A0302D */ daddu $a2, $a1, $zero +/* B734B4 80240404 96220000 */ lhu $v0, ($s1) +/* B734B8 80240408 34421400 */ ori $v0, $v0, 0x1400 +/* B734BC 8024040C 08090123 */ j .L8024048C +/* B734C0 80240410 A6220000 */ sh $v0, ($s1) +.L80240414: +/* B734C4 80240414 4480A000 */ mtc1 $zero, $f20 +/* B734C8 80240418 4406B000 */ mfc1 $a2, $f22 +/* B734CC 8024041C 4405A000 */ mfc1 $a1, $f20 +/* B734D0 80240420 4407A000 */ mfc1 $a3, $f20 +/* B734D4 80240424 0C019E40 */ jal guTranslateF +/* B734D8 80240428 27A40010 */ addiu $a0, $sp, 0x10 +/* B734DC 8024042C 27A40010 */ addiu $a0, $sp, 0x10 +/* B734E0 80240430 26300058 */ addiu $s0, $s1, 0x58 +/* B734E4 80240434 0200282D */ daddu $a1, $s0, $zero +/* B734E8 80240438 0C019D80 */ jal guMtxCatF +/* B734EC 8024043C 0200302D */ daddu $a2, $s0, $zero +/* B734F0 80240440 4405E000 */ mfc1 $a1, $f28 +/* B734F4 80240444 4406D000 */ mfc1 $a2, $f26 +/* B734F8 80240448 4407C000 */ mfc1 $a3, $f24 +/* B734FC 8024044C 0C0900A0 */ jal func_80240280 +/* B73500 80240450 27A40010 */ addiu $a0, $sp, 0x10 +/* B73504 80240454 27A40010 */ addiu $a0, $sp, 0x10 +/* B73508 80240458 0200282D */ daddu $a1, $s0, $zero +/* B7350C 8024045C 0C019D80 */ jal guMtxCatF +/* B73510 80240460 0200302D */ daddu $a2, $s0, $zero +/* B73514 80240464 27A40010 */ addiu $a0, $sp, 0x10 +/* B73518 80240468 4600B587 */ neg.s $f22, $f22 +/* B7351C 8024046C 4405A000 */ mfc1 $a1, $f20 +/* B73520 80240470 4406B000 */ mfc1 $a2, $f22 +/* B73524 80240474 0C019E40 */ jal guTranslateF +/* B73528 80240478 00A0382D */ daddu $a3, $a1, $zero +/* B7352C 8024047C 27A40010 */ addiu $a0, $sp, 0x10 +/* B73530 80240480 0200282D */ daddu $a1, $s0, $zero +/* B73534 80240484 0C019D80 */ jal guMtxCatF +/* B73538 80240488 00A0302D */ daddu $a2, $a1, $zero +.L8024048C: +/* B7353C 8024048C 8FBF005C */ lw $ra, 0x5c($sp) +/* B73540 80240490 8FB20058 */ lw $s2, 0x58($sp) +/* B73544 80240494 8FB10054 */ lw $s1, 0x54($sp) +/* B73548 80240498 8FB00050 */ lw $s0, 0x50($sp) +/* B7354C 8024049C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B73550 802404A0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B73554 802404A4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B73558 802404A8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B7355C 802404AC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B73560 802404B0 24020002 */ addiu $v0, $zero, 2 +/* B73564 802404B4 03E00008 */ jr $ra +/* B73568 802404B8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B7356C 802404BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802404C0_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802404C0_B730B0.s new file mode 100644 index 0000000000..0a5af6835d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802404C0_B730B0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_B73570 +/* B73570 802404C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B73574 802404C4 AFB10014 */ sw $s1, 0x14($sp) +/* B73578 802404C8 0080882D */ daddu $s1, $a0, $zero +/* B7357C 802404CC AFBF0018 */ sw $ra, 0x18($sp) +/* B73580 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* B73584 802404D4 8E300148 */ lw $s0, 0x148($s1) +/* B73588 802404D8 0C00EABB */ jal get_npc_unsafe +/* B7358C 802404DC 86040008 */ lh $a0, 8($s0) +/* B73590 802404E0 3C054387 */ lui $a1, 0x4387 +/* B73594 802404E4 0040202D */ daddu $a0, $v0, $zero +/* B73598 802404E8 0C00ECD0 */ jal set_npc_yaw +/* B7359C 802404EC A480008E */ sh $zero, 0x8e($a0) +/* B735A0 802404F0 24020003 */ addiu $v0, $zero, 3 +/* B735A4 802404F4 AE00006C */ sw $zero, 0x6c($s0) +/* B735A8 802404F8 AE220070 */ sw $v0, 0x70($s1) +/* B735AC 802404FC 8FBF0018 */ lw $ra, 0x18($sp) +/* B735B0 80240500 8FB10014 */ lw $s1, 0x14($sp) +/* B735B4 80240504 8FB00010 */ lw $s0, 0x10($sp) +/* B735B8 80240508 03E00008 */ jr $ra +/* B735BC 8024050C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240510_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240510_B730B0.s new file mode 100644 index 0000000000..edc5779f50 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240510_B730B0.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_B735C0 +/* B735C0 80240510 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B735C4 80240514 AFB20028 */ sw $s2, 0x28($sp) +/* B735C8 80240518 0080902D */ daddu $s2, $a0, $zero +/* B735CC 8024051C AFBF002C */ sw $ra, 0x2c($sp) +/* B735D0 80240520 AFB10024 */ sw $s1, 0x24($sp) +/* B735D4 80240524 AFB00020 */ sw $s0, 0x20($sp) +/* B735D8 80240528 8E500148 */ lw $s0, 0x148($s2) +/* B735DC 8024052C 0C00EABB */ jal get_npc_unsafe +/* B735E0 80240530 86040008 */ lh $a0, 8($s0) +/* B735E4 80240534 8E03006C */ lw $v1, 0x6c($s0) +/* B735E8 80240538 1460000B */ bnez $v1, .L80240568 +/* B735EC 8024053C 0040882D */ daddu $s1, $v0, $zero +/* B735F0 80240540 0C00A67F */ jal rand_int +/* B735F4 80240544 24040064 */ addiu $a0, $zero, 0x64 +/* B735F8 80240548 28420032 */ slti $v0, $v0, 0x32 +/* B735FC 8024054C 14400002 */ bnez $v0, .L80240558 +/* B73600 80240550 24020001 */ addiu $v0, $zero, 1 +/* B73604 80240554 24020003 */ addiu $v0, $zero, 3 +.L80240558: +/* B73608 80240558 AE02006C */ sw $v0, 0x6c($s0) +/* B7360C 8024055C 3C054387 */ lui $a1, 0x4387 +/* B73610 80240560 0C00ECD0 */ jal set_npc_yaw +/* B73614 80240564 0220202D */ daddu $a0, $s1, $zero +.L80240568: +/* B73618 80240568 8E02006C */ lw $v0, 0x6c($s0) +/* B7361C 8024056C 2443FFFF */ addiu $v1, $v0, -1 +/* B73620 80240570 2C620006 */ sltiu $v0, $v1, 6 +/* B73624 80240574 1040004D */ beqz $v0, .L802406AC +/* B73628 80240578 00031080 */ sll $v0, $v1, 2 +/* B7362C 8024057C 3C018024 */ lui $at, 0x8024 +/* B73630 80240580 00220821 */ addu $at, $at, $v0 +/* B73634 80240584 8C2233C0 */ lw $v0, 0x33c0($at) +/* B73638 80240588 00400008 */ jr $v0 +/* B7363C 8024058C 00000000 */ nop +/* B73640 80240590 3C030042 */ lui $v1, 0x42 +/* B73644 80240594 3463000F */ ori $v1, $v1, 0xf +/* B73648 80240598 24020002 */ addiu $v0, $zero, 2 +/* B7364C 8024059C AE02006C */ sw $v0, 0x6c($s0) +/* B73650 802405A0 AE000070 */ sw $zero, 0x70($s0) +/* B73654 802405A4 AE230028 */ sw $v1, 0x28($s1) +/* B73658 802405A8 8E020070 */ lw $v0, 0x70($s0) +/* B7365C 802405AC 24420001 */ addiu $v0, $v0, 1 +/* B73660 802405B0 AE020070 */ sw $v0, 0x70($s0) +/* B73664 802405B4 28420033 */ slti $v0, $v0, 0x33 +/* B73668 802405B8 1440003C */ bnez $v0, .L802406AC +/* B7366C 802405BC 24020005 */ addiu $v0, $zero, 5 +/* B73670 802405C0 080901AB */ j .L802406AC +/* B73674 802405C4 AE02006C */ sw $v0, 0x6c($s0) +/* B73678 802405C8 3C030042 */ lui $v1, 0x42 +/* B7367C 802405CC 34630010 */ ori $v1, $v1, 0x10 +/* B73680 802405D0 24020004 */ addiu $v0, $zero, 4 +/* B73684 802405D4 AE02006C */ sw $v0, 0x6c($s0) +/* B73688 802405D8 AE000070 */ sw $zero, 0x70($s0) +/* B7368C 802405DC AE230028 */ sw $v1, 0x28($s1) +/* B73690 802405E0 8E020070 */ lw $v0, 0x70($s0) +/* B73694 802405E4 24030019 */ addiu $v1, $zero, 0x19 +/* B73698 802405E8 24420001 */ addiu $v0, $v0, 1 +/* B7369C 802405EC 14430005 */ bne $v0, $v1, .L80240604 +/* B736A0 802405F0 AE020070 */ sw $v0, 0x70($s0) +/* B736A4 802405F4 3C0142B4 */ lui $at, 0x42b4 +/* B736A8 802405F8 44810000 */ mtc1 $at, $f0 +/* B736AC 802405FC 00000000 */ nop +/* B736B0 80240600 E620000C */ swc1 $f0, 0xc($s1) +.L80240604: +/* B736B4 80240604 8E020070 */ lw $v0, 0x70($s0) +/* B736B8 80240608 2842003D */ slti $v0, $v0, 0x3d +/* B736BC 8024060C 14400027 */ bnez $v0, .L802406AC +/* B736C0 80240610 24020005 */ addiu $v0, $zero, 5 +/* B736C4 80240614 080901AB */ j .L802406AC +/* B736C8 80240618 AE02006C */ sw $v0, 0x6c($s0) +/* B736CC 8024061C 3C030042 */ lui $v1, 0x42 +/* B736D0 80240620 24020006 */ addiu $v0, $zero, 6 +/* B736D4 80240624 34630003 */ ori $v1, $v1, 3 +/* B736D8 80240628 AE02006C */ sw $v0, 0x6c($s0) +/* B736DC 8024062C AE000070 */ sw $zero, 0x70($s0) +/* B736E0 80240630 862400A8 */ lh $a0, 0xa8($s1) +/* B736E4 80240634 2402000A */ addiu $v0, $zero, 0xa +/* B736E8 80240638 AE230028 */ sw $v1, 0x28($s1) +/* B736EC 8024063C AFA00014 */ sw $zero, 0x14($sp) +/* B736F0 80240640 AFA20018 */ sw $v0, 0x18($sp) +/* B736F4 80240644 44840000 */ mtc1 $a0, $f0 +/* B736F8 80240648 00000000 */ nop +/* B736FC 8024064C 46800020 */ cvt.s.w $f0, $f0 +/* B73700 80240650 E7A00010 */ swc1 $f0, 0x10($sp) +/* B73704 80240654 8E250038 */ lw $a1, 0x38($s1) +/* B73708 80240658 8E26003C */ lw $a2, 0x3c($s1) +/* B7370C 8024065C 8E270040 */ lw $a3, 0x40($s1) +/* B73710 80240660 0C01C1E4 */ jal fx_sweat +/* B73714 80240664 0000202D */ daddu $a0, $zero, $zero +/* B73718 80240668 8E020070 */ lw $v0, 0x70($s0) +/* B7371C 8024066C 24420001 */ addiu $v0, $v0, 1 +/* B73720 80240670 AE020070 */ sw $v0, 0x70($s0) +/* B73724 80240674 2842000B */ slti $v0, $v0, 0xb +/* B73728 80240678 1440000C */ bnez $v0, .L802406AC +/* B7372C 8024067C 00000000 */ nop +/* B73730 80240680 0C00A67F */ jal rand_int +/* B73734 80240684 24040064 */ addiu $a0, $zero, 0x64 +/* B73738 80240688 0040182D */ daddu $v1, $v0, $zero +/* B7373C 8024068C 2862005A */ slti $v0, $v1, 0x5a +/* B73740 80240690 14400005 */ bnez $v0, .L802406A8 +/* B73744 80240694 24020007 */ addiu $v0, $zero, 7 +/* B73748 80240698 2862005F */ slti $v0, $v1, 0x5f +/* B7374C 8024069C 14400002 */ bnez $v0, .L802406A8 +/* B73750 802406A0 24020001 */ addiu $v0, $zero, 1 +/* B73754 802406A4 24020003 */ addiu $v0, $zero, 3 +.L802406A8: +/* B73758 802406A8 AE02006C */ sw $v0, 0x6c($s0) +.L802406AC: +/* B7375C 802406AC 8E03006C */ lw $v1, 0x6c($s0) +/* B73760 802406B0 24020007 */ addiu $v0, $zero, 7 +/* B73764 802406B4 50620001 */ beql $v1, $v0, .L802406BC +/* B73768 802406B8 AE400070 */ sw $zero, 0x70($s2) +.L802406BC: +/* B7376C 802406BC 8FBF002C */ lw $ra, 0x2c($sp) +/* B73770 802406C0 8FB20028 */ lw $s2, 0x28($sp) +/* B73774 802406C4 8FB10024 */ lw $s1, 0x24($sp) +/* B73778 802406C8 8FB00020 */ lw $s0, 0x20($sp) +/* B7377C 802406CC 03E00008 */ jr $ra +/* B73780 802406D0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802406D4_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802406D4_B730B0.s new file mode 100644 index 0000000000..6618c812e0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802406D4_B730B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406D4_B73784 +/* B73784 802406D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B73788 802406D8 AFB10014 */ sw $s1, 0x14($sp) +/* B7378C 802406DC 0080882D */ daddu $s1, $a0, $zero +/* B73790 802406E0 AFBF0018 */ sw $ra, 0x18($sp) +/* B73794 802406E4 AFB00010 */ sw $s0, 0x10($sp) +/* B73798 802406E8 8E300148 */ lw $s0, 0x148($s1) +/* B7379C 802406EC 0C00EABB */ jal get_npc_unsafe +/* B737A0 802406F0 86040008 */ lh $a0, 8($s0) +/* B737A4 802406F4 24030001 */ addiu $v1, $zero, 1 +/* B737A8 802406F8 0040202D */ daddu $a0, $v0, $zero +/* B737AC 802406FC AE03006C */ sw $v1, 0x6c($s0) +/* B737B0 80240700 8482008C */ lh $v0, 0x8c($a0) +/* B737B4 80240704 14400009 */ bnez $v0, .L8024072C +/* B737B8 80240708 24020002 */ addiu $v0, $zero, 2 +/* B737BC 8024070C 96030072 */ lhu $v1, 0x72($s0) +/* B737C0 80240710 AE02006C */ sw $v0, 0x6c($s0) +/* B737C4 80240714 A483008E */ sh $v1, 0x8e($a0) +/* B737C8 80240718 8E0200CC */ lw $v0, 0xcc($s0) +/* B737CC 8024071C 8C420020 */ lw $v0, 0x20($v0) +/* B737D0 80240720 AC820028 */ sw $v0, 0x28($a0) +/* B737D4 80240724 2402001F */ addiu $v0, $zero, 0x1f +/* B737D8 80240728 AE220070 */ sw $v0, 0x70($s1) +.L8024072C: +/* B737DC 8024072C 8FBF0018 */ lw $ra, 0x18($sp) +/* B737E0 80240730 8FB10014 */ lw $s1, 0x14($sp) +/* B737E4 80240734 8FB00010 */ lw $s0, 0x10($sp) +/* B737E8 80240738 03E00008 */ jr $ra +/* B737EC 8024073C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240740_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240740_B730B0.s new file mode 100644 index 0000000000..63a4ff8f2d --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240740_B730B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240740_B737F0 +/* B737F0 80240740 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B737F4 80240744 AFB10014 */ sw $s1, 0x14($sp) +/* B737F8 80240748 0080882D */ daddu $s1, $a0, $zero +/* B737FC 8024074C AFBF0018 */ sw $ra, 0x18($sp) +/* B73800 80240750 AFB00010 */ sw $s0, 0x10($sp) +/* B73804 80240754 8E300148 */ lw $s0, 0x148($s1) +/* B73808 80240758 0C00EABB */ jal get_npc_unsafe +/* B7380C 8024075C 86040008 */ lh $a0, 8($s0) +/* B73810 80240760 0040202D */ daddu $a0, $v0, $zero +/* B73814 80240764 9482008E */ lhu $v0, 0x8e($a0) +/* B73818 80240768 2442FFFF */ addiu $v0, $v0, -1 +/* B7381C 8024076C A482008E */ sh $v0, 0x8e($a0) +/* B73820 80240770 00021400 */ sll $v0, $v0, 0x10 +/* B73824 80240774 1C400009 */ bgtz $v0, .L8024079C +/* B73828 80240778 24020003 */ addiu $v0, $zero, 3 +/* B7382C 8024077C 96030076 */ lhu $v1, 0x76($s0) +/* B73830 80240780 AE02006C */ sw $v0, 0x6c($s0) +/* B73834 80240784 A483008E */ sh $v1, 0x8e($a0) +/* B73838 80240788 8E0200CC */ lw $v0, 0xcc($s0) +/* B7383C 8024078C 8C420024 */ lw $v0, 0x24($v0) +/* B73840 80240790 AC820028 */ sw $v0, 0x28($a0) +/* B73844 80240794 24020020 */ addiu $v0, $zero, 0x20 +/* B73848 80240798 AE220070 */ sw $v0, 0x70($s1) +.L8024079C: +/* B7384C 8024079C 8FBF0018 */ lw $ra, 0x18($sp) +/* B73850 802407A0 8FB10014 */ lw $s1, 0x14($sp) +/* B73854 802407A4 8FB00010 */ lw $s0, 0x10($sp) +/* B73858 802407A8 03E00008 */ jr $ra +/* B7385C 802407AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802407B0_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802407B0_B730B0.s new file mode 100644 index 0000000000..baede32ccb --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802407B0_B730B0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407B0_B73860 +/* B73860 802407B0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B73864 802407B4 AFB10034 */ sw $s1, 0x34($sp) +/* B73868 802407B8 0080882D */ daddu $s1, $a0, $zero +/* B7386C 802407BC AFBF0038 */ sw $ra, 0x38($sp) +/* B73870 802407C0 AFB00030 */ sw $s0, 0x30($sp) +/* B73874 802407C4 8E300148 */ lw $s0, 0x148($s1) +/* B73878 802407C8 0C00EABB */ jal get_npc_unsafe +/* B7387C 802407CC 86040008 */ lh $a0, 8($s0) +/* B73880 802407D0 0040282D */ daddu $a1, $v0, $zero +/* B73884 802407D4 94A2008E */ lhu $v0, 0x8e($a1) +/* B73888 802407D8 2442FFFF */ addiu $v0, $v0, -1 +/* B7388C 802407DC A4A2008E */ sh $v0, 0x8e($a1) +/* B73890 802407E0 00021400 */ sll $v0, $v0, 0x10 +/* B73894 802407E4 1C400023 */ bgtz $v0, .L80240874 +/* B73898 802407E8 24020004 */ addiu $v0, $zero, 4 +/* B7389C 802407EC 8E0300CC */ lw $v1, 0xcc($s0) +/* B738A0 802407F0 AE02006C */ sw $v0, 0x6c($s0) +/* B738A4 802407F4 8C620000 */ lw $v0, ($v1) +/* B738A8 802407F8 ACA20028 */ sw $v0, 0x28($a1) +/* B738AC 802407FC 9602007A */ lhu $v0, 0x7a($s0) +/* B738B0 80240800 A4A2008E */ sh $v0, 0x8e($a1) +/* B738B4 80240804 8E020078 */ lw $v0, 0x78($s0) +/* B738B8 80240808 28420008 */ slti $v0, $v0, 8 +/* B738BC 8024080C 14400018 */ bnez $v0, .L80240870 +/* B738C0 80240810 24020021 */ addiu $v0, $zero, 0x21 +/* B738C4 80240814 24040003 */ addiu $a0, $zero, 3 +/* B738C8 80240818 27A30028 */ addiu $v1, $sp, 0x28 +/* B738CC 8024081C 84A700A8 */ lh $a3, 0xa8($a1) +/* B738D0 80240820 3C013F80 */ lui $at, 0x3f80 +/* B738D4 80240824 44810000 */ mtc1 $at, $f0 +/* B738D8 80240828 3C014000 */ lui $at, 0x4000 +/* B738DC 8024082C 44811000 */ mtc1 $at, $f2 +/* B738E0 80240830 3C01C1A0 */ lui $at, 0xc1a0 +/* B738E4 80240834 44812000 */ mtc1 $at, $f4 +/* B738E8 80240838 44873000 */ mtc1 $a3, $f6 +/* B738EC 8024083C 00000000 */ nop +/* B738F0 80240840 468031A0 */ cvt.s.w $f6, $f6 +/* B738F4 80240844 E7A00010 */ swc1 $f0, 0x10($sp) +/* B738F8 80240848 E7A20014 */ swc1 $f2, 0x14($sp) +/* B738FC 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* B73900 80240850 8E020078 */ lw $v0, 0x78($s0) +/* B73904 80240854 44073000 */ mfc1 $a3, $f6 +/* B73908 80240858 0000302D */ daddu $a2, $zero, $zero +/* B7390C 8024085C AFA30020 */ sw $v1, 0x20($sp) +/* B73910 80240860 2442FFFF */ addiu $v0, $v0, -1 +/* B73914 80240864 0C01BFA4 */ jal fx_emote +/* B73918 80240868 AFA2001C */ sw $v0, 0x1c($sp) +/* B7391C 8024086C 24020021 */ addiu $v0, $zero, 0x21 +.L80240870: +/* B73920 80240870 AE220070 */ sw $v0, 0x70($s1) +.L80240874: +/* B73924 80240874 8FBF0038 */ lw $ra, 0x38($sp) +/* B73928 80240878 8FB10034 */ lw $s1, 0x34($sp) +/* B7392C 8024087C 8FB00030 */ lw $s0, 0x30($sp) +/* B73930 80240880 03E00008 */ jr $ra +/* B73934 80240884 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240888_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240888_B730B0.s new file mode 100644 index 0000000000..9318f47da5 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240888_B730B0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240888_B73938 +/* B73938 80240888 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B7393C 8024088C AFB10014 */ sw $s1, 0x14($sp) +/* B73940 80240890 0080882D */ daddu $s1, $a0, $zero +/* B73944 80240894 AFBF0018 */ sw $ra, 0x18($sp) +/* B73948 80240898 AFB00010 */ sw $s0, 0x10($sp) +/* B7394C 8024089C 8E300148 */ lw $s0, 0x148($s1) +/* B73950 802408A0 0C00EABB */ jal get_npc_unsafe +/* B73954 802408A4 86040008 */ lh $a0, 8($s0) +/* B73958 802408A8 9443008E */ lhu $v1, 0x8e($v0) +/* B7395C 802408AC 2463FFFF */ addiu $v1, $v1, -1 +/* B73960 802408B0 A443008E */ sh $v1, 0x8e($v0) +/* B73964 802408B4 00031C00 */ sll $v1, $v1, 0x10 +/* B73968 802408B8 1C600003 */ bgtz $v1, .L802408C8 +/* B7396C 802408BC 2402000C */ addiu $v0, $zero, 0xc +/* B73970 802408C0 AE00006C */ sw $zero, 0x6c($s0) +/* B73974 802408C4 AE220070 */ sw $v0, 0x70($s1) +.L802408C8: +/* B73978 802408C8 8FBF0018 */ lw $ra, 0x18($sp) +/* B7397C 802408CC 8FB10014 */ lw $s1, 0x14($sp) +/* B73980 802408D0 8FB00010 */ lw $s0, 0x10($sp) +/* B73984 802408D4 03E00008 */ jr $ra +/* B73988 802408D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_802408DC_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_802408DC_B730B0.s new file mode 100644 index 0000000000..09876b52d9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_802408DC_B730B0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408DC_B7398C +/* B7398C 802408DC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B73990 802408E0 AFBF0024 */ sw $ra, 0x24($sp) +/* B73994 802408E4 AFB40020 */ sw $s4, 0x20($sp) +/* B73998 802408E8 AFB3001C */ sw $s3, 0x1c($sp) +/* B7399C 802408EC AFB20018 */ sw $s2, 0x18($sp) +/* B739A0 802408F0 AFB10014 */ sw $s1, 0x14($sp) +/* B739A4 802408F4 AFB00010 */ sw $s0, 0x10($sp) +/* B739A8 802408F8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B739AC 802408FC 8C900148 */ lw $s0, 0x148($a0) +/* B739B0 80240900 86040008 */ lh $a0, 8($s0) +/* B739B4 80240904 0C00EABB */ jal get_npc_unsafe +/* B739B8 80240908 24110001 */ addiu $s1, $zero, 1 +/* B739BC 8024090C 86040008 */ lh $a0, 8($s0) +/* B739C0 80240910 0040802D */ daddu $s0, $v0, $zero +/* B739C4 80240914 3C05800B */ lui $a1, %hi(gCameras) +/* B739C8 80240918 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B739CC 8024091C 3C03800A */ lui $v1, 0x800a +/* B739D0 80240920 8463A634 */ lh $v1, -0x59cc($v1) +/* B739D4 80240924 00912021 */ addu $a0, $a0, $s1 +/* B739D8 80240928 00031080 */ sll $v0, $v1, 2 +/* B739DC 8024092C 00431021 */ addu $v0, $v0, $v1 +/* B739E0 80240930 00021080 */ sll $v0, $v0, 2 +/* B739E4 80240934 00431023 */ subu $v0, $v0, $v1 +/* B739E8 80240938 000218C0 */ sll $v1, $v0, 3 +/* B739EC 8024093C 00431021 */ addu $v0, $v0, $v1 +/* B739F0 80240940 000210C0 */ sll $v0, $v0, 3 +/* B739F4 80240944 0C00FB3A */ jal get_enemy +/* B739F8 80240948 00459021 */ addu $s2, $v0, $a1 +/* B739FC 8024094C 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B73A00 80240950 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B73A04 80240954 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B73A08 80240958 8E830000 */ lw $v1, ($s4) +/* B73A0C 8024095C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B73A10 80240960 8C660028 */ lw $a2, 0x28($v1) +/* B73A14 80240964 8C670030 */ lw $a3, 0x30($v1) +/* B73A18 80240968 0C00A7B5 */ jal dist2D +/* B73A1C 8024096C 0040982D */ daddu $s3, $v0, $zero +/* B73A20 80240970 C6620074 */ lwc1 $f2, 0x74($s3) +/* B73A24 80240974 468010A0 */ cvt.s.w $f2, $f2 +/* B73A28 80240978 4600103C */ c.lt.s $f2, $f0 +/* B73A2C 8024097C 00000000 */ nop +/* B73A30 80240980 45030001 */ bc1tl .L80240988 +/* B73A34 80240984 0000882D */ daddu $s1, $zero, $zero +.L80240988: +/* B73A38 80240988 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B73A3C 8024098C C60E000C */ lwc1 $f14, 0xc($s0) +/* B73A40 80240990 3C014387 */ lui $at, 0x4387 +/* B73A44 80240994 4481A000 */ mtc1 $at, $f20 +/* B73A48 80240998 0C00A70A */ jal get_clamped_angle_diff +/* B73A4C 8024099C 00000000 */ nop +/* B73A50 802409A0 0C00A6C9 */ jal clamp_angle +/* B73A54 802409A4 46000306 */ mov.s $f12, $f0 +/* B73A58 802409A8 3C018024 */ lui $at, 0x8024 +/* B73A5C 802409AC D42233D8 */ ldc1 $f2, 0x33d8($at) +/* B73A60 802409B0 46000021 */ cvt.d.s $f0, $f0 +/* B73A64 802409B4 4622003C */ c.lt.d $f0, $f2 +/* B73A68 802409B8 00000000 */ nop +/* B73A6C 802409BC 45000003 */ bc1f .L802409CC +/* B73A70 802409C0 00000000 */ nop +/* B73A74 802409C4 3C0142B4 */ lui $at, 0x42b4 +/* B73A78 802409C8 4481A000 */ mtc1 $at, $f20 +.L802409CC: +/* B73A7C 802409CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* B73A80 802409D0 8E820000 */ lw $v0, ($s4) +/* B73A84 802409D4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B73A88 802409D8 8C460028 */ lw $a2, 0x28($v0) +/* B73A8C 802409DC 0C00A720 */ jal atan2 +/* B73A90 802409E0 8C470030 */ lw $a3, 0x30($v0) +/* B73A94 802409E4 4600A306 */ mov.s $f12, $f20 +/* B73A98 802409E8 0C00A70A */ jal get_clamped_angle_diff +/* B73A9C 802409EC 46000386 */ mov.s $f14, $f0 +/* B73AA0 802409F0 C6620078 */ lwc1 $f2, 0x78($s3) +/* B73AA4 802409F4 468010A0 */ cvt.s.w $f2, $f2 +/* B73AA8 802409F8 46000005 */ abs.s $f0, $f0 +/* B73AAC 802409FC 4600103C */ c.lt.s $f2, $f0 +/* B73AB0 80240A00 00000000 */ nop +/* B73AB4 80240A04 45030001 */ bc1tl .L80240A0C +/* B73AB8 80240A08 0000882D */ daddu $s1, $zero, $zero +.L80240A0C: +/* B73ABC 80240A0C 8E820000 */ lw $v0, ($s4) +/* B73AC0 80240A10 C600003C */ lwc1 $f0, 0x3c($s0) +/* B73AC4 80240A14 C442002C */ lwc1 $f2, 0x2c($v0) +/* B73AC8 80240A18 860200A8 */ lh $v0, 0xa8($s0) +/* B73ACC 80240A1C 46020001 */ sub.s $f0, $f0, $f2 +/* B73AD0 80240A20 44821000 */ mtc1 $v0, $f2 +/* B73AD4 80240A24 00000000 */ nop +/* B73AD8 80240A28 468010A1 */ cvt.d.w $f2, $f2 +/* B73ADC 80240A2C 46221080 */ add.d $f2, $f2, $f2 +/* B73AE0 80240A30 46000005 */ abs.s $f0, $f0 +/* B73AE4 80240A34 46000021 */ cvt.d.s $f0, $f0 +/* B73AE8 80240A38 4620103E */ c.le.d $f2, $f0 +/* B73AEC 80240A3C 00000000 */ nop +/* B73AF0 80240A40 45030001 */ bc1tl .L80240A48 +/* B73AF4 80240A44 0000882D */ daddu $s1, $zero, $zero +.L80240A48: +/* B73AF8 80240A48 3C038011 */ lui $v1, 0x8011 +/* B73AFC 80240A4C 8063EBB3 */ lb $v1, -0x144d($v1) +/* B73B00 80240A50 24020009 */ addiu $v0, $zero, 9 +/* B73B04 80240A54 50620001 */ beql $v1, $v0, .L80240A5C +/* B73B08 80240A58 0000882D */ daddu $s1, $zero, $zero +.L80240A5C: +/* B73B0C 80240A5C 24020007 */ addiu $v0, $zero, 7 +/* B73B10 80240A60 50620001 */ beql $v1, $v0, .L80240A68 +/* B73B14 80240A64 0000882D */ daddu $s1, $zero, $zero +.L80240A68: +/* B73B18 80240A68 0220102D */ daddu $v0, $s1, $zero +/* B73B1C 80240A6C 8FBF0024 */ lw $ra, 0x24($sp) +/* B73B20 80240A70 8FB40020 */ lw $s4, 0x20($sp) +/* B73B24 80240A74 8FB3001C */ lw $s3, 0x1c($sp) +/* B73B28 80240A78 8FB20018 */ lw $s2, 0x18($sp) +/* B73B2C 80240A7C 8FB10014 */ lw $s1, 0x14($sp) +/* B73B30 80240A80 8FB00010 */ lw $s0, 0x10($sp) +/* B73B34 80240A84 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B73B38 80240A88 03E00008 */ jr $ra +/* B73B3C 80240A8C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240A90.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240A90.s new file mode 100644 index 0000000000..46156b111a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240A90.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A90 +/* B73B40 80240A90 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B73B44 80240A94 AFB40028 */ sw $s4, 0x28($sp) +/* B73B48 80240A98 0080A02D */ daddu $s4, $a0, $zero +/* B73B4C 80240A9C AFBF002C */ sw $ra, 0x2c($sp) +/* B73B50 80240AA0 AFB30024 */ sw $s3, 0x24($sp) +/* B73B54 80240AA4 AFB20020 */ sw $s2, 0x20($sp) +/* B73B58 80240AA8 AFB1001C */ sw $s1, 0x1c($sp) +/* B73B5C 80240AAC AFB00018 */ sw $s0, 0x18($sp) +/* B73B60 80240AB0 8E910148 */ lw $s1, 0x148($s4) +/* B73B64 80240AB4 86240008 */ lh $a0, 8($s1) +/* B73B68 80240AB8 0C00EABB */ jal get_npc_unsafe +/* B73B6C 80240ABC 00A0802D */ daddu $s0, $a1, $zero +/* B73B70 80240AC0 16000005 */ bnez $s0, .L80240AD8 +/* B73B74 80240AC4 0040902D */ daddu $s2, $v0, $zero +/* B73B78 80240AC8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B73B7C 80240ACC 30420004 */ andi $v0, $v0, 4 +/* B73B80 80240AD0 10400015 */ beqz $v0, .L80240B28 +/* B73B84 80240AD4 00000000 */ nop +.L80240AD8: +/* B73B88 80240AD8 AE800070 */ sw $zero, 0x70($s4) +/* B73B8C 80240ADC 8E420000 */ lw $v0, ($s2) +/* B73B90 80240AE0 3C031F30 */ lui $v1, 0x1f30 +/* B73B94 80240AE4 A640008E */ sh $zero, 0x8e($s2) +/* B73B98 80240AE8 34420102 */ ori $v0, $v0, 0x102 +/* B73B9C 80240AEC AE420000 */ sw $v0, ($s2) +/* B73BA0 80240AF0 8E220000 */ lw $v0, ($s1) +/* B73BA4 80240AF4 3C01C47A */ lui $at, 0xc47a +/* B73BA8 80240AF8 44810000 */ mtc1 $at, $f0 +/* B73BAC 80240AFC 00431025 */ or $v0, $v0, $v1 +/* B73BB0 80240B00 AE220000 */ sw $v0, ($s1) +/* B73BB4 80240B04 AE400038 */ sw $zero, 0x38($s2) +/* B73BB8 80240B08 E640003C */ swc1 $f0, 0x3c($s2) +/* B73BBC 80240B0C AE400040 */ sw $zero, 0x40($s2) +/* B73BC0 80240B10 8E2300B0 */ lw $v1, 0xb0($s1) +/* B73BC4 80240B14 30620004 */ andi $v0, $v1, 4 +/* B73BC8 80240B18 10400003 */ beqz $v0, .L80240B28 +/* B73BCC 80240B1C 2402FFFB */ addiu $v0, $zero, -5 +/* B73BD0 80240B20 00621024 */ and $v0, $v1, $v0 +/* B73BD4 80240B24 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240B28: +/* B73BD8 80240B28 8E930070 */ lw $s3, 0x70($s4) +/* B73BDC 80240B2C 12600005 */ beqz $s3, .L80240B44 +/* B73BE0 80240B30 24020001 */ addiu $v0, $zero, 1 +/* B73BE4 80240B34 12620048 */ beq $s3, $v0, .L80240C58 +/* B73BE8 80240B38 00000000 */ nop +/* B73BEC 80240B3C 08090333 */ j .L80240CCC +/* B73BF0 80240B40 00000000 */ nop +.L80240B44: +/* B73BF4 80240B44 86240008 */ lh $a0, 8($s1) +/* B73BF8 80240B48 0C00FB3A */ jal get_enemy +/* B73BFC 80240B4C 2484FFFF */ addiu $a0, $a0, -1 +/* B73C00 80240B50 0040802D */ daddu $s0, $v0, $zero +/* B73C04 80240B54 0C00EABB */ jal get_npc_unsafe +/* B73C08 80240B58 86040008 */ lh $a0, 8($s0) +/* B73C0C 80240B5C 24030001 */ addiu $v1, $zero, 1 +/* B73C10 80240B60 0040982D */ daddu $s3, $v0, $zero +/* B73C14 80240B64 A2230007 */ sb $v1, 7($s1) +/* B73C18 80240B68 8E03006C */ lw $v1, 0x6c($s0) +/* B73C1C 80240B6C 24020003 */ addiu $v0, $zero, 3 +/* B73C20 80240B70 14620056 */ bne $v1, $v0, .L80240CCC +/* B73C24 80240B74 00000000 */ nop +/* B73C28 80240B78 8E2500A8 */ lw $a1, 0xa8($s1) +/* B73C2C 80240B7C 10A00003 */ beqz $a1, .L80240B8C +/* B73C30 80240B80 0260202D */ daddu $a0, $s3, $zero +/* B73C34 80240B84 0C012530 */ jal func_800494C0 +/* B73C38 80240B88 0000302D */ daddu $a2, $zero, $zero +.L80240B8C: +/* B73C3C 80240B8C 27A40010 */ addiu $a0, $sp, 0x10 +/* B73C40 80240B90 C6280070 */ lwc1 $f8, 0x70($s1) +/* B73C44 80240B94 46804220 */ cvt.s.w $f8, $f8 +/* B73C48 80240B98 C6620034 */ lwc1 $f2, 0x34($s3) +/* B73C4C 80240B9C 3C014387 */ lui $at, 0x4387 +/* B73C50 80240BA0 44810000 */ mtc1 $at, $f0 +/* B73C54 80240BA4 44064000 */ mfc1 $a2, $f8 +/* B73C58 80240BA8 46020001 */ sub.s $f0, $f0, $f2 +/* B73C5C 80240BAC C6660038 */ lwc1 $f6, 0x38($s3) +/* B73C60 80240BB0 C6640040 */ lwc1 $f4, 0x40($s3) +/* B73C64 80240BB4 44070000 */ mfc1 $a3, $f0 +/* B73C68 80240BB8 27A50014 */ addiu $a1, $sp, 0x14 +/* B73C6C 80240BBC E7A60010 */ swc1 $f6, 0x10($sp) +/* B73C70 80240BC0 0C00A7E7 */ jal add_vec2D_polar +/* B73C74 80240BC4 E7A40014 */ swc1 $f4, 0x14($sp) +/* B73C78 80240BC8 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B73C7C 80240BCC 4600020D */ trunc.w.s $f8, $f0 +/* B73C80 80240BD0 44024000 */ mfc1 $v0, $f8 +/* B73C84 80240BD4 E6400038 */ swc1 $f0, 0x38($s2) +/* B73C88 80240BD8 A6220010 */ sh $v0, 0x10($s1) +/* B73C8C 80240BDC C660003C */ lwc1 $f0, 0x3c($s3) +/* B73C90 80240BE0 C622006C */ lwc1 $f2, 0x6c($s1) +/* B73C94 80240BE4 468010A0 */ cvt.s.w $f2, $f2 +/* B73C98 80240BE8 46020000 */ add.s $f0, $f0, $f2 +/* B73C9C 80240BEC 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B73CA0 80240BF0 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B73CA4 80240BF4 E640003C */ swc1 $f0, 0x3c($s2) +/* B73CA8 80240BF8 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B73CAC 80240BFC 4600020D */ trunc.w.s $f8, $f0 +/* B73CB0 80240C00 44024000 */ mfc1 $v0, $f8 +/* B73CB4 80240C04 00000000 */ nop +/* B73CB8 80240C08 A6220012 */ sh $v0, 0x12($s1) +/* B73CBC 80240C0C 4600120D */ trunc.w.s $f8, $f2 +/* B73CC0 80240C10 44024000 */ mfc1 $v0, $f8 +/* B73CC4 80240C14 E6420040 */ swc1 $f2, 0x40($s2) +/* B73CC8 80240C18 A6220014 */ sh $v0, 0x14($s1) +/* B73CCC 80240C1C 8C660028 */ lw $a2, 0x28($v1) +/* B73CD0 80240C20 8C670030 */ lw $a3, 0x30($v1) +/* B73CD4 80240C24 C64C0038 */ lwc1 $f12, 0x38($s2) +/* B73CD8 80240C28 0C00A720 */ jal atan2 +/* B73CDC 80240C2C C64E0040 */ lwc1 $f14, 0x40($s2) +/* B73CE0 80240C30 3C03E0EF */ lui $v1, 0xe0ef +/* B73CE4 80240C34 E640000C */ swc1 $f0, 0xc($s2) +/* B73CE8 80240C38 8E220000 */ lw $v0, ($s1) +/* B73CEC 80240C3C 3463FFFF */ ori $v1, $v1, 0xffff +/* B73CF0 80240C40 00431024 */ and $v0, $v0, $v1 +/* B73CF4 80240C44 AE220000 */ sw $v0, ($s1) +/* B73CF8 80240C48 24020001 */ addiu $v0, $zero, 1 +/* B73CFC 80240C4C A640008E */ sh $zero, 0x8e($s2) +/* B73D00 80240C50 08090333 */ j .L80240CCC +/* B73D04 80240C54 AE820070 */ sw $v0, 0x70($s4) +.L80240C58: +/* B73D08 80240C58 86240008 */ lh $a0, 8($s1) +/* B73D0C 80240C5C 0C00FB3A */ jal get_enemy +/* B73D10 80240C60 2484FFFF */ addiu $a0, $a0, -1 +/* B73D14 80240C64 0040802D */ daddu $s0, $v0, $zero +/* B73D18 80240C68 0C00EABB */ jal get_npc_unsafe +/* B73D1C 80240C6C 86040008 */ lh $a0, 8($s0) +/* B73D20 80240C70 9642008E */ lhu $v0, 0x8e($s2) +/* B73D24 80240C74 24420001 */ addiu $v0, $v0, 1 +/* B73D28 80240C78 A642008E */ sh $v0, 0x8e($s2) +/* B73D2C 80240C7C 00021400 */ sll $v0, $v0, 0x10 +/* B73D30 80240C80 8E23007C */ lw $v1, 0x7c($s1) +/* B73D34 80240C84 00021403 */ sra $v0, $v0, 0x10 +/* B73D38 80240C88 0043102A */ slt $v0, $v0, $v1 +/* B73D3C 80240C8C 50400001 */ beql $v0, $zero, .L80240C94 +/* B73D40 80240C90 A2200007 */ sb $zero, 7($s1) +.L80240C94: +/* B73D44 80240C94 8E03006C */ lw $v1, 0x6c($s0) +/* B73D48 80240C98 24020004 */ addiu $v0, $zero, 4 +/* B73D4C 80240C9C 1462000B */ bne $v1, $v0, .L80240CCC +/* B73D50 80240CA0 3C021F10 */ lui $v0, 0x1f10 +/* B73D54 80240CA4 8E230000 */ lw $v1, ($s1) +/* B73D58 80240CA8 3C01C47A */ lui $at, 0xc47a +/* B73D5C 80240CAC 44810000 */ mtc1 $at, $f0 +/* B73D60 80240CB0 00621825 */ or $v1, $v1, $v0 +/* B73D64 80240CB4 AE230000 */ sw $v1, ($s1) +/* B73D68 80240CB8 AE400038 */ sw $zero, 0x38($s2) +/* B73D6C 80240CBC E640003C */ swc1 $f0, 0x3c($s2) +/* B73D70 80240CC0 AE400040 */ sw $zero, 0x40($s2) +/* B73D74 80240CC4 A2330007 */ sb $s3, 7($s1) +/* B73D78 80240CC8 AE800070 */ sw $zero, 0x70($s4) +.L80240CCC: +/* B73D7C 80240CCC 8FBF002C */ lw $ra, 0x2c($sp) +/* B73D80 80240CD0 8FB40028 */ lw $s4, 0x28($sp) +/* B73D84 80240CD4 8FB30024 */ lw $s3, 0x24($sp) +/* B73D88 80240CD8 8FB20020 */ lw $s2, 0x20($sp) +/* B73D8C 80240CDC 8FB1001C */ lw $s1, 0x1c($sp) +/* B73D90 80240CE0 8FB00018 */ lw $s0, 0x18($sp) +/* B73D94 80240CE4 0000102D */ daddu $v0, $zero, $zero +/* B73D98 80240CE8 03E00008 */ jr $ra +/* B73D9C 80240CEC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240CF0_B730B0.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240CF0_B730B0.s new file mode 100644 index 0000000000..1f9c03ae56 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240CF0_B730B0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF0_B73DA0 +/* B73DA0 80240CF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B73DA4 80240CF4 AFB20038 */ sw $s2, 0x38($sp) +/* B73DA8 80240CF8 0080902D */ daddu $s2, $a0, $zero +/* B73DAC 80240CFC AFBF0048 */ sw $ra, 0x48($sp) +/* B73DB0 80240D00 AFB50044 */ sw $s5, 0x44($sp) +/* B73DB4 80240D04 AFB40040 */ sw $s4, 0x40($sp) +/* B73DB8 80240D08 AFB3003C */ sw $s3, 0x3c($sp) +/* B73DBC 80240D0C AFB10034 */ sw $s1, 0x34($sp) +/* B73DC0 80240D10 AFB00030 */ sw $s0, 0x30($sp) +/* B73DC4 80240D14 8E510148 */ lw $s1, 0x148($s2) +/* B73DC8 80240D18 86240008 */ lh $a0, 8($s1) +/* B73DCC 80240D1C 0C00EABB */ jal get_npc_unsafe +/* B73DD0 80240D20 00A0802D */ daddu $s0, $a1, $zero +/* B73DD4 80240D24 8E43000C */ lw $v1, 0xc($s2) +/* B73DD8 80240D28 0240202D */ daddu $a0, $s2, $zero +/* B73DDC 80240D2C 8C650000 */ lw $a1, ($v1) +/* B73DE0 80240D30 0C0B1EAF */ jal get_variable +/* B73DE4 80240D34 0040A82D */ daddu $s5, $v0, $zero +/* B73DE8 80240D38 AFA00010 */ sw $zero, 0x10($sp) +/* B73DEC 80240D3C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B73DF0 80240D40 8C630030 */ lw $v1, 0x30($v1) +/* B73DF4 80240D44 AFA30014 */ sw $v1, 0x14($sp) +/* B73DF8 80240D48 8E2300D0 */ lw $v1, 0xd0($s1) +/* B73DFC 80240D4C 8C63001C */ lw $v1, 0x1c($v1) +/* B73E00 80240D50 AFA30018 */ sw $v1, 0x18($sp) +/* B73E04 80240D54 8E2300D0 */ lw $v1, 0xd0($s1) +/* B73E08 80240D58 8C630024 */ lw $v1, 0x24($v1) +/* B73E0C 80240D5C AFA3001C */ sw $v1, 0x1c($sp) +/* B73E10 80240D60 8E2300D0 */ lw $v1, 0xd0($s1) +/* B73E14 80240D64 8C630028 */ lw $v1, 0x28($v1) +/* B73E18 80240D68 27B40010 */ addiu $s4, $sp, 0x10 +/* B73E1C 80240D6C AFA30020 */ sw $v1, 0x20($sp) +/* B73E20 80240D70 8E2300D0 */ lw $v1, 0xd0($s1) +/* B73E24 80240D74 3C014282 */ lui $at, 0x4282 +/* B73E28 80240D78 44810000 */ mtc1 $at, $f0 +/* B73E2C 80240D7C 8C63002C */ lw $v1, 0x2c($v1) +/* B73E30 80240D80 0040982D */ daddu $s3, $v0, $zero +/* B73E34 80240D84 E7A00028 */ swc1 $f0, 0x28($sp) +/* B73E38 80240D88 A7A0002C */ sh $zero, 0x2c($sp) +/* B73E3C 80240D8C 16000005 */ bnez $s0, .L80240DA4 +/* B73E40 80240D90 AFA30024 */ sw $v1, 0x24($sp) +/* B73E44 80240D94 8E2200B0 */ lw $v0, 0xb0($s1) +/* B73E48 80240D98 30420004 */ andi $v0, $v0, 4 +/* B73E4C 80240D9C 10400020 */ beqz $v0, .L80240E20 +/* B73E50 80240DA0 00000000 */ nop +.L80240DA4: +/* B73E54 80240DA4 2404F7FF */ addiu $a0, $zero, -0x801 +/* B73E58 80240DA8 AE400070 */ sw $zero, 0x70($s2) +/* B73E5C 80240DAC A6A0008E */ sh $zero, 0x8e($s5) +/* B73E60 80240DB0 8E2200CC */ lw $v0, 0xcc($s1) +/* B73E64 80240DB4 8EA30000 */ lw $v1, ($s5) +/* B73E68 80240DB8 8C420000 */ lw $v0, ($v0) +/* B73E6C 80240DBC 00641824 */ and $v1, $v1, $a0 +/* B73E70 80240DC0 AEA30000 */ sw $v1, ($s5) +/* B73E74 80240DC4 AEA20028 */ sw $v0, 0x28($s5) +/* B73E78 80240DC8 8E2200D0 */ lw $v0, 0xd0($s1) +/* B73E7C 80240DCC 8C420034 */ lw $v0, 0x34($v0) +/* B73E80 80240DD0 54400005 */ bnel $v0, $zero, .L80240DE8 +/* B73E84 80240DD4 2402FDFF */ addiu $v0, $zero, -0x201 +/* B73E88 80240DD8 34620200 */ ori $v0, $v1, 0x200 +/* B73E8C 80240DDC 2403FFF7 */ addiu $v1, $zero, -9 +/* B73E90 80240DE0 0809037C */ j .L80240DF0 +/* B73E94 80240DE4 00431024 */ and $v0, $v0, $v1 +.L80240DE8: +/* B73E98 80240DE8 00621024 */ and $v0, $v1, $v0 +/* B73E9C 80240DEC 34420008 */ ori $v0, $v0, 8 +.L80240DF0: +/* B73EA0 80240DF0 AEA20000 */ sw $v0, ($s5) +/* B73EA4 80240DF4 8E2200B0 */ lw $v0, 0xb0($s1) +/* B73EA8 80240DF8 30420004 */ andi $v0, $v0, 4 +/* B73EAC 80240DFC 10400007 */ beqz $v0, .L80240E1C +/* B73EB0 80240E00 24020063 */ addiu $v0, $zero, 0x63 +/* B73EB4 80240E04 AE420070 */ sw $v0, 0x70($s2) +/* B73EB8 80240E08 AE400074 */ sw $zero, 0x74($s2) +/* B73EBC 80240E0C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B73EC0 80240E10 2403FFFB */ addiu $v1, $zero, -5 +/* B73EC4 80240E14 00431024 */ and $v0, $v0, $v1 +/* B73EC8 80240E18 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240E1C: +/* B73ECC 80240E1C AE20006C */ sw $zero, 0x6c($s1) +.L80240E20: +/* B73ED0 80240E20 8E420070 */ lw $v0, 0x70($s2) +/* B73ED4 80240E24 2842001E */ slti $v0, $v0, 0x1e +/* B73ED8 80240E28 10400009 */ beqz $v0, .L80240E50 +/* B73EDC 80240E2C 00000000 */ nop +/* B73EE0 80240E30 8E22006C */ lw $v0, 0x6c($s1) +/* B73EE4 80240E34 14400006 */ bnez $v0, .L80240E50 +/* B73EE8 80240E38 00000000 */ nop +/* B73EEC 80240E3C 0C090237 */ jal func_802408DC +/* B73EF0 80240E40 0240202D */ daddu $a0, $s2, $zero +/* B73EF4 80240E44 10400002 */ beqz $v0, .L80240E50 +/* B73EF8 80240E48 2402001E */ addiu $v0, $zero, 0x1e +/* B73EFC 80240E4C AE420070 */ sw $v0, 0x70($s2) +.L80240E50: +/* B73F00 80240E50 8E430070 */ lw $v1, 0x70($s2) +/* B73F04 80240E54 2C620064 */ sltiu $v0, $v1, 0x64 +/* B73F08 80240E58 10400048 */ beqz $v0, .L80240F7C +/* B73F0C 80240E5C 00031080 */ sll $v0, $v1, 2 +/* B73F10 80240E60 3C018024 */ lui $at, 0x8024 +/* B73F14 80240E64 00220821 */ addu $at, $at, $v0 +/* B73F18 80240E68 8C2233E0 */ lw $v0, 0x33e0($at) +/* B73F1C 80240E6C 00400008 */ jr $v0 +/* B73F20 80240E70 00000000 */ nop +/* B73F24 80240E74 0240202D */ daddu $a0, $s2, $zero +/* B73F28 80240E78 0260282D */ daddu $a1, $s3, $zero +/* B73F2C 80240E7C 0C012568 */ jal func_800495A0 +/* B73F30 80240E80 0280302D */ daddu $a2, $s4, $zero +/* B73F34 80240E84 0240202D */ daddu $a0, $s2, $zero +/* B73F38 80240E88 0260282D */ daddu $a1, $s3, $zero +/* B73F3C 80240E8C 0C0125AE */ jal func_800496B8 +/* B73F40 80240E90 0280302D */ daddu $a2, $s4, $zero +/* B73F44 80240E94 080903DF */ j .L80240F7C +/* B73F48 80240E98 00000000 */ nop +/* B73F4C 80240E9C 0240202D */ daddu $a0, $s2, $zero +/* B73F50 80240EA0 0260282D */ daddu $a1, $s3, $zero +/* B73F54 80240EA4 0C0126D1 */ jal func_80049B44 +/* B73F58 80240EA8 0280302D */ daddu $a2, $s4, $zero +/* B73F5C 80240EAC 0240202D */ daddu $a0, $s2, $zero +/* B73F60 80240EB0 0260282D */ daddu $a1, $s3, $zero +/* B73F64 80240EB4 0C012701 */ jal func_80049C04 +/* B73F68 80240EB8 0280302D */ daddu $a2, $s4, $zero +/* B73F6C 80240EBC 080903DF */ j .L80240F7C +/* B73F70 80240EC0 00000000 */ nop +/* B73F74 80240EC4 0240202D */ daddu $a0, $s2, $zero +/* B73F78 80240EC8 0260282D */ daddu $a1, $s3, $zero +/* B73F7C 80240ECC 0C01278F */ jal func_80049E3C +/* B73F80 80240ED0 0280302D */ daddu $a2, $s4, $zero +/* B73F84 80240ED4 0240202D */ daddu $a0, $s2, $zero +/* B73F88 80240ED8 0260282D */ daddu $a1, $s3, $zero +/* B73F8C 80240EDC 0C0127B3 */ jal func_80049ECC +/* B73F90 80240EE0 0280302D */ daddu $a2, $s4, $zero +/* B73F94 80240EE4 080903DF */ j .L80240F7C +/* B73F98 80240EE8 00000000 */ nop +/* B73F9C 80240EEC 0240202D */ daddu $a0, $s2, $zero +/* B73FA0 80240EF0 0260282D */ daddu $a1, $s3, $zero +/* B73FA4 80240EF4 0C0127DF */ jal func_80049F7C +/* B73FA8 80240EF8 0280302D */ daddu $a2, $s4, $zero +/* B73FAC 80240EFC 0240202D */ daddu $a0, $s2, $zero +/* B73FB0 80240F00 0260282D */ daddu $a1, $s3, $zero +/* B73FB4 80240F04 0C012849 */ jal func_8004A124 +/* B73FB8 80240F08 0280302D */ daddu $a2, $s4, $zero +/* B73FBC 80240F0C 080903DF */ j .L80240F7C +/* B73FC0 80240F10 00000000 */ nop +/* B73FC4 80240F14 0240202D */ daddu $a0, $s2, $zero +/* B73FC8 80240F18 0260282D */ daddu $a1, $s3, $zero +/* B73FCC 80240F1C 0C0128FA */ jal func_8004A3E8 +/* B73FD0 80240F20 0280302D */ daddu $a2, $s4, $zero +/* B73FD4 80240F24 080903DF */ j .L80240F7C +/* B73FD8 80240F28 00000000 */ nop +/* B73FDC 80240F2C 0C0901B5 */ jal func_802406D4 +/* B73FE0 80240F30 0240202D */ daddu $a0, $s2, $zero +/* B73FE4 80240F34 0C0901D0 */ jal func_80240740 +/* B73FE8 80240F38 0240202D */ daddu $a0, $s2, $zero +/* B73FEC 80240F3C 8E430070 */ lw $v1, 0x70($s2) +/* B73FF0 80240F40 24020020 */ addiu $v0, $zero, 0x20 +/* B73FF4 80240F44 1462000D */ bne $v1, $v0, .L80240F7C +/* B73FF8 80240F48 00000000 */ nop +/* B73FFC 80240F4C 0C0901EC */ jal func_802407B0 +/* B74000 80240F50 0240202D */ daddu $a0, $s2, $zero +/* B74004 80240F54 8E430070 */ lw $v1, 0x70($s2) +/* B74008 80240F58 24020021 */ addiu $v0, $zero, 0x21 +/* B7400C 80240F5C 14620007 */ bne $v1, $v0, .L80240F7C +/* B74010 80240F60 00000000 */ nop +/* B74014 80240F64 0C090222 */ jal func_80240888 +/* B74018 80240F68 0240202D */ daddu $a0, $s2, $zero +/* B7401C 80240F6C 080903DF */ j .L80240F7C +/* B74020 80240F70 00000000 */ nop +/* B74024 80240F74 0C0129CF */ jal func_8004A73C +/* B74028 80240F78 0240202D */ daddu $a0, $s2, $zero +.L80240F7C: +/* B7402C 80240F7C 8FBF0048 */ lw $ra, 0x48($sp) +/* B74030 80240F80 8FB50044 */ lw $s5, 0x44($sp) +/* B74034 80240F84 8FB40040 */ lw $s4, 0x40($sp) +/* B74038 80240F88 8FB3003C */ lw $s3, 0x3c($sp) +/* B7403C 80240F8C 8FB20038 */ lw $s2, 0x38($sp) +/* B74040 80240F90 8FB10034 */ lw $s1, 0x34($sp) +/* B74044 80240F94 8FB00030 */ lw $s0, 0x30($sp) +/* B74048 80240F98 0000102D */ daddu $v0, $zero, $zero +/* B7404C 80240F9C 03E00008 */ jr $ra +/* B74050 80240FA0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_jan/jan_12/func_80240FA4.s b/asm/nonmatchings/world/area_jan/jan_12/func_80240FA4.s new file mode 100644 index 0000000000..3fc24f2059 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_12/func_80240FA4.s @@ -0,0 +1,186 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA4 +/* B74054 80240FA4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B74058 80240FA8 AFB20038 */ sw $s2, 0x38($sp) +/* B7405C 80240FAC 0080902D */ daddu $s2, $a0, $zero +/* B74060 80240FB0 AFBF0048 */ sw $ra, 0x48($sp) +/* B74064 80240FB4 AFB50044 */ sw $s5, 0x44($sp) +/* B74068 80240FB8 AFB40040 */ sw $s4, 0x40($sp) +/* B7406C 80240FBC AFB3003C */ sw $s3, 0x3c($sp) +/* B74070 80240FC0 AFB10034 */ sw $s1, 0x34($sp) +/* B74074 80240FC4 AFB00030 */ sw $s0, 0x30($sp) +/* B74078 80240FC8 8E510148 */ lw $s1, 0x148($s2) +/* B7407C 80240FCC 86240008 */ lh $a0, 8($s1) +/* B74080 80240FD0 0C00EABB */ jal get_npc_unsafe +/* B74084 80240FD4 00A0802D */ daddu $s0, $a1, $zero +/* B74088 80240FD8 8E43000C */ lw $v1, 0xc($s2) +/* B7408C 80240FDC 0240202D */ daddu $a0, $s2, $zero +/* B74090 80240FE0 8C650000 */ lw $a1, ($v1) +/* B74094 80240FE4 0C0B1EAF */ jal get_variable +/* B74098 80240FE8 0040A82D */ daddu $s5, $v0, $zero +/* B7409C 80240FEC AFA00010 */ sw $zero, 0x10($sp) +/* B740A0 80240FF0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B740A4 80240FF4 8C630030 */ lw $v1, 0x30($v1) +/* B740A8 80240FF8 AFA30014 */ sw $v1, 0x14($sp) +/* B740AC 80240FFC 8E2300D0 */ lw $v1, 0xd0($s1) +/* B740B0 80241000 8C63001C */ lw $v1, 0x1c($v1) +/* B740B4 80241004 AFA30018 */ sw $v1, 0x18($sp) +/* B740B8 80241008 8E2300D0 */ lw $v1, 0xd0($s1) +/* B740BC 8024100C 8C630024 */ lw $v1, 0x24($v1) +/* B740C0 80241010 AFA3001C */ sw $v1, 0x1c($sp) +/* B740C4 80241014 8E2300D0 */ lw $v1, 0xd0($s1) +/* B740C8 80241018 8C630028 */ lw $v1, 0x28($v1) +/* B740CC 8024101C 27B40010 */ addiu $s4, $sp, 0x10 +/* B740D0 80241020 AFA30020 */ sw $v1, 0x20($sp) +/* B740D4 80241024 8E2300D0 */ lw $v1, 0xd0($s1) +/* B740D8 80241028 3C014282 */ lui $at, 0x4282 +/* B740DC 8024102C 44810000 */ mtc1 $at, $f0 +/* B740E0 80241030 8C63002C */ lw $v1, 0x2c($v1) +/* B740E4 80241034 0040982D */ daddu $s3, $v0, $zero +/* B740E8 80241038 E7A00028 */ swc1 $f0, 0x28($sp) +/* B740EC 8024103C A7A0002C */ sh $zero, 0x2c($sp) +/* B740F0 80241040 16000005 */ bnez $s0, .L80241058 +/* B740F4 80241044 AFA30024 */ sw $v1, 0x24($sp) +/* B740F8 80241048 8E2200B0 */ lw $v0, 0xb0($s1) +/* B740FC 8024104C 30420004 */ andi $v0, $v0, 4 +/* B74100 80241050 10400020 */ beqz $v0, .L802410D4 +/* B74104 80241054 00000000 */ nop +.L80241058: +/* B74108 80241058 2404F7FF */ addiu $a0, $zero, -0x801 +/* B7410C 8024105C AE400070 */ sw $zero, 0x70($s2) +/* B74110 80241060 A6A0008E */ sh $zero, 0x8e($s5) +/* B74114 80241064 8E2200CC */ lw $v0, 0xcc($s1) +/* B74118 80241068 8EA30000 */ lw $v1, ($s5) +/* B7411C 8024106C 8C420000 */ lw $v0, ($v0) +/* B74120 80241070 00641824 */ and $v1, $v1, $a0 +/* B74124 80241074 AEA30000 */ sw $v1, ($s5) +/* B74128 80241078 AEA20028 */ sw $v0, 0x28($s5) +/* B7412C 8024107C 8E2200D0 */ lw $v0, 0xd0($s1) +/* B74130 80241080 8C420034 */ lw $v0, 0x34($v0) +/* B74134 80241084 54400005 */ bnel $v0, $zero, .L8024109C +/* B74138 80241088 2402FDFF */ addiu $v0, $zero, -0x201 +/* B7413C 8024108C 34620200 */ ori $v0, $v1, 0x200 +/* B74140 80241090 2403FFF7 */ addiu $v1, $zero, -9 +/* B74144 80241094 08090429 */ j .L802410A4 +/* B74148 80241098 00431024 */ and $v0, $v0, $v1 +.L8024109C: +/* B7414C 8024109C 00621024 */ and $v0, $v1, $v0 +/* B74150 802410A0 34420008 */ ori $v0, $v0, 8 +.L802410A4: +/* B74154 802410A4 AEA20000 */ sw $v0, ($s5) +/* B74158 802410A8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B7415C 802410AC 30420004 */ andi $v0, $v0, 4 +/* B74160 802410B0 10400007 */ beqz $v0, .L802410D0 +/* B74164 802410B4 24020063 */ addiu $v0, $zero, 0x63 +/* B74168 802410B8 AE420070 */ sw $v0, 0x70($s2) +/* B7416C 802410BC AE400074 */ sw $zero, 0x74($s2) +/* B74170 802410C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B74174 802410C4 2403FFFB */ addiu $v1, $zero, -5 +/* B74178 802410C8 00431024 */ and $v0, $v0, $v1 +/* B7417C 802410CC AE2200B0 */ sw $v0, 0xb0($s1) +.L802410D0: +/* B74180 802410D0 AE20006C */ sw $zero, 0x6c($s1) +.L802410D4: +/* B74184 802410D4 8E420070 */ lw $v0, 0x70($s2) +/* B74188 802410D8 2842001E */ slti $v0, $v0, 0x1e +/* B7418C 802410DC 10400009 */ beqz $v0, .L80241104 +/* B74190 802410E0 00000000 */ nop +/* B74194 802410E4 8E22006C */ lw $v0, 0x6c($s1) +/* B74198 802410E8 14400006 */ bnez $v0, .L80241104 +/* B7419C 802410EC 00000000 */ nop +/* B741A0 802410F0 0C090237 */ jal func_802408DC +/* B741A4 802410F4 0240202D */ daddu $a0, $s2, $zero +/* B741A8 802410F8 10400002 */ beqz $v0, .L80241104 +/* B741AC 802410FC 2402001E */ addiu $v0, $zero, 0x1e +/* B741B0 80241100 AE420070 */ sw $v0, 0x70($s2) +.L80241104: +/* B741B4 80241104 8E430070 */ lw $v1, 0x70($s2) +/* B741B8 80241108 2C620064 */ sltiu $v0, $v1, 0x64 +/* B741BC 8024110C 10400048 */ beqz $v0, .L80241230 +/* B741C0 80241110 00031080 */ sll $v0, $v1, 2 +/* B741C4 80241114 3C018024 */ lui $at, 0x8024 +/* B741C8 80241118 00220821 */ addu $at, $at, $v0 +/* B741CC 8024111C 8C223570 */ lw $v0, 0x3570($at) +/* B741D0 80241120 00400008 */ jr $v0 +/* B741D4 80241124 00000000 */ nop +/* B741D8 80241128 0240202D */ daddu $a0, $s2, $zero +/* B741DC 8024112C 0260282D */ daddu $a1, $s3, $zero +/* B741E0 80241130 0C012568 */ jal func_800495A0 +/* B741E4 80241134 0280302D */ daddu $a2, $s4, $zero +/* B741E8 80241138 0240202D */ daddu $a0, $s2, $zero +/* B741EC 8024113C 0260282D */ daddu $a1, $s3, $zero +/* B741F0 80241140 0C0125AE */ jal func_800496B8 +/* B741F4 80241144 0280302D */ daddu $a2, $s4, $zero +/* B741F8 80241148 0809048C */ j .L80241230 +/* B741FC 8024114C 00000000 */ nop +/* B74200 80241150 0240202D */ daddu $a0, $s2, $zero +/* B74204 80241154 0260282D */ daddu $a1, $s3, $zero +/* B74208 80241158 0C090130 */ jal func_802404C0 +/* B7420C 8024115C 0280302D */ daddu $a2, $s4, $zero +/* B74210 80241160 0240202D */ daddu $a0, $s2, $zero +/* B74214 80241164 0260282D */ daddu $a1, $s3, $zero +/* B74218 80241168 0C090144 */ jal func_80240510 +/* B7421C 8024116C 0280302D */ daddu $a2, $s4, $zero +/* B74220 80241170 0809048C */ j .L80241230 +/* B74224 80241174 00000000 */ nop +/* B74228 80241178 0240202D */ daddu $a0, $s2, $zero +/* B7422C 8024117C 0260282D */ daddu $a1, $s3, $zero +/* B74230 80241180 0C01278F */ jal func_80049E3C +/* B74234 80241184 0280302D */ daddu $a2, $s4, $zero +/* B74238 80241188 0240202D */ daddu $a0, $s2, $zero +/* B7423C 8024118C 0260282D */ daddu $a1, $s3, $zero +/* B74240 80241190 0C0127B3 */ jal func_80049ECC +/* B74244 80241194 0280302D */ daddu $a2, $s4, $zero +/* B74248 80241198 0809048C */ j .L80241230 +/* B7424C 8024119C 00000000 */ nop +/* B74250 802411A0 0240202D */ daddu $a0, $s2, $zero +/* B74254 802411A4 0260282D */ daddu $a1, $s3, $zero +/* B74258 802411A8 0C0127DF */ jal func_80049F7C +/* B7425C 802411AC 0280302D */ daddu $a2, $s4, $zero +/* B74260 802411B0 0240202D */ daddu $a0, $s2, $zero +/* B74264 802411B4 0260282D */ daddu $a1, $s3, $zero +/* B74268 802411B8 0C012849 */ jal func_8004A124 +/* B7426C 802411BC 0280302D */ daddu $a2, $s4, $zero +/* B74270 802411C0 0809048C */ j .L80241230 +/* B74274 802411C4 00000000 */ nop +/* B74278 802411C8 0240202D */ daddu $a0, $s2, $zero +/* B7427C 802411CC 0260282D */ daddu $a1, $s3, $zero +/* B74280 802411D0 0C0128FA */ jal func_8004A3E8 +/* B74284 802411D4 0280302D */ daddu $a2, $s4, $zero +/* B74288 802411D8 0809048C */ j .L80241230 +/* B7428C 802411DC 00000000 */ nop +/* B74290 802411E0 0C0901B5 */ jal func_802406D4 +/* B74294 802411E4 0240202D */ daddu $a0, $s2, $zero +/* B74298 802411E8 0C0901D0 */ jal func_80240740 +/* B7429C 802411EC 0240202D */ daddu $a0, $s2, $zero +/* B742A0 802411F0 8E430070 */ lw $v1, 0x70($s2) +/* B742A4 802411F4 24020020 */ addiu $v0, $zero, 0x20 +/* B742A8 802411F8 1462000D */ bne $v1, $v0, .L80241230 +/* B742AC 802411FC 00000000 */ nop +/* B742B0 80241200 0C0901EC */ jal func_802407B0 +/* B742B4 80241204 0240202D */ daddu $a0, $s2, $zero +/* B742B8 80241208 8E430070 */ lw $v1, 0x70($s2) +/* B742BC 8024120C 24020021 */ addiu $v0, $zero, 0x21 +/* B742C0 80241210 14620007 */ bne $v1, $v0, .L80241230 +/* B742C4 80241214 00000000 */ nop +/* B742C8 80241218 0C090222 */ jal func_80240888 +/* B742CC 8024121C 0240202D */ daddu $a0, $s2, $zero +/* B742D0 80241220 0809048C */ j .L80241230 +/* B742D4 80241224 00000000 */ nop +/* B742D8 80241228 0C0129CF */ jal func_8004A73C +/* B742DC 8024122C 0240202D */ daddu $a0, $s2, $zero +.L80241230: +/* B742E0 80241230 8FBF0048 */ lw $ra, 0x48($sp) +/* B742E4 80241234 8FB50044 */ lw $s5, 0x44($sp) +/* B742E8 80241238 8FB40040 */ lw $s4, 0x40($sp) +/* B742EC 8024123C 8FB3003C */ lw $s3, 0x3c($sp) +/* B742F0 80241240 8FB20038 */ lw $s2, 0x38($sp) +/* B742F4 80241244 8FB10034 */ lw $s1, 0x34($sp) +/* B742F8 80241248 8FB00030 */ lw $s0, 0x30($sp) +/* B742FC 8024124C 0000102D */ daddu $v0, $zero, $zero +/* B74300 80241250 03E00008 */ jr $ra +/* B74304 80241254 27BD0050 */ addiu $sp, $sp, 0x50 +/* B74308 80241258 00000000 */ nop +/* B7430C 8024125C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_80240000_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_80240000_B767B0.s new file mode 100644 index 0000000000..88db315902 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_80240000_B767B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B767B0 +/* B767B0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B767B4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B767B8 80240008 3C118024 */ lui $s1, 0x8024 +/* B767BC 8024000C 26310850 */ addiu $s1, $s1, 0x850 +/* B767C0 80240010 AFBF0020 */ sw $ra, 0x20($sp) +/* B767C4 80240014 AFB3001C */ sw $s3, 0x1c($sp) +/* B767C8 80240018 AFB20018 */ sw $s2, 0x18($sp) +/* B767CC 8024001C AFB00010 */ sw $s0, 0x10($sp) +/* B767D0 80240020 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B767D4 80240024 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B767D8 80240028 F7B60030 */ sdc1 $f22, 0x30($sp) +/* B767DC 8024002C F7B40028 */ sdc1 $f20, 0x28($sp) +/* B767E0 80240030 96220000 */ lhu $v0, ($s1) +/* B767E4 80240034 3C018024 */ lui $at, 0x8024 +/* B767E8 80240038 D4203880 */ ldc1 $f0, 0x3880($at) +/* B767EC 8024003C 44826000 */ mtc1 $v0, $f12 +/* B767F0 80240040 00000000 */ nop +/* B767F4 80240044 46806320 */ cvt.s.w $f12, $f12 +/* B767F8 80240048 46006321 */ cvt.d.s $f12, $f12 +/* B767FC 8024004C 46206302 */ mul.d $f12, $f12, $f0 +/* B76800 80240050 00000000 */ nop +/* B76804 80240054 0C00A85B */ jal sin_rad +/* B76808 80240058 46206320 */ cvt.s.d $f12, $f12 +/* B7680C 8024005C 96220000 */ lhu $v0, ($s1) +/* B76810 80240060 3C018024 */ lui $at, 0x8024 +/* B76814 80240064 D4363888 */ ldc1 $f22, 0x3888($at) +/* B76818 80240068 44826000 */ mtc1 $v0, $f12 +/* B7681C 8024006C 00000000 */ nop +/* B76820 80240070 46806320 */ cvt.s.w $f12, $f12 +/* B76824 80240074 46006321 */ cvt.d.s $f12, $f12 +/* B76828 80240078 46366302 */ mul.d $f12, $f12, $f22 +/* B7682C 8024007C 00000000 */ nop +/* B76830 80240080 3C013F80 */ lui $at, 0x3f80 +/* B76834 80240084 4481D000 */ mtc1 $at, $f26 +/* B76838 80240088 00000000 */ nop +/* B7683C 8024008C 461A0500 */ add.s $f20, $f0, $f26 +/* B76840 80240090 3C018024 */ lui $at, 0x8024 +/* B76844 80240094 D4383890 */ ldc1 $f24, 0x3890($at) +/* B76848 80240098 4600A521 */ cvt.d.s $f20, $f20 +/* B7684C 8024009C 4638A502 */ mul.d $f20, $f20, $f24 +/* B76850 802400A0 00000000 */ nop +/* B76854 802400A4 3C018024 */ lui $at, 0x8024 +/* B76858 802400A8 D4203898 */ ldc1 $f0, 0x3898($at) +/* B7685C 802400AC 4620A500 */ add.d $f20, $f20, $f0 +/* B76860 802400B0 0C00A85B */ jal sin_rad +/* B76864 802400B4 46206320 */ cvt.s.d $f12, $f12 +/* B76868 802400B8 461A0000 */ add.s $f0, $f0, $f26 +/* B7686C 802400BC 46000021 */ cvt.d.s $f0, $f0 +/* B76870 802400C0 46360002 */ mul.d $f0, $f0, $f22 +/* B76874 802400C4 00000000 */ nop +/* B76878 802400C8 4620A500 */ add.d $f20, $f20, $f0 +/* B7687C 802400CC 3C130001 */ lui $s3, 1 +/* B76880 802400D0 4620A520 */ cvt.s.d $f20, $f20 +/* B76884 802400D4 4600A021 */ cvt.d.s $f0, $f20 +/* B76888 802400D8 46380002 */ mul.d $f0, $f0, $f24 +/* B7688C 802400DC 00000000 */ nop +/* B76890 802400E0 36731630 */ ori $s3, $s3, 0x1630 +/* B76894 802400E4 3C12800A */ lui $s2, 0x800a +/* B76898 802400E8 2652A674 */ addiu $s2, $s2, -0x598c +/* B7689C 802400EC 3C108007 */ lui $s0, 0x8007 +/* B768A0 802400F0 261041F0 */ addiu $s0, $s0, 0x41f0 +/* B768A4 802400F4 3C013FE0 */ lui $at, 0x3fe0 +/* B768A8 802400F8 44811800 */ mtc1 $at, $f3 +/* B768AC 802400FC 44801000 */ mtc1 $zero, $f2 +/* B768B0 80240100 96040000 */ lhu $a0, ($s0) +/* B768B4 80240104 8E420000 */ lw $v0, ($s2) +/* B768B8 80240108 00042180 */ sll $a0, $a0, 6 +/* B768BC 8024010C 46220000 */ add.d $f0, $f0, $f2 +/* B768C0 80240110 00932021 */ addu $a0, $a0, $s3 +/* B768C4 80240114 00442021 */ addu $a0, $v0, $a0 +/* B768C8 80240118 46200020 */ cvt.s.d $f0, $f0 +/* B768CC 8024011C 44050000 */ mfc1 $a1, $f0 +/* B768D0 80240120 4406A000 */ mfc1 $a2, $f20 +/* B768D4 80240124 0C019DC0 */ jal guScale +/* B768D8 80240128 00A0382D */ daddu $a3, $a1, $zero +/* B768DC 8024012C 3C05DA38 */ lui $a1, 0xda38 +/* B768E0 80240130 3C04800A */ lui $a0, 0x800a +/* B768E4 80240134 2484A66C */ addiu $a0, $a0, -0x5994 +/* B768E8 80240138 34A50001 */ ori $a1, $a1, 1 +/* B768EC 8024013C 8C820000 */ lw $v0, ($a0) +/* B768F0 80240140 96030000 */ lhu $v1, ($s0) +/* B768F4 80240144 0040302D */ daddu $a2, $v0, $zero +/* B768F8 80240148 24420008 */ addiu $v0, $v0, 8 +/* B768FC 8024014C AC820000 */ sw $v0, ($a0) +/* B76900 80240150 24620001 */ addiu $v0, $v1, 1 +/* B76904 80240154 3063FFFF */ andi $v1, $v1, 0xffff +/* B76908 80240158 00031980 */ sll $v1, $v1, 6 +/* B7690C 8024015C 00731821 */ addu $v1, $v1, $s3 +/* B76910 80240160 ACC50000 */ sw $a1, ($a2) +/* B76914 80240164 A6020000 */ sh $v0, ($s0) +/* B76918 80240168 8E420000 */ lw $v0, ($s2) +/* B7691C 8024016C 96240000 */ lhu $a0, ($s1) +/* B76920 80240170 00431021 */ addu $v0, $v0, $v1 +/* B76924 80240174 24840001 */ addiu $a0, $a0, 1 +/* B76928 80240178 ACC20004 */ sw $v0, 4($a2) +/* B7692C 8024017C A6240000 */ sh $a0, ($s1) +/* B76930 80240180 8FBF0020 */ lw $ra, 0x20($sp) +/* B76934 80240184 8FB3001C */ lw $s3, 0x1c($sp) +/* B76938 80240188 8FB20018 */ lw $s2, 0x18($sp) +/* B7693C 8024018C 8FB10014 */ lw $s1, 0x14($sp) +/* B76940 80240190 8FB00010 */ lw $s0, 0x10($sp) +/* B76944 80240194 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B76948 80240198 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B7694C 8024019C D7B60030 */ ldc1 $f22, 0x30($sp) +/* B76950 802401A0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B76954 802401A4 03E00008 */ jr $ra +/* B76958 802401A8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_802401AC_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_802401AC_B767B0.s new file mode 100644 index 0000000000..4c35d3c495 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_802401AC_B767B0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC_B7695C +/* B7695C 802401AC C4820088 */ lwc1 $f2, 0x88($a0) +/* B76960 802401B0 468010A0 */ cvt.s.w $f2, $f2 +/* B76964 802401B4 3C0142C8 */ lui $at, 0x42c8 +/* B76968 802401B8 44812000 */ mtc1 $at, $f4 +/* B7696C 802401BC 3C014480 */ lui $at, 0x4480 +/* B76970 802401C0 44813000 */ mtc1 $at, $f6 +/* B76974 802401C4 46041083 */ div.s $f2, $f2, $f4 +/* B76978 802401C8 46061082 */ mul.s $f2, $f2, $f6 +/* B7697C 802401CC 00000000 */ nop +/* B76980 802401D0 C4800088 */ lwc1 $f0, 0x88($a0) +/* B76984 802401D4 46800020 */ cvt.s.w $f0, $f0 +/* B76988 802401D8 46040003 */ div.s $f0, $f0, $f4 +/* B7698C 802401DC 46060002 */ mul.s $f0, $f0, $f6 +/* B76990 802401E0 00000000 */ nop +/* B76994 802401E4 3C01CD5B */ lui $at, 0xcd5b +/* B76998 802401E8 34215858 */ ori $at, $at, 0x5858 +/* B7699C 802401EC 44812000 */ mtc1 $at, $f4 +/* B769A0 802401F0 00000000 */ nop +/* B769A4 802401F4 46041080 */ add.s $f2, $f2, $f4 +/* B769A8 802401F8 46040000 */ add.s $f0, $f0, $f4 +/* B769AC 802401FC 4600120D */ trunc.w.s $f8, $f2 +/* B769B0 80240200 E488008C */ swc1 $f8, 0x8c($a0) +/* B769B4 80240204 4600020D */ trunc.w.s $f8, $f0 +/* B769B8 80240208 E4880090 */ swc1 $f8, 0x90($a0) +/* B769BC 8024020C 03E00008 */ jr $ra +/* B769C0 80240210 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_80240214_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_80240214_B767B0.s new file mode 100644 index 0000000000..90a638a695 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_80240214_B767B0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240214_B769C4 +/* B769C4 80240214 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B769C8 80240218 AFB1001C */ sw $s1, 0x1c($sp) +/* B769CC 8024021C 0080882D */ daddu $s1, $a0, $zero +/* B769D0 80240220 AFBF0020 */ sw $ra, 0x20($sp) +/* B769D4 80240224 AFB00018 */ sw $s0, 0x18($sp) +/* B769D8 80240228 8E30000C */ lw $s0, 0xc($s1) +/* B769DC 8024022C 8E020000 */ lw $v0, ($s0) +/* B769E0 80240230 1040001B */ beqz $v0, .L802402A0 +/* B769E4 80240234 26100004 */ addiu $s0, $s0, 4 +/* B769E8 80240238 8E050000 */ lw $a1, ($s0) +/* B769EC 8024023C 0C0B1EAF */ jal get_variable +/* B769F0 80240240 26100004 */ addiu $s0, $s0, 4 +/* B769F4 80240244 AE220070 */ sw $v0, 0x70($s1) +/* B769F8 80240248 8E050000 */ lw $a1, ($s0) +/* B769FC 8024024C 26100004 */ addiu $s0, $s0, 4 +/* B76A00 80240250 0C0B1EAF */ jal get_variable +/* B76A04 80240254 0220202D */ daddu $a0, $s1, $zero +/* B76A08 80240258 AE220074 */ sw $v0, 0x74($s1) +/* B76A0C 8024025C 8E050000 */ lw $a1, ($s0) +/* B76A10 80240260 0C0B1EAF */ jal get_variable +/* B76A14 80240264 0220202D */ daddu $a0, $s1, $zero +/* B76A18 80240268 2404004E */ addiu $a0, $zero, 0x4e +/* B76A1C 8024026C 0000282D */ daddu $a1, $zero, $zero +/* B76A20 80240270 C6200070 */ lwc1 $f0, 0x70($s1) +/* B76A24 80240274 46800020 */ cvt.s.w $f0, $f0 +/* B76A28 80240278 C6220074 */ lwc1 $f2, 0x74($s1) +/* B76A2C 8024027C 468010A0 */ cvt.s.w $f2, $f2 +/* B76A30 80240280 44060000 */ mfc1 $a2, $f0 +/* B76A34 80240284 44071000 */ mfc1 $a3, $f2 +/* B76A38 80240288 44820000 */ mtc1 $v0, $f0 +/* B76A3C 8024028C 00000000 */ nop +/* B76A40 80240290 46800020 */ cvt.s.w $f0, $f0 +/* B76A44 80240294 AE220078 */ sw $v0, 0x78($s1) +/* B76A48 80240298 0C05267B */ jal func_801499EC +/* B76A4C 8024029C E7A00010 */ swc1 $f0, 0x10($sp) +.L802402A0: +/* B76A50 802402A0 8FBF0020 */ lw $ra, 0x20($sp) +/* B76A54 802402A4 8FB1001C */ lw $s1, 0x1c($sp) +/* B76A58 802402A8 8FB00018 */ lw $s0, 0x18($sp) +/* B76A5C 802402AC 24020002 */ addiu $v0, $zero, 2 +/* B76A60 802402B0 03E00008 */ jr $ra +/* B76A64 802402B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_802402B8_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_802402B8_B767B0.s new file mode 100644 index 0000000000..20bff0509b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_802402B8_B767B0.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B8_B76A68 +/* B76A68 802402B8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B76A6C 802402BC AFB20018 */ sw $s2, 0x18($sp) +/* B76A70 802402C0 0080902D */ daddu $s2, $a0, $zero +/* B76A74 802402C4 AFBF001C */ sw $ra, 0x1c($sp) +/* B76A78 802402C8 AFB10014 */ sw $s1, 0x14($sp) +/* B76A7C 802402CC AFB00010 */ sw $s0, 0x10($sp) +/* B76A80 802402D0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B76A84 802402D4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B76A88 802402D8 8E510084 */ lw $s1, 0x84($s2) +/* B76A8C 802402DC 8E420088 */ lw $v0, 0x88($s2) +/* B76A90 802402E0 8E50008C */ lw $s0, 0x8c($s2) +/* B76A94 802402E4 2842FF9D */ slti $v0, $v0, -0x63 +/* B76A98 802402E8 5440001E */ bnel $v0, $zero, .L80240364 +/* B76A9C 802402EC 26100019 */ addiu $s0, $s0, 0x19 +/* B76AA0 802402F0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* B76AA4 802402F4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* B76AA8 802402F8 C4540080 */ lwc1 $f20, 0x80($v0) +/* B76AAC 802402FC 3C014334 */ lui $at, 0x4334 +/* B76AB0 80240300 44810000 */ mtc1 $at, $f0 +/* B76AB4 80240304 3C014049 */ lui $at, 0x4049 +/* B76AB8 80240308 34210FD8 */ ori $at, $at, 0xfd8 +/* B76ABC 8024030C 44811000 */ mtc1 $at, $f2 +/* B76AC0 80240310 4600A503 */ div.s $f20, $f20, $f0 +/* B76AC4 80240314 4602A502 */ mul.s $f20, $f20, $f2 +/* B76AC8 80240318 00000000 */ nop +/* B76ACC 8024031C 3C0141C8 */ lui $at, 0x41c8 +/* B76AD0 80240320 4481B000 */ mtc1 $at, $f22 +/* B76AD4 80240324 0C00A85B */ jal sin_rad +/* B76AD8 80240328 4600A306 */ mov.s $f12, $f20 +/* B76ADC 8024032C 46160002 */ mul.s $f0, $f0, $f22 +/* B76AE0 80240330 00000000 */ nop +/* B76AE4 80240334 4600A306 */ mov.s $f12, $f20 +/* B76AE8 80240338 4600010D */ trunc.w.s $f4, $f0 +/* B76AEC 8024033C 44022000 */ mfc1 $v0, $f4 +/* B76AF0 80240340 0C00A874 */ jal cos_rad +/* B76AF4 80240344 02228823 */ subu $s1, $s1, $v0 +/* B76AF8 80240348 46000007 */ neg.s $f0, $f0 +/* B76AFC 8024034C 46160002 */ mul.s $f0, $f0, $f22 +/* B76B00 80240350 00000000 */ nop +/* B76B04 80240354 4600010D */ trunc.w.s $f4, $f0 +/* B76B08 80240358 44022000 */ mfc1 $v0, $f4 +/* B76B0C 8024035C 00000000 */ nop +/* B76B10 80240360 02028023 */ subu $s0, $s0, $v0 +.L80240364: +/* B76B14 80240364 AE510084 */ sw $s1, 0x84($s2) +/* B76B18 80240368 AE50008C */ sw $s0, 0x8c($s2) +/* B76B1C 8024036C 8FBF001C */ lw $ra, 0x1c($sp) +/* B76B20 80240370 8FB20018 */ lw $s2, 0x18($sp) +/* B76B24 80240374 8FB10014 */ lw $s1, 0x14($sp) +/* B76B28 80240378 8FB00010 */ lw $s0, 0x10($sp) +/* B76B2C 8024037C D7B60028 */ ldc1 $f22, 0x28($sp) +/* B76B30 80240380 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B76B34 80240384 24020002 */ addiu $v0, $zero, 2 +/* B76B38 80240388 03E00008 */ jr $ra +/* B76B3C 8024038C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_80240390_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_80240390_B767B0.s new file mode 100644 index 0000000000..eb97edd902 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_80240390_B767B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240390_B76B40 +/* B76B40 80240390 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B76B44 80240394 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B76B48 80240398 4485A000 */ mtc1 $a1, $f20 +/* B76B4C 8024039C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B76B50 802403A0 4486B000 */ mtc1 $a2, $f22 +/* B76B54 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* B76B58 802403A8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B76B5C 802403AC 4487C000 */ mtc1 $a3, $f24 +/* B76B60 802403B0 AFBF0014 */ sw $ra, 0x14($sp) +/* B76B64 802403B4 0C019D28 */ jal guMtxIdentF +/* B76B68 802403B8 0080802D */ daddu $s0, $a0, $zero +/* B76B6C 802403BC 4616A582 */ mul.s $f22, $f20, $f22 +/* B76B70 802403C0 00000000 */ nop +/* B76B74 802403C4 4618A502 */ mul.s $f20, $f20, $f24 +/* B76B78 802403C8 00000000 */ nop +/* B76B7C 802403CC 3C013F80 */ lui $at, 0x3f80 +/* B76B80 802403D0 44810000 */ mtc1 $at, $f0 +/* B76B84 802403D4 00000000 */ nop +/* B76B88 802403D8 E6000014 */ swc1 $f0, 0x14($s0) +/* B76B8C 802403DC E6160010 */ swc1 $f22, 0x10($s0) +/* B76B90 802403E0 E6140018 */ swc1 $f20, 0x18($s0) +/* B76B94 802403E4 8FBF0014 */ lw $ra, 0x14($sp) +/* B76B98 802403E8 8FB00010 */ lw $s0, 0x10($sp) +/* B76B9C 802403EC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B76BA0 802403F0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B76BA4 802403F4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B76BA8 802403F8 03E00008 */ jr $ra +/* B76BAC 802403FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_13/func_80240400_B767B0.s b/asm/nonmatchings/world/area_jan/jan_13/func_80240400_B767B0.s new file mode 100644 index 0000000000..b2553ce395 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_13/func_80240400_B767B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_B76BB0 +/* B76BB0 80240400 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B76BB4 80240404 AFB10054 */ sw $s1, 0x54($sp) +/* B76BB8 80240408 0080882D */ daddu $s1, $a0, $zero +/* B76BBC 8024040C AFBF005C */ sw $ra, 0x5c($sp) +/* B76BC0 80240410 AFB20058 */ sw $s2, 0x58($sp) +/* B76BC4 80240414 AFB00050 */ sw $s0, 0x50($sp) +/* B76BC8 80240418 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B76BCC 8024041C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B76BD0 80240420 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B76BD4 80240424 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B76BD8 80240428 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B76BDC 8024042C 8E30000C */ lw $s0, 0xc($s1) +/* B76BE0 80240430 8E050000 */ lw $a1, ($s0) +/* B76BE4 80240434 0C0B1EAF */ jal get_variable +/* B76BE8 80240438 26100004 */ addiu $s0, $s0, 4 +/* B76BEC 8024043C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B76BF0 80240440 0040202D */ daddu $a0, $v0, $zero +/* B76BF4 80240444 8E050000 */ lw $a1, ($s0) +/* B76BF8 80240448 26100004 */ addiu $s0, $s0, 4 +/* B76BFC 8024044C 0220202D */ daddu $a0, $s1, $zero +/* B76C00 80240450 0C0B210B */ jal get_float_variable +/* B76C04 80240454 0040902D */ daddu $s2, $v0, $zero +/* B76C08 80240458 8E050000 */ lw $a1, ($s0) +/* B76C0C 8024045C 26100004 */ addiu $s0, $s0, 4 +/* B76C10 80240460 0220202D */ daddu $a0, $s1, $zero +/* B76C14 80240464 0C0B210B */ jal get_float_variable +/* B76C18 80240468 46000706 */ mov.s $f28, $f0 +/* B76C1C 8024046C 8E050000 */ lw $a1, ($s0) +/* B76C20 80240470 26100004 */ addiu $s0, $s0, 4 +/* B76C24 80240474 0220202D */ daddu $a0, $s1, $zero +/* B76C28 80240478 0C0B210B */ jal get_float_variable +/* B76C2C 8024047C 46000686 */ mov.s $f26, $f0 +/* B76C30 80240480 0220202D */ daddu $a0, $s1, $zero +/* B76C34 80240484 8E050000 */ lw $a1, ($s0) +/* B76C38 80240488 0C0B210B */ jal get_float_variable +/* B76C3C 8024048C 46000586 */ mov.s $f22, $f0 +/* B76C40 80240490 0240202D */ daddu $a0, $s2, $zero +/* B76C44 80240494 0C046B4C */ jal get_model_from_list_index +/* B76C48 80240498 46000606 */ mov.s $f24, $f0 +/* B76C4C 8024049C 0040882D */ daddu $s1, $v0, $zero +/* B76C50 802404A0 96220000 */ lhu $v0, ($s1) +/* B76C54 802404A4 30420400 */ andi $v0, $v0, 0x400 +/* B76C58 802404A8 1440001E */ bnez $v0, .L80240524 +/* B76C5C 802404AC 26300058 */ addiu $s0, $s1, 0x58 +/* B76C60 802404B0 4480A000 */ mtc1 $zero, $f20 +/* B76C64 802404B4 4406B000 */ mfc1 $a2, $f22 +/* B76C68 802404B8 4405A000 */ mfc1 $a1, $f20 +/* B76C6C 802404BC 4407A000 */ mfc1 $a3, $f20 +/* B76C70 802404C0 0C019E40 */ jal guTranslateF +/* B76C74 802404C4 0200202D */ daddu $a0, $s0, $zero +/* B76C78 802404C8 4405E000 */ mfc1 $a1, $f28 +/* B76C7C 802404CC 4406D000 */ mfc1 $a2, $f26 +/* B76C80 802404D0 4407C000 */ mfc1 $a3, $f24 +/* B76C84 802404D4 0C0900E4 */ jal func_80240390 +/* B76C88 802404D8 27A40010 */ addiu $a0, $sp, 0x10 +/* B76C8C 802404DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B76C90 802404E0 0200282D */ daddu $a1, $s0, $zero +/* B76C94 802404E4 0C019D80 */ jal guMtxCatF +/* B76C98 802404E8 0200302D */ daddu $a2, $s0, $zero +/* B76C9C 802404EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B76CA0 802404F0 4600B587 */ neg.s $f22, $f22 +/* B76CA4 802404F4 4405A000 */ mfc1 $a1, $f20 +/* B76CA8 802404F8 4406B000 */ mfc1 $a2, $f22 +/* B76CAC 802404FC 0C019E40 */ jal guTranslateF +/* B76CB0 80240500 00A0382D */ daddu $a3, $a1, $zero +/* B76CB4 80240504 27A40010 */ addiu $a0, $sp, 0x10 +/* B76CB8 80240508 0200282D */ daddu $a1, $s0, $zero +/* B76CBC 8024050C 0C019D80 */ jal guMtxCatF +/* B76CC0 80240510 00A0302D */ daddu $a2, $a1, $zero +/* B76CC4 80240514 96220000 */ lhu $v0, ($s1) +/* B76CC8 80240518 34421400 */ ori $v0, $v0, 0x1400 +/* B76CCC 8024051C 08090167 */ j .L8024059C +/* B76CD0 80240520 A6220000 */ sh $v0, ($s1) +.L80240524: +/* B76CD4 80240524 4480A000 */ mtc1 $zero, $f20 +/* B76CD8 80240528 4406B000 */ mfc1 $a2, $f22 +/* B76CDC 8024052C 4405A000 */ mfc1 $a1, $f20 +/* B76CE0 80240530 4407A000 */ mfc1 $a3, $f20 +/* B76CE4 80240534 0C019E40 */ jal guTranslateF +/* B76CE8 80240538 27A40010 */ addiu $a0, $sp, 0x10 +/* B76CEC 8024053C 27A40010 */ addiu $a0, $sp, 0x10 +/* B76CF0 80240540 26300058 */ addiu $s0, $s1, 0x58 +/* B76CF4 80240544 0200282D */ daddu $a1, $s0, $zero +/* B76CF8 80240548 0C019D80 */ jal guMtxCatF +/* B76CFC 8024054C 0200302D */ daddu $a2, $s0, $zero +/* B76D00 80240550 4405E000 */ mfc1 $a1, $f28 +/* B76D04 80240554 4406D000 */ mfc1 $a2, $f26 +/* B76D08 80240558 4407C000 */ mfc1 $a3, $f24 +/* B76D0C 8024055C 0C0900E4 */ jal func_80240390 +/* B76D10 80240560 27A40010 */ addiu $a0, $sp, 0x10 +/* B76D14 80240564 27A40010 */ addiu $a0, $sp, 0x10 +/* B76D18 80240568 0200282D */ daddu $a1, $s0, $zero +/* B76D1C 8024056C 0C019D80 */ jal guMtxCatF +/* B76D20 80240570 0200302D */ daddu $a2, $s0, $zero +/* B76D24 80240574 27A40010 */ addiu $a0, $sp, 0x10 +/* B76D28 80240578 4600B587 */ neg.s $f22, $f22 +/* B76D2C 8024057C 4405A000 */ mfc1 $a1, $f20 +/* B76D30 80240580 4406B000 */ mfc1 $a2, $f22 +/* B76D34 80240584 0C019E40 */ jal guTranslateF +/* B76D38 80240588 00A0382D */ daddu $a3, $a1, $zero +/* B76D3C 8024058C 27A40010 */ addiu $a0, $sp, 0x10 +/* B76D40 80240590 0200282D */ daddu $a1, $s0, $zero +/* B76D44 80240594 0C019D80 */ jal guMtxCatF +/* B76D48 80240598 00A0302D */ daddu $a2, $a1, $zero +.L8024059C: +/* B76D4C 8024059C 8FBF005C */ lw $ra, 0x5c($sp) +/* B76D50 802405A0 8FB20058 */ lw $s2, 0x58($sp) +/* B76D54 802405A4 8FB10054 */ lw $s1, 0x54($sp) +/* B76D58 802405A8 8FB00050 */ lw $s0, 0x50($sp) +/* B76D5C 802405AC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B76D60 802405B0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B76D64 802405B4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B76D68 802405B8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B76D6C 802405BC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B76D70 802405C0 24020002 */ addiu $v0, $zero, 2 +/* B76D74 802405C4 03E00008 */ jr $ra +/* B76D78 802405C8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B76D7C 802405CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240000_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240000_B7A050.s new file mode 100644 index 0000000000..60cc41935e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240000_B7A050.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B7A050 +/* B7A050 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B7A054 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B7A058 80240008 0080882D */ daddu $s1, $a0, $zero +/* B7A05C 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* B7A060 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* B7A064 80240014 F7B80030 */ sdc1 $f24, 0x30($sp) +/* B7A068 80240018 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B7A06C 8024001C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B7A070 80240020 8E30000C */ lw $s0, 0xc($s1) +/* B7A074 80240024 8E050000 */ lw $a1, ($s0) +/* B7A078 80240028 0C0B210B */ jal get_float_variable +/* B7A07C 8024002C 26100004 */ addiu $s0, $s0, 4 +/* B7A080 80240030 8E050000 */ lw $a1, ($s0) +/* B7A084 80240034 26100004 */ addiu $s0, $s0, 4 +/* B7A088 80240038 0220202D */ daddu $a0, $s1, $zero +/* B7A08C 8024003C 0C0B210B */ jal get_float_variable +/* B7A090 80240040 46000606 */ mov.s $f24, $f0 +/* B7A094 80240044 8E050000 */ lw $a1, ($s0) +/* B7A098 80240048 26100004 */ addiu $s0, $s0, 4 +/* B7A09C 8024004C 3C014170 */ lui $at, 0x4170 +/* B7A0A0 80240050 44811000 */ mtc1 $at, $f2 +/* B7A0A4 80240054 0220202D */ daddu $a0, $s1, $zero +/* B7A0A8 80240058 0C0B210B */ jal get_float_variable +/* B7A0AC 8024005C 46020580 */ add.s $f22, $f0, $f2 +/* B7A0B0 80240060 0220202D */ daddu $a0, $s1, $zero +/* B7A0B4 80240064 8E050000 */ lw $a1, ($s0) +/* B7A0B8 80240068 0C0B210B */ jal get_float_variable +/* B7A0BC 8024006C 46000506 */ mov.s $f20, $f0 +/* B7A0C0 80240070 46000002 */ mul.s $f0, $f0, $f0 +/* B7A0C4 80240074 00000000 */ nop +/* B7A0C8 80240078 C6240084 */ lwc1 $f4, 0x84($s1) +/* B7A0CC 8024007C 46802120 */ cvt.s.w $f4, $f4 +/* B7A0D0 80240080 46182101 */ sub.s $f4, $f4, $f24 +/* B7A0D4 80240084 46042102 */ mul.s $f4, $f4, $f4 +/* B7A0D8 80240088 00000000 */ nop +/* B7A0DC 8024008C C622008C */ lwc1 $f2, 0x8c($s1) +/* B7A0E0 80240090 468010A0 */ cvt.s.w $f2, $f2 +/* B7A0E4 80240094 46141081 */ sub.s $f2, $f2, $f20 +/* B7A0E8 80240098 46021082 */ mul.s $f2, $f2, $f2 +/* B7A0EC 8024009C 00000000 */ nop +/* B7A0F0 802400A0 C6260088 */ lwc1 $f6, 0x88($s1) +/* B7A0F4 802400A4 468031A0 */ cvt.s.w $f6, $f6 +/* B7A0F8 802400A8 46163181 */ sub.s $f6, $f6, $f22 +/* B7A0FC 802400AC 46063182 */ mul.s $f6, $f6, $f6 +/* B7A100 802400B0 00000000 */ nop +/* B7A104 802400B4 46062100 */ add.s $f4, $f4, $f6 +/* B7A108 802400B8 46022100 */ add.s $f4, $f4, $f2 +/* B7A10C 802400BC 4600203C */ c.lt.s $f4, $f0 +/* B7A110 802400C0 00000000 */ nop +/* B7A114 802400C4 45010002 */ bc1t .L802400D0 +/* B7A118 802400C8 24020001 */ addiu $v0, $zero, 1 +/* B7A11C 802400CC 0000102D */ daddu $v0, $zero, $zero +.L802400D0: +/* B7A120 802400D0 AE220084 */ sw $v0, 0x84($s1) +/* B7A124 802400D4 8FBF0018 */ lw $ra, 0x18($sp) +/* B7A128 802400D8 8FB10014 */ lw $s1, 0x14($sp) +/* B7A12C 802400DC 8FB00010 */ lw $s0, 0x10($sp) +/* B7A130 802400E0 D7B80030 */ ldc1 $f24, 0x30($sp) +/* B7A134 802400E4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B7A138 802400E8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B7A13C 802400EC 24020002 */ addiu $v0, $zero, 2 +/* B7A140 802400F0 03E00008 */ jr $ra +/* B7A144 802400F4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802400F8_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_802400F8_B7A050.s new file mode 100644 index 0000000000..c9ccec5362 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802400F8_B7A050.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F8_B7A148 +/* B7A148 802400F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B7A14C 802400FC AFB10014 */ sw $s1, 0x14($sp) +/* B7A150 80240100 0080882D */ daddu $s1, $a0, $zero +/* B7A154 80240104 AFBF0018 */ sw $ra, 0x18($sp) +/* B7A158 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* B7A15C 8024010C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B7A160 80240110 8E30000C */ lw $s0, 0xc($s1) +/* B7A164 80240114 8E050000 */ lw $a1, ($s0) +/* B7A168 80240118 0C0B210B */ jal get_float_variable +/* B7A16C 8024011C 26100004 */ addiu $s0, $s0, 4 +/* B7A170 80240120 8E050000 */ lw $a1, ($s0) +/* B7A174 80240124 26100004 */ addiu $s0, $s0, 4 +/* B7A178 80240128 0220202D */ daddu $a0, $s1, $zero +/* B7A17C 8024012C 0C0B210B */ jal get_float_variable +/* B7A180 80240130 46000506 */ mov.s $f20, $f0 +/* B7A184 80240134 46140001 */ sub.s $f0, $f0, $f20 +/* B7A188 80240138 3C014120 */ lui $at, 0x4120 +/* B7A18C 8024013C 44811000 */ mtc1 $at, $f2 +/* B7A190 80240140 8E050000 */ lw $a1, ($s0) +/* B7A194 80240144 46020003 */ div.s $f0, $f0, $f2 +/* B7A198 80240148 44060000 */ mfc1 $a2, $f0 +/* B7A19C 8024014C 0C0B2190 */ jal set_float_variable +/* B7A1A0 80240150 0220202D */ daddu $a0, $s1, $zero +/* B7A1A4 80240154 8FBF0018 */ lw $ra, 0x18($sp) +/* B7A1A8 80240158 8FB10014 */ lw $s1, 0x14($sp) +/* B7A1AC 8024015C 8FB00010 */ lw $s0, 0x10($sp) +/* B7A1B0 80240160 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B7A1B4 80240164 24020002 */ addiu $v0, $zero, 2 +/* B7A1B8 80240168 03E00008 */ jr $ra +/* B7A1BC 8024016C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240170_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240170_B7A050.s new file mode 100644 index 0000000000..43222efa4e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240170_B7A050.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_B7A1C0 +/* B7A1C0 80240170 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B7A1C4 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* B7A1C8 80240178 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B7A1CC 8024017C 4485A000 */ mtc1 $a1, $f20 +/* B7A1D0 80240180 AFBF0014 */ sw $ra, 0x14($sp) +/* B7A1D4 80240184 0C019D28 */ jal guMtxIdentF +/* B7A1D8 80240188 0080802D */ daddu $s0, $a0, $zero +/* B7A1DC 8024018C 3C018024 */ lui $at, 0x8024 +/* B7A1E0 80240190 D4203870 */ ldc1 $f0, 0x3870($at) +/* B7A1E4 80240194 4600A521 */ cvt.d.s $f20, $f20 +/* B7A1E8 80240198 4620A502 */ mul.d $f20, $f20, $f0 +/* B7A1EC 8024019C 00000000 */ nop +/* B7A1F0 802401A0 3C013F80 */ lui $at, 0x3f80 +/* B7A1F4 802401A4 44810000 */ mtc1 $at, $f0 +/* B7A1F8 802401A8 AE000018 */ sw $zero, 0x18($s0) +/* B7A1FC 802401AC E6000014 */ swc1 $f0, 0x14($s0) +/* B7A200 802401B0 4620A520 */ cvt.s.d $f20, $f20 +/* B7A204 802401B4 E6140010 */ swc1 $f20, 0x10($s0) +/* B7A208 802401B8 8FBF0014 */ lw $ra, 0x14($sp) +/* B7A20C 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* B7A210 802401C0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B7A214 802401C4 03E00008 */ jr $ra +/* B7A218 802401C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802401CC_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_802401CC_B7A050.s new file mode 100644 index 0000000000..03c922a1c7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802401CC_B7A050.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_B7A21C +/* B7A21C 802401CC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B7A220 802401D0 AFB10054 */ sw $s1, 0x54($sp) +/* B7A224 802401D4 0080882D */ daddu $s1, $a0, $zero +/* B7A228 802401D8 AFBF0058 */ sw $ra, 0x58($sp) +/* B7A22C 802401DC AFB00050 */ sw $s0, 0x50($sp) +/* B7A230 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B7A234 802401E4 8E30000C */ lw $s0, 0xc($s1) +/* B7A238 802401E8 8E050000 */ lw $a1, ($s0) +/* B7A23C 802401EC 0C0B1EAF */ jal get_variable +/* B7A240 802401F0 26100004 */ addiu $s0, $s0, 4 +/* B7A244 802401F4 0C046C04 */ jal get_model_list_index_from_tree_index +/* B7A248 802401F8 0040202D */ daddu $a0, $v0, $zero +/* B7A24C 802401FC 0220202D */ daddu $a0, $s1, $zero +/* B7A250 80240200 8E050000 */ lw $a1, ($s0) +/* B7A254 80240204 0C0B210B */ jal get_float_variable +/* B7A258 80240208 0040802D */ daddu $s0, $v0, $zero +/* B7A25C 8024020C 0200202D */ daddu $a0, $s0, $zero +/* B7A260 80240210 0C046B4C */ jal get_model_from_list_index +/* B7A264 80240214 46000506 */ mov.s $f20, $f0 +/* B7A268 80240218 0040802D */ daddu $s0, $v0, $zero +/* B7A26C 8024021C 96020000 */ lhu $v0, ($s0) +/* B7A270 80240220 30420400 */ andi $v0, $v0, 0x400 +/* B7A274 80240224 14400008 */ bnez $v0, .L80240248 +/* B7A278 80240228 00000000 */ nop +/* B7A27C 8024022C 4405A000 */ mfc1 $a1, $f20 +/* B7A280 80240230 0C09005C */ jal func_80240170 +/* B7A284 80240234 26040058 */ addiu $a0, $s0, 0x58 +/* B7A288 80240238 96020000 */ lhu $v0, ($s0) +/* B7A28C 8024023C 34421400 */ ori $v0, $v0, 0x1400 +/* B7A290 80240240 08090099 */ j .L80240264 +/* B7A294 80240244 A6020000 */ sh $v0, ($s0) +.L80240248: +/* B7A298 80240248 4405A000 */ mfc1 $a1, $f20 +/* B7A29C 8024024C 0C09005C */ jal func_80240170 +/* B7A2A0 80240250 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A2A4 80240254 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A2A8 80240258 26050058 */ addiu $a1, $s0, 0x58 +/* B7A2AC 8024025C 0C019D80 */ jal guMtxCatF +/* B7A2B0 80240260 00A0302D */ daddu $a2, $a1, $zero +.L80240264: +/* B7A2B4 80240264 8FBF0058 */ lw $ra, 0x58($sp) +/* B7A2B8 80240268 8FB10054 */ lw $s1, 0x54($sp) +/* B7A2BC 8024026C 8FB00050 */ lw $s0, 0x50($sp) +/* B7A2C0 80240270 D7B40060 */ ldc1 $f20, 0x60($sp) +/* B7A2C4 80240274 24020002 */ addiu $v0, $zero, 2 +/* B7A2C8 80240278 03E00008 */ jr $ra +/* B7A2CC 8024027C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240280_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240280_B7A050.s new file mode 100644 index 0000000000..7880a126b1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240280_B7A050.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_B7A2D0 +/* B7A2D0 80240280 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B7A2D4 80240284 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B7A2D8 80240288 4485A000 */ mtc1 $a1, $f20 +/* B7A2DC 8024028C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B7A2E0 80240290 4486B000 */ mtc1 $a2, $f22 +/* B7A2E4 80240294 AFB00010 */ sw $s0, 0x10($sp) +/* B7A2E8 80240298 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B7A2EC 8024029C 4487C000 */ mtc1 $a3, $f24 +/* B7A2F0 802402A0 AFBF0014 */ sw $ra, 0x14($sp) +/* B7A2F4 802402A4 0C019D28 */ jal guMtxIdentF +/* B7A2F8 802402A8 0080802D */ daddu $s0, $a0, $zero +/* B7A2FC 802402AC 4616A582 */ mul.s $f22, $f20, $f22 +/* B7A300 802402B0 00000000 */ nop +/* B7A304 802402B4 4618A502 */ mul.s $f20, $f20, $f24 +/* B7A308 802402B8 00000000 */ nop +/* B7A30C 802402BC 3C013F80 */ lui $at, 0x3f80 +/* B7A310 802402C0 44810000 */ mtc1 $at, $f0 +/* B7A314 802402C4 00000000 */ nop +/* B7A318 802402C8 E6000014 */ swc1 $f0, 0x14($s0) +/* B7A31C 802402CC E6160010 */ swc1 $f22, 0x10($s0) +/* B7A320 802402D0 E6140018 */ swc1 $f20, 0x18($s0) +/* B7A324 802402D4 8FBF0014 */ lw $ra, 0x14($sp) +/* B7A328 802402D8 8FB00010 */ lw $s0, 0x10($sp) +/* B7A32C 802402DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* B7A330 802402E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B7A334 802402E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B7A338 802402E8 03E00008 */ jr $ra +/* B7A33C 802402EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802402F0_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_802402F0_B7A050.s new file mode 100644 index 0000000000..a418e1b421 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802402F0_B7A050.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_B7A340 +/* B7A340 802402F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B7A344 802402F4 AFB10054 */ sw $s1, 0x54($sp) +/* B7A348 802402F8 0080882D */ daddu $s1, $a0, $zero +/* B7A34C 802402FC AFBF005C */ sw $ra, 0x5c($sp) +/* B7A350 80240300 AFB20058 */ sw $s2, 0x58($sp) +/* B7A354 80240304 AFB00050 */ sw $s0, 0x50($sp) +/* B7A358 80240308 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B7A35C 8024030C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B7A360 80240310 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B7A364 80240314 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B7A368 80240318 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B7A36C 8024031C 8E30000C */ lw $s0, 0xc($s1) +/* B7A370 80240320 8E050000 */ lw $a1, ($s0) +/* B7A374 80240324 0C0B1EAF */ jal get_variable +/* B7A378 80240328 26100004 */ addiu $s0, $s0, 4 +/* B7A37C 8024032C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B7A380 80240330 0040202D */ daddu $a0, $v0, $zero +/* B7A384 80240334 8E050000 */ lw $a1, ($s0) +/* B7A388 80240338 26100004 */ addiu $s0, $s0, 4 +/* B7A38C 8024033C 0220202D */ daddu $a0, $s1, $zero +/* B7A390 80240340 0C0B210B */ jal get_float_variable +/* B7A394 80240344 0040902D */ daddu $s2, $v0, $zero +/* B7A398 80240348 8E050000 */ lw $a1, ($s0) +/* B7A39C 8024034C 26100004 */ addiu $s0, $s0, 4 +/* B7A3A0 80240350 0220202D */ daddu $a0, $s1, $zero +/* B7A3A4 80240354 0C0B210B */ jal get_float_variable +/* B7A3A8 80240358 46000706 */ mov.s $f28, $f0 +/* B7A3AC 8024035C 8E050000 */ lw $a1, ($s0) +/* B7A3B0 80240360 26100004 */ addiu $s0, $s0, 4 +/* B7A3B4 80240364 0220202D */ daddu $a0, $s1, $zero +/* B7A3B8 80240368 0C0B210B */ jal get_float_variable +/* B7A3BC 8024036C 46000686 */ mov.s $f26, $f0 +/* B7A3C0 80240370 0220202D */ daddu $a0, $s1, $zero +/* B7A3C4 80240374 8E050000 */ lw $a1, ($s0) +/* B7A3C8 80240378 0C0B210B */ jal get_float_variable +/* B7A3CC 8024037C 46000586 */ mov.s $f22, $f0 +/* B7A3D0 80240380 0240202D */ daddu $a0, $s2, $zero +/* B7A3D4 80240384 0C046B4C */ jal get_model_from_list_index +/* B7A3D8 80240388 46000606 */ mov.s $f24, $f0 +/* B7A3DC 8024038C 0040882D */ daddu $s1, $v0, $zero +/* B7A3E0 80240390 96220000 */ lhu $v0, ($s1) +/* B7A3E4 80240394 30420400 */ andi $v0, $v0, 0x400 +/* B7A3E8 80240398 1440001E */ bnez $v0, .L80240414 +/* B7A3EC 8024039C 26300058 */ addiu $s0, $s1, 0x58 +/* B7A3F0 802403A0 4480A000 */ mtc1 $zero, $f20 +/* B7A3F4 802403A4 4406B000 */ mfc1 $a2, $f22 +/* B7A3F8 802403A8 4405A000 */ mfc1 $a1, $f20 +/* B7A3FC 802403AC 4407A000 */ mfc1 $a3, $f20 +/* B7A400 802403B0 0C019E40 */ jal guTranslateF +/* B7A404 802403B4 0200202D */ daddu $a0, $s0, $zero +/* B7A408 802403B8 4405E000 */ mfc1 $a1, $f28 +/* B7A40C 802403BC 4406D000 */ mfc1 $a2, $f26 +/* B7A410 802403C0 4407C000 */ mfc1 $a3, $f24 +/* B7A414 802403C4 0C0900A0 */ jal func_80240280 +/* B7A418 802403C8 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A41C 802403CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A420 802403D0 0200282D */ daddu $a1, $s0, $zero +/* B7A424 802403D4 0C019D80 */ jal guMtxCatF +/* B7A428 802403D8 0200302D */ daddu $a2, $s0, $zero +/* B7A42C 802403DC 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A430 802403E0 4600B587 */ neg.s $f22, $f22 +/* B7A434 802403E4 4405A000 */ mfc1 $a1, $f20 +/* B7A438 802403E8 4406B000 */ mfc1 $a2, $f22 +/* B7A43C 802403EC 0C019E40 */ jal guTranslateF +/* B7A440 802403F0 00A0382D */ daddu $a3, $a1, $zero +/* B7A444 802403F4 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A448 802403F8 0200282D */ daddu $a1, $s0, $zero +/* B7A44C 802403FC 0C019D80 */ jal guMtxCatF +/* B7A450 80240400 00A0302D */ daddu $a2, $a1, $zero +/* B7A454 80240404 96220000 */ lhu $v0, ($s1) +/* B7A458 80240408 34421400 */ ori $v0, $v0, 0x1400 +/* B7A45C 8024040C 08090123 */ j .L8024048C +/* B7A460 80240410 A6220000 */ sh $v0, ($s1) +.L80240414: +/* B7A464 80240414 4480A000 */ mtc1 $zero, $f20 +/* B7A468 80240418 4406B000 */ mfc1 $a2, $f22 +/* B7A46C 8024041C 4405A000 */ mfc1 $a1, $f20 +/* B7A470 80240420 4407A000 */ mfc1 $a3, $f20 +/* B7A474 80240424 0C019E40 */ jal guTranslateF +/* B7A478 80240428 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A47C 8024042C 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A480 80240430 26300058 */ addiu $s0, $s1, 0x58 +/* B7A484 80240434 0200282D */ daddu $a1, $s0, $zero +/* B7A488 80240438 0C019D80 */ jal guMtxCatF +/* B7A48C 8024043C 0200302D */ daddu $a2, $s0, $zero +/* B7A490 80240440 4405E000 */ mfc1 $a1, $f28 +/* B7A494 80240444 4406D000 */ mfc1 $a2, $f26 +/* B7A498 80240448 4407C000 */ mfc1 $a3, $f24 +/* B7A49C 8024044C 0C0900A0 */ jal func_80240280 +/* B7A4A0 80240450 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A4A4 80240454 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A4A8 80240458 0200282D */ daddu $a1, $s0, $zero +/* B7A4AC 8024045C 0C019D80 */ jal guMtxCatF +/* B7A4B0 80240460 0200302D */ daddu $a2, $s0, $zero +/* B7A4B4 80240464 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A4B8 80240468 4600B587 */ neg.s $f22, $f22 +/* B7A4BC 8024046C 4405A000 */ mfc1 $a1, $f20 +/* B7A4C0 80240470 4406B000 */ mfc1 $a2, $f22 +/* B7A4C4 80240474 0C019E40 */ jal guTranslateF +/* B7A4C8 80240478 00A0382D */ daddu $a3, $a1, $zero +/* B7A4CC 8024047C 27A40010 */ addiu $a0, $sp, 0x10 +/* B7A4D0 80240480 0200282D */ daddu $a1, $s0, $zero +/* B7A4D4 80240484 0C019D80 */ jal guMtxCatF +/* B7A4D8 80240488 00A0302D */ daddu $a2, $a1, $zero +.L8024048C: +/* B7A4DC 8024048C 8FBF005C */ lw $ra, 0x5c($sp) +/* B7A4E0 80240490 8FB20058 */ lw $s2, 0x58($sp) +/* B7A4E4 80240494 8FB10054 */ lw $s1, 0x54($sp) +/* B7A4E8 80240498 8FB00050 */ lw $s0, 0x50($sp) +/* B7A4EC 8024049C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B7A4F0 802404A0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B7A4F4 802404A4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B7A4F8 802404A8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B7A4FC 802404AC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B7A500 802404B0 24020002 */ addiu $v0, $zero, 2 +/* B7A504 802404B4 03E00008 */ jr $ra +/* B7A508 802404B8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B7A50C 802404BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802404C0_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_802404C0_B7A050.s new file mode 100644 index 0000000000..770f6979ed --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802404C0_B7A050.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_B7A510 +/* B7A510 802404C0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B7A514 802404C4 AFB00030 */ sw $s0, 0x30($sp) +/* B7A518 802404C8 0080802D */ daddu $s0, $a0, $zero +/* B7A51C 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* B7A520 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* B7A524 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* B7A528 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* B7A52C 802404DC F7B60050 */ sdc1 $f22, 0x50($sp) +/* B7A530 802404E0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B7A534 802404E4 8E130148 */ lw $s3, 0x148($s0) +/* B7A538 802404E8 00A0882D */ daddu $s1, $a1, $zero +/* B7A53C 802404EC 86640008 */ lh $a0, 8($s3) +/* B7A540 802404F0 0C00EABB */ jal get_npc_unsafe +/* B7A544 802404F4 00C0902D */ daddu $s2, $a2, $zero +/* B7A548 802404F8 0200202D */ daddu $a0, $s0, $zero +/* B7A54C 802404FC 0220282D */ daddu $a1, $s1, $zero +/* B7A550 80240500 0240302D */ daddu $a2, $s2, $zero +/* B7A554 80240504 0C012568 */ jal func_800495A0 +/* B7A558 80240508 0040802D */ daddu $s0, $v0, $zero +/* B7A55C 8024050C 8E020000 */ lw $v0, ($s0) +/* B7A560 80240510 2404002D */ addiu $a0, $zero, 0x2d +/* B7A564 80240514 34420800 */ ori $v0, $v0, 0x800 +/* B7A568 80240518 0C00A67F */ jal rand_int +/* B7A56C 8024051C AE020000 */ sw $v0, ($s0) +/* B7A570 80240520 0200202D */ daddu $a0, $s0, $zero +/* B7A574 80240524 3C05B000 */ lui $a1, 0xb000 +/* B7A578 80240528 34A50017 */ ori $a1, $a1, 0x17 +/* B7A57C 8024052C 44820000 */ mtc1 $v0, $f0 +/* B7A580 80240530 00000000 */ nop +/* B7A584 80240534 46800021 */ cvt.d.w $f0, $f0 +/* B7A588 80240538 3C014024 */ lui $at, 0x4024 +/* B7A58C 8024053C 44811800 */ mtc1 $at, $f3 +/* B7A590 80240540 44801000 */ mtc1 $zero, $f2 +/* B7A594 80240544 3C014020 */ lui $at, 0x4020 +/* B7A598 80240548 44812800 */ mtc1 $at, $f5 +/* B7A59C 8024054C 44802000 */ mtc1 $zero, $f4 +/* B7A5A0 80240550 46220003 */ div.d $f0, $f0, $f2 +/* B7A5A4 80240554 46240000 */ add.d $f0, $f0, $f4 +/* B7A5A8 80240558 3C013FC0 */ lui $at, 0x3fc0 +/* B7A5AC 8024055C 44811000 */ mtc1 $at, $f2 +/* B7A5B0 80240560 0000302D */ daddu $a2, $zero, $zero +/* B7A5B4 80240564 E6020014 */ swc1 $f2, 0x14($s0) +/* B7A5B8 80240568 46200020 */ cvt.s.d $f0, $f0 +/* B7A5BC 8024056C 0C012530 */ jal func_800494C0 +/* B7A5C0 80240570 E600001C */ swc1 $f0, 0x1c($s0) +/* B7A5C4 80240574 8E6300D0 */ lw $v1, 0xd0($s3) +/* B7A5C8 80240578 C6000040 */ lwc1 $f0, 0x40($s0) +/* B7A5CC 8024057C C4620000 */ lwc1 $f2, ($v1) +/* B7A5D0 80240580 468010A0 */ cvt.s.w $f2, $f2 +/* B7A5D4 80240584 C4640008 */ lwc1 $f4, 8($v1) +/* B7A5D8 80240588 46802120 */ cvt.s.w $f4, $f4 +/* B7A5DC 8024058C E7A00010 */ swc1 $f0, 0x10($sp) +/* B7A5E0 80240590 8E6200D0 */ lw $v0, 0xd0($s3) +/* B7A5E4 80240594 44051000 */ mfc1 $a1, $f2 +/* B7A5E8 80240598 C440000C */ lwc1 $f0, 0xc($v0) +/* B7A5EC 8024059C 46800020 */ cvt.s.w $f0, $f0 +/* B7A5F0 802405A0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B7A5F4 802405A4 8E6200D0 */ lw $v0, 0xd0($s3) +/* B7A5F8 802405A8 44062000 */ mfc1 $a2, $f4 +/* B7A5FC 802405AC C4400010 */ lwc1 $f0, 0x10($v0) +/* B7A600 802405B0 46800020 */ cvt.s.w $f0, $f0 +/* B7A604 802405B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* B7A608 802405B8 8C640018 */ lw $a0, 0x18($v1) +/* B7A60C 802405BC 0C0123F5 */ jal is_point_within_region +/* B7A610 802405C0 8E070038 */ lw $a3, 0x38($s0) +/* B7A614 802405C4 10400035 */ beqz $v0, .L8024069C +/* B7A618 802405C8 00000000 */ nop +/* B7A61C 802405CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* B7A620 802405D0 3C0141C8 */ lui $at, 0x41c8 +/* B7A624 802405D4 4481B000 */ mtc1 $at, $f22 +/* B7A628 802405D8 8E6200D0 */ lw $v0, 0xd0($s3) +/* B7A62C 802405DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* B7A630 802405E0 C4480000 */ lwc1 $f8, ($v0) +/* B7A634 802405E4 46804220 */ cvt.s.w $f8, $f8 +/* B7A638 802405E8 44064000 */ mfc1 $a2, $f8 +/* B7A63C 802405EC C4480008 */ lwc1 $f8, 8($v0) +/* B7A640 802405F0 46804220 */ cvt.s.w $f8, $f8 +/* B7A644 802405F4 44074000 */ mfc1 $a3, $f8 +/* B7A648 802405F8 3C01403E */ lui $at, 0x403e +/* B7A64C 802405FC 4481A800 */ mtc1 $at, $f21 +/* B7A650 80240600 4480A000 */ mtc1 $zero, $f20 +/* B7A654 80240604 0C00A720 */ jal atan2 +/* B7A658 80240608 0000882D */ daddu $s1, $zero, $zero +/* B7A65C 8024060C C6020038 */ lwc1 $f2, 0x38($s0) +/* B7A660 80240610 C604003C */ lwc1 $f4, 0x3c($s0) +/* B7A664 80240614 C6060040 */ lwc1 $f6, 0x40($s0) +/* B7A668 80240618 E600000C */ swc1 $f0, 0xc($s0) +/* B7A66C 8024061C E7A20020 */ swc1 $f2, 0x20($sp) +/* B7A670 80240620 E7A40024 */ swc1 $f4, 0x24($sp) +/* B7A674 80240624 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240628: +/* B7A678 80240628 E7B60010 */ swc1 $f22, 0x10($sp) +/* B7A67C 8024062C C600000C */ lwc1 $f0, 0xc($s0) +/* B7A680 80240630 E7A00014 */ swc1 $f0, 0x14($sp) +/* B7A684 80240634 860200A8 */ lh $v0, 0xa8($s0) +/* B7A688 80240638 27A50020 */ addiu $a1, $sp, 0x20 +/* B7A68C 8024063C 44820000 */ mtc1 $v0, $f0 +/* B7A690 80240640 00000000 */ nop +/* B7A694 80240644 46800020 */ cvt.s.w $f0, $f0 +/* B7A698 80240648 E7A00018 */ swc1 $f0, 0x18($sp) +/* B7A69C 8024064C 860200A6 */ lh $v0, 0xa6($s0) +/* B7A6A0 80240650 27A60024 */ addiu $a2, $sp, 0x24 +/* B7A6A4 80240654 44820000 */ mtc1 $v0, $f0 +/* B7A6A8 80240658 00000000 */ nop +/* B7A6AC 8024065C 46800020 */ cvt.s.w $f0, $f0 +/* B7A6B0 80240660 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B7A6B4 80240664 8E040080 */ lw $a0, 0x80($s0) +/* B7A6B8 80240668 0C037711 */ jal func_800DDC44 +/* B7A6BC 8024066C 27A70028 */ addiu $a3, $sp, 0x28 +/* B7A6C0 80240670 10400016 */ beqz $v0, .L802406CC +/* B7A6C4 80240674 26310001 */ addiu $s1, $s1, 1 +/* B7A6C8 80240678 C600000C */ lwc1 $f0, 0xc($s0) +/* B7A6CC 8024067C 46000021 */ cvt.d.s $f0, $f0 +/* B7A6D0 80240680 46340000 */ add.d $f0, $f0, $f20 +/* B7A6D4 80240684 2A220006 */ slti $v0, $s1, 6 +/* B7A6D8 80240688 46200020 */ cvt.s.d $f0, $f0 +/* B7A6DC 8024068C 1440FFE6 */ bnez $v0, .L80240628 +/* B7A6E0 80240690 E600000C */ swc1 $f0, 0xc($s0) +/* B7A6E4 80240694 080901B3 */ j .L802406CC +/* B7A6E8 80240698 00000000 */ nop +.L8024069C: +/* B7A6EC 8024069C 0C00A67F */ jal rand_int +/* B7A6F0 802406A0 2404003C */ addiu $a0, $zero, 0x3c +/* B7A6F4 802406A4 C60C000C */ lwc1 $f12, 0xc($s0) +/* B7A6F8 802406A8 44820000 */ mtc1 $v0, $f0 +/* B7A6FC 802406AC 00000000 */ nop +/* B7A700 802406B0 46800020 */ cvt.s.w $f0, $f0 +/* B7A704 802406B4 46006300 */ add.s $f12, $f12, $f0 +/* B7A708 802406B8 3C0141F0 */ lui $at, 0x41f0 +/* B7A70C 802406BC 44810000 */ mtc1 $at, $f0 +/* B7A710 802406C0 0C00A6C9 */ jal clamp_angle +/* B7A714 802406C4 46006301 */ sub.s $f12, $f12, $f0 +/* B7A718 802406C8 E600000C */ swc1 $f0, 0xc($s0) +.L802406CC: +/* B7A71C 802406CC 8FBF0040 */ lw $ra, 0x40($sp) +/* B7A720 802406D0 8FB3003C */ lw $s3, 0x3c($sp) +/* B7A724 802406D4 8FB20038 */ lw $s2, 0x38($sp) +/* B7A728 802406D8 8FB10034 */ lw $s1, 0x34($sp) +/* B7A72C 802406DC 8FB00030 */ lw $s0, 0x30($sp) +/* B7A730 802406E0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B7A734 802406E4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B7A738 802406E8 03E00008 */ jr $ra +/* B7A73C 802406EC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802406F0_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_802406F0_B7A050.s new file mode 100644 index 0000000000..1fd863a35f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802406F0_B7A050.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406F0_B7A740 +/* B7A740 802406F0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B7A744 802406F4 AFB3004C */ sw $s3, 0x4c($sp) +/* B7A748 802406F8 0080982D */ daddu $s3, $a0, $zero +/* B7A74C 802406FC AFBF0054 */ sw $ra, 0x54($sp) +/* B7A750 80240700 AFB40050 */ sw $s4, 0x50($sp) +/* B7A754 80240704 AFB20048 */ sw $s2, 0x48($sp) +/* B7A758 80240708 AFB10044 */ sw $s1, 0x44($sp) +/* B7A75C 8024070C AFB00040 */ sw $s0, 0x40($sp) +/* B7A760 80240710 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B7A764 80240714 8E710148 */ lw $s1, 0x148($s3) +/* B7A768 80240718 00A0A02D */ daddu $s4, $a1, $zero +/* B7A76C 8024071C 86240008 */ lh $a0, 8($s1) +/* B7A770 80240720 0C00EABB */ jal get_npc_unsafe +/* B7A774 80240724 00C0902D */ daddu $s2, $a2, $zero +/* B7A778 80240728 8E830014 */ lw $v1, 0x14($s4) +/* B7A77C 8024072C 04600034 */ bltz $v1, .L80240800 +/* B7A780 80240730 0040802D */ daddu $s0, $v0, $zero +/* B7A784 80240734 8E620074 */ lw $v0, 0x74($s3) +/* B7A788 80240738 1C400030 */ bgtz $v0, .L802407FC +/* B7A78C 8024073C 2442FFFF */ addiu $v0, $v0, -1 +/* B7A790 80240740 0240202D */ daddu $a0, $s2, $zero +/* B7A794 80240744 AE630074 */ sw $v1, 0x74($s3) +/* B7A798 80240748 AFA00010 */ sw $zero, 0x10($sp) +/* B7A79C 8024074C 8E86000C */ lw $a2, 0xc($s4) +/* B7A7A0 80240750 8E870010 */ lw $a3, 0x10($s4) +/* B7A7A4 80240754 0C01242D */ jal func_800490B4 +/* B7A7A8 80240758 0220282D */ daddu $a1, $s1, $zero +/* B7A7AC 8024075C 10400025 */ beqz $v0, .L802407F4 +/* B7A7B0 80240760 0000202D */ daddu $a0, $zero, $zero +/* B7A7B4 80240764 0200282D */ daddu $a1, $s0, $zero +/* B7A7B8 80240768 0000302D */ daddu $a2, $zero, $zero +/* B7A7BC 8024076C 860300A8 */ lh $v1, 0xa8($s0) +/* B7A7C0 80240770 3C013F80 */ lui $at, 0x3f80 +/* B7A7C4 80240774 44810000 */ mtc1 $at, $f0 +/* B7A7C8 80240778 3C014000 */ lui $at, 0x4000 +/* B7A7CC 8024077C 44811000 */ mtc1 $at, $f2 +/* B7A7D0 80240780 3C01C1A0 */ lui $at, 0xc1a0 +/* B7A7D4 80240784 44812000 */ mtc1 $at, $f4 +/* B7A7D8 80240788 2402000F */ addiu $v0, $zero, 0xf +/* B7A7DC 8024078C AFA2001C */ sw $v0, 0x1c($sp) +/* B7A7E0 80240790 44835000 */ mtc1 $v1, $f10 +/* B7A7E4 80240794 00000000 */ nop +/* B7A7E8 80240798 468052A0 */ cvt.s.w $f10, $f10 +/* B7A7EC 8024079C 44075000 */ mfc1 $a3, $f10 +/* B7A7F0 802407A0 27A20028 */ addiu $v0, $sp, 0x28 +/* B7A7F4 802407A4 AFA20020 */ sw $v0, 0x20($sp) +/* B7A7F8 802407A8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B7A7FC 802407AC E7A20014 */ swc1 $f2, 0x14($sp) +/* B7A800 802407B0 0C01BFA4 */ jal fx_emote +/* B7A804 802407B4 E7A40018 */ swc1 $f4, 0x18($sp) +/* B7A808 802407B8 0200202D */ daddu $a0, $s0, $zero +/* B7A80C 802407BC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B7A810 802407C0 0C012530 */ jal func_800494C0 +/* B7A814 802407C4 3C060020 */ lui $a2, 0x20 +/* B7A818 802407C8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B7A81C 802407CC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B7A820 802407D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B7A824 802407D4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B7A828 802407D8 8C460028 */ lw $a2, 0x28($v0) +/* B7A82C 802407DC 0C00A720 */ jal atan2 +/* B7A830 802407E0 8C470030 */ lw $a3, 0x30($v0) +/* B7A834 802407E4 2402000C */ addiu $v0, $zero, 0xc +/* B7A838 802407E8 E600000C */ swc1 $f0, 0xc($s0) +/* B7A83C 802407EC 08090281 */ j .L80240A04 +/* B7A840 802407F0 AE620070 */ sw $v0, 0x70($s3) +.L802407F4: +/* B7A844 802407F4 8E620074 */ lw $v0, 0x74($s3) +/* B7A848 802407F8 2442FFFF */ addiu $v0, $v0, -1 +.L802407FC: +/* B7A84C 802407FC AE620074 */ sw $v0, 0x74($s3) +.L80240800: +/* B7A850 80240800 C6000018 */ lwc1 $f0, 0x18($s0) +/* B7A854 80240804 44801000 */ mtc1 $zero, $f2 +/* B7A858 80240808 44801800 */ mtc1 $zero, $f3 +/* B7A85C 8024080C 46000021 */ cvt.d.s $f0, $f0 +/* B7A860 80240810 4620103C */ c.lt.d $f2, $f0 +/* B7A864 80240814 00000000 */ nop +/* B7A868 80240818 45000025 */ bc1f .L802408B0 +/* B7A86C 8024081C 27A5002C */ addiu $a1, $sp, 0x2c +/* B7A870 80240820 C6000038 */ lwc1 $f0, 0x38($s0) +/* B7A874 80240824 860200A6 */ lh $v0, 0xa6($s0) +/* B7A878 80240828 3C018024 */ lui $at, 0x8024 +/* B7A87C 8024082C D4223880 */ ldc1 $f2, 0x3880($at) +/* B7A880 80240830 27A60030 */ addiu $a2, $sp, 0x30 +/* B7A884 80240834 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B7A888 80240838 44820000 */ mtc1 $v0, $f0 +/* B7A88C 8024083C 00000000 */ nop +/* B7A890 80240840 46800020 */ cvt.s.w $f0, $f0 +/* B7A894 80240844 46000021 */ cvt.d.s $f0, $f0 +/* B7A898 80240848 C604003C */ lwc1 $f4, 0x3c($s0) +/* B7A89C 8024084C C6060040 */ lwc1 $f6, 0x40($s0) +/* B7A8A0 80240850 C6080018 */ lwc1 $f8, 0x18($s0) +/* B7A8A4 80240854 860200A8 */ lh $v0, 0xa8($s0) +/* B7A8A8 80240858 46220002 */ mul.d $f0, $f0, $f2 +/* B7A8AC 8024085C 00000000 */ nop +/* B7A8B0 80240860 E7A40030 */ swc1 $f4, 0x30($sp) +/* B7A8B4 80240864 E7A60034 */ swc1 $f6, 0x34($sp) +/* B7A8B8 80240868 E7A80010 */ swc1 $f8, 0x10($sp) +/* B7A8BC 8024086C C604000C */ lwc1 $f4, 0xc($s0) +/* B7A8C0 80240870 44821000 */ mtc1 $v0, $f2 +/* B7A8C4 80240874 00000000 */ nop +/* B7A8C8 80240878 468010A0 */ cvt.s.w $f2, $f2 +/* B7A8CC 8024087C E7A20018 */ swc1 $f2, 0x18($sp) +/* B7A8D0 80240880 E7A40014 */ swc1 $f4, 0x14($sp) +/* B7A8D4 80240884 46200020 */ cvt.s.d $f0, $f0 +/* B7A8D8 80240888 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B7A8DC 8024088C 8E040080 */ lw $a0, 0x80($s0) +/* B7A8E0 80240890 0C037711 */ jal func_800DDC44 +/* B7A8E4 80240894 27A70034 */ addiu $a3, $sp, 0x34 +/* B7A8E8 80240898 54400005 */ bnel $v0, $zero, .L802408B0 +/* B7A8EC 8024089C AE000018 */ sw $zero, 0x18($s0) +/* B7A8F0 802408A0 8E050018 */ lw $a1, 0x18($s0) +/* B7A8F4 802408A4 8E06000C */ lw $a2, 0xc($s0) +/* B7A8F8 802408A8 0C00EA95 */ jal npc_move_heading +/* B7A8FC 802408AC 0200202D */ daddu $a0, $s0, $zero +.L802408B0: +/* B7A900 802408B0 C600001C */ lwc1 $f0, 0x1c($s0) +/* B7A904 802408B4 44801000 */ mtc1 $zero, $f2 +/* B7A908 802408B8 44801800 */ mtc1 $zero, $f3 +/* B7A90C 802408BC 46000021 */ cvt.d.s $f0, $f0 +/* B7A910 802408C0 4622003C */ c.lt.d $f0, $f2 +/* B7A914 802408C4 00000000 */ nop +/* B7A918 802408C8 45000047 */ bc1f .L802409E8 +/* B7A91C 802408CC 27A5002C */ addiu $a1, $sp, 0x2c +/* B7A920 802408D0 27A60030 */ addiu $a2, $sp, 0x30 +/* B7A924 802408D4 27A20038 */ addiu $v0, $sp, 0x38 +/* B7A928 802408D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* B7A92C 802408DC C6060038 */ lwc1 $f6, 0x38($s0) +/* B7A930 802408E0 3C01402A */ lui $at, 0x402a +/* B7A934 802408E4 4481A800 */ mtc1 $at, $f21 +/* B7A938 802408E8 4480A000 */ mtc1 $zero, $f20 +/* B7A93C 802408EC 460010A1 */ cvt.d.s $f2, $f2 +/* B7A940 802408F0 46341080 */ add.d $f2, $f2, $f20 +/* B7A944 802408F4 C600001C */ lwc1 $f0, 0x1c($s0) +/* B7A948 802408F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* B7A94C 802408FC 46000005 */ abs.s $f0, $f0 +/* B7A950 80240900 E7A40034 */ swc1 $f4, 0x34($sp) +/* B7A954 80240904 3C014030 */ lui $at, 0x4030 +/* B7A958 80240908 44812800 */ mtc1 $at, $f5 +/* B7A95C 8024090C 44802000 */ mtc1 $zero, $f4 +/* B7A960 80240910 46000021 */ cvt.d.s $f0, $f0 +/* B7A964 80240914 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B7A968 80240918 46240000 */ add.d $f0, $f0, $f4 +/* B7A96C 8024091C 462010A0 */ cvt.s.d $f2, $f2 +/* B7A970 80240920 E7A20030 */ swc1 $f2, 0x30($sp) +/* B7A974 80240924 46200020 */ cvt.s.d $f0, $f0 +/* B7A978 80240928 E7A00038 */ swc1 $f0, 0x38($sp) +/* B7A97C 8024092C AFA20010 */ sw $v0, 0x10($sp) +/* B7A980 80240930 8E040080 */ lw $a0, 0x80($s0) +/* B7A984 80240934 0C0372DF */ jal func_800DCB7C +/* B7A988 80240938 27A70034 */ addiu $a3, $sp, 0x34 +/* B7A98C 8024093C 1040002A */ beqz $v0, .L802409E8 +/* B7A990 80240940 00000000 */ nop +/* B7A994 80240944 C600001C */ lwc1 $f0, 0x1c($s0) +/* B7A998 80240948 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B7A99C 8024094C 46000005 */ abs.s $f0, $f0 +/* B7A9A0 80240950 46000021 */ cvt.d.s $f0, $f0 +/* B7A9A4 80240954 46340000 */ add.d $f0, $f0, $f20 +/* B7A9A8 80240958 460010A1 */ cvt.d.s $f2, $f2 +/* B7A9AC 8024095C 4620103E */ c.le.d $f2, $f0 +/* B7A9B0 80240960 00000000 */ nop +/* B7A9B4 80240964 45000020 */ bc1f .L802409E8 +/* B7A9B8 80240968 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B7A9BC 8024096C C7A00030 */ lwc1 $f0, 0x30($sp) +/* B7A9C0 80240970 8E020000 */ lw $v0, ($s0) +/* B7A9C4 80240974 2403F7FF */ addiu $v1, $zero, -0x801 +/* B7A9C8 80240978 AE00001C */ sw $zero, 0x1c($s0) +/* B7A9CC 8024097C 00431024 */ and $v0, $v0, $v1 +/* B7A9D0 80240980 AE020000 */ sw $v0, ($s0) +/* B7A9D4 80240984 24020002 */ addiu $v0, $zero, 2 +/* B7A9D8 80240988 E600003C */ swc1 $f0, 0x3c($s0) +/* B7A9DC 8024098C 0C00A67F */ jal rand_int +/* B7A9E0 80240990 AE620070 */ sw $v0, 0x70($s3) +/* B7A9E4 80240994 3C035555 */ lui $v1, 0x5555 +/* B7A9E8 80240998 34635556 */ ori $v1, $v1, 0x5556 +/* B7A9EC 8024099C 00430018 */ mult $v0, $v1 +/* B7A9F0 802409A0 000227C3 */ sra $a0, $v0, 0x1f +/* B7A9F4 802409A4 00004010 */ mfhi $t0 +/* B7A9F8 802409A8 01042023 */ subu $a0, $t0, $a0 +/* B7A9FC 802409AC 00041840 */ sll $v1, $a0, 1 +/* B7AA00 802409B0 00641821 */ addu $v1, $v1, $a0 +/* B7AA04 802409B4 00431023 */ subu $v0, $v0, $v1 +/* B7AA08 802409B8 24430002 */ addiu $v1, $v0, 2 +/* B7AA0C 802409BC AE630074 */ sw $v1, 0x74($s3) +/* B7AA10 802409C0 8E82002C */ lw $v0, 0x2c($s4) +/* B7AA14 802409C4 5840000F */ blezl $v0, .L80240A04 +/* B7AA18 802409C8 AE600070 */ sw $zero, 0x70($s3) +/* B7AA1C 802409CC 8E820004 */ lw $v0, 4($s4) +/* B7AA20 802409D0 5840000C */ blezl $v0, .L80240A04 +/* B7AA24 802409D4 AE600070 */ sw $zero, 0x70($s3) +/* B7AA28 802409D8 1460000A */ bnez $v1, .L80240A04 +/* B7AA2C 802409DC 00000000 */ nop +/* B7AA30 802409E0 08090281 */ j .L80240A04 +/* B7AA34 802409E4 AE600070 */ sw $zero, 0x70($s3) +.L802409E8: +/* B7AA38 802409E8 C604003C */ lwc1 $f4, 0x3c($s0) +/* B7AA3C 802409EC C600001C */ lwc1 $f0, 0x1c($s0) +/* B7AA40 802409F0 46002100 */ add.s $f4, $f4, $f0 +/* B7AA44 802409F4 C6020014 */ lwc1 $f2, 0x14($s0) +/* B7AA48 802409F8 46020001 */ sub.s $f0, $f0, $f2 +/* B7AA4C 802409FC E604003C */ swc1 $f4, 0x3c($s0) +/* B7AA50 80240A00 E600001C */ swc1 $f0, 0x1c($s0) +.L80240A04: +/* B7AA54 80240A04 8FBF0054 */ lw $ra, 0x54($sp) +/* B7AA58 80240A08 8FB40050 */ lw $s4, 0x50($sp) +/* B7AA5C 80240A0C 8FB3004C */ lw $s3, 0x4c($sp) +/* B7AA60 80240A10 8FB20048 */ lw $s2, 0x48($sp) +/* B7AA64 80240A14 8FB10044 */ lw $s1, 0x44($sp) +/* B7AA68 80240A18 8FB00040 */ lw $s0, 0x40($sp) +/* B7AA6C 80240A1C D7B40058 */ ldc1 $f20, 0x58($sp) +/* B7AA70 80240A20 03E00008 */ jr $ra +/* B7AA74 80240A24 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240A28_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240A28_B7A050.s new file mode 100644 index 0000000000..b2f37f953e --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240A28_B7A050.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A28_B7AA78 +/* B7AA78 80240A28 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B7AA7C 80240A2C AFB3001C */ sw $s3, 0x1c($sp) +/* B7AA80 80240A30 0080982D */ daddu $s3, $a0, $zero +/* B7AA84 80240A34 AFBF0020 */ sw $ra, 0x20($sp) +/* B7AA88 80240A38 AFB20018 */ sw $s2, 0x18($sp) +/* B7AA8C 80240A3C AFB10014 */ sw $s1, 0x14($sp) +/* B7AA90 80240A40 AFB00010 */ sw $s0, 0x10($sp) +/* B7AA94 80240A44 8E720148 */ lw $s2, 0x148($s3) +/* B7AA98 80240A48 86440008 */ lh $a0, 8($s2) +/* B7AA9C 80240A4C 0C00EABB */ jal get_npc_unsafe +/* B7AAA0 80240A50 00A0882D */ daddu $s1, $a1, $zero +/* B7AAA4 80240A54 8E240008 */ lw $a0, 8($s1) +/* B7AAA8 80240A58 0040802D */ daddu $s0, $v0, $zero +/* B7AAAC 80240A5C 00041FC2 */ srl $v1, $a0, 0x1f +/* B7AAB0 80240A60 00832021 */ addu $a0, $a0, $v1 +/* B7AAB4 80240A64 00042043 */ sra $a0, $a0, 1 +/* B7AAB8 80240A68 0C00A67F */ jal rand_int +/* B7AABC 80240A6C 24840001 */ addiu $a0, $a0, 1 +/* B7AAC0 80240A70 8E230008 */ lw $v1, 8($s1) +/* B7AAC4 80240A74 240400B4 */ addiu $a0, $zero, 0xb4 +/* B7AAC8 80240A78 00032FC2 */ srl $a1, $v1, 0x1f +/* B7AACC 80240A7C 00651821 */ addu $v1, $v1, $a1 +/* B7AAD0 80240A80 00031843 */ sra $v1, $v1, 1 +/* B7AAD4 80240A84 00621821 */ addu $v1, $v1, $v0 +/* B7AAD8 80240A88 0C00A67F */ jal rand_int +/* B7AADC 80240A8C A603008E */ sh $v1, 0x8e($s0) +/* B7AAE0 80240A90 C60C000C */ lwc1 $f12, 0xc($s0) +/* B7AAE4 80240A94 44820000 */ mtc1 $v0, $f0 +/* B7AAE8 80240A98 00000000 */ nop +/* B7AAEC 80240A9C 46800020 */ cvt.s.w $f0, $f0 +/* B7AAF0 80240AA0 46006300 */ add.s $f12, $f12, $f0 +/* B7AAF4 80240AA4 3C0142B4 */ lui $at, 0x42b4 +/* B7AAF8 80240AA8 44810000 */ mtc1 $at, $f0 +/* B7AAFC 80240AAC 0C00A6C9 */ jal clamp_angle +/* B7AB00 80240AB0 46006301 */ sub.s $f12, $f12, $f0 +/* B7AB04 80240AB4 E600000C */ swc1 $f0, 0xc($s0) +/* B7AB08 80240AB8 8E4200CC */ lw $v0, 0xcc($s2) +/* B7AB0C 80240ABC 8C420000 */ lw $v0, ($v0) +/* B7AB10 80240AC0 AE020028 */ sw $v0, 0x28($s0) +/* B7AB14 80240AC4 24020003 */ addiu $v0, $zero, 3 +/* B7AB18 80240AC8 AE620070 */ sw $v0, 0x70($s3) +/* B7AB1C 80240ACC 8FBF0020 */ lw $ra, 0x20($sp) +/* B7AB20 80240AD0 8FB3001C */ lw $s3, 0x1c($sp) +/* B7AB24 80240AD4 8FB20018 */ lw $s2, 0x18($sp) +/* B7AB28 80240AD8 8FB10014 */ lw $s1, 0x14($sp) +/* B7AB2C 80240ADC 8FB00010 */ lw $s0, 0x10($sp) +/* B7AB30 80240AE0 03E00008 */ jr $ra +/* B7AB34 80240AE4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240AE8.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240AE8.s new file mode 100644 index 0000000000..593288225a --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240AE8.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE8 +/* B7AB38 80240AE8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B7AB3C 80240AEC AFB40040 */ sw $s4, 0x40($sp) +/* B7AB40 80240AF0 0080A02D */ daddu $s4, $a0, $zero +/* B7AB44 80240AF4 AFBF0044 */ sw $ra, 0x44($sp) +/* B7AB48 80240AF8 AFB3003C */ sw $s3, 0x3c($sp) +/* B7AB4C 80240AFC AFB20038 */ sw $s2, 0x38($sp) +/* B7AB50 80240B00 AFB10034 */ sw $s1, 0x34($sp) +/* B7AB54 80240B04 AFB00030 */ sw $s0, 0x30($sp) +/* B7AB58 80240B08 8E920148 */ lw $s2, 0x148($s4) +/* B7AB5C 80240B0C 00A0882D */ daddu $s1, $a1, $zero +/* B7AB60 80240B10 86440008 */ lh $a0, 8($s2) +/* B7AB64 80240B14 0C00EABB */ jal get_npc_unsafe +/* B7AB68 80240B18 00C0982D */ daddu $s3, $a2, $zero +/* B7AB6C 80240B1C 8E230014 */ lw $v1, 0x14($s1) +/* B7AB70 80240B20 0460002D */ bltz $v1, .L80240BD8 +/* B7AB74 80240B24 0040802D */ daddu $s0, $v0, $zero +/* B7AB78 80240B28 0260202D */ daddu $a0, $s3, $zero +/* B7AB7C 80240B2C AFA00010 */ sw $zero, 0x10($sp) +/* B7AB80 80240B30 8E260024 */ lw $a2, 0x24($s1) +/* B7AB84 80240B34 8E270028 */ lw $a3, 0x28($s1) +/* B7AB88 80240B38 0C01242D */ jal func_800490B4 +/* B7AB8C 80240B3C 0240282D */ daddu $a1, $s2, $zero +/* B7AB90 80240B40 10400025 */ beqz $v0, .L80240BD8 +/* B7AB94 80240B44 0000202D */ daddu $a0, $zero, $zero +/* B7AB98 80240B48 0200282D */ daddu $a1, $s0, $zero +/* B7AB9C 80240B4C 0000302D */ daddu $a2, $zero, $zero +/* B7ABA0 80240B50 860300A8 */ lh $v1, 0xa8($s0) +/* B7ABA4 80240B54 3C013F80 */ lui $at, 0x3f80 +/* B7ABA8 80240B58 44810000 */ mtc1 $at, $f0 +/* B7ABAC 80240B5C 3C014000 */ lui $at, 0x4000 +/* B7ABB0 80240B60 44811000 */ mtc1 $at, $f2 +/* B7ABB4 80240B64 3C01C1A0 */ lui $at, 0xc1a0 +/* B7ABB8 80240B68 44812000 */ mtc1 $at, $f4 +/* B7ABBC 80240B6C 2402000F */ addiu $v0, $zero, 0xf +/* B7ABC0 80240B70 AFA2001C */ sw $v0, 0x1c($sp) +/* B7ABC4 80240B74 44833000 */ mtc1 $v1, $f6 +/* B7ABC8 80240B78 00000000 */ nop +/* B7ABCC 80240B7C 468031A0 */ cvt.s.w $f6, $f6 +/* B7ABD0 80240B80 44073000 */ mfc1 $a3, $f6 +/* B7ABD4 80240B84 27A20028 */ addiu $v0, $sp, 0x28 +/* B7ABD8 80240B88 AFA20020 */ sw $v0, 0x20($sp) +/* B7ABDC 80240B8C E7A00010 */ swc1 $f0, 0x10($sp) +/* B7ABE0 80240B90 E7A20014 */ swc1 $f2, 0x14($sp) +/* B7ABE4 80240B94 0C01BFA4 */ jal fx_emote +/* B7ABE8 80240B98 E7A40018 */ swc1 $f4, 0x18($sp) +/* B7ABEC 80240B9C 0200202D */ daddu $a0, $s0, $zero +/* B7ABF0 80240BA0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B7ABF4 80240BA4 0C012530 */ jal func_800494C0 +/* B7ABF8 80240BA8 3C060020 */ lui $a2, 0x20 +/* B7ABFC 80240BAC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B7AC00 80240BB0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B7AC04 80240BB4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B7AC08 80240BB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B7AC0C 80240BBC 8C460028 */ lw $a2, 0x28($v0) +/* B7AC10 80240BC0 0C00A720 */ jal atan2 +/* B7AC14 80240BC4 8C470030 */ lw $a3, 0x30($v0) +/* B7AC18 80240BC8 2402000C */ addiu $v0, $zero, 0xc +/* B7AC1C 80240BCC E600000C */ swc1 $f0, 0xc($s0) +/* B7AC20 80240BD0 0809031B */ j .L80240C6C +/* B7AC24 80240BD4 AE820070 */ sw $v0, 0x70($s4) +.L80240BD8: +/* B7AC28 80240BD8 8602008C */ lh $v0, 0x8c($s0) +/* B7AC2C 80240BDC 14400023 */ bnez $v0, .L80240C6C +/* B7AC30 80240BE0 00000000 */ nop +/* B7AC34 80240BE4 9602008E */ lhu $v0, 0x8e($s0) +/* B7AC38 80240BE8 2442FFFF */ addiu $v0, $v0, -1 +/* B7AC3C 80240BEC A602008E */ sh $v0, 0x8e($s0) +/* B7AC40 80240BF0 00021400 */ sll $v0, $v0, 0x10 +/* B7AC44 80240BF4 1C40001D */ bgtz $v0, .L80240C6C +/* B7AC48 80240BF8 00000000 */ nop +/* B7AC4C 80240BFC 8E820074 */ lw $v0, 0x74($s4) +/* B7AC50 80240C00 2442FFFF */ addiu $v0, $v0, -1 +/* B7AC54 80240C04 18400018 */ blez $v0, .L80240C68 +/* B7AC58 80240C08 AE820074 */ sw $v0, 0x74($s4) +/* B7AC5C 80240C0C C600000C */ lwc1 $f0, 0xc($s0) +/* B7AC60 80240C10 3C014334 */ lui $at, 0x4334 +/* B7AC64 80240C14 44816000 */ mtc1 $at, $f12 +/* B7AC68 80240C18 0C00A6C9 */ jal clamp_angle +/* B7AC6C 80240C1C 460C0300 */ add.s $f12, $f0, $f12 +/* B7AC70 80240C20 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B7AC74 80240C24 0C00A67F */ jal rand_int +/* B7AC78 80240C28 E600000C */ swc1 $f0, 0xc($s0) +/* B7AC7C 80240C2C 3C032E8B */ lui $v1, 0x2e8b +/* B7AC80 80240C30 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B7AC84 80240C34 00430018 */ mult $v0, $v1 +/* B7AC88 80240C38 00021FC3 */ sra $v1, $v0, 0x1f +/* B7AC8C 80240C3C 00004010 */ mfhi $t0 +/* B7AC90 80240C40 00082043 */ sra $a0, $t0, 1 +/* B7AC94 80240C44 00832023 */ subu $a0, $a0, $v1 +/* B7AC98 80240C48 00041840 */ sll $v1, $a0, 1 +/* B7AC9C 80240C4C 00641821 */ addu $v1, $v1, $a0 +/* B7ACA0 80240C50 00031880 */ sll $v1, $v1, 2 +/* B7ACA4 80240C54 00641823 */ subu $v1, $v1, $a0 +/* B7ACA8 80240C58 00431023 */ subu $v0, $v0, $v1 +/* B7ACAC 80240C5C 24420005 */ addiu $v0, $v0, 5 +/* B7ACB0 80240C60 0809031B */ j .L80240C6C +/* B7ACB4 80240C64 A602008E */ sh $v0, 0x8e($s0) +.L80240C68: +/* B7ACB8 80240C68 AE800070 */ sw $zero, 0x70($s4) +.L80240C6C: +/* B7ACBC 80240C6C 8FBF0044 */ lw $ra, 0x44($sp) +/* B7ACC0 80240C70 8FB40040 */ lw $s4, 0x40($sp) +/* B7ACC4 80240C74 8FB3003C */ lw $s3, 0x3c($sp) +/* B7ACC8 80240C78 8FB20038 */ lw $s2, 0x38($sp) +/* B7ACCC 80240C7C 8FB10034 */ lw $s1, 0x34($sp) +/* B7ACD0 80240C80 8FB00030 */ lw $s0, 0x30($sp) +/* B7ACD4 80240C84 03E00008 */ jr $ra +/* B7ACD8 80240C88 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240C8C.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240C8C.s new file mode 100644 index 0000000000..7b8743fc6b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240C8C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C8C +/* B7ACDC 80240C8C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B7ACE0 80240C90 AFB10014 */ sw $s1, 0x14($sp) +/* B7ACE4 80240C94 0080882D */ daddu $s1, $a0, $zero +/* B7ACE8 80240C98 AFBF001C */ sw $ra, 0x1c($sp) +/* B7ACEC 80240C9C AFB20018 */ sw $s2, 0x18($sp) +/* B7ACF0 80240CA0 AFB00010 */ sw $s0, 0x10($sp) +/* B7ACF4 80240CA4 8E220148 */ lw $v0, 0x148($s1) +/* B7ACF8 80240CA8 00A0902D */ daddu $s2, $a1, $zero +/* B7ACFC 80240CAC 84440008 */ lh $a0, 8($v0) +/* B7AD00 80240CB0 0C00EABB */ jal get_npc_unsafe +/* B7AD04 80240CB4 00C0802D */ daddu $s0, $a2, $zero +/* B7AD08 80240CB8 0220202D */ daddu $a0, $s1, $zero +/* B7AD0C 80240CBC 0240282D */ daddu $a1, $s2, $zero +/* B7AD10 80240CC0 0200302D */ daddu $a2, $s0, $zero +/* B7AD14 80240CC4 0C0127DF */ jal func_80049F7C +/* B7AD18 80240CC8 0040802D */ daddu $s0, $v0, $zero +/* B7AD1C 80240CCC 8E020000 */ lw $v0, ($s0) +/* B7AD20 80240CD0 24040005 */ addiu $a0, $zero, 5 +/* B7AD24 80240CD4 34420800 */ ori $v0, $v0, 0x800 +/* B7AD28 80240CD8 0C00A67F */ jal rand_int +/* B7AD2C 80240CDC AE020000 */ sw $v0, ($s0) +/* B7AD30 80240CE0 44820000 */ mtc1 $v0, $f0 +/* B7AD34 80240CE4 00000000 */ nop +/* B7AD38 80240CE8 46800021 */ cvt.d.w $f0, $f0 +/* B7AD3C 80240CEC 3C014024 */ lui $at, 0x4024 +/* B7AD40 80240CF0 44811800 */ mtc1 $at, $f3 +/* B7AD44 80240CF4 44801000 */ mtc1 $zero, $f2 +/* B7AD48 80240CF8 3C013FC0 */ lui $at, 0x3fc0 +/* B7AD4C 80240CFC 44812000 */ mtc1 $at, $f4 +/* B7AD50 80240D00 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B7AD54 80240D04 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B7AD58 80240D08 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B7AD5C 80240D0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B7AD60 80240D10 46220000 */ add.d $f0, $f0, $f2 +/* B7AD64 80240D14 E6040014 */ swc1 $f4, 0x14($s0) +/* B7AD68 80240D18 46200020 */ cvt.s.d $f0, $f0 +/* B7AD6C 80240D1C E600001C */ swc1 $f0, 0x1c($s0) +/* B7AD70 80240D20 8C460028 */ lw $a2, 0x28($v0) +/* B7AD74 80240D24 0C00A720 */ jal atan2 +/* B7AD78 80240D28 8C470030 */ lw $a3, 0x30($v0) +/* B7AD7C 80240D2C 0200202D */ daddu $a0, $s0, $zero +/* B7AD80 80240D30 3C05B000 */ lui $a1, 0xb000 +/* B7AD84 80240D34 34A50017 */ ori $a1, $a1, 0x17 +/* B7AD88 80240D38 0000302D */ daddu $a2, $zero, $zero +/* B7AD8C 80240D3C E480000C */ swc1 $f0, 0xc($a0) +/* B7AD90 80240D40 C6400018 */ lwc1 $f0, 0x18($s2) +/* B7AD94 80240D44 2402000D */ addiu $v0, $zero, 0xd +/* B7AD98 80240D48 E4800018 */ swc1 $f0, 0x18($a0) +/* B7AD9C 80240D4C 0C012530 */ jal func_800494C0 +/* B7ADA0 80240D50 AE220070 */ sw $v0, 0x70($s1) +/* B7ADA4 80240D54 8FBF001C */ lw $ra, 0x1c($sp) +/* B7ADA8 80240D58 8FB20018 */ lw $s2, 0x18($sp) +/* B7ADAC 80240D5C 8FB10014 */ lw $s1, 0x14($sp) +/* B7ADB0 80240D60 8FB00010 */ lw $s0, 0x10($sp) +/* B7ADB4 80240D64 03E00008 */ jr $ra +/* B7ADB8 80240D68 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_80240D6C.s b/asm/nonmatchings/world/area_jan/jan_14/func_80240D6C.s new file mode 100644 index 0000000000..6ba7851d68 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_80240D6C.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C +/* B7ADBC 80240D6C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B7ADC0 80240D70 AFB40050 */ sw $s4, 0x50($sp) +/* B7ADC4 80240D74 0080A02D */ daddu $s4, $a0, $zero +/* B7ADC8 80240D78 AFBF0060 */ sw $ra, 0x60($sp) +/* B7ADCC 80240D7C AFB7005C */ sw $s7, 0x5c($sp) +/* B7ADD0 80240D80 AFB60058 */ sw $s6, 0x58($sp) +/* B7ADD4 80240D84 AFB50054 */ sw $s5, 0x54($sp) +/* B7ADD8 80240D88 AFB3004C */ sw $s3, 0x4c($sp) +/* B7ADDC 80240D8C AFB20048 */ sw $s2, 0x48($sp) +/* B7ADE0 80240D90 AFB10044 */ sw $s1, 0x44($sp) +/* B7ADE4 80240D94 AFB00040 */ sw $s0, 0x40($sp) +/* B7ADE8 80240D98 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B7ADEC 80240D9C 8E950148 */ lw $s5, 0x148($s4) +/* B7ADF0 80240DA0 00A0B02D */ daddu $s6, $a1, $zero +/* B7ADF4 80240DA4 86A40008 */ lh $a0, 8($s5) +/* B7ADF8 80240DA8 0C00EABB */ jal get_npc_unsafe +/* B7ADFC 80240DAC 00C0B82D */ daddu $s7, $a2, $zero +/* B7AE00 80240DB0 0040982D */ daddu $s3, $v0, $zero +/* B7AE04 80240DB4 C6600018 */ lwc1 $f0, 0x18($s3) +/* B7AE08 80240DB8 44801000 */ mtc1 $zero, $f2 +/* B7AE0C 80240DBC 44801800 */ mtc1 $zero, $f3 +/* B7AE10 80240DC0 46000021 */ cvt.d.s $f0, $f0 +/* B7AE14 80240DC4 4620103C */ c.lt.d $f2, $f0 +/* B7AE18 80240DC8 00000000 */ nop +/* B7AE1C 80240DCC 45000021 */ bc1f .L80240E54 +/* B7AE20 80240DD0 27A50028 */ addiu $a1, $sp, 0x28 +/* B7AE24 80240DD4 C6600038 */ lwc1 $f0, 0x38($s3) +/* B7AE28 80240DD8 C662003C */ lwc1 $f2, 0x3c($s3) +/* B7AE2C 80240DDC C6640040 */ lwc1 $f4, 0x40($s3) +/* B7AE30 80240DE0 C6660018 */ lwc1 $f6, 0x18($s3) +/* B7AE34 80240DE4 E7A00028 */ swc1 $f0, 0x28($sp) +/* B7AE38 80240DE8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B7AE3C 80240DEC E7A40030 */ swc1 $f4, 0x30($sp) +/* B7AE40 80240DF0 E7A60010 */ swc1 $f6, 0x10($sp) +/* B7AE44 80240DF4 C660000C */ lwc1 $f0, 0xc($s3) +/* B7AE48 80240DF8 E7A00014 */ swc1 $f0, 0x14($sp) +/* B7AE4C 80240DFC 866200A8 */ lh $v0, 0xa8($s3) +/* B7AE50 80240E00 44820000 */ mtc1 $v0, $f0 +/* B7AE54 80240E04 00000000 */ nop +/* B7AE58 80240E08 46800020 */ cvt.s.w $f0, $f0 +/* B7AE5C 80240E0C E7A00018 */ swc1 $f0, 0x18($sp) +/* B7AE60 80240E10 866200A6 */ lh $v0, 0xa6($s3) +/* B7AE64 80240E14 27A6002C */ addiu $a2, $sp, 0x2c +/* B7AE68 80240E18 44820000 */ mtc1 $v0, $f0 +/* B7AE6C 80240E1C 00000000 */ nop +/* B7AE70 80240E20 46800020 */ cvt.s.w $f0, $f0 +/* B7AE74 80240E24 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B7AE78 80240E28 8E640080 */ lw $a0, 0x80($s3) +/* B7AE7C 80240E2C 0C037711 */ jal func_800DDC44 +/* B7AE80 80240E30 27A70030 */ addiu $a3, $sp, 0x30 +/* B7AE84 80240E34 10400003 */ beqz $v0, .L80240E44 +/* B7AE88 80240E38 00000000 */ nop +/* B7AE8C 80240E3C 08090395 */ j .L80240E54 +/* B7AE90 80240E40 AE600018 */ sw $zero, 0x18($s3) +.L80240E44: +/* B7AE94 80240E44 8E650018 */ lw $a1, 0x18($s3) +/* B7AE98 80240E48 8E66000C */ lw $a2, 0xc($s3) +/* B7AE9C 80240E4C 0C00EA95 */ jal npc_move_heading +/* B7AEA0 80240E50 0260202D */ daddu $a0, $s3, $zero +.L80240E54: +/* B7AEA4 80240E54 C660001C */ lwc1 $f0, 0x1c($s3) +/* B7AEA8 80240E58 44801000 */ mtc1 $zero, $f2 +/* B7AEAC 80240E5C 44801800 */ mtc1 $zero, $f3 +/* B7AEB0 80240E60 46000021 */ cvt.d.s $f0, $f0 +/* B7AEB4 80240E64 4622003C */ c.lt.d $f0, $f2 +/* B7AEB8 80240E68 00000000 */ nop +/* B7AEBC 80240E6C 4500006C */ bc1f .L80241020 +/* B7AEC0 80240E70 27B00028 */ addiu $s0, $sp, 0x28 +/* B7AEC4 80240E74 0200282D */ daddu $a1, $s0, $zero +/* B7AEC8 80240E78 27A60034 */ addiu $a2, $sp, 0x34 +/* B7AECC 80240E7C 27B20038 */ addiu $s2, $sp, 0x38 +/* B7AED0 80240E80 C6600038 */ lwc1 $f0, 0x38($s3) +/* B7AED4 80240E84 3C0142C8 */ lui $at, 0x42c8 +/* B7AED8 80240E88 44811000 */ mtc1 $at, $f2 +/* B7AEDC 80240E8C C6640040 */ lwc1 $f4, 0x40($s3) +/* B7AEE0 80240E90 3C01447A */ lui $at, 0x447a +/* B7AEE4 80240E94 44813000 */ mtc1 $at, $f6 +/* B7AEE8 80240E98 27B10030 */ addiu $s1, $sp, 0x30 +/* B7AEEC 80240E9C E7A00028 */ swc1 $f0, 0x28($sp) +/* B7AEF0 80240EA0 E7A20034 */ swc1 $f2, 0x34($sp) +/* B7AEF4 80240EA4 E7A40030 */ swc1 $f4, 0x30($sp) +/* B7AEF8 80240EA8 E7A60038 */ swc1 $f6, 0x38($sp) +/* B7AEFC 80240EAC AFB20010 */ sw $s2, 0x10($sp) +/* B7AF00 80240EB0 8E640080 */ lw $a0, 0x80($s3) +/* B7AF04 80240EB4 0C0372DF */ jal func_800DCB7C +/* B7AF08 80240EB8 0220382D */ daddu $a3, $s1, $zero +/* B7AF0C 80240EBC 0200282D */ daddu $a1, $s0, $zero +/* B7AF10 80240EC0 27A6002C */ addiu $a2, $sp, 0x2c +/* B7AF14 80240EC4 C662003C */ lwc1 $f2, 0x3c($s3) +/* B7AF18 80240EC8 C6660038 */ lwc1 $f6, 0x38($s3) +/* B7AF1C 80240ECC 3C01402A */ lui $at, 0x402a +/* B7AF20 80240ED0 4481A800 */ mtc1 $at, $f21 +/* B7AF24 80240ED4 4480A000 */ mtc1 $zero, $f20 +/* B7AF28 80240ED8 460010A1 */ cvt.d.s $f2, $f2 +/* B7AF2C 80240EDC 46341080 */ add.d $f2, $f2, $f20 +/* B7AF30 80240EE0 C660001C */ lwc1 $f0, 0x1c($s3) +/* B7AF34 80240EE4 C6640040 */ lwc1 $f4, 0x40($s3) +/* B7AF38 80240EE8 46000005 */ abs.s $f0, $f0 +/* B7AF3C 80240EEC E7A40030 */ swc1 $f4, 0x30($sp) +/* B7AF40 80240EF0 3C014030 */ lui $at, 0x4030 +/* B7AF44 80240EF4 44812800 */ mtc1 $at, $f5 +/* B7AF48 80240EF8 44802000 */ mtc1 $zero, $f4 +/* B7AF4C 80240EFC 46000021 */ cvt.d.s $f0, $f0 +/* B7AF50 80240F00 E7A60028 */ swc1 $f6, 0x28($sp) +/* B7AF54 80240F04 46240000 */ add.d $f0, $f0, $f4 +/* B7AF58 80240F08 462010A0 */ cvt.s.d $f2, $f2 +/* B7AF5C 80240F0C E7A2002C */ swc1 $f2, 0x2c($sp) +/* B7AF60 80240F10 46200020 */ cvt.s.d $f0, $f0 +/* B7AF64 80240F14 E7A00038 */ swc1 $f0, 0x38($sp) +/* B7AF68 80240F18 AFB20010 */ sw $s2, 0x10($sp) +/* B7AF6C 80240F1C 8E640080 */ lw $a0, 0x80($s3) +/* B7AF70 80240F20 0C0372DF */ jal func_800DCB7C +/* B7AF74 80240F24 0220382D */ daddu $a3, $s1, $zero +/* B7AF78 80240F28 1040003D */ beqz $v0, .L80241020 +/* B7AF7C 80240F2C 00000000 */ nop +/* B7AF80 80240F30 C660001C */ lwc1 $f0, 0x1c($s3) +/* B7AF84 80240F34 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B7AF88 80240F38 46000005 */ abs.s $f0, $f0 +/* B7AF8C 80240F3C 46000021 */ cvt.d.s $f0, $f0 +/* B7AF90 80240F40 46340000 */ add.d $f0, $f0, $f20 +/* B7AF94 80240F44 460010A1 */ cvt.d.s $f2, $f2 +/* B7AF98 80240F48 4620103E */ c.le.d $f2, $f0 +/* B7AF9C 80240F4C 00000000 */ nop +/* B7AFA0 80240F50 45000033 */ bc1f .L80241020 +/* B7AFA4 80240F54 2403F7FF */ addiu $v1, $zero, -0x801 +/* B7AFA8 80240F58 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B7AFAC 80240F5C 8E620000 */ lw $v0, ($s3) +/* B7AFB0 80240F60 AE60001C */ sw $zero, 0x1c($s3) +/* B7AFB4 80240F64 00431024 */ and $v0, $v0, $v1 +/* B7AFB8 80240F68 E660003C */ swc1 $f0, 0x3c($s3) +/* B7AFBC 80240F6C AE620000 */ sw $v0, ($s3) +/* B7AFC0 80240F70 AFA00010 */ sw $zero, 0x10($sp) +/* B7AFC4 80240F74 AFA00014 */ sw $zero, 0x14($sp) +/* B7AFC8 80240F78 8E650038 */ lw $a1, 0x38($s3) +/* B7AFCC 80240F7C 8E66003C */ lw $a2, 0x3c($s3) +/* B7AFD0 80240F80 8E670040 */ lw $a3, 0x40($s3) +/* B7AFD4 80240F84 0C01BECC */ jal fx_walk_normal +/* B7AFD8 80240F88 24040002 */ addiu $a0, $zero, 2 +/* B7AFDC 80240F8C 02E0202D */ daddu $a0, $s7, $zero +/* B7AFE0 80240F90 2402000C */ addiu $v0, $zero, 0xc +/* B7AFE4 80240F94 AE820070 */ sw $v0, 0x70($s4) +/* B7AFE8 80240F98 24020001 */ addiu $v0, $zero, 1 +/* B7AFEC 80240F9C AFA20010 */ sw $v0, 0x10($sp) +/* B7AFF0 80240FA0 8EC60024 */ lw $a2, 0x24($s6) +/* B7AFF4 80240FA4 8EC70028 */ lw $a3, 0x28($s6) +/* B7AFF8 80240FA8 0C01242D */ jal func_800490B4 +/* B7AFFC 80240FAC 02A0282D */ daddu $a1, $s5, $zero +/* B7B000 80240FB0 14400022 */ bnez $v0, .L8024103C +/* B7B004 80240FB4 24040002 */ addiu $a0, $zero, 2 +/* B7B008 80240FB8 0260282D */ daddu $a1, $s3, $zero +/* B7B00C 80240FBC 0000302D */ daddu $a2, $zero, $zero +/* B7B010 80240FC0 866300A8 */ lh $v1, 0xa8($s3) +/* B7B014 80240FC4 3C013F80 */ lui $at, 0x3f80 +/* B7B018 80240FC8 44810000 */ mtc1 $at, $f0 +/* B7B01C 80240FCC 3C014000 */ lui $at, 0x4000 +/* B7B020 80240FD0 44811000 */ mtc1 $at, $f2 +/* B7B024 80240FD4 3C01C1A0 */ lui $at, 0xc1a0 +/* B7B028 80240FD8 44812000 */ mtc1 $at, $f4 +/* B7B02C 80240FDC 2402000F */ addiu $v0, $zero, 0xf +/* B7B030 80240FE0 AFA2001C */ sw $v0, 0x1c($sp) +/* B7B034 80240FE4 44834000 */ mtc1 $v1, $f8 +/* B7B038 80240FE8 00000000 */ nop +/* B7B03C 80240FEC 46804220 */ cvt.s.w $f8, $f8 +/* B7B040 80240FF0 44074000 */ mfc1 $a3, $f8 +/* B7B044 80240FF4 27A2003C */ addiu $v0, $sp, 0x3c +/* B7B048 80240FF8 AFA20020 */ sw $v0, 0x20($sp) +/* B7B04C 80240FFC E7A00010 */ swc1 $f0, 0x10($sp) +/* B7B050 80241000 E7A20014 */ swc1 $f2, 0x14($sp) +/* B7B054 80241004 0C01BFA4 */ jal fx_emote +/* B7B058 80241008 E7A40018 */ swc1 $f4, 0x18($sp) +/* B7B05C 8024100C 24020019 */ addiu $v0, $zero, 0x19 +/* B7B060 80241010 A662008E */ sh $v0, 0x8e($s3) +/* B7B064 80241014 2402000E */ addiu $v0, $zero, 0xe +/* B7B068 80241018 0809040F */ j .L8024103C +/* B7B06C 8024101C AE820070 */ sw $v0, 0x70($s4) +.L80241020: +/* B7B070 80241020 C664003C */ lwc1 $f4, 0x3c($s3) +/* B7B074 80241024 C660001C */ lwc1 $f0, 0x1c($s3) +/* B7B078 80241028 46002100 */ add.s $f4, $f4, $f0 +/* B7B07C 8024102C C6620014 */ lwc1 $f2, 0x14($s3) +/* B7B080 80241030 46020001 */ sub.s $f0, $f0, $f2 +/* B7B084 80241034 E664003C */ swc1 $f4, 0x3c($s3) +/* B7B088 80241038 E660001C */ swc1 $f0, 0x1c($s3) +.L8024103C: +/* B7B08C 8024103C 8FBF0060 */ lw $ra, 0x60($sp) +/* B7B090 80241040 8FB7005C */ lw $s7, 0x5c($sp) +/* B7B094 80241044 8FB60058 */ lw $s6, 0x58($sp) +/* B7B098 80241048 8FB50054 */ lw $s5, 0x54($sp) +/* B7B09C 8024104C 8FB40050 */ lw $s4, 0x50($sp) +/* B7B0A0 80241050 8FB3004C */ lw $s3, 0x4c($sp) +/* B7B0A4 80241054 8FB20048 */ lw $s2, 0x48($sp) +/* B7B0A8 80241058 8FB10044 */ lw $s1, 0x44($sp) +/* B7B0AC 8024105C 8FB00040 */ lw $s0, 0x40($sp) +/* B7B0B0 80241060 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B7B0B4 80241064 03E00008 */ jr $ra +/* B7B0B8 80241068 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_8024106C_B7A050.s b/asm/nonmatchings/world/area_jan/jan_14/func_8024106C_B7A050.s new file mode 100644 index 0000000000..76d8372fc7 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_8024106C_B7A050.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024106C_B7B0BC +/* B7B0BC 8024106C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B7B0C0 80241070 AFB00010 */ sw $s0, 0x10($sp) +/* B7B0C4 80241074 0080802D */ daddu $s0, $a0, $zero +/* B7B0C8 80241078 AFBF0014 */ sw $ra, 0x14($sp) +/* B7B0CC 8024107C 8E020148 */ lw $v0, 0x148($s0) +/* B7B0D0 80241080 0C00EABB */ jal get_npc_unsafe +/* B7B0D4 80241084 84440008 */ lh $a0, 8($v0) +/* B7B0D8 80241088 9443008E */ lhu $v1, 0x8e($v0) +/* B7B0DC 8024108C 2463FFFF */ addiu $v1, $v1, -1 +/* B7B0E0 80241090 A443008E */ sh $v1, 0x8e($v0) +/* B7B0E4 80241094 00031C00 */ sll $v1, $v1, 0x10 +/* B7B0E8 80241098 58600001 */ blezl $v1, .L802410A0 +/* B7B0EC 8024109C AE000070 */ sw $zero, 0x70($s0) +.L802410A0: +/* B7B0F0 802410A0 8FBF0014 */ lw $ra, 0x14($sp) +/* B7B0F4 802410A4 8FB00010 */ lw $s0, 0x10($sp) +/* B7B0F8 802410A8 03E00008 */ jr $ra +/* B7B0FC 802410AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_14/func_802410B0.s b/asm/nonmatchings/world/area_jan/jan_14/func_802410B0.s new file mode 100644 index 0000000000..23e684df30 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_14/func_802410B0.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B0 +/* B7B100 802410B0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B7B104 802410B4 AFB3003C */ sw $s3, 0x3c($sp) +/* B7B108 802410B8 0080982D */ daddu $s3, $a0, $zero +/* B7B10C 802410BC AFBF0048 */ sw $ra, 0x48($sp) +/* B7B110 802410C0 AFB50044 */ sw $s5, 0x44($sp) +/* B7B114 802410C4 AFB40040 */ sw $s4, 0x40($sp) +/* B7B118 802410C8 AFB20038 */ sw $s2, 0x38($sp) +/* B7B11C 802410CC AFB10034 */ sw $s1, 0x34($sp) +/* B7B120 802410D0 AFB00030 */ sw $s0, 0x30($sp) +/* B7B124 802410D4 8E720148 */ lw $s2, 0x148($s3) +/* B7B128 802410D8 86440008 */ lh $a0, 8($s2) +/* B7B12C 802410DC 8E70000C */ lw $s0, 0xc($s3) +/* B7B130 802410E0 0C00EABB */ jal get_npc_unsafe +/* B7B134 802410E4 00A0882D */ daddu $s1, $a1, $zero +/* B7B138 802410E8 8E050000 */ lw $a1, ($s0) +/* B7B13C 802410EC 26100004 */ addiu $s0, $s0, 4 +/* B7B140 802410F0 0260202D */ daddu $a0, $s3, $zero +/* B7B144 802410F4 0C0B1EAF */ jal get_variable +/* B7B148 802410F8 0040A82D */ daddu $s5, $v0, $zero +/* B7B14C 802410FC 0260202D */ daddu $a0, $s3, $zero +/* B7B150 80241100 8E050000 */ lw $a1, ($s0) +/* B7B154 80241104 0C0B1EAF */ jal get_variable +/* B7B158 80241108 0040A02D */ daddu $s4, $v0, $zero +/* B7B15C 8024110C AE420094 */ sw $v0, 0x94($s2) +/* B7B160 80241110 AFA00010 */ sw $zero, 0x10($sp) +/* B7B164 80241114 8E4200D0 */ lw $v0, 0xd0($s2) +/* B7B168 80241118 8C420030 */ lw $v0, 0x30($v0) +/* B7B16C 8024111C AFA20014 */ sw $v0, 0x14($sp) +/* B7B170 80241120 8E4200D0 */ lw $v0, 0xd0($s2) +/* B7B174 80241124 8C42001C */ lw $v0, 0x1c($v0) +/* B7B178 80241128 AFA20018 */ sw $v0, 0x18($sp) +/* B7B17C 8024112C 8E4200D0 */ lw $v0, 0xd0($s2) +/* B7B180 80241130 8C420024 */ lw $v0, 0x24($v0) +/* B7B184 80241134 AFA2001C */ sw $v0, 0x1c($sp) +/* B7B188 80241138 8E4200D0 */ lw $v0, 0xd0($s2) +/* B7B18C 8024113C 8C420028 */ lw $v0, 0x28($v0) +/* B7B190 80241140 AFA20020 */ sw $v0, 0x20($sp) +/* B7B194 80241144 8E4200D0 */ lw $v0, 0xd0($s2) +/* B7B198 80241148 3C0142C8 */ lui $at, 0x42c8 +/* B7B19C 8024114C 44810000 */ mtc1 $at, $f0 +/* B7B1A0 80241150 8C42002C */ lw $v0, 0x2c($v0) +/* B7B1A4 80241154 27B00010 */ addiu $s0, $sp, 0x10 +/* B7B1A8 80241158 E7A00028 */ swc1 $f0, 0x28($sp) +/* B7B1AC 8024115C A7A0002C */ sh $zero, 0x2c($sp) +/* B7B1B0 80241160 12200019 */ beqz $s1, .L802411C8 +/* B7B1B4 80241164 AFA20024 */ sw $v0, 0x24($sp) +/* B7B1B8 80241168 AE600070 */ sw $zero, 0x70($s3) +/* B7B1BC 8024116C A6A0008E */ sh $zero, 0x8e($s5) +/* B7B1C0 80241170 AE600074 */ sw $zero, 0x74($s3) +/* B7B1C4 80241174 8EA20000 */ lw $v0, ($s5) +/* B7B1C8 80241178 2403F7FF */ addiu $v1, $zero, -0x801 +/* B7B1CC 8024117C 00431024 */ and $v0, $v0, $v1 +/* B7B1D0 80241180 2403FDFF */ addiu $v1, $zero, -0x201 +/* B7B1D4 80241184 00431024 */ and $v0, $v0, $v1 +/* B7B1D8 80241188 34420008 */ ori $v0, $v0, 8 +/* B7B1DC 8024118C AEA20000 */ sw $v0, ($s5) +/* B7B1E0 80241190 8E4200B0 */ lw $v0, 0xb0($s2) +/* B7B1E4 80241194 34420018 */ ori $v0, $v0, 0x18 +/* B7B1E8 80241198 AE4200B0 */ sw $v0, 0xb0($s2) +/* B7B1EC 8024119C 8E420000 */ lw $v0, ($s2) +/* B7B1F0 802411A0 3C034000 */ lui $v1, 0x4000 +/* B7B1F4 802411A4 00431024 */ and $v0, $v0, $v1 +/* B7B1F8 802411A8 10400007 */ beqz $v0, .L802411C8 +/* B7B1FC 802411AC 3C03BFFF */ lui $v1, 0xbfff +/* B7B200 802411B0 2402000C */ addiu $v0, $zero, 0xc +/* B7B204 802411B4 AE620070 */ sw $v0, 0x70($s3) +/* B7B208 802411B8 8E420000 */ lw $v0, ($s2) +/* B7B20C 802411BC 3463FFFF */ ori $v1, $v1, 0xffff +/* B7B210 802411C0 00431024 */ and $v0, $v0, $v1 +/* B7B214 802411C4 AE420000 */ sw $v0, ($s2) +.L802411C8: +/* B7B218 802411C8 8E4300B0 */ lw $v1, 0xb0($s2) +/* B7B21C 802411CC 30620004 */ andi $v0, $v1, 4 +/* B7B220 802411D0 10400007 */ beqz $v0, .L802411F0 +/* B7B224 802411D4 00000000 */ nop +/* B7B228 802411D8 824200B4 */ lb $v0, 0xb4($s2) +/* B7B22C 802411DC 14400034 */ bnez $v0, .L802412B0 +/* B7B230 802411E0 0000102D */ daddu $v0, $zero, $zero +/* B7B234 802411E4 2402FFFB */ addiu $v0, $zero, -5 +/* B7B238 802411E8 00621024 */ and $v0, $v1, $v0 +/* B7B23C 802411EC AE4200B0 */ sw $v0, 0xb0($s2) +.L802411F0: +/* B7B240 802411F0 8E630070 */ lw $v1, 0x70($s3) +/* B7B244 802411F4 2C62000F */ sltiu $v0, $v1, 0xf +/* B7B248 802411F8 1040002C */ beqz $v0, .L802412AC +/* B7B24C 802411FC 00031080 */ sll $v0, $v1, 2 +/* B7B250 80241200 3C018024 */ lui $at, 0x8024 +/* B7B254 80241204 00220821 */ addu $at, $at, $v0 +/* B7B258 80241208 8C223888 */ lw $v0, 0x3888($at) +/* B7B25C 8024120C 00400008 */ jr $v0 +/* B7B260 80241210 00000000 */ nop +/* B7B264 80241214 0260202D */ daddu $a0, $s3, $zero +/* B7B268 80241218 0280282D */ daddu $a1, $s4, $zero +/* B7B26C 8024121C 0C090130 */ jal func_802404C0 +/* B7B270 80241220 0200302D */ daddu $a2, $s0, $zero +/* B7B274 80241224 0260202D */ daddu $a0, $s3, $zero +/* B7B278 80241228 0280282D */ daddu $a1, $s4, $zero +/* B7B27C 8024122C 0C0901BC */ jal func_802406F0 +/* B7B280 80241230 0200302D */ daddu $a2, $s0, $zero +/* B7B284 80241234 080904AC */ j .L802412B0 +/* B7B288 80241238 0000102D */ daddu $v0, $zero, $zero +/* B7B28C 8024123C 0260202D */ daddu $a0, $s3, $zero +/* B7B290 80241240 0280282D */ daddu $a1, $s4, $zero +/* B7B294 80241244 0C09028A */ jal func_80240A28 +/* B7B298 80241248 0200302D */ daddu $a2, $s0, $zero +/* B7B29C 8024124C 8E630070 */ lw $v1, 0x70($s3) +/* B7B2A0 80241250 24020003 */ addiu $v0, $zero, 3 +/* B7B2A4 80241254 14620016 */ bne $v1, $v0, .L802412B0 +/* B7B2A8 80241258 0000102D */ daddu $v0, $zero, $zero +/* B7B2AC 8024125C 0260202D */ daddu $a0, $s3, $zero +/* B7B2B0 80241260 0280282D */ daddu $a1, $s4, $zero +/* B7B2B4 80241264 0C0902BA */ jal func_80240AE8 +/* B7B2B8 80241268 0200302D */ daddu $a2, $s0, $zero +/* B7B2BC 8024126C 080904AC */ j .L802412B0 +/* B7B2C0 80241270 0000102D */ daddu $v0, $zero, $zero +/* B7B2C4 80241274 0260202D */ daddu $a0, $s3, $zero +/* B7B2C8 80241278 0280282D */ daddu $a1, $s4, $zero +/* B7B2CC 8024127C 0C090323 */ jal func_80240C8C +/* B7B2D0 80241280 0200302D */ daddu $a2, $s0, $zero +/* B7B2D4 80241284 0260202D */ daddu $a0, $s3, $zero +/* B7B2D8 80241288 0280282D */ daddu $a1, $s4, $zero +/* B7B2DC 8024128C 0C09035B */ jal func_80240D6C +/* B7B2E0 80241290 0200302D */ daddu $a2, $s0, $zero +/* B7B2E4 80241294 080904AC */ j .L802412B0 +/* B7B2E8 80241298 0000102D */ daddu $v0, $zero, $zero +/* B7B2EC 8024129C 0260202D */ daddu $a0, $s3, $zero +/* B7B2F0 802412A0 0280282D */ daddu $a1, $s4, $zero +/* B7B2F4 802412A4 0C09041B */ jal func_8024106C +/* B7B2F8 802412A8 0200302D */ daddu $a2, $s0, $zero +.L802412AC: +/* B7B2FC 802412AC 0000102D */ daddu $v0, $zero, $zero +.L802412B0: +/* B7B300 802412B0 8FBF0048 */ lw $ra, 0x48($sp) +/* B7B304 802412B4 8FB50044 */ lw $s5, 0x44($sp) +/* B7B308 802412B8 8FB40040 */ lw $s4, 0x40($sp) +/* B7B30C 802412BC 8FB3003C */ lw $s3, 0x3c($sp) +/* B7B310 802412C0 8FB20038 */ lw $s2, 0x38($sp) +/* B7B314 802412C4 8FB10034 */ lw $s1, 0x34($sp) +/* B7B318 802412C8 8FB00030 */ lw $s0, 0x30($sp) +/* B7B31C 802412CC 03E00008 */ jr $ra +/* B7B320 802412D0 27BD0050 */ addiu $sp, $sp, 0x50 +/* B7B324 802412D4 00000000 */ nop +/* B7B328 802412D8 00000000 */ nop +/* B7B32C 802412DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_15/func_80240000_B7D920.s b/asm/nonmatchings/world/area_jan/jan_15/func_80240000_B7D920.s new file mode 100644 index 0000000000..39d7d17963 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_15/func_80240000_B7D920.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B7D920 +/* B7D920 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B7D924 80240004 AFBF0020 */ sw $ra, 0x20($sp) +/* B7D928 80240008 AFB1001C */ sw $s1, 0x1c($sp) +/* B7D92C 8024000C AFB00018 */ sw $s0, 0x18($sp) +/* B7D930 80240010 8C910148 */ lw $s1, 0x148($a0) +/* B7D934 80240014 0C00EABB */ jal get_npc_unsafe +/* B7D938 80240018 86240008 */ lh $a0, 8($s1) +/* B7D93C 8024001C 8E23006C */ lw $v1, 0x6c($s1) +/* B7D940 80240020 28630005 */ slti $v1, $v1, 5 +/* B7D944 80240024 1060001D */ beqz $v1, .L8024009C +/* B7D948 80240028 0040802D */ daddu $s0, $v0, $zero +/* B7D94C 8024002C 0C00A67F */ jal rand_int +/* B7D950 80240030 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B7D954 80240034 2842012D */ slti $v0, $v0, 0x12d +/* B7D958 80240038 14400018 */ bnez $v0, .L8024009C +/* B7D95C 8024003C 24020003 */ addiu $v0, $zero, 3 +/* B7D960 80240040 860300A8 */ lh $v1, 0xa8($s0) +/* B7D964 80240044 C604003C */ lwc1 $f4, 0x3c($s0) +/* B7D968 80240048 C6000040 */ lwc1 $f0, 0x40($s0) +/* B7D96C 8024004C 3C014014 */ lui $at, 0x4014 +/* B7D970 80240050 44811800 */ mtc1 $at, $f3 +/* B7D974 80240054 44801000 */ mtc1 $zero, $f2 +/* B7D978 80240058 AFA20010 */ sw $v0, 0x10($sp) +/* B7D97C 8024005C 46000021 */ cvt.d.s $f0, $f0 +/* B7D980 80240060 46220000 */ add.d $f0, $f0, $f2 +/* B7D984 80240064 AFA00014 */ sw $zero, 0x14($sp) +/* B7D988 80240068 44831000 */ mtc1 $v1, $f2 +/* B7D98C 8024006C 00000000 */ nop +/* B7D990 80240070 468010A0 */ cvt.s.w $f2, $f2 +/* B7D994 80240074 46022100 */ add.s $f4, $f4, $f2 +/* B7D998 80240078 8E050038 */ lw $a1, 0x38($s0) +/* B7D99C 8024007C 46200020 */ cvt.s.d $f0, $f0 +/* B7D9A0 80240080 44062000 */ mfc1 $a2, $f4 +/* B7D9A4 80240084 44070000 */ mfc1 $a3, $f0 +/* B7D9A8 80240088 0C04C6A5 */ jal make_item_entity_nodelay +/* B7D9AC 8024008C 24040156 */ addiu $a0, $zero, 0x156 +/* B7D9B0 80240090 8E22006C */ lw $v0, 0x6c($s1) +/* B7D9B4 80240094 24420001 */ addiu $v0, $v0, 1 +/* B7D9B8 80240098 AE22006C */ sw $v0, 0x6c($s1) +.L8024009C: +/* B7D9BC 8024009C 8FBF0020 */ lw $ra, 0x20($sp) +/* B7D9C0 802400A0 8FB1001C */ lw $s1, 0x1c($sp) +/* B7D9C4 802400A4 8FB00018 */ lw $s0, 0x18($sp) +/* B7D9C8 802400A8 24020002 */ addiu $v0, $zero, 2 +/* B7D9CC 802400AC 03E00008 */ jr $ra +/* B7D9D0 802400B0 27BD0028 */ addiu $sp, $sp, 0x28 +/* B7D9D4 802400B4 00000000 */ nop +/* B7D9D8 802400B8 00000000 */ nop +/* B7D9DC 802400BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_15/func_802400C0_B7D920.s b/asm/nonmatchings/world/area_jan/jan_15/func_802400C0_B7D920.s new file mode 100644 index 0000000000..32e25cac26 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_15/func_802400C0_B7D920.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C0_B7D9E0 +/* B7D9E0 802400C0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B7D9E4 802400C4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B7D9E8 802400C8 4485A000 */ mtc1 $a1, $f20 +/* B7D9EC 802400CC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B7D9F0 802400D0 4486B000 */ mtc1 $a2, $f22 +/* B7D9F4 802400D4 AFB00010 */ sw $s0, 0x10($sp) +/* B7D9F8 802400D8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B7D9FC 802400DC 4487C000 */ mtc1 $a3, $f24 +/* B7DA00 802400E0 AFBF0014 */ sw $ra, 0x14($sp) +/* B7DA04 802400E4 0C019D28 */ jal guMtxIdentF +/* B7DA08 802400E8 0080802D */ daddu $s0, $a0, $zero +/* B7DA0C 802400EC 4616A582 */ mul.s $f22, $f20, $f22 +/* B7DA10 802400F0 00000000 */ nop +/* B7DA14 802400F4 4618A502 */ mul.s $f20, $f20, $f24 +/* B7DA18 802400F8 00000000 */ nop +/* B7DA1C 802400FC 3C013F80 */ lui $at, 0x3f80 +/* B7DA20 80240100 44810000 */ mtc1 $at, $f0 +/* B7DA24 80240104 00000000 */ nop +/* B7DA28 80240108 E6000014 */ swc1 $f0, 0x14($s0) +/* B7DA2C 8024010C E6160010 */ swc1 $f22, 0x10($s0) +/* B7DA30 80240110 E6140018 */ swc1 $f20, 0x18($s0) +/* B7DA34 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* B7DA38 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* B7DA3C 8024011C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B7DA40 80240120 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B7DA44 80240124 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B7DA48 80240128 03E00008 */ jr $ra +/* B7DA4C 8024012C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_15/func_80240130.s b/asm/nonmatchings/world/area_jan/jan_15/func_80240130.s new file mode 100644 index 0000000000..cd0925256c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_15/func_80240130.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240130 +/* B7DA50 80240130 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B7DA54 80240134 AFB10054 */ sw $s1, 0x54($sp) +/* B7DA58 80240138 0080882D */ daddu $s1, $a0, $zero +/* B7DA5C 8024013C AFBF005C */ sw $ra, 0x5c($sp) +/* B7DA60 80240140 AFB20058 */ sw $s2, 0x58($sp) +/* B7DA64 80240144 AFB00050 */ sw $s0, 0x50($sp) +/* B7DA68 80240148 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B7DA6C 8024014C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B7DA70 80240150 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B7DA74 80240154 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B7DA78 80240158 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B7DA7C 8024015C 8E30000C */ lw $s0, 0xc($s1) +/* B7DA80 80240160 8E050000 */ lw $a1, ($s0) +/* B7DA84 80240164 0C0B1EAF */ jal get_variable +/* B7DA88 80240168 26100004 */ addiu $s0, $s0, 4 +/* B7DA8C 8024016C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B7DA90 80240170 0040202D */ daddu $a0, $v0, $zero +/* B7DA94 80240174 8E050000 */ lw $a1, ($s0) +/* B7DA98 80240178 26100004 */ addiu $s0, $s0, 4 +/* B7DA9C 8024017C 0220202D */ daddu $a0, $s1, $zero +/* B7DAA0 80240180 0C0B210B */ jal get_float_variable +/* B7DAA4 80240184 0040902D */ daddu $s2, $v0, $zero +/* B7DAA8 80240188 8E050000 */ lw $a1, ($s0) +/* B7DAAC 8024018C 26100004 */ addiu $s0, $s0, 4 +/* B7DAB0 80240190 0220202D */ daddu $a0, $s1, $zero +/* B7DAB4 80240194 0C0B210B */ jal get_float_variable +/* B7DAB8 80240198 46000706 */ mov.s $f28, $f0 +/* B7DABC 8024019C 8E050000 */ lw $a1, ($s0) +/* B7DAC0 802401A0 26100004 */ addiu $s0, $s0, 4 +/* B7DAC4 802401A4 0220202D */ daddu $a0, $s1, $zero +/* B7DAC8 802401A8 0C0B210B */ jal get_float_variable +/* B7DACC 802401AC 46000686 */ mov.s $f26, $f0 +/* B7DAD0 802401B0 0220202D */ daddu $a0, $s1, $zero +/* B7DAD4 802401B4 8E050000 */ lw $a1, ($s0) +/* B7DAD8 802401B8 0C0B210B */ jal get_float_variable +/* B7DADC 802401BC 46000586 */ mov.s $f22, $f0 +/* B7DAE0 802401C0 0240202D */ daddu $a0, $s2, $zero +/* B7DAE4 802401C4 0C046B4C */ jal get_model_from_list_index +/* B7DAE8 802401C8 46000606 */ mov.s $f24, $f0 +/* B7DAEC 802401CC 0040882D */ daddu $s1, $v0, $zero +/* B7DAF0 802401D0 96220000 */ lhu $v0, ($s1) +/* B7DAF4 802401D4 30420400 */ andi $v0, $v0, 0x400 +/* B7DAF8 802401D8 1440001E */ bnez $v0, .L80240254 +/* B7DAFC 802401DC 26300058 */ addiu $s0, $s1, 0x58 +/* B7DB00 802401E0 4480A000 */ mtc1 $zero, $f20 +/* B7DB04 802401E4 4406B000 */ mfc1 $a2, $f22 +/* B7DB08 802401E8 4405A000 */ mfc1 $a1, $f20 +/* B7DB0C 802401EC 4407A000 */ mfc1 $a3, $f20 +/* B7DB10 802401F0 0C019E40 */ jal guTranslateF +/* B7DB14 802401F4 0200202D */ daddu $a0, $s0, $zero +/* B7DB18 802401F8 4405E000 */ mfc1 $a1, $f28 +/* B7DB1C 802401FC 4406D000 */ mfc1 $a2, $f26 +/* B7DB20 80240200 4407C000 */ mfc1 $a3, $f24 +/* B7DB24 80240204 0C090030 */ jal func_802400C0 +/* B7DB28 80240208 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB2C 8024020C 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB30 80240210 0200282D */ daddu $a1, $s0, $zero +/* B7DB34 80240214 0C019D80 */ jal guMtxCatF +/* B7DB38 80240218 0200302D */ daddu $a2, $s0, $zero +/* B7DB3C 8024021C 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB40 80240220 4600B587 */ neg.s $f22, $f22 +/* B7DB44 80240224 4405A000 */ mfc1 $a1, $f20 +/* B7DB48 80240228 4406B000 */ mfc1 $a2, $f22 +/* B7DB4C 8024022C 0C019E40 */ jal guTranslateF +/* B7DB50 80240230 00A0382D */ daddu $a3, $a1, $zero +/* B7DB54 80240234 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB58 80240238 0200282D */ daddu $a1, $s0, $zero +/* B7DB5C 8024023C 0C019D80 */ jal guMtxCatF +/* B7DB60 80240240 00A0302D */ daddu $a2, $a1, $zero +/* B7DB64 80240244 96220000 */ lhu $v0, ($s1) +/* B7DB68 80240248 34421400 */ ori $v0, $v0, 0x1400 +/* B7DB6C 8024024C 080900B3 */ j .L802402CC +/* B7DB70 80240250 A6220000 */ sh $v0, ($s1) +.L80240254: +/* B7DB74 80240254 4480A000 */ mtc1 $zero, $f20 +/* B7DB78 80240258 4406B000 */ mfc1 $a2, $f22 +/* B7DB7C 8024025C 4405A000 */ mfc1 $a1, $f20 +/* B7DB80 80240260 4407A000 */ mfc1 $a3, $f20 +/* B7DB84 80240264 0C019E40 */ jal guTranslateF +/* B7DB88 80240268 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB8C 8024026C 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DB90 80240270 26300058 */ addiu $s0, $s1, 0x58 +/* B7DB94 80240274 0200282D */ daddu $a1, $s0, $zero +/* B7DB98 80240278 0C019D80 */ jal guMtxCatF +/* B7DB9C 8024027C 0200302D */ daddu $a2, $s0, $zero +/* B7DBA0 80240280 4405E000 */ mfc1 $a1, $f28 +/* B7DBA4 80240284 4406D000 */ mfc1 $a2, $f26 +/* B7DBA8 80240288 4407C000 */ mfc1 $a3, $f24 +/* B7DBAC 8024028C 0C090030 */ jal func_802400C0 +/* B7DBB0 80240290 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DBB4 80240294 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DBB8 80240298 0200282D */ daddu $a1, $s0, $zero +/* B7DBBC 8024029C 0C019D80 */ jal guMtxCatF +/* B7DBC0 802402A0 0200302D */ daddu $a2, $s0, $zero +/* B7DBC4 802402A4 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DBC8 802402A8 4600B587 */ neg.s $f22, $f22 +/* B7DBCC 802402AC 4405A000 */ mfc1 $a1, $f20 +/* B7DBD0 802402B0 4406B000 */ mfc1 $a2, $f22 +/* B7DBD4 802402B4 0C019E40 */ jal guTranslateF +/* B7DBD8 802402B8 00A0382D */ daddu $a3, $a1, $zero +/* B7DBDC 802402BC 27A40010 */ addiu $a0, $sp, 0x10 +/* B7DBE0 802402C0 0200282D */ daddu $a1, $s0, $zero +/* B7DBE4 802402C4 0C019D80 */ jal guMtxCatF +/* B7DBE8 802402C8 00A0302D */ daddu $a2, $a1, $zero +.L802402CC: +/* B7DBEC 802402CC 8FBF005C */ lw $ra, 0x5c($sp) +/* B7DBF0 802402D0 8FB20058 */ lw $s2, 0x58($sp) +/* B7DBF4 802402D4 8FB10054 */ lw $s1, 0x54($sp) +/* B7DBF8 802402D8 8FB00050 */ lw $s0, 0x50($sp) +/* B7DBFC 802402DC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B7DC00 802402E0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B7DC04 802402E4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B7DC08 802402E8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B7DC0C 802402EC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B7DC10 802402F0 24020002 */ addiu $v0, $zero, 2 +/* B7DC14 802402F4 03E00008 */ jr $ra +/* B7DC18 802402F8 27BD0088 */ addiu $sp, $sp, 0x88 +/* B7DC1C 802402FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_16/func_80240000_B80000.s b/asm/nonmatchings/world/area_jan/jan_16/func_80240000_B80000.s new file mode 100644 index 0000000000..6d4d8e19c4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_16/func_80240000_B80000.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B80000 +/* B80000 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B80004 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B80008 80240008 0080882D */ daddu $s1, $a0, $zero +/* B8000C 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* B80010 80240010 AFB20018 */ sw $s2, 0x18($sp) +/* B80014 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* B80018 80240018 8E30000C */ lw $s0, 0xc($s1) +/* B8001C 8024001C 8E050000 */ lw $a1, ($s0) +/* B80020 80240020 0C0B1EAF */ jal get_variable +/* B80024 80240024 26100004 */ addiu $s0, $s0, 4 +/* B80028 80240028 8E050000 */ lw $a1, ($s0) +/* B8002C 8024002C 26100004 */ addiu $s0, $s0, 4 +/* B80030 80240030 0220202D */ daddu $a0, $s1, $zero +/* B80034 80240034 0C0B1EAF */ jal get_variable +/* B80038 80240038 0040902D */ daddu $s2, $v0, $zero +/* B8003C 8024003C 0220202D */ daddu $a0, $s1, $zero +/* B80040 80240040 8E050000 */ lw $a1, ($s0) +/* B80044 80240044 0C0B1EAF */ jal get_variable +/* B80048 80240048 0040802D */ daddu $s0, $v0, $zero +/* B8004C 8024004C 0040882D */ daddu $s1, $v0, $zero +/* B80050 80240050 2402FFFF */ addiu $v0, $zero, -1 +/* B80054 80240054 16020005 */ bne $s0, $v0, .L8024006C +/* B80058 80240058 24020001 */ addiu $v0, $zero, 1 +/* B8005C 8024005C 0C04760B */ jal func_8011D82C +/* B80060 80240060 0220202D */ daddu $a0, $s1, $zero +/* B80064 80240064 08090043 */ j .L8024010C +/* B80068 80240068 24020002 */ addiu $v0, $zero, 2 +.L8024006C: +/* B8006C 8024006C 12420018 */ beq $s2, $v0, .L802400D0 +/* B80070 80240070 2A420002 */ slti $v0, $s2, 2 +/* B80074 80240074 10400005 */ beqz $v0, .L8024008C +/* B80078 80240078 24020002 */ addiu $v0, $zero, 2 +/* B8007C 8024007C 12400007 */ beqz $s2, .L8024009C +/* B80080 80240080 3412FFFF */ ori $s2, $zero, 0xffff +/* B80084 80240084 08090043 */ j .L8024010C +/* B80088 80240088 00000000 */ nop +.L8024008C: +/* B8008C 8024008C 1242001B */ beq $s2, $v0, .L802400FC +/* B80090 80240090 24020002 */ addiu $v0, $zero, 2 +/* B80094 80240094 08090043 */ j .L8024010C +/* B80098 80240098 00000000 */ nop +.L8024009C: +/* B8009C 8024009C 8E040000 */ lw $a0, ($s0) +/* B800A0 802400A0 1092001A */ beq $a0, $s2, .L8024010C +/* B800A4 802400A4 24020002 */ addiu $v0, $zero, 2 +/* B800A8 802400A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* B800AC 802400AC 26100004 */ addiu $s0, $s0, 4 +/* B800B0 802400B0 0C046B4C */ jal get_model_from_list_index +/* B800B4 802400B4 0040202D */ daddu $a0, $v0, $zero +/* B800B8 802400B8 0040202D */ daddu $a0, $v0, $zero +/* B800BC 802400BC 2405FFFF */ addiu $a1, $zero, -1 +/* B800C0 802400C0 0C046F1F */ jal func_8011BC7C +/* B800C4 802400C4 0220302D */ daddu $a2, $s1, $zero +/* B800C8 802400C8 08090027 */ j .L8024009C +/* B800CC 802400CC 00000000 */ nop +.L802400D0: +/* B800D0 802400D0 3412FFFF */ ori $s2, $zero, 0xffff +.L802400D4: +/* B800D4 802400D4 8E020000 */ lw $v0, ($s0) +/* B800D8 802400D8 1052000B */ beq $v0, $s2, .L80240108 +/* B800DC 802400DC 2405FFFF */ addiu $a1, $zero, -1 +/* B800E0 802400E0 96040002 */ lhu $a0, 2($s0) +/* B800E4 802400E4 0220302D */ daddu $a2, $s1, $zero +/* B800E8 802400E8 26100004 */ addiu $s0, $s0, 4 +/* B800EC 802400EC 0C046E54 */ jal func_8011B950 +/* B800F0 802400F0 0000382D */ daddu $a3, $zero, $zero +/* B800F4 802400F4 08090035 */ j .L802400D4 +/* B800F8 802400F8 00000000 */ nop +.L802400FC: +/* B800FC 802400FC 3C028015 */ lui $v0, 0x8015 +/* B80100 80240100 8C4212F0 */ lw $v0, 0x12f0($v0) +/* B80104 80240104 A0510000 */ sb $s1, ($v0) +.L80240108: +/* B80108 80240108 24020002 */ addiu $v0, $zero, 2 +.L8024010C: +/* B8010C 8024010C 8FBF001C */ lw $ra, 0x1c($sp) +/* B80110 80240110 8FB20018 */ lw $s2, 0x18($sp) +/* B80114 80240114 8FB10014 */ lw $s1, 0x14($sp) +/* B80118 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* B8011C 8024011C 03E00008 */ jr $ra +/* B80120 80240120 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_16/func_80240124_B80000.s b/asm/nonmatchings/world/area_jan/jan_16/func_80240124_B80000.s new file mode 100644 index 0000000000..b7e13ca2a0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_16/func_80240124_B80000.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B80124 +/* B80124 80240124 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B80128 80240128 AFB10034 */ sw $s1, 0x34($sp) +/* B8012C 8024012C 0080882D */ daddu $s1, $a0, $zero +/* B80130 80240130 AFBF0054 */ sw $ra, 0x54($sp) +/* B80134 80240134 AFBE0050 */ sw $fp, 0x50($sp) +/* B80138 80240138 AFB7004C */ sw $s7, 0x4c($sp) +/* B8013C 8024013C AFB60048 */ sw $s6, 0x48($sp) +/* B80140 80240140 AFB50044 */ sw $s5, 0x44($sp) +/* B80144 80240144 AFB40040 */ sw $s4, 0x40($sp) +/* B80148 80240148 AFB3003C */ sw $s3, 0x3c($sp) +/* B8014C 8024014C AFB20038 */ sw $s2, 0x38($sp) +/* B80150 80240150 AFB00030 */ sw $s0, 0x30($sp) +/* B80154 80240154 8E30000C */ lw $s0, 0xc($s1) +/* B80158 80240158 8E050000 */ lw $a1, ($s0) +/* B8015C 8024015C 0C0B1EAF */ jal get_variable +/* B80160 80240160 26100004 */ addiu $s0, $s0, 4 +/* B80164 80240164 8E050000 */ lw $a1, ($s0) +/* B80168 80240168 26100004 */ addiu $s0, $s0, 4 +/* B8016C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* B80170 80240170 0C0B1EAF */ jal get_variable +/* B80174 80240174 0040982D */ daddu $s3, $v0, $zero +/* B80178 80240178 8E050000 */ lw $a1, ($s0) +/* B8017C 8024017C 26100004 */ addiu $s0, $s0, 4 +/* B80180 80240180 0220202D */ daddu $a0, $s1, $zero +/* B80184 80240184 0C0B1EAF */ jal get_variable +/* B80188 80240188 0040B02D */ daddu $s6, $v0, $zero +/* B8018C 8024018C 8E050000 */ lw $a1, ($s0) +/* B80190 80240190 26100004 */ addiu $s0, $s0, 4 +/* B80194 80240194 0220202D */ daddu $a0, $s1, $zero +/* B80198 80240198 0C0B1EAF */ jal get_variable +/* B8019C 8024019C 0040A82D */ daddu $s5, $v0, $zero +/* B801A0 802401A0 8E050000 */ lw $a1, ($s0) +/* B801A4 802401A4 26100004 */ addiu $s0, $s0, 4 +/* B801A8 802401A8 0220202D */ daddu $a0, $s1, $zero +/* B801AC 802401AC 0C0B1EAF */ jal get_variable +/* B801B0 802401B0 0040A02D */ daddu $s4, $v0, $zero +/* B801B4 802401B4 8E050000 */ lw $a1, ($s0) +/* B801B8 802401B8 26100004 */ addiu $s0, $s0, 4 +/* B801BC 802401BC 0220202D */ daddu $a0, $s1, $zero +/* B801C0 802401C0 0C0B1EAF */ jal get_variable +/* B801C4 802401C4 0040902D */ daddu $s2, $v0, $zero +/* B801C8 802401C8 8E050000 */ lw $a1, ($s0) +/* B801CC 802401CC 26100004 */ addiu $s0, $s0, 4 +/* B801D0 802401D0 0220202D */ daddu $a0, $s1, $zero +/* B801D4 802401D4 0C0B1EAF */ jal get_variable +/* B801D8 802401D8 AFA20028 */ sw $v0, 0x28($sp) +/* B801DC 802401DC 8E050000 */ lw $a1, ($s0) +/* B801E0 802401E0 26100004 */ addiu $s0, $s0, 4 +/* B801E4 802401E4 0220202D */ daddu $a0, $s1, $zero +/* B801E8 802401E8 0C0B1EAF */ jal get_variable +/* B801EC 802401EC 0040F02D */ daddu $fp, $v0, $zero +/* B801F0 802401F0 8E050000 */ lw $a1, ($s0) +/* B801F4 802401F4 26100004 */ addiu $s0, $s0, 4 +/* B801F8 802401F8 0220202D */ daddu $a0, $s1, $zero +/* B801FC 802401FC 0C0B1EAF */ jal get_variable +/* B80200 80240200 0040B82D */ daddu $s7, $v0, $zero +/* B80204 80240204 0220202D */ daddu $a0, $s1, $zero +/* B80208 80240208 8E050000 */ lw $a1, ($s0) +/* B8020C 8024020C 0C0B1EAF */ jal get_variable +/* B80210 80240210 0040802D */ daddu $s0, $v0, $zero +/* B80214 80240214 0040182D */ daddu $v1, $v0, $zero +/* B80218 80240218 24020002 */ addiu $v0, $zero, 2 +/* B8021C 8024021C 12620012 */ beq $s3, $v0, .L80240268 +/* B80220 80240220 2A620003 */ slti $v0, $s3, 3 +/* B80224 80240224 10400005 */ beqz $v0, .L8024023C +/* B80228 80240228 24020001 */ addiu $v0, $zero, 1 +/* B8022C 8024022C 12620008 */ beq $s3, $v0, .L80240250 +/* B80230 80240230 32C400FF */ andi $a0, $s6, 0xff +/* B80234 80240234 080900B1 */ j .L802402C4 +/* B80238 80240238 00000000 */ nop +.L8024023C: +/* B8023C 8024023C 24020003 */ addiu $v0, $zero, 3 +/* B80240 80240240 12620018 */ beq $s3, $v0, .L802402A4 +/* B80244 80240244 32C400FF */ andi $a0, $s6, 0xff +/* B80248 80240248 080900B1 */ j .L802402C4 +/* B8024C 8024024C 00000000 */ nop +.L80240250: +/* B80250 80240250 32A500FF */ andi $a1, $s5, 0xff +/* B80254 80240254 328600FF */ andi $a2, $s4, 0xff +/* B80258 80240258 0C046F97 */ jal set_background_color_blend +/* B8025C 8024025C 324700FF */ andi $a3, $s2, 0xff +/* B80260 80240260 080900B1 */ j .L802402C4 +/* B80264 80240264 00000000 */ nop +.L80240268: +/* B80268 80240268 32C400FF */ andi $a0, $s6, 0xff +/* B8026C 8024026C 32A500FF */ andi $a1, $s5, 0xff +/* B80270 80240270 328600FF */ andi $a2, $s4, 0xff +/* B80274 80240274 324700FF */ andi $a3, $s2, 0xff +/* B80278 80240278 93A2002B */ lbu $v0, 0x2b($sp) +/* B8027C 8024027C AFB0001C */ sw $s0, 0x1c($sp) +/* B80280 80240280 AFA30020 */ sw $v1, 0x20($sp) +/* B80284 80240284 AFA20010 */ sw $v0, 0x10($sp) +/* B80288 80240288 33C200FF */ andi $v0, $fp, 0xff +/* B8028C 8024028C AFA20014 */ sw $v0, 0x14($sp) +/* B80290 80240290 32E200FF */ andi $v0, $s7, 0xff +/* B80294 80240294 0C046FAD */ jal func_8011BEB4 +/* B80298 80240298 AFA20018 */ sw $v0, 0x18($sp) +/* B8029C 8024029C 080900B1 */ j .L802402C4 +/* B802A0 802402A0 00000000 */ nop +.L802402A4: +/* B802A4 802402A4 32A500FF */ andi $a1, $s5, 0xff +/* B802A8 802402A8 328600FF */ andi $a2, $s4, 0xff +/* B802AC 802402AC 324700FF */ andi $a3, $s2, 0xff +/* B802B0 802402B0 93A2002B */ lbu $v0, 0x2b($sp) +/* B802B4 802402B4 AFA20010 */ sw $v0, 0x10($sp) +/* B802B8 802402B8 33C200FF */ andi $v0, $fp, 0xff +/* B802BC 802402BC 0C046FE6 */ jal func_8011BF98 +/* B802C0 802402C0 AFA20014 */ sw $v0, 0x14($sp) +.L802402C4: +/* B802C4 802402C4 8FBF0054 */ lw $ra, 0x54($sp) +/* B802C8 802402C8 8FBE0050 */ lw $fp, 0x50($sp) +/* B802CC 802402CC 8FB7004C */ lw $s7, 0x4c($sp) +/* B802D0 802402D0 8FB60048 */ lw $s6, 0x48($sp) +/* B802D4 802402D4 8FB50044 */ lw $s5, 0x44($sp) +/* B802D8 802402D8 8FB40040 */ lw $s4, 0x40($sp) +/* B802DC 802402DC 8FB3003C */ lw $s3, 0x3c($sp) +/* B802E0 802402E0 8FB20038 */ lw $s2, 0x38($sp) +/* B802E4 802402E4 8FB10034 */ lw $s1, 0x34($sp) +/* B802E8 802402E8 8FB00030 */ lw $s0, 0x30($sp) +/* B802EC 802402EC 24020002 */ addiu $v0, $zero, 2 +/* B802F0 802402F0 03E00008 */ jr $ra +/* B802F4 802402F4 27BD0058 */ addiu $sp, $sp, 0x58 +/* B802F8 802402F8 00000000 */ nop +/* B802FC 802402FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_16/func_80240300_B80000.s b/asm/nonmatchings/world/area_jan/jan_16/func_80240300_B80000.s new file mode 100644 index 0000000000..533725d758 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_16/func_80240300_B80000.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240300_B80300 +/* B80300 80240300 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B80304 80240304 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B80308 80240308 4485A000 */ mtc1 $a1, $f20 +/* B8030C 8024030C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B80310 80240310 4486B000 */ mtc1 $a2, $f22 +/* B80314 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* B80318 80240318 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B8031C 8024031C 4487C000 */ mtc1 $a3, $f24 +/* B80320 80240320 AFBF0014 */ sw $ra, 0x14($sp) +/* B80324 80240324 0C019D28 */ jal guMtxIdentF +/* B80328 80240328 0080802D */ daddu $s0, $a0, $zero +/* B8032C 8024032C 4616A582 */ mul.s $f22, $f20, $f22 +/* B80330 80240330 00000000 */ nop +/* B80334 80240334 4618A502 */ mul.s $f20, $f20, $f24 +/* B80338 80240338 00000000 */ nop +/* B8033C 8024033C 3C013F80 */ lui $at, 0x3f80 +/* B80340 80240340 44810000 */ mtc1 $at, $f0 +/* B80344 80240344 00000000 */ nop +/* B80348 80240348 E6000014 */ swc1 $f0, 0x14($s0) +/* B8034C 8024034C E6160010 */ swc1 $f22, 0x10($s0) +/* B80350 80240350 E6140018 */ swc1 $f20, 0x18($s0) +/* B80354 80240354 8FBF0014 */ lw $ra, 0x14($sp) +/* B80358 80240358 8FB00010 */ lw $s0, 0x10($sp) +/* B8035C 8024035C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B80360 80240360 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B80364 80240364 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B80368 80240368 03E00008 */ jr $ra +/* B8036C 8024036C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_16/func_80240370_B80000.s b/asm/nonmatchings/world/area_jan/jan_16/func_80240370_B80000.s new file mode 100644 index 0000000000..4bd1684c52 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_16/func_80240370_B80000.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_B80370 +/* B80370 80240370 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B80374 80240374 AFB10054 */ sw $s1, 0x54($sp) +/* B80378 80240378 0080882D */ daddu $s1, $a0, $zero +/* B8037C 8024037C AFBF005C */ sw $ra, 0x5c($sp) +/* B80380 80240380 AFB20058 */ sw $s2, 0x58($sp) +/* B80384 80240384 AFB00050 */ sw $s0, 0x50($sp) +/* B80388 80240388 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B8038C 8024038C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B80390 80240390 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B80394 80240394 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B80398 80240398 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B8039C 8024039C 8E30000C */ lw $s0, 0xc($s1) +/* B803A0 802403A0 8E050000 */ lw $a1, ($s0) +/* B803A4 802403A4 0C0B1EAF */ jal get_variable +/* B803A8 802403A8 26100004 */ addiu $s0, $s0, 4 +/* B803AC 802403AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B803B0 802403B0 0040202D */ daddu $a0, $v0, $zero +/* B803B4 802403B4 8E050000 */ lw $a1, ($s0) +/* B803B8 802403B8 26100004 */ addiu $s0, $s0, 4 +/* B803BC 802403BC 0220202D */ daddu $a0, $s1, $zero +/* B803C0 802403C0 0C0B210B */ jal get_float_variable +/* B803C4 802403C4 0040902D */ daddu $s2, $v0, $zero +/* B803C8 802403C8 8E050000 */ lw $a1, ($s0) +/* B803CC 802403CC 26100004 */ addiu $s0, $s0, 4 +/* B803D0 802403D0 0220202D */ daddu $a0, $s1, $zero +/* B803D4 802403D4 0C0B210B */ jal get_float_variable +/* B803D8 802403D8 46000706 */ mov.s $f28, $f0 +/* B803DC 802403DC 8E050000 */ lw $a1, ($s0) +/* B803E0 802403E0 26100004 */ addiu $s0, $s0, 4 +/* B803E4 802403E4 0220202D */ daddu $a0, $s1, $zero +/* B803E8 802403E8 0C0B210B */ jal get_float_variable +/* B803EC 802403EC 46000686 */ mov.s $f26, $f0 +/* B803F0 802403F0 0220202D */ daddu $a0, $s1, $zero +/* B803F4 802403F4 8E050000 */ lw $a1, ($s0) +/* B803F8 802403F8 0C0B210B */ jal get_float_variable +/* B803FC 802403FC 46000586 */ mov.s $f22, $f0 +/* B80400 80240400 0240202D */ daddu $a0, $s2, $zero +/* B80404 80240404 0C046B4C */ jal get_model_from_list_index +/* B80408 80240408 46000606 */ mov.s $f24, $f0 +/* B8040C 8024040C 0040882D */ daddu $s1, $v0, $zero +/* B80410 80240410 96220000 */ lhu $v0, ($s1) +/* B80414 80240414 30420400 */ andi $v0, $v0, 0x400 +/* B80418 80240418 1440001E */ bnez $v0, .L80240494 +/* B8041C 8024041C 26300058 */ addiu $s0, $s1, 0x58 +/* B80420 80240420 4480A000 */ mtc1 $zero, $f20 +/* B80424 80240424 4406B000 */ mfc1 $a2, $f22 +/* B80428 80240428 4405A000 */ mfc1 $a1, $f20 +/* B8042C 8024042C 4407A000 */ mfc1 $a3, $f20 +/* B80430 80240430 0C019E40 */ jal guTranslateF +/* B80434 80240434 0200202D */ daddu $a0, $s0, $zero +/* B80438 80240438 4405E000 */ mfc1 $a1, $f28 +/* B8043C 8024043C 4406D000 */ mfc1 $a2, $f26 +/* B80440 80240440 4407C000 */ mfc1 $a3, $f24 +/* B80444 80240444 0C0900C0 */ jal func_80240300 +/* B80448 80240448 27A40010 */ addiu $a0, $sp, 0x10 +/* B8044C 8024044C 27A40010 */ addiu $a0, $sp, 0x10 +/* B80450 80240450 0200282D */ daddu $a1, $s0, $zero +/* B80454 80240454 0C019D80 */ jal guMtxCatF +/* B80458 80240458 0200302D */ daddu $a2, $s0, $zero +/* B8045C 8024045C 27A40010 */ addiu $a0, $sp, 0x10 +/* B80460 80240460 4600B587 */ neg.s $f22, $f22 +/* B80464 80240464 4405A000 */ mfc1 $a1, $f20 +/* B80468 80240468 4406B000 */ mfc1 $a2, $f22 +/* B8046C 8024046C 0C019E40 */ jal guTranslateF +/* B80470 80240470 00A0382D */ daddu $a3, $a1, $zero +/* B80474 80240474 27A40010 */ addiu $a0, $sp, 0x10 +/* B80478 80240478 0200282D */ daddu $a1, $s0, $zero +/* B8047C 8024047C 0C019D80 */ jal guMtxCatF +/* B80480 80240480 00A0302D */ daddu $a2, $a1, $zero +/* B80484 80240484 96220000 */ lhu $v0, ($s1) +/* B80488 80240488 34421400 */ ori $v0, $v0, 0x1400 +/* B8048C 8024048C 08090143 */ j .L8024050C +/* B80490 80240490 A6220000 */ sh $v0, ($s1) +.L80240494: +/* B80494 80240494 4480A000 */ mtc1 $zero, $f20 +/* B80498 80240498 4406B000 */ mfc1 $a2, $f22 +/* B8049C 8024049C 4405A000 */ mfc1 $a1, $f20 +/* B804A0 802404A0 4407A000 */ mfc1 $a3, $f20 +/* B804A4 802404A4 0C019E40 */ jal guTranslateF +/* B804A8 802404A8 27A40010 */ addiu $a0, $sp, 0x10 +/* B804AC 802404AC 27A40010 */ addiu $a0, $sp, 0x10 +/* B804B0 802404B0 26300058 */ addiu $s0, $s1, 0x58 +/* B804B4 802404B4 0200282D */ daddu $a1, $s0, $zero +/* B804B8 802404B8 0C019D80 */ jal guMtxCatF +/* B804BC 802404BC 0200302D */ daddu $a2, $s0, $zero +/* B804C0 802404C0 4405E000 */ mfc1 $a1, $f28 +/* B804C4 802404C4 4406D000 */ mfc1 $a2, $f26 +/* B804C8 802404C8 4407C000 */ mfc1 $a3, $f24 +/* B804CC 802404CC 0C0900C0 */ jal func_80240300 +/* B804D0 802404D0 27A40010 */ addiu $a0, $sp, 0x10 +/* B804D4 802404D4 27A40010 */ addiu $a0, $sp, 0x10 +/* B804D8 802404D8 0200282D */ daddu $a1, $s0, $zero +/* B804DC 802404DC 0C019D80 */ jal guMtxCatF +/* B804E0 802404E0 0200302D */ daddu $a2, $s0, $zero +/* B804E4 802404E4 27A40010 */ addiu $a0, $sp, 0x10 +/* B804E8 802404E8 4600B587 */ neg.s $f22, $f22 +/* B804EC 802404EC 4405A000 */ mfc1 $a1, $f20 +/* B804F0 802404F0 4406B000 */ mfc1 $a2, $f22 +/* B804F4 802404F4 0C019E40 */ jal guTranslateF +/* B804F8 802404F8 00A0382D */ daddu $a3, $a1, $zero +/* B804FC 802404FC 27A40010 */ addiu $a0, $sp, 0x10 +/* B80500 80240500 0200282D */ daddu $a1, $s0, $zero +/* B80504 80240504 0C019D80 */ jal guMtxCatF +/* B80508 80240508 00A0302D */ daddu $a2, $a1, $zero +.L8024050C: +/* B8050C 8024050C 8FBF005C */ lw $ra, 0x5c($sp) +/* B80510 80240510 8FB20058 */ lw $s2, 0x58($sp) +/* B80514 80240514 8FB10054 */ lw $s1, 0x54($sp) +/* B80518 80240518 8FB00050 */ lw $s0, 0x50($sp) +/* B8051C 8024051C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B80520 80240520 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B80524 80240524 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B80528 80240528 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B8052C 8024052C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B80530 80240530 24020002 */ addiu $v0, $zero, 2 +/* B80534 80240534 03E00008 */ jr $ra +/* B80538 80240538 27BD0088 */ addiu $sp, $sp, 0x88 +/* B8053C 8024053C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_17/func_80240000_B837C0.s b/asm/nonmatchings/world/area_jan/jan_17/func_80240000_B837C0.s new file mode 100644 index 0000000000..5a3a1757c1 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_17/func_80240000_B837C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B837C0 +/* B837C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B837C4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B837C8 80240008 0C046ED4 */ jal enable_world_fog +/* B837CC 8024000C 00000000 */ nop +/* B837D0 80240010 8FBF0010 */ lw $ra, 0x10($sp) +/* B837D4 80240014 24020002 */ addiu $v0, $zero, 2 +/* B837D8 80240018 03E00008 */ jr $ra +/* B837DC 8024001C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_19/func_80240000_B83E60.s b/asm/nonmatchings/world/area_jan/jan_19/func_80240000_B83E60.s new file mode 100644 index 0000000000..60b87ba33f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_19/func_80240000_B83E60.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B83E60 +/* B83E60 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B83E64 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B83E68 80240008 0C046ED4 */ jal enable_world_fog +/* B83E6C 8024000C 00000000 */ nop +/* B83E70 80240010 8FBF0010 */ lw $ra, 0x10($sp) +/* B83E74 80240014 24020002 */ addiu $v0, $zero, 2 +/* B83E78 80240018 03E00008 */ jr $ra +/* B83E7C 8024001C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240000_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240000_B84180.s new file mode 100644 index 0000000000..b748dc2cf4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240000_B84180.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B84180 +/* B84180 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B84184 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* B84188 80240008 0080A82D */ daddu $s5, $a0, $zero +/* B8418C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* B84190 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* B84194 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* B84198 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* B8419C 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* B841A0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* B841A4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* B841A8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* B841AC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* B841B0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B841B4 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* B841B8 80240038 86640008 */ lh $a0, 8($s3) +/* B841BC 8024003C 0C00EABB */ jal get_npc_unsafe +/* B841C0 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* B841C4 80240044 0040A02D */ daddu $s4, $v0, $zero +/* B841C8 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* B841CC 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* B841D0 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* B841D4 80240054 0000902D */ daddu $s2, $zero, $zero +/* B841D8 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* B841DC 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* B841E0 80240060 8C620000 */ lw $v0, ($v1) +/* B841E4 80240064 3C0146FF */ lui $at, 0x46ff +/* B841E8 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* B841EC 8024006C 4481A000 */ mtc1 $at, $f20 +/* B841F0 80240070 18400018 */ blez $v0, .L802400D4 +/* B841F4 80240074 0240802D */ daddu $s0, $s2, $zero +/* B841F8 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* B841FC 8024007C 02231021 */ addu $v0, $s1, $v1 +/* B84200 80240080 4600C306 */ mov.s $f12, $f24 +/* B84204 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* B84208 80240088 46802120 */ cvt.s.w $f4, $f4 +/* B8420C 8024008C 44062000 */ mfc1 $a2, $f4 +/* B84210 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* B84214 80240094 46802120 */ cvt.s.w $f4, $f4 +/* B84218 80240098 44072000 */ mfc1 $a3, $f4 +/* B8421C 8024009C 0C00A7B5 */ jal dist2D +/* B84220 802400A0 4600B386 */ mov.s $f14, $f22 +/* B84224 802400A4 4614003C */ c.lt.s $f0, $f20 +/* B84228 802400A8 00000000 */ nop +/* B8422C 802400AC 45000003 */ bc1f .L802400BC +/* B84230 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* B84234 802400B4 46000506 */ mov.s $f20, $f0 +/* B84238 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* B8423C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* B84240 802400C0 26100001 */ addiu $s0, $s0, 1 +/* B84244 802400C4 8C620000 */ lw $v0, ($v1) +/* B84248 802400C8 0202102A */ slt $v0, $s0, $v0 +/* B8424C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* B84250 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* B84254 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* B84258 802400D8 8C420004 */ lw $v0, 4($v0) +/* B8425C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* B84260 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* B84264 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* B84268 802400E8 04410004 */ bgez $v0, .L802400FC +/* B8426C 802400EC 00000000 */ nop +/* B84270 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* B84274 802400F4 08090047 */ j .L8024011C +/* B84278 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* B8427C 802400FC 3C018025 */ lui $at, 0x8025 +/* B84280 80240100 D422B9A0 */ ldc1 $f2, -0x4660($at) +/* B84284 80240104 44820000 */ mtc1 $v0, $f0 +/* B84288 80240108 00000000 */ nop +/* B8428C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* B84290 80240110 46220003 */ div.d $f0, $f0, $f2 +/* B84294 80240114 46200020 */ cvt.s.d $f0, $f0 +/* B84298 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* B8429C 8024011C 24020001 */ addiu $v0, $zero, 1 +/* B842A0 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* B842A4 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* B842A8 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* B842AC 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* B842B0 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* B842B4 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* B842B8 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* B842BC 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* B842C0 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* B842C4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* B842C8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B842CC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* B842D0 80240150 03E00008 */ jr $ra +/* B842D4 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240158_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240158_B84180.s new file mode 100644 index 0000000000..252427b68c --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240158_B84180.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_B842D8 +/* B842D8 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B842DC 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* B842E0 80240160 0080902D */ daddu $s2, $a0, $zero +/* B842E4 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* B842E8 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* B842EC 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* B842F0 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* B842F4 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* B842F8 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B842FC 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* B84300 80240180 8E510148 */ lw $s1, 0x148($s2) +/* B84304 80240184 00A0982D */ daddu $s3, $a1, $zero +/* B84308 80240188 86240008 */ lh $a0, 8($s1) +/* B8430C 8024018C 0C00EABB */ jal get_npc_unsafe +/* B84310 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* B84314 80240194 8E630014 */ lw $v1, 0x14($s3) +/* B84318 80240198 04600030 */ bltz $v1, .L8024025C +/* B8431C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* B84320 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* B84324 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* B84328 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* B8432C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* B84330 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* B84334 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* B84338 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* B8433C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* B84340 802401C0 0C01242D */ jal func_800490B4 +/* B84344 802401C4 0220282D */ daddu $a1, $s1, $zero +/* B84348 802401C8 10400021 */ beqz $v0, .L80240250 +/* B8434C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* B84350 802401D0 0200282D */ daddu $a1, $s0, $zero +/* B84354 802401D4 0000302D */ daddu $a2, $zero, $zero +/* B84358 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* B8435C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* B84360 802401E0 44810000 */ mtc1 $at, $f0 +/* B84364 802401E4 3C014000 */ lui $at, 0x4000 +/* B84368 802401E8 44811000 */ mtc1 $at, $f2 +/* B8436C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* B84370 802401F0 44812000 */ mtc1 $at, $f4 +/* B84374 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* B84378 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* B8437C 802401FC 44833000 */ mtc1 $v1, $f6 +/* B84380 80240200 00000000 */ nop +/* B84384 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* B84388 80240208 44073000 */ mfc1 $a3, $f6 +/* B8438C 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* B84390 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* B84394 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* B84398 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* B8439C 8024021C 0C01BFA4 */ jal fx_emote +/* B843A0 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* B843A4 80240224 0200202D */ daddu $a0, $s0, $zero +/* B843A8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B843AC 8024022C 0C012530 */ jal func_800494C0 +/* B843B0 80240230 3C060020 */ lui $a2, 0x20 +/* B843B4 80240234 8E220018 */ lw $v0, 0x18($s1) +/* B843B8 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* B843BC 8024023C 30420001 */ andi $v0, $v0, 1 +/* B843C0 80240240 14400064 */ bnez $v0, .L802403D4 +/* B843C4 80240244 2402000A */ addiu $v0, $zero, 0xa +/* B843C8 80240248 080900F5 */ j .L802403D4 +/* B843CC 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* B843D0 80240250 8E420074 */ lw $v0, 0x74($s2) +/* B843D4 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* B843D8 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* B843DC 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* B843E0 80240260 1440005D */ bnez $v0, .L802403D8 +/* B843E4 80240264 00000000 */ nop +/* B843E8 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* B843EC 8024026C 3C014010 */ lui $at, 0x4010 +/* B843F0 80240270 44811800 */ mtc1 $at, $f3 +/* B843F4 80240274 44801000 */ mtc1 $zero, $f2 +/* B843F8 80240278 46000021 */ cvt.d.s $f0, $f0 +/* B843FC 8024027C 4622003C */ c.lt.d $f0, $f2 +/* B84400 80240280 00000000 */ nop +/* B84404 80240284 45000003 */ bc1f .L80240294 +/* B84408 80240288 0200202D */ daddu $a0, $s0, $zero +/* B8440C 8024028C 080900A6 */ j .L80240298 +/* B84410 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* B84414 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* B84418 80240298 0C00F598 */ jal func_8003D660 +/* B8441C 8024029C 00000000 */ nop +/* B84420 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B84424 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* B84428 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B8442C 802402AC 00031040 */ sll $v0, $v1, 1 +/* B84430 802402B0 00431021 */ addu $v0, $v0, $v1 +/* B84434 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84438 802402B8 00021080 */ sll $v0, $v0, 2 +/* B8443C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* B84440 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* B84444 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* B84448 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* B8444C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* B84450 802402D0 4406B000 */ mfc1 $a2, $f22 +/* B84454 802402D4 4407A000 */ mfc1 $a3, $f20 +/* B84458 802402D8 0C00A720 */ jal atan2 +/* B8445C 802402DC 00000000 */ nop +/* B84460 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* B84464 802402E4 44060000 */ mfc1 $a2, $f0 +/* B84468 802402E8 0200202D */ daddu $a0, $s0, $zero +/* B8446C 802402EC 0C00EA95 */ jal npc_move_heading +/* B84470 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* B84474 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B84478 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B8447C 802402FC 4406B000 */ mfc1 $a2, $f22 +/* B84480 80240300 4407A000 */ mfc1 $a3, $f20 +/* B84484 80240304 0C00A7B5 */ jal dist2D +/* B84488 80240308 00000000 */ nop +/* B8448C 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* B84490 80240310 4602003E */ c.le.s $f0, $f2 +/* B84494 80240314 00000000 */ nop +/* B84498 80240318 4500002F */ bc1f .L802403D8 +/* B8449C 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B844A0 80240320 24020002 */ addiu $v0, $zero, 2 +/* B844A4 80240324 0C00A67F */ jal rand_int +/* B844A8 80240328 AE420070 */ sw $v0, 0x70($s2) +/* B844AC 8024032C 3C035555 */ lui $v1, 0x5555 +/* B844B0 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* B844B4 80240334 00430018 */ mult $v0, $v1 +/* B844B8 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* B844BC 8024033C 00004010 */ mfhi $t0 +/* B844C0 80240340 01042023 */ subu $a0, $t0, $a0 +/* B844C4 80240344 00041840 */ sll $v1, $a0, 1 +/* B844C8 80240348 00641821 */ addu $v1, $v1, $a0 +/* B844CC 8024034C 00431023 */ subu $v0, $v0, $v1 +/* B844D0 80240350 24430002 */ addiu $v1, $v0, 2 +/* B844D4 80240354 AE430074 */ sw $v1, 0x74($s2) +/* B844D8 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* B844DC 8024035C 18400009 */ blez $v0, .L80240384 +/* B844E0 80240360 24020004 */ addiu $v0, $zero, 4 +/* B844E4 80240364 8E620004 */ lw $v0, 4($s3) +/* B844E8 80240368 18400006 */ blez $v0, .L80240384 +/* B844EC 8024036C 24020004 */ addiu $v0, $zero, 4 +/* B844F0 80240370 8E620008 */ lw $v0, 8($s3) +/* B844F4 80240374 18400003 */ blez $v0, .L80240384 +/* B844F8 80240378 24020004 */ addiu $v0, $zero, 4 +/* B844FC 8024037C 14600002 */ bnez $v1, .L80240388 +/* B84500 80240380 00000000 */ nop +.L80240384: +/* B84504 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* B84508 80240388 0C00A67F */ jal rand_int +/* B8450C 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* B84510 80240390 3C0351EB */ lui $v1, 0x51eb +/* B84514 80240394 3463851F */ ori $v1, $v1, 0x851f +/* B84518 80240398 00430018 */ mult $v0, $v1 +/* B8451C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* B84520 802403A0 00004010 */ mfhi $t0 +/* B84524 802403A4 00082143 */ sra $a0, $t0, 5 +/* B84528 802403A8 00832023 */ subu $a0, $a0, $v1 +/* B8452C 802403AC 00041840 */ sll $v1, $a0, 1 +/* B84530 802403B0 00641821 */ addu $v1, $v1, $a0 +/* B84534 802403B4 000318C0 */ sll $v1, $v1, 3 +/* B84538 802403B8 00641821 */ addu $v1, $v1, $a0 +/* B8453C 802403BC 00031880 */ sll $v1, $v1, 2 +/* B84540 802403C0 8E640004 */ lw $a0, 4($s3) +/* B84544 802403C4 00431023 */ subu $v0, $v0, $v1 +/* B84548 802403C8 0044102A */ slt $v0, $v0, $a0 +/* B8454C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* B84550 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* B84554 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* B84558 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* B8455C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* B84560 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* B84564 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* B84568 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* B8456C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* B84570 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B84574 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B84578 802403F8 03E00008 */ jr $ra +/* B8457C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240400_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240400_B84180.s new file mode 100644 index 0000000000..bf199fac51 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240400_B84180.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_B84580 +/* B84580 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B84584 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* B84588 80240408 0080982D */ daddu $s3, $a0, $zero +/* B8458C 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* B84590 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* B84594 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* B84598 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* B8459C 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* B845A0 80240420 86440008 */ lh $a0, 8($s2) +/* B845A4 80240424 0C00EABB */ jal get_npc_unsafe +/* B845A8 80240428 00A0882D */ daddu $s1, $a1, $zero +/* B845AC 8024042C 8E240008 */ lw $a0, 8($s1) +/* B845B0 80240430 0040802D */ daddu $s0, $v0, $zero +/* B845B4 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* B845B8 80240438 00832021 */ addu $a0, $a0, $v1 +/* B845BC 8024043C 00042043 */ sra $a0, $a0, 1 +/* B845C0 80240440 0C00A67F */ jal rand_int +/* B845C4 80240444 24840001 */ addiu $a0, $a0, 1 +/* B845C8 80240448 8E230008 */ lw $v1, 8($s1) +/* B845CC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* B845D0 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* B845D4 80240454 00651821 */ addu $v1, $v1, $a1 +/* B845D8 80240458 00031843 */ sra $v1, $v1, 1 +/* B845DC 8024045C 00621821 */ addu $v1, $v1, $v0 +/* B845E0 80240460 0C00A67F */ jal rand_int +/* B845E4 80240464 A603008E */ sh $v1, 0x8e($s0) +/* B845E8 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* B845EC 8024046C 44820000 */ mtc1 $v0, $f0 +/* B845F0 80240470 00000000 */ nop +/* B845F4 80240474 46800020 */ cvt.s.w $f0, $f0 +/* B845F8 80240478 46006300 */ add.s $f12, $f12, $f0 +/* B845FC 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* B84600 80240480 44810000 */ mtc1 $at, $f0 +/* B84604 80240484 0C00A6C9 */ jal clamp_angle +/* B84608 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* B8460C 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* B84610 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* B84614 80240494 8C420000 */ lw $v0, ($v0) +/* B84618 80240498 AE020028 */ sw $v0, 0x28($s0) +/* B8461C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* B84620 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* B84624 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* B84628 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* B8462C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* B84630 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* B84634 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* B84638 802404B8 03E00008 */ jr $ra +/* B8463C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_802404C0_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_802404C0_B84180.s new file mode 100644 index 0000000000..6b74eff290 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_802404C0_B84180.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_B84640 +/* B84640 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B84644 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* B84648 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* B8464C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* B84650 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* B84654 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* B84658 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* B8465C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* B84660 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* B84664 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* B84668 802404E8 86240008 */ lh $a0, 8($s1) +/* B8466C 802404EC 0C00EABB */ jal get_npc_unsafe +/* B84670 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* B84674 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* B84678 802404F8 04600031 */ bltz $v1, .L802405C0 +/* B8467C 802404FC 0040802D */ daddu $s0, $v0, $zero +/* B84680 80240500 0260202D */ daddu $a0, $s3, $zero +/* B84684 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* B84688 80240508 8E460024 */ lw $a2, 0x24($s2) +/* B8468C 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* B84690 80240510 0C01242D */ jal func_800490B4 +/* B84694 80240514 0220282D */ daddu $a1, $s1, $zero +/* B84698 80240518 10400029 */ beqz $v0, .L802405C0 +/* B8469C 8024051C 0000202D */ daddu $a0, $zero, $zero +/* B846A0 80240520 0200282D */ daddu $a1, $s0, $zero +/* B846A4 80240524 0000302D */ daddu $a2, $zero, $zero +/* B846A8 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* B846AC 8024052C 3C013F80 */ lui $at, 0x3f80 +/* B846B0 80240530 44810000 */ mtc1 $at, $f0 +/* B846B4 80240534 3C014000 */ lui $at, 0x4000 +/* B846B8 80240538 44811000 */ mtc1 $at, $f2 +/* B846BC 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* B846C0 80240540 44812000 */ mtc1 $at, $f4 +/* B846C4 80240544 2402000F */ addiu $v0, $zero, 0xf +/* B846C8 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* B846CC 8024054C 44833000 */ mtc1 $v1, $f6 +/* B846D0 80240550 00000000 */ nop +/* B846D4 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* B846D8 80240558 44073000 */ mfc1 $a3, $f6 +/* B846DC 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* B846E0 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* B846E4 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* B846E8 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* B846EC 8024056C 0C01BFA4 */ jal fx_emote +/* B846F0 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* B846F4 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B846F8 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B846FC 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B84700 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B84704 80240584 8C460028 */ lw $a2, 0x28($v0) +/* B84708 80240588 0C00A720 */ jal atan2 +/* B8470C 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* B84710 80240590 0200202D */ daddu $a0, $s0, $zero +/* B84714 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B84718 80240598 3C060020 */ lui $a2, 0x20 +/* B8471C 8024059C 0C012530 */ jal func_800494C0 +/* B84720 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* B84724 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* B84728 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* B8472C 802405AC 30420001 */ andi $v0, $v0, 1 +/* B84730 802405B0 14400029 */ bnez $v0, .L80240658 +/* B84734 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* B84738 802405B8 08090196 */ j .L80240658 +/* B8473C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* B84740 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* B84744 802405C4 14400025 */ bnez $v0, .L8024065C +/* B84748 802405C8 00000000 */ nop +/* B8474C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* B84750 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* B84754 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* B84758 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* B8475C 802405DC 1440001F */ bnez $v0, .L8024065C +/* B84760 802405E0 00000000 */ nop +/* B84764 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* B84768 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* B8476C 802405EC 10400019 */ beqz $v0, .L80240654 +/* B84770 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* B84774 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* B84778 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* B8477C 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* B84780 80240600 14400007 */ bnez $v0, .L80240620 +/* B84784 80240604 00000000 */ nop +/* B84788 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* B8478C 8024060C 3C014334 */ lui $at, 0x4334 +/* B84790 80240610 44816000 */ mtc1 $at, $f12 +/* B84794 80240614 0C00A6C9 */ jal clamp_angle +/* B84798 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* B8479C 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* B847A0 80240620 8E440008 */ lw $a0, 8($s2) +/* B847A4 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* B847A8 80240628 00822021 */ addu $a0, $a0, $v0 +/* B847AC 8024062C 00042043 */ sra $a0, $a0, 1 +/* B847B0 80240630 0C00A67F */ jal rand_int +/* B847B4 80240634 24840001 */ addiu $a0, $a0, 1 +/* B847B8 80240638 8E430008 */ lw $v1, 8($s2) +/* B847BC 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* B847C0 80240640 00641821 */ addu $v1, $v1, $a0 +/* B847C4 80240644 00031843 */ sra $v1, $v1, 1 +/* B847C8 80240648 00621821 */ addu $v1, $v1, $v0 +/* B847CC 8024064C 08090197 */ j .L8024065C +/* B847D0 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* B847D4 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* B847D8 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* B847DC 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* B847E0 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* B847E4 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* B847E8 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* B847EC 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* B847F0 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* B847F4 80240674 03E00008 */ jr $ra +/* B847F8 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_8024067C_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_8024067C_B84180.s new file mode 100644 index 0000000000..26df9cf9e3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_8024067C_B84180.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_B847FC +/* B847FC 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B84800 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* B84804 80240684 0080882D */ daddu $s1, $a0, $zero +/* B84808 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* B8480C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* B84810 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* B84814 80240694 8E300148 */ lw $s0, 0x148($s1) +/* B84818 80240698 86040008 */ lh $a0, 8($s0) +/* B8481C 8024069C 0C00EABB */ jal get_npc_unsafe +/* B84820 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* B84824 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* B84828 802406A8 24630001 */ addiu $v1, $v1, 1 +/* B8482C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* B84830 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* B84834 802406B4 8C840000 */ lw $a0, ($a0) +/* B84838 802406B8 0064182A */ slt $v1, $v1, $a0 +/* B8483C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* B84840 802406C0 0040282D */ daddu $a1, $v0, $zero +/* B84844 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* B84848 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* B8484C 802406CC 8C420004 */ lw $v0, 4($v0) +/* B84850 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* B84854 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* B84858 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* B8485C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* B84860 802406E0 00000000 */ nop +/* B84864 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* B84868 802406E8 080901C4 */ j .L80240710 +/* B8486C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* B84870 802406F0 3C018025 */ lui $at, 0x8025 +/* B84874 802406F4 D422B9A8 */ ldc1 $f2, -0x4658($at) +/* B84878 802406F8 44820000 */ mtc1 $v0, $f0 +/* B8487C 802406FC 00000000 */ nop +/* B84880 80240700 46800021 */ cvt.d.w $f0, $f0 +/* B84884 80240704 46220003 */ div.d $f0, $f0, $f2 +/* B84888 80240708 46200020 */ cvt.s.d $f0, $f0 +/* B8488C 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* B84890 80240710 24020001 */ addiu $v0, $zero, 1 +/* B84894 80240714 AE220070 */ sw $v0, 0x70($s1) +/* B84898 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* B8489C 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* B848A0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* B848A4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* B848A8 80240728 03E00008 */ jr $ra +/* B848AC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240730_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240730_B84180.s new file mode 100644 index 0000000000..c2cf13da92 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240730_B84180.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_B848B0 +/* B848B0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B848B4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* B848B8 80240738 0080882D */ daddu $s1, $a0, $zero +/* B848BC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* B848C0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* B848C4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* B848C8 80240748 0C00EABB */ jal get_npc_unsafe +/* B848CC 8024074C 86040008 */ lh $a0, 8($s0) +/* B848D0 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* B848D4 80240754 3C014120 */ lui $at, 0x4120 +/* B848D8 80240758 44812000 */ mtc1 $at, $f4 +/* B848DC 8024075C 3C014000 */ lui $at, 0x4000 +/* B848E0 80240760 44810000 */ mtc1 $at, $f0 +/* B848E4 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* B848E8 80240768 8C640010 */ lw $a0, 0x10($v1) +/* B848EC 8024076C 8C430000 */ lw $v1, ($v0) +/* B848F0 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* B848F4 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* B848F8 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* B848FC 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* B84900 80240780 AC430000 */ sw $v1, ($v0) +/* B84904 80240784 AC440028 */ sw $a0, 0x28($v0) +/* B84908 80240788 2402000B */ addiu $v0, $zero, 0xb +/* B8490C 8024078C AE220070 */ sw $v0, 0x70($s1) +/* B84910 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* B84914 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* B84918 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* B8491C 8024079C 03E00008 */ jr $ra +/* B84920 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_802407A4_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_802407A4_B84180.s new file mode 100644 index 0000000000..c328dd7368 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_802407A4_B84180.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_B84924 +/* B84924 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B84928 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* B8492C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* B84930 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* B84934 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* B84938 802407B8 0C00EABB */ jal get_npc_unsafe +/* B8493C 802407BC 84440008 */ lh $a0, 8($v0) +/* B84940 802407C0 0040202D */ daddu $a0, $v0, $zero +/* B84944 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* B84948 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* B8494C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* B84950 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* B84954 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* B84958 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* B8495C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* B84960 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* B84964 802407E4 45010009 */ bc1t .L8024080C +/* B84968 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* B8496C 802407EC 8C820000 */ lw $v0, ($a0) +/* B84970 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* B84974 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* B84978 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* B8497C 802407FC 00431024 */ and $v0, $v0, $v1 +/* B84980 80240800 AC820000 */ sw $v0, ($a0) +/* B84984 80240804 2402000C */ addiu $v0, $zero, 0xc +/* B84988 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* B8498C 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* B84990 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* B84994 80240814 03E00008 */ jr $ra +/* B84998 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_8024081C_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_8024081C_B84180.s new file mode 100644 index 0000000000..ef5f4e4b40 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_8024081C_B84180.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_B8499C +/* B8499C 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B849A0 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* B849A4 80240824 0080982D */ daddu $s3, $a0, $zero +/* B849A8 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* B849AC 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* B849B0 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* B849B4 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* B849B8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B849BC 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* B849C0 80240840 86240008 */ lh $a0, 8($s1) +/* B849C4 80240844 0C00EABB */ jal get_npc_unsafe +/* B849C8 80240848 00A0802D */ daddu $s0, $a1, $zero +/* B849CC 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* B849D0 80240850 0040902D */ daddu $s2, $v0, $zero +/* B849D4 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* B849D8 80240858 00832021 */ addu $a0, $a0, $v1 +/* B849DC 8024085C 00042043 */ sra $a0, $a0, 1 +/* B849E0 80240860 0C00A67F */ jal rand_int +/* B849E4 80240864 24840001 */ addiu $a0, $a0, 1 +/* B849E8 80240868 8E030020 */ lw $v1, 0x20($s0) +/* B849EC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* B849F0 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* B849F4 80240874 00641821 */ addu $v1, $v1, $a0 +/* B849F8 80240878 00031843 */ sra $v1, $v1, 1 +/* B849FC 8024087C 00621821 */ addu $v1, $v1, $v0 +/* B84A00 80240880 A643008E */ sh $v1, 0x8e($s2) +/* B84A04 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* B84A08 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B84A0C 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* B84A10 80240890 AE420028 */ sw $v0, 0x28($s2) +/* B84A14 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* B84A18 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B84A1C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B84A20 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* B84A24 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* B84A28 802408A8 0C00A720 */ jal atan2 +/* B84A2C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* B84A30 802408B0 46000506 */ mov.s $f20, $f0 +/* B84A34 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* B84A38 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* B84A3C 802408BC 4600A386 */ mov.s $f14, $f20 +/* B84A40 802408C0 46000086 */ mov.s $f2, $f0 +/* B84A44 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* B84A48 802408C8 46001005 */ abs.s $f0, $f2 +/* B84A4C 802408CC 44822000 */ mtc1 $v0, $f4 +/* B84A50 802408D0 00000000 */ nop +/* B84A54 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* B84A58 802408D8 4600203C */ c.lt.s $f4, $f0 +/* B84A5C 802408DC 00000000 */ nop +/* B84A60 802408E0 4500000D */ bc1f .L80240918 +/* B84A64 802408E4 00000000 */ nop +/* B84A68 802408E8 44800000 */ mtc1 $zero, $f0 +/* B84A6C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* B84A70 802408F0 4600103C */ c.lt.s $f2, $f0 +/* B84A74 802408F4 00000000 */ nop +/* B84A78 802408F8 45000006 */ bc1f .L80240914 +/* B84A7C 802408FC 00021023 */ negu $v0, $v0 +/* B84A80 80240900 44820000 */ mtc1 $v0, $f0 +/* B84A84 80240904 00000000 */ nop +/* B84A88 80240908 46800020 */ cvt.s.w $f0, $f0 +/* B84A8C 8024090C 08090246 */ j .L80240918 +/* B84A90 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* B84A94 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* B84A98 80240918 0C00A6C9 */ jal clamp_angle +/* B84A9C 8024091C 4600A306 */ mov.s $f12, $f20 +/* B84AA0 80240920 2402000D */ addiu $v0, $zero, 0xd +/* B84AA4 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* B84AA8 80240928 AE620070 */ sw $v0, 0x70($s3) +/* B84AAC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* B84AB0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* B84AB4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* B84AB8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* B84ABC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* B84AC0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B84AC4 80240944 03E00008 */ jr $ra +/* B84AC8 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_8024094C_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_8024094C_B84180.s new file mode 100644 index 0000000000..482a75e6b8 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_8024094C_B84180.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_B84ACC +/* B84ACC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B84AD0 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* B84AD4 80240954 0080982D */ daddu $s3, $a0, $zero +/* B84AD8 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* B84ADC 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* B84AE0 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* B84AE4 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* B84AE8 80240968 8E720148 */ lw $s2, 0x148($s3) +/* B84AEC 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* B84AF0 80240970 86440008 */ lh $a0, 8($s2) +/* B84AF4 80240974 0C00EABB */ jal get_npc_unsafe +/* B84AF8 80240978 00C0802D */ daddu $s0, $a2, $zero +/* B84AFC 8024097C 0200202D */ daddu $a0, $s0, $zero +/* B84B00 80240980 0240282D */ daddu $a1, $s2, $zero +/* B84B04 80240984 24030001 */ addiu $v1, $zero, 1 +/* B84B08 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* B84B0C 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* B84B10 80240990 8E270028 */ lw $a3, 0x28($s1) +/* B84B14 80240994 0C01242D */ jal func_800490B4 +/* B84B18 80240998 0040802D */ daddu $s0, $v0, $zero +/* B84B1C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* B84B20 802409A0 0200202D */ daddu $a0, $s0, $zero +/* B84B24 802409A4 24040002 */ addiu $a0, $zero, 2 +/* B84B28 802409A8 0200282D */ daddu $a1, $s0, $zero +/* B84B2C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* B84B30 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* B84B34 802409B4 3C013F80 */ lui $at, 0x3f80 +/* B84B38 802409B8 44810000 */ mtc1 $at, $f0 +/* B84B3C 802409BC 3C014000 */ lui $at, 0x4000 +/* B84B40 802409C0 44811000 */ mtc1 $at, $f2 +/* B84B44 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* B84B48 802409C8 44812000 */ mtc1 $at, $f4 +/* B84B4C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* B84B50 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* B84B54 802409D4 44833000 */ mtc1 $v1, $f6 +/* B84B58 802409D8 00000000 */ nop +/* B84B5C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* B84B60 802409E0 44073000 */ mfc1 $a3, $f6 +/* B84B64 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* B84B68 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* B84B6C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* B84B70 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* B84B74 802409F4 0C01BFA4 */ jal fx_emote +/* B84B78 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* B84B7C 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* B84B80 80240A00 8C430000 */ lw $v1, ($v0) +/* B84B84 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* B84B88 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* B84B8C 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* B84B90 80240A10 08090293 */ j .L80240A4C +/* B84B94 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* B84B98 80240A18 0C00F598 */ jal func_8003D660 +/* B84B9C 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* B84BA0 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* B84BA4 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* B84BA8 80240A28 0C00EA95 */ jal npc_move_heading +/* B84BAC 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* B84BB0 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* B84BB4 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* B84BB8 80240A38 18400003 */ blez $v0, .L80240A48 +/* B84BBC 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* B84BC0 80240A40 08090294 */ j .L80240A50 +/* B84BC4 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* B84BC8 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* B84BCC 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* B84BD0 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* B84BD4 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* B84BD8 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* B84BDC 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* B84BE0 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* B84BE4 80240A64 03E00008 */ jr $ra +/* B84BE8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240A6C_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240A6C_B84180.s new file mode 100644 index 0000000000..00e7ec1786 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240A6C_B84180.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_B84BEC +/* B84BEC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B84BF0 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* B84BF4 80240A74 0080882D */ daddu $s1, $a0, $zero +/* B84BF8 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* B84BFC 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* B84C00 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* B84C04 80240A84 0C00EABB */ jal get_npc_unsafe +/* B84C08 80240A88 86040008 */ lh $a0, 8($s0) +/* B84C0C 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* B84C10 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* B84C14 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* B84C18 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* B84C1C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* B84C20 80240AA0 00000000 */ nop +/* B84C24 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* B84C28 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* B84C2C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* B84C30 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* B84C34 80240AB4 080902B0 */ j .L80240AC0 +/* B84C38 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* B84C3C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* B84C40 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* B84C44 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* B84C48 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* B84C4C 80240ACC 03E00008 */ jr $ra +/* B84C50 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240AD4_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240AD4_B84180.s new file mode 100644 index 0000000000..0f7a4674b9 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240AD4_B84180.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_B84C54 +/* B84C54 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B84C58 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* B84C5C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* B84C60 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* B84C64 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* B84C68 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* B84C6C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* B84C70 80240AF0 86040008 */ lh $a0, 8($s0) +/* B84C74 80240AF4 0C00EABB */ jal get_npc_unsafe +/* B84C78 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* B84C7C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* B84C80 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* B84C84 80240B04 8C630000 */ lw $v1, ($v1) +/* B84C88 80240B08 0083182A */ slt $v1, $a0, $v1 +/* B84C8C 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* B84C90 80240B10 0040302D */ daddu $a2, $v0, $zero +/* B84C94 80240B14 00041040 */ sll $v0, $a0, 1 +/* B84C98 80240B18 00441021 */ addu $v0, $v0, $a0 +/* B84C9C 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* B84CA0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* B84CA4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* B84CA8 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* B84CAC 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* B84CB0 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* B84CB4 80240B34 4602003E */ c.le.s $f0, $f2 +/* B84CB8 80240B38 00000000 */ nop +/* B84CBC 80240B3C 45020003 */ bc1fl .L80240B4C +/* B84CC0 80240B40 24840001 */ addiu $a0, $a0, 1 +/* B84CC4 80240B44 080902D7 */ j .L80240B5C +/* B84CC8 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* B84CCC 80240B4C 8C620000 */ lw $v0, ($v1) +/* B84CD0 80240B50 0082102A */ slt $v0, $a0, $v0 +/* B84CD4 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* B84CD8 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* B84CDC 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* B84CE0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* B84CE4 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* B84CE8 80240B68 8C420004 */ lw $v0, 4($v0) +/* B84CEC 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* B84CF0 80240B70 24020001 */ addiu $v0, $zero, 1 +/* B84CF4 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* B84CF8 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* B84CFC 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* B84D00 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* B84D04 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* B84D08 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* B84D0C 80240B8C 03E00008 */ jr $ra +/* B84D10 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240B94_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240B94_B84180.s new file mode 100644 index 0000000000..f3cbeada1b --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240B94_B84180.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_B84D14 +/* B84D14 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B84D18 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* B84D1C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* B84D20 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* B84D24 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* B84D28 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* B84D2C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* B84D30 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* B84D34 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* B84D38 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* B84D3C 80240BBC 86240008 */ lh $a0, 8($s1) +/* B84D40 80240BC0 0C00EABB */ jal get_npc_unsafe +/* B84D44 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* B84D48 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* B84D4C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* B84D50 80240BD0 8C650000 */ lw $a1, ($v1) +/* B84D54 80240BD4 0C0B1EAF */ jal get_variable +/* B84D58 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* B84D5C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* B84D60 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84D64 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* B84D68 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* B84D6C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84D70 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* B84D74 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* B84D78 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84D7C 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* B84D80 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* B84D84 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84D88 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* B84D8C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* B84D90 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* B84D94 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* B84D98 80240C18 3C014282 */ lui $at, 0x4282 +/* B84D9C 80240C1C 44810000 */ mtc1 $at, $f0 +/* B84DA0 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* B84DA4 80240C24 0040982D */ daddu $s3, $v0, $zero +/* B84DA8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* B84DAC 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* B84DB0 80240C30 16000005 */ bnez $s0, .L80240C48 +/* B84DB4 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* B84DB8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* B84DBC 80240C3C 30420004 */ andi $v0, $v0, 4 +/* B84DC0 80240C40 10400044 */ beqz $v0, .L80240D54 +/* B84DC4 80240C44 00000000 */ nop +.L80240C48: +/* B84DC8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* B84DCC 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* B84DD0 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* B84DD4 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* B84DD8 80240C58 8E430000 */ lw $v1, ($s2) +/* B84DDC 80240C5C 8C420000 */ lw $v0, ($v0) +/* B84DE0 80240C60 00641824 */ and $v1, $v1, $a0 +/* B84DE4 80240C64 AE430000 */ sw $v1, ($s2) +/* B84DE8 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* B84DEC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* B84DF0 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* B84DF4 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* B84DF8 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* B84DFC 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* B84E00 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* B84E04 80240C84 08090325 */ j .L80240C94 +/* B84E08 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* B84E0C 80240C8C 00621024 */ and $v0, $v1, $v0 +/* B84E10 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* B84E14 80240C94 AE420000 */ sw $v0, ($s2) +/* B84E18 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* B84E1C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* B84E20 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* B84E24 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* B84E28 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* B84E2C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* B84E30 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B84E34 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* B84E38 80240CB8 00431024 */ and $v0, $v0, $v1 +/* B84E3C 80240CBC 0809033C */ j .L80240CF0 +/* B84E40 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* B84E44 80240CC4 8E220000 */ lw $v0, ($s1) +/* B84E48 80240CC8 3C034000 */ lui $v1, 0x4000 +/* B84E4C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* B84E50 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* B84E54 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* B84E58 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* B84E5C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* B84E60 80240CE0 8E220000 */ lw $v0, ($s1) +/* B84E64 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* B84E68 80240CE8 00431024 */ and $v0, $v0, $v1 +/* B84E6C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* B84E70 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* B84E74 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* B84E78 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* B84E7C 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* B84E80 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* B84E84 80240D04 44812000 */ mtc1 $at, $f4 +/* B84E88 80240D08 44823000 */ mtc1 $v0, $f6 +/* B84E8C 80240D0C 00000000 */ nop +/* B84E90 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* B84E94 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* B84E98 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* B84E9C 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* B84EA0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* B84EA4 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* B84EA8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* B84EAC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* B84EB0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* B84EB4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* B84EB8 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* B84EBC 80240D3C 0C0372DF */ jal func_800DCB7C +/* B84EC0 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* B84EC4 80240D44 10400003 */ beqz $v0, .L80240D54 +/* B84EC8 80240D48 00000000 */ nop +/* B84ECC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* B84ED0 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* B84ED4 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* B84ED8 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* B84EDC 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* B84EE0 80240D60 00031080 */ sll $v0, $v1, 2 +/* B84EE4 80240D64 3C018025 */ lui $at, 0x8025 +/* B84EE8 80240D68 00220821 */ addu $at, $at, $v0 +/* B84EEC 80240D6C 8C22B9B0 */ lw $v0, -0x4650($at) +/* B84EF0 80240D70 00400008 */ jr $v0 +/* B84EF4 80240D74 00000000 */ nop +/* B84EF8 80240D78 0280202D */ daddu $a0, $s4, $zero +/* B84EFC 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* B84F00 80240D80 0C090000 */ jal func_80240000 +/* B84F04 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* B84F08 80240D88 0280202D */ daddu $a0, $s4, $zero +/* B84F0C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* B84F10 80240D90 0C090056 */ jal func_80240158 +/* B84F14 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* B84F18 80240D98 0809039A */ j .L80240E68 +/* B84F1C 80240D9C 00000000 */ nop +/* B84F20 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* B84F24 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* B84F28 80240DA8 0C090100 */ jal func_80240400 +/* B84F2C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* B84F30 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* B84F34 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* B84F38 80240DB8 0C090130 */ jal func_802404C0 +/* B84F3C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* B84F40 80240DC0 0809039A */ j .L80240E68 +/* B84F44 80240DC4 00000000 */ nop +/* B84F48 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* B84F4C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* B84F50 80240DD0 0C09019F */ jal func_8024067C +/* B84F54 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* B84F58 80240DD8 0809039A */ j .L80240E68 +/* B84F5C 80240DDC 00000000 */ nop +/* B84F60 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* B84F64 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* B84F68 80240DE8 0C0901CC */ jal func_80240730 +/* B84F6C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* B84F70 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* B84F74 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* B84F78 80240DF8 0C0901E9 */ jal func_802407A4 +/* B84F7C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* B84F80 80240E00 0809039A */ j .L80240E68 +/* B84F84 80240E04 00000000 */ nop +/* B84F88 80240E08 0280202D */ daddu $a0, $s4, $zero +/* B84F8C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* B84F90 80240E10 0C090207 */ jal func_8024081C +/* B84F94 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* B84F98 80240E18 0280202D */ daddu $a0, $s4, $zero +/* B84F9C 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* B84FA0 80240E20 0C090253 */ jal func_8024094C +/* B84FA4 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* B84FA8 80240E28 0809039A */ j .L80240E68 +/* B84FAC 80240E2C 00000000 */ nop +/* B84FB0 80240E30 0280202D */ daddu $a0, $s4, $zero +/* B84FB4 80240E34 0260282D */ daddu $a1, $s3, $zero +/* B84FB8 80240E38 0C09029B */ jal func_80240A6C +/* B84FBC 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* B84FC0 80240E40 0809039A */ j .L80240E68 +/* B84FC4 80240E44 00000000 */ nop +/* B84FC8 80240E48 0280202D */ daddu $a0, $s4, $zero +/* B84FCC 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* B84FD0 80240E50 0C0902B5 */ jal func_80240AD4 +/* B84FD4 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* B84FD8 80240E58 0809039A */ j .L80240E68 +/* B84FDC 80240E5C 00000000 */ nop +/* B84FE0 80240E60 0C0129CF */ jal func_8004A73C +/* B84FE4 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* B84FE8 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* B84FEC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* B84FF0 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* B84FF4 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* B84FF8 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* B84FFC 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* B85000 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* B85004 80240E84 0000102D */ daddu $v0, $zero, $zero +/* B85008 80240E88 03E00008 */ jr $ra +/* B8500C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240E90_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240E90_B84180.s new file mode 100644 index 0000000000..7f3e998486 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240E90_B84180.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_B85010 +/* B85010 80240E90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B85014 80240E94 AFB00010 */ sw $s0, 0x10($sp) +/* B85018 80240E98 3C108024 */ lui $s0, 0x8024 +/* B8501C 80240E9C 261025BC */ addiu $s0, $s0, 0x25bc +/* B85020 80240EA0 AFBF0018 */ sw $ra, 0x18($sp) +/* B85024 80240EA4 AFB10014 */ sw $s1, 0x14($sp) +/* B85028 80240EA8 8E020000 */ lw $v0, ($s0) +/* B8502C 80240EAC 14400010 */ bnez $v0, .L80240EF0 +/* B85030 80240EB0 0080882D */ daddu $s1, $a0, $zero +/* B85034 80240EB4 0C00AB39 */ jal heap_malloc +/* B85038 80240EB8 24040040 */ addiu $a0, $zero, 0x40 +/* B8503C 80240EBC AE020000 */ sw $v0, ($s0) +/* B85040 80240EC0 0000182D */ daddu $v1, $zero, $zero +/* B85044 80240EC4 0040282D */ daddu $a1, $v0, $zero +/* B85048 80240EC8 0220202D */ daddu $a0, $s1, $zero +.L80240ECC: +/* B8504C 80240ECC 8C820084 */ lw $v0, 0x84($a0) +/* B85050 80240ED0 24840004 */ addiu $a0, $a0, 4 +/* B85054 80240ED4 24630001 */ addiu $v1, $v1, 1 +/* B85058 80240ED8 ACA20000 */ sw $v0, ($a1) +/* B8505C 80240EDC 28620010 */ slti $v0, $v1, 0x10 +/* B85060 80240EE0 1440FFFA */ bnez $v0, .L80240ECC +/* B85064 80240EE4 24A50004 */ addiu $a1, $a1, 4 +/* B85068 80240EE8 080903CB */ j .L80240F2C +/* B8506C 80240EEC 00000000 */ nop +.L80240EF0: +/* B85070 80240EF0 0000182D */ daddu $v1, $zero, $zero +/* B85074 80240EF4 0040282D */ daddu $a1, $v0, $zero +/* B85078 80240EF8 0220202D */ daddu $a0, $s1, $zero +.L80240EFC: +/* B8507C 80240EFC 8CA20000 */ lw $v0, ($a1) +/* B85080 80240F00 24A50004 */ addiu $a1, $a1, 4 +/* B85084 80240F04 24630001 */ addiu $v1, $v1, 1 +/* B85088 80240F08 AC820084 */ sw $v0, 0x84($a0) +/* B8508C 80240F0C 28620010 */ slti $v0, $v1, 0x10 +/* B85090 80240F10 1440FFFA */ bnez $v0, .L80240EFC +/* B85094 80240F14 24840004 */ addiu $a0, $a0, 4 +/* B85098 80240F18 3C108024 */ lui $s0, 0x8024 +/* B8509C 80240F1C 261025BC */ addiu $s0, $s0, 0x25bc +/* B850A0 80240F20 0C00AB4B */ jal heap_free +/* B850A4 80240F24 8E040000 */ lw $a0, ($s0) +/* B850A8 80240F28 AE000000 */ sw $zero, ($s0) +.L80240F2C: +/* B850AC 80240F2C 8FBF0018 */ lw $ra, 0x18($sp) +/* B850B0 80240F30 8FB10014 */ lw $s1, 0x14($sp) +/* B850B4 80240F34 8FB00010 */ lw $s0, 0x10($sp) +/* B850B8 80240F38 24020002 */ addiu $v0, $zero, 2 +/* B850BC 80240F3C 03E00008 */ jr $ra +/* B850C0 80240F40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240F44_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240F44_B84180.s new file mode 100644 index 0000000000..ce5ddf8897 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240F44_B84180.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F44_B850C4 +/* B850C4 80240F44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B850C8 80240F48 AFB00010 */ sw $s0, 0x10($sp) +/* B850CC 80240F4C 0080802D */ daddu $s0, $a0, $zero +/* B850D0 80240F50 AFBF0018 */ sw $ra, 0x18($sp) +/* B850D4 80240F54 AFB10014 */ sw $s1, 0x14($sp) +/* B850D8 80240F58 8E02000C */ lw $v0, 0xc($s0) +/* B850DC 80240F5C 8C510000 */ lw $s1, ($v0) +/* B850E0 80240F60 0C0B1EAF */ jal get_variable +/* B850E4 80240F64 0220282D */ daddu $a1, $s1, $zero +/* B850E8 80240F68 3C03FFF0 */ lui $v1, 0xfff0 +/* B850EC 80240F6C 3463FFFF */ ori $v1, $v1, 0xffff +/* B850F0 80240F70 0200202D */ daddu $a0, $s0, $zero +/* B850F4 80240F74 00431024 */ and $v0, $v0, $v1 +/* B850F8 80240F78 00021140 */ sll $v0, $v0, 5 +/* B850FC 80240F7C 3C068008 */ lui $a2, %hi(gItemTable) +/* B85100 80240F80 00C23021 */ addu $a2, $a2, $v0 +/* B85104 80240F84 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B85108 80240F88 0C0B2026 */ jal set_variable +/* B8510C 80240F8C 0220282D */ daddu $a1, $s1, $zero +/* B85110 80240F90 8FBF0018 */ lw $ra, 0x18($sp) +/* B85114 80240F94 8FB10014 */ lw $s1, 0x14($sp) +/* B85118 80240F98 8FB00010 */ lw $s0, 0x10($sp) +/* B8511C 80240F9C 24020002 */ addiu $v0, $zero, 2 +/* B85120 80240FA0 03E00008 */ jr $ra +/* B85124 80240FA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240FA8.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240FA8.s new file mode 100644 index 0000000000..d23ca7f4da --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240FA8.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA8 +/* B85128 80240FA8 3C03800B */ lui $v1, %hi(gCameras) +/* B8512C 80240FAC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* B85130 80240FB0 94620000 */ lhu $v0, ($v1) +/* B85134 80240FB4 34421000 */ ori $v0, $v0, 0x1000 +/* B85138 80240FB8 A4620000 */ sh $v0, ($v1) +/* B8513C 80240FBC 03E00008 */ jr $ra +/* B85140 80240FC0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240FC4_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240FC4_B84180.s new file mode 100644 index 0000000000..c0ebdd95c4 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240FC4_B84180.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FC4_B85144 +/* B85144 80240FC4 3C03800B */ lui $v1, %hi(gCameras) +/* B85148 80240FC8 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* B8514C 80240FCC 94620000 */ lhu $v0, ($v1) +/* B85150 80240FD0 3042EFFF */ andi $v0, $v0, 0xefff +/* B85154 80240FD4 A4620000 */ sh $v0, ($v1) +/* B85158 80240FD8 03E00008 */ jr $ra +/* B8515C 80240FDC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80240FE0_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80240FE0_B84180.s new file mode 100644 index 0000000000..492c50bbe3 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80240FE0_B84180.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE0_B85160 +/* B85160 80240FE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B85164 80240FE4 AFBF0010 */ sw $ra, 0x10($sp) +/* B85168 80240FE8 0C03A876 */ jal set_max_SP +/* B8516C 80240FEC 24040005 */ addiu $a0, $zero, 5 +/* B85170 80240FF0 3C028011 */ lui $v0, %hi(gPlayerData) +/* B85174 80240FF4 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* B85178 80240FF8 90430003 */ lbu $v1, 3($v0) +/* B8517C 80240FFC 90440006 */ lbu $a0, 6($v0) +/* B85180 80241000 A0430002 */ sb $v1, 2($v0) +/* B85184 80241004 0C03A6DB */ jal sync_status_menu +/* B85188 80241008 A0440005 */ sb $a0, 5($v0) +/* B8518C 8024100C 8FBF0010 */ lw $ra, 0x10($sp) +/* B85190 80241010 24020002 */ addiu $v0, $zero, 2 +/* B85194 80241014 03E00008 */ jr $ra +/* B85198 80241018 27BD0018 */ addiu $sp, $sp, 0x18 +/* B8519C 8024101C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241020_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241020_B84180.s new file mode 100644 index 0000000000..034ae67ebe --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241020_B84180.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241020_B851A0 +/* B851A0 80241020 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B851A4 80241024 AFB1001C */ sw $s1, 0x1c($sp) +/* B851A8 80241028 0080882D */ daddu $s1, $a0, $zero +/* B851AC 8024102C AFBF0020 */ sw $ra, 0x20($sp) +/* B851B0 80241030 AFB00018 */ sw $s0, 0x18($sp) +/* B851B4 80241034 8E30000C */ lw $s0, 0xc($s1) +/* B851B8 80241038 8E020000 */ lw $v0, ($s0) +/* B851BC 8024103C 1040001B */ beqz $v0, .L802410AC +/* B851C0 80241040 26100004 */ addiu $s0, $s0, 4 +/* B851C4 80241044 8E050000 */ lw $a1, ($s0) +/* B851C8 80241048 0C0B1EAF */ jal get_variable +/* B851CC 8024104C 26100004 */ addiu $s0, $s0, 4 +/* B851D0 80241050 AE220070 */ sw $v0, 0x70($s1) +/* B851D4 80241054 8E050000 */ lw $a1, ($s0) +/* B851D8 80241058 26100004 */ addiu $s0, $s0, 4 +/* B851DC 8024105C 0C0B1EAF */ jal get_variable +/* B851E0 80241060 0220202D */ daddu $a0, $s1, $zero +/* B851E4 80241064 AE220074 */ sw $v0, 0x74($s1) +/* B851E8 80241068 8E050000 */ lw $a1, ($s0) +/* B851EC 8024106C 0C0B1EAF */ jal get_variable +/* B851F0 80241070 0220202D */ daddu $a0, $s1, $zero +/* B851F4 80241074 24040168 */ addiu $a0, $zero, 0x168 +/* B851F8 80241078 0000282D */ daddu $a1, $zero, $zero +/* B851FC 8024107C C6200070 */ lwc1 $f0, 0x70($s1) +/* B85200 80241080 46800020 */ cvt.s.w $f0, $f0 +/* B85204 80241084 C6220074 */ lwc1 $f2, 0x74($s1) +/* B85208 80241088 468010A0 */ cvt.s.w $f2, $f2 +/* B8520C 8024108C 44060000 */ mfc1 $a2, $f0 +/* B85210 80241090 44071000 */ mfc1 $a3, $f2 +/* B85214 80241094 44820000 */ mtc1 $v0, $f0 +/* B85218 80241098 00000000 */ nop +/* B8521C 8024109C 46800020 */ cvt.s.w $f0, $f0 +/* B85220 802410A0 AE220078 */ sw $v0, 0x78($s1) +/* B85224 802410A4 0C05267B */ jal func_801499EC +/* B85228 802410A8 E7A00010 */ swc1 $f0, 0x10($sp) +.L802410AC: +/* B8522C 802410AC 8FBF0020 */ lw $ra, 0x20($sp) +/* B85230 802410B0 8FB1001C */ lw $s1, 0x1c($sp) +/* B85234 802410B4 8FB00018 */ lw $s0, 0x18($sp) +/* B85238 802410B8 24020002 */ addiu $v0, $zero, 2 +/* B8523C 802410BC 03E00008 */ jr $ra +/* B85240 802410C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_802410C4.s b/asm/nonmatchings/world/area_jan/jan_22/func_802410C4.s new file mode 100644 index 0000000000..fc9263cbb0 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_802410C4.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410C4 +/* B85244 802410C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B85248 802410C8 AFB1001C */ sw $s1, 0x1c($sp) +/* B8524C 802410CC 0080882D */ daddu $s1, $a0, $zero +/* B85250 802410D0 AFBF0020 */ sw $ra, 0x20($sp) +/* B85254 802410D4 AFB00018 */ sw $s0, 0x18($sp) +/* B85258 802410D8 8E30000C */ lw $s0, 0xc($s1) +/* B8525C 802410DC 8E020000 */ lw $v0, ($s0) +/* B85260 802410E0 1040001B */ beqz $v0, .L80241150 +/* B85264 802410E4 26100004 */ addiu $s0, $s0, 4 +/* B85268 802410E8 8E050000 */ lw $a1, ($s0) +/* B8526C 802410EC 0C0B1EAF */ jal get_variable +/* B85270 802410F0 26100004 */ addiu $s0, $s0, 4 +/* B85274 802410F4 AE220070 */ sw $v0, 0x70($s1) +/* B85278 802410F8 8E050000 */ lw $a1, ($s0) +/* B8527C 802410FC 26100004 */ addiu $s0, $s0, 4 +/* B85280 80241100 0C0B1EAF */ jal get_variable +/* B85284 80241104 0220202D */ daddu $a0, $s1, $zero +/* B85288 80241108 AE220074 */ sw $v0, 0x74($s1) +/* B8528C 8024110C 8E050000 */ lw $a1, ($s0) +/* B85290 80241110 0C0B1EAF */ jal get_variable +/* B85294 80241114 0220202D */ daddu $a0, $s1, $zero +/* B85298 80241118 24040185 */ addiu $a0, $zero, 0x185 +/* B8529C 8024111C 0000282D */ daddu $a1, $zero, $zero +/* B852A0 80241120 C6200070 */ lwc1 $f0, 0x70($s1) +/* B852A4 80241124 46800020 */ cvt.s.w $f0, $f0 +/* B852A8 80241128 C6220074 */ lwc1 $f2, 0x74($s1) +/* B852AC 8024112C 468010A0 */ cvt.s.w $f2, $f2 +/* B852B0 80241130 44060000 */ mfc1 $a2, $f0 +/* B852B4 80241134 44071000 */ mfc1 $a3, $f2 +/* B852B8 80241138 44820000 */ mtc1 $v0, $f0 +/* B852BC 8024113C 00000000 */ nop +/* B852C0 80241140 46800020 */ cvt.s.w $f0, $f0 +/* B852C4 80241144 AE220078 */ sw $v0, 0x78($s1) +/* B852C8 80241148 0C05267B */ jal func_801499EC +/* B852CC 8024114C E7A00010 */ swc1 $f0, 0x10($sp) +.L80241150: +/* B852D0 80241150 8FBF0020 */ lw $ra, 0x20($sp) +/* B852D4 80241154 8FB1001C */ lw $s1, 0x1c($sp) +/* B852D8 80241158 8FB00018 */ lw $s0, 0x18($sp) +/* B852DC 8024115C 24020002 */ addiu $v0, $zero, 2 +/* B852E0 80241160 03E00008 */ jr $ra +/* B852E4 80241164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241168.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241168.s new file mode 100644 index 0000000000..42517d1926 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241168.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241168 +/* B852E8 80241168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B852EC 8024116C AFB10014 */ sw $s1, 0x14($sp) +/* B852F0 80241170 0080882D */ daddu $s1, $a0, $zero +/* B852F4 80241174 AFBF001C */ sw $ra, 0x1c($sp) +/* B852F8 80241178 AFB20018 */ sw $s2, 0x18($sp) +/* B852FC 8024117C AFB00010 */ sw $s0, 0x10($sp) +/* B85300 80241180 8E22000C */ lw $v0, 0xc($s1) +/* B85304 80241184 0C0B1EAF */ jal get_variable +/* B85308 80241188 8C450000 */ lw $a1, ($v0) +/* B8530C 8024118C 8E23013C */ lw $v1, 0x13c($s1) +/* B85310 80241190 8C720000 */ lw $s2, ($v1) +/* B85314 80241194 C646000C */ lwc1 $f6, 0xc($s2) +/* B85318 80241198 C6400000 */ lwc1 $f0, ($s2) +/* B8531C 8024119C 46003181 */ sub.s $f6, $f6, $f0 +/* B85320 802411A0 3C01447A */ lui $at, 0x447a +/* B85324 802411A4 44814000 */ mtc1 $at, $f8 +/* B85328 802411A8 C6200084 */ lwc1 $f0, 0x84($s1) +/* B8532C 802411AC 46800020 */ cvt.s.w $f0, $f0 +/* B85330 802411B0 46083183 */ div.s $f6, $f6, $f8 +/* B85334 802411B4 46003182 */ mul.s $f6, $f6, $f0 +/* B85338 802411B8 00000000 */ nop +/* B8533C 802411BC C6440010 */ lwc1 $f4, 0x10($s2) +/* B85340 802411C0 C6420004 */ lwc1 $f2, 4($s2) +/* B85344 802411C4 46022101 */ sub.s $f4, $f4, $f2 +/* B85348 802411C8 C6420008 */ lwc1 $f2, 8($s2) +/* B8534C 802411CC C6400014 */ lwc1 $f0, 0x14($s2) +/* B85350 802411D0 46020001 */ sub.s $f0, $f0, $f2 +/* B85354 802411D4 46082103 */ div.s $f4, $f4, $f8 +/* B85358 802411D8 C6220084 */ lwc1 $f2, 0x84($s1) +/* B8535C 802411DC 468010A0 */ cvt.s.w $f2, $f2 +/* B85360 802411E0 46022102 */ mul.s $f4, $f4, $f2 +/* B85364 802411E4 00000000 */ nop +/* B85368 802411E8 46080003 */ div.s $f0, $f0, $f8 +/* B8536C 802411EC 46020002 */ mul.s $f0, $f0, $f2 +/* B85370 802411F0 00000000 */ nop +/* B85374 802411F4 4600328D */ trunc.w.s $f10, $f6 +/* B85378 802411F8 E62A0098 */ swc1 $f10, 0x98($s1) +/* B8537C 802411FC 4600228D */ trunc.w.s $f10, $f4 +/* B85380 80241200 E62A009C */ swc1 $f10, 0x9c($s1) +/* B85384 80241204 4600028D */ trunc.w.s $f10, $f0 +/* B85388 80241208 1440002E */ bnez $v0, .L802412C4 +/* B8538C 8024120C E62A00A0 */ swc1 $f10, 0xa0($s1) +/* B85390 80241210 0C00EAD2 */ jal get_npc_safe +/* B85394 80241214 2404FFFC */ addiu $a0, $zero, -4 +/* B85398 80241218 8E23008C */ lw $v1, 0x8c($s1) +/* B8539C 8024121C 8E240098 */ lw $a0, 0x98($s1) +/* B853A0 80241220 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B853A4 80241224 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B853A8 80241228 00641821 */ addu $v1, $v1, $a0 +/* B853AC 8024122C 44830000 */ mtc1 $v1, $f0 +/* B853B0 80241230 00000000 */ nop +/* B853B4 80241234 46800020 */ cvt.s.w $f0, $f0 +/* B853B8 80241238 E6000028 */ swc1 $f0, 0x28($s0) +/* B853BC 8024123C 8E230090 */ lw $v1, 0x90($s1) +/* B853C0 80241240 8E24009C */ lw $a0, 0x9c($s1) +/* B853C4 80241244 00641821 */ addu $v1, $v1, $a0 +/* B853C8 80241248 44830000 */ mtc1 $v1, $f0 +/* B853CC 8024124C 00000000 */ nop +/* B853D0 80241250 46800020 */ cvt.s.w $f0, $f0 +/* B853D4 80241254 E600002C */ swc1 $f0, 0x2c($s0) +/* B853D8 80241258 8E230094 */ lw $v1, 0x94($s1) +/* B853DC 8024125C 8E2400A0 */ lw $a0, 0xa0($s1) +/* B853E0 80241260 00641821 */ addu $v1, $v1, $a0 +/* B853E4 80241264 44830000 */ mtc1 $v1, $f0 +/* B853E8 80241268 00000000 */ nop +/* B853EC 8024126C 46800020 */ cvt.s.w $f0, $f0 +/* B853F0 80241270 E6000030 */ swc1 $f0, 0x30($s0) +/* B853F4 80241274 C64C0000 */ lwc1 $f12, ($s2) +/* B853F8 80241278 C64E0008 */ lwc1 $f14, 8($s2) +/* B853FC 8024127C 8E46000C */ lw $a2, 0xc($s2) +/* B85400 80241280 8E470014 */ lw $a3, 0x14($s2) +/* B85404 80241284 0C00A720 */ jal atan2 +/* B85408 80241288 0040882D */ daddu $s1, $v0, $zero +/* B8540C 8024128C C6020028 */ lwc1 $f2, 0x28($s0) +/* B85410 80241290 E6000080 */ swc1 $f0, 0x80($s0) +/* B85414 80241294 E6220038 */ swc1 $f2, 0x38($s1) +/* B85418 80241298 C600002C */ lwc1 $f0, 0x2c($s0) +/* B8541C 8024129C 3C014120 */ lui $at, 0x4120 +/* B85420 802412A0 44811000 */ mtc1 $at, $f2 +/* B85424 802412A4 00000000 */ nop +/* B85428 802412A8 46020001 */ sub.s $f0, $f0, $f2 +/* B8542C 802412AC 3C0140A0 */ lui $at, 0x40a0 +/* B85430 802412B0 44811000 */ mtc1 $at, $f2 +/* B85434 802412B4 E620003C */ swc1 $f0, 0x3c($s1) +/* B85438 802412B8 C6000030 */ lwc1 $f0, 0x30($s0) +/* B8543C 802412BC 46020001 */ sub.s $f0, $f0, $f2 +/* B85440 802412C0 E6200040 */ swc1 $f0, 0x40($s1) +.L802412C4: +/* B85444 802412C4 8FBF001C */ lw $ra, 0x1c($sp) +/* B85448 802412C8 8FB20018 */ lw $s2, 0x18($sp) +/* B8544C 802412CC 8FB10014 */ lw $s1, 0x14($sp) +/* B85450 802412D0 8FB00010 */ lw $s0, 0x10($sp) +/* B85454 802412D4 24020002 */ addiu $v0, $zero, 2 +/* B85458 802412D8 03E00008 */ jr $ra +/* B8545C 802412DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_802412E0_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_802412E0_B84180.s new file mode 100644 index 0000000000..6e11887ece --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_802412E0_B84180.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E0_B85460 +/* B85460 802412E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B85464 802412E4 AFB10014 */ sw $s1, 0x14($sp) +/* B85468 802412E8 0080882D */ daddu $s1, $a0, $zero +/* B8546C 802412EC AFBF001C */ sw $ra, 0x1c($sp) +/* B85470 802412F0 AFB20018 */ sw $s2, 0x18($sp) +/* B85474 802412F4 AFB00010 */ sw $s0, 0x10($sp) +/* B85478 802412F8 8E30000C */ lw $s0, 0xc($s1) +/* B8547C 802412FC 8E050000 */ lw $a1, ($s0) +/* B85480 80241300 0C0B1EAF */ jal get_variable +/* B85484 80241304 26100004 */ addiu $s0, $s0, 4 +/* B85488 80241308 0220202D */ daddu $a0, $s1, $zero +/* B8548C 8024130C 8E050000 */ lw $a1, ($s0) +/* B85490 80241310 2450FFEF */ addiu $s0, $v0, -0x11 +/* B85494 80241314 0C0B1EAF */ jal get_variable +/* B85498 80241318 24520011 */ addiu $s2, $v0, 0x11 +/* B8549C 8024131C 2403FFFF */ addiu $v1, $zero, -1 +/* B854A0 80241320 44900000 */ mtc1 $s0, $f0 +/* B854A4 80241324 00000000 */ nop +/* B854A8 80241328 46800020 */ cvt.s.w $f0, $f0 +/* B854AC 8024132C AE2300A4 */ sw $v1, 0xa4($s1) +/* B854B0 80241330 2443FFEF */ addiu $v1, $v0, -0x11 +/* B854B4 80241334 3C018011 */ lui $at, 0x8011 +/* B854B8 80241338 C422EFF0 */ lwc1 $f2, -0x1010($at) +/* B854BC 8024133C 4600103C */ c.lt.s $f2, $f0 +/* B854C0 80241340 00000000 */ nop +/* B854C4 80241344 45010008 */ bc1t .L80241368 +/* B854C8 80241348 24420011 */ addiu $v0, $v0, 0x11 +/* B854CC 8024134C 44920000 */ mtc1 $s2, $f0 +/* B854D0 80241350 00000000 */ nop +/* B854D4 80241354 46800020 */ cvt.s.w $f0, $f0 +/* B854D8 80241358 4602003C */ c.lt.s $f0, $f2 +/* B854DC 8024135C 00000000 */ nop +/* B854E0 80241360 45000014 */ bc1f .L802413B4 +/* B854E4 80241364 00000000 */ nop +.L80241368: +/* B854E8 80241368 44830000 */ mtc1 $v1, $f0 +/* B854EC 8024136C 00000000 */ nop +/* B854F0 80241370 46800020 */ cvt.s.w $f0, $f0 +/* B854F4 80241374 4600103C */ c.lt.s $f2, $f0 +/* B854F8 80241378 00000000 */ nop +/* B854FC 8024137C 45010008 */ bc1t .L802413A0 +/* B85500 80241380 00000000 */ nop +/* B85504 80241384 44820000 */ mtc1 $v0, $f0 +/* B85508 80241388 00000000 */ nop +/* B8550C 8024138C 46800020 */ cvt.s.w $f0, $f0 +/* B85510 80241390 4602003C */ c.lt.s $f0, $f2 +/* B85514 80241394 00000000 */ nop +/* B85518 80241398 45000006 */ bc1f .L802413B4 +/* B8551C 8024139C 00000000 */ nop +.L802413A0: +/* B85520 802413A0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B85524 802413A4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B85528 802413A8 8C420010 */ lw $v0, 0x10($v0) +/* B8552C 802413AC 30428000 */ andi $v0, $v0, 0x8000 +/* B85530 802413B0 AE2200A4 */ sw $v0, 0xa4($s1) +.L802413B4: +/* B85534 802413B4 8FBF001C */ lw $ra, 0x1c($sp) +/* B85538 802413B8 8FB20018 */ lw $s2, 0x18($sp) +/* B8553C 802413BC 8FB10014 */ lw $s1, 0x14($sp) +/* B85540 802413C0 8FB00010 */ lw $s0, 0x10($sp) +/* B85544 802413C4 24020002 */ addiu $v0, $zero, 2 +/* B85548 802413C8 03E00008 */ jr $ra +/* B8554C 802413CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_802413D0.s b/asm/nonmatchings/world/area_jan/jan_22/func_802413D0.s new file mode 100644 index 0000000000..fe6982555f --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_802413D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D0 +/* B85550 802413D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B85554 802413D4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B85558 802413D8 4485A000 */ mtc1 $a1, $f20 +/* B8555C 802413DC F7B60020 */ sdc1 $f22, 0x20($sp) +/* B85560 802413E0 4486B000 */ mtc1 $a2, $f22 +/* B85564 802413E4 AFB00010 */ sw $s0, 0x10($sp) +/* B85568 802413E8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B8556C 802413EC 4487C000 */ mtc1 $a3, $f24 +/* B85570 802413F0 AFBF0014 */ sw $ra, 0x14($sp) +/* B85574 802413F4 0C019D28 */ jal guMtxIdentF +/* B85578 802413F8 0080802D */ daddu $s0, $a0, $zero +/* B8557C 802413FC 4616A582 */ mul.s $f22, $f20, $f22 +/* B85580 80241400 00000000 */ nop +/* B85584 80241404 4618A502 */ mul.s $f20, $f20, $f24 +/* B85588 80241408 00000000 */ nop +/* B8558C 8024140C 3C013F80 */ lui $at, 0x3f80 +/* B85590 80241410 44810000 */ mtc1 $at, $f0 +/* B85594 80241414 00000000 */ nop +/* B85598 80241418 E6000014 */ swc1 $f0, 0x14($s0) +/* B8559C 8024141C E6160010 */ swc1 $f22, 0x10($s0) +/* B855A0 80241420 E6140018 */ swc1 $f20, 0x18($s0) +/* B855A4 80241424 8FBF0014 */ lw $ra, 0x14($sp) +/* B855A8 80241428 8FB00010 */ lw $s0, 0x10($sp) +/* B855AC 8024142C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B855B0 80241430 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B855B4 80241434 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B855B8 80241438 03E00008 */ jr $ra +/* B855BC 8024143C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241440_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241440_B84180.s new file mode 100644 index 0000000000..eb069469b6 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241440_B84180.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241440_B855C0 +/* B855C0 80241440 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B855C4 80241444 AFB10054 */ sw $s1, 0x54($sp) +/* B855C8 80241448 0080882D */ daddu $s1, $a0, $zero +/* B855CC 8024144C AFBF005C */ sw $ra, 0x5c($sp) +/* B855D0 80241450 AFB20058 */ sw $s2, 0x58($sp) +/* B855D4 80241454 AFB00050 */ sw $s0, 0x50($sp) +/* B855D8 80241458 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B855DC 8024145C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B855E0 80241460 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B855E4 80241464 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B855E8 80241468 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B855EC 8024146C 8E30000C */ lw $s0, 0xc($s1) +/* B855F0 80241470 8E050000 */ lw $a1, ($s0) +/* B855F4 80241474 0C0B1EAF */ jal get_variable +/* B855F8 80241478 26100004 */ addiu $s0, $s0, 4 +/* B855FC 8024147C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B85600 80241480 0040202D */ daddu $a0, $v0, $zero +/* B85604 80241484 8E050000 */ lw $a1, ($s0) +/* B85608 80241488 26100004 */ addiu $s0, $s0, 4 +/* B8560C 8024148C 0220202D */ daddu $a0, $s1, $zero +/* B85610 80241490 0C0B210B */ jal get_float_variable +/* B85614 80241494 0040902D */ daddu $s2, $v0, $zero +/* B85618 80241498 8E050000 */ lw $a1, ($s0) +/* B8561C 8024149C 26100004 */ addiu $s0, $s0, 4 +/* B85620 802414A0 0220202D */ daddu $a0, $s1, $zero +/* B85624 802414A4 0C0B210B */ jal get_float_variable +/* B85628 802414A8 46000706 */ mov.s $f28, $f0 +/* B8562C 802414AC 8E050000 */ lw $a1, ($s0) +/* B85630 802414B0 26100004 */ addiu $s0, $s0, 4 +/* B85634 802414B4 0220202D */ daddu $a0, $s1, $zero +/* B85638 802414B8 0C0B210B */ jal get_float_variable +/* B8563C 802414BC 46000686 */ mov.s $f26, $f0 +/* B85640 802414C0 0220202D */ daddu $a0, $s1, $zero +/* B85644 802414C4 8E050000 */ lw $a1, ($s0) +/* B85648 802414C8 0C0B210B */ jal get_float_variable +/* B8564C 802414CC 46000586 */ mov.s $f22, $f0 +/* B85650 802414D0 0240202D */ daddu $a0, $s2, $zero +/* B85654 802414D4 0C046B4C */ jal get_model_from_list_index +/* B85658 802414D8 46000606 */ mov.s $f24, $f0 +/* B8565C 802414DC 0040882D */ daddu $s1, $v0, $zero +/* B85660 802414E0 96220000 */ lhu $v0, ($s1) +/* B85664 802414E4 30420400 */ andi $v0, $v0, 0x400 +/* B85668 802414E8 1440001E */ bnez $v0, .L80241564 +/* B8566C 802414EC 26300058 */ addiu $s0, $s1, 0x58 +/* B85670 802414F0 4480A000 */ mtc1 $zero, $f20 +/* B85674 802414F4 4406B000 */ mfc1 $a2, $f22 +/* B85678 802414F8 4405A000 */ mfc1 $a1, $f20 +/* B8567C 802414FC 4407A000 */ mfc1 $a3, $f20 +/* B85680 80241500 0C019E40 */ jal guTranslateF +/* B85684 80241504 0200202D */ daddu $a0, $s0, $zero +/* B85688 80241508 4405E000 */ mfc1 $a1, $f28 +/* B8568C 8024150C 4406D000 */ mfc1 $a2, $f26 +/* B85690 80241510 4407C000 */ mfc1 $a3, $f24 +/* B85694 80241514 0C0904F4 */ jal func_802413D0 +/* B85698 80241518 27A40010 */ addiu $a0, $sp, 0x10 +/* B8569C 8024151C 27A40010 */ addiu $a0, $sp, 0x10 +/* B856A0 80241520 0200282D */ daddu $a1, $s0, $zero +/* B856A4 80241524 0C019D80 */ jal guMtxCatF +/* B856A8 80241528 0200302D */ daddu $a2, $s0, $zero +/* B856AC 8024152C 27A40010 */ addiu $a0, $sp, 0x10 +/* B856B0 80241530 4600B587 */ neg.s $f22, $f22 +/* B856B4 80241534 4405A000 */ mfc1 $a1, $f20 +/* B856B8 80241538 4406B000 */ mfc1 $a2, $f22 +/* B856BC 8024153C 0C019E40 */ jal guTranslateF +/* B856C0 80241540 00A0382D */ daddu $a3, $a1, $zero +/* B856C4 80241544 27A40010 */ addiu $a0, $sp, 0x10 +/* B856C8 80241548 0200282D */ daddu $a1, $s0, $zero +/* B856CC 8024154C 0C019D80 */ jal guMtxCatF +/* B856D0 80241550 00A0302D */ daddu $a2, $a1, $zero +/* B856D4 80241554 96220000 */ lhu $v0, ($s1) +/* B856D8 80241558 34421400 */ ori $v0, $v0, 0x1400 +/* B856DC 8024155C 08090577 */ j .L802415DC +/* B856E0 80241560 A6220000 */ sh $v0, ($s1) +.L80241564: +/* B856E4 80241564 4480A000 */ mtc1 $zero, $f20 +/* B856E8 80241568 4406B000 */ mfc1 $a2, $f22 +/* B856EC 8024156C 4405A000 */ mfc1 $a1, $f20 +/* B856F0 80241570 4407A000 */ mfc1 $a3, $f20 +/* B856F4 80241574 0C019E40 */ jal guTranslateF +/* B856F8 80241578 27A40010 */ addiu $a0, $sp, 0x10 +/* B856FC 8024157C 27A40010 */ addiu $a0, $sp, 0x10 +/* B85700 80241580 26300058 */ addiu $s0, $s1, 0x58 +/* B85704 80241584 0200282D */ daddu $a1, $s0, $zero +/* B85708 80241588 0C019D80 */ jal guMtxCatF +/* B8570C 8024158C 0200302D */ daddu $a2, $s0, $zero +/* B85710 80241590 4405E000 */ mfc1 $a1, $f28 +/* B85714 80241594 4406D000 */ mfc1 $a2, $f26 +/* B85718 80241598 4407C000 */ mfc1 $a3, $f24 +/* B8571C 8024159C 0C0904F4 */ jal func_802413D0 +/* B85720 802415A0 27A40010 */ addiu $a0, $sp, 0x10 +/* B85724 802415A4 27A40010 */ addiu $a0, $sp, 0x10 +/* B85728 802415A8 0200282D */ daddu $a1, $s0, $zero +/* B8572C 802415AC 0C019D80 */ jal guMtxCatF +/* B85730 802415B0 0200302D */ daddu $a2, $s0, $zero +/* B85734 802415B4 27A40010 */ addiu $a0, $sp, 0x10 +/* B85738 802415B8 4600B587 */ neg.s $f22, $f22 +/* B8573C 802415BC 4405A000 */ mfc1 $a1, $f20 +/* B85740 802415C0 4406B000 */ mfc1 $a2, $f22 +/* B85744 802415C4 0C019E40 */ jal guTranslateF +/* B85748 802415C8 00A0382D */ daddu $a3, $a1, $zero +/* B8574C 802415CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B85750 802415D0 0200282D */ daddu $a1, $s0, $zero +/* B85754 802415D4 0C019D80 */ jal guMtxCatF +/* B85758 802415D8 00A0302D */ daddu $a2, $a1, $zero +.L802415DC: +/* B8575C 802415DC 8FBF005C */ lw $ra, 0x5c($sp) +/* B85760 802415E0 8FB20058 */ lw $s2, 0x58($sp) +/* B85764 802415E4 8FB10054 */ lw $s1, 0x54($sp) +/* B85768 802415E8 8FB00050 */ lw $s0, 0x50($sp) +/* B8576C 802415EC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B85770 802415F0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B85774 802415F4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B85778 802415F8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B8577C 802415FC D7B40060 */ ldc1 $f20, 0x60($sp) +/* B85780 80241600 24020002 */ addiu $v0, $zero, 2 +/* B85784 80241604 03E00008 */ jr $ra +/* B85788 80241608 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_8024160C.s b/asm/nonmatchings/world/area_jan/jan_22/func_8024160C.s new file mode 100644 index 0000000000..2bdc36e895 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_8024160C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024160C +/* B8578C 8024160C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B85790 80241610 AFB00010 */ sw $s0, 0x10($sp) +/* B85794 80241614 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B85798 80241618 4485A000 */ mtc1 $a1, $f20 +/* B8579C 8024161C AFBF0014 */ sw $ra, 0x14($sp) +/* B857A0 80241620 0C019D28 */ jal guMtxIdentF +/* B857A4 80241624 0080802D */ daddu $s0, $a0, $zero +/* B857A8 80241628 3C018025 */ lui $at, 0x8025 +/* B857AC 8024162C D420BB40 */ ldc1 $f0, -0x44c0($at) +/* B857B0 80241630 4600A521 */ cvt.d.s $f20, $f20 +/* B857B4 80241634 4620A502 */ mul.d $f20, $f20, $f0 +/* B857B8 80241638 00000000 */ nop +/* B857BC 8024163C 3C013F80 */ lui $at, 0x3f80 +/* B857C0 80241640 44810000 */ mtc1 $at, $f0 +/* B857C4 80241644 AE000018 */ sw $zero, 0x18($s0) +/* B857C8 80241648 E6000014 */ swc1 $f0, 0x14($s0) +/* B857CC 8024164C 4620A520 */ cvt.s.d $f20, $f20 +/* B857D0 80241650 E6140010 */ swc1 $f20, 0x10($s0) +/* B857D4 80241654 8FBF0014 */ lw $ra, 0x14($sp) +/* B857D8 80241658 8FB00010 */ lw $s0, 0x10($sp) +/* B857DC 8024165C D7B40018 */ ldc1 $f20, 0x18($sp) +/* B857E0 80241660 03E00008 */ jr $ra +/* B857E4 80241664 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241668_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241668_B84180.s new file mode 100644 index 0000000000..88e5a4b7ef --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241668_B84180.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_B857E8 +/* B857E8 80241668 27BDFF98 */ addiu $sp, $sp, -0x68 +/* B857EC 8024166C AFB10054 */ sw $s1, 0x54($sp) +/* B857F0 80241670 0080882D */ daddu $s1, $a0, $zero +/* B857F4 80241674 AFBF0058 */ sw $ra, 0x58($sp) +/* B857F8 80241678 AFB00050 */ sw $s0, 0x50($sp) +/* B857FC 8024167C F7B40060 */ sdc1 $f20, 0x60($sp) +/* B85800 80241680 8E30000C */ lw $s0, 0xc($s1) +/* B85804 80241684 8E050000 */ lw $a1, ($s0) +/* B85808 80241688 0C0B1EAF */ jal get_variable +/* B8580C 8024168C 26100004 */ addiu $s0, $s0, 4 +/* B85810 80241690 0C046C04 */ jal get_model_list_index_from_tree_index +/* B85814 80241694 0040202D */ daddu $a0, $v0, $zero +/* B85818 80241698 0220202D */ daddu $a0, $s1, $zero +/* B8581C 8024169C 8E050000 */ lw $a1, ($s0) +/* B85820 802416A0 0C0B210B */ jal get_float_variable +/* B85824 802416A4 0040802D */ daddu $s0, $v0, $zero +/* B85828 802416A8 0200202D */ daddu $a0, $s0, $zero +/* B8582C 802416AC 0C046B4C */ jal get_model_from_list_index +/* B85830 802416B0 46000506 */ mov.s $f20, $f0 +/* B85834 802416B4 0040802D */ daddu $s0, $v0, $zero +/* B85838 802416B8 96020000 */ lhu $v0, ($s0) +/* B8583C 802416BC 30420400 */ andi $v0, $v0, 0x400 +/* B85840 802416C0 14400008 */ bnez $v0, .L802416E4 +/* B85844 802416C4 00000000 */ nop +/* B85848 802416C8 4405A000 */ mfc1 $a1, $f20 +/* B8584C 802416CC 0C090583 */ jal func_8024160C +/* B85850 802416D0 26040058 */ addiu $a0, $s0, 0x58 +/* B85854 802416D4 96020000 */ lhu $v0, ($s0) +/* B85858 802416D8 34421400 */ ori $v0, $v0, 0x1400 +/* B8585C 802416DC 080905C0 */ j .L80241700 +/* B85860 802416E0 A6020000 */ sh $v0, ($s0) +.L802416E4: +/* B85864 802416E4 4405A000 */ mfc1 $a1, $f20 +/* B85868 802416E8 0C090583 */ jal func_8024160C +/* B8586C 802416EC 27A40010 */ addiu $a0, $sp, 0x10 +/* B85870 802416F0 27A40010 */ addiu $a0, $sp, 0x10 +/* B85874 802416F4 26050058 */ addiu $a1, $s0, 0x58 +/* B85878 802416F8 0C019D80 */ jal guMtxCatF +/* B8587C 802416FC 00A0302D */ daddu $a2, $a1, $zero +.L80241700: +/* B85880 80241700 8FBF0058 */ lw $ra, 0x58($sp) +/* B85884 80241704 8FB10054 */ lw $s1, 0x54($sp) +/* B85888 80241708 8FB00050 */ lw $s0, 0x50($sp) +/* B8588C 8024170C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B85890 80241710 24020002 */ addiu $v0, $zero, 2 +/* B85894 80241714 03E00008 */ jr $ra +/* B85898 80241718 27BD0068 */ addiu $sp, $sp, 0x68 +/* B8589C 8024171C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241720_B84180.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241720_B84180.s new file mode 100644 index 0000000000..868fafd822 --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241720_B84180.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241720_B858A0 +/* B858A0 80241720 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B858A4 80241724 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B858A8 80241728 4485A000 */ mtc1 $a1, $f20 +/* B858AC 8024172C F7B60020 */ sdc1 $f22, 0x20($sp) +/* B858B0 80241730 4486B000 */ mtc1 $a2, $f22 +/* B858B4 80241734 AFB00010 */ sw $s0, 0x10($sp) +/* B858B8 80241738 F7B80028 */ sdc1 $f24, 0x28($sp) +/* B858BC 8024173C 4487C000 */ mtc1 $a3, $f24 +/* B858C0 80241740 AFBF0014 */ sw $ra, 0x14($sp) +/* B858C4 80241744 0C019D28 */ jal guMtxIdentF +/* B858C8 80241748 0080802D */ daddu $s0, $a0, $zero +/* B858CC 8024174C 4616A582 */ mul.s $f22, $f20, $f22 +/* B858D0 80241750 00000000 */ nop +/* B858D4 80241754 4618A502 */ mul.s $f20, $f20, $f24 +/* B858D8 80241758 00000000 */ nop +/* B858DC 8024175C 3C013F80 */ lui $at, 0x3f80 +/* B858E0 80241760 44810000 */ mtc1 $at, $f0 +/* B858E4 80241764 00000000 */ nop +/* B858E8 80241768 E6000014 */ swc1 $f0, 0x14($s0) +/* B858EC 8024176C E6160010 */ swc1 $f22, 0x10($s0) +/* B858F0 80241770 E6140018 */ swc1 $f20, 0x18($s0) +/* B858F4 80241774 8FBF0014 */ lw $ra, 0x14($sp) +/* B858F8 80241778 8FB00010 */ lw $s0, 0x10($sp) +/* B858FC 8024177C D7B80028 */ ldc1 $f24, 0x28($sp) +/* B85900 80241780 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B85904 80241784 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B85908 80241788 03E00008 */ jr $ra +/* B8590C 8024178C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_jan/jan_22/func_80241790.s b/asm/nonmatchings/world/area_jan/jan_22/func_80241790.s new file mode 100644 index 0000000000..d35ab6abbc --- /dev/null +++ b/asm/nonmatchings/world/area_jan/jan_22/func_80241790.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241790 +/* B85910 80241790 27BDFF78 */ addiu $sp, $sp, -0x88 +/* B85914 80241794 AFB10054 */ sw $s1, 0x54($sp) +/* B85918 80241798 0080882D */ daddu $s1, $a0, $zero +/* B8591C 8024179C AFBF005C */ sw $ra, 0x5c($sp) +/* B85920 802417A0 AFB20058 */ sw $s2, 0x58($sp) +/* B85924 802417A4 AFB00050 */ sw $s0, 0x50($sp) +/* B85928 802417A8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* B8592C 802417AC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B85930 802417B0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B85934 802417B4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* B85938 802417B8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B8593C 802417BC 8E30000C */ lw $s0, 0xc($s1) +/* B85940 802417C0 8E050000 */ lw $a1, ($s0) +/* B85944 802417C4 0C0B1EAF */ jal get_variable +/* B85948 802417C8 26100004 */ addiu $s0, $s0, 4 +/* B8594C 802417CC 0C046C04 */ jal get_model_list_index_from_tree_index +/* B85950 802417D0 0040202D */ daddu $a0, $v0, $zero +/* B85954 802417D4 8E050000 */ lw $a1, ($s0) +/* B85958 802417D8 26100004 */ addiu $s0, $s0, 4 +/* B8595C 802417DC 0220202D */ daddu $a0, $s1, $zero +/* B85960 802417E0 0C0B210B */ jal get_float_variable +/* B85964 802417E4 0040902D */ daddu $s2, $v0, $zero +/* B85968 802417E8 8E050000 */ lw $a1, ($s0) +/* B8596C 802417EC 26100004 */ addiu $s0, $s0, 4 +/* B85970 802417F0 0220202D */ daddu $a0, $s1, $zero +/* B85974 802417F4 0C0B210B */ jal get_float_variable +/* B85978 802417F8 46000706 */ mov.s $f28, $f0 +/* B8597C 802417FC 8E050000 */ lw $a1, ($s0) +/* B85980 80241800 26100004 */ addiu $s0, $s0, 4 +/* B85984 80241804 0220202D */ daddu $a0, $s1, $zero +/* B85988 80241808 0C0B210B */ jal get_float_variable +/* B8598C 8024180C 46000686 */ mov.s $f26, $f0 +/* B85990 80241810 0220202D */ daddu $a0, $s1, $zero +/* B85994 80241814 8E050000 */ lw $a1, ($s0) +/* B85998 80241818 0C0B210B */ jal get_float_variable +/* B8599C 8024181C 46000586 */ mov.s $f22, $f0 +/* B859A0 80241820 0240202D */ daddu $a0, $s2, $zero +/* B859A4 80241824 0C046B4C */ jal get_model_from_list_index +/* B859A8 80241828 46000606 */ mov.s $f24, $f0 +/* B859AC 8024182C 0040882D */ daddu $s1, $v0, $zero +/* B859B0 80241830 96220000 */ lhu $v0, ($s1) +/* B859B4 80241834 30420400 */ andi $v0, $v0, 0x400 +/* B859B8 80241838 1440001E */ bnez $v0, .L802418B4 +/* B859BC 8024183C 26300058 */ addiu $s0, $s1, 0x58 +/* B859C0 80241840 4480A000 */ mtc1 $zero, $f20 +/* B859C4 80241844 4406B000 */ mfc1 $a2, $f22 +/* B859C8 80241848 4405A000 */ mfc1 $a1, $f20 +/* B859CC 8024184C 4407A000 */ mfc1 $a3, $f20 +/* B859D0 80241850 0C019E40 */ jal guTranslateF +/* B859D4 80241854 0200202D */ daddu $a0, $s0, $zero +/* B859D8 80241858 4405E000 */ mfc1 $a1, $f28 +/* B859DC 8024185C 4406D000 */ mfc1 $a2, $f26 +/* B859E0 80241860 4407C000 */ mfc1 $a3, $f24 +/* B859E4 80241864 0C0905C8 */ jal func_80241720 +/* B859E8 80241868 27A40010 */ addiu $a0, $sp, 0x10 +/* B859EC 8024186C 27A40010 */ addiu $a0, $sp, 0x10 +/* B859F0 80241870 0200282D */ daddu $a1, $s0, $zero +/* B859F4 80241874 0C019D80 */ jal guMtxCatF +/* B859F8 80241878 0200302D */ daddu $a2, $s0, $zero +/* B859FC 8024187C 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A00 80241880 4600B587 */ neg.s $f22, $f22 +/* B85A04 80241884 4405A000 */ mfc1 $a1, $f20 +/* B85A08 80241888 4406B000 */ mfc1 $a2, $f22 +/* B85A0C 8024188C 0C019E40 */ jal guTranslateF +/* B85A10 80241890 00A0382D */ daddu $a3, $a1, $zero +/* B85A14 80241894 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A18 80241898 0200282D */ daddu $a1, $s0, $zero +/* B85A1C 8024189C 0C019D80 */ jal guMtxCatF +/* B85A20 802418A0 00A0302D */ daddu $a2, $a1, $zero +/* B85A24 802418A4 96220000 */ lhu $v0, ($s1) +/* B85A28 802418A8 34421400 */ ori $v0, $v0, 0x1400 +/* B85A2C 802418AC 0809064B */ j .L8024192C +/* B85A30 802418B0 A6220000 */ sh $v0, ($s1) +.L802418B4: +/* B85A34 802418B4 4480A000 */ mtc1 $zero, $f20 +/* B85A38 802418B8 4406B000 */ mfc1 $a2, $f22 +/* B85A3C 802418BC 4405A000 */ mfc1 $a1, $f20 +/* B85A40 802418C0 4407A000 */ mfc1 $a3, $f20 +/* B85A44 802418C4 0C019E40 */ jal guTranslateF +/* B85A48 802418C8 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A4C 802418CC 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A50 802418D0 26300058 */ addiu $s0, $s1, 0x58 +/* B85A54 802418D4 0200282D */ daddu $a1, $s0, $zero +/* B85A58 802418D8 0C019D80 */ jal guMtxCatF +/* B85A5C 802418DC 0200302D */ daddu $a2, $s0, $zero +/* B85A60 802418E0 4405E000 */ mfc1 $a1, $f28 +/* B85A64 802418E4 4406D000 */ mfc1 $a2, $f26 +/* B85A68 802418E8 4407C000 */ mfc1 $a3, $f24 +/* B85A6C 802418EC 0C0905C8 */ jal func_80241720 +/* B85A70 802418F0 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A74 802418F4 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A78 802418F8 0200282D */ daddu $a1, $s0, $zero +/* B85A7C 802418FC 0C019D80 */ jal guMtxCatF +/* B85A80 80241900 0200302D */ daddu $a2, $s0, $zero +/* B85A84 80241904 27A40010 */ addiu $a0, $sp, 0x10 +/* B85A88 80241908 4600B587 */ neg.s $f22, $f22 +/* B85A8C 8024190C 4405A000 */ mfc1 $a1, $f20 +/* B85A90 80241910 4406B000 */ mfc1 $a2, $f22 +/* B85A94 80241914 0C019E40 */ jal guTranslateF +/* B85A98 80241918 00A0382D */ daddu $a3, $a1, $zero +/* B85A9C 8024191C 27A40010 */ addiu $a0, $sp, 0x10 +/* B85AA0 80241920 0200282D */ daddu $a1, $s0, $zero +/* B85AA4 80241924 0C019D80 */ jal guMtxCatF +/* B85AA8 80241928 00A0302D */ daddu $a2, $a1, $zero +.L8024192C: +/* B85AAC 8024192C 8FBF005C */ lw $ra, 0x5c($sp) +/* B85AB0 80241930 8FB20058 */ lw $s2, 0x58($sp) +/* B85AB4 80241934 8FB10054 */ lw $s1, 0x54($sp) +/* B85AB8 80241938 8FB00050 */ lw $s0, 0x50($sp) +/* B85ABC 8024193C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* B85AC0 80241940 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B85AC4 80241944 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B85AC8 80241948 D7B60068 */ ldc1 $f22, 0x68($sp) +/* B85ACC 8024194C D7B40060 */ ldc1 $f20, 0x60($sp) +/* B85AD0 80241950 24020002 */ addiu $v0, $zero, 2 +/* B85AD4 80241954 03E00008 */ jr $ra +/* B85AD8 80241958 27BD0088 */ addiu $sp, $sp, 0x88 +/* B85ADC 8024195C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kgr/kgr_01/func_80240000_8A9A10.s b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240000_8A9A10.s new file mode 100644 index 0000000000..758f609e2d --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240000_8A9A10.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8A9A10 +/* 8A9A10 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A9A14 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* 8A9A18 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8A9A1C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8A9A20 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8A9A24 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* 8A9A28 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8A9A2C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8A9A30 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* 8A9A34 80240024 0220902D */ daddu $s2, $s1, $zero +/* 8A9A38 80240028 10A00004 */ beqz $a1, .L8024003C +/* 8A9A3C 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* 8A9A40 80240030 240200FF */ addiu $v0, $zero, 0xff +/* 8A9A44 80240034 AE020070 */ sw $v0, 0x70($s0) +/* 8A9A48 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* 8A9A4C 8024003C 24040001 */ addiu $a0, $zero, 1 +/* 8A9A50 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* 8A9A54 80240044 3C014100 */ lui $at, 0x4100 +/* 8A9A58 80240048 44811000 */ mtc1 $at, $f2 +/* 8A9A5C 8024004C 00000000 */ nop +/* 8A9A60 80240050 46020000 */ add.s $f0, $f0, $f2 +/* 8A9A64 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* 8A9A68 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* 8A9A6C 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* 8A9A70 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* 8A9A74 80240064 4600218D */ trunc.w.s $f6, $f4 +/* 8A9A78 80240068 44063000 */ mfc1 $a2, $f6 +/* 8A9A7C 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* 8A9A80 80240070 44073000 */ mfc1 $a3, $f6 +/* 8A9A84 80240074 0C04DFB0 */ jal func_80137EC0 +/* 8A9A88 80240078 0080282D */ daddu $a1, $a0, $zero +/* 8A9A8C 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 8A9A90 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 8A9A94 80240084 10400012 */ beqz $v0, .L802400D0 +/* 8A9A98 80240088 24020006 */ addiu $v0, $zero, 6 +/* 8A9A9C 8024008C 82230012 */ lb $v1, 0x12($s1) +/* 8A9AA0 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* 8A9AA4 80240094 00000000 */ nop +/* 8A9AA8 80240098 8E020074 */ lw $v0, 0x74($s0) +/* 8A9AAC 8024009C 14400004 */ bnez $v0, .L802400B0 +/* 8A9AB0 802400A0 24020001 */ addiu $v0, $zero, 1 +/* 8A9AB4 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* 8A9AB8 802400A8 0C05272D */ jal play_sound +/* 8A9ABC 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* 8A9AC0 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* 8A9AC4 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* 8A9AC8 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* 8A9ACC 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* 8A9AD0 802400C0 10400016 */ beqz $v0, .L8024011C +/* 8A9AD4 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* 8A9AD8 802400C8 08090047 */ j .L8024011C +/* 8A9ADC 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* 8A9AE0 802400D0 82430012 */ lb $v1, 0x12($s2) +/* 8A9AE4 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* 8A9AE8 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* 8A9AEC 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* 8A9AF0 802400E0 10400007 */ beqz $v0, .L80240100 +/* 8A9AF4 802400E4 00000000 */ nop +/* 8A9AF8 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* 8A9AFC 802400EC 284200FF */ slti $v0, $v0, 0xff +/* 8A9B00 802400F0 10400003 */ beqz $v0, .L80240100 +/* 8A9B04 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* 8A9B08 802400F8 0C05272D */ jal play_sound +/* 8A9B0C 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* 8A9B10 80240100 8E020070 */ lw $v0, 0x70($s0) +/* 8A9B14 80240104 24420008 */ addiu $v0, $v0, 8 +/* 8A9B18 80240108 AE020070 */ sw $v0, 0x70($s0) +/* 8A9B1C 8024010C 284200FF */ slti $v0, $v0, 0xff +/* 8A9B20 80240110 14400002 */ bnez $v0, .L8024011C +/* 8A9B24 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* 8A9B28 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* 8A9B2C 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* 8A9B30 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* 8A9B34 80240124 44053000 */ mfc1 $a1, $f6 +/* 8A9B38 80240128 0C04E035 */ jal func_801380D4 +/* 8A9B3C 8024012C 24040001 */ addiu $a0, $zero, 1 +/* 8A9B40 80240130 3C05437F */ lui $a1, 0x437f +/* 8A9B44 80240134 0C04DF69 */ jal func_80137DA4 +/* 8A9B48 80240138 2404000B */ addiu $a0, $zero, 0xb +/* 8A9B4C 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* 8A9B50 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* 8A9B54 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* 8A9B58 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* 8A9B5C 8024014C 0000102D */ daddu $v0, $zero, $zero +/* 8A9B60 80240150 03E00008 */ jr $ra +/* 8A9B64 80240154 27BD0028 */ addiu $sp, $sp, 0x28 +/* 8A9B68 80240158 00000000 */ nop +/* 8A9B6C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kgr/kgr_01/func_80240160.s b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240160.s new file mode 100644 index 0000000000..64fff389e9 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240160.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160 +/* 8A9B70 80240160 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8A9B74 80240164 AFB60028 */ sw $s6, 0x28($sp) +/* 8A9B78 80240168 00C0B02D */ daddu $s6, $a2, $zero +/* 8A9B7C 8024016C AFB7002C */ sw $s7, 0x2c($sp) +/* 8A9B80 80240170 00E0B82D */ daddu $s7, $a3, $zero +/* 8A9B84 80240174 AFB20018 */ sw $s2, 0x18($sp) +/* 8A9B88 80240178 0000902D */ daddu $s2, $zero, $zero +/* 8A9B8C 8024017C AFB50024 */ sw $s5, 0x24($sp) +/* 8A9B90 80240180 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* 8A9B94 80240184 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* 8A9B98 80240188 AFBF0030 */ sw $ra, 0x30($sp) +/* 8A9B9C 8024018C AFB40020 */ sw $s4, 0x20($sp) +/* 8A9BA0 80240190 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A9BA4 80240194 AFB10014 */ sw $s1, 0x14($sp) +/* 8A9BA8 80240198 1AC00063 */ blez $s6, .L80240328 +/* 8A9BAC 8024019C AFB00010 */ sw $s0, 0x10($sp) +/* 8A9BB0 802401A0 3C1451EB */ lui $s4, 0x51eb +/* 8A9BB4 802401A4 3694851F */ ori $s4, $s4, 0x851f +/* 8A9BB8 802401A8 00A0882D */ daddu $s1, $a1, $zero +/* 8A9BBC 802401AC 0080982D */ daddu $s3, $a0, $zero +.L802401B0: +/* 8A9BC0 802401B0 86220000 */ lh $v0, ($s1) +/* 8A9BC4 802401B4 C6A00028 */ lwc1 $f0, 0x28($s5) +/* 8A9BC8 802401B8 44826000 */ mtc1 $v0, $f12 +/* 8A9BCC 802401BC 00000000 */ nop +/* 8A9BD0 802401C0 46806320 */ cvt.s.w $f12, $f12 +/* 8A9BD4 802401C4 46006001 */ sub.s $f0, $f12, $f0 +/* 8A9BD8 802401C8 4600018D */ trunc.w.s $f6, $f0 +/* 8A9BDC 802401CC 44023000 */ mfc1 $v0, $f6 +/* 8A9BE0 802401D0 00000000 */ nop +/* 8A9BE4 802401D4 00420018 */ mult $v0, $v0 +/* 8A9BE8 802401D8 86220004 */ lh $v0, 4($s1) +/* 8A9BEC 802401DC C6A00030 */ lwc1 $f0, 0x30($s5) +/* 8A9BF0 802401E0 44821000 */ mtc1 $v0, $f2 +/* 8A9BF4 802401E4 00000000 */ nop +/* 8A9BF8 802401E8 468010A0 */ cvt.s.w $f2, $f2 +/* 8A9BFC 802401EC 46001001 */ sub.s $f0, $f2, $f0 +/* 8A9C00 802401F0 00001812 */ mflo $v1 +/* 8A9C04 802401F4 4600018D */ trunc.w.s $f6, $f0 +/* 8A9C08 802401F8 44023000 */ mfc1 $v0, $f6 +/* 8A9C0C 802401FC 00000000 */ nop +/* 8A9C10 80240200 00420018 */ mult $v0, $v0 +/* 8A9C14 80240204 00001012 */ mflo $v0 +/* 8A9C18 80240208 00621021 */ addu $v0, $v1, $v0 +/* 8A9C1C 8024020C 00000000 */ nop +/* 8A9C20 80240210 00540018 */ mult $v0, $s4 +/* 8A9C24 80240214 000217C3 */ sra $v0, $v0, 0x1f +/* 8A9C28 80240218 00001810 */ mfhi $v1 +/* 8A9C2C 8024021C 00031943 */ sra $v1, $v1, 5 +/* 8A9C30 80240220 00628023 */ subu $s0, $v1, $v0 +/* 8A9C34 80240224 2A02000B */ slti $v0, $s0, 0xb +/* 8A9C38 80240228 50400001 */ beql $v0, $zero, .L80240230 +/* 8A9C3C 8024022C 2410000A */ addiu $s0, $zero, 0xa +.L80240230: +/* 8A9C40 80240230 3C018024 */ lui $at, 0x8024 +/* 8A9C44 80240234 D4200A30 */ ldc1 $f0, 0xa30($at) +/* 8A9C48 80240238 46006321 */ cvt.d.s $f12, $f12 +/* 8A9C4C 8024023C 46206302 */ mul.d $f12, $f12, $f0 +/* 8A9C50 80240240 00000000 */ nop +/* 8A9C54 80240244 3C013CF5 */ lui $at, 0x3cf5 +/* 8A9C58 80240248 3421C28F */ ori $at, $at, 0xc28f +/* 8A9C5C 8024024C 44810000 */ mtc1 $at, $f0 +/* 8A9C60 80240250 00000000 */ nop +/* 8A9C64 80240254 46001002 */ mul.s $f0, $f2, $f0 +/* 8A9C68 80240258 00000000 */ nop +/* 8A9C6C 8024025C 3C013C23 */ lui $at, 0x3c23 +/* 8A9C70 80240260 3421D70A */ ori $at, $at, 0xd70a +/* 8A9C74 80240264 44812000 */ mtc1 $at, $f4 +/* 8A9C78 80240268 44971000 */ mtc1 $s7, $f2 +/* 8A9C7C 8024026C 00000000 */ nop +/* 8A9C80 80240270 468010A0 */ cvt.s.w $f2, $f2 +/* 8A9C84 80240274 46041082 */ mul.s $f2, $f2, $f4 +/* 8A9C88 80240278 00000000 */ nop +/* 8A9C8C 8024027C 46000021 */ cvt.d.s $f0, $f0 +/* 8A9C90 80240280 46206300 */ add.d $f12, $f12, $f0 +/* 8A9C94 80240284 001017C2 */ srl $v0, $s0, 0x1f +/* 8A9C98 80240288 460010A1 */ cvt.d.s $f2, $f2 +/* 8A9C9C 8024028C 46226300 */ add.d $f12, $f12, $f2 +/* 8A9CA0 80240290 02021021 */ addu $v0, $s0, $v0 +/* 8A9CA4 80240294 00028043 */ sra $s0, $v0, 1 +/* 8A9CA8 80240298 0C00A85B */ jal sin_rad +/* 8A9CAC 8024029C 46206320 */ cvt.s.d $f12, $f12 +/* 8A9CB0 802402A0 46000000 */ add.s $f0, $f0, $f0 +/* 8A9CB4 802402A4 3C014000 */ lui $at, 0x4000 +/* 8A9CB8 802402A8 44811000 */ mtc1 $at, $f2 +/* 8A9CBC 802402AC 00000000 */ nop +/* 8A9CC0 802402B0 46020000 */ add.s $f0, $f0, $f2 +/* 8A9CC4 802402B4 4600018D */ trunc.w.s $f6, $f0 +/* 8A9CC8 802402B8 44033000 */ mfc1 $v1, $f6 +/* 8A9CCC 802402BC 00000000 */ nop +/* 8A9CD0 802402C0 02038021 */ addu $s0, $s0, $v1 +/* 8A9CD4 802402C4 86230000 */ lh $v1, ($s1) +/* 8A9CD8 802402C8 240200C8 */ addiu $v0, $zero, 0xc8 +/* 8A9CDC 802402CC 00431823 */ subu $v1, $v0, $v1 +/* 8A9CE0 802402D0 04620001 */ bltzl $v1, .L802402D8 +/* 8A9CE4 802402D4 0000182D */ daddu $v1, $zero, $zero +.L802402D8: +/* 8A9CE8 802402D8 28620065 */ slti $v0, $v1, 0x65 +/* 8A9CEC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 8A9CF0 802402E0 24030064 */ addiu $v1, $zero, 0x64 +.L802402E4: +/* 8A9CF4 802402E4 02030018 */ mult $s0, $v1 +/* 8A9CF8 802402E8 00001012 */ mflo $v0 +/* 8A9CFC 802402EC 00000000 */ nop +/* 8A9D00 802402F0 00000000 */ nop +/* 8A9D04 802402F4 00540018 */ mult $v0, $s4 +/* 8A9D08 802402F8 96640002 */ lhu $a0, 2($s3) +/* 8A9D0C 802402FC 26730010 */ addiu $s3, $s3, 0x10 +/* 8A9D10 80240300 26520001 */ addiu $s2, $s2, 1 +/* 8A9D14 80240304 000217C3 */ sra $v0, $v0, 0x1f +/* 8A9D18 80240308 00001810 */ mfhi $v1 +/* 8A9D1C 8024030C 00031943 */ sra $v1, $v1, 5 +/* 8A9D20 80240310 00628023 */ subu $s0, $v1, $v0 +/* 8A9D24 80240314 00902021 */ addu $a0, $a0, $s0 +/* 8A9D28 80240318 A6240002 */ sh $a0, 2($s1) +/* 8A9D2C 8024031C 0256102A */ slt $v0, $s2, $s6 +/* 8A9D30 80240320 1440FFA3 */ bnez $v0, .L802401B0 +/* 8A9D34 80240324 26310010 */ addiu $s1, $s1, 0x10 +.L80240328: +/* 8A9D38 80240328 8FBF0030 */ lw $ra, 0x30($sp) +/* 8A9D3C 8024032C 8FB7002C */ lw $s7, 0x2c($sp) +/* 8A9D40 80240330 8FB60028 */ lw $s6, 0x28($sp) +/* 8A9D44 80240334 8FB50024 */ lw $s5, 0x24($sp) +/* 8A9D48 80240338 8FB40020 */ lw $s4, 0x20($sp) +/* 8A9D4C 8024033C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A9D50 80240340 8FB20018 */ lw $s2, 0x18($sp) +/* 8A9D54 80240344 8FB10014 */ lw $s1, 0x14($sp) +/* 8A9D58 80240348 8FB00010 */ lw $s0, 0x10($sp) +/* 8A9D5C 8024034C 03E00008 */ jr $ra +/* 8A9D60 80240350 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kgr/kgr_01/func_80240354.s b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240354.s new file mode 100644 index 0000000000..a5f33f9e3b --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240354.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240354 +/* 8A9D64 80240354 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8A9D68 80240358 24040001 */ addiu $a0, $zero, 1 +/* 8A9D6C 8024035C 27A50010 */ addiu $a1, $sp, 0x10 +/* 8A9D70 80240360 27A60014 */ addiu $a2, $sp, 0x14 +/* 8A9D74 80240364 27A70018 */ addiu $a3, $sp, 0x18 +/* 8A9D78 80240368 AFBF0028 */ sw $ra, 0x28($sp) +/* 8A9D7C 8024036C AFB10024 */ sw $s1, 0x24($sp) +/* 8A9D80 80240370 0C0470AC */ jal func_8011C2B0 +/* 8A9D84 80240374 AFB00020 */ sw $s0, 0x20($sp) +/* 8A9D88 80240378 3C108024 */ lui $s0, 0x8024 +/* 8A9D8C 8024037C 261007C0 */ addiu $s0, $s0, 0x7c0 +/* 8A9D90 80240380 8FA40010 */ lw $a0, 0x10($sp) +/* 8A9D94 80240384 8FA50014 */ lw $a1, 0x14($sp) +/* 8A9D98 80240388 8FA60018 */ lw $a2, 0x18($sp) +/* 8A9D9C 8024038C 0C090058 */ jal func_80240160 +/* 8A9DA0 80240390 96070000 */ lhu $a3, ($s0) +/* 8A9DA4 80240394 3C03800A */ lui $v1, 0x800a +/* 8A9DA8 80240398 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8A9DAC 8024039C 8C620000 */ lw $v0, ($v1) +/* 8A9DB0 802403A0 24040001 */ addiu $a0, $zero, 1 +/* 8A9DB4 802403A4 0040882D */ daddu $s1, $v0, $zero +/* 8A9DB8 802403A8 24420008 */ addiu $v0, $v0, 8 +/* 8A9DBC 802403AC AC620000 */ sw $v0, ($v1) +/* 8A9DC0 802403B0 3C02DE00 */ lui $v0, 0xde00 +/* 8A9DC4 802403B4 0C0470BB */ jal func_8011C2EC +/* 8A9DC8 802403B8 AE220000 */ sw $v0, ($s1) +/* 8A9DCC 802403BC 96030000 */ lhu $v1, ($s0) +/* 8A9DD0 802403C0 AE220004 */ sw $v0, 4($s1) +/* 8A9DD4 802403C4 2463000A */ addiu $v1, $v1, 0xa +/* 8A9DD8 802403C8 A6030000 */ sh $v1, ($s0) +/* 8A9DDC 802403CC 8FBF0028 */ lw $ra, 0x28($sp) +/* 8A9DE0 802403D0 8FB10024 */ lw $s1, 0x24($sp) +/* 8A9DE4 802403D4 8FB00020 */ lw $s0, 0x20($sp) +/* 8A9DE8 802403D8 03E00008 */ jr $ra +/* 8A9DEC 802403DC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kgr/kgr_01/func_802403E0.s b/asm/nonmatchings/world/area_kgr/kgr_01/func_802403E0.s new file mode 100644 index 0000000000..b3770d4b56 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_01/func_802403E0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403E0 +/* 8A9DF0 802403E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A9DF4 802403E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A9DF8 802403E8 0080802D */ daddu $s0, $a0, $zero +/* 8A9DFC 802403EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8A9E00 802403F0 C60C0084 */ lwc1 $f12, 0x84($s0) +/* 8A9E04 802403F4 46806320 */ cvt.s.w $f12, $f12 +/* 8A9E08 802403F8 3C018024 */ lui $at, 0x8024 +/* 8A9E0C 802403FC D4200A38 */ ldc1 $f0, 0xa38($at) +/* 8A9E10 80240400 46006321 */ cvt.d.s $f12, $f12 +/* 8A9E14 80240404 46206302 */ mul.d $f12, $f12, $f0 +/* 8A9E18 80240408 00000000 */ nop +/* 8A9E1C 8024040C 3C013CF5 */ lui $at, 0x3cf5 +/* 8A9E20 80240410 3421C28F */ ori $at, $at, 0xc28f +/* 8A9E24 80240414 44810000 */ mtc1 $at, $f0 +/* 8A9E28 80240418 C602008C */ lwc1 $f2, 0x8c($s0) +/* 8A9E2C 8024041C 468010A0 */ cvt.s.w $f2, $f2 +/* 8A9E30 80240420 46001082 */ mul.s $f2, $f2, $f0 +/* 8A9E34 80240424 00000000 */ nop +/* 8A9E38 80240428 3C028024 */ lui $v0, 0x8024 +/* 8A9E3C 8024042C 944207C0 */ lhu $v0, 0x7c0($v0) +/* 8A9E40 80240430 3C013C23 */ lui $at, 0x3c23 +/* 8A9E44 80240434 3421D70A */ ori $at, $at, 0xd70a +/* 8A9E48 80240438 44812000 */ mtc1 $at, $f4 +/* 8A9E4C 8024043C 44820000 */ mtc1 $v0, $f0 +/* 8A9E50 80240440 00000000 */ nop +/* 8A9E54 80240444 46800020 */ cvt.s.w $f0, $f0 +/* 8A9E58 80240448 46040002 */ mul.s $f0, $f0, $f4 +/* 8A9E5C 8024044C 00000000 */ nop +/* 8A9E60 80240450 460010A1 */ cvt.d.s $f2, $f2 +/* 8A9E64 80240454 46226300 */ add.d $f12, $f12, $f2 +/* 8A9E68 80240458 46000021 */ cvt.d.s $f0, $f0 +/* 8A9E6C 8024045C 46206300 */ add.d $f12, $f12, $f0 +/* 8A9E70 80240460 0C00A85B */ jal sin_rad +/* 8A9E74 80240464 46206320 */ cvt.s.d $f12, $f12 +/* 8A9E78 80240468 46000180 */ add.s $f6, $f0, $f0 +/* 8A9E7C 8024046C 3C014348 */ lui $at, 0x4348 +/* 8A9E80 80240470 44811000 */ mtc1 $at, $f2 +/* 8A9E84 80240474 C6000084 */ lwc1 $f0, 0x84($s0) +/* 8A9E88 80240478 46800020 */ cvt.s.w $f0, $f0 +/* 8A9E8C 8024047C 46001081 */ sub.s $f2, $f2, $f0 +/* 8A9E90 80240480 44800000 */ mtc1 $zero, $f0 +/* 8A9E94 80240484 00000000 */ nop +/* 8A9E98 80240488 4600103C */ c.lt.s $f2, $f0 +/* 8A9E9C 8024048C 00000000 */ nop +/* 8A9EA0 80240490 45030001 */ bc1tl .L80240498 +/* 8A9EA4 80240494 46000086 */ mov.s $f2, $f0 +.L80240498: +/* 8A9EA8 80240498 3C0142C8 */ lui $at, 0x42c8 +/* 8A9EAC 8024049C 44812000 */ mtc1 $at, $f4 +/* 8A9EB0 802404A0 00000000 */ nop +/* 8A9EB4 802404A4 4602203C */ c.lt.s $f4, $f2 +/* 8A9EB8 802404A8 00000000 */ nop +/* 8A9EBC 802404AC 45030001 */ bc1tl .L802404B4 +/* 8A9EC0 802404B0 46002086 */ mov.s $f2, $f4 +.L802404B4: +/* 8A9EC4 802404B4 46023082 */ mul.s $f2, $f6, $f2 +/* 8A9EC8 802404B8 00000000 */ nop +/* 8A9ECC 802404BC 3C014480 */ lui $at, 0x4480 +/* 8A9ED0 802404C0 44810000 */ mtc1 $at, $f0 +/* 8A9ED4 802404C4 46041183 */ div.s $f6, $f2, $f4 +/* 8A9ED8 802404C8 46003002 */ mul.s $f0, $f6, $f0 +/* 8A9EDC 802404CC 00000000 */ nop +/* 8A9EE0 802404D0 3C01CD5B */ lui $at, 0xcd5b +/* 8A9EE4 802404D4 34215858 */ ori $at, $at, 0x5858 +/* 8A9EE8 802404D8 44811000 */ mtc1 $at, $f2 +/* 8A9EEC 802404DC 00000000 */ nop +/* 8A9EF0 802404E0 46020000 */ add.s $f0, $f0, $f2 +/* 8A9EF4 802404E4 4600020D */ trunc.w.s $f8, $f0 +/* 8A9EF8 802404E8 E6080084 */ swc1 $f8, 0x84($s0) +/* 8A9EFC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A9F00 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8A9F04 802404F4 24020002 */ addiu $v0, $zero, 2 +/* 8A9F08 802404F8 03E00008 */ jr $ra +/* 8A9F0C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kgr/kgr_01/func_80240500.s b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240500.s new file mode 100644 index 0000000000..c9572b94b2 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_01/func_80240500.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500 +/* 8A9F10 80240500 3C028016 */ lui $v0, 0x8016 +/* 8A9F14 80240504 8442A568 */ lh $v0, -0x5a98($v0) +/* 8A9F18 80240508 04400002 */ bltz $v0, .L80240514 +/* 8A9F1C 8024050C 24020001 */ addiu $v0, $zero, 1 +/* 8A9F20 80240510 AC820088 */ sw $v0, 0x88($a0) +.L80240514: +/* 8A9F24 80240514 03E00008 */ jr $ra +/* 8A9F28 80240518 24020002 */ addiu $v0, $zero, 2 +/* 8A9F2C 8024051C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kgr/kgr_02/func_80240000_8AA450.s b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240000_8AA450.s new file mode 100644 index 0000000000..5c67bcefd2 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240000_8AA450.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8AA450 +/* 8AA450 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8AA454 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* 8AA458 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8AA45C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8AA460 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8AA464 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* 8AA468 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8AA46C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8AA470 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* 8AA474 80240024 0220902D */ daddu $s2, $s1, $zero +/* 8AA478 80240028 10A00004 */ beqz $a1, .L8024003C +/* 8AA47C 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* 8AA480 80240030 240200FF */ addiu $v0, $zero, 0xff +/* 8AA484 80240034 AE020070 */ sw $v0, 0x70($s0) +/* 8AA488 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* 8AA48C 8024003C 24040001 */ addiu $a0, $zero, 1 +/* 8AA490 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* 8AA494 80240044 3C014100 */ lui $at, 0x4100 +/* 8AA498 80240048 44811000 */ mtc1 $at, $f2 +/* 8AA49C 8024004C 00000000 */ nop +/* 8AA4A0 80240050 46020000 */ add.s $f0, $f0, $f2 +/* 8AA4A4 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* 8AA4A8 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* 8AA4AC 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* 8AA4B0 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* 8AA4B4 80240064 4600218D */ trunc.w.s $f6, $f4 +/* 8AA4B8 80240068 44063000 */ mfc1 $a2, $f6 +/* 8AA4BC 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* 8AA4C0 80240070 44073000 */ mfc1 $a3, $f6 +/* 8AA4C4 80240074 0C04DFB0 */ jal func_80137EC0 +/* 8AA4C8 80240078 0080282D */ daddu $a1, $a0, $zero +/* 8AA4CC 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* 8AA4D0 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* 8AA4D4 80240084 10400012 */ beqz $v0, .L802400D0 +/* 8AA4D8 80240088 24020006 */ addiu $v0, $zero, 6 +/* 8AA4DC 8024008C 82230012 */ lb $v1, 0x12($s1) +/* 8AA4E0 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* 8AA4E4 80240094 00000000 */ nop +/* 8AA4E8 80240098 8E020074 */ lw $v0, 0x74($s0) +/* 8AA4EC 8024009C 14400004 */ bnez $v0, .L802400B0 +/* 8AA4F0 802400A0 24020001 */ addiu $v0, $zero, 1 +/* 8AA4F4 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* 8AA4F8 802400A8 0C05272D */ jal play_sound +/* 8AA4FC 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* 8AA500 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* 8AA504 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* 8AA508 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* 8AA50C 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* 8AA510 802400C0 10400016 */ beqz $v0, .L8024011C +/* 8AA514 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* 8AA518 802400C8 08090047 */ j .L8024011C +/* 8AA51C 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* 8AA520 802400D0 82430012 */ lb $v1, 0x12($s2) +/* 8AA524 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* 8AA528 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* 8AA52C 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* 8AA530 802400E0 10400007 */ beqz $v0, .L80240100 +/* 8AA534 802400E4 00000000 */ nop +/* 8AA538 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* 8AA53C 802400EC 284200FF */ slti $v0, $v0, 0xff +/* 8AA540 802400F0 10400003 */ beqz $v0, .L80240100 +/* 8AA544 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* 8AA548 802400F8 0C05272D */ jal play_sound +/* 8AA54C 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* 8AA550 80240100 8E020070 */ lw $v0, 0x70($s0) +/* 8AA554 80240104 24420008 */ addiu $v0, $v0, 8 +/* 8AA558 80240108 AE020070 */ sw $v0, 0x70($s0) +/* 8AA55C 8024010C 284200FF */ slti $v0, $v0, 0xff +/* 8AA560 80240110 14400002 */ bnez $v0, .L8024011C +/* 8AA564 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* 8AA568 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* 8AA56C 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* 8AA570 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* 8AA574 80240124 44053000 */ mfc1 $a1, $f6 +/* 8AA578 80240128 0C04E035 */ jal func_801380D4 +/* 8AA57C 8024012C 24040001 */ addiu $a0, $zero, 1 +/* 8AA580 80240130 3C05437F */ lui $a1, 0x437f +/* 8AA584 80240134 0C04DF69 */ jal func_80137DA4 +/* 8AA588 80240138 2404000B */ addiu $a0, $zero, 0xb +/* 8AA58C 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* 8AA590 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* 8AA594 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* 8AA598 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* 8AA59C 8024014C 0000102D */ daddu $v0, $zero, $zero +/* 8AA5A0 80240150 03E00008 */ jr $ra +/* 8AA5A4 80240154 27BD0028 */ addiu $sp, $sp, 0x28 +/* 8AA5A8 80240158 00000000 */ nop +/* 8AA5AC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kgr/kgr_02/func_80240160_8AA450.s b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240160_8AA450.s new file mode 100644 index 0000000000..0c6d8965aa --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240160_8AA450.s @@ -0,0 +1,389 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_8AA5B0 +/* 8AA5B0 80240160 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8AA5B4 80240164 AFB70044 */ sw $s7, 0x44($sp) +/* 8AA5B8 80240168 0080B82D */ daddu $s7, $a0, $zero +/* 8AA5BC 8024016C 3C028024 */ lui $v0, 0x8024 +/* 8AA5C0 80240170 24420970 */ addiu $v0, $v0, 0x970 +/* 8AA5C4 80240174 AFBF004C */ sw $ra, 0x4c($sp) +/* 8AA5C8 80240178 AFBE0048 */ sw $fp, 0x48($sp) +/* 8AA5CC 8024017C AFB60040 */ sw $s6, 0x40($sp) +/* 8AA5D0 80240180 AFB5003C */ sw $s5, 0x3c($sp) +/* 8AA5D4 80240184 AFB40038 */ sw $s4, 0x38($sp) +/* 8AA5D8 80240188 AFB30034 */ sw $s3, 0x34($sp) +/* 8AA5DC 8024018C AFB20030 */ sw $s2, 0x30($sp) +/* 8AA5E0 80240190 AFB1002C */ sw $s1, 0x2c($sp) +/* 8AA5E4 80240194 AFB00028 */ sw $s0, 0x28($sp) +/* 8AA5E8 80240198 AFA50054 */ sw $a1, 0x54($sp) +/* 8AA5EC 8024019C 8C430000 */ lw $v1, ($v0) +/* 8AA5F0 802401A0 00C0B02D */ daddu $s6, $a2, $zero +/* 8AA5F4 802401A4 24630005 */ addiu $v1, $v1, 5 +/* 8AA5F8 802401A8 AC430000 */ sw $v1, ($v0) +/* 8AA5FC 802401AC 02F6102A */ slt $v0, $s7, $s6 +/* 8AA600 802401B0 10400152 */ beqz $v0, .L802406FC +/* 8AA604 802401B4 00000000 */ nop +/* 8AA608 802401B8 8FAC0054 */ lw $t4, 0x54($sp) +/* 8AA60C 802401BC 0187102A */ slt $v0, $t4, $a3 +/* 8AA610 802401C0 1040014E */ beqz $v0, .L802406FC +/* 8AA614 802401C4 00000000 */ nop +/* 8AA618 802401C8 06E20001 */ bltzl $s7, .L802401D0 +/* 8AA61C 802401CC 0000B82D */ daddu $s7, $zero, $zero +.L802401D0: +/* 8AA620 802401D0 8FAD0054 */ lw $t5, 0x54($sp) +/* 8AA624 802401D4 05A20001 */ bltzl $t5, .L802401DC +/* 8AA628 802401D8 AFA00054 */ sw $zero, 0x54($sp) +.L802401DC: +/* 8AA62C 802401DC 06C20001 */ bltzl $s6, .L802401E4 +/* 8AA630 802401E0 0000B02D */ daddu $s6, $zero, $zero +.L802401E4: +/* 8AA634 802401E4 04E20001 */ bltzl $a3, .L802401EC +/* 8AA638 802401E8 0000382D */ daddu $a3, $zero, $zero +.L802401EC: +/* 8AA63C 802401EC 2AE20140 */ slti $v0, $s7, 0x140 +/* 8AA640 802401F0 50400001 */ beql $v0, $zero, .L802401F8 +/* 8AA644 802401F4 2417013F */ addiu $s7, $zero, 0x13f +.L802401F8: +/* 8AA648 802401F8 8FAC0054 */ lw $t4, 0x54($sp) +/* 8AA64C 802401FC 298200F0 */ slti $v0, $t4, 0xf0 +/* 8AA650 80240200 14400003 */ bnez $v0, .L80240210 +/* 8AA654 80240204 2AC20140 */ slti $v0, $s6, 0x140 +/* 8AA658 80240208 240D00EF */ addiu $t5, $zero, 0xef +/* 8AA65C 8024020C AFAD0054 */ sw $t5, 0x54($sp) +.L80240210: +/* 8AA660 80240210 50400001 */ beql $v0, $zero, .L80240218 +/* 8AA664 80240214 2416013F */ addiu $s6, $zero, 0x13f +.L80240218: +/* 8AA668 80240218 28E200F0 */ slti $v0, $a3, 0xf0 +/* 8AA66C 8024021C 50400001 */ beql $v0, $zero, .L80240224 +/* 8AA670 80240220 240700EF */ addiu $a3, $zero, 0xef +.L80240224: +/* 8AA674 80240224 12F60135 */ beq $s7, $s6, .L802406FC +/* 8AA678 80240228 00000000 */ nop +/* 8AA67C 8024022C 8FAC0054 */ lw $t4, 0x54($sp) +/* 8AA680 80240230 11870132 */ beq $t4, $a3, .L802406FC +/* 8AA684 80240234 00000000 */ nop +/* 8AA688 80240238 06E10002 */ bgez $s7, .L80240244 +/* 8AA68C 8024023C 02E0102D */ daddu $v0, $s7, $zero +/* 8AA690 80240240 26E20003 */ addiu $v0, $s7, 3 +.L80240244: +/* 8AA694 80240244 00021083 */ sra $v0, $v0, 2 +/* 8AA698 80240248 0002B880 */ sll $s7, $v0, 2 +/* 8AA69C 8024024C 06C10002 */ bgez $s6, .L80240258 +/* 8AA6A0 80240250 02C0102D */ daddu $v0, $s6, $zero +/* 8AA6A4 80240254 26C20003 */ addiu $v0, $s6, 3 +.L80240258: +/* 8AA6A8 80240258 00021083 */ sra $v0, $v0, 2 +/* 8AA6AC 8024025C 00021080 */ sll $v0, $v0, 2 +/* 8AA6B0 80240260 24560004 */ addiu $s6, $v0, 4 +/* 8AA6B4 80240264 3C052AAA */ lui $a1, 0x2aaa +/* 8AA6B8 80240268 34A5AAAB */ ori $a1, $a1, 0xaaab +/* 8AA6BC 8024026C 3C06800A */ lui $a2, 0x800a +/* 8AA6C0 80240270 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 8AA6C4 80240274 8CC20000 */ lw $v0, ($a2) +/* 8AA6C8 80240278 0000F02D */ daddu $fp, $zero, $zero +/* 8AA6CC 8024027C 0040202D */ daddu $a0, $v0, $zero +/* 8AA6D0 80240280 24420008 */ addiu $v0, $v0, 8 +/* 8AA6D4 80240284 ACC20000 */ sw $v0, ($a2) +/* 8AA6D8 80240288 8FAD0054 */ lw $t5, 0x54($sp) +/* 8AA6DC 8024028C 3C02FA00 */ lui $v0, 0xfa00 +/* 8AA6E0 80240290 00ED1823 */ subu $v1, $a3, $t5 +/* 8AA6E4 80240294 00650018 */ mult $v1, $a1 +/* 8AA6E8 80240298 AC820000 */ sw $v0, ($a0) +/* 8AA6EC 8024029C 2402FFFF */ addiu $v0, $zero, -1 +/* 8AA6F0 802402A0 AC820004 */ sw $v0, 4($a0) +/* 8AA6F4 802402A4 000317C3 */ sra $v0, $v1, 0x1f +/* 8AA6F8 802402A8 00006010 */ mfhi $t4 +/* 8AA6FC 802402AC 01826023 */ subu $t4, $t4, $v0 +/* 8AA700 802402B0 AFAC0014 */ sw $t4, 0x14($sp) +/* 8AA704 802402B4 0180682D */ daddu $t5, $t4, $zero +/* 8AA708 802402B8 000D1040 */ sll $v0, $t5, 1 +/* 8AA70C 802402BC 004D1021 */ addu $v0, $v0, $t5 +/* 8AA710 802402C0 00021040 */ sll $v0, $v0, 1 +/* 8AA714 802402C4 3C0C800A */ lui $t4, 0x800a +/* 8AA718 802402C8 8D8CA64C */ lw $t4, -0x59b4($t4) +/* 8AA71C 802402CC 00621823 */ subu $v1, $v1, $v0 +/* 8AA720 802402D0 AFAD0010 */ sw $t5, 0x10($sp) +/* 8AA724 802402D4 AFA30014 */ sw $v1, 0x14($sp) +/* 8AA728 802402D8 19A00099 */ blez $t5, .L80240540 +/* 8AA72C 802402DC AFAC0018 */ sw $t4, 0x18($sp) +/* 8AA730 802402E0 00C0A02D */ daddu $s4, $a2, $zero +/* 8AA734 802402E4 02D71023 */ subu $v0, $s6, $s7 +/* 8AA738 802402E8 00021040 */ sll $v0, $v0, 1 +/* 8AA73C 802402EC 24420007 */ addiu $v0, $v0, 7 +/* 8AA740 802402F0 000210C3 */ sra $v0, $v0, 3 +/* 8AA744 802402F4 304201FF */ andi $v0, $v0, 0x1ff +/* 8AA748 802402F8 00021240 */ sll $v0, $v0, 9 +/* 8AA74C 802402FC 3C03F510 */ lui $v1, 0xf510 +/* 8AA750 80240300 00431025 */ or $v0, $v0, $v1 +/* 8AA754 80240304 AFA2001C */ sw $v0, 0x1c($sp) +/* 8AA758 80240308 26E20200 */ addiu $v0, $s7, 0x200 +/* 8AA75C 8024030C 8FB50054 */ lw $s5, 0x54($sp) +/* 8AA760 80240310 00021080 */ sll $v0, $v0, 2 +/* 8AA764 80240314 AFA20020 */ sw $v0, 0x20($sp) +/* 8AA768 80240318 AFA00024 */ sw $zero, 0x24($sp) +/* 8AA76C 8024031C 3C03FD10 */ lui $v1, 0xfd10 +.L80240320: +/* 8AA770 80240320 3463013F */ ori $v1, $v1, 0x13f +/* 8AA774 80240324 8E820000 */ lw $v0, ($s4) +/* 8AA778 80240328 8FA40018 */ lw $a0, 0x18($sp) +/* 8AA77C 8024032C 0040802D */ daddu $s0, $v0, $zero +/* 8AA780 80240330 24420008 */ addiu $v0, $v0, 8 +/* 8AA784 80240334 AE820000 */ sw $v0, ($s4) +/* 8AA788 80240338 0C0187A4 */ jal osVirtualToPhysical +/* 8AA78C 8024033C AE030000 */ sw $v1, ($s0) +/* 8AA790 80240340 3C040700 */ lui $a0, 0x700 +/* 8AA794 80240344 8E830000 */ lw $v1, ($s4) +/* 8AA798 80240348 34840090 */ ori $a0, $a0, 0x90 +/* 8AA79C 8024034C AE020004 */ sw $v0, 4($s0) +/* 8AA7A0 80240350 00178080 */ sll $s0, $s7, 2 +/* 8AA7A4 80240354 32100FFF */ andi $s0, $s0, 0xfff +/* 8AA7A8 80240358 00108300 */ sll $s0, $s0, 0xc +/* 8AA7AC 8024035C 00159080 */ sll $s2, $s5, 2 +/* 8AA7B0 80240360 32530FFF */ andi $s3, $s2, 0xfff +/* 8AA7B4 80240364 26A50005 */ addiu $a1, $s5, 5 +/* 8AA7B8 80240368 00052880 */ sll $a1, $a1, 2 +/* 8AA7BC 8024036C 30A50FFF */ andi $a1, $a1, 0xfff +/* 8AA7C0 80240370 3C11F200 */ lui $s1, 0xf200 +/* 8AA7C4 80240374 0060102D */ daddu $v0, $v1, $zero +/* 8AA7C8 80240378 24630008 */ addiu $v1, $v1, 8 +/* 8AA7CC 8024037C AE830000 */ sw $v1, ($s4) +/* 8AA7D0 80240380 8FAD001C */ lw $t5, 0x1c($sp) +/* 8AA7D4 80240384 02718825 */ or $s1, $s3, $s1 +/* 8AA7D8 80240388 AC440004 */ sw $a0, 4($v0) +/* 8AA7DC 8024038C 26C4FFFF */ addiu $a0, $s6, -1 +/* 8AA7E0 80240390 00042080 */ sll $a0, $a0, 2 +/* 8AA7E4 80240394 30840FFF */ andi $a0, $a0, 0xfff +/* 8AA7E8 80240398 00042300 */ sll $a0, $a0, 0xc +/* 8AA7EC 8024039C AC4D0000 */ sw $t5, ($v0) +/* 8AA7F0 802403A0 24620008 */ addiu $v0, $v1, 8 +/* 8AA7F4 802403A4 AE820000 */ sw $v0, ($s4) +/* 8AA7F8 802403A8 3C02E600 */ lui $v0, 0xe600 +/* 8AA7FC 802403AC AC620000 */ sw $v0, ($v1) +/* 8AA800 802403B0 24620010 */ addiu $v0, $v1, 0x10 +/* 8AA804 802403B4 AC600004 */ sw $zero, 4($v1) +/* 8AA808 802403B8 AE820000 */ sw $v0, ($s4) +/* 8AA80C 802403BC 3C02F400 */ lui $v0, 0xf400 +/* 8AA810 802403C0 02621025 */ or $v0, $s3, $v0 +/* 8AA814 802403C4 02021025 */ or $v0, $s0, $v0 +/* 8AA818 802403C8 AC620008 */ sw $v0, 8($v1) +/* 8AA81C 802403CC 3C020700 */ lui $v0, 0x700 +/* 8AA820 802403D0 00A21025 */ or $v0, $a1, $v0 +/* 8AA824 802403D4 00821025 */ or $v0, $a0, $v0 +/* 8AA828 802403D8 AC62000C */ sw $v0, 0xc($v1) +/* 8AA82C 802403DC 24620018 */ addiu $v0, $v1, 0x18 +/* 8AA830 802403E0 AE820000 */ sw $v0, ($s4) +/* 8AA834 802403E4 3C02E700 */ lui $v0, 0xe700 +/* 8AA838 802403E8 AC620010 */ sw $v0, 0x10($v1) +/* 8AA83C 802403EC 24620020 */ addiu $v0, $v1, 0x20 +/* 8AA840 802403F0 AC600014 */ sw $zero, 0x14($v1) +/* 8AA844 802403F4 AE820000 */ sw $v0, ($s4) +/* 8AA848 802403F8 24020090 */ addiu $v0, $zero, 0x90 +/* 8AA84C 802403FC AC62001C */ sw $v0, 0x1c($v1) +/* 8AA850 80240400 24620028 */ addiu $v0, $v1, 0x28 +/* 8AA854 80240404 AC6D0018 */ sw $t5, 0x18($v1) +/* 8AA858 80240408 AE820000 */ sw $v0, ($s4) +/* 8AA85C 8024040C 02111025 */ or $v0, $s0, $s1 +/* 8AA860 80240410 AC620020 */ sw $v0, 0x20($v1) +/* 8AA864 80240414 3C028024 */ lui $v0, 0x8024 +/* 8AA868 80240418 8C420970 */ lw $v0, 0x970($v0) +/* 8AA86C 8024041C 00852025 */ or $a0, $a0, $a1 +/* 8AA870 80240420 AC640024 */ sw $a0, 0x24($v1) +/* 8AA874 80240424 8FAC0024 */ lw $t4, 0x24($sp) +/* 8AA878 80240428 004C1021 */ addu $v0, $v0, $t4 +/* 8AA87C 8024042C 44826000 */ mtc1 $v0, $f12 +/* 8AA880 80240430 00000000 */ nop +/* 8AA884 80240434 46806320 */ cvt.s.w $f12, $f12 +/* 8AA888 80240438 0C00A8BB */ jal sin_deg +/* 8AA88C 8024043C 26520014 */ addiu $s2, $s2, 0x14 +/* 8AA890 80240440 3C070400 */ lui $a3, 0x400 +/* 8AA894 80240444 34E70400 */ ori $a3, $a3, 0x400 +/* 8AA898 80240448 26A20006 */ addiu $v0, $s5, 6 +/* 8AA89C 8024044C 00153140 */ sll $a2, $s5, 5 +/* 8AA8A0 80240450 0040A82D */ daddu $s5, $v0, $zero +/* 8AA8A4 80240454 32520FFF */ andi $s2, $s2, 0xfff +/* 8AA8A8 80240458 02138025 */ or $s0, $s0, $s3 +/* 8AA8AC 8024045C 8FAD0024 */ lw $t5, 0x24($sp) +/* 8AA8B0 80240460 3C014080 */ lui $at, 0x4080 +/* 8AA8B4 80240464 44811000 */ mtc1 $at, $f2 +/* 8AA8B8 80240468 25AD001E */ addiu $t5, $t5, 0x1e +/* 8AA8BC 8024046C AFAD0024 */ sw $t5, 0x24($sp) +/* 8AA8C0 80240470 8E850000 */ lw $a1, ($s4) +/* 8AA8C4 80240474 46020002 */ mul.s $f0, $f0, $f2 +/* 8AA8C8 80240478 00000000 */ nop +/* 8AA8CC 8024047C 00A0202D */ daddu $a0, $a1, $zero +/* 8AA8D0 80240480 24A50008 */ addiu $a1, $a1, 8 +/* 8AA8D4 80240484 24A20008 */ addiu $v0, $a1, 8 +/* 8AA8D8 80240488 AE850000 */ sw $a1, ($s4) +/* 8AA8DC 8024048C AE820000 */ sw $v0, ($s4) +/* 8AA8E0 80240490 4600010D */ trunc.w.s $f4, $f0 +/* 8AA8E4 80240494 44022000 */ mfc1 $v0, $f4 +/* 8AA8E8 80240498 8FAC0060 */ lw $t4, 0x60($sp) +/* 8AA8EC 8024049C 30C6FFFF */ andi $a2, $a2, 0xffff +/* 8AA8F0 802404A0 01820018 */ mult $t4, $v0 +/* 8AA8F4 802404A4 24A20010 */ addiu $v0, $a1, 0x10 +/* 8AA8F8 802404A8 AE820000 */ sw $v0, ($s4) +/* 8AA8FC 802404AC 24A20018 */ addiu $v0, $a1, 0x18 +/* 8AA900 802404B0 AE820000 */ sw $v0, ($s4) +/* 8AA904 802404B4 8FAD0020 */ lw $t5, 0x20($sp) +/* 8AA908 802404B8 00006012 */ mflo $t4 +/* 8AA90C 802404BC 01AC1821 */ addu $v1, $t5, $t4 +/* 8AA910 802404C0 30620FFF */ andi $v0, $v1, 0xfff +/* 8AA914 802404C4 00021300 */ sll $v0, $v0, 0xc +/* 8AA918 802404C8 00511025 */ or $v0, $v0, $s1 +/* 8AA91C 802404CC 24630800 */ addiu $v1, $v1, 0x800 +/* 8AA920 802404D0 30630FFF */ andi $v1, $v1, 0xfff +/* 8AA924 802404D4 00031B00 */ sll $v1, $v1, 0xc +/* 8AA928 802404D8 00721825 */ or $v1, $v1, $s2 +/* 8AA92C 802404DC AC830004 */ sw $v1, 4($a0) +/* 8AA930 802404E0 00161880 */ sll $v1, $s6, 2 +/* 8AA934 802404E4 30630FFF */ andi $v1, $v1, 0xfff +/* 8AA938 802404E8 00031B00 */ sll $v1, $v1, 0xc +/* 8AA93C 802404EC AC820000 */ sw $v0, ($a0) +/* 8AA940 802404F0 00151080 */ sll $v0, $s5, 2 +/* 8AA944 802404F4 30420FFF */ andi $v0, $v0, 0xfff +/* 8AA948 802404F8 3C04E400 */ lui $a0, 0xe400 +/* 8AA94C 802404FC 00441025 */ or $v0, $v0, $a0 +/* 8AA950 80240500 00621825 */ or $v1, $v1, $v0 +/* 8AA954 80240504 3C02E100 */ lui $v0, 0xe100 +/* 8AA958 80240508 ACA20008 */ sw $v0, 8($a1) +/* 8AA95C 8024050C 00171540 */ sll $v0, $s7, 0x15 +/* 8AA960 80240510 00461025 */ or $v0, $v0, $a2 +/* 8AA964 80240514 ACA2000C */ sw $v0, 0xc($a1) +/* 8AA968 80240518 3C02F100 */ lui $v0, 0xf100 +/* 8AA96C 8024051C ACA30000 */ sw $v1, ($a1) +/* 8AA970 80240520 ACB00004 */ sw $s0, 4($a1) +/* 8AA974 80240524 ACA20010 */ sw $v0, 0x10($a1) +/* 8AA978 80240528 ACA70014 */ sw $a3, 0x14($a1) +/* 8AA97C 8024052C 8FAD0010 */ lw $t5, 0x10($sp) +/* 8AA980 80240530 27DE0001 */ addiu $fp, $fp, 1 +/* 8AA984 80240534 03CD102A */ slt $v0, $fp, $t5 +/* 8AA988 80240538 1440FF79 */ bnez $v0, .L80240320 +/* 8AA98C 8024053C 3C03FD10 */ lui $v1, 0xfd10 +.L80240540: +/* 8AA990 80240540 8FAC0014 */ lw $t4, 0x14($sp) +/* 8AA994 80240544 1180006D */ beqz $t4, .L802406FC +/* 8AA998 80240548 3C03FD10 */ lui $v1, 0xfd10 +/* 8AA99C 8024054C 3463013F */ ori $v1, $v1, 0x13f +/* 8AA9A0 80240550 3C10800A */ lui $s0, 0x800a +/* 8AA9A4 80240554 2610A66C */ addiu $s0, $s0, -0x5994 +/* 8AA9A8 80240558 8E020000 */ lw $v0, ($s0) +/* 8AA9AC 8024055C 8FA40018 */ lw $a0, 0x18($sp) +/* 8AA9B0 80240560 0040882D */ daddu $s1, $v0, $zero +/* 8AA9B4 80240564 24420008 */ addiu $v0, $v0, 8 +/* 8AA9B8 80240568 AE020000 */ sw $v0, ($s0) +/* 8AA9BC 8024056C 0C0187A4 */ jal osVirtualToPhysical +/* 8AA9C0 80240570 AE230000 */ sw $v1, ($s1) +/* 8AA9C4 80240574 3C060700 */ lui $a2, 0x700 +/* 8AA9C8 80240578 34C60090 */ ori $a2, $a2, 0x90 +/* 8AA9CC 8024057C 3C0B0400 */ lui $t3, 0x400 +/* 8AA9D0 80240580 356B0400 */ ori $t3, $t3, 0x400 +/* 8AA9D4 80240584 02D72823 */ subu $a1, $s6, $s7 +/* 8AA9D8 80240588 00052840 */ sll $a1, $a1, 1 +/* 8AA9DC 8024058C 24A50007 */ addiu $a1, $a1, 7 +/* 8AA9E0 80240590 000528C3 */ sra $a1, $a1, 3 +/* 8AA9E4 80240594 30A501FF */ andi $a1, $a1, 0x1ff +/* 8AA9E8 80240598 8E040000 */ lw $a0, ($s0) +/* 8AA9EC 8024059C 00052A40 */ sll $a1, $a1, 9 +/* 8AA9F0 802405A0 AE220004 */ sw $v0, 4($s1) +/* 8AA9F4 802405A4 3C02F510 */ lui $v0, 0xf510 +/* 8AA9F8 802405A8 00A22825 */ or $a1, $a1, $v0 +/* 8AA9FC 802405AC 00174880 */ sll $t1, $s7, 2 +/* 8AAA00 802405B0 31290FFF */ andi $t1, $t1, 0xfff +/* 8AAA04 802405B4 00094B00 */ sll $t1, $t1, 0xc +/* 8AAA08 802405B8 001E3840 */ sll $a3, $fp, 1 +/* 8AAA0C 802405BC 00FE3821 */ addu $a3, $a3, $fp +/* 8AAA10 802405C0 00073840 */ sll $a3, $a3, 1 +/* 8AAA14 802405C4 0080182D */ daddu $v1, $a0, $zero +/* 8AAA18 802405C8 24840008 */ addiu $a0, $a0, 8 +/* 8AAA1C 802405CC 24820008 */ addiu $v0, $a0, 8 +/* 8AAA20 802405D0 AE040000 */ sw $a0, ($s0) +/* 8AAA24 802405D4 AC650000 */ sw $a1, ($v1) +/* 8AAA28 802405D8 AC660004 */ sw $a2, 4($v1) +/* 8AAA2C 802405DC AE020000 */ sw $v0, ($s0) +/* 8AAA30 802405E0 3C02E600 */ lui $v0, 0xe600 +/* 8AAA34 802405E4 AC820000 */ sw $v0, ($a0) +/* 8AAA38 802405E8 24820010 */ addiu $v0, $a0, 0x10 +/* 8AAA3C 802405EC AC800004 */ sw $zero, 4($a0) +/* 8AAA40 802405F0 AE020000 */ sw $v0, ($s0) +/* 8AAA44 802405F4 3C02F400 */ lui $v0, 0xf400 +/* 8AAA48 802405F8 26C3FFFF */ addiu $v1, $s6, -1 +/* 8AAA4C 802405FC 00031880 */ sll $v1, $v1, 2 +/* 8AAA50 80240600 30630FFF */ andi $v1, $v1, 0xfff +/* 8AAA54 80240604 8FAD0054 */ lw $t5, 0x54($sp) +/* 8AAA58 80240608 00031B00 */ sll $v1, $v1, 0xc +/* 8AAA5C 8024060C 01A73821 */ addu $a3, $t5, $a3 +/* 8AAA60 80240610 00075080 */ sll $t2, $a3, 2 +/* 8AAA64 80240614 314A0FFF */ andi $t2, $t2, 0xfff +/* 8AAA68 80240618 01421025 */ or $v0, $t2, $v0 +/* 8AAA6C 8024061C 01221025 */ or $v0, $t1, $v0 +/* 8AAA70 80240620 AC820008 */ sw $v0, 8($a0) +/* 8AAA74 80240624 8FAC0014 */ lw $t4, 0x14($sp) +/* 8AAA78 80240628 3C020700 */ lui $v0, 0x700 +/* 8AAA7C 8024062C 00EC3021 */ addu $a2, $a3, $t4 +/* 8AAA80 80240630 24C8FFFF */ addiu $t0, $a2, -1 +/* 8AAA84 80240634 00084080 */ sll $t0, $t0, 2 +/* 8AAA88 80240638 31080FFF */ andi $t0, $t0, 0xfff +/* 8AAA8C 8024063C 01021025 */ or $v0, $t0, $v0 +/* 8AAA90 80240640 00621025 */ or $v0, $v1, $v0 +/* 8AAA94 80240644 AC82000C */ sw $v0, 0xc($a0) +/* 8AAA98 80240648 24820018 */ addiu $v0, $a0, 0x18 +/* 8AAA9C 8024064C AE020000 */ sw $v0, ($s0) +/* 8AAAA0 80240650 3C02E700 */ lui $v0, 0xe700 +/* 8AAAA4 80240654 AC820010 */ sw $v0, 0x10($a0) +/* 8AAAA8 80240658 24820020 */ addiu $v0, $a0, 0x20 +/* 8AAAAC 8024065C AC800014 */ sw $zero, 0x14($a0) +/* 8AAAB0 80240660 AE020000 */ sw $v0, ($s0) +/* 8AAAB4 80240664 24020090 */ addiu $v0, $zero, 0x90 +/* 8AAAB8 80240668 AC82001C */ sw $v0, 0x1c($a0) +/* 8AAABC 8024066C 24820028 */ addiu $v0, $a0, 0x28 +/* 8AAAC0 80240670 AC850018 */ sw $a1, 0x18($a0) +/* 8AAAC4 80240674 AE020000 */ sw $v0, ($s0) +/* 8AAAC8 80240678 3C02F200 */ lui $v0, 0xf200 +/* 8AAACC 8024067C 01421025 */ or $v0, $t2, $v0 +/* 8AAAD0 80240680 01221025 */ or $v0, $t1, $v0 +/* 8AAAD4 80240684 00681825 */ or $v1, $v1, $t0 +/* 8AAAD8 80240688 AC820020 */ sw $v0, 0x20($a0) +/* 8AAADC 8024068C 24820030 */ addiu $v0, $a0, 0x30 +/* 8AAAE0 80240690 AC830024 */ sw $v1, 0x24($a0) +/* 8AAAE4 80240694 AE020000 */ sw $v0, ($s0) +/* 8AAAE8 80240698 00161080 */ sll $v0, $s6, 2 +/* 8AAAEC 8024069C 30420FFF */ andi $v0, $v0, 0xfff +/* 8AAAF0 802406A0 00021300 */ sll $v0, $v0, 0xc +/* 8AAAF4 802406A4 00063080 */ sll $a2, $a2, 2 +/* 8AAAF8 802406A8 30C60FFF */ andi $a2, $a2, 0xfff +/* 8AAAFC 802406AC 3C03E400 */ lui $v1, 0xe400 +/* 8AAB00 802406B0 00C33025 */ or $a2, $a2, $v1 +/* 8AAB04 802406B4 00461025 */ or $v0, $v0, $a2 +/* 8AAB08 802406B8 012A4825 */ or $t1, $t1, $t2 +/* 8AAB0C 802406BC AC820028 */ sw $v0, 0x28($a0) +/* 8AAB10 802406C0 24820038 */ addiu $v0, $a0, 0x38 +/* 8AAB14 802406C4 AC89002C */ sw $t1, 0x2c($a0) +/* 8AAB18 802406C8 AE020000 */ sw $v0, ($s0) +/* 8AAB1C 802406CC 3C02E100 */ lui $v0, 0xe100 +/* 8AAB20 802406D0 AC820030 */ sw $v0, 0x30($a0) +/* 8AAB24 802406D4 00171540 */ sll $v0, $s7, 0x15 +/* 8AAB28 802406D8 00073940 */ sll $a3, $a3, 5 +/* 8AAB2C 802406DC 30E7FFFF */ andi $a3, $a3, 0xffff +/* 8AAB30 802406E0 00471025 */ or $v0, $v0, $a3 +/* 8AAB34 802406E4 AC820034 */ sw $v0, 0x34($a0) +/* 8AAB38 802406E8 24820040 */ addiu $v0, $a0, 0x40 +/* 8AAB3C 802406EC AE020000 */ sw $v0, ($s0) +/* 8AAB40 802406F0 3C02F100 */ lui $v0, 0xf100 +/* 8AAB44 802406F4 AC820038 */ sw $v0, 0x38($a0) +/* 8AAB48 802406F8 AC8B003C */ sw $t3, 0x3c($a0) +.L802406FC: +/* 8AAB4C 802406FC 8FBF004C */ lw $ra, 0x4c($sp) +/* 8AAB50 80240700 8FBE0048 */ lw $fp, 0x48($sp) +/* 8AAB54 80240704 8FB70044 */ lw $s7, 0x44($sp) +/* 8AAB58 80240708 8FB60040 */ lw $s6, 0x40($sp) +/* 8AAB5C 8024070C 8FB5003C */ lw $s5, 0x3c($sp) +/* 8AAB60 80240710 8FB40038 */ lw $s4, 0x38($sp) +/* 8AAB64 80240714 8FB30034 */ lw $s3, 0x34($sp) +/* 8AAB68 80240718 8FB20030 */ lw $s2, 0x30($sp) +/* 8AAB6C 8024071C 8FB1002C */ lw $s1, 0x2c($sp) +/* 8AAB70 80240720 8FB00028 */ lw $s0, 0x28($sp) +/* 8AAB74 80240724 03E00008 */ jr $ra +/* 8AAB78 80240728 27BD0050 */ addiu $sp, $sp, 0x50 +/* 8AAB7C 8024072C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kgr/kgr_02/func_80240730.s b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240730.s new file mode 100644 index 0000000000..eb8f63d2f5 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240730.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730 +/* 8AAB80 80240730 3C028011 */ lui $v0, 0x8011 +/* 8AAB84 80240734 8042EBB3 */ lb $v0, -0x144d($v0) +/* 8AAB88 80240738 38420006 */ xori $v0, $v0, 6 +/* 8AAB8C 8024073C 2C420001 */ sltiu $v0, $v0, 1 +/* 8AAB90 80240740 03E00008 */ jr $ra +/* 8AAB94 80240744 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_kgr/kgr_02/func_80240748_8AA450.s b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240748_8AA450.s new file mode 100644 index 0000000000..067f21531f --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240748_8AA450.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240748_8AAB98 +/* 8AAB98 80240748 3C028011 */ lui $v0, 0x8011 +/* 8AAB9C 8024074C 8042EBB3 */ lb $v0, -0x144d($v0) +/* 8AABA0 80240750 38420006 */ xori $v0, $v0, 6 +/* 8AABA4 80240754 0002102B */ sltu $v0, $zero, $v0 +/* 8AABA8 80240758 03E00008 */ jr $ra +/* 8AABAC 8024075C 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_kgr/kgr_02/func_80240760_8AA450.s b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240760_8AA450.s new file mode 100644 index 0000000000..76280e9c43 --- /dev/null +++ b/asm/nonmatchings/world/area_kgr/kgr_02/func_80240760_8AA450.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240760_8AABB0 +/* 8AABB0 80240760 3C028016 */ lui $v0, 0x8016 +/* 8AABB4 80240764 8442A568 */ lh $v0, -0x5a98($v0) +/* 8AABB8 80240768 04400002 */ bltz $v0, .L80240774 +/* 8AABBC 8024076C 24020001 */ addiu $v0, $zero, 1 +/* 8AABC0 80240770 AC820088 */ sw $v0, 0x88($a0) +.L80240774: +/* 8AABC4 80240774 03E00008 */ jr $ra +/* 8AABC8 80240778 24020002 */ addiu $v0, $zero, 2 +/* 8AABCC 8024077C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240000_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240000_ABB290.s new file mode 100644 index 0000000000..9827ae23a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240000_ABB290.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_ABB290 +/* ABB290 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ABB294 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* ABB298 80240008 3C05F5DE */ lui $a1, 0xf5de +/* ABB29C 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* ABB2A0 80240010 0C0B1EAF */ jal get_variable +/* ABB2A4 80240014 0000202D */ daddu $a0, $zero, $zero +/* ABB2A8 80240018 28420060 */ slti $v0, $v0, 0x60 +/* ABB2AC 8024001C 14400004 */ bnez $v0, .L80240030 +/* ABB2B0 80240020 24020002 */ addiu $v0, $zero, 2 +/* ABB2B4 80240024 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ABB2B8 80240028 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ABB2BC 8024002C A0620084 */ sb $v0, 0x84($v1) +.L80240030: +/* ABB2C0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* ABB2C4 80240034 0000102D */ daddu $v0, $zero, $zero +/* ABB2C8 80240038 03E00008 */ jr $ra +/* ABB2CC 8024003C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240040_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240040_ABB290.s new file mode 100644 index 0000000000..25a332ddba --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240040_ABB290.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_ABB2D0 +/* ABB2D0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ABB2D4 80240044 AFBF0014 */ sw $ra, 0x14($sp) +/* ABB2D8 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* ABB2DC 8024004C 8C82000C */ lw $v0, 0xc($a0) +/* ABB2E0 80240050 8C450000 */ lw $a1, ($v0) +/* ABB2E4 80240054 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* ABB2E8 80240058 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* ABB2EC 8024005C 0C0B1EAF */ jal get_variable +/* ABB2F0 80240060 00000000 */ nop +/* ABB2F4 80240064 14400005 */ bnez $v0, .L8024007C +/* ABB2F8 80240068 00000000 */ nop +/* ABB2FC 8024006C 3C028024 */ lui $v0, 0x8024 +/* ABB300 80240070 2442160C */ addiu $v0, $v0, 0x160c +/* ABB304 80240074 08090022 */ j .L80240088 +/* ABB308 80240078 AE0200D0 */ sw $v0, 0xd0($s0) +.L8024007C: +/* ABB30C 8024007C 3C028024 */ lui $v0, 0x8024 +/* ABB310 80240080 2442162C */ addiu $v0, $v0, 0x162c +/* ABB314 80240084 AE0200D0 */ sw $v0, 0xd0($s0) +.L80240088: +/* ABB318 80240088 8E030000 */ lw $v1, ($s0) +/* ABB31C 8024008C 34630010 */ ori $v1, $v1, 0x10 +/* ABB320 80240090 AE030000 */ sw $v1, ($s0) +/* ABB324 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* ABB328 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* ABB32C 8024009C 24020002 */ addiu $v0, $zero, 2 +/* ABB330 802400A0 03E00008 */ jr $ra +/* ABB334 802400A4 27BD0018 */ addiu $sp, $sp, 0x18 +/* ABB338 802400A8 00000000 */ nop +/* ABB33C 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_802400B0_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_802400B0_ABB290.s new file mode 100644 index 0000000000..102e9fd5b7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_802400B0_ABB290.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_ABB340 +/* ABB340 802400B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* ABB344 802400B4 AFB50024 */ sw $s5, 0x24($sp) +/* ABB348 802400B8 0080A82D */ daddu $s5, $a0, $zero +/* ABB34C 802400BC AFBF002C */ sw $ra, 0x2c($sp) +/* ABB350 802400C0 AFB60028 */ sw $s6, 0x28($sp) +/* ABB354 802400C4 AFB40020 */ sw $s4, 0x20($sp) +/* ABB358 802400C8 AFB3001C */ sw $s3, 0x1c($sp) +/* ABB35C 802400CC AFB20018 */ sw $s2, 0x18($sp) +/* ABB360 802400D0 AFB10014 */ sw $s1, 0x14($sp) +/* ABB364 802400D4 AFB00010 */ sw $s0, 0x10($sp) +/* ABB368 802400D8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* ABB36C 802400DC F7B60038 */ sdc1 $f22, 0x38($sp) +/* ABB370 802400E0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* ABB374 802400E4 8EB30148 */ lw $s3, 0x148($s5) +/* ABB378 802400E8 86640008 */ lh $a0, 8($s3) +/* ABB37C 802400EC 0C00EABB */ jal get_npc_unsafe +/* ABB380 802400F0 00A0B02D */ daddu $s6, $a1, $zero +/* ABB384 802400F4 0040A02D */ daddu $s4, $v0, $zero +/* ABB388 802400F8 AEA00074 */ sw $zero, 0x74($s5) +/* ABB38C 802400FC C6980038 */ lwc1 $f24, 0x38($s4) +/* ABB390 80240100 C6960040 */ lwc1 $f22, 0x40($s4) +/* ABB394 80240104 0000902D */ daddu $s2, $zero, $zero +/* ABB398 80240108 AEA00078 */ sw $zero, 0x78($s5) +/* ABB39C 8024010C 8E6300D0 */ lw $v1, 0xd0($s3) +/* ABB3A0 80240110 8C620000 */ lw $v0, ($v1) +/* ABB3A4 80240114 3C0146FF */ lui $at, 0x46ff +/* ABB3A8 80240118 3421FE00 */ ori $at, $at, 0xfe00 +/* ABB3AC 8024011C 4481A000 */ mtc1 $at, $f20 +/* ABB3B0 80240120 18400018 */ blez $v0, .L80240184 +/* ABB3B4 80240124 0240802D */ daddu $s0, $s2, $zero +/* ABB3B8 80240128 0240882D */ daddu $s1, $s2, $zero +.L8024012C: +/* ABB3BC 8024012C 02231021 */ addu $v0, $s1, $v1 +/* ABB3C0 80240130 4600C306 */ mov.s $f12, $f24 +/* ABB3C4 80240134 C4440004 */ lwc1 $f4, 4($v0) +/* ABB3C8 80240138 46802120 */ cvt.s.w $f4, $f4 +/* ABB3CC 8024013C 44062000 */ mfc1 $a2, $f4 +/* ABB3D0 80240140 C444000C */ lwc1 $f4, 0xc($v0) +/* ABB3D4 80240144 46802120 */ cvt.s.w $f4, $f4 +/* ABB3D8 80240148 44072000 */ mfc1 $a3, $f4 +/* ABB3DC 8024014C 0C00A7B5 */ jal dist2D +/* ABB3E0 80240150 4600B386 */ mov.s $f14, $f22 +/* ABB3E4 80240154 4614003C */ c.lt.s $f0, $f20 +/* ABB3E8 80240158 00000000 */ nop +/* ABB3EC 8024015C 45000003 */ bc1f .L8024016C +/* ABB3F0 80240160 2631000C */ addiu $s1, $s1, 0xc +/* ABB3F4 80240164 46000506 */ mov.s $f20, $f0 +/* ABB3F8 80240168 AEB20078 */ sw $s2, 0x78($s5) +.L8024016C: +/* ABB3FC 8024016C 8E6300D0 */ lw $v1, 0xd0($s3) +/* ABB400 80240170 26100001 */ addiu $s0, $s0, 1 +/* ABB404 80240174 8C620000 */ lw $v0, ($v1) +/* ABB408 80240178 0202102A */ slt $v0, $s0, $v0 +/* ABB40C 8024017C 1440FFEB */ bnez $v0, .L8024012C +/* ABB410 80240180 26520001 */ addiu $s2, $s2, 1 +.L80240184: +/* ABB414 80240184 8E6200CC */ lw $v0, 0xcc($s3) +/* ABB418 80240188 8C420004 */ lw $v0, 4($v0) +/* ABB41C 8024018C AE820028 */ sw $v0, 0x28($s4) +/* ABB420 80240190 8E6200D0 */ lw $v0, 0xd0($s3) +/* ABB424 80240194 8C42007C */ lw $v0, 0x7c($v0) +/* ABB428 80240198 04410004 */ bgez $v0, .L802401AC +/* ABB42C 8024019C 00000000 */ nop +/* ABB430 802401A0 C6C00000 */ lwc1 $f0, ($s6) +/* ABB434 802401A4 08090073 */ j .L802401CC +/* ABB438 802401A8 E6800018 */ swc1 $f0, 0x18($s4) +.L802401AC: +/* ABB43C 802401AC 3C018025 */ lui $at, 0x8025 +/* ABB440 802401B0 D4229D30 */ ldc1 $f2, -0x62d0($at) +/* ABB444 802401B4 44820000 */ mtc1 $v0, $f0 +/* ABB448 802401B8 00000000 */ nop +/* ABB44C 802401BC 46800021 */ cvt.d.w $f0, $f0 +/* ABB450 802401C0 46220003 */ div.d $f0, $f0, $f2 +/* ABB454 802401C4 46200020 */ cvt.s.d $f0, $f0 +/* ABB458 802401C8 E6800018 */ swc1 $f0, 0x18($s4) +.L802401CC: +/* ABB45C 802401CC 24020001 */ addiu $v0, $zero, 1 +/* ABB460 802401D0 AEA20070 */ sw $v0, 0x70($s5) +/* ABB464 802401D4 8FBF002C */ lw $ra, 0x2c($sp) +/* ABB468 802401D8 8FB60028 */ lw $s6, 0x28($sp) +/* ABB46C 802401DC 8FB50024 */ lw $s5, 0x24($sp) +/* ABB470 802401E0 8FB40020 */ lw $s4, 0x20($sp) +/* ABB474 802401E4 8FB3001C */ lw $s3, 0x1c($sp) +/* ABB478 802401E8 8FB20018 */ lw $s2, 0x18($sp) +/* ABB47C 802401EC 8FB10014 */ lw $s1, 0x14($sp) +/* ABB480 802401F0 8FB00010 */ lw $s0, 0x10($sp) +/* ABB484 802401F4 D7B80040 */ ldc1 $f24, 0x40($sp) +/* ABB488 802401F8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* ABB48C 802401FC D7B40030 */ ldc1 $f20, 0x30($sp) +/* ABB490 80240200 03E00008 */ jr $ra +/* ABB494 80240204 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240208_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240208_ABB290.s new file mode 100644 index 0000000000..98697b4a97 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240208_ABB290.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_ABB498 +/* ABB498 80240208 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* ABB49C 8024020C AFB20038 */ sw $s2, 0x38($sp) +/* ABB4A0 80240210 0080902D */ daddu $s2, $a0, $zero +/* ABB4A4 80240214 AFBF0044 */ sw $ra, 0x44($sp) +/* ABB4A8 80240218 AFB40040 */ sw $s4, 0x40($sp) +/* ABB4AC 8024021C AFB3003C */ sw $s3, 0x3c($sp) +/* ABB4B0 80240220 AFB10034 */ sw $s1, 0x34($sp) +/* ABB4B4 80240224 AFB00030 */ sw $s0, 0x30($sp) +/* ABB4B8 80240228 F7B60050 */ sdc1 $f22, 0x50($sp) +/* ABB4BC 8024022C F7B40048 */ sdc1 $f20, 0x48($sp) +/* ABB4C0 80240230 8E510148 */ lw $s1, 0x148($s2) +/* ABB4C4 80240234 00A0982D */ daddu $s3, $a1, $zero +/* ABB4C8 80240238 86240008 */ lh $a0, 8($s1) +/* ABB4CC 8024023C 0C00EABB */ jal get_npc_unsafe +/* ABB4D0 80240240 00C0A02D */ daddu $s4, $a2, $zero +/* ABB4D4 80240244 8E630014 */ lw $v1, 0x14($s3) +/* ABB4D8 80240248 04600030 */ bltz $v1, .L8024030C +/* ABB4DC 8024024C 0040802D */ daddu $s0, $v0, $zero +/* ABB4E0 80240250 8E420074 */ lw $v0, 0x74($s2) +/* ABB4E4 80240254 1C40002C */ bgtz $v0, .L80240308 +/* ABB4E8 80240258 2442FFFF */ addiu $v0, $v0, -1 +/* ABB4EC 8024025C 0280202D */ daddu $a0, $s4, $zero +/* ABB4F0 80240260 AE430074 */ sw $v1, 0x74($s2) +/* ABB4F4 80240264 AFA00010 */ sw $zero, 0x10($sp) +/* ABB4F8 80240268 8E66000C */ lw $a2, 0xc($s3) +/* ABB4FC 8024026C 8E670010 */ lw $a3, 0x10($s3) +/* ABB500 80240270 0C01242D */ jal func_800490B4 +/* ABB504 80240274 0220282D */ daddu $a1, $s1, $zero +/* ABB508 80240278 10400021 */ beqz $v0, .L80240300 +/* ABB50C 8024027C 0000202D */ daddu $a0, $zero, $zero +/* ABB510 80240280 0200282D */ daddu $a1, $s0, $zero +/* ABB514 80240284 0000302D */ daddu $a2, $zero, $zero +/* ABB518 80240288 860300A8 */ lh $v1, 0xa8($s0) +/* ABB51C 8024028C 3C013F80 */ lui $at, 0x3f80 +/* ABB520 80240290 44810000 */ mtc1 $at, $f0 +/* ABB524 80240294 3C014000 */ lui $at, 0x4000 +/* ABB528 80240298 44811000 */ mtc1 $at, $f2 +/* ABB52C 8024029C 3C01C1A0 */ lui $at, 0xc1a0 +/* ABB530 802402A0 44812000 */ mtc1 $at, $f4 +/* ABB534 802402A4 2402000F */ addiu $v0, $zero, 0xf +/* ABB538 802402A8 AFA2001C */ sw $v0, 0x1c($sp) +/* ABB53C 802402AC 44833000 */ mtc1 $v1, $f6 +/* ABB540 802402B0 00000000 */ nop +/* ABB544 802402B4 468031A0 */ cvt.s.w $f6, $f6 +/* ABB548 802402B8 44073000 */ mfc1 $a3, $f6 +/* ABB54C 802402BC 27A20028 */ addiu $v0, $sp, 0x28 +/* ABB550 802402C0 AFA20020 */ sw $v0, 0x20($sp) +/* ABB554 802402C4 E7A00010 */ swc1 $f0, 0x10($sp) +/* ABB558 802402C8 E7A20014 */ swc1 $f2, 0x14($sp) +/* ABB55C 802402CC 0C01BFA4 */ jal fx_emote +/* ABB560 802402D0 E7A40018 */ swc1 $f4, 0x18($sp) +/* ABB564 802402D4 0200202D */ daddu $a0, $s0, $zero +/* ABB568 802402D8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* ABB56C 802402DC 0C012530 */ jal func_800494C0 +/* ABB570 802402E0 3C060020 */ lui $a2, 0x20 +/* ABB574 802402E4 8E220018 */ lw $v0, 0x18($s1) +/* ABB578 802402E8 9442002A */ lhu $v0, 0x2a($v0) +/* ABB57C 802402EC 30420001 */ andi $v0, $v0, 1 +/* ABB580 802402F0 14400064 */ bnez $v0, .L80240484 +/* ABB584 802402F4 2402000A */ addiu $v0, $zero, 0xa +/* ABB588 802402F8 08090121 */ j .L80240484 +/* ABB58C 802402FC 2402000C */ addiu $v0, $zero, 0xc +.L80240300: +/* ABB590 80240300 8E420074 */ lw $v0, 0x74($s2) +/* ABB594 80240304 2442FFFF */ addiu $v0, $v0, -1 +.L80240308: +/* ABB598 80240308 AE420074 */ sw $v0, 0x74($s2) +.L8024030C: +/* ABB59C 8024030C 8602008C */ lh $v0, 0x8c($s0) +/* ABB5A0 80240310 1440005D */ bnez $v0, .L80240488 +/* ABB5A4 80240314 00000000 */ nop +/* ABB5A8 80240318 C6000018 */ lwc1 $f0, 0x18($s0) +/* ABB5AC 8024031C 3C014010 */ lui $at, 0x4010 +/* ABB5B0 80240320 44811800 */ mtc1 $at, $f3 +/* ABB5B4 80240324 44801000 */ mtc1 $zero, $f2 +/* ABB5B8 80240328 46000021 */ cvt.d.s $f0, $f0 +/* ABB5BC 8024032C 4622003C */ c.lt.d $f0, $f2 +/* ABB5C0 80240330 00000000 */ nop +/* ABB5C4 80240334 45000003 */ bc1f .L80240344 +/* ABB5C8 80240338 0200202D */ daddu $a0, $s0, $zero +/* ABB5CC 8024033C 080900D2 */ j .L80240348 +/* ABB5D0 80240340 0000282D */ daddu $a1, $zero, $zero +.L80240344: +/* ABB5D4 80240344 24050001 */ addiu $a1, $zero, 1 +.L80240348: +/* ABB5D8 80240348 0C00F598 */ jal func_8003D660 +/* ABB5DC 8024034C 00000000 */ nop +/* ABB5E0 80240350 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ABB5E4 80240354 8E430078 */ lw $v1, 0x78($s2) +/* ABB5E8 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ABB5EC 8024035C 00031040 */ sll $v0, $v1, 1 +/* ABB5F0 80240360 00431021 */ addu $v0, $v0, $v1 +/* ABB5F4 80240364 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABB5F8 80240368 00021080 */ sll $v0, $v0, 2 +/* ABB5FC 8024036C 00431021 */ addu $v0, $v0, $v1 +/* ABB600 80240370 C4560004 */ lwc1 $f22, 4($v0) +/* ABB604 80240374 4680B5A0 */ cvt.s.w $f22, $f22 +/* ABB608 80240378 C454000C */ lwc1 $f20, 0xc($v0) +/* ABB60C 8024037C 4680A520 */ cvt.s.w $f20, $f20 +/* ABB610 80240380 4406B000 */ mfc1 $a2, $f22 +/* ABB614 80240384 4407A000 */ mfc1 $a3, $f20 +/* ABB618 80240388 0C00A720 */ jal atan2 +/* ABB61C 8024038C 00000000 */ nop +/* ABB620 80240390 8E050018 */ lw $a1, 0x18($s0) +/* ABB624 80240394 44060000 */ mfc1 $a2, $f0 +/* ABB628 80240398 0200202D */ daddu $a0, $s0, $zero +/* ABB62C 8024039C 0C00EA95 */ jal npc_move_heading +/* ABB630 802403A0 AE06000C */ sw $a2, 0xc($s0) +/* ABB634 802403A4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ABB638 802403A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ABB63C 802403AC 4406B000 */ mfc1 $a2, $f22 +/* ABB640 802403B0 4407A000 */ mfc1 $a3, $f20 +/* ABB644 802403B4 0C00A7B5 */ jal dist2D +/* ABB648 802403B8 00000000 */ nop +/* ABB64C 802403BC C6020018 */ lwc1 $f2, 0x18($s0) +/* ABB650 802403C0 4602003E */ c.le.s $f0, $f2 +/* ABB654 802403C4 00000000 */ nop +/* ABB658 802403C8 4500002F */ bc1f .L80240488 +/* ABB65C 802403CC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* ABB660 802403D0 24020002 */ addiu $v0, $zero, 2 +/* ABB664 802403D4 0C00A67F */ jal rand_int +/* ABB668 802403D8 AE420070 */ sw $v0, 0x70($s2) +/* ABB66C 802403DC 3C035555 */ lui $v1, 0x5555 +/* ABB670 802403E0 34635556 */ ori $v1, $v1, 0x5556 +/* ABB674 802403E4 00430018 */ mult $v0, $v1 +/* ABB678 802403E8 000227C3 */ sra $a0, $v0, 0x1f +/* ABB67C 802403EC 00004010 */ mfhi $t0 +/* ABB680 802403F0 01042023 */ subu $a0, $t0, $a0 +/* ABB684 802403F4 00041840 */ sll $v1, $a0, 1 +/* ABB688 802403F8 00641821 */ addu $v1, $v1, $a0 +/* ABB68C 802403FC 00431023 */ subu $v0, $v0, $v1 +/* ABB690 80240400 24430002 */ addiu $v1, $v0, 2 +/* ABB694 80240404 AE430074 */ sw $v1, 0x74($s2) +/* ABB698 80240408 8E62002C */ lw $v0, 0x2c($s3) +/* ABB69C 8024040C 18400009 */ blez $v0, .L80240434 +/* ABB6A0 80240410 24020004 */ addiu $v0, $zero, 4 +/* ABB6A4 80240414 8E620004 */ lw $v0, 4($s3) +/* ABB6A8 80240418 18400006 */ blez $v0, .L80240434 +/* ABB6AC 8024041C 24020004 */ addiu $v0, $zero, 4 +/* ABB6B0 80240420 8E620008 */ lw $v0, 8($s3) +/* ABB6B4 80240424 18400003 */ blez $v0, .L80240434 +/* ABB6B8 80240428 24020004 */ addiu $v0, $zero, 4 +/* ABB6BC 8024042C 14600002 */ bnez $v1, .L80240438 +/* ABB6C0 80240430 00000000 */ nop +.L80240434: +/* ABB6C4 80240434 AE420070 */ sw $v0, 0x70($s2) +.L80240438: +/* ABB6C8 80240438 0C00A67F */ jal rand_int +/* ABB6CC 8024043C 24042710 */ addiu $a0, $zero, 0x2710 +/* ABB6D0 80240440 3C0351EB */ lui $v1, 0x51eb +/* ABB6D4 80240444 3463851F */ ori $v1, $v1, 0x851f +/* ABB6D8 80240448 00430018 */ mult $v0, $v1 +/* ABB6DC 8024044C 00021FC3 */ sra $v1, $v0, 0x1f +/* ABB6E0 80240450 00004010 */ mfhi $t0 +/* ABB6E4 80240454 00082143 */ sra $a0, $t0, 5 +/* ABB6E8 80240458 00832023 */ subu $a0, $a0, $v1 +/* ABB6EC 8024045C 00041840 */ sll $v1, $a0, 1 +/* ABB6F0 80240460 00641821 */ addu $v1, $v1, $a0 +/* ABB6F4 80240464 000318C0 */ sll $v1, $v1, 3 +/* ABB6F8 80240468 00641821 */ addu $v1, $v1, $a0 +/* ABB6FC 8024046C 00031880 */ sll $v1, $v1, 2 +/* ABB700 80240470 8E640004 */ lw $a0, 4($s3) +/* ABB704 80240474 00431023 */ subu $v0, $v0, $v1 +/* ABB708 80240478 0044102A */ slt $v0, $v0, $a0 +/* ABB70C 8024047C 10400002 */ beqz $v0, .L80240488 +/* ABB710 80240480 24020004 */ addiu $v0, $zero, 4 +.L80240484: +/* ABB714 80240484 AE420070 */ sw $v0, 0x70($s2) +.L80240488: +/* ABB718 80240488 8FBF0044 */ lw $ra, 0x44($sp) +/* ABB71C 8024048C 8FB40040 */ lw $s4, 0x40($sp) +/* ABB720 80240490 8FB3003C */ lw $s3, 0x3c($sp) +/* ABB724 80240494 8FB20038 */ lw $s2, 0x38($sp) +/* ABB728 80240498 8FB10034 */ lw $s1, 0x34($sp) +/* ABB72C 8024049C 8FB00030 */ lw $s0, 0x30($sp) +/* ABB730 802404A0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* ABB734 802404A4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* ABB738 802404A8 03E00008 */ jr $ra +/* ABB73C 802404AC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_802404B0_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_802404B0_ABB290.s new file mode 100644 index 0000000000..6e44cc3c5a --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_802404B0_ABB290.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0_ABB740 +/* ABB740 802404B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* ABB744 802404B4 AFB3001C */ sw $s3, 0x1c($sp) +/* ABB748 802404B8 0080982D */ daddu $s3, $a0, $zero +/* ABB74C 802404BC AFBF0020 */ sw $ra, 0x20($sp) +/* ABB750 802404C0 AFB20018 */ sw $s2, 0x18($sp) +/* ABB754 802404C4 AFB10014 */ sw $s1, 0x14($sp) +/* ABB758 802404C8 AFB00010 */ sw $s0, 0x10($sp) +/* ABB75C 802404CC 8E720148 */ lw $s2, 0x148($s3) +/* ABB760 802404D0 86440008 */ lh $a0, 8($s2) +/* ABB764 802404D4 0C00EABB */ jal get_npc_unsafe +/* ABB768 802404D8 00A0882D */ daddu $s1, $a1, $zero +/* ABB76C 802404DC 8E240008 */ lw $a0, 8($s1) +/* ABB770 802404E0 0040802D */ daddu $s0, $v0, $zero +/* ABB774 802404E4 00041FC2 */ srl $v1, $a0, 0x1f +/* ABB778 802404E8 00832021 */ addu $a0, $a0, $v1 +/* ABB77C 802404EC 00042043 */ sra $a0, $a0, 1 +/* ABB780 802404F0 0C00A67F */ jal rand_int +/* ABB784 802404F4 24840001 */ addiu $a0, $a0, 1 +/* ABB788 802404F8 8E230008 */ lw $v1, 8($s1) +/* ABB78C 802404FC 240400B4 */ addiu $a0, $zero, 0xb4 +/* ABB790 80240500 00032FC2 */ srl $a1, $v1, 0x1f +/* ABB794 80240504 00651821 */ addu $v1, $v1, $a1 +/* ABB798 80240508 00031843 */ sra $v1, $v1, 1 +/* ABB79C 8024050C 00621821 */ addu $v1, $v1, $v0 +/* ABB7A0 80240510 0C00A67F */ jal rand_int +/* ABB7A4 80240514 A603008E */ sh $v1, 0x8e($s0) +/* ABB7A8 80240518 C60C000C */ lwc1 $f12, 0xc($s0) +/* ABB7AC 8024051C 44820000 */ mtc1 $v0, $f0 +/* ABB7B0 80240520 00000000 */ nop +/* ABB7B4 80240524 46800020 */ cvt.s.w $f0, $f0 +/* ABB7B8 80240528 46006300 */ add.s $f12, $f12, $f0 +/* ABB7BC 8024052C 3C0142B4 */ lui $at, 0x42b4 +/* ABB7C0 80240530 44810000 */ mtc1 $at, $f0 +/* ABB7C4 80240534 0C00A6C9 */ jal clamp_angle +/* ABB7C8 80240538 46006301 */ sub.s $f12, $f12, $f0 +/* ABB7CC 8024053C E600000C */ swc1 $f0, 0xc($s0) +/* ABB7D0 80240540 8E4200CC */ lw $v0, 0xcc($s2) +/* ABB7D4 80240544 8C420000 */ lw $v0, ($v0) +/* ABB7D8 80240548 AE020028 */ sw $v0, 0x28($s0) +/* ABB7DC 8024054C 24020003 */ addiu $v0, $zero, 3 +/* ABB7E0 80240550 AE620070 */ sw $v0, 0x70($s3) +/* ABB7E4 80240554 8FBF0020 */ lw $ra, 0x20($sp) +/* ABB7E8 80240558 8FB3001C */ lw $s3, 0x1c($sp) +/* ABB7EC 8024055C 8FB20018 */ lw $s2, 0x18($sp) +/* ABB7F0 80240560 8FB10014 */ lw $s1, 0x14($sp) +/* ABB7F4 80240564 8FB00010 */ lw $s0, 0x10($sp) +/* ABB7F8 80240568 03E00008 */ jr $ra +/* ABB7FC 8024056C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240570_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240570_ABB290.s new file mode 100644 index 0000000000..c56142a33c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240570_ABB290.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240570_ABB800 +/* ABB800 80240570 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* ABB804 80240574 AFB40040 */ sw $s4, 0x40($sp) +/* ABB808 80240578 0080A02D */ daddu $s4, $a0, $zero +/* ABB80C 8024057C AFBF0044 */ sw $ra, 0x44($sp) +/* ABB810 80240580 AFB3003C */ sw $s3, 0x3c($sp) +/* ABB814 80240584 AFB20038 */ sw $s2, 0x38($sp) +/* ABB818 80240588 AFB10034 */ sw $s1, 0x34($sp) +/* ABB81C 8024058C AFB00030 */ sw $s0, 0x30($sp) +/* ABB820 80240590 8E910148 */ lw $s1, 0x148($s4) +/* ABB824 80240594 00A0902D */ daddu $s2, $a1, $zero +/* ABB828 80240598 86240008 */ lh $a0, 8($s1) +/* ABB82C 8024059C 0C00EABB */ jal get_npc_unsafe +/* ABB830 802405A0 00C0982D */ daddu $s3, $a2, $zero +/* ABB834 802405A4 8E430014 */ lw $v1, 0x14($s2) +/* ABB838 802405A8 04600031 */ bltz $v1, .L80240670 +/* ABB83C 802405AC 0040802D */ daddu $s0, $v0, $zero +/* ABB840 802405B0 0260202D */ daddu $a0, $s3, $zero +/* ABB844 802405B4 AFA00010 */ sw $zero, 0x10($sp) +/* ABB848 802405B8 8E460024 */ lw $a2, 0x24($s2) +/* ABB84C 802405BC 8E470028 */ lw $a3, 0x28($s2) +/* ABB850 802405C0 0C01242D */ jal func_800490B4 +/* ABB854 802405C4 0220282D */ daddu $a1, $s1, $zero +/* ABB858 802405C8 10400029 */ beqz $v0, .L80240670 +/* ABB85C 802405CC 0000202D */ daddu $a0, $zero, $zero +/* ABB860 802405D0 0200282D */ daddu $a1, $s0, $zero +/* ABB864 802405D4 0000302D */ daddu $a2, $zero, $zero +/* ABB868 802405D8 860300A8 */ lh $v1, 0xa8($s0) +/* ABB86C 802405DC 3C013F80 */ lui $at, 0x3f80 +/* ABB870 802405E0 44810000 */ mtc1 $at, $f0 +/* ABB874 802405E4 3C014000 */ lui $at, 0x4000 +/* ABB878 802405E8 44811000 */ mtc1 $at, $f2 +/* ABB87C 802405EC 3C01C1A0 */ lui $at, 0xc1a0 +/* ABB880 802405F0 44812000 */ mtc1 $at, $f4 +/* ABB884 802405F4 2402000F */ addiu $v0, $zero, 0xf +/* ABB888 802405F8 AFA2001C */ sw $v0, 0x1c($sp) +/* ABB88C 802405FC 44833000 */ mtc1 $v1, $f6 +/* ABB890 80240600 00000000 */ nop +/* ABB894 80240604 468031A0 */ cvt.s.w $f6, $f6 +/* ABB898 80240608 44073000 */ mfc1 $a3, $f6 +/* ABB89C 8024060C 27A20028 */ addiu $v0, $sp, 0x28 +/* ABB8A0 80240610 AFA20020 */ sw $v0, 0x20($sp) +/* ABB8A4 80240614 E7A00010 */ swc1 $f0, 0x10($sp) +/* ABB8A8 80240618 E7A20014 */ swc1 $f2, 0x14($sp) +/* ABB8AC 8024061C 0C01BFA4 */ jal fx_emote +/* ABB8B0 80240620 E7A40018 */ swc1 $f4, 0x18($sp) +/* ABB8B4 80240624 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* ABB8B8 80240628 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* ABB8BC 8024062C C60C0038 */ lwc1 $f12, 0x38($s0) +/* ABB8C0 80240630 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ABB8C4 80240634 8C460028 */ lw $a2, 0x28($v0) +/* ABB8C8 80240638 0C00A720 */ jal atan2 +/* ABB8CC 8024063C 8C470030 */ lw $a3, 0x30($v0) +/* ABB8D0 80240640 0200202D */ daddu $a0, $s0, $zero +/* ABB8D4 80240644 240502F4 */ addiu $a1, $zero, 0x2f4 +/* ABB8D8 80240648 3C060020 */ lui $a2, 0x20 +/* ABB8DC 8024064C 0C012530 */ jal func_800494C0 +/* ABB8E0 80240650 E480000C */ swc1 $f0, 0xc($a0) +/* ABB8E4 80240654 8E220018 */ lw $v0, 0x18($s1) +/* ABB8E8 80240658 9442002A */ lhu $v0, 0x2a($v0) +/* ABB8EC 8024065C 30420001 */ andi $v0, $v0, 1 +/* ABB8F0 80240660 14400029 */ bnez $v0, .L80240708 +/* ABB8F4 80240664 2402000A */ addiu $v0, $zero, 0xa +/* ABB8F8 80240668 080901C2 */ j .L80240708 +/* ABB8FC 8024066C 2402000C */ addiu $v0, $zero, 0xc +.L80240670: +/* ABB900 80240670 8602008C */ lh $v0, 0x8c($s0) +/* ABB904 80240674 14400025 */ bnez $v0, .L8024070C +/* ABB908 80240678 00000000 */ nop +/* ABB90C 8024067C 9602008E */ lhu $v0, 0x8e($s0) +/* ABB910 80240680 2442FFFF */ addiu $v0, $v0, -1 +/* ABB914 80240684 A602008E */ sh $v0, 0x8e($s0) +/* ABB918 80240688 00021400 */ sll $v0, $v0, 0x10 +/* ABB91C 8024068C 1440001F */ bnez $v0, .L8024070C +/* ABB920 80240690 00000000 */ nop +/* ABB924 80240694 8E820074 */ lw $v0, 0x74($s4) +/* ABB928 80240698 2442FFFF */ addiu $v0, $v0, -1 +/* ABB92C 8024069C 10400019 */ beqz $v0, .L80240704 +/* ABB930 802406A0 AE820074 */ sw $v0, 0x74($s4) +/* ABB934 802406A4 8E220018 */ lw $v0, 0x18($s1) +/* ABB938 802406A8 9442002A */ lhu $v0, 0x2a($v0) +/* ABB93C 802406AC 30420010 */ andi $v0, $v0, 0x10 +/* ABB940 802406B0 14400007 */ bnez $v0, .L802406D0 +/* ABB944 802406B4 00000000 */ nop +/* ABB948 802406B8 C600000C */ lwc1 $f0, 0xc($s0) +/* ABB94C 802406BC 3C014334 */ lui $at, 0x4334 +/* ABB950 802406C0 44816000 */ mtc1 $at, $f12 +/* ABB954 802406C4 0C00A6C9 */ jal clamp_angle +/* ABB958 802406C8 460C0300 */ add.s $f12, $f0, $f12 +/* ABB95C 802406CC E600000C */ swc1 $f0, 0xc($s0) +.L802406D0: +/* ABB960 802406D0 8E440008 */ lw $a0, 8($s2) +/* ABB964 802406D4 000417C2 */ srl $v0, $a0, 0x1f +/* ABB968 802406D8 00822021 */ addu $a0, $a0, $v0 +/* ABB96C 802406DC 00042043 */ sra $a0, $a0, 1 +/* ABB970 802406E0 0C00A67F */ jal rand_int +/* ABB974 802406E4 24840001 */ addiu $a0, $a0, 1 +/* ABB978 802406E8 8E430008 */ lw $v1, 8($s2) +/* ABB97C 802406EC 000327C2 */ srl $a0, $v1, 0x1f +/* ABB980 802406F0 00641821 */ addu $v1, $v1, $a0 +/* ABB984 802406F4 00031843 */ sra $v1, $v1, 1 +/* ABB988 802406F8 00621821 */ addu $v1, $v1, $v0 +/* ABB98C 802406FC 080901C3 */ j .L8024070C +/* ABB990 80240700 A603008E */ sh $v1, 0x8e($s0) +.L80240704: +/* ABB994 80240704 24020004 */ addiu $v0, $zero, 4 +.L80240708: +/* ABB998 80240708 AE820070 */ sw $v0, 0x70($s4) +.L8024070C: +/* ABB99C 8024070C 8FBF0044 */ lw $ra, 0x44($sp) +/* ABB9A0 80240710 8FB40040 */ lw $s4, 0x40($sp) +/* ABB9A4 80240714 8FB3003C */ lw $s3, 0x3c($sp) +/* ABB9A8 80240718 8FB20038 */ lw $s2, 0x38($sp) +/* ABB9AC 8024071C 8FB10034 */ lw $s1, 0x34($sp) +/* ABB9B0 80240720 8FB00030 */ lw $s0, 0x30($sp) +/* ABB9B4 80240724 03E00008 */ jr $ra +/* ABB9B8 80240728 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_8024072C_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_8024072C_ABB290.s new file mode 100644 index 0000000000..36bb5839c1 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_8024072C_ABB290.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024072C_ABB9BC +/* ABB9BC 8024072C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* ABB9C0 80240730 AFB10014 */ sw $s1, 0x14($sp) +/* ABB9C4 80240734 0080882D */ daddu $s1, $a0, $zero +/* ABB9C8 80240738 AFBF001C */ sw $ra, 0x1c($sp) +/* ABB9CC 8024073C AFB20018 */ sw $s2, 0x18($sp) +/* ABB9D0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* ABB9D4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* ABB9D8 80240748 86040008 */ lh $a0, 8($s0) +/* ABB9DC 8024074C 0C00EABB */ jal get_npc_unsafe +/* ABB9E0 80240750 00A0902D */ daddu $s2, $a1, $zero +/* ABB9E4 80240754 8E230078 */ lw $v1, 0x78($s1) +/* ABB9E8 80240758 24630001 */ addiu $v1, $v1, 1 +/* ABB9EC 8024075C AE230078 */ sw $v1, 0x78($s1) +/* ABB9F0 80240760 8E0400D0 */ lw $a0, 0xd0($s0) +/* ABB9F4 80240764 8C840000 */ lw $a0, ($a0) +/* ABB9F8 80240768 0064182A */ slt $v1, $v1, $a0 +/* ABB9FC 8024076C 14600002 */ bnez $v1, .L80240778 +/* ABBA00 80240770 0040282D */ daddu $a1, $v0, $zero +/* ABBA04 80240774 AE200078 */ sw $zero, 0x78($s1) +.L80240778: +/* ABBA08 80240778 8E0200CC */ lw $v0, 0xcc($s0) +/* ABBA0C 8024077C 8C420004 */ lw $v0, 4($v0) +/* ABBA10 80240780 ACA20028 */ sw $v0, 0x28($a1) +/* ABBA14 80240784 8E0200D0 */ lw $v0, 0xd0($s0) +/* ABBA18 80240788 8C42007C */ lw $v0, 0x7c($v0) +/* ABBA1C 8024078C 04410004 */ bgez $v0, .L802407A0 +/* ABBA20 80240790 00000000 */ nop +/* ABBA24 80240794 C6400000 */ lwc1 $f0, ($s2) +/* ABBA28 80240798 080901F0 */ j .L802407C0 +/* ABBA2C 8024079C E4A00018 */ swc1 $f0, 0x18($a1) +.L802407A0: +/* ABBA30 802407A0 3C018025 */ lui $at, 0x8025 +/* ABBA34 802407A4 D4229D38 */ ldc1 $f2, -0x62c8($at) +/* ABBA38 802407A8 44820000 */ mtc1 $v0, $f0 +/* ABBA3C 802407AC 00000000 */ nop +/* ABBA40 802407B0 46800021 */ cvt.d.w $f0, $f0 +/* ABBA44 802407B4 46220003 */ div.d $f0, $f0, $f2 +/* ABBA48 802407B8 46200020 */ cvt.s.d $f0, $f0 +/* ABBA4C 802407BC E4A00018 */ swc1 $f0, 0x18($a1) +.L802407C0: +/* ABBA50 802407C0 24020001 */ addiu $v0, $zero, 1 +/* ABBA54 802407C4 AE220070 */ sw $v0, 0x70($s1) +/* ABBA58 802407C8 8FBF001C */ lw $ra, 0x1c($sp) +/* ABBA5C 802407CC 8FB20018 */ lw $s2, 0x18($sp) +/* ABBA60 802407D0 8FB10014 */ lw $s1, 0x14($sp) +/* ABBA64 802407D4 8FB00010 */ lw $s0, 0x10($sp) +/* ABBA68 802407D8 03E00008 */ jr $ra +/* ABBA6C 802407DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_802407E0.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_802407E0.s new file mode 100644 index 0000000000..3f469292ab --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_802407E0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407E0 +/* ABBA70 802407E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* ABBA74 802407E4 AFB10014 */ sw $s1, 0x14($sp) +/* ABBA78 802407E8 0080882D */ daddu $s1, $a0, $zero +/* ABBA7C 802407EC AFBF0018 */ sw $ra, 0x18($sp) +/* ABBA80 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* ABBA84 802407F4 8E300148 */ lw $s0, 0x148($s1) +/* ABBA88 802407F8 0C00EABB */ jal get_npc_unsafe +/* ABBA8C 802407FC 86040008 */ lh $a0, 8($s0) +/* ABBA90 80240800 8E0300CC */ lw $v1, 0xcc($s0) +/* ABBA94 80240804 3C014120 */ lui $at, 0x4120 +/* ABBA98 80240808 44812000 */ mtc1 $at, $f4 +/* ABBA9C 8024080C 3C014000 */ lui $at, 0x4000 +/* ABBAA0 80240810 44810000 */ mtc1 $at, $f0 +/* ABBAA4 80240814 C442003C */ lwc1 $f2, 0x3c($v0) +/* ABBAA8 80240818 8C640010 */ lw $a0, 0x10($v1) +/* ABBAAC 8024081C 8C430000 */ lw $v1, ($v0) +/* ABBAB0 80240820 E444001C */ swc1 $f4, 0x1c($v0) +/* ABBAB4 80240824 E4400014 */ swc1 $f0, 0x14($v0) +/* ABBAB8 80240828 E4420064 */ swc1 $f2, 0x64($v0) +/* ABBABC 8024082C 34630800 */ ori $v1, $v1, 0x800 +/* ABBAC0 80240830 AC430000 */ sw $v1, ($v0) +/* ABBAC4 80240834 AC440028 */ sw $a0, 0x28($v0) +/* ABBAC8 80240838 2402000B */ addiu $v0, $zero, 0xb +/* ABBACC 8024083C AE220070 */ sw $v0, 0x70($s1) +/* ABBAD0 80240840 8FBF0018 */ lw $ra, 0x18($sp) +/* ABBAD4 80240844 8FB10014 */ lw $s1, 0x14($sp) +/* ABBAD8 80240848 8FB00010 */ lw $s0, 0x10($sp) +/* ABBADC 8024084C 03E00008 */ jr $ra +/* ABBAE0 80240850 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240854_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240854_ABB290.s new file mode 100644 index 0000000000..e1c0edee8f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240854_ABB290.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240854_ABBAE4 +/* ABBAE4 80240854 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ABBAE8 80240858 AFB00010 */ sw $s0, 0x10($sp) +/* ABBAEC 8024085C 0080802D */ daddu $s0, $a0, $zero +/* ABBAF0 80240860 AFBF0014 */ sw $ra, 0x14($sp) +/* ABBAF4 80240864 8E020148 */ lw $v0, 0x148($s0) +/* ABBAF8 80240868 0C00EABB */ jal get_npc_unsafe +/* ABBAFC 8024086C 84440008 */ lh $a0, 8($v0) +/* ABBB00 80240870 0040202D */ daddu $a0, $v0, $zero +/* ABBB04 80240874 C482003C */ lwc1 $f2, 0x3c($a0) +/* ABBB08 80240878 C480001C */ lwc1 $f0, 0x1c($a0) +/* ABBB0C 8024087C 46001080 */ add.s $f2, $f2, $f0 +/* ABBB10 80240880 C4840014 */ lwc1 $f4, 0x14($a0) +/* ABBB14 80240884 46040001 */ sub.s $f0, $f0, $f4 +/* ABBB18 80240888 C4840064 */ lwc1 $f4, 0x64($a0) +/* ABBB1C 8024088C 4602203C */ c.lt.s $f4, $f2 +/* ABBB20 80240890 E482003C */ swc1 $f2, 0x3c($a0) +/* ABBB24 80240894 45010009 */ bc1t .L802408BC +/* ABBB28 80240898 E480001C */ swc1 $f0, 0x1c($a0) +/* ABBB2C 8024089C 8C820000 */ lw $v0, ($a0) +/* ABBB30 802408A0 2403F7FF */ addiu $v1, $zero, -0x801 +/* ABBB34 802408A4 E484003C */ swc1 $f4, 0x3c($a0) +/* ABBB38 802408A8 AC80001C */ sw $zero, 0x1c($a0) +/* ABBB3C 802408AC 00431024 */ and $v0, $v0, $v1 +/* ABBB40 802408B0 AC820000 */ sw $v0, ($a0) +/* ABBB44 802408B4 2402000C */ addiu $v0, $zero, 0xc +/* ABBB48 802408B8 AE020070 */ sw $v0, 0x70($s0) +.L802408BC: +/* ABBB4C 802408BC 8FBF0014 */ lw $ra, 0x14($sp) +/* ABBB50 802408C0 8FB00010 */ lw $s0, 0x10($sp) +/* ABBB54 802408C4 03E00008 */ jr $ra +/* ABBB58 802408C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_802408CC.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_802408CC.s new file mode 100644 index 0000000000..4671bfe367 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_802408CC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408CC +/* ABBB5C 802408CC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* ABBB60 802408D0 AFB3001C */ sw $s3, 0x1c($sp) +/* ABBB64 802408D4 0080982D */ daddu $s3, $a0, $zero +/* ABBB68 802408D8 AFBF0020 */ sw $ra, 0x20($sp) +/* ABBB6C 802408DC AFB20018 */ sw $s2, 0x18($sp) +/* ABBB70 802408E0 AFB10014 */ sw $s1, 0x14($sp) +/* ABBB74 802408E4 AFB00010 */ sw $s0, 0x10($sp) +/* ABBB78 802408E8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* ABBB7C 802408EC 8E710148 */ lw $s1, 0x148($s3) +/* ABBB80 802408F0 86240008 */ lh $a0, 8($s1) +/* ABBB84 802408F4 0C00EABB */ jal get_npc_unsafe +/* ABBB88 802408F8 00A0802D */ daddu $s0, $a1, $zero +/* ABBB8C 802408FC 8E040020 */ lw $a0, 0x20($s0) +/* ABBB90 80240900 0040902D */ daddu $s2, $v0, $zero +/* ABBB94 80240904 00041FC2 */ srl $v1, $a0, 0x1f +/* ABBB98 80240908 00832021 */ addu $a0, $a0, $v1 +/* ABBB9C 8024090C 00042043 */ sra $a0, $a0, 1 +/* ABBBA0 80240910 0C00A67F */ jal rand_int +/* ABBBA4 80240914 24840001 */ addiu $a0, $a0, 1 +/* ABBBA8 80240918 8E030020 */ lw $v1, 0x20($s0) +/* ABBBAC 8024091C C64C0038 */ lwc1 $f12, 0x38($s2) +/* ABBBB0 80240920 000327C2 */ srl $a0, $v1, 0x1f +/* ABBBB4 80240924 00641821 */ addu $v1, $v1, $a0 +/* ABBBB8 80240928 00031843 */ sra $v1, $v1, 1 +/* ABBBBC 8024092C 00621821 */ addu $v1, $v1, $v0 +/* ABBBC0 80240930 A643008E */ sh $v1, 0x8e($s2) +/* ABBBC4 80240934 8E2200CC */ lw $v0, 0xcc($s1) +/* ABBBC8 80240938 C64E0040 */ lwc1 $f14, 0x40($s2) +/* ABBBCC 8024093C 8C42000C */ lw $v0, 0xc($v0) +/* ABBBD0 80240940 AE420028 */ sw $v0, 0x28($s2) +/* ABBBD4 80240944 C6000018 */ lwc1 $f0, 0x18($s0) +/* ABBBD8 80240948 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* ABBBDC 8024094C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* ABBBE0 80240950 E6400018 */ swc1 $f0, 0x18($s2) +/* ABBBE4 80240954 8C460028 */ lw $a2, 0x28($v0) +/* ABBBE8 80240958 0C00A720 */ jal atan2 +/* ABBBEC 8024095C 8C470030 */ lw $a3, 0x30($v0) +/* ABBBF0 80240960 46000506 */ mov.s $f20, $f0 +/* ABBBF4 80240964 C64C000C */ lwc1 $f12, 0xc($s2) +/* ABBBF8 80240968 0C00A70A */ jal get_clamped_angle_diff +/* ABBBFC 8024096C 4600A386 */ mov.s $f14, $f20 +/* ABBC00 80240970 46000086 */ mov.s $f2, $f0 +/* ABBC04 80240974 8E02001C */ lw $v0, 0x1c($s0) +/* ABBC08 80240978 46001005 */ abs.s $f0, $f2 +/* ABBC0C 8024097C 44822000 */ mtc1 $v0, $f4 +/* ABBC10 80240980 00000000 */ nop +/* ABBC14 80240984 46802120 */ cvt.s.w $f4, $f4 +/* ABBC18 80240988 4600203C */ c.lt.s $f4, $f0 +/* ABBC1C 8024098C 00000000 */ nop +/* ABBC20 80240990 4500000D */ bc1f .L802409C8 +/* ABBC24 80240994 00000000 */ nop +/* ABBC28 80240998 44800000 */ mtc1 $zero, $f0 +/* ABBC2C 8024099C C654000C */ lwc1 $f20, 0xc($s2) +/* ABBC30 802409A0 4600103C */ c.lt.s $f2, $f0 +/* ABBC34 802409A4 00000000 */ nop +/* ABBC38 802409A8 45000006 */ bc1f .L802409C4 +/* ABBC3C 802409AC 00021023 */ negu $v0, $v0 +/* ABBC40 802409B0 44820000 */ mtc1 $v0, $f0 +/* ABBC44 802409B4 00000000 */ nop +/* ABBC48 802409B8 46800020 */ cvt.s.w $f0, $f0 +/* ABBC4C 802409BC 08090272 */ j .L802409C8 +/* ABBC50 802409C0 4600A500 */ add.s $f20, $f20, $f0 +.L802409C4: +/* ABBC54 802409C4 4604A500 */ add.s $f20, $f20, $f4 +.L802409C8: +/* ABBC58 802409C8 0C00A6C9 */ jal clamp_angle +/* ABBC5C 802409CC 4600A306 */ mov.s $f12, $f20 +/* ABBC60 802409D0 2402000D */ addiu $v0, $zero, 0xd +/* ABBC64 802409D4 E640000C */ swc1 $f0, 0xc($s2) +/* ABBC68 802409D8 AE620070 */ sw $v0, 0x70($s3) +/* ABBC6C 802409DC 8FBF0020 */ lw $ra, 0x20($sp) +/* ABBC70 802409E0 8FB3001C */ lw $s3, 0x1c($sp) +/* ABBC74 802409E4 8FB20018 */ lw $s2, 0x18($sp) +/* ABBC78 802409E8 8FB10014 */ lw $s1, 0x14($sp) +/* ABBC7C 802409EC 8FB00010 */ lw $s0, 0x10($sp) +/* ABBC80 802409F0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* ABBC84 802409F4 03E00008 */ jr $ra +/* ABBC88 802409F8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_802409FC_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_802409FC_ABB290.s new file mode 100644 index 0000000000..ed2c009a04 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_802409FC_ABB290.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409FC_ABBC8C +/* ABBC8C 802409FC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* ABBC90 80240A00 AFB3003C */ sw $s3, 0x3c($sp) +/* ABBC94 80240A04 0080982D */ daddu $s3, $a0, $zero +/* ABBC98 80240A08 AFBF0040 */ sw $ra, 0x40($sp) +/* ABBC9C 80240A0C AFB20038 */ sw $s2, 0x38($sp) +/* ABBCA0 80240A10 AFB10034 */ sw $s1, 0x34($sp) +/* ABBCA4 80240A14 AFB00030 */ sw $s0, 0x30($sp) +/* ABBCA8 80240A18 8E720148 */ lw $s2, 0x148($s3) +/* ABBCAC 80240A1C 00A0882D */ daddu $s1, $a1, $zero +/* ABBCB0 80240A20 86440008 */ lh $a0, 8($s2) +/* ABBCB4 80240A24 0C00EABB */ jal get_npc_unsafe +/* ABBCB8 80240A28 00C0802D */ daddu $s0, $a2, $zero +/* ABBCBC 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* ABBCC0 80240A30 0240282D */ daddu $a1, $s2, $zero +/* ABBCC4 80240A34 24030001 */ addiu $v1, $zero, 1 +/* ABBCC8 80240A38 AFA30010 */ sw $v1, 0x10($sp) +/* ABBCCC 80240A3C 8E260024 */ lw $a2, 0x24($s1) +/* ABBCD0 80240A40 8E270028 */ lw $a3, 0x28($s1) +/* ABBCD4 80240A44 0C01242D */ jal func_800490B4 +/* ABBCD8 80240A48 0040802D */ daddu $s0, $v0, $zero +/* ABBCDC 80240A4C 1440001E */ bnez $v0, .L80240AC8 +/* ABBCE0 80240A50 0200202D */ daddu $a0, $s0, $zero +/* ABBCE4 80240A54 24040002 */ addiu $a0, $zero, 2 +/* ABBCE8 80240A58 0200282D */ daddu $a1, $s0, $zero +/* ABBCEC 80240A5C 0000302D */ daddu $a2, $zero, $zero +/* ABBCF0 80240A60 860300A8 */ lh $v1, 0xa8($s0) +/* ABBCF4 80240A64 3C013F80 */ lui $at, 0x3f80 +/* ABBCF8 80240A68 44810000 */ mtc1 $at, $f0 +/* ABBCFC 80240A6C 3C014000 */ lui $at, 0x4000 +/* ABBD00 80240A70 44811000 */ mtc1 $at, $f2 +/* ABBD04 80240A74 3C01C1A0 */ lui $at, 0xc1a0 +/* ABBD08 80240A78 44812000 */ mtc1 $at, $f4 +/* ABBD0C 80240A7C 2402000F */ addiu $v0, $zero, 0xf +/* ABBD10 80240A80 AFA2001C */ sw $v0, 0x1c($sp) +/* ABBD14 80240A84 44833000 */ mtc1 $v1, $f6 +/* ABBD18 80240A88 00000000 */ nop +/* ABBD1C 80240A8C 468031A0 */ cvt.s.w $f6, $f6 +/* ABBD20 80240A90 44073000 */ mfc1 $a3, $f6 +/* ABBD24 80240A94 27A20028 */ addiu $v0, $sp, 0x28 +/* ABBD28 80240A98 AFA20020 */ sw $v0, 0x20($sp) +/* ABBD2C 80240A9C E7A00010 */ swc1 $f0, 0x10($sp) +/* ABBD30 80240AA0 E7A20014 */ swc1 $f2, 0x14($sp) +/* ABBD34 80240AA4 0C01BFA4 */ jal fx_emote +/* ABBD38 80240AA8 E7A40018 */ swc1 $f4, 0x18($sp) +/* ABBD3C 80240AAC 8E4200CC */ lw $v0, 0xcc($s2) +/* ABBD40 80240AB0 8C430000 */ lw $v1, ($v0) +/* ABBD44 80240AB4 24020019 */ addiu $v0, $zero, 0x19 +/* ABBD48 80240AB8 A602008E */ sh $v0, 0x8e($s0) +/* ABBD4C 80240ABC 2402000E */ addiu $v0, $zero, 0xe +/* ABBD50 80240AC0 080902BF */ j .L80240AFC +/* ABBD54 80240AC4 AE030028 */ sw $v1, 0x28($s0) +.L80240AC8: +/* ABBD58 80240AC8 0C00F598 */ jal func_8003D660 +/* ABBD5C 80240ACC 24050001 */ addiu $a1, $zero, 1 +/* ABBD60 80240AD0 8E050018 */ lw $a1, 0x18($s0) +/* ABBD64 80240AD4 8E06000C */ lw $a2, 0xc($s0) +/* ABBD68 80240AD8 0C00EA95 */ jal npc_move_heading +/* ABBD6C 80240ADC 0200202D */ daddu $a0, $s0, $zero +/* ABBD70 80240AE0 8602008E */ lh $v0, 0x8e($s0) +/* ABBD74 80240AE4 9603008E */ lhu $v1, 0x8e($s0) +/* ABBD78 80240AE8 18400003 */ blez $v0, .L80240AF8 +/* ABBD7C 80240AEC 2462FFFF */ addiu $v0, $v1, -1 +/* ABBD80 80240AF0 080902C0 */ j .L80240B00 +/* ABBD84 80240AF4 A602008E */ sh $v0, 0x8e($s0) +.L80240AF8: +/* ABBD88 80240AF8 2402000C */ addiu $v0, $zero, 0xc +.L80240AFC: +/* ABBD8C 80240AFC AE620070 */ sw $v0, 0x70($s3) +.L80240B00: +/* ABBD90 80240B00 8FBF0040 */ lw $ra, 0x40($sp) +/* ABBD94 80240B04 8FB3003C */ lw $s3, 0x3c($sp) +/* ABBD98 80240B08 8FB20038 */ lw $s2, 0x38($sp) +/* ABBD9C 80240B0C 8FB10034 */ lw $s1, 0x34($sp) +/* ABBDA0 80240B10 8FB00030 */ lw $s0, 0x30($sp) +/* ABBDA4 80240B14 03E00008 */ jr $ra +/* ABBDA8 80240B18 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B1C.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B1C.s new file mode 100644 index 0000000000..c8fe3ded13 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B1C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B1C +/* ABBDAC 80240B1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* ABBDB0 80240B20 AFB10014 */ sw $s1, 0x14($sp) +/* ABBDB4 80240B24 0080882D */ daddu $s1, $a0, $zero +/* ABBDB8 80240B28 AFBF0018 */ sw $ra, 0x18($sp) +/* ABBDBC 80240B2C AFB00010 */ sw $s0, 0x10($sp) +/* ABBDC0 80240B30 8E300148 */ lw $s0, 0x148($s1) +/* ABBDC4 80240B34 0C00EABB */ jal get_npc_unsafe +/* ABBDC8 80240B38 86040008 */ lh $a0, 8($s0) +/* ABBDCC 80240B3C 9443008E */ lhu $v1, 0x8e($v0) +/* ABBDD0 80240B40 2463FFFF */ addiu $v1, $v1, -1 +/* ABBDD4 80240B44 A443008E */ sh $v1, 0x8e($v0) +/* ABBDD8 80240B48 00031C00 */ sll $v1, $v1, 0x10 +/* ABBDDC 80240B4C 14600008 */ bnez $v1, .L80240B70 +/* ABBDE0 80240B50 00000000 */ nop +/* ABBDE4 80240B54 8E0200B0 */ lw $v0, 0xb0($s0) +/* ABBDE8 80240B58 30420080 */ andi $v0, $v0, 0x80 +/* ABBDEC 80240B5C 10400003 */ beqz $v0, .L80240B6C +/* ABBDF0 80240B60 2402000F */ addiu $v0, $zero, 0xf +/* ABBDF4 80240B64 080902DC */ j .L80240B70 +/* ABBDF8 80240B68 AE220070 */ sw $v0, 0x70($s1) +.L80240B6C: +/* ABBDFC 80240B6C AE200070 */ sw $zero, 0x70($s1) +.L80240B70: +/* ABBE00 80240B70 8FBF0018 */ lw $ra, 0x18($sp) +/* ABBE04 80240B74 8FB10014 */ lw $s1, 0x14($sp) +/* ABBE08 80240B78 8FB00010 */ lw $s0, 0x10($sp) +/* ABBE0C 80240B7C 03E00008 */ jr $ra +/* ABBE10 80240B80 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B84.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B84.s new file mode 100644 index 0000000000..0e12f22f49 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240B84.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B84 +/* ABBE14 80240B84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* ABBE18 80240B88 AFB10014 */ sw $s1, 0x14($sp) +/* ABBE1C 80240B8C 0080882D */ daddu $s1, $a0, $zero +/* ABBE20 80240B90 AFBF001C */ sw $ra, 0x1c($sp) +/* ABBE24 80240B94 AFB20018 */ sw $s2, 0x18($sp) +/* ABBE28 80240B98 AFB00010 */ sw $s0, 0x10($sp) +/* ABBE2C 80240B9C 8E300148 */ lw $s0, 0x148($s1) +/* ABBE30 80240BA0 86040008 */ lh $a0, 8($s0) +/* ABBE34 80240BA4 0C00EABB */ jal get_npc_unsafe +/* ABBE38 80240BA8 00A0902D */ daddu $s2, $a1, $zero +/* ABBE3C 80240BAC 8E0300D0 */ lw $v1, 0xd0($s0) +/* ABBE40 80240BB0 8E240078 */ lw $a0, 0x78($s1) +/* ABBE44 80240BB4 8C630000 */ lw $v1, ($v1) +/* ABBE48 80240BB8 0083182A */ slt $v1, $a0, $v1 +/* ABBE4C 80240BBC 10600013 */ beqz $v1, .L80240C0C +/* ABBE50 80240BC0 0040302D */ daddu $a2, $v0, $zero +/* ABBE54 80240BC4 00041040 */ sll $v0, $a0, 1 +/* ABBE58 80240BC8 00441021 */ addu $v0, $v0, $a0 +/* ABBE5C 80240BCC 00022880 */ sll $a1, $v0, 2 +.L80240BD0: +/* ABBE60 80240BD0 8E0300D0 */ lw $v1, 0xd0($s0) +/* ABBE64 80240BD4 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* ABBE68 80240BD8 00A31021 */ addu $v0, $a1, $v1 +/* ABBE6C 80240BDC C4400008 */ lwc1 $f0, 8($v0) +/* ABBE70 80240BE0 46800020 */ cvt.s.w $f0, $f0 +/* ABBE74 80240BE4 4602003E */ c.le.s $f0, $f2 +/* ABBE78 80240BE8 00000000 */ nop +/* ABBE7C 80240BEC 45020003 */ bc1fl .L80240BFC +/* ABBE80 80240BF0 24840001 */ addiu $a0, $a0, 1 +/* ABBE84 80240BF4 08090303 */ j .L80240C0C +/* ABBE88 80240BF8 AE240078 */ sw $a0, 0x78($s1) +.L80240BFC: +/* ABBE8C 80240BFC 8C620000 */ lw $v0, ($v1) +/* ABBE90 80240C00 0082102A */ slt $v0, $a0, $v0 +/* ABBE94 80240C04 1440FFF2 */ bnez $v0, .L80240BD0 +/* ABBE98 80240C08 24A5000C */ addiu $a1, $a1, 0xc +.L80240C0C: +/* ABBE9C 80240C0C C6400000 */ lwc1 $f0, ($s2) +/* ABBEA0 80240C10 E4C00018 */ swc1 $f0, 0x18($a2) +/* ABBEA4 80240C14 8E0200CC */ lw $v0, 0xcc($s0) +/* ABBEA8 80240C18 8C420004 */ lw $v0, 4($v0) +/* ABBEAC 80240C1C ACC20028 */ sw $v0, 0x28($a2) +/* ABBEB0 80240C20 24020001 */ addiu $v0, $zero, 1 +/* ABBEB4 80240C24 AE200074 */ sw $zero, 0x74($s1) +/* ABBEB8 80240C28 AE220070 */ sw $v0, 0x70($s1) +/* ABBEBC 80240C2C 8FBF001C */ lw $ra, 0x1c($sp) +/* ABBEC0 80240C30 8FB20018 */ lw $s2, 0x18($sp) +/* ABBEC4 80240C34 8FB10014 */ lw $s1, 0x14($sp) +/* ABBEC8 80240C38 8FB00010 */ lw $s0, 0x10($sp) +/* ABBECC 80240C3C 03E00008 */ jr $ra +/* ABBED0 80240C40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240C44.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240C44.s new file mode 100644 index 0000000000..4618e46c41 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240C44.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C44 +/* ABBED4 80240C44 27BDFF98 */ addiu $sp, $sp, -0x68 +/* ABBED8 80240C48 AFB40058 */ sw $s4, 0x58($sp) +/* ABBEDC 80240C4C 0080A02D */ daddu $s4, $a0, $zero +/* ABBEE0 80240C50 AFBF0060 */ sw $ra, 0x60($sp) +/* ABBEE4 80240C54 AFB5005C */ sw $s5, 0x5c($sp) +/* ABBEE8 80240C58 AFB30054 */ sw $s3, 0x54($sp) +/* ABBEEC 80240C5C AFB20050 */ sw $s2, 0x50($sp) +/* ABBEF0 80240C60 AFB1004C */ sw $s1, 0x4c($sp) +/* ABBEF4 80240C64 AFB00048 */ sw $s0, 0x48($sp) +/* ABBEF8 80240C68 8E910148 */ lw $s1, 0x148($s4) +/* ABBEFC 80240C6C 86240008 */ lh $a0, 8($s1) +/* ABBF00 80240C70 0C00EABB */ jal get_npc_unsafe +/* ABBF04 80240C74 00A0802D */ daddu $s0, $a1, $zero +/* ABBF08 80240C78 8E83000C */ lw $v1, 0xc($s4) +/* ABBF0C 80240C7C 0280202D */ daddu $a0, $s4, $zero +/* ABBF10 80240C80 8C650000 */ lw $a1, ($v1) +/* ABBF14 80240C84 0C0B1EAF */ jal get_variable +/* ABBF18 80240C88 0040902D */ daddu $s2, $v0, $zero +/* ABBF1C 80240C8C AFA00018 */ sw $zero, 0x18($sp) +/* ABBF20 80240C90 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABBF24 80240C94 8C630094 */ lw $v1, 0x94($v1) +/* ABBF28 80240C98 AFA3001C */ sw $v1, 0x1c($sp) +/* ABBF2C 80240C9C 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABBF30 80240CA0 8C630080 */ lw $v1, 0x80($v1) +/* ABBF34 80240CA4 AFA30020 */ sw $v1, 0x20($sp) +/* ABBF38 80240CA8 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABBF3C 80240CAC 8C630088 */ lw $v1, 0x88($v1) +/* ABBF40 80240CB0 AFA30024 */ sw $v1, 0x24($sp) +/* ABBF44 80240CB4 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABBF48 80240CB8 8C63008C */ lw $v1, 0x8c($v1) +/* ABBF4C 80240CBC 27B50018 */ addiu $s5, $sp, 0x18 +/* ABBF50 80240CC0 AFA30028 */ sw $v1, 0x28($sp) +/* ABBF54 80240CC4 8E2300D0 */ lw $v1, 0xd0($s1) +/* ABBF58 80240CC8 3C014282 */ lui $at, 0x4282 +/* ABBF5C 80240CCC 44810000 */ mtc1 $at, $f0 +/* ABBF60 80240CD0 8C630090 */ lw $v1, 0x90($v1) +/* ABBF64 80240CD4 0040982D */ daddu $s3, $v0, $zero +/* ABBF68 80240CD8 E7A00030 */ swc1 $f0, 0x30($sp) +/* ABBF6C 80240CDC A7A00034 */ sh $zero, 0x34($sp) +/* ABBF70 80240CE0 16000005 */ bnez $s0, .L80240CF8 +/* ABBF74 80240CE4 AFA3002C */ sw $v1, 0x2c($sp) +/* ABBF78 80240CE8 8E2200B0 */ lw $v0, 0xb0($s1) +/* ABBF7C 80240CEC 30420004 */ andi $v0, $v0, 4 +/* ABBF80 80240CF0 10400044 */ beqz $v0, .L80240E04 +/* ABBF84 80240CF4 00000000 */ nop +.L80240CF8: +/* ABBF88 80240CF8 2404F7FF */ addiu $a0, $zero, -0x801 +/* ABBF8C 80240CFC AE800070 */ sw $zero, 0x70($s4) +/* ABBF90 80240D00 A640008E */ sh $zero, 0x8e($s2) +/* ABBF94 80240D04 8E2200CC */ lw $v0, 0xcc($s1) +/* ABBF98 80240D08 8E430000 */ lw $v1, ($s2) +/* ABBF9C 80240D0C 8C420000 */ lw $v0, ($v0) +/* ABBFA0 80240D10 00641824 */ and $v1, $v1, $a0 +/* ABBFA4 80240D14 AE430000 */ sw $v1, ($s2) +/* ABBFA8 80240D18 AE420028 */ sw $v0, 0x28($s2) +/* ABBFAC 80240D1C 8E2200D0 */ lw $v0, 0xd0($s1) +/* ABBFB0 80240D20 8C420098 */ lw $v0, 0x98($v0) +/* ABBFB4 80240D24 54400005 */ bnel $v0, $zero, .L80240D3C +/* ABBFB8 80240D28 2402FDFF */ addiu $v0, $zero, -0x201 +/* ABBFBC 80240D2C 34620200 */ ori $v0, $v1, 0x200 +/* ABBFC0 80240D30 2403FFF7 */ addiu $v1, $zero, -9 +/* ABBFC4 80240D34 08090351 */ j .L80240D44 +/* ABBFC8 80240D38 00431024 */ and $v0, $v0, $v1 +.L80240D3C: +/* ABBFCC 80240D3C 00621024 */ and $v0, $v1, $v0 +/* ABBFD0 80240D40 34420008 */ ori $v0, $v0, 8 +.L80240D44: +/* ABBFD4 80240D44 AE420000 */ sw $v0, ($s2) +/* ABBFD8 80240D48 8E2200B0 */ lw $v0, 0xb0($s1) +/* ABBFDC 80240D4C 30420004 */ andi $v0, $v0, 4 +/* ABBFE0 80240D50 10400008 */ beqz $v0, .L80240D74 +/* ABBFE4 80240D54 24020063 */ addiu $v0, $zero, 0x63 +/* ABBFE8 80240D58 AE820070 */ sw $v0, 0x70($s4) +/* ABBFEC 80240D5C AE800074 */ sw $zero, 0x74($s4) +/* ABBFF0 80240D60 8E2200B0 */ lw $v0, 0xb0($s1) +/* ABBFF4 80240D64 2403FFFB */ addiu $v1, $zero, -5 +/* ABBFF8 80240D68 00431024 */ and $v0, $v0, $v1 +/* ABBFFC 80240D6C 08090368 */ j .L80240DA0 +/* ABC000 80240D70 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240D74: +/* ABC004 80240D74 8E220000 */ lw $v0, ($s1) +/* ABC008 80240D78 3C034000 */ lui $v1, 0x4000 +/* ABC00C 80240D7C 00431024 */ and $v0, $v0, $v1 +/* ABC010 80240D80 10400007 */ beqz $v0, .L80240DA0 +/* ABC014 80240D84 3C03BFFF */ lui $v1, 0xbfff +/* ABC018 80240D88 2402000C */ addiu $v0, $zero, 0xc +/* ABC01C 80240D8C AE820070 */ sw $v0, 0x70($s4) +/* ABC020 80240D90 8E220000 */ lw $v0, ($s1) +/* ABC024 80240D94 3463FFFF */ ori $v1, $v1, 0xffff +/* ABC028 80240D98 00431024 */ and $v0, $v0, $v1 +/* ABC02C 80240D9C AE220000 */ sw $v0, ($s1) +.L80240DA0: +/* ABC030 80240DA0 27A50038 */ addiu $a1, $sp, 0x38 +/* ABC034 80240DA4 27A6003C */ addiu $a2, $sp, 0x3c +/* ABC038 80240DA8 C6400038 */ lwc1 $f0, 0x38($s2) +/* ABC03C 80240DAC 864200A8 */ lh $v0, 0xa8($s2) +/* ABC040 80240DB0 3C0142C8 */ lui $at, 0x42c8 +/* ABC044 80240DB4 44812000 */ mtc1 $at, $f4 +/* ABC048 80240DB8 44823000 */ mtc1 $v0, $f6 +/* ABC04C 80240DBC 00000000 */ nop +/* ABC050 80240DC0 468031A0 */ cvt.s.w $f6, $f6 +/* ABC054 80240DC4 27A20044 */ addiu $v0, $sp, 0x44 +/* ABC058 80240DC8 E7A00038 */ swc1 $f0, 0x38($sp) +/* ABC05C 80240DCC C640003C */ lwc1 $f0, 0x3c($s2) +/* ABC060 80240DD0 C6420040 */ lwc1 $f2, 0x40($s2) +/* ABC064 80240DD4 46060000 */ add.s $f0, $f0, $f6 +/* ABC068 80240DD8 E7A40044 */ swc1 $f4, 0x44($sp) +/* ABC06C 80240DDC E7A20040 */ swc1 $f2, 0x40($sp) +/* ABC070 80240DE0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* ABC074 80240DE4 AFA20010 */ sw $v0, 0x10($sp) +/* ABC078 80240DE8 8E440080 */ lw $a0, 0x80($s2) +/* ABC07C 80240DEC 0C0372DF */ jal func_800DCB7C +/* ABC080 80240DF0 27A70040 */ addiu $a3, $sp, 0x40 +/* ABC084 80240DF4 10400003 */ beqz $v0, .L80240E04 +/* ABC088 80240DF8 00000000 */ nop +/* ABC08C 80240DFC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* ABC090 80240E00 E640003C */ swc1 $f0, 0x3c($s2) +.L80240E04: +/* ABC094 80240E04 8E830070 */ lw $v1, 0x70($s4) +/* ABC098 80240E08 2C620064 */ sltiu $v0, $v1, 0x64 +/* ABC09C 80240E0C 10400042 */ beqz $v0, .L80240F18 +/* ABC0A0 80240E10 00031080 */ sll $v0, $v1, 2 +/* ABC0A4 80240E14 3C018025 */ lui $at, 0x8025 +/* ABC0A8 80240E18 00220821 */ addu $at, $at, $v0 +/* ABC0AC 80240E1C 8C229D40 */ lw $v0, -0x62c0($at) +/* ABC0B0 80240E20 00400008 */ jr $v0 +/* ABC0B4 80240E24 00000000 */ nop +/* ABC0B8 80240E28 0280202D */ daddu $a0, $s4, $zero +/* ABC0BC 80240E2C 0260282D */ daddu $a1, $s3, $zero +/* ABC0C0 80240E30 0C09002C */ jal func_802400B0 +/* ABC0C4 80240E34 02A0302D */ daddu $a2, $s5, $zero +/* ABC0C8 80240E38 0280202D */ daddu $a0, $s4, $zero +/* ABC0CC 80240E3C 0260282D */ daddu $a1, $s3, $zero +/* ABC0D0 80240E40 0C090082 */ jal func_80240208 +/* ABC0D4 80240E44 02A0302D */ daddu $a2, $s5, $zero +/* ABC0D8 80240E48 080903C6 */ j .L80240F18 +/* ABC0DC 80240E4C 00000000 */ nop +/* ABC0E0 80240E50 0280202D */ daddu $a0, $s4, $zero +/* ABC0E4 80240E54 0260282D */ daddu $a1, $s3, $zero +/* ABC0E8 80240E58 0C09012C */ jal func_802404B0 +/* ABC0EC 80240E5C 02A0302D */ daddu $a2, $s5, $zero +/* ABC0F0 80240E60 0280202D */ daddu $a0, $s4, $zero +/* ABC0F4 80240E64 0260282D */ daddu $a1, $s3, $zero +/* ABC0F8 80240E68 0C09015C */ jal func_80240570 +/* ABC0FC 80240E6C 02A0302D */ daddu $a2, $s5, $zero +/* ABC100 80240E70 080903C6 */ j .L80240F18 +/* ABC104 80240E74 00000000 */ nop +/* ABC108 80240E78 0280202D */ daddu $a0, $s4, $zero +/* ABC10C 80240E7C 0260282D */ daddu $a1, $s3, $zero +/* ABC110 80240E80 0C0901CB */ jal func_8024072C +/* ABC114 80240E84 02A0302D */ daddu $a2, $s5, $zero +/* ABC118 80240E88 080903C6 */ j .L80240F18 +/* ABC11C 80240E8C 00000000 */ nop +/* ABC120 80240E90 0280202D */ daddu $a0, $s4, $zero +/* ABC124 80240E94 0260282D */ daddu $a1, $s3, $zero +/* ABC128 80240E98 0C0901F8 */ jal func_802407E0 +/* ABC12C 80240E9C 02A0302D */ daddu $a2, $s5, $zero +/* ABC130 80240EA0 0280202D */ daddu $a0, $s4, $zero +/* ABC134 80240EA4 0260282D */ daddu $a1, $s3, $zero +/* ABC138 80240EA8 0C090215 */ jal func_80240854 +/* ABC13C 80240EAC 02A0302D */ daddu $a2, $s5, $zero +/* ABC140 80240EB0 080903C6 */ j .L80240F18 +/* ABC144 80240EB4 00000000 */ nop +/* ABC148 80240EB8 0280202D */ daddu $a0, $s4, $zero +/* ABC14C 80240EBC 0260282D */ daddu $a1, $s3, $zero +/* ABC150 80240EC0 0C090233 */ jal func_802408CC +/* ABC154 80240EC4 02A0302D */ daddu $a2, $s5, $zero +/* ABC158 80240EC8 0280202D */ daddu $a0, $s4, $zero +/* ABC15C 80240ECC 0260282D */ daddu $a1, $s3, $zero +/* ABC160 80240ED0 0C09027F */ jal func_802409FC +/* ABC164 80240ED4 02A0302D */ daddu $a2, $s5, $zero +/* ABC168 80240ED8 080903C6 */ j .L80240F18 +/* ABC16C 80240EDC 00000000 */ nop +/* ABC170 80240EE0 0280202D */ daddu $a0, $s4, $zero +/* ABC174 80240EE4 0260282D */ daddu $a1, $s3, $zero +/* ABC178 80240EE8 0C0902C7 */ jal func_80240B1C +/* ABC17C 80240EEC 02A0302D */ daddu $a2, $s5, $zero +/* ABC180 80240EF0 080903C6 */ j .L80240F18 +/* ABC184 80240EF4 00000000 */ nop +/* ABC188 80240EF8 0280202D */ daddu $a0, $s4, $zero +/* ABC18C 80240EFC 0260282D */ daddu $a1, $s3, $zero +/* ABC190 80240F00 0C0902E1 */ jal func_80240B84 +/* ABC194 80240F04 02A0302D */ daddu $a2, $s5, $zero +/* ABC198 80240F08 080903C6 */ j .L80240F18 +/* ABC19C 80240F0C 00000000 */ nop +/* ABC1A0 80240F10 0C0129CF */ jal func_8004A73C +/* ABC1A4 80240F14 0280202D */ daddu $a0, $s4, $zero +.L80240F18: +/* ABC1A8 80240F18 8FBF0060 */ lw $ra, 0x60($sp) +/* ABC1AC 80240F1C 8FB5005C */ lw $s5, 0x5c($sp) +/* ABC1B0 80240F20 8FB40058 */ lw $s4, 0x58($sp) +/* ABC1B4 80240F24 8FB30054 */ lw $s3, 0x54($sp) +/* ABC1B8 80240F28 8FB20050 */ lw $s2, 0x50($sp) +/* ABC1BC 80240F2C 8FB1004C */ lw $s1, 0x4c($sp) +/* ABC1C0 80240F30 8FB00048 */ lw $s0, 0x48($sp) +/* ABC1C4 80240F34 0000102D */ daddu $v0, $zero, $zero +/* ABC1C8 80240F38 03E00008 */ jr $ra +/* ABC1CC 80240F3C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_kkj/kkj_00/func_80240F40_ABB290.s b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240F40_ABB290.s new file mode 100644 index 0000000000..b9452ce05e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_00/func_80240F40_ABB290.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F40_ABC1D0 +/* ABC1D0 80240F40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ABC1D4 80240F44 AFB00010 */ sw $s0, 0x10($sp) +/* ABC1D8 80240F48 0080802D */ daddu $s0, $a0, $zero +/* ABC1DC 80240F4C 10A00002 */ beqz $a1, .L80240F58 +/* ABC1E0 80240F50 AFBF0014 */ sw $ra, 0x14($sp) +/* ABC1E4 80240F54 AE000074 */ sw $zero, 0x74($s0) +.L80240F58: +/* ABC1E8 80240F58 0000202D */ daddu $a0, $zero, $zero +/* ABC1EC 80240F5C 240500D0 */ addiu $a1, $zero, 0xd0 +/* ABC1F0 80240F60 00A0302D */ daddu $a2, $a1, $zero +/* ABC1F4 80240F64 0C04DF84 */ jal func_80137E10 +/* ABC1F8 80240F68 00A0382D */ daddu $a3, $a1, $zero +/* ABC1FC 80240F6C C6000074 */ lwc1 $f0, 0x74($s0) +/* ABC200 80240F70 46800020 */ cvt.s.w $f0, $f0 +/* ABC204 80240F74 44050000 */ mfc1 $a1, $f0 +/* ABC208 80240F78 0C04DF62 */ jal func_80137D88 +/* ABC20C 80240F7C 24040001 */ addiu $a0, $zero, 1 +/* ABC210 80240F80 8E020074 */ lw $v0, 0x74($s0) +/* ABC214 80240F84 240300FF */ addiu $v1, $zero, 0xff +/* ABC218 80240F88 14430003 */ bne $v0, $v1, .L80240F98 +/* ABC21C 80240F8C 24420007 */ addiu $v0, $v0, 7 +/* ABC220 80240F90 080903EB */ j .L80240FAC +/* ABC224 80240F94 24020002 */ addiu $v0, $zero, 2 +.L80240F98: +/* ABC228 80240F98 AE020074 */ sw $v0, 0x74($s0) +/* ABC22C 80240F9C 28420100 */ slti $v0, $v0, 0x100 +/* ABC230 80240FA0 50400001 */ beql $v0, $zero, .L80240FA8 +/* ABC234 80240FA4 AE030074 */ sw $v1, 0x74($s0) +.L80240FA8: +/* ABC238 80240FA8 0000102D */ daddu $v0, $zero, $zero +.L80240FAC: +/* ABC23C 80240FAC 8FBF0014 */ lw $ra, 0x14($sp) +/* ABC240 80240FB0 8FB00010 */ lw $s0, 0x10($sp) +/* ABC244 80240FB4 03E00008 */ jr $ra +/* ABC248 80240FB8 27BD0018 */ addiu $sp, $sp, 0x18 +/* ABC24C 80240FBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240000_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240000_AC5170.s new file mode 100644 index 0000000000..736b554cfb --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240000_AC5170.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AC5170 +/* AC5170 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AC5174 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* AC5178 80240008 0080A82D */ daddu $s5, $a0, $zero +/* AC517C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* AC5180 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* AC5184 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* AC5188 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* AC518C 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* AC5190 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* AC5194 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* AC5198 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* AC519C 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* AC51A0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* AC51A4 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* AC51A8 80240038 86640008 */ lh $a0, 8($s3) +/* AC51AC 8024003C 0C00EABB */ jal get_npc_unsafe +/* AC51B0 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* AC51B4 80240044 0040A02D */ daddu $s4, $v0, $zero +/* AC51B8 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* AC51BC 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* AC51C0 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* AC51C4 80240054 0000902D */ daddu $s2, $zero, $zero +/* AC51C8 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* AC51CC 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* AC51D0 80240060 8C620000 */ lw $v0, ($v1) +/* AC51D4 80240064 3C0146FF */ lui $at, 0x46ff +/* AC51D8 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* AC51DC 8024006C 4481A000 */ mtc1 $at, $f20 +/* AC51E0 80240070 18400018 */ blez $v0, .L802400D4 +/* AC51E4 80240074 0240802D */ daddu $s0, $s2, $zero +/* AC51E8 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* AC51EC 8024007C 02231021 */ addu $v0, $s1, $v1 +/* AC51F0 80240080 4600C306 */ mov.s $f12, $f24 +/* AC51F4 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* AC51F8 80240088 46802120 */ cvt.s.w $f4, $f4 +/* AC51FC 8024008C 44062000 */ mfc1 $a2, $f4 +/* AC5200 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* AC5204 80240094 46802120 */ cvt.s.w $f4, $f4 +/* AC5208 80240098 44072000 */ mfc1 $a3, $f4 +/* AC520C 8024009C 0C00A7B5 */ jal dist2D +/* AC5210 802400A0 4600B386 */ mov.s $f14, $f22 +/* AC5214 802400A4 4614003C */ c.lt.s $f0, $f20 +/* AC5218 802400A8 00000000 */ nop +/* AC521C 802400AC 45000003 */ bc1f .L802400BC +/* AC5220 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* AC5224 802400B4 46000506 */ mov.s $f20, $f0 +/* AC5228 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* AC522C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* AC5230 802400C0 26100001 */ addiu $s0, $s0, 1 +/* AC5234 802400C4 8C620000 */ lw $v0, ($v1) +/* AC5238 802400C8 0202102A */ slt $v0, $s0, $v0 +/* AC523C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* AC5240 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* AC5244 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* AC5248 802400D8 8C420004 */ lw $v0, 4($v0) +/* AC524C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* AC5250 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* AC5254 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* AC5258 802400E8 04410004 */ bgez $v0, .L802400FC +/* AC525C 802400EC 00000000 */ nop +/* AC5260 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* AC5264 802400F4 08090047 */ j .L8024011C +/* AC5268 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* AC526C 802400FC 3C018024 */ lui $at, 0x8024 +/* AC5270 80240100 D4223A10 */ ldc1 $f2, 0x3a10($at) +/* AC5274 80240104 44820000 */ mtc1 $v0, $f0 +/* AC5278 80240108 00000000 */ nop +/* AC527C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* AC5280 80240110 46220003 */ div.d $f0, $f0, $f2 +/* AC5284 80240114 46200020 */ cvt.s.d $f0, $f0 +/* AC5288 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* AC528C 8024011C 24020001 */ addiu $v0, $zero, 1 +/* AC5290 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* AC5294 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* AC5298 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* AC529C 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* AC52A0 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* AC52A4 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* AC52A8 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* AC52AC 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* AC52B0 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* AC52B4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* AC52B8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* AC52BC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* AC52C0 80240150 03E00008 */ jr $ra +/* AC52C4 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240158_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240158_AC5170.s new file mode 100644 index 0000000000..5d2326addc --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240158_AC5170.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_AC52C8 +/* AC52C8 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* AC52CC 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* AC52D0 80240160 0080902D */ daddu $s2, $a0, $zero +/* AC52D4 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* AC52D8 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* AC52DC 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* AC52E0 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* AC52E4 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* AC52E8 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* AC52EC 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* AC52F0 80240180 8E510148 */ lw $s1, 0x148($s2) +/* AC52F4 80240184 00A0982D */ daddu $s3, $a1, $zero +/* AC52F8 80240188 86240008 */ lh $a0, 8($s1) +/* AC52FC 8024018C 0C00EABB */ jal get_npc_unsafe +/* AC5300 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* AC5304 80240194 8E630014 */ lw $v1, 0x14($s3) +/* AC5308 80240198 04600030 */ bltz $v1, .L8024025C +/* AC530C 8024019C 0040802D */ daddu $s0, $v0, $zero +/* AC5310 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* AC5314 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* AC5318 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* AC531C 802401AC 0280202D */ daddu $a0, $s4, $zero +/* AC5320 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* AC5324 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* AC5328 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* AC532C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* AC5330 802401C0 0C01242D */ jal func_800490B4 +/* AC5334 802401C4 0220282D */ daddu $a1, $s1, $zero +/* AC5338 802401C8 10400021 */ beqz $v0, .L80240250 +/* AC533C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* AC5340 802401D0 0200282D */ daddu $a1, $s0, $zero +/* AC5344 802401D4 0000302D */ daddu $a2, $zero, $zero +/* AC5348 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* AC534C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* AC5350 802401E0 44810000 */ mtc1 $at, $f0 +/* AC5354 802401E4 3C014000 */ lui $at, 0x4000 +/* AC5358 802401E8 44811000 */ mtc1 $at, $f2 +/* AC535C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* AC5360 802401F0 44812000 */ mtc1 $at, $f4 +/* AC5364 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* AC5368 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* AC536C 802401FC 44833000 */ mtc1 $v1, $f6 +/* AC5370 80240200 00000000 */ nop +/* AC5374 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* AC5378 80240208 44073000 */ mfc1 $a3, $f6 +/* AC537C 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* AC5380 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* AC5384 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* AC5388 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* AC538C 8024021C 0C01BFA4 */ jal fx_emote +/* AC5390 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* AC5394 80240224 0200202D */ daddu $a0, $s0, $zero +/* AC5398 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* AC539C 8024022C 0C012530 */ jal func_800494C0 +/* AC53A0 80240230 3C060020 */ lui $a2, 0x20 +/* AC53A4 80240234 8E220018 */ lw $v0, 0x18($s1) +/* AC53A8 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* AC53AC 8024023C 30420001 */ andi $v0, $v0, 1 +/* AC53B0 80240240 14400064 */ bnez $v0, .L802403D4 +/* AC53B4 80240244 2402000A */ addiu $v0, $zero, 0xa +/* AC53B8 80240248 080900F5 */ j .L802403D4 +/* AC53BC 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* AC53C0 80240250 8E420074 */ lw $v0, 0x74($s2) +/* AC53C4 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* AC53C8 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* AC53CC 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* AC53D0 80240260 1440005D */ bnez $v0, .L802403D8 +/* AC53D4 80240264 00000000 */ nop +/* AC53D8 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* AC53DC 8024026C 3C014010 */ lui $at, 0x4010 +/* AC53E0 80240270 44811800 */ mtc1 $at, $f3 +/* AC53E4 80240274 44801000 */ mtc1 $zero, $f2 +/* AC53E8 80240278 46000021 */ cvt.d.s $f0, $f0 +/* AC53EC 8024027C 4622003C */ c.lt.d $f0, $f2 +/* AC53F0 80240280 00000000 */ nop +/* AC53F4 80240284 45000003 */ bc1f .L80240294 +/* AC53F8 80240288 0200202D */ daddu $a0, $s0, $zero +/* AC53FC 8024028C 080900A6 */ j .L80240298 +/* AC5400 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* AC5404 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* AC5408 80240298 0C00F598 */ jal func_8003D660 +/* AC540C 8024029C 00000000 */ nop +/* AC5410 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* AC5414 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* AC5418 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AC541C 802402AC 00031040 */ sll $v0, $v1, 1 +/* AC5420 802402B0 00431021 */ addu $v0, $v0, $v1 +/* AC5424 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5428 802402B8 00021080 */ sll $v0, $v0, 2 +/* AC542C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* AC5430 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* AC5434 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* AC5438 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* AC543C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* AC5440 802402D0 4406B000 */ mfc1 $a2, $f22 +/* AC5444 802402D4 4407A000 */ mfc1 $a3, $f20 +/* AC5448 802402D8 0C00A720 */ jal atan2 +/* AC544C 802402DC 00000000 */ nop +/* AC5450 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* AC5454 802402E4 44060000 */ mfc1 $a2, $f0 +/* AC5458 802402E8 0200202D */ daddu $a0, $s0, $zero +/* AC545C 802402EC 0C00EA95 */ jal npc_move_heading +/* AC5460 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* AC5464 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* AC5468 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AC546C 802402FC 4406B000 */ mfc1 $a2, $f22 +/* AC5470 80240300 4407A000 */ mfc1 $a3, $f20 +/* AC5474 80240304 0C00A7B5 */ jal dist2D +/* AC5478 80240308 00000000 */ nop +/* AC547C 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* AC5480 80240310 4602003E */ c.le.s $f0, $f2 +/* AC5484 80240314 00000000 */ nop +/* AC5488 80240318 4500002F */ bc1f .L802403D8 +/* AC548C 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* AC5490 80240320 24020002 */ addiu $v0, $zero, 2 +/* AC5494 80240324 0C00A67F */ jal rand_int +/* AC5498 80240328 AE420070 */ sw $v0, 0x70($s2) +/* AC549C 8024032C 3C035555 */ lui $v1, 0x5555 +/* AC54A0 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* AC54A4 80240334 00430018 */ mult $v0, $v1 +/* AC54A8 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* AC54AC 8024033C 00004010 */ mfhi $t0 +/* AC54B0 80240340 01042023 */ subu $a0, $t0, $a0 +/* AC54B4 80240344 00041840 */ sll $v1, $a0, 1 +/* AC54B8 80240348 00641821 */ addu $v1, $v1, $a0 +/* AC54BC 8024034C 00431023 */ subu $v0, $v0, $v1 +/* AC54C0 80240350 24430002 */ addiu $v1, $v0, 2 +/* AC54C4 80240354 AE430074 */ sw $v1, 0x74($s2) +/* AC54C8 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* AC54CC 8024035C 18400009 */ blez $v0, .L80240384 +/* AC54D0 80240360 24020004 */ addiu $v0, $zero, 4 +/* AC54D4 80240364 8E620004 */ lw $v0, 4($s3) +/* AC54D8 80240368 18400006 */ blez $v0, .L80240384 +/* AC54DC 8024036C 24020004 */ addiu $v0, $zero, 4 +/* AC54E0 80240370 8E620008 */ lw $v0, 8($s3) +/* AC54E4 80240374 18400003 */ blez $v0, .L80240384 +/* AC54E8 80240378 24020004 */ addiu $v0, $zero, 4 +/* AC54EC 8024037C 14600002 */ bnez $v1, .L80240388 +/* AC54F0 80240380 00000000 */ nop +.L80240384: +/* AC54F4 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* AC54F8 80240388 0C00A67F */ jal rand_int +/* AC54FC 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* AC5500 80240390 3C0351EB */ lui $v1, 0x51eb +/* AC5504 80240394 3463851F */ ori $v1, $v1, 0x851f +/* AC5508 80240398 00430018 */ mult $v0, $v1 +/* AC550C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* AC5510 802403A0 00004010 */ mfhi $t0 +/* AC5514 802403A4 00082143 */ sra $a0, $t0, 5 +/* AC5518 802403A8 00832023 */ subu $a0, $a0, $v1 +/* AC551C 802403AC 00041840 */ sll $v1, $a0, 1 +/* AC5520 802403B0 00641821 */ addu $v1, $v1, $a0 +/* AC5524 802403B4 000318C0 */ sll $v1, $v1, 3 +/* AC5528 802403B8 00641821 */ addu $v1, $v1, $a0 +/* AC552C 802403BC 00031880 */ sll $v1, $v1, 2 +/* AC5530 802403C0 8E640004 */ lw $a0, 4($s3) +/* AC5534 802403C4 00431023 */ subu $v0, $v0, $v1 +/* AC5538 802403C8 0044102A */ slt $v0, $v0, $a0 +/* AC553C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* AC5540 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* AC5544 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* AC5548 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* AC554C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* AC5550 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* AC5554 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* AC5558 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* AC555C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* AC5560 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* AC5564 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* AC5568 802403F8 03E00008 */ jr $ra +/* AC556C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240400_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240400_AC5170.s new file mode 100644 index 0000000000..a844cf06c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240400_AC5170.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_AC5570 +/* AC5570 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AC5574 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* AC5578 80240408 0080982D */ daddu $s3, $a0, $zero +/* AC557C 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* AC5580 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* AC5584 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* AC5588 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* AC558C 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* AC5590 80240420 86440008 */ lh $a0, 8($s2) +/* AC5594 80240424 0C00EABB */ jal get_npc_unsafe +/* AC5598 80240428 00A0882D */ daddu $s1, $a1, $zero +/* AC559C 8024042C 8E240008 */ lw $a0, 8($s1) +/* AC55A0 80240430 0040802D */ daddu $s0, $v0, $zero +/* AC55A4 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* AC55A8 80240438 00832021 */ addu $a0, $a0, $v1 +/* AC55AC 8024043C 00042043 */ sra $a0, $a0, 1 +/* AC55B0 80240440 0C00A67F */ jal rand_int +/* AC55B4 80240444 24840001 */ addiu $a0, $a0, 1 +/* AC55B8 80240448 8E230008 */ lw $v1, 8($s1) +/* AC55BC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* AC55C0 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* AC55C4 80240454 00651821 */ addu $v1, $v1, $a1 +/* AC55C8 80240458 00031843 */ sra $v1, $v1, 1 +/* AC55CC 8024045C 00621821 */ addu $v1, $v1, $v0 +/* AC55D0 80240460 0C00A67F */ jal rand_int +/* AC55D4 80240464 A603008E */ sh $v1, 0x8e($s0) +/* AC55D8 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* AC55DC 8024046C 44820000 */ mtc1 $v0, $f0 +/* AC55E0 80240470 00000000 */ nop +/* AC55E4 80240474 46800020 */ cvt.s.w $f0, $f0 +/* AC55E8 80240478 46006300 */ add.s $f12, $f12, $f0 +/* AC55EC 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* AC55F0 80240480 44810000 */ mtc1 $at, $f0 +/* AC55F4 80240484 0C00A6C9 */ jal clamp_angle +/* AC55F8 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* AC55FC 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* AC5600 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* AC5604 80240494 8C420000 */ lw $v0, ($v0) +/* AC5608 80240498 AE020028 */ sw $v0, 0x28($s0) +/* AC560C 8024049C 24020003 */ addiu $v0, $zero, 3 +/* AC5610 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* AC5614 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* AC5618 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* AC561C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* AC5620 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* AC5624 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* AC5628 802404B8 03E00008 */ jr $ra +/* AC562C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_802404C0_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_802404C0_AC5170.s new file mode 100644 index 0000000000..17de51e274 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_802404C0_AC5170.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_AC5630 +/* AC5630 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AC5634 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* AC5638 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* AC563C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* AC5640 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* AC5644 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* AC5648 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* AC564C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* AC5650 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* AC5654 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* AC5658 802404E8 86240008 */ lh $a0, 8($s1) +/* AC565C 802404EC 0C00EABB */ jal get_npc_unsafe +/* AC5660 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* AC5664 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* AC5668 802404F8 04600031 */ bltz $v1, .L802405C0 +/* AC566C 802404FC 0040802D */ daddu $s0, $v0, $zero +/* AC5670 80240500 0260202D */ daddu $a0, $s3, $zero +/* AC5674 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* AC5678 80240508 8E460024 */ lw $a2, 0x24($s2) +/* AC567C 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* AC5680 80240510 0C01242D */ jal func_800490B4 +/* AC5684 80240514 0220282D */ daddu $a1, $s1, $zero +/* AC5688 80240518 10400029 */ beqz $v0, .L802405C0 +/* AC568C 8024051C 0000202D */ daddu $a0, $zero, $zero +/* AC5690 80240520 0200282D */ daddu $a1, $s0, $zero +/* AC5694 80240524 0000302D */ daddu $a2, $zero, $zero +/* AC5698 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* AC569C 8024052C 3C013F80 */ lui $at, 0x3f80 +/* AC56A0 80240530 44810000 */ mtc1 $at, $f0 +/* AC56A4 80240534 3C014000 */ lui $at, 0x4000 +/* AC56A8 80240538 44811000 */ mtc1 $at, $f2 +/* AC56AC 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* AC56B0 80240540 44812000 */ mtc1 $at, $f4 +/* AC56B4 80240544 2402000F */ addiu $v0, $zero, 0xf +/* AC56B8 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* AC56BC 8024054C 44833000 */ mtc1 $v1, $f6 +/* AC56C0 80240550 00000000 */ nop +/* AC56C4 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* AC56C8 80240558 44073000 */ mfc1 $a3, $f6 +/* AC56CC 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* AC56D0 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* AC56D4 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* AC56D8 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* AC56DC 8024056C 0C01BFA4 */ jal fx_emote +/* AC56E0 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* AC56E4 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* AC56E8 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* AC56EC 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* AC56F0 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AC56F4 80240584 8C460028 */ lw $a2, 0x28($v0) +/* AC56F8 80240588 0C00A720 */ jal atan2 +/* AC56FC 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* AC5700 80240590 0200202D */ daddu $a0, $s0, $zero +/* AC5704 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* AC5708 80240598 3C060020 */ lui $a2, 0x20 +/* AC570C 8024059C 0C012530 */ jal func_800494C0 +/* AC5710 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* AC5714 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* AC5718 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* AC571C 802405AC 30420001 */ andi $v0, $v0, 1 +/* AC5720 802405B0 14400029 */ bnez $v0, .L80240658 +/* AC5724 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* AC5728 802405B8 08090196 */ j .L80240658 +/* AC572C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* AC5730 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* AC5734 802405C4 14400025 */ bnez $v0, .L8024065C +/* AC5738 802405C8 00000000 */ nop +/* AC573C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* AC5740 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* AC5744 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* AC5748 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* AC574C 802405DC 1440001F */ bnez $v0, .L8024065C +/* AC5750 802405E0 00000000 */ nop +/* AC5754 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* AC5758 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* AC575C 802405EC 10400019 */ beqz $v0, .L80240654 +/* AC5760 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* AC5764 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* AC5768 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* AC576C 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* AC5770 80240600 14400007 */ bnez $v0, .L80240620 +/* AC5774 80240604 00000000 */ nop +/* AC5778 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* AC577C 8024060C 3C014334 */ lui $at, 0x4334 +/* AC5780 80240610 44816000 */ mtc1 $at, $f12 +/* AC5784 80240614 0C00A6C9 */ jal clamp_angle +/* AC5788 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* AC578C 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* AC5790 80240620 8E440008 */ lw $a0, 8($s2) +/* AC5794 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* AC5798 80240628 00822021 */ addu $a0, $a0, $v0 +/* AC579C 8024062C 00042043 */ sra $a0, $a0, 1 +/* AC57A0 80240630 0C00A67F */ jal rand_int +/* AC57A4 80240634 24840001 */ addiu $a0, $a0, 1 +/* AC57A8 80240638 8E430008 */ lw $v1, 8($s2) +/* AC57AC 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* AC57B0 80240640 00641821 */ addu $v1, $v1, $a0 +/* AC57B4 80240644 00031843 */ sra $v1, $v1, 1 +/* AC57B8 80240648 00621821 */ addu $v1, $v1, $v0 +/* AC57BC 8024064C 08090197 */ j .L8024065C +/* AC57C0 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* AC57C4 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* AC57C8 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* AC57CC 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* AC57D0 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* AC57D4 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* AC57D8 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* AC57DC 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* AC57E0 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* AC57E4 80240674 03E00008 */ jr $ra +/* AC57E8 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_8024067C_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024067C_AC5170.s new file mode 100644 index 0000000000..d26990c1a2 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024067C_AC5170.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C_AC57EC +/* AC57EC 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AC57F0 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* AC57F4 80240684 0080882D */ daddu $s1, $a0, $zero +/* AC57F8 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* AC57FC 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* AC5800 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* AC5804 80240694 8E300148 */ lw $s0, 0x148($s1) +/* AC5808 80240698 86040008 */ lh $a0, 8($s0) +/* AC580C 8024069C 0C00EABB */ jal get_npc_unsafe +/* AC5810 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* AC5814 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* AC5818 802406A8 24630001 */ addiu $v1, $v1, 1 +/* AC581C 802406AC AE230078 */ sw $v1, 0x78($s1) +/* AC5820 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* AC5824 802406B4 8C840000 */ lw $a0, ($a0) +/* AC5828 802406B8 0064182A */ slt $v1, $v1, $a0 +/* AC582C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* AC5830 802406C0 0040282D */ daddu $a1, $v0, $zero +/* AC5834 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* AC5838 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* AC583C 802406CC 8C420004 */ lw $v0, 4($v0) +/* AC5840 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* AC5844 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* AC5848 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* AC584C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* AC5850 802406E0 00000000 */ nop +/* AC5854 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* AC5858 802406E8 080901C4 */ j .L80240710 +/* AC585C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* AC5860 802406F0 3C018024 */ lui $at, 0x8024 +/* AC5864 802406F4 D4223A18 */ ldc1 $f2, 0x3a18($at) +/* AC5868 802406F8 44820000 */ mtc1 $v0, $f0 +/* AC586C 802406FC 00000000 */ nop +/* AC5870 80240700 46800021 */ cvt.d.w $f0, $f0 +/* AC5874 80240704 46220003 */ div.d $f0, $f0, $f2 +/* AC5878 80240708 46200020 */ cvt.s.d $f0, $f0 +/* AC587C 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* AC5880 80240710 24020001 */ addiu $v0, $zero, 1 +/* AC5884 80240714 AE220070 */ sw $v0, 0x70($s1) +/* AC5888 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* AC588C 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* AC5890 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* AC5894 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* AC5898 80240728 03E00008 */ jr $ra +/* AC589C 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240730_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240730_AC5170.s new file mode 100644 index 0000000000..1dc7f17fb8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240730_AC5170.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_AC58A0 +/* AC58A0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AC58A4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* AC58A8 80240738 0080882D */ daddu $s1, $a0, $zero +/* AC58AC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* AC58B0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* AC58B4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* AC58B8 80240748 0C00EABB */ jal get_npc_unsafe +/* AC58BC 8024074C 86040008 */ lh $a0, 8($s0) +/* AC58C0 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* AC58C4 80240754 3C014120 */ lui $at, 0x4120 +/* AC58C8 80240758 44812000 */ mtc1 $at, $f4 +/* AC58CC 8024075C 3C014000 */ lui $at, 0x4000 +/* AC58D0 80240760 44810000 */ mtc1 $at, $f0 +/* AC58D4 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* AC58D8 80240768 8C640010 */ lw $a0, 0x10($v1) +/* AC58DC 8024076C 8C430000 */ lw $v1, ($v0) +/* AC58E0 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* AC58E4 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* AC58E8 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* AC58EC 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* AC58F0 80240780 AC430000 */ sw $v1, ($v0) +/* AC58F4 80240784 AC440028 */ sw $a0, 0x28($v0) +/* AC58F8 80240788 2402000B */ addiu $v0, $zero, 0xb +/* AC58FC 8024078C AE220070 */ sw $v0, 0x70($s1) +/* AC5900 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* AC5904 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* AC5908 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* AC590C 8024079C 03E00008 */ jr $ra +/* AC5910 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_802407A4_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_802407A4_AC5170.s new file mode 100644 index 0000000000..f423faed44 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_802407A4_AC5170.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_AC5914 +/* AC5914 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AC5918 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* AC591C 802407AC 0080802D */ daddu $s0, $a0, $zero +/* AC5920 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* AC5924 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* AC5928 802407B8 0C00EABB */ jal get_npc_unsafe +/* AC592C 802407BC 84440008 */ lh $a0, 8($v0) +/* AC5930 802407C0 0040202D */ daddu $a0, $v0, $zero +/* AC5934 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* AC5938 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* AC593C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* AC5940 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* AC5944 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* AC5948 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* AC594C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* AC5950 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* AC5954 802407E4 45010009 */ bc1t .L8024080C +/* AC5958 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* AC595C 802407EC 8C820000 */ lw $v0, ($a0) +/* AC5960 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* AC5964 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* AC5968 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* AC596C 802407FC 00431024 */ and $v0, $v0, $v1 +/* AC5970 80240800 AC820000 */ sw $v0, ($a0) +/* AC5974 80240804 2402000C */ addiu $v0, $zero, 0xc +/* AC5978 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* AC597C 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* AC5980 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* AC5984 80240814 03E00008 */ jr $ra +/* AC5988 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_8024081C_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024081C_AC5170.s new file mode 100644 index 0000000000..b01ac1c7ce --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024081C_AC5170.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_AC598C +/* AC598C 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* AC5990 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* AC5994 80240824 0080982D */ daddu $s3, $a0, $zero +/* AC5998 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* AC599C 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* AC59A0 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* AC59A4 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* AC59A8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* AC59AC 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* AC59B0 80240840 86240008 */ lh $a0, 8($s1) +/* AC59B4 80240844 0C00EABB */ jal get_npc_unsafe +/* AC59B8 80240848 00A0802D */ daddu $s0, $a1, $zero +/* AC59BC 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* AC59C0 80240850 0040902D */ daddu $s2, $v0, $zero +/* AC59C4 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* AC59C8 80240858 00832021 */ addu $a0, $a0, $v1 +/* AC59CC 8024085C 00042043 */ sra $a0, $a0, 1 +/* AC59D0 80240860 0C00A67F */ jal rand_int +/* AC59D4 80240864 24840001 */ addiu $a0, $a0, 1 +/* AC59D8 80240868 8E030020 */ lw $v1, 0x20($s0) +/* AC59DC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* AC59E0 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* AC59E4 80240874 00641821 */ addu $v1, $v1, $a0 +/* AC59E8 80240878 00031843 */ sra $v1, $v1, 1 +/* AC59EC 8024087C 00621821 */ addu $v1, $v1, $v0 +/* AC59F0 80240880 A643008E */ sh $v1, 0x8e($s2) +/* AC59F4 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* AC59F8 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* AC59FC 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* AC5A00 80240890 AE420028 */ sw $v0, 0x28($s2) +/* AC5A04 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* AC5A08 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* AC5A0C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* AC5A10 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* AC5A14 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* AC5A18 802408A8 0C00A720 */ jal atan2 +/* AC5A1C 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* AC5A20 802408B0 46000506 */ mov.s $f20, $f0 +/* AC5A24 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* AC5A28 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* AC5A2C 802408BC 4600A386 */ mov.s $f14, $f20 +/* AC5A30 802408C0 46000086 */ mov.s $f2, $f0 +/* AC5A34 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* AC5A38 802408C8 46001005 */ abs.s $f0, $f2 +/* AC5A3C 802408CC 44822000 */ mtc1 $v0, $f4 +/* AC5A40 802408D0 00000000 */ nop +/* AC5A44 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* AC5A48 802408D8 4600203C */ c.lt.s $f4, $f0 +/* AC5A4C 802408DC 00000000 */ nop +/* AC5A50 802408E0 4500000D */ bc1f .L80240918 +/* AC5A54 802408E4 00000000 */ nop +/* AC5A58 802408E8 44800000 */ mtc1 $zero, $f0 +/* AC5A5C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* AC5A60 802408F0 4600103C */ c.lt.s $f2, $f0 +/* AC5A64 802408F4 00000000 */ nop +/* AC5A68 802408F8 45000006 */ bc1f .L80240914 +/* AC5A6C 802408FC 00021023 */ negu $v0, $v0 +/* AC5A70 80240900 44820000 */ mtc1 $v0, $f0 +/* AC5A74 80240904 00000000 */ nop +/* AC5A78 80240908 46800020 */ cvt.s.w $f0, $f0 +/* AC5A7C 8024090C 08090246 */ j .L80240918 +/* AC5A80 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* AC5A84 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* AC5A88 80240918 0C00A6C9 */ jal clamp_angle +/* AC5A8C 8024091C 4600A306 */ mov.s $f12, $f20 +/* AC5A90 80240920 2402000D */ addiu $v0, $zero, 0xd +/* AC5A94 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* AC5A98 80240928 AE620070 */ sw $v0, 0x70($s3) +/* AC5A9C 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* AC5AA0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* AC5AA4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* AC5AA8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* AC5AAC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* AC5AB0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* AC5AB4 80240944 03E00008 */ jr $ra +/* AC5AB8 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_8024094C_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024094C_AC5170.s new file mode 100644 index 0000000000..33ca2cd7a7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_8024094C_AC5170.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_AC5ABC +/* AC5ABC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AC5AC0 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* AC5AC4 80240954 0080982D */ daddu $s3, $a0, $zero +/* AC5AC8 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* AC5ACC 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* AC5AD0 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* AC5AD4 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* AC5AD8 80240968 8E720148 */ lw $s2, 0x148($s3) +/* AC5ADC 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* AC5AE0 80240970 86440008 */ lh $a0, 8($s2) +/* AC5AE4 80240974 0C00EABB */ jal get_npc_unsafe +/* AC5AE8 80240978 00C0802D */ daddu $s0, $a2, $zero +/* AC5AEC 8024097C 0200202D */ daddu $a0, $s0, $zero +/* AC5AF0 80240980 0240282D */ daddu $a1, $s2, $zero +/* AC5AF4 80240984 24030001 */ addiu $v1, $zero, 1 +/* AC5AF8 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* AC5AFC 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* AC5B00 80240990 8E270028 */ lw $a3, 0x28($s1) +/* AC5B04 80240994 0C01242D */ jal func_800490B4 +/* AC5B08 80240998 0040802D */ daddu $s0, $v0, $zero +/* AC5B0C 8024099C 1440001E */ bnez $v0, .L80240A18 +/* AC5B10 802409A0 0200202D */ daddu $a0, $s0, $zero +/* AC5B14 802409A4 24040002 */ addiu $a0, $zero, 2 +/* AC5B18 802409A8 0200282D */ daddu $a1, $s0, $zero +/* AC5B1C 802409AC 0000302D */ daddu $a2, $zero, $zero +/* AC5B20 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* AC5B24 802409B4 3C013F80 */ lui $at, 0x3f80 +/* AC5B28 802409B8 44810000 */ mtc1 $at, $f0 +/* AC5B2C 802409BC 3C014000 */ lui $at, 0x4000 +/* AC5B30 802409C0 44811000 */ mtc1 $at, $f2 +/* AC5B34 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* AC5B38 802409C8 44812000 */ mtc1 $at, $f4 +/* AC5B3C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* AC5B40 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* AC5B44 802409D4 44833000 */ mtc1 $v1, $f6 +/* AC5B48 802409D8 00000000 */ nop +/* AC5B4C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* AC5B50 802409E0 44073000 */ mfc1 $a3, $f6 +/* AC5B54 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* AC5B58 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* AC5B5C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* AC5B60 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* AC5B64 802409F4 0C01BFA4 */ jal fx_emote +/* AC5B68 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* AC5B6C 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* AC5B70 80240A00 8C430000 */ lw $v1, ($v0) +/* AC5B74 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* AC5B78 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* AC5B7C 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* AC5B80 80240A10 08090293 */ j .L80240A4C +/* AC5B84 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* AC5B88 80240A18 0C00F598 */ jal func_8003D660 +/* AC5B8C 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* AC5B90 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* AC5B94 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* AC5B98 80240A28 0C00EA95 */ jal npc_move_heading +/* AC5B9C 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* AC5BA0 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* AC5BA4 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* AC5BA8 80240A38 18400003 */ blez $v0, .L80240A48 +/* AC5BAC 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* AC5BB0 80240A40 08090294 */ j .L80240A50 +/* AC5BB4 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* AC5BB8 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* AC5BBC 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* AC5BC0 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* AC5BC4 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* AC5BC8 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* AC5BCC 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* AC5BD0 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* AC5BD4 80240A64 03E00008 */ jr $ra +/* AC5BD8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240A6C_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240A6C_AC5170.s new file mode 100644 index 0000000000..c7af9efa79 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240A6C_AC5170.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_AC5BDC +/* AC5BDC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AC5BE0 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* AC5BE4 80240A74 0080882D */ daddu $s1, $a0, $zero +/* AC5BE8 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* AC5BEC 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* AC5BF0 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* AC5BF4 80240A84 0C00EABB */ jal get_npc_unsafe +/* AC5BF8 80240A88 86040008 */ lh $a0, 8($s0) +/* AC5BFC 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* AC5C00 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* AC5C04 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* AC5C08 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* AC5C0C 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* AC5C10 80240AA0 00000000 */ nop +/* AC5C14 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* AC5C18 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* AC5C1C 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* AC5C20 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* AC5C24 80240AB4 080902B0 */ j .L80240AC0 +/* AC5C28 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* AC5C2C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* AC5C30 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* AC5C34 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* AC5C38 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* AC5C3C 80240ACC 03E00008 */ jr $ra +/* AC5C40 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240AD4_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240AD4_AC5170.s new file mode 100644 index 0000000000..2baf0cc329 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240AD4_AC5170.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4_AC5C44 +/* AC5C44 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AC5C48 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* AC5C4C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* AC5C50 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* AC5C54 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* AC5C58 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* AC5C5C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* AC5C60 80240AF0 86040008 */ lh $a0, 8($s0) +/* AC5C64 80240AF4 0C00EABB */ jal get_npc_unsafe +/* AC5C68 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* AC5C6C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* AC5C70 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* AC5C74 80240B04 8C630000 */ lw $v1, ($v1) +/* AC5C78 80240B08 0083182A */ slt $v1, $a0, $v1 +/* AC5C7C 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* AC5C80 80240B10 0040302D */ daddu $a2, $v0, $zero +/* AC5C84 80240B14 00041040 */ sll $v0, $a0, 1 +/* AC5C88 80240B18 00441021 */ addu $v0, $v0, $a0 +/* AC5C8C 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* AC5C90 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* AC5C94 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* AC5C98 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* AC5C9C 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* AC5CA0 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* AC5CA4 80240B34 4602003E */ c.le.s $f0, $f2 +/* AC5CA8 80240B38 00000000 */ nop +/* AC5CAC 80240B3C 45020003 */ bc1fl .L80240B4C +/* AC5CB0 80240B40 24840001 */ addiu $a0, $a0, 1 +/* AC5CB4 80240B44 080902D7 */ j .L80240B5C +/* AC5CB8 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* AC5CBC 80240B4C 8C620000 */ lw $v0, ($v1) +/* AC5CC0 80240B50 0082102A */ slt $v0, $a0, $v0 +/* AC5CC4 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* AC5CC8 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* AC5CCC 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* AC5CD0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* AC5CD4 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* AC5CD8 80240B68 8C420004 */ lw $v0, 4($v0) +/* AC5CDC 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* AC5CE0 80240B70 24020001 */ addiu $v0, $zero, 1 +/* AC5CE4 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* AC5CE8 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* AC5CEC 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* AC5CF0 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* AC5CF4 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* AC5CF8 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* AC5CFC 80240B8C 03E00008 */ jr $ra +/* AC5D00 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_01/func_80240B94_AC5170.s b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240B94_AC5170.s new file mode 100644 index 0000000000..6af2c285b2 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_01/func_80240B94_AC5170.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94_AC5D04 +/* AC5D04 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* AC5D08 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* AC5D0C 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* AC5D10 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* AC5D14 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* AC5D18 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* AC5D1C 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* AC5D20 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* AC5D24 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* AC5D28 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* AC5D2C 80240BBC 86240008 */ lh $a0, 8($s1) +/* AC5D30 80240BC0 0C00EABB */ jal get_npc_unsafe +/* AC5D34 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* AC5D38 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* AC5D3C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* AC5D40 80240BD0 8C650000 */ lw $a1, ($v1) +/* AC5D44 80240BD4 0C0B1EAF */ jal get_variable +/* AC5D48 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* AC5D4C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* AC5D50 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5D54 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* AC5D58 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* AC5D5C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5D60 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* AC5D64 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* AC5D68 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5D6C 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* AC5D70 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* AC5D74 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5D78 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* AC5D7C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* AC5D80 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* AC5D84 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* AC5D88 80240C18 3C014282 */ lui $at, 0x4282 +/* AC5D8C 80240C1C 44810000 */ mtc1 $at, $f0 +/* AC5D90 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* AC5D94 80240C24 0040982D */ daddu $s3, $v0, $zero +/* AC5D98 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* AC5D9C 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* AC5DA0 80240C30 16000005 */ bnez $s0, .L80240C48 +/* AC5DA4 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* AC5DA8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* AC5DAC 80240C3C 30420004 */ andi $v0, $v0, 4 +/* AC5DB0 80240C40 10400044 */ beqz $v0, .L80240D54 +/* AC5DB4 80240C44 00000000 */ nop +.L80240C48: +/* AC5DB8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* AC5DBC 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* AC5DC0 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* AC5DC4 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* AC5DC8 80240C58 8E430000 */ lw $v1, ($s2) +/* AC5DCC 80240C5C 8C420000 */ lw $v0, ($v0) +/* AC5DD0 80240C60 00641824 */ and $v1, $v1, $a0 +/* AC5DD4 80240C64 AE430000 */ sw $v1, ($s2) +/* AC5DD8 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* AC5DDC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* AC5DE0 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* AC5DE4 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* AC5DE8 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* AC5DEC 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* AC5DF0 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* AC5DF4 80240C84 08090325 */ j .L80240C94 +/* AC5DF8 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* AC5DFC 80240C8C 00621024 */ and $v0, $v1, $v0 +/* AC5E00 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* AC5E04 80240C94 AE420000 */ sw $v0, ($s2) +/* AC5E08 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* AC5E0C 80240C9C 30420004 */ andi $v0, $v0, 4 +/* AC5E10 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* AC5E14 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* AC5E18 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* AC5E1C 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* AC5E20 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* AC5E24 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* AC5E28 80240CB8 00431024 */ and $v0, $v0, $v1 +/* AC5E2C 80240CBC 0809033C */ j .L80240CF0 +/* AC5E30 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* AC5E34 80240CC4 8E220000 */ lw $v0, ($s1) +/* AC5E38 80240CC8 3C034000 */ lui $v1, 0x4000 +/* AC5E3C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* AC5E40 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* AC5E44 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* AC5E48 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* AC5E4C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* AC5E50 80240CE0 8E220000 */ lw $v0, ($s1) +/* AC5E54 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* AC5E58 80240CE8 00431024 */ and $v0, $v0, $v1 +/* AC5E5C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* AC5E60 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* AC5E64 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* AC5E68 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* AC5E6C 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* AC5E70 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* AC5E74 80240D04 44812000 */ mtc1 $at, $f4 +/* AC5E78 80240D08 44823000 */ mtc1 $v0, $f6 +/* AC5E7C 80240D0C 00000000 */ nop +/* AC5E80 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* AC5E84 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* AC5E88 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* AC5E8C 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* AC5E90 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* AC5E94 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* AC5E98 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* AC5E9C 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* AC5EA0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* AC5EA4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* AC5EA8 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* AC5EAC 80240D3C 0C0372DF */ jal func_800DCB7C +/* AC5EB0 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* AC5EB4 80240D44 10400003 */ beqz $v0, .L80240D54 +/* AC5EB8 80240D48 00000000 */ nop +/* AC5EBC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* AC5EC0 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* AC5EC4 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* AC5EC8 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* AC5ECC 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* AC5ED0 80240D60 00031080 */ sll $v0, $v1, 2 +/* AC5ED4 80240D64 3C018024 */ lui $at, 0x8024 +/* AC5ED8 80240D68 00220821 */ addu $at, $at, $v0 +/* AC5EDC 80240D6C 8C223A20 */ lw $v0, 0x3a20($at) +/* AC5EE0 80240D70 00400008 */ jr $v0 +/* AC5EE4 80240D74 00000000 */ nop +/* AC5EE8 80240D78 0280202D */ daddu $a0, $s4, $zero +/* AC5EEC 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* AC5EF0 80240D80 0C090000 */ jal func_80240000 +/* AC5EF4 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* AC5EF8 80240D88 0280202D */ daddu $a0, $s4, $zero +/* AC5EFC 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* AC5F00 80240D90 0C090056 */ jal func_80240158 +/* AC5F04 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* AC5F08 80240D98 0809039A */ j .L80240E68 +/* AC5F0C 80240D9C 00000000 */ nop +/* AC5F10 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* AC5F14 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* AC5F18 80240DA8 0C090100 */ jal func_80240400 +/* AC5F1C 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* AC5F20 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* AC5F24 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* AC5F28 80240DB8 0C090130 */ jal func_802404C0 +/* AC5F2C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* AC5F30 80240DC0 0809039A */ j .L80240E68 +/* AC5F34 80240DC4 00000000 */ nop +/* AC5F38 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* AC5F3C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* AC5F40 80240DD0 0C09019F */ jal func_8024067C +/* AC5F44 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* AC5F48 80240DD8 0809039A */ j .L80240E68 +/* AC5F4C 80240DDC 00000000 */ nop +/* AC5F50 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* AC5F54 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* AC5F58 80240DE8 0C0901CC */ jal func_80240730 +/* AC5F5C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* AC5F60 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* AC5F64 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* AC5F68 80240DF8 0C0901E9 */ jal func_802407A4 +/* AC5F6C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* AC5F70 80240E00 0809039A */ j .L80240E68 +/* AC5F74 80240E04 00000000 */ nop +/* AC5F78 80240E08 0280202D */ daddu $a0, $s4, $zero +/* AC5F7C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* AC5F80 80240E10 0C090207 */ jal func_8024081C +/* AC5F84 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* AC5F88 80240E18 0280202D */ daddu $a0, $s4, $zero +/* AC5F8C 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* AC5F90 80240E20 0C090253 */ jal func_8024094C +/* AC5F94 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* AC5F98 80240E28 0809039A */ j .L80240E68 +/* AC5F9C 80240E2C 00000000 */ nop +/* AC5FA0 80240E30 0280202D */ daddu $a0, $s4, $zero +/* AC5FA4 80240E34 0260282D */ daddu $a1, $s3, $zero +/* AC5FA8 80240E38 0C09029B */ jal func_80240A6C +/* AC5FAC 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* AC5FB0 80240E40 0809039A */ j .L80240E68 +/* AC5FB4 80240E44 00000000 */ nop +/* AC5FB8 80240E48 0280202D */ daddu $a0, $s4, $zero +/* AC5FBC 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* AC5FC0 80240E50 0C0902B5 */ jal func_80240AD4 +/* AC5FC4 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* AC5FC8 80240E58 0809039A */ j .L80240E68 +/* AC5FCC 80240E5C 00000000 */ nop +/* AC5FD0 80240E60 0C0129CF */ jal func_8004A73C +/* AC5FD4 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* AC5FD8 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* AC5FDC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* AC5FE0 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* AC5FE4 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* AC5FE8 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* AC5FEC 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* AC5FF0 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* AC5FF4 80240E84 0000102D */ daddu $v0, $zero, $zero +/* AC5FF8 80240E88 03E00008 */ jr $ra +/* AC5FFC 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_kkj/kkj_03/func_80240000_AC9710.s b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240000_AC9710.s new file mode 100644 index 0000000000..8a89282752 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240000_AC9710.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AC9710 +/* AC9710 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AC9714 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AC9718 80240008 24020002 */ addiu $v0, $zero, 2 +/* AC971C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* AC9720 80240010 03E00008 */ jr $ra +/* AC9724 80240014 0000102D */ daddu $v0, $zero, $zero +/* AC9728 80240018 00000000 */ nop +/* AC972C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_03/func_80240020_AC9710.s b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240020_AC9710.s new file mode 100644 index 0000000000..57373ce2c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240020_AC9710.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_AC9730 +/* AC9730 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AC9734 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* AC9738 80240028 0080802D */ daddu $s0, $a0, $zero +/* AC973C 8024002C AFBF0014 */ sw $ra, 0x14($sp) +/* AC9740 80240030 8E0300A8 */ lw $v1, 0xa8($s0) +/* AC9744 80240034 8E020088 */ lw $v0, 0x88($s0) +/* AC9748 80240038 00621821 */ addu $v1, $v1, $v0 +/* AC974C 8024003C 04610004 */ bgez $v1, .L80240050 +/* AC9750 80240040 AE0300A8 */ sw $v1, 0xa8($s0) +/* AC9754 80240044 3C020002 */ lui $v0, 2 +/* AC9758 80240048 08090018 */ j .L80240060 +/* AC975C 8024004C 00621021 */ addu $v0, $v1, $v0 +.L80240050: +/* AC9760 80240050 3C040002 */ lui $a0, 2 +/* AC9764 80240054 0083102A */ slt $v0, $a0, $v1 +/* AC9768 80240058 10400002 */ beqz $v0, .L80240064 +/* AC976C 8024005C 00641023 */ subu $v0, $v1, $a0 +.L80240060: +/* AC9770 80240060 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240064: +/* AC9774 80240064 8E0300AC */ lw $v1, 0xac($s0) +/* AC9778 80240068 8E02008C */ lw $v0, 0x8c($s0) +/* AC977C 8024006C 00621821 */ addu $v1, $v1, $v0 +/* AC9780 80240070 04610004 */ bgez $v1, .L80240084 +/* AC9784 80240074 AE0300AC */ sw $v1, 0xac($s0) +/* AC9788 80240078 3C020002 */ lui $v0, 2 +/* AC978C 8024007C 08090025 */ j .L80240094 +/* AC9790 80240080 00621021 */ addu $v0, $v1, $v0 +.L80240084: +/* AC9794 80240084 3C040002 */ lui $a0, 2 +/* AC9798 80240088 0083102A */ slt $v0, $a0, $v1 +/* AC979C 8024008C 10400002 */ beqz $v0, .L80240098 +/* AC97A0 80240090 00641023 */ subu $v0, $v1, $a0 +.L80240094: +/* AC97A4 80240094 AE0200AC */ sw $v0, 0xac($s0) +.L80240098: +/* AC97A8 80240098 8E0300B0 */ lw $v1, 0xb0($s0) +/* AC97AC 8024009C 8E020090 */ lw $v0, 0x90($s0) +/* AC97B0 802400A0 00621821 */ addu $v1, $v1, $v0 +/* AC97B4 802400A4 04610004 */ bgez $v1, .L802400B8 +/* AC97B8 802400A8 AE0300B0 */ sw $v1, 0xb0($s0) +/* AC97BC 802400AC 3C020002 */ lui $v0, 2 +/* AC97C0 802400B0 08090032 */ j .L802400C8 +/* AC97C4 802400B4 00621021 */ addu $v0, $v1, $v0 +.L802400B8: +/* AC97C8 802400B8 3C040002 */ lui $a0, 2 +/* AC97CC 802400BC 0083102A */ slt $v0, $a0, $v1 +/* AC97D0 802400C0 10400002 */ beqz $v0, .L802400CC +/* AC97D4 802400C4 00641023 */ subu $v0, $v1, $a0 +.L802400C8: +/* AC97D8 802400C8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400CC: +/* AC97DC 802400CC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AC97E0 802400D0 8E020094 */ lw $v0, 0x94($s0) +/* AC97E4 802400D4 00621821 */ addu $v1, $v1, $v0 +/* AC97E8 802400D8 04610004 */ bgez $v1, .L802400EC +/* AC97EC 802400DC AE0300B4 */ sw $v1, 0xb4($s0) +/* AC97F0 802400E0 3C020002 */ lui $v0, 2 +/* AC97F4 802400E4 0809003F */ j .L802400FC +/* AC97F8 802400E8 00621021 */ addu $v0, $v1, $v0 +.L802400EC: +/* AC97FC 802400EC 3C040002 */ lui $a0, 2 +/* AC9800 802400F0 0083102A */ slt $v0, $a0, $v1 +/* AC9804 802400F4 10400002 */ beqz $v0, .L80240100 +/* AC9808 802400F8 00641023 */ subu $v0, $v1, $a0 +.L802400FC: +/* AC980C 802400FC AE0200B4 */ sw $v0, 0xb4($s0) +.L80240100: +/* AC9810 80240100 8E040084 */ lw $a0, 0x84($s0) +/* AC9814 80240104 0C046F07 */ jal set_main_pan_u +/* AC9818 80240108 8E0500A8 */ lw $a1, 0xa8($s0) +/* AC981C 8024010C 8E040084 */ lw $a0, 0x84($s0) +/* AC9820 80240110 0C046F0D */ jal set_main_pan_v +/* AC9824 80240114 8E0500AC */ lw $a1, 0xac($s0) +/* AC9828 80240118 8E040084 */ lw $a0, 0x84($s0) +/* AC982C 8024011C 0C046F13 */ jal set_aux_pan_u +/* AC9830 80240120 8E0500B0 */ lw $a1, 0xb0($s0) +/* AC9834 80240124 8E040084 */ lw $a0, 0x84($s0) +/* AC9838 80240128 0C046F19 */ jal set_aux_pan_v +/* AC983C 8024012C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AC9840 80240130 8FBF0014 */ lw $ra, 0x14($sp) +/* AC9844 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* AC9848 80240138 0000102D */ daddu $v0, $zero, $zero +/* AC984C 8024013C 03E00008 */ jr $ra +/* AC9850 80240140 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_03/func_80240144_AC9710.s b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240144_AC9710.s new file mode 100644 index 0000000000..57cc89bfa9 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_03/func_80240144_AC9710.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240144_AC9854 +/* AC9854 80240144 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AC9858 80240148 AFB00010 */ sw $s0, 0x10($sp) +/* AC985C 8024014C 0080802D */ daddu $s0, $a0, $zero +/* AC9860 80240150 10A00005 */ beqz $a1, .L80240168 +/* AC9864 80240154 AFBF0014 */ sw $ra, 0x14($sp) +/* AC9868 80240158 AE000070 */ sw $zero, 0x70($s0) +/* AC986C 8024015C AE000074 */ sw $zero, 0x74($s0) +/* AC9870 80240160 AE000078 */ sw $zero, 0x78($s0) +/* AC9874 80240164 AE00007C */ sw $zero, 0x7c($s0) +.L80240168: +/* AC9878 80240168 8E020070 */ lw $v0, 0x70($s0) +/* AC987C 8024016C 1440000E */ bnez $v0, .L802401A8 +/* AC9880 80240170 00000000 */ nop +/* AC9884 80240174 8E0300A8 */ lw $v1, 0xa8($s0) +/* AC9888 80240178 8E020088 */ lw $v0, 0x88($s0) +/* AC988C 8024017C 00621821 */ addu $v1, $v1, $v0 +/* AC9890 80240180 04610004 */ bgez $v1, .L80240194 +/* AC9894 80240184 AE0300A8 */ sw $v1, 0xa8($s0) +/* AC9898 80240188 3C020002 */ lui $v0, 2 +/* AC989C 8024018C 08090069 */ j .L802401A4 +/* AC98A0 80240190 00621021 */ addu $v0, $v1, $v0 +.L80240194: +/* AC98A4 80240194 3C040002 */ lui $a0, 2 +/* AC98A8 80240198 0083102A */ slt $v0, $a0, $v1 +/* AC98AC 8024019C 10400002 */ beqz $v0, .L802401A8 +/* AC98B0 802401A0 00641023 */ subu $v0, $v1, $a0 +.L802401A4: +/* AC98B4 802401A4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401A8: +/* AC98B8 802401A8 8E020074 */ lw $v0, 0x74($s0) +/* AC98BC 802401AC 1440000E */ bnez $v0, .L802401E8 +/* AC98C0 802401B0 00000000 */ nop +/* AC98C4 802401B4 8E0300AC */ lw $v1, 0xac($s0) +/* AC98C8 802401B8 8E02008C */ lw $v0, 0x8c($s0) +/* AC98CC 802401BC 00621821 */ addu $v1, $v1, $v0 +/* AC98D0 802401C0 04610004 */ bgez $v1, .L802401D4 +/* AC98D4 802401C4 AE0300AC */ sw $v1, 0xac($s0) +/* AC98D8 802401C8 3C020002 */ lui $v0, 2 +/* AC98DC 802401CC 08090079 */ j .L802401E4 +/* AC98E0 802401D0 00621021 */ addu $v0, $v1, $v0 +.L802401D4: +/* AC98E4 802401D4 3C040002 */ lui $a0, 2 +/* AC98E8 802401D8 0083102A */ slt $v0, $a0, $v1 +/* AC98EC 802401DC 10400002 */ beqz $v0, .L802401E8 +/* AC98F0 802401E0 00641023 */ subu $v0, $v1, $a0 +.L802401E4: +/* AC98F4 802401E4 AE0200AC */ sw $v0, 0xac($s0) +.L802401E8: +/* AC98F8 802401E8 8E020078 */ lw $v0, 0x78($s0) +/* AC98FC 802401EC 1440000E */ bnez $v0, .L80240228 +/* AC9900 802401F0 00000000 */ nop +/* AC9904 802401F4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AC9908 802401F8 8E020090 */ lw $v0, 0x90($s0) +/* AC990C 802401FC 00621821 */ addu $v1, $v1, $v0 +/* AC9910 80240200 04610004 */ bgez $v1, .L80240214 +/* AC9914 80240204 AE0300B0 */ sw $v1, 0xb0($s0) +/* AC9918 80240208 3C020002 */ lui $v0, 2 +/* AC991C 8024020C 08090089 */ j .L80240224 +/* AC9920 80240210 00621021 */ addu $v0, $v1, $v0 +.L80240214: +/* AC9924 80240214 3C040002 */ lui $a0, 2 +/* AC9928 80240218 0083102A */ slt $v0, $a0, $v1 +/* AC992C 8024021C 10400002 */ beqz $v0, .L80240228 +/* AC9930 80240220 00641023 */ subu $v0, $v1, $a0 +.L80240224: +/* AC9934 80240224 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240228: +/* AC9938 80240228 8E02007C */ lw $v0, 0x7c($s0) +/* AC993C 8024022C 1440000E */ bnez $v0, .L80240268 +/* AC9940 80240230 00000000 */ nop +/* AC9944 80240234 8E0300B4 */ lw $v1, 0xb4($s0) +/* AC9948 80240238 8E020094 */ lw $v0, 0x94($s0) +/* AC994C 8024023C 00621821 */ addu $v1, $v1, $v0 +/* AC9950 80240240 04610004 */ bgez $v1, .L80240254 +/* AC9954 80240244 AE0300B4 */ sw $v1, 0xb4($s0) +/* AC9958 80240248 3C020002 */ lui $v0, 2 +/* AC995C 8024024C 08090099 */ j .L80240264 +/* AC9960 80240250 00621021 */ addu $v0, $v1, $v0 +.L80240254: +/* AC9964 80240254 3C040002 */ lui $a0, 2 +/* AC9968 80240258 0083102A */ slt $v0, $a0, $v1 +/* AC996C 8024025C 10400002 */ beqz $v0, .L80240268 +/* AC9970 80240260 00641023 */ subu $v0, $v1, $a0 +.L80240264: +/* AC9974 80240264 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240268: +/* AC9978 80240268 8E040084 */ lw $a0, 0x84($s0) +/* AC997C 8024026C 0C046F07 */ jal set_main_pan_u +/* AC9980 80240270 8E0500A8 */ lw $a1, 0xa8($s0) +/* AC9984 80240274 8E040084 */ lw $a0, 0x84($s0) +/* AC9988 80240278 0C046F0D */ jal set_main_pan_v +/* AC998C 8024027C 8E0500AC */ lw $a1, 0xac($s0) +/* AC9990 80240280 8E040084 */ lw $a0, 0x84($s0) +/* AC9994 80240284 0C046F13 */ jal set_aux_pan_u +/* AC9998 80240288 8E0500B0 */ lw $a1, 0xb0($s0) +/* AC999C 8024028C 8E040084 */ lw $a0, 0x84($s0) +/* AC99A0 80240290 0C046F19 */ jal set_aux_pan_v +/* AC99A4 80240294 8E0500B4 */ lw $a1, 0xb4($s0) +/* AC99A8 80240298 8E020070 */ lw $v0, 0x70($s0) +/* AC99AC 8024029C 8E030078 */ lw $v1, 0x78($s0) +/* AC99B0 802402A0 8E040098 */ lw $a0, 0x98($s0) +/* AC99B4 802402A4 24420001 */ addiu $v0, $v0, 1 +/* AC99B8 802402A8 AE020070 */ sw $v0, 0x70($s0) +/* AC99BC 802402AC 8E020074 */ lw $v0, 0x74($s0) +/* AC99C0 802402B0 24630001 */ addiu $v1, $v1, 1 +/* AC99C4 802402B4 AE030078 */ sw $v1, 0x78($s0) +/* AC99C8 802402B8 8E030070 */ lw $v1, 0x70($s0) +/* AC99CC 802402BC 24420001 */ addiu $v0, $v0, 1 +/* AC99D0 802402C0 AE020074 */ sw $v0, 0x74($s0) +/* AC99D4 802402C4 8E02007C */ lw $v0, 0x7c($s0) +/* AC99D8 802402C8 0064182A */ slt $v1, $v1, $a0 +/* AC99DC 802402CC 24420001 */ addiu $v0, $v0, 1 +/* AC99E0 802402D0 14600002 */ bnez $v1, .L802402DC +/* AC99E4 802402D4 AE02007C */ sw $v0, 0x7c($s0) +/* AC99E8 802402D8 AE000070 */ sw $zero, 0x70($s0) +.L802402DC: +/* AC99EC 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* AC99F0 802402E0 8E03009C */ lw $v1, 0x9c($s0) +/* AC99F4 802402E4 0043102A */ slt $v0, $v0, $v1 +/* AC99F8 802402E8 50400001 */ beql $v0, $zero, .L802402F0 +/* AC99FC 802402EC AE000074 */ sw $zero, 0x74($s0) +.L802402F0: +/* AC9A00 802402F0 8E020078 */ lw $v0, 0x78($s0) +/* AC9A04 802402F4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AC9A08 802402F8 0043102A */ slt $v0, $v0, $v1 +/* AC9A0C 802402FC 50400001 */ beql $v0, $zero, .L80240304 +/* AC9A10 80240300 AE000078 */ sw $zero, 0x78($s0) +.L80240304: +/* AC9A14 80240304 8E02007C */ lw $v0, 0x7c($s0) +/* AC9A18 80240308 8E0300A4 */ lw $v1, 0xa4($s0) +/* AC9A1C 8024030C 0043102A */ slt $v0, $v0, $v1 +/* AC9A20 80240310 50400001 */ beql $v0, $zero, .L80240318 +/* AC9A24 80240314 AE00007C */ sw $zero, 0x7c($s0) +.L80240318: +/* AC9A28 80240318 8FBF0014 */ lw $ra, 0x14($sp) +/* AC9A2C 8024031C 8FB00010 */ lw $s0, 0x10($sp) +/* AC9A30 80240320 0000102D */ daddu $v0, $zero, $zero +/* AC9A34 80240324 03E00008 */ jr $ra +/* AC9A38 80240328 27BD0018 */ addiu $sp, $sp, 0x18 +/* AC9A3C 8024032C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240000_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240000_ACAB20.s new file mode 100644 index 0000000000..e3615ea718 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240000_ACAB20.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_ACAB20 +/* ACAB20 80240000 0000202D */ daddu $a0, $zero, $zero +/* ACAB24 80240004 3C058015 */ lui $a1, %hi(D_80151328) +/* ACAB28 80240008 24A51328 */ addiu $a1, $a1, %lo(D_80151328) +/* ACAB2C 8024000C 0080182D */ daddu $v1, $a0, $zero +.L80240010: +/* ACAB30 80240010 8CA20000 */ lw $v0, ($a1) +/* ACAB34 80240014 24840001 */ addiu $a0, $a0, 1 +/* ACAB38 80240018 00431021 */ addu $v0, $v0, $v1 +/* ACAB3C 8024001C A0400004 */ sb $zero, 4($v0) +/* ACAB40 80240020 28820007 */ slti $v0, $a0, 7 +/* ACAB44 80240024 1440FFFA */ bnez $v0, .L80240010 +/* ACAB48 80240028 24630018 */ addiu $v1, $v1, 0x18 +/* ACAB4C 8024002C 03E00008 */ jr $ra +/* ACAB50 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240034_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240034_ACAB20.s new file mode 100644 index 0000000000..3a055bd399 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240034_ACAB20.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_ACAB54 +/* ACAB54 80240034 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACAB58 80240038 AFBF0010 */ sw $ra, 0x10($sp) +/* ACAB5C 8024003C 8C82000C */ lw $v0, 0xc($a0) +/* ACAB60 80240040 0C0B210B */ jal get_float_variable +/* ACAB64 80240044 8C450000 */ lw $a1, ($v0) +/* ACAB68 80240048 8FBF0010 */ lw $ra, 0x10($sp) +/* ACAB6C 8024004C 4600008D */ trunc.w.s $f2, $f0 +/* ACAB70 80240050 44021000 */ mfc1 $v0, $f2 +/* ACAB74 80240054 00000000 */ nop +/* ACAB78 80240058 3C018011 */ lui $at, 0x8011 +/* ACAB7C 8024005C A022EFD5 */ sb $v0, -0x102b($at) +/* ACAB80 80240060 24020002 */ addiu $v0, $zero, 2 +/* ACAB84 80240064 03E00008 */ jr $ra +/* ACAB88 80240068 27BD0018 */ addiu $sp, $sp, 0x18 +/* ACAB8C 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240070_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240070_ACAB20.s new file mode 100644 index 0000000000..002f1b5cf8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240070_ACAB20.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_ACAB90 +/* ACAB90 80240070 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACAB94 80240074 AFBF0010 */ sw $ra, 0x10($sp) +/* ACAB98 80240078 0C04417A */ jal get_entity_by_index +/* ACAB9C 8024007C 8C840084 */ lw $a0, 0x84($a0) +/* ACABA0 80240080 0040182D */ daddu $v1, $v0, $zero +/* ACABA4 80240084 8C640000 */ lw $a0, ($v1) +/* ACABA8 80240088 3C050010 */ lui $a1, 0x10 +/* ACABAC 8024008C 00852025 */ or $a0, $a0, $a1 +/* ACABB0 80240090 AC640000 */ sw $a0, ($v1) +/* ACABB4 80240094 8FBF0010 */ lw $ra, 0x10($sp) +/* ACABB8 80240098 24020002 */ addiu $v0, $zero, 2 +/* ACABBC 8024009C 03E00008 */ jr $ra +/* ACABC0 802400A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* ACABC4 802400A4 00000000 */ nop +/* ACABC8 802400A8 00000000 */ nop +/* ACABCC 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_802400B0_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_802400B0_ACAB20.s new file mode 100644 index 0000000000..88220ba5d0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_802400B0_ACAB20.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_ACABD0 +/* ACABD0 802400B0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* ACABD4 802400B4 AFB3003C */ sw $s3, 0x3c($sp) +/* ACABD8 802400B8 0080982D */ daddu $s3, $a0, $zero +/* ACABDC 802400BC AFBF0044 */ sw $ra, 0x44($sp) +/* ACABE0 802400C0 AFB40040 */ sw $s4, 0x40($sp) +/* ACABE4 802400C4 AFB20038 */ sw $s2, 0x38($sp) +/* ACABE8 802400C8 AFB10034 */ sw $s1, 0x34($sp) +/* ACABEC 802400CC AFB00030 */ sw $s0, 0x30($sp) +/* ACABF0 802400D0 F7B80058 */ sdc1 $f24, 0x58($sp) +/* ACABF4 802400D4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* ACABF8 802400D8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* ACABFC 802400DC 8E620148 */ lw $v0, 0x148($s3) +/* ACAC00 802400E0 0C00EABB */ jal get_npc_unsafe +/* ACAC04 802400E4 84440008 */ lh $a0, 8($v0) +/* ACAC08 802400E8 27A40020 */ addiu $a0, $sp, 0x20 +/* ACAC0C 802400EC 27A50024 */ addiu $a1, $sp, 0x24 +/* ACAC10 802400F0 0040802D */ daddu $s0, $v0, $zero +/* ACAC14 802400F4 8E63000C */ lw $v1, 0xc($s3) +/* ACAC18 802400F8 8E07000C */ lw $a3, 0xc($s0) +/* ACAC1C 802400FC C6000038 */ lwc1 $f0, 0x38($s0) +/* ACAC20 80240100 C6020040 */ lwc1 $f2, 0x40($s0) +/* ACAC24 80240104 8C740000 */ lw $s4, ($v1) +/* ACAC28 80240108 24630004 */ addiu $v1, $v1, 4 +/* ACAC2C 8024010C C4780000 */ lwc1 $f24, ($v1) +/* ACAC30 80240110 4680C620 */ cvt.s.w $f24, $f24 +/* ACAC34 80240114 24630004 */ addiu $v1, $v1, 4 +/* ACAC38 80240118 C4740000 */ lwc1 $f20, ($v1) +/* ACAC3C 8024011C 4680A520 */ cvt.s.w $f20, $f20 +/* ACAC40 80240120 4406A000 */ mfc1 $a2, $f20 +/* ACAC44 80240124 C4760004 */ lwc1 $f22, 4($v1) +/* ACAC48 80240128 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACAC4C 8024012C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACAC50 80240130 0C00A7E7 */ jal add_vec2D_polar +/* ACAC54 80240134 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACAC58 80240138 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACAC5C 8024013C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACAC60 80240140 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACAC64 80240144 4480A000 */ mtc1 $zero, $f20 +/* ACAC68 80240148 8E460028 */ lw $a2, 0x28($s2) +/* ACAC6C 8024014C 4407A000 */ mfc1 $a3, $f20 +/* ACAC70 80240150 0C00A7B5 */ jal dist2D +/* ACAC74 80240154 4600A386 */ mov.s $f14, $f20 +/* ACAC78 80240158 4600A306 */ mov.s $f12, $f20 +/* ACAC7C 8024015C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACAC80 80240160 44066000 */ mfc1 $a2, $f12 +/* ACAC84 80240164 8E470030 */ lw $a3, 0x30($s2) +/* ACAC88 80240168 0C00A7B5 */ jal dist2D +/* ACAC8C 8024016C 46000506 */ mov.s $f20, $f0 +/* ACAC90 80240170 C604000C */ lwc1 $f4, 0xc($s0) +/* ACAC94 80240174 3C018024 */ lui $at, 0x8024 +/* ACAC98 80240178 D42235E0 */ ldc1 $f2, 0x35e0($at) +/* ACAC9C 8024017C 46002121 */ cvt.d.s $f4, $f4 +/* ACACA0 80240180 46222032 */ c.eq.d $f4, $f2 +/* ACACA4 80240184 00000000 */ nop +/* ACACA8 80240188 45010007 */ bc1t .L802401A8 +/* ACACAC 8024018C 46000086 */ mov.s $f2, $f0 +/* ACACB0 80240190 3C018024 */ lui $at, 0x8024 +/* ACACB4 80240194 D42035E8 */ ldc1 $f0, 0x35e8($at) +/* ACACB8 80240198 46202032 */ c.eq.d $f4, $f0 +/* ACACBC 8024019C 00000000 */ nop +/* ACACC0 802401A0 45000008 */ bc1f .L802401C4 +/* ACACC4 802401A4 00000000 */ nop +.L802401A8: +/* ACACC8 802401A8 4618A03E */ c.le.s $f20, $f24 +/* ACACCC 802401AC 00000000 */ nop +/* ACACD0 802401B0 4500000C */ bc1f .L802401E4 +/* ACACD4 802401B4 0000882D */ daddu $s1, $zero, $zero +/* ACACD8 802401B8 4616103E */ c.le.s $f2, $f22 +/* ACACDC 802401BC 08090077 */ j .L802401DC +/* ACACE0 802401C0 00000000 */ nop +.L802401C4: +/* ACACE4 802401C4 4618103E */ c.le.s $f2, $f24 +/* ACACE8 802401C8 00000000 */ nop +/* ACACEC 802401CC 45000005 */ bc1f .L802401E4 +/* ACACF0 802401D0 0000882D */ daddu $s1, $zero, $zero +/* ACACF4 802401D4 4616A03E */ c.le.s $f20, $f22 +/* ACACF8 802401D8 00000000 */ nop +.L802401DC: +/* ACACFC 802401DC 45030001 */ bc1tl .L802401E4 +/* ACAD00 802401E0 24110001 */ addiu $s1, $zero, 1 +.L802401E4: +/* ACAD04 802401E4 12200027 */ beqz $s1, .L80240284 +/* ACAD08 802401E8 0260202D */ daddu $a0, $s3, $zero +/* ACAD0C 802401EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACAD10 802401F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACAD14 802401F4 8E460028 */ lw $a2, 0x28($s2) +/* ACAD18 802401F8 8E470030 */ lw $a3, 0x30($s2) +/* ACAD1C 802401FC C602003C */ lwc1 $f2, 0x3c($s0) +/* ACAD20 80240200 46006006 */ mov.s $f0, $f12 +/* ACAD24 80240204 46007106 */ mov.s $f4, $f14 +/* ACAD28 80240208 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACAD2C 8024020C E7A20028 */ swc1 $f2, 0x28($sp) +/* ACAD30 80240210 0C00A7B5 */ jal dist2D +/* ACAD34 80240214 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACAD38 80240218 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACAD3C 8024021C C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACAD40 80240220 8E460028 */ lw $a2, 0x28($s2) +/* ACAD44 80240224 8E470030 */ lw $a3, 0x30($s2) +/* ACAD48 80240228 0C00A720 */ jal atan2 +/* ACAD4C 8024022C 46000506 */ mov.s $f20, $f0 +/* ACAD50 80240230 3C040007 */ lui $a0, 7 +/* ACAD54 80240234 34848000 */ ori $a0, $a0, 0x8000 +/* ACAD58 80240238 27A50020 */ addiu $a1, $sp, 0x20 +/* ACAD5C 8024023C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACAD60 80240240 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACAD64 80240244 860200A6 */ lh $v0, 0xa6($s0) +/* ACAD68 80240248 27A60028 */ addiu $a2, $sp, 0x28 +/* ACAD6C 8024024C 44820000 */ mtc1 $v0, $f0 +/* ACAD70 80240250 00000000 */ nop +/* ACAD74 80240254 46800020 */ cvt.s.w $f0, $f0 +/* ACAD78 80240258 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACAD7C 8024025C 860200A8 */ lh $v0, 0xa8($s0) +/* ACAD80 80240260 27A70024 */ addiu $a3, $sp, 0x24 +/* ACAD84 80240264 44820000 */ mtc1 $v0, $f0 +/* ACAD88 80240268 00000000 */ nop +/* ACAD8C 8024026C 46800020 */ cvt.s.w $f0, $f0 +/* ACAD90 80240270 0C0376B9 */ jal func_800DDAE4 +/* ACAD94 80240274 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACAD98 80240278 54400001 */ bnel $v0, $zero, .L80240280 +/* ACAD9C 8024027C 0000882D */ daddu $s1, $zero, $zero +.L80240280: +/* ACADA0 80240280 0260202D */ daddu $a0, $s3, $zero +.L80240284: +/* ACADA4 80240284 0280282D */ daddu $a1, $s4, $zero +/* ACADA8 80240288 0C0B2026 */ jal set_variable +/* ACADAC 8024028C 0220302D */ daddu $a2, $s1, $zero +/* ACADB0 80240290 8FBF0044 */ lw $ra, 0x44($sp) +/* ACADB4 80240294 8FB40040 */ lw $s4, 0x40($sp) +/* ACADB8 80240298 8FB3003C */ lw $s3, 0x3c($sp) +/* ACADBC 8024029C 8FB20038 */ lw $s2, 0x38($sp) +/* ACADC0 802402A0 8FB10034 */ lw $s1, 0x34($sp) +/* ACADC4 802402A4 8FB00030 */ lw $s0, 0x30($sp) +/* ACADC8 802402A8 D7B80058 */ ldc1 $f24, 0x58($sp) +/* ACADCC 802402AC D7B60050 */ ldc1 $f22, 0x50($sp) +/* ACADD0 802402B0 D7B40048 */ ldc1 $f20, 0x48($sp) +/* ACADD4 802402B4 24020002 */ addiu $v0, $zero, 2 +/* ACADD8 802402B8 03E00008 */ jr $ra +/* ACADDC 802402BC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_802402C0.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_802402C0.s new file mode 100644 index 0000000000..810478957e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_802402C0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0 +/* ACADE0 802402C0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* ACADE4 802402C4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* ACADE8 802402C8 4485A000 */ mtc1 $a1, $f20 +/* ACADEC 802402CC F7B60068 */ sdc1 $f22, 0x68($sp) +/* ACADF0 802402D0 4486B000 */ mtc1 $a2, $f22 +/* ACADF4 802402D4 F7B80070 */ sdc1 $f24, 0x70($sp) +/* ACADF8 802402D8 4487C000 */ mtc1 $a3, $f24 +/* ACADFC 802402DC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* ACAE00 802402E0 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* ACAE04 802402E4 AFBF0058 */ sw $ra, 0x58($sp) +/* ACAE08 802402E8 AFB10054 */ sw $s1, 0x54($sp) +/* ACAE0C 802402EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* ACAE10 802402F0 AFB00050 */ sw $s0, 0x50($sp) +/* ACAE14 802402F4 0C046B4C */ jal get_model_from_list_index +/* ACAE18 802402F8 0040202D */ daddu $a0, $v0, $zero +/* ACAE1C 802402FC 0040802D */ daddu $s0, $v0, $zero +/* ACAE20 80240300 26110058 */ addiu $s1, $s0, 0x58 +/* ACAE24 80240304 4405A000 */ mfc1 $a1, $f20 +/* ACAE28 80240308 4406B000 */ mfc1 $a2, $f22 +/* ACAE2C 8024030C 4407C000 */ mfc1 $a3, $f24 +/* ACAE30 80240310 0C019E40 */ jal guTranslateF +/* ACAE34 80240314 0220202D */ daddu $a0, $s1, $zero +/* ACAE38 80240318 27A40010 */ addiu $a0, $sp, 0x10 +/* ACAE3C 8024031C 4405D000 */ mfc1 $a1, $f26 +/* ACAE40 80240320 3C063F80 */ lui $a2, 0x3f80 +/* ACAE44 80240324 0C019DF0 */ jal guScaleF +/* ACAE48 80240328 00A0382D */ daddu $a3, $a1, $zero +/* ACAE4C 8024032C 27A40010 */ addiu $a0, $sp, 0x10 +/* ACAE50 80240330 0220282D */ daddu $a1, $s1, $zero +/* ACAE54 80240334 0C019D80 */ jal guMtxCatF +/* ACAE58 80240338 00A0302D */ daddu $a2, $a1, $zero +/* ACAE5C 8024033C 96020000 */ lhu $v0, ($s0) +/* ACAE60 80240340 34421400 */ ori $v0, $v0, 0x1400 +/* ACAE64 80240344 A6020000 */ sh $v0, ($s0) +/* ACAE68 80240348 8FBF0058 */ lw $ra, 0x58($sp) +/* ACAE6C 8024034C 8FB10054 */ lw $s1, 0x54($sp) +/* ACAE70 80240350 8FB00050 */ lw $s0, 0x50($sp) +/* ACAE74 80240354 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* ACAE78 80240358 D7B80070 */ ldc1 $f24, 0x70($sp) +/* ACAE7C 8024035C D7B60068 */ ldc1 $f22, 0x68($sp) +/* ACAE80 80240360 D7B40060 */ ldc1 $f20, 0x60($sp) +/* ACAE84 80240364 03E00008 */ jr $ra +/* ACAE88 80240368 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_8024036C_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_8024036C_ACAB20.s new file mode 100644 index 0000000000..d1897c23a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_8024036C_ACAB20.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_ACAE8C +/* ACAE8C 8024036C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* ACAE90 80240370 AFB7004C */ sw $s7, 0x4c($sp) +/* ACAE94 80240374 0080B82D */ daddu $s7, $a0, $zero +/* ACAE98 80240378 AFBF0054 */ sw $ra, 0x54($sp) +/* ACAE9C 8024037C AFBE0050 */ sw $fp, 0x50($sp) +/* ACAEA0 80240380 AFB60048 */ sw $s6, 0x48($sp) +/* ACAEA4 80240384 AFB50044 */ sw $s5, 0x44($sp) +/* ACAEA8 80240388 AFB40040 */ sw $s4, 0x40($sp) +/* ACAEAC 8024038C AFB3003C */ sw $s3, 0x3c($sp) +/* ACAEB0 80240390 AFB20038 */ sw $s2, 0x38($sp) +/* ACAEB4 80240394 AFB10034 */ sw $s1, 0x34($sp) +/* ACAEB8 80240398 AFB00030 */ sw $s0, 0x30($sp) +/* ACAEBC 8024039C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* ACAEC0 802403A0 F7B80068 */ sdc1 $f24, 0x68($sp) +/* ACAEC4 802403A4 F7B60060 */ sdc1 $f22, 0x60($sp) +/* ACAEC8 802403A8 F7B40058 */ sdc1 $f20, 0x58($sp) +/* ACAECC 802403AC 8EE20148 */ lw $v0, 0x148($s7) +/* ACAED0 802403B0 0C00EABB */ jal get_npc_unsafe +/* ACAED4 802403B4 84440008 */ lh $a0, 8($v0) +/* ACAED8 802403B8 27B50020 */ addiu $s5, $sp, 0x20 +/* ACAEDC 802403BC 02A0202D */ daddu $a0, $s5, $zero +/* ACAEE0 802403C0 0040882D */ daddu $s1, $v0, $zero +/* ACAEE4 802403C4 27B40024 */ addiu $s4, $sp, 0x24 +/* ACAEE8 802403C8 8EE3000C */ lw $v1, 0xc($s7) +/* ACAEEC 802403CC 3C0641F0 */ lui $a2, 0x41f0 +/* ACAEF0 802403D0 8E27000C */ lw $a3, 0xc($s1) +/* ACAEF4 802403D4 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACAEF8 802403D8 C6220040 */ lwc1 $f2, 0x40($s1) +/* ACAEFC 802403DC 8C7E0000 */ lw $fp, ($v1) +/* ACAF00 802403E0 24630004 */ addiu $v1, $v1, 4 +/* ACAF04 802403E4 C4740000 */ lwc1 $f20, ($v1) +/* ACAF08 802403E8 4680A520 */ cvt.s.w $f20, $f20 +/* ACAF0C 802403EC 24630004 */ addiu $v1, $v1, 4 +/* ACAF10 802403F0 C4760000 */ lwc1 $f22, ($v1) +/* ACAF14 802403F4 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACAF18 802403F8 24630004 */ addiu $v1, $v1, 4 +/* ACAF1C 802403FC C4780000 */ lwc1 $f24, ($v1) +/* ACAF20 80240400 4680C620 */ cvt.s.w $f24, $f24 +/* ACAF24 80240404 24630004 */ addiu $v1, $v1, 4 +/* ACAF28 80240408 C47A0000 */ lwc1 $f26, ($v1) +/* ACAF2C 8024040C 4680D6A0 */ cvt.s.w $f26, $f26 +/* ACAF30 80240410 24630004 */ addiu $v1, $v1, 4 +/* ACAF34 80240414 8C760000 */ lw $s6, ($v1) +/* ACAF38 80240418 8C700004 */ lw $s0, 4($v1) +/* ACAF3C 8024041C 0280282D */ daddu $a1, $s4, $zero +/* ACAF40 80240420 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACAF44 80240424 0C00A7E7 */ jal add_vec2D_polar +/* ACAF48 80240428 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACAF4C 8024042C 3C038015 */ lui $v1, %hi(D_80151328) +/* ACAF50 80240430 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* ACAF54 80240434 C7A00020 */ lwc1 $f0, 0x20($sp) +/* ACAF58 80240438 3C0141A0 */ lui $at, 0x41a0 +/* ACAF5C 8024043C 44811000 */ mtc1 $at, $f2 +/* ACAF60 80240440 00101040 */ sll $v0, $s0, 1 +/* ACAF64 80240444 00501021 */ addu $v0, $v0, $s0 +/* ACAF68 80240448 000210C0 */ sll $v0, $v0, 3 +/* ACAF6C 8024044C 24420004 */ addiu $v0, $v0, 4 +/* ACAF70 80240450 00621821 */ addu $v1, $v1, $v0 +/* ACAF74 80240454 E4600004 */ swc1 $f0, 4($v1) +/* ACAF78 80240458 C620003C */ lwc1 $f0, 0x3c($s1) +/* ACAF7C 8024045C 4406A000 */ mfc1 $a2, $f20 +/* ACAF80 80240460 46020000 */ add.s $f0, $f0, $f2 +/* ACAF84 80240464 C7A20024 */ lwc1 $f2, 0x24($sp) +/* ACAF88 80240468 02A0202D */ daddu $a0, $s5, $zero +/* ACAF8C 8024046C E462000C */ swc1 $f2, 0xc($v1) +/* ACAF90 80240470 E4600008 */ swc1 $f0, 8($v1) +/* ACAF94 80240474 8E27000C */ lw $a3, 0xc($s1) +/* ACAF98 80240478 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACAF9C 8024047C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACAFA0 80240480 0280282D */ daddu $a1, $s4, $zero +/* ACAFA4 80240484 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACAFA8 80240488 0C00A7E7 */ jal add_vec2D_polar +/* ACAFAC 8024048C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACAFB0 80240490 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACAFB4 80240494 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACAFB8 80240498 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACAFBC 8024049C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACAFC0 802404A0 8E460028 */ lw $a2, 0x28($s2) +/* ACAFC4 802404A4 8E470030 */ lw $a3, 0x30($s2) +/* ACAFC8 802404A8 0C00A7B5 */ jal dist2D +/* ACAFCC 802404AC 0000802D */ daddu $s0, $zero, $zero +/* ACAFD0 802404B0 4616003E */ c.le.s $f0, $f22 +/* ACAFD4 802404B4 00000000 */ nop +/* ACAFD8 802404B8 45000002 */ bc1f .L802404C4 +/* ACAFDC 802404BC 0240982D */ daddu $s3, $s2, $zero +/* ACAFE0 802404C0 24100001 */ addiu $s0, $zero, 1 +.L802404C4: +/* ACAFE4 802404C4 4600B021 */ cvt.d.s $f0, $f22 +/* ACAFE8 802404C8 46200000 */ add.d $f0, $f0, $f0 +/* ACAFEC 802404CC 3C014059 */ lui $at, 0x4059 +/* ACAFF0 802404D0 44811800 */ mtc1 $at, $f3 +/* ACAFF4 802404D4 44801000 */ mtc1 $zero, $f2 +/* ACAFF8 802404D8 3C018024 */ lui $at, 0x8024 +/* ACAFFC 802404DC D42435F0 */ ldc1 $f4, 0x35f0($at) +/* ACB000 802404E0 46220003 */ div.d $f0, $f0, $f2 +/* ACB004 802404E4 46240000 */ add.d $f0, $f0, $f4 +/* ACB008 802404E8 C7A20020 */ lwc1 $f2, 0x20($sp) +/* ACB00C 802404EC C7A40024 */ lwc1 $f4, 0x24($sp) +/* ACB010 802404F0 44051000 */ mfc1 $a1, $f2 +/* ACB014 802404F4 44072000 */ mfc1 $a3, $f4 +/* ACB018 802404F8 46200020 */ cvt.s.d $f0, $f0 +/* ACB01C 802404FC E7A00010 */ swc1 $f0, 0x10($sp) +/* ACB020 80240500 8E26003C */ lw $a2, 0x3c($s1) +/* ACB024 80240504 0C0900B0 */ jal func_802402C0 +/* ACB028 80240508 02C0202D */ daddu $a0, $s6, $zero +/* ACB02C 8024050C 02A0202D */ daddu $a0, $s5, $zero +/* ACB030 80240510 4406C000 */ mfc1 $a2, $f24 +/* ACB034 80240514 8E27000C */ lw $a3, 0xc($s1) +/* ACB038 80240518 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACB03C 8024051C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACB040 80240520 0280282D */ daddu $a1, $s4, $zero +/* ACB044 80240524 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB048 80240528 0C00A7E7 */ jal add_vec2D_polar +/* ACB04C 8024052C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACB050 80240530 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACB054 80240534 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACB058 80240538 8E460028 */ lw $a2, 0x28($s2) +/* ACB05C 8024053C 0C00A7B5 */ jal dist2D +/* ACB060 80240540 8E470030 */ lw $a3, 0x30($s2) +/* ACB064 80240544 461A003E */ c.le.s $f0, $f26 +/* ACB068 80240548 00000000 */ nop +/* ACB06C 8024054C 45030001 */ bc1tl .L80240554 +/* ACB070 80240550 36100010 */ ori $s0, $s0, 0x10 +.L80240554: +/* ACB074 80240554 32020001 */ andi $v0, $s0, 1 +/* ACB078 80240558 10400026 */ beqz $v0, .L802405F4 +/* ACB07C 8024055C 02E0202D */ daddu $a0, $s7, $zero +/* ACB080 80240560 C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACB084 80240564 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACB088 80240568 8E660028 */ lw $a2, 0x28($s3) +/* ACB08C 8024056C 8E670030 */ lw $a3, 0x30($s3) +/* ACB090 80240570 C622003C */ lwc1 $f2, 0x3c($s1) +/* ACB094 80240574 46006006 */ mov.s $f0, $f12 +/* ACB098 80240578 46007106 */ mov.s $f4, $f14 +/* ACB09C 8024057C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB0A0 80240580 E7A20028 */ swc1 $f2, 0x28($sp) +/* ACB0A4 80240584 0C00A7B5 */ jal dist2D +/* ACB0A8 80240588 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACB0AC 8024058C C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACB0B0 80240590 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACB0B4 80240594 8E660028 */ lw $a2, 0x28($s3) +/* ACB0B8 80240598 8E670030 */ lw $a3, 0x30($s3) +/* ACB0BC 8024059C 0C00A720 */ jal atan2 +/* ACB0C0 802405A0 46000506 */ mov.s $f20, $f0 +/* ACB0C4 802405A4 0000202D */ daddu $a0, $zero, $zero +/* ACB0C8 802405A8 02A0282D */ daddu $a1, $s5, $zero +/* ACB0CC 802405AC E7B40010 */ swc1 $f20, 0x10($sp) +/* ACB0D0 802405B0 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACB0D4 802405B4 862200A6 */ lh $v0, 0xa6($s1) +/* ACB0D8 802405B8 27A60028 */ addiu $a2, $sp, 0x28 +/* ACB0DC 802405BC 44820000 */ mtc1 $v0, $f0 +/* ACB0E0 802405C0 00000000 */ nop +/* ACB0E4 802405C4 46800020 */ cvt.s.w $f0, $f0 +/* ACB0E8 802405C8 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACB0EC 802405CC 862200A8 */ lh $v0, 0xa8($s1) +/* ACB0F0 802405D0 0280382D */ daddu $a3, $s4, $zero +/* ACB0F4 802405D4 44820000 */ mtc1 $v0, $f0 +/* ACB0F8 802405D8 00000000 */ nop +/* ACB0FC 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* ACB100 802405E0 0C0376B9 */ jal func_800DDAE4 +/* ACB104 802405E4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACB108 802405E8 54400001 */ bnel $v0, $zero, .L802405F0 +/* ACB10C 802405EC 0000802D */ daddu $s0, $zero, $zero +.L802405F0: +/* ACB110 802405F0 02E0202D */ daddu $a0, $s7, $zero +.L802405F4: +/* ACB114 802405F4 03C0282D */ daddu $a1, $fp, $zero +/* ACB118 802405F8 0C0B2026 */ jal set_variable +/* ACB11C 802405FC 0200302D */ daddu $a2, $s0, $zero +/* ACB120 80240600 8FBF0054 */ lw $ra, 0x54($sp) +/* ACB124 80240604 8FBE0050 */ lw $fp, 0x50($sp) +/* ACB128 80240608 8FB7004C */ lw $s7, 0x4c($sp) +/* ACB12C 8024060C 8FB60048 */ lw $s6, 0x48($sp) +/* ACB130 80240610 8FB50044 */ lw $s5, 0x44($sp) +/* ACB134 80240614 8FB40040 */ lw $s4, 0x40($sp) +/* ACB138 80240618 8FB3003C */ lw $s3, 0x3c($sp) +/* ACB13C 8024061C 8FB20038 */ lw $s2, 0x38($sp) +/* ACB140 80240620 8FB10034 */ lw $s1, 0x34($sp) +/* ACB144 80240624 8FB00030 */ lw $s0, 0x30($sp) +/* ACB148 80240628 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* ACB14C 8024062C D7B80068 */ ldc1 $f24, 0x68($sp) +/* ACB150 80240630 D7B60060 */ ldc1 $f22, 0x60($sp) +/* ACB154 80240634 D7B40058 */ ldc1 $f20, 0x58($sp) +/* ACB158 80240638 24020002 */ addiu $v0, $zero, 2 +/* ACB15C 8024063C 03E00008 */ jr $ra +/* ACB160 80240640 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240644_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240644_ACAB20.s new file mode 100644 index 0000000000..23d5dcd03d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240644_ACAB20.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_ACB164 +/* ACB164 80240644 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* ACB168 80240648 AFB10014 */ sw $s1, 0x14($sp) +/* ACB16C 8024064C 0080882D */ daddu $s1, $a0, $zero +/* ACB170 80240650 AFBF0024 */ sw $ra, 0x24($sp) +/* ACB174 80240654 AFB40020 */ sw $s4, 0x20($sp) +/* ACB178 80240658 AFB3001C */ sw $s3, 0x1c($sp) +/* ACB17C 8024065C AFB20018 */ sw $s2, 0x18($sp) +/* ACB180 80240660 AFB00010 */ sw $s0, 0x10($sp) +/* ACB184 80240664 8E30000C */ lw $s0, 0xc($s1) +/* ACB188 80240668 8E140000 */ lw $s4, ($s0) +/* ACB18C 8024066C 26100004 */ addiu $s0, $s0, 4 +/* ACB190 80240670 8E050000 */ lw $a1, ($s0) +/* ACB194 80240674 0C0B1EAF */ jal get_variable +/* ACB198 80240678 26100004 */ addiu $s0, $s0, 4 +/* ACB19C 8024067C 8E050000 */ lw $a1, ($s0) +/* ACB1A0 80240680 26100004 */ addiu $s0, $s0, 4 +/* ACB1A4 80240684 0220202D */ daddu $a0, $s1, $zero +/* ACB1A8 80240688 0C0B1EAF */ jal get_variable +/* ACB1AC 8024068C 0040982D */ daddu $s3, $v0, $zero +/* ACB1B0 80240690 8E050000 */ lw $a1, ($s0) +/* ACB1B4 80240694 26100004 */ addiu $s0, $s0, 4 +/* ACB1B8 80240698 0220202D */ daddu $a0, $s1, $zero +/* ACB1BC 8024069C 0C0B1EAF */ jal get_variable +/* ACB1C0 802406A0 0040902D */ daddu $s2, $v0, $zero +/* ACB1C4 802406A4 0220202D */ daddu $a0, $s1, $zero +/* ACB1C8 802406A8 8E050000 */ lw $a1, ($s0) +/* ACB1CC 802406AC 0C0B1EAF */ jal get_variable +/* ACB1D0 802406B0 0040802D */ daddu $s0, $v0, $zero +/* ACB1D4 802406B4 44901000 */ mtc1 $s0, $f2 +/* ACB1D8 802406B8 00000000 */ nop +/* ACB1DC 802406BC 468010A0 */ cvt.s.w $f2, $f2 +/* ACB1E0 802406C0 44936000 */ mtc1 $s3, $f12 +/* ACB1E4 802406C4 00000000 */ nop +/* ACB1E8 802406C8 46806320 */ cvt.s.w $f12, $f12 +/* ACB1EC 802406CC 44061000 */ mfc1 $a2, $f2 +/* ACB1F0 802406D0 44821000 */ mtc1 $v0, $f2 +/* ACB1F4 802406D4 00000000 */ nop +/* ACB1F8 802406D8 468010A0 */ cvt.s.w $f2, $f2 +/* ACB1FC 802406DC 44071000 */ mfc1 $a3, $f2 +/* ACB200 802406E0 44927000 */ mtc1 $s2, $f14 +/* ACB204 802406E4 00000000 */ nop +/* ACB208 802406E8 0C00A720 */ jal atan2 +/* ACB20C 802406EC 468073A0 */ cvt.s.w $f14, $f14 +/* ACB210 802406F0 0220202D */ daddu $a0, $s1, $zero +/* ACB214 802406F4 4600008D */ trunc.w.s $f2, $f0 +/* ACB218 802406F8 44061000 */ mfc1 $a2, $f2 +/* ACB21C 802406FC 0C0B2026 */ jal set_variable +/* ACB220 80240700 0280282D */ daddu $a1, $s4, $zero +/* ACB224 80240704 8FBF0024 */ lw $ra, 0x24($sp) +/* ACB228 80240708 8FB40020 */ lw $s4, 0x20($sp) +/* ACB22C 8024070C 8FB3001C */ lw $s3, 0x1c($sp) +/* ACB230 80240710 8FB20018 */ lw $s2, 0x18($sp) +/* ACB234 80240714 8FB10014 */ lw $s1, 0x14($sp) +/* ACB238 80240718 8FB00010 */ lw $s0, 0x10($sp) +/* ACB23C 8024071C 24020002 */ addiu $v0, $zero, 2 +/* ACB240 80240720 03E00008 */ jr $ra +/* ACB244 80240724 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240728_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240728_ACAB20.s new file mode 100644 index 0000000000..0c6b9f0106 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240728_ACAB20.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728_ACB248 +/* ACB248 80240728 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* ACB24C 8024072C AFB3001C */ sw $s3, 0x1c($sp) +/* ACB250 80240730 0080982D */ daddu $s3, $a0, $zero +/* ACB254 80240734 AFBF0030 */ sw $ra, 0x30($sp) +/* ACB258 80240738 AFB7002C */ sw $s7, 0x2c($sp) +/* ACB25C 8024073C AFB60028 */ sw $s6, 0x28($sp) +/* ACB260 80240740 AFB50024 */ sw $s5, 0x24($sp) +/* ACB264 80240744 AFB40020 */ sw $s4, 0x20($sp) +/* ACB268 80240748 AFB20018 */ sw $s2, 0x18($sp) +/* ACB26C 8024074C AFB10014 */ sw $s1, 0x14($sp) +/* ACB270 80240750 AFB00010 */ sw $s0, 0x10($sp) +/* ACB274 80240754 F7B80048 */ sdc1 $f24, 0x48($sp) +/* ACB278 80240758 F7B60040 */ sdc1 $f22, 0x40($sp) +/* ACB27C 8024075C F7B40038 */ sdc1 $f20, 0x38($sp) +/* ACB280 80240760 8E70000C */ lw $s0, 0xc($s3) +/* ACB284 80240764 8E050000 */ lw $a1, ($s0) +/* ACB288 80240768 0C0B1EAF */ jal get_variable +/* ACB28C 8024076C 26100004 */ addiu $s0, $s0, 4 +/* ACB290 80240770 8E150000 */ lw $s5, ($s0) +/* ACB294 80240774 26100004 */ addiu $s0, $s0, 4 +/* ACB298 80240778 0260202D */ daddu $a0, $s3, $zero +/* ACB29C 8024077C 8E160000 */ lw $s6, ($s0) +/* ACB2A0 80240780 8E170004 */ lw $s7, 4($s0) +/* ACB2A4 80240784 0C0B36B0 */ jal resolve_npc +/* ACB2A8 80240788 0040282D */ daddu $a1, $v0, $zero +/* ACB2AC 8024078C 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* ACB2B0 80240790 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* ACB2B4 80240794 0040802D */ daddu $s0, $v0, $zero +/* ACB2B8 80240798 1200002F */ beqz $s0, .L80240858 +/* ACB2BC 8024079C 0220902D */ daddu $s2, $s1, $zero +/* ACB2C0 802407A0 C62C0028 */ lwc1 $f12, 0x28($s1) +/* ACB2C4 802407A4 C62E0030 */ lwc1 $f14, 0x30($s1) +/* ACB2C8 802407A8 8E060038 */ lw $a2, 0x38($s0) +/* ACB2CC 802407AC 8E070040 */ lw $a3, 0x40($s0) +/* ACB2D0 802407B0 3C0142C8 */ lui $at, 0x42c8 +/* ACB2D4 802407B4 4481C000 */ mtc1 $at, $f24 +/* ACB2D8 802407B8 0C00A7B5 */ jal dist2D +/* ACB2DC 802407BC 24140001 */ addiu $s4, $zero, 1 +/* ACB2E0 802407C0 4618003C */ c.lt.s $f0, $f24 +/* ACB2E4 802407C4 00000000 */ nop +/* ACB2E8 802407C8 45030001 */ bc1tl .L802407D0 +/* ACB2EC 802407CC 0000A02D */ daddu $s4, $zero, $zero +.L802407D0: +/* ACB2F0 802407D0 C64C0028 */ lwc1 $f12, 0x28($s2) +/* ACB2F4 802407D4 C64E0030 */ lwc1 $f14, 0x30($s2) +/* ACB2F8 802407D8 8E060038 */ lw $a2, 0x38($s0) +/* ACB2FC 802407DC 0C00A720 */ jal atan2 +/* ACB300 802407E0 8E070040 */ lw $a3, 0x40($s0) +/* ACB304 802407E4 0C00A6C9 */ jal clamp_angle +/* ACB308 802407E8 46000306 */ mov.s $f12, $f0 +/* ACB30C 802407EC 46000506 */ mov.s $f20, $f0 +/* ACB310 802407F0 0C00A8BB */ jal sin_deg +/* ACB314 802407F4 4600A306 */ mov.s $f12, $f20 +/* ACB318 802407F8 46180002 */ mul.s $f0, $f0, $f24 +/* ACB31C 802407FC 00000000 */ nop +/* ACB320 80240800 C6560028 */ lwc1 $f22, 0x28($s2) +/* ACB324 80240804 4600B580 */ add.s $f22, $f22, $f0 +/* ACB328 80240808 0C00A8D4 */ jal cos_deg +/* ACB32C 8024080C 4600A306 */ mov.s $f12, $f20 +/* ACB330 80240810 46180002 */ mul.s $f0, $f0, $f24 +/* ACB334 80240814 00000000 */ nop +/* ACB338 80240818 0260202D */ daddu $a0, $s3, $zero +/* ACB33C 8024081C 02A0282D */ daddu $a1, $s5, $zero +/* ACB340 80240820 C6540030 */ lwc1 $f20, 0x30($s2) +/* ACB344 80240824 0280302D */ daddu $a2, $s4, $zero +/* ACB348 80240828 0C0B2026 */ jal set_variable +/* ACB34C 8024082C 4600A501 */ sub.s $f20, $f20, $f0 +/* ACB350 80240830 0260202D */ daddu $a0, $s3, $zero +/* ACB354 80240834 4600B08D */ trunc.w.s $f2, $f22 +/* ACB358 80240838 44061000 */ mfc1 $a2, $f2 +/* ACB35C 8024083C 0C0B2026 */ jal set_variable +/* ACB360 80240840 02C0282D */ daddu $a1, $s6, $zero +/* ACB364 80240844 0260202D */ daddu $a0, $s3, $zero +/* ACB368 80240848 4600A08D */ trunc.w.s $f2, $f20 +/* ACB36C 8024084C 44061000 */ mfc1 $a2, $f2 +/* ACB370 80240850 0C0B2026 */ jal set_variable +/* ACB374 80240854 02E0282D */ daddu $a1, $s7, $zero +.L80240858: +/* ACB378 80240858 24020002 */ addiu $v0, $zero, 2 +/* ACB37C 8024085C 8FBF0030 */ lw $ra, 0x30($sp) +/* ACB380 80240860 8FB7002C */ lw $s7, 0x2c($sp) +/* ACB384 80240864 8FB60028 */ lw $s6, 0x28($sp) +/* ACB388 80240868 8FB50024 */ lw $s5, 0x24($sp) +/* ACB38C 8024086C 8FB40020 */ lw $s4, 0x20($sp) +/* ACB390 80240870 8FB3001C */ lw $s3, 0x1c($sp) +/* ACB394 80240874 8FB20018 */ lw $s2, 0x18($sp) +/* ACB398 80240878 8FB10014 */ lw $s1, 0x14($sp) +/* ACB39C 8024087C 8FB00010 */ lw $s0, 0x10($sp) +/* ACB3A0 80240880 D7B80048 */ ldc1 $f24, 0x48($sp) +/* ACB3A4 80240884 D7B60040 */ ldc1 $f22, 0x40($sp) +/* ACB3A8 80240888 D7B40038 */ ldc1 $f20, 0x38($sp) +/* ACB3AC 8024088C 03E00008 */ jr $ra +/* ACB3B0 80240890 27BD0050 */ addiu $sp, $sp, 0x50 +/* ACB3B4 80240894 00000000 */ nop +/* ACB3B8 80240898 00000000 */ nop +/* ACB3BC 8024089C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_802408A0.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_802408A0.s new file mode 100644 index 0000000000..533135a54f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_802408A0.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0 +/* ACB3C0 802408A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* ACB3C4 802408A4 AFB3003C */ sw $s3, 0x3c($sp) +/* ACB3C8 802408A8 0080982D */ daddu $s3, $a0, $zero +/* ACB3CC 802408AC AFBF0044 */ sw $ra, 0x44($sp) +/* ACB3D0 802408B0 AFB40040 */ sw $s4, 0x40($sp) +/* ACB3D4 802408B4 AFB20038 */ sw $s2, 0x38($sp) +/* ACB3D8 802408B8 AFB10034 */ sw $s1, 0x34($sp) +/* ACB3DC 802408BC AFB00030 */ sw $s0, 0x30($sp) +/* ACB3E0 802408C0 F7B80058 */ sdc1 $f24, 0x58($sp) +/* ACB3E4 802408C4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* ACB3E8 802408C8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* ACB3EC 802408CC 8E620148 */ lw $v0, 0x148($s3) +/* ACB3F0 802408D0 0C00EABB */ jal get_npc_unsafe +/* ACB3F4 802408D4 84440008 */ lh $a0, 8($v0) +/* ACB3F8 802408D8 27A40020 */ addiu $a0, $sp, 0x20 +/* ACB3FC 802408DC 27A50024 */ addiu $a1, $sp, 0x24 +/* ACB400 802408E0 0040802D */ daddu $s0, $v0, $zero +/* ACB404 802408E4 8E63000C */ lw $v1, 0xc($s3) +/* ACB408 802408E8 8E07000C */ lw $a3, 0xc($s0) +/* ACB40C 802408EC C6000038 */ lwc1 $f0, 0x38($s0) +/* ACB410 802408F0 C6020040 */ lwc1 $f2, 0x40($s0) +/* ACB414 802408F4 8C740000 */ lw $s4, ($v1) +/* ACB418 802408F8 24630004 */ addiu $v1, $v1, 4 +/* ACB41C 802408FC C4780000 */ lwc1 $f24, ($v1) +/* ACB420 80240900 4680C620 */ cvt.s.w $f24, $f24 +/* ACB424 80240904 24630004 */ addiu $v1, $v1, 4 +/* ACB428 80240908 C4740000 */ lwc1 $f20, ($v1) +/* ACB42C 8024090C 4680A520 */ cvt.s.w $f20, $f20 +/* ACB430 80240910 4406A000 */ mfc1 $a2, $f20 +/* ACB434 80240914 C4760004 */ lwc1 $f22, 4($v1) +/* ACB438 80240918 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACB43C 8024091C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB440 80240920 0C00A7E7 */ jal add_vec2D_polar +/* ACB444 80240924 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACB448 80240928 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACB44C 8024092C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACB450 80240930 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACB454 80240934 4480A000 */ mtc1 $zero, $f20 +/* ACB458 80240938 8E460028 */ lw $a2, 0x28($s2) +/* ACB45C 8024093C 4407A000 */ mfc1 $a3, $f20 +/* ACB460 80240940 0C00A7B5 */ jal dist2D +/* ACB464 80240944 4600A386 */ mov.s $f14, $f20 +/* ACB468 80240948 4600A306 */ mov.s $f12, $f20 +/* ACB46C 8024094C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACB470 80240950 44066000 */ mfc1 $a2, $f12 +/* ACB474 80240954 8E470030 */ lw $a3, 0x30($s2) +/* ACB478 80240958 0C00A7B5 */ jal dist2D +/* ACB47C 8024095C 46000506 */ mov.s $f20, $f0 +/* ACB480 80240960 C604000C */ lwc1 $f4, 0xc($s0) +/* ACB484 80240964 3C018024 */ lui $at, 0x8024 +/* ACB488 80240968 D4223600 */ ldc1 $f2, 0x3600($at) +/* ACB48C 8024096C 46002121 */ cvt.d.s $f4, $f4 +/* ACB490 80240970 46222032 */ c.eq.d $f4, $f2 +/* ACB494 80240974 00000000 */ nop +/* ACB498 80240978 45010007 */ bc1t .L80240998 +/* ACB49C 8024097C 46000086 */ mov.s $f2, $f0 +/* ACB4A0 80240980 3C018024 */ lui $at, 0x8024 +/* ACB4A4 80240984 D4203608 */ ldc1 $f0, 0x3608($at) +/* ACB4A8 80240988 46202032 */ c.eq.d $f4, $f0 +/* ACB4AC 8024098C 00000000 */ nop +/* ACB4B0 80240990 45000008 */ bc1f .L802409B4 +/* ACB4B4 80240994 00000000 */ nop +.L80240998: +/* ACB4B8 80240998 4618A03E */ c.le.s $f20, $f24 +/* ACB4BC 8024099C 00000000 */ nop +/* ACB4C0 802409A0 4500000C */ bc1f .L802409D4 +/* ACB4C4 802409A4 0000882D */ daddu $s1, $zero, $zero +/* ACB4C8 802409A8 4616103E */ c.le.s $f2, $f22 +/* ACB4CC 802409AC 08090273 */ j .L802409CC +/* ACB4D0 802409B0 00000000 */ nop +.L802409B4: +/* ACB4D4 802409B4 4618103E */ c.le.s $f2, $f24 +/* ACB4D8 802409B8 00000000 */ nop +/* ACB4DC 802409BC 45000005 */ bc1f .L802409D4 +/* ACB4E0 802409C0 0000882D */ daddu $s1, $zero, $zero +/* ACB4E4 802409C4 4616A03E */ c.le.s $f20, $f22 +/* ACB4E8 802409C8 00000000 */ nop +.L802409CC: +/* ACB4EC 802409CC 45030001 */ bc1tl .L802409D4 +/* ACB4F0 802409D0 24110001 */ addiu $s1, $zero, 1 +.L802409D4: +/* ACB4F4 802409D4 12200027 */ beqz $s1, .L80240A74 +/* ACB4F8 802409D8 0260202D */ daddu $a0, $s3, $zero +/* ACB4FC 802409DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACB500 802409E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACB504 802409E4 8E460028 */ lw $a2, 0x28($s2) +/* ACB508 802409E8 8E470030 */ lw $a3, 0x30($s2) +/* ACB50C 802409EC C602003C */ lwc1 $f2, 0x3c($s0) +/* ACB510 802409F0 46006006 */ mov.s $f0, $f12 +/* ACB514 802409F4 46007106 */ mov.s $f4, $f14 +/* ACB518 802409F8 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB51C 802409FC E7A20028 */ swc1 $f2, 0x28($sp) +/* ACB520 80240A00 0C00A7B5 */ jal dist2D +/* ACB524 80240A04 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACB528 80240A08 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACB52C 80240A0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACB530 80240A10 8E460028 */ lw $a2, 0x28($s2) +/* ACB534 80240A14 8E470030 */ lw $a3, 0x30($s2) +/* ACB538 80240A18 0C00A720 */ jal atan2 +/* ACB53C 80240A1C 46000506 */ mov.s $f20, $f0 +/* ACB540 80240A20 3C040007 */ lui $a0, 7 +/* ACB544 80240A24 34848000 */ ori $a0, $a0, 0x8000 +/* ACB548 80240A28 27A50020 */ addiu $a1, $sp, 0x20 +/* ACB54C 80240A2C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACB550 80240A30 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACB554 80240A34 860200A6 */ lh $v0, 0xa6($s0) +/* ACB558 80240A38 27A60028 */ addiu $a2, $sp, 0x28 +/* ACB55C 80240A3C 44820000 */ mtc1 $v0, $f0 +/* ACB560 80240A40 00000000 */ nop +/* ACB564 80240A44 46800020 */ cvt.s.w $f0, $f0 +/* ACB568 80240A48 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACB56C 80240A4C 860200A8 */ lh $v0, 0xa8($s0) +/* ACB570 80240A50 27A70024 */ addiu $a3, $sp, 0x24 +/* ACB574 80240A54 44820000 */ mtc1 $v0, $f0 +/* ACB578 80240A58 00000000 */ nop +/* ACB57C 80240A5C 46800020 */ cvt.s.w $f0, $f0 +/* ACB580 80240A60 0C0376B9 */ jal func_800DDAE4 +/* ACB584 80240A64 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACB588 80240A68 54400001 */ bnel $v0, $zero, .L80240A70 +/* ACB58C 80240A6C 0000882D */ daddu $s1, $zero, $zero +.L80240A70: +/* ACB590 80240A70 0260202D */ daddu $a0, $s3, $zero +.L80240A74: +/* ACB594 80240A74 0280282D */ daddu $a1, $s4, $zero +/* ACB598 80240A78 0C0B2026 */ jal set_variable +/* ACB59C 80240A7C 0220302D */ daddu $a2, $s1, $zero +/* ACB5A0 80240A80 8FBF0044 */ lw $ra, 0x44($sp) +/* ACB5A4 80240A84 8FB40040 */ lw $s4, 0x40($sp) +/* ACB5A8 80240A88 8FB3003C */ lw $s3, 0x3c($sp) +/* ACB5AC 80240A8C 8FB20038 */ lw $s2, 0x38($sp) +/* ACB5B0 80240A90 8FB10034 */ lw $s1, 0x34($sp) +/* ACB5B4 80240A94 8FB00030 */ lw $s0, 0x30($sp) +/* ACB5B8 80240A98 D7B80058 */ ldc1 $f24, 0x58($sp) +/* ACB5BC 80240A9C D7B60050 */ ldc1 $f22, 0x50($sp) +/* ACB5C0 80240AA0 D7B40048 */ ldc1 $f20, 0x48($sp) +/* ACB5C4 80240AA4 24020002 */ addiu $v0, $zero, 2 +/* ACB5C8 80240AA8 03E00008 */ jr $ra +/* ACB5CC 80240AAC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240AB0_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240AB0_ACAB20.s new file mode 100644 index 0000000000..c01f9b0edc --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240AB0_ACAB20.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB0_ACB5D0 +/* ACB5D0 80240AB0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* ACB5D4 80240AB4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* ACB5D8 80240AB8 4485A000 */ mtc1 $a1, $f20 +/* ACB5DC 80240ABC F7B60068 */ sdc1 $f22, 0x68($sp) +/* ACB5E0 80240AC0 4486B000 */ mtc1 $a2, $f22 +/* ACB5E4 80240AC4 F7B80070 */ sdc1 $f24, 0x70($sp) +/* ACB5E8 80240AC8 4487C000 */ mtc1 $a3, $f24 +/* ACB5EC 80240ACC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* ACB5F0 80240AD0 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* ACB5F4 80240AD4 AFBF0058 */ sw $ra, 0x58($sp) +/* ACB5F8 80240AD8 AFB10054 */ sw $s1, 0x54($sp) +/* ACB5FC 80240ADC 0C046C04 */ jal get_model_list_index_from_tree_index +/* ACB600 80240AE0 AFB00050 */ sw $s0, 0x50($sp) +/* ACB604 80240AE4 0C046B4C */ jal get_model_from_list_index +/* ACB608 80240AE8 0040202D */ daddu $a0, $v0, $zero +/* ACB60C 80240AEC 0040802D */ daddu $s0, $v0, $zero +/* ACB610 80240AF0 26110058 */ addiu $s1, $s0, 0x58 +/* ACB614 80240AF4 4405A000 */ mfc1 $a1, $f20 +/* ACB618 80240AF8 4406B000 */ mfc1 $a2, $f22 +/* ACB61C 80240AFC 4407C000 */ mfc1 $a3, $f24 +/* ACB620 80240B00 0C019E40 */ jal guTranslateF +/* ACB624 80240B04 0220202D */ daddu $a0, $s1, $zero +/* ACB628 80240B08 27A40010 */ addiu $a0, $sp, 0x10 +/* ACB62C 80240B0C 4405D000 */ mfc1 $a1, $f26 +/* ACB630 80240B10 3C063F80 */ lui $a2, 0x3f80 +/* ACB634 80240B14 0C019DF0 */ jal guScaleF +/* ACB638 80240B18 00A0382D */ daddu $a3, $a1, $zero +/* ACB63C 80240B1C 27A40010 */ addiu $a0, $sp, 0x10 +/* ACB640 80240B20 0220282D */ daddu $a1, $s1, $zero +/* ACB644 80240B24 0C019D80 */ jal guMtxCatF +/* ACB648 80240B28 00A0302D */ daddu $a2, $a1, $zero +/* ACB64C 80240B2C 96020000 */ lhu $v0, ($s0) +/* ACB650 80240B30 34421400 */ ori $v0, $v0, 0x1400 +/* ACB654 80240B34 A6020000 */ sh $v0, ($s0) +/* ACB658 80240B38 8FBF0058 */ lw $ra, 0x58($sp) +/* ACB65C 80240B3C 8FB10054 */ lw $s1, 0x54($sp) +/* ACB660 80240B40 8FB00050 */ lw $s0, 0x50($sp) +/* ACB664 80240B44 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* ACB668 80240B48 D7B80070 */ ldc1 $f24, 0x70($sp) +/* ACB66C 80240B4C D7B60068 */ ldc1 $f22, 0x68($sp) +/* ACB670 80240B50 D7B40060 */ ldc1 $f20, 0x60($sp) +/* ACB674 80240B54 03E00008 */ jr $ra +/* ACB678 80240B58 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240B5C_ACAB20.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240B5C_ACAB20.s new file mode 100644 index 0000000000..3f189e02b8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240B5C_ACAB20.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B5C_ACB67C +/* ACB67C 80240B5C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* ACB680 80240B60 AFB7004C */ sw $s7, 0x4c($sp) +/* ACB684 80240B64 0080B82D */ daddu $s7, $a0, $zero +/* ACB688 80240B68 AFBF0054 */ sw $ra, 0x54($sp) +/* ACB68C 80240B6C AFBE0050 */ sw $fp, 0x50($sp) +/* ACB690 80240B70 AFB60048 */ sw $s6, 0x48($sp) +/* ACB694 80240B74 AFB50044 */ sw $s5, 0x44($sp) +/* ACB698 80240B78 AFB40040 */ sw $s4, 0x40($sp) +/* ACB69C 80240B7C AFB3003C */ sw $s3, 0x3c($sp) +/* ACB6A0 80240B80 AFB20038 */ sw $s2, 0x38($sp) +/* ACB6A4 80240B84 AFB10034 */ sw $s1, 0x34($sp) +/* ACB6A8 80240B88 AFB00030 */ sw $s0, 0x30($sp) +/* ACB6AC 80240B8C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* ACB6B0 80240B90 F7B80068 */ sdc1 $f24, 0x68($sp) +/* ACB6B4 80240B94 F7B60060 */ sdc1 $f22, 0x60($sp) +/* ACB6B8 80240B98 F7B40058 */ sdc1 $f20, 0x58($sp) +/* ACB6BC 80240B9C 8EE20148 */ lw $v0, 0x148($s7) +/* ACB6C0 80240BA0 0C00EABB */ jal get_npc_unsafe +/* ACB6C4 80240BA4 84440008 */ lh $a0, 8($v0) +/* ACB6C8 80240BA8 27B50020 */ addiu $s5, $sp, 0x20 +/* ACB6CC 80240BAC 02A0202D */ daddu $a0, $s5, $zero +/* ACB6D0 80240BB0 0040882D */ daddu $s1, $v0, $zero +/* ACB6D4 80240BB4 27B40024 */ addiu $s4, $sp, 0x24 +/* ACB6D8 80240BB8 8EE3000C */ lw $v1, 0xc($s7) +/* ACB6DC 80240BBC 3C0641F0 */ lui $a2, 0x41f0 +/* ACB6E0 80240BC0 8E27000C */ lw $a3, 0xc($s1) +/* ACB6E4 80240BC4 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACB6E8 80240BC8 C6220040 */ lwc1 $f2, 0x40($s1) +/* ACB6EC 80240BCC 8C7E0000 */ lw $fp, ($v1) +/* ACB6F0 80240BD0 24630004 */ addiu $v1, $v1, 4 +/* ACB6F4 80240BD4 C4740000 */ lwc1 $f20, ($v1) +/* ACB6F8 80240BD8 4680A520 */ cvt.s.w $f20, $f20 +/* ACB6FC 80240BDC 24630004 */ addiu $v1, $v1, 4 +/* ACB700 80240BE0 C4760000 */ lwc1 $f22, ($v1) +/* ACB704 80240BE4 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACB708 80240BE8 24630004 */ addiu $v1, $v1, 4 +/* ACB70C 80240BEC C4780000 */ lwc1 $f24, ($v1) +/* ACB710 80240BF0 4680C620 */ cvt.s.w $f24, $f24 +/* ACB714 80240BF4 24630004 */ addiu $v1, $v1, 4 +/* ACB718 80240BF8 C47A0000 */ lwc1 $f26, ($v1) +/* ACB71C 80240BFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* ACB720 80240C00 24630004 */ addiu $v1, $v1, 4 +/* ACB724 80240C04 8C760000 */ lw $s6, ($v1) +/* ACB728 80240C08 8C700004 */ lw $s0, 4($v1) +/* ACB72C 80240C0C 0280282D */ daddu $a1, $s4, $zero +/* ACB730 80240C10 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB734 80240C14 0C00A7E7 */ jal add_vec2D_polar +/* ACB738 80240C18 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACB73C 80240C1C 3C038015 */ lui $v1, %hi(D_80151328) +/* ACB740 80240C20 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* ACB744 80240C24 C7A00020 */ lwc1 $f0, 0x20($sp) +/* ACB748 80240C28 3C0141A0 */ lui $at, 0x41a0 +/* ACB74C 80240C2C 44811000 */ mtc1 $at, $f2 +/* ACB750 80240C30 00101040 */ sll $v0, $s0, 1 +/* ACB754 80240C34 00501021 */ addu $v0, $v0, $s0 +/* ACB758 80240C38 000210C0 */ sll $v0, $v0, 3 +/* ACB75C 80240C3C 24420004 */ addiu $v0, $v0, 4 +/* ACB760 80240C40 00621821 */ addu $v1, $v1, $v0 +/* ACB764 80240C44 E4600004 */ swc1 $f0, 4($v1) +/* ACB768 80240C48 C620003C */ lwc1 $f0, 0x3c($s1) +/* ACB76C 80240C4C 4406A000 */ mfc1 $a2, $f20 +/* ACB770 80240C50 46020000 */ add.s $f0, $f0, $f2 +/* ACB774 80240C54 C7A20024 */ lwc1 $f2, 0x24($sp) +/* ACB778 80240C58 02A0202D */ daddu $a0, $s5, $zero +/* ACB77C 80240C5C E462000C */ swc1 $f2, 0xc($v1) +/* ACB780 80240C60 E4600008 */ swc1 $f0, 8($v1) +/* ACB784 80240C64 8E27000C */ lw $a3, 0xc($s1) +/* ACB788 80240C68 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACB78C 80240C6C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACB790 80240C70 0280282D */ daddu $a1, $s4, $zero +/* ACB794 80240C74 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB798 80240C78 0C00A7E7 */ jal add_vec2D_polar +/* ACB79C 80240C7C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACB7A0 80240C80 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACB7A4 80240C84 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACB7A8 80240C88 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACB7AC 80240C8C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACB7B0 80240C90 8E460028 */ lw $a2, 0x28($s2) +/* ACB7B4 80240C94 8E470030 */ lw $a3, 0x30($s2) +/* ACB7B8 80240C98 0C00A7B5 */ jal dist2D +/* ACB7BC 80240C9C 0000802D */ daddu $s0, $zero, $zero +/* ACB7C0 80240CA0 4616003E */ c.le.s $f0, $f22 +/* ACB7C4 80240CA4 00000000 */ nop +/* ACB7C8 80240CA8 45000002 */ bc1f .L80240CB4 +/* ACB7CC 80240CAC 0240982D */ daddu $s3, $s2, $zero +/* ACB7D0 80240CB0 24100001 */ addiu $s0, $zero, 1 +.L80240CB4: +/* ACB7D4 80240CB4 4600B021 */ cvt.d.s $f0, $f22 +/* ACB7D8 80240CB8 46200000 */ add.d $f0, $f0, $f0 +/* ACB7DC 80240CBC 3C014059 */ lui $at, 0x4059 +/* ACB7E0 80240CC0 44811800 */ mtc1 $at, $f3 +/* ACB7E4 80240CC4 44801000 */ mtc1 $zero, $f2 +/* ACB7E8 80240CC8 3C018024 */ lui $at, 0x8024 +/* ACB7EC 80240CCC D4243610 */ ldc1 $f4, 0x3610($at) +/* ACB7F0 80240CD0 46220003 */ div.d $f0, $f0, $f2 +/* ACB7F4 80240CD4 46240000 */ add.d $f0, $f0, $f4 +/* ACB7F8 80240CD8 C7A20020 */ lwc1 $f2, 0x20($sp) +/* ACB7FC 80240CDC C7A40024 */ lwc1 $f4, 0x24($sp) +/* ACB800 80240CE0 44051000 */ mfc1 $a1, $f2 +/* ACB804 80240CE4 44072000 */ mfc1 $a3, $f4 +/* ACB808 80240CE8 46200020 */ cvt.s.d $f0, $f0 +/* ACB80C 80240CEC E7A00010 */ swc1 $f0, 0x10($sp) +/* ACB810 80240CF0 8E26003C */ lw $a2, 0x3c($s1) +/* ACB814 80240CF4 0C0902AC */ jal func_80240AB0 +/* ACB818 80240CF8 02C0202D */ daddu $a0, $s6, $zero +/* ACB81C 80240CFC 02A0202D */ daddu $a0, $s5, $zero +/* ACB820 80240D00 4406C000 */ mfc1 $a2, $f24 +/* ACB824 80240D04 8E27000C */ lw $a3, 0xc($s1) +/* ACB828 80240D08 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACB82C 80240D0C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACB830 80240D10 0280282D */ daddu $a1, $s4, $zero +/* ACB834 80240D14 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB838 80240D18 0C00A7E7 */ jal add_vec2D_polar +/* ACB83C 80240D1C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACB840 80240D20 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACB844 80240D24 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACB848 80240D28 8E460028 */ lw $a2, 0x28($s2) +/* ACB84C 80240D2C 0C00A7B5 */ jal dist2D +/* ACB850 80240D30 8E470030 */ lw $a3, 0x30($s2) +/* ACB854 80240D34 461A003E */ c.le.s $f0, $f26 +/* ACB858 80240D38 00000000 */ nop +/* ACB85C 80240D3C 45030001 */ bc1tl .L80240D44 +/* ACB860 80240D40 36100010 */ ori $s0, $s0, 0x10 +.L80240D44: +/* ACB864 80240D44 32020001 */ andi $v0, $s0, 1 +/* ACB868 80240D48 10400026 */ beqz $v0, .L80240DE4 +/* ACB86C 80240D4C 02E0202D */ daddu $a0, $s7, $zero +/* ACB870 80240D50 C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACB874 80240D54 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACB878 80240D58 8E660028 */ lw $a2, 0x28($s3) +/* ACB87C 80240D5C 8E670030 */ lw $a3, 0x30($s3) +/* ACB880 80240D60 C622003C */ lwc1 $f2, 0x3c($s1) +/* ACB884 80240D64 46006006 */ mov.s $f0, $f12 +/* ACB888 80240D68 46007106 */ mov.s $f4, $f14 +/* ACB88C 80240D6C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACB890 80240D70 E7A20028 */ swc1 $f2, 0x28($sp) +/* ACB894 80240D74 0C00A7B5 */ jal dist2D +/* ACB898 80240D78 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACB89C 80240D7C C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACB8A0 80240D80 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACB8A4 80240D84 8E660028 */ lw $a2, 0x28($s3) +/* ACB8A8 80240D88 8E670030 */ lw $a3, 0x30($s3) +/* ACB8AC 80240D8C 0C00A720 */ jal atan2 +/* ACB8B0 80240D90 46000506 */ mov.s $f20, $f0 +/* ACB8B4 80240D94 0000202D */ daddu $a0, $zero, $zero +/* ACB8B8 80240D98 02A0282D */ daddu $a1, $s5, $zero +/* ACB8BC 80240D9C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACB8C0 80240DA0 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACB8C4 80240DA4 862200A6 */ lh $v0, 0xa6($s1) +/* ACB8C8 80240DA8 27A60028 */ addiu $a2, $sp, 0x28 +/* ACB8CC 80240DAC 44820000 */ mtc1 $v0, $f0 +/* ACB8D0 80240DB0 00000000 */ nop +/* ACB8D4 80240DB4 46800020 */ cvt.s.w $f0, $f0 +/* ACB8D8 80240DB8 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACB8DC 80240DBC 862200A8 */ lh $v0, 0xa8($s1) +/* ACB8E0 80240DC0 0280382D */ daddu $a3, $s4, $zero +/* ACB8E4 80240DC4 44820000 */ mtc1 $v0, $f0 +/* ACB8E8 80240DC8 00000000 */ nop +/* ACB8EC 80240DCC 46800020 */ cvt.s.w $f0, $f0 +/* ACB8F0 80240DD0 0C0376B9 */ jal func_800DDAE4 +/* ACB8F4 80240DD4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACB8F8 80240DD8 54400001 */ bnel $v0, $zero, .L80240DE0 +/* ACB8FC 80240DDC 0000802D */ daddu $s0, $zero, $zero +.L80240DE0: +/* ACB900 80240DE0 02E0202D */ daddu $a0, $s7, $zero +.L80240DE4: +/* ACB904 80240DE4 03C0282D */ daddu $a1, $fp, $zero +/* ACB908 80240DE8 0C0B2026 */ jal set_variable +/* ACB90C 80240DEC 0200302D */ daddu $a2, $s0, $zero +/* ACB910 80240DF0 8FBF0054 */ lw $ra, 0x54($sp) +/* ACB914 80240DF4 8FBE0050 */ lw $fp, 0x50($sp) +/* ACB918 80240DF8 8FB7004C */ lw $s7, 0x4c($sp) +/* ACB91C 80240DFC 8FB60048 */ lw $s6, 0x48($sp) +/* ACB920 80240E00 8FB50044 */ lw $s5, 0x44($sp) +/* ACB924 80240E04 8FB40040 */ lw $s4, 0x40($sp) +/* ACB928 80240E08 8FB3003C */ lw $s3, 0x3c($sp) +/* ACB92C 80240E0C 8FB20038 */ lw $s2, 0x38($sp) +/* ACB930 80240E10 8FB10034 */ lw $s1, 0x34($sp) +/* ACB934 80240E14 8FB00030 */ lw $s0, 0x30($sp) +/* ACB938 80240E18 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* ACB93C 80240E1C D7B80068 */ ldc1 $f24, 0x68($sp) +/* ACB940 80240E20 D7B60060 */ ldc1 $f22, 0x60($sp) +/* ACB944 80240E24 D7B40058 */ ldc1 $f20, 0x58($sp) +/* ACB948 80240E28 24020002 */ addiu $v0, $zero, 2 +/* ACB94C 80240E2C 03E00008 */ jr $ra +/* ACB950 80240E30 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240E34.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240E34.s new file mode 100644 index 0000000000..6ab68b4e18 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240E34.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E34 +/* ACB954 80240E34 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* ACB958 80240E38 AFB10014 */ sw $s1, 0x14($sp) +/* ACB95C 80240E3C 0080882D */ daddu $s1, $a0, $zero +/* ACB960 80240E40 AFBF0024 */ sw $ra, 0x24($sp) +/* ACB964 80240E44 AFB40020 */ sw $s4, 0x20($sp) +/* ACB968 80240E48 AFB3001C */ sw $s3, 0x1c($sp) +/* ACB96C 80240E4C AFB20018 */ sw $s2, 0x18($sp) +/* ACB970 80240E50 AFB00010 */ sw $s0, 0x10($sp) +/* ACB974 80240E54 8E30000C */ lw $s0, 0xc($s1) +/* ACB978 80240E58 8E140000 */ lw $s4, ($s0) +/* ACB97C 80240E5C 26100004 */ addiu $s0, $s0, 4 +/* ACB980 80240E60 8E050000 */ lw $a1, ($s0) +/* ACB984 80240E64 0C0B1EAF */ jal get_variable +/* ACB988 80240E68 26100004 */ addiu $s0, $s0, 4 +/* ACB98C 80240E6C 8E050000 */ lw $a1, ($s0) +/* ACB990 80240E70 26100004 */ addiu $s0, $s0, 4 +/* ACB994 80240E74 0220202D */ daddu $a0, $s1, $zero +/* ACB998 80240E78 0C0B1EAF */ jal get_variable +/* ACB99C 80240E7C 0040982D */ daddu $s3, $v0, $zero +/* ACB9A0 80240E80 8E050000 */ lw $a1, ($s0) +/* ACB9A4 80240E84 26100004 */ addiu $s0, $s0, 4 +/* ACB9A8 80240E88 0220202D */ daddu $a0, $s1, $zero +/* ACB9AC 80240E8C 0C0B1EAF */ jal get_variable +/* ACB9B0 80240E90 0040902D */ daddu $s2, $v0, $zero +/* ACB9B4 80240E94 0220202D */ daddu $a0, $s1, $zero +/* ACB9B8 80240E98 8E050000 */ lw $a1, ($s0) +/* ACB9BC 80240E9C 0C0B1EAF */ jal get_variable +/* ACB9C0 80240EA0 0040802D */ daddu $s0, $v0, $zero +/* ACB9C4 80240EA4 44901000 */ mtc1 $s0, $f2 +/* ACB9C8 80240EA8 00000000 */ nop +/* ACB9CC 80240EAC 468010A0 */ cvt.s.w $f2, $f2 +/* ACB9D0 80240EB0 44936000 */ mtc1 $s3, $f12 +/* ACB9D4 80240EB4 00000000 */ nop +/* ACB9D8 80240EB8 46806320 */ cvt.s.w $f12, $f12 +/* ACB9DC 80240EBC 44061000 */ mfc1 $a2, $f2 +/* ACB9E0 80240EC0 44821000 */ mtc1 $v0, $f2 +/* ACB9E4 80240EC4 00000000 */ nop +/* ACB9E8 80240EC8 468010A0 */ cvt.s.w $f2, $f2 +/* ACB9EC 80240ECC 44071000 */ mfc1 $a3, $f2 +/* ACB9F0 80240ED0 44927000 */ mtc1 $s2, $f14 +/* ACB9F4 80240ED4 00000000 */ nop +/* ACB9F8 80240ED8 0C00A720 */ jal atan2 +/* ACB9FC 80240EDC 468073A0 */ cvt.s.w $f14, $f14 +/* ACBA00 80240EE0 0220202D */ daddu $a0, $s1, $zero +/* ACBA04 80240EE4 4600008D */ trunc.w.s $f2, $f0 +/* ACBA08 80240EE8 44061000 */ mfc1 $a2, $f2 +/* ACBA0C 80240EEC 0C0B2026 */ jal set_variable +/* ACBA10 80240EF0 0280282D */ daddu $a1, $s4, $zero +/* ACBA14 80240EF4 8FBF0024 */ lw $ra, 0x24($sp) +/* ACBA18 80240EF8 8FB40020 */ lw $s4, 0x20($sp) +/* ACBA1C 80240EFC 8FB3001C */ lw $s3, 0x1c($sp) +/* ACBA20 80240F00 8FB20018 */ lw $s2, 0x18($sp) +/* ACBA24 80240F04 8FB10014 */ lw $s1, 0x14($sp) +/* ACBA28 80240F08 8FB00010 */ lw $s0, 0x10($sp) +/* ACBA2C 80240F0C 24020002 */ addiu $v0, $zero, 2 +/* ACBA30 80240F10 03E00008 */ jr $ra +/* ACBA34 80240F14 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F18.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F18.s new file mode 100644 index 0000000000..00a95b6620 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F18.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F18 +/* ACBA38 80240F18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACBA3C 80240F1C AFBF0010 */ sw $ra, 0x10($sp) +/* ACBA40 80240F20 8C82000C */ lw $v0, 0xc($a0) +/* ACBA44 80240F24 3C068011 */ lui $a2, 0x8011 +/* ACBA48 80240F28 80C6EFD4 */ lb $a2, -0x102c($a2) +/* ACBA4C 80240F2C 0C0B2026 */ jal set_variable +/* ACBA50 80240F30 8C450000 */ lw $a1, ($v0) +/* ACBA54 80240F34 8FBF0010 */ lw $ra, 0x10($sp) +/* ACBA58 80240F38 24020002 */ addiu $v0, $zero, 2 +/* ACBA5C 80240F3C 03E00008 */ jr $ra +/* ACBA60 80240F40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F44.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F44.s new file mode 100644 index 0000000000..3373e83e52 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F44.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F44 +/* ACBA64 80240F44 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ACBA68 80240F48 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ACBA6C 80240F4C 9062007E */ lbu $v0, 0x7e($v1) +/* ACBA70 80240F50 34420008 */ ori $v0, $v0, 8 +/* ACBA74 80240F54 A062007E */ sb $v0, 0x7e($v1) +/* ACBA78 80240F58 03E00008 */ jr $ra +/* ACBA7C 80240F5C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F60.s b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F60.s new file mode 100644 index 0000000000..66b8dbd8c9 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_10/func_80240F60.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F60 +/* ACBA80 80240F60 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* ACBA84 80240F64 AFB3001C */ sw $s3, 0x1c($sp) +/* ACBA88 80240F68 0080982D */ daddu $s3, $a0, $zero +/* ACBA8C 80240F6C AFBF0030 */ sw $ra, 0x30($sp) +/* ACBA90 80240F70 AFB7002C */ sw $s7, 0x2c($sp) +/* ACBA94 80240F74 AFB60028 */ sw $s6, 0x28($sp) +/* ACBA98 80240F78 AFB50024 */ sw $s5, 0x24($sp) +/* ACBA9C 80240F7C AFB40020 */ sw $s4, 0x20($sp) +/* ACBAA0 80240F80 AFB20018 */ sw $s2, 0x18($sp) +/* ACBAA4 80240F84 AFB10014 */ sw $s1, 0x14($sp) +/* ACBAA8 80240F88 AFB00010 */ sw $s0, 0x10($sp) +/* ACBAAC 80240F8C F7B80048 */ sdc1 $f24, 0x48($sp) +/* ACBAB0 80240F90 F7B60040 */ sdc1 $f22, 0x40($sp) +/* ACBAB4 80240F94 F7B40038 */ sdc1 $f20, 0x38($sp) +/* ACBAB8 80240F98 8E70000C */ lw $s0, 0xc($s3) +/* ACBABC 80240F9C 8E050000 */ lw $a1, ($s0) +/* ACBAC0 80240FA0 0C0B1EAF */ jal get_variable +/* ACBAC4 80240FA4 26100004 */ addiu $s0, $s0, 4 +/* ACBAC8 80240FA8 8E150000 */ lw $s5, ($s0) +/* ACBACC 80240FAC 26100004 */ addiu $s0, $s0, 4 +/* ACBAD0 80240FB0 0260202D */ daddu $a0, $s3, $zero +/* ACBAD4 80240FB4 8E160000 */ lw $s6, ($s0) +/* ACBAD8 80240FB8 8E170004 */ lw $s7, 4($s0) +/* ACBADC 80240FBC 0C0B36B0 */ jal resolve_npc +/* ACBAE0 80240FC0 0040282D */ daddu $a1, $v0, $zero +/* ACBAE4 80240FC4 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* ACBAE8 80240FC8 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* ACBAEC 80240FCC 0040802D */ daddu $s0, $v0, $zero +/* ACBAF0 80240FD0 1200002F */ beqz $s0, .L80241090 +/* ACBAF4 80240FD4 0220902D */ daddu $s2, $s1, $zero +/* ACBAF8 80240FD8 C62C0028 */ lwc1 $f12, 0x28($s1) +/* ACBAFC 80240FDC C62E0030 */ lwc1 $f14, 0x30($s1) +/* ACBB00 80240FE0 8E060038 */ lw $a2, 0x38($s0) +/* ACBB04 80240FE4 8E070040 */ lw $a3, 0x40($s0) +/* ACBB08 80240FE8 3C0142C8 */ lui $at, 0x42c8 +/* ACBB0C 80240FEC 4481C000 */ mtc1 $at, $f24 +/* ACBB10 80240FF0 0C00A7B5 */ jal dist2D +/* ACBB14 80240FF4 24140001 */ addiu $s4, $zero, 1 +/* ACBB18 80240FF8 4618003C */ c.lt.s $f0, $f24 +/* ACBB1C 80240FFC 00000000 */ nop +/* ACBB20 80241000 45030001 */ bc1tl .L80241008 +/* ACBB24 80241004 0000A02D */ daddu $s4, $zero, $zero +.L80241008: +/* ACBB28 80241008 C64C0028 */ lwc1 $f12, 0x28($s2) +/* ACBB2C 8024100C C64E0030 */ lwc1 $f14, 0x30($s2) +/* ACBB30 80241010 8E060038 */ lw $a2, 0x38($s0) +/* ACBB34 80241014 0C00A720 */ jal atan2 +/* ACBB38 80241018 8E070040 */ lw $a3, 0x40($s0) +/* ACBB3C 8024101C 0C00A6C9 */ jal clamp_angle +/* ACBB40 80241020 46000306 */ mov.s $f12, $f0 +/* ACBB44 80241024 46000506 */ mov.s $f20, $f0 +/* ACBB48 80241028 0C00A8BB */ jal sin_deg +/* ACBB4C 8024102C 4600A306 */ mov.s $f12, $f20 +/* ACBB50 80241030 46180002 */ mul.s $f0, $f0, $f24 +/* ACBB54 80241034 00000000 */ nop +/* ACBB58 80241038 C6560028 */ lwc1 $f22, 0x28($s2) +/* ACBB5C 8024103C 4600B580 */ add.s $f22, $f22, $f0 +/* ACBB60 80241040 0C00A8D4 */ jal cos_deg +/* ACBB64 80241044 4600A306 */ mov.s $f12, $f20 +/* ACBB68 80241048 46180002 */ mul.s $f0, $f0, $f24 +/* ACBB6C 8024104C 00000000 */ nop +/* ACBB70 80241050 0260202D */ daddu $a0, $s3, $zero +/* ACBB74 80241054 02A0282D */ daddu $a1, $s5, $zero +/* ACBB78 80241058 C6540030 */ lwc1 $f20, 0x30($s2) +/* ACBB7C 8024105C 0280302D */ daddu $a2, $s4, $zero +/* ACBB80 80241060 0C0B2026 */ jal set_variable +/* ACBB84 80241064 4600A501 */ sub.s $f20, $f20, $f0 +/* ACBB88 80241068 0260202D */ daddu $a0, $s3, $zero +/* ACBB8C 8024106C 4600B08D */ trunc.w.s $f2, $f22 +/* ACBB90 80241070 44061000 */ mfc1 $a2, $f2 +/* ACBB94 80241074 0C0B2026 */ jal set_variable +/* ACBB98 80241078 02C0282D */ daddu $a1, $s6, $zero +/* ACBB9C 8024107C 0260202D */ daddu $a0, $s3, $zero +/* ACBBA0 80241080 4600A08D */ trunc.w.s $f2, $f20 +/* ACBBA4 80241084 44061000 */ mfc1 $a2, $f2 +/* ACBBA8 80241088 0C0B2026 */ jal set_variable +/* ACBBAC 8024108C 02E0282D */ daddu $a1, $s7, $zero +.L80241090: +/* ACBBB0 80241090 24020002 */ addiu $v0, $zero, 2 +/* ACBBB4 80241094 8FBF0030 */ lw $ra, 0x30($sp) +/* ACBBB8 80241098 8FB7002C */ lw $s7, 0x2c($sp) +/* ACBBBC 8024109C 8FB60028 */ lw $s6, 0x28($sp) +/* ACBBC0 802410A0 8FB50024 */ lw $s5, 0x24($sp) +/* ACBBC4 802410A4 8FB40020 */ lw $s4, 0x20($sp) +/* ACBBC8 802410A8 8FB3001C */ lw $s3, 0x1c($sp) +/* ACBBCC 802410AC 8FB20018 */ lw $s2, 0x18($sp) +/* ACBBD0 802410B0 8FB10014 */ lw $s1, 0x14($sp) +/* ACBBD4 802410B4 8FB00010 */ lw $s0, 0x10($sp) +/* ACBBD8 802410B8 D7B80048 */ ldc1 $f24, 0x48($sp) +/* ACBBDC 802410BC D7B60040 */ ldc1 $f22, 0x40($sp) +/* ACBBE0 802410C0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* ACBBE4 802410C4 03E00008 */ jr $ra +/* ACBBE8 802410C8 27BD0050 */ addiu $sp, $sp, 0x50 +/* ACBBEC 802410CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240000_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240000_ACE140.s new file mode 100644 index 0000000000..1a98ed9776 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240000_ACE140.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_ACE140 +/* ACE140 80240000 0000202D */ daddu $a0, $zero, $zero +/* ACE144 80240004 3C058015 */ lui $a1, %hi(D_80151328) +/* ACE148 80240008 24A51328 */ addiu $a1, $a1, %lo(D_80151328) +/* ACE14C 8024000C 0080182D */ daddu $v1, $a0, $zero +.L80240010: +/* ACE150 80240010 8CA20000 */ lw $v0, ($a1) +/* ACE154 80240014 24840001 */ addiu $a0, $a0, 1 +/* ACE158 80240018 00431021 */ addu $v0, $v0, $v1 +/* ACE15C 8024001C A0400004 */ sb $zero, 4($v0) +/* ACE160 80240020 28820007 */ slti $v0, $a0, 7 +/* ACE164 80240024 1440FFFA */ bnez $v0, .L80240010 +/* ACE168 80240028 24630018 */ addiu $v1, $v1, 0x18 +/* ACE16C 8024002C 03E00008 */ jr $ra +/* ACE170 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240034_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240034_ACE140.s new file mode 100644 index 0000000000..e47bcd0f46 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240034_ACE140.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_ACE174 +/* ACE174 80240034 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACE178 80240038 AFBF0010 */ sw $ra, 0x10($sp) +/* ACE17C 8024003C 8C82000C */ lw $v0, 0xc($a0) +/* ACE180 80240040 0C0B210B */ jal get_float_variable +/* ACE184 80240044 8C450000 */ lw $a1, ($v0) +/* ACE188 80240048 8FBF0010 */ lw $ra, 0x10($sp) +/* ACE18C 8024004C 4600008D */ trunc.w.s $f2, $f0 +/* ACE190 80240050 44021000 */ mfc1 $v0, $f2 +/* ACE194 80240054 00000000 */ nop +/* ACE198 80240058 3C018011 */ lui $at, 0x8011 +/* ACE19C 8024005C A022EFD5 */ sb $v0, -0x102b($at) +/* ACE1A0 80240060 24020002 */ addiu $v0, $zero, 2 +/* ACE1A4 80240064 03E00008 */ jr $ra +/* ACE1A8 80240068 27BD0018 */ addiu $sp, $sp, 0x18 +/* ACE1AC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240070_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240070_ACE140.s new file mode 100644 index 0000000000..1cb9d23bf0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240070_ACE140.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_ACE1B0 +/* ACE1B0 80240070 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACE1B4 80240074 AFBF0010 */ sw $ra, 0x10($sp) +/* ACE1B8 80240078 0C04417A */ jal get_entity_by_index +/* ACE1BC 8024007C 8C840084 */ lw $a0, 0x84($a0) +/* ACE1C0 80240080 0040182D */ daddu $v1, $v0, $zero +/* ACE1C4 80240084 8C640000 */ lw $a0, ($v1) +/* ACE1C8 80240088 3C050010 */ lui $a1, 0x10 +/* ACE1CC 8024008C 00852025 */ or $a0, $a0, $a1 +/* ACE1D0 80240090 AC640000 */ sw $a0, ($v1) +/* ACE1D4 80240094 8FBF0010 */ lw $ra, 0x10($sp) +/* ACE1D8 80240098 24020002 */ addiu $v0, $zero, 2 +/* ACE1DC 8024009C 03E00008 */ jr $ra +/* ACE1E0 802400A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* ACE1E4 802400A4 00000000 */ nop +/* ACE1E8 802400A8 00000000 */ nop +/* ACE1EC 802400AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_802400B0_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_802400B0_ACE140.s new file mode 100644 index 0000000000..ee2b9e1b99 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_802400B0_ACE140.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_ACE1F0 +/* ACE1F0 802400B0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* ACE1F4 802400B4 AFB3003C */ sw $s3, 0x3c($sp) +/* ACE1F8 802400B8 0080982D */ daddu $s3, $a0, $zero +/* ACE1FC 802400BC AFBF0044 */ sw $ra, 0x44($sp) +/* ACE200 802400C0 AFB40040 */ sw $s4, 0x40($sp) +/* ACE204 802400C4 AFB20038 */ sw $s2, 0x38($sp) +/* ACE208 802400C8 AFB10034 */ sw $s1, 0x34($sp) +/* ACE20C 802400CC AFB00030 */ sw $s0, 0x30($sp) +/* ACE210 802400D0 F7B80058 */ sdc1 $f24, 0x58($sp) +/* ACE214 802400D4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* ACE218 802400D8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* ACE21C 802400DC 8E620148 */ lw $v0, 0x148($s3) +/* ACE220 802400E0 0C00EABB */ jal get_npc_unsafe +/* ACE224 802400E4 84440008 */ lh $a0, 8($v0) +/* ACE228 802400E8 27A40020 */ addiu $a0, $sp, 0x20 +/* ACE22C 802400EC 27A50024 */ addiu $a1, $sp, 0x24 +/* ACE230 802400F0 0040802D */ daddu $s0, $v0, $zero +/* ACE234 802400F4 8E63000C */ lw $v1, 0xc($s3) +/* ACE238 802400F8 8E07000C */ lw $a3, 0xc($s0) +/* ACE23C 802400FC C6000038 */ lwc1 $f0, 0x38($s0) +/* ACE240 80240100 C6020040 */ lwc1 $f2, 0x40($s0) +/* ACE244 80240104 8C740000 */ lw $s4, ($v1) +/* ACE248 80240108 24630004 */ addiu $v1, $v1, 4 +/* ACE24C 8024010C C4780000 */ lwc1 $f24, ($v1) +/* ACE250 80240110 4680C620 */ cvt.s.w $f24, $f24 +/* ACE254 80240114 24630004 */ addiu $v1, $v1, 4 +/* ACE258 80240118 C4740000 */ lwc1 $f20, ($v1) +/* ACE25C 8024011C 4680A520 */ cvt.s.w $f20, $f20 +/* ACE260 80240120 4406A000 */ mfc1 $a2, $f20 +/* ACE264 80240124 C4760004 */ lwc1 $f22, 4($v1) +/* ACE268 80240128 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACE26C 8024012C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE270 80240130 0C00A7E7 */ jal add_vec2D_polar +/* ACE274 80240134 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACE278 80240138 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACE27C 8024013C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACE280 80240140 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACE284 80240144 4480A000 */ mtc1 $zero, $f20 +/* ACE288 80240148 8E460028 */ lw $a2, 0x28($s2) +/* ACE28C 8024014C 4407A000 */ mfc1 $a3, $f20 +/* ACE290 80240150 0C00A7B5 */ jal dist2D +/* ACE294 80240154 4600A386 */ mov.s $f14, $f20 +/* ACE298 80240158 4600A306 */ mov.s $f12, $f20 +/* ACE29C 8024015C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACE2A0 80240160 44066000 */ mfc1 $a2, $f12 +/* ACE2A4 80240164 8E470030 */ lw $a3, 0x30($s2) +/* ACE2A8 80240168 0C00A7B5 */ jal dist2D +/* ACE2AC 8024016C 46000506 */ mov.s $f20, $f0 +/* ACE2B0 80240170 C604000C */ lwc1 $f4, 0xc($s0) +/* ACE2B4 80240174 3C018024 */ lui $at, 0x8024 +/* ACE2B8 80240178 D4225F10 */ ldc1 $f2, 0x5f10($at) +/* ACE2BC 8024017C 46002121 */ cvt.d.s $f4, $f4 +/* ACE2C0 80240180 46222032 */ c.eq.d $f4, $f2 +/* ACE2C4 80240184 00000000 */ nop +/* ACE2C8 80240188 45010007 */ bc1t .L802401A8 +/* ACE2CC 8024018C 46000086 */ mov.s $f2, $f0 +/* ACE2D0 80240190 3C018024 */ lui $at, 0x8024 +/* ACE2D4 80240194 D4205F18 */ ldc1 $f0, 0x5f18($at) +/* ACE2D8 80240198 46202032 */ c.eq.d $f4, $f0 +/* ACE2DC 8024019C 00000000 */ nop +/* ACE2E0 802401A0 45000008 */ bc1f .L802401C4 +/* ACE2E4 802401A4 00000000 */ nop +.L802401A8: +/* ACE2E8 802401A8 4618A03E */ c.le.s $f20, $f24 +/* ACE2EC 802401AC 00000000 */ nop +/* ACE2F0 802401B0 4500000C */ bc1f .L802401E4 +/* ACE2F4 802401B4 0000882D */ daddu $s1, $zero, $zero +/* ACE2F8 802401B8 4616103E */ c.le.s $f2, $f22 +/* ACE2FC 802401BC 08090077 */ j .L802401DC +/* ACE300 802401C0 00000000 */ nop +.L802401C4: +/* ACE304 802401C4 4618103E */ c.le.s $f2, $f24 +/* ACE308 802401C8 00000000 */ nop +/* ACE30C 802401CC 45000005 */ bc1f .L802401E4 +/* ACE310 802401D0 0000882D */ daddu $s1, $zero, $zero +/* ACE314 802401D4 4616A03E */ c.le.s $f20, $f22 +/* ACE318 802401D8 00000000 */ nop +.L802401DC: +/* ACE31C 802401DC 45030001 */ bc1tl .L802401E4 +/* ACE320 802401E0 24110001 */ addiu $s1, $zero, 1 +.L802401E4: +/* ACE324 802401E4 12200027 */ beqz $s1, .L80240284 +/* ACE328 802401E8 0260202D */ daddu $a0, $s3, $zero +/* ACE32C 802401EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACE330 802401F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACE334 802401F4 8E460028 */ lw $a2, 0x28($s2) +/* ACE338 802401F8 8E470030 */ lw $a3, 0x30($s2) +/* ACE33C 802401FC C602003C */ lwc1 $f2, 0x3c($s0) +/* ACE340 80240200 46006006 */ mov.s $f0, $f12 +/* ACE344 80240204 46007106 */ mov.s $f4, $f14 +/* ACE348 80240208 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE34C 8024020C E7A20028 */ swc1 $f2, 0x28($sp) +/* ACE350 80240210 0C00A7B5 */ jal dist2D +/* ACE354 80240214 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACE358 80240218 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACE35C 8024021C C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACE360 80240220 8E460028 */ lw $a2, 0x28($s2) +/* ACE364 80240224 8E470030 */ lw $a3, 0x30($s2) +/* ACE368 80240228 0C00A720 */ jal atan2 +/* ACE36C 8024022C 46000506 */ mov.s $f20, $f0 +/* ACE370 80240230 3C040007 */ lui $a0, 7 +/* ACE374 80240234 34848000 */ ori $a0, $a0, 0x8000 +/* ACE378 80240238 27A50020 */ addiu $a1, $sp, 0x20 +/* ACE37C 8024023C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACE380 80240240 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACE384 80240244 860200A6 */ lh $v0, 0xa6($s0) +/* ACE388 80240248 27A60028 */ addiu $a2, $sp, 0x28 +/* ACE38C 8024024C 44820000 */ mtc1 $v0, $f0 +/* ACE390 80240250 00000000 */ nop +/* ACE394 80240254 46800020 */ cvt.s.w $f0, $f0 +/* ACE398 80240258 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACE39C 8024025C 860200A8 */ lh $v0, 0xa8($s0) +/* ACE3A0 80240260 27A70024 */ addiu $a3, $sp, 0x24 +/* ACE3A4 80240264 44820000 */ mtc1 $v0, $f0 +/* ACE3A8 80240268 00000000 */ nop +/* ACE3AC 8024026C 46800020 */ cvt.s.w $f0, $f0 +/* ACE3B0 80240270 0C0376B9 */ jal func_800DDAE4 +/* ACE3B4 80240274 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACE3B8 80240278 54400001 */ bnel $v0, $zero, .L80240280 +/* ACE3BC 8024027C 0000882D */ daddu $s1, $zero, $zero +.L80240280: +/* ACE3C0 80240280 0260202D */ daddu $a0, $s3, $zero +.L80240284: +/* ACE3C4 80240284 0280282D */ daddu $a1, $s4, $zero +/* ACE3C8 80240288 0C0B2026 */ jal set_variable +/* ACE3CC 8024028C 0220302D */ daddu $a2, $s1, $zero +/* ACE3D0 80240290 8FBF0044 */ lw $ra, 0x44($sp) +/* ACE3D4 80240294 8FB40040 */ lw $s4, 0x40($sp) +/* ACE3D8 80240298 8FB3003C */ lw $s3, 0x3c($sp) +/* ACE3DC 8024029C 8FB20038 */ lw $s2, 0x38($sp) +/* ACE3E0 802402A0 8FB10034 */ lw $s1, 0x34($sp) +/* ACE3E4 802402A4 8FB00030 */ lw $s0, 0x30($sp) +/* ACE3E8 802402A8 D7B80058 */ ldc1 $f24, 0x58($sp) +/* ACE3EC 802402AC D7B60050 */ ldc1 $f22, 0x50($sp) +/* ACE3F0 802402B0 D7B40048 */ ldc1 $f20, 0x48($sp) +/* ACE3F4 802402B4 24020002 */ addiu $v0, $zero, 2 +/* ACE3F8 802402B8 03E00008 */ jr $ra +/* ACE3FC 802402BC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_802402C0_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_802402C0_ACE140.s new file mode 100644 index 0000000000..8fa030e2fa --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_802402C0_ACE140.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0_ACE400 +/* ACE400 802402C0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* ACE404 802402C4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* ACE408 802402C8 4485A000 */ mtc1 $a1, $f20 +/* ACE40C 802402CC F7B60068 */ sdc1 $f22, 0x68($sp) +/* ACE410 802402D0 4486B000 */ mtc1 $a2, $f22 +/* ACE414 802402D4 F7B80070 */ sdc1 $f24, 0x70($sp) +/* ACE418 802402D8 4487C000 */ mtc1 $a3, $f24 +/* ACE41C 802402DC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* ACE420 802402E0 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* ACE424 802402E4 AFBF0058 */ sw $ra, 0x58($sp) +/* ACE428 802402E8 AFB10054 */ sw $s1, 0x54($sp) +/* ACE42C 802402EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* ACE430 802402F0 AFB00050 */ sw $s0, 0x50($sp) +/* ACE434 802402F4 0C046B4C */ jal get_model_from_list_index +/* ACE438 802402F8 0040202D */ daddu $a0, $v0, $zero +/* ACE43C 802402FC 0040802D */ daddu $s0, $v0, $zero +/* ACE440 80240300 26110058 */ addiu $s1, $s0, 0x58 +/* ACE444 80240304 4405A000 */ mfc1 $a1, $f20 +/* ACE448 80240308 4406B000 */ mfc1 $a2, $f22 +/* ACE44C 8024030C 4407C000 */ mfc1 $a3, $f24 +/* ACE450 80240310 0C019E40 */ jal guTranslateF +/* ACE454 80240314 0220202D */ daddu $a0, $s1, $zero +/* ACE458 80240318 27A40010 */ addiu $a0, $sp, 0x10 +/* ACE45C 8024031C 4405D000 */ mfc1 $a1, $f26 +/* ACE460 80240320 3C063F80 */ lui $a2, 0x3f80 +/* ACE464 80240324 0C019DF0 */ jal guScaleF +/* ACE468 80240328 00A0382D */ daddu $a3, $a1, $zero +/* ACE46C 8024032C 27A40010 */ addiu $a0, $sp, 0x10 +/* ACE470 80240330 0220282D */ daddu $a1, $s1, $zero +/* ACE474 80240334 0C019D80 */ jal guMtxCatF +/* ACE478 80240338 00A0302D */ daddu $a2, $a1, $zero +/* ACE47C 8024033C 96020000 */ lhu $v0, ($s0) +/* ACE480 80240340 34421400 */ ori $v0, $v0, 0x1400 +/* ACE484 80240344 A6020000 */ sh $v0, ($s0) +/* ACE488 80240348 8FBF0058 */ lw $ra, 0x58($sp) +/* ACE48C 8024034C 8FB10054 */ lw $s1, 0x54($sp) +/* ACE490 80240350 8FB00050 */ lw $s0, 0x50($sp) +/* ACE494 80240354 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* ACE498 80240358 D7B80070 */ ldc1 $f24, 0x70($sp) +/* ACE49C 8024035C D7B60068 */ ldc1 $f22, 0x68($sp) +/* ACE4A0 80240360 D7B40060 */ ldc1 $f20, 0x60($sp) +/* ACE4A4 80240364 03E00008 */ jr $ra +/* ACE4A8 80240368 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_8024036C_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_8024036C_ACE140.s new file mode 100644 index 0000000000..f5a6010f7e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_8024036C_ACE140.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_ACE4AC +/* ACE4AC 8024036C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* ACE4B0 80240370 AFB7004C */ sw $s7, 0x4c($sp) +/* ACE4B4 80240374 0080B82D */ daddu $s7, $a0, $zero +/* ACE4B8 80240378 AFBF0054 */ sw $ra, 0x54($sp) +/* ACE4BC 8024037C AFBE0050 */ sw $fp, 0x50($sp) +/* ACE4C0 80240380 AFB60048 */ sw $s6, 0x48($sp) +/* ACE4C4 80240384 AFB50044 */ sw $s5, 0x44($sp) +/* ACE4C8 80240388 AFB40040 */ sw $s4, 0x40($sp) +/* ACE4CC 8024038C AFB3003C */ sw $s3, 0x3c($sp) +/* ACE4D0 80240390 AFB20038 */ sw $s2, 0x38($sp) +/* ACE4D4 80240394 AFB10034 */ sw $s1, 0x34($sp) +/* ACE4D8 80240398 AFB00030 */ sw $s0, 0x30($sp) +/* ACE4DC 8024039C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* ACE4E0 802403A0 F7B80068 */ sdc1 $f24, 0x68($sp) +/* ACE4E4 802403A4 F7B60060 */ sdc1 $f22, 0x60($sp) +/* ACE4E8 802403A8 F7B40058 */ sdc1 $f20, 0x58($sp) +/* ACE4EC 802403AC 8EE20148 */ lw $v0, 0x148($s7) +/* ACE4F0 802403B0 0C00EABB */ jal get_npc_unsafe +/* ACE4F4 802403B4 84440008 */ lh $a0, 8($v0) +/* ACE4F8 802403B8 27B50020 */ addiu $s5, $sp, 0x20 +/* ACE4FC 802403BC 02A0202D */ daddu $a0, $s5, $zero +/* ACE500 802403C0 0040882D */ daddu $s1, $v0, $zero +/* ACE504 802403C4 27B40024 */ addiu $s4, $sp, 0x24 +/* ACE508 802403C8 8EE3000C */ lw $v1, 0xc($s7) +/* ACE50C 802403CC 3C0641F0 */ lui $a2, 0x41f0 +/* ACE510 802403D0 8E27000C */ lw $a3, 0xc($s1) +/* ACE514 802403D4 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACE518 802403D8 C6220040 */ lwc1 $f2, 0x40($s1) +/* ACE51C 802403DC 8C7E0000 */ lw $fp, ($v1) +/* ACE520 802403E0 24630004 */ addiu $v1, $v1, 4 +/* ACE524 802403E4 C4740000 */ lwc1 $f20, ($v1) +/* ACE528 802403E8 4680A520 */ cvt.s.w $f20, $f20 +/* ACE52C 802403EC 24630004 */ addiu $v1, $v1, 4 +/* ACE530 802403F0 C4760000 */ lwc1 $f22, ($v1) +/* ACE534 802403F4 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACE538 802403F8 24630004 */ addiu $v1, $v1, 4 +/* ACE53C 802403FC C4780000 */ lwc1 $f24, ($v1) +/* ACE540 80240400 4680C620 */ cvt.s.w $f24, $f24 +/* ACE544 80240404 24630004 */ addiu $v1, $v1, 4 +/* ACE548 80240408 C47A0000 */ lwc1 $f26, ($v1) +/* ACE54C 8024040C 4680D6A0 */ cvt.s.w $f26, $f26 +/* ACE550 80240410 24630004 */ addiu $v1, $v1, 4 +/* ACE554 80240414 8C760000 */ lw $s6, ($v1) +/* ACE558 80240418 8C700004 */ lw $s0, 4($v1) +/* ACE55C 8024041C 0280282D */ daddu $a1, $s4, $zero +/* ACE560 80240420 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE564 80240424 0C00A7E7 */ jal add_vec2D_polar +/* ACE568 80240428 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACE56C 8024042C 3C038015 */ lui $v1, %hi(D_80151328) +/* ACE570 80240430 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* ACE574 80240434 C7A00020 */ lwc1 $f0, 0x20($sp) +/* ACE578 80240438 3C0141A0 */ lui $at, 0x41a0 +/* ACE57C 8024043C 44811000 */ mtc1 $at, $f2 +/* ACE580 80240440 00101040 */ sll $v0, $s0, 1 +/* ACE584 80240444 00501021 */ addu $v0, $v0, $s0 +/* ACE588 80240448 000210C0 */ sll $v0, $v0, 3 +/* ACE58C 8024044C 24420004 */ addiu $v0, $v0, 4 +/* ACE590 80240450 00621821 */ addu $v1, $v1, $v0 +/* ACE594 80240454 E4600004 */ swc1 $f0, 4($v1) +/* ACE598 80240458 C620003C */ lwc1 $f0, 0x3c($s1) +/* ACE59C 8024045C 4406A000 */ mfc1 $a2, $f20 +/* ACE5A0 80240460 46020000 */ add.s $f0, $f0, $f2 +/* ACE5A4 80240464 C7A20024 */ lwc1 $f2, 0x24($sp) +/* ACE5A8 80240468 02A0202D */ daddu $a0, $s5, $zero +/* ACE5AC 8024046C E462000C */ swc1 $f2, 0xc($v1) +/* ACE5B0 80240470 E4600008 */ swc1 $f0, 8($v1) +/* ACE5B4 80240474 8E27000C */ lw $a3, 0xc($s1) +/* ACE5B8 80240478 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACE5BC 8024047C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACE5C0 80240480 0280282D */ daddu $a1, $s4, $zero +/* ACE5C4 80240484 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE5C8 80240488 0C00A7E7 */ jal add_vec2D_polar +/* ACE5CC 8024048C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACE5D0 80240490 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACE5D4 80240494 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACE5D8 80240498 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACE5DC 8024049C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACE5E0 802404A0 8E460028 */ lw $a2, 0x28($s2) +/* ACE5E4 802404A4 8E470030 */ lw $a3, 0x30($s2) +/* ACE5E8 802404A8 0C00A7B5 */ jal dist2D +/* ACE5EC 802404AC 0000802D */ daddu $s0, $zero, $zero +/* ACE5F0 802404B0 4616003E */ c.le.s $f0, $f22 +/* ACE5F4 802404B4 00000000 */ nop +/* ACE5F8 802404B8 45000002 */ bc1f .L802404C4 +/* ACE5FC 802404BC 0240982D */ daddu $s3, $s2, $zero +/* ACE600 802404C0 24100001 */ addiu $s0, $zero, 1 +.L802404C4: +/* ACE604 802404C4 4600B021 */ cvt.d.s $f0, $f22 +/* ACE608 802404C8 46200000 */ add.d $f0, $f0, $f0 +/* ACE60C 802404CC 3C014059 */ lui $at, 0x4059 +/* ACE610 802404D0 44811800 */ mtc1 $at, $f3 +/* ACE614 802404D4 44801000 */ mtc1 $zero, $f2 +/* ACE618 802404D8 3C018024 */ lui $at, 0x8024 +/* ACE61C 802404DC D4245F20 */ ldc1 $f4, 0x5f20($at) +/* ACE620 802404E0 46220003 */ div.d $f0, $f0, $f2 +/* ACE624 802404E4 46240000 */ add.d $f0, $f0, $f4 +/* ACE628 802404E8 C7A20020 */ lwc1 $f2, 0x20($sp) +/* ACE62C 802404EC C7A40024 */ lwc1 $f4, 0x24($sp) +/* ACE630 802404F0 44051000 */ mfc1 $a1, $f2 +/* ACE634 802404F4 44072000 */ mfc1 $a3, $f4 +/* ACE638 802404F8 46200020 */ cvt.s.d $f0, $f0 +/* ACE63C 802404FC E7A00010 */ swc1 $f0, 0x10($sp) +/* ACE640 80240500 8E26003C */ lw $a2, 0x3c($s1) +/* ACE644 80240504 0C0900B0 */ jal func_802402C0 +/* ACE648 80240508 02C0202D */ daddu $a0, $s6, $zero +/* ACE64C 8024050C 02A0202D */ daddu $a0, $s5, $zero +/* ACE650 80240510 4406C000 */ mfc1 $a2, $f24 +/* ACE654 80240514 8E27000C */ lw $a3, 0xc($s1) +/* ACE658 80240518 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACE65C 8024051C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACE660 80240520 0280282D */ daddu $a1, $s4, $zero +/* ACE664 80240524 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE668 80240528 0C00A7E7 */ jal add_vec2D_polar +/* ACE66C 8024052C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACE670 80240530 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACE674 80240534 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACE678 80240538 8E460028 */ lw $a2, 0x28($s2) +/* ACE67C 8024053C 0C00A7B5 */ jal dist2D +/* ACE680 80240540 8E470030 */ lw $a3, 0x30($s2) +/* ACE684 80240544 461A003E */ c.le.s $f0, $f26 +/* ACE688 80240548 00000000 */ nop +/* ACE68C 8024054C 45030001 */ bc1tl .L80240554 +/* ACE690 80240550 36100010 */ ori $s0, $s0, 0x10 +.L80240554: +/* ACE694 80240554 32020001 */ andi $v0, $s0, 1 +/* ACE698 80240558 10400026 */ beqz $v0, .L802405F4 +/* ACE69C 8024055C 02E0202D */ daddu $a0, $s7, $zero +/* ACE6A0 80240560 C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACE6A4 80240564 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACE6A8 80240568 8E660028 */ lw $a2, 0x28($s3) +/* ACE6AC 8024056C 8E670030 */ lw $a3, 0x30($s3) +/* ACE6B0 80240570 C622003C */ lwc1 $f2, 0x3c($s1) +/* ACE6B4 80240574 46006006 */ mov.s $f0, $f12 +/* ACE6B8 80240578 46007106 */ mov.s $f4, $f14 +/* ACE6BC 8024057C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACE6C0 80240580 E7A20028 */ swc1 $f2, 0x28($sp) +/* ACE6C4 80240584 0C00A7B5 */ jal dist2D +/* ACE6C8 80240588 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACE6CC 8024058C C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACE6D0 80240590 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACE6D4 80240594 8E660028 */ lw $a2, 0x28($s3) +/* ACE6D8 80240598 8E670030 */ lw $a3, 0x30($s3) +/* ACE6DC 8024059C 0C00A720 */ jal atan2 +/* ACE6E0 802405A0 46000506 */ mov.s $f20, $f0 +/* ACE6E4 802405A4 0000202D */ daddu $a0, $zero, $zero +/* ACE6E8 802405A8 02A0282D */ daddu $a1, $s5, $zero +/* ACE6EC 802405AC E7B40010 */ swc1 $f20, 0x10($sp) +/* ACE6F0 802405B0 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACE6F4 802405B4 862200A6 */ lh $v0, 0xa6($s1) +/* ACE6F8 802405B8 27A60028 */ addiu $a2, $sp, 0x28 +/* ACE6FC 802405BC 44820000 */ mtc1 $v0, $f0 +/* ACE700 802405C0 00000000 */ nop +/* ACE704 802405C4 46800020 */ cvt.s.w $f0, $f0 +/* ACE708 802405C8 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACE70C 802405CC 862200A8 */ lh $v0, 0xa8($s1) +/* ACE710 802405D0 0280382D */ daddu $a3, $s4, $zero +/* ACE714 802405D4 44820000 */ mtc1 $v0, $f0 +/* ACE718 802405D8 00000000 */ nop +/* ACE71C 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* ACE720 802405E0 0C0376B9 */ jal func_800DDAE4 +/* ACE724 802405E4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACE728 802405E8 54400001 */ bnel $v0, $zero, .L802405F0 +/* ACE72C 802405EC 0000802D */ daddu $s0, $zero, $zero +.L802405F0: +/* ACE730 802405F0 02E0202D */ daddu $a0, $s7, $zero +.L802405F4: +/* ACE734 802405F4 03C0282D */ daddu $a1, $fp, $zero +/* ACE738 802405F8 0C0B2026 */ jal set_variable +/* ACE73C 802405FC 0200302D */ daddu $a2, $s0, $zero +/* ACE740 80240600 8FBF0054 */ lw $ra, 0x54($sp) +/* ACE744 80240604 8FBE0050 */ lw $fp, 0x50($sp) +/* ACE748 80240608 8FB7004C */ lw $s7, 0x4c($sp) +/* ACE74C 8024060C 8FB60048 */ lw $s6, 0x48($sp) +/* ACE750 80240610 8FB50044 */ lw $s5, 0x44($sp) +/* ACE754 80240614 8FB40040 */ lw $s4, 0x40($sp) +/* ACE758 80240618 8FB3003C */ lw $s3, 0x3c($sp) +/* ACE75C 8024061C 8FB20038 */ lw $s2, 0x38($sp) +/* ACE760 80240620 8FB10034 */ lw $s1, 0x34($sp) +/* ACE764 80240624 8FB00030 */ lw $s0, 0x30($sp) +/* ACE768 80240628 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* ACE76C 8024062C D7B80068 */ ldc1 $f24, 0x68($sp) +/* ACE770 80240630 D7B60060 */ ldc1 $f22, 0x60($sp) +/* ACE774 80240634 D7B40058 */ ldc1 $f20, 0x58($sp) +/* ACE778 80240638 24020002 */ addiu $v0, $zero, 2 +/* ACE77C 8024063C 03E00008 */ jr $ra +/* ACE780 80240640 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240644_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240644_ACE140.s new file mode 100644 index 0000000000..cbc583ce69 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240644_ACE140.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_ACE784 +/* ACE784 80240644 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* ACE788 80240648 AFB10014 */ sw $s1, 0x14($sp) +/* ACE78C 8024064C 0080882D */ daddu $s1, $a0, $zero +/* ACE790 80240650 AFBF0024 */ sw $ra, 0x24($sp) +/* ACE794 80240654 AFB40020 */ sw $s4, 0x20($sp) +/* ACE798 80240658 AFB3001C */ sw $s3, 0x1c($sp) +/* ACE79C 8024065C AFB20018 */ sw $s2, 0x18($sp) +/* ACE7A0 80240660 AFB00010 */ sw $s0, 0x10($sp) +/* ACE7A4 80240664 8E30000C */ lw $s0, 0xc($s1) +/* ACE7A8 80240668 8E140000 */ lw $s4, ($s0) +/* ACE7AC 8024066C 26100004 */ addiu $s0, $s0, 4 +/* ACE7B0 80240670 8E050000 */ lw $a1, ($s0) +/* ACE7B4 80240674 0C0B1EAF */ jal get_variable +/* ACE7B8 80240678 26100004 */ addiu $s0, $s0, 4 +/* ACE7BC 8024067C 8E050000 */ lw $a1, ($s0) +/* ACE7C0 80240680 26100004 */ addiu $s0, $s0, 4 +/* ACE7C4 80240684 0220202D */ daddu $a0, $s1, $zero +/* ACE7C8 80240688 0C0B1EAF */ jal get_variable +/* ACE7CC 8024068C 0040982D */ daddu $s3, $v0, $zero +/* ACE7D0 80240690 8E050000 */ lw $a1, ($s0) +/* ACE7D4 80240694 26100004 */ addiu $s0, $s0, 4 +/* ACE7D8 80240698 0220202D */ daddu $a0, $s1, $zero +/* ACE7DC 8024069C 0C0B1EAF */ jal get_variable +/* ACE7E0 802406A0 0040902D */ daddu $s2, $v0, $zero +/* ACE7E4 802406A4 0220202D */ daddu $a0, $s1, $zero +/* ACE7E8 802406A8 8E050000 */ lw $a1, ($s0) +/* ACE7EC 802406AC 0C0B1EAF */ jal get_variable +/* ACE7F0 802406B0 0040802D */ daddu $s0, $v0, $zero +/* ACE7F4 802406B4 44901000 */ mtc1 $s0, $f2 +/* ACE7F8 802406B8 00000000 */ nop +/* ACE7FC 802406BC 468010A0 */ cvt.s.w $f2, $f2 +/* ACE800 802406C0 44936000 */ mtc1 $s3, $f12 +/* ACE804 802406C4 00000000 */ nop +/* ACE808 802406C8 46806320 */ cvt.s.w $f12, $f12 +/* ACE80C 802406CC 44061000 */ mfc1 $a2, $f2 +/* ACE810 802406D0 44821000 */ mtc1 $v0, $f2 +/* ACE814 802406D4 00000000 */ nop +/* ACE818 802406D8 468010A0 */ cvt.s.w $f2, $f2 +/* ACE81C 802406DC 44071000 */ mfc1 $a3, $f2 +/* ACE820 802406E0 44927000 */ mtc1 $s2, $f14 +/* ACE824 802406E4 00000000 */ nop +/* ACE828 802406E8 0C00A720 */ jal atan2 +/* ACE82C 802406EC 468073A0 */ cvt.s.w $f14, $f14 +/* ACE830 802406F0 0220202D */ daddu $a0, $s1, $zero +/* ACE834 802406F4 4600008D */ trunc.w.s $f2, $f0 +/* ACE838 802406F8 44061000 */ mfc1 $a2, $f2 +/* ACE83C 802406FC 0C0B2026 */ jal set_variable +/* ACE840 80240700 0280282D */ daddu $a1, $s4, $zero +/* ACE844 80240704 8FBF0024 */ lw $ra, 0x24($sp) +/* ACE848 80240708 8FB40020 */ lw $s4, 0x20($sp) +/* ACE84C 8024070C 8FB3001C */ lw $s3, 0x1c($sp) +/* ACE850 80240710 8FB20018 */ lw $s2, 0x18($sp) +/* ACE854 80240714 8FB10014 */ lw $s1, 0x14($sp) +/* ACE858 80240718 8FB00010 */ lw $s0, 0x10($sp) +/* ACE85C 8024071C 24020002 */ addiu $v0, $zero, 2 +/* ACE860 80240720 03E00008 */ jr $ra +/* ACE864 80240724 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240728_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240728_ACE140.s new file mode 100644 index 0000000000..fa0354eeb8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240728_ACE140.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728_ACE868 +/* ACE868 80240728 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* ACE86C 8024072C AFB3001C */ sw $s3, 0x1c($sp) +/* ACE870 80240730 0080982D */ daddu $s3, $a0, $zero +/* ACE874 80240734 AFBF0030 */ sw $ra, 0x30($sp) +/* ACE878 80240738 AFB7002C */ sw $s7, 0x2c($sp) +/* ACE87C 8024073C AFB60028 */ sw $s6, 0x28($sp) +/* ACE880 80240740 AFB50024 */ sw $s5, 0x24($sp) +/* ACE884 80240744 AFB40020 */ sw $s4, 0x20($sp) +/* ACE888 80240748 AFB20018 */ sw $s2, 0x18($sp) +/* ACE88C 8024074C AFB10014 */ sw $s1, 0x14($sp) +/* ACE890 80240750 AFB00010 */ sw $s0, 0x10($sp) +/* ACE894 80240754 F7B80048 */ sdc1 $f24, 0x48($sp) +/* ACE898 80240758 F7B60040 */ sdc1 $f22, 0x40($sp) +/* ACE89C 8024075C F7B40038 */ sdc1 $f20, 0x38($sp) +/* ACE8A0 80240760 8E70000C */ lw $s0, 0xc($s3) +/* ACE8A4 80240764 8E050000 */ lw $a1, ($s0) +/* ACE8A8 80240768 0C0B1EAF */ jal get_variable +/* ACE8AC 8024076C 26100004 */ addiu $s0, $s0, 4 +/* ACE8B0 80240770 8E150000 */ lw $s5, ($s0) +/* ACE8B4 80240774 26100004 */ addiu $s0, $s0, 4 +/* ACE8B8 80240778 0260202D */ daddu $a0, $s3, $zero +/* ACE8BC 8024077C 8E160000 */ lw $s6, ($s0) +/* ACE8C0 80240780 8E170004 */ lw $s7, 4($s0) +/* ACE8C4 80240784 0C0B36B0 */ jal resolve_npc +/* ACE8C8 80240788 0040282D */ daddu $a1, $v0, $zero +/* ACE8CC 8024078C 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* ACE8D0 80240790 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* ACE8D4 80240794 0040802D */ daddu $s0, $v0, $zero +/* ACE8D8 80240798 1200002F */ beqz $s0, .L80240858 +/* ACE8DC 8024079C 0220902D */ daddu $s2, $s1, $zero +/* ACE8E0 802407A0 C62C0028 */ lwc1 $f12, 0x28($s1) +/* ACE8E4 802407A4 C62E0030 */ lwc1 $f14, 0x30($s1) +/* ACE8E8 802407A8 8E060038 */ lw $a2, 0x38($s0) +/* ACE8EC 802407AC 8E070040 */ lw $a3, 0x40($s0) +/* ACE8F0 802407B0 3C0142C8 */ lui $at, 0x42c8 +/* ACE8F4 802407B4 4481C000 */ mtc1 $at, $f24 +/* ACE8F8 802407B8 0C00A7B5 */ jal dist2D +/* ACE8FC 802407BC 24140001 */ addiu $s4, $zero, 1 +/* ACE900 802407C0 4618003C */ c.lt.s $f0, $f24 +/* ACE904 802407C4 00000000 */ nop +/* ACE908 802407C8 45030001 */ bc1tl .L802407D0 +/* ACE90C 802407CC 0000A02D */ daddu $s4, $zero, $zero +.L802407D0: +/* ACE910 802407D0 C64C0028 */ lwc1 $f12, 0x28($s2) +/* ACE914 802407D4 C64E0030 */ lwc1 $f14, 0x30($s2) +/* ACE918 802407D8 8E060038 */ lw $a2, 0x38($s0) +/* ACE91C 802407DC 0C00A720 */ jal atan2 +/* ACE920 802407E0 8E070040 */ lw $a3, 0x40($s0) +/* ACE924 802407E4 0C00A6C9 */ jal clamp_angle +/* ACE928 802407E8 46000306 */ mov.s $f12, $f0 +/* ACE92C 802407EC 46000506 */ mov.s $f20, $f0 +/* ACE930 802407F0 0C00A8BB */ jal sin_deg +/* ACE934 802407F4 4600A306 */ mov.s $f12, $f20 +/* ACE938 802407F8 46180002 */ mul.s $f0, $f0, $f24 +/* ACE93C 802407FC 00000000 */ nop +/* ACE940 80240800 C6560028 */ lwc1 $f22, 0x28($s2) +/* ACE944 80240804 4600B580 */ add.s $f22, $f22, $f0 +/* ACE948 80240808 0C00A8D4 */ jal cos_deg +/* ACE94C 8024080C 4600A306 */ mov.s $f12, $f20 +/* ACE950 80240810 46180002 */ mul.s $f0, $f0, $f24 +/* ACE954 80240814 00000000 */ nop +/* ACE958 80240818 0260202D */ daddu $a0, $s3, $zero +/* ACE95C 8024081C 02A0282D */ daddu $a1, $s5, $zero +/* ACE960 80240820 C6540030 */ lwc1 $f20, 0x30($s2) +/* ACE964 80240824 0280302D */ daddu $a2, $s4, $zero +/* ACE968 80240828 0C0B2026 */ jal set_variable +/* ACE96C 8024082C 4600A501 */ sub.s $f20, $f20, $f0 +/* ACE970 80240830 0260202D */ daddu $a0, $s3, $zero +/* ACE974 80240834 4600B08D */ trunc.w.s $f2, $f22 +/* ACE978 80240838 44061000 */ mfc1 $a2, $f2 +/* ACE97C 8024083C 0C0B2026 */ jal set_variable +/* ACE980 80240840 02C0282D */ daddu $a1, $s6, $zero +/* ACE984 80240844 0260202D */ daddu $a0, $s3, $zero +/* ACE988 80240848 4600A08D */ trunc.w.s $f2, $f20 +/* ACE98C 8024084C 44061000 */ mfc1 $a2, $f2 +/* ACE990 80240850 0C0B2026 */ jal set_variable +/* ACE994 80240854 02E0282D */ daddu $a1, $s7, $zero +.L80240858: +/* ACE998 80240858 24020002 */ addiu $v0, $zero, 2 +/* ACE99C 8024085C 8FBF0030 */ lw $ra, 0x30($sp) +/* ACE9A0 80240860 8FB7002C */ lw $s7, 0x2c($sp) +/* ACE9A4 80240864 8FB60028 */ lw $s6, 0x28($sp) +/* ACE9A8 80240868 8FB50024 */ lw $s5, 0x24($sp) +/* ACE9AC 8024086C 8FB40020 */ lw $s4, 0x20($sp) +/* ACE9B0 80240870 8FB3001C */ lw $s3, 0x1c($sp) +/* ACE9B4 80240874 8FB20018 */ lw $s2, 0x18($sp) +/* ACE9B8 80240878 8FB10014 */ lw $s1, 0x14($sp) +/* ACE9BC 8024087C 8FB00010 */ lw $s0, 0x10($sp) +/* ACE9C0 80240880 D7B80048 */ ldc1 $f24, 0x48($sp) +/* ACE9C4 80240884 D7B60040 */ ldc1 $f22, 0x40($sp) +/* ACE9C8 80240888 D7B40038 */ ldc1 $f20, 0x38($sp) +/* ACE9CC 8024088C 03E00008 */ jr $ra +/* ACE9D0 80240890 27BD0050 */ addiu $sp, $sp, 0x50 +/* ACE9D4 80240894 00000000 */ nop +/* ACE9D8 80240898 00000000 */ nop +/* ACE9DC 8024089C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_802408A0_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_802408A0_ACE140.s new file mode 100644 index 0000000000..4076e2c13a --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_802408A0_ACE140.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_ACE9E0 +/* ACE9E0 802408A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* ACE9E4 802408A4 AFB3003C */ sw $s3, 0x3c($sp) +/* ACE9E8 802408A8 0080982D */ daddu $s3, $a0, $zero +/* ACE9EC 802408AC AFBF0044 */ sw $ra, 0x44($sp) +/* ACE9F0 802408B0 AFB40040 */ sw $s4, 0x40($sp) +/* ACE9F4 802408B4 AFB20038 */ sw $s2, 0x38($sp) +/* ACE9F8 802408B8 AFB10034 */ sw $s1, 0x34($sp) +/* ACE9FC 802408BC AFB00030 */ sw $s0, 0x30($sp) +/* ACEA00 802408C0 F7B80058 */ sdc1 $f24, 0x58($sp) +/* ACEA04 802408C4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* ACEA08 802408C8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* ACEA0C 802408CC 8E620148 */ lw $v0, 0x148($s3) +/* ACEA10 802408D0 0C00EABB */ jal get_npc_unsafe +/* ACEA14 802408D4 84440008 */ lh $a0, 8($v0) +/* ACEA18 802408D8 27A40020 */ addiu $a0, $sp, 0x20 +/* ACEA1C 802408DC 27A50024 */ addiu $a1, $sp, 0x24 +/* ACEA20 802408E0 0040802D */ daddu $s0, $v0, $zero +/* ACEA24 802408E4 8E63000C */ lw $v1, 0xc($s3) +/* ACEA28 802408E8 8E07000C */ lw $a3, 0xc($s0) +/* ACEA2C 802408EC C6000038 */ lwc1 $f0, 0x38($s0) +/* ACEA30 802408F0 C6020040 */ lwc1 $f2, 0x40($s0) +/* ACEA34 802408F4 8C740000 */ lw $s4, ($v1) +/* ACEA38 802408F8 24630004 */ addiu $v1, $v1, 4 +/* ACEA3C 802408FC C4780000 */ lwc1 $f24, ($v1) +/* ACEA40 80240900 4680C620 */ cvt.s.w $f24, $f24 +/* ACEA44 80240904 24630004 */ addiu $v1, $v1, 4 +/* ACEA48 80240908 C4740000 */ lwc1 $f20, ($v1) +/* ACEA4C 8024090C 4680A520 */ cvt.s.w $f20, $f20 +/* ACEA50 80240910 4406A000 */ mfc1 $a2, $f20 +/* ACEA54 80240914 C4760004 */ lwc1 $f22, 4($v1) +/* ACEA58 80240918 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACEA5C 8024091C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACEA60 80240920 0C00A7E7 */ jal add_vec2D_polar +/* ACEA64 80240924 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACEA68 80240928 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACEA6C 8024092C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACEA70 80240930 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACEA74 80240934 4480A000 */ mtc1 $zero, $f20 +/* ACEA78 80240938 8E460028 */ lw $a2, 0x28($s2) +/* ACEA7C 8024093C 4407A000 */ mfc1 $a3, $f20 +/* ACEA80 80240940 0C00A7B5 */ jal dist2D +/* ACEA84 80240944 4600A386 */ mov.s $f14, $f20 +/* ACEA88 80240948 4600A306 */ mov.s $f12, $f20 +/* ACEA8C 8024094C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACEA90 80240950 44066000 */ mfc1 $a2, $f12 +/* ACEA94 80240954 8E470030 */ lw $a3, 0x30($s2) +/* ACEA98 80240958 0C00A7B5 */ jal dist2D +/* ACEA9C 8024095C 46000506 */ mov.s $f20, $f0 +/* ACEAA0 80240960 C604000C */ lwc1 $f4, 0xc($s0) +/* ACEAA4 80240964 3C018024 */ lui $at, 0x8024 +/* ACEAA8 80240968 D4225F30 */ ldc1 $f2, 0x5f30($at) +/* ACEAAC 8024096C 46002121 */ cvt.d.s $f4, $f4 +/* ACEAB0 80240970 46222032 */ c.eq.d $f4, $f2 +/* ACEAB4 80240974 00000000 */ nop +/* ACEAB8 80240978 45010007 */ bc1t .L80240998 +/* ACEABC 8024097C 46000086 */ mov.s $f2, $f0 +/* ACEAC0 80240980 3C018024 */ lui $at, 0x8024 +/* ACEAC4 80240984 D4205F38 */ ldc1 $f0, 0x5f38($at) +/* ACEAC8 80240988 46202032 */ c.eq.d $f4, $f0 +/* ACEACC 8024098C 00000000 */ nop +/* ACEAD0 80240990 45000008 */ bc1f .L802409B4 +/* ACEAD4 80240994 00000000 */ nop +.L80240998: +/* ACEAD8 80240998 4618A03E */ c.le.s $f20, $f24 +/* ACEADC 8024099C 00000000 */ nop +/* ACEAE0 802409A0 4500000C */ bc1f .L802409D4 +/* ACEAE4 802409A4 0000882D */ daddu $s1, $zero, $zero +/* ACEAE8 802409A8 4616103E */ c.le.s $f2, $f22 +/* ACEAEC 802409AC 08090273 */ j .L802409CC +/* ACEAF0 802409B0 00000000 */ nop +.L802409B4: +/* ACEAF4 802409B4 4618103E */ c.le.s $f2, $f24 +/* ACEAF8 802409B8 00000000 */ nop +/* ACEAFC 802409BC 45000005 */ bc1f .L802409D4 +/* ACEB00 802409C0 0000882D */ daddu $s1, $zero, $zero +/* ACEB04 802409C4 4616A03E */ c.le.s $f20, $f22 +/* ACEB08 802409C8 00000000 */ nop +.L802409CC: +/* ACEB0C 802409CC 45030001 */ bc1tl .L802409D4 +/* ACEB10 802409D0 24110001 */ addiu $s1, $zero, 1 +.L802409D4: +/* ACEB14 802409D4 12200027 */ beqz $s1, .L80240A74 +/* ACEB18 802409D8 0260202D */ daddu $a0, $s3, $zero +/* ACEB1C 802409DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACEB20 802409E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACEB24 802409E4 8E460028 */ lw $a2, 0x28($s2) +/* ACEB28 802409E8 8E470030 */ lw $a3, 0x30($s2) +/* ACEB2C 802409EC C602003C */ lwc1 $f2, 0x3c($s0) +/* ACEB30 802409F0 46006006 */ mov.s $f0, $f12 +/* ACEB34 802409F4 46007106 */ mov.s $f4, $f14 +/* ACEB38 802409F8 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACEB3C 802409FC E7A20028 */ swc1 $f2, 0x28($sp) +/* ACEB40 80240A00 0C00A7B5 */ jal dist2D +/* ACEB44 80240A04 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACEB48 80240A08 C60C0038 */ lwc1 $f12, 0x38($s0) +/* ACEB4C 80240A0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* ACEB50 80240A10 8E460028 */ lw $a2, 0x28($s2) +/* ACEB54 80240A14 8E470030 */ lw $a3, 0x30($s2) +/* ACEB58 80240A18 0C00A720 */ jal atan2 +/* ACEB5C 80240A1C 46000506 */ mov.s $f20, $f0 +/* ACEB60 80240A20 3C040007 */ lui $a0, 7 +/* ACEB64 80240A24 34848000 */ ori $a0, $a0, 0x8000 +/* ACEB68 80240A28 27A50020 */ addiu $a1, $sp, 0x20 +/* ACEB6C 80240A2C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACEB70 80240A30 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACEB74 80240A34 860200A6 */ lh $v0, 0xa6($s0) +/* ACEB78 80240A38 27A60028 */ addiu $a2, $sp, 0x28 +/* ACEB7C 80240A3C 44820000 */ mtc1 $v0, $f0 +/* ACEB80 80240A40 00000000 */ nop +/* ACEB84 80240A44 46800020 */ cvt.s.w $f0, $f0 +/* ACEB88 80240A48 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACEB8C 80240A4C 860200A8 */ lh $v0, 0xa8($s0) +/* ACEB90 80240A50 27A70024 */ addiu $a3, $sp, 0x24 +/* ACEB94 80240A54 44820000 */ mtc1 $v0, $f0 +/* ACEB98 80240A58 00000000 */ nop +/* ACEB9C 80240A5C 46800020 */ cvt.s.w $f0, $f0 +/* ACEBA0 80240A60 0C0376B9 */ jal func_800DDAE4 +/* ACEBA4 80240A64 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACEBA8 80240A68 54400001 */ bnel $v0, $zero, .L80240A70 +/* ACEBAC 80240A6C 0000882D */ daddu $s1, $zero, $zero +.L80240A70: +/* ACEBB0 80240A70 0260202D */ daddu $a0, $s3, $zero +.L80240A74: +/* ACEBB4 80240A74 0280282D */ daddu $a1, $s4, $zero +/* ACEBB8 80240A78 0C0B2026 */ jal set_variable +/* ACEBBC 80240A7C 0220302D */ daddu $a2, $s1, $zero +/* ACEBC0 80240A80 8FBF0044 */ lw $ra, 0x44($sp) +/* ACEBC4 80240A84 8FB40040 */ lw $s4, 0x40($sp) +/* ACEBC8 80240A88 8FB3003C */ lw $s3, 0x3c($sp) +/* ACEBCC 80240A8C 8FB20038 */ lw $s2, 0x38($sp) +/* ACEBD0 80240A90 8FB10034 */ lw $s1, 0x34($sp) +/* ACEBD4 80240A94 8FB00030 */ lw $s0, 0x30($sp) +/* ACEBD8 80240A98 D7B80058 */ ldc1 $f24, 0x58($sp) +/* ACEBDC 80240A9C D7B60050 */ ldc1 $f22, 0x50($sp) +/* ACEBE0 80240AA0 D7B40048 */ ldc1 $f20, 0x48($sp) +/* ACEBE4 80240AA4 24020002 */ addiu $v0, $zero, 2 +/* ACEBE8 80240AA8 03E00008 */ jr $ra +/* ACEBEC 80240AAC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240AB0_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240AB0_ACE140.s new file mode 100644 index 0000000000..1d45a5deb0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240AB0_ACE140.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB0_ACEBF0 +/* ACEBF0 80240AB0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* ACEBF4 80240AB4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* ACEBF8 80240AB8 4485A000 */ mtc1 $a1, $f20 +/* ACEBFC 80240ABC F7B60068 */ sdc1 $f22, 0x68($sp) +/* ACEC00 80240AC0 4486B000 */ mtc1 $a2, $f22 +/* ACEC04 80240AC4 F7B80070 */ sdc1 $f24, 0x70($sp) +/* ACEC08 80240AC8 4487C000 */ mtc1 $a3, $f24 +/* ACEC0C 80240ACC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* ACEC10 80240AD0 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* ACEC14 80240AD4 AFBF0058 */ sw $ra, 0x58($sp) +/* ACEC18 80240AD8 AFB10054 */ sw $s1, 0x54($sp) +/* ACEC1C 80240ADC 0C046C04 */ jal get_model_list_index_from_tree_index +/* ACEC20 80240AE0 AFB00050 */ sw $s0, 0x50($sp) +/* ACEC24 80240AE4 0C046B4C */ jal get_model_from_list_index +/* ACEC28 80240AE8 0040202D */ daddu $a0, $v0, $zero +/* ACEC2C 80240AEC 0040802D */ daddu $s0, $v0, $zero +/* ACEC30 80240AF0 26110058 */ addiu $s1, $s0, 0x58 +/* ACEC34 80240AF4 4405A000 */ mfc1 $a1, $f20 +/* ACEC38 80240AF8 4406B000 */ mfc1 $a2, $f22 +/* ACEC3C 80240AFC 4407C000 */ mfc1 $a3, $f24 +/* ACEC40 80240B00 0C019E40 */ jal guTranslateF +/* ACEC44 80240B04 0220202D */ daddu $a0, $s1, $zero +/* ACEC48 80240B08 27A40010 */ addiu $a0, $sp, 0x10 +/* ACEC4C 80240B0C 4405D000 */ mfc1 $a1, $f26 +/* ACEC50 80240B10 3C063F80 */ lui $a2, 0x3f80 +/* ACEC54 80240B14 0C019DF0 */ jal guScaleF +/* ACEC58 80240B18 00A0382D */ daddu $a3, $a1, $zero +/* ACEC5C 80240B1C 27A40010 */ addiu $a0, $sp, 0x10 +/* ACEC60 80240B20 0220282D */ daddu $a1, $s1, $zero +/* ACEC64 80240B24 0C019D80 */ jal guMtxCatF +/* ACEC68 80240B28 00A0302D */ daddu $a2, $a1, $zero +/* ACEC6C 80240B2C 96020000 */ lhu $v0, ($s0) +/* ACEC70 80240B30 34421400 */ ori $v0, $v0, 0x1400 +/* ACEC74 80240B34 A6020000 */ sh $v0, ($s0) +/* ACEC78 80240B38 8FBF0058 */ lw $ra, 0x58($sp) +/* ACEC7C 80240B3C 8FB10054 */ lw $s1, 0x54($sp) +/* ACEC80 80240B40 8FB00050 */ lw $s0, 0x50($sp) +/* ACEC84 80240B44 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* ACEC88 80240B48 D7B80070 */ ldc1 $f24, 0x70($sp) +/* ACEC8C 80240B4C D7B60068 */ ldc1 $f22, 0x68($sp) +/* ACEC90 80240B50 D7B40060 */ ldc1 $f20, 0x60($sp) +/* ACEC94 80240B54 03E00008 */ jr $ra +/* ACEC98 80240B58 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240B5C_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240B5C_ACE140.s new file mode 100644 index 0000000000..614e5747ca --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240B5C_ACE140.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B5C_ACEC9C +/* ACEC9C 80240B5C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* ACECA0 80240B60 AFB7004C */ sw $s7, 0x4c($sp) +/* ACECA4 80240B64 0080B82D */ daddu $s7, $a0, $zero +/* ACECA8 80240B68 AFBF0054 */ sw $ra, 0x54($sp) +/* ACECAC 80240B6C AFBE0050 */ sw $fp, 0x50($sp) +/* ACECB0 80240B70 AFB60048 */ sw $s6, 0x48($sp) +/* ACECB4 80240B74 AFB50044 */ sw $s5, 0x44($sp) +/* ACECB8 80240B78 AFB40040 */ sw $s4, 0x40($sp) +/* ACECBC 80240B7C AFB3003C */ sw $s3, 0x3c($sp) +/* ACECC0 80240B80 AFB20038 */ sw $s2, 0x38($sp) +/* ACECC4 80240B84 AFB10034 */ sw $s1, 0x34($sp) +/* ACECC8 80240B88 AFB00030 */ sw $s0, 0x30($sp) +/* ACECCC 80240B8C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* ACECD0 80240B90 F7B80068 */ sdc1 $f24, 0x68($sp) +/* ACECD4 80240B94 F7B60060 */ sdc1 $f22, 0x60($sp) +/* ACECD8 80240B98 F7B40058 */ sdc1 $f20, 0x58($sp) +/* ACECDC 80240B9C 8EE20148 */ lw $v0, 0x148($s7) +/* ACECE0 80240BA0 0C00EABB */ jal get_npc_unsafe +/* ACECE4 80240BA4 84440008 */ lh $a0, 8($v0) +/* ACECE8 80240BA8 27B50020 */ addiu $s5, $sp, 0x20 +/* ACECEC 80240BAC 02A0202D */ daddu $a0, $s5, $zero +/* ACECF0 80240BB0 0040882D */ daddu $s1, $v0, $zero +/* ACECF4 80240BB4 27B40024 */ addiu $s4, $sp, 0x24 +/* ACECF8 80240BB8 8EE3000C */ lw $v1, 0xc($s7) +/* ACECFC 80240BBC 3C0641F0 */ lui $a2, 0x41f0 +/* ACED00 80240BC0 8E27000C */ lw $a3, 0xc($s1) +/* ACED04 80240BC4 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACED08 80240BC8 C6220040 */ lwc1 $f2, 0x40($s1) +/* ACED0C 80240BCC 8C7E0000 */ lw $fp, ($v1) +/* ACED10 80240BD0 24630004 */ addiu $v1, $v1, 4 +/* ACED14 80240BD4 C4740000 */ lwc1 $f20, ($v1) +/* ACED18 80240BD8 4680A520 */ cvt.s.w $f20, $f20 +/* ACED1C 80240BDC 24630004 */ addiu $v1, $v1, 4 +/* ACED20 80240BE0 C4760000 */ lwc1 $f22, ($v1) +/* ACED24 80240BE4 4680B5A0 */ cvt.s.w $f22, $f22 +/* ACED28 80240BE8 24630004 */ addiu $v1, $v1, 4 +/* ACED2C 80240BEC C4780000 */ lwc1 $f24, ($v1) +/* ACED30 80240BF0 4680C620 */ cvt.s.w $f24, $f24 +/* ACED34 80240BF4 24630004 */ addiu $v1, $v1, 4 +/* ACED38 80240BF8 C47A0000 */ lwc1 $f26, ($v1) +/* ACED3C 80240BFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* ACED40 80240C00 24630004 */ addiu $v1, $v1, 4 +/* ACED44 80240C04 8C760000 */ lw $s6, ($v1) +/* ACED48 80240C08 8C700004 */ lw $s0, 4($v1) +/* ACED4C 80240C0C 0280282D */ daddu $a1, $s4, $zero +/* ACED50 80240C10 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACED54 80240C14 0C00A7E7 */ jal add_vec2D_polar +/* ACED58 80240C18 E7A20024 */ swc1 $f2, 0x24($sp) +/* ACED5C 80240C1C 3C038015 */ lui $v1, %hi(D_80151328) +/* ACED60 80240C20 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* ACED64 80240C24 C7A00020 */ lwc1 $f0, 0x20($sp) +/* ACED68 80240C28 3C0141A0 */ lui $at, 0x41a0 +/* ACED6C 80240C2C 44811000 */ mtc1 $at, $f2 +/* ACED70 80240C30 00101040 */ sll $v0, $s0, 1 +/* ACED74 80240C34 00501021 */ addu $v0, $v0, $s0 +/* ACED78 80240C38 000210C0 */ sll $v0, $v0, 3 +/* ACED7C 80240C3C 24420004 */ addiu $v0, $v0, 4 +/* ACED80 80240C40 00621821 */ addu $v1, $v1, $v0 +/* ACED84 80240C44 E4600004 */ swc1 $f0, 4($v1) +/* ACED88 80240C48 C620003C */ lwc1 $f0, 0x3c($s1) +/* ACED8C 80240C4C 4406A000 */ mfc1 $a2, $f20 +/* ACED90 80240C50 46020000 */ add.s $f0, $f0, $f2 +/* ACED94 80240C54 C7A20024 */ lwc1 $f2, 0x24($sp) +/* ACED98 80240C58 02A0202D */ daddu $a0, $s5, $zero +/* ACED9C 80240C5C E462000C */ swc1 $f2, 0xc($v1) +/* ACEDA0 80240C60 E4600008 */ swc1 $f0, 8($v1) +/* ACEDA4 80240C64 8E27000C */ lw $a3, 0xc($s1) +/* ACEDA8 80240C68 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACEDAC 80240C6C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACEDB0 80240C70 0280282D */ daddu $a1, $s4, $zero +/* ACEDB4 80240C74 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACEDB8 80240C78 0C00A7E7 */ jal add_vec2D_polar +/* ACEDBC 80240C7C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACEDC0 80240C80 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* ACEDC4 80240C84 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* ACEDC8 80240C88 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACEDCC 80240C8C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACEDD0 80240C90 8E460028 */ lw $a2, 0x28($s2) +/* ACEDD4 80240C94 8E470030 */ lw $a3, 0x30($s2) +/* ACEDD8 80240C98 0C00A7B5 */ jal dist2D +/* ACEDDC 80240C9C 0000802D */ daddu $s0, $zero, $zero +/* ACEDE0 80240CA0 4616003E */ c.le.s $f0, $f22 +/* ACEDE4 80240CA4 00000000 */ nop +/* ACEDE8 80240CA8 45000002 */ bc1f .L80240CB4 +/* ACEDEC 80240CAC 0240982D */ daddu $s3, $s2, $zero +/* ACEDF0 80240CB0 24100001 */ addiu $s0, $zero, 1 +.L80240CB4: +/* ACEDF4 80240CB4 4600B021 */ cvt.d.s $f0, $f22 +/* ACEDF8 80240CB8 46200000 */ add.d $f0, $f0, $f0 +/* ACEDFC 80240CBC 3C014059 */ lui $at, 0x4059 +/* ACEE00 80240CC0 44811800 */ mtc1 $at, $f3 +/* ACEE04 80240CC4 44801000 */ mtc1 $zero, $f2 +/* ACEE08 80240CC8 3C018024 */ lui $at, 0x8024 +/* ACEE0C 80240CCC D4245F40 */ ldc1 $f4, 0x5f40($at) +/* ACEE10 80240CD0 46220003 */ div.d $f0, $f0, $f2 +/* ACEE14 80240CD4 46240000 */ add.d $f0, $f0, $f4 +/* ACEE18 80240CD8 C7A20020 */ lwc1 $f2, 0x20($sp) +/* ACEE1C 80240CDC C7A40024 */ lwc1 $f4, 0x24($sp) +/* ACEE20 80240CE0 44051000 */ mfc1 $a1, $f2 +/* ACEE24 80240CE4 44072000 */ mfc1 $a3, $f4 +/* ACEE28 80240CE8 46200020 */ cvt.s.d $f0, $f0 +/* ACEE2C 80240CEC E7A00010 */ swc1 $f0, 0x10($sp) +/* ACEE30 80240CF0 8E26003C */ lw $a2, 0x3c($s1) +/* ACEE34 80240CF4 0C0902AC */ jal func_80240AB0 +/* ACEE38 80240CF8 02C0202D */ daddu $a0, $s6, $zero +/* ACEE3C 80240CFC 02A0202D */ daddu $a0, $s5, $zero +/* ACEE40 80240D00 4406C000 */ mfc1 $a2, $f24 +/* ACEE44 80240D04 8E27000C */ lw $a3, 0xc($s1) +/* ACEE48 80240D08 C6200038 */ lwc1 $f0, 0x38($s1) +/* ACEE4C 80240D0C C6220040 */ lwc1 $f2, 0x40($s1) +/* ACEE50 80240D10 0280282D */ daddu $a1, $s4, $zero +/* ACEE54 80240D14 E7A00020 */ swc1 $f0, 0x20($sp) +/* ACEE58 80240D18 0C00A7E7 */ jal add_vec2D_polar +/* ACEE5C 80240D1C E7A20024 */ swc1 $f2, 0x24($sp) +/* ACEE60 80240D20 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* ACEE64 80240D24 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* ACEE68 80240D28 8E460028 */ lw $a2, 0x28($s2) +/* ACEE6C 80240D2C 0C00A7B5 */ jal dist2D +/* ACEE70 80240D30 8E470030 */ lw $a3, 0x30($s2) +/* ACEE74 80240D34 461A003E */ c.le.s $f0, $f26 +/* ACEE78 80240D38 00000000 */ nop +/* ACEE7C 80240D3C 45030001 */ bc1tl .L80240D44 +/* ACEE80 80240D40 36100010 */ ori $s0, $s0, 0x10 +.L80240D44: +/* ACEE84 80240D44 32020001 */ andi $v0, $s0, 1 +/* ACEE88 80240D48 10400026 */ beqz $v0, .L80240DE4 +/* ACEE8C 80240D4C 02E0202D */ daddu $a0, $s7, $zero +/* ACEE90 80240D50 C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACEE94 80240D54 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACEE98 80240D58 8E660028 */ lw $a2, 0x28($s3) +/* ACEE9C 80240D5C 8E670030 */ lw $a3, 0x30($s3) +/* ACEEA0 80240D60 C622003C */ lwc1 $f2, 0x3c($s1) +/* ACEEA4 80240D64 46006006 */ mov.s $f0, $f12 +/* ACEEA8 80240D68 46007106 */ mov.s $f4, $f14 +/* ACEEAC 80240D6C E7A00020 */ swc1 $f0, 0x20($sp) +/* ACEEB0 80240D70 E7A20028 */ swc1 $f2, 0x28($sp) +/* ACEEB4 80240D74 0C00A7B5 */ jal dist2D +/* ACEEB8 80240D78 E7A40024 */ swc1 $f4, 0x24($sp) +/* ACEEBC 80240D7C C62C0038 */ lwc1 $f12, 0x38($s1) +/* ACEEC0 80240D80 C62E0040 */ lwc1 $f14, 0x40($s1) +/* ACEEC4 80240D84 8E660028 */ lw $a2, 0x28($s3) +/* ACEEC8 80240D88 8E670030 */ lw $a3, 0x30($s3) +/* ACEECC 80240D8C 0C00A720 */ jal atan2 +/* ACEED0 80240D90 46000506 */ mov.s $f20, $f0 +/* ACEED4 80240D94 0000202D */ daddu $a0, $zero, $zero +/* ACEED8 80240D98 02A0282D */ daddu $a1, $s5, $zero +/* ACEEDC 80240D9C E7B40010 */ swc1 $f20, 0x10($sp) +/* ACEEE0 80240DA0 E7A00014 */ swc1 $f0, 0x14($sp) +/* ACEEE4 80240DA4 862200A6 */ lh $v0, 0xa6($s1) +/* ACEEE8 80240DA8 27A60028 */ addiu $a2, $sp, 0x28 +/* ACEEEC 80240DAC 44820000 */ mtc1 $v0, $f0 +/* ACEEF0 80240DB0 00000000 */ nop +/* ACEEF4 80240DB4 46800020 */ cvt.s.w $f0, $f0 +/* ACEEF8 80240DB8 E7A00018 */ swc1 $f0, 0x18($sp) +/* ACEEFC 80240DBC 862200A8 */ lh $v0, 0xa8($s1) +/* ACEF00 80240DC0 0280382D */ daddu $a3, $s4, $zero +/* ACEF04 80240DC4 44820000 */ mtc1 $v0, $f0 +/* ACEF08 80240DC8 00000000 */ nop +/* ACEF0C 80240DCC 46800020 */ cvt.s.w $f0, $f0 +/* ACEF10 80240DD0 0C0376B9 */ jal func_800DDAE4 +/* ACEF14 80240DD4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* ACEF18 80240DD8 54400001 */ bnel $v0, $zero, .L80240DE0 +/* ACEF1C 80240DDC 0000802D */ daddu $s0, $zero, $zero +.L80240DE0: +/* ACEF20 80240DE0 02E0202D */ daddu $a0, $s7, $zero +.L80240DE4: +/* ACEF24 80240DE4 03C0282D */ daddu $a1, $fp, $zero +/* ACEF28 80240DE8 0C0B2026 */ jal set_variable +/* ACEF2C 80240DEC 0200302D */ daddu $a2, $s0, $zero +/* ACEF30 80240DF0 8FBF0054 */ lw $ra, 0x54($sp) +/* ACEF34 80240DF4 8FBE0050 */ lw $fp, 0x50($sp) +/* ACEF38 80240DF8 8FB7004C */ lw $s7, 0x4c($sp) +/* ACEF3C 80240DFC 8FB60048 */ lw $s6, 0x48($sp) +/* ACEF40 80240E00 8FB50044 */ lw $s5, 0x44($sp) +/* ACEF44 80240E04 8FB40040 */ lw $s4, 0x40($sp) +/* ACEF48 80240E08 8FB3003C */ lw $s3, 0x3c($sp) +/* ACEF4C 80240E0C 8FB20038 */ lw $s2, 0x38($sp) +/* ACEF50 80240E10 8FB10034 */ lw $s1, 0x34($sp) +/* ACEF54 80240E14 8FB00030 */ lw $s0, 0x30($sp) +/* ACEF58 80240E18 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* ACEF5C 80240E1C D7B80068 */ ldc1 $f24, 0x68($sp) +/* ACEF60 80240E20 D7B60060 */ ldc1 $f22, 0x60($sp) +/* ACEF64 80240E24 D7B40058 */ ldc1 $f20, 0x58($sp) +/* ACEF68 80240E28 24020002 */ addiu $v0, $zero, 2 +/* ACEF6C 80240E2C 03E00008 */ jr $ra +/* ACEF70 80240E30 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240E34_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240E34_ACE140.s new file mode 100644 index 0000000000..c5252c1b3c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240E34_ACE140.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E34_ACEF74 +/* ACEF74 80240E34 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* ACEF78 80240E38 AFB10014 */ sw $s1, 0x14($sp) +/* ACEF7C 80240E3C 0080882D */ daddu $s1, $a0, $zero +/* ACEF80 80240E40 AFBF0024 */ sw $ra, 0x24($sp) +/* ACEF84 80240E44 AFB40020 */ sw $s4, 0x20($sp) +/* ACEF88 80240E48 AFB3001C */ sw $s3, 0x1c($sp) +/* ACEF8C 80240E4C AFB20018 */ sw $s2, 0x18($sp) +/* ACEF90 80240E50 AFB00010 */ sw $s0, 0x10($sp) +/* ACEF94 80240E54 8E30000C */ lw $s0, 0xc($s1) +/* ACEF98 80240E58 8E140000 */ lw $s4, ($s0) +/* ACEF9C 80240E5C 26100004 */ addiu $s0, $s0, 4 +/* ACEFA0 80240E60 8E050000 */ lw $a1, ($s0) +/* ACEFA4 80240E64 0C0B1EAF */ jal get_variable +/* ACEFA8 80240E68 26100004 */ addiu $s0, $s0, 4 +/* ACEFAC 80240E6C 8E050000 */ lw $a1, ($s0) +/* ACEFB0 80240E70 26100004 */ addiu $s0, $s0, 4 +/* ACEFB4 80240E74 0220202D */ daddu $a0, $s1, $zero +/* ACEFB8 80240E78 0C0B1EAF */ jal get_variable +/* ACEFBC 80240E7C 0040982D */ daddu $s3, $v0, $zero +/* ACEFC0 80240E80 8E050000 */ lw $a1, ($s0) +/* ACEFC4 80240E84 26100004 */ addiu $s0, $s0, 4 +/* ACEFC8 80240E88 0220202D */ daddu $a0, $s1, $zero +/* ACEFCC 80240E8C 0C0B1EAF */ jal get_variable +/* ACEFD0 80240E90 0040902D */ daddu $s2, $v0, $zero +/* ACEFD4 80240E94 0220202D */ daddu $a0, $s1, $zero +/* ACEFD8 80240E98 8E050000 */ lw $a1, ($s0) +/* ACEFDC 80240E9C 0C0B1EAF */ jal get_variable +/* ACEFE0 80240EA0 0040802D */ daddu $s0, $v0, $zero +/* ACEFE4 80240EA4 44901000 */ mtc1 $s0, $f2 +/* ACEFE8 80240EA8 00000000 */ nop +/* ACEFEC 80240EAC 468010A0 */ cvt.s.w $f2, $f2 +/* ACEFF0 80240EB0 44936000 */ mtc1 $s3, $f12 +/* ACEFF4 80240EB4 00000000 */ nop +/* ACEFF8 80240EB8 46806320 */ cvt.s.w $f12, $f12 +/* ACEFFC 80240EBC 44061000 */ mfc1 $a2, $f2 +/* ACF000 80240EC0 44821000 */ mtc1 $v0, $f2 +/* ACF004 80240EC4 00000000 */ nop +/* ACF008 80240EC8 468010A0 */ cvt.s.w $f2, $f2 +/* ACF00C 80240ECC 44071000 */ mfc1 $a3, $f2 +/* ACF010 80240ED0 44927000 */ mtc1 $s2, $f14 +/* ACF014 80240ED4 00000000 */ nop +/* ACF018 80240ED8 0C00A720 */ jal atan2 +/* ACF01C 80240EDC 468073A0 */ cvt.s.w $f14, $f14 +/* ACF020 80240EE0 0220202D */ daddu $a0, $s1, $zero +/* ACF024 80240EE4 4600008D */ trunc.w.s $f2, $f0 +/* ACF028 80240EE8 44061000 */ mfc1 $a2, $f2 +/* ACF02C 80240EEC 0C0B2026 */ jal set_variable +/* ACF030 80240EF0 0280282D */ daddu $a1, $s4, $zero +/* ACF034 80240EF4 8FBF0024 */ lw $ra, 0x24($sp) +/* ACF038 80240EF8 8FB40020 */ lw $s4, 0x20($sp) +/* ACF03C 80240EFC 8FB3001C */ lw $s3, 0x1c($sp) +/* ACF040 80240F00 8FB20018 */ lw $s2, 0x18($sp) +/* ACF044 80240F04 8FB10014 */ lw $s1, 0x14($sp) +/* ACF048 80240F08 8FB00010 */ lw $s0, 0x10($sp) +/* ACF04C 80240F0C 24020002 */ addiu $v0, $zero, 2 +/* ACF050 80240F10 03E00008 */ jr $ra +/* ACF054 80240F14 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F18_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F18_ACE140.s new file mode 100644 index 0000000000..175d6c8e95 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F18_ACE140.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F18_ACF058 +/* ACF058 80240F18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ACF05C 80240F1C AFBF0010 */ sw $ra, 0x10($sp) +/* ACF060 80240F20 8C82000C */ lw $v0, 0xc($a0) +/* ACF064 80240F24 3C068011 */ lui $a2, 0x8011 +/* ACF068 80240F28 80C6EFD4 */ lb $a2, -0x102c($a2) +/* ACF06C 80240F2C 0C0B2026 */ jal set_variable +/* ACF070 80240F30 8C450000 */ lw $a1, ($v0) +/* ACF074 80240F34 8FBF0010 */ lw $ra, 0x10($sp) +/* ACF078 80240F38 24020002 */ addiu $v0, $zero, 2 +/* ACF07C 80240F3C 03E00008 */ jr $ra +/* ACF080 80240F40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F44_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F44_ACE140.s new file mode 100644 index 0000000000..302ab94bc5 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F44_ACE140.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F44_ACF084 +/* ACF084 80240F44 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ACF088 80240F48 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ACF08C 80240F4C 9062007E */ lbu $v0, 0x7e($v1) +/* ACF090 80240F50 34420008 */ ori $v0, $v0, 8 +/* ACF094 80240F54 A062007E */ sb $v0, 0x7e($v1) +/* ACF098 80240F58 03E00008 */ jr $ra +/* ACF09C 80240F5C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F60_ACE140.s b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F60_ACE140.s new file mode 100644 index 0000000000..1db34a3b1e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_11/func_80240F60_ACE140.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F60_ACF0A0 +/* ACF0A0 80240F60 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* ACF0A4 80240F64 AFB3001C */ sw $s3, 0x1c($sp) +/* ACF0A8 80240F68 0080982D */ daddu $s3, $a0, $zero +/* ACF0AC 80240F6C AFBF0030 */ sw $ra, 0x30($sp) +/* ACF0B0 80240F70 AFB7002C */ sw $s7, 0x2c($sp) +/* ACF0B4 80240F74 AFB60028 */ sw $s6, 0x28($sp) +/* ACF0B8 80240F78 AFB50024 */ sw $s5, 0x24($sp) +/* ACF0BC 80240F7C AFB40020 */ sw $s4, 0x20($sp) +/* ACF0C0 80240F80 AFB20018 */ sw $s2, 0x18($sp) +/* ACF0C4 80240F84 AFB10014 */ sw $s1, 0x14($sp) +/* ACF0C8 80240F88 AFB00010 */ sw $s0, 0x10($sp) +/* ACF0CC 80240F8C F7B80048 */ sdc1 $f24, 0x48($sp) +/* ACF0D0 80240F90 F7B60040 */ sdc1 $f22, 0x40($sp) +/* ACF0D4 80240F94 F7B40038 */ sdc1 $f20, 0x38($sp) +/* ACF0D8 80240F98 8E70000C */ lw $s0, 0xc($s3) +/* ACF0DC 80240F9C 8E050000 */ lw $a1, ($s0) +/* ACF0E0 80240FA0 0C0B1EAF */ jal get_variable +/* ACF0E4 80240FA4 26100004 */ addiu $s0, $s0, 4 +/* ACF0E8 80240FA8 8E150000 */ lw $s5, ($s0) +/* ACF0EC 80240FAC 26100004 */ addiu $s0, $s0, 4 +/* ACF0F0 80240FB0 0260202D */ daddu $a0, $s3, $zero +/* ACF0F4 80240FB4 8E160000 */ lw $s6, ($s0) +/* ACF0F8 80240FB8 8E170004 */ lw $s7, 4($s0) +/* ACF0FC 80240FBC 0C0B36B0 */ jal resolve_npc +/* ACF100 80240FC0 0040282D */ daddu $a1, $v0, $zero +/* ACF104 80240FC4 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* ACF108 80240FC8 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* ACF10C 80240FCC 0040802D */ daddu $s0, $v0, $zero +/* ACF110 80240FD0 1200002F */ beqz $s0, .L80241090 +/* ACF114 80240FD4 0220902D */ daddu $s2, $s1, $zero +/* ACF118 80240FD8 C62C0028 */ lwc1 $f12, 0x28($s1) +/* ACF11C 80240FDC C62E0030 */ lwc1 $f14, 0x30($s1) +/* ACF120 80240FE0 8E060038 */ lw $a2, 0x38($s0) +/* ACF124 80240FE4 8E070040 */ lw $a3, 0x40($s0) +/* ACF128 80240FE8 3C0142C8 */ lui $at, 0x42c8 +/* ACF12C 80240FEC 4481C000 */ mtc1 $at, $f24 +/* ACF130 80240FF0 0C00A7B5 */ jal dist2D +/* ACF134 80240FF4 24140001 */ addiu $s4, $zero, 1 +/* ACF138 80240FF8 4618003C */ c.lt.s $f0, $f24 +/* ACF13C 80240FFC 00000000 */ nop +/* ACF140 80241000 45030001 */ bc1tl .L80241008 +/* ACF144 80241004 0000A02D */ daddu $s4, $zero, $zero +.L80241008: +/* ACF148 80241008 C64C0028 */ lwc1 $f12, 0x28($s2) +/* ACF14C 8024100C C64E0030 */ lwc1 $f14, 0x30($s2) +/* ACF150 80241010 8E060038 */ lw $a2, 0x38($s0) +/* ACF154 80241014 0C00A720 */ jal atan2 +/* ACF158 80241018 8E070040 */ lw $a3, 0x40($s0) +/* ACF15C 8024101C 0C00A6C9 */ jal clamp_angle +/* ACF160 80241020 46000306 */ mov.s $f12, $f0 +/* ACF164 80241024 46000506 */ mov.s $f20, $f0 +/* ACF168 80241028 0C00A8BB */ jal sin_deg +/* ACF16C 8024102C 4600A306 */ mov.s $f12, $f20 +/* ACF170 80241030 46180002 */ mul.s $f0, $f0, $f24 +/* ACF174 80241034 00000000 */ nop +/* ACF178 80241038 C6560028 */ lwc1 $f22, 0x28($s2) +/* ACF17C 8024103C 4600B580 */ add.s $f22, $f22, $f0 +/* ACF180 80241040 0C00A8D4 */ jal cos_deg +/* ACF184 80241044 4600A306 */ mov.s $f12, $f20 +/* ACF188 80241048 46180002 */ mul.s $f0, $f0, $f24 +/* ACF18C 8024104C 00000000 */ nop +/* ACF190 80241050 0260202D */ daddu $a0, $s3, $zero +/* ACF194 80241054 02A0282D */ daddu $a1, $s5, $zero +/* ACF198 80241058 C6540030 */ lwc1 $f20, 0x30($s2) +/* ACF19C 8024105C 0280302D */ daddu $a2, $s4, $zero +/* ACF1A0 80241060 0C0B2026 */ jal set_variable +/* ACF1A4 80241064 4600A501 */ sub.s $f20, $f20, $f0 +/* ACF1A8 80241068 0260202D */ daddu $a0, $s3, $zero +/* ACF1AC 8024106C 4600B08D */ trunc.w.s $f2, $f22 +/* ACF1B0 80241070 44061000 */ mfc1 $a2, $f2 +/* ACF1B4 80241074 0C0B2026 */ jal set_variable +/* ACF1B8 80241078 02C0282D */ daddu $a1, $s6, $zero +/* ACF1BC 8024107C 0260202D */ daddu $a0, $s3, $zero +/* ACF1C0 80241080 4600A08D */ trunc.w.s $f2, $f20 +/* ACF1C4 80241084 44061000 */ mfc1 $a2, $f2 +/* ACF1C8 80241088 0C0B2026 */ jal set_variable +/* ACF1CC 8024108C 02E0282D */ daddu $a1, $s7, $zero +.L80241090: +/* ACF1D0 80241090 24020002 */ addiu $v0, $zero, 2 +/* ACF1D4 80241094 8FBF0030 */ lw $ra, 0x30($sp) +/* ACF1D8 80241098 8FB7002C */ lw $s7, 0x2c($sp) +/* ACF1DC 8024109C 8FB60028 */ lw $s6, 0x28($sp) +/* ACF1E0 802410A0 8FB50024 */ lw $s5, 0x24($sp) +/* ACF1E4 802410A4 8FB40020 */ lw $s4, 0x20($sp) +/* ACF1E8 802410A8 8FB3001C */ lw $s3, 0x1c($sp) +/* ACF1EC 802410AC 8FB20018 */ lw $s2, 0x18($sp) +/* ACF1F0 802410B0 8FB10014 */ lw $s1, 0x14($sp) +/* ACF1F4 802410B4 8FB00010 */ lw $s0, 0x10($sp) +/* ACF1F8 802410B8 D7B80048 */ ldc1 $f24, 0x48($sp) +/* ACF1FC 802410BC D7B60040 */ ldc1 $f22, 0x40($sp) +/* ACF200 802410C0 D7B40038 */ ldc1 $f20, 0x38($sp) +/* ACF204 802410C4 03E00008 */ jr $ra +/* ACF208 802410C8 27BD0050 */ addiu $sp, $sp, 0x50 +/* ACF20C 802410CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240000_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240000_AD4090.s new file mode 100644 index 0000000000..0c59922f0c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240000_AD4090.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AD4090 +/* AD4090 80240000 0000202D */ daddu $a0, $zero, $zero +/* AD4094 80240004 3C058015 */ lui $a1, %hi(D_80151328) +/* AD4098 80240008 24A51328 */ addiu $a1, $a1, %lo(D_80151328) +/* AD409C 8024000C 0080182D */ daddu $v1, $a0, $zero +.L80240010: +/* AD40A0 80240010 8CA20000 */ lw $v0, ($a1) +/* AD40A4 80240014 24840001 */ addiu $a0, $a0, 1 +/* AD40A8 80240018 00431021 */ addu $v0, $v0, $v1 +/* AD40AC 8024001C A0400004 */ sb $zero, 4($v0) +/* AD40B0 80240020 28820002 */ slti $v0, $a0, 2 +/* AD40B4 80240024 1440FFFA */ bnez $v0, .L80240010 +/* AD40B8 80240028 24630018 */ addiu $v1, $v1, 0x18 +/* AD40BC 8024002C 03E00008 */ jr $ra +/* AD40C0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240034_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240034_AD4090.s new file mode 100644 index 0000000000..11f07f8482 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240034_AD4090.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_AD40C4 +/* AD40C4 80240034 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD40C8 80240038 AFBF0010 */ sw $ra, 0x10($sp) +/* AD40CC 8024003C 8C82000C */ lw $v0, 0xc($a0) +/* AD40D0 80240040 0C0B210B */ jal get_float_variable +/* AD40D4 80240044 8C450000 */ lw $a1, ($v0) +/* AD40D8 80240048 8FBF0010 */ lw $ra, 0x10($sp) +/* AD40DC 8024004C 4600008D */ trunc.w.s $f2, $f0 +/* AD40E0 80240050 44021000 */ mfc1 $v0, $f2 +/* AD40E4 80240054 00000000 */ nop +/* AD40E8 80240058 3C018011 */ lui $at, 0x8011 +/* AD40EC 8024005C A022EFD5 */ sb $v0, -0x102b($at) +/* AD40F0 80240060 24020002 */ addiu $v0, $zero, 2 +/* AD40F4 80240064 03E00008 */ jr $ra +/* AD40F8 80240068 27BD0018 */ addiu $sp, $sp, 0x18 +/* AD40FC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240070_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240070_AD4090.s new file mode 100644 index 0000000000..b19281eef7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240070_AD4090.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_AD4100 +/* AD4100 80240070 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* AD4104 80240074 AFB3003C */ sw $s3, 0x3c($sp) +/* AD4108 80240078 0080982D */ daddu $s3, $a0, $zero +/* AD410C 8024007C AFBF0044 */ sw $ra, 0x44($sp) +/* AD4110 80240080 AFB40040 */ sw $s4, 0x40($sp) +/* AD4114 80240084 AFB20038 */ sw $s2, 0x38($sp) +/* AD4118 80240088 AFB10034 */ sw $s1, 0x34($sp) +/* AD411C 8024008C AFB00030 */ sw $s0, 0x30($sp) +/* AD4120 80240090 F7B80058 */ sdc1 $f24, 0x58($sp) +/* AD4124 80240094 F7B60050 */ sdc1 $f22, 0x50($sp) +/* AD4128 80240098 F7B40048 */ sdc1 $f20, 0x48($sp) +/* AD412C 8024009C 8E620148 */ lw $v0, 0x148($s3) +/* AD4130 802400A0 0C00EABB */ jal get_npc_unsafe +/* AD4134 802400A4 84440008 */ lh $a0, 8($v0) +/* AD4138 802400A8 27A40020 */ addiu $a0, $sp, 0x20 +/* AD413C 802400AC 27A50024 */ addiu $a1, $sp, 0x24 +/* AD4140 802400B0 0040802D */ daddu $s0, $v0, $zero +/* AD4144 802400B4 8E63000C */ lw $v1, 0xc($s3) +/* AD4148 802400B8 8E07000C */ lw $a3, 0xc($s0) +/* AD414C 802400BC C6000038 */ lwc1 $f0, 0x38($s0) +/* AD4150 802400C0 C6020040 */ lwc1 $f2, 0x40($s0) +/* AD4154 802400C4 8C740000 */ lw $s4, ($v1) +/* AD4158 802400C8 24630004 */ addiu $v1, $v1, 4 +/* AD415C 802400CC C4780000 */ lwc1 $f24, ($v1) +/* AD4160 802400D0 4680C620 */ cvt.s.w $f24, $f24 +/* AD4164 802400D4 24630004 */ addiu $v1, $v1, 4 +/* AD4168 802400D8 C4740000 */ lwc1 $f20, ($v1) +/* AD416C 802400DC 4680A520 */ cvt.s.w $f20, $f20 +/* AD4170 802400E0 4406A000 */ mfc1 $a2, $f20 +/* AD4174 802400E4 C4760004 */ lwc1 $f22, 4($v1) +/* AD4178 802400E8 4680B5A0 */ cvt.s.w $f22, $f22 +/* AD417C 802400EC E7A00020 */ swc1 $f0, 0x20($sp) +/* AD4180 802400F0 0C00A7E7 */ jal add_vec2D_polar +/* AD4184 802400F4 E7A20024 */ swc1 $f2, 0x24($sp) +/* AD4188 802400F8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AD418C 802400FC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AD4190 80240100 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AD4194 80240104 4480A000 */ mtc1 $zero, $f20 +/* AD4198 80240108 8E460028 */ lw $a2, 0x28($s2) +/* AD419C 8024010C 4407A000 */ mfc1 $a3, $f20 +/* AD41A0 80240110 0C00A7B5 */ jal dist2D +/* AD41A4 80240114 4600A386 */ mov.s $f14, $f20 +/* AD41A8 80240118 4600A306 */ mov.s $f12, $f20 +/* AD41AC 8024011C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AD41B0 80240120 44066000 */ mfc1 $a2, $f12 +/* AD41B4 80240124 8E470030 */ lw $a3, 0x30($s2) +/* AD41B8 80240128 0C00A7B5 */ jal dist2D +/* AD41BC 8024012C 46000506 */ mov.s $f20, $f0 +/* AD41C0 80240130 C604000C */ lwc1 $f4, 0xc($s0) +/* AD41C4 80240134 3C018024 */ lui $at, 0x8024 +/* AD41C8 80240138 D4221E20 */ ldc1 $f2, 0x1e20($at) +/* AD41CC 8024013C 46002121 */ cvt.d.s $f4, $f4 +/* AD41D0 80240140 46222032 */ c.eq.d $f4, $f2 +/* AD41D4 80240144 00000000 */ nop +/* AD41D8 80240148 45010007 */ bc1t .L80240168 +/* AD41DC 8024014C 46000086 */ mov.s $f2, $f0 +/* AD41E0 80240150 3C018024 */ lui $at, 0x8024 +/* AD41E4 80240154 D4201E28 */ ldc1 $f0, 0x1e28($at) +/* AD41E8 80240158 46202032 */ c.eq.d $f4, $f0 +/* AD41EC 8024015C 00000000 */ nop +/* AD41F0 80240160 45000008 */ bc1f .L80240184 +/* AD41F4 80240164 00000000 */ nop +.L80240168: +/* AD41F8 80240168 4618A03E */ c.le.s $f20, $f24 +/* AD41FC 8024016C 00000000 */ nop +/* AD4200 80240170 4500000C */ bc1f .L802401A4 +/* AD4204 80240174 0000882D */ daddu $s1, $zero, $zero +/* AD4208 80240178 4616103E */ c.le.s $f2, $f22 +/* AD420C 8024017C 08090067 */ j .L8024019C +/* AD4210 80240180 00000000 */ nop +.L80240184: +/* AD4214 80240184 4618103E */ c.le.s $f2, $f24 +/* AD4218 80240188 00000000 */ nop +/* AD421C 8024018C 45000005 */ bc1f .L802401A4 +/* AD4220 80240190 0000882D */ daddu $s1, $zero, $zero +/* AD4224 80240194 4616A03E */ c.le.s $f20, $f22 +/* AD4228 80240198 00000000 */ nop +.L8024019C: +/* AD422C 8024019C 45030001 */ bc1tl .L802401A4 +/* AD4230 802401A0 24110001 */ addiu $s1, $zero, 1 +.L802401A4: +/* AD4234 802401A4 12200027 */ beqz $s1, .L80240244 +/* AD4238 802401A8 0260202D */ daddu $a0, $s3, $zero +/* AD423C 802401AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* AD4240 802401B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AD4244 802401B4 8E460028 */ lw $a2, 0x28($s2) +/* AD4248 802401B8 8E470030 */ lw $a3, 0x30($s2) +/* AD424C 802401BC C602003C */ lwc1 $f2, 0x3c($s0) +/* AD4250 802401C0 46006006 */ mov.s $f0, $f12 +/* AD4254 802401C4 46007106 */ mov.s $f4, $f14 +/* AD4258 802401C8 E7A00020 */ swc1 $f0, 0x20($sp) +/* AD425C 802401CC E7A20028 */ swc1 $f2, 0x28($sp) +/* AD4260 802401D0 0C00A7B5 */ jal dist2D +/* AD4264 802401D4 E7A40024 */ swc1 $f4, 0x24($sp) +/* AD4268 802401D8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* AD426C 802401DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* AD4270 802401E0 8E460028 */ lw $a2, 0x28($s2) +/* AD4274 802401E4 8E470030 */ lw $a3, 0x30($s2) +/* AD4278 802401E8 0C00A720 */ jal atan2 +/* AD427C 802401EC 46000506 */ mov.s $f20, $f0 +/* AD4280 802401F0 3C040007 */ lui $a0, 7 +/* AD4284 802401F4 34848000 */ ori $a0, $a0, 0x8000 +/* AD4288 802401F8 27A50020 */ addiu $a1, $sp, 0x20 +/* AD428C 802401FC E7B40010 */ swc1 $f20, 0x10($sp) +/* AD4290 80240200 E7A00014 */ swc1 $f0, 0x14($sp) +/* AD4294 80240204 860200A6 */ lh $v0, 0xa6($s0) +/* AD4298 80240208 27A60028 */ addiu $a2, $sp, 0x28 +/* AD429C 8024020C 44820000 */ mtc1 $v0, $f0 +/* AD42A0 80240210 00000000 */ nop +/* AD42A4 80240214 46800020 */ cvt.s.w $f0, $f0 +/* AD42A8 80240218 E7A00018 */ swc1 $f0, 0x18($sp) +/* AD42AC 8024021C 860200A8 */ lh $v0, 0xa8($s0) +/* AD42B0 80240220 27A70024 */ addiu $a3, $sp, 0x24 +/* AD42B4 80240224 44820000 */ mtc1 $v0, $f0 +/* AD42B8 80240228 00000000 */ nop +/* AD42BC 8024022C 46800020 */ cvt.s.w $f0, $f0 +/* AD42C0 80240230 0C0376B9 */ jal func_800DDAE4 +/* AD42C4 80240234 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AD42C8 80240238 54400001 */ bnel $v0, $zero, .L80240240 +/* AD42CC 8024023C 0000882D */ daddu $s1, $zero, $zero +.L80240240: +/* AD42D0 80240240 0260202D */ daddu $a0, $s3, $zero +.L80240244: +/* AD42D4 80240244 0280282D */ daddu $a1, $s4, $zero +/* AD42D8 80240248 0C0B2026 */ jal set_variable +/* AD42DC 8024024C 0220302D */ daddu $a2, $s1, $zero +/* AD42E0 80240250 8FBF0044 */ lw $ra, 0x44($sp) +/* AD42E4 80240254 8FB40040 */ lw $s4, 0x40($sp) +/* AD42E8 80240258 8FB3003C */ lw $s3, 0x3c($sp) +/* AD42EC 8024025C 8FB20038 */ lw $s2, 0x38($sp) +/* AD42F0 80240260 8FB10034 */ lw $s1, 0x34($sp) +/* AD42F4 80240264 8FB00030 */ lw $s0, 0x30($sp) +/* AD42F8 80240268 D7B80058 */ ldc1 $f24, 0x58($sp) +/* AD42FC 8024026C D7B60050 */ ldc1 $f22, 0x50($sp) +/* AD4300 80240270 D7B40048 */ ldc1 $f20, 0x48($sp) +/* AD4304 80240274 24020002 */ addiu $v0, $zero, 2 +/* AD4308 80240278 03E00008 */ jr $ra +/* AD430C 8024027C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240280_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240280_AD4090.s new file mode 100644 index 0000000000..b6886b410c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240280_AD4090.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_AD4310 +/* AD4310 80240280 27BDFF80 */ addiu $sp, $sp, -0x80 +/* AD4314 80240284 F7B40060 */ sdc1 $f20, 0x60($sp) +/* AD4318 80240288 4485A000 */ mtc1 $a1, $f20 +/* AD431C 8024028C F7B60068 */ sdc1 $f22, 0x68($sp) +/* AD4320 80240290 4486B000 */ mtc1 $a2, $f22 +/* AD4324 80240294 F7B80070 */ sdc1 $f24, 0x70($sp) +/* AD4328 80240298 4487C000 */ mtc1 $a3, $f24 +/* AD432C 8024029C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* AD4330 802402A0 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* AD4334 802402A4 AFBF0058 */ sw $ra, 0x58($sp) +/* AD4338 802402A8 AFB10054 */ sw $s1, 0x54($sp) +/* AD433C 802402AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* AD4340 802402B0 AFB00050 */ sw $s0, 0x50($sp) +/* AD4344 802402B4 0C046B4C */ jal get_model_from_list_index +/* AD4348 802402B8 0040202D */ daddu $a0, $v0, $zero +/* AD434C 802402BC 0040802D */ daddu $s0, $v0, $zero +/* AD4350 802402C0 26110058 */ addiu $s1, $s0, 0x58 +/* AD4354 802402C4 4405A000 */ mfc1 $a1, $f20 +/* AD4358 802402C8 4406B000 */ mfc1 $a2, $f22 +/* AD435C 802402CC 4407C000 */ mfc1 $a3, $f24 +/* AD4360 802402D0 0C019E40 */ jal guTranslateF +/* AD4364 802402D4 0220202D */ daddu $a0, $s1, $zero +/* AD4368 802402D8 27A40010 */ addiu $a0, $sp, 0x10 +/* AD436C 802402DC 4405D000 */ mfc1 $a1, $f26 +/* AD4370 802402E0 3C063F80 */ lui $a2, 0x3f80 +/* AD4374 802402E4 0C019DF0 */ jal guScaleF +/* AD4378 802402E8 00A0382D */ daddu $a3, $a1, $zero +/* AD437C 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* AD4380 802402F0 0220282D */ daddu $a1, $s1, $zero +/* AD4384 802402F4 0C019D80 */ jal guMtxCatF +/* AD4388 802402F8 00A0302D */ daddu $a2, $a1, $zero +/* AD438C 802402FC 96020000 */ lhu $v0, ($s0) +/* AD4390 80240300 34421400 */ ori $v0, $v0, 0x1400 +/* AD4394 80240304 A6020000 */ sh $v0, ($s0) +/* AD4398 80240308 8FBF0058 */ lw $ra, 0x58($sp) +/* AD439C 8024030C 8FB10054 */ lw $s1, 0x54($sp) +/* AD43A0 80240310 8FB00050 */ lw $s0, 0x50($sp) +/* AD43A4 80240314 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* AD43A8 80240318 D7B80070 */ ldc1 $f24, 0x70($sp) +/* AD43AC 8024031C D7B60068 */ ldc1 $f22, 0x68($sp) +/* AD43B0 80240320 D7B40060 */ ldc1 $f20, 0x60($sp) +/* AD43B4 80240324 03E00008 */ jr $ra +/* AD43B8 80240328 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_8024032C_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_8024032C_AD4090.s new file mode 100644 index 0000000000..3dd298650d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_8024032C_AD4090.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_AD43BC +/* AD43BC 8024032C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* AD43C0 80240330 AFB7004C */ sw $s7, 0x4c($sp) +/* AD43C4 80240334 0080B82D */ daddu $s7, $a0, $zero +/* AD43C8 80240338 AFBF0054 */ sw $ra, 0x54($sp) +/* AD43CC 8024033C AFBE0050 */ sw $fp, 0x50($sp) +/* AD43D0 80240340 AFB60048 */ sw $s6, 0x48($sp) +/* AD43D4 80240344 AFB50044 */ sw $s5, 0x44($sp) +/* AD43D8 80240348 AFB40040 */ sw $s4, 0x40($sp) +/* AD43DC 8024034C AFB3003C */ sw $s3, 0x3c($sp) +/* AD43E0 80240350 AFB20038 */ sw $s2, 0x38($sp) +/* AD43E4 80240354 AFB10034 */ sw $s1, 0x34($sp) +/* AD43E8 80240358 AFB00030 */ sw $s0, 0x30($sp) +/* AD43EC 8024035C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* AD43F0 80240360 F7B80068 */ sdc1 $f24, 0x68($sp) +/* AD43F4 80240364 F7B60060 */ sdc1 $f22, 0x60($sp) +/* AD43F8 80240368 F7B40058 */ sdc1 $f20, 0x58($sp) +/* AD43FC 8024036C 8EE20148 */ lw $v0, 0x148($s7) +/* AD4400 80240370 0C00EABB */ jal get_npc_unsafe +/* AD4404 80240374 84440008 */ lh $a0, 8($v0) +/* AD4408 80240378 27B50020 */ addiu $s5, $sp, 0x20 +/* AD440C 8024037C 02A0202D */ daddu $a0, $s5, $zero +/* AD4410 80240380 0040882D */ daddu $s1, $v0, $zero +/* AD4414 80240384 27B40024 */ addiu $s4, $sp, 0x24 +/* AD4418 80240388 8EE3000C */ lw $v1, 0xc($s7) +/* AD441C 8024038C 3C0641F0 */ lui $a2, 0x41f0 +/* AD4420 80240390 8E27000C */ lw $a3, 0xc($s1) +/* AD4424 80240394 C6200038 */ lwc1 $f0, 0x38($s1) +/* AD4428 80240398 C6220040 */ lwc1 $f2, 0x40($s1) +/* AD442C 8024039C 8C7E0000 */ lw $fp, ($v1) +/* AD4430 802403A0 24630004 */ addiu $v1, $v1, 4 +/* AD4434 802403A4 C4740000 */ lwc1 $f20, ($v1) +/* AD4438 802403A8 4680A520 */ cvt.s.w $f20, $f20 +/* AD443C 802403AC 24630004 */ addiu $v1, $v1, 4 +/* AD4440 802403B0 C4760000 */ lwc1 $f22, ($v1) +/* AD4444 802403B4 4680B5A0 */ cvt.s.w $f22, $f22 +/* AD4448 802403B8 24630004 */ addiu $v1, $v1, 4 +/* AD444C 802403BC C4780000 */ lwc1 $f24, ($v1) +/* AD4450 802403C0 4680C620 */ cvt.s.w $f24, $f24 +/* AD4454 802403C4 24630004 */ addiu $v1, $v1, 4 +/* AD4458 802403C8 C47A0000 */ lwc1 $f26, ($v1) +/* AD445C 802403CC 4680D6A0 */ cvt.s.w $f26, $f26 +/* AD4460 802403D0 24630004 */ addiu $v1, $v1, 4 +/* AD4464 802403D4 8C760000 */ lw $s6, ($v1) +/* AD4468 802403D8 8C700004 */ lw $s0, 4($v1) +/* AD446C 802403DC 0280282D */ daddu $a1, $s4, $zero +/* AD4470 802403E0 E7A00020 */ swc1 $f0, 0x20($sp) +/* AD4474 802403E4 0C00A7E7 */ jal add_vec2D_polar +/* AD4478 802403E8 E7A20024 */ swc1 $f2, 0x24($sp) +/* AD447C 802403EC 3C038015 */ lui $v1, %hi(D_80151328) +/* AD4480 802403F0 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* AD4484 802403F4 C7A00020 */ lwc1 $f0, 0x20($sp) +/* AD4488 802403F8 3C0141A0 */ lui $at, 0x41a0 +/* AD448C 802403FC 44811000 */ mtc1 $at, $f2 +/* AD4490 80240400 00101040 */ sll $v0, $s0, 1 +/* AD4494 80240404 00501021 */ addu $v0, $v0, $s0 +/* AD4498 80240408 000210C0 */ sll $v0, $v0, 3 +/* AD449C 8024040C 24420004 */ addiu $v0, $v0, 4 +/* AD44A0 80240410 00621821 */ addu $v1, $v1, $v0 +/* AD44A4 80240414 E4600004 */ swc1 $f0, 4($v1) +/* AD44A8 80240418 C620003C */ lwc1 $f0, 0x3c($s1) +/* AD44AC 8024041C 4406A000 */ mfc1 $a2, $f20 +/* AD44B0 80240420 46020000 */ add.s $f0, $f0, $f2 +/* AD44B4 80240424 C7A20024 */ lwc1 $f2, 0x24($sp) +/* AD44B8 80240428 02A0202D */ daddu $a0, $s5, $zero +/* AD44BC 8024042C E462000C */ swc1 $f2, 0xc($v1) +/* AD44C0 80240430 E4600008 */ swc1 $f0, 8($v1) +/* AD44C4 80240434 8E27000C */ lw $a3, 0xc($s1) +/* AD44C8 80240438 C6200038 */ lwc1 $f0, 0x38($s1) +/* AD44CC 8024043C C6220040 */ lwc1 $f2, 0x40($s1) +/* AD44D0 80240440 0280282D */ daddu $a1, $s4, $zero +/* AD44D4 80240444 E7A00020 */ swc1 $f0, 0x20($sp) +/* AD44D8 80240448 0C00A7E7 */ jal add_vec2D_polar +/* AD44DC 8024044C E7A20024 */ swc1 $f2, 0x24($sp) +/* AD44E0 80240450 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AD44E4 80240454 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AD44E8 80240458 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AD44EC 8024045C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AD44F0 80240460 8E460028 */ lw $a2, 0x28($s2) +/* AD44F4 80240464 8E470030 */ lw $a3, 0x30($s2) +/* AD44F8 80240468 0C00A7B5 */ jal dist2D +/* AD44FC 8024046C 0000802D */ daddu $s0, $zero, $zero +/* AD4500 80240470 4616003E */ c.le.s $f0, $f22 +/* AD4504 80240474 00000000 */ nop +/* AD4508 80240478 45000002 */ bc1f .L80240484 +/* AD450C 8024047C 0240982D */ daddu $s3, $s2, $zero +/* AD4510 80240480 24100001 */ addiu $s0, $zero, 1 +.L80240484: +/* AD4514 80240484 4600B021 */ cvt.d.s $f0, $f22 +/* AD4518 80240488 46200000 */ add.d $f0, $f0, $f0 +/* AD451C 8024048C 3C014059 */ lui $at, 0x4059 +/* AD4520 80240490 44811800 */ mtc1 $at, $f3 +/* AD4524 80240494 44801000 */ mtc1 $zero, $f2 +/* AD4528 80240498 3C018024 */ lui $at, 0x8024 +/* AD452C 8024049C D4241E30 */ ldc1 $f4, 0x1e30($at) +/* AD4530 802404A0 46220003 */ div.d $f0, $f0, $f2 +/* AD4534 802404A4 46240000 */ add.d $f0, $f0, $f4 +/* AD4538 802404A8 C7A20020 */ lwc1 $f2, 0x20($sp) +/* AD453C 802404AC C7A40024 */ lwc1 $f4, 0x24($sp) +/* AD4540 802404B0 44051000 */ mfc1 $a1, $f2 +/* AD4544 802404B4 44072000 */ mfc1 $a3, $f4 +/* AD4548 802404B8 46200020 */ cvt.s.d $f0, $f0 +/* AD454C 802404BC E7A00010 */ swc1 $f0, 0x10($sp) +/* AD4550 802404C0 8E26003C */ lw $a2, 0x3c($s1) +/* AD4554 802404C4 0C0900A0 */ jal func_80240280 +/* AD4558 802404C8 02C0202D */ daddu $a0, $s6, $zero +/* AD455C 802404CC 02A0202D */ daddu $a0, $s5, $zero +/* AD4560 802404D0 4406C000 */ mfc1 $a2, $f24 +/* AD4564 802404D4 8E27000C */ lw $a3, 0xc($s1) +/* AD4568 802404D8 C6200038 */ lwc1 $f0, 0x38($s1) +/* AD456C 802404DC C6220040 */ lwc1 $f2, 0x40($s1) +/* AD4570 802404E0 0280282D */ daddu $a1, $s4, $zero +/* AD4574 802404E4 E7A00020 */ swc1 $f0, 0x20($sp) +/* AD4578 802404E8 0C00A7E7 */ jal add_vec2D_polar +/* AD457C 802404EC E7A20024 */ swc1 $f2, 0x24($sp) +/* AD4580 802404F0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AD4584 802404F4 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AD4588 802404F8 8E460028 */ lw $a2, 0x28($s2) +/* AD458C 802404FC 0C00A7B5 */ jal dist2D +/* AD4590 80240500 8E470030 */ lw $a3, 0x30($s2) +/* AD4594 80240504 461A003E */ c.le.s $f0, $f26 +/* AD4598 80240508 00000000 */ nop +/* AD459C 8024050C 45030001 */ bc1tl .L80240514 +/* AD45A0 80240510 36100010 */ ori $s0, $s0, 0x10 +.L80240514: +/* AD45A4 80240514 32020001 */ andi $v0, $s0, 1 +/* AD45A8 80240518 10400026 */ beqz $v0, .L802405B4 +/* AD45AC 8024051C 02E0202D */ daddu $a0, $s7, $zero +/* AD45B0 80240520 C62C0038 */ lwc1 $f12, 0x38($s1) +/* AD45B4 80240524 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AD45B8 80240528 8E660028 */ lw $a2, 0x28($s3) +/* AD45BC 8024052C 8E670030 */ lw $a3, 0x30($s3) +/* AD45C0 80240530 C622003C */ lwc1 $f2, 0x3c($s1) +/* AD45C4 80240534 46006006 */ mov.s $f0, $f12 +/* AD45C8 80240538 46007106 */ mov.s $f4, $f14 +/* AD45CC 8024053C E7A00020 */ swc1 $f0, 0x20($sp) +/* AD45D0 80240540 E7A20028 */ swc1 $f2, 0x28($sp) +/* AD45D4 80240544 0C00A7B5 */ jal dist2D +/* AD45D8 80240548 E7A40024 */ swc1 $f4, 0x24($sp) +/* AD45DC 8024054C C62C0038 */ lwc1 $f12, 0x38($s1) +/* AD45E0 80240550 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AD45E4 80240554 8E660028 */ lw $a2, 0x28($s3) +/* AD45E8 80240558 8E670030 */ lw $a3, 0x30($s3) +/* AD45EC 8024055C 0C00A720 */ jal atan2 +/* AD45F0 80240560 46000506 */ mov.s $f20, $f0 +/* AD45F4 80240564 0000202D */ daddu $a0, $zero, $zero +/* AD45F8 80240568 02A0282D */ daddu $a1, $s5, $zero +/* AD45FC 8024056C E7B40010 */ swc1 $f20, 0x10($sp) +/* AD4600 80240570 E7A00014 */ swc1 $f0, 0x14($sp) +/* AD4604 80240574 862200A6 */ lh $v0, 0xa6($s1) +/* AD4608 80240578 27A60028 */ addiu $a2, $sp, 0x28 +/* AD460C 8024057C 44820000 */ mtc1 $v0, $f0 +/* AD4610 80240580 00000000 */ nop +/* AD4614 80240584 46800020 */ cvt.s.w $f0, $f0 +/* AD4618 80240588 E7A00018 */ swc1 $f0, 0x18($sp) +/* AD461C 8024058C 862200A8 */ lh $v0, 0xa8($s1) +/* AD4620 80240590 0280382D */ daddu $a3, $s4, $zero +/* AD4624 80240594 44820000 */ mtc1 $v0, $f0 +/* AD4628 80240598 00000000 */ nop +/* AD462C 8024059C 46800020 */ cvt.s.w $f0, $f0 +/* AD4630 802405A0 0C0376B9 */ jal func_800DDAE4 +/* AD4634 802405A4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AD4638 802405A8 54400001 */ bnel $v0, $zero, .L802405B0 +/* AD463C 802405AC 0000802D */ daddu $s0, $zero, $zero +.L802405B0: +/* AD4640 802405B0 02E0202D */ daddu $a0, $s7, $zero +.L802405B4: +/* AD4644 802405B4 03C0282D */ daddu $a1, $fp, $zero +/* AD4648 802405B8 0C0B2026 */ jal set_variable +/* AD464C 802405BC 0200302D */ daddu $a2, $s0, $zero +/* AD4650 802405C0 8FBF0054 */ lw $ra, 0x54($sp) +/* AD4654 802405C4 8FBE0050 */ lw $fp, 0x50($sp) +/* AD4658 802405C8 8FB7004C */ lw $s7, 0x4c($sp) +/* AD465C 802405CC 8FB60048 */ lw $s6, 0x48($sp) +/* AD4660 802405D0 8FB50044 */ lw $s5, 0x44($sp) +/* AD4664 802405D4 8FB40040 */ lw $s4, 0x40($sp) +/* AD4668 802405D8 8FB3003C */ lw $s3, 0x3c($sp) +/* AD466C 802405DC 8FB20038 */ lw $s2, 0x38($sp) +/* AD4670 802405E0 8FB10034 */ lw $s1, 0x34($sp) +/* AD4674 802405E4 8FB00030 */ lw $s0, 0x30($sp) +/* AD4678 802405E8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* AD467C 802405EC D7B80068 */ ldc1 $f24, 0x68($sp) +/* AD4680 802405F0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* AD4684 802405F4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* AD4688 802405F8 24020002 */ addiu $v0, $zero, 2 +/* AD468C 802405FC 03E00008 */ jr $ra +/* AD4690 80240600 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240604_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240604_AD4090.s new file mode 100644 index 0000000000..a08b1e3a71 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240604_AD4090.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240604_AD4694 +/* AD4694 80240604 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AD4698 80240608 AFB10014 */ sw $s1, 0x14($sp) +/* AD469C 8024060C 0080882D */ daddu $s1, $a0, $zero +/* AD46A0 80240610 AFBF0024 */ sw $ra, 0x24($sp) +/* AD46A4 80240614 AFB40020 */ sw $s4, 0x20($sp) +/* AD46A8 80240618 AFB3001C */ sw $s3, 0x1c($sp) +/* AD46AC 8024061C AFB20018 */ sw $s2, 0x18($sp) +/* AD46B0 80240620 AFB00010 */ sw $s0, 0x10($sp) +/* AD46B4 80240624 8E30000C */ lw $s0, 0xc($s1) +/* AD46B8 80240628 8E140000 */ lw $s4, ($s0) +/* AD46BC 8024062C 26100004 */ addiu $s0, $s0, 4 +/* AD46C0 80240630 8E050000 */ lw $a1, ($s0) +/* AD46C4 80240634 0C0B1EAF */ jal get_variable +/* AD46C8 80240638 26100004 */ addiu $s0, $s0, 4 +/* AD46CC 8024063C 8E050000 */ lw $a1, ($s0) +/* AD46D0 80240640 26100004 */ addiu $s0, $s0, 4 +/* AD46D4 80240644 0220202D */ daddu $a0, $s1, $zero +/* AD46D8 80240648 0C0B1EAF */ jal get_variable +/* AD46DC 8024064C 0040982D */ daddu $s3, $v0, $zero +/* AD46E0 80240650 8E050000 */ lw $a1, ($s0) +/* AD46E4 80240654 26100004 */ addiu $s0, $s0, 4 +/* AD46E8 80240658 0220202D */ daddu $a0, $s1, $zero +/* AD46EC 8024065C 0C0B1EAF */ jal get_variable +/* AD46F0 80240660 0040902D */ daddu $s2, $v0, $zero +/* AD46F4 80240664 0220202D */ daddu $a0, $s1, $zero +/* AD46F8 80240668 8E050000 */ lw $a1, ($s0) +/* AD46FC 8024066C 0C0B1EAF */ jal get_variable +/* AD4700 80240670 0040802D */ daddu $s0, $v0, $zero +/* AD4704 80240674 44901000 */ mtc1 $s0, $f2 +/* AD4708 80240678 00000000 */ nop +/* AD470C 8024067C 468010A0 */ cvt.s.w $f2, $f2 +/* AD4710 80240680 44936000 */ mtc1 $s3, $f12 +/* AD4714 80240684 00000000 */ nop +/* AD4718 80240688 46806320 */ cvt.s.w $f12, $f12 +/* AD471C 8024068C 44061000 */ mfc1 $a2, $f2 +/* AD4720 80240690 44821000 */ mtc1 $v0, $f2 +/* AD4724 80240694 00000000 */ nop +/* AD4728 80240698 468010A0 */ cvt.s.w $f2, $f2 +/* AD472C 8024069C 44071000 */ mfc1 $a3, $f2 +/* AD4730 802406A0 44927000 */ mtc1 $s2, $f14 +/* AD4734 802406A4 00000000 */ nop +/* AD4738 802406A8 0C00A720 */ jal atan2 +/* AD473C 802406AC 468073A0 */ cvt.s.w $f14, $f14 +/* AD4740 802406B0 0220202D */ daddu $a0, $s1, $zero +/* AD4744 802406B4 4600008D */ trunc.w.s $f2, $f0 +/* AD4748 802406B8 44061000 */ mfc1 $a2, $f2 +/* AD474C 802406BC 0C0B2026 */ jal set_variable +/* AD4750 802406C0 0280282D */ daddu $a1, $s4, $zero +/* AD4754 802406C4 8FBF0024 */ lw $ra, 0x24($sp) +/* AD4758 802406C8 8FB40020 */ lw $s4, 0x20($sp) +/* AD475C 802406CC 8FB3001C */ lw $s3, 0x1c($sp) +/* AD4760 802406D0 8FB20018 */ lw $s2, 0x18($sp) +/* AD4764 802406D4 8FB10014 */ lw $s1, 0x14($sp) +/* AD4768 802406D8 8FB00010 */ lw $s0, 0x10($sp) +/* AD476C 802406DC 24020002 */ addiu $v0, $zero, 2 +/* AD4770 802406E0 03E00008 */ jr $ra +/* AD4774 802406E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_802406E8_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_802406E8_AD4090.s new file mode 100644 index 0000000000..cb509ba3dc --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_802406E8_AD4090.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E8_AD4778 +/* AD4778 802406E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD477C 802406EC AFBF0010 */ sw $ra, 0x10($sp) +/* AD4780 802406F0 8C82000C */ lw $v0, 0xc($a0) +/* AD4784 802406F4 3C068011 */ lui $a2, 0x8011 +/* AD4788 802406F8 80C6EFD4 */ lb $a2, -0x102c($a2) +/* AD478C 802406FC 0C0B2026 */ jal set_variable +/* AD4790 80240700 8C450000 */ lw $a1, ($v0) +/* AD4794 80240704 8FBF0010 */ lw $ra, 0x10($sp) +/* AD4798 80240708 24020002 */ addiu $v0, $zero, 2 +/* AD479C 8024070C 03E00008 */ jr $ra +/* AD47A0 80240710 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240714_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240714_AD4090.s new file mode 100644 index 0000000000..85e330ad04 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240714_AD4090.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240714_AD47A4 +/* AD47A4 80240714 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AD47A8 80240718 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AD47AC 8024071C 9062007E */ lbu $v0, 0x7e($v1) +/* AD47B0 80240720 34420008 */ ori $v0, $v0, 8 +/* AD47B4 80240724 A062007E */ sb $v0, 0x7e($v1) +/* AD47B8 80240728 03E00008 */ jr $ra +/* AD47BC 8024072C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_80240730_AD4090.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240730_AD4090.s new file mode 100644 index 0000000000..7d7e177f84 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_80240730_AD4090.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_AD47C0 +/* AD47C0 80240730 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AD47C4 80240734 AFB3001C */ sw $s3, 0x1c($sp) +/* AD47C8 80240738 0080982D */ daddu $s3, $a0, $zero +/* AD47CC 8024073C AFBF0030 */ sw $ra, 0x30($sp) +/* AD47D0 80240740 AFB7002C */ sw $s7, 0x2c($sp) +/* AD47D4 80240744 AFB60028 */ sw $s6, 0x28($sp) +/* AD47D8 80240748 AFB50024 */ sw $s5, 0x24($sp) +/* AD47DC 8024074C AFB40020 */ sw $s4, 0x20($sp) +/* AD47E0 80240750 AFB20018 */ sw $s2, 0x18($sp) +/* AD47E4 80240754 AFB10014 */ sw $s1, 0x14($sp) +/* AD47E8 80240758 AFB00010 */ sw $s0, 0x10($sp) +/* AD47EC 8024075C F7B80048 */ sdc1 $f24, 0x48($sp) +/* AD47F0 80240760 F7B60040 */ sdc1 $f22, 0x40($sp) +/* AD47F4 80240764 F7B40038 */ sdc1 $f20, 0x38($sp) +/* AD47F8 80240768 8E70000C */ lw $s0, 0xc($s3) +/* AD47FC 8024076C 8E050000 */ lw $a1, ($s0) +/* AD4800 80240770 0C0B1EAF */ jal get_variable +/* AD4804 80240774 26100004 */ addiu $s0, $s0, 4 +/* AD4808 80240778 8E150000 */ lw $s5, ($s0) +/* AD480C 8024077C 26100004 */ addiu $s0, $s0, 4 +/* AD4810 80240780 0260202D */ daddu $a0, $s3, $zero +/* AD4814 80240784 8E160000 */ lw $s6, ($s0) +/* AD4818 80240788 8E170004 */ lw $s7, 4($s0) +/* AD481C 8024078C 0C0B36B0 */ jal resolve_npc +/* AD4820 80240790 0040282D */ daddu $a1, $v0, $zero +/* AD4824 80240794 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* AD4828 80240798 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* AD482C 8024079C 0040802D */ daddu $s0, $v0, $zero +/* AD4830 802407A0 1200002F */ beqz $s0, .L80240860 +/* AD4834 802407A4 0220902D */ daddu $s2, $s1, $zero +/* AD4838 802407A8 C62C0028 */ lwc1 $f12, 0x28($s1) +/* AD483C 802407AC C62E0030 */ lwc1 $f14, 0x30($s1) +/* AD4840 802407B0 8E060038 */ lw $a2, 0x38($s0) +/* AD4844 802407B4 8E070040 */ lw $a3, 0x40($s0) +/* AD4848 802407B8 3C0142C8 */ lui $at, 0x42c8 +/* AD484C 802407BC 4481C000 */ mtc1 $at, $f24 +/* AD4850 802407C0 0C00A7B5 */ jal dist2D +/* AD4854 802407C4 24140001 */ addiu $s4, $zero, 1 +/* AD4858 802407C8 4618003C */ c.lt.s $f0, $f24 +/* AD485C 802407CC 00000000 */ nop +/* AD4860 802407D0 45030001 */ bc1tl .L802407D8 +/* AD4864 802407D4 0000A02D */ daddu $s4, $zero, $zero +.L802407D8: +/* AD4868 802407D8 C64C0028 */ lwc1 $f12, 0x28($s2) +/* AD486C 802407DC C64E0030 */ lwc1 $f14, 0x30($s2) +/* AD4870 802407E0 8E060038 */ lw $a2, 0x38($s0) +/* AD4874 802407E4 0C00A720 */ jal atan2 +/* AD4878 802407E8 8E070040 */ lw $a3, 0x40($s0) +/* AD487C 802407EC 0C00A6C9 */ jal clamp_angle +/* AD4880 802407F0 46000306 */ mov.s $f12, $f0 +/* AD4884 802407F4 46000506 */ mov.s $f20, $f0 +/* AD4888 802407F8 0C00A8BB */ jal sin_deg +/* AD488C 802407FC 4600A306 */ mov.s $f12, $f20 +/* AD4890 80240800 46180002 */ mul.s $f0, $f0, $f24 +/* AD4894 80240804 00000000 */ nop +/* AD4898 80240808 C6560028 */ lwc1 $f22, 0x28($s2) +/* AD489C 8024080C 4600B580 */ add.s $f22, $f22, $f0 +/* AD48A0 80240810 0C00A8D4 */ jal cos_deg +/* AD48A4 80240814 4600A306 */ mov.s $f12, $f20 +/* AD48A8 80240818 46180002 */ mul.s $f0, $f0, $f24 +/* AD48AC 8024081C 00000000 */ nop +/* AD48B0 80240820 0260202D */ daddu $a0, $s3, $zero +/* AD48B4 80240824 02A0282D */ daddu $a1, $s5, $zero +/* AD48B8 80240828 C6540030 */ lwc1 $f20, 0x30($s2) +/* AD48BC 8024082C 0280302D */ daddu $a2, $s4, $zero +/* AD48C0 80240830 0C0B2026 */ jal set_variable +/* AD48C4 80240834 4600A501 */ sub.s $f20, $f20, $f0 +/* AD48C8 80240838 0260202D */ daddu $a0, $s3, $zero +/* AD48CC 8024083C 4600B08D */ trunc.w.s $f2, $f22 +/* AD48D0 80240840 44061000 */ mfc1 $a2, $f2 +/* AD48D4 80240844 0C0B2026 */ jal set_variable +/* AD48D8 80240848 02C0282D */ daddu $a1, $s6, $zero +/* AD48DC 8024084C 0260202D */ daddu $a0, $s3, $zero +/* AD48E0 80240850 4600A08D */ trunc.w.s $f2, $f20 +/* AD48E4 80240854 44061000 */ mfc1 $a2, $f2 +/* AD48E8 80240858 0C0B2026 */ jal set_variable +/* AD48EC 8024085C 02E0282D */ daddu $a1, $s7, $zero +.L80240860: +/* AD48F0 80240860 24020002 */ addiu $v0, $zero, 2 +/* AD48F4 80240864 8FBF0030 */ lw $ra, 0x30($sp) +/* AD48F8 80240868 8FB7002C */ lw $s7, 0x2c($sp) +/* AD48FC 8024086C 8FB60028 */ lw $s6, 0x28($sp) +/* AD4900 80240870 8FB50024 */ lw $s5, 0x24($sp) +/* AD4904 80240874 8FB40020 */ lw $s4, 0x20($sp) +/* AD4908 80240878 8FB3001C */ lw $s3, 0x1c($sp) +/* AD490C 8024087C 8FB20018 */ lw $s2, 0x18($sp) +/* AD4910 80240880 8FB10014 */ lw $s1, 0x14($sp) +/* AD4914 80240884 8FB00010 */ lw $s0, 0x10($sp) +/* AD4918 80240888 D7B80048 */ ldc1 $f24, 0x48($sp) +/* AD491C 8024088C D7B60040 */ ldc1 $f22, 0x40($sp) +/* AD4920 80240890 D7B40038 */ ldc1 $f20, 0x38($sp) +/* AD4924 80240894 03E00008 */ jr $ra +/* AD4928 80240898 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kkj/kkj_12/func_8024089C.s b/asm/nonmatchings/world/area_kkj/kkj_12/func_8024089C.s new file mode 100644 index 0000000000..1adc2ffd6f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_12/func_8024089C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024089C +/* AD492C 8024089C 3C028015 */ lui $v0, %hi(D_80151328) +/* AD4930 802408A0 8C421328 */ lw $v0, %lo(D_80151328)($v0) +/* AD4934 802408A4 A040001C */ sb $zero, 0x1c($v0) +/* AD4938 802408A8 03E00008 */ jr $ra +/* AD493C 802408AC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_80240000_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240000_AD5ED0.s new file mode 100644 index 0000000000..b68e3fb78d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240000_AD5ED0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AD5ED0 +/* AD5ED0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AD5ED4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AD5ED8 80240008 24020002 */ addiu $v0, $zero, 2 +/* AD5EDC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* AD5EE0 80240010 03E00008 */ jr $ra +/* AD5EE4 80240014 0000102D */ daddu $v0, $zero, $zero +/* AD5EE8 80240018 00000000 */ nop +/* AD5EEC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_80240020_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240020_AD5ED0.s new file mode 100644 index 0000000000..f65a8a225b --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240020_AD5ED0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_AD5EF0 +/* AD5EF0 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD5EF4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* AD5EF8 80240028 0080802D */ daddu $s0, $a0, $zero +/* AD5EFC 8024002C AFBF0014 */ sw $ra, 0x14($sp) +/* AD5F00 80240030 8E0300A8 */ lw $v1, 0xa8($s0) +/* AD5F04 80240034 8E020088 */ lw $v0, 0x88($s0) +/* AD5F08 80240038 00621821 */ addu $v1, $v1, $v0 +/* AD5F0C 8024003C 04610004 */ bgez $v1, .L80240050 +/* AD5F10 80240040 AE0300A8 */ sw $v1, 0xa8($s0) +/* AD5F14 80240044 3C020002 */ lui $v0, 2 +/* AD5F18 80240048 08090018 */ j .L80240060 +/* AD5F1C 8024004C 00621021 */ addu $v0, $v1, $v0 +.L80240050: +/* AD5F20 80240050 3C040002 */ lui $a0, 2 +/* AD5F24 80240054 0083102A */ slt $v0, $a0, $v1 +/* AD5F28 80240058 10400002 */ beqz $v0, .L80240064 +/* AD5F2C 8024005C 00641023 */ subu $v0, $v1, $a0 +.L80240060: +/* AD5F30 80240060 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240064: +/* AD5F34 80240064 8E0300AC */ lw $v1, 0xac($s0) +/* AD5F38 80240068 8E02008C */ lw $v0, 0x8c($s0) +/* AD5F3C 8024006C 00621821 */ addu $v1, $v1, $v0 +/* AD5F40 80240070 04610004 */ bgez $v1, .L80240084 +/* AD5F44 80240074 AE0300AC */ sw $v1, 0xac($s0) +/* AD5F48 80240078 3C020002 */ lui $v0, 2 +/* AD5F4C 8024007C 08090025 */ j .L80240094 +/* AD5F50 80240080 00621021 */ addu $v0, $v1, $v0 +.L80240084: +/* AD5F54 80240084 3C040002 */ lui $a0, 2 +/* AD5F58 80240088 0083102A */ slt $v0, $a0, $v1 +/* AD5F5C 8024008C 10400002 */ beqz $v0, .L80240098 +/* AD5F60 80240090 00641023 */ subu $v0, $v1, $a0 +.L80240094: +/* AD5F64 80240094 AE0200AC */ sw $v0, 0xac($s0) +.L80240098: +/* AD5F68 80240098 8E0300B0 */ lw $v1, 0xb0($s0) +/* AD5F6C 8024009C 8E020090 */ lw $v0, 0x90($s0) +/* AD5F70 802400A0 00621821 */ addu $v1, $v1, $v0 +/* AD5F74 802400A4 04610004 */ bgez $v1, .L802400B8 +/* AD5F78 802400A8 AE0300B0 */ sw $v1, 0xb0($s0) +/* AD5F7C 802400AC 3C020002 */ lui $v0, 2 +/* AD5F80 802400B0 08090032 */ j .L802400C8 +/* AD5F84 802400B4 00621021 */ addu $v0, $v1, $v0 +.L802400B8: +/* AD5F88 802400B8 3C040002 */ lui $a0, 2 +/* AD5F8C 802400BC 0083102A */ slt $v0, $a0, $v1 +/* AD5F90 802400C0 10400002 */ beqz $v0, .L802400CC +/* AD5F94 802400C4 00641023 */ subu $v0, $v1, $a0 +.L802400C8: +/* AD5F98 802400C8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400CC: +/* AD5F9C 802400CC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AD5FA0 802400D0 8E020094 */ lw $v0, 0x94($s0) +/* AD5FA4 802400D4 00621821 */ addu $v1, $v1, $v0 +/* AD5FA8 802400D8 04610004 */ bgez $v1, .L802400EC +/* AD5FAC 802400DC AE0300B4 */ sw $v1, 0xb4($s0) +/* AD5FB0 802400E0 3C020002 */ lui $v0, 2 +/* AD5FB4 802400E4 0809003F */ j .L802400FC +/* AD5FB8 802400E8 00621021 */ addu $v0, $v1, $v0 +.L802400EC: +/* AD5FBC 802400EC 3C040002 */ lui $a0, 2 +/* AD5FC0 802400F0 0083102A */ slt $v0, $a0, $v1 +/* AD5FC4 802400F4 10400002 */ beqz $v0, .L80240100 +/* AD5FC8 802400F8 00641023 */ subu $v0, $v1, $a0 +.L802400FC: +/* AD5FCC 802400FC AE0200B4 */ sw $v0, 0xb4($s0) +.L80240100: +/* AD5FD0 80240100 8E040084 */ lw $a0, 0x84($s0) +/* AD5FD4 80240104 0C046F07 */ jal set_main_pan_u +/* AD5FD8 80240108 8E0500A8 */ lw $a1, 0xa8($s0) +/* AD5FDC 8024010C 8E040084 */ lw $a0, 0x84($s0) +/* AD5FE0 80240110 0C046F0D */ jal set_main_pan_v +/* AD5FE4 80240114 8E0500AC */ lw $a1, 0xac($s0) +/* AD5FE8 80240118 8E040084 */ lw $a0, 0x84($s0) +/* AD5FEC 8024011C 0C046F13 */ jal set_aux_pan_u +/* AD5FF0 80240120 8E0500B0 */ lw $a1, 0xb0($s0) +/* AD5FF4 80240124 8E040084 */ lw $a0, 0x84($s0) +/* AD5FF8 80240128 0C046F19 */ jal set_aux_pan_v +/* AD5FFC 8024012C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AD6000 80240130 8FBF0014 */ lw $ra, 0x14($sp) +/* AD6004 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* AD6008 80240138 0000102D */ daddu $v0, $zero, $zero +/* AD600C 8024013C 03E00008 */ jr $ra +/* AD6010 80240140 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_80240144_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240144_AD5ED0.s new file mode 100644 index 0000000000..2035fbc8c7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240144_AD5ED0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240144_AD6014 +/* AD6014 80240144 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD6018 80240148 AFB00010 */ sw $s0, 0x10($sp) +/* AD601C 8024014C 0080802D */ daddu $s0, $a0, $zero +/* AD6020 80240150 10A00005 */ beqz $a1, .L80240168 +/* AD6024 80240154 AFBF0014 */ sw $ra, 0x14($sp) +/* AD6028 80240158 AE000070 */ sw $zero, 0x70($s0) +/* AD602C 8024015C AE000074 */ sw $zero, 0x74($s0) +/* AD6030 80240160 AE000078 */ sw $zero, 0x78($s0) +/* AD6034 80240164 AE00007C */ sw $zero, 0x7c($s0) +.L80240168: +/* AD6038 80240168 8E020070 */ lw $v0, 0x70($s0) +/* AD603C 8024016C 1440000E */ bnez $v0, .L802401A8 +/* AD6040 80240170 00000000 */ nop +/* AD6044 80240174 8E0300A8 */ lw $v1, 0xa8($s0) +/* AD6048 80240178 8E020088 */ lw $v0, 0x88($s0) +/* AD604C 8024017C 00621821 */ addu $v1, $v1, $v0 +/* AD6050 80240180 04610004 */ bgez $v1, .L80240194 +/* AD6054 80240184 AE0300A8 */ sw $v1, 0xa8($s0) +/* AD6058 80240188 3C020002 */ lui $v0, 2 +/* AD605C 8024018C 08090069 */ j .L802401A4 +/* AD6060 80240190 00621021 */ addu $v0, $v1, $v0 +.L80240194: +/* AD6064 80240194 3C040002 */ lui $a0, 2 +/* AD6068 80240198 0083102A */ slt $v0, $a0, $v1 +/* AD606C 8024019C 10400002 */ beqz $v0, .L802401A8 +/* AD6070 802401A0 00641023 */ subu $v0, $v1, $a0 +.L802401A4: +/* AD6074 802401A4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401A8: +/* AD6078 802401A8 8E020074 */ lw $v0, 0x74($s0) +/* AD607C 802401AC 1440000E */ bnez $v0, .L802401E8 +/* AD6080 802401B0 00000000 */ nop +/* AD6084 802401B4 8E0300AC */ lw $v1, 0xac($s0) +/* AD6088 802401B8 8E02008C */ lw $v0, 0x8c($s0) +/* AD608C 802401BC 00621821 */ addu $v1, $v1, $v0 +/* AD6090 802401C0 04610004 */ bgez $v1, .L802401D4 +/* AD6094 802401C4 AE0300AC */ sw $v1, 0xac($s0) +/* AD6098 802401C8 3C020002 */ lui $v0, 2 +/* AD609C 802401CC 08090079 */ j .L802401E4 +/* AD60A0 802401D0 00621021 */ addu $v0, $v1, $v0 +.L802401D4: +/* AD60A4 802401D4 3C040002 */ lui $a0, 2 +/* AD60A8 802401D8 0083102A */ slt $v0, $a0, $v1 +/* AD60AC 802401DC 10400002 */ beqz $v0, .L802401E8 +/* AD60B0 802401E0 00641023 */ subu $v0, $v1, $a0 +.L802401E4: +/* AD60B4 802401E4 AE0200AC */ sw $v0, 0xac($s0) +.L802401E8: +/* AD60B8 802401E8 8E020078 */ lw $v0, 0x78($s0) +/* AD60BC 802401EC 1440000E */ bnez $v0, .L80240228 +/* AD60C0 802401F0 00000000 */ nop +/* AD60C4 802401F4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AD60C8 802401F8 8E020090 */ lw $v0, 0x90($s0) +/* AD60CC 802401FC 00621821 */ addu $v1, $v1, $v0 +/* AD60D0 80240200 04610004 */ bgez $v1, .L80240214 +/* AD60D4 80240204 AE0300B0 */ sw $v1, 0xb0($s0) +/* AD60D8 80240208 3C020002 */ lui $v0, 2 +/* AD60DC 8024020C 08090089 */ j .L80240224 +/* AD60E0 80240210 00621021 */ addu $v0, $v1, $v0 +.L80240214: +/* AD60E4 80240214 3C040002 */ lui $a0, 2 +/* AD60E8 80240218 0083102A */ slt $v0, $a0, $v1 +/* AD60EC 8024021C 10400002 */ beqz $v0, .L80240228 +/* AD60F0 80240220 00641023 */ subu $v0, $v1, $a0 +.L80240224: +/* AD60F4 80240224 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240228: +/* AD60F8 80240228 8E02007C */ lw $v0, 0x7c($s0) +/* AD60FC 8024022C 1440000E */ bnez $v0, .L80240268 +/* AD6100 80240230 00000000 */ nop +/* AD6104 80240234 8E0300B4 */ lw $v1, 0xb4($s0) +/* AD6108 80240238 8E020094 */ lw $v0, 0x94($s0) +/* AD610C 8024023C 00621821 */ addu $v1, $v1, $v0 +/* AD6110 80240240 04610004 */ bgez $v1, .L80240254 +/* AD6114 80240244 AE0300B4 */ sw $v1, 0xb4($s0) +/* AD6118 80240248 3C020002 */ lui $v0, 2 +/* AD611C 8024024C 08090099 */ j .L80240264 +/* AD6120 80240250 00621021 */ addu $v0, $v1, $v0 +.L80240254: +/* AD6124 80240254 3C040002 */ lui $a0, 2 +/* AD6128 80240258 0083102A */ slt $v0, $a0, $v1 +/* AD612C 8024025C 10400002 */ beqz $v0, .L80240268 +/* AD6130 80240260 00641023 */ subu $v0, $v1, $a0 +.L80240264: +/* AD6134 80240264 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240268: +/* AD6138 80240268 8E040084 */ lw $a0, 0x84($s0) +/* AD613C 8024026C 0C046F07 */ jal set_main_pan_u +/* AD6140 80240270 8E0500A8 */ lw $a1, 0xa8($s0) +/* AD6144 80240274 8E040084 */ lw $a0, 0x84($s0) +/* AD6148 80240278 0C046F0D */ jal set_main_pan_v +/* AD614C 8024027C 8E0500AC */ lw $a1, 0xac($s0) +/* AD6150 80240280 8E040084 */ lw $a0, 0x84($s0) +/* AD6154 80240284 0C046F13 */ jal set_aux_pan_u +/* AD6158 80240288 8E0500B0 */ lw $a1, 0xb0($s0) +/* AD615C 8024028C 8E040084 */ lw $a0, 0x84($s0) +/* AD6160 80240290 0C046F19 */ jal set_aux_pan_v +/* AD6164 80240294 8E0500B4 */ lw $a1, 0xb4($s0) +/* AD6168 80240298 8E020070 */ lw $v0, 0x70($s0) +/* AD616C 8024029C 8E030078 */ lw $v1, 0x78($s0) +/* AD6170 802402A0 8E040098 */ lw $a0, 0x98($s0) +/* AD6174 802402A4 24420001 */ addiu $v0, $v0, 1 +/* AD6178 802402A8 AE020070 */ sw $v0, 0x70($s0) +/* AD617C 802402AC 8E020074 */ lw $v0, 0x74($s0) +/* AD6180 802402B0 24630001 */ addiu $v1, $v1, 1 +/* AD6184 802402B4 AE030078 */ sw $v1, 0x78($s0) +/* AD6188 802402B8 8E030070 */ lw $v1, 0x70($s0) +/* AD618C 802402BC 24420001 */ addiu $v0, $v0, 1 +/* AD6190 802402C0 AE020074 */ sw $v0, 0x74($s0) +/* AD6194 802402C4 8E02007C */ lw $v0, 0x7c($s0) +/* AD6198 802402C8 0064182A */ slt $v1, $v1, $a0 +/* AD619C 802402CC 24420001 */ addiu $v0, $v0, 1 +/* AD61A0 802402D0 14600002 */ bnez $v1, .L802402DC +/* AD61A4 802402D4 AE02007C */ sw $v0, 0x7c($s0) +/* AD61A8 802402D8 AE000070 */ sw $zero, 0x70($s0) +.L802402DC: +/* AD61AC 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* AD61B0 802402E0 8E03009C */ lw $v1, 0x9c($s0) +/* AD61B4 802402E4 0043102A */ slt $v0, $v0, $v1 +/* AD61B8 802402E8 50400001 */ beql $v0, $zero, .L802402F0 +/* AD61BC 802402EC AE000074 */ sw $zero, 0x74($s0) +.L802402F0: +/* AD61C0 802402F0 8E020078 */ lw $v0, 0x78($s0) +/* AD61C4 802402F4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AD61C8 802402F8 0043102A */ slt $v0, $v0, $v1 +/* AD61CC 802402FC 50400001 */ beql $v0, $zero, .L80240304 +/* AD61D0 80240300 AE000078 */ sw $zero, 0x78($s0) +.L80240304: +/* AD61D4 80240304 8E02007C */ lw $v0, 0x7c($s0) +/* AD61D8 80240308 8E0300A4 */ lw $v1, 0xa4($s0) +/* AD61DC 8024030C 0043102A */ slt $v0, $v0, $v1 +/* AD61E0 80240310 50400001 */ beql $v0, $zero, .L80240318 +/* AD61E4 80240314 AE00007C */ sw $zero, 0x7c($s0) +.L80240318: +/* AD61E8 80240318 8FBF0014 */ lw $ra, 0x14($sp) +/* AD61EC 8024031C 8FB00010 */ lw $s0, 0x10($sp) +/* AD61F0 80240320 0000102D */ daddu $v0, $zero, $zero +/* AD61F4 80240324 03E00008 */ jr $ra +/* AD61F8 80240328 27BD0018 */ addiu $sp, $sp, 0x18 +/* AD61FC 8024032C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_80240330_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240330_AD5ED0.s new file mode 100644 index 0000000000..9a7d7c18de --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240330_AD5ED0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240330_AD6200 +/* AD6200 80240330 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AD6204 80240334 AFB00018 */ sw $s0, 0x18($sp) +/* AD6208 80240338 0080802D */ daddu $s0, $a0, $zero +/* AD620C 8024033C AFBF001C */ sw $ra, 0x1c($sp) +/* AD6210 80240340 F7B40020 */ sdc1 $f20, 0x20($sp) +/* AD6214 80240344 0C00EAD2 */ jal get_npc_safe +/* AD6218 80240348 24040001 */ addiu $a0, $zero, 1 +/* AD621C 8024034C 2404023D */ addiu $a0, $zero, 0x23d +/* AD6220 80240350 C4420038 */ lwc1 $f2, 0x38($v0) +/* AD6224 80240354 C454003C */ lwc1 $f20, 0x3c($v0) +/* AD6228 80240358 C4400040 */ lwc1 $f0, 0x40($v0) +/* AD622C 8024035C 44061000 */ mfc1 $a2, $f2 +/* AD6230 80240360 4407A000 */ mfc1 $a3, $f20 +/* AD6234 80240364 0000282D */ daddu $a1, $zero, $zero +/* AD6238 80240368 0C05267B */ jal func_801499EC +/* AD623C 8024036C E7A00010 */ swc1 $f0, 0x10($sp) +/* AD6240 80240370 4600A10D */ trunc.w.s $f4, $f20 +/* AD6244 80240374 E6040084 */ swc1 $f4, 0x84($s0) +/* AD6248 80240378 8FBF001C */ lw $ra, 0x1c($sp) +/* AD624C 8024037C 8FB00018 */ lw $s0, 0x18($sp) +/* AD6250 80240380 D7B40020 */ ldc1 $f20, 0x20($sp) +/* AD6254 80240384 24020002 */ addiu $v0, $zero, 2 +/* AD6258 80240388 03E00008 */ jr $ra +/* AD625C 8024038C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_80240390_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240390_AD5ED0.s new file mode 100644 index 0000000000..15cf75d782 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_80240390_AD5ED0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240390_AD6260 +/* AD6260 80240390 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AD6264 80240394 AFB00018 */ sw $s0, 0x18($sp) +/* AD6268 80240398 0080802D */ daddu $s0, $a0, $zero +/* AD626C 8024039C AFBF001C */ sw $ra, 0x1c($sp) +/* AD6270 802403A0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* AD6274 802403A4 0C00EAD2 */ jal get_npc_safe +/* AD6278 802403A8 24040001 */ addiu $a0, $zero, 1 +/* AD627C 802403AC 2404023D */ addiu $a0, $zero, 0x23d +/* AD6280 802403B0 C4420038 */ lwc1 $f2, 0x38($v0) +/* AD6284 802403B4 C454003C */ lwc1 $f20, 0x3c($v0) +/* AD6288 802403B8 C4400040 */ lwc1 $f0, 0x40($v0) +/* AD628C 802403BC 44061000 */ mfc1 $a2, $f2 +/* AD6290 802403C0 4407A000 */ mfc1 $a3, $f20 +/* AD6294 802403C4 0000282D */ daddu $a1, $zero, $zero +/* AD6298 802403C8 0C05267B */ jal func_801499EC +/* AD629C 802403CC E7A00010 */ swc1 $f0, 0x10($sp) +/* AD62A0 802403D0 4600A10D */ trunc.w.s $f4, $f20 +/* AD62A4 802403D4 E6040084 */ swc1 $f4, 0x84($s0) +/* AD62A8 802403D8 8FBF001C */ lw $ra, 0x1c($sp) +/* AD62AC 802403DC 8FB00018 */ lw $s0, 0x18($sp) +/* AD62B0 802403E0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* AD62B4 802403E4 24020002 */ addiu $v0, $zero, 2 +/* AD62B8 802403E8 03E00008 */ jr $ra +/* AD62BC 802403EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_802403F0_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_802403F0_AD5ED0.s new file mode 100644 index 0000000000..9902add225 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_802403F0_AD5ED0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_AD62C0 +/* AD62C0 802403F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD62C4 802403F4 AFB00010 */ sw $s0, 0x10($sp) +/* AD62C8 802403F8 0080802D */ daddu $s0, $a0, $zero +/* AD62CC 802403FC 10A00002 */ beqz $a1, .L80240408 +/* AD62D0 80240400 AFBF0014 */ sw $ra, 0x14($sp) +/* AD62D4 80240404 AE000074 */ sw $zero, 0x74($s0) +.L80240408: +/* AD62D8 80240408 8E020074 */ lw $v0, 0x74($s0) +/* AD62DC 8024040C 24420040 */ addiu $v0, $v0, 0x40 +/* AD62E0 80240410 AE020074 */ sw $v0, 0x74($s0) +/* AD62E4 80240414 28420100 */ slti $v0, $v0, 0x100 +/* AD62E8 80240418 14400003 */ bnez $v0, .L80240428 +/* AD62EC 8024041C 0000202D */ daddu $a0, $zero, $zero +/* AD62F0 80240420 240200FF */ addiu $v0, $zero, 0xff +/* AD62F4 80240424 AE020074 */ sw $v0, 0x74($s0) +.L80240428: +/* AD62F8 80240428 240500A0 */ addiu $a1, $zero, 0xa0 +/* AD62FC 8024042C 00A0302D */ daddu $a2, $a1, $zero +/* AD6300 80240430 0C04DF84 */ jal func_80137E10 +/* AD6304 80240434 00A0382D */ daddu $a3, $a1, $zero +/* AD6308 80240438 C6000074 */ lwc1 $f0, 0x74($s0) +/* AD630C 8024043C 46800020 */ cvt.s.w $f0, $f0 +/* AD6310 80240440 44050000 */ mfc1 $a1, $f0 +/* AD6314 80240444 0C04DF62 */ jal func_80137D88 +/* AD6318 80240448 24040001 */ addiu $a0, $zero, 1 +/* AD631C 8024044C 8E020074 */ lw $v0, 0x74($s0) +/* AD6320 80240450 8FBF0014 */ lw $ra, 0x14($sp) +/* AD6324 80240454 8FB00010 */ lw $s0, 0x10($sp) +/* AD6328 80240458 384200FF */ xori $v0, $v0, 0xff +/* AD632C 8024045C 2C420001 */ sltiu $v0, $v0, 1 +/* AD6330 80240460 00021040 */ sll $v0, $v0, 1 +/* AD6334 80240464 03E00008 */ jr $ra +/* AD6338 80240468 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_8024046C_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_8024046C_AD5ED0.s new file mode 100644 index 0000000000..8de0fd50e4 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_8024046C_AD5ED0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024046C_AD633C +/* AD633C 8024046C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AD6340 80240470 AFB00010 */ sw $s0, 0x10($sp) +/* AD6344 80240474 0080802D */ daddu $s0, $a0, $zero +/* AD6348 80240478 10A00003 */ beqz $a1, .L80240488 +/* AD634C 8024047C AFBF0014 */ sw $ra, 0x14($sp) +/* AD6350 80240480 240200FF */ addiu $v0, $zero, 0xff +/* AD6354 80240484 AE020074 */ sw $v0, 0x74($s0) +.L80240488: +/* AD6358 80240488 8E020074 */ lw $v0, 0x74($s0) +/* AD635C 8024048C 2442FFC0 */ addiu $v0, $v0, -0x40 +/* AD6360 80240490 1C400002 */ bgtz $v0, .L8024049C +/* AD6364 80240494 AE020074 */ sw $v0, 0x74($s0) +/* AD6368 80240498 AE000074 */ sw $zero, 0x74($s0) +.L8024049C: +/* AD636C 8024049C 0000202D */ daddu $a0, $zero, $zero +/* AD6370 802404A0 240500A0 */ addiu $a1, $zero, 0xa0 +/* AD6374 802404A4 00A0302D */ daddu $a2, $a1, $zero +/* AD6378 802404A8 0C04DF84 */ jal func_80137E10 +/* AD637C 802404AC 00A0382D */ daddu $a3, $a1, $zero +/* AD6380 802404B0 C6000074 */ lwc1 $f0, 0x74($s0) +/* AD6384 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* AD6388 802404B8 44050000 */ mfc1 $a1, $f0 +/* AD638C 802404BC 0C04DF62 */ jal func_80137D88 +/* AD6390 802404C0 24040001 */ addiu $a0, $zero, 1 +/* AD6394 802404C4 8E020074 */ lw $v0, 0x74($s0) +/* AD6398 802404C8 8FBF0014 */ lw $ra, 0x14($sp) +/* AD639C 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* AD63A0 802404D0 2C420001 */ sltiu $v0, $v0, 1 +/* AD63A4 802404D4 00021040 */ sll $v0, $v0, 1 +/* AD63A8 802404D8 03E00008 */ jr $ra +/* AD63AC 802404DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_13/func_802404E0_AD5ED0.s b/asm/nonmatchings/world/area_kkj/kkj_13/func_802404E0_AD5ED0.s new file mode 100644 index 0000000000..3d6783fe83 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_13/func_802404E0_AD5ED0.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404E0_AD63B0 +/* AD63B0 802404E0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* AD63B4 802404E4 F7BC0050 */ sdc1 $f28, 0x50($sp) +/* AD63B8 802404E8 3C018024 */ lui $at, 0x8024 +/* AD63BC 802404EC D43C4FA0 */ ldc1 $f28, 0x4fa0($at) +/* AD63C0 802404F0 AFB20020 */ sw $s2, 0x20($sp) +/* AD63C4 802404F4 0000902D */ daddu $s2, $zero, $zero +/* AD63C8 802404F8 AFB30024 */ sw $s3, 0x24($sp) +/* AD63CC 802404FC 0240982D */ daddu $s3, $s2, $zero +/* AD63D0 80240500 AFB1001C */ sw $s1, 0x1c($sp) +/* AD63D4 80240504 3C118024 */ lui $s1, 0x8024 +/* AD63D8 80240508 26313614 */ addiu $s1, $s1, 0x3614 +/* AD63DC 8024050C AFBF0028 */ sw $ra, 0x28($sp) +/* AD63E0 80240510 AFB00018 */ sw $s0, 0x18($sp) +/* AD63E4 80240514 F7BA0048 */ sdc1 $f26, 0x48($sp) +/* AD63E8 80240518 F7B80040 */ sdc1 $f24, 0x40($sp) +/* AD63EC 8024051C F7B60038 */ sdc1 $f22, 0x38($sp) +/* AD63F0 80240520 F7B40030 */ sdc1 $f20, 0x30($sp) +.L80240524: +/* AD63F4 80240524 86220002 */ lh $v0, 2($s1) +/* AD63F8 80240528 32500001 */ andi $s0, $s2, 1 +/* AD63FC 8024052C 44826000 */ mtc1 $v0, $f12 +/* AD6400 80240530 00000000 */ nop +/* AD6404 80240534 46806320 */ cvt.s.w $f12, $f12 +/* AD6408 80240538 86220000 */ lh $v0, ($s1) +/* AD640C 8024053C 4482A000 */ mtc1 $v0, $f20 +/* AD6410 80240540 00000000 */ nop +/* AD6414 80240544 4680A520 */ cvt.s.w $f20, $f20 +/* AD6418 80240548 0C00A8D4 */ jal cos_deg +/* AD641C 8024054C 26100002 */ addiu $s0, $s0, 2 +/* AD6420 80240550 4600A002 */ mul.s $f0, $f20, $f0 +/* AD6424 80240554 00000000 */ nop +/* AD6428 80240558 3C018024 */ lui $at, 0x8024 +/* AD642C 8024055C D4224FA8 */ ldc1 $f2, 0x4fa8($at) +/* AD6430 80240560 46000021 */ cvt.d.s $f0, $f0 +/* AD6434 80240564 46220002 */ mul.d $f0, $f0, $f2 +/* AD6438 80240568 00000000 */ nop +/* AD643C 8024056C 86220002 */ lh $v0, 2($s1) +/* AD6440 80240570 44826000 */ mtc1 $v0, $f12 +/* AD6444 80240574 00000000 */ nop +/* AD6448 80240578 46806320 */ cvt.s.w $f12, $f12 +/* AD644C 8024057C 0C00A8BB */ jal sin_deg +/* AD6450 80240580 46200620 */ cvt.s.d $f24, $f0 +/* AD6454 80240584 4600A002 */ mul.s $f0, $f20, $f0 +/* AD6458 80240588 00000000 */ nop +/* AD645C 8024058C 3C013FF8 */ lui $at, 0x3ff8 +/* AD6460 80240590 44811800 */ mtc1 $at, $f3 +/* AD6464 80240594 44801000 */ mtc1 $zero, $f2 +/* AD6468 80240598 46000021 */ cvt.d.s $f0, $f0 +/* AD646C 8024059C 46220002 */ mul.d $f0, $f0, $f2 +/* AD6470 802405A0 00000000 */ nop +/* AD6474 802405A4 4600C0A1 */ cvt.d.s $f2, $f24 +/* AD6478 802405A8 463C1082 */ mul.d $f2, $f2, $f28 +/* AD647C 802405AC 00000000 */ nop +/* AD6480 802405B0 462006A0 */ cvt.s.d $f26, $f0 +/* AD6484 802405B4 4600D021 */ cvt.d.s $f0, $f26 +/* AD6488 802405B8 463C0002 */ mul.d $f0, $f0, $f28 +/* AD648C 802405BC 00000000 */ nop +/* AD6490 802405C0 3C014170 */ lui $at, 0x4170 +/* AD6494 802405C4 44816000 */ mtc1 $at, $f12 +/* AD6498 802405C8 00000000 */ nop +/* AD649C 802405CC 460CA302 */ mul.s $f12, $f20, $f12 +/* AD64A0 802405D0 00000000 */ nop +/* AD64A4 802405D4 3C014416 */ lui $at, 0x4416 +/* AD64A8 802405D8 4481B000 */ mtc1 $at, $f22 +/* AD64AC 802405DC 00000000 */ nop +/* AD64B0 802405E0 4616C580 */ add.s $f22, $f24, $f22 +/* AD64B4 802405E4 3C0142C8 */ lui $at, 0x42c8 +/* AD64B8 802405E8 4481A000 */ mtc1 $at, $f20 +/* AD64BC 802405EC 46201620 */ cvt.s.d $f24, $f2 +/* AD64C0 802405F0 4614D500 */ add.s $f20, $f26, $f20 +/* AD64C4 802405F4 0C00A8D4 */ jal cos_deg +/* AD64C8 802405F8 462006A0 */ cvt.s.d $f26, $f0 +/* AD64CC 802405FC 32420003 */ andi $v0, $s2, 3 +/* AD64D0 80240600 3C018024 */ lui $at, 0x8024 +/* AD64D4 80240604 D4244FB0 */ ldc1 $f4, 0x4fb0($at) +/* AD64D8 80240608 44821000 */ mtc1 $v0, $f2 +/* AD64DC 8024060C 00000000 */ nop +/* AD64E0 80240610 468010A1 */ cvt.d.w $f2, $f2 +/* AD64E4 80240614 46241082 */ mul.d $f2, $f2, $f4 +/* AD64E8 80240618 00000000 */ nop +/* AD64EC 8024061C 3C0140A0 */ lui $at, 0x40a0 +/* AD64F0 80240620 44812000 */ mtc1 $at, $f4 +/* AD64F4 80240624 00000000 */ nop +/* AD64F8 80240628 46040002 */ mul.s $f0, $f0, $f4 +/* AD64FC 8024062C 00000000 */ nop +/* AD6500 80240630 0200202D */ daddu $a0, $s0, $zero +/* AD6504 80240634 00021080 */ sll $v0, $v0, 2 +/* AD6508 80240638 4405B000 */ mfc1 $a1, $f22 +/* AD650C 8024063C 4406A000 */ mfc1 $a2, $f20 +/* AD6510 80240640 4600C600 */ add.s $f24, $f24, $f0 +/* AD6514 80240644 3C013FF0 */ lui $at, 0x3ff0 +/* AD6518 80240648 44810800 */ mtc1 $at, $f1 +/* AD651C 8024064C 44800000 */ mtc1 $zero, $f0 +/* AD6520 80240650 3C07C316 */ lui $a3, 0xc316 +/* AD6524 80240654 46201080 */ add.d $f2, $f2, $f0 +/* AD6528 80240658 2442001E */ addiu $v0, $v0, 0x1e +/* AD652C 8024065C AFA20014 */ sw $v0, 0x14($sp) +/* AD6530 80240660 462010A0 */ cvt.s.d $f2, $f2 +/* AD6534 80240664 0C01C994 */ jal func_80072650 +/* AD6538 80240668 E7A20010 */ swc1 $f2, 0x10($sp) +/* AD653C 8024066C 0040802D */ daddu $s0, $v0, $zero +/* AD6540 80240670 8E02000C */ lw $v0, 0xc($s0) +/* AD6544 80240674 2404000A */ addiu $a0, $zero, 0xa +/* AD6548 80240678 0C00A67F */ jal rand_int +/* AD654C 8024067C AC400044 */ sw $zero, 0x44($v0) +/* AD6550 80240680 3C018024 */ lui $at, 0x8024 +/* AD6554 80240684 D4224FB8 */ ldc1 $f2, 0x4fb8($at) +/* AD6558 80240688 44820000 */ mtc1 $v0, $f0 +/* AD655C 8024068C 00000000 */ nop +/* AD6560 80240690 46800021 */ cvt.d.w $f0, $f0 +/* AD6564 80240694 46220002 */ mul.d $f0, $f0, $f2 +/* AD6568 80240698 00000000 */ nop +/* AD656C 8024069C 463C0000 */ add.d $f0, $f0, $f28 +/* AD6570 802406A0 2404000A */ addiu $a0, $zero, 0xa +/* AD6574 802406A4 8E02000C */ lw $v0, 0xc($s0) +/* AD6578 802406A8 46200020 */ cvt.s.d $f0, $f0 +/* AD657C 802406AC E4400048 */ swc1 $f0, 0x48($v0) +/* AD6580 802406B0 8E02000C */ lw $v0, 0xc($s0) +/* AD6584 802406B4 44930000 */ mtc1 $s3, $f0 +/* AD6588 802406B8 00000000 */ nop +/* AD658C 802406BC 46800020 */ cvt.s.w $f0, $f0 +/* AD6590 802406C0 0C00A67F */ jal rand_int +/* AD6594 802406C4 E440003C */ swc1 $f0, 0x3c($v0) +/* AD6598 802406C8 2442FFFB */ addiu $v0, $v0, -5 +/* AD659C 802406CC 8E03000C */ lw $v1, 0xc($s0) +/* AD65A0 802406D0 44820000 */ mtc1 $v0, $f0 +/* AD65A4 802406D4 00000000 */ nop +/* AD65A8 802406D8 46800020 */ cvt.s.w $f0, $f0 +/* AD65AC 802406DC E4600040 */ swc1 $f0, 0x40($v1) +/* AD65B0 802406E0 8E02000C */ lw $v0, 0xc($s0) +/* AD65B4 802406E4 3C014000 */ lui $at, 0x4000 +/* AD65B8 802406E8 44810000 */ mtc1 $at, $f0 +/* AD65BC 802406EC E458004C */ swc1 $f24, 0x4c($v0) +/* AD65C0 802406F0 8E02000C */ lw $v0, 0xc($s0) +/* AD65C4 802406F4 26310004 */ addiu $s1, $s1, 4 +/* AD65C8 802406F8 E45A0050 */ swc1 $f26, 0x50($v0) +/* AD65CC 802406FC 8E02000C */ lw $v0, 0xc($s0) +/* AD65D0 80240700 26520001 */ addiu $s2, $s2, 1 +/* AD65D4 80240704 E4400054 */ swc1 $f0, 0x54($v0) +/* AD65D8 80240708 8E02000C */ lw $v0, 0xc($s0) +/* AD65DC 8024070C 3C01BDCC */ lui $at, 0xbdcc +/* AD65E0 80240710 3421CCCD */ ori $at, $at, 0xcccd +/* AD65E4 80240714 44810000 */ mtc1 $at, $f0 +/* AD65E8 80240718 00000000 */ nop +/* AD65EC 8024071C E4400058 */ swc1 $f0, 0x58($v0) +/* AD65F0 80240720 2A42001C */ slti $v0, $s2, 0x1c +/* AD65F4 80240724 1440FF7F */ bnez $v0, .L80240524 +/* AD65F8 80240728 26730023 */ addiu $s3, $s3, 0x23 +/* AD65FC 8024072C 8FBF0028 */ lw $ra, 0x28($sp) +/* AD6600 80240730 8FB30024 */ lw $s3, 0x24($sp) +/* AD6604 80240734 8FB20020 */ lw $s2, 0x20($sp) +/* AD6608 80240738 8FB1001C */ lw $s1, 0x1c($sp) +/* AD660C 8024073C 8FB00018 */ lw $s0, 0x18($sp) +/* AD6610 80240740 D7BC0050 */ ldc1 $f28, 0x50($sp) +/* AD6614 80240744 D7BA0048 */ ldc1 $f26, 0x48($sp) +/* AD6618 80240748 D7B80040 */ ldc1 $f24, 0x40($sp) +/* AD661C 8024074C D7B60038 */ ldc1 $f22, 0x38($sp) +/* AD6620 80240750 D7B40030 */ ldc1 $f20, 0x30($sp) +/* AD6624 80240754 24020002 */ addiu $v0, $zero, 2 +/* AD6628 80240758 03E00008 */ jr $ra +/* AD662C 8024075C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_80240000_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240000_ADAEA0.s new file mode 100644 index 0000000000..e270bc645d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240000_ADAEA0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_ADAEA0 +/* ADAEA0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ADAEA4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* ADAEA8 80240008 0000202D */ daddu $a0, $zero, $zero +/* ADAEAC 8024000C 3C05F5DE */ lui $a1, 0xf5de +/* ADAEB0 80240010 0C0B1EAF */ jal get_variable +/* ADAEB4 80240014 34A50180 */ ori $a1, $a1, 0x180 +/* ADAEB8 80240018 2403FF80 */ addiu $v1, $zero, -0x80 +/* ADAEBC 8024001C 14430006 */ bne $v0, $v1, .L80240038 +/* ADAEC0 80240020 00000000 */ nop +/* ADAEC4 80240024 3C04800E */ lui $a0, 0x800e +/* ADAEC8 80240028 24849668 */ addiu $a0, $a0, -0x6998 +/* ADAECC 8024002C 3C058025 */ lui $a1, 0x8025 +/* ADAED0 80240030 0C01953C */ jal sprintf +/* ADAED4 80240034 24A5A6B0 */ addiu $a1, $a1, -0x5950 +.L80240038: +/* ADAED8 80240038 8FBF0010 */ lw $ra, 0x10($sp) +/* ADAEDC 8024003C 0000102D */ daddu $v0, $zero, $zero +/* ADAEE0 80240040 03E00008 */ jr $ra +/* ADAEE4 80240044 27BD0018 */ addiu $sp, $sp, 0x18 +/* ADAEE8 80240048 00000000 */ nop +/* ADAEEC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_80240050_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240050_ADAEA0.s new file mode 100644 index 0000000000..7fd7c36887 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240050_ADAEA0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_ADAEF0 +/* ADAEF0 80240050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ADAEF4 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* ADAEF8 80240058 0080802D */ daddu $s0, $a0, $zero +/* ADAEFC 8024005C AFBF0014 */ sw $ra, 0x14($sp) +/* ADAF00 80240060 8E0300A8 */ lw $v1, 0xa8($s0) +/* ADAF04 80240064 8E020088 */ lw $v0, 0x88($s0) +/* ADAF08 80240068 00621821 */ addu $v1, $v1, $v0 +/* ADAF0C 8024006C 04610004 */ bgez $v1, .L80240080 +/* ADAF10 80240070 AE0300A8 */ sw $v1, 0xa8($s0) +/* ADAF14 80240074 3C020002 */ lui $v0, 2 +/* ADAF18 80240078 08090024 */ j .L80240090 +/* ADAF1C 8024007C 00621021 */ addu $v0, $v1, $v0 +.L80240080: +/* ADAF20 80240080 3C040002 */ lui $a0, 2 +/* ADAF24 80240084 0083102A */ slt $v0, $a0, $v1 +/* ADAF28 80240088 10400002 */ beqz $v0, .L80240094 +/* ADAF2C 8024008C 00641023 */ subu $v0, $v1, $a0 +.L80240090: +/* ADAF30 80240090 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240094: +/* ADAF34 80240094 8E0300AC */ lw $v1, 0xac($s0) +/* ADAF38 80240098 8E02008C */ lw $v0, 0x8c($s0) +/* ADAF3C 8024009C 00621821 */ addu $v1, $v1, $v0 +/* ADAF40 802400A0 04610004 */ bgez $v1, .L802400B4 +/* ADAF44 802400A4 AE0300AC */ sw $v1, 0xac($s0) +/* ADAF48 802400A8 3C020002 */ lui $v0, 2 +/* ADAF4C 802400AC 08090031 */ j .L802400C4 +/* ADAF50 802400B0 00621021 */ addu $v0, $v1, $v0 +.L802400B4: +/* ADAF54 802400B4 3C040002 */ lui $a0, 2 +/* ADAF58 802400B8 0083102A */ slt $v0, $a0, $v1 +/* ADAF5C 802400BC 10400002 */ beqz $v0, .L802400C8 +/* ADAF60 802400C0 00641023 */ subu $v0, $v1, $a0 +.L802400C4: +/* ADAF64 802400C4 AE0200AC */ sw $v0, 0xac($s0) +.L802400C8: +/* ADAF68 802400C8 8E0300B0 */ lw $v1, 0xb0($s0) +/* ADAF6C 802400CC 8E020090 */ lw $v0, 0x90($s0) +/* ADAF70 802400D0 00621821 */ addu $v1, $v1, $v0 +/* ADAF74 802400D4 04610004 */ bgez $v1, .L802400E8 +/* ADAF78 802400D8 AE0300B0 */ sw $v1, 0xb0($s0) +/* ADAF7C 802400DC 3C020002 */ lui $v0, 2 +/* ADAF80 802400E0 0809003E */ j .L802400F8 +/* ADAF84 802400E4 00621021 */ addu $v0, $v1, $v0 +.L802400E8: +/* ADAF88 802400E8 3C040002 */ lui $a0, 2 +/* ADAF8C 802400EC 0083102A */ slt $v0, $a0, $v1 +/* ADAF90 802400F0 10400002 */ beqz $v0, .L802400FC +/* ADAF94 802400F4 00641023 */ subu $v0, $v1, $a0 +.L802400F8: +/* ADAF98 802400F8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400FC: +/* ADAF9C 802400FC 8E0300B4 */ lw $v1, 0xb4($s0) +/* ADAFA0 80240100 8E020094 */ lw $v0, 0x94($s0) +/* ADAFA4 80240104 00621821 */ addu $v1, $v1, $v0 +/* ADAFA8 80240108 04610004 */ bgez $v1, .L8024011C +/* ADAFAC 8024010C AE0300B4 */ sw $v1, 0xb4($s0) +/* ADAFB0 80240110 3C020002 */ lui $v0, 2 +/* ADAFB4 80240114 0809004B */ j .L8024012C +/* ADAFB8 80240118 00621021 */ addu $v0, $v1, $v0 +.L8024011C: +/* ADAFBC 8024011C 3C040002 */ lui $a0, 2 +/* ADAFC0 80240120 0083102A */ slt $v0, $a0, $v1 +/* ADAFC4 80240124 10400002 */ beqz $v0, .L80240130 +/* ADAFC8 80240128 00641023 */ subu $v0, $v1, $a0 +.L8024012C: +/* ADAFCC 8024012C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240130: +/* ADAFD0 80240130 8E040084 */ lw $a0, 0x84($s0) +/* ADAFD4 80240134 0C046F07 */ jal set_main_pan_u +/* ADAFD8 80240138 8E0500A8 */ lw $a1, 0xa8($s0) +/* ADAFDC 8024013C 8E040084 */ lw $a0, 0x84($s0) +/* ADAFE0 80240140 0C046F0D */ jal set_main_pan_v +/* ADAFE4 80240144 8E0500AC */ lw $a1, 0xac($s0) +/* ADAFE8 80240148 8E040084 */ lw $a0, 0x84($s0) +/* ADAFEC 8024014C 0C046F13 */ jal set_aux_pan_u +/* ADAFF0 80240150 8E0500B0 */ lw $a1, 0xb0($s0) +/* ADAFF4 80240154 8E040084 */ lw $a0, 0x84($s0) +/* ADAFF8 80240158 0C046F19 */ jal set_aux_pan_v +/* ADAFFC 8024015C 8E0500B4 */ lw $a1, 0xb4($s0) +/* ADB000 80240160 8FBF0014 */ lw $ra, 0x14($sp) +/* ADB004 80240164 8FB00010 */ lw $s0, 0x10($sp) +/* ADB008 80240168 0000102D */ daddu $v0, $zero, $zero +/* ADB00C 8024016C 03E00008 */ jr $ra +/* ADB010 80240170 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_80240174_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240174_ADAEA0.s new file mode 100644 index 0000000000..df2bd7d48c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240174_ADAEA0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240174_ADB014 +/* ADB014 80240174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ADB018 80240178 AFB00010 */ sw $s0, 0x10($sp) +/* ADB01C 8024017C 0080802D */ daddu $s0, $a0, $zero +/* ADB020 80240180 10A00005 */ beqz $a1, .L80240198 +/* ADB024 80240184 AFBF0014 */ sw $ra, 0x14($sp) +/* ADB028 80240188 AE000070 */ sw $zero, 0x70($s0) +/* ADB02C 8024018C AE000074 */ sw $zero, 0x74($s0) +/* ADB030 80240190 AE000078 */ sw $zero, 0x78($s0) +/* ADB034 80240194 AE00007C */ sw $zero, 0x7c($s0) +.L80240198: +/* ADB038 80240198 8E020070 */ lw $v0, 0x70($s0) +/* ADB03C 8024019C 1440000E */ bnez $v0, .L802401D8 +/* ADB040 802401A0 00000000 */ nop +/* ADB044 802401A4 8E0300A8 */ lw $v1, 0xa8($s0) +/* ADB048 802401A8 8E020088 */ lw $v0, 0x88($s0) +/* ADB04C 802401AC 00621821 */ addu $v1, $v1, $v0 +/* ADB050 802401B0 04610004 */ bgez $v1, .L802401C4 +/* ADB054 802401B4 AE0300A8 */ sw $v1, 0xa8($s0) +/* ADB058 802401B8 3C020002 */ lui $v0, 2 +/* ADB05C 802401BC 08090075 */ j .L802401D4 +/* ADB060 802401C0 00621021 */ addu $v0, $v1, $v0 +.L802401C4: +/* ADB064 802401C4 3C040002 */ lui $a0, 2 +/* ADB068 802401C8 0083102A */ slt $v0, $a0, $v1 +/* ADB06C 802401CC 10400002 */ beqz $v0, .L802401D8 +/* ADB070 802401D0 00641023 */ subu $v0, $v1, $a0 +.L802401D4: +/* ADB074 802401D4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401D8: +/* ADB078 802401D8 8E020074 */ lw $v0, 0x74($s0) +/* ADB07C 802401DC 1440000E */ bnez $v0, .L80240218 +/* ADB080 802401E0 00000000 */ nop +/* ADB084 802401E4 8E0300AC */ lw $v1, 0xac($s0) +/* ADB088 802401E8 8E02008C */ lw $v0, 0x8c($s0) +/* ADB08C 802401EC 00621821 */ addu $v1, $v1, $v0 +/* ADB090 802401F0 04610004 */ bgez $v1, .L80240204 +/* ADB094 802401F4 AE0300AC */ sw $v1, 0xac($s0) +/* ADB098 802401F8 3C020002 */ lui $v0, 2 +/* ADB09C 802401FC 08090085 */ j .L80240214 +/* ADB0A0 80240200 00621021 */ addu $v0, $v1, $v0 +.L80240204: +/* ADB0A4 80240204 3C040002 */ lui $a0, 2 +/* ADB0A8 80240208 0083102A */ slt $v0, $a0, $v1 +/* ADB0AC 8024020C 10400002 */ beqz $v0, .L80240218 +/* ADB0B0 80240210 00641023 */ subu $v0, $v1, $a0 +.L80240214: +/* ADB0B4 80240214 AE0200AC */ sw $v0, 0xac($s0) +.L80240218: +/* ADB0B8 80240218 8E020078 */ lw $v0, 0x78($s0) +/* ADB0BC 8024021C 1440000E */ bnez $v0, .L80240258 +/* ADB0C0 80240220 00000000 */ nop +/* ADB0C4 80240224 8E0300B0 */ lw $v1, 0xb0($s0) +/* ADB0C8 80240228 8E020090 */ lw $v0, 0x90($s0) +/* ADB0CC 8024022C 00621821 */ addu $v1, $v1, $v0 +/* ADB0D0 80240230 04610004 */ bgez $v1, .L80240244 +/* ADB0D4 80240234 AE0300B0 */ sw $v1, 0xb0($s0) +/* ADB0D8 80240238 3C020002 */ lui $v0, 2 +/* ADB0DC 8024023C 08090095 */ j .L80240254 +/* ADB0E0 80240240 00621021 */ addu $v0, $v1, $v0 +.L80240244: +/* ADB0E4 80240244 3C040002 */ lui $a0, 2 +/* ADB0E8 80240248 0083102A */ slt $v0, $a0, $v1 +/* ADB0EC 8024024C 10400002 */ beqz $v0, .L80240258 +/* ADB0F0 80240250 00641023 */ subu $v0, $v1, $a0 +.L80240254: +/* ADB0F4 80240254 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240258: +/* ADB0F8 80240258 8E02007C */ lw $v0, 0x7c($s0) +/* ADB0FC 8024025C 1440000E */ bnez $v0, .L80240298 +/* ADB100 80240260 00000000 */ nop +/* ADB104 80240264 8E0300B4 */ lw $v1, 0xb4($s0) +/* ADB108 80240268 8E020094 */ lw $v0, 0x94($s0) +/* ADB10C 8024026C 00621821 */ addu $v1, $v1, $v0 +/* ADB110 80240270 04610004 */ bgez $v1, .L80240284 +/* ADB114 80240274 AE0300B4 */ sw $v1, 0xb4($s0) +/* ADB118 80240278 3C020002 */ lui $v0, 2 +/* ADB11C 8024027C 080900A5 */ j .L80240294 +/* ADB120 80240280 00621021 */ addu $v0, $v1, $v0 +.L80240284: +/* ADB124 80240284 3C040002 */ lui $a0, 2 +/* ADB128 80240288 0083102A */ slt $v0, $a0, $v1 +/* ADB12C 8024028C 10400002 */ beqz $v0, .L80240298 +/* ADB130 80240290 00641023 */ subu $v0, $v1, $a0 +.L80240294: +/* ADB134 80240294 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240298: +/* ADB138 80240298 8E040084 */ lw $a0, 0x84($s0) +/* ADB13C 8024029C 0C046F07 */ jal set_main_pan_u +/* ADB140 802402A0 8E0500A8 */ lw $a1, 0xa8($s0) +/* ADB144 802402A4 8E040084 */ lw $a0, 0x84($s0) +/* ADB148 802402A8 0C046F0D */ jal set_main_pan_v +/* ADB14C 802402AC 8E0500AC */ lw $a1, 0xac($s0) +/* ADB150 802402B0 8E040084 */ lw $a0, 0x84($s0) +/* ADB154 802402B4 0C046F13 */ jal set_aux_pan_u +/* ADB158 802402B8 8E0500B0 */ lw $a1, 0xb0($s0) +/* ADB15C 802402BC 8E040084 */ lw $a0, 0x84($s0) +/* ADB160 802402C0 0C046F19 */ jal set_aux_pan_v +/* ADB164 802402C4 8E0500B4 */ lw $a1, 0xb4($s0) +/* ADB168 802402C8 8E020070 */ lw $v0, 0x70($s0) +/* ADB16C 802402CC 8E030078 */ lw $v1, 0x78($s0) +/* ADB170 802402D0 8E040098 */ lw $a0, 0x98($s0) +/* ADB174 802402D4 24420001 */ addiu $v0, $v0, 1 +/* ADB178 802402D8 AE020070 */ sw $v0, 0x70($s0) +/* ADB17C 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* ADB180 802402E0 24630001 */ addiu $v1, $v1, 1 +/* ADB184 802402E4 AE030078 */ sw $v1, 0x78($s0) +/* ADB188 802402E8 8E030070 */ lw $v1, 0x70($s0) +/* ADB18C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* ADB190 802402F0 AE020074 */ sw $v0, 0x74($s0) +/* ADB194 802402F4 8E02007C */ lw $v0, 0x7c($s0) +/* ADB198 802402F8 0064182A */ slt $v1, $v1, $a0 +/* ADB19C 802402FC 24420001 */ addiu $v0, $v0, 1 +/* ADB1A0 80240300 14600002 */ bnez $v1, .L8024030C +/* ADB1A4 80240304 AE02007C */ sw $v0, 0x7c($s0) +/* ADB1A8 80240308 AE000070 */ sw $zero, 0x70($s0) +.L8024030C: +/* ADB1AC 8024030C 8E020074 */ lw $v0, 0x74($s0) +/* ADB1B0 80240310 8E03009C */ lw $v1, 0x9c($s0) +/* ADB1B4 80240314 0043102A */ slt $v0, $v0, $v1 +/* ADB1B8 80240318 50400001 */ beql $v0, $zero, .L80240320 +/* ADB1BC 8024031C AE000074 */ sw $zero, 0x74($s0) +.L80240320: +/* ADB1C0 80240320 8E020078 */ lw $v0, 0x78($s0) +/* ADB1C4 80240324 8E0300A0 */ lw $v1, 0xa0($s0) +/* ADB1C8 80240328 0043102A */ slt $v0, $v0, $v1 +/* ADB1CC 8024032C 50400001 */ beql $v0, $zero, .L80240334 +/* ADB1D0 80240330 AE000078 */ sw $zero, 0x78($s0) +.L80240334: +/* ADB1D4 80240334 8E02007C */ lw $v0, 0x7c($s0) +/* ADB1D8 80240338 8E0300A4 */ lw $v1, 0xa4($s0) +/* ADB1DC 8024033C 0043102A */ slt $v0, $v0, $v1 +/* ADB1E0 80240340 50400001 */ beql $v0, $zero, .L80240348 +/* ADB1E4 80240344 AE00007C */ sw $zero, 0x7c($s0) +.L80240348: +/* ADB1E8 80240348 8FBF0014 */ lw $ra, 0x14($sp) +/* ADB1EC 8024034C 8FB00010 */ lw $s0, 0x10($sp) +/* ADB1F0 80240350 0000102D */ daddu $v0, $zero, $zero +/* ADB1F4 80240354 03E00008 */ jr $ra +/* ADB1F8 80240358 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_8024035C_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_8024035C_ADAEA0.s new file mode 100644 index 0000000000..bb07a690db --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_8024035C_ADAEA0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024035C_ADB1FC +/* ADB1FC 8024035C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* ADB200 80240360 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* ADB204 80240364 9043007E */ lbu $v1, 0x7e($v0) +/* ADB208 80240368 306300FE */ andi $v1, $v1, 0xfe +/* ADB20C 8024036C A043007E */ sb $v1, 0x7e($v0) +/* ADB210 80240370 90820087 */ lbu $v0, 0x87($a0) +/* ADB214 80240374 3C018011 */ lui $at, 0x8011 +/* ADB218 80240378 A022F2A2 */ sb $v0, -0xd5e($at) +/* ADB21C 8024037C 03E00008 */ jr $ra +/* ADB220 80240380 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_80240384_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240384_ADAEA0.s new file mode 100644 index 0000000000..d144a0dece --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240384_ADAEA0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240384_ADB224 +/* ADB224 80240384 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ADB228 80240388 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ADB22C 8024038C 9062007E */ lbu $v0, 0x7e($v1) +/* ADB230 80240390 34420004 */ ori $v0, $v0, 4 +/* ADB234 80240394 A062007E */ sb $v0, 0x7e($v1) +/* ADB238 80240398 03E00008 */ jr $ra +/* ADB23C 8024039C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_802403A0_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403A0_ADAEA0.s new file mode 100644 index 0000000000..864f81aff4 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403A0_ADAEA0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_ADB240 +/* ADB240 802403A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ADB244 802403A4 AFBF0010 */ sw $ra, 0x10($sp) +/* ADB248 802403A8 8C82000C */ lw $v0, 0xc($a0) +/* ADB24C 802403AC 3C068011 */ lui $a2, 0x8011 +/* ADB250 802403B0 80C6EFD4 */ lb $a2, -0x102c($a2) +/* ADB254 802403B4 0C0B2026 */ jal set_variable +/* ADB258 802403B8 8C450000 */ lw $a1, ($v0) +/* ADB25C 802403BC 8FBF0010 */ lw $ra, 0x10($sp) +/* ADB260 802403C0 24020002 */ addiu $v0, $zero, 2 +/* ADB264 802403C4 03E00008 */ jr $ra +/* ADB268 802403C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_802403CC_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403CC_ADAEA0.s new file mode 100644 index 0000000000..1e8d8776e2 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403CC_ADAEA0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403CC_ADB26C +/* ADB26C 802403CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* ADB270 802403D0 AFBF0010 */ sw $ra, 0x10($sp) +/* ADB274 802403D4 8C82000C */ lw $v0, 0xc($a0) +/* ADB278 802403D8 0C0B1EAF */ jal get_variable +/* ADB27C 802403DC 8C450000 */ lw $a1, ($v0) +/* ADB280 802403E0 8FBF0010 */ lw $ra, 0x10($sp) +/* ADB284 802403E4 3C018024 */ lui $at, 0x8024 +/* ADB288 802403E8 AC221D38 */ sw $v0, 0x1d38($at) +/* ADB28C 802403EC 24020002 */ addiu $v0, $zero, 2 +/* ADB290 802403F0 03E00008 */ jr $ra +/* ADB294 802403F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_802403F8_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403F8_ADAEA0.s new file mode 100644 index 0000000000..bf1d93070d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_802403F8_ADAEA0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F8_ADB298 +/* ADB298 802403F8 3C02E300 */ lui $v0, 0xe300 +/* ADB29C 802403FC 34420A01 */ ori $v0, $v0, 0xa01 +/* ADB2A0 80240400 3C07E200 */ lui $a3, 0xe200 +/* ADB2A4 80240404 34E7001C */ ori $a3, $a3, 0x1c +/* ADB2A8 80240408 3C060C18 */ lui $a2, 0xc18 +/* ADB2AC 8024040C 34C649D8 */ ori $a2, $a2, 0x49d8 +/* ADB2B0 80240410 3C08FC11 */ lui $t0, 0xfc11 +/* ADB2B4 80240414 3C04800A */ lui $a0, 0x800a +/* ADB2B8 80240418 2484A66C */ addiu $a0, $a0, -0x5994 +/* ADB2BC 8024041C 8C830000 */ lw $v1, ($a0) +/* ADB2C0 80240420 350815FF */ ori $t0, $t0, 0x15ff +/* ADB2C4 80240424 0060282D */ daddu $a1, $v1, $zero +/* ADB2C8 80240428 24630008 */ addiu $v1, $v1, 8 +/* ADB2CC 8024042C AC830000 */ sw $v1, ($a0) +/* ADB2D0 80240430 ACA20000 */ sw $v0, ($a1) +/* ADB2D4 80240434 3C020010 */ lui $v0, 0x10 +/* ADB2D8 80240438 ACA20004 */ sw $v0, 4($a1) +/* ADB2DC 8024043C 24620008 */ addiu $v0, $v1, 8 +/* ADB2E0 80240440 AC820000 */ sw $v0, ($a0) +/* ADB2E4 80240444 24620010 */ addiu $v0, $v1, 0x10 +/* ADB2E8 80240448 AC670000 */ sw $a3, ($v1) +/* ADB2EC 8024044C AC660004 */ sw $a2, 4($v1) +/* ADB2F0 80240450 AC820000 */ sw $v0, ($a0) +/* ADB2F4 80240454 2402FE3B */ addiu $v0, $zero, -0x1c5 +/* ADB2F8 80240458 AC62000C */ sw $v0, 0xc($v1) +/* ADB2FC 8024045C 24620018 */ addiu $v0, $v1, 0x18 +/* ADB300 80240460 AC680008 */ sw $t0, 8($v1) +/* ADB304 80240464 AC820000 */ sw $v0, ($a0) +/* ADB308 80240468 3C048024 */ lui $a0, 0x8024 +/* ADB30C 8024046C 90841D3B */ lbu $a0, 0x1d3b($a0) +/* ADB310 80240470 3C02FA00 */ lui $v0, 0xfa00 +/* ADB314 80240474 AC620010 */ sw $v0, 0x10($v1) +/* ADB318 80240478 03E00008 */ jr $ra +/* ADB31C 8024047C AC640014 */ sw $a0, 0x14($v1) diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_80240480_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240480_ADAEA0.s new file mode 100644 index 0000000000..fe8b412753 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_80240480_ADAEA0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_ADB320 +/* ADB320 80240480 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ADB324 80240484 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ADB328 80240488 9062007E */ lbu $v0, 0x7e($v1) +/* ADB32C 8024048C 34420010 */ ori $v0, $v0, 0x10 +/* ADB330 80240490 A062007E */ sb $v0, 0x7e($v1) +/* ADB334 80240494 03E00008 */ jr $ra +/* ADB338 80240498 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_14/func_8024049C_ADAEA0.s b/asm/nonmatchings/world/area_kkj/kkj_14/func_8024049C_ADAEA0.s new file mode 100644 index 0000000000..b7db36a349 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_14/func_8024049C_ADAEA0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_ADB33C +/* ADB33C 8024049C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* ADB340 802404A0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* ADB344 802404A4 9062007E */ lbu $v0, 0x7e($v1) +/* ADB348 802404A8 304200EF */ andi $v0, $v0, 0xef +/* ADB34C 802404AC A062007E */ sb $v0, 0x7e($v1) +/* ADB350 802404B0 03E00008 */ jr $ra +/* ADB354 802404B4 24020002 */ addiu $v0, $zero, 2 +/* ADB358 802404B8 00000000 */ nop +/* ADB35C 802404BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_80240000_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240000_AE5590.s new file mode 100644 index 0000000000..42f1a34b2c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240000_AE5590.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AE5590 +/* AE5590 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AE5594 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AE5598 80240008 0080802D */ daddu $s0, $a0, $zero +/* AE559C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* AE55A0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* AE55A4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* AE55A8 80240018 00621821 */ addu $v1, $v1, $v0 +/* AE55AC 8024001C 04610004 */ bgez $v1, .L80240030 +/* AE55B0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* AE55B4 80240024 3C020002 */ lui $v0, 2 +/* AE55B8 80240028 08090010 */ j .L80240040 +/* AE55BC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* AE55C0 80240030 3C040002 */ lui $a0, 2 +/* AE55C4 80240034 0083102A */ slt $v0, $a0, $v1 +/* AE55C8 80240038 10400002 */ beqz $v0, .L80240044 +/* AE55CC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* AE55D0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* AE55D4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* AE55D8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* AE55DC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* AE55E0 80240050 04610004 */ bgez $v1, .L80240064 +/* AE55E4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* AE55E8 80240058 3C020002 */ lui $v0, 2 +/* AE55EC 8024005C 0809001D */ j .L80240074 +/* AE55F0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* AE55F4 80240064 3C040002 */ lui $a0, 2 +/* AE55F8 80240068 0083102A */ slt $v0, $a0, $v1 +/* AE55FC 8024006C 10400002 */ beqz $v0, .L80240078 +/* AE5600 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* AE5604 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* AE5608 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* AE560C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* AE5610 80240080 00621821 */ addu $v1, $v1, $v0 +/* AE5614 80240084 04610004 */ bgez $v1, .L80240098 +/* AE5618 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* AE561C 8024008C 3C020002 */ lui $v0, 2 +/* AE5620 80240090 0809002A */ j .L802400A8 +/* AE5624 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* AE5628 80240098 3C040002 */ lui $a0, 2 +/* AE562C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* AE5630 802400A0 10400002 */ beqz $v0, .L802400AC +/* AE5634 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* AE5638 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* AE563C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AE5640 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* AE5644 802400B4 00621821 */ addu $v1, $v1, $v0 +/* AE5648 802400B8 04610004 */ bgez $v1, .L802400CC +/* AE564C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* AE5650 802400C0 3C020002 */ lui $v0, 2 +/* AE5654 802400C4 08090037 */ j .L802400DC +/* AE5658 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* AE565C 802400CC 3C040002 */ lui $a0, 2 +/* AE5660 802400D0 0083102A */ slt $v0, $a0, $v1 +/* AE5664 802400D4 10400002 */ beqz $v0, .L802400E0 +/* AE5668 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* AE566C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* AE5670 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* AE5674 802400E4 0C046F07 */ jal set_main_pan_u +/* AE5678 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* AE567C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* AE5680 802400F0 0C046F0D */ jal set_main_pan_v +/* AE5684 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* AE5688 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* AE568C 802400FC 0C046F13 */ jal set_aux_pan_u +/* AE5690 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* AE5694 80240104 8E040084 */ lw $a0, 0x84($s0) +/* AE5698 80240108 0C046F19 */ jal set_aux_pan_v +/* AE569C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AE56A0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* AE56A4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* AE56A8 80240118 0000102D */ daddu $v0, $zero, $zero +/* AE56AC 8024011C 03E00008 */ jr $ra +/* AE56B0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_80240124_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240124_AE5590.s new file mode 100644 index 0000000000..24ff3caa22 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240124_AE5590.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_AE56B4 +/* AE56B4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AE56B8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* AE56BC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* AE56C0 80240130 10A00005 */ beqz $a1, .L80240148 +/* AE56C4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* AE56C8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* AE56CC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* AE56D0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* AE56D4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* AE56D8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* AE56DC 8024014C 1440000E */ bnez $v0, .L80240188 +/* AE56E0 80240150 00000000 */ nop +/* AE56E4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* AE56E8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* AE56EC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* AE56F0 80240160 04610004 */ bgez $v1, .L80240174 +/* AE56F4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* AE56F8 80240168 3C020002 */ lui $v0, 2 +/* AE56FC 8024016C 08090061 */ j .L80240184 +/* AE5700 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* AE5704 80240174 3C040002 */ lui $a0, 2 +/* AE5708 80240178 0083102A */ slt $v0, $a0, $v1 +/* AE570C 8024017C 10400002 */ beqz $v0, .L80240188 +/* AE5710 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* AE5714 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* AE5718 80240188 8E020074 */ lw $v0, 0x74($s0) +/* AE571C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* AE5720 80240190 00000000 */ nop +/* AE5724 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* AE5728 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* AE572C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* AE5730 802401A0 04610004 */ bgez $v1, .L802401B4 +/* AE5734 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* AE5738 802401A8 3C020002 */ lui $v0, 2 +/* AE573C 802401AC 08090071 */ j .L802401C4 +/* AE5740 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* AE5744 802401B4 3C040002 */ lui $a0, 2 +/* AE5748 802401B8 0083102A */ slt $v0, $a0, $v1 +/* AE574C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* AE5750 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* AE5754 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* AE5758 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* AE575C 802401CC 1440000E */ bnez $v0, .L80240208 +/* AE5760 802401D0 00000000 */ nop +/* AE5764 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AE5768 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* AE576C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* AE5770 802401E0 04610004 */ bgez $v1, .L802401F4 +/* AE5774 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* AE5778 802401E8 3C020002 */ lui $v0, 2 +/* AE577C 802401EC 08090081 */ j .L80240204 +/* AE5780 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* AE5784 802401F4 3C040002 */ lui $a0, 2 +/* AE5788 802401F8 0083102A */ slt $v0, $a0, $v1 +/* AE578C 802401FC 10400002 */ beqz $v0, .L80240208 +/* AE5790 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* AE5794 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* AE5798 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* AE579C 8024020C 1440000E */ bnez $v0, .L80240248 +/* AE57A0 80240210 00000000 */ nop +/* AE57A4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* AE57A8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* AE57AC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* AE57B0 80240220 04610004 */ bgez $v1, .L80240234 +/* AE57B4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* AE57B8 80240228 3C020002 */ lui $v0, 2 +/* AE57BC 8024022C 08090091 */ j .L80240244 +/* AE57C0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* AE57C4 80240234 3C040002 */ lui $a0, 2 +/* AE57C8 80240238 0083102A */ slt $v0, $a0, $v1 +/* AE57CC 8024023C 10400002 */ beqz $v0, .L80240248 +/* AE57D0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* AE57D4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* AE57D8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* AE57DC 8024024C 0C046F07 */ jal set_main_pan_u +/* AE57E0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* AE57E4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* AE57E8 80240258 0C046F0D */ jal set_main_pan_v +/* AE57EC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* AE57F0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* AE57F4 80240264 0C046F13 */ jal set_aux_pan_u +/* AE57F8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* AE57FC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* AE5800 80240270 0C046F19 */ jal set_aux_pan_v +/* AE5804 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* AE5808 80240278 8E020070 */ lw $v0, 0x70($s0) +/* AE580C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* AE5810 80240280 8E040098 */ lw $a0, 0x98($s0) +/* AE5814 80240284 24420001 */ addiu $v0, $v0, 1 +/* AE5818 80240288 AE020070 */ sw $v0, 0x70($s0) +/* AE581C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* AE5820 80240290 24630001 */ addiu $v1, $v1, 1 +/* AE5824 80240294 AE030078 */ sw $v1, 0x78($s0) +/* AE5828 80240298 8E030070 */ lw $v1, 0x70($s0) +/* AE582C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* AE5830 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* AE5834 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* AE5838 802402A8 0064182A */ slt $v1, $v1, $a0 +/* AE583C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* AE5840 802402B0 14600002 */ bnez $v1, .L802402BC +/* AE5844 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* AE5848 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* AE584C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* AE5850 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* AE5854 802402C4 0043102A */ slt $v0, $v0, $v1 +/* AE5858 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* AE585C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* AE5860 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* AE5864 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AE5868 802402D8 0043102A */ slt $v0, $v0, $v1 +/* AE586C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* AE5870 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* AE5874 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* AE5878 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* AE587C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* AE5880 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* AE5884 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* AE5888 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* AE588C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AE5890 80240300 0000102D */ daddu $v0, $zero, $zero +/* AE5894 80240304 03E00008 */ jr $ra +/* AE5898 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_8024030C_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_8024030C_AE5590.s new file mode 100644 index 0000000000..83eeebf918 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_8024030C_AE5590.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_AE589C +/* AE589C 8024030C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AE58A0 80240310 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AE58A4 80240314 9043007E */ lbu $v1, 0x7e($v0) +/* AE58A8 80240318 306300FE */ andi $v1, $v1, 0xfe +/* AE58AC 8024031C A043007E */ sb $v1, 0x7e($v0) +/* AE58B0 80240320 90820087 */ lbu $v0, 0x87($a0) +/* AE58B4 80240324 3C018011 */ lui $at, 0x8011 +/* AE58B8 80240328 A022F2A2 */ sb $v0, -0xd5e($at) +/* AE58BC 8024032C 03E00008 */ jr $ra +/* AE58C0 80240330 24020002 */ addiu $v0, $zero, 2 +/* AE58C4 80240334 00000000 */ nop +/* AE58C8 80240338 00000000 */ nop +/* AE58CC 8024033C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_80240340_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240340_AE5590.s new file mode 100644 index 0000000000..6fd0f6575d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240340_AE5590.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_AE58D0 +/* AE58D0 80240340 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AE58D4 80240344 AFB00010 */ sw $s0, 0x10($sp) +/* AE58D8 80240348 0080802D */ daddu $s0, $a0, $zero +/* AE58DC 8024034C AFBF001C */ sw $ra, 0x1c($sp) +/* AE58E0 80240350 AFB20018 */ sw $s2, 0x18($sp) +/* AE58E4 80240354 AFB10014 */ sw $s1, 0x14($sp) +/* AE58E8 80240358 F7BC0040 */ sdc1 $f28, 0x40($sp) +/* AE58EC 8024035C F7BA0038 */ sdc1 $f26, 0x38($sp) +/* AE58F0 80240360 F7B80030 */ sdc1 $f24, 0x30($sp) +/* AE58F4 80240364 F7B60028 */ sdc1 $f22, 0x28($sp) +/* AE58F8 80240368 F7B40020 */ sdc1 $f20, 0x20($sp) +/* AE58FC 8024036C 0C00EAD2 */ jal get_npc_safe +/* AE5900 80240370 2404FFFC */ addiu $a0, $zero, -4 +/* AE5904 80240374 3C040DB5 */ lui $a0, 0xdb5 +/* AE5908 80240378 34848580 */ ori $a0, $a0, 0x8580 +/* AE590C 8024037C C60200A0 */ lwc1 $f2, 0xa0($s0) +/* AE5910 80240380 468010A0 */ cvt.s.w $f2, $f2 +/* AE5914 80240384 44061000 */ mfc1 $a2, $f2 +/* AE5918 80240388 C60200A4 */ lwc1 $f2, 0xa4($s0) +/* AE591C 8024038C 468010A0 */ cvt.s.w $f2, $f2 +/* AE5920 80240390 0040902D */ daddu $s2, $v0, $zero +/* AE5924 80240394 8E03008C */ lw $v1, 0x8c($s0) +/* AE5928 80240398 44071000 */ mfc1 $a3, $f2 +/* AE592C 8024039C 3C014248 */ lui $at, 0x4248 +/* AE5930 802403A0 4481B000 */ mtc1 $at, $f22 +/* AE5934 802403A4 3C01C348 */ lui $at, 0xc348 +/* AE5938 802403A8 4481A000 */ mtc1 $at, $f20 +/* AE593C 802403AC 3C013A80 */ lui $at, 0x3a80 +/* AE5940 802403B0 44810000 */ mtc1 $at, $f0 +/* AE5944 802403B4 00641821 */ addu $v1, $v1, $a0 +/* AE5948 802403B8 4483C000 */ mtc1 $v1, $f24 +/* AE594C 802403BC 00000000 */ nop +/* AE5950 802403C0 4680C620 */ cvt.s.w $f24, $f24 +/* AE5954 802403C4 4600B306 */ mov.s $f12, $f22 +/* AE5958 802403C8 4600C602 */ mul.s $f24, $f24, $f0 +/* AE595C 802403CC 00000000 */ nop +/* AE5960 802403D0 0C00A7B5 */ jal dist2D +/* AE5964 802403D4 4600A386 */ mov.s $f14, $f20 +/* AE5968 802403D8 46000706 */ mov.s $f28, $f0 +/* AE596C 802403DC 4600B306 */ mov.s $f12, $f22 +/* AE5970 802403E0 C60200A0 */ lwc1 $f2, 0xa0($s0) +/* AE5974 802403E4 468010A0 */ cvt.s.w $f2, $f2 +/* AE5978 802403E8 44061000 */ mfc1 $a2, $f2 +/* AE597C 802403EC C60200A4 */ lwc1 $f2, 0xa4($s0) +/* AE5980 802403F0 468010A0 */ cvt.s.w $f2, $f2 +/* AE5984 802403F4 44071000 */ mfc1 $a3, $f2 +/* AE5988 802403F8 0C00A720 */ jal atan2 +/* AE598C 802403FC 4600A386 */ mov.s $f14, $f20 +/* AE5990 80240400 0C00A6C9 */ jal clamp_angle +/* AE5994 80240404 46180301 */ sub.s $f12, $f0, $f24 +/* AE5998 80240408 46000686 */ mov.s $f26, $f0 +/* AE599C 8024040C 0C00A8BB */ jal sin_deg +/* AE59A0 80240410 4600D306 */ mov.s $f12, $f26 +/* AE59A4 80240414 4600E002 */ mul.s $f0, $f28, $f0 +/* AE59A8 80240418 00000000 */ nop +/* AE59AC 8024041C 46160000 */ add.s $f0, $f0, $f22 +/* AE59B0 80240420 4600D306 */ mov.s $f12, $f26 +/* AE59B4 80240424 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* AE59B8 80240428 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* AE59BC 8024042C 0C00A8D4 */ jal cos_deg +/* AE59C0 80240430 E6200028 */ swc1 $f0, 0x28($s1) +/* AE59C4 80240434 4600E002 */ mul.s $f0, $f28, $f0 +/* AE59C8 80240438 00000000 */ nop +/* AE59CC 8024043C 4600A001 */ sub.s $f0, $f20, $f0 +/* AE59D0 80240440 4600B306 */ mov.s $f12, $f22 +/* AE59D4 80240444 E6200030 */ swc1 $f0, 0x30($s1) +/* AE59D8 80240448 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* AE59DC 8024044C 468010A0 */ cvt.s.w $f2, $f2 +/* AE59E0 80240450 44061000 */ mfc1 $a2, $f2 +/* AE59E4 80240454 C60200AC */ lwc1 $f2, 0xac($s0) +/* AE59E8 80240458 468010A0 */ cvt.s.w $f2, $f2 +/* AE59EC 8024045C 44071000 */ mfc1 $a3, $f2 +/* AE59F0 80240460 0C00A7B5 */ jal dist2D +/* AE59F4 80240464 4600A386 */ mov.s $f14, $f20 +/* AE59F8 80240468 46000706 */ mov.s $f28, $f0 +/* AE59FC 8024046C 4600B306 */ mov.s $f12, $f22 +/* AE5A00 80240470 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* AE5A04 80240474 468010A0 */ cvt.s.w $f2, $f2 +/* AE5A08 80240478 44061000 */ mfc1 $a2, $f2 +/* AE5A0C 8024047C C60200AC */ lwc1 $f2, 0xac($s0) +/* AE5A10 80240480 468010A0 */ cvt.s.w $f2, $f2 +/* AE5A14 80240484 44071000 */ mfc1 $a3, $f2 +/* AE5A18 80240488 0C00A720 */ jal atan2 +/* AE5A1C 8024048C 4600A386 */ mov.s $f14, $f20 +/* AE5A20 80240490 0C00A6C9 */ jal clamp_angle +/* AE5A24 80240494 46180301 */ sub.s $f12, $f0, $f24 +/* AE5A28 80240498 46000686 */ mov.s $f26, $f0 +/* AE5A2C 8024049C 0C00A8BB */ jal sin_deg +/* AE5A30 802404A0 4600D306 */ mov.s $f12, $f26 +/* AE5A34 802404A4 4600E002 */ mul.s $f0, $f28, $f0 +/* AE5A38 802404A8 00000000 */ nop +/* AE5A3C 802404AC 46160000 */ add.s $f0, $f0, $f22 +/* AE5A40 802404B0 4600D306 */ mov.s $f12, $f26 +/* AE5A44 802404B4 0C00A8D4 */ jal cos_deg +/* AE5A48 802404B8 E6400038 */ swc1 $f0, 0x38($s2) +/* AE5A4C 802404BC 4600E002 */ mul.s $f0, $f28, $f0 +/* AE5A50 802404C0 00000000 */ nop +/* AE5A54 802404C4 4600A501 */ sub.s $f20, $f20, $f0 +/* AE5A58 802404C8 E6540040 */ swc1 $f20, 0x40($s2) +/* AE5A5C 802404CC 8FBF001C */ lw $ra, 0x1c($sp) +/* AE5A60 802404D0 8FB20018 */ lw $s2, 0x18($sp) +/* AE5A64 802404D4 8FB10014 */ lw $s1, 0x14($sp) +/* AE5A68 802404D8 8FB00010 */ lw $s0, 0x10($sp) +/* AE5A6C 802404DC D7BC0040 */ ldc1 $f28, 0x40($sp) +/* AE5A70 802404E0 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* AE5A74 802404E4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* AE5A78 802404E8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* AE5A7C 802404EC D7B40020 */ ldc1 $f20, 0x20($sp) +/* AE5A80 802404F0 24020002 */ addiu $v0, $zero, 2 +/* AE5A84 802404F4 03E00008 */ jr $ra +/* AE5A88 802404F8 27BD0048 */ addiu $sp, $sp, 0x48 +/* AE5A8C 802404FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_80240500_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240500_AE5590.s new file mode 100644 index 0000000000..12a497c89c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_80240500_AE5590.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_AE5A90 +/* AE5A90 80240500 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* AE5A94 80240504 AFB1002C */ sw $s1, 0x2c($sp) +/* AE5A98 80240508 0080882D */ daddu $s1, $a0, $zero +/* AE5A9C 8024050C AFBF0034 */ sw $ra, 0x34($sp) +/* AE5AA0 80240510 AFB20030 */ sw $s2, 0x30($sp) +/* AE5AA4 80240514 AFB00028 */ sw $s0, 0x28($sp) +/* AE5AA8 80240518 8E30000C */ lw $s0, 0xc($s1) +/* AE5AAC 8024051C 8E050000 */ lw $a1, ($s0) +/* AE5AB0 80240520 0C0B1EAF */ jal get_variable +/* AE5AB4 80240524 26100004 */ addiu $s0, $s0, 4 +/* AE5AB8 80240528 8E050000 */ lw $a1, ($s0) +/* AE5ABC 8024052C 26100004 */ addiu $s0, $s0, 4 +/* AE5AC0 80240530 0220202D */ daddu $a0, $s1, $zero +/* AE5AC4 80240534 0C0B1EAF */ jal get_variable +/* AE5AC8 80240538 0040902D */ daddu $s2, $v0, $zero +/* AE5ACC 8024053C 0220202D */ daddu $a0, $s1, $zero +/* AE5AD0 80240540 8E050000 */ lw $a1, ($s0) +/* AE5AD4 80240544 0C0B1EAF */ jal get_variable +/* AE5AD8 80240548 0040802D */ daddu $s0, $v0, $zero +/* AE5ADC 8024054C 0000202D */ daddu $a0, $zero, $zero +/* AE5AE0 80240550 24050005 */ addiu $a1, $zero, 5 +/* AE5AE4 80240554 44820000 */ mtc1 $v0, $f0 +/* AE5AE8 80240558 00000000 */ nop +/* AE5AEC 8024055C 46800020 */ cvt.s.w $f0, $f0 +/* AE5AF0 80240560 44921000 */ mtc1 $s2, $f2 +/* AE5AF4 80240564 00000000 */ nop +/* AE5AF8 80240568 468010A0 */ cvt.s.w $f2, $f2 +/* AE5AFC 8024056C 44061000 */ mfc1 $a2, $f2 +/* AE5B00 80240570 44901000 */ mtc1 $s0, $f2 +/* AE5B04 80240574 00000000 */ nop +/* AE5B08 80240578 468010A0 */ cvt.s.w $f2, $f2 +/* AE5B0C 8024057C E7A00010 */ swc1 $f0, 0x10($sp) +/* AE5B10 80240580 3C0138D1 */ lui $at, 0x38d1 +/* AE5B14 80240584 3421B717 */ ori $at, $at, 0xb717 +/* AE5B18 80240588 44810000 */ mtc1 $at, $f0 +/* AE5B1C 8024058C 44071000 */ mfc1 $a3, $f2 +/* AE5B20 80240590 240200FF */ addiu $v0, $zero, 0xff +/* AE5B24 80240594 AFA20014 */ sw $v0, 0x14($sp) +/* AE5B28 80240598 AFA20018 */ sw $v0, 0x18($sp) +/* AE5B2C 8024059C AFA2001C */ sw $v0, 0x1c($sp) +/* AE5B30 802405A0 AFA00024 */ sw $zero, 0x24($sp) +/* AE5B34 802405A4 0C052055 */ jal func_80148154 +/* AE5B38 802405A8 E7A00020 */ swc1 $f0, 0x20($sp) +/* AE5B3C 802405AC 8FBF0034 */ lw $ra, 0x34($sp) +/* AE5B40 802405B0 8FB20030 */ lw $s2, 0x30($sp) +/* AE5B44 802405B4 8FB1002C */ lw $s1, 0x2c($sp) +/* AE5B48 802405B8 8FB00028 */ lw $s0, 0x28($sp) +/* AE5B4C 802405BC 24020002 */ addiu $v0, $zero, 2 +/* AE5B50 802405C0 03E00008 */ jr $ra +/* AE5B54 802405C4 27BD0038 */ addiu $sp, $sp, 0x38 +/* AE5B58 802405C8 00000000 */ nop +/* AE5B5C 802405CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_802405D0_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_802405D0_AE5590.s new file mode 100644 index 0000000000..9cd8f604e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_802405D0_AE5590.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0_AE5B60 +/* AE5B60 802405D0 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AE5B64 802405D4 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AE5B68 802405D8 9062007E */ lbu $v0, 0x7e($v1) +/* AE5B6C 802405DC 34420010 */ ori $v0, $v0, 0x10 +/* AE5B70 802405E0 A062007E */ sb $v0, 0x7e($v1) +/* AE5B74 802405E4 03E00008 */ jr $ra +/* AE5B78 802405E8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_15/func_802405EC_AE5590.s b/asm/nonmatchings/world/area_kkj/kkj_15/func_802405EC_AE5590.s new file mode 100644 index 0000000000..316d3bc687 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_15/func_802405EC_AE5590.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_AE5B7C +/* AE5B7C 802405EC 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AE5B80 802405F0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AE5B84 802405F4 9062007E */ lbu $v0, 0x7e($v1) +/* AE5B88 802405F8 304200EF */ andi $v0, $v0, 0xef +/* AE5B8C 802405FC A062007E */ sb $v0, 0x7e($v1) +/* AE5B90 80240600 03E00008 */ jr $ra +/* AE5B94 80240604 24020002 */ addiu $v0, $zero, 2 +/* AE5B98 80240608 00000000 */ nop +/* AE5B9C 8024060C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240000_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240000_AED410.s new file mode 100644 index 0000000000..026a624c18 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240000_AED410.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AED410 +/* AED410 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AED414 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AED418 80240008 9043007E */ lbu $v1, 0x7e($v0) +/* AED41C 8024000C 306300FE */ andi $v1, $v1, 0xfe +/* AED420 80240010 A043007E */ sb $v1, 0x7e($v0) +/* AED424 80240014 90820087 */ lbu $v0, 0x87($a0) +/* AED428 80240018 3C018011 */ lui $at, 0x8011 +/* AED42C 8024001C A022F2A2 */ sb $v0, -0xd5e($at) +/* AED430 80240020 03E00008 */ jr $ra +/* AED434 80240024 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240028.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240028.s new file mode 100644 index 0000000000..9826776f6a --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240028.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240028 +/* AED438 80240028 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AED43C 8024002C AFBF0010 */ sw $ra, 0x10($sp) +/* AED440 80240030 8C82000C */ lw $v0, 0xc($a0) +/* AED444 80240034 0C0B210B */ jal get_float_variable +/* AED448 80240038 8C450000 */ lw $a1, ($v0) +/* AED44C 8024003C 8FBF0010 */ lw $ra, 0x10($sp) +/* AED450 80240040 4600008D */ trunc.w.s $f2, $f0 +/* AED454 80240044 44021000 */ mfc1 $v0, $f2 +/* AED458 80240048 00000000 */ nop +/* AED45C 8024004C 3C018011 */ lui $at, 0x8011 +/* AED460 80240050 A022EFD5 */ sb $v0, -0x102b($at) +/* AED464 80240054 24020002 */ addiu $v0, $zero, 2 +/* AED468 80240058 03E00008 */ jr $ra +/* AED46C 8024005C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240060_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240060_AED410.s new file mode 100644 index 0000000000..d69d1558bd --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240060_AED410.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060_AED470 +/* AED470 80240060 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* AED474 80240064 AFB3003C */ sw $s3, 0x3c($sp) +/* AED478 80240068 0080982D */ daddu $s3, $a0, $zero +/* AED47C 8024006C AFBF0044 */ sw $ra, 0x44($sp) +/* AED480 80240070 AFB40040 */ sw $s4, 0x40($sp) +/* AED484 80240074 AFB20038 */ sw $s2, 0x38($sp) +/* AED488 80240078 AFB10034 */ sw $s1, 0x34($sp) +/* AED48C 8024007C AFB00030 */ sw $s0, 0x30($sp) +/* AED490 80240080 F7B80058 */ sdc1 $f24, 0x58($sp) +/* AED494 80240084 F7B60050 */ sdc1 $f22, 0x50($sp) +/* AED498 80240088 F7B40048 */ sdc1 $f20, 0x48($sp) +/* AED49C 8024008C 8E620148 */ lw $v0, 0x148($s3) +/* AED4A0 80240090 0C00EABB */ jal get_npc_unsafe +/* AED4A4 80240094 84440008 */ lh $a0, 8($v0) +/* AED4A8 80240098 27A40020 */ addiu $a0, $sp, 0x20 +/* AED4AC 8024009C 27A50024 */ addiu $a1, $sp, 0x24 +/* AED4B0 802400A0 0040802D */ daddu $s0, $v0, $zero +/* AED4B4 802400A4 8E63000C */ lw $v1, 0xc($s3) +/* AED4B8 802400A8 8E07000C */ lw $a3, 0xc($s0) +/* AED4BC 802400AC C6000038 */ lwc1 $f0, 0x38($s0) +/* AED4C0 802400B0 C6020040 */ lwc1 $f2, 0x40($s0) +/* AED4C4 802400B4 8C740000 */ lw $s4, ($v1) +/* AED4C8 802400B8 24630004 */ addiu $v1, $v1, 4 +/* AED4CC 802400BC C4780000 */ lwc1 $f24, ($v1) +/* AED4D0 802400C0 4680C620 */ cvt.s.w $f24, $f24 +/* AED4D4 802400C4 24630004 */ addiu $v1, $v1, 4 +/* AED4D8 802400C8 C4740000 */ lwc1 $f20, ($v1) +/* AED4DC 802400CC 4680A520 */ cvt.s.w $f20, $f20 +/* AED4E0 802400D0 4406A000 */ mfc1 $a2, $f20 +/* AED4E4 802400D4 C4760004 */ lwc1 $f22, 4($v1) +/* AED4E8 802400D8 4680B5A0 */ cvt.s.w $f22, $f22 +/* AED4EC 802400DC E7A00020 */ swc1 $f0, 0x20($sp) +/* AED4F0 802400E0 0C00A7E7 */ jal add_vec2D_polar +/* AED4F4 802400E4 E7A20024 */ swc1 $f2, 0x24($sp) +/* AED4F8 802400E8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AED4FC 802400EC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AED500 802400F0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AED504 802400F4 4480A000 */ mtc1 $zero, $f20 +/* AED508 802400F8 8E460028 */ lw $a2, 0x28($s2) +/* AED50C 802400FC 4407A000 */ mfc1 $a3, $f20 +/* AED510 80240100 0C00A7B5 */ jal dist2D +/* AED514 80240104 4600A386 */ mov.s $f14, $f20 +/* AED518 80240108 4600A306 */ mov.s $f12, $f20 +/* AED51C 8024010C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AED520 80240110 44066000 */ mfc1 $a2, $f12 +/* AED524 80240114 8E470030 */ lw $a3, 0x30($s2) +/* AED528 80240118 0C00A7B5 */ jal dist2D +/* AED52C 8024011C 46000506 */ mov.s $f20, $f0 +/* AED530 80240120 C604000C */ lwc1 $f4, 0xc($s0) +/* AED534 80240124 3C018024 */ lui $at, 0x8024 +/* AED538 80240128 D4224810 */ ldc1 $f2, 0x4810($at) +/* AED53C 8024012C 46002121 */ cvt.d.s $f4, $f4 +/* AED540 80240130 46222032 */ c.eq.d $f4, $f2 +/* AED544 80240134 00000000 */ nop +/* AED548 80240138 45010007 */ bc1t .L80240158 +/* AED54C 8024013C 46000086 */ mov.s $f2, $f0 +/* AED550 80240140 3C018024 */ lui $at, 0x8024 +/* AED554 80240144 D4204818 */ ldc1 $f0, 0x4818($at) +/* AED558 80240148 46202032 */ c.eq.d $f4, $f0 +/* AED55C 8024014C 00000000 */ nop +/* AED560 80240150 45000008 */ bc1f .L80240174 +/* AED564 80240154 00000000 */ nop +.L80240158: +/* AED568 80240158 4618A03E */ c.le.s $f20, $f24 +/* AED56C 8024015C 00000000 */ nop +/* AED570 80240160 4500000C */ bc1f .L80240194 +/* AED574 80240164 0000882D */ daddu $s1, $zero, $zero +/* AED578 80240168 4616103E */ c.le.s $f2, $f22 +/* AED57C 8024016C 08090063 */ j .L8024018C +/* AED580 80240170 00000000 */ nop +.L80240174: +/* AED584 80240174 4618103E */ c.le.s $f2, $f24 +/* AED588 80240178 00000000 */ nop +/* AED58C 8024017C 45000005 */ bc1f .L80240194 +/* AED590 80240180 0000882D */ daddu $s1, $zero, $zero +/* AED594 80240184 4616A03E */ c.le.s $f20, $f22 +/* AED598 80240188 00000000 */ nop +.L8024018C: +/* AED59C 8024018C 45030001 */ bc1tl .L80240194 +/* AED5A0 80240190 24110001 */ addiu $s1, $zero, 1 +.L80240194: +/* AED5A4 80240194 12200027 */ beqz $s1, .L80240234 +/* AED5A8 80240198 0260202D */ daddu $a0, $s3, $zero +/* AED5AC 8024019C C60C0038 */ lwc1 $f12, 0x38($s0) +/* AED5B0 802401A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AED5B4 802401A4 8E460028 */ lw $a2, 0x28($s2) +/* AED5B8 802401A8 8E470030 */ lw $a3, 0x30($s2) +/* AED5BC 802401AC C602003C */ lwc1 $f2, 0x3c($s0) +/* AED5C0 802401B0 46006006 */ mov.s $f0, $f12 +/* AED5C4 802401B4 46007106 */ mov.s $f4, $f14 +/* AED5C8 802401B8 E7A00020 */ swc1 $f0, 0x20($sp) +/* AED5CC 802401BC E7A20028 */ swc1 $f2, 0x28($sp) +/* AED5D0 802401C0 0C00A7B5 */ jal dist2D +/* AED5D4 802401C4 E7A40024 */ swc1 $f4, 0x24($sp) +/* AED5D8 802401C8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* AED5DC 802401CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* AED5E0 802401D0 8E460028 */ lw $a2, 0x28($s2) +/* AED5E4 802401D4 8E470030 */ lw $a3, 0x30($s2) +/* AED5E8 802401D8 0C00A720 */ jal atan2 +/* AED5EC 802401DC 46000506 */ mov.s $f20, $f0 +/* AED5F0 802401E0 3C040007 */ lui $a0, 7 +/* AED5F4 802401E4 34848000 */ ori $a0, $a0, 0x8000 +/* AED5F8 802401E8 27A50020 */ addiu $a1, $sp, 0x20 +/* AED5FC 802401EC E7B40010 */ swc1 $f20, 0x10($sp) +/* AED600 802401F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* AED604 802401F4 860200A6 */ lh $v0, 0xa6($s0) +/* AED608 802401F8 27A60028 */ addiu $a2, $sp, 0x28 +/* AED60C 802401FC 44820000 */ mtc1 $v0, $f0 +/* AED610 80240200 00000000 */ nop +/* AED614 80240204 46800020 */ cvt.s.w $f0, $f0 +/* AED618 80240208 E7A00018 */ swc1 $f0, 0x18($sp) +/* AED61C 8024020C 860200A8 */ lh $v0, 0xa8($s0) +/* AED620 80240210 27A70024 */ addiu $a3, $sp, 0x24 +/* AED624 80240214 44820000 */ mtc1 $v0, $f0 +/* AED628 80240218 00000000 */ nop +/* AED62C 8024021C 46800020 */ cvt.s.w $f0, $f0 +/* AED630 80240220 0C0376B9 */ jal func_800DDAE4 +/* AED634 80240224 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AED638 80240228 54400001 */ bnel $v0, $zero, .L80240230 +/* AED63C 8024022C 0000882D */ daddu $s1, $zero, $zero +.L80240230: +/* AED640 80240230 0260202D */ daddu $a0, $s3, $zero +.L80240234: +/* AED644 80240234 0280282D */ daddu $a1, $s4, $zero +/* AED648 80240238 0C0B2026 */ jal set_variable +/* AED64C 8024023C 0220302D */ daddu $a2, $s1, $zero +/* AED650 80240240 8FBF0044 */ lw $ra, 0x44($sp) +/* AED654 80240244 8FB40040 */ lw $s4, 0x40($sp) +/* AED658 80240248 8FB3003C */ lw $s3, 0x3c($sp) +/* AED65C 8024024C 8FB20038 */ lw $s2, 0x38($sp) +/* AED660 80240250 8FB10034 */ lw $s1, 0x34($sp) +/* AED664 80240254 8FB00030 */ lw $s0, 0x30($sp) +/* AED668 80240258 D7B80058 */ ldc1 $f24, 0x58($sp) +/* AED66C 8024025C D7B60050 */ ldc1 $f22, 0x50($sp) +/* AED670 80240260 D7B40048 */ ldc1 $f20, 0x48($sp) +/* AED674 80240264 24020002 */ addiu $v0, $zero, 2 +/* AED678 80240268 03E00008 */ jr $ra +/* AED67C 8024026C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240270_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240270_AED410.s new file mode 100644 index 0000000000..80f7b3e787 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240270_AED410.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240270_AED680 +/* AED680 80240270 27BDFF80 */ addiu $sp, $sp, -0x80 +/* AED684 80240274 F7B40060 */ sdc1 $f20, 0x60($sp) +/* AED688 80240278 4485A000 */ mtc1 $a1, $f20 +/* AED68C 8024027C F7B60068 */ sdc1 $f22, 0x68($sp) +/* AED690 80240280 4486B000 */ mtc1 $a2, $f22 +/* AED694 80240284 F7B80070 */ sdc1 $f24, 0x70($sp) +/* AED698 80240288 4487C000 */ mtc1 $a3, $f24 +/* AED69C 8024028C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* AED6A0 80240290 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* AED6A4 80240294 AFBF0058 */ sw $ra, 0x58($sp) +/* AED6A8 80240298 AFB10054 */ sw $s1, 0x54($sp) +/* AED6AC 8024029C 0C046C04 */ jal get_model_list_index_from_tree_index +/* AED6B0 802402A0 AFB00050 */ sw $s0, 0x50($sp) +/* AED6B4 802402A4 0C046B4C */ jal get_model_from_list_index +/* AED6B8 802402A8 0040202D */ daddu $a0, $v0, $zero +/* AED6BC 802402AC 0040802D */ daddu $s0, $v0, $zero +/* AED6C0 802402B0 26110058 */ addiu $s1, $s0, 0x58 +/* AED6C4 802402B4 4405A000 */ mfc1 $a1, $f20 +/* AED6C8 802402B8 4406B000 */ mfc1 $a2, $f22 +/* AED6CC 802402BC 4407C000 */ mfc1 $a3, $f24 +/* AED6D0 802402C0 0C019E40 */ jal guTranslateF +/* AED6D4 802402C4 0220202D */ daddu $a0, $s1, $zero +/* AED6D8 802402C8 27A40010 */ addiu $a0, $sp, 0x10 +/* AED6DC 802402CC 4405D000 */ mfc1 $a1, $f26 +/* AED6E0 802402D0 3C063F80 */ lui $a2, 0x3f80 +/* AED6E4 802402D4 0C019DF0 */ jal guScaleF +/* AED6E8 802402D8 00A0382D */ daddu $a3, $a1, $zero +/* AED6EC 802402DC 27A40010 */ addiu $a0, $sp, 0x10 +/* AED6F0 802402E0 0220282D */ daddu $a1, $s1, $zero +/* AED6F4 802402E4 0C019D80 */ jal guMtxCatF +/* AED6F8 802402E8 00A0302D */ daddu $a2, $a1, $zero +/* AED6FC 802402EC 96020000 */ lhu $v0, ($s0) +/* AED700 802402F0 34421400 */ ori $v0, $v0, 0x1400 +/* AED704 802402F4 A6020000 */ sh $v0, ($s0) +/* AED708 802402F8 8FBF0058 */ lw $ra, 0x58($sp) +/* AED70C 802402FC 8FB10054 */ lw $s1, 0x54($sp) +/* AED710 80240300 8FB00050 */ lw $s0, 0x50($sp) +/* AED714 80240304 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* AED718 80240308 D7B80070 */ ldc1 $f24, 0x70($sp) +/* AED71C 8024030C D7B60068 */ ldc1 $f22, 0x68($sp) +/* AED720 80240310 D7B40060 */ ldc1 $f20, 0x60($sp) +/* AED724 80240314 03E00008 */ jr $ra +/* AED728 80240318 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_8024031C_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_8024031C_AED410.s new file mode 100644 index 0000000000..108fb45edb --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_8024031C_AED410.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024031C_AED72C +/* AED72C 8024031C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* AED730 80240320 AFB7004C */ sw $s7, 0x4c($sp) +/* AED734 80240324 0080B82D */ daddu $s7, $a0, $zero +/* AED738 80240328 AFBF0054 */ sw $ra, 0x54($sp) +/* AED73C 8024032C AFBE0050 */ sw $fp, 0x50($sp) +/* AED740 80240330 AFB60048 */ sw $s6, 0x48($sp) +/* AED744 80240334 AFB50044 */ sw $s5, 0x44($sp) +/* AED748 80240338 AFB40040 */ sw $s4, 0x40($sp) +/* AED74C 8024033C AFB3003C */ sw $s3, 0x3c($sp) +/* AED750 80240340 AFB20038 */ sw $s2, 0x38($sp) +/* AED754 80240344 AFB10034 */ sw $s1, 0x34($sp) +/* AED758 80240348 AFB00030 */ sw $s0, 0x30($sp) +/* AED75C 8024034C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* AED760 80240350 F7B80068 */ sdc1 $f24, 0x68($sp) +/* AED764 80240354 F7B60060 */ sdc1 $f22, 0x60($sp) +/* AED768 80240358 F7B40058 */ sdc1 $f20, 0x58($sp) +/* AED76C 8024035C 8EE20148 */ lw $v0, 0x148($s7) +/* AED770 80240360 0C00EABB */ jal get_npc_unsafe +/* AED774 80240364 84440008 */ lh $a0, 8($v0) +/* AED778 80240368 27B50020 */ addiu $s5, $sp, 0x20 +/* AED77C 8024036C 02A0202D */ daddu $a0, $s5, $zero +/* AED780 80240370 0040882D */ daddu $s1, $v0, $zero +/* AED784 80240374 27B40024 */ addiu $s4, $sp, 0x24 +/* AED788 80240378 8EE3000C */ lw $v1, 0xc($s7) +/* AED78C 8024037C 3C0641F0 */ lui $a2, 0x41f0 +/* AED790 80240380 8E27000C */ lw $a3, 0xc($s1) +/* AED794 80240384 C6200038 */ lwc1 $f0, 0x38($s1) +/* AED798 80240388 C6220040 */ lwc1 $f2, 0x40($s1) +/* AED79C 8024038C 8C7E0000 */ lw $fp, ($v1) +/* AED7A0 80240390 24630004 */ addiu $v1, $v1, 4 +/* AED7A4 80240394 C4740000 */ lwc1 $f20, ($v1) +/* AED7A8 80240398 4680A520 */ cvt.s.w $f20, $f20 +/* AED7AC 8024039C 24630004 */ addiu $v1, $v1, 4 +/* AED7B0 802403A0 C4760000 */ lwc1 $f22, ($v1) +/* AED7B4 802403A4 4680B5A0 */ cvt.s.w $f22, $f22 +/* AED7B8 802403A8 24630004 */ addiu $v1, $v1, 4 +/* AED7BC 802403AC C4780000 */ lwc1 $f24, ($v1) +/* AED7C0 802403B0 4680C620 */ cvt.s.w $f24, $f24 +/* AED7C4 802403B4 24630004 */ addiu $v1, $v1, 4 +/* AED7C8 802403B8 C47A0000 */ lwc1 $f26, ($v1) +/* AED7CC 802403BC 4680D6A0 */ cvt.s.w $f26, $f26 +/* AED7D0 802403C0 24630004 */ addiu $v1, $v1, 4 +/* AED7D4 802403C4 8C760000 */ lw $s6, ($v1) +/* AED7D8 802403C8 8C700004 */ lw $s0, 4($v1) +/* AED7DC 802403CC 0280282D */ daddu $a1, $s4, $zero +/* AED7E0 802403D0 E7A00020 */ swc1 $f0, 0x20($sp) +/* AED7E4 802403D4 0C00A7E7 */ jal add_vec2D_polar +/* AED7E8 802403D8 E7A20024 */ swc1 $f2, 0x24($sp) +/* AED7EC 802403DC 3C038015 */ lui $v1, %hi(D_80151328) +/* AED7F0 802403E0 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* AED7F4 802403E4 C7A00020 */ lwc1 $f0, 0x20($sp) +/* AED7F8 802403E8 3C0141A0 */ lui $at, 0x41a0 +/* AED7FC 802403EC 44811000 */ mtc1 $at, $f2 +/* AED800 802403F0 00101040 */ sll $v0, $s0, 1 +/* AED804 802403F4 00501021 */ addu $v0, $v0, $s0 +/* AED808 802403F8 000210C0 */ sll $v0, $v0, 3 +/* AED80C 802403FC 24420004 */ addiu $v0, $v0, 4 +/* AED810 80240400 00621821 */ addu $v1, $v1, $v0 +/* AED814 80240404 E4600004 */ swc1 $f0, 4($v1) +/* AED818 80240408 C620003C */ lwc1 $f0, 0x3c($s1) +/* AED81C 8024040C 4406A000 */ mfc1 $a2, $f20 +/* AED820 80240410 46020000 */ add.s $f0, $f0, $f2 +/* AED824 80240414 C7A20024 */ lwc1 $f2, 0x24($sp) +/* AED828 80240418 02A0202D */ daddu $a0, $s5, $zero +/* AED82C 8024041C E462000C */ swc1 $f2, 0xc($v1) +/* AED830 80240420 E4600008 */ swc1 $f0, 8($v1) +/* AED834 80240424 8E27000C */ lw $a3, 0xc($s1) +/* AED838 80240428 C6200038 */ lwc1 $f0, 0x38($s1) +/* AED83C 8024042C C6220040 */ lwc1 $f2, 0x40($s1) +/* AED840 80240430 0280282D */ daddu $a1, $s4, $zero +/* AED844 80240434 E7A00020 */ swc1 $f0, 0x20($sp) +/* AED848 80240438 0C00A7E7 */ jal add_vec2D_polar +/* AED84C 8024043C E7A20024 */ swc1 $f2, 0x24($sp) +/* AED850 80240440 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AED854 80240444 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AED858 80240448 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AED85C 8024044C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AED860 80240450 8E460028 */ lw $a2, 0x28($s2) +/* AED864 80240454 8E470030 */ lw $a3, 0x30($s2) +/* AED868 80240458 0C00A7B5 */ jal dist2D +/* AED86C 8024045C 0000802D */ daddu $s0, $zero, $zero +/* AED870 80240460 4616003E */ c.le.s $f0, $f22 +/* AED874 80240464 00000000 */ nop +/* AED878 80240468 45000002 */ bc1f .L80240474 +/* AED87C 8024046C 0240982D */ daddu $s3, $s2, $zero +/* AED880 80240470 24100001 */ addiu $s0, $zero, 1 +.L80240474: +/* AED884 80240474 4600B021 */ cvt.d.s $f0, $f22 +/* AED888 80240478 46200000 */ add.d $f0, $f0, $f0 +/* AED88C 8024047C 3C014059 */ lui $at, 0x4059 +/* AED890 80240480 44811800 */ mtc1 $at, $f3 +/* AED894 80240484 44801000 */ mtc1 $zero, $f2 +/* AED898 80240488 3C018024 */ lui $at, 0x8024 +/* AED89C 8024048C D4244820 */ ldc1 $f4, 0x4820($at) +/* AED8A0 80240490 46220003 */ div.d $f0, $f0, $f2 +/* AED8A4 80240494 46240000 */ add.d $f0, $f0, $f4 +/* AED8A8 80240498 C7A20020 */ lwc1 $f2, 0x20($sp) +/* AED8AC 8024049C C7A40024 */ lwc1 $f4, 0x24($sp) +/* AED8B0 802404A0 44051000 */ mfc1 $a1, $f2 +/* AED8B4 802404A4 44072000 */ mfc1 $a3, $f4 +/* AED8B8 802404A8 46200020 */ cvt.s.d $f0, $f0 +/* AED8BC 802404AC E7A00010 */ swc1 $f0, 0x10($sp) +/* AED8C0 802404B0 8E26003C */ lw $a2, 0x3c($s1) +/* AED8C4 802404B4 0C09009C */ jal func_80240270 +/* AED8C8 802404B8 02C0202D */ daddu $a0, $s6, $zero +/* AED8CC 802404BC 02A0202D */ daddu $a0, $s5, $zero +/* AED8D0 802404C0 4406C000 */ mfc1 $a2, $f24 +/* AED8D4 802404C4 8E27000C */ lw $a3, 0xc($s1) +/* AED8D8 802404C8 C6200038 */ lwc1 $f0, 0x38($s1) +/* AED8DC 802404CC C6220040 */ lwc1 $f2, 0x40($s1) +/* AED8E0 802404D0 0280282D */ daddu $a1, $s4, $zero +/* AED8E4 802404D4 E7A00020 */ swc1 $f0, 0x20($sp) +/* AED8E8 802404D8 0C00A7E7 */ jal add_vec2D_polar +/* AED8EC 802404DC E7A20024 */ swc1 $f2, 0x24($sp) +/* AED8F0 802404E0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AED8F4 802404E4 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AED8F8 802404E8 8E460028 */ lw $a2, 0x28($s2) +/* AED8FC 802404EC 0C00A7B5 */ jal dist2D +/* AED900 802404F0 8E470030 */ lw $a3, 0x30($s2) +/* AED904 802404F4 461A003E */ c.le.s $f0, $f26 +/* AED908 802404F8 00000000 */ nop +/* AED90C 802404FC 45030001 */ bc1tl .L80240504 +/* AED910 80240500 36100010 */ ori $s0, $s0, 0x10 +.L80240504: +/* AED914 80240504 32020001 */ andi $v0, $s0, 1 +/* AED918 80240508 10400026 */ beqz $v0, .L802405A4 +/* AED91C 8024050C 02E0202D */ daddu $a0, $s7, $zero +/* AED920 80240510 C62C0038 */ lwc1 $f12, 0x38($s1) +/* AED924 80240514 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AED928 80240518 8E660028 */ lw $a2, 0x28($s3) +/* AED92C 8024051C 8E670030 */ lw $a3, 0x30($s3) +/* AED930 80240520 C622003C */ lwc1 $f2, 0x3c($s1) +/* AED934 80240524 46006006 */ mov.s $f0, $f12 +/* AED938 80240528 46007106 */ mov.s $f4, $f14 +/* AED93C 8024052C E7A00020 */ swc1 $f0, 0x20($sp) +/* AED940 80240530 E7A20028 */ swc1 $f2, 0x28($sp) +/* AED944 80240534 0C00A7B5 */ jal dist2D +/* AED948 80240538 E7A40024 */ swc1 $f4, 0x24($sp) +/* AED94C 8024053C C62C0038 */ lwc1 $f12, 0x38($s1) +/* AED950 80240540 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AED954 80240544 8E660028 */ lw $a2, 0x28($s3) +/* AED958 80240548 8E670030 */ lw $a3, 0x30($s3) +/* AED95C 8024054C 0C00A720 */ jal atan2 +/* AED960 80240550 46000506 */ mov.s $f20, $f0 +/* AED964 80240554 0000202D */ daddu $a0, $zero, $zero +/* AED968 80240558 02A0282D */ daddu $a1, $s5, $zero +/* AED96C 8024055C E7B40010 */ swc1 $f20, 0x10($sp) +/* AED970 80240560 E7A00014 */ swc1 $f0, 0x14($sp) +/* AED974 80240564 862200A6 */ lh $v0, 0xa6($s1) +/* AED978 80240568 27A60028 */ addiu $a2, $sp, 0x28 +/* AED97C 8024056C 44820000 */ mtc1 $v0, $f0 +/* AED980 80240570 00000000 */ nop +/* AED984 80240574 46800020 */ cvt.s.w $f0, $f0 +/* AED988 80240578 E7A00018 */ swc1 $f0, 0x18($sp) +/* AED98C 8024057C 862200A8 */ lh $v0, 0xa8($s1) +/* AED990 80240580 0280382D */ daddu $a3, $s4, $zero +/* AED994 80240584 44820000 */ mtc1 $v0, $f0 +/* AED998 80240588 00000000 */ nop +/* AED99C 8024058C 46800020 */ cvt.s.w $f0, $f0 +/* AED9A0 80240590 0C0376B9 */ jal func_800DDAE4 +/* AED9A4 80240594 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AED9A8 80240598 54400001 */ bnel $v0, $zero, .L802405A0 +/* AED9AC 8024059C 0000802D */ daddu $s0, $zero, $zero +.L802405A0: +/* AED9B0 802405A0 02E0202D */ daddu $a0, $s7, $zero +.L802405A4: +/* AED9B4 802405A4 03C0282D */ daddu $a1, $fp, $zero +/* AED9B8 802405A8 0C0B2026 */ jal set_variable +/* AED9BC 802405AC 0200302D */ daddu $a2, $s0, $zero +/* AED9C0 802405B0 8FBF0054 */ lw $ra, 0x54($sp) +/* AED9C4 802405B4 8FBE0050 */ lw $fp, 0x50($sp) +/* AED9C8 802405B8 8FB7004C */ lw $s7, 0x4c($sp) +/* AED9CC 802405BC 8FB60048 */ lw $s6, 0x48($sp) +/* AED9D0 802405C0 8FB50044 */ lw $s5, 0x44($sp) +/* AED9D4 802405C4 8FB40040 */ lw $s4, 0x40($sp) +/* AED9D8 802405C8 8FB3003C */ lw $s3, 0x3c($sp) +/* AED9DC 802405CC 8FB20038 */ lw $s2, 0x38($sp) +/* AED9E0 802405D0 8FB10034 */ lw $s1, 0x34($sp) +/* AED9E4 802405D4 8FB00030 */ lw $s0, 0x30($sp) +/* AED9E8 802405D8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* AED9EC 802405DC D7B80068 */ ldc1 $f24, 0x68($sp) +/* AED9F0 802405E0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* AED9F4 802405E4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* AED9F8 802405E8 24020002 */ addiu $v0, $zero, 2 +/* AED9FC 802405EC 03E00008 */ jr $ra +/* AEDA00 802405F0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_802405F4_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_802405F4_AED410.s new file mode 100644 index 0000000000..9023286e8f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_802405F4_AED410.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F4_AEDA04 +/* AEDA04 802405F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AEDA08 802405F8 AFB10014 */ sw $s1, 0x14($sp) +/* AEDA0C 802405FC 0080882D */ daddu $s1, $a0, $zero +/* AEDA10 80240600 AFBF0024 */ sw $ra, 0x24($sp) +/* AEDA14 80240604 AFB40020 */ sw $s4, 0x20($sp) +/* AEDA18 80240608 AFB3001C */ sw $s3, 0x1c($sp) +/* AEDA1C 8024060C AFB20018 */ sw $s2, 0x18($sp) +/* AEDA20 80240610 AFB00010 */ sw $s0, 0x10($sp) +/* AEDA24 80240614 8E30000C */ lw $s0, 0xc($s1) +/* AEDA28 80240618 8E140000 */ lw $s4, ($s0) +/* AEDA2C 8024061C 26100004 */ addiu $s0, $s0, 4 +/* AEDA30 80240620 8E050000 */ lw $a1, ($s0) +/* AEDA34 80240624 0C0B1EAF */ jal get_variable +/* AEDA38 80240628 26100004 */ addiu $s0, $s0, 4 +/* AEDA3C 8024062C 8E050000 */ lw $a1, ($s0) +/* AEDA40 80240630 26100004 */ addiu $s0, $s0, 4 +/* AEDA44 80240634 0220202D */ daddu $a0, $s1, $zero +/* AEDA48 80240638 0C0B1EAF */ jal get_variable +/* AEDA4C 8024063C 0040982D */ daddu $s3, $v0, $zero +/* AEDA50 80240640 8E050000 */ lw $a1, ($s0) +/* AEDA54 80240644 26100004 */ addiu $s0, $s0, 4 +/* AEDA58 80240648 0220202D */ daddu $a0, $s1, $zero +/* AEDA5C 8024064C 0C0B1EAF */ jal get_variable +/* AEDA60 80240650 0040902D */ daddu $s2, $v0, $zero +/* AEDA64 80240654 0220202D */ daddu $a0, $s1, $zero +/* AEDA68 80240658 8E050000 */ lw $a1, ($s0) +/* AEDA6C 8024065C 0C0B1EAF */ jal get_variable +/* AEDA70 80240660 0040802D */ daddu $s0, $v0, $zero +/* AEDA74 80240664 44901000 */ mtc1 $s0, $f2 +/* AEDA78 80240668 00000000 */ nop +/* AEDA7C 8024066C 468010A0 */ cvt.s.w $f2, $f2 +/* AEDA80 80240670 44936000 */ mtc1 $s3, $f12 +/* AEDA84 80240674 00000000 */ nop +/* AEDA88 80240678 46806320 */ cvt.s.w $f12, $f12 +/* AEDA8C 8024067C 44061000 */ mfc1 $a2, $f2 +/* AEDA90 80240680 44821000 */ mtc1 $v0, $f2 +/* AEDA94 80240684 00000000 */ nop +/* AEDA98 80240688 468010A0 */ cvt.s.w $f2, $f2 +/* AEDA9C 8024068C 44071000 */ mfc1 $a3, $f2 +/* AEDAA0 80240690 44927000 */ mtc1 $s2, $f14 +/* AEDAA4 80240694 00000000 */ nop +/* AEDAA8 80240698 0C00A720 */ jal atan2 +/* AEDAAC 8024069C 468073A0 */ cvt.s.w $f14, $f14 +/* AEDAB0 802406A0 0220202D */ daddu $a0, $s1, $zero +/* AEDAB4 802406A4 4600008D */ trunc.w.s $f2, $f0 +/* AEDAB8 802406A8 44061000 */ mfc1 $a2, $f2 +/* AEDABC 802406AC 0C0B2026 */ jal set_variable +/* AEDAC0 802406B0 0280282D */ daddu $a1, $s4, $zero +/* AEDAC4 802406B4 8FBF0024 */ lw $ra, 0x24($sp) +/* AEDAC8 802406B8 8FB40020 */ lw $s4, 0x20($sp) +/* AEDACC 802406BC 8FB3001C */ lw $s3, 0x1c($sp) +/* AEDAD0 802406C0 8FB20018 */ lw $s2, 0x18($sp) +/* AEDAD4 802406C4 8FB10014 */ lw $s1, 0x14($sp) +/* AEDAD8 802406C8 8FB00010 */ lw $s0, 0x10($sp) +/* AEDADC 802406CC 24020002 */ addiu $v0, $zero, 2 +/* AEDAE0 802406D0 03E00008 */ jr $ra +/* AEDAE4 802406D4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_802406D8.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_802406D8.s new file mode 100644 index 0000000000..05e6f3d9e1 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_802406D8.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406D8 +/* AEDAE8 802406D8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AEDAEC 802406DC AFB3001C */ sw $s3, 0x1c($sp) +/* AEDAF0 802406E0 0080982D */ daddu $s3, $a0, $zero +/* AEDAF4 802406E4 AFBF0030 */ sw $ra, 0x30($sp) +/* AEDAF8 802406E8 AFB7002C */ sw $s7, 0x2c($sp) +/* AEDAFC 802406EC AFB60028 */ sw $s6, 0x28($sp) +/* AEDB00 802406F0 AFB50024 */ sw $s5, 0x24($sp) +/* AEDB04 802406F4 AFB40020 */ sw $s4, 0x20($sp) +/* AEDB08 802406F8 AFB20018 */ sw $s2, 0x18($sp) +/* AEDB0C 802406FC AFB10014 */ sw $s1, 0x14($sp) +/* AEDB10 80240700 AFB00010 */ sw $s0, 0x10($sp) +/* AEDB14 80240704 F7B80048 */ sdc1 $f24, 0x48($sp) +/* AEDB18 80240708 F7B60040 */ sdc1 $f22, 0x40($sp) +/* AEDB1C 8024070C F7B40038 */ sdc1 $f20, 0x38($sp) +/* AEDB20 80240710 8E70000C */ lw $s0, 0xc($s3) +/* AEDB24 80240714 8E050000 */ lw $a1, ($s0) +/* AEDB28 80240718 0C0B1EAF */ jal get_variable +/* AEDB2C 8024071C 26100004 */ addiu $s0, $s0, 4 +/* AEDB30 80240720 8E150000 */ lw $s5, ($s0) +/* AEDB34 80240724 26100004 */ addiu $s0, $s0, 4 +/* AEDB38 80240728 0260202D */ daddu $a0, $s3, $zero +/* AEDB3C 8024072C 8E160000 */ lw $s6, ($s0) +/* AEDB40 80240730 8E170004 */ lw $s7, 4($s0) +/* AEDB44 80240734 0C0B36B0 */ jal resolve_npc +/* AEDB48 80240738 0040282D */ daddu $a1, $v0, $zero +/* AEDB4C 8024073C 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* AEDB50 80240740 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* AEDB54 80240744 0040802D */ daddu $s0, $v0, $zero +/* AEDB58 80240748 1200002F */ beqz $s0, .L80240808 +/* AEDB5C 8024074C 0220902D */ daddu $s2, $s1, $zero +/* AEDB60 80240750 C62C0028 */ lwc1 $f12, 0x28($s1) +/* AEDB64 80240754 C62E0030 */ lwc1 $f14, 0x30($s1) +/* AEDB68 80240758 8E060038 */ lw $a2, 0x38($s0) +/* AEDB6C 8024075C 8E070040 */ lw $a3, 0x40($s0) +/* AEDB70 80240760 3C014248 */ lui $at, 0x4248 +/* AEDB74 80240764 4481C000 */ mtc1 $at, $f24 +/* AEDB78 80240768 0C00A7B5 */ jal dist2D +/* AEDB7C 8024076C 24140001 */ addiu $s4, $zero, 1 +/* AEDB80 80240770 4618003C */ c.lt.s $f0, $f24 +/* AEDB84 80240774 00000000 */ nop +/* AEDB88 80240778 45030001 */ bc1tl .L80240780 +/* AEDB8C 8024077C 0000A02D */ daddu $s4, $zero, $zero +.L80240780: +/* AEDB90 80240780 C64C0028 */ lwc1 $f12, 0x28($s2) +/* AEDB94 80240784 C64E0030 */ lwc1 $f14, 0x30($s2) +/* AEDB98 80240788 8E060038 */ lw $a2, 0x38($s0) +/* AEDB9C 8024078C 0C00A720 */ jal atan2 +/* AEDBA0 80240790 8E070040 */ lw $a3, 0x40($s0) +/* AEDBA4 80240794 0C00A6C9 */ jal clamp_angle +/* AEDBA8 80240798 46000306 */ mov.s $f12, $f0 +/* AEDBAC 8024079C 46000506 */ mov.s $f20, $f0 +/* AEDBB0 802407A0 0C00A8BB */ jal sin_deg +/* AEDBB4 802407A4 4600A306 */ mov.s $f12, $f20 +/* AEDBB8 802407A8 46180002 */ mul.s $f0, $f0, $f24 +/* AEDBBC 802407AC 00000000 */ nop +/* AEDBC0 802407B0 C6560028 */ lwc1 $f22, 0x28($s2) +/* AEDBC4 802407B4 4600B580 */ add.s $f22, $f22, $f0 +/* AEDBC8 802407B8 0C00A8D4 */ jal cos_deg +/* AEDBCC 802407BC 4600A306 */ mov.s $f12, $f20 +/* AEDBD0 802407C0 46180002 */ mul.s $f0, $f0, $f24 +/* AEDBD4 802407C4 00000000 */ nop +/* AEDBD8 802407C8 0260202D */ daddu $a0, $s3, $zero +/* AEDBDC 802407CC 02A0282D */ daddu $a1, $s5, $zero +/* AEDBE0 802407D0 C6540030 */ lwc1 $f20, 0x30($s2) +/* AEDBE4 802407D4 0280302D */ daddu $a2, $s4, $zero +/* AEDBE8 802407D8 0C0B2026 */ jal set_variable +/* AEDBEC 802407DC 4600A501 */ sub.s $f20, $f20, $f0 +/* AEDBF0 802407E0 0260202D */ daddu $a0, $s3, $zero +/* AEDBF4 802407E4 4600B08D */ trunc.w.s $f2, $f22 +/* AEDBF8 802407E8 44061000 */ mfc1 $a2, $f2 +/* AEDBFC 802407EC 0C0B2026 */ jal set_variable +/* AEDC00 802407F0 02C0282D */ daddu $a1, $s6, $zero +/* AEDC04 802407F4 0260202D */ daddu $a0, $s3, $zero +/* AEDC08 802407F8 4600A08D */ trunc.w.s $f2, $f20 +/* AEDC0C 802407FC 44061000 */ mfc1 $a2, $f2 +/* AEDC10 80240800 0C0B2026 */ jal set_variable +/* AEDC14 80240804 02E0282D */ daddu $a1, $s7, $zero +.L80240808: +/* AEDC18 80240808 24020002 */ addiu $v0, $zero, 2 +/* AEDC1C 8024080C 8FBF0030 */ lw $ra, 0x30($sp) +/* AEDC20 80240810 8FB7002C */ lw $s7, 0x2c($sp) +/* AEDC24 80240814 8FB60028 */ lw $s6, 0x28($sp) +/* AEDC28 80240818 8FB50024 */ lw $s5, 0x24($sp) +/* AEDC2C 8024081C 8FB40020 */ lw $s4, 0x20($sp) +/* AEDC30 80240820 8FB3001C */ lw $s3, 0x1c($sp) +/* AEDC34 80240824 8FB20018 */ lw $s2, 0x18($sp) +/* AEDC38 80240828 8FB10014 */ lw $s1, 0x14($sp) +/* AEDC3C 8024082C 8FB00010 */ lw $s0, 0x10($sp) +/* AEDC40 80240830 D7B80048 */ ldc1 $f24, 0x48($sp) +/* AEDC44 80240834 D7B60040 */ ldc1 $f22, 0x40($sp) +/* AEDC48 80240838 D7B40038 */ ldc1 $f20, 0x38($sp) +/* AEDC4C 8024083C 03E00008 */ jr $ra +/* AEDC50 80240840 27BD0050 */ addiu $sp, $sp, 0x50 +/* AEDC54 80240844 00000000 */ nop +/* AEDC58 80240848 00000000 */ nop +/* AEDC5C 8024084C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240850.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240850.s new file mode 100644 index 0000000000..500d295d09 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240850.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240850 +/* AEDC60 80240850 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* AEDC64 80240854 AFB3003C */ sw $s3, 0x3c($sp) +/* AEDC68 80240858 0080982D */ daddu $s3, $a0, $zero +/* AEDC6C 8024085C AFBF0044 */ sw $ra, 0x44($sp) +/* AEDC70 80240860 AFB40040 */ sw $s4, 0x40($sp) +/* AEDC74 80240864 AFB20038 */ sw $s2, 0x38($sp) +/* AEDC78 80240868 AFB10034 */ sw $s1, 0x34($sp) +/* AEDC7C 8024086C AFB00030 */ sw $s0, 0x30($sp) +/* AEDC80 80240870 F7B80058 */ sdc1 $f24, 0x58($sp) +/* AEDC84 80240874 F7B60050 */ sdc1 $f22, 0x50($sp) +/* AEDC88 80240878 F7B40048 */ sdc1 $f20, 0x48($sp) +/* AEDC8C 8024087C 8E620148 */ lw $v0, 0x148($s3) +/* AEDC90 80240880 0C00EABB */ jal get_npc_unsafe +/* AEDC94 80240884 84440008 */ lh $a0, 8($v0) +/* AEDC98 80240888 27A40020 */ addiu $a0, $sp, 0x20 +/* AEDC9C 8024088C 27A50024 */ addiu $a1, $sp, 0x24 +/* AEDCA0 80240890 0040802D */ daddu $s0, $v0, $zero +/* AEDCA4 80240894 8E63000C */ lw $v1, 0xc($s3) +/* AEDCA8 80240898 8E07000C */ lw $a3, 0xc($s0) +/* AEDCAC 8024089C C6000038 */ lwc1 $f0, 0x38($s0) +/* AEDCB0 802408A0 C6020040 */ lwc1 $f2, 0x40($s0) +/* AEDCB4 802408A4 8C740000 */ lw $s4, ($v1) +/* AEDCB8 802408A8 24630004 */ addiu $v1, $v1, 4 +/* AEDCBC 802408AC C4780000 */ lwc1 $f24, ($v1) +/* AEDCC0 802408B0 4680C620 */ cvt.s.w $f24, $f24 +/* AEDCC4 802408B4 24630004 */ addiu $v1, $v1, 4 +/* AEDCC8 802408B8 C4740000 */ lwc1 $f20, ($v1) +/* AEDCCC 802408BC 4680A520 */ cvt.s.w $f20, $f20 +/* AEDCD0 802408C0 4406A000 */ mfc1 $a2, $f20 +/* AEDCD4 802408C4 C4760004 */ lwc1 $f22, 4($v1) +/* AEDCD8 802408C8 4680B5A0 */ cvt.s.w $f22, $f22 +/* AEDCDC 802408CC E7A00020 */ swc1 $f0, 0x20($sp) +/* AEDCE0 802408D0 0C00A7E7 */ jal add_vec2D_polar +/* AEDCE4 802408D4 E7A20024 */ swc1 $f2, 0x24($sp) +/* AEDCE8 802408D8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AEDCEC 802408DC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AEDCF0 802408E0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AEDCF4 802408E4 4480A000 */ mtc1 $zero, $f20 +/* AEDCF8 802408E8 8E460028 */ lw $a2, 0x28($s2) +/* AEDCFC 802408EC 4407A000 */ mfc1 $a3, $f20 +/* AEDD00 802408F0 0C00A7B5 */ jal dist2D +/* AEDD04 802408F4 4600A386 */ mov.s $f14, $f20 +/* AEDD08 802408F8 4600A306 */ mov.s $f12, $f20 +/* AEDD0C 802408FC C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AEDD10 80240900 44066000 */ mfc1 $a2, $f12 +/* AEDD14 80240904 8E470030 */ lw $a3, 0x30($s2) +/* AEDD18 80240908 0C00A7B5 */ jal dist2D +/* AEDD1C 8024090C 46000506 */ mov.s $f20, $f0 +/* AEDD20 80240910 C604000C */ lwc1 $f4, 0xc($s0) +/* AEDD24 80240914 3C018024 */ lui $at, 0x8024 +/* AEDD28 80240918 D4224830 */ ldc1 $f2, 0x4830($at) +/* AEDD2C 8024091C 46002121 */ cvt.d.s $f4, $f4 +/* AEDD30 80240920 46222032 */ c.eq.d $f4, $f2 +/* AEDD34 80240924 00000000 */ nop +/* AEDD38 80240928 45010007 */ bc1t .L80240948 +/* AEDD3C 8024092C 46000086 */ mov.s $f2, $f0 +/* AEDD40 80240930 3C018024 */ lui $at, 0x8024 +/* AEDD44 80240934 D4204838 */ ldc1 $f0, 0x4838($at) +/* AEDD48 80240938 46202032 */ c.eq.d $f4, $f0 +/* AEDD4C 8024093C 00000000 */ nop +/* AEDD50 80240940 45000008 */ bc1f .L80240964 +/* AEDD54 80240944 00000000 */ nop +.L80240948: +/* AEDD58 80240948 4618A03E */ c.le.s $f20, $f24 +/* AEDD5C 8024094C 00000000 */ nop +/* AEDD60 80240950 4500000C */ bc1f .L80240984 +/* AEDD64 80240954 0000882D */ daddu $s1, $zero, $zero +/* AEDD68 80240958 4616103E */ c.le.s $f2, $f22 +/* AEDD6C 8024095C 0809025F */ j .L8024097C +/* AEDD70 80240960 00000000 */ nop +.L80240964: +/* AEDD74 80240964 4618103E */ c.le.s $f2, $f24 +/* AEDD78 80240968 00000000 */ nop +/* AEDD7C 8024096C 45000005 */ bc1f .L80240984 +/* AEDD80 80240970 0000882D */ daddu $s1, $zero, $zero +/* AEDD84 80240974 4616A03E */ c.le.s $f20, $f22 +/* AEDD88 80240978 00000000 */ nop +.L8024097C: +/* AEDD8C 8024097C 45030001 */ bc1tl .L80240984 +/* AEDD90 80240980 24110001 */ addiu $s1, $zero, 1 +.L80240984: +/* AEDD94 80240984 12200027 */ beqz $s1, .L80240A24 +/* AEDD98 80240988 0260202D */ daddu $a0, $s3, $zero +/* AEDD9C 8024098C C60C0038 */ lwc1 $f12, 0x38($s0) +/* AEDDA0 80240990 C60E0040 */ lwc1 $f14, 0x40($s0) +/* AEDDA4 80240994 8E460028 */ lw $a2, 0x28($s2) +/* AEDDA8 80240998 8E470030 */ lw $a3, 0x30($s2) +/* AEDDAC 8024099C C602003C */ lwc1 $f2, 0x3c($s0) +/* AEDDB0 802409A0 46006006 */ mov.s $f0, $f12 +/* AEDDB4 802409A4 46007106 */ mov.s $f4, $f14 +/* AEDDB8 802409A8 E7A00020 */ swc1 $f0, 0x20($sp) +/* AEDDBC 802409AC E7A20028 */ swc1 $f2, 0x28($sp) +/* AEDDC0 802409B0 0C00A7B5 */ jal dist2D +/* AEDDC4 802409B4 E7A40024 */ swc1 $f4, 0x24($sp) +/* AEDDC8 802409B8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* AEDDCC 802409BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* AEDDD0 802409C0 8E460028 */ lw $a2, 0x28($s2) +/* AEDDD4 802409C4 8E470030 */ lw $a3, 0x30($s2) +/* AEDDD8 802409C8 0C00A720 */ jal atan2 +/* AEDDDC 802409CC 46000506 */ mov.s $f20, $f0 +/* AEDDE0 802409D0 3C040007 */ lui $a0, 7 +/* AEDDE4 802409D4 34848000 */ ori $a0, $a0, 0x8000 +/* AEDDE8 802409D8 27A50020 */ addiu $a1, $sp, 0x20 +/* AEDDEC 802409DC E7B40010 */ swc1 $f20, 0x10($sp) +/* AEDDF0 802409E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* AEDDF4 802409E4 860200A6 */ lh $v0, 0xa6($s0) +/* AEDDF8 802409E8 27A60028 */ addiu $a2, $sp, 0x28 +/* AEDDFC 802409EC 44820000 */ mtc1 $v0, $f0 +/* AEDE00 802409F0 00000000 */ nop +/* AEDE04 802409F4 46800020 */ cvt.s.w $f0, $f0 +/* AEDE08 802409F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* AEDE0C 802409FC 860200A8 */ lh $v0, 0xa8($s0) +/* AEDE10 80240A00 27A70024 */ addiu $a3, $sp, 0x24 +/* AEDE14 80240A04 44820000 */ mtc1 $v0, $f0 +/* AEDE18 80240A08 00000000 */ nop +/* AEDE1C 80240A0C 46800020 */ cvt.s.w $f0, $f0 +/* AEDE20 80240A10 0C0376B9 */ jal func_800DDAE4 +/* AEDE24 80240A14 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AEDE28 80240A18 54400001 */ bnel $v0, $zero, .L80240A20 +/* AEDE2C 80240A1C 0000882D */ daddu $s1, $zero, $zero +.L80240A20: +/* AEDE30 80240A20 0260202D */ daddu $a0, $s3, $zero +.L80240A24: +/* AEDE34 80240A24 0280282D */ daddu $a1, $s4, $zero +/* AEDE38 80240A28 0C0B2026 */ jal set_variable +/* AEDE3C 80240A2C 0220302D */ daddu $a2, $s1, $zero +/* AEDE40 80240A30 8FBF0044 */ lw $ra, 0x44($sp) +/* AEDE44 80240A34 8FB40040 */ lw $s4, 0x40($sp) +/* AEDE48 80240A38 8FB3003C */ lw $s3, 0x3c($sp) +/* AEDE4C 80240A3C 8FB20038 */ lw $s2, 0x38($sp) +/* AEDE50 80240A40 8FB10034 */ lw $s1, 0x34($sp) +/* AEDE54 80240A44 8FB00030 */ lw $s0, 0x30($sp) +/* AEDE58 80240A48 D7B80058 */ ldc1 $f24, 0x58($sp) +/* AEDE5C 80240A4C D7B60050 */ ldc1 $f22, 0x50($sp) +/* AEDE60 80240A50 D7B40048 */ ldc1 $f20, 0x48($sp) +/* AEDE64 80240A54 24020002 */ addiu $v0, $zero, 2 +/* AEDE68 80240A58 03E00008 */ jr $ra +/* AEDE6C 80240A5C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240A60.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240A60.s new file mode 100644 index 0000000000..d778cdc21c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240A60.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A60 +/* AEDE70 80240A60 27BDFF80 */ addiu $sp, $sp, -0x80 +/* AEDE74 80240A64 F7B40060 */ sdc1 $f20, 0x60($sp) +/* AEDE78 80240A68 4485A000 */ mtc1 $a1, $f20 +/* AEDE7C 80240A6C F7B60068 */ sdc1 $f22, 0x68($sp) +/* AEDE80 80240A70 4486B000 */ mtc1 $a2, $f22 +/* AEDE84 80240A74 F7B80070 */ sdc1 $f24, 0x70($sp) +/* AEDE88 80240A78 4487C000 */ mtc1 $a3, $f24 +/* AEDE8C 80240A7C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* AEDE90 80240A80 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* AEDE94 80240A84 AFBF0058 */ sw $ra, 0x58($sp) +/* AEDE98 80240A88 AFB10054 */ sw $s1, 0x54($sp) +/* AEDE9C 80240A8C 0C046C04 */ jal get_model_list_index_from_tree_index +/* AEDEA0 80240A90 AFB00050 */ sw $s0, 0x50($sp) +/* AEDEA4 80240A94 0C046B4C */ jal get_model_from_list_index +/* AEDEA8 80240A98 0040202D */ daddu $a0, $v0, $zero +/* AEDEAC 80240A9C 0040802D */ daddu $s0, $v0, $zero +/* AEDEB0 80240AA0 26110058 */ addiu $s1, $s0, 0x58 +/* AEDEB4 80240AA4 4405A000 */ mfc1 $a1, $f20 +/* AEDEB8 80240AA8 4406B000 */ mfc1 $a2, $f22 +/* AEDEBC 80240AAC 4407C000 */ mfc1 $a3, $f24 +/* AEDEC0 80240AB0 0C019E40 */ jal guTranslateF +/* AEDEC4 80240AB4 0220202D */ daddu $a0, $s1, $zero +/* AEDEC8 80240AB8 27A40010 */ addiu $a0, $sp, 0x10 +/* AEDECC 80240ABC 4405D000 */ mfc1 $a1, $f26 +/* AEDED0 80240AC0 3C063F80 */ lui $a2, 0x3f80 +/* AEDED4 80240AC4 0C019DF0 */ jal guScaleF +/* AEDED8 80240AC8 00A0382D */ daddu $a3, $a1, $zero +/* AEDEDC 80240ACC 27A40010 */ addiu $a0, $sp, 0x10 +/* AEDEE0 80240AD0 0220282D */ daddu $a1, $s1, $zero +/* AEDEE4 80240AD4 0C019D80 */ jal guMtxCatF +/* AEDEE8 80240AD8 00A0302D */ daddu $a2, $a1, $zero +/* AEDEEC 80240ADC 96020000 */ lhu $v0, ($s0) +/* AEDEF0 80240AE0 34421400 */ ori $v0, $v0, 0x1400 +/* AEDEF4 80240AE4 A6020000 */ sh $v0, ($s0) +/* AEDEF8 80240AE8 8FBF0058 */ lw $ra, 0x58($sp) +/* AEDEFC 80240AEC 8FB10054 */ lw $s1, 0x54($sp) +/* AEDF00 80240AF0 8FB00050 */ lw $s0, 0x50($sp) +/* AEDF04 80240AF4 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* AEDF08 80240AF8 D7B80070 */ ldc1 $f24, 0x70($sp) +/* AEDF0C 80240AFC D7B60068 */ ldc1 $f22, 0x68($sp) +/* AEDF10 80240B00 D7B40060 */ ldc1 $f20, 0x60($sp) +/* AEDF14 80240B04 03E00008 */ jr $ra +/* AEDF18 80240B08 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240B0C_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240B0C_AED410.s new file mode 100644 index 0000000000..e9559c8020 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240B0C_AED410.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B0C_AEDF1C +/* AEDF1C 80240B0C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* AEDF20 80240B10 AFB7004C */ sw $s7, 0x4c($sp) +/* AEDF24 80240B14 0080B82D */ daddu $s7, $a0, $zero +/* AEDF28 80240B18 AFBF0054 */ sw $ra, 0x54($sp) +/* AEDF2C 80240B1C AFBE0050 */ sw $fp, 0x50($sp) +/* AEDF30 80240B20 AFB60048 */ sw $s6, 0x48($sp) +/* AEDF34 80240B24 AFB50044 */ sw $s5, 0x44($sp) +/* AEDF38 80240B28 AFB40040 */ sw $s4, 0x40($sp) +/* AEDF3C 80240B2C AFB3003C */ sw $s3, 0x3c($sp) +/* AEDF40 80240B30 AFB20038 */ sw $s2, 0x38($sp) +/* AEDF44 80240B34 AFB10034 */ sw $s1, 0x34($sp) +/* AEDF48 80240B38 AFB00030 */ sw $s0, 0x30($sp) +/* AEDF4C 80240B3C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* AEDF50 80240B40 F7B80068 */ sdc1 $f24, 0x68($sp) +/* AEDF54 80240B44 F7B60060 */ sdc1 $f22, 0x60($sp) +/* AEDF58 80240B48 F7B40058 */ sdc1 $f20, 0x58($sp) +/* AEDF5C 80240B4C 8EE20148 */ lw $v0, 0x148($s7) +/* AEDF60 80240B50 0C00EABB */ jal get_npc_unsafe +/* AEDF64 80240B54 84440008 */ lh $a0, 8($v0) +/* AEDF68 80240B58 27B50020 */ addiu $s5, $sp, 0x20 +/* AEDF6C 80240B5C 02A0202D */ daddu $a0, $s5, $zero +/* AEDF70 80240B60 0040882D */ daddu $s1, $v0, $zero +/* AEDF74 80240B64 27B40024 */ addiu $s4, $sp, 0x24 +/* AEDF78 80240B68 8EE3000C */ lw $v1, 0xc($s7) +/* AEDF7C 80240B6C 3C0641F0 */ lui $a2, 0x41f0 +/* AEDF80 80240B70 8E27000C */ lw $a3, 0xc($s1) +/* AEDF84 80240B74 C6200038 */ lwc1 $f0, 0x38($s1) +/* AEDF88 80240B78 C6220040 */ lwc1 $f2, 0x40($s1) +/* AEDF8C 80240B7C 8C7E0000 */ lw $fp, ($v1) +/* AEDF90 80240B80 24630004 */ addiu $v1, $v1, 4 +/* AEDF94 80240B84 C4740000 */ lwc1 $f20, ($v1) +/* AEDF98 80240B88 4680A520 */ cvt.s.w $f20, $f20 +/* AEDF9C 80240B8C 24630004 */ addiu $v1, $v1, 4 +/* AEDFA0 80240B90 C4760000 */ lwc1 $f22, ($v1) +/* AEDFA4 80240B94 4680B5A0 */ cvt.s.w $f22, $f22 +/* AEDFA8 80240B98 24630004 */ addiu $v1, $v1, 4 +/* AEDFAC 80240B9C C4780000 */ lwc1 $f24, ($v1) +/* AEDFB0 80240BA0 4680C620 */ cvt.s.w $f24, $f24 +/* AEDFB4 80240BA4 24630004 */ addiu $v1, $v1, 4 +/* AEDFB8 80240BA8 C47A0000 */ lwc1 $f26, ($v1) +/* AEDFBC 80240BAC 4680D6A0 */ cvt.s.w $f26, $f26 +/* AEDFC0 80240BB0 24630004 */ addiu $v1, $v1, 4 +/* AEDFC4 80240BB4 8C760000 */ lw $s6, ($v1) +/* AEDFC8 80240BB8 8C700004 */ lw $s0, 4($v1) +/* AEDFCC 80240BBC 0280282D */ daddu $a1, $s4, $zero +/* AEDFD0 80240BC0 E7A00020 */ swc1 $f0, 0x20($sp) +/* AEDFD4 80240BC4 0C00A7E7 */ jal add_vec2D_polar +/* AEDFD8 80240BC8 E7A20024 */ swc1 $f2, 0x24($sp) +/* AEDFDC 80240BCC 3C038015 */ lui $v1, %hi(D_80151328) +/* AEDFE0 80240BD0 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* AEDFE4 80240BD4 C7A00020 */ lwc1 $f0, 0x20($sp) +/* AEDFE8 80240BD8 3C0141A0 */ lui $at, 0x41a0 +/* AEDFEC 80240BDC 44811000 */ mtc1 $at, $f2 +/* AEDFF0 80240BE0 00101040 */ sll $v0, $s0, 1 +/* AEDFF4 80240BE4 00501021 */ addu $v0, $v0, $s0 +/* AEDFF8 80240BE8 000210C0 */ sll $v0, $v0, 3 +/* AEDFFC 80240BEC 24420004 */ addiu $v0, $v0, 4 +/* AEE000 80240BF0 00621821 */ addu $v1, $v1, $v0 +/* AEE004 80240BF4 E4600004 */ swc1 $f0, 4($v1) +/* AEE008 80240BF8 C620003C */ lwc1 $f0, 0x3c($s1) +/* AEE00C 80240BFC 4406A000 */ mfc1 $a2, $f20 +/* AEE010 80240C00 46020000 */ add.s $f0, $f0, $f2 +/* AEE014 80240C04 C7A20024 */ lwc1 $f2, 0x24($sp) +/* AEE018 80240C08 02A0202D */ daddu $a0, $s5, $zero +/* AEE01C 80240C0C E462000C */ swc1 $f2, 0xc($v1) +/* AEE020 80240C10 E4600008 */ swc1 $f0, 8($v1) +/* AEE024 80240C14 8E27000C */ lw $a3, 0xc($s1) +/* AEE028 80240C18 C6200038 */ lwc1 $f0, 0x38($s1) +/* AEE02C 80240C1C C6220040 */ lwc1 $f2, 0x40($s1) +/* AEE030 80240C20 0280282D */ daddu $a1, $s4, $zero +/* AEE034 80240C24 E7A00020 */ swc1 $f0, 0x20($sp) +/* AEE038 80240C28 0C00A7E7 */ jal add_vec2D_polar +/* AEE03C 80240C2C E7A20024 */ swc1 $f2, 0x24($sp) +/* AEE040 80240C30 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AEE044 80240C34 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AEE048 80240C38 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AEE04C 80240C3C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AEE050 80240C40 8E460028 */ lw $a2, 0x28($s2) +/* AEE054 80240C44 8E470030 */ lw $a3, 0x30($s2) +/* AEE058 80240C48 0C00A7B5 */ jal dist2D +/* AEE05C 80240C4C 0000802D */ daddu $s0, $zero, $zero +/* AEE060 80240C50 4616003E */ c.le.s $f0, $f22 +/* AEE064 80240C54 00000000 */ nop +/* AEE068 80240C58 45000002 */ bc1f .L80240C64 +/* AEE06C 80240C5C 0240982D */ daddu $s3, $s2, $zero +/* AEE070 80240C60 24100001 */ addiu $s0, $zero, 1 +.L80240C64: +/* AEE074 80240C64 4600B021 */ cvt.d.s $f0, $f22 +/* AEE078 80240C68 46200000 */ add.d $f0, $f0, $f0 +/* AEE07C 80240C6C 3C014059 */ lui $at, 0x4059 +/* AEE080 80240C70 44811800 */ mtc1 $at, $f3 +/* AEE084 80240C74 44801000 */ mtc1 $zero, $f2 +/* AEE088 80240C78 3C018024 */ lui $at, 0x8024 +/* AEE08C 80240C7C D4244840 */ ldc1 $f4, 0x4840($at) +/* AEE090 80240C80 46220003 */ div.d $f0, $f0, $f2 +/* AEE094 80240C84 46240000 */ add.d $f0, $f0, $f4 +/* AEE098 80240C88 C7A20020 */ lwc1 $f2, 0x20($sp) +/* AEE09C 80240C8C C7A40024 */ lwc1 $f4, 0x24($sp) +/* AEE0A0 80240C90 44051000 */ mfc1 $a1, $f2 +/* AEE0A4 80240C94 44072000 */ mfc1 $a3, $f4 +/* AEE0A8 80240C98 46200020 */ cvt.s.d $f0, $f0 +/* AEE0AC 80240C9C E7A00010 */ swc1 $f0, 0x10($sp) +/* AEE0B0 80240CA0 8E26003C */ lw $a2, 0x3c($s1) +/* AEE0B4 80240CA4 0C090298 */ jal func_80240A60 +/* AEE0B8 80240CA8 02C0202D */ daddu $a0, $s6, $zero +/* AEE0BC 80240CAC 02A0202D */ daddu $a0, $s5, $zero +/* AEE0C0 80240CB0 4406C000 */ mfc1 $a2, $f24 +/* AEE0C4 80240CB4 8E27000C */ lw $a3, 0xc($s1) +/* AEE0C8 80240CB8 C6200038 */ lwc1 $f0, 0x38($s1) +/* AEE0CC 80240CBC C6220040 */ lwc1 $f2, 0x40($s1) +/* AEE0D0 80240CC0 0280282D */ daddu $a1, $s4, $zero +/* AEE0D4 80240CC4 E7A00020 */ swc1 $f0, 0x20($sp) +/* AEE0D8 80240CC8 0C00A7E7 */ jal add_vec2D_polar +/* AEE0DC 80240CCC E7A20024 */ swc1 $f2, 0x24($sp) +/* AEE0E0 80240CD0 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* AEE0E4 80240CD4 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* AEE0E8 80240CD8 8E460028 */ lw $a2, 0x28($s2) +/* AEE0EC 80240CDC 0C00A7B5 */ jal dist2D +/* AEE0F0 80240CE0 8E470030 */ lw $a3, 0x30($s2) +/* AEE0F4 80240CE4 461A003E */ c.le.s $f0, $f26 +/* AEE0F8 80240CE8 00000000 */ nop +/* AEE0FC 80240CEC 45030001 */ bc1tl .L80240CF4 +/* AEE100 80240CF0 36100010 */ ori $s0, $s0, 0x10 +.L80240CF4: +/* AEE104 80240CF4 32020001 */ andi $v0, $s0, 1 +/* AEE108 80240CF8 10400026 */ beqz $v0, .L80240D94 +/* AEE10C 80240CFC 02E0202D */ daddu $a0, $s7, $zero +/* AEE110 80240D00 C62C0038 */ lwc1 $f12, 0x38($s1) +/* AEE114 80240D04 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AEE118 80240D08 8E660028 */ lw $a2, 0x28($s3) +/* AEE11C 80240D0C 8E670030 */ lw $a3, 0x30($s3) +/* AEE120 80240D10 C622003C */ lwc1 $f2, 0x3c($s1) +/* AEE124 80240D14 46006006 */ mov.s $f0, $f12 +/* AEE128 80240D18 46007106 */ mov.s $f4, $f14 +/* AEE12C 80240D1C E7A00020 */ swc1 $f0, 0x20($sp) +/* AEE130 80240D20 E7A20028 */ swc1 $f2, 0x28($sp) +/* AEE134 80240D24 0C00A7B5 */ jal dist2D +/* AEE138 80240D28 E7A40024 */ swc1 $f4, 0x24($sp) +/* AEE13C 80240D2C C62C0038 */ lwc1 $f12, 0x38($s1) +/* AEE140 80240D30 C62E0040 */ lwc1 $f14, 0x40($s1) +/* AEE144 80240D34 8E660028 */ lw $a2, 0x28($s3) +/* AEE148 80240D38 8E670030 */ lw $a3, 0x30($s3) +/* AEE14C 80240D3C 0C00A720 */ jal atan2 +/* AEE150 80240D40 46000506 */ mov.s $f20, $f0 +/* AEE154 80240D44 0000202D */ daddu $a0, $zero, $zero +/* AEE158 80240D48 02A0282D */ daddu $a1, $s5, $zero +/* AEE15C 80240D4C E7B40010 */ swc1 $f20, 0x10($sp) +/* AEE160 80240D50 E7A00014 */ swc1 $f0, 0x14($sp) +/* AEE164 80240D54 862200A6 */ lh $v0, 0xa6($s1) +/* AEE168 80240D58 27A60028 */ addiu $a2, $sp, 0x28 +/* AEE16C 80240D5C 44820000 */ mtc1 $v0, $f0 +/* AEE170 80240D60 00000000 */ nop +/* AEE174 80240D64 46800020 */ cvt.s.w $f0, $f0 +/* AEE178 80240D68 E7A00018 */ swc1 $f0, 0x18($sp) +/* AEE17C 80240D6C 862200A8 */ lh $v0, 0xa8($s1) +/* AEE180 80240D70 0280382D */ daddu $a3, $s4, $zero +/* AEE184 80240D74 44820000 */ mtc1 $v0, $f0 +/* AEE188 80240D78 00000000 */ nop +/* AEE18C 80240D7C 46800020 */ cvt.s.w $f0, $f0 +/* AEE190 80240D80 0C0376B9 */ jal func_800DDAE4 +/* AEE194 80240D84 E7A0001C */ swc1 $f0, 0x1c($sp) +/* AEE198 80240D88 54400001 */ bnel $v0, $zero, .L80240D90 +/* AEE19C 80240D8C 0000802D */ daddu $s0, $zero, $zero +.L80240D90: +/* AEE1A0 80240D90 02E0202D */ daddu $a0, $s7, $zero +.L80240D94: +/* AEE1A4 80240D94 03C0282D */ daddu $a1, $fp, $zero +/* AEE1A8 80240D98 0C0B2026 */ jal set_variable +/* AEE1AC 80240D9C 0200302D */ daddu $a2, $s0, $zero +/* AEE1B0 80240DA0 8FBF0054 */ lw $ra, 0x54($sp) +/* AEE1B4 80240DA4 8FBE0050 */ lw $fp, 0x50($sp) +/* AEE1B8 80240DA8 8FB7004C */ lw $s7, 0x4c($sp) +/* AEE1BC 80240DAC 8FB60048 */ lw $s6, 0x48($sp) +/* AEE1C0 80240DB0 8FB50044 */ lw $s5, 0x44($sp) +/* AEE1C4 80240DB4 8FB40040 */ lw $s4, 0x40($sp) +/* AEE1C8 80240DB8 8FB3003C */ lw $s3, 0x3c($sp) +/* AEE1CC 80240DBC 8FB20038 */ lw $s2, 0x38($sp) +/* AEE1D0 80240DC0 8FB10034 */ lw $s1, 0x34($sp) +/* AEE1D4 80240DC4 8FB00030 */ lw $s0, 0x30($sp) +/* AEE1D8 80240DC8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* AEE1DC 80240DCC D7B80068 */ ldc1 $f24, 0x68($sp) +/* AEE1E0 80240DD0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* AEE1E4 80240DD4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* AEE1E8 80240DD8 24020002 */ addiu $v0, $zero, 2 +/* AEE1EC 80240DDC 03E00008 */ jr $ra +/* AEE1F0 80240DE0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240DE4.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240DE4.s new file mode 100644 index 0000000000..ff1e37a4ef --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240DE4.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE4 +/* AEE1F4 80240DE4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AEE1F8 80240DE8 AFB10014 */ sw $s1, 0x14($sp) +/* AEE1FC 80240DEC 0080882D */ daddu $s1, $a0, $zero +/* AEE200 80240DF0 AFBF0024 */ sw $ra, 0x24($sp) +/* AEE204 80240DF4 AFB40020 */ sw $s4, 0x20($sp) +/* AEE208 80240DF8 AFB3001C */ sw $s3, 0x1c($sp) +/* AEE20C 80240DFC AFB20018 */ sw $s2, 0x18($sp) +/* AEE210 80240E00 AFB00010 */ sw $s0, 0x10($sp) +/* AEE214 80240E04 8E30000C */ lw $s0, 0xc($s1) +/* AEE218 80240E08 8E140000 */ lw $s4, ($s0) +/* AEE21C 80240E0C 26100004 */ addiu $s0, $s0, 4 +/* AEE220 80240E10 8E050000 */ lw $a1, ($s0) +/* AEE224 80240E14 0C0B1EAF */ jal get_variable +/* AEE228 80240E18 26100004 */ addiu $s0, $s0, 4 +/* AEE22C 80240E1C 8E050000 */ lw $a1, ($s0) +/* AEE230 80240E20 26100004 */ addiu $s0, $s0, 4 +/* AEE234 80240E24 0220202D */ daddu $a0, $s1, $zero +/* AEE238 80240E28 0C0B1EAF */ jal get_variable +/* AEE23C 80240E2C 0040982D */ daddu $s3, $v0, $zero +/* AEE240 80240E30 8E050000 */ lw $a1, ($s0) +/* AEE244 80240E34 26100004 */ addiu $s0, $s0, 4 +/* AEE248 80240E38 0220202D */ daddu $a0, $s1, $zero +/* AEE24C 80240E3C 0C0B1EAF */ jal get_variable +/* AEE250 80240E40 0040902D */ daddu $s2, $v0, $zero +/* AEE254 80240E44 0220202D */ daddu $a0, $s1, $zero +/* AEE258 80240E48 8E050000 */ lw $a1, ($s0) +/* AEE25C 80240E4C 0C0B1EAF */ jal get_variable +/* AEE260 80240E50 0040802D */ daddu $s0, $v0, $zero +/* AEE264 80240E54 44901000 */ mtc1 $s0, $f2 +/* AEE268 80240E58 00000000 */ nop +/* AEE26C 80240E5C 468010A0 */ cvt.s.w $f2, $f2 +/* AEE270 80240E60 44936000 */ mtc1 $s3, $f12 +/* AEE274 80240E64 00000000 */ nop +/* AEE278 80240E68 46806320 */ cvt.s.w $f12, $f12 +/* AEE27C 80240E6C 44061000 */ mfc1 $a2, $f2 +/* AEE280 80240E70 44821000 */ mtc1 $v0, $f2 +/* AEE284 80240E74 00000000 */ nop +/* AEE288 80240E78 468010A0 */ cvt.s.w $f2, $f2 +/* AEE28C 80240E7C 44071000 */ mfc1 $a3, $f2 +/* AEE290 80240E80 44927000 */ mtc1 $s2, $f14 +/* AEE294 80240E84 00000000 */ nop +/* AEE298 80240E88 0C00A720 */ jal atan2 +/* AEE29C 80240E8C 468073A0 */ cvt.s.w $f14, $f14 +/* AEE2A0 80240E90 0220202D */ daddu $a0, $s1, $zero +/* AEE2A4 80240E94 4600008D */ trunc.w.s $f2, $f0 +/* AEE2A8 80240E98 44061000 */ mfc1 $a2, $f2 +/* AEE2AC 80240E9C 0C0B2026 */ jal set_variable +/* AEE2B0 80240EA0 0280282D */ daddu $a1, $s4, $zero +/* AEE2B4 80240EA4 8FBF0024 */ lw $ra, 0x24($sp) +/* AEE2B8 80240EA8 8FB40020 */ lw $s4, 0x20($sp) +/* AEE2BC 80240EAC 8FB3001C */ lw $s3, 0x1c($sp) +/* AEE2C0 80240EB0 8FB20018 */ lw $s2, 0x18($sp) +/* AEE2C4 80240EB4 8FB10014 */ lw $s1, 0x14($sp) +/* AEE2C8 80240EB8 8FB00010 */ lw $s0, 0x10($sp) +/* AEE2CC 80240EBC 24020002 */ addiu $v0, $zero, 2 +/* AEE2D0 80240EC0 03E00008 */ jr $ra +/* AEE2D4 80240EC4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EC8.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EC8.s new file mode 100644 index 0000000000..2f8046a66b --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EC8.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EC8 +/* AEE2D8 80240EC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AEE2DC 80240ECC AFBF0010 */ sw $ra, 0x10($sp) +/* AEE2E0 80240ED0 8C82000C */ lw $v0, 0xc($a0) +/* AEE2E4 80240ED4 3C068011 */ lui $a2, 0x8011 +/* AEE2E8 80240ED8 80C6EFD4 */ lb $a2, -0x102c($a2) +/* AEE2EC 80240EDC 0C0B2026 */ jal set_variable +/* AEE2F0 80240EE0 8C450000 */ lw $a1, ($v0) +/* AEE2F4 80240EE4 8FBF0010 */ lw $ra, 0x10($sp) +/* AEE2F8 80240EE8 24020002 */ addiu $v0, $zero, 2 +/* AEE2FC 80240EEC 03E00008 */ jr $ra +/* AEE300 80240EF0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EF4_AED410.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EF4_AED410.s new file mode 100644 index 0000000000..14da3722ff --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240EF4_AED410.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF4_AEE304 +/* AEE304 80240EF4 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AEE308 80240EF8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AEE30C 80240EFC 9062007E */ lbu $v0, 0x7e($v1) +/* AEE310 80240F00 34420008 */ ori $v0, $v0, 8 +/* AEE314 80240F04 A062007E */ sb $v0, 0x7e($v1) +/* AEE318 80240F08 03E00008 */ jr $ra +/* AEE31C 80240F0C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_16/func_80240F10.s b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240F10.s new file mode 100644 index 0000000000..be5ec989fe --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_16/func_80240F10.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F10 +/* AEE320 80240F10 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AEE324 80240F14 AFB3001C */ sw $s3, 0x1c($sp) +/* AEE328 80240F18 0080982D */ daddu $s3, $a0, $zero +/* AEE32C 80240F1C AFBF0030 */ sw $ra, 0x30($sp) +/* AEE330 80240F20 AFB7002C */ sw $s7, 0x2c($sp) +/* AEE334 80240F24 AFB60028 */ sw $s6, 0x28($sp) +/* AEE338 80240F28 AFB50024 */ sw $s5, 0x24($sp) +/* AEE33C 80240F2C AFB40020 */ sw $s4, 0x20($sp) +/* AEE340 80240F30 AFB20018 */ sw $s2, 0x18($sp) +/* AEE344 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* AEE348 80240F38 AFB00010 */ sw $s0, 0x10($sp) +/* AEE34C 80240F3C F7B80048 */ sdc1 $f24, 0x48($sp) +/* AEE350 80240F40 F7B60040 */ sdc1 $f22, 0x40($sp) +/* AEE354 80240F44 F7B40038 */ sdc1 $f20, 0x38($sp) +/* AEE358 80240F48 8E70000C */ lw $s0, 0xc($s3) +/* AEE35C 80240F4C 8E050000 */ lw $a1, ($s0) +/* AEE360 80240F50 0C0B1EAF */ jal get_variable +/* AEE364 80240F54 26100004 */ addiu $s0, $s0, 4 +/* AEE368 80240F58 8E150000 */ lw $s5, ($s0) +/* AEE36C 80240F5C 26100004 */ addiu $s0, $s0, 4 +/* AEE370 80240F60 0260202D */ daddu $a0, $s3, $zero +/* AEE374 80240F64 8E160000 */ lw $s6, ($s0) +/* AEE378 80240F68 8E170004 */ lw $s7, 4($s0) +/* AEE37C 80240F6C 0C0B36B0 */ jal resolve_npc +/* AEE380 80240F70 0040282D */ daddu $a1, $v0, $zero +/* AEE384 80240F74 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* AEE388 80240F78 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* AEE38C 80240F7C 0040802D */ daddu $s0, $v0, $zero +/* AEE390 80240F80 1200002F */ beqz $s0, .L80241040 +/* AEE394 80240F84 0220902D */ daddu $s2, $s1, $zero +/* AEE398 80240F88 C62C0028 */ lwc1 $f12, 0x28($s1) +/* AEE39C 80240F8C C62E0030 */ lwc1 $f14, 0x30($s1) +/* AEE3A0 80240F90 8E060038 */ lw $a2, 0x38($s0) +/* AEE3A4 80240F94 8E070040 */ lw $a3, 0x40($s0) +/* AEE3A8 80240F98 3C014248 */ lui $at, 0x4248 +/* AEE3AC 80240F9C 4481C000 */ mtc1 $at, $f24 +/* AEE3B0 80240FA0 0C00A7B5 */ jal dist2D +/* AEE3B4 80240FA4 24140001 */ addiu $s4, $zero, 1 +/* AEE3B8 80240FA8 4618003C */ c.lt.s $f0, $f24 +/* AEE3BC 80240FAC 00000000 */ nop +/* AEE3C0 80240FB0 45030001 */ bc1tl .L80240FB8 +/* AEE3C4 80240FB4 0000A02D */ daddu $s4, $zero, $zero +.L80240FB8: +/* AEE3C8 80240FB8 C64C0028 */ lwc1 $f12, 0x28($s2) +/* AEE3CC 80240FBC C64E0030 */ lwc1 $f14, 0x30($s2) +/* AEE3D0 80240FC0 8E060038 */ lw $a2, 0x38($s0) +/* AEE3D4 80240FC4 0C00A720 */ jal atan2 +/* AEE3D8 80240FC8 8E070040 */ lw $a3, 0x40($s0) +/* AEE3DC 80240FCC 0C00A6C9 */ jal clamp_angle +/* AEE3E0 80240FD0 46000306 */ mov.s $f12, $f0 +/* AEE3E4 80240FD4 46000506 */ mov.s $f20, $f0 +/* AEE3E8 80240FD8 0C00A8BB */ jal sin_deg +/* AEE3EC 80240FDC 4600A306 */ mov.s $f12, $f20 +/* AEE3F0 80240FE0 46180002 */ mul.s $f0, $f0, $f24 +/* AEE3F4 80240FE4 00000000 */ nop +/* AEE3F8 80240FE8 C6560028 */ lwc1 $f22, 0x28($s2) +/* AEE3FC 80240FEC 4600B580 */ add.s $f22, $f22, $f0 +/* AEE400 80240FF0 0C00A8D4 */ jal cos_deg +/* AEE404 80240FF4 4600A306 */ mov.s $f12, $f20 +/* AEE408 80240FF8 46180002 */ mul.s $f0, $f0, $f24 +/* AEE40C 80240FFC 00000000 */ nop +/* AEE410 80241000 0260202D */ daddu $a0, $s3, $zero +/* AEE414 80241004 02A0282D */ daddu $a1, $s5, $zero +/* AEE418 80241008 C6540030 */ lwc1 $f20, 0x30($s2) +/* AEE41C 8024100C 0280302D */ daddu $a2, $s4, $zero +/* AEE420 80241010 0C0B2026 */ jal set_variable +/* AEE424 80241014 4600A501 */ sub.s $f20, $f20, $f0 +/* AEE428 80241018 0260202D */ daddu $a0, $s3, $zero +/* AEE42C 8024101C 4600B08D */ trunc.w.s $f2, $f22 +/* AEE430 80241020 44061000 */ mfc1 $a2, $f2 +/* AEE434 80241024 0C0B2026 */ jal set_variable +/* AEE438 80241028 02C0282D */ daddu $a1, $s6, $zero +/* AEE43C 8024102C 0260202D */ daddu $a0, $s3, $zero +/* AEE440 80241030 4600A08D */ trunc.w.s $f2, $f20 +/* AEE444 80241034 44061000 */ mfc1 $a2, $f2 +/* AEE448 80241038 0C0B2026 */ jal set_variable +/* AEE44C 8024103C 02E0282D */ daddu $a1, $s7, $zero +.L80241040: +/* AEE450 80241040 24020002 */ addiu $v0, $zero, 2 +/* AEE454 80241044 8FBF0030 */ lw $ra, 0x30($sp) +/* AEE458 80241048 8FB7002C */ lw $s7, 0x2c($sp) +/* AEE45C 8024104C 8FB60028 */ lw $s6, 0x28($sp) +/* AEE460 80241050 8FB50024 */ lw $s5, 0x24($sp) +/* AEE464 80241054 8FB40020 */ lw $s4, 0x20($sp) +/* AEE468 80241058 8FB3001C */ lw $s3, 0x1c($sp) +/* AEE46C 8024105C 8FB20018 */ lw $s2, 0x18($sp) +/* AEE470 80241060 8FB10014 */ lw $s1, 0x14($sp) +/* AEE474 80241064 8FB00010 */ lw $s0, 0x10($sp) +/* AEE478 80241068 D7B80048 */ ldc1 $f24, 0x48($sp) +/* AEE47C 8024106C D7B60040 */ ldc1 $f22, 0x40($sp) +/* AEE480 80241070 D7B40038 */ ldc1 $f20, 0x38($sp) +/* AEE484 80241074 03E00008 */ jr $ra +/* AEE488 80241078 27BD0050 */ addiu $sp, $sp, 0x50 +/* AEE48C 8024107C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_80240000_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240000_AF1C60.s new file mode 100644 index 0000000000..437150fd73 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240000_AF1C60.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AF1C60 +/* AF1C60 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF1C64 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AF1C68 80240008 3C108024 */ lui $s0, 0x8024 +/* AF1C6C 8024000C 261008C0 */ addiu $s0, $s0, 0x8c0 +/* AF1C70 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* AF1C74 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* AF1C78 80240018 8E020000 */ lw $v0, ($s0) +/* AF1C7C 8024001C 14400010 */ bnez $v0, .L80240060 +/* AF1C80 80240020 0080882D */ daddu $s1, $a0, $zero +/* AF1C84 80240024 0C00AB39 */ jal heap_malloc +/* AF1C88 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* AF1C8C 8024002C AE020000 */ sw $v0, ($s0) +/* AF1C90 80240030 0000182D */ daddu $v1, $zero, $zero +/* AF1C94 80240034 0040282D */ daddu $a1, $v0, $zero +/* AF1C98 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* AF1C9C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* AF1CA0 80240040 24840004 */ addiu $a0, $a0, 4 +/* AF1CA4 80240044 24630001 */ addiu $v1, $v1, 1 +/* AF1CA8 80240048 ACA20000 */ sw $v0, ($a1) +/* AF1CAC 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* AF1CB0 80240050 1440FFFA */ bnez $v0, .L8024003C +/* AF1CB4 80240054 24A50004 */ addiu $a1, $a1, 4 +/* AF1CB8 80240058 08090027 */ j .L8024009C +/* AF1CBC 8024005C 00000000 */ nop +.L80240060: +/* AF1CC0 80240060 0000182D */ daddu $v1, $zero, $zero +/* AF1CC4 80240064 0040282D */ daddu $a1, $v0, $zero +/* AF1CC8 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* AF1CCC 8024006C 8CA20000 */ lw $v0, ($a1) +/* AF1CD0 80240070 24A50004 */ addiu $a1, $a1, 4 +/* AF1CD4 80240074 24630001 */ addiu $v1, $v1, 1 +/* AF1CD8 80240078 AC820084 */ sw $v0, 0x84($a0) +/* AF1CDC 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* AF1CE0 80240080 1440FFFA */ bnez $v0, .L8024006C +/* AF1CE4 80240084 24840004 */ addiu $a0, $a0, 4 +/* AF1CE8 80240088 3C108024 */ lui $s0, 0x8024 +/* AF1CEC 8024008C 261008C0 */ addiu $s0, $s0, 0x8c0 +/* AF1CF0 80240090 0C00AB4B */ jal heap_free +/* AF1CF4 80240094 8E040000 */ lw $a0, ($s0) +/* AF1CF8 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* AF1CFC 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* AF1D00 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* AF1D04 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* AF1D08 802400A8 24020002 */ addiu $v0, $zero, 2 +/* AF1D0C 802400AC 03E00008 */ jr $ra +/* AF1D10 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_802400B4_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_802400B4_AF1C60.s new file mode 100644 index 0000000000..7248ebe6ce --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_802400B4_AF1C60.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_AF1D14 +/* AF1D14 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF1D18 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* AF1D1C 802400BC 0080802D */ daddu $s0, $a0, $zero +/* AF1D20 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* AF1D24 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* AF1D28 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* AF1D2C 802400CC 8C510000 */ lw $s1, ($v0) +/* AF1D30 802400D0 0C0B1EAF */ jal get_variable +/* AF1D34 802400D4 0220282D */ daddu $a1, $s1, $zero +/* AF1D38 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* AF1D3C 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* AF1D40 802400E0 0200202D */ daddu $a0, $s0, $zero +/* AF1D44 802400E4 00431024 */ and $v0, $v0, $v1 +/* AF1D48 802400E8 00021140 */ sll $v0, $v0, 5 +/* AF1D4C 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* AF1D50 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* AF1D54 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* AF1D58 802400F8 0C0B2026 */ jal set_variable +/* AF1D5C 802400FC 0220282D */ daddu $a1, $s1, $zero +/* AF1D60 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* AF1D64 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* AF1D68 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* AF1D6C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* AF1D70 80240110 03E00008 */ jr $ra +/* AF1D74 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_80240118_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240118_AF1C60.s new file mode 100644 index 0000000000..7fb46ed2bc --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240118_AF1C60.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_AF1D78 +/* AF1D78 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF1D7C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* AF1D80 80240120 0080882D */ daddu $s1, $a0, $zero +/* AF1D84 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* AF1D88 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* AF1D8C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* AF1D90 80240130 8E240084 */ lw $a0, 0x84($s1) +/* AF1D94 80240134 0C04C3D6 */ jal get_item_entity +/* AF1D98 80240138 00A0802D */ daddu $s0, $a1, $zero +/* AF1D9C 8024013C 12000005 */ beqz $s0, .L80240154 +/* AF1DA0 80240140 0040902D */ daddu $s2, $v0, $zero +/* AF1DA4 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* AF1DA8 80240148 AE200074 */ sw $zero, 0x74($s1) +/* AF1DAC 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* AF1DB0 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* AF1DB4 80240154 8E230074 */ lw $v1, 0x74($s1) +/* AF1DB8 80240158 10600005 */ beqz $v1, .L80240170 +/* AF1DBC 8024015C 24020001 */ addiu $v0, $zero, 1 +/* AF1DC0 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* AF1DC4 80240164 00000000 */ nop +/* AF1DC8 80240168 08090093 */ j .L8024024C +/* AF1DCC 8024016C 00000000 */ nop +.L80240170: +/* AF1DD0 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* AF1DD4 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* AF1DD8 80240178 44810000 */ mtc1 $at, $f0 +/* AF1DDC 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* AF1DE0 80240180 46806320 */ cvt.s.w $f12, $f12 +/* AF1DE4 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* AF1DE8 80240188 00000000 */ nop +/* AF1DEC 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* AF1DF0 80240190 44810000 */ mtc1 $at, $f0 +/* AF1DF4 80240194 0C00A874 */ jal cos_rad +/* AF1DF8 80240198 46006303 */ div.s $f12, $f12, $f0 +/* AF1DFC 8024019C 3C013F80 */ lui $at, 0x3f80 +/* AF1E00 802401A0 44811000 */ mtc1 $at, $f2 +/* AF1E04 802401A4 00000000 */ nop +/* AF1E08 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* AF1E0C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* AF1E10 802401B0 44810000 */ mtc1 $at, $f0 +/* AF1E14 802401B4 00000000 */ nop +/* AF1E18 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* AF1E1C 802401BC 00000000 */ nop +/* AF1E20 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* AF1E24 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* AF1E28 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* AF1E2C 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* AF1E30 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* AF1E34 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* AF1E38 802401D8 24620001 */ addiu $v0, $v1, 1 +/* AF1E3C 802401DC 24020001 */ addiu $v0, $zero, 1 +/* AF1E40 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* AF1E44 802401E4 08090093 */ j .L8024024C +/* AF1E48 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* AF1E4C 802401EC 08090093 */ j .L8024024C +/* AF1E50 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* AF1E54 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* AF1E58 802401F8 0C00A8D4 */ jal cos_deg +/* AF1E5C 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* AF1E60 80240200 3C014040 */ lui $at, 0x4040 +/* AF1E64 80240204 44811000 */ mtc1 $at, $f2 +/* AF1E68 80240208 00000000 */ nop +/* AF1E6C 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* AF1E70 80240210 00000000 */ nop +/* AF1E74 80240214 3C014188 */ lui $at, 0x4188 +/* AF1E78 80240218 44812000 */ mtc1 $at, $f4 +/* AF1E7C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* AF1E80 80240220 46041080 */ add.s $f2, $f2, $f4 +/* AF1E84 80240224 46001080 */ add.s $f2, $f2, $f0 +/* AF1E88 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* AF1E8C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* AF1E90 80240230 24420009 */ addiu $v0, $v0, 9 +/* AF1E94 80240234 44826000 */ mtc1 $v0, $f12 +/* AF1E98 80240238 00000000 */ nop +/* AF1E9C 8024023C 0C00A6C9 */ jal clamp_angle +/* AF1EA0 80240240 46806320 */ cvt.s.w $f12, $f12 +/* AF1EA4 80240244 4600018D */ trunc.w.s $f6, $f0 +/* AF1EA8 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* AF1EAC 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* AF1EB0 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* AF1EB4 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* AF1EB8 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* AF1EBC 8024025C 0000102D */ daddu $v0, $zero, $zero +/* AF1EC0 80240260 03E00008 */ jr $ra +/* AF1EC4 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_80240268_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240268_AF1C60.s new file mode 100644 index 0000000000..150d71f6ff --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240268_AF1C60.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_AF1EC8 +/* AF1EC8 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF1ECC 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* AF1ED0 80240270 0080802D */ daddu $s0, $a0, $zero +/* AF1ED4 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* AF1ED8 80240278 8E02000C */ lw $v0, 0xc($s0) +/* AF1EDC 8024027C 0C0B1EAF */ jal get_variable +/* AF1EE0 80240280 8C450000 */ lw $a1, ($v0) +/* AF1EE4 80240284 00021140 */ sll $v0, $v0, 5 +/* AF1EE8 80240288 AE000084 */ sw $zero, 0x84($s0) +/* AF1EEC 8024028C 3C018008 */ lui $at, 0x8008 +/* AF1EF0 80240290 00220821 */ addu $at, $at, $v0 +/* AF1EF4 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* AF1EF8 80240298 30420040 */ andi $v0, $v0, 0x40 +/* AF1EFC 8024029C 10400002 */ beqz $v0, .L802402A8 +/* AF1F00 802402A0 24020001 */ addiu $v0, $zero, 1 +/* AF1F04 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* AF1F08 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* AF1F0C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* AF1F10 802402B0 24020002 */ addiu $v0, $zero, 2 +/* AF1F14 802402B4 03E00008 */ jr $ra +/* AF1F18 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_802402BC_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_802402BC_AF1C60.s new file mode 100644 index 0000000000..5f7a4f4c25 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_802402BC_AF1C60.s @@ -0,0 +1,162 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_AF1F1C +/* AF1F1C 802402BC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* AF1F20 802402C0 AFB3001C */ sw $s3, 0x1c($sp) +/* AF1F24 802402C4 0080982D */ daddu $s3, $a0, $zero +/* AF1F28 802402C8 AFBF0034 */ sw $ra, 0x34($sp) +/* AF1F2C 802402CC AFBE0030 */ sw $fp, 0x30($sp) +/* AF1F30 802402D0 AFB7002C */ sw $s7, 0x2c($sp) +/* AF1F34 802402D4 AFB60028 */ sw $s6, 0x28($sp) +/* AF1F38 802402D8 AFB50024 */ sw $s5, 0x24($sp) +/* AF1F3C 802402DC AFB40020 */ sw $s4, 0x20($sp) +/* AF1F40 802402E0 AFB20018 */ sw $s2, 0x18($sp) +/* AF1F44 802402E4 AFB10014 */ sw $s1, 0x14($sp) +/* AF1F48 802402E8 10A0004C */ beqz $a1, .L8024041C +/* AF1F4C 802402EC AFB00010 */ sw $s0, 0x10($sp) +/* AF1F50 802402F0 0C00AB39 */ jal heap_malloc +/* AF1F54 802402F4 24040330 */ addiu $a0, $zero, 0x330 +/* AF1F58 802402F8 8E630084 */ lw $v1, 0x84($s3) +/* AF1F5C 802402FC 0040A82D */ daddu $s5, $v0, $zero +/* AF1F60 80240300 AE750078 */ sw $s5, 0x78($s3) +/* AF1F64 80240304 0060202D */ daddu $a0, $v1, $zero +/* AF1F68 80240308 14800008 */ bnez $a0, .L8024032C +/* AF1F6C 8024030C AE6300AC */ sw $v1, 0xac($s3) +/* AF1F70 80240310 3C03F840 */ lui $v1, 0xf840 +/* AF1F74 80240314 34635D64 */ ori $v1, $v1, 0x5d64 +/* AF1F78 80240318 3C02F840 */ lui $v0, 0xf840 +/* AF1F7C 8024031C 34425D69 */ ori $v0, $v0, 0x5d69 +/* AF1F80 80240320 AE62008C */ sw $v0, 0x8c($s3) +/* AF1F84 80240324 080900D1 */ j .L80240344 +/* AF1F88 80240328 2402000C */ addiu $v0, $zero, 0xc +.L8024032C: +/* AF1F8C 8024032C 3C03F840 */ lui $v1, 0xf840 +/* AF1F90 80240330 34635D69 */ ori $v1, $v1, 0x5d69 +/* AF1F94 80240334 3C02F840 */ lui $v0, 0xf840 +/* AF1F98 80240338 34425D6E */ ori $v0, $v0, 0x5d6e +/* AF1F9C 8024033C AE62008C */ sw $v0, 0x8c($s3) +/* AF1FA0 80240340 24020009 */ addiu $v0, $zero, 9 +.L80240344: +/* AF1FA4 80240344 AE630088 */ sw $v1, 0x88($s3) +/* AF1FA8 80240348 AEA20318 */ sw $v0, 0x318($s5) +/* AF1FAC 8024034C 0000B02D */ daddu $s6, $zero, $zero +/* AF1FB0 80240350 02C0902D */ daddu $s2, $s6, $zero +/* AF1FB4 80240354 3C1E8009 */ lui $fp, 0x8009 +/* AF1FB8 80240358 27DEA680 */ addiu $fp, $fp, -0x5980 +/* AF1FBC 8024035C 24170001 */ addiu $s7, $zero, 1 +/* AF1FC0 80240360 3C148024 */ lui $s4, 0x8024 +/* AF1FC4 80240364 2694092C */ addiu $s4, $s4, 0x92c +/* AF1FC8 80240368 02A0882D */ daddu $s1, $s5, $zero +.L8024036C: +/* AF1FCC 8024036C 8E650088 */ lw $a1, 0x88($s3) +/* AF1FD0 80240370 0000202D */ daddu $a0, $zero, $zero +/* AF1FD4 80240374 0C0B1EAF */ jal get_variable +/* AF1FD8 80240378 00B22821 */ addu $a1, $a1, $s2 +/* AF1FDC 8024037C 0000202D */ daddu $a0, $zero, $zero +/* AF1FE0 80240380 8E65008C */ lw $a1, 0x8c($s3) +/* AF1FE4 80240384 0040802D */ daddu $s0, $v0, $zero +/* AF1FE8 80240388 0C0B1EAF */ jal get_variable +/* AF1FEC 8024038C 00B22821 */ addu $a1, $a1, $s2 +/* AF1FF0 80240390 52000016 */ beql $s0, $zero, .L802403EC +/* AF1FF4 80240394 26520001 */ addiu $s2, $s2, 1 +/* AF1FF8 80240398 54400014 */ bnel $v0, $zero, .L802403EC +/* AF1FFC 8024039C 26520001 */ addiu $s2, $s2, 1 +/* AF2000 802403A0 8E830000 */ lw $v1, ($s4) +/* AF2004 802403A4 3C078008 */ lui $a3, %hi(gItemTable) +/* AF2008 802403A8 24E778E0 */ addiu $a3, $a3, %lo(gItemTable) +/* AF200C 802403AC 00031940 */ sll $v1, $v1, 5 +/* AF2010 802403B0 00671821 */ addu $v1, $v1, $a3 +/* AF2014 802403B4 84620004 */ lh $v0, 4($v1) +/* AF2018 802403B8 000210C0 */ sll $v0, $v0, 3 +/* AF201C 802403BC 005E1021 */ addu $v0, $v0, $fp +/* AF2020 802403C0 8C420000 */ lw $v0, ($v0) +/* AF2024 802403C4 AE320108 */ sw $s2, 0x108($s1) +/* AF2028 802403C8 AE37018C */ sw $s7, 0x18c($s1) +/* AF202C 802403CC AE220000 */ sw $v0, ($s1) +/* AF2030 802403D0 8C620000 */ lw $v0, ($v1) +/* AF2034 802403D4 AE220084 */ sw $v0, 0x84($s1) +/* AF2038 802403D8 8C620014 */ lw $v0, 0x14($v1) +/* AF203C 802403DC 26D60001 */ addiu $s6, $s6, 1 +/* AF2040 802403E0 AE220294 */ sw $v0, 0x294($s1) +/* AF2044 802403E4 26310004 */ addiu $s1, $s1, 4 +/* AF2048 802403E8 26520001 */ addiu $s2, $s2, 1 +.L802403EC: +/* AF204C 802403EC 2A420005 */ slti $v0, $s2, 5 +/* AF2050 802403F0 1440FFDE */ bnez $v0, .L8024036C +/* AF2054 802403F4 26940004 */ addiu $s4, $s4, 4 +/* AF2058 802403F8 16C00004 */ bnez $s6, .L8024040C +/* AF205C 802403FC 02A0202D */ daddu $a0, $s5, $zero +/* AF2060 80240400 AE600084 */ sw $zero, 0x84($s3) +/* AF2064 80240404 08090134 */ j .L802404D0 +/* AF2068 80240408 24020001 */ addiu $v0, $zero, 1 +.L8024040C: +/* AF206C 8024040C AC960324 */ sw $s6, 0x324($a0) +/* AF2070 80240410 0C03D390 */ jal func_800F4E40 +/* AF2074 80240414 AC800328 */ sw $zero, 0x328($a0) +/* AF2078 80240418 AE600070 */ sw $zero, 0x70($s3) +.L8024041C: +/* AF207C 8024041C 8E620070 */ lw $v0, 0x70($s3) +/* AF2080 80240420 8E750078 */ lw $s5, 0x78($s3) +/* AF2084 80240424 14400008 */ bnez $v0, .L80240448 +/* AF2088 80240428 24420001 */ addiu $v0, $v0, 1 +/* AF208C 8024042C 86A2032C */ lh $v0, 0x32c($s5) +/* AF2090 80240430 10400009 */ beqz $v0, .L80240458 +/* AF2094 80240434 AE620074 */ sw $v0, 0x74($s3) +/* AF2098 80240438 0C03C4EC */ jal func_800F13B0 +/* AF209C 8024043C 00000000 */ nop +/* AF20A0 80240440 8E620070 */ lw $v0, 0x70($s3) +/* AF20A4 80240444 24420001 */ addiu $v0, $v0, 1 +.L80240448: +/* AF20A8 80240448 AE620070 */ sw $v0, 0x70($s3) +/* AF20AC 8024044C 2842000F */ slti $v0, $v0, 0xf +/* AF20B0 80240450 10400003 */ beqz $v0, .L80240460 +/* AF20B4 80240454 00000000 */ nop +.L80240458: +/* AF20B8 80240458 08090134 */ j .L802404D0 +/* AF20BC 8024045C 0000102D */ daddu $v0, $zero, $zero +.L80240460: +/* AF20C0 80240460 0C03C54E */ jal func_800F1538 +/* AF20C4 80240464 00000000 */ nop +/* AF20C8 80240468 8E630074 */ lw $v1, 0x74($s3) +/* AF20CC 8024046C 240200FF */ addiu $v0, $zero, 0xff +/* AF20D0 80240470 14620004 */ bne $v1, $v0, .L80240484 +/* AF20D4 80240474 2462FFFF */ addiu $v0, $v1, -1 +/* AF20D8 80240478 2402FFFF */ addiu $v0, $zero, -1 +/* AF20DC 8024047C 08090133 */ j .L802404CC +/* AF20E0 80240480 AE620084 */ sw $v0, 0x84($s3) +.L80240484: +/* AF20E4 80240484 00021080 */ sll $v0, $v0, 2 +/* AF20E8 80240488 02A21021 */ addu $v0, $s5, $v0 +/* AF20EC 8024048C 8C460108 */ lw $a2, 0x108($v0) +/* AF20F0 80240490 8E6300AC */ lw $v1, 0xac($s3) +/* AF20F4 80240494 00061080 */ sll $v0, $a2, 2 +/* AF20F8 80240498 3C018024 */ lui $at, 0x8024 +/* AF20FC 8024049C 00220821 */ addu $at, $at, $v0 +/* AF2100 802404A0 8C22092C */ lw $v0, 0x92c($at) +/* AF2104 802404A4 14600006 */ bnez $v1, .L802404C0 +/* AF2108 802404A8 AE620084 */ sw $v0, 0x84($s3) +/* AF210C 802404AC 8E65008C */ lw $a1, 0x8c($s3) +/* AF2110 802404B0 0000202D */ daddu $a0, $zero, $zero +/* AF2114 802404B4 00A62821 */ addu $a1, $a1, $a2 +/* AF2118 802404B8 0C0B2026 */ jal set_variable +/* AF211C 802404BC 24060001 */ addiu $a2, $zero, 1 +.L802404C0: +/* AF2120 802404C0 8E640078 */ lw $a0, 0x78($s3) +/* AF2124 802404C4 0C00AB4B */ jal heap_free +/* AF2128 802404C8 00000000 */ nop +.L802404CC: +/* AF212C 802404CC 24020002 */ addiu $v0, $zero, 2 +.L802404D0: +/* AF2130 802404D0 8FBF0034 */ lw $ra, 0x34($sp) +/* AF2134 802404D4 8FBE0030 */ lw $fp, 0x30($sp) +/* AF2138 802404D8 8FB7002C */ lw $s7, 0x2c($sp) +/* AF213C 802404DC 8FB60028 */ lw $s6, 0x28($sp) +/* AF2140 802404E0 8FB50024 */ lw $s5, 0x24($sp) +/* AF2144 802404E4 8FB40020 */ lw $s4, 0x20($sp) +/* AF2148 802404E8 8FB3001C */ lw $s3, 0x1c($sp) +/* AF214C 802404EC 8FB20018 */ lw $s2, 0x18($sp) +/* AF2150 802404F0 8FB10014 */ lw $s1, 0x14($sp) +/* AF2154 802404F4 8FB00010 */ lw $s0, 0x10($sp) +/* AF2158 802404F8 03E00008 */ jr $ra +/* AF215C 802404FC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_80240500_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240500_AF1C60.s new file mode 100644 index 0000000000..9e50212de9 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240500_AF1C60.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_AF2160 +/* AF2160 80240500 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF2164 80240504 0000282D */ daddu $a1, $zero, $zero +/* AF2168 80240508 00A0302D */ daddu $a2, $a1, $zero +/* AF216C 8024050C 3C038024 */ lui $v1, 0x8024 +/* AF2170 80240510 2463092C */ addiu $v1, $v1, 0x92c +/* AF2174 80240514 AFBF0010 */ sw $ra, 0x10($sp) +/* AF2178 80240518 8C840084 */ lw $a0, 0x84($a0) +.L8024051C: +/* AF217C 8024051C 8C620000 */ lw $v0, ($v1) +/* AF2180 80240520 54820003 */ bnel $a0, $v0, .L80240530 +/* AF2184 80240524 24C60001 */ addiu $a2, $a2, 1 +/* AF2188 80240528 0809014F */ j .L8024053C +/* AF218C 8024052C 24050001 */ addiu $a1, $zero, 1 +.L80240530: +/* AF2190 80240530 28C20005 */ slti $v0, $a2, 5 +/* AF2194 80240534 1440FFF9 */ bnez $v0, .L8024051C +/* AF2198 80240538 24630004 */ addiu $v1, $v1, 4 +.L8024053C: +/* AF219C 8024053C 10A00006 */ beqz $a1, .L80240558 +/* AF21A0 80240540 3C05F840 */ lui $a1, 0xf840 +/* AF21A4 80240544 34A55D6E */ ori $a1, $a1, 0x5d6e +/* AF21A8 80240548 0000202D */ daddu $a0, $zero, $zero +/* AF21AC 8024054C 00C52821 */ addu $a1, $a2, $a1 +/* AF21B0 80240550 0C0B2026 */ jal set_variable +/* AF21B4 80240554 24060001 */ addiu $a2, $zero, 1 +.L80240558: +/* AF21B8 80240558 8FBF0010 */ lw $ra, 0x10($sp) +/* AF21BC 8024055C 24020002 */ addiu $v0, $zero, 2 +/* AF21C0 80240560 03E00008 */ jr $ra +/* AF21C4 80240564 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_17/func_80240568_AF1C60.s b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240568_AF1C60.s new file mode 100644 index 0000000000..6b3b571c5b --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_17/func_80240568_AF1C60.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_AF21C8 +/* AF21C8 80240568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF21CC 8024056C AFB00010 */ sw $s0, 0x10($sp) +/* AF21D0 80240570 AFBF0014 */ sw $ra, 0x14($sp) +/* AF21D4 80240574 0C039D88 */ jal get_item_empty_count +/* AF21D8 80240578 0080802D */ daddu $s0, $a0, $zero +/* AF21DC 8024057C AE020088 */ sw $v0, 0x88($s0) +/* AF21E0 80240580 8FBF0014 */ lw $ra, 0x14($sp) +/* AF21E4 80240584 8FB00010 */ lw $s0, 0x10($sp) +/* AF21E8 80240588 24020002 */ addiu $v0, $zero, 2 +/* AF21EC 8024058C 03E00008 */ jr $ra +/* AF21F0 80240590 27BD0018 */ addiu $sp, $sp, 0x18 +/* AF21F4 80240594 00000000 */ nop +/* AF21F8 80240598 00000000 */ nop +/* AF21FC 8024059C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240000_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240000_AF2CA0.s new file mode 100644 index 0000000000..01ef297b6c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240000_AF2CA0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AF2CA0 +/* AF2CA0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF2CA4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AF2CA8 80240008 0080802D */ daddu $s0, $a0, $zero +/* AF2CAC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* AF2CB0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* AF2CB4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* AF2CB8 80240018 00621821 */ addu $v1, $v1, $v0 +/* AF2CBC 8024001C 04610004 */ bgez $v1, .L80240030 +/* AF2CC0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* AF2CC4 80240024 3C020002 */ lui $v0, 2 +/* AF2CC8 80240028 08090010 */ j .L80240040 +/* AF2CCC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* AF2CD0 80240030 3C040002 */ lui $a0, 2 +/* AF2CD4 80240034 0083102A */ slt $v0, $a0, $v1 +/* AF2CD8 80240038 10400002 */ beqz $v0, .L80240044 +/* AF2CDC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* AF2CE0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* AF2CE4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* AF2CE8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* AF2CEC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* AF2CF0 80240050 04610004 */ bgez $v1, .L80240064 +/* AF2CF4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* AF2CF8 80240058 3C020002 */ lui $v0, 2 +/* AF2CFC 8024005C 0809001D */ j .L80240074 +/* AF2D00 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* AF2D04 80240064 3C040002 */ lui $a0, 2 +/* AF2D08 80240068 0083102A */ slt $v0, $a0, $v1 +/* AF2D0C 8024006C 10400002 */ beqz $v0, .L80240078 +/* AF2D10 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* AF2D14 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* AF2D18 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* AF2D1C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* AF2D20 80240080 00621821 */ addu $v1, $v1, $v0 +/* AF2D24 80240084 04610004 */ bgez $v1, .L80240098 +/* AF2D28 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* AF2D2C 8024008C 3C020002 */ lui $v0, 2 +/* AF2D30 80240090 0809002A */ j .L802400A8 +/* AF2D34 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* AF2D38 80240098 3C040002 */ lui $a0, 2 +/* AF2D3C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* AF2D40 802400A0 10400002 */ beqz $v0, .L802400AC +/* AF2D44 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* AF2D48 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* AF2D4C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AF2D50 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* AF2D54 802400B4 00621821 */ addu $v1, $v1, $v0 +/* AF2D58 802400B8 04610004 */ bgez $v1, .L802400CC +/* AF2D5C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* AF2D60 802400C0 3C020002 */ lui $v0, 2 +/* AF2D64 802400C4 08090037 */ j .L802400DC +/* AF2D68 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* AF2D6C 802400CC 3C040002 */ lui $a0, 2 +/* AF2D70 802400D0 0083102A */ slt $v0, $a0, $v1 +/* AF2D74 802400D4 10400002 */ beqz $v0, .L802400E0 +/* AF2D78 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* AF2D7C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* AF2D80 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* AF2D84 802400E4 0C046F07 */ jal set_main_pan_u +/* AF2D88 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* AF2D8C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* AF2D90 802400F0 0C046F0D */ jal set_main_pan_v +/* AF2D94 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* AF2D98 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* AF2D9C 802400FC 0C046F13 */ jal set_aux_pan_u +/* AF2DA0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* AF2DA4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* AF2DA8 80240108 0C046F19 */ jal set_aux_pan_v +/* AF2DAC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AF2DB0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* AF2DB4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* AF2DB8 80240118 0000102D */ daddu $v0, $zero, $zero +/* AF2DBC 8024011C 03E00008 */ jr $ra +/* AF2DC0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240124_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240124_AF2CA0.s new file mode 100644 index 0000000000..f20340357c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240124_AF2CA0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_AF2DC4 +/* AF2DC4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF2DC8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* AF2DCC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* AF2DD0 80240130 10A00005 */ beqz $a1, .L80240148 +/* AF2DD4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* AF2DD8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* AF2DDC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* AF2DE0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* AF2DE4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* AF2DE8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* AF2DEC 8024014C 1440000E */ bnez $v0, .L80240188 +/* AF2DF0 80240150 00000000 */ nop +/* AF2DF4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* AF2DF8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* AF2DFC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* AF2E00 80240160 04610004 */ bgez $v1, .L80240174 +/* AF2E04 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* AF2E08 80240168 3C020002 */ lui $v0, 2 +/* AF2E0C 8024016C 08090061 */ j .L80240184 +/* AF2E10 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* AF2E14 80240174 3C040002 */ lui $a0, 2 +/* AF2E18 80240178 0083102A */ slt $v0, $a0, $v1 +/* AF2E1C 8024017C 10400002 */ beqz $v0, .L80240188 +/* AF2E20 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* AF2E24 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* AF2E28 80240188 8E020074 */ lw $v0, 0x74($s0) +/* AF2E2C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* AF2E30 80240190 00000000 */ nop +/* AF2E34 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* AF2E38 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* AF2E3C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* AF2E40 802401A0 04610004 */ bgez $v1, .L802401B4 +/* AF2E44 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* AF2E48 802401A8 3C020002 */ lui $v0, 2 +/* AF2E4C 802401AC 08090071 */ j .L802401C4 +/* AF2E50 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* AF2E54 802401B4 3C040002 */ lui $a0, 2 +/* AF2E58 802401B8 0083102A */ slt $v0, $a0, $v1 +/* AF2E5C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* AF2E60 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* AF2E64 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* AF2E68 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* AF2E6C 802401CC 1440000E */ bnez $v0, .L80240208 +/* AF2E70 802401D0 00000000 */ nop +/* AF2E74 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AF2E78 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* AF2E7C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* AF2E80 802401E0 04610004 */ bgez $v1, .L802401F4 +/* AF2E84 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* AF2E88 802401E8 3C020002 */ lui $v0, 2 +/* AF2E8C 802401EC 08090081 */ j .L80240204 +/* AF2E90 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* AF2E94 802401F4 3C040002 */ lui $a0, 2 +/* AF2E98 802401F8 0083102A */ slt $v0, $a0, $v1 +/* AF2E9C 802401FC 10400002 */ beqz $v0, .L80240208 +/* AF2EA0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* AF2EA4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* AF2EA8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* AF2EAC 8024020C 1440000E */ bnez $v0, .L80240248 +/* AF2EB0 80240210 00000000 */ nop +/* AF2EB4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* AF2EB8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* AF2EBC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* AF2EC0 80240220 04610004 */ bgez $v1, .L80240234 +/* AF2EC4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* AF2EC8 80240228 3C020002 */ lui $v0, 2 +/* AF2ECC 8024022C 08090091 */ j .L80240244 +/* AF2ED0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* AF2ED4 80240234 3C040002 */ lui $a0, 2 +/* AF2ED8 80240238 0083102A */ slt $v0, $a0, $v1 +/* AF2EDC 8024023C 10400002 */ beqz $v0, .L80240248 +/* AF2EE0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* AF2EE4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* AF2EE8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* AF2EEC 8024024C 0C046F07 */ jal set_main_pan_u +/* AF2EF0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* AF2EF4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* AF2EF8 80240258 0C046F0D */ jal set_main_pan_v +/* AF2EFC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* AF2F00 80240260 8E040084 */ lw $a0, 0x84($s0) +/* AF2F04 80240264 0C046F13 */ jal set_aux_pan_u +/* AF2F08 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* AF2F0C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* AF2F10 80240270 0C046F19 */ jal set_aux_pan_v +/* AF2F14 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* AF2F18 80240278 8E020070 */ lw $v0, 0x70($s0) +/* AF2F1C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* AF2F20 80240280 8E040098 */ lw $a0, 0x98($s0) +/* AF2F24 80240284 24420001 */ addiu $v0, $v0, 1 +/* AF2F28 80240288 AE020070 */ sw $v0, 0x70($s0) +/* AF2F2C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* AF2F30 80240290 24630001 */ addiu $v1, $v1, 1 +/* AF2F34 80240294 AE030078 */ sw $v1, 0x78($s0) +/* AF2F38 80240298 8E030070 */ lw $v1, 0x70($s0) +/* AF2F3C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* AF2F40 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* AF2F44 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* AF2F48 802402A8 0064182A */ slt $v1, $v1, $a0 +/* AF2F4C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* AF2F50 802402B0 14600002 */ bnez $v1, .L802402BC +/* AF2F54 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* AF2F58 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* AF2F5C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* AF2F60 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* AF2F64 802402C4 0043102A */ slt $v0, $v0, $v1 +/* AF2F68 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* AF2F6C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* AF2F70 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* AF2F74 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AF2F78 802402D8 0043102A */ slt $v0, $v0, $v1 +/* AF2F7C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* AF2F80 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* AF2F84 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* AF2F88 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* AF2F8C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* AF2F90 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* AF2F94 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* AF2F98 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* AF2F9C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AF2FA0 80240300 0000102D */ daddu $v0, $zero, $zero +/* AF2FA4 80240304 03E00008 */ jr $ra +/* AF2FA8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_8024030C_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024030C_AF2CA0.s new file mode 100644 index 0000000000..a5f8b01d5f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024030C_AF2CA0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_AF2FAC +/* AF2FAC 8024030C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AF2FB0 80240310 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AF2FB4 80240314 9043007E */ lbu $v1, 0x7e($v0) +/* AF2FB8 80240318 306300FE */ andi $v1, $v1, 0xfe +/* AF2FBC 8024031C A043007E */ sb $v1, 0x7e($v0) +/* AF2FC0 80240320 90820087 */ lbu $v0, 0x87($a0) +/* AF2FC4 80240324 3C018011 */ lui $at, 0x8011 +/* AF2FC8 80240328 A022F2A2 */ sb $v0, -0xd5e($at) +/* AF2FCC 8024032C 03E00008 */ jr $ra +/* AF2FD0 80240330 24020002 */ addiu $v0, $zero, 2 +/* AF2FD4 80240334 00000000 */ nop +/* AF2FD8 80240338 00000000 */ nop +/* AF2FDC 8024033C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240340_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240340_AF2CA0.s new file mode 100644 index 0000000000..e9122cea30 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240340_AF2CA0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_AF2FE0 +/* AF2FE0 80240340 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF2FE4 80240344 AFB10014 */ sw $s1, 0x14($sp) +/* AF2FE8 80240348 0080882D */ daddu $s1, $a0, $zero +/* AF2FEC 8024034C AFBF0018 */ sw $ra, 0x18($sp) +/* AF2FF0 80240350 AFB00010 */ sw $s0, 0x10($sp) +/* AF2FF4 80240354 8E30000C */ lw $s0, 0xc($s1) +/* AF2FF8 80240358 8E050000 */ lw $a1, ($s0) +/* AF2FFC 8024035C 0C0B1EAF */ jal get_variable +/* AF3000 80240360 26100004 */ addiu $s0, $s0, 4 +/* AF3004 80240364 0C00EAD2 */ jal get_npc_safe +/* AF3008 80240368 0040202D */ daddu $a0, $v0, $zero +/* AF300C 8024036C 10400005 */ beqz $v0, .L80240384 +/* AF3010 80240370 00000000 */ nop +/* AF3014 80240374 8E050000 */ lw $a1, ($s0) +/* AF3018 80240378 844600A8 */ lh $a2, 0xa8($v0) +/* AF301C 8024037C 0C0B2026 */ jal set_variable +/* AF3020 80240380 0220202D */ daddu $a0, $s1, $zero +.L80240384: +/* AF3024 80240384 8FBF0018 */ lw $ra, 0x18($sp) +/* AF3028 80240388 8FB10014 */ lw $s1, 0x14($sp) +/* AF302C 8024038C 8FB00010 */ lw $s0, 0x10($sp) +/* AF3030 80240390 24020002 */ addiu $v0, $zero, 2 +/* AF3034 80240394 03E00008 */ jr $ra +/* AF3038 80240398 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_8024039C.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024039C.s new file mode 100644 index 0000000000..8036060703 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024039C.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024039C +/* AF303C 8024039C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AF3040 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* AF3044 802403A4 0080882D */ daddu $s1, $a0, $zero +/* AF3048 802403A8 AFBF0024 */ sw $ra, 0x24($sp) +/* AF304C 802403AC AFB40020 */ sw $s4, 0x20($sp) +/* AF3050 802403B0 AFB3001C */ sw $s3, 0x1c($sp) +/* AF3054 802403B4 AFB20018 */ sw $s2, 0x18($sp) +/* AF3058 802403B8 AFB00010 */ sw $s0, 0x10($sp) +/* AF305C 802403BC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* AF3060 802403C0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* AF3064 802403C4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* AF3068 802403C8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* AF306C 802403CC F7B40028 */ sdc1 $f20, 0x28($sp) +/* AF3070 802403D0 8E30000C */ lw $s0, 0xc($s1) +/* AF3074 802403D4 8E130000 */ lw $s3, ($s0) +/* AF3078 802403D8 26100004 */ addiu $s0, $s0, 4 +/* AF307C 802403DC 0C0B1EAF */ jal get_variable +/* AF3080 802403E0 0260282D */ daddu $a1, $s3, $zero +/* AF3084 802403E4 4482E000 */ mtc1 $v0, $f28 +/* AF3088 802403E8 00000000 */ nop +/* AF308C 802403EC 4680E720 */ cvt.s.w $f28, $f28 +/* AF3090 802403F0 8E140000 */ lw $s4, ($s0) +/* AF3094 802403F4 26100004 */ addiu $s0, $s0, 4 +/* AF3098 802403F8 0220202D */ daddu $a0, $s1, $zero +/* AF309C 802403FC 0C0B1EAF */ jal get_variable +/* AF30A0 80240400 0280282D */ daddu $a1, $s4, $zero +/* AF30A4 80240404 4482D000 */ mtc1 $v0, $f26 +/* AF30A8 80240408 00000000 */ nop +/* AF30AC 8024040C 4680D6A0 */ cvt.s.w $f26, $f26 +/* AF30B0 80240410 8E100000 */ lw $s0, ($s0) +/* AF30B4 80240414 0220202D */ daddu $a0, $s1, $zero +/* AF30B8 80240418 0C0B1EAF */ jal get_variable +/* AF30BC 8024041C 0200282D */ daddu $a1, $s0, $zero +/* AF30C0 80240420 4482C000 */ mtc1 $v0, $f24 +/* AF30C4 80240424 00000000 */ nop +/* AF30C8 80240428 4680C620 */ cvt.s.w $f24, $f24 +/* AF30CC 8024042C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AF30D0 80240430 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AF30D4 80240434 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* AF30D8 80240438 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* AF30DC 8024043C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* AF30E0 80240440 44800000 */ mtc1 $zero, $f0 +/* AF30E4 80240444 00031080 */ sll $v0, $v1, 2 +/* AF30E8 80240448 00431021 */ addu $v0, $v0, $v1 +/* AF30EC 8024044C 00021080 */ sll $v0, $v0, 2 +/* AF30F0 80240450 00431023 */ subu $v0, $v0, $v1 +/* AF30F4 80240454 000218C0 */ sll $v1, $v0, 3 +/* AF30F8 80240458 00431021 */ addu $v0, $v0, $v1 +/* AF30FC 8024045C 000210C0 */ sll $v0, $v0, 3 +/* AF3100 80240460 46001032 */ c.eq.s $f2, $f0 +/* AF3104 80240464 3C01800B */ lui $at, 0x800b +/* AF3108 80240468 00220821 */ addu $at, $at, $v0 +/* AF310C 8024046C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* AF3110 80240470 45000005 */ bc1f .L80240488 +/* AF3114 80240474 00000000 */ nop +/* AF3118 80240478 3C0142C8 */ lui $at, 0x42c8 +/* AF311C 8024047C 44810000 */ mtc1 $at, $f0 +/* AF3120 80240480 08090126 */ j .L80240498 +/* AF3124 80240484 4600B581 */ sub.s $f22, $f22, $f0 +.L80240488: +/* AF3128 80240488 3C0142C8 */ lui $at, 0x42c8 +/* AF312C 8024048C 44810000 */ mtc1 $at, $f0 +/* AF3130 80240490 00000000 */ nop +/* AF3134 80240494 4600B580 */ add.s $f22, $f22, $f0 +.L80240498: +/* AF3138 80240498 0C00A6C9 */ jal clamp_angle +/* AF313C 8024049C 4600B306 */ mov.s $f12, $f22 +/* AF3140 802404A0 46000586 */ mov.s $f22, $f0 +/* AF3144 802404A4 3C014170 */ lui $at, 0x4170 +/* AF3148 802404A8 4481A000 */ mtc1 $at, $f20 +/* AF314C 802404AC 0C00A8BB */ jal sin_deg +/* AF3150 802404B0 4600B306 */ mov.s $f12, $f22 +/* AF3154 802404B4 46140002 */ mul.s $f0, $f0, $f20 +/* AF3158 802404B8 00000000 */ nop +/* AF315C 802404BC 864200B0 */ lh $v0, 0xb0($s2) +/* AF3160 802404C0 3C013F00 */ lui $at, 0x3f00 +/* AF3164 802404C4 44812000 */ mtc1 $at, $f4 +/* AF3168 802404C8 44821000 */ mtc1 $v0, $f2 +/* AF316C 802404CC 00000000 */ nop +/* AF3170 802404D0 468010A0 */ cvt.s.w $f2, $f2 +/* AF3174 802404D4 46041082 */ mul.s $f2, $f2, $f4 +/* AF3178 802404D8 00000000 */ nop +/* AF317C 802404DC 4600E700 */ add.s $f28, $f28, $f0 +/* AF3180 802404E0 4602D680 */ add.s $f26, $f26, $f2 +/* AF3184 802404E4 0C00A8D4 */ jal cos_deg +/* AF3188 802404E8 4600B306 */ mov.s $f12, $f22 +/* AF318C 802404EC 46140002 */ mul.s $f0, $f0, $f20 +/* AF3190 802404F0 00000000 */ nop +/* AF3194 802404F4 0220202D */ daddu $a0, $s1, $zero +/* AF3198 802404F8 0260282D */ daddu $a1, $s3, $zero +/* AF319C 802404FC 4600E18D */ trunc.w.s $f6, $f28 +/* AF31A0 80240500 44063000 */ mfc1 $a2, $f6 +/* AF31A4 80240504 0C0B2026 */ jal set_variable +/* AF31A8 80240508 4600C601 */ sub.s $f24, $f24, $f0 +/* AF31AC 8024050C 0220202D */ daddu $a0, $s1, $zero +/* AF31B0 80240510 4600D18D */ trunc.w.s $f6, $f26 +/* AF31B4 80240514 44063000 */ mfc1 $a2, $f6 +/* AF31B8 80240518 0C0B2026 */ jal set_variable +/* AF31BC 8024051C 0280282D */ daddu $a1, $s4, $zero +/* AF31C0 80240520 0220202D */ daddu $a0, $s1, $zero +/* AF31C4 80240524 4600C18D */ trunc.w.s $f6, $f24 +/* AF31C8 80240528 44063000 */ mfc1 $a2, $f6 +/* AF31CC 8024052C 0C0B2026 */ jal set_variable +/* AF31D0 80240530 0200282D */ daddu $a1, $s0, $zero +/* AF31D4 80240534 8FBF0024 */ lw $ra, 0x24($sp) +/* AF31D8 80240538 8FB40020 */ lw $s4, 0x20($sp) +/* AF31DC 8024053C 8FB3001C */ lw $s3, 0x1c($sp) +/* AF31E0 80240540 8FB20018 */ lw $s2, 0x18($sp) +/* AF31E4 80240544 8FB10014 */ lw $s1, 0x14($sp) +/* AF31E8 80240548 8FB00010 */ lw $s0, 0x10($sp) +/* AF31EC 8024054C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* AF31F0 80240550 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* AF31F4 80240554 D7B80038 */ ldc1 $f24, 0x38($sp) +/* AF31F8 80240558 D7B60030 */ ldc1 $f22, 0x30($sp) +/* AF31FC 8024055C D7B40028 */ ldc1 $f20, 0x28($sp) +/* AF3200 80240560 24020002 */ addiu $v0, $zero, 2 +/* AF3204 80240564 03E00008 */ jr $ra +/* AF3208 80240568 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_8024056C_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024056C_AF2CA0.s new file mode 100644 index 0000000000..88b46ac5f8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_8024056C_AF2CA0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024056C_AF320C +/* AF320C 8024056C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF3210 80240570 AFBF0010 */ sw $ra, 0x10($sp) +/* AF3214 80240574 10A00003 */ beqz $a1, .L80240584 +/* AF3218 80240578 8C86000C */ lw $a2, 0xc($a0) +/* AF321C 8024057C 3C018024 */ lui $at, 0x8024 +/* AF3220 80240580 AC201F10 */ sw $zero, 0x1f10($at) +.L80240584: +/* AF3224 80240584 3C038024 */ lui $v1, 0x8024 +/* AF3228 80240588 24631F10 */ addiu $v1, $v1, 0x1f10 +/* AF322C 8024058C 8C620000 */ lw $v0, ($v1) +/* AF3230 80240590 54400003 */ bnel $v0, $zero, .L802405A0 +/* AF3234 80240594 AC600000 */ sw $zero, ($v1) +/* AF3238 80240598 0809016D */ j .L802405B4 +/* AF323C 8024059C 0000102D */ daddu $v0, $zero, $zero +.L802405A0: +/* AF3240 802405A0 8CC50000 */ lw $a1, ($a2) +/* AF3244 802405A4 3C068024 */ lui $a2, 0x8024 +/* AF3248 802405A8 0C0B2026 */ jal set_variable +/* AF324C 802405AC 8CC61F14 */ lw $a2, 0x1f14($a2) +/* AF3250 802405B0 24020002 */ addiu $v0, $zero, 2 +.L802405B4: +/* AF3254 802405B4 8FBF0010 */ lw $ra, 0x10($sp) +/* AF3258 802405B8 03E00008 */ jr $ra +/* AF325C 802405BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_802405C0_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_802405C0_AF2CA0.s new file mode 100644 index 0000000000..aeda168184 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_802405C0_AF2CA0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C0_AF3260 +/* AF3260 802405C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF3264 802405C4 AFBF0010 */ sw $ra, 0x10($sp) +/* AF3268 802405C8 8C82000C */ lw $v0, 0xc($a0) +/* AF326C 802405CC 0C0B1EAF */ jal get_variable +/* AF3270 802405D0 8C450000 */ lw $a1, ($v0) +/* AF3274 802405D4 3C018024 */ lui $at, 0x8024 +/* AF3278 802405D8 AC221F14 */ sw $v0, 0x1f14($at) +/* AF327C 802405DC 24020002 */ addiu $v0, $zero, 2 +/* AF3280 802405E0 8FBF0010 */ lw $ra, 0x10($sp) +/* AF3284 802405E4 24030001 */ addiu $v1, $zero, 1 +/* AF3288 802405E8 3C018024 */ lui $at, 0x8024 +/* AF328C 802405EC AC231F10 */ sw $v1, 0x1f10($at) +/* AF3290 802405F0 03E00008 */ jr $ra +/* AF3294 802405F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_802405F8_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_802405F8_AF2CA0.s new file mode 100644 index 0000000000..e016b97610 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_802405F8_AF2CA0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F8_AF3298 +/* AF3298 802405F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF329C 802405FC AFBF0010 */ sw $ra, 0x10($sp) +/* AF32A0 80240600 8C82000C */ lw $v0, 0xc($a0) +/* AF32A4 80240604 0C0B1EAF */ jal get_variable +/* AF32A8 80240608 8C450000 */ lw $a1, ($v0) +/* AF32AC 8024060C 0040182D */ daddu $v1, $v0, $zero +/* AF32B0 80240610 10600012 */ beqz $v1, .L8024065C +/* AF32B4 80240614 0000202D */ daddu $a0, $zero, $zero +/* AF32B8 80240618 8C620000 */ lw $v0, ($v1) +/* AF32BC 8024061C 5040000A */ beql $v0, $zero, .L80240648 +/* AF32C0 80240620 00041080 */ sll $v0, $a0, 2 +/* AF32C4 80240624 3C058024 */ lui $a1, 0x8024 +/* AF32C8 80240628 24A54CB0 */ addiu $a1, $a1, 0x4cb0 +.L8024062C: +/* AF32CC 8024062C 24630004 */ addiu $v1, $v1, 4 +/* AF32D0 80240630 24840001 */ addiu $a0, $a0, 1 +/* AF32D4 80240634 ACA20000 */ sw $v0, ($a1) +/* AF32D8 80240638 8C620000 */ lw $v0, ($v1) +/* AF32DC 8024063C 1440FFFB */ bnez $v0, .L8024062C +/* AF32E0 80240640 24A50004 */ addiu $a1, $a1, 4 +/* AF32E4 80240644 00041080 */ sll $v0, $a0, 2 +.L80240648: +/* AF32E8 80240648 3C018024 */ lui $at, 0x8024 +/* AF32EC 8024064C 00220821 */ addu $at, $at, $v0 +/* AF32F0 80240650 AC204CB0 */ sw $zero, 0x4cb0($at) +/* AF32F4 80240654 080901A1 */ j .L80240684 +/* AF32F8 80240658 00000000 */ nop +.L8024065C: +/* AF32FC 8024065C 3C038024 */ lui $v1, 0x8024 +/* AF3300 80240660 24634CB0 */ addiu $v1, $v1, 0x4cb0 +/* AF3304 80240664 0060282D */ daddu $a1, $v1, $zero +.L80240668: +/* AF3308 80240668 24820010 */ addiu $v0, $a0, 0x10 +/* AF330C 8024066C AC620000 */ sw $v0, ($v1) +/* AF3310 80240670 24630004 */ addiu $v1, $v1, 4 +/* AF3314 80240674 24840001 */ addiu $a0, $a0, 1 +/* AF3318 80240678 28820070 */ slti $v0, $a0, 0x70 +/* AF331C 8024067C 1440FFFA */ bnez $v0, .L80240668 +/* AF3320 80240680 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240684: +/* AF3324 80240684 8FBF0010 */ lw $ra, 0x10($sp) +/* AF3328 80240688 24020002 */ addiu $v0, $zero, 2 +/* AF332C 8024068C 03E00008 */ jr $ra +/* AF3330 80240690 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240694_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240694_AF2CA0.s new file mode 100644 index 0000000000..8dff8f507e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240694_AF2CA0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240694_AF3334 +/* AF3334 80240694 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF3338 80240698 AFBF0010 */ sw $ra, 0x10($sp) +/* AF333C 8024069C 8C82000C */ lw $v0, 0xc($a0) +/* AF3340 802406A0 0C0B1EAF */ jal get_variable +/* AF3344 802406A4 8C450000 */ lw $a1, ($v0) +/* AF3348 802406A8 0040182D */ daddu $v1, $v0, $zero +/* AF334C 802406AC 10600012 */ beqz $v1, .L802406F8 +/* AF3350 802406B0 0000202D */ daddu $a0, $zero, $zero +/* AF3354 802406B4 8C620000 */ lw $v0, ($v1) +/* AF3358 802406B8 5040000A */ beql $v0, $zero, .L802406E4 +/* AF335C 802406BC 00041080 */ sll $v0, $a0, 2 +/* AF3360 802406C0 3C058024 */ lui $a1, 0x8024 +/* AF3364 802406C4 24A54E78 */ addiu $a1, $a1, 0x4e78 +.L802406C8: +/* AF3368 802406C8 24630004 */ addiu $v1, $v1, 4 +/* AF336C 802406CC 24840001 */ addiu $a0, $a0, 1 +/* AF3370 802406D0 ACA20000 */ sw $v0, ($a1) +/* AF3374 802406D4 8C620000 */ lw $v0, ($v1) +/* AF3378 802406D8 1440FFFB */ bnez $v0, .L802406C8 +/* AF337C 802406DC 24A50004 */ addiu $a1, $a1, 4 +/* AF3380 802406E0 00041080 */ sll $v0, $a0, 2 +.L802406E4: +/* AF3384 802406E4 3C018024 */ lui $at, 0x8024 +/* AF3388 802406E8 00220821 */ addu $at, $at, $v0 +/* AF338C 802406EC AC204E78 */ sw $zero, 0x4e78($at) +/* AF3390 802406F0 080901C8 */ j .L80240720 +/* AF3394 802406F4 00000000 */ nop +.L802406F8: +/* AF3398 802406F8 3C038024 */ lui $v1, 0x8024 +/* AF339C 802406FC 24634E78 */ addiu $v1, $v1, 0x4e78 +/* AF33A0 80240700 0060282D */ daddu $a1, $v1, $zero +.L80240704: +/* AF33A4 80240704 24820080 */ addiu $v0, $a0, 0x80 +/* AF33A8 80240708 AC620000 */ sw $v0, ($v1) +/* AF33AC 8024070C 24630004 */ addiu $v1, $v1, 4 +/* AF33B0 80240710 24840001 */ addiu $a0, $a0, 1 +/* AF33B4 80240714 2882005B */ slti $v0, $a0, 0x5b +/* AF33B8 80240718 1440FFFA */ bnez $v0, .L80240704 +/* AF33BC 8024071C ACA0016C */ sw $zero, 0x16c($a1) +.L80240720: +/* AF33C0 80240720 8FBF0010 */ lw $ra, 0x10($sp) +/* AF33C4 80240724 24020002 */ addiu $v0, $zero, 2 +/* AF33C8 80240728 03E00008 */ jr $ra +/* AF33CC 8024072C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240730_AF2CA0.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240730_AF2CA0.s new file mode 100644 index 0000000000..52f74b189e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240730_AF2CA0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_AF33D0 +/* AF33D0 80240730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF33D4 80240734 AFBF0010 */ sw $ra, 0x10($sp) +/* AF33D8 80240738 8C82000C */ lw $v0, 0xc($a0) +/* AF33DC 8024073C 0C0B210B */ jal get_float_variable +/* AF33E0 80240740 8C450000 */ lw $a1, ($v0) +/* AF33E4 80240744 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AF33E8 80240748 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AF33EC 8024074C 4600008D */ trunc.w.s $f2, $f0 +/* AF33F0 80240750 44021000 */ mfc1 $v0, $f2 +/* AF33F4 80240754 00000000 */ nop +/* AF33F8 80240758 3C018011 */ lui $at, 0x8011 +/* AF33FC 8024075C A022F08C */ sb $v0, -0xf74($at) +/* AF3400 80240760 A0620080 */ sb $v0, 0x80($v1) +/* AF3404 80240764 8FBF0010 */ lw $ra, 0x10($sp) +/* AF3408 80240768 24020002 */ addiu $v0, $zero, 2 +/* AF340C 8024076C 03E00008 */ jr $ra +/* AF3410 80240770 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_18/func_80240774.s b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240774.s new file mode 100644 index 0000000000..dd26a285a4 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_18/func_80240774.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240774 +/* AF3414 80240774 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF3418 80240778 AFB00018 */ sw $s0, 0x18($sp) +/* AF341C 8024077C 0080802D */ daddu $s0, $a0, $zero +/* AF3420 80240780 3C03800B */ lui $v1, %hi(gCameras) +/* AF3424 80240784 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* AF3428 80240788 0060202D */ daddu $a0, $v1, $zero +/* AF342C 8024078C 10A00005 */ beqz $a1, .L802407A4 +/* AF3430 80240790 AFBF001C */ sw $ra, 0x1c($sp) +/* AF3434 80240794 94620000 */ lhu $v0, ($v1) +/* AF3438 80240798 34420008 */ ori $v0, $v0, 8 +/* AF343C 8024079C A4620000 */ sh $v0, ($v1) +/* AF3440 802407A0 AE000070 */ sw $zero, 0x70($s0) +.L802407A4: +/* AF3444 802407A4 C6000070 */ lwc1 $f0, 0x70($s0) +/* AF3448 802407A8 3C014120 */ lui $at, 0x4120 +/* AF344C 802407AC 44811000 */ mtc1 $at, $f2 +/* AF3450 802407B0 00000000 */ nop +/* AF3454 802407B4 46020000 */ add.s $f0, $f0, $f2 +/* AF3458 802407B8 3C01BF80 */ lui $at, 0xbf80 +/* AF345C 802407BC 44811000 */ mtc1 $at, $f2 +/* AF3460 802407C0 E6000070 */ swc1 $f0, 0x70($s0) +/* AF3464 802407C4 44800000 */ mtc1 $zero, $f0 +/* AF3468 802407C8 24840194 */ addiu $a0, $a0, 0x194 +/* AF346C 802407CC E7A20010 */ swc1 $f2, 0x10($sp) +/* AF3470 802407D0 44060000 */ mfc1 $a2, $f0 +/* AF3474 802407D4 8E050070 */ lw $a1, 0x70($s0) +/* AF3478 802407D8 0C019EC8 */ jal guRotateF +/* AF347C 802407DC 00C0382D */ daddu $a3, $a2, $zero +/* AF3480 802407E0 C6000070 */ lwc1 $f0, 0x70($s0) +/* AF3484 802407E4 3C018024 */ lui $at, 0x8024 +/* AF3488 802407E8 D4224CA0 */ ldc1 $f2, 0x4ca0($at) +/* AF348C 802407EC 46000021 */ cvt.d.s $f0, $f0 +/* AF3490 802407F0 4620103E */ c.le.d $f2, $f0 +/* AF3494 802407F4 00000000 */ nop +/* AF3498 802407F8 45010002 */ bc1t .L80240804 +/* AF349C 802407FC 24020002 */ addiu $v0, $zero, 2 +/* AF34A0 80240800 0000102D */ daddu $v0, $zero, $zero +.L80240804: +/* AF34A4 80240804 8FBF001C */ lw $ra, 0x1c($sp) +/* AF34A8 80240808 8FB00018 */ lw $s0, 0x18($sp) +/* AF34AC 8024080C 03E00008 */ jr $ra +/* AF34B0 80240810 27BD0020 */ addiu $sp, $sp, 0x20 +/* AF34B4 80240814 00000000 */ nop +/* AF34B8 80240818 00000000 */ nop +/* AF34BC 8024081C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240000_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240000_AF7950.s new file mode 100644 index 0000000000..81a00ac61f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240000_AF7950.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AF7950 +/* AF7950 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7954 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* AF7958 80240008 8C82000C */ lw $v0, 0xc($a0) +/* AF795C 8024000C 0C0B1EAF */ jal get_variable +/* AF7960 80240010 8C450000 */ lw $a1, ($v0) +/* AF7964 80240014 0000202D */ daddu $a0, $zero, $zero +/* AF7968 80240018 3C05F971 */ lui $a1, 0xf971 +/* AF796C 8024001C 3C018024 */ lui $at, 0x8024 +/* AF7970 80240020 AC220E90 */ sw $v0, 0xe90($at) +/* AF7974 80240024 0C0B1EAF */ jal get_variable +/* AF7978 80240028 34A58892 */ ori $a1, $a1, 0x8892 +/* AF797C 8024002C 0040182D */ daddu $v1, $v0, $zero +/* AF7980 80240030 24020001 */ addiu $v0, $zero, 1 +/* AF7984 80240034 14620006 */ bne $v1, $v0, .L80240050 +/* AF7988 80240038 24020005 */ addiu $v0, $zero, 5 +/* AF798C 8024003C 3C018024 */ lui $at, 0x8024 +/* AF7990 80240040 AC230E88 */ sw $v1, 0xe88($at) +/* AF7994 80240044 3C018024 */ lui $at, 0x8024 +/* AF7998 80240048 08090016 */ j .L80240058 +/* AF799C 8024004C AC220E8C */ sw $v0, 0xe8c($at) +.L80240050: +/* AF79A0 80240050 3C018024 */ lui $at, 0x8024 +/* AF79A4 80240054 AC200E88 */ sw $zero, 0xe88($at) +.L80240058: +/* AF79A8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* AF79AC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* AF79B0 80240060 03E00008 */ jr $ra +/* AF79B4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240068_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240068_AF7950.s new file mode 100644 index 0000000000..a12fae7772 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240068_AF7950.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_AF79B8 +/* AF79B8 80240068 3C028024 */ lui $v0, 0x8024 +/* AF79BC 8024006C 8C420E88 */ lw $v0, 0xe88($v0) +/* AF79C0 80240070 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF79C4 80240074 AFBF0014 */ sw $ra, 0x14($sp) +/* AF79C8 80240078 10400005 */ beqz $v0, .L80240090 +/* AF79CC 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* AF79D0 80240080 3C108014 */ lui $s0, %hi(D_80147474) +/* AF79D4 80240084 26107474 */ addiu $s0, $s0, %lo(D_80147474) +/* AF79D8 80240088 08090027 */ j .L8024009C +/* AF79DC 8024008C 2404000A */ addiu $a0, $zero, 0xa +.L80240090: +/* AF79E0 80240090 2404000A */ addiu $a0, $zero, 0xa +/* AF79E4 80240094 3C108014 */ lui $s0, %hi(D_80147574) +/* AF79E8 80240098 26107574 */ addiu $s0, $s0, %lo(D_80147574) +.L8024009C: +/* AF79EC 8024009C 0C051F9F */ jal func_80147E7C +/* AF79F0 802400A0 0200282D */ daddu $a1, $s0, $zero +/* AF79F4 802400A4 2404000B */ addiu $a0, $zero, 0xb +/* AF79F8 802400A8 0C051F9F */ jal func_80147E7C +/* AF79FC 802400AC 0200282D */ daddu $a1, $s0, $zero +/* AF7A00 802400B0 3C038024 */ lui $v1, 0x8024 +/* AF7A04 802400B4 24630E8C */ addiu $v1, $v1, 0xe8c +/* AF7A08 802400B8 8C620000 */ lw $v0, ($v1) +/* AF7A0C 802400BC 18400003 */ blez $v0, .L802400CC +/* AF7A10 802400C0 2442FFFF */ addiu $v0, $v0, -1 +/* AF7A14 802400C4 08090035 */ j .L802400D4 +/* AF7A18 802400C8 AC620000 */ sw $v0, ($v1) +.L802400CC: +/* AF7A1C 802400CC 3C018024 */ lui $at, 0x8024 +/* AF7A20 802400D0 AC200E88 */ sw $zero, 0xe88($at) +.L802400D4: +/* AF7A24 802400D4 8FBF0014 */ lw $ra, 0x14($sp) +/* AF7A28 802400D8 8FB00010 */ lw $s0, 0x10($sp) +/* AF7A2C 802400DC 03E00008 */ jr $ra +/* AF7A30 802400E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802400E4.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802400E4.s new file mode 100644 index 0000000000..cded537fac --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802400E4.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4 +/* AF7A34 802400E4 3C038024 */ lui $v1, 0x8024 +/* AF7A38 802400E8 8C630E90 */ lw $v1, 0xe90($v1) +/* AF7A3C 802400EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AF7A40 802400F0 AFB1001C */ sw $s1, 0x1c($sp) +/* AF7A44 802400F4 00A0882D */ daddu $s1, $a1, $zero +/* AF7A48 802400F8 AFB20020 */ sw $s2, 0x20($sp) +/* AF7A4C 802400FC 00C0902D */ daddu $s2, $a2, $zero +/* AF7A50 80240100 AFBF0024 */ sw $ra, 0x24($sp) +/* AF7A54 80240104 AFB00018 */ sw $s0, 0x18($sp) +/* AF7A58 80240108 00031040 */ sll $v0, $v1, 1 +/* AF7A5C 8024010C 00431021 */ addu $v0, $v0, $v1 +/* AF7A60 80240110 00021080 */ sll $v0, $v0, 2 +/* AF7A64 80240114 3C108024 */ lui $s0, 0x8024 +/* AF7A68 80240118 02028021 */ addu $s0, $s0, $v0 +/* AF7A6C 8024011C 8E100E10 */ lw $s0, 0xe10($s0) +/* AF7A70 80240120 3C028008 */ lui $v0, %hi(gItemTable) +/* AF7A74 80240124 244278E0 */ addiu $v0, $v0, %lo(gItemTable) +/* AF7A78 80240128 00108140 */ sll $s0, $s0, 5 +/* AF7A7C 8024012C 02028021 */ addu $s0, $s0, $v0 +/* AF7A80 80240130 8E040000 */ lw $a0, ($s0) +/* AF7A84 80240134 0C04991D */ jal get_string_width +/* AF7A88 80240138 0000282D */ daddu $a1, $zero, $zero +/* AF7A8C 8024013C 00021043 */ sra $v0, $v0, 1 +/* AF7A90 80240140 2442FFC4 */ addiu $v0, $v0, -0x3c +/* AF7A94 80240144 02222823 */ subu $a1, $s1, $v0 +/* AF7A98 80240148 26460006 */ addiu $a2, $s2, 6 +/* AF7A9C 8024014C AFA00010 */ sw $zero, 0x10($sp) +/* AF7AA0 80240150 AFA00014 */ sw $zero, 0x14($sp) +/* AF7AA4 80240154 8E040000 */ lw $a0, ($s0) +/* AF7AA8 80240158 0C04993B */ jal draw_string +/* AF7AAC 8024015C 240700FF */ addiu $a3, $zero, 0xff +/* AF7AB0 80240160 8FBF0024 */ lw $ra, 0x24($sp) +/* AF7AB4 80240164 8FB20020 */ lw $s2, 0x20($sp) +/* AF7AB8 80240168 8FB1001C */ lw $s1, 0x1c($sp) +/* AF7ABC 8024016C 8FB00018 */ lw $s0, 0x18($sp) +/* AF7AC0 80240170 03E00008 */ jr $ra +/* AF7AC4 80240174 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240178.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240178.s new file mode 100644 index 0000000000..c6bdd5e1a4 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240178.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240178 +/* AF7AC8 80240178 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF7ACC 8024017C 3C038024 */ lui $v1, 0x8024 +/* AF7AD0 80240180 8C630E90 */ lw $v1, 0xe90($v1) +/* AF7AD4 80240184 3C048024 */ lui $a0, 0x8024 +/* AF7AD8 80240188 24840E10 */ addiu $a0, $a0, 0xe10 +/* AF7ADC 8024018C AFBF0018 */ sw $ra, 0x18($sp) +/* AF7AE0 80240190 00031040 */ sll $v0, $v1, 1 +/* AF7AE4 80240194 00431021 */ addu $v0, $v0, $v1 +/* AF7AE8 80240198 00021080 */ sll $v0, $v0, 2 +/* AF7AEC 8024019C 00443821 */ addu $a3, $v0, $a0 +/* AF7AF0 802401A0 3C048008 */ lui $a0, %hi(gItemTable) +/* AF7AF4 802401A4 248478E0 */ addiu $a0, $a0, %lo(gItemTable) +/* AF7AF8 802401A8 8CE20000 */ lw $v0, ($a3) +/* AF7AFC 802401AC 8CE30008 */ lw $v1, 8($a3) +/* AF7B00 802401B0 00021140 */ sll $v0, $v0, 5 +/* AF7B04 802401B4 10600007 */ beqz $v1, .L802401D4 +/* AF7B08 802401B8 00442021 */ addu $a0, $v0, $a0 +/* AF7B0C 802401BC 2402000A */ addiu $v0, $zero, 0xa +/* AF7B10 802401C0 AFA20010 */ sw $v0, 0x10($sp) +/* AF7B14 802401C4 AFA00014 */ sw $zero, 0x14($sp) +/* AF7B18 802401C8 8CE40008 */ lw $a0, 8($a3) +/* AF7B1C 802401CC 0809007A */ j .L802401E8 +/* AF7B20 802401D0 24A50008 */ addiu $a1, $a1, 8 +.L802401D4: +/* AF7B24 802401D4 24A50008 */ addiu $a1, $a1, 8 +/* AF7B28 802401D8 2402000A */ addiu $v0, $zero, 0xa +/* AF7B2C 802401DC AFA20010 */ sw $v0, 0x10($sp) +/* AF7B30 802401E0 AFA00014 */ sw $zero, 0x14($sp) +/* AF7B34 802401E4 8C840014 */ lw $a0, 0x14($a0) +.L802401E8: +/* AF7B38 802401E8 0C04993B */ jal draw_string +/* AF7B3C 802401EC 240700FF */ addiu $a3, $zero, 0xff +/* AF7B40 802401F0 8FBF0018 */ lw $ra, 0x18($sp) +/* AF7B44 802401F4 03E00008 */ jr $ra +/* AF7B48 802401F8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802401FC_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802401FC_AF7950.s new file mode 100644 index 0000000000..4c1bfca704 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802401FC_AF7950.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401FC_AF7B4C +/* AF7B4C 802401FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AF7B50 80240200 3C048024 */ lui $a0, 0x8024 +/* AF7B54 80240204 24840068 */ addiu $a0, $a0, 0x68 +/* AF7B58 80240208 AFBF0024 */ sw $ra, 0x24($sp) +/* AF7B5C 8024020C AFB20020 */ sw $s2, 0x20($sp) +/* AF7B60 80240210 AFB1001C */ sw $s1, 0x1c($sp) +/* AF7B64 80240214 AFB00018 */ sw $s0, 0x18($sp) +/* AF7B68 80240218 3C018024 */ lui $at, 0x8024 +/* AF7B6C 8024021C AC200E88 */ sw $zero, 0xe88($at) +/* AF7B70 80240220 3C018024 */ lui $at, 0x8024 +/* AF7B74 80240224 AC200E8C */ sw $zero, 0xe8c($at) +/* AF7B78 80240228 3C018024 */ lui $at, 0x8024 +/* AF7B7C 8024022C AC200E90 */ sw $zero, 0xe90($at) +/* AF7B80 80240230 0C048C8F */ jal bind_dynamic_entity_7 +/* AF7B84 80240234 0000282D */ daddu $a1, $zero, $zero +/* AF7B88 80240238 0C048D8F */ jal get_dynamic_entity +/* AF7B8C 8024023C 0040202D */ daddu $a0, $v0, $zero +/* AF7B90 80240240 3C048024 */ lui $a0, 0x8024 +/* AF7B94 80240244 24840EF0 */ addiu $a0, $a0, 0xef0 +/* AF7B98 80240248 0C051FCC */ jal func_80147F30 +/* AF7B9C 8024024C 24050002 */ addiu $a1, $zero, 2 +/* AF7BA0 80240250 0000802D */ daddu $s0, $zero, $zero +/* AF7BA4 80240254 24120003 */ addiu $s2, $zero, 3 +/* AF7BA8 80240258 3C118024 */ lui $s1, 0x8024 +/* AF7BAC 8024025C 26310E10 */ addiu $s1, $s1, 0xe10 +.L80240260: +/* AF7BB0 80240260 3C048024 */ lui $a0, 0x8024 +/* AF7BB4 80240264 24840E94 */ addiu $a0, $a0, 0xe94 +/* AF7BB8 80240268 24050080 */ addiu $a1, $zero, 0x80 +/* AF7BBC 8024026C AFA00010 */ sw $zero, 0x10($sp) +/* AF7BC0 80240270 AFB20014 */ sw $s2, 0x14($sp) +/* AF7BC4 80240274 8E260004 */ lw $a2, 4($s1) +/* AF7BC8 80240278 2631000C */ addiu $s1, $s1, 0xc +/* AF7BCC 8024027C 0200382D */ daddu $a3, $s0, $zero +/* AF7BD0 80240280 0C0B10AA */ jal bind_trigger_1 +/* AF7BD4 80240284 26100001 */ addiu $s0, $s0, 1 +/* AF7BD8 80240288 2A02000A */ slti $v0, $s0, 0xa +/* AF7BDC 8024028C 1440FFF4 */ bnez $v0, .L80240260 +/* AF7BE0 80240290 24020002 */ addiu $v0, $zero, 2 +/* AF7BE4 80240294 8FBF0024 */ lw $ra, 0x24($sp) +/* AF7BE8 80240298 8FB20020 */ lw $s2, 0x20($sp) +/* AF7BEC 8024029C 8FB1001C */ lw $s1, 0x1c($sp) +/* AF7BF0 802402A0 8FB00018 */ lw $s0, 0x18($sp) +/* AF7BF4 802402A4 03E00008 */ jr $ra +/* AF7BF8 802402A8 27BD0028 */ addiu $sp, $sp, 0x28 +/* AF7BFC 802402AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802402B0_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802402B0_AF7950.s new file mode 100644 index 0000000000..ced3183d7c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802402B0_AF7950.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B0_AF7C00 +/* AF7C00 802402B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF7C04 802402B4 AFB10014 */ sw $s1, 0x14($sp) +/* AF7C08 802402B8 0080882D */ daddu $s1, $a0, $zero +/* AF7C0C 802402BC AFBF0018 */ sw $ra, 0x18($sp) +/* AF7C10 802402C0 AFB00010 */ sw $s0, 0x10($sp) +/* AF7C14 802402C4 8E30000C */ lw $s0, 0xc($s1) +/* AF7C18 802402C8 8E050000 */ lw $a1, ($s0) +/* AF7C1C 802402CC 0C0B1EAF */ jal get_variable +/* AF7C20 802402D0 26100004 */ addiu $s0, $s0, 4 +/* AF7C24 802402D4 0C00EAD2 */ jal get_npc_safe +/* AF7C28 802402D8 0040202D */ daddu $a0, $v0, $zero +/* AF7C2C 802402DC 10400005 */ beqz $v0, .L802402F4 +/* AF7C30 802402E0 00000000 */ nop +/* AF7C34 802402E4 8E050000 */ lw $a1, ($s0) +/* AF7C38 802402E8 844600A8 */ lh $a2, 0xa8($v0) +/* AF7C3C 802402EC 0C0B2026 */ jal set_variable +/* AF7C40 802402F0 0220202D */ daddu $a0, $s1, $zero +.L802402F4: +/* AF7C44 802402F4 8FBF0018 */ lw $ra, 0x18($sp) +/* AF7C48 802402F8 8FB10014 */ lw $s1, 0x14($sp) +/* AF7C4C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AF7C50 80240300 24020002 */ addiu $v0, $zero, 2 +/* AF7C54 80240304 03E00008 */ jr $ra +/* AF7C58 80240308 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_8024030C_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_8024030C_AF7950.s new file mode 100644 index 0000000000..80d074bcb7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_8024030C_AF7950.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_AF7C5C +/* AF7C5C 8024030C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AF7C60 80240310 AFB10014 */ sw $s1, 0x14($sp) +/* AF7C64 80240314 0080882D */ daddu $s1, $a0, $zero +/* AF7C68 80240318 AFBF0024 */ sw $ra, 0x24($sp) +/* AF7C6C 8024031C AFB40020 */ sw $s4, 0x20($sp) +/* AF7C70 80240320 AFB3001C */ sw $s3, 0x1c($sp) +/* AF7C74 80240324 AFB20018 */ sw $s2, 0x18($sp) +/* AF7C78 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* AF7C7C 8024032C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* AF7C80 80240330 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* AF7C84 80240334 F7B80038 */ sdc1 $f24, 0x38($sp) +/* AF7C88 80240338 F7B60030 */ sdc1 $f22, 0x30($sp) +/* AF7C8C 8024033C F7B40028 */ sdc1 $f20, 0x28($sp) +/* AF7C90 80240340 8E30000C */ lw $s0, 0xc($s1) +/* AF7C94 80240344 8E130000 */ lw $s3, ($s0) +/* AF7C98 80240348 26100004 */ addiu $s0, $s0, 4 +/* AF7C9C 8024034C 0C0B1EAF */ jal get_variable +/* AF7CA0 80240350 0260282D */ daddu $a1, $s3, $zero +/* AF7CA4 80240354 4482E000 */ mtc1 $v0, $f28 +/* AF7CA8 80240358 00000000 */ nop +/* AF7CAC 8024035C 4680E720 */ cvt.s.w $f28, $f28 +/* AF7CB0 80240360 8E140000 */ lw $s4, ($s0) +/* AF7CB4 80240364 26100004 */ addiu $s0, $s0, 4 +/* AF7CB8 80240368 0220202D */ daddu $a0, $s1, $zero +/* AF7CBC 8024036C 0C0B1EAF */ jal get_variable +/* AF7CC0 80240370 0280282D */ daddu $a1, $s4, $zero +/* AF7CC4 80240374 4482D000 */ mtc1 $v0, $f26 +/* AF7CC8 80240378 00000000 */ nop +/* AF7CCC 8024037C 4680D6A0 */ cvt.s.w $f26, $f26 +/* AF7CD0 80240380 8E100000 */ lw $s0, ($s0) +/* AF7CD4 80240384 0220202D */ daddu $a0, $s1, $zero +/* AF7CD8 80240388 0C0B1EAF */ jal get_variable +/* AF7CDC 8024038C 0200282D */ daddu $a1, $s0, $zero +/* AF7CE0 80240390 4482C000 */ mtc1 $v0, $f24 +/* AF7CE4 80240394 00000000 */ nop +/* AF7CE8 80240398 4680C620 */ cvt.s.w $f24, $f24 +/* AF7CEC 8024039C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AF7CF0 802403A0 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AF7CF4 802403A4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* AF7CF8 802403A8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* AF7CFC 802403AC C64200A8 */ lwc1 $f2, 0xa8($s2) +/* AF7D00 802403B0 44800000 */ mtc1 $zero, $f0 +/* AF7D04 802403B4 00031080 */ sll $v0, $v1, 2 +/* AF7D08 802403B8 00431021 */ addu $v0, $v0, $v1 +/* AF7D0C 802403BC 00021080 */ sll $v0, $v0, 2 +/* AF7D10 802403C0 00431023 */ subu $v0, $v0, $v1 +/* AF7D14 802403C4 000218C0 */ sll $v1, $v0, 3 +/* AF7D18 802403C8 00431021 */ addu $v0, $v0, $v1 +/* AF7D1C 802403CC 000210C0 */ sll $v0, $v0, 3 +/* AF7D20 802403D0 46001032 */ c.eq.s $f2, $f0 +/* AF7D24 802403D4 3C01800B */ lui $at, 0x800b +/* AF7D28 802403D8 00220821 */ addu $at, $at, $v0 +/* AF7D2C 802403DC C4361DEC */ lwc1 $f22, 0x1dec($at) +/* AF7D30 802403E0 45000005 */ bc1f .L802403F8 +/* AF7D34 802403E4 00000000 */ nop +/* AF7D38 802403E8 3C0142C8 */ lui $at, 0x42c8 +/* AF7D3C 802403EC 44810000 */ mtc1 $at, $f0 +/* AF7D40 802403F0 08090102 */ j .L80240408 +/* AF7D44 802403F4 4600B581 */ sub.s $f22, $f22, $f0 +.L802403F8: +/* AF7D48 802403F8 3C0142C8 */ lui $at, 0x42c8 +/* AF7D4C 802403FC 44810000 */ mtc1 $at, $f0 +/* AF7D50 80240400 00000000 */ nop +/* AF7D54 80240404 4600B580 */ add.s $f22, $f22, $f0 +.L80240408: +/* AF7D58 80240408 0C00A6C9 */ jal clamp_angle +/* AF7D5C 8024040C 4600B306 */ mov.s $f12, $f22 +/* AF7D60 80240410 46000586 */ mov.s $f22, $f0 +/* AF7D64 80240414 3C014170 */ lui $at, 0x4170 +/* AF7D68 80240418 4481A000 */ mtc1 $at, $f20 +/* AF7D6C 8024041C 0C00A8BB */ jal sin_deg +/* AF7D70 80240420 4600B306 */ mov.s $f12, $f22 +/* AF7D74 80240424 46140002 */ mul.s $f0, $f0, $f20 +/* AF7D78 80240428 00000000 */ nop +/* AF7D7C 8024042C 864200B0 */ lh $v0, 0xb0($s2) +/* AF7D80 80240430 3C013F00 */ lui $at, 0x3f00 +/* AF7D84 80240434 44812000 */ mtc1 $at, $f4 +/* AF7D88 80240438 44821000 */ mtc1 $v0, $f2 +/* AF7D8C 8024043C 00000000 */ nop +/* AF7D90 80240440 468010A0 */ cvt.s.w $f2, $f2 +/* AF7D94 80240444 46041082 */ mul.s $f2, $f2, $f4 +/* AF7D98 80240448 00000000 */ nop +/* AF7D9C 8024044C 4600E700 */ add.s $f28, $f28, $f0 +/* AF7DA0 80240450 4602D680 */ add.s $f26, $f26, $f2 +/* AF7DA4 80240454 0C00A8D4 */ jal cos_deg +/* AF7DA8 80240458 4600B306 */ mov.s $f12, $f22 +/* AF7DAC 8024045C 46140002 */ mul.s $f0, $f0, $f20 +/* AF7DB0 80240460 00000000 */ nop +/* AF7DB4 80240464 0220202D */ daddu $a0, $s1, $zero +/* AF7DB8 80240468 0260282D */ daddu $a1, $s3, $zero +/* AF7DBC 8024046C 4600E18D */ trunc.w.s $f6, $f28 +/* AF7DC0 80240470 44063000 */ mfc1 $a2, $f6 +/* AF7DC4 80240474 0C0B2026 */ jal set_variable +/* AF7DC8 80240478 4600C601 */ sub.s $f24, $f24, $f0 +/* AF7DCC 8024047C 0220202D */ daddu $a0, $s1, $zero +/* AF7DD0 80240480 4600D18D */ trunc.w.s $f6, $f26 +/* AF7DD4 80240484 44063000 */ mfc1 $a2, $f6 +/* AF7DD8 80240488 0C0B2026 */ jal set_variable +/* AF7DDC 8024048C 0280282D */ daddu $a1, $s4, $zero +/* AF7DE0 80240490 0220202D */ daddu $a0, $s1, $zero +/* AF7DE4 80240494 4600C18D */ trunc.w.s $f6, $f24 +/* AF7DE8 80240498 44063000 */ mfc1 $a2, $f6 +/* AF7DEC 8024049C 0C0B2026 */ jal set_variable +/* AF7DF0 802404A0 0200282D */ daddu $a1, $s0, $zero +/* AF7DF4 802404A4 8FBF0024 */ lw $ra, 0x24($sp) +/* AF7DF8 802404A8 8FB40020 */ lw $s4, 0x20($sp) +/* AF7DFC 802404AC 8FB3001C */ lw $s3, 0x1c($sp) +/* AF7E00 802404B0 8FB20018 */ lw $s2, 0x18($sp) +/* AF7E04 802404B4 8FB10014 */ lw $s1, 0x14($sp) +/* AF7E08 802404B8 8FB00010 */ lw $s0, 0x10($sp) +/* AF7E0C 802404BC D7BC0048 */ ldc1 $f28, 0x48($sp) +/* AF7E10 802404C0 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* AF7E14 802404C4 D7B80038 */ ldc1 $f24, 0x38($sp) +/* AF7E18 802404C8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* AF7E1C 802404CC D7B40028 */ ldc1 $f20, 0x28($sp) +/* AF7E20 802404D0 24020002 */ addiu $v0, $zero, 2 +/* AF7E24 802404D4 03E00008 */ jr $ra +/* AF7E28 802404D8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802404DC_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802404DC_AF7950.s new file mode 100644 index 0000000000..07fc32e928 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802404DC_AF7950.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC_AF7E2C +/* AF7E2C 802404DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7E30 802404E0 AFBF0010 */ sw $ra, 0x10($sp) +/* AF7E34 802404E4 10A00003 */ beqz $a1, .L802404F4 +/* AF7E38 802404E8 8C86000C */ lw $a2, 0xc($a0) +/* AF7E3C 802404EC 3C018024 */ lui $at, 0x8024 +/* AF7E40 802404F0 AC201B10 */ sw $zero, 0x1b10($at) +.L802404F4: +/* AF7E44 802404F4 3C038024 */ lui $v1, 0x8024 +/* AF7E48 802404F8 24631B10 */ addiu $v1, $v1, 0x1b10 +/* AF7E4C 802404FC 8C620000 */ lw $v0, ($v1) +/* AF7E50 80240500 54400003 */ bnel $v0, $zero, .L80240510 +/* AF7E54 80240504 AC600000 */ sw $zero, ($v1) +/* AF7E58 80240508 08090149 */ j .L80240524 +/* AF7E5C 8024050C 0000102D */ daddu $v0, $zero, $zero +.L80240510: +/* AF7E60 80240510 8CC50000 */ lw $a1, ($a2) +/* AF7E64 80240514 3C068024 */ lui $a2, 0x8024 +/* AF7E68 80240518 0C0B2026 */ jal set_variable +/* AF7E6C 8024051C 8CC61B14 */ lw $a2, 0x1b14($a2) +/* AF7E70 80240520 24020002 */ addiu $v0, $zero, 2 +.L80240524: +/* AF7E74 80240524 8FBF0010 */ lw $ra, 0x10($sp) +/* AF7E78 80240528 03E00008 */ jr $ra +/* AF7E7C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240530_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240530_AF7950.s new file mode 100644 index 0000000000..d4f85a4ff5 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240530_AF7950.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_AF7E80 +/* AF7E80 80240530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7E84 80240534 AFBF0010 */ sw $ra, 0x10($sp) +/* AF7E88 80240538 8C82000C */ lw $v0, 0xc($a0) +/* AF7E8C 8024053C 0C0B1EAF */ jal get_variable +/* AF7E90 80240540 8C450000 */ lw $a1, ($v0) +/* AF7E94 80240544 3C018024 */ lui $at, 0x8024 +/* AF7E98 80240548 AC221B14 */ sw $v0, 0x1b14($at) +/* AF7E9C 8024054C 24020002 */ addiu $v0, $zero, 2 +/* AF7EA0 80240550 8FBF0010 */ lw $ra, 0x10($sp) +/* AF7EA4 80240554 24030001 */ addiu $v1, $zero, 1 +/* AF7EA8 80240558 3C018024 */ lui $at, 0x8024 +/* AF7EAC 8024055C AC231B10 */ sw $v1, 0x1b10($at) +/* AF7EB0 80240560 03E00008 */ jr $ra +/* AF7EB4 80240564 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240568_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240568_AF7950.s new file mode 100644 index 0000000000..7a38562025 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240568_AF7950.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_AF7EB8 +/* AF7EB8 80240568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7EBC 8024056C AFBF0010 */ sw $ra, 0x10($sp) +/* AF7EC0 80240570 8C82000C */ lw $v0, 0xc($a0) +/* AF7EC4 80240574 0C0B1EAF */ jal get_variable +/* AF7EC8 80240578 8C450000 */ lw $a1, ($v0) +/* AF7ECC 8024057C 0040182D */ daddu $v1, $v0, $zero +/* AF7ED0 80240580 10600012 */ beqz $v1, .L802405CC +/* AF7ED4 80240584 0000202D */ daddu $a0, $zero, $zero +/* AF7ED8 80240588 8C620000 */ lw $v0, ($v1) +/* AF7EDC 8024058C 5040000A */ beql $v0, $zero, .L802405B8 +/* AF7EE0 80240590 00041080 */ sll $v0, $a0, 2 +/* AF7EE4 80240594 3C058024 */ lui $a1, 0x8024 +/* AF7EE8 80240598 24A561F0 */ addiu $a1, $a1, 0x61f0 +.L8024059C: +/* AF7EEC 8024059C 24630004 */ addiu $v1, $v1, 4 +/* AF7EF0 802405A0 24840001 */ addiu $a0, $a0, 1 +/* AF7EF4 802405A4 ACA20000 */ sw $v0, ($a1) +/* AF7EF8 802405A8 8C620000 */ lw $v0, ($v1) +/* AF7EFC 802405AC 1440FFFB */ bnez $v0, .L8024059C +/* AF7F00 802405B0 24A50004 */ addiu $a1, $a1, 4 +/* AF7F04 802405B4 00041080 */ sll $v0, $a0, 2 +.L802405B8: +/* AF7F08 802405B8 3C018024 */ lui $at, 0x8024 +/* AF7F0C 802405BC 00220821 */ addu $at, $at, $v0 +/* AF7F10 802405C0 AC2061F0 */ sw $zero, 0x61f0($at) +/* AF7F14 802405C4 0809017D */ j .L802405F4 +/* AF7F18 802405C8 00000000 */ nop +.L802405CC: +/* AF7F1C 802405CC 3C038024 */ lui $v1, 0x8024 +/* AF7F20 802405D0 246361F0 */ addiu $v1, $v1, 0x61f0 +/* AF7F24 802405D4 0060282D */ daddu $a1, $v1, $zero +.L802405D8: +/* AF7F28 802405D8 24820010 */ addiu $v0, $a0, 0x10 +/* AF7F2C 802405DC AC620000 */ sw $v0, ($v1) +/* AF7F30 802405E0 24630004 */ addiu $v1, $v1, 4 +/* AF7F34 802405E4 24840001 */ addiu $a0, $a0, 1 +/* AF7F38 802405E8 28820070 */ slti $v0, $a0, 0x70 +/* AF7F3C 802405EC 1440FFFA */ bnez $v0, .L802405D8 +/* AF7F40 802405F0 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802405F4: +/* AF7F44 802405F4 8FBF0010 */ lw $ra, 0x10($sp) +/* AF7F48 802405F8 24020002 */ addiu $v0, $zero, 2 +/* AF7F4C 802405FC 03E00008 */ jr $ra +/* AF7F50 80240600 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240604_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240604_AF7950.s new file mode 100644 index 0000000000..cfd332c8df --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240604_AF7950.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240604_AF7F54 +/* AF7F54 80240604 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7F58 80240608 AFBF0010 */ sw $ra, 0x10($sp) +/* AF7F5C 8024060C 8C82000C */ lw $v0, 0xc($a0) +/* AF7F60 80240610 0C0B1EAF */ jal get_variable +/* AF7F64 80240614 8C450000 */ lw $a1, ($v0) +/* AF7F68 80240618 0040182D */ daddu $v1, $v0, $zero +/* AF7F6C 8024061C 10600012 */ beqz $v1, .L80240668 +/* AF7F70 80240620 0000202D */ daddu $a0, $zero, $zero +/* AF7F74 80240624 8C620000 */ lw $v0, ($v1) +/* AF7F78 80240628 5040000A */ beql $v0, $zero, .L80240654 +/* AF7F7C 8024062C 00041080 */ sll $v0, $a0, 2 +/* AF7F80 80240630 3C058024 */ lui $a1, 0x8024 +/* AF7F84 80240634 24A563B8 */ addiu $a1, $a1, 0x63b8 +.L80240638: +/* AF7F88 80240638 24630004 */ addiu $v1, $v1, 4 +/* AF7F8C 8024063C 24840001 */ addiu $a0, $a0, 1 +/* AF7F90 80240640 ACA20000 */ sw $v0, ($a1) +/* AF7F94 80240644 8C620000 */ lw $v0, ($v1) +/* AF7F98 80240648 1440FFFB */ bnez $v0, .L80240638 +/* AF7F9C 8024064C 24A50004 */ addiu $a1, $a1, 4 +/* AF7FA0 80240650 00041080 */ sll $v0, $a0, 2 +.L80240654: +/* AF7FA4 80240654 3C018024 */ lui $at, 0x8024 +/* AF7FA8 80240658 00220821 */ addu $at, $at, $v0 +/* AF7FAC 8024065C AC2063B8 */ sw $zero, 0x63b8($at) +/* AF7FB0 80240660 080901A4 */ j .L80240690 +/* AF7FB4 80240664 00000000 */ nop +.L80240668: +/* AF7FB8 80240668 3C038024 */ lui $v1, 0x8024 +/* AF7FBC 8024066C 246363B8 */ addiu $v1, $v1, 0x63b8 +/* AF7FC0 80240670 0060282D */ daddu $a1, $v1, $zero +.L80240674: +/* AF7FC4 80240674 24820080 */ addiu $v0, $a0, 0x80 +/* AF7FC8 80240678 AC620000 */ sw $v0, ($v1) +/* AF7FCC 8024067C 24630004 */ addiu $v1, $v1, 4 +/* AF7FD0 80240680 24840001 */ addiu $a0, $a0, 1 +/* AF7FD4 80240684 2882005B */ slti $v0, $a0, 0x5b +/* AF7FD8 80240688 1440FFFA */ bnez $v0, .L80240674 +/* AF7FDC 8024068C ACA0016C */ sw $zero, 0x16c($a1) +.L80240690: +/* AF7FE0 80240690 8FBF0010 */ lw $ra, 0x10($sp) +/* AF7FE4 80240694 24020002 */ addiu $v0, $zero, 2 +/* AF7FE8 80240698 03E00008 */ jr $ra +/* AF7FEC 8024069C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802406A0.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802406A0.s new file mode 100644 index 0000000000..82cca9aa2c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802406A0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A0 +/* AF7FF0 802406A0 3C048024 */ lui $a0, 0x8024 +/* AF7FF4 802406A4 8C846568 */ lw $a0, 0x6568($a0) +/* AF7FF8 802406A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF7FFC 802406AC AFBF0010 */ sw $ra, 0x10($sp) +/* AF8000 802406B0 0C0511EA */ jal draw_icon_0 +/* AF8004 802406B4 00000000 */ nop +/* AF8008 802406B8 8FBF0010 */ lw $ra, 0x10($sp) +/* AF800C 802406BC 03E00008 */ jr $ra +/* AF8010 802406C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_802406C4_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_802406C4_AF7950.s new file mode 100644 index 0000000000..b6365606f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_802406C4_AF7950.s @@ -0,0 +1,309 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4_AF8014 +/* AF8014 802406C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* AF8018 802406C8 AFB50024 */ sw $s5, 0x24($sp) +/* AF801C 802406CC 0080A82D */ daddu $s5, $a0, $zero +/* AF8020 802406D0 AFBF0028 */ sw $ra, 0x28($sp) +/* AF8024 802406D4 AFB40020 */ sw $s4, 0x20($sp) +/* AF8028 802406D8 AFB3001C */ sw $s3, 0x1c($sp) +/* AF802C 802406DC AFB20018 */ sw $s2, 0x18($sp) +/* AF8030 802406E0 AFB10014 */ sw $s1, 0x14($sp) +/* AF8034 802406E4 AFB00010 */ sw $s0, 0x10($sp) +/* AF8038 802406E8 10A00003 */ beqz $a1, .L802406F8 +/* AF803C 802406EC 8EA6000C */ lw $a2, 0xc($s5) +/* AF8040 802406F0 3C018024 */ lui $at, 0x8024 +/* AF8044 802406F4 AC206558 */ sw $zero, 0x6558($at) +.L802406F8: +/* AF8048 802406F8 3C038024 */ lui $v1, 0x8024 +/* AF804C 802406FC 8C636558 */ lw $v1, 0x6558($v1) +/* AF8050 80240700 2C62000D */ sltiu $v0, $v1, 0xd +/* AF8054 80240704 104000F1 */ beqz $v0, .L80240ACC +/* AF8058 80240708 00031080 */ sll $v0, $v1, 2 +/* AF805C 8024070C 3C018024 */ lui $at, 0x8024 +/* AF8060 80240710 00220821 */ addu $at, $at, $v0 +/* AF8064 80240714 8C2261B0 */ lw $v0, 0x61b0($at) +/* AF8068 80240718 00400008 */ jr $v0 +/* AF806C 8024071C 00000000 */ nop +/* AF8070 80240720 02A0202D */ daddu $a0, $s5, $zero +/* AF8074 80240724 8CC50000 */ lw $a1, ($a2) +/* AF8078 80240728 0C0B1EAF */ jal get_variable +/* AF807C 8024072C 24140009 */ addiu $s4, $zero, 9 +/* AF8080 80240730 3C058024 */ lui $a1, 0x8024 +/* AF8084 80240734 24A506A0 */ addiu $a1, $a1, 0x6a0 +/* AF8088 80240738 3C018024 */ lui $at, 0x8024 +/* AF808C 8024073C AC226534 */ sw $v0, 0x6534($at) +/* AF8090 80240740 0C048C8F */ jal bind_dynamic_entity_7 +/* AF8094 80240744 0000202D */ daddu $a0, $zero, $zero +/* AF8098 80240748 3C038024 */ lui $v1, 0x8024 +/* AF809C 8024074C 2463659C */ addiu $v1, $v1, 0x659c +/* AF80A0 80240750 3C018024 */ lui $at, 0x8024 +/* AF80A4 80240754 AC226554 */ sw $v0, 0x6554($at) +/* AF80A8 80240758 3C018024 */ lui $at, 0x8024 +/* AF80AC 8024075C AC206528 */ sw $zero, 0x6528($at) +/* AF80B0 80240760 3C018024 */ lui $at, 0x8024 +/* AF80B4 80240764 AC206530 */ sw $zero, 0x6530($at) +.L80240768: +/* AF80B8 80240768 AC600000 */ sw $zero, ($v1) +/* AF80BC 8024076C 2694FFFF */ addiu $s4, $s4, -1 +/* AF80C0 80240770 0681FFFD */ bgez $s4, .L80240768 +/* AF80C4 80240774 2463FFFC */ addiu $v1, $v1, -4 +/* AF80C8 80240778 2414000A */ addiu $s4, $zero, 0xa +/* AF80CC 8024077C 3C048011 */ lui $a0, 0x8011 +/* AF80D0 80240780 24848B28 */ addiu $a0, $a0, -0x74d8 +/* AF80D4 80240784 3C038024 */ lui $v1, 0x8024 +/* AF80D8 80240788 24636538 */ addiu $v1, $v1, 0x6538 +/* AF80DC 8024078C 2402000C */ addiu $v0, $zero, 0xc +/* AF80E0 80240790 AC620004 */ sw $v0, 4($v1) +/* AF80E4 80240794 24020018 */ addiu $v0, $zero, 0x18 +/* AF80E8 80240798 AC620008 */ sw $v0, 8($v1) +/* AF80EC 8024079C 24020024 */ addiu $v0, $zero, 0x24 +/* AF80F0 802407A0 AC62000C */ sw $v0, 0xc($v1) +/* AF80F4 802407A4 24020030 */ addiu $v0, $zero, 0x30 +/* AF80F8 802407A8 AC620010 */ sw $v0, 0x10($v1) +/* AF80FC 802407AC 2402003C */ addiu $v0, $zero, 0x3c +/* AF8100 802407B0 AC620014 */ sw $v0, 0x14($v1) +/* AF8104 802407B4 24020005 */ addiu $v0, $zero, 5 +/* AF8108 802407B8 3C118024 */ lui $s1, 0x8024 +/* AF810C 802407BC 2631655C */ addiu $s1, $s1, 0x655c +/* AF8110 802407C0 3C018024 */ lui $at, 0x8024 +/* AF8114 802407C4 AC226550 */ sw $v0, 0x6550($at) +/* AF8118 802407C8 2402FFD0 */ addiu $v0, $zero, -0x30 +/* AF811C 802407CC 3C108024 */ lui $s0, 0x8024 +/* AF8120 802407D0 26106560 */ addiu $s0, $s0, 0x6560 +/* AF8124 802407D4 3C018024 */ lui $at, 0x8024 +/* AF8128 802407D8 AC2065A0 */ sw $zero, 0x65a0($at) +/* AF812C 802407DC AC600000 */ sw $zero, ($v1) +/* AF8130 802407E0 AE220000 */ sw $v0, ($s1) +/* AF8134 802407E4 24020040 */ addiu $v0, $zero, 0x40 +/* AF8138 802407E8 0C050529 */ jal create_icon +/* AF813C 802407EC AE020000 */ sw $v0, ($s0) +/* AF8140 802407F0 0040982D */ daddu $s3, $v0, $zero +/* AF8144 802407F4 0260202D */ daddu $a0, $s3, $zero +/* AF8148 802407F8 8E250000 */ lw $a1, ($s1) +/* AF814C 802407FC 8E060000 */ lw $a2, ($s0) +/* AF8150 80240800 3C128024 */ lui $s2, 0x8024 +/* AF8154 80240804 26526568 */ addiu $s2, $s2, 0x6568 +/* AF8158 80240808 0C051261 */ jal set_icon_render_pos +/* AF815C 8024080C AE530000 */ sw $s3, ($s2) +/* AF8160 80240810 0260202D */ daddu $a0, $s3, $zero +/* AF8164 80240814 0C051277 */ jal func_801449DC +/* AF8168 80240818 0000282D */ daddu $a1, $zero, $zero +/* AF816C 8024081C 0260202D */ daddu $a0, $s3, $zero +/* AF8170 80240820 0C051280 */ jal set_icon_flags +/* AF8174 80240824 24050082 */ addiu $a1, $zero, 0x82 +/* AF8178 80240828 3C048011 */ lui $a0, 0x8011 +/* AF817C 8024082C 24848AFC */ addiu $a0, $a0, -0x7504 +/* AF8180 80240830 0C050529 */ jal create_icon +/* AF8184 80240834 00000000 */ nop +/* AF8188 80240838 0040982D */ daddu $s3, $v0, $zero +/* AF818C 8024083C 8E250000 */ lw $a1, ($s1) +/* AF8190 80240840 8E060000 */ lw $a2, ($s0) +/* AF8194 80240844 0260202D */ daddu $a0, $s3, $zero +/* AF8198 80240848 AE530004 */ sw $s3, 4($s2) +/* AF819C 8024084C 0C051261 */ jal set_icon_render_pos +/* AF81A0 80240850 24C6001C */ addiu $a2, $a2, 0x1c +/* AF81A4 80240854 0260202D */ daddu $a0, $s3, $zero +/* AF81A8 80240858 0C051277 */ jal func_801449DC +/* AF81AC 8024085C 0000282D */ daddu $a1, $zero, $zero +/* AF81B0 80240860 0260202D */ daddu $a0, $s3, $zero +/* AF81B4 80240864 0C051280 */ jal set_icon_flags +/* AF81B8 80240868 24050082 */ addiu $a1, $zero, 0x82 +/* AF81BC 8024086C 8E530000 */ lw $s3, ($s2) +/* AF81C0 80240870 240500FF */ addiu $a1, $zero, 0xff +/* AF81C4 80240874 0C0513AC */ jal icon_set_opacity +/* AF81C8 80240878 0260202D */ daddu $a0, $s3, $zero +/* AF81CC 8024087C 0260202D */ daddu $a0, $s3, $zero +/* AF81D0 80240880 0C05128B */ jal clear_icon_flags +/* AF81D4 80240884 24050002 */ addiu $a1, $zero, 2 +/* AF81D8 80240888 8E530004 */ lw $s3, 4($s2) +/* AF81DC 8024088C 240500FF */ addiu $a1, $zero, 0xff +/* AF81E0 80240890 0C0513AC */ jal icon_set_opacity +/* AF81E4 80240894 0260202D */ daddu $a0, $s3, $zero +/* AF81E8 80240898 0260202D */ daddu $a0, $s3, $zero +/* AF81EC 8024089C 0C05128B */ jal clear_icon_flags +/* AF81F0 802408A0 24050002 */ addiu $a1, $zero, 2 +/* AF81F4 802408A4 24020001 */ addiu $v0, $zero, 1 +/* AF81F8 802408A8 3C018024 */ lui $at, 0x8024 +/* AF81FC 802408AC AC226558 */ sw $v0, 0x6558($at) +/* AF8200 802408B0 080902B3 */ j .L80240ACC +/* AF8204 802408B4 AEB40070 */ sw $s4, 0x70($s5) +/* AF8208 802408B8 3C128024 */ lui $s2, 0x8024 +/* AF820C 802408BC 2652655C */ addiu $s2, $s2, 0x655c +/* AF8210 802408C0 8E420000 */ lw $v0, ($s2) +/* AF8214 802408C4 24420014 */ addiu $v0, $v0, 0x14 +/* AF8218 802408C8 AE420000 */ sw $v0, ($s2) +/* AF821C 802408CC 28420033 */ slti $v0, $v0, 0x33 +/* AF8220 802408D0 14400002 */ bnez $v0, .L802408DC +/* AF8224 802408D4 24020032 */ addiu $v0, $zero, 0x32 +/* AF8228 802408D8 AE420000 */ sw $v0, ($s2) +.L802408DC: +/* AF822C 802408DC 3C118024 */ lui $s1, 0x8024 +/* AF8230 802408E0 26316568 */ addiu $s1, $s1, 0x6568 +/* AF8234 802408E4 3C108024 */ lui $s0, 0x8024 +/* AF8238 802408E8 26106560 */ addiu $s0, $s0, 0x6560 +/* AF823C 802408EC 8E240000 */ lw $a0, ($s1) +/* AF8240 802408F0 8E450000 */ lw $a1, ($s2) +/* AF8244 802408F4 0C051261 */ jal set_icon_render_pos +/* AF8248 802408F8 8E060000 */ lw $a2, ($s0) +/* AF824C 802408FC 8E240004 */ lw $a0, 4($s1) +/* AF8250 80240900 8E060000 */ lw $a2, ($s0) +/* AF8254 80240904 8E450000 */ lw $a1, ($s2) +/* AF8258 80240908 0C051261 */ jal set_icon_render_pos +/* AF825C 8024090C 24C6001C */ addiu $a2, $a2, 0x1c +/* AF8260 80240910 8EA20070 */ lw $v0, 0x70($s5) +/* AF8264 80240914 10400003 */ beqz $v0, .L80240924 +/* AF8268 80240918 2442FFFF */ addiu $v0, $v0, -1 +/* AF826C 8024091C 080902B3 */ j .L80240ACC +/* AF8270 80240920 AEA20070 */ sw $v0, 0x70($s5) +.L80240924: +/* AF8274 80240924 2402000A */ addiu $v0, $zero, 0xa +/* AF8278 80240928 3C018024 */ lui $at, 0x8024 +/* AF827C 8024092C AC226558 */ sw $v0, 0x6558($at) +/* AF8280 80240930 080902B3 */ j .L80240ACC +/* AF8284 80240934 00000000 */ nop +/* AF8288 80240938 3C048024 */ lui $a0, 0x8024 +/* AF828C 8024093C 8C846568 */ lw $a0, 0x6568($a0) +/* AF8290 80240940 3C058011 */ lui $a1, 0x8011 +/* AF8294 80240944 24A58B80 */ addiu $a1, $a1, -0x7480 +/* AF8298 80240948 0C0511FF */ jal set_menu_icon_script +/* AF829C 8024094C 00000000 */ nop +/* AF82A0 80240950 2402000B */ addiu $v0, $zero, 0xb +/* AF82A4 80240954 3C018024 */ lui $at, 0x8024 +/* AF82A8 80240958 AC206528 */ sw $zero, 0x6528($at) +/* AF82AC 8024095C 3C018024 */ lui $at, 0x8024 +/* AF82B0 80240960 AC20652C */ sw $zero, 0x652c($at) +/* AF82B4 80240964 3C018024 */ lui $at, 0x8024 +/* AF82B8 80240968 AC226558 */ sw $v0, 0x6558($at) +/* AF82BC 8024096C 3C038024 */ lui $v1, 0x8024 +/* AF82C0 80240970 8C636550 */ lw $v1, 0x6550($v1) +/* AF82C4 80240974 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AF82C8 80240978 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AF82CC 8024097C 00031880 */ sll $v1, $v1, 2 +/* AF82D0 80240980 8C420010 */ lw $v0, 0x10($v0) +/* AF82D4 80240984 3C048024 */ lui $a0, 0x8024 +/* AF82D8 80240988 00832021 */ addu $a0, $a0, $v1 +/* AF82DC 8024098C 8C846538 */ lw $a0, 0x6538($a0) +/* AF82E0 80240990 30428000 */ andi $v0, $v0, 0x8000 +/* AF82E4 80240994 10400006 */ beqz $v0, .L802409B0 +/* AF82E8 80240998 00000000 */ nop +/* AF82EC 8024099C 3C038024 */ lui $v1, 0x8024 +/* AF82F0 802409A0 24636528 */ addiu $v1, $v1, 0x6528 +/* AF82F4 802409A4 8C620000 */ lw $v0, ($v1) +/* AF82F8 802409A8 24420001 */ addiu $v0, $v0, 1 +/* AF82FC 802409AC AC620000 */ sw $v0, ($v1) +.L802409B0: +/* AF8300 802409B0 3C038024 */ lui $v1, 0x8024 +/* AF8304 802409B4 24636528 */ addiu $v1, $v1, 0x6528 +/* AF8308 802409B8 8C620000 */ lw $v0, ($v1) +/* AF830C 802409BC 0082102A */ slt $v0, $a0, $v0 +/* AF8310 802409C0 54400001 */ bnel $v0, $zero, .L802409C8 +/* AF8314 802409C4 AC640000 */ sw $a0, ($v1) +.L802409C8: +/* AF8318 802409C8 3C048024 */ lui $a0, 0x8024 +/* AF831C 802409CC 2484652C */ addiu $a0, $a0, 0x652c +/* AF8320 802409D0 8C830000 */ lw $v1, ($a0) +/* AF8324 802409D4 24020002 */ addiu $v0, $zero, 2 +/* AF8328 802409D8 14620003 */ bne $v1, $v0, .L802409E8 +/* AF832C 802409DC 0000A02D */ daddu $s4, $zero, $zero +/* AF8330 802409E0 24020003 */ addiu $v0, $zero, 3 +/* AF8334 802409E4 AC820000 */ sw $v0, ($a0) +.L802409E8: +/* AF8338 802409E8 3C038024 */ lui $v1, 0x8024 +/* AF833C 802409EC 24636578 */ addiu $v1, $v1, 0x6578 +.L802409F0: +/* AF8340 802409F0 8C620000 */ lw $v0, ($v1) +/* AF8344 802409F4 14400006 */ bnez $v0, .L80240A10 +/* AF8348 802409F8 2A82000A */ slti $v0, $s4, 0xa +/* AF834C 802409FC 26940001 */ addiu $s4, $s4, 1 +/* AF8350 80240A00 2A82000A */ slti $v0, $s4, 0xa +/* AF8354 80240A04 1440FFFA */ bnez $v0, .L802409F0 +/* AF8358 80240A08 24630004 */ addiu $v1, $v1, 4 +/* AF835C 80240A0C 2A82000A */ slti $v0, $s4, 0xa +.L80240A10: +/* AF8360 80240A10 14400006 */ bnez $v0, .L80240A2C +/* AF8364 80240A14 24020003 */ addiu $v0, $zero, 3 +/* AF8368 80240A18 24020002 */ addiu $v0, $zero, 2 +/* AF836C 80240A1C 3C018024 */ lui $at, 0x8024 +/* AF8370 80240A20 AC22652C */ sw $v0, 0x652c($at) +/* AF8374 80240A24 08090291 */ j .L80240A44 +/* AF8378 80240A28 00000000 */ nop +.L80240A2C: +/* AF837C 80240A2C 3C048024 */ lui $a0, 0x8024 +/* AF8380 80240A30 2484652C */ addiu $a0, $a0, 0x652c +/* AF8384 80240A34 8C830000 */ lw $v1, ($a0) +/* AF8388 80240A38 10620002 */ beq $v1, $v0, .L80240A44 +/* AF838C 80240A3C 24020002 */ addiu $v0, $zero, 2 +/* AF8390 80240A40 AC820000 */ sw $v0, ($a0) +.L80240A44: +/* AF8394 80240A44 3C038024 */ lui $v1, 0x8024 +/* AF8398 80240A48 24636534 */ addiu $v1, $v1, 0x6534 +/* AF839C 80240A4C 8C620000 */ lw $v0, ($v1) +/* AF83A0 80240A50 2442FFFF */ addiu $v0, $v0, -1 +/* AF83A4 80240A54 1440001D */ bnez $v0, .L80240ACC +/* AF83A8 80240A58 AC620000 */ sw $v0, ($v1) +/* AF83AC 80240A5C 24020005 */ addiu $v0, $zero, 5 +/* AF83B0 80240A60 AC620000 */ sw $v0, ($v1) +/* AF83B4 80240A64 2402000C */ addiu $v0, $zero, 0xc +/* AF83B8 80240A68 3C018024 */ lui $at, 0x8024 +/* AF83BC 80240A6C AC226558 */ sw $v0, 0x6558($at) +/* AF83C0 80240A70 080902B3 */ j .L80240ACC +/* AF83C4 80240A74 00000000 */ nop +/* AF83C8 80240A78 3C038024 */ lui $v1, 0x8024 +/* AF83CC 80240A7C 24636534 */ addiu $v1, $v1, 0x6534 +/* AF83D0 80240A80 8C620000 */ lw $v0, ($v1) +/* AF83D4 80240A84 54400010 */ bnel $v0, $zero, .L80240AC8 +/* AF83D8 80240A88 2442FFFF */ addiu $v0, $v0, -1 +/* AF83DC 80240A8C 3C028024 */ lui $v0, 0x8024 +/* AF83E0 80240A90 8C426528 */ lw $v0, 0x6528($v0) +/* AF83E4 80240A94 3C108024 */ lui $s0, 0x8024 +/* AF83E8 80240A98 26106568 */ addiu $s0, $s0, 0x6568 +/* AF83EC 80240A9C AEA20084 */ sw $v0, 0x84($s5) +/* AF83F0 80240AA0 0C05123D */ jal free_icon +/* AF83F4 80240AA4 8E040000 */ lw $a0, ($s0) +/* AF83F8 80240AA8 0C05123D */ jal free_icon +/* AF83FC 80240AAC 8E040004 */ lw $a0, 4($s0) +/* AF8400 80240AB0 3C048024 */ lui $a0, 0x8024 +/* AF8404 80240AB4 8C846554 */ lw $a0, 0x6554($a0) +/* AF8408 80240AB8 0C048D70 */ jal func_801235C0 +/* AF840C 80240ABC 00000000 */ nop +/* AF8410 80240AC0 080902CA */ j .L80240B28 +/* AF8414 80240AC4 24020002 */ addiu $v0, $zero, 2 +.L80240AC8: +/* AF8418 80240AC8 AC620000 */ sw $v0, ($v1) +.L80240ACC: +/* AF841C 80240ACC 3C058024 */ lui $a1, 0x8024 +/* AF8420 80240AD0 24A565A0 */ addiu $a1, $a1, 0x65a0 +/* AF8424 80240AD4 8CA20000 */ lw $v0, ($a1) +/* AF8428 80240AD8 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AF842C 80240ADC 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AF8430 80240AE0 00022080 */ sll $a0, $v0, 2 +/* AF8434 80240AE4 8C630010 */ lw $v1, 0x10($v1) +/* AF8438 80240AE8 24420001 */ addiu $v0, $v0, 1 +/* AF843C 80240AEC ACA20000 */ sw $v0, ($a1) +/* AF8440 80240AF0 2842000A */ slti $v0, $v0, 0xa +/* AF8444 80240AF4 30638000 */ andi $v1, $v1, 0x8000 +/* AF8448 80240AF8 3C018024 */ lui $at, 0x8024 +/* AF844C 80240AFC 00240821 */ addu $at, $at, $a0 +/* AF8450 80240B00 AC236578 */ sw $v1, 0x6578($at) +/* AF8454 80240B04 50400001 */ beql $v0, $zero, .L80240B0C +/* AF8458 80240B08 ACA00000 */ sw $zero, ($a1) +.L80240B0C: +/* AF845C 80240B0C 02A0202D */ daddu $a0, $s5, $zero +/* AF8460 80240B10 3C05F70F */ lui $a1, 0xf70f +/* AF8464 80240B14 3C068024 */ lui $a2, 0x8024 +/* AF8468 80240B18 8CC6652C */ lw $a2, 0x652c($a2) +/* AF846C 80240B1C 0C0B2026 */ jal set_variable +/* AF8470 80240B20 34A52E83 */ ori $a1, $a1, 0x2e83 +/* AF8474 80240B24 0000102D */ daddu $v0, $zero, $zero +.L80240B28: +/* AF8478 80240B28 8FBF0028 */ lw $ra, 0x28($sp) +/* AF847C 80240B2C 8FB50024 */ lw $s5, 0x24($sp) +/* AF8480 80240B30 8FB40020 */ lw $s4, 0x20($sp) +/* AF8484 80240B34 8FB3001C */ lw $s3, 0x1c($sp) +/* AF8488 80240B38 8FB20018 */ lw $s2, 0x18($sp) +/* AF848C 80240B3C 8FB10014 */ lw $s1, 0x14($sp) +/* AF8490 80240B40 8FB00010 */ lw $s0, 0x10($sp) +/* AF8494 80240B44 03E00008 */ jr $ra +/* AF8498 80240B48 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B4C_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B4C_AF7950.s new file mode 100644 index 0000000000..b9b760451a --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B4C_AF7950.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B4C_AF849C +/* AF849C 80240B4C 54A00001 */ bnel $a1, $zero, .L80240B54 +/* AF84A0 80240B50 AC800074 */ sw $zero, 0x74($a0) +.L80240B54: +/* AF84A4 80240B54 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AF84A8 80240B58 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AF84AC 80240B5C 8C420010 */ lw $v0, 0x10($v0) +/* AF84B0 80240B60 30428000 */ andi $v0, $v0, 0x8000 +/* AF84B4 80240B64 14400006 */ bnez $v0, .L80240B80 +/* AF84B8 80240B68 24020002 */ addiu $v0, $zero, 2 +/* AF84BC 80240B6C 8C830074 */ lw $v1, 0x74($a0) +/* AF84C0 80240B70 0000102D */ daddu $v0, $zero, $zero +/* AF84C4 80240B74 24630001 */ addiu $v1, $v1, 1 +/* AF84C8 80240B78 03E00008 */ jr $ra +/* AF84CC 80240B7C AC830074 */ sw $v1, 0x74($a0) +.L80240B80: +/* AF84D0 80240B80 8C830074 */ lw $v1, 0x74($a0) +/* AF84D4 80240B84 03E00008 */ jr $ra +/* AF84D8 80240B88 AC830084 */ sw $v1, 0x84($a0) diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B8C.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B8C.s new file mode 100644 index 0000000000..b89bb24032 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240B8C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B8C +/* AF84DC 80240B8C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AF84E0 80240B90 AFB00010 */ sw $s0, 0x10($sp) +/* AF84E4 80240B94 0080802D */ daddu $s0, $a0, $zero +/* AF84E8 80240B98 AFBF0018 */ sw $ra, 0x18($sp) +/* AF84EC 80240B9C AFB10014 */ sw $s1, 0x14($sp) +/* AF84F0 80240BA0 8E02000C */ lw $v0, 0xc($s0) +/* AF84F4 80240BA4 8C510000 */ lw $s1, ($v0) +/* AF84F8 80240BA8 0C0B1EAF */ jal get_variable +/* AF84FC 80240BAC 0220282D */ daddu $a1, $s1, $zero +/* AF8500 80240BB0 0200202D */ daddu $a0, $s0, $zero +/* AF8504 80240BB4 00021140 */ sll $v0, $v0, 5 +/* AF8508 80240BB8 3C068008 */ lui $a2, %hi(gItemTable) +/* AF850C 80240BBC 00C23021 */ addu $a2, $a2, $v0 +/* AF8510 80240BC0 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* AF8514 80240BC4 0C0B2026 */ jal set_variable +/* AF8518 80240BC8 0220282D */ daddu $a1, $s1, $zero +/* AF851C 80240BCC 8FBF0018 */ lw $ra, 0x18($sp) +/* AF8520 80240BD0 8FB10014 */ lw $s1, 0x14($sp) +/* AF8524 80240BD4 8FB00010 */ lw $s0, 0x10($sp) +/* AF8528 80240BD8 24020002 */ addiu $v0, $zero, 2 +/* AF852C 80240BDC 03E00008 */ jr $ra +/* AF8530 80240BE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240BE4_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240BE4_AF7950.s new file mode 100644 index 0000000000..6c8f5324ca --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240BE4_AF7950.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE4_AF8534 +/* AF8534 80240BE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF8538 80240BE8 AFBF0010 */ sw $ra, 0x10($sp) +/* AF853C 80240BEC 8C82000C */ lw $v0, 0xc($a0) +/* AF8540 80240BF0 3C068016 */ lui $a2, 0x8016 +/* AF8544 80240BF4 84C6A552 */ lh $a2, -0x5aae($a2) +/* AF8548 80240BF8 0C0B2026 */ jal set_variable +/* AF854C 80240BFC 8C450000 */ lw $a1, ($v0) +/* AF8550 80240C00 8FBF0010 */ lw $ra, 0x10($sp) +/* AF8554 80240C04 24020002 */ addiu $v0, $zero, 2 +/* AF8558 80240C08 03E00008 */ jr $ra +/* AF855C 80240C0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C10.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C10.s new file mode 100644 index 0000000000..5f6a244915 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C10.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C10 +/* AF8560 80240C10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF8564 80240C14 AFBF0010 */ sw $ra, 0x10($sp) +/* AF8568 80240C18 8C82000C */ lw $v0, 0xc($a0) +/* AF856C 80240C1C 0C0B1EAF */ jal get_variable +/* AF8570 80240C20 8C450000 */ lw $a1, ($v0) +/* AF8574 80240C24 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* AF8578 80240C28 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* AF857C 80240C2C 0040182D */ daddu $v1, $v0, $zero +/* AF8580 80240C30 3C018011 */ lui $at, 0x8011 +/* AF8584 80240C34 A023F08C */ sb $v1, -0xf74($at) +/* AF8588 80240C38 A0830080 */ sb $v1, 0x80($a0) +/* AF858C 80240C3C 8FBF0010 */ lw $ra, 0x10($sp) +/* AF8590 80240C40 24020002 */ addiu $v0, $zero, 2 +/* AF8594 80240C44 03E00008 */ jr $ra +/* AF8598 80240C48 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C4C_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C4C_AF7950.s new file mode 100644 index 0000000000..a883f85598 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240C4C_AF7950.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_AF859C +/* AF859C 80240C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF85A0 80240C50 AFB00010 */ sw $s0, 0x10($sp) +/* AF85A4 80240C54 0080802D */ daddu $s0, $a0, $zero +/* AF85A8 80240C58 10A00002 */ beqz $a1, .L80240C64 +/* AF85AC 80240C5C AFBF0014 */ sw $ra, 0x14($sp) +/* AF85B0 80240C60 AE000074 */ sw $zero, 0x74($s0) +.L80240C64: +/* AF85B4 80240C64 8E020074 */ lw $v0, 0x74($s0) +/* AF85B8 80240C68 24420010 */ addiu $v0, $v0, 0x10 +/* AF85BC 80240C6C AE020074 */ sw $v0, 0x74($s0) +/* AF85C0 80240C70 28420100 */ slti $v0, $v0, 0x100 +/* AF85C4 80240C74 14400002 */ bnez $v0, .L80240C80 +/* AF85C8 80240C78 240200FF */ addiu $v0, $zero, 0xff +/* AF85CC 80240C7C AE020074 */ sw $v0, 0x74($s0) +.L80240C80: +/* AF85D0 80240C80 C6000074 */ lwc1 $f0, 0x74($s0) +/* AF85D4 80240C84 46800020 */ cvt.s.w $f0, $f0 +/* AF85D8 80240C88 44050000 */ mfc1 $a1, $f0 +/* AF85DC 80240C8C 0C04DF62 */ jal func_80137D88 +/* AF85E0 80240C90 0000202D */ daddu $a0, $zero, $zero +/* AF85E4 80240C94 8E020074 */ lw $v0, 0x74($s0) +/* AF85E8 80240C98 8FBF0014 */ lw $ra, 0x14($sp) +/* AF85EC 80240C9C 8FB00010 */ lw $s0, 0x10($sp) +/* AF85F0 80240CA0 384200FF */ xori $v0, $v0, 0xff +/* AF85F4 80240CA4 2C420001 */ sltiu $v0, $v0, 1 +/* AF85F8 80240CA8 00021040 */ sll $v0, $v0, 1 +/* AF85FC 80240CAC 03E00008 */ jr $ra +/* AF8600 80240CB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_19/func_80240CB4_AF7950.s b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240CB4_AF7950.s new file mode 100644 index 0000000000..452b46d794 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_19/func_80240CB4_AF7950.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB4_AF8604 +/* AF8604 80240CB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AF8608 80240CB8 10A00003 */ beqz $a1, .L80240CC8 +/* AF860C 80240CBC AFBF0010 */ sw $ra, 0x10($sp) +/* AF8610 80240CC0 240200FF */ addiu $v0, $zero, 0xff +/* AF8614 80240CC4 AC820074 */ sw $v0, 0x74($a0) +.L80240CC8: +/* AF8618 80240CC8 8C820074 */ lw $v0, 0x74($a0) +/* AF861C 80240CCC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* AF8620 80240CD0 18400009 */ blez $v0, .L80240CF8 +/* AF8624 80240CD4 AC820074 */ sw $v0, 0x74($a0) +/* AF8628 80240CD8 44820000 */ mtc1 $v0, $f0 +/* AF862C 80240CDC 00000000 */ nop +/* AF8630 80240CE0 46800020 */ cvt.s.w $f0, $f0 +/* AF8634 80240CE4 44050000 */ mfc1 $a1, $f0 +/* AF8638 80240CE8 0C04DF62 */ jal func_80137D88 +/* AF863C 80240CEC 0000202D */ daddu $a0, $zero, $zero +/* AF8640 80240CF0 08090340 */ j .L80240D00 +/* AF8644 80240CF4 0000102D */ daddu $v0, $zero, $zero +.L80240CF8: +/* AF8648 80240CF8 AC800074 */ sw $zero, 0x74($a0) +/* AF864C 80240CFC 24020002 */ addiu $v0, $zero, 2 +.L80240D00: +/* AF8650 80240D00 8FBF0010 */ lw $ra, 0x10($sp) +/* AF8654 80240D04 03E00008 */ jr $ra +/* AF8658 80240D08 27BD0018 */ addiu $sp, $sp, 0x18 +/* AF865C 80240D0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240000_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240000_AFDB40.s new file mode 100644 index 0000000000..bf4b2528e9 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240000_AFDB40.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AFDB40 +/* AFDB40 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFDB44 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AFDB48 80240008 3C108024 */ lui $s0, 0x8024 +/* AFDB4C 8024000C 26100880 */ addiu $s0, $s0, 0x880 +/* AFDB50 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* AFDB54 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* AFDB58 80240018 8E020000 */ lw $v0, ($s0) +/* AFDB5C 8024001C 14400010 */ bnez $v0, .L80240060 +/* AFDB60 80240020 0080882D */ daddu $s1, $a0, $zero +/* AFDB64 80240024 0C00AB39 */ jal heap_malloc +/* AFDB68 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* AFDB6C 8024002C AE020000 */ sw $v0, ($s0) +/* AFDB70 80240030 0000182D */ daddu $v1, $zero, $zero +/* AFDB74 80240034 0040282D */ daddu $a1, $v0, $zero +/* AFDB78 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* AFDB7C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* AFDB80 80240040 24840004 */ addiu $a0, $a0, 4 +/* AFDB84 80240044 24630001 */ addiu $v1, $v1, 1 +/* AFDB88 80240048 ACA20000 */ sw $v0, ($a1) +/* AFDB8C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* AFDB90 80240050 1440FFFA */ bnez $v0, .L8024003C +/* AFDB94 80240054 24A50004 */ addiu $a1, $a1, 4 +/* AFDB98 80240058 08090027 */ j .L8024009C +/* AFDB9C 8024005C 00000000 */ nop +.L80240060: +/* AFDBA0 80240060 0000182D */ daddu $v1, $zero, $zero +/* AFDBA4 80240064 0040282D */ daddu $a1, $v0, $zero +/* AFDBA8 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* AFDBAC 8024006C 8CA20000 */ lw $v0, ($a1) +/* AFDBB0 80240070 24A50004 */ addiu $a1, $a1, 4 +/* AFDBB4 80240074 24630001 */ addiu $v1, $v1, 1 +/* AFDBB8 80240078 AC820084 */ sw $v0, 0x84($a0) +/* AFDBBC 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* AFDBC0 80240080 1440FFFA */ bnez $v0, .L8024006C +/* AFDBC4 80240084 24840004 */ addiu $a0, $a0, 4 +/* AFDBC8 80240088 3C108024 */ lui $s0, 0x8024 +/* AFDBCC 8024008C 26100880 */ addiu $s0, $s0, 0x880 +/* AFDBD0 80240090 0C00AB4B */ jal heap_free +/* AFDBD4 80240094 8E040000 */ lw $a0, ($s0) +/* AFDBD8 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* AFDBDC 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* AFDBE0 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* AFDBE4 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* AFDBE8 802400A8 24020002 */ addiu $v0, $zero, 2 +/* AFDBEC 802400AC 03E00008 */ jr $ra +/* AFDBF0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802400B4_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802400B4_AFDB40.s new file mode 100644 index 0000000000..7f77b044b7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802400B4_AFDB40.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_AFDBF4 +/* AFDBF4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFDBF8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* AFDBFC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* AFDC00 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* AFDC04 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* AFDC08 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* AFDC0C 802400CC 8C510000 */ lw $s1, ($v0) +/* AFDC10 802400D0 0C0B1EAF */ jal get_variable +/* AFDC14 802400D4 0220282D */ daddu $a1, $s1, $zero +/* AFDC18 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* AFDC1C 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* AFDC20 802400E0 0200202D */ daddu $a0, $s0, $zero +/* AFDC24 802400E4 00431024 */ and $v0, $v0, $v1 +/* AFDC28 802400E8 00021140 */ sll $v0, $v0, 5 +/* AFDC2C 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* AFDC30 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* AFDC34 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* AFDC38 802400F8 0C0B2026 */ jal set_variable +/* AFDC3C 802400FC 0220282D */ daddu $a1, $s1, $zero +/* AFDC40 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* AFDC44 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* AFDC48 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* AFDC4C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* AFDC50 80240110 03E00008 */ jr $ra +/* AFDC54 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240118_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240118_AFDB40.s new file mode 100644 index 0000000000..bb7b1d26e0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240118_AFDB40.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_AFDC58 +/* AFDC58 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFDC5C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* AFDC60 80240120 0080882D */ daddu $s1, $a0, $zero +/* AFDC64 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* AFDC68 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* AFDC6C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* AFDC70 80240130 8E240084 */ lw $a0, 0x84($s1) +/* AFDC74 80240134 0C04C3D6 */ jal get_item_entity +/* AFDC78 80240138 00A0802D */ daddu $s0, $a1, $zero +/* AFDC7C 8024013C 12000005 */ beqz $s0, .L80240154 +/* AFDC80 80240140 0040902D */ daddu $s2, $v0, $zero +/* AFDC84 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* AFDC88 80240148 AE200074 */ sw $zero, 0x74($s1) +/* AFDC8C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* AFDC90 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* AFDC94 80240154 8E230074 */ lw $v1, 0x74($s1) +/* AFDC98 80240158 10600005 */ beqz $v1, .L80240170 +/* AFDC9C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* AFDCA0 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* AFDCA4 80240164 00000000 */ nop +/* AFDCA8 80240168 08090093 */ j .L8024024C +/* AFDCAC 8024016C 00000000 */ nop +.L80240170: +/* AFDCB0 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* AFDCB4 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* AFDCB8 80240178 44810000 */ mtc1 $at, $f0 +/* AFDCBC 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* AFDCC0 80240180 46806320 */ cvt.s.w $f12, $f12 +/* AFDCC4 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* AFDCC8 80240188 00000000 */ nop +/* AFDCCC 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* AFDCD0 80240190 44810000 */ mtc1 $at, $f0 +/* AFDCD4 80240194 0C00A874 */ jal cos_rad +/* AFDCD8 80240198 46006303 */ div.s $f12, $f12, $f0 +/* AFDCDC 8024019C 3C013F80 */ lui $at, 0x3f80 +/* AFDCE0 802401A0 44811000 */ mtc1 $at, $f2 +/* AFDCE4 802401A4 00000000 */ nop +/* AFDCE8 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* AFDCEC 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* AFDCF0 802401B0 44810000 */ mtc1 $at, $f0 +/* AFDCF4 802401B4 00000000 */ nop +/* AFDCF8 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* AFDCFC 802401BC 00000000 */ nop +/* AFDD00 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* AFDD04 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* AFDD08 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* AFDD0C 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* AFDD10 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* AFDD14 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* AFDD18 802401D8 24620001 */ addiu $v0, $v1, 1 +/* AFDD1C 802401DC 24020001 */ addiu $v0, $zero, 1 +/* AFDD20 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* AFDD24 802401E4 08090093 */ j .L8024024C +/* AFDD28 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* AFDD2C 802401EC 08090093 */ j .L8024024C +/* AFDD30 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* AFDD34 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* AFDD38 802401F8 0C00A8D4 */ jal cos_deg +/* AFDD3C 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* AFDD40 80240200 3C014040 */ lui $at, 0x4040 +/* AFDD44 80240204 44811000 */ mtc1 $at, $f2 +/* AFDD48 80240208 00000000 */ nop +/* AFDD4C 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* AFDD50 80240210 00000000 */ nop +/* AFDD54 80240214 3C014188 */ lui $at, 0x4188 +/* AFDD58 80240218 44812000 */ mtc1 $at, $f4 +/* AFDD5C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* AFDD60 80240220 46041080 */ add.s $f2, $f2, $f4 +/* AFDD64 80240224 46001080 */ add.s $f2, $f2, $f0 +/* AFDD68 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* AFDD6C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* AFDD70 80240230 24420009 */ addiu $v0, $v0, 9 +/* AFDD74 80240234 44826000 */ mtc1 $v0, $f12 +/* AFDD78 80240238 00000000 */ nop +/* AFDD7C 8024023C 0C00A6C9 */ jal clamp_angle +/* AFDD80 80240240 46806320 */ cvt.s.w $f12, $f12 +/* AFDD84 80240244 4600018D */ trunc.w.s $f6, $f0 +/* AFDD88 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* AFDD8C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* AFDD90 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* AFDD94 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* AFDD98 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* AFDD9C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* AFDDA0 80240260 03E00008 */ jr $ra +/* AFDDA4 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240268_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240268_AFDB40.s new file mode 100644 index 0000000000..615f7872a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240268_AFDB40.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_AFDDA8 +/* AFDDA8 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDDAC 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* AFDDB0 80240270 0080802D */ daddu $s0, $a0, $zero +/* AFDDB4 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* AFDDB8 80240278 8E02000C */ lw $v0, 0xc($s0) +/* AFDDBC 8024027C 0C0B1EAF */ jal get_variable +/* AFDDC0 80240280 8C450000 */ lw $a1, ($v0) +/* AFDDC4 80240284 00021140 */ sll $v0, $v0, 5 +/* AFDDC8 80240288 AE000084 */ sw $zero, 0x84($s0) +/* AFDDCC 8024028C 3C018008 */ lui $at, 0x8008 +/* AFDDD0 80240290 00220821 */ addu $at, $at, $v0 +/* AFDDD4 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* AFDDD8 80240298 30420040 */ andi $v0, $v0, 0x40 +/* AFDDDC 8024029C 10400002 */ beqz $v0, .L802402A8 +/* AFDDE0 802402A0 24020001 */ addiu $v0, $zero, 1 +/* AFDDE4 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* AFDDE8 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* AFDDEC 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* AFDDF0 802402B0 24020002 */ addiu $v0, $zero, 2 +/* AFDDF4 802402B4 03E00008 */ jr $ra +/* AFDDF8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* AFDDFC 802402BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802402C0_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802402C0_AFDB40.s new file mode 100644 index 0000000000..edab8c1754 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802402C0_AFDB40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0_AFDE00 +/* AFDE00 802402C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDE04 802402C4 AFBF0010 */ sw $ra, 0x10($sp) +/* AFDE08 802402C8 0C03A625 */ jal func_800E9894 +/* AFDE0C 802402CC 00000000 */ nop +/* AFDE10 802402D0 8FBF0010 */ lw $ra, 0x10($sp) +/* AFDE14 802402D4 24020002 */ addiu $v0, $zero, 2 +/* AFDE18 802402D8 03E00008 */ jr $ra +/* AFDE1C 802402DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802402E0_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802402E0_AFDB40.s new file mode 100644 index 0000000000..d12c22dc00 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802402E0_AFDB40.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_AFDE20 +/* AFDE20 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDE24 802402E4 AFBF0010 */ sw $ra, 0x10($sp) +/* AFDE28 802402E8 0C03A631 */ jal func_800E98C4 +/* AFDE2C 802402EC 00000000 */ nop +/* AFDE30 802402F0 0C03A6DB */ jal sync_status_menu +/* AFDE34 802402F4 00000000 */ nop +/* AFDE38 802402F8 8FBF0010 */ lw $ra, 0x10($sp) +/* AFDE3C 802402FC 24020002 */ addiu $v0, $zero, 2 +/* AFDE40 80240300 03E00008 */ jr $ra +/* AFDE44 80240304 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240308_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240308_AFDB40.s new file mode 100644 index 0000000000..5e42ae92da --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240308_AFDB40.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240308_AFDE48 +/* AFDE48 80240308 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFDE4C 8024030C AFB10014 */ sw $s1, 0x14($sp) +/* AFDE50 80240310 0080882D */ daddu $s1, $a0, $zero +/* AFDE54 80240314 AFBF0018 */ sw $ra, 0x18($sp) +/* AFDE58 80240318 AFB00010 */ sw $s0, 0x10($sp) +/* AFDE5C 8024031C 8E30000C */ lw $s0, 0xc($s1) +/* AFDE60 80240320 8E050000 */ lw $a1, ($s0) +/* AFDE64 80240324 0C0B1EAF */ jal get_variable +/* AFDE68 80240328 26100004 */ addiu $s0, $s0, 4 +/* AFDE6C 8024032C 0220202D */ daddu $a0, $s1, $zero +/* AFDE70 80240330 8E050000 */ lw $a1, ($s0) +/* AFDE74 80240334 0C0B1EAF */ jal get_variable +/* AFDE78 80240338 0040882D */ daddu $s1, $v0, $zero +/* AFDE7C 8024033C 0000202D */ daddu $a0, $zero, $zero +/* AFDE80 80240340 0080282D */ daddu $a1, $a0, $zero +/* AFDE84 80240344 0040802D */ daddu $s0, $v0, $zero +/* AFDE88 80240348 240600BE */ addiu $a2, $zero, 0xbe +/* AFDE8C 8024034C 0C04DF93 */ jal func_80137E4C +/* AFDE90 80240350 24070091 */ addiu $a3, $zero, 0x91 +/* AFDE94 80240354 44900000 */ mtc1 $s0, $f0 +/* AFDE98 80240358 00000000 */ nop +/* AFDE9C 8024035C 46800020 */ cvt.s.w $f0, $f0 +/* AFDEA0 80240360 44050000 */ mfc1 $a1, $f0 +/* AFDEA4 80240364 0C04DF62 */ jal func_80137D88 +/* AFDEA8 80240368 322400FF */ andi $a0, $s1, 0xff +/* AFDEAC 8024036C 8FBF0018 */ lw $ra, 0x18($sp) +/* AFDEB0 80240370 8FB10014 */ lw $s1, 0x14($sp) +/* AFDEB4 80240374 8FB00010 */ lw $s0, 0x10($sp) +/* AFDEB8 80240378 24020002 */ addiu $v0, $zero, 2 +/* AFDEBC 8024037C 03E00008 */ jr $ra +/* AFDEC0 80240380 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240384_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240384_AFDB40.s new file mode 100644 index 0000000000..b578ccc936 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240384_AFDB40.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240384_AFDEC4 +/* AFDEC4 80240384 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFDEC8 80240388 AFB10014 */ sw $s1, 0x14($sp) +/* AFDECC 8024038C 0080882D */ daddu $s1, $a0, $zero +/* AFDED0 80240390 AFBF0018 */ sw $ra, 0x18($sp) +/* AFDED4 80240394 AFB00010 */ sw $s0, 0x10($sp) +/* AFDED8 80240398 8E30000C */ lw $s0, 0xc($s1) +/* AFDEDC 8024039C 8E050000 */ lw $a1, ($s0) +/* AFDEE0 802403A0 0C0B1EAF */ jal get_variable +/* AFDEE4 802403A4 26100004 */ addiu $s0, $s0, 4 +/* AFDEE8 802403A8 0220202D */ daddu $a0, $s1, $zero +/* AFDEEC 802403AC 8E050000 */ lw $a1, ($s0) +/* AFDEF0 802403B0 0C0B1EAF */ jal get_variable +/* AFDEF4 802403B4 0040802D */ daddu $s0, $v0, $zero +/* AFDEF8 802403B8 44820000 */ mtc1 $v0, $f0 +/* AFDEFC 802403BC 00000000 */ nop +/* AFDF00 802403C0 46800020 */ cvt.s.w $f0, $f0 +/* AFDF04 802403C4 24020002 */ addiu $v0, $zero, 2 +/* AFDF08 802403C8 00501804 */ sllv $v1, $s0, $v0 +/* AFDF0C 802403CC 00701821 */ addu $v1, $v1, $s0 +/* AFDF10 802403D0 00431804 */ sllv $v1, $v1, $v0 +/* AFDF14 802403D4 00701823 */ subu $v1, $v1, $s0 +/* AFDF18 802403D8 000320C0 */ sll $a0, $v1, 3 +/* AFDF1C 802403DC 00641821 */ addu $v1, $v1, $a0 +/* AFDF20 802403E0 000318C0 */ sll $v1, $v1, 3 +/* AFDF24 802403E4 3C01800B */ lui $at, 0x800b +/* AFDF28 802403E8 00230821 */ addu $at, $at, $v1 +/* AFDF2C 802403EC E4201D98 */ swc1 $f0, 0x1d98($at) +/* AFDF30 802403F0 8FBF0018 */ lw $ra, 0x18($sp) +/* AFDF34 802403F4 8FB10014 */ lw $s1, 0x14($sp) +/* AFDF38 802403F8 8FB00010 */ lw $s0, 0x10($sp) +/* AFDF3C 802403FC 03E00008 */ jr $ra +/* AFDF40 80240400 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240404_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240404_AFDB40.s new file mode 100644 index 0000000000..e35648e20f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240404_AFDB40.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_AFDF44 +/* AFDF44 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDF48 80240408 AFBF0010 */ sw $ra, 0x10($sp) +/* AFDF4C 8024040C 8C82000C */ lw $v0, 0xc($a0) +/* AFDF50 80240410 0C0B1EAF */ jal get_variable +/* AFDF54 80240414 8C450000 */ lw $a1, ($v0) +/* AFDF58 80240418 0C0B1059 */ jal does_script_exist +/* AFDF5C 8024041C 0040202D */ daddu $a0, $v0, $zero +/* AFDF60 80240420 2C420001 */ sltiu $v0, $v0, 1 +/* AFDF64 80240424 8FBF0010 */ lw $ra, 0x10($sp) +/* AFDF68 80240428 00021040 */ sll $v0, $v0, 1 +/* AFDF6C 8024042C 03E00008 */ jr $ra +/* AFDF70 80240430 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240434_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240434_AFDB40.s new file mode 100644 index 0000000000..b4625fd8d0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240434_AFDB40.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_AFDF74 +/* AFDF74 80240434 3C028011 */ lui $v0, 0x8011 +/* AFDF78 80240438 8042F2A2 */ lb $v0, -0xd5e($v0) +/* AFDF7C 8024043C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDF80 80240440 10400003 */ beqz $v0, .L80240450 +/* AFDF84 80240444 AFBF0010 */ sw $ra, 0x10($sp) +/* AFDF88 80240448 0C03AE06 */ jal partner_suspend_ability_script +/* AFDF8C 8024044C 00000000 */ nop +.L80240450: +/* AFDF90 80240450 24020002 */ addiu $v0, $zero, 2 +/* AFDF94 80240454 8FBF0010 */ lw $ra, 0x10($sp) +/* AFDF98 80240458 03E00008 */ jr $ra +/* AFDF9C 8024045C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240460_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240460_AFDB40.s new file mode 100644 index 0000000000..c95e2d2802 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240460_AFDB40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240460_AFDFA0 +/* AFDFA0 80240460 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFDFA4 80240464 AFBF0010 */ sw $ra, 0x10($sp) +/* AFDFA8 80240468 0C03AE18 */ jal partner_resume_ability_script +/* AFDFAC 8024046C 00000000 */ nop +/* AFDFB0 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* AFDFB4 80240474 24020002 */ addiu $v0, $zero, 2 +/* AFDFB8 80240478 03E00008 */ jr $ra +/* AFDFBC 8024047C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240480_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240480_AFDB40.s new file mode 100644 index 0000000000..e39992b256 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240480_AFDB40.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_AFDFC0 +/* AFDFC0 80240480 3C058011 */ lui $a1, %hi(gPlayerData) +/* AFDFC4 80240484 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* AFDFC8 80240488 AC800088 */ sw $zero, 0x88($a0) +/* AFDFCC 8024048C 80A30003 */ lb $v1, 3($a1) +/* AFDFD0 80240490 80A20002 */ lb $v0, 2($a1) +/* AFDFD4 80240494 1462000B */ bne $v1, $v0, .L802404C4 +/* AFDFD8 80240498 00A0302D */ daddu $a2, $a1, $zero +/* AFDFDC 8024049C 80A30006 */ lb $v1, 6($a1) +/* AFDFE0 802404A0 80A20005 */ lb $v0, 5($a1) +/* AFDFE4 802404A4 14620007 */ bne $v1, $v0, .L802404C4 +/* AFDFE8 802404A8 00000000 */ nop +/* AFDFEC 802404AC 80C2028E */ lb $v0, 0x28e($a2) +/* AFDFF0 802404B0 84C30290 */ lh $v1, 0x290($a2) +/* AFDFF4 802404B4 00021200 */ sll $v0, $v0, 8 +/* AFDFF8 802404B8 14620004 */ bne $v1, $v0, .L802404CC +/* AFDFFC 802404BC 24020001 */ addiu $v0, $zero, 1 +/* AFE000 802404C0 AC820088 */ sw $v0, 0x88($a0) +.L802404C4: +/* AFE004 802404C4 03E00008 */ jr $ra +/* AFE008 802404C8 24020002 */ addiu $v0, $zero, 2 +.L802404CC: +/* AFE00C 802404CC 03E00008 */ jr $ra +/* AFE010 802404D0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802404D4_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802404D4_AFDB40.s new file mode 100644 index 0000000000..56f222d48f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802404D4_AFDB40.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D4_AFE014 +/* AFE014 802404D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AFE018 802404D8 AFB10014 */ sw $s1, 0x14($sp) +/* AFE01C 802404DC 0080882D */ daddu $s1, $a0, $zero +/* AFE020 802404E0 AFBF001C */ sw $ra, 0x1c($sp) +/* AFE024 802404E4 AFB20018 */ sw $s2, 0x18($sp) +/* AFE028 802404E8 AFB00010 */ sw $s0, 0x10($sp) +/* AFE02C 802404EC 8E30000C */ lw $s0, 0xc($s1) +/* AFE030 802404F0 8E050000 */ lw $a1, ($s0) +/* AFE034 802404F4 0C0B1EAF */ jal get_variable +/* AFE038 802404F8 26100004 */ addiu $s0, $s0, 4 +/* AFE03C 802404FC 8E050000 */ lw $a1, ($s0) +/* AFE040 80240500 26100004 */ addiu $s0, $s0, 4 +/* AFE044 80240504 0220202D */ daddu $a0, $s1, $zero +/* AFE048 80240508 0C0B1EAF */ jal get_variable +/* AFE04C 8024050C 0040902D */ daddu $s2, $v0, $zero +/* AFE050 80240510 0220202D */ daddu $a0, $s1, $zero +/* AFE054 80240514 8E050000 */ lw $a1, ($s0) +/* AFE058 80240518 0C0B1EAF */ jal get_variable +/* AFE05C 8024051C 0040802D */ daddu $s0, $v0, $zero +/* AFE060 80240520 0000202D */ daddu $a0, $zero, $zero +/* AFE064 80240524 324500FF */ andi $a1, $s2, 0xff +/* AFE068 80240528 320600FF */ andi $a2, $s0, 0xff +/* AFE06C 8024052C 0C04DF84 */ jal func_80137E10 +/* AFE070 80240530 304700FF */ andi $a3, $v0, 0xff +/* AFE074 80240534 8FBF001C */ lw $ra, 0x1c($sp) +/* AFE078 80240538 8FB20018 */ lw $s2, 0x18($sp) +/* AFE07C 8024053C 8FB10014 */ lw $s1, 0x14($sp) +/* AFE080 80240540 8FB00010 */ lw $s0, 0x10($sp) +/* AFE084 80240544 24020002 */ addiu $v0, $zero, 2 +/* AFE088 80240548 03E00008 */ jr $ra +/* AFE08C 8024054C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240550_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240550_AFDB40.s new file mode 100644 index 0000000000..7560858316 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240550_AFDB40.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240550_AFE090 +/* AFE090 80240550 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFE094 80240554 AFBF0010 */ sw $ra, 0x10($sp) +/* AFE098 80240558 8C82000C */ lw $v0, 0xc($a0) +/* AFE09C 8024055C 3C068011 */ lui $a2, 0x8011 +/* AFE0A0 80240560 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* AFE0A4 80240564 0C0B2026 */ jal set_variable +/* AFE0A8 80240568 8C450000 */ lw $a1, ($v0) +/* AFE0AC 8024056C 0C03AC5A */ jal func_800EB168 +/* AFE0B0 80240570 0000202D */ daddu $a0, $zero, $zero +/* AFE0B4 80240574 8FBF0010 */ lw $ra, 0x10($sp) +/* AFE0B8 80240578 24020002 */ addiu $v0, $zero, 2 +/* AFE0BC 8024057C 03E00008 */ jr $ra +/* AFE0C0 80240580 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_80240584_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240584_AFDB40.s new file mode 100644 index 0000000000..92fdbef2d6 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_80240584_AFDB40.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240584_AFE0C4 +/* AFE0C4 80240584 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFE0C8 80240588 AFBF0010 */ sw $ra, 0x10($sp) +/* AFE0CC 8024058C 8C82000C */ lw $v0, 0xc($a0) +/* AFE0D0 80240590 0C0B1EAF */ jal get_variable +/* AFE0D4 80240594 8C450000 */ lw $a1, ($v0) +/* AFE0D8 80240598 00021600 */ sll $v0, $v0, 0x18 +/* AFE0DC 8024059C 0C03AC5A */ jal func_800EB168 +/* AFE0E0 802405A0 00022603 */ sra $a0, $v0, 0x18 +/* AFE0E4 802405A4 8FBF0010 */ lw $ra, 0x10($sp) +/* AFE0E8 802405A8 24020002 */ addiu $v0, $zero, 2 +/* AFE0EC 802405AC 03E00008 */ jr $ra +/* AFE0F0 802405B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802405B4.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802405B4.s new file mode 100644 index 0000000000..3e337c152c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802405B4.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B4 +/* AFE0F4 802405B4 03E00008 */ jr $ra +/* AFE0F8 802405B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_20/func_802405BC_AFDB40.s b/asm/nonmatchings/world/area_kkj/kkj_20/func_802405BC_AFDB40.s new file mode 100644 index 0000000000..139246b4ac --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_20/func_802405BC_AFDB40.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_AFE0FC +/* AFE0FC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AFE100 802405C0 AFBF0010 */ sw $ra, 0x10($sp) +/* AFE104 802405C4 8C82000C */ lw $v0, 0xc($a0) +/* AFE108 802405C8 3C068011 */ lui $a2, 0x8011 +/* AFE10C 802405CC 80C6EFD4 */ lb $a2, -0x102c($a2) +/* AFE110 802405D0 0C0B2026 */ jal set_variable +/* AFE114 802405D4 8C450000 */ lw $a1, ($v0) +/* AFE118 802405D8 8FBF0010 */ lw $ra, 0x10($sp) +/* AFE11C 802405DC 24020002 */ addiu $v0, $zero, 2 +/* AFE120 802405E0 03E00008 */ jr $ra +/* AFE124 802405E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* AFE128 802405E8 00000000 */ nop +/* AFE12C 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240000_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240000_B02880.s new file mode 100644 index 0000000000..600e064685 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240000_B02880.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B02880 +/* B02880 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B02884 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B02888 80240008 24020002 */ addiu $v0, $zero, 2 +/* B0288C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* B02890 80240010 03E00008 */ jr $ra +/* B02894 80240014 0000102D */ daddu $v0, $zero, $zero +/* B02898 80240018 00000000 */ nop +/* B0289C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240020_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240020_B02880.s new file mode 100644 index 0000000000..37e564b43e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240020_B02880.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_B028A0 +/* B028A0 80240020 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B028A4 80240024 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B028A8 80240028 9043007E */ lbu $v1, 0x7e($v0) +/* B028AC 8024002C 306300FE */ andi $v1, $v1, 0xfe +/* B028B0 80240030 A043007E */ sb $v1, 0x7e($v0) +/* B028B4 80240034 90820087 */ lbu $v0, 0x87($a0) +/* B028B8 80240038 3C018011 */ lui $at, 0x8011 +/* B028BC 8024003C A022F2A2 */ sb $v0, -0xd5e($at) +/* B028C0 80240040 03E00008 */ jr $ra +/* B028C4 80240044 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240048_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240048_B02880.s new file mode 100644 index 0000000000..d6223aa13a --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240048_B02880.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240048_B028C8 +/* B028C8 80240048 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B028CC 8024004C AFBF0010 */ sw $ra, 0x10($sp) +/* B028D0 80240050 8C82000C */ lw $v0, 0xc($a0) +/* B028D4 80240054 0C0B210B */ jal get_float_variable +/* B028D8 80240058 8C450000 */ lw $a1, ($v0) +/* B028DC 8024005C 8FBF0010 */ lw $ra, 0x10($sp) +/* B028E0 80240060 4600008D */ trunc.w.s $f2, $f0 +/* B028E4 80240064 44021000 */ mfc1 $v0, $f2 +/* B028E8 80240068 00000000 */ nop +/* B028EC 8024006C 3C018011 */ lui $at, 0x8011 +/* B028F0 80240070 A022EFD5 */ sb $v0, -0x102b($at) +/* B028F4 80240074 24020002 */ addiu $v0, $zero, 2 +/* B028F8 80240078 03E00008 */ jr $ra +/* B028FC 8024007C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240080_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240080_B02880.s new file mode 100644 index 0000000000..b73a51d694 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240080_B02880.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080_B02900 +/* B02900 80240080 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B02904 80240084 AFB00018 */ sw $s0, 0x18($sp) +/* B02908 80240088 0080802D */ daddu $s0, $a0, $zero +/* B0290C 8024008C AFBF001C */ sw $ra, 0x1c($sp) +/* B02910 80240090 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B02914 80240094 0C00EAD2 */ jal get_npc_safe +/* B02918 80240098 24040001 */ addiu $a0, $zero, 1 +/* B0291C 8024009C 2404023D */ addiu $a0, $zero, 0x23d +/* B02920 802400A0 C4420038 */ lwc1 $f2, 0x38($v0) +/* B02924 802400A4 C454003C */ lwc1 $f20, 0x3c($v0) +/* B02928 802400A8 C4400040 */ lwc1 $f0, 0x40($v0) +/* B0292C 802400AC 44061000 */ mfc1 $a2, $f2 +/* B02930 802400B0 4407A000 */ mfc1 $a3, $f20 +/* B02934 802400B4 0000282D */ daddu $a1, $zero, $zero +/* B02938 802400B8 0C05267B */ jal func_801499EC +/* B0293C 802400BC E7A00010 */ swc1 $f0, 0x10($sp) +/* B02940 802400C0 4600A10D */ trunc.w.s $f4, $f20 +/* B02944 802400C4 E6040084 */ swc1 $f4, 0x84($s0) +/* B02948 802400C8 8FBF001C */ lw $ra, 0x1c($sp) +/* B0294C 802400CC 8FB00018 */ lw $s0, 0x18($sp) +/* B02950 802400D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B02954 802400D4 24020002 */ addiu $v0, $zero, 2 +/* B02958 802400D8 03E00008 */ jr $ra +/* B0295C 802400DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_802400E0_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_802400E0_B02880.s new file mode 100644 index 0000000000..97092057ac --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_802400E0_B02880.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_B02960 +/* B02960 802400E0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B02964 802400E4 AFB3003C */ sw $s3, 0x3c($sp) +/* B02968 802400E8 0080982D */ daddu $s3, $a0, $zero +/* B0296C 802400EC AFBF0044 */ sw $ra, 0x44($sp) +/* B02970 802400F0 AFB40040 */ sw $s4, 0x40($sp) +/* B02974 802400F4 AFB20038 */ sw $s2, 0x38($sp) +/* B02978 802400F8 AFB10034 */ sw $s1, 0x34($sp) +/* B0297C 802400FC AFB00030 */ sw $s0, 0x30($sp) +/* B02980 80240100 F7B80058 */ sdc1 $f24, 0x58($sp) +/* B02984 80240104 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B02988 80240108 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B0298C 8024010C 8E620148 */ lw $v0, 0x148($s3) +/* B02990 80240110 0C00EABB */ jal get_npc_unsafe +/* B02994 80240114 84440008 */ lh $a0, 8($v0) +/* B02998 80240118 27A40020 */ addiu $a0, $sp, 0x20 +/* B0299C 8024011C 27A50024 */ addiu $a1, $sp, 0x24 +/* B029A0 80240120 0040802D */ daddu $s0, $v0, $zero +/* B029A4 80240124 8E63000C */ lw $v1, 0xc($s3) +/* B029A8 80240128 8E07000C */ lw $a3, 0xc($s0) +/* B029AC 8024012C C6000038 */ lwc1 $f0, 0x38($s0) +/* B029B0 80240130 C6020040 */ lwc1 $f2, 0x40($s0) +/* B029B4 80240134 8C740000 */ lw $s4, ($v1) +/* B029B8 80240138 24630004 */ addiu $v1, $v1, 4 +/* B029BC 8024013C C4780000 */ lwc1 $f24, ($v1) +/* B029C0 80240140 4680C620 */ cvt.s.w $f24, $f24 +/* B029C4 80240144 24630004 */ addiu $v1, $v1, 4 +/* B029C8 80240148 C4740000 */ lwc1 $f20, ($v1) +/* B029CC 8024014C 4680A520 */ cvt.s.w $f20, $f20 +/* B029D0 80240150 4406A000 */ mfc1 $a2, $f20 +/* B029D4 80240154 C4760004 */ lwc1 $f22, 4($v1) +/* B029D8 80240158 4680B5A0 */ cvt.s.w $f22, $f22 +/* B029DC 8024015C E7A00020 */ swc1 $f0, 0x20($sp) +/* B029E0 80240160 0C00A7E7 */ jal add_vec2D_polar +/* B029E4 80240164 E7A20024 */ swc1 $f2, 0x24($sp) +/* B029E8 80240168 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B029EC 8024016C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B029F0 80240170 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* B029F4 80240174 4480A000 */ mtc1 $zero, $f20 +/* B029F8 80240178 8E460028 */ lw $a2, 0x28($s2) +/* B029FC 8024017C 4407A000 */ mfc1 $a3, $f20 +/* B02A00 80240180 0C00A7B5 */ jal dist2D +/* B02A04 80240184 4600A386 */ mov.s $f14, $f20 +/* B02A08 80240188 4600A306 */ mov.s $f12, $f20 +/* B02A0C 8024018C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* B02A10 80240190 44066000 */ mfc1 $a2, $f12 +/* B02A14 80240194 8E470030 */ lw $a3, 0x30($s2) +/* B02A18 80240198 0C00A7B5 */ jal dist2D +/* B02A1C 8024019C 46000506 */ mov.s $f20, $f0 +/* B02A20 802401A0 C604000C */ lwc1 $f4, 0xc($s0) +/* B02A24 802401A4 3C018024 */ lui $at, 0x8024 +/* B02A28 802401A8 D4223CD0 */ ldc1 $f2, 0x3cd0($at) +/* B02A2C 802401AC 46002121 */ cvt.d.s $f4, $f4 +/* B02A30 802401B0 46222032 */ c.eq.d $f4, $f2 +/* B02A34 802401B4 00000000 */ nop +/* B02A38 802401B8 45010007 */ bc1t .L802401D8 +/* B02A3C 802401BC 46000086 */ mov.s $f2, $f0 +/* B02A40 802401C0 3C018024 */ lui $at, 0x8024 +/* B02A44 802401C4 D4203CD8 */ ldc1 $f0, 0x3cd8($at) +/* B02A48 802401C8 46202032 */ c.eq.d $f4, $f0 +/* B02A4C 802401CC 00000000 */ nop +/* B02A50 802401D0 45000008 */ bc1f .L802401F4 +/* B02A54 802401D4 00000000 */ nop +.L802401D8: +/* B02A58 802401D8 4618A03E */ c.le.s $f20, $f24 +/* B02A5C 802401DC 00000000 */ nop +/* B02A60 802401E0 4500000C */ bc1f .L80240214 +/* B02A64 802401E4 0000882D */ daddu $s1, $zero, $zero +/* B02A68 802401E8 4616103E */ c.le.s $f2, $f22 +/* B02A6C 802401EC 08090083 */ j .L8024020C +/* B02A70 802401F0 00000000 */ nop +.L802401F4: +/* B02A74 802401F4 4618103E */ c.le.s $f2, $f24 +/* B02A78 802401F8 00000000 */ nop +/* B02A7C 802401FC 45000005 */ bc1f .L80240214 +/* B02A80 80240200 0000882D */ daddu $s1, $zero, $zero +/* B02A84 80240204 4616A03E */ c.le.s $f20, $f22 +/* B02A88 80240208 00000000 */ nop +.L8024020C: +/* B02A8C 8024020C 45030001 */ bc1tl .L80240214 +/* B02A90 80240210 24110001 */ addiu $s1, $zero, 1 +.L80240214: +/* B02A94 80240214 12200027 */ beqz $s1, .L802402B4 +/* B02A98 80240218 0260202D */ daddu $a0, $s3, $zero +/* B02A9C 8024021C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B02AA0 80240220 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B02AA4 80240224 8E460028 */ lw $a2, 0x28($s2) +/* B02AA8 80240228 8E470030 */ lw $a3, 0x30($s2) +/* B02AAC 8024022C C602003C */ lwc1 $f2, 0x3c($s0) +/* B02AB0 80240230 46006006 */ mov.s $f0, $f12 +/* B02AB4 80240234 46007106 */ mov.s $f4, $f14 +/* B02AB8 80240238 E7A00020 */ swc1 $f0, 0x20($sp) +/* B02ABC 8024023C E7A20028 */ swc1 $f2, 0x28($sp) +/* B02AC0 80240240 0C00A7B5 */ jal dist2D +/* B02AC4 80240244 E7A40024 */ swc1 $f4, 0x24($sp) +/* B02AC8 80240248 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B02ACC 8024024C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B02AD0 80240250 8E460028 */ lw $a2, 0x28($s2) +/* B02AD4 80240254 8E470030 */ lw $a3, 0x30($s2) +/* B02AD8 80240258 0C00A720 */ jal atan2 +/* B02ADC 8024025C 46000506 */ mov.s $f20, $f0 +/* B02AE0 80240260 3C040007 */ lui $a0, 7 +/* B02AE4 80240264 34848000 */ ori $a0, $a0, 0x8000 +/* B02AE8 80240268 27A50020 */ addiu $a1, $sp, 0x20 +/* B02AEC 8024026C E7B40010 */ swc1 $f20, 0x10($sp) +/* B02AF0 80240270 E7A00014 */ swc1 $f0, 0x14($sp) +/* B02AF4 80240274 860200A6 */ lh $v0, 0xa6($s0) +/* B02AF8 80240278 27A60028 */ addiu $a2, $sp, 0x28 +/* B02AFC 8024027C 44820000 */ mtc1 $v0, $f0 +/* B02B00 80240280 00000000 */ nop +/* B02B04 80240284 46800020 */ cvt.s.w $f0, $f0 +/* B02B08 80240288 E7A00018 */ swc1 $f0, 0x18($sp) +/* B02B0C 8024028C 860200A8 */ lh $v0, 0xa8($s0) +/* B02B10 80240290 27A70024 */ addiu $a3, $sp, 0x24 +/* B02B14 80240294 44820000 */ mtc1 $v0, $f0 +/* B02B18 80240298 00000000 */ nop +/* B02B1C 8024029C 46800020 */ cvt.s.w $f0, $f0 +/* B02B20 802402A0 0C0376B9 */ jal func_800DDAE4 +/* B02B24 802402A4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B02B28 802402A8 54400001 */ bnel $v0, $zero, .L802402B0 +/* B02B2C 802402AC 0000882D */ daddu $s1, $zero, $zero +.L802402B0: +/* B02B30 802402B0 0260202D */ daddu $a0, $s3, $zero +.L802402B4: +/* B02B34 802402B4 0280282D */ daddu $a1, $s4, $zero +/* B02B38 802402B8 0C0B2026 */ jal set_variable +/* B02B3C 802402BC 0220302D */ daddu $a2, $s1, $zero +/* B02B40 802402C0 8FBF0044 */ lw $ra, 0x44($sp) +/* B02B44 802402C4 8FB40040 */ lw $s4, 0x40($sp) +/* B02B48 802402C8 8FB3003C */ lw $s3, 0x3c($sp) +/* B02B4C 802402CC 8FB20038 */ lw $s2, 0x38($sp) +/* B02B50 802402D0 8FB10034 */ lw $s1, 0x34($sp) +/* B02B54 802402D4 8FB00030 */ lw $s0, 0x30($sp) +/* B02B58 802402D8 D7B80058 */ ldc1 $f24, 0x58($sp) +/* B02B5C 802402DC D7B60050 */ ldc1 $f22, 0x50($sp) +/* B02B60 802402E0 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B02B64 802402E4 24020002 */ addiu $v0, $zero, 2 +/* B02B68 802402E8 03E00008 */ jr $ra +/* B02B6C 802402EC 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_802402F0_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_802402F0_B02880.s new file mode 100644 index 0000000000..9df02c1ede --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_802402F0_B02880.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_B02B70 +/* B02B70 802402F0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* B02B74 802402F4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* B02B78 802402F8 4485A000 */ mtc1 $a1, $f20 +/* B02B7C 802402FC F7B60068 */ sdc1 $f22, 0x68($sp) +/* B02B80 80240300 4486B000 */ mtc1 $a2, $f22 +/* B02B84 80240304 F7B80070 */ sdc1 $f24, 0x70($sp) +/* B02B88 80240308 4487C000 */ mtc1 $a3, $f24 +/* B02B8C 8024030C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* B02B90 80240310 C7BA0090 */ lwc1 $f26, 0x90($sp) +/* B02B94 80240314 AFBF0058 */ sw $ra, 0x58($sp) +/* B02B98 80240318 AFB10054 */ sw $s1, 0x54($sp) +/* B02B9C 8024031C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B02BA0 80240320 AFB00050 */ sw $s0, 0x50($sp) +/* B02BA4 80240324 0C046B4C */ jal get_model_from_list_index +/* B02BA8 80240328 0040202D */ daddu $a0, $v0, $zero +/* B02BAC 8024032C 0040802D */ daddu $s0, $v0, $zero +/* B02BB0 80240330 26110058 */ addiu $s1, $s0, 0x58 +/* B02BB4 80240334 4405A000 */ mfc1 $a1, $f20 +/* B02BB8 80240338 4406B000 */ mfc1 $a2, $f22 +/* B02BBC 8024033C 4407C000 */ mfc1 $a3, $f24 +/* B02BC0 80240340 0C019E40 */ jal guTranslateF +/* B02BC4 80240344 0220202D */ daddu $a0, $s1, $zero +/* B02BC8 80240348 27A40010 */ addiu $a0, $sp, 0x10 +/* B02BCC 8024034C 4405D000 */ mfc1 $a1, $f26 +/* B02BD0 80240350 3C063F80 */ lui $a2, 0x3f80 +/* B02BD4 80240354 0C019DF0 */ jal guScaleF +/* B02BD8 80240358 00A0382D */ daddu $a3, $a1, $zero +/* B02BDC 8024035C 27A40010 */ addiu $a0, $sp, 0x10 +/* B02BE0 80240360 0220282D */ daddu $a1, $s1, $zero +/* B02BE4 80240364 0C019D80 */ jal guMtxCatF +/* B02BE8 80240368 00A0302D */ daddu $a2, $a1, $zero +/* B02BEC 8024036C 96020000 */ lhu $v0, ($s0) +/* B02BF0 80240370 34421400 */ ori $v0, $v0, 0x1400 +/* B02BF4 80240374 A6020000 */ sh $v0, ($s0) +/* B02BF8 80240378 8FBF0058 */ lw $ra, 0x58($sp) +/* B02BFC 8024037C 8FB10054 */ lw $s1, 0x54($sp) +/* B02C00 80240380 8FB00050 */ lw $s0, 0x50($sp) +/* B02C04 80240384 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* B02C08 80240388 D7B80070 */ ldc1 $f24, 0x70($sp) +/* B02C0C 8024038C D7B60068 */ ldc1 $f22, 0x68($sp) +/* B02C10 80240390 D7B40060 */ ldc1 $f20, 0x60($sp) +/* B02C14 80240394 03E00008 */ jr $ra +/* B02C18 80240398 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_8024039C_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_8024039C_B02880.s new file mode 100644 index 0000000000..e57aa77b55 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_8024039C_B02880.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024039C_B02C1C +/* B02C1C 8024039C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* B02C20 802403A0 AFB7004C */ sw $s7, 0x4c($sp) +/* B02C24 802403A4 0080B82D */ daddu $s7, $a0, $zero +/* B02C28 802403A8 AFBF0054 */ sw $ra, 0x54($sp) +/* B02C2C 802403AC AFBE0050 */ sw $fp, 0x50($sp) +/* B02C30 802403B0 AFB60048 */ sw $s6, 0x48($sp) +/* B02C34 802403B4 AFB50044 */ sw $s5, 0x44($sp) +/* B02C38 802403B8 AFB40040 */ sw $s4, 0x40($sp) +/* B02C3C 802403BC AFB3003C */ sw $s3, 0x3c($sp) +/* B02C40 802403C0 AFB20038 */ sw $s2, 0x38($sp) +/* B02C44 802403C4 AFB10034 */ sw $s1, 0x34($sp) +/* B02C48 802403C8 AFB00030 */ sw $s0, 0x30($sp) +/* B02C4C 802403CC F7BA0070 */ sdc1 $f26, 0x70($sp) +/* B02C50 802403D0 F7B80068 */ sdc1 $f24, 0x68($sp) +/* B02C54 802403D4 F7B60060 */ sdc1 $f22, 0x60($sp) +/* B02C58 802403D8 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B02C5C 802403DC 8EE20148 */ lw $v0, 0x148($s7) +/* B02C60 802403E0 0C00EABB */ jal get_npc_unsafe +/* B02C64 802403E4 84440008 */ lh $a0, 8($v0) +/* B02C68 802403E8 27B50020 */ addiu $s5, $sp, 0x20 +/* B02C6C 802403EC 02A0202D */ daddu $a0, $s5, $zero +/* B02C70 802403F0 0040882D */ daddu $s1, $v0, $zero +/* B02C74 802403F4 27B40024 */ addiu $s4, $sp, 0x24 +/* B02C78 802403F8 8EE3000C */ lw $v1, 0xc($s7) +/* B02C7C 802403FC 3C0641F0 */ lui $a2, 0x41f0 +/* B02C80 80240400 8E27000C */ lw $a3, 0xc($s1) +/* B02C84 80240404 C6200038 */ lwc1 $f0, 0x38($s1) +/* B02C88 80240408 C6220040 */ lwc1 $f2, 0x40($s1) +/* B02C8C 8024040C 8C7E0000 */ lw $fp, ($v1) +/* B02C90 80240410 24630004 */ addiu $v1, $v1, 4 +/* B02C94 80240414 C4740000 */ lwc1 $f20, ($v1) +/* B02C98 80240418 4680A520 */ cvt.s.w $f20, $f20 +/* B02C9C 8024041C 24630004 */ addiu $v1, $v1, 4 +/* B02CA0 80240420 C4760000 */ lwc1 $f22, ($v1) +/* B02CA4 80240424 4680B5A0 */ cvt.s.w $f22, $f22 +/* B02CA8 80240428 24630004 */ addiu $v1, $v1, 4 +/* B02CAC 8024042C C4780000 */ lwc1 $f24, ($v1) +/* B02CB0 80240430 4680C620 */ cvt.s.w $f24, $f24 +/* B02CB4 80240434 24630004 */ addiu $v1, $v1, 4 +/* B02CB8 80240438 C47A0000 */ lwc1 $f26, ($v1) +/* B02CBC 8024043C 4680D6A0 */ cvt.s.w $f26, $f26 +/* B02CC0 80240440 24630004 */ addiu $v1, $v1, 4 +/* B02CC4 80240444 8C760000 */ lw $s6, ($v1) +/* B02CC8 80240448 8C700004 */ lw $s0, 4($v1) +/* B02CCC 8024044C 0280282D */ daddu $a1, $s4, $zero +/* B02CD0 80240450 E7A00020 */ swc1 $f0, 0x20($sp) +/* B02CD4 80240454 0C00A7E7 */ jal add_vec2D_polar +/* B02CD8 80240458 E7A20024 */ swc1 $f2, 0x24($sp) +/* B02CDC 8024045C 3C038015 */ lui $v1, %hi(D_80151328) +/* B02CE0 80240460 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* B02CE4 80240464 C7A00020 */ lwc1 $f0, 0x20($sp) +/* B02CE8 80240468 3C0141A0 */ lui $at, 0x41a0 +/* B02CEC 8024046C 44811000 */ mtc1 $at, $f2 +/* B02CF0 80240470 00101040 */ sll $v0, $s0, 1 +/* B02CF4 80240474 00501021 */ addu $v0, $v0, $s0 +/* B02CF8 80240478 000210C0 */ sll $v0, $v0, 3 +/* B02CFC 8024047C 24420004 */ addiu $v0, $v0, 4 +/* B02D00 80240480 00621821 */ addu $v1, $v1, $v0 +/* B02D04 80240484 E4600004 */ swc1 $f0, 4($v1) +/* B02D08 80240488 C620003C */ lwc1 $f0, 0x3c($s1) +/* B02D0C 8024048C 4406A000 */ mfc1 $a2, $f20 +/* B02D10 80240490 46020000 */ add.s $f0, $f0, $f2 +/* B02D14 80240494 C7A20024 */ lwc1 $f2, 0x24($sp) +/* B02D18 80240498 02A0202D */ daddu $a0, $s5, $zero +/* B02D1C 8024049C E462000C */ swc1 $f2, 0xc($v1) +/* B02D20 802404A0 E4600008 */ swc1 $f0, 8($v1) +/* B02D24 802404A4 8E27000C */ lw $a3, 0xc($s1) +/* B02D28 802404A8 C6200038 */ lwc1 $f0, 0x38($s1) +/* B02D2C 802404AC C6220040 */ lwc1 $f2, 0x40($s1) +/* B02D30 802404B0 0280282D */ daddu $a1, $s4, $zero +/* B02D34 802404B4 E7A00020 */ swc1 $f0, 0x20($sp) +/* B02D38 802404B8 0C00A7E7 */ jal add_vec2D_polar +/* B02D3C 802404BC E7A20024 */ swc1 $f2, 0x24($sp) +/* B02D40 802404C0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B02D44 802404C4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B02D48 802404C8 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* B02D4C 802404CC C7AE0024 */ lwc1 $f14, 0x24($sp) +/* B02D50 802404D0 8E460028 */ lw $a2, 0x28($s2) +/* B02D54 802404D4 8E470030 */ lw $a3, 0x30($s2) +/* B02D58 802404D8 0C00A7B5 */ jal dist2D +/* B02D5C 802404DC 0000802D */ daddu $s0, $zero, $zero +/* B02D60 802404E0 4616003E */ c.le.s $f0, $f22 +/* B02D64 802404E4 00000000 */ nop +/* B02D68 802404E8 45000002 */ bc1f .L802404F4 +/* B02D6C 802404EC 0240982D */ daddu $s3, $s2, $zero +/* B02D70 802404F0 24100001 */ addiu $s0, $zero, 1 +.L802404F4: +/* B02D74 802404F4 4600B021 */ cvt.d.s $f0, $f22 +/* B02D78 802404F8 46200000 */ add.d $f0, $f0, $f0 +/* B02D7C 802404FC 3C014059 */ lui $at, 0x4059 +/* B02D80 80240500 44811800 */ mtc1 $at, $f3 +/* B02D84 80240504 44801000 */ mtc1 $zero, $f2 +/* B02D88 80240508 3C018024 */ lui $at, 0x8024 +/* B02D8C 8024050C D4243CE0 */ ldc1 $f4, 0x3ce0($at) +/* B02D90 80240510 46220003 */ div.d $f0, $f0, $f2 +/* B02D94 80240514 46240000 */ add.d $f0, $f0, $f4 +/* B02D98 80240518 C7A20020 */ lwc1 $f2, 0x20($sp) +/* B02D9C 8024051C C7A40024 */ lwc1 $f4, 0x24($sp) +/* B02DA0 80240520 44051000 */ mfc1 $a1, $f2 +/* B02DA4 80240524 44072000 */ mfc1 $a3, $f4 +/* B02DA8 80240528 46200020 */ cvt.s.d $f0, $f0 +/* B02DAC 8024052C E7A00010 */ swc1 $f0, 0x10($sp) +/* B02DB0 80240530 8E26003C */ lw $a2, 0x3c($s1) +/* B02DB4 80240534 0C0900BC */ jal func_802402F0 +/* B02DB8 80240538 02C0202D */ daddu $a0, $s6, $zero +/* B02DBC 8024053C 02A0202D */ daddu $a0, $s5, $zero +/* B02DC0 80240540 4406C000 */ mfc1 $a2, $f24 +/* B02DC4 80240544 8E27000C */ lw $a3, 0xc($s1) +/* B02DC8 80240548 C6200038 */ lwc1 $f0, 0x38($s1) +/* B02DCC 8024054C C6220040 */ lwc1 $f2, 0x40($s1) +/* B02DD0 80240550 0280282D */ daddu $a1, $s4, $zero +/* B02DD4 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* B02DD8 80240558 0C00A7E7 */ jal add_vec2D_polar +/* B02DDC 8024055C E7A20024 */ swc1 $f2, 0x24($sp) +/* B02DE0 80240560 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* B02DE4 80240564 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* B02DE8 80240568 8E460028 */ lw $a2, 0x28($s2) +/* B02DEC 8024056C 0C00A7B5 */ jal dist2D +/* B02DF0 80240570 8E470030 */ lw $a3, 0x30($s2) +/* B02DF4 80240574 461A003E */ c.le.s $f0, $f26 +/* B02DF8 80240578 00000000 */ nop +/* B02DFC 8024057C 45030001 */ bc1tl .L80240584 +/* B02E00 80240580 36100010 */ ori $s0, $s0, 0x10 +.L80240584: +/* B02E04 80240584 32020001 */ andi $v0, $s0, 1 +/* B02E08 80240588 10400026 */ beqz $v0, .L80240624 +/* B02E0C 8024058C 02E0202D */ daddu $a0, $s7, $zero +/* B02E10 80240590 C62C0038 */ lwc1 $f12, 0x38($s1) +/* B02E14 80240594 C62E0040 */ lwc1 $f14, 0x40($s1) +/* B02E18 80240598 8E660028 */ lw $a2, 0x28($s3) +/* B02E1C 8024059C 8E670030 */ lw $a3, 0x30($s3) +/* B02E20 802405A0 C622003C */ lwc1 $f2, 0x3c($s1) +/* B02E24 802405A4 46006006 */ mov.s $f0, $f12 +/* B02E28 802405A8 46007106 */ mov.s $f4, $f14 +/* B02E2C 802405AC E7A00020 */ swc1 $f0, 0x20($sp) +/* B02E30 802405B0 E7A20028 */ swc1 $f2, 0x28($sp) +/* B02E34 802405B4 0C00A7B5 */ jal dist2D +/* B02E38 802405B8 E7A40024 */ swc1 $f4, 0x24($sp) +/* B02E3C 802405BC C62C0038 */ lwc1 $f12, 0x38($s1) +/* B02E40 802405C0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* B02E44 802405C4 8E660028 */ lw $a2, 0x28($s3) +/* B02E48 802405C8 8E670030 */ lw $a3, 0x30($s3) +/* B02E4C 802405CC 0C00A720 */ jal atan2 +/* B02E50 802405D0 46000506 */ mov.s $f20, $f0 +/* B02E54 802405D4 0000202D */ daddu $a0, $zero, $zero +/* B02E58 802405D8 02A0282D */ daddu $a1, $s5, $zero +/* B02E5C 802405DC E7B40010 */ swc1 $f20, 0x10($sp) +/* B02E60 802405E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B02E64 802405E4 862200A6 */ lh $v0, 0xa6($s1) +/* B02E68 802405E8 27A60028 */ addiu $a2, $sp, 0x28 +/* B02E6C 802405EC 44820000 */ mtc1 $v0, $f0 +/* B02E70 802405F0 00000000 */ nop +/* B02E74 802405F4 46800020 */ cvt.s.w $f0, $f0 +/* B02E78 802405F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* B02E7C 802405FC 862200A8 */ lh $v0, 0xa8($s1) +/* B02E80 80240600 0280382D */ daddu $a3, $s4, $zero +/* B02E84 80240604 44820000 */ mtc1 $v0, $f0 +/* B02E88 80240608 00000000 */ nop +/* B02E8C 8024060C 46800020 */ cvt.s.w $f0, $f0 +/* B02E90 80240610 0C0376B9 */ jal func_800DDAE4 +/* B02E94 80240614 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B02E98 80240618 54400001 */ bnel $v0, $zero, .L80240620 +/* B02E9C 8024061C 0000802D */ daddu $s0, $zero, $zero +.L80240620: +/* B02EA0 80240620 02E0202D */ daddu $a0, $s7, $zero +.L80240624: +/* B02EA4 80240624 03C0282D */ daddu $a1, $fp, $zero +/* B02EA8 80240628 0C0B2026 */ jal set_variable +/* B02EAC 8024062C 0200302D */ daddu $a2, $s0, $zero +/* B02EB0 80240630 8FBF0054 */ lw $ra, 0x54($sp) +/* B02EB4 80240634 8FBE0050 */ lw $fp, 0x50($sp) +/* B02EB8 80240638 8FB7004C */ lw $s7, 0x4c($sp) +/* B02EBC 8024063C 8FB60048 */ lw $s6, 0x48($sp) +/* B02EC0 80240640 8FB50044 */ lw $s5, 0x44($sp) +/* B02EC4 80240644 8FB40040 */ lw $s4, 0x40($sp) +/* B02EC8 80240648 8FB3003C */ lw $s3, 0x3c($sp) +/* B02ECC 8024064C 8FB20038 */ lw $s2, 0x38($sp) +/* B02ED0 80240650 8FB10034 */ lw $s1, 0x34($sp) +/* B02ED4 80240654 8FB00030 */ lw $s0, 0x30($sp) +/* B02ED8 80240658 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* B02EDC 8024065C D7B80068 */ ldc1 $f24, 0x68($sp) +/* B02EE0 80240660 D7B60060 */ ldc1 $f22, 0x60($sp) +/* B02EE4 80240664 D7B40058 */ ldc1 $f20, 0x58($sp) +/* B02EE8 80240668 24020002 */ addiu $v0, $zero, 2 +/* B02EEC 8024066C 03E00008 */ jr $ra +/* B02EF0 80240670 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240674_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240674_B02880.s new file mode 100644 index 0000000000..1b9af59db8 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240674_B02880.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240674_B02EF4 +/* B02EF4 80240674 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B02EF8 80240678 AFB10014 */ sw $s1, 0x14($sp) +/* B02EFC 8024067C 0080882D */ daddu $s1, $a0, $zero +/* B02F00 80240680 AFBF0024 */ sw $ra, 0x24($sp) +/* B02F04 80240684 AFB40020 */ sw $s4, 0x20($sp) +/* B02F08 80240688 AFB3001C */ sw $s3, 0x1c($sp) +/* B02F0C 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* B02F10 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* B02F14 80240694 8E30000C */ lw $s0, 0xc($s1) +/* B02F18 80240698 8E140000 */ lw $s4, ($s0) +/* B02F1C 8024069C 26100004 */ addiu $s0, $s0, 4 +/* B02F20 802406A0 8E050000 */ lw $a1, ($s0) +/* B02F24 802406A4 0C0B1EAF */ jal get_variable +/* B02F28 802406A8 26100004 */ addiu $s0, $s0, 4 +/* B02F2C 802406AC 8E050000 */ lw $a1, ($s0) +/* B02F30 802406B0 26100004 */ addiu $s0, $s0, 4 +/* B02F34 802406B4 0220202D */ daddu $a0, $s1, $zero +/* B02F38 802406B8 0C0B1EAF */ jal get_variable +/* B02F3C 802406BC 0040982D */ daddu $s3, $v0, $zero +/* B02F40 802406C0 8E050000 */ lw $a1, ($s0) +/* B02F44 802406C4 26100004 */ addiu $s0, $s0, 4 +/* B02F48 802406C8 0220202D */ daddu $a0, $s1, $zero +/* B02F4C 802406CC 0C0B1EAF */ jal get_variable +/* B02F50 802406D0 0040902D */ daddu $s2, $v0, $zero +/* B02F54 802406D4 0220202D */ daddu $a0, $s1, $zero +/* B02F58 802406D8 8E050000 */ lw $a1, ($s0) +/* B02F5C 802406DC 0C0B1EAF */ jal get_variable +/* B02F60 802406E0 0040802D */ daddu $s0, $v0, $zero +/* B02F64 802406E4 44901000 */ mtc1 $s0, $f2 +/* B02F68 802406E8 00000000 */ nop +/* B02F6C 802406EC 468010A0 */ cvt.s.w $f2, $f2 +/* B02F70 802406F0 44936000 */ mtc1 $s3, $f12 +/* B02F74 802406F4 00000000 */ nop +/* B02F78 802406F8 46806320 */ cvt.s.w $f12, $f12 +/* B02F7C 802406FC 44061000 */ mfc1 $a2, $f2 +/* B02F80 80240700 44821000 */ mtc1 $v0, $f2 +/* B02F84 80240704 00000000 */ nop +/* B02F88 80240708 468010A0 */ cvt.s.w $f2, $f2 +/* B02F8C 8024070C 44071000 */ mfc1 $a3, $f2 +/* B02F90 80240710 44927000 */ mtc1 $s2, $f14 +/* B02F94 80240714 00000000 */ nop +/* B02F98 80240718 0C00A720 */ jal atan2 +/* B02F9C 8024071C 468073A0 */ cvt.s.w $f14, $f14 +/* B02FA0 80240720 0220202D */ daddu $a0, $s1, $zero +/* B02FA4 80240724 4600008D */ trunc.w.s $f2, $f0 +/* B02FA8 80240728 44061000 */ mfc1 $a2, $f2 +/* B02FAC 8024072C 0C0B2026 */ jal set_variable +/* B02FB0 80240730 0280282D */ daddu $a1, $s4, $zero +/* B02FB4 80240734 8FBF0024 */ lw $ra, 0x24($sp) +/* B02FB8 80240738 8FB40020 */ lw $s4, 0x20($sp) +/* B02FBC 8024073C 8FB3001C */ lw $s3, 0x1c($sp) +/* B02FC0 80240740 8FB20018 */ lw $s2, 0x18($sp) +/* B02FC4 80240744 8FB10014 */ lw $s1, 0x14($sp) +/* B02FC8 80240748 8FB00010 */ lw $s0, 0x10($sp) +/* B02FCC 8024074C 24020002 */ addiu $v0, $zero, 2 +/* B02FD0 80240750 03E00008 */ jr $ra +/* B02FD4 80240754 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240758.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240758.s new file mode 100644 index 0000000000..469552c677 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240758.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240758 +/* B02FD8 80240758 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B02FDC 8024075C AFBF0010 */ sw $ra, 0x10($sp) +/* B02FE0 80240760 8C82000C */ lw $v0, 0xc($a0) +/* B02FE4 80240764 3C068011 */ lui $a2, 0x8011 +/* B02FE8 80240768 80C6EFD4 */ lb $a2, -0x102c($a2) +/* B02FEC 8024076C 0C0B2026 */ jal set_variable +/* B02FF0 80240770 8C450000 */ lw $a1, ($v0) +/* B02FF4 80240774 8FBF0010 */ lw $ra, 0x10($sp) +/* B02FF8 80240778 24020002 */ addiu $v0, $zero, 2 +/* B02FFC 8024077C 03E00008 */ jr $ra +/* B03000 80240780 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240784_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240784_B02880.s new file mode 100644 index 0000000000..62044209b6 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240784_B02880.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240784_B03004 +/* B03004 80240784 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B03008 80240788 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B0300C 8024078C 9062007E */ lbu $v0, 0x7e($v1) +/* B03010 80240790 34420008 */ ori $v0, $v0, 8 +/* B03014 80240794 A062007E */ sb $v0, 0x7e($v1) +/* B03018 80240798 03E00008 */ jr $ra +/* B0301C 8024079C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_802407A0_B02880.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_802407A0_B02880.s new file mode 100644 index 0000000000..06c873b807 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_802407A0_B02880.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_B03020 +/* B03020 802407A0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B03024 802407A4 AFB3001C */ sw $s3, 0x1c($sp) +/* B03028 802407A8 0080982D */ daddu $s3, $a0, $zero +/* B0302C 802407AC AFBF0030 */ sw $ra, 0x30($sp) +/* B03030 802407B0 AFB7002C */ sw $s7, 0x2c($sp) +/* B03034 802407B4 AFB60028 */ sw $s6, 0x28($sp) +/* B03038 802407B8 AFB50024 */ sw $s5, 0x24($sp) +/* B0303C 802407BC AFB40020 */ sw $s4, 0x20($sp) +/* B03040 802407C0 AFB20018 */ sw $s2, 0x18($sp) +/* B03044 802407C4 AFB10014 */ sw $s1, 0x14($sp) +/* B03048 802407C8 AFB00010 */ sw $s0, 0x10($sp) +/* B0304C 802407CC F7B80048 */ sdc1 $f24, 0x48($sp) +/* B03050 802407D0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* B03054 802407D4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* B03058 802407D8 8E70000C */ lw $s0, 0xc($s3) +/* B0305C 802407DC 8E050000 */ lw $a1, ($s0) +/* B03060 802407E0 0C0B1EAF */ jal get_variable +/* B03064 802407E4 26100004 */ addiu $s0, $s0, 4 +/* B03068 802407E8 8E150000 */ lw $s5, ($s0) +/* B0306C 802407EC 26100004 */ addiu $s0, $s0, 4 +/* B03070 802407F0 0260202D */ daddu $a0, $s3, $zero +/* B03074 802407F4 8E160000 */ lw $s6, ($s0) +/* B03078 802407F8 8E170004 */ lw $s7, 4($s0) +/* B0307C 802407FC 0C0B36B0 */ jal resolve_npc +/* B03080 80240800 0040282D */ daddu $a1, $v0, $zero +/* B03084 80240804 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* B03088 80240808 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* B0308C 8024080C 0040802D */ daddu $s0, $v0, $zero +/* B03090 80240810 1200002F */ beqz $s0, .L802408D0 +/* B03094 80240814 0220902D */ daddu $s2, $s1, $zero +/* B03098 80240818 C62C0028 */ lwc1 $f12, 0x28($s1) +/* B0309C 8024081C C62E0030 */ lwc1 $f14, 0x30($s1) +/* B030A0 80240820 8E060038 */ lw $a2, 0x38($s0) +/* B030A4 80240824 8E070040 */ lw $a3, 0x40($s0) +/* B030A8 80240828 3C014248 */ lui $at, 0x4248 +/* B030AC 8024082C 4481C000 */ mtc1 $at, $f24 +/* B030B0 80240830 0C00A7B5 */ jal dist2D +/* B030B4 80240834 24140001 */ addiu $s4, $zero, 1 +/* B030B8 80240838 4618003C */ c.lt.s $f0, $f24 +/* B030BC 8024083C 00000000 */ nop +/* B030C0 80240840 45030001 */ bc1tl .L80240848 +/* B030C4 80240844 0000A02D */ daddu $s4, $zero, $zero +.L80240848: +/* B030C8 80240848 C64C0028 */ lwc1 $f12, 0x28($s2) +/* B030CC 8024084C C64E0030 */ lwc1 $f14, 0x30($s2) +/* B030D0 80240850 8E060038 */ lw $a2, 0x38($s0) +/* B030D4 80240854 0C00A720 */ jal atan2 +/* B030D8 80240858 8E070040 */ lw $a3, 0x40($s0) +/* B030DC 8024085C 0C00A6C9 */ jal clamp_angle +/* B030E0 80240860 46000306 */ mov.s $f12, $f0 +/* B030E4 80240864 46000506 */ mov.s $f20, $f0 +/* B030E8 80240868 0C00A8BB */ jal sin_deg +/* B030EC 8024086C 4600A306 */ mov.s $f12, $f20 +/* B030F0 80240870 46180002 */ mul.s $f0, $f0, $f24 +/* B030F4 80240874 00000000 */ nop +/* B030F8 80240878 C6560028 */ lwc1 $f22, 0x28($s2) +/* B030FC 8024087C 4600B580 */ add.s $f22, $f22, $f0 +/* B03100 80240880 0C00A8D4 */ jal cos_deg +/* B03104 80240884 4600A306 */ mov.s $f12, $f20 +/* B03108 80240888 46180002 */ mul.s $f0, $f0, $f24 +/* B0310C 8024088C 00000000 */ nop +/* B03110 80240890 0260202D */ daddu $a0, $s3, $zero +/* B03114 80240894 02A0282D */ daddu $a1, $s5, $zero +/* B03118 80240898 C6540030 */ lwc1 $f20, 0x30($s2) +/* B0311C 8024089C 0280302D */ daddu $a2, $s4, $zero +/* B03120 802408A0 0C0B2026 */ jal set_variable +/* B03124 802408A4 4600A501 */ sub.s $f20, $f20, $f0 +/* B03128 802408A8 0260202D */ daddu $a0, $s3, $zero +/* B0312C 802408AC 4600B08D */ trunc.w.s $f2, $f22 +/* B03130 802408B0 44061000 */ mfc1 $a2, $f2 +/* B03134 802408B4 0C0B2026 */ jal set_variable +/* B03138 802408B8 02C0282D */ daddu $a1, $s6, $zero +/* B0313C 802408BC 0260202D */ daddu $a0, $s3, $zero +/* B03140 802408C0 4600A08D */ trunc.w.s $f2, $f20 +/* B03144 802408C4 44061000 */ mfc1 $a2, $f2 +/* B03148 802408C8 0C0B2026 */ jal set_variable +/* B0314C 802408CC 02E0282D */ daddu $a1, $s7, $zero +.L802408D0: +/* B03150 802408D0 24020002 */ addiu $v0, $zero, 2 +/* B03154 802408D4 8FBF0030 */ lw $ra, 0x30($sp) +/* B03158 802408D8 8FB7002C */ lw $s7, 0x2c($sp) +/* B0315C 802408DC 8FB60028 */ lw $s6, 0x28($sp) +/* B03160 802408E0 8FB50024 */ lw $s5, 0x24($sp) +/* B03164 802408E4 8FB40020 */ lw $s4, 0x20($sp) +/* B03168 802408E8 8FB3001C */ lw $s3, 0x1c($sp) +/* B0316C 802408EC 8FB20018 */ lw $s2, 0x18($sp) +/* B03170 802408F0 8FB10014 */ lw $s1, 0x14($sp) +/* B03174 802408F4 8FB00010 */ lw $s0, 0x10($sp) +/* B03178 802408F8 D7B80048 */ ldc1 $f24, 0x48($sp) +/* B0317C 802408FC D7B60040 */ ldc1 $f22, 0x40($sp) +/* B03180 80240900 D7B40038 */ ldc1 $f20, 0x38($sp) +/* B03184 80240904 03E00008 */ jr $ra +/* B03188 80240908 27BD0050 */ addiu $sp, $sp, 0x50 +/* B0318C 8024090C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_80240910.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240910.s new file mode 100644 index 0000000000..de379f748c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_80240910.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240910 +/* B03190 80240910 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B03194 80240914 AFB10014 */ sw $s1, 0x14($sp) +/* B03198 80240918 0080882D */ daddu $s1, $a0, $zero +/* B0319C 8024091C AFBF0020 */ sw $ra, 0x20($sp) +/* B031A0 80240920 AFB3001C */ sw $s3, 0x1c($sp) +/* B031A4 80240924 AFB20018 */ sw $s2, 0x18($sp) +/* B031A8 80240928 AFB00010 */ sw $s0, 0x10($sp) +/* B031AC 8024092C 8E30000C */ lw $s0, 0xc($s1) +/* B031B0 80240930 8E050000 */ lw $a1, ($s0) +/* B031B4 80240934 0C0B1EAF */ jal get_variable +/* B031B8 80240938 26100004 */ addiu $s0, $s0, 4 +/* B031BC 8024093C 8E050000 */ lw $a1, ($s0) +/* B031C0 80240940 26100004 */ addiu $s0, $s0, 4 +/* B031C4 80240944 0220202D */ daddu $a0, $s1, $zero +/* B031C8 80240948 0C0B1EAF */ jal get_variable +/* B031CC 8024094C 0040902D */ daddu $s2, $v0, $zero +/* B031D0 80240950 8E050000 */ lw $a1, ($s0) +/* B031D4 80240954 26100004 */ addiu $s0, $s0, 4 +/* B031D8 80240958 0220202D */ daddu $a0, $s1, $zero +/* B031DC 8024095C 0C0B1EAF */ jal get_variable +/* B031E0 80240960 0040982D */ daddu $s3, $v0, $zero +/* B031E4 80240964 0220202D */ daddu $a0, $s1, $zero +/* B031E8 80240968 8E050000 */ lw $a1, ($s0) +/* B031EC 8024096C 0C0B1EAF */ jal get_variable +/* B031F0 80240970 0040802D */ daddu $s0, $v0, $zero +/* B031F4 80240974 8E43000C */ lw $v1, 0xc($s2) +/* B031F8 80240978 AC730030 */ sw $s3, 0x30($v1) +/* B031FC 8024097C 8E43000C */ lw $v1, 0xc($s2) +/* B03200 80240980 AC700034 */ sw $s0, 0x34($v1) +/* B03204 80240984 8E43000C */ lw $v1, 0xc($s2) +/* B03208 80240988 AC620038 */ sw $v0, 0x38($v1) +/* B0320C 8024098C 8FBF0020 */ lw $ra, 0x20($sp) +/* B03210 80240990 8FB3001C */ lw $s3, 0x1c($sp) +/* B03214 80240994 8FB20018 */ lw $s2, 0x18($sp) +/* B03218 80240998 8FB10014 */ lw $s1, 0x14($sp) +/* B0321C 8024099C 8FB00010 */ lw $s0, 0x10($sp) +/* B03220 802409A0 24020002 */ addiu $v0, $zero, 2 +/* B03224 802409A4 03E00008 */ jr $ra +/* B03228 802409A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_23/func_802409AC.s b/asm/nonmatchings/world/area_kkj/kkj_23/func_802409AC.s new file mode 100644 index 0000000000..3c29ff29ea --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_23/func_802409AC.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409AC +/* B0322C 802409AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B03230 802409B0 AFBF0010 */ sw $ra, 0x10($sp) +/* B03234 802409B4 0C0398E9 */ jal func_800E63A4 +/* B03238 802409B8 0000202D */ daddu $a0, $zero, $zero +/* B0323C 802409BC 8FBF0010 */ lw $ra, 0x10($sp) +/* B03240 802409C0 24020002 */ addiu $v0, $zero, 2 +/* B03244 802409C4 03E00008 */ jr $ra +/* B03248 802409C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* B0324C 802409CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_24/func_80240000_B06570.s b/asm/nonmatchings/world/area_kkj/kkj_24/func_80240000_B06570.s new file mode 100644 index 0000000000..d30ba29bbf --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_24/func_80240000_B06570.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B06570 +/* B06570 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B06574 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B06578 80240008 0C046ED4 */ jal enable_world_fog +/* B0657C 8024000C 00000000 */ nop +/* B06580 80240010 8FBF0010 */ lw $ra, 0x10($sp) +/* B06584 80240014 24020002 */ addiu $v0, $zero, 2 +/* B06588 80240018 03E00008 */ jr $ra +/* B0658C 8024001C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240000_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240000_B06A00.s new file mode 100644 index 0000000000..5fdfe6743b --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240000_B06A00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B06A00 +/* B06A00 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* B06A04 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* B06A08 80240008 24020002 */ addiu $v0, $zero, 2 +/* B06A0C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* B06A10 80240010 03E00008 */ jr $ra +/* B06A14 80240014 0000102D */ daddu $v0, $zero, $zero +/* B06A18 80240018 00000000 */ nop +/* B06A1C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240020_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240020_B06A00.s new file mode 100644 index 0000000000..96bbb3b6ab --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240020_B06A00.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_B06A20 +/* B06A20 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B06A24 80240024 AFBF0010 */ sw $ra, 0x10($sp) +/* B06A28 80240028 0C03A6D5 */ jal increment_status_menu_disabled +/* B06A2C 8024002C 00000000 */ nop +/* B06A30 80240030 3C05437F */ lui $a1, 0x437f +/* B06A34 80240034 0C04DF69 */ jal func_80137DA4 +/* B06A38 80240038 0000202D */ daddu $a0, $zero, $zero +/* B06A3C 8024003C 8FBF0010 */ lw $ra, 0x10($sp) +/* B06A40 80240040 24020002 */ addiu $v0, $zero, 2 +/* B06A44 80240044 03E00008 */ jr $ra +/* B06A48 80240048 27BD0018 */ addiu $sp, $sp, 0x18 +/* B06A4C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240050_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240050_B06A00.s new file mode 100644 index 0000000000..07fa0e0388 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240050_B06A00.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_B06A50 +/* B06A50 80240050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B06A54 80240054 AFBF0010 */ sw $ra, 0x10($sp) +/* B06A58 80240058 0C03A6D5 */ jal increment_status_menu_disabled +/* B06A5C 8024005C 00000000 */ nop +/* B06A60 80240060 3C05437F */ lui $a1, 0x437f +/* B06A64 80240064 0C04DF69 */ jal func_80137DA4 +/* B06A68 80240068 0000202D */ daddu $a0, $zero, $zero +/* B06A6C 8024006C 8FBF0010 */ lw $ra, 0x10($sp) +/* B06A70 80240070 24020002 */ addiu $v0, $zero, 2 +/* B06A74 80240074 03E00008 */ jr $ra +/* B06A78 80240078 27BD0018 */ addiu $sp, $sp, 0x18 +/* B06A7C 8024007C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240080_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240080_B06A00.s new file mode 100644 index 0000000000..9921d1a608 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240080_B06A00.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080_B06A80 +/* B06A80 80240080 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B06A84 80240084 AFBF0010 */ sw $ra, 0x10($sp) +/* B06A88 80240088 8C82000C */ lw $v0, 0xc($a0) +/* B06A8C 8024008C 3C068016 */ lui $a2, 0x8016 +/* B06A90 80240090 84C6A552 */ lh $a2, -0x5aae($a2) +/* B06A94 80240094 0C0B2026 */ jal set_variable +/* B06A98 80240098 8C450000 */ lw $a1, ($v0) +/* B06A9C 8024009C 8FBF0010 */ lw $ra, 0x10($sp) +/* B06AA0 802400A0 24020002 */ addiu $v0, $zero, 2 +/* B06AA4 802400A4 03E00008 */ jr $ra +/* B06AA8 802400A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_802400AC_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_802400AC_B06A00.s new file mode 100644 index 0000000000..2954cf4701 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_802400AC_B06A00.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC_B06AAC +/* B06AAC 802400AC 8C8400C0 */ lw $a0, 0xc0($a0) +/* B06AB0 802400B0 8C83000C */ lw $v1, 0xc($a0) +/* B06AB4 802400B4 24020055 */ addiu $v0, $zero, 0x55 +/* B06AB8 802400B8 AC620030 */ sw $v0, 0x30($v1) +/* B06ABC 802400BC 8C83000C */ lw $v1, 0xc($a0) +/* B06AC0 802400C0 2402002A */ addiu $v0, $zero, 0x2a +/* B06AC4 802400C4 AC620034 */ sw $v0, 0x34($v1) +/* B06AC8 802400C8 8C82000C */ lw $v0, 0xc($a0) +/* B06ACC 802400CC 240300FF */ addiu $v1, $zero, 0xff +/* B06AD0 802400D0 AC430038 */ sw $v1, 0x38($v0) +/* B06AD4 802400D4 8C82000C */ lw $v0, 0xc($a0) +/* B06AD8 802400D8 AC430040 */ sw $v1, 0x40($v0) +/* B06ADC 802400DC 8C83000C */ lw $v1, 0xc($a0) +/* B06AE0 802400E0 240200AF */ addiu $v0, $zero, 0xaf +/* B06AE4 802400E4 AC620044 */ sw $v0, 0x44($v1) +/* B06AE8 802400E8 8C83000C */ lw $v1, 0xc($a0) +/* B06AEC 802400EC 240200EF */ addiu $v0, $zero, 0xef +/* B06AF0 802400F0 AC620048 */ sw $v0, 0x48($v1) +/* B06AF4 802400F4 03E00008 */ jr $ra +/* B06AF8 802400F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_802400FC_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_802400FC_B06A00.s new file mode 100644 index 0000000000..fe6d3e5e26 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_802400FC_B06A00.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400FC_B06AFC +/* B06AFC 802400FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B06B00 80240100 AFB10014 */ sw $s1, 0x14($sp) +/* B06B04 80240104 0080882D */ daddu $s1, $a0, $zero +/* B06B08 80240108 AFBF001C */ sw $ra, 0x1c($sp) +/* B06B0C 8024010C AFB20018 */ sw $s2, 0x18($sp) +/* B06B10 80240110 AFB00010 */ sw $s0, 0x10($sp) +/* B06B14 80240114 F7B80030 */ sdc1 $f24, 0x30($sp) +/* B06B18 80240118 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B06B1C 8024011C F7B40020 */ sdc1 $f20, 0x20($sp) +/* B06B20 80240120 8E30000C */ lw $s0, 0xc($s1) +/* B06B24 80240124 8E050000 */ lw $a1, ($s0) +/* B06B28 80240128 0C0B1EAF */ jal get_variable +/* B06B2C 8024012C 26100004 */ addiu $s0, $s0, 4 +/* B06B30 80240130 8E050000 */ lw $a1, ($s0) +/* B06B34 80240134 26100004 */ addiu $s0, $s0, 4 +/* B06B38 80240138 0220202D */ daddu $a0, $s1, $zero +/* B06B3C 8024013C 0C0B1EAF */ jal get_variable +/* B06B40 80240140 0040902D */ daddu $s2, $v0, $zero +/* B06B44 80240144 8E050000 */ lw $a1, ($s0) +/* B06B48 80240148 26100004 */ addiu $s0, $s0, 4 +/* B06B4C 8024014C 4482C000 */ mtc1 $v0, $f24 +/* B06B50 80240150 00000000 */ nop +/* B06B54 80240154 4680C620 */ cvt.s.w $f24, $f24 +/* B06B58 80240158 0C0B1EAF */ jal get_variable +/* B06B5C 8024015C 0220202D */ daddu $a0, $s1, $zero +/* B06B60 80240160 8E050000 */ lw $a1, ($s0) +/* B06B64 80240164 4482B000 */ mtc1 $v0, $f22 +/* B06B68 80240168 00000000 */ nop +/* B06B6C 8024016C 4680B5A0 */ cvt.s.w $f22, $f22 +/* B06B70 80240170 0C0B1EAF */ jal get_variable +/* B06B74 80240174 0220202D */ daddu $a0, $s1, $zero +/* B06B78 80240178 4482A000 */ mtc1 $v0, $f20 +/* B06B7C 8024017C 00000000 */ nop +/* B06B80 80240180 4680A520 */ cvt.s.w $f20, $f20 +/* B06B84 80240184 0C04417A */ jal get_entity_by_index +/* B06B88 80240188 0240202D */ daddu $a0, $s2, $zero +/* B06B8C 8024018C 0040182D */ daddu $v1, $v0, $zero +/* B06B90 80240190 E4780048 */ swc1 $f24, 0x48($v1) +/* B06B94 80240194 E476004C */ swc1 $f22, 0x4c($v1) +/* B06B98 80240198 E4740050 */ swc1 $f20, 0x50($v1) +/* B06B9C 8024019C 8FBF001C */ lw $ra, 0x1c($sp) +/* B06BA0 802401A0 8FB20018 */ lw $s2, 0x18($sp) +/* B06BA4 802401A4 8FB10014 */ lw $s1, 0x14($sp) +/* B06BA8 802401A8 8FB00010 */ lw $s0, 0x10($sp) +/* B06BAC 802401AC D7B80030 */ ldc1 $f24, 0x30($sp) +/* B06BB0 802401B0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B06BB4 802401B4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B06BB8 802401B8 24020002 */ addiu $v0, $zero, 2 +/* B06BBC 802401BC 03E00008 */ jr $ra +/* B06BC0 802401C0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_802401C4.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_802401C4.s new file mode 100644 index 0000000000..086eecd249 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_802401C4.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401C4 +/* B06BC4 802401C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B06BC8 802401C8 AFB20018 */ sw $s2, 0x18($sp) +/* B06BCC 802401CC 0080902D */ daddu $s2, $a0, $zero +/* B06BD0 802401D0 AFBF001C */ sw $ra, 0x1c($sp) +/* B06BD4 802401D4 AFB10014 */ sw $s1, 0x14($sp) +/* B06BD8 802401D8 AFB00010 */ sw $s0, 0x10($sp) +/* B06BDC 802401DC 8E50000C */ lw $s0, 0xc($s2) +/* B06BE0 802401E0 8E050000 */ lw $a1, ($s0) +/* B06BE4 802401E4 0C0B1EAF */ jal get_variable +/* B06BE8 802401E8 26100004 */ addiu $s0, $s0, 4 +/* B06BEC 802401EC 0C04417A */ jal get_entity_by_index +/* B06BF0 802401F0 0040202D */ daddu $a0, $v0, $zero +/* B06BF4 802401F4 8E050000 */ lw $a1, ($s0) +/* B06BF8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* B06BFC 802401FC 0040882D */ daddu $s1, $v0, $zero +/* B06C00 80240200 C6200048 */ lwc1 $f0, 0x48($s1) +/* B06C04 80240204 4600008D */ trunc.w.s $f2, $f0 +/* B06C08 80240208 44061000 */ mfc1 $a2, $f2 +/* B06C0C 8024020C 0C0B2026 */ jal set_variable +/* B06C10 80240210 0240202D */ daddu $a0, $s2, $zero +/* B06C14 80240214 8E050000 */ lw $a1, ($s0) +/* B06C18 80240218 26100004 */ addiu $s0, $s0, 4 +/* B06C1C 8024021C C620004C */ lwc1 $f0, 0x4c($s1) +/* B06C20 80240220 4600008D */ trunc.w.s $f2, $f0 +/* B06C24 80240224 44061000 */ mfc1 $a2, $f2 +/* B06C28 80240228 0C0B2026 */ jal set_variable +/* B06C2C 8024022C 0240202D */ daddu $a0, $s2, $zero +/* B06C30 80240230 C6200050 */ lwc1 $f0, 0x50($s1) +/* B06C34 80240234 8E050000 */ lw $a1, ($s0) +/* B06C38 80240238 4600008D */ trunc.w.s $f2, $f0 +/* B06C3C 8024023C 44061000 */ mfc1 $a2, $f2 +/* B06C40 80240240 0C0B2026 */ jal set_variable +/* B06C44 80240244 0240202D */ daddu $a0, $s2, $zero +/* B06C48 80240248 8FBF001C */ lw $ra, 0x1c($sp) +/* B06C4C 8024024C 8FB20018 */ lw $s2, 0x18($sp) +/* B06C50 80240250 8FB10014 */ lw $s1, 0x14($sp) +/* B06C54 80240254 8FB00010 */ lw $s0, 0x10($sp) +/* B06C58 80240258 24020002 */ addiu $v0, $zero, 2 +/* B06C5C 8024025C 03E00008 */ jr $ra +/* B06C60 80240260 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240264.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240264.s new file mode 100644 index 0000000000..ed80bc9f14 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240264.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240264 +/* B06C64 80240264 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B06C68 80240268 AFB1001C */ sw $s1, 0x1c($sp) +/* B06C6C 8024026C 0080882D */ daddu $s1, $a0, $zero +/* B06C70 80240270 AFBF0020 */ sw $ra, 0x20($sp) +/* B06C74 80240274 AFB00018 */ sw $s0, 0x18($sp) +/* B06C78 80240278 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B06C7C 8024027C F7B60030 */ sdc1 $f22, 0x30($sp) +/* B06C80 80240280 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B06C84 80240284 8E30000C */ lw $s0, 0xc($s1) +/* B06C88 80240288 8E050000 */ lw $a1, ($s0) +/* B06C8C 8024028C 0C0B210B */ jal get_float_variable +/* B06C90 80240290 26100004 */ addiu $s0, $s0, 4 +/* B06C94 80240294 8E050000 */ lw $a1, ($s0) +/* B06C98 80240298 26100004 */ addiu $s0, $s0, 4 +/* B06C9C 8024029C 0220202D */ daddu $a0, $s1, $zero +/* B06CA0 802402A0 0C0B210B */ jal get_float_variable +/* B06CA4 802402A4 46000606 */ mov.s $f24, $f0 +/* B06CA8 802402A8 8E050000 */ lw $a1, ($s0) +/* B06CAC 802402AC 26100004 */ addiu $s0, $s0, 4 +/* B06CB0 802402B0 0220202D */ daddu $a0, $s1, $zero +/* B06CB4 802402B4 0C0B210B */ jal get_float_variable +/* B06CB8 802402B8 46000586 */ mov.s $f22, $f0 +/* B06CBC 802402BC 0220202D */ daddu $a0, $s1, $zero +/* B06CC0 802402C0 8E050000 */ lw $a1, ($s0) +/* B06CC4 802402C4 0C0B1EAF */ jal get_variable +/* B06CC8 802402C8 46000506 */ mov.s $f20, $f0 +/* B06CCC 802402CC 4405C000 */ mfc1 $a1, $f24 +/* B06CD0 802402D0 4406B000 */ mfc1 $a2, $f22 +/* B06CD4 802402D4 4407A000 */ mfc1 $a3, $f20 +/* B06CD8 802402D8 0000202D */ daddu $a0, $zero, $zero +/* B06CDC 802402DC 0C01C094 */ jal func_80070250 +/* B06CE0 802402E0 AFA20010 */ sw $v0, 0x10($sp) +/* B06CE4 802402E4 8FBF0020 */ lw $ra, 0x20($sp) +/* B06CE8 802402E8 8FB1001C */ lw $s1, 0x1c($sp) +/* B06CEC 802402EC 8FB00018 */ lw $s0, 0x18($sp) +/* B06CF0 802402F0 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B06CF4 802402F4 D7B60030 */ ldc1 $f22, 0x30($sp) +/* B06CF8 802402F8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B06CFC 802402FC 24020002 */ addiu $v0, $zero, 2 +/* B06D00 80240300 03E00008 */ jr $ra +/* B06D04 80240304 27BD0040 */ addiu $sp, $sp, 0x40 +/* B06D08 80240308 00000000 */ nop +/* B06D0C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240310_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240310_B06A00.s new file mode 100644 index 0000000000..a3f8f72e22 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240310_B06A00.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_B06D10 +/* B06D10 80240310 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* B06D14 80240314 0000202D */ daddu $a0, $zero, $zero +/* B06D18 80240318 3C05FD05 */ lui $a1, 0xfd05 +/* B06D1C 8024031C AFBF00DC */ sw $ra, 0xdc($sp) +/* B06D20 80240320 AFB600D8 */ sw $s6, 0xd8($sp) +/* B06D24 80240324 AFB500D4 */ sw $s5, 0xd4($sp) +/* B06D28 80240328 AFB400D0 */ sw $s4, 0xd0($sp) +/* B06D2C 8024032C AFB300CC */ sw $s3, 0xcc($sp) +/* B06D30 80240330 AFB200C8 */ sw $s2, 0xc8($sp) +/* B06D34 80240334 AFB100C4 */ sw $s1, 0xc4($sp) +/* B06D38 80240338 AFB000C0 */ sw $s0, 0xc0($sp) +/* B06D3C 8024033C F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* B06D40 80240340 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* B06D44 80240344 0C0B1EAF */ jal get_variable +/* B06D48 80240348 34A50F8A */ ori $a1, $a1, 0xf8a +/* B06D4C 8024034C 3C07E300 */ lui $a3, 0xe300 +/* B06D50 80240350 34E70A01 */ ori $a3, $a3, 0xa01 +/* B06D54 80240354 3C08D9C0 */ lui $t0, 0xd9c0 +/* B06D58 80240358 3508F9FB */ ori $t0, $t0, 0xf9fb +/* B06D5C 8024035C 3C0AD9FF */ lui $t2, 0xd9ff +/* B06D60 80240360 354AFFFF */ ori $t2, $t2, 0xffff +/* B06D64 80240364 3C090020 */ lui $t1, 0x20 +/* B06D68 80240368 35290005 */ ori $t1, $t1, 5 +/* B06D6C 8024036C 3C0BD700 */ lui $t3, 0xd700 +/* B06D70 80240370 356B0002 */ ori $t3, $t3, 2 +/* B06D74 80240374 3C0CE300 */ lui $t4, 0xe300 +/* B06D78 80240378 358C0F00 */ ori $t4, $t4, 0xf00 +/* B06D7C 8024037C 3C0DE300 */ lui $t5, 0xe300 +/* B06D80 80240380 35AD0C00 */ ori $t5, $t5, 0xc00 +/* B06D84 80240384 3C0EE300 */ lui $t6, 0xe300 +/* B06D88 80240388 35CE1201 */ ori $t6, $t6, 0x1201 +/* B06D8C 8024038C 3C0FE300 */ lui $t7, 0xe300 +/* B06D90 80240390 35EF1801 */ ori $t7, $t7, 0x1801 +/* B06D94 80240394 3C10E300 */ lui $s0, 0xe300 +/* B06D98 80240398 36100D01 */ ori $s0, $s0, 0xd01 +/* B06D9C 8024039C 3C12E300 */ lui $s2, 0xe300 +/* B06DA0 802403A0 36521402 */ ori $s2, $s2, 0x1402 +/* B06DA4 802403A4 3C14E300 */ lui $s4, 0xe300 +/* B06DA8 802403A8 36941700 */ ori $s4, $s4, 0x1700 +/* B06DAC 802403AC 3C15E200 */ lui $s5, 0xe200 +/* B06DB0 802403B0 36B51E01 */ ori $s5, $s5, 0x1e01 +/* B06DB4 802403B4 27B30040 */ addiu $s3, $sp, 0x40 +/* B06DB8 802403B8 0260202D */ daddu $a0, $s3, $zero +/* B06DBC 802403BC 3C160001 */ lui $s6, 1 +/* B06DC0 802403C0 3C11800A */ lui $s1, 0x800a +/* B06DC4 802403C4 2631A66C */ addiu $s1, $s1, -0x5994 +/* B06DC8 802403C8 36D61630 */ ori $s6, $s6, 0x1630 +/* B06DCC 802403CC 3C05E700 */ lui $a1, 0xe700 +/* B06DD0 802403D0 8E230000 */ lw $v1, ($s1) +/* B06DD4 802403D4 4480A000 */ mtc1 $zero, $f20 +/* B06DD8 802403D8 0060302D */ daddu $a2, $v1, $zero +/* B06DDC 802403DC 24630008 */ addiu $v1, $v1, 8 +/* B06DE0 802403E0 AE230000 */ sw $v1, ($s1) +/* B06DE4 802403E4 ACC50000 */ sw $a1, ($a2) +/* B06DE8 802403E8 24650008 */ addiu $a1, $v1, 8 +/* B06DEC 802403EC ACC00004 */ sw $zero, 4($a2) +/* B06DF0 802403F0 AE250000 */ sw $a1, ($s1) +/* B06DF4 802403F4 24650010 */ addiu $a1, $v1, 0x10 +/* B06DF8 802403F8 AC670000 */ sw $a3, ($v1) +/* B06DFC 802403FC AC600004 */ sw $zero, 4($v1) +/* B06E00 80240400 AE250000 */ sw $a1, ($s1) +/* B06E04 80240404 24650018 */ addiu $a1, $v1, 0x18 +/* B06E08 80240408 AC680008 */ sw $t0, 8($v1) +/* B06E0C 8024040C AC60000C */ sw $zero, 0xc($v1) +/* B06E10 80240410 AE250000 */ sw $a1, ($s1) +/* B06E14 80240414 24650020 */ addiu $a1, $v1, 0x20 +/* B06E18 80240418 AC6A0010 */ sw $t2, 0x10($v1) +/* B06E1C 8024041C AC690014 */ sw $t1, 0x14($v1) +/* B06E20 80240420 AE250000 */ sw $a1, ($s1) +/* B06E24 80240424 2405FFFF */ addiu $a1, $zero, -1 +/* B06E28 80240428 AC65001C */ sw $a1, 0x1c($v1) +/* B06E2C 8024042C 24650028 */ addiu $a1, $v1, 0x28 +/* B06E30 80240430 AC6B0018 */ sw $t3, 0x18($v1) +/* B06E34 80240434 AE250000 */ sw $a1, ($s1) +/* B06E38 80240438 24650030 */ addiu $a1, $v1, 0x30 +/* B06E3C 8024043C AC6C0020 */ sw $t4, 0x20($v1) +/* B06E40 80240440 AC600024 */ sw $zero, 0x24($v1) +/* B06E44 80240444 AE250000 */ sw $a1, ($s1) +/* B06E48 80240448 3C050008 */ lui $a1, 8 +/* B06E4C 8024044C AC65002C */ sw $a1, 0x2c($v1) +/* B06E50 80240450 24650038 */ addiu $a1, $v1, 0x38 +/* B06E54 80240454 AC6D0028 */ sw $t5, 0x28($v1) +/* B06E58 80240458 AE250000 */ sw $a1, ($s1) +/* B06E5C 8024045C 24052000 */ addiu $a1, $zero, 0x2000 +/* B06E60 80240460 AC650034 */ sw $a1, 0x34($v1) +/* B06E64 80240464 24650040 */ addiu $a1, $v1, 0x40 +/* B06E68 80240468 AC6E0030 */ sw $t6, 0x30($v1) +/* B06E6C 8024046C AE250000 */ sw $a1, ($s1) +/* B06E70 80240470 240500C0 */ addiu $a1, $zero, 0xc0 +/* B06E74 80240474 AC65003C */ sw $a1, 0x3c($v1) +/* B06E78 80240478 24650048 */ addiu $a1, $v1, 0x48 +/* B06E7C 8024047C AC6F0038 */ sw $t7, 0x38($v1) +/* B06E80 80240480 AE250000 */ sw $a1, ($s1) +/* B06E84 80240484 24650050 */ addiu $a1, $v1, 0x50 +/* B06E88 80240488 AC700040 */ sw $s0, 0x40($v1) +/* B06E8C 8024048C AC600044 */ sw $zero, 0x44($v1) +/* B06E90 80240490 AE250000 */ sw $a1, ($s1) +/* B06E94 80240494 24050C00 */ addiu $a1, $zero, 0xc00 +/* B06E98 80240498 AC720048 */ sw $s2, 0x48($v1) +/* B06E9C 8024049C 0040902D */ daddu $s2, $v0, $zero +/* B06EA0 802404A0 24620058 */ addiu $v0, $v1, 0x58 +/* B06EA4 802404A4 AC65004C */ sw $a1, 0x4c($v1) +/* B06EA8 802404A8 AC740050 */ sw $s4, 0x50($v1) +/* B06EAC 802404AC AC600054 */ sw $zero, 0x54($v1) +/* B06EB0 802404B0 AC750058 */ sw $s5, 0x58($v1) +/* B06EB4 802404B4 AC60005C */ sw $zero, 0x5c($v1) +/* B06EB8 802404B8 8E450010 */ lw $a1, 0x10($s2) +/* B06EBC 802404BC 8E460014 */ lw $a2, 0x14($s2) +/* B06EC0 802404C0 8E470018 */ lw $a3, 0x18($s2) +/* B06EC4 802404C4 24630060 */ addiu $v1, $v1, 0x60 +/* B06EC8 802404C8 AE220000 */ sw $v0, ($s1) +/* B06ECC 802404CC 0C019E40 */ jal guTranslateF +/* B06ED0 802404D0 AE230000 */ sw $v1, ($s1) +/* B06ED4 802404D4 27B00080 */ addiu $s0, $sp, 0x80 +/* B06ED8 802404D8 E7B40010 */ swc1 $f20, 0x10($sp) +/* B06EDC 802404DC 8E450020 */ lw $a1, 0x20($s2) +/* B06EE0 802404E0 3C013F80 */ lui $at, 0x3f80 +/* B06EE4 802404E4 4481B000 */ mtc1 $at, $f22 +/* B06EE8 802404E8 4406A000 */ mfc1 $a2, $f20 +/* B06EEC 802404EC 4407B000 */ mfc1 $a3, $f22 +/* B06EF0 802404F0 0C019EC8 */ jal guRotateF +/* B06EF4 802404F4 0200202D */ daddu $a0, $s0, $zero +/* B06EF8 802404F8 0200202D */ daddu $a0, $s0, $zero +/* B06EFC 802404FC 0260282D */ daddu $a1, $s3, $zero +/* B06F00 80240500 0C019D80 */ jal guMtxCatF +/* B06F04 80240504 0260302D */ daddu $a2, $s3, $zero +/* B06F08 80240508 E7B60010 */ swc1 $f22, 0x10($sp) +/* B06F0C 8024050C 8E450024 */ lw $a1, 0x24($s2) +/* B06F10 80240510 4406A000 */ mfc1 $a2, $f20 +/* B06F14 80240514 4407A000 */ mfc1 $a3, $f20 +/* B06F18 80240518 0C019EC8 */ jal guRotateF +/* B06F1C 8024051C 0200202D */ daddu $a0, $s0, $zero +/* B06F20 80240520 0200202D */ daddu $a0, $s0, $zero +/* B06F24 80240524 0260282D */ daddu $a1, $s3, $zero +/* B06F28 80240528 0C019D80 */ jal guMtxCatF +/* B06F2C 8024052C 0260302D */ daddu $a2, $s3, $zero +/* B06F30 80240530 E7B40010 */ swc1 $f20, 0x10($sp) +/* B06F34 80240534 8E45001C */ lw $a1, 0x1c($s2) +/* B06F38 80240538 4406B000 */ mfc1 $a2, $f22 +/* B06F3C 8024053C 4407A000 */ mfc1 $a3, $f20 +/* B06F40 80240540 0C019EC8 */ jal guRotateF +/* B06F44 80240544 0200202D */ daddu $a0, $s0, $zero +/* B06F48 80240548 0200202D */ daddu $a0, $s0, $zero +/* B06F4C 8024054C 0260282D */ daddu $a1, $s3, $zero +/* B06F50 80240550 0C019D80 */ jal guMtxCatF +/* B06F54 80240554 0260302D */ daddu $a2, $s3, $zero +/* B06F58 80240558 8E450028 */ lw $a1, 0x28($s2) +/* B06F5C 8024055C 8E46002C */ lw $a2, 0x2c($s2) +/* B06F60 80240560 8E470030 */ lw $a3, 0x30($s2) +/* B06F64 80240564 0C019DF0 */ jal guScaleF +/* B06F68 80240568 0200202D */ daddu $a0, $s0, $zero +/* B06F6C 8024056C 0200202D */ daddu $a0, $s0, $zero +/* B06F70 80240570 0260282D */ daddu $a1, $s3, $zero +/* B06F74 80240574 0C019D80 */ jal guMtxCatF +/* B06F78 80240578 0260302D */ daddu $a2, $s3, $zero +/* B06F7C 8024057C 0260202D */ daddu $a0, $s3, $zero +/* B06F80 80240580 3C108007 */ lui $s0, 0x8007 +/* B06F84 80240584 261041F0 */ addiu $s0, $s0, 0x41f0 +/* B06F88 80240588 3C14800A */ lui $s4, 0x800a +/* B06F8C 8024058C 2694A674 */ addiu $s4, $s4, -0x598c +/* B06F90 80240590 96050000 */ lhu $a1, ($s0) +/* B06F94 80240594 8E820000 */ lw $v0, ($s4) +/* B06F98 80240598 00052980 */ sll $a1, $a1, 6 +/* B06F9C 8024059C 00B62821 */ addu $a1, $a1, $s6 +/* B06FA0 802405A0 0C019D40 */ jal guMtxF2L +/* B06FA4 802405A4 00452821 */ addu $a1, $v0, $a1 +/* B06FA8 802405A8 3C02DA38 */ lui $v0, 0xda38 +/* B06FAC 802405AC 34420002 */ ori $v0, $v0, 2 +/* B06FB0 802405B0 27A40030 */ addiu $a0, $sp, 0x30 +/* B06FB4 802405B4 8E270000 */ lw $a3, ($s1) +/* B06FB8 802405B8 96080000 */ lhu $t0, ($s0) +/* B06FBC 802405BC 00E0282D */ daddu $a1, $a3, $zero +/* B06FC0 802405C0 ACA20000 */ sw $v0, ($a1) +/* B06FC4 802405C4 3102FFFF */ andi $v0, $t0, 0xffff +/* B06FC8 802405C8 00021180 */ sll $v0, $v0, 6 +/* B06FCC 802405CC 00561021 */ addu $v0, $v0, $s6 +/* B06FD0 802405D0 8E830000 */ lw $v1, ($s4) +/* B06FD4 802405D4 24E70008 */ addiu $a3, $a3, 8 +/* B06FD8 802405D8 00621821 */ addu $v1, $v1, $v0 +/* B06FDC 802405DC 3C028000 */ lui $v0, 0x8000 +/* B06FE0 802405E0 00621821 */ addu $v1, $v1, $v0 +/* B06FE4 802405E4 ACA30004 */ sw $v1, 4($a1) +/* B06FE8 802405E8 8E450008 */ lw $a1, 8($s2) +/* B06FEC 802405EC 8E46000C */ lw $a2, 0xc($s2) +/* B06FF0 802405F0 25080001 */ addiu $t0, $t0, 1 +/* B06FF4 802405F4 AE270000 */ sw $a3, ($s1) +/* B06FF8 802405F8 0C0B7811 */ jal func_802DE044 +/* B06FFC 802405FC A6080000 */ sh $t0, ($s0) +/* B07000 80240600 8FA30030 */ lw $v1, 0x30($sp) +/* B07004 80240604 8FA40034 */ lw $a0, 0x34($sp) +/* B07008 80240608 97A2003A */ lhu $v0, 0x3a($sp) +/* B0700C 8024060C 3C013F00 */ lui $at, 0x3f00 +/* B07010 80240610 44811000 */ mtc1 $at, $f2 +/* B07014 80240614 27A50018 */ addiu $a1, $sp, 0x18 +/* B07018 80240618 A7A20020 */ sh $v0, 0x20($sp) +/* B0701C 8024061C 3042FFFF */ andi $v0, $v0, 0xffff +/* B07020 80240620 44820000 */ mtc1 $v0, $f0 +/* B07024 80240624 00000000 */ nop +/* B07028 80240628 46800020 */ cvt.s.w $f0, $f0 +/* B0702C 8024062C AFA30018 */ sw $v1, 0x18($sp) +/* B07030 80240630 AFA4001C */ sw $a0, 0x1c($sp) +/* B07034 80240634 E6400034 */ swc1 $f0, 0x34($s2) +/* B07038 80240638 97A2003E */ lhu $v0, 0x3e($sp) +/* B0703C 8024063C 0000302D */ daddu $a2, $zero, $zero +/* B07040 80240640 A7A20022 */ sh $v0, 0x22($sp) +/* B07044 80240644 3042FFFF */ andi $v0, $v0, 0xffff +/* B07048 80240648 44820000 */ mtc1 $v0, $f0 +/* B0704C 8024064C 00000000 */ nop +/* B07050 80240650 46800020 */ cvt.s.w $f0, $f0 +/* B07054 80240654 E6400038 */ swc1 $f0, 0x38($s2) +/* B07058 80240658 C7A00038 */ lwc1 $f0, 0x38($sp) +/* B0705C 8024065C 46800020 */ cvt.s.w $f0, $f0 +/* B07060 80240660 46020002 */ mul.s $f0, $f0, $f2 +/* B07064 80240664 00000000 */ nop +/* B07068 80240668 97A3003E */ lhu $v1, 0x3e($sp) +/* B0706C 8024066C 240200FF */ addiu $v0, $zero, 0xff +/* B07070 80240670 A3A20028 */ sb $v0, 0x28($sp) +/* B07074 80240674 A7A30026 */ sh $v1, 0x26($sp) +/* B07078 80240678 4600010D */ trunc.w.s $f4, $f0 +/* B0707C 8024067C 44022000 */ mfc1 $v0, $f4 +/* B07080 80240680 00000000 */ nop +/* B07084 80240684 00021023 */ negu $v0, $v0 +/* B07088 80240688 A7A20024 */ sh $v0, 0x24($sp) +/* B0708C 8024068C 8E440000 */ lw $a0, ($s2) +/* B07090 80240690 0C04EBDC */ jal func_8013AF70 +/* B07094 80240694 0260382D */ daddu $a3, $s3, $zero +/* B07098 80240698 3C04D838 */ lui $a0, 0xd838 +/* B0709C 8024069C 8E220000 */ lw $v0, ($s1) +/* B070A0 802406A0 34840002 */ ori $a0, $a0, 2 +/* B070A4 802406A4 0040182D */ daddu $v1, $v0, $zero +/* B070A8 802406A8 24420008 */ addiu $v0, $v0, 8 +/* B070AC 802406AC AE220000 */ sw $v0, ($s1) +/* B070B0 802406B0 24020040 */ addiu $v0, $zero, 0x40 +/* B070B4 802406B4 AC640000 */ sw $a0, ($v1) +/* B070B8 802406B8 AC620004 */ sw $v0, 4($v1) +/* B070BC 802406BC 8FBF00DC */ lw $ra, 0xdc($sp) +/* B070C0 802406C0 8FB600D8 */ lw $s6, 0xd8($sp) +/* B070C4 802406C4 8FB500D4 */ lw $s5, 0xd4($sp) +/* B070C8 802406C8 8FB400D0 */ lw $s4, 0xd0($sp) +/* B070CC 802406CC 8FB300CC */ lw $s3, 0xcc($sp) +/* B070D0 802406D0 8FB200C8 */ lw $s2, 0xc8($sp) +/* B070D4 802406D4 8FB100C4 */ lw $s1, 0xc4($sp) +/* B070D8 802406D8 8FB000C0 */ lw $s0, 0xc0($sp) +/* B070DC 802406DC D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* B070E0 802406E0 D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* B070E4 802406E4 03E00008 */ jr $ra +/* B070E8 802406E8 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_802406EC.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_802406EC.s new file mode 100644 index 0000000000..86a97ab1b0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_802406EC.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406EC +/* B070EC 802406EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B070F0 802406F0 AFB3001C */ sw $s3, 0x1c($sp) +/* B070F4 802406F4 0080982D */ daddu $s3, $a0, $zero +/* B070F8 802406F8 AFBF0020 */ sw $ra, 0x20($sp) +/* B070FC 802406FC AFB20018 */ sw $s2, 0x18($sp) +/* B07100 80240700 AFB10014 */ sw $s1, 0x14($sp) +/* B07104 80240704 AFB00010 */ sw $s0, 0x10($sp) +/* B07108 80240708 8E70000C */ lw $s0, 0xc($s3) +/* B0710C 8024070C 8E050000 */ lw $a1, ($s0) +/* B07110 80240710 0C0B1EAF */ jal get_variable +/* B07114 80240714 26100004 */ addiu $s0, $s0, 4 +/* B07118 80240718 0260202D */ daddu $a0, $s3, $zero +/* B0711C 8024071C 8E050000 */ lw $a1, ($s0) +/* B07120 80240720 0C0B1EAF */ jal get_variable +/* B07124 80240724 0040902D */ daddu $s2, $v0, $zero +/* B07128 80240728 2404003C */ addiu $a0, $zero, 0x3c +/* B0712C 8024072C 0C00AB39 */ jal heap_malloc +/* B07130 80240730 0040882D */ daddu $s1, $v0, $zero +/* B07134 80240734 0040802D */ daddu $s0, $v0, $zero +/* B07138 80240738 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B0713C 8024073C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B07140 80240740 AE120008 */ sw $s2, 8($s0) +/* B07144 80240744 AE11000C */ sw $s1, 0xc($s0) +/* B07148 80240748 846200B0 */ lh $v0, 0xb0($v1) +/* B0714C 8024074C 44820000 */ mtc1 $v0, $f0 +/* B07150 80240750 00000000 */ nop +/* B07154 80240754 46800020 */ cvt.s.w $f0, $f0 +/* B07158 80240758 E6000034 */ swc1 $f0, 0x34($s0) +/* B0715C 8024075C 846200B2 */ lh $v0, 0xb2($v1) +/* B07160 80240760 44820000 */ mtc1 $v0, $f0 +/* B07164 80240764 00000000 */ nop +/* B07168 80240768 46800020 */ cvt.s.w $f0, $f0 +/* B0716C 8024076C E6000038 */ swc1 $f0, 0x38($s0) +/* B07170 80240770 C4600028 */ lwc1 $f0, 0x28($v1) +/* B07174 80240774 E6000010 */ swc1 $f0, 0x10($s0) +/* B07178 80240778 C460002C */ lwc1 $f0, 0x2c($v1) +/* B0717C 8024077C E6000014 */ swc1 $f0, 0x14($s0) +/* B07180 80240780 C4620030 */ lwc1 $f2, 0x30($v1) +/* B07184 80240784 3C013F36 */ lui $at, 0x3f36 +/* B07188 80240788 3421DB6E */ ori $at, $at, 0xdb6e +/* B0718C 8024078C 44810000 */ mtc1 $at, $f0 +/* B07190 80240790 24040001 */ addiu $a0, $zero, 1 +/* B07194 80240794 AE00001C */ sw $zero, 0x1c($s0) +/* B07198 80240798 AE000020 */ sw $zero, 0x20($s0) +/* B0719C 8024079C AE000024 */ sw $zero, 0x24($s0) +/* B071A0 802407A0 E6000028 */ swc1 $f0, 0x28($s0) +/* B071A4 802407A4 E600002C */ swc1 $f0, 0x2c($s0) +/* B071A8 802407A8 E6000030 */ swc1 $f0, 0x30($s0) +/* B071AC 802407AC 0C04E9C1 */ jal func_8013A704 +/* B071B0 802407B0 E6020018 */ swc1 $f2, 0x18($s0) +/* B071B4 802407B4 0000202D */ daddu $a0, $zero, $zero +/* B071B8 802407B8 3C058024 */ lui $a1, 0x8024 +/* B071BC 802407BC 24A50310 */ addiu $a1, $a1, 0x310 +/* B071C0 802407C0 0C048C56 */ jal bind_dynamic_entity_3 +/* B071C4 802407C4 AE020000 */ sw $v0, ($s0) +/* B071C8 802407C8 0260202D */ daddu $a0, $s3, $zero +/* B071CC 802407CC 3C05FD05 */ lui $a1, 0xfd05 +/* B071D0 802407D0 34A50F8A */ ori $a1, $a1, 0xf8a +/* B071D4 802407D4 0200302D */ daddu $a2, $s0, $zero +/* B071D8 802407D8 0C0B2026 */ jal set_variable +/* B071DC 802407DC AE020004 */ sw $v0, 4($s0) +/* B071E0 802407E0 8FBF0020 */ lw $ra, 0x20($sp) +/* B071E4 802407E4 8FB3001C */ lw $s3, 0x1c($sp) +/* B071E8 802407E8 8FB20018 */ lw $s2, 0x18($sp) +/* B071EC 802407EC 8FB10014 */ lw $s1, 0x14($sp) +/* B071F0 802407F0 8FB00010 */ lw $s0, 0x10($sp) +/* B071F4 802407F4 24020002 */ addiu $v0, $zero, 2 +/* B071F8 802407F8 03E00008 */ jr $ra +/* B071FC 802407FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240800_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240800_B06A00.s new file mode 100644 index 0000000000..a70011f60f --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240800_B06A00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240800_B07200 +/* B07200 80240800 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B07204 80240804 AFB10014 */ sw $s1, 0x14($sp) +/* B07208 80240808 0080882D */ daddu $s1, $a0, $zero +/* B0720C 8024080C 0000202D */ daddu $a0, $zero, $zero +/* B07210 80240810 3C05FD05 */ lui $a1, 0xfd05 +/* B07214 80240814 34A50F8A */ ori $a1, $a1, 0xf8a +/* B07218 80240818 AFBF0018 */ sw $ra, 0x18($sp) +/* B0721C 8024081C 0C0B1EAF */ jal get_variable +/* B07220 80240820 AFB00010 */ sw $s0, 0x10($sp) +/* B07224 80240824 0040802D */ daddu $s0, $v0, $zero +/* B07228 80240828 0C04EA15 */ jal func_8013A854 +/* B0722C 8024082C 8E040000 */ lw $a0, ($s0) +/* B07230 80240830 0C048D70 */ jal func_801235C0 +/* B07234 80240834 8E040004 */ lw $a0, 4($s0) +/* B07238 80240838 0C00AB4B */ jal heap_free +/* B0723C 8024083C 0200202D */ daddu $a0, $s0, $zero +/* B07240 80240840 0220202D */ daddu $a0, $s1, $zero +/* B07244 80240844 3C05FD05 */ lui $a1, 0xfd05 +/* B07248 80240848 34A50F8A */ ori $a1, $a1, 0xf8a +/* B0724C 8024084C 0C0B2026 */ jal set_variable +/* B07250 80240850 0000302D */ daddu $a2, $zero, $zero +/* B07254 80240854 8FBF0018 */ lw $ra, 0x18($sp) +/* B07258 80240858 8FB10014 */ lw $s1, 0x14($sp) +/* B0725C 8024085C 8FB00010 */ lw $s0, 0x10($sp) +/* B07260 80240860 24020002 */ addiu $v0, $zero, 2 +/* B07264 80240864 03E00008 */ jr $ra +/* B07268 80240868 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_8024086C_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_8024086C_B06A00.s new file mode 100644 index 0000000000..b76a3a4b0b --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_8024086C_B06A00.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C_B0726C +/* B0726C 8024086C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B07270 80240870 AFB10014 */ sw $s1, 0x14($sp) +/* B07274 80240874 0080882D */ daddu $s1, $a0, $zero +/* B07278 80240878 AFBF001C */ sw $ra, 0x1c($sp) +/* B0727C 8024087C AFB20018 */ sw $s2, 0x18($sp) +/* B07280 80240880 AFB00010 */ sw $s0, 0x10($sp) +/* B07284 80240884 8E30000C */ lw $s0, 0xc($s1) +/* B07288 80240888 8E050000 */ lw $a1, ($s0) +/* B0728C 8024088C 0C0B210B */ jal get_float_variable +/* B07290 80240890 26100004 */ addiu $s0, $s0, 4 +/* B07294 80240894 8E050000 */ lw $a1, ($s0) +/* B07298 80240898 26100004 */ addiu $s0, $s0, 4 +/* B0729C 8024089C 4600008D */ trunc.w.s $f2, $f0 +/* B072A0 802408A0 44121000 */ mfc1 $s2, $f2 +/* B072A4 802408A4 0C0B210B */ jal get_float_variable +/* B072A8 802408A8 0220202D */ daddu $a0, $s1, $zero +/* B072AC 802408AC 0220202D */ daddu $a0, $s1, $zero +/* B072B0 802408B0 8E050000 */ lw $a1, ($s0) +/* B072B4 802408B4 4600008D */ trunc.w.s $f2, $f0 +/* B072B8 802408B8 44111000 */ mfc1 $s1, $f2 +/* B072BC 802408BC 0C0B210B */ jal get_float_variable +/* B072C0 802408C0 00000000 */ nop +/* B072C4 802408C4 0000202D */ daddu $a0, $zero, $zero +/* B072C8 802408C8 3C05FD05 */ lui $a1, 0xfd05 +/* B072CC 802408CC 4600008D */ trunc.w.s $f2, $f0 +/* B072D0 802408D0 44101000 */ mfc1 $s0, $f2 +/* B072D4 802408D4 0C0B1EAF */ jal get_variable +/* B072D8 802408D8 34A50F8A */ ori $a1, $a1, 0xf8a +/* B072DC 802408DC 0040182D */ daddu $v1, $v0, $zero +/* B072E0 802408E0 44920000 */ mtc1 $s2, $f0 +/* B072E4 802408E4 00000000 */ nop +/* B072E8 802408E8 46800020 */ cvt.s.w $f0, $f0 +/* B072EC 802408EC E4600010 */ swc1 $f0, 0x10($v1) +/* B072F0 802408F0 44910000 */ mtc1 $s1, $f0 +/* B072F4 802408F4 00000000 */ nop +/* B072F8 802408F8 46800020 */ cvt.s.w $f0, $f0 +/* B072FC 802408FC E4600014 */ swc1 $f0, 0x14($v1) +/* B07300 80240900 44900000 */ mtc1 $s0, $f0 +/* B07304 80240904 00000000 */ nop +/* B07308 80240908 46800020 */ cvt.s.w $f0, $f0 +/* B0730C 8024090C E4600018 */ swc1 $f0, 0x18($v1) +/* B07310 80240910 8FBF001C */ lw $ra, 0x1c($sp) +/* B07314 80240914 8FB20018 */ lw $s2, 0x18($sp) +/* B07318 80240918 8FB10014 */ lw $s1, 0x14($sp) +/* B0731C 8024091C 8FB00010 */ lw $s0, 0x10($sp) +/* B07320 80240920 24020002 */ addiu $v0, $zero, 2 +/* B07324 80240924 03E00008 */ jr $ra +/* B07328 80240928 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_8024092C.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_8024092C.s new file mode 100644 index 0000000000..00ca1d0b17 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_8024092C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024092C +/* B0732C 8024092C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B07330 80240930 AFB10014 */ sw $s1, 0x14($sp) +/* B07334 80240934 0080882D */ daddu $s1, $a0, $zero +/* B07338 80240938 AFBF001C */ sw $ra, 0x1c($sp) +/* B0733C 8024093C AFB20018 */ sw $s2, 0x18($sp) +/* B07340 80240940 AFB00010 */ sw $s0, 0x10($sp) +/* B07344 80240944 8E30000C */ lw $s0, 0xc($s1) +/* B07348 80240948 8E050000 */ lw $a1, ($s0) +/* B0734C 8024094C 0C0B210B */ jal get_float_variable +/* B07350 80240950 26100004 */ addiu $s0, $s0, 4 +/* B07354 80240954 8E050000 */ lw $a1, ($s0) +/* B07358 80240958 26100004 */ addiu $s0, $s0, 4 +/* B0735C 8024095C 4600008D */ trunc.w.s $f2, $f0 +/* B07360 80240960 44121000 */ mfc1 $s2, $f2 +/* B07364 80240964 0C0B210B */ jal get_float_variable +/* B07368 80240968 0220202D */ daddu $a0, $s1, $zero +/* B0736C 8024096C 0220202D */ daddu $a0, $s1, $zero +/* B07370 80240970 8E050000 */ lw $a1, ($s0) +/* B07374 80240974 4600008D */ trunc.w.s $f2, $f0 +/* B07378 80240978 44111000 */ mfc1 $s1, $f2 +/* B0737C 8024097C 0C0B210B */ jal get_float_variable +/* B07380 80240980 00000000 */ nop +/* B07384 80240984 0000202D */ daddu $a0, $zero, $zero +/* B07388 80240988 3C05FD05 */ lui $a1, 0xfd05 +/* B0738C 8024098C 4600008D */ trunc.w.s $f2, $f0 +/* B07390 80240990 44101000 */ mfc1 $s0, $f2 +/* B07394 80240994 0C0B1EAF */ jal get_variable +/* B07398 80240998 34A50F8A */ ori $a1, $a1, 0xf8a +/* B0739C 8024099C 0040182D */ daddu $v1, $v0, $zero +/* B073A0 802409A0 44920000 */ mtc1 $s2, $f0 +/* B073A4 802409A4 00000000 */ nop +/* B073A8 802409A8 46800020 */ cvt.s.w $f0, $f0 +/* B073AC 802409AC E460001C */ swc1 $f0, 0x1c($v1) +/* B073B0 802409B0 44910000 */ mtc1 $s1, $f0 +/* B073B4 802409B4 00000000 */ nop +/* B073B8 802409B8 46800020 */ cvt.s.w $f0, $f0 +/* B073BC 802409BC E4600020 */ swc1 $f0, 0x20($v1) +/* B073C0 802409C0 44900000 */ mtc1 $s0, $f0 +/* B073C4 802409C4 00000000 */ nop +/* B073C8 802409C8 46800020 */ cvt.s.w $f0, $f0 +/* B073CC 802409CC E4600024 */ swc1 $f0, 0x24($v1) +/* B073D0 802409D0 8FBF001C */ lw $ra, 0x1c($sp) +/* B073D4 802409D4 8FB20018 */ lw $s2, 0x18($sp) +/* B073D8 802409D8 8FB10014 */ lw $s1, 0x14($sp) +/* B073DC 802409DC 8FB00010 */ lw $s0, 0x10($sp) +/* B073E0 802409E0 24020002 */ addiu $v0, $zero, 2 +/* B073E4 802409E4 03E00008 */ jr $ra +/* B073E8 802409E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_802409EC_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_802409EC_B06A00.s new file mode 100644 index 0000000000..43e3ee944e --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_802409EC_B06A00.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409EC_B073EC +/* B073EC 802409EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B073F0 802409F0 AFB10014 */ sw $s1, 0x14($sp) +/* B073F4 802409F4 0080882D */ daddu $s1, $a0, $zero +/* B073F8 802409F8 AFBF001C */ sw $ra, 0x1c($sp) +/* B073FC 802409FC AFB20018 */ sw $s2, 0x18($sp) +/* B07400 80240A00 AFB00010 */ sw $s0, 0x10($sp) +/* B07404 80240A04 8E30000C */ lw $s0, 0xc($s1) +/* B07408 80240A08 8E050000 */ lw $a1, ($s0) +/* B0740C 80240A0C 0C0B210B */ jal get_float_variable +/* B07410 80240A10 26100004 */ addiu $s0, $s0, 4 +/* B07414 80240A14 8E050000 */ lw $a1, ($s0) +/* B07418 80240A18 26100004 */ addiu $s0, $s0, 4 +/* B0741C 80240A1C 4600008D */ trunc.w.s $f2, $f0 +/* B07420 80240A20 44121000 */ mfc1 $s2, $f2 +/* B07424 80240A24 0C0B210B */ jal get_float_variable +/* B07428 80240A28 0220202D */ daddu $a0, $s1, $zero +/* B0742C 80240A2C 0220202D */ daddu $a0, $s1, $zero +/* B07430 80240A30 8E050000 */ lw $a1, ($s0) +/* B07434 80240A34 4600008D */ trunc.w.s $f2, $f0 +/* B07438 80240A38 44111000 */ mfc1 $s1, $f2 +/* B0743C 80240A3C 0C0B210B */ jal get_float_variable +/* B07440 80240A40 00000000 */ nop +/* B07444 80240A44 0000202D */ daddu $a0, $zero, $zero +/* B07448 80240A48 3C05FD05 */ lui $a1, 0xfd05 +/* B0744C 80240A4C 4600008D */ trunc.w.s $f2, $f0 +/* B07450 80240A50 44101000 */ mfc1 $s0, $f2 +/* B07454 80240A54 0C0B1EAF */ jal get_variable +/* B07458 80240A58 34A50F8A */ ori $a1, $a1, 0xf8a +/* B0745C 80240A5C 0040182D */ daddu $v1, $v0, $zero +/* B07460 80240A60 44920000 */ mtc1 $s2, $f0 +/* B07464 80240A64 00000000 */ nop +/* B07468 80240A68 46800020 */ cvt.s.w $f0, $f0 +/* B0746C 80240A6C E4600028 */ swc1 $f0, 0x28($v1) +/* B07470 80240A70 44910000 */ mtc1 $s1, $f0 +/* B07474 80240A74 00000000 */ nop +/* B07478 80240A78 46800020 */ cvt.s.w $f0, $f0 +/* B0747C 80240A7C E460002C */ swc1 $f0, 0x2c($v1) +/* B07480 80240A80 44900000 */ mtc1 $s0, $f0 +/* B07484 80240A84 00000000 */ nop +/* B07488 80240A88 46800020 */ cvt.s.w $f0, $f0 +/* B0748C 80240A8C E4600030 */ swc1 $f0, 0x30($v1) +/* B07490 80240A90 8FBF001C */ lw $ra, 0x1c($sp) +/* B07494 80240A94 8FB20018 */ lw $s2, 0x18($sp) +/* B07498 80240A98 8FB10014 */ lw $s1, 0x14($sp) +/* B0749C 80240A9C 8FB00010 */ lw $s0, 0x10($sp) +/* B074A0 80240AA0 24020002 */ addiu $v0, $zero, 2 +/* B074A4 80240AA4 03E00008 */ jr $ra +/* B074A8 80240AA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240AAC_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240AAC_B06A00.s new file mode 100644 index 0000000000..61b8fae3e1 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240AAC_B06A00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_B074AC +/* B074AC 80240AAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B074B0 80240AB0 AFB10014 */ sw $s1, 0x14($sp) +/* B074B4 80240AB4 0080882D */ daddu $s1, $a0, $zero +/* B074B8 80240AB8 AFBF0018 */ sw $ra, 0x18($sp) +/* B074BC 80240ABC AFB00010 */ sw $s0, 0x10($sp) +/* B074C0 80240AC0 8E30000C */ lw $s0, 0xc($s1) +/* B074C4 80240AC4 8E050000 */ lw $a1, ($s0) +/* B074C8 80240AC8 0C0B1EAF */ jal get_variable +/* B074CC 80240ACC 26100004 */ addiu $s0, $s0, 4 +/* B074D0 80240AD0 0220202D */ daddu $a0, $s1, $zero +/* B074D4 80240AD4 8E050000 */ lw $a1, ($s0) +/* B074D8 80240AD8 0C0B1EAF */ jal get_variable +/* B074DC 80240ADC 0040882D */ daddu $s1, $v0, $zero +/* B074E0 80240AE0 0000202D */ daddu $a0, $zero, $zero +/* B074E4 80240AE4 3C05FD05 */ lui $a1, 0xfd05 +/* B074E8 80240AE8 34A50F8A */ ori $a1, $a1, 0xf8a +/* B074EC 80240AEC 0C0B1EAF */ jal get_variable +/* B074F0 80240AF0 0040802D */ daddu $s0, $v0, $zero +/* B074F4 80240AF4 0040182D */ daddu $v1, $v0, $zero +/* B074F8 80240AF8 AC710008 */ sw $s1, 8($v1) +/* B074FC 80240AFC AC70000C */ sw $s0, 0xc($v1) +/* B07500 80240B00 8FBF0018 */ lw $ra, 0x18($sp) +/* B07504 80240B04 8FB10014 */ lw $s1, 0x14($sp) +/* B07508 80240B08 8FB00010 */ lw $s0, 0x10($sp) +/* B0750C 80240B0C 24020002 */ addiu $v0, $zero, 2 +/* B07510 80240B10 03E00008 */ jr $ra +/* B07514 80240B14 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B18.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B18.s new file mode 100644 index 0000000000..fd4e86a9f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B18.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B18 +/* B07518 80240B18 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B0751C 80240B1C AFB00028 */ sw $s0, 0x28($sp) +/* B07520 80240B20 0080802D */ daddu $s0, $a0, $zero +/* B07524 80240B24 AFBF002C */ sw $ra, 0x2c($sp) +/* B07528 80240B28 C6020084 */ lwc1 $f2, 0x84($s0) +/* B0752C 80240B2C 468010A0 */ cvt.s.w $f2, $f2 +/* B07530 80240B30 C6040088 */ lwc1 $f4, 0x88($s0) +/* B07534 80240B34 46802120 */ cvt.s.w $f4, $f4 +/* B07538 80240B38 C606008C */ lwc1 $f6, 0x8c($s0) +/* B0753C 80240B3C 468031A0 */ cvt.s.w $f6, $f6 +/* B07540 80240B40 C6000090 */ lwc1 $f0, 0x90($s0) +/* B07544 80240B44 46800020 */ cvt.s.w $f0, $f0 +/* B07548 80240B48 27A20020 */ addiu $v0, $sp, 0x20 +/* B0754C 80240B4C E7A00010 */ swc1 $f0, 0x10($sp) +/* B07550 80240B50 8E030094 */ lw $v1, 0x94($s0) +/* B07554 80240B54 44051000 */ mfc1 $a1, $f2 +/* B07558 80240B58 44062000 */ mfc1 $a2, $f4 +/* B0755C 80240B5C 44073000 */ mfc1 $a3, $f6 +/* B07560 80240B60 0000202D */ daddu $a0, $zero, $zero +/* B07564 80240B64 AFA20018 */ sw $v0, 0x18($sp) +/* B07568 80240B68 0C01C28C */ jal func_80070A30 +/* B0756C 80240B6C AFA30014 */ sw $v1, 0x14($sp) +/* B07570 80240B70 8FA20020 */ lw $v0, 0x20($sp) +/* B07574 80240B74 AE020084 */ sw $v0, 0x84($s0) +/* B07578 80240B78 8FBF002C */ lw $ra, 0x2c($sp) +/* B0757C 80240B7C 8FB00028 */ lw $s0, 0x28($sp) +/* B07580 80240B80 24020002 */ addiu $v0, $zero, 2 +/* B07584 80240B84 03E00008 */ jr $ra +/* B07588 80240B88 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B8C_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B8C_B06A00.s new file mode 100644 index 0000000000..bffca0aa52 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240B8C_B06A00.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B8C_B0758C +/* B0758C 80240B8C 8C820084 */ lw $v0, 0x84($a0) +/* B07590 80240B90 8C42000C */ lw $v0, 0xc($v0) +/* B07594 80240B94 AC400028 */ sw $zero, 0x28($v0) +/* B07598 80240B98 03E00008 */ jr $ra +/* B0759C 80240B9C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240BA0.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240BA0.s new file mode 100644 index 0000000000..c09d6ebc64 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240BA0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA0 +/* B075A0 80240BA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B075A4 80240BA4 AFB10014 */ sw $s1, 0x14($sp) +/* B075A8 80240BA8 0080882D */ daddu $s1, $a0, $zero +/* B075AC 80240BAC AFBF0020 */ sw $ra, 0x20($sp) +/* B075B0 80240BB0 AFB3001C */ sw $s3, 0x1c($sp) +/* B075B4 80240BB4 AFB20018 */ sw $s2, 0x18($sp) +/* B075B8 80240BB8 AFB00010 */ sw $s0, 0x10($sp) +/* B075BC 80240BBC 8E30000C */ lw $s0, 0xc($s1) +/* B075C0 80240BC0 8E050000 */ lw $a1, ($s0) +/* B075C4 80240BC4 0C0B1EAF */ jal get_variable +/* B075C8 80240BC8 26100004 */ addiu $s0, $s0, 4 +/* B075CC 80240BCC 8E050000 */ lw $a1, ($s0) +/* B075D0 80240BD0 26100004 */ addiu $s0, $s0, 4 +/* B075D4 80240BD4 0220202D */ daddu $a0, $s1, $zero +/* B075D8 80240BD8 0C0B1EAF */ jal get_variable +/* B075DC 80240BDC 0040902D */ daddu $s2, $v0, $zero +/* B075E0 80240BE0 8E050000 */ lw $a1, ($s0) +/* B075E4 80240BE4 26100004 */ addiu $s0, $s0, 4 +/* B075E8 80240BE8 0220202D */ daddu $a0, $s1, $zero +/* B075EC 80240BEC 0C0B1EAF */ jal get_variable +/* B075F0 80240BF0 0040982D */ daddu $s3, $v0, $zero +/* B075F4 80240BF4 0220202D */ daddu $a0, $s1, $zero +/* B075F8 80240BF8 8E050000 */ lw $a1, ($s0) +/* B075FC 80240BFC 0C0B1EAF */ jal get_variable +/* B07600 80240C00 0040802D */ daddu $s0, $v0, $zero +/* B07604 80240C04 8E43000C */ lw $v1, 0xc($s2) +/* B07608 80240C08 44930000 */ mtc1 $s3, $f0 +/* B0760C 80240C0C 00000000 */ nop +/* B07610 80240C10 46800020 */ cvt.s.w $f0, $f0 +/* B07614 80240C14 E4600004 */ swc1 $f0, 4($v1) +/* B07618 80240C18 8E43000C */ lw $v1, 0xc($s2) +/* B0761C 80240C1C 44900000 */ mtc1 $s0, $f0 +/* B07620 80240C20 00000000 */ nop +/* B07624 80240C24 46800020 */ cvt.s.w $f0, $f0 +/* B07628 80240C28 E4600008 */ swc1 $f0, 8($v1) +/* B0762C 80240C2C 8E43000C */ lw $v1, 0xc($s2) +/* B07630 80240C30 44820000 */ mtc1 $v0, $f0 +/* B07634 80240C34 00000000 */ nop +/* B07638 80240C38 46800020 */ cvt.s.w $f0, $f0 +/* B0763C 80240C3C E460000C */ swc1 $f0, 0xc($v1) +/* B07640 80240C40 8FBF0020 */ lw $ra, 0x20($sp) +/* B07644 80240C44 8FB3001C */ lw $s3, 0x1c($sp) +/* B07648 80240C48 8FB20018 */ lw $s2, 0x18($sp) +/* B0764C 80240C4C 8FB10014 */ lw $s1, 0x14($sp) +/* B07650 80240C50 8FB00010 */ lw $s0, 0x10($sp) +/* B07654 80240C54 24020002 */ addiu $v0, $zero, 2 +/* B07658 80240C58 03E00008 */ jr $ra +/* B0765C 80240C5C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240C60.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240C60.s new file mode 100644 index 0000000000..66dfdf3e83 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240C60.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C60 +/* B07660 80240C60 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B07664 80240C64 AFB00028 */ sw $s0, 0x28($sp) +/* B07668 80240C68 0080802D */ daddu $s0, $a0, $zero +/* B0766C 80240C6C AFBF002C */ sw $ra, 0x2c($sp) +/* B07670 80240C70 C6020084 */ lwc1 $f2, 0x84($s0) +/* B07674 80240C74 468010A0 */ cvt.s.w $f2, $f2 +/* B07678 80240C78 C6040088 */ lwc1 $f4, 0x88($s0) +/* B0767C 80240C7C 46802120 */ cvt.s.w $f4, $f4 +/* B07680 80240C80 C606008C */ lwc1 $f6, 0x8c($s0) +/* B07684 80240C84 468031A0 */ cvt.s.w $f6, $f6 +/* B07688 80240C88 C6000090 */ lwc1 $f0, 0x90($s0) +/* B0768C 80240C8C 46800020 */ cvt.s.w $f0, $f0 +/* B07690 80240C90 27A20020 */ addiu $v0, $sp, 0x20 +/* B07694 80240C94 E7A00010 */ swc1 $f0, 0x10($sp) +/* B07698 80240C98 8E030094 */ lw $v1, 0x94($s0) +/* B0769C 80240C9C 44051000 */ mfc1 $a1, $f2 +/* B076A0 80240CA0 44062000 */ mfc1 $a2, $f4 +/* B076A4 80240CA4 44073000 */ mfc1 $a3, $f6 +/* B076A8 80240CA8 0000202D */ daddu $a0, $zero, $zero +/* B076AC 80240CAC AFA20018 */ sw $v0, 0x18($sp) +/* B076B0 80240CB0 0C01C28C */ jal func_80070A30 +/* B076B4 80240CB4 AFA30014 */ sw $v1, 0x14($sp) +/* B076B8 80240CB8 8FA20020 */ lw $v0, 0x20($sp) +/* B076BC 80240CBC AE020084 */ sw $v0, 0x84($s0) +/* B076C0 80240CC0 8FBF002C */ lw $ra, 0x2c($sp) +/* B076C4 80240CC4 8FB00028 */ lw $s0, 0x28($sp) +/* B076C8 80240CC8 24020002 */ addiu $v0, $zero, 2 +/* B076CC 80240CCC 03E00008 */ jr $ra +/* B076D0 80240CD0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CD4.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CD4.s new file mode 100644 index 0000000000..97545c49c7 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CD4.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD4 +/* B076D4 80240CD4 8C820084 */ lw $v0, 0x84($a0) +/* B076D8 80240CD8 8C42000C */ lw $v0, 0xc($v0) +/* B076DC 80240CDC AC400028 */ sw $zero, 0x28($v0) +/* B076E0 80240CE0 03E00008 */ jr $ra +/* B076E4 80240CE4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CE8.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CE8.s new file mode 100644 index 0000000000..92e7c81c92 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240CE8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CE8 +/* B076E8 80240CE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B076EC 80240CEC 3C028011 */ lui $v0, %hi(gPlayerData) +/* B076F0 80240CF0 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* B076F4 80240CF4 AFBF0010 */ sw $ra, 0x10($sp) +/* B076F8 80240CF8 90450003 */ lbu $a1, 3($v0) +/* B076FC 80240CFC 90460006 */ lbu $a2, 6($v0) +/* B07700 80240D00 8044028E */ lb $a0, 0x28e($v0) +/* B07704 80240D04 24030002 */ addiu $v1, $zero, 2 +/* B07708 80240D08 A0430292 */ sb $v1, 0x292($v0) +/* B0770C 80240D0C 00042200 */ sll $a0, $a0, 8 +/* B07710 80240D10 A0450002 */ sb $a1, 2($v0) +/* B07714 80240D14 A0460005 */ sb $a2, 5($v0) +/* B07718 80240D18 0C03A6DB */ jal sync_status_menu +/* B0771C 80240D1C A4440290 */ sh $a0, 0x290($v0) +/* B07720 80240D20 8FBF0010 */ lw $ra, 0x10($sp) +/* B07724 80240D24 24020002 */ addiu $v0, $zero, 2 +/* B07728 80240D28 03E00008 */ jr $ra +/* B0772C 80240D2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240D30_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240D30_B06A00.s new file mode 100644 index 0000000000..8f53310d40 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240D30_B06A00.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30_B07730 +/* B07730 80240D30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B07734 80240D34 AFB00010 */ sw $s0, 0x10($sp) +/* B07738 80240D38 0080802D */ daddu $s0, $a0, $zero +/* B0773C 80240D3C 10A00003 */ beqz $a1, .L80240D4C +/* B07740 80240D40 AFBF0014 */ sw $ra, 0x14($sp) +/* B07744 80240D44 AE000074 */ sw $zero, 0x74($s0) +/* B07748 80240D48 AE000078 */ sw $zero, 0x78($s0) +.L80240D4C: +/* B0774C 80240D4C 8E030078 */ lw $v1, 0x78($s0) +/* B07750 80240D50 10600005 */ beqz $v1, .L80240D68 +/* B07754 80240D54 24020001 */ addiu $v0, $zero, 1 +/* B07758 80240D58 10620015 */ beq $v1, $v0, .L80240DB0 +/* B0775C 80240D5C 3C048080 */ lui $a0, 0x8080 +/* B07760 80240D60 0809038D */ j .L80240E34 +/* B07764 80240D64 00000000 */ nop +.L80240D68: +/* B07768 80240D68 0000202D */ daddu $a0, $zero, $zero +/* B0776C 80240D6C 240500D0 */ addiu $a1, $zero, 0xd0 +/* B07770 80240D70 0080302D */ daddu $a2, $a0, $zero +/* B07774 80240D74 0C04DF84 */ jal func_80137E10 +/* B07778 80240D78 0080382D */ daddu $a3, $a0, $zero +/* B0777C 80240D7C C6000074 */ lwc1 $f0, 0x74($s0) +/* B07780 80240D80 46800020 */ cvt.s.w $f0, $f0 +/* B07784 80240D84 44050000 */ mfc1 $a1, $f0 +/* B07788 80240D88 0C04DF62 */ jal func_80137D88 +/* B0778C 80240D8C 24040001 */ addiu $a0, $zero, 1 +/* B07790 80240D90 8E020074 */ lw $v0, 0x74($s0) +/* B07794 80240D94 240300FF */ addiu $v1, $zero, 0xff +/* B07798 80240D98 14430022 */ bne $v0, $v1, .L80240E24 +/* B0779C 80240D9C 24420007 */ addiu $v0, $v0, 7 +/* B077A0 80240DA0 24020001 */ addiu $v0, $zero, 1 +/* B077A4 80240DA4 AE000074 */ sw $zero, 0x74($s0) +/* B077A8 80240DA8 0809038D */ j .L80240E34 +/* B077AC 80240DAC AE020078 */ sw $v0, 0x78($s0) +.L80240DB0: +/* B077B0 80240DB0 8E030074 */ lw $v1, 0x74($s0) +/* B077B4 80240DB4 34848081 */ ori $a0, $a0, 0x8081 +/* B077B8 80240DB8 00031040 */ sll $v0, $v1, 1 +/* B077BC 80240DBC 00431021 */ addu $v0, $v0, $v1 +/* B077C0 80240DC0 00021080 */ sll $v0, $v0, 2 +/* B077C4 80240DC4 00431021 */ addu $v0, $v0, $v1 +/* B077C8 80240DC8 00021100 */ sll $v0, $v0, 4 +/* B077CC 80240DCC 00440018 */ mult $v0, $a0 +/* B077D0 80240DD0 240500D0 */ addiu $a1, $zero, 0xd0 +/* B077D4 80240DD4 0000202D */ daddu $a0, $zero, $zero +/* B077D8 80240DD8 00004010 */ mfhi $t0 +/* B077DC 80240DDC 01023021 */ addu $a2, $t0, $v0 +/* B077E0 80240DE0 000631C3 */ sra $a2, $a2, 7 +/* B077E4 80240DE4 000217C3 */ sra $v0, $v0, 0x1f +/* B077E8 80240DE8 00C23023 */ subu $a2, $a2, $v0 +/* B077EC 80240DEC 30C600FF */ andi $a2, $a2, 0xff +/* B077F0 80240DF0 0C04DF84 */ jal func_80137E10 +/* B077F4 80240DF4 00C0382D */ daddu $a3, $a2, $zero +/* B077F8 80240DF8 3C05437F */ lui $a1, 0x437f +/* B077FC 80240DFC 0C04DF62 */ jal func_80137D88 +/* B07800 80240E00 24040001 */ addiu $a0, $zero, 1 +/* B07804 80240E04 8E020074 */ lw $v0, 0x74($s0) +/* B07808 80240E08 240300FF */ addiu $v1, $zero, 0xff +/* B0780C 80240E0C 14430005 */ bne $v0, $v1, .L80240E24 +/* B07810 80240E10 2442000E */ addiu $v0, $v0, 0xe +/* B07814 80240E14 24020002 */ addiu $v0, $zero, 2 +/* B07818 80240E18 AE020078 */ sw $v0, 0x78($s0) +/* B0781C 80240E1C 8E020074 */ lw $v0, 0x74($s0) +/* B07820 80240E20 2442000E */ addiu $v0, $v0, 0xe +.L80240E24: +/* B07824 80240E24 AE020074 */ sw $v0, 0x74($s0) +/* B07828 80240E28 28420100 */ slti $v0, $v0, 0x100 +/* B0782C 80240E2C 50400001 */ beql $v0, $zero, .L80240E34 +/* B07830 80240E30 AE030074 */ sw $v1, 0x74($s0) +.L80240E34: +/* B07834 80240E34 8E020078 */ lw $v0, 0x78($s0) +/* B07838 80240E38 8FBF0014 */ lw $ra, 0x14($sp) +/* B0783C 80240E3C 8FB00010 */ lw $s0, 0x10($sp) +/* B07840 80240E40 38420002 */ xori $v0, $v0, 2 +/* B07844 80240E44 2C420001 */ sltiu $v0, $v0, 1 +/* B07848 80240E48 00021040 */ sll $v0, $v0, 1 +/* B0784C 80240E4C 03E00008 */ jr $ra +/* B07850 80240E50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240E54.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240E54.s new file mode 100644 index 0000000000..e06876156c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240E54.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E54 +/* B07854 80240E54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B07858 80240E58 AFB00010 */ sw $s0, 0x10($sp) +/* B0785C 80240E5C 0080802D */ daddu $s0, $a0, $zero +/* B07860 80240E60 10A00003 */ beqz $a1, .L80240E70 +/* B07864 80240E64 AFBF0014 */ sw $ra, 0x14($sp) +/* B07868 80240E68 240200FF */ addiu $v0, $zero, 0xff +/* B0786C 80240E6C AE020074 */ sw $v0, 0x74($s0) +.L80240E70: +/* B07870 80240E70 C6000074 */ lwc1 $f0, 0x74($s0) +/* B07874 80240E74 46800020 */ cvt.s.w $f0, $f0 +/* B07878 80240E78 44050000 */ mfc1 $a1, $f0 +/* B0787C 80240E7C 0C04DF62 */ jal func_80137D88 +/* B07880 80240E80 24040001 */ addiu $a0, $zero, 1 +/* B07884 80240E84 8E020074 */ lw $v0, 0x74($s0) +/* B07888 80240E88 14400003 */ bnez $v0, .L80240E98 +/* B0788C 80240E8C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* B07890 80240E90 080903AA */ j .L80240EA8 +/* B07894 80240E94 24020002 */ addiu $v0, $zero, 2 +.L80240E98: +/* B07898 80240E98 1C400002 */ bgtz $v0, .L80240EA4 +/* B0789C 80240E9C AE020074 */ sw $v0, 0x74($s0) +/* B078A0 80240EA0 AE000074 */ sw $zero, 0x74($s0) +.L80240EA4: +/* B078A4 80240EA4 0000102D */ daddu $v0, $zero, $zero +.L80240EA8: +/* B078A8 80240EA8 8FBF0014 */ lw $ra, 0x14($sp) +/* B078AC 80240EAC 8FB00010 */ lw $s0, 0x10($sp) +/* B078B0 80240EB0 03E00008 */ jr $ra +/* B078B4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240EB8.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240EB8.s new file mode 100644 index 0000000000..2a007e1f52 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240EB8.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8 +/* B078B8 80240EB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B078BC 80240EBC AFB00028 */ sw $s0, 0x28($sp) +/* B078C0 80240EC0 0080802D */ daddu $s0, $a0, $zero +/* B078C4 80240EC4 AFBF002C */ sw $ra, 0x2c($sp) +/* B078C8 80240EC8 C6020084 */ lwc1 $f2, 0x84($s0) +/* B078CC 80240ECC 468010A0 */ cvt.s.w $f2, $f2 +/* B078D0 80240ED0 C6040088 */ lwc1 $f4, 0x88($s0) +/* B078D4 80240ED4 46802120 */ cvt.s.w $f4, $f4 +/* B078D8 80240ED8 C606008C */ lwc1 $f6, 0x8c($s0) +/* B078DC 80240EDC 468031A0 */ cvt.s.w $f6, $f6 +/* B078E0 80240EE0 C6000090 */ lwc1 $f0, 0x90($s0) +/* B078E4 80240EE4 46800020 */ cvt.s.w $f0, $f0 +/* B078E8 80240EE8 27A20020 */ addiu $v0, $sp, 0x20 +/* B078EC 80240EEC E7A00010 */ swc1 $f0, 0x10($sp) +/* B078F0 80240EF0 8E030094 */ lw $v1, 0x94($s0) +/* B078F4 80240EF4 44051000 */ mfc1 $a1, $f2 +/* B078F8 80240EF8 44062000 */ mfc1 $a2, $f4 +/* B078FC 80240EFC 44073000 */ mfc1 $a3, $f6 +/* B07900 80240F00 0000202D */ daddu $a0, $zero, $zero +/* B07904 80240F04 AFA20018 */ sw $v0, 0x18($sp) +/* B07908 80240F08 0C01C28C */ jal func_80070A30 +/* B0790C 80240F0C AFA30014 */ sw $v1, 0x14($sp) +/* B07910 80240F10 8FA20020 */ lw $v0, 0x20($sp) +/* B07914 80240F14 AE020084 */ sw $v0, 0x84($s0) +/* B07918 80240F18 8FBF002C */ lw $ra, 0x2c($sp) +/* B0791C 80240F1C 8FB00028 */ lw $s0, 0x28($sp) +/* B07920 80240F20 24020002 */ addiu $v0, $zero, 2 +/* B07924 80240F24 03E00008 */ jr $ra +/* B07928 80240F28 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kkj/kkj_25/func_80240F2C_B06A00.s b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240F2C_B06A00.s new file mode 100644 index 0000000000..0f3843d3b3 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_25/func_80240F2C_B06A00.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F2C_B0792C +/* B0792C 80240F2C 8C820084 */ lw $v0, 0x84($a0) +/* B07930 80240F30 8C42000C */ lw $v0, 0xc($v0) +/* B07934 80240F34 AC400028 */ sw $zero, 0x28($v0) +/* B07938 80240F38 03E00008 */ jr $ra +/* B0793C 80240F3C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kkj/kkj_26/func_80240000_B13120.s b/asm/nonmatchings/world/area_kkj/kkj_26/func_80240000_B13120.s new file mode 100644 index 0000000000..8245428187 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_26/func_80240000_B13120.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B13120 +/* B13120 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B13124 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B13128 80240008 9043007E */ lbu $v1, 0x7e($v0) +/* B1312C 8024000C 306300FE */ andi $v1, $v1, 0xfe +/* B13130 80240010 A043007E */ sb $v1, 0x7e($v0) +/* B13134 80240014 90820087 */ lbu $v0, 0x87($a0) +/* B13138 80240018 3C018011 */ lui $at, 0x8011 +/* B1313C 8024001C A022F2A2 */ sb $v0, -0xd5e($at) +/* B13140 80240020 03E00008 */ jr $ra +/* B13144 80240024 24020002 */ addiu $v0, $zero, 2 +/* B13148 80240028 00000000 */ nop +/* B1314C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_27/func_80240000_B13D70.s b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240000_B13D70.s new file mode 100644 index 0000000000..55d2164be9 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240000_B13D70.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B13D70 +/* B13D70 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B13D74 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B13D78 80240008 0080802D */ daddu $s0, $a0, $zero +/* B13D7C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* B13D80 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* B13D84 80240014 8E020088 */ lw $v0, 0x88($s0) +/* B13D88 80240018 00621821 */ addu $v1, $v1, $v0 +/* B13D8C 8024001C 04610004 */ bgez $v1, .L80240030 +/* B13D90 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* B13D94 80240024 3C020002 */ lui $v0, 2 +/* B13D98 80240028 08090010 */ j .L80240040 +/* B13D9C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* B13DA0 80240030 3C040002 */ lui $a0, 2 +/* B13DA4 80240034 0083102A */ slt $v0, $a0, $v1 +/* B13DA8 80240038 10400002 */ beqz $v0, .L80240044 +/* B13DAC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* B13DB0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* B13DB4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* B13DB8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* B13DBC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* B13DC0 80240050 04610004 */ bgez $v1, .L80240064 +/* B13DC4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* B13DC8 80240058 3C020002 */ lui $v0, 2 +/* B13DCC 8024005C 0809001D */ j .L80240074 +/* B13DD0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* B13DD4 80240064 3C040002 */ lui $a0, 2 +/* B13DD8 80240068 0083102A */ slt $v0, $a0, $v1 +/* B13DDC 8024006C 10400002 */ beqz $v0, .L80240078 +/* B13DE0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* B13DE4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* B13DE8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* B13DEC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* B13DF0 80240080 00621821 */ addu $v1, $v1, $v0 +/* B13DF4 80240084 04610004 */ bgez $v1, .L80240098 +/* B13DF8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* B13DFC 8024008C 3C020002 */ lui $v0, 2 +/* B13E00 80240090 0809002A */ j .L802400A8 +/* B13E04 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* B13E08 80240098 3C040002 */ lui $a0, 2 +/* B13E0C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* B13E10 802400A0 10400002 */ beqz $v0, .L802400AC +/* B13E14 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* B13E18 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* B13E1C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* B13E20 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* B13E24 802400B4 00621821 */ addu $v1, $v1, $v0 +/* B13E28 802400B8 04610004 */ bgez $v1, .L802400CC +/* B13E2C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* B13E30 802400C0 3C020002 */ lui $v0, 2 +/* B13E34 802400C4 08090037 */ j .L802400DC +/* B13E38 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* B13E3C 802400CC 3C040002 */ lui $a0, 2 +/* B13E40 802400D0 0083102A */ slt $v0, $a0, $v1 +/* B13E44 802400D4 10400002 */ beqz $v0, .L802400E0 +/* B13E48 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* B13E4C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* B13E50 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* B13E54 802400E4 0C046F07 */ jal set_main_pan_u +/* B13E58 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* B13E5C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* B13E60 802400F0 0C046F0D */ jal set_main_pan_v +/* B13E64 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* B13E68 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* B13E6C 802400FC 0C046F13 */ jal set_aux_pan_u +/* B13E70 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* B13E74 80240104 8E040084 */ lw $a0, 0x84($s0) +/* B13E78 80240108 0C046F19 */ jal set_aux_pan_v +/* B13E7C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* B13E80 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* B13E84 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* B13E88 80240118 0000102D */ daddu $v0, $zero, $zero +/* B13E8C 8024011C 03E00008 */ jr $ra +/* B13E90 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_27/func_80240124_B13D70.s b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240124_B13D70.s new file mode 100644 index 0000000000..783017a61c --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240124_B13D70.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_B13E94 +/* B13E94 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B13E98 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* B13E9C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* B13EA0 80240130 10A00005 */ beqz $a1, .L80240148 +/* B13EA4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* B13EA8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* B13EAC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* B13EB0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* B13EB4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* B13EB8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* B13EBC 8024014C 1440000E */ bnez $v0, .L80240188 +/* B13EC0 80240150 00000000 */ nop +/* B13EC4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* B13EC8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* B13ECC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* B13ED0 80240160 04610004 */ bgez $v1, .L80240174 +/* B13ED4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* B13ED8 80240168 3C020002 */ lui $v0, 2 +/* B13EDC 8024016C 08090061 */ j .L80240184 +/* B13EE0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* B13EE4 80240174 3C040002 */ lui $a0, 2 +/* B13EE8 80240178 0083102A */ slt $v0, $a0, $v1 +/* B13EEC 8024017C 10400002 */ beqz $v0, .L80240188 +/* B13EF0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* B13EF4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* B13EF8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* B13EFC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* B13F00 80240190 00000000 */ nop +/* B13F04 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* B13F08 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* B13F0C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* B13F10 802401A0 04610004 */ bgez $v1, .L802401B4 +/* B13F14 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* B13F18 802401A8 3C020002 */ lui $v0, 2 +/* B13F1C 802401AC 08090071 */ j .L802401C4 +/* B13F20 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* B13F24 802401B4 3C040002 */ lui $a0, 2 +/* B13F28 802401B8 0083102A */ slt $v0, $a0, $v1 +/* B13F2C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* B13F30 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* B13F34 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* B13F38 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* B13F3C 802401CC 1440000E */ bnez $v0, .L80240208 +/* B13F40 802401D0 00000000 */ nop +/* B13F44 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* B13F48 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* B13F4C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* B13F50 802401E0 04610004 */ bgez $v1, .L802401F4 +/* B13F54 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* B13F58 802401E8 3C020002 */ lui $v0, 2 +/* B13F5C 802401EC 08090081 */ j .L80240204 +/* B13F60 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* B13F64 802401F4 3C040002 */ lui $a0, 2 +/* B13F68 802401F8 0083102A */ slt $v0, $a0, $v1 +/* B13F6C 802401FC 10400002 */ beqz $v0, .L80240208 +/* B13F70 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* B13F74 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* B13F78 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* B13F7C 8024020C 1440000E */ bnez $v0, .L80240248 +/* B13F80 80240210 00000000 */ nop +/* B13F84 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* B13F88 80240218 8E020094 */ lw $v0, 0x94($s0) +/* B13F8C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* B13F90 80240220 04610004 */ bgez $v1, .L80240234 +/* B13F94 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* B13F98 80240228 3C020002 */ lui $v0, 2 +/* B13F9C 8024022C 08090091 */ j .L80240244 +/* B13FA0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* B13FA4 80240234 3C040002 */ lui $a0, 2 +/* B13FA8 80240238 0083102A */ slt $v0, $a0, $v1 +/* B13FAC 8024023C 10400002 */ beqz $v0, .L80240248 +/* B13FB0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* B13FB4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* B13FB8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* B13FBC 8024024C 0C046F07 */ jal set_main_pan_u +/* B13FC0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* B13FC4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* B13FC8 80240258 0C046F0D */ jal set_main_pan_v +/* B13FCC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* B13FD0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* B13FD4 80240264 0C046F13 */ jal set_aux_pan_u +/* B13FD8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* B13FDC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* B13FE0 80240270 0C046F19 */ jal set_aux_pan_v +/* B13FE4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* B13FE8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* B13FEC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* B13FF0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* B13FF4 80240284 24420001 */ addiu $v0, $v0, 1 +/* B13FF8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* B13FFC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* B14000 80240290 24630001 */ addiu $v1, $v1, 1 +/* B14004 80240294 AE030078 */ sw $v1, 0x78($s0) +/* B14008 80240298 8E030070 */ lw $v1, 0x70($s0) +/* B1400C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* B14010 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* B14014 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* B14018 802402A8 0064182A */ slt $v1, $v1, $a0 +/* B1401C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* B14020 802402B0 14600002 */ bnez $v1, .L802402BC +/* B14024 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* B14028 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* B1402C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* B14030 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* B14034 802402C4 0043102A */ slt $v0, $v0, $v1 +/* B14038 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* B1403C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* B14040 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* B14044 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* B14048 802402D8 0043102A */ slt $v0, $v0, $v1 +/* B1404C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* B14050 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* B14054 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* B14058 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* B1405C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* B14060 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* B14064 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* B14068 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B1406C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* B14070 80240300 0000102D */ daddu $v0, $zero, $zero +/* B14074 80240304 03E00008 */ jr $ra +/* B14078 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* B1407C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_27/func_80240310_B13D70.s b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240310_B13D70.s new file mode 100644 index 0000000000..6f15b0b3fa --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240310_B13D70.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_B14080 +/* B14080 80240310 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* B14084 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* B14088 80240318 0080802D */ daddu $s0, $a0, $zero +/* B1408C 8024031C 3C030DB5 */ lui $v1, 0xdb5 +/* B14090 80240320 34638580 */ ori $v1, $v1, 0x8580 +/* B14094 80240324 AFBF0014 */ sw $ra, 0x14($sp) +/* B14098 80240328 F7BA0030 */ sdc1 $f26, 0x30($sp) +/* B1409C 8024032C F7B80028 */ sdc1 $f24, 0x28($sp) +/* B140A0 80240330 F7B60020 */ sdc1 $f22, 0x20($sp) +/* B140A4 80240334 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B140A8 80240338 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* B140AC 8024033C 468010A0 */ cvt.s.w $f2, $f2 +/* B140B0 80240340 44061000 */ mfc1 $a2, $f2 +/* B140B4 80240344 C60200AC */ lwc1 $f2, 0xac($s0) +/* B140B8 80240348 468010A0 */ cvt.s.w $f2, $f2 +/* B140BC 8024034C 8E02008C */ lw $v0, 0x8c($s0) +/* B140C0 80240350 44071000 */ mfc1 $a3, $f2 +/* B140C4 80240354 3C01C37A */ lui $at, 0xc37a +/* B140C8 80240358 4481D000 */ mtc1 $at, $f26 +/* B140CC 8024035C 4480C000 */ mtc1 $zero, $f24 +/* B140D0 80240360 3C013A80 */ lui $at, 0x3a80 +/* B140D4 80240364 44810000 */ mtc1 $at, $f0 +/* B140D8 80240368 00431021 */ addu $v0, $v0, $v1 +/* B140DC 8024036C 4482A000 */ mtc1 $v0, $f20 +/* B140E0 80240370 00000000 */ nop +/* B140E4 80240374 4680A520 */ cvt.s.w $f20, $f20 +/* B140E8 80240378 4600D306 */ mov.s $f12, $f26 +/* B140EC 8024037C 4600A502 */ mul.s $f20, $f20, $f0 +/* B140F0 80240380 00000000 */ nop +/* B140F4 80240384 0C00A7B5 */ jal dist2D +/* B140F8 80240388 4600C386 */ mov.s $f14, $f24 +/* B140FC 8024038C 4600D306 */ mov.s $f12, $f26 +/* B14100 80240390 4600C386 */ mov.s $f14, $f24 +/* B14104 80240394 C60200A8 */ lwc1 $f2, 0xa8($s0) +/* B14108 80240398 468010A0 */ cvt.s.w $f2, $f2 +/* B1410C 8024039C 44061000 */ mfc1 $a2, $f2 +/* B14110 802403A0 C60200AC */ lwc1 $f2, 0xac($s0) +/* B14114 802403A4 468010A0 */ cvt.s.w $f2, $f2 +/* B14118 802403A8 44071000 */ mfc1 $a3, $f2 +/* B1411C 802403AC 0C00A720 */ jal atan2 +/* B14120 802403B0 46000586 */ mov.s $f22, $f0 +/* B14124 802403B4 0C00A6C9 */ jal clamp_angle +/* B14128 802403B8 46140301 */ sub.s $f12, $f0, $f20 +/* B1412C 802403BC 46000506 */ mov.s $f20, $f0 +/* B14130 802403C0 0C00A8BB */ jal sin_deg +/* B14134 802403C4 4600A306 */ mov.s $f12, $f20 +/* B14138 802403C8 4600B002 */ mul.s $f0, $f22, $f0 +/* B1413C 802403CC 00000000 */ nop +/* B14140 802403D0 461A0000 */ add.s $f0, $f0, $f26 +/* B14144 802403D4 4600A306 */ mov.s $f12, $f20 +/* B14148 802403D8 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B1414C 802403DC 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B14150 802403E0 0C00A8D4 */ jal cos_deg +/* B14154 802403E4 E6000028 */ swc1 $f0, 0x28($s0) +/* B14158 802403E8 4600B582 */ mul.s $f22, $f22, $f0 +/* B1415C 802403EC 00000000 */ nop +/* B14160 802403F0 4616C601 */ sub.s $f24, $f24, $f22 +/* B14164 802403F4 E6180030 */ swc1 $f24, 0x30($s0) +/* B14168 802403F8 8FBF0014 */ lw $ra, 0x14($sp) +/* B1416C 802403FC 8FB00010 */ lw $s0, 0x10($sp) +/* B14170 80240400 D7BA0030 */ ldc1 $f26, 0x30($sp) +/* B14174 80240404 D7B80028 */ ldc1 $f24, 0x28($sp) +/* B14178 80240408 D7B60020 */ ldc1 $f22, 0x20($sp) +/* B1417C 8024040C D7B40018 */ ldc1 $f20, 0x18($sp) +/* B14180 80240410 24020002 */ addiu $v0, $zero, 2 +/* B14184 80240414 03E00008 */ jr $ra +/* B14188 80240418 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kkj/kkj_27/func_8024041C_B13D70.s b/asm/nonmatchings/world/area_kkj/kkj_27/func_8024041C_B13D70.s new file mode 100644 index 0000000000..abfd527898 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_27/func_8024041C_B13D70.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_B1418C +/* B1418C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B14190 80240420 AFBF0010 */ sw $ra, 0x10($sp) +/* B14194 80240424 8C82000C */ lw $v0, 0xc($a0) +/* B14198 80240428 0C0B1EAF */ jal get_variable +/* B1419C 8024042C 8C450000 */ lw $a1, ($v0) +/* B141A0 80240430 8FBF0010 */ lw $ra, 0x10($sp) +/* B141A4 80240434 3C018024 */ lui $at, 0x8024 +/* B141A8 80240438 AC220B00 */ sw $v0, 0xb00($at) +/* B141AC 8024043C 24020002 */ addiu $v0, $zero, 2 +/* B141B0 80240440 03E00008 */ jr $ra +/* B141B4 80240444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kkj/kkj_27/func_80240448_B13D70.s b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240448_B13D70.s new file mode 100644 index 0000000000..1d25b6773d --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_27/func_80240448_B13D70.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448_B141B8 +/* B141B8 80240448 3C068024 */ lui $a2, 0x8024 +/* B141BC 8024044C 8CC60B00 */ lw $a2, 0xb00($a2) +/* B141C0 80240450 18C00011 */ blez $a2, .L80240498 +/* B141C4 80240454 3C02FC12 */ lui $v0, 0xfc12 +/* B141C8 80240458 3C04800A */ lui $a0, 0x800a +/* B141CC 8024045C 2484A66C */ addiu $a0, $a0, -0x5994 +/* B141D0 80240460 8C830000 */ lw $v1, ($a0) +/* B141D4 80240464 34427E24 */ ori $v0, $v0, 0x7e24 +/* B141D8 80240468 0060282D */ daddu $a1, $v1, $zero +/* B141DC 8024046C 24630008 */ addiu $v1, $v1, 8 +/* B141E0 80240470 AC830000 */ sw $v1, ($a0) +/* B141E4 80240474 ACA20000 */ sw $v0, ($a1) +/* B141E8 80240478 2402F7FB */ addiu $v0, $zero, -0x805 +/* B141EC 8024047C ACA20004 */ sw $v0, 4($a1) +/* B141F0 80240480 24620008 */ addiu $v0, $v1, 8 +/* B141F4 80240484 AC820000 */ sw $v0, ($a0) +/* B141F8 80240488 3C02FA00 */ lui $v0, 0xfa00 +/* B141FC 8024048C AC620000 */ sw $v0, ($v1) +/* B14200 80240490 30C200FF */ andi $v0, $a2, 0xff +/* B14204 80240494 AC620004 */ sw $v0, 4($v1) +.L80240498: +/* B14208 80240498 03E00008 */ jr $ra +/* B1420C 8024049C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_29/func_80240000_B150B0.s b/asm/nonmatchings/world/area_kkj/kkj_29/func_80240000_B150B0.s new file mode 100644 index 0000000000..eb90b313f0 --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_29/func_80240000_B150B0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B150B0 +/* B150B0 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B150B4 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B150B8 80240008 9043007E */ lbu $v1, 0x7e($v0) +/* B150BC 8024000C 306300FE */ andi $v1, $v1, 0xfe +/* B150C0 80240010 A043007E */ sb $v1, 0x7e($v0) +/* B150C4 80240014 90820087 */ lbu $v0, 0x87($a0) +/* B150C8 80240018 3C018011 */ lui $at, 0x8011 +/* B150CC 8024001C A022F2A2 */ sb $v0, -0xd5e($at) +/* B150D0 80240020 03E00008 */ jr $ra +/* B150D4 80240024 24020002 */ addiu $v0, $zero, 2 +/* B150D8 80240028 00000000 */ nop +/* B150DC 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kkj/kkj_29/func_80240030_B150B0.s b/asm/nonmatchings/world/area_kkj/kkj_29/func_80240030_B150B0.s new file mode 100644 index 0000000000..5943a30adf --- /dev/null +++ b/asm/nonmatchings/world/area_kkj/kkj_29/func_80240030_B150B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_B150E0 +/* B150E0 80240030 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* B150E4 80240034 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* B150E8 80240038 8C420010 */ lw $v0, 0x10($v0) +/* B150EC 8024003C 30428000 */ andi $v0, $v0, 0x8000 +/* B150F0 80240040 14400007 */ bnez $v0, .L80240060 +/* B150F4 80240044 24020001 */ addiu $v0, $zero, 1 +/* B150F8 80240048 8C830084 */ lw $v1, 0x84($a0) +/* B150FC 8024004C 2463FFFF */ addiu $v1, $v1, -1 +/* B15100 80240050 2C620001 */ sltiu $v0, $v1, 1 +/* B15104 80240054 00021040 */ sll $v0, $v0, 1 +/* B15108 80240058 03E00008 */ jr $ra +/* B1510C 8024005C AC830084 */ sw $v1, 0x84($a0) +.L80240060: +/* B15110 80240060 AC820084 */ sw $v0, 0x84($a0) +/* B15114 80240064 03E00008 */ jr $ra +/* B15118 80240068 24020002 */ addiu $v0, $zero, 2 +/* B1511C 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240000_8ABF90.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240000_8ABF90.s new file mode 100644 index 0000000000..ddb283b941 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240000_8ABF90.s @@ -0,0 +1,245 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8ABF90 +/* 8ABF90 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8ABF94 80240004 AFB1001C */ sw $s1, 0x1c($sp) +/* 8ABF98 80240008 0080882D */ daddu $s1, $a0, $zero +/* 8ABF9C 8024000C AFBF0020 */ sw $ra, 0x20($sp) +/* 8ABFA0 80240010 AFB00018 */ sw $s0, 0x18($sp) +/* 8ABFA4 80240014 10A0003B */ beqz $a1, .L80240104 +/* 8ABFA8 80240018 8E30000C */ lw $s0, 0xc($s1) +/* 8ABFAC 8024001C 3C048024 */ lui $a0, 0x8024 +/* 8ABFB0 80240020 248440E0 */ addiu $a0, $a0, 0x40e0 +/* 8ABFB4 80240024 3C058024 */ lui $a1, 0x8024 +/* 8ABFB8 80240028 24A540E1 */ addiu $a1, $a1, 0x40e1 +/* 8ABFBC 8024002C 3C068024 */ lui $a2, 0x8024 +/* 8ABFC0 80240030 24C640E2 */ addiu $a2, $a2, 0x40e2 +/* 8ABFC4 80240034 3C078024 */ lui $a3, 0x8024 +/* 8ABFC8 80240038 24E740E3 */ addiu $a3, $a3, 0x40e3 +/* 8ABFCC 8024003C 3C028024 */ lui $v0, 0x8024 +/* 8ABFD0 80240040 244240E4 */ addiu $v0, $v0, 0x40e4 +/* 8ABFD4 80240044 AFA20010 */ sw $v0, 0x10($sp) +/* 8ABFD8 80240048 3C028024 */ lui $v0, 0x8024 +/* 8ABFDC 8024004C 244240E5 */ addiu $v0, $v0, 0x40e5 +/* 8ABFE0 80240050 0C046FF5 */ jal func_8011BFD4 +/* 8ABFE4 80240054 AFA20014 */ sw $v0, 0x14($sp) +/* 8ABFE8 80240058 8E050000 */ lw $a1, ($s0) +/* 8ABFEC 8024005C 26100004 */ addiu $s0, $s0, 4 +/* 8ABFF0 80240060 0C0B1EAF */ jal get_variable +/* 8ABFF4 80240064 0220202D */ daddu $a0, $s1, $zero +/* 8ABFF8 80240068 3C018024 */ lui $at, 0x8024 +/* 8ABFFC 8024006C AC2240E8 */ sw $v0, 0x40e8($at) +/* 8AC000 80240070 8E050000 */ lw $a1, ($s0) +/* 8AC004 80240074 26100004 */ addiu $s0, $s0, 4 +/* 8AC008 80240078 0C0B1EAF */ jal get_variable +/* 8AC00C 8024007C 0220202D */ daddu $a0, $s1, $zero +/* 8AC010 80240080 3C018024 */ lui $at, 0x8024 +/* 8AC014 80240084 AC2240EC */ sw $v0, 0x40ec($at) +/* 8AC018 80240088 8E050000 */ lw $a1, ($s0) +/* 8AC01C 8024008C 26100004 */ addiu $s0, $s0, 4 +/* 8AC020 80240090 0C0B1EAF */ jal get_variable +/* 8AC024 80240094 0220202D */ daddu $a0, $s1, $zero +/* 8AC028 80240098 3C018024 */ lui $at, 0x8024 +/* 8AC02C 8024009C AC2240F0 */ sw $v0, 0x40f0($at) +/* 8AC030 802400A0 8E050000 */ lw $a1, ($s0) +/* 8AC034 802400A4 26100004 */ addiu $s0, $s0, 4 +/* 8AC038 802400A8 0C0B1EAF */ jal get_variable +/* 8AC03C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* 8AC040 802400B0 3C018024 */ lui $at, 0x8024 +/* 8AC044 802400B4 AC2240F4 */ sw $v0, 0x40f4($at) +/* 8AC048 802400B8 8E050000 */ lw $a1, ($s0) +/* 8AC04C 802400BC 26100004 */ addiu $s0, $s0, 4 +/* 8AC050 802400C0 0C0B1EAF */ jal get_variable +/* 8AC054 802400C4 0220202D */ daddu $a0, $s1, $zero +/* 8AC058 802400C8 3C018024 */ lui $at, 0x8024 +/* 8AC05C 802400CC AC2240F8 */ sw $v0, 0x40f8($at) +/* 8AC060 802400D0 8E050000 */ lw $a1, ($s0) +/* 8AC064 802400D4 26100004 */ addiu $s0, $s0, 4 +/* 8AC068 802400D8 0C0B1EAF */ jal get_variable +/* 8AC06C 802400DC 0220202D */ daddu $a0, $s1, $zero +/* 8AC070 802400E0 3C018024 */ lui $at, 0x8024 +/* 8AC074 802400E4 AC2240FC */ sw $v0, 0x40fc($at) +/* 8AC078 802400E8 8E050000 */ lw $a1, ($s0) +/* 8AC07C 802400EC 0C0B1EAF */ jal get_variable +/* 8AC080 802400F0 0220202D */ daddu $a0, $s1, $zero +/* 8AC084 802400F4 3C018024 */ lui $at, 0x8024 +/* 8AC088 802400F8 AC224100 */ sw $v0, 0x4100($at) +/* 8AC08C 802400FC 3C018024 */ lui $at, 0x8024 +/* 8AC090 80240100 AC204104 */ sw $zero, 0x4104($at) +.L80240104: +/* 8AC094 80240104 3C118024 */ lui $s1, 0x8024 +/* 8AC098 80240108 26314100 */ addiu $s1, $s1, 0x4100 +/* 8AC09C 8024010C 8E2F0000 */ lw $t7, ($s1) +/* 8AC0A0 80240110 19E00088 */ blez $t7, .L80240334 +/* 8AC0A4 80240114 00000000 */ nop +/* 8AC0A8 80240118 3C108024 */ lui $s0, 0x8024 +/* 8AC0AC 8024011C 26104104 */ addiu $s0, $s0, 0x4104 +/* 8AC0B0 80240120 8E030000 */ lw $v1, ($s0) +/* 8AC0B4 80240124 3C048024 */ lui $a0, 0x8024 +/* 8AC0B8 80240128 908440E0 */ lbu $a0, 0x40e0($a0) +/* 8AC0BC 8024012C 3C028024 */ lui $v0, 0x8024 +/* 8AC0C0 80240130 8C4240E8 */ lw $v0, 0x40e8($v0) +/* 8AC0C4 80240134 24630001 */ addiu $v1, $v1, 1 +/* 8AC0C8 80240138 00441023 */ subu $v0, $v0, $a0 +/* 8AC0CC 8024013C 00430018 */ mult $v0, $v1 +/* 8AC0D0 80240140 00004012 */ mflo $t0 +/* 8AC0D4 80240144 00000000 */ nop +/* 8AC0D8 80240148 15E00002 */ bnez $t7, .L80240154 +/* 8AC0DC 8024014C 010F001A */ div $zero, $t0, $t7 +/* 8AC0E0 80240150 0007000D */ break 7 +.L80240154: +/* 8AC0E4 80240154 2401FFFF */ addiu $at, $zero, -1 +/* 8AC0E8 80240158 15E10004 */ bne $t7, $at, .L8024016C +/* 8AC0EC 8024015C 3C018000 */ lui $at, 0x8000 +/* 8AC0F0 80240160 15010002 */ bne $t0, $at, .L8024016C +/* 8AC0F4 80240164 00000000 */ nop +/* 8AC0F8 80240168 0006000D */ break 6 +.L8024016C: +/* 8AC0FC 8024016C 00007012 */ mflo $t6 +/* 8AC100 80240170 3C058024 */ lui $a1, 0x8024 +/* 8AC104 80240174 90A540E1 */ lbu $a1, 0x40e1($a1) +/* 8AC108 80240178 3C028024 */ lui $v0, 0x8024 +/* 8AC10C 8024017C 8C4240EC */ lw $v0, 0x40ec($v0) +/* 8AC110 80240180 00451023 */ subu $v0, $v0, $a1 +/* 8AC114 80240184 00430018 */ mult $v0, $v1 +/* 8AC118 80240188 00004012 */ mflo $t0 +/* 8AC11C 8024018C 00000000 */ nop +/* 8AC120 80240190 15E00002 */ bnez $t7, .L8024019C +/* 8AC124 80240194 010F001A */ div $zero, $t0, $t7 +/* 8AC128 80240198 0007000D */ break 7 +.L8024019C: +/* 8AC12C 8024019C 2401FFFF */ addiu $at, $zero, -1 +/* 8AC130 802401A0 15E10004 */ bne $t7, $at, .L802401B4 +/* 8AC134 802401A4 3C018000 */ lui $at, 0x8000 +/* 8AC138 802401A8 15010002 */ bne $t0, $at, .L802401B4 +/* 8AC13C 802401AC 00000000 */ nop +/* 8AC140 802401B0 0006000D */ break 6 +.L802401B4: +/* 8AC144 802401B4 00006812 */ mflo $t5 +/* 8AC148 802401B8 3C068024 */ lui $a2, 0x8024 +/* 8AC14C 802401BC 90C640E2 */ lbu $a2, 0x40e2($a2) +/* 8AC150 802401C0 3C028024 */ lui $v0, 0x8024 +/* 8AC154 802401C4 8C4240F0 */ lw $v0, 0x40f0($v0) +/* 8AC158 802401C8 00461023 */ subu $v0, $v0, $a2 +/* 8AC15C 802401CC 00430018 */ mult $v0, $v1 +/* 8AC160 802401D0 00004012 */ mflo $t0 +/* 8AC164 802401D4 00000000 */ nop +/* 8AC168 802401D8 15E00002 */ bnez $t7, .L802401E4 +/* 8AC16C 802401DC 010F001A */ div $zero, $t0, $t7 +/* 8AC170 802401E0 0007000D */ break 7 +.L802401E4: +/* 8AC174 802401E4 2401FFFF */ addiu $at, $zero, -1 +/* 8AC178 802401E8 15E10004 */ bne $t7, $at, .L802401FC +/* 8AC17C 802401EC 3C018000 */ lui $at, 0x8000 +/* 8AC180 802401F0 15010002 */ bne $t0, $at, .L802401FC +/* 8AC184 802401F4 00000000 */ nop +/* 8AC188 802401F8 0006000D */ break 6 +.L802401FC: +/* 8AC18C 802401FC 00006012 */ mflo $t4 +/* 8AC190 80240200 3C078024 */ lui $a3, 0x8024 +/* 8AC194 80240204 90E740E3 */ lbu $a3, 0x40e3($a3) +/* 8AC198 80240208 3C028024 */ lui $v0, 0x8024 +/* 8AC19C 8024020C 8C4240F4 */ lw $v0, 0x40f4($v0) +/* 8AC1A0 80240210 00471023 */ subu $v0, $v0, $a3 +/* 8AC1A4 80240214 00430018 */ mult $v0, $v1 +/* 8AC1A8 80240218 00004012 */ mflo $t0 +/* 8AC1AC 8024021C 00000000 */ nop +/* 8AC1B0 80240220 15E00002 */ bnez $t7, .L8024022C +/* 8AC1B4 80240224 010F001A */ div $zero, $t0, $t7 +/* 8AC1B8 80240228 0007000D */ break 7 +.L8024022C: +/* 8AC1BC 8024022C 2401FFFF */ addiu $at, $zero, -1 +/* 8AC1C0 80240230 15E10004 */ bne $t7, $at, .L80240244 +/* 8AC1C4 80240234 3C018000 */ lui $at, 0x8000 +/* 8AC1C8 80240238 15010002 */ bne $t0, $at, .L80240244 +/* 8AC1CC 8024023C 00000000 */ nop +/* 8AC1D0 80240240 0006000D */ break 6 +.L80240244: +/* 8AC1D4 80240244 00005812 */ mflo $t3 +/* 8AC1D8 80240248 3C098024 */ lui $t1, 0x8024 +/* 8AC1DC 8024024C 912940E4 */ lbu $t1, 0x40e4($t1) +/* 8AC1E0 80240250 3C028024 */ lui $v0, 0x8024 +/* 8AC1E4 80240254 8C4240F8 */ lw $v0, 0x40f8($v0) +/* 8AC1E8 80240258 00491023 */ subu $v0, $v0, $t1 +/* 8AC1EC 8024025C 00430018 */ mult $v0, $v1 +/* 8AC1F0 80240260 00004012 */ mflo $t0 +/* 8AC1F4 80240264 00000000 */ nop +/* 8AC1F8 80240268 15E00002 */ bnez $t7, .L80240274 +/* 8AC1FC 8024026C 010F001A */ div $zero, $t0, $t7 +/* 8AC200 80240270 0007000D */ break 7 +.L80240274: +/* 8AC204 80240274 2401FFFF */ addiu $at, $zero, -1 +/* 8AC208 80240278 15E10004 */ bne $t7, $at, .L8024028C +/* 8AC20C 8024027C 3C018000 */ lui $at, 0x8000 +/* 8AC210 80240280 15010002 */ bne $t0, $at, .L8024028C +/* 8AC214 80240284 00000000 */ nop +/* 8AC218 80240288 0006000D */ break 6 +.L8024028C: +/* 8AC21C 8024028C 00005012 */ mflo $t2 +/* 8AC220 80240290 3C088024 */ lui $t0, 0x8024 +/* 8AC224 80240294 910840E5 */ lbu $t0, 0x40e5($t0) +/* 8AC228 80240298 3C028024 */ lui $v0, 0x8024 +/* 8AC22C 8024029C 8C4240FC */ lw $v0, 0x40fc($v0) +/* 8AC230 802402A0 00481023 */ subu $v0, $v0, $t0 +/* 8AC234 802402A4 00430018 */ mult $v0, $v1 +/* 8AC238 802402A8 0000C812 */ mflo $t9 +/* 8AC23C 802402AC 00000000 */ nop +/* 8AC240 802402B0 15E00002 */ bnez $t7, .L802402BC +/* 8AC244 802402B4 032F001A */ div $zero, $t9, $t7 +/* 8AC248 802402B8 0007000D */ break 7 +.L802402BC: +/* 8AC24C 802402BC 2401FFFF */ addiu $at, $zero, -1 +/* 8AC250 802402C0 15E10004 */ bne $t7, $at, .L802402D4 +/* 8AC254 802402C4 3C018000 */ lui $at, 0x8000 +/* 8AC258 802402C8 17210002 */ bne $t9, $at, .L802402D4 +/* 8AC25C 802402CC 00000000 */ nop +/* 8AC260 802402D0 0006000D */ break 6 +.L802402D4: +/* 8AC264 802402D4 00001012 */ mflo $v0 +/* 8AC268 802402D8 AE030000 */ sw $v1, ($s0) +/* 8AC26C 802402DC 008E2021 */ addu $a0, $a0, $t6 +/* 8AC270 802402E0 308400FF */ andi $a0, $a0, 0xff +/* 8AC274 802402E4 00AD2821 */ addu $a1, $a1, $t5 +/* 8AC278 802402E8 30A500FF */ andi $a1, $a1, 0xff +/* 8AC27C 802402EC 00CC3021 */ addu $a2, $a2, $t4 +/* 8AC280 802402F0 30C600FF */ andi $a2, $a2, 0xff +/* 8AC284 802402F4 00EB3821 */ addu $a3, $a3, $t3 +/* 8AC288 802402F8 30E700FF */ andi $a3, $a3, 0xff +/* 8AC28C 802402FC 012A4821 */ addu $t1, $t1, $t2 +/* 8AC290 80240300 312900FF */ andi $t1, $t1, 0xff +/* 8AC294 80240304 AFA90010 */ sw $t1, 0x10($sp) +/* 8AC298 80240308 01024021 */ addu $t0, $t0, $v0 +/* 8AC29C 8024030C 310800FF */ andi $t0, $t0, 0xff +/* 8AC2A0 80240310 0C046FE6 */ jal func_8011BF98 +/* 8AC2A4 80240314 AFA80014 */ sw $t0, 0x14($sp) +/* 8AC2A8 80240318 8E020000 */ lw $v0, ($s0) +/* 8AC2AC 8024031C 8E230000 */ lw $v1, ($s1) +/* 8AC2B0 80240320 0043102A */ slt $v0, $v0, $v1 +/* 8AC2B4 80240324 14400013 */ bnez $v0, .L80240374 +/* 8AC2B8 80240328 0000102D */ daddu $v0, $zero, $zero +/* 8AC2BC 8024032C 080900DD */ j .L80240374 +/* 8AC2C0 80240330 24020002 */ addiu $v0, $zero, 2 +.L80240334: +/* 8AC2C4 80240334 3C028024 */ lui $v0, 0x8024 +/* 8AC2C8 80240338 904240FB */ lbu $v0, 0x40fb($v0) +/* 8AC2CC 8024033C 3C048024 */ lui $a0, 0x8024 +/* 8AC2D0 80240340 908440EB */ lbu $a0, 0x40eb($a0) +/* 8AC2D4 80240344 3C058024 */ lui $a1, 0x8024 +/* 8AC2D8 80240348 90A540EF */ lbu $a1, 0x40ef($a1) +/* 8AC2DC 8024034C 3C068024 */ lui $a2, 0x8024 +/* 8AC2E0 80240350 90C640F3 */ lbu $a2, 0x40f3($a2) +/* 8AC2E4 80240354 3C078024 */ lui $a3, 0x8024 +/* 8AC2E8 80240358 90E740F7 */ lbu $a3, 0x40f7($a3) +/* 8AC2EC 8024035C 3C038024 */ lui $v1, 0x8024 +/* 8AC2F0 80240360 906340FF */ lbu $v1, 0x40ff($v1) +/* 8AC2F4 80240364 AFA20010 */ sw $v0, 0x10($sp) +/* 8AC2F8 80240368 0C046FE6 */ jal func_8011BF98 +/* 8AC2FC 8024036C AFA30014 */ sw $v1, 0x14($sp) +/* 8AC300 80240370 24020002 */ addiu $v0, $zero, 2 +.L80240374: +/* 8AC304 80240374 8FBF0020 */ lw $ra, 0x20($sp) +/* 8AC308 80240378 8FB1001C */ lw $s1, 0x1c($sp) +/* 8AC30C 8024037C 8FB00018 */ lw $s0, 0x18($sp) +/* 8AC310 80240380 03E00008 */ jr $ra +/* 8AC314 80240384 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240388.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240388.s new file mode 100644 index 0000000000..28f5750331 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240388.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388 +/* 8AC318 80240388 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8AC31C 8024038C AFBF0010 */ sw $ra, 0x10($sp) +/* 8AC320 80240390 0C04760B */ jal func_8011D82C +/* 8AC324 80240394 24040003 */ addiu $a0, $zero, 3 +/* 8AC328 80240398 3C038015 */ lui $v1, 0x8015 +/* 8AC32C 8024039C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 8AC330 802403A0 24020003 */ addiu $v0, $zero, 3 +/* 8AC334 802403A4 A0620000 */ sb $v0, ($v1) +/* 8AC338 802403A8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8AC33C 802403AC 24020002 */ addiu $v0, $zero, 2 +/* 8AC340 802403B0 03E00008 */ jr $ra +/* 8AC344 802403B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802403B8.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802403B8.s new file mode 100644 index 0000000000..30bf2aa048 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802403B8.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B8 +/* 8AC348 802403B8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8AC34C 802403BC AFB1001C */ sw $s1, 0x1c($sp) +/* 8AC350 802403C0 0080882D */ daddu $s1, $a0, $zero +/* 8AC354 802403C4 AFBF002C */ sw $ra, 0x2c($sp) +/* 8AC358 802403C8 AFB40028 */ sw $s4, 0x28($sp) +/* 8AC35C 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* 8AC360 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* 8AC364 802403D4 AFB00018 */ sw $s0, 0x18($sp) +/* 8AC368 802403D8 8E30000C */ lw $s0, 0xc($s1) +/* 8AC36C 802403DC 8E050000 */ lw $a1, ($s0) +/* 8AC370 802403E0 0C0B1EAF */ jal get_variable +/* 8AC374 802403E4 26100004 */ addiu $s0, $s0, 4 +/* 8AC378 802403E8 8E050000 */ lw $a1, ($s0) +/* 8AC37C 802403EC 26100004 */ addiu $s0, $s0, 4 +/* 8AC380 802403F0 0220202D */ daddu $a0, $s1, $zero +/* 8AC384 802403F4 0C0B1EAF */ jal get_variable +/* 8AC388 802403F8 0040A02D */ daddu $s4, $v0, $zero +/* 8AC38C 802403FC 8E050000 */ lw $a1, ($s0) +/* 8AC390 80240400 26100004 */ addiu $s0, $s0, 4 +/* 8AC394 80240404 0220202D */ daddu $a0, $s1, $zero +/* 8AC398 80240408 0C0B1EAF */ jal get_variable +/* 8AC39C 8024040C 0040982D */ daddu $s3, $v0, $zero +/* 8AC3A0 80240410 8E050000 */ lw $a1, ($s0) +/* 8AC3A4 80240414 26100004 */ addiu $s0, $s0, 4 +/* 8AC3A8 80240418 0220202D */ daddu $a0, $s1, $zero +/* 8AC3AC 8024041C 0C0B1EAF */ jal get_variable +/* 8AC3B0 80240420 0040902D */ daddu $s2, $v0, $zero +/* 8AC3B4 80240424 0220202D */ daddu $a0, $s1, $zero +/* 8AC3B8 80240428 8E050000 */ lw $a1, ($s0) +/* 8AC3BC 8024042C 0C0B1EAF */ jal get_variable +/* 8AC3C0 80240430 0040802D */ daddu $s0, $v0, $zero +/* 8AC3C4 80240434 0280202D */ daddu $a0, $s4, $zero +/* 8AC3C8 80240438 44931000 */ mtc1 $s3, $f2 +/* 8AC3CC 8024043C 00000000 */ nop +/* 8AC3D0 80240440 468010A0 */ cvt.s.w $f2, $f2 +/* 8AC3D4 80240444 44051000 */ mfc1 $a1, $f2 +/* 8AC3D8 80240448 44921000 */ mtc1 $s2, $f2 +/* 8AC3DC 8024044C 00000000 */ nop +/* 8AC3E0 80240450 468010A0 */ cvt.s.w $f2, $f2 +/* 8AC3E4 80240454 44061000 */ mfc1 $a2, $f2 +/* 8AC3E8 80240458 44901000 */ mtc1 $s0, $f2 +/* 8AC3EC 8024045C 00000000 */ nop +/* 8AC3F0 80240460 468010A0 */ cvt.s.w $f2, $f2 +/* 8AC3F4 80240464 44071000 */ mfc1 $a3, $f2 +/* 8AC3F8 80240468 44820000 */ mtc1 $v0, $f0 +/* 8AC3FC 8024046C 00000000 */ nop +/* 8AC400 80240470 46800020 */ cvt.s.w $f0, $f0 +/* 8AC404 80240474 0C01BFBC */ jal func_8006FEF0 +/* 8AC408 80240478 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC40C 8024047C 8FBF002C */ lw $ra, 0x2c($sp) +/* 8AC410 80240480 8FB40028 */ lw $s4, 0x28($sp) +/* 8AC414 80240484 8FB30024 */ lw $s3, 0x24($sp) +/* 8AC418 80240488 8FB20020 */ lw $s2, 0x20($sp) +/* 8AC41C 8024048C 8FB1001C */ lw $s1, 0x1c($sp) +/* 8AC420 80240490 8FB00018 */ lw $s0, 0x18($sp) +/* 8AC424 80240494 24020002 */ addiu $v0, $zero, 2 +/* 8AC428 80240498 03E00008 */ jr $ra +/* 8AC42C 8024049C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802404A0.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802404A0.s new file mode 100644 index 0000000000..97f2e54677 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802404A0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A0 +/* 8AC430 802404A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8AC434 802404A4 2402001E */ addiu $v0, $zero, 0x1e +/* 8AC438 802404A8 44801000 */ mtc1 $zero, $f2 +/* 8AC43C 802404AC 3C013E99 */ lui $at, 0x3e99 +/* 8AC440 802404B0 3421999A */ ori $at, $at, 0x999a +/* 8AC444 802404B4 44810000 */ mtc1 $at, $f0 +/* 8AC448 802404B8 44051000 */ mfc1 $a1, $f2 +/* 8AC44C 802404BC 24040004 */ addiu $a0, $zero, 4 +/* 8AC450 802404C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8AC454 802404C4 AFA20014 */ sw $v0, 0x14($sp) +/* 8AC458 802404C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC45C 802404CC 00A0302D */ daddu $a2, $a1, $zero +/* 8AC460 802404D0 0C01C5D4 */ jal func_80071750 +/* 8AC464 802404D4 00A0382D */ daddu $a3, $a1, $zero +/* 8AC468 802404D8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8AC46C 802404DC 24020002 */ addiu $v0, $zero, 2 +/* 8AC470 802404E0 03E00008 */ jr $ra +/* 8AC474 802404E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802404E8.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802404E8.s new file mode 100644 index 0000000000..579ac85448 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802404E8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404E8 +/* 8AC478 802404E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8AC47C 802404EC AFBF0010 */ sw $ra, 0x10($sp) +/* 8AC480 802404F0 0C0B1EAF */ jal get_variable +/* 8AC484 802404F4 8C850084 */ lw $a1, 0x84($a0) +/* 8AC488 802404F8 3C013A83 */ lui $at, 0x3a83 +/* 8AC48C 802404FC 3421126F */ ori $at, $at, 0x126f +/* 8AC490 80240500 44811000 */ mtc1 $at, $f2 +/* 8AC494 80240504 44820000 */ mtc1 $v0, $f0 +/* 8AC498 80240508 00000000 */ nop +/* 8AC49C 8024050C 46800020 */ cvt.s.w $f0, $f0 +/* 8AC4A0 80240510 46020002 */ mul.s $f0, $f0, $f2 +/* 8AC4A4 80240514 00000000 */ nop +/* 8AC4A8 80240518 8FBF0010 */ lw $ra, 0x10($sp) +/* 8AC4AC 8024051C 24020002 */ addiu $v0, $zero, 2 +/* 8AC4B0 80240520 3C01800B */ lui $at, 0x800b +/* 8AC4B4 80240524 E4202260 */ swc1 $f0, 0x2260($at) +/* 8AC4B8 80240528 03E00008 */ jr $ra +/* 8AC4BC 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240530.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240530.s new file mode 100644 index 0000000000..26e17c49a0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240530.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530 +/* 8AC4C0 80240530 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8AC4C4 80240534 AFBF0018 */ sw $ra, 0x18($sp) +/* 8AC4C8 80240538 8C82000C */ lw $v0, 0xc($a0) +/* 8AC4CC 8024053C 0C0B1EAF */ jal get_variable +/* 8AC4D0 80240540 8C450000 */ lw $a1, ($v0) +/* 8AC4D4 80240544 0C00EABB */ jal get_npc_unsafe +/* 8AC4D8 80240548 0040202D */ daddu $a0, $v0, $zero +/* 8AC4DC 8024054C 3C014120 */ lui $at, 0x4120 +/* 8AC4E0 80240550 44810000 */ mtc1 $at, $f0 +/* 8AC4E4 80240554 C442003C */ lwc1 $f2, 0x3c($v0) +/* 8AC4E8 80240558 46001080 */ add.s $f2, $f2, $f0 +/* 8AC4EC 8024055C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC4F0 80240560 8C450038 */ lw $a1, 0x38($v0) +/* 8AC4F4 80240564 8C470040 */ lw $a3, 0x40($v0) +/* 8AC4F8 80240568 44061000 */ mfc1 $a2, $f2 +/* 8AC4FC 8024056C 0C01BFBC */ jal func_8006FEF0 +/* 8AC500 80240570 24040003 */ addiu $a0, $zero, 3 +/* 8AC504 80240574 8FBF0018 */ lw $ra, 0x18($sp) +/* 8AC508 80240578 24020002 */ addiu $v0, $zero, 2 +/* 8AC50C 8024057C 03E00008 */ jr $ra +/* 8AC510 80240580 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240584.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240584.s new file mode 100644 index 0000000000..8c4bb4b860 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240584.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240584 +/* 8AC514 80240584 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8AC518 80240588 0000202D */ daddu $a0, $zero, $zero +/* 8AC51C 8024058C AFBF0010 */ sw $ra, 0x10($sp) +/* 8AC520 80240590 0C01554F */ jal func_8005553C +/* 8AC524 80240594 240507D0 */ addiu $a1, $zero, 0x7d0 +/* 8AC528 80240598 8FBF0010 */ lw $ra, 0x10($sp) +/* 8AC52C 8024059C 24020002 */ addiu $v0, $zero, 2 +/* 8AC530 802405A0 03E00008 */ jr $ra +/* 8AC534 802405A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802405A8.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405A8.s new file mode 100644 index 0000000000..dcf98ccca6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405A8.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8 +/* 8AC538 802405A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8AC53C 802405AC 0000202D */ daddu $a0, $zero, $zero +/* 8AC540 802405B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8AC544 802405B4 0C015564 */ jal func_80055590 +/* 8AC548 802405B8 240507D0 */ addiu $a1, $zero, 0x7d0 +/* 8AC54C 802405BC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8AC550 802405C0 24020002 */ addiu $v0, $zero, 2 +/* 8AC554 802405C4 03E00008 */ jr $ra +/* 8AC558 802405C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802405CC.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405CC.s new file mode 100644 index 0000000000..3133dfa2df --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405CC.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405CC +/* 8AC55C 802405CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8AC560 802405D0 0000202D */ daddu $a0, $zero, $zero +/* 8AC564 802405D4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8AC568 802405D8 0C01553A */ jal func_800554E8 +/* 8AC56C 802405DC 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8AC570 802405E0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8AC574 802405E4 24020002 */ addiu $v0, $zero, 2 +/* 8AC578 802405E8 03E00008 */ jr $ra +/* 8AC57C 802405EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_802405F0_8ABF90.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405F0_8ABF90.s new file mode 100644 index 0000000000..87f98b76b2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_802405F0_8ABF90.s @@ -0,0 +1,393 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_8AC580 +/* 8AC580 802405F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8AC584 802405F4 AFB1001C */ sw $s1, 0x1c($sp) +/* 8AC588 802405F8 0080882D */ daddu $s1, $a0, $zero +/* 8AC58C 802405FC AFB30024 */ sw $s3, 0x24($sp) +/* 8AC590 80240600 AFBF0028 */ sw $ra, 0x28($sp) +/* 8AC594 80240604 AFB20020 */ sw $s2, 0x20($sp) +/* 8AC598 80240608 AFB00018 */ sw $s0, 0x18($sp) +/* 8AC59C 8024060C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 8AC5A0 80240610 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 8AC5A4 80240614 8E30000C */ lw $s0, 0xc($s1) +/* 8AC5A8 80240618 10A00010 */ beqz $a1, .L8024065C +/* 8AC5AC 8024061C 0000982D */ daddu $s3, $zero, $zero +/* 8AC5B0 80240620 8E050000 */ lw $a1, ($s0) +/* 8AC5B4 80240624 0C0B1EAF */ jal get_variable +/* 8AC5B8 80240628 26100004 */ addiu $s0, $s0, 4 +/* 8AC5BC 8024062C AE220074 */ sw $v0, 0x74($s1) +/* 8AC5C0 80240630 8E050000 */ lw $a1, ($s0) +/* 8AC5C4 80240634 26100004 */ addiu $s0, $s0, 4 +/* 8AC5C8 80240638 0C0B1EAF */ jal get_variable +/* 8AC5CC 8024063C 0220202D */ daddu $a0, $s1, $zero +/* 8AC5D0 80240640 AE220078 */ sw $v0, 0x78($s1) +/* 8AC5D4 80240644 8E050000 */ lw $a1, ($s0) +/* 8AC5D8 80240648 0C0B1EAF */ jal get_variable +/* 8AC5DC 8024064C 0220202D */ daddu $a0, $s1, $zero +/* 8AC5E0 80240650 AE2200C0 */ sw $v0, 0xc0($s1) +/* 8AC5E4 80240654 AE200070 */ sw $zero, 0x70($s1) +/* 8AC5E8 80240658 AE20007C */ sw $zero, 0x7c($s1) +.L8024065C: +/* 8AC5EC 8024065C 8E240074 */ lw $a0, 0x74($s1) +/* 8AC5F0 80240660 0C00EABB */ jal get_npc_unsafe +/* 8AC5F4 80240664 24120001 */ addiu $s2, $zero, 1 +/* 8AC5F8 80240668 8E230070 */ lw $v1, 0x70($s1) +/* 8AC5FC 8024066C 1072005D */ beq $v1, $s2, .L802407E4 +/* 8AC600 80240670 0040802D */ daddu $s0, $v0, $zero +/* 8AC604 80240674 28620002 */ slti $v0, $v1, 2 +/* 8AC608 80240678 10400005 */ beqz $v0, .L80240690 +/* 8AC60C 8024067C 24020002 */ addiu $v0, $zero, 2 +/* 8AC610 80240680 10600009 */ beqz $v1, .L802406A8 +/* 8AC614 80240684 26040038 */ addiu $a0, $s0, 0x38 +/* 8AC618 80240688 080902E5 */ j .L80240B94 +/* 8AC61C 8024068C 00000000 */ nop +.L80240690: +/* 8AC620 80240690 1062009C */ beq $v1, $v0, .L80240904 +/* 8AC624 80240694 24020003 */ addiu $v0, $zero, 3 +/* 8AC628 80240698 106200EF */ beq $v1, $v0, .L80240A58 +/* 8AC62C 8024069C 26040038 */ addiu $a0, $s0, 0x38 +/* 8AC630 802406A0 080902E5 */ j .L80240B94 +/* 8AC634 802406A4 00000000 */ nop +.L802406A8: +/* 8AC638 802406A8 3C01C47A */ lui $at, 0xc47a +/* 8AC63C 802406AC 44810000 */ mtc1 $at, $f0 +/* 8AC640 802406B0 3C01C248 */ lui $at, 0xc248 +/* 8AC644 802406B4 4481B000 */ mtc1 $at, $f22 +/* 8AC648 802406B8 AE000038 */ sw $zero, 0x38($s0) +/* 8AC64C 802406BC E600003C */ swc1 $f0, 0x3c($s0) +/* 8AC650 802406C0 E6160040 */ swc1 $f22, 0x40($s0) +/* 8AC654 802406C4 8E23007C */ lw $v1, 0x7c($s1) +/* 8AC658 802406C8 3C014040 */ lui $at, 0x4040 +/* 8AC65C 802406CC 44810000 */ mtc1 $at, $f0 +/* 8AC660 802406D0 00031040 */ sll $v0, $v1, 1 +/* 8AC664 802406D4 00431021 */ addu $v0, $v0, $v1 +/* 8AC668 802406D8 E6000064 */ swc1 $f0, 0x64($s0) +/* 8AC66C 802406DC 44820000 */ mtc1 $v0, $f0 +/* 8AC670 802406E0 00000000 */ nop +/* 8AC674 802406E4 46800020 */ cvt.s.w $f0, $f0 +/* 8AC678 802406E8 E6000060 */ swc1 $f0, 0x60($s0) +/* 8AC67C 802406EC 8E22007C */ lw $v0, 0x7c($s1) +/* 8AC680 802406F0 8E2300C0 */ lw $v1, 0xc0($s1) +/* 8AC684 802406F4 0043102A */ slt $v0, $v0, $v1 +/* 8AC688 802406F8 14400126 */ bnez $v0, .L80240B94 +/* 8AC68C 802406FC 26050040 */ addiu $a1, $s0, 0x40 +/* 8AC690 80240700 3C0142C8 */ lui $at, 0x42c8 +/* 8AC694 80240704 44810000 */ mtc1 $at, $f0 +/* 8AC698 80240708 00000000 */ nop +/* 8AC69C 8024070C E600003C */ swc1 $f0, 0x3c($s0) +/* 8AC6A0 80240710 8E230078 */ lw $v1, 0x78($s1) +/* 8AC6A4 80240714 C6020060 */ lwc1 $f2, 0x60($s0) +/* 8AC6A8 80240718 00031040 */ sll $v0, $v1, 1 +/* 8AC6AC 8024071C 00431021 */ addu $v0, $v0, $v1 +/* 8AC6B0 80240720 00021900 */ sll $v1, $v0, 4 +/* 8AC6B4 80240724 00431021 */ addu $v0, $v0, $v1 +/* 8AC6B8 80240728 44820000 */ mtc1 $v0, $f0 +/* 8AC6BC 8024072C 00000000 */ nop +/* 8AC6C0 80240730 46800020 */ cvt.s.w $f0, $f0 +/* 8AC6C4 80240734 46001080 */ add.s $f2, $f2, $f0 +/* 8AC6C8 80240738 3C014319 */ lui $at, 0x4319 +/* 8AC6CC 8024073C 44810000 */ mtc1 $at, $f0 +/* 8AC6D0 80240740 3C01428C */ lui $at, 0x428c +/* 8AC6D4 80240744 4481A000 */ mtc1 $at, $f20 +/* 8AC6D8 80240748 46001080 */ add.s $f2, $f2, $f0 +/* 8AC6DC 8024074C 4406A000 */ mfc1 $a2, $f20 +/* 8AC6E0 80240750 44071000 */ mfc1 $a3, $f2 +/* 8AC6E4 80240754 0C00A7E7 */ jal add_vec2D_polar +/* 8AC6E8 80240758 00000000 */ nop +/* 8AC6EC 8024075C C6000040 */ lwc1 $f0, 0x40($s0) +/* 8AC6F0 80240760 46000007 */ neg.s $f0, $f0 +/* 8AC6F4 80240764 46160000 */ add.s $f0, $f0, $f22 +/* 8AC6F8 80240768 46140000 */ add.s $f0, $f0, $f20 +/* 8AC6FC 8024076C 3C013E19 */ lui $at, 0x3e19 +/* 8AC700 80240770 3421999A */ ori $at, $at, 0x999a +/* 8AC704 80240774 44811000 */ mtc1 $at, $f2 +/* 8AC708 80240778 00000000 */ nop +/* 8AC70C 8024077C 46020002 */ mul.s $f0, $f0, $f2 +/* 8AC710 80240780 00000000 */ nop +/* 8AC714 80240784 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8AC718 80240788 3C04B000 */ lui $a0, 0xb000 +/* 8AC71C 8024078C 46001080 */ add.s $f2, $f2, $f0 +/* 8AC720 80240790 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8AC724 80240794 3484001E */ ori $a0, $a0, 0x1e +/* 8AC728 80240798 E602003C */ swc1 $f2, 0x3c($s0) +/* 8AC72C 8024079C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC730 802407A0 8E060038 */ lw $a2, 0x38($s0) +/* 8AC734 802407A4 8E07003C */ lw $a3, 0x3c($s0) +/* 8AC738 802407A8 0C052757 */ jal play_sound_at_position +/* 8AC73C 802407AC 0000282D */ daddu $a1, $zero, $zero +/* 8AC740 802407B0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8AC744 802407B4 3C0141A0 */ lui $at, 0x41a0 +/* 8AC748 802407B8 44810000 */ mtc1 $at, $f0 +/* 8AC74C 802407BC 00000000 */ nop +/* 8AC750 802407C0 46001080 */ add.s $f2, $f2, $f0 +/* 8AC754 802407C4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC758 802407C8 8E050038 */ lw $a1, 0x38($s0) +/* 8AC75C 802407CC 8E070040 */ lw $a3, 0x40($s0) +/* 8AC760 802407D0 44061000 */ mfc1 $a2, $f2 +/* 8AC764 802407D4 0C01BFBC */ jal func_8006FEF0 +/* 8AC768 802407D8 0000202D */ daddu $a0, $zero, $zero +/* 8AC76C 802407DC 080902E5 */ j .L80240B94 +/* 8AC770 802407E0 AE320070 */ sw $s2, 0x70($s1) +.L802407E4: +/* 8AC774 802407E4 3C01C248 */ lui $at, 0xc248 +/* 8AC778 802407E8 4481B000 */ mtc1 $at, $f22 +/* 8AC77C 802407EC 3C0142C8 */ lui $at, 0x42c8 +/* 8AC780 802407F0 44810000 */ mtc1 $at, $f0 +/* 8AC784 802407F4 AE000038 */ sw $zero, 0x38($s0) +/* 8AC788 802407F8 E6160040 */ swc1 $f22, 0x40($s0) +/* 8AC78C 802407FC E600003C */ swc1 $f0, 0x3c($s0) +/* 8AC790 80240800 8E230078 */ lw $v1, 0x78($s1) +/* 8AC794 80240804 C6020060 */ lwc1 $f2, 0x60($s0) +/* 8AC798 80240808 00031040 */ sll $v0, $v1, 1 +/* 8AC79C 8024080C 00431021 */ addu $v0, $v0, $v1 +/* 8AC7A0 80240810 00021900 */ sll $v1, $v0, 4 +/* 8AC7A4 80240814 00431021 */ addu $v0, $v0, $v1 +/* 8AC7A8 80240818 44820000 */ mtc1 $v0, $f0 +/* 8AC7AC 8024081C 00000000 */ nop +/* 8AC7B0 80240820 46800020 */ cvt.s.w $f0, $f0 +/* 8AC7B4 80240824 46001080 */ add.s $f2, $f2, $f0 +/* 8AC7B8 80240828 3C014319 */ lui $at, 0x4319 +/* 8AC7BC 8024082C 44810000 */ mtc1 $at, $f0 +/* 8AC7C0 80240830 3C01428C */ lui $at, 0x428c +/* 8AC7C4 80240834 4481A000 */ mtc1 $at, $f20 +/* 8AC7C8 80240838 46001080 */ add.s $f2, $f2, $f0 +/* 8AC7CC 8024083C 26040038 */ addiu $a0, $s0, 0x38 +/* 8AC7D0 80240840 4406A000 */ mfc1 $a2, $f20 +/* 8AC7D4 80240844 44071000 */ mfc1 $a3, $f2 +/* 8AC7D8 80240848 0C00A7E7 */ jal add_vec2D_polar +/* 8AC7DC 8024084C 26050040 */ addiu $a1, $s0, 0x40 +/* 8AC7E0 80240850 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8AC7E4 80240854 46000007 */ neg.s $f0, $f0 +/* 8AC7E8 80240858 46160000 */ add.s $f0, $f0, $f22 +/* 8AC7EC 8024085C 46140000 */ add.s $f0, $f0, $f20 +/* 8AC7F0 80240860 3C013E19 */ lui $at, 0x3e19 +/* 8AC7F4 80240864 3421999A */ ori $at, $at, 0x999a +/* 8AC7F8 80240868 44811000 */ mtc1 $at, $f2 +/* 8AC7FC 8024086C 00000000 */ nop +/* 8AC800 80240870 46020002 */ mul.s $f0, $f0, $f2 +/* 8AC804 80240874 00000000 */ nop +/* 8AC808 80240878 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8AC80C 8024087C 46001080 */ add.s $f2, $f2, $f0 +/* 8AC810 80240880 3C034EC4 */ lui $v1, 0x4ec4 +/* 8AC814 80240884 E602003C */ swc1 $f2, 0x3c($s0) +/* 8AC818 80240888 8E24007C */ lw $a0, 0x7c($s1) +/* 8AC81C 8024088C 8E220078 */ lw $v0, 0x78($s1) +/* 8AC820 80240890 3463EC4F */ ori $v1, $v1, 0xec4f +/* 8AC824 80240894 00822021 */ addu $a0, $a0, $v0 +/* 8AC828 80240898 00830018 */ mult $a0, $v1 +/* 8AC82C 8024089C 000417C3 */ sra $v0, $a0, 0x1f +/* 8AC830 802408A0 00004010 */ mfhi $t0 +/* 8AC834 802408A4 00081883 */ sra $v1, $t0, 2 +/* 8AC838 802408A8 00621823 */ subu $v1, $v1, $v0 +/* 8AC83C 802408AC 00031040 */ sll $v0, $v1, 1 +/* 8AC840 802408B0 00431021 */ addu $v0, $v0, $v1 +/* 8AC844 802408B4 00021080 */ sll $v0, $v0, 2 +/* 8AC848 802408B8 00431021 */ addu $v0, $v0, $v1 +/* 8AC84C 802408BC 1482000B */ bne $a0, $v0, .L802408EC +/* 8AC850 802408C0 00000000 */ nop +/* 8AC854 802408C4 3C014120 */ lui $at, 0x4120 +/* 8AC858 802408C8 44810000 */ mtc1 $at, $f0 +/* 8AC85C 802408CC 00000000 */ nop +/* 8AC860 802408D0 46001080 */ add.s $f2, $f2, $f0 +/* 8AC864 802408D4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC868 802408D8 8E050038 */ lw $a1, 0x38($s0) +/* 8AC86C 802408DC 8E070040 */ lw $a3, 0x40($s0) +/* 8AC870 802408E0 44061000 */ mfc1 $a2, $f2 +/* 8AC874 802408E4 0C01BFBC */ jal func_8006FEF0 +/* 8AC878 802408E8 24040003 */ addiu $a0, $zero, 3 +.L802408EC: +/* 8AC87C 802408EC 8E22007C */ lw $v0, 0x7c($s1) +/* 8AC880 802408F0 28420101 */ slti $v0, $v0, 0x101 +/* 8AC884 802408F4 144000A7 */ bnez $v0, .L80240B94 +/* 8AC888 802408F8 24020002 */ addiu $v0, $zero, 2 +/* 8AC88C 802408FC 08090294 */ j .L80240A50 +/* 8AC890 80240900 AE220070 */ sw $v0, 0x70($s1) +.L80240904: +/* 8AC894 80240904 3C01C248 */ lui $at, 0xc248 +/* 8AC898 80240908 4481B000 */ mtc1 $at, $f22 +/* 8AC89C 8024090C 3C013E99 */ lui $at, 0x3e99 +/* 8AC8A0 80240910 3421999A */ ori $at, $at, 0x999a +/* 8AC8A4 80240914 44810000 */ mtc1 $at, $f0 +/* 8AC8A8 80240918 AE000038 */ sw $zero, 0x38($s0) +/* 8AC8AC 8024091C E6160040 */ swc1 $f22, 0x40($s0) +/* 8AC8B0 80240920 C62200BC */ lwc1 $f2, 0xbc($s1) +/* 8AC8B4 80240924 468010A0 */ cvt.s.w $f2, $f2 +/* 8AC8B8 80240928 46001082 */ mul.s $f2, $f2, $f0 +/* 8AC8BC 8024092C 00000000 */ nop +/* 8AC8C0 80240930 3C0142C8 */ lui $at, 0x42c8 +/* 8AC8C4 80240934 44810000 */ mtc1 $at, $f0 +/* 8AC8C8 80240938 00000000 */ nop +/* 8AC8CC 8024093C 46020001 */ sub.s $f0, $f0, $f2 +/* 8AC8D0 80240940 E600003C */ swc1 $f0, 0x3c($s0) +/* 8AC8D4 80240944 8E230078 */ lw $v1, 0x78($s1) +/* 8AC8D8 80240948 C6020060 */ lwc1 $f2, 0x60($s0) +/* 8AC8DC 8024094C 00031040 */ sll $v0, $v1, 1 +/* 8AC8E0 80240950 00431021 */ addu $v0, $v0, $v1 +/* 8AC8E4 80240954 00021900 */ sll $v1, $v0, 4 +/* 8AC8E8 80240958 00431021 */ addu $v0, $v0, $v1 +/* 8AC8EC 8024095C 44820000 */ mtc1 $v0, $f0 +/* 8AC8F0 80240960 00000000 */ nop +/* 8AC8F4 80240964 46800020 */ cvt.s.w $f0, $f0 +/* 8AC8F8 80240968 46001080 */ add.s $f2, $f2, $f0 +/* 8AC8FC 8024096C 3C014319 */ lui $at, 0x4319 +/* 8AC900 80240970 44810000 */ mtc1 $at, $f0 +/* 8AC904 80240974 3C01428C */ lui $at, 0x428c +/* 8AC908 80240978 4481A000 */ mtc1 $at, $f20 +/* 8AC90C 8024097C 46001080 */ add.s $f2, $f2, $f0 +/* 8AC910 80240980 26040038 */ addiu $a0, $s0, 0x38 +/* 8AC914 80240984 4406A000 */ mfc1 $a2, $f20 +/* 8AC918 80240988 44071000 */ mfc1 $a3, $f2 +/* 8AC91C 8024098C 0C00A7E7 */ jal add_vec2D_polar +/* 8AC920 80240990 26050040 */ addiu $a1, $s0, 0x40 +/* 8AC924 80240994 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8AC928 80240998 46000007 */ neg.s $f0, $f0 +/* 8AC92C 8024099C 46160000 */ add.s $f0, $f0, $f22 +/* 8AC930 802409A0 46140000 */ add.s $f0, $f0, $f20 +/* 8AC934 802409A4 3C013E19 */ lui $at, 0x3e19 +/* 8AC938 802409A8 3421999A */ ori $at, $at, 0x999a +/* 8AC93C 802409AC 44811000 */ mtc1 $at, $f2 +/* 8AC940 802409B0 00000000 */ nop +/* 8AC944 802409B4 46020002 */ mul.s $f0, $f0, $f2 +/* 8AC948 802409B8 00000000 */ nop +/* 8AC94C 802409BC C602003C */ lwc1 $f2, 0x3c($s0) +/* 8AC950 802409C0 46001080 */ add.s $f2, $f2, $f0 +/* 8AC954 802409C4 3C034EC4 */ lui $v1, 0x4ec4 +/* 8AC958 802409C8 E602003C */ swc1 $f2, 0x3c($s0) +/* 8AC95C 802409CC 8E24007C */ lw $a0, 0x7c($s1) +/* 8AC960 802409D0 8E220078 */ lw $v0, 0x78($s1) +/* 8AC964 802409D4 3463EC4F */ ori $v1, $v1, 0xec4f +/* 8AC968 802409D8 00822021 */ addu $a0, $a0, $v0 +/* 8AC96C 802409DC 00830018 */ mult $a0, $v1 +/* 8AC970 802409E0 000417C3 */ sra $v0, $a0, 0x1f +/* 8AC974 802409E4 00004010 */ mfhi $t0 +/* 8AC978 802409E8 00081883 */ sra $v1, $t0, 2 +/* 8AC97C 802409EC 00621823 */ subu $v1, $v1, $v0 +/* 8AC980 802409F0 00031040 */ sll $v0, $v1, 1 +/* 8AC984 802409F4 00431021 */ addu $v0, $v0, $v1 +/* 8AC988 802409F8 00021080 */ sll $v0, $v0, 2 +/* 8AC98C 802409FC 00431021 */ addu $v0, $v0, $v1 +/* 8AC990 80240A00 1482000B */ bne $a0, $v0, .L80240A30 +/* 8AC994 80240A04 00000000 */ nop +/* 8AC998 80240A08 3C014120 */ lui $at, 0x4120 +/* 8AC99C 80240A0C 44810000 */ mtc1 $at, $f0 +/* 8AC9A0 80240A10 00000000 */ nop +/* 8AC9A4 80240A14 46001080 */ add.s $f2, $f2, $f0 +/* 8AC9A8 80240A18 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8AC9AC 80240A1C 8E050038 */ lw $a1, 0x38($s0) +/* 8AC9B0 80240A20 8E070040 */ lw $a3, 0x40($s0) +/* 8AC9B4 80240A24 44061000 */ mfc1 $a2, $f2 +/* 8AC9B8 80240A28 0C01BFBC */ jal func_8006FEF0 +/* 8AC9BC 80240A2C 24040003 */ addiu $a0, $zero, 3 +.L80240A30: +/* 8AC9C0 80240A30 8E2200BC */ lw $v0, 0xbc($s1) +/* 8AC9C4 80240A34 0040182D */ daddu $v1, $v0, $zero +/* 8AC9C8 80240A38 24420001 */ addiu $v0, $v0, 1 +/* 8AC9CC 80240A3C 286300B5 */ slti $v1, $v1, 0xb5 +/* 8AC9D0 80240A40 14600054 */ bnez $v1, .L80240B94 +/* 8AC9D4 80240A44 AE2200BC */ sw $v0, 0xbc($s1) +/* 8AC9D8 80240A48 24020003 */ addiu $v0, $zero, 3 +/* 8AC9DC 80240A4C AE220070 */ sw $v0, 0x70($s1) +.L80240A50: +/* 8AC9E0 80240A50 080902E5 */ j .L80240B94 +/* 8AC9E4 80240A54 AE2000BC */ sw $zero, 0xbc($s1) +.L80240A58: +/* 8AC9E8 80240A58 C6000064 */ lwc1 $f0, 0x64($s0) +/* 8AC9EC 80240A5C 3C013CF5 */ lui $at, 0x3cf5 +/* 8AC9F0 80240A60 3421C28F */ ori $at, $at, 0xc28f +/* 8AC9F4 80240A64 44811000 */ mtc1 $at, $f2 +/* 8AC9F8 80240A68 3C01C248 */ lui $at, 0xc248 +/* 8AC9FC 80240A6C 4481B000 */ mtc1 $at, $f22 +/* 8ACA00 80240A70 3C014237 */ lui $at, 0x4237 +/* 8ACA04 80240A74 3421FFFF */ ori $at, $at, 0xffff +/* 8ACA08 80240A78 44812000 */ mtc1 $at, $f4 +/* 8ACA0C 80240A7C AE000038 */ sw $zero, 0x38($s0) +/* 8ACA10 80240A80 46020001 */ sub.s $f0, $f0, $f2 +/* 8ACA14 80240A84 E6160040 */ swc1 $f22, 0x40($s0) +/* 8ACA18 80240A88 E604003C */ swc1 $f4, 0x3c($s0) +/* 8ACA1C 80240A8C E6000064 */ swc1 $f0, 0x64($s0) +/* 8ACA20 80240A90 8E230078 */ lw $v1, 0x78($s1) +/* 8ACA24 80240A94 C6020060 */ lwc1 $f2, 0x60($s0) +/* 8ACA28 80240A98 00031040 */ sll $v0, $v1, 1 +/* 8ACA2C 80240A9C 00431021 */ addu $v0, $v0, $v1 +/* 8ACA30 80240AA0 00021900 */ sll $v1, $v0, 4 +/* 8ACA34 80240AA4 00431021 */ addu $v0, $v0, $v1 +/* 8ACA38 80240AA8 44820000 */ mtc1 $v0, $f0 +/* 8ACA3C 80240AAC 00000000 */ nop +/* 8ACA40 80240AB0 46800020 */ cvt.s.w $f0, $f0 +/* 8ACA44 80240AB4 46001080 */ add.s $f2, $f2, $f0 +/* 8ACA48 80240AB8 3C014319 */ lui $at, 0x4319 +/* 8ACA4C 80240ABC 44810000 */ mtc1 $at, $f0 +/* 8ACA50 80240AC0 3C01428C */ lui $at, 0x428c +/* 8ACA54 80240AC4 4481A000 */ mtc1 $at, $f20 +/* 8ACA58 80240AC8 46001080 */ add.s $f2, $f2, $f0 +/* 8ACA5C 80240ACC 4406A000 */ mfc1 $a2, $f20 +/* 8ACA60 80240AD0 44071000 */ mfc1 $a3, $f2 +/* 8ACA64 80240AD4 0C00A7E7 */ jal add_vec2D_polar +/* 8ACA68 80240AD8 26050040 */ addiu $a1, $s0, 0x40 +/* 8ACA6C 80240ADC C6000040 */ lwc1 $f0, 0x40($s0) +/* 8ACA70 80240AE0 46000007 */ neg.s $f0, $f0 +/* 8ACA74 80240AE4 46160000 */ add.s $f0, $f0, $f22 +/* 8ACA78 80240AE8 46140000 */ add.s $f0, $f0, $f20 +/* 8ACA7C 80240AEC 3C013E19 */ lui $at, 0x3e19 +/* 8ACA80 80240AF0 3421999A */ ori $at, $at, 0x999a +/* 8ACA84 80240AF4 44811000 */ mtc1 $at, $f2 +/* 8ACA88 80240AF8 00000000 */ nop +/* 8ACA8C 80240AFC 46020002 */ mul.s $f0, $f0, $f2 +/* 8ACA90 80240B00 00000000 */ nop +/* 8ACA94 80240B04 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8ACA98 80240B08 46001080 */ add.s $f2, $f2, $f0 +/* 8ACA9C 80240B0C 3C034EC4 */ lui $v1, 0x4ec4 +/* 8ACAA0 80240B10 E602003C */ swc1 $f2, 0x3c($s0) +/* 8ACAA4 80240B14 8E24007C */ lw $a0, 0x7c($s1) +/* 8ACAA8 80240B18 8E220078 */ lw $v0, 0x78($s1) +/* 8ACAAC 80240B1C 3463EC4F */ ori $v1, $v1, 0xec4f +/* 8ACAB0 80240B20 00822021 */ addu $a0, $a0, $v0 +/* 8ACAB4 80240B24 00830018 */ mult $a0, $v1 +/* 8ACAB8 80240B28 000417C3 */ sra $v0, $a0, 0x1f +/* 8ACABC 80240B2C 00004010 */ mfhi $t0 +/* 8ACAC0 80240B30 00081883 */ sra $v1, $t0, 2 +/* 8ACAC4 80240B34 00621823 */ subu $v1, $v1, $v0 +/* 8ACAC8 80240B38 00031040 */ sll $v0, $v1, 1 +/* 8ACACC 80240B3C 00431021 */ addu $v0, $v0, $v1 +/* 8ACAD0 80240B40 00021080 */ sll $v0, $v0, 2 +/* 8ACAD4 80240B44 00431021 */ addu $v0, $v0, $v1 +/* 8ACAD8 80240B48 1482000B */ bne $a0, $v0, .L80240B78 +/* 8ACADC 80240B4C 00000000 */ nop +/* 8ACAE0 80240B50 3C014120 */ lui $at, 0x4120 +/* 8ACAE4 80240B54 44810000 */ mtc1 $at, $f0 +/* 8ACAE8 80240B58 00000000 */ nop +/* 8ACAEC 80240B5C 46001080 */ add.s $f2, $f2, $f0 +/* 8ACAF0 80240B60 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8ACAF4 80240B64 8E050038 */ lw $a1, 0x38($s0) +/* 8ACAF8 80240B68 8E070040 */ lw $a3, 0x40($s0) +/* 8ACAFC 80240B6C 44061000 */ mfc1 $a2, $f2 +/* 8ACB00 80240B70 0C01BFBC */ jal func_8006FEF0 +/* 8ACB04 80240B74 24040003 */ addiu $a0, $zero, 3 +.L80240B78: +/* 8ACB08 80240B78 C6020064 */ lwc1 $f2, 0x64($s0) +/* 8ACB0C 80240B7C 44800000 */ mtc1 $zero, $f0 +/* 8ACB10 80240B80 00000000 */ nop +/* 8ACB14 80240B84 4600103C */ c.lt.s $f2, $f0 +/* 8ACB18 80240B88 00000000 */ nop +/* 8ACB1C 80240B8C 45030001 */ bc1tl .L80240B94 +/* 8ACB20 80240B90 24130002 */ addiu $s3, $zero, 2 +.L80240B94: +/* 8ACB24 80240B94 8E22007C */ lw $v0, 0x7c($s1) +/* 8ACB28 80240B98 24420001 */ addiu $v0, $v0, 1 +/* 8ACB2C 80240B9C AE22007C */ sw $v0, 0x7c($s1) +/* 8ACB30 80240BA0 C6000060 */ lwc1 $f0, 0x60($s0) +/* 8ACB34 80240BA4 C6020064 */ lwc1 $f2, 0x64($s0) +/* 8ACB38 80240BA8 46020000 */ add.s $f0, $f0, $f2 +/* 8ACB3C 80240BAC 0260102D */ daddu $v0, $s3, $zero +/* 8ACB40 80240BB0 E6000060 */ swc1 $f0, 0x60($s0) +/* 8ACB44 80240BB4 8FBF0028 */ lw $ra, 0x28($sp) +/* 8ACB48 80240BB8 8FB30024 */ lw $s3, 0x24($sp) +/* 8ACB4C 80240BBC 8FB20020 */ lw $s2, 0x20($sp) +/* 8ACB50 80240BC0 8FB1001C */ lw $s1, 0x1c($sp) +/* 8ACB54 80240BC4 8FB00018 */ lw $s0, 0x18($sp) +/* 8ACB58 80240BC8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 8ACB5C 80240BCC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 8ACB60 80240BD0 03E00008 */ jr $ra +/* 8ACB64 80240BD4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240BD8.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240BD8.s new file mode 100644 index 0000000000..9bd587c999 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240BD8.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD8 +/* 8ACB68 80240BD8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8ACB6C 80240BDC AFB1001C */ sw $s1, 0x1c($sp) +/* 8ACB70 80240BE0 0080882D */ daddu $s1, $a0, $zero +/* 8ACB74 80240BE4 AFBF0020 */ sw $ra, 0x20($sp) +/* 8ACB78 80240BE8 AFB00018 */ sw $s0, 0x18($sp) +/* 8ACB7C 80240BEC 10A0001D */ beqz $a1, .L80240C64 +/* 8ACB80 80240BF0 8E22000C */ lw $v0, 0xc($s1) +/* 8ACB84 80240BF4 0C0B1EAF */ jal get_variable +/* 8ACB88 80240BF8 8C450000 */ lw $a1, ($v0) +/* 8ACB8C 80240BFC 0040202D */ daddu $a0, $v0, $zero +/* 8ACB90 80240C00 0C00EABB */ jal get_npc_unsafe +/* 8ACB94 80240C04 AE240074 */ sw $a0, 0x74($s1) +/* 8ACB98 80240C08 0040802D */ daddu $s0, $v0, $zero +/* 8ACB9C 80240C0C 3C04B000 */ lui $a0, 0xb000 +/* 8ACBA0 80240C10 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8ACBA4 80240C14 3484001E */ ori $a0, $a0, 0x1e +/* 8ACBA8 80240C18 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8ACBAC 80240C1C 8E060038 */ lw $a2, 0x38($s0) +/* 8ACBB0 80240C20 8E07003C */ lw $a3, 0x3c($s0) +/* 8ACBB4 80240C24 0C052757 */ jal play_sound_at_position +/* 8ACBB8 80240C28 0000282D */ daddu $a1, $zero, $zero +/* 8ACBBC 80240C2C C604003C */ lwc1 $f4, 0x3c($s0) +/* 8ACBC0 80240C30 3C0141A0 */ lui $at, 0x41a0 +/* 8ACBC4 80240C34 44810000 */ mtc1 $at, $f0 +/* 8ACBC8 80240C38 3C014120 */ lui $at, 0x4120 +/* 8ACBCC 80240C3C 44811000 */ mtc1 $at, $f2 +/* 8ACBD0 80240C40 46002100 */ add.s $f4, $f4, $f0 +/* 8ACBD4 80240C44 E7A20010 */ swc1 $f2, 0x10($sp) +/* 8ACBD8 80240C48 8E050038 */ lw $a1, 0x38($s0) +/* 8ACBDC 80240C4C 8E070040 */ lw $a3, 0x40($s0) +/* 8ACBE0 80240C50 44062000 */ mfc1 $a2, $f4 +/* 8ACBE4 80240C54 0C01BFBC */ jal func_8006FEF0 +/* 8ACBE8 80240C58 0000202D */ daddu $a0, $zero, $zero +/* 8ACBEC 80240C5C 24020003 */ addiu $v0, $zero, 3 +/* 8ACBF0 80240C60 AE220070 */ sw $v0, 0x70($s1) +.L80240C64: +/* 8ACBF4 80240C64 0C00EABB */ jal get_npc_unsafe +/* 8ACBF8 80240C68 8E240074 */ lw $a0, 0x74($s1) +/* 8ACBFC 80240C6C 0040802D */ daddu $s0, $v0, $zero +/* 8ACC00 80240C70 8E230070 */ lw $v1, 0x70($s1) +/* 8ACC04 80240C74 2402FFFF */ addiu $v0, $zero, -1 +/* 8ACC08 80240C78 2463FFFF */ addiu $v1, $v1, -1 +/* 8ACC0C 80240C7C 10620003 */ beq $v1, $v0, .L80240C8C +/* 8ACC10 80240C80 AE230070 */ sw $v1, 0x70($s1) +/* 8ACC14 80240C84 08090327 */ j .L80240C9C +/* 8ACC18 80240C88 0000102D */ daddu $v0, $zero, $zero +.L80240C8C: +/* 8ACC1C 80240C8C 3C01C47A */ lui $at, 0xc47a +/* 8ACC20 80240C90 44810000 */ mtc1 $at, $f0 +/* 8ACC24 80240C94 24020002 */ addiu $v0, $zero, 2 +/* 8ACC28 80240C98 E600003C */ swc1 $f0, 0x3c($s0) +.L80240C9C: +/* 8ACC2C 80240C9C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8ACC30 80240CA0 8FB1001C */ lw $s1, 0x1c($sp) +/* 8ACC34 80240CA4 8FB00018 */ lw $s0, 0x18($sp) +/* 8ACC38 80240CA8 03E00008 */ jr $ra +/* 8ACC3C 80240CAC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_00/func_80240CB0.s b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240CB0.s new file mode 100644 index 0000000000..19531de2fd --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_00/func_80240CB0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB0 +/* 8ACC40 80240CB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ACC44 80240CB4 AFB10014 */ sw $s1, 0x14($sp) +/* 8ACC48 80240CB8 0080882D */ daddu $s1, $a0, $zero +/* 8ACC4C 80240CBC AFBF0018 */ sw $ra, 0x18($sp) +/* 8ACC50 80240CC0 10A0000C */ beqz $a1, .L80240CF4 +/* 8ACC54 80240CC4 AFB00010 */ sw $s0, 0x10($sp) +/* 8ACC58 80240CC8 8E24014C */ lw $a0, 0x14c($s1) +/* 8ACC5C 80240CCC 0C00EAD2 */ jal get_npc_safe +/* 8ACC60 80240CD0 AE200074 */ sw $zero, 0x74($s1) +/* 8ACC64 80240CD4 8E23014C */ lw $v1, 0x14c($s1) +/* 8ACC68 80240CD8 AE220078 */ sw $v0, 0x78($s1) +/* 8ACC6C 80240CDC 2463FFFF */ addiu $v1, $v1, -1 +/* 8ACC70 80240CE0 00031840 */ sll $v1, $v1, 1 +/* 8ACC74 80240CE4 3C028024 */ lui $v0, 0x8024 +/* 8ACC78 80240CE8 00431021 */ addu $v0, $v0, $v1 +/* 8ACC7C 80240CEC 84422D60 */ lh $v0, 0x2d60($v0) +/* 8ACC80 80240CF0 AE22007C */ sw $v0, 0x7c($s1) +.L80240CF4: +/* 8ACC84 80240CF4 8E22007C */ lw $v0, 0x7c($s1) +/* 8ACC88 80240CF8 14400015 */ bnez $v0, .L80240D50 +/* 8ACC8C 80240CFC 2442FFFF */ addiu $v0, $v0, -1 +/* 8ACC90 80240D00 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8ACC94 80240D04 0C00A8BB */ jal sin_deg +/* 8ACC98 80240D08 8E300078 */ lw $s0, 0x78($s1) +/* 8ACC9C 80240D0C 3C013FC0 */ lui $at, 0x3fc0 +/* 8ACCA0 80240D10 44811000 */ mtc1 $at, $f2 +/* 8ACCA4 80240D14 00000000 */ nop +/* 8ACCA8 80240D18 46020002 */ mul.s $f0, $f0, $f2 +/* 8ACCAC 80240D1C 00000000 */ nop +/* 8ACCB0 80240D20 3C014190 */ lui $at, 0x4190 +/* 8ACCB4 80240D24 44816000 */ mtc1 $at, $f12 +/* 8ACCB8 80240D28 4600010D */ trunc.w.s $f4, $f0 +/* 8ACCBC 80240D2C 44022000 */ mfc1 $v0, $f4 +/* 8ACCC0 80240D30 00000000 */ nop +/* 8ACCC4 80240D34 A20200AB */ sb $v0, 0xab($s0) +/* 8ACCC8 80240D38 C6200074 */ lwc1 $f0, 0x74($s1) +/* 8ACCCC 80240D3C 0C00A6C9 */ jal clamp_angle +/* 8ACCD0 80240D40 460C0300 */ add.s $f12, $f0, $f12 +/* 8ACCD4 80240D44 0000102D */ daddu $v0, $zero, $zero +/* 8ACCD8 80240D48 08090356 */ j .L80240D58 +/* 8ACCDC 80240D4C E6200074 */ swc1 $f0, 0x74($s1) +.L80240D50: +/* 8ACCE0 80240D50 AE22007C */ sw $v0, 0x7c($s1) +/* 8ACCE4 80240D54 0000102D */ daddu $v0, $zero, $zero +.L80240D58: +/* 8ACCE8 80240D58 8FBF0018 */ lw $ra, 0x18($sp) +/* 8ACCEC 80240D5C 8FB10014 */ lw $s1, 0x14($sp) +/* 8ACCF0 80240D60 8FB00010 */ lw $s0, 0x10($sp) +/* 8ACCF4 80240D64 03E00008 */ jr $ra +/* 8ACCF8 80240D68 27BD0020 */ addiu $sp, $sp, 0x20 +/* 8ACCFC 80240D6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240000_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240000_8B0070.s new file mode 100644 index 0000000000..8d62115dcf --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240000_8B0070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8B0070 +/* 8B0070 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8B0074 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8B0078 80240008 8C430004 */ lw $v1, 4($v0) +/* 8B007C 8024000C 3C040010 */ lui $a0, 0x10 +/* 8B0080 80240010 00641825 */ or $v1, $v1, $a0 +/* 8B0084 80240014 AC430004 */ sw $v1, 4($v0) +/* 8B0088 80240018 03E00008 */ jr $ra +/* 8B008C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240020_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240020_8B0070.s new file mode 100644 index 0000000000..4aa3faef7d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240020_8B0070.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_8B0090 +/* 8B0090 80240020 3C028016 */ lui $v0, 0x8016 +/* 8B0094 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 8B0098 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 8B009C 8024002C 03E00008 */ jr $ra +/* 8B00A0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240034_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240034_8B0070.s new file mode 100644 index 0000000000..e1e1579bd5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240034_8B0070.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_8B00A4 +/* 8B00A4 80240034 3C038016 */ lui $v1, 0x8016 +/* 8B00A8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 8B00AC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B00B0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 8B00B4 80240044 0080802D */ daddu $s0, $a0, $zero +/* 8B00B8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B00BC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8B00C0 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 8B00C4 80240054 24020002 */ addiu $v0, $zero, 2 +/* 8B00C8 80240058 08090038 */ j .L802400E0 +/* 8B00CC 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 8B00D0 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8B00D4 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8B00D8 80240068 80620040 */ lb $v0, 0x40($v1) +/* 8B00DC 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 8B00E0 80240070 04420001 */ bltzl $v0, .L80240078 +/* 8B00E4 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 8B00E8 80240078 14400003 */ bnez $v0, .L80240088 +/* 8B00EC 8024007C 00000000 */ nop +/* 8B00F0 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 8B00F4 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 8B00F8 80240088 44822000 */ mtc1 $v0, $f4 +/* 8B00FC 8024008C 00000000 */ nop +/* 8B0100 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 8B0104 80240094 44062000 */ mfc1 $a2, $f4 +/* 8B0108 80240098 44872000 */ mtc1 $a3, $f4 +/* 8B010C 8024009C 00000000 */ nop +/* 8B0110 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 8B0114 802400A4 44806000 */ mtc1 $zero, $f12 +/* 8B0118 802400A8 44072000 */ mfc1 $a3, $f4 +/* 8B011C 802400AC 0C00A720 */ jal atan2 +/* 8B0120 802400B0 46006386 */ mov.s $f14, $f12 +/* 8B0124 802400B4 3C014270 */ lui $at, 0x4270 +/* 8B0128 802400B8 44811000 */ mtc1 $at, $f2 +/* 8B012C 802400BC 00000000 */ nop +/* 8B0130 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 8B0134 802400C4 00000000 */ nop +/* 8B0138 802400C8 45000004 */ bc1f .L802400DC +/* 8B013C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 8B0140 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 8B0144 802400D4 08090038 */ j .L802400E0 +/* 8B0148 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 8B014C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8B0150 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B0154 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0158 802400E8 03E00008 */ jr $ra +/* 8B015C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802400F0_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802400F0_8B0070.s new file mode 100644 index 0000000000..c6ddcda55c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802400F0_8B0070.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8B0160 +/* 8B0160 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0164 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0168 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8B016C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 8B0170 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 8B0174 80240104 0C016AFA */ jal get_current_map_header +/* 8B0178 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 8B017C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 8B0180 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 8B0184 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8B0188 80240118 0C0B1EAF */ jal get_variable +/* 8B018C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 8B0190 80240120 0220202D */ daddu $a0, $s1, $zero +/* 8B0194 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 8B0198 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 8B019C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 8B01A0 80240130 02031821 */ addu $v1, $s0, $v1 +/* 8B01A4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 8B01A8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 8B01AC 8024013C 44061000 */ mfc1 $a2, $f2 +/* 8B01B0 80240140 0C0B2026 */ jal set_variable +/* 8B01B4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8B01B8 80240148 0220202D */ daddu $a0, $s1, $zero +/* 8B01BC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 8B01C0 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 8B01C4 80240154 02021021 */ addu $v0, $s0, $v0 +/* 8B01C8 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 8B01CC 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 8B01D0 80240160 44061000 */ mfc1 $a2, $f2 +/* 8B01D4 80240164 0C0B2026 */ jal set_variable +/* 8B01D8 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8B01DC 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 8B01E0 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 8B01E4 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 8B01E8 80240178 02021021 */ addu $v0, $s0, $v0 +/* 8B01EC 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 8B01F0 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 8B01F4 80240184 44061000 */ mfc1 $a2, $f2 +/* 8B01F8 80240188 0C0B2026 */ jal set_variable +/* 8B01FC 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8B0200 80240190 0220202D */ daddu $a0, $s1, $zero +/* 8B0204 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 8B0208 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 8B020C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 8B0210 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8B0214 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 8B0218 802401A8 44061000 */ mfc1 $a2, $f2 +/* 8B021C 802401AC 0C0B2026 */ jal set_variable +/* 8B0220 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8B0224 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B0228 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 8B022C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0230 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0234 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 8B0238 802401C8 03E00008 */ jr $ra +/* 8B023C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802401D0_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802401D0_8B0070.s new file mode 100644 index 0000000000..dc98d3d196 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802401D0_8B0070.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_8B0240 +/* 8B0240 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8B0244 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8B0248 802401D8 3C014334 */ lui $at, 0x4334 +/* 8B024C 802401DC 44816000 */ mtc1 $at, $f12 +/* 8B0250 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0254 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B0258 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8B025C 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8B0260 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8B0264 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8B0268 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8B026C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8B0270 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8B0274 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8B0278 80240208 3C01800B */ lui $at, 0x800b +/* 8B027C 8024020C 00220821 */ addu $at, $at, $v0 +/* 8B0280 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8B0284 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8B0288 80240218 0C00A6C9 */ jal clamp_angle +/* 8B028C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 8B0290 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 8B0294 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 8B0298 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B029C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 8B02A0 80240230 24020002 */ addiu $v0, $zero, 2 +/* 8B02A4 80240234 03E00008 */ jr $ra +/* 8B02A8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024023C_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024023C_8B0070.s new file mode 100644 index 0000000000..cf9f22adaf --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024023C_8B0070.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_8B02AC +/* 8B02AC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B02B0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 8B02B4 80240244 0080802D */ daddu $s0, $a0, $zero +/* 8B02B8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B02BC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8B02C0 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 8B02C4 80240254 0C0B210B */ jal get_float_variable +/* 8B02C8 80240258 8C450000 */ lw $a1, ($v0) +/* 8B02CC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B02D0 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8B02D4 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8B02D8 80240268 44060000 */ mfc1 $a2, $f0 +/* 8B02DC 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 8B02E0 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8B02E4 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B02E8 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8B02EC 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 8B02F0 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 8B02F4 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 8B02F8 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 8B02FC 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 8B0300 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 8B0304 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 8B0308 80240298 0C0B2190 */ jal set_float_variable +/* 8B030C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8B0310 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 8B0314 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 8B0318 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 8B031C 802402AC 0C0B2190 */ jal set_float_variable +/* 8B0320 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8B0324 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 8B0328 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 8B032C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 8B0330 802402C0 0C0B2190 */ jal set_float_variable +/* 8B0334 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8B0338 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B033C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8B0340 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8B0344 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 8B0348 802402D8 03E00008 */ jr $ra +/* 8B034C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802402E0_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802402E0_8B0070.s new file mode 100644 index 0000000000..441c43efc6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802402E0_8B0070.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8B0350 +/* 8B0350 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0354 802402E4 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0358 802402E8 0080882D */ daddu $s1, $a0, $zero +/* 8B035C 802402EC AFBF0018 */ sw $ra, 0x18($sp) +/* 8B0360 802402F0 AFB00010 */ sw $s0, 0x10($sp) +/* 8B0364 802402F4 8E30000C */ lw $s0, 0xc($s1) +/* 8B0368 802402F8 8E050000 */ lw $a1, ($s0) +/* 8B036C 802402FC 0C0B1EAF */ jal get_variable +/* 8B0370 80240300 26100004 */ addiu $s0, $s0, 4 +/* 8B0374 80240304 0220202D */ daddu $a0, $s1, $zero +/* 8B0378 80240308 8E050000 */ lw $a1, ($s0) +/* 8B037C 8024030C 0C0B1EAF */ jal get_variable +/* 8B0380 80240310 0040802D */ daddu $s0, $v0, $zero +/* 8B0384 80240314 0200202D */ daddu $a0, $s0, $zero +/* 8B0388 80240318 00021080 */ sll $v0, $v0, 2 +/* 8B038C 8024031C 3C108024 */ lui $s0, 0x8024 +/* 8B0390 80240320 02028021 */ addu $s0, $s0, $v0 +/* 8B0394 80240324 0C00FB3A */ jal get_enemy +/* 8B0398 80240328 8E104B2C */ lw $s0, 0x4b2c($s0) +/* 8B039C 8024032C 0040302D */ daddu $a2, $v0, $zero +/* 8B03A0 80240330 0000282D */ daddu $a1, $zero, $zero +.L80240334: +/* 8B03A4 80240334 8E040000 */ lw $a0, ($s0) +/* 8B03A8 80240338 00051080 */ sll $v0, $a1, 2 +/* 8B03AC 8024033C 8CC300D0 */ lw $v1, 0xd0($a2) +/* 8B03B0 80240340 24A50001 */ addiu $a1, $a1, 1 +/* 8B03B4 80240344 00431021 */ addu $v0, $v0, $v1 +/* 8B03B8 80240348 AC440000 */ sw $a0, ($v0) +/* 8B03BC 8024034C 28A2000E */ slti $v0, $a1, 0xe +/* 8B03C0 80240350 1440FFF8 */ bnez $v0, .L80240334 +/* 8B03C4 80240354 26100004 */ addiu $s0, $s0, 4 +/* 8B03C8 80240358 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B03CC 8024035C 8FB10014 */ lw $s1, 0x14($sp) +/* 8B03D0 80240360 8FB00010 */ lw $s0, 0x10($sp) +/* 8B03D4 80240364 24020002 */ addiu $v0, $zero, 2 +/* 8B03D8 80240368 03E00008 */ jr $ra +/* 8B03DC 8024036C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240370_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240370_8B0070.s new file mode 100644 index 0000000000..7a24dda208 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240370_8B0070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_8B03E0 +/* 8B03E0 80240370 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B03E4 80240374 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B03E8 80240378 0C00D77C */ jal func_80035DF0 +/* 8B03EC 8024037C 24040001 */ addiu $a0, $zero, 1 +/* 8B03F0 80240380 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B03F4 80240384 24020002 */ addiu $v0, $zero, 2 +/* 8B03F8 80240388 03E00008 */ jr $ra +/* 8B03FC 8024038C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240390.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240390.s new file mode 100644 index 0000000000..634d511b6a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240390.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240390 +/* 8B0400 80240390 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0404 80240394 AFB00010 */ sw $s0, 0x10($sp) +/* 8B0408 80240398 3C108024 */ lui $s0, 0x8024 +/* 8B040C 8024039C 261055D0 */ addiu $s0, $s0, 0x55d0 +/* 8B0410 802403A0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B0414 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0418 802403A8 8E020000 */ lw $v0, ($s0) +/* 8B041C 802403AC 14400010 */ bnez $v0, .L802403F0 +/* 8B0420 802403B0 0080882D */ daddu $s1, $a0, $zero +/* 8B0424 802403B4 0C00AB39 */ jal heap_malloc +/* 8B0428 802403B8 24040040 */ addiu $a0, $zero, 0x40 +/* 8B042C 802403BC AE020000 */ sw $v0, ($s0) +/* 8B0430 802403C0 0000182D */ daddu $v1, $zero, $zero +/* 8B0434 802403C4 0040282D */ daddu $a1, $v0, $zero +/* 8B0438 802403C8 0220202D */ daddu $a0, $s1, $zero +.L802403CC: +/* 8B043C 802403CC 8C820084 */ lw $v0, 0x84($a0) +/* 8B0440 802403D0 24840004 */ addiu $a0, $a0, 4 +/* 8B0444 802403D4 24630001 */ addiu $v1, $v1, 1 +/* 8B0448 802403D8 ACA20000 */ sw $v0, ($a1) +/* 8B044C 802403DC 28620010 */ slti $v0, $v1, 0x10 +/* 8B0450 802403E0 1440FFFA */ bnez $v0, .L802403CC +/* 8B0454 802403E4 24A50004 */ addiu $a1, $a1, 4 +/* 8B0458 802403E8 0809010B */ j .L8024042C +/* 8B045C 802403EC 00000000 */ nop +.L802403F0: +/* 8B0460 802403F0 0000182D */ daddu $v1, $zero, $zero +/* 8B0464 802403F4 0040282D */ daddu $a1, $v0, $zero +/* 8B0468 802403F8 0220202D */ daddu $a0, $s1, $zero +.L802403FC: +/* 8B046C 802403FC 8CA20000 */ lw $v0, ($a1) +/* 8B0470 80240400 24A50004 */ addiu $a1, $a1, 4 +/* 8B0474 80240404 24630001 */ addiu $v1, $v1, 1 +/* 8B0478 80240408 AC820084 */ sw $v0, 0x84($a0) +/* 8B047C 8024040C 28620010 */ slti $v0, $v1, 0x10 +/* 8B0480 80240410 1440FFFA */ bnez $v0, .L802403FC +/* 8B0484 80240414 24840004 */ addiu $a0, $a0, 4 +/* 8B0488 80240418 3C108024 */ lui $s0, 0x8024 +/* 8B048C 8024041C 261055D0 */ addiu $s0, $s0, 0x55d0 +/* 8B0490 80240420 0C00AB4B */ jal heap_free +/* 8B0494 80240424 8E040000 */ lw $a0, ($s0) +/* 8B0498 80240428 AE000000 */ sw $zero, ($s0) +.L8024042C: +/* 8B049C 8024042C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B04A0 80240430 8FB10014 */ lw $s1, 0x14($sp) +/* 8B04A4 80240434 8FB00010 */ lw $s0, 0x10($sp) +/* 8B04A8 80240438 24020002 */ addiu $v0, $zero, 2 +/* 8B04AC 8024043C 03E00008 */ jr $ra +/* 8B04B0 80240440 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240444.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240444.s new file mode 100644 index 0000000000..5a6a5b8ec2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240444.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240444 +/* 8B04B4 80240444 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B04B8 80240448 AFB00010 */ sw $s0, 0x10($sp) +/* 8B04BC 8024044C 0080802D */ daddu $s0, $a0, $zero +/* 8B04C0 80240450 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B04C4 80240454 AFB10014 */ sw $s1, 0x14($sp) +/* 8B04C8 80240458 8E02000C */ lw $v0, 0xc($s0) +/* 8B04CC 8024045C 8C510000 */ lw $s1, ($v0) +/* 8B04D0 80240460 0C0B1EAF */ jal get_variable +/* 8B04D4 80240464 0220282D */ daddu $a1, $s1, $zero +/* 8B04D8 80240468 3C03FFF0 */ lui $v1, 0xfff0 +/* 8B04DC 8024046C 3463FFFF */ ori $v1, $v1, 0xffff +/* 8B04E0 80240470 0200202D */ daddu $a0, $s0, $zero +/* 8B04E4 80240474 00431024 */ and $v0, $v0, $v1 +/* 8B04E8 80240478 00021140 */ sll $v0, $v0, 5 +/* 8B04EC 8024047C 3C068008 */ lui $a2, %hi(gItemTable) +/* 8B04F0 80240480 00C23021 */ addu $a2, $a2, $v0 +/* 8B04F4 80240484 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 8B04F8 80240488 0C0B2026 */ jal set_variable +/* 8B04FC 8024048C 0220282D */ daddu $a1, $s1, $zero +/* 8B0500 80240490 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B0504 80240494 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0508 80240498 8FB00010 */ lw $s0, 0x10($sp) +/* 8B050C 8024049C 24020002 */ addiu $v0, $zero, 2 +/* 8B0510 802404A0 03E00008 */ jr $ra +/* 8B0514 802404A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802404A8.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404A8.s new file mode 100644 index 0000000000..eaec2a8eea --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404A8.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A8 +/* 8B0518 802404A8 24020001 */ addiu $v0, $zero, 1 +/* 8B051C 802404AC 3C018015 */ lui $at, %hi(D_80151310) +/* 8B0520 802404B0 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 8B0524 802404B4 03E00008 */ jr $ra +/* 8B0528 802404B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802404BC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404BC.s new file mode 100644 index 0000000000..2292d38343 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404BC.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404BC +/* 8B052C 802404BC 3C018015 */ lui $at, %hi(D_80151310) +/* 8B0530 802404C0 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 8B0534 802404C4 03E00008 */ jr $ra +/* 8B0538 802404C8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802404CC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404CC.s new file mode 100644 index 0000000000..87c640bf80 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802404CC.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC +/* 8B053C 802404CC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B0540 802404D0 AFB10024 */ sw $s1, 0x24($sp) +/* 8B0544 802404D4 0080882D */ daddu $s1, $a0, $zero +/* 8B0548 802404D8 3C05F840 */ lui $a1, 0xf840 +/* 8B054C 802404DC AFBF0044 */ sw $ra, 0x44($sp) +/* 8B0550 802404E0 AFBE0040 */ sw $fp, 0x40($sp) +/* 8B0554 802404E4 AFB7003C */ sw $s7, 0x3c($sp) +/* 8B0558 802404E8 AFB60038 */ sw $s6, 0x38($sp) +/* 8B055C 802404EC AFB50034 */ sw $s5, 0x34($sp) +/* 8B0560 802404F0 AFB40030 */ sw $s4, 0x30($sp) +/* 8B0564 802404F4 AFB3002C */ sw $s3, 0x2c($sp) +/* 8B0568 802404F8 AFB20028 */ sw $s2, 0x28($sp) +/* 8B056C 802404FC AFB00020 */ sw $s0, 0x20($sp) +/* 8B0570 80240500 8E3E0148 */ lw $fp, 0x148($s1) +/* 8B0574 80240504 0C0B1EAF */ jal get_variable +/* 8B0578 80240508 34A56268 */ ori $a1, $a1, 0x6268 +/* 8B057C 8024050C 0040802D */ daddu $s0, $v0, $zero +/* 8B0580 80240510 0220202D */ daddu $a0, $s1, $zero +/* 8B0584 80240514 3C05F840 */ lui $a1, 0xf840 +/* 8B0588 80240518 0C0B1EAF */ jal get_variable +/* 8B058C 8024051C 34A56269 */ ori $a1, $a1, 0x6269 +/* 8B0590 80240520 0040B82D */ daddu $s7, $v0, $zero +/* 8B0594 80240524 0220202D */ daddu $a0, $s1, $zero +/* 8B0598 80240528 3C05F5DE */ lui $a1, 0xf5de +/* 8B059C 8024052C 0C0B1EAF */ jal get_variable +/* 8B05A0 80240530 34A502DE */ ori $a1, $a1, 0x2de +/* 8B05A4 80240534 0040B02D */ daddu $s6, $v0, $zero +/* 8B05A8 80240538 0220202D */ daddu $a0, $s1, $zero +/* 8B05AC 8024053C 3C05F5DE */ lui $a1, 0xf5de +/* 8B05B0 80240540 0C0B1EAF */ jal get_variable +/* 8B05B4 80240544 34A502DF */ ori $a1, $a1, 0x2df +/* 8B05B8 80240548 0040A82D */ daddu $s5, $v0, $zero +/* 8B05BC 8024054C 93D3006D */ lbu $s3, 0x6d($fp) +/* 8B05C0 80240550 32C2FFFF */ andi $v0, $s6, 0xffff +/* 8B05C4 80240554 A7B30010 */ sh $s3, 0x10($sp) +/* 8B05C8 80240558 93D2006E */ lbu $s2, 0x6e($fp) +/* 8B05CC 8024055C 93C7006F */ lbu $a3, 0x6f($fp) +/* 8B05D0 80240560 3274FFFF */ andi $s4, $s3, 0xffff +/* 8B05D4 80240564 12820003 */ beq $s4, $v0, .L80240574 +/* 8B05D8 80240568 A7A7001E */ sh $a3, 0x1e($sp) +/* 8B05DC 8024056C 0000B82D */ daddu $s7, $zero, $zero +/* 8B05E0 80240570 02E0802D */ daddu $s0, $s7, $zero +.L80240574: +/* 8B05E4 80240574 3202FFFF */ andi $v0, $s0, 0xffff +/* 8B05E8 80240578 14400016 */ bnez $v0, .L802405D4 +/* 8B05EC 8024057C 0220202D */ daddu $a0, $s1, $zero +/* 8B05F0 80240580 0C00A67F */ jal rand_int +/* 8B05F4 80240584 24040064 */ addiu $a0, $zero, 0x64 +/* 8B05F8 80240588 2842001E */ slti $v0, $v0, 0x1e +/* 8B05FC 8024058C 10400011 */ beqz $v0, .L802405D4 +/* 8B0600 80240590 0220202D */ daddu $a0, $s1, $zero +/* 8B0604 80240594 0C00A67F */ jal rand_int +/* 8B0608 80240598 2644FFFF */ addiu $a0, $s2, -1 +/* 8B060C 8024059C 0040A82D */ daddu $s5, $v0, $zero +/* 8B0610 802405A0 0260B02D */ daddu $s6, $s3, $zero +/* 8B0614 802405A4 0220202D */ daddu $a0, $s1, $zero +/* 8B0618 802405A8 3C05F5DE */ lui $a1, 0xf5de +/* 8B061C 802405AC 34A502DE */ ori $a1, $a1, 0x2de +/* 8B0620 802405B0 0C0B2026 */ jal set_variable +/* 8B0624 802405B4 0280302D */ daddu $a2, $s4, $zero +/* 8B0628 802405B8 0220202D */ daddu $a0, $s1, $zero +/* 8B062C 802405BC 3C05F5DE */ lui $a1, 0xf5de +/* 8B0630 802405C0 34A502DF */ ori $a1, $a1, 0x2df +/* 8B0634 802405C4 0C0B2026 */ jal set_variable +/* 8B0638 802405C8 32A6FFFF */ andi $a2, $s5, 0xffff +/* 8B063C 802405CC 24100001 */ addiu $s0, $zero, 1 +/* 8B0640 802405D0 0220202D */ daddu $a0, $s1, $zero +.L802405D4: +/* 8B0644 802405D4 3C05F840 */ lui $a1, 0xf840 +/* 8B0648 802405D8 34A56268 */ ori $a1, $a1, 0x6268 +/* 8B064C 802405DC 0C0B2026 */ jal set_variable +/* 8B0650 802405E0 3206FFFF */ andi $a2, $s0, 0xffff +/* 8B0654 802405E4 0220202D */ daddu $a0, $s1, $zero +/* 8B0658 802405E8 3C05F840 */ lui $a1, 0xf840 +/* 8B065C 802405EC 34A56269 */ ori $a1, $a1, 0x6269 +/* 8B0660 802405F0 0C0B2026 */ jal set_variable +/* 8B0664 802405F4 32E6FFFF */ andi $a2, $s7, 0xffff +/* 8B0668 802405F8 0000202D */ daddu $a0, $zero, $zero +/* 8B066C 802405FC 3C05F5DE */ lui $a1, 0xf5de +/* 8B0670 80240600 0C0B1EAF */ jal get_variable +/* 8B0674 80240604 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 8B0678 80240608 0000202D */ daddu $a0, $zero, $zero +/* 8B067C 8024060C 3C05F5DE */ lui $a1, 0xf5de +/* 8B0680 80240610 34A50180 */ ori $a1, $a1, 0x180 +/* 8B0684 80240614 0C0B1EAF */ jal get_variable +/* 8B0688 80240618 0040802D */ daddu $s0, $v0, $zero +/* 8B068C 8024061C 0040282D */ daddu $a1, $v0, $zero +/* 8B0690 80240620 0000182D */ daddu $v1, $zero, $zero +/* 8B0694 80240624 3C068024 */ lui $a2, 0x8024 +/* 8B0698 80240628 24C65674 */ addiu $a2, $a2, 0x5674 +/* 8B069C 8024062C 00C0202D */ daddu $a0, $a2, $zero +.L80240630: +/* 8B06A0 80240630 8C820000 */ lw $v0, ($a0) +/* 8B06A4 80240634 00A2102A */ slt $v0, $a1, $v0 +/* 8B06A8 80240638 14400006 */ bnez $v0, .L80240654 +/* 8B06AC 8024063C 000310C0 */ sll $v0, $v1, 3 +/* 8B06B0 80240640 24630001 */ addiu $v1, $v1, 1 +/* 8B06B4 80240644 28620008 */ slti $v0, $v1, 8 +/* 8B06B8 80240648 1440FFF9 */ bnez $v0, .L80240630 +/* 8B06BC 8024064C 24840008 */ addiu $a0, $a0, 8 +/* 8B06C0 80240650 000310C0 */ sll $v0, $v1, 3 +.L80240654: +/* 8B06C4 80240654 00461021 */ addu $v0, $v0, $a2 +/* 8B06C8 80240658 8C420004 */ lw $v0, 4($v0) +/* 8B06CC 8024065C 97A30010 */ lhu $v1, 0x10($sp) +/* 8B06D0 80240660 0202202A */ slt $a0, $s0, $v0 +/* 8B06D4 80240664 32C2FFFF */ andi $v0, $s6, 0xffff +/* 8B06D8 80240668 14620008 */ bne $v1, $v0, .L8024068C +/* 8B06DC 8024066C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 8B06E0 80240670 97A7001E */ lhu $a3, 0x1e($sp) +/* 8B06E4 80240674 14E20005 */ bne $a3, $v0, .L8024068C +/* 8B06E8 80240678 32E2FFFF */ andi $v0, $s7, 0xffff +/* 8B06EC 8024067C 14400003 */ bnez $v0, .L8024068C +/* 8B06F0 80240680 00000000 */ nop +/* 8B06F4 80240684 14800008 */ bnez $a0, .L802406A8 +/* 8B06F8 80240688 24020001 */ addiu $v0, $zero, 1 +.L8024068C: +/* 8B06FC 8024068C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8B0700 80240690 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8B0704 80240694 80420075 */ lb $v0, 0x75($v0) +/* 8B0708 80240698 10400005 */ beqz $v0, .L802406B0 +/* 8B070C 8024069C 00000000 */ nop +/* 8B0710 802406A0 10800003 */ beqz $a0, .L802406B0 +/* 8B0714 802406A4 24020001 */ addiu $v0, $zero, 1 +.L802406A8: +/* 8B0718 802406A8 080901AF */ j .L802406BC +/* 8B071C 802406AC AE220084 */ sw $v0, 0x84($s1) +.L802406B0: +/* 8B0720 802406B0 0C00F9EB */ jal kill_enemy +/* 8B0724 802406B4 03C0202D */ daddu $a0, $fp, $zero +/* 8B0728 802406B8 AE200084 */ sw $zero, 0x84($s1) +.L802406BC: +/* 8B072C 802406BC 8FBF0044 */ lw $ra, 0x44($sp) +/* 8B0730 802406C0 8FBE0040 */ lw $fp, 0x40($sp) +/* 8B0734 802406C4 8FB7003C */ lw $s7, 0x3c($sp) +/* 8B0738 802406C8 8FB60038 */ lw $s6, 0x38($sp) +/* 8B073C 802406CC 8FB50034 */ lw $s5, 0x34($sp) +/* 8B0740 802406D0 8FB40030 */ lw $s4, 0x30($sp) +/* 8B0744 802406D4 8FB3002C */ lw $s3, 0x2c($sp) +/* 8B0748 802406D8 8FB20028 */ lw $s2, 0x28($sp) +/* 8B074C 802406DC 8FB10024 */ lw $s1, 0x24($sp) +/* 8B0750 802406E0 8FB00020 */ lw $s0, 0x20($sp) +/* 8B0754 802406E4 24020002 */ addiu $v0, $zero, 2 +/* 8B0758 802406E8 03E00008 */ jr $ra +/* 8B075C 802406EC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802406F0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802406F0.s new file mode 100644 index 0000000000..9558c21f2a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802406F0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406F0 +/* 8B0760 802406F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0764 802406F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B0768 802406F8 AFB00010 */ sw $s0, 0x10($sp) +/* 8B076C 802406FC 0C00EABB */ jal get_npc_unsafe +/* 8B0770 80240700 8C84014C */ lw $a0, 0x14c($a0) +/* 8B0774 80240704 24040008 */ addiu $a0, $zero, 8 +/* 8B0778 80240708 0040802D */ daddu $s0, $v0, $zero +/* 8B077C 8024070C 3C028024 */ lui $v0, 0x8024 +/* 8B0780 80240710 2442075C */ addiu $v0, $v0, 0x75c +/* 8B0784 80240714 0C00AB39 */ jal heap_malloc +/* 8B0788 80240718 AE020008 */ sw $v0, 8($s0) +/* 8B078C 8024071C 0040182D */ daddu $v1, $v0, $zero +/* 8B0790 80240720 AE030020 */ sw $v1, 0x20($s0) +/* 8B0794 80240724 AC600000 */ sw $zero, ($v1) +/* 8B0798 80240728 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B079C 8024072C 8FB00010 */ lw $s0, 0x10($sp) +/* 8B07A0 80240730 24020001 */ addiu $v0, $zero, 1 +/* 8B07A4 80240734 03E00008 */ jr $ra +/* 8B07A8 80240738 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024073C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024073C.s new file mode 100644 index 0000000000..cc5490be9c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024073C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024073C +/* 8B07AC 8024073C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B07B0 80240740 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B07B4 80240744 0C00EABB */ jal get_npc_unsafe +/* 8B07B8 80240748 8C84014C */ lw $a0, 0x14c($a0) +/* 8B07BC 8024074C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B07C0 80240750 0000102D */ daddu $v0, $zero, $zero +/* 8B07C4 80240754 03E00008 */ jr $ra +/* 8B07C8 80240758 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024075C_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024075C_8B0070.s new file mode 100644 index 0000000000..a7f47993a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024075C_8B0070.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024075C_8B07CC +/* 8B07CC 8024075C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B07D0 80240760 3C03800A */ lui $v1, 0x800a +/* 8B07D4 80240764 8463A634 */ lh $v1, -0x59cc($v1) +/* 8B07D8 80240768 3C05800B */ lui $a1, %hi(gCameras) +/* 8B07DC 8024076C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 8B07E0 80240770 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B07E4 80240774 00031080 */ sll $v0, $v1, 2 +/* 8B07E8 80240778 00431021 */ addu $v0, $v0, $v1 +/* 8B07EC 8024077C 00021080 */ sll $v0, $v0, 2 +/* 8B07F0 80240780 00431023 */ subu $v0, $v0, $v1 +/* 8B07F4 80240784 000218C0 */ sll $v1, $v0, 3 +/* 8B07F8 80240788 00431021 */ addu $v0, $v0, $v1 +/* 8B07FC 8024078C 8C830020 */ lw $v1, 0x20($a0) +/* 8B0800 80240790 000210C0 */ sll $v0, $v0, 3 +/* 8B0804 80240794 8C630000 */ lw $v1, ($v1) +/* 8B0808 80240798 30630001 */ andi $v1, $v1, 1 +/* 8B080C 8024079C 10600004 */ beqz $v1, .L802407B0 +/* 8B0810 802407A0 00451021 */ addu $v0, $v0, $a1 +/* 8B0814 802407A4 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 8B0818 802407A8 0C00A6C9 */ jal clamp_angle +/* 8B081C 802407AC 46006307 */ neg.s $f12, $f12 +.L802407B0: +/* 8B0820 802407B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B0824 802407B4 03E00008 */ jr $ra +/* 8B0828 802407B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802407BC_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802407BC_8B0070.s new file mode 100644 index 0000000000..1fe9a90ad7 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802407BC_8B0070.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407BC_8B082C +/* 8B082C 802407BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B0830 802407C0 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0834 802407C4 0080882D */ daddu $s1, $a0, $zero +/* 8B0838 802407C8 AFBF0024 */ sw $ra, 0x24($sp) +/* 8B083C 802407CC AFB40020 */ sw $s4, 0x20($sp) +/* 8B0840 802407D0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B0844 802407D4 AFB20018 */ sw $s2, 0x18($sp) +/* 8B0848 802407D8 10A00033 */ beqz $a1, .L802408A8 +/* 8B084C 802407DC AFB00010 */ sw $s0, 0x10($sp) +/* 8B0850 802407E0 0C04760B */ jal func_8011D82C +/* 8B0854 802407E4 24040001 */ addiu $a0, $zero, 1 +/* 8B0858 802407E8 0000202D */ daddu $a0, $zero, $zero +/* 8B085C 802407EC 0080282D */ daddu $a1, $a0, $zero +/* 8B0860 802407F0 0080302D */ daddu $a2, $a0, $zero +/* 8B0864 802407F4 0080382D */ daddu $a3, $a0, $zero +/* 8B0868 802407F8 0080802D */ daddu $s0, $a0, $zero +/* 8B086C 802407FC 2414FFFC */ addiu $s4, $zero, -4 +/* 8B0870 80240800 24130008 */ addiu $s3, $zero, 8 +/* 8B0874 80240804 3C120080 */ lui $s2, 0x80 +/* 8B0878 80240808 3C038015 */ lui $v1, 0x8015 +/* 8B087C 8024080C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 8B0880 80240810 24020001 */ addiu $v0, $zero, 1 +/* 8B0884 80240814 0C046F97 */ jal set_background_color_blend +/* 8B0888 80240818 A0620000 */ sb $v0, ($v1) +.L8024081C: +/* 8B088C 8024081C 0C00E2B7 */ jal get_npc_by_index +/* 8B0890 80240820 0200202D */ daddu $a0, $s0, $zero +/* 8B0894 80240824 0040202D */ daddu $a0, $v0, $zero +/* 8B0898 80240828 5080000B */ beql $a0, $zero, .L80240858 +/* 8B089C 8024082C 26100001 */ addiu $s0, $s0, 1 +/* 8B08A0 80240830 8C820000 */ lw $v0, ($a0) +/* 8B08A4 80240834 50400008 */ beql $v0, $zero, .L80240858 +/* 8B08A8 80240838 26100001 */ addiu $s0, $s0, 1 +/* 8B08AC 8024083C 808300A4 */ lb $v1, 0xa4($a0) +/* 8B08B0 80240840 10740005 */ beq $v1, $s4, .L80240858 +/* 8B08B4 80240844 26100001 */ addiu $s0, $s0, 1 +/* 8B08B8 80240848 10730003 */ beq $v1, $s3, .L80240858 +/* 8B08BC 8024084C 00000000 */ nop +/* 8B08C0 80240850 00521025 */ or $v0, $v0, $s2 +/* 8B08C4 80240854 AC820000 */ sw $v0, ($a0) +.L80240858: +/* 8B08C8 80240858 2A020040 */ slti $v0, $s0, 0x40 +/* 8B08CC 8024085C 1440FFEF */ bnez $v0, .L8024081C +/* 8B08D0 80240860 00000000 */ nop +/* 8B08D4 80240864 0000802D */ daddu $s0, $zero, $zero +/* 8B08D8 80240868 3C120800 */ lui $s2, 0x800 +.L8024086C: +/* 8B08DC 8024086C 0C04C3D6 */ jal get_item_entity +/* 8B08E0 80240870 0200202D */ daddu $a0, $s0, $zero +/* 8B08E4 80240874 0040182D */ daddu $v1, $v0, $zero +/* 8B08E8 80240878 10600007 */ beqz $v1, .L80240898 +/* 8B08EC 8024087C 26100001 */ addiu $s0, $s0, 1 +/* 8B08F0 80240880 8C640000 */ lw $a0, ($v1) +/* 8B08F4 80240884 30820010 */ andi $v0, $a0, 0x10 +/* 8B08F8 80240888 10400003 */ beqz $v0, .L80240898 +/* 8B08FC 8024088C 00000000 */ nop +/* 8B0900 80240890 00921025 */ or $v0, $a0, $s2 +/* 8B0904 80240894 AC620000 */ sw $v0, ($v1) +.L80240898: +/* 8B0908 80240898 2A020100 */ slti $v0, $s0, 0x100 +/* 8B090C 8024089C 1440FFF3 */ bnez $v0, .L8024086C +/* 8B0910 802408A0 00000000 */ nop +/* 8B0914 802408A4 AE200070 */ sw $zero, 0x70($s1) +.L802408A8: +/* 8B0918 802408A8 8E220070 */ lw $v0, 0x70($s1) +/* 8B091C 802408AC 24420008 */ addiu $v0, $v0, 8 +/* 8B0920 802408B0 AE220070 */ sw $v0, 0x70($s1) +/* 8B0924 802408B4 28420100 */ slti $v0, $v0, 0x100 +/* 8B0928 802408B8 14400003 */ bnez $v0, .L802408C8 +/* 8B092C 802408BC 0000202D */ daddu $a0, $zero, $zero +/* 8B0930 802408C0 240200FF */ addiu $v0, $zero, 0xff +/* 8B0934 802408C4 AE220070 */ sw $v0, 0x70($s1) +.L802408C8: +/* 8B0938 802408C8 0080282D */ daddu $a1, $a0, $zero +/* 8B093C 802408CC 92270073 */ lbu $a3, 0x73($s1) +/* 8B0940 802408D0 0C046F97 */ jal set_background_color_blend +/* 8B0944 802408D4 0080302D */ daddu $a2, $a0, $zero +/* 8B0948 802408D8 8E220070 */ lw $v0, 0x70($s1) +/* 8B094C 802408DC 8FBF0024 */ lw $ra, 0x24($sp) +/* 8B0950 802408E0 8FB40020 */ lw $s4, 0x20($sp) +/* 8B0954 802408E4 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B0958 802408E8 8FB20018 */ lw $s2, 0x18($sp) +/* 8B095C 802408EC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0960 802408F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0964 802408F4 384200FF */ xori $v0, $v0, 0xff +/* 8B0968 802408F8 2C420001 */ sltiu $v0, $v0, 1 +/* 8B096C 802408FC 00021040 */ sll $v0, $v0, 1 +/* 8B0970 80240900 03E00008 */ jr $ra +/* 8B0974 80240904 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240908.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240908.s new file mode 100644 index 0000000000..2c4b819ee9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240908.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240908 +/* 8B0978 80240908 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B097C 8024090C AFB00010 */ sw $s0, 0x10($sp) +/* 8B0980 80240910 0080802D */ daddu $s0, $a0, $zero +/* 8B0984 80240914 AFBF0020 */ sw $ra, 0x20($sp) +/* 8B0988 80240918 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B098C 8024091C AFB20018 */ sw $s2, 0x18($sp) +/* 8B0990 80240920 10A00009 */ beqz $a1, .L80240948 +/* 8B0994 80240924 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0998 80240928 0000202D */ daddu $a0, $zero, $zero +/* 8B099C 8024092C 0080282D */ daddu $a1, $a0, $zero +/* 8B09A0 80240930 0080302D */ daddu $a2, $a0, $zero +/* 8B09A4 80240934 0C046F97 */ jal set_background_color_blend +/* 8B09A8 80240938 240700FF */ addiu $a3, $zero, 0xff +/* 8B09AC 8024093C 240200FF */ addiu $v0, $zero, 0xff +/* 8B09B0 80240940 AE020070 */ sw $v0, 0x70($s0) +/* 8B09B4 80240944 AE000074 */ sw $zero, 0x74($s0) +.L80240948: +/* 8B09B8 80240948 8E020070 */ lw $v0, 0x70($s0) +/* 8B09BC 8024094C 2442FFF8 */ addiu $v0, $v0, -8 +/* 8B09C0 80240950 04410002 */ bgez $v0, .L8024095C +/* 8B09C4 80240954 AE020070 */ sw $v0, 0x70($s0) +/* 8B09C8 80240958 AE000070 */ sw $zero, 0x70($s0) +.L8024095C: +/* 8B09CC 8024095C 0000202D */ daddu $a0, $zero, $zero +/* 8B09D0 80240960 0080282D */ daddu $a1, $a0, $zero +/* 8B09D4 80240964 92070073 */ lbu $a3, 0x73($s0) +/* 8B09D8 80240968 0C046F97 */ jal set_background_color_blend +/* 8B09DC 8024096C 0080302D */ daddu $a2, $a0, $zero +/* 8B09E0 80240970 8E020070 */ lw $v0, 0x70($s0) +/* 8B09E4 80240974 14400006 */ bnez $v0, .L80240990 +/* 8B09E8 80240978 00000000 */ nop +/* 8B09EC 8024097C 8E020074 */ lw $v0, 0x74($s0) +/* 8B09F0 80240980 14400003 */ bnez $v0, .L80240990 +/* 8B09F4 80240984 24020001 */ addiu $v0, $zero, 1 +/* 8B09F8 80240988 08090297 */ j .L80240A5C +/* 8B09FC 8024098C AE020074 */ sw $v0, 0x74($s0) +.L80240990: +/* 8B0A00 80240990 8E030074 */ lw $v1, 0x74($s0) +/* 8B0A04 80240994 24020001 */ addiu $v0, $zero, 1 +/* 8B0A08 80240998 14620031 */ bne $v1, $v0, .L80240A60 +/* 8B0A0C 8024099C 0000102D */ daddu $v0, $zero, $zero +/* 8B0A10 802409A0 0C04760B */ jal func_8011D82C +/* 8B0A14 802409A4 0000202D */ daddu $a0, $zero, $zero +/* 8B0A18 802409A8 0000802D */ daddu $s0, $zero, $zero +/* 8B0A1C 802409AC 2413FFFC */ addiu $s3, $zero, -4 +/* 8B0A20 802409B0 24120008 */ addiu $s2, $zero, 8 +/* 8B0A24 802409B4 3C11FF7F */ lui $s1, 0xff7f +/* 8B0A28 802409B8 3C028015 */ lui $v0, 0x8015 +/* 8B0A2C 802409BC 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 8B0A30 802409C0 3631FFFF */ ori $s1, $s1, 0xffff +/* 8B0A34 802409C4 A0400000 */ sb $zero, ($v0) +.L802409C8: +/* 8B0A38 802409C8 0C00E2B7 */ jal get_npc_by_index +/* 8B0A3C 802409CC 0200202D */ daddu $a0, $s0, $zero +/* 8B0A40 802409D0 0040202D */ daddu $a0, $v0, $zero +/* 8B0A44 802409D4 5080000B */ beql $a0, $zero, .L80240A04 +/* 8B0A48 802409D8 26100001 */ addiu $s0, $s0, 1 +/* 8B0A4C 802409DC 8C820000 */ lw $v0, ($a0) +/* 8B0A50 802409E0 50400008 */ beql $v0, $zero, .L80240A04 +/* 8B0A54 802409E4 26100001 */ addiu $s0, $s0, 1 +/* 8B0A58 802409E8 808300A4 */ lb $v1, 0xa4($a0) +/* 8B0A5C 802409EC 10730005 */ beq $v1, $s3, .L80240A04 +/* 8B0A60 802409F0 26100001 */ addiu $s0, $s0, 1 +/* 8B0A64 802409F4 10720003 */ beq $v1, $s2, .L80240A04 +/* 8B0A68 802409F8 00000000 */ nop +/* 8B0A6C 802409FC 00511024 */ and $v0, $v0, $s1 +/* 8B0A70 80240A00 AC820000 */ sw $v0, ($a0) +.L80240A04: +/* 8B0A74 80240A04 2A020040 */ slti $v0, $s0, 0x40 +/* 8B0A78 80240A08 1440FFEF */ bnez $v0, .L802409C8 +/* 8B0A7C 80240A0C 00000000 */ nop +/* 8B0A80 80240A10 0000802D */ daddu $s0, $zero, $zero +/* 8B0A84 80240A14 3C11F7FF */ lui $s1, 0xf7ff +/* 8B0A88 80240A18 3631FFFF */ ori $s1, $s1, 0xffff +.L80240A1C: +/* 8B0A8C 80240A1C 0C04C3D6 */ jal get_item_entity +/* 8B0A90 80240A20 0200202D */ daddu $a0, $s0, $zero +/* 8B0A94 80240A24 0040182D */ daddu $v1, $v0, $zero +/* 8B0A98 80240A28 10600007 */ beqz $v1, .L80240A48 +/* 8B0A9C 80240A2C 26100001 */ addiu $s0, $s0, 1 +/* 8B0AA0 80240A30 8C640000 */ lw $a0, ($v1) +/* 8B0AA4 80240A34 30820010 */ andi $v0, $a0, 0x10 +/* 8B0AA8 80240A38 10400003 */ beqz $v0, .L80240A48 +/* 8B0AAC 80240A3C 00000000 */ nop +/* 8B0AB0 80240A40 00911024 */ and $v0, $a0, $s1 +/* 8B0AB4 80240A44 AC620000 */ sw $v0, ($v1) +.L80240A48: +/* 8B0AB8 80240A48 2A020100 */ slti $v0, $s0, 0x100 +/* 8B0ABC 80240A4C 1440FFF3 */ bnez $v0, .L80240A1C +/* 8B0AC0 80240A50 24020002 */ addiu $v0, $zero, 2 +/* 8B0AC4 80240A54 08090298 */ j .L80240A60 +/* 8B0AC8 80240A58 00000000 */ nop +.L80240A5C: +/* 8B0ACC 80240A5C 0000102D */ daddu $v0, $zero, $zero +.L80240A60: +/* 8B0AD0 80240A60 8FBF0020 */ lw $ra, 0x20($sp) +/* 8B0AD4 80240A64 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B0AD8 80240A68 8FB20018 */ lw $s2, 0x18($sp) +/* 8B0ADC 80240A6C 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0AE0 80240A70 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0AE4 80240A74 03E00008 */ jr $ra +/* 8B0AE8 80240A78 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240A7C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240A7C.s new file mode 100644 index 0000000000..2489471b61 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240A7C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A7C +/* 8B0AEC 80240A7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0AF0 80240A80 AFB00010 */ sw $s0, 0x10($sp) +/* 8B0AF4 80240A84 3C108011 */ lui $s0, %hi(gPlayerData) +/* 8B0AF8 80240A88 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 8B0AFC 80240A8C AFBF0018 */ sw $ra, 0x18($sp) +/* 8B0B00 80240A90 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0B04 80240A94 960302C0 */ lhu $v1, 0x2c0($s0) +/* 8B0B08 80240A98 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 8B0B0C 80240A9C 10400003 */ beqz $v0, .L80240AAC +/* 8B0B10 80240AA0 0080882D */ daddu $s1, $a0, $zero +/* 8B0B14 80240AA4 24620001 */ addiu $v0, $v1, 1 +/* 8B0B18 80240AA8 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240AAC: +/* 8B0B1C 80240AAC 3C05F5DE */ lui $a1, 0xf5de +/* 8B0B20 80240AB0 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 8B0B24 80240AB4 0C0B1EAF */ jal get_variable +/* 8B0B28 80240AB8 0000202D */ daddu $a0, $zero, $zero +/* 8B0B2C 80240ABC 3C038024 */ lui $v1, 0x8024 +/* 8B0B30 80240AC0 00621821 */ addu $v1, $v1, $v0 +/* 8B0B34 80240AC4 90635634 */ lbu $v1, 0x5634($v1) +/* 8B0B38 80240AC8 8E220084 */ lw $v0, 0x84($s1) +/* 8B0B3C 80240ACC 54430006 */ bnel $v0, $v1, .L80240AE8 +/* 8B0B40 80240AD0 AE200084 */ sw $zero, 0x84($s1) +/* 8B0B44 80240AD4 24020001 */ addiu $v0, $zero, 1 +/* 8B0B48 80240AD8 AE220084 */ sw $v0, 0x84($s1) +/* 8B0B4C 80240ADC 960202C2 */ lhu $v0, 0x2c2($s0) +/* 8B0B50 80240AE0 24420001 */ addiu $v0, $v0, 1 +/* 8B0B54 80240AE4 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240AE8: +/* 8B0B58 80240AE8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B0B5C 80240AEC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0B60 80240AF0 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0B64 80240AF4 24020002 */ addiu $v0, $zero, 2 +/* 8B0B68 80240AF8 03E00008 */ jr $ra +/* 8B0B6C 80240AFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240B00_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240B00_8B0070.s new file mode 100644 index 0000000000..827c561b38 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240B00_8B0070.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_8B0B70 +/* 8B0B70 80240B00 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8B0B74 80240B04 AFB1001C */ sw $s1, 0x1c($sp) +/* 8B0B78 80240B08 AFBF0020 */ sw $ra, 0x20($sp) +/* 8B0B7C 80240B0C AFB00018 */ sw $s0, 0x18($sp) +/* 8B0B80 80240B10 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8B0B84 80240B14 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8B0B88 80240B18 10A00060 */ beqz $a1, .L80240C9C +/* 8B0B8C 80240B1C 0080882D */ daddu $s1, $a0, $zero +/* 8B0B90 80240B20 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0B94 80240B24 0C0B1EAF */ jal get_variable +/* 8B0B98 80240B28 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8B0B9C 80240B2C 0220202D */ daddu $a0, $s1, $zero +/* 8B0BA0 80240B30 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0BA4 80240B34 4482B000 */ mtc1 $v0, $f22 +/* 8B0BA8 80240B38 00000000 */ nop +/* 8B0BAC 80240B3C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B0BB0 80240B40 0C0B1EAF */ jal get_variable +/* 8B0BB4 80240B44 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8B0BB8 80240B48 0220202D */ daddu $a0, $s1, $zero +/* 8B0BBC 80240B4C 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0BC0 80240B50 4482A000 */ mtc1 $v0, $f20 +/* 8B0BC4 80240B54 00000000 */ nop +/* 8B0BC8 80240B58 4680A520 */ cvt.s.w $f20, $f20 +/* 8B0BCC 80240B5C 0C0B1EAF */ jal get_variable +/* 8B0BD0 80240B60 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8B0BD4 80240B64 44821000 */ mtc1 $v0, $f2 +/* 8B0BD8 80240B68 00000000 */ nop +/* 8B0BDC 80240B6C 468010A0 */ cvt.s.w $f2, $f2 +/* 8B0BE0 80240B70 4405B000 */ mfc1 $a1, $f22 +/* 8B0BE4 80240B74 4406A000 */ mfc1 $a2, $f20 +/* 8B0BE8 80240B78 44071000 */ mfc1 $a3, $f2 +/* 8B0BEC 80240B7C 0C01C574 */ jal func_800715D0 +/* 8B0BF0 80240B80 0000202D */ daddu $a0, $zero, $zero +/* 8B0BF4 80240B84 0220202D */ daddu $a0, $s1, $zero +/* 8B0BF8 80240B88 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0BFC 80240B8C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8B0C00 80240B90 3C108025 */ lui $s0, 0x8025 +/* 8B0C04 80240B94 26107F48 */ addiu $s0, $s0, 0x7f48 +/* 8B0C08 80240B98 0C0B1EAF */ jal get_variable +/* 8B0C0C 80240B9C AE020000 */ sw $v0, ($s0) +/* 8B0C10 80240BA0 0220202D */ daddu $a0, $s1, $zero +/* 8B0C14 80240BA4 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0C18 80240BA8 4482B000 */ mtc1 $v0, $f22 +/* 8B0C1C 80240BAC 00000000 */ nop +/* 8B0C20 80240BB0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B0C24 80240BB4 0C0B1EAF */ jal get_variable +/* 8B0C28 80240BB8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8B0C2C 80240BBC 0220202D */ daddu $a0, $s1, $zero +/* 8B0C30 80240BC0 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0C34 80240BC4 4482A000 */ mtc1 $v0, $f20 +/* 8B0C38 80240BC8 00000000 */ nop +/* 8B0C3C 80240BCC 4680A520 */ cvt.s.w $f20, $f20 +/* 8B0C40 80240BD0 0C0B1EAF */ jal get_variable +/* 8B0C44 80240BD4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8B0C48 80240BD8 44821000 */ mtc1 $v0, $f2 +/* 8B0C4C 80240BDC 00000000 */ nop +/* 8B0C50 80240BE0 468010A0 */ cvt.s.w $f2, $f2 +/* 8B0C54 80240BE4 4405B000 */ mfc1 $a1, $f22 +/* 8B0C58 80240BE8 4406A000 */ mfc1 $a2, $f20 +/* 8B0C5C 80240BEC 44071000 */ mfc1 $a3, $f2 +/* 8B0C60 80240BF0 0C01C604 */ jal func_80071810 +/* 8B0C64 80240BF4 0000202D */ daddu $a0, $zero, $zero +/* 8B0C68 80240BF8 0220202D */ daddu $a0, $s1, $zero +/* 8B0C6C 80240BFC 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0C70 80240C00 3C018025 */ lui $at, 0x8025 +/* 8B0C74 80240C04 AC227F4C */ sw $v0, 0x7f4c($at) +/* 8B0C78 80240C08 0C0B1EAF */ jal get_variable +/* 8B0C7C 80240C0C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8B0C80 80240C10 0220202D */ daddu $a0, $s1, $zero +/* 8B0C84 80240C14 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0C88 80240C18 4482B000 */ mtc1 $v0, $f22 +/* 8B0C8C 80240C1C 00000000 */ nop +/* 8B0C90 80240C20 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B0C94 80240C24 0C0B1EAF */ jal get_variable +/* 8B0C98 80240C28 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8B0C9C 80240C2C 0220202D */ daddu $a0, $s1, $zero +/* 8B0CA0 80240C30 3C05F4AC */ lui $a1, 0xf4ac +/* 8B0CA4 80240C34 4482A000 */ mtc1 $v0, $f20 +/* 8B0CA8 80240C38 00000000 */ nop +/* 8B0CAC 80240C3C 4680A520 */ cvt.s.w $f20, $f20 +/* 8B0CB0 80240C40 0C0B1EAF */ jal get_variable +/* 8B0CB4 80240C44 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8B0CB8 80240C48 44821000 */ mtc1 $v0, $f2 +/* 8B0CBC 80240C4C 00000000 */ nop +/* 8B0CC0 80240C50 468010A0 */ cvt.s.w $f2, $f2 +/* 8B0CC4 80240C54 4405B000 */ mfc1 $a1, $f22 +/* 8B0CC8 80240C58 4406A000 */ mfc1 $a2, $f20 +/* 8B0CCC 80240C5C 3C013F80 */ lui $at, 0x3f80 +/* 8B0CD0 80240C60 44810000 */ mtc1 $at, $f0 +/* 8B0CD4 80240C64 44071000 */ mfc1 $a3, $f2 +/* 8B0CD8 80240C68 0000202D */ daddu $a0, $zero, $zero +/* 8B0CDC 80240C6C AFA00014 */ sw $zero, 0x14($sp) +/* 8B0CE0 80240C70 0C01CA24 */ jal func_80072890 +/* 8B0CE4 80240C74 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B0CE8 80240C78 8E030000 */ lw $v1, ($s0) +/* 8B0CEC 80240C7C 8C64000C */ lw $a0, 0xc($v1) +/* 8B0CF0 80240C80 3C018025 */ lui $at, 0x8025 +/* 8B0CF4 80240C84 AC227F50 */ sw $v0, 0x7f50($at) +/* 8B0CF8 80240C88 AC800018 */ sw $zero, 0x18($a0) +/* 8B0CFC 80240C8C AC800020 */ sw $zero, 0x20($a0) +/* 8B0D00 80240C90 AC800024 */ sw $zero, 0x24($a0) +/* 8B0D04 80240C94 AC800028 */ sw $zero, 0x28($a0) +/* 8B0D08 80240C98 AC80001C */ sw $zero, 0x1c($a0) +.L80240C9C: +/* 8B0D0C 80240C9C 3C028025 */ lui $v0, 0x8025 +/* 8B0D10 80240CA0 8C427F48 */ lw $v0, 0x7f48($v0) +/* 8B0D14 80240CA4 8C44000C */ lw $a0, 0xc($v0) +/* 8B0D18 80240CA8 8C820020 */ lw $v0, 0x20($a0) +/* 8B0D1C 80240CAC 8C830028 */ lw $v1, 0x28($a0) +/* 8B0D20 80240CB0 2442000A */ addiu $v0, $v0, 0xa +/* 8B0D24 80240CB4 AC820020 */ sw $v0, 0x20($a0) +/* 8B0D28 80240CB8 8C820024 */ lw $v0, 0x24($a0) +/* 8B0D2C 80240CBC 2463000A */ addiu $v1, $v1, 0xa +/* 8B0D30 80240CC0 AC830028 */ sw $v1, 0x28($a0) +/* 8B0D34 80240CC4 8C830018 */ lw $v1, 0x18($a0) +/* 8B0D38 80240CC8 2442000A */ addiu $v0, $v0, 0xa +/* 8B0D3C 80240CCC AC820024 */ sw $v0, 0x24($a0) +/* 8B0D40 80240CD0 8C82001C */ lw $v0, 0x1c($a0) +/* 8B0D44 80240CD4 2463000A */ addiu $v1, $v1, 0xa +/* 8B0D48 80240CD8 AC830018 */ sw $v1, 0x18($a0) +/* 8B0D4C 80240CDC 286300FF */ slti $v1, $v1, 0xff +/* 8B0D50 80240CE0 2442000A */ addiu $v0, $v0, 0xa +/* 8B0D54 80240CE4 AC82001C */ sw $v0, 0x1c($a0) +/* 8B0D58 80240CE8 14600004 */ bnez $v1, .L80240CFC +/* 8B0D5C 80240CEC 0000102D */ daddu $v0, $zero, $zero +/* 8B0D60 80240CF0 240200FF */ addiu $v0, $zero, 0xff +/* 8B0D64 80240CF4 AC820018 */ sw $v0, 0x18($a0) +/* 8B0D68 80240CF8 24020002 */ addiu $v0, $zero, 2 +.L80240CFC: +/* 8B0D6C 80240CFC 8FBF0020 */ lw $ra, 0x20($sp) +/* 8B0D70 80240D00 8FB1001C */ lw $s1, 0x1c($sp) +/* 8B0D74 80240D04 8FB00018 */ lw $s0, 0x18($sp) +/* 8B0D78 80240D08 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8B0D7C 80240D0C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8B0D80 80240D10 03E00008 */ jr $ra +/* 8B0D84 80240D14 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240D18.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240D18.s new file mode 100644 index 0000000000..6244cdfbe8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240D18.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D18 +/* 8B0D88 80240D18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0D8C 80240D1C 10A0000B */ beqz $a1, .L80240D4C +/* 8B0D90 80240D20 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B0D94 80240D24 3C038025 */ lui $v1, 0x8025 +/* 8B0D98 80240D28 8C637F4C */ lw $v1, 0x7f4c($v1) +/* 8B0D9C 80240D2C 8C620000 */ lw $v0, ($v1) +/* 8B0DA0 80240D30 3C048025 */ lui $a0, 0x8025 +/* 8B0DA4 80240D34 8C847F50 */ lw $a0, 0x7f50($a0) +/* 8B0DA8 80240D38 34420010 */ ori $v0, $v0, 0x10 +/* 8B0DAC 80240D3C AC620000 */ sw $v0, ($v1) +/* 8B0DB0 80240D40 8C820000 */ lw $v0, ($a0) +/* 8B0DB4 80240D44 34420010 */ ori $v0, $v0, 0x10 +/* 8B0DB8 80240D48 AC820000 */ sw $v0, ($a0) +.L80240D4C: +/* 8B0DBC 80240D4C 3C048025 */ lui $a0, 0x8025 +/* 8B0DC0 80240D50 8C847F48 */ lw $a0, 0x7f48($a0) +/* 8B0DC4 80240D54 8C85000C */ lw $a1, 0xc($a0) +/* 8B0DC8 80240D58 8CA20018 */ lw $v0, 0x18($a1) +/* 8B0DCC 80240D5C 8CA30020 */ lw $v1, 0x20($a1) +/* 8B0DD0 80240D60 2442FFF6 */ addiu $v0, $v0, -0xa +/* 8B0DD4 80240D64 ACA20018 */ sw $v0, 0x18($a1) +/* 8B0DD8 80240D68 8CA20024 */ lw $v0, 0x24($a1) +/* 8B0DDC 80240D6C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 8B0DE0 80240D70 ACA30020 */ sw $v1, 0x20($a1) +/* 8B0DE4 80240D74 8CA30028 */ lw $v1, 0x28($a1) +/* 8B0DE8 80240D78 2442FFF6 */ addiu $v0, $v0, -0xa +/* 8B0DEC 80240D7C ACA20024 */ sw $v0, 0x24($a1) +/* 8B0DF0 80240D80 8CA2001C */ lw $v0, 0x1c($a1) +/* 8B0DF4 80240D84 2463FFF6 */ addiu $v1, $v1, -0xa +/* 8B0DF8 80240D88 ACA30028 */ sw $v1, 0x28($a1) +/* 8B0DFC 80240D8C 8CA30018 */ lw $v1, 0x18($a1) +/* 8B0E00 80240D90 2442FFF6 */ addiu $v0, $v0, -0xa +/* 8B0E04 80240D94 18600003 */ blez $v1, .L80240DA4 +/* 8B0E08 80240D98 ACA2001C */ sw $v0, 0x1c($a1) +/* 8B0E0C 80240D9C 08090370 */ j .L80240DC0 +/* 8B0E10 80240DA0 0000102D */ daddu $v0, $zero, $zero +.L80240DA4: +/* 8B0E14 80240DA4 0C016914 */ jal remove_effect +/* 8B0E18 80240DA8 ACA00018 */ sw $zero, 0x18($a1) +/* 8B0E1C 80240DAC 3C048025 */ lui $a0, 0x8025 +/* 8B0E20 80240DB0 8C847F2C */ lw $a0, 0x7f2c($a0) +/* 8B0E24 80240DB4 0C048D70 */ jal func_801235C0 +/* 8B0E28 80240DB8 00000000 */ nop +/* 8B0E2C 80240DBC 24020002 */ addiu $v0, $zero, 2 +.L80240DC0: +/* 8B0E30 80240DC0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B0E34 80240DC4 03E00008 */ jr $ra +/* 8B0E38 80240DC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240DCC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240DCC.s new file mode 100644 index 0000000000..39795c3c79 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240DCC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DCC +/* 8B0E3C 80240DCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0E40 80240DD0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B0E44 80240DD4 8C82000C */ lw $v0, 0xc($a0) +/* 8B0E48 80240DD8 0C0B1EAF */ jal get_variable +/* 8B0E4C 80240DDC 8C450000 */ lw $a1, ($v0) +/* 8B0E50 80240DE0 3C038025 */ lui $v1, 0x8025 +/* 8B0E54 80240DE4 8C637F48 */ lw $v1, 0x7f48($v1) +/* 8B0E58 80240DE8 8C63000C */ lw $v1, 0xc($v1) +/* 8B0E5C 80240DEC AC620034 */ sw $v0, 0x34($v1) +/* 8B0E60 80240DF0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B0E64 80240DF4 24020002 */ addiu $v0, $zero, 2 +/* 8B0E68 80240DF8 03E00008 */ jr $ra +/* 8B0E6C 80240DFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E00.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E00.s new file mode 100644 index 0000000000..40763f98a3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E00.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E00 +/* 8B0E70 80240E00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0E74 80240E04 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B0E78 80240E08 8C82000C */ lw $v0, 0xc($a0) +/* 8B0E7C 80240E0C 0C0B1EAF */ jal get_variable +/* 8B0E80 80240E10 8C450000 */ lw $a1, ($v0) +/* 8B0E84 80240E14 0040202D */ daddu $a0, $v0, $zero +/* 8B0E88 80240E18 3C028025 */ lui $v0, 0x8025 +/* 8B0E8C 80240E1C 8C427F48 */ lw $v0, 0x7f48($v0) +/* 8B0E90 80240E20 24030001 */ addiu $v1, $zero, 1 +/* 8B0E94 80240E24 8C45000C */ lw $a1, 0xc($v0) +/* 8B0E98 80240E28 1083000D */ beq $a0, $v1, .L80240E60 +/* 8B0E9C 80240E2C 28820002 */ slti $v0, $a0, 2 +/* 8B0EA0 80240E30 10400005 */ beqz $v0, .L80240E48 +/* 8B0EA4 80240E34 24020002 */ addiu $v0, $zero, 2 +/* 8B0EA8 80240E38 10800007 */ beqz $a0, .L80240E58 +/* 8B0EAC 80240E3C 240200C0 */ addiu $v0, $zero, 0xc0 +/* 8B0EB0 80240E40 0809039C */ j .L80240E70 +/* 8B0EB4 80240E44 ACA00038 */ sw $zero, 0x38($a1) +.L80240E48: +/* 8B0EB8 80240E48 10820008 */ beq $a0, $v0, .L80240E6C +/* 8B0EBC 80240E4C 24020040 */ addiu $v0, $zero, 0x40 +/* 8B0EC0 80240E50 0809039C */ j .L80240E70 +/* 8B0EC4 80240E54 ACA00038 */ sw $zero, 0x38($a1) +.L80240E58: +/* 8B0EC8 80240E58 0809039C */ j .L80240E70 +/* 8B0ECC 80240E5C ACA20038 */ sw $v0, 0x38($a1) +.L80240E60: +/* 8B0ED0 80240E60 24020080 */ addiu $v0, $zero, 0x80 +/* 8B0ED4 80240E64 0809039C */ j .L80240E70 +/* 8B0ED8 80240E68 ACA20038 */ sw $v0, 0x38($a1) +.L80240E6C: +/* 8B0EDC 80240E6C ACA20038 */ sw $v0, 0x38($a1) +.L80240E70: +/* 8B0EE0 80240E70 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B0EE4 80240E74 24020002 */ addiu $v0, $zero, 2 +/* 8B0EE8 80240E78 03E00008 */ jr $ra +/* 8B0EEC 80240E7C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E80_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E80_8B0070.s new file mode 100644 index 0000000000..9206be6fba --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E80_8B0070.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80_8B0EF0 +/* 8B0EF0 80240E80 3C028025 */ lui $v0, 0x8025 +/* 8B0EF4 80240E84 8C427F50 */ lw $v0, 0x7f50($v0) +/* 8B0EF8 80240E88 8C42000C */ lw $v0, 0xc($v0) +/* 8B0EFC 80240E8C AC40001C */ sw $zero, 0x1c($v0) +/* 8B0F00 80240E90 03E00008 */ jr $ra +/* 8B0F04 80240E94 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E98.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E98.s new file mode 100644 index 0000000000..41089c8cd0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240E98.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E98 +/* 8B0F08 80240E98 3C028025 */ lui $v0, 0x8025 +/* 8B0F0C 80240E9C 8C427F50 */ lw $v0, 0x7f50($v0) +/* 8B0F10 80240EA0 8C43000C */ lw $v1, 0xc($v0) +/* 8B0F14 80240EA4 24020001 */ addiu $v0, $zero, 1 +/* 8B0F18 80240EA8 AC62001C */ sw $v0, 0x1c($v1) +/* 8B0F1C 80240EAC 03E00008 */ jr $ra +/* 8B0F20 80240EB0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EB4.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EB4.s new file mode 100644 index 0000000000..cff32a5022 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EB4.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4 +/* 8B0F24 80240EB4 3C028025 */ lui $v0, 0x8025 +/* 8B0F28 80240EB8 8C427F50 */ lw $v0, 0x7f50($v0) +/* 8B0F2C 80240EBC 8C43000C */ lw $v1, 0xc($v0) +/* 8B0F30 80240EC0 24020002 */ addiu $v0, $zero, 2 +/* 8B0F34 80240EC4 03E00008 */ jr $ra +/* 8B0F38 80240EC8 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240ECC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240ECC.s new file mode 100644 index 0000000000..9d0fea68a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240ECC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ECC +/* 8B0F3C 80240ECC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B0F40 80240ED0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8B0F44 80240ED4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8B0F48 80240ED8 3C05FE36 */ lui $a1, 0xfe36 +/* 8B0F4C 80240EDC AFBF0010 */ sw $ra, 0x10($sp) +/* 8B0F50 80240EE0 80460075 */ lb $a2, 0x75($v0) +/* 8B0F54 80240EE4 0C0B2026 */ jal set_variable +/* 8B0F58 80240EE8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8B0F5C 80240EEC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B0F60 80240EF0 24020002 */ addiu $v0, $zero, 2 +/* 8B0F64 80240EF4 03E00008 */ jr $ra +/* 8B0F68 80240EF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EFC_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EFC_8B0070.s new file mode 100644 index 0000000000..136a29d051 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240EFC_8B0070.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EFC_8B0F6C +/* 8B0F6C 80240EFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0F70 80240F00 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0F74 80240F04 0080882D */ daddu $s1, $a0, $zero +/* 8B0F78 80240F08 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B0F7C 80240F0C AFB00010 */ sw $s0, 0x10($sp) +/* 8B0F80 80240F10 8E30000C */ lw $s0, 0xc($s1) +/* 8B0F84 80240F14 8E050000 */ lw $a1, ($s0) +/* 8B0F88 80240F18 0C0B1EAF */ jal get_variable +/* 8B0F8C 80240F1C 26100004 */ addiu $s0, $s0, 4 +/* 8B0F90 80240F20 0220202D */ daddu $a0, $s1, $zero +/* 8B0F94 80240F24 8E050000 */ lw $a1, ($s0) +/* 8B0F98 80240F28 0C0B210B */ jal get_float_variable +/* 8B0F9C 80240F2C 0040802D */ daddu $s0, $v0, $zero +/* 8B0FA0 80240F30 24020002 */ addiu $v0, $zero, 2 +/* 8B0FA4 80240F34 00501804 */ sllv $v1, $s0, $v0 +/* 8B0FA8 80240F38 00701821 */ addu $v1, $v1, $s0 +/* 8B0FAC 80240F3C 00431804 */ sllv $v1, $v1, $v0 +/* 8B0FB0 80240F40 00701823 */ subu $v1, $v1, $s0 +/* 8B0FB4 80240F44 000320C0 */ sll $a0, $v1, 3 +/* 8B0FB8 80240F48 00641821 */ addu $v1, $v1, $a0 +/* 8B0FBC 80240F4C 000318C0 */ sll $v1, $v1, 3 +/* 8B0FC0 80240F50 3C01800B */ lui $at, 0x800b +/* 8B0FC4 80240F54 00230821 */ addu $at, $at, $v1 +/* 8B0FC8 80240F58 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 8B0FCC 80240F5C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B0FD0 80240F60 8FB10014 */ lw $s1, 0x14($sp) +/* 8B0FD4 80240F64 8FB00010 */ lw $s0, 0x10($sp) +/* 8B0FD8 80240F68 03E00008 */ jr $ra +/* 8B0FDC 80240F6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80240F70.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240F70.s new file mode 100644 index 0000000000..0567eb15b5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80240F70.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F70 +/* 8B0FE0 80240F70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B0FE4 80240F74 AFB10014 */ sw $s1, 0x14($sp) +/* 8B0FE8 80240F78 0080882D */ daddu $s1, $a0, $zero +/* 8B0FEC 80240F7C AFBF0018 */ sw $ra, 0x18($sp) +/* 8B0FF0 80240F80 AFB00010 */ sw $s0, 0x10($sp) +/* 8B0FF4 80240F84 8E30000C */ lw $s0, 0xc($s1) +/* 8B0FF8 80240F88 8E050000 */ lw $a1, ($s0) +/* 8B0FFC 80240F8C 0C0B1EAF */ jal get_variable +/* 8B1000 80240F90 26100004 */ addiu $s0, $s0, 4 +/* 8B1004 80240F94 00021880 */ sll $v1, $v0, 2 +/* 8B1008 80240F98 00621821 */ addu $v1, $v1, $v0 +/* 8B100C 80240F9C 00031880 */ sll $v1, $v1, 2 +/* 8B1010 80240FA0 00621823 */ subu $v1, $v1, $v0 +/* 8B1014 80240FA4 000310C0 */ sll $v0, $v1, 3 +/* 8B1018 80240FA8 00621821 */ addu $v1, $v1, $v0 +/* 8B101C 80240FAC 000318C0 */ sll $v1, $v1, 3 +/* 8B1020 80240FB0 3C01800B */ lui $at, 0x800b +/* 8B1024 80240FB4 00230821 */ addu $at, $at, $v1 +/* 8B1028 80240FB8 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 8B102C 80240FBC 3C014480 */ lui $at, 0x4480 +/* 8B1030 80240FC0 44810000 */ mtc1 $at, $f0 +/* 8B1034 80240FC4 00000000 */ nop +/* 8B1038 80240FC8 46001082 */ mul.s $f2, $f2, $f0 +/* 8B103C 80240FCC 00000000 */ nop +/* 8B1040 80240FD0 3C01CD5B */ lui $at, 0xcd5b +/* 8B1044 80240FD4 34215858 */ ori $at, $at, 0x5858 +/* 8B1048 80240FD8 44810000 */ mtc1 $at, $f0 +/* 8B104C 80240FDC 00000000 */ nop +/* 8B1050 80240FE0 46001080 */ add.s $f2, $f2, $f0 +/* 8B1054 80240FE4 8E050000 */ lw $a1, ($s0) +/* 8B1058 80240FE8 4600110D */ trunc.w.s $f4, $f2 +/* 8B105C 80240FEC 44062000 */ mfc1 $a2, $f4 +/* 8B1060 80240FF0 0C0B2026 */ jal set_variable +/* 8B1064 80240FF4 0220202D */ daddu $a0, $s1, $zero +/* 8B1068 80240FF8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B106C 80240FFC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B1070 80241000 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1074 80241004 24020002 */ addiu $v0, $zero, 2 +/* 8B1078 80241008 03E00008 */ jr $ra +/* 8B107C 8024100C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241010.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241010.s new file mode 100644 index 0000000000..22487522dd --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241010.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241010 +/* 8B1080 80241010 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B1084 80241014 AFB20018 */ sw $s2, 0x18($sp) +/* 8B1088 80241018 0080902D */ daddu $s2, $a0, $zero +/* 8B108C 8024101C AFBF0030 */ sw $ra, 0x30($sp) +/* 8B1090 80241020 AFB7002C */ sw $s7, 0x2c($sp) +/* 8B1094 80241024 AFB60028 */ sw $s6, 0x28($sp) +/* 8B1098 80241028 AFB50024 */ sw $s5, 0x24($sp) +/* 8B109C 8024102C AFB40020 */ sw $s4, 0x20($sp) +/* 8B10A0 80241030 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B10A4 80241034 AFB10014 */ sw $s1, 0x14($sp) +/* 8B10A8 80241038 AFB00010 */ sw $s0, 0x10($sp) +/* 8B10AC 8024103C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8B10B0 80241040 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8B10B4 80241044 8E50000C */ lw $s0, 0xc($s2) +/* 8B10B8 80241048 8E050000 */ lw $a1, ($s0) +/* 8B10BC 8024104C 0C0B1EAF */ jal get_variable +/* 8B10C0 80241050 26100004 */ addiu $s0, $s0, 4 +/* 8B10C4 80241054 8E050000 */ lw $a1, ($s0) +/* 8B10C8 80241058 26100004 */ addiu $s0, $s0, 4 +/* 8B10CC 8024105C 0240202D */ daddu $a0, $s2, $zero +/* 8B10D0 80241060 0C0B1EAF */ jal get_variable +/* 8B10D4 80241064 0040B82D */ daddu $s7, $v0, $zero +/* 8B10D8 80241068 8E050000 */ lw $a1, ($s0) +/* 8B10DC 8024106C 26100004 */ addiu $s0, $s0, 4 +/* 8B10E0 80241070 0240202D */ daddu $a0, $s2, $zero +/* 8B10E4 80241074 0C0B1EAF */ jal get_variable +/* 8B10E8 80241078 0040B02D */ daddu $s6, $v0, $zero +/* 8B10EC 8024107C 0240202D */ daddu $a0, $s2, $zero +/* 8B10F0 80241080 3C05F4AC */ lui $a1, 0xf4ac +/* 8B10F4 80241084 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8B10F8 80241088 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 8B10FC 8024108C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 8B1100 80241090 8E140000 */ lw $s4, ($s0) +/* 8B1104 80241094 00061880 */ sll $v1, $a2, 2 +/* 8B1108 80241098 00661821 */ addu $v1, $v1, $a2 +/* 8B110C 8024109C 00031880 */ sll $v1, $v1, 2 +/* 8B1110 802410A0 00661823 */ subu $v1, $v1, $a2 +/* 8B1114 802410A4 000330C0 */ sll $a2, $v1, 3 +/* 8B1118 802410A8 00661821 */ addu $v1, $v1, $a2 +/* 8B111C 802410AC 000318C0 */ sll $v1, $v1, 3 +/* 8B1120 802410B0 3C01800B */ lui $at, 0x800b +/* 8B1124 802410B4 00230821 */ addu $at, $at, $v1 +/* 8B1128 802410B8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8B112C 802410BC 8E150004 */ lw $s5, 4($s0) +/* 8B1130 802410C0 4600010D */ trunc.w.s $f4, $f0 +/* 8B1134 802410C4 44112000 */ mfc1 $s1, $f4 +/* 8B1138 802410C8 0C0B1EAF */ jal get_variable +/* 8B113C 802410CC 0040982D */ daddu $s3, $v0, $zero +/* 8B1140 802410D0 4491B000 */ mtc1 $s1, $f22 +/* 8B1144 802410D4 00000000 */ nop +/* 8B1148 802410D8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B114C 802410DC 4600B306 */ mov.s $f12, $f22 +/* 8B1150 802410E0 0C00A8D4 */ jal cos_deg +/* 8B1154 802410E4 0040802D */ daddu $s0, $v0, $zero +/* 8B1158 802410E8 4493A000 */ mtc1 $s3, $f20 +/* 8B115C 802410EC 00000000 */ nop +/* 8B1160 802410F0 4680A520 */ cvt.s.w $f20, $f20 +/* 8B1164 802410F4 4600A002 */ mul.s $f0, $f20, $f0 +/* 8B1168 802410F8 00000000 */ nop +/* 8B116C 802410FC 0240202D */ daddu $a0, $s2, $zero +/* 8B1170 80241100 44901000 */ mtc1 $s0, $f2 +/* 8B1174 80241104 00000000 */ nop +/* 8B1178 80241108 468010A0 */ cvt.s.w $f2, $f2 +/* 8B117C 8024110C 46001081 */ sub.s $f2, $f2, $f0 +/* 8B1180 80241110 3C05F4AC */ lui $a1, 0xf4ac +/* 8B1184 80241114 4600110D */ trunc.w.s $f4, $f2 +/* 8B1188 80241118 44102000 */ mfc1 $s0, $f4 +/* 8B118C 8024111C 0C0B1EAF */ jal get_variable +/* 8B1190 80241120 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8B1194 80241124 4600B306 */ mov.s $f12, $f22 +/* 8B1198 80241128 0C00A8BB */ jal sin_deg +/* 8B119C 8024112C 0040882D */ daddu $s1, $v0, $zero +/* 8B11A0 80241130 4600A502 */ mul.s $f20, $f20, $f0 +/* 8B11A4 80241134 00000000 */ nop +/* 8B11A8 80241138 0240202D */ daddu $a0, $s2, $zero +/* 8B11AC 8024113C 44910000 */ mtc1 $s1, $f0 +/* 8B11B0 80241140 00000000 */ nop +/* 8B11B4 80241144 46800020 */ cvt.s.w $f0, $f0 +/* 8B11B8 80241148 46140001 */ sub.s $f0, $f0, $f20 +/* 8B11BC 8024114C 0280282D */ daddu $a1, $s4, $zero +/* 8B11C0 80241150 02173023 */ subu $a2, $s0, $s7 +/* 8B11C4 80241154 4600010D */ trunc.w.s $f4, $f0 +/* 8B11C8 80241158 44102000 */ mfc1 $s0, $f4 +/* 8B11CC 8024115C 0C0B2026 */ jal set_variable +/* 8B11D0 80241160 02168023 */ subu $s0, $s0, $s6 +/* 8B11D4 80241164 0240202D */ daddu $a0, $s2, $zero +/* 8B11D8 80241168 02A0282D */ daddu $a1, $s5, $zero +/* 8B11DC 8024116C 0C0B2026 */ jal set_variable +/* 8B11E0 80241170 0200302D */ daddu $a2, $s0, $zero +/* 8B11E4 80241174 8FBF0030 */ lw $ra, 0x30($sp) +/* 8B11E8 80241178 8FB7002C */ lw $s7, 0x2c($sp) +/* 8B11EC 8024117C 8FB60028 */ lw $s6, 0x28($sp) +/* 8B11F0 80241180 8FB50024 */ lw $s5, 0x24($sp) +/* 8B11F4 80241184 8FB40020 */ lw $s4, 0x20($sp) +/* 8B11F8 80241188 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B11FC 8024118C 8FB20018 */ lw $s2, 0x18($sp) +/* 8B1200 80241190 8FB10014 */ lw $s1, 0x14($sp) +/* 8B1204 80241194 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1208 80241198 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 8B120C 8024119C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8B1210 802411A0 24020002 */ addiu $v0, $zero, 2 +/* 8B1214 802411A4 03E00008 */ jr $ra +/* 8B1218 802411A8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802411AC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802411AC.s new file mode 100644 index 0000000000..45518218c0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802411AC.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411AC +/* 8B121C 802411AC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8B1220 802411B0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8B1224 802411B4 10A00002 */ beqz $a1, .L802411C0 +/* 8B1228 802411B8 2402003C */ addiu $v0, $zero, 0x3c +/* 8B122C 802411BC AC820070 */ sw $v0, 0x70($a0) +.L802411C0: +/* 8B1230 802411C0 C4620080 */ lwc1 $f2, 0x80($v1) +/* 8B1234 802411C4 3C0141F0 */ lui $at, 0x41f0 +/* 8B1238 802411C8 44810000 */ mtc1 $at, $f0 +/* 8B123C 802411CC 00000000 */ nop +/* 8B1240 802411D0 46001000 */ add.s $f0, $f2, $f0 +/* 8B1244 802411D4 3C0143B4 */ lui $at, 0x43b4 +/* 8B1248 802411D8 44811000 */ mtc1 $at, $f2 +/* 8B124C 802411DC 00000000 */ nop +/* 8B1250 802411E0 4600103E */ c.le.s $f2, $f0 +/* 8B1254 802411E4 00000000 */ nop +/* 8B1258 802411E8 45000003 */ bc1f .L802411F8 +/* 8B125C 802411EC E4600080 */ swc1 $f0, 0x80($v1) +/* 8B1260 802411F0 46020001 */ sub.s $f0, $f0, $f2 +/* 8B1264 802411F4 E4600080 */ swc1 $f0, 0x80($v1) +.L802411F8: +/* 8B1268 802411F8 8C820070 */ lw $v0, 0x70($a0) +/* 8B126C 802411FC 2442FFFF */ addiu $v0, $v0, -1 +/* 8B1270 80241200 AC820070 */ sw $v0, 0x70($a0) +/* 8B1274 80241204 000217C3 */ sra $v0, $v0, 0x1f +/* 8B1278 80241208 03E00008 */ jr $ra +/* 8B127C 8024120C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241210_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241210_8B0070.s new file mode 100644 index 0000000000..d18cd9c7cf --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241210_8B0070.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241210_8B1280 +/* 8B1280 80241210 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B1284 80241214 AFB10014 */ sw $s1, 0x14($sp) +/* 8B1288 80241218 0080882D */ daddu $s1, $a0, $zero +/* 8B128C 8024121C AFB00010 */ sw $s0, 0x10($sp) +/* 8B1290 80241220 00A0802D */ daddu $s0, $a1, $zero +/* 8B1294 80241224 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B1298 80241228 0C00EABB */ jal get_npc_unsafe +/* 8B129C 8024122C 2404FFFC */ addiu $a0, $zero, -4 +/* 8B12A0 80241230 12000003 */ beqz $s0, .L80241240 +/* 8B12A4 80241234 0040182D */ daddu $v1, $v0, $zero +/* 8B12A8 80241238 2402003C */ addiu $v0, $zero, 0x3c +/* 8B12AC 8024123C AE220070 */ sw $v0, 0x70($s1) +.L80241240: +/* 8B12B0 80241240 C462000C */ lwc1 $f2, 0xc($v1) +/* 8B12B4 80241244 3C0141F0 */ lui $at, 0x41f0 +/* 8B12B8 80241248 44810000 */ mtc1 $at, $f0 +/* 8B12BC 8024124C 00000000 */ nop +/* 8B12C0 80241250 46001000 */ add.s $f0, $f2, $f0 +/* 8B12C4 80241254 3C0143B4 */ lui $at, 0x43b4 +/* 8B12C8 80241258 44811000 */ mtc1 $at, $f2 +/* 8B12CC 8024125C 00000000 */ nop +/* 8B12D0 80241260 4600103E */ c.le.s $f2, $f0 +/* 8B12D4 80241264 00000000 */ nop +/* 8B12D8 80241268 45000003 */ bc1f .L80241278 +/* 8B12DC 8024126C E460000C */ swc1 $f0, 0xc($v1) +/* 8B12E0 80241270 46020001 */ sub.s $f0, $f0, $f2 +/* 8B12E4 80241274 E460000C */ swc1 $f0, 0xc($v1) +.L80241278: +/* 8B12E8 80241278 8E230070 */ lw $v1, 0x70($s1) +/* 8B12EC 8024127C 2463FFFF */ addiu $v1, $v1, -1 +/* 8B12F0 80241280 000317C3 */ sra $v0, $v1, 0x1f +/* 8B12F4 80241284 AE230070 */ sw $v1, 0x70($s1) +/* 8B12F8 80241288 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B12FC 8024128C 8FB10014 */ lw $s1, 0x14($sp) +/* 8B1300 80241290 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1304 80241294 30420002 */ andi $v0, $v0, 2 +/* 8B1308 80241298 03E00008 */ jr $ra +/* 8B130C 8024129C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802412A0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802412A0.s new file mode 100644 index 0000000000..4fd88b25c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802412A0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412A0 +/* 8B1310 802412A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B1314 802412A4 AFB10014 */ sw $s1, 0x14($sp) +/* 8B1318 802412A8 0080882D */ daddu $s1, $a0, $zero +/* 8B131C 802412AC AFB00010 */ sw $s0, 0x10($sp) +/* 8B1320 802412B0 00A0802D */ daddu $s0, $a1, $zero +/* 8B1324 802412B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B1328 802412B8 AFB20018 */ sw $s2, 0x18($sp) +/* 8B132C 802412BC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8B1330 802412C0 0C00EABB */ jal get_npc_unsafe +/* 8B1334 802412C4 2404FFFC */ addiu $a0, $zero, -4 +/* 8B1338 802412C8 12000017 */ beqz $s0, .L80241328 +/* 8B133C 802412CC 0040902D */ daddu $s2, $v0, $zero +/* 8B1340 802412D0 0220202D */ daddu $a0, $s1, $zero +/* 8B1344 802412D4 3C05FE36 */ lui $a1, 0xfe36 +/* 8B1348 802412D8 0C0B210B */ jal get_float_variable +/* 8B134C 802412DC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8B1350 802412E0 0220202D */ daddu $a0, $s1, $zero +/* 8B1354 802412E4 3C05FE36 */ lui $a1, 0xfe36 +/* 8B1358 802412E8 3C014270 */ lui $at, 0x4270 +/* 8B135C 802412EC 4481A000 */ mtc1 $at, $f20 +/* 8B1360 802412F0 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 8B1364 802412F4 46140003 */ div.s $f0, $f0, $f20 +/* 8B1368 802412F8 0C0B210B */ jal get_float_variable +/* 8B136C 802412FC E6200074 */ swc1 $f0, 0x74($s1) +/* 8B1370 80241300 0220202D */ daddu $a0, $s1, $zero +/* 8B1374 80241304 3C05FE36 */ lui $a1, 0xfe36 +/* 8B1378 80241308 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8B137C 8024130C 46140003 */ div.s $f0, $f0, $f20 +/* 8B1380 80241310 0C0B210B */ jal get_float_variable +/* 8B1384 80241314 E6200078 */ swc1 $f0, 0x78($s1) +/* 8B1388 80241318 46140003 */ div.s $f0, $f0, $f20 +/* 8B138C 8024131C 2402003C */ addiu $v0, $zero, 0x3c +/* 8B1390 80241320 E620007C */ swc1 $f0, 0x7c($s1) +/* 8B1394 80241324 AE220070 */ sw $v0, 0x70($s1) +.L80241328: +/* 8B1398 80241328 C6400038 */ lwc1 $f0, 0x38($s2) +/* 8B139C 8024132C C6220074 */ lwc1 $f2, 0x74($s1) +/* 8B13A0 80241330 46020000 */ add.s $f0, $f0, $f2 +/* 8B13A4 80241334 E6400038 */ swc1 $f0, 0x38($s2) +/* 8B13A8 80241338 C640003C */ lwc1 $f0, 0x3c($s2) +/* 8B13AC 8024133C C6220078 */ lwc1 $f2, 0x78($s1) +/* 8B13B0 80241340 46020000 */ add.s $f0, $f0, $f2 +/* 8B13B4 80241344 E640003C */ swc1 $f0, 0x3c($s2) +/* 8B13B8 80241348 C6400040 */ lwc1 $f0, 0x40($s2) +/* 8B13BC 8024134C C622007C */ lwc1 $f2, 0x7c($s1) +/* 8B13C0 80241350 46020000 */ add.s $f0, $f0, $f2 +/* 8B13C4 80241354 E6400040 */ swc1 $f0, 0x40($s2) +/* 8B13C8 80241358 8E230070 */ lw $v1, 0x70($s1) +/* 8B13CC 8024135C 2463FFFF */ addiu $v1, $v1, -1 +/* 8B13D0 80241360 2C620001 */ sltiu $v0, $v1, 1 +/* 8B13D4 80241364 AE230070 */ sw $v1, 0x70($s1) +/* 8B13D8 80241368 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B13DC 8024136C 8FB20018 */ lw $s2, 0x18($sp) +/* 8B13E0 80241370 8FB10014 */ lw $s1, 0x14($sp) +/* 8B13E4 80241374 8FB00010 */ lw $s0, 0x10($sp) +/* 8B13E8 80241378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8B13EC 8024137C 00021040 */ sll $v0, $v0, 1 +/* 8B13F0 80241380 03E00008 */ jr $ra +/* 8B13F4 80241384 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241388_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241388_8B0070.s new file mode 100644 index 0000000000..9dfb43afab --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241388_8B0070.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241388_8B13F8 +/* 8B13F8 80241388 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B13FC 8024138C 3C058025 */ lui $a1, 0x8025 +/* 8B1400 80241390 8CA57F40 */ lw $a1, 0x7f40($a1) +/* 8B1404 80241394 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B1408 80241398 0C0B1EAF */ jal get_variable +/* 8B140C 8024139C 0000202D */ daddu $a0, $zero, $zero +/* 8B1410 802413A0 0040182D */ daddu $v1, $v0, $zero +/* 8B1414 802413A4 24020001 */ addiu $v0, $zero, 1 +/* 8B1418 802413A8 14620006 */ bne $v1, $v0, .L802413C4 +/* 8B141C 802413AC 24020002 */ addiu $v0, $zero, 2 +/* 8B1420 802413B0 44800000 */ mtc1 $zero, $f0 +/* 8B1424 802413B4 00000000 */ nop +/* 8B1428 802413B8 44050000 */ mfc1 $a1, $f0 +/* 8B142C 802413BC 080904F7 */ j .L802413DC +/* 8B1430 802413C0 0000202D */ daddu $a0, $zero, $zero +.L802413C4: +/* 8B1434 802413C4 14620008 */ bne $v1, $v0, .L802413E8 +/* 8B1438 802413C8 24040001 */ addiu $a0, $zero, 1 +/* 8B143C 802413CC 44800000 */ mtc1 $zero, $f0 +/* 8B1440 802413D0 00000000 */ nop +/* 8B1444 802413D4 44050000 */ mfc1 $a1, $f0 +/* 8B1448 802413D8 00000000 */ nop +.L802413DC: +/* 8B144C 802413DC 00A0302D */ daddu $a2, $a1, $zero +/* 8B1450 802413E0 0C01C5A4 */ jal func_80071690 +/* 8B1454 802413E4 00A0382D */ daddu $a3, $a1, $zero +.L802413E8: +/* 8B1458 802413E8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B145C 802413EC 03E00008 */ jr $ra +/* 8B1460 802413F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802413F4.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802413F4.s new file mode 100644 index 0000000000..977c979807 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802413F4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413F4 +/* 8B1464 802413F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B1468 802413F8 3C058024 */ lui $a1, 0x8024 +/* 8B146C 802413FC 24A51388 */ addiu $a1, $a1, 0x1388 +/* 8B1470 80241400 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B1474 80241404 0C048C8F */ jal bind_dynamic_entity_7 +/* 8B1478 80241408 0000202D */ daddu $a0, $zero, $zero +/* 8B147C 8024140C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B1480 80241410 3C018025 */ lui $at, 0x8025 +/* 8B1484 80241414 AC227F2C */ sw $v0, 0x7f2c($at) +/* 8B1488 80241418 24020002 */ addiu $v0, $zero, 2 +/* 8B148C 8024141C 03E00008 */ jr $ra +/* 8B1490 80241420 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241424.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241424.s new file mode 100644 index 0000000000..4014dbcd50 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241424.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241424 +/* 8B1494 80241424 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B1498 80241428 AFB00010 */ sw $s0, 0x10($sp) +/* 8B149C 8024142C 0080802D */ daddu $s0, $a0, $zero +/* 8B14A0 80241430 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B14A4 80241434 AFB20018 */ sw $s2, 0x18($sp) +/* 8B14A8 80241438 AFB10014 */ sw $s1, 0x14($sp) +/* 8B14AC 8024143C 8E110148 */ lw $s1, 0x148($s0) +/* 8B14B0 80241440 86240008 */ lh $a0, 8($s1) +/* 8B14B4 80241444 0C00EABB */ jal get_npc_unsafe +/* 8B14B8 80241448 00A0902D */ daddu $s2, $a1, $zero +/* 8B14BC 8024144C 8E2300CC */ lw $v1, 0xcc($s1) +/* 8B14C0 80241450 0040202D */ daddu $a0, $v0, $zero +/* 8B14C4 80241454 8C630000 */ lw $v1, ($v1) +/* 8B14C8 80241458 24020001 */ addiu $v0, $zero, 1 +/* 8B14CC 8024145C AC830028 */ sw $v1, 0x28($a0) +/* 8B14D0 80241460 AE020070 */ sw $v0, 0x70($s0) +/* 8B14D4 80241464 8E220000 */ lw $v0, ($s1) +/* 8B14D8 80241468 3C030010 */ lui $v1, 0x10 +/* 8B14DC 8024146C 00431024 */ and $v0, $v0, $v1 +/* 8B14E0 80241470 10400004 */ beqz $v0, .L80241484 +/* 8B14E4 80241474 00000000 */ nop +/* 8B14E8 80241478 C620006C */ lwc1 $f0, 0x6c($s1) +/* 8B14EC 8024147C 46800020 */ cvt.s.w $f0, $f0 +/* 8B14F0 80241480 E480000C */ swc1 $f0, 0xc($a0) +.L80241484: +/* 8B14F4 80241484 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B14F8 80241488 8C420014 */ lw $v0, 0x14($v0) +/* 8B14FC 8024148C 1C400004 */ bgtz $v0, .L802414A0 +/* 8B1500 80241490 00000000 */ nop +/* 8B1504 80241494 C640000C */ lwc1 $f0, 0xc($s2) +/* 8B1508 80241498 08090530 */ j .L802414C0 +/* 8B150C 8024149C E4800018 */ swc1 $f0, 0x18($a0) +.L802414A0: +/* 8B1510 802414A0 3C018025 */ lui $at, 0x8025 +/* 8B1514 802414A4 D4227D40 */ ldc1 $f2, 0x7d40($at) +/* 8B1518 802414A8 44820000 */ mtc1 $v0, $f0 +/* 8B151C 802414AC 00000000 */ nop +/* 8B1520 802414B0 46800021 */ cvt.d.w $f0, $f0 +/* 8B1524 802414B4 46220003 */ div.d $f0, $f0, $f2 +/* 8B1528 802414B8 46200020 */ cvt.s.d $f0, $f0 +/* 8B152C 802414BC E4800018 */ swc1 $f0, 0x18($a0) +.L802414C0: +/* 8B1530 802414C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B1534 802414C4 8FB20018 */ lw $s2, 0x18($sp) +/* 8B1538 802414C8 8FB10014 */ lw $s1, 0x14($sp) +/* 8B153C 802414CC 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1540 802414D0 03E00008 */ jr $ra +/* 8B1544 802414D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802414D8.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802414D8.s new file mode 100644 index 0000000000..b195b107a9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802414D8.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414D8 +/* 8B1548 802414D8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B154C 802414DC AFB40040 */ sw $s4, 0x40($sp) +/* 8B1550 802414E0 0080A02D */ daddu $s4, $a0, $zero +/* 8B1554 802414E4 AFBF0044 */ sw $ra, 0x44($sp) +/* 8B1558 802414E8 AFB3003C */ sw $s3, 0x3c($sp) +/* 8B155C 802414EC AFB20038 */ sw $s2, 0x38($sp) +/* 8B1560 802414F0 AFB10034 */ sw $s1, 0x34($sp) +/* 8B1564 802414F4 AFB00030 */ sw $s0, 0x30($sp) +/* 8B1568 802414F8 8E920148 */ lw $s2, 0x148($s4) +/* 8B156C 802414FC 00A0802D */ daddu $s0, $a1, $zero +/* 8B1570 80241500 86440008 */ lh $a0, 8($s2) +/* 8B1574 80241504 0C00EABB */ jal get_npc_unsafe +/* 8B1578 80241508 00C0982D */ daddu $s3, $a2, $zero +/* 8B157C 8024150C 8E030008 */ lw $v1, 8($s0) +/* 8B1580 80241510 04600031 */ bltz $v1, .L802415D8 +/* 8B1584 80241514 0040882D */ daddu $s1, $v0, $zero +/* 8B1588 80241518 0260202D */ daddu $a0, $s3, $zero +/* 8B158C 8024151C AFA00010 */ sw $zero, 0x10($sp) +/* 8B1590 80241520 8E060018 */ lw $a2, 0x18($s0) +/* 8B1594 80241524 8E07001C */ lw $a3, 0x1c($s0) +/* 8B1598 80241528 0C01242D */ jal func_800490B4 +/* 8B159C 8024152C 0240282D */ daddu $a1, $s2, $zero +/* 8B15A0 80241530 10400029 */ beqz $v0, .L802415D8 +/* 8B15A4 80241534 0000202D */ daddu $a0, $zero, $zero +/* 8B15A8 80241538 0220282D */ daddu $a1, $s1, $zero +/* 8B15AC 8024153C 0000302D */ daddu $a2, $zero, $zero +/* 8B15B0 80241540 862300A8 */ lh $v1, 0xa8($s1) +/* 8B15B4 80241544 3C013F80 */ lui $at, 0x3f80 +/* 8B15B8 80241548 44810000 */ mtc1 $at, $f0 +/* 8B15BC 8024154C 3C014000 */ lui $at, 0x4000 +/* 8B15C0 80241550 44811000 */ mtc1 $at, $f2 +/* 8B15C4 80241554 3C01C1A0 */ lui $at, 0xc1a0 +/* 8B15C8 80241558 44812000 */ mtc1 $at, $f4 +/* 8B15CC 8024155C 2402000F */ addiu $v0, $zero, 0xf +/* 8B15D0 80241560 AFA2001C */ sw $v0, 0x1c($sp) +/* 8B15D4 80241564 44833000 */ mtc1 $v1, $f6 +/* 8B15D8 80241568 00000000 */ nop +/* 8B15DC 8024156C 468031A0 */ cvt.s.w $f6, $f6 +/* 8B15E0 80241570 44073000 */ mfc1 $a3, $f6 +/* 8B15E4 80241574 27A20028 */ addiu $v0, $sp, 0x28 +/* 8B15E8 80241578 AFA20020 */ sw $v0, 0x20($sp) +/* 8B15EC 8024157C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B15F0 80241580 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8B15F4 80241584 0C01BFA4 */ jal fx_emote +/* 8B15F8 80241588 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8B15FC 8024158C 0220202D */ daddu $a0, $s1, $zero +/* 8B1600 80241590 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8B1604 80241594 0C012530 */ jal func_800494C0 +/* 8B1608 80241598 3C060020 */ lui $a2, 0x20 +/* 8B160C 8024159C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8B1610 802415A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8B1614 802415A4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8B1618 802415A8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8B161C 802415AC 8C460028 */ lw $a2, 0x28($v0) +/* 8B1620 802415B0 0C00A720 */ jal atan2 +/* 8B1624 802415B4 8C470030 */ lw $a3, 0x30($v0) +/* 8B1628 802415B8 E620000C */ swc1 $f0, 0xc($s1) +/* 8B162C 802415BC 8E420018 */ lw $v0, 0x18($s2) +/* 8B1630 802415C0 9442002A */ lhu $v0, 0x2a($v0) +/* 8B1634 802415C4 30420001 */ andi $v0, $v0, 1 +/* 8B1638 802415C8 14400002 */ bnez $v0, .L802415D4 +/* 8B163C 802415CC 2402000A */ addiu $v0, $zero, 0xa +/* 8B1640 802415D0 2402000C */ addiu $v0, $zero, 0xc +.L802415D4: +/* 8B1644 802415D4 AE820070 */ sw $v0, 0x70($s4) +.L802415D8: +/* 8B1648 802415D8 8FBF0044 */ lw $ra, 0x44($sp) +/* 8B164C 802415DC 8FB40040 */ lw $s4, 0x40($sp) +/* 8B1650 802415E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8B1654 802415E4 8FB20038 */ lw $s2, 0x38($sp) +/* 8B1658 802415E8 8FB10034 */ lw $s1, 0x34($sp) +/* 8B165C 802415EC 8FB00030 */ lw $s0, 0x30($sp) +/* 8B1660 802415F0 03E00008 */ jr $ra +/* 8B1664 802415F4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802415F8.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802415F8.s new file mode 100644 index 0000000000..bca907536b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802415F8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F8 +/* 8B1668 802415F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B166C 802415FC AFB00010 */ sw $s0, 0x10($sp) +/* 8B1670 80241600 0080802D */ daddu $s0, $a0, $zero +/* 8B1674 80241604 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B1678 80241608 8E020148 */ lw $v0, 0x148($s0) +/* 8B167C 8024160C 0C00EABB */ jal get_npc_unsafe +/* 8B1680 80241610 84440008 */ lh $a0, 8($v0) +/* 8B1684 80241614 3C014120 */ lui $at, 0x4120 +/* 8B1688 80241618 44810000 */ mtc1 $at, $f0 +/* 8B168C 8024161C 3C014000 */ lui $at, 0x4000 +/* 8B1690 80241620 44811000 */ mtc1 $at, $f2 +/* 8B1694 80241624 8C430000 */ lw $v1, ($v0) +/* 8B1698 80241628 C444003C */ lwc1 $f4, 0x3c($v0) +/* 8B169C 8024162C 34630800 */ ori $v1, $v1, 0x800 +/* 8B16A0 80241630 E440001C */ swc1 $f0, 0x1c($v0) +/* 8B16A4 80241634 E4420014 */ swc1 $f2, 0x14($v0) +/* 8B16A8 80241638 E4440064 */ swc1 $f4, 0x64($v0) +/* 8B16AC 8024163C AC430000 */ sw $v1, ($v0) +/* 8B16B0 80241640 2402000B */ addiu $v0, $zero, 0xb +/* 8B16B4 80241644 AE020070 */ sw $v0, 0x70($s0) +/* 8B16B8 80241648 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B16BC 8024164C 8FB00010 */ lw $s0, 0x10($sp) +/* 8B16C0 80241650 03E00008 */ jr $ra +/* 8B16C4 80241654 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241658.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241658.s new file mode 100644 index 0000000000..2c8261c705 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241658.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241658 +/* 8B16C8 80241658 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B16CC 8024165C AFB00010 */ sw $s0, 0x10($sp) +/* 8B16D0 80241660 0080802D */ daddu $s0, $a0, $zero +/* 8B16D4 80241664 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B16D8 80241668 8E020148 */ lw $v0, 0x148($s0) +/* 8B16DC 8024166C 0C00EABB */ jal get_npc_unsafe +/* 8B16E0 80241670 84440008 */ lh $a0, 8($v0) +/* 8B16E4 80241674 0040202D */ daddu $a0, $v0, $zero +/* 8B16E8 80241678 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8B16EC 8024167C C480001C */ lwc1 $f0, 0x1c($a0) +/* 8B16F0 80241680 46001080 */ add.s $f2, $f2, $f0 +/* 8B16F4 80241684 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8B16F8 80241688 46040001 */ sub.s $f0, $f0, $f4 +/* 8B16FC 8024168C C4840064 */ lwc1 $f4, 0x64($a0) +/* 8B1700 80241690 4602203C */ c.lt.s $f4, $f2 +/* 8B1704 80241694 E482003C */ swc1 $f2, 0x3c($a0) +/* 8B1708 80241698 45010009 */ bc1t .L802416C0 +/* 8B170C 8024169C E480001C */ swc1 $f0, 0x1c($a0) +/* 8B1710 802416A0 8C820000 */ lw $v0, ($a0) +/* 8B1714 802416A4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8B1718 802416A8 E484003C */ swc1 $f4, 0x3c($a0) +/* 8B171C 802416AC AC80001C */ sw $zero, 0x1c($a0) +/* 8B1720 802416B0 00431024 */ and $v0, $v0, $v1 +/* 8B1724 802416B4 AC820000 */ sw $v0, ($a0) +/* 8B1728 802416B8 2402000C */ addiu $v0, $zero, 0xc +/* 8B172C 802416BC AE020070 */ sw $v0, 0x70($s0) +.L802416C0: +/* 8B1730 802416C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B1734 802416C4 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1738 802416C8 03E00008 */ jr $ra +/* 8B173C 802416CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802416D0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802416D0.s new file mode 100644 index 0000000000..08b403ac3c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802416D0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416D0 +/* 8B1740 802416D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8B1744 802416D4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B1748 802416D8 0080982D */ daddu $s3, $a0, $zero +/* 8B174C 802416DC AFBF0020 */ sw $ra, 0x20($sp) +/* 8B1750 802416E0 AFB20018 */ sw $s2, 0x18($sp) +/* 8B1754 802416E4 AFB10014 */ sw $s1, 0x14($sp) +/* 8B1758 802416E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8B175C 802416EC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8B1760 802416F0 8E710148 */ lw $s1, 0x148($s3) +/* 8B1764 802416F4 86240008 */ lh $a0, 8($s1) +/* 8B1768 802416F8 0C00EABB */ jal get_npc_unsafe +/* 8B176C 802416FC 00A0802D */ daddu $s0, $a1, $zero +/* 8B1770 80241700 8E040014 */ lw $a0, 0x14($s0) +/* 8B1774 80241704 0040902D */ daddu $s2, $v0, $zero +/* 8B1778 80241708 00041FC2 */ srl $v1, $a0, 0x1f +/* 8B177C 8024170C 00832021 */ addu $a0, $a0, $v1 +/* 8B1780 80241710 00042043 */ sra $a0, $a0, 1 +/* 8B1784 80241714 0C00A67F */ jal rand_int +/* 8B1788 80241718 24840001 */ addiu $a0, $a0, 1 +/* 8B178C 8024171C 8E030014 */ lw $v1, 0x14($s0) +/* 8B1790 80241720 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 8B1794 80241724 000327C2 */ srl $a0, $v1, 0x1f +/* 8B1798 80241728 00641821 */ addu $v1, $v1, $a0 +/* 8B179C 8024172C 00031843 */ sra $v1, $v1, 1 +/* 8B17A0 80241730 00621821 */ addu $v1, $v1, $v0 +/* 8B17A4 80241734 A643008E */ sh $v1, 0x8e($s2) +/* 8B17A8 80241738 8E2200CC */ lw $v0, 0xcc($s1) +/* 8B17AC 8024173C C64E0040 */ lwc1 $f14, 0x40($s2) +/* 8B17B0 80241740 8C42000C */ lw $v0, 0xc($v0) +/* 8B17B4 80241744 AE420028 */ sw $v0, 0x28($s2) +/* 8B17B8 80241748 C600000C */ lwc1 $f0, 0xc($s0) +/* 8B17BC 8024174C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8B17C0 80241750 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8B17C4 80241754 E6400018 */ swc1 $f0, 0x18($s2) +/* 8B17C8 80241758 8C460028 */ lw $a2, 0x28($v0) +/* 8B17CC 8024175C 0C00A720 */ jal atan2 +/* 8B17D0 80241760 8C470030 */ lw $a3, 0x30($v0) +/* 8B17D4 80241764 46000506 */ mov.s $f20, $f0 +/* 8B17D8 80241768 C64C000C */ lwc1 $f12, 0xc($s2) +/* 8B17DC 8024176C 0C00A70A */ jal get_clamped_angle_diff +/* 8B17E0 80241770 4600A386 */ mov.s $f14, $f20 +/* 8B17E4 80241774 46000086 */ mov.s $f2, $f0 +/* 8B17E8 80241778 8E020010 */ lw $v0, 0x10($s0) +/* 8B17EC 8024177C 46001005 */ abs.s $f0, $f2 +/* 8B17F0 80241780 44822000 */ mtc1 $v0, $f4 +/* 8B17F4 80241784 00000000 */ nop +/* 8B17F8 80241788 46802120 */ cvt.s.w $f4, $f4 +/* 8B17FC 8024178C 4600203C */ c.lt.s $f4, $f0 +/* 8B1800 80241790 00000000 */ nop +/* 8B1804 80241794 4500000D */ bc1f .L802417CC +/* 8B1808 80241798 00000000 */ nop +/* 8B180C 8024179C 44800000 */ mtc1 $zero, $f0 +/* 8B1810 802417A0 C654000C */ lwc1 $f20, 0xc($s2) +/* 8B1814 802417A4 4600103C */ c.lt.s $f2, $f0 +/* 8B1818 802417A8 00000000 */ nop +/* 8B181C 802417AC 45000006 */ bc1f .L802417C8 +/* 8B1820 802417B0 00021023 */ negu $v0, $v0 +/* 8B1824 802417B4 44820000 */ mtc1 $v0, $f0 +/* 8B1828 802417B8 00000000 */ nop +/* 8B182C 802417BC 46800020 */ cvt.s.w $f0, $f0 +/* 8B1830 802417C0 080905F3 */ j .L802417CC +/* 8B1834 802417C4 4600A500 */ add.s $f20, $f20, $f0 +.L802417C8: +/* 8B1838 802417C8 4604A500 */ add.s $f20, $f20, $f4 +.L802417CC: +/* 8B183C 802417CC 0C00A6C9 */ jal clamp_angle +/* 8B1840 802417D0 4600A306 */ mov.s $f12, $f20 +/* 8B1844 802417D4 2402000D */ addiu $v0, $zero, 0xd +/* 8B1848 802417D8 E640000C */ swc1 $f0, 0xc($s2) +/* 8B184C 802417DC AE620070 */ sw $v0, 0x70($s3) +/* 8B1850 802417E0 8FBF0020 */ lw $ra, 0x20($sp) +/* 8B1854 802417E4 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B1858 802417E8 8FB20018 */ lw $s2, 0x18($sp) +/* 8B185C 802417EC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B1860 802417F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1864 802417F4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8B1868 802417F8 03E00008 */ jr $ra +/* 8B186C 802417FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241800.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241800.s new file mode 100644 index 0000000000..03ac518b69 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241800.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241800 +/* 8B1870 80241800 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B1874 80241804 AFB3003C */ sw $s3, 0x3c($sp) +/* 8B1878 80241808 0080982D */ daddu $s3, $a0, $zero +/* 8B187C 8024180C AFBF0040 */ sw $ra, 0x40($sp) +/* 8B1880 80241810 AFB20038 */ sw $s2, 0x38($sp) +/* 8B1884 80241814 AFB10034 */ sw $s1, 0x34($sp) +/* 8B1888 80241818 AFB00030 */ sw $s0, 0x30($sp) +/* 8B188C 8024181C 8E720148 */ lw $s2, 0x148($s3) +/* 8B1890 80241820 00A0882D */ daddu $s1, $a1, $zero +/* 8B1894 80241824 86440008 */ lh $a0, 8($s2) +/* 8B1898 80241828 0C00EABB */ jal get_npc_unsafe +/* 8B189C 8024182C 00C0802D */ daddu $s0, $a2, $zero +/* 8B18A0 80241830 0200202D */ daddu $a0, $s0, $zero +/* 8B18A4 80241834 0240282D */ daddu $a1, $s2, $zero +/* 8B18A8 80241838 24030001 */ addiu $v1, $zero, 1 +/* 8B18AC 8024183C AFA30010 */ sw $v1, 0x10($sp) +/* 8B18B0 80241840 8E260018 */ lw $a2, 0x18($s1) +/* 8B18B4 80241844 8E27001C */ lw $a3, 0x1c($s1) +/* 8B18B8 80241848 0C01242D */ jal func_800490B4 +/* 8B18BC 8024184C 0040802D */ daddu $s0, $v0, $zero +/* 8B18C0 80241850 1440001D */ bnez $v0, .L802418C8 +/* 8B18C4 80241854 24040002 */ addiu $a0, $zero, 2 +/* 8B18C8 80241858 0200282D */ daddu $a1, $s0, $zero +/* 8B18CC 8024185C 0000302D */ daddu $a2, $zero, $zero +/* 8B18D0 80241860 860300A8 */ lh $v1, 0xa8($s0) +/* 8B18D4 80241864 3C013F80 */ lui $at, 0x3f80 +/* 8B18D8 80241868 44810000 */ mtc1 $at, $f0 +/* 8B18DC 8024186C 3C014000 */ lui $at, 0x4000 +/* 8B18E0 80241870 44811000 */ mtc1 $at, $f2 +/* 8B18E4 80241874 3C01C1A0 */ lui $at, 0xc1a0 +/* 8B18E8 80241878 44812000 */ mtc1 $at, $f4 +/* 8B18EC 8024187C 2402000F */ addiu $v0, $zero, 0xf +/* 8B18F0 80241880 AFA2001C */ sw $v0, 0x1c($sp) +/* 8B18F4 80241884 44833000 */ mtc1 $v1, $f6 +/* 8B18F8 80241888 00000000 */ nop +/* 8B18FC 8024188C 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1900 80241890 44073000 */ mfc1 $a3, $f6 +/* 8B1904 80241894 27A20028 */ addiu $v0, $sp, 0x28 +/* 8B1908 80241898 AFA20020 */ sw $v0, 0x20($sp) +/* 8B190C 8024189C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B1910 802418A0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8B1914 802418A4 0C01BFA4 */ jal fx_emote +/* 8B1918 802418A8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8B191C 802418AC 8E4200CC */ lw $v0, 0xcc($s2) +/* 8B1920 802418B0 8C430000 */ lw $v1, ($v0) +/* 8B1924 802418B4 24020019 */ addiu $v0, $zero, 0x19 +/* 8B1928 802418B8 A602008E */ sh $v0, 0x8e($s0) +/* 8B192C 802418BC 2402000E */ addiu $v0, $zero, 0xe +/* 8B1930 802418C0 0809063F */ j .L802418FC +/* 8B1934 802418C4 AE030028 */ sw $v1, 0x28($s0) +.L802418C8: +/* 8B1938 802418C8 8E050018 */ lw $a1, 0x18($s0) +/* 8B193C 802418CC 8E06000C */ lw $a2, 0xc($s0) +/* 8B1940 802418D0 0C00EA95 */ jal npc_move_heading +/* 8B1944 802418D4 0200202D */ daddu $a0, $s0, $zero +/* 8B1948 802418D8 0200202D */ daddu $a0, $s0, $zero +/* 8B194C 802418DC 0C00F598 */ jal func_8003D660 +/* 8B1950 802418E0 24050001 */ addiu $a1, $zero, 1 +/* 8B1954 802418E4 9602008E */ lhu $v0, 0x8e($s0) +/* 8B1958 802418E8 2442FFFF */ addiu $v0, $v0, -1 +/* 8B195C 802418EC A602008E */ sh $v0, 0x8e($s0) +/* 8B1960 802418F0 00021400 */ sll $v0, $v0, 0x10 +/* 8B1964 802418F4 14400002 */ bnez $v0, .L80241900 +/* 8B1968 802418F8 2402000C */ addiu $v0, $zero, 0xc +.L802418FC: +/* 8B196C 802418FC AE620070 */ sw $v0, 0x70($s3) +.L80241900: +/* 8B1970 80241900 8FBF0040 */ lw $ra, 0x40($sp) +/* 8B1974 80241904 8FB3003C */ lw $s3, 0x3c($sp) +/* 8B1978 80241908 8FB20038 */ lw $s2, 0x38($sp) +/* 8B197C 8024190C 8FB10034 */ lw $s1, 0x34($sp) +/* 8B1980 80241910 8FB00030 */ lw $s0, 0x30($sp) +/* 8B1984 80241914 03E00008 */ jr $ra +/* 8B1988 80241918 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024191C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024191C.s new file mode 100644 index 0000000000..abf978438e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024191C.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024191C +/* 8B198C 8024191C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B1990 80241920 AFB00010 */ sw $s0, 0x10($sp) +/* 8B1994 80241924 0080802D */ daddu $s0, $a0, $zero +/* 8B1998 80241928 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B199C 8024192C 8E020148 */ lw $v0, 0x148($s0) +/* 8B19A0 80241930 0C00EABB */ jal get_npc_unsafe +/* 8B19A4 80241934 84440008 */ lh $a0, 8($v0) +/* 8B19A8 80241938 9443008E */ lhu $v1, 0x8e($v0) +/* 8B19AC 8024193C 2463FFFF */ addiu $v1, $v1, -1 +/* 8B19B0 80241940 A443008E */ sh $v1, 0x8e($v0) +/* 8B19B4 80241944 00031C00 */ sll $v1, $v1, 0x10 +/* 8B19B8 80241948 14600002 */ bnez $v1, .L80241954 +/* 8B19BC 8024194C 2402000F */ addiu $v0, $zero, 0xf +/* 8B19C0 80241950 AE020070 */ sw $v0, 0x70($s0) +.L80241954: +/* 8B19C4 80241954 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B19C8 80241958 8FB00010 */ lw $s0, 0x10($sp) +/* 8B19CC 8024195C 03E00008 */ jr $ra +/* 8B19D0 80241960 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241964.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241964.s new file mode 100644 index 0000000000..c99c15841b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241964.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241964 +/* 8B19D4 80241964 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B19D8 80241968 AFB10014 */ sw $s1, 0x14($sp) +/* 8B19DC 8024196C 0080882D */ daddu $s1, $a0, $zero +/* 8B19E0 80241970 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B19E4 80241974 AFB20018 */ sw $s2, 0x18($sp) +/* 8B19E8 80241978 AFB00010 */ sw $s0, 0x10($sp) +/* 8B19EC 8024197C 8E300148 */ lw $s0, 0x148($s1) +/* 8B19F0 80241980 86040008 */ lh $a0, 8($s0) +/* 8B19F4 80241984 0C00EABB */ jal get_npc_unsafe +/* 8B19F8 80241988 00A0902D */ daddu $s2, $a1, $zero +/* 8B19FC 8024198C 8E0300CC */ lw $v1, 0xcc($s0) +/* 8B1A00 80241990 8C630004 */ lw $v1, 4($v1) +/* 8B1A04 80241994 0040202D */ daddu $a0, $v0, $zero +/* 8B1A08 80241998 AC830028 */ sw $v1, 0x28($a0) +/* 8B1A0C 8024199C 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8B1A10 802419A0 8C420014 */ lw $v0, 0x14($v0) +/* 8B1A14 802419A4 04410009 */ bgez $v0, .L802419CC +/* 8B1A18 802419A8 00000000 */ nop +/* 8B1A1C 802419AC C640000C */ lwc1 $f0, 0xc($s2) +/* 8B1A20 802419B0 3C018025 */ lui $at, 0x8025 +/* 8B1A24 802419B4 D4227D48 */ ldc1 $f2, 0x7d48($at) +/* 8B1A28 802419B8 46000021 */ cvt.d.s $f0, $f0 +/* 8B1A2C 802419BC 46220002 */ mul.d $f0, $f0, $f2 +/* 8B1A30 802419C0 00000000 */ nop +/* 8B1A34 802419C4 0809067A */ j .L802419E8 +/* 8B1A38 802419C8 46200020 */ cvt.s.d $f0, $f0 +.L802419CC: +/* 8B1A3C 802419CC 3C018025 */ lui $at, 0x8025 +/* 8B1A40 802419D0 D4227D50 */ ldc1 $f2, 0x7d50($at) +/* 8B1A44 802419D4 44820000 */ mtc1 $v0, $f0 +/* 8B1A48 802419D8 00000000 */ nop +/* 8B1A4C 802419DC 46800021 */ cvt.d.w $f0, $f0 +/* 8B1A50 802419E0 46220003 */ div.d $f0, $f0, $f2 +/* 8B1A54 802419E4 46200020 */ cvt.s.d $f0, $f0 +.L802419E8: +/* 8B1A58 802419E8 E4800018 */ swc1 $f0, 0x18($a0) +/* 8B1A5C 802419EC 24020010 */ addiu $v0, $zero, 0x10 +/* 8B1A60 802419F0 AE200074 */ sw $zero, 0x74($s1) +/* 8B1A64 802419F4 AE220070 */ sw $v0, 0x70($s1) +/* 8B1A68 802419F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B1A6C 802419FC 8FB20018 */ lw $s2, 0x18($sp) +/* 8B1A70 80241A00 8FB10014 */ lw $s1, 0x14($sp) +/* 8B1A74 80241A04 8FB00010 */ lw $s0, 0x10($sp) +/* 8B1A78 80241A08 03E00008 */ jr $ra +/* 8B1A7C 80241A0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241A10.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241A10.s new file mode 100644 index 0000000000..cc1ce12d83 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241A10.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A10 +/* 8B1A80 80241A10 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B1A84 80241A14 AFB3003C */ sw $s3, 0x3c($sp) +/* 8B1A88 80241A18 0080982D */ daddu $s3, $a0, $zero +/* 8B1A8C 80241A1C AFBF0044 */ sw $ra, 0x44($sp) +/* 8B1A90 80241A20 AFB40040 */ sw $s4, 0x40($sp) +/* 8B1A94 80241A24 AFB20038 */ sw $s2, 0x38($sp) +/* 8B1A98 80241A28 AFB10034 */ sw $s1, 0x34($sp) +/* 8B1A9C 80241A2C AFB00030 */ sw $s0, 0x30($sp) +/* 8B1AA0 80241A30 8E710148 */ lw $s1, 0x148($s3) +/* 8B1AA4 80241A34 00A0902D */ daddu $s2, $a1, $zero +/* 8B1AA8 80241A38 86240008 */ lh $a0, 8($s1) +/* 8B1AAC 80241A3C 0C00EABB */ jal get_npc_unsafe +/* 8B1AB0 80241A40 00C0A02D */ daddu $s4, $a2, $zero +/* 8B1AB4 80241A44 8E430008 */ lw $v1, 8($s2) +/* 8B1AB8 80241A48 0460003B */ bltz $v1, .L80241B38 +/* 8B1ABC 80241A4C 0040802D */ daddu $s0, $v0, $zero +/* 8B1AC0 80241A50 8E620074 */ lw $v0, 0x74($s3) +/* 8B1AC4 80241A54 1C400037 */ bgtz $v0, .L80241B34 +/* 8B1AC8 80241A58 2442FFFF */ addiu $v0, $v0, -1 +/* 8B1ACC 80241A5C 0280202D */ daddu $a0, $s4, $zero +/* 8B1AD0 80241A60 AE630074 */ sw $v1, 0x74($s3) +/* 8B1AD4 80241A64 AFA00010 */ sw $zero, 0x10($sp) +/* 8B1AD8 80241A68 8E460018 */ lw $a2, 0x18($s2) +/* 8B1ADC 80241A6C 8E47001C */ lw $a3, 0x1c($s2) +/* 8B1AE0 80241A70 0C01242D */ jal func_800490B4 +/* 8B1AE4 80241A74 0220282D */ daddu $a1, $s1, $zero +/* 8B1AE8 80241A78 1040002C */ beqz $v0, .L80241B2C +/* 8B1AEC 80241A7C 0000202D */ daddu $a0, $zero, $zero +/* 8B1AF0 80241A80 0200282D */ daddu $a1, $s0, $zero +/* 8B1AF4 80241A84 0000302D */ daddu $a2, $zero, $zero +/* 8B1AF8 80241A88 860300A8 */ lh $v1, 0xa8($s0) +/* 8B1AFC 80241A8C 3C013F80 */ lui $at, 0x3f80 +/* 8B1B00 80241A90 44810000 */ mtc1 $at, $f0 +/* 8B1B04 80241A94 3C014000 */ lui $at, 0x4000 +/* 8B1B08 80241A98 44811000 */ mtc1 $at, $f2 +/* 8B1B0C 80241A9C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8B1B10 80241AA0 44812000 */ mtc1 $at, $f4 +/* 8B1B14 80241AA4 2402000F */ addiu $v0, $zero, 0xf +/* 8B1B18 80241AA8 AFA2001C */ sw $v0, 0x1c($sp) +/* 8B1B1C 80241AAC 44833000 */ mtc1 $v1, $f6 +/* 8B1B20 80241AB0 00000000 */ nop +/* 8B1B24 80241AB4 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1B28 80241AB8 44073000 */ mfc1 $a3, $f6 +/* 8B1B2C 80241ABC 27A20028 */ addiu $v0, $sp, 0x28 +/* 8B1B30 80241AC0 AFA20020 */ sw $v0, 0x20($sp) +/* 8B1B34 80241AC4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B1B38 80241AC8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8B1B3C 80241ACC 0C01BFA4 */ jal fx_emote +/* 8B1B40 80241AD0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8B1B44 80241AD4 0200202D */ daddu $a0, $s0, $zero +/* 8B1B48 80241AD8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8B1B4C 80241ADC 0C012530 */ jal func_800494C0 +/* 8B1B50 80241AE0 3C060020 */ lui $a2, 0x20 +/* 8B1B54 80241AE4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8B1B58 80241AE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8B1B5C 80241AEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8B1B60 80241AF0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8B1B64 80241AF4 8C460028 */ lw $a2, 0x28($v0) +/* 8B1B68 80241AF8 0C00A720 */ jal atan2 +/* 8B1B6C 80241AFC 8C470030 */ lw $a3, 0x30($v0) +/* 8B1B70 80241B00 E600000C */ swc1 $f0, 0xc($s0) +/* 8B1B74 80241B04 8E220018 */ lw $v0, 0x18($s1) +/* 8B1B78 80241B08 9442002A */ lhu $v0, 0x2a($v0) +/* 8B1B7C 80241B0C 30420001 */ andi $v0, $v0, 1 +/* 8B1B80 80241B10 10400003 */ beqz $v0, .L80241B20 +/* 8B1B84 80241B14 2402000A */ addiu $v0, $zero, 0xa +/* 8B1B88 80241B18 080906FE */ j .L80241BF8 +/* 8B1B8C 80241B1C AE620070 */ sw $v0, 0x70($s3) +.L80241B20: +/* 8B1B90 80241B20 2402000C */ addiu $v0, $zero, 0xc +/* 8B1B94 80241B24 080906FE */ j .L80241BF8 +/* 8B1B98 80241B28 AE620070 */ sw $v0, 0x70($s3) +.L80241B2C: +/* 8B1B9C 80241B2C 8E620074 */ lw $v0, 0x74($s3) +/* 8B1BA0 80241B30 2442FFFF */ addiu $v0, $v0, -1 +.L80241B34: +/* 8B1BA4 80241B34 AE620074 */ sw $v0, 0x74($s3) +.L80241B38: +/* 8B1BA8 80241B38 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8B1BAC 80241B3C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B1BB0 80241B40 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8B1BB4 80241B44 C4460000 */ lwc1 $f6, ($v0) +/* 8B1BB8 80241B48 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1BBC 80241B4C 44063000 */ mfc1 $a2, $f6 +/* 8B1BC0 80241B50 C4460008 */ lwc1 $f6, 8($v0) +/* 8B1BC4 80241B54 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1BC8 80241B58 44073000 */ mfc1 $a3, $f6 +/* 8B1BCC 80241B5C 0C00A7B5 */ jal dist2D +/* 8B1BD0 80241B60 00000000 */ nop +/* 8B1BD4 80241B64 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8B1BD8 80241B68 4602003C */ c.lt.s $f0, $f2 +/* 8B1BDC 80241B6C 00000000 */ nop +/* 8B1BE0 80241B70 4500000E */ bc1f .L80241BAC +/* 8B1BE4 80241B74 00000000 */ nop +/* 8B1BE8 80241B78 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B1BEC 80241B7C C4400000 */ lwc1 $f0, ($v0) +/* 8B1BF0 80241B80 46800020 */ cvt.s.w $f0, $f0 +/* 8B1BF4 80241B84 E6000038 */ swc1 $f0, 0x38($s0) +/* 8B1BF8 80241B88 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B1BFC 80241B8C C4400008 */ lwc1 $f0, 8($v0) +/* 8B1C00 80241B90 46800020 */ cvt.s.w $f0, $f0 +/* 8B1C04 80241B94 E6000040 */ swc1 $f0, 0x40($s0) +/* 8B1C08 80241B98 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B1C0C 80241B9C C440000C */ lwc1 $f0, 0xc($v0) +/* 8B1C10 80241BA0 46800020 */ cvt.s.w $f0, $f0 +/* 8B1C14 80241BA4 E600000C */ swc1 $f0, 0xc($s0) +/* 8B1C18 80241BA8 AE600070 */ sw $zero, 0x70($s3) +.L80241BAC: +/* 8B1C1C 80241BAC 8602008C */ lh $v0, 0x8c($s0) +/* 8B1C20 80241BB0 14400011 */ bnez $v0, .L80241BF8 +/* 8B1C24 80241BB4 00000000 */ nop +/* 8B1C28 80241BB8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8B1C2C 80241BBC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8B1C30 80241BC0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8B1C34 80241BC4 C4460000 */ lwc1 $f6, ($v0) +/* 8B1C38 80241BC8 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1C3C 80241BCC 44063000 */ mfc1 $a2, $f6 +/* 8B1C40 80241BD0 C4460008 */ lwc1 $f6, 8($v0) +/* 8B1C44 80241BD4 468031A0 */ cvt.s.w $f6, $f6 +/* 8B1C48 80241BD8 44073000 */ mfc1 $a3, $f6 +/* 8B1C4C 80241BDC 0C00A720 */ jal atan2 +/* 8B1C50 80241BE0 00000000 */ nop +/* 8B1C54 80241BE4 8E050018 */ lw $a1, 0x18($s0) +/* 8B1C58 80241BE8 44060000 */ mfc1 $a2, $f0 +/* 8B1C5C 80241BEC 0200202D */ daddu $a0, $s0, $zero +/* 8B1C60 80241BF0 0C00EA95 */ jal npc_move_heading +/* 8B1C64 80241BF4 AC86000C */ sw $a2, 0xc($a0) +.L80241BF8: +/* 8B1C68 80241BF8 8FBF0044 */ lw $ra, 0x44($sp) +/* 8B1C6C 80241BFC 8FB40040 */ lw $s4, 0x40($sp) +/* 8B1C70 80241C00 8FB3003C */ lw $s3, 0x3c($sp) +/* 8B1C74 80241C04 8FB20038 */ lw $s2, 0x38($sp) +/* 8B1C78 80241C08 8FB10034 */ lw $s1, 0x34($sp) +/* 8B1C7C 80241C0C 8FB00030 */ lw $s0, 0x30($sp) +/* 8B1C80 80241C10 03E00008 */ jr $ra +/* 8B1C84 80241C14 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241C18.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241C18.s new file mode 100644 index 0000000000..be6df11cad --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241C18.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C18 +/* 8B1C88 80241C18 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8B1C8C 80241C1C AFB40040 */ sw $s4, 0x40($sp) +/* 8B1C90 80241C20 0080A02D */ daddu $s4, $a0, $zero +/* 8B1C94 80241C24 AFBF0048 */ sw $ra, 0x48($sp) +/* 8B1C98 80241C28 AFB50044 */ sw $s5, 0x44($sp) +/* 8B1C9C 80241C2C AFB3003C */ sw $s3, 0x3c($sp) +/* 8B1CA0 80241C30 AFB20038 */ sw $s2, 0x38($sp) +/* 8B1CA4 80241C34 AFB10034 */ sw $s1, 0x34($sp) +/* 8B1CA8 80241C38 AFB00030 */ sw $s0, 0x30($sp) +/* 8B1CAC 80241C3C 8E920148 */ lw $s2, 0x148($s4) +/* 8B1CB0 80241C40 86440008 */ lh $a0, 8($s2) +/* 8B1CB4 80241C44 8E90000C */ lw $s0, 0xc($s4) +/* 8B1CB8 80241C48 0C00EABB */ jal get_npc_unsafe +/* 8B1CBC 80241C4C 00A0882D */ daddu $s1, $a1, $zero +/* 8B1CC0 80241C50 0280202D */ daddu $a0, $s4, $zero +/* 8B1CC4 80241C54 8E050000 */ lw $a1, ($s0) +/* 8B1CC8 80241C58 0C0B1EAF */ jal get_variable +/* 8B1CCC 80241C5C 0040802D */ daddu $s0, $v0, $zero +/* 8B1CD0 80241C60 AFA00010 */ sw $zero, 0x10($sp) +/* 8B1CD4 80241C64 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8B1CD8 80241C68 8C630030 */ lw $v1, 0x30($v1) +/* 8B1CDC 80241C6C AFA30014 */ sw $v1, 0x14($sp) +/* 8B1CE0 80241C70 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8B1CE4 80241C74 8C63001C */ lw $v1, 0x1c($v1) +/* 8B1CE8 80241C78 AFA30018 */ sw $v1, 0x18($sp) +/* 8B1CEC 80241C7C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8B1CF0 80241C80 8C630024 */ lw $v1, 0x24($v1) +/* 8B1CF4 80241C84 AFA3001C */ sw $v1, 0x1c($sp) +/* 8B1CF8 80241C88 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8B1CFC 80241C8C 8C630028 */ lw $v1, 0x28($v1) +/* 8B1D00 80241C90 27B50010 */ addiu $s5, $sp, 0x10 +/* 8B1D04 80241C94 AFA30020 */ sw $v1, 0x20($sp) +/* 8B1D08 80241C98 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8B1D0C 80241C9C 3C014282 */ lui $at, 0x4282 +/* 8B1D10 80241CA0 44810000 */ mtc1 $at, $f0 +/* 8B1D14 80241CA4 8C63002C */ lw $v1, 0x2c($v1) +/* 8B1D18 80241CA8 0040982D */ daddu $s3, $v0, $zero +/* 8B1D1C 80241CAC E7A00028 */ swc1 $f0, 0x28($sp) +/* 8B1D20 80241CB0 A7A0002C */ sh $zero, 0x2c($sp) +/* 8B1D24 80241CB4 16200005 */ bnez $s1, .L80241CCC +/* 8B1D28 80241CB8 AFA30024 */ sw $v1, 0x24($sp) +/* 8B1D2C 80241CBC 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8B1D30 80241CC0 30420004 */ andi $v0, $v0, 4 +/* 8B1D34 80241CC4 1040002F */ beqz $v0, .L80241D84 +/* 8B1D38 80241CC8 00000000 */ nop +.L80241CCC: +/* 8B1D3C 80241CCC AE800070 */ sw $zero, 0x70($s4) +/* 8B1D40 80241CD0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8B1D44 80241CD4 A600008E */ sh $zero, 0x8e($s0) +/* 8B1D48 80241CD8 8E4200CC */ lw $v0, 0xcc($s2) +/* 8B1D4C 80241CDC 4600008D */ trunc.w.s $f2, $f0 +/* 8B1D50 80241CE0 E642006C */ swc1 $f2, 0x6c($s2) +/* 8B1D54 80241CE4 8C420000 */ lw $v0, ($v0) +/* 8B1D58 80241CE8 8E030000 */ lw $v1, ($s0) +/* 8B1D5C 80241CEC AE020028 */ sw $v0, 0x28($s0) +/* 8B1D60 80241CF0 2402F7FF */ addiu $v0, $zero, -0x801 +/* 8B1D64 80241CF4 00621824 */ and $v1, $v1, $v0 +/* 8B1D68 80241CF8 AE030000 */ sw $v1, ($s0) +/* 8B1D6C 80241CFC 8E4200D0 */ lw $v0, 0xd0($s2) +/* 8B1D70 80241D00 8C420034 */ lw $v0, 0x34($v0) +/* 8B1D74 80241D04 54400005 */ bnel $v0, $zero, .L80241D1C +/* 8B1D78 80241D08 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8B1D7C 80241D0C 34620200 */ ori $v0, $v1, 0x200 +/* 8B1D80 80241D10 2403FFF7 */ addiu $v1, $zero, -9 +/* 8B1D84 80241D14 08090749 */ j .L80241D24 +/* 8B1D88 80241D18 00431024 */ and $v0, $v0, $v1 +.L80241D1C: +/* 8B1D8C 80241D1C 00621024 */ and $v0, $v1, $v0 +/* 8B1D90 80241D20 34420008 */ ori $v0, $v0, 8 +.L80241D24: +/* 8B1D94 80241D24 AE020000 */ sw $v0, ($s0) +/* 8B1D98 80241D28 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8B1D9C 80241D2C 30420004 */ andi $v0, $v0, 4 +/* 8B1DA0 80241D30 10400009 */ beqz $v0, .L80241D58 +/* 8B1DA4 80241D34 24020063 */ addiu $v0, $zero, 0x63 +/* 8B1DA8 80241D38 AE820070 */ sw $v0, 0x70($s4) +/* 8B1DAC 80241D3C 2402000F */ addiu $v0, $zero, 0xf +/* 8B1DB0 80241D40 AE820074 */ sw $v0, 0x74($s4) +/* 8B1DB4 80241D44 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8B1DB8 80241D48 2403FFFB */ addiu $v1, $zero, -5 +/* 8B1DBC 80241D4C 00431024 */ and $v0, $v0, $v1 +/* 8B1DC0 80241D50 08090761 */ j .L80241D84 +/* 8B1DC4 80241D54 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241D58: +/* 8B1DC8 80241D58 8E420000 */ lw $v0, ($s2) +/* 8B1DCC 80241D5C 3C034000 */ lui $v1, 0x4000 +/* 8B1DD0 80241D60 00431024 */ and $v0, $v0, $v1 +/* 8B1DD4 80241D64 10400007 */ beqz $v0, .L80241D84 +/* 8B1DD8 80241D68 3C03BFFF */ lui $v1, 0xbfff +/* 8B1DDC 80241D6C 2402000C */ addiu $v0, $zero, 0xc +/* 8B1DE0 80241D70 AE820070 */ sw $v0, 0x70($s4) +/* 8B1DE4 80241D74 8E420000 */ lw $v0, ($s2) +/* 8B1DE8 80241D78 3463FFFF */ ori $v1, $v1, 0xffff +/* 8B1DEC 80241D7C 00431024 */ and $v0, $v0, $v1 +/* 8B1DF0 80241D80 AE420000 */ sw $v0, ($s2) +.L80241D84: +/* 8B1DF4 80241D84 8E830070 */ lw $v1, 0x70($s4) +/* 8B1DF8 80241D88 2C620064 */ sltiu $v0, $v1, 0x64 +/* 8B1DFC 80241D8C 10400036 */ beqz $v0, .L80241E68 +/* 8B1E00 80241D90 00031080 */ sll $v0, $v1, 2 +/* 8B1E04 80241D94 3C018025 */ lui $at, 0x8025 +/* 8B1E08 80241D98 00220821 */ addu $at, $at, $v0 +/* 8B1E0C 80241D9C 8C227D58 */ lw $v0, 0x7d58($at) +/* 8B1E10 80241DA0 00400008 */ jr $v0 +/* 8B1E14 80241DA4 00000000 */ nop +/* 8B1E18 80241DA8 0280202D */ daddu $a0, $s4, $zero +/* 8B1E1C 80241DAC 0260282D */ daddu $a1, $s3, $zero +/* 8B1E20 80241DB0 0C090509 */ jal func_80241424 +/* 8B1E24 80241DB4 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E28 80241DB8 0280202D */ daddu $a0, $s4, $zero +/* 8B1E2C 80241DBC 0260282D */ daddu $a1, $s3, $zero +/* 8B1E30 80241DC0 0C090536 */ jal func_802414D8 +/* 8B1E34 80241DC4 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E38 80241DC8 0809079A */ j .L80241E68 +/* 8B1E3C 80241DCC 00000000 */ nop +/* 8B1E40 80241DD0 0280202D */ daddu $a0, $s4, $zero +/* 8B1E44 80241DD4 0260282D */ daddu $a1, $s3, $zero +/* 8B1E48 80241DD8 0C09057E */ jal func_802415F8 +/* 8B1E4C 80241DDC 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E50 80241DE0 0280202D */ daddu $a0, $s4, $zero +/* 8B1E54 80241DE4 0260282D */ daddu $a1, $s3, $zero +/* 8B1E58 80241DE8 0C090596 */ jal func_80241658 +/* 8B1E5C 80241DEC 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E60 80241DF0 0809079A */ j .L80241E68 +/* 8B1E64 80241DF4 00000000 */ nop +/* 8B1E68 80241DF8 0280202D */ daddu $a0, $s4, $zero +/* 8B1E6C 80241DFC 0260282D */ daddu $a1, $s3, $zero +/* 8B1E70 80241E00 0C0905B4 */ jal func_802416D0 +/* 8B1E74 80241E04 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E78 80241E08 0280202D */ daddu $a0, $s4, $zero +/* 8B1E7C 80241E0C 0260282D */ daddu $a1, $s3, $zero +/* 8B1E80 80241E10 0C090600 */ jal func_80241800 +/* 8B1E84 80241E14 02A0302D */ daddu $a2, $s5, $zero +/* 8B1E88 80241E18 0809079A */ j .L80241E68 +/* 8B1E8C 80241E1C 00000000 */ nop +/* 8B1E90 80241E20 0280202D */ daddu $a0, $s4, $zero +/* 8B1E94 80241E24 0260282D */ daddu $a1, $s3, $zero +/* 8B1E98 80241E28 0C090647 */ jal func_8024191C +/* 8B1E9C 80241E2C 02A0302D */ daddu $a2, $s5, $zero +/* 8B1EA0 80241E30 0809079A */ j .L80241E68 +/* 8B1EA4 80241E34 00000000 */ nop +/* 8B1EA8 80241E38 0280202D */ daddu $a0, $s4, $zero +/* 8B1EAC 80241E3C 0260282D */ daddu $a1, $s3, $zero +/* 8B1EB0 80241E40 0C090659 */ jal func_80241964 +/* 8B1EB4 80241E44 02A0302D */ daddu $a2, $s5, $zero +/* 8B1EB8 80241E48 0280202D */ daddu $a0, $s4, $zero +/* 8B1EBC 80241E4C 0260282D */ daddu $a1, $s3, $zero +/* 8B1EC0 80241E50 0C090684 */ jal func_80241A10 +/* 8B1EC4 80241E54 02A0302D */ daddu $a2, $s5, $zero +/* 8B1EC8 80241E58 0809079A */ j .L80241E68 +/* 8B1ECC 80241E5C 00000000 */ nop +/* 8B1ED0 80241E60 0C0129CF */ jal func_8004A73C +/* 8B1ED4 80241E64 0280202D */ daddu $a0, $s4, $zero +.L80241E68: +/* 8B1ED8 80241E68 8FBF0048 */ lw $ra, 0x48($sp) +/* 8B1EDC 80241E6C 8FB50044 */ lw $s5, 0x44($sp) +/* 8B1EE0 80241E70 8FB40040 */ lw $s4, 0x40($sp) +/* 8B1EE4 80241E74 8FB3003C */ lw $s3, 0x3c($sp) +/* 8B1EE8 80241E78 8FB20038 */ lw $s2, 0x38($sp) +/* 8B1EEC 80241E7C 8FB10034 */ lw $s1, 0x34($sp) +/* 8B1EF0 80241E80 8FB00030 */ lw $s0, 0x30($sp) +/* 8B1EF4 80241E84 0000102D */ daddu $v0, $zero, $zero +/* 8B1EF8 80241E88 03E00008 */ jr $ra +/* 8B1EFC 80241E8C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80241E90.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241E90.s new file mode 100644 index 0000000000..5147cceb08 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80241E90.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E90 +/* 8B1F00 80241E90 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B1F04 80241E94 AFB20018 */ sw $s2, 0x18($sp) +/* 8B1F08 80241E98 0080902D */ daddu $s2, $a0, $zero +/* 8B1F0C 80241E9C AFB10014 */ sw $s1, 0x14($sp) +/* 8B1F10 80241EA0 00A0882D */ daddu $s1, $a1, $zero +/* 8B1F14 80241EA4 AFBF0024 */ sw $ra, 0x24($sp) +/* 8B1F18 80241EA8 AFB40020 */ sw $s4, 0x20($sp) +/* 8B1F1C 80241EAC AFB3001C */ sw $s3, 0x1c($sp) +/* 8B1F20 80241EB0 AFB00010 */ sw $s0, 0x10($sp) +/* 8B1F24 80241EB4 8E50000C */ lw $s0, 0xc($s2) +/* 8B1F28 80241EB8 8E050000 */ lw $a1, ($s0) +/* 8B1F2C 80241EBC 0C0B1EAF */ jal get_variable +/* 8B1F30 80241EC0 26100004 */ addiu $s0, $s0, 4 +/* 8B1F34 80241EC4 0240202D */ daddu $a0, $s2, $zero +/* 8B1F38 80241EC8 8E050000 */ lw $a1, ($s0) +/* 8B1F3C 80241ECC 0C0B1EAF */ jal get_variable +/* 8B1F40 80241ED0 0040802D */ daddu $s0, $v0, $zero +/* 8B1F44 80241ED4 0200202D */ daddu $a0, $s0, $zero +/* 8B1F48 80241ED8 0C00EAD2 */ jal get_npc_safe +/* 8B1F4C 80241EDC 0040A02D */ daddu $s4, $v0, $zero +/* 8B1F50 80241EE0 3C138011 */ lui $s3, %hi(gPlayerData) +/* 8B1F54 80241EE4 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* 8B1F58 80241EE8 12200006 */ beqz $s1, .L80241F04 +/* 8B1F5C 80241EEC 0040802D */ daddu $s0, $v0, $zero +/* 8B1F60 80241EF0 82620012 */ lb $v0, 0x12($s3) +/* 8B1F64 80241EF4 54400003 */ bnel $v0, $zero, .L80241F04 +/* 8B1F68 80241EF8 AE400070 */ sw $zero, 0x70($s2) +/* 8B1F6C 80241EFC 24020002 */ addiu $v0, $zero, 2 +/* 8B1F70 80241F00 AE420070 */ sw $v0, 0x70($s2) +.L80241F04: +/* 8B1F74 80241F04 8E430070 */ lw $v1, 0x70($s2) +/* 8B1F78 80241F08 24110001 */ addiu $s1, $zero, 1 +/* 8B1F7C 80241F0C 10710013 */ beq $v1, $s1, .L80241F5C +/* 8B1F80 80241F10 28620002 */ slti $v0, $v1, 2 +/* 8B1F84 80241F14 10400005 */ beqz $v0, .L80241F2C +/* 8B1F88 80241F18 24020002 */ addiu $v0, $zero, 2 +/* 8B1F8C 80241F1C 10600009 */ beqz $v1, .L80241F44 +/* 8B1F90 80241F20 0000102D */ daddu $v0, $zero, $zero +/* 8B1F94 80241F24 080907FD */ j .L80241FF4 +/* 8B1F98 80241F28 00000000 */ nop +.L80241F2C: +/* 8B1F9C 80241F2C 10620013 */ beq $v1, $v0, .L80241F7C +/* 8B1FA0 80241F30 24020003 */ addiu $v0, $zero, 3 +/* 8B1FA4 80241F34 1062001E */ beq $v1, $v0, .L80241FB0 +/* 8B1FA8 80241F38 0000102D */ daddu $v0, $zero, $zero +/* 8B1FAC 80241F3C 080907FD */ j .L80241FF4 +/* 8B1FB0 80241F40 00000000 */ nop +.L80241F44: +/* 8B1FB4 80241F44 0C03AC5A */ jal func_800EB168 +/* 8B1FB8 80241F48 0000202D */ daddu $a0, $zero, $zero +/* 8B1FBC 80241F4C 2402001E */ addiu $v0, $zero, 0x1e +/* 8B1FC0 80241F50 AE420074 */ sw $v0, 0x74($s2) +/* 8B1FC4 80241F54 080907FC */ j .L80241FF0 +/* 8B1FC8 80241F58 AE510070 */ sw $s1, 0x70($s2) +.L80241F5C: +/* 8B1FCC 80241F5C 8E420074 */ lw $v0, 0x74($s2) +/* 8B1FD0 80241F60 2403FFFF */ addiu $v1, $zero, -1 +/* 8B1FD4 80241F64 2442FFFF */ addiu $v0, $v0, -1 +/* 8B1FD8 80241F68 14430021 */ bne $v0, $v1, .L80241FF0 +/* 8B1FDC 80241F6C AE420074 */ sw $v0, 0x74($s2) +/* 8B1FE0 80241F70 24020002 */ addiu $v0, $zero, 2 +/* 8B1FE4 80241F74 080907FC */ j .L80241FF0 +/* 8B1FE8 80241F78 AE420070 */ sw $v0, 0x70($s2) +.L80241F7C: +/* 8B1FEC 80241F7C 0200202D */ daddu $a0, $s0, $zero +/* 8B1FF0 80241F80 00141600 */ sll $v0, $s4, 0x18 +/* 8B1FF4 80241F84 00021543 */ sra $v0, $v0, 0x15 +/* 8B1FF8 80241F88 02621021 */ addu $v0, $s3, $v0 +/* 8B1FFC 80241F8C A2740012 */ sb $s4, 0x12($s3) +/* 8B2000 80241F90 0C03BD17 */ jal clear_partner_move_history +/* 8B2004 80241F94 A0510014 */ sb $s1, 0x14($v0) +/* 8B2008 80241F98 82640012 */ lb $a0, 0x12($s3) +/* 8B200C 80241F9C 0C03ACA9 */ jal func_800EB2A4 +/* 8B2010 80241FA0 00000000 */ nop +/* 8B2014 80241FA4 24020003 */ addiu $v0, $zero, 3 +/* 8B2018 80241FA8 080907FC */ j .L80241FF0 +/* 8B201C 80241FAC AE420070 */ sw $v0, 0x70($s2) +.L80241FB0: +/* 8B2020 80241FB0 0C00EAD2 */ jal get_npc_safe +/* 8B2024 80241FB4 2404FFFC */ addiu $a0, $zero, -4 +/* 8B2028 80241FB8 8E05000C */ lw $a1, 0xc($s0) +/* 8B202C 80241FBC 0C00ECD0 */ jal set_npc_yaw +/* 8B2030 80241FC0 0040202D */ daddu $a0, $v0, $zero +/* 8B2034 80241FC4 0200202D */ daddu $a0, $s0, $zero +/* 8B2038 80241FC8 8E020000 */ lw $v0, ($s0) +/* 8B203C 80241FCC 2403FFFB */ addiu $v1, $zero, -5 +/* 8B2040 80241FD0 00431024 */ and $v0, $v0, $v1 +/* 8B2044 80241FD4 0C00EAFF */ jal disable_npc_shadow +/* 8B2048 80241FD8 AE020000 */ sw $v0, ($s0) +/* 8B204C 80241FDC 3C01C47A */ lui $at, 0xc47a +/* 8B2050 80241FE0 44810000 */ mtc1 $at, $f0 +/* 8B2054 80241FE4 24020002 */ addiu $v0, $zero, 2 +/* 8B2058 80241FE8 080907FD */ j .L80241FF4 +/* 8B205C 80241FEC E600003C */ swc1 $f0, 0x3c($s0) +.L80241FF0: +/* 8B2060 80241FF0 0000102D */ daddu $v0, $zero, $zero +.L80241FF4: +/* 8B2064 80241FF4 8FBF0024 */ lw $ra, 0x24($sp) +/* 8B2068 80241FF8 8FB40020 */ lw $s4, 0x20($sp) +/* 8B206C 80241FFC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B2070 80242000 8FB20018 */ lw $s2, 0x18($sp) +/* 8B2074 80242004 8FB10014 */ lw $s1, 0x14($sp) +/* 8B2078 80242008 8FB00010 */ lw $s0, 0x10($sp) +/* 8B207C 8024200C 03E00008 */ jr $ra +/* 8B2080 80242010 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242014.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242014.s new file mode 100644 index 0000000000..c6ba3eb3f9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242014.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242014 +/* 8B2084 80242014 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2088 80242018 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B208C 8024201C 0C00EABB */ jal get_npc_unsafe +/* 8B2090 80242020 2404FFFC */ addiu $a0, $zero, -4 +/* 8B2094 80242024 8C420000 */ lw $v0, ($v0) +/* 8B2098 80242028 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B209C 8024202C 30421000 */ andi $v0, $v0, 0x1000 +/* 8B20A0 80242030 0002102B */ sltu $v0, $zero, $v0 +/* 8B20A4 80242034 00021040 */ sll $v0, $v0, 1 +/* 8B20A8 80242038 03E00008 */ jr $ra +/* 8B20AC 8024203C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242040.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242040.s new file mode 100644 index 0000000000..d5c50fc0e2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242040.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242040 +/* 8B20B0 80242040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B20B4 80242044 AFB10014 */ sw $s1, 0x14($sp) +/* 8B20B8 80242048 0080882D */ daddu $s1, $a0, $zero +/* 8B20BC 8024204C AFBF0018 */ sw $ra, 0x18($sp) +/* 8B20C0 80242050 AFB00010 */ sw $s0, 0x10($sp) +/* 8B20C4 80242054 8E30000C */ lw $s0, 0xc($s1) +/* 8B20C8 80242058 8E050000 */ lw $a1, ($s0) +/* 8B20CC 8024205C 0C0B1EAF */ jal get_variable +/* 8B20D0 80242060 26100004 */ addiu $s0, $s0, 4 +/* 8B20D4 80242064 0C00EAD2 */ jal get_npc_safe +/* 8B20D8 80242068 0040202D */ daddu $a0, $v0, $zero +/* 8B20DC 8024206C 10400005 */ beqz $v0, .L80242084 +/* 8B20E0 80242070 00000000 */ nop +/* 8B20E4 80242074 8E050000 */ lw $a1, ($s0) +/* 8B20E8 80242078 844600A8 */ lh $a2, 0xa8($v0) +/* 8B20EC 8024207C 0C0B2026 */ jal set_variable +/* 8B20F0 80242080 0220202D */ daddu $a0, $s1, $zero +.L80242084: +/* 8B20F4 80242084 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B20F8 80242088 8FB10014 */ lw $s1, 0x14($sp) +/* 8B20FC 8024208C 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2100 80242090 24020002 */ addiu $v0, $zero, 2 +/* 8B2104 80242094 03E00008 */ jr $ra +/* 8B2108 80242098 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024209C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024209C.s new file mode 100644 index 0000000000..d237485be0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024209C.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024209C +/* 8B210C 8024209C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8B2110 802420A0 AFB10014 */ sw $s1, 0x14($sp) +/* 8B2114 802420A4 0080882D */ daddu $s1, $a0, $zero +/* 8B2118 802420A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 8B211C 802420AC AFB40020 */ sw $s4, 0x20($sp) +/* 8B2120 802420B0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B2124 802420B4 AFB20018 */ sw $s2, 0x18($sp) +/* 8B2128 802420B8 AFB00010 */ sw $s0, 0x10($sp) +/* 8B212C 802420BC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 8B2130 802420C0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8B2134 802420C4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8B2138 802420C8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8B213C 802420CC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8B2140 802420D0 8E30000C */ lw $s0, 0xc($s1) +/* 8B2144 802420D4 8E130000 */ lw $s3, ($s0) +/* 8B2148 802420D8 26100004 */ addiu $s0, $s0, 4 +/* 8B214C 802420DC 0C0B1EAF */ jal get_variable +/* 8B2150 802420E0 0260282D */ daddu $a1, $s3, $zero +/* 8B2154 802420E4 4482E000 */ mtc1 $v0, $f28 +/* 8B2158 802420E8 00000000 */ nop +/* 8B215C 802420EC 4680E720 */ cvt.s.w $f28, $f28 +/* 8B2160 802420F0 8E140000 */ lw $s4, ($s0) +/* 8B2164 802420F4 26100004 */ addiu $s0, $s0, 4 +/* 8B2168 802420F8 0220202D */ daddu $a0, $s1, $zero +/* 8B216C 802420FC 0C0B1EAF */ jal get_variable +/* 8B2170 80242100 0280282D */ daddu $a1, $s4, $zero +/* 8B2174 80242104 4482D000 */ mtc1 $v0, $f26 +/* 8B2178 80242108 00000000 */ nop +/* 8B217C 8024210C 4680D6A0 */ cvt.s.w $f26, $f26 +/* 8B2180 80242110 8E100000 */ lw $s0, ($s0) +/* 8B2184 80242114 0220202D */ daddu $a0, $s1, $zero +/* 8B2188 80242118 0C0B1EAF */ jal get_variable +/* 8B218C 8024211C 0200282D */ daddu $a1, $s0, $zero +/* 8B2190 80242120 4482C000 */ mtc1 $v0, $f24 +/* 8B2194 80242124 00000000 */ nop +/* 8B2198 80242128 4680C620 */ cvt.s.w $f24, $f24 +/* 8B219C 8024212C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 8B21A0 80242130 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 8B21A4 80242134 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8B21A8 80242138 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8B21AC 8024213C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 8B21B0 80242140 44800000 */ mtc1 $zero, $f0 +/* 8B21B4 80242144 00031080 */ sll $v0, $v1, 2 +/* 8B21B8 80242148 00431021 */ addu $v0, $v0, $v1 +/* 8B21BC 8024214C 00021080 */ sll $v0, $v0, 2 +/* 8B21C0 80242150 00431023 */ subu $v0, $v0, $v1 +/* 8B21C4 80242154 000218C0 */ sll $v1, $v0, 3 +/* 8B21C8 80242158 00431021 */ addu $v0, $v0, $v1 +/* 8B21CC 8024215C 000210C0 */ sll $v0, $v0, 3 +/* 8B21D0 80242160 46001032 */ c.eq.s $f2, $f0 +/* 8B21D4 80242164 3C01800B */ lui $at, 0x800b +/* 8B21D8 80242168 00220821 */ addu $at, $at, $v0 +/* 8B21DC 8024216C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 8B21E0 80242170 45000005 */ bc1f .L80242188 +/* 8B21E4 80242174 00000000 */ nop +/* 8B21E8 80242178 3C0142C8 */ lui $at, 0x42c8 +/* 8B21EC 8024217C 44810000 */ mtc1 $at, $f0 +/* 8B21F0 80242180 08090866 */ j .L80242198 +/* 8B21F4 80242184 4600B581 */ sub.s $f22, $f22, $f0 +.L80242188: +/* 8B21F8 80242188 3C0142C8 */ lui $at, 0x42c8 +/* 8B21FC 8024218C 44810000 */ mtc1 $at, $f0 +/* 8B2200 80242190 00000000 */ nop +/* 8B2204 80242194 4600B580 */ add.s $f22, $f22, $f0 +.L80242198: +/* 8B2208 80242198 0C00A6C9 */ jal clamp_angle +/* 8B220C 8024219C 4600B306 */ mov.s $f12, $f22 +/* 8B2210 802421A0 46000586 */ mov.s $f22, $f0 +/* 8B2214 802421A4 3C014170 */ lui $at, 0x4170 +/* 8B2218 802421A8 4481A000 */ mtc1 $at, $f20 +/* 8B221C 802421AC 0C00A8BB */ jal sin_deg +/* 8B2220 802421B0 4600B306 */ mov.s $f12, $f22 +/* 8B2224 802421B4 46140002 */ mul.s $f0, $f0, $f20 +/* 8B2228 802421B8 00000000 */ nop +/* 8B222C 802421BC 864200B0 */ lh $v0, 0xb0($s2) +/* 8B2230 802421C0 3C013F00 */ lui $at, 0x3f00 +/* 8B2234 802421C4 44812000 */ mtc1 $at, $f4 +/* 8B2238 802421C8 44821000 */ mtc1 $v0, $f2 +/* 8B223C 802421CC 00000000 */ nop +/* 8B2240 802421D0 468010A0 */ cvt.s.w $f2, $f2 +/* 8B2244 802421D4 46041082 */ mul.s $f2, $f2, $f4 +/* 8B2248 802421D8 00000000 */ nop +/* 8B224C 802421DC 4600E700 */ add.s $f28, $f28, $f0 +/* 8B2250 802421E0 4602D680 */ add.s $f26, $f26, $f2 +/* 8B2254 802421E4 0C00A8D4 */ jal cos_deg +/* 8B2258 802421E8 4600B306 */ mov.s $f12, $f22 +/* 8B225C 802421EC 46140002 */ mul.s $f0, $f0, $f20 +/* 8B2260 802421F0 00000000 */ nop +/* 8B2264 802421F4 0220202D */ daddu $a0, $s1, $zero +/* 8B2268 802421F8 0260282D */ daddu $a1, $s3, $zero +/* 8B226C 802421FC 4600E18D */ trunc.w.s $f6, $f28 +/* 8B2270 80242200 44063000 */ mfc1 $a2, $f6 +/* 8B2274 80242204 0C0B2026 */ jal set_variable +/* 8B2278 80242208 4600C601 */ sub.s $f24, $f24, $f0 +/* 8B227C 8024220C 0220202D */ daddu $a0, $s1, $zero +/* 8B2280 80242210 4600D18D */ trunc.w.s $f6, $f26 +/* 8B2284 80242214 44063000 */ mfc1 $a2, $f6 +/* 8B2288 80242218 0C0B2026 */ jal set_variable +/* 8B228C 8024221C 0280282D */ daddu $a1, $s4, $zero +/* 8B2290 80242220 0220202D */ daddu $a0, $s1, $zero +/* 8B2294 80242224 4600C18D */ trunc.w.s $f6, $f24 +/* 8B2298 80242228 44063000 */ mfc1 $a2, $f6 +/* 8B229C 8024222C 0C0B2026 */ jal set_variable +/* 8B22A0 80242230 0200282D */ daddu $a1, $s0, $zero +/* 8B22A4 80242234 8FBF0024 */ lw $ra, 0x24($sp) +/* 8B22A8 80242238 8FB40020 */ lw $s4, 0x20($sp) +/* 8B22AC 8024223C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B22B0 80242240 8FB20018 */ lw $s2, 0x18($sp) +/* 8B22B4 80242244 8FB10014 */ lw $s1, 0x14($sp) +/* 8B22B8 80242248 8FB00010 */ lw $s0, 0x10($sp) +/* 8B22BC 8024224C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 8B22C0 80242250 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8B22C4 80242254 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8B22C8 80242258 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8B22CC 8024225C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8B22D0 80242260 24020002 */ addiu $v0, $zero, 2 +/* 8B22D4 80242264 03E00008 */ jr $ra +/* 8B22D8 80242268 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024226C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024226C.s new file mode 100644 index 0000000000..a5da4b7f81 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024226C.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024226C +/* 8B22DC 8024226C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B22E0 80242270 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B22E4 80242274 10A00003 */ beqz $a1, .L80242284 +/* 8B22E8 80242278 8C86000C */ lw $a2, 0xc($a0) +/* 8B22EC 8024227C 3C018024 */ lui $at, 0x8024 +/* 8B22F0 80242280 AC207E30 */ sw $zero, 0x7e30($at) +.L80242284: +/* 8B22F4 80242284 3C038024 */ lui $v1, 0x8024 +/* 8B22F8 80242288 24637E30 */ addiu $v1, $v1, 0x7e30 +/* 8B22FC 8024228C 8C620000 */ lw $v0, ($v1) +/* 8B2300 80242290 54400003 */ bnel $v0, $zero, .L802422A0 +/* 8B2304 80242294 AC600000 */ sw $zero, ($v1) +/* 8B2308 80242298 080908AD */ j .L802422B4 +/* 8B230C 8024229C 0000102D */ daddu $v0, $zero, $zero +.L802422A0: +/* 8B2310 802422A0 8CC50000 */ lw $a1, ($a2) +/* 8B2314 802422A4 3C068024 */ lui $a2, 0x8024 +/* 8B2318 802422A8 0C0B2026 */ jal set_variable +/* 8B231C 802422AC 8CC67E34 */ lw $a2, 0x7e34($a2) +/* 8B2320 802422B0 24020002 */ addiu $v0, $zero, 2 +.L802422B4: +/* 8B2324 802422B4 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2328 802422B8 03E00008 */ jr $ra +/* 8B232C 802422BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802422C0_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802422C0_8B0070.s new file mode 100644 index 0000000000..37147cd1ff --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802422C0_8B0070.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C0_8B2330 +/* 8B2330 802422C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2334 802422C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2338 802422C8 8C82000C */ lw $v0, 0xc($a0) +/* 8B233C 802422CC 0C0B1EAF */ jal get_variable +/* 8B2340 802422D0 8C450000 */ lw $a1, ($v0) +/* 8B2344 802422D4 3C018024 */ lui $at, 0x8024 +/* 8B2348 802422D8 AC227E34 */ sw $v0, 0x7e34($at) +/* 8B234C 802422DC 24020002 */ addiu $v0, $zero, 2 +/* 8B2350 802422E0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2354 802422E4 24030001 */ addiu $v1, $zero, 1 +/* 8B2358 802422E8 3C018024 */ lui $at, 0x8024 +/* 8B235C 802422EC AC237E30 */ sw $v1, 0x7e30($at) +/* 8B2360 802422F0 03E00008 */ jr $ra +/* 8B2364 802422F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802422F8.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802422F8.s new file mode 100644 index 0000000000..03a9f73e4d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802422F8.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422F8 +/* 8B2368 802422F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B236C 802422FC AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2370 80242300 8C82000C */ lw $v0, 0xc($a0) +/* 8B2374 80242304 0C0B1EAF */ jal get_variable +/* 8B2378 80242308 8C450000 */ lw $a1, ($v0) +/* 8B237C 8024230C 0040182D */ daddu $v1, $v0, $zero +/* 8B2380 80242310 10600012 */ beqz $v1, .L8024235C +/* 8B2384 80242314 0000202D */ daddu $a0, $zero, $zero +/* 8B2388 80242318 8C620000 */ lw $v0, ($v1) +/* 8B238C 8024231C 5040000A */ beql $v0, $zero, .L80242348 +/* 8B2390 80242320 00041080 */ sll $v0, $a0, 2 +/* 8B2394 80242324 3C058025 */ lui $a1, 0x8025 +/* 8B2398 80242328 24A57F58 */ addiu $a1, $a1, 0x7f58 +.L8024232C: +/* 8B239C 8024232C 24630004 */ addiu $v1, $v1, 4 +/* 8B23A0 80242330 24840001 */ addiu $a0, $a0, 1 +/* 8B23A4 80242334 ACA20000 */ sw $v0, ($a1) +/* 8B23A8 80242338 8C620000 */ lw $v0, ($v1) +/* 8B23AC 8024233C 1440FFFB */ bnez $v0, .L8024232C +/* 8B23B0 80242340 24A50004 */ addiu $a1, $a1, 4 +/* 8B23B4 80242344 00041080 */ sll $v0, $a0, 2 +.L80242348: +/* 8B23B8 80242348 3C018025 */ lui $at, 0x8025 +/* 8B23BC 8024234C 00220821 */ addu $at, $at, $v0 +/* 8B23C0 80242350 AC207F58 */ sw $zero, 0x7f58($at) +/* 8B23C4 80242354 080908E1 */ j .L80242384 +/* 8B23C8 80242358 00000000 */ nop +.L8024235C: +/* 8B23CC 8024235C 3C038025 */ lui $v1, 0x8025 +/* 8B23D0 80242360 24637F58 */ addiu $v1, $v1, 0x7f58 +/* 8B23D4 80242364 0060282D */ daddu $a1, $v1, $zero +.L80242368: +/* 8B23D8 80242368 24820010 */ addiu $v0, $a0, 0x10 +/* 8B23DC 8024236C AC620000 */ sw $v0, ($v1) +/* 8B23E0 80242370 24630004 */ addiu $v1, $v1, 4 +/* 8B23E4 80242374 24840001 */ addiu $a0, $a0, 1 +/* 8B23E8 80242378 28820070 */ slti $v0, $a0, 0x70 +/* 8B23EC 8024237C 1440FFFA */ bnez $v0, .L80242368 +/* 8B23F0 80242380 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242384: +/* 8B23F4 80242384 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B23F8 80242388 24020002 */ addiu $v0, $zero, 2 +/* 8B23FC 8024238C 03E00008 */ jr $ra +/* 8B2400 80242390 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242394.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242394.s new file mode 100644 index 0000000000..17123fc4e0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242394.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242394 +/* 8B2404 80242394 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B2408 80242398 AFB10014 */ sw $s1, 0x14($sp) +/* 8B240C 8024239C 0080882D */ daddu $s1, $a0, $zero +/* 8B2410 802423A0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B2414 802423A4 AFB00010 */ sw $s0, 0x10($sp) +/* 8B2418 802423A8 8E30000C */ lw $s0, 0xc($s1) +/* 8B241C 802423AC 8E050000 */ lw $a1, ($s0) +/* 8B2420 802423B0 0C0B1EAF */ jal get_variable +/* 8B2424 802423B4 26100004 */ addiu $s0, $s0, 4 +/* 8B2428 802423B8 0220202D */ daddu $a0, $s1, $zero +/* 8B242C 802423BC 8E050000 */ lw $a1, ($s0) +/* 8B2430 802423C0 0C0B1EAF */ jal get_variable +/* 8B2434 802423C4 0040802D */ daddu $s0, $v0, $zero +/* 8B2438 802423C8 0200202D */ daddu $a0, $s0, $zero +/* 8B243C 802423CC 00021080 */ sll $v0, $v0, 2 +/* 8B2440 802423D0 3C108025 */ lui $s0, 0x8025 +/* 8B2444 802423D4 02028021 */ addu $s0, $s0, $v0 +/* 8B2448 802423D8 0C00FB3A */ jal get_enemy +/* 8B244C 802423DC 8E1080AC */ lw $s0, -0x7f54($s0) +/* 8B2450 802423E0 0040302D */ daddu $a2, $v0, $zero +/* 8B2454 802423E4 0000282D */ daddu $a1, $zero, $zero +.L802423E8: +/* 8B2458 802423E8 8E040000 */ lw $a0, ($s0) +/* 8B245C 802423EC 00051080 */ sll $v0, $a1, 2 +/* 8B2460 802423F0 8CC300D0 */ lw $v1, 0xd0($a2) +/* 8B2464 802423F4 24A50001 */ addiu $a1, $a1, 1 +/* 8B2468 802423F8 00431021 */ addu $v0, $v0, $v1 +/* 8B246C 802423FC AC440000 */ sw $a0, ($v0) +/* 8B2470 80242400 28A2000E */ slti $v0, $a1, 0xe +/* 8B2474 80242404 1440FFF8 */ bnez $v0, .L802423E8 +/* 8B2478 80242408 26100004 */ addiu $s0, $s0, 4 +/* 8B247C 8024240C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B2480 80242410 8FB10014 */ lw $s1, 0x14($sp) +/* 8B2484 80242414 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2488 80242418 24020002 */ addiu $v0, $zero, 2 +/* 8B248C 8024241C 03E00008 */ jr $ra +/* 8B2490 80242420 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242424.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242424.s new file mode 100644 index 0000000000..f277560f88 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242424.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242424 +/* 8B2494 80242424 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B2498 80242428 AFB10014 */ sw $s1, 0x14($sp) +/* 8B249C 8024242C 0080882D */ daddu $s1, $a0, $zero +/* 8B24A0 80242430 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B24A4 80242434 AFB00010 */ sw $s0, 0x10($sp) +/* 8B24A8 80242438 8E30000C */ lw $s0, 0xc($s1) +/* 8B24AC 8024243C 8E050000 */ lw $a1, ($s0) +/* 8B24B0 80242440 0C0B1EAF */ jal get_variable +/* 8B24B4 80242444 26100004 */ addiu $s0, $s0, 4 +/* 8B24B8 80242448 AE22008C */ sw $v0, 0x8c($s1) +/* 8B24BC 8024244C 8E050000 */ lw $a1, ($s0) +/* 8B24C0 80242450 26100004 */ addiu $s0, $s0, 4 +/* 8B24C4 80242454 0C0B1EAF */ jal get_variable +/* 8B24C8 80242458 0220202D */ daddu $a0, $s1, $zero +/* 8B24CC 8024245C AE220090 */ sw $v0, 0x90($s1) +/* 8B24D0 80242460 8E050000 */ lw $a1, ($s0) +/* 8B24D4 80242464 26100004 */ addiu $s0, $s0, 4 +/* 8B24D8 80242468 0C0B1EAF */ jal get_variable +/* 8B24DC 8024246C 0220202D */ daddu $a0, $s1, $zero +/* 8B24E0 80242470 AE220094 */ sw $v0, 0x94($s1) +/* 8B24E4 80242474 8E050000 */ lw $a1, ($s0) +/* 8B24E8 80242478 26100004 */ addiu $s0, $s0, 4 +/* 8B24EC 8024247C 0C0B1EAF */ jal get_variable +/* 8B24F0 80242480 0220202D */ daddu $a0, $s1, $zero +/* 8B24F4 80242484 AE220098 */ sw $v0, 0x98($s1) +/* 8B24F8 80242488 8E050000 */ lw $a1, ($s0) +/* 8B24FC 8024248C 26100004 */ addiu $s0, $s0, 4 +/* 8B2500 80242490 0C0B1EAF */ jal get_variable +/* 8B2504 80242494 0220202D */ daddu $a0, $s1, $zero +/* 8B2508 80242498 AE22009C */ sw $v0, 0x9c($s1) +/* 8B250C 8024249C 8E050000 */ lw $a1, ($s0) +/* 8B2510 802424A0 26100004 */ addiu $s0, $s0, 4 +/* 8B2514 802424A4 0C0B1EAF */ jal get_variable +/* 8B2518 802424A8 0220202D */ daddu $a0, $s1, $zero +/* 8B251C 802424AC AE2200A0 */ sw $v0, 0xa0($s1) +/* 8B2520 802424B0 8E050000 */ lw $a1, ($s0) +/* 8B2524 802424B4 26100004 */ addiu $s0, $s0, 4 +/* 8B2528 802424B8 0C0B1EAF */ jal get_variable +/* 8B252C 802424BC 0220202D */ daddu $a0, $s1, $zero +/* 8B2530 802424C0 AE2200A4 */ sw $v0, 0xa4($s1) +/* 8B2534 802424C4 8E050000 */ lw $a1, ($s0) +/* 8B2538 802424C8 26100004 */ addiu $s0, $s0, 4 +/* 8B253C 802424CC 0C0B1EAF */ jal get_variable +/* 8B2540 802424D0 0220202D */ daddu $a0, $s1, $zero +/* 8B2544 802424D4 AE2200A8 */ sw $v0, 0xa8($s1) +/* 8B2548 802424D8 8E050000 */ lw $a1, ($s0) +/* 8B254C 802424DC 26100004 */ addiu $s0, $s0, 4 +/* 8B2550 802424E0 0C0B1EAF */ jal get_variable +/* 8B2554 802424E4 0220202D */ daddu $a0, $s1, $zero +/* 8B2558 802424E8 AE2200AC */ sw $v0, 0xac($s1) +/* 8B255C 802424EC 8E050000 */ lw $a1, ($s0) +/* 8B2560 802424F0 0C0B1EAF */ jal get_variable +/* 8B2564 802424F4 0220202D */ daddu $a0, $s1, $zero +/* 8B2568 802424F8 AE2200B0 */ sw $v0, 0xb0($s1) +/* 8B256C 802424FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B2570 80242500 8FB10014 */ lw $s1, 0x14($sp) +/* 8B2574 80242504 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2578 80242508 24020002 */ addiu $v0, $zero, 2 +/* 8B257C 8024250C 03E00008 */ jr $ra +/* 8B2580 80242510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242514.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242514.s new file mode 100644 index 0000000000..841fb16848 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242514.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242514 +/* 8B2584 80242514 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8B2588 80242518 AFB1001C */ sw $s1, 0x1c($sp) +/* 8B258C 8024251C 0080882D */ daddu $s1, $a0, $zero +/* 8B2590 80242520 AFBF0034 */ sw $ra, 0x34($sp) +/* 8B2594 80242524 AFB60030 */ sw $s6, 0x30($sp) +/* 8B2598 80242528 AFB5002C */ sw $s5, 0x2c($sp) +/* 8B259C 8024252C AFB40028 */ sw $s4, 0x28($sp) +/* 8B25A0 80242530 AFB30024 */ sw $s3, 0x24($sp) +/* 8B25A4 80242534 AFB20020 */ sw $s2, 0x20($sp) +/* 8B25A8 80242538 AFB00018 */ sw $s0, 0x18($sp) +/* 8B25AC 8024253C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8B25B0 80242540 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8B25B4 80242544 8E30000C */ lw $s0, 0xc($s1) +/* 8B25B8 80242548 8E160000 */ lw $s6, ($s0) +/* 8B25BC 8024254C 26100004 */ addiu $s0, $s0, 4 +/* 8B25C0 80242550 0C0B1EAF */ jal get_variable +/* 8B25C4 80242554 02C0282D */ daddu $a1, $s6, $zero +/* 8B25C8 80242558 44820000 */ mtc1 $v0, $f0 +/* 8B25CC 8024255C 00000000 */ nop +/* 8B25D0 80242560 46800020 */ cvt.s.w $f0, $f0 +/* 8B25D4 80242564 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8B25D8 80242568 8E140000 */ lw $s4, ($s0) +/* 8B25DC 8024256C 26100004 */ addiu $s0, $s0, 4 +/* 8B25E0 80242570 0220202D */ daddu $a0, $s1, $zero +/* 8B25E4 80242574 0C0B1EAF */ jal get_variable +/* 8B25E8 80242578 0280282D */ daddu $a1, $s4, $zero +/* 8B25EC 8024257C 0220202D */ daddu $a0, $s1, $zero +/* 8B25F0 80242580 8E150000 */ lw $s5, ($s0) +/* 8B25F4 80242584 4482B000 */ mtc1 $v0, $f22 +/* 8B25F8 80242588 00000000 */ nop +/* 8B25FC 8024258C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B2600 80242590 0C0B1EAF */ jal get_variable +/* 8B2604 80242594 02A0282D */ daddu $a1, $s5, $zero +/* 8B2608 80242598 2404FFFC */ addiu $a0, $zero, -4 +/* 8B260C 8024259C 44820000 */ mtc1 $v0, $f0 +/* 8B2610 802425A0 00000000 */ nop +/* 8B2614 802425A4 46800020 */ cvt.s.w $f0, $f0 +/* 8B2618 802425A8 0C00EABB */ jal get_npc_unsafe +/* 8B261C 802425AC E7A00014 */ swc1 $f0, 0x14($sp) +/* 8B2620 802425B0 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 8B2624 802425B4 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 8B2628 802425B8 3C014334 */ lui $at, 0x4334 +/* 8B262C 802425BC 44816000 */ mtc1 $at, $f12 +/* 8B2630 802425C0 00041880 */ sll $v1, $a0, 2 +/* 8B2634 802425C4 00641821 */ addu $v1, $v1, $a0 +/* 8B2638 802425C8 00031880 */ sll $v1, $v1, 2 +/* 8B263C 802425CC 00641823 */ subu $v1, $v1, $a0 +/* 8B2640 802425D0 000320C0 */ sll $a0, $v1, 3 +/* 8B2644 802425D4 00641821 */ addu $v1, $v1, $a0 +/* 8B2648 802425D8 000318C0 */ sll $v1, $v1, 3 +/* 8B264C 802425DC 3C01800B */ lui $at, 0x800b +/* 8B2650 802425E0 00230821 */ addu $at, $at, $v1 +/* 8B2654 802425E4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8B2658 802425E8 460C0300 */ add.s $f12, $f0, $f12 +/* 8B265C 802425EC 0C00A6C9 */ jal clamp_angle +/* 8B2660 802425F0 0040982D */ daddu $s3, $v0, $zero +/* 8B2664 802425F4 27B00010 */ addiu $s0, $sp, 0x10 +/* 8B2668 802425F8 0200202D */ daddu $a0, $s0, $zero +/* 8B266C 802425FC 27B20014 */ addiu $s2, $sp, 0x14 +/* 8B2670 80242600 0240282D */ daddu $a1, $s2, $zero +/* 8B2674 80242604 3C064170 */ lui $a2, 0x4170 +/* 8B2678 80242608 8E67000C */ lw $a3, 0xc($s3) +/* 8B267C 8024260C 0C00A7E7 */ jal add_vec2D_polar +/* 8B2680 80242610 46000506 */ mov.s $f20, $f0 +/* 8B2684 80242614 0200202D */ daddu $a0, $s0, $zero +/* 8B2688 80242618 3C064120 */ lui $a2, 0x4120 +/* 8B268C 8024261C 4407A000 */ mfc1 $a3, $f20 +/* 8B2690 80242620 0C00A7E7 */ jal add_vec2D_polar +/* 8B2694 80242624 0240282D */ daddu $a1, $s2, $zero +/* 8B2698 80242628 0220202D */ daddu $a0, $s1, $zero +/* 8B269C 8024262C C7A00010 */ lwc1 $f0, 0x10($sp) +/* 8B26A0 80242630 4600008D */ trunc.w.s $f2, $f0 +/* 8B26A4 80242634 44061000 */ mfc1 $a2, $f2 +/* 8B26A8 80242638 0C0B2026 */ jal set_variable +/* 8B26AC 8024263C 02C0282D */ daddu $a1, $s6, $zero +/* 8B26B0 80242640 0220202D */ daddu $a0, $s1, $zero +/* 8B26B4 80242644 4600B08D */ trunc.w.s $f2, $f22 +/* 8B26B8 80242648 44061000 */ mfc1 $a2, $f2 +/* 8B26BC 8024264C 0C0B2026 */ jal set_variable +/* 8B26C0 80242650 0280282D */ daddu $a1, $s4, $zero +/* 8B26C4 80242654 0220202D */ daddu $a0, $s1, $zero +/* 8B26C8 80242658 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 8B26CC 8024265C 4600008D */ trunc.w.s $f2, $f0 +/* 8B26D0 80242660 44061000 */ mfc1 $a2, $f2 +/* 8B26D4 80242664 0C0B2026 */ jal set_variable +/* 8B26D8 80242668 02A0282D */ daddu $a1, $s5, $zero +/* 8B26DC 8024266C 8FBF0034 */ lw $ra, 0x34($sp) +/* 8B26E0 80242670 8FB60030 */ lw $s6, 0x30($sp) +/* 8B26E4 80242674 8FB5002C */ lw $s5, 0x2c($sp) +/* 8B26E8 80242678 8FB40028 */ lw $s4, 0x28($sp) +/* 8B26EC 8024267C 8FB30024 */ lw $s3, 0x24($sp) +/* 8B26F0 80242680 8FB20020 */ lw $s2, 0x20($sp) +/* 8B26F4 80242684 8FB1001C */ lw $s1, 0x1c($sp) +/* 8B26F8 80242688 8FB00018 */ lw $s0, 0x18($sp) +/* 8B26FC 8024268C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 8B2700 80242690 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8B2704 80242694 24020002 */ addiu $v0, $zero, 2 +/* 8B2708 80242698 03E00008 */ jr $ra +/* 8B270C 8024269C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802426A0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802426A0.s new file mode 100644 index 0000000000..ea0187a6e2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802426A0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426A0 +/* 8B2710 802426A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2714 802426A4 AFB00010 */ sw $s0, 0x10($sp) +/* 8B2718 802426A8 0080802D */ daddu $s0, $a0, $zero +/* 8B271C 802426AC AFBF0014 */ sw $ra, 0x14($sp) +/* 8B2720 802426B0 0C00EABB */ jal get_npc_unsafe +/* 8B2724 802426B4 8E04008C */ lw $a0, 0x8c($s0) +/* 8B2728 802426B8 0040282D */ daddu $a1, $v0, $zero +/* 8B272C 802426BC 8E040094 */ lw $a0, 0x94($s0) +/* 8B2730 802426C0 8CA30028 */ lw $v1, 0x28($a1) +/* 8B2734 802426C4 ACA40028 */ sw $a0, 0x28($a1) +/* 8B2738 802426C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B273C 802426CC 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2740 802426D0 24020002 */ addiu $v0, $zero, 2 +/* 8B2744 802426D4 3C018026 */ lui $at, 0x8026 +/* 8B2748 802426D8 AC23811C */ sw $v1, -0x7ee4($at) +/* 8B274C 802426DC 03E00008 */ jr $ra +/* 8B2750 802426E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802426E4.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802426E4.s new file mode 100644 index 0000000000..8bb2d48d11 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802426E4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426E4 +/* 8B2754 802426E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2758 802426E8 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B275C 802426EC 0C00EABB */ jal get_npc_unsafe +/* 8B2760 802426F0 8C84008C */ lw $a0, 0x8c($a0) +/* 8B2764 802426F4 3C038026 */ lui $v1, 0x8026 +/* 8B2768 802426F8 8C63811C */ lw $v1, -0x7ee4($v1) +/* 8B276C 802426FC AC430028 */ sw $v1, 0x28($v0) +/* 8B2770 80242700 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2774 80242704 24020002 */ addiu $v0, $zero, 2 +/* 8B2778 80242708 03E00008 */ jr $ra +/* 8B277C 8024270C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242710.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242710.s new file mode 100644 index 0000000000..144ad4a3d8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242710.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242710 +/* 8B2780 80242710 3C028011 */ lui $v0, %hi(gPlayerData) +/* 8B2784 80242714 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 8B2788 80242718 80430002 */ lb $v1, 2($v0) +/* 8B278C 8024271C 80420003 */ lb $v0, 3($v0) +/* 8B2790 80242720 00621826 */ xor $v1, $v1, $v0 +/* 8B2794 80242724 2C630001 */ sltiu $v1, $v1, 1 +/* 8B2798 80242728 24020002 */ addiu $v0, $zero, 2 +/* 8B279C 8024272C 03E00008 */ jr $ra +/* 8B27A0 80242730 AC830084 */ sw $v1, 0x84($a0) diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242734.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242734.s new file mode 100644 index 0000000000..200809b69f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242734.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242734 +/* 8B27A4 80242734 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B27A8 80242738 3C048026 */ lui $a0, 0x8026 +/* 8B27AC 8024273C 24848120 */ addiu $a0, $a0, -0x7ee0 +/* 8B27B0 80242740 3C028025 */ lui $v0, 0x8025 +/* 8B27B4 80242744 24427B00 */ addiu $v0, $v0, 0x7b00 +/* 8B27B8 80242748 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B27BC 8024274C AC820000 */ sw $v0, ($a0) +/* 8B27C0 80242750 3C028025 */ lui $v0, 0x8025 +/* 8B27C4 80242754 24427D00 */ addiu $v0, $v0, 0x7d00 +/* 8B27C8 80242758 AC820004 */ sw $v0, 4($a0) +/* 8B27CC 8024275C 24020020 */ addiu $v0, $zero, 0x20 +/* 8B27D0 80242760 A4820008 */ sh $v0, 8($a0) +/* 8B27D4 80242764 A482000A */ sh $v0, 0xa($a0) +/* 8B27D8 80242768 24020002 */ addiu $v0, $zero, 2 +/* 8B27DC 8024276C AC82000C */ sw $v0, 0xc($a0) +/* 8B27E0 80242770 0C0496CB */ jal set_message_images +/* 8B27E4 80242774 AC800010 */ sw $zero, 0x10($a0) +/* 8B27E8 80242778 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B27EC 8024277C 24020001 */ addiu $v0, $zero, 1 +/* 8B27F0 80242780 03E00008 */ jr $ra +/* 8B27F4 80242784 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242788.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242788.s new file mode 100644 index 0000000000..9f53ce7961 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242788.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242788 +/* 8B27F8 80242788 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B27FC 8024278C AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2800 80242790 3C018011 */ lui $at, 0x8011 +/* 8B2804 80242794 A020F2CC */ sb $zero, -0xd34($at) +/* 8B2808 80242798 0C03ACA9 */ jal func_800EB2A4 +/* 8B280C 8024279C 0000202D */ daddu $a0, $zero, $zero +/* 8B2810 802427A0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2814 802427A4 24020001 */ addiu $v0, $zero, 1 +/* 8B2818 802427A8 03E00008 */ jr $ra +/* 8B281C 802427AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802427B0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427B0.s new file mode 100644 index 0000000000..0aa776bc0c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427B0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427B0 +/* 8B2820 802427B0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8B2824 802427B4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8B2828 802427B8 8C420010 */ lw $v0, 0x10($v0) +/* 8B282C 802427BC 30421000 */ andi $v0, $v0, 0x1000 +/* 8B2830 802427C0 0002102B */ sltu $v0, $zero, $v0 +/* 8B2834 802427C4 03E00008 */ jr $ra +/* 8B2838 802427C8 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802427CC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427CC.s new file mode 100644 index 0000000000..dce59264a5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427CC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427CC +/* 8B283C 802427CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2840 802427D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2844 802427D4 0C00CD3C */ jal set_game_mode +/* 8B2848 802427D8 2404000A */ addiu $a0, $zero, 0xa +/* 8B284C 802427DC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2850 802427E0 24020001 */ addiu $v0, $zero, 1 +/* 8B2854 802427E4 03E00008 */ jr $ra +/* 8B2858 802427E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802427EC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427EC.s new file mode 100644 index 0000000000..ed0959e044 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802427EC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427EC +/* 8B285C 802427EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2860 802427F0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2864 802427F4 0C03A5EE */ jal func_800E97B8 +/* 8B2868 802427F8 00000000 */ nop +/* 8B286C 802427FC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2870 80242800 24020002 */ addiu $v0, $zero, 2 +/* 8B2874 80242804 03E00008 */ jr $ra +/* 8B2878 80242808 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024280C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024280C.s new file mode 100644 index 0000000000..756407f493 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024280C.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024280C +/* 8B287C 8024280C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B2880 80242810 AFB00010 */ sw $s0, 0x10($sp) +/* 8B2884 80242814 0080802D */ daddu $s0, $a0, $zero +/* 8B2888 80242818 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B288C 8024281C AFB10014 */ sw $s1, 0x14($sp) +/* 8B2890 80242820 8E11000C */ lw $s1, 0xc($s0) +/* 8B2894 80242824 0C0B36B0 */ jal resolve_npc +/* 8B2898 80242828 0000282D */ daddu $a1, $zero, $zero +/* 8B289C 8024282C 0200202D */ daddu $a0, $s0, $zero +/* 8B28A0 80242830 8E250000 */ lw $a1, ($s1) +/* 8B28A4 80242834 0C0B210B */ jal get_float_variable +/* 8B28A8 80242838 0040802D */ daddu $s0, $v0, $zero +/* 8B28AC 8024283C C6020034 */ lwc1 $f2, 0x34($s0) +/* 8B28B0 80242840 46001080 */ add.s $f2, $f2, $f0 +/* 8B28B4 80242844 E6020034 */ swc1 $f2, 0x34($s0) +/* 8B28B8 80242848 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B28BC 8024284C 8FB10014 */ lw $s1, 0x14($sp) +/* 8B28C0 80242850 8FB00010 */ lw $s0, 0x10($sp) +/* 8B28C4 80242854 24020002 */ addiu $v0, $zero, 2 +/* 8B28C8 80242858 03E00008 */ jr $ra +/* 8B28CC 8024285C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242860.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242860.s new file mode 100644 index 0000000000..eab6a3b689 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242860.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242860 +/* 8B28D0 80242860 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8B28D4 80242864 AFB10014 */ sw $s1, 0x14($sp) +/* 8B28D8 80242868 0080882D */ daddu $s1, $a0, $zero +/* 8B28DC 8024286C AFBF001C */ sw $ra, 0x1c($sp) +/* 8B28E0 80242870 AFB20018 */ sw $s2, 0x18($sp) +/* 8B28E4 80242874 AFB00010 */ sw $s0, 0x10($sp) +/* 8B28E8 80242878 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8B28EC 8024287C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8B28F0 80242880 0C00EABB */ jal get_npc_unsafe +/* 8B28F4 80242884 24040007 */ addiu $a0, $zero, 7 +/* 8B28F8 80242888 0040802D */ daddu $s0, $v0, $zero +/* 8B28FC 8024288C 3C12800B */ lui $s2, %hi(gCameras) +/* 8B2900 80242890 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* 8B2904 80242894 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8B2908 80242898 C640006C */ lwc1 $f0, 0x6c($s2) +/* 8B290C 8024289C 46006300 */ add.s $f12, $f12, $f0 +/* 8B2910 802428A0 3C014334 */ lui $at, 0x4334 +/* 8B2914 802428A4 4481A000 */ mtc1 $at, $f20 +/* 8B2918 802428A8 3C014220 */ lui $at, 0x4220 +/* 8B291C 802428AC 4481B000 */ mtc1 $at, $f22 +/* 8B2920 802428B0 0C00A8BB */ jal sin_deg +/* 8B2924 802428B4 46146300 */ add.s $f12, $f12, $f20 +/* 8B2928 802428B8 46160002 */ mul.s $f0, $f0, $f22 +/* 8B292C 802428BC 00000000 */ nop +/* 8B2930 802428C0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8B2934 802428C4 46001080 */ add.s $f2, $f2, $f0 +/* 8B2938 802428C8 4600110D */ trunc.w.s $f4, $f2 +/* 8B293C 802428CC E6240084 */ swc1 $f4, 0x84($s1) +/* 8B2940 802428D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8B2944 802428D4 3C014100 */ lui $at, 0x4100 +/* 8B2948 802428D8 44811000 */ mtc1 $at, $f2 +/* 8B294C 802428DC 00000000 */ nop +/* 8B2950 802428E0 46020000 */ add.s $f0, $f0, $f2 +/* 8B2954 802428E4 4600010D */ trunc.w.s $f4, $f0 +/* 8B2958 802428E8 E6240088 */ swc1 $f4, 0x88($s1) +/* 8B295C 802428EC C60C000C */ lwc1 $f12, 0xc($s0) +/* 8B2960 802428F0 C640006C */ lwc1 $f0, 0x6c($s2) +/* 8B2964 802428F4 46006300 */ add.s $f12, $f12, $f0 +/* 8B2968 802428F8 0C00A8D4 */ jal cos_deg +/* 8B296C 802428FC 46146300 */ add.s $f12, $f12, $f20 +/* 8B2970 80242900 46160002 */ mul.s $f0, $f0, $f22 +/* 8B2974 80242904 00000000 */ nop +/* 8B2978 80242908 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8B297C 8024290C 46001081 */ sub.s $f2, $f2, $f0 +/* 8B2980 80242910 4600110D */ trunc.w.s $f4, $f2 +/* 8B2984 80242914 E624008C */ swc1 $f4, 0x8c($s1) +/* 8B2988 80242918 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B298C 8024291C 8FB20018 */ lw $s2, 0x18($sp) +/* 8B2990 80242920 8FB10014 */ lw $s1, 0x14($sp) +/* 8B2994 80242924 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2998 80242928 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8B299C 8024292C D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8B29A0 80242930 24020002 */ addiu $v0, $zero, 2 +/* 8B29A4 80242934 03E00008 */ jr $ra +/* 8B29A8 80242938 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024293C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024293C.s new file mode 100644 index 0000000000..b57b3f5e4b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024293C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024293C +/* 8B29AC 8024293C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B29B0 80242940 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B29B4 80242944 0C03A6DB */ jal sync_status_menu +/* 8B29B8 80242948 00000000 */ nop +/* 8B29BC 8024294C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B29C0 80242950 24020002 */ addiu $v0, $zero, 2 +/* 8B29C4 80242954 03E00008 */ jr $ra +/* 8B29C8 80242958 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024295C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024295C.s new file mode 100644 index 0000000000..25078acb38 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024295C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024295C +/* 8B29CC 8024295C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8B29D0 80242960 AFB20018 */ sw $s2, 0x18($sp) +/* 8B29D4 80242964 0080902D */ daddu $s2, $a0, $zero +/* 8B29D8 80242968 AFB10014 */ sw $s1, 0x14($sp) +/* 8B29DC 8024296C 00A0882D */ daddu $s1, $a1, $zero +/* 8B29E0 80242970 AFBF002C */ sw $ra, 0x2c($sp) +/* 8B29E4 80242974 AFB60028 */ sw $s6, 0x28($sp) +/* 8B29E8 80242978 AFB50024 */ sw $s5, 0x24($sp) +/* 8B29EC 8024297C AFB40020 */ sw $s4, 0x20($sp) +/* 8B29F0 80242980 AFB3001C */ sw $s3, 0x1c($sp) +/* 8B29F4 80242984 AFB00010 */ sw $s0, 0x10($sp) +/* 8B29F8 80242988 8E50000C */ lw $s0, 0xc($s2) +/* 8B29FC 8024298C 8E050000 */ lw $a1, ($s0) +/* 8B2A00 80242990 0C0B1EAF */ jal get_variable +/* 8B2A04 80242994 26100004 */ addiu $s0, $s0, 4 +/* 8B2A08 80242998 8E050000 */ lw $a1, ($s0) +/* 8B2A0C 8024299C 26100004 */ addiu $s0, $s0, 4 +/* 8B2A10 802429A0 0240202D */ daddu $a0, $s2, $zero +/* 8B2A14 802429A4 0C0B1EAF */ jal get_variable +/* 8B2A18 802429A8 0040B02D */ daddu $s6, $v0, $zero +/* 8B2A1C 802429AC 8E050000 */ lw $a1, ($s0) +/* 8B2A20 802429B0 26100004 */ addiu $s0, $s0, 4 +/* 8B2A24 802429B4 0240202D */ daddu $a0, $s2, $zero +/* 8B2A28 802429B8 0C0B1EAF */ jal get_variable +/* 8B2A2C 802429BC 0040A02D */ daddu $s4, $v0, $zero +/* 8B2A30 802429C0 8E050000 */ lw $a1, ($s0) +/* 8B2A34 802429C4 26100004 */ addiu $s0, $s0, 4 +/* 8B2A38 802429C8 0240202D */ daddu $a0, $s2, $zero +/* 8B2A3C 802429CC 0C0B1EAF */ jal get_variable +/* 8B2A40 802429D0 0040982D */ daddu $s3, $v0, $zero +/* 8B2A44 802429D4 0240202D */ daddu $a0, $s2, $zero +/* 8B2A48 802429D8 8E050000 */ lw $a1, ($s0) +/* 8B2A4C 802429DC 0C0B1EAF */ jal get_variable +/* 8B2A50 802429E0 0040A82D */ daddu $s5, $v0, $zero +/* 8B2A54 802429E4 1220000B */ beqz $s1, .L80242A14 +/* 8B2A58 802429E8 0040802D */ daddu $s0, $v0, $zero +/* 8B2A5C 802429EC 3C048025 */ lui $a0, 0x8025 +/* 8B2A60 802429F0 24847F20 */ addiu $a0, $a0, 0x7f20 +/* 8B2A64 802429F4 3C058025 */ lui $a1, 0x8025 +/* 8B2A68 802429F8 24A57F21 */ addiu $a1, $a1, 0x7f21 +/* 8B2A6C 802429FC 3C068025 */ lui $a2, 0x8025 +/* 8B2A70 80242A00 24C67F22 */ addiu $a2, $a2, 0x7f22 +/* 8B2A74 80242A04 3C078025 */ lui $a3, 0x8025 +/* 8B2A78 80242A08 0C046FA0 */ jal get_background_color_blend +/* 8B2A7C 80242A0C 24E77F23 */ addiu $a3, $a3, 0x7f23 +/* 8B2A80 80242A10 AE400070 */ sw $zero, 0x70($s2) +.L80242A14: +/* 8B2A84 80242A14 1A000053 */ blez $s0, .L80242B64 +/* 8B2A88 80242A18 32C400FF */ andi $a0, $s6, 0xff +/* 8B2A8C 80242A1C 3C048025 */ lui $a0, 0x8025 +/* 8B2A90 80242A20 90847F20 */ lbu $a0, 0x7f20($a0) +/* 8B2A94 80242A24 8E430070 */ lw $v1, 0x70($s2) +/* 8B2A98 80242A28 02C41023 */ subu $v0, $s6, $a0 +/* 8B2A9C 80242A2C 00430018 */ mult $v0, $v1 +/* 8B2AA0 80242A30 00004012 */ mflo $t0 +/* 8B2AA4 80242A34 00000000 */ nop +/* 8B2AA8 80242A38 16000002 */ bnez $s0, .L80242A44 +/* 8B2AAC 80242A3C 0110001A */ div $zero, $t0, $s0 +/* 8B2AB0 80242A40 0007000D */ break 7 +.L80242A44: +/* 8B2AB4 80242A44 2401FFFF */ addiu $at, $zero, -1 +/* 8B2AB8 80242A48 16010004 */ bne $s0, $at, .L80242A5C +/* 8B2ABC 80242A4C 3C018000 */ lui $at, 0x8000 +/* 8B2AC0 80242A50 15010002 */ bne $t0, $at, .L80242A5C +/* 8B2AC4 80242A54 00000000 */ nop +/* 8B2AC8 80242A58 0006000D */ break 6 +.L80242A5C: +/* 8B2ACC 80242A5C 00005012 */ mflo $t2 +/* 8B2AD0 80242A60 3C058025 */ lui $a1, 0x8025 +/* 8B2AD4 80242A64 90A57F21 */ lbu $a1, 0x7f21($a1) +/* 8B2AD8 80242A68 02851023 */ subu $v0, $s4, $a1 +/* 8B2ADC 80242A6C 00430018 */ mult $v0, $v1 +/* 8B2AE0 80242A70 00004012 */ mflo $t0 +/* 8B2AE4 80242A74 00000000 */ nop +/* 8B2AE8 80242A78 16000002 */ bnez $s0, .L80242A84 +/* 8B2AEC 80242A7C 0110001A */ div $zero, $t0, $s0 +/* 8B2AF0 80242A80 0007000D */ break 7 +.L80242A84: +/* 8B2AF4 80242A84 2401FFFF */ addiu $at, $zero, -1 +/* 8B2AF8 80242A88 16010004 */ bne $s0, $at, .L80242A9C +/* 8B2AFC 80242A8C 3C018000 */ lui $at, 0x8000 +/* 8B2B00 80242A90 15010002 */ bne $t0, $at, .L80242A9C +/* 8B2B04 80242A94 00000000 */ nop +/* 8B2B08 80242A98 0006000D */ break 6 +.L80242A9C: +/* 8B2B0C 80242A9C 00004812 */ mflo $t1 +/* 8B2B10 80242AA0 3C068025 */ lui $a2, 0x8025 +/* 8B2B14 80242AA4 90C67F22 */ lbu $a2, 0x7f22($a2) +/* 8B2B18 80242AA8 02661023 */ subu $v0, $s3, $a2 +/* 8B2B1C 80242AAC 00430018 */ mult $v0, $v1 +/* 8B2B20 80242AB0 00004012 */ mflo $t0 +/* 8B2B24 80242AB4 00000000 */ nop +/* 8B2B28 80242AB8 16000002 */ bnez $s0, .L80242AC4 +/* 8B2B2C 80242ABC 0110001A */ div $zero, $t0, $s0 +/* 8B2B30 80242AC0 0007000D */ break 7 +.L80242AC4: +/* 8B2B34 80242AC4 2401FFFF */ addiu $at, $zero, -1 +/* 8B2B38 80242AC8 16010004 */ bne $s0, $at, .L80242ADC +/* 8B2B3C 80242ACC 3C018000 */ lui $at, 0x8000 +/* 8B2B40 80242AD0 15010002 */ bne $t0, $at, .L80242ADC +/* 8B2B44 80242AD4 00000000 */ nop +/* 8B2B48 80242AD8 0006000D */ break 6 +.L80242ADC: +/* 8B2B4C 80242ADC 00004012 */ mflo $t0 +/* 8B2B50 80242AE0 3C078025 */ lui $a3, 0x8025 +/* 8B2B54 80242AE4 90E77F23 */ lbu $a3, 0x7f23($a3) +/* 8B2B58 80242AE8 02A71023 */ subu $v0, $s5, $a3 +/* 8B2B5C 80242AEC 00430018 */ mult $v0, $v1 +/* 8B2B60 80242AF0 00001812 */ mflo $v1 +/* 8B2B64 80242AF4 00000000 */ nop +/* 8B2B68 80242AF8 16000002 */ bnez $s0, .L80242B04 +/* 8B2B6C 80242AFC 0070001A */ div $zero, $v1, $s0 +/* 8B2B70 80242B00 0007000D */ break 7 +.L80242B04: +/* 8B2B74 80242B04 2401FFFF */ addiu $at, $zero, -1 +/* 8B2B78 80242B08 16010004 */ bne $s0, $at, .L80242B1C +/* 8B2B7C 80242B0C 3C018000 */ lui $at, 0x8000 +/* 8B2B80 80242B10 14610002 */ bne $v1, $at, .L80242B1C +/* 8B2B84 80242B14 00000000 */ nop +/* 8B2B88 80242B18 0006000D */ break 6 +.L80242B1C: +/* 8B2B8C 80242B1C 00001012 */ mflo $v0 +/* 8B2B90 80242B20 008A2021 */ addu $a0, $a0, $t2 +/* 8B2B94 80242B24 308400FF */ andi $a0, $a0, 0xff +/* 8B2B98 80242B28 00A92821 */ addu $a1, $a1, $t1 +/* 8B2B9C 80242B2C 30A500FF */ andi $a1, $a1, 0xff +/* 8B2BA0 80242B30 00C83021 */ addu $a2, $a2, $t0 +/* 8B2BA4 80242B34 30C600FF */ andi $a2, $a2, 0xff +/* 8B2BA8 80242B38 00E23821 */ addu $a3, $a3, $v0 +/* 8B2BAC 80242B3C 0C046F97 */ jal set_background_color_blend +/* 8B2BB0 80242B40 30E700FF */ andi $a3, $a3, 0xff +/* 8B2BB4 80242B44 8E420070 */ lw $v0, 0x70($s2) +/* 8B2BB8 80242B48 24420001 */ addiu $v0, $v0, 1 +/* 8B2BBC 80242B4C AE420070 */ sw $v0, 0x70($s2) +/* 8B2BC0 80242B50 0202102A */ slt $v0, $s0, $v0 +/* 8B2BC4 80242B54 10400009 */ beqz $v0, .L80242B7C +/* 8B2BC8 80242B58 24020002 */ addiu $v0, $zero, 2 +/* 8B2BCC 80242B5C 08090AE0 */ j .L80242B80 +/* 8B2BD0 80242B60 00000000 */ nop +.L80242B64: +/* 8B2BD4 80242B64 328500FF */ andi $a1, $s4, 0xff +/* 8B2BD8 80242B68 326600FF */ andi $a2, $s3, 0xff +/* 8B2BDC 80242B6C 0C046F97 */ jal set_background_color_blend +/* 8B2BE0 80242B70 32A700FF */ andi $a3, $s5, 0xff +/* 8B2BE4 80242B74 08090AE0 */ j .L80242B80 +/* 8B2BE8 80242B78 24020002 */ addiu $v0, $zero, 2 +.L80242B7C: +/* 8B2BEC 80242B7C 0000102D */ daddu $v0, $zero, $zero +.L80242B80: +/* 8B2BF0 80242B80 8FBF002C */ lw $ra, 0x2c($sp) +/* 8B2BF4 80242B84 8FB60028 */ lw $s6, 0x28($sp) +/* 8B2BF8 80242B88 8FB50024 */ lw $s5, 0x24($sp) +/* 8B2BFC 80242B8C 8FB40020 */ lw $s4, 0x20($sp) +/* 8B2C00 80242B90 8FB3001C */ lw $s3, 0x1c($sp) +/* 8B2C04 80242B94 8FB20018 */ lw $s2, 0x18($sp) +/* 8B2C08 80242B98 8FB10014 */ lw $s1, 0x14($sp) +/* 8B2C0C 80242B9C 8FB00010 */ lw $s0, 0x10($sp) +/* 8B2C10 80242BA0 03E00008 */ jr $ra +/* 8B2C14 80242BA4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BA8_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BA8_8B0070.s new file mode 100644 index 0000000000..a091951d4b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BA8_8B0070.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BA8_8B2C18 +/* 8B2C18 80242BA8 3C038015 */ lui $v1, 0x8015 +/* 8B2C1C 80242BAC 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 8B2C20 80242BB0 24020001 */ addiu $v0, $zero, 1 +/* 8B2C24 80242BB4 A0620000 */ sb $v0, ($v1) +/* 8B2C28 80242BB8 03E00008 */ jr $ra +/* 8B2C2C 80242BBC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BC0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BC0.s new file mode 100644 index 0000000000..6e2fec49cc --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242BC0.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BC0 +/* 8B2C30 80242BC0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8B2C34 80242BC4 AFB20020 */ sw $s2, 0x20($sp) +/* 8B2C38 80242BC8 0080902D */ daddu $s2, $a0, $zero +/* 8B2C3C 80242BCC AFB1001C */ sw $s1, 0x1c($sp) +/* 8B2C40 80242BD0 00A0882D */ daddu $s1, $a1, $zero +/* 8B2C44 80242BD4 AFBF003C */ sw $ra, 0x3c($sp) +/* 8B2C48 80242BD8 AFBE0038 */ sw $fp, 0x38($sp) +/* 8B2C4C 80242BDC AFB70034 */ sw $s7, 0x34($sp) +/* 8B2C50 80242BE0 AFB60030 */ sw $s6, 0x30($sp) +/* 8B2C54 80242BE4 AFB5002C */ sw $s5, 0x2c($sp) +/* 8B2C58 80242BE8 AFB40028 */ sw $s4, 0x28($sp) +/* 8B2C5C 80242BEC AFB30024 */ sw $s3, 0x24($sp) +/* 8B2C60 80242BF0 AFB00018 */ sw $s0, 0x18($sp) +/* 8B2C64 80242BF4 8E50000C */ lw $s0, 0xc($s2) +/* 8B2C68 80242BF8 8E050000 */ lw $a1, ($s0) +/* 8B2C6C 80242BFC 0C0B1EAF */ jal get_variable +/* 8B2C70 80242C00 26100004 */ addiu $s0, $s0, 4 +/* 8B2C74 80242C04 8E050000 */ lw $a1, ($s0) +/* 8B2C78 80242C08 26100004 */ addiu $s0, $s0, 4 +/* 8B2C7C 80242C0C 0240202D */ daddu $a0, $s2, $zero +/* 8B2C80 80242C10 0C0B1EAF */ jal get_variable +/* 8B2C84 80242C14 0040B02D */ daddu $s6, $v0, $zero +/* 8B2C88 80242C18 8E050000 */ lw $a1, ($s0) +/* 8B2C8C 80242C1C 26100004 */ addiu $s0, $s0, 4 +/* 8B2C90 80242C20 0240202D */ daddu $a0, $s2, $zero +/* 8B2C94 80242C24 0C0B1EAF */ jal get_variable +/* 8B2C98 80242C28 0040A82D */ daddu $s5, $v0, $zero +/* 8B2C9C 80242C2C 8E050000 */ lw $a1, ($s0) +/* 8B2CA0 80242C30 26100004 */ addiu $s0, $s0, 4 +/* 8B2CA4 80242C34 0240202D */ daddu $a0, $s2, $zero +/* 8B2CA8 80242C38 0C0B1EAF */ jal get_variable +/* 8B2CAC 80242C3C 0040A02D */ daddu $s4, $v0, $zero +/* 8B2CB0 80242C40 8E050000 */ lw $a1, ($s0) +/* 8B2CB4 80242C44 26100004 */ addiu $s0, $s0, 4 +/* 8B2CB8 80242C48 0240202D */ daddu $a0, $s2, $zero +/* 8B2CBC 80242C4C 0C0B1EAF */ jal get_variable +/* 8B2CC0 80242C50 0040B82D */ daddu $s7, $v0, $zero +/* 8B2CC4 80242C54 8E050000 */ lw $a1, ($s0) +/* 8B2CC8 80242C58 26100004 */ addiu $s0, $s0, 4 +/* 8B2CCC 80242C5C 0240202D */ daddu $a0, $s2, $zero +/* 8B2CD0 80242C60 0C0B1EAF */ jal get_variable +/* 8B2CD4 80242C64 0040982D */ daddu $s3, $v0, $zero +/* 8B2CD8 80242C68 0240202D */ daddu $a0, $s2, $zero +/* 8B2CDC 80242C6C 8E050000 */ lw $a1, ($s0) +/* 8B2CE0 80242C70 0C0B1EAF */ jal get_variable +/* 8B2CE4 80242C74 0040F02D */ daddu $fp, $v0, $zero +/* 8B2CE8 80242C78 12200011 */ beqz $s1, .L80242CC0 +/* 8B2CEC 80242C7C 0040802D */ daddu $s0, $v0, $zero +/* 8B2CF0 80242C80 3C048025 */ lui $a0, 0x8025 +/* 8B2CF4 80242C84 24847F24 */ addiu $a0, $a0, 0x7f24 +/* 8B2CF8 80242C88 3C058025 */ lui $a1, 0x8025 +/* 8B2CFC 80242C8C 24A57F25 */ addiu $a1, $a1, 0x7f25 +/* 8B2D00 80242C90 3C068025 */ lui $a2, 0x8025 +/* 8B2D04 80242C94 24C67F26 */ addiu $a2, $a2, 0x7f26 +/* 8B2D08 80242C98 3C078025 */ lui $a3, 0x8025 +/* 8B2D0C 80242C9C 24E77F27 */ addiu $a3, $a3, 0x7f27 +/* 8B2D10 80242CA0 3C028025 */ lui $v0, 0x8025 +/* 8B2D14 80242CA4 24427F28 */ addiu $v0, $v0, 0x7f28 +/* 8B2D18 80242CA8 AFA20010 */ sw $v0, 0x10($sp) +/* 8B2D1C 80242CAC 3C028025 */ lui $v0, 0x8025 +/* 8B2D20 80242CB0 24427F29 */ addiu $v0, $v0, 0x7f29 +/* 8B2D24 80242CB4 0C046FF5 */ jal func_8011BFD4 +/* 8B2D28 80242CB8 AFA20014 */ sw $v0, 0x14($sp) +/* 8B2D2C 80242CBC AE400070 */ sw $zero, 0x70($s2) +.L80242CC0: +/* 8B2D30 80242CC0 1A00007A */ blez $s0, .L80242EAC +/* 8B2D34 80242CC4 32C400FF */ andi $a0, $s6, 0xff +/* 8B2D38 80242CC8 3C048025 */ lui $a0, 0x8025 +/* 8B2D3C 80242CCC 90847F24 */ lbu $a0, 0x7f24($a0) +/* 8B2D40 80242CD0 8E480070 */ lw $t0, 0x70($s2) +/* 8B2D44 80242CD4 02C41023 */ subu $v0, $s6, $a0 +/* 8B2D48 80242CD8 00480018 */ mult $v0, $t0 +/* 8B2D4C 80242CDC 00001812 */ mflo $v1 +/* 8B2D50 80242CE0 00000000 */ nop +/* 8B2D54 80242CE4 16000002 */ bnez $s0, .L80242CF0 +/* 8B2D58 80242CE8 0070001A */ div $zero, $v1, $s0 +/* 8B2D5C 80242CEC 0007000D */ break 7 +.L80242CF0: +/* 8B2D60 80242CF0 2401FFFF */ addiu $at, $zero, -1 +/* 8B2D64 80242CF4 16010004 */ bne $s0, $at, .L80242D08 +/* 8B2D68 80242CF8 3C018000 */ lui $at, 0x8000 +/* 8B2D6C 80242CFC 14610002 */ bne $v1, $at, .L80242D08 +/* 8B2D70 80242D00 00000000 */ nop +/* 8B2D74 80242D04 0006000D */ break 6 +.L80242D08: +/* 8B2D78 80242D08 00006812 */ mflo $t5 +/* 8B2D7C 80242D0C 3C058025 */ lui $a1, 0x8025 +/* 8B2D80 80242D10 90A57F25 */ lbu $a1, 0x7f25($a1) +/* 8B2D84 80242D14 02A51023 */ subu $v0, $s5, $a1 +/* 8B2D88 80242D18 00480018 */ mult $v0, $t0 +/* 8B2D8C 80242D1C 00001812 */ mflo $v1 +/* 8B2D90 80242D20 00000000 */ nop +/* 8B2D94 80242D24 16000002 */ bnez $s0, .L80242D30 +/* 8B2D98 80242D28 0070001A */ div $zero, $v1, $s0 +/* 8B2D9C 80242D2C 0007000D */ break 7 +.L80242D30: +/* 8B2DA0 80242D30 2401FFFF */ addiu $at, $zero, -1 +/* 8B2DA4 80242D34 16010004 */ bne $s0, $at, .L80242D48 +/* 8B2DA8 80242D38 3C018000 */ lui $at, 0x8000 +/* 8B2DAC 80242D3C 14610002 */ bne $v1, $at, .L80242D48 +/* 8B2DB0 80242D40 00000000 */ nop +/* 8B2DB4 80242D44 0006000D */ break 6 +.L80242D48: +/* 8B2DB8 80242D48 00006012 */ mflo $t4 +/* 8B2DBC 80242D4C 3C068025 */ lui $a2, 0x8025 +/* 8B2DC0 80242D50 90C67F26 */ lbu $a2, 0x7f26($a2) +/* 8B2DC4 80242D54 02861023 */ subu $v0, $s4, $a2 +/* 8B2DC8 80242D58 00480018 */ mult $v0, $t0 +/* 8B2DCC 80242D5C 00001812 */ mflo $v1 +/* 8B2DD0 80242D60 00000000 */ nop +/* 8B2DD4 80242D64 16000002 */ bnez $s0, .L80242D70 +/* 8B2DD8 80242D68 0070001A */ div $zero, $v1, $s0 +/* 8B2DDC 80242D6C 0007000D */ break 7 +.L80242D70: +/* 8B2DE0 80242D70 2401FFFF */ addiu $at, $zero, -1 +/* 8B2DE4 80242D74 16010004 */ bne $s0, $at, .L80242D88 +/* 8B2DE8 80242D78 3C018000 */ lui $at, 0x8000 +/* 8B2DEC 80242D7C 14610002 */ bne $v1, $at, .L80242D88 +/* 8B2DF0 80242D80 00000000 */ nop +/* 8B2DF4 80242D84 0006000D */ break 6 +.L80242D88: +/* 8B2DF8 80242D88 00005812 */ mflo $t3 +/* 8B2DFC 80242D8C 3C038025 */ lui $v1, 0x8025 +/* 8B2E00 80242D90 90637F28 */ lbu $v1, 0x7f28($v1) +/* 8B2E04 80242D94 02631023 */ subu $v0, $s3, $v1 +/* 8B2E08 80242D98 00480018 */ mult $v0, $t0 +/* 8B2E0C 80242D9C 00004812 */ mflo $t1 +/* 8B2E10 80242DA0 00000000 */ nop +/* 8B2E14 80242DA4 16000002 */ bnez $s0, .L80242DB0 +/* 8B2E18 80242DA8 0130001A */ div $zero, $t1, $s0 +/* 8B2E1C 80242DAC 0007000D */ break 7 +.L80242DB0: +/* 8B2E20 80242DB0 2401FFFF */ addiu $at, $zero, -1 +/* 8B2E24 80242DB4 16010004 */ bne $s0, $at, .L80242DC8 +/* 8B2E28 80242DB8 3C018000 */ lui $at, 0x8000 +/* 8B2E2C 80242DBC 15210002 */ bne $t1, $at, .L80242DC8 +/* 8B2E30 80242DC0 00000000 */ nop +/* 8B2E34 80242DC4 0006000D */ break 6 +.L80242DC8: +/* 8B2E38 80242DC8 00004812 */ mflo $t1 +/* 8B2E3C 80242DCC 3C078025 */ lui $a3, 0x8025 +/* 8B2E40 80242DD0 90E77F27 */ lbu $a3, 0x7f27($a3) +/* 8B2E44 80242DD4 02E71023 */ subu $v0, $s7, $a3 +/* 8B2E48 80242DD8 00480018 */ mult $v0, $t0 +/* 8B2E4C 80242DDC 00004012 */ mflo $t0 +/* 8B2E50 80242DE0 00000000 */ nop +/* 8B2E54 80242DE4 16000002 */ bnez $s0, .L80242DF0 +/* 8B2E58 80242DE8 0110001A */ div $zero, $t0, $s0 +/* 8B2E5C 80242DEC 0007000D */ break 7 +.L80242DF0: +/* 8B2E60 80242DF0 2401FFFF */ addiu $at, $zero, -1 +/* 8B2E64 80242DF4 16010004 */ bne $s0, $at, .L80242E08 +/* 8B2E68 80242DF8 3C018000 */ lui $at, 0x8000 +/* 8B2E6C 80242DFC 15010002 */ bne $t0, $at, .L80242E08 +/* 8B2E70 80242E00 00000000 */ nop +/* 8B2E74 80242E04 0006000D */ break 6 +.L80242E08: +/* 8B2E78 80242E08 00005012 */ mflo $t2 +/* 8B2E7C 80242E0C 3C088025 */ lui $t0, 0x8025 +/* 8B2E80 80242E10 91087F29 */ lbu $t0, 0x7f29($t0) +/* 8B2E84 80242E14 00691821 */ addu $v1, $v1, $t1 +/* 8B2E88 80242E18 306300FF */ andi $v1, $v1, 0xff +/* 8B2E8C 80242E1C AFA30010 */ sw $v1, 0x10($sp) +/* 8B2E90 80242E20 8E430070 */ lw $v1, 0x70($s2) +/* 8B2E94 80242E24 03C81023 */ subu $v0, $fp, $t0 +/* 8B2E98 80242E28 00430018 */ mult $v0, $v1 +/* 8B2E9C 80242E2C 00001812 */ mflo $v1 +/* 8B2EA0 80242E30 00000000 */ nop +/* 8B2EA4 80242E34 16000002 */ bnez $s0, .L80242E40 +/* 8B2EA8 80242E38 0070001A */ div $zero, $v1, $s0 +/* 8B2EAC 80242E3C 0007000D */ break 7 +.L80242E40: +/* 8B2EB0 80242E40 2401FFFF */ addiu $at, $zero, -1 +/* 8B2EB4 80242E44 16010004 */ bne $s0, $at, .L80242E58 +/* 8B2EB8 80242E48 3C018000 */ lui $at, 0x8000 +/* 8B2EBC 80242E4C 14610002 */ bne $v1, $at, .L80242E58 +/* 8B2EC0 80242E50 00000000 */ nop +/* 8B2EC4 80242E54 0006000D */ break 6 +.L80242E58: +/* 8B2EC8 80242E58 00001012 */ mflo $v0 +/* 8B2ECC 80242E5C 008D2021 */ addu $a0, $a0, $t5 +/* 8B2ED0 80242E60 308400FF */ andi $a0, $a0, 0xff +/* 8B2ED4 80242E64 00AC2821 */ addu $a1, $a1, $t4 +/* 8B2ED8 80242E68 30A500FF */ andi $a1, $a1, 0xff +/* 8B2EDC 80242E6C 00CB3021 */ addu $a2, $a2, $t3 +/* 8B2EE0 80242E70 30C600FF */ andi $a2, $a2, 0xff +/* 8B2EE4 80242E74 00EA3821 */ addu $a3, $a3, $t2 +/* 8B2EE8 80242E78 30E700FF */ andi $a3, $a3, 0xff +/* 8B2EEC 80242E7C 01024021 */ addu $t0, $t0, $v0 +/* 8B2EF0 80242E80 310800FF */ andi $t0, $t0, 0xff +/* 8B2EF4 80242E84 0C046FE6 */ jal func_8011BF98 +/* 8B2EF8 80242E88 AFA80014 */ sw $t0, 0x14($sp) +/* 8B2EFC 80242E8C 8E420070 */ lw $v0, 0x70($s2) +/* 8B2F00 80242E90 24420001 */ addiu $v0, $v0, 1 +/* 8B2F04 80242E94 AE420070 */ sw $v0, 0x70($s2) +/* 8B2F08 80242E98 0202102A */ slt $v0, $s0, $v0 +/* 8B2F0C 80242E9C 1040000D */ beqz $v0, .L80242ED4 +/* 8B2F10 80242EA0 24020002 */ addiu $v0, $zero, 2 +/* 8B2F14 80242EA4 08090BB6 */ j .L80242ED8 +/* 8B2F18 80242EA8 00000000 */ nop +.L80242EAC: +/* 8B2F1C 80242EAC 32A500FF */ andi $a1, $s5, 0xff +/* 8B2F20 80242EB0 328600FF */ andi $a2, $s4, 0xff +/* 8B2F24 80242EB4 32E700FF */ andi $a3, $s7, 0xff +/* 8B2F28 80242EB8 326200FF */ andi $v0, $s3, 0xff +/* 8B2F2C 80242EBC AFA20010 */ sw $v0, 0x10($sp) +/* 8B2F30 80242EC0 33C200FF */ andi $v0, $fp, 0xff +/* 8B2F34 80242EC4 0C046FE6 */ jal func_8011BF98 +/* 8B2F38 80242EC8 AFA20014 */ sw $v0, 0x14($sp) +/* 8B2F3C 80242ECC 08090BB6 */ j .L80242ED8 +/* 8B2F40 80242ED0 24020002 */ addiu $v0, $zero, 2 +.L80242ED4: +/* 8B2F44 80242ED4 0000102D */ daddu $v0, $zero, $zero +.L80242ED8: +/* 8B2F48 80242ED8 8FBF003C */ lw $ra, 0x3c($sp) +/* 8B2F4C 80242EDC 8FBE0038 */ lw $fp, 0x38($sp) +/* 8B2F50 80242EE0 8FB70034 */ lw $s7, 0x34($sp) +/* 8B2F54 80242EE4 8FB60030 */ lw $s6, 0x30($sp) +/* 8B2F58 80242EE8 8FB5002C */ lw $s5, 0x2c($sp) +/* 8B2F5C 80242EEC 8FB40028 */ lw $s4, 0x28($sp) +/* 8B2F60 80242EF0 8FB30024 */ lw $s3, 0x24($sp) +/* 8B2F64 80242EF4 8FB20020 */ lw $s2, 0x20($sp) +/* 8B2F68 80242EF8 8FB1001C */ lw $s1, 0x1c($sp) +/* 8B2F6C 80242EFC 8FB00018 */ lw $s0, 0x18($sp) +/* 8B2F70 80242F00 03E00008 */ jr $ra +/* 8B2F74 80242F04 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F08_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F08_8B0070.s new file mode 100644 index 0000000000..f8b79ec9ef --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F08_8B0070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F08_8B2F78 +/* 8B2F78 80242F08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2F7C 80242F0C AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2F80 80242F10 0C04760B */ jal func_8011D82C +/* 8B2F84 80242F14 24040003 */ addiu $a0, $zero, 3 +/* 8B2F88 80242F18 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2F8C 80242F1C 24020002 */ addiu $v0, $zero, 2 +/* 8B2F90 80242F20 03E00008 */ jr $ra +/* 8B2F94 80242F24 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F28.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F28.s new file mode 100644 index 0000000000..dbc0d367fd --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F28.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F28 +/* 8B2F98 80242F28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B2F9C 80242F2C 2404009C */ addiu $a0, $zero, 0x9c +/* 8B2FA0 80242F30 2405FFFF */ addiu $a1, $zero, -1 +/* 8B2FA4 80242F34 24060001 */ addiu $a2, $zero, 1 +/* 8B2FA8 80242F38 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B2FAC 80242F3C 0C046E54 */ jal func_8011B950 +/* 8B2FB0 80242F40 00C0382D */ daddu $a3, $a2, $zero +/* 8B2FB4 80242F44 0000202D */ daddu $a0, $zero, $zero +/* 8B2FB8 80242F48 0080282D */ daddu $a1, $a0, $zero +/* 8B2FBC 80242F4C 0080302D */ daddu $a2, $a0, $zero +/* 8B2FC0 80242F50 0C046F97 */ jal set_background_color_blend +/* 8B2FC4 80242F54 240700FF */ addiu $a3, $zero, 0xff +/* 8B2FC8 80242F58 3C02800B */ lui $v0, %hi(gCameras) +/* 8B2FCC 80242F5C 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 8B2FD0 80242F60 A440002C */ sh $zero, 0x2c($v0) +/* 8B2FD4 80242F64 A440002E */ sh $zero, 0x2e($v0) +/* 8B2FD8 80242F68 A4400030 */ sh $zero, 0x30($v0) +/* 8B2FDC 80242F6C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B2FE0 80242F70 24020002 */ addiu $v0, $zero, 2 +/* 8B2FE4 80242F74 03E00008 */ jr $ra +/* 8B2FE8 80242F78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F7C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F7C.s new file mode 100644 index 0000000000..f704376566 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80242F7C.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F7C +/* 8B2FEC 80242F7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B2FF0 80242F80 AFB10014 */ sw $s1, 0x14($sp) +/* 8B2FF4 80242F84 0080882D */ daddu $s1, $a0, $zero +/* 8B2FF8 80242F88 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B2FFC 80242F8C 10A0000B */ beqz $a1, .L80242FBC +/* 8B3000 80242F90 AFB00010 */ sw $s0, 0x10($sp) +/* 8B3004 80242F94 8E24014C */ lw $a0, 0x14c($s1) +/* 8B3008 80242F98 0C00EAD2 */ jal get_npc_safe +/* 8B300C 80242F9C AE200074 */ sw $zero, 0x74($s1) +/* 8B3010 80242FA0 8E23014C */ lw $v1, 0x14c($s1) +/* 8B3014 80242FA4 AE220078 */ sw $v0, 0x78($s1) +/* 8B3018 80242FA8 00031840 */ sll $v1, $v1, 1 +/* 8B301C 80242FAC 3C028025 */ lui $v0, 0x8025 +/* 8B3020 80242FB0 00431021 */ addu $v0, $v0, $v1 +/* 8B3024 80242FB4 8442E538 */ lh $v0, -0x1ac8($v0) +/* 8B3028 80242FB8 AE22007C */ sw $v0, 0x7c($s1) +.L80242FBC: +/* 8B302C 80242FBC 8E22007C */ lw $v0, 0x7c($s1) +/* 8B3030 80242FC0 14400015 */ bnez $v0, .L80243018 +/* 8B3034 80242FC4 2442FFFF */ addiu $v0, $v0, -1 +/* 8B3038 80242FC8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8B303C 80242FCC 0C00A8BB */ jal sin_deg +/* 8B3040 80242FD0 8E300078 */ lw $s0, 0x78($s1) +/* 8B3044 80242FD4 3C013FC0 */ lui $at, 0x3fc0 +/* 8B3048 80242FD8 44811000 */ mtc1 $at, $f2 +/* 8B304C 80242FDC 00000000 */ nop +/* 8B3050 80242FE0 46020002 */ mul.s $f0, $f0, $f2 +/* 8B3054 80242FE4 00000000 */ nop +/* 8B3058 80242FE8 3C014190 */ lui $at, 0x4190 +/* 8B305C 80242FEC 44816000 */ mtc1 $at, $f12 +/* 8B3060 80242FF0 4600010D */ trunc.w.s $f4, $f0 +/* 8B3064 80242FF4 44022000 */ mfc1 $v0, $f4 +/* 8B3068 80242FF8 00000000 */ nop +/* 8B306C 80242FFC A20200AB */ sb $v0, 0xab($s0) +/* 8B3070 80243000 C6200074 */ lwc1 $f0, 0x74($s1) +/* 8B3074 80243004 0C00A6C9 */ jal clamp_angle +/* 8B3078 80243008 460C0300 */ add.s $f12, $f0, $f12 +/* 8B307C 8024300C 0000102D */ daddu $v0, $zero, $zero +/* 8B3080 80243010 08090C08 */ j .L80243020 +/* 8B3084 80243014 E6200074 */ swc1 $f0, 0x74($s1) +.L80243018: +/* 8B3088 80243018 AE22007C */ sw $v0, 0x7c($s1) +/* 8B308C 8024301C 0000102D */ daddu $v0, $zero, $zero +.L80243020: +/* 8B3090 80243020 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B3094 80243024 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3098 80243028 8FB00010 */ lw $s0, 0x10($sp) +/* 8B309C 8024302C 03E00008 */ jr $ra +/* 8B30A0 80243030 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243034.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243034.s new file mode 100644 index 0000000000..9b06da7ff0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243034.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243034 +/* 8B30A4 80243034 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B30A8 80243038 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B30AC 8024303C 0C04C3D6 */ jal get_item_entity +/* 8B30B0 80243040 8C840084 */ lw $a0, 0x84($a0) +/* 8B30B4 80243044 3C013F19 */ lui $at, 0x3f19 +/* 8B30B8 80243048 3421999A */ ori $at, $at, 0x999a +/* 8B30BC 8024304C 44810000 */ mtc1 $at, $f0 +/* 8B30C0 80243050 00000000 */ nop +/* 8B30C4 80243054 E4400030 */ swc1 $f0, 0x30($v0) +/* 8B30C8 80243058 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B30CC 8024305C 24020002 */ addiu $v0, $zero, 2 +/* 8B30D0 80243060 03E00008 */ jr $ra +/* 8B30D4 80243064 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8B30D8 80243068 00000000 */ nop +/* 8B30DC 8024306C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243070.s new file mode 100644 index 0000000000..4c7545d6f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243070 +/* 8B30E0 80243070 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B30E4 80243074 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B30E8 80243078 0C03A625 */ jal func_800E9894 +/* 8B30EC 8024307C 00000000 */ nop +/* 8B30F0 80243080 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B30F4 80243084 24020002 */ addiu $v0, $zero, 2 +/* 8B30F8 80243088 03E00008 */ jr $ra +/* 8B30FC 8024308C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243090_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243090_8B0070.s new file mode 100644 index 0000000000..148f155323 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243090_8B0070.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243090_8B3100 +/* 8B3100 80243090 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3104 80243094 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B3108 80243098 0C03A631 */ jal func_800E98C4 +/* 8B310C 8024309C 00000000 */ nop +/* 8B3110 802430A0 0C03A6DB */ jal sync_status_menu +/* 8B3114 802430A4 00000000 */ nop +/* 8B3118 802430A8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B311C 802430AC 24020002 */ addiu $v0, $zero, 2 +/* 8B3120 802430B0 03E00008 */ jr $ra +/* 8B3124 802430B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802430B8.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802430B8.s new file mode 100644 index 0000000000..c8ee637448 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802430B8.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430B8 +/* 8B3128 802430B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B312C 802430BC AFB10014 */ sw $s1, 0x14($sp) +/* 8B3130 802430C0 0080882D */ daddu $s1, $a0, $zero +/* 8B3134 802430C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B3138 802430C8 AFB00010 */ sw $s0, 0x10($sp) +/* 8B313C 802430CC 8E30000C */ lw $s0, 0xc($s1) +/* 8B3140 802430D0 8E050000 */ lw $a1, ($s0) +/* 8B3144 802430D4 0C0B1EAF */ jal get_variable +/* 8B3148 802430D8 26100004 */ addiu $s0, $s0, 4 +/* 8B314C 802430DC 0220202D */ daddu $a0, $s1, $zero +/* 8B3150 802430E0 8E050000 */ lw $a1, ($s0) +/* 8B3154 802430E4 0C0B1EAF */ jal get_variable +/* 8B3158 802430E8 0040882D */ daddu $s1, $v0, $zero +/* 8B315C 802430EC 0000202D */ daddu $a0, $zero, $zero +/* 8B3160 802430F0 0080282D */ daddu $a1, $a0, $zero +/* 8B3164 802430F4 0040802D */ daddu $s0, $v0, $zero +/* 8B3168 802430F8 240600BE */ addiu $a2, $zero, 0xbe +/* 8B316C 802430FC 0C04DF93 */ jal func_80137E4C +/* 8B3170 80243100 24070091 */ addiu $a3, $zero, 0x91 +/* 8B3174 80243104 44900000 */ mtc1 $s0, $f0 +/* 8B3178 80243108 00000000 */ nop +/* 8B317C 8024310C 46800020 */ cvt.s.w $f0, $f0 +/* 8B3180 80243110 44050000 */ mfc1 $a1, $f0 +/* 8B3184 80243114 0C04DF62 */ jal func_80137D88 +/* 8B3188 80243118 322400FF */ andi $a0, $s1, 0xff +/* 8B318C 8024311C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B3190 80243120 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3194 80243124 8FB00010 */ lw $s0, 0x10($sp) +/* 8B3198 80243128 24020002 */ addiu $v0, $zero, 2 +/* 8B319C 8024312C 03E00008 */ jr $ra +/* 8B31A0 80243130 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243134.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243134.s new file mode 100644 index 0000000000..f8a2155970 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243134.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243134 +/* 8B31A4 80243134 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B31A8 80243138 AFB10014 */ sw $s1, 0x14($sp) +/* 8B31AC 8024313C 0080882D */ daddu $s1, $a0, $zero +/* 8B31B0 80243140 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B31B4 80243144 AFB00010 */ sw $s0, 0x10($sp) +/* 8B31B8 80243148 8E30000C */ lw $s0, 0xc($s1) +/* 8B31BC 8024314C 8E050000 */ lw $a1, ($s0) +/* 8B31C0 80243150 0C0B1EAF */ jal get_variable +/* 8B31C4 80243154 26100004 */ addiu $s0, $s0, 4 +/* 8B31C8 80243158 0220202D */ daddu $a0, $s1, $zero +/* 8B31CC 8024315C 8E050000 */ lw $a1, ($s0) +/* 8B31D0 80243160 0C0B1EAF */ jal get_variable +/* 8B31D4 80243164 0040802D */ daddu $s0, $v0, $zero +/* 8B31D8 80243168 44820000 */ mtc1 $v0, $f0 +/* 8B31DC 8024316C 00000000 */ nop +/* 8B31E0 80243170 46800020 */ cvt.s.w $f0, $f0 +/* 8B31E4 80243174 24020002 */ addiu $v0, $zero, 2 +/* 8B31E8 80243178 00501804 */ sllv $v1, $s0, $v0 +/* 8B31EC 8024317C 00701821 */ addu $v1, $v1, $s0 +/* 8B31F0 80243180 00431804 */ sllv $v1, $v1, $v0 +/* 8B31F4 80243184 00701823 */ subu $v1, $v1, $s0 +/* 8B31F8 80243188 000320C0 */ sll $a0, $v1, 3 +/* 8B31FC 8024318C 00641821 */ addu $v1, $v1, $a0 +/* 8B3200 80243190 000318C0 */ sll $v1, $v1, 3 +/* 8B3204 80243194 3C01800B */ lui $at, 0x800b +/* 8B3208 80243198 00230821 */ addu $at, $at, $v1 +/* 8B320C 8024319C E4201D98 */ swc1 $f0, 0x1d98($at) +/* 8B3210 802431A0 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B3214 802431A4 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3218 802431A8 8FB00010 */ lw $s0, 0x10($sp) +/* 8B321C 802431AC 03E00008 */ jr $ra +/* 8B3220 802431B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802431B4.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802431B4.s new file mode 100644 index 0000000000..4c466fffcc --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802431B4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431B4 +/* 8B3224 802431B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3228 802431B8 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B322C 802431BC 8C82000C */ lw $v0, 0xc($a0) +/* 8B3230 802431C0 0C0B1EAF */ jal get_variable +/* 8B3234 802431C4 8C450000 */ lw $a1, ($v0) +/* 8B3238 802431C8 0C0B1059 */ jal does_script_exist +/* 8B323C 802431CC 0040202D */ daddu $a0, $v0, $zero +/* 8B3240 802431D0 2C420001 */ sltiu $v0, $v0, 1 +/* 8B3244 802431D4 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B3248 802431D8 00021040 */ sll $v0, $v0, 1 +/* 8B324C 802431DC 03E00008 */ jr $ra +/* 8B3250 802431E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802431E4.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802431E4.s new file mode 100644 index 0000000000..c477edda03 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802431E4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431E4 +/* 8B3254 802431E4 3C028011 */ lui $v0, 0x8011 +/* 8B3258 802431E8 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 8B325C 802431EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3260 802431F0 10400003 */ beqz $v0, .L80243200 +/* 8B3264 802431F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B3268 802431F8 0C03AE06 */ jal partner_suspend_ability_script +/* 8B326C 802431FC 00000000 */ nop +.L80243200: +/* 8B3270 80243200 24020002 */ addiu $v0, $zero, 2 +/* 8B3274 80243204 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B3278 80243208 03E00008 */ jr $ra +/* 8B327C 8024320C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243210.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243210.s new file mode 100644 index 0000000000..f86ab517bf --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243210.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243210 +/* 8B3280 80243210 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3284 80243214 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B3288 80243218 0C03AE18 */ jal partner_resume_ability_script +/* 8B328C 8024321C 00000000 */ nop +/* 8B3290 80243220 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B3294 80243224 24020002 */ addiu $v0, $zero, 2 +/* 8B3298 80243228 03E00008 */ jr $ra +/* 8B329C 8024322C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243230.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243230.s new file mode 100644 index 0000000000..5b074811e8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243230.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243230 +/* 8B32A0 80243230 3C058011 */ lui $a1, %hi(gPlayerData) +/* 8B32A4 80243234 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 8B32A8 80243238 AC800088 */ sw $zero, 0x88($a0) +/* 8B32AC 8024323C 80A30003 */ lb $v1, 3($a1) +/* 8B32B0 80243240 80A20002 */ lb $v0, 2($a1) +/* 8B32B4 80243244 1462000B */ bne $v1, $v0, .L80243274 +/* 8B32B8 80243248 00A0302D */ daddu $a2, $a1, $zero +/* 8B32BC 8024324C 80A30006 */ lb $v1, 6($a1) +/* 8B32C0 80243250 80A20005 */ lb $v0, 5($a1) +/* 8B32C4 80243254 14620007 */ bne $v1, $v0, .L80243274 +/* 8B32C8 80243258 00000000 */ nop +/* 8B32CC 8024325C 80C2028E */ lb $v0, 0x28e($a2) +/* 8B32D0 80243260 84C30290 */ lh $v1, 0x290($a2) +/* 8B32D4 80243264 00021200 */ sll $v0, $v0, 8 +/* 8B32D8 80243268 14620004 */ bne $v1, $v0, .L8024327C +/* 8B32DC 8024326C 24020001 */ addiu $v0, $zero, 1 +/* 8B32E0 80243270 AC820088 */ sw $v0, 0x88($a0) +.L80243274: +/* 8B32E4 80243274 03E00008 */ jr $ra +/* 8B32E8 80243278 24020002 */ addiu $v0, $zero, 2 +.L8024327C: +/* 8B32EC 8024327C 03E00008 */ jr $ra +/* 8B32F0 80243280 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243284.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243284.s new file mode 100644 index 0000000000..c480d46ef1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243284.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243284 +/* 8B32F4 80243284 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B32F8 80243288 AFB10014 */ sw $s1, 0x14($sp) +/* 8B32FC 8024328C 0080882D */ daddu $s1, $a0, $zero +/* 8B3300 80243290 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B3304 80243294 AFB20018 */ sw $s2, 0x18($sp) +/* 8B3308 80243298 AFB00010 */ sw $s0, 0x10($sp) +/* 8B330C 8024329C 8E30000C */ lw $s0, 0xc($s1) +/* 8B3310 802432A0 8E050000 */ lw $a1, ($s0) +/* 8B3314 802432A4 0C0B1EAF */ jal get_variable +/* 8B3318 802432A8 26100004 */ addiu $s0, $s0, 4 +/* 8B331C 802432AC 8E050000 */ lw $a1, ($s0) +/* 8B3320 802432B0 26100004 */ addiu $s0, $s0, 4 +/* 8B3324 802432B4 0220202D */ daddu $a0, $s1, $zero +/* 8B3328 802432B8 0C0B1EAF */ jal get_variable +/* 8B332C 802432BC 0040902D */ daddu $s2, $v0, $zero +/* 8B3330 802432C0 0220202D */ daddu $a0, $s1, $zero +/* 8B3334 802432C4 8E050000 */ lw $a1, ($s0) +/* 8B3338 802432C8 0C0B1EAF */ jal get_variable +/* 8B333C 802432CC 0040802D */ daddu $s0, $v0, $zero +/* 8B3340 802432D0 0000202D */ daddu $a0, $zero, $zero +/* 8B3344 802432D4 324500FF */ andi $a1, $s2, 0xff +/* 8B3348 802432D8 320600FF */ andi $a2, $s0, 0xff +/* 8B334C 802432DC 0C04DF84 */ jal func_80137E10 +/* 8B3350 802432E0 304700FF */ andi $a3, $v0, 0xff +/* 8B3354 802432E4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B3358 802432E8 8FB20018 */ lw $s2, 0x18($sp) +/* 8B335C 802432EC 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3360 802432F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8B3364 802432F4 24020002 */ addiu $v0, $zero, 2 +/* 8B3368 802432F8 03E00008 */ jr $ra +/* 8B336C 802432FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243300.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243300.s new file mode 100644 index 0000000000..e06f331610 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243300.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243300 +/* 8B3370 80243300 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3374 80243304 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B3378 80243308 8C82000C */ lw $v0, 0xc($a0) +/* 8B337C 8024330C 3C068011 */ lui $a2, 0x8011 +/* 8B3380 80243310 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* 8B3384 80243314 0C0B2026 */ jal set_variable +/* 8B3388 80243318 8C450000 */ lw $a1, ($v0) +/* 8B338C 8024331C 0C03AC5A */ jal func_800EB168 +/* 8B3390 80243320 0000202D */ daddu $a0, $zero, $zero +/* 8B3394 80243324 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B3398 80243328 24020002 */ addiu $v0, $zero, 2 +/* 8B339C 8024332C 03E00008 */ jr $ra +/* 8B33A0 80243330 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243334.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243334.s new file mode 100644 index 0000000000..abc8e84e9d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243334.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243334 +/* 8B33A4 80243334 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B33A8 80243338 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B33AC 8024333C 8C82000C */ lw $v0, 0xc($a0) +/* 8B33B0 80243340 0C0B1EAF */ jal get_variable +/* 8B33B4 80243344 8C450000 */ lw $a1, ($v0) +/* 8B33B8 80243348 00021600 */ sll $v0, $v0, 0x18 +/* 8B33BC 8024334C 0C03AC5A */ jal func_800EB168 +/* 8B33C0 80243350 00022603 */ sra $a0, $v0, 0x18 +/* 8B33C4 80243354 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B33C8 80243358 24020002 */ addiu $v0, $zero, 2 +/* 8B33CC 8024335C 03E00008 */ jr $ra +/* 8B33D0 80243360 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243364.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243364.s new file mode 100644 index 0000000000..b6bc11f8e9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243364.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243364 +/* 8B33D4 80243364 03E00008 */ jr $ra +/* 8B33D8 80243368 24020002 */ addiu $v0, $zero, 2 +/* 8B33DC 8024336C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243370.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243370.s new file mode 100644 index 0000000000..8f0a4cfde6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243370.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243370 +/* 8B33E0 80243370 0000302D */ daddu $a2, $zero, $zero +/* 8B33E4 80243374 00C0282D */ daddu $a1, $a2, $zero +/* 8B33E8 80243378 3C038011 */ lui $v1, %hi(gPlayerData) +/* 8B33EC 8024337C 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +.L80243380: +/* 8B33F0 80243380 84620208 */ lh $v0, 0x208($v1) +/* 8B33F4 80243384 10400003 */ beqz $v0, .L80243394 +/* 8B33F8 80243388 24A50001 */ addiu $a1, $a1, 1 +/* 8B33FC 8024338C 08090CE8 */ j .L802433A0 +/* 8B3400 80243390 24060001 */ addiu $a2, $zero, 1 +.L80243394: +/* 8B3404 80243394 28A20040 */ slti $v0, $a1, 0x40 +/* 8B3408 80243398 1440FFF9 */ bnez $v0, .L80243380 +/* 8B340C 8024339C 24630002 */ addiu $v1, $v1, 2 +.L802433A0: +/* 8B3410 802433A0 AC860084 */ sw $a2, 0x84($a0) +/* 8B3414 802433A4 03E00008 */ jr $ra +/* 8B3418 802433A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802433AC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802433AC.s new file mode 100644 index 0000000000..3bf5030372 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802433AC.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433AC +/* 8B341C 802433AC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8B3420 802433B0 AFB10014 */ sw $s1, 0x14($sp) +/* 8B3424 802433B4 0080882D */ daddu $s1, $a0, $zero +/* 8B3428 802433B8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B342C 802433BC AFB20018 */ sw $s2, 0x18($sp) +/* 8B3430 802433C0 AFB00010 */ sw $s0, 0x10($sp) +/* 8B3434 802433C4 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 8B3438 802433C8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8B343C 802433CC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8B3440 802433D0 8E30000C */ lw $s0, 0xc($s1) +/* 8B3444 802433D4 8E050000 */ lw $a1, ($s0) +/* 8B3448 802433D8 0C0B1EAF */ jal get_variable +/* 8B344C 802433DC 26100004 */ addiu $s0, $s0, 4 +/* 8B3450 802433E0 8E050000 */ lw $a1, ($s0) +/* 8B3454 802433E4 26100004 */ addiu $s0, $s0, 4 +/* 8B3458 802433E8 0220202D */ daddu $a0, $s1, $zero +/* 8B345C 802433EC 0C0B1EAF */ jal get_variable +/* 8B3460 802433F0 0040902D */ daddu $s2, $v0, $zero +/* 8B3464 802433F4 8E050000 */ lw $a1, ($s0) +/* 8B3468 802433F8 26100004 */ addiu $s0, $s0, 4 +/* 8B346C 802433FC 4482C000 */ mtc1 $v0, $f24 +/* 8B3470 80243400 00000000 */ nop +/* 8B3474 80243404 4680C620 */ cvt.s.w $f24, $f24 +/* 8B3478 80243408 0C0B1EAF */ jal get_variable +/* 8B347C 8024340C 0220202D */ daddu $a0, $s1, $zero +/* 8B3480 80243410 8E050000 */ lw $a1, ($s0) +/* 8B3484 80243414 4482B000 */ mtc1 $v0, $f22 +/* 8B3488 80243418 00000000 */ nop +/* 8B348C 8024341C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8B3490 80243420 0C0B1EAF */ jal get_variable +/* 8B3494 80243424 0220202D */ daddu $a0, $s1, $zero +/* 8B3498 80243428 4482A000 */ mtc1 $v0, $f20 +/* 8B349C 8024342C 00000000 */ nop +/* 8B34A0 80243430 4680A520 */ cvt.s.w $f20, $f20 +/* 8B34A4 80243434 0C04417A */ jal get_entity_by_index +/* 8B34A8 80243438 0240202D */ daddu $a0, $s2, $zero +/* 8B34AC 8024343C 0040182D */ daddu $v1, $v0, $zero +/* 8B34B0 80243440 E4780048 */ swc1 $f24, 0x48($v1) +/* 8B34B4 80243444 E476004C */ swc1 $f22, 0x4c($v1) +/* 8B34B8 80243448 E4740050 */ swc1 $f20, 0x50($v1) +/* 8B34BC 8024344C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B34C0 80243450 8FB20018 */ lw $s2, 0x18($sp) +/* 8B34C4 80243454 8FB10014 */ lw $s1, 0x14($sp) +/* 8B34C8 80243458 8FB00010 */ lw $s0, 0x10($sp) +/* 8B34CC 8024345C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8B34D0 80243460 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8B34D4 80243464 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8B34D8 80243468 24020002 */ addiu $v0, $zero, 2 +/* 8B34DC 8024346C 03E00008 */ jr $ra +/* 8B34E0 80243470 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243474.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243474.s new file mode 100644 index 0000000000..46058dee7a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243474.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243474 +/* 8B34E4 80243474 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B34E8 80243478 AFB20018 */ sw $s2, 0x18($sp) +/* 8B34EC 8024347C 0080902D */ daddu $s2, $a0, $zero +/* 8B34F0 80243480 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B34F4 80243484 AFB10014 */ sw $s1, 0x14($sp) +/* 8B34F8 80243488 AFB00010 */ sw $s0, 0x10($sp) +/* 8B34FC 8024348C 8E50000C */ lw $s0, 0xc($s2) +/* 8B3500 80243490 8E050000 */ lw $a1, ($s0) +/* 8B3504 80243494 0C0B1EAF */ jal get_variable +/* 8B3508 80243498 26100004 */ addiu $s0, $s0, 4 +/* 8B350C 8024349C 0C04417A */ jal get_entity_by_index +/* 8B3510 802434A0 0040202D */ daddu $a0, $v0, $zero +/* 8B3514 802434A4 8E050000 */ lw $a1, ($s0) +/* 8B3518 802434A8 26100004 */ addiu $s0, $s0, 4 +/* 8B351C 802434AC 0040882D */ daddu $s1, $v0, $zero +/* 8B3520 802434B0 C6200048 */ lwc1 $f0, 0x48($s1) +/* 8B3524 802434B4 4600008D */ trunc.w.s $f2, $f0 +/* 8B3528 802434B8 44061000 */ mfc1 $a2, $f2 +/* 8B352C 802434BC 0C0B2026 */ jal set_variable +/* 8B3530 802434C0 0240202D */ daddu $a0, $s2, $zero +/* 8B3534 802434C4 8E050000 */ lw $a1, ($s0) +/* 8B3538 802434C8 26100004 */ addiu $s0, $s0, 4 +/* 8B353C 802434CC C620004C */ lwc1 $f0, 0x4c($s1) +/* 8B3540 802434D0 4600008D */ trunc.w.s $f2, $f0 +/* 8B3544 802434D4 44061000 */ mfc1 $a2, $f2 +/* 8B3548 802434D8 0C0B2026 */ jal set_variable +/* 8B354C 802434DC 0240202D */ daddu $a0, $s2, $zero +/* 8B3550 802434E0 C6200050 */ lwc1 $f0, 0x50($s1) +/* 8B3554 802434E4 8E050000 */ lw $a1, ($s0) +/* 8B3558 802434E8 4600008D */ trunc.w.s $f2, $f0 +/* 8B355C 802434EC 44061000 */ mfc1 $a2, $f2 +/* 8B3560 802434F0 0C0B2026 */ jal set_variable +/* 8B3564 802434F4 0240202D */ daddu $a0, $s2, $zero +/* 8B3568 802434F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B356C 802434FC 8FB20018 */ lw $s2, 0x18($sp) +/* 8B3570 80243500 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3574 80243504 8FB00010 */ lw $s0, 0x10($sp) +/* 8B3578 80243508 24020002 */ addiu $v0, $zero, 2 +/* 8B357C 8024350C 03E00008 */ jr $ra +/* 8B3580 80243510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243514.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243514.s new file mode 100644 index 0000000000..ad574fb4c3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243514.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243514 +/* 8B3584 80243514 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B3588 80243518 AFB20018 */ sw $s2, 0x18($sp) +/* 8B358C 8024351C 0080902D */ daddu $s2, $a0, $zero +/* 8B3590 80243520 AFBF001C */ sw $ra, 0x1c($sp) +/* 8B3594 80243524 AFB10014 */ sw $s1, 0x14($sp) +/* 8B3598 80243528 AFB00010 */ sw $s0, 0x10($sp) +/* 8B359C 8024352C 8E4400AC */ lw $a0, 0xac($s2) +/* 8B35A0 80243530 0C04417A */ jal get_entity_by_index +/* 8B35A4 80243534 00A0802D */ daddu $s0, $a1, $zero +/* 8B35A8 80243538 12000004 */ beqz $s0, .L8024354C +/* 8B35AC 8024353C 0040882D */ daddu $s1, $v0, $zero +/* 8B35B0 80243540 2402003C */ addiu $v0, $zero, 0x3c +/* 8B35B4 80243544 AE400070 */ sw $zero, 0x70($s2) +/* 8B35B8 80243548 AE420074 */ sw $v0, 0x74($s2) +.L8024354C: +/* 8B35BC 8024354C 2403003C */ addiu $v1, $zero, 0x3c +/* 8B35C0 80243550 8E420074 */ lw $v0, 0x74($s2) +/* 8B35C4 80243554 3C014270 */ lui $at, 0x4270 +/* 8B35C8 80243558 44811000 */ mtc1 $at, $f2 +/* 8B35CC 8024355C 00621023 */ subu $v0, $v1, $v0 +/* 8B35D0 80243560 44820000 */ mtc1 $v0, $f0 +/* 8B35D4 80243564 00000000 */ nop +/* 8B35D8 80243568 46800020 */ cvt.s.w $f0, $f0 +/* 8B35DC 8024356C 46020003 */ div.s $f0, $f0, $f2 +/* 8B35E0 80243570 E6200054 */ swc1 $f0, 0x54($s1) +/* 8B35E4 80243574 8E420074 */ lw $v0, 0x74($s2) +/* 8B35E8 80243578 3C014049 */ lui $at, 0x4049 +/* 8B35EC 8024357C 34210FD8 */ ori $at, $at, 0xfd8 +/* 8B35F0 80243580 44816000 */ mtc1 $at, $f12 +/* 8B35F4 80243584 00621023 */ subu $v0, $v1, $v0 +/* 8B35F8 80243588 44820000 */ mtc1 $v0, $f0 +/* 8B35FC 8024358C 00000000 */ nop +/* 8B3600 80243590 46800020 */ cvt.s.w $f0, $f0 +/* 8B3604 80243594 46020003 */ div.s $f0, $f0, $f2 +/* 8B3608 80243598 E6200058 */ swc1 $f0, 0x58($s1) +/* 8B360C 8024359C 8E420074 */ lw $v0, 0x74($s2) +/* 8B3610 802435A0 460C0302 */ mul.s $f12, $f0, $f12 +/* 8B3614 802435A4 00000000 */ nop +/* 8B3618 802435A8 00621823 */ subu $v1, $v1, $v0 +/* 8B361C 802435AC 44830000 */ mtc1 $v1, $f0 +/* 8B3620 802435B0 00000000 */ nop +/* 8B3624 802435B4 46800020 */ cvt.s.w $f0, $f0 +/* 8B3628 802435B8 46020003 */ div.s $f0, $f0, $f2 +/* 8B362C 802435BC 0C00A874 */ jal cos_rad +/* 8B3630 802435C0 E620005C */ swc1 $f0, 0x5c($s1) +/* 8B3634 802435C4 3C013F80 */ lui $at, 0x3f80 +/* 8B3638 802435C8 44811000 */ mtc1 $at, $f2 +/* 8B363C 802435CC 00000000 */ nop +/* 8B3640 802435D0 46001081 */ sub.s $f2, $f2, $f0 +/* 8B3644 802435D4 3C018025 */ lui $at, 0x8025 +/* 8B3648 802435D8 D4207F08 */ ldc1 $f0, 0x7f08($at) +/* 8B364C 802435DC 460010A1 */ cvt.d.s $f2, $f2 +/* 8B3650 802435E0 46201082 */ mul.d $f2, $f2, $f0 +/* 8B3654 802435E4 00000000 */ nop +/* 8B3658 802435E8 3C013FE0 */ lui $at, 0x3fe0 +/* 8B365C 802435EC 44810800 */ mtc1 $at, $f1 +/* 8B3660 802435F0 44800000 */ mtc1 $zero, $f0 +/* 8B3664 802435F4 00000000 */ nop +/* 8B3668 802435F8 46201082 */ mul.d $f2, $f2, $f0 +/* 8B366C 802435FC 00000000 */ nop +/* 8B3670 80243600 462010A0 */ cvt.s.d $f2, $f2 +/* 8B3674 80243604 E6220064 */ swc1 $f2, 0x64($s1) +/* 8B3678 80243608 8E430074 */ lw $v1, 0x74($s2) +/* 8B367C 8024360C 2463FFFF */ addiu $v1, $v1, -1 +/* 8B3680 80243610 00031027 */ nor $v0, $zero, $v1 +/* 8B3684 80243614 2C420001 */ sltiu $v0, $v0, 1 +/* 8B3688 80243618 AE430074 */ sw $v1, 0x74($s2) +/* 8B368C 8024361C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8B3690 80243620 8FB20018 */ lw $s2, 0x18($sp) +/* 8B3694 80243624 8FB10014 */ lw $s1, 0x14($sp) +/* 8B3698 80243628 8FB00010 */ lw $s0, 0x10($sp) +/* 8B369C 8024362C 00021040 */ sll $v0, $v0, 1 +/* 8B36A0 80243630 03E00008 */ jr $ra +/* 8B36A4 80243634 27BD0020 */ addiu $sp, $sp, 0x20 +/* 8B36A8 80243638 00000000 */ nop +/* 8B36AC 8024363C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243640.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243640.s new file mode 100644 index 0000000000..e449b333ba --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243640.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243640 +/* 8B36B0 80243640 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B36B4 80243644 AFBF0010 */ sw $ra, 0x10($sp) +/* 8B36B8 80243648 0C00EABB */ jal get_npc_unsafe +/* 8B36BC 8024364C 2404FFFC */ addiu $a0, $zero, -4 +/* 8B36C0 80243650 8C420000 */ lw $v0, ($v0) +/* 8B36C4 80243654 8FBF0010 */ lw $ra, 0x10($sp) +/* 8B36C8 80243658 30421000 */ andi $v0, $v0, 0x1000 +/* 8B36CC 8024365C 0002102B */ sltu $v0, $zero, $v0 +/* 8B36D0 80243660 00021040 */ sll $v0, $v0, 1 +/* 8B36D4 80243664 03E00008 */ jr $ra +/* 8B36D8 80243668 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_8024366C.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024366C.s new file mode 100644 index 0000000000..7598213e29 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_8024366C.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024366C +/* 8B36DC 8024366C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8B36E0 80243670 AFB10014 */ sw $s1, 0x14($sp) +/* 8B36E4 80243674 0080882D */ daddu $s1, $a0, $zero +/* 8B36E8 80243678 AFBF0018 */ sw $ra, 0x18($sp) +/* 8B36EC 8024367C AFB00010 */ sw $s0, 0x10($sp) +/* 8B36F0 80243680 8E30000C */ lw $s0, 0xc($s1) +/* 8B36F4 80243684 8E050000 */ lw $a1, ($s0) +/* 8B36F8 80243688 0C0B1EAF */ jal get_variable +/* 8B36FC 8024368C 26100004 */ addiu $s0, $s0, 4 +/* 8B3700 80243690 0220202D */ daddu $a0, $s1, $zero +/* 8B3704 80243694 8E050000 */ lw $a1, ($s0) +/* 8B3708 80243698 0C0B1EAF */ jal get_variable +/* 8B370C 8024369C 0040802D */ daddu $s0, $v0, $zero +/* 8B3710 802436A0 0200202D */ daddu $a0, $s0, $zero +/* 8B3714 802436A4 00021080 */ sll $v0, $v0, 2 +/* 8B3718 802436A8 3C108025 */ lui $s0, 0x8025 +/* 8B371C 802436AC 02028021 */ addu $s0, $s0, $v0 +/* 8B3720 802436B0 0C00FB3A */ jal get_enemy +/* 8B3724 802436B4 8E10578C */ lw $s0, 0x578c($s0) +/* 8B3728 802436B8 0040302D */ daddu $a2, $v0, $zero +/* 8B372C 802436BC 0000282D */ daddu $a1, $zero, $zero +.L802436C0: +/* 8B3730 802436C0 8E040000 */ lw $a0, ($s0) +/* 8B3734 802436C4 00051080 */ sll $v0, $a1, 2 +/* 8B3738 802436C8 8CC300D0 */ lw $v1, 0xd0($a2) +/* 8B373C 802436CC 24A50001 */ addiu $a1, $a1, 1 +/* 8B3740 802436D0 00431021 */ addu $v0, $v0, $v1 +/* 8B3744 802436D4 AC440000 */ sw $a0, ($v0) +/* 8B3748 802436D8 28A2000E */ slti $v0, $a1, 0xe +/* 8B374C 802436DC 1440FFF8 */ bnez $v0, .L802436C0 +/* 8B3750 802436E0 26100004 */ addiu $s0, $s0, 4 +/* 8B3754 802436E4 8FBF0018 */ lw $ra, 0x18($sp) +/* 8B3758 802436E8 8FB10014 */ lw $s1, 0x14($sp) +/* 8B375C 802436EC 8FB00010 */ lw $s0, 0x10($sp) +/* 8B3760 802436F0 24020002 */ addiu $v0, $zero, 2 +/* 8B3764 802436F4 03E00008 */ jr $ra +/* 8B3768 802436F8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802436FC.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802436FC.s new file mode 100644 index 0000000000..3d369c4134 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802436FC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802436FC +/* 8B376C 802436FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8B3770 80243700 AFB00010 */ sw $s0, 0x10($sp) +/* 8B3774 80243704 0080802D */ daddu $s0, $a0, $zero +/* 8B3778 80243708 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B377C 8024370C C60C0084 */ lwc1 $f12, 0x84($s0) +/* 8B3780 80243710 46806320 */ cvt.s.w $f12, $f12 +/* 8B3784 80243714 C6020090 */ lwc1 $f2, 0x90($s0) +/* 8B3788 80243718 468010A0 */ cvt.s.w $f2, $f2 +/* 8B378C 8024371C 44061000 */ mfc1 $a2, $f2 +/* 8B3790 80243720 C6020098 */ lwc1 $f2, 0x98($s0) +/* 8B3794 80243724 468010A0 */ cvt.s.w $f2, $f2 +/* 8B3798 80243728 44071000 */ mfc1 $a3, $f2 +/* 8B379C 8024372C C60E008C */ lwc1 $f14, 0x8c($s0) +/* 8B37A0 80243730 0C00A720 */ jal atan2 +/* 8B37A4 80243734 468073A0 */ cvt.s.w $f14, $f14 +/* 8B37A8 80243738 4600008D */ trunc.w.s $f2, $f0 +/* 8B37AC 8024373C E60200AC */ swc1 $f2, 0xac($s0) +/* 8B37B0 80243740 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B37B4 80243744 8FB00010 */ lw $s0, 0x10($sp) +/* 8B37B8 80243748 24020002 */ addiu $v0, $zero, 2 +/* 8B37BC 8024374C 03E00008 */ jr $ra +/* 8B37C0 80243750 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8B37C4 80243754 00000000 */ nop +/* 8B37C8 80243758 00000000 */ nop +/* 8B37CC 8024375C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_80243760.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243760.s new file mode 100644 index 0000000000..2cb6c1a3d2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_80243760.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243760 +/* 8B37D0 80243760 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8B37D4 80243764 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8B37D8 80243768 4485A000 */ mtc1 $a1, $f20 +/* 8B37DC 8024376C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8B37E0 80243770 4486B000 */ mtc1 $a2, $f22 +/* 8B37E4 80243774 AFB00010 */ sw $s0, 0x10($sp) +/* 8B37E8 80243778 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8B37EC 8024377C 4487C000 */ mtc1 $a3, $f24 +/* 8B37F0 80243780 AFBF0014 */ sw $ra, 0x14($sp) +/* 8B37F4 80243784 0C019D28 */ jal guMtxIdentF +/* 8B37F8 80243788 0080802D */ daddu $s0, $a0, $zero +/* 8B37FC 8024378C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8B3800 80243790 00000000 */ nop +/* 8B3804 80243794 4618A502 */ mul.s $f20, $f20, $f24 +/* 8B3808 80243798 00000000 */ nop +/* 8B380C 8024379C 3C013F80 */ lui $at, 0x3f80 +/* 8B3810 802437A0 44810000 */ mtc1 $at, $f0 +/* 8B3814 802437A4 00000000 */ nop +/* 8B3818 802437A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8B381C 802437AC E6160010 */ swc1 $f22, 0x10($s0) +/* 8B3820 802437B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 8B3824 802437B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8B3828 802437B8 8FB00010 */ lw $s0, 0x10($sp) +/* 8B382C 802437BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8B3830 802437C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8B3834 802437C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8B3838 802437C8 03E00008 */ jr $ra +/* 8B383C 802437CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802437D0_8B0070.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802437D0_8B0070.s new file mode 100644 index 0000000000..340a33f9d3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802437D0_8B0070.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802437D0_8B3840 +/* 8B3840 802437D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8B3844 802437D4 AFB10054 */ sw $s1, 0x54($sp) +/* 8B3848 802437D8 0080882D */ daddu $s1, $a0, $zero +/* 8B384C 802437DC AFBF005C */ sw $ra, 0x5c($sp) +/* 8B3850 802437E0 AFB20058 */ sw $s2, 0x58($sp) +/* 8B3854 802437E4 AFB00050 */ sw $s0, 0x50($sp) +/* 8B3858 802437E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8B385C 802437EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8B3860 802437F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8B3864 802437F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8B3868 802437F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8B386C 802437FC 8E30000C */ lw $s0, 0xc($s1) +/* 8B3870 80243800 8E050000 */ lw $a1, ($s0) +/* 8B3874 80243804 0C0B1EAF */ jal get_variable +/* 8B3878 80243808 26100004 */ addiu $s0, $s0, 4 +/* 8B387C 8024380C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8B3880 80243810 0040202D */ daddu $a0, $v0, $zero +/* 8B3884 80243814 8E050000 */ lw $a1, ($s0) +/* 8B3888 80243818 26100004 */ addiu $s0, $s0, 4 +/* 8B388C 8024381C 0220202D */ daddu $a0, $s1, $zero +/* 8B3890 80243820 0C0B210B */ jal get_float_variable +/* 8B3894 80243824 0040902D */ daddu $s2, $v0, $zero +/* 8B3898 80243828 8E050000 */ lw $a1, ($s0) +/* 8B389C 8024382C 26100004 */ addiu $s0, $s0, 4 +/* 8B38A0 80243830 0220202D */ daddu $a0, $s1, $zero +/* 8B38A4 80243834 0C0B210B */ jal get_float_variable +/* 8B38A8 80243838 46000706 */ mov.s $f28, $f0 +/* 8B38AC 8024383C 8E050000 */ lw $a1, ($s0) +/* 8B38B0 80243840 26100004 */ addiu $s0, $s0, 4 +/* 8B38B4 80243844 0220202D */ daddu $a0, $s1, $zero +/* 8B38B8 80243848 0C0B210B */ jal get_float_variable +/* 8B38BC 8024384C 46000686 */ mov.s $f26, $f0 +/* 8B38C0 80243850 0220202D */ daddu $a0, $s1, $zero +/* 8B38C4 80243854 8E050000 */ lw $a1, ($s0) +/* 8B38C8 80243858 0C0B210B */ jal get_float_variable +/* 8B38CC 8024385C 46000586 */ mov.s $f22, $f0 +/* 8B38D0 80243860 0240202D */ daddu $a0, $s2, $zero +/* 8B38D4 80243864 0C046B4C */ jal get_model_from_list_index +/* 8B38D8 80243868 46000606 */ mov.s $f24, $f0 +/* 8B38DC 8024386C 0040882D */ daddu $s1, $v0, $zero +/* 8B38E0 80243870 96220000 */ lhu $v0, ($s1) +/* 8B38E4 80243874 30420400 */ andi $v0, $v0, 0x400 +/* 8B38E8 80243878 1440001E */ bnez $v0, .L802438F4 +/* 8B38EC 8024387C 26300058 */ addiu $s0, $s1, 0x58 +/* 8B38F0 80243880 4480A000 */ mtc1 $zero, $f20 +/* 8B38F4 80243884 4406B000 */ mfc1 $a2, $f22 +/* 8B38F8 80243888 4405A000 */ mfc1 $a1, $f20 +/* 8B38FC 8024388C 4407A000 */ mfc1 $a3, $f20 +/* 8B3900 80243890 0C019E40 */ jal guTranslateF +/* 8B3904 80243894 0200202D */ daddu $a0, $s0, $zero +/* 8B3908 80243898 4405E000 */ mfc1 $a1, $f28 +/* 8B390C 8024389C 4406D000 */ mfc1 $a2, $f26 +/* 8B3910 802438A0 4407C000 */ mfc1 $a3, $f24 +/* 8B3914 802438A4 0C090DD8 */ jal func_80243760 +/* 8B3918 802438A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B391C 802438AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B3920 802438B0 0200282D */ daddu $a1, $s0, $zero +/* 8B3924 802438B4 0C019D80 */ jal guMtxCatF +/* 8B3928 802438B8 0200302D */ daddu $a2, $s0, $zero +/* 8B392C 802438BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B3930 802438C0 4600B587 */ neg.s $f22, $f22 +/* 8B3934 802438C4 4405A000 */ mfc1 $a1, $f20 +/* 8B3938 802438C8 4406B000 */ mfc1 $a2, $f22 +/* 8B393C 802438CC 0C019E40 */ jal guTranslateF +/* 8B3940 802438D0 00A0382D */ daddu $a3, $a1, $zero +/* 8B3944 802438D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B3948 802438D8 0200282D */ daddu $a1, $s0, $zero +/* 8B394C 802438DC 0C019D80 */ jal guMtxCatF +/* 8B3950 802438E0 00A0302D */ daddu $a2, $a1, $zero +/* 8B3954 802438E4 96220000 */ lhu $v0, ($s1) +/* 8B3958 802438E8 34421400 */ ori $v0, $v0, 0x1400 +/* 8B395C 802438EC 08090E5B */ j .L8024396C +/* 8B3960 802438F0 A6220000 */ sh $v0, ($s1) +.L802438F4: +/* 8B3964 802438F4 4480A000 */ mtc1 $zero, $f20 +/* 8B3968 802438F8 4406B000 */ mfc1 $a2, $f22 +/* 8B396C 802438FC 4405A000 */ mfc1 $a1, $f20 +/* 8B3970 80243900 4407A000 */ mfc1 $a3, $f20 +/* 8B3974 80243904 0C019E40 */ jal guTranslateF +/* 8B3978 80243908 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B397C 8024390C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B3980 80243910 26300058 */ addiu $s0, $s1, 0x58 +/* 8B3984 80243914 0200282D */ daddu $a1, $s0, $zero +/* 8B3988 80243918 0C019D80 */ jal guMtxCatF +/* 8B398C 8024391C 0200302D */ daddu $a2, $s0, $zero +/* 8B3990 80243920 4405E000 */ mfc1 $a1, $f28 +/* 8B3994 80243924 4406D000 */ mfc1 $a2, $f26 +/* 8B3998 80243928 4407C000 */ mfc1 $a3, $f24 +/* 8B399C 8024392C 0C090DD8 */ jal func_80243760 +/* 8B39A0 80243930 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B39A4 80243934 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B39A8 80243938 0200282D */ daddu $a1, $s0, $zero +/* 8B39AC 8024393C 0C019D80 */ jal guMtxCatF +/* 8B39B0 80243940 0200302D */ daddu $a2, $s0, $zero +/* 8B39B4 80243944 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B39B8 80243948 4600B587 */ neg.s $f22, $f22 +/* 8B39BC 8024394C 4405A000 */ mfc1 $a1, $f20 +/* 8B39C0 80243950 4406B000 */ mfc1 $a2, $f22 +/* 8B39C4 80243954 0C019E40 */ jal guTranslateF +/* 8B39C8 80243958 00A0382D */ daddu $a3, $a1, $zero +/* 8B39CC 8024395C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8B39D0 80243960 0200282D */ daddu $a1, $s0, $zero +/* 8B39D4 80243964 0C019D80 */ jal guMtxCatF +/* 8B39D8 80243968 00A0302D */ daddu $a2, $a1, $zero +.L8024396C: +/* 8B39DC 8024396C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8B39E0 80243970 8FB20058 */ lw $s2, 0x58($sp) +/* 8B39E4 80243974 8FB10054 */ lw $s1, 0x54($sp) +/* 8B39E8 80243978 8FB00050 */ lw $s0, 0x50($sp) +/* 8B39EC 8024397C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8B39F0 80243980 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8B39F4 80243984 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8B39F8 80243988 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8B39FC 8024398C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8B3A00 80243990 24020002 */ addiu $v0, $zero, 2 +/* 8B3A04 80243994 03E00008 */ jr $ra +/* 8B3A08 80243998 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8B3A0C 8024399C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_02/func_802439A0.s b/asm/nonmatchings/world/area_kmr/kmr_02/func_802439A0.s new file mode 100644 index 0000000000..9f0668e921 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_02/func_802439A0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439A0 +/* 8B3A10 802439A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8B3A14 802439A4 3C048025 */ lui $a0, 0x8025 +/* 8B3A18 802439A8 24847F10 */ addiu $a0, $a0, 0x7f10 +/* 8B3A1C 802439AC 27A50010 */ addiu $a1, $sp, 0x10 +/* 8B3A20 802439B0 AFBF0020 */ sw $ra, 0x20($sp) +/* 8B3A24 802439B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 8B3A28 802439B8 0C016B3A */ jal load_asset_by_name +/* 8B3A2C 802439BC AFB00018 */ sw $s0, 0x18($sp) +/* 8B3A30 802439C0 0040802D */ daddu $s0, $v0, $zero +/* 8B3A34 802439C4 0200202D */ daddu $a0, $s0, $zero +/* 8B3A38 802439C8 3C118026 */ lui $s1, 0x8026 +/* 8B3A3C 802439CC 26318140 */ addiu $s1, $s1, -0x7ec0 +/* 8B3A40 802439D0 0C01BB7C */ jal decode_yay0 +/* 8B3A44 802439D4 0220282D */ daddu $a1, $s1, $zero +/* 8B3A48 802439D8 0C00AB1E */ jal general_heap_free +/* 8B3A4C 802439DC 0200202D */ daddu $a0, $s0, $zero +/* 8B3A50 802439E0 3C048026 */ lui $a0, 0x8026 +/* 8B3A54 802439E4 2484C0D0 */ addiu $a0, $a0, -0x3f30 +/* 8B3A58 802439E8 3C028026 */ lui $v0, 0x8026 +/* 8B3A5C 802439EC 24428340 */ addiu $v0, $v0, -0x7cc0 +/* 8B3A60 802439F0 AC820000 */ sw $v0, ($a0) +/* 8B3A64 802439F4 24020096 */ addiu $v0, $zero, 0x96 +/* 8B3A68 802439F8 A4820008 */ sh $v0, 8($a0) +/* 8B3A6C 802439FC 24020069 */ addiu $v0, $zero, 0x69 +/* 8B3A70 80243A00 A482000A */ sh $v0, 0xa($a0) +/* 8B3A74 80243A04 24020002 */ addiu $v0, $zero, 2 +/* 8B3A78 80243A08 AC82000C */ sw $v0, 0xc($a0) +/* 8B3A7C 80243A0C 24020001 */ addiu $v0, $zero, 1 +/* 8B3A80 80243A10 AC910004 */ sw $s1, 4($a0) +/* 8B3A84 80243A14 0C0496CB */ jal set_message_images +/* 8B3A88 80243A18 AC820010 */ sw $v0, 0x10($a0) +/* 8B3A8C 80243A1C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8B3A90 80243A20 8FB1001C */ lw $s1, 0x1c($sp) +/* 8B3A94 80243A24 8FB00018 */ lw $s0, 0x18($sp) +/* 8B3A98 80243A28 24020002 */ addiu $v0, $zero, 2 +/* 8B3A9C 80243A2C 03E00008 */ jr $ra +/* 8B3AA0 80243A30 27BD0028 */ addiu $sp, $sp, 0x28 +/* 8B3AA4 80243A34 00000000 */ nop +/* 8B3AA8 80243A38 00000000 */ nop +/* 8B3AAC 80243A3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240000_8C7F90.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240000_8C7F90.s new file mode 100644 index 0000000000..28b50c38c4 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240000_8C7F90.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8C7F90 +/* 8C7F90 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8C7F94 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* 8C7F98 80240008 0080902D */ daddu $s2, $a0, $zero +/* 8C7F9C 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* 8C7FA0 80240010 00A0882D */ daddu $s1, $a1, $zero +/* 8C7FA4 80240014 AFBF0024 */ sw $ra, 0x24($sp) +/* 8C7FA8 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* 8C7FAC 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* 8C7FB0 80240020 AFB00010 */ sw $s0, 0x10($sp) +/* 8C7FB4 80240024 8E50000C */ lw $s0, 0xc($s2) +/* 8C7FB8 80240028 8E050000 */ lw $a1, ($s0) +/* 8C7FBC 8024002C 0C0B1EAF */ jal get_variable +/* 8C7FC0 80240030 26100004 */ addiu $s0, $s0, 4 +/* 8C7FC4 80240034 0240202D */ daddu $a0, $s2, $zero +/* 8C7FC8 80240038 8E050000 */ lw $a1, ($s0) +/* 8C7FCC 8024003C 0C0B1EAF */ jal get_variable +/* 8C7FD0 80240040 0040802D */ daddu $s0, $v0, $zero +/* 8C7FD4 80240044 0200202D */ daddu $a0, $s0, $zero +/* 8C7FD8 80240048 0C00EAD2 */ jal get_npc_safe +/* 8C7FDC 8024004C 0040A02D */ daddu $s4, $v0, $zero +/* 8C7FE0 80240050 3C138011 */ lui $s3, %hi(gPlayerData) +/* 8C7FE4 80240054 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* 8C7FE8 80240058 12200006 */ beqz $s1, .L80240074 +/* 8C7FEC 8024005C 0040802D */ daddu $s0, $v0, $zero +/* 8C7FF0 80240060 82620012 */ lb $v0, 0x12($s3) +/* 8C7FF4 80240064 54400003 */ bnel $v0, $zero, .L80240074 +/* 8C7FF8 80240068 AE400070 */ sw $zero, 0x70($s2) +/* 8C7FFC 8024006C 24020002 */ addiu $v0, $zero, 2 +/* 8C8000 80240070 AE420070 */ sw $v0, 0x70($s2) +.L80240074: +/* 8C8004 80240074 8E430070 */ lw $v1, 0x70($s2) +/* 8C8008 80240078 24110001 */ addiu $s1, $zero, 1 +/* 8C800C 8024007C 10710013 */ beq $v1, $s1, .L802400CC +/* 8C8010 80240080 28620002 */ slti $v0, $v1, 2 +/* 8C8014 80240084 10400005 */ beqz $v0, .L8024009C +/* 8C8018 80240088 24020002 */ addiu $v0, $zero, 2 +/* 8C801C 8024008C 10600009 */ beqz $v1, .L802400B4 +/* 8C8020 80240090 0000102D */ daddu $v0, $zero, $zero +/* 8C8024 80240094 08090059 */ j .L80240164 +/* 8C8028 80240098 00000000 */ nop +.L8024009C: +/* 8C802C 8024009C 10620013 */ beq $v1, $v0, .L802400EC +/* 8C8030 802400A0 24020003 */ addiu $v0, $zero, 3 +/* 8C8034 802400A4 1062001E */ beq $v1, $v0, .L80240120 +/* 8C8038 802400A8 0000102D */ daddu $v0, $zero, $zero +/* 8C803C 802400AC 08090059 */ j .L80240164 +/* 8C8040 802400B0 00000000 */ nop +.L802400B4: +/* 8C8044 802400B4 0C03AC5A */ jal func_800EB168 +/* 8C8048 802400B8 0000202D */ daddu $a0, $zero, $zero +/* 8C804C 802400BC 2402001E */ addiu $v0, $zero, 0x1e +/* 8C8050 802400C0 AE420074 */ sw $v0, 0x74($s2) +/* 8C8054 802400C4 08090058 */ j .L80240160 +/* 8C8058 802400C8 AE510070 */ sw $s1, 0x70($s2) +.L802400CC: +/* 8C805C 802400CC 8E420074 */ lw $v0, 0x74($s2) +/* 8C8060 802400D0 2403FFFF */ addiu $v1, $zero, -1 +/* 8C8064 802400D4 2442FFFF */ addiu $v0, $v0, -1 +/* 8C8068 802400D8 14430021 */ bne $v0, $v1, .L80240160 +/* 8C806C 802400DC AE420074 */ sw $v0, 0x74($s2) +/* 8C8070 802400E0 24020002 */ addiu $v0, $zero, 2 +/* 8C8074 802400E4 08090058 */ j .L80240160 +/* 8C8078 802400E8 AE420070 */ sw $v0, 0x70($s2) +.L802400EC: +/* 8C807C 802400EC 0200202D */ daddu $a0, $s0, $zero +/* 8C8080 802400F0 00141600 */ sll $v0, $s4, 0x18 +/* 8C8084 802400F4 00021543 */ sra $v0, $v0, 0x15 +/* 8C8088 802400F8 02621021 */ addu $v0, $s3, $v0 +/* 8C808C 802400FC A2740012 */ sb $s4, 0x12($s3) +/* 8C8090 80240100 0C03BD17 */ jal clear_partner_move_history +/* 8C8094 80240104 A0510014 */ sb $s1, 0x14($v0) +/* 8C8098 80240108 82640012 */ lb $a0, 0x12($s3) +/* 8C809C 8024010C 0C03ACA9 */ jal func_800EB2A4 +/* 8C80A0 80240110 00000000 */ nop +/* 8C80A4 80240114 24020003 */ addiu $v0, $zero, 3 +/* 8C80A8 80240118 08090058 */ j .L80240160 +/* 8C80AC 8024011C AE420070 */ sw $v0, 0x70($s2) +.L80240120: +/* 8C80B0 80240120 0C00EAD2 */ jal get_npc_safe +/* 8C80B4 80240124 2404FFFC */ addiu $a0, $zero, -4 +/* 8C80B8 80240128 8E05000C */ lw $a1, 0xc($s0) +/* 8C80BC 8024012C 0C00ECD0 */ jal set_npc_yaw +/* 8C80C0 80240130 0040202D */ daddu $a0, $v0, $zero +/* 8C80C4 80240134 0200202D */ daddu $a0, $s0, $zero +/* 8C80C8 80240138 8E020000 */ lw $v0, ($s0) +/* 8C80CC 8024013C 2403FFFB */ addiu $v1, $zero, -5 +/* 8C80D0 80240140 00431024 */ and $v0, $v0, $v1 +/* 8C80D4 80240144 0C00EAFF */ jal disable_npc_shadow +/* 8C80D8 80240148 AE020000 */ sw $v0, ($s0) +/* 8C80DC 8024014C 3C01C47A */ lui $at, 0xc47a +/* 8C80E0 80240150 44810000 */ mtc1 $at, $f0 +/* 8C80E4 80240154 24020002 */ addiu $v0, $zero, 2 +/* 8C80E8 80240158 08090059 */ j .L80240164 +/* 8C80EC 8024015C E600003C */ swc1 $f0, 0x3c($s0) +.L80240160: +/* 8C80F0 80240160 0000102D */ daddu $v0, $zero, $zero +.L80240164: +/* 8C80F4 80240164 8FBF0024 */ lw $ra, 0x24($sp) +/* 8C80F8 80240168 8FB40020 */ lw $s4, 0x20($sp) +/* 8C80FC 8024016C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8C8100 80240170 8FB20018 */ lw $s2, 0x18($sp) +/* 8C8104 80240174 8FB10014 */ lw $s1, 0x14($sp) +/* 8C8108 80240178 8FB00010 */ lw $s0, 0x10($sp) +/* 8C810C 8024017C 03E00008 */ jr $ra +/* 8C8110 80240180 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240184.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240184.s new file mode 100644 index 0000000000..bcb1e1dde5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240184.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240184 +/* 8C8114 80240184 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8C8118 80240188 AFBF0010 */ sw $ra, 0x10($sp) +/* 8C811C 8024018C 0C00EABB */ jal get_npc_unsafe +/* 8C8120 80240190 2404FFFC */ addiu $a0, $zero, -4 +/* 8C8124 80240194 8C420000 */ lw $v0, ($v0) +/* 8C8128 80240198 8FBF0010 */ lw $ra, 0x10($sp) +/* 8C812C 8024019C 30421000 */ andi $v0, $v0, 0x1000 +/* 8C8130 802401A0 0002102B */ sltu $v0, $zero, $v0 +/* 8C8134 802401A4 00021040 */ sll $v0, $v0, 1 +/* 8C8138 802401A8 03E00008 */ jr $ra +/* 8C813C 802401AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_802401B0_8C7F90.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_802401B0_8C7F90.s new file mode 100644 index 0000000000..be90193e13 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_802401B0_8C7F90.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_8C8140 +/* 8C8140 802401B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8C8144 802401B4 AFB10014 */ sw $s1, 0x14($sp) +/* 8C8148 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 8C814C 802401BC 0000202D */ daddu $a0, $zero, $zero +/* 8C8150 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8C8154 802401C4 0C00EABB */ jal get_npc_unsafe +/* 8C8158 802401C8 AFB00010 */ sw $s0, 0x10($sp) +/* 8C815C 802401CC 0040802D */ daddu $s0, $v0, $zero +/* 8C8160 802401D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8C8164 802401D4 0C038022 */ jal func_800E0088 +/* 8C8168 802401D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8C816C 802401DC C6020018 */ lwc1 $f2, 0x18($s0) +/* 8C8170 802401E0 3C013F4C */ lui $at, 0x3f4c +/* 8C8174 802401E4 3421CCCD */ ori $at, $at, 0xcccd +/* 8C8178 802401E8 44812000 */ mtc1 $at, $f4 +/* 8C817C 802401EC 46020003 */ div.s $f0, $f0, $f2 +/* 8C8180 802401F0 46040002 */ mul.s $f0, $f0, $f4 +/* 8C8184 802401F4 00000000 */ nop +/* 8C8188 802401F8 4600018D */ trunc.w.s $f6, $f0 +/* 8C818C 802401FC E6260088 */ swc1 $f6, 0x88($s1) +/* 8C8190 80240200 8FBF0018 */ lw $ra, 0x18($sp) +/* 8C8194 80240204 8FB10014 */ lw $s1, 0x14($sp) +/* 8C8198 80240208 8FB00010 */ lw $s0, 0x10($sp) +/* 8C819C 8024020C 24020002 */ addiu $v0, $zero, 2 +/* 8C81A0 80240210 03E00008 */ jr $ra +/* 8C81A4 80240214 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240218.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240218.s new file mode 100644 index 0000000000..e224be9acb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240218.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240218 +/* 8C81A8 80240218 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8C81AC 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* 8C81B0 80240220 0080882D */ daddu $s1, $a0, $zero +/* 8C81B4 80240224 AFBF0018 */ sw $ra, 0x18($sp) +/* 8C81B8 80240228 AFB00010 */ sw $s0, 0x10($sp) +/* 8C81BC 8024022C F7B80030 */ sdc1 $f24, 0x30($sp) +/* 8C81C0 80240230 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8C81C4 80240234 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8C81C8 80240238 8E30000C */ lw $s0, 0xc($s1) +/* 8C81CC 8024023C 8E050000 */ lw $a1, ($s0) +/* 8C81D0 80240240 0C0B1EAF */ jal get_variable +/* 8C81D4 80240244 26100004 */ addiu $s0, $s0, 4 +/* 8C81D8 80240248 8E050000 */ lw $a1, ($s0) +/* 8C81DC 8024024C 26100004 */ addiu $s0, $s0, 4 +/* 8C81E0 80240250 4482C000 */ mtc1 $v0, $f24 +/* 8C81E4 80240254 00000000 */ nop +/* 8C81E8 80240258 4680C620 */ cvt.s.w $f24, $f24 +/* 8C81EC 8024025C 0C0B1EAF */ jal get_variable +/* 8C81F0 80240260 0220202D */ daddu $a0, $s1, $zero +/* 8C81F4 80240264 8E050000 */ lw $a1, ($s0) +/* 8C81F8 80240268 26100004 */ addiu $s0, $s0, 4 +/* 8C81FC 8024026C 4482B000 */ mtc1 $v0, $f22 +/* 8C8200 80240270 00000000 */ nop +/* 8C8204 80240274 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8C8208 80240278 0C0B1EAF */ jal get_variable +/* 8C820C 8024027C 0220202D */ daddu $a0, $s1, $zero +/* 8C8210 80240280 8E050000 */ lw $a1, ($s0) +/* 8C8214 80240284 4482A000 */ mtc1 $v0, $f20 +/* 8C8218 80240288 00000000 */ nop +/* 8C821C 8024028C 4680A520 */ cvt.s.w $f20, $f20 +/* 8C8220 80240290 0C0B1EAF */ jal get_variable +/* 8C8224 80240294 0220202D */ daddu $a0, $s1, $zero +/* 8C8228 80240298 44820000 */ mtc1 $v0, $f0 +/* 8C822C 8024029C 00000000 */ nop +/* 8C8230 802402A0 46800020 */ cvt.s.w $f0, $f0 +/* 8C8234 802402A4 46160001 */ sub.s $f0, $f0, $f22 +/* 8C8238 802402A8 4618A501 */ sub.s $f20, $f20, $f24 +/* 8C823C 802402AC 46140003 */ div.s $f0, $f0, $f20 +/* 8C8240 802402B0 46180602 */ mul.s $f24, $f0, $f24 +/* 8C8244 802402B4 00000000 */ nop +/* 8C8248 802402B8 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8C824C 802402BC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8C8250 802402C0 C4420028 */ lwc1 $f2, 0x28($v0) +/* 8C8254 802402C4 46020002 */ mul.s $f0, $f0, $f2 +/* 8C8258 802402C8 00000000 */ nop +/* 8C825C 802402CC 4618B581 */ sub.s $f22, $f22, $f24 +/* 8C8260 802402D0 46160000 */ add.s $f0, $f0, $f22 +/* 8C8264 802402D4 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8C8268 802402D8 4600103C */ c.lt.s $f2, $f0 +/* 8C826C 802402DC 00000000 */ nop +/* 8C8270 802402E0 45000003 */ bc1f .L802402F0 +/* 8C8274 802402E4 24020001 */ addiu $v0, $zero, 1 +/* 8C8278 802402E8 080900BD */ j .L802402F4 +/* 8C827C 802402EC AE200084 */ sw $zero, 0x84($s1) +.L802402F0: +/* 8C8280 802402F0 AE220084 */ sw $v0, 0x84($s1) +.L802402F4: +/* 8C8284 802402F4 8FBF0018 */ lw $ra, 0x18($sp) +/* 8C8288 802402F8 8FB10014 */ lw $s1, 0x14($sp) +/* 8C828C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8C8290 80240300 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8C8294 80240304 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8C8298 80240308 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8C829C 8024030C 24020002 */ addiu $v0, $zero, 2 +/* 8C82A0 80240310 03E00008 */ jr $ra +/* 8C82A4 80240314 27BD0038 */ addiu $sp, $sp, 0x38 +/* 8C82A8 80240318 00000000 */ nop +/* 8C82AC 8024031C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240320_8C7F90.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240320_8C7F90.s new file mode 100644 index 0000000000..17e67f0c2b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240320_8C7F90.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_8C82B0 +/* 8C82B0 80240320 3C03800B */ lui $v1, %hi(gCameras) +/* 8C82B4 80240324 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 8C82B8 80240328 94620002 */ lhu $v0, 2($v1) +/* 8C82BC 8024032C 3042FFFE */ andi $v0, $v0, 0xfffe +/* 8C82C0 80240330 A4620002 */ sh $v0, 2($v1) +/* 8C82C4 80240334 03E00008 */ jr $ra +/* 8C82C8 80240338 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_8024033C_8C7F90.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_8024033C_8C7F90.s new file mode 100644 index 0000000000..591712fcff --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_8024033C_8C7F90.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024033C_8C82CC +/* 8C82CC 8024033C 3C03800B */ lui $v1, %hi(gCameras) +/* 8C82D0 80240340 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 8C82D4 80240344 94620002 */ lhu $v0, 2($v1) +/* 8C82D8 80240348 34420001 */ ori $v0, $v0, 1 +/* 8C82DC 8024034C A4620002 */ sh $v0, 2($v1) +/* 8C82E0 80240350 03E00008 */ jr $ra +/* 8C82E4 80240354 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240358.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240358.s new file mode 100644 index 0000000000..df5a85621d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240358.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240358 +/* 8C82E8 80240358 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8C82EC 8024035C AFB00010 */ sw $s0, 0x10($sp) +/* 8C82F0 80240360 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 8C82F4 80240364 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 8C82F8 80240368 AFBF0018 */ sw $ra, 0x18($sp) +/* 8C82FC 8024036C AFB10014 */ sw $s1, 0x14($sp) +/* 8C8300 80240370 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8C8304 80240374 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8C8308 80240378 C60C0080 */ lwc1 $f12, 0x80($s0) +/* 8C830C 8024037C 0C00A8BB */ jal sin_deg +/* 8C8310 80240380 0080882D */ daddu $s1, $a0, $zero +/* 8C8314 80240384 C6140054 */ lwc1 $f20, 0x54($s0) +/* 8C8318 80240388 3C0140A0 */ lui $at, 0x40a0 +/* 8C831C 8024038C 4481B000 */ mtc1 $at, $f22 +/* 8C8320 80240390 00000000 */ nop +/* 8C8324 80240394 4616A502 */ mul.s $f20, $f20, $f22 +/* 8C8328 80240398 00000000 */ nop +/* 8C832C 8024039C C60C0080 */ lwc1 $f12, 0x80($s0) +/* 8C8330 802403A0 4600A502 */ mul.s $f20, $f20, $f0 +/* 8C8334 802403A4 0C00A8D4 */ jal cos_deg +/* 8C8338 802403A8 00000000 */ nop +/* 8C833C 802403AC C6040054 */ lwc1 $f4, 0x54($s0) +/* 8C8340 802403B0 46162102 */ mul.s $f4, $f4, $f22 +/* 8C8344 802403B4 00000000 */ nop +/* 8C8348 802403B8 C6020028 */ lwc1 $f2, 0x28($s0) +/* 8C834C 802403BC 46141080 */ add.s $f2, $f2, $f20 +/* 8C8350 802403C0 46000007 */ neg.s $f0, $f0 +/* 8C8354 802403C4 46002102 */ mul.s $f4, $f4, $f0 +/* 8C8358 802403C8 00000000 */ nop +/* 8C835C 802403CC 4600118D */ trunc.w.s $f6, $f2 +/* 8C8360 802403D0 E6260084 */ swc1 $f6, 0x84($s1) +/* 8C8364 802403D4 C6000030 */ lwc1 $f0, 0x30($s0) +/* 8C8368 802403D8 46040000 */ add.s $f0, $f0, $f4 +/* 8C836C 802403DC 4600018D */ trunc.w.s $f6, $f0 +/* 8C8370 802403E0 E6260088 */ swc1 $f6, 0x88($s1) +/* 8C8374 802403E4 8FBF0018 */ lw $ra, 0x18($sp) +/* 8C8378 802403E8 8FB10014 */ lw $s1, 0x14($sp) +/* 8C837C 802403EC 8FB00010 */ lw $s0, 0x10($sp) +/* 8C8380 802403F0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8C8384 802403F4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8C8388 802403F8 24020002 */ addiu $v0, $zero, 2 +/* 8C838C 802403FC 03E00008 */ jr $ra +/* 8C8390 80240400 27BD0030 */ addiu $sp, $sp, 0x30 +/* 8C8394 80240404 00000000 */ nop +/* 8C8398 80240408 00000000 */ nop +/* 8C839C 8024040C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240410_8C7F90.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240410_8C7F90.s new file mode 100644 index 0000000000..9dbfcd1256 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240410_8C7F90.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410_8C83A0 +/* 8C83A0 80240410 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8C83A4 80240414 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8C83A8 80240418 4485A000 */ mtc1 $a1, $f20 +/* 8C83AC 8024041C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8C83B0 80240420 4486B000 */ mtc1 $a2, $f22 +/* 8C83B4 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* 8C83B8 80240428 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8C83BC 8024042C 4487C000 */ mtc1 $a3, $f24 +/* 8C83C0 80240430 AFBF0014 */ sw $ra, 0x14($sp) +/* 8C83C4 80240434 0C019D28 */ jal guMtxIdentF +/* 8C83C8 80240438 0080802D */ daddu $s0, $a0, $zero +/* 8C83CC 8024043C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8C83D0 80240440 00000000 */ nop +/* 8C83D4 80240444 4618A502 */ mul.s $f20, $f20, $f24 +/* 8C83D8 80240448 00000000 */ nop +/* 8C83DC 8024044C 3C013F80 */ lui $at, 0x3f80 +/* 8C83E0 80240450 44810000 */ mtc1 $at, $f0 +/* 8C83E4 80240454 00000000 */ nop +/* 8C83E8 80240458 E6000014 */ swc1 $f0, 0x14($s0) +/* 8C83EC 8024045C E6160010 */ swc1 $f22, 0x10($s0) +/* 8C83F0 80240460 E6140018 */ swc1 $f20, 0x18($s0) +/* 8C83F4 80240464 8FBF0014 */ lw $ra, 0x14($sp) +/* 8C83F8 80240468 8FB00010 */ lw $s0, 0x10($sp) +/* 8C83FC 8024046C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8C8400 80240470 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8C8404 80240474 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8C8408 80240478 03E00008 */ jr $ra +/* 8C840C 8024047C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_03/func_80240480.s b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240480.s new file mode 100644 index 0000000000..3759dbddaa --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_03/func_80240480.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480 +/* 8C8410 80240480 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8C8414 80240484 AFB10054 */ sw $s1, 0x54($sp) +/* 8C8418 80240488 0080882D */ daddu $s1, $a0, $zero +/* 8C841C 8024048C AFBF005C */ sw $ra, 0x5c($sp) +/* 8C8420 80240490 AFB20058 */ sw $s2, 0x58($sp) +/* 8C8424 80240494 AFB00050 */ sw $s0, 0x50($sp) +/* 8C8428 80240498 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8C842C 8024049C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8C8430 802404A0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8C8434 802404A4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8C8438 802404A8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8C843C 802404AC 8E30000C */ lw $s0, 0xc($s1) +/* 8C8440 802404B0 8E050000 */ lw $a1, ($s0) +/* 8C8444 802404B4 0C0B1EAF */ jal get_variable +/* 8C8448 802404B8 26100004 */ addiu $s0, $s0, 4 +/* 8C844C 802404BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8C8450 802404C0 0040202D */ daddu $a0, $v0, $zero +/* 8C8454 802404C4 8E050000 */ lw $a1, ($s0) +/* 8C8458 802404C8 26100004 */ addiu $s0, $s0, 4 +/* 8C845C 802404CC 0220202D */ daddu $a0, $s1, $zero +/* 8C8460 802404D0 0C0B210B */ jal get_float_variable +/* 8C8464 802404D4 0040902D */ daddu $s2, $v0, $zero +/* 8C8468 802404D8 8E050000 */ lw $a1, ($s0) +/* 8C846C 802404DC 26100004 */ addiu $s0, $s0, 4 +/* 8C8470 802404E0 0220202D */ daddu $a0, $s1, $zero +/* 8C8474 802404E4 0C0B210B */ jal get_float_variable +/* 8C8478 802404E8 46000706 */ mov.s $f28, $f0 +/* 8C847C 802404EC 8E050000 */ lw $a1, ($s0) +/* 8C8480 802404F0 26100004 */ addiu $s0, $s0, 4 +/* 8C8484 802404F4 0220202D */ daddu $a0, $s1, $zero +/* 8C8488 802404F8 0C0B210B */ jal get_float_variable +/* 8C848C 802404FC 46000686 */ mov.s $f26, $f0 +/* 8C8490 80240500 0220202D */ daddu $a0, $s1, $zero +/* 8C8494 80240504 8E050000 */ lw $a1, ($s0) +/* 8C8498 80240508 0C0B210B */ jal get_float_variable +/* 8C849C 8024050C 46000586 */ mov.s $f22, $f0 +/* 8C84A0 80240510 0240202D */ daddu $a0, $s2, $zero +/* 8C84A4 80240514 0C046B4C */ jal get_model_from_list_index +/* 8C84A8 80240518 46000606 */ mov.s $f24, $f0 +/* 8C84AC 8024051C 0040882D */ daddu $s1, $v0, $zero +/* 8C84B0 80240520 96220000 */ lhu $v0, ($s1) +/* 8C84B4 80240524 30420400 */ andi $v0, $v0, 0x400 +/* 8C84B8 80240528 1440001E */ bnez $v0, .L802405A4 +/* 8C84BC 8024052C 26300058 */ addiu $s0, $s1, 0x58 +/* 8C84C0 80240530 4480A000 */ mtc1 $zero, $f20 +/* 8C84C4 80240534 4406B000 */ mfc1 $a2, $f22 +/* 8C84C8 80240538 4405A000 */ mfc1 $a1, $f20 +/* 8C84CC 8024053C 4407A000 */ mfc1 $a3, $f20 +/* 8C84D0 80240540 0C019E40 */ jal guTranslateF +/* 8C84D4 80240544 0200202D */ daddu $a0, $s0, $zero +/* 8C84D8 80240548 4405E000 */ mfc1 $a1, $f28 +/* 8C84DC 8024054C 4406D000 */ mfc1 $a2, $f26 +/* 8C84E0 80240550 4407C000 */ mfc1 $a3, $f24 +/* 8C84E4 80240554 0C090104 */ jal func_80240410 +/* 8C84E8 80240558 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C84EC 8024055C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C84F0 80240560 0200282D */ daddu $a1, $s0, $zero +/* 8C84F4 80240564 0C019D80 */ jal guMtxCatF +/* 8C84F8 80240568 0200302D */ daddu $a2, $s0, $zero +/* 8C84FC 8024056C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8500 80240570 4600B587 */ neg.s $f22, $f22 +/* 8C8504 80240574 4405A000 */ mfc1 $a1, $f20 +/* 8C8508 80240578 4406B000 */ mfc1 $a2, $f22 +/* 8C850C 8024057C 0C019E40 */ jal guTranslateF +/* 8C8510 80240580 00A0382D */ daddu $a3, $a1, $zero +/* 8C8514 80240584 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8518 80240588 0200282D */ daddu $a1, $s0, $zero +/* 8C851C 8024058C 0C019D80 */ jal guMtxCatF +/* 8C8520 80240590 00A0302D */ daddu $a2, $a1, $zero +/* 8C8524 80240594 96220000 */ lhu $v0, ($s1) +/* 8C8528 80240598 34421400 */ ori $v0, $v0, 0x1400 +/* 8C852C 8024059C 08090187 */ j .L8024061C +/* 8C8530 802405A0 A6220000 */ sh $v0, ($s1) +.L802405A4: +/* 8C8534 802405A4 4480A000 */ mtc1 $zero, $f20 +/* 8C8538 802405A8 4406B000 */ mfc1 $a2, $f22 +/* 8C853C 802405AC 4405A000 */ mfc1 $a1, $f20 +/* 8C8540 802405B0 4407A000 */ mfc1 $a3, $f20 +/* 8C8544 802405B4 0C019E40 */ jal guTranslateF +/* 8C8548 802405B8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C854C 802405BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8550 802405C0 26300058 */ addiu $s0, $s1, 0x58 +/* 8C8554 802405C4 0200282D */ daddu $a1, $s0, $zero +/* 8C8558 802405C8 0C019D80 */ jal guMtxCatF +/* 8C855C 802405CC 0200302D */ daddu $a2, $s0, $zero +/* 8C8560 802405D0 4405E000 */ mfc1 $a1, $f28 +/* 8C8564 802405D4 4406D000 */ mfc1 $a2, $f26 +/* 8C8568 802405D8 4407C000 */ mfc1 $a3, $f24 +/* 8C856C 802405DC 0C090104 */ jal func_80240410 +/* 8C8570 802405E0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8574 802405E4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8578 802405E8 0200282D */ daddu $a1, $s0, $zero +/* 8C857C 802405EC 0C019D80 */ jal guMtxCatF +/* 8C8580 802405F0 0200302D */ daddu $a2, $s0, $zero +/* 8C8584 802405F4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C8588 802405F8 4600B587 */ neg.s $f22, $f22 +/* 8C858C 802405FC 4405A000 */ mfc1 $a1, $f20 +/* 8C8590 80240600 4406B000 */ mfc1 $a2, $f22 +/* 8C8594 80240604 0C019E40 */ jal guTranslateF +/* 8C8598 80240608 00A0382D */ daddu $a3, $a1, $zero +/* 8C859C 8024060C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8C85A0 80240610 0200282D */ daddu $a1, $s0, $zero +/* 8C85A4 80240614 0C019D80 */ jal guMtxCatF +/* 8C85A8 80240618 00A0302D */ daddu $a2, $a1, $zero +.L8024061C: +/* 8C85AC 8024061C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8C85B0 80240620 8FB20058 */ lw $s2, 0x58($sp) +/* 8C85B4 80240624 8FB10054 */ lw $s1, 0x54($sp) +/* 8C85B8 80240628 8FB00050 */ lw $s0, 0x50($sp) +/* 8C85BC 8024062C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8C85C0 80240630 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8C85C4 80240634 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8C85C8 80240638 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8C85CC 8024063C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8C85D0 80240640 24020002 */ addiu $v0, $zero, 2 +/* 8C85D4 80240644 03E00008 */ jr $ra +/* 8C85D8 80240648 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8C85DC 8024064C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_80240000_8CA900.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240000_8CA900.s new file mode 100644 index 0000000000..231ffcd1af --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240000_8CA900.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8CA900 +/* 8CA900 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CA904 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 8CA908 80240008 0C00EABB */ jal get_npc_unsafe +/* 8CA90C 8024000C 2404FFFC */ addiu $a0, $zero, -4 +/* 8CA910 80240010 8C420000 */ lw $v0, ($v0) +/* 8CA914 80240014 8FBF0010 */ lw $ra, 0x10($sp) +/* 8CA918 80240018 30421000 */ andi $v0, $v0, 0x1000 +/* 8CA91C 8024001C 0002102B */ sltu $v0, $zero, $v0 +/* 8CA920 80240020 00021040 */ sll $v0, $v0, 1 +/* 8CA924 80240024 03E00008 */ jr $ra +/* 8CA928 80240028 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_8024002C.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024002C.s new file mode 100644 index 0000000000..04a00a75a3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024002C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024002C +/* 8CA92C 8024002C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CA930 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* 8CA934 80240034 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CA938 80240038 0C039D59 */ jal get_player_data +/* 8CA93C 8024003C 0080802D */ daddu $s0, $a0, $zero +/* 8CA940 80240040 80430002 */ lb $v1, 2($v0) +/* 8CA944 80240044 AE030084 */ sw $v1, 0x84($s0) +/* 8CA948 80240048 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CA94C 8024004C 8FB00010 */ lw $s0, 0x10($sp) +/* 8CA950 80240050 24020002 */ addiu $v0, $zero, 2 +/* 8CA954 80240054 03E00008 */ jr $ra +/* 8CA958 80240058 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8CA95C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_80240060.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240060.s new file mode 100644 index 0000000000..7e0de16e69 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240060.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060 +/* 8CA960 80240060 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8CA964 80240064 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8CA968 80240068 4485A000 */ mtc1 $a1, $f20 +/* 8CA96C 8024006C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8CA970 80240070 4486B000 */ mtc1 $a2, $f22 +/* 8CA974 80240074 AFB00010 */ sw $s0, 0x10($sp) +/* 8CA978 80240078 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8CA97C 8024007C 4487C000 */ mtc1 $a3, $f24 +/* 8CA980 80240080 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CA984 80240084 0C019D28 */ jal guMtxIdentF +/* 8CA988 80240088 0080802D */ daddu $s0, $a0, $zero +/* 8CA98C 8024008C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8CA990 80240090 00000000 */ nop +/* 8CA994 80240094 4618A502 */ mul.s $f20, $f20, $f24 +/* 8CA998 80240098 00000000 */ nop +/* 8CA99C 8024009C 3C013F80 */ lui $at, 0x3f80 +/* 8CA9A0 802400A0 44810000 */ mtc1 $at, $f0 +/* 8CA9A4 802400A4 00000000 */ nop +/* 8CA9A8 802400A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8CA9AC 802400AC E6160010 */ swc1 $f22, 0x10($s0) +/* 8CA9B0 802400B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 8CA9B4 802400B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CA9B8 802400B8 8FB00010 */ lw $s0, 0x10($sp) +/* 8CA9BC 802400BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8CA9C0 802400C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8CA9C4 802400C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8CA9C8 802400C8 03E00008 */ jr $ra +/* 8CA9CC 802400CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_802400D0.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_802400D0.s new file mode 100644 index 0000000000..5d38133242 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_802400D0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D0 +/* 8CA9D0 802400D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8CA9D4 802400D4 AFB10054 */ sw $s1, 0x54($sp) +/* 8CA9D8 802400D8 0080882D */ daddu $s1, $a0, $zero +/* 8CA9DC 802400DC AFBF005C */ sw $ra, 0x5c($sp) +/* 8CA9E0 802400E0 AFB20058 */ sw $s2, 0x58($sp) +/* 8CA9E4 802400E4 AFB00050 */ sw $s0, 0x50($sp) +/* 8CA9E8 802400E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8CA9EC 802400EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8CA9F0 802400F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8CA9F4 802400F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8CA9F8 802400F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8CA9FC 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* 8CAA00 80240100 8E050000 */ lw $a1, ($s0) +/* 8CAA04 80240104 0C0B1EAF */ jal get_variable +/* 8CAA08 80240108 26100004 */ addiu $s0, $s0, 4 +/* 8CAA0C 8024010C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8CAA10 80240110 0040202D */ daddu $a0, $v0, $zero +/* 8CAA14 80240114 8E050000 */ lw $a1, ($s0) +/* 8CAA18 80240118 26100004 */ addiu $s0, $s0, 4 +/* 8CAA1C 8024011C 0220202D */ daddu $a0, $s1, $zero +/* 8CAA20 80240120 0C0B210B */ jal get_float_variable +/* 8CAA24 80240124 0040902D */ daddu $s2, $v0, $zero +/* 8CAA28 80240128 8E050000 */ lw $a1, ($s0) +/* 8CAA2C 8024012C 26100004 */ addiu $s0, $s0, 4 +/* 8CAA30 80240130 0220202D */ daddu $a0, $s1, $zero +/* 8CAA34 80240134 0C0B210B */ jal get_float_variable +/* 8CAA38 80240138 46000706 */ mov.s $f28, $f0 +/* 8CAA3C 8024013C 8E050000 */ lw $a1, ($s0) +/* 8CAA40 80240140 26100004 */ addiu $s0, $s0, 4 +/* 8CAA44 80240144 0220202D */ daddu $a0, $s1, $zero +/* 8CAA48 80240148 0C0B210B */ jal get_float_variable +/* 8CAA4C 8024014C 46000686 */ mov.s $f26, $f0 +/* 8CAA50 80240150 0220202D */ daddu $a0, $s1, $zero +/* 8CAA54 80240154 8E050000 */ lw $a1, ($s0) +/* 8CAA58 80240158 0C0B210B */ jal get_float_variable +/* 8CAA5C 8024015C 46000586 */ mov.s $f22, $f0 +/* 8CAA60 80240160 0240202D */ daddu $a0, $s2, $zero +/* 8CAA64 80240164 0C046B4C */ jal get_model_from_list_index +/* 8CAA68 80240168 46000606 */ mov.s $f24, $f0 +/* 8CAA6C 8024016C 0040882D */ daddu $s1, $v0, $zero +/* 8CAA70 80240170 96220000 */ lhu $v0, ($s1) +/* 8CAA74 80240174 30420400 */ andi $v0, $v0, 0x400 +/* 8CAA78 80240178 1440001E */ bnez $v0, .L802401F4 +/* 8CAA7C 8024017C 26300058 */ addiu $s0, $s1, 0x58 +/* 8CAA80 80240180 4480A000 */ mtc1 $zero, $f20 +/* 8CAA84 80240184 4406B000 */ mfc1 $a2, $f22 +/* 8CAA88 80240188 4405A000 */ mfc1 $a1, $f20 +/* 8CAA8C 8024018C 4407A000 */ mfc1 $a3, $f20 +/* 8CAA90 80240190 0C019E40 */ jal guTranslateF +/* 8CAA94 80240194 0200202D */ daddu $a0, $s0, $zero +/* 8CAA98 80240198 4405E000 */ mfc1 $a1, $f28 +/* 8CAA9C 8024019C 4406D000 */ mfc1 $a2, $f26 +/* 8CAAA0 802401A0 4407C000 */ mfc1 $a3, $f24 +/* 8CAAA4 802401A4 0C090018 */ jal func_80240060 +/* 8CAAA8 802401A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAAAC 802401AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAAB0 802401B0 0200282D */ daddu $a1, $s0, $zero +/* 8CAAB4 802401B4 0C019D80 */ jal guMtxCatF +/* 8CAAB8 802401B8 0200302D */ daddu $a2, $s0, $zero +/* 8CAABC 802401BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAAC0 802401C0 4600B587 */ neg.s $f22, $f22 +/* 8CAAC4 802401C4 4405A000 */ mfc1 $a1, $f20 +/* 8CAAC8 802401C8 4406B000 */ mfc1 $a2, $f22 +/* 8CAACC 802401CC 0C019E40 */ jal guTranslateF +/* 8CAAD0 802401D0 00A0382D */ daddu $a3, $a1, $zero +/* 8CAAD4 802401D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAAD8 802401D8 0200282D */ daddu $a1, $s0, $zero +/* 8CAADC 802401DC 0C019D80 */ jal guMtxCatF +/* 8CAAE0 802401E0 00A0302D */ daddu $a2, $a1, $zero +/* 8CAAE4 802401E4 96220000 */ lhu $v0, ($s1) +/* 8CAAE8 802401E8 34421400 */ ori $v0, $v0, 0x1400 +/* 8CAAEC 802401EC 0809009B */ j .L8024026C +/* 8CAAF0 802401F0 A6220000 */ sh $v0, ($s1) +.L802401F4: +/* 8CAAF4 802401F4 4480A000 */ mtc1 $zero, $f20 +/* 8CAAF8 802401F8 4406B000 */ mfc1 $a2, $f22 +/* 8CAAFC 802401FC 4405A000 */ mfc1 $a1, $f20 +/* 8CAB00 80240200 4407A000 */ mfc1 $a3, $f20 +/* 8CAB04 80240204 0C019E40 */ jal guTranslateF +/* 8CAB08 80240208 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB0C 8024020C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB10 80240210 26300058 */ addiu $s0, $s1, 0x58 +/* 8CAB14 80240214 0200282D */ daddu $a1, $s0, $zero +/* 8CAB18 80240218 0C019D80 */ jal guMtxCatF +/* 8CAB1C 8024021C 0200302D */ daddu $a2, $s0, $zero +/* 8CAB20 80240220 4405E000 */ mfc1 $a1, $f28 +/* 8CAB24 80240224 4406D000 */ mfc1 $a2, $f26 +/* 8CAB28 80240228 4407C000 */ mfc1 $a3, $f24 +/* 8CAB2C 8024022C 0C090018 */ jal func_80240060 +/* 8CAB30 80240230 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB34 80240234 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB38 80240238 0200282D */ daddu $a1, $s0, $zero +/* 8CAB3C 8024023C 0C019D80 */ jal guMtxCatF +/* 8CAB40 80240240 0200302D */ daddu $a2, $s0, $zero +/* 8CAB44 80240244 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB48 80240248 4600B587 */ neg.s $f22, $f22 +/* 8CAB4C 8024024C 4405A000 */ mfc1 $a1, $f20 +/* 8CAB50 80240250 4406B000 */ mfc1 $a2, $f22 +/* 8CAB54 80240254 0C019E40 */ jal guTranslateF +/* 8CAB58 80240258 00A0382D */ daddu $a3, $a1, $zero +/* 8CAB5C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CAB60 80240260 0200282D */ daddu $a1, $s0, $zero +/* 8CAB64 80240264 0C019D80 */ jal guMtxCatF +/* 8CAB68 80240268 00A0302D */ daddu $a2, $a1, $zero +.L8024026C: +/* 8CAB6C 8024026C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8CAB70 80240270 8FB20058 */ lw $s2, 0x58($sp) +/* 8CAB74 80240274 8FB10054 */ lw $s1, 0x54($sp) +/* 8CAB78 80240278 8FB00050 */ lw $s0, 0x50($sp) +/* 8CAB7C 8024027C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8CAB80 80240280 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8CAB84 80240284 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8CAB88 80240288 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8CAB8C 8024028C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8CAB90 80240290 24020002 */ addiu $v0, $zero, 2 +/* 8CAB94 80240294 03E00008 */ jr $ra +/* 8CAB98 80240298 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_8024029C.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024029C.s new file mode 100644 index 0000000000..81c8f50ae4 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024029C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024029C +/* 8CAB9C 8024029C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CABA0 802402A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8CABA4 802402A4 0C00EABB */ jal get_npc_unsafe +/* 8CABA8 802402A8 2404FFFC */ addiu $a0, $zero, -4 +/* 8CABAC 802402AC 8C420000 */ lw $v0, ($v0) +/* 8CABB0 802402B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8CABB4 802402B4 30421000 */ andi $v0, $v0, 0x1000 +/* 8CABB8 802402B8 0002102B */ sltu $v0, $zero, $v0 +/* 8CABBC 802402BC 00021040 */ sll $v0, $v0, 1 +/* 8CABC0 802402C0 03E00008 */ jr $ra +/* 8CABC4 802402C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_802402C8.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_802402C8.s new file mode 100644 index 0000000000..f2b8797233 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_802402C8.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C8 +/* 8CABC8 802402C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8CABCC 802402CC AFB00010 */ sw $s0, 0x10($sp) +/* 8CABD0 802402D0 3C108024 */ lui $s0, 0x8024 +/* 8CABD4 802402D4 261029F4 */ addiu $s0, $s0, 0x29f4 +/* 8CABD8 802402D8 AFBF0018 */ sw $ra, 0x18($sp) +/* 8CABDC 802402DC AFB10014 */ sw $s1, 0x14($sp) +/* 8CABE0 802402E0 8E020000 */ lw $v0, ($s0) +/* 8CABE4 802402E4 14400010 */ bnez $v0, .L80240328 +/* 8CABE8 802402E8 0080882D */ daddu $s1, $a0, $zero +/* 8CABEC 802402EC 0C00AB39 */ jal heap_malloc +/* 8CABF0 802402F0 24040040 */ addiu $a0, $zero, 0x40 +/* 8CABF4 802402F4 AE020000 */ sw $v0, ($s0) +/* 8CABF8 802402F8 0000182D */ daddu $v1, $zero, $zero +/* 8CABFC 802402FC 0040282D */ daddu $a1, $v0, $zero +/* 8CAC00 80240300 0220202D */ daddu $a0, $s1, $zero +.L80240304: +/* 8CAC04 80240304 8C820084 */ lw $v0, 0x84($a0) +/* 8CAC08 80240308 24840004 */ addiu $a0, $a0, 4 +/* 8CAC0C 8024030C 24630001 */ addiu $v1, $v1, 1 +/* 8CAC10 80240310 ACA20000 */ sw $v0, ($a1) +/* 8CAC14 80240314 28620010 */ slti $v0, $v1, 0x10 +/* 8CAC18 80240318 1440FFFA */ bnez $v0, .L80240304 +/* 8CAC1C 8024031C 24A50004 */ addiu $a1, $a1, 4 +/* 8CAC20 80240320 080900D9 */ j .L80240364 +/* 8CAC24 80240324 00000000 */ nop +.L80240328: +/* 8CAC28 80240328 0000182D */ daddu $v1, $zero, $zero +/* 8CAC2C 8024032C 0040282D */ daddu $a1, $v0, $zero +/* 8CAC30 80240330 0220202D */ daddu $a0, $s1, $zero +.L80240334: +/* 8CAC34 80240334 8CA20000 */ lw $v0, ($a1) +/* 8CAC38 80240338 24A50004 */ addiu $a1, $a1, 4 +/* 8CAC3C 8024033C 24630001 */ addiu $v1, $v1, 1 +/* 8CAC40 80240340 AC820084 */ sw $v0, 0x84($a0) +/* 8CAC44 80240344 28620010 */ slti $v0, $v1, 0x10 +/* 8CAC48 80240348 1440FFFA */ bnez $v0, .L80240334 +/* 8CAC4C 8024034C 24840004 */ addiu $a0, $a0, 4 +/* 8CAC50 80240350 3C108024 */ lui $s0, 0x8024 +/* 8CAC54 80240354 261029F4 */ addiu $s0, $s0, 0x29f4 +/* 8CAC58 80240358 0C00AB4B */ jal heap_free +/* 8CAC5C 8024035C 8E040000 */ lw $a0, ($s0) +/* 8CAC60 80240360 AE000000 */ sw $zero, ($s0) +.L80240364: +/* 8CAC64 80240364 8FBF0018 */ lw $ra, 0x18($sp) +/* 8CAC68 80240368 8FB10014 */ lw $s1, 0x14($sp) +/* 8CAC6C 8024036C 8FB00010 */ lw $s0, 0x10($sp) +/* 8CAC70 80240370 24020002 */ addiu $v0, $zero, 2 +/* 8CAC74 80240374 03E00008 */ jr $ra +/* 8CAC78 80240378 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_8024037C.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024037C.s new file mode 100644 index 0000000000..7ee1ec41e8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_8024037C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C +/* 8CAC7C 8024037C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8CAC80 80240380 AFB00010 */ sw $s0, 0x10($sp) +/* 8CAC84 80240384 0080802D */ daddu $s0, $a0, $zero +/* 8CAC88 80240388 AFBF0018 */ sw $ra, 0x18($sp) +/* 8CAC8C 8024038C AFB10014 */ sw $s1, 0x14($sp) +/* 8CAC90 80240390 8E02000C */ lw $v0, 0xc($s0) +/* 8CAC94 80240394 8C510000 */ lw $s1, ($v0) +/* 8CAC98 80240398 0C0B1EAF */ jal get_variable +/* 8CAC9C 8024039C 0220282D */ daddu $a1, $s1, $zero +/* 8CACA0 802403A0 3C03FFF0 */ lui $v1, 0xfff0 +/* 8CACA4 802403A4 3463FFFF */ ori $v1, $v1, 0xffff +/* 8CACA8 802403A8 0200202D */ daddu $a0, $s0, $zero +/* 8CACAC 802403AC 00431024 */ and $v0, $v0, $v1 +/* 8CACB0 802403B0 00021140 */ sll $v0, $v0, 5 +/* 8CACB4 802403B4 3C068008 */ lui $a2, %hi(gItemTable) +/* 8CACB8 802403B8 00C23021 */ addu $a2, $a2, $v0 +/* 8CACBC 802403BC 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 8CACC0 802403C0 0C0B2026 */ jal set_variable +/* 8CACC4 802403C4 0220282D */ daddu $a1, $s1, $zero +/* 8CACC8 802403C8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8CACCC 802403CC 8FB10014 */ lw $s1, 0x14($sp) +/* 8CACD0 802403D0 8FB00010 */ lw $s0, 0x10($sp) +/* 8CACD4 802403D4 24020002 */ addiu $v0, $zero, 2 +/* 8CACD8 802403D8 03E00008 */ jr $ra +/* 8CACDC 802403DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_802403E0_8CA900.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_802403E0_8CA900.s new file mode 100644 index 0000000000..3dcf2177e0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_802403E0_8CA900.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403E0_8CACE0 +/* 8CACE0 802403E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CACE4 802403E4 3C048024 */ lui $a0, 0x8024 +/* 8CACE8 802403E8 24843770 */ addiu $a0, $a0, 0x3770 +/* 8CACEC 802403EC 3C028024 */ lui $v0, 0x8024 +/* 8CACF0 802403F0 24421BF0 */ addiu $v0, $v0, 0x1bf0 +/* 8CACF4 802403F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8CACF8 802403F8 AC820000 */ sw $v0, ($a0) +/* 8CACFC 802403FC 3C028024 */ lui $v0, 0x8024 +/* 8CAD00 80240400 24422070 */ addiu $v0, $v0, 0x2070 +/* 8CAD04 80240404 AC820004 */ sw $v0, 4($a0) +/* 8CAD08 80240408 24020030 */ addiu $v0, $zero, 0x30 +/* 8CAD0C 8024040C A4820008 */ sh $v0, 8($a0) +/* 8CAD10 80240410 A482000A */ sh $v0, 0xa($a0) +/* 8CAD14 80240414 24020002 */ addiu $v0, $zero, 2 +/* 8CAD18 80240418 AC82000C */ sw $v0, 0xc($a0) +/* 8CAD1C 8024041C 0C0496CB */ jal set_message_images +/* 8CAD20 80240420 AC800010 */ sw $zero, 0x10($a0) +/* 8CAD24 80240424 8FBF0010 */ lw $ra, 0x10($sp) +/* 8CAD28 80240428 24020002 */ addiu $v0, $zero, 2 +/* 8CAD2C 8024042C 03E00008 */ jr $ra +/* 8CAD30 80240430 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_80240434.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240434.s new file mode 100644 index 0000000000..2383aec6d5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240434.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434 +/* 8CAD34 80240434 3C018011 */ lui $at, 0x8011 +/* 8CAD38 80240438 A020F291 */ sb $zero, -0xd6f($at) +/* 8CAD3C 8024043C 03E00008 */ jr $ra +/* 8CAD40 80240440 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_04/func_80240444_8CA900.s b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240444_8CA900.s new file mode 100644 index 0000000000..26fc9b1e21 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_04/func_80240444_8CA900.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240444_8CAD44 +/* 8CAD44 80240444 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CAD48 80240448 AFBF0010 */ sw $ra, 0x10($sp) +/* 8CAD4C 8024044C 0C04417A */ jal get_entity_by_index +/* 8CAD50 80240450 8C840084 */ lw $a0, 0x84($a0) +/* 8CAD54 80240454 0C043F5A */ jal func_8010FD68 +/* 8CAD58 80240458 0040202D */ daddu $a0, $v0, $zero +/* 8CAD5C 8024045C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8CAD60 80240460 24020002 */ addiu $v0, $zero, 2 +/* 8CAD64 80240464 03E00008 */ jr $ra +/* 8CAD68 80240468 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8CAD6C 8024046C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240000_8CE070.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240000_8CE070.s new file mode 100644 index 0000000000..bdf9dd4b25 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240000_8CE070.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8CE070 +/* 8CE070 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8CE074 80240004 AFB3002C */ sw $s3, 0x2c($sp) +/* 8CE078 80240008 0080982D */ daddu $s3, $a0, $zero +/* 8CE07C 8024000C AFBF0030 */ sw $ra, 0x30($sp) +/* 8CE080 80240010 AFB20028 */ sw $s2, 0x28($sp) +/* 8CE084 80240014 AFB10024 */ sw $s1, 0x24($sp) +/* 8CE088 80240018 AFB00020 */ sw $s0, 0x20($sp) +/* 8CE08C 8024001C 8E710148 */ lw $s1, 0x148($s3) +/* 8CE090 80240020 86240008 */ lh $a0, 8($s1) +/* 8CE094 80240024 0C00EABB */ jal get_npc_unsafe +/* 8CE098 80240028 00A0902D */ daddu $s2, $a1, $zero +/* 8CE09C 8024002C 8E440004 */ lw $a0, 4($s2) +/* 8CE0A0 80240030 0040802D */ daddu $s0, $v0, $zero +/* 8CE0A4 80240034 00041FC2 */ srl $v1, $a0, 0x1f +/* 8CE0A8 80240038 00832021 */ addu $a0, $a0, $v1 +/* 8CE0AC 8024003C 00042043 */ sra $a0, $a0, 1 +/* 8CE0B0 80240040 0C00A67F */ jal rand_int +/* 8CE0B4 80240044 24840001 */ addiu $a0, $a0, 1 +/* 8CE0B8 80240048 8E430004 */ lw $v1, 4($s2) +/* 8CE0BC 8024004C 000327C2 */ srl $a0, $v1, 0x1f +/* 8CE0C0 80240050 00641821 */ addu $v1, $v1, $a0 +/* 8CE0C4 80240054 00031843 */ sra $v1, $v1, 1 +/* 8CE0C8 80240058 00621821 */ addu $v1, $v1, $v0 +/* 8CE0CC 8024005C A603008E */ sh $v1, 0x8e($s0) +/* 8CE0D0 80240060 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8CE0D4 80240064 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8CE0D8 80240068 C4640000 */ lwc1 $f4, ($v1) +/* 8CE0DC 8024006C 46802120 */ cvt.s.w $f4, $f4 +/* 8CE0E0 80240070 C4620008 */ lwc1 $f2, 8($v1) +/* 8CE0E4 80240074 468010A0 */ cvt.s.w $f2, $f2 +/* 8CE0E8 80240078 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8CE0EC 8024007C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE0F0 80240080 44061000 */ mfc1 $a2, $f2 +/* 8CE0F4 80240084 C440000C */ lwc1 $f0, 0xc($v0) +/* 8CE0F8 80240088 46800020 */ cvt.s.w $f0, $f0 +/* 8CE0FC 8024008C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8CE100 80240090 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE104 80240094 44052000 */ mfc1 $a1, $f4 +/* 8CE108 80240098 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8CE10C 8024009C 46800020 */ cvt.s.w $f0, $f0 +/* 8CE110 802400A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8CE114 802400A4 8C640018 */ lw $a0, 0x18($v1) +/* 8CE118 802400A8 0C0123F5 */ jal is_point_within_region +/* 8CE11C 802400AC 8E070038 */ lw $a3, 0x38($s0) +/* 8CE120 802400B0 1040000E */ beqz $v0, .L802400EC +/* 8CE124 802400B4 00000000 */ nop +/* 8CE128 802400B8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE12C 802400BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8CE130 802400C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8CE134 802400C4 C4460000 */ lwc1 $f6, ($v0) +/* 8CE138 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* 8CE13C 802400CC 44063000 */ mfc1 $a2, $f6 +/* 8CE140 802400D0 C4460008 */ lwc1 $f6, 8($v0) +/* 8CE144 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* 8CE148 802400D8 44073000 */ mfc1 $a3, $f6 +/* 8CE14C 802400DC 0C00A720 */ jal atan2 +/* 8CE150 802400E0 00000000 */ nop +/* 8CE154 802400E4 08090047 */ j .L8024011C +/* 8CE158 802400E8 E600000C */ swc1 $f0, 0xc($s0) +.L802400EC: +/* 8CE15C 802400EC 0C00A67F */ jal rand_int +/* 8CE160 802400F0 2404003C */ addiu $a0, $zero, 0x3c +/* 8CE164 802400F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8CE168 802400F8 44820000 */ mtc1 $v0, $f0 +/* 8CE16C 802400FC 00000000 */ nop +/* 8CE170 80240100 46800020 */ cvt.s.w $f0, $f0 +/* 8CE174 80240104 46006300 */ add.s $f12, $f12, $f0 +/* 8CE178 80240108 3C0141F0 */ lui $at, 0x41f0 +/* 8CE17C 8024010C 44810000 */ mtc1 $at, $f0 +/* 8CE180 80240110 0C00A6C9 */ jal clamp_angle +/* 8CE184 80240114 46006301 */ sub.s $f12, $f12, $f0 +/* 8CE188 80240118 E600000C */ swc1 $f0, 0xc($s0) +.L8024011C: +/* 8CE18C 8024011C 8E2200CC */ lw $v0, 0xcc($s1) +/* 8CE190 80240120 8C420004 */ lw $v0, 4($v0) +/* 8CE194 80240124 AE020028 */ sw $v0, 0x28($s0) +/* 8CE198 80240128 AE600074 */ sw $zero, 0x74($s3) +/* 8CE19C 8024012C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE1A0 80240130 8C420014 */ lw $v0, 0x14($v0) +/* 8CE1A4 80240134 04410004 */ bgez $v0, .L80240148 +/* 8CE1A8 80240138 00000000 */ nop +/* 8CE1AC 8024013C C6400000 */ lwc1 $f0, ($s2) +/* 8CE1B0 80240140 0809005A */ j .L80240168 +/* 8CE1B4 80240144 E6000018 */ swc1 $f0, 0x18($s0) +.L80240148: +/* 8CE1B8 80240148 3C018024 */ lui $at, 0x8024 +/* 8CE1BC 8024014C D4223440 */ ldc1 $f2, 0x3440($at) +/* 8CE1C0 80240150 44820000 */ mtc1 $v0, $f0 +/* 8CE1C4 80240154 00000000 */ nop +/* 8CE1C8 80240158 46800021 */ cvt.d.w $f0, $f0 +/* 8CE1CC 8024015C 46220003 */ div.d $f0, $f0, $f2 +/* 8CE1D0 80240160 46200020 */ cvt.s.d $f0, $f0 +/* 8CE1D4 80240164 E6000018 */ swc1 $f0, 0x18($s0) +.L80240168: +/* 8CE1D8 80240168 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CE1DC 8024016C 3C014059 */ lui $at, 0x4059 +/* 8CE1E0 80240170 44811800 */ mtc1 $at, $f3 +/* 8CE1E4 80240174 44801000 */ mtc1 $zero, $f2 +/* 8CE1E8 80240178 46000021 */ cvt.d.s $f0, $f0 +/* 8CE1EC 8024017C 46220002 */ mul.d $f0, $f0, $f2 +/* 8CE1F0 80240180 00000000 */ nop +/* 8CE1F4 80240184 24020001 */ addiu $v0, $zero, 1 +/* 8CE1F8 80240188 4620018D */ trunc.w.d $f6, $f0 +/* 8CE1FC 8024018C E626007C */ swc1 $f6, 0x7c($s1) +/* 8CE200 80240190 AE620070 */ sw $v0, 0x70($s3) +/* 8CE204 80240194 8FBF0030 */ lw $ra, 0x30($sp) +/* 8CE208 80240198 8FB3002C */ lw $s3, 0x2c($sp) +/* 8CE20C 8024019C 8FB20028 */ lw $s2, 0x28($sp) +/* 8CE210 802401A0 8FB10024 */ lw $s1, 0x24($sp) +/* 8CE214 802401A4 8FB00020 */ lw $s0, 0x20($sp) +/* 8CE218 802401A8 03E00008 */ jr $ra +/* 8CE21C 802401AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_802401B0_8CE070.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_802401B0_8CE070.s new file mode 100644 index 0000000000..3a27dc746d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_802401B0_8CE070.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_8CE220 +/* 8CE220 802401B0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 8CE224 802401B4 AFB3004C */ sw $s3, 0x4c($sp) +/* 8CE228 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 8CE22C 802401BC AFBF0058 */ sw $ra, 0x58($sp) +/* 8CE230 802401C0 AFB50054 */ sw $s5, 0x54($sp) +/* 8CE234 802401C4 AFB40050 */ sw $s4, 0x50($sp) +/* 8CE238 802401C8 AFB20048 */ sw $s2, 0x48($sp) +/* 8CE23C 802401CC AFB10044 */ sw $s1, 0x44($sp) +/* 8CE240 802401D0 AFB00040 */ sw $s0, 0x40($sp) +/* 8CE244 802401D4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8CE248 802401D8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8CE24C 802401DC F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8CE250 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8CE254 802401E4 8E710148 */ lw $s1, 0x148($s3) +/* 8CE258 802401E8 00A0902D */ daddu $s2, $a1, $zero +/* 8CE25C 802401EC 86240008 */ lh $a0, 8($s1) +/* 8CE260 802401F0 0C00EABB */ jal get_npc_unsafe +/* 8CE264 802401F4 00C0A82D */ daddu $s5, $a2, $zero +/* 8CE268 802401F8 0040802D */ daddu $s0, $v0, $zero +/* 8CE26C 802401FC 0000A02D */ daddu $s4, $zero, $zero +/* 8CE270 80240200 C624007C */ lwc1 $f4, 0x7c($s1) +/* 8CE274 80240204 46802120 */ cvt.s.w $f4, $f4 +/* 8CE278 80240208 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8CE27C 8024020C 468010A0 */ cvt.s.w $f2, $f2 +/* 8CE280 80240210 460010A1 */ cvt.d.s $f2, $f2 +/* 8CE284 80240214 46002121 */ cvt.d.s $f4, $f4 +/* 8CE288 80240218 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CE28C 8024021C 3C014059 */ lui $at, 0x4059 +/* 8CE290 80240220 44813800 */ mtc1 $at, $f7 +/* 8CE294 80240224 44803000 */ mtc1 $zero, $f6 +/* 8CE298 80240228 46000021 */ cvt.d.s $f0, $f0 +/* 8CE29C 8024022C 46260002 */ mul.d $f0, $f0, $f6 +/* 8CE2A0 80240230 00000000 */ nop +/* 8CE2A4 80240234 24020001 */ addiu $v0, $zero, 1 +/* 8CE2A8 80240238 8E24006C */ lw $a0, 0x6c($s1) +/* 8CE2AC 8024023C 46261083 */ div.d $f2, $f2, $f6 +/* 8CE2B0 80240240 462010A0 */ cvt.s.d $f2, $f2 +/* 8CE2B4 80240244 46262103 */ div.d $f4, $f4, $f6 +/* 8CE2B8 80240248 46202520 */ cvt.s.d $f20, $f4 +/* 8CE2BC 8024024C 30830011 */ andi $v1, $a0, 0x11 +/* 8CE2C0 80240250 4620020D */ trunc.w.d $f8, $f0 +/* 8CE2C4 80240254 E628007C */ swc1 $f8, 0x7c($s1) +/* 8CE2C8 80240258 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8CE2CC 8024025C 46800020 */ cvt.s.w $f0, $f0 +/* 8CE2D0 80240260 46000021 */ cvt.d.s $f0, $f0 +/* 8CE2D4 80240264 46260003 */ div.d $f0, $f0, $f6 +/* 8CE2D8 80240268 462006A0 */ cvt.s.d $f26, $f0 +/* 8CE2DC 8024026C C6200070 */ lwc1 $f0, 0x70($s1) +/* 8CE2E0 80240270 46800020 */ cvt.s.w $f0, $f0 +/* 8CE2E4 80240274 46000021 */ cvt.d.s $f0, $f0 +/* 8CE2E8 80240278 46260003 */ div.d $f0, $f0, $f6 +/* 8CE2EC 8024027C 462005A0 */ cvt.s.d $f22, $f0 +/* 8CE2F0 80240280 14620025 */ bne $v1, $v0, .L80240318 +/* 8CE2F4 80240284 4602D600 */ add.s $f24, $f26, $f2 +/* 8CE2F8 80240288 8E020000 */ lw $v0, ($s0) +/* 8CE2FC 8024028C 30420008 */ andi $v0, $v0, 8 +/* 8CE300 80240290 10400009 */ beqz $v0, .L802402B8 +/* 8CE304 80240294 27A50028 */ addiu $a1, $sp, 0x28 +/* 8CE308 80240298 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CE30C 8024029C 4600C001 */ sub.s $f0, $f24, $f0 +/* 8CE310 802402A0 4600B03C */ c.lt.s $f22, $f0 +/* 8CE314 802402A4 00000000 */ nop +/* 8CE318 802402A8 4500001B */ bc1f .L80240318 +/* 8CE31C 802402AC 34820010 */ ori $v0, $a0, 0x10 +/* 8CE320 802402B0 080900C6 */ j .L80240318 +/* 8CE324 802402B4 AE22006C */ sw $v0, 0x6c($s1) +.L802402B8: +/* 8CE328 802402B8 27A6002C */ addiu $a2, $sp, 0x2c +/* 8CE32C 802402BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CE330 802402C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CE334 802402C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8CE338 802402C8 3C01447A */ lui $at, 0x447a +/* 8CE33C 802402CC 44813000 */ mtc1 $at, $f6 +/* 8CE340 802402D0 27A20034 */ addiu $v0, $sp, 0x34 +/* 8CE344 802402D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8CE348 802402D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8CE34C 802402DC E7A40030 */ swc1 $f4, 0x30($sp) +/* 8CE350 802402E0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8CE354 802402E4 AFA20010 */ sw $v0, 0x10($sp) +/* 8CE358 802402E8 8E040080 */ lw $a0, 0x80($s0) +/* 8CE35C 802402EC 0C0372DF */ jal func_800DCB7C +/* 8CE360 802402F0 27A70030 */ addiu $a3, $sp, 0x30 +/* 8CE364 802402F4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 8CE368 802402F8 4600D001 */ sub.s $f0, $f26, $f0 +/* 8CE36C 802402FC 4600B03C */ c.lt.s $f22, $f0 +/* 8CE370 80240300 00000000 */ nop +/* 8CE374 80240304 45000004 */ bc1f .L80240318 +/* 8CE378 80240308 00000000 */ nop +/* 8CE37C 8024030C 8E22006C */ lw $v0, 0x6c($s1) +/* 8CE380 80240310 34420010 */ ori $v0, $v0, 0x10 +/* 8CE384 80240314 AE22006C */ sw $v0, 0x6c($s1) +.L80240318: +/* 8CE388 80240318 8E22006C */ lw $v0, 0x6c($s1) +/* 8CE38C 8024031C 24030011 */ addiu $v1, $zero, 0x11 +/* 8CE390 80240320 30420011 */ andi $v0, $v0, 0x11 +/* 8CE394 80240324 14430039 */ bne $v0, $v1, .L8024040C +/* 8CE398 80240328 00000000 */ nop +/* 8CE39C 8024032C 8E020000 */ lw $v0, ($s0) +/* 8CE3A0 80240330 30420008 */ andi $v0, $v0, 8 +/* 8CE3A4 80240334 1040000A */ beqz $v0, .L80240360 +/* 8CE3A8 80240338 4600C106 */ mov.s $f4, $f24 +/* 8CE3AC 8024033C 4614C081 */ sub.s $f2, $f24, $f20 +/* 8CE3B0 80240340 3C018024 */ lui $at, 0x8024 +/* 8CE3B4 80240344 D4203448 */ ldc1 $f0, 0x3448($at) +/* 8CE3B8 80240348 460010A1 */ cvt.d.s $f2, $f2 +/* 8CE3BC 8024034C 46201082 */ mul.d $f2, $f2, $f0 +/* 8CE3C0 80240350 00000000 */ nop +/* 8CE3C4 80240354 4600A021 */ cvt.d.s $f0, $f20 +/* 8CE3C8 80240358 080900F1 */ j .L802403C4 +/* 8CE3CC 8024035C 46220000 */ add.d $f0, $f0, $f2 +.L80240360: +/* 8CE3D0 80240360 27A50028 */ addiu $a1, $sp, 0x28 +/* 8CE3D4 80240364 27A6002C */ addiu $a2, $sp, 0x2c +/* 8CE3D8 80240368 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CE3DC 8024036C C6020040 */ lwc1 $f2, 0x40($s0) +/* 8CE3E0 80240370 3C01447A */ lui $at, 0x447a +/* 8CE3E4 80240374 44812000 */ mtc1 $at, $f4 +/* 8CE3E8 80240378 27A20034 */ addiu $v0, $sp, 0x34 +/* 8CE3EC 8024037C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 8CE3F0 80240380 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8CE3F4 80240384 E7A20030 */ swc1 $f2, 0x30($sp) +/* 8CE3F8 80240388 E7A40034 */ swc1 $f4, 0x34($sp) +/* 8CE3FC 8024038C AFA20010 */ sw $v0, 0x10($sp) +/* 8CE400 80240390 8E040080 */ lw $a0, 0x80($s0) +/* 8CE404 80240394 0C0372DF */ jal func_800DCB7C +/* 8CE408 80240398 27A70030 */ addiu $a3, $sp, 0x30 +/* 8CE40C 8024039C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 8CE410 802403A0 461A2100 */ add.s $f4, $f4, $f26 +/* 8CE414 802403A4 46142081 */ sub.s $f2, $f4, $f20 +/* 8CE418 802403A8 3C018024 */ lui $at, 0x8024 +/* 8CE41C 802403AC D4203450 */ ldc1 $f0, 0x3450($at) +/* 8CE420 802403B0 460010A1 */ cvt.d.s $f2, $f2 +/* 8CE424 802403B4 46201082 */ mul.d $f2, $f2, $f0 +/* 8CE428 802403B8 00000000 */ nop +/* 8CE42C 802403BC 4600A021 */ cvt.d.s $f0, $f20 +/* 8CE430 802403C0 46220000 */ add.d $f0, $f0, $f2 +.L802403C4: +/* 8CE434 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 8CE438 802403C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8CE43C 802403CC C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CE440 802403D0 46002001 */ sub.s $f0, $f4, $f0 +/* 8CE444 802403D4 3C013FF0 */ lui $at, 0x3ff0 +/* 8CE448 802403D8 44811800 */ mtc1 $at, $f3 +/* 8CE44C 802403DC 44801000 */ mtc1 $zero, $f2 +/* 8CE450 802403E0 46000005 */ abs.s $f0, $f0 +/* 8CE454 802403E4 46000021 */ cvt.d.s $f0, $f0 +/* 8CE458 802403E8 4622003C */ c.lt.d $f0, $f2 +/* 8CE45C 802403EC 00000000 */ nop +/* 8CE460 802403F0 45000036 */ bc1f .L802404CC +/* 8CE464 802403F4 2403FFEF */ addiu $v1, $zero, -0x11 +/* 8CE468 802403F8 E604003C */ swc1 $f4, 0x3c($s0) +/* 8CE46C 802403FC 8E22006C */ lw $v0, 0x6c($s1) +/* 8CE470 80240400 00431024 */ and $v0, $v0, $v1 +/* 8CE474 80240404 08090133 */ j .L802404CC +/* 8CE478 80240408 AE22006C */ sw $v0, 0x6c($s1) +.L8024040C: +/* 8CE47C 8024040C 8E220070 */ lw $v0, 0x70($s1) +/* 8CE480 80240410 1840002E */ blez $v0, .L802404CC +/* 8CE484 80240414 00000000 */ nop +/* 8CE488 80240418 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8CE48C 8024041C 0C00A8BB */ jal sin_deg +/* 8CE490 80240420 46806320 */ cvt.s.w $f12, $f12 +/* 8CE494 80240424 8E020000 */ lw $v0, ($s0) +/* 8CE498 80240428 30420008 */ andi $v0, $v0, 8 +/* 8CE49C 8024042C 10400003 */ beqz $v0, .L8024043C +/* 8CE4A0 80240430 46000506 */ mov.s $f20, $f0 +/* 8CE4A4 80240434 0809011F */ j .L8024047C +/* 8CE4A8 80240438 0000102D */ daddu $v0, $zero, $zero +.L8024043C: +/* 8CE4AC 8024043C 27A50028 */ addiu $a1, $sp, 0x28 +/* 8CE4B0 80240440 27A6002C */ addiu $a2, $sp, 0x2c +/* 8CE4B4 80240444 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CE4B8 80240448 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CE4BC 8024044C C6040040 */ lwc1 $f4, 0x40($s0) +/* 8CE4C0 80240450 3C01447A */ lui $at, 0x447a +/* 8CE4C4 80240454 44813000 */ mtc1 $at, $f6 +/* 8CE4C8 80240458 27A20034 */ addiu $v0, $sp, 0x34 +/* 8CE4CC 8024045C E7A00028 */ swc1 $f0, 0x28($sp) +/* 8CE4D0 80240460 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8CE4D4 80240464 E7A40030 */ swc1 $f4, 0x30($sp) +/* 8CE4D8 80240468 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8CE4DC 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 8CE4E0 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 8CE4E4 80240474 0C0372DF */ jal func_800DCB7C +/* 8CE4E8 80240478 27A70030 */ addiu $a3, $sp, 0x30 +.L8024047C: +/* 8CE4EC 8024047C 10400007 */ beqz $v0, .L8024049C +/* 8CE4F0 80240480 00000000 */ nop +/* 8CE4F4 80240484 4616A082 */ mul.s $f2, $f20, $f22 +/* 8CE4F8 80240488 00000000 */ nop +/* 8CE4FC 8024048C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8CE500 80240490 461A0000 */ add.s $f0, $f0, $f26 +/* 8CE504 80240494 0809012A */ j .L802404A8 +/* 8CE508 80240498 46020000 */ add.s $f0, $f0, $f2 +.L8024049C: +/* 8CE50C 8024049C 4616A002 */ mul.s $f0, $f20, $f22 +/* 8CE510 802404A0 00000000 */ nop +/* 8CE514 802404A4 4600C000 */ add.s $f0, $f24, $f0 +.L802404A8: +/* 8CE518 802404A8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8CE51C 802404AC 8E220074 */ lw $v0, 0x74($s1) +/* 8CE520 802404B0 2442000A */ addiu $v0, $v0, 0xa +/* 8CE524 802404B4 44826000 */ mtc1 $v0, $f12 +/* 8CE528 802404B8 00000000 */ nop +/* 8CE52C 802404BC 0C00A6C9 */ jal clamp_angle +/* 8CE530 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* 8CE534 802404C4 4600020D */ trunc.w.s $f8, $f0 +/* 8CE538 802404C8 E6280074 */ swc1 $f8, 0x74($s1) +.L802404CC: +/* 8CE53C 802404CC 8E220090 */ lw $v0, 0x90($s1) +/* 8CE540 802404D0 1C40004A */ bgtz $v0, .L802405FC +/* 8CE544 802404D4 2442FFFF */ addiu $v0, $v0, -1 +/* 8CE548 802404D8 8E430014 */ lw $v1, 0x14($s2) +/* 8CE54C 802404DC 04600048 */ bltz $v1, .L80240600 +/* 8CE550 802404E0 00000000 */ nop +/* 8CE554 802404E4 8E620074 */ lw $v0, 0x74($s3) +/* 8CE558 802404E8 1C400042 */ bgtz $v0, .L802405F4 +/* 8CE55C 802404EC 2442FFFF */ addiu $v0, $v0, -1 +/* 8CE560 802404F0 AE630074 */ sw $v1, 0x74($s3) +/* 8CE564 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 8CE568 802404F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CE56C 802404FC 44820000 */ mtc1 $v0, $f0 +/* 8CE570 80240500 00000000 */ nop +/* 8CE574 80240504 46800020 */ cvt.s.w $f0, $f0 +/* 8CE578 80240508 46001080 */ add.s $f2, $f2, $f0 +/* 8CE57C 8024050C 3C014024 */ lui $at, 0x4024 +/* 8CE580 80240510 44810800 */ mtc1 $at, $f1 +/* 8CE584 80240514 44800000 */ mtc1 $zero, $f0 +/* 8CE588 80240518 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8CE58C 8024051C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8CE590 80240520 460010A1 */ cvt.d.s $f2, $f2 +/* 8CE594 80240524 46201080 */ add.d $f2, $f2, $f0 +/* 8CE598 80240528 C440002C */ lwc1 $f0, 0x2c($v0) +/* 8CE59C 8024052C 46000021 */ cvt.d.s $f0, $f0 +/* 8CE5A0 80240530 4622003C */ c.lt.d $f0, $f2 +/* 8CE5A4 80240534 00000000 */ nop +/* 8CE5A8 80240538 4500002C */ bc1f .L802405EC +/* 8CE5AC 8024053C 02A0202D */ daddu $a0, $s5, $zero +/* 8CE5B0 80240540 AFA00010 */ sw $zero, 0x10($sp) +/* 8CE5B4 80240544 8E46000C */ lw $a2, 0xc($s2) +/* 8CE5B8 80240548 8E470010 */ lw $a3, 0x10($s2) +/* 8CE5BC 8024054C 0C01242D */ jal func_800490B4 +/* 8CE5C0 80240550 0220282D */ daddu $a1, $s1, $zero +/* 8CE5C4 80240554 10400025 */ beqz $v0, .L802405EC +/* 8CE5C8 80240558 0000202D */ daddu $a0, $zero, $zero +/* 8CE5CC 8024055C 0200282D */ daddu $a1, $s0, $zero +/* 8CE5D0 80240560 0000302D */ daddu $a2, $zero, $zero +/* 8CE5D4 80240564 2412000C */ addiu $s2, $zero, 0xc +/* 8CE5D8 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* 8CE5DC 8024056C 3C013F80 */ lui $at, 0x3f80 +/* 8CE5E0 80240570 44810000 */ mtc1 $at, $f0 +/* 8CE5E4 80240574 3C014000 */ lui $at, 0x4000 +/* 8CE5E8 80240578 44811000 */ mtc1 $at, $f2 +/* 8CE5EC 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8CE5F0 80240580 44812000 */ mtc1 $at, $f4 +/* 8CE5F4 80240584 44834000 */ mtc1 $v1, $f8 +/* 8CE5F8 80240588 00000000 */ nop +/* 8CE5FC 8024058C 46804220 */ cvt.s.w $f8, $f8 +/* 8CE600 80240590 44074000 */ mfc1 $a3, $f8 +/* 8CE604 80240594 27A20038 */ addiu $v0, $sp, 0x38 +/* 8CE608 80240598 AFB2001C */ sw $s2, 0x1c($sp) +/* 8CE60C 8024059C AFA20020 */ sw $v0, 0x20($sp) +/* 8CE610 802405A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8CE614 802405A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8CE618 802405A8 0C01BFA4 */ jal fx_emote +/* 8CE61C 802405AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8CE620 802405B0 0200202D */ daddu $a0, $s0, $zero +/* 8CE624 802405B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8CE628 802405B8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8CE62C 802405BC 3C060020 */ lui $a2, 0x20 +/* 8CE630 802405C0 0C012530 */ jal func_800494C0 +/* 8CE634 802405C4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8CE638 802405C8 8E220018 */ lw $v0, 0x18($s1) +/* 8CE63C 802405CC 9442002A */ lhu $v0, 0x2a($v0) +/* 8CE640 802405D0 30420001 */ andi $v0, $v0, 1 +/* 8CE644 802405D4 10400003 */ beqz $v0, .L802405E4 +/* 8CE648 802405D8 2402000A */ addiu $v0, $zero, 0xa +/* 8CE64C 802405DC 080901E9 */ j .L802407A4 +/* 8CE650 802405E0 AE620070 */ sw $v0, 0x70($s3) +.L802405E4: +/* 8CE654 802405E4 080901E9 */ j .L802407A4 +/* 8CE658 802405E8 AE720070 */ sw $s2, 0x70($s3) +.L802405EC: +/* 8CE65C 802405EC 8E620074 */ lw $v0, 0x74($s3) +/* 8CE660 802405F0 2442FFFF */ addiu $v0, $v0, -1 +.L802405F4: +/* 8CE664 802405F4 08090180 */ j .L80240600 +/* 8CE668 802405F8 AE620074 */ sw $v0, 0x74($s3) +.L802405FC: +/* 8CE66C 802405FC AE220090 */ sw $v0, 0x90($s1) +.L80240600: +/* 8CE670 80240600 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8CE674 80240604 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8CE678 80240608 C4620000 */ lwc1 $f2, ($v1) +/* 8CE67C 8024060C 468010A0 */ cvt.s.w $f2, $f2 +/* 8CE680 80240610 C4640008 */ lwc1 $f4, 8($v1) +/* 8CE684 80240614 46802120 */ cvt.s.w $f4, $f4 +/* 8CE688 80240618 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8CE68C 8024061C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE690 80240620 44051000 */ mfc1 $a1, $f2 +/* 8CE694 80240624 C440000C */ lwc1 $f0, 0xc($v0) +/* 8CE698 80240628 46800020 */ cvt.s.w $f0, $f0 +/* 8CE69C 8024062C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8CE6A0 80240630 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE6A4 80240634 44062000 */ mfc1 $a2, $f4 +/* 8CE6A8 80240638 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8CE6AC 8024063C 46800020 */ cvt.s.w $f0, $f0 +/* 8CE6B0 80240640 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8CE6B4 80240644 8C640018 */ lw $a0, 0x18($v1) +/* 8CE6B8 80240648 0C0123F5 */ jal is_point_within_region +/* 8CE6BC 8024064C 8E070038 */ lw $a3, 0x38($s0) +/* 8CE6C0 80240650 1040001A */ beqz $v0, .L802406BC +/* 8CE6C4 80240654 00000000 */ nop +/* 8CE6C8 80240658 8E060038 */ lw $a2, 0x38($s0) +/* 8CE6CC 8024065C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE6D0 80240660 8E070040 */ lw $a3, 0x40($s0) +/* 8CE6D4 80240664 C44C0000 */ lwc1 $f12, ($v0) +/* 8CE6D8 80240668 46806320 */ cvt.s.w $f12, $f12 +/* 8CE6DC 8024066C C44E0008 */ lwc1 $f14, 8($v0) +/* 8CE6E0 80240670 0C00A7B5 */ jal dist2D +/* 8CE6E4 80240674 468073A0 */ cvt.s.w $f14, $f14 +/* 8CE6E8 80240678 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8CE6EC 8024067C 4600103C */ c.lt.s $f2, $f0 +/* 8CE6F0 80240680 00000000 */ nop +/* 8CE6F4 80240684 4500000D */ bc1f .L802406BC +/* 8CE6F8 80240688 E7A00034 */ swc1 $f0, 0x34($sp) +/* 8CE6FC 8024068C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8CE700 80240690 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE704 80240694 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8CE708 80240698 C4480000 */ lwc1 $f8, ($v0) +/* 8CE70C 8024069C 46804220 */ cvt.s.w $f8, $f8 +/* 8CE710 802406A0 44064000 */ mfc1 $a2, $f8 +/* 8CE714 802406A4 C4480008 */ lwc1 $f8, 8($v0) +/* 8CE718 802406A8 46804220 */ cvt.s.w $f8, $f8 +/* 8CE71C 802406AC 44074000 */ mfc1 $a3, $f8 +/* 8CE720 802406B0 0C00A720 */ jal atan2 +/* 8CE724 802406B4 24140001 */ addiu $s4, $zero, 1 +/* 8CE728 802406B8 E600000C */ swc1 $f0, 0xc($s0) +.L802406BC: +/* 8CE72C 802406BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8CE730 802406C0 8C43000C */ lw $v1, 0xc($v0) +/* 8CE734 802406C4 8C420010 */ lw $v0, 0x10($v0) +/* 8CE738 802406C8 00621825 */ or $v1, $v1, $v0 +/* 8CE73C 802406CC 00741825 */ or $v1, $v1, $s4 +/* 8CE740 802406D0 10600008 */ beqz $v1, .L802406F4 +/* 8CE744 802406D4 00000000 */ nop +/* 8CE748 802406D8 8602008C */ lh $v0, 0x8c($s0) +/* 8CE74C 802406DC 14400031 */ bnez $v0, .L802407A4 +/* 8CE750 802406E0 00000000 */ nop +/* 8CE754 802406E4 8E050018 */ lw $a1, 0x18($s0) +/* 8CE758 802406E8 8E06000C */ lw $a2, 0xc($s0) +/* 8CE75C 802406EC 0C00EA95 */ jal npc_move_heading +/* 8CE760 802406F0 0200202D */ daddu $a0, $s0, $zero +.L802406F4: +/* 8CE764 802406F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CE768 802406F8 3C014059 */ lui $at, 0x4059 +/* 8CE76C 802406FC 44811800 */ mtc1 $at, $f3 +/* 8CE770 80240700 44801000 */ mtc1 $zero, $f2 +/* 8CE774 80240704 46000021 */ cvt.d.s $f0, $f0 +/* 8CE778 80240708 46220002 */ mul.d $f0, $f0, $f2 +/* 8CE77C 8024070C 00000000 */ nop +/* 8CE780 80240710 4620020D */ trunc.w.d $f8, $f0 +/* 8CE784 80240714 E628007C */ swc1 $f8, 0x7c($s1) +/* 8CE788 80240718 8E420004 */ lw $v0, 4($s2) +/* 8CE78C 8024071C 18400021 */ blez $v0, .L802407A4 +/* 8CE790 80240720 00000000 */ nop +/* 8CE794 80240724 8602008E */ lh $v0, 0x8e($s0) +/* 8CE798 80240728 9603008E */ lhu $v1, 0x8e($s0) +/* 8CE79C 8024072C 18400005 */ blez $v0, .L80240744 +/* 8CE7A0 80240730 2462FFFF */ addiu $v0, $v1, -1 +/* 8CE7A4 80240734 A602008E */ sh $v0, 0x8e($s0) +/* 8CE7A8 80240738 00021400 */ sll $v0, $v0, 0x10 +/* 8CE7AC 8024073C 1C400019 */ bgtz $v0, .L802407A4 +/* 8CE7B0 80240740 00000000 */ nop +.L80240744: +/* 8CE7B4 80240744 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8CE7B8 80240748 24020002 */ addiu $v0, $zero, 2 +/* 8CE7BC 8024074C 0C00A67F */ jal rand_int +/* 8CE7C0 80240750 AE620070 */ sw $v0, 0x70($s3) +/* 8CE7C4 80240754 3C035555 */ lui $v1, 0x5555 +/* 8CE7C8 80240758 34635556 */ ori $v1, $v1, 0x5556 +/* 8CE7CC 8024075C 00430018 */ mult $v0, $v1 +/* 8CE7D0 80240760 000227C3 */ sra $a0, $v0, 0x1f +/* 8CE7D4 80240764 00004010 */ mfhi $t0 +/* 8CE7D8 80240768 01042023 */ subu $a0, $t0, $a0 +/* 8CE7DC 8024076C 00041840 */ sll $v1, $a0, 1 +/* 8CE7E0 80240770 00641821 */ addu $v1, $v1, $a0 +/* 8CE7E4 80240774 00431023 */ subu $v0, $v0, $v1 +/* 8CE7E8 80240778 24430002 */ addiu $v1, $v0, 2 +/* 8CE7EC 8024077C AE630074 */ sw $v1, 0x74($s3) +/* 8CE7F0 80240780 8E42002C */ lw $v0, 0x2c($s2) +/* 8CE7F4 80240784 58400007 */ blezl $v0, .L802407A4 +/* 8CE7F8 80240788 AE600070 */ sw $zero, 0x70($s3) +/* 8CE7FC 8024078C 8E420008 */ lw $v0, 8($s2) +/* 8CE800 80240790 18400003 */ blez $v0, .L802407A0 +/* 8CE804 80240794 28620003 */ slti $v0, $v1, 3 +/* 8CE808 80240798 10400002 */ beqz $v0, .L802407A4 +/* 8CE80C 8024079C 00000000 */ nop +.L802407A0: +/* 8CE810 802407A0 AE600070 */ sw $zero, 0x70($s3) +.L802407A4: +/* 8CE814 802407A4 8FBF0058 */ lw $ra, 0x58($sp) +/* 8CE818 802407A8 8FB50054 */ lw $s5, 0x54($sp) +/* 8CE81C 802407AC 8FB40050 */ lw $s4, 0x50($sp) +/* 8CE820 802407B0 8FB3004C */ lw $s3, 0x4c($sp) +/* 8CE824 802407B4 8FB20048 */ lw $s2, 0x48($sp) +/* 8CE828 802407B8 8FB10044 */ lw $s1, 0x44($sp) +/* 8CE82C 802407BC 8FB00040 */ lw $s0, 0x40($sp) +/* 8CE830 802407C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8CE834 802407C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8CE838 802407C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8CE83C 802407CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8CE840 802407D0 03E00008 */ jr $ra +/* 8CE844 802407D4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_802407D8.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_802407D8.s new file mode 100644 index 0000000000..686c38265f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_802407D8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D8 +/* 8CE848 802407D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8CE84C 802407DC AFB3001C */ sw $s3, 0x1c($sp) +/* 8CE850 802407E0 0080982D */ daddu $s3, $a0, $zero +/* 8CE854 802407E4 AFBF0020 */ sw $ra, 0x20($sp) +/* 8CE858 802407E8 AFB20018 */ sw $s2, 0x18($sp) +/* 8CE85C 802407EC AFB10014 */ sw $s1, 0x14($sp) +/* 8CE860 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* 8CE864 802407F4 8E720148 */ lw $s2, 0x148($s3) +/* 8CE868 802407F8 86440008 */ lh $a0, 8($s2) +/* 8CE86C 802407FC 0C00EABB */ jal get_npc_unsafe +/* 8CE870 80240800 00A0882D */ daddu $s1, $a1, $zero +/* 8CE874 80240804 8E240008 */ lw $a0, 8($s1) +/* 8CE878 80240808 0040802D */ daddu $s0, $v0, $zero +/* 8CE87C 8024080C 00041FC2 */ srl $v1, $a0, 0x1f +/* 8CE880 80240810 00832021 */ addu $a0, $a0, $v1 +/* 8CE884 80240814 00042043 */ sra $a0, $a0, 1 +/* 8CE888 80240818 0C00A67F */ jal rand_int +/* 8CE88C 8024081C 24840001 */ addiu $a0, $a0, 1 +/* 8CE890 80240820 8E230008 */ lw $v1, 8($s1) +/* 8CE894 80240824 240400B4 */ addiu $a0, $zero, 0xb4 +/* 8CE898 80240828 00032FC2 */ srl $a1, $v1, 0x1f +/* 8CE89C 8024082C 00651821 */ addu $v1, $v1, $a1 +/* 8CE8A0 80240830 00031843 */ sra $v1, $v1, 1 +/* 8CE8A4 80240834 00621821 */ addu $v1, $v1, $v0 +/* 8CE8A8 80240838 0C00A67F */ jal rand_int +/* 8CE8AC 8024083C A603008E */ sh $v1, 0x8e($s0) +/* 8CE8B0 80240840 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8CE8B4 80240844 44820000 */ mtc1 $v0, $f0 +/* 8CE8B8 80240848 00000000 */ nop +/* 8CE8BC 8024084C 46800020 */ cvt.s.w $f0, $f0 +/* 8CE8C0 80240850 46006300 */ add.s $f12, $f12, $f0 +/* 8CE8C4 80240854 3C0142B4 */ lui $at, 0x42b4 +/* 8CE8C8 80240858 44810000 */ mtc1 $at, $f0 +/* 8CE8CC 8024085C 0C00A6C9 */ jal clamp_angle +/* 8CE8D0 80240860 46006301 */ sub.s $f12, $f12, $f0 +/* 8CE8D4 80240864 E600000C */ swc1 $f0, 0xc($s0) +/* 8CE8D8 80240868 8E4200CC */ lw $v0, 0xcc($s2) +/* 8CE8DC 8024086C 8C420000 */ lw $v0, ($v0) +/* 8CE8E0 80240870 AE020028 */ sw $v0, 0x28($s0) +/* 8CE8E4 80240874 24020003 */ addiu $v0, $zero, 3 +/* 8CE8E8 80240878 AE620070 */ sw $v0, 0x70($s3) +/* 8CE8EC 8024087C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8CE8F0 80240880 8FB3001C */ lw $s3, 0x1c($sp) +/* 8CE8F4 80240884 8FB20018 */ lw $s2, 0x18($sp) +/* 8CE8F8 80240888 8FB10014 */ lw $s1, 0x14($sp) +/* 8CE8FC 8024088C 8FB00010 */ lw $s0, 0x10($sp) +/* 8CE900 80240890 03E00008 */ jr $ra +/* 8CE904 80240894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240898.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240898.s new file mode 100644 index 0000000000..f87b7eac8e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240898.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898 +/* 8CE908 80240898 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 8CE90C 8024089C AFB3004C */ sw $s3, 0x4c($sp) +/* 8CE910 802408A0 0080982D */ daddu $s3, $a0, $zero +/* 8CE914 802408A4 AFBF0054 */ sw $ra, 0x54($sp) +/* 8CE918 802408A8 AFB40050 */ sw $s4, 0x50($sp) +/* 8CE91C 802408AC AFB20048 */ sw $s2, 0x48($sp) +/* 8CE920 802408B0 AFB10044 */ sw $s1, 0x44($sp) +/* 8CE924 802408B4 AFB00040 */ sw $s0, 0x40($sp) +/* 8CE928 802408B8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 8CE92C 802408BC F7B80068 */ sdc1 $f24, 0x68($sp) +/* 8CE930 802408C0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 8CE934 802408C4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 8CE938 802408C8 8E710148 */ lw $s1, 0x148($s3) +/* 8CE93C 802408CC 00A0902D */ daddu $s2, $a1, $zero +/* 8CE940 802408D0 86240008 */ lh $a0, 8($s1) +/* 8CE944 802408D4 0C00EABB */ jal get_npc_unsafe +/* 8CE948 802408D8 00C0A02D */ daddu $s4, $a2, $zero +/* 8CE94C 802408DC 0040802D */ daddu $s0, $v0, $zero +/* 8CE950 802408E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8CE954 802408E4 46800020 */ cvt.s.w $f0, $f0 +/* 8CE958 802408E8 46000021 */ cvt.d.s $f0, $f0 +/* 8CE95C 802408EC 3C014059 */ lui $at, 0x4059 +/* 8CE960 802408F0 44811800 */ mtc1 $at, $f3 +/* 8CE964 802408F4 44801000 */ mtc1 $zero, $f2 +/* 8CE968 802408F8 8602008E */ lh $v0, 0x8e($s0) +/* 8CE96C 802408FC 9603008E */ lhu $v1, 0x8e($s0) +/* 8CE970 80240900 46220003 */ div.d $f0, $f0, $f2 +/* 8CE974 80240904 46200620 */ cvt.s.d $f24, $f0 +/* 8CE978 80240908 C6200088 */ lwc1 $f0, 0x88($s1) +/* 8CE97C 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* 8CE980 80240910 46000021 */ cvt.d.s $f0, $f0 +/* 8CE984 80240914 46220003 */ div.d $f0, $f0, $f2 +/* 8CE988 80240918 46200020 */ cvt.s.d $f0, $f0 +/* 8CE98C 8024091C 18400003 */ blez $v0, .L8024092C +/* 8CE990 80240920 4600C680 */ add.s $f26, $f24, $f0 +/* 8CE994 80240924 2462FFFF */ addiu $v0, $v1, -1 +/* 8CE998 80240928 A602008E */ sh $v0, 0x8e($s0) +.L8024092C: +/* 8CE99C 8024092C 8E220070 */ lw $v0, 0x70($s1) +/* 8CE9A0 80240930 18400034 */ blez $v0, .L80240A04 +/* 8CE9A4 80240934 00000000 */ nop +/* 8CE9A8 80240938 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8CE9AC 8024093C 46806320 */ cvt.s.w $f12, $f12 +/* 8CE9B0 80240940 44820000 */ mtc1 $v0, $f0 +/* 8CE9B4 80240944 00000000 */ nop +/* 8CE9B8 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 8CE9BC 8024094C 46000021 */ cvt.d.s $f0, $f0 +/* 8CE9C0 80240950 46220003 */ div.d $f0, $f0, $f2 +/* 8CE9C4 80240954 0C00A8BB */ jal sin_deg +/* 8CE9C8 80240958 462005A0 */ cvt.s.d $f22, $f0 +/* 8CE9CC 8024095C 8E020000 */ lw $v0, ($s0) +/* 8CE9D0 80240960 30420008 */ andi $v0, $v0, 8 +/* 8CE9D4 80240964 10400003 */ beqz $v0, .L80240974 +/* 8CE9D8 80240968 46000506 */ mov.s $f20, $f0 +/* 8CE9DC 8024096C 0809026D */ j .L802409B4 +/* 8CE9E0 80240970 0000102D */ daddu $v0, $zero, $zero +.L80240974: +/* 8CE9E4 80240974 27A50028 */ addiu $a1, $sp, 0x28 +/* 8CE9E8 80240978 27A6002C */ addiu $a2, $sp, 0x2c +/* 8CE9EC 8024097C C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CE9F0 80240980 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CE9F4 80240984 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8CE9F8 80240988 3C01447A */ lui $at, 0x447a +/* 8CE9FC 8024098C 44813000 */ mtc1 $at, $f6 +/* 8CEA00 80240990 27A20034 */ addiu $v0, $sp, 0x34 +/* 8CEA04 80240994 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8CEA08 80240998 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8CEA0C 8024099C E7A40030 */ swc1 $f4, 0x30($sp) +/* 8CEA10 802409A0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8CEA14 802409A4 AFA20010 */ sw $v0, 0x10($sp) +/* 8CEA18 802409A8 8E040080 */ lw $a0, 0x80($s0) +/* 8CEA1C 802409AC 0C0372DF */ jal func_800DCB7C +/* 8CEA20 802409B0 27A70030 */ addiu $a3, $sp, 0x30 +.L802409B4: +/* 8CEA24 802409B4 10400007 */ beqz $v0, .L802409D4 +/* 8CEA28 802409B8 00000000 */ nop +/* 8CEA2C 802409BC 4616A082 */ mul.s $f2, $f20, $f22 +/* 8CEA30 802409C0 00000000 */ nop +/* 8CEA34 802409C4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8CEA38 802409C8 46180000 */ add.s $f0, $f0, $f24 +/* 8CEA3C 802409CC 08090278 */ j .L802409E0 +/* 8CEA40 802409D0 46020000 */ add.s $f0, $f0, $f2 +.L802409D4: +/* 8CEA44 802409D4 4616A002 */ mul.s $f0, $f20, $f22 +/* 8CEA48 802409D8 00000000 */ nop +/* 8CEA4C 802409DC 4600D000 */ add.s $f0, $f26, $f0 +.L802409E0: +/* 8CEA50 802409E0 E600003C */ swc1 $f0, 0x3c($s0) +/* 8CEA54 802409E4 8E220074 */ lw $v0, 0x74($s1) +/* 8CEA58 802409E8 2442000A */ addiu $v0, $v0, 0xa +/* 8CEA5C 802409EC 44826000 */ mtc1 $v0, $f12 +/* 8CEA60 802409F0 00000000 */ nop +/* 8CEA64 802409F4 0C00A6C9 */ jal clamp_angle +/* 8CEA68 802409F8 46806320 */ cvt.s.w $f12, $f12 +/* 8CEA6C 802409FC 4600020D */ trunc.w.s $f8, $f0 +/* 8CEA70 80240A00 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A04: +/* 8CEA74 80240A04 8E220090 */ lw $v0, 0x90($s1) +/* 8CEA78 80240A08 1C400040 */ bgtz $v0, .L80240B0C +/* 8CEA7C 80240A0C 2442FFFF */ addiu $v0, $v0, -1 +/* 8CEA80 80240A10 860200A8 */ lh $v0, 0xa8($s0) +/* 8CEA84 80240A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CEA88 80240A18 44821000 */ mtc1 $v0, $f2 +/* 8CEA8C 80240A1C 00000000 */ nop +/* 8CEA90 80240A20 468010A0 */ cvt.s.w $f2, $f2 +/* 8CEA94 80240A24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8CEA98 80240A28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8CEA9C 80240A2C 46020000 */ add.s $f0, $f0, $f2 +/* 8CEAA0 80240A30 3C014024 */ lui $at, 0x4024 +/* 8CEAA4 80240A34 44812800 */ mtc1 $at, $f5 +/* 8CEAA8 80240A38 44802000 */ mtc1 $zero, $f4 +/* 8CEAAC 80240A3C C442002C */ lwc1 $f2, 0x2c($v0) +/* 8CEAB0 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* 8CEAB4 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 8CEAB8 80240A48 460010A1 */ cvt.d.s $f2, $f2 +/* 8CEABC 80240A4C 4620103C */ c.lt.d $f2, $f0 +/* 8CEAC0 80240A50 00000000 */ nop +/* 8CEAC4 80240A54 4500002E */ bc1f .L80240B10 +/* 8CEAC8 80240A58 0280202D */ daddu $a0, $s4, $zero +/* 8CEACC 80240A5C 24020001 */ addiu $v0, $zero, 1 +/* 8CEAD0 80240A60 AFA20010 */ sw $v0, 0x10($sp) +/* 8CEAD4 80240A64 8E460024 */ lw $a2, 0x24($s2) +/* 8CEAD8 80240A68 8E470028 */ lw $a3, 0x28($s2) +/* 8CEADC 80240A6C 0C01242D */ jal func_800490B4 +/* 8CEAE0 80240A70 0220282D */ daddu $a1, $s1, $zero +/* 8CEAE4 80240A74 10400026 */ beqz $v0, .L80240B10 +/* 8CEAE8 80240A78 0000202D */ daddu $a0, $zero, $zero +/* 8CEAEC 80240A7C 0200282D */ daddu $a1, $s0, $zero +/* 8CEAF0 80240A80 0000302D */ daddu $a2, $zero, $zero +/* 8CEAF4 80240A84 2412000C */ addiu $s2, $zero, 0xc +/* 8CEAF8 80240A88 860300A8 */ lh $v1, 0xa8($s0) +/* 8CEAFC 80240A8C 3C013F80 */ lui $at, 0x3f80 +/* 8CEB00 80240A90 44810000 */ mtc1 $at, $f0 +/* 8CEB04 80240A94 3C014000 */ lui $at, 0x4000 +/* 8CEB08 80240A98 44811000 */ mtc1 $at, $f2 +/* 8CEB0C 80240A9C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8CEB10 80240AA0 44812000 */ mtc1 $at, $f4 +/* 8CEB14 80240AA4 44834000 */ mtc1 $v1, $f8 +/* 8CEB18 80240AA8 00000000 */ nop +/* 8CEB1C 80240AAC 46804220 */ cvt.s.w $f8, $f8 +/* 8CEB20 80240AB0 44074000 */ mfc1 $a3, $f8 +/* 8CEB24 80240AB4 27A20038 */ addiu $v0, $sp, 0x38 +/* 8CEB28 80240AB8 AFB2001C */ sw $s2, 0x1c($sp) +/* 8CEB2C 80240ABC AFA20020 */ sw $v0, 0x20($sp) +/* 8CEB30 80240AC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8CEB34 80240AC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8CEB38 80240AC8 0C01BFA4 */ jal fx_emote +/* 8CEB3C 80240ACC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8CEB40 80240AD0 0200202D */ daddu $a0, $s0, $zero +/* 8CEB44 80240AD4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8CEB48 80240AD8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8CEB4C 80240ADC 3C060020 */ lui $a2, 0x20 +/* 8CEB50 80240AE0 0C012530 */ jal func_800494C0 +/* 8CEB54 80240AE4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8CEB58 80240AE8 8E220018 */ lw $v0, 0x18($s1) +/* 8CEB5C 80240AEC 9442002A */ lhu $v0, 0x2a($v0) +/* 8CEB60 80240AF0 30420001 */ andi $v0, $v0, 1 +/* 8CEB64 80240AF4 10400003 */ beqz $v0, .L80240B04 +/* 8CEB68 80240AF8 2402000A */ addiu $v0, $zero, 0xa +/* 8CEB6C 80240AFC 080902EB */ j .L80240BAC +/* 8CEB70 80240B00 AE620070 */ sw $v0, 0x70($s3) +.L80240B04: +/* 8CEB74 80240B04 080902EB */ j .L80240BAC +/* 8CEB78 80240B08 AE720070 */ sw $s2, 0x70($s3) +.L80240B0C: +/* 8CEB7C 80240B0C AE220090 */ sw $v0, 0x90($s1) +.L80240B10: +/* 8CEB80 80240B10 8602008C */ lh $v0, 0x8c($s0) +/* 8CEB84 80240B14 14400025 */ bnez $v0, .L80240BAC +/* 8CEB88 80240B18 00000000 */ nop +/* 8CEB8C 80240B1C 8602008E */ lh $v0, 0x8e($s0) +/* 8CEB90 80240B20 1C400022 */ bgtz $v0, .L80240BAC +/* 8CEB94 80240B24 00000000 */ nop +/* 8CEB98 80240B28 8E620074 */ lw $v0, 0x74($s3) +/* 8CEB9C 80240B2C 2442FFFF */ addiu $v0, $v0, -1 +/* 8CEBA0 80240B30 1840001D */ blez $v0, .L80240BA8 +/* 8CEBA4 80240B34 AE620074 */ sw $v0, 0x74($s3) +/* 8CEBA8 80240B38 8E220018 */ lw $v0, 0x18($s1) +/* 8CEBAC 80240B3C 9442002A */ lhu $v0, 0x2a($v0) +/* 8CEBB0 80240B40 30420010 */ andi $v0, $v0, 0x10 +/* 8CEBB4 80240B44 14400007 */ bnez $v0, .L80240B64 +/* 8CEBB8 80240B48 00000000 */ nop +/* 8CEBBC 80240B4C C600000C */ lwc1 $f0, 0xc($s0) +/* 8CEBC0 80240B50 3C014334 */ lui $at, 0x4334 +/* 8CEBC4 80240B54 44816000 */ mtc1 $at, $f12 +/* 8CEBC8 80240B58 0C00A6C9 */ jal clamp_angle +/* 8CEBCC 80240B5C 460C0300 */ add.s $f12, $f0, $f12 +/* 8CEBD0 80240B60 E600000C */ swc1 $f0, 0xc($s0) +.L80240B64: +/* 8CEBD4 80240B64 0C00A67F */ jal rand_int +/* 8CEBD8 80240B68 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8CEBDC 80240B6C 3C032E8B */ lui $v1, 0x2e8b +/* 8CEBE0 80240B70 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 8CEBE4 80240B74 00430018 */ mult $v0, $v1 +/* 8CEBE8 80240B78 00021FC3 */ sra $v1, $v0, 0x1f +/* 8CEBEC 80240B7C 00004010 */ mfhi $t0 +/* 8CEBF0 80240B80 00082043 */ sra $a0, $t0, 1 +/* 8CEBF4 80240B84 00832023 */ subu $a0, $a0, $v1 +/* 8CEBF8 80240B88 00041840 */ sll $v1, $a0, 1 +/* 8CEBFC 80240B8C 00641821 */ addu $v1, $v1, $a0 +/* 8CEC00 80240B90 00031880 */ sll $v1, $v1, 2 +/* 8CEC04 80240B94 00641823 */ subu $v1, $v1, $a0 +/* 8CEC08 80240B98 00431023 */ subu $v0, $v0, $v1 +/* 8CEC0C 80240B9C 24420005 */ addiu $v0, $v0, 5 +/* 8CEC10 80240BA0 080902EB */ j .L80240BAC +/* 8CEC14 80240BA4 A602008E */ sh $v0, 0x8e($s0) +.L80240BA8: +/* 8CEC18 80240BA8 AE600070 */ sw $zero, 0x70($s3) +.L80240BAC: +/* 8CEC1C 80240BAC 8FBF0054 */ lw $ra, 0x54($sp) +/* 8CEC20 80240BB0 8FB40050 */ lw $s4, 0x50($sp) +/* 8CEC24 80240BB4 8FB3004C */ lw $s3, 0x4c($sp) +/* 8CEC28 80240BB8 8FB20048 */ lw $s2, 0x48($sp) +/* 8CEC2C 80240BBC 8FB10044 */ lw $s1, 0x44($sp) +/* 8CEC30 80240BC0 8FB00040 */ lw $s0, 0x40($sp) +/* 8CEC34 80240BC4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 8CEC38 80240BC8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* 8CEC3C 80240BCC D7B60060 */ ldc1 $f22, 0x60($sp) +/* 8CEC40 80240BD0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 8CEC44 80240BD4 03E00008 */ jr $ra +/* 8CEC48 80240BD8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240BDC.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240BDC.s new file mode 100644 index 0000000000..4c9e1d9e25 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240BDC.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BDC +/* 8CEC4C 80240BDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8CEC50 80240BE0 AFB20018 */ sw $s2, 0x18($sp) +/* 8CEC54 80240BE4 0080902D */ daddu $s2, $a0, $zero +/* 8CEC58 80240BE8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8CEC5C 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* 8CEC60 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* 8CEC64 80240BF4 8E510148 */ lw $s1, 0x148($s2) +/* 8CEC68 80240BF8 0C00EABB */ jal get_npc_unsafe +/* 8CEC6C 80240BFC 86240008 */ lh $a0, 8($s1) +/* 8CEC70 80240C00 0040802D */ daddu $s0, $v0, $zero +/* 8CEC74 80240C04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8CEC78 80240C08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8CEC7C 80240C0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8CEC80 80240C10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8CEC84 80240C14 A600008E */ sh $zero, 0x8e($s0) +/* 8CEC88 80240C18 8C460028 */ lw $a2, 0x28($v0) +/* 8CEC8C 80240C1C 0C00A720 */ jal atan2 +/* 8CEC90 80240C20 8C470030 */ lw $a3, 0x30($v0) +/* 8CEC94 80240C24 E600000C */ swc1 $f0, 0xc($s0) +/* 8CEC98 80240C28 8E2200CC */ lw $v0, 0xcc($s1) +/* 8CEC9C 80240C2C 8C420020 */ lw $v0, 0x20($v0) +/* 8CECA0 80240C30 AE020028 */ sw $v0, 0x28($s0) +/* 8CECA4 80240C34 2402000B */ addiu $v0, $zero, 0xb +/* 8CECA8 80240C38 AE420070 */ sw $v0, 0x70($s2) +/* 8CECAC 80240C3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8CECB0 80240C40 8FB20018 */ lw $s2, 0x18($sp) +/* 8CECB4 80240C44 8FB10014 */ lw $s1, 0x14($sp) +/* 8CECB8 80240C48 8FB00010 */ lw $s0, 0x10($sp) +/* 8CECBC 80240C4C 03E00008 */ jr $ra +/* 8CECC0 80240C50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240C54.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240C54.s new file mode 100644 index 0000000000..4a4da4152a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240C54.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C54 +/* 8CECC4 80240C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CECC8 80240C58 AFB00010 */ sw $s0, 0x10($sp) +/* 8CECCC 80240C5C 0080802D */ daddu $s0, $a0, $zero +/* 8CECD0 80240C60 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CECD4 80240C64 8E020148 */ lw $v0, 0x148($s0) +/* 8CECD8 80240C68 0C00EABB */ jal get_npc_unsafe +/* 8CECDC 80240C6C 84440008 */ lh $a0, 8($v0) +/* 8CECE0 80240C70 9443008E */ lhu $v1, 0x8e($v0) +/* 8CECE4 80240C74 C440003C */ lwc1 $f0, 0x3c($v0) +/* 8CECE8 80240C78 24640001 */ addiu $a0, $v1, 1 +/* 8CECEC 80240C7C 00031C00 */ sll $v1, $v1, 0x10 +/* 8CECF0 80240C80 00031B83 */ sra $v1, $v1, 0xe +/* 8CECF4 80240C84 A444008E */ sh $a0, 0x8e($v0) +/* 8CECF8 80240C88 3C018024 */ lui $at, 0x8024 +/* 8CECFC 80240C8C 00230821 */ addu $at, $at, $v1 +/* 8CED00 80240C90 C4221B2C */ lwc1 $f2, 0x1b2c($at) +/* 8CED04 80240C94 8443008E */ lh $v1, 0x8e($v0) +/* 8CED08 80240C98 46020000 */ add.s $f0, $f0, $f2 +/* 8CED0C 80240C9C 28630005 */ slti $v1, $v1, 5 +/* 8CED10 80240CA0 14600003 */ bnez $v1, .L80240CB0 +/* 8CED14 80240CA4 E440003C */ swc1 $f0, 0x3c($v0) +/* 8CED18 80240CA8 2402000C */ addiu $v0, $zero, 0xc +/* 8CED1C 80240CAC AE020070 */ sw $v0, 0x70($s0) +.L80240CB0: +/* 8CED20 80240CB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CED24 80240CB4 8FB00010 */ lw $s0, 0x10($sp) +/* 8CED28 80240CB8 03E00008 */ jr $ra +/* 8CED2C 80240CBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240CC0.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240CC0.s new file mode 100644 index 0000000000..c799236916 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240CC0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0 +/* 8CED30 80240CC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8CED34 80240CC4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8CED38 80240CC8 0080982D */ daddu $s3, $a0, $zero +/* 8CED3C 80240CCC AFBF0020 */ sw $ra, 0x20($sp) +/* 8CED40 80240CD0 AFB20018 */ sw $s2, 0x18($sp) +/* 8CED44 80240CD4 AFB10014 */ sw $s1, 0x14($sp) +/* 8CED48 80240CD8 AFB00010 */ sw $s0, 0x10($sp) +/* 8CED4C 80240CDC 8E720148 */ lw $s2, 0x148($s3) +/* 8CED50 80240CE0 86440008 */ lh $a0, 8($s2) +/* 8CED54 80240CE4 0C00EABB */ jal get_npc_unsafe +/* 8CED58 80240CE8 00A0802D */ daddu $s0, $a1, $zero +/* 8CED5C 80240CEC 0040882D */ daddu $s1, $v0, $zero +/* 8CED60 80240CF0 C6420080 */ lwc1 $f2, 0x80($s2) +/* 8CED64 80240CF4 468010A0 */ cvt.s.w $f2, $f2 +/* 8CED68 80240CF8 460010A1 */ cvt.d.s $f2, $f2 +/* 8CED6C 80240CFC C6400084 */ lwc1 $f0, 0x84($s2) +/* 8CED70 80240D00 46800020 */ cvt.s.w $f0, $f0 +/* 8CED74 80240D04 46000021 */ cvt.d.s $f0, $f0 +/* 8CED78 80240D08 3C014059 */ lui $at, 0x4059 +/* 8CED7C 80240D0C 44812800 */ mtc1 $at, $f5 +/* 8CED80 80240D10 44802000 */ mtc1 $zero, $f4 +/* 8CED84 80240D14 8E4200CC */ lw $v0, 0xcc($s2) +/* 8CED88 80240D18 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8CED8C 80240D1C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8CED90 80240D20 46241083 */ div.d $f2, $f2, $f4 +/* 8CED94 80240D24 462010A0 */ cvt.s.d $f2, $f2 +/* 8CED98 80240D28 46240003 */ div.d $f0, $f0, $f4 +/* 8CED9C 80240D2C 8C420020 */ lw $v0, 0x20($v0) +/* 8CEDA0 80240D30 46200020 */ cvt.s.d $f0, $f0 +/* 8CEDA4 80240D34 E622001C */ swc1 $f2, 0x1c($s1) +/* 8CEDA8 80240D38 E6200014 */ swc1 $f0, 0x14($s1) +/* 8CEDAC 80240D3C AE220028 */ sw $v0, 0x28($s1) +/* 8CEDB0 80240D40 C6000018 */ lwc1 $f0, 0x18($s0) +/* 8CEDB4 80240D44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8CEDB8 80240D48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8CEDBC 80240D4C E6200018 */ swc1 $f0, 0x18($s1) +/* 8CEDC0 80240D50 8C460028 */ lw $a2, 0x28($v0) +/* 8CEDC4 80240D54 0C00A720 */ jal atan2 +/* 8CEDC8 80240D58 8C470030 */ lw $a3, 0x30($v0) +/* 8CEDCC 80240D5C E620000C */ swc1 $f0, 0xc($s1) +/* 8CEDD0 80240D60 8E420018 */ lw $v0, 0x18($s2) +/* 8CEDD4 80240D64 AE400074 */ sw $zero, 0x74($s2) +/* 8CEDD8 80240D68 9442002A */ lhu $v0, 0x2a($v0) +/* 8CEDDC 80240D6C 30420002 */ andi $v0, $v0, 2 +/* 8CEDE0 80240D70 10400005 */ beqz $v0, .L80240D88 +/* 8CEDE4 80240D74 24020003 */ addiu $v0, $zero, 3 +/* 8CEDE8 80240D78 A622008E */ sh $v0, 0x8e($s1) +/* 8CEDEC 80240D7C 2402000D */ addiu $v0, $zero, 0xd +/* 8CEDF0 80240D80 08090376 */ j .L80240DD8 +/* 8CEDF4 80240D84 AE620070 */ sw $v0, 0x70($s3) +.L80240D88: +/* 8CEDF8 80240D88 24030001 */ addiu $v1, $zero, 1 +/* 8CEDFC 80240D8C 2402000E */ addiu $v0, $zero, 0xe +/* 8CEE00 80240D90 A623008E */ sh $v1, 0x8e($s1) +/* 8CEE04 80240D94 AE620070 */ sw $v0, 0x70($s3) +/* 8CEE08 80240D98 C6200038 */ lwc1 $f0, 0x38($s1) +/* 8CEE0C 80240D9C 4600018D */ trunc.w.s $f6, $f0 +/* 8CEE10 80240DA0 44023000 */ mfc1 $v0, $f6 +/* 8CEE14 80240DA4 00000000 */ nop +/* 8CEE18 80240DA8 A6420010 */ sh $v0, 0x10($s2) +/* 8CEE1C 80240DAC C620003C */ lwc1 $f0, 0x3c($s1) +/* 8CEE20 80240DB0 4600018D */ trunc.w.s $f6, $f0 +/* 8CEE24 80240DB4 44023000 */ mfc1 $v0, $f6 +/* 8CEE28 80240DB8 00000000 */ nop +/* 8CEE2C 80240DBC A6420012 */ sh $v0, 0x12($s2) +/* 8CEE30 80240DC0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 8CEE34 80240DC4 A2430007 */ sb $v1, 7($s2) +/* 8CEE38 80240DC8 4600018D */ trunc.w.s $f6, $f0 +/* 8CEE3C 80240DCC 44023000 */ mfc1 $v0, $f6 +/* 8CEE40 80240DD0 00000000 */ nop +/* 8CEE44 80240DD4 A6420014 */ sh $v0, 0x14($s2) +.L80240DD8: +/* 8CEE48 80240DD8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8CEE4C 80240DDC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8CEE50 80240DE0 8FB20018 */ lw $s2, 0x18($sp) +/* 8CEE54 80240DE4 8FB10014 */ lw $s1, 0x14($sp) +/* 8CEE58 80240DE8 8FB00010 */ lw $s0, 0x10($sp) +/* 8CEE5C 80240DEC 03E00008 */ jr $ra +/* 8CEE60 80240DF0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240DF4.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240DF4.s new file mode 100644 index 0000000000..d6029a516d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240DF4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF4 +/* 8CEE64 80240DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CEE68 80240DF8 AFB00010 */ sw $s0, 0x10($sp) +/* 8CEE6C 80240DFC 0080802D */ daddu $s0, $a0, $zero +/* 8CEE70 80240E00 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CEE74 80240E04 8E020148 */ lw $v0, 0x148($s0) +/* 8CEE78 80240E08 0C00EABB */ jal get_npc_unsafe +/* 8CEE7C 80240E0C 84440008 */ lh $a0, 8($v0) +/* 8CEE80 80240E10 0040202D */ daddu $a0, $v0, $zero +/* 8CEE84 80240E14 8482008E */ lh $v0, 0x8e($a0) +/* 8CEE88 80240E18 9483008E */ lhu $v1, 0x8e($a0) +/* 8CEE8C 80240E1C 18400005 */ blez $v0, .L80240E34 +/* 8CEE90 80240E20 2462FFFF */ addiu $v0, $v1, -1 +/* 8CEE94 80240E24 A482008E */ sh $v0, 0x8e($a0) +/* 8CEE98 80240E28 00021400 */ sll $v0, $v0, 0x10 +/* 8CEE9C 80240E2C 1C400006 */ bgtz $v0, .L80240E48 +/* 8CEEA0 80240E30 00000000 */ nop +.L80240E34: +/* 8CEEA4 80240E34 8482008C */ lh $v0, 0x8c($a0) +/* 8CEEA8 80240E38 14400003 */ bnez $v0, .L80240E48 +/* 8CEEAC 80240E3C 2402000E */ addiu $v0, $zero, 0xe +/* 8CEEB0 80240E40 A480008E */ sh $zero, 0x8e($a0) +/* 8CEEB4 80240E44 AE020070 */ sw $v0, 0x70($s0) +.L80240E48: +/* 8CEEB8 80240E48 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CEEBC 80240E4C 8FB00010 */ lw $s0, 0x10($sp) +/* 8CEEC0 80240E50 03E00008 */ jr $ra +/* 8CEEC4 80240E54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80240E58.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240E58.s new file mode 100644 index 0000000000..1842e2d29a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80240E58.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E58 +/* 8CEEC8 80240E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8CEECC 80240E5C AFB20030 */ sw $s2, 0x30($sp) +/* 8CEED0 80240E60 0080902D */ daddu $s2, $a0, $zero +/* 8CEED4 80240E64 AFBF0038 */ sw $ra, 0x38($sp) +/* 8CEED8 80240E68 AFB30034 */ sw $s3, 0x34($sp) +/* 8CEEDC 80240E6C AFB1002C */ sw $s1, 0x2c($sp) +/* 8CEEE0 80240E70 AFB00028 */ sw $s0, 0x28($sp) +/* 8CEEE4 80240E74 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 8CEEE8 80240E78 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 8CEEEC 80240E7C 8E510148 */ lw $s1, 0x148($s2) +/* 8CEEF0 80240E80 86240008 */ lh $a0, 8($s1) +/* 8CEEF4 80240E84 0C00EABB */ jal get_npc_unsafe +/* 8CEEF8 80240E88 00A0982D */ daddu $s3, $a1, $zero +/* 8CEEFC 80240E8C 0040802D */ daddu $s0, $v0, $zero +/* 8CEF00 80240E90 0200202D */ daddu $a0, $s0, $zero +/* 8CEF04 80240E94 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8CEF08 80240E98 468010A0 */ cvt.s.w $f2, $f2 +/* 8CEF0C 80240E9C 460010A1 */ cvt.d.s $f2, $f2 +/* 8CEF10 80240EA0 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8CEF14 80240EA4 C6000014 */ lwc1 $f0, 0x14($s0) +/* 8CEF18 80240EA8 8E050018 */ lw $a1, 0x18($s0) +/* 8CEF1C 80240EAC 46002100 */ add.s $f4, $f4, $f0 +/* 8CEF20 80240EB0 8E06000C */ lw $a2, 0xc($s0) +/* 8CEF24 80240EB4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8CEF28 80240EB8 46800020 */ cvt.s.w $f0, $f0 +/* 8CEF2C 80240EBC E604001C */ swc1 $f4, 0x1c($s0) +/* 8CEF30 80240EC0 3C014059 */ lui $at, 0x4059 +/* 8CEF34 80240EC4 44812800 */ mtc1 $at, $f5 +/* 8CEF38 80240EC8 44802000 */ mtc1 $zero, $f4 +/* 8CEF3C 80240ECC 46000021 */ cvt.d.s $f0, $f0 +/* 8CEF40 80240ED0 46240003 */ div.d $f0, $f0, $f4 +/* 8CEF44 80240ED4 46200520 */ cvt.s.d $f20, $f0 +/* 8CEF48 80240ED8 46241083 */ div.d $f2, $f2, $f4 +/* 8CEF4C 80240EDC 0C00EA95 */ jal npc_move_heading +/* 8CEF50 80240EE0 462015A0 */ cvt.s.d $f22, $f2 +/* 8CEF54 80240EE4 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8CEF58 80240EE8 44801000 */ mtc1 $zero, $f2 +/* 8CEF5C 80240EEC 44801800 */ mtc1 $zero, $f3 +/* 8CEF60 80240EF0 46002021 */ cvt.d.s $f0, $f4 +/* 8CEF64 80240EF4 4620103E */ c.le.d $f2, $f0 +/* 8CEF68 80240EF8 00000000 */ nop +/* 8CEF6C 80240EFC 45000030 */ bc1f .L80240FC0 +/* 8CEF70 80240F00 00000000 */ nop +/* 8CEF74 80240F04 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CEF78 80240F08 46040000 */ add.s $f0, $f0, $f4 +/* 8CEF7C 80240F0C E600003C */ swc1 $f0, 0x3c($s0) +/* 8CEF80 80240F10 8E2200CC */ lw $v0, 0xcc($s1) +/* 8CEF84 80240F14 8C420024 */ lw $v0, 0x24($v0) +/* 8CEF88 80240F18 AE020028 */ sw $v0, 0x28($s0) +/* 8CEF8C 80240F1C A2200007 */ sb $zero, 7($s1) +/* 8CEF90 80240F20 8E020000 */ lw $v0, ($s0) +/* 8CEF94 80240F24 30420008 */ andi $v0, $v0, 8 +/* 8CEF98 80240F28 14400011 */ bnez $v0, .L80240F70 +/* 8CEF9C 80240F2C 0000102D */ daddu $v0, $zero, $zero +/* 8CEFA0 80240F30 27A50018 */ addiu $a1, $sp, 0x18 +/* 8CEFA4 80240F34 27A6001C */ addiu $a2, $sp, 0x1c +/* 8CEFA8 80240F38 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CEFAC 80240F3C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CEFB0 80240F40 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8CEFB4 80240F44 3C01447A */ lui $at, 0x447a +/* 8CEFB8 80240F48 44813000 */ mtc1 $at, $f6 +/* 8CEFBC 80240F4C 27A20024 */ addiu $v0, $sp, 0x24 +/* 8CEFC0 80240F50 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8CEFC4 80240F54 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8CEFC8 80240F58 E7A40020 */ swc1 $f4, 0x20($sp) +/* 8CEFCC 80240F5C E7A60024 */ swc1 $f6, 0x24($sp) +/* 8CEFD0 80240F60 AFA20010 */ sw $v0, 0x10($sp) +/* 8CEFD4 80240F64 8E040080 */ lw $a0, 0x80($s0) +/* 8CEFD8 80240F68 0C0372DF */ jal func_800DCB7C +/* 8CEFDC 80240F6C 27A70020 */ addiu $a3, $sp, 0x20 +.L80240F70: +/* 8CEFE0 80240F70 1040000B */ beqz $v0, .L80240FA0 +/* 8CEFE4 80240F74 00000000 */ nop +/* 8CEFE8 80240F78 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8CEFEC 80240F7C 46140080 */ add.s $f2, $f0, $f20 +/* 8CEFF0 80240F80 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CEFF4 80240F84 4600103E */ c.le.s $f2, $f0 +/* 8CEFF8 80240F88 00000000 */ nop +/* 8CEFFC 80240F8C 4500008D */ bc1f .L802411C4 +/* 8CF000 80240F90 00000000 */ nop +/* 8CF004 80240F94 E602003C */ swc1 $f2, 0x3c($s0) +/* 8CF008 80240F98 08090471 */ j .L802411C4 +/* 8CF00C 80240F9C AE400070 */ sw $zero, 0x70($s2) +.L80240FA0: +/* 8CF010 80240FA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CF014 80240FA4 C6000064 */ lwc1 $f0, 0x64($s0) +/* 8CF018 80240FA8 4602003E */ c.le.s $f0, $f2 +/* 8CF01C 80240FAC 00000000 */ nop +/* 8CF020 80240FB0 45030084 */ bc1tl .L802411C4 +/* 8CF024 80240FB4 AE400070 */ sw $zero, 0x70($s2) +/* 8CF028 80240FB8 08090471 */ j .L802411C4 +/* 8CF02C 80240FBC 00000000 */ nop +.L80240FC0: +/* 8CF030 80240FC0 4622003C */ c.lt.d $f0, $f2 +/* 8CF034 80240FC4 00000000 */ nop +/* 8CF038 80240FC8 4500007E */ bc1f .L802411C4 +/* 8CF03C 80240FCC 00000000 */ nop +/* 8CF040 80240FD0 9602008E */ lhu $v0, 0x8e($s0) +/* 8CF044 80240FD4 24420001 */ addiu $v0, $v0, 1 +/* 8CF048 80240FD8 A602008E */ sh $v0, 0x8e($s0) +/* 8CF04C 80240FDC 00021400 */ sll $v0, $v0, 0x10 +/* 8CF050 80240FE0 8E630020 */ lw $v1, 0x20($s3) +/* 8CF054 80240FE4 00021403 */ sra $v0, $v0, 0x10 +/* 8CF058 80240FE8 0043102A */ slt $v0, $v0, $v1 +/* 8CF05C 80240FEC 14400026 */ bnez $v0, .L80241088 +/* 8CF060 80240FF0 00000000 */ nop +/* 8CF064 80240FF4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8CF068 80240FF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8CF06C 80240FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8CF070 80241000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8CF074 80241004 A600008E */ sh $zero, 0x8e($s0) +/* 8CF078 80241008 8C460028 */ lw $a2, 0x28($v0) +/* 8CF07C 8024100C 0C00A720 */ jal atan2 +/* 8CF080 80241010 8C470030 */ lw $a3, 0x30($v0) +/* 8CF084 80241014 46000506 */ mov.s $f20, $f0 +/* 8CF088 80241018 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8CF08C 8024101C 0C00A70A */ jal get_clamped_angle_diff +/* 8CF090 80241020 4600A386 */ mov.s $f14, $f20 +/* 8CF094 80241024 46000086 */ mov.s $f2, $f0 +/* 8CF098 80241028 8E62001C */ lw $v0, 0x1c($s3) +/* 8CF09C 8024102C 46001005 */ abs.s $f0, $f2 +/* 8CF0A0 80241030 44822000 */ mtc1 $v0, $f4 +/* 8CF0A4 80241034 00000000 */ nop +/* 8CF0A8 80241038 46802120 */ cvt.s.w $f4, $f4 +/* 8CF0AC 8024103C 4600203C */ c.lt.s $f4, $f0 +/* 8CF0B0 80241040 00000000 */ nop +/* 8CF0B4 80241044 4500000D */ bc1f .L8024107C +/* 8CF0B8 80241048 00000000 */ nop +/* 8CF0BC 8024104C 44800000 */ mtc1 $zero, $f0 +/* 8CF0C0 80241050 C614000C */ lwc1 $f20, 0xc($s0) +/* 8CF0C4 80241054 4600103C */ c.lt.s $f2, $f0 +/* 8CF0C8 80241058 00000000 */ nop +/* 8CF0CC 8024105C 45000006 */ bc1f .L80241078 +/* 8CF0D0 80241060 00021023 */ negu $v0, $v0 +/* 8CF0D4 80241064 44820000 */ mtc1 $v0, $f0 +/* 8CF0D8 80241068 00000000 */ nop +/* 8CF0DC 8024106C 46800020 */ cvt.s.w $f0, $f0 +/* 8CF0E0 80241070 0809041F */ j .L8024107C +/* 8CF0E4 80241074 4600A500 */ add.s $f20, $f20, $f0 +.L80241078: +/* 8CF0E8 80241078 4604A500 */ add.s $f20, $f20, $f4 +.L8024107C: +/* 8CF0EC 8024107C 0C00A6C9 */ jal clamp_angle +/* 8CF0F0 80241080 4600A306 */ mov.s $f12, $f20 +/* 8CF0F4 80241084 E600000C */ swc1 $f0, 0xc($s0) +.L80241088: +/* 8CF0F8 80241088 8E020000 */ lw $v0, ($s0) +/* 8CF0FC 8024108C 30420008 */ andi $v0, $v0, 8 +/* 8CF100 80241090 1040000A */ beqz $v0, .L802410BC +/* 8CF104 80241094 27A50018 */ addiu $a1, $sp, 0x18 +/* 8CF108 80241098 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8CF10C 8024109C C600001C */ lwc1 $f0, 0x1c($s0) +/* 8CF110 802410A0 46001080 */ add.s $f2, $f2, $f0 +/* 8CF114 802410A4 4616103C */ c.lt.s $f2, $f22 +/* 8CF118 802410A8 00000000 */ nop +/* 8CF11C 802410AC 45020045 */ bc1fl .L802411C4 +/* 8CF120 802410B0 E602003C */ swc1 $f2, 0x3c($s0) +/* 8CF124 802410B4 08090470 */ j .L802411C0 +/* 8CF128 802410B8 E616003C */ swc1 $f22, 0x3c($s0) +.L802410BC: +/* 8CF12C 802410BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8CF130 802410C0 27A6001C */ addiu $a2, $sp, 0x1c +/* 8CF134 802410C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8CF138 802410C8 860200A8 */ lh $v0, 0xa8($s0) +/* 8CF13C 802410CC C600001C */ lwc1 $f0, 0x1c($s0) +/* 8CF140 802410D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 8CF144 802410D4 44821000 */ mtc1 $v0, $f2 +/* 8CF148 802410D8 00000000 */ nop +/* 8CF14C 802410DC 468010A0 */ cvt.s.w $f2, $f2 +/* 8CF150 802410E0 46000005 */ abs.s $f0, $f0 +/* 8CF154 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* 8CF158 802410E8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 8CF15C 802410EC 27A20024 */ addiu $v0, $sp, 0x24 +/* 8CF160 802410F0 46022100 */ add.s $f4, $f4, $f2 +/* 8CF164 802410F4 3C014024 */ lui $at, 0x4024 +/* 8CF168 802410F8 44811800 */ mtc1 $at, $f3 +/* 8CF16C 802410FC 44801000 */ mtc1 $zero, $f2 +/* 8CF170 80241100 46000021 */ cvt.d.s $f0, $f0 +/* 8CF174 80241104 46220000 */ add.d $f0, $f0, $f2 +/* 8CF178 80241108 E7A60020 */ swc1 $f6, 0x20($sp) +/* 8CF17C 8024110C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 8CF180 80241110 46200020 */ cvt.s.d $f0, $f0 +/* 8CF184 80241114 E7A00024 */ swc1 $f0, 0x24($sp) +/* 8CF188 80241118 AFA20010 */ sw $v0, 0x10($sp) +/* 8CF18C 8024111C 8E040080 */ lw $a0, 0x80($s0) +/* 8CF190 80241120 0C0372DF */ jal func_800DCB7C +/* 8CF194 80241124 27A70020 */ addiu $a3, $sp, 0x20 +/* 8CF198 80241128 10400015 */ beqz $v0, .L80241180 +/* 8CF19C 8024112C 00000000 */ nop +/* 8CF1A0 80241130 860200A8 */ lh $v0, 0xa8($s0) +/* 8CF1A4 80241134 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8CF1A8 80241138 44820000 */ mtc1 $v0, $f0 +/* 8CF1AC 8024113C 00000000 */ nop +/* 8CF1B0 80241140 46800020 */ cvt.s.w $f0, $f0 +/* 8CF1B4 80241144 46002085 */ abs.s $f2, $f4 +/* 8CF1B8 80241148 46020000 */ add.s $f0, $f0, $f2 +/* 8CF1BC 8024114C C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8CF1C0 80241150 4600103E */ c.le.s $f2, $f0 +/* 8CF1C4 80241154 00000000 */ nop +/* 8CF1C8 80241158 45000005 */ bc1f .L80241170 +/* 8CF1CC 8024115C 00000000 */ nop +/* 8CF1D0 80241160 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8CF1D4 80241164 AE00001C */ sw $zero, 0x1c($s0) +/* 8CF1D8 80241168 08090471 */ j .L802411C4 +/* 8CF1DC 8024116C E600003C */ swc1 $f0, 0x3c($s0) +.L80241170: +/* 8CF1E0 80241170 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8CF1E4 80241174 46040000 */ add.s $f0, $f0, $f4 +/* 8CF1E8 80241178 08090471 */ j .L802411C4 +/* 8CF1EC 8024117C E600003C */ swc1 $f0, 0x3c($s0) +.L80241180: +/* 8CF1F0 80241180 C606003C */ lwc1 $f6, 0x3c($s0) +/* 8CF1F4 80241184 860200A8 */ lh $v0, 0xa8($s0) +/* 8CF1F8 80241188 46163081 */ sub.s $f2, $f6, $f22 +/* 8CF1FC 8024118C 44820000 */ mtc1 $v0, $f0 +/* 8CF200 80241190 00000000 */ nop +/* 8CF204 80241194 46800020 */ cvt.s.w $f0, $f0 +/* 8CF208 80241198 46001080 */ add.s $f2, $f2, $f0 +/* 8CF20C 8024119C C604001C */ lwc1 $f4, 0x1c($s0) +/* 8CF210 802411A0 46002005 */ abs.s $f0, $f4 +/* 8CF214 802411A4 4602003C */ c.lt.s $f0, $f2 +/* 8CF218 802411A8 00000000 */ nop +/* 8CF21C 802411AC 45020005 */ bc1fl .L802411C4 +/* 8CF220 802411B0 AE00001C */ sw $zero, 0x1c($s0) +/* 8CF224 802411B4 46043000 */ add.s $f0, $f6, $f4 +/* 8CF228 802411B8 08090471 */ j .L802411C4 +/* 8CF22C 802411BC E600003C */ swc1 $f0, 0x3c($s0) +.L802411C0: +/* 8CF230 802411C0 AE00001C */ sw $zero, 0x1c($s0) +.L802411C4: +/* 8CF234 802411C4 8FBF0038 */ lw $ra, 0x38($sp) +/* 8CF238 802411C8 8FB30034 */ lw $s3, 0x34($sp) +/* 8CF23C 802411CC 8FB20030 */ lw $s2, 0x30($sp) +/* 8CF240 802411D0 8FB1002C */ lw $s1, 0x2c($sp) +/* 8CF244 802411D4 8FB00028 */ lw $s0, 0x28($sp) +/* 8CF248 802411D8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 8CF24C 802411DC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 8CF250 802411E0 03E00008 */ jr $ra +/* 8CF254 802411E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_802411E8.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_802411E8.s new file mode 100644 index 0000000000..7520a4ac8c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_802411E8.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E8 +/* 8CF258 802411E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8CF25C 802411EC AFB00028 */ sw $s0, 0x28($sp) +/* 8CF260 802411F0 00A0802D */ daddu $s0, $a1, $zero +/* 8CF264 802411F4 AFB1002C */ sw $s1, 0x2c($sp) +/* 8CF268 802411F8 00C0882D */ daddu $s1, $a2, $zero +/* 8CF26C 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 8CF270 80241200 AFB20030 */ sw $s2, 0x30($sp) +/* 8CF274 80241204 AE200070 */ sw $zero, 0x70($s1) +/* 8CF278 80241208 8C830000 */ lw $v1, ($a0) +/* 8CF27C 8024120C 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8CF280 80241210 A480008E */ sh $zero, 0x8e($a0) +/* 8CF284 80241214 00621824 */ and $v1, $v1, $v0 +/* 8CF288 80241218 34650800 */ ori $a1, $v1, 0x800 +/* 8CF28C 8024121C AC850000 */ sw $a1, ($a0) +/* 8CF290 80241220 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8CF294 80241224 8C420034 */ lw $v0, 0x34($v0) +/* 8CF298 80241228 10400003 */ beqz $v0, .L80241238 +/* 8CF29C 8024122C 00E0902D */ daddu $s2, $a3, $zero +/* 8CF2A0 80241230 08090490 */ j .L80241240 +/* 8CF2A4 80241234 34620808 */ ori $v0, $v1, 0x808 +.L80241238: +/* 8CF2A8 80241238 2402FFF7 */ addiu $v0, $zero, -9 +/* 8CF2AC 8024123C 00A21024 */ and $v0, $a1, $v0 +.L80241240: +/* 8CF2B0 80241240 AC820000 */ sw $v0, ($a0) +/* 8CF2B4 80241244 27A20024 */ addiu $v0, $sp, 0x24 +/* 8CF2B8 80241248 27A50018 */ addiu $a1, $sp, 0x18 +/* 8CF2BC 8024124C C4800038 */ lwc1 $f0, 0x38($a0) +/* 8CF2C0 80241250 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8CF2C4 80241254 C4840040 */ lwc1 $f4, 0x40($a0) +/* 8CF2C8 80241258 3C01447A */ lui $at, 0x447a +/* 8CF2CC 8024125C 44813000 */ mtc1 $at, $f6 +/* 8CF2D0 80241260 27A6001C */ addiu $a2, $sp, 0x1c +/* 8CF2D4 80241264 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8CF2D8 80241268 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8CF2DC 8024126C E7A40020 */ swc1 $f4, 0x20($sp) +/* 8CF2E0 80241270 E7A60024 */ swc1 $f6, 0x24($sp) +/* 8CF2E4 80241274 AFA20010 */ sw $v0, 0x10($sp) +/* 8CF2E8 80241278 8C840080 */ lw $a0, 0x80($a0) +/* 8CF2EC 8024127C 0C0372DF */ jal func_800DCB7C +/* 8CF2F0 80241280 27A70020 */ addiu $a3, $sp, 0x20 +/* 8CF2F4 80241284 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8CF2F8 80241288 3C014059 */ lui $at, 0x4059 +/* 8CF2FC 8024128C 44812800 */ mtc1 $at, $f5 +/* 8CF300 80241290 44802000 */ mtc1 $zero, $f4 +/* 8CF304 80241294 460010A1 */ cvt.d.s $f2, $f2 +/* 8CF308 80241298 46241082 */ mul.d $f2, $f2, $f4 +/* 8CF30C 8024129C 00000000 */ nop +/* 8CF310 802412A0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8CF314 802412A4 46000021 */ cvt.d.s $f0, $f0 +/* 8CF318 802412A8 46240002 */ mul.d $f0, $f0, $f4 +/* 8CF31C 802412AC 00000000 */ nop +/* 8CF320 802412B0 3C013FE0 */ lui $at, 0x3fe0 +/* 8CF324 802412B4 44812800 */ mtc1 $at, $f5 +/* 8CF328 802412B8 44802000 */ mtc1 $zero, $f4 +/* 8CF32C 802412BC 00000000 */ nop +/* 8CF330 802412C0 46241080 */ add.d $f2, $f2, $f4 +/* 8CF334 802412C4 AE000074 */ sw $zero, 0x74($s0) +/* 8CF338 802412C8 46240000 */ add.d $f0, $f0, $f4 +/* 8CF33C 802412CC AE000090 */ sw $zero, 0x90($s0) +/* 8CF340 802412D0 4620120D */ trunc.w.d $f8, $f2 +/* 8CF344 802412D4 E6080078 */ swc1 $f8, 0x78($s0) +/* 8CF348 802412D8 4620020D */ trunc.w.d $f8, $f0 +/* 8CF34C 802412DC E6080088 */ swc1 $f8, 0x88($s0) +/* 8CF350 802412E0 8E420014 */ lw $v0, 0x14($s2) +/* 8CF354 802412E4 AE220074 */ sw $v0, 0x74($s1) +/* 8CF358 802412E8 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8CF35C 802412EC 34420010 */ ori $v0, $v0, 0x10 +/* 8CF360 802412F0 AE0200B0 */ sw $v0, 0xb0($s0) +/* 8CF364 802412F4 8FBF0034 */ lw $ra, 0x34($sp) +/* 8CF368 802412F8 8FB20030 */ lw $s2, 0x30($sp) +/* 8CF36C 802412FC 8FB1002C */ lw $s1, 0x2c($sp) +/* 8CF370 80241300 8FB00028 */ lw $s0, 0x28($sp) +/* 8CF374 80241304 03E00008 */ jr $ra +/* 8CF378 80241308 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_8024130C.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_8024130C.s new file mode 100644 index 0000000000..4a6547acbb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_8024130C.s @@ -0,0 +1,133 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C +/* 8CF37C 8024130C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8CF380 80241310 AFB40040 */ sw $s4, 0x40($sp) +/* 8CF384 80241314 0080A02D */ daddu $s4, $a0, $zero +/* 8CF388 80241318 AFBF0048 */ sw $ra, 0x48($sp) +/* 8CF38C 8024131C AFB50044 */ sw $s5, 0x44($sp) +/* 8CF390 80241320 AFB3003C */ sw $s3, 0x3c($sp) +/* 8CF394 80241324 AFB20038 */ sw $s2, 0x38($sp) +/* 8CF398 80241328 AFB10034 */ sw $s1, 0x34($sp) +/* 8CF39C 8024132C AFB00030 */ sw $s0, 0x30($sp) +/* 8CF3A0 80241330 8E920148 */ lw $s2, 0x148($s4) +/* 8CF3A4 80241334 86440008 */ lh $a0, 8($s2) +/* 8CF3A8 80241338 8E90000C */ lw $s0, 0xc($s4) +/* 8CF3AC 8024133C 0C00EABB */ jal get_npc_unsafe +/* 8CF3B0 80241340 00A0882D */ daddu $s1, $a1, $zero +/* 8CF3B4 80241344 0280202D */ daddu $a0, $s4, $zero +/* 8CF3B8 80241348 8E050000 */ lw $a1, ($s0) +/* 8CF3BC 8024134C 0C0B1EAF */ jal get_variable +/* 8CF3C0 80241350 0040A82D */ daddu $s5, $v0, $zero +/* 8CF3C4 80241354 AFA00010 */ sw $zero, 0x10($sp) +/* 8CF3C8 80241358 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8CF3CC 8024135C 8C630030 */ lw $v1, 0x30($v1) +/* 8CF3D0 80241360 AFA30014 */ sw $v1, 0x14($sp) +/* 8CF3D4 80241364 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8CF3D8 80241368 8C63001C */ lw $v1, 0x1c($v1) +/* 8CF3DC 8024136C AFA30018 */ sw $v1, 0x18($sp) +/* 8CF3E0 80241370 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8CF3E4 80241374 8C630024 */ lw $v1, 0x24($v1) +/* 8CF3E8 80241378 AFA3001C */ sw $v1, 0x1c($sp) +/* 8CF3EC 8024137C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8CF3F0 80241380 8C630028 */ lw $v1, 0x28($v1) +/* 8CF3F4 80241384 27B30010 */ addiu $s3, $sp, 0x10 +/* 8CF3F8 80241388 AFA30020 */ sw $v1, 0x20($sp) +/* 8CF3FC 8024138C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8CF400 80241390 3C0142F0 */ lui $at, 0x42f0 +/* 8CF404 80241394 44810000 */ mtc1 $at, $f0 +/* 8CF408 80241398 8C63002C */ lw $v1, 0x2c($v1) +/* 8CF40C 8024139C 0040802D */ daddu $s0, $v0, $zero +/* 8CF410 802413A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8CF414 802413A4 A7A0002C */ sh $zero, 0x2c($sp) +/* 8CF418 802413A8 12200006 */ beqz $s1, .L802413C4 +/* 8CF41C 802413AC AFA30024 */ sw $v1, 0x24($sp) +/* 8CF420 802413B0 02A0202D */ daddu $a0, $s5, $zero +/* 8CF424 802413B4 0240282D */ daddu $a1, $s2, $zero +/* 8CF428 802413B8 0280302D */ daddu $a2, $s4, $zero +/* 8CF42C 802413BC 0C09047A */ jal func_802411E8 +/* 8CF430 802413C0 0200382D */ daddu $a3, $s0, $zero +.L802413C4: +/* 8CF434 802413C4 2402FFFE */ addiu $v0, $zero, -2 +/* 8CF438 802413C8 A2A200AB */ sb $v0, 0xab($s5) +/* 8CF43C 802413CC 8E4300B0 */ lw $v1, 0xb0($s2) +/* 8CF440 802413D0 30620004 */ andi $v0, $v1, 4 +/* 8CF444 802413D4 10400007 */ beqz $v0, .L802413F4 +/* 8CF448 802413D8 00000000 */ nop +/* 8CF44C 802413DC 824200B4 */ lb $v0, 0xb4($s2) +/* 8CF450 802413E0 1440003C */ bnez $v0, .L802414D4 +/* 8CF454 802413E4 0000102D */ daddu $v0, $zero, $zero +/* 8CF458 802413E8 2402FFFB */ addiu $v0, $zero, -5 +/* 8CF45C 802413EC 00621024 */ and $v0, $v1, $v0 +/* 8CF460 802413F0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802413F4: +/* 8CF464 802413F4 8E830070 */ lw $v1, 0x70($s4) +/* 8CF468 802413F8 2C62000F */ sltiu $v0, $v1, 0xf +/* 8CF46C 802413FC 10400034 */ beqz $v0, .L802414D0 +/* 8CF470 80241400 00031080 */ sll $v0, $v1, 2 +/* 8CF474 80241404 3C018024 */ lui $at, 0x8024 +/* 8CF478 80241408 00220821 */ addu $at, $at, $v0 +/* 8CF47C 8024140C 8C223458 */ lw $v0, 0x3458($at) +/* 8CF480 80241410 00400008 */ jr $v0 +/* 8CF484 80241414 00000000 */ nop +/* 8CF488 80241418 0280202D */ daddu $a0, $s4, $zero +/* 8CF48C 8024141C 0200282D */ daddu $a1, $s0, $zero +/* 8CF490 80241420 0C090000 */ jal func_80240000 +/* 8CF494 80241424 0260302D */ daddu $a2, $s3, $zero +/* 8CF498 80241428 0280202D */ daddu $a0, $s4, $zero +/* 8CF49C 8024142C 0200282D */ daddu $a1, $s0, $zero +/* 8CF4A0 80241430 0C09006C */ jal func_802401B0 +/* 8CF4A4 80241434 0260302D */ daddu $a2, $s3, $zero +/* 8CF4A8 80241438 08090535 */ j .L802414D4 +/* 8CF4AC 8024143C 0000102D */ daddu $v0, $zero, $zero +/* 8CF4B0 80241440 0280202D */ daddu $a0, $s4, $zero +/* 8CF4B4 80241444 0200282D */ daddu $a1, $s0, $zero +/* 8CF4B8 80241448 0C0901F6 */ jal func_802407D8 +/* 8CF4BC 8024144C 0260302D */ daddu $a2, $s3, $zero +/* 8CF4C0 80241450 0280202D */ daddu $a0, $s4, $zero +/* 8CF4C4 80241454 0200282D */ daddu $a1, $s0, $zero +/* 8CF4C8 80241458 0C090226 */ jal func_80240898 +/* 8CF4CC 8024145C 0260302D */ daddu $a2, $s3, $zero +/* 8CF4D0 80241460 08090535 */ j .L802414D4 +/* 8CF4D4 80241464 0000102D */ daddu $v0, $zero, $zero +/* 8CF4D8 80241468 0280202D */ daddu $a0, $s4, $zero +/* 8CF4DC 8024146C 0200282D */ daddu $a1, $s0, $zero +/* 8CF4E0 80241470 0C0902F7 */ jal func_80240BDC +/* 8CF4E4 80241474 0260302D */ daddu $a2, $s3, $zero +/* 8CF4E8 80241478 0280202D */ daddu $a0, $s4, $zero +/* 8CF4EC 8024147C 0200282D */ daddu $a1, $s0, $zero +/* 8CF4F0 80241480 0C090315 */ jal func_80240C54 +/* 8CF4F4 80241484 0260302D */ daddu $a2, $s3, $zero +/* 8CF4F8 80241488 08090535 */ j .L802414D4 +/* 8CF4FC 8024148C 0000102D */ daddu $v0, $zero, $zero +/* 8CF500 80241490 0280202D */ daddu $a0, $s4, $zero +/* 8CF504 80241494 0200282D */ daddu $a1, $s0, $zero +/* 8CF508 80241498 0C090330 */ jal func_80240CC0 +/* 8CF50C 8024149C 0260302D */ daddu $a2, $s3, $zero +/* 8CF510 802414A0 08090535 */ j .L802414D4 +/* 8CF514 802414A4 0000102D */ daddu $v0, $zero, $zero +/* 8CF518 802414A8 0280202D */ daddu $a0, $s4, $zero +/* 8CF51C 802414AC 0200282D */ daddu $a1, $s0, $zero +/* 8CF520 802414B0 0C09037D */ jal func_80240DF4 +/* 8CF524 802414B4 0260302D */ daddu $a2, $s3, $zero +/* 8CF528 802414B8 08090535 */ j .L802414D4 +/* 8CF52C 802414BC 0000102D */ daddu $v0, $zero, $zero +/* 8CF530 802414C0 0280202D */ daddu $a0, $s4, $zero +/* 8CF534 802414C4 0200282D */ daddu $a1, $s0, $zero +/* 8CF538 802414C8 0C090396 */ jal func_80240E58 +/* 8CF53C 802414CC 0260302D */ daddu $a2, $s3, $zero +.L802414D0: +/* 8CF540 802414D0 0000102D */ daddu $v0, $zero, $zero +.L802414D4: +/* 8CF544 802414D4 8FBF0048 */ lw $ra, 0x48($sp) +/* 8CF548 802414D8 8FB50044 */ lw $s5, 0x44($sp) +/* 8CF54C 802414DC 8FB40040 */ lw $s4, 0x40($sp) +/* 8CF550 802414E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8CF554 802414E4 8FB20038 */ lw $s2, 0x38($sp) +/* 8CF558 802414E8 8FB10034 */ lw $s1, 0x34($sp) +/* 8CF55C 802414EC 8FB00030 */ lw $s0, 0x30($sp) +/* 8CF560 802414F0 03E00008 */ jr $ra +/* 8CF564 802414F4 27BD0050 */ addiu $sp, $sp, 0x50 +/* 8CF568 802414F8 00000000 */ nop +/* 8CF56C 802414FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80241500.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80241500.s new file mode 100644 index 0000000000..84e970b8be --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80241500.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241500 +/* 8CF570 80241500 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8CF574 80241504 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8CF578 80241508 4485A000 */ mtc1 $a1, $f20 +/* 8CF57C 8024150C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8CF580 80241510 4486B000 */ mtc1 $a2, $f22 +/* 8CF584 80241514 AFB00010 */ sw $s0, 0x10($sp) +/* 8CF588 80241518 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8CF58C 8024151C 4487C000 */ mtc1 $a3, $f24 +/* 8CF590 80241520 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CF594 80241524 0C019D28 */ jal guMtxIdentF +/* 8CF598 80241528 0080802D */ daddu $s0, $a0, $zero +/* 8CF59C 8024152C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8CF5A0 80241530 00000000 */ nop +/* 8CF5A4 80241534 4618A502 */ mul.s $f20, $f20, $f24 +/* 8CF5A8 80241538 00000000 */ nop +/* 8CF5AC 8024153C 3C013F80 */ lui $at, 0x3f80 +/* 8CF5B0 80241540 44810000 */ mtc1 $at, $f0 +/* 8CF5B4 80241544 00000000 */ nop +/* 8CF5B8 80241548 E6000014 */ swc1 $f0, 0x14($s0) +/* 8CF5BC 8024154C E6160010 */ swc1 $f22, 0x10($s0) +/* 8CF5C0 80241550 E6140018 */ swc1 $f20, 0x18($s0) +/* 8CF5C4 80241554 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CF5C8 80241558 8FB00010 */ lw $s0, 0x10($sp) +/* 8CF5CC 8024155C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8CF5D0 80241560 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8CF5D4 80241564 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8CF5D8 80241568 03E00008 */ jr $ra +/* 8CF5DC 8024156C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_80241570.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_80241570.s new file mode 100644 index 0000000000..4644480199 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_80241570.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241570 +/* 8CF5E0 80241570 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8CF5E4 80241574 AFB10054 */ sw $s1, 0x54($sp) +/* 8CF5E8 80241578 0080882D */ daddu $s1, $a0, $zero +/* 8CF5EC 8024157C AFBF005C */ sw $ra, 0x5c($sp) +/* 8CF5F0 80241580 AFB20058 */ sw $s2, 0x58($sp) +/* 8CF5F4 80241584 AFB00050 */ sw $s0, 0x50($sp) +/* 8CF5F8 80241588 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8CF5FC 8024158C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8CF600 80241590 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8CF604 80241594 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8CF608 80241598 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8CF60C 8024159C 8E30000C */ lw $s0, 0xc($s1) +/* 8CF610 802415A0 8E050000 */ lw $a1, ($s0) +/* 8CF614 802415A4 0C0B1EAF */ jal get_variable +/* 8CF618 802415A8 26100004 */ addiu $s0, $s0, 4 +/* 8CF61C 802415AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8CF620 802415B0 0040202D */ daddu $a0, $v0, $zero +/* 8CF624 802415B4 8E050000 */ lw $a1, ($s0) +/* 8CF628 802415B8 26100004 */ addiu $s0, $s0, 4 +/* 8CF62C 802415BC 0220202D */ daddu $a0, $s1, $zero +/* 8CF630 802415C0 0C0B210B */ jal get_float_variable +/* 8CF634 802415C4 0040902D */ daddu $s2, $v0, $zero +/* 8CF638 802415C8 8E050000 */ lw $a1, ($s0) +/* 8CF63C 802415CC 26100004 */ addiu $s0, $s0, 4 +/* 8CF640 802415D0 0220202D */ daddu $a0, $s1, $zero +/* 8CF644 802415D4 0C0B210B */ jal get_float_variable +/* 8CF648 802415D8 46000706 */ mov.s $f28, $f0 +/* 8CF64C 802415DC 8E050000 */ lw $a1, ($s0) +/* 8CF650 802415E0 26100004 */ addiu $s0, $s0, 4 +/* 8CF654 802415E4 0220202D */ daddu $a0, $s1, $zero +/* 8CF658 802415E8 0C0B210B */ jal get_float_variable +/* 8CF65C 802415EC 46000686 */ mov.s $f26, $f0 +/* 8CF660 802415F0 0220202D */ daddu $a0, $s1, $zero +/* 8CF664 802415F4 8E050000 */ lw $a1, ($s0) +/* 8CF668 802415F8 0C0B210B */ jal get_float_variable +/* 8CF66C 802415FC 46000586 */ mov.s $f22, $f0 +/* 8CF670 80241600 0240202D */ daddu $a0, $s2, $zero +/* 8CF674 80241604 0C046B4C */ jal get_model_from_list_index +/* 8CF678 80241608 46000606 */ mov.s $f24, $f0 +/* 8CF67C 8024160C 0040882D */ daddu $s1, $v0, $zero +/* 8CF680 80241610 96220000 */ lhu $v0, ($s1) +/* 8CF684 80241614 30420400 */ andi $v0, $v0, 0x400 +/* 8CF688 80241618 1440001E */ bnez $v0, .L80241694 +/* 8CF68C 8024161C 26300058 */ addiu $s0, $s1, 0x58 +/* 8CF690 80241620 4480A000 */ mtc1 $zero, $f20 +/* 8CF694 80241624 4406B000 */ mfc1 $a2, $f22 +/* 8CF698 80241628 4405A000 */ mfc1 $a1, $f20 +/* 8CF69C 8024162C 4407A000 */ mfc1 $a3, $f20 +/* 8CF6A0 80241630 0C019E40 */ jal guTranslateF +/* 8CF6A4 80241634 0200202D */ daddu $a0, $s0, $zero +/* 8CF6A8 80241638 4405E000 */ mfc1 $a1, $f28 +/* 8CF6AC 8024163C 4406D000 */ mfc1 $a2, $f26 +/* 8CF6B0 80241640 4407C000 */ mfc1 $a3, $f24 +/* 8CF6B4 80241644 0C090540 */ jal func_80241500 +/* 8CF6B8 80241648 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF6BC 8024164C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF6C0 80241650 0200282D */ daddu $a1, $s0, $zero +/* 8CF6C4 80241654 0C019D80 */ jal guMtxCatF +/* 8CF6C8 80241658 0200302D */ daddu $a2, $s0, $zero +/* 8CF6CC 8024165C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF6D0 80241660 4600B587 */ neg.s $f22, $f22 +/* 8CF6D4 80241664 4405A000 */ mfc1 $a1, $f20 +/* 8CF6D8 80241668 4406B000 */ mfc1 $a2, $f22 +/* 8CF6DC 8024166C 0C019E40 */ jal guTranslateF +/* 8CF6E0 80241670 00A0382D */ daddu $a3, $a1, $zero +/* 8CF6E4 80241674 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF6E8 80241678 0200282D */ daddu $a1, $s0, $zero +/* 8CF6EC 8024167C 0C019D80 */ jal guMtxCatF +/* 8CF6F0 80241680 00A0302D */ daddu $a2, $a1, $zero +/* 8CF6F4 80241684 96220000 */ lhu $v0, ($s1) +/* 8CF6F8 80241688 34421400 */ ori $v0, $v0, 0x1400 +/* 8CF6FC 8024168C 080905C3 */ j .L8024170C +/* 8CF700 80241690 A6220000 */ sh $v0, ($s1) +.L80241694: +/* 8CF704 80241694 4480A000 */ mtc1 $zero, $f20 +/* 8CF708 80241698 4406B000 */ mfc1 $a2, $f22 +/* 8CF70C 8024169C 4405A000 */ mfc1 $a1, $f20 +/* 8CF710 802416A0 4407A000 */ mfc1 $a3, $f20 +/* 8CF714 802416A4 0C019E40 */ jal guTranslateF +/* 8CF718 802416A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF71C 802416AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF720 802416B0 26300058 */ addiu $s0, $s1, 0x58 +/* 8CF724 802416B4 0200282D */ daddu $a1, $s0, $zero +/* 8CF728 802416B8 0C019D80 */ jal guMtxCatF +/* 8CF72C 802416BC 0200302D */ daddu $a2, $s0, $zero +/* 8CF730 802416C0 4405E000 */ mfc1 $a1, $f28 +/* 8CF734 802416C4 4406D000 */ mfc1 $a2, $f26 +/* 8CF738 802416C8 4407C000 */ mfc1 $a3, $f24 +/* 8CF73C 802416CC 0C090540 */ jal func_80241500 +/* 8CF740 802416D0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF744 802416D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF748 802416D8 0200282D */ daddu $a1, $s0, $zero +/* 8CF74C 802416DC 0C019D80 */ jal guMtxCatF +/* 8CF750 802416E0 0200302D */ daddu $a2, $s0, $zero +/* 8CF754 802416E4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF758 802416E8 4600B587 */ neg.s $f22, $f22 +/* 8CF75C 802416EC 4405A000 */ mfc1 $a1, $f20 +/* 8CF760 802416F0 4406B000 */ mfc1 $a2, $f22 +/* 8CF764 802416F4 0C019E40 */ jal guTranslateF +/* 8CF768 802416F8 00A0382D */ daddu $a3, $a1, $zero +/* 8CF76C 802416FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8CF770 80241700 0200282D */ daddu $a1, $s0, $zero +/* 8CF774 80241704 0C019D80 */ jal guMtxCatF +/* 8CF778 80241708 00A0302D */ daddu $a2, $a1, $zero +.L8024170C: +/* 8CF77C 8024170C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8CF780 80241710 8FB20058 */ lw $s2, 0x58($sp) +/* 8CF784 80241714 8FB10054 */ lw $s1, 0x54($sp) +/* 8CF788 80241718 8FB00050 */ lw $s0, 0x50($sp) +/* 8CF78C 8024171C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8CF790 80241720 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8CF794 80241724 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8CF798 80241728 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8CF79C 8024172C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8CF7A0 80241730 24020002 */ addiu $v0, $zero, 2 +/* 8CF7A4 80241734 03E00008 */ jr $ra +/* 8CF7A8 80241738 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_kmr/kmr_05/func_8024173C.s b/asm/nonmatchings/world/area_kmr/kmr_05/func_8024173C.s new file mode 100644 index 0000000000..c0f890bafb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_05/func_8024173C.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024173C +/* 8CF7AC 8024173C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8CF7B0 80241740 AFB00010 */ sw $s0, 0x10($sp) +/* 8CF7B4 80241744 0080802D */ daddu $s0, $a0, $zero +/* 8CF7B8 80241748 AFBF0014 */ sw $ra, 0x14($sp) +/* 8CF7BC 8024174C 0C00FB5A */ jal get_enemy_safe +/* 8CF7C0 80241750 24040006 */ addiu $a0, $zero, 6 +/* 8CF7C4 80241754 14400003 */ bnez $v0, .L80241764 +/* 8CF7C8 80241758 24020001 */ addiu $v0, $zero, 1 +/* 8CF7CC 8024175C 080905DA */ j .L80241768 +/* 8CF7D0 80241760 AE000084 */ sw $zero, 0x84($s0) +.L80241764: +/* 8CF7D4 80241764 AE020084 */ sw $v0, 0x84($s0) +.L80241768: +/* 8CF7D8 80241768 8FBF0014 */ lw $ra, 0x14($sp) +/* 8CF7DC 8024176C 8FB00010 */ lw $s0, 0x10($sp) +/* 8CF7E0 80241770 24020002 */ addiu $v0, $zero, 2 +/* 8CF7E4 80241774 03E00008 */ jr $ra +/* 8CF7E8 80241778 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8CF7EC 8024177C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240000_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240000_8D1510.s new file mode 100644 index 0000000000..386510f3b8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240000_8D1510.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8D1510 +/* 8D1510 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D1514 80240004 AFB3002C */ sw $s3, 0x2c($sp) +/* 8D1518 80240008 0080982D */ daddu $s3, $a0, $zero +/* 8D151C 8024000C AFBF0030 */ sw $ra, 0x30($sp) +/* 8D1520 80240010 AFB20028 */ sw $s2, 0x28($sp) +/* 8D1524 80240014 AFB10024 */ sw $s1, 0x24($sp) +/* 8D1528 80240018 AFB00020 */ sw $s0, 0x20($sp) +/* 8D152C 8024001C 8E710148 */ lw $s1, 0x148($s3) +/* 8D1530 80240020 86240008 */ lh $a0, 8($s1) +/* 8D1534 80240024 0C00EABB */ jal get_npc_unsafe +/* 8D1538 80240028 00A0902D */ daddu $s2, $a1, $zero +/* 8D153C 8024002C 8E440004 */ lw $a0, 4($s2) +/* 8D1540 80240030 0040802D */ daddu $s0, $v0, $zero +/* 8D1544 80240034 00041FC2 */ srl $v1, $a0, 0x1f +/* 8D1548 80240038 00832021 */ addu $a0, $a0, $v1 +/* 8D154C 8024003C 00042043 */ sra $a0, $a0, 1 +/* 8D1550 80240040 0C00A67F */ jal rand_int +/* 8D1554 80240044 24840001 */ addiu $a0, $a0, 1 +/* 8D1558 80240048 8E430004 */ lw $v1, 4($s2) +/* 8D155C 8024004C 000327C2 */ srl $a0, $v1, 0x1f +/* 8D1560 80240050 00641821 */ addu $v1, $v1, $a0 +/* 8D1564 80240054 00031843 */ sra $v1, $v1, 1 +/* 8D1568 80240058 00621821 */ addu $v1, $v1, $v0 +/* 8D156C 8024005C A603008E */ sh $v1, 0x8e($s0) +/* 8D1570 80240060 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8D1574 80240064 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8D1578 80240068 C4640000 */ lwc1 $f4, ($v1) +/* 8D157C 8024006C 46802120 */ cvt.s.w $f4, $f4 +/* 8D1580 80240070 C4620008 */ lwc1 $f2, 8($v1) +/* 8D1584 80240074 468010A0 */ cvt.s.w $f2, $f2 +/* 8D1588 80240078 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D158C 8024007C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1590 80240080 44061000 */ mfc1 $a2, $f2 +/* 8D1594 80240084 C440000C */ lwc1 $f0, 0xc($v0) +/* 8D1598 80240088 46800020 */ cvt.s.w $f0, $f0 +/* 8D159C 8024008C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8D15A0 80240090 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D15A4 80240094 44052000 */ mfc1 $a1, $f4 +/* 8D15A8 80240098 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8D15AC 8024009C 46800020 */ cvt.s.w $f0, $f0 +/* 8D15B0 802400A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D15B4 802400A4 8C640018 */ lw $a0, 0x18($v1) +/* 8D15B8 802400A8 0C0123F5 */ jal is_point_within_region +/* 8D15BC 802400AC 8E070038 */ lw $a3, 0x38($s0) +/* 8D15C0 802400B0 1040000E */ beqz $v0, .L802400EC +/* 8D15C4 802400B4 00000000 */ nop +/* 8D15C8 802400B8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D15CC 802400BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D15D0 802400C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D15D4 802400C4 C4460000 */ lwc1 $f6, ($v0) +/* 8D15D8 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* 8D15DC 802400CC 44063000 */ mfc1 $a2, $f6 +/* 8D15E0 802400D0 C4460008 */ lwc1 $f6, 8($v0) +/* 8D15E4 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* 8D15E8 802400D8 44073000 */ mfc1 $a3, $f6 +/* 8D15EC 802400DC 0C00A720 */ jal atan2 +/* 8D15F0 802400E0 00000000 */ nop +/* 8D15F4 802400E4 08090047 */ j .L8024011C +/* 8D15F8 802400E8 E600000C */ swc1 $f0, 0xc($s0) +.L802400EC: +/* 8D15FC 802400EC 0C00A67F */ jal rand_int +/* 8D1600 802400F0 2404003C */ addiu $a0, $zero, 0x3c +/* 8D1604 802400F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D1608 802400F8 44820000 */ mtc1 $v0, $f0 +/* 8D160C 802400FC 00000000 */ nop +/* 8D1610 80240100 46800020 */ cvt.s.w $f0, $f0 +/* 8D1614 80240104 46006300 */ add.s $f12, $f12, $f0 +/* 8D1618 80240108 3C0141F0 */ lui $at, 0x41f0 +/* 8D161C 8024010C 44810000 */ mtc1 $at, $f0 +/* 8D1620 80240110 0C00A6C9 */ jal clamp_angle +/* 8D1624 80240114 46006301 */ sub.s $f12, $f12, $f0 +/* 8D1628 80240118 E600000C */ swc1 $f0, 0xc($s0) +.L8024011C: +/* 8D162C 8024011C 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D1630 80240120 8C420004 */ lw $v0, 4($v0) +/* 8D1634 80240124 AE020028 */ sw $v0, 0x28($s0) +/* 8D1638 80240128 AE600074 */ sw $zero, 0x74($s3) +/* 8D163C 8024012C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1640 80240130 8C420014 */ lw $v0, 0x14($v0) +/* 8D1644 80240134 04410004 */ bgez $v0, .L80240148 +/* 8D1648 80240138 00000000 */ nop +/* 8D164C 8024013C C6400000 */ lwc1 $f0, ($s2) +/* 8D1650 80240140 0809005A */ j .L80240168 +/* 8D1654 80240144 E6000018 */ swc1 $f0, 0x18($s0) +.L80240148: +/* 8D1658 80240148 3C018024 */ lui $at, 0x8024 +/* 8D165C 8024014C D4222850 */ ldc1 $f2, 0x2850($at) +/* 8D1660 80240150 44820000 */ mtc1 $v0, $f0 +/* 8D1664 80240154 00000000 */ nop +/* 8D1668 80240158 46800021 */ cvt.d.w $f0, $f0 +/* 8D166C 8024015C 46220003 */ div.d $f0, $f0, $f2 +/* 8D1670 80240160 46200020 */ cvt.s.d $f0, $f0 +/* 8D1674 80240164 E6000018 */ swc1 $f0, 0x18($s0) +.L80240168: +/* 8D1678 80240168 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D167C 8024016C 3C014059 */ lui $at, 0x4059 +/* 8D1680 80240170 44811800 */ mtc1 $at, $f3 +/* 8D1684 80240174 44801000 */ mtc1 $zero, $f2 +/* 8D1688 80240178 46000021 */ cvt.d.s $f0, $f0 +/* 8D168C 8024017C 46220002 */ mul.d $f0, $f0, $f2 +/* 8D1690 80240180 00000000 */ nop +/* 8D1694 80240184 24020001 */ addiu $v0, $zero, 1 +/* 8D1698 80240188 4620018D */ trunc.w.d $f6, $f0 +/* 8D169C 8024018C E626007C */ swc1 $f6, 0x7c($s1) +/* 8D16A0 80240190 AE620070 */ sw $v0, 0x70($s3) +/* 8D16A4 80240194 8FBF0030 */ lw $ra, 0x30($sp) +/* 8D16A8 80240198 8FB3002C */ lw $s3, 0x2c($sp) +/* 8D16AC 8024019C 8FB20028 */ lw $s2, 0x28($sp) +/* 8D16B0 802401A0 8FB10024 */ lw $s1, 0x24($sp) +/* 8D16B4 802401A4 8FB00020 */ lw $s0, 0x20($sp) +/* 8D16B8 802401A8 03E00008 */ jr $ra +/* 8D16BC 802401AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802401B0_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802401B0_8D1510.s new file mode 100644 index 0000000000..c958659b35 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802401B0_8D1510.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_8D16C0 +/* 8D16C0 802401B0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 8D16C4 802401B4 AFB3004C */ sw $s3, 0x4c($sp) +/* 8D16C8 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 8D16CC 802401BC AFBF0058 */ sw $ra, 0x58($sp) +/* 8D16D0 802401C0 AFB50054 */ sw $s5, 0x54($sp) +/* 8D16D4 802401C4 AFB40050 */ sw $s4, 0x50($sp) +/* 8D16D8 802401C8 AFB20048 */ sw $s2, 0x48($sp) +/* 8D16DC 802401CC AFB10044 */ sw $s1, 0x44($sp) +/* 8D16E0 802401D0 AFB00040 */ sw $s0, 0x40($sp) +/* 8D16E4 802401D4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8D16E8 802401D8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8D16EC 802401DC F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8D16F0 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8D16F4 802401E4 8E710148 */ lw $s1, 0x148($s3) +/* 8D16F8 802401E8 00A0902D */ daddu $s2, $a1, $zero +/* 8D16FC 802401EC 86240008 */ lh $a0, 8($s1) +/* 8D1700 802401F0 0C00EABB */ jal get_npc_unsafe +/* 8D1704 802401F4 00C0A82D */ daddu $s5, $a2, $zero +/* 8D1708 802401F8 0040802D */ daddu $s0, $v0, $zero +/* 8D170C 802401FC 0000A02D */ daddu $s4, $zero, $zero +/* 8D1710 80240200 C624007C */ lwc1 $f4, 0x7c($s1) +/* 8D1714 80240204 46802120 */ cvt.s.w $f4, $f4 +/* 8D1718 80240208 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8D171C 8024020C 468010A0 */ cvt.s.w $f2, $f2 +/* 8D1720 80240210 460010A1 */ cvt.d.s $f2, $f2 +/* 8D1724 80240214 46002121 */ cvt.d.s $f4, $f4 +/* 8D1728 80240218 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D172C 8024021C 3C014059 */ lui $at, 0x4059 +/* 8D1730 80240220 44813800 */ mtc1 $at, $f7 +/* 8D1734 80240224 44803000 */ mtc1 $zero, $f6 +/* 8D1738 80240228 46000021 */ cvt.d.s $f0, $f0 +/* 8D173C 8024022C 46260002 */ mul.d $f0, $f0, $f6 +/* 8D1740 80240230 00000000 */ nop +/* 8D1744 80240234 24020001 */ addiu $v0, $zero, 1 +/* 8D1748 80240238 8E24006C */ lw $a0, 0x6c($s1) +/* 8D174C 8024023C 46261083 */ div.d $f2, $f2, $f6 +/* 8D1750 80240240 462010A0 */ cvt.s.d $f2, $f2 +/* 8D1754 80240244 46262103 */ div.d $f4, $f4, $f6 +/* 8D1758 80240248 46202520 */ cvt.s.d $f20, $f4 +/* 8D175C 8024024C 30830011 */ andi $v1, $a0, 0x11 +/* 8D1760 80240250 4620020D */ trunc.w.d $f8, $f0 +/* 8D1764 80240254 E628007C */ swc1 $f8, 0x7c($s1) +/* 8D1768 80240258 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D176C 8024025C 46800020 */ cvt.s.w $f0, $f0 +/* 8D1770 80240260 46000021 */ cvt.d.s $f0, $f0 +/* 8D1774 80240264 46260003 */ div.d $f0, $f0, $f6 +/* 8D1778 80240268 462006A0 */ cvt.s.d $f26, $f0 +/* 8D177C 8024026C C6200070 */ lwc1 $f0, 0x70($s1) +/* 8D1780 80240270 46800020 */ cvt.s.w $f0, $f0 +/* 8D1784 80240274 46000021 */ cvt.d.s $f0, $f0 +/* 8D1788 80240278 46260003 */ div.d $f0, $f0, $f6 +/* 8D178C 8024027C 462005A0 */ cvt.s.d $f22, $f0 +/* 8D1790 80240280 14620025 */ bne $v1, $v0, .L80240318 +/* 8D1794 80240284 4602D600 */ add.s $f24, $f26, $f2 +/* 8D1798 80240288 8E020000 */ lw $v0, ($s0) +/* 8D179C 8024028C 30420008 */ andi $v0, $v0, 8 +/* 8D17A0 80240290 10400009 */ beqz $v0, .L802402B8 +/* 8D17A4 80240294 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D17A8 80240298 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D17AC 8024029C 4600C001 */ sub.s $f0, $f24, $f0 +/* 8D17B0 802402A0 4600B03C */ c.lt.s $f22, $f0 +/* 8D17B4 802402A4 00000000 */ nop +/* 8D17B8 802402A8 4500001B */ bc1f .L80240318 +/* 8D17BC 802402AC 34820010 */ ori $v0, $a0, 0x10 +/* 8D17C0 802402B0 080900C6 */ j .L80240318 +/* 8D17C4 802402B4 AE22006C */ sw $v0, 0x6c($s1) +.L802402B8: +/* 8D17C8 802402B8 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D17CC 802402BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D17D0 802402C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D17D4 802402C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D17D8 802402C8 3C01447A */ lui $at, 0x447a +/* 8D17DC 802402CC 44813000 */ mtc1 $at, $f6 +/* 8D17E0 802402D0 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D17E4 802402D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D17E8 802402D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D17EC 802402DC E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D17F0 802402E0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D17F4 802402E4 AFA20010 */ sw $v0, 0x10($sp) +/* 8D17F8 802402E8 8E040080 */ lw $a0, 0x80($s0) +/* 8D17FC 802402EC 0C0372DF */ jal func_800DCB7C +/* 8D1800 802402F0 27A70030 */ addiu $a3, $sp, 0x30 +/* 8D1804 802402F4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 8D1808 802402F8 4600D001 */ sub.s $f0, $f26, $f0 +/* 8D180C 802402FC 4600B03C */ c.lt.s $f22, $f0 +/* 8D1810 80240300 00000000 */ nop +/* 8D1814 80240304 45000004 */ bc1f .L80240318 +/* 8D1818 80240308 00000000 */ nop +/* 8D181C 8024030C 8E22006C */ lw $v0, 0x6c($s1) +/* 8D1820 80240310 34420010 */ ori $v0, $v0, 0x10 +/* 8D1824 80240314 AE22006C */ sw $v0, 0x6c($s1) +.L80240318: +/* 8D1828 80240318 8E22006C */ lw $v0, 0x6c($s1) +/* 8D182C 8024031C 24030011 */ addiu $v1, $zero, 0x11 +/* 8D1830 80240320 30420011 */ andi $v0, $v0, 0x11 +/* 8D1834 80240324 14430039 */ bne $v0, $v1, .L8024040C +/* 8D1838 80240328 00000000 */ nop +/* 8D183C 8024032C 8E020000 */ lw $v0, ($s0) +/* 8D1840 80240330 30420008 */ andi $v0, $v0, 8 +/* 8D1844 80240334 1040000A */ beqz $v0, .L80240360 +/* 8D1848 80240338 4600C106 */ mov.s $f4, $f24 +/* 8D184C 8024033C 4614C081 */ sub.s $f2, $f24, $f20 +/* 8D1850 80240340 3C018024 */ lui $at, 0x8024 +/* 8D1854 80240344 D4202858 */ ldc1 $f0, 0x2858($at) +/* 8D1858 80240348 460010A1 */ cvt.d.s $f2, $f2 +/* 8D185C 8024034C 46201082 */ mul.d $f2, $f2, $f0 +/* 8D1860 80240350 00000000 */ nop +/* 8D1864 80240354 4600A021 */ cvt.d.s $f0, $f20 +/* 8D1868 80240358 080900F1 */ j .L802403C4 +/* 8D186C 8024035C 46220000 */ add.d $f0, $f0, $f2 +.L80240360: +/* 8D1870 80240360 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D1874 80240364 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D1878 80240368 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D187C 8024036C C6020040 */ lwc1 $f2, 0x40($s0) +/* 8D1880 80240370 3C01447A */ lui $at, 0x447a +/* 8D1884 80240374 44812000 */ mtc1 $at, $f4 +/* 8D1888 80240378 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D188C 8024037C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 8D1890 80240380 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D1894 80240384 E7A20030 */ swc1 $f2, 0x30($sp) +/* 8D1898 80240388 E7A40034 */ swc1 $f4, 0x34($sp) +/* 8D189C 8024038C AFA20010 */ sw $v0, 0x10($sp) +/* 8D18A0 80240390 8E040080 */ lw $a0, 0x80($s0) +/* 8D18A4 80240394 0C0372DF */ jal func_800DCB7C +/* 8D18A8 80240398 27A70030 */ addiu $a3, $sp, 0x30 +/* 8D18AC 8024039C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 8D18B0 802403A0 461A2100 */ add.s $f4, $f4, $f26 +/* 8D18B4 802403A4 46142081 */ sub.s $f2, $f4, $f20 +/* 8D18B8 802403A8 3C018024 */ lui $at, 0x8024 +/* 8D18BC 802403AC D4202860 */ ldc1 $f0, 0x2860($at) +/* 8D18C0 802403B0 460010A1 */ cvt.d.s $f2, $f2 +/* 8D18C4 802403B4 46201082 */ mul.d $f2, $f2, $f0 +/* 8D18C8 802403B8 00000000 */ nop +/* 8D18CC 802403BC 4600A021 */ cvt.d.s $f0, $f20 +/* 8D18D0 802403C0 46220000 */ add.d $f0, $f0, $f2 +.L802403C4: +/* 8D18D4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 8D18D8 802403C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D18DC 802403CC C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D18E0 802403D0 46002001 */ sub.s $f0, $f4, $f0 +/* 8D18E4 802403D4 3C013FF0 */ lui $at, 0x3ff0 +/* 8D18E8 802403D8 44811800 */ mtc1 $at, $f3 +/* 8D18EC 802403DC 44801000 */ mtc1 $zero, $f2 +/* 8D18F0 802403E0 46000005 */ abs.s $f0, $f0 +/* 8D18F4 802403E4 46000021 */ cvt.d.s $f0, $f0 +/* 8D18F8 802403E8 4622003C */ c.lt.d $f0, $f2 +/* 8D18FC 802403EC 00000000 */ nop +/* 8D1900 802403F0 45000036 */ bc1f .L802404CC +/* 8D1904 802403F4 2403FFEF */ addiu $v1, $zero, -0x11 +/* 8D1908 802403F8 E604003C */ swc1 $f4, 0x3c($s0) +/* 8D190C 802403FC 8E22006C */ lw $v0, 0x6c($s1) +/* 8D1910 80240400 00431024 */ and $v0, $v0, $v1 +/* 8D1914 80240404 08090133 */ j .L802404CC +/* 8D1918 80240408 AE22006C */ sw $v0, 0x6c($s1) +.L8024040C: +/* 8D191C 8024040C 8E220070 */ lw $v0, 0x70($s1) +/* 8D1920 80240410 1840002E */ blez $v0, .L802404CC +/* 8D1924 80240414 00000000 */ nop +/* 8D1928 80240418 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8D192C 8024041C 0C00A8BB */ jal sin_deg +/* 8D1930 80240420 46806320 */ cvt.s.w $f12, $f12 +/* 8D1934 80240424 8E020000 */ lw $v0, ($s0) +/* 8D1938 80240428 30420008 */ andi $v0, $v0, 8 +/* 8D193C 8024042C 10400003 */ beqz $v0, .L8024043C +/* 8D1940 80240430 46000506 */ mov.s $f20, $f0 +/* 8D1944 80240434 0809011F */ j .L8024047C +/* 8D1948 80240438 0000102D */ daddu $v0, $zero, $zero +.L8024043C: +/* 8D194C 8024043C 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D1950 80240440 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D1954 80240444 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D1958 80240448 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D195C 8024044C C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D1960 80240450 3C01447A */ lui $at, 0x447a +/* 8D1964 80240454 44813000 */ mtc1 $at, $f6 +/* 8D1968 80240458 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D196C 8024045C E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D1970 80240460 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D1974 80240464 E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D1978 80240468 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D197C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 8D1980 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 8D1984 80240474 0C0372DF */ jal func_800DCB7C +/* 8D1988 80240478 27A70030 */ addiu $a3, $sp, 0x30 +.L8024047C: +/* 8D198C 8024047C 10400007 */ beqz $v0, .L8024049C +/* 8D1990 80240480 00000000 */ nop +/* 8D1994 80240484 4616A082 */ mul.s $f2, $f20, $f22 +/* 8D1998 80240488 00000000 */ nop +/* 8D199C 8024048C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8D19A0 80240490 461A0000 */ add.s $f0, $f0, $f26 +/* 8D19A4 80240494 0809012A */ j .L802404A8 +/* 8D19A8 80240498 46020000 */ add.s $f0, $f0, $f2 +.L8024049C: +/* 8D19AC 8024049C 4616A002 */ mul.s $f0, $f20, $f22 +/* 8D19B0 802404A0 00000000 */ nop +/* 8D19B4 802404A4 4600C000 */ add.s $f0, $f24, $f0 +.L802404A8: +/* 8D19B8 802404A8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D19BC 802404AC 8E220074 */ lw $v0, 0x74($s1) +/* 8D19C0 802404B0 2442000A */ addiu $v0, $v0, 0xa +/* 8D19C4 802404B4 44826000 */ mtc1 $v0, $f12 +/* 8D19C8 802404B8 00000000 */ nop +/* 8D19CC 802404BC 0C00A6C9 */ jal clamp_angle +/* 8D19D0 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* 8D19D4 802404C4 4600020D */ trunc.w.s $f8, $f0 +/* 8D19D8 802404C8 E6280074 */ swc1 $f8, 0x74($s1) +.L802404CC: +/* 8D19DC 802404CC 8E220090 */ lw $v0, 0x90($s1) +/* 8D19E0 802404D0 1C40004A */ bgtz $v0, .L802405FC +/* 8D19E4 802404D4 2442FFFF */ addiu $v0, $v0, -1 +/* 8D19E8 802404D8 8E430014 */ lw $v1, 0x14($s2) +/* 8D19EC 802404DC 04600048 */ bltz $v1, .L80240600 +/* 8D19F0 802404E0 00000000 */ nop +/* 8D19F4 802404E4 8E620074 */ lw $v0, 0x74($s3) +/* 8D19F8 802404E8 1C400042 */ bgtz $v0, .L802405F4 +/* 8D19FC 802404EC 2442FFFF */ addiu $v0, $v0, -1 +/* 8D1A00 802404F0 AE630074 */ sw $v1, 0x74($s3) +/* 8D1A04 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 8D1A08 802404F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D1A0C 802404FC 44820000 */ mtc1 $v0, $f0 +/* 8D1A10 80240500 00000000 */ nop +/* 8D1A14 80240504 46800020 */ cvt.s.w $f0, $f0 +/* 8D1A18 80240508 46001080 */ add.s $f2, $f2, $f0 +/* 8D1A1C 8024050C 3C014024 */ lui $at, 0x4024 +/* 8D1A20 80240510 44810800 */ mtc1 $at, $f1 +/* 8D1A24 80240514 44800000 */ mtc1 $zero, $f0 +/* 8D1A28 80240518 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D1A2C 8024051C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D1A30 80240520 460010A1 */ cvt.d.s $f2, $f2 +/* 8D1A34 80240524 46201080 */ add.d $f2, $f2, $f0 +/* 8D1A38 80240528 C440002C */ lwc1 $f0, 0x2c($v0) +/* 8D1A3C 8024052C 46000021 */ cvt.d.s $f0, $f0 +/* 8D1A40 80240530 4622003C */ c.lt.d $f0, $f2 +/* 8D1A44 80240534 00000000 */ nop +/* 8D1A48 80240538 4500002C */ bc1f .L802405EC +/* 8D1A4C 8024053C 02A0202D */ daddu $a0, $s5, $zero +/* 8D1A50 80240540 AFA00010 */ sw $zero, 0x10($sp) +/* 8D1A54 80240544 8E46000C */ lw $a2, 0xc($s2) +/* 8D1A58 80240548 8E470010 */ lw $a3, 0x10($s2) +/* 8D1A5C 8024054C 0C01242D */ jal func_800490B4 +/* 8D1A60 80240550 0220282D */ daddu $a1, $s1, $zero +/* 8D1A64 80240554 10400025 */ beqz $v0, .L802405EC +/* 8D1A68 80240558 0000202D */ daddu $a0, $zero, $zero +/* 8D1A6C 8024055C 0200282D */ daddu $a1, $s0, $zero +/* 8D1A70 80240560 0000302D */ daddu $a2, $zero, $zero +/* 8D1A74 80240564 2412000C */ addiu $s2, $zero, 0xc +/* 8D1A78 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* 8D1A7C 8024056C 3C013F80 */ lui $at, 0x3f80 +/* 8D1A80 80240570 44810000 */ mtc1 $at, $f0 +/* 8D1A84 80240574 3C014000 */ lui $at, 0x4000 +/* 8D1A88 80240578 44811000 */ mtc1 $at, $f2 +/* 8D1A8C 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D1A90 80240580 44812000 */ mtc1 $at, $f4 +/* 8D1A94 80240584 44834000 */ mtc1 $v1, $f8 +/* 8D1A98 80240588 00000000 */ nop +/* 8D1A9C 8024058C 46804220 */ cvt.s.w $f8, $f8 +/* 8D1AA0 80240590 44074000 */ mfc1 $a3, $f8 +/* 8D1AA4 80240594 27A20038 */ addiu $v0, $sp, 0x38 +/* 8D1AA8 80240598 AFB2001C */ sw $s2, 0x1c($sp) +/* 8D1AAC 8024059C AFA20020 */ sw $v0, 0x20($sp) +/* 8D1AB0 802405A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D1AB4 802405A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D1AB8 802405A8 0C01BFA4 */ jal fx_emote +/* 8D1ABC 802405AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D1AC0 802405B0 0200202D */ daddu $a0, $s0, $zero +/* 8D1AC4 802405B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D1AC8 802405B8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8D1ACC 802405BC 3C060020 */ lui $a2, 0x20 +/* 8D1AD0 802405C0 0C012530 */ jal func_800494C0 +/* 8D1AD4 802405C4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8D1AD8 802405C8 8E220018 */ lw $v0, 0x18($s1) +/* 8D1ADC 802405CC 9442002A */ lhu $v0, 0x2a($v0) +/* 8D1AE0 802405D0 30420001 */ andi $v0, $v0, 1 +/* 8D1AE4 802405D4 10400003 */ beqz $v0, .L802405E4 +/* 8D1AE8 802405D8 2402000A */ addiu $v0, $zero, 0xa +/* 8D1AEC 802405DC 080901E9 */ j .L802407A4 +/* 8D1AF0 802405E0 AE620070 */ sw $v0, 0x70($s3) +.L802405E4: +/* 8D1AF4 802405E4 080901E9 */ j .L802407A4 +/* 8D1AF8 802405E8 AE720070 */ sw $s2, 0x70($s3) +.L802405EC: +/* 8D1AFC 802405EC 8E620074 */ lw $v0, 0x74($s3) +/* 8D1B00 802405F0 2442FFFF */ addiu $v0, $v0, -1 +.L802405F4: +/* 8D1B04 802405F4 08090180 */ j .L80240600 +/* 8D1B08 802405F8 AE620074 */ sw $v0, 0x74($s3) +.L802405FC: +/* 8D1B0C 802405FC AE220090 */ sw $v0, 0x90($s1) +.L80240600: +/* 8D1B10 80240600 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8D1B14 80240604 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8D1B18 80240608 C4620000 */ lwc1 $f2, ($v1) +/* 8D1B1C 8024060C 468010A0 */ cvt.s.w $f2, $f2 +/* 8D1B20 80240610 C4640008 */ lwc1 $f4, 8($v1) +/* 8D1B24 80240614 46802120 */ cvt.s.w $f4, $f4 +/* 8D1B28 80240618 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D1B2C 8024061C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1B30 80240620 44051000 */ mfc1 $a1, $f2 +/* 8D1B34 80240624 C440000C */ lwc1 $f0, 0xc($v0) +/* 8D1B38 80240628 46800020 */ cvt.s.w $f0, $f0 +/* 8D1B3C 8024062C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8D1B40 80240630 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1B44 80240634 44062000 */ mfc1 $a2, $f4 +/* 8D1B48 80240638 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8D1B4C 8024063C 46800020 */ cvt.s.w $f0, $f0 +/* 8D1B50 80240640 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D1B54 80240644 8C640018 */ lw $a0, 0x18($v1) +/* 8D1B58 80240648 0C0123F5 */ jal is_point_within_region +/* 8D1B5C 8024064C 8E070038 */ lw $a3, 0x38($s0) +/* 8D1B60 80240650 1040001A */ beqz $v0, .L802406BC +/* 8D1B64 80240654 00000000 */ nop +/* 8D1B68 80240658 8E060038 */ lw $a2, 0x38($s0) +/* 8D1B6C 8024065C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1B70 80240660 8E070040 */ lw $a3, 0x40($s0) +/* 8D1B74 80240664 C44C0000 */ lwc1 $f12, ($v0) +/* 8D1B78 80240668 46806320 */ cvt.s.w $f12, $f12 +/* 8D1B7C 8024066C C44E0008 */ lwc1 $f14, 8($v0) +/* 8D1B80 80240670 0C00A7B5 */ jal dist2D +/* 8D1B84 80240674 468073A0 */ cvt.s.w $f14, $f14 +/* 8D1B88 80240678 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8D1B8C 8024067C 4600103C */ c.lt.s $f2, $f0 +/* 8D1B90 80240680 00000000 */ nop +/* 8D1B94 80240684 4500000D */ bc1f .L802406BC +/* 8D1B98 80240688 E7A00034 */ swc1 $f0, 0x34($sp) +/* 8D1B9C 8024068C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D1BA0 80240690 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1BA4 80240694 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D1BA8 80240698 C4480000 */ lwc1 $f8, ($v0) +/* 8D1BAC 8024069C 46804220 */ cvt.s.w $f8, $f8 +/* 8D1BB0 802406A0 44064000 */ mfc1 $a2, $f8 +/* 8D1BB4 802406A4 C4480008 */ lwc1 $f8, 8($v0) +/* 8D1BB8 802406A8 46804220 */ cvt.s.w $f8, $f8 +/* 8D1BBC 802406AC 44074000 */ mfc1 $a3, $f8 +/* 8D1BC0 802406B0 0C00A720 */ jal atan2 +/* 8D1BC4 802406B4 24140001 */ addiu $s4, $zero, 1 +/* 8D1BC8 802406B8 E600000C */ swc1 $f0, 0xc($s0) +.L802406BC: +/* 8D1BCC 802406BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D1BD0 802406C0 8C43000C */ lw $v1, 0xc($v0) +/* 8D1BD4 802406C4 8C420010 */ lw $v0, 0x10($v0) +/* 8D1BD8 802406C8 00621825 */ or $v1, $v1, $v0 +/* 8D1BDC 802406CC 00741825 */ or $v1, $v1, $s4 +/* 8D1BE0 802406D0 10600008 */ beqz $v1, .L802406F4 +/* 8D1BE4 802406D4 00000000 */ nop +/* 8D1BE8 802406D8 8602008C */ lh $v0, 0x8c($s0) +/* 8D1BEC 802406DC 14400031 */ bnez $v0, .L802407A4 +/* 8D1BF0 802406E0 00000000 */ nop +/* 8D1BF4 802406E4 8E050018 */ lw $a1, 0x18($s0) +/* 8D1BF8 802406E8 8E06000C */ lw $a2, 0xc($s0) +/* 8D1BFC 802406EC 0C00EA95 */ jal npc_move_heading +/* 8D1C00 802406F0 0200202D */ daddu $a0, $s0, $zero +.L802406F4: +/* 8D1C04 802406F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D1C08 802406F8 3C014059 */ lui $at, 0x4059 +/* 8D1C0C 802406FC 44811800 */ mtc1 $at, $f3 +/* 8D1C10 80240700 44801000 */ mtc1 $zero, $f2 +/* 8D1C14 80240704 46000021 */ cvt.d.s $f0, $f0 +/* 8D1C18 80240708 46220002 */ mul.d $f0, $f0, $f2 +/* 8D1C1C 8024070C 00000000 */ nop +/* 8D1C20 80240710 4620020D */ trunc.w.d $f8, $f0 +/* 8D1C24 80240714 E628007C */ swc1 $f8, 0x7c($s1) +/* 8D1C28 80240718 8E420004 */ lw $v0, 4($s2) +/* 8D1C2C 8024071C 18400021 */ blez $v0, .L802407A4 +/* 8D1C30 80240720 00000000 */ nop +/* 8D1C34 80240724 8602008E */ lh $v0, 0x8e($s0) +/* 8D1C38 80240728 9603008E */ lhu $v1, 0x8e($s0) +/* 8D1C3C 8024072C 18400005 */ blez $v0, .L80240744 +/* 8D1C40 80240730 2462FFFF */ addiu $v0, $v1, -1 +/* 8D1C44 80240734 A602008E */ sh $v0, 0x8e($s0) +/* 8D1C48 80240738 00021400 */ sll $v0, $v0, 0x10 +/* 8D1C4C 8024073C 1C400019 */ bgtz $v0, .L802407A4 +/* 8D1C50 80240740 00000000 */ nop +.L80240744: +/* 8D1C54 80240744 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8D1C58 80240748 24020002 */ addiu $v0, $zero, 2 +/* 8D1C5C 8024074C 0C00A67F */ jal rand_int +/* 8D1C60 80240750 AE620070 */ sw $v0, 0x70($s3) +/* 8D1C64 80240754 3C035555 */ lui $v1, 0x5555 +/* 8D1C68 80240758 34635556 */ ori $v1, $v1, 0x5556 +/* 8D1C6C 8024075C 00430018 */ mult $v0, $v1 +/* 8D1C70 80240760 000227C3 */ sra $a0, $v0, 0x1f +/* 8D1C74 80240764 00004010 */ mfhi $t0 +/* 8D1C78 80240768 01042023 */ subu $a0, $t0, $a0 +/* 8D1C7C 8024076C 00041840 */ sll $v1, $a0, 1 +/* 8D1C80 80240770 00641821 */ addu $v1, $v1, $a0 +/* 8D1C84 80240774 00431023 */ subu $v0, $v0, $v1 +/* 8D1C88 80240778 24430002 */ addiu $v1, $v0, 2 +/* 8D1C8C 8024077C AE630074 */ sw $v1, 0x74($s3) +/* 8D1C90 80240780 8E42002C */ lw $v0, 0x2c($s2) +/* 8D1C94 80240784 58400007 */ blezl $v0, .L802407A4 +/* 8D1C98 80240788 AE600070 */ sw $zero, 0x70($s3) +/* 8D1C9C 8024078C 8E420008 */ lw $v0, 8($s2) +/* 8D1CA0 80240790 18400003 */ blez $v0, .L802407A0 +/* 8D1CA4 80240794 28620003 */ slti $v0, $v1, 3 +/* 8D1CA8 80240798 10400002 */ beqz $v0, .L802407A4 +/* 8D1CAC 8024079C 00000000 */ nop +.L802407A0: +/* 8D1CB0 802407A0 AE600070 */ sw $zero, 0x70($s3) +.L802407A4: +/* 8D1CB4 802407A4 8FBF0058 */ lw $ra, 0x58($sp) +/* 8D1CB8 802407A8 8FB50054 */ lw $s5, 0x54($sp) +/* 8D1CBC 802407AC 8FB40050 */ lw $s4, 0x50($sp) +/* 8D1CC0 802407B0 8FB3004C */ lw $s3, 0x4c($sp) +/* 8D1CC4 802407B4 8FB20048 */ lw $s2, 0x48($sp) +/* 8D1CC8 802407B8 8FB10044 */ lw $s1, 0x44($sp) +/* 8D1CCC 802407BC 8FB00040 */ lw $s0, 0x40($sp) +/* 8D1CD0 802407C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8D1CD4 802407C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8D1CD8 802407C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8D1CDC 802407CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8D1CE0 802407D0 03E00008 */ jr $ra +/* 8D1CE4 802407D4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802407D8_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802407D8_8D1510.s new file mode 100644 index 0000000000..c65ba9dc36 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802407D8_8D1510.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D8_8D1CE8 +/* 8D1CE8 802407D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D1CEC 802407DC AFB3001C */ sw $s3, 0x1c($sp) +/* 8D1CF0 802407E0 0080982D */ daddu $s3, $a0, $zero +/* 8D1CF4 802407E4 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D1CF8 802407E8 AFB20018 */ sw $s2, 0x18($sp) +/* 8D1CFC 802407EC AFB10014 */ sw $s1, 0x14($sp) +/* 8D1D00 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* 8D1D04 802407F4 8E720148 */ lw $s2, 0x148($s3) +/* 8D1D08 802407F8 86440008 */ lh $a0, 8($s2) +/* 8D1D0C 802407FC 0C00EABB */ jal get_npc_unsafe +/* 8D1D10 80240800 00A0882D */ daddu $s1, $a1, $zero +/* 8D1D14 80240804 8E240008 */ lw $a0, 8($s1) +/* 8D1D18 80240808 0040802D */ daddu $s0, $v0, $zero +/* 8D1D1C 8024080C 00041FC2 */ srl $v1, $a0, 0x1f +/* 8D1D20 80240810 00832021 */ addu $a0, $a0, $v1 +/* 8D1D24 80240814 00042043 */ sra $a0, $a0, 1 +/* 8D1D28 80240818 0C00A67F */ jal rand_int +/* 8D1D2C 8024081C 24840001 */ addiu $a0, $a0, 1 +/* 8D1D30 80240820 8E230008 */ lw $v1, 8($s1) +/* 8D1D34 80240824 240400B4 */ addiu $a0, $zero, 0xb4 +/* 8D1D38 80240828 00032FC2 */ srl $a1, $v1, 0x1f +/* 8D1D3C 8024082C 00651821 */ addu $v1, $v1, $a1 +/* 8D1D40 80240830 00031843 */ sra $v1, $v1, 1 +/* 8D1D44 80240834 00621821 */ addu $v1, $v1, $v0 +/* 8D1D48 80240838 0C00A67F */ jal rand_int +/* 8D1D4C 8024083C A603008E */ sh $v1, 0x8e($s0) +/* 8D1D50 80240840 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D1D54 80240844 44820000 */ mtc1 $v0, $f0 +/* 8D1D58 80240848 00000000 */ nop +/* 8D1D5C 8024084C 46800020 */ cvt.s.w $f0, $f0 +/* 8D1D60 80240850 46006300 */ add.s $f12, $f12, $f0 +/* 8D1D64 80240854 3C0142B4 */ lui $at, 0x42b4 +/* 8D1D68 80240858 44810000 */ mtc1 $at, $f0 +/* 8D1D6C 8024085C 0C00A6C9 */ jal clamp_angle +/* 8D1D70 80240860 46006301 */ sub.s $f12, $f12, $f0 +/* 8D1D74 80240864 E600000C */ swc1 $f0, 0xc($s0) +/* 8D1D78 80240868 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D1D7C 8024086C 8C420000 */ lw $v0, ($v0) +/* 8D1D80 80240870 AE020028 */ sw $v0, 0x28($s0) +/* 8D1D84 80240874 24020003 */ addiu $v0, $zero, 3 +/* 8D1D88 80240878 AE620070 */ sw $v0, 0x70($s3) +/* 8D1D8C 8024087C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D1D90 80240880 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D1D94 80240884 8FB20018 */ lw $s2, 0x18($sp) +/* 8D1D98 80240888 8FB10014 */ lw $s1, 0x14($sp) +/* 8D1D9C 8024088C 8FB00010 */ lw $s0, 0x10($sp) +/* 8D1DA0 80240890 03E00008 */ jr $ra +/* 8D1DA4 80240894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240898_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240898_8D1510.s new file mode 100644 index 0000000000..fdae036b45 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240898_8D1510.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898_8D1DA8 +/* 8D1DA8 80240898 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 8D1DAC 8024089C AFB3004C */ sw $s3, 0x4c($sp) +/* 8D1DB0 802408A0 0080982D */ daddu $s3, $a0, $zero +/* 8D1DB4 802408A4 AFBF0054 */ sw $ra, 0x54($sp) +/* 8D1DB8 802408A8 AFB40050 */ sw $s4, 0x50($sp) +/* 8D1DBC 802408AC AFB20048 */ sw $s2, 0x48($sp) +/* 8D1DC0 802408B0 AFB10044 */ sw $s1, 0x44($sp) +/* 8D1DC4 802408B4 AFB00040 */ sw $s0, 0x40($sp) +/* 8D1DC8 802408B8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 8D1DCC 802408BC F7B80068 */ sdc1 $f24, 0x68($sp) +/* 8D1DD0 802408C0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 8D1DD4 802408C4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 8D1DD8 802408C8 8E710148 */ lw $s1, 0x148($s3) +/* 8D1DDC 802408CC 00A0902D */ daddu $s2, $a1, $zero +/* 8D1DE0 802408D0 86240008 */ lh $a0, 8($s1) +/* 8D1DE4 802408D4 0C00EABB */ jal get_npc_unsafe +/* 8D1DE8 802408D8 00C0A02D */ daddu $s4, $a2, $zero +/* 8D1DEC 802408DC 0040802D */ daddu $s0, $v0, $zero +/* 8D1DF0 802408E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D1DF4 802408E4 46800020 */ cvt.s.w $f0, $f0 +/* 8D1DF8 802408E8 46000021 */ cvt.d.s $f0, $f0 +/* 8D1DFC 802408EC 3C014059 */ lui $at, 0x4059 +/* 8D1E00 802408F0 44811800 */ mtc1 $at, $f3 +/* 8D1E04 802408F4 44801000 */ mtc1 $zero, $f2 +/* 8D1E08 802408F8 8602008E */ lh $v0, 0x8e($s0) +/* 8D1E0C 802408FC 9603008E */ lhu $v1, 0x8e($s0) +/* 8D1E10 80240900 46220003 */ div.d $f0, $f0, $f2 +/* 8D1E14 80240904 46200620 */ cvt.s.d $f24, $f0 +/* 8D1E18 80240908 C6200088 */ lwc1 $f0, 0x88($s1) +/* 8D1E1C 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* 8D1E20 80240910 46000021 */ cvt.d.s $f0, $f0 +/* 8D1E24 80240914 46220003 */ div.d $f0, $f0, $f2 +/* 8D1E28 80240918 46200020 */ cvt.s.d $f0, $f0 +/* 8D1E2C 8024091C 18400003 */ blez $v0, .L8024092C +/* 8D1E30 80240920 4600C680 */ add.s $f26, $f24, $f0 +/* 8D1E34 80240924 2462FFFF */ addiu $v0, $v1, -1 +/* 8D1E38 80240928 A602008E */ sh $v0, 0x8e($s0) +.L8024092C: +/* 8D1E3C 8024092C 8E220070 */ lw $v0, 0x70($s1) +/* 8D1E40 80240930 18400034 */ blez $v0, .L80240A04 +/* 8D1E44 80240934 00000000 */ nop +/* 8D1E48 80240938 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8D1E4C 8024093C 46806320 */ cvt.s.w $f12, $f12 +/* 8D1E50 80240940 44820000 */ mtc1 $v0, $f0 +/* 8D1E54 80240944 00000000 */ nop +/* 8D1E58 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 8D1E5C 8024094C 46000021 */ cvt.d.s $f0, $f0 +/* 8D1E60 80240950 46220003 */ div.d $f0, $f0, $f2 +/* 8D1E64 80240954 0C00A8BB */ jal sin_deg +/* 8D1E68 80240958 462005A0 */ cvt.s.d $f22, $f0 +/* 8D1E6C 8024095C 8E020000 */ lw $v0, ($s0) +/* 8D1E70 80240960 30420008 */ andi $v0, $v0, 8 +/* 8D1E74 80240964 10400003 */ beqz $v0, .L80240974 +/* 8D1E78 80240968 46000506 */ mov.s $f20, $f0 +/* 8D1E7C 8024096C 0809026D */ j .L802409B4 +/* 8D1E80 80240970 0000102D */ daddu $v0, $zero, $zero +.L80240974: +/* 8D1E84 80240974 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D1E88 80240978 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D1E8C 8024097C C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D1E90 80240980 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D1E94 80240984 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D1E98 80240988 3C01447A */ lui $at, 0x447a +/* 8D1E9C 8024098C 44813000 */ mtc1 $at, $f6 +/* 8D1EA0 80240990 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D1EA4 80240994 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D1EA8 80240998 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D1EAC 8024099C E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D1EB0 802409A0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D1EB4 802409A4 AFA20010 */ sw $v0, 0x10($sp) +/* 8D1EB8 802409A8 8E040080 */ lw $a0, 0x80($s0) +/* 8D1EBC 802409AC 0C0372DF */ jal func_800DCB7C +/* 8D1EC0 802409B0 27A70030 */ addiu $a3, $sp, 0x30 +.L802409B4: +/* 8D1EC4 802409B4 10400007 */ beqz $v0, .L802409D4 +/* 8D1EC8 802409B8 00000000 */ nop +/* 8D1ECC 802409BC 4616A082 */ mul.s $f2, $f20, $f22 +/* 8D1ED0 802409C0 00000000 */ nop +/* 8D1ED4 802409C4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8D1ED8 802409C8 46180000 */ add.s $f0, $f0, $f24 +/* 8D1EDC 802409CC 08090278 */ j .L802409E0 +/* 8D1EE0 802409D0 46020000 */ add.s $f0, $f0, $f2 +.L802409D4: +/* 8D1EE4 802409D4 4616A002 */ mul.s $f0, $f20, $f22 +/* 8D1EE8 802409D8 00000000 */ nop +/* 8D1EEC 802409DC 4600D000 */ add.s $f0, $f26, $f0 +.L802409E0: +/* 8D1EF0 802409E0 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D1EF4 802409E4 8E220074 */ lw $v0, 0x74($s1) +/* 8D1EF8 802409E8 2442000A */ addiu $v0, $v0, 0xa +/* 8D1EFC 802409EC 44826000 */ mtc1 $v0, $f12 +/* 8D1F00 802409F0 00000000 */ nop +/* 8D1F04 802409F4 0C00A6C9 */ jal clamp_angle +/* 8D1F08 802409F8 46806320 */ cvt.s.w $f12, $f12 +/* 8D1F0C 802409FC 4600020D */ trunc.w.s $f8, $f0 +/* 8D1F10 80240A00 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A04: +/* 8D1F14 80240A04 8E220090 */ lw $v0, 0x90($s1) +/* 8D1F18 80240A08 1C400040 */ bgtz $v0, .L80240B0C +/* 8D1F1C 80240A0C 2442FFFF */ addiu $v0, $v0, -1 +/* 8D1F20 80240A10 860200A8 */ lh $v0, 0xa8($s0) +/* 8D1F24 80240A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D1F28 80240A18 44821000 */ mtc1 $v0, $f2 +/* 8D1F2C 80240A1C 00000000 */ nop +/* 8D1F30 80240A20 468010A0 */ cvt.s.w $f2, $f2 +/* 8D1F34 80240A24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D1F38 80240A28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D1F3C 80240A2C 46020000 */ add.s $f0, $f0, $f2 +/* 8D1F40 80240A30 3C014024 */ lui $at, 0x4024 +/* 8D1F44 80240A34 44812800 */ mtc1 $at, $f5 +/* 8D1F48 80240A38 44802000 */ mtc1 $zero, $f4 +/* 8D1F4C 80240A3C C442002C */ lwc1 $f2, 0x2c($v0) +/* 8D1F50 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* 8D1F54 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 8D1F58 80240A48 460010A1 */ cvt.d.s $f2, $f2 +/* 8D1F5C 80240A4C 4620103C */ c.lt.d $f2, $f0 +/* 8D1F60 80240A50 00000000 */ nop +/* 8D1F64 80240A54 4500002E */ bc1f .L80240B10 +/* 8D1F68 80240A58 0280202D */ daddu $a0, $s4, $zero +/* 8D1F6C 80240A5C 24020001 */ addiu $v0, $zero, 1 +/* 8D1F70 80240A60 AFA20010 */ sw $v0, 0x10($sp) +/* 8D1F74 80240A64 8E460024 */ lw $a2, 0x24($s2) +/* 8D1F78 80240A68 8E470028 */ lw $a3, 0x28($s2) +/* 8D1F7C 80240A6C 0C01242D */ jal func_800490B4 +/* 8D1F80 80240A70 0220282D */ daddu $a1, $s1, $zero +/* 8D1F84 80240A74 10400026 */ beqz $v0, .L80240B10 +/* 8D1F88 80240A78 0000202D */ daddu $a0, $zero, $zero +/* 8D1F8C 80240A7C 0200282D */ daddu $a1, $s0, $zero +/* 8D1F90 80240A80 0000302D */ daddu $a2, $zero, $zero +/* 8D1F94 80240A84 2412000C */ addiu $s2, $zero, 0xc +/* 8D1F98 80240A88 860300A8 */ lh $v1, 0xa8($s0) +/* 8D1F9C 80240A8C 3C013F80 */ lui $at, 0x3f80 +/* 8D1FA0 80240A90 44810000 */ mtc1 $at, $f0 +/* 8D1FA4 80240A94 3C014000 */ lui $at, 0x4000 +/* 8D1FA8 80240A98 44811000 */ mtc1 $at, $f2 +/* 8D1FAC 80240A9C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D1FB0 80240AA0 44812000 */ mtc1 $at, $f4 +/* 8D1FB4 80240AA4 44834000 */ mtc1 $v1, $f8 +/* 8D1FB8 80240AA8 00000000 */ nop +/* 8D1FBC 80240AAC 46804220 */ cvt.s.w $f8, $f8 +/* 8D1FC0 80240AB0 44074000 */ mfc1 $a3, $f8 +/* 8D1FC4 80240AB4 27A20038 */ addiu $v0, $sp, 0x38 +/* 8D1FC8 80240AB8 AFB2001C */ sw $s2, 0x1c($sp) +/* 8D1FCC 80240ABC AFA20020 */ sw $v0, 0x20($sp) +/* 8D1FD0 80240AC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D1FD4 80240AC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D1FD8 80240AC8 0C01BFA4 */ jal fx_emote +/* 8D1FDC 80240ACC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D1FE0 80240AD0 0200202D */ daddu $a0, $s0, $zero +/* 8D1FE4 80240AD4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D1FE8 80240AD8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8D1FEC 80240ADC 3C060020 */ lui $a2, 0x20 +/* 8D1FF0 80240AE0 0C012530 */ jal func_800494C0 +/* 8D1FF4 80240AE4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8D1FF8 80240AE8 8E220018 */ lw $v0, 0x18($s1) +/* 8D1FFC 80240AEC 9442002A */ lhu $v0, 0x2a($v0) +/* 8D2000 80240AF0 30420001 */ andi $v0, $v0, 1 +/* 8D2004 80240AF4 10400003 */ beqz $v0, .L80240B04 +/* 8D2008 80240AF8 2402000A */ addiu $v0, $zero, 0xa +/* 8D200C 80240AFC 080902EB */ j .L80240BAC +/* 8D2010 80240B00 AE620070 */ sw $v0, 0x70($s3) +.L80240B04: +/* 8D2014 80240B04 080902EB */ j .L80240BAC +/* 8D2018 80240B08 AE720070 */ sw $s2, 0x70($s3) +.L80240B0C: +/* 8D201C 80240B0C AE220090 */ sw $v0, 0x90($s1) +.L80240B10: +/* 8D2020 80240B10 8602008C */ lh $v0, 0x8c($s0) +/* 8D2024 80240B14 14400025 */ bnez $v0, .L80240BAC +/* 8D2028 80240B18 00000000 */ nop +/* 8D202C 80240B1C 8602008E */ lh $v0, 0x8e($s0) +/* 8D2030 80240B20 1C400022 */ bgtz $v0, .L80240BAC +/* 8D2034 80240B24 00000000 */ nop +/* 8D2038 80240B28 8E620074 */ lw $v0, 0x74($s3) +/* 8D203C 80240B2C 2442FFFF */ addiu $v0, $v0, -1 +/* 8D2040 80240B30 1840001D */ blez $v0, .L80240BA8 +/* 8D2044 80240B34 AE620074 */ sw $v0, 0x74($s3) +/* 8D2048 80240B38 8E220018 */ lw $v0, 0x18($s1) +/* 8D204C 80240B3C 9442002A */ lhu $v0, 0x2a($v0) +/* 8D2050 80240B40 30420010 */ andi $v0, $v0, 0x10 +/* 8D2054 80240B44 14400007 */ bnez $v0, .L80240B64 +/* 8D2058 80240B48 00000000 */ nop +/* 8D205C 80240B4C C600000C */ lwc1 $f0, 0xc($s0) +/* 8D2060 80240B50 3C014334 */ lui $at, 0x4334 +/* 8D2064 80240B54 44816000 */ mtc1 $at, $f12 +/* 8D2068 80240B58 0C00A6C9 */ jal clamp_angle +/* 8D206C 80240B5C 460C0300 */ add.s $f12, $f0, $f12 +/* 8D2070 80240B60 E600000C */ swc1 $f0, 0xc($s0) +.L80240B64: +/* 8D2074 80240B64 0C00A67F */ jal rand_int +/* 8D2078 80240B68 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8D207C 80240B6C 3C032E8B */ lui $v1, 0x2e8b +/* 8D2080 80240B70 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 8D2084 80240B74 00430018 */ mult $v0, $v1 +/* 8D2088 80240B78 00021FC3 */ sra $v1, $v0, 0x1f +/* 8D208C 80240B7C 00004010 */ mfhi $t0 +/* 8D2090 80240B80 00082043 */ sra $a0, $t0, 1 +/* 8D2094 80240B84 00832023 */ subu $a0, $a0, $v1 +/* 8D2098 80240B88 00041840 */ sll $v1, $a0, 1 +/* 8D209C 80240B8C 00641821 */ addu $v1, $v1, $a0 +/* 8D20A0 80240B90 00031880 */ sll $v1, $v1, 2 +/* 8D20A4 80240B94 00641823 */ subu $v1, $v1, $a0 +/* 8D20A8 80240B98 00431023 */ subu $v0, $v0, $v1 +/* 8D20AC 80240B9C 24420005 */ addiu $v0, $v0, 5 +/* 8D20B0 80240BA0 080902EB */ j .L80240BAC +/* 8D20B4 80240BA4 A602008E */ sh $v0, 0x8e($s0) +.L80240BA8: +/* 8D20B8 80240BA8 AE600070 */ sw $zero, 0x70($s3) +.L80240BAC: +/* 8D20BC 80240BAC 8FBF0054 */ lw $ra, 0x54($sp) +/* 8D20C0 80240BB0 8FB40050 */ lw $s4, 0x50($sp) +/* 8D20C4 80240BB4 8FB3004C */ lw $s3, 0x4c($sp) +/* 8D20C8 80240BB8 8FB20048 */ lw $s2, 0x48($sp) +/* 8D20CC 80240BBC 8FB10044 */ lw $s1, 0x44($sp) +/* 8D20D0 80240BC0 8FB00040 */ lw $s0, 0x40($sp) +/* 8D20D4 80240BC4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 8D20D8 80240BC8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* 8D20DC 80240BCC D7B60060 */ ldc1 $f22, 0x60($sp) +/* 8D20E0 80240BD0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 8D20E4 80240BD4 03E00008 */ jr $ra +/* 8D20E8 80240BD8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240BDC_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240BDC_8D1510.s new file mode 100644 index 0000000000..f6a7057ba1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240BDC_8D1510.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BDC_8D20EC +/* 8D20EC 80240BDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D20F0 80240BE0 AFB20018 */ sw $s2, 0x18($sp) +/* 8D20F4 80240BE4 0080902D */ daddu $s2, $a0, $zero +/* 8D20F8 80240BE8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8D20FC 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* 8D2100 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* 8D2104 80240BF4 8E510148 */ lw $s1, 0x148($s2) +/* 8D2108 80240BF8 0C00EABB */ jal get_npc_unsafe +/* 8D210C 80240BFC 86240008 */ lh $a0, 8($s1) +/* 8D2110 80240C00 0040802D */ daddu $s0, $v0, $zero +/* 8D2114 80240C04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D2118 80240C08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D211C 80240C0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D2120 80240C10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D2124 80240C14 A600008E */ sh $zero, 0x8e($s0) +/* 8D2128 80240C18 8C460028 */ lw $a2, 0x28($v0) +/* 8D212C 80240C1C 0C00A720 */ jal atan2 +/* 8D2130 80240C20 8C470030 */ lw $a3, 0x30($v0) +/* 8D2134 80240C24 E600000C */ swc1 $f0, 0xc($s0) +/* 8D2138 80240C28 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D213C 80240C2C 8C420020 */ lw $v0, 0x20($v0) +/* 8D2140 80240C30 AE020028 */ sw $v0, 0x28($s0) +/* 8D2144 80240C34 2402000B */ addiu $v0, $zero, 0xb +/* 8D2148 80240C38 AE420070 */ sw $v0, 0x70($s2) +/* 8D214C 80240C3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8D2150 80240C40 8FB20018 */ lw $s2, 0x18($sp) +/* 8D2154 80240C44 8FB10014 */ lw $s1, 0x14($sp) +/* 8D2158 80240C48 8FB00010 */ lw $s0, 0x10($sp) +/* 8D215C 80240C4C 03E00008 */ jr $ra +/* 8D2160 80240C50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240C54_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240C54_8D1510.s new file mode 100644 index 0000000000..41cf9ff4a8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240C54_8D1510.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C54_8D2164 +/* 8D2164 80240C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D2168 80240C58 AFB00010 */ sw $s0, 0x10($sp) +/* 8D216C 80240C5C 0080802D */ daddu $s0, $a0, $zero +/* 8D2170 80240C60 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D2174 80240C64 8E020148 */ lw $v0, 0x148($s0) +/* 8D2178 80240C68 0C00EABB */ jal get_npc_unsafe +/* 8D217C 80240C6C 84440008 */ lh $a0, 8($v0) +/* 8D2180 80240C70 9443008E */ lhu $v1, 0x8e($v0) +/* 8D2184 80240C74 C440003C */ lwc1 $f0, 0x3c($v0) +/* 8D2188 80240C78 24640001 */ addiu $a0, $v1, 1 +/* 8D218C 80240C7C 00031C00 */ sll $v1, $v1, 0x10 +/* 8D2190 80240C80 00031B83 */ sra $v1, $v1, 0xe +/* 8D2194 80240C84 A444008E */ sh $a0, 0x8e($v0) +/* 8D2198 80240C88 3C018024 */ lui $at, 0x8024 +/* 8D219C 80240C8C 00230821 */ addu $at, $at, $v1 +/* 8D21A0 80240C90 C42220BC */ lwc1 $f2, 0x20bc($at) +/* 8D21A4 80240C94 8443008E */ lh $v1, 0x8e($v0) +/* 8D21A8 80240C98 46020000 */ add.s $f0, $f0, $f2 +/* 8D21AC 80240C9C 28630005 */ slti $v1, $v1, 5 +/* 8D21B0 80240CA0 14600003 */ bnez $v1, .L80240CB0 +/* 8D21B4 80240CA4 E440003C */ swc1 $f0, 0x3c($v0) +/* 8D21B8 80240CA8 2402000C */ addiu $v0, $zero, 0xc +/* 8D21BC 80240CAC AE020070 */ sw $v0, 0x70($s0) +.L80240CB0: +/* 8D21C0 80240CB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D21C4 80240CB4 8FB00010 */ lw $s0, 0x10($sp) +/* 8D21C8 80240CB8 03E00008 */ jr $ra +/* 8D21CC 80240CBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240CC0_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240CC0_8D1510.s new file mode 100644 index 0000000000..c9057dd5d9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240CC0_8D1510.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_8D21D0 +/* 8D21D0 80240CC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D21D4 80240CC4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D21D8 80240CC8 0080982D */ daddu $s3, $a0, $zero +/* 8D21DC 80240CCC AFBF0020 */ sw $ra, 0x20($sp) +/* 8D21E0 80240CD0 AFB20018 */ sw $s2, 0x18($sp) +/* 8D21E4 80240CD4 AFB10014 */ sw $s1, 0x14($sp) +/* 8D21E8 80240CD8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D21EC 80240CDC 8E720148 */ lw $s2, 0x148($s3) +/* 8D21F0 80240CE0 86440008 */ lh $a0, 8($s2) +/* 8D21F4 80240CE4 0C00EABB */ jal get_npc_unsafe +/* 8D21F8 80240CE8 00A0802D */ daddu $s0, $a1, $zero +/* 8D21FC 80240CEC 0040882D */ daddu $s1, $v0, $zero +/* 8D2200 80240CF0 C6420080 */ lwc1 $f2, 0x80($s2) +/* 8D2204 80240CF4 468010A0 */ cvt.s.w $f2, $f2 +/* 8D2208 80240CF8 460010A1 */ cvt.d.s $f2, $f2 +/* 8D220C 80240CFC C6400084 */ lwc1 $f0, 0x84($s2) +/* 8D2210 80240D00 46800020 */ cvt.s.w $f0, $f0 +/* 8D2214 80240D04 46000021 */ cvt.d.s $f0, $f0 +/* 8D2218 80240D08 3C014059 */ lui $at, 0x4059 +/* 8D221C 80240D0C 44812800 */ mtc1 $at, $f5 +/* 8D2220 80240D10 44802000 */ mtc1 $zero, $f4 +/* 8D2224 80240D14 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D2228 80240D18 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8D222C 80240D1C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8D2230 80240D20 46241083 */ div.d $f2, $f2, $f4 +/* 8D2234 80240D24 462010A0 */ cvt.s.d $f2, $f2 +/* 8D2238 80240D28 46240003 */ div.d $f0, $f0, $f4 +/* 8D223C 80240D2C 8C420020 */ lw $v0, 0x20($v0) +/* 8D2240 80240D30 46200020 */ cvt.s.d $f0, $f0 +/* 8D2244 80240D34 E622001C */ swc1 $f2, 0x1c($s1) +/* 8D2248 80240D38 E6200014 */ swc1 $f0, 0x14($s1) +/* 8D224C 80240D3C AE220028 */ sw $v0, 0x28($s1) +/* 8D2250 80240D40 C6000018 */ lwc1 $f0, 0x18($s0) +/* 8D2254 80240D44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D2258 80240D48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D225C 80240D4C E6200018 */ swc1 $f0, 0x18($s1) +/* 8D2260 80240D50 8C460028 */ lw $a2, 0x28($v0) +/* 8D2264 80240D54 0C00A720 */ jal atan2 +/* 8D2268 80240D58 8C470030 */ lw $a3, 0x30($v0) +/* 8D226C 80240D5C E620000C */ swc1 $f0, 0xc($s1) +/* 8D2270 80240D60 8E420018 */ lw $v0, 0x18($s2) +/* 8D2274 80240D64 AE400074 */ sw $zero, 0x74($s2) +/* 8D2278 80240D68 9442002A */ lhu $v0, 0x2a($v0) +/* 8D227C 80240D6C 30420002 */ andi $v0, $v0, 2 +/* 8D2280 80240D70 10400005 */ beqz $v0, .L80240D88 +/* 8D2284 80240D74 24020003 */ addiu $v0, $zero, 3 +/* 8D2288 80240D78 A622008E */ sh $v0, 0x8e($s1) +/* 8D228C 80240D7C 2402000D */ addiu $v0, $zero, 0xd +/* 8D2290 80240D80 08090376 */ j .L80240DD8 +/* 8D2294 80240D84 AE620070 */ sw $v0, 0x70($s3) +.L80240D88: +/* 8D2298 80240D88 24030001 */ addiu $v1, $zero, 1 +/* 8D229C 80240D8C 2402000E */ addiu $v0, $zero, 0xe +/* 8D22A0 80240D90 A623008E */ sh $v1, 0x8e($s1) +/* 8D22A4 80240D94 AE620070 */ sw $v0, 0x70($s3) +/* 8D22A8 80240D98 C6200038 */ lwc1 $f0, 0x38($s1) +/* 8D22AC 80240D9C 4600018D */ trunc.w.s $f6, $f0 +/* 8D22B0 80240DA0 44023000 */ mfc1 $v0, $f6 +/* 8D22B4 80240DA4 00000000 */ nop +/* 8D22B8 80240DA8 A6420010 */ sh $v0, 0x10($s2) +/* 8D22BC 80240DAC C620003C */ lwc1 $f0, 0x3c($s1) +/* 8D22C0 80240DB0 4600018D */ trunc.w.s $f6, $f0 +/* 8D22C4 80240DB4 44023000 */ mfc1 $v0, $f6 +/* 8D22C8 80240DB8 00000000 */ nop +/* 8D22CC 80240DBC A6420012 */ sh $v0, 0x12($s2) +/* 8D22D0 80240DC0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 8D22D4 80240DC4 A2430007 */ sb $v1, 7($s2) +/* 8D22D8 80240DC8 4600018D */ trunc.w.s $f6, $f0 +/* 8D22DC 80240DCC 44023000 */ mfc1 $v0, $f6 +/* 8D22E0 80240DD0 00000000 */ nop +/* 8D22E4 80240DD4 A6420014 */ sh $v0, 0x14($s2) +.L80240DD8: +/* 8D22E8 80240DD8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D22EC 80240DDC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D22F0 80240DE0 8FB20018 */ lw $s2, 0x18($sp) +/* 8D22F4 80240DE4 8FB10014 */ lw $s1, 0x14($sp) +/* 8D22F8 80240DE8 8FB00010 */ lw $s0, 0x10($sp) +/* 8D22FC 80240DEC 03E00008 */ jr $ra +/* 8D2300 80240DF0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240DF4_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240DF4_8D1510.s new file mode 100644 index 0000000000..cd01107e4a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240DF4_8D1510.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF4_8D2304 +/* 8D2304 80240DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D2308 80240DF8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D230C 80240DFC 0080802D */ daddu $s0, $a0, $zero +/* 8D2310 80240E00 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D2314 80240E04 8E020148 */ lw $v0, 0x148($s0) +/* 8D2318 80240E08 0C00EABB */ jal get_npc_unsafe +/* 8D231C 80240E0C 84440008 */ lh $a0, 8($v0) +/* 8D2320 80240E10 0040202D */ daddu $a0, $v0, $zero +/* 8D2324 80240E14 8482008E */ lh $v0, 0x8e($a0) +/* 8D2328 80240E18 9483008E */ lhu $v1, 0x8e($a0) +/* 8D232C 80240E1C 18400005 */ blez $v0, .L80240E34 +/* 8D2330 80240E20 2462FFFF */ addiu $v0, $v1, -1 +/* 8D2334 80240E24 A482008E */ sh $v0, 0x8e($a0) +/* 8D2338 80240E28 00021400 */ sll $v0, $v0, 0x10 +/* 8D233C 80240E2C 1C400006 */ bgtz $v0, .L80240E48 +/* 8D2340 80240E30 00000000 */ nop +.L80240E34: +/* 8D2344 80240E34 8482008C */ lh $v0, 0x8c($a0) +/* 8D2348 80240E38 14400003 */ bnez $v0, .L80240E48 +/* 8D234C 80240E3C 2402000E */ addiu $v0, $zero, 0xe +/* 8D2350 80240E40 A480008E */ sh $zero, 0x8e($a0) +/* 8D2354 80240E44 AE020070 */ sw $v0, 0x70($s0) +.L80240E48: +/* 8D2358 80240E48 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D235C 80240E4C 8FB00010 */ lw $s0, 0x10($sp) +/* 8D2360 80240E50 03E00008 */ jr $ra +/* 8D2364 80240E54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80240E58_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240E58_8D1510.s new file mode 100644 index 0000000000..73efab6336 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80240E58_8D1510.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E58_8D2368 +/* 8D2368 80240E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8D236C 80240E5C AFB20030 */ sw $s2, 0x30($sp) +/* 8D2370 80240E60 0080902D */ daddu $s2, $a0, $zero +/* 8D2374 80240E64 AFBF0038 */ sw $ra, 0x38($sp) +/* 8D2378 80240E68 AFB30034 */ sw $s3, 0x34($sp) +/* 8D237C 80240E6C AFB1002C */ sw $s1, 0x2c($sp) +/* 8D2380 80240E70 AFB00028 */ sw $s0, 0x28($sp) +/* 8D2384 80240E74 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 8D2388 80240E78 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 8D238C 80240E7C 8E510148 */ lw $s1, 0x148($s2) +/* 8D2390 80240E80 86240008 */ lh $a0, 8($s1) +/* 8D2394 80240E84 0C00EABB */ jal get_npc_unsafe +/* 8D2398 80240E88 00A0982D */ daddu $s3, $a1, $zero +/* 8D239C 80240E8C 0040802D */ daddu $s0, $v0, $zero +/* 8D23A0 80240E90 0200202D */ daddu $a0, $s0, $zero +/* 8D23A4 80240E94 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8D23A8 80240E98 468010A0 */ cvt.s.w $f2, $f2 +/* 8D23AC 80240E9C 460010A1 */ cvt.d.s $f2, $f2 +/* 8D23B0 80240EA0 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D23B4 80240EA4 C6000014 */ lwc1 $f0, 0x14($s0) +/* 8D23B8 80240EA8 8E050018 */ lw $a1, 0x18($s0) +/* 8D23BC 80240EAC 46002100 */ add.s $f4, $f4, $f0 +/* 8D23C0 80240EB0 8E06000C */ lw $a2, 0xc($s0) +/* 8D23C4 80240EB4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D23C8 80240EB8 46800020 */ cvt.s.w $f0, $f0 +/* 8D23CC 80240EBC E604001C */ swc1 $f4, 0x1c($s0) +/* 8D23D0 80240EC0 3C014059 */ lui $at, 0x4059 +/* 8D23D4 80240EC4 44812800 */ mtc1 $at, $f5 +/* 8D23D8 80240EC8 44802000 */ mtc1 $zero, $f4 +/* 8D23DC 80240ECC 46000021 */ cvt.d.s $f0, $f0 +/* 8D23E0 80240ED0 46240003 */ div.d $f0, $f0, $f4 +/* 8D23E4 80240ED4 46200520 */ cvt.s.d $f20, $f0 +/* 8D23E8 80240ED8 46241083 */ div.d $f2, $f2, $f4 +/* 8D23EC 80240EDC 0C00EA95 */ jal npc_move_heading +/* 8D23F0 80240EE0 462015A0 */ cvt.s.d $f22, $f2 +/* 8D23F4 80240EE4 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D23F8 80240EE8 44801000 */ mtc1 $zero, $f2 +/* 8D23FC 80240EEC 44801800 */ mtc1 $zero, $f3 +/* 8D2400 80240EF0 46002021 */ cvt.d.s $f0, $f4 +/* 8D2404 80240EF4 4620103E */ c.le.d $f2, $f0 +/* 8D2408 80240EF8 00000000 */ nop +/* 8D240C 80240EFC 45000030 */ bc1f .L80240FC0 +/* 8D2410 80240F00 00000000 */ nop +/* 8D2414 80240F04 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D2418 80240F08 46040000 */ add.s $f0, $f0, $f4 +/* 8D241C 80240F0C E600003C */ swc1 $f0, 0x3c($s0) +/* 8D2420 80240F10 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D2424 80240F14 8C420024 */ lw $v0, 0x24($v0) +/* 8D2428 80240F18 AE020028 */ sw $v0, 0x28($s0) +/* 8D242C 80240F1C A2200007 */ sb $zero, 7($s1) +/* 8D2430 80240F20 8E020000 */ lw $v0, ($s0) +/* 8D2434 80240F24 30420008 */ andi $v0, $v0, 8 +/* 8D2438 80240F28 14400011 */ bnez $v0, .L80240F70 +/* 8D243C 80240F2C 0000102D */ daddu $v0, $zero, $zero +/* 8D2440 80240F30 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D2444 80240F34 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D2448 80240F38 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D244C 80240F3C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D2450 80240F40 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D2454 80240F44 3C01447A */ lui $at, 0x447a +/* 8D2458 80240F48 44813000 */ mtc1 $at, $f6 +/* 8D245C 80240F4C 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D2460 80240F50 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D2464 80240F54 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8D2468 80240F58 E7A40020 */ swc1 $f4, 0x20($sp) +/* 8D246C 80240F5C E7A60024 */ swc1 $f6, 0x24($sp) +/* 8D2470 80240F60 AFA20010 */ sw $v0, 0x10($sp) +/* 8D2474 80240F64 8E040080 */ lw $a0, 0x80($s0) +/* 8D2478 80240F68 0C0372DF */ jal func_800DCB7C +/* 8D247C 80240F6C 27A70020 */ addiu $a3, $sp, 0x20 +.L80240F70: +/* 8D2480 80240F70 1040000B */ beqz $v0, .L80240FA0 +/* 8D2484 80240F74 00000000 */ nop +/* 8D2488 80240F78 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D248C 80240F7C 46140080 */ add.s $f2, $f0, $f20 +/* 8D2490 80240F80 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D2494 80240F84 4600103E */ c.le.s $f2, $f0 +/* 8D2498 80240F88 00000000 */ nop +/* 8D249C 80240F8C 4500008D */ bc1f .L802411C4 +/* 8D24A0 80240F90 00000000 */ nop +/* 8D24A4 80240F94 E602003C */ swc1 $f2, 0x3c($s0) +/* 8D24A8 80240F98 08090471 */ j .L802411C4 +/* 8D24AC 80240F9C AE400070 */ sw $zero, 0x70($s2) +.L80240FA0: +/* 8D24B0 80240FA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D24B4 80240FA4 C6000064 */ lwc1 $f0, 0x64($s0) +/* 8D24B8 80240FA8 4602003E */ c.le.s $f0, $f2 +/* 8D24BC 80240FAC 00000000 */ nop +/* 8D24C0 80240FB0 45030084 */ bc1tl .L802411C4 +/* 8D24C4 80240FB4 AE400070 */ sw $zero, 0x70($s2) +/* 8D24C8 80240FB8 08090471 */ j .L802411C4 +/* 8D24CC 80240FBC 00000000 */ nop +.L80240FC0: +/* 8D24D0 80240FC0 4622003C */ c.lt.d $f0, $f2 +/* 8D24D4 80240FC4 00000000 */ nop +/* 8D24D8 80240FC8 4500007E */ bc1f .L802411C4 +/* 8D24DC 80240FCC 00000000 */ nop +/* 8D24E0 80240FD0 9602008E */ lhu $v0, 0x8e($s0) +/* 8D24E4 80240FD4 24420001 */ addiu $v0, $v0, 1 +/* 8D24E8 80240FD8 A602008E */ sh $v0, 0x8e($s0) +/* 8D24EC 80240FDC 00021400 */ sll $v0, $v0, 0x10 +/* 8D24F0 80240FE0 8E630020 */ lw $v1, 0x20($s3) +/* 8D24F4 80240FE4 00021403 */ sra $v0, $v0, 0x10 +/* 8D24F8 80240FE8 0043102A */ slt $v0, $v0, $v1 +/* 8D24FC 80240FEC 14400026 */ bnez $v0, .L80241088 +/* 8D2500 80240FF0 00000000 */ nop +/* 8D2504 80240FF4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D2508 80240FF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D250C 80240FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D2510 80241000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D2514 80241004 A600008E */ sh $zero, 0x8e($s0) +/* 8D2518 80241008 8C460028 */ lw $a2, 0x28($v0) +/* 8D251C 8024100C 0C00A720 */ jal atan2 +/* 8D2520 80241010 8C470030 */ lw $a3, 0x30($v0) +/* 8D2524 80241014 46000506 */ mov.s $f20, $f0 +/* 8D2528 80241018 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D252C 8024101C 0C00A70A */ jal get_clamped_angle_diff +/* 8D2530 80241020 4600A386 */ mov.s $f14, $f20 +/* 8D2534 80241024 46000086 */ mov.s $f2, $f0 +/* 8D2538 80241028 8E62001C */ lw $v0, 0x1c($s3) +/* 8D253C 8024102C 46001005 */ abs.s $f0, $f2 +/* 8D2540 80241030 44822000 */ mtc1 $v0, $f4 +/* 8D2544 80241034 00000000 */ nop +/* 8D2548 80241038 46802120 */ cvt.s.w $f4, $f4 +/* 8D254C 8024103C 4600203C */ c.lt.s $f4, $f0 +/* 8D2550 80241040 00000000 */ nop +/* 8D2554 80241044 4500000D */ bc1f .L8024107C +/* 8D2558 80241048 00000000 */ nop +/* 8D255C 8024104C 44800000 */ mtc1 $zero, $f0 +/* 8D2560 80241050 C614000C */ lwc1 $f20, 0xc($s0) +/* 8D2564 80241054 4600103C */ c.lt.s $f2, $f0 +/* 8D2568 80241058 00000000 */ nop +/* 8D256C 8024105C 45000006 */ bc1f .L80241078 +/* 8D2570 80241060 00021023 */ negu $v0, $v0 +/* 8D2574 80241064 44820000 */ mtc1 $v0, $f0 +/* 8D2578 80241068 00000000 */ nop +/* 8D257C 8024106C 46800020 */ cvt.s.w $f0, $f0 +/* 8D2580 80241070 0809041F */ j .L8024107C +/* 8D2584 80241074 4600A500 */ add.s $f20, $f20, $f0 +.L80241078: +/* 8D2588 80241078 4604A500 */ add.s $f20, $f20, $f4 +.L8024107C: +/* 8D258C 8024107C 0C00A6C9 */ jal clamp_angle +/* 8D2590 80241080 4600A306 */ mov.s $f12, $f20 +/* 8D2594 80241084 E600000C */ swc1 $f0, 0xc($s0) +.L80241088: +/* 8D2598 80241088 8E020000 */ lw $v0, ($s0) +/* 8D259C 8024108C 30420008 */ andi $v0, $v0, 8 +/* 8D25A0 80241090 1040000A */ beqz $v0, .L802410BC +/* 8D25A4 80241094 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D25A8 80241098 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D25AC 8024109C C600001C */ lwc1 $f0, 0x1c($s0) +/* 8D25B0 802410A0 46001080 */ add.s $f2, $f2, $f0 +/* 8D25B4 802410A4 4616103C */ c.lt.s $f2, $f22 +/* 8D25B8 802410A8 00000000 */ nop +/* 8D25BC 802410AC 45020045 */ bc1fl .L802411C4 +/* 8D25C0 802410B0 E602003C */ swc1 $f2, 0x3c($s0) +/* 8D25C4 802410B4 08090470 */ j .L802411C0 +/* 8D25C8 802410B8 E616003C */ swc1 $f22, 0x3c($s0) +.L802410BC: +/* 8D25CC 802410BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D25D0 802410C0 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D25D4 802410C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D25D8 802410C8 860200A8 */ lh $v0, 0xa8($s0) +/* 8D25DC 802410CC C600001C */ lwc1 $f0, 0x1c($s0) +/* 8D25E0 802410D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 8D25E4 802410D4 44821000 */ mtc1 $v0, $f2 +/* 8D25E8 802410D8 00000000 */ nop +/* 8D25EC 802410DC 468010A0 */ cvt.s.w $f2, $f2 +/* 8D25F0 802410E0 46000005 */ abs.s $f0, $f0 +/* 8D25F4 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* 8D25F8 802410E8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 8D25FC 802410EC 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D2600 802410F0 46022100 */ add.s $f4, $f4, $f2 +/* 8D2604 802410F4 3C014024 */ lui $at, 0x4024 +/* 8D2608 802410F8 44811800 */ mtc1 $at, $f3 +/* 8D260C 802410FC 44801000 */ mtc1 $zero, $f2 +/* 8D2610 80241100 46000021 */ cvt.d.s $f0, $f0 +/* 8D2614 80241104 46220000 */ add.d $f0, $f0, $f2 +/* 8D2618 80241108 E7A60020 */ swc1 $f6, 0x20($sp) +/* 8D261C 8024110C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 8D2620 80241110 46200020 */ cvt.s.d $f0, $f0 +/* 8D2624 80241114 E7A00024 */ swc1 $f0, 0x24($sp) +/* 8D2628 80241118 AFA20010 */ sw $v0, 0x10($sp) +/* 8D262C 8024111C 8E040080 */ lw $a0, 0x80($s0) +/* 8D2630 80241120 0C0372DF */ jal func_800DCB7C +/* 8D2634 80241124 27A70020 */ addiu $a3, $sp, 0x20 +/* 8D2638 80241128 10400015 */ beqz $v0, .L80241180 +/* 8D263C 8024112C 00000000 */ nop +/* 8D2640 80241130 860200A8 */ lh $v0, 0xa8($s0) +/* 8D2644 80241134 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D2648 80241138 44820000 */ mtc1 $v0, $f0 +/* 8D264C 8024113C 00000000 */ nop +/* 8D2650 80241140 46800020 */ cvt.s.w $f0, $f0 +/* 8D2654 80241144 46002085 */ abs.s $f2, $f4 +/* 8D2658 80241148 46020000 */ add.s $f0, $f0, $f2 +/* 8D265C 8024114C C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8D2660 80241150 4600103E */ c.le.s $f2, $f0 +/* 8D2664 80241154 00000000 */ nop +/* 8D2668 80241158 45000005 */ bc1f .L80241170 +/* 8D266C 8024115C 00000000 */ nop +/* 8D2670 80241160 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D2674 80241164 AE00001C */ sw $zero, 0x1c($s0) +/* 8D2678 80241168 08090471 */ j .L802411C4 +/* 8D267C 8024116C E600003C */ swc1 $f0, 0x3c($s0) +.L80241170: +/* 8D2680 80241170 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D2684 80241174 46040000 */ add.s $f0, $f0, $f4 +/* 8D2688 80241178 08090471 */ j .L802411C4 +/* 8D268C 8024117C E600003C */ swc1 $f0, 0x3c($s0) +.L80241180: +/* 8D2690 80241180 C606003C */ lwc1 $f6, 0x3c($s0) +/* 8D2694 80241184 860200A8 */ lh $v0, 0xa8($s0) +/* 8D2698 80241188 46163081 */ sub.s $f2, $f6, $f22 +/* 8D269C 8024118C 44820000 */ mtc1 $v0, $f0 +/* 8D26A0 80241190 00000000 */ nop +/* 8D26A4 80241194 46800020 */ cvt.s.w $f0, $f0 +/* 8D26A8 80241198 46001080 */ add.s $f2, $f2, $f0 +/* 8D26AC 8024119C C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D26B0 802411A0 46002005 */ abs.s $f0, $f4 +/* 8D26B4 802411A4 4602003C */ c.lt.s $f0, $f2 +/* 8D26B8 802411A8 00000000 */ nop +/* 8D26BC 802411AC 45020005 */ bc1fl .L802411C4 +/* 8D26C0 802411B0 AE00001C */ sw $zero, 0x1c($s0) +/* 8D26C4 802411B4 46043000 */ add.s $f0, $f6, $f4 +/* 8D26C8 802411B8 08090471 */ j .L802411C4 +/* 8D26CC 802411BC E600003C */ swc1 $f0, 0x3c($s0) +.L802411C0: +/* 8D26D0 802411C0 AE00001C */ sw $zero, 0x1c($s0) +.L802411C4: +/* 8D26D4 802411C4 8FBF0038 */ lw $ra, 0x38($sp) +/* 8D26D8 802411C8 8FB30034 */ lw $s3, 0x34($sp) +/* 8D26DC 802411CC 8FB20030 */ lw $s2, 0x30($sp) +/* 8D26E0 802411D0 8FB1002C */ lw $s1, 0x2c($sp) +/* 8D26E4 802411D4 8FB00028 */ lw $s0, 0x28($sp) +/* 8D26E8 802411D8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 8D26EC 802411DC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 8D26F0 802411E0 03E00008 */ jr $ra +/* 8D26F4 802411E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802411E8_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802411E8_8D1510.s new file mode 100644 index 0000000000..2360f184ae --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802411E8_8D1510.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E8_8D26F8 +/* 8D26F8 802411E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D26FC 802411EC AFB00028 */ sw $s0, 0x28($sp) +/* 8D2700 802411F0 00A0802D */ daddu $s0, $a1, $zero +/* 8D2704 802411F4 AFB1002C */ sw $s1, 0x2c($sp) +/* 8D2708 802411F8 00C0882D */ daddu $s1, $a2, $zero +/* 8D270C 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 8D2710 80241200 AFB20030 */ sw $s2, 0x30($sp) +/* 8D2714 80241204 AE200070 */ sw $zero, 0x70($s1) +/* 8D2718 80241208 8C830000 */ lw $v1, ($a0) +/* 8D271C 8024120C 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8D2720 80241210 A480008E */ sh $zero, 0x8e($a0) +/* 8D2724 80241214 00621824 */ and $v1, $v1, $v0 +/* 8D2728 80241218 34650800 */ ori $a1, $v1, 0x800 +/* 8D272C 8024121C AC850000 */ sw $a1, ($a0) +/* 8D2730 80241220 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8D2734 80241224 8C420034 */ lw $v0, 0x34($v0) +/* 8D2738 80241228 10400003 */ beqz $v0, .L80241238 +/* 8D273C 8024122C 00E0902D */ daddu $s2, $a3, $zero +/* 8D2740 80241230 08090490 */ j .L80241240 +/* 8D2744 80241234 34620808 */ ori $v0, $v1, 0x808 +.L80241238: +/* 8D2748 80241238 2402FFF7 */ addiu $v0, $zero, -9 +/* 8D274C 8024123C 00A21024 */ and $v0, $a1, $v0 +.L80241240: +/* 8D2750 80241240 AC820000 */ sw $v0, ($a0) +/* 8D2754 80241244 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D2758 80241248 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D275C 8024124C C4800038 */ lwc1 $f0, 0x38($a0) +/* 8D2760 80241250 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8D2764 80241254 C4840040 */ lwc1 $f4, 0x40($a0) +/* 8D2768 80241258 3C01447A */ lui $at, 0x447a +/* 8D276C 8024125C 44813000 */ mtc1 $at, $f6 +/* 8D2770 80241260 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D2774 80241264 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D2778 80241268 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8D277C 8024126C E7A40020 */ swc1 $f4, 0x20($sp) +/* 8D2780 80241270 E7A60024 */ swc1 $f6, 0x24($sp) +/* 8D2784 80241274 AFA20010 */ sw $v0, 0x10($sp) +/* 8D2788 80241278 8C840080 */ lw $a0, 0x80($a0) +/* 8D278C 8024127C 0C0372DF */ jal func_800DCB7C +/* 8D2790 80241280 27A70020 */ addiu $a3, $sp, 0x20 +/* 8D2794 80241284 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8D2798 80241288 3C014059 */ lui $at, 0x4059 +/* 8D279C 8024128C 44812800 */ mtc1 $at, $f5 +/* 8D27A0 80241290 44802000 */ mtc1 $zero, $f4 +/* 8D27A4 80241294 460010A1 */ cvt.d.s $f2, $f2 +/* 8D27A8 80241298 46241082 */ mul.d $f2, $f2, $f4 +/* 8D27AC 8024129C 00000000 */ nop +/* 8D27B0 802412A0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D27B4 802412A4 46000021 */ cvt.d.s $f0, $f0 +/* 8D27B8 802412A8 46240002 */ mul.d $f0, $f0, $f4 +/* 8D27BC 802412AC 00000000 */ nop +/* 8D27C0 802412B0 3C013FE0 */ lui $at, 0x3fe0 +/* 8D27C4 802412B4 44812800 */ mtc1 $at, $f5 +/* 8D27C8 802412B8 44802000 */ mtc1 $zero, $f4 +/* 8D27CC 802412BC 00000000 */ nop +/* 8D27D0 802412C0 46241080 */ add.d $f2, $f2, $f4 +/* 8D27D4 802412C4 AE000074 */ sw $zero, 0x74($s0) +/* 8D27D8 802412C8 46240000 */ add.d $f0, $f0, $f4 +/* 8D27DC 802412CC AE000090 */ sw $zero, 0x90($s0) +/* 8D27E0 802412D0 4620120D */ trunc.w.d $f8, $f2 +/* 8D27E4 802412D4 E6080078 */ swc1 $f8, 0x78($s0) +/* 8D27E8 802412D8 4620020D */ trunc.w.d $f8, $f0 +/* 8D27EC 802412DC E6080088 */ swc1 $f8, 0x88($s0) +/* 8D27F0 802412E0 8E420014 */ lw $v0, 0x14($s2) +/* 8D27F4 802412E4 AE220074 */ sw $v0, 0x74($s1) +/* 8D27F8 802412E8 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8D27FC 802412EC 34420010 */ ori $v0, $v0, 0x10 +/* 8D2800 802412F0 AE0200B0 */ sw $v0, 0xb0($s0) +/* 8D2804 802412F4 8FBF0034 */ lw $ra, 0x34($sp) +/* 8D2808 802412F8 8FB20030 */ lw $s2, 0x30($sp) +/* 8D280C 802412FC 8FB1002C */ lw $s1, 0x2c($sp) +/* 8D2810 80241300 8FB00028 */ lw $s0, 0x28($sp) +/* 8D2814 80241304 03E00008 */ jr $ra +/* 8D2818 80241308 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_8024130C_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_8024130C_8D1510.s new file mode 100644 index 0000000000..c456880737 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_8024130C_8D1510.s @@ -0,0 +1,133 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_8D281C +/* 8D281C 8024130C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8D2820 80241310 AFB40040 */ sw $s4, 0x40($sp) +/* 8D2824 80241314 0080A02D */ daddu $s4, $a0, $zero +/* 8D2828 80241318 AFBF0048 */ sw $ra, 0x48($sp) +/* 8D282C 8024131C AFB50044 */ sw $s5, 0x44($sp) +/* 8D2830 80241320 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D2834 80241324 AFB20038 */ sw $s2, 0x38($sp) +/* 8D2838 80241328 AFB10034 */ sw $s1, 0x34($sp) +/* 8D283C 8024132C AFB00030 */ sw $s0, 0x30($sp) +/* 8D2840 80241330 8E920148 */ lw $s2, 0x148($s4) +/* 8D2844 80241334 86440008 */ lh $a0, 8($s2) +/* 8D2848 80241338 8E90000C */ lw $s0, 0xc($s4) +/* 8D284C 8024133C 0C00EABB */ jal get_npc_unsafe +/* 8D2850 80241340 00A0882D */ daddu $s1, $a1, $zero +/* 8D2854 80241344 0280202D */ daddu $a0, $s4, $zero +/* 8D2858 80241348 8E050000 */ lw $a1, ($s0) +/* 8D285C 8024134C 0C0B1EAF */ jal get_variable +/* 8D2860 80241350 0040A82D */ daddu $s5, $v0, $zero +/* 8D2864 80241354 AFA00010 */ sw $zero, 0x10($sp) +/* 8D2868 80241358 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D286C 8024135C 8C630030 */ lw $v1, 0x30($v1) +/* 8D2870 80241360 AFA30014 */ sw $v1, 0x14($sp) +/* 8D2874 80241364 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D2878 80241368 8C63001C */ lw $v1, 0x1c($v1) +/* 8D287C 8024136C AFA30018 */ sw $v1, 0x18($sp) +/* 8D2880 80241370 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D2884 80241374 8C630024 */ lw $v1, 0x24($v1) +/* 8D2888 80241378 AFA3001C */ sw $v1, 0x1c($sp) +/* 8D288C 8024137C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D2890 80241380 8C630028 */ lw $v1, 0x28($v1) +/* 8D2894 80241384 27B30010 */ addiu $s3, $sp, 0x10 +/* 8D2898 80241388 AFA30020 */ sw $v1, 0x20($sp) +/* 8D289C 8024138C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D28A0 80241390 3C0142F0 */ lui $at, 0x42f0 +/* 8D28A4 80241394 44810000 */ mtc1 $at, $f0 +/* 8D28A8 80241398 8C63002C */ lw $v1, 0x2c($v1) +/* 8D28AC 8024139C 0040802D */ daddu $s0, $v0, $zero +/* 8D28B0 802413A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D28B4 802413A4 A7A0002C */ sh $zero, 0x2c($sp) +/* 8D28B8 802413A8 12200006 */ beqz $s1, .L802413C4 +/* 8D28BC 802413AC AFA30024 */ sw $v1, 0x24($sp) +/* 8D28C0 802413B0 02A0202D */ daddu $a0, $s5, $zero +/* 8D28C4 802413B4 0240282D */ daddu $a1, $s2, $zero +/* 8D28C8 802413B8 0280302D */ daddu $a2, $s4, $zero +/* 8D28CC 802413BC 0C09047A */ jal func_802411E8 +/* 8D28D0 802413C0 0200382D */ daddu $a3, $s0, $zero +.L802413C4: +/* 8D28D4 802413C4 2402FFFE */ addiu $v0, $zero, -2 +/* 8D28D8 802413C8 A2A200AB */ sb $v0, 0xab($s5) +/* 8D28DC 802413CC 8E4300B0 */ lw $v1, 0xb0($s2) +/* 8D28E0 802413D0 30620004 */ andi $v0, $v1, 4 +/* 8D28E4 802413D4 10400007 */ beqz $v0, .L802413F4 +/* 8D28E8 802413D8 00000000 */ nop +/* 8D28EC 802413DC 824200B4 */ lb $v0, 0xb4($s2) +/* 8D28F0 802413E0 1440003C */ bnez $v0, .L802414D4 +/* 8D28F4 802413E4 0000102D */ daddu $v0, $zero, $zero +/* 8D28F8 802413E8 2402FFFB */ addiu $v0, $zero, -5 +/* 8D28FC 802413EC 00621024 */ and $v0, $v1, $v0 +/* 8D2900 802413F0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802413F4: +/* 8D2904 802413F4 8E830070 */ lw $v1, 0x70($s4) +/* 8D2908 802413F8 2C62000F */ sltiu $v0, $v1, 0xf +/* 8D290C 802413FC 10400034 */ beqz $v0, .L802414D0 +/* 8D2910 80241400 00031080 */ sll $v0, $v1, 2 +/* 8D2914 80241404 3C018024 */ lui $at, 0x8024 +/* 8D2918 80241408 00220821 */ addu $at, $at, $v0 +/* 8D291C 8024140C 8C222868 */ lw $v0, 0x2868($at) +/* 8D2920 80241410 00400008 */ jr $v0 +/* 8D2924 80241414 00000000 */ nop +/* 8D2928 80241418 0280202D */ daddu $a0, $s4, $zero +/* 8D292C 8024141C 0200282D */ daddu $a1, $s0, $zero +/* 8D2930 80241420 0C090000 */ jal func_80240000 +/* 8D2934 80241424 0260302D */ daddu $a2, $s3, $zero +/* 8D2938 80241428 0280202D */ daddu $a0, $s4, $zero +/* 8D293C 8024142C 0200282D */ daddu $a1, $s0, $zero +/* 8D2940 80241430 0C09006C */ jal func_802401B0 +/* 8D2944 80241434 0260302D */ daddu $a2, $s3, $zero +/* 8D2948 80241438 08090535 */ j .L802414D4 +/* 8D294C 8024143C 0000102D */ daddu $v0, $zero, $zero +/* 8D2950 80241440 0280202D */ daddu $a0, $s4, $zero +/* 8D2954 80241444 0200282D */ daddu $a1, $s0, $zero +/* 8D2958 80241448 0C0901F6 */ jal func_802407D8 +/* 8D295C 8024144C 0260302D */ daddu $a2, $s3, $zero +/* 8D2960 80241450 0280202D */ daddu $a0, $s4, $zero +/* 8D2964 80241454 0200282D */ daddu $a1, $s0, $zero +/* 8D2968 80241458 0C090226 */ jal func_80240898 +/* 8D296C 8024145C 0260302D */ daddu $a2, $s3, $zero +/* 8D2970 80241460 08090535 */ j .L802414D4 +/* 8D2974 80241464 0000102D */ daddu $v0, $zero, $zero +/* 8D2978 80241468 0280202D */ daddu $a0, $s4, $zero +/* 8D297C 8024146C 0200282D */ daddu $a1, $s0, $zero +/* 8D2980 80241470 0C0902F7 */ jal func_80240BDC +/* 8D2984 80241474 0260302D */ daddu $a2, $s3, $zero +/* 8D2988 80241478 0280202D */ daddu $a0, $s4, $zero +/* 8D298C 8024147C 0200282D */ daddu $a1, $s0, $zero +/* 8D2990 80241480 0C090315 */ jal func_80240C54 +/* 8D2994 80241484 0260302D */ daddu $a2, $s3, $zero +/* 8D2998 80241488 08090535 */ j .L802414D4 +/* 8D299C 8024148C 0000102D */ daddu $v0, $zero, $zero +/* 8D29A0 80241490 0280202D */ daddu $a0, $s4, $zero +/* 8D29A4 80241494 0200282D */ daddu $a1, $s0, $zero +/* 8D29A8 80241498 0C090330 */ jal func_80240CC0 +/* 8D29AC 8024149C 0260302D */ daddu $a2, $s3, $zero +/* 8D29B0 802414A0 08090535 */ j .L802414D4 +/* 8D29B4 802414A4 0000102D */ daddu $v0, $zero, $zero +/* 8D29B8 802414A8 0280202D */ daddu $a0, $s4, $zero +/* 8D29BC 802414AC 0200282D */ daddu $a1, $s0, $zero +/* 8D29C0 802414B0 0C09037D */ jal func_80240DF4 +/* 8D29C4 802414B4 0260302D */ daddu $a2, $s3, $zero +/* 8D29C8 802414B8 08090535 */ j .L802414D4 +/* 8D29CC 802414BC 0000102D */ daddu $v0, $zero, $zero +/* 8D29D0 802414C0 0280202D */ daddu $a0, $s4, $zero +/* 8D29D4 802414C4 0200282D */ daddu $a1, $s0, $zero +/* 8D29D8 802414C8 0C090396 */ jal func_80240E58 +/* 8D29DC 802414CC 0260302D */ daddu $a2, $s3, $zero +.L802414D0: +/* 8D29E0 802414D0 0000102D */ daddu $v0, $zero, $zero +.L802414D4: +/* 8D29E4 802414D4 8FBF0048 */ lw $ra, 0x48($sp) +/* 8D29E8 802414D8 8FB50044 */ lw $s5, 0x44($sp) +/* 8D29EC 802414DC 8FB40040 */ lw $s4, 0x40($sp) +/* 8D29F0 802414E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D29F4 802414E4 8FB20038 */ lw $s2, 0x38($sp) +/* 8D29F8 802414E8 8FB10034 */ lw $s1, 0x34($sp) +/* 8D29FC 802414EC 8FB00030 */ lw $s0, 0x30($sp) +/* 8D2A00 802414F0 03E00008 */ jr $ra +/* 8D2A04 802414F4 27BD0050 */ addiu $sp, $sp, 0x50 +/* 8D2A08 802414F8 00000000 */ nop +/* 8D2A0C 802414FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80241500_8D1510.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241500_8D1510.s new file mode 100644 index 0000000000..054e7b4e73 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241500_8D1510.s @@ -0,0 +1,176 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241500_8D2A10 +/* 8D2A10 80241500 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 8D2A14 80241504 0000202D */ daddu $a0, $zero, $zero +/* 8D2A18 80241508 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2A1C 8024150C AFBF00D8 */ sw $ra, 0xd8($sp) +/* 8D2A20 80241510 AFB700D4 */ sw $s7, 0xd4($sp) +/* 8D2A24 80241514 AFB600D0 */ sw $s6, 0xd0($sp) +/* 8D2A28 80241518 AFB500CC */ sw $s5, 0xcc($sp) +/* 8D2A2C 8024151C AFB400C8 */ sw $s4, 0xc8($sp) +/* 8D2A30 80241520 AFB300C4 */ sw $s3, 0xc4($sp) +/* 8D2A34 80241524 AFB200C0 */ sw $s2, 0xc0($sp) +/* 8D2A38 80241528 AFB100BC */ sw $s1, 0xbc($sp) +/* 8D2A3C 8024152C AFB000B8 */ sw $s0, 0xb8($sp) +/* 8D2A40 80241530 F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* 8D2A44 80241534 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* 8D2A48 80241538 0C0B1EAF */ jal get_variable +/* 8D2A4C 8024153C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D2A50 80241540 0000202D */ daddu $a0, $zero, $zero +/* 8D2A54 80241544 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2A58 80241548 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8D2A5C 8024154C 0C0B1EAF */ jal get_variable +/* 8D2A60 80241550 0040B02D */ daddu $s6, $v0, $zero +/* 8D2A64 80241554 0000202D */ daddu $a0, $zero, $zero +/* 8D2A68 80241558 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2A6C 8024155C 34A50F8C */ ori $a1, $a1, 0xf8c +/* 8D2A70 80241560 0C0B1EAF */ jal get_variable +/* 8D2A74 80241564 0040A82D */ daddu $s5, $v0, $zero +/* 8D2A78 80241568 24170400 */ addiu $s7, $zero, 0x400 +/* 8D2A7C 8024156C 27B10038 */ addiu $s1, $sp, 0x38 +/* 8D2A80 80241570 0220202D */ daddu $a0, $s1, $zero +/* 8D2A84 80241574 3C130001 */ lui $s3, 1 +/* 8D2A88 80241578 3C12800A */ lui $s2, 0x800a +/* 8D2A8C 8024157C 2652A66C */ addiu $s2, $s2, -0x5994 +/* 8D2A90 80241580 36731630 */ ori $s3, $s3, 0x1630 +/* 8D2A94 80241584 3C03E700 */ lui $v1, 0xe700 +/* 8D2A98 80241588 0040A02D */ daddu $s4, $v0, $zero +/* 8D2A9C 8024158C 8E480000 */ lw $t0, ($s2) +/* 8D2AA0 80241590 4480A000 */ mtc1 $zero, $f20 +/* 8D2AA4 80241594 0100282D */ daddu $a1, $t0, $zero +/* 8D2AA8 80241598 ACA30000 */ sw $v1, ($a1) +/* 8D2AAC 8024159C ACA00004 */ sw $zero, 4($a1) +/* 8D2AB0 802415A0 8EC50008 */ lw $a1, 8($s6) +/* 8D2AB4 802415A4 8EC6000C */ lw $a2, 0xc($s6) +/* 8D2AB8 802415A8 8EC70010 */ lw $a3, 0x10($s6) +/* 8D2ABC 802415AC 25080008 */ addiu $t0, $t0, 8 +/* 8D2AC0 802415B0 0C019E40 */ jal guTranslateF +/* 8D2AC4 802415B4 AE480000 */ sw $t0, ($s2) +/* 8D2AC8 802415B8 27B00078 */ addiu $s0, $sp, 0x78 +/* 8D2ACC 802415BC E7B40010 */ swc1 $f20, 0x10($sp) +/* 8D2AD0 802415C0 8EC50018 */ lw $a1, 0x18($s6) +/* 8D2AD4 802415C4 3C013F80 */ lui $at, 0x3f80 +/* 8D2AD8 802415C8 4481B000 */ mtc1 $at, $f22 +/* 8D2ADC 802415CC 4406A000 */ mfc1 $a2, $f20 +/* 8D2AE0 802415D0 4407B000 */ mfc1 $a3, $f22 +/* 8D2AE4 802415D4 0C019EC8 */ jal guRotateF +/* 8D2AE8 802415D8 0200202D */ daddu $a0, $s0, $zero +/* 8D2AEC 802415DC 0200202D */ daddu $a0, $s0, $zero +/* 8D2AF0 802415E0 0220282D */ daddu $a1, $s1, $zero +/* 8D2AF4 802415E4 0C019D80 */ jal guMtxCatF +/* 8D2AF8 802415E8 0220302D */ daddu $a2, $s1, $zero +/* 8D2AFC 802415EC E7B40010 */ swc1 $f20, 0x10($sp) +/* 8D2B00 802415F0 8EC50014 */ lw $a1, 0x14($s6) +/* 8D2B04 802415F4 4406B000 */ mfc1 $a2, $f22 +/* 8D2B08 802415F8 4407A000 */ mfc1 $a3, $f20 +/* 8D2B0C 802415FC 0C019EC8 */ jal guRotateF +/* 8D2B10 80241600 0200202D */ daddu $a0, $s0, $zero +/* 8D2B14 80241604 0200202D */ daddu $a0, $s0, $zero +/* 8D2B18 80241608 0220282D */ daddu $a1, $s1, $zero +/* 8D2B1C 8024160C 0C019D80 */ jal guMtxCatF +/* 8D2B20 80241610 0220302D */ daddu $a2, $s1, $zero +/* 8D2B24 80241614 8EC5001C */ lw $a1, 0x1c($s6) +/* 8D2B28 80241618 8EC60020 */ lw $a2, 0x20($s6) +/* 8D2B2C 8024161C 8EC70024 */ lw $a3, 0x24($s6) +/* 8D2B30 80241620 0C019DF0 */ jal guScaleF +/* 8D2B34 80241624 0200202D */ daddu $a0, $s0, $zero +/* 8D2B38 80241628 0200202D */ daddu $a0, $s0, $zero +/* 8D2B3C 8024162C 0220282D */ daddu $a1, $s1, $zero +/* 8D2B40 80241630 0C019D80 */ jal guMtxCatF +/* 8D2B44 80241634 0220302D */ daddu $a2, $s1, $zero +/* 8D2B48 80241638 0220202D */ daddu $a0, $s1, $zero +/* 8D2B4C 8024163C 3C108007 */ lui $s0, 0x8007 +/* 8D2B50 80241640 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 8D2B54 80241644 3C11800A */ lui $s1, 0x800a +/* 8D2B58 80241648 2631A674 */ addiu $s1, $s1, -0x598c +/* 8D2B5C 8024164C 96050000 */ lhu $a1, ($s0) +/* 8D2B60 80241650 8E220000 */ lw $v0, ($s1) +/* 8D2B64 80241654 00052980 */ sll $a1, $a1, 6 +/* 8D2B68 80241658 00B32821 */ addu $a1, $a1, $s3 +/* 8D2B6C 8024165C 0C019D40 */ jal guMtxF2L +/* 8D2B70 80241660 00452821 */ addu $a1, $v0, $a1 +/* 8D2B74 80241664 3C04DA38 */ lui $a0, 0xda38 +/* 8D2B78 80241668 34840002 */ ori $a0, $a0, 2 +/* 8D2B7C 8024166C 8E430000 */ lw $v1, ($s2) +/* 8D2B80 80241670 96020000 */ lhu $v0, ($s0) +/* 8D2B84 80241674 0060282D */ daddu $a1, $v1, $zero +/* 8D2B88 80241678 24630008 */ addiu $v1, $v1, 8 +/* 8D2B8C 8024167C AE430000 */ sw $v1, ($s2) +/* 8D2B90 80241680 24430001 */ addiu $v1, $v0, 1 +/* 8D2B94 80241684 3042FFFF */ andi $v0, $v0, 0xffff +/* 8D2B98 80241688 00021180 */ sll $v0, $v0, 6 +/* 8D2B9C 8024168C ACA40000 */ sw $a0, ($a1) +/* 8D2BA0 80241690 A6030000 */ sh $v1, ($s0) +/* 8D2BA4 80241694 8E230000 */ lw $v1, ($s1) +/* 8D2BA8 80241698 00531021 */ addu $v0, $v0, $s3 +/* 8D2BAC 8024169C 00621821 */ addu $v1, $v1, $v0 +/* 8D2BB0 802416A0 3C028000 */ lui $v0, 0x8000 +/* 8D2BB4 802416A4 00621821 */ addu $v1, $v1, $v0 +/* 8D2BB8 802416A8 24020020 */ addiu $v0, $zero, 0x20 +/* 8D2BBC 802416AC ACA30004 */ sw $v1, 4($a1) +/* 8D2BC0 802416B0 A7A20028 */ sh $v0, 0x28($sp) +/* 8D2BC4 802416B4 A7A2002A */ sh $v0, 0x2a($sp) +/* 8D2BC8 802416B8 2402FFF0 */ addiu $v0, $zero, -0x10 +/* 8D2BCC 802416BC A7A2002C */ sh $v0, 0x2c($sp) +/* 8D2BD0 802416C0 24020010 */ addiu $v0, $zero, 0x10 +/* 8D2BD4 802416C4 A7A2002E */ sh $v0, 0x2e($sp) +/* 8D2BD8 802416C8 240200FF */ addiu $v0, $zero, 0xff +/* 8D2BDC 802416CC AFB50020 */ sw $s5, 0x20($sp) +/* 8D2BE0 802416D0 AFB40024 */ sw $s4, 0x24($sp) +/* 8D2BE4 802416D4 A3A20030 */ sb $v0, 0x30($sp) +/* 8D2BE8 802416D8 C6C00018 */ lwc1 $f0, 0x18($s6) +/* 8D2BEC 802416DC 44801000 */ mtc1 $zero, $f2 +/* 8D2BF0 802416E0 44801800 */ mtc1 $zero, $f3 +/* 8D2BF4 802416E4 46000021 */ cvt.d.s $f0, $f0 +/* 8D2BF8 802416E8 46220032 */ c.eq.d $f0, $f2 +/* 8D2BFC 802416EC 00000000 */ nop +/* 8D2C00 802416F0 45020008 */ bc1fl .L80241714 +/* 8D2C04 802416F4 24172400 */ addiu $s7, $zero, 0x2400 +/* 8D2C08 802416F8 C6C00014 */ lwc1 $f0, 0x14($s6) +/* 8D2C0C 802416FC 46000021 */ cvt.d.s $f0, $f0 +/* 8D2C10 80241700 46220032 */ c.eq.d $f0, $f2 +/* 8D2C14 80241704 00000000 */ nop +/* 8D2C18 80241708 45010003 */ bc1t .L80241718 +/* 8D2C1C 8024170C 0000202D */ daddu $a0, $zero, $zero +/* 8D2C20 80241710 24172400 */ addiu $s7, $zero, 0x2400 +.L80241714: +/* 8D2C24 80241714 0000202D */ daddu $a0, $zero, $zero +.L80241718: +/* 8D2C28 80241718 0080282D */ daddu $a1, $a0, $zero +/* 8D2C2C 8024171C 0080302D */ daddu $a2, $a0, $zero +/* 8D2C30 80241720 0080382D */ daddu $a3, $a0, $zero +/* 8D2C34 80241724 AFA00010 */ sw $zero, 0x10($sp) +/* 8D2C38 80241728 AFA00014 */ sw $zero, 0x14($sp) +/* 8D2C3C 8024172C 0C04EAA7 */ jal func_8013AA9C +/* 8D2C40 80241730 AFA00018 */ sw $zero, 0x18($sp) +/* 8D2C44 80241734 0000202D */ daddu $a0, $zero, $zero +/* 8D2C48 80241738 27A50020 */ addiu $a1, $sp, 0x20 +/* 8D2C4C 8024173C 02E0302D */ daddu $a2, $s7, $zero +/* 8D2C50 80241740 0C04EBDC */ jal func_8013AF70 +/* 8D2C54 80241744 27A70038 */ addiu $a3, $sp, 0x38 +/* 8D2C58 80241748 3C05D838 */ lui $a1, 0xd838 +/* 8D2C5C 8024174C 3C03800A */ lui $v1, 0x800a +/* 8D2C60 80241750 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8D2C64 80241754 8C620000 */ lw $v0, ($v1) +/* 8D2C68 80241758 34A50002 */ ori $a1, $a1, 2 +/* 8D2C6C 8024175C 0040202D */ daddu $a0, $v0, $zero +/* 8D2C70 80241760 24420008 */ addiu $v0, $v0, 8 +/* 8D2C74 80241764 AC620000 */ sw $v0, ($v1) +/* 8D2C78 80241768 24020040 */ addiu $v0, $zero, 0x40 +/* 8D2C7C 8024176C AC850000 */ sw $a1, ($a0) +/* 8D2C80 80241770 AC820004 */ sw $v0, 4($a0) +/* 8D2C84 80241774 8FBF00D8 */ lw $ra, 0xd8($sp) +/* 8D2C88 80241778 8FB700D4 */ lw $s7, 0xd4($sp) +/* 8D2C8C 8024177C 8FB600D0 */ lw $s6, 0xd0($sp) +/* 8D2C90 80241780 8FB500CC */ lw $s5, 0xcc($sp) +/* 8D2C94 80241784 8FB400C8 */ lw $s4, 0xc8($sp) +/* 8D2C98 80241788 8FB300C4 */ lw $s3, 0xc4($sp) +/* 8D2C9C 8024178C 8FB200C0 */ lw $s2, 0xc0($sp) +/* 8D2CA0 80241790 8FB100BC */ lw $s1, 0xbc($sp) +/* 8D2CA4 80241794 8FB000B8 */ lw $s0, 0xb8($sp) +/* 8D2CA8 80241798 D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* 8D2CAC 8024179C D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* 8D2CB0 802417A0 03E00008 */ jr $ra +/* 8D2CB4 802417A4 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802417A8.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802417A8.s new file mode 100644 index 0000000000..9336c8c641 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802417A8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A8 +/* 8D2CB8 802417A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D2CBC 802417AC 2402000D */ addiu $v0, $zero, 0xd +/* 8D2CC0 802417B0 AFA20010 */ sw $v0, 0x10($sp) +/* 8D2CC4 802417B4 3C028024 */ lui $v0, 0x8024 +/* 8D2CC8 802417B8 24421500 */ addiu $v0, $v0, 0x1500 +/* 8D2CCC 802417BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D2CD0 802417C0 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D2CD4 802417C4 AFA00018 */ sw $zero, 0x18($sp) +/* 8D2CD8 802417C8 AFA2001C */ sw $v0, 0x1c($sp) +/* 8D2CDC 802417CC 0C047644 */ jal queue_render_task +/* 8D2CE0 802417D0 AFA00014 */ sw $zero, 0x14($sp) +/* 8D2CE4 802417D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D2CE8 802417D8 03E00008 */ jr $ra +/* 8D2CEC 802417DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802417E0.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802417E0.s new file mode 100644 index 0000000000..3271b9b6ef --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802417E0.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417E0 +/* 8D2CF0 802417E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8D2CF4 802417E4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D2CF8 802417E8 0080982D */ daddu $s3, $a0, $zero +/* 8D2CFC 802417EC AFBF0028 */ sw $ra, 0x28($sp) +/* 8D2D00 802417F0 AFB50024 */ sw $s5, 0x24($sp) +/* 8D2D04 802417F4 AFB40020 */ sw $s4, 0x20($sp) +/* 8D2D08 802417F8 AFB20018 */ sw $s2, 0x18($sp) +/* 8D2D0C 802417FC AFB10014 */ sw $s1, 0x14($sp) +/* 8D2D10 80241800 AFB00010 */ sw $s0, 0x10($sp) +/* 8D2D14 80241804 8E62000C */ lw $v0, 0xc($s3) +/* 8D2D18 80241808 0C0B1EAF */ jal get_variable +/* 8D2D1C 8024180C 8C450000 */ lw $a1, ($v0) +/* 8D2D20 80241810 24040048 */ addiu $a0, $zero, 0x48 +/* 8D2D24 80241814 0C00AB39 */ jal heap_malloc +/* 8D2D28 80241818 0040902D */ daddu $s2, $v0, $zero +/* 8D2D2C 8024181C 24040200 */ addiu $a0, $zero, 0x200 +/* 8D2D30 80241820 0C00AB39 */ jal heap_malloc +/* 8D2D34 80241824 0040802D */ daddu $s0, $v0, $zero +/* 8D2D38 80241828 24040020 */ addiu $a0, $zero, 0x20 +/* 8D2D3C 8024182C 0C00AB39 */ jal heap_malloc +/* 8D2D40 80241830 0040A82D */ daddu $s5, $v0, $zero +/* 8D2D44 80241834 02A0302D */ daddu $a2, $s5, $zero +/* 8D2D48 80241838 00129080 */ sll $s2, $s2, 2 +/* 8D2D4C 8024183C 3C11001D */ lui $s1, 0x1d +/* 8D2D50 80241840 2631C310 */ addiu $s1, $s1, -0x3cf0 +/* 8D2D54 80241844 3C013F80 */ lui $at, 0x3f80 +/* 8D2D58 80241848 44810000 */ mtc1 $at, $f0 +/* 8D2D5C 8024184C 26250200 */ addiu $a1, $s1, 0x200 +/* 8D2D60 80241850 AE000008 */ sw $zero, 8($s0) +/* 8D2D64 80241854 AE00000C */ sw $zero, 0xc($s0) +/* 8D2D68 80241858 AE000010 */ sw $zero, 0x10($s0) +/* 8D2D6C 8024185C AE000014 */ sw $zero, 0x14($s0) +/* 8D2D70 80241860 AE000018 */ sw $zero, 0x18($s0) +/* 8D2D74 80241864 AE000028 */ sw $zero, 0x28($s0) +/* 8D2D78 80241868 AE00002C */ sw $zero, 0x2c($s0) +/* 8D2D7C 8024186C AE000030 */ sw $zero, 0x30($s0) +/* 8D2D80 80241870 AE000034 */ sw $zero, 0x34($s0) +/* 8D2D84 80241874 AE000038 */ sw $zero, 0x38($s0) +/* 8D2D88 80241878 AE00003C */ sw $zero, 0x3c($s0) +/* 8D2D8C 8024187C AE000040 */ sw $zero, 0x40($s0) +/* 8D2D90 80241880 AE000044 */ sw $zero, 0x44($s0) +/* 8D2D94 80241884 E600001C */ swc1 $f0, 0x1c($s0) +/* 8D2D98 80241888 E6000020 */ swc1 $f0, 0x20($s0) +/* 8D2D9C 8024188C E6000024 */ swc1 $f0, 0x24($s0) +/* 8D2DA0 80241890 3C038009 */ lui $v1, 0x8009 +/* 8D2DA4 80241894 00721821 */ addu $v1, $v1, $s2 +/* 8D2DA8 80241898 8C63E3D8 */ lw $v1, -0x1c28($v1) +/* 8D2DAC 8024189C 0040A02D */ daddu $s4, $v0, $zero +/* 8D2DB0 802418A0 00712021 */ addu $a0, $v1, $s1 +/* 8D2DB4 802418A4 0C00A5CF */ jal dma_copy +/* 8D2DB8 802418A8 00652821 */ addu $a1, $v1, $a1 +/* 8D2DBC 802418AC 3C058009 */ lui $a1, 0x8009 +/* 8D2DC0 802418B0 00B22821 */ addu $a1, $a1, $s2 +/* 8D2DC4 802418B4 8CA5E94C */ lw $a1, -0x16b4($a1) +/* 8D2DC8 802418B8 0280302D */ daddu $a2, $s4, $zero +/* 8D2DCC 802418BC 00B12021 */ addu $a0, $a1, $s1 +/* 8D2DD0 802418C0 26310020 */ addiu $s1, $s1, 0x20 +/* 8D2DD4 802418C4 0C00A5CF */ jal dma_copy +/* 8D2DD8 802418C8 00B12821 */ addu $a1, $a1, $s1 +/* 8D2DDC 802418CC 0C04E9C1 */ jal func_8013A704 +/* 8D2DE0 802418D0 24040001 */ addiu $a0, $zero, 1 +/* 8D2DE4 802418D4 0000202D */ daddu $a0, $zero, $zero +/* 8D2DE8 802418D8 3C058024 */ lui $a1, 0x8024 +/* 8D2DEC 802418DC 24A517A8 */ addiu $a1, $a1, 0x17a8 +/* 8D2DF0 802418E0 0C048C56 */ jal bind_dynamic_entity_3 +/* 8D2DF4 802418E4 AE020000 */ sw $v0, ($s0) +/* 8D2DF8 802418E8 0260202D */ daddu $a0, $s3, $zero +/* 8D2DFC 802418EC 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2E00 802418F0 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D2E04 802418F4 0200302D */ daddu $a2, $s0, $zero +/* 8D2E08 802418F8 0C0B2026 */ jal set_variable +/* 8D2E0C 802418FC ACC20004 */ sw $v0, 4($a2) +/* 8D2E10 80241900 0260202D */ daddu $a0, $s3, $zero +/* 8D2E14 80241904 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2E18 80241908 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8D2E1C 8024190C 0C0B2026 */ jal set_variable +/* 8D2E20 80241910 02A0302D */ daddu $a2, $s5, $zero +/* 8D2E24 80241914 0260202D */ daddu $a0, $s3, $zero +/* 8D2E28 80241918 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2E2C 8024191C 34A50F8C */ ori $a1, $a1, 0xf8c +/* 8D2E30 80241920 0C0B2026 */ jal set_variable +/* 8D2E34 80241924 0280302D */ daddu $a2, $s4, $zero +/* 8D2E38 80241928 8FBF0028 */ lw $ra, 0x28($sp) +/* 8D2E3C 8024192C 8FB50024 */ lw $s5, 0x24($sp) +/* 8D2E40 80241930 8FB40020 */ lw $s4, 0x20($sp) +/* 8D2E44 80241934 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D2E48 80241938 8FB20018 */ lw $s2, 0x18($sp) +/* 8D2E4C 8024193C 8FB10014 */ lw $s1, 0x14($sp) +/* 8D2E50 80241940 8FB00010 */ lw $s0, 0x10($sp) +/* 8D2E54 80241944 24020002 */ addiu $v0, $zero, 2 +/* 8D2E58 80241948 03E00008 */ jr $ra +/* 8D2E5C 8024194C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80241950.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241950.s new file mode 100644 index 0000000000..a06d35095e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241950.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241950 +/* 8D2E60 80241950 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D2E64 80241954 AFB10014 */ sw $s1, 0x14($sp) +/* 8D2E68 80241958 0080882D */ daddu $s1, $a0, $zero +/* 8D2E6C 8024195C AFBF0018 */ sw $ra, 0x18($sp) +/* 8D2E70 80241960 AFB00010 */ sw $s0, 0x10($sp) +/* 8D2E74 80241964 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 8D2E78 80241968 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8D2E7C 8024196C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8D2E80 80241970 8E30000C */ lw $s0, 0xc($s1) +/* 8D2E84 80241974 8E050000 */ lw $a1, ($s0) +/* 8D2E88 80241978 0C0B210B */ jal get_float_variable +/* 8D2E8C 8024197C 26100004 */ addiu $s0, $s0, 4 +/* 8D2E90 80241980 8E050000 */ lw $a1, ($s0) +/* 8D2E94 80241984 26100004 */ addiu $s0, $s0, 4 +/* 8D2E98 80241988 0220202D */ daddu $a0, $s1, $zero +/* 8D2E9C 8024198C 0C0B210B */ jal get_float_variable +/* 8D2EA0 80241990 46000606 */ mov.s $f24, $f0 +/* 8D2EA4 80241994 0220202D */ daddu $a0, $s1, $zero +/* 8D2EA8 80241998 8E050000 */ lw $a1, ($s0) +/* 8D2EAC 8024199C 0C0B210B */ jal get_float_variable +/* 8D2EB0 802419A0 46000586 */ mov.s $f22, $f0 +/* 8D2EB4 802419A4 0220202D */ daddu $a0, $s1, $zero +/* 8D2EB8 802419A8 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2EBC 802419AC 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D2EC0 802419B0 0C0B1EAF */ jal get_variable +/* 8D2EC4 802419B4 46000506 */ mov.s $f20, $f0 +/* 8D2EC8 802419B8 0040182D */ daddu $v1, $v0, $zero +/* 8D2ECC 802419BC E4780008 */ swc1 $f24, 8($v1) +/* 8D2ED0 802419C0 E476000C */ swc1 $f22, 0xc($v1) +/* 8D2ED4 802419C4 E4740010 */ swc1 $f20, 0x10($v1) +/* 8D2ED8 802419C8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8D2EDC 802419CC 8FB10014 */ lw $s1, 0x14($sp) +/* 8D2EE0 802419D0 8FB00010 */ lw $s0, 0x10($sp) +/* 8D2EE4 802419D4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8D2EE8 802419D8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8D2EEC 802419DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8D2EF0 802419E0 24020002 */ addiu $v0, $zero, 2 +/* 8D2EF4 802419E4 03E00008 */ jr $ra +/* 8D2EF8 802419E8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_802419EC.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_802419EC.s new file mode 100644 index 0000000000..87165da557 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_802419EC.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419EC +/* 8D2EFC 802419EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8D2F00 802419F0 AFB10014 */ sw $s1, 0x14($sp) +/* 8D2F04 802419F4 0080882D */ daddu $s1, $a0, $zero +/* 8D2F08 802419F8 AFBF0018 */ sw $ra, 0x18($sp) +/* 8D2F0C 802419FC AFB00010 */ sw $s0, 0x10($sp) +/* 8D2F10 80241A00 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8D2F14 80241A04 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8D2F18 80241A08 8E30000C */ lw $s0, 0xc($s1) +/* 8D2F1C 80241A0C 8E050000 */ lw $a1, ($s0) +/* 8D2F20 80241A10 0C0B210B */ jal get_float_variable +/* 8D2F24 80241A14 26100004 */ addiu $s0, $s0, 4 +/* 8D2F28 80241A18 0220202D */ daddu $a0, $s1, $zero +/* 8D2F2C 80241A1C 8E050000 */ lw $a1, ($s0) +/* 8D2F30 80241A20 0C0B210B */ jal get_float_variable +/* 8D2F34 80241A24 46000586 */ mov.s $f22, $f0 +/* 8D2F38 80241A28 0220202D */ daddu $a0, $s1, $zero +/* 8D2F3C 80241A2C 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2F40 80241A30 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D2F44 80241A34 0C0B1EAF */ jal get_variable +/* 8D2F48 80241A38 46000506 */ mov.s $f20, $f0 +/* 8D2F4C 80241A3C 0040182D */ daddu $v1, $v0, $zero +/* 8D2F50 80241A40 E4760014 */ swc1 $f22, 0x14($v1) +/* 8D2F54 80241A44 E4740018 */ swc1 $f20, 0x18($v1) +/* 8D2F58 80241A48 8FBF0018 */ lw $ra, 0x18($sp) +/* 8D2F5C 80241A4C 8FB10014 */ lw $s1, 0x14($sp) +/* 8D2F60 80241A50 8FB00010 */ lw $s0, 0x10($sp) +/* 8D2F64 80241A54 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8D2F68 80241A58 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8D2F6C 80241A5C 24020002 */ addiu $v0, $zero, 2 +/* 8D2F70 80241A60 03E00008 */ jr $ra +/* 8D2F74 80241A64 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80241A68.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241A68.s new file mode 100644 index 0000000000..70c9239370 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241A68.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A68 +/* 8D2F78 80241A68 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D2F7C 80241A6C AFB3001C */ sw $s3, 0x1c($sp) +/* 8D2F80 80241A70 0080982D */ daddu $s3, $a0, $zero +/* 8D2F84 80241A74 AFB00010 */ sw $s0, 0x10($sp) +/* 8D2F88 80241A78 00A0802D */ daddu $s0, $a1, $zero +/* 8D2F8C 80241A7C 3C05FD05 */ lui $a1, 0xfd05 +/* 8D2F90 80241A80 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D2F94 80241A84 AFB20018 */ sw $s2, 0x18($sp) +/* 8D2F98 80241A88 AFB10014 */ sw $s1, 0x14($sp) +/* 8D2F9C 80241A8C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8D2FA0 80241A90 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8D2FA4 80241A94 8E72000C */ lw $s2, 0xc($s3) +/* 8D2FA8 80241A98 0C0B1EAF */ jal get_variable +/* 8D2FAC 80241A9C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D2FB0 80241AA0 12000002 */ beqz $s0, .L80241AAC +/* 8D2FB4 80241AA4 0040882D */ daddu $s1, $v0, $zero +/* 8D2FB8 80241AA8 AE600070 */ sw $zero, 0x70($s3) +.L80241AAC: +/* 8D2FBC 80241AAC 8E620070 */ lw $v0, 0x70($s3) +/* 8D2FC0 80241AB0 14400042 */ bnez $v0, .L80241BBC +/* 8D2FC4 80241AB4 00000000 */ nop +/* 8D2FC8 80241AB8 8E450000 */ lw $a1, ($s2) +/* 8D2FCC 80241ABC 26520004 */ addiu $s2, $s2, 4 +/* 8D2FD0 80241AC0 0C0B210B */ jal get_float_variable +/* 8D2FD4 80241AC4 0260202D */ daddu $a0, $s3, $zero +/* 8D2FD8 80241AC8 8E450000 */ lw $a1, ($s2) +/* 8D2FDC 80241ACC 26520004 */ addiu $s2, $s2, 4 +/* 8D2FE0 80241AD0 0260202D */ daddu $a0, $s3, $zero +/* 8D2FE4 80241AD4 0C0B210B */ jal get_float_variable +/* 8D2FE8 80241AD8 46000506 */ mov.s $f20, $f0 +/* 8D2FEC 80241ADC 8E450000 */ lw $a1, ($s2) +/* 8D2FF0 80241AE0 26520004 */ addiu $s2, $s2, 4 +/* 8D2FF4 80241AE4 3C014140 */ lui $at, 0x4140 +/* 8D2FF8 80241AE8 44811000 */ mtc1 $at, $f2 +/* 8D2FFC 80241AEC 0260202D */ daddu $a0, $s3, $zero +/* 8D3000 80241AF0 0C0B210B */ jal get_float_variable +/* 8D3004 80241AF4 46020580 */ add.s $f22, $f0, $f2 +/* 8D3008 80241AF8 E6340028 */ swc1 $f20, 0x28($s1) +/* 8D300C 80241AFC E6200030 */ swc1 $f0, 0x30($s1) +/* 8D3010 80241B00 E636002C */ swc1 $f22, 0x2c($s1) +/* 8D3014 80241B04 8E450000 */ lw $a1, ($s2) +/* 8D3018 80241B08 0C0B1EAF */ jal get_variable +/* 8D301C 80241B0C 0260202D */ daddu $a0, $s3, $zero +/* 8D3020 80241B10 C62C0008 */ lwc1 $f12, 8($s1) +/* 8D3024 80241B14 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 8D3028 80241B18 8E260028 */ lw $a2, 0x28($s1) +/* 8D302C 80241B1C 8E270030 */ lw $a3, 0x30($s1) +/* 8D3030 80241B20 0C00A7B5 */ jal dist2D +/* 8D3034 80241B24 AE220044 */ sw $v0, 0x44($s1) +/* 8D3038 80241B28 C62C0008 */ lwc1 $f12, 8($s1) +/* 8D303C 80241B2C C62E0010 */ lwc1 $f14, 0x10($s1) +/* 8D3040 80241B30 8E260028 */ lw $a2, 0x28($s1) +/* 8D3044 80241B34 8E270030 */ lw $a3, 0x30($s1) +/* 8D3048 80241B38 0C00A720 */ jal atan2 +/* 8D304C 80241B3C 46000506 */ mov.s $f20, $f0 +/* 8D3050 80241B40 C622002C */ lwc1 $f2, 0x2c($s1) +/* 8D3054 80241B44 E6200034 */ swc1 $f0, 0x34($s1) +/* 8D3058 80241B48 C620000C */ lwc1 $f0, 0xc($s1) +/* 8D305C 80241B4C 8E220044 */ lw $v0, 0x44($s1) +/* 8D3060 80241B50 14400006 */ bnez $v0, .L80241B6C +/* 8D3064 80241B54 46001581 */ sub.s $f22, $f2, $f0 +/* 8D3068 80241B58 C6200038 */ lwc1 $f0, 0x38($s1) +/* 8D306C 80241B5C 4600A003 */ div.s $f0, $f20, $f0 +/* 8D3070 80241B60 4600020D */ trunc.w.s $f8, $f0 +/* 8D3074 80241B64 080906E0 */ j .L80241B80 +/* 8D3078 80241B68 E6280044 */ swc1 $f8, 0x44($s1) +.L80241B6C: +/* 8D307C 80241B6C 44820000 */ mtc1 $v0, $f0 +/* 8D3080 80241B70 00000000 */ nop +/* 8D3084 80241B74 46800020 */ cvt.s.w $f0, $f0 +/* 8D3088 80241B78 4600A003 */ div.s $f0, $f20, $f0 +/* 8D308C 80241B7C E6200038 */ swc1 $f0, 0x38($s1) +.L80241B80: +/* 8D3090 80241B80 C6200040 */ lwc1 $f0, 0x40($s1) +/* 8D3094 80241B84 C6220044 */ lwc1 $f2, 0x44($s1) +/* 8D3098 80241B88 468010A0 */ cvt.s.w $f2, $f2 +/* 8D309C 80241B8C 46020002 */ mul.s $f0, $f0, $f2 +/* 8D30A0 80241B90 00000000 */ nop +/* 8D30A4 80241B94 3C013F00 */ lui $at, 0x3f00 +/* 8D30A8 80241B98 44812000 */ mtc1 $at, $f4 +/* 8D30AC 80241B9C 00000000 */ nop +/* 8D30B0 80241BA0 46040002 */ mul.s $f0, $f0, $f4 +/* 8D30B4 80241BA4 00000000 */ nop +/* 8D30B8 80241BA8 4602B083 */ div.s $f2, $f22, $f2 +/* 8D30BC 80241BAC 46020000 */ add.s $f0, $f0, $f2 +/* 8D30C0 80241BB0 24020001 */ addiu $v0, $zero, 1 +/* 8D30C4 80241BB4 E620003C */ swc1 $f0, 0x3c($s1) +/* 8D30C8 80241BB8 AE620070 */ sw $v0, 0x70($s3) +.L80241BBC: +/* 8D30CC 80241BBC 0C00A8BB */ jal sin_deg +/* 8D30D0 80241BC0 C62C0034 */ lwc1 $f12, 0x34($s1) +/* 8D30D4 80241BC4 C6220038 */ lwc1 $f2, 0x38($s1) +/* 8D30D8 80241BC8 46001082 */ mul.s $f2, $f2, $f0 +/* 8D30DC 80241BCC 00000000 */ nop +/* 8D30E0 80241BD0 C6200008 */ lwc1 $f0, 8($s1) +/* 8D30E4 80241BD4 46020000 */ add.s $f0, $f0, $f2 +/* 8D30E8 80241BD8 C62C0034 */ lwc1 $f12, 0x34($s1) +/* 8D30EC 80241BDC 0C00A8D4 */ jal cos_deg +/* 8D30F0 80241BE0 E6200008 */ swc1 $f0, 8($s1) +/* 8D30F4 80241BE4 C6260038 */ lwc1 $f6, 0x38($s1) +/* 8D30F8 80241BE8 46003182 */ mul.s $f6, $f6, $f0 +/* 8D30FC 80241BEC 00000000 */ nop +/* 8D3100 80241BF0 C620003C */ lwc1 $f0, 0x3c($s1) +/* 8D3104 80241BF4 C624000C */ lwc1 $f4, 0xc($s1) +/* 8D3108 80241BF8 46000086 */ mov.s $f2, $f0 +/* 8D310C 80241BFC 46002100 */ add.s $f4, $f4, $f0 +/* 8D3110 80241C00 C6200040 */ lwc1 $f0, 0x40($s1) +/* 8D3114 80241C04 8E220044 */ lw $v0, 0x44($s1) +/* 8D3118 80241C08 46001081 */ sub.s $f2, $f2, $f0 +/* 8D311C 80241C0C C6200010 */ lwc1 $f0, 0x10($s1) +/* 8D3120 80241C10 2442FFFF */ addiu $v0, $v0, -1 +/* 8D3124 80241C14 AE220044 */ sw $v0, 0x44($s1) +/* 8D3128 80241C18 46060001 */ sub.s $f0, $f0, $f6 +/* 8D312C 80241C1C E624000C */ swc1 $f4, 0xc($s1) +/* 8D3130 80241C20 E622003C */ swc1 $f2, 0x3c($s1) +/* 8D3134 80241C24 04400003 */ bltz $v0, .L80241C34 +/* 8D3138 80241C28 E6200010 */ swc1 $f0, 0x10($s1) +/* 8D313C 80241C2C 08090715 */ j .L80241C54 +/* 8D3140 80241C30 0000102D */ daddu $v0, $zero, $zero +.L80241C34: +/* 8D3144 80241C34 C6200028 */ lwc1 $f0, 0x28($s1) +/* 8D3148 80241C38 C622002C */ lwc1 $f2, 0x2c($s1) +/* 8D314C 80241C3C C6240030 */ lwc1 $f4, 0x30($s1) +/* 8D3150 80241C40 24020001 */ addiu $v0, $zero, 1 +/* 8D3154 80241C44 AE20003C */ sw $zero, 0x3c($s1) +/* 8D3158 80241C48 E6200008 */ swc1 $f0, 8($s1) +/* 8D315C 80241C4C E622000C */ swc1 $f2, 0xc($s1) +/* 8D3160 80241C50 E6240010 */ swc1 $f4, 0x10($s1) +.L80241C54: +/* 8D3164 80241C54 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D3168 80241C58 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D316C 80241C5C 8FB20018 */ lw $s2, 0x18($sp) +/* 8D3170 80241C60 8FB10014 */ lw $s1, 0x14($sp) +/* 8D3174 80241C64 8FB00010 */ lw $s0, 0x10($sp) +/* 8D3178 80241C68 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8D317C 80241C6C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8D3180 80241C70 03E00008 */ jr $ra +/* 8D3184 80241C74 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80241C78.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241C78.s new file mode 100644 index 0000000000..833512d0f1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241C78.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C78 +/* 8D3188 80241C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D318C 80241C7C AFB00010 */ sw $s0, 0x10($sp) +/* 8D3190 80241C80 0080802D */ daddu $s0, $a0, $zero +/* 8D3194 80241C84 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D3198 80241C88 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8D319C 80241C8C 8E02000C */ lw $v0, 0xc($s0) +/* 8D31A0 80241C90 0C0B210B */ jal get_float_variable +/* 8D31A4 80241C94 8C450000 */ lw $a1, ($v0) +/* 8D31A8 80241C98 0200202D */ daddu $a0, $s0, $zero +/* 8D31AC 80241C9C 3C05FD05 */ lui $a1, 0xfd05 +/* 8D31B0 80241CA0 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D31B4 80241CA4 0C0B1EAF */ jal get_variable +/* 8D31B8 80241CA8 46000506 */ mov.s $f20, $f0 +/* 8D31BC 80241CAC E4540040 */ swc1 $f20, 0x40($v0) +/* 8D31C0 80241CB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D31C4 80241CB4 8FB00010 */ lw $s0, 0x10($sp) +/* 8D31C8 80241CB8 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8D31CC 80241CBC 24020002 */ addiu $v0, $zero, 2 +/* 8D31D0 80241CC0 03E00008 */ jr $ra +/* 8D31D4 80241CC4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_06/func_80241CC8.s b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241CC8.s new file mode 100644 index 0000000000..2c084ee7d0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_06/func_80241CC8.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CC8 +/* 8D31D8 80241CC8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D31DC 80241CCC AFB00010 */ sw $s0, 0x10($sp) +/* 8D31E0 80241CD0 0080802D */ daddu $s0, $a0, $zero +/* 8D31E4 80241CD4 3C05FD05 */ lui $a1, 0xfd05 +/* 8D31E8 80241CD8 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D31EC 80241CDC AFBF0020 */ sw $ra, 0x20($sp) +/* 8D31F0 80241CE0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D31F4 80241CE4 AFB20018 */ sw $s2, 0x18($sp) +/* 8D31F8 80241CE8 0C0B1EAF */ jal get_variable +/* 8D31FC 80241CEC AFB10014 */ sw $s1, 0x14($sp) +/* 8D3200 80241CF0 0200202D */ daddu $a0, $s0, $zero +/* 8D3204 80241CF4 3C05FD05 */ lui $a1, 0xfd05 +/* 8D3208 80241CF8 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8D320C 80241CFC 0C0B1EAF */ jal get_variable +/* 8D3210 80241D00 0040902D */ daddu $s2, $v0, $zero +/* 8D3214 80241D04 0200202D */ daddu $a0, $s0, $zero +/* 8D3218 80241D08 3C05FD05 */ lui $a1, 0xfd05 +/* 8D321C 80241D0C 34A50F8C */ ori $a1, $a1, 0xf8c +/* 8D3220 80241D10 0C0B1EAF */ jal get_variable +/* 8D3224 80241D14 0040982D */ daddu $s3, $v0, $zero +/* 8D3228 80241D18 8E440004 */ lw $a0, 4($s2) +/* 8D322C 80241D1C 0C048D70 */ jal func_801235C0 +/* 8D3230 80241D20 0040882D */ daddu $s1, $v0, $zero +/* 8D3234 80241D24 0C00AB4B */ jal heap_free +/* 8D3238 80241D28 0240202D */ daddu $a0, $s2, $zero +/* 8D323C 80241D2C 0C00AB4B */ jal heap_free +/* 8D3240 80241D30 0260202D */ daddu $a0, $s3, $zero +/* 8D3244 80241D34 0C00AB4B */ jal heap_free +/* 8D3248 80241D38 0220202D */ daddu $a0, $s1, $zero +/* 8D324C 80241D3C 0200202D */ daddu $a0, $s0, $zero +/* 8D3250 80241D40 3C05FD05 */ lui $a1, 0xfd05 +/* 8D3254 80241D44 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8D3258 80241D48 0C0B2026 */ jal set_variable +/* 8D325C 80241D4C 0000302D */ daddu $a2, $zero, $zero +/* 8D3260 80241D50 0200202D */ daddu $a0, $s0, $zero +/* 8D3264 80241D54 3C05FD05 */ lui $a1, 0xfd05 +/* 8D3268 80241D58 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8D326C 80241D5C 0C0B2026 */ jal set_variable +/* 8D3270 80241D60 0000302D */ daddu $a2, $zero, $zero +/* 8D3274 80241D64 0200202D */ daddu $a0, $s0, $zero +/* 8D3278 80241D68 3C05FD05 */ lui $a1, 0xfd05 +/* 8D327C 80241D6C 34A50F8C */ ori $a1, $a1, 0xf8c +/* 8D3280 80241D70 0C0B2026 */ jal set_variable +/* 8D3284 80241D74 0000302D */ daddu $a2, $zero, $zero +/* 8D3288 80241D78 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D328C 80241D7C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D3290 80241D80 8FB20018 */ lw $s2, 0x18($sp) +/* 8D3294 80241D84 8FB10014 */ lw $s1, 0x14($sp) +/* 8D3298 80241D88 8FB00010 */ lw $s0, 0x10($sp) +/* 8D329C 80241D8C 24020002 */ addiu $v0, $zero, 2 +/* 8D32A0 80241D90 03E00008 */ jr $ra +/* 8D32A4 80241D94 27BD0028 */ addiu $sp, $sp, 0x28 +/* 8D32A8 80241D98 00000000 */ nop +/* 8D32AC 80241D9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_80240000_8D3DC0.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240000_8D3DC0.s new file mode 100644 index 0000000000..e88c115aeb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240000_8D3DC0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8D3DC0 +/* 8D3DC0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D3DC4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8D3DC8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8D3DCC 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 8D3DD0 80240010 AFB20018 */ sw $s2, 0x18($sp) +/* 8D3DD4 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 8D3DD8 80240018 8E110148 */ lw $s1, 0x148($s0) +/* 8D3DDC 8024001C 86240008 */ lh $a0, 8($s1) +/* 8D3DE0 80240020 0C00EABB */ jal get_npc_unsafe +/* 8D3DE4 80240024 00A0902D */ daddu $s2, $a1, $zero +/* 8D3DE8 80240028 8E2300CC */ lw $v1, 0xcc($s1) +/* 8D3DEC 8024002C 0040202D */ daddu $a0, $v0, $zero +/* 8D3DF0 80240030 8C630000 */ lw $v1, ($v1) +/* 8D3DF4 80240034 24020001 */ addiu $v0, $zero, 1 +/* 8D3DF8 80240038 AC830028 */ sw $v1, 0x28($a0) +/* 8D3DFC 8024003C AE020070 */ sw $v0, 0x70($s0) +/* 8D3E00 80240040 8E220000 */ lw $v0, ($s1) +/* 8D3E04 80240044 3C030010 */ lui $v1, 0x10 +/* 8D3E08 80240048 00431024 */ and $v0, $v0, $v1 +/* 8D3E0C 8024004C 10400004 */ beqz $v0, .L80240060 +/* 8D3E10 80240050 00000000 */ nop +/* 8D3E14 80240054 C620006C */ lwc1 $f0, 0x6c($s1) +/* 8D3E18 80240058 46800020 */ cvt.s.w $f0, $f0 +/* 8D3E1C 8024005C E480000C */ swc1 $f0, 0xc($a0) +.L80240060: +/* 8D3E20 80240060 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D3E24 80240064 8C420014 */ lw $v0, 0x14($v0) +/* 8D3E28 80240068 1C400004 */ bgtz $v0, .L8024007C +/* 8D3E2C 8024006C 00000000 */ nop +/* 8D3E30 80240070 C640000C */ lwc1 $f0, 0xc($s2) +/* 8D3E34 80240074 08090027 */ j .L8024009C +/* 8D3E38 80240078 E4800018 */ swc1 $f0, 0x18($a0) +.L8024007C: +/* 8D3E3C 8024007C 3C018024 */ lui $at, 0x8024 +/* 8D3E40 80240080 D4221E90 */ ldc1 $f2, 0x1e90($at) +/* 8D3E44 80240084 44820000 */ mtc1 $v0, $f0 +/* 8D3E48 80240088 00000000 */ nop +/* 8D3E4C 8024008C 46800021 */ cvt.d.w $f0, $f0 +/* 8D3E50 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 8D3E54 80240094 46200020 */ cvt.s.d $f0, $f0 +/* 8D3E58 80240098 E4800018 */ swc1 $f0, 0x18($a0) +.L8024009C: +/* 8D3E5C 8024009C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8D3E60 802400A0 8FB20018 */ lw $s2, 0x18($sp) +/* 8D3E64 802400A4 8FB10014 */ lw $s1, 0x14($sp) +/* 8D3E68 802400A8 8FB00010 */ lw $s0, 0x10($sp) +/* 8D3E6C 802400AC 03E00008 */ jr $ra +/* 8D3E70 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802400B4.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802400B4.s new file mode 100644 index 0000000000..b5e3be359a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802400B4.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4 +/* 8D3E74 802400B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8D3E78 802400B8 AFB40040 */ sw $s4, 0x40($sp) +/* 8D3E7C 802400BC 0080A02D */ daddu $s4, $a0, $zero +/* 8D3E80 802400C0 AFBF0044 */ sw $ra, 0x44($sp) +/* 8D3E84 802400C4 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D3E88 802400C8 AFB20038 */ sw $s2, 0x38($sp) +/* 8D3E8C 802400CC AFB10034 */ sw $s1, 0x34($sp) +/* 8D3E90 802400D0 AFB00030 */ sw $s0, 0x30($sp) +/* 8D3E94 802400D4 8E920148 */ lw $s2, 0x148($s4) +/* 8D3E98 802400D8 00A0802D */ daddu $s0, $a1, $zero +/* 8D3E9C 802400DC 86440008 */ lh $a0, 8($s2) +/* 8D3EA0 802400E0 0C00EABB */ jal get_npc_unsafe +/* 8D3EA4 802400E4 00C0982D */ daddu $s3, $a2, $zero +/* 8D3EA8 802400E8 8E030008 */ lw $v1, 8($s0) +/* 8D3EAC 802400EC 04600031 */ bltz $v1, .L802401B4 +/* 8D3EB0 802400F0 0040882D */ daddu $s1, $v0, $zero +/* 8D3EB4 802400F4 0260202D */ daddu $a0, $s3, $zero +/* 8D3EB8 802400F8 AFA00010 */ sw $zero, 0x10($sp) +/* 8D3EBC 802400FC 8E060018 */ lw $a2, 0x18($s0) +/* 8D3EC0 80240100 8E07001C */ lw $a3, 0x1c($s0) +/* 8D3EC4 80240104 0C01242D */ jal func_800490B4 +/* 8D3EC8 80240108 0240282D */ daddu $a1, $s2, $zero +/* 8D3ECC 8024010C 10400029 */ beqz $v0, .L802401B4 +/* 8D3ED0 80240110 0000202D */ daddu $a0, $zero, $zero +/* 8D3ED4 80240114 0220282D */ daddu $a1, $s1, $zero +/* 8D3ED8 80240118 0000302D */ daddu $a2, $zero, $zero +/* 8D3EDC 8024011C 862300A8 */ lh $v1, 0xa8($s1) +/* 8D3EE0 80240120 3C013F80 */ lui $at, 0x3f80 +/* 8D3EE4 80240124 44810000 */ mtc1 $at, $f0 +/* 8D3EE8 80240128 3C014000 */ lui $at, 0x4000 +/* 8D3EEC 8024012C 44811000 */ mtc1 $at, $f2 +/* 8D3EF0 80240130 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D3EF4 80240134 44812000 */ mtc1 $at, $f4 +/* 8D3EF8 80240138 2402000F */ addiu $v0, $zero, 0xf +/* 8D3EFC 8024013C AFA2001C */ sw $v0, 0x1c($sp) +/* 8D3F00 80240140 44833000 */ mtc1 $v1, $f6 +/* 8D3F04 80240144 00000000 */ nop +/* 8D3F08 80240148 468031A0 */ cvt.s.w $f6, $f6 +/* 8D3F0C 8024014C 44073000 */ mfc1 $a3, $f6 +/* 8D3F10 80240150 27A20028 */ addiu $v0, $sp, 0x28 +/* 8D3F14 80240154 AFA20020 */ sw $v0, 0x20($sp) +/* 8D3F18 80240158 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D3F1C 8024015C E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D3F20 80240160 0C01BFA4 */ jal fx_emote +/* 8D3F24 80240164 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D3F28 80240168 0220202D */ daddu $a0, $s1, $zero +/* 8D3F2C 8024016C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D3F30 80240170 0C012530 */ jal func_800494C0 +/* 8D3F34 80240174 3C060020 */ lui $a2, 0x20 +/* 8D3F38 80240178 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D3F3C 8024017C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D3F40 80240180 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8D3F44 80240184 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8D3F48 80240188 8C460028 */ lw $a2, 0x28($v0) +/* 8D3F4C 8024018C 0C00A720 */ jal atan2 +/* 8D3F50 80240190 8C470030 */ lw $a3, 0x30($v0) +/* 8D3F54 80240194 E620000C */ swc1 $f0, 0xc($s1) +/* 8D3F58 80240198 8E420018 */ lw $v0, 0x18($s2) +/* 8D3F5C 8024019C 9442002A */ lhu $v0, 0x2a($v0) +/* 8D3F60 802401A0 30420001 */ andi $v0, $v0, 1 +/* 8D3F64 802401A4 14400002 */ bnez $v0, .L802401B0 +/* 8D3F68 802401A8 2402000A */ addiu $v0, $zero, 0xa +/* 8D3F6C 802401AC 2402000C */ addiu $v0, $zero, 0xc +.L802401B0: +/* 8D3F70 802401B0 AE820070 */ sw $v0, 0x70($s4) +.L802401B4: +/* 8D3F74 802401B4 8FBF0044 */ lw $ra, 0x44($sp) +/* 8D3F78 802401B8 8FB40040 */ lw $s4, 0x40($sp) +/* 8D3F7C 802401BC 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D3F80 802401C0 8FB20038 */ lw $s2, 0x38($sp) +/* 8D3F84 802401C4 8FB10034 */ lw $s1, 0x34($sp) +/* 8D3F88 802401C8 8FB00030 */ lw $s0, 0x30($sp) +/* 8D3F8C 802401CC 03E00008 */ jr $ra +/* 8D3F90 802401D0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802401D4.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802401D4.s new file mode 100644 index 0000000000..474810bf9f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802401D4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D4 +/* 8D3F94 802401D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D3F98 802401D8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D3F9C 802401DC 0080802D */ daddu $s0, $a0, $zero +/* 8D3FA0 802401E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D3FA4 802401E4 8E020148 */ lw $v0, 0x148($s0) +/* 8D3FA8 802401E8 0C00EABB */ jal get_npc_unsafe +/* 8D3FAC 802401EC 84440008 */ lh $a0, 8($v0) +/* 8D3FB0 802401F0 3C014120 */ lui $at, 0x4120 +/* 8D3FB4 802401F4 44810000 */ mtc1 $at, $f0 +/* 8D3FB8 802401F8 3C014000 */ lui $at, 0x4000 +/* 8D3FBC 802401FC 44811000 */ mtc1 $at, $f2 +/* 8D3FC0 80240200 8C430000 */ lw $v1, ($v0) +/* 8D3FC4 80240204 C444003C */ lwc1 $f4, 0x3c($v0) +/* 8D3FC8 80240208 34630800 */ ori $v1, $v1, 0x800 +/* 8D3FCC 8024020C E440001C */ swc1 $f0, 0x1c($v0) +/* 8D3FD0 80240210 E4420014 */ swc1 $f2, 0x14($v0) +/* 8D3FD4 80240214 E4440064 */ swc1 $f4, 0x64($v0) +/* 8D3FD8 80240218 AC430000 */ sw $v1, ($v0) +/* 8D3FDC 8024021C 2402000B */ addiu $v0, $zero, 0xb +/* 8D3FE0 80240220 AE020070 */ sw $v0, 0x70($s0) +/* 8D3FE4 80240224 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D3FE8 80240228 8FB00010 */ lw $s0, 0x10($sp) +/* 8D3FEC 8024022C 03E00008 */ jr $ra +/* 8D3FF0 80240230 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_80240234.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240234.s new file mode 100644 index 0000000000..72a97337ec --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240234.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240234 +/* 8D3FF4 80240234 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D3FF8 80240238 AFB00010 */ sw $s0, 0x10($sp) +/* 8D3FFC 8024023C 0080802D */ daddu $s0, $a0, $zero +/* 8D4000 80240240 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D4004 80240244 8E020148 */ lw $v0, 0x148($s0) +/* 8D4008 80240248 0C00EABB */ jal get_npc_unsafe +/* 8D400C 8024024C 84440008 */ lh $a0, 8($v0) +/* 8D4010 80240250 0040202D */ daddu $a0, $v0, $zero +/* 8D4014 80240254 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8D4018 80240258 C480001C */ lwc1 $f0, 0x1c($a0) +/* 8D401C 8024025C 46001080 */ add.s $f2, $f2, $f0 +/* 8D4020 80240260 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8D4024 80240264 46040001 */ sub.s $f0, $f0, $f4 +/* 8D4028 80240268 C4840064 */ lwc1 $f4, 0x64($a0) +/* 8D402C 8024026C 4602203C */ c.lt.s $f4, $f2 +/* 8D4030 80240270 E482003C */ swc1 $f2, 0x3c($a0) +/* 8D4034 80240274 45010009 */ bc1t .L8024029C +/* 8D4038 80240278 E480001C */ swc1 $f0, 0x1c($a0) +/* 8D403C 8024027C 8C820000 */ lw $v0, ($a0) +/* 8D4040 80240280 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8D4044 80240284 E484003C */ swc1 $f4, 0x3c($a0) +/* 8D4048 80240288 AC80001C */ sw $zero, 0x1c($a0) +/* 8D404C 8024028C 00431024 */ and $v0, $v0, $v1 +/* 8D4050 80240290 AC820000 */ sw $v0, ($a0) +/* 8D4054 80240294 2402000C */ addiu $v0, $zero, 0xc +/* 8D4058 80240298 AE020070 */ sw $v0, 0x70($s0) +.L8024029C: +/* 8D405C 8024029C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D4060 802402A0 8FB00010 */ lw $s0, 0x10($sp) +/* 8D4064 802402A4 03E00008 */ jr $ra +/* 8D4068 802402A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802402AC.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802402AC.s new file mode 100644 index 0000000000..f1a7b52324 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802402AC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402AC +/* 8D406C 802402AC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8D4070 802402B0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D4074 802402B4 0080982D */ daddu $s3, $a0, $zero +/* 8D4078 802402B8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D407C 802402BC AFB20018 */ sw $s2, 0x18($sp) +/* 8D4080 802402C0 AFB10014 */ sw $s1, 0x14($sp) +/* 8D4084 802402C4 AFB00010 */ sw $s0, 0x10($sp) +/* 8D4088 802402C8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8D408C 802402CC 8E710148 */ lw $s1, 0x148($s3) +/* 8D4090 802402D0 86240008 */ lh $a0, 8($s1) +/* 8D4094 802402D4 0C00EABB */ jal get_npc_unsafe +/* 8D4098 802402D8 00A0802D */ daddu $s0, $a1, $zero +/* 8D409C 802402DC 8E040014 */ lw $a0, 0x14($s0) +/* 8D40A0 802402E0 0040902D */ daddu $s2, $v0, $zero +/* 8D40A4 802402E4 00041FC2 */ srl $v1, $a0, 0x1f +/* 8D40A8 802402E8 00832021 */ addu $a0, $a0, $v1 +/* 8D40AC 802402EC 00042043 */ sra $a0, $a0, 1 +/* 8D40B0 802402F0 0C00A67F */ jal rand_int +/* 8D40B4 802402F4 24840001 */ addiu $a0, $a0, 1 +/* 8D40B8 802402F8 8E030014 */ lw $v1, 0x14($s0) +/* 8D40BC 802402FC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 8D40C0 80240300 000327C2 */ srl $a0, $v1, 0x1f +/* 8D40C4 80240304 00641821 */ addu $v1, $v1, $a0 +/* 8D40C8 80240308 00031843 */ sra $v1, $v1, 1 +/* 8D40CC 8024030C 00621821 */ addu $v1, $v1, $v0 +/* 8D40D0 80240310 A643008E */ sh $v1, 0x8e($s2) +/* 8D40D4 80240314 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D40D8 80240318 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 8D40DC 8024031C 8C42000C */ lw $v0, 0xc($v0) +/* 8D40E0 80240320 AE420028 */ sw $v0, 0x28($s2) +/* 8D40E4 80240324 C600000C */ lwc1 $f0, 0xc($s0) +/* 8D40E8 80240328 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D40EC 8024032C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D40F0 80240330 E6400018 */ swc1 $f0, 0x18($s2) +/* 8D40F4 80240334 8C460028 */ lw $a2, 0x28($v0) +/* 8D40F8 80240338 0C00A720 */ jal atan2 +/* 8D40FC 8024033C 8C470030 */ lw $a3, 0x30($v0) +/* 8D4100 80240340 46000506 */ mov.s $f20, $f0 +/* 8D4104 80240344 C64C000C */ lwc1 $f12, 0xc($s2) +/* 8D4108 80240348 0C00A70A */ jal get_clamped_angle_diff +/* 8D410C 8024034C 4600A386 */ mov.s $f14, $f20 +/* 8D4110 80240350 46000086 */ mov.s $f2, $f0 +/* 8D4114 80240354 8E020010 */ lw $v0, 0x10($s0) +/* 8D4118 80240358 46001005 */ abs.s $f0, $f2 +/* 8D411C 8024035C 44822000 */ mtc1 $v0, $f4 +/* 8D4120 80240360 00000000 */ nop +/* 8D4124 80240364 46802120 */ cvt.s.w $f4, $f4 +/* 8D4128 80240368 4600203C */ c.lt.s $f4, $f0 +/* 8D412C 8024036C 00000000 */ nop +/* 8D4130 80240370 4500000D */ bc1f .L802403A8 +/* 8D4134 80240374 00000000 */ nop +/* 8D4138 80240378 44800000 */ mtc1 $zero, $f0 +/* 8D413C 8024037C C654000C */ lwc1 $f20, 0xc($s2) +/* 8D4140 80240380 4600103C */ c.lt.s $f2, $f0 +/* 8D4144 80240384 00000000 */ nop +/* 8D4148 80240388 45000006 */ bc1f .L802403A4 +/* 8D414C 8024038C 00021023 */ negu $v0, $v0 +/* 8D4150 80240390 44820000 */ mtc1 $v0, $f0 +/* 8D4154 80240394 00000000 */ nop +/* 8D4158 80240398 46800020 */ cvt.s.w $f0, $f0 +/* 8D415C 8024039C 080900EA */ j .L802403A8 +/* 8D4160 802403A0 4600A500 */ add.s $f20, $f20, $f0 +.L802403A4: +/* 8D4164 802403A4 4604A500 */ add.s $f20, $f20, $f4 +.L802403A8: +/* 8D4168 802403A8 0C00A6C9 */ jal clamp_angle +/* 8D416C 802403AC 4600A306 */ mov.s $f12, $f20 +/* 8D4170 802403B0 2402000D */ addiu $v0, $zero, 0xd +/* 8D4174 802403B4 E640000C */ swc1 $f0, 0xc($s2) +/* 8D4178 802403B8 AE620070 */ sw $v0, 0x70($s3) +/* 8D417C 802403BC 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D4180 802403C0 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D4184 802403C4 8FB20018 */ lw $s2, 0x18($sp) +/* 8D4188 802403C8 8FB10014 */ lw $s1, 0x14($sp) +/* 8D418C 802403CC 8FB00010 */ lw $s0, 0x10($sp) +/* 8D4190 802403D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8D4194 802403D4 03E00008 */ jr $ra +/* 8D4198 802403D8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802403DC.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802403DC.s new file mode 100644 index 0000000000..d059e39103 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802403DC.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403DC +/* 8D419C 802403DC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8D41A0 802403E0 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D41A4 802403E4 0080982D */ daddu $s3, $a0, $zero +/* 8D41A8 802403E8 AFBF0040 */ sw $ra, 0x40($sp) +/* 8D41AC 802403EC AFB20038 */ sw $s2, 0x38($sp) +/* 8D41B0 802403F0 AFB10034 */ sw $s1, 0x34($sp) +/* 8D41B4 802403F4 AFB00030 */ sw $s0, 0x30($sp) +/* 8D41B8 802403F8 8E720148 */ lw $s2, 0x148($s3) +/* 8D41BC 802403FC 00A0882D */ daddu $s1, $a1, $zero +/* 8D41C0 80240400 86440008 */ lh $a0, 8($s2) +/* 8D41C4 80240404 0C00EABB */ jal get_npc_unsafe +/* 8D41C8 80240408 00C0802D */ daddu $s0, $a2, $zero +/* 8D41CC 8024040C 0200202D */ daddu $a0, $s0, $zero +/* 8D41D0 80240410 0240282D */ daddu $a1, $s2, $zero +/* 8D41D4 80240414 24030001 */ addiu $v1, $zero, 1 +/* 8D41D8 80240418 AFA30010 */ sw $v1, 0x10($sp) +/* 8D41DC 8024041C 8E260018 */ lw $a2, 0x18($s1) +/* 8D41E0 80240420 8E27001C */ lw $a3, 0x1c($s1) +/* 8D41E4 80240424 0C01242D */ jal func_800490B4 +/* 8D41E8 80240428 0040802D */ daddu $s0, $v0, $zero +/* 8D41EC 8024042C 1440001D */ bnez $v0, .L802404A4 +/* 8D41F0 80240430 24040002 */ addiu $a0, $zero, 2 +/* 8D41F4 80240434 0200282D */ daddu $a1, $s0, $zero +/* 8D41F8 80240438 0000302D */ daddu $a2, $zero, $zero +/* 8D41FC 8024043C 860300A8 */ lh $v1, 0xa8($s0) +/* 8D4200 80240440 3C013F80 */ lui $at, 0x3f80 +/* 8D4204 80240444 44810000 */ mtc1 $at, $f0 +/* 8D4208 80240448 3C014000 */ lui $at, 0x4000 +/* 8D420C 8024044C 44811000 */ mtc1 $at, $f2 +/* 8D4210 80240450 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D4214 80240454 44812000 */ mtc1 $at, $f4 +/* 8D4218 80240458 2402000F */ addiu $v0, $zero, 0xf +/* 8D421C 8024045C AFA2001C */ sw $v0, 0x1c($sp) +/* 8D4220 80240460 44833000 */ mtc1 $v1, $f6 +/* 8D4224 80240464 00000000 */ nop +/* 8D4228 80240468 468031A0 */ cvt.s.w $f6, $f6 +/* 8D422C 8024046C 44073000 */ mfc1 $a3, $f6 +/* 8D4230 80240470 27A20028 */ addiu $v0, $sp, 0x28 +/* 8D4234 80240474 AFA20020 */ sw $v0, 0x20($sp) +/* 8D4238 80240478 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D423C 8024047C E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D4240 80240480 0C01BFA4 */ jal fx_emote +/* 8D4244 80240484 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D4248 80240488 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D424C 8024048C 8C430000 */ lw $v1, ($v0) +/* 8D4250 80240490 24020019 */ addiu $v0, $zero, 0x19 +/* 8D4254 80240494 A602008E */ sh $v0, 0x8e($s0) +/* 8D4258 80240498 2402000E */ addiu $v0, $zero, 0xe +/* 8D425C 8024049C 08090136 */ j .L802404D8 +/* 8D4260 802404A0 AE030028 */ sw $v1, 0x28($s0) +.L802404A4: +/* 8D4264 802404A4 8E050018 */ lw $a1, 0x18($s0) +/* 8D4268 802404A8 8E06000C */ lw $a2, 0xc($s0) +/* 8D426C 802404AC 0C00EA95 */ jal npc_move_heading +/* 8D4270 802404B0 0200202D */ daddu $a0, $s0, $zero +/* 8D4274 802404B4 0200202D */ daddu $a0, $s0, $zero +/* 8D4278 802404B8 0C00F598 */ jal func_8003D660 +/* 8D427C 802404BC 24050001 */ addiu $a1, $zero, 1 +/* 8D4280 802404C0 9602008E */ lhu $v0, 0x8e($s0) +/* 8D4284 802404C4 2442FFFF */ addiu $v0, $v0, -1 +/* 8D4288 802404C8 A602008E */ sh $v0, 0x8e($s0) +/* 8D428C 802404CC 00021400 */ sll $v0, $v0, 0x10 +/* 8D4290 802404D0 14400002 */ bnez $v0, .L802404DC +/* 8D4294 802404D4 2402000C */ addiu $v0, $zero, 0xc +.L802404D8: +/* 8D4298 802404D8 AE620070 */ sw $v0, 0x70($s3) +.L802404DC: +/* 8D429C 802404DC 8FBF0040 */ lw $ra, 0x40($sp) +/* 8D42A0 802404E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D42A4 802404E4 8FB20038 */ lw $s2, 0x38($sp) +/* 8D42A8 802404E8 8FB10034 */ lw $s1, 0x34($sp) +/* 8D42AC 802404EC 8FB00030 */ lw $s0, 0x30($sp) +/* 8D42B0 802404F0 03E00008 */ jr $ra +/* 8D42B4 802404F4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802404F8.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802404F8.s new file mode 100644 index 0000000000..164f594ca8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802404F8.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F8 +/* 8D42B8 802404F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D42BC 802404FC AFB00010 */ sw $s0, 0x10($sp) +/* 8D42C0 80240500 0080802D */ daddu $s0, $a0, $zero +/* 8D42C4 80240504 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D42C8 80240508 8E020148 */ lw $v0, 0x148($s0) +/* 8D42CC 8024050C 0C00EABB */ jal get_npc_unsafe +/* 8D42D0 80240510 84440008 */ lh $a0, 8($v0) +/* 8D42D4 80240514 9443008E */ lhu $v1, 0x8e($v0) +/* 8D42D8 80240518 2463FFFF */ addiu $v1, $v1, -1 +/* 8D42DC 8024051C A443008E */ sh $v1, 0x8e($v0) +/* 8D42E0 80240520 00031C00 */ sll $v1, $v1, 0x10 +/* 8D42E4 80240524 14600002 */ bnez $v1, .L80240530 +/* 8D42E8 80240528 2402000F */ addiu $v0, $zero, 0xf +/* 8D42EC 8024052C AE020070 */ sw $v0, 0x70($s0) +.L80240530: +/* 8D42F0 80240530 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D42F4 80240534 8FB00010 */ lw $s0, 0x10($sp) +/* 8D42F8 80240538 03E00008 */ jr $ra +/* 8D42FC 8024053C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_80240540_8D3DC0.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240540_8D3DC0.s new file mode 100644 index 0000000000..2544caa9df --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240540_8D3DC0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_8D4300 +/* 8D4300 80240540 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D4304 80240544 AFB10014 */ sw $s1, 0x14($sp) +/* 8D4308 80240548 0080882D */ daddu $s1, $a0, $zero +/* 8D430C 8024054C AFBF001C */ sw $ra, 0x1c($sp) +/* 8D4310 80240550 AFB20018 */ sw $s2, 0x18($sp) +/* 8D4314 80240554 AFB00010 */ sw $s0, 0x10($sp) +/* 8D4318 80240558 8E300148 */ lw $s0, 0x148($s1) +/* 8D431C 8024055C 86040008 */ lh $a0, 8($s0) +/* 8D4320 80240560 0C00EABB */ jal get_npc_unsafe +/* 8D4324 80240564 00A0902D */ daddu $s2, $a1, $zero +/* 8D4328 80240568 8E0300CC */ lw $v1, 0xcc($s0) +/* 8D432C 8024056C 8C630004 */ lw $v1, 4($v1) +/* 8D4330 80240570 0040202D */ daddu $a0, $v0, $zero +/* 8D4334 80240574 AC830028 */ sw $v1, 0x28($a0) +/* 8D4338 80240578 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8D433C 8024057C 8C420014 */ lw $v0, 0x14($v0) +/* 8D4340 80240580 04410009 */ bgez $v0, .L802405A8 +/* 8D4344 80240584 00000000 */ nop +/* 8D4348 80240588 C640000C */ lwc1 $f0, 0xc($s2) +/* 8D434C 8024058C 3C018024 */ lui $at, 0x8024 +/* 8D4350 80240590 D4221E98 */ ldc1 $f2, 0x1e98($at) +/* 8D4354 80240594 46000021 */ cvt.d.s $f0, $f0 +/* 8D4358 80240598 46220002 */ mul.d $f0, $f0, $f2 +/* 8D435C 8024059C 00000000 */ nop +/* 8D4360 802405A0 08090171 */ j .L802405C4 +/* 8D4364 802405A4 46200020 */ cvt.s.d $f0, $f0 +.L802405A8: +/* 8D4368 802405A8 3C018024 */ lui $at, 0x8024 +/* 8D436C 802405AC D4221EA0 */ ldc1 $f2, 0x1ea0($at) +/* 8D4370 802405B0 44820000 */ mtc1 $v0, $f0 +/* 8D4374 802405B4 00000000 */ nop +/* 8D4378 802405B8 46800021 */ cvt.d.w $f0, $f0 +/* 8D437C 802405BC 46220003 */ div.d $f0, $f0, $f2 +/* 8D4380 802405C0 46200020 */ cvt.s.d $f0, $f0 +.L802405C4: +/* 8D4384 802405C4 E4800018 */ swc1 $f0, 0x18($a0) +/* 8D4388 802405C8 24020010 */ addiu $v0, $zero, 0x10 +/* 8D438C 802405CC AE200074 */ sw $zero, 0x74($s1) +/* 8D4390 802405D0 AE220070 */ sw $v0, 0x70($s1) +/* 8D4394 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8D4398 802405D8 8FB20018 */ lw $s2, 0x18($sp) +/* 8D439C 802405DC 8FB10014 */ lw $s1, 0x14($sp) +/* 8D43A0 802405E0 8FB00010 */ lw $s0, 0x10($sp) +/* 8D43A4 802405E4 03E00008 */ jr $ra +/* 8D43A8 802405E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802405EC_8D3DC0.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802405EC_8D3DC0.s new file mode 100644 index 0000000000..7a05f2a431 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802405EC_8D3DC0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_8D43AC +/* 8D43AC 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8D43B0 802405F0 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D43B4 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 8D43B8 802405F8 AFBF0044 */ sw $ra, 0x44($sp) +/* 8D43BC 802405FC AFB40040 */ sw $s4, 0x40($sp) +/* 8D43C0 80240600 AFB20038 */ sw $s2, 0x38($sp) +/* 8D43C4 80240604 AFB10034 */ sw $s1, 0x34($sp) +/* 8D43C8 80240608 AFB00030 */ sw $s0, 0x30($sp) +/* 8D43CC 8024060C 8E710148 */ lw $s1, 0x148($s3) +/* 8D43D0 80240610 00A0902D */ daddu $s2, $a1, $zero +/* 8D43D4 80240614 86240008 */ lh $a0, 8($s1) +/* 8D43D8 80240618 0C00EABB */ jal get_npc_unsafe +/* 8D43DC 8024061C 00C0A02D */ daddu $s4, $a2, $zero +/* 8D43E0 80240620 8E430008 */ lw $v1, 8($s2) +/* 8D43E4 80240624 0460003B */ bltz $v1, .L80240714 +/* 8D43E8 80240628 0040802D */ daddu $s0, $v0, $zero +/* 8D43EC 8024062C 8E620074 */ lw $v0, 0x74($s3) +/* 8D43F0 80240630 1C400037 */ bgtz $v0, .L80240710 +/* 8D43F4 80240634 2442FFFF */ addiu $v0, $v0, -1 +/* 8D43F8 80240638 0280202D */ daddu $a0, $s4, $zero +/* 8D43FC 8024063C AE630074 */ sw $v1, 0x74($s3) +/* 8D4400 80240640 AFA00010 */ sw $zero, 0x10($sp) +/* 8D4404 80240644 8E460018 */ lw $a2, 0x18($s2) +/* 8D4408 80240648 8E47001C */ lw $a3, 0x1c($s2) +/* 8D440C 8024064C 0C01242D */ jal func_800490B4 +/* 8D4410 80240650 0220282D */ daddu $a1, $s1, $zero +/* 8D4414 80240654 1040002C */ beqz $v0, .L80240708 +/* 8D4418 80240658 0000202D */ daddu $a0, $zero, $zero +/* 8D441C 8024065C 0200282D */ daddu $a1, $s0, $zero +/* 8D4420 80240660 0000302D */ daddu $a2, $zero, $zero +/* 8D4424 80240664 860300A8 */ lh $v1, 0xa8($s0) +/* 8D4428 80240668 3C013F80 */ lui $at, 0x3f80 +/* 8D442C 8024066C 44810000 */ mtc1 $at, $f0 +/* 8D4430 80240670 3C014000 */ lui $at, 0x4000 +/* 8D4434 80240674 44811000 */ mtc1 $at, $f2 +/* 8D4438 80240678 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D443C 8024067C 44812000 */ mtc1 $at, $f4 +/* 8D4440 80240680 2402000F */ addiu $v0, $zero, 0xf +/* 8D4444 80240684 AFA2001C */ sw $v0, 0x1c($sp) +/* 8D4448 80240688 44833000 */ mtc1 $v1, $f6 +/* 8D444C 8024068C 00000000 */ nop +/* 8D4450 80240690 468031A0 */ cvt.s.w $f6, $f6 +/* 8D4454 80240694 44073000 */ mfc1 $a3, $f6 +/* 8D4458 80240698 27A20028 */ addiu $v0, $sp, 0x28 +/* 8D445C 8024069C AFA20020 */ sw $v0, 0x20($sp) +/* 8D4460 802406A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D4464 802406A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D4468 802406A8 0C01BFA4 */ jal fx_emote +/* 8D446C 802406AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D4470 802406B0 0200202D */ daddu $a0, $s0, $zero +/* 8D4474 802406B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D4478 802406B8 0C012530 */ jal func_800494C0 +/* 8D447C 802406BC 3C060020 */ lui $a2, 0x20 +/* 8D4480 802406C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D4484 802406C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D4488 802406C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D448C 802406CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D4490 802406D0 8C460028 */ lw $a2, 0x28($v0) +/* 8D4494 802406D4 0C00A720 */ jal atan2 +/* 8D4498 802406D8 8C470030 */ lw $a3, 0x30($v0) +/* 8D449C 802406DC E600000C */ swc1 $f0, 0xc($s0) +/* 8D44A0 802406E0 8E220018 */ lw $v0, 0x18($s1) +/* 8D44A4 802406E4 9442002A */ lhu $v0, 0x2a($v0) +/* 8D44A8 802406E8 30420001 */ andi $v0, $v0, 1 +/* 8D44AC 802406EC 10400003 */ beqz $v0, .L802406FC +/* 8D44B0 802406F0 2402000A */ addiu $v0, $zero, 0xa +/* 8D44B4 802406F4 080901F5 */ j .L802407D4 +/* 8D44B8 802406F8 AE620070 */ sw $v0, 0x70($s3) +.L802406FC: +/* 8D44BC 802406FC 2402000C */ addiu $v0, $zero, 0xc +/* 8D44C0 80240700 080901F5 */ j .L802407D4 +/* 8D44C4 80240704 AE620070 */ sw $v0, 0x70($s3) +.L80240708: +/* 8D44C8 80240708 8E620074 */ lw $v0, 0x74($s3) +/* 8D44CC 8024070C 2442FFFF */ addiu $v0, $v0, -1 +.L80240710: +/* 8D44D0 80240710 AE620074 */ sw $v0, 0x74($s3) +.L80240714: +/* 8D44D4 80240714 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D44D8 80240718 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D44DC 8024071C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D44E0 80240720 C4460000 */ lwc1 $f6, ($v0) +/* 8D44E4 80240724 468031A0 */ cvt.s.w $f6, $f6 +/* 8D44E8 80240728 44063000 */ mfc1 $a2, $f6 +/* 8D44EC 8024072C C4460008 */ lwc1 $f6, 8($v0) +/* 8D44F0 80240730 468031A0 */ cvt.s.w $f6, $f6 +/* 8D44F4 80240734 44073000 */ mfc1 $a3, $f6 +/* 8D44F8 80240738 0C00A7B5 */ jal dist2D +/* 8D44FC 8024073C 00000000 */ nop +/* 8D4500 80240740 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8D4504 80240744 4602003C */ c.lt.s $f0, $f2 +/* 8D4508 80240748 00000000 */ nop +/* 8D450C 8024074C 4500000E */ bc1f .L80240788 +/* 8D4510 80240750 00000000 */ nop +/* 8D4514 80240754 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D4518 80240758 C4400000 */ lwc1 $f0, ($v0) +/* 8D451C 8024075C 46800020 */ cvt.s.w $f0, $f0 +/* 8D4520 80240760 E6000038 */ swc1 $f0, 0x38($s0) +/* 8D4524 80240764 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D4528 80240768 C4400008 */ lwc1 $f0, 8($v0) +/* 8D452C 8024076C 46800020 */ cvt.s.w $f0, $f0 +/* 8D4530 80240770 E6000040 */ swc1 $f0, 0x40($s0) +/* 8D4534 80240774 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D4538 80240778 C440000C */ lwc1 $f0, 0xc($v0) +/* 8D453C 8024077C 46800020 */ cvt.s.w $f0, $f0 +/* 8D4540 80240780 E600000C */ swc1 $f0, 0xc($s0) +/* 8D4544 80240784 AE600070 */ sw $zero, 0x70($s3) +.L80240788: +/* 8D4548 80240788 8602008C */ lh $v0, 0x8c($s0) +/* 8D454C 8024078C 14400011 */ bnez $v0, .L802407D4 +/* 8D4550 80240790 00000000 */ nop +/* 8D4554 80240794 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D4558 80240798 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D455C 8024079C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D4560 802407A0 C4460000 */ lwc1 $f6, ($v0) +/* 8D4564 802407A4 468031A0 */ cvt.s.w $f6, $f6 +/* 8D4568 802407A8 44063000 */ mfc1 $a2, $f6 +/* 8D456C 802407AC C4460008 */ lwc1 $f6, 8($v0) +/* 8D4570 802407B0 468031A0 */ cvt.s.w $f6, $f6 +/* 8D4574 802407B4 44073000 */ mfc1 $a3, $f6 +/* 8D4578 802407B8 0C00A720 */ jal atan2 +/* 8D457C 802407BC 00000000 */ nop +/* 8D4580 802407C0 8E050018 */ lw $a1, 0x18($s0) +/* 8D4584 802407C4 44060000 */ mfc1 $a2, $f0 +/* 8D4588 802407C8 0200202D */ daddu $a0, $s0, $zero +/* 8D458C 802407CC 0C00EA95 */ jal npc_move_heading +/* 8D4590 802407D0 AC86000C */ sw $a2, 0xc($a0) +.L802407D4: +/* 8D4594 802407D4 8FBF0044 */ lw $ra, 0x44($sp) +/* 8D4598 802407D8 8FB40040 */ lw $s4, 0x40($sp) +/* 8D459C 802407DC 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D45A0 802407E0 8FB20038 */ lw $s2, 0x38($sp) +/* 8D45A4 802407E4 8FB10034 */ lw $s1, 0x34($sp) +/* 8D45A8 802407E8 8FB00030 */ lw $s0, 0x30($sp) +/* 8D45AC 802407EC 03E00008 */ jr $ra +/* 8D45B0 802407F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_802407F4.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_802407F4.s new file mode 100644 index 0000000000..09b5c48467 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_802407F4.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4 +/* 8D45B4 802407F4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8D45B8 802407F8 AFB40040 */ sw $s4, 0x40($sp) +/* 8D45BC 802407FC 0080A02D */ daddu $s4, $a0, $zero +/* 8D45C0 80240800 AFBF0048 */ sw $ra, 0x48($sp) +/* 8D45C4 80240804 AFB50044 */ sw $s5, 0x44($sp) +/* 8D45C8 80240808 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D45CC 8024080C AFB20038 */ sw $s2, 0x38($sp) +/* 8D45D0 80240810 AFB10034 */ sw $s1, 0x34($sp) +/* 8D45D4 80240814 AFB00030 */ sw $s0, 0x30($sp) +/* 8D45D8 80240818 8E920148 */ lw $s2, 0x148($s4) +/* 8D45DC 8024081C 86440008 */ lh $a0, 8($s2) +/* 8D45E0 80240820 8E90000C */ lw $s0, 0xc($s4) +/* 8D45E4 80240824 0C00EABB */ jal get_npc_unsafe +/* 8D45E8 80240828 00A0882D */ daddu $s1, $a1, $zero +/* 8D45EC 8024082C 0280202D */ daddu $a0, $s4, $zero +/* 8D45F0 80240830 8E050000 */ lw $a1, ($s0) +/* 8D45F4 80240834 0C0B1EAF */ jal get_variable +/* 8D45F8 80240838 0040802D */ daddu $s0, $v0, $zero +/* 8D45FC 8024083C AFA00010 */ sw $zero, 0x10($sp) +/* 8D4600 80240840 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D4604 80240844 8C630030 */ lw $v1, 0x30($v1) +/* 8D4608 80240848 AFA30014 */ sw $v1, 0x14($sp) +/* 8D460C 8024084C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D4610 80240850 8C63001C */ lw $v1, 0x1c($v1) +/* 8D4614 80240854 AFA30018 */ sw $v1, 0x18($sp) +/* 8D4618 80240858 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D461C 8024085C 8C630024 */ lw $v1, 0x24($v1) +/* 8D4620 80240860 AFA3001C */ sw $v1, 0x1c($sp) +/* 8D4624 80240864 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D4628 80240868 8C630028 */ lw $v1, 0x28($v1) +/* 8D462C 8024086C 27B50010 */ addiu $s5, $sp, 0x10 +/* 8D4630 80240870 AFA30020 */ sw $v1, 0x20($sp) +/* 8D4634 80240874 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D4638 80240878 3C014282 */ lui $at, 0x4282 +/* 8D463C 8024087C 44810000 */ mtc1 $at, $f0 +/* 8D4640 80240880 8C63002C */ lw $v1, 0x2c($v1) +/* 8D4644 80240884 0040982D */ daddu $s3, $v0, $zero +/* 8D4648 80240888 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D464C 8024088C A7A0002C */ sh $zero, 0x2c($sp) +/* 8D4650 80240890 16200005 */ bnez $s1, .L802408A8 +/* 8D4654 80240894 AFA30024 */ sw $v1, 0x24($sp) +/* 8D4658 80240898 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8D465C 8024089C 30420004 */ andi $v0, $v0, 4 +/* 8D4660 802408A0 1040002F */ beqz $v0, .L80240960 +/* 8D4664 802408A4 00000000 */ nop +.L802408A8: +/* 8D4668 802408A8 AE800070 */ sw $zero, 0x70($s4) +/* 8D466C 802408AC C600000C */ lwc1 $f0, 0xc($s0) +/* 8D4670 802408B0 A600008E */ sh $zero, 0x8e($s0) +/* 8D4674 802408B4 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D4678 802408B8 4600008D */ trunc.w.s $f2, $f0 +/* 8D467C 802408BC E642006C */ swc1 $f2, 0x6c($s2) +/* 8D4680 802408C0 8C420000 */ lw $v0, ($v0) +/* 8D4684 802408C4 8E030000 */ lw $v1, ($s0) +/* 8D4688 802408C8 AE020028 */ sw $v0, 0x28($s0) +/* 8D468C 802408CC 2402F7FF */ addiu $v0, $zero, -0x801 +/* 8D4690 802408D0 00621824 */ and $v1, $v1, $v0 +/* 8D4694 802408D4 AE030000 */ sw $v1, ($s0) +/* 8D4698 802408D8 8E4200D0 */ lw $v0, 0xd0($s2) +/* 8D469C 802408DC 8C420034 */ lw $v0, 0x34($v0) +/* 8D46A0 802408E0 54400005 */ bnel $v0, $zero, .L802408F8 +/* 8D46A4 802408E4 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8D46A8 802408E8 34620200 */ ori $v0, $v1, 0x200 +/* 8D46AC 802408EC 2403FFF7 */ addiu $v1, $zero, -9 +/* 8D46B0 802408F0 08090240 */ j .L80240900 +/* 8D46B4 802408F4 00431024 */ and $v0, $v0, $v1 +.L802408F8: +/* 8D46B8 802408F8 00621024 */ and $v0, $v1, $v0 +/* 8D46BC 802408FC 34420008 */ ori $v0, $v0, 8 +.L80240900: +/* 8D46C0 80240900 AE020000 */ sw $v0, ($s0) +/* 8D46C4 80240904 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8D46C8 80240908 30420004 */ andi $v0, $v0, 4 +/* 8D46CC 8024090C 10400009 */ beqz $v0, .L80240934 +/* 8D46D0 80240910 24020063 */ addiu $v0, $zero, 0x63 +/* 8D46D4 80240914 AE820070 */ sw $v0, 0x70($s4) +/* 8D46D8 80240918 2402000F */ addiu $v0, $zero, 0xf +/* 8D46DC 8024091C AE820074 */ sw $v0, 0x74($s4) +/* 8D46E0 80240920 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8D46E4 80240924 2403FFFB */ addiu $v1, $zero, -5 +/* 8D46E8 80240928 00431024 */ and $v0, $v0, $v1 +/* 8D46EC 8024092C 08090258 */ j .L80240960 +/* 8D46F0 80240930 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240934: +/* 8D46F4 80240934 8E420000 */ lw $v0, ($s2) +/* 8D46F8 80240938 3C034000 */ lui $v1, 0x4000 +/* 8D46FC 8024093C 00431024 */ and $v0, $v0, $v1 +/* 8D4700 80240940 10400007 */ beqz $v0, .L80240960 +/* 8D4704 80240944 3C03BFFF */ lui $v1, 0xbfff +/* 8D4708 80240948 2402000C */ addiu $v0, $zero, 0xc +/* 8D470C 8024094C AE820070 */ sw $v0, 0x70($s4) +/* 8D4710 80240950 8E420000 */ lw $v0, ($s2) +/* 8D4714 80240954 3463FFFF */ ori $v1, $v1, 0xffff +/* 8D4718 80240958 00431024 */ and $v0, $v0, $v1 +/* 8D471C 8024095C AE420000 */ sw $v0, ($s2) +.L80240960: +/* 8D4720 80240960 8E830070 */ lw $v1, 0x70($s4) +/* 8D4724 80240964 2C620064 */ sltiu $v0, $v1, 0x64 +/* 8D4728 80240968 10400036 */ beqz $v0, .L80240A44 +/* 8D472C 8024096C 00031080 */ sll $v0, $v1, 2 +/* 8D4730 80240970 3C018024 */ lui $at, 0x8024 +/* 8D4734 80240974 00220821 */ addu $at, $at, $v0 +/* 8D4738 80240978 8C221EA8 */ lw $v0, 0x1ea8($at) +/* 8D473C 8024097C 00400008 */ jr $v0 +/* 8D4740 80240980 00000000 */ nop +/* 8D4744 80240984 0280202D */ daddu $a0, $s4, $zero +/* 8D4748 80240988 0260282D */ daddu $a1, $s3, $zero +/* 8D474C 8024098C 0C090000 */ jal func_80240000 +/* 8D4750 80240990 02A0302D */ daddu $a2, $s5, $zero +/* 8D4754 80240994 0280202D */ daddu $a0, $s4, $zero +/* 8D4758 80240998 0260282D */ daddu $a1, $s3, $zero +/* 8D475C 8024099C 0C09002D */ jal func_802400B4 +/* 8D4760 802409A0 02A0302D */ daddu $a2, $s5, $zero +/* 8D4764 802409A4 08090291 */ j .L80240A44 +/* 8D4768 802409A8 00000000 */ nop +/* 8D476C 802409AC 0280202D */ daddu $a0, $s4, $zero +/* 8D4770 802409B0 0260282D */ daddu $a1, $s3, $zero +/* 8D4774 802409B4 0C090075 */ jal func_802401D4 +/* 8D4778 802409B8 02A0302D */ daddu $a2, $s5, $zero +/* 8D477C 802409BC 0280202D */ daddu $a0, $s4, $zero +/* 8D4780 802409C0 0260282D */ daddu $a1, $s3, $zero +/* 8D4784 802409C4 0C09008D */ jal func_80240234 +/* 8D4788 802409C8 02A0302D */ daddu $a2, $s5, $zero +/* 8D478C 802409CC 08090291 */ j .L80240A44 +/* 8D4790 802409D0 00000000 */ nop +/* 8D4794 802409D4 0280202D */ daddu $a0, $s4, $zero +/* 8D4798 802409D8 0260282D */ daddu $a1, $s3, $zero +/* 8D479C 802409DC 0C0900AB */ jal func_802402AC +/* 8D47A0 802409E0 02A0302D */ daddu $a2, $s5, $zero +/* 8D47A4 802409E4 0280202D */ daddu $a0, $s4, $zero +/* 8D47A8 802409E8 0260282D */ daddu $a1, $s3, $zero +/* 8D47AC 802409EC 0C0900F7 */ jal func_802403DC +/* 8D47B0 802409F0 02A0302D */ daddu $a2, $s5, $zero +/* 8D47B4 802409F4 08090291 */ j .L80240A44 +/* 8D47B8 802409F8 00000000 */ nop +/* 8D47BC 802409FC 0280202D */ daddu $a0, $s4, $zero +/* 8D47C0 80240A00 0260282D */ daddu $a1, $s3, $zero +/* 8D47C4 80240A04 0C09013E */ jal func_802404F8 +/* 8D47C8 80240A08 02A0302D */ daddu $a2, $s5, $zero +/* 8D47CC 80240A0C 08090291 */ j .L80240A44 +/* 8D47D0 80240A10 00000000 */ nop +/* 8D47D4 80240A14 0280202D */ daddu $a0, $s4, $zero +/* 8D47D8 80240A18 0260282D */ daddu $a1, $s3, $zero +/* 8D47DC 80240A1C 0C090150 */ jal func_80240540 +/* 8D47E0 80240A20 02A0302D */ daddu $a2, $s5, $zero +/* 8D47E4 80240A24 0280202D */ daddu $a0, $s4, $zero +/* 8D47E8 80240A28 0260282D */ daddu $a1, $s3, $zero +/* 8D47EC 80240A2C 0C09017B */ jal func_802405EC +/* 8D47F0 80240A30 02A0302D */ daddu $a2, $s5, $zero +/* 8D47F4 80240A34 08090291 */ j .L80240A44 +/* 8D47F8 80240A38 00000000 */ nop +/* 8D47FC 80240A3C 0C0129CF */ jal func_8004A73C +/* 8D4800 80240A40 0280202D */ daddu $a0, $s4, $zero +.L80240A44: +/* 8D4804 80240A44 8FBF0048 */ lw $ra, 0x48($sp) +/* 8D4808 80240A48 8FB50044 */ lw $s5, 0x44($sp) +/* 8D480C 80240A4C 8FB40040 */ lw $s4, 0x40($sp) +/* 8D4810 80240A50 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D4814 80240A54 8FB20038 */ lw $s2, 0x38($sp) +/* 8D4818 80240A58 8FB10034 */ lw $s1, 0x34($sp) +/* 8D481C 80240A5C 8FB00030 */ lw $s0, 0x30($sp) +/* 8D4820 80240A60 0000102D */ daddu $v0, $zero, $zero +/* 8D4824 80240A64 03E00008 */ jr $ra +/* 8D4828 80240A68 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_07/func_80240A6C.s b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240A6C.s new file mode 100644 index 0000000000..25b8a181cb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_07/func_80240A6C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C +/* 8D482C 80240A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D4830 80240A70 AFBF0010 */ sw $ra, 0x10($sp) +/* 8D4834 80240A74 0000202D */ daddu $a0, $zero, $zero +/* 8D4838 80240A78 3C05FD05 */ lui $a1, 0xfd05 +/* 8D483C 80240A7C 0C0B1EAF */ jal get_variable +/* 8D4840 80240A80 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8D4844 80240A84 0C04417A */ jal get_entity_by_index +/* 8D4848 80240A88 0040202D */ daddu $a0, $v0, $zero +/* 8D484C 80240A8C 50400007 */ beql $v0, $zero, .L80240AAC +/* 8D4850 80240A90 0000102D */ daddu $v0, $zero, $zero +/* 8D4854 80240A94 84440014 */ lh $a0, 0x14($v0) +/* 8D4858 80240A98 3C050000 */ lui $a1, 0 +/* 8D485C 80240A9C 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* 8D4860 80240AA0 0C048052 */ jal play_model_animation +/* 8D4864 80240AA4 00000000 */ nop +/* 8D4868 80240AA8 24020002 */ addiu $v0, $zero, 2 +.L80240AAC: +/* 8D486C 80240AAC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8D4870 80240AB0 03E00008 */ jr $ra +/* 8D4874 80240AB4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8D4878 80240AB8 00000000 */ nop +/* 8D487C 80240ABC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240000_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240000_8D5E00.s new file mode 100644 index 0000000000..3bf1253890 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240000_8D5E00.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8D5E00 +/* 8D5E00 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D5E04 80240004 AFB3002C */ sw $s3, 0x2c($sp) +/* 8D5E08 80240008 0080982D */ daddu $s3, $a0, $zero +/* 8D5E0C 8024000C AFBF0030 */ sw $ra, 0x30($sp) +/* 8D5E10 80240010 AFB20028 */ sw $s2, 0x28($sp) +/* 8D5E14 80240014 AFB10024 */ sw $s1, 0x24($sp) +/* 8D5E18 80240018 AFB00020 */ sw $s0, 0x20($sp) +/* 8D5E1C 8024001C 8E710148 */ lw $s1, 0x148($s3) +/* 8D5E20 80240020 86240008 */ lh $a0, 8($s1) +/* 8D5E24 80240024 0C00EABB */ jal get_npc_unsafe +/* 8D5E28 80240028 00A0902D */ daddu $s2, $a1, $zero +/* 8D5E2C 8024002C 8E440004 */ lw $a0, 4($s2) +/* 8D5E30 80240030 0040802D */ daddu $s0, $v0, $zero +/* 8D5E34 80240034 00041FC2 */ srl $v1, $a0, 0x1f +/* 8D5E38 80240038 00832021 */ addu $a0, $a0, $v1 +/* 8D5E3C 8024003C 00042043 */ sra $a0, $a0, 1 +/* 8D5E40 80240040 0C00A67F */ jal rand_int +/* 8D5E44 80240044 24840001 */ addiu $a0, $a0, 1 +/* 8D5E48 80240048 8E430004 */ lw $v1, 4($s2) +/* 8D5E4C 8024004C 000327C2 */ srl $a0, $v1, 0x1f +/* 8D5E50 80240050 00641821 */ addu $v1, $v1, $a0 +/* 8D5E54 80240054 00031843 */ sra $v1, $v1, 1 +/* 8D5E58 80240058 00621821 */ addu $v1, $v1, $v0 +/* 8D5E5C 8024005C A603008E */ sh $v1, 0x8e($s0) +/* 8D5E60 80240060 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8D5E64 80240064 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8D5E68 80240068 C4640000 */ lwc1 $f4, ($v1) +/* 8D5E6C 8024006C 46802120 */ cvt.s.w $f4, $f4 +/* 8D5E70 80240070 C4620008 */ lwc1 $f2, 8($v1) +/* 8D5E74 80240074 468010A0 */ cvt.s.w $f2, $f2 +/* 8D5E78 80240078 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D5E7C 8024007C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D5E80 80240080 44061000 */ mfc1 $a2, $f2 +/* 8D5E84 80240084 C440000C */ lwc1 $f0, 0xc($v0) +/* 8D5E88 80240088 46800020 */ cvt.s.w $f0, $f0 +/* 8D5E8C 8024008C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8D5E90 80240090 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D5E94 80240094 44052000 */ mfc1 $a1, $f4 +/* 8D5E98 80240098 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8D5E9C 8024009C 46800020 */ cvt.s.w $f0, $f0 +/* 8D5EA0 802400A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D5EA4 802400A4 8C640018 */ lw $a0, 0x18($v1) +/* 8D5EA8 802400A8 0C0123F5 */ jal is_point_within_region +/* 8D5EAC 802400AC 8E070038 */ lw $a3, 0x38($s0) +/* 8D5EB0 802400B0 1040000E */ beqz $v0, .L802400EC +/* 8D5EB4 802400B4 00000000 */ nop +/* 8D5EB8 802400B8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D5EBC 802400BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D5EC0 802400C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D5EC4 802400C4 C4460000 */ lwc1 $f6, ($v0) +/* 8D5EC8 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* 8D5ECC 802400CC 44063000 */ mfc1 $a2, $f6 +/* 8D5ED0 802400D0 C4460008 */ lwc1 $f6, 8($v0) +/* 8D5ED4 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* 8D5ED8 802400D8 44073000 */ mfc1 $a3, $f6 +/* 8D5EDC 802400DC 0C00A720 */ jal atan2 +/* 8D5EE0 802400E0 00000000 */ nop +/* 8D5EE4 802400E4 08090047 */ j .L8024011C +/* 8D5EE8 802400E8 E600000C */ swc1 $f0, 0xc($s0) +.L802400EC: +/* 8D5EEC 802400EC 0C00A67F */ jal rand_int +/* 8D5EF0 802400F0 2404003C */ addiu $a0, $zero, 0x3c +/* 8D5EF4 802400F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D5EF8 802400F8 44820000 */ mtc1 $v0, $f0 +/* 8D5EFC 802400FC 00000000 */ nop +/* 8D5F00 80240100 46800020 */ cvt.s.w $f0, $f0 +/* 8D5F04 80240104 46006300 */ add.s $f12, $f12, $f0 +/* 8D5F08 80240108 3C0141F0 */ lui $at, 0x41f0 +/* 8D5F0C 8024010C 44810000 */ mtc1 $at, $f0 +/* 8D5F10 80240110 0C00A6C9 */ jal clamp_angle +/* 8D5F14 80240114 46006301 */ sub.s $f12, $f12, $f0 +/* 8D5F18 80240118 E600000C */ swc1 $f0, 0xc($s0) +.L8024011C: +/* 8D5F1C 8024011C 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D5F20 80240120 8C420004 */ lw $v0, 4($v0) +/* 8D5F24 80240124 AE020028 */ sw $v0, 0x28($s0) +/* 8D5F28 80240128 AE600074 */ sw $zero, 0x74($s3) +/* 8D5F2C 8024012C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D5F30 80240130 8C420014 */ lw $v0, 0x14($v0) +/* 8D5F34 80240134 04410004 */ bgez $v0, .L80240148 +/* 8D5F38 80240138 00000000 */ nop +/* 8D5F3C 8024013C C6400000 */ lwc1 $f0, ($s2) +/* 8D5F40 80240140 0809005A */ j .L80240168 +/* 8D5F44 80240144 E6000018 */ swc1 $f0, 0x18($s0) +.L80240148: +/* 8D5F48 80240148 3C018024 */ lui $at, 0x8024 +/* 8D5F4C 8024014C D4222670 */ ldc1 $f2, 0x2670($at) +/* 8D5F50 80240150 44820000 */ mtc1 $v0, $f0 +/* 8D5F54 80240154 00000000 */ nop +/* 8D5F58 80240158 46800021 */ cvt.d.w $f0, $f0 +/* 8D5F5C 8024015C 46220003 */ div.d $f0, $f0, $f2 +/* 8D5F60 80240160 46200020 */ cvt.s.d $f0, $f0 +/* 8D5F64 80240164 E6000018 */ swc1 $f0, 0x18($s0) +.L80240168: +/* 8D5F68 80240168 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D5F6C 8024016C 3C014059 */ lui $at, 0x4059 +/* 8D5F70 80240170 44811800 */ mtc1 $at, $f3 +/* 8D5F74 80240174 44801000 */ mtc1 $zero, $f2 +/* 8D5F78 80240178 46000021 */ cvt.d.s $f0, $f0 +/* 8D5F7C 8024017C 46220002 */ mul.d $f0, $f0, $f2 +/* 8D5F80 80240180 00000000 */ nop +/* 8D5F84 80240184 24020001 */ addiu $v0, $zero, 1 +/* 8D5F88 80240188 4620018D */ trunc.w.d $f6, $f0 +/* 8D5F8C 8024018C E626007C */ swc1 $f6, 0x7c($s1) +/* 8D5F90 80240190 AE620070 */ sw $v0, 0x70($s3) +/* 8D5F94 80240194 8FBF0030 */ lw $ra, 0x30($sp) +/* 8D5F98 80240198 8FB3002C */ lw $s3, 0x2c($sp) +/* 8D5F9C 8024019C 8FB20028 */ lw $s2, 0x28($sp) +/* 8D5FA0 802401A0 8FB10024 */ lw $s1, 0x24($sp) +/* 8D5FA4 802401A4 8FB00020 */ lw $s0, 0x20($sp) +/* 8D5FA8 802401A8 03E00008 */ jr $ra +/* 8D5FAC 802401AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_802401B0_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_802401B0_8D5E00.s new file mode 100644 index 0000000000..5ce6864503 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_802401B0_8D5E00.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_8D5FB0 +/* 8D5FB0 802401B0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 8D5FB4 802401B4 AFB3004C */ sw $s3, 0x4c($sp) +/* 8D5FB8 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 8D5FBC 802401BC AFBF0058 */ sw $ra, 0x58($sp) +/* 8D5FC0 802401C0 AFB50054 */ sw $s5, 0x54($sp) +/* 8D5FC4 802401C4 AFB40050 */ sw $s4, 0x50($sp) +/* 8D5FC8 802401C8 AFB20048 */ sw $s2, 0x48($sp) +/* 8D5FCC 802401CC AFB10044 */ sw $s1, 0x44($sp) +/* 8D5FD0 802401D0 AFB00040 */ sw $s0, 0x40($sp) +/* 8D5FD4 802401D4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8D5FD8 802401D8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8D5FDC 802401DC F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8D5FE0 802401E0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8D5FE4 802401E4 8E710148 */ lw $s1, 0x148($s3) +/* 8D5FE8 802401E8 00A0902D */ daddu $s2, $a1, $zero +/* 8D5FEC 802401EC 86240008 */ lh $a0, 8($s1) +/* 8D5FF0 802401F0 0C00EABB */ jal get_npc_unsafe +/* 8D5FF4 802401F4 00C0A82D */ daddu $s5, $a2, $zero +/* 8D5FF8 802401F8 0040802D */ daddu $s0, $v0, $zero +/* 8D5FFC 802401FC 0000A02D */ daddu $s4, $zero, $zero +/* 8D6000 80240200 C624007C */ lwc1 $f4, 0x7c($s1) +/* 8D6004 80240204 46802120 */ cvt.s.w $f4, $f4 +/* 8D6008 80240208 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8D600C 8024020C 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6010 80240210 460010A1 */ cvt.d.s $f2, $f2 +/* 8D6014 80240214 46002121 */ cvt.d.s $f4, $f4 +/* 8D6018 80240218 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D601C 8024021C 3C014059 */ lui $at, 0x4059 +/* 8D6020 80240220 44813800 */ mtc1 $at, $f7 +/* 8D6024 80240224 44803000 */ mtc1 $zero, $f6 +/* 8D6028 80240228 46000021 */ cvt.d.s $f0, $f0 +/* 8D602C 8024022C 46260002 */ mul.d $f0, $f0, $f6 +/* 8D6030 80240230 00000000 */ nop +/* 8D6034 80240234 24020001 */ addiu $v0, $zero, 1 +/* 8D6038 80240238 8E24006C */ lw $a0, 0x6c($s1) +/* 8D603C 8024023C 46261083 */ div.d $f2, $f2, $f6 +/* 8D6040 80240240 462010A0 */ cvt.s.d $f2, $f2 +/* 8D6044 80240244 46262103 */ div.d $f4, $f4, $f6 +/* 8D6048 80240248 46202520 */ cvt.s.d $f20, $f4 +/* 8D604C 8024024C 30830011 */ andi $v1, $a0, 0x11 +/* 8D6050 80240250 4620020D */ trunc.w.d $f8, $f0 +/* 8D6054 80240254 E628007C */ swc1 $f8, 0x7c($s1) +/* 8D6058 80240258 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D605C 8024025C 46800020 */ cvt.s.w $f0, $f0 +/* 8D6060 80240260 46000021 */ cvt.d.s $f0, $f0 +/* 8D6064 80240264 46260003 */ div.d $f0, $f0, $f6 +/* 8D6068 80240268 462006A0 */ cvt.s.d $f26, $f0 +/* 8D606C 8024026C C6200070 */ lwc1 $f0, 0x70($s1) +/* 8D6070 80240270 46800020 */ cvt.s.w $f0, $f0 +/* 8D6074 80240274 46000021 */ cvt.d.s $f0, $f0 +/* 8D6078 80240278 46260003 */ div.d $f0, $f0, $f6 +/* 8D607C 8024027C 462005A0 */ cvt.s.d $f22, $f0 +/* 8D6080 80240280 14620025 */ bne $v1, $v0, .L80240318 +/* 8D6084 80240284 4602D600 */ add.s $f24, $f26, $f2 +/* 8D6088 80240288 8E020000 */ lw $v0, ($s0) +/* 8D608C 8024028C 30420008 */ andi $v0, $v0, 8 +/* 8D6090 80240290 10400009 */ beqz $v0, .L802402B8 +/* 8D6094 80240294 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D6098 80240298 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D609C 8024029C 4600C001 */ sub.s $f0, $f24, $f0 +/* 8D60A0 802402A0 4600B03C */ c.lt.s $f22, $f0 +/* 8D60A4 802402A4 00000000 */ nop +/* 8D60A8 802402A8 4500001B */ bc1f .L80240318 +/* 8D60AC 802402AC 34820010 */ ori $v0, $a0, 0x10 +/* 8D60B0 802402B0 080900C6 */ j .L80240318 +/* 8D60B4 802402B4 AE22006C */ sw $v0, 0x6c($s1) +.L802402B8: +/* 8D60B8 802402B8 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D60BC 802402BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D60C0 802402C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D60C4 802402C4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D60C8 802402C8 3C01447A */ lui $at, 0x447a +/* 8D60CC 802402CC 44813000 */ mtc1 $at, $f6 +/* 8D60D0 802402D0 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D60D4 802402D4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D60D8 802402D8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D60DC 802402DC E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D60E0 802402E0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D60E4 802402E4 AFA20010 */ sw $v0, 0x10($sp) +/* 8D60E8 802402E8 8E040080 */ lw $a0, 0x80($s0) +/* 8D60EC 802402EC 0C0372DF */ jal func_800DCB7C +/* 8D60F0 802402F0 27A70030 */ addiu $a3, $sp, 0x30 +/* 8D60F4 802402F4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 8D60F8 802402F8 4600D001 */ sub.s $f0, $f26, $f0 +/* 8D60FC 802402FC 4600B03C */ c.lt.s $f22, $f0 +/* 8D6100 80240300 00000000 */ nop +/* 8D6104 80240304 45000004 */ bc1f .L80240318 +/* 8D6108 80240308 00000000 */ nop +/* 8D610C 8024030C 8E22006C */ lw $v0, 0x6c($s1) +/* 8D6110 80240310 34420010 */ ori $v0, $v0, 0x10 +/* 8D6114 80240314 AE22006C */ sw $v0, 0x6c($s1) +.L80240318: +/* 8D6118 80240318 8E22006C */ lw $v0, 0x6c($s1) +/* 8D611C 8024031C 24030011 */ addiu $v1, $zero, 0x11 +/* 8D6120 80240320 30420011 */ andi $v0, $v0, 0x11 +/* 8D6124 80240324 14430039 */ bne $v0, $v1, .L8024040C +/* 8D6128 80240328 00000000 */ nop +/* 8D612C 8024032C 8E020000 */ lw $v0, ($s0) +/* 8D6130 80240330 30420008 */ andi $v0, $v0, 8 +/* 8D6134 80240334 1040000A */ beqz $v0, .L80240360 +/* 8D6138 80240338 4600C106 */ mov.s $f4, $f24 +/* 8D613C 8024033C 4614C081 */ sub.s $f2, $f24, $f20 +/* 8D6140 80240340 3C018024 */ lui $at, 0x8024 +/* 8D6144 80240344 D4202678 */ ldc1 $f0, 0x2678($at) +/* 8D6148 80240348 460010A1 */ cvt.d.s $f2, $f2 +/* 8D614C 8024034C 46201082 */ mul.d $f2, $f2, $f0 +/* 8D6150 80240350 00000000 */ nop +/* 8D6154 80240354 4600A021 */ cvt.d.s $f0, $f20 +/* 8D6158 80240358 080900F1 */ j .L802403C4 +/* 8D615C 8024035C 46220000 */ add.d $f0, $f0, $f2 +.L80240360: +/* 8D6160 80240360 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D6164 80240364 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D6168 80240368 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D616C 8024036C C6020040 */ lwc1 $f2, 0x40($s0) +/* 8D6170 80240370 3C01447A */ lui $at, 0x447a +/* 8D6174 80240374 44812000 */ mtc1 $at, $f4 +/* 8D6178 80240378 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D617C 8024037C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 8D6180 80240380 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D6184 80240384 E7A20030 */ swc1 $f2, 0x30($sp) +/* 8D6188 80240388 E7A40034 */ swc1 $f4, 0x34($sp) +/* 8D618C 8024038C AFA20010 */ sw $v0, 0x10($sp) +/* 8D6190 80240390 8E040080 */ lw $a0, 0x80($s0) +/* 8D6194 80240394 0C0372DF */ jal func_800DCB7C +/* 8D6198 80240398 27A70030 */ addiu $a3, $sp, 0x30 +/* 8D619C 8024039C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 8D61A0 802403A0 461A2100 */ add.s $f4, $f4, $f26 +/* 8D61A4 802403A4 46142081 */ sub.s $f2, $f4, $f20 +/* 8D61A8 802403A8 3C018024 */ lui $at, 0x8024 +/* 8D61AC 802403AC D4202680 */ ldc1 $f0, 0x2680($at) +/* 8D61B0 802403B0 460010A1 */ cvt.d.s $f2, $f2 +/* 8D61B4 802403B4 46201082 */ mul.d $f2, $f2, $f0 +/* 8D61B8 802403B8 00000000 */ nop +/* 8D61BC 802403BC 4600A021 */ cvt.d.s $f0, $f20 +/* 8D61C0 802403C0 46220000 */ add.d $f0, $f0, $f2 +.L802403C4: +/* 8D61C4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 8D61C8 802403C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D61CC 802403CC C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D61D0 802403D0 46002001 */ sub.s $f0, $f4, $f0 +/* 8D61D4 802403D4 3C013FF0 */ lui $at, 0x3ff0 +/* 8D61D8 802403D8 44811800 */ mtc1 $at, $f3 +/* 8D61DC 802403DC 44801000 */ mtc1 $zero, $f2 +/* 8D61E0 802403E0 46000005 */ abs.s $f0, $f0 +/* 8D61E4 802403E4 46000021 */ cvt.d.s $f0, $f0 +/* 8D61E8 802403E8 4622003C */ c.lt.d $f0, $f2 +/* 8D61EC 802403EC 00000000 */ nop +/* 8D61F0 802403F0 45000036 */ bc1f .L802404CC +/* 8D61F4 802403F4 2403FFEF */ addiu $v1, $zero, -0x11 +/* 8D61F8 802403F8 E604003C */ swc1 $f4, 0x3c($s0) +/* 8D61FC 802403FC 8E22006C */ lw $v0, 0x6c($s1) +/* 8D6200 80240400 00431024 */ and $v0, $v0, $v1 +/* 8D6204 80240404 08090133 */ j .L802404CC +/* 8D6208 80240408 AE22006C */ sw $v0, 0x6c($s1) +.L8024040C: +/* 8D620C 8024040C 8E220070 */ lw $v0, 0x70($s1) +/* 8D6210 80240410 1840002E */ blez $v0, .L802404CC +/* 8D6214 80240414 00000000 */ nop +/* 8D6218 80240418 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8D621C 8024041C 0C00A8BB */ jal sin_deg +/* 8D6220 80240420 46806320 */ cvt.s.w $f12, $f12 +/* 8D6224 80240424 8E020000 */ lw $v0, ($s0) +/* 8D6228 80240428 30420008 */ andi $v0, $v0, 8 +/* 8D622C 8024042C 10400003 */ beqz $v0, .L8024043C +/* 8D6230 80240430 46000506 */ mov.s $f20, $f0 +/* 8D6234 80240434 0809011F */ j .L8024047C +/* 8D6238 80240438 0000102D */ daddu $v0, $zero, $zero +.L8024043C: +/* 8D623C 8024043C 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D6240 80240440 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D6244 80240444 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D6248 80240448 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D624C 8024044C C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D6250 80240450 3C01447A */ lui $at, 0x447a +/* 8D6254 80240454 44813000 */ mtc1 $at, $f6 +/* 8D6258 80240458 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D625C 8024045C E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D6260 80240460 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D6264 80240464 E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D6268 80240468 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D626C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 8D6270 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 8D6274 80240474 0C0372DF */ jal func_800DCB7C +/* 8D6278 80240478 27A70030 */ addiu $a3, $sp, 0x30 +.L8024047C: +/* 8D627C 8024047C 10400007 */ beqz $v0, .L8024049C +/* 8D6280 80240480 00000000 */ nop +/* 8D6284 80240484 4616A082 */ mul.s $f2, $f20, $f22 +/* 8D6288 80240488 00000000 */ nop +/* 8D628C 8024048C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8D6290 80240490 461A0000 */ add.s $f0, $f0, $f26 +/* 8D6294 80240494 0809012A */ j .L802404A8 +/* 8D6298 80240498 46020000 */ add.s $f0, $f0, $f2 +.L8024049C: +/* 8D629C 8024049C 4616A002 */ mul.s $f0, $f20, $f22 +/* 8D62A0 802404A0 00000000 */ nop +/* 8D62A4 802404A4 4600C000 */ add.s $f0, $f24, $f0 +.L802404A8: +/* 8D62A8 802404A8 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D62AC 802404AC 8E220074 */ lw $v0, 0x74($s1) +/* 8D62B0 802404B0 2442000A */ addiu $v0, $v0, 0xa +/* 8D62B4 802404B4 44826000 */ mtc1 $v0, $f12 +/* 8D62B8 802404B8 00000000 */ nop +/* 8D62BC 802404BC 0C00A6C9 */ jal clamp_angle +/* 8D62C0 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* 8D62C4 802404C4 4600020D */ trunc.w.s $f8, $f0 +/* 8D62C8 802404C8 E6280074 */ swc1 $f8, 0x74($s1) +.L802404CC: +/* 8D62CC 802404CC 8E220090 */ lw $v0, 0x90($s1) +/* 8D62D0 802404D0 1C40004A */ bgtz $v0, .L802405FC +/* 8D62D4 802404D4 2442FFFF */ addiu $v0, $v0, -1 +/* 8D62D8 802404D8 8E430014 */ lw $v1, 0x14($s2) +/* 8D62DC 802404DC 04600048 */ bltz $v1, .L80240600 +/* 8D62E0 802404E0 00000000 */ nop +/* 8D62E4 802404E4 8E620074 */ lw $v0, 0x74($s3) +/* 8D62E8 802404E8 1C400042 */ bgtz $v0, .L802405F4 +/* 8D62EC 802404EC 2442FFFF */ addiu $v0, $v0, -1 +/* 8D62F0 802404F0 AE630074 */ sw $v1, 0x74($s3) +/* 8D62F4 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 8D62F8 802404F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D62FC 802404FC 44820000 */ mtc1 $v0, $f0 +/* 8D6300 80240500 00000000 */ nop +/* 8D6304 80240504 46800020 */ cvt.s.w $f0, $f0 +/* 8D6308 80240508 46001080 */ add.s $f2, $f2, $f0 +/* 8D630C 8024050C 3C014024 */ lui $at, 0x4024 +/* 8D6310 80240510 44810800 */ mtc1 $at, $f1 +/* 8D6314 80240514 44800000 */ mtc1 $zero, $f0 +/* 8D6318 80240518 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D631C 8024051C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D6320 80240520 460010A1 */ cvt.d.s $f2, $f2 +/* 8D6324 80240524 46201080 */ add.d $f2, $f2, $f0 +/* 8D6328 80240528 C440002C */ lwc1 $f0, 0x2c($v0) +/* 8D632C 8024052C 46000021 */ cvt.d.s $f0, $f0 +/* 8D6330 80240530 4622003C */ c.lt.d $f0, $f2 +/* 8D6334 80240534 00000000 */ nop +/* 8D6338 80240538 4500002C */ bc1f .L802405EC +/* 8D633C 8024053C 02A0202D */ daddu $a0, $s5, $zero +/* 8D6340 80240540 AFA00010 */ sw $zero, 0x10($sp) +/* 8D6344 80240544 8E46000C */ lw $a2, 0xc($s2) +/* 8D6348 80240548 8E470010 */ lw $a3, 0x10($s2) +/* 8D634C 8024054C 0C01242D */ jal func_800490B4 +/* 8D6350 80240550 0220282D */ daddu $a1, $s1, $zero +/* 8D6354 80240554 10400025 */ beqz $v0, .L802405EC +/* 8D6358 80240558 0000202D */ daddu $a0, $zero, $zero +/* 8D635C 8024055C 0200282D */ daddu $a1, $s0, $zero +/* 8D6360 80240560 0000302D */ daddu $a2, $zero, $zero +/* 8D6364 80240564 2412000C */ addiu $s2, $zero, 0xc +/* 8D6368 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* 8D636C 8024056C 3C013F80 */ lui $at, 0x3f80 +/* 8D6370 80240570 44810000 */ mtc1 $at, $f0 +/* 8D6374 80240574 3C014000 */ lui $at, 0x4000 +/* 8D6378 80240578 44811000 */ mtc1 $at, $f2 +/* 8D637C 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D6380 80240580 44812000 */ mtc1 $at, $f4 +/* 8D6384 80240584 44834000 */ mtc1 $v1, $f8 +/* 8D6388 80240588 00000000 */ nop +/* 8D638C 8024058C 46804220 */ cvt.s.w $f8, $f8 +/* 8D6390 80240590 44074000 */ mfc1 $a3, $f8 +/* 8D6394 80240594 27A20038 */ addiu $v0, $sp, 0x38 +/* 8D6398 80240598 AFB2001C */ sw $s2, 0x1c($sp) +/* 8D639C 8024059C AFA20020 */ sw $v0, 0x20($sp) +/* 8D63A0 802405A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D63A4 802405A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D63A8 802405A8 0C01BFA4 */ jal fx_emote +/* 8D63AC 802405AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D63B0 802405B0 0200202D */ daddu $a0, $s0, $zero +/* 8D63B4 802405B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D63B8 802405B8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8D63BC 802405BC 3C060020 */ lui $a2, 0x20 +/* 8D63C0 802405C0 0C012530 */ jal func_800494C0 +/* 8D63C4 802405C4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8D63C8 802405C8 8E220018 */ lw $v0, 0x18($s1) +/* 8D63CC 802405CC 9442002A */ lhu $v0, 0x2a($v0) +/* 8D63D0 802405D0 30420001 */ andi $v0, $v0, 1 +/* 8D63D4 802405D4 10400003 */ beqz $v0, .L802405E4 +/* 8D63D8 802405D8 2402000A */ addiu $v0, $zero, 0xa +/* 8D63DC 802405DC 080901E9 */ j .L802407A4 +/* 8D63E0 802405E0 AE620070 */ sw $v0, 0x70($s3) +.L802405E4: +/* 8D63E4 802405E4 080901E9 */ j .L802407A4 +/* 8D63E8 802405E8 AE720070 */ sw $s2, 0x70($s3) +.L802405EC: +/* 8D63EC 802405EC 8E620074 */ lw $v0, 0x74($s3) +/* 8D63F0 802405F0 2442FFFF */ addiu $v0, $v0, -1 +.L802405F4: +/* 8D63F4 802405F4 08090180 */ j .L80240600 +/* 8D63F8 802405F8 AE620074 */ sw $v0, 0x74($s3) +.L802405FC: +/* 8D63FC 802405FC AE220090 */ sw $v0, 0x90($s1) +.L80240600: +/* 8D6400 80240600 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8D6404 80240604 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8D6408 80240608 C4620000 */ lwc1 $f2, ($v1) +/* 8D640C 8024060C 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6410 80240610 C4640008 */ lwc1 $f4, 8($v1) +/* 8D6414 80240614 46802120 */ cvt.s.w $f4, $f4 +/* 8D6418 80240618 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D641C 8024061C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D6420 80240620 44051000 */ mfc1 $a1, $f2 +/* 8D6424 80240624 C440000C */ lwc1 $f0, 0xc($v0) +/* 8D6428 80240628 46800020 */ cvt.s.w $f0, $f0 +/* 8D642C 8024062C E7A00014 */ swc1 $f0, 0x14($sp) +/* 8D6430 80240630 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D6434 80240634 44062000 */ mfc1 $a2, $f4 +/* 8D6438 80240638 C4400010 */ lwc1 $f0, 0x10($v0) +/* 8D643C 8024063C 46800020 */ cvt.s.w $f0, $f0 +/* 8D6440 80240640 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D6444 80240644 8C640018 */ lw $a0, 0x18($v1) +/* 8D6448 80240648 0C0123F5 */ jal is_point_within_region +/* 8D644C 8024064C 8E070038 */ lw $a3, 0x38($s0) +/* 8D6450 80240650 1040001A */ beqz $v0, .L802406BC +/* 8D6454 80240654 00000000 */ nop +/* 8D6458 80240658 8E060038 */ lw $a2, 0x38($s0) +/* 8D645C 8024065C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D6460 80240660 8E070040 */ lw $a3, 0x40($s0) +/* 8D6464 80240664 C44C0000 */ lwc1 $f12, ($v0) +/* 8D6468 80240668 46806320 */ cvt.s.w $f12, $f12 +/* 8D646C 8024066C C44E0008 */ lwc1 $f14, 8($v0) +/* 8D6470 80240670 0C00A7B5 */ jal dist2D +/* 8D6474 80240674 468073A0 */ cvt.s.w $f14, $f14 +/* 8D6478 80240678 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8D647C 8024067C 4600103C */ c.lt.s $f2, $f0 +/* 8D6480 80240680 00000000 */ nop +/* 8D6484 80240684 4500000D */ bc1f .L802406BC +/* 8D6488 80240688 E7A00034 */ swc1 $f0, 0x34($sp) +/* 8D648C 8024068C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D6490 80240690 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D6494 80240694 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D6498 80240698 C4480000 */ lwc1 $f8, ($v0) +/* 8D649C 8024069C 46804220 */ cvt.s.w $f8, $f8 +/* 8D64A0 802406A0 44064000 */ mfc1 $a2, $f8 +/* 8D64A4 802406A4 C4480008 */ lwc1 $f8, 8($v0) +/* 8D64A8 802406A8 46804220 */ cvt.s.w $f8, $f8 +/* 8D64AC 802406AC 44074000 */ mfc1 $a3, $f8 +/* 8D64B0 802406B0 0C00A720 */ jal atan2 +/* 8D64B4 802406B4 24140001 */ addiu $s4, $zero, 1 +/* 8D64B8 802406B8 E600000C */ swc1 $f0, 0xc($s0) +.L802406BC: +/* 8D64BC 802406BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8D64C0 802406C0 8C43000C */ lw $v1, 0xc($v0) +/* 8D64C4 802406C4 8C420010 */ lw $v0, 0x10($v0) +/* 8D64C8 802406C8 00621825 */ or $v1, $v1, $v0 +/* 8D64CC 802406CC 00741825 */ or $v1, $v1, $s4 +/* 8D64D0 802406D0 10600008 */ beqz $v1, .L802406F4 +/* 8D64D4 802406D4 00000000 */ nop +/* 8D64D8 802406D8 8602008C */ lh $v0, 0x8c($s0) +/* 8D64DC 802406DC 14400031 */ bnez $v0, .L802407A4 +/* 8D64E0 802406E0 00000000 */ nop +/* 8D64E4 802406E4 8E050018 */ lw $a1, 0x18($s0) +/* 8D64E8 802406E8 8E06000C */ lw $a2, 0xc($s0) +/* 8D64EC 802406EC 0C00EA95 */ jal npc_move_heading +/* 8D64F0 802406F0 0200202D */ daddu $a0, $s0, $zero +.L802406F4: +/* 8D64F4 802406F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D64F8 802406F8 3C014059 */ lui $at, 0x4059 +/* 8D64FC 802406FC 44811800 */ mtc1 $at, $f3 +/* 8D6500 80240700 44801000 */ mtc1 $zero, $f2 +/* 8D6504 80240704 46000021 */ cvt.d.s $f0, $f0 +/* 8D6508 80240708 46220002 */ mul.d $f0, $f0, $f2 +/* 8D650C 8024070C 00000000 */ nop +/* 8D6510 80240710 4620020D */ trunc.w.d $f8, $f0 +/* 8D6514 80240714 E628007C */ swc1 $f8, 0x7c($s1) +/* 8D6518 80240718 8E420004 */ lw $v0, 4($s2) +/* 8D651C 8024071C 18400021 */ blez $v0, .L802407A4 +/* 8D6520 80240720 00000000 */ nop +/* 8D6524 80240724 8602008E */ lh $v0, 0x8e($s0) +/* 8D6528 80240728 9603008E */ lhu $v1, 0x8e($s0) +/* 8D652C 8024072C 18400005 */ blez $v0, .L80240744 +/* 8D6530 80240730 2462FFFF */ addiu $v0, $v1, -1 +/* 8D6534 80240734 A602008E */ sh $v0, 0x8e($s0) +/* 8D6538 80240738 00021400 */ sll $v0, $v0, 0x10 +/* 8D653C 8024073C 1C400019 */ bgtz $v0, .L802407A4 +/* 8D6540 80240740 00000000 */ nop +.L80240744: +/* 8D6544 80240744 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8D6548 80240748 24020002 */ addiu $v0, $zero, 2 +/* 8D654C 8024074C 0C00A67F */ jal rand_int +/* 8D6550 80240750 AE620070 */ sw $v0, 0x70($s3) +/* 8D6554 80240754 3C035555 */ lui $v1, 0x5555 +/* 8D6558 80240758 34635556 */ ori $v1, $v1, 0x5556 +/* 8D655C 8024075C 00430018 */ mult $v0, $v1 +/* 8D6560 80240760 000227C3 */ sra $a0, $v0, 0x1f +/* 8D6564 80240764 00004010 */ mfhi $t0 +/* 8D6568 80240768 01042023 */ subu $a0, $t0, $a0 +/* 8D656C 8024076C 00041840 */ sll $v1, $a0, 1 +/* 8D6570 80240770 00641821 */ addu $v1, $v1, $a0 +/* 8D6574 80240774 00431023 */ subu $v0, $v0, $v1 +/* 8D6578 80240778 24430002 */ addiu $v1, $v0, 2 +/* 8D657C 8024077C AE630074 */ sw $v1, 0x74($s3) +/* 8D6580 80240780 8E42002C */ lw $v0, 0x2c($s2) +/* 8D6584 80240784 58400007 */ blezl $v0, .L802407A4 +/* 8D6588 80240788 AE600070 */ sw $zero, 0x70($s3) +/* 8D658C 8024078C 8E420008 */ lw $v0, 8($s2) +/* 8D6590 80240790 18400003 */ blez $v0, .L802407A0 +/* 8D6594 80240794 28620003 */ slti $v0, $v1, 3 +/* 8D6598 80240798 10400002 */ beqz $v0, .L802407A4 +/* 8D659C 8024079C 00000000 */ nop +.L802407A0: +/* 8D65A0 802407A0 AE600070 */ sw $zero, 0x70($s3) +.L802407A4: +/* 8D65A4 802407A4 8FBF0058 */ lw $ra, 0x58($sp) +/* 8D65A8 802407A8 8FB50054 */ lw $s5, 0x54($sp) +/* 8D65AC 802407AC 8FB40050 */ lw $s4, 0x50($sp) +/* 8D65B0 802407B0 8FB3004C */ lw $s3, 0x4c($sp) +/* 8D65B4 802407B4 8FB20048 */ lw $s2, 0x48($sp) +/* 8D65B8 802407B8 8FB10044 */ lw $s1, 0x44($sp) +/* 8D65BC 802407BC 8FB00040 */ lw $s0, 0x40($sp) +/* 8D65C0 802407C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8D65C4 802407C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8D65C8 802407C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8D65CC 802407CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8D65D0 802407D0 03E00008 */ jr $ra +/* 8D65D4 802407D4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_802407D8_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_802407D8_8D5E00.s new file mode 100644 index 0000000000..1caf4f429d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_802407D8_8D5E00.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D8_8D65D8 +/* 8D65D8 802407D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D65DC 802407DC AFB3001C */ sw $s3, 0x1c($sp) +/* 8D65E0 802407E0 0080982D */ daddu $s3, $a0, $zero +/* 8D65E4 802407E4 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D65E8 802407E8 AFB20018 */ sw $s2, 0x18($sp) +/* 8D65EC 802407EC AFB10014 */ sw $s1, 0x14($sp) +/* 8D65F0 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* 8D65F4 802407F4 8E720148 */ lw $s2, 0x148($s3) +/* 8D65F8 802407F8 86440008 */ lh $a0, 8($s2) +/* 8D65FC 802407FC 0C00EABB */ jal get_npc_unsafe +/* 8D6600 80240800 00A0882D */ daddu $s1, $a1, $zero +/* 8D6604 80240804 8E240008 */ lw $a0, 8($s1) +/* 8D6608 80240808 0040802D */ daddu $s0, $v0, $zero +/* 8D660C 8024080C 00041FC2 */ srl $v1, $a0, 0x1f +/* 8D6610 80240810 00832021 */ addu $a0, $a0, $v1 +/* 8D6614 80240814 00042043 */ sra $a0, $a0, 1 +/* 8D6618 80240818 0C00A67F */ jal rand_int +/* 8D661C 8024081C 24840001 */ addiu $a0, $a0, 1 +/* 8D6620 80240820 8E230008 */ lw $v1, 8($s1) +/* 8D6624 80240824 240400B4 */ addiu $a0, $zero, 0xb4 +/* 8D6628 80240828 00032FC2 */ srl $a1, $v1, 0x1f +/* 8D662C 8024082C 00651821 */ addu $v1, $v1, $a1 +/* 8D6630 80240830 00031843 */ sra $v1, $v1, 1 +/* 8D6634 80240834 00621821 */ addu $v1, $v1, $v0 +/* 8D6638 80240838 0C00A67F */ jal rand_int +/* 8D663C 8024083C A603008E */ sh $v1, 0x8e($s0) +/* 8D6640 80240840 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D6644 80240844 44820000 */ mtc1 $v0, $f0 +/* 8D6648 80240848 00000000 */ nop +/* 8D664C 8024084C 46800020 */ cvt.s.w $f0, $f0 +/* 8D6650 80240850 46006300 */ add.s $f12, $f12, $f0 +/* 8D6654 80240854 3C0142B4 */ lui $at, 0x42b4 +/* 8D6658 80240858 44810000 */ mtc1 $at, $f0 +/* 8D665C 8024085C 0C00A6C9 */ jal clamp_angle +/* 8D6660 80240860 46006301 */ sub.s $f12, $f12, $f0 +/* 8D6664 80240864 E600000C */ swc1 $f0, 0xc($s0) +/* 8D6668 80240868 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D666C 8024086C 8C420000 */ lw $v0, ($v0) +/* 8D6670 80240870 AE020028 */ sw $v0, 0x28($s0) +/* 8D6674 80240874 24020003 */ addiu $v0, $zero, 3 +/* 8D6678 80240878 AE620070 */ sw $v0, 0x70($s3) +/* 8D667C 8024087C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D6680 80240880 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D6684 80240884 8FB20018 */ lw $s2, 0x18($sp) +/* 8D6688 80240888 8FB10014 */ lw $s1, 0x14($sp) +/* 8D668C 8024088C 8FB00010 */ lw $s0, 0x10($sp) +/* 8D6690 80240890 03E00008 */ jr $ra +/* 8D6694 80240894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240898_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240898_8D5E00.s new file mode 100644 index 0000000000..c98f9fd9bb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240898_8D5E00.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898_8D6698 +/* 8D6698 80240898 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 8D669C 8024089C AFB3004C */ sw $s3, 0x4c($sp) +/* 8D66A0 802408A0 0080982D */ daddu $s3, $a0, $zero +/* 8D66A4 802408A4 AFBF0054 */ sw $ra, 0x54($sp) +/* 8D66A8 802408A8 AFB40050 */ sw $s4, 0x50($sp) +/* 8D66AC 802408AC AFB20048 */ sw $s2, 0x48($sp) +/* 8D66B0 802408B0 AFB10044 */ sw $s1, 0x44($sp) +/* 8D66B4 802408B4 AFB00040 */ sw $s0, 0x40($sp) +/* 8D66B8 802408B8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 8D66BC 802408BC F7B80068 */ sdc1 $f24, 0x68($sp) +/* 8D66C0 802408C0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 8D66C4 802408C4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 8D66C8 802408C8 8E710148 */ lw $s1, 0x148($s3) +/* 8D66CC 802408CC 00A0902D */ daddu $s2, $a1, $zero +/* 8D66D0 802408D0 86240008 */ lh $a0, 8($s1) +/* 8D66D4 802408D4 0C00EABB */ jal get_npc_unsafe +/* 8D66D8 802408D8 00C0A02D */ daddu $s4, $a2, $zero +/* 8D66DC 802408DC 0040802D */ daddu $s0, $v0, $zero +/* 8D66E0 802408E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D66E4 802408E4 46800020 */ cvt.s.w $f0, $f0 +/* 8D66E8 802408E8 46000021 */ cvt.d.s $f0, $f0 +/* 8D66EC 802408EC 3C014059 */ lui $at, 0x4059 +/* 8D66F0 802408F0 44811800 */ mtc1 $at, $f3 +/* 8D66F4 802408F4 44801000 */ mtc1 $zero, $f2 +/* 8D66F8 802408F8 8602008E */ lh $v0, 0x8e($s0) +/* 8D66FC 802408FC 9603008E */ lhu $v1, 0x8e($s0) +/* 8D6700 80240900 46220003 */ div.d $f0, $f0, $f2 +/* 8D6704 80240904 46200620 */ cvt.s.d $f24, $f0 +/* 8D6708 80240908 C6200088 */ lwc1 $f0, 0x88($s1) +/* 8D670C 8024090C 46800020 */ cvt.s.w $f0, $f0 +/* 8D6710 80240910 46000021 */ cvt.d.s $f0, $f0 +/* 8D6714 80240914 46220003 */ div.d $f0, $f0, $f2 +/* 8D6718 80240918 46200020 */ cvt.s.d $f0, $f0 +/* 8D671C 8024091C 18400003 */ blez $v0, .L8024092C +/* 8D6720 80240920 4600C680 */ add.s $f26, $f24, $f0 +/* 8D6724 80240924 2462FFFF */ addiu $v0, $v1, -1 +/* 8D6728 80240928 A602008E */ sh $v0, 0x8e($s0) +.L8024092C: +/* 8D672C 8024092C 8E220070 */ lw $v0, 0x70($s1) +/* 8D6730 80240930 18400034 */ blez $v0, .L80240A04 +/* 8D6734 80240934 00000000 */ nop +/* 8D6738 80240938 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 8D673C 8024093C 46806320 */ cvt.s.w $f12, $f12 +/* 8D6740 80240940 44820000 */ mtc1 $v0, $f0 +/* 8D6744 80240944 00000000 */ nop +/* 8D6748 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 8D674C 8024094C 46000021 */ cvt.d.s $f0, $f0 +/* 8D6750 80240950 46220003 */ div.d $f0, $f0, $f2 +/* 8D6754 80240954 0C00A8BB */ jal sin_deg +/* 8D6758 80240958 462005A0 */ cvt.s.d $f22, $f0 +/* 8D675C 8024095C 8E020000 */ lw $v0, ($s0) +/* 8D6760 80240960 30420008 */ andi $v0, $v0, 8 +/* 8D6764 80240964 10400003 */ beqz $v0, .L80240974 +/* 8D6768 80240968 46000506 */ mov.s $f20, $f0 +/* 8D676C 8024096C 0809026D */ j .L802409B4 +/* 8D6770 80240970 0000102D */ daddu $v0, $zero, $zero +.L80240974: +/* 8D6774 80240974 27A50028 */ addiu $a1, $sp, 0x28 +/* 8D6778 80240978 27A6002C */ addiu $a2, $sp, 0x2c +/* 8D677C 8024097C C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D6780 80240980 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D6784 80240984 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D6788 80240988 3C01447A */ lui $at, 0x447a +/* 8D678C 8024098C 44813000 */ mtc1 $at, $f6 +/* 8D6790 80240990 27A20034 */ addiu $v0, $sp, 0x34 +/* 8D6794 80240994 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D6798 80240998 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 8D679C 8024099C E7A40030 */ swc1 $f4, 0x30($sp) +/* 8D67A0 802409A0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 8D67A4 802409A4 AFA20010 */ sw $v0, 0x10($sp) +/* 8D67A8 802409A8 8E040080 */ lw $a0, 0x80($s0) +/* 8D67AC 802409AC 0C0372DF */ jal func_800DCB7C +/* 8D67B0 802409B0 27A70030 */ addiu $a3, $sp, 0x30 +.L802409B4: +/* 8D67B4 802409B4 10400007 */ beqz $v0, .L802409D4 +/* 8D67B8 802409B8 00000000 */ nop +/* 8D67BC 802409BC 4616A082 */ mul.s $f2, $f20, $f22 +/* 8D67C0 802409C0 00000000 */ nop +/* 8D67C4 802409C4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8D67C8 802409C8 46180000 */ add.s $f0, $f0, $f24 +/* 8D67CC 802409CC 08090278 */ j .L802409E0 +/* 8D67D0 802409D0 46020000 */ add.s $f0, $f0, $f2 +.L802409D4: +/* 8D67D4 802409D4 4616A002 */ mul.s $f0, $f20, $f22 +/* 8D67D8 802409D8 00000000 */ nop +/* 8D67DC 802409DC 4600D000 */ add.s $f0, $f26, $f0 +.L802409E0: +/* 8D67E0 802409E0 E600003C */ swc1 $f0, 0x3c($s0) +/* 8D67E4 802409E4 8E220074 */ lw $v0, 0x74($s1) +/* 8D67E8 802409E8 2442000A */ addiu $v0, $v0, 0xa +/* 8D67EC 802409EC 44826000 */ mtc1 $v0, $f12 +/* 8D67F0 802409F0 00000000 */ nop +/* 8D67F4 802409F4 0C00A6C9 */ jal clamp_angle +/* 8D67F8 802409F8 46806320 */ cvt.s.w $f12, $f12 +/* 8D67FC 802409FC 4600020D */ trunc.w.s $f8, $f0 +/* 8D6800 80240A00 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A04: +/* 8D6804 80240A04 8E220090 */ lw $v0, 0x90($s1) +/* 8D6808 80240A08 1C400040 */ bgtz $v0, .L80240B0C +/* 8D680C 80240A0C 2442FFFF */ addiu $v0, $v0, -1 +/* 8D6810 80240A10 860200A8 */ lh $v0, 0xa8($s0) +/* 8D6814 80240A14 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D6818 80240A18 44821000 */ mtc1 $v0, $f2 +/* 8D681C 80240A1C 00000000 */ nop +/* 8D6820 80240A20 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6824 80240A24 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D6828 80240A28 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D682C 80240A2C 46020000 */ add.s $f0, $f0, $f2 +/* 8D6830 80240A30 3C014024 */ lui $at, 0x4024 +/* 8D6834 80240A34 44812800 */ mtc1 $at, $f5 +/* 8D6838 80240A38 44802000 */ mtc1 $zero, $f4 +/* 8D683C 80240A3C C442002C */ lwc1 $f2, 0x2c($v0) +/* 8D6840 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* 8D6844 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 8D6848 80240A48 460010A1 */ cvt.d.s $f2, $f2 +/* 8D684C 80240A4C 4620103C */ c.lt.d $f2, $f0 +/* 8D6850 80240A50 00000000 */ nop +/* 8D6854 80240A54 4500002E */ bc1f .L80240B10 +/* 8D6858 80240A58 0280202D */ daddu $a0, $s4, $zero +/* 8D685C 80240A5C 24020001 */ addiu $v0, $zero, 1 +/* 8D6860 80240A60 AFA20010 */ sw $v0, 0x10($sp) +/* 8D6864 80240A64 8E460024 */ lw $a2, 0x24($s2) +/* 8D6868 80240A68 8E470028 */ lw $a3, 0x28($s2) +/* 8D686C 80240A6C 0C01242D */ jal func_800490B4 +/* 8D6870 80240A70 0220282D */ daddu $a1, $s1, $zero +/* 8D6874 80240A74 10400026 */ beqz $v0, .L80240B10 +/* 8D6878 80240A78 0000202D */ daddu $a0, $zero, $zero +/* 8D687C 80240A7C 0200282D */ daddu $a1, $s0, $zero +/* 8D6880 80240A80 0000302D */ daddu $a2, $zero, $zero +/* 8D6884 80240A84 2412000C */ addiu $s2, $zero, 0xc +/* 8D6888 80240A88 860300A8 */ lh $v1, 0xa8($s0) +/* 8D688C 80240A8C 3C013F80 */ lui $at, 0x3f80 +/* 8D6890 80240A90 44810000 */ mtc1 $at, $f0 +/* 8D6894 80240A94 3C014000 */ lui $at, 0x4000 +/* 8D6898 80240A98 44811000 */ mtc1 $at, $f2 +/* 8D689C 80240A9C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8D68A0 80240AA0 44812000 */ mtc1 $at, $f4 +/* 8D68A4 80240AA4 44834000 */ mtc1 $v1, $f8 +/* 8D68A8 80240AA8 00000000 */ nop +/* 8D68AC 80240AAC 46804220 */ cvt.s.w $f8, $f8 +/* 8D68B0 80240AB0 44074000 */ mfc1 $a3, $f8 +/* 8D68B4 80240AB4 27A20038 */ addiu $v0, $sp, 0x38 +/* 8D68B8 80240AB8 AFB2001C */ sw $s2, 0x1c($sp) +/* 8D68BC 80240ABC AFA20020 */ sw $v0, 0x20($sp) +/* 8D68C0 80240AC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8D68C4 80240AC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8D68C8 80240AC8 0C01BFA4 */ jal fx_emote +/* 8D68CC 80240ACC E7A40018 */ swc1 $f4, 0x18($sp) +/* 8D68D0 80240AD0 0200202D */ daddu $a0, $s0, $zero +/* 8D68D4 80240AD4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8D68D8 80240AD8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 8D68DC 80240ADC 3C060020 */ lui $a2, 0x20 +/* 8D68E0 80240AE0 0C012530 */ jal func_800494C0 +/* 8D68E4 80240AE4 E4800064 */ swc1 $f0, 0x64($a0) +/* 8D68E8 80240AE8 8E220018 */ lw $v0, 0x18($s1) +/* 8D68EC 80240AEC 9442002A */ lhu $v0, 0x2a($v0) +/* 8D68F0 80240AF0 30420001 */ andi $v0, $v0, 1 +/* 8D68F4 80240AF4 10400003 */ beqz $v0, .L80240B04 +/* 8D68F8 80240AF8 2402000A */ addiu $v0, $zero, 0xa +/* 8D68FC 80240AFC 080902EB */ j .L80240BAC +/* 8D6900 80240B00 AE620070 */ sw $v0, 0x70($s3) +.L80240B04: +/* 8D6904 80240B04 080902EB */ j .L80240BAC +/* 8D6908 80240B08 AE720070 */ sw $s2, 0x70($s3) +.L80240B0C: +/* 8D690C 80240B0C AE220090 */ sw $v0, 0x90($s1) +.L80240B10: +/* 8D6910 80240B10 8602008C */ lh $v0, 0x8c($s0) +/* 8D6914 80240B14 14400025 */ bnez $v0, .L80240BAC +/* 8D6918 80240B18 00000000 */ nop +/* 8D691C 80240B1C 8602008E */ lh $v0, 0x8e($s0) +/* 8D6920 80240B20 1C400022 */ bgtz $v0, .L80240BAC +/* 8D6924 80240B24 00000000 */ nop +/* 8D6928 80240B28 8E620074 */ lw $v0, 0x74($s3) +/* 8D692C 80240B2C 2442FFFF */ addiu $v0, $v0, -1 +/* 8D6930 80240B30 1840001D */ blez $v0, .L80240BA8 +/* 8D6934 80240B34 AE620074 */ sw $v0, 0x74($s3) +/* 8D6938 80240B38 8E220018 */ lw $v0, 0x18($s1) +/* 8D693C 80240B3C 9442002A */ lhu $v0, 0x2a($v0) +/* 8D6940 80240B40 30420010 */ andi $v0, $v0, 0x10 +/* 8D6944 80240B44 14400007 */ bnez $v0, .L80240B64 +/* 8D6948 80240B48 00000000 */ nop +/* 8D694C 80240B4C C600000C */ lwc1 $f0, 0xc($s0) +/* 8D6950 80240B50 3C014334 */ lui $at, 0x4334 +/* 8D6954 80240B54 44816000 */ mtc1 $at, $f12 +/* 8D6958 80240B58 0C00A6C9 */ jal clamp_angle +/* 8D695C 80240B5C 460C0300 */ add.s $f12, $f0, $f12 +/* 8D6960 80240B60 E600000C */ swc1 $f0, 0xc($s0) +.L80240B64: +/* 8D6964 80240B64 0C00A67F */ jal rand_int +/* 8D6968 80240B68 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8D696C 80240B6C 3C032E8B */ lui $v1, 0x2e8b +/* 8D6970 80240B70 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 8D6974 80240B74 00430018 */ mult $v0, $v1 +/* 8D6978 80240B78 00021FC3 */ sra $v1, $v0, 0x1f +/* 8D697C 80240B7C 00004010 */ mfhi $t0 +/* 8D6980 80240B80 00082043 */ sra $a0, $t0, 1 +/* 8D6984 80240B84 00832023 */ subu $a0, $a0, $v1 +/* 8D6988 80240B88 00041840 */ sll $v1, $a0, 1 +/* 8D698C 80240B8C 00641821 */ addu $v1, $v1, $a0 +/* 8D6990 80240B90 00031880 */ sll $v1, $v1, 2 +/* 8D6994 80240B94 00641823 */ subu $v1, $v1, $a0 +/* 8D6998 80240B98 00431023 */ subu $v0, $v0, $v1 +/* 8D699C 80240B9C 24420005 */ addiu $v0, $v0, 5 +/* 8D69A0 80240BA0 080902EB */ j .L80240BAC +/* 8D69A4 80240BA4 A602008E */ sh $v0, 0x8e($s0) +.L80240BA8: +/* 8D69A8 80240BA8 AE600070 */ sw $zero, 0x70($s3) +.L80240BAC: +/* 8D69AC 80240BAC 8FBF0054 */ lw $ra, 0x54($sp) +/* 8D69B0 80240BB0 8FB40050 */ lw $s4, 0x50($sp) +/* 8D69B4 80240BB4 8FB3004C */ lw $s3, 0x4c($sp) +/* 8D69B8 80240BB8 8FB20048 */ lw $s2, 0x48($sp) +/* 8D69BC 80240BBC 8FB10044 */ lw $s1, 0x44($sp) +/* 8D69C0 80240BC0 8FB00040 */ lw $s0, 0x40($sp) +/* 8D69C4 80240BC4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 8D69C8 80240BC8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* 8D69CC 80240BCC D7B60060 */ ldc1 $f22, 0x60($sp) +/* 8D69D0 80240BD0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 8D69D4 80240BD4 03E00008 */ jr $ra +/* 8D69D8 80240BD8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240BDC_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240BDC_8D5E00.s new file mode 100644 index 0000000000..00d7a5ceae --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240BDC_8D5E00.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BDC_8D69DC +/* 8D69DC 80240BDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D69E0 80240BE0 AFB20018 */ sw $s2, 0x18($sp) +/* 8D69E4 80240BE4 0080902D */ daddu $s2, $a0, $zero +/* 8D69E8 80240BE8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8D69EC 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* 8D69F0 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* 8D69F4 80240BF4 8E510148 */ lw $s1, 0x148($s2) +/* 8D69F8 80240BF8 0C00EABB */ jal get_npc_unsafe +/* 8D69FC 80240BFC 86240008 */ lh $a0, 8($s1) +/* 8D6A00 80240C00 0040802D */ daddu $s0, $v0, $zero +/* 8D6A04 80240C04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D6A08 80240C08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D6A0C 80240C0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D6A10 80240C10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D6A14 80240C14 A600008E */ sh $zero, 0x8e($s0) +/* 8D6A18 80240C18 8C460028 */ lw $a2, 0x28($v0) +/* 8D6A1C 80240C1C 0C00A720 */ jal atan2 +/* 8D6A20 80240C20 8C470030 */ lw $a3, 0x30($v0) +/* 8D6A24 80240C24 E600000C */ swc1 $f0, 0xc($s0) +/* 8D6A28 80240C28 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D6A2C 80240C2C 8C420020 */ lw $v0, 0x20($v0) +/* 8D6A30 80240C30 AE020028 */ sw $v0, 0x28($s0) +/* 8D6A34 80240C34 2402000B */ addiu $v0, $zero, 0xb +/* 8D6A38 80240C38 AE420070 */ sw $v0, 0x70($s2) +/* 8D6A3C 80240C3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8D6A40 80240C40 8FB20018 */ lw $s2, 0x18($sp) +/* 8D6A44 80240C44 8FB10014 */ lw $s1, 0x14($sp) +/* 8D6A48 80240C48 8FB00010 */ lw $s0, 0x10($sp) +/* 8D6A4C 80240C4C 03E00008 */ jr $ra +/* 8D6A50 80240C50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240C54_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240C54_8D5E00.s new file mode 100644 index 0000000000..9a03bbc738 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240C54_8D5E00.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C54_8D6A54 +/* 8D6A54 80240C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D6A58 80240C58 AFB00010 */ sw $s0, 0x10($sp) +/* 8D6A5C 80240C5C 0080802D */ daddu $s0, $a0, $zero +/* 8D6A60 80240C60 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D6A64 80240C64 8E020148 */ lw $v0, 0x148($s0) +/* 8D6A68 80240C68 0C00EABB */ jal get_npc_unsafe +/* 8D6A6C 80240C6C 84440008 */ lh $a0, 8($v0) +/* 8D6A70 80240C70 9443008E */ lhu $v1, 0x8e($v0) +/* 8D6A74 80240C74 C440003C */ lwc1 $f0, 0x3c($v0) +/* 8D6A78 80240C78 24640001 */ addiu $a0, $v1, 1 +/* 8D6A7C 80240C7C 00031C00 */ sll $v1, $v1, 0x10 +/* 8D6A80 80240C80 00031B83 */ sra $v1, $v1, 0xe +/* 8D6A84 80240C84 A444008E */ sh $a0, 0x8e($v0) +/* 8D6A88 80240C88 3C018024 */ lui $at, 0x8024 +/* 8D6A8C 80240C8C 00230821 */ addu $at, $at, $v1 +/* 8D6A90 80240C90 C422186C */ lwc1 $f2, 0x186c($at) +/* 8D6A94 80240C94 8443008E */ lh $v1, 0x8e($v0) +/* 8D6A98 80240C98 46020000 */ add.s $f0, $f0, $f2 +/* 8D6A9C 80240C9C 28630005 */ slti $v1, $v1, 5 +/* 8D6AA0 80240CA0 14600003 */ bnez $v1, .L80240CB0 +/* 8D6AA4 80240CA4 E440003C */ swc1 $f0, 0x3c($v0) +/* 8D6AA8 80240CA8 2402000C */ addiu $v0, $zero, 0xc +/* 8D6AAC 80240CAC AE020070 */ sw $v0, 0x70($s0) +.L80240CB0: +/* 8D6AB0 80240CB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D6AB4 80240CB4 8FB00010 */ lw $s0, 0x10($sp) +/* 8D6AB8 80240CB8 03E00008 */ jr $ra +/* 8D6ABC 80240CBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240CC0_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240CC0_8D5E00.s new file mode 100644 index 0000000000..9bce370949 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240CC0_8D5E00.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_8D6AC0 +/* 8D6AC0 80240CC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D6AC4 80240CC4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D6AC8 80240CC8 0080982D */ daddu $s3, $a0, $zero +/* 8D6ACC 80240CCC AFBF0020 */ sw $ra, 0x20($sp) +/* 8D6AD0 80240CD0 AFB20018 */ sw $s2, 0x18($sp) +/* 8D6AD4 80240CD4 AFB10014 */ sw $s1, 0x14($sp) +/* 8D6AD8 80240CD8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D6ADC 80240CDC 8E720148 */ lw $s2, 0x148($s3) +/* 8D6AE0 80240CE0 86440008 */ lh $a0, 8($s2) +/* 8D6AE4 80240CE4 0C00EABB */ jal get_npc_unsafe +/* 8D6AE8 80240CE8 00A0802D */ daddu $s0, $a1, $zero +/* 8D6AEC 80240CEC 0040882D */ daddu $s1, $v0, $zero +/* 8D6AF0 80240CF0 C6420080 */ lwc1 $f2, 0x80($s2) +/* 8D6AF4 80240CF4 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6AF8 80240CF8 460010A1 */ cvt.d.s $f2, $f2 +/* 8D6AFC 80240CFC C6400084 */ lwc1 $f0, 0x84($s2) +/* 8D6B00 80240D00 46800020 */ cvt.s.w $f0, $f0 +/* 8D6B04 80240D04 46000021 */ cvt.d.s $f0, $f0 +/* 8D6B08 80240D08 3C014059 */ lui $at, 0x4059 +/* 8D6B0C 80240D0C 44812800 */ mtc1 $at, $f5 +/* 8D6B10 80240D10 44802000 */ mtc1 $zero, $f4 +/* 8D6B14 80240D14 8E4200CC */ lw $v0, 0xcc($s2) +/* 8D6B18 80240D18 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8D6B1C 80240D1C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8D6B20 80240D20 46241083 */ div.d $f2, $f2, $f4 +/* 8D6B24 80240D24 462010A0 */ cvt.s.d $f2, $f2 +/* 8D6B28 80240D28 46240003 */ div.d $f0, $f0, $f4 +/* 8D6B2C 80240D2C 8C420020 */ lw $v0, 0x20($v0) +/* 8D6B30 80240D30 46200020 */ cvt.s.d $f0, $f0 +/* 8D6B34 80240D34 E622001C */ swc1 $f2, 0x1c($s1) +/* 8D6B38 80240D38 E6200014 */ swc1 $f0, 0x14($s1) +/* 8D6B3C 80240D3C AE220028 */ sw $v0, 0x28($s1) +/* 8D6B40 80240D40 C6000018 */ lwc1 $f0, 0x18($s0) +/* 8D6B44 80240D44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D6B48 80240D48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D6B4C 80240D4C E6200018 */ swc1 $f0, 0x18($s1) +/* 8D6B50 80240D50 8C460028 */ lw $a2, 0x28($v0) +/* 8D6B54 80240D54 0C00A720 */ jal atan2 +/* 8D6B58 80240D58 8C470030 */ lw $a3, 0x30($v0) +/* 8D6B5C 80240D5C E620000C */ swc1 $f0, 0xc($s1) +/* 8D6B60 80240D60 8E420018 */ lw $v0, 0x18($s2) +/* 8D6B64 80240D64 AE400074 */ sw $zero, 0x74($s2) +/* 8D6B68 80240D68 9442002A */ lhu $v0, 0x2a($v0) +/* 8D6B6C 80240D6C 30420002 */ andi $v0, $v0, 2 +/* 8D6B70 80240D70 10400005 */ beqz $v0, .L80240D88 +/* 8D6B74 80240D74 24020003 */ addiu $v0, $zero, 3 +/* 8D6B78 80240D78 A622008E */ sh $v0, 0x8e($s1) +/* 8D6B7C 80240D7C 2402000D */ addiu $v0, $zero, 0xd +/* 8D6B80 80240D80 08090376 */ j .L80240DD8 +/* 8D6B84 80240D84 AE620070 */ sw $v0, 0x70($s3) +.L80240D88: +/* 8D6B88 80240D88 24030001 */ addiu $v1, $zero, 1 +/* 8D6B8C 80240D8C 2402000E */ addiu $v0, $zero, 0xe +/* 8D6B90 80240D90 A623008E */ sh $v1, 0x8e($s1) +/* 8D6B94 80240D94 AE620070 */ sw $v0, 0x70($s3) +/* 8D6B98 80240D98 C6200038 */ lwc1 $f0, 0x38($s1) +/* 8D6B9C 80240D9C 4600018D */ trunc.w.s $f6, $f0 +/* 8D6BA0 80240DA0 44023000 */ mfc1 $v0, $f6 +/* 8D6BA4 80240DA4 00000000 */ nop +/* 8D6BA8 80240DA8 A6420010 */ sh $v0, 0x10($s2) +/* 8D6BAC 80240DAC C620003C */ lwc1 $f0, 0x3c($s1) +/* 8D6BB0 80240DB0 4600018D */ trunc.w.s $f6, $f0 +/* 8D6BB4 80240DB4 44023000 */ mfc1 $v0, $f6 +/* 8D6BB8 80240DB8 00000000 */ nop +/* 8D6BBC 80240DBC A6420012 */ sh $v0, 0x12($s2) +/* 8D6BC0 80240DC0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 8D6BC4 80240DC4 A2430007 */ sb $v1, 7($s2) +/* 8D6BC8 80240DC8 4600018D */ trunc.w.s $f6, $f0 +/* 8D6BCC 80240DCC 44023000 */ mfc1 $v0, $f6 +/* 8D6BD0 80240DD0 00000000 */ nop +/* 8D6BD4 80240DD4 A6420014 */ sh $v0, 0x14($s2) +.L80240DD8: +/* 8D6BD8 80240DD8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D6BDC 80240DDC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D6BE0 80240DE0 8FB20018 */ lw $s2, 0x18($sp) +/* 8D6BE4 80240DE4 8FB10014 */ lw $s1, 0x14($sp) +/* 8D6BE8 80240DE8 8FB00010 */ lw $s0, 0x10($sp) +/* 8D6BEC 80240DEC 03E00008 */ jr $ra +/* 8D6BF0 80240DF0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240DF4_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240DF4_8D5E00.s new file mode 100644 index 0000000000..1c8a174279 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240DF4_8D5E00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF4_8D6BF4 +/* 8D6BF4 80240DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D6BF8 80240DF8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D6BFC 80240DFC 0080802D */ daddu $s0, $a0, $zero +/* 8D6C00 80240E00 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D6C04 80240E04 8E020148 */ lw $v0, 0x148($s0) +/* 8D6C08 80240E08 0C00EABB */ jal get_npc_unsafe +/* 8D6C0C 80240E0C 84440008 */ lh $a0, 8($v0) +/* 8D6C10 80240E10 0040202D */ daddu $a0, $v0, $zero +/* 8D6C14 80240E14 8482008E */ lh $v0, 0x8e($a0) +/* 8D6C18 80240E18 9483008E */ lhu $v1, 0x8e($a0) +/* 8D6C1C 80240E1C 18400005 */ blez $v0, .L80240E34 +/* 8D6C20 80240E20 2462FFFF */ addiu $v0, $v1, -1 +/* 8D6C24 80240E24 A482008E */ sh $v0, 0x8e($a0) +/* 8D6C28 80240E28 00021400 */ sll $v0, $v0, 0x10 +/* 8D6C2C 80240E2C 1C400006 */ bgtz $v0, .L80240E48 +/* 8D6C30 80240E30 00000000 */ nop +.L80240E34: +/* 8D6C34 80240E34 8482008C */ lh $v0, 0x8c($a0) +/* 8D6C38 80240E38 14400003 */ bnez $v0, .L80240E48 +/* 8D6C3C 80240E3C 2402000E */ addiu $v0, $zero, 0xe +/* 8D6C40 80240E40 A480008E */ sh $zero, 0x8e($a0) +/* 8D6C44 80240E44 AE020070 */ sw $v0, 0x70($s0) +.L80240E48: +/* 8D6C48 80240E48 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D6C4C 80240E4C 8FB00010 */ lw $s0, 0x10($sp) +/* 8D6C50 80240E50 03E00008 */ jr $ra +/* 8D6C54 80240E54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_80240E58_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240E58_8D5E00.s new file mode 100644 index 0000000000..76dfcc1c08 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_80240E58_8D5E00.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E58_8D6C58 +/* 8D6C58 80240E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8D6C5C 80240E5C AFB20030 */ sw $s2, 0x30($sp) +/* 8D6C60 80240E60 0080902D */ daddu $s2, $a0, $zero +/* 8D6C64 80240E64 AFBF0038 */ sw $ra, 0x38($sp) +/* 8D6C68 80240E68 AFB30034 */ sw $s3, 0x34($sp) +/* 8D6C6C 80240E6C AFB1002C */ sw $s1, 0x2c($sp) +/* 8D6C70 80240E70 AFB00028 */ sw $s0, 0x28($sp) +/* 8D6C74 80240E74 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 8D6C78 80240E78 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 8D6C7C 80240E7C 8E510148 */ lw $s1, 0x148($s2) +/* 8D6C80 80240E80 86240008 */ lh $a0, 8($s1) +/* 8D6C84 80240E84 0C00EABB */ jal get_npc_unsafe +/* 8D6C88 80240E88 00A0982D */ daddu $s3, $a1, $zero +/* 8D6C8C 80240E8C 0040802D */ daddu $s0, $v0, $zero +/* 8D6C90 80240E90 0200202D */ daddu $a0, $s0, $zero +/* 8D6C94 80240E94 C6220088 */ lwc1 $f2, 0x88($s1) +/* 8D6C98 80240E98 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6C9C 80240E9C 460010A1 */ cvt.d.s $f2, $f2 +/* 8D6CA0 80240EA0 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D6CA4 80240EA4 C6000014 */ lwc1 $f0, 0x14($s0) +/* 8D6CA8 80240EA8 8E050018 */ lw $a1, 0x18($s0) +/* 8D6CAC 80240EAC 46002100 */ add.s $f4, $f4, $f0 +/* 8D6CB0 80240EB0 8E06000C */ lw $a2, 0xc($s0) +/* 8D6CB4 80240EB4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D6CB8 80240EB8 46800020 */ cvt.s.w $f0, $f0 +/* 8D6CBC 80240EBC E604001C */ swc1 $f4, 0x1c($s0) +/* 8D6CC0 80240EC0 3C014059 */ lui $at, 0x4059 +/* 8D6CC4 80240EC4 44812800 */ mtc1 $at, $f5 +/* 8D6CC8 80240EC8 44802000 */ mtc1 $zero, $f4 +/* 8D6CCC 80240ECC 46000021 */ cvt.d.s $f0, $f0 +/* 8D6CD0 80240ED0 46240003 */ div.d $f0, $f0, $f4 +/* 8D6CD4 80240ED4 46200520 */ cvt.s.d $f20, $f0 +/* 8D6CD8 80240ED8 46241083 */ div.d $f2, $f2, $f4 +/* 8D6CDC 80240EDC 0C00EA95 */ jal npc_move_heading +/* 8D6CE0 80240EE0 462015A0 */ cvt.s.d $f22, $f2 +/* 8D6CE4 80240EE4 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D6CE8 80240EE8 44801000 */ mtc1 $zero, $f2 +/* 8D6CEC 80240EEC 44801800 */ mtc1 $zero, $f3 +/* 8D6CF0 80240EF0 46002021 */ cvt.d.s $f0, $f4 +/* 8D6CF4 80240EF4 4620103E */ c.le.d $f2, $f0 +/* 8D6CF8 80240EF8 00000000 */ nop +/* 8D6CFC 80240EFC 45000030 */ bc1f .L80240FC0 +/* 8D6D00 80240F00 00000000 */ nop +/* 8D6D04 80240F04 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D6D08 80240F08 46040000 */ add.s $f0, $f0, $f4 +/* 8D6D0C 80240F0C E600003C */ swc1 $f0, 0x3c($s0) +/* 8D6D10 80240F10 8E2200CC */ lw $v0, 0xcc($s1) +/* 8D6D14 80240F14 8C420024 */ lw $v0, 0x24($v0) +/* 8D6D18 80240F18 AE020028 */ sw $v0, 0x28($s0) +/* 8D6D1C 80240F1C A2200007 */ sb $zero, 7($s1) +/* 8D6D20 80240F20 8E020000 */ lw $v0, ($s0) +/* 8D6D24 80240F24 30420008 */ andi $v0, $v0, 8 +/* 8D6D28 80240F28 14400011 */ bnez $v0, .L80240F70 +/* 8D6D2C 80240F2C 0000102D */ daddu $v0, $zero, $zero +/* 8D6D30 80240F30 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D6D34 80240F34 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D6D38 80240F38 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D6D3C 80240F3C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D6D40 80240F40 C6040040 */ lwc1 $f4, 0x40($s0) +/* 8D6D44 80240F44 3C01447A */ lui $at, 0x447a +/* 8D6D48 80240F48 44813000 */ mtc1 $at, $f6 +/* 8D6D4C 80240F4C 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D6D50 80240F50 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D6D54 80240F54 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8D6D58 80240F58 E7A40020 */ swc1 $f4, 0x20($sp) +/* 8D6D5C 80240F5C E7A60024 */ swc1 $f6, 0x24($sp) +/* 8D6D60 80240F60 AFA20010 */ sw $v0, 0x10($sp) +/* 8D6D64 80240F64 8E040080 */ lw $a0, 0x80($s0) +/* 8D6D68 80240F68 0C0372DF */ jal func_800DCB7C +/* 8D6D6C 80240F6C 27A70020 */ addiu $a3, $sp, 0x20 +.L80240F70: +/* 8D6D70 80240F70 1040000B */ beqz $v0, .L80240FA0 +/* 8D6D74 80240F74 00000000 */ nop +/* 8D6D78 80240F78 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D6D7C 80240F7C 46140080 */ add.s $f2, $f0, $f20 +/* 8D6D80 80240F80 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D6D84 80240F84 4600103E */ c.le.s $f2, $f0 +/* 8D6D88 80240F88 00000000 */ nop +/* 8D6D8C 80240F8C 4500008D */ bc1f .L802411C4 +/* 8D6D90 80240F90 00000000 */ nop +/* 8D6D94 80240F94 E602003C */ swc1 $f2, 0x3c($s0) +/* 8D6D98 80240F98 08090471 */ j .L802411C4 +/* 8D6D9C 80240F9C AE400070 */ sw $zero, 0x70($s2) +.L80240FA0: +/* 8D6DA0 80240FA0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D6DA4 80240FA4 C6000064 */ lwc1 $f0, 0x64($s0) +/* 8D6DA8 80240FA8 4602003E */ c.le.s $f0, $f2 +/* 8D6DAC 80240FAC 00000000 */ nop +/* 8D6DB0 80240FB0 45030084 */ bc1tl .L802411C4 +/* 8D6DB4 80240FB4 AE400070 */ sw $zero, 0x70($s2) +/* 8D6DB8 80240FB8 08090471 */ j .L802411C4 +/* 8D6DBC 80240FBC 00000000 */ nop +.L80240FC0: +/* 8D6DC0 80240FC0 4622003C */ c.lt.d $f0, $f2 +/* 8D6DC4 80240FC4 00000000 */ nop +/* 8D6DC8 80240FC8 4500007E */ bc1f .L802411C4 +/* 8D6DCC 80240FCC 00000000 */ nop +/* 8D6DD0 80240FD0 9602008E */ lhu $v0, 0x8e($s0) +/* 8D6DD4 80240FD4 24420001 */ addiu $v0, $v0, 1 +/* 8D6DD8 80240FD8 A602008E */ sh $v0, 0x8e($s0) +/* 8D6DDC 80240FDC 00021400 */ sll $v0, $v0, 0x10 +/* 8D6DE0 80240FE0 8E630020 */ lw $v1, 0x20($s3) +/* 8D6DE4 80240FE4 00021403 */ sra $v0, $v0, 0x10 +/* 8D6DE8 80240FE8 0043102A */ slt $v0, $v0, $v1 +/* 8D6DEC 80240FEC 14400026 */ bnez $v0, .L80241088 +/* 8D6DF0 80240FF0 00000000 */ nop +/* 8D6DF4 80240FF4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8D6DF8 80240FF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8D6DFC 80240FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8D6E00 80241000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8D6E04 80241004 A600008E */ sh $zero, 0x8e($s0) +/* 8D6E08 80241008 8C460028 */ lw $a2, 0x28($v0) +/* 8D6E0C 8024100C 0C00A720 */ jal atan2 +/* 8D6E10 80241010 8C470030 */ lw $a3, 0x30($v0) +/* 8D6E14 80241014 46000506 */ mov.s $f20, $f0 +/* 8D6E18 80241018 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8D6E1C 8024101C 0C00A70A */ jal get_clamped_angle_diff +/* 8D6E20 80241020 4600A386 */ mov.s $f14, $f20 +/* 8D6E24 80241024 46000086 */ mov.s $f2, $f0 +/* 8D6E28 80241028 8E62001C */ lw $v0, 0x1c($s3) +/* 8D6E2C 8024102C 46001005 */ abs.s $f0, $f2 +/* 8D6E30 80241030 44822000 */ mtc1 $v0, $f4 +/* 8D6E34 80241034 00000000 */ nop +/* 8D6E38 80241038 46802120 */ cvt.s.w $f4, $f4 +/* 8D6E3C 8024103C 4600203C */ c.lt.s $f4, $f0 +/* 8D6E40 80241040 00000000 */ nop +/* 8D6E44 80241044 4500000D */ bc1f .L8024107C +/* 8D6E48 80241048 00000000 */ nop +/* 8D6E4C 8024104C 44800000 */ mtc1 $zero, $f0 +/* 8D6E50 80241050 C614000C */ lwc1 $f20, 0xc($s0) +/* 8D6E54 80241054 4600103C */ c.lt.s $f2, $f0 +/* 8D6E58 80241058 00000000 */ nop +/* 8D6E5C 8024105C 45000006 */ bc1f .L80241078 +/* 8D6E60 80241060 00021023 */ negu $v0, $v0 +/* 8D6E64 80241064 44820000 */ mtc1 $v0, $f0 +/* 8D6E68 80241068 00000000 */ nop +/* 8D6E6C 8024106C 46800020 */ cvt.s.w $f0, $f0 +/* 8D6E70 80241070 0809041F */ j .L8024107C +/* 8D6E74 80241074 4600A500 */ add.s $f20, $f20, $f0 +.L80241078: +/* 8D6E78 80241078 4604A500 */ add.s $f20, $f20, $f4 +.L8024107C: +/* 8D6E7C 8024107C 0C00A6C9 */ jal clamp_angle +/* 8D6E80 80241080 4600A306 */ mov.s $f12, $f20 +/* 8D6E84 80241084 E600000C */ swc1 $f0, 0xc($s0) +.L80241088: +/* 8D6E88 80241088 8E020000 */ lw $v0, ($s0) +/* 8D6E8C 8024108C 30420008 */ andi $v0, $v0, 8 +/* 8D6E90 80241090 1040000A */ beqz $v0, .L802410BC +/* 8D6E94 80241094 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D6E98 80241098 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8D6E9C 8024109C C600001C */ lwc1 $f0, 0x1c($s0) +/* 8D6EA0 802410A0 46001080 */ add.s $f2, $f2, $f0 +/* 8D6EA4 802410A4 4616103C */ c.lt.s $f2, $f22 +/* 8D6EA8 802410A8 00000000 */ nop +/* 8D6EAC 802410AC 45020045 */ bc1fl .L802411C4 +/* 8D6EB0 802410B0 E602003C */ swc1 $f2, 0x3c($s0) +/* 8D6EB4 802410B4 08090470 */ j .L802411C0 +/* 8D6EB8 802410B8 E616003C */ swc1 $f22, 0x3c($s0) +.L802410BC: +/* 8D6EBC 802410BC C6000038 */ lwc1 $f0, 0x38($s0) +/* 8D6EC0 802410C0 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D6EC4 802410C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D6EC8 802410C8 860200A8 */ lh $v0, 0xa8($s0) +/* 8D6ECC 802410CC C600001C */ lwc1 $f0, 0x1c($s0) +/* 8D6ED0 802410D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 8D6ED4 802410D4 44821000 */ mtc1 $v0, $f2 +/* 8D6ED8 802410D8 00000000 */ nop +/* 8D6EDC 802410DC 468010A0 */ cvt.s.w $f2, $f2 +/* 8D6EE0 802410E0 46000005 */ abs.s $f0, $f0 +/* 8D6EE4 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* 8D6EE8 802410E8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 8D6EEC 802410EC 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D6EF0 802410F0 46022100 */ add.s $f4, $f4, $f2 +/* 8D6EF4 802410F4 3C014024 */ lui $at, 0x4024 +/* 8D6EF8 802410F8 44811800 */ mtc1 $at, $f3 +/* 8D6EFC 802410FC 44801000 */ mtc1 $zero, $f2 +/* 8D6F00 80241100 46000021 */ cvt.d.s $f0, $f0 +/* 8D6F04 80241104 46220000 */ add.d $f0, $f0, $f2 +/* 8D6F08 80241108 E7A60020 */ swc1 $f6, 0x20($sp) +/* 8D6F0C 8024110C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 8D6F10 80241110 46200020 */ cvt.s.d $f0, $f0 +/* 8D6F14 80241114 E7A00024 */ swc1 $f0, 0x24($sp) +/* 8D6F18 80241118 AFA20010 */ sw $v0, 0x10($sp) +/* 8D6F1C 8024111C 8E040080 */ lw $a0, 0x80($s0) +/* 8D6F20 80241120 0C0372DF */ jal func_800DCB7C +/* 8D6F24 80241124 27A70020 */ addiu $a3, $sp, 0x20 +/* 8D6F28 80241128 10400015 */ beqz $v0, .L80241180 +/* 8D6F2C 8024112C 00000000 */ nop +/* 8D6F30 80241130 860200A8 */ lh $v0, 0xa8($s0) +/* 8D6F34 80241134 C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D6F38 80241138 44820000 */ mtc1 $v0, $f0 +/* 8D6F3C 8024113C 00000000 */ nop +/* 8D6F40 80241140 46800020 */ cvt.s.w $f0, $f0 +/* 8D6F44 80241144 46002085 */ abs.s $f2, $f4 +/* 8D6F48 80241148 46020000 */ add.s $f0, $f0, $f2 +/* 8D6F4C 8024114C C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8D6F50 80241150 4600103E */ c.le.s $f2, $f0 +/* 8D6F54 80241154 00000000 */ nop +/* 8D6F58 80241158 45000005 */ bc1f .L80241170 +/* 8D6F5C 8024115C 00000000 */ nop +/* 8D6F60 80241160 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D6F64 80241164 AE00001C */ sw $zero, 0x1c($s0) +/* 8D6F68 80241168 08090471 */ j .L802411C4 +/* 8D6F6C 8024116C E600003C */ swc1 $f0, 0x3c($s0) +.L80241170: +/* 8D6F70 80241170 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8D6F74 80241174 46040000 */ add.s $f0, $f0, $f4 +/* 8D6F78 80241178 08090471 */ j .L802411C4 +/* 8D6F7C 8024117C E600003C */ swc1 $f0, 0x3c($s0) +.L80241180: +/* 8D6F80 80241180 C606003C */ lwc1 $f6, 0x3c($s0) +/* 8D6F84 80241184 860200A8 */ lh $v0, 0xa8($s0) +/* 8D6F88 80241188 46163081 */ sub.s $f2, $f6, $f22 +/* 8D6F8C 8024118C 44820000 */ mtc1 $v0, $f0 +/* 8D6F90 80241190 00000000 */ nop +/* 8D6F94 80241194 46800020 */ cvt.s.w $f0, $f0 +/* 8D6F98 80241198 46001080 */ add.s $f2, $f2, $f0 +/* 8D6F9C 8024119C C604001C */ lwc1 $f4, 0x1c($s0) +/* 8D6FA0 802411A0 46002005 */ abs.s $f0, $f4 +/* 8D6FA4 802411A4 4602003C */ c.lt.s $f0, $f2 +/* 8D6FA8 802411A8 00000000 */ nop +/* 8D6FAC 802411AC 45020005 */ bc1fl .L802411C4 +/* 8D6FB0 802411B0 AE00001C */ sw $zero, 0x1c($s0) +/* 8D6FB4 802411B4 46043000 */ add.s $f0, $f6, $f4 +/* 8D6FB8 802411B8 08090471 */ j .L802411C4 +/* 8D6FBC 802411BC E600003C */ swc1 $f0, 0x3c($s0) +.L802411C0: +/* 8D6FC0 802411C0 AE00001C */ sw $zero, 0x1c($s0) +.L802411C4: +/* 8D6FC4 802411C4 8FBF0038 */ lw $ra, 0x38($sp) +/* 8D6FC8 802411C8 8FB30034 */ lw $s3, 0x34($sp) +/* 8D6FCC 802411CC 8FB20030 */ lw $s2, 0x30($sp) +/* 8D6FD0 802411D0 8FB1002C */ lw $s1, 0x2c($sp) +/* 8D6FD4 802411D4 8FB00028 */ lw $s0, 0x28($sp) +/* 8D6FD8 802411D8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 8D6FDC 802411DC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 8D6FE0 802411E0 03E00008 */ jr $ra +/* 8D6FE4 802411E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_802411E8_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_802411E8_8D5E00.s new file mode 100644 index 0000000000..d4e91d6eef --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_802411E8_8D5E00.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E8_8D6FE8 +/* 8D6FE8 802411E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8D6FEC 802411EC AFB00028 */ sw $s0, 0x28($sp) +/* 8D6FF0 802411F0 00A0802D */ daddu $s0, $a1, $zero +/* 8D6FF4 802411F4 AFB1002C */ sw $s1, 0x2c($sp) +/* 8D6FF8 802411F8 00C0882D */ daddu $s1, $a2, $zero +/* 8D6FFC 802411FC AFBF0034 */ sw $ra, 0x34($sp) +/* 8D7000 80241200 AFB20030 */ sw $s2, 0x30($sp) +/* 8D7004 80241204 AE200070 */ sw $zero, 0x70($s1) +/* 8D7008 80241208 8C830000 */ lw $v1, ($a0) +/* 8D700C 8024120C 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8D7010 80241210 A480008E */ sh $zero, 0x8e($a0) +/* 8D7014 80241214 00621824 */ and $v1, $v1, $v0 +/* 8D7018 80241218 34650800 */ ori $a1, $v1, 0x800 +/* 8D701C 8024121C AC850000 */ sw $a1, ($a0) +/* 8D7020 80241220 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8D7024 80241224 8C420034 */ lw $v0, 0x34($v0) +/* 8D7028 80241228 10400003 */ beqz $v0, .L80241238 +/* 8D702C 8024122C 00E0902D */ daddu $s2, $a3, $zero +/* 8D7030 80241230 08090490 */ j .L80241240 +/* 8D7034 80241234 34620808 */ ori $v0, $v1, 0x808 +.L80241238: +/* 8D7038 80241238 2402FFF7 */ addiu $v0, $zero, -9 +/* 8D703C 8024123C 00A21024 */ and $v0, $a1, $v0 +.L80241240: +/* 8D7040 80241240 AC820000 */ sw $v0, ($a0) +/* 8D7044 80241244 27A20024 */ addiu $v0, $sp, 0x24 +/* 8D7048 80241248 27A50018 */ addiu $a1, $sp, 0x18 +/* 8D704C 8024124C C4800038 */ lwc1 $f0, 0x38($a0) +/* 8D7050 80241250 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8D7054 80241254 C4840040 */ lwc1 $f4, 0x40($a0) +/* 8D7058 80241258 3C01447A */ lui $at, 0x447a +/* 8D705C 8024125C 44813000 */ mtc1 $at, $f6 +/* 8D7060 80241260 27A6001C */ addiu $a2, $sp, 0x1c +/* 8D7064 80241264 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8D7068 80241268 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8D706C 8024126C E7A40020 */ swc1 $f4, 0x20($sp) +/* 8D7070 80241270 E7A60024 */ swc1 $f6, 0x24($sp) +/* 8D7074 80241274 AFA20010 */ sw $v0, 0x10($sp) +/* 8D7078 80241278 8C840080 */ lw $a0, 0x80($a0) +/* 8D707C 8024127C 0C0372DF */ jal func_800DCB7C +/* 8D7080 80241280 27A70020 */ addiu $a3, $sp, 0x20 +/* 8D7084 80241284 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 8D7088 80241288 3C014059 */ lui $at, 0x4059 +/* 8D708C 8024128C 44812800 */ mtc1 $at, $f5 +/* 8D7090 80241290 44802000 */ mtc1 $zero, $f4 +/* 8D7094 80241294 460010A1 */ cvt.d.s $f2, $f2 +/* 8D7098 80241298 46241082 */ mul.d $f2, $f2, $f4 +/* 8D709C 8024129C 00000000 */ nop +/* 8D70A0 802412A0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 8D70A4 802412A4 46000021 */ cvt.d.s $f0, $f0 +/* 8D70A8 802412A8 46240002 */ mul.d $f0, $f0, $f4 +/* 8D70AC 802412AC 00000000 */ nop +/* 8D70B0 802412B0 3C013FE0 */ lui $at, 0x3fe0 +/* 8D70B4 802412B4 44812800 */ mtc1 $at, $f5 +/* 8D70B8 802412B8 44802000 */ mtc1 $zero, $f4 +/* 8D70BC 802412BC 00000000 */ nop +/* 8D70C0 802412C0 46241080 */ add.d $f2, $f2, $f4 +/* 8D70C4 802412C4 AE000074 */ sw $zero, 0x74($s0) +/* 8D70C8 802412C8 46240000 */ add.d $f0, $f0, $f4 +/* 8D70CC 802412CC AE000090 */ sw $zero, 0x90($s0) +/* 8D70D0 802412D0 4620120D */ trunc.w.d $f8, $f2 +/* 8D70D4 802412D4 E6080078 */ swc1 $f8, 0x78($s0) +/* 8D70D8 802412D8 4620020D */ trunc.w.d $f8, $f0 +/* 8D70DC 802412DC E6080088 */ swc1 $f8, 0x88($s0) +/* 8D70E0 802412E0 8E420014 */ lw $v0, 0x14($s2) +/* 8D70E4 802412E4 AE220074 */ sw $v0, 0x74($s1) +/* 8D70E8 802412E8 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8D70EC 802412EC 34420010 */ ori $v0, $v0, 0x10 +/* 8D70F0 802412F0 AE0200B0 */ sw $v0, 0xb0($s0) +/* 8D70F4 802412F4 8FBF0034 */ lw $ra, 0x34($sp) +/* 8D70F8 802412F8 8FB20030 */ lw $s2, 0x30($sp) +/* 8D70FC 802412FC 8FB1002C */ lw $s1, 0x2c($sp) +/* 8D7100 80241300 8FB00028 */ lw $s0, 0x28($sp) +/* 8D7104 80241304 03E00008 */ jr $ra +/* 8D7108 80241308 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_8024130C_8D5E00.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_8024130C_8D5E00.s new file mode 100644 index 0000000000..81206eb756 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_8024130C_8D5E00.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_8D710C +/* 8D710C 8024130C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8D7110 80241310 AFB40040 */ sw $s4, 0x40($sp) +/* 8D7114 80241314 0080A02D */ daddu $s4, $a0, $zero +/* 8D7118 80241318 AFBF0048 */ sw $ra, 0x48($sp) +/* 8D711C 8024131C AFB50044 */ sw $s5, 0x44($sp) +/* 8D7120 80241320 AFB3003C */ sw $s3, 0x3c($sp) +/* 8D7124 80241324 AFB20038 */ sw $s2, 0x38($sp) +/* 8D7128 80241328 AFB10034 */ sw $s1, 0x34($sp) +/* 8D712C 8024132C AFB00030 */ sw $s0, 0x30($sp) +/* 8D7130 80241330 8E920148 */ lw $s2, 0x148($s4) +/* 8D7134 80241334 86440008 */ lh $a0, 8($s2) +/* 8D7138 80241338 8E90000C */ lw $s0, 0xc($s4) +/* 8D713C 8024133C 0C00EABB */ jal get_npc_unsafe +/* 8D7140 80241340 00A0882D */ daddu $s1, $a1, $zero +/* 8D7144 80241344 0280202D */ daddu $a0, $s4, $zero +/* 8D7148 80241348 8E050000 */ lw $a1, ($s0) +/* 8D714C 8024134C 0C0B1EAF */ jal get_variable +/* 8D7150 80241350 0040A82D */ daddu $s5, $v0, $zero +/* 8D7154 80241354 AFA00010 */ sw $zero, 0x10($sp) +/* 8D7158 80241358 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D715C 8024135C 8C630030 */ lw $v1, 0x30($v1) +/* 8D7160 80241360 AFA30014 */ sw $v1, 0x14($sp) +/* 8D7164 80241364 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D7168 80241368 8C63001C */ lw $v1, 0x1c($v1) +/* 8D716C 8024136C AFA30018 */ sw $v1, 0x18($sp) +/* 8D7170 80241370 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D7174 80241374 8C630024 */ lw $v1, 0x24($v1) +/* 8D7178 80241378 AFA3001C */ sw $v1, 0x1c($sp) +/* 8D717C 8024137C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D7180 80241380 8C630028 */ lw $v1, 0x28($v1) +/* 8D7184 80241384 27B30010 */ addiu $s3, $sp, 0x10 +/* 8D7188 80241388 AFA30020 */ sw $v1, 0x20($sp) +/* 8D718C 8024138C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8D7190 80241390 3C0142F0 */ lui $at, 0x42f0 +/* 8D7194 80241394 44810000 */ mtc1 $at, $f0 +/* 8D7198 80241398 8C63002C */ lw $v1, 0x2c($v1) +/* 8D719C 8024139C 0040802D */ daddu $s0, $v0, $zero +/* 8D71A0 802413A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8D71A4 802413A4 A7A0002C */ sh $zero, 0x2c($sp) +/* 8D71A8 802413A8 12200006 */ beqz $s1, .L802413C4 +/* 8D71AC 802413AC AFA30024 */ sw $v1, 0x24($sp) +/* 8D71B0 802413B0 02A0202D */ daddu $a0, $s5, $zero +/* 8D71B4 802413B4 0240282D */ daddu $a1, $s2, $zero +/* 8D71B8 802413B8 0280302D */ daddu $a2, $s4, $zero +/* 8D71BC 802413BC 0C09047A */ jal func_802411E8 +/* 8D71C0 802413C0 0200382D */ daddu $a3, $s0, $zero +.L802413C4: +/* 8D71C4 802413C4 2402FFFE */ addiu $v0, $zero, -2 +/* 8D71C8 802413C8 A2A200AB */ sb $v0, 0xab($s5) +/* 8D71CC 802413CC 8E4300B0 */ lw $v1, 0xb0($s2) +/* 8D71D0 802413D0 30620004 */ andi $v0, $v1, 4 +/* 8D71D4 802413D4 10400007 */ beqz $v0, .L802413F4 +/* 8D71D8 802413D8 00000000 */ nop +/* 8D71DC 802413DC 824200B4 */ lb $v0, 0xb4($s2) +/* 8D71E0 802413E0 1440003C */ bnez $v0, .L802414D4 +/* 8D71E4 802413E4 0000102D */ daddu $v0, $zero, $zero +/* 8D71E8 802413E8 2402FFFB */ addiu $v0, $zero, -5 +/* 8D71EC 802413EC 00621024 */ and $v0, $v1, $v0 +/* 8D71F0 802413F0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802413F4: +/* 8D71F4 802413F4 8E830070 */ lw $v1, 0x70($s4) +/* 8D71F8 802413F8 2C62000F */ sltiu $v0, $v1, 0xf +/* 8D71FC 802413FC 10400034 */ beqz $v0, .L802414D0 +/* 8D7200 80241400 00031080 */ sll $v0, $v1, 2 +/* 8D7204 80241404 3C018024 */ lui $at, 0x8024 +/* 8D7208 80241408 00220821 */ addu $at, $at, $v0 +/* 8D720C 8024140C 8C222688 */ lw $v0, 0x2688($at) +/* 8D7210 80241410 00400008 */ jr $v0 +/* 8D7214 80241414 00000000 */ nop +/* 8D7218 80241418 0280202D */ daddu $a0, $s4, $zero +/* 8D721C 8024141C 0200282D */ daddu $a1, $s0, $zero +/* 8D7220 80241420 0C090000 */ jal func_80240000 +/* 8D7224 80241424 0260302D */ daddu $a2, $s3, $zero +/* 8D7228 80241428 0280202D */ daddu $a0, $s4, $zero +/* 8D722C 8024142C 0200282D */ daddu $a1, $s0, $zero +/* 8D7230 80241430 0C09006C */ jal func_802401B0 +/* 8D7234 80241434 0260302D */ daddu $a2, $s3, $zero +/* 8D7238 80241438 08090535 */ j .L802414D4 +/* 8D723C 8024143C 0000102D */ daddu $v0, $zero, $zero +/* 8D7240 80241440 0280202D */ daddu $a0, $s4, $zero +/* 8D7244 80241444 0200282D */ daddu $a1, $s0, $zero +/* 8D7248 80241448 0C0901F6 */ jal func_802407D8 +/* 8D724C 8024144C 0260302D */ daddu $a2, $s3, $zero +/* 8D7250 80241450 0280202D */ daddu $a0, $s4, $zero +/* 8D7254 80241454 0200282D */ daddu $a1, $s0, $zero +/* 8D7258 80241458 0C090226 */ jal func_80240898 +/* 8D725C 8024145C 0260302D */ daddu $a2, $s3, $zero +/* 8D7260 80241460 08090535 */ j .L802414D4 +/* 8D7264 80241464 0000102D */ daddu $v0, $zero, $zero +/* 8D7268 80241468 0280202D */ daddu $a0, $s4, $zero +/* 8D726C 8024146C 0200282D */ daddu $a1, $s0, $zero +/* 8D7270 80241470 0C0902F7 */ jal func_80240BDC +/* 8D7274 80241474 0260302D */ daddu $a2, $s3, $zero +/* 8D7278 80241478 0280202D */ daddu $a0, $s4, $zero +/* 8D727C 8024147C 0200282D */ daddu $a1, $s0, $zero +/* 8D7280 80241480 0C090315 */ jal func_80240C54 +/* 8D7284 80241484 0260302D */ daddu $a2, $s3, $zero +/* 8D7288 80241488 08090535 */ j .L802414D4 +/* 8D728C 8024148C 0000102D */ daddu $v0, $zero, $zero +/* 8D7290 80241490 0280202D */ daddu $a0, $s4, $zero +/* 8D7294 80241494 0200282D */ daddu $a1, $s0, $zero +/* 8D7298 80241498 0C090330 */ jal func_80240CC0 +/* 8D729C 8024149C 0260302D */ daddu $a2, $s3, $zero +/* 8D72A0 802414A0 08090535 */ j .L802414D4 +/* 8D72A4 802414A4 0000102D */ daddu $v0, $zero, $zero +/* 8D72A8 802414A8 0280202D */ daddu $a0, $s4, $zero +/* 8D72AC 802414AC 0200282D */ daddu $a1, $s0, $zero +/* 8D72B0 802414B0 0C09037D */ jal func_80240DF4 +/* 8D72B4 802414B4 0260302D */ daddu $a2, $s3, $zero +/* 8D72B8 802414B8 08090535 */ j .L802414D4 +/* 8D72BC 802414BC 0000102D */ daddu $v0, $zero, $zero +/* 8D72C0 802414C0 0280202D */ daddu $a0, $s4, $zero +/* 8D72C4 802414C4 0200282D */ daddu $a1, $s0, $zero +/* 8D72C8 802414C8 0C090396 */ jal func_80240E58 +/* 8D72CC 802414CC 0260302D */ daddu $a2, $s3, $zero +.L802414D0: +/* 8D72D0 802414D0 0000102D */ daddu $v0, $zero, $zero +.L802414D4: +/* 8D72D4 802414D4 8FBF0048 */ lw $ra, 0x48($sp) +/* 8D72D8 802414D8 8FB50044 */ lw $s5, 0x44($sp) +/* 8D72DC 802414DC 8FB40040 */ lw $s4, 0x40($sp) +/* 8D72E0 802414E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8D72E4 802414E4 8FB20038 */ lw $s2, 0x38($sp) +/* 8D72E8 802414E8 8FB10034 */ lw $s1, 0x34($sp) +/* 8D72EC 802414EC 8FB00030 */ lw $s0, 0x30($sp) +/* 8D72F0 802414F0 03E00008 */ jr $ra +/* 8D72F4 802414F4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_09/func_802414F8.s b/asm/nonmatchings/world/area_kmr/kmr_09/func_802414F8.s new file mode 100644 index 0000000000..6bc20fbee1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_09/func_802414F8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F8 +/* 8D72F8 802414F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D72FC 802414FC AFB00010 */ sw $s0, 0x10($sp) +/* 8D7300 80241500 0080802D */ daddu $s0, $a0, $zero +/* 8D7304 80241504 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D7308 80241508 0C00FB5A */ jal get_enemy_safe +/* 8D730C 8024150C 24040002 */ addiu $a0, $zero, 2 +/* 8D7310 80241510 AE020084 */ sw $v0, 0x84($s0) +/* 8D7314 80241514 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D7318 80241518 8FB00010 */ lw $s0, 0x10($sp) +/* 8D731C 8024151C 24020002 */ addiu $v0, $zero, 2 +/* 8D7320 80241520 03E00008 */ jr $ra +/* 8D7324 80241524 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8D7328 80241528 00000000 */ nop +/* 8D732C 8024152C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_80240000_8D84D0.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240000_8D84D0.s new file mode 100644 index 0000000000..b1d9f9d990 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240000_8D84D0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8D84D0 +/* 8D84D0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D84D4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8D84D8 80240008 3C108024 */ lui $s0, 0x8024 +/* 8D84DC 8024000C 26100C20 */ addiu $s0, $s0, 0xc20 +/* 8D84E0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 8D84E4 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 8D84E8 80240018 8E020000 */ lw $v0, ($s0) +/* 8D84EC 8024001C 14400010 */ bnez $v0, .L80240060 +/* 8D84F0 80240020 0080882D */ daddu $s1, $a0, $zero +/* 8D84F4 80240024 0C00AB39 */ jal heap_malloc +/* 8D84F8 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* 8D84FC 8024002C AE020000 */ sw $v0, ($s0) +/* 8D8500 80240030 0000182D */ daddu $v1, $zero, $zero +/* 8D8504 80240034 0040282D */ daddu $a1, $v0, $zero +/* 8D8508 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* 8D850C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* 8D8510 80240040 24840004 */ addiu $a0, $a0, 4 +/* 8D8514 80240044 24630001 */ addiu $v1, $v1, 1 +/* 8D8518 80240048 ACA20000 */ sw $v0, ($a1) +/* 8D851C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* 8D8520 80240050 1440FFFA */ bnez $v0, .L8024003C +/* 8D8524 80240054 24A50004 */ addiu $a1, $a1, 4 +/* 8D8528 80240058 08090027 */ j .L8024009C +/* 8D852C 8024005C 00000000 */ nop +.L80240060: +/* 8D8530 80240060 0000182D */ daddu $v1, $zero, $zero +/* 8D8534 80240064 0040282D */ daddu $a1, $v0, $zero +/* 8D8538 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* 8D853C 8024006C 8CA20000 */ lw $v0, ($a1) +/* 8D8540 80240070 24A50004 */ addiu $a1, $a1, 4 +/* 8D8544 80240074 24630001 */ addiu $v1, $v1, 1 +/* 8D8548 80240078 AC820084 */ sw $v0, 0x84($a0) +/* 8D854C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* 8D8550 80240080 1440FFFA */ bnez $v0, .L8024006C +/* 8D8554 80240084 24840004 */ addiu $a0, $a0, 4 +/* 8D8558 80240088 3C108024 */ lui $s0, 0x8024 +/* 8D855C 8024008C 26100C20 */ addiu $s0, $s0, 0xc20 +/* 8D8560 80240090 0C00AB4B */ jal heap_free +/* 8D8564 80240094 8E040000 */ lw $a0, ($s0) +/* 8D8568 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* 8D856C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8D8570 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* 8D8574 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* 8D8578 802400A8 24020002 */ addiu $v0, $zero, 2 +/* 8D857C 802400AC 03E00008 */ jr $ra +/* 8D8580 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_802400B4_8D84D0.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_802400B4_8D84D0.s new file mode 100644 index 0000000000..8d867a8335 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_802400B4_8D84D0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_8D8584 +/* 8D8584 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D8588 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* 8D858C 802400BC 0080802D */ daddu $s0, $a0, $zero +/* 8D8590 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8D8594 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* 8D8598 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* 8D859C 802400CC 8C510000 */ lw $s1, ($v0) +/* 8D85A0 802400D0 0C0B1EAF */ jal get_variable +/* 8D85A4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* 8D85A8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 8D85AC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 8D85B0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* 8D85B4 802400E4 00431024 */ and $v0, $v0, $v1 +/* 8D85B8 802400E8 00021140 */ sll $v0, $v0, 5 +/* 8D85BC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 8D85C0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* 8D85C4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 8D85C8 802400F8 0C0B2026 */ jal set_variable +/* 8D85CC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* 8D85D0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* 8D85D4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* 8D85D8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* 8D85DC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* 8D85E0 80240110 03E00008 */ jr $ra +/* 8D85E4 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_80240118.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240118.s new file mode 100644 index 0000000000..15b76168fa --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240118.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118 +/* 8D85E8 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8D85EC 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* 8D85F0 80240120 0080882D */ daddu $s1, $a0, $zero +/* 8D85F4 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* 8D85F8 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* 8D85FC 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* 8D8600 80240130 8E240084 */ lw $a0, 0x84($s1) +/* 8D8604 80240134 0C04C3D6 */ jal get_item_entity +/* 8D8608 80240138 00A0802D */ daddu $s0, $a1, $zero +/* 8D860C 8024013C 12000005 */ beqz $s0, .L80240154 +/* 8D8610 80240140 0040902D */ daddu $s2, $v0, $zero +/* 8D8614 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* 8D8618 80240148 AE200074 */ sw $zero, 0x74($s1) +/* 8D861C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* 8D8620 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* 8D8624 80240154 8E230074 */ lw $v1, 0x74($s1) +/* 8D8628 80240158 10600005 */ beqz $v1, .L80240170 +/* 8D862C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* 8D8630 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* 8D8634 80240164 00000000 */ nop +/* 8D8638 80240168 08090093 */ j .L8024024C +/* 8D863C 8024016C 00000000 */ nop +.L80240170: +/* 8D8640 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* 8D8644 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* 8D8648 80240178 44810000 */ mtc1 $at, $f0 +/* 8D864C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* 8D8650 80240180 46806320 */ cvt.s.w $f12, $f12 +/* 8D8654 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* 8D8658 80240188 00000000 */ nop +/* 8D865C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* 8D8660 80240190 44810000 */ mtc1 $at, $f0 +/* 8D8664 80240194 0C00A874 */ jal cos_rad +/* 8D8668 80240198 46006303 */ div.s $f12, $f12, $f0 +/* 8D866C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* 8D8670 802401A0 44811000 */ mtc1 $at, $f2 +/* 8D8674 802401A4 00000000 */ nop +/* 8D8678 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* 8D867C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* 8D8680 802401B0 44810000 */ mtc1 $at, $f0 +/* 8D8684 802401B4 00000000 */ nop +/* 8D8688 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* 8D868C 802401BC 00000000 */ nop +/* 8D8690 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8D8694 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* 8D8698 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* 8D869C 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* 8D86A0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* 8D86A4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* 8D86A8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* 8D86AC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* 8D86B0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* 8D86B4 802401E4 08090093 */ j .L8024024C +/* 8D86B8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* 8D86BC 802401EC 08090093 */ j .L8024024C +/* 8D86C0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* 8D86C4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 8D86C8 802401F8 0C00A8D4 */ jal cos_deg +/* 8D86CC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* 8D86D0 80240200 3C014040 */ lui $at, 0x4040 +/* 8D86D4 80240204 44811000 */ mtc1 $at, $f2 +/* 8D86D8 80240208 00000000 */ nop +/* 8D86DC 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* 8D86E0 80240210 00000000 */ nop +/* 8D86E4 80240214 3C014188 */ lui $at, 0x4188 +/* 8D86E8 80240218 44812000 */ mtc1 $at, $f4 +/* 8D86EC 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* 8D86F0 80240220 46041080 */ add.s $f2, $f2, $f4 +/* 8D86F4 80240224 46001080 */ add.s $f2, $f2, $f0 +/* 8D86F8 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* 8D86FC 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* 8D8700 80240230 24420009 */ addiu $v0, $v0, 9 +/* 8D8704 80240234 44826000 */ mtc1 $v0, $f12 +/* 8D8708 80240238 00000000 */ nop +/* 8D870C 8024023C 0C00A6C9 */ jal clamp_angle +/* 8D8710 80240240 46806320 */ cvt.s.w $f12, $f12 +/* 8D8714 80240244 4600018D */ trunc.w.s $f6, $f0 +/* 8D8718 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* 8D871C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8D8720 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* 8D8724 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* 8D8728 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* 8D872C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* 8D8730 80240260 03E00008 */ jr $ra +/* 8D8734 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_80240268.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240268.s new file mode 100644 index 0000000000..d097073a7e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240268.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268 +/* 8D8738 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D873C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* 8D8740 80240270 0080802D */ daddu $s0, $a0, $zero +/* 8D8744 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D8748 80240278 8E02000C */ lw $v0, 0xc($s0) +/* 8D874C 8024027C 0C0B1EAF */ jal get_variable +/* 8D8750 80240280 8C450000 */ lw $a1, ($v0) +/* 8D8754 80240284 00021140 */ sll $v0, $v0, 5 +/* 8D8758 80240288 AE000084 */ sw $zero, 0x84($s0) +/* 8D875C 8024028C 3C018008 */ lui $at, 0x8008 +/* 8D8760 80240290 00220821 */ addu $at, $at, $v0 +/* 8D8764 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* 8D8768 80240298 30420040 */ andi $v0, $v0, 0x40 +/* 8D876C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* 8D8770 802402A0 24020001 */ addiu $v0, $zero, 1 +/* 8D8774 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* 8D8778 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D877C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* 8D8780 802402B0 24020002 */ addiu $v0, $zero, 2 +/* 8D8784 802402B4 03E00008 */ jr $ra +/* 8D8788 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_802402BC.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_802402BC.s new file mode 100644 index 0000000000..c74b61c437 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_802402BC.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC +/* 8D878C 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8D8790 802402C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8D8794 802402C4 8C82000C */ lw $v0, 0xc($a0) +/* 8D8798 802402C8 0C0B1EAF */ jal get_variable +/* 8D879C 802402CC 8C450000 */ lw $a1, ($v0) +/* 8D87A0 802402D0 0C04417A */ jal get_entity_by_index +/* 8D87A4 802402D4 0040202D */ daddu $a0, $v0, $zero +/* 8D87A8 802402D8 50400007 */ beql $v0, $zero, .L802402F8 +/* 8D87AC 802402DC 0000102D */ daddu $v0, $zero, $zero +/* 8D87B0 802402E0 84440014 */ lh $a0, 0x14($v0) +/* 8D87B4 802402E4 3C050000 */ lui $a1, 0 +/* 8D87B8 802402E8 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* 8D87BC 802402EC 0C048052 */ jal play_model_animation +/* 8D87C0 802402F0 00000000 */ nop +/* 8D87C4 802402F4 24020002 */ addiu $v0, $zero, 2 +.L802402F8: +/* 8D87C8 802402F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8D87CC 802402FC 03E00008 */ jr $ra +/* 8D87D0 80240300 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_80240304.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240304.s new file mode 100644 index 0000000000..6fe8365799 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240304.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240304 +/* 8D87D4 80240304 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8D87D8 80240308 AFB10014 */ sw $s1, 0x14($sp) +/* 8D87DC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* 8D87E0 80240310 AFBF0020 */ sw $ra, 0x20($sp) +/* 8D87E4 80240314 AFB3001C */ sw $s3, 0x1c($sp) +/* 8D87E8 80240318 AFB20018 */ sw $s2, 0x18($sp) +/* 8D87EC 8024031C AFB00010 */ sw $s0, 0x10($sp) +/* 8D87F0 80240320 8E30000C */ lw $s0, 0xc($s1) +/* 8D87F4 80240324 8E050000 */ lw $a1, ($s0) +/* 8D87F8 80240328 0C0B1EAF */ jal get_variable +/* 8D87FC 8024032C 26100004 */ addiu $s0, $s0, 4 +/* 8D8800 80240330 8E050000 */ lw $a1, ($s0) +/* 8D8804 80240334 26100004 */ addiu $s0, $s0, 4 +/* 8D8808 80240338 0220202D */ daddu $a0, $s1, $zero +/* 8D880C 8024033C 0C0B1EAF */ jal get_variable +/* 8D8810 80240340 0040982D */ daddu $s3, $v0, $zero +/* 8D8814 80240344 8E050000 */ lw $a1, ($s0) +/* 8D8818 80240348 26100004 */ addiu $s0, $s0, 4 +/* 8D881C 8024034C 0220202D */ daddu $a0, $s1, $zero +/* 8D8820 80240350 0C0B1EAF */ jal get_variable +/* 8D8824 80240354 0040902D */ daddu $s2, $v0, $zero +/* 8D8828 80240358 0220202D */ daddu $a0, $s1, $zero +/* 8D882C 8024035C 8E050000 */ lw $a1, ($s0) +/* 8D8830 80240360 0C0B1EAF */ jal get_variable +/* 8D8834 80240364 0040882D */ daddu $s1, $v0, $zero +/* 8D8838 80240368 0260202D */ daddu $a0, $s3, $zero +/* 8D883C 8024036C 0C04417A */ jal get_entity_by_index +/* 8D8840 80240370 0040802D */ daddu $s0, $v0, $zero +/* 8D8844 80240374 0040182D */ daddu $v1, $v0, $zero +/* 8D8848 80240378 44920000 */ mtc1 $s2, $f0 +/* 8D884C 8024037C 00000000 */ nop +/* 8D8850 80240380 46800020 */ cvt.s.w $f0, $f0 +/* 8D8854 80240384 E4600048 */ swc1 $f0, 0x48($v1) +/* 8D8858 80240388 44910000 */ mtc1 $s1, $f0 +/* 8D885C 8024038C 00000000 */ nop +/* 8D8860 80240390 46800020 */ cvt.s.w $f0, $f0 +/* 8D8864 80240394 E460004C */ swc1 $f0, 0x4c($v1) +/* 8D8868 80240398 44900000 */ mtc1 $s0, $f0 +/* 8D886C 8024039C 00000000 */ nop +/* 8D8870 802403A0 46800020 */ cvt.s.w $f0, $f0 +/* 8D8874 802403A4 E4600050 */ swc1 $f0, 0x50($v1) +/* 8D8878 802403A8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8D887C 802403AC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8D8880 802403B0 8FB20018 */ lw $s2, 0x18($sp) +/* 8D8884 802403B4 8FB10014 */ lw $s1, 0x14($sp) +/* 8D8888 802403B8 8FB00010 */ lw $s0, 0x10($sp) +/* 8D888C 802403BC 24020002 */ addiu $v0, $zero, 2 +/* 8D8890 802403C0 03E00008 */ jr $ra +/* 8D8894 802403C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 8D8898 802403C8 00000000 */ nop +/* 8D889C 802403CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_802403D0.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_802403D0.s new file mode 100644 index 0000000000..60aef42d02 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_802403D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D0 +/* 8D88A0 802403D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8D88A4 802403D4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8D88A8 802403D8 4485A000 */ mtc1 $a1, $f20 +/* 8D88AC 802403DC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8D88B0 802403E0 4486B000 */ mtc1 $a2, $f22 +/* 8D88B4 802403E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8D88B8 802403E8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8D88BC 802403EC 4487C000 */ mtc1 $a3, $f24 +/* 8D88C0 802403F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8D88C4 802403F4 0C019D28 */ jal guMtxIdentF +/* 8D88C8 802403F8 0080802D */ daddu $s0, $a0, $zero +/* 8D88CC 802403FC 4616A582 */ mul.s $f22, $f20, $f22 +/* 8D88D0 80240400 00000000 */ nop +/* 8D88D4 80240404 4618A502 */ mul.s $f20, $f20, $f24 +/* 8D88D8 80240408 00000000 */ nop +/* 8D88DC 8024040C 3C013F80 */ lui $at, 0x3f80 +/* 8D88E0 80240410 44810000 */ mtc1 $at, $f0 +/* 8D88E4 80240414 00000000 */ nop +/* 8D88E8 80240418 E6000014 */ swc1 $f0, 0x14($s0) +/* 8D88EC 8024041C E6160010 */ swc1 $f22, 0x10($s0) +/* 8D88F0 80240420 E6140018 */ swc1 $f20, 0x18($s0) +/* 8D88F4 80240424 8FBF0014 */ lw $ra, 0x14($sp) +/* 8D88F8 80240428 8FB00010 */ lw $s0, 0x10($sp) +/* 8D88FC 8024042C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8D8900 80240430 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8D8904 80240434 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8D8908 80240438 03E00008 */ jr $ra +/* 8D890C 8024043C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_10/func_80240440.s b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240440.s new file mode 100644 index 0000000000..0952a7272f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_10/func_80240440.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240440 +/* 8D8910 80240440 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8D8914 80240444 AFB10054 */ sw $s1, 0x54($sp) +/* 8D8918 80240448 0080882D */ daddu $s1, $a0, $zero +/* 8D891C 8024044C AFBF005C */ sw $ra, 0x5c($sp) +/* 8D8920 80240450 AFB20058 */ sw $s2, 0x58($sp) +/* 8D8924 80240454 AFB00050 */ sw $s0, 0x50($sp) +/* 8D8928 80240458 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8D892C 8024045C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8D8930 80240460 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8D8934 80240464 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8D8938 80240468 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8D893C 8024046C 8E30000C */ lw $s0, 0xc($s1) +/* 8D8940 80240470 8E050000 */ lw $a1, ($s0) +/* 8D8944 80240474 0C0B1EAF */ jal get_variable +/* 8D8948 80240478 26100004 */ addiu $s0, $s0, 4 +/* 8D894C 8024047C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8D8950 80240480 0040202D */ daddu $a0, $v0, $zero +/* 8D8954 80240484 8E050000 */ lw $a1, ($s0) +/* 8D8958 80240488 26100004 */ addiu $s0, $s0, 4 +/* 8D895C 8024048C 0220202D */ daddu $a0, $s1, $zero +/* 8D8960 80240490 0C0B210B */ jal get_float_variable +/* 8D8964 80240494 0040902D */ daddu $s2, $v0, $zero +/* 8D8968 80240498 8E050000 */ lw $a1, ($s0) +/* 8D896C 8024049C 26100004 */ addiu $s0, $s0, 4 +/* 8D8970 802404A0 0220202D */ daddu $a0, $s1, $zero +/* 8D8974 802404A4 0C0B210B */ jal get_float_variable +/* 8D8978 802404A8 46000706 */ mov.s $f28, $f0 +/* 8D897C 802404AC 8E050000 */ lw $a1, ($s0) +/* 8D8980 802404B0 26100004 */ addiu $s0, $s0, 4 +/* 8D8984 802404B4 0220202D */ daddu $a0, $s1, $zero +/* 8D8988 802404B8 0C0B210B */ jal get_float_variable +/* 8D898C 802404BC 46000686 */ mov.s $f26, $f0 +/* 8D8990 802404C0 0220202D */ daddu $a0, $s1, $zero +/* 8D8994 802404C4 8E050000 */ lw $a1, ($s0) +/* 8D8998 802404C8 0C0B210B */ jal get_float_variable +/* 8D899C 802404CC 46000586 */ mov.s $f22, $f0 +/* 8D89A0 802404D0 0240202D */ daddu $a0, $s2, $zero +/* 8D89A4 802404D4 0C046B4C */ jal get_model_from_list_index +/* 8D89A8 802404D8 46000606 */ mov.s $f24, $f0 +/* 8D89AC 802404DC 0040882D */ daddu $s1, $v0, $zero +/* 8D89B0 802404E0 96220000 */ lhu $v0, ($s1) +/* 8D89B4 802404E4 30420400 */ andi $v0, $v0, 0x400 +/* 8D89B8 802404E8 1440001E */ bnez $v0, .L80240564 +/* 8D89BC 802404EC 26300058 */ addiu $s0, $s1, 0x58 +/* 8D89C0 802404F0 4480A000 */ mtc1 $zero, $f20 +/* 8D89C4 802404F4 4406B000 */ mfc1 $a2, $f22 +/* 8D89C8 802404F8 4405A000 */ mfc1 $a1, $f20 +/* 8D89CC 802404FC 4407A000 */ mfc1 $a3, $f20 +/* 8D89D0 80240500 0C019E40 */ jal guTranslateF +/* 8D89D4 80240504 0200202D */ daddu $a0, $s0, $zero +/* 8D89D8 80240508 4405E000 */ mfc1 $a1, $f28 +/* 8D89DC 8024050C 4406D000 */ mfc1 $a2, $f26 +/* 8D89E0 80240510 4407C000 */ mfc1 $a3, $f24 +/* 8D89E4 80240514 0C0900F4 */ jal func_802403D0 +/* 8D89E8 80240518 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D89EC 8024051C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D89F0 80240520 0200282D */ daddu $a1, $s0, $zero +/* 8D89F4 80240524 0C019D80 */ jal guMtxCatF +/* 8D89F8 80240528 0200302D */ daddu $a2, $s0, $zero +/* 8D89FC 8024052C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A00 80240530 4600B587 */ neg.s $f22, $f22 +/* 8D8A04 80240534 4405A000 */ mfc1 $a1, $f20 +/* 8D8A08 80240538 4406B000 */ mfc1 $a2, $f22 +/* 8D8A0C 8024053C 0C019E40 */ jal guTranslateF +/* 8D8A10 80240540 00A0382D */ daddu $a3, $a1, $zero +/* 8D8A14 80240544 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A18 80240548 0200282D */ daddu $a1, $s0, $zero +/* 8D8A1C 8024054C 0C019D80 */ jal guMtxCatF +/* 8D8A20 80240550 00A0302D */ daddu $a2, $a1, $zero +/* 8D8A24 80240554 96220000 */ lhu $v0, ($s1) +/* 8D8A28 80240558 34421400 */ ori $v0, $v0, 0x1400 +/* 8D8A2C 8024055C 08090177 */ j .L802405DC +/* 8D8A30 80240560 A6220000 */ sh $v0, ($s1) +.L80240564: +/* 8D8A34 80240564 4480A000 */ mtc1 $zero, $f20 +/* 8D8A38 80240568 4406B000 */ mfc1 $a2, $f22 +/* 8D8A3C 8024056C 4405A000 */ mfc1 $a1, $f20 +/* 8D8A40 80240570 4407A000 */ mfc1 $a3, $f20 +/* 8D8A44 80240574 0C019E40 */ jal guTranslateF +/* 8D8A48 80240578 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A4C 8024057C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A50 80240580 26300058 */ addiu $s0, $s1, 0x58 +/* 8D8A54 80240584 0200282D */ daddu $a1, $s0, $zero +/* 8D8A58 80240588 0C019D80 */ jal guMtxCatF +/* 8D8A5C 8024058C 0200302D */ daddu $a2, $s0, $zero +/* 8D8A60 80240590 4405E000 */ mfc1 $a1, $f28 +/* 8D8A64 80240594 4406D000 */ mfc1 $a2, $f26 +/* 8D8A68 80240598 4407C000 */ mfc1 $a3, $f24 +/* 8D8A6C 8024059C 0C0900F4 */ jal func_802403D0 +/* 8D8A70 802405A0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A74 802405A4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A78 802405A8 0200282D */ daddu $a1, $s0, $zero +/* 8D8A7C 802405AC 0C019D80 */ jal guMtxCatF +/* 8D8A80 802405B0 0200302D */ daddu $a2, $s0, $zero +/* 8D8A84 802405B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8A88 802405B8 4600B587 */ neg.s $f22, $f22 +/* 8D8A8C 802405BC 4405A000 */ mfc1 $a1, $f20 +/* 8D8A90 802405C0 4406B000 */ mfc1 $a2, $f22 +/* 8D8A94 802405C4 0C019E40 */ jal guTranslateF +/* 8D8A98 802405C8 00A0382D */ daddu $a3, $a1, $zero +/* 8D8A9C 802405CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8D8AA0 802405D0 0200282D */ daddu $a1, $s0, $zero +/* 8D8AA4 802405D4 0C019D80 */ jal guMtxCatF +/* 8D8AA8 802405D8 00A0302D */ daddu $a2, $a1, $zero +.L802405DC: +/* 8D8AAC 802405DC 8FBF005C */ lw $ra, 0x5c($sp) +/* 8D8AB0 802405E0 8FB20058 */ lw $s2, 0x58($sp) +/* 8D8AB4 802405E4 8FB10054 */ lw $s1, 0x54($sp) +/* 8D8AB8 802405E8 8FB00050 */ lw $s0, 0x50($sp) +/* 8D8ABC 802405EC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8D8AC0 802405F0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8D8AC4 802405F4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8D8AC8 802405F8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8D8ACC 802405FC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8D8AD0 80240600 24020002 */ addiu $v0, $zero, 2 +/* 8D8AD4 80240604 03E00008 */ jr $ra +/* 8D8AD8 80240608 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8D8ADC 8024060C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240000_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240000_8DA100.s new file mode 100644 index 0000000000..333fc6c0e3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240000_8DA100.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8DA100 +/* 8DA100 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8DA104 80240004 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8DA108 80240008 4485A000 */ mtc1 $a1, $f20 +/* 8DA10C 8024000C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8DA110 80240010 4486B000 */ mtc1 $a2, $f22 +/* 8DA114 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA118 80240018 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8DA11C 8024001C 4487C000 */ mtc1 $a3, $f24 +/* 8DA120 80240020 AFBF0014 */ sw $ra, 0x14($sp) +/* 8DA124 80240024 0C019D28 */ jal guMtxIdentF +/* 8DA128 80240028 0080802D */ daddu $s0, $a0, $zero +/* 8DA12C 8024002C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8DA130 80240030 00000000 */ nop +/* 8DA134 80240034 4618A502 */ mul.s $f20, $f20, $f24 +/* 8DA138 80240038 00000000 */ nop +/* 8DA13C 8024003C 3C013F80 */ lui $at, 0x3f80 +/* 8DA140 80240040 44810000 */ mtc1 $at, $f0 +/* 8DA144 80240044 00000000 */ nop +/* 8DA148 80240048 E6000014 */ swc1 $f0, 0x14($s0) +/* 8DA14C 8024004C E6160010 */ swc1 $f22, 0x10($s0) +/* 8DA150 80240050 E6140018 */ swc1 $f20, 0x18($s0) +/* 8DA154 80240054 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DA158 80240058 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA15C 8024005C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8DA160 80240060 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8DA164 80240064 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8DA168 80240068 03E00008 */ jr $ra +/* 8DA16C 8024006C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240070.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240070.s new file mode 100644 index 0000000000..6e80a4eda1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240070.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070 +/* 8DA170 80240070 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8DA174 80240074 AFB10054 */ sw $s1, 0x54($sp) +/* 8DA178 80240078 0080882D */ daddu $s1, $a0, $zero +/* 8DA17C 8024007C AFBF005C */ sw $ra, 0x5c($sp) +/* 8DA180 80240080 AFB20058 */ sw $s2, 0x58($sp) +/* 8DA184 80240084 AFB00050 */ sw $s0, 0x50($sp) +/* 8DA188 80240088 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8DA18C 8024008C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8DA190 80240090 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8DA194 80240094 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8DA198 80240098 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8DA19C 8024009C 8E30000C */ lw $s0, 0xc($s1) +/* 8DA1A0 802400A0 8E050000 */ lw $a1, ($s0) +/* 8DA1A4 802400A4 0C0B1EAF */ jal get_variable +/* 8DA1A8 802400A8 26100004 */ addiu $s0, $s0, 4 +/* 8DA1AC 802400AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8DA1B0 802400B0 0040202D */ daddu $a0, $v0, $zero +/* 8DA1B4 802400B4 8E050000 */ lw $a1, ($s0) +/* 8DA1B8 802400B8 26100004 */ addiu $s0, $s0, 4 +/* 8DA1BC 802400BC 0220202D */ daddu $a0, $s1, $zero +/* 8DA1C0 802400C0 0C0B210B */ jal get_float_variable +/* 8DA1C4 802400C4 0040902D */ daddu $s2, $v0, $zero +/* 8DA1C8 802400C8 8E050000 */ lw $a1, ($s0) +/* 8DA1CC 802400CC 26100004 */ addiu $s0, $s0, 4 +/* 8DA1D0 802400D0 0220202D */ daddu $a0, $s1, $zero +/* 8DA1D4 802400D4 0C0B210B */ jal get_float_variable +/* 8DA1D8 802400D8 46000706 */ mov.s $f28, $f0 +/* 8DA1DC 802400DC 8E050000 */ lw $a1, ($s0) +/* 8DA1E0 802400E0 26100004 */ addiu $s0, $s0, 4 +/* 8DA1E4 802400E4 0220202D */ daddu $a0, $s1, $zero +/* 8DA1E8 802400E8 0C0B210B */ jal get_float_variable +/* 8DA1EC 802400EC 46000686 */ mov.s $f26, $f0 +/* 8DA1F0 802400F0 0220202D */ daddu $a0, $s1, $zero +/* 8DA1F4 802400F4 8E050000 */ lw $a1, ($s0) +/* 8DA1F8 802400F8 0C0B210B */ jal get_float_variable +/* 8DA1FC 802400FC 46000586 */ mov.s $f22, $f0 +/* 8DA200 80240100 0240202D */ daddu $a0, $s2, $zero +/* 8DA204 80240104 0C046B4C */ jal get_model_from_list_index +/* 8DA208 80240108 46000606 */ mov.s $f24, $f0 +/* 8DA20C 8024010C 0040882D */ daddu $s1, $v0, $zero +/* 8DA210 80240110 96220000 */ lhu $v0, ($s1) +/* 8DA214 80240114 30420400 */ andi $v0, $v0, 0x400 +/* 8DA218 80240118 1440001E */ bnez $v0, .L80240194 +/* 8DA21C 8024011C 26300058 */ addiu $s0, $s1, 0x58 +/* 8DA220 80240120 4480A000 */ mtc1 $zero, $f20 +/* 8DA224 80240124 4406B000 */ mfc1 $a2, $f22 +/* 8DA228 80240128 4405A000 */ mfc1 $a1, $f20 +/* 8DA22C 8024012C 4407A000 */ mfc1 $a3, $f20 +/* 8DA230 80240130 0C019E40 */ jal guTranslateF +/* 8DA234 80240134 0200202D */ daddu $a0, $s0, $zero +/* 8DA238 80240138 4405E000 */ mfc1 $a1, $f28 +/* 8DA23C 8024013C 4406D000 */ mfc1 $a2, $f26 +/* 8DA240 80240140 4407C000 */ mfc1 $a3, $f24 +/* 8DA244 80240144 0C090000 */ jal func_80240000 +/* 8DA248 80240148 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA24C 8024014C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA250 80240150 0200282D */ daddu $a1, $s0, $zero +/* 8DA254 80240154 0C019D80 */ jal guMtxCatF +/* 8DA258 80240158 0200302D */ daddu $a2, $s0, $zero +/* 8DA25C 8024015C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA260 80240160 4600B587 */ neg.s $f22, $f22 +/* 8DA264 80240164 4405A000 */ mfc1 $a1, $f20 +/* 8DA268 80240168 4406B000 */ mfc1 $a2, $f22 +/* 8DA26C 8024016C 0C019E40 */ jal guTranslateF +/* 8DA270 80240170 00A0382D */ daddu $a3, $a1, $zero +/* 8DA274 80240174 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA278 80240178 0200282D */ daddu $a1, $s0, $zero +/* 8DA27C 8024017C 0C019D80 */ jal guMtxCatF +/* 8DA280 80240180 00A0302D */ daddu $a2, $a1, $zero +/* 8DA284 80240184 96220000 */ lhu $v0, ($s1) +/* 8DA288 80240188 34421400 */ ori $v0, $v0, 0x1400 +/* 8DA28C 8024018C 08090083 */ j .L8024020C +/* 8DA290 80240190 A6220000 */ sh $v0, ($s1) +.L80240194: +/* 8DA294 80240194 4480A000 */ mtc1 $zero, $f20 +/* 8DA298 80240198 4406B000 */ mfc1 $a2, $f22 +/* 8DA29C 8024019C 4405A000 */ mfc1 $a1, $f20 +/* 8DA2A0 802401A0 4407A000 */ mfc1 $a3, $f20 +/* 8DA2A4 802401A4 0C019E40 */ jal guTranslateF +/* 8DA2A8 802401A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA2AC 802401AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA2B0 802401B0 26300058 */ addiu $s0, $s1, 0x58 +/* 8DA2B4 802401B4 0200282D */ daddu $a1, $s0, $zero +/* 8DA2B8 802401B8 0C019D80 */ jal guMtxCatF +/* 8DA2BC 802401BC 0200302D */ daddu $a2, $s0, $zero +/* 8DA2C0 802401C0 4405E000 */ mfc1 $a1, $f28 +/* 8DA2C4 802401C4 4406D000 */ mfc1 $a2, $f26 +/* 8DA2C8 802401C8 4407C000 */ mfc1 $a3, $f24 +/* 8DA2CC 802401CC 0C090000 */ jal func_80240000 +/* 8DA2D0 802401D0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA2D4 802401D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA2D8 802401D8 0200282D */ daddu $a1, $s0, $zero +/* 8DA2DC 802401DC 0C019D80 */ jal guMtxCatF +/* 8DA2E0 802401E0 0200302D */ daddu $a2, $s0, $zero +/* 8DA2E4 802401E4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA2E8 802401E8 4600B587 */ neg.s $f22, $f22 +/* 8DA2EC 802401EC 4405A000 */ mfc1 $a1, $f20 +/* 8DA2F0 802401F0 4406B000 */ mfc1 $a2, $f22 +/* 8DA2F4 802401F4 0C019E40 */ jal guTranslateF +/* 8DA2F8 802401F8 00A0382D */ daddu $a3, $a1, $zero +/* 8DA2FC 802401FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DA300 80240200 0200282D */ daddu $a1, $s0, $zero +/* 8DA304 80240204 0C019D80 */ jal guMtxCatF +/* 8DA308 80240208 00A0302D */ daddu $a2, $a1, $zero +.L8024020C: +/* 8DA30C 8024020C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8DA310 80240210 8FB20058 */ lw $s2, 0x58($sp) +/* 8DA314 80240214 8FB10054 */ lw $s1, 0x54($sp) +/* 8DA318 80240218 8FB00050 */ lw $s0, 0x50($sp) +/* 8DA31C 8024021C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8DA320 80240220 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8DA324 80240224 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8DA328 80240228 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8DA32C 8024022C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8DA330 80240230 24020002 */ addiu $v0, $zero, 2 +/* 8DA334 80240234 03E00008 */ jr $ra +/* 8DA338 80240238 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_8024023C_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024023C_8DA100.s new file mode 100644 index 0000000000..00ee3cbf09 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024023C_8DA100.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_8DA33C +/* 8DA33C 8024023C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA340 80240240 240403D4 */ addiu $a0, $zero, 0x3d4 +/* 8DA344 80240244 AFBF0010 */ sw $ra, 0x10($sp) +/* 8DA348 80240248 0C046EDD */ jal set_world_fog_dist +/* 8DA34C 8024024C 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8DA350 80240250 2404000F */ addiu $a0, $zero, 0xf +/* 8DA354 80240254 24050005 */ addiu $a1, $zero, 5 +/* 8DA358 80240258 24060037 */ addiu $a2, $zero, 0x37 +/* 8DA35C 8024025C 0C046EE2 */ jal set_world_fog_color +/* 8DA360 80240260 240700FF */ addiu $a3, $zero, 0xff +/* 8DA364 80240264 0C046ED4 */ jal enable_world_fog +/* 8DA368 80240268 00000000 */ nop +/* 8DA36C 8024026C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8DA370 80240270 24020002 */ addiu $v0, $zero, 2 +/* 8DA374 80240274 03E00008 */ jr $ra +/* 8DA378 80240278 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_8024027C.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024027C.s new file mode 100644 index 0000000000..d29b9bf84d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024027C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024027C +/* 8DA37C 8024027C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA380 80240280 AFBF0010 */ sw $ra, 0x10($sp) +/* 8DA384 80240284 0C00D77C */ jal func_80035DF0 +/* 8DA388 80240288 2404000A */ addiu $a0, $zero, 0xa +/* 8DA38C 8024028C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8DA390 80240290 24020002 */ addiu $v0, $zero, 2 +/* 8DA394 80240294 03E00008 */ jr $ra +/* 8DA398 80240298 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8DA39C 8024029C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_802402A0.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_802402A0.s new file mode 100644 index 0000000000..36a6f70f15 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_802402A0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402A0 +/* 8DA3A0 802402A0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8DA3A4 802402A4 AFB1001C */ sw $s1, 0x1c($sp) +/* 8DA3A8 802402A8 0080882D */ daddu $s1, $a0, $zero +/* 8DA3AC 802402AC AFBF0020 */ sw $ra, 0x20($sp) +/* 8DA3B0 802402B0 AFB00018 */ sw $s0, 0x18($sp) +/* 8DA3B4 802402B4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8DA3B8 802402B8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8DA3BC 802402BC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8DA3C0 802402C0 8E30000C */ lw $s0, 0xc($s1) +/* 8DA3C4 802402C4 8E050000 */ lw $a1, ($s0) +/* 8DA3C8 802402C8 0C0B210B */ jal get_float_variable +/* 8DA3CC 802402CC 26100004 */ addiu $s0, $s0, 4 +/* 8DA3D0 802402D0 8E050000 */ lw $a1, ($s0) +/* 8DA3D4 802402D4 26100004 */ addiu $s0, $s0, 4 +/* 8DA3D8 802402D8 0220202D */ daddu $a0, $s1, $zero +/* 8DA3DC 802402DC 0C0B210B */ jal get_float_variable +/* 8DA3E0 802402E0 46000606 */ mov.s $f24, $f0 +/* 8DA3E4 802402E4 8E050000 */ lw $a1, ($s0) +/* 8DA3E8 802402E8 26100004 */ addiu $s0, $s0, 4 +/* 8DA3EC 802402EC 0220202D */ daddu $a0, $s1, $zero +/* 8DA3F0 802402F0 0C0B210B */ jal get_float_variable +/* 8DA3F4 802402F4 46000586 */ mov.s $f22, $f0 +/* 8DA3F8 802402F8 0220202D */ daddu $a0, $s1, $zero +/* 8DA3FC 802402FC 8E050000 */ lw $a1, ($s0) +/* 8DA400 80240300 0C0B1EAF */ jal get_variable +/* 8DA404 80240304 46000506 */ mov.s $f20, $f0 +/* 8DA408 80240308 4405C000 */ mfc1 $a1, $f24 +/* 8DA40C 8024030C 4406B000 */ mfc1 $a2, $f22 +/* 8DA410 80240310 4407A000 */ mfc1 $a3, $f20 +/* 8DA414 80240314 0000202D */ daddu $a0, $zero, $zero +/* 8DA418 80240318 0C01C094 */ jal func_80070250 +/* 8DA41C 8024031C AFA20010 */ sw $v0, 0x10($sp) +/* 8DA420 80240320 8FBF0020 */ lw $ra, 0x20($sp) +/* 8DA424 80240324 8FB1001C */ lw $s1, 0x1c($sp) +/* 8DA428 80240328 8FB00018 */ lw $s0, 0x18($sp) +/* 8DA42C 8024032C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8DA430 80240330 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8DA434 80240334 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8DA438 80240338 24020002 */ addiu $v0, $zero, 2 +/* 8DA43C 8024033C 03E00008 */ jr $ra +/* 8DA440 80240340 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240344_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240344_8DA100.s new file mode 100644 index 0000000000..9f8bddb626 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240344_8DA100.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344_8DA444 +/* 8DA444 80240344 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA448 80240348 AFBF0010 */ sw $ra, 0x10($sp) +/* 8DA44C 8024034C 8C82000C */ lw $v0, 0xc($a0) +/* 8DA450 80240350 0C0B210B */ jal get_float_variable +/* 8DA454 80240354 8C450000 */ lw $a1, ($v0) +/* 8DA458 80240358 8FBF0010 */ lw $ra, 0x10($sp) +/* 8DA45C 8024035C 24020002 */ addiu $v0, $zero, 2 +/* 8DA460 80240360 3C01800B */ lui $at, 0x800b +/* 8DA464 80240364 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 8DA468 80240368 03E00008 */ jr $ra +/* 8DA46C 8024036C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240370_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240370_8DA100.s new file mode 100644 index 0000000000..ce1d0d7c2e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240370_8DA100.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_8DA470 +/* 8DA470 80240370 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8DA474 80240374 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA478 80240378 0080802D */ daddu $s0, $a0, $zero +/* 8DA47C 8024037C AFBF001C */ sw $ra, 0x1c($sp) +/* 8DA480 80240380 AFB20018 */ sw $s2, 0x18($sp) +/* 8DA484 80240384 AFB10014 */ sw $s1, 0x14($sp) +/* 8DA488 80240388 8E110148 */ lw $s1, 0x148($s0) +/* 8DA48C 8024038C 86240008 */ lh $a0, 8($s1) +/* 8DA490 80240390 0C00EABB */ jal get_npc_unsafe +/* 8DA494 80240394 00A0902D */ daddu $s2, $a1, $zero +/* 8DA498 80240398 8E2300CC */ lw $v1, 0xcc($s1) +/* 8DA49C 8024039C 0040202D */ daddu $a0, $v0, $zero +/* 8DA4A0 802403A0 8C630000 */ lw $v1, ($v1) +/* 8DA4A4 802403A4 24020001 */ addiu $v0, $zero, 1 +/* 8DA4A8 802403A8 AC830028 */ sw $v1, 0x28($a0) +/* 8DA4AC 802403AC AE020070 */ sw $v0, 0x70($s0) +/* 8DA4B0 802403B0 8E220000 */ lw $v0, ($s1) +/* 8DA4B4 802403B4 3C030010 */ lui $v1, 0x10 +/* 8DA4B8 802403B8 00431024 */ and $v0, $v0, $v1 +/* 8DA4BC 802403BC 10400004 */ beqz $v0, .L802403D0 +/* 8DA4C0 802403C0 00000000 */ nop +/* 8DA4C4 802403C4 C620006C */ lwc1 $f0, 0x6c($s1) +/* 8DA4C8 802403C8 46800020 */ cvt.s.w $f0, $f0 +/* 8DA4CC 802403CC E480000C */ swc1 $f0, 0xc($a0) +.L802403D0: +/* 8DA4D0 802403D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DA4D4 802403D4 8C420014 */ lw $v0, 0x14($v0) +/* 8DA4D8 802403D8 1C400004 */ bgtz $v0, .L802403EC +/* 8DA4DC 802403DC 00000000 */ nop +/* 8DA4E0 802403E0 C640000C */ lwc1 $f0, 0xc($s2) +/* 8DA4E4 802403E4 08090103 */ j .L8024040C +/* 8DA4E8 802403E8 E4800018 */ swc1 $f0, 0x18($a0) +.L802403EC: +/* 8DA4EC 802403EC 3C018025 */ lui $at, 0x8025 +/* 8DA4F0 802403F0 D42210B0 */ ldc1 $f2, 0x10b0($at) +/* 8DA4F4 802403F4 44820000 */ mtc1 $v0, $f0 +/* 8DA4F8 802403F8 00000000 */ nop +/* 8DA4FC 802403FC 46800021 */ cvt.d.w $f0, $f0 +/* 8DA500 80240400 46220003 */ div.d $f0, $f0, $f2 +/* 8DA504 80240404 46200020 */ cvt.s.d $f0, $f0 +/* 8DA508 80240408 E4800018 */ swc1 $f0, 0x18($a0) +.L8024040C: +/* 8DA50C 8024040C 8FBF001C */ lw $ra, 0x1c($sp) +/* 8DA510 80240410 8FB20018 */ lw $s2, 0x18($sp) +/* 8DA514 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* 8DA518 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA51C 8024041C 03E00008 */ jr $ra +/* 8DA520 80240420 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240424.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240424.s new file mode 100644 index 0000000000..d8a0561394 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240424.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240424 +/* 8DA524 80240424 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8DA528 80240428 AFB40040 */ sw $s4, 0x40($sp) +/* 8DA52C 8024042C 0080A02D */ daddu $s4, $a0, $zero +/* 8DA530 80240430 AFBF0044 */ sw $ra, 0x44($sp) +/* 8DA534 80240434 AFB3003C */ sw $s3, 0x3c($sp) +/* 8DA538 80240438 AFB20038 */ sw $s2, 0x38($sp) +/* 8DA53C 8024043C AFB10034 */ sw $s1, 0x34($sp) +/* 8DA540 80240440 AFB00030 */ sw $s0, 0x30($sp) +/* 8DA544 80240444 8E920148 */ lw $s2, 0x148($s4) +/* 8DA548 80240448 00A0802D */ daddu $s0, $a1, $zero +/* 8DA54C 8024044C 86440008 */ lh $a0, 8($s2) +/* 8DA550 80240450 0C00EABB */ jal get_npc_unsafe +/* 8DA554 80240454 00C0982D */ daddu $s3, $a2, $zero +/* 8DA558 80240458 8E030008 */ lw $v1, 8($s0) +/* 8DA55C 8024045C 04600031 */ bltz $v1, .L80240524 +/* 8DA560 80240460 0040882D */ daddu $s1, $v0, $zero +/* 8DA564 80240464 0260202D */ daddu $a0, $s3, $zero +/* 8DA568 80240468 AFA00010 */ sw $zero, 0x10($sp) +/* 8DA56C 8024046C 8E060018 */ lw $a2, 0x18($s0) +/* 8DA570 80240470 8E07001C */ lw $a3, 0x1c($s0) +/* 8DA574 80240474 0C01242D */ jal func_800490B4 +/* 8DA578 80240478 0240282D */ daddu $a1, $s2, $zero +/* 8DA57C 8024047C 10400029 */ beqz $v0, .L80240524 +/* 8DA580 80240480 0000202D */ daddu $a0, $zero, $zero +/* 8DA584 80240484 0220282D */ daddu $a1, $s1, $zero +/* 8DA588 80240488 0000302D */ daddu $a2, $zero, $zero +/* 8DA58C 8024048C 862300A8 */ lh $v1, 0xa8($s1) +/* 8DA590 80240490 3C013F80 */ lui $at, 0x3f80 +/* 8DA594 80240494 44810000 */ mtc1 $at, $f0 +/* 8DA598 80240498 3C014000 */ lui $at, 0x4000 +/* 8DA59C 8024049C 44811000 */ mtc1 $at, $f2 +/* 8DA5A0 802404A0 3C01C1A0 */ lui $at, 0xc1a0 +/* 8DA5A4 802404A4 44812000 */ mtc1 $at, $f4 +/* 8DA5A8 802404A8 2402000F */ addiu $v0, $zero, 0xf +/* 8DA5AC 802404AC AFA2001C */ sw $v0, 0x1c($sp) +/* 8DA5B0 802404B0 44833000 */ mtc1 $v1, $f6 +/* 8DA5B4 802404B4 00000000 */ nop +/* 8DA5B8 802404B8 468031A0 */ cvt.s.w $f6, $f6 +/* 8DA5BC 802404BC 44073000 */ mfc1 $a3, $f6 +/* 8DA5C0 802404C0 27A20028 */ addiu $v0, $sp, 0x28 +/* 8DA5C4 802404C4 AFA20020 */ sw $v0, 0x20($sp) +/* 8DA5C8 802404C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8DA5CC 802404CC E7A20014 */ swc1 $f2, 0x14($sp) +/* 8DA5D0 802404D0 0C01BFA4 */ jal fx_emote +/* 8DA5D4 802404D4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8DA5D8 802404D8 0220202D */ daddu $a0, $s1, $zero +/* 8DA5DC 802404DC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8DA5E0 802404E0 0C012530 */ jal func_800494C0 +/* 8DA5E4 802404E4 3C060020 */ lui $a2, 0x20 +/* 8DA5E8 802404E8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8DA5EC 802404EC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8DA5F0 802404F0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 8DA5F4 802404F4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 8DA5F8 802404F8 8C460028 */ lw $a2, 0x28($v0) +/* 8DA5FC 802404FC 0C00A720 */ jal atan2 +/* 8DA600 80240500 8C470030 */ lw $a3, 0x30($v0) +/* 8DA604 80240504 E620000C */ swc1 $f0, 0xc($s1) +/* 8DA608 80240508 8E420018 */ lw $v0, 0x18($s2) +/* 8DA60C 8024050C 9442002A */ lhu $v0, 0x2a($v0) +/* 8DA610 80240510 30420001 */ andi $v0, $v0, 1 +/* 8DA614 80240514 14400002 */ bnez $v0, .L80240520 +/* 8DA618 80240518 2402000A */ addiu $v0, $zero, 0xa +/* 8DA61C 8024051C 2402000C */ addiu $v0, $zero, 0xc +.L80240520: +/* 8DA620 80240520 AE820070 */ sw $v0, 0x70($s4) +.L80240524: +/* 8DA624 80240524 8FBF0044 */ lw $ra, 0x44($sp) +/* 8DA628 80240528 8FB40040 */ lw $s4, 0x40($sp) +/* 8DA62C 8024052C 8FB3003C */ lw $s3, 0x3c($sp) +/* 8DA630 80240530 8FB20038 */ lw $s2, 0x38($sp) +/* 8DA634 80240534 8FB10034 */ lw $s1, 0x34($sp) +/* 8DA638 80240538 8FB00030 */ lw $s0, 0x30($sp) +/* 8DA63C 8024053C 03E00008 */ jr $ra +/* 8DA640 80240540 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240544.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240544.s new file mode 100644 index 0000000000..4635cd2f1c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240544.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544 +/* 8DA644 80240544 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA648 80240548 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA64C 8024054C 0080802D */ daddu $s0, $a0, $zero +/* 8DA650 80240550 AFBF0014 */ sw $ra, 0x14($sp) +/* 8DA654 80240554 8E020148 */ lw $v0, 0x148($s0) +/* 8DA658 80240558 0C00EABB */ jal get_npc_unsafe +/* 8DA65C 8024055C 84440008 */ lh $a0, 8($v0) +/* 8DA660 80240560 3C014120 */ lui $at, 0x4120 +/* 8DA664 80240564 44810000 */ mtc1 $at, $f0 +/* 8DA668 80240568 3C014000 */ lui $at, 0x4000 +/* 8DA66C 8024056C 44811000 */ mtc1 $at, $f2 +/* 8DA670 80240570 8C430000 */ lw $v1, ($v0) +/* 8DA674 80240574 C444003C */ lwc1 $f4, 0x3c($v0) +/* 8DA678 80240578 34630800 */ ori $v1, $v1, 0x800 +/* 8DA67C 8024057C E440001C */ swc1 $f0, 0x1c($v0) +/* 8DA680 80240580 E4420014 */ swc1 $f2, 0x14($v0) +/* 8DA684 80240584 E4440064 */ swc1 $f4, 0x64($v0) +/* 8DA688 80240588 AC430000 */ sw $v1, ($v0) +/* 8DA68C 8024058C 2402000B */ addiu $v0, $zero, 0xb +/* 8DA690 80240590 AE020070 */ sw $v0, 0x70($s0) +/* 8DA694 80240594 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DA698 80240598 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA69C 8024059C 03E00008 */ jr $ra +/* 8DA6A0 802405A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_802405A4.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_802405A4.s new file mode 100644 index 0000000000..68e45c5c48 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_802405A4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4 +/* 8DA6A4 802405A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA6A8 802405A8 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA6AC 802405AC 0080802D */ daddu $s0, $a0, $zero +/* 8DA6B0 802405B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8DA6B4 802405B4 8E020148 */ lw $v0, 0x148($s0) +/* 8DA6B8 802405B8 0C00EABB */ jal get_npc_unsafe +/* 8DA6BC 802405BC 84440008 */ lh $a0, 8($v0) +/* 8DA6C0 802405C0 0040202D */ daddu $a0, $v0, $zero +/* 8DA6C4 802405C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8DA6C8 802405C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* 8DA6CC 802405CC 46001080 */ add.s $f2, $f2, $f0 +/* 8DA6D0 802405D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8DA6D4 802405D4 46040001 */ sub.s $f0, $f0, $f4 +/* 8DA6D8 802405D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* 8DA6DC 802405DC 4602203C */ c.lt.s $f4, $f2 +/* 8DA6E0 802405E0 E482003C */ swc1 $f2, 0x3c($a0) +/* 8DA6E4 802405E4 45010009 */ bc1t .L8024060C +/* 8DA6E8 802405E8 E480001C */ swc1 $f0, 0x1c($a0) +/* 8DA6EC 802405EC 8C820000 */ lw $v0, ($a0) +/* 8DA6F0 802405F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8DA6F4 802405F4 E484003C */ swc1 $f4, 0x3c($a0) +/* 8DA6F8 802405F8 AC80001C */ sw $zero, 0x1c($a0) +/* 8DA6FC 802405FC 00431024 */ and $v0, $v0, $v1 +/* 8DA700 80240600 AC820000 */ sw $v0, ($a0) +/* 8DA704 80240604 2402000C */ addiu $v0, $zero, 0xc +/* 8DA708 80240608 AE020070 */ sw $v0, 0x70($s0) +.L8024060C: +/* 8DA70C 8024060C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DA710 80240610 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA714 80240614 03E00008 */ jr $ra +/* 8DA718 80240618 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_8024061C_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024061C_8DA100.s new file mode 100644 index 0000000000..0443a6c882 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024061C_8DA100.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_8DA71C +/* 8DA71C 8024061C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8DA720 80240620 AFB3001C */ sw $s3, 0x1c($sp) +/* 8DA724 80240624 0080982D */ daddu $s3, $a0, $zero +/* 8DA728 80240628 AFBF0020 */ sw $ra, 0x20($sp) +/* 8DA72C 8024062C AFB20018 */ sw $s2, 0x18($sp) +/* 8DA730 80240630 AFB10014 */ sw $s1, 0x14($sp) +/* 8DA734 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA738 80240638 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8DA73C 8024063C 8E710148 */ lw $s1, 0x148($s3) +/* 8DA740 80240640 86240008 */ lh $a0, 8($s1) +/* 8DA744 80240644 0C00EABB */ jal get_npc_unsafe +/* 8DA748 80240648 00A0802D */ daddu $s0, $a1, $zero +/* 8DA74C 8024064C 8E040014 */ lw $a0, 0x14($s0) +/* 8DA750 80240650 0040902D */ daddu $s2, $v0, $zero +/* 8DA754 80240654 00041FC2 */ srl $v1, $a0, 0x1f +/* 8DA758 80240658 00832021 */ addu $a0, $a0, $v1 +/* 8DA75C 8024065C 00042043 */ sra $a0, $a0, 1 +/* 8DA760 80240660 0C00A67F */ jal rand_int +/* 8DA764 80240664 24840001 */ addiu $a0, $a0, 1 +/* 8DA768 80240668 8E030014 */ lw $v1, 0x14($s0) +/* 8DA76C 8024066C C64C0038 */ lwc1 $f12, 0x38($s2) +/* 8DA770 80240670 000327C2 */ srl $a0, $v1, 0x1f +/* 8DA774 80240674 00641821 */ addu $v1, $v1, $a0 +/* 8DA778 80240678 00031843 */ sra $v1, $v1, 1 +/* 8DA77C 8024067C 00621821 */ addu $v1, $v1, $v0 +/* 8DA780 80240680 A643008E */ sh $v1, 0x8e($s2) +/* 8DA784 80240684 8E2200CC */ lw $v0, 0xcc($s1) +/* 8DA788 80240688 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 8DA78C 8024068C 8C42000C */ lw $v0, 0xc($v0) +/* 8DA790 80240690 AE420028 */ sw $v0, 0x28($s2) +/* 8DA794 80240694 C600000C */ lwc1 $f0, 0xc($s0) +/* 8DA798 80240698 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8DA79C 8024069C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8DA7A0 802406A0 E6400018 */ swc1 $f0, 0x18($s2) +/* 8DA7A4 802406A4 8C460028 */ lw $a2, 0x28($v0) +/* 8DA7A8 802406A8 0C00A720 */ jal atan2 +/* 8DA7AC 802406AC 8C470030 */ lw $a3, 0x30($v0) +/* 8DA7B0 802406B0 46000506 */ mov.s $f20, $f0 +/* 8DA7B4 802406B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* 8DA7B8 802406B8 0C00A70A */ jal get_clamped_angle_diff +/* 8DA7BC 802406BC 4600A386 */ mov.s $f14, $f20 +/* 8DA7C0 802406C0 46000086 */ mov.s $f2, $f0 +/* 8DA7C4 802406C4 8E020010 */ lw $v0, 0x10($s0) +/* 8DA7C8 802406C8 46001005 */ abs.s $f0, $f2 +/* 8DA7CC 802406CC 44822000 */ mtc1 $v0, $f4 +/* 8DA7D0 802406D0 00000000 */ nop +/* 8DA7D4 802406D4 46802120 */ cvt.s.w $f4, $f4 +/* 8DA7D8 802406D8 4600203C */ c.lt.s $f4, $f0 +/* 8DA7DC 802406DC 00000000 */ nop +/* 8DA7E0 802406E0 4500000D */ bc1f .L80240718 +/* 8DA7E4 802406E4 00000000 */ nop +/* 8DA7E8 802406E8 44800000 */ mtc1 $zero, $f0 +/* 8DA7EC 802406EC C654000C */ lwc1 $f20, 0xc($s2) +/* 8DA7F0 802406F0 4600103C */ c.lt.s $f2, $f0 +/* 8DA7F4 802406F4 00000000 */ nop +/* 8DA7F8 802406F8 45000006 */ bc1f .L80240714 +/* 8DA7FC 802406FC 00021023 */ negu $v0, $v0 +/* 8DA800 80240700 44820000 */ mtc1 $v0, $f0 +/* 8DA804 80240704 00000000 */ nop +/* 8DA808 80240708 46800020 */ cvt.s.w $f0, $f0 +/* 8DA80C 8024070C 080901C6 */ j .L80240718 +/* 8DA810 80240710 4600A500 */ add.s $f20, $f20, $f0 +.L80240714: +/* 8DA814 80240714 4604A500 */ add.s $f20, $f20, $f4 +.L80240718: +/* 8DA818 80240718 0C00A6C9 */ jal clamp_angle +/* 8DA81C 8024071C 4600A306 */ mov.s $f12, $f20 +/* 8DA820 80240720 2402000D */ addiu $v0, $zero, 0xd +/* 8DA824 80240724 E640000C */ swc1 $f0, 0xc($s2) +/* 8DA828 80240728 AE620070 */ sw $v0, 0x70($s3) +/* 8DA82C 8024072C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8DA830 80240730 8FB3001C */ lw $s3, 0x1c($sp) +/* 8DA834 80240734 8FB20018 */ lw $s2, 0x18($sp) +/* 8DA838 80240738 8FB10014 */ lw $s1, 0x14($sp) +/* 8DA83C 8024073C 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA840 80240740 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8DA844 80240744 03E00008 */ jr $ra +/* 8DA848 80240748 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_8024074C_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024074C_8DA100.s new file mode 100644 index 0000000000..6d12212740 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024074C_8DA100.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024074C_8DA84C +/* 8DA84C 8024074C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8DA850 80240750 AFB3003C */ sw $s3, 0x3c($sp) +/* 8DA854 80240754 0080982D */ daddu $s3, $a0, $zero +/* 8DA858 80240758 AFBF0040 */ sw $ra, 0x40($sp) +/* 8DA85C 8024075C AFB20038 */ sw $s2, 0x38($sp) +/* 8DA860 80240760 AFB10034 */ sw $s1, 0x34($sp) +/* 8DA864 80240764 AFB00030 */ sw $s0, 0x30($sp) +/* 8DA868 80240768 8E720148 */ lw $s2, 0x148($s3) +/* 8DA86C 8024076C 00A0882D */ daddu $s1, $a1, $zero +/* 8DA870 80240770 86440008 */ lh $a0, 8($s2) +/* 8DA874 80240774 0C00EABB */ jal get_npc_unsafe +/* 8DA878 80240778 00C0802D */ daddu $s0, $a2, $zero +/* 8DA87C 8024077C 0200202D */ daddu $a0, $s0, $zero +/* 8DA880 80240780 0240282D */ daddu $a1, $s2, $zero +/* 8DA884 80240784 24030001 */ addiu $v1, $zero, 1 +/* 8DA888 80240788 AFA30010 */ sw $v1, 0x10($sp) +/* 8DA88C 8024078C 8E260018 */ lw $a2, 0x18($s1) +/* 8DA890 80240790 8E27001C */ lw $a3, 0x1c($s1) +/* 8DA894 80240794 0C01242D */ jal func_800490B4 +/* 8DA898 80240798 0040802D */ daddu $s0, $v0, $zero +/* 8DA89C 8024079C 1440001D */ bnez $v0, .L80240814 +/* 8DA8A0 802407A0 24040002 */ addiu $a0, $zero, 2 +/* 8DA8A4 802407A4 0200282D */ daddu $a1, $s0, $zero +/* 8DA8A8 802407A8 0000302D */ daddu $a2, $zero, $zero +/* 8DA8AC 802407AC 860300A8 */ lh $v1, 0xa8($s0) +/* 8DA8B0 802407B0 3C013F80 */ lui $at, 0x3f80 +/* 8DA8B4 802407B4 44810000 */ mtc1 $at, $f0 +/* 8DA8B8 802407B8 3C014000 */ lui $at, 0x4000 +/* 8DA8BC 802407BC 44811000 */ mtc1 $at, $f2 +/* 8DA8C0 802407C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 8DA8C4 802407C4 44812000 */ mtc1 $at, $f4 +/* 8DA8C8 802407C8 2402000F */ addiu $v0, $zero, 0xf +/* 8DA8CC 802407CC AFA2001C */ sw $v0, 0x1c($sp) +/* 8DA8D0 802407D0 44833000 */ mtc1 $v1, $f6 +/* 8DA8D4 802407D4 00000000 */ nop +/* 8DA8D8 802407D8 468031A0 */ cvt.s.w $f6, $f6 +/* 8DA8DC 802407DC 44073000 */ mfc1 $a3, $f6 +/* 8DA8E0 802407E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 8DA8E4 802407E4 AFA20020 */ sw $v0, 0x20($sp) +/* 8DA8E8 802407E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8DA8EC 802407EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 8DA8F0 802407F0 0C01BFA4 */ jal fx_emote +/* 8DA8F4 802407F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8DA8F8 802407F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 8DA8FC 802407FC 8C430000 */ lw $v1, ($v0) +/* 8DA900 80240800 24020019 */ addiu $v0, $zero, 0x19 +/* 8DA904 80240804 A602008E */ sh $v0, 0x8e($s0) +/* 8DA908 80240808 2402000E */ addiu $v0, $zero, 0xe +/* 8DA90C 8024080C 08090212 */ j .L80240848 +/* 8DA910 80240810 AE030028 */ sw $v1, 0x28($s0) +.L80240814: +/* 8DA914 80240814 8E050018 */ lw $a1, 0x18($s0) +/* 8DA918 80240818 8E06000C */ lw $a2, 0xc($s0) +/* 8DA91C 8024081C 0C00EA95 */ jal npc_move_heading +/* 8DA920 80240820 0200202D */ daddu $a0, $s0, $zero +/* 8DA924 80240824 0200202D */ daddu $a0, $s0, $zero +/* 8DA928 80240828 0C00F598 */ jal func_8003D660 +/* 8DA92C 8024082C 24050001 */ addiu $a1, $zero, 1 +/* 8DA930 80240830 9602008E */ lhu $v0, 0x8e($s0) +/* 8DA934 80240834 2442FFFF */ addiu $v0, $v0, -1 +/* 8DA938 80240838 A602008E */ sh $v0, 0x8e($s0) +/* 8DA93C 8024083C 00021400 */ sll $v0, $v0, 0x10 +/* 8DA940 80240840 14400002 */ bnez $v0, .L8024084C +/* 8DA944 80240844 2402000C */ addiu $v0, $zero, 0xc +.L80240848: +/* 8DA948 80240848 AE620070 */ sw $v0, 0x70($s3) +.L8024084C: +/* 8DA94C 8024084C 8FBF0040 */ lw $ra, 0x40($sp) +/* 8DA950 80240850 8FB3003C */ lw $s3, 0x3c($sp) +/* 8DA954 80240854 8FB20038 */ lw $s2, 0x38($sp) +/* 8DA958 80240858 8FB10034 */ lw $s1, 0x34($sp) +/* 8DA95C 8024085C 8FB00030 */ lw $s0, 0x30($sp) +/* 8DA960 80240860 03E00008 */ jr $ra +/* 8DA964 80240864 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240868.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240868.s new file mode 100644 index 0000000000..5c4159c95b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240868.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240868 +/* 8DA968 80240868 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DA96C 8024086C AFB00010 */ sw $s0, 0x10($sp) +/* 8DA970 80240870 0080802D */ daddu $s0, $a0, $zero +/* 8DA974 80240874 AFBF0014 */ sw $ra, 0x14($sp) +/* 8DA978 80240878 8E020148 */ lw $v0, 0x148($s0) +/* 8DA97C 8024087C 0C00EABB */ jal get_npc_unsafe +/* 8DA980 80240880 84440008 */ lh $a0, 8($v0) +/* 8DA984 80240884 9443008E */ lhu $v1, 0x8e($v0) +/* 8DA988 80240888 2463FFFF */ addiu $v1, $v1, -1 +/* 8DA98C 8024088C A443008E */ sh $v1, 0x8e($v0) +/* 8DA990 80240890 00031C00 */ sll $v1, $v1, 0x10 +/* 8DA994 80240894 14600002 */ bnez $v1, .L802408A0 +/* 8DA998 80240898 2402000F */ addiu $v0, $zero, 0xf +/* 8DA99C 8024089C AE020070 */ sw $v0, 0x70($s0) +.L802408A0: +/* 8DA9A0 802408A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DA9A4 802408A4 8FB00010 */ lw $s0, 0x10($sp) +/* 8DA9A8 802408A8 03E00008 */ jr $ra +/* 8DA9AC 802408AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_802408B0.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_802408B0.s new file mode 100644 index 0000000000..a934189912 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_802408B0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B0 +/* 8DA9B0 802408B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8DA9B4 802408B4 AFB10014 */ sw $s1, 0x14($sp) +/* 8DA9B8 802408B8 0080882D */ daddu $s1, $a0, $zero +/* 8DA9BC 802408BC AFBF001C */ sw $ra, 0x1c($sp) +/* 8DA9C0 802408C0 AFB20018 */ sw $s2, 0x18($sp) +/* 8DA9C4 802408C4 AFB00010 */ sw $s0, 0x10($sp) +/* 8DA9C8 802408C8 8E300148 */ lw $s0, 0x148($s1) +/* 8DA9CC 802408CC 86040008 */ lh $a0, 8($s0) +/* 8DA9D0 802408D0 0C00EABB */ jal get_npc_unsafe +/* 8DA9D4 802408D4 00A0902D */ daddu $s2, $a1, $zero +/* 8DA9D8 802408D8 8E0300CC */ lw $v1, 0xcc($s0) +/* 8DA9DC 802408DC 8C630004 */ lw $v1, 4($v1) +/* 8DA9E0 802408E0 0040202D */ daddu $a0, $v0, $zero +/* 8DA9E4 802408E4 AC830028 */ sw $v1, 0x28($a0) +/* 8DA9E8 802408E8 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8DA9EC 802408EC 8C420014 */ lw $v0, 0x14($v0) +/* 8DA9F0 802408F0 04410009 */ bgez $v0, .L80240918 +/* 8DA9F4 802408F4 00000000 */ nop +/* 8DA9F8 802408F8 C640000C */ lwc1 $f0, 0xc($s2) +/* 8DA9FC 802408FC 3C018025 */ lui $at, 0x8025 +/* 8DAA00 80240900 D42210B8 */ ldc1 $f2, 0x10b8($at) +/* 8DAA04 80240904 46000021 */ cvt.d.s $f0, $f0 +/* 8DAA08 80240908 46220002 */ mul.d $f0, $f0, $f2 +/* 8DAA0C 8024090C 00000000 */ nop +/* 8DAA10 80240910 0809024D */ j .L80240934 +/* 8DAA14 80240914 46200020 */ cvt.s.d $f0, $f0 +.L80240918: +/* 8DAA18 80240918 3C018025 */ lui $at, 0x8025 +/* 8DAA1C 8024091C D42210C0 */ ldc1 $f2, 0x10c0($at) +/* 8DAA20 80240920 44820000 */ mtc1 $v0, $f0 +/* 8DAA24 80240924 00000000 */ nop +/* 8DAA28 80240928 46800021 */ cvt.d.w $f0, $f0 +/* 8DAA2C 8024092C 46220003 */ div.d $f0, $f0, $f2 +/* 8DAA30 80240930 46200020 */ cvt.s.d $f0, $f0 +.L80240934: +/* 8DAA34 80240934 E4800018 */ swc1 $f0, 0x18($a0) +/* 8DAA38 80240938 24020010 */ addiu $v0, $zero, 0x10 +/* 8DAA3C 8024093C AE200074 */ sw $zero, 0x74($s1) +/* 8DAA40 80240940 AE220070 */ sw $v0, 0x70($s1) +/* 8DAA44 80240944 8FBF001C */ lw $ra, 0x1c($sp) +/* 8DAA48 80240948 8FB20018 */ lw $s2, 0x18($sp) +/* 8DAA4C 8024094C 8FB10014 */ lw $s1, 0x14($sp) +/* 8DAA50 80240950 8FB00010 */ lw $s0, 0x10($sp) +/* 8DAA54 80240954 03E00008 */ jr $ra +/* 8DAA58 80240958 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_8024095C.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024095C.s new file mode 100644 index 0000000000..aebb910885 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_8024095C.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C +/* 8DAA5C 8024095C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8DAA60 80240960 AFB3003C */ sw $s3, 0x3c($sp) +/* 8DAA64 80240964 0080982D */ daddu $s3, $a0, $zero +/* 8DAA68 80240968 AFBF0044 */ sw $ra, 0x44($sp) +/* 8DAA6C 8024096C AFB40040 */ sw $s4, 0x40($sp) +/* 8DAA70 80240970 AFB20038 */ sw $s2, 0x38($sp) +/* 8DAA74 80240974 AFB10034 */ sw $s1, 0x34($sp) +/* 8DAA78 80240978 AFB00030 */ sw $s0, 0x30($sp) +/* 8DAA7C 8024097C 8E710148 */ lw $s1, 0x148($s3) +/* 8DAA80 80240980 00A0902D */ daddu $s2, $a1, $zero +/* 8DAA84 80240984 86240008 */ lh $a0, 8($s1) +/* 8DAA88 80240988 0C00EABB */ jal get_npc_unsafe +/* 8DAA8C 8024098C 00C0A02D */ daddu $s4, $a2, $zero +/* 8DAA90 80240990 8E430008 */ lw $v1, 8($s2) +/* 8DAA94 80240994 0460003B */ bltz $v1, .L80240A84 +/* 8DAA98 80240998 0040802D */ daddu $s0, $v0, $zero +/* 8DAA9C 8024099C 8E620074 */ lw $v0, 0x74($s3) +/* 8DAAA0 802409A0 1C400037 */ bgtz $v0, .L80240A80 +/* 8DAAA4 802409A4 2442FFFF */ addiu $v0, $v0, -1 +/* 8DAAA8 802409A8 0280202D */ daddu $a0, $s4, $zero +/* 8DAAAC 802409AC AE630074 */ sw $v1, 0x74($s3) +/* 8DAAB0 802409B0 AFA00010 */ sw $zero, 0x10($sp) +/* 8DAAB4 802409B4 8E460018 */ lw $a2, 0x18($s2) +/* 8DAAB8 802409B8 8E47001C */ lw $a3, 0x1c($s2) +/* 8DAABC 802409BC 0C01242D */ jal func_800490B4 +/* 8DAAC0 802409C0 0220282D */ daddu $a1, $s1, $zero +/* 8DAAC4 802409C4 1040002C */ beqz $v0, .L80240A78 +/* 8DAAC8 802409C8 0000202D */ daddu $a0, $zero, $zero +/* 8DAACC 802409CC 0200282D */ daddu $a1, $s0, $zero +/* 8DAAD0 802409D0 0000302D */ daddu $a2, $zero, $zero +/* 8DAAD4 802409D4 860300A8 */ lh $v1, 0xa8($s0) +/* 8DAAD8 802409D8 3C013F80 */ lui $at, 0x3f80 +/* 8DAADC 802409DC 44810000 */ mtc1 $at, $f0 +/* 8DAAE0 802409E0 3C014000 */ lui $at, 0x4000 +/* 8DAAE4 802409E4 44811000 */ mtc1 $at, $f2 +/* 8DAAE8 802409E8 3C01C1A0 */ lui $at, 0xc1a0 +/* 8DAAEC 802409EC 44812000 */ mtc1 $at, $f4 +/* 8DAAF0 802409F0 2402000F */ addiu $v0, $zero, 0xf +/* 8DAAF4 802409F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 8DAAF8 802409F8 44833000 */ mtc1 $v1, $f6 +/* 8DAAFC 802409FC 00000000 */ nop +/* 8DAB00 80240A00 468031A0 */ cvt.s.w $f6, $f6 +/* 8DAB04 80240A04 44073000 */ mfc1 $a3, $f6 +/* 8DAB08 80240A08 27A20028 */ addiu $v0, $sp, 0x28 +/* 8DAB0C 80240A0C AFA20020 */ sw $v0, 0x20($sp) +/* 8DAB10 80240A10 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8DAB14 80240A14 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8DAB18 80240A18 0C01BFA4 */ jal fx_emote +/* 8DAB1C 80240A1C E7A40018 */ swc1 $f4, 0x18($sp) +/* 8DAB20 80240A20 0200202D */ daddu $a0, $s0, $zero +/* 8DAB24 80240A24 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 8DAB28 80240A28 0C012530 */ jal func_800494C0 +/* 8DAB2C 80240A2C 3C060020 */ lui $a2, 0x20 +/* 8DAB30 80240A30 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8DAB34 80240A34 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8DAB38 80240A38 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8DAB3C 80240A3C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8DAB40 80240A40 8C460028 */ lw $a2, 0x28($v0) +/* 8DAB44 80240A44 0C00A720 */ jal atan2 +/* 8DAB48 80240A48 8C470030 */ lw $a3, 0x30($v0) +/* 8DAB4C 80240A4C E600000C */ swc1 $f0, 0xc($s0) +/* 8DAB50 80240A50 8E220018 */ lw $v0, 0x18($s1) +/* 8DAB54 80240A54 9442002A */ lhu $v0, 0x2a($v0) +/* 8DAB58 80240A58 30420001 */ andi $v0, $v0, 1 +/* 8DAB5C 80240A5C 10400003 */ beqz $v0, .L80240A6C +/* 8DAB60 80240A60 2402000A */ addiu $v0, $zero, 0xa +/* 8DAB64 80240A64 080902D1 */ j .L80240B44 +/* 8DAB68 80240A68 AE620070 */ sw $v0, 0x70($s3) +.L80240A6C: +/* 8DAB6C 80240A6C 2402000C */ addiu $v0, $zero, 0xc +/* 8DAB70 80240A70 080902D1 */ j .L80240B44 +/* 8DAB74 80240A74 AE620070 */ sw $v0, 0x70($s3) +.L80240A78: +/* 8DAB78 80240A78 8E620074 */ lw $v0, 0x74($s3) +/* 8DAB7C 80240A7C 2442FFFF */ addiu $v0, $v0, -1 +.L80240A80: +/* 8DAB80 80240A80 AE620074 */ sw $v0, 0x74($s3) +.L80240A84: +/* 8DAB84 80240A84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8DAB88 80240A88 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DAB8C 80240A8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8DAB90 80240A90 C4460000 */ lwc1 $f6, ($v0) +/* 8DAB94 80240A94 468031A0 */ cvt.s.w $f6, $f6 +/* 8DAB98 80240A98 44063000 */ mfc1 $a2, $f6 +/* 8DAB9C 80240A9C C4460008 */ lwc1 $f6, 8($v0) +/* 8DABA0 80240AA0 468031A0 */ cvt.s.w $f6, $f6 +/* 8DABA4 80240AA4 44073000 */ mfc1 $a3, $f6 +/* 8DABA8 80240AA8 0C00A7B5 */ jal dist2D +/* 8DABAC 80240AAC 00000000 */ nop +/* 8DABB0 80240AB0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 8DABB4 80240AB4 4602003C */ c.lt.s $f0, $f2 +/* 8DABB8 80240AB8 00000000 */ nop +/* 8DABBC 80240ABC 4500000E */ bc1f .L80240AF8 +/* 8DABC0 80240AC0 00000000 */ nop +/* 8DABC4 80240AC4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DABC8 80240AC8 C4400000 */ lwc1 $f0, ($v0) +/* 8DABCC 80240ACC 46800020 */ cvt.s.w $f0, $f0 +/* 8DABD0 80240AD0 E6000038 */ swc1 $f0, 0x38($s0) +/* 8DABD4 80240AD4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DABD8 80240AD8 C4400008 */ lwc1 $f0, 8($v0) +/* 8DABDC 80240ADC 46800020 */ cvt.s.w $f0, $f0 +/* 8DABE0 80240AE0 E6000040 */ swc1 $f0, 0x40($s0) +/* 8DABE4 80240AE4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DABE8 80240AE8 C440000C */ lwc1 $f0, 0xc($v0) +/* 8DABEC 80240AEC 46800020 */ cvt.s.w $f0, $f0 +/* 8DABF0 80240AF0 E600000C */ swc1 $f0, 0xc($s0) +/* 8DABF4 80240AF4 AE600070 */ sw $zero, 0x70($s3) +.L80240AF8: +/* 8DABF8 80240AF8 8602008C */ lh $v0, 0x8c($s0) +/* 8DABFC 80240AFC 14400011 */ bnez $v0, .L80240B44 +/* 8DAC00 80240B00 00000000 */ nop +/* 8DAC04 80240B04 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8DAC08 80240B08 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8DAC0C 80240B0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8DAC10 80240B10 C4460000 */ lwc1 $f6, ($v0) +/* 8DAC14 80240B14 468031A0 */ cvt.s.w $f6, $f6 +/* 8DAC18 80240B18 44063000 */ mfc1 $a2, $f6 +/* 8DAC1C 80240B1C C4460008 */ lwc1 $f6, 8($v0) +/* 8DAC20 80240B20 468031A0 */ cvt.s.w $f6, $f6 +/* 8DAC24 80240B24 44073000 */ mfc1 $a3, $f6 +/* 8DAC28 80240B28 0C00A720 */ jal atan2 +/* 8DAC2C 80240B2C 00000000 */ nop +/* 8DAC30 80240B30 8E050018 */ lw $a1, 0x18($s0) +/* 8DAC34 80240B34 44060000 */ mfc1 $a2, $f0 +/* 8DAC38 80240B38 0200202D */ daddu $a0, $s0, $zero +/* 8DAC3C 80240B3C 0C00EA95 */ jal npc_move_heading +/* 8DAC40 80240B40 AC86000C */ sw $a2, 0xc($a0) +.L80240B44: +/* 8DAC44 80240B44 8FBF0044 */ lw $ra, 0x44($sp) +/* 8DAC48 80240B48 8FB40040 */ lw $s4, 0x40($sp) +/* 8DAC4C 80240B4C 8FB3003C */ lw $s3, 0x3c($sp) +/* 8DAC50 80240B50 8FB20038 */ lw $s2, 0x38($sp) +/* 8DAC54 80240B54 8FB10034 */ lw $s1, 0x34($sp) +/* 8DAC58 80240B58 8FB00030 */ lw $s0, 0x30($sp) +/* 8DAC5C 80240B5C 03E00008 */ jr $ra +/* 8DAC60 80240B60 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240B64.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240B64.s new file mode 100644 index 0000000000..6ad111bc73 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240B64.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B64 +/* 8DAC64 80240B64 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8DAC68 80240B68 AFB40040 */ sw $s4, 0x40($sp) +/* 8DAC6C 80240B6C 0080A02D */ daddu $s4, $a0, $zero +/* 8DAC70 80240B70 AFBF0048 */ sw $ra, 0x48($sp) +/* 8DAC74 80240B74 AFB50044 */ sw $s5, 0x44($sp) +/* 8DAC78 80240B78 AFB3003C */ sw $s3, 0x3c($sp) +/* 8DAC7C 80240B7C AFB20038 */ sw $s2, 0x38($sp) +/* 8DAC80 80240B80 AFB10034 */ sw $s1, 0x34($sp) +/* 8DAC84 80240B84 AFB00030 */ sw $s0, 0x30($sp) +/* 8DAC88 80240B88 8E920148 */ lw $s2, 0x148($s4) +/* 8DAC8C 80240B8C 86440008 */ lh $a0, 8($s2) +/* 8DAC90 80240B90 8E90000C */ lw $s0, 0xc($s4) +/* 8DAC94 80240B94 0C00EABB */ jal get_npc_unsafe +/* 8DAC98 80240B98 00A0882D */ daddu $s1, $a1, $zero +/* 8DAC9C 80240B9C 0280202D */ daddu $a0, $s4, $zero +/* 8DACA0 80240BA0 8E050000 */ lw $a1, ($s0) +/* 8DACA4 80240BA4 0C0B1EAF */ jal get_variable +/* 8DACA8 80240BA8 0040802D */ daddu $s0, $v0, $zero +/* 8DACAC 80240BAC AFA00010 */ sw $zero, 0x10($sp) +/* 8DACB0 80240BB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8DACB4 80240BB4 8C630030 */ lw $v1, 0x30($v1) +/* 8DACB8 80240BB8 AFA30014 */ sw $v1, 0x14($sp) +/* 8DACBC 80240BBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8DACC0 80240BC0 8C63001C */ lw $v1, 0x1c($v1) +/* 8DACC4 80240BC4 AFA30018 */ sw $v1, 0x18($sp) +/* 8DACC8 80240BC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8DACCC 80240BCC 8C630024 */ lw $v1, 0x24($v1) +/* 8DACD0 80240BD0 AFA3001C */ sw $v1, 0x1c($sp) +/* 8DACD4 80240BD4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8DACD8 80240BD8 8C630028 */ lw $v1, 0x28($v1) +/* 8DACDC 80240BDC 27B50010 */ addiu $s5, $sp, 0x10 +/* 8DACE0 80240BE0 AFA30020 */ sw $v1, 0x20($sp) +/* 8DACE4 80240BE4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 8DACE8 80240BE8 3C014282 */ lui $at, 0x4282 +/* 8DACEC 80240BEC 44810000 */ mtc1 $at, $f0 +/* 8DACF0 80240BF0 8C63002C */ lw $v1, 0x2c($v1) +/* 8DACF4 80240BF4 0040982D */ daddu $s3, $v0, $zero +/* 8DACF8 80240BF8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 8DACFC 80240BFC A7A0002C */ sh $zero, 0x2c($sp) +/* 8DAD00 80240C00 16200005 */ bnez $s1, .L80240C18 +/* 8DAD04 80240C04 AFA30024 */ sw $v1, 0x24($sp) +/* 8DAD08 80240C08 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8DAD0C 80240C0C 30420004 */ andi $v0, $v0, 4 +/* 8DAD10 80240C10 1040002F */ beqz $v0, .L80240CD0 +/* 8DAD14 80240C14 00000000 */ nop +.L80240C18: +/* 8DAD18 80240C18 AE800070 */ sw $zero, 0x70($s4) +/* 8DAD1C 80240C1C C600000C */ lwc1 $f0, 0xc($s0) +/* 8DAD20 80240C20 A600008E */ sh $zero, 0x8e($s0) +/* 8DAD24 80240C24 8E4200CC */ lw $v0, 0xcc($s2) +/* 8DAD28 80240C28 4600008D */ trunc.w.s $f2, $f0 +/* 8DAD2C 80240C2C E642006C */ swc1 $f2, 0x6c($s2) +/* 8DAD30 80240C30 8C420000 */ lw $v0, ($v0) +/* 8DAD34 80240C34 8E030000 */ lw $v1, ($s0) +/* 8DAD38 80240C38 AE020028 */ sw $v0, 0x28($s0) +/* 8DAD3C 80240C3C 2402F7FF */ addiu $v0, $zero, -0x801 +/* 8DAD40 80240C40 00621824 */ and $v1, $v1, $v0 +/* 8DAD44 80240C44 AE030000 */ sw $v1, ($s0) +/* 8DAD48 80240C48 8E4200D0 */ lw $v0, 0xd0($s2) +/* 8DAD4C 80240C4C 8C420034 */ lw $v0, 0x34($v0) +/* 8DAD50 80240C50 54400005 */ bnel $v0, $zero, .L80240C68 +/* 8DAD54 80240C54 2402FDFF */ addiu $v0, $zero, -0x201 +/* 8DAD58 80240C58 34620200 */ ori $v0, $v1, 0x200 +/* 8DAD5C 80240C5C 2403FFF7 */ addiu $v1, $zero, -9 +/* 8DAD60 80240C60 0809031C */ j .L80240C70 +/* 8DAD64 80240C64 00431024 */ and $v0, $v0, $v1 +.L80240C68: +/* 8DAD68 80240C68 00621024 */ and $v0, $v1, $v0 +/* 8DAD6C 80240C6C 34420008 */ ori $v0, $v0, 8 +.L80240C70: +/* 8DAD70 80240C70 AE020000 */ sw $v0, ($s0) +/* 8DAD74 80240C74 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8DAD78 80240C78 30420004 */ andi $v0, $v0, 4 +/* 8DAD7C 80240C7C 10400009 */ beqz $v0, .L80240CA4 +/* 8DAD80 80240C80 24020063 */ addiu $v0, $zero, 0x63 +/* 8DAD84 80240C84 AE820070 */ sw $v0, 0x70($s4) +/* 8DAD88 80240C88 2402000F */ addiu $v0, $zero, 0xf +/* 8DAD8C 80240C8C AE820074 */ sw $v0, 0x74($s4) +/* 8DAD90 80240C90 8E4200B0 */ lw $v0, 0xb0($s2) +/* 8DAD94 80240C94 2403FFFB */ addiu $v1, $zero, -5 +/* 8DAD98 80240C98 00431024 */ and $v0, $v0, $v1 +/* 8DAD9C 80240C9C 08090334 */ j .L80240CD0 +/* 8DADA0 80240CA0 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240CA4: +/* 8DADA4 80240CA4 8E420000 */ lw $v0, ($s2) +/* 8DADA8 80240CA8 3C034000 */ lui $v1, 0x4000 +/* 8DADAC 80240CAC 00431024 */ and $v0, $v0, $v1 +/* 8DADB0 80240CB0 10400007 */ beqz $v0, .L80240CD0 +/* 8DADB4 80240CB4 3C03BFFF */ lui $v1, 0xbfff +/* 8DADB8 80240CB8 2402000C */ addiu $v0, $zero, 0xc +/* 8DADBC 80240CBC AE820070 */ sw $v0, 0x70($s4) +/* 8DADC0 80240CC0 8E420000 */ lw $v0, ($s2) +/* 8DADC4 80240CC4 3463FFFF */ ori $v1, $v1, 0xffff +/* 8DADC8 80240CC8 00431024 */ and $v0, $v0, $v1 +/* 8DADCC 80240CCC AE420000 */ sw $v0, ($s2) +.L80240CD0: +/* 8DADD0 80240CD0 8E830070 */ lw $v1, 0x70($s4) +/* 8DADD4 80240CD4 2C620064 */ sltiu $v0, $v1, 0x64 +/* 8DADD8 80240CD8 10400036 */ beqz $v0, .L80240DB4 +/* 8DADDC 80240CDC 00031080 */ sll $v0, $v1, 2 +/* 8DADE0 80240CE0 3C018025 */ lui $at, 0x8025 +/* 8DADE4 80240CE4 00220821 */ addu $at, $at, $v0 +/* 8DADE8 80240CE8 8C2210C8 */ lw $v0, 0x10c8($at) +/* 8DADEC 80240CEC 00400008 */ jr $v0 +/* 8DADF0 80240CF0 00000000 */ nop +/* 8DADF4 80240CF4 0280202D */ daddu $a0, $s4, $zero +/* 8DADF8 80240CF8 0260282D */ daddu $a1, $s3, $zero +/* 8DADFC 80240CFC 0C0900DC */ jal func_80240370 +/* 8DAE00 80240D00 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE04 80240D04 0280202D */ daddu $a0, $s4, $zero +/* 8DAE08 80240D08 0260282D */ daddu $a1, $s3, $zero +/* 8DAE0C 80240D0C 0C090109 */ jal func_80240424 +/* 8DAE10 80240D10 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE14 80240D14 0809036D */ j .L80240DB4 +/* 8DAE18 80240D18 00000000 */ nop +/* 8DAE1C 80240D1C 0280202D */ daddu $a0, $s4, $zero +/* 8DAE20 80240D20 0260282D */ daddu $a1, $s3, $zero +/* 8DAE24 80240D24 0C090151 */ jal func_80240544 +/* 8DAE28 80240D28 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE2C 80240D2C 0280202D */ daddu $a0, $s4, $zero +/* 8DAE30 80240D30 0260282D */ daddu $a1, $s3, $zero +/* 8DAE34 80240D34 0C090169 */ jal func_802405A4 +/* 8DAE38 80240D38 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE3C 80240D3C 0809036D */ j .L80240DB4 +/* 8DAE40 80240D40 00000000 */ nop +/* 8DAE44 80240D44 0280202D */ daddu $a0, $s4, $zero +/* 8DAE48 80240D48 0260282D */ daddu $a1, $s3, $zero +/* 8DAE4C 80240D4C 0C090187 */ jal func_8024061C +/* 8DAE50 80240D50 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE54 80240D54 0280202D */ daddu $a0, $s4, $zero +/* 8DAE58 80240D58 0260282D */ daddu $a1, $s3, $zero +/* 8DAE5C 80240D5C 0C0901D3 */ jal func_8024074C +/* 8DAE60 80240D60 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE64 80240D64 0809036D */ j .L80240DB4 +/* 8DAE68 80240D68 00000000 */ nop +/* 8DAE6C 80240D6C 0280202D */ daddu $a0, $s4, $zero +/* 8DAE70 80240D70 0260282D */ daddu $a1, $s3, $zero +/* 8DAE74 80240D74 0C09021A */ jal func_80240868 +/* 8DAE78 80240D78 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE7C 80240D7C 0809036D */ j .L80240DB4 +/* 8DAE80 80240D80 00000000 */ nop +/* 8DAE84 80240D84 0280202D */ daddu $a0, $s4, $zero +/* 8DAE88 80240D88 0260282D */ daddu $a1, $s3, $zero +/* 8DAE8C 80240D8C 0C09022C */ jal func_802408B0 +/* 8DAE90 80240D90 02A0302D */ daddu $a2, $s5, $zero +/* 8DAE94 80240D94 0280202D */ daddu $a0, $s4, $zero +/* 8DAE98 80240D98 0260282D */ daddu $a1, $s3, $zero +/* 8DAE9C 80240D9C 0C090257 */ jal func_8024095C +/* 8DAEA0 80240DA0 02A0302D */ daddu $a2, $s5, $zero +/* 8DAEA4 80240DA4 0809036D */ j .L80240DB4 +/* 8DAEA8 80240DA8 00000000 */ nop +/* 8DAEAC 80240DAC 0C0129CF */ jal func_8004A73C +/* 8DAEB0 80240DB0 0280202D */ daddu $a0, $s4, $zero +.L80240DB4: +/* 8DAEB4 80240DB4 8FBF0048 */ lw $ra, 0x48($sp) +/* 8DAEB8 80240DB8 8FB50044 */ lw $s5, 0x44($sp) +/* 8DAEBC 80240DBC 8FB40040 */ lw $s4, 0x40($sp) +/* 8DAEC0 80240DC0 8FB3003C */ lw $s3, 0x3c($sp) +/* 8DAEC4 80240DC4 8FB20038 */ lw $s2, 0x38($sp) +/* 8DAEC8 80240DC8 8FB10034 */ lw $s1, 0x34($sp) +/* 8DAECC 80240DCC 8FB00030 */ lw $s0, 0x30($sp) +/* 8DAED0 80240DD0 0000102D */ daddu $v0, $zero, $zero +/* 8DAED4 80240DD4 03E00008 */ jr $ra +/* 8DAED8 80240DD8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240DDC_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240DDC_8DA100.s new file mode 100644 index 0000000000..b11ff38391 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240DDC_8DA100.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DDC_8DAEDC +/* 8DAEDC 80240DDC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8DAEE0 80240DE0 AFB10014 */ sw $s1, 0x14($sp) +/* 8DAEE4 80240DE4 0080882D */ daddu $s1, $a0, $zero +/* 8DAEE8 80240DE8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8DAEEC 80240DEC AFB20018 */ sw $s2, 0x18($sp) +/* 8DAEF0 80240DF0 AFB00010 */ sw $s0, 0x10($sp) +/* 8DAEF4 80240DF4 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8DAEF8 80240DF8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8DAEFC 80240DFC 0C00EABB */ jal get_npc_unsafe +/* 8DAF00 80240E00 24040004 */ addiu $a0, $zero, 4 +/* 8DAF04 80240E04 0040802D */ daddu $s0, $v0, $zero +/* 8DAF08 80240E08 3C12800B */ lui $s2, %hi(gCameras) +/* 8DAF0C 80240E0C 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* 8DAF10 80240E10 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8DAF14 80240E14 C640006C */ lwc1 $f0, 0x6c($s2) +/* 8DAF18 80240E18 46006300 */ add.s $f12, $f12, $f0 +/* 8DAF1C 80240E1C 3C014334 */ lui $at, 0x4334 +/* 8DAF20 80240E20 4481A000 */ mtc1 $at, $f20 +/* 8DAF24 80240E24 3C014220 */ lui $at, 0x4220 +/* 8DAF28 80240E28 4481B000 */ mtc1 $at, $f22 +/* 8DAF2C 80240E2C 0C00A8BB */ jal sin_deg +/* 8DAF30 80240E30 46146300 */ add.s $f12, $f12, $f20 +/* 8DAF34 80240E34 46160002 */ mul.s $f0, $f0, $f22 +/* 8DAF38 80240E38 00000000 */ nop +/* 8DAF3C 80240E3C C6020038 */ lwc1 $f2, 0x38($s0) +/* 8DAF40 80240E40 46001080 */ add.s $f2, $f2, $f0 +/* 8DAF44 80240E44 4600110D */ trunc.w.s $f4, $f2 +/* 8DAF48 80240E48 E6240084 */ swc1 $f4, 0x84($s1) +/* 8DAF4C 80240E4C C600003C */ lwc1 $f0, 0x3c($s0) +/* 8DAF50 80240E50 3C014100 */ lui $at, 0x4100 +/* 8DAF54 80240E54 44811000 */ mtc1 $at, $f2 +/* 8DAF58 80240E58 00000000 */ nop +/* 8DAF5C 80240E5C 46020000 */ add.s $f0, $f0, $f2 +/* 8DAF60 80240E60 4600010D */ trunc.w.s $f4, $f0 +/* 8DAF64 80240E64 E6240088 */ swc1 $f4, 0x88($s1) +/* 8DAF68 80240E68 C60C000C */ lwc1 $f12, 0xc($s0) +/* 8DAF6C 80240E6C C640006C */ lwc1 $f0, 0x6c($s2) +/* 8DAF70 80240E70 46006300 */ add.s $f12, $f12, $f0 +/* 8DAF74 80240E74 0C00A8D4 */ jal cos_deg +/* 8DAF78 80240E78 46146300 */ add.s $f12, $f12, $f20 +/* 8DAF7C 80240E7C 46160002 */ mul.s $f0, $f0, $f22 +/* 8DAF80 80240E80 00000000 */ nop +/* 8DAF84 80240E84 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8DAF88 80240E88 46001081 */ sub.s $f2, $f2, $f0 +/* 8DAF8C 80240E8C 4600110D */ trunc.w.s $f4, $f2 +/* 8DAF90 80240E90 E624008C */ swc1 $f4, 0x8c($s1) +/* 8DAF94 80240E94 8FBF001C */ lw $ra, 0x1c($sp) +/* 8DAF98 80240E98 8FB20018 */ lw $s2, 0x18($sp) +/* 8DAF9C 80240E9C 8FB10014 */ lw $s1, 0x14($sp) +/* 8DAFA0 80240EA0 8FB00010 */ lw $s0, 0x10($sp) +/* 8DAFA4 80240EA4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8DAFA8 80240EA8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8DAFAC 80240EAC 24020002 */ addiu $v0, $zero, 2 +/* 8DAFB0 80240EB0 03E00008 */ jr $ra +/* 8DAFB4 80240EB4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 8DAFB8 80240EB8 00000000 */ nop +/* 8DAFBC 80240EBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240EC0.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240EC0.s new file mode 100644 index 0000000000..a5ce792081 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240EC0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EC0 +/* 8DAFC0 80240EC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8DAFC4 80240EC4 AFB00010 */ sw $s0, 0x10($sp) +/* 8DAFC8 80240EC8 0080802D */ daddu $s0, $a0, $zero +/* 8DAFCC 80240ECC AFBF0014 */ sw $ra, 0x14($sp) +/* 8DAFD0 80240ED0 0C04417A */ jal get_entity_by_index +/* 8DAFD4 80240ED4 8E0400AC */ lw $a0, 0xac($s0) +/* 8DAFD8 80240ED8 0040182D */ daddu $v1, $v0, $zero +/* 8DAFDC 80240EDC C6000084 */ lwc1 $f0, 0x84($s0) +/* 8DAFE0 80240EE0 46800020 */ cvt.s.w $f0, $f0 +/* 8DAFE4 80240EE4 E4600048 */ swc1 $f0, 0x48($v1) +/* 8DAFE8 80240EE8 C6000088 */ lwc1 $f0, 0x88($s0) +/* 8DAFEC 80240EEC 46800020 */ cvt.s.w $f0, $f0 +/* 8DAFF0 80240EF0 E460004C */ swc1 $f0, 0x4c($v1) +/* 8DAFF4 80240EF4 C600008C */ lwc1 $f0, 0x8c($s0) +/* 8DAFF8 80240EF8 46800020 */ cvt.s.w $f0, $f0 +/* 8DAFFC 80240EFC E4600050 */ swc1 $f0, 0x50($v1) +/* 8DB000 80240F00 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DB004 80240F04 8FB00010 */ lw $s0, 0x10($sp) +/* 8DB008 80240F08 24020002 */ addiu $v0, $zero, 2 +/* 8DB00C 80240F0C 03E00008 */ jr $ra +/* 8DB010 80240F10 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8DB014 80240F14 00000000 */ nop +/* 8DB018 80240F18 00000000 */ nop +/* 8DB01C 80240F1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F20_8DA100.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F20_8DA100.s new file mode 100644 index 0000000000..4c28a46ee3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F20_8DA100.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_8DB020 +/* 8DB020 80240F20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8DB024 80240F24 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8DB028 80240F28 4485A000 */ mtc1 $a1, $f20 +/* 8DB02C 80240F2C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8DB030 80240F30 4486B000 */ mtc1 $a2, $f22 +/* 8DB034 80240F34 AFB00010 */ sw $s0, 0x10($sp) +/* 8DB038 80240F38 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8DB03C 80240F3C 4487C000 */ mtc1 $a3, $f24 +/* 8DB040 80240F40 AFBF0014 */ sw $ra, 0x14($sp) +/* 8DB044 80240F44 0C019D28 */ jal guMtxIdentF +/* 8DB048 80240F48 0080802D */ daddu $s0, $a0, $zero +/* 8DB04C 80240F4C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8DB050 80240F50 00000000 */ nop +/* 8DB054 80240F54 4618A502 */ mul.s $f20, $f20, $f24 +/* 8DB058 80240F58 00000000 */ nop +/* 8DB05C 80240F5C 3C013F80 */ lui $at, 0x3f80 +/* 8DB060 80240F60 44810000 */ mtc1 $at, $f0 +/* 8DB064 80240F64 00000000 */ nop +/* 8DB068 80240F68 E6000014 */ swc1 $f0, 0x14($s0) +/* 8DB06C 80240F6C E6160010 */ swc1 $f22, 0x10($s0) +/* 8DB070 80240F70 E6140018 */ swc1 $f20, 0x18($s0) +/* 8DB074 80240F74 8FBF0014 */ lw $ra, 0x14($sp) +/* 8DB078 80240F78 8FB00010 */ lw $s0, 0x10($sp) +/* 8DB07C 80240F7C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8DB080 80240F80 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8DB084 80240F84 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8DB088 80240F88 03E00008 */ jr $ra +/* 8DB08C 80240F8C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F90.s b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F90.s new file mode 100644 index 0000000000..acf4f03471 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_11/func_80240F90.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F90 +/* 8DB090 80240F90 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8DB094 80240F94 AFB10054 */ sw $s1, 0x54($sp) +/* 8DB098 80240F98 0080882D */ daddu $s1, $a0, $zero +/* 8DB09C 80240F9C AFBF005C */ sw $ra, 0x5c($sp) +/* 8DB0A0 80240FA0 AFB20058 */ sw $s2, 0x58($sp) +/* 8DB0A4 80240FA4 AFB00050 */ sw $s0, 0x50($sp) +/* 8DB0A8 80240FA8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8DB0AC 80240FAC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8DB0B0 80240FB0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8DB0B4 80240FB4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8DB0B8 80240FB8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8DB0BC 80240FBC 8E30000C */ lw $s0, 0xc($s1) +/* 8DB0C0 80240FC0 8E050000 */ lw $a1, ($s0) +/* 8DB0C4 80240FC4 0C0B1EAF */ jal get_variable +/* 8DB0C8 80240FC8 26100004 */ addiu $s0, $s0, 4 +/* 8DB0CC 80240FCC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8DB0D0 80240FD0 0040202D */ daddu $a0, $v0, $zero +/* 8DB0D4 80240FD4 8E050000 */ lw $a1, ($s0) +/* 8DB0D8 80240FD8 26100004 */ addiu $s0, $s0, 4 +/* 8DB0DC 80240FDC 0220202D */ daddu $a0, $s1, $zero +/* 8DB0E0 80240FE0 0C0B210B */ jal get_float_variable +/* 8DB0E4 80240FE4 0040902D */ daddu $s2, $v0, $zero +/* 8DB0E8 80240FE8 8E050000 */ lw $a1, ($s0) +/* 8DB0EC 80240FEC 26100004 */ addiu $s0, $s0, 4 +/* 8DB0F0 80240FF0 0220202D */ daddu $a0, $s1, $zero +/* 8DB0F4 80240FF4 0C0B210B */ jal get_float_variable +/* 8DB0F8 80240FF8 46000706 */ mov.s $f28, $f0 +/* 8DB0FC 80240FFC 8E050000 */ lw $a1, ($s0) +/* 8DB100 80241000 26100004 */ addiu $s0, $s0, 4 +/* 8DB104 80241004 0220202D */ daddu $a0, $s1, $zero +/* 8DB108 80241008 0C0B210B */ jal get_float_variable +/* 8DB10C 8024100C 46000686 */ mov.s $f26, $f0 +/* 8DB110 80241010 0220202D */ daddu $a0, $s1, $zero +/* 8DB114 80241014 8E050000 */ lw $a1, ($s0) +/* 8DB118 80241018 0C0B210B */ jal get_float_variable +/* 8DB11C 8024101C 46000586 */ mov.s $f22, $f0 +/* 8DB120 80241020 0240202D */ daddu $a0, $s2, $zero +/* 8DB124 80241024 0C046B4C */ jal get_model_from_list_index +/* 8DB128 80241028 46000606 */ mov.s $f24, $f0 +/* 8DB12C 8024102C 0040882D */ daddu $s1, $v0, $zero +/* 8DB130 80241030 96220000 */ lhu $v0, ($s1) +/* 8DB134 80241034 30420400 */ andi $v0, $v0, 0x400 +/* 8DB138 80241038 1440001E */ bnez $v0, .L802410B4 +/* 8DB13C 8024103C 26300058 */ addiu $s0, $s1, 0x58 +/* 8DB140 80241040 4480A000 */ mtc1 $zero, $f20 +/* 8DB144 80241044 4406B000 */ mfc1 $a2, $f22 +/* 8DB148 80241048 4405A000 */ mfc1 $a1, $f20 +/* 8DB14C 8024104C 4407A000 */ mfc1 $a3, $f20 +/* 8DB150 80241050 0C019E40 */ jal guTranslateF +/* 8DB154 80241054 0200202D */ daddu $a0, $s0, $zero +/* 8DB158 80241058 4405E000 */ mfc1 $a1, $f28 +/* 8DB15C 8024105C 4406D000 */ mfc1 $a2, $f26 +/* 8DB160 80241060 4407C000 */ mfc1 $a3, $f24 +/* 8DB164 80241064 0C0903C8 */ jal func_80240F20 +/* 8DB168 80241068 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB16C 8024106C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB170 80241070 0200282D */ daddu $a1, $s0, $zero +/* 8DB174 80241074 0C019D80 */ jal guMtxCatF +/* 8DB178 80241078 0200302D */ daddu $a2, $s0, $zero +/* 8DB17C 8024107C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB180 80241080 4600B587 */ neg.s $f22, $f22 +/* 8DB184 80241084 4405A000 */ mfc1 $a1, $f20 +/* 8DB188 80241088 4406B000 */ mfc1 $a2, $f22 +/* 8DB18C 8024108C 0C019E40 */ jal guTranslateF +/* 8DB190 80241090 00A0382D */ daddu $a3, $a1, $zero +/* 8DB194 80241094 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB198 80241098 0200282D */ daddu $a1, $s0, $zero +/* 8DB19C 8024109C 0C019D80 */ jal guMtxCatF +/* 8DB1A0 802410A0 00A0302D */ daddu $a2, $a1, $zero +/* 8DB1A4 802410A4 96220000 */ lhu $v0, ($s1) +/* 8DB1A8 802410A8 34421400 */ ori $v0, $v0, 0x1400 +/* 8DB1AC 802410AC 0809044B */ j .L8024112C +/* 8DB1B0 802410B0 A6220000 */ sh $v0, ($s1) +.L802410B4: +/* 8DB1B4 802410B4 4480A000 */ mtc1 $zero, $f20 +/* 8DB1B8 802410B8 4406B000 */ mfc1 $a2, $f22 +/* 8DB1BC 802410BC 4405A000 */ mfc1 $a1, $f20 +/* 8DB1C0 802410C0 4407A000 */ mfc1 $a3, $f20 +/* 8DB1C4 802410C4 0C019E40 */ jal guTranslateF +/* 8DB1C8 802410C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB1CC 802410CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB1D0 802410D0 26300058 */ addiu $s0, $s1, 0x58 +/* 8DB1D4 802410D4 0200282D */ daddu $a1, $s0, $zero +/* 8DB1D8 802410D8 0C019D80 */ jal guMtxCatF +/* 8DB1DC 802410DC 0200302D */ daddu $a2, $s0, $zero +/* 8DB1E0 802410E0 4405E000 */ mfc1 $a1, $f28 +/* 8DB1E4 802410E4 4406D000 */ mfc1 $a2, $f26 +/* 8DB1E8 802410E8 4407C000 */ mfc1 $a3, $f24 +/* 8DB1EC 802410EC 0C0903C8 */ jal func_80240F20 +/* 8DB1F0 802410F0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB1F4 802410F4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB1F8 802410F8 0200282D */ daddu $a1, $s0, $zero +/* 8DB1FC 802410FC 0C019D80 */ jal guMtxCatF +/* 8DB200 80241100 0200302D */ daddu $a2, $s0, $zero +/* 8DB204 80241104 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB208 80241108 4600B587 */ neg.s $f22, $f22 +/* 8DB20C 8024110C 4405A000 */ mfc1 $a1, $f20 +/* 8DB210 80241110 4406B000 */ mfc1 $a2, $f22 +/* 8DB214 80241114 0C019E40 */ jal guTranslateF +/* 8DB218 80241118 00A0382D */ daddu $a3, $a1, $zero +/* 8DB21C 8024111C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8DB220 80241120 0200282D */ daddu $a1, $s0, $zero +/* 8DB224 80241124 0C019D80 */ jal guMtxCatF +/* 8DB228 80241128 00A0302D */ daddu $a2, $a1, $zero +.L8024112C: +/* 8DB22C 8024112C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8DB230 80241130 8FB20058 */ lw $s2, 0x58($sp) +/* 8DB234 80241134 8FB10054 */ lw $s1, 0x54($sp) +/* 8DB238 80241138 8FB00050 */ lw $s0, 0x50($sp) +/* 8DB23C 8024113C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8DB240 80241140 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8DB244 80241144 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8DB248 80241148 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8DB24C 8024114C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8DB250 80241150 24020002 */ addiu $v0, $zero, 2 +/* 8DB254 80241154 03E00008 */ jr $ra +/* 8DB258 80241158 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8DB25C 8024115C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_12/func_80240000_8EB360.s b/asm/nonmatchings/world/area_kmr/kmr_12/func_80240000_8EB360.s new file mode 100644 index 0000000000..c7cc344169 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_12/func_80240000_8EB360.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8EB360 +/* 8EB360 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EB364 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8EB368 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8EB36C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 8EB370 80240010 0C00FB5A */ jal get_enemy_safe +/* 8EB374 80240014 0000202D */ daddu $a0, $zero, $zero +/* 8EB378 80240018 AE020084 */ sw $v0, 0x84($s0) +/* 8EB37C 8024001C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EB380 80240020 8FB00010 */ lw $s0, 0x10($sp) +/* 8EB384 80240024 24020002 */ addiu $v0, $zero, 2 +/* 8EB388 80240028 03E00008 */ jr $ra +/* 8EB38C 8024002C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240000_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240000_8EBE20.s new file mode 100644 index 0000000000..c08e4a3582 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240000_8EBE20.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8EBE20 +/* 8EBE20 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EBE24 80240004 0000202D */ daddu $a0, $zero, $zero +/* 8EBE28 80240008 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EBE2C 8024000C 0C01553A */ jal func_800554E8 +/* 8EBE30 80240010 240501F4 */ addiu $a1, $zero, 0x1f4 +/* 8EBE34 80240014 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EBE38 80240018 24020002 */ addiu $v0, $zero, 2 +/* 8EBE3C 8024001C 03E00008 */ jr $ra +/* 8EBE40 80240020 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8EBE44 80240024 00000000 */ nop +/* 8EBE48 80240028 00000000 */ nop +/* 8EBE4C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240030_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240030_8EBE20.s new file mode 100644 index 0000000000..073446cad6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240030_8EBE20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_8EBE50 +/* 8EBE50 80240030 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8EBE54 80240034 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8EBE58 80240038 8C430004 */ lw $v1, 4($v0) +/* 8EBE5C 8024003C 3C040010 */ lui $a0, 0x10 +/* 8EBE60 80240040 00641825 */ or $v1, $v1, $a0 +/* 8EBE64 80240044 AC430004 */ sw $v1, 4($v0) +/* 8EBE68 80240048 03E00008 */ jr $ra +/* 8EBE6C 8024004C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240050_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240050_8EBE20.s new file mode 100644 index 0000000000..5940d192c0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240050_8EBE20.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_8EBE70 +/* 8EBE70 80240050 3C028016 */ lui $v0, 0x8016 +/* 8EBE74 80240054 8442A552 */ lh $v0, -0x5aae($v0) +/* 8EBE78 80240058 AC820084 */ sw $v0, 0x84($a0) +/* 8EBE7C 8024005C 03E00008 */ jr $ra +/* 8EBE80 80240060 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240064.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240064.s new file mode 100644 index 0000000000..04e1de9a41 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240064.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240064 +/* 8EBE84 80240064 3C038016 */ lui $v1, 0x8016 +/* 8EBE88 80240068 8463A552 */ lh $v1, -0x5aae($v1) +/* 8EBE8C 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EBE90 80240070 AFB00010 */ sw $s0, 0x10($sp) +/* 8EBE94 80240074 0080802D */ daddu $s0, $a0, $zero +/* 8EBE98 80240078 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EBE9C 8024007C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8EBEA0 80240080 10620003 */ beq $v1, $v0, .L80240090 +/* 8EBEA4 80240084 24020002 */ addiu $v0, $zero, 2 +/* 8EBEA8 80240088 08090044 */ j .L80240110 +/* 8EBEAC 8024008C AE000084 */ sw $zero, 0x84($s0) +.L80240090: +/* 8EBEB0 80240090 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8EBEB4 80240094 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8EBEB8 80240098 80620040 */ lb $v0, 0x40($v1) +/* 8EBEBC 8024009C 80670044 */ lb $a3, 0x44($v1) +/* 8EBEC0 802400A0 04420001 */ bltzl $v0, .L802400A8 +/* 8EBEC4 802400A4 00021023 */ negu $v0, $v0 +.L802400A8: +/* 8EBEC8 802400A8 14400003 */ bnez $v0, .L802400B8 +/* 8EBECC 802400AC 00000000 */ nop +/* 8EBED0 802400B0 50E00017 */ beql $a3, $zero, .L80240110 +/* 8EBED4 802400B4 0000102D */ daddu $v0, $zero, $zero +.L802400B8: +/* 8EBED8 802400B8 44822000 */ mtc1 $v0, $f4 +/* 8EBEDC 802400BC 00000000 */ nop +/* 8EBEE0 802400C0 46802120 */ cvt.s.w $f4, $f4 +/* 8EBEE4 802400C4 44062000 */ mfc1 $a2, $f4 +/* 8EBEE8 802400C8 44872000 */ mtc1 $a3, $f4 +/* 8EBEEC 802400CC 00000000 */ nop +/* 8EBEF0 802400D0 46802120 */ cvt.s.w $f4, $f4 +/* 8EBEF4 802400D4 44806000 */ mtc1 $zero, $f12 +/* 8EBEF8 802400D8 44072000 */ mfc1 $a3, $f4 +/* 8EBEFC 802400DC 0C00A720 */ jal atan2 +/* 8EBF00 802400E0 46006386 */ mov.s $f14, $f12 +/* 8EBF04 802400E4 3C014270 */ lui $at, 0x4270 +/* 8EBF08 802400E8 44811000 */ mtc1 $at, $f2 +/* 8EBF0C 802400EC 00000000 */ nop +/* 8EBF10 802400F0 4602003C */ c.lt.s $f0, $f2 +/* 8EBF14 802400F4 00000000 */ nop +/* 8EBF18 802400F8 45000004 */ bc1f .L8024010C +/* 8EBF1C 802400FC 24020001 */ addiu $v0, $zero, 1 +/* 8EBF20 80240100 AE020084 */ sw $v0, 0x84($s0) +/* 8EBF24 80240104 08090044 */ j .L80240110 +/* 8EBF28 80240108 24020002 */ addiu $v0, $zero, 2 +.L8024010C: +/* 8EBF2C 8024010C 0000102D */ daddu $v0, $zero, $zero +.L80240110: +/* 8EBF30 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EBF34 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 8EBF38 80240118 03E00008 */ jr $ra +/* 8EBF3C 8024011C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240120.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240120.s new file mode 100644 index 0000000000..6d7f159d83 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240120.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120 +/* 8EBF40 80240120 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8EBF44 80240124 AFB10014 */ sw $s1, 0x14($sp) +/* 8EBF48 80240128 0080882D */ daddu $s1, $a0, $zero +/* 8EBF4C 8024012C AFBF001C */ sw $ra, 0x1c($sp) +/* 8EBF50 80240130 AFB20018 */ sw $s2, 0x18($sp) +/* 8EBF54 80240134 0C016AFA */ jal get_current_map_header +/* 8EBF58 80240138 AFB00010 */ sw $s0, 0x10($sp) +/* 8EBF5C 8024013C 0220202D */ daddu $a0, $s1, $zero +/* 8EBF60 80240140 3C05FE36 */ lui $a1, 0xfe36 +/* 8EBF64 80240144 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8EBF68 80240148 0C0B1EAF */ jal get_variable +/* 8EBF6C 8024014C 0040902D */ daddu $s2, $v0, $zero +/* 8EBF70 80240150 0220202D */ daddu $a0, $s1, $zero +/* 8EBF74 80240154 3C05FE36 */ lui $a1, 0xfe36 +/* 8EBF78 80240158 8E430014 */ lw $v1, 0x14($s2) +/* 8EBF7C 8024015C 00028100 */ sll $s0, $v0, 4 +/* 8EBF80 80240160 02031821 */ addu $v1, $s0, $v1 +/* 8EBF84 80240164 C4600000 */ lwc1 $f0, ($v1) +/* 8EBF88 80240168 4600008D */ trunc.w.s $f2, $f0 +/* 8EBF8C 8024016C 44061000 */ mfc1 $a2, $f2 +/* 8EBF90 80240170 0C0B2026 */ jal set_variable +/* 8EBF94 80240174 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8EBF98 80240178 0220202D */ daddu $a0, $s1, $zero +/* 8EBF9C 8024017C 8E420014 */ lw $v0, 0x14($s2) +/* 8EBFA0 80240180 3C05FE36 */ lui $a1, 0xfe36 +/* 8EBFA4 80240184 02021021 */ addu $v0, $s0, $v0 +/* 8EBFA8 80240188 C4400004 */ lwc1 $f0, 4($v0) +/* 8EBFAC 8024018C 4600008D */ trunc.w.s $f2, $f0 +/* 8EBFB0 80240190 44061000 */ mfc1 $a2, $f2 +/* 8EBFB4 80240194 0C0B2026 */ jal set_variable +/* 8EBFB8 80240198 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8EBFBC 8024019C 0220202D */ daddu $a0, $s1, $zero +/* 8EBFC0 802401A0 8E420014 */ lw $v0, 0x14($s2) +/* 8EBFC4 802401A4 3C05FE36 */ lui $a1, 0xfe36 +/* 8EBFC8 802401A8 02021021 */ addu $v0, $s0, $v0 +/* 8EBFCC 802401AC C4400008 */ lwc1 $f0, 8($v0) +/* 8EBFD0 802401B0 4600008D */ trunc.w.s $f2, $f0 +/* 8EBFD4 802401B4 44061000 */ mfc1 $a2, $f2 +/* 8EBFD8 802401B8 0C0B2026 */ jal set_variable +/* 8EBFDC 802401BC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8EBFE0 802401C0 0220202D */ daddu $a0, $s1, $zero +/* 8EBFE4 802401C4 8E420014 */ lw $v0, 0x14($s2) +/* 8EBFE8 802401C8 3C05FE36 */ lui $a1, 0xfe36 +/* 8EBFEC 802401CC 02028021 */ addu $s0, $s0, $v0 +/* 8EBFF0 802401D0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8EBFF4 802401D4 4600008D */ trunc.w.s $f2, $f0 +/* 8EBFF8 802401D8 44061000 */ mfc1 $a2, $f2 +/* 8EBFFC 802401DC 0C0B2026 */ jal set_variable +/* 8EC000 802401E0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8EC004 802401E4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8EC008 802401E8 8FB20018 */ lw $s2, 0x18($sp) +/* 8EC00C 802401EC 8FB10014 */ lw $s1, 0x14($sp) +/* 8EC010 802401F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8EC014 802401F4 24020002 */ addiu $v0, $zero, 2 +/* 8EC018 802401F8 03E00008 */ jr $ra +/* 8EC01C 802401FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240200.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240200.s new file mode 100644 index 0000000000..04d9188c46 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240200.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240200 +/* 8EC020 80240200 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8EC024 80240204 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8EC028 80240208 3C014334 */ lui $at, 0x4334 +/* 8EC02C 8024020C 44816000 */ mtc1 $at, $f12 +/* 8EC030 80240210 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EC034 80240214 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EC038 80240218 AFB00010 */ sw $s0, 0x10($sp) +/* 8EC03C 8024021C 00031080 */ sll $v0, $v1, 2 +/* 8EC040 80240220 00431021 */ addu $v0, $v0, $v1 +/* 8EC044 80240224 00021080 */ sll $v0, $v0, 2 +/* 8EC048 80240228 00431023 */ subu $v0, $v0, $v1 +/* 8EC04C 8024022C 000218C0 */ sll $v1, $v0, 3 +/* 8EC050 80240230 00431021 */ addu $v0, $v0, $v1 +/* 8EC054 80240234 000210C0 */ sll $v0, $v0, 3 +/* 8EC058 80240238 3C01800B */ lui $at, 0x800b +/* 8EC05C 8024023C 00220821 */ addu $at, $at, $v0 +/* 8EC060 80240240 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8EC064 80240244 460C0300 */ add.s $f12, $f0, $f12 +/* 8EC068 80240248 0C00A6C9 */ jal clamp_angle +/* 8EC06C 8024024C 0080802D */ daddu $s0, $a0, $zero +/* 8EC070 80240250 4600008D */ trunc.w.s $f2, $f0 +/* 8EC074 80240254 E6020084 */ swc1 $f2, 0x84($s0) +/* 8EC078 80240258 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EC07C 8024025C 8FB00010 */ lw $s0, 0x10($sp) +/* 8EC080 80240260 24020002 */ addiu $v0, $zero, 2 +/* 8EC084 80240264 03E00008 */ jr $ra +/* 8EC088 80240268 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_8024026C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024026C.s new file mode 100644 index 0000000000..4323b0c56b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024026C.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024026C +/* 8EC08C 8024026C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8EC090 80240270 AFB00018 */ sw $s0, 0x18($sp) +/* 8EC094 80240274 0080802D */ daddu $s0, $a0, $zero +/* 8EC098 80240278 AFBF001C */ sw $ra, 0x1c($sp) +/* 8EC09C 8024027C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8EC0A0 80240280 8E02000C */ lw $v0, 0xc($s0) +/* 8EC0A4 80240284 0C0B210B */ jal get_float_variable +/* 8EC0A8 80240288 8C450000 */ lw $a1, ($v0) +/* 8EC0AC 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC0B0 80240290 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8EC0B4 80240294 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8EC0B8 80240298 44060000 */ mfc1 $a2, $f0 +/* 8EC0BC 8024029C C4400028 */ lwc1 $f0, 0x28($v0) +/* 8EC0C0 802402A0 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8EC0C4 802402A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8EC0C8 802402A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8EC0CC 802402AC 8C470080 */ lw $a3, 0x80($v0) +/* 8EC0D0 802402B0 C454002C */ lwc1 $f20, 0x2c($v0) +/* 8EC0D4 802402B4 0C00A7E7 */ jal add_vec2D_polar +/* 8EC0D8 802402B8 27A50014 */ addiu $a1, $sp, 0x14 +/* 8EC0DC 802402BC 0200202D */ daddu $a0, $s0, $zero +/* 8EC0E0 802402C0 3C05FE36 */ lui $a1, 0xfe36 +/* 8EC0E4 802402C4 8FA60010 */ lw $a2, 0x10($sp) +/* 8EC0E8 802402C8 0C0B2190 */ jal set_float_variable +/* 8EC0EC 802402CC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8EC0F0 802402D0 0200202D */ daddu $a0, $s0, $zero +/* 8EC0F4 802402D4 3C05FE36 */ lui $a1, 0xfe36 +/* 8EC0F8 802402D8 4406A000 */ mfc1 $a2, $f20 +/* 8EC0FC 802402DC 0C0B2190 */ jal set_float_variable +/* 8EC100 802402E0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8EC104 802402E4 0200202D */ daddu $a0, $s0, $zero +/* 8EC108 802402E8 3C05FE36 */ lui $a1, 0xfe36 +/* 8EC10C 802402EC 8FA60014 */ lw $a2, 0x14($sp) +/* 8EC110 802402F0 0C0B2190 */ jal set_float_variable +/* 8EC114 802402F4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8EC118 802402F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8EC11C 802402FC 8FB00018 */ lw $s0, 0x18($sp) +/* 8EC120 80240300 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8EC124 80240304 24020002 */ addiu $v0, $zero, 2 +/* 8EC128 80240308 03E00008 */ jr $ra +/* 8EC12C 8024030C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240310_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240310_8EBE20.s new file mode 100644 index 0000000000..8fc01d24ae --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240310_8EBE20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_8EC130 +/* 8EC130 80240310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EC134 80240314 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EC138 80240318 0C04E0A8 */ jal set_map_transition_effect +/* 8EC13C 8024031C 24040004 */ addiu $a0, $zero, 4 +/* 8EC140 80240320 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EC144 80240324 24020002 */ addiu $v0, $zero, 2 +/* 8EC148 80240328 03E00008 */ jr $ra +/* 8EC14C 8024032C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240330.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240330.s new file mode 100644 index 0000000000..3f3aca6287 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240330.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240330 +/* 8EC150 80240330 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EC154 80240334 0000202D */ daddu $a0, $zero, $zero +/* 8EC158 80240338 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8EC15C 8024033C AFBF0010 */ sw $ra, 0x10($sp) +/* 8EC160 80240340 0C01559B */ jal func_8005566C +/* 8EC164 80240344 2406003F */ addiu $a2, $zero, 0x3f +/* 8EC168 80240348 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EC16C 8024034C 24020002 */ addiu $v0, $zero, 2 +/* 8EC170 80240350 03E00008 */ jr $ra +/* 8EC174 80240354 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240358_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240358_8EBE20.s new file mode 100644 index 0000000000..40da48579b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240358_8EBE20.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240358_8EC178 +/* 8EC178 80240358 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EC17C 8024035C 0000202D */ daddu $a0, $zero, $zero +/* 8EC180 80240360 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8EC184 80240364 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EC188 80240368 0C01559B */ jal func_8005566C +/* 8EC18C 8024036C 2406007F */ addiu $a2, $zero, 0x7f +/* 8EC190 80240370 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EC194 80240374 24020002 */ addiu $v0, $zero, 2 +/* 8EC198 80240378 03E00008 */ jr $ra +/* 8EC19C 8024037C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240380.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240380.s new file mode 100644 index 0000000000..00fe3d79b3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240380.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240380 +/* 8EC1A0 80240380 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8EC1A4 80240384 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8EC1A8 80240388 4485A000 */ mtc1 $a1, $f20 +/* 8EC1AC 8024038C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8EC1B0 80240390 4486B000 */ mtc1 $a2, $f22 +/* 8EC1B4 80240394 AFB00010 */ sw $s0, 0x10($sp) +/* 8EC1B8 80240398 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8EC1BC 8024039C 4487C000 */ mtc1 $a3, $f24 +/* 8EC1C0 802403A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EC1C4 802403A4 0C019D28 */ jal guMtxIdentF +/* 8EC1C8 802403A8 0080802D */ daddu $s0, $a0, $zero +/* 8EC1CC 802403AC 4616A582 */ mul.s $f22, $f20, $f22 +/* 8EC1D0 802403B0 00000000 */ nop +/* 8EC1D4 802403B4 4618A502 */ mul.s $f20, $f20, $f24 +/* 8EC1D8 802403B8 00000000 */ nop +/* 8EC1DC 802403BC 3C013F80 */ lui $at, 0x3f80 +/* 8EC1E0 802403C0 44810000 */ mtc1 $at, $f0 +/* 8EC1E4 802403C4 00000000 */ nop +/* 8EC1E8 802403C8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8EC1EC 802403CC E6160010 */ swc1 $f22, 0x10($s0) +/* 8EC1F0 802403D0 E6140018 */ swc1 $f20, 0x18($s0) +/* 8EC1F4 802403D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EC1F8 802403D8 8FB00010 */ lw $s0, 0x10($sp) +/* 8EC1FC 802403DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8EC200 802403E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8EC204 802403E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8EC208 802403E8 03E00008 */ jr $ra +/* 8EC20C 802403EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802403F0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802403F0.s new file mode 100644 index 0000000000..745a71ab0a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802403F0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0 +/* 8EC210 802403F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8EC214 802403F4 AFB10054 */ sw $s1, 0x54($sp) +/* 8EC218 802403F8 0080882D */ daddu $s1, $a0, $zero +/* 8EC21C 802403FC AFBF005C */ sw $ra, 0x5c($sp) +/* 8EC220 80240400 AFB20058 */ sw $s2, 0x58($sp) +/* 8EC224 80240404 AFB00050 */ sw $s0, 0x50($sp) +/* 8EC228 80240408 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8EC22C 8024040C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8EC230 80240410 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8EC234 80240414 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8EC238 80240418 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8EC23C 8024041C 8E30000C */ lw $s0, 0xc($s1) +/* 8EC240 80240420 8E050000 */ lw $a1, ($s0) +/* 8EC244 80240424 0C0B1EAF */ jal get_variable +/* 8EC248 80240428 26100004 */ addiu $s0, $s0, 4 +/* 8EC24C 8024042C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8EC250 80240430 0040202D */ daddu $a0, $v0, $zero +/* 8EC254 80240434 8E050000 */ lw $a1, ($s0) +/* 8EC258 80240438 26100004 */ addiu $s0, $s0, 4 +/* 8EC25C 8024043C 0220202D */ daddu $a0, $s1, $zero +/* 8EC260 80240440 0C0B210B */ jal get_float_variable +/* 8EC264 80240444 0040902D */ daddu $s2, $v0, $zero +/* 8EC268 80240448 8E050000 */ lw $a1, ($s0) +/* 8EC26C 8024044C 26100004 */ addiu $s0, $s0, 4 +/* 8EC270 80240450 0220202D */ daddu $a0, $s1, $zero +/* 8EC274 80240454 0C0B210B */ jal get_float_variable +/* 8EC278 80240458 46000706 */ mov.s $f28, $f0 +/* 8EC27C 8024045C 8E050000 */ lw $a1, ($s0) +/* 8EC280 80240460 26100004 */ addiu $s0, $s0, 4 +/* 8EC284 80240464 0220202D */ daddu $a0, $s1, $zero +/* 8EC288 80240468 0C0B210B */ jal get_float_variable +/* 8EC28C 8024046C 46000686 */ mov.s $f26, $f0 +/* 8EC290 80240470 0220202D */ daddu $a0, $s1, $zero +/* 8EC294 80240474 8E050000 */ lw $a1, ($s0) +/* 8EC298 80240478 0C0B210B */ jal get_float_variable +/* 8EC29C 8024047C 46000586 */ mov.s $f22, $f0 +/* 8EC2A0 80240480 0240202D */ daddu $a0, $s2, $zero +/* 8EC2A4 80240484 0C046B4C */ jal get_model_from_list_index +/* 8EC2A8 80240488 46000606 */ mov.s $f24, $f0 +/* 8EC2AC 8024048C 0040882D */ daddu $s1, $v0, $zero +/* 8EC2B0 80240490 96220000 */ lhu $v0, ($s1) +/* 8EC2B4 80240494 30420400 */ andi $v0, $v0, 0x400 +/* 8EC2B8 80240498 1440001E */ bnez $v0, .L80240514 +/* 8EC2BC 8024049C 26300058 */ addiu $s0, $s1, 0x58 +/* 8EC2C0 802404A0 4480A000 */ mtc1 $zero, $f20 +/* 8EC2C4 802404A4 4406B000 */ mfc1 $a2, $f22 +/* 8EC2C8 802404A8 4405A000 */ mfc1 $a1, $f20 +/* 8EC2CC 802404AC 4407A000 */ mfc1 $a3, $f20 +/* 8EC2D0 802404B0 0C019E40 */ jal guTranslateF +/* 8EC2D4 802404B4 0200202D */ daddu $a0, $s0, $zero +/* 8EC2D8 802404B8 4405E000 */ mfc1 $a1, $f28 +/* 8EC2DC 802404BC 4406D000 */ mfc1 $a2, $f26 +/* 8EC2E0 802404C0 4407C000 */ mfc1 $a3, $f24 +/* 8EC2E4 802404C4 0C0900E0 */ jal func_80240380 +/* 8EC2E8 802404C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC2EC 802404CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC2F0 802404D0 0200282D */ daddu $a1, $s0, $zero +/* 8EC2F4 802404D4 0C019D80 */ jal guMtxCatF +/* 8EC2F8 802404D8 0200302D */ daddu $a2, $s0, $zero +/* 8EC2FC 802404DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC300 802404E0 4600B587 */ neg.s $f22, $f22 +/* 8EC304 802404E4 4405A000 */ mfc1 $a1, $f20 +/* 8EC308 802404E8 4406B000 */ mfc1 $a2, $f22 +/* 8EC30C 802404EC 0C019E40 */ jal guTranslateF +/* 8EC310 802404F0 00A0382D */ daddu $a3, $a1, $zero +/* 8EC314 802404F4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC318 802404F8 0200282D */ daddu $a1, $s0, $zero +/* 8EC31C 802404FC 0C019D80 */ jal guMtxCatF +/* 8EC320 80240500 00A0302D */ daddu $a2, $a1, $zero +/* 8EC324 80240504 96220000 */ lhu $v0, ($s1) +/* 8EC328 80240508 34421400 */ ori $v0, $v0, 0x1400 +/* 8EC32C 8024050C 08090163 */ j .L8024058C +/* 8EC330 80240510 A6220000 */ sh $v0, ($s1) +.L80240514: +/* 8EC334 80240514 4480A000 */ mtc1 $zero, $f20 +/* 8EC338 80240518 4406B000 */ mfc1 $a2, $f22 +/* 8EC33C 8024051C 4405A000 */ mfc1 $a1, $f20 +/* 8EC340 80240520 4407A000 */ mfc1 $a3, $f20 +/* 8EC344 80240524 0C019E40 */ jal guTranslateF +/* 8EC348 80240528 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC34C 8024052C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC350 80240530 26300058 */ addiu $s0, $s1, 0x58 +/* 8EC354 80240534 0200282D */ daddu $a1, $s0, $zero +/* 8EC358 80240538 0C019D80 */ jal guMtxCatF +/* 8EC35C 8024053C 0200302D */ daddu $a2, $s0, $zero +/* 8EC360 80240540 4405E000 */ mfc1 $a1, $f28 +/* 8EC364 80240544 4406D000 */ mfc1 $a2, $f26 +/* 8EC368 80240548 4407C000 */ mfc1 $a3, $f24 +/* 8EC36C 8024054C 0C0900E0 */ jal func_80240380 +/* 8EC370 80240550 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC374 80240554 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC378 80240558 0200282D */ daddu $a1, $s0, $zero +/* 8EC37C 8024055C 0C019D80 */ jal guMtxCatF +/* 8EC380 80240560 0200302D */ daddu $a2, $s0, $zero +/* 8EC384 80240564 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC388 80240568 4600B587 */ neg.s $f22, $f22 +/* 8EC38C 8024056C 4405A000 */ mfc1 $a1, $f20 +/* 8EC390 80240570 4406B000 */ mfc1 $a2, $f22 +/* 8EC394 80240574 0C019E40 */ jal guTranslateF +/* 8EC398 80240578 00A0382D */ daddu $a3, $a1, $zero +/* 8EC39C 8024057C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EC3A0 80240580 0200282D */ daddu $a1, $s0, $zero +/* 8EC3A4 80240584 0C019D80 */ jal guMtxCatF +/* 8EC3A8 80240588 00A0302D */ daddu $a2, $a1, $zero +.L8024058C: +/* 8EC3AC 8024058C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8EC3B0 80240590 8FB20058 */ lw $s2, 0x58($sp) +/* 8EC3B4 80240594 8FB10054 */ lw $s1, 0x54($sp) +/* 8EC3B8 80240598 8FB00050 */ lw $s0, 0x50($sp) +/* 8EC3BC 8024059C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8EC3C0 802405A0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8EC3C4 802405A4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8EC3C8 802405A8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8EC3CC 802405AC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8EC3D0 802405B0 24020002 */ addiu $v0, $zero, 2 +/* 8EC3D4 802405B4 03E00008 */ jr $ra +/* 8EC3D8 802405B8 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802405BC.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802405BC.s new file mode 100644 index 0000000000..77d95cdbe8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802405BC.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC +/* 8EC3DC 802405BC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 8EC3E0 802405C0 AFB30044 */ sw $s3, 0x44($sp) +/* 8EC3E4 802405C4 3C138026 */ lui $s3, 0x8026 +/* 8EC3E8 802405C8 2673B2AC */ addiu $s3, $s3, -0x4d54 +/* 8EC3EC 802405CC AFBF0048 */ sw $ra, 0x48($sp) +/* 8EC3F0 802405D0 AFB20040 */ sw $s2, 0x40($sp) +/* 8EC3F4 802405D4 AFB1003C */ sw $s1, 0x3c($sp) +/* 8EC3F8 802405D8 AFB00038 */ sw $s0, 0x38($sp) +/* 8EC3FC 802405DC 8E620000 */ lw $v0, ($s3) +/* 8EC400 802405E0 24420014 */ addiu $v0, $v0, 0x14 +/* 8EC404 802405E4 AE620000 */ sw $v0, ($s3) +/* 8EC408 802405E8 28420100 */ slti $v0, $v0, 0x100 +/* 8EC40C 802405EC 14400002 */ bnez $v0, .L802405F8 +/* 8EC410 802405F0 240200FF */ addiu $v0, $zero, 0xff +/* 8EC414 802405F4 AE620000 */ sw $v0, ($s3) +.L802405F8: +/* 8EC418 802405F8 3C108026 */ lui $s0, 0x8026 +/* 8EC41C 802405FC 2610B2B0 */ addiu $s0, $s0, -0x4d50 +/* 8EC420 80240600 8E040000 */ lw $a0, ($s0) +/* 8EC424 80240604 8E07000C */ lw $a3, 0xc($s0) +/* 8EC428 80240608 24020055 */ addiu $v0, $zero, 0x55 +/* 8EC42C 8024060C AFA20018 */ sw $v0, 0x18($sp) +/* 8EC430 80240610 24020061 */ addiu $v0, $zero, 0x61 +/* 8EC434 80240614 24120140 */ addiu $s2, $zero, 0x140 +/* 8EC438 80240618 AFA2001C */ sw $v0, 0x1c($sp) +/* 8EC43C 8024061C AFA00020 */ sw $zero, 0x20($sp) +/* 8EC440 80240620 AFA00024 */ sw $zero, 0x24($sp) +/* 8EC444 80240624 AFB20028 */ sw $s2, 0x28($sp) +/* 8EC448 80240628 96050008 */ lhu $a1, 8($s0) +/* 8EC44C 8024062C 241100F0 */ addiu $s1, $zero, 0xf0 +/* 8EC450 80240630 AFB1002C */ sw $s1, 0x2c($sp) +/* 8EC454 80240634 8E020010 */ lw $v0, 0x10($s0) +/* 8EC458 80240638 9606000A */ lhu $a2, 0xa($s0) +/* 8EC45C 8024063C 8E030004 */ lw $v1, 4($s0) +/* 8EC460 80240640 92680003 */ lbu $t0, 3($s3) +/* 8EC464 80240644 AFA20010 */ sw $v0, 0x10($sp) +/* 8EC468 80240648 AFA30014 */ sw $v1, 0x14($sp) +/* 8EC46C 8024064C 0C04BA68 */ jal func_8012E9A0 +/* 8EC470 80240650 AFA80030 */ sw $t0, 0x30($sp) +/* 8EC474 80240654 8E040014 */ lw $a0, 0x14($s0) +/* 8EC478 80240658 8E070020 */ lw $a3, 0x20($s0) +/* 8EC47C 8024065C 240200A0 */ addiu $v0, $zero, 0xa0 +/* 8EC480 80240660 AFA20018 */ sw $v0, 0x18($sp) +/* 8EC484 80240664 9605001C */ lhu $a1, 0x1c($s0) +/* 8EC488 80240668 24020066 */ addiu $v0, $zero, 0x66 +/* 8EC48C 8024066C AFA2001C */ sw $v0, 0x1c($sp) +/* 8EC490 80240670 AFA00020 */ sw $zero, 0x20($sp) +/* 8EC494 80240674 AFA00024 */ sw $zero, 0x24($sp) +/* 8EC498 80240678 AFB20028 */ sw $s2, 0x28($sp) +/* 8EC49C 8024067C AFB1002C */ sw $s1, 0x2c($sp) +/* 8EC4A0 80240680 8E020024 */ lw $v0, 0x24($s0) +/* 8EC4A4 80240684 9606001E */ lhu $a2, 0x1e($s0) +/* 8EC4A8 80240688 8E030018 */ lw $v1, 0x18($s0) +/* 8EC4AC 8024068C 92680003 */ lbu $t0, 3($s3) +/* 8EC4B0 80240690 AFA20010 */ sw $v0, 0x10($sp) +/* 8EC4B4 80240694 AFA30014 */ sw $v1, 0x14($sp) +/* 8EC4B8 80240698 0C04BA68 */ jal func_8012E9A0 +/* 8EC4BC 8024069C AFA80030 */ sw $t0, 0x30($sp) +/* 8EC4C0 802406A0 8FBF0048 */ lw $ra, 0x48($sp) +/* 8EC4C4 802406A4 8FB30044 */ lw $s3, 0x44($sp) +/* 8EC4C8 802406A8 8FB20040 */ lw $s2, 0x40($sp) +/* 8EC4CC 802406AC 8FB1003C */ lw $s1, 0x3c($sp) +/* 8EC4D0 802406B0 8FB00038 */ lw $s0, 0x38($sp) +/* 8EC4D4 802406B4 03E00008 */ jr $ra +/* 8EC4D8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802406BC_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802406BC_8EBE20.s new file mode 100644 index 0000000000..9be1273077 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802406BC_8EBE20.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_8EC4DC +/* 8EC4DC 802406BC AC80007C */ sw $zero, 0x7c($a0) +/* 8EC4E0 802406C0 03E00008 */ jr $ra +/* 8EC4E4 802406C4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802406C8.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802406C8.s new file mode 100644 index 0000000000..3da4af728f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802406C8.s @@ -0,0 +1,303 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C8 +/* 8EC4E8 802406C8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8EC4EC 802406CC AFB40028 */ sw $s4, 0x28($sp) +/* 8EC4F0 802406D0 0080A02D */ daddu $s4, $a0, $zero +/* 8EC4F4 802406D4 AFBF003C */ sw $ra, 0x3c($sp) +/* 8EC4F8 802406D8 AFBE0038 */ sw $fp, 0x38($sp) +/* 8EC4FC 802406DC AFB70034 */ sw $s7, 0x34($sp) +/* 8EC500 802406E0 AFB60030 */ sw $s6, 0x30($sp) +/* 8EC504 802406E4 AFB5002C */ sw $s5, 0x2c($sp) +/* 8EC508 802406E8 AFB30024 */ sw $s3, 0x24($sp) +/* 8EC50C 802406EC AFB20020 */ sw $s2, 0x20($sp) +/* 8EC510 802406F0 AFB1001C */ sw $s1, 0x1c($sp) +/* 8EC514 802406F4 10A00002 */ beqz $a1, .L80240700 +/* 8EC518 802406F8 AFB00018 */ sw $s0, 0x18($sp) +/* 8EC51C 802406FC AE800070 */ sw $zero, 0x70($s4) +.L80240700: +/* 8EC520 80240700 8E870070 */ lw $a3, 0x70($s4) +/* 8EC524 80240704 10E00006 */ beqz $a3, .L80240720 +/* 8EC528 80240708 AFA70010 */ sw $a3, 0x10($sp) +/* 8EC52C 8024070C 24020001 */ addiu $v0, $zero, 1 +/* 8EC530 80240710 10E20074 */ beq $a3, $v0, .L802408E4 +/* 8EC534 80240714 0000102D */ daddu $v0, $zero, $zero +/* 8EC538 80240718 080902BC */ j .L80240AF0 +/* 8EC53C 8024071C 00000000 */ nop +.L80240720: +/* 8EC540 80240720 0000B82D */ daddu $s7, $zero, $zero +/* 8EC544 80240724 02E0902D */ daddu $s2, $s7, $zero +/* 8EC548 80240728 241E0001 */ addiu $fp, $zero, 1 +/* 8EC54C 8024072C 3C168024 */ lui $s6, 0x8024 +/* 8EC550 80240730 26D64D54 */ addiu $s6, $s6, 0x4d54 +/* 8EC554 80240734 3C158024 */ lui $s5, 0x8024 +/* 8EC558 80240738 26B54D24 */ addiu $s5, $s5, 0x4d24 +/* 8EC55C 8024073C 3C118025 */ lui $s1, 0x8025 +/* 8EC560 80240740 26313060 */ addiu $s1, $s1, 0x3060 +.L80240744: +/* 8EC564 80240744 8EB00000 */ lw $s0, ($s5) +/* 8EC568 80240748 2402FFFE */ addiu $v0, $zero, -2 +/* 8EC56C 8024074C 12020011 */ beq $s0, $v0, .L80240794 +/* 8EC570 80240750 0000982D */ daddu $s3, $zero, $zero +/* 8EC574 80240754 2A02FFFF */ slti $v0, $s0, -1 +/* 8EC578 80240758 10400005 */ beqz $v0, .L80240770 +/* 8EC57C 8024075C 2402FFFD */ addiu $v0, $zero, -3 +/* 8EC580 80240760 12020014 */ beq $s0, $v0, .L802407B4 +/* 8EC584 80240764 0000202D */ daddu $a0, $zero, $zero +/* 8EC588 80240768 080901FE */ j .L802407F8 +/* 8EC58C 8024076C 3C05F5DE */ lui $a1, 0xf5de +.L80240770: +/* 8EC590 80240770 2402FFFF */ addiu $v0, $zero, -1 +/* 8EC594 80240774 1602001F */ bne $s0, $v0, .L802407F4 +/* 8EC598 80240778 0000202D */ daddu $a0, $zero, $zero +/* 8EC59C 8024077C 3C028011 */ lui $v0, 0x8011 +/* 8EC5A0 80240780 9442F552 */ lhu $v0, -0xaae($v0) +/* 8EC5A4 80240784 10400021 */ beqz $v0, .L8024080C +/* 8EC5A8 80240788 00000000 */ nop +/* 8EC5AC 8024078C 08090203 */ j .L8024080C +/* 8EC5B0 80240790 24130001 */ addiu $s3, $zero, 1 +.L80240794: +/* 8EC5B4 80240794 0000202D */ daddu $a0, $zero, $zero +/* 8EC5B8 80240798 3C05F840 */ lui $a1, 0xf840 +/* 8EC5BC 8024079C 0C0B1EAF */ jal get_variable +/* 8EC5C0 802407A0 34A55C9A */ ori $a1, $a1, 0x5c9a +/* 8EC5C4 802407A4 10400019 */ beqz $v0, .L8024080C +/* 8EC5C8 802407A8 00000000 */ nop +/* 8EC5CC 802407AC 08090203 */ j .L8024080C +/* 8EC5D0 802407B0 24130001 */ addiu $s3, $zero, 1 +.L802407B4: +/* 8EC5D4 802407B4 0000802D */ daddu $s0, $zero, $zero +/* 8EC5D8 802407B8 0200202D */ daddu $a0, $s0, $zero +/* 8EC5DC 802407BC 3C05F5DE */ lui $a1, 0xf5de +/* 8EC5E0 802407C0 0C0B1EAF */ jal get_variable +/* 8EC5E4 802407C4 34A50180 */ ori $a1, $a1, 0x180 +/* 8EC5E8 802407C8 28420006 */ slti $v0, $v0, 6 +/* 8EC5EC 802407CC 14400005 */ bnez $v0, .L802407E4 +/* 8EC5F0 802407D0 0200202D */ daddu $a0, $s0, $zero +/* 8EC5F4 802407D4 3C05F840 */ lui $a1, 0xf840 +/* 8EC5F8 802407D8 0C0B1EAF */ jal get_variable +/* 8EC5FC 802407DC 34A55CF0 */ ori $a1, $a1, 0x5cf0 +/* 8EC600 802407E0 0002802B */ sltu $s0, $zero, $v0 +.L802407E4: +/* 8EC604 802407E4 12000009 */ beqz $s0, .L8024080C +/* 8EC608 802407E8 00000000 */ nop +/* 8EC60C 802407EC 08090203 */ j .L8024080C +/* 8EC610 802407F0 24130001 */ addiu $s3, $zero, 1 +.L802407F4: +/* 8EC614 802407F4 3C05F5DE */ lui $a1, 0xf5de +.L802407F8: +/* 8EC618 802407F8 0C0B1EAF */ jal get_variable +/* 8EC61C 802407FC 34A50180 */ ori $a1, $a1, 0x180 +/* 8EC620 80240800 0050102A */ slt $v0, $v0, $s0 +/* 8EC624 80240804 50400001 */ beql $v0, $zero, .L8024080C +/* 8EC628 80240808 24130001 */ addiu $s3, $zero, 1 +.L8024080C: +/* 8EC62C 8024080C 1260001A */ beqz $s3, .L80240878 +/* 8EC630 80240810 0240802D */ daddu $s0, $s2, $zero +/* 8EC634 80240814 3C028008 */ lui $v0, 0x8008 +/* 8EC638 80240818 244222F8 */ addiu $v0, $v0, 0x22f8 +/* 8EC63C 8024081C AE220000 */ sw $v0, ($s1) +/* 8EC640 80240820 AE320108 */ sw $s2, 0x108($s1) +/* 8EC644 80240824 AE3E018C */ sw $fp, 0x18c($s1) +/* 8EC648 80240828 8EC20000 */ lw $v0, ($s6) +/* 8EC64C 8024082C AE200294 */ sw $zero, 0x294($s1) +/* 8EC650 80240830 06410002 */ bgez $s2, .L8024083C +/* 8EC654 80240834 AE220084 */ sw $v0, 0x84($s1) +/* 8EC658 80240838 26500007 */ addiu $s0, $s2, 7 +.L8024083C: +/* 8EC65C 8024083C 001080C3 */ sra $s0, $s0, 3 +/* 8EC660 80240840 0C05154E */ jal get_global_byte +/* 8EC664 80240844 2604000E */ addiu $a0, $s0, 0xe +/* 8EC668 80240848 001080C0 */ sll $s0, $s0, 3 +/* 8EC66C 8024084C 02508023 */ subu $s0, $s2, $s0 +/* 8EC670 80240850 021E8004 */ sllv $s0, $fp, $s0 +/* 8EC674 80240854 00508024 */ and $s0, $v0, $s0 +/* 8EC678 80240858 12000005 */ beqz $s0, .L80240870 +/* 8EC67C 8024085C AE200210 */ sw $zero, 0x210($s1) +/* 8EC680 80240860 3C028008 */ lui $v0, 0x8008 +/* 8EC684 80240864 24422328 */ addiu $v0, $v0, 0x2328 +/* 8EC688 80240868 AE3E0210 */ sw $fp, 0x210($s1) +/* 8EC68C 8024086C AE220000 */ sw $v0, ($s1) +.L80240870: +/* 8EC690 80240870 26310004 */ addiu $s1, $s1, 4 +/* 8EC694 80240874 26F70001 */ addiu $s7, $s7, 1 +.L80240878: +/* 8EC698 80240878 26D60004 */ addiu $s6, $s6, 4 +/* 8EC69C 8024087C 26520001 */ addiu $s2, $s2, 1 +/* 8EC6A0 80240880 2A42000C */ slti $v0, $s2, 0xc +/* 8EC6A4 80240884 1440FFAF */ bnez $v0, .L80240744 +/* 8EC6A8 80240888 26B50004 */ addiu $s5, $s5, 4 +/* 8EC6AC 8024088C 16E00004 */ bnez $s7, .L802408A0 +/* 8EC6B0 80240890 2402000B */ addiu $v0, $zero, 0xb +/* 8EC6B4 80240894 AE800084 */ sw $zero, 0x84($s4) +/* 8EC6B8 80240898 080902BC */ j .L80240AF0 +/* 8EC6BC 8024089C 24020002 */ addiu $v0, $zero, 2 +.L802408A0: +/* 8EC6C0 802408A0 3C018025 */ lui $at, 0x8025 +/* 8EC6C4 802408A4 AC223378 */ sw $v0, 0x3378($at) +/* 8EC6C8 802408A8 3C018025 */ lui $at, 0x8025 +/* 8EC6CC 802408AC AC373384 */ sw $s7, 0x3384($at) +/* 8EC6D0 802408B0 8E82007C */ lw $v0, 0x7c($s4) +/* 8EC6D4 802408B4 3C048025 */ lui $a0, 0x8025 +/* 8EC6D8 802408B8 24843060 */ addiu $a0, $a0, 0x3060 +/* 8EC6DC 802408BC 0C03D390 */ jal func_800F4E40 +/* 8EC6E0 802408C0 AC820328 */ sw $v0, 0x328($a0) +/* 8EC6E4 802408C4 0C03A631 */ jal func_800E98C4 +/* 8EC6E8 802408C8 00000000 */ nop +/* 8EC6EC 802408CC 0C03A5EE */ jal func_800E97B8 +/* 8EC6F0 802408D0 00000000 */ nop +/* 8EC6F4 802408D4 24020001 */ addiu $v0, $zero, 1 +/* 8EC6F8 802408D8 AE800074 */ sw $zero, 0x74($s4) +/* 8EC6FC 802408DC 080902BB */ j .L80240AEC +/* 8EC700 802408E0 AE820070 */ sw $v0, 0x70($s4) +.L802408E4: +/* 8EC704 802408E4 8E820074 */ lw $v0, 0x74($s4) +/* 8EC708 802408E8 14400009 */ bnez $v0, .L80240910 +/* 8EC70C 802408EC 24420001 */ addiu $v0, $v0, 1 +/* 8EC710 802408F0 3C028025 */ lui $v0, 0x8025 +/* 8EC714 802408F4 8442338C */ lh $v0, 0x338c($v0) +/* 8EC718 802408F8 1040007C */ beqz $v0, .L80240AEC +/* 8EC71C 802408FC AE820078 */ sw $v0, 0x78($s4) +/* 8EC720 80240900 0C03C4EC */ jal func_800F13B0 +/* 8EC724 80240904 00000000 */ nop +/* 8EC728 80240908 8E820074 */ lw $v0, 0x74($s4) +/* 8EC72C 8024090C 24420001 */ addiu $v0, $v0, 1 +.L80240910: +/* 8EC730 80240910 AE820074 */ sw $v0, 0x74($s4) +/* 8EC734 80240914 2842000F */ slti $v0, $v0, 0xf +/* 8EC738 80240918 14400075 */ bnez $v0, .L80240AF0 +/* 8EC73C 8024091C 0000102D */ daddu $v0, $zero, $zero +/* 8EC740 80240920 0C03C54E */ jal func_800F1538 +/* 8EC744 80240924 00000000 */ nop +/* 8EC748 80240928 8E830078 */ lw $v1, 0x78($s4) +/* 8EC74C 8024092C 240200FF */ addiu $v0, $zero, 0xff +/* 8EC750 80240930 14620005 */ bne $v1, $v0, .L80240948 +/* 8EC754 80240934 2463FFFF */ addiu $v1, $v1, -1 +/* 8EC758 80240938 2402FFFF */ addiu $v0, $zero, -1 +/* 8EC75C 8024093C AE820084 */ sw $v0, 0x84($s4) +/* 8EC760 80240940 080902BC */ j .L80240AF0 +/* 8EC764 80240944 24020002 */ addiu $v0, $zero, 2 +.L80240948: +/* 8EC768 80240948 8E820078 */ lw $v0, 0x78($s4) +/* 8EC76C 8024094C 3C078025 */ lui $a3, 0x8025 +/* 8EC770 80240950 24E73060 */ addiu $a3, $a3, 0x3060 +/* 8EC774 80240954 AE83007C */ sw $v1, 0x7c($s4) +/* 8EC778 80240958 2442FFFF */ addiu $v0, $v0, -1 +/* 8EC77C 8024095C 00021080 */ sll $v0, $v0, 2 +/* 8EC780 80240960 00471021 */ addu $v0, $v0, $a3 +/* 8EC784 80240964 8C5E0108 */ lw $fp, 0x108($v0) +/* 8EC788 80240968 001E1080 */ sll $v0, $fp, 2 +/* 8EC78C 8024096C 3C018024 */ lui $at, 0x8024 +/* 8EC790 80240970 00220821 */ addu $at, $at, $v0 +/* 8EC794 80240974 8C224D84 */ lw $v0, 0x4d84($at) +/* 8EC798 80240978 03C0802D */ daddu $s0, $fp, $zero +/* 8EC79C 8024097C 07C10002 */ bgez $fp, .L80240988 +/* 8EC7A0 80240980 AE820084 */ sw $v0, 0x84($s4) +/* 8EC7A4 80240984 27D00007 */ addiu $s0, $fp, 7 +.L80240988: +/* 8EC7A8 80240988 001080C3 */ sra $s0, $s0, 3 +/* 8EC7AC 8024098C 2611000E */ addiu $s1, $s0, 0xe +/* 8EC7B0 80240990 0C05154E */ jal get_global_byte +/* 8EC7B4 80240994 0220202D */ daddu $a0, $s1, $zero +/* 8EC7B8 80240998 0220202D */ daddu $a0, $s1, $zero +/* 8EC7BC 8024099C 001080C0 */ sll $s0, $s0, 3 +/* 8EC7C0 802409A0 8FA70010 */ lw $a3, 0x10($sp) +/* 8EC7C4 802409A4 03D08023 */ subu $s0, $fp, $s0 +/* 8EC7C8 802409A8 02078004 */ sllv $s0, $a3, $s0 +/* 8EC7CC 802409AC 0C051548 */ jal set_global_byte +/* 8EC7D0 802409B0 00502825 */ or $a1, $v0, $s0 +/* 8EC7D4 802409B4 24020003 */ addiu $v0, $zero, 3 +/* 8EC7D8 802409B8 17C20005 */ bne $fp, $v0, .L802409D0 +/* 8EC7DC 802409BC 0000202D */ daddu $a0, $zero, $zero +/* 8EC7E0 802409C0 3C05F840 */ lui $a1, 0xf840 +/* 8EC7E4 802409C4 34A55BE7 */ ori $a1, $a1, 0x5be7 +/* 8EC7E8 802409C8 0C0B2026 */ jal set_variable +/* 8EC7EC 802409CC 24060001 */ addiu $a2, $zero, 1 +.L802409D0: +/* 8EC7F0 802409D0 3C148025 */ lui $s4, 0x8025 +/* 8EC7F4 802409D4 26943390 */ addiu $s4, $s4, 0x3390 +/* 8EC7F8 802409D8 0280302D */ daddu $a2, $s4, $zero +/* 8EC7FC 802409DC 3C138024 */ lui $s3, 0x8024 +/* 8EC800 802409E0 26734DB4 */ addiu $s3, $s3, 0x4db4 +/* 8EC804 802409E4 3C120011 */ lui $s2, 0x11 +/* 8EC808 802409E8 2652F1B0 */ addiu $s2, $s2, -0xe50 +/* 8EC80C 802409EC 8E650000 */ lw $a1, ($s3) +/* 8EC810 802409F0 26553D86 */ addiu $s5, $s2, 0x3d86 +/* 8EC814 802409F4 00B22021 */ addu $a0, $a1, $s2 +/* 8EC818 802409F8 0C00A5CF */ jal dma_copy +/* 8EC81C 802409FC 00B52821 */ addu $a1, $a1, $s5 +/* 8EC820 80240A00 3C108025 */ lui $s0, 0x8025 +/* 8EC824 80240A04 26107118 */ addiu $s0, $s0, 0x7118 +/* 8EC828 80240A08 0200302D */ daddu $a2, $s0, $zero +/* 8EC82C 80240A0C 8E650004 */ lw $a1, 4($s3) +/* 8EC830 80240A10 26560200 */ addiu $s6, $s2, 0x200 +/* 8EC834 80240A14 00B22021 */ addu $a0, $a1, $s2 +/* 8EC838 80240A18 0C00A5CF */ jal dma_copy +/* 8EC83C 80240A1C 00B62821 */ addu $a1, $a1, $s6 +/* 8EC840 80240A20 3C118026 */ lui $s1, 0x8026 +/* 8EC844 80240A24 2631B2B0 */ addiu $s1, $s1, -0x4d50 +/* 8EC848 80240A28 24020096 */ addiu $v0, $zero, 0x96 +/* 8EC84C 80240A2C A6220008 */ sh $v0, 8($s1) +/* 8EC850 80240A30 24020069 */ addiu $v0, $zero, 0x69 +/* 8EC854 80240A34 24170002 */ addiu $s7, $zero, 2 +/* 8EC858 80240A38 AE300004 */ sw $s0, 4($s1) +/* 8EC85C 80240A3C 001E8040 */ sll $s0, $fp, 1 +/* 8EC860 80240A40 A622000A */ sh $v0, 0xa($s1) +/* 8EC864 80240A44 02171021 */ addu $v0, $s0, $s7 +/* 8EC868 80240A48 02E21004 */ sllv $v0, $v0, $s7 +/* 8EC86C 80240A4C 00531021 */ addu $v0, $v0, $s3 +/* 8EC870 80240A50 AE340000 */ sw $s4, ($s1) +/* 8EC874 80240A54 3C148025 */ lui $s4, 0x8025 +/* 8EC878 80240A58 26947320 */ addiu $s4, $s4, 0x7320 +/* 8EC87C 80240A5C AE37000C */ sw $s7, 0xc($s1) +/* 8EC880 80240A60 AE200010 */ sw $zero, 0x10($s1) +/* 8EC884 80240A64 8C450000 */ lw $a1, ($v0) +/* 8EC888 80240A68 0280302D */ daddu $a2, $s4, $zero +/* 8EC88C 80240A6C 00B22021 */ addu $a0, $a1, $s2 +/* 8EC890 80240A70 0C00A5CF */ jal dma_copy +/* 8EC894 80240A74 00B52821 */ addu $a1, $a1, $s5 +/* 8EC898 80240A78 26100003 */ addiu $s0, $s0, 3 +/* 8EC89C 80240A7C 02F08004 */ sllv $s0, $s0, $s7 +/* 8EC8A0 80240A80 02138021 */ addu $s0, $s0, $s3 +/* 8EC8A4 80240A84 3C138026 */ lui $s3, 0x8026 +/* 8EC8A8 80240A88 2673B0A8 */ addiu $s3, $s3, -0x4f58 +/* 8EC8AC 80240A8C 8E050000 */ lw $a1, ($s0) +/* 8EC8B0 80240A90 0260302D */ daddu $a2, $s3, $zero +/* 8EC8B4 80240A94 00B22021 */ addu $a0, $a1, $s2 +/* 8EC8B8 80240A98 0C00A5CF */ jal dma_copy +/* 8EC8BC 80240A9C 00B62821 */ addu $a1, $a1, $s6 +/* 8EC8C0 80240AA0 0000202D */ daddu $a0, $zero, $zero +/* 8EC8C4 80240AA4 24020046 */ addiu $v0, $zero, 0x46 +/* 8EC8C8 80240AA8 A622001C */ sh $v0, 0x1c($s1) +/* 8EC8CC 80240AAC 2402005F */ addiu $v0, $zero, 0x5f +/* 8EC8D0 80240AB0 AE340014 */ sw $s4, 0x14($s1) +/* 8EC8D4 80240AB4 AE330018 */ sw $s3, 0x18($s1) +/* 8EC8D8 80240AB8 A622001E */ sh $v0, 0x1e($s1) +/* 8EC8DC 80240ABC AE370020 */ sw $s7, 0x20($s1) +/* 8EC8E0 80240AC0 8FA70010 */ lw $a3, 0x10($sp) +/* 8EC8E4 80240AC4 3C058024 */ lui $a1, 0x8024 +/* 8EC8E8 80240AC8 24A505BC */ addiu $a1, $a1, 0x5bc +/* 8EC8EC 80240ACC 0C048C8F */ jal bind_dynamic_entity_7 +/* 8EC8F0 80240AD0 AE270024 */ sw $a3, 0x24($s1) +/* 8EC8F4 80240AD4 3C018026 */ lui $at, 0x8026 +/* 8EC8F8 80240AD8 AC22B2A8 */ sw $v0, -0x4d58($at) +/* 8EC8FC 80240ADC 3C018026 */ lui $at, 0x8026 +/* 8EC900 80240AE0 AC20B2AC */ sw $zero, -0x4d54($at) +/* 8EC904 80240AE4 080902BC */ j .L80240AF0 +/* 8EC908 80240AE8 02E0102D */ daddu $v0, $s7, $zero +.L80240AEC: +/* 8EC90C 80240AEC 0000102D */ daddu $v0, $zero, $zero +.L80240AF0: +/* 8EC910 80240AF0 8FBF003C */ lw $ra, 0x3c($sp) +/* 8EC914 80240AF4 8FBE0038 */ lw $fp, 0x38($sp) +/* 8EC918 80240AF8 8FB70034 */ lw $s7, 0x34($sp) +/* 8EC91C 80240AFC 8FB60030 */ lw $s6, 0x30($sp) +/* 8EC920 80240B00 8FB5002C */ lw $s5, 0x2c($sp) +/* 8EC924 80240B04 8FB40028 */ lw $s4, 0x28($sp) +/* 8EC928 80240B08 8FB30024 */ lw $s3, 0x24($sp) +/* 8EC92C 80240B0C 8FB20020 */ lw $s2, 0x20($sp) +/* 8EC930 80240B10 8FB1001C */ lw $s1, 0x1c($sp) +/* 8EC934 80240B14 8FB00018 */ lw $s0, 0x18($sp) +/* 8EC938 80240B18 03E00008 */ jr $ra +/* 8EC93C 80240B1C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B20.s new file mode 100644 index 0000000000..0e848bdee9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B20.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B20 +/* 8EC940 80240B20 3C048026 */ lui $a0, 0x8026 +/* 8EC944 80240B24 8C84B2A8 */ lw $a0, -0x4d58($a0) +/* 8EC948 80240B28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EC94C 80240B2C AFBF0010 */ sw $ra, 0x10($sp) +/* 8EC950 80240B30 0C048D70 */ jal func_801235C0 +/* 8EC954 80240B34 00000000 */ nop +/* 8EC958 80240B38 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EC95C 80240B3C 24020002 */ addiu $v0, $zero, 2 +/* 8EC960 80240B40 03E00008 */ jr $ra +/* 8EC964 80240B44 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B48.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B48.s new file mode 100644 index 0000000000..6985db23ae --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B48.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B48 +/* 8EC968 80240B48 AC80007C */ sw $zero, 0x7c($a0) +/* 8EC96C 80240B4C 03E00008 */ jr $ra +/* 8EC970 80240B50 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B54.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B54.s new file mode 100644 index 0000000000..85c32040ae --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240B54.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B54 +/* 8EC974 80240B54 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8EC978 80240B58 AFB40020 */ sw $s4, 0x20($sp) +/* 8EC97C 80240B5C 0080A02D */ daddu $s4, $a0, $zero +/* 8EC980 80240B60 AFB7002C */ sw $s7, 0x2c($sp) +/* 8EC984 80240B64 3C178025 */ lui $s7, 0x8025 +/* 8EC988 80240B68 26F73060 */ addiu $s7, $s7, 0x3060 +/* 8EC98C 80240B6C AFBF0034 */ sw $ra, 0x34($sp) +/* 8EC990 80240B70 AFBE0030 */ sw $fp, 0x30($sp) +/* 8EC994 80240B74 AFB60028 */ sw $s6, 0x28($sp) +/* 8EC998 80240B78 AFB50024 */ sw $s5, 0x24($sp) +/* 8EC99C 80240B7C AFB3001C */ sw $s3, 0x1c($sp) +/* 8EC9A0 80240B80 AFB20018 */ sw $s2, 0x18($sp) +/* 8EC9A4 80240B84 AFB10014 */ sw $s1, 0x14($sp) +/* 8EC9A8 80240B88 10A00002 */ beqz $a1, .L80240B94 +/* 8EC9AC 80240B8C AFB00010 */ sw $s0, 0x10($sp) +/* 8EC9B0 80240B90 AE800070 */ sw $zero, 0x70($s4) +.L80240B94: +/* 8EC9B4 80240B94 8E930070 */ lw $s3, 0x70($s4) +/* 8EC9B8 80240B98 12600005 */ beqz $s3, .L80240BB0 +/* 8EC9BC 80240B9C 24020001 */ addiu $v0, $zero, 1 +/* 8EC9C0 80240BA0 12620041 */ beq $s3, $v0, .L80240CA8 +/* 8EC9C4 80240BA4 0000102D */ daddu $v0, $zero, $zero +/* 8EC9C8 80240BA8 0809035D */ j .L80240D74 +/* 8EC9CC 80240BAC 00000000 */ nop +.L80240BB0: +/* 8EC9D0 80240BB0 0000A82D */ daddu $s5, $zero, $zero +/* 8EC9D4 80240BB4 02A0902D */ daddu $s2, $s5, $zero +/* 8EC9D8 80240BB8 24160001 */ addiu $s6, $zero, 1 +/* 8EC9DC 80240BBC 3C1E8008 */ lui $fp, 0x8008 +/* 8EC9E0 80240BC0 27DE2388 */ addiu $fp, $fp, 0x2388 +/* 8EC9E4 80240BC4 3C138024 */ lui $s3, 0x8024 +/* 8EC9E8 80240BC8 26734FA0 */ addiu $s3, $s3, 0x4fa0 +/* 8EC9EC 80240BCC 02E0882D */ daddu $s1, $s7, $zero +.L80240BD0: +/* 8EC9F0 80240BD0 0000202D */ daddu $a0, $zero, $zero +/* 8EC9F4 80240BD4 3C05F5DE */ lui $a1, 0xf5de +/* 8EC9F8 80240BD8 0C0B1EAF */ jal get_variable +/* 8EC9FC 80240BDC 34A50180 */ ori $a1, $a1, 0x180 +/* 8ECA00 80240BE0 8E630000 */ lw $v1, ($s3) +/* 8ECA04 80240BE4 0043102A */ slt $v0, $v0, $v1 +/* 8ECA08 80240BE8 54400019 */ bnel $v0, $zero, .L80240C50 +/* 8ECA0C 80240BEC 26520001 */ addiu $s2, $s2, 1 +/* 8ECA10 80240BF0 0240802D */ daddu $s0, $s2, $zero +/* 8ECA14 80240BF4 3C068008 */ lui $a2, 0x8008 +/* 8ECA18 80240BF8 24C62358 */ addiu $a2, $a2, 0x2358 +/* 8ECA1C 80240BFC AE260000 */ sw $a2, ($s1) +/* 8ECA20 80240C00 AE320108 */ sw $s2, 0x108($s1) +/* 8ECA24 80240C04 AE36018C */ sw $s6, 0x18c($s1) +/* 8ECA28 80240C08 AE200084 */ sw $zero, 0x84($s1) +/* 8ECA2C 80240C0C 06410002 */ bgez $s2, .L80240C18 +/* 8ECA30 80240C10 AE200294 */ sw $zero, 0x294($s1) +/* 8ECA34 80240C14 26500007 */ addiu $s0, $s2, 7 +.L80240C18: +/* 8ECA38 80240C18 001080C3 */ sra $s0, $s0, 3 +/* 8ECA3C 80240C1C 0C05154E */ jal get_global_byte +/* 8ECA40 80240C20 2604000C */ addiu $a0, $s0, 0xc +/* 8ECA44 80240C24 001080C0 */ sll $s0, $s0, 3 +/* 8ECA48 80240C28 02508023 */ subu $s0, $s2, $s0 +/* 8ECA4C 80240C2C 02168004 */ sllv $s0, $s6, $s0 +/* 8ECA50 80240C30 00502824 */ and $a1, $v0, $s0 +/* 8ECA54 80240C34 10A00003 */ beqz $a1, .L80240C44 +/* 8ECA58 80240C38 AE200210 */ sw $zero, 0x210($s1) +/* 8ECA5C 80240C3C AE360210 */ sw $s6, 0x210($s1) +/* 8ECA60 80240C40 AE3E0000 */ sw $fp, ($s1) +.L80240C44: +/* 8ECA64 80240C44 26310004 */ addiu $s1, $s1, 4 +/* 8ECA68 80240C48 26B50001 */ addiu $s5, $s5, 1 +/* 8ECA6C 80240C4C 26520001 */ addiu $s2, $s2, 1 +.L80240C50: +/* 8ECA70 80240C50 2A42000C */ slti $v0, $s2, 0xc +/* 8ECA74 80240C54 1440FFDE */ bnez $v0, .L80240BD0 +/* 8ECA78 80240C58 26730004 */ addiu $s3, $s3, 4 +/* 8ECA7C 80240C5C 16A00004 */ bnez $s5, .L80240C70 +/* 8ECA80 80240C60 2402000A */ addiu $v0, $zero, 0xa +/* 8ECA84 80240C64 AE800084 */ sw $zero, 0x84($s4) +/* 8ECA88 80240C68 0809035D */ j .L80240D74 +/* 8ECA8C 80240C6C 24020002 */ addiu $v0, $zero, 2 +.L80240C70: +/* 8ECA90 80240C70 AEE20318 */ sw $v0, 0x318($s7) +/* 8ECA94 80240C74 AEF50324 */ sw $s5, 0x324($s7) +/* 8ECA98 80240C78 8E82007C */ lw $v0, 0x7c($s4) +/* 8ECA9C 80240C7C 02E0202D */ daddu $a0, $s7, $zero +/* 8ECAA0 80240C80 0C03D390 */ jal func_800F4E40 +/* 8ECAA4 80240C84 AC820328 */ sw $v0, 0x328($a0) +/* 8ECAA8 80240C88 0C03A631 */ jal func_800E98C4 +/* 8ECAAC 80240C8C 00000000 */ nop +/* 8ECAB0 80240C90 0C03A5EE */ jal func_800E97B8 +/* 8ECAB4 80240C94 00000000 */ nop +/* 8ECAB8 80240C98 24020001 */ addiu $v0, $zero, 1 +/* 8ECABC 80240C9C AE800074 */ sw $zero, 0x74($s4) +/* 8ECAC0 80240CA0 0809035C */ j .L80240D70 +/* 8ECAC4 80240CA4 AE820070 */ sw $v0, 0x70($s4) +.L80240CA8: +/* 8ECAC8 80240CA8 8E820074 */ lw $v0, 0x74($s4) +/* 8ECACC 80240CAC 14400008 */ bnez $v0, .L80240CD0 +/* 8ECAD0 80240CB0 24420001 */ addiu $v0, $v0, 1 +/* 8ECAD4 80240CB4 86E2032C */ lh $v0, 0x32c($s7) +/* 8ECAD8 80240CB8 1040002D */ beqz $v0, .L80240D70 +/* 8ECADC 80240CBC AE820078 */ sw $v0, 0x78($s4) +/* 8ECAE0 80240CC0 0C03C4EC */ jal func_800F13B0 +/* 8ECAE4 80240CC4 00000000 */ nop +/* 8ECAE8 80240CC8 8E820074 */ lw $v0, 0x74($s4) +/* 8ECAEC 80240CCC 24420001 */ addiu $v0, $v0, 1 +.L80240CD0: +/* 8ECAF0 80240CD0 AE820074 */ sw $v0, 0x74($s4) +/* 8ECAF4 80240CD4 2842000F */ slti $v0, $v0, 0xf +/* 8ECAF8 80240CD8 14400026 */ bnez $v0, .L80240D74 +/* 8ECAFC 80240CDC 0000102D */ daddu $v0, $zero, $zero +/* 8ECB00 80240CE0 0C03C54E */ jal func_800F1538 +/* 8ECB04 80240CE4 00000000 */ nop +/* 8ECB08 80240CE8 8E830078 */ lw $v1, 0x78($s4) +/* 8ECB0C 80240CEC 240200FF */ addiu $v0, $zero, 0xff +/* 8ECB10 80240CF0 14620005 */ bne $v1, $v0, .L80240D08 +/* 8ECB14 80240CF4 2463FFFF */ addiu $v1, $v1, -1 +/* 8ECB18 80240CF8 2402FFFF */ addiu $v0, $zero, -1 +/* 8ECB1C 80240CFC AE820084 */ sw $v0, 0x84($s4) +/* 8ECB20 80240D00 0809035D */ j .L80240D74 +/* 8ECB24 80240D04 24020002 */ addiu $v0, $zero, 2 +.L80240D08: +/* 8ECB28 80240D08 8E820078 */ lw $v0, 0x78($s4) +/* 8ECB2C 80240D0C AE83007C */ sw $v1, 0x7c($s4) +/* 8ECB30 80240D10 2442FFFF */ addiu $v0, $v0, -1 +/* 8ECB34 80240D14 00021080 */ sll $v0, $v0, 2 +/* 8ECB38 80240D18 00571021 */ addu $v0, $v0, $s7 +/* 8ECB3C 80240D1C 8C510108 */ lw $s1, 0x108($v0) +/* 8ECB40 80240D20 00111080 */ sll $v0, $s1, 2 +/* 8ECB44 80240D24 3C018024 */ lui $at, 0x8024 +/* 8ECB48 80240D28 00220821 */ addu $at, $at, $v0 +/* 8ECB4C 80240D2C 8C224FD0 */ lw $v0, 0x4fd0($at) +/* 8ECB50 80240D30 0220802D */ daddu $s0, $s1, $zero +/* 8ECB54 80240D34 06210002 */ bgez $s1, .L80240D40 +/* 8ECB58 80240D38 AE820084 */ sw $v0, 0x84($s4) +/* 8ECB5C 80240D3C 26300007 */ addiu $s0, $s1, 7 +.L80240D40: +/* 8ECB60 80240D40 001080C3 */ sra $s0, $s0, 3 +/* 8ECB64 80240D44 2612000C */ addiu $s2, $s0, 0xc +/* 8ECB68 80240D48 0C05154E */ jal get_global_byte +/* 8ECB6C 80240D4C 0240202D */ daddu $a0, $s2, $zero +/* 8ECB70 80240D50 001080C0 */ sll $s0, $s0, 3 +/* 8ECB74 80240D54 02308023 */ subu $s0, $s1, $s0 +/* 8ECB78 80240D58 02138004 */ sllv $s0, $s3, $s0 +/* 8ECB7C 80240D5C 00502825 */ or $a1, $v0, $s0 +/* 8ECB80 80240D60 0C051548 */ jal set_global_byte +/* 8ECB84 80240D64 0240202D */ daddu $a0, $s2, $zero +/* 8ECB88 80240D68 0809035D */ j .L80240D74 +/* 8ECB8C 80240D6C 24020002 */ addiu $v0, $zero, 2 +.L80240D70: +/* 8ECB90 80240D70 0000102D */ daddu $v0, $zero, $zero +.L80240D74: +/* 8ECB94 80240D74 8FBF0034 */ lw $ra, 0x34($sp) +/* 8ECB98 80240D78 8FBE0030 */ lw $fp, 0x30($sp) +/* 8ECB9C 80240D7C 8FB7002C */ lw $s7, 0x2c($sp) +/* 8ECBA0 80240D80 8FB60028 */ lw $s6, 0x28($sp) +/* 8ECBA4 80240D84 8FB50024 */ lw $s5, 0x24($sp) +/* 8ECBA8 80240D88 8FB40020 */ lw $s4, 0x20($sp) +/* 8ECBAC 80240D8C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8ECBB0 80240D90 8FB20018 */ lw $s2, 0x18($sp) +/* 8ECBB4 80240D94 8FB10014 */ lw $s1, 0x14($sp) +/* 8ECBB8 80240D98 8FB00010 */ lw $s0, 0x10($sp) +/* 8ECBBC 80240D9C 03E00008 */ jr $ra +/* 8ECBC0 80240DA0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DA4_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DA4_8EBE20.s new file mode 100644 index 0000000000..de11e47680 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DA4_8EBE20.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA4_8ECBC4 +/* 8ECBC4 80240DA4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ECBC8 80240DA8 0000202D */ daddu $a0, $zero, $zero +/* 8ECBCC 80240DAC 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8ECBD0 80240DB0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ECBD4 80240DB4 0C01559B */ jal func_8005566C +/* 8ECBD8 80240DB8 24060001 */ addiu $a2, $zero, 1 +/* 8ECBDC 80240DBC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ECBE0 80240DC0 24020002 */ addiu $v0, $zero, 2 +/* 8ECBE4 80240DC4 03E00008 */ jr $ra +/* 8ECBE8 80240DC8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8ECBEC 80240DCC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DD0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DD0.s new file mode 100644 index 0000000000..ad47a89bf1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DD0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DD0 +/* 8ECBF0 80240DD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ECBF4 80240DD4 0000202D */ daddu $a0, $zero, $zero +/* 8ECBF8 80240DD8 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8ECBFC 80240DDC AFBF0010 */ sw $ra, 0x10($sp) +/* 8ECC00 80240DE0 0C01559B */ jal func_8005566C +/* 8ECC04 80240DE4 2406003F */ addiu $a2, $zero, 0x3f +/* 8ECC08 80240DE8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ECC0C 80240DEC 24020002 */ addiu $v0, $zero, 2 +/* 8ECC10 80240DF0 03E00008 */ jr $ra +/* 8ECC14 80240DF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DF8.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DF8.s new file mode 100644 index 0000000000..89cca70583 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240DF8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF8 +/* 8ECC18 80240DF8 3C03800B */ lui $v1, %hi(gCameras) +/* 8ECC1C 80240DFC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 8ECC20 80240E00 94620002 */ lhu $v0, 2($v1) +/* 8ECC24 80240E04 3042FFFE */ andi $v0, $v0, 0xfffe +/* 8ECC28 80240E08 A4620002 */ sh $v0, 2($v1) +/* 8ECC2C 80240E0C 03E00008 */ jr $ra +/* 8ECC30 80240E10 24020002 */ addiu $v0, $zero, 2 +/* 8ECC34 80240E14 00000000 */ nop +/* 8ECC38 80240E18 00000000 */ nop +/* 8ECC3C 80240E1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E20.s new file mode 100644 index 0000000000..195384fee6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E20.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E20 +/* 8ECC40 80240E20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8ECC44 80240E24 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8ECC48 80240E28 4485A000 */ mtc1 $a1, $f20 +/* 8ECC4C 80240E2C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8ECC50 80240E30 4486B000 */ mtc1 $a2, $f22 +/* 8ECC54 80240E34 AFB00010 */ sw $s0, 0x10($sp) +/* 8ECC58 80240E38 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8ECC5C 80240E3C 4487C000 */ mtc1 $a3, $f24 +/* 8ECC60 80240E40 AFBF0014 */ sw $ra, 0x14($sp) +/* 8ECC64 80240E44 0C019D28 */ jal guMtxIdentF +/* 8ECC68 80240E48 0080802D */ daddu $s0, $a0, $zero +/* 8ECC6C 80240E4C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8ECC70 80240E50 00000000 */ nop +/* 8ECC74 80240E54 4618A502 */ mul.s $f20, $f20, $f24 +/* 8ECC78 80240E58 00000000 */ nop +/* 8ECC7C 80240E5C 3C013F80 */ lui $at, 0x3f80 +/* 8ECC80 80240E60 44810000 */ mtc1 $at, $f0 +/* 8ECC84 80240E64 00000000 */ nop +/* 8ECC88 80240E68 E6000014 */ swc1 $f0, 0x14($s0) +/* 8ECC8C 80240E6C E6160010 */ swc1 $f22, 0x10($s0) +/* 8ECC90 80240E70 E6140018 */ swc1 $f20, 0x18($s0) +/* 8ECC94 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* 8ECC98 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* 8ECC9C 80240E7C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8ECCA0 80240E80 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8ECCA4 80240E84 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8ECCA8 80240E88 03E00008 */ jr $ra +/* 8ECCAC 80240E8C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E90.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E90.s new file mode 100644 index 0000000000..a56f088303 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80240E90.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90 +/* 8ECCB0 80240E90 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8ECCB4 80240E94 AFB10054 */ sw $s1, 0x54($sp) +/* 8ECCB8 80240E98 0080882D */ daddu $s1, $a0, $zero +/* 8ECCBC 80240E9C AFBF005C */ sw $ra, 0x5c($sp) +/* 8ECCC0 80240EA0 AFB20058 */ sw $s2, 0x58($sp) +/* 8ECCC4 80240EA4 AFB00050 */ sw $s0, 0x50($sp) +/* 8ECCC8 80240EA8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8ECCCC 80240EAC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8ECCD0 80240EB0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8ECCD4 80240EB4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8ECCD8 80240EB8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8ECCDC 80240EBC 8E30000C */ lw $s0, 0xc($s1) +/* 8ECCE0 80240EC0 8E050000 */ lw $a1, ($s0) +/* 8ECCE4 80240EC4 0C0B1EAF */ jal get_variable +/* 8ECCE8 80240EC8 26100004 */ addiu $s0, $s0, 4 +/* 8ECCEC 80240ECC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8ECCF0 80240ED0 0040202D */ daddu $a0, $v0, $zero +/* 8ECCF4 80240ED4 8E050000 */ lw $a1, ($s0) +/* 8ECCF8 80240ED8 26100004 */ addiu $s0, $s0, 4 +/* 8ECCFC 80240EDC 0220202D */ daddu $a0, $s1, $zero +/* 8ECD00 80240EE0 0C0B210B */ jal get_float_variable +/* 8ECD04 80240EE4 0040902D */ daddu $s2, $v0, $zero +/* 8ECD08 80240EE8 8E050000 */ lw $a1, ($s0) +/* 8ECD0C 80240EEC 26100004 */ addiu $s0, $s0, 4 +/* 8ECD10 80240EF0 0220202D */ daddu $a0, $s1, $zero +/* 8ECD14 80240EF4 0C0B210B */ jal get_float_variable +/* 8ECD18 80240EF8 46000706 */ mov.s $f28, $f0 +/* 8ECD1C 80240EFC 8E050000 */ lw $a1, ($s0) +/* 8ECD20 80240F00 26100004 */ addiu $s0, $s0, 4 +/* 8ECD24 80240F04 0220202D */ daddu $a0, $s1, $zero +/* 8ECD28 80240F08 0C0B210B */ jal get_float_variable +/* 8ECD2C 80240F0C 46000686 */ mov.s $f26, $f0 +/* 8ECD30 80240F10 0220202D */ daddu $a0, $s1, $zero +/* 8ECD34 80240F14 8E050000 */ lw $a1, ($s0) +/* 8ECD38 80240F18 0C0B210B */ jal get_float_variable +/* 8ECD3C 80240F1C 46000586 */ mov.s $f22, $f0 +/* 8ECD40 80240F20 0240202D */ daddu $a0, $s2, $zero +/* 8ECD44 80240F24 0C046B4C */ jal get_model_from_list_index +/* 8ECD48 80240F28 46000606 */ mov.s $f24, $f0 +/* 8ECD4C 80240F2C 0040882D */ daddu $s1, $v0, $zero +/* 8ECD50 80240F30 96220000 */ lhu $v0, ($s1) +/* 8ECD54 80240F34 30420400 */ andi $v0, $v0, 0x400 +/* 8ECD58 80240F38 1440001E */ bnez $v0, .L80240FB4 +/* 8ECD5C 80240F3C 26300058 */ addiu $s0, $s1, 0x58 +/* 8ECD60 80240F40 4480A000 */ mtc1 $zero, $f20 +/* 8ECD64 80240F44 4406B000 */ mfc1 $a2, $f22 +/* 8ECD68 80240F48 4405A000 */ mfc1 $a1, $f20 +/* 8ECD6C 80240F4C 4407A000 */ mfc1 $a3, $f20 +/* 8ECD70 80240F50 0C019E40 */ jal guTranslateF +/* 8ECD74 80240F54 0200202D */ daddu $a0, $s0, $zero +/* 8ECD78 80240F58 4405E000 */ mfc1 $a1, $f28 +/* 8ECD7C 80240F5C 4406D000 */ mfc1 $a2, $f26 +/* 8ECD80 80240F60 4407C000 */ mfc1 $a3, $f24 +/* 8ECD84 80240F64 0C090388 */ jal func_80240E20 +/* 8ECD88 80240F68 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECD8C 80240F6C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECD90 80240F70 0200282D */ daddu $a1, $s0, $zero +/* 8ECD94 80240F74 0C019D80 */ jal guMtxCatF +/* 8ECD98 80240F78 0200302D */ daddu $a2, $s0, $zero +/* 8ECD9C 80240F7C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECDA0 80240F80 4600B587 */ neg.s $f22, $f22 +/* 8ECDA4 80240F84 4405A000 */ mfc1 $a1, $f20 +/* 8ECDA8 80240F88 4406B000 */ mfc1 $a2, $f22 +/* 8ECDAC 80240F8C 0C019E40 */ jal guTranslateF +/* 8ECDB0 80240F90 00A0382D */ daddu $a3, $a1, $zero +/* 8ECDB4 80240F94 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECDB8 80240F98 0200282D */ daddu $a1, $s0, $zero +/* 8ECDBC 80240F9C 0C019D80 */ jal guMtxCatF +/* 8ECDC0 80240FA0 00A0302D */ daddu $a2, $a1, $zero +/* 8ECDC4 80240FA4 96220000 */ lhu $v0, ($s1) +/* 8ECDC8 80240FA8 34421400 */ ori $v0, $v0, 0x1400 +/* 8ECDCC 80240FAC 0809040B */ j .L8024102C +/* 8ECDD0 80240FB0 A6220000 */ sh $v0, ($s1) +.L80240FB4: +/* 8ECDD4 80240FB4 4480A000 */ mtc1 $zero, $f20 +/* 8ECDD8 80240FB8 4406B000 */ mfc1 $a2, $f22 +/* 8ECDDC 80240FBC 4405A000 */ mfc1 $a1, $f20 +/* 8ECDE0 80240FC0 4407A000 */ mfc1 $a3, $f20 +/* 8ECDE4 80240FC4 0C019E40 */ jal guTranslateF +/* 8ECDE8 80240FC8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECDEC 80240FCC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECDF0 80240FD0 26300058 */ addiu $s0, $s1, 0x58 +/* 8ECDF4 80240FD4 0200282D */ daddu $a1, $s0, $zero +/* 8ECDF8 80240FD8 0C019D80 */ jal guMtxCatF +/* 8ECDFC 80240FDC 0200302D */ daddu $a2, $s0, $zero +/* 8ECE00 80240FE0 4405E000 */ mfc1 $a1, $f28 +/* 8ECE04 80240FE4 4406D000 */ mfc1 $a2, $f26 +/* 8ECE08 80240FE8 4407C000 */ mfc1 $a3, $f24 +/* 8ECE0C 80240FEC 0C090388 */ jal func_80240E20 +/* 8ECE10 80240FF0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECE14 80240FF4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECE18 80240FF8 0200282D */ daddu $a1, $s0, $zero +/* 8ECE1C 80240FFC 0C019D80 */ jal guMtxCatF +/* 8ECE20 80241000 0200302D */ daddu $a2, $s0, $zero +/* 8ECE24 80241004 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECE28 80241008 4600B587 */ neg.s $f22, $f22 +/* 8ECE2C 8024100C 4405A000 */ mfc1 $a1, $f20 +/* 8ECE30 80241010 4406B000 */ mfc1 $a2, $f22 +/* 8ECE34 80241014 0C019E40 */ jal guTranslateF +/* 8ECE38 80241018 00A0382D */ daddu $a3, $a1, $zero +/* 8ECE3C 8024101C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECE40 80241020 0200282D */ daddu $a1, $s0, $zero +/* 8ECE44 80241024 0C019D80 */ jal guMtxCatF +/* 8ECE48 80241028 00A0302D */ daddu $a2, $a1, $zero +.L8024102C: +/* 8ECE4C 8024102C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8ECE50 80241030 8FB20058 */ lw $s2, 0x58($sp) +/* 8ECE54 80241034 8FB10054 */ lw $s1, 0x54($sp) +/* 8ECE58 80241038 8FB00050 */ lw $s0, 0x50($sp) +/* 8ECE5C 8024103C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8ECE60 80241040 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8ECE64 80241044 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8ECE68 80241048 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8ECE6C 8024104C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8ECE70 80241050 24020002 */ addiu $v0, $zero, 2 +/* 8ECE74 80241054 03E00008 */ jr $ra +/* 8ECE78 80241058 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8ECE7C 8024105C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241060_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241060_8EBE20.s new file mode 100644 index 0000000000..8e9f8c1c3a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241060_8EBE20.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241060_8ECE80 +/* 8ECE80 80241060 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8ECE84 80241064 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8ECE88 80241068 4485A000 */ mtc1 $a1, $f20 +/* 8ECE8C 8024106C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8ECE90 80241070 4486B000 */ mtc1 $a2, $f22 +/* 8ECE94 80241074 AFB00010 */ sw $s0, 0x10($sp) +/* 8ECE98 80241078 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8ECE9C 8024107C 4487C000 */ mtc1 $a3, $f24 +/* 8ECEA0 80241080 AFBF0014 */ sw $ra, 0x14($sp) +/* 8ECEA4 80241084 0C019D28 */ jal guMtxIdentF +/* 8ECEA8 80241088 0080802D */ daddu $s0, $a0, $zero +/* 8ECEAC 8024108C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8ECEB0 80241090 00000000 */ nop +/* 8ECEB4 80241094 4618A502 */ mul.s $f20, $f20, $f24 +/* 8ECEB8 80241098 00000000 */ nop +/* 8ECEBC 8024109C 3C013F80 */ lui $at, 0x3f80 +/* 8ECEC0 802410A0 44810000 */ mtc1 $at, $f0 +/* 8ECEC4 802410A4 00000000 */ nop +/* 8ECEC8 802410A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8ECECC 802410AC E6160010 */ swc1 $f22, 0x10($s0) +/* 8ECED0 802410B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 8ECED4 802410B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8ECED8 802410B8 8FB00010 */ lw $s0, 0x10($sp) +/* 8ECEDC 802410BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8ECEE0 802410C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8ECEE4 802410C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8ECEE8 802410C8 03E00008 */ jr $ra +/* 8ECEEC 802410CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802410D0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802410D0.s new file mode 100644 index 0000000000..4a0431ddd6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802410D0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410D0 +/* 8ECEF0 802410D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8ECEF4 802410D4 AFB10054 */ sw $s1, 0x54($sp) +/* 8ECEF8 802410D8 0080882D */ daddu $s1, $a0, $zero +/* 8ECEFC 802410DC AFBF005C */ sw $ra, 0x5c($sp) +/* 8ECF00 802410E0 AFB20058 */ sw $s2, 0x58($sp) +/* 8ECF04 802410E4 AFB00050 */ sw $s0, 0x50($sp) +/* 8ECF08 802410E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8ECF0C 802410EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8ECF10 802410F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8ECF14 802410F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8ECF18 802410F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8ECF1C 802410FC 8E30000C */ lw $s0, 0xc($s1) +/* 8ECF20 80241100 8E050000 */ lw $a1, ($s0) +/* 8ECF24 80241104 0C0B1EAF */ jal get_variable +/* 8ECF28 80241108 26100004 */ addiu $s0, $s0, 4 +/* 8ECF2C 8024110C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8ECF30 80241110 0040202D */ daddu $a0, $v0, $zero +/* 8ECF34 80241114 8E050000 */ lw $a1, ($s0) +/* 8ECF38 80241118 26100004 */ addiu $s0, $s0, 4 +/* 8ECF3C 8024111C 0220202D */ daddu $a0, $s1, $zero +/* 8ECF40 80241120 0C0B210B */ jal get_float_variable +/* 8ECF44 80241124 0040902D */ daddu $s2, $v0, $zero +/* 8ECF48 80241128 8E050000 */ lw $a1, ($s0) +/* 8ECF4C 8024112C 26100004 */ addiu $s0, $s0, 4 +/* 8ECF50 80241130 0220202D */ daddu $a0, $s1, $zero +/* 8ECF54 80241134 0C0B210B */ jal get_float_variable +/* 8ECF58 80241138 46000706 */ mov.s $f28, $f0 +/* 8ECF5C 8024113C 8E050000 */ lw $a1, ($s0) +/* 8ECF60 80241140 26100004 */ addiu $s0, $s0, 4 +/* 8ECF64 80241144 0220202D */ daddu $a0, $s1, $zero +/* 8ECF68 80241148 0C0B210B */ jal get_float_variable +/* 8ECF6C 8024114C 46000686 */ mov.s $f26, $f0 +/* 8ECF70 80241150 0220202D */ daddu $a0, $s1, $zero +/* 8ECF74 80241154 8E050000 */ lw $a1, ($s0) +/* 8ECF78 80241158 0C0B210B */ jal get_float_variable +/* 8ECF7C 8024115C 46000586 */ mov.s $f22, $f0 +/* 8ECF80 80241160 0240202D */ daddu $a0, $s2, $zero +/* 8ECF84 80241164 0C046B4C */ jal get_model_from_list_index +/* 8ECF88 80241168 46000606 */ mov.s $f24, $f0 +/* 8ECF8C 8024116C 0040882D */ daddu $s1, $v0, $zero +/* 8ECF90 80241170 96220000 */ lhu $v0, ($s1) +/* 8ECF94 80241174 30420400 */ andi $v0, $v0, 0x400 +/* 8ECF98 80241178 1440001E */ bnez $v0, .L802411F4 +/* 8ECF9C 8024117C 26300058 */ addiu $s0, $s1, 0x58 +/* 8ECFA0 80241180 4480A000 */ mtc1 $zero, $f20 +/* 8ECFA4 80241184 4406B000 */ mfc1 $a2, $f22 +/* 8ECFA8 80241188 4405A000 */ mfc1 $a1, $f20 +/* 8ECFAC 8024118C 4407A000 */ mfc1 $a3, $f20 +/* 8ECFB0 80241190 0C019E40 */ jal guTranslateF +/* 8ECFB4 80241194 0200202D */ daddu $a0, $s0, $zero +/* 8ECFB8 80241198 4405E000 */ mfc1 $a1, $f28 +/* 8ECFBC 8024119C 4406D000 */ mfc1 $a2, $f26 +/* 8ECFC0 802411A0 4407C000 */ mfc1 $a3, $f24 +/* 8ECFC4 802411A4 0C090418 */ jal func_80241060 +/* 8ECFC8 802411A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECFCC 802411AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECFD0 802411B0 0200282D */ daddu $a1, $s0, $zero +/* 8ECFD4 802411B4 0C019D80 */ jal guMtxCatF +/* 8ECFD8 802411B8 0200302D */ daddu $a2, $s0, $zero +/* 8ECFDC 802411BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECFE0 802411C0 4600B587 */ neg.s $f22, $f22 +/* 8ECFE4 802411C4 4405A000 */ mfc1 $a1, $f20 +/* 8ECFE8 802411C8 4406B000 */ mfc1 $a2, $f22 +/* 8ECFEC 802411CC 0C019E40 */ jal guTranslateF +/* 8ECFF0 802411D0 00A0382D */ daddu $a3, $a1, $zero +/* 8ECFF4 802411D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ECFF8 802411D8 0200282D */ daddu $a1, $s0, $zero +/* 8ECFFC 802411DC 0C019D80 */ jal guMtxCatF +/* 8ED000 802411E0 00A0302D */ daddu $a2, $a1, $zero +/* 8ED004 802411E4 96220000 */ lhu $v0, ($s1) +/* 8ED008 802411E8 34421400 */ ori $v0, $v0, 0x1400 +/* 8ED00C 802411EC 0809049B */ j .L8024126C +/* 8ED010 802411F0 A6220000 */ sh $v0, ($s1) +.L802411F4: +/* 8ED014 802411F4 4480A000 */ mtc1 $zero, $f20 +/* 8ED018 802411F8 4406B000 */ mfc1 $a2, $f22 +/* 8ED01C 802411FC 4405A000 */ mfc1 $a1, $f20 +/* 8ED020 80241200 4407A000 */ mfc1 $a3, $f20 +/* 8ED024 80241204 0C019E40 */ jal guTranslateF +/* 8ED028 80241208 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED02C 8024120C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED030 80241210 26300058 */ addiu $s0, $s1, 0x58 +/* 8ED034 80241214 0200282D */ daddu $a1, $s0, $zero +/* 8ED038 80241218 0C019D80 */ jal guMtxCatF +/* 8ED03C 8024121C 0200302D */ daddu $a2, $s0, $zero +/* 8ED040 80241220 4405E000 */ mfc1 $a1, $f28 +/* 8ED044 80241224 4406D000 */ mfc1 $a2, $f26 +/* 8ED048 80241228 4407C000 */ mfc1 $a3, $f24 +/* 8ED04C 8024122C 0C090418 */ jal func_80241060 +/* 8ED050 80241230 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED054 80241234 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED058 80241238 0200282D */ daddu $a1, $s0, $zero +/* 8ED05C 8024123C 0C019D80 */ jal guMtxCatF +/* 8ED060 80241240 0200302D */ daddu $a2, $s0, $zero +/* 8ED064 80241244 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED068 80241248 4600B587 */ neg.s $f22, $f22 +/* 8ED06C 8024124C 4405A000 */ mfc1 $a1, $f20 +/* 8ED070 80241250 4406B000 */ mfc1 $a2, $f22 +/* 8ED074 80241254 0C019E40 */ jal guTranslateF +/* 8ED078 80241258 00A0382D */ daddu $a3, $a1, $zero +/* 8ED07C 8024125C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED080 80241260 0200282D */ daddu $a1, $s0, $zero +/* 8ED084 80241264 0C019D80 */ jal guMtxCatF +/* 8ED088 80241268 00A0302D */ daddu $a2, $a1, $zero +.L8024126C: +/* 8ED08C 8024126C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8ED090 80241270 8FB20058 */ lw $s2, 0x58($sp) +/* 8ED094 80241274 8FB10054 */ lw $s1, 0x54($sp) +/* 8ED098 80241278 8FB00050 */ lw $s0, 0x50($sp) +/* 8ED09C 8024127C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8ED0A0 80241280 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8ED0A4 80241284 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8ED0A8 80241288 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8ED0AC 8024128C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8ED0B0 80241290 24020002 */ addiu $v0, $zero, 2 +/* 8ED0B4 80241294 03E00008 */ jr $ra +/* 8ED0B8 80241298 27BD0088 */ addiu $sp, $sp, 0x88 +/* 8ED0BC 8024129C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802412A0_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412A0_8EBE20.s new file mode 100644 index 0000000000..59c2adb5fb --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412A0_8EBE20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412A0_8ED0C0 +/* 8ED0C0 802412A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED0C4 802412A4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED0C8 802412A8 0C03A625 */ jal func_800E9894 +/* 8ED0CC 802412AC 00000000 */ nop +/* 8ED0D0 802412B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED0D4 802412B4 24020002 */ addiu $v0, $zero, 2 +/* 8ED0D8 802412B8 03E00008 */ jr $ra +/* 8ED0DC 802412BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802412C0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412C0.s new file mode 100644 index 0000000000..cdcd9ab48e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412C0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C0 +/* 8ED0E0 802412C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED0E4 802412C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED0E8 802412C8 0C03A631 */ jal func_800E98C4 +/* 8ED0EC 802412CC 00000000 */ nop +/* 8ED0F0 802412D0 0C03A6DB */ jal sync_status_menu +/* 8ED0F4 802412D4 00000000 */ nop +/* 8ED0F8 802412D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED0FC 802412DC 24020002 */ addiu $v0, $zero, 2 +/* 8ED100 802412E0 03E00008 */ jr $ra +/* 8ED104 802412E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802412E8.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412E8.s new file mode 100644 index 0000000000..f27b4e02d2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802412E8.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E8 +/* 8ED108 802412E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED10C 802412EC AFB10014 */ sw $s1, 0x14($sp) +/* 8ED110 802412F0 0080882D */ daddu $s1, $a0, $zero +/* 8ED114 802412F4 AFBF0018 */ sw $ra, 0x18($sp) +/* 8ED118 802412F8 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED11C 802412FC 8E30000C */ lw $s0, 0xc($s1) +/* 8ED120 80241300 8E050000 */ lw $a1, ($s0) +/* 8ED124 80241304 0C0B1EAF */ jal get_variable +/* 8ED128 80241308 26100004 */ addiu $s0, $s0, 4 +/* 8ED12C 8024130C 0220202D */ daddu $a0, $s1, $zero +/* 8ED130 80241310 8E050000 */ lw $a1, ($s0) +/* 8ED134 80241314 0C0B1EAF */ jal get_variable +/* 8ED138 80241318 0040882D */ daddu $s1, $v0, $zero +/* 8ED13C 8024131C 0000202D */ daddu $a0, $zero, $zero +/* 8ED140 80241320 0080282D */ daddu $a1, $a0, $zero +/* 8ED144 80241324 0040802D */ daddu $s0, $v0, $zero +/* 8ED148 80241328 240600BE */ addiu $a2, $zero, 0xbe +/* 8ED14C 8024132C 0C04DF93 */ jal func_80137E4C +/* 8ED150 80241330 24070091 */ addiu $a3, $zero, 0x91 +/* 8ED154 80241334 44900000 */ mtc1 $s0, $f0 +/* 8ED158 80241338 00000000 */ nop +/* 8ED15C 8024133C 46800020 */ cvt.s.w $f0, $f0 +/* 8ED160 80241340 44050000 */ mfc1 $a1, $f0 +/* 8ED164 80241344 0C04DF62 */ jal func_80137D88 +/* 8ED168 80241348 322400FF */ andi $a0, $s1, 0xff +/* 8ED16C 8024134C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8ED170 80241350 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED174 80241354 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED178 80241358 24020002 */ addiu $v0, $zero, 2 +/* 8ED17C 8024135C 03E00008 */ jr $ra +/* 8ED180 80241360 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241364.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241364.s new file mode 100644 index 0000000000..84996f78d5 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241364.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241364 +/* 8ED184 80241364 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED188 80241368 AFB10014 */ sw $s1, 0x14($sp) +/* 8ED18C 8024136C 0080882D */ daddu $s1, $a0, $zero +/* 8ED190 80241370 AFBF0018 */ sw $ra, 0x18($sp) +/* 8ED194 80241374 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED198 80241378 8E30000C */ lw $s0, 0xc($s1) +/* 8ED19C 8024137C 8E050000 */ lw $a1, ($s0) +/* 8ED1A0 80241380 0C0B1EAF */ jal get_variable +/* 8ED1A4 80241384 26100004 */ addiu $s0, $s0, 4 +/* 8ED1A8 80241388 0220202D */ daddu $a0, $s1, $zero +/* 8ED1AC 8024138C 8E050000 */ lw $a1, ($s0) +/* 8ED1B0 80241390 0C0B1EAF */ jal get_variable +/* 8ED1B4 80241394 0040802D */ daddu $s0, $v0, $zero +/* 8ED1B8 80241398 44820000 */ mtc1 $v0, $f0 +/* 8ED1BC 8024139C 00000000 */ nop +/* 8ED1C0 802413A0 46800020 */ cvt.s.w $f0, $f0 +/* 8ED1C4 802413A4 24020002 */ addiu $v0, $zero, 2 +/* 8ED1C8 802413A8 00501804 */ sllv $v1, $s0, $v0 +/* 8ED1CC 802413AC 00701821 */ addu $v1, $v1, $s0 +/* 8ED1D0 802413B0 00431804 */ sllv $v1, $v1, $v0 +/* 8ED1D4 802413B4 00701823 */ subu $v1, $v1, $s0 +/* 8ED1D8 802413B8 000320C0 */ sll $a0, $v1, 3 +/* 8ED1DC 802413BC 00641821 */ addu $v1, $v1, $a0 +/* 8ED1E0 802413C0 000318C0 */ sll $v1, $v1, 3 +/* 8ED1E4 802413C4 3C01800B */ lui $at, 0x800b +/* 8ED1E8 802413C8 00230821 */ addu $at, $at, $v1 +/* 8ED1EC 802413CC E4201D98 */ swc1 $f0, 0x1d98($at) +/* 8ED1F0 802413D0 8FBF0018 */ lw $ra, 0x18($sp) +/* 8ED1F4 802413D4 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED1F8 802413D8 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED1FC 802413DC 03E00008 */ jr $ra +/* 8ED200 802413E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802413E4.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802413E4.s new file mode 100644 index 0000000000..809ae86872 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802413E4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413E4 +/* 8ED204 802413E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED208 802413E8 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED20C 802413EC 8C82000C */ lw $v0, 0xc($a0) +/* 8ED210 802413F0 0C0B1EAF */ jal get_variable +/* 8ED214 802413F4 8C450000 */ lw $a1, ($v0) +/* 8ED218 802413F8 0C0B1059 */ jal does_script_exist +/* 8ED21C 802413FC 0040202D */ daddu $a0, $v0, $zero +/* 8ED220 80241400 2C420001 */ sltiu $v0, $v0, 1 +/* 8ED224 80241404 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED228 80241408 00021040 */ sll $v0, $v0, 1 +/* 8ED22C 8024140C 03E00008 */ jr $ra +/* 8ED230 80241410 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241414.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241414.s new file mode 100644 index 0000000000..45a140118f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241414.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241414 +/* 8ED234 80241414 3C028011 */ lui $v0, 0x8011 +/* 8ED238 80241418 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 8ED23C 8024141C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED240 80241420 10400003 */ beqz $v0, .L80241430 +/* 8ED244 80241424 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED248 80241428 0C03AE06 */ jal partner_suspend_ability_script +/* 8ED24C 8024142C 00000000 */ nop +.L80241430: +/* 8ED250 80241430 24020002 */ addiu $v0, $zero, 2 +/* 8ED254 80241434 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED258 80241438 03E00008 */ jr $ra +/* 8ED25C 8024143C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241440.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241440.s new file mode 100644 index 0000000000..25c23acff9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241440.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241440 +/* 8ED260 80241440 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED264 80241444 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED268 80241448 0C03AE18 */ jal partner_resume_ability_script +/* 8ED26C 8024144C 00000000 */ nop +/* 8ED270 80241450 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED274 80241454 24020002 */ addiu $v0, $zero, 2 +/* 8ED278 80241458 03E00008 */ jr $ra +/* 8ED27C 8024145C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241460.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241460.s new file mode 100644 index 0000000000..77f2c40a18 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241460.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241460 +/* 8ED280 80241460 3C058011 */ lui $a1, %hi(gPlayerData) +/* 8ED284 80241464 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 8ED288 80241468 AC800088 */ sw $zero, 0x88($a0) +/* 8ED28C 8024146C 80A30003 */ lb $v1, 3($a1) +/* 8ED290 80241470 80A20002 */ lb $v0, 2($a1) +/* 8ED294 80241474 1462000B */ bne $v1, $v0, .L802414A4 +/* 8ED298 80241478 00A0302D */ daddu $a2, $a1, $zero +/* 8ED29C 8024147C 80A30006 */ lb $v1, 6($a1) +/* 8ED2A0 80241480 80A20005 */ lb $v0, 5($a1) +/* 8ED2A4 80241484 14620007 */ bne $v1, $v0, .L802414A4 +/* 8ED2A8 80241488 00000000 */ nop +/* 8ED2AC 8024148C 80C2028E */ lb $v0, 0x28e($a2) +/* 8ED2B0 80241490 84C30290 */ lh $v1, 0x290($a2) +/* 8ED2B4 80241494 00021200 */ sll $v0, $v0, 8 +/* 8ED2B8 80241498 14620004 */ bne $v1, $v0, .L802414AC +/* 8ED2BC 8024149C 24020001 */ addiu $v0, $zero, 1 +/* 8ED2C0 802414A0 AC820088 */ sw $v0, 0x88($a0) +.L802414A4: +/* 8ED2C4 802414A4 03E00008 */ jr $ra +/* 8ED2C8 802414A8 24020002 */ addiu $v0, $zero, 2 +.L802414AC: +/* 8ED2CC 802414AC 03E00008 */ jr $ra +/* 8ED2D0 802414B0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802414B4.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802414B4.s new file mode 100644 index 0000000000..fa3086dc5a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802414B4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414B4 +/* 8ED2D4 802414B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED2D8 802414B8 AFB10014 */ sw $s1, 0x14($sp) +/* 8ED2DC 802414BC 0080882D */ daddu $s1, $a0, $zero +/* 8ED2E0 802414C0 AFBF001C */ sw $ra, 0x1c($sp) +/* 8ED2E4 802414C4 AFB20018 */ sw $s2, 0x18($sp) +/* 8ED2E8 802414C8 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED2EC 802414CC 8E30000C */ lw $s0, 0xc($s1) +/* 8ED2F0 802414D0 8E050000 */ lw $a1, ($s0) +/* 8ED2F4 802414D4 0C0B1EAF */ jal get_variable +/* 8ED2F8 802414D8 26100004 */ addiu $s0, $s0, 4 +/* 8ED2FC 802414DC 8E050000 */ lw $a1, ($s0) +/* 8ED300 802414E0 26100004 */ addiu $s0, $s0, 4 +/* 8ED304 802414E4 0220202D */ daddu $a0, $s1, $zero +/* 8ED308 802414E8 0C0B1EAF */ jal get_variable +/* 8ED30C 802414EC 0040902D */ daddu $s2, $v0, $zero +/* 8ED310 802414F0 0220202D */ daddu $a0, $s1, $zero +/* 8ED314 802414F4 8E050000 */ lw $a1, ($s0) +/* 8ED318 802414F8 0C0B1EAF */ jal get_variable +/* 8ED31C 802414FC 0040802D */ daddu $s0, $v0, $zero +/* 8ED320 80241500 0000202D */ daddu $a0, $zero, $zero +/* 8ED324 80241504 324500FF */ andi $a1, $s2, 0xff +/* 8ED328 80241508 320600FF */ andi $a2, $s0, 0xff +/* 8ED32C 8024150C 0C04DF84 */ jal func_80137E10 +/* 8ED330 80241510 304700FF */ andi $a3, $v0, 0xff +/* 8ED334 80241514 8FBF001C */ lw $ra, 0x1c($sp) +/* 8ED338 80241518 8FB20018 */ lw $s2, 0x18($sp) +/* 8ED33C 8024151C 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED340 80241520 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED344 80241524 24020002 */ addiu $v0, $zero, 2 +/* 8ED348 80241528 03E00008 */ jr $ra +/* 8ED34C 8024152C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241530.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241530.s new file mode 100644 index 0000000000..0c90a923fa --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241530.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241530 +/* 8ED350 80241530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED354 80241534 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED358 80241538 8C82000C */ lw $v0, 0xc($a0) +/* 8ED35C 8024153C 3C068011 */ lui $a2, 0x8011 +/* 8ED360 80241540 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* 8ED364 80241544 0C0B2026 */ jal set_variable +/* 8ED368 80241548 8C450000 */ lw $a1, ($v0) +/* 8ED36C 8024154C 0C03AC5A */ jal func_800EB168 +/* 8ED370 80241550 0000202D */ daddu $a0, $zero, $zero +/* 8ED374 80241554 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED378 80241558 24020002 */ addiu $v0, $zero, 2 +/* 8ED37C 8024155C 03E00008 */ jr $ra +/* 8ED380 80241560 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241564.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241564.s new file mode 100644 index 0000000000..b3f70f67c3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241564.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241564 +/* 8ED384 80241564 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED388 80241568 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED38C 8024156C 8C82000C */ lw $v0, 0xc($a0) +/* 8ED390 80241570 0C0B1EAF */ jal get_variable +/* 8ED394 80241574 8C450000 */ lw $a1, ($v0) +/* 8ED398 80241578 00021600 */ sll $v0, $v0, 0x18 +/* 8ED39C 8024157C 0C03AC5A */ jal func_800EB168 +/* 8ED3A0 80241580 00022603 */ sra $a0, $v0, 0x18 +/* 8ED3A4 80241584 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED3A8 80241588 24020002 */ addiu $v0, $zero, 2 +/* 8ED3AC 8024158C 03E00008 */ jr $ra +/* 8ED3B0 80241590 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241594.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241594.s new file mode 100644 index 0000000000..251b7d7e9a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241594.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241594 +/* 8ED3B4 80241594 03E00008 */ jr $ra +/* 8ED3B8 80241598 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_8024159C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024159C.s new file mode 100644 index 0000000000..f06392957b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024159C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024159C +/* 8ED3BC 8024159C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED3C0 802415A0 0000202D */ daddu $a0, $zero, $zero +/* 8ED3C4 802415A4 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8ED3C8 802415A8 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED3CC 802415AC 0C01559B */ jal func_8005566C +/* 8ED3D0 802415B0 24060001 */ addiu $a2, $zero, 1 +/* 8ED3D4 802415B4 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED3D8 802415B8 24020002 */ addiu $v0, $zero, 2 +/* 8ED3DC 802415BC 03E00008 */ jr $ra +/* 8ED3E0 802415C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802415C4.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802415C4.s new file mode 100644 index 0000000000..b72627bb24 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802415C4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C4 +/* 8ED3E4 802415C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED3E8 802415C8 0000202D */ daddu $a0, $zero, $zero +/* 8ED3EC 802415CC 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8ED3F0 802415D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED3F4 802415D4 0C01559B */ jal func_8005566C +/* 8ED3F8 802415D8 2406003F */ addiu $a2, $zero, 0x3f +/* 8ED3FC 802415DC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED400 802415E0 24020002 */ addiu $v0, $zero, 2 +/* 8ED404 802415E4 03E00008 */ jr $ra +/* 8ED408 802415E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802415EC.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802415EC.s new file mode 100644 index 0000000000..7d39e4d61a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802415EC.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415EC +/* 8ED40C 802415EC 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 8ED410 802415F0 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 8ED414 802415F4 AC800084 */ sw $zero, 0x84($a0) +/* 8ED418 802415F8 80620000 */ lb $v0, ($v1) +/* 8ED41C 802415FC 10400005 */ beqz $v0, .L80241614 +/* 8ED420 80241600 24020003 */ addiu $v0, $zero, 3 +/* 8ED424 80241604 80630003 */ lb $v1, 3($v1) +/* 8ED428 80241608 14620002 */ bne $v1, $v0, .L80241614 +/* 8ED42C 8024160C 24020001 */ addiu $v0, $zero, 1 +/* 8ED430 80241610 AC820084 */ sw $v0, 0x84($a0) +.L80241614: +/* 8ED434 80241614 03E00008 */ jr $ra +/* 8ED438 80241618 24020002 */ addiu $v0, $zero, 2 +/* 8ED43C 8024161C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241620.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241620.s new file mode 100644 index 0000000000..84bfd7534d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241620.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241620 +/* 8ED440 80241620 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED444 80241624 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED448 80241628 3C108025 */ lui $s0, 0x8025 +/* 8ED44C 8024162C 2610A908 */ addiu $s0, $s0, -0x56f8 +/* 8ED450 80241630 AFBF0018 */ sw $ra, 0x18($sp) +/* 8ED454 80241634 AFB10014 */ sw $s1, 0x14($sp) +/* 8ED458 80241638 8E020000 */ lw $v0, ($s0) +/* 8ED45C 8024163C 14400010 */ bnez $v0, .L80241680 +/* 8ED460 80241640 0080882D */ daddu $s1, $a0, $zero +/* 8ED464 80241644 0C00AB39 */ jal heap_malloc +/* 8ED468 80241648 24040040 */ addiu $a0, $zero, 0x40 +/* 8ED46C 8024164C AE020000 */ sw $v0, ($s0) +/* 8ED470 80241650 0000182D */ daddu $v1, $zero, $zero +/* 8ED474 80241654 0040282D */ daddu $a1, $v0, $zero +/* 8ED478 80241658 0220202D */ daddu $a0, $s1, $zero +.L8024165C: +/* 8ED47C 8024165C 8C820084 */ lw $v0, 0x84($a0) +/* 8ED480 80241660 24840004 */ addiu $a0, $a0, 4 +/* 8ED484 80241664 24630001 */ addiu $v1, $v1, 1 +/* 8ED488 80241668 ACA20000 */ sw $v0, ($a1) +/* 8ED48C 8024166C 28620010 */ slti $v0, $v1, 0x10 +/* 8ED490 80241670 1440FFFA */ bnez $v0, .L8024165C +/* 8ED494 80241674 24A50004 */ addiu $a1, $a1, 4 +/* 8ED498 80241678 080905AF */ j .L802416BC +/* 8ED49C 8024167C 00000000 */ nop +.L80241680: +/* 8ED4A0 80241680 0000182D */ daddu $v1, $zero, $zero +/* 8ED4A4 80241684 0040282D */ daddu $a1, $v0, $zero +/* 8ED4A8 80241688 0220202D */ daddu $a0, $s1, $zero +.L8024168C: +/* 8ED4AC 8024168C 8CA20000 */ lw $v0, ($a1) +/* 8ED4B0 80241690 24A50004 */ addiu $a1, $a1, 4 +/* 8ED4B4 80241694 24630001 */ addiu $v1, $v1, 1 +/* 8ED4B8 80241698 AC820084 */ sw $v0, 0x84($a0) +/* 8ED4BC 8024169C 28620010 */ slti $v0, $v1, 0x10 +/* 8ED4C0 802416A0 1440FFFA */ bnez $v0, .L8024168C +/* 8ED4C4 802416A4 24840004 */ addiu $a0, $a0, 4 +/* 8ED4C8 802416A8 3C108025 */ lui $s0, 0x8025 +/* 8ED4CC 802416AC 2610A908 */ addiu $s0, $s0, -0x56f8 +/* 8ED4D0 802416B0 0C00AB4B */ jal heap_free +/* 8ED4D4 802416B4 8E040000 */ lw $a0, ($s0) +/* 8ED4D8 802416B8 AE000000 */ sw $zero, ($s0) +.L802416BC: +/* 8ED4DC 802416BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8ED4E0 802416C0 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED4E4 802416C4 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED4E8 802416C8 24020002 */ addiu $v0, $zero, 2 +/* 8ED4EC 802416CC 03E00008 */ jr $ra +/* 8ED4F0 802416D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802416D4.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802416D4.s new file mode 100644 index 0000000000..ef823c3d18 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802416D4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416D4 +/* 8ED4F4 802416D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED4F8 802416D8 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED4FC 802416DC 0080802D */ daddu $s0, $a0, $zero +/* 8ED500 802416E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8ED504 802416E4 AFB10014 */ sw $s1, 0x14($sp) +/* 8ED508 802416E8 8E02000C */ lw $v0, 0xc($s0) +/* 8ED50C 802416EC 8C510000 */ lw $s1, ($v0) +/* 8ED510 802416F0 0C0B1EAF */ jal get_variable +/* 8ED514 802416F4 0220282D */ daddu $a1, $s1, $zero +/* 8ED518 802416F8 3C03FFF0 */ lui $v1, 0xfff0 +/* 8ED51C 802416FC 3463FFFF */ ori $v1, $v1, 0xffff +/* 8ED520 80241700 0200202D */ daddu $a0, $s0, $zero +/* 8ED524 80241704 00431024 */ and $v0, $v0, $v1 +/* 8ED528 80241708 00021140 */ sll $v0, $v0, 5 +/* 8ED52C 8024170C 3C068008 */ lui $a2, %hi(gItemTable) +/* 8ED530 80241710 00C23021 */ addu $a2, $a2, $v0 +/* 8ED534 80241714 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 8ED538 80241718 0C0B2026 */ jal set_variable +/* 8ED53C 8024171C 0220282D */ daddu $a1, $s1, $zero +/* 8ED540 80241720 8FBF0018 */ lw $ra, 0x18($sp) +/* 8ED544 80241724 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED548 80241728 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED54C 8024172C 24020002 */ addiu $v0, $zero, 2 +/* 8ED550 80241730 03E00008 */ jr $ra +/* 8ED554 80241734 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241738.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241738.s new file mode 100644 index 0000000000..a5b275d841 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241738.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241738 +/* 8ED558 80241738 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED55C 8024173C AFBF0010 */ sw $ra, 0x10($sp) +/* 8ED560 80241740 0C04417A */ jal get_entity_by_index +/* 8ED564 80241744 0000202D */ daddu $a0, $zero, $zero +/* 8ED568 80241748 50400007 */ beql $v0, $zero, .L80241768 +/* 8ED56C 8024174C 0000102D */ daddu $v0, $zero, $zero +/* 8ED570 80241750 84440014 */ lh $a0, 0x14($v0) +/* 8ED574 80241754 3C050000 */ lui $a1, 0 +/* 8ED578 80241758 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* 8ED57C 8024175C 0C048052 */ jal play_model_animation +/* 8ED580 80241760 00000000 */ nop +/* 8ED584 80241764 24020002 */ addiu $v0, $zero, 2 +.L80241768: +/* 8ED588 80241768 8FBF0010 */ lw $ra, 0x10($sp) +/* 8ED58C 8024176C 03E00008 */ jr $ra +/* 8ED590 80241770 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8ED594 80241774 00000000 */ nop +/* 8ED598 80241778 00000000 */ nop +/* 8ED59C 8024177C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241780.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241780.s new file mode 100644 index 0000000000..fda02dce32 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241780.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241780 +/* 8ED5A0 80241780 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8ED5A4 80241784 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8ED5A8 80241788 8C430004 */ lw $v1, 4($v0) +/* 8ED5AC 8024178C 3C040010 */ lui $a0, 0x10 +/* 8ED5B0 80241790 00641825 */ or $v1, $v1, $a0 +/* 8ED5B4 80241794 AC430004 */ sw $v1, 4($v0) +/* 8ED5B8 80241798 03E00008 */ jr $ra +/* 8ED5BC 8024179C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802417A0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802417A0.s new file mode 100644 index 0000000000..d09ff232ca --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802417A0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A0 +/* 8ED5C0 802417A0 3C028016 */ lui $v0, 0x8016 +/* 8ED5C4 802417A4 8442A552 */ lh $v0, -0x5aae($v0) +/* 8ED5C8 802417A8 AC820084 */ sw $v0, 0x84($a0) +/* 8ED5CC 802417AC 03E00008 */ jr $ra +/* 8ED5D0 802417B0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802417B4.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802417B4.s new file mode 100644 index 0000000000..24c15e111c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802417B4.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417B4 +/* 8ED5D4 802417B4 3C038016 */ lui $v1, 0x8016 +/* 8ED5D8 802417B8 8463A552 */ lh $v1, -0x5aae($v1) +/* 8ED5DC 802417BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED5E0 802417C0 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED5E4 802417C4 0080802D */ daddu $s0, $a0, $zero +/* 8ED5E8 802417C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 8ED5EC 802417CC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8ED5F0 802417D0 10620003 */ beq $v1, $v0, .L802417E0 +/* 8ED5F4 802417D4 24020002 */ addiu $v0, $zero, 2 +/* 8ED5F8 802417D8 08090618 */ j .L80241860 +/* 8ED5FC 802417DC AE000084 */ sw $zero, 0x84($s0) +.L802417E0: +/* 8ED600 802417E0 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8ED604 802417E4 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8ED608 802417E8 80620040 */ lb $v0, 0x40($v1) +/* 8ED60C 802417EC 80670044 */ lb $a3, 0x44($v1) +/* 8ED610 802417F0 04420001 */ bltzl $v0, .L802417F8 +/* 8ED614 802417F4 00021023 */ negu $v0, $v0 +.L802417F8: +/* 8ED618 802417F8 14400003 */ bnez $v0, .L80241808 +/* 8ED61C 802417FC 00000000 */ nop +/* 8ED620 80241800 50E00017 */ beql $a3, $zero, .L80241860 +/* 8ED624 80241804 0000102D */ daddu $v0, $zero, $zero +.L80241808: +/* 8ED628 80241808 44822000 */ mtc1 $v0, $f4 +/* 8ED62C 8024180C 00000000 */ nop +/* 8ED630 80241810 46802120 */ cvt.s.w $f4, $f4 +/* 8ED634 80241814 44062000 */ mfc1 $a2, $f4 +/* 8ED638 80241818 44872000 */ mtc1 $a3, $f4 +/* 8ED63C 8024181C 00000000 */ nop +/* 8ED640 80241820 46802120 */ cvt.s.w $f4, $f4 +/* 8ED644 80241824 44806000 */ mtc1 $zero, $f12 +/* 8ED648 80241828 44072000 */ mfc1 $a3, $f4 +/* 8ED64C 8024182C 0C00A720 */ jal atan2 +/* 8ED650 80241830 46006386 */ mov.s $f14, $f12 +/* 8ED654 80241834 3C014270 */ lui $at, 0x4270 +/* 8ED658 80241838 44811000 */ mtc1 $at, $f2 +/* 8ED65C 8024183C 00000000 */ nop +/* 8ED660 80241840 4602003C */ c.lt.s $f0, $f2 +/* 8ED664 80241844 00000000 */ nop +/* 8ED668 80241848 45000004 */ bc1f .L8024185C +/* 8ED66C 8024184C 24020001 */ addiu $v0, $zero, 1 +/* 8ED670 80241850 AE020084 */ sw $v0, 0x84($s0) +/* 8ED674 80241854 08090618 */ j .L80241860 +/* 8ED678 80241858 24020002 */ addiu $v0, $zero, 2 +.L8024185C: +/* 8ED67C 8024185C 0000102D */ daddu $v0, $zero, $zero +.L80241860: +/* 8ED680 80241860 8FBF0014 */ lw $ra, 0x14($sp) +/* 8ED684 80241864 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED688 80241868 03E00008 */ jr $ra +/* 8ED68C 8024186C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241870.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241870.s new file mode 100644 index 0000000000..8f12c9f739 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241870.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241870 +/* 8ED690 80241870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8ED694 80241874 AFB10014 */ sw $s1, 0x14($sp) +/* 8ED698 80241878 0080882D */ daddu $s1, $a0, $zero +/* 8ED69C 8024187C AFBF001C */ sw $ra, 0x1c($sp) +/* 8ED6A0 80241880 AFB20018 */ sw $s2, 0x18($sp) +/* 8ED6A4 80241884 0C016AFA */ jal get_current_map_header +/* 8ED6A8 80241888 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED6AC 8024188C 0220202D */ daddu $a0, $s1, $zero +/* 8ED6B0 80241890 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED6B4 80241894 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8ED6B8 80241898 0C0B1EAF */ jal get_variable +/* 8ED6BC 8024189C 0040902D */ daddu $s2, $v0, $zero +/* 8ED6C0 802418A0 0220202D */ daddu $a0, $s1, $zero +/* 8ED6C4 802418A4 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED6C8 802418A8 8E430014 */ lw $v1, 0x14($s2) +/* 8ED6CC 802418AC 00028100 */ sll $s0, $v0, 4 +/* 8ED6D0 802418B0 02031821 */ addu $v1, $s0, $v1 +/* 8ED6D4 802418B4 C4600000 */ lwc1 $f0, ($v1) +/* 8ED6D8 802418B8 4600008D */ trunc.w.s $f2, $f0 +/* 8ED6DC 802418BC 44061000 */ mfc1 $a2, $f2 +/* 8ED6E0 802418C0 0C0B2026 */ jal set_variable +/* 8ED6E4 802418C4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8ED6E8 802418C8 0220202D */ daddu $a0, $s1, $zero +/* 8ED6EC 802418CC 8E420014 */ lw $v0, 0x14($s2) +/* 8ED6F0 802418D0 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED6F4 802418D4 02021021 */ addu $v0, $s0, $v0 +/* 8ED6F8 802418D8 C4400004 */ lwc1 $f0, 4($v0) +/* 8ED6FC 802418DC 4600008D */ trunc.w.s $f2, $f0 +/* 8ED700 802418E0 44061000 */ mfc1 $a2, $f2 +/* 8ED704 802418E4 0C0B2026 */ jal set_variable +/* 8ED708 802418E8 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8ED70C 802418EC 0220202D */ daddu $a0, $s1, $zero +/* 8ED710 802418F0 8E420014 */ lw $v0, 0x14($s2) +/* 8ED714 802418F4 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED718 802418F8 02021021 */ addu $v0, $s0, $v0 +/* 8ED71C 802418FC C4400008 */ lwc1 $f0, 8($v0) +/* 8ED720 80241900 4600008D */ trunc.w.s $f2, $f0 +/* 8ED724 80241904 44061000 */ mfc1 $a2, $f2 +/* 8ED728 80241908 0C0B2026 */ jal set_variable +/* 8ED72C 8024190C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8ED730 80241910 0220202D */ daddu $a0, $s1, $zero +/* 8ED734 80241914 8E420014 */ lw $v0, 0x14($s2) +/* 8ED738 80241918 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED73C 8024191C 02028021 */ addu $s0, $s0, $v0 +/* 8ED740 80241920 C600000C */ lwc1 $f0, 0xc($s0) +/* 8ED744 80241924 4600008D */ trunc.w.s $f2, $f0 +/* 8ED748 80241928 44061000 */ mfc1 $a2, $f2 +/* 8ED74C 8024192C 0C0B2026 */ jal set_variable +/* 8ED750 80241930 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8ED754 80241934 8FBF001C */ lw $ra, 0x1c($sp) +/* 8ED758 80241938 8FB20018 */ lw $s2, 0x18($sp) +/* 8ED75C 8024193C 8FB10014 */ lw $s1, 0x14($sp) +/* 8ED760 80241940 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED764 80241944 24020002 */ addiu $v0, $zero, 2 +/* 8ED768 80241948 03E00008 */ jr $ra +/* 8ED76C 8024194C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241950_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241950_8EBE20.s new file mode 100644 index 0000000000..794cb7ffad --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241950_8EBE20.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241950_8ED770 +/* 8ED770 80241950 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8ED774 80241954 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8ED778 80241958 3C014334 */ lui $at, 0x4334 +/* 8ED77C 8024195C 44816000 */ mtc1 $at, $f12 +/* 8ED780 80241960 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8ED784 80241964 AFBF0014 */ sw $ra, 0x14($sp) +/* 8ED788 80241968 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED78C 8024196C 00031080 */ sll $v0, $v1, 2 +/* 8ED790 80241970 00431021 */ addu $v0, $v0, $v1 +/* 8ED794 80241974 00021080 */ sll $v0, $v0, 2 +/* 8ED798 80241978 00431023 */ subu $v0, $v0, $v1 +/* 8ED79C 8024197C 000218C0 */ sll $v1, $v0, 3 +/* 8ED7A0 80241980 00431021 */ addu $v0, $v0, $v1 +/* 8ED7A4 80241984 000210C0 */ sll $v0, $v0, 3 +/* 8ED7A8 80241988 3C01800B */ lui $at, 0x800b +/* 8ED7AC 8024198C 00220821 */ addu $at, $at, $v0 +/* 8ED7B0 80241990 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8ED7B4 80241994 460C0300 */ add.s $f12, $f0, $f12 +/* 8ED7B8 80241998 0C00A6C9 */ jal clamp_angle +/* 8ED7BC 8024199C 0080802D */ daddu $s0, $a0, $zero +/* 8ED7C0 802419A0 4600008D */ trunc.w.s $f2, $f0 +/* 8ED7C4 802419A4 E6020084 */ swc1 $f2, 0x84($s0) +/* 8ED7C8 802419A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8ED7CC 802419AC 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED7D0 802419B0 24020002 */ addiu $v0, $zero, 2 +/* 8ED7D4 802419B4 03E00008 */ jr $ra +/* 8ED7D8 802419B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802419BC.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802419BC.s new file mode 100644 index 0000000000..e31742e78b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802419BC.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419BC +/* 8ED7DC 802419BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8ED7E0 802419C0 AFB00018 */ sw $s0, 0x18($sp) +/* 8ED7E4 802419C4 0080802D */ daddu $s0, $a0, $zero +/* 8ED7E8 802419C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8ED7EC 802419CC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8ED7F0 802419D0 8E02000C */ lw $v0, 0xc($s0) +/* 8ED7F4 802419D4 0C0B210B */ jal get_float_variable +/* 8ED7F8 802419D8 8C450000 */ lw $a1, ($v0) +/* 8ED7FC 802419DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED800 802419E0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8ED804 802419E4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8ED808 802419E8 44060000 */ mfc1 $a2, $f0 +/* 8ED80C 802419EC C4400028 */ lwc1 $f0, 0x28($v0) +/* 8ED810 802419F0 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8ED814 802419F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8ED818 802419F8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8ED81C 802419FC 8C470080 */ lw $a3, 0x80($v0) +/* 8ED820 80241A00 C454002C */ lwc1 $f20, 0x2c($v0) +/* 8ED824 80241A04 0C00A7E7 */ jal add_vec2D_polar +/* 8ED828 80241A08 27A50014 */ addiu $a1, $sp, 0x14 +/* 8ED82C 80241A0C 0200202D */ daddu $a0, $s0, $zero +/* 8ED830 80241A10 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED834 80241A14 8FA60010 */ lw $a2, 0x10($sp) +/* 8ED838 80241A18 0C0B2190 */ jal set_float_variable +/* 8ED83C 80241A1C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8ED840 80241A20 0200202D */ daddu $a0, $s0, $zero +/* 8ED844 80241A24 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED848 80241A28 4406A000 */ mfc1 $a2, $f20 +/* 8ED84C 80241A2C 0C0B2190 */ jal set_float_variable +/* 8ED850 80241A30 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8ED854 80241A34 0200202D */ daddu $a0, $s0, $zero +/* 8ED858 80241A38 3C05FE36 */ lui $a1, 0xfe36 +/* 8ED85C 80241A3C 8FA60014 */ lw $a2, 0x14($sp) +/* 8ED860 80241A40 0C0B2190 */ jal set_float_variable +/* 8ED864 80241A44 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8ED868 80241A48 8FBF001C */ lw $ra, 0x1c($sp) +/* 8ED86C 80241A4C 8FB00018 */ lw $s0, 0x18($sp) +/* 8ED870 80241A50 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8ED874 80241A54 24020002 */ addiu $v0, $zero, 2 +/* 8ED878 80241A58 03E00008 */ jr $ra +/* 8ED87C 80241A5C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241A60.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241A60.s new file mode 100644 index 0000000000..a2b49ef27a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241A60.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A60 +/* 8ED880 80241A60 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8ED884 80241A64 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8ED888 80241A68 4485A000 */ mtc1 $a1, $f20 +/* 8ED88C 80241A6C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8ED890 80241A70 4486B000 */ mtc1 $a2, $f22 +/* 8ED894 80241A74 AFB00010 */ sw $s0, 0x10($sp) +/* 8ED898 80241A78 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 8ED89C 80241A7C 4487C000 */ mtc1 $a3, $f24 +/* 8ED8A0 80241A80 AFBF0014 */ sw $ra, 0x14($sp) +/* 8ED8A4 80241A84 0C019D28 */ jal guMtxIdentF +/* 8ED8A8 80241A88 0080802D */ daddu $s0, $a0, $zero +/* 8ED8AC 80241A8C 4616A582 */ mul.s $f22, $f20, $f22 +/* 8ED8B0 80241A90 00000000 */ nop +/* 8ED8B4 80241A94 4618A502 */ mul.s $f20, $f20, $f24 +/* 8ED8B8 80241A98 00000000 */ nop +/* 8ED8BC 80241A9C 3C013F80 */ lui $at, 0x3f80 +/* 8ED8C0 80241AA0 44810000 */ mtc1 $at, $f0 +/* 8ED8C4 80241AA4 00000000 */ nop +/* 8ED8C8 80241AA8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8ED8CC 80241AAC E6160010 */ swc1 $f22, 0x10($s0) +/* 8ED8D0 80241AB0 E6140018 */ swc1 $f20, 0x18($s0) +/* 8ED8D4 80241AB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8ED8D8 80241AB8 8FB00010 */ lw $s0, 0x10($sp) +/* 8ED8DC 80241ABC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8ED8E0 80241AC0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8ED8E4 80241AC4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8ED8E8 80241AC8 03E00008 */ jr $ra +/* 8ED8EC 80241ACC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241AD0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241AD0.s new file mode 100644 index 0000000000..9cc5b40961 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241AD0.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AD0 +/* 8ED8F0 80241AD0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8ED8F4 80241AD4 AFB10054 */ sw $s1, 0x54($sp) +/* 8ED8F8 80241AD8 0080882D */ daddu $s1, $a0, $zero +/* 8ED8FC 80241ADC AFBF005C */ sw $ra, 0x5c($sp) +/* 8ED900 80241AE0 AFB20058 */ sw $s2, 0x58($sp) +/* 8ED904 80241AE4 AFB00050 */ sw $s0, 0x50($sp) +/* 8ED908 80241AE8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8ED90C 80241AEC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8ED910 80241AF0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8ED914 80241AF4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8ED918 80241AF8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8ED91C 80241AFC 8E30000C */ lw $s0, 0xc($s1) +/* 8ED920 80241B00 8E050000 */ lw $a1, ($s0) +/* 8ED924 80241B04 0C0B1EAF */ jal get_variable +/* 8ED928 80241B08 26100004 */ addiu $s0, $s0, 4 +/* 8ED92C 80241B0C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8ED930 80241B10 0040202D */ daddu $a0, $v0, $zero +/* 8ED934 80241B14 8E050000 */ lw $a1, ($s0) +/* 8ED938 80241B18 26100004 */ addiu $s0, $s0, 4 +/* 8ED93C 80241B1C 0220202D */ daddu $a0, $s1, $zero +/* 8ED940 80241B20 0C0B210B */ jal get_float_variable +/* 8ED944 80241B24 0040902D */ daddu $s2, $v0, $zero +/* 8ED948 80241B28 8E050000 */ lw $a1, ($s0) +/* 8ED94C 80241B2C 26100004 */ addiu $s0, $s0, 4 +/* 8ED950 80241B30 0220202D */ daddu $a0, $s1, $zero +/* 8ED954 80241B34 0C0B210B */ jal get_float_variable +/* 8ED958 80241B38 46000706 */ mov.s $f28, $f0 +/* 8ED95C 80241B3C 8E050000 */ lw $a1, ($s0) +/* 8ED960 80241B40 26100004 */ addiu $s0, $s0, 4 +/* 8ED964 80241B44 0220202D */ daddu $a0, $s1, $zero +/* 8ED968 80241B48 0C0B210B */ jal get_float_variable +/* 8ED96C 80241B4C 46000686 */ mov.s $f26, $f0 +/* 8ED970 80241B50 0220202D */ daddu $a0, $s1, $zero +/* 8ED974 80241B54 8E050000 */ lw $a1, ($s0) +/* 8ED978 80241B58 0C0B210B */ jal get_float_variable +/* 8ED97C 80241B5C 46000586 */ mov.s $f22, $f0 +/* 8ED980 80241B60 0240202D */ daddu $a0, $s2, $zero +/* 8ED984 80241B64 0C046B4C */ jal get_model_from_list_index +/* 8ED988 80241B68 46000606 */ mov.s $f24, $f0 +/* 8ED98C 80241B6C 0040882D */ daddu $s1, $v0, $zero +/* 8ED990 80241B70 96220000 */ lhu $v0, ($s1) +/* 8ED994 80241B74 30420400 */ andi $v0, $v0, 0x400 +/* 8ED998 80241B78 1440001E */ bnez $v0, .L80241BF4 +/* 8ED99C 80241B7C 26300058 */ addiu $s0, $s1, 0x58 +/* 8ED9A0 80241B80 4480A000 */ mtc1 $zero, $f20 +/* 8ED9A4 80241B84 4406B000 */ mfc1 $a2, $f22 +/* 8ED9A8 80241B88 4405A000 */ mfc1 $a1, $f20 +/* 8ED9AC 80241B8C 4407A000 */ mfc1 $a3, $f20 +/* 8ED9B0 80241B90 0C019E40 */ jal guTranslateF +/* 8ED9B4 80241B94 0200202D */ daddu $a0, $s0, $zero +/* 8ED9B8 80241B98 4405E000 */ mfc1 $a1, $f28 +/* 8ED9BC 80241B9C 4406D000 */ mfc1 $a2, $f26 +/* 8ED9C0 80241BA0 4407C000 */ mfc1 $a3, $f24 +/* 8ED9C4 80241BA4 0C090698 */ jal func_80241A60 +/* 8ED9C8 80241BA8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED9CC 80241BAC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED9D0 80241BB0 0200282D */ daddu $a1, $s0, $zero +/* 8ED9D4 80241BB4 0C019D80 */ jal guMtxCatF +/* 8ED9D8 80241BB8 0200302D */ daddu $a2, $s0, $zero +/* 8ED9DC 80241BBC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED9E0 80241BC0 4600B587 */ neg.s $f22, $f22 +/* 8ED9E4 80241BC4 4405A000 */ mfc1 $a1, $f20 +/* 8ED9E8 80241BC8 4406B000 */ mfc1 $a2, $f22 +/* 8ED9EC 80241BCC 0C019E40 */ jal guTranslateF +/* 8ED9F0 80241BD0 00A0382D */ daddu $a3, $a1, $zero +/* 8ED9F4 80241BD4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8ED9F8 80241BD8 0200282D */ daddu $a1, $s0, $zero +/* 8ED9FC 80241BDC 0C019D80 */ jal guMtxCatF +/* 8EDA00 80241BE0 00A0302D */ daddu $a2, $a1, $zero +/* 8EDA04 80241BE4 96220000 */ lhu $v0, ($s1) +/* 8EDA08 80241BE8 34421400 */ ori $v0, $v0, 0x1400 +/* 8EDA0C 80241BEC 0809071B */ j .L80241C6C +/* 8EDA10 80241BF0 A6220000 */ sh $v0, ($s1) +.L80241BF4: +/* 8EDA14 80241BF4 4480A000 */ mtc1 $zero, $f20 +/* 8EDA18 80241BF8 4406B000 */ mfc1 $a2, $f22 +/* 8EDA1C 80241BFC 4405A000 */ mfc1 $a1, $f20 +/* 8EDA20 80241C00 4407A000 */ mfc1 $a3, $f20 +/* 8EDA24 80241C04 0C019E40 */ jal guTranslateF +/* 8EDA28 80241C08 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA2C 80241C0C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA30 80241C10 26300058 */ addiu $s0, $s1, 0x58 +/* 8EDA34 80241C14 0200282D */ daddu $a1, $s0, $zero +/* 8EDA38 80241C18 0C019D80 */ jal guMtxCatF +/* 8EDA3C 80241C1C 0200302D */ daddu $a2, $s0, $zero +/* 8EDA40 80241C20 4405E000 */ mfc1 $a1, $f28 +/* 8EDA44 80241C24 4406D000 */ mfc1 $a2, $f26 +/* 8EDA48 80241C28 4407C000 */ mfc1 $a3, $f24 +/* 8EDA4C 80241C2C 0C090698 */ jal func_80241A60 +/* 8EDA50 80241C30 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA54 80241C34 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA58 80241C38 0200282D */ daddu $a1, $s0, $zero +/* 8EDA5C 80241C3C 0C019D80 */ jal guMtxCatF +/* 8EDA60 80241C40 0200302D */ daddu $a2, $s0, $zero +/* 8EDA64 80241C44 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA68 80241C48 4600B587 */ neg.s $f22, $f22 +/* 8EDA6C 80241C4C 4405A000 */ mfc1 $a1, $f20 +/* 8EDA70 80241C50 4406B000 */ mfc1 $a2, $f22 +/* 8EDA74 80241C54 0C019E40 */ jal guTranslateF +/* 8EDA78 80241C58 00A0382D */ daddu $a3, $a1, $zero +/* 8EDA7C 80241C5C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDA80 80241C60 0200282D */ daddu $a1, $s0, $zero +/* 8EDA84 80241C64 0C019D80 */ jal guMtxCatF +/* 8EDA88 80241C68 00A0302D */ daddu $a2, $a1, $zero +.L80241C6C: +/* 8EDA8C 80241C6C 8FBF005C */ lw $ra, 0x5c($sp) +/* 8EDA90 80241C70 8FB20058 */ lw $s2, 0x58($sp) +/* 8EDA94 80241C74 8FB10054 */ lw $s1, 0x54($sp) +/* 8EDA98 80241C78 8FB00050 */ lw $s0, 0x50($sp) +/* 8EDA9C 80241C7C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 8EDAA0 80241C80 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 8EDAA4 80241C84 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 8EDAA8 80241C88 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8EDAAC 80241C8C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8EDAB0 80241C90 24020002 */ addiu $v0, $zero, 2 +/* 8EDAB4 80241C94 03E00008 */ jr $ra +/* 8EDAB8 80241C98 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241C9C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241C9C.s new file mode 100644 index 0000000000..a3a048e58a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241C9C.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C9C +/* 8EDABC 80241C9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDAC0 80241CA0 2404010D */ addiu $a0, $zero, 0x10d +/* 8EDAC4 80241CA4 2405FFFF */ addiu $a1, $zero, -1 +/* 8EDAC8 80241CA8 24060001 */ addiu $a2, $zero, 1 +/* 8EDACC 80241CAC AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDAD0 80241CB0 0C046E54 */ jal func_8011B950 +/* 8EDAD4 80241CB4 00C0382D */ daddu $a3, $a2, $zero +/* 8EDAD8 80241CB8 0000202D */ daddu $a0, $zero, $zero +/* 8EDADC 80241CBC 0080282D */ daddu $a1, $a0, $zero +/* 8EDAE0 80241CC0 0080302D */ daddu $a2, $a0, $zero +/* 8EDAE4 80241CC4 0C046F97 */ jal set_background_color_blend +/* 8EDAE8 80241CC8 240700FF */ addiu $a3, $zero, 0xff +/* 8EDAEC 80241CCC 3C02800B */ lui $v0, %hi(gCameras) +/* 8EDAF0 80241CD0 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 8EDAF4 80241CD4 A440002C */ sh $zero, 0x2c($v0) +/* 8EDAF8 80241CD8 A440002E */ sh $zero, 0x2e($v0) +/* 8EDAFC 80241CDC A4400030 */ sh $zero, 0x30($v0) +/* 8EDB00 80241CE0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDB04 80241CE4 24020002 */ addiu $v0, $zero, 2 +/* 8EDB08 80241CE8 03E00008 */ jr $ra +/* 8EDB0C 80241CEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241CF0.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241CF0.s new file mode 100644 index 0000000000..44e5ccd908 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241CF0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CF0 +/* 8EDB10 80241CF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDB14 80241CF4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDB18 80241CF8 8C82000C */ lw $v0, 0xc($a0) +/* 8EDB1C 80241CFC 0C0B210B */ jal get_float_variable +/* 8EDB20 80241D00 8C450000 */ lw $a1, ($v0) +/* 8EDB24 80241D04 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDB28 80241D08 24020002 */ addiu $v0, $zero, 2 +/* 8EDB2C 80241D0C 3C01800B */ lui $at, 0x800b +/* 8EDB30 80241D10 E4202210 */ swc1 $f0, 0x2210($at) +/* 8EDB34 80241D14 03E00008 */ jr $ra +/* 8EDB38 80241D18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D1C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D1C.s new file mode 100644 index 0000000000..923f01f37b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D1C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D1C +/* 8EDB3C 80241D1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDB40 80241D20 0000202D */ daddu $a0, $zero, $zero +/* 8EDB44 80241D24 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8EDB48 80241D28 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDB4C 80241D2C 0C01559B */ jal func_8005566C +/* 8EDB50 80241D30 2406003F */ addiu $a2, $zero, 0x3f +/* 8EDB54 80241D34 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDB58 80241D38 24020002 */ addiu $v0, $zero, 2 +/* 8EDB5C 80241D3C 03E00008 */ jr $ra +/* 8EDB60 80241D40 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8EDB64 80241D44 00000000 */ nop +/* 8EDB68 80241D48 00000000 */ nop +/* 8EDB6C 80241D4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D50.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D50.s new file mode 100644 index 0000000000..66b90c0653 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D50.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D50 +/* 8EDB70 80241D50 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8EDB74 80241D54 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8EDB78 80241D58 8C430004 */ lw $v1, 4($v0) +/* 8EDB7C 80241D5C 3C040010 */ lui $a0, 0x10 +/* 8EDB80 80241D60 00641825 */ or $v1, $v1, $a0 +/* 8EDB84 80241D64 AC430004 */ sw $v1, 4($v0) +/* 8EDB88 80241D68 03E00008 */ jr $ra +/* 8EDB8C 80241D6C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D70_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D70_8EBE20.s new file mode 100644 index 0000000000..223192c9bd --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D70_8EBE20.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D70_8EDB90 +/* 8EDB90 80241D70 3C028016 */ lui $v0, 0x8016 +/* 8EDB94 80241D74 8442A552 */ lh $v0, -0x5aae($v0) +/* 8EDB98 80241D78 AC820084 */ sw $v0, 0x84($a0) +/* 8EDB9C 80241D7C 03E00008 */ jr $ra +/* 8EDBA0 80241D80 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D84.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D84.s new file mode 100644 index 0000000000..ef2f629046 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241D84.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D84 +/* 8EDBA4 80241D84 3C038016 */ lui $v1, 0x8016 +/* 8EDBA8 80241D88 8463A552 */ lh $v1, -0x5aae($v1) +/* 8EDBAC 80241D8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDBB0 80241D90 AFB00010 */ sw $s0, 0x10($sp) +/* 8EDBB4 80241D94 0080802D */ daddu $s0, $a0, $zero +/* 8EDBB8 80241D98 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EDBBC 80241D9C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8EDBC0 80241DA0 10620003 */ beq $v1, $v0, .L80241DB0 +/* 8EDBC4 80241DA4 24020002 */ addiu $v0, $zero, 2 +/* 8EDBC8 80241DA8 0809078C */ j .L80241E30 +/* 8EDBCC 80241DAC AE000084 */ sw $zero, 0x84($s0) +.L80241DB0: +/* 8EDBD0 80241DB0 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8EDBD4 80241DB4 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8EDBD8 80241DB8 80620040 */ lb $v0, 0x40($v1) +/* 8EDBDC 80241DBC 80670044 */ lb $a3, 0x44($v1) +/* 8EDBE0 80241DC0 04420001 */ bltzl $v0, .L80241DC8 +/* 8EDBE4 80241DC4 00021023 */ negu $v0, $v0 +.L80241DC8: +/* 8EDBE8 80241DC8 14400003 */ bnez $v0, .L80241DD8 +/* 8EDBEC 80241DCC 00000000 */ nop +/* 8EDBF0 80241DD0 50E00017 */ beql $a3, $zero, .L80241E30 +/* 8EDBF4 80241DD4 0000102D */ daddu $v0, $zero, $zero +.L80241DD8: +/* 8EDBF8 80241DD8 44822000 */ mtc1 $v0, $f4 +/* 8EDBFC 80241DDC 00000000 */ nop +/* 8EDC00 80241DE0 46802120 */ cvt.s.w $f4, $f4 +/* 8EDC04 80241DE4 44062000 */ mfc1 $a2, $f4 +/* 8EDC08 80241DE8 44872000 */ mtc1 $a3, $f4 +/* 8EDC0C 80241DEC 00000000 */ nop +/* 8EDC10 80241DF0 46802120 */ cvt.s.w $f4, $f4 +/* 8EDC14 80241DF4 44806000 */ mtc1 $zero, $f12 +/* 8EDC18 80241DF8 44072000 */ mfc1 $a3, $f4 +/* 8EDC1C 80241DFC 0C00A720 */ jal atan2 +/* 8EDC20 80241E00 46006386 */ mov.s $f14, $f12 +/* 8EDC24 80241E04 3C014270 */ lui $at, 0x4270 +/* 8EDC28 80241E08 44811000 */ mtc1 $at, $f2 +/* 8EDC2C 80241E0C 00000000 */ nop +/* 8EDC30 80241E10 4602003C */ c.lt.s $f0, $f2 +/* 8EDC34 80241E14 00000000 */ nop +/* 8EDC38 80241E18 45000004 */ bc1f .L80241E2C +/* 8EDC3C 80241E1C 24020001 */ addiu $v0, $zero, 1 +/* 8EDC40 80241E20 AE020084 */ sw $v0, 0x84($s0) +/* 8EDC44 80241E24 0809078C */ j .L80241E30 +/* 8EDC48 80241E28 24020002 */ addiu $v0, $zero, 2 +.L80241E2C: +/* 8EDC4C 80241E2C 0000102D */ daddu $v0, $zero, $zero +.L80241E30: +/* 8EDC50 80241E30 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EDC54 80241E34 8FB00010 */ lw $s0, 0x10($sp) +/* 8EDC58 80241E38 03E00008 */ jr $ra +/* 8EDC5C 80241E3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241E40.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241E40.s new file mode 100644 index 0000000000..93b9a8ce8b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241E40.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E40 +/* 8EDC60 80241E40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8EDC64 80241E44 AFB10014 */ sw $s1, 0x14($sp) +/* 8EDC68 80241E48 0080882D */ daddu $s1, $a0, $zero +/* 8EDC6C 80241E4C AFBF001C */ sw $ra, 0x1c($sp) +/* 8EDC70 80241E50 AFB20018 */ sw $s2, 0x18($sp) +/* 8EDC74 80241E54 0C016AFA */ jal get_current_map_header +/* 8EDC78 80241E58 AFB00010 */ sw $s0, 0x10($sp) +/* 8EDC7C 80241E5C 0220202D */ daddu $a0, $s1, $zero +/* 8EDC80 80241E60 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDC84 80241E64 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8EDC88 80241E68 0C0B1EAF */ jal get_variable +/* 8EDC8C 80241E6C 0040902D */ daddu $s2, $v0, $zero +/* 8EDC90 80241E70 0220202D */ daddu $a0, $s1, $zero +/* 8EDC94 80241E74 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDC98 80241E78 8E430014 */ lw $v1, 0x14($s2) +/* 8EDC9C 80241E7C 00028100 */ sll $s0, $v0, 4 +/* 8EDCA0 80241E80 02031821 */ addu $v1, $s0, $v1 +/* 8EDCA4 80241E84 C4600000 */ lwc1 $f0, ($v1) +/* 8EDCA8 80241E88 4600008D */ trunc.w.s $f2, $f0 +/* 8EDCAC 80241E8C 44061000 */ mfc1 $a2, $f2 +/* 8EDCB0 80241E90 0C0B2026 */ jal set_variable +/* 8EDCB4 80241E94 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8EDCB8 80241E98 0220202D */ daddu $a0, $s1, $zero +/* 8EDCBC 80241E9C 8E420014 */ lw $v0, 0x14($s2) +/* 8EDCC0 80241EA0 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDCC4 80241EA4 02021021 */ addu $v0, $s0, $v0 +/* 8EDCC8 80241EA8 C4400004 */ lwc1 $f0, 4($v0) +/* 8EDCCC 80241EAC 4600008D */ trunc.w.s $f2, $f0 +/* 8EDCD0 80241EB0 44061000 */ mfc1 $a2, $f2 +/* 8EDCD4 80241EB4 0C0B2026 */ jal set_variable +/* 8EDCD8 80241EB8 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8EDCDC 80241EBC 0220202D */ daddu $a0, $s1, $zero +/* 8EDCE0 80241EC0 8E420014 */ lw $v0, 0x14($s2) +/* 8EDCE4 80241EC4 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDCE8 80241EC8 02021021 */ addu $v0, $s0, $v0 +/* 8EDCEC 80241ECC C4400008 */ lwc1 $f0, 8($v0) +/* 8EDCF0 80241ED0 4600008D */ trunc.w.s $f2, $f0 +/* 8EDCF4 80241ED4 44061000 */ mfc1 $a2, $f2 +/* 8EDCF8 80241ED8 0C0B2026 */ jal set_variable +/* 8EDCFC 80241EDC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8EDD00 80241EE0 0220202D */ daddu $a0, $s1, $zero +/* 8EDD04 80241EE4 8E420014 */ lw $v0, 0x14($s2) +/* 8EDD08 80241EE8 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDD0C 80241EEC 02028021 */ addu $s0, $s0, $v0 +/* 8EDD10 80241EF0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8EDD14 80241EF4 4600008D */ trunc.w.s $f2, $f0 +/* 8EDD18 80241EF8 44061000 */ mfc1 $a2, $f2 +/* 8EDD1C 80241EFC 0C0B2026 */ jal set_variable +/* 8EDD20 80241F00 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8EDD24 80241F04 8FBF001C */ lw $ra, 0x1c($sp) +/* 8EDD28 80241F08 8FB20018 */ lw $s2, 0x18($sp) +/* 8EDD2C 80241F0C 8FB10014 */ lw $s1, 0x14($sp) +/* 8EDD30 80241F10 8FB00010 */ lw $s0, 0x10($sp) +/* 8EDD34 80241F14 24020002 */ addiu $v0, $zero, 2 +/* 8EDD38 80241F18 03E00008 */ jr $ra +/* 8EDD3C 80241F1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F20.s new file mode 100644 index 0000000000..b7931a1f2f --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F20.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F20 +/* 8EDD40 80241F20 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8EDD44 80241F24 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8EDD48 80241F28 3C014334 */ lui $at, 0x4334 +/* 8EDD4C 80241F2C 44816000 */ mtc1 $at, $f12 +/* 8EDD50 80241F30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDD54 80241F34 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EDD58 80241F38 AFB00010 */ sw $s0, 0x10($sp) +/* 8EDD5C 80241F3C 00031080 */ sll $v0, $v1, 2 +/* 8EDD60 80241F40 00431021 */ addu $v0, $v0, $v1 +/* 8EDD64 80241F44 00021080 */ sll $v0, $v0, 2 +/* 8EDD68 80241F48 00431023 */ subu $v0, $v0, $v1 +/* 8EDD6C 80241F4C 000218C0 */ sll $v1, $v0, 3 +/* 8EDD70 80241F50 00431021 */ addu $v0, $v0, $v1 +/* 8EDD74 80241F54 000210C0 */ sll $v0, $v0, 3 +/* 8EDD78 80241F58 3C01800B */ lui $at, 0x800b +/* 8EDD7C 80241F5C 00220821 */ addu $at, $at, $v0 +/* 8EDD80 80241F60 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8EDD84 80241F64 460C0300 */ add.s $f12, $f0, $f12 +/* 8EDD88 80241F68 0C00A6C9 */ jal clamp_angle +/* 8EDD8C 80241F6C 0080802D */ daddu $s0, $a0, $zero +/* 8EDD90 80241F70 4600008D */ trunc.w.s $f2, $f0 +/* 8EDD94 80241F74 E6020084 */ swc1 $f2, 0x84($s0) +/* 8EDD98 80241F78 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EDD9C 80241F7C 8FB00010 */ lw $s0, 0x10($sp) +/* 8EDDA0 80241F80 24020002 */ addiu $v0, $zero, 2 +/* 8EDDA4 80241F84 03E00008 */ jr $ra +/* 8EDDA8 80241F88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F8C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F8C.s new file mode 100644 index 0000000000..7182b2c141 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80241F8C.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F8C +/* 8EDDAC 80241F8C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8EDDB0 80241F90 AFB00018 */ sw $s0, 0x18($sp) +/* 8EDDB4 80241F94 0080802D */ daddu $s0, $a0, $zero +/* 8EDDB8 80241F98 AFBF001C */ sw $ra, 0x1c($sp) +/* 8EDDBC 80241F9C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8EDDC0 80241FA0 8E02000C */ lw $v0, 0xc($s0) +/* 8EDDC4 80241FA4 0C0B210B */ jal get_float_variable +/* 8EDDC8 80241FA8 8C450000 */ lw $a1, ($v0) +/* 8EDDCC 80241FAC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EDDD0 80241FB0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8EDDD4 80241FB4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8EDDD8 80241FB8 44060000 */ mfc1 $a2, $f0 +/* 8EDDDC 80241FBC C4400028 */ lwc1 $f0, 0x28($v0) +/* 8EDDE0 80241FC0 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8EDDE4 80241FC4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8EDDE8 80241FC8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8EDDEC 80241FCC 8C470080 */ lw $a3, 0x80($v0) +/* 8EDDF0 80241FD0 C454002C */ lwc1 $f20, 0x2c($v0) +/* 8EDDF4 80241FD4 0C00A7E7 */ jal add_vec2D_polar +/* 8EDDF8 80241FD8 27A50014 */ addiu $a1, $sp, 0x14 +/* 8EDDFC 80241FDC 0200202D */ daddu $a0, $s0, $zero +/* 8EDE00 80241FE0 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDE04 80241FE4 8FA60010 */ lw $a2, 0x10($sp) +/* 8EDE08 80241FE8 0C0B2190 */ jal set_float_variable +/* 8EDE0C 80241FEC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8EDE10 80241FF0 0200202D */ daddu $a0, $s0, $zero +/* 8EDE14 80241FF4 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDE18 80241FF8 4406A000 */ mfc1 $a2, $f20 +/* 8EDE1C 80241FFC 0C0B2190 */ jal set_float_variable +/* 8EDE20 80242000 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8EDE24 80242004 0200202D */ daddu $a0, $s0, $zero +/* 8EDE28 80242008 3C05FE36 */ lui $a1, 0xfe36 +/* 8EDE2C 8024200C 8FA60014 */ lw $a2, 0x14($sp) +/* 8EDE30 80242010 0C0B2190 */ jal set_float_variable +/* 8EDE34 80242014 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8EDE38 80242018 8FBF001C */ lw $ra, 0x1c($sp) +/* 8EDE3C 8024201C 8FB00018 */ lw $s0, 0x18($sp) +/* 8EDE40 80242020 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8EDE44 80242024 24020002 */ addiu $v0, $zero, 2 +/* 8EDE48 80242028 03E00008 */ jr $ra +/* 8EDE4C 8024202C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242030.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242030.s new file mode 100644 index 0000000000..79f585ae1b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242030.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242030 +/* 8EDE50 80242030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDE54 80242034 2404010D */ addiu $a0, $zero, 0x10d +/* 8EDE58 80242038 2405FFFF */ addiu $a1, $zero, -1 +/* 8EDE5C 8024203C 0000302D */ daddu $a2, $zero, $zero +/* 8EDE60 80242040 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDE64 80242044 0C046E54 */ jal func_8011B950 +/* 8EDE68 80242048 24070001 */ addiu $a3, $zero, 1 +/* 8EDE6C 8024204C 0000202D */ daddu $a0, $zero, $zero +/* 8EDE70 80242050 0080282D */ daddu $a1, $a0, $zero +/* 8EDE74 80242054 0080302D */ daddu $a2, $a0, $zero +/* 8EDE78 80242058 0C046F97 */ jal set_background_color_blend +/* 8EDE7C 8024205C 0080382D */ daddu $a3, $a0, $zero +/* 8EDE80 80242060 3C02800B */ lui $v0, %hi(gCameras) +/* 8EDE84 80242064 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 8EDE88 80242068 A440002C */ sh $zero, 0x2c($v0) +/* 8EDE8C 8024206C A440002E */ sh $zero, 0x2e($v0) +/* 8EDE90 80242070 A4400030 */ sh $zero, 0x30($v0) +/* 8EDE94 80242074 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDE98 80242078 24020002 */ addiu $v0, $zero, 2 +/* 8EDE9C 8024207C 03E00008 */ jr $ra +/* 8EDEA0 80242080 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242084.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242084.s new file mode 100644 index 0000000000..19f9b1d2b0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242084.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242084 +/* 8EDEA4 80242084 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDEA8 80242088 AFB00010 */ sw $s0, 0x10($sp) +/* 8EDEAC 8024208C 0080802D */ daddu $s0, $a0, $zero +/* 8EDEB0 80242090 10A00002 */ beqz $a1, .L8024209C +/* 8EDEB4 80242094 AFBF0014 */ sw $ra, 0x14($sp) +/* 8EDEB8 80242098 AE000074 */ sw $zero, 0x74($s0) +.L8024209C: +/* 8EDEBC 8024209C 8E020074 */ lw $v0, 0x74($s0) +/* 8EDEC0 802420A0 24420010 */ addiu $v0, $v0, 0x10 +/* 8EDEC4 802420A4 AE020074 */ sw $v0, 0x74($s0) +/* 8EDEC8 802420A8 28420100 */ slti $v0, $v0, 0x100 +/* 8EDECC 802420AC 14400002 */ bnez $v0, .L802420B8 +/* 8EDED0 802420B0 240200FF */ addiu $v0, $zero, 0xff +/* 8EDED4 802420B4 AE020074 */ sw $v0, 0x74($s0) +.L802420B8: +/* 8EDED8 802420B8 C6000074 */ lwc1 $f0, 0x74($s0) +/* 8EDEDC 802420BC 46800020 */ cvt.s.w $f0, $f0 +/* 8EDEE0 802420C0 44050000 */ mfc1 $a1, $f0 +/* 8EDEE4 802420C4 0C04DF62 */ jal func_80137D88 +/* 8EDEE8 802420C8 0000202D */ daddu $a0, $zero, $zero +/* 8EDEEC 802420CC 8E020074 */ lw $v0, 0x74($s0) +/* 8EDEF0 802420D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8EDEF4 802420D4 8FB00010 */ lw $s0, 0x10($sp) +/* 8EDEF8 802420D8 384200FF */ xori $v0, $v0, 0xff +/* 8EDEFC 802420DC 2C420001 */ sltiu $v0, $v0, 1 +/* 8EDF00 802420E0 00021040 */ sll $v0, $v0, 1 +/* 8EDF04 802420E4 03E00008 */ jr $ra +/* 8EDF08 802420E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802420EC.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802420EC.s new file mode 100644 index 0000000000..1a4a3e0921 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802420EC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420EC +/* 8EDF0C 802420EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDF10 802420F0 10A00003 */ beqz $a1, .L80242100 +/* 8EDF14 802420F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDF18 802420F8 240200FF */ addiu $v0, $zero, 0xff +/* 8EDF1C 802420FC AC820074 */ sw $v0, 0x74($a0) +.L80242100: +/* 8EDF20 80242100 8C820074 */ lw $v0, 0x74($a0) +/* 8EDF24 80242104 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 8EDF28 80242108 18400009 */ blez $v0, .L80242130 +/* 8EDF2C 8024210C AC820074 */ sw $v0, 0x74($a0) +/* 8EDF30 80242110 44820000 */ mtc1 $v0, $f0 +/* 8EDF34 80242114 00000000 */ nop +/* 8EDF38 80242118 46800020 */ cvt.s.w $f0, $f0 +/* 8EDF3C 8024211C 44050000 */ mfc1 $a1, $f0 +/* 8EDF40 80242120 0C04DF62 */ jal func_80137D88 +/* 8EDF44 80242124 0000202D */ daddu $a0, $zero, $zero +/* 8EDF48 80242128 0809084E */ j .L80242138 +/* 8EDF4C 8024212C 0000102D */ daddu $v0, $zero, $zero +.L80242130: +/* 8EDF50 80242130 AC800074 */ sw $zero, 0x74($a0) +/* 8EDF54 80242134 24020002 */ addiu $v0, $zero, 2 +.L80242138: +/* 8EDF58 80242138 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDF5C 8024213C 03E00008 */ jr $ra +/* 8EDF60 80242140 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242144.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242144.s new file mode 100644 index 0000000000..e1481a62e8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242144.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242144 +/* 8EDF64 80242144 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDF68 80242148 0000202D */ daddu $a0, $zero, $zero +/* 8EDF6C 8024214C 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8EDF70 80242150 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDF74 80242154 0C01559B */ jal func_8005566C +/* 8EDF78 80242158 2406003F */ addiu $a2, $zero, 0x3f +/* 8EDF7C 8024215C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDF80 80242160 24020002 */ addiu $v0, $zero, 2 +/* 8EDF84 80242164 03E00008 */ jr $ra +/* 8EDF88 80242168 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_8024216C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024216C.s new file mode 100644 index 0000000000..60e133dd60 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_8024216C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024216C +/* 8EDF8C 8024216C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8EDF90 80242170 0000202D */ daddu $a0, $zero, $zero +/* 8EDF94 80242174 240503E8 */ addiu $a1, $zero, 0x3e8 +/* 8EDF98 80242178 AFBF0010 */ sw $ra, 0x10($sp) +/* 8EDF9C 8024217C 0C01559B */ jal func_8005566C +/* 8EDFA0 80242180 2406007F */ addiu $a2, $zero, 0x7f +/* 8EDFA4 80242184 8FBF0010 */ lw $ra, 0x10($sp) +/* 8EDFA8 80242188 24020002 */ addiu $v0, $zero, 2 +/* 8EDFAC 8024218C 03E00008 */ jr $ra +/* 8EDFB0 80242190 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8EDFB4 80242194 00000000 */ nop +/* 8EDFB8 80242198 00000000 */ nop +/* 8EDFBC 8024219C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_802421A0_8EBE20.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_802421A0_8EBE20.s new file mode 100644 index 0000000000..62ba9cb125 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_802421A0_8EBE20.s @@ -0,0 +1,452 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421A0_8EDFC0 +/* 8EDFC0 802421A0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8EDFC4 802421A4 AFB60040 */ sw $s6, 0x40($sp) +/* 8EDFC8 802421A8 0080B02D */ daddu $s6, $a0, $zero +/* 8EDFCC 802421AC AFB00028 */ sw $s0, 0x28($sp) +/* 8EDFD0 802421B0 00A0802D */ daddu $s0, $a1, $zero +/* 8EDFD4 802421B4 AFBF0044 */ sw $ra, 0x44($sp) +/* 8EDFD8 802421B8 AFB5003C */ sw $s5, 0x3c($sp) +/* 8EDFDC 802421BC AFB40038 */ sw $s4, 0x38($sp) +/* 8EDFE0 802421C0 AFB30034 */ sw $s3, 0x34($sp) +/* 8EDFE4 802421C4 AFB20030 */ sw $s2, 0x30($sp) +/* 8EDFE8 802421C8 1A00019F */ blez $s0, .L80242848 +/* 8EDFEC 802421CC AFB1002C */ sw $s1, 0x2c($sp) +/* 8EDFF0 802421D0 3C04800A */ lui $a0, 0x800a +/* 8EDFF4 802421D4 2484A66C */ addiu $a0, $a0, -0x5994 +/* 8EDFF8 802421D8 3C02DE00 */ lui $v0, 0xde00 +/* 8EDFFC 802421DC 44900000 */ mtc1 $s0, $f0 +/* 8EE000 802421E0 00000000 */ nop +/* 8EE004 802421E4 46800021 */ cvt.d.w $f0, $f0 +/* 8EE008 802421E8 8C830000 */ lw $v1, ($a0) +/* 8EE00C 802421EC 3C018025 */ lui $at, 0x8025 +/* 8EE010 802421F0 D4223030 */ ldc1 $f2, 0x3030($at) +/* 8EE014 802421F4 0060282D */ daddu $a1, $v1, $zero +/* 8EE018 802421F8 24630008 */ addiu $v1, $v1, 8 +/* 8EE01C 802421FC AC830000 */ sw $v1, ($a0) +/* 8EE020 80242200 ACA20000 */ sw $v0, ($a1) +/* 8EE024 80242204 3C028025 */ lui $v0, 0x8025 +/* 8EE028 80242208 24422D50 */ addiu $v0, $v0, 0x2d50 +/* 8EE02C 8024220C ACA20004 */ sw $v0, 4($a1) +/* 8EE030 80242210 24620008 */ addiu $v0, $v1, 8 +/* 8EE034 80242214 AC820000 */ sw $v0, ($a0) +/* 8EE038 80242218 3C02E700 */ lui $v0, 0xe700 +/* 8EE03C 8024221C 46220002 */ mul.d $f0, $f0, $f2 +/* 8EE040 80242220 00000000 */ nop +/* 8EE044 80242224 AC620000 */ sw $v0, ($v1) +/* 8EE048 80242228 24620010 */ addiu $v0, $v1, 0x10 +/* 8EE04C 8024222C AC600004 */ sw $zero, 4($v1) +/* 8EE050 80242230 AC820000 */ sw $v0, ($a0) +/* 8EE054 80242234 3C02FA00 */ lui $v0, 0xfa00 +/* 8EE058 80242238 3C0141E0 */ lui $at, 0x41e0 +/* 8EE05C 8024223C 44811800 */ mtc1 $at, $f3 +/* 8EE060 80242240 44801000 */ mtc1 $zero, $f2 +/* 8EE064 80242244 246D000C */ addiu $t5, $v1, 0xc +/* 8EE068 80242248 4620103E */ c.le.d $f2, $f0 +/* 8EE06C 8024224C 00000000 */ nop +/* 8EE070 80242250 45010005 */ bc1t .L80242268 +/* 8EE074 80242254 AC620008 */ sw $v0, 8($v1) +/* 8EE078 80242258 4620010D */ trunc.w.d $f4, $f0 +/* 8EE07C 8024225C 440C2000 */ mfc1 $t4, $f4 +/* 8EE080 80242260 080908A1 */ j .L80242284 +/* 8EE084 80242264 3C091078 */ lui $t1, 0x1078 +.L80242268: +/* 8EE088 80242268 46220001 */ sub.d $f0, $f0, $f2 +/* 8EE08C 8024226C 3C028000 */ lui $v0, 0x8000 +/* 8EE090 80242270 4620010D */ trunc.w.d $f4, $f0 +/* 8EE094 80242274 440C2000 */ mfc1 $t4, $f4 +/* 8EE098 80242278 00000000 */ nop +/* 8EE09C 8024227C 01826025 */ or $t4, $t4, $v0 +/* 8EE0A0 80242280 3C091078 */ lui $t1, 0x1078 +.L80242284: +/* 8EE0A4 80242284 35291800 */ ori $t1, $t1, 0x1800 +/* 8EE0A8 80242288 3C0BF647 */ lui $t3, 0xf647 +/* 8EE0AC 8024228C 356BC300 */ ori $t3, $t3, 0xc300 +/* 8EE0B0 80242290 3C0A0008 */ lui $t2, 8 +/* 8EE0B4 80242294 354A40AC */ ori $t2, $t2, 0x40ac +/* 8EE0B8 80242298 2404001E */ addiu $a0, $zero, 0x1e +/* 8EE0BC 8024229C 24050028 */ addiu $a1, $zero, 0x28 +/* 8EE0C0 802422A0 24060104 */ addiu $a2, $zero, 0x104 +/* 8EE0C4 802422A4 3C08800A */ lui $t0, 0x800a +/* 8EE0C8 802422A8 2508A66C */ addiu $t0, $t0, -0x5994 +/* 8EE0CC 802422AC 318200FF */ andi $v0, $t4, 0xff +/* 8EE0D0 802422B0 00491025 */ or $v0, $v0, $t1 +/* 8EE0D4 802422B4 44901000 */ mtc1 $s0, $f2 +/* 8EE0D8 802422B8 00000000 */ nop +/* 8EE0DC 802422BC 468010A1 */ cvt.d.w $f2, $f2 +/* 8EE0E0 802422C0 8D030000 */ lw $v1, ($t0) +/* 8EE0E4 802422C4 3C018025 */ lui $at, 0x8025 +/* 8EE0E8 802422C8 D4203038 */ ldc1 $f0, 0x3038($at) +/* 8EE0EC 802422CC 24110001 */ addiu $s1, $zero, 1 +/* 8EE0F0 802422D0 ADA20000 */ sw $v0, ($t5) +/* 8EE0F4 802422D4 0060102D */ daddu $v0, $v1, $zero +/* 8EE0F8 802422D8 24630008 */ addiu $v1, $v1, 8 +/* 8EE0FC 802422DC AD030000 */ sw $v1, ($t0) +/* 8EE100 802422E0 AC4B0000 */ sw $t3, ($v0) +/* 8EE104 802422E4 AC4A0004 */ sw $t2, 4($v0) +/* 8EE108 802422E8 24620008 */ addiu $v0, $v1, 8 +/* 8EE10C 802422EC AD020000 */ sw $v0, ($t0) +/* 8EE110 802422F0 3C02E700 */ lui $v0, 0xe700 +/* 8EE114 802422F4 46201082 */ mul.d $f2, $f2, $f0 +/* 8EE118 802422F8 00000000 */ nop +/* 8EE11C 802422FC AC620000 */ sw $v0, ($v1) +/* 8EE120 80242300 24020006 */ addiu $v0, $zero, 6 +/* 8EE124 80242304 AC600004 */ sw $zero, 4($v1) +/* 8EE128 80242308 AFA20010 */ sw $v0, 0x10($sp) +/* 8EE12C 8024230C AFA00014 */ sw $zero, 0x14($sp) +/* 8EE130 80242310 AFB10018 */ sw $s1, 0x18($sp) +/* 8EE134 80242314 AFB00020 */ sw $s0, 0x20($sp) +/* 8EE138 80242318 4620110D */ trunc.w.d $f4, $f2 +/* 8EE13C 8024231C E7A4001C */ swc1 $f4, 0x1c($sp) +/* 8EE140 80242320 0C04B6D6 */ jal func_8012DB58 +/* 8EE144 80242324 2407009B */ addiu $a3, $zero, 0x9b +/* 8EE148 80242328 3C04000B */ lui $a0, 0xb +/* 8EE14C 8024232C 348400FC */ ori $a0, $a0, 0xfc +/* 8EE150 80242330 0C04991D */ jal get_string_width +/* 8EE154 80242334 0000282D */ daddu $a1, $zero, $zero +/* 8EE158 80242338 3C04000B */ lui $a0, 0xb +/* 8EE15C 8024233C 348400FC */ ori $a0, $a0, 0xfc +/* 8EE160 80242340 241300CE */ addiu $s3, $zero, 0xce +/* 8EE164 80242344 02622823 */ subu $a1, $s3, $v0 +/* 8EE168 80242348 24060032 */ addiu $a2, $zero, 0x32 +/* 8EE16C 8024234C 0200382D */ daddu $a3, $s0, $zero +/* 8EE170 80242350 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE174 80242354 0C04993B */ jal draw_string +/* 8EE178 80242358 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE17C 8024235C 240500D8 */ addiu $a1, $zero, 0xd8 +/* 8EE180 80242360 24060033 */ addiu $a2, $zero, 0x33 +/* 8EE184 80242364 3C128011 */ lui $s2, %hi(gPlayerData) +/* 8EE188 80242368 2652F290 */ addiu $s2, $s2, %lo(gPlayerData) +/* 8EE18C 8024236C 0220382D */ daddu $a3, $s1, $zero +/* 8EE190 80242370 8E4402B4 */ lw $a0, 0x2b4($s2) +/* 8EE194 80242374 24140002 */ addiu $s4, $zero, 2 +/* 8EE198 80242378 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE19C 8024237C AFB00014 */ sw $s0, 0x14($sp) +/* 8EE1A0 80242380 0C049DA7 */ jal draw_number +/* 8EE1A4 80242384 AFB40018 */ sw $s4, 0x18($sp) +/* 8EE1A8 80242388 3C04000B */ lui $a0, 0xb +/* 8EE1AC 8024238C 348400FD */ ori $a0, $a0, 0xfd +/* 8EE1B0 80242390 0C04991D */ jal get_string_width +/* 8EE1B4 80242394 0000282D */ daddu $a1, $zero, $zero +/* 8EE1B8 80242398 3C04000B */ lui $a0, 0xb +/* 8EE1BC 8024239C 348400FD */ ori $a0, $a0, 0xfd +/* 8EE1C0 802423A0 02622823 */ subu $a1, $s3, $v0 +/* 8EE1C4 802423A4 24060041 */ addiu $a2, $zero, 0x41 +/* 8EE1C8 802423A8 0200382D */ daddu $a3, $s0, $zero +/* 8EE1CC 802423AC AFA00010 */ sw $zero, 0x10($sp) +/* 8EE1D0 802423B0 0C04993B */ jal draw_string +/* 8EE1D4 802423B4 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE1D8 802423B8 240500E7 */ addiu $a1, $zero, 0xe7 +/* 8EE1DC 802423BC 24060042 */ addiu $a2, $zero, 0x42 +/* 8EE1E0 802423C0 0220382D */ daddu $a3, $s1, $zero +/* 8EE1E4 802423C4 96C40024 */ lhu $a0, 0x24($s6) +/* 8EE1E8 802423C8 24150003 */ addiu $s5, $zero, 3 +/* 8EE1EC 802423CC AFA00010 */ sw $zero, 0x10($sp) +/* 8EE1F0 802423D0 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE1F4 802423D4 0C049DA7 */ jal draw_number +/* 8EE1F8 802423D8 AFB50018 */ sw $s5, 0x18($sp) +/* 8EE1FC 802423DC 3C04001F */ lui $a0, 0x1f +/* 8EE200 802423E0 34840034 */ ori $a0, $a0, 0x34 +/* 8EE204 802423E4 240500E8 */ addiu $a1, $zero, 0xe8 +/* 8EE208 802423E8 2406003F */ addiu $a2, $zero, 0x3f +/* 8EE20C 802423EC 0200382D */ daddu $a3, $s0, $zero +/* 8EE210 802423F0 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE214 802423F4 0C04993B */ jal draw_string +/* 8EE218 802423F8 AFA00014 */ sw $zero, 0x14($sp) +/* 8EE21C 802423FC 24040050 */ addiu $a0, $zero, 0x50 +/* 8EE220 80242400 240500F4 */ addiu $a1, $zero, 0xf4 +/* 8EE224 80242404 24060042 */ addiu $a2, $zero, 0x42 +/* 8EE228 80242408 0220382D */ daddu $a3, $s1, $zero +/* 8EE22C 8024240C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE230 80242410 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE234 80242414 0C049DA7 */ jal draw_number +/* 8EE238 80242418 AFB40018 */ sw $s4, 0x18($sp) +/* 8EE23C 8024241C 9642032C */ lhu $v0, 0x32c($s2) +/* 8EE240 80242420 1440000A */ bnez $v0, .L8024244C +/* 8EE244 80242424 3C04000B */ lui $a0, 0xb +/* 8EE248 80242428 348400FA */ ori $a0, $a0, 0xfa +/* 8EE24C 8024242C 2405006D */ addiu $a1, $zero, 0x6d +/* 8EE250 80242430 24060050 */ addiu $a2, $zero, 0x50 +/* 8EE254 80242434 0200382D */ daddu $a3, $s0, $zero +/* 8EE258 80242438 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE25C 8024243C 0C04993B */ jal draw_string +/* 8EE260 80242440 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE264 80242444 08090937 */ j .L802424DC +/* 8EE268 80242448 3C04000B */ lui $a0, 0xb +.L8024244C: +/* 8EE26C 8024244C 348400FB */ ori $a0, $a0, 0xfb +/* 8EE270 80242450 0C04991D */ jal get_string_width +/* 8EE274 80242454 0000282D */ daddu $a1, $zero, $zero +/* 8EE278 80242458 3C04000B */ lui $a0, 0xb +/* 8EE27C 8024245C 348400FB */ ori $a0, $a0, 0xfb +/* 8EE280 80242460 02622823 */ subu $a1, $s3, $v0 +/* 8EE284 80242464 24060050 */ addiu $a2, $zero, 0x50 +/* 8EE288 80242468 0200382D */ daddu $a3, $s0, $zero +/* 8EE28C 8024246C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE290 80242470 0C04993B */ jal draw_string +/* 8EE294 80242474 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE298 80242478 240500E7 */ addiu $a1, $zero, 0xe7 +/* 8EE29C 8024247C 24060051 */ addiu $a2, $zero, 0x51 +/* 8EE2A0 80242480 9644032C */ lhu $a0, 0x32c($s2) +/* 8EE2A4 80242484 24070001 */ addiu $a3, $zero, 1 +/* 8EE2A8 80242488 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE2AC 8024248C AFB00014 */ sw $s0, 0x14($sp) +/* 8EE2B0 80242490 0C049DA7 */ jal draw_number +/* 8EE2B4 80242494 AFB50018 */ sw $s5, 0x18($sp) +/* 8EE2B8 80242498 3C04001F */ lui $a0, 0x1f +/* 8EE2BC 8024249C 34840034 */ ori $a0, $a0, 0x34 +/* 8EE2C0 802424A0 240500E8 */ addiu $a1, $zero, 0xe8 +/* 8EE2C4 802424A4 2406004E */ addiu $a2, $zero, 0x4e +/* 8EE2C8 802424A8 0200382D */ daddu $a3, $s0, $zero +/* 8EE2CC 802424AC AFA00010 */ sw $zero, 0x10($sp) +/* 8EE2D0 802424B0 0C04993B */ jal draw_string +/* 8EE2D4 802424B4 AFA00014 */ sw $zero, 0x14($sp) +/* 8EE2D8 802424B8 240400A0 */ addiu $a0, $zero, 0xa0 +/* 8EE2DC 802424BC 240500F4 */ addiu $a1, $zero, 0xf4 +/* 8EE2E0 802424C0 24060050 */ addiu $a2, $zero, 0x50 +/* 8EE2E4 802424C4 24070001 */ addiu $a3, $zero, 1 +/* 8EE2E8 802424C8 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE2EC 802424CC AFB00014 */ sw $s0, 0x14($sp) +/* 8EE2F0 802424D0 0C049DA7 */ jal draw_number +/* 8EE2F4 802424D4 AFB40018 */ sw $s4, 0x18($sp) +/* 8EE2F8 802424D8 3C04000B */ lui $a0, 0xb +.L802424DC: +/* 8EE2FC 802424DC 348400FE */ ori $a0, $a0, 0xfe +/* 8EE300 802424E0 0C04991D */ jal get_string_width +/* 8EE304 802424E4 0000282D */ daddu $a1, $zero, $zero +/* 8EE308 802424E8 86C40026 */ lh $a0, 0x26($s6) +/* 8EE30C 802424EC 1480000C */ bnez $a0, .L80242520 +/* 8EE310 802424F0 0040182D */ daddu $v1, $v0, $zero +/* 8EE314 802424F4 3C04000B */ lui $a0, 0xb +/* 8EE318 802424F8 348400FA */ ori $a0, $a0, 0xfa +/* 8EE31C 802424FC 2405006E */ addiu $a1, $zero, 0x6e +/* 8EE320 80242500 2406005F */ addiu $a2, $zero, 0x5f +/* 8EE324 80242504 0200382D */ daddu $a3, $s0, $zero +/* 8EE328 80242508 24020001 */ addiu $v0, $zero, 1 +/* 8EE32C 8024250C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE330 80242510 0C04993B */ jal draw_string +/* 8EE334 80242514 AFA20014 */ sw $v0, 0x14($sp) +/* 8EE338 80242518 0809097C */ j .L802425F0 +/* 8EE33C 8024251C 00000000 */ nop +.L80242520: +/* 8EE340 80242520 2402FFFF */ addiu $v0, $zero, -1 +/* 8EE344 80242524 1482000F */ bne $a0, $v0, .L80242564 +/* 8EE348 80242528 3C04000B */ lui $a0, 0xb +/* 8EE34C 8024252C 348400FE */ ori $a0, $a0, 0xfe +/* 8EE350 80242530 240500CE */ addiu $a1, $zero, 0xce +/* 8EE354 80242534 00A32823 */ subu $a1, $a1, $v1 +/* 8EE358 80242538 2406005F */ addiu $a2, $zero, 0x5f +/* 8EE35C 8024253C 0200382D */ daddu $a3, $s0, $zero +/* 8EE360 80242540 24020001 */ addiu $v0, $zero, 1 +/* 8EE364 80242544 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE368 80242548 0C04993B */ jal draw_string +/* 8EE36C 8024254C AFA20014 */ sw $v0, 0x14($sp) +/* 8EE370 80242550 0000202D */ daddu $a0, $zero, $zero +/* 8EE374 80242554 240500E7 */ addiu $a1, $zero, 0xe7 +/* 8EE378 80242558 24060060 */ addiu $a2, $zero, 0x60 +/* 8EE37C 8024255C 08090966 */ j .L80242598 +/* 8EE380 80242560 24070001 */ addiu $a3, $zero, 1 +.L80242564: +/* 8EE384 80242564 348400FE */ ori $a0, $a0, 0xfe +/* 8EE388 80242568 240500CE */ addiu $a1, $zero, 0xce +/* 8EE38C 8024256C 00A32823 */ subu $a1, $a1, $v1 +/* 8EE390 80242570 2406005F */ addiu $a2, $zero, 0x5f +/* 8EE394 80242574 0200382D */ daddu $a3, $s0, $zero +/* 8EE398 80242578 24020001 */ addiu $v0, $zero, 1 +/* 8EE39C 8024257C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE3A0 80242580 0C04993B */ jal draw_string +/* 8EE3A4 80242584 AFA20014 */ sw $v0, 0x14($sp) +/* 8EE3A8 80242588 240500E7 */ addiu $a1, $zero, 0xe7 +/* 8EE3AC 8024258C 24060060 */ addiu $a2, $zero, 0x60 +/* 8EE3B0 80242590 24070001 */ addiu $a3, $zero, 1 +/* 8EE3B4 80242594 86C40026 */ lh $a0, 0x26($s6) +.L80242598: +/* 8EE3B8 80242598 24020003 */ addiu $v0, $zero, 3 +/* 8EE3BC 8024259C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE3C0 802425A0 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE3C4 802425A4 0C049DA7 */ jal draw_number +/* 8EE3C8 802425A8 AFA20018 */ sw $v0, 0x18($sp) +/* 8EE3CC 802425AC 3C04001F */ lui $a0, 0x1f +/* 8EE3D0 802425B0 34840034 */ ori $a0, $a0, 0x34 +/* 8EE3D4 802425B4 240500E8 */ addiu $a1, $zero, 0xe8 +/* 8EE3D8 802425B8 2406005D */ addiu $a2, $zero, 0x5d +/* 8EE3DC 802425BC 0200382D */ daddu $a3, $s0, $zero +/* 8EE3E0 802425C0 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE3E4 802425C4 0C04993B */ jal draw_string +/* 8EE3E8 802425C8 AFA00014 */ sw $zero, 0x14($sp) +/* 8EE3EC 802425CC 240500F4 */ addiu $a1, $zero, 0xf4 +/* 8EE3F0 802425D0 2406005F */ addiu $a2, $zero, 0x5f +/* 8EE3F4 802425D4 24070001 */ addiu $a3, $zero, 1 +/* 8EE3F8 802425D8 86C40028 */ lh $a0, 0x28($s6) +/* 8EE3FC 802425DC 24020002 */ addiu $v0, $zero, 2 +/* 8EE400 802425E0 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE404 802425E4 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE408 802425E8 0C049DA7 */ jal draw_number +/* 8EE40C 802425EC AFA20018 */ sw $v0, 0x18($sp) +.L802425F0: +/* 8EE410 802425F0 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8EE414 802425F4 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8EE418 802425F8 962202C0 */ lhu $v0, 0x2c0($s1) +/* 8EE41C 802425FC 1440000B */ bnez $v0, .L8024262C +/* 8EE420 80242600 3C04000B */ lui $a0, 0xb +/* 8EE424 80242604 348400FA */ ori $a0, $a0, 0xfa +/* 8EE428 80242608 2405006D */ addiu $a1, $zero, 0x6d +/* 8EE42C 8024260C 2406006E */ addiu $a2, $zero, 0x6e +/* 8EE430 80242610 0200382D */ daddu $a3, $s0, $zero +/* 8EE434 80242614 24020001 */ addiu $v0, $zero, 1 +/* 8EE438 80242618 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE43C 8024261C 0C04993B */ jal draw_string +/* 8EE440 80242620 AFA20014 */ sw $v0, 0x14($sp) +/* 8EE444 80242624 080909B3 */ j .L802426CC +/* 8EE448 80242628 3C04000B */ lui $a0, 0xb +.L8024262C: +/* 8EE44C 8024262C 348400FF */ ori $a0, $a0, 0xff +/* 8EE450 80242630 0C04991D */ jal get_string_width +/* 8EE454 80242634 0000282D */ daddu $a1, $zero, $zero +/* 8EE458 80242638 3C04000B */ lui $a0, 0xb +/* 8EE45C 8024263C 348400FF */ ori $a0, $a0, 0xff +/* 8EE460 80242640 240500CE */ addiu $a1, $zero, 0xce +/* 8EE464 80242644 00A22823 */ subu $a1, $a1, $v0 +/* 8EE468 80242648 2406006E */ addiu $a2, $zero, 0x6e +/* 8EE46C 8024264C 0200382D */ daddu $a3, $s0, $zero +/* 8EE470 80242650 24020001 */ addiu $v0, $zero, 1 +/* 8EE474 80242654 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE478 80242658 0C04993B */ jal draw_string +/* 8EE47C 8024265C AFA20014 */ sw $v0, 0x14($sp) +/* 8EE480 80242660 240500E7 */ addiu $a1, $zero, 0xe7 +/* 8EE484 80242664 2406006F */ addiu $a2, $zero, 0x6f +/* 8EE488 80242668 24070001 */ addiu $a3, $zero, 1 +/* 8EE48C 8024266C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE490 80242670 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE494 80242674 962402C2 */ lhu $a0, 0x2c2($s1) +/* 8EE498 80242678 24020003 */ addiu $v0, $zero, 3 +/* 8EE49C 8024267C 0C049DA7 */ jal draw_number +/* 8EE4A0 80242680 AFA20018 */ sw $v0, 0x18($sp) +/* 8EE4A4 80242684 3C04001F */ lui $a0, 0x1f +/* 8EE4A8 80242688 34840034 */ ori $a0, $a0, 0x34 +/* 8EE4AC 8024268C 240500E8 */ addiu $a1, $zero, 0xe8 +/* 8EE4B0 80242690 2406006C */ addiu $a2, $zero, 0x6c +/* 8EE4B4 80242694 0200382D */ daddu $a3, $s0, $zero +/* 8EE4B8 80242698 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE4BC 8024269C 0C04993B */ jal draw_string +/* 8EE4C0 802426A0 AFA00014 */ sw $zero, 0x14($sp) +/* 8EE4C4 802426A4 240500F4 */ addiu $a1, $zero, 0xf4 +/* 8EE4C8 802426A8 2406006F */ addiu $a2, $zero, 0x6f +/* 8EE4CC 802426AC 24070001 */ addiu $a3, $zero, 1 +/* 8EE4D0 802426B0 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE4D4 802426B4 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE4D8 802426B8 962402C0 */ lhu $a0, 0x2c0($s1) +/* 8EE4DC 802426BC 24020002 */ addiu $v0, $zero, 2 +/* 8EE4E0 802426C0 0C049DA7 */ jal draw_number +/* 8EE4E4 802426C4 AFA20018 */ sw $v0, 0x18($sp) +/* 8EE4E8 802426C8 3C04000B */ lui $a0, 0xb +.L802426CC: +/* 8EE4EC 802426CC 348400F4 */ ori $a0, $a0, 0xf4 +/* 8EE4F0 802426D0 0C04991D */ jal get_string_width +/* 8EE4F4 802426D4 0000282D */ daddu $a1, $zero, $zero +/* 8EE4F8 802426D8 3C04000B */ lui $a0, 0xb +/* 8EE4FC 802426DC 348400F4 */ ori $a0, $a0, 0xf4 +/* 8EE500 802426E0 241400CE */ addiu $s4, $zero, 0xce +/* 8EE504 802426E4 02822823 */ subu $a1, $s4, $v0 +/* 8EE508 802426E8 2406007D */ addiu $a2, $zero, 0x7d +/* 8EE50C 802426EC 0200382D */ daddu $a3, $s0, $zero +/* 8EE510 802426F0 24120001 */ addiu $s2, $zero, 1 +/* 8EE514 802426F4 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE518 802426F8 0C04993B */ jal draw_string +/* 8EE51C 802426FC AFB20014 */ sw $s2, 0x14($sp) +/* 8EE520 80242700 240500D8 */ addiu $a1, $zero, 0xd8 +/* 8EE524 80242704 2406007E */ addiu $a2, $zero, 0x7e +/* 8EE528 80242708 0240382D */ daddu $a3, $s2, $zero +/* 8EE52C 8024270C 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8EE530 80242710 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8EE534 80242714 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE538 80242718 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE53C 8024271C 962402A2 */ lhu $a0, 0x2a2($s1) +/* 8EE540 80242720 24130002 */ addiu $s3, $zero, 2 +/* 8EE544 80242724 0C049DA7 */ jal draw_number +/* 8EE548 80242728 AFB30018 */ sw $s3, 0x18($sp) +/* 8EE54C 8024272C 3C04000B */ lui $a0, 0xb +/* 8EE550 80242730 348400F7 */ ori $a0, $a0, 0xf7 +/* 8EE554 80242734 0C04991D */ jal get_string_width +/* 8EE558 80242738 0000282D */ daddu $a1, $zero, $zero +/* 8EE55C 8024273C 3C04000B */ lui $a0, 0xb +/* 8EE560 80242740 348400F7 */ ori $a0, $a0, 0xf7 +/* 8EE564 80242744 02822823 */ subu $a1, $s4, $v0 +/* 8EE568 80242748 2406008C */ addiu $a2, $zero, 0x8c +/* 8EE56C 8024274C 0200382D */ daddu $a3, $s0, $zero +/* 8EE570 80242750 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE574 80242754 0C04993B */ jal draw_string +/* 8EE578 80242758 AFB20014 */ sw $s2, 0x14($sp) +/* 8EE57C 8024275C 240500D8 */ addiu $a1, $zero, 0xd8 +/* 8EE580 80242760 2406008D */ addiu $a2, $zero, 0x8d +/* 8EE584 80242764 9624029C */ lhu $a0, 0x29c($s1) +/* 8EE588 80242768 0240382D */ daddu $a3, $s2, $zero +/* 8EE58C 8024276C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE590 80242770 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE594 80242774 0C049DA7 */ jal draw_number +/* 8EE598 80242778 AFB30018 */ sw $s3, 0x18($sp) +/* 8EE59C 8024277C 3C04000B */ lui $a0, 0xb +/* 8EE5A0 80242780 348400F8 */ ori $a0, $a0, 0xf8 +/* 8EE5A4 80242784 0C04991D */ jal get_string_width +/* 8EE5A8 80242788 0000282D */ daddu $a1, $zero, $zero +/* 8EE5AC 8024278C 3C04000B */ lui $a0, 0xb +/* 8EE5B0 80242790 348400F8 */ ori $a0, $a0, 0xf8 +/* 8EE5B4 80242794 02822823 */ subu $a1, $s4, $v0 +/* 8EE5B8 80242798 2406009B */ addiu $a2, $zero, 0x9b +/* 8EE5BC 8024279C 0200382D */ daddu $a3, $s0, $zero +/* 8EE5C0 802427A0 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE5C4 802427A4 0C04993B */ jal draw_string +/* 8EE5C8 802427A8 AFB20014 */ sw $s2, 0x14($sp) +/* 8EE5CC 802427AC 240500D8 */ addiu $a1, $zero, 0xd8 +/* 8EE5D0 802427B0 2406009C */ addiu $a2, $zero, 0x9c +/* 8EE5D4 802427B4 9624029E */ lhu $a0, 0x29e($s1) +/* 8EE5D8 802427B8 0240382D */ daddu $a3, $s2, $zero +/* 8EE5DC 802427BC AFA00010 */ sw $zero, 0x10($sp) +/* 8EE5E0 802427C0 AFB00014 */ sw $s0, 0x14($sp) +/* 8EE5E4 802427C4 0C049DA7 */ jal draw_number +/* 8EE5E8 802427C8 AFB30018 */ sw $s3, 0x18($sp) +/* 8EE5EC 802427CC 962202A0 */ lhu $v0, 0x2a0($s1) +/* 8EE5F0 802427D0 1440000A */ bnez $v0, .L802427FC +/* 8EE5F4 802427D4 3C04000B */ lui $a0, 0xb +/* 8EE5F8 802427D8 348400FA */ ori $a0, $a0, 0xfa +/* 8EE5FC 802427DC 2405006D */ addiu $a1, $zero, 0x6d +/* 8EE600 802427E0 240600AA */ addiu $a2, $zero, 0xaa +/* 8EE604 802427E4 0200382D */ daddu $a3, $s0, $zero +/* 8EE608 802427E8 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE60C 802427EC 0C04993B */ jal draw_string +/* 8EE610 802427F0 AFB20014 */ sw $s2, 0x14($sp) +/* 8EE614 802427F4 08090A12 */ j .L80242848 +/* 8EE618 802427F8 00000000 */ nop +.L802427FC: +/* 8EE61C 802427FC 348400F9 */ ori $a0, $a0, 0xf9 +/* 8EE620 80242800 0C04991D */ jal get_string_width +/* 8EE624 80242804 0000282D */ daddu $a1, $zero, $zero +/* 8EE628 80242808 3C04000B */ lui $a0, 0xb +/* 8EE62C 8024280C 348400F9 */ ori $a0, $a0, 0xf9 +/* 8EE630 80242810 02822823 */ subu $a1, $s4, $v0 +/* 8EE634 80242814 240600AA */ addiu $a2, $zero, 0xaa +/* 8EE638 80242818 0200382D */ daddu $a3, $s0, $zero +/* 8EE63C 8024281C AFA00010 */ sw $zero, 0x10($sp) +/* 8EE640 80242820 0C04993B */ jal draw_string +/* 8EE644 80242824 AFB20014 */ sw $s2, 0x14($sp) +/* 8EE648 80242828 240500D8 */ addiu $a1, $zero, 0xd8 +/* 8EE64C 8024282C 240600AB */ addiu $a2, $zero, 0xab +/* 8EE650 80242830 962402A0 */ lhu $a0, 0x2a0($s1) +/* 8EE654 80242834 24070001 */ addiu $a3, $zero, 1 +/* 8EE658 80242838 AFA00010 */ sw $zero, 0x10($sp) +/* 8EE65C 8024283C AFB00014 */ sw $s0, 0x14($sp) +/* 8EE660 80242840 0C049DA7 */ jal draw_number +/* 8EE664 80242844 AFB30018 */ sw $s3, 0x18($sp) +.L80242848: +/* 8EE668 80242848 8FBF0044 */ lw $ra, 0x44($sp) +/* 8EE66C 8024284C 8FB60040 */ lw $s6, 0x40($sp) +/* 8EE670 80242850 8FB5003C */ lw $s5, 0x3c($sp) +/* 8EE674 80242854 8FB40038 */ lw $s4, 0x38($sp) +/* 8EE678 80242858 8FB30034 */ lw $s3, 0x34($sp) +/* 8EE67C 8024285C 8FB20030 */ lw $s2, 0x30($sp) +/* 8EE680 80242860 8FB1002C */ lw $s1, 0x2c($sp) +/* 8EE684 80242864 8FB00028 */ lw $s0, 0x28($sp) +/* 8EE688 80242868 03E00008 */ jr $ra +/* 8EE68C 8024286C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242870.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242870.s new file mode 100644 index 0000000000..dd64581a1b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242870.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242870 +/* 8EE690 80242870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8EE694 80242874 0000202D */ daddu $a0, $zero, $zero +/* 8EE698 80242878 3C05FD05 */ lui $a1, 0xfd05 +/* 8EE69C 8024287C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8EE6A0 80242880 AFBF001C */ sw $ra, 0x1c($sp) +/* 8EE6A4 80242884 0C0B1EAF */ jal get_variable +/* 8EE6A8 80242888 AFB00018 */ sw $s0, 0x18($sp) +/* 8EE6AC 8024288C 0040802D */ daddu $s0, $v0, $zero +/* 8EE6B0 80242890 96030000 */ lhu $v1, ($s0) +/* 8EE6B4 80242894 2C620005 */ sltiu $v0, $v1, 5 +/* 8EE6B8 80242898 10400053 */ beqz $v0, .L802429E8 +/* 8EE6BC 8024289C 00031080 */ sll $v0, $v1, 2 +/* 8EE6C0 802428A0 3C018025 */ lui $at, 0x8025 +/* 8EE6C4 802428A4 00220821 */ addu $at, $at, $v0 +/* 8EE6C8 802428A8 8C223040 */ lw $v0, 0x3040($at) +/* 8EE6CC 802428AC 00400008 */ jr $v0 +/* 8EE6D0 802428B0 00000000 */ nop +/* 8EE6D4 802428B4 2404021C */ addiu $a0, $zero, 0x21c +/* 8EE6D8 802428B8 0000282D */ daddu $a1, $zero, $zero +/* 8EE6DC 802428BC 00A0302D */ daddu $a2, $a1, $zero +/* 8EE6E0 802428C0 24020001 */ addiu $v0, $zero, 1 +/* 8EE6E4 802428C4 A6000018 */ sh $zero, 0x18($s0) +/* 8EE6E8 802428C8 A6000008 */ sh $zero, 8($s0) +/* 8EE6EC 802428CC A600000A */ sh $zero, 0xa($s0) +/* 8EE6F0 802428D0 AE000004 */ sw $zero, 4($s0) +/* 8EE6F4 802428D4 0C015478 */ jal func_800551E0 +/* 8EE6F8 802428D8 A6020000 */ sh $v0, ($s0) +/* 8EE6FC 802428DC 3C054200 */ lui $a1, 0x4200 +/* 8EE700 802428E0 8E020004 */ lw $v0, 4($s0) +/* 8EE704 802428E4 3C06437F */ lui $a2, 0x437f +/* 8EE708 802428E8 24420001 */ addiu $v0, $v0, 1 +/* 8EE70C 802428EC AE020004 */ sw $v0, 4($s0) +/* 8EE710 802428F0 24020003 */ addiu $v0, $zero, 3 +/* 8EE714 802428F4 AFA20010 */ sw $v0, 0x10($sp) +/* 8EE718 802428F8 8E070004 */ lw $a3, 4($s0) +/* 8EE71C 802428FC 0C00A8ED */ jal update_lerp +/* 8EE720 80242900 0000202D */ daddu $a0, $zero, $zero +/* 8EE724 80242904 8E020004 */ lw $v0, 4($s0) +/* 8EE728 80242908 4600008D */ trunc.w.s $f2, $f0 +/* 8EE72C 8024290C 44031000 */ mfc1 $v1, $f2 +/* 8EE730 80242910 00000000 */ nop +/* 8EE734 80242914 A603001A */ sh $v1, 0x1a($s0) +/* 8EE738 80242918 28420003 */ slti $v0, $v0, 3 +/* 8EE73C 8024291C 14400032 */ bnez $v0, .L802429E8 +/* 8EE740 80242920 A603001C */ sh $v1, 0x1c($s0) +/* 8EE744 80242924 24020002 */ addiu $v0, $zero, 2 +/* 8EE748 80242928 A6020000 */ sh $v0, ($s0) +/* 8EE74C 8024292C 240200FF */ addiu $v0, $zero, 0xff +/* 8EE750 80242930 A602001A */ sh $v0, 0x1a($s0) +/* 8EE754 80242934 08090A7A */ j .L802429E8 +/* 8EE758 80242938 A602001C */ sh $v0, 0x1c($s0) +/* 8EE75C 8024293C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8EE760 80242940 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8EE764 80242944 240200FF */ addiu $v0, $zero, 0xff +/* 8EE768 80242948 A602001A */ sh $v0, 0x1a($s0) +/* 8EE76C 8024294C A602001C */ sh $v0, 0x1c($s0) +/* 8EE770 80242950 8C620000 */ lw $v0, ($v1) +/* 8EE774 80242954 3042C000 */ andi $v0, $v0, 0xc000 +/* 8EE778 80242958 10400002 */ beqz $v0, .L80242964 +/* 8EE77C 8024295C 24020003 */ addiu $v0, $zero, 3 +/* 8EE780 80242960 A6020000 */ sh $v0, ($s0) +.L80242964: +/* 8EE784 80242964 96030000 */ lhu $v1, ($s0) +/* 8EE788 80242968 24020003 */ addiu $v0, $zero, 3 +/* 8EE78C 8024296C 1462001E */ bne $v1, $v0, .L802429E8 +/* 8EE790 80242970 00000000 */ nop +/* 8EE794 80242974 240400CA */ addiu $a0, $zero, 0xca +/* 8EE798 80242978 0000282D */ daddu $a1, $zero, $zero +/* 8EE79C 8024297C 00A0302D */ daddu $a2, $a1, $zero +/* 8EE7A0 80242980 24020004 */ addiu $v0, $zero, 4 +/* 8EE7A4 80242984 AE000004 */ sw $zero, 4($s0) +/* 8EE7A8 80242988 0C015478 */ jal func_800551E0 +/* 8EE7AC 8024298C A6020000 */ sh $v0, ($s0) +/* 8EE7B0 80242990 0000202D */ daddu $a0, $zero, $zero +/* 8EE7B4 80242994 8E020004 */ lw $v0, 4($s0) +/* 8EE7B8 80242998 8603001C */ lh $v1, 0x1c($s0) +/* 8EE7BC 8024299C 24420001 */ addiu $v0, $v0, 1 +/* 8EE7C0 802429A0 AE020004 */ sw $v0, 4($s0) +/* 8EE7C4 802429A4 24020003 */ addiu $v0, $zero, 3 +/* 8EE7C8 802429A8 44831000 */ mtc1 $v1, $f2 +/* 8EE7CC 802429AC 00000000 */ nop +/* 8EE7D0 802429B0 468010A0 */ cvt.s.w $f2, $f2 +/* 8EE7D4 802429B4 AFA20010 */ sw $v0, 0x10($sp) +/* 8EE7D8 802429B8 8E070004 */ lw $a3, 4($s0) +/* 8EE7DC 802429BC 44051000 */ mfc1 $a1, $f2 +/* 8EE7E0 802429C0 0C00A8ED */ jal update_lerp +/* 8EE7E4 802429C4 0000302D */ daddu $a2, $zero, $zero +/* 8EE7E8 802429C8 8E020004 */ lw $v0, 4($s0) +/* 8EE7EC 802429CC 4600008D */ trunc.w.s $f2, $f0 +/* 8EE7F0 802429D0 44031000 */ mfc1 $v1, $f2 +/* 8EE7F4 802429D4 28420003 */ slti $v0, $v0, 3 +/* 8EE7F8 802429D8 14400003 */ bnez $v0, .L802429E8 +/* 8EE7FC 802429DC A603001A */ sh $v1, 0x1a($s0) +/* 8EE800 802429E0 24020005 */ addiu $v0, $zero, 5 +/* 8EE804 802429E4 A6020000 */ sh $v0, ($s0) +.L802429E8: +/* 8EE808 802429E8 8605001A */ lh $a1, 0x1a($s0) +/* 8EE80C 802429EC 0C090868 */ jal func_802421A0 +/* 8EE810 802429F0 0200202D */ daddu $a0, $s0, $zero +/* 8EE814 802429F4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8EE818 802429F8 8FB00018 */ lw $s0, 0x18($sp) +/* 8EE81C 802429FC 03E00008 */ jr $ra +/* 8EE820 80242A00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A04.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A04.s new file mode 100644 index 0000000000..263ec6bae3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A04.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A04 +/* 8EE824 80242A04 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8EE828 80242A08 2402002D */ addiu $v0, $zero, 0x2d +/* 8EE82C 80242A0C AFA20010 */ sw $v0, 0x10($sp) +/* 8EE830 80242A10 3C028024 */ lui $v0, 0x8024 +/* 8EE834 80242A14 24422870 */ addiu $v0, $v0, 0x2870 +/* 8EE838 80242A18 27A40010 */ addiu $a0, $sp, 0x10 +/* 8EE83C 80242A1C AFBF0020 */ sw $ra, 0x20($sp) +/* 8EE840 80242A20 AFA00018 */ sw $zero, 0x18($sp) +/* 8EE844 80242A24 AFA2001C */ sw $v0, 0x1c($sp) +/* 8EE848 80242A28 0C047644 */ jal queue_render_task +/* 8EE84C 80242A2C AFA00014 */ sw $zero, 0x14($sp) +/* 8EE850 80242A30 8FBF0020 */ lw $ra, 0x20($sp) +/* 8EE854 80242A34 03E00008 */ jr $ra +/* 8EE858 80242A38 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A3C.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A3C.s new file mode 100644 index 0000000000..78f85dc674 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242A3C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A3C +/* 8EE85C 80242A3C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8EE860 80242A40 AFB3001C */ sw $s3, 0x1c($sp) +/* 8EE864 80242A44 0080982D */ daddu $s3, $a0, $zero +/* 8EE868 80242A48 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE86C 80242A4C 0000882D */ daddu $s1, $zero, $zero +/* 8EE870 80242A50 AFB00010 */ sw $s0, 0x10($sp) +/* 8EE874 80242A54 0220802D */ daddu $s0, $s1, $zero +/* 8EE878 80242A58 3C038011 */ lui $v1, %hi(gPlayerData) +/* 8EE87C 80242A5C 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 8EE880 80242A60 AFBF0020 */ sw $ra, 0x20($sp) +/* 8EE884 80242A64 AFB20018 */ sw $s2, 0x18($sp) +.L80242A68: +/* 8EE888 80242A68 846200B4 */ lh $v0, 0xb4($v1) +/* 8EE88C 80242A6C 54400001 */ bnel $v0, $zero, .L80242A74 +/* 8EE890 80242A70 26310001 */ addiu $s1, $s1, 1 +.L80242A74: +/* 8EE894 80242A74 26100001 */ addiu $s0, $s0, 1 +/* 8EE898 80242A78 2A020080 */ slti $v0, $s0, 0x80 +/* 8EE89C 80242A7C 1440FFFA */ bnez $v0, .L80242A68 +/* 8EE8A0 80242A80 24630002 */ addiu $v1, $v1, 2 +/* 8EE8A4 80242A84 A6710024 */ sh $s1, 0x24($s3) +/* 8EE8A8 80242A88 0000882D */ daddu $s1, $zero, $zero +/* 8EE8AC 80242A8C 0220802D */ daddu $s0, $s1, $zero +/* 8EE8B0 80242A90 3C128025 */ lui $s2, 0x8025 +/* 8EE8B4 80242A94 26522DC0 */ addiu $s2, $s2, 0x2dc0 +.L80242A98: +/* 8EE8B8 80242A98 8E450000 */ lw $a1, ($s2) +/* 8EE8BC 80242A9C 10A00008 */ beqz $a1, .L80242AC0 +/* 8EE8C0 80242AA0 00111400 */ sll $v0, $s1, 0x10 +/* 8EE8C4 80242AA4 0C0B1EAF */ jal get_variable +/* 8EE8C8 80242AA8 0000202D */ daddu $a0, $zero, $zero +/* 8EE8CC 80242AAC 54400001 */ bnel $v0, $zero, .L80242AB4 +/* 8EE8D0 80242AB0 26310001 */ addiu $s1, $s1, 1 +.L80242AB4: +/* 8EE8D4 80242AB4 26520004 */ addiu $s2, $s2, 4 +/* 8EE8D8 80242AB8 08090AA6 */ j .L80242A98 +/* 8EE8DC 80242ABC 26100001 */ addiu $s0, $s0, 1 +.L80242AC0: +/* 8EE8E0 80242AC0 A6700028 */ sh $s0, 0x28($s3) +/* 8EE8E4 80242AC4 14400008 */ bnez $v0, .L80242AE8 +/* 8EE8E8 80242AC8 A6710026 */ sh $s1, 0x26($s3) +/* 8EE8EC 80242ACC 0000202D */ daddu $a0, $zero, $zero +/* 8EE8F0 80242AD0 3C05F840 */ lui $a1, 0xf840 +/* 8EE8F4 80242AD4 0C0B1EAF */ jal get_variable +/* 8EE8F8 80242AD8 34A55CC8 */ ori $a1, $a1, 0x5cc8 +/* 8EE8FC 80242ADC 10400002 */ beqz $v0, .L80242AE8 +/* 8EE900 80242AE0 2402FFFF */ addiu $v0, $zero, -1 +/* 8EE904 80242AE4 A6620026 */ sh $v0, 0x26($s3) +.L80242AE8: +/* 8EE908 80242AE8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8EE90C 80242AEC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8EE910 80242AF0 8FB20018 */ lw $s2, 0x18($sp) +/* 8EE914 80242AF4 8FB10014 */ lw $s1, 0x14($sp) +/* 8EE918 80242AF8 8FB00010 */ lw $s0, 0x10($sp) +/* 8EE91C 80242AFC 03E00008 */ jr $ra +/* 8EE920 80242B00 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_20/func_80242B04.s b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242B04.s new file mode 100644 index 0000000000..5d2d7b5cb3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_20/func_80242B04.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B04 +/* 8EE924 80242B04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8EE928 80242B08 AFB10014 */ sw $s1, 0x14($sp) +/* 8EE92C 80242B0C 0080882D */ daddu $s1, $a0, $zero +/* 8EE930 80242B10 AFBF0018 */ sw $ra, 0x18($sp) +/* 8EE934 80242B14 10A00014 */ beqz $a1, .L80242B68 +/* 8EE938 80242B18 AFB00010 */ sw $s0, 0x10($sp) +/* 8EE93C 80242B1C 0C00AB39 */ jal heap_malloc +/* 8EE940 80242B20 2404002C */ addiu $a0, $zero, 0x2c +/* 8EE944 80242B24 0040802D */ daddu $s0, $v0, $zero +/* 8EE948 80242B28 0000202D */ daddu $a0, $zero, $zero +/* 8EE94C 80242B2C 3C058024 */ lui $a1, 0x8024 +/* 8EE950 80242B30 24A52A04 */ addiu $a1, $a1, 0x2a04 +/* 8EE954 80242B34 240200FF */ addiu $v0, $zero, 0xff +/* 8EE958 80242B38 AE300070 */ sw $s0, 0x70($s1) +/* 8EE95C 80242B3C A6000000 */ sh $zero, ($s0) +/* 8EE960 80242B40 0C048C56 */ jal bind_dynamic_entity_3 +/* 8EE964 80242B44 A602001A */ sh $v0, 0x1a($s0) +/* 8EE968 80242B48 0220202D */ daddu $a0, $s1, $zero +/* 8EE96C 80242B4C 3C05FD05 */ lui $a1, 0xfd05 +/* 8EE970 80242B50 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8EE974 80242B54 0200302D */ daddu $a2, $s0, $zero +/* 8EE978 80242B58 0C0B2026 */ jal set_variable +/* 8EE97C 80242B5C AE020020 */ sw $v0, 0x20($s0) +/* 8EE980 80242B60 0C090A8F */ jal func_80242A3C +/* 8EE984 80242B64 0200202D */ daddu $a0, $s0, $zero +.L80242B68: +/* 8EE988 80242B68 8E300070 */ lw $s0, 0x70($s1) +/* 8EE98C 80242B6C 96030000 */ lhu $v1, ($s0) +/* 8EE990 80242B70 24020005 */ addiu $v0, $zero, 5 +/* 8EE994 80242B74 14620007 */ bne $v1, $v0, .L80242B94 +/* 8EE998 80242B78 0000102D */ daddu $v0, $zero, $zero +/* 8EE99C 80242B7C 8E040020 */ lw $a0, 0x20($s0) +/* 8EE9A0 80242B80 0C048D70 */ jal func_801235C0 +/* 8EE9A4 80242B84 00000000 */ nop +/* 8EE9A8 80242B88 0C00AB4B */ jal heap_free +/* 8EE9AC 80242B8C 0200202D */ daddu $a0, $s0, $zero +/* 8EE9B0 80242B90 24020001 */ addiu $v0, $zero, 1 +.L80242B94: +/* 8EE9B4 80242B94 8FBF0018 */ lw $ra, 0x18($sp) +/* 8EE9B8 80242B98 8FB10014 */ lw $s1, 0x14($sp) +/* 8EE9BC 80242B9C 8FB00010 */ lw $s0, 0x10($sp) +/* 8EE9C0 80242BA0 03E00008 */ jr $ra +/* 8EE9C4 80242BA4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 8EE9C8 80242BA8 00000000 */ nop +/* 8EE9CC 80242BAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_80240000_8FEE80.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240000_8FEE80.s new file mode 100644 index 0000000000..058fe09b21 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240000_8FEE80.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8FEE80 +/* 8FEE80 80240000 03E00008 */ jr $ra +/* 8FEE84 80240004 24020001 */ addiu $v0, $zero, 1 +/* 8FEE88 80240008 00000000 */ nop +/* 8FEE8C 8024000C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_80240010.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240010.s new file mode 100644 index 0000000000..82e088b04d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240010.s @@ -0,0 +1,133 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240010 +/* 8FEE90 80240010 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 8FEE94 80240014 0000482D */ daddu $t1, $zero, $zero +/* 8FEE98 80240018 3C02800A */ lui $v0, 0x800a +/* 8FEE9C 8024001C 2442A66C */ addiu $v0, $v0, -0x5994 +/* 8FEEA0 80240020 0040402D */ daddu $t0, $v0, $zero +/* 8FEEA4 80240024 3C0EFD18 */ lui $t6, 0xfd18 +/* 8FEEA8 80240028 35CE00C7 */ ori $t6, $t6, 0xc7 +/* 8FEEAC 8024002C AFB3000C */ sw $s3, 0xc($sp) +/* 8FEEB0 80240030 3C138024 */ lui $s3, 0x8024 +/* 8FEEB4 80240034 267307F4 */ addiu $s3, $s3, 0x7f4 +/* 8FEEB8 80240038 3C0BF518 */ lui $t3, 0xf518 +/* 8FEEBC 8024003C 356B6400 */ ori $t3, $t3, 0x6400 +/* 8FEEC0 80240040 AFB20008 */ sw $s2, 8($sp) +/* 8FEEC4 80240044 3C120700 */ lui $s2, 0x700 +/* 8FEEC8 80240048 AFB10004 */ sw $s1, 4($sp) +/* 8FEECC 8024004C 3C11E600 */ lui $s1, 0xe600 +/* 8FEED0 80240050 AFB00000 */ sw $s0, ($sp) +/* 8FEED4 80240054 3C10F400 */ lui $s0, 0xf400 +/* 8FEED8 80240058 3C0D0731 */ lui $t5, 0x731 +/* 8FEEDC 8024005C 35ADC004 */ ori $t5, $t5, 0xc004 +/* 8FEEE0 80240060 3C19E700 */ lui $t9, 0xe700 +/* 8FEEE4 80240064 3C18F200 */ lui $t8, 0xf200 +/* 8FEEE8 80240068 3C0C0031 */ lui $t4, 0x31 +/* 8FEEEC 8024006C 358CC004 */ ori $t4, $t4, 0xc004 +/* 8FEEF0 80240070 3C0F8024 */ lui $t7, 0x8024 +/* 8FEEF4 80240074 25EF0334 */ addiu $t7, $t7, 0x334 +/* 8FEEF8 80240078 0120502D */ daddu $t2, $t1, $zero +/* 8FEEFC 8024007C 8D030000 */ lw $v1, ($t0) +/* 8FEF00 80240080 3C02DE00 */ lui $v0, 0xde00 +/* 8FEF04 80240084 0060202D */ daddu $a0, $v1, $zero +/* 8FEF08 80240088 24630008 */ addiu $v1, $v1, 8 +/* 8FEF0C 8024008C AD030000 */ sw $v1, ($t0) +/* 8FEF10 80240090 AC820000 */ sw $v0, ($a0) +/* 8FEF14 80240094 3C028024 */ lui $v0, 0x8024 +/* 8FEF18 80240098 24420338 */ addiu $v0, $v0, 0x338 +/* 8FEF1C 8024009C AC820004 */ sw $v0, 4($a0) +/* 8FEF20 802400A0 24620008 */ addiu $v0, $v1, 8 +/* 8FEF24 802400A4 AD020000 */ sw $v0, ($t0) +/* 8FEF28 802400A8 3C048024 */ lui $a0, 0x8024 +/* 8FEF2C 802400AC 90840333 */ lbu $a0, 0x333($a0) +/* 8FEF30 802400B0 3C02FA00 */ lui $v0, 0xfa00 +/* 8FEF34 802400B4 AC620000 */ sw $v0, ($v1) +/* 8FEF38 802400B8 24620010 */ addiu $v0, $v1, 0x10 +/* 8FEF3C 802400BC AC640004 */ sw $a0, 4($v1) +/* 8FEF40 802400C0 AD020000 */ sw $v0, ($t0) +/* 8FEF44 802400C4 0320102D */ daddu $v0, $t9, $zero +/* 8FEF48 802400C8 AC620008 */ sw $v0, 8($v1) +/* 8FEF4C 802400CC AC60000C */ sw $zero, 0xc($v1) +.L802400D0: +/* 8FEF50 802400D0 3C070400 */ lui $a3, 0x400 +/* 8FEF54 802400D4 34E70400 */ ori $a3, $a3, 0x400 +/* 8FEF58 802400D8 00092840 */ sll $a1, $t1, 1 +/* 8FEF5C 802400DC 25290001 */ addiu $t1, $t1, 1 +/* 8FEF60 802400E0 8D040000 */ lw $a0, ($t0) +/* 8FEF64 802400E4 8E620000 */ lw $v0, ($s3) +/* 8FEF68 802400E8 0080182D */ daddu $v1, $a0, $zero +/* 8FEF6C 802400EC 24840008 */ addiu $a0, $a0, 8 +/* 8FEF70 802400F0 004A1021 */ addu $v0, $v0, $t2 +/* 8FEF74 802400F4 254A0640 */ addiu $t2, $t2, 0x640 +/* 8FEF78 802400F8 AD040000 */ sw $a0, ($t0) +/* 8FEF7C 802400FC AC620004 */ sw $v0, 4($v1) +/* 8FEF80 80240100 24820008 */ addiu $v0, $a0, 8 +/* 8FEF84 80240104 AC6E0000 */ sw $t6, ($v1) +/* 8FEF88 80240108 AD020000 */ sw $v0, ($t0) +/* 8FEF8C 8024010C 24820010 */ addiu $v0, $a0, 0x10 +/* 8FEF90 80240110 AC8B0000 */ sw $t3, ($a0) +/* 8FEF94 80240114 AC920004 */ sw $s2, 4($a0) +/* 8FEF98 80240118 AD020000 */ sw $v0, ($t0) +/* 8FEF9C 8024011C 24820018 */ addiu $v0, $a0, 0x18 +/* 8FEFA0 80240120 AC910008 */ sw $s1, 8($a0) +/* 8FEFA4 80240124 AC80000C */ sw $zero, 0xc($a0) +/* 8FEFA8 80240128 AD020000 */ sw $v0, ($t0) +/* 8FEFAC 8024012C 24820020 */ addiu $v0, $a0, 0x20 +/* 8FEFB0 80240130 AC900010 */ sw $s0, 0x10($a0) +/* 8FEFB4 80240134 AC8D0014 */ sw $t5, 0x14($a0) +/* 8FEFB8 80240138 AD020000 */ sw $v0, ($t0) +/* 8FEFBC 8024013C 24820028 */ addiu $v0, $a0, 0x28 +/* 8FEFC0 80240140 AC990018 */ sw $t9, 0x18($a0) +/* 8FEFC4 80240144 AC80001C */ sw $zero, 0x1c($a0) +/* 8FEFC8 80240148 AD020000 */ sw $v0, ($t0) +/* 8FEFCC 8024014C 24820030 */ addiu $v0, $a0, 0x30 +/* 8FEFD0 80240150 AC8B0020 */ sw $t3, 0x20($a0) +/* 8FEFD4 80240154 AC800024 */ sw $zero, 0x24($a0) +/* 8FEFD8 80240158 AD020000 */ sw $v0, ($t0) +/* 8FEFDC 8024015C 24820038 */ addiu $v0, $a0, 0x38 +/* 8FEFE0 80240160 AC980028 */ sw $t8, 0x28($a0) +/* 8FEFE4 80240164 AC8C002C */ sw $t4, 0x2c($a0) +/* 8FEFE8 80240168 8DE60000 */ lw $a2, ($t7) +/* 8FEFEC 8024016C 3C03E441 */ lui $v1, 0xe441 +/* 8FEFF0 80240170 AD020000 */ sw $v0, ($t0) +/* 8FEFF4 80240174 24C20002 */ addiu $v0, $a2, 2 +/* 8FEFF8 80240178 00A21021 */ addu $v0, $a1, $v0 +/* 8FEFFC 8024017C 00021080 */ sll $v0, $v0, 2 +/* 8FF000 80240180 30420FFF */ andi $v0, $v0, 0xfff +/* 8FF004 80240184 00431025 */ or $v0, $v0, $v1 +/* 8FF008 80240188 00A62821 */ addu $a1, $a1, $a2 +/* 8FF00C 8024018C 00052880 */ sll $a1, $a1, 2 +/* 8FF010 80240190 30A50FFF */ andi $a1, $a1, 0xfff +/* 8FF014 80240194 AC820030 */ sw $v0, 0x30($a0) +/* 8FF018 80240198 3C02000F */ lui $v0, 0xf +/* 8FF01C 8024019C 00A22825 */ or $a1, $a1, $v0 +/* 8FF020 802401A0 24820040 */ addiu $v0, $a0, 0x40 +/* 8FF024 802401A4 AC850034 */ sw $a1, 0x34($a0) +/* 8FF028 802401A8 AD020000 */ sw $v0, ($t0) +/* 8FF02C 802401AC 3C02E100 */ lui $v0, 0xe100 +/* 8FF030 802401B0 AC820038 */ sw $v0, 0x38($a0) +/* 8FF034 802401B4 24820048 */ addiu $v0, $a0, 0x48 +/* 8FF038 802401B8 AC80003C */ sw $zero, 0x3c($a0) +/* 8FF03C 802401BC AD020000 */ sw $v0, ($t0) +/* 8FF040 802401C0 3C02F100 */ lui $v0, 0xf100 +/* 8FF044 802401C4 AC820040 */ sw $v0, 0x40($a0) +/* 8FF048 802401C8 29220038 */ slti $v0, $t1, 0x38 +/* 8FF04C 802401CC 1440FFC0 */ bnez $v0, .L802400D0 +/* 8FF050 802401D0 AC870044 */ sw $a3, 0x44($a0) +/* 8FF054 802401D4 3C03800A */ lui $v1, 0x800a +/* 8FF058 802401D8 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8FF05C 802401DC 8C620000 */ lw $v0, ($v1) +/* 8FF060 802401E0 0040202D */ daddu $a0, $v0, $zero +/* 8FF064 802401E4 24420008 */ addiu $v0, $v0, 8 +/* 8FF068 802401E8 AC620000 */ sw $v0, ($v1) +/* 8FF06C 802401EC 3C02E700 */ lui $v0, 0xe700 +/* 8FF070 802401F0 AC820000 */ sw $v0, ($a0) +/* 8FF074 802401F4 AC800004 */ sw $zero, 4($a0) +/* 8FF078 802401F8 8FB3000C */ lw $s3, 0xc($sp) +/* 8FF07C 802401FC 8FB20008 */ lw $s2, 8($sp) +/* 8FF080 80240200 8FB10004 */ lw $s1, 4($sp) +/* 8FF084 80240204 8FB00000 */ lw $s0, ($sp) +/* 8FF088 80240208 03E00008 */ jr $ra +/* 8FF08C 8024020C 27BD0010 */ addiu $sp, $sp, 0x10 diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_80240210.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240210.s new file mode 100644 index 0000000000..76b13d6c3a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240210.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240210 +/* 8FF090 80240210 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8FF094 80240214 3C048024 */ lui $a0, 0x8024 +/* 8FF098 80240218 248407D0 */ addiu $a0, $a0, 0x7d0 +/* 8FF09C 8024021C 27A50010 */ addiu $a1, $sp, 0x10 +/* 8FF0A0 80240220 AFBF0020 */ sw $ra, 0x20($sp) +/* 8FF0A4 80240224 AFB1001C */ sw $s1, 0x1c($sp) +/* 8FF0A8 80240228 0C016B3A */ jal load_asset_by_name +/* 8FF0AC 8024022C AFB00018 */ sw $s0, 0x18($sp) +/* 8FF0B0 80240230 8FA40010 */ lw $a0, 0x10($sp) +/* 8FF0B4 80240234 0C00AB39 */ jal heap_malloc +/* 8FF0B8 80240238 0040882D */ daddu $s1, $v0, $zero +/* 8FF0BC 8024023C 0220202D */ daddu $a0, $s1, $zero +/* 8FF0C0 80240240 0040282D */ daddu $a1, $v0, $zero +/* 8FF0C4 80240244 3C108024 */ lui $s0, 0x8024 +/* 8FF0C8 80240248 261007F0 */ addiu $s0, $s0, 0x7f0 +/* 8FF0CC 8024024C 0C01BB7C */ jal decode_yay0 +/* 8FF0D0 80240250 AE050000 */ sw $a1, ($s0) +/* 8FF0D4 80240254 0C00AB1E */ jal general_heap_free +/* 8FF0D8 80240258 0220202D */ daddu $a0, $s1, $zero +/* 8FF0DC 8024025C 8E030000 */ lw $v1, ($s0) +/* 8FF0E0 80240260 8C620000 */ lw $v0, ($v1) +/* 8FF0E4 80240264 3C058024 */ lui $a1, 0x8024 +/* 8FF0E8 80240268 24A50010 */ addiu $a1, $a1, 0x10 +/* 8FF0EC 8024026C 00431021 */ addu $v0, $v0, $v1 +/* 8FF0F0 80240270 3C018024 */ lui $at, 0x8024 +/* 8FF0F4 80240274 AC2207F4 */ sw $v0, 0x7f4($at) +/* 8FF0F8 80240278 0C048C8F */ jal bind_dynamic_entity_7 +/* 8FF0FC 8024027C 0000202D */ daddu $a0, $zero, $zero +/* 8FF100 80240280 8FBF0020 */ lw $ra, 0x20($sp) +/* 8FF104 80240284 8FB1001C */ lw $s1, 0x1c($sp) +/* 8FF108 80240288 8FB00018 */ lw $s0, 0x18($sp) +/* 8FF10C 8024028C 24020002 */ addiu $v0, $zero, 2 +/* 8FF110 80240290 03E00008 */ jr $ra +/* 8FF114 80240294 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_80240298.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240298.s new file mode 100644 index 0000000000..a063d35025 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_80240298.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240298 +/* 8FF118 80240298 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8FF11C 8024029C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8FF120 802402A0 8C420010 */ lw $v0, 0x10($v0) +/* 8FF124 802402A4 30429000 */ andi $v0, $v0, 0x9000 +/* 8FF128 802402A8 0002102B */ sltu $v0, $zero, $v0 +/* 8FF12C 802402AC 03E00008 */ jr $ra +/* 8FF130 802402B0 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_802402B4.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_802402B4.s new file mode 100644 index 0000000000..f1437841d3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_802402B4.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B4 +/* 8FF134 802402B4 8C820084 */ lw $v0, 0x84($a0) +/* 8FF138 802402B8 3C018024 */ lui $at, 0x8024 +/* 8FF13C 802402BC AC220330 */ sw $v0, 0x330($at) +/* 8FF140 802402C0 03E00008 */ jr $ra +/* 8FF144 802402C4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/func_802402C8_8FEE80.s b/asm/nonmatchings/world/area_kmr/kmr_21/func_802402C8_8FEE80.s new file mode 100644 index 0000000000..d68dc0133e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_21/func_802402C8_8FEE80.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C8_8FF148 +/* 8FF148 802402C8 8C820084 */ lw $v0, 0x84($a0) +/* 8FF14C 802402CC 3C018024 */ lui $at, 0x8024 +/* 8FF150 802402D0 AC220334 */ sw $v0, 0x334($at) +/* 8FF154 802402D4 03E00008 */ jr $ra +/* 8FF158 802402D8 24020002 */ addiu $v0, $zero, 2 +/* 8FF15C 802402DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240000_8FF670.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240000_8FF670.s new file mode 100644 index 0000000000..f68f880f30 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240000_8FF670.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8FF670 +/* 8FF670 80240000 03E00008 */ jr $ra +/* 8FF674 80240004 24020001 */ addiu $v0, $zero, 1 +/* 8FF678 80240008 00000000 */ nop +/* 8FF67C 8024000C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240010_8FF670.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240010_8FF670.s new file mode 100644 index 0000000000..a84ec57135 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240010_8FF670.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240010_8FF680 +/* 8FF680 80240010 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8FF684 80240014 AFBF0020 */ sw $ra, 0x20($sp) +/* 8FF688 80240018 AFB1001C */ sw $s1, 0x1c($sp) +/* 8FF68C 8024001C AFB00018 */ sw $s0, 0x18($sp) +/* 8FF690 80240020 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8FF694 80240024 8C900084 */ lw $s0, 0x84($a0) +/* 8FF698 80240028 16000003 */ bnez $s0, .L80240038 +/* 8FF69C 8024002C 0000882D */ daddu $s1, $zero, $zero +/* 8FF6A0 80240030 24100009 */ addiu $s0, $zero, 9 +/* 8FF6A4 80240034 24110026 */ addiu $s1, $zero, 0x26 +.L80240038: +/* 8FF6A8 80240038 10A00012 */ beqz $a1, .L80240084 +/* 8FF6AC 8024003C 00000000 */ nop +/* 8FF6B0 80240040 3C013F80 */ lui $at, 0x3f80 +/* 8FF6B4 80240044 4481A000 */ mtc1 $at, $f20 +/* 8FF6B8 80240048 0C00AFB7 */ jal set_curtain_scale_goal +/* 8FF6BC 8024004C 4600A306 */ mov.s $f12, $f20 +/* 8FF6C0 80240050 3C0142C8 */ lui $at, 0x42c8 +/* 8FF6C4 80240054 44810000 */ mtc1 $at, $f0 +/* 8FF6C8 80240058 0200202D */ daddu $a0, $s0, $zero +/* 8FF6CC 8024005C 44050000 */ mfc1 $a1, $f0 +/* 8FF6D0 80240060 0000382D */ daddu $a3, $zero, $zero +/* 8FF6D4 80240064 E7B40010 */ swc1 $f20, 0x10($sp) +/* 8FF6D8 80240068 AFA00014 */ sw $zero, 0x14($sp) +/* 8FF6DC 8024006C 0C01C97C */ jal func_800725F0 +/* 8FF6E0 80240070 00A0302D */ daddu $a2, $a1, $zero +/* 8FF6E4 80240074 3C018025 */ lui $at, 0x8025 +/* 8FF6E8 80240078 AC2283C0 */ sw $v0, -0x7c40($at) +/* 8FF6EC 8024007C 3C018025 */ lui $at, 0x8025 +/* 8FF6F0 80240080 AC2083C4 */ sw $zero, -0x7c3c($at) +.L80240084: +/* 8FF6F4 80240084 3C038025 */ lui $v1, 0x8025 +/* 8FF6F8 80240088 8C6383C4 */ lw $v1, -0x7c3c($v1) +/* 8FF6FC 8024008C 04600009 */ bltz $v1, .L802400B4 +/* 8FF700 80240090 26240075 */ addiu $a0, $s1, 0x75 +/* 8FF704 80240094 28620014 */ slti $v0, $v1, 0x14 +/* 8FF708 80240098 10400007 */ beqz $v0, .L802400B8 +/* 8FF70C 8024009C 00031040 */ sll $v0, $v1, 1 +/* 8FF710 802400A0 3C018024 */ lui $at, 0x8024 +/* 8FF714 802400A4 00220821 */ addu $at, $at, $v0 +/* 8FF718 802400A8 84220DE0 */ lh $v0, 0xde0($at) +/* 8FF71C 802400AC 0809002E */ j .L802400B8 +/* 8FF720 802400B0 00822023 */ subu $a0, $a0, $v0 +.L802400B4: +/* 8FF724 802400B4 2624FF3F */ addiu $a0, $s1, -0xc1 +.L802400B8: +/* 8FF728 802400B8 2406003A */ addiu $a2, $zero, 0x3a +/* 8FF72C 802400BC 3C038025 */ lui $v1, 0x8025 +/* 8FF730 802400C0 8C6383C0 */ lw $v1, -0x7c40($v1) +/* 8FF734 802400C4 44840000 */ mtc1 $a0, $f0 +/* 8FF738 802400C8 00000000 */ nop +/* 8FF73C 802400CC 46800020 */ cvt.s.w $f0, $f0 +/* 8FF740 802400D0 8C62000C */ lw $v0, 0xc($v1) +/* 8FF744 802400D4 E4400004 */ swc1 $f0, 4($v0) +/* 8FF748 802400D8 8C62000C */ lw $v0, 0xc($v1) +/* 8FF74C 802400DC 3C038025 */ lui $v1, 0x8025 +/* 8FF750 802400E0 8C6383C4 */ lw $v1, -0x7c3c($v1) +/* 8FF754 802400E4 44860000 */ mtc1 $a2, $f0 +/* 8FF758 802400E8 00000000 */ nop +/* 8FF75C 802400EC 46800020 */ cvt.s.w $f0, $f0 +/* 8FF760 802400F0 E4400008 */ swc1 $f0, 8($v0) +/* 8FF764 802400F4 2862000A */ slti $v0, $v1, 0xa +/* 8FF768 802400F8 1440000A */ bnez $v0, .L80240124 +/* 8FF76C 802400FC 26240075 */ addiu $a0, $s1, 0x75 +/* 8FF770 80240100 2862001E */ slti $v0, $v1, 0x1e +/* 8FF774 80240104 10400008 */ beqz $v0, .L80240128 +/* 8FF778 80240108 2462FFF6 */ addiu $v0, $v1, -0xa +/* 8FF77C 8024010C 00021040 */ sll $v0, $v0, 1 +/* 8FF780 80240110 3C018024 */ lui $at, 0x8024 +/* 8FF784 80240114 00220821 */ addu $at, $at, $v0 +/* 8FF788 80240118 84220DE0 */ lh $v0, 0xde0($at) +/* 8FF78C 8024011C 0809004A */ j .L80240128 +/* 8FF790 80240120 00C23023 */ subu $a2, $a2, $v0 +.L80240124: +/* 8FF794 80240124 2406FF04 */ addiu $a2, $zero, -0xfc +.L80240128: +/* 8FF798 80240128 3C038025 */ lui $v1, 0x8025 +/* 8FF79C 8024012C 8C6383C0 */ lw $v1, -0x7c40($v1) +/* 8FF7A0 80240130 44840000 */ mtc1 $a0, $f0 +/* 8FF7A4 80240134 00000000 */ nop +/* 8FF7A8 80240138 46800020 */ cvt.s.w $f0, $f0 +/* 8FF7AC 8024013C 8C62000C */ lw $v0, 0xc($v1) +/* 8FF7B0 80240140 E4400010 */ swc1 $f0, 0x10($v0) +/* 8FF7B4 80240144 8C62000C */ lw $v0, 0xc($v1) +/* 8FF7B8 80240148 3C038025 */ lui $v1, 0x8025 +/* 8FF7BC 8024014C 8C6383C4 */ lw $v1, -0x7c3c($v1) +/* 8FF7C0 80240150 44860000 */ mtc1 $a2, $f0 +/* 8FF7C4 80240154 00000000 */ nop +/* 8FF7C8 80240158 46800020 */ cvt.s.w $f0, $f0 +/* 8FF7CC 8024015C E4400014 */ swc1 $f0, 0x14($v0) +/* 8FF7D0 80240160 28620014 */ slti $v0, $v1, 0x14 +/* 8FF7D4 80240164 1440000A */ bnez $v0, .L80240190 +/* 8FF7D8 80240168 24040118 */ addiu $a0, $zero, 0x118 +/* 8FF7DC 8024016C 28620028 */ slti $v0, $v1, 0x28 +/* 8FF7E0 80240170 10400008 */ beqz $v0, .L80240194 +/* 8FF7E4 80240174 2462FFEC */ addiu $v0, $v1, -0x14 +/* 8FF7E8 80240178 00021040 */ sll $v0, $v0, 1 +/* 8FF7EC 8024017C 3C018024 */ lui $at, 0x8024 +/* 8FF7F0 80240180 00220821 */ addu $at, $at, $v0 +/* 8FF7F4 80240184 84220DE0 */ lh $v0, 0xde0($at) +/* 8FF7F8 80240188 08090065 */ j .L80240194 +/* 8FF7FC 8024018C 00442021 */ addu $a0, $v0, $a0 +.L80240190: +/* 8FF800 80240190 2404024E */ addiu $a0, $zero, 0x24e +.L80240194: +/* 8FF804 80240194 3C058025 */ lui $a1, 0x8025 +/* 8FF808 80240198 8CA583C0 */ lw $a1, -0x7c40($a1) +/* 8FF80C 8024019C 8CA3000C */ lw $v1, 0xc($a1) +/* 8FF810 802401A0 2406005A */ addiu $a2, $zero, 0x5a +/* 8FF814 802401A4 AC640040 */ sw $a0, 0x40($v1) +/* 8FF818 802401A8 3C048025 */ lui $a0, 0x8025 +/* 8FF81C 802401AC 248483C4 */ addiu $a0, $a0, -0x7c3c +/* 8FF820 802401B0 8C830000 */ lw $v1, ($a0) +/* 8FF824 802401B4 8CA5000C */ lw $a1, 0xc($a1) +/* 8FF828 802401B8 24630001 */ addiu $v1, $v1, 1 +/* 8FF82C 802401BC AC830000 */ sw $v1, ($a0) +/* 8FF830 802401C0 ACA60044 */ sw $a2, 0x44($a1) +/* 8FF834 802401C4 8FBF0020 */ lw $ra, 0x20($sp) +/* 8FF838 802401C8 8FB1001C */ lw $s1, 0x1c($sp) +/* 8FF83C 802401CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8FF840 802401D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8FF844 802401D4 0000102D */ daddu $v0, $zero, $zero +/* 8FF848 802401D8 03E00008 */ jr $ra +/* 8FF84C 802401DC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_802401E0.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_802401E0.s new file mode 100644 index 0000000000..b9ae65e9d2 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_802401E0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401E0 +/* 8FF850 802401E0 3C014000 */ lui $at, 0x4000 +/* 8FF854 802401E4 44816000 */ mtc1 $at, $f12 +/* 8FF858 802401E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8FF85C 802401EC AFBF0010 */ sw $ra, 0x10($sp) +/* 8FF860 802401F0 0C00AFB7 */ jal set_curtain_scale_goal +/* 8FF864 802401F4 00000000 */ nop +/* 8FF868 802401F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 8FF86C 802401FC 24020002 */ addiu $v0, $zero, 2 +/* 8FF870 80240200 03E00008 */ jr $ra +/* 8FF874 80240204 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240208.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240208.s new file mode 100644 index 0000000000..479cd2ee27 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240208.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208 +/* 8FF878 80240208 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8FF87C 8024020C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8FF880 80240210 8C430010 */ lw $v1, 0x10($v0) +/* 8FF884 80240214 30621000 */ andi $v0, $v1, 0x1000 +/* 8FF888 80240218 0002102B */ sltu $v0, $zero, $v0 +/* 8FF88C 8024021C 30638000 */ andi $v1, $v1, 0x8000 +/* 8FF890 80240220 10600004 */ beqz $v1, .L80240234 +/* 8FF894 80240224 00022840 */ sll $a1, $v0, 1 +/* 8FF898 80240228 24050002 */ addiu $a1, $zero, 2 +/* 8FF89C 8024022C 2402FFFF */ addiu $v0, $zero, -1 +/* 8FF8A0 80240230 AC820084 */ sw $v0, 0x84($a0) +.L80240234: +/* 8FF8A4 80240234 03E00008 */ jr $ra +/* 8FF8A8 80240238 00A0102D */ daddu $v0, $a1, $zero +/* 8FF8AC 8024023C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240240.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240240.s new file mode 100644 index 0000000000..9d0870629a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240240.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240240 +/* 8FF8B0 80240240 27BDFE60 */ addiu $sp, $sp, -0x1a0 +/* 8FF8B4 80240244 AFB30194 */ sw $s3, 0x194($sp) +/* 8FF8B8 80240248 0080982D */ daddu $s3, $a0, $zero +/* 8FF8BC 8024024C AFB1018C */ sw $s1, 0x18c($sp) +/* 8FF8C0 80240250 27B10010 */ addiu $s1, $sp, 0x10 +/* 8FF8C4 80240254 0220202D */ daddu $a0, $s1, $zero +/* 8FF8C8 80240258 24050001 */ addiu $a1, $zero, 1 +/* 8FF8CC 8024025C AFBF0198 */ sw $ra, 0x198($sp) +/* 8FF8D0 80240260 AFB20190 */ sw $s2, 0x190($sp) +/* 8FF8D4 80240264 AFB00188 */ sw $s0, 0x188($sp) +/* 8FF8D8 80240268 8E630090 */ lw $v1, 0x90($s3) +/* 8FF8DC 8024026C 0000902D */ daddu $s2, $zero, $zero +/* 8FF8E0 80240270 AFB3017C */ sw $s3, 0x17c($sp) +/* 8FF8E4 80240274 00A31004 */ sllv $v0, $v1, $a1 +/* 8FF8E8 80240278 00431021 */ addu $v0, $v0, $v1 +/* 8FF8EC 8024027C AFA20178 */ sw $v0, 0x178($sp) +/* 8FF8F0 80240280 8E630090 */ lw $v1, 0x90($s3) +/* 8FF8F4 80240284 27A20178 */ addiu $v0, $sp, 0x178 +/* 8FF8F8 80240288 AFA00184 */ sw $zero, 0x184($sp) +/* 8FF8FC 8024028C AFA2001C */ sw $v0, 0x1c($sp) +/* 8FF900 80240290 0C0B550C */ jal LoadPath +/* 8FF904 80240294 AFA30180 */ sw $v1, 0x180($sp) +/* 8FF908 80240298 0260802D */ daddu $s0, $s3, $zero +.L8024029C: +/* 8FF90C 8024029C 0220202D */ daddu $a0, $s1, $zero +/* 8FF910 802402A0 0C0B5549 */ jal GetNextPathPos +/* 8FF914 802402A4 24050001 */ addiu $a1, $zero, 1 +/* 8FF918 802402A8 0220202D */ daddu $a0, $s1, $zero +/* 8FF91C 802402AC 3C05FE36 */ lui $a1, 0xfe36 +/* 8FF920 802402B0 0C0B210B */ jal get_float_variable +/* 8FF924 802402B4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8FF928 802402B8 0220202D */ daddu $a0, $s1, $zero +/* 8FF92C 802402BC 3C05FE36 */ lui $a1, 0xfe36 +/* 8FF930 802402C0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8FF934 802402C4 0C0B210B */ jal get_float_variable +/* 8FF938 802402C8 E6000098 */ swc1 $f0, 0x98($s0) +/* 8FF93C 802402CC 0220202D */ daddu $a0, $s1, $zero +/* 8FF940 802402D0 3C05FE36 */ lui $a1, 0xfe36 +/* 8FF944 802402D4 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8FF948 802402D8 0C0B210B */ jal get_float_variable +/* 8FF94C 802402DC E600009C */ swc1 $f0, 0x9c($s0) +/* 8FF950 802402E0 E60000A0 */ swc1 $f0, 0xa0($s0) +/* 8FF954 802402E4 2610000C */ addiu $s0, $s0, 0xc +/* 8FF958 802402E8 8E220084 */ lw $v0, 0x84($s1) +/* 8FF95C 802402EC 1440FFEB */ bnez $v0, .L8024029C +/* 8FF960 802402F0 26520001 */ addiu $s2, $s2, 1 +/* 8FF964 802402F4 AE7201DC */ sw $s2, 0x1dc($s3) +/* 8FF968 802402F8 8FBF0198 */ lw $ra, 0x198($sp) +/* 8FF96C 802402FC 8FB30194 */ lw $s3, 0x194($sp) +/* 8FF970 80240300 8FB20190 */ lw $s2, 0x190($sp) +/* 8FF974 80240304 8FB1018C */ lw $s1, 0x18c($sp) +/* 8FF978 80240308 8FB00188 */ lw $s0, 0x188($sp) +/* 8FF97C 8024030C 03E00008 */ jr $ra +/* 8FF980 80240310 27BD01A0 */ addiu $sp, $sp, 0x1a0 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240314.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240314.s new file mode 100644 index 0000000000..e43161cce9 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240314.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314 +/* 8FF984 80240314 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8FF988 80240318 AFB10014 */ sw $s1, 0x14($sp) +/* 8FF98C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* 8FF990 80240320 AFBF0024 */ sw $ra, 0x24($sp) +/* 8FF994 80240324 AFB40020 */ sw $s4, 0x20($sp) +/* 8FF998 80240328 AFB3001C */ sw $s3, 0x1c($sp) +/* 8FF99C 8024032C AFB20018 */ sw $s2, 0x18($sp) +/* 8FF9A0 80240330 AFB00010 */ sw $s0, 0x10($sp) +/* 8FF9A4 80240334 8E30000C */ lw $s0, 0xc($s1) +/* 8FF9A8 80240338 8E050000 */ lw $a1, ($s0) +/* 8FF9AC 8024033C 0C0B1EAF */ jal get_variable +/* 8FF9B0 80240340 26100004 */ addiu $s0, $s0, 4 +/* 8FF9B4 80240344 8E050000 */ lw $a1, ($s0) +/* 8FF9B8 80240348 26100004 */ addiu $s0, $s0, 4 +/* 8FF9BC 8024034C 0220202D */ daddu $a0, $s1, $zero +/* 8FF9C0 80240350 0C0B1EAF */ jal get_variable +/* 8FF9C4 80240354 0040982D */ daddu $s3, $v0, $zero +/* 8FF9C8 80240358 8E050000 */ lw $a1, ($s0) +/* 8FF9CC 8024035C 26100004 */ addiu $s0, $s0, 4 +/* 8FF9D0 80240360 0220202D */ daddu $a0, $s1, $zero +/* 8FF9D4 80240364 0C0B1EAF */ jal get_variable +/* 8FF9D8 80240368 0040902D */ daddu $s2, $v0, $zero +/* 8FF9DC 8024036C 8E050000 */ lw $a1, ($s0) +/* 8FF9E0 80240370 26100004 */ addiu $s0, $s0, 4 +/* 8FF9E4 80240374 0220202D */ daddu $a0, $s1, $zero +/* 8FF9E8 80240378 0C0B1EAF */ jal get_variable +/* 8FF9EC 8024037C 0040A02D */ daddu $s4, $v0, $zero +/* 8FF9F0 80240380 0220202D */ daddu $a0, $s1, $zero +/* 8FF9F4 80240384 8E050000 */ lw $a1, ($s0) +/* 8FF9F8 80240388 0C0B1EAF */ jal get_variable +/* 8FF9FC 8024038C 0040882D */ daddu $s1, $v0, $zero +/* 8FFA00 80240390 0000202D */ daddu $a0, $zero, $zero +/* 8FFA04 80240394 3C05FD05 */ lui $a1, 0xfd05 +/* 8FFA08 80240398 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8FFA0C 8024039C 0C0B1EAF */ jal get_variable +/* 8FFA10 802403A0 0040802D */ daddu $s0, $v0, $zero +/* 8FFA14 802403A4 00131900 */ sll $v1, $s3, 4 +/* 8FFA18 802403A8 00731823 */ subu $v1, $v1, $s3 +/* 8FFA1C 802403AC 00031940 */ sll $v1, $v1, 5 +/* 8FFA20 802403B0 00432021 */ addu $a0, $v0, $v1 +/* 8FFA24 802403B4 24020002 */ addiu $v0, $zero, 2 +/* 8FFA28 802403B8 00121840 */ sll $v1, $s2, 1 +/* 8FFA2C 802403BC 00721821 */ addu $v1, $v1, $s2 +/* 8FFA30 802403C0 00431804 */ sllv $v1, $v1, $v0 +/* 8FFA34 802403C4 00832021 */ addu $a0, $a0, $v1 +/* 8FFA38 802403C8 44940000 */ mtc1 $s4, $f0 +/* 8FFA3C 802403CC 00000000 */ nop +/* 8FFA40 802403D0 46800020 */ cvt.s.w $f0, $f0 +/* 8FFA44 802403D4 E4800000 */ swc1 $f0, ($a0) +/* 8FFA48 802403D8 44910000 */ mtc1 $s1, $f0 +/* 8FFA4C 802403DC 00000000 */ nop +/* 8FFA50 802403E0 46800020 */ cvt.s.w $f0, $f0 +/* 8FFA54 802403E4 E4800004 */ swc1 $f0, 4($a0) +/* 8FFA58 802403E8 44900000 */ mtc1 $s0, $f0 +/* 8FFA5C 802403EC 00000000 */ nop +/* 8FFA60 802403F0 46800020 */ cvt.s.w $f0, $f0 +/* 8FFA64 802403F4 E4800008 */ swc1 $f0, 8($a0) +/* 8FFA68 802403F8 8FBF0024 */ lw $ra, 0x24($sp) +/* 8FFA6C 802403FC 8FB40020 */ lw $s4, 0x20($sp) +/* 8FFA70 80240400 8FB3001C */ lw $s3, 0x1c($sp) +/* 8FFA74 80240404 8FB20018 */ lw $s2, 0x18($sp) +/* 8FFA78 80240408 8FB10014 */ lw $s1, 0x14($sp) +/* 8FFA7C 8024040C 8FB00010 */ lw $s0, 0x10($sp) +/* 8FFA80 80240410 03E00008 */ jr $ra +/* 8FFA84 80240414 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240418.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240418.s new file mode 100644 index 0000000000..f9a182602a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240418.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240418 +/* 8FFA88 80240418 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8FFA8C 8024041C AFB10014 */ sw $s1, 0x14($sp) +/* 8FFA90 80240420 0080882D */ daddu $s1, $a0, $zero +/* 8FFA94 80240424 AFBF0020 */ sw $ra, 0x20($sp) +/* 8FFA98 80240428 AFB3001C */ sw $s3, 0x1c($sp) +/* 8FFA9C 8024042C AFB20018 */ sw $s2, 0x18($sp) +/* 8FFAA0 80240430 AFB00010 */ sw $s0, 0x10($sp) +/* 8FFAA4 80240434 8E30000C */ lw $s0, 0xc($s1) +/* 8FFAA8 80240438 8E050000 */ lw $a1, ($s0) +/* 8FFAAC 8024043C 0C0B1EAF */ jal get_variable +/* 8FFAB0 80240440 26100004 */ addiu $s0, $s0, 4 +/* 8FFAB4 80240444 8E050000 */ lw $a1, ($s0) +/* 8FFAB8 80240448 26100004 */ addiu $s0, $s0, 4 +/* 8FFABC 8024044C 0220202D */ daddu $a0, $s1, $zero +/* 8FFAC0 80240450 0C0B1EAF */ jal get_variable +/* 8FFAC4 80240454 0040982D */ daddu $s3, $v0, $zero +/* 8FFAC8 80240458 8E050000 */ lw $a1, ($s0) +/* 8FFACC 8024045C 26100004 */ addiu $s0, $s0, 4 +/* 8FFAD0 80240460 0220202D */ daddu $a0, $s1, $zero +/* 8FFAD4 80240464 0C0B1EAF */ jal get_variable +/* 8FFAD8 80240468 0040902D */ daddu $s2, $v0, $zero +/* 8FFADC 8024046C 8E050000 */ lw $a1, ($s0) +/* 8FFAE0 80240470 26100004 */ addiu $s0, $s0, 4 +/* 8FFAE4 80240474 0C0B1EAF */ jal get_variable +/* 8FFAE8 80240478 0220202D */ daddu $a0, $s1, $zero +/* 8FFAEC 8024047C 8E050000 */ lw $a1, ($s0) +/* 8FFAF0 80240480 0C0B1EAF */ jal get_variable +/* 8FFAF4 80240484 0220202D */ daddu $a0, $s1, $zero +/* 8FFAF8 80240488 0000202D */ daddu $a0, $zero, $zero +/* 8FFAFC 8024048C 3C05FD05 */ lui $a1, 0xfd05 +/* 8FFB00 80240490 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8FFB04 80240494 0C0B1EAF */ jal get_variable +/* 8FFB08 80240498 0040802D */ daddu $s0, $v0, $zero +/* 8FFB0C 8024049C 00131900 */ sll $v1, $s3, 4 +/* 8FFB10 802404A0 00731823 */ subu $v1, $v1, $s3 +/* 8FFB14 802404A4 00031940 */ sll $v1, $v1, 5 +/* 8FFB18 802404A8 00431821 */ addu $v1, $v0, $v1 +/* 8FFB1C 802404AC 24020002 */ addiu $v0, $zero, 2 +/* 8FFB20 802404B0 00529004 */ sllv $s2, $s2, $v0 +/* 8FFB24 802404B4 00721821 */ addu $v1, $v1, $s2 +/* 8FFB28 802404B8 44900000 */ mtc1 $s0, $f0 +/* 8FFB2C 802404BC 00000000 */ nop +/* 8FFB30 802404C0 46800020 */ cvt.s.w $f0, $f0 +/* 8FFB34 802404C4 E460006C */ swc1 $f0, 0x6c($v1) +/* 8FFB38 802404C8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8FFB3C 802404CC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8FFB40 802404D0 8FB20018 */ lw $s2, 0x18($sp) +/* 8FFB44 802404D4 8FB10014 */ lw $s1, 0x14($sp) +/* 8FFB48 802404D8 8FB00010 */ lw $s0, 0x10($sp) +/* 8FFB4C 802404DC 03E00008 */ jr $ra +/* 8FFB50 802404E0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_802404E4.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_802404E4.s new file mode 100644 index 0000000000..7285fac7ba --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_802404E4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404E4 +/* 8FFB54 802404E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8FFB58 802404E8 AFB10014 */ sw $s1, 0x14($sp) +/* 8FFB5C 802404EC 0080882D */ daddu $s1, $a0, $zero +/* 8FFB60 802404F0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8FFB64 802404F4 AFB00010 */ sw $s0, 0x10($sp) +/* 8FFB68 802404F8 8E30000C */ lw $s0, 0xc($s1) +/* 8FFB6C 802404FC 8E050000 */ lw $a1, ($s0) +/* 8FFB70 80240500 0C0B1EAF */ jal get_variable +/* 8FFB74 80240504 26100004 */ addiu $s0, $s0, 4 +/* 8FFB78 80240508 8E050000 */ lw $a1, ($s0) +/* 8FFB7C 8024050C 26100004 */ addiu $s0, $s0, 4 +/* 8FFB80 80240510 0C0B1EAF */ jal get_variable +/* 8FFB84 80240514 0220202D */ daddu $a0, $s1, $zero +/* 8FFB88 80240518 8E050000 */ lw $a1, ($s0) +/* 8FFB8C 8024051C 26100004 */ addiu $s0, $s0, 4 +/* 8FFB90 80240520 0C0B1EAF */ jal get_variable +/* 8FFB94 80240524 0220202D */ daddu $a0, $s1, $zero +/* 8FFB98 80240528 8E050000 */ lw $a1, ($s0) +/* 8FFB9C 8024052C 26100004 */ addiu $s0, $s0, 4 +/* 8FFBA0 80240530 0C0B1EAF */ jal get_variable +/* 8FFBA4 80240534 0220202D */ daddu $a0, $s1, $zero +/* 8FFBA8 80240538 8E050000 */ lw $a1, ($s0) +/* 8FFBAC 8024053C 0C0B1EAF */ jal get_variable +/* 8FFBB0 80240540 0220202D */ daddu $a0, $s1, $zero +/* 8FFBB4 80240544 0000202D */ daddu $a0, $zero, $zero +/* 8FFBB8 80240548 3C05FD05 */ lui $a1, 0xfd05 +/* 8FFBBC 8024054C 0C0B1EAF */ jal get_variable +/* 8FFBC0 80240550 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8FFBC4 80240554 8FBF0018 */ lw $ra, 0x18($sp) +/* 8FFBC8 80240558 8FB10014 */ lw $s1, 0x14($sp) +/* 8FFBCC 8024055C 8FB00010 */ lw $s0, 0x10($sp) +/* 8FFBD0 80240560 24020002 */ addiu $v0, $zero, 2 +/* 8FFBD4 80240564 03E00008 */ jr $ra +/* 8FFBD8 80240568 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_8024056C.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_8024056C.s new file mode 100644 index 0000000000..a9d5d05079 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_8024056C.s @@ -0,0 +1,385 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024056C +/* 8FFBDC 8024056C 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 8FFBE0 80240570 3C038025 */ lui $v1, 0x8025 +/* 8FFBE4 80240574 8C6383D0 */ lw $v1, -0x7c30($v1) +/* 8FFBE8 80240578 2402FFFF */ addiu $v0, $zero, -1 +/* 8FFBEC 8024057C AFBF005C */ sw $ra, 0x5c($sp) +/* 8FFBF0 80240580 AFBE0058 */ sw $fp, 0x58($sp) +/* 8FFBF4 80240584 AFB70054 */ sw $s7, 0x54($sp) +/* 8FFBF8 80240588 AFB60050 */ sw $s6, 0x50($sp) +/* 8FFBFC 8024058C AFB5004C */ sw $s5, 0x4c($sp) +/* 8FFC00 80240590 AFB40048 */ sw $s4, 0x48($sp) +/* 8FFC04 80240594 AFB30044 */ sw $s3, 0x44($sp) +/* 8FFC08 80240598 AFB20040 */ sw $s2, 0x40($sp) +/* 8FFC0C 8024059C AFB1003C */ sw $s1, 0x3c($sp) +/* 8FFC10 802405A0 AFB00038 */ sw $s0, 0x38($sp) +/* 8FFC14 802405A4 F7BE0088 */ sdc1 $f30, 0x88($sp) +/* 8FFC18 802405A8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8FFC1C 802405AC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 8FFC20 802405B0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 8FFC24 802405B4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 8FFC28 802405B8 1062013F */ beq $v1, $v0, .L80240AB8 +/* 8FFC2C 802405BC F7B40060 */ sdc1 $f20, 0x60($sp) +/* 8FFC30 802405C0 1460005E */ bnez $v1, .L8024073C +/* 8FFC34 802405C4 0000382D */ daddu $a3, $zero, $zero +/* 8FFC38 802405C8 00E0802D */ daddu $s0, $a3, $zero +/* 8FFC3C 802405CC 3C0142B4 */ lui $at, 0x42b4 +/* 8FFC40 802405D0 4481E000 */ mtc1 $at, $f28 +/* 8FFC44 802405D4 3C014334 */ lui $at, 0x4334 +/* 8FFC48 802405D8 4481D000 */ mtc1 $at, $f26 +/* 8FFC4C 802405DC 3C0143B4 */ lui $at, 0x43b4 +/* 8FFC50 802405E0 4481A000 */ mtc1 $at, $f20 +/* 8FFC54 802405E4 3C01C334 */ lui $at, 0xc334 +/* 8FFC58 802405E8 4481B000 */ mtc1 $at, $f22 +.L802405EC: +/* 8FFC5C 802405EC 0000202D */ daddu $a0, $zero, $zero +/* 8FFC60 802405F0 3C05FD05 */ lui $a1, 0xfd05 +/* 8FFC64 802405F4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8FFC68 802405F8 0C0B1EAF */ jal get_variable +/* 8FFC6C 802405FC AFA70030 */ sw $a3, 0x30($sp) +/* 8FFC70 80240600 00502021 */ addu $a0, $v0, $s0 +/* 8FFC74 80240604 8FA70030 */ lw $a3, 0x30($sp) +/* 8FFC78 80240608 24020001 */ addiu $v0, $zero, 1 +/* 8FFC7C 8024060C 10E20011 */ beq $a3, $v0, .L80240654 +/* 8FFC80 80240610 28E20002 */ slti $v0, $a3, 2 +/* 8FFC84 80240614 50400005 */ beql $v0, $zero, .L8024062C +/* 8FFC88 80240618 24020002 */ addiu $v0, $zero, 2 +/* 8FFC8C 8024061C 10E00009 */ beqz $a3, .L80240644 +/* 8FFC90 80240620 00000000 */ nop +/* 8FFC94 80240624 080902AE */ j .L80240AB8 +/* 8FFC98 80240628 00000000 */ nop +.L8024062C: +/* 8FFC9C 8024062C 10E2000B */ beq $a3, $v0, .L8024065C +/* 8FFCA0 80240630 24020003 */ addiu $v0, $zero, 3 +/* 8FFCA4 80240634 10E2000A */ beq $a3, $v0, .L80240660 +/* 8FFCA8 80240638 24140005 */ addiu $s4, $zero, 5 +/* 8FFCAC 8024063C 080902AE */ j .L80240AB8 +/* 8FFCB0 80240640 00000000 */ nop +.L80240644: +/* 8FFCB4 80240644 3C014120 */ lui $at, 0x4120 +/* 8FFCB8 80240648 4481C000 */ mtc1 $at, $f24 +/* 8FFCBC 8024064C 0809019A */ j .L80240668 +/* 8FFCC0 80240650 24140009 */ addiu $s4, $zero, 9 +.L80240654: +/* 8FFCC4 80240654 08090198 */ j .L80240660 +/* 8FFCC8 80240658 24140007 */ addiu $s4, $zero, 7 +.L8024065C: +/* 8FFCCC 8024065C 24140007 */ addiu $s4, $zero, 7 +.L80240660: +/* 8FFCD0 80240660 3C014100 */ lui $at, 0x4100 +/* 8FFCD4 80240664 4481C000 */ mtc1 $at, $f24 +.L80240668: +/* 8FFCD8 80240668 0000882D */ daddu $s1, $zero, $zero +/* 8FFCDC 8024066C AC940090 */ sw $s4, 0x90($a0) +/* 8FFCE0 80240670 1A800027 */ blez $s4, .L80240710 +/* 8FFCE4 80240674 E4980094 */ swc1 $f24, 0x94($a0) +/* 8FFCE8 80240678 2686FFFF */ addiu $a2, $s4, -1 +/* 8FFCEC 8024067C 0080182D */ daddu $v1, $a0, $zero +/* 8FFCF0 80240680 24050004 */ addiu $a1, $zero, 4 +/* 8FFCF4 80240684 3C013FE0 */ lui $at, 0x3fe0 +/* 8FFCF8 80240688 44814800 */ mtc1 $at, $f9 +/* 8FFCFC 8024068C 44804000 */ mtc1 $zero, $f8 +/* 8FFD00 80240690 3C018025 */ lui $at, 0x8025 +/* 8FFD04 80240694 D42683B0 */ ldc1 $f6, -0x7c50($at) +.L80240698: +/* 8FFD08 80240698 16260004 */ bne $s1, $a2, .L802406AC +/* 8FFD0C 8024069C 00851021 */ addu $v0, $a0, $a1 +/* 8FFD10 802406A0 C460006C */ lwc1 $f0, 0x6c($v1) +/* 8FFD14 802406A4 080901BE */ j .L802406F8 +/* 8FFD18 802406A8 461C0000 */ add.s $f0, $f0, $f28 +.L802406AC: +/* 8FFD1C 802406AC C460006C */ lwc1 $f0, 0x6c($v1) +/* 8FFD20 802406B0 C444006C */ lwc1 $f4, 0x6c($v0) +/* 8FFD24 802406B4 46002081 */ sub.s $f2, $f4, $f0 +/* 8FFD28 802406B8 4602D03C */ c.lt.s $f26, $f2 +/* 8FFD2C 802406BC 00000000 */ nop +/* 8FFD30 802406C0 45000003 */ bc1f .L802406D0 +/* 8FFD34 802406C4 00000000 */ nop +/* 8FFD38 802406C8 080901B8 */ j .L802406E0 +/* 8FFD3C 802406CC 46140000 */ add.s $f0, $f0, $f20 +.L802406D0: +/* 8FFD40 802406D0 4616103C */ c.lt.s $f2, $f22 +/* 8FFD44 802406D4 00000000 */ nop +/* 8FFD48 802406D8 45030001 */ bc1tl .L802406E0 +/* 8FFD4C 802406DC 46142100 */ add.s $f4, $f4, $f20 +.L802406E0: +/* 8FFD50 802406E0 46040000 */ add.s $f0, $f0, $f4 +/* 8FFD54 802406E4 46000021 */ cvt.d.s $f0, $f0 +/* 8FFD58 802406E8 46280002 */ mul.d $f0, $f0, $f8 +/* 8FFD5C 802406EC 00000000 */ nop +/* 8FFD60 802406F0 46260000 */ add.d $f0, $f0, $f6 +/* 8FFD64 802406F4 46200020 */ cvt.s.d $f0, $f0 +.L802406F8: +/* 8FFD68 802406F8 E460006C */ swc1 $f0, 0x6c($v1) +/* 8FFD6C 802406FC 24630004 */ addiu $v1, $v1, 4 +/* 8FFD70 80240700 26310001 */ addiu $s1, $s1, 1 +/* 8FFD74 80240704 0234102A */ slt $v0, $s1, $s4 +/* 8FFD78 80240708 1440FFE3 */ bnez $v0, .L80240698 +/* 8FFD7C 8024070C 24A50004 */ addiu $a1, $a1, 4 +.L80240710: +/* 8FFD80 80240710 0C090090 */ jal func_80240240 +/* 8FFD84 80240714 AFA70030 */ sw $a3, 0x30($sp) +/* 8FFD88 80240718 8FA70030 */ lw $a3, 0x30($sp) +/* 8FFD8C 8024071C 24E70001 */ addiu $a3, $a3, 1 +/* 8FFD90 80240720 28E20004 */ slti $v0, $a3, 4 +/* 8FFD94 80240724 1440FFB1 */ bnez $v0, .L802405EC +/* 8FFD98 80240728 261001E0 */ addiu $s0, $s0, 0x1e0 +/* 8FFD9C 8024072C 24020001 */ addiu $v0, $zero, 1 +/* 8FFDA0 80240730 3C018025 */ lui $at, 0x8025 +/* 8FFDA4 80240734 AC2283D0 */ sw $v0, -0x7c30($at) +/* 8FFDA8 80240738 0000382D */ daddu $a3, $zero, $zero +.L8024073C: +/* 8FFDAC 8024073C 3C02800A */ lui $v0, 0x800a +/* 8FFDB0 80240740 2442A66C */ addiu $v0, $v0, -0x5994 +/* 8FFDB4 80240744 0040402D */ daddu $t0, $v0, $zero +/* 8FFDB8 80240748 3C090100 */ lui $t1, 0x100 +/* 8FFDBC 8024074C 35294008 */ ori $t1, $t1, 0x4008 +/* 8FFDC0 80240750 AFA90018 */ sw $t1, 0x18($sp) +/* 8FFDC4 80240754 3C090602 */ lui $t1, 0x602 +/* 8FFDC8 80240758 35290004 */ ori $t1, $t1, 4 +/* 8FFDCC 8024075C AFA9001C */ sw $t1, 0x1c($sp) +/* 8FFDD0 80240760 AFA00020 */ sw $zero, 0x20($sp) +/* 8FFDD4 80240764 8D030000 */ lw $v1, ($t0) +/* 8FFDD8 80240768 3C02E700 */ lui $v0, 0xe700 +/* 8FFDDC 8024076C 0060202D */ daddu $a0, $v1, $zero +/* 8FFDE0 80240770 24630008 */ addiu $v1, $v1, 8 +/* 8FFDE4 80240774 AD030000 */ sw $v1, ($t0) +/* 8FFDE8 80240778 AC820000 */ sw $v0, ($a0) +/* 8FFDEC 8024077C 24620008 */ addiu $v0, $v1, 8 +/* 8FFDF0 80240780 AC800004 */ sw $zero, 4($a0) +/* 8FFDF4 80240784 AD020000 */ sw $v0, ($t0) +/* 8FFDF8 80240788 3C02DE00 */ lui $v0, 0xde00 +/* 8FFDFC 8024078C AC620000 */ sw $v0, ($v1) +/* 8FFE00 80240790 3C028024 */ lui $v0, 0x8024 +/* 8FFE04 80240794 24421F00 */ addiu $v0, $v0, 0x1f00 +/* 8FFE08 80240798 AC620004 */ sw $v0, 4($v1) +.L8024079C: +/* 8FFE0C 8024079C 0000202D */ daddu $a0, $zero, $zero +/* 8FFE10 802407A0 3C05FD05 */ lui $a1, 0xfd05 +/* 8FFE14 802407A4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8FFE18 802407A8 AFA70030 */ sw $a3, 0x30($sp) +/* 8FFE1C 802407AC 0C0B1EAF */ jal get_variable +/* 8FFE20 802407B0 AFA80034 */ sw $t0, 0x34($sp) +/* 8FFE24 802407B4 0000882D */ daddu $s1, $zero, $zero +/* 8FFE28 802407B8 8FA90020 */ lw $t1, 0x20($sp) +/* 8FFE2C 802407BC 8FA80034 */ lw $t0, 0x34($sp) +/* 8FFE30 802407C0 0049A821 */ addu $s5, $v0, $t1 +/* 8FFE34 802407C4 3C02DE01 */ lui $v0, 0xde01 +/* 8FFE38 802407C8 C6B80094 */ lwc1 $f24, 0x94($s5) +/* 8FFE3C 802407CC 8D040000 */ lw $a0, ($t0) +/* 8FFE40 802407D0 8EB40090 */ lw $s4, 0x90($s5) +/* 8FFE44 802407D4 24890008 */ addiu $t1, $a0, 8 +/* 8FFE48 802407D8 AFA90010 */ sw $t1, 0x10($sp) +/* 8FFE4C 802407DC 8EA601DC */ lw $a2, 0x1dc($s5) +/* 8FFE50 802407E0 AC820000 */ sw $v0, ($a0) +/* 8FFE54 802407E4 00061940 */ sll $v1, $a2, 5 +/* 8FFE58 802407E8 24620008 */ addiu $v0, $v1, 8 +/* 8FFE5C 802407EC 00821021 */ addu $v0, $a0, $v0 +/* 8FFE60 802407F0 01231821 */ addu $v1, $t1, $v1 +/* 8FFE64 802407F4 AC820004 */ sw $v0, 4($a0) +/* 8FFE68 802407F8 AD030000 */ sw $v1, ($t0) +/* 8FFE6C 802407FC 8FA70030 */ lw $a3, 0x30($sp) +/* 8FFE70 80240800 18C00088 */ blez $a2, .L80240A24 +/* 8FFE74 80240804 0120982D */ daddu $s3, $t1, $zero +/* 8FFE78 80240808 2682FFFF */ addiu $v0, $s4, -1 +/* 8FFE7C 8024080C 00021080 */ sll $v0, $v0, 2 +/* 8FFE80 80240810 02A21021 */ addu $v0, $s5, $v0 +/* 8FFE84 80240814 AFA20014 */ sw $v0, 0x14($sp) +/* 8FFE88 80240818 0220282D */ daddu $a1, $s1, $zero +/* 8FFE8C 8024081C 0220F02D */ daddu $fp, $s1, $zero +/* 8FFE90 80240820 0220B82D */ daddu $s7, $s1, $zero +/* 8FFE94 80240824 0220B02D */ daddu $s6, $s1, $zero +/* 8FFE98 80240828 02A0902D */ daddu $s2, $s5, $zero +/* 8FFE9C 8024082C 24900016 */ addiu $s0, $a0, 0x16 +.L80240830: +/* 8FFEA0 80240830 44911000 */ mtc1 $s1, $f2 +/* 8FFEA4 80240834 00000000 */ nop +/* 8FFEA8 80240838 468010A0 */ cvt.s.w $f2, $f2 +/* 8FFEAC 8024083C 44940000 */ mtc1 $s4, $f0 +/* 8FFEB0 80240840 00000000 */ nop +/* 8FFEB4 80240844 46800020 */ cvt.s.w $f0, $f0 +/* 8FFEB8 80240848 46001082 */ mul.s $f2, $f2, $f0 +/* 8FFEBC 8024084C 00000000 */ nop +/* 8FFEC0 80240850 44860000 */ mtc1 $a2, $f0 +/* 8FFEC4 80240854 00000000 */ nop +/* 8FFEC8 80240858 46800020 */ cvt.s.w $f0, $f0 +/* 8FFECC 8024085C C65A0098 */ lwc1 $f26, 0x98($s2) +/* 8FFED0 80240860 C65C009C */ lwc1 $f28, 0x9c($s2) +/* 8FFED4 80240864 C65E00A0 */ lwc1 $f30, 0xa0($s2) +/* 8FFED8 80240868 46001083 */ div.s $f2, $f2, $f0 +/* 8FFEDC 8024086C 4600128D */ trunc.w.s $f10, $f2 +/* 8FFEE0 80240870 44045000 */ mfc1 $a0, $f10 +/* 8FFEE4 80240874 00000000 */ nop +/* 8FFEE8 80240878 44840000 */ mtc1 $a0, $f0 +/* 8FFEEC 8024087C 00000000 */ nop +/* 8FFEF0 80240880 46800020 */ cvt.s.w $f0, $f0 +/* 8FFEF4 80240884 24830001 */ addiu $v1, $a0, 1 +/* 8FFEF8 80240888 0074102A */ slt $v0, $v1, $s4 +/* 8FFEFC 8024088C 14400005 */ bnez $v0, .L802408A4 +/* 8FFF00 80240890 46001181 */ sub.s $f6, $f2, $f0 +/* 8FFF04 80240894 8FA90014 */ lw $t1, 0x14($sp) +/* 8FFF08 80240898 C536006C */ lwc1 $f22, 0x6c($t1) +/* 8FFF0C 8024089C 0809024C */ j .L80240930 +/* 8FFF10 802408A0 4600B306 */ mov.s $f12, $f22 +.L802408A4: +/* 8FFF14 802408A4 00031080 */ sll $v0, $v1, 2 +/* 8FFF18 802408A8 02A21021 */ addu $v0, $s5, $v0 +/* 8FFF1C 802408AC C444006C */ lwc1 $f4, 0x6c($v0) +/* 8FFF20 802408B0 00041080 */ sll $v0, $a0, 2 +/* 8FFF24 802408B4 02A21021 */ addu $v0, $s5, $v0 +/* 8FFF28 802408B8 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 8FFF2C 802408BC 460C2081 */ sub.s $f2, $f4, $f12 +/* 8FFF30 802408C0 3C014334 */ lui $at, 0x4334 +/* 8FFF34 802408C4 44810000 */ mtc1 $at, $f0 +/* 8FFF38 802408C8 00000000 */ nop +/* 8FFF3C 802408CC 4602003C */ c.lt.s $f0, $f2 +/* 8FFF40 802408D0 00000000 */ nop +/* 8FFF44 802408D4 45000006 */ bc1f .L802408F0 +/* 8FFF48 802408D8 00000000 */ nop +/* 8FFF4C 802408DC 3C0143B4 */ lui $at, 0x43b4 +/* 8FFF50 802408E0 44815000 */ mtc1 $at, $f10 +/* 8FFF54 802408E4 00000000 */ nop +/* 8FFF58 802408E8 460A2101 */ sub.s $f4, $f4, $f10 +/* 8FFF5C 802408EC 460C2081 */ sub.s $f2, $f4, $f12 +.L802408F0: +/* 8FFF60 802408F0 3C01C334 */ lui $at, 0xc334 +/* 8FFF64 802408F4 44810000 */ mtc1 $at, $f0 +/* 8FFF68 802408F8 00000000 */ nop +/* 8FFF6C 802408FC 4600103C */ c.lt.s $f2, $f0 +/* 8FFF70 80240900 00000000 */ nop +/* 8FFF74 80240904 45020006 */ bc1fl .L80240920 +/* 8FFF78 80240908 460C2001 */ sub.s $f0, $f4, $f12 +/* 8FFF7C 8024090C 3C0143B4 */ lui $at, 0x43b4 +/* 8FFF80 80240910 44815000 */ mtc1 $at, $f10 +/* 8FFF84 80240914 00000000 */ nop +/* 8FFF88 80240918 460A2100 */ add.s $f4, $f4, $f10 +/* 8FFF8C 8024091C 460C2001 */ sub.s $f0, $f4, $f12 +.L80240920: +/* 8FFF90 80240920 46060002 */ mul.s $f0, $f0, $f6 +/* 8FFF94 80240924 00000000 */ nop +/* 8FFF98 80240928 460C0580 */ add.s $f22, $f0, $f12 +/* 8FFF9C 8024092C 4600B306 */ mov.s $f12, $f22 +.L80240930: +/* 8FFFA0 80240930 AFA50028 */ sw $a1, 0x28($sp) +/* 8FFFA4 80240934 AFA6002C */ sw $a2, 0x2c($sp) +/* 8FFFA8 80240938 AFA70030 */ sw $a3, 0x30($sp) +/* 8FFFAC 8024093C 0C00A8BB */ jal sin_deg +/* 8FFFB0 80240940 AFA80034 */ sw $t0, 0x34($sp) +/* 8FFFB4 80240944 46180502 */ mul.s $f20, $f0, $f24 +/* 8FFFB8 80240948 00000000 */ nop +/* 8FFFBC 8024094C 0C00A8D4 */ jal cos_deg +/* 8FFFC0 80240950 4600B306 */ mov.s $f12, $f22 +/* 8FFFC4 80240954 46000007 */ neg.s $f0, $f0 +/* 8FFFC8 80240958 46180002 */ mul.s $f0, $f0, $f24 +/* 8FFFCC 8024095C 00000000 */ nop +/* 8FFFD0 80240960 4614D100 */ add.s $f4, $f26, $f20 +/* 8FFFD4 80240964 4600E080 */ add.s $f2, $f28, $f0 +/* 8FFFD8 80240968 4614D501 */ sub.s $f20, $f26, $f20 +/* 8FFFDC 8024096C 2652000C */ addiu $s2, $s2, 0xc +/* 8FFFE0 80240970 26310001 */ addiu $s1, $s1, 1 +/* 8FFFE4 80240974 4600E001 */ sub.s $f0, $f28, $f0 +/* 8FFFE8 80240978 4600228D */ trunc.w.s $f10, $f4 +/* 8FFFEC 8024097C 44025000 */ mfc1 $v0, $f10 +/* 8FFFF0 80240980 00000000 */ nop +/* 8FFFF4 80240984 A6620000 */ sh $v0, ($s3) +/* 8FFFF8 80240988 4600128D */ trunc.w.s $f10, $f2 +/* 8FFFFC 8024098C 44025000 */ mfc1 $v0, $f10 +/* 900000 80240990 4600F28D */ trunc.w.s $f10, $f30 +/* 900004 80240994 44035000 */ mfc1 $v1, $f10 +/* 900008 80240998 26730010 */ addiu $s3, $s3, 0x10 +/* 90000C 8024099C A602FFF4 */ sh $v0, -0xc($s0) +/* 900010 802409A0 A603FFF6 */ sh $v1, -0xa($s0) +/* 900014 802409A4 A616FFFA */ sh $s6, -6($s0) +/* 900018 802409A8 A600FFFC */ sh $zero, -4($s0) +/* 90001C 802409AC A217FFFE */ sb $s7, -2($s0) +/* 900020 802409B0 A21EFFFF */ sb $fp, -1($s0) +/* 900024 802409B4 8FA50028 */ lw $a1, 0x28($sp) +/* 900028 802409B8 4600A28D */ trunc.w.s $f10, $f20 +/* 90002C 802409BC 44025000 */ mfc1 $v0, $f10 +/* 900030 802409C0 A2050000 */ sb $a1, ($s0) +/* 900034 802409C4 26100010 */ addiu $s0, $s0, 0x10 +/* 900038 802409C8 A6620000 */ sh $v0, ($s3) +/* 90003C 802409CC 4600028D */ trunc.w.s $f10, $f0 +/* 900040 802409D0 44025000 */ mfc1 $v0, $f10 +/* 900044 802409D4 00000000 */ nop +/* 900048 802409D8 A602FFF4 */ sh $v0, -0xc($s0) +/* 90004C 802409DC 24020400 */ addiu $v0, $zero, 0x400 +/* 900050 802409E0 A603FFF6 */ sh $v1, -0xa($s0) +/* 900054 802409E4 A616FFFA */ sh $s6, -6($s0) +/* 900058 802409E8 A602FFFC */ sh $v0, -4($s0) +/* 90005C 802409EC A217FFFE */ sb $s7, -2($s0) +/* 900060 802409F0 A21EFFFF */ sb $fp, -1($s0) +/* 900064 802409F4 A2050000 */ sb $a1, ($s0) +/* 900068 802409F8 26100010 */ addiu $s0, $s0, 0x10 +/* 90006C 802409FC 26730010 */ addiu $s3, $s3, 0x10 +/* 900070 80240A00 24A5001E */ addiu $a1, $a1, 0x1e +/* 900074 80240A04 27DE0078 */ addiu $fp, $fp, 0x78 +/* 900078 80240A08 26F70032 */ addiu $s7, $s7, 0x32 +/* 90007C 80240A0C 8FA6002C */ lw $a2, 0x2c($sp) +/* 900080 80240A10 8FA70030 */ lw $a3, 0x30($sp) +/* 900084 80240A14 8FA80034 */ lw $t0, 0x34($sp) +/* 900088 80240A18 0226102A */ slt $v0, $s1, $a2 +/* 90008C 80240A1C 1440FF84 */ bnez $v0, .L80240830 +/* 900090 80240A20 26D60140 */ addiu $s6, $s6, 0x140 +.L80240A24: +/* 900094 80240A24 24C5FFFF */ addiu $a1, $a2, -1 +/* 900098 80240A28 18A00014 */ blez $a1, .L80240A7C +/* 90009C 80240A2C 0000882D */ daddu $s1, $zero, $zero +/* 9000A0 80240A30 3C060002 */ lui $a2, 2 +/* 9000A4 80240A34 34C60406 */ ori $a2, $a2, 0x406 +/* 9000A8 80240A38 8FA40010 */ lw $a0, 0x10($sp) +.L80240A3C: +/* 9000AC 80240A3C 8D030000 */ lw $v1, ($t0) +/* 9000B0 80240A40 26310001 */ addiu $s1, $s1, 1 +/* 9000B4 80240A44 0060102D */ daddu $v0, $v1, $zero +/* 9000B8 80240A48 24630008 */ addiu $v1, $v1, 8 +/* 9000BC 80240A4C AC440004 */ sw $a0, 4($v0) +/* 9000C0 80240A50 AD030000 */ sw $v1, ($t0) +/* 9000C4 80240A54 8FA90018 */ lw $t1, 0x18($sp) +/* 9000C8 80240A58 24840020 */ addiu $a0, $a0, 0x20 +/* 9000CC 80240A5C AC490000 */ sw $t1, ($v0) +/* 9000D0 80240A60 24620008 */ addiu $v0, $v1, 8 +/* 9000D4 80240A64 AD020000 */ sw $v0, ($t0) +/* 9000D8 80240A68 8FA9001C */ lw $t1, 0x1c($sp) +/* 9000DC 80240A6C 0225102A */ slt $v0, $s1, $a1 +/* 9000E0 80240A70 AC660004 */ sw $a2, 4($v1) +/* 9000E4 80240A74 1440FFF1 */ bnez $v0, .L80240A3C +/* 9000E8 80240A78 AC690000 */ sw $t1, ($v1) +.L80240A7C: +/* 9000EC 80240A7C 24E70001 */ addiu $a3, $a3, 1 +/* 9000F0 80240A80 8FA90020 */ lw $t1, 0x20($sp) +/* 9000F4 80240A84 28E20004 */ slti $v0, $a3, 4 +/* 9000F8 80240A88 252901E0 */ addiu $t1, $t1, 0x1e0 +/* 9000FC 80240A8C 1440FF43 */ bnez $v0, .L8024079C +/* 900100 80240A90 AFA90020 */ sw $t1, 0x20($sp) +/* 900104 80240A94 3C03800A */ lui $v1, 0x800a +/* 900108 80240A98 2463A66C */ addiu $v1, $v1, -0x5994 +/* 90010C 80240A9C 8C620000 */ lw $v0, ($v1) +/* 900110 80240AA0 0040202D */ daddu $a0, $v0, $zero +/* 900114 80240AA4 24420008 */ addiu $v0, $v0, 8 +/* 900118 80240AA8 AC620000 */ sw $v0, ($v1) +/* 90011C 80240AAC 3C02E700 */ lui $v0, 0xe700 +/* 900120 80240AB0 AC820000 */ sw $v0, ($a0) +/* 900124 80240AB4 AC800004 */ sw $zero, 4($a0) +.L80240AB8: +/* 900128 80240AB8 8FBF005C */ lw $ra, 0x5c($sp) +/* 90012C 80240ABC 8FBE0058 */ lw $fp, 0x58($sp) +/* 900130 80240AC0 8FB70054 */ lw $s7, 0x54($sp) +/* 900134 80240AC4 8FB60050 */ lw $s6, 0x50($sp) +/* 900138 80240AC8 8FB5004C */ lw $s5, 0x4c($sp) +/* 90013C 80240ACC 8FB40048 */ lw $s4, 0x48($sp) +/* 900140 80240AD0 8FB30044 */ lw $s3, 0x44($sp) +/* 900144 80240AD4 8FB20040 */ lw $s2, 0x40($sp) +/* 900148 80240AD8 8FB1003C */ lw $s1, 0x3c($sp) +/* 90014C 80240ADC 8FB00038 */ lw $s0, 0x38($sp) +/* 900150 80240AE0 D7BE0088 */ ldc1 $f30, 0x88($sp) +/* 900154 80240AE4 D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 900158 80240AE8 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 90015C 80240AEC D7B80070 */ ldc1 $f24, 0x70($sp) +/* 900160 80240AF0 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 900164 80240AF4 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 900168 80240AF8 03E00008 */ jr $ra +/* 90016C 80240AFC 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B00_8FF670.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B00_8FF670.s new file mode 100644 index 0000000000..5dc29783e0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B00_8FF670.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_900170 +/* 900170 80240B00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 900174 80240B04 3C028024 */ lui $v0, 0x8024 +/* 900178 80240B08 2442056C */ addiu $v0, $v0, 0x56c +/* 90017C 80240B0C AFA2001C */ sw $v0, 0x1c($sp) +/* 900180 80240B10 2402000A */ addiu $v0, $zero, 0xa +/* 900184 80240B14 AFA20014 */ sw $v0, 0x14($sp) +/* 900188 80240B18 24020001 */ addiu $v0, $zero, 1 +/* 90018C 80240B1C 27A40010 */ addiu $a0, $sp, 0x10 +/* 900190 80240B20 AFBF0020 */ sw $ra, 0x20($sp) +/* 900194 80240B24 AFA00018 */ sw $zero, 0x18($sp) +/* 900198 80240B28 0C047644 */ jal queue_render_task +/* 90019C 80240B2C AFA20010 */ sw $v0, 0x10($sp) +/* 9001A0 80240B30 8FBF0020 */ lw $ra, 0x20($sp) +/* 9001A4 80240B34 03E00008 */ jr $ra +/* 9001A8 80240B38 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B3C.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B3C.s new file mode 100644 index 0000000000..d769d35e82 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B3C.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B3C +/* 9001AC 80240B3C 3C018025 */ lui $at, 0x8025 +/* 9001B0 80240B40 AC2083D0 */ sw $zero, -0x7c30($at) +/* 9001B4 80240B44 03E00008 */ jr $ra +/* 9001B8 80240B48 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B4C_8FF670.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B4C_8FF670.s new file mode 100644 index 0000000000..42bdeb3094 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240B4C_8FF670.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B4C_9001BC +/* 9001BC 80240B4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9001C0 80240B50 AFB00010 */ sw $s0, 0x10($sp) +/* 9001C4 80240B54 0080802D */ daddu $s0, $a0, $zero +/* 9001C8 80240B58 AFBF0014 */ sw $ra, 0x14($sp) +/* 9001CC 80240B5C 0C00AB39 */ jal heap_malloc +/* 9001D0 80240B60 24040780 */ addiu $a0, $zero, 0x780 +/* 9001D4 80240B64 0200202D */ daddu $a0, $s0, $zero +/* 9001D8 80240B68 3C05FD05 */ lui $a1, 0xfd05 +/* 9001DC 80240B6C 34A50F80 */ ori $a1, $a1, 0xf80 +/* 9001E0 80240B70 0C0B2026 */ jal set_variable +/* 9001E4 80240B74 0040302D */ daddu $a2, $v0, $zero +/* 9001E8 80240B78 2402FFFF */ addiu $v0, $zero, -1 +/* 9001EC 80240B7C 3C058024 */ lui $a1, 0x8024 +/* 9001F0 80240B80 24A50B00 */ addiu $a1, $a1, 0xb00 +/* 9001F4 80240B84 3C018025 */ lui $at, 0x8025 +/* 9001F8 80240B88 AC2283D0 */ sw $v0, -0x7c30($at) +/* 9001FC 80240B8C 0C048C56 */ jal bind_dynamic_entity_3 +/* 900200 80240B90 0000202D */ daddu $a0, $zero, $zero +/* 900204 80240B94 8FBF0014 */ lw $ra, 0x14($sp) +/* 900208 80240B98 8FB00010 */ lw $s0, 0x10($sp) +/* 90020C 80240B9C 24020002 */ addiu $v0, $zero, 2 +/* 900210 80240BA0 03E00008 */ jr $ra +/* 900214 80240BA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/func_80240BA8_8FF670.s b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240BA8_8FF670.s new file mode 100644 index 0000000000..0679a2a1b3 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_22/func_80240BA8_8FF670.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA8_900218 +/* 900218 80240BA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 90021C 80240BAC AFB10014 */ sw $s1, 0x14($sp) +/* 900220 80240BB0 0080882D */ daddu $s1, $a0, $zero +/* 900224 80240BB4 AFBF0018 */ sw $ra, 0x18($sp) +/* 900228 80240BB8 AFB00010 */ sw $s0, 0x10($sp) +/* 90022C 80240BBC 8E30000C */ lw $s0, 0xc($s1) +/* 900230 80240BC0 8E050000 */ lw $a1, ($s0) +/* 900234 80240BC4 0C0B1EAF */ jal get_variable +/* 900238 80240BC8 26100004 */ addiu $s0, $s0, 4 +/* 90023C 80240BCC 0220202D */ daddu $a0, $s1, $zero +/* 900240 80240BD0 8E050000 */ lw $a1, ($s0) +/* 900244 80240BD4 0C0B1EAF */ jal get_variable +/* 900248 80240BD8 0040802D */ daddu $s0, $v0, $zero +/* 90024C 80240BDC 0040202D */ daddu $a0, $v0, $zero +/* 900250 80240BE0 24020001 */ addiu $v0, $zero, 1 +/* 900254 80240BE4 12020019 */ beq $s0, $v0, .L80240C4C +/* 900258 80240BE8 2A020002 */ slti $v0, $s0, 2 +/* 90025C 80240BEC 10400005 */ beqz $v0, .L80240C04 +/* 900260 80240BF0 24020002 */ addiu $v0, $zero, 2 +/* 900264 80240BF4 12000009 */ beqz $s0, .L80240C1C +/* 900268 80240BF8 00041840 */ sll $v1, $a0, 1 +/* 90026C 80240BFC 0809033D */ j .L80240CF4 +/* 900270 80240C00 00000000 */ nop +.L80240C04: +/* 900274 80240C04 1202001F */ beq $s0, $v0, .L80240C84 +/* 900278 80240C08 24020003 */ addiu $v0, $zero, 3 +/* 90027C 80240C0C 1202002B */ beq $s0, $v0, .L80240CBC +/* 900280 80240C10 3C068020 */ lui $a2, 0x8020 +/* 900284 80240C14 0809033D */ j .L80240CF4 +/* 900288 80240C18 00000000 */ nop +.L80240C1C: +/* 90028C 80240C1C 3C028024 */ lui $v0, 0x8024 +/* 900290 80240C20 24421FE0 */ addiu $v0, $v0, 0x1fe0 +/* 900294 80240C24 00641821 */ addu $v1, $v1, $a0 +/* 900298 80240C28 00032080 */ sll $a0, $v1, 2 +/* 90029C 80240C2C 00822021 */ addu $a0, $a0, $v0 +/* 9002A0 80240C30 24630001 */ addiu $v1, $v1, 1 +/* 9002A4 80240C34 00031880 */ sll $v1, $v1, 2 +/* 9002A8 80240C38 00621821 */ addu $v1, $v1, $v0 +/* 9002AC 80240C3C 8C840000 */ lw $a0, ($a0) +/* 9002B0 80240C40 8C650000 */ lw $a1, ($v1) +/* 9002B4 80240C44 0809033B */ j .L80240CEC +/* 9002B8 80240C48 3C068020 */ lui $a2, 0x8020 +.L80240C4C: +/* 9002BC 80240C4C 3C068020 */ lui $a2, 0x8020 +/* 9002C0 80240C50 3C028024 */ lui $v0, 0x8024 +/* 9002C4 80240C54 24421FE0 */ addiu $v0, $v0, 0x1fe0 +/* 9002C8 80240C58 00041840 */ sll $v1, $a0, 1 +/* 9002CC 80240C5C 00641821 */ addu $v1, $v1, $a0 +/* 9002D0 80240C60 00032080 */ sll $a0, $v1, 2 +/* 9002D4 80240C64 00822021 */ addu $a0, $a0, $v0 +/* 9002D8 80240C68 24630001 */ addiu $v1, $v1, 1 +/* 9002DC 80240C6C 00031880 */ sll $v1, $v1, 2 +/* 9002E0 80240C70 00621821 */ addu $v1, $v1, $v0 +/* 9002E4 80240C74 8C840000 */ lw $a0, ($a0) +/* 9002E8 80240C78 8C650000 */ lw $a1, ($v1) +/* 9002EC 80240C7C 0809033B */ j .L80240CEC +/* 9002F0 80240C80 34C64000 */ ori $a2, $a2, 0x4000 +.L80240C84: +/* 9002F4 80240C84 3C068020 */ lui $a2, 0x8020 +/* 9002F8 80240C88 3C028024 */ lui $v0, 0x8024 +/* 9002FC 80240C8C 24421FE0 */ addiu $v0, $v0, 0x1fe0 +/* 900300 80240C90 00041840 */ sll $v1, $a0, 1 +/* 900304 80240C94 00641821 */ addu $v1, $v1, $a0 +/* 900308 80240C98 00032080 */ sll $a0, $v1, 2 +/* 90030C 80240C9C 00822021 */ addu $a0, $a0, $v0 +/* 900310 80240CA0 24630001 */ addiu $v1, $v1, 1 +/* 900314 80240CA4 00031880 */ sll $v1, $v1, 2 +/* 900318 80240CA8 00621821 */ addu $v1, $v1, $v0 +/* 90031C 80240CAC 8C840000 */ lw $a0, ($a0) +/* 900320 80240CB0 8C650000 */ lw $a1, ($v1) +/* 900324 80240CB4 0809033B */ j .L80240CEC +/* 900328 80240CB8 34C67000 */ ori $a2, $a2, 0x7000 +.L80240CBC: +/* 90032C 80240CBC 3C028024 */ lui $v0, 0x8024 +/* 900330 80240CC0 24421FE0 */ addiu $v0, $v0, 0x1fe0 +/* 900334 80240CC4 00041840 */ sll $v1, $a0, 1 +/* 900338 80240CC8 00641821 */ addu $v1, $v1, $a0 +/* 90033C 80240CCC 00032080 */ sll $a0, $v1, 2 +/* 900340 80240CD0 00822021 */ addu $a0, $a0, $v0 +/* 900344 80240CD4 24630001 */ addiu $v1, $v1, 1 +/* 900348 80240CD8 00031880 */ sll $v1, $v1, 2 +/* 90034C 80240CDC 00621821 */ addu $v1, $v1, $v0 +/* 900350 80240CE0 8C840000 */ lw $a0, ($a0) +/* 900354 80240CE4 8C650000 */ lw $a1, ($v1) +/* 900358 80240CE8 34C6A000 */ ori $a2, $a2, 0xa000 +.L80240CEC: +/* 90035C 80240CEC 0C00A5CF */ jal dma_copy +/* 900360 80240CF0 00000000 */ nop +.L80240CF4: +/* 900364 80240CF4 8FBF0018 */ lw $ra, 0x18($sp) +/* 900368 80240CF8 8FB10014 */ lw $s1, 0x14($sp) +/* 90036C 80240CFC 8FB00010 */ lw $s0, 0x10($sp) +/* 900370 80240D00 24020002 */ addiu $v0, $zero, 2 +/* 900374 80240D04 03E00008 */ jr $ra +/* 900378 80240D08 27BD0020 */ addiu $sp, $sp, 0x20 +/* 90037C 80240D0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240000_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240000_907A30.s new file mode 100644 index 0000000000..7d5d75a18a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240000_907A30.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_907A30 +/* 907A30 80240000 03E00008 */ jr $ra +/* 907A34 80240004 24020001 */ addiu $v0, $zero, 1 +/* 907A38 80240008 00000000 */ nop +/* 907A3C 8024000C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240010_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240010_907A30.s new file mode 100644 index 0000000000..1a27325c88 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240010_907A30.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240010_907A40 +/* 907A40 80240010 3C014000 */ lui $at, 0x4000 +/* 907A44 80240014 44816000 */ mtc1 $at, $f12 +/* 907A48 80240018 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 907A4C 8024001C AFBF0010 */ sw $ra, 0x10($sp) +/* 907A50 80240020 0C00AFB7 */ jal set_curtain_scale_goal +/* 907A54 80240024 00000000 */ nop +/* 907A58 80240028 0C00AFC1 */ jal set_curtain_draw_callback +/* 907A5C 8024002C 0000202D */ daddu $a0, $zero, $zero +/* 907A60 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* 907A64 80240034 24020002 */ addiu $v0, $zero, 2 +/* 907A68 80240038 03E00008 */ jr $ra +/* 907A6C 8024003C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240040_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240040_907A30.s new file mode 100644 index 0000000000..6c5267dff4 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240040_907A30.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_907A70 +/* 907A70 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 907A74 80240044 AFB30024 */ sw $s3, 0x24($sp) +/* 907A78 80240048 0080982D */ daddu $s3, $a0, $zero +/* 907A7C 8024004C AFB00018 */ sw $s0, 0x18($sp) +/* 907A80 80240050 00A0802D */ daddu $s0, $a1, $zero +/* 907A84 80240054 AFBF0028 */ sw $ra, 0x28($sp) +/* 907A88 80240058 AFB20020 */ sw $s2, 0x20($sp) +/* 907A8C 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* 907A90 80240060 8E71000C */ lw $s1, 0xc($s3) +/* 907A94 80240064 0C00EAD2 */ jal get_npc_safe +/* 907A98 80240068 0000202D */ daddu $a0, $zero, $zero +/* 907A9C 8024006C 12000037 */ beqz $s0, .L8024014C +/* 907AA0 80240070 0040902D */ daddu $s2, $v0, $zero +/* 907AA4 80240074 0C00AB39 */ jal heap_malloc +/* 907AA8 80240078 24040030 */ addiu $a0, $zero, 0x30 +/* 907AAC 8024007C 0040802D */ daddu $s0, $v0, $zero +/* 907AB0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 907AB4 80240084 3C05FD05 */ lui $a1, 0xfd05 +/* 907AB8 80240088 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907ABC 8024008C 0200302D */ daddu $a2, $s0, $zero +/* 907AC0 80240090 0C0B2026 */ jal set_variable +/* 907AC4 80240094 AE700060 */ sw $s0, 0x60($s3) +/* 907AC8 80240098 8E250000 */ lw $a1, ($s1) +/* 907ACC 8024009C 26310004 */ addiu $s1, $s1, 4 +/* 907AD0 802400A0 0C0B1EAF */ jal get_variable +/* 907AD4 802400A4 0260202D */ daddu $a0, $s3, $zero +/* 907AD8 802400A8 A6020022 */ sh $v0, 0x22($s0) +/* 907ADC 802400AC 8E250000 */ lw $a1, ($s1) +/* 907AE0 802400B0 26310004 */ addiu $s1, $s1, 4 +/* 907AE4 802400B4 0C0B210B */ jal get_float_variable +/* 907AE8 802400B8 0260202D */ daddu $a0, $s3, $zero +/* 907AEC 802400BC E6000000 */ swc1 $f0, ($s0) +/* 907AF0 802400C0 8E250000 */ lw $a1, ($s1) +/* 907AF4 802400C4 26310004 */ addiu $s1, $s1, 4 +/* 907AF8 802400C8 0C0B210B */ jal get_float_variable +/* 907AFC 802400CC 0260202D */ daddu $a0, $s3, $zero +/* 907B00 802400D0 E6000004 */ swc1 $f0, 4($s0) +/* 907B04 802400D4 8E250000 */ lw $a1, ($s1) +/* 907B08 802400D8 0C0B210B */ jal get_float_variable +/* 907B0C 802400DC 0260202D */ daddu $a0, $s3, $zero +/* 907B10 802400E0 E6000008 */ swc1 $f0, 8($s0) +/* 907B14 802400E4 3C013F80 */ lui $at, 0x3f80 +/* 907B18 802400E8 44810000 */ mtc1 $at, $f0 +/* 907B1C 802400EC 24020016 */ addiu $v0, $zero, 0x16 +/* 907B20 802400F0 AE000010 */ sw $zero, 0x10($s0) +/* 907B24 802400F4 A600001C */ sh $zero, 0x1c($s0) +/* 907B28 802400F8 A6000024 */ sh $zero, 0x24($s0) +/* 907B2C 802400FC A600001E */ sh $zero, 0x1e($s0) +/* 907B30 80240100 A24000AC */ sb $zero, 0xac($s2) +/* 907B34 80240104 A24200AA */ sb $v0, 0xaa($s2) +/* 907B38 80240108 AFA00014 */ sw $zero, 0x14($sp) +/* 907B3C 8024010C E7A00010 */ swc1 $f0, 0x10($sp) +/* 907B40 80240110 8E050000 */ lw $a1, ($s0) +/* 907B44 80240114 8E060004 */ lw $a2, 4($s0) +/* 907B48 80240118 8E070008 */ lw $a3, 8($s0) +/* 907B4C 8024011C 0C01C9AC */ jal func_800726B0 +/* 907B50 80240120 24040001 */ addiu $a0, $zero, 1 +/* 907B54 80240124 AE020028 */ sw $v0, 0x28($s0) +/* 907B58 80240128 8C43000C */ lw $v1, 0xc($v0) +/* 907B5C 8024012C 92020023 */ lbu $v0, 0x23($s0) +/* 907B60 80240130 A0620034 */ sb $v0, 0x34($v1) +/* 907B64 80240134 8E020028 */ lw $v0, 0x28($s0) +/* 907B68 80240138 8C42000C */ lw $v0, 0xc($v0) +/* 907B6C 8024013C 3C048024 */ lui $a0, 0x8024 +/* 907B70 80240140 24840DA4 */ addiu $a0, $a0, 0xda4 +/* 907B74 80240144 0C00AFC1 */ jal set_curtain_draw_callback +/* 907B78 80240148 AC400020 */ sw $zero, 0x20($v0) +.L8024014C: +/* 907B7C 8024014C 8E700060 */ lw $s0, 0x60($s3) +/* 907B80 80240150 3C014120 */ lui $at, 0x4120 +/* 907B84 80240154 44811000 */ mtc1 $at, $f2 +/* 907B88 80240158 C6000000 */ lwc1 $f0, ($s0) +/* 907B8C 8024015C E6400038 */ swc1 $f0, 0x38($s2) +/* 907B90 80240160 C6000004 */ lwc1 $f0, 4($s0) +/* 907B94 80240164 E640003C */ swc1 $f0, 0x3c($s2) +/* 907B98 80240168 C6000008 */ lwc1 $f0, 8($s0) +/* 907B9C 8024016C 0000882D */ daddu $s1, $zero, $zero +/* 907BA0 80240170 46020000 */ add.s $f0, $f0, $f2 +/* 907BA4 80240174 0260202D */ daddu $a0, $s3, $zero +/* 907BA8 80240178 3C05FAA2 */ lui $a1, 0xfaa2 +/* 907BAC 8024017C E6400040 */ swc1 $f0, 0x40($s2) +/* 907BB0 80240180 C6000010 */ lwc1 $f0, 0x10($s0) +/* 907BB4 80240184 34A5B58B */ ori $a1, $a1, 0xb58b +/* 907BB8 80240188 0C0B1EAF */ jal get_variable +/* 907BBC 8024018C E6400048 */ swc1 $f0, 0x48($s2) +/* 907BC0 80240190 14400018 */ bnez $v0, .L802401F4 +/* 907BC4 80240194 00000000 */ nop +/* 907BC8 80240198 C6020010 */ lwc1 $f2, 0x10($s0) +/* 907BCC 8024019C 3C0142B4 */ lui $at, 0x42b4 +/* 907BD0 802401A0 44810000 */ mtc1 $at, $f0 +/* 907BD4 802401A4 00000000 */ nop +/* 907BD8 802401A8 4602003C */ c.lt.s $f0, $f2 +/* 907BDC 802401AC 00000000 */ nop +/* 907BE0 802401B0 45000008 */ bc1f .L802401D4 +/* 907BE4 802401B4 00000000 */ nop +/* 907BE8 802401B8 3C014387 */ lui $at, 0x4387 +/* 907BEC 802401BC 44810000 */ mtc1 $at, $f0 +/* 907BF0 802401C0 00000000 */ nop +/* 907BF4 802401C4 4600103C */ c.lt.s $f2, $f0 +/* 907BF8 802401C8 00000000 */ nop +/* 907BFC 802401CC 45030001 */ bc1tl .L802401D4 +/* 907C00 802401D0 24110001 */ addiu $s1, $zero, 1 +.L802401D4: +/* 907C04 802401D4 86020022 */ lh $v0, 0x22($s0) +/* 907C08 802401D8 00111880 */ sll $v1, $s1, 2 +/* 907C0C 802401DC 000210C0 */ sll $v0, $v0, 3 +/* 907C10 802401E0 00621821 */ addu $v1, $v1, $v0 +/* 907C14 802401E4 3C028024 */ lui $v0, 0x8024 +/* 907C18 802401E8 00431021 */ addu $v0, $v0, $v1 +/* 907C1C 802401EC 8C42168C */ lw $v0, 0x168c($v0) +/* 907C20 802401F0 AE420028 */ sw $v0, 0x28($s2) +.L802401F4: +/* 907C24 802401F4 8E020028 */ lw $v0, 0x28($s0) +/* 907C28 802401F8 10400016 */ beqz $v0, .L80240254 +/* 907C2C 802401FC 00000000 */ nop +/* 907C30 80240200 8C42000C */ lw $v0, 0xc($v0) +/* 907C34 80240204 C6000010 */ lwc1 $f0, 0x10($s0) +/* 907C38 80240208 3C014000 */ lui $at, 0x4000 +/* 907C3C 8024020C 44811000 */ mtc1 $at, $f2 +/* 907C40 80240210 E4400024 */ swc1 $f0, 0x24($v0) +/* 907C44 80240214 C6000000 */ lwc1 $f0, ($s0) +/* 907C48 80240218 8E020028 */ lw $v0, 0x28($s0) +/* 907C4C 8024021C 46020001 */ sub.s $f0, $f0, $f2 +/* 907C50 80240220 8C42000C */ lw $v0, 0xc($v0) +/* 907C54 80240224 3C014170 */ lui $at, 0x4170 +/* 907C58 80240228 44811000 */ mtc1 $at, $f2 +/* 907C5C 8024022C E4400004 */ swc1 $f0, 4($v0) +/* 907C60 80240230 C6000004 */ lwc1 $f0, 4($s0) +/* 907C64 80240234 8E020028 */ lw $v0, 0x28($s0) +/* 907C68 80240238 46020000 */ add.s $f0, $f0, $f2 +/* 907C6C 8024023C 8C42000C */ lw $v0, 0xc($v0) +/* 907C70 80240240 E4400008 */ swc1 $f0, 8($v0) +/* 907C74 80240244 8E020028 */ lw $v0, 0x28($s0) +/* 907C78 80240248 C6000008 */ lwc1 $f0, 8($s0) +/* 907C7C 8024024C 8C42000C */ lw $v0, 0xc($v0) +/* 907C80 80240250 E440000C */ swc1 $f0, 0xc($v0) +.L80240254: +/* 907C84 80240254 8FBF0028 */ lw $ra, 0x28($sp) +/* 907C88 80240258 8FB30024 */ lw $s3, 0x24($sp) +/* 907C8C 8024025C 8FB20020 */ lw $s2, 0x20($sp) +/* 907C90 80240260 8FB1001C */ lw $s1, 0x1c($sp) +/* 907C94 80240264 8FB00018 */ lw $s0, 0x18($sp) +/* 907C98 80240268 0000102D */ daddu $v0, $zero, $zero +/* 907C9C 8024026C 03E00008 */ jr $ra +/* 907CA0 80240270 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240274.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240274.s new file mode 100644 index 0000000000..f6cf229dc6 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240274.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240274 +/* 907CA4 80240274 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 907CA8 80240278 AFB20018 */ sw $s2, 0x18($sp) +/* 907CAC 8024027C 0080902D */ daddu $s2, $a0, $zero +/* 907CB0 80240280 AFB00010 */ sw $s0, 0x10($sp) +/* 907CB4 80240284 00A0802D */ daddu $s0, $a1, $zero +/* 907CB8 80240288 3C05FD05 */ lui $a1, 0xfd05 +/* 907CBC 8024028C AFBF0020 */ sw $ra, 0x20($sp) +/* 907CC0 80240290 AFB3001C */ sw $s3, 0x1c($sp) +/* 907CC4 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* 907CC8 80240298 8E53000C */ lw $s3, 0xc($s2) +/* 907CCC 8024029C 0C0B1EAF */ jal get_variable +/* 907CD0 802402A0 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907CD4 802402A4 12000006 */ beqz $s0, .L802402C0 +/* 907CD8 802402A8 0040882D */ daddu $s1, $v0, $zero +/* 907CDC 802402AC A6200020 */ sh $zero, 0x20($s1) +/* 907CE0 802402B0 8E650000 */ lw $a1, ($s3) +/* 907CE4 802402B4 0C0B210B */ jal get_float_variable +/* 907CE8 802402B8 0240202D */ daddu $a0, $s2, $zero +/* 907CEC 802402BC E6200014 */ swc1 $f0, 0x14($s1) +.L802402C0: +/* 907CF0 802402C0 86220020 */ lh $v0, 0x20($s1) +/* 907CF4 802402C4 14400007 */ bnez $v0, .L802402E4 +/* 907CF8 802402C8 24020002 */ addiu $v0, $zero, 2 +/* 907CFC 802402CC C6200010 */ lwc1 $f0, 0x10($s1) +/* 907D00 802402D0 C62C0014 */ lwc1 $f12, 0x14($s1) +/* 907D04 802402D4 0C00A6C9 */ jal clamp_angle +/* 907D08 802402D8 460C0300 */ add.s $f12, $f0, $f12 +/* 907D0C 802402DC 0000102D */ daddu $v0, $zero, $zero +/* 907D10 802402E0 E6200010 */ swc1 $f0, 0x10($s1) +.L802402E4: +/* 907D14 802402E4 8FBF0020 */ lw $ra, 0x20($sp) +/* 907D18 802402E8 8FB3001C */ lw $s3, 0x1c($sp) +/* 907D1C 802402EC 8FB20018 */ lw $s2, 0x18($sp) +/* 907D20 802402F0 8FB10014 */ lw $s1, 0x14($sp) +/* 907D24 802402F4 8FB00010 */ lw $s0, 0x10($sp) +/* 907D28 802402F8 03E00008 */ jr $ra +/* 907D2C 802402FC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240300.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240300.s new file mode 100644 index 0000000000..efbee64001 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240300.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240300 +/* 907D30 80240300 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 907D34 80240304 AFB10014 */ sw $s1, 0x14($sp) +/* 907D38 80240308 0080882D */ daddu $s1, $a0, $zero +/* 907D3C 8024030C AFBF0018 */ sw $ra, 0x18($sp) +/* 907D40 80240310 AFB00010 */ sw $s0, 0x10($sp) +/* 907D44 80240314 8E30000C */ lw $s0, 0xc($s1) +/* 907D48 80240318 50A00011 */ beql $a1, $zero, .L80240360 +/* 907D4C 8024031C 0220202D */ daddu $a0, $s1, $zero +/* 907D50 80240320 8E050000 */ lw $a1, ($s0) +/* 907D54 80240324 0C0B210B */ jal get_float_variable +/* 907D58 80240328 26100004 */ addiu $s0, $s0, 4 +/* 907D5C 8024032C E6200074 */ swc1 $f0, 0x74($s1) +/* 907D60 80240330 8E050000 */ lw $a1, ($s0) +/* 907D64 80240334 0C0B1EAF */ jal get_variable +/* 907D68 80240338 0220202D */ daddu $a0, $s1, $zero +/* 907D6C 8024033C C6200074 */ lwc1 $f0, 0x74($s1) +/* 907D70 80240340 44821000 */ mtc1 $v0, $f2 +/* 907D74 80240344 00000000 */ nop +/* 907D78 80240348 468010A0 */ cvt.s.w $f2, $f2 +/* 907D7C 8024034C AE220078 */ sw $v0, 0x78($s1) +/* 907D80 80240350 AE200070 */ sw $zero, 0x70($s1) +/* 907D84 80240354 46020003 */ div.s $f0, $f0, $f2 +/* 907D88 80240358 E6200074 */ swc1 $f0, 0x74($s1) +/* 907D8C 8024035C 0220202D */ daddu $a0, $s1, $zero +.L80240360: +/* 907D90 80240360 3C05FD05 */ lui $a1, 0xfd05 +/* 907D94 80240364 0C0B1EAF */ jal get_variable +/* 907D98 80240368 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907D9C 8024036C C4400014 */ lwc1 $f0, 0x14($v0) +/* 907DA0 80240370 C6220074 */ lwc1 $f2, 0x74($s1) +/* 907DA4 80240374 46020000 */ add.s $f0, $f0, $f2 +/* 907DA8 80240378 E4400014 */ swc1 $f0, 0x14($v0) +/* 907DAC 8024037C 8E230070 */ lw $v1, 0x70($s1) +/* 907DB0 80240380 8E220078 */ lw $v0, 0x78($s1) +/* 907DB4 80240384 24630001 */ addiu $v1, $v1, 1 +/* 907DB8 80240388 0062102A */ slt $v0, $v1, $v0 +/* 907DBC 8024038C AE230070 */ sw $v1, 0x70($s1) +/* 907DC0 80240390 8FBF0018 */ lw $ra, 0x18($sp) +/* 907DC4 80240394 8FB10014 */ lw $s1, 0x14($sp) +/* 907DC8 80240398 8FB00010 */ lw $s0, 0x10($sp) +/* 907DCC 8024039C 38420001 */ xori $v0, $v0, 1 +/* 907DD0 802403A0 03E00008 */ jr $ra +/* 907DD4 802403A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_802403A8.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_802403A8.s new file mode 100644 index 0000000000..86f963a49c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_802403A8.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A8 +/* 907DD8 802403A8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 907DDC 802403AC AFB20020 */ sw $s2, 0x20($sp) +/* 907DE0 802403B0 0080902D */ daddu $s2, $a0, $zero +/* 907DE4 802403B4 AFB00018 */ sw $s0, 0x18($sp) +/* 907DE8 802403B8 00A0802D */ daddu $s0, $a1, $zero +/* 907DEC 802403BC 3C05FD05 */ lui $a1, 0xfd05 +/* 907DF0 802403C0 AFBF0028 */ sw $ra, 0x28($sp) +/* 907DF4 802403C4 AFB30024 */ sw $s3, 0x24($sp) +/* 907DF8 802403C8 AFB1001C */ sw $s1, 0x1c($sp) +/* 907DFC 802403CC 8E51000C */ lw $s1, 0xc($s2) +/* 907E00 802403D0 0C0B1EAF */ jal get_variable +/* 907E04 802403D4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907E08 802403D8 12000015 */ beqz $s0, .L80240430 +/* 907E0C 802403DC 0040982D */ daddu $s3, $v0, $zero +/* 907E10 802403E0 AE400070 */ sw $zero, 0x70($s2) +/* 907E14 802403E4 8E250000 */ lw $a1, ($s1) +/* 907E18 802403E8 26310004 */ addiu $s1, $s1, 4 +/* 907E1C 802403EC 0C0B1EAF */ jal get_variable +/* 907E20 802403F0 0240202D */ daddu $a0, $s2, $zero +/* 907E24 802403F4 AE420084 */ sw $v0, 0x84($s2) +/* 907E28 802403F8 8E250000 */ lw $a1, ($s1) +/* 907E2C 802403FC 26310004 */ addiu $s1, $s1, 4 +/* 907E30 80240400 0C0B1EAF */ jal get_variable +/* 907E34 80240404 0240202D */ daddu $a0, $s2, $zero +/* 907E38 80240408 AE420074 */ sw $v0, 0x74($s2) +/* 907E3C 8024040C 8E250000 */ lw $a1, ($s1) +/* 907E40 80240410 26310004 */ addiu $s1, $s1, 4 +/* 907E44 80240414 0C0B1EAF */ jal get_variable +/* 907E48 80240418 0240202D */ daddu $a0, $s2, $zero +/* 907E4C 8024041C AE420078 */ sw $v0, 0x78($s2) +/* 907E50 80240420 8E250000 */ lw $a1, ($s1) +/* 907E54 80240424 0C0B1EAF */ jal get_variable +/* 907E58 80240428 0240202D */ daddu $a0, $s2, $zero +/* 907E5C 8024042C AE42007C */ sw $v0, 0x7c($s2) +.L80240430: +/* 907E60 80240430 C6400074 */ lwc1 $f0, 0x74($s2) +/* 907E64 80240434 46800020 */ cvt.s.w $f0, $f0 +/* 907E68 80240438 44050000 */ mfc1 $a1, $f0 +/* 907E6C 8024043C C6400078 */ lwc1 $f0, 0x78($s2) +/* 907E70 80240440 46800020 */ cvt.s.w $f0, $f0 +/* 907E74 80240444 8E42007C */ lw $v0, 0x7c($s2) +/* 907E78 80240448 44060000 */ mfc1 $a2, $f0 +/* 907E7C 8024044C AFA20010 */ sw $v0, 0x10($sp) +/* 907E80 80240450 8E440084 */ lw $a0, 0x84($s2) +/* 907E84 80240454 0C00A8ED */ jal update_lerp +/* 907E88 80240458 8E470070 */ lw $a3, 0x70($s2) +/* 907E8C 8024045C E6600004 */ swc1 $f0, 4($s3) +/* 907E90 80240460 8E430070 */ lw $v1, 0x70($s2) +/* 907E94 80240464 8E42007C */ lw $v0, 0x7c($s2) +/* 907E98 80240468 24630001 */ addiu $v1, $v1, 1 +/* 907E9C 8024046C 0062102A */ slt $v0, $v1, $v0 +/* 907EA0 80240470 AE430070 */ sw $v1, 0x70($s2) +/* 907EA4 80240474 8FBF0028 */ lw $ra, 0x28($sp) +/* 907EA8 80240478 8FB30024 */ lw $s3, 0x24($sp) +/* 907EAC 8024047C 8FB20020 */ lw $s2, 0x20($sp) +/* 907EB0 80240480 8FB1001C */ lw $s1, 0x1c($sp) +/* 907EB4 80240484 8FB00018 */ lw $s0, 0x18($sp) +/* 907EB8 80240488 38420001 */ xori $v0, $v0, 1 +/* 907EBC 8024048C 03E00008 */ jr $ra +/* 907EC0 80240490 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240494.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240494.s new file mode 100644 index 0000000000..cb2f18a442 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240494.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240494 +/* 907EC4 80240494 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 907EC8 80240498 AFB1001C */ sw $s1, 0x1c($sp) +/* 907ECC 8024049C 0080882D */ daddu $s1, $a0, $zero +/* 907ED0 802404A0 AFBF0020 */ sw $ra, 0x20($sp) +/* 907ED4 802404A4 AFB00018 */ sw $s0, 0x18($sp) +/* 907ED8 802404A8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 907EDC 802404AC 8E30000C */ lw $s0, 0xc($s1) +/* 907EE0 802404B0 8E050000 */ lw $a1, ($s0) +/* 907EE4 802404B4 0C0B210B */ jal get_float_variable +/* 907EE8 802404B8 26100004 */ addiu $s0, $s0, 4 +/* 907EEC 802404BC 0220202D */ daddu $a0, $s1, $zero +/* 907EF0 802404C0 8E050000 */ lw $a1, ($s0) +/* 907EF4 802404C4 0C0B1EAF */ jal get_variable +/* 907EF8 802404C8 46000506 */ mov.s $f20, $f0 +/* 907EFC 802404CC 0220202D */ daddu $a0, $s1, $zero +/* 907F00 802404D0 3C05FD05 */ lui $a1, 0xfd05 +/* 907F04 802404D4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907F08 802404D8 0C0B1EAF */ jal get_variable +/* 907F0C 802404DC 0040802D */ daddu $s0, $v0, $zero +/* 907F10 802404E0 C4420004 */ lwc1 $f2, 4($v0) +/* 907F14 802404E4 3C014180 */ lui $at, 0x4180 +/* 907F18 802404E8 44810000 */ mtc1 $at, $f0 +/* 907F1C 802404EC E7B40010 */ swc1 $f20, 0x10($sp) +/* 907F20 802404F0 AFB00014 */ sw $s0, 0x14($sp) +/* 907F24 802404F4 46001080 */ add.s $f2, $f2, $f0 +/* 907F28 802404F8 8C450000 */ lw $a1, ($v0) +/* 907F2C 802404FC 8C470008 */ lw $a3, 8($v0) +/* 907F30 80240500 44061000 */ mfc1 $a2, $f2 +/* 907F34 80240504 0C01C2EC */ jal func_80070BB0 +/* 907F38 80240508 2404000E */ addiu $a0, $zero, 0xe +/* 907F3C 8024050C 8FBF0020 */ lw $ra, 0x20($sp) +/* 907F40 80240510 8FB1001C */ lw $s1, 0x1c($sp) +/* 907F44 80240514 8FB00018 */ lw $s0, 0x18($sp) +/* 907F48 80240518 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 907F4C 8024051C 24020002 */ addiu $v0, $zero, 2 +/* 907F50 80240520 03E00008 */ jr $ra +/* 907F54 80240524 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240528.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240528.s new file mode 100644 index 0000000000..e1b8b9293d --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240528.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240528 +/* 907F58 80240528 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 907F5C 8024052C AFB1001C */ sw $s1, 0x1c($sp) +/* 907F60 80240530 0080882D */ daddu $s1, $a0, $zero +/* 907F64 80240534 AFB00018 */ sw $s0, 0x18($sp) +/* 907F68 80240538 00A0802D */ daddu $s0, $a1, $zero +/* 907F6C 8024053C AFBF0028 */ sw $ra, 0x28($sp) +/* 907F70 80240540 AFB30024 */ sw $s3, 0x24($sp) +/* 907F74 80240544 AFB20020 */ sw $s2, 0x20($sp) +/* 907F78 80240548 8E32000C */ lw $s2, 0xc($s1) +/* 907F7C 8024054C 0C00EAD2 */ jal get_npc_safe +/* 907F80 80240550 0000202D */ daddu $a0, $zero, $zero +/* 907F84 80240554 0220202D */ daddu $a0, $s1, $zero +/* 907F88 80240558 3C05FD05 */ lui $a1, 0xfd05 +/* 907F8C 8024055C 34A50F80 */ ori $a1, $a1, 0xf80 +/* 907F90 80240560 0C0B1EAF */ jal get_variable +/* 907F94 80240564 0040982D */ daddu $s3, $v0, $zero +/* 907F98 80240568 12000006 */ beqz $s0, .L80240584 +/* 907F9C 8024056C 00000000 */ nop +/* 907FA0 80240570 AE200070 */ sw $zero, 0x70($s1) +/* 907FA4 80240574 8E450000 */ lw $a1, ($s2) +/* 907FA8 80240578 0C0B1EAF */ jal get_variable +/* 907FAC 8024057C 0220202D */ daddu $a0, $s1, $zero +/* 907FB0 80240580 AE220074 */ sw $v0, 0x74($s1) +.L80240584: +/* 907FB4 80240584 8E220074 */ lw $v0, 0x74($s1) +/* 907FB8 80240588 3C06437F */ lui $a2, 0x437f +/* 907FBC 8024058C 0000202D */ daddu $a0, $zero, $zero +/* 907FC0 80240590 AFA20010 */ sw $v0, 0x10($sp) +/* 907FC4 80240594 8E270070 */ lw $a3, 0x70($s1) +/* 907FC8 80240598 0C00A8ED */ jal update_lerp +/* 907FCC 8024059C 0000282D */ daddu $a1, $zero, $zero +/* 907FD0 802405A0 3C014F00 */ lui $at, 0x4f00 +/* 907FD4 802405A4 44811000 */ mtc1 $at, $f2 +/* 907FD8 802405A8 00000000 */ nop +/* 907FDC 802405AC 4600103E */ c.le.s $f2, $f0 +/* 907FE0 802405B0 00000000 */ nop +/* 907FE4 802405B4 45010005 */ bc1t .L802405CC +/* 907FE8 802405B8 266400AC */ addiu $a0, $s3, 0xac +/* 907FEC 802405BC 4600010D */ trunc.w.s $f4, $f0 +/* 907FF0 802405C0 44032000 */ mfc1 $v1, $f4 +/* 907FF4 802405C4 0809017A */ j .L802405E8 +/* 907FF8 802405C8 A0830000 */ sb $v1, ($a0) +.L802405CC: +/* 907FFC 802405CC 46020001 */ sub.s $f0, $f0, $f2 +/* 908000 802405D0 3C028000 */ lui $v0, 0x8000 +/* 908004 802405D4 4600010D */ trunc.w.s $f4, $f0 +/* 908008 802405D8 44032000 */ mfc1 $v1, $f4 +/* 90800C 802405DC 00000000 */ nop +/* 908010 802405E0 00621825 */ or $v1, $v1, $v0 +/* 908014 802405E4 A0830000 */ sb $v1, ($a0) +.L802405E8: +/* 908018 802405E8 8E230070 */ lw $v1, 0x70($s1) +/* 90801C 802405EC 8E220074 */ lw $v0, 0x74($s1) +/* 908020 802405F0 24630001 */ addiu $v1, $v1, 1 +/* 908024 802405F4 0062102A */ slt $v0, $v1, $v0 +/* 908028 802405F8 AE230070 */ sw $v1, 0x70($s1) +/* 90802C 802405FC 8FBF0028 */ lw $ra, 0x28($sp) +/* 908030 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* 908034 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* 908038 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* 90803C 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* 908040 80240610 38420001 */ xori $v0, $v0, 1 +/* 908044 80240614 03E00008 */ jr $ra +/* 908048 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_8024061C_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_8024061C_907A30.s new file mode 100644 index 0000000000..2cedab00f8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_8024061C_907A30.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_90804C +/* 90804C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 908050 80240620 AFB20018 */ sw $s2, 0x18($sp) +/* 908054 80240624 0080902D */ daddu $s2, $a0, $zero +/* 908058 80240628 AFB00010 */ sw $s0, 0x10($sp) +/* 90805C 8024062C 00A0802D */ daddu $s0, $a1, $zero +/* 908060 80240630 3C05FD05 */ lui $a1, 0xfd05 +/* 908064 80240634 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908068 80240638 AFBF001C */ sw $ra, 0x1c($sp) +/* 90806C 8024063C 0C0B1EAF */ jal get_variable +/* 908070 80240640 AFB10014 */ sw $s1, 0x14($sp) +/* 908074 80240644 12000002 */ beqz $s0, .L80240650 +/* 908078 80240648 0040882D */ daddu $s1, $v0, $zero +/* 90807C 8024064C AE400070 */ sw $zero, 0x70($s2) +.L80240650: +/* 908080 80240650 8E430070 */ lw $v1, 0x70($s2) +/* 908084 80240654 24100001 */ addiu $s0, $zero, 1 +/* 908088 80240658 10700033 */ beq $v1, $s0, .L80240728 +/* 90808C 8024065C 28620002 */ slti $v0, $v1, 2 +/* 908090 80240660 10400005 */ beqz $v0, .L80240678 +/* 908094 80240664 24020002 */ addiu $v0, $zero, 2 +/* 908098 80240668 10600007 */ beqz $v1, .L80240688 +/* 90809C 8024066C 0000102D */ daddu $v0, $zero, $zero +/* 9080A0 80240670 080901E8 */ j .L802407A0 +/* 9080A4 80240674 00000000 */ nop +.L80240678: +/* 9080A8 80240678 10620033 */ beq $v1, $v0, .L80240748 +/* 9080AC 8024067C 0000102D */ daddu $v0, $zero, $zero +/* 9080B0 80240680 080901E8 */ j .L802407A0 +/* 9080B4 80240684 00000000 */ nop +.L80240688: +/* 9080B8 80240688 0000202D */ daddu $a0, $zero, $zero +/* 9080BC 8024068C 240500D0 */ addiu $a1, $zero, 0xd0 +/* 9080C0 80240690 00A0302D */ daddu $a2, $a1, $zero +/* 9080C4 80240694 0C04DF84 */ jal func_80137E10 +/* 9080C8 80240698 00A0382D */ daddu $a3, $a1, $zero +/* 9080CC 8024069C 86220024 */ lh $v0, 0x24($s1) +/* 9080D0 802406A0 44820000 */ mtc1 $v0, $f0 +/* 9080D4 802406A4 00000000 */ nop +/* 9080D8 802406A8 46800020 */ cvt.s.w $f0, $f0 +/* 9080DC 802406AC 44050000 */ mfc1 $a1, $f0 +/* 9080E0 802406B0 0C04DF62 */ jal func_80137D88 +/* 9080E4 802406B4 24040001 */ addiu $a0, $zero, 1 +/* 9080E8 802406B8 240400FF */ addiu $a0, $zero, 0xff +/* 9080EC 802406BC 86220024 */ lh $v0, 0x24($s1) +/* 9080F0 802406C0 96230024 */ lhu $v1, 0x24($s1) +/* 9080F4 802406C4 14440010 */ bne $v0, $a0, .L80240708 +/* 9080F8 802406C8 24620032 */ addiu $v0, $v1, 0x32 +/* 9080FC 802406CC 8E230028 */ lw $v1, 0x28($s1) +/* 908100 802406D0 8C620000 */ lw $v0, ($v1) +/* 908104 802406D4 34420010 */ ori $v0, $v0, 0x10 +/* 908108 802406D8 AC620000 */ sw $v0, ($v1) +/* 90810C 802406DC 3C03800B */ lui $v1, %hi(gCameras) +/* 908110 802406E0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 908114 802406E4 240200D0 */ addiu $v0, $zero, 0xd0 +/* 908118 802406E8 AE200028 */ sw $zero, 0x28($s1) +/* 90811C 802406EC A462002C */ sh $v0, 0x2c($v1) +/* 908120 802406F0 A462002E */ sh $v0, 0x2e($v1) +/* 908124 802406F4 A4620030 */ sh $v0, 0x30($v1) +/* 908128 802406F8 2402000F */ addiu $v0, $zero, 0xf +/* 90812C 802406FC AE500070 */ sw $s0, 0x70($s2) +/* 908130 80240700 080901E7 */ j .L8024079C +/* 908134 80240704 AE420074 */ sw $v0, 0x74($s2) +.L80240708: +/* 908138 80240708 A6220024 */ sh $v0, 0x24($s1) +/* 90813C 8024070C 00021400 */ sll $v0, $v0, 0x10 +/* 908140 80240710 00021403 */ sra $v0, $v0, 0x10 +/* 908144 80240714 28420100 */ slti $v0, $v0, 0x100 +/* 908148 80240718 50400020 */ beql $v0, $zero, .L8024079C +/* 90814C 8024071C A6240024 */ sh $a0, 0x24($s1) +/* 908150 80240720 080901E8 */ j .L802407A0 +/* 908154 80240724 0000102D */ daddu $v0, $zero, $zero +.L80240728: +/* 908158 80240728 8E420074 */ lw $v0, 0x74($s2) +/* 90815C 8024072C 2403FFFF */ addiu $v1, $zero, -1 +/* 908160 80240730 2442FFFF */ addiu $v0, $v0, -1 +/* 908164 80240734 14430019 */ bne $v0, $v1, .L8024079C +/* 908168 80240738 AE420074 */ sw $v0, 0x74($s2) +/* 90816C 8024073C 24020002 */ addiu $v0, $zero, 2 +/* 908170 80240740 080901E7 */ j .L8024079C +/* 908174 80240744 AE420070 */ sw $v0, 0x70($s2) +.L80240748: +/* 908178 80240748 86220024 */ lh $v0, 0x24($s1) +/* 90817C 8024074C 44820000 */ mtc1 $v0, $f0 +/* 908180 80240750 00000000 */ nop +/* 908184 80240754 46800020 */ cvt.s.w $f0, $f0 +/* 908188 80240758 44050000 */ mfc1 $a1, $f0 +/* 90818C 8024075C 0C04DF62 */ jal func_80137D88 +/* 908190 80240760 24040001 */ addiu $a0, $zero, 1 +/* 908194 80240764 86220024 */ lh $v0, 0x24($s1) +/* 908198 80240768 96230024 */ lhu $v1, 0x24($s1) +/* 90819C 8024076C 14400007 */ bnez $v0, .L8024078C +/* 9081A0 80240770 2462FFEC */ addiu $v0, $v1, -0x14 +/* 9081A4 80240774 3C013F80 */ lui $at, 0x3f80 +/* 9081A8 80240778 44816000 */ mtc1 $at, $f12 +/* 9081AC 8024077C 0C00AFB7 */ jal set_curtain_scale_goal +/* 9081B0 80240780 00000000 */ nop +/* 9081B4 80240784 080901E8 */ j .L802407A0 +/* 9081B8 80240788 24020001 */ addiu $v0, $zero, 1 +.L8024078C: +/* 9081BC 8024078C A6220024 */ sh $v0, 0x24($s1) +/* 9081C0 80240790 00021400 */ sll $v0, $v0, 0x10 +/* 9081C4 80240794 04420001 */ bltzl $v0, .L8024079C +/* 9081C8 80240798 A6200024 */ sh $zero, 0x24($s1) +.L8024079C: +/* 9081CC 8024079C 0000102D */ daddu $v0, $zero, $zero +.L802407A0: +/* 9081D0 802407A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 9081D4 802407A4 8FB20018 */ lw $s2, 0x18($sp) +/* 9081D8 802407A8 8FB10014 */ lw $s1, 0x14($sp) +/* 9081DC 802407AC 8FB00010 */ lw $s0, 0x10($sp) +/* 9081E0 802407B0 03E00008 */ jr $ra +/* 9081E4 802407B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_802407B8.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_802407B8.s new file mode 100644 index 0000000000..609d73efb8 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_802407B8.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407B8 +/* 9081E8 802407B8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9081EC 802407BC AFB20020 */ sw $s2, 0x20($sp) +/* 9081F0 802407C0 0080902D */ daddu $s2, $a0, $zero +/* 9081F4 802407C4 AFB00018 */ sw $s0, 0x18($sp) +/* 9081F8 802407C8 00A0802D */ daddu $s0, $a1, $zero +/* 9081FC 802407CC 3C05FD05 */ lui $a1, 0xfd05 +/* 908200 802407D0 AFBF0028 */ sw $ra, 0x28($sp) +/* 908204 802407D4 AFB30024 */ sw $s3, 0x24($sp) +/* 908208 802407D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 90820C 802407DC 8E51000C */ lw $s1, 0xc($s2) +/* 908210 802407E0 0C0B1EAF */ jal get_variable +/* 908214 802407E4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908218 802407E8 1200000F */ beqz $s0, .L80240828 +/* 90821C 802407EC 0040982D */ daddu $s3, $v0, $zero +/* 908220 802407F0 24020001 */ addiu $v0, $zero, 1 +/* 908224 802407F4 AE400070 */ sw $zero, 0x70($s2) +/* 908228 802407F8 A6620020 */ sh $v0, 0x20($s3) +/* 90822C 802407FC 8E250000 */ lw $a1, ($s1) +/* 908230 80240800 26310004 */ addiu $s1, $s1, 4 +/* 908234 80240804 0C0B1EAF */ jal get_variable +/* 908238 80240808 0240202D */ daddu $a0, $s2, $zero +/* 90823C 8024080C AE420074 */ sw $v0, 0x74($s2) +/* 908240 80240810 8E250000 */ lw $a1, ($s1) +/* 908244 80240814 0C0B1EAF */ jal get_variable +/* 908248 80240818 0240202D */ daddu $a0, $s2, $zero +/* 90824C 8024081C AE420078 */ sw $v0, 0x78($s2) +/* 908250 80240820 C6600010 */ lwc1 $f0, 0x10($s3) +/* 908254 80240824 E6600018 */ swc1 $f0, 0x18($s3) +.L80240828: +/* 908258 80240828 C6400074 */ lwc1 $f0, 0x74($s2) +/* 90825C 8024082C 46800020 */ cvt.s.w $f0, $f0 +/* 908260 80240830 8E420078 */ lw $v0, 0x78($s2) +/* 908264 80240834 44060000 */ mfc1 $a2, $f0 +/* 908268 80240838 AFA20010 */ sw $v0, 0x10($sp) +/* 90826C 8024083C 8E650018 */ lw $a1, 0x18($s3) +/* 908270 80240840 8E470070 */ lw $a3, 0x70($s2) +/* 908274 80240844 0C00A8ED */ jal update_lerp +/* 908278 80240848 24040004 */ addiu $a0, $zero, 4 +/* 90827C 8024084C 0C00A6C9 */ jal clamp_angle +/* 908280 80240850 46000306 */ mov.s $f12, $f0 +/* 908284 80240854 E6600010 */ swc1 $f0, 0x10($s3) +/* 908288 80240858 8E430070 */ lw $v1, 0x70($s2) +/* 90828C 8024085C 8E420078 */ lw $v0, 0x78($s2) +/* 908290 80240860 24630001 */ addiu $v1, $v1, 1 +/* 908294 80240864 0062102A */ slt $v0, $v1, $v0 +/* 908298 80240868 AE430070 */ sw $v1, 0x70($s2) +/* 90829C 8024086C 8FBF0028 */ lw $ra, 0x28($sp) +/* 9082A0 80240870 8FB30024 */ lw $s3, 0x24($sp) +/* 9082A4 80240874 8FB20020 */ lw $s2, 0x20($sp) +/* 9082A8 80240878 8FB1001C */ lw $s1, 0x1c($sp) +/* 9082AC 8024087C 8FB00018 */ lw $s0, 0x18($sp) +/* 9082B0 80240880 38420001 */ xori $v0, $v0, 1 +/* 9082B4 80240884 03E00008 */ jr $ra +/* 9082B8 80240888 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_8024088C_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_8024088C_907A30.s new file mode 100644 index 0000000000..22efd931e1 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_8024088C_907A30.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024088C_9082BC +/* 9082BC 8024088C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9082C0 80240890 AFB20020 */ sw $s2, 0x20($sp) +/* 9082C4 80240894 0080902D */ daddu $s2, $a0, $zero +/* 9082C8 80240898 AFB00018 */ sw $s0, 0x18($sp) +/* 9082CC 8024089C 00A0802D */ daddu $s0, $a1, $zero +/* 9082D0 802408A0 3C05FD05 */ lui $a1, 0xfd05 +/* 9082D4 802408A4 AFBF0028 */ sw $ra, 0x28($sp) +/* 9082D8 802408A8 AFB30024 */ sw $s3, 0x24($sp) +/* 9082DC 802408AC AFB1001C */ sw $s1, 0x1c($sp) +/* 9082E0 802408B0 8E51000C */ lw $s1, 0xc($s2) +/* 9082E4 802408B4 0C0B1EAF */ jal get_variable +/* 9082E8 802408B8 34A50F80 */ ori $a1, $a1, 0xf80 +/* 9082EC 802408BC 12000023 */ beqz $s0, .L8024094C +/* 9082F0 802408C0 0040982D */ daddu $s3, $v0, $zero +/* 9082F4 802408C4 44800000 */ mtc1 $zero, $f0 +/* 9082F8 802408C8 3C054220 */ lui $a1, 0x4220 +/* 9082FC 802408CC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 908300 802408D0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 908304 802408D4 44060000 */ mfc1 $a2, $f0 +/* 908308 802408D8 3C013F80 */ lui $at, 0x3f80 +/* 90830C 802408DC 44810000 */ mtc1 $at, $f0 +/* 908310 802408E0 8444008E */ lh $a0, 0x8e($v0) +/* 908314 802408E4 AFA00014 */ sw $zero, 0x14($sp) +/* 908318 802408E8 00C0382D */ daddu $a3, $a2, $zero +/* 90831C 802408EC 2484000A */ addiu $a0, $a0, 0xa +/* 908320 802408F0 0C01C97C */ jal func_800725F0 +/* 908324 802408F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 908328 802408F8 AE62002C */ sw $v0, 0x2c($s3) +/* 90832C 802408FC AE400070 */ sw $zero, 0x70($s2) +/* 908330 80240900 8E250000 */ lw $a1, ($s1) +/* 908334 80240904 26310004 */ addiu $s1, $s1, 4 +/* 908338 80240908 0C0B1EAF */ jal get_variable +/* 90833C 8024090C 0240202D */ daddu $a0, $s2, $zero +/* 908340 80240910 AE420084 */ sw $v0, 0x84($s2) +/* 908344 80240914 8E250000 */ lw $a1, ($s1) +/* 908348 80240918 26310004 */ addiu $s1, $s1, 4 +/* 90834C 8024091C 0C0B1EAF */ jal get_variable +/* 908350 80240920 0240202D */ daddu $a0, $s2, $zero +/* 908354 80240924 AE420074 */ sw $v0, 0x74($s2) +/* 908358 80240928 8E250000 */ lw $a1, ($s1) +/* 90835C 8024092C 26310004 */ addiu $s1, $s1, 4 +/* 908360 80240930 0C0B1EAF */ jal get_variable +/* 908364 80240934 0240202D */ daddu $a0, $s2, $zero +/* 908368 80240938 AE420078 */ sw $v0, 0x78($s2) +/* 90836C 8024093C 8E250000 */ lw $a1, ($s1) +/* 908370 80240940 0C0B1EAF */ jal get_variable +/* 908374 80240944 0240202D */ daddu $a0, $s2, $zero +/* 908378 80240948 AE42007C */ sw $v0, 0x7c($s2) +.L8024094C: +/* 90837C 8024094C C6400074 */ lwc1 $f0, 0x74($s2) +/* 908380 80240950 46800020 */ cvt.s.w $f0, $f0 +/* 908384 80240954 44050000 */ mfc1 $a1, $f0 +/* 908388 80240958 C6400078 */ lwc1 $f0, 0x78($s2) +/* 90838C 8024095C 46800020 */ cvt.s.w $f0, $f0 +/* 908390 80240960 8E42007C */ lw $v0, 0x7c($s2) +/* 908394 80240964 44060000 */ mfc1 $a2, $f0 +/* 908398 80240968 AFA20010 */ sw $v0, 0x10($sp) +/* 90839C 8024096C 8E470070 */ lw $a3, 0x70($s2) +/* 9083A0 80240970 0C00A8ED */ jal update_lerp +/* 9083A4 80240974 24040009 */ addiu $a0, $zero, 9 +/* 9083A8 80240978 8E62002C */ lw $v0, 0x2c($s3) +/* 9083AC 8024097C 8C42000C */ lw $v0, 0xc($v0) +/* 9083B0 80240980 C6420084 */ lwc1 $f2, 0x84($s2) +/* 9083B4 80240984 468010A0 */ cvt.s.w $f2, $f2 +/* 9083B8 80240988 E4420004 */ swc1 $f2, 4($v0) +/* 9083BC 8024098C 8E62002C */ lw $v0, 0x2c($s3) +/* 9083C0 80240990 4600010D */ trunc.w.s $f4, $f0 +/* 9083C4 80240994 44032000 */ mfc1 $v1, $f4 +/* 9083C8 80240998 8C42000C */ lw $v0, 0xc($v0) +/* 9083CC 8024099C 44831000 */ mtc1 $v1, $f2 +/* 9083D0 802409A0 00000000 */ nop +/* 9083D4 802409A4 468010A0 */ cvt.s.w $f2, $f2 +/* 9083D8 802409A8 E4420008 */ swc1 $f2, 8($v0) +/* 9083DC 802409AC 8E62002C */ lw $v0, 0x2c($s3) +/* 9083E0 802409B0 8C42000C */ lw $v0, 0xc($v0) +/* 9083E4 802409B4 C6400084 */ lwc1 $f0, 0x84($s2) +/* 9083E8 802409B8 46800020 */ cvt.s.w $f0, $f0 +/* 9083EC 802409BC E4400010 */ swc1 $f0, 0x10($v0) +/* 9083F0 802409C0 8E62002C */ lw $v0, 0x2c($s3) +/* 9083F4 802409C4 8C42000C */ lw $v0, 0xc($v0) +/* 9083F8 802409C8 E4420014 */ swc1 $f2, 0x14($v0) +/* 9083FC 802409CC 8E430070 */ lw $v1, 0x70($s2) +/* 908400 802409D0 8E42007C */ lw $v0, 0x7c($s2) +/* 908404 802409D4 24630001 */ addiu $v1, $v1, 1 +/* 908408 802409D8 0062102A */ slt $v0, $v1, $v0 +/* 90840C 802409DC AE430070 */ sw $v1, 0x70($s2) +/* 908410 802409E0 8FBF0028 */ lw $ra, 0x28($sp) +/* 908414 802409E4 8FB30024 */ lw $s3, 0x24($sp) +/* 908418 802409E8 8FB20020 */ lw $s2, 0x20($sp) +/* 90841C 802409EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 908420 802409F0 8FB00018 */ lw $s0, 0x18($sp) +/* 908424 802409F4 38420001 */ xori $v0, $v0, 1 +/* 908428 802409F8 03E00008 */ jr $ra +/* 90842C 802409FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240A00_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240A00_907A30.s new file mode 100644 index 0000000000..8e5abc6484 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240A00_907A30.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A00_908430 +/* 908430 80240A00 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 908434 80240A04 AFB20020 */ sw $s2, 0x20($sp) +/* 908438 80240A08 0080902D */ daddu $s2, $a0, $zero +/* 90843C 80240A0C AFB00018 */ sw $s0, 0x18($sp) +/* 908440 80240A10 00A0802D */ daddu $s0, $a1, $zero +/* 908444 80240A14 3C05FD05 */ lui $a1, 0xfd05 +/* 908448 80240A18 AFBF0028 */ sw $ra, 0x28($sp) +/* 90844C 80240A1C AFB30024 */ sw $s3, 0x24($sp) +/* 908450 80240A20 AFB1001C */ sw $s1, 0x1c($sp) +/* 908454 80240A24 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 908458 80240A28 8E51000C */ lw $s1, 0xc($s2) +/* 90845C 80240A2C 0C0B1EAF */ jal get_variable +/* 908460 80240A30 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908464 80240A34 12000015 */ beqz $s0, .L80240A8C +/* 908468 80240A38 0040982D */ daddu $s3, $v0, $zero +/* 90846C 80240A3C AE400070 */ sw $zero, 0x70($s2) +/* 908470 80240A40 8E250000 */ lw $a1, ($s1) +/* 908474 80240A44 26310004 */ addiu $s1, $s1, 4 +/* 908478 80240A48 0C0B1EAF */ jal get_variable +/* 90847C 80240A4C 0240202D */ daddu $a0, $s2, $zero +/* 908480 80240A50 AE420084 */ sw $v0, 0x84($s2) +/* 908484 80240A54 8E250000 */ lw $a1, ($s1) +/* 908488 80240A58 26310004 */ addiu $s1, $s1, 4 +/* 90848C 80240A5C 0C0B1EAF */ jal get_variable +/* 908490 80240A60 0240202D */ daddu $a0, $s2, $zero +/* 908494 80240A64 AE420074 */ sw $v0, 0x74($s2) +/* 908498 80240A68 8E250000 */ lw $a1, ($s1) +/* 90849C 80240A6C 26310004 */ addiu $s1, $s1, 4 +/* 9084A0 80240A70 0C0B1EAF */ jal get_variable +/* 9084A4 80240A74 0240202D */ daddu $a0, $s2, $zero +/* 9084A8 80240A78 AE420078 */ sw $v0, 0x78($s2) +/* 9084AC 80240A7C 8E250000 */ lw $a1, ($s1) +/* 9084B0 80240A80 0C0B1EAF */ jal get_variable +/* 9084B4 80240A84 0240202D */ daddu $a0, $s2, $zero +/* 9084B8 80240A88 AE42007C */ sw $v0, 0x7c($s2) +.L80240A8C: +/* 9084BC 80240A8C 8E43007C */ lw $v1, 0x7c($s2) +/* 9084C0 80240A90 4480A000 */ mtc1 $zero, $f20 +/* 9084C4 80240A94 8E420078 */ lw $v0, 0x78($s2) +/* 9084C8 80240A98 AFA30010 */ sw $v1, 0x10($sp) +/* 9084CC 80240A9C 00021FC2 */ srl $v1, $v0, 0x1f +/* 9084D0 80240AA0 00431021 */ addu $v0, $v0, $v1 +/* 9084D4 80240AA4 00021043 */ sra $v0, $v0, 1 +/* 9084D8 80240AA8 24420008 */ addiu $v0, $v0, 8 +/* 9084DC 80240AAC 44822000 */ mtc1 $v0, $f4 +/* 9084E0 80240AB0 00000000 */ nop +/* 9084E4 80240AB4 46802120 */ cvt.s.w $f4, $f4 +/* 9084E8 80240AB8 4405A000 */ mfc1 $a1, $f20 +/* 9084EC 80240ABC 8E470070 */ lw $a3, 0x70($s2) +/* 9084F0 80240AC0 44062000 */ mfc1 $a2, $f4 +/* 9084F4 80240AC4 0C00A8ED */ jal update_lerp +/* 9084F8 80240AC8 0000202D */ daddu $a0, $zero, $zero +/* 9084FC 80240ACC 8E420078 */ lw $v0, 0x78($s2) +/* 908500 80240AD0 4405A000 */ mfc1 $a1, $f20 +/* 908504 80240AD4 00021FC2 */ srl $v1, $v0, 0x1f +/* 908508 80240AD8 00431021 */ addu $v0, $v0, $v1 +/* 90850C 80240ADC 00021043 */ sra $v0, $v0, 1 +/* 908510 80240AE0 44822000 */ mtc1 $v0, $f4 +/* 908514 80240AE4 00000000 */ nop +/* 908518 80240AE8 46802120 */ cvt.s.w $f4, $f4 +/* 90851C 80240AEC 8E43007C */ lw $v1, 0x7c($s2) +/* 908520 80240AF0 44062000 */ mfc1 $a2, $f4 +/* 908524 80240AF4 AFA30010 */ sw $v1, 0x10($sp) +/* 908528 80240AF8 8E470070 */ lw $a3, 0x70($s2) +/* 90852C 80240AFC 4600010D */ trunc.w.s $f4, $f0 +/* 908530 80240B00 44102000 */ mfc1 $s0, $f4 +/* 908534 80240B04 0C00A8ED */ jal update_lerp +/* 908538 80240B08 0000202D */ daddu $a0, $zero, $zero +/* 90853C 80240B0C 8E420084 */ lw $v0, 0x84($s2) +/* 908540 80240B10 8E63002C */ lw $v1, 0x2c($s3) +/* 908544 80240B14 00501023 */ subu $v0, $v0, $s0 +/* 908548 80240B18 8C63000C */ lw $v1, 0xc($v1) +/* 90854C 80240B1C 44821000 */ mtc1 $v0, $f2 +/* 908550 80240B20 00000000 */ nop +/* 908554 80240B24 468010A0 */ cvt.s.w $f2, $f2 +/* 908558 80240B28 E4620004 */ swc1 $f2, 4($v1) +/* 90855C 80240B2C 8E62002C */ lw $v0, 0x2c($s3) +/* 908560 80240B30 4600010D */ trunc.w.s $f4, $f0 +/* 908564 80240B34 44042000 */ mfc1 $a0, $f4 +/* 908568 80240B38 8C42000C */ lw $v0, 0xc($v0) +/* 90856C 80240B3C C6420074 */ lwc1 $f2, 0x74($s2) +/* 908570 80240B40 468010A0 */ cvt.s.w $f2, $f2 +/* 908574 80240B44 E4420008 */ swc1 $f2, 8($v0) +/* 908578 80240B48 8E420084 */ lw $v0, 0x84($s2) +/* 90857C 80240B4C 8E63002C */ lw $v1, 0x2c($s3) +/* 908580 80240B50 00441021 */ addu $v0, $v0, $a0 +/* 908584 80240B54 8C63000C */ lw $v1, 0xc($v1) +/* 908588 80240B58 44820000 */ mtc1 $v0, $f0 +/* 90858C 80240B5C 00000000 */ nop +/* 908590 80240B60 46800020 */ cvt.s.w $f0, $f0 +/* 908594 80240B64 E4600010 */ swc1 $f0, 0x10($v1) +/* 908598 80240B68 8E62002C */ lw $v0, 0x2c($s3) +/* 90859C 80240B6C 8C42000C */ lw $v0, 0xc($v0) +/* 9085A0 80240B70 C6400074 */ lwc1 $f0, 0x74($s2) +/* 9085A4 80240B74 46800020 */ cvt.s.w $f0, $f0 +/* 9085A8 80240B78 E4400014 */ swc1 $f0, 0x14($v0) +/* 9085AC 80240B7C 8E430070 */ lw $v1, 0x70($s2) +/* 9085B0 80240B80 8E42007C */ lw $v0, 0x7c($s2) +/* 9085B4 80240B84 24630001 */ addiu $v1, $v1, 1 +/* 9085B8 80240B88 0062102A */ slt $v0, $v1, $v0 +/* 9085BC 80240B8C AE430070 */ sw $v1, 0x70($s2) +/* 9085C0 80240B90 8FBF0028 */ lw $ra, 0x28($sp) +/* 9085C4 80240B94 8FB30024 */ lw $s3, 0x24($sp) +/* 9085C8 80240B98 8FB20020 */ lw $s2, 0x20($sp) +/* 9085CC 80240B9C 8FB1001C */ lw $s1, 0x1c($sp) +/* 9085D0 80240BA0 8FB00018 */ lw $s0, 0x18($sp) +/* 9085D4 80240BA4 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9085D8 80240BA8 38420001 */ xori $v0, $v0, 1 +/* 9085DC 80240BAC 03E00008 */ jr $ra +/* 9085E0 80240BB0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240BB4.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240BB4.s new file mode 100644 index 0000000000..d7b874ef8b --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240BB4.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB4 +/* 9085E4 80240BB4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9085E8 80240BB8 AFB20020 */ sw $s2, 0x20($sp) +/* 9085EC 80240BBC 0080902D */ daddu $s2, $a0, $zero +/* 9085F0 80240BC0 AFB00018 */ sw $s0, 0x18($sp) +/* 9085F4 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* 9085F8 80240BC8 3C05FD05 */ lui $a1, 0xfd05 +/* 9085FC 80240BCC AFBF0028 */ sw $ra, 0x28($sp) +/* 908600 80240BD0 AFB30024 */ sw $s3, 0x24($sp) +/* 908604 80240BD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 908608 80240BD8 8E51000C */ lw $s1, 0xc($s2) +/* 90860C 80240BDC 0C0B1EAF */ jal get_variable +/* 908610 80240BE0 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908614 80240BE4 12000012 */ beqz $s0, .L80240C30 +/* 908618 80240BE8 0040982D */ daddu $s3, $v0, $zero +/* 90861C 80240BEC AE400070 */ sw $zero, 0x70($s2) +/* 908620 80240BF0 8E250000 */ lw $a1, ($s1) +/* 908624 80240BF4 26310004 */ addiu $s1, $s1, 4 +/* 908628 80240BF8 0C0B1EAF */ jal get_variable +/* 90862C 80240BFC 0240202D */ daddu $a0, $s2, $zero +/* 908630 80240C00 AE420074 */ sw $v0, 0x74($s2) +/* 908634 80240C04 8E250000 */ lw $a1, ($s1) +/* 908638 80240C08 26310004 */ addiu $s1, $s1, 4 +/* 90863C 80240C0C 0C0B1EAF */ jal get_variable +/* 908640 80240C10 0240202D */ daddu $a0, $s2, $zero +/* 908644 80240C14 AE420078 */ sw $v0, 0x78($s2) +/* 908648 80240C18 8E250000 */ lw $a1, ($s1) +/* 90864C 80240C1C 0C0B1EAF */ jal get_variable +/* 908650 80240C20 0240202D */ daddu $a0, $s2, $zero +/* 908654 80240C24 AE42007C */ sw $v0, 0x7c($s2) +/* 908658 80240C28 24020001 */ addiu $v0, $zero, 1 +/* 90865C 80240C2C A662001E */ sh $v0, 0x1e($s3) +.L80240C30: +/* 908660 80240C30 C6400074 */ lwc1 $f0, 0x74($s2) +/* 908664 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* 908668 80240C38 44050000 */ mfc1 $a1, $f0 +/* 90866C 80240C3C C6400078 */ lwc1 $f0, 0x78($s2) +/* 908670 80240C40 46800020 */ cvt.s.w $f0, $f0 +/* 908674 80240C44 8E42007C */ lw $v0, 0x7c($s2) +/* 908678 80240C48 44060000 */ mfc1 $a2, $f0 +/* 90867C 80240C4C AFA20010 */ sw $v0, 0x10($sp) +/* 908680 80240C50 8E470070 */ lw $a3, 0x70($s2) +/* 908684 80240C54 0C00A8ED */ jal update_lerp +/* 908688 80240C58 0000202D */ daddu $a0, $zero, $zero +/* 90868C 80240C5C E660000C */ swc1 $f0, 0xc($s3) +/* 908690 80240C60 8E430070 */ lw $v1, 0x70($s2) +/* 908694 80240C64 8E42007C */ lw $v0, 0x7c($s2) +/* 908698 80240C68 24630001 */ addiu $v1, $v1, 1 +/* 90869C 80240C6C 0062102A */ slt $v0, $v1, $v0 +/* 9086A0 80240C70 AE430070 */ sw $v1, 0x70($s2) +/* 9086A4 80240C74 8FBF0028 */ lw $ra, 0x28($sp) +/* 9086A8 80240C78 8FB30024 */ lw $s3, 0x24($sp) +/* 9086AC 80240C7C 8FB20020 */ lw $s2, 0x20($sp) +/* 9086B0 80240C80 8FB1001C */ lw $s1, 0x1c($sp) +/* 9086B4 80240C84 8FB00018 */ lw $s0, 0x18($sp) +/* 9086B8 80240C88 38420001 */ xori $v0, $v0, 1 +/* 9086BC 80240C8C 03E00008 */ jr $ra +/* 9086C0 80240C90 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240C94.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240C94.s new file mode 100644 index 0000000000..3a24dd3ef0 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240C94.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C94 +/* 9086C4 80240C94 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9086C8 80240C98 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9086CC 80240C9C 90420012 */ lbu $v0, 0x12($v0) +/* 9086D0 80240CA0 03E00008 */ jr $ra +/* 9086D4 80240CA4 000211C2 */ srl $v0, $v0, 7 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240CA8_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240CA8_907A30.s new file mode 100644 index 0000000000..6f2285ad31 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240CA8_907A30.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA8_9086D8 +/* 9086D8 80240CA8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9086DC 80240CAC 3C05FD05 */ lui $a1, 0xfd05 +/* 9086E0 80240CB0 AFBF0028 */ sw $ra, 0x28($sp) +/* 9086E4 80240CB4 0C0B1EAF */ jal get_variable +/* 9086E8 80240CB8 34A50F80 */ ori $a1, $a1, 0xf80 +/* 9086EC 80240CBC 3C01428C */ lui $at, 0x428c +/* 9086F0 80240CC0 44810000 */ mtc1 $at, $f0 +/* 9086F4 80240CC4 3C0141A0 */ lui $at, 0x41a0 +/* 9086F8 80240CC8 44811000 */ mtc1 $at, $f2 +/* 9086FC 80240CCC 3C013FC0 */ lui $at, 0x3fc0 +/* 908700 80240CD0 44812000 */ mtc1 $at, $f4 +/* 908704 80240CD4 24030014 */ addiu $v1, $zero, 0x14 +/* 908708 80240CD8 AFA3001C */ sw $v1, 0x1c($sp) +/* 90870C 80240CDC 2403000F */ addiu $v1, $zero, 0xf +/* 908710 80240CE0 AFA30020 */ sw $v1, 0x20($sp) +/* 908714 80240CE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 908718 80240CE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 90871C 80240CEC E7A40018 */ swc1 $f4, 0x18($sp) +/* 908720 80240CF0 8C450000 */ lw $a1, ($v0) +/* 908724 80240CF4 8C460004 */ lw $a2, 4($v0) +/* 908728 80240CF8 8C470008 */ lw $a3, 8($v0) +/* 90872C 80240CFC 0C01C8D4 */ jal func_80072350 +/* 908730 80240D00 24040002 */ addiu $a0, $zero, 2 +/* 908734 80240D04 8FBF0028 */ lw $ra, 0x28($sp) +/* 908738 80240D08 24020002 */ addiu $v0, $zero, 2 +/* 90873C 80240D0C 03E00008 */ jr $ra +/* 908740 80240D10 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D14.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D14.s new file mode 100644 index 0000000000..5d839c0667 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D14.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D14 +/* 908744 80240D14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 908748 80240D18 3C05FD05 */ lui $a1, 0xfd05 +/* 90874C 80240D1C 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908750 80240D20 AFBF0010 */ sw $ra, 0x10($sp) +/* 908754 80240D24 0C0B1EAF */ jal get_variable +/* 908758 80240D28 0000202D */ daddu $a0, $zero, $zero +/* 90875C 80240D2C 24030001 */ addiu $v1, $zero, 1 +/* 908760 80240D30 3C05800A */ lui $a1, %hi(D_8009A650) +/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650) +/* 908768 80240D38 A443001E */ sh $v1, 0x1e($v0) +/* 90876C 80240D3C 8CA30000 */ lw $v1, ($a1) +/* 908770 80240D40 3C040010 */ lui $a0, 0x10 +/* 908774 80240D44 00641825 */ or $v1, $v1, $a0 +/* 908778 80240D48 ACA30000 */ sw $v1, ($a1) +/* 90877C 80240D4C 8FBF0010 */ lw $ra, 0x10($sp) +/* 908780 80240D50 24020002 */ addiu $v0, $zero, 2 +/* 908784 80240D54 03E00008 */ jr $ra +/* 908788 80240D58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D5C.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D5C.s new file mode 100644 index 0000000000..c8bb4bf492 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240D5C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D5C +/* 90878C 80240D5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 908790 80240D60 3C05FD05 */ lui $a1, 0xfd05 +/* 908794 80240D64 34A50F80 */ ori $a1, $a1, 0xf80 +/* 908798 80240D68 AFBF0010 */ sw $ra, 0x10($sp) +/* 90879C 80240D6C 0C0B1EAF */ jal get_variable +/* 9087A0 80240D70 0000202D */ daddu $a0, $zero, $zero +/* 9087A4 80240D74 3C05FFEF */ lui $a1, 0xffef +/* 9087A8 80240D78 3C04800A */ lui $a0, %hi(D_8009A650) +/* 9087AC 80240D7C 2484A650 */ addiu $a0, $a0, %lo(D_8009A650) +/* 9087B0 80240D80 A440001E */ sh $zero, 0x1e($v0) +/* 9087B4 80240D84 8C830000 */ lw $v1, ($a0) +/* 9087B8 80240D88 34A5FFFF */ ori $a1, $a1, 0xffff +/* 9087BC 80240D8C 00651824 */ and $v1, $v1, $a1 +/* 9087C0 80240D90 AC830000 */ sw $v1, ($a0) +/* 9087C4 80240D94 8FBF0010 */ lw $ra, 0x10($sp) +/* 9087C8 80240D98 24020002 */ addiu $v0, $zero, 2 +/* 9087CC 80240D9C 03E00008 */ jr $ra +/* 9087D0 80240DA0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/func_80240DA4_907A30.s b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240DA4_907A30.s new file mode 100644 index 0000000000..270fcf33bd --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_23/func_80240DA4_907A30.s @@ -0,0 +1,215 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA4_9087D4 +/* 9087D4 80240DA4 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 9087D8 80240DA8 0000202D */ daddu $a0, $zero, $zero +/* 9087DC 80240DAC 3C05FD05 */ lui $a1, 0xfd05 +/* 9087E0 80240DB0 34A50F80 */ ori $a1, $a1, 0xf80 +/* 9087E4 80240DB4 AFBF0058 */ sw $ra, 0x58($sp) +/* 9087E8 80240DB8 AFB10054 */ sw $s1, 0x54($sp) +/* 9087EC 80240DBC 0C0B1EAF */ jal get_variable +/* 9087F0 80240DC0 AFB00050 */ sw $s0, 0x50($sp) +/* 9087F4 80240DC4 241000E2 */ addiu $s0, $zero, 0xe2 +/* 9087F8 80240DC8 3C038024 */ lui $v1, 0x8024 +/* 9087FC 80240DCC 8C6317C8 */ lw $v1, 0x17c8($v1) +/* 908800 80240DD0 0040202D */ daddu $a0, $v0, $zero +/* 908804 80240DD4 2C620005 */ sltiu $v0, $v1, 5 +/* 908808 80240DD8 1040003F */ beqz $v0, .L80240ED8 +/* 90880C 80240DDC 24110046 */ addiu $s1, $zero, 0x46 +/* 908810 80240DE0 00031080 */ sll $v0, $v1, 2 +/* 908814 80240DE4 3C018024 */ lui $at, 0x8024 +/* 908818 80240DE8 00220821 */ addu $at, $at, $v0 +/* 90881C 80240DEC 8C2237F0 */ lw $v0, 0x37f0($at) +/* 908820 80240DF0 00400008 */ jr $v0 +/* 908824 80240DF4 00000000 */ nop +/* 908828 80240DF8 8482001E */ lh $v0, 0x1e($a0) +/* 90882C 80240DFC 10400036 */ beqz $v0, .L80240ED8 +/* 908830 80240E00 24020001 */ addiu $v0, $zero, 1 +/* 908834 80240E04 080903B4 */ j .L80240ED0 +/* 908838 80240E08 00000000 */ nop +/* 90883C 80240E0C 3C048024 */ lui $a0, 0x8024 +/* 908840 80240E10 248417CC */ addiu $a0, $a0, 0x17cc +/* 908844 80240E14 3C058024 */ lui $a1, 0x8024 +/* 908848 80240E18 24A517D0 */ addiu $a1, $a1, 0x17d0 +/* 90884C 80240E1C 8C820000 */ lw $v0, ($a0) +/* 908850 80240E20 8CA30000 */ lw $v1, ($a1) +/* 908854 80240E24 24420014 */ addiu $v0, $v0, 0x14 +/* 908858 80240E28 24630005 */ addiu $v1, $v1, 5 +/* 90885C 80240E2C AC820000 */ sw $v0, ($a0) +/* 908860 80240E30 0050102A */ slt $v0, $v0, $s0 +/* 908864 80240E34 14400002 */ bnez $v0, .L80240E40 +/* 908868 80240E38 ACA30000 */ sw $v1, ($a1) +/* 90886C 80240E3C AC900000 */ sw $s0, ($a0) +.L80240E40: +/* 908870 80240E40 0071102A */ slt $v0, $v1, $s1 +/* 908874 80240E44 50400001 */ beql $v0, $zero, .L80240E4C +/* 908878 80240E48 ACB10000 */ sw $s1, ($a1) +.L80240E4C: +/* 90887C 80240E4C 8C820000 */ lw $v0, ($a0) +/* 908880 80240E50 14500021 */ bne $v0, $s0, .L80240ED8 +/* 908884 80240E54 00000000 */ nop +/* 908888 80240E58 8CA20000 */ lw $v0, ($a1) +/* 90888C 80240E5C 1451001E */ bne $v0, $s1, .L80240ED8 +/* 908890 80240E60 24020002 */ addiu $v0, $zero, 2 +/* 908894 80240E64 080903B4 */ j .L80240ED0 +/* 908898 80240E68 00000000 */ nop +/* 90889C 80240E6C 8482001E */ lh $v0, 0x1e($a0) +/* 9088A0 80240E70 14400019 */ bnez $v0, .L80240ED8 +/* 9088A4 80240E74 24020003 */ addiu $v0, $zero, 3 +/* 9088A8 80240E78 080903B4 */ j .L80240ED0 +/* 9088AC 80240E7C 00000000 */ nop +/* 9088B0 80240E80 3C048024 */ lui $a0, 0x8024 +/* 9088B4 80240E84 248417CC */ addiu $a0, $a0, 0x17cc +/* 9088B8 80240E88 3C058024 */ lui $a1, 0x8024 +/* 9088BC 80240E8C 24A517D0 */ addiu $a1, $a1, 0x17d0 +/* 9088C0 80240E90 8C820000 */ lw $v0, ($a0) +/* 9088C4 80240E94 8CA30000 */ lw $v1, ($a1) +/* 9088C8 80240E98 2442FFEC */ addiu $v0, $v0, -0x14 +/* 9088CC 80240E9C 2463FFFB */ addiu $v1, $v1, -5 +/* 9088D0 80240EA0 AC820000 */ sw $v0, ($a0) +/* 9088D4 80240EA4 04410002 */ bgez $v0, .L80240EB0 +/* 9088D8 80240EA8 ACA30000 */ sw $v1, ($a1) +/* 9088DC 80240EAC AC800000 */ sw $zero, ($a0) +.L80240EB0: +/* 9088E0 80240EB0 04620001 */ bltzl $v1, .L80240EB8 +/* 9088E4 80240EB4 ACA00000 */ sw $zero, ($a1) +.L80240EB8: +/* 9088E8 80240EB8 8C820000 */ lw $v0, ($a0) +/* 9088EC 80240EBC 1440000A */ bnez $v0, .L80240EE8 +/* 9088F0 80240EC0 00000000 */ nop +/* 9088F4 80240EC4 8CA20000 */ lw $v0, ($a1) +/* 9088F8 80240EC8 14400003 */ bnez $v0, .L80240ED8 +/* 9088FC 80240ECC 24020004 */ addiu $v0, $zero, 4 +.L80240ED0: +/* 908900 80240ED0 3C018024 */ lui $at, 0x8024 +/* 908904 80240ED4 AC2217C8 */ sw $v0, 0x17c8($at) +.L80240ED8: +/* 908908 80240ED8 3C028024 */ lui $v0, 0x8024 +/* 90890C 80240EDC 8C4217CC */ lw $v0, 0x17cc($v0) +/* 908910 80240EE0 10400074 */ beqz $v0, .L802410B4 +/* 908914 80240EE4 00000000 */ nop +.L80240EE8: +/* 908918 80240EE8 3C098024 */ lui $t1, 0x8024 +/* 90891C 80240EEC 8D2917D0 */ lw $t1, 0x17d0($t1) +/* 908920 80240EF0 11200070 */ beqz $t1, .L802410B4 +/* 908924 80240EF4 2402002F */ addiu $v0, $zero, 0x2f +/* 908928 80240EF8 3C013FE0 */ lui $at, 0x3fe0 +/* 90892C 80240EFC 44810800 */ mtc1 $at, $f1 +/* 908930 80240F00 44800000 */ mtc1 $zero, $f0 +/* 908934 80240F04 44902000 */ mtc1 $s0, $f4 +/* 908938 80240F08 00000000 */ nop +/* 90893C 80240F0C 46802121 */ cvt.d.w $f4, $f4 +/* 908940 80240F10 46202102 */ mul.d $f4, $f4, $f0 +/* 908944 80240F14 00000000 */ nop +/* 908948 80240F18 3C088024 */ lui $t0, 0x8024 +/* 90894C 80240F1C 8D0817CC */ lw $t0, 0x17cc($t0) +/* 908950 80240F20 44884000 */ mtc1 $t0, $f8 +/* 908954 80240F24 00000000 */ nop +/* 908958 80240F28 46804221 */ cvt.d.w $f8, $f8 +/* 90895C 80240F2C 46204202 */ mul.d $f8, $f8, $f0 +/* 908960 80240F30 00000000 */ nop +/* 908964 80240F34 44913000 */ mtc1 $s1, $f6 +/* 908968 80240F38 00000000 */ nop +/* 90896C 80240F3C 468031A1 */ cvt.d.w $f6, $f6 +/* 908970 80240F40 46203182 */ mul.d $f6, $f6, $f0 +/* 908974 80240F44 00000000 */ nop +/* 908978 80240F48 44895000 */ mtc1 $t1, $f10 +/* 90897C 80240F4C 00000000 */ nop +/* 908980 80240F50 468052A1 */ cvt.d.w $f10, $f10 +/* 908984 80240F54 46205282 */ mul.d $f10, $f10, $f0 +/* 908988 80240F58 00000000 */ nop +/* 90898C 80240F5C 44821000 */ mtc1 $v0, $f2 +/* 908990 80240F60 00000000 */ nop +/* 908994 80240F64 468010A1 */ cvt.d.w $f2, $f2 +/* 908998 80240F68 46241080 */ add.d $f2, $f2, $f4 +/* 90899C 80240F6C 46281401 */ sub.d $f16, $f2, $f8 +/* 9089A0 80240F70 3C014080 */ lui $at, 0x4080 +/* 9089A4 80240F74 44817000 */ mtc1 $at, $f14 +/* 9089A8 80240F78 46208320 */ cvt.s.d $f12, $f16 +/* 9089AC 80240F7C 460E6302 */ mul.s $f12, $f12, $f14 +/* 9089B0 80240F80 00000000 */ nop +/* 9089B4 80240F84 24020064 */ addiu $v0, $zero, 0x64 +/* 9089B8 80240F88 44820000 */ mtc1 $v0, $f0 +/* 9089BC 80240F8C 00000000 */ nop +/* 9089C0 80240F90 46800021 */ cvt.d.w $f0, $f0 +/* 9089C4 80240F94 46260000 */ add.d $f0, $f0, $f6 +/* 9089C8 80240F98 462A0181 */ sub.d $f6, $f0, $f10 +/* 9089CC 80240F9C 46203120 */ cvt.s.d $f4, $f6 +/* 9089D0 80240FA0 460E2102 */ mul.s $f4, $f4, $f14 +/* 9089D4 80240FA4 00000000 */ nop +/* 9089D8 80240FA8 46281080 */ add.d $f2, $f2, $f8 +/* 9089DC 80240FAC 24040004 */ addiu $a0, $zero, 4 +/* 9089E0 80240FB0 3C03800A */ lui $v1, 0x800a +/* 9089E4 80240FB4 2463A66C */ addiu $v1, $v1, -0x5994 +/* 9089E8 80240FB8 462010A0 */ cvt.s.d $f2, $f2 +/* 9089EC 80240FBC 460E1082 */ mul.s $f2, $f2, $f14 +/* 9089F0 80240FC0 00000000 */ nop +/* 9089F4 80240FC4 3C058024 */ lui $a1, 0x8024 +/* 9089F8 80240FC8 24A517D8 */ addiu $a1, $a1, 0x17d8 +/* 9089FC 80240FCC 8C620000 */ lw $v0, ($v1) +/* 908A00 80240FD0 3C06ED00 */ lui $a2, 0xed00 +/* 908A04 80240FD4 0040382D */ daddu $a3, $v0, $zero +/* 908A08 80240FD8 462A0000 */ add.d $f0, $f0, $f10 +/* 908A0C 80240FDC 24420008 */ addiu $v0, $v0, 8 +/* 908A10 80240FE0 AC620000 */ sw $v0, ($v1) +/* 908A14 80240FE4 46200020 */ cvt.s.d $f0, $f0 +/* 908A18 80240FE8 460E0002 */ mul.s $f0, $f0, $f14 +/* 908A1C 80240FEC 00000000 */ nop +/* 908A20 80240FF0 4600648D */ trunc.w.s $f18, $f12 +/* 908A24 80240FF4 44039000 */ mfc1 $v1, $f18 +/* 908A28 80240FF8 00000000 */ nop +/* 908A2C 80240FFC 30630FFF */ andi $v1, $v1, 0xfff +/* 908A30 80241000 00031B00 */ sll $v1, $v1, 0xc +/* 908A34 80241004 4600248D */ trunc.w.s $f18, $f4 +/* 908A38 80241008 44029000 */ mfc1 $v0, $f18 +/* 908A3C 8024100C 00000000 */ nop +/* 908A40 80241010 30420FFF */ andi $v0, $v0, 0xfff +/* 908A44 80241014 00461025 */ or $v0, $v0, $a2 +/* 908A48 80241018 00621825 */ or $v1, $v1, $v0 +/* 908A4C 8024101C 4600148D */ trunc.w.s $f18, $f2 +/* 908A50 80241020 44029000 */ mfc1 $v0, $f18 +/* 908A54 80241024 00000000 */ nop +/* 908A58 80241028 30420FFF */ andi $v0, $v0, 0xfff +/* 908A5C 8024102C 00021300 */ sll $v0, $v0, 0xc +/* 908A60 80241030 ACE30000 */ sw $v1, ($a3) +/* 908A64 80241034 4600048D */ trunc.w.s $f18, $f0 +/* 908A68 80241038 44039000 */ mfc1 $v1, $f18 +/* 908A6C 8024103C 00000000 */ nop +/* 908A70 80241040 30630FFF */ andi $v1, $v1, 0xfff +/* 908A74 80241044 00431025 */ or $v0, $v0, $v1 +/* 908A78 80241048 ACE20004 */ sw $v0, 4($a3) +/* 908A7C 8024104C 240200B4 */ addiu $v0, $zero, 0xb4 +/* 908A80 80241050 AFA2001C */ sw $v0, 0x1c($sp) +/* 908A84 80241054 24020140 */ addiu $v0, $zero, 0x140 +/* 908A88 80241058 AFA20044 */ sw $v0, 0x44($sp) +/* 908A8C 8024105C 240200F0 */ addiu $v0, $zero, 0xf0 +/* 908A90 80241060 4620848D */ trunc.w.d $f18, $f16 +/* 908A94 80241064 44069000 */ mfc1 $a2, $f18 +/* 908A98 80241068 3C013F80 */ lui $at, 0x3f80 +/* 908A9C 8024106C 44810000 */ mtc1 $at, $f0 +/* 908AA0 80241070 4620348D */ trunc.w.d $f18, $f6 +/* 908AA4 80241074 44079000 */ mfc1 $a3, $f18 +/* 908AA8 80241078 AFA00010 */ sw $zero, 0x10($sp) +/* 908AAC 8024107C AFA80014 */ sw $t0, 0x14($sp) +/* 908AB0 80241080 AFA90018 */ sw $t1, 0x18($sp) +/* 908AB4 80241084 AFA00020 */ sw $zero, 0x20($sp) +/* 908AB8 80241088 AFA0002C */ sw $zero, 0x2c($sp) +/* 908ABC 8024108C AFA00030 */ sw $zero, 0x30($sp) +/* 908AC0 80241090 AFA00034 */ sw $zero, 0x34($sp) +/* 908AC4 80241094 AFA00038 */ sw $zero, 0x38($sp) +/* 908AC8 80241098 AFA0003C */ sw $zero, 0x3c($sp) +/* 908ACC 8024109C AFA00040 */ sw $zero, 0x40($sp) +/* 908AD0 802410A0 AFA20048 */ sw $v0, 0x48($sp) +/* 908AD4 802410A4 AFA0004C */ sw $zero, 0x4c($sp) +/* 908AD8 802410A8 E7A00024 */ swc1 $f0, 0x24($sp) +/* 908ADC 802410AC 0C03D4B8 */ jal draw_box +/* 908AE0 802410B0 E7A00028 */ swc1 $f0, 0x28($sp) +.L802410B4: +/* 908AE4 802410B4 8FBF0058 */ lw $ra, 0x58($sp) +/* 908AE8 802410B8 8FB10054 */ lw $s1, 0x54($sp) +/* 908AEC 802410BC 8FB00050 */ lw $s0, 0x50($sp) +/* 908AF0 802410C0 03E00008 */ jr $ra +/* 908AF4 802410C4 27BD0060 */ addiu $sp, $sp, 0x60 +/* 908AF8 802410C8 00000000 */ nop +/* 908AFC 802410CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_24/func_80240000_90B240.s b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240000_90B240.s new file mode 100644 index 0000000000..df3b1d3df4 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240000_90B240.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_90B240 +/* 90B240 80240000 03E00008 */ jr $ra +/* 90B244 80240004 24020001 */ addiu $v0, $zero, 1 +/* 90B248 80240008 00000000 */ nop +/* 90B24C 8024000C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_24/func_80240010_90B240.s b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240010_90B240.s new file mode 100644 index 0000000000..b442ac0692 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240010_90B240.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240010_90B250 +/* 90B250 80240010 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 90B254 80240014 AFB00018 */ sw $s0, 0x18($sp) +/* 90B258 80240018 0080802D */ daddu $s0, $a0, $zero +/* 90B25C 8024001C 10A00004 */ beqz $a1, .L80240030 +/* 90B260 80240020 AFBF001C */ sw $ra, 0x1c($sp) +/* 90B264 80240024 0C04E0A8 */ jal set_map_transition_effect +/* 90B268 80240028 24040004 */ addiu $a0, $zero, 4 +/* 90B26C 8024002C AE000074 */ sw $zero, 0x74($s0) +.L80240030: +/* 90B270 80240030 96020076 */ lhu $v0, 0x76($s0) +/* 90B274 80240034 27A40010 */ addiu $a0, $sp, 0x10 +/* 90B278 80240038 0C04E0AB */ jal func_801382AC +/* 90B27C 8024003C A7A20010 */ sh $v0, 0x10($sp) +/* 90B280 80240040 00021400 */ sll $v0, $v0, 0x10 +/* 90B284 80240044 10400005 */ beqz $v0, .L8024005C +/* 90B288 80240048 0000102D */ daddu $v0, $zero, $zero +/* 90B28C 8024004C 0C00CD3C */ jal set_game_mode +/* 90B290 80240050 0000202D */ daddu $a0, $zero, $zero +/* 90B294 80240054 08090019 */ j .L80240064 +/* 90B298 80240058 24020002 */ addiu $v0, $zero, 2 +.L8024005C: +/* 90B29C 8024005C 87A30010 */ lh $v1, 0x10($sp) +/* 90B2A0 80240060 AE030074 */ sw $v1, 0x74($s0) +.L80240064: +/* 90B2A4 80240064 8FBF001C */ lw $ra, 0x1c($sp) +/* 90B2A8 80240068 8FB00018 */ lw $s0, 0x18($sp) +/* 90B2AC 8024006C 03E00008 */ jr $ra +/* 90B2B0 80240070 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kmr/kmr_24/func_80240074.s b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240074.s new file mode 100644 index 0000000000..32a180cc8a --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_24/func_80240074.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240074 +/* 90B2B4 80240074 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 90B2B8 80240078 3C048024 */ lui $a0, 0x8024 +/* 90B2BC 8024007C 24840480 */ addiu $a0, $a0, 0x480 +/* 90B2C0 80240080 AFB00018 */ sw $s0, 0x18($sp) +/* 90B2C4 80240084 3C108007 */ lui $s0, %hi(gGameStatusPtr) +/* 90B2C8 80240088 2610419C */ addiu $s0, $s0, %lo(gGameStatusPtr) +/* 90B2CC 8024008C 27A50010 */ addiu $a1, $sp, 0x10 +/* 90B2D0 80240090 AFBF0028 */ sw $ra, 0x28($sp) +/* 90B2D4 80240094 AFB30024 */ sw $s3, 0x24($sp) +/* 90B2D8 80240098 AFB20020 */ sw $s2, 0x20($sp) +/* 90B2DC 8024009C AFB1001C */ sw $s1, 0x1c($sp) +/* 90B2E0 802400A0 8E020000 */ lw $v0, ($s0) +/* 90B2E4 802400A4 94510086 */ lhu $s1, 0x86($v0) +/* 90B2E8 802400A8 9452008C */ lhu $s2, 0x8c($v0) +/* 90B2EC 802400AC 9453008E */ lhu $s3, 0x8e($v0) +/* 90B2F0 802400B0 0C016AFE */ jal get_map_IDs_by_name +/* 90B2F4 802400B4 27A60012 */ addiu $a2, $sp, 0x12 +/* 90B2F8 802400B8 8E030000 */ lw $v1, ($s0) +/* 90B2FC 802400BC 97A20010 */ lhu $v0, 0x10($sp) +/* 90B300 802400C0 97A50012 */ lhu $a1, 0x12($sp) +/* 90B304 802400C4 90640166 */ lbu $a0, 0x166($v1) +/* 90B308 802400C8 A4620086 */ sh $v0, 0x86($v1) +/* 90B30C 802400CC 24020004 */ addiu $v0, $zero, 4 +/* 90B310 802400D0 A465008C */ sh $a1, 0x8c($v1) +/* 90B314 802400D4 0C00ACDD */ jal fio_save_game +/* 90B318 802400D8 A462008E */ sh $v0, 0x8e($v1) +/* 90B31C 802400DC 8E030000 */ lw $v1, ($s0) +/* 90B320 802400E0 A4710086 */ sh $s1, 0x86($v1) +/* 90B324 802400E4 A472008C */ sh $s2, 0x8c($v1) +/* 90B328 802400E8 A473008E */ sh $s3, 0x8e($v1) +/* 90B32C 802400EC 8FBF0028 */ lw $ra, 0x28($sp) +/* 90B330 802400F0 8FB30024 */ lw $s3, 0x24($sp) +/* 90B334 802400F4 8FB20020 */ lw $s2, 0x20($sp) +/* 90B338 802400F8 8FB1001C */ lw $s1, 0x1c($sp) +/* 90B33C 802400FC 8FB00018 */ lw $s0, 0x18($sp) +/* 90B340 80240100 24020002 */ addiu $v0, $zero, 2 +/* 90B344 80240104 03E00008 */ jr $ra +/* 90B348 80240108 27BD0030 */ addiu $sp, $sp, 0x30 +/* 90B34C 8024010C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/func_80240000_90B6D0.s b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240000_90B6D0.s new file mode 100644 index 0000000000..798d8afd63 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240000_90B6D0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_90B6D0 +/* 90B6D0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 90B6D4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 90B6D8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 90B6DC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 90B6E0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 90B6E4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 90B6E8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 90B6EC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 90B6F0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 90B6F4 80240024 3C020002 */ lui $v0, 2 +/* 90B6F8 80240028 08090010 */ j .L80240040 +/* 90B6FC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 90B700 80240030 3C040002 */ lui $a0, 2 +/* 90B704 80240034 0083102A */ slt $v0, $a0, $v1 +/* 90B708 80240038 10400002 */ beqz $v0, .L80240044 +/* 90B70C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 90B710 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 90B714 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 90B718 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 90B71C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 90B720 80240050 04610004 */ bgez $v1, .L80240064 +/* 90B724 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 90B728 80240058 3C020002 */ lui $v0, 2 +/* 90B72C 8024005C 0809001D */ j .L80240074 +/* 90B730 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 90B734 80240064 3C040002 */ lui $a0, 2 +/* 90B738 80240068 0083102A */ slt $v0, $a0, $v1 +/* 90B73C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 90B740 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 90B744 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 90B748 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 90B74C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 90B750 80240080 00621821 */ addu $v1, $v1, $v0 +/* 90B754 80240084 04610004 */ bgez $v1, .L80240098 +/* 90B758 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 90B75C 8024008C 3C020002 */ lui $v0, 2 +/* 90B760 80240090 0809002A */ j .L802400A8 +/* 90B764 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 90B768 80240098 3C040002 */ lui $a0, 2 +/* 90B76C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 90B770 802400A0 10400002 */ beqz $v0, .L802400AC +/* 90B774 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 90B778 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 90B77C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 90B780 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 90B784 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 90B788 802400B8 04610004 */ bgez $v1, .L802400CC +/* 90B78C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 90B790 802400C0 3C020002 */ lui $v0, 2 +/* 90B794 802400C4 08090037 */ j .L802400DC +/* 90B798 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 90B79C 802400CC 3C040002 */ lui $a0, 2 +/* 90B7A0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 90B7A4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 90B7A8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 90B7AC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 90B7B0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 90B7B4 802400E4 0C046F07 */ jal set_main_pan_u +/* 90B7B8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 90B7BC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 90B7C0 802400F0 0C046F0D */ jal set_main_pan_v +/* 90B7C4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 90B7C8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 90B7CC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 90B7D0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 90B7D4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 90B7D8 80240108 0C046F19 */ jal set_aux_pan_v +/* 90B7DC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 90B7E0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 90B7E4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 90B7E8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 90B7EC 8024011C 03E00008 */ jr $ra +/* 90B7F0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/func_80240124_90B6D0.s b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240124_90B6D0.s new file mode 100644 index 0000000000..be2b0a8b3e --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240124_90B6D0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_90B7F4 +/* 90B7F4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 90B7F8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 90B7FC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 90B800 80240130 10A00005 */ beqz $a1, .L80240148 +/* 90B804 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 90B808 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 90B80C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 90B810 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 90B814 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 90B818 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 90B81C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 90B820 80240150 00000000 */ nop +/* 90B824 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 90B828 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 90B82C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 90B830 80240160 04610004 */ bgez $v1, .L80240174 +/* 90B834 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 90B838 80240168 3C020002 */ lui $v0, 2 +/* 90B83C 8024016C 08090061 */ j .L80240184 +/* 90B840 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 90B844 80240174 3C040002 */ lui $a0, 2 +/* 90B848 80240178 0083102A */ slt $v0, $a0, $v1 +/* 90B84C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 90B850 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 90B854 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 90B858 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 90B85C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 90B860 80240190 00000000 */ nop +/* 90B864 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 90B868 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 90B86C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 90B870 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 90B874 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 90B878 802401A8 3C020002 */ lui $v0, 2 +/* 90B87C 802401AC 08090071 */ j .L802401C4 +/* 90B880 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 90B884 802401B4 3C040002 */ lui $a0, 2 +/* 90B888 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 90B88C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 90B890 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 90B894 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 90B898 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 90B89C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 90B8A0 802401D0 00000000 */ nop +/* 90B8A4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 90B8A8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 90B8AC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 90B8B0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 90B8B4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 90B8B8 802401E8 3C020002 */ lui $v0, 2 +/* 90B8BC 802401EC 08090081 */ j .L80240204 +/* 90B8C0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 90B8C4 802401F4 3C040002 */ lui $a0, 2 +/* 90B8C8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 90B8CC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 90B8D0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 90B8D4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 90B8D8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 90B8DC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 90B8E0 80240210 00000000 */ nop +/* 90B8E4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 90B8E8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 90B8EC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 90B8F0 80240220 04610004 */ bgez $v1, .L80240234 +/* 90B8F4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 90B8F8 80240228 3C020002 */ lui $v0, 2 +/* 90B8FC 8024022C 08090091 */ j .L80240244 +/* 90B900 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 90B904 80240234 3C040002 */ lui $a0, 2 +/* 90B908 80240238 0083102A */ slt $v0, $a0, $v1 +/* 90B90C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 90B910 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 90B914 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 90B918 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 90B91C 8024024C 0C046F07 */ jal set_main_pan_u +/* 90B920 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 90B924 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 90B928 80240258 0C046F0D */ jal set_main_pan_v +/* 90B92C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 90B930 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 90B934 80240264 0C046F13 */ jal set_aux_pan_u +/* 90B938 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 90B93C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 90B940 80240270 0C046F19 */ jal set_aux_pan_v +/* 90B944 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 90B948 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 90B94C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 90B950 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 90B954 80240284 24420001 */ addiu $v0, $v0, 1 +/* 90B958 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 90B95C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 90B960 80240290 24630001 */ addiu $v1, $v1, 1 +/* 90B964 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 90B968 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 90B96C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 90B970 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 90B974 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 90B978 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 90B97C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 90B980 802402B0 14600002 */ bnez $v1, .L802402BC +/* 90B984 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 90B988 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 90B98C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 90B990 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 90B994 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 90B998 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 90B99C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 90B9A0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 90B9A4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 90B9A8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 90B9AC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 90B9B0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 90B9B4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 90B9B8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 90B9BC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 90B9C0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 90B9C4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 90B9C8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 90B9CC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 90B9D0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 90B9D4 80240304 03E00008 */ jr $ra +/* 90B9D8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 90B9DC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/func_80240310_90B6D0.s b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240310_90B6D0.s new file mode 100644 index 0000000000..0393bb3f4c --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240310_90B6D0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_90B9E0 +/* 90B9E0 80240310 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 90B9E4 80240314 AFBF002C */ sw $ra, 0x2c($sp) +/* 90B9E8 80240318 AFB60028 */ sw $s6, 0x28($sp) +/* 90B9EC 8024031C AFB50024 */ sw $s5, 0x24($sp) +/* 90B9F0 80240320 AFB40020 */ sw $s4, 0x20($sp) +/* 90B9F4 80240324 AFB3001C */ sw $s3, 0x1c($sp) +/* 90B9F8 80240328 AFB20018 */ sw $s2, 0x18($sp) +/* 90B9FC 8024032C AFB10014 */ sw $s1, 0x14($sp) +/* 90BA00 80240330 AFB00010 */ sw $s0, 0x10($sp) +/* 90BA04 80240334 8C82000C */ lw $v0, 0xc($a0) +/* 90BA08 80240338 8C450000 */ lw $a1, ($v0) +/* 90BA0C 8024033C 0C0B1EAF */ jal get_variable +/* 90BA10 80240340 241000FF */ addiu $s0, $zero, 0xff +/* 90BA14 80240344 240400FF */ addiu $a0, $zero, 0xff +/* 90BA18 80240348 0C00A67F */ jal rand_int +/* 90BA1C 8024034C 0040982D */ daddu $s3, $v0, $zero +/* 90BA20 80240350 0040882D */ daddu $s1, $v0, $zero +/* 90BA24 80240354 0C00A67F */ jal rand_int +/* 90BA28 80240358 02112023 */ subu $a0, $s0, $s1 +/* 90BA2C 8024035C 0040902D */ daddu $s2, $v0, $zero +/* 90BA30 80240360 02128023 */ subu $s0, $s0, $s2 +/* 90BA34 80240364 0C00A67F */ jal rand_int +/* 90BA38 80240368 02112023 */ subu $a0, $s0, $s1 +/* 90BA3C 8024036C 0040802D */ daddu $s0, $v0, $zero +/* 90BA40 80240370 0C00A67F */ jal rand_int +/* 90BA44 80240374 24040080 */ addiu $a0, $zero, 0x80 +/* 90BA48 80240378 0222B021 */ addu $s6, $s1, $v0 +/* 90BA4C 8024037C 0C00A67F */ jal rand_int +/* 90BA50 80240380 24040080 */ addiu $a0, $zero, 0x80 +/* 90BA54 80240384 0242A821 */ addu $s5, $s2, $v0 +/* 90BA58 80240388 0C00A67F */ jal rand_int +/* 90BA5C 8024038C 24040080 */ addiu $a0, $zero, 0x80 +/* 90BA60 80240390 0202A021 */ addu $s4, $s0, $v0 +/* 90BA64 80240394 2AC20100 */ slti $v0, $s6, 0x100 +/* 90BA68 80240398 50400001 */ beql $v0, $zero, .L802403A0 +/* 90BA6C 8024039C 241600FF */ addiu $s6, $zero, 0xff +.L802403A0: +/* 90BA70 802403A0 2AA20100 */ slti $v0, $s5, 0x100 +/* 90BA74 802403A4 50400001 */ beql $v0, $zero, .L802403AC +/* 90BA78 802403A8 241500FF */ addiu $s5, $zero, 0xff +.L802403AC: +/* 90BA7C 802403AC 2A820100 */ slti $v0, $s4, 0x100 +/* 90BA80 802403B0 50400001 */ beql $v0, $zero, .L802403B8 +/* 90BA84 802403B4 241400FF */ addiu $s4, $zero, 0xff +.L802403B8: +/* 90BA88 802403B8 0C00A67F */ jal rand_int +/* 90BA8C 802403BC 24040080 */ addiu $a0, $zero, 0x80 +/* 90BA90 802403C0 02228821 */ addu $s1, $s1, $v0 +/* 90BA94 802403C4 0C00A67F */ jal rand_int +/* 90BA98 802403C8 24040080 */ addiu $a0, $zero, 0x80 +/* 90BA9C 802403CC 02429021 */ addu $s2, $s2, $v0 +/* 90BAA0 802403D0 0C00A67F */ jal rand_int +/* 90BAA4 802403D4 24040080 */ addiu $a0, $zero, 0x80 +/* 90BAA8 802403D8 02028021 */ addu $s0, $s0, $v0 +/* 90BAAC 802403DC 2A220100 */ slti $v0, $s1, 0x100 +/* 90BAB0 802403E0 50400001 */ beql $v0, $zero, .L802403E8 +/* 90BAB4 802403E4 241100FF */ addiu $s1, $zero, 0xff +.L802403E8: +/* 90BAB8 802403E8 2A420100 */ slti $v0, $s2, 0x100 +/* 90BABC 802403EC 50400001 */ beql $v0, $zero, .L802403F4 +/* 90BAC0 802403F0 241200FF */ addiu $s2, $zero, 0xff +.L802403F4: +/* 90BAC4 802403F4 2A020100 */ slti $v0, $s0, 0x100 +/* 90BAC8 802403F8 50400001 */ beql $v0, $zero, .L80240400 +/* 90BACC 802403FC 241000FF */ addiu $s0, $zero, 0xff +.L80240400: +/* 90BAD0 80240400 8E62000C */ lw $v0, 0xc($s3) +/* 90BAD4 80240404 AC560024 */ sw $s6, 0x24($v0) +/* 90BAD8 80240408 8E62000C */ lw $v0, 0xc($s3) +/* 90BADC 8024040C AC550028 */ sw $s5, 0x28($v0) +/* 90BAE0 80240410 8E62000C */ lw $v0, 0xc($s3) +/* 90BAE4 80240414 AC54002C */ sw $s4, 0x2c($v0) +/* 90BAE8 80240418 8E62000C */ lw $v0, 0xc($s3) +/* 90BAEC 8024041C AC510034 */ sw $s1, 0x34($v0) +/* 90BAF0 80240420 8E62000C */ lw $v0, 0xc($s3) +/* 90BAF4 80240424 AC520038 */ sw $s2, 0x38($v0) +/* 90BAF8 80240428 8E63000C */ lw $v1, 0xc($s3) +/* 90BAFC 8024042C AC70003C */ sw $s0, 0x3c($v1) +/* 90BB00 80240430 8FBF002C */ lw $ra, 0x2c($sp) +/* 90BB04 80240434 8FB60028 */ lw $s6, 0x28($sp) +/* 90BB08 80240438 8FB50024 */ lw $s5, 0x24($sp) +/* 90BB0C 8024043C 8FB40020 */ lw $s4, 0x20($sp) +/* 90BB10 80240440 8FB3001C */ lw $s3, 0x1c($sp) +/* 90BB14 80240444 8FB20018 */ lw $s2, 0x18($sp) +/* 90BB18 80240448 8FB10014 */ lw $s1, 0x14($sp) +/* 90BB1C 8024044C 8FB00010 */ lw $s0, 0x10($sp) +/* 90BB20 80240450 24020002 */ addiu $v0, $zero, 2 +/* 90BB24 80240454 03E00008 */ jr $ra +/* 90BB28 80240458 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/func_8024045C_90B6D0.s b/asm/nonmatchings/world/area_kmr/kmr_30/func_8024045C_90B6D0.s new file mode 100644 index 0000000000..6d92920311 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_30/func_8024045C_90B6D0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024045C_90BB2C +/* 90BB2C 8024045C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 90BB30 80240460 AFBF0010 */ sw $ra, 0x10($sp) +/* 90BB34 80240464 8C82000C */ lw $v0, 0xc($a0) +/* 90BB38 80240468 0C0B1EAF */ jal get_variable +/* 90BB3C 8024046C 8C450000 */ lw $a1, ($v0) +/* 90BB40 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* 90BB44 80240474 3C018024 */ lui $at, 0x8024 +/* 90BB48 80240478 AC220C0C */ sw $v0, 0xc0c($at) +/* 90BB4C 8024047C 24020002 */ addiu $v0, $zero, 2 +/* 90BB50 80240480 03E00008 */ jr $ra +/* 90BB54 80240484 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/func_80240488.s b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240488.s new file mode 100644 index 0000000000..0e9b2dd177 --- /dev/null +++ b/asm/nonmatchings/world/area_kmr/kmr_30/func_80240488.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240488 +/* 90BB58 80240488 3C06FC12 */ lui $a2, 0xfc12 +/* 90BB5C 8024048C 34C61624 */ ori $a2, $a2, 0x1624 +/* 90BB60 80240490 3C05FF2F */ lui $a1, 0xff2f +/* 90BB64 80240494 3C04800A */ lui $a0, 0x800a +/* 90BB68 80240498 2484A66C */ addiu $a0, $a0, -0x5994 +/* 90BB6C 8024049C 8C820000 */ lw $v0, ($a0) +/* 90BB70 802404A0 34A5FFFF */ ori $a1, $a1, 0xffff +/* 90BB74 802404A4 0040182D */ daddu $v1, $v0, $zero +/* 90BB78 802404A8 24420008 */ addiu $v0, $v0, 8 +/* 90BB7C 802404AC AC820000 */ sw $v0, ($a0) +/* 90BB80 802404B0 AC660000 */ sw $a2, ($v1) +/* 90BB84 802404B4 AC650004 */ sw $a1, 4($v1) +/* 90BB88 802404B8 24430008 */ addiu $v1, $v0, 8 +/* 90BB8C 802404BC AC830000 */ sw $v1, ($a0) +/* 90BB90 802404C0 3C048024 */ lui $a0, 0x8024 +/* 90BB94 802404C4 90840C0F */ lbu $a0, 0xc0f($a0) +/* 90BB98 802404C8 3C03FA00 */ lui $v1, 0xfa00 +/* 90BB9C 802404CC AC430000 */ sw $v1, ($v0) +/* 90BBA0 802404D0 03E00008 */ jr $ra +/* 90BBA4 802404D4 AC440004 */ sw $a0, 4($v0) +/* 90BBA8 802404D8 00000000 */ nop +/* 90BBAC 802404DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_80240000_A46F60.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240000_A46F60.s new file mode 100644 index 0000000000..f75d6c2d7a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240000_A46F60.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A46F60 +/* A46F60 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A46F64 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* A46F68 80240008 0080802D */ daddu $s0, $a0, $zero +/* A46F6C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A46F70 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A46F74 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* A46F78 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* A46F7C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* A46F80 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* A46F84 80240024 0220902D */ daddu $s2, $s1, $zero +/* A46F88 80240028 10A00004 */ beqz $a1, .L8024003C +/* A46F8C 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* A46F90 80240030 240200FF */ addiu $v0, $zero, 0xff +/* A46F94 80240034 AE020070 */ sw $v0, 0x70($s0) +/* A46F98 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* A46F9C 8024003C 24040001 */ addiu $a0, $zero, 1 +/* A46FA0 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* A46FA4 80240044 3C014100 */ lui $at, 0x4100 +/* A46FA8 80240048 44811000 */ mtc1 $at, $f2 +/* A46FAC 8024004C 00000000 */ nop +/* A46FB0 80240050 46020000 */ add.s $f0, $f0, $f2 +/* A46FB4 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* A46FB8 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* A46FBC 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* A46FC0 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* A46FC4 80240064 4600218D */ trunc.w.s $f6, $f4 +/* A46FC8 80240068 44063000 */ mfc1 $a2, $f6 +/* A46FCC 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* A46FD0 80240070 44073000 */ mfc1 $a3, $f6 +/* A46FD4 80240074 0C04DFB0 */ jal func_80137EC0 +/* A46FD8 80240078 0080282D */ daddu $a1, $a0, $zero +/* A46FDC 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* A46FE0 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* A46FE4 80240084 10400012 */ beqz $v0, .L802400D0 +/* A46FE8 80240088 24020006 */ addiu $v0, $zero, 6 +/* A46FEC 8024008C 82230012 */ lb $v1, 0x12($s1) +/* A46FF0 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* A46FF4 80240094 00000000 */ nop +/* A46FF8 80240098 8E020074 */ lw $v0, 0x74($s0) +/* A46FFC 8024009C 14400004 */ bnez $v0, .L802400B0 +/* A47000 802400A0 24020001 */ addiu $v0, $zero, 1 +/* A47004 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* A47008 802400A8 0C05272D */ jal play_sound +/* A4700C 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* A47010 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* A47014 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* A47018 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* A4701C 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* A47020 802400C0 10400016 */ beqz $v0, .L8024011C +/* A47024 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* A47028 802400C8 08090047 */ j .L8024011C +/* A4702C 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* A47030 802400D0 82430012 */ lb $v1, 0x12($s2) +/* A47034 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* A47038 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* A4703C 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* A47040 802400E0 10400007 */ beqz $v0, .L80240100 +/* A47044 802400E4 00000000 */ nop +/* A47048 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* A4704C 802400EC 284200FF */ slti $v0, $v0, 0xff +/* A47050 802400F0 10400003 */ beqz $v0, .L80240100 +/* A47054 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* A47058 802400F8 0C05272D */ jal play_sound +/* A4705C 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* A47060 80240100 8E020070 */ lw $v0, 0x70($s0) +/* A47064 80240104 24420008 */ addiu $v0, $v0, 8 +/* A47068 80240108 AE020070 */ sw $v0, 0x70($s0) +/* A4706C 8024010C 284200FF */ slti $v0, $v0, 0xff +/* A47070 80240110 14400002 */ bnez $v0, .L8024011C +/* A47074 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* A47078 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* A4707C 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* A47080 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* A47084 80240124 44053000 */ mfc1 $a1, $f6 +/* A47088 80240128 0C04E035 */ jal func_801380D4 +/* A4708C 8024012C 24040001 */ addiu $a0, $zero, 1 +/* A47090 80240130 3C05437F */ lui $a1, 0x437f +/* A47094 80240134 0C04DF69 */ jal func_80137DA4 +/* A47098 80240138 2404000B */ addiu $a0, $zero, 0xb +/* A4709C 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* A470A0 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* A470A4 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* A470A8 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* A470AC 8024014C 0000102D */ daddu $v0, $zero, $zero +/* A470B0 80240150 03E00008 */ jr $ra +/* A470B4 80240154 27BD0028 */ addiu $sp, $sp, 0x28 +/* A470B8 80240158 00000000 */ nop +/* A470BC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_80240160_A46F60.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240160_A46F60.s new file mode 100644 index 0000000000..eb0e32be75 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240160_A46F60.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_A470C0 +/* A470C0 80240160 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A470C4 80240164 AFB20018 */ sw $s2, 0x18($sp) +/* A470C8 80240168 0080902D */ daddu $s2, $a0, $zero +/* A470CC 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* A470D0 80240170 AFB10014 */ sw $s1, 0x14($sp) +/* A470D4 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* A470D8 80240178 8E510148 */ lw $s1, 0x148($s2) +/* A470DC 8024017C 0C00EABB */ jal get_npc_unsafe +/* A470E0 80240180 86240008 */ lh $a0, 8($s1) +/* A470E4 80240184 0040802D */ daddu $s0, $v0, $zero +/* A470E8 80240188 8E2300CC */ lw $v1, 0xcc($s1) +/* A470EC 8024018C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A470F0 80240190 8C630020 */ lw $v1, 0x20($v1) +/* A470F4 80240194 AE030028 */ sw $v1, 0x28($s0) +/* A470F8 80240198 96220076 */ lhu $v0, 0x76($s1) +/* A470FC 8024019C A602008E */ sh $v0, 0x8e($s0) +/* A47100 802401A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A47104 802401A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A47108 802401A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A4710C 802401AC 8C460028 */ lw $a2, 0x28($v0) +/* A47110 802401B0 0C00A720 */ jal atan2 +/* A47114 802401B4 8C470030 */ lw $a3, 0x30($v0) +/* A47118 802401B8 2402000D */ addiu $v0, $zero, 0xd +/* A4711C 802401BC E600000C */ swc1 $f0, 0xc($s0) +/* A47120 802401C0 AE420070 */ sw $v0, 0x70($s2) +/* A47124 802401C4 8FBF001C */ lw $ra, 0x1c($sp) +/* A47128 802401C8 8FB20018 */ lw $s2, 0x18($sp) +/* A4712C 802401CC 8FB10014 */ lw $s1, 0x14($sp) +/* A47130 802401D0 8FB00010 */ lw $s0, 0x10($sp) +/* A47134 802401D4 03E00008 */ jr $ra +/* A47138 802401D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_802401DC.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_802401DC.s new file mode 100644 index 0000000000..f66b29b2ac --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_802401DC.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401DC +/* A4713C 802401DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A47140 802401E0 AFB3001C */ sw $s3, 0x1c($sp) +/* A47144 802401E4 0080982D */ daddu $s3, $a0, $zero +/* A47148 802401E8 AFBF0020 */ sw $ra, 0x20($sp) +/* A4714C 802401EC AFB20018 */ sw $s2, 0x18($sp) +/* A47150 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* A47154 802401F4 AFB00010 */ sw $s0, 0x10($sp) +/* A47158 802401F8 8E710148 */ lw $s1, 0x148($s3) +/* A4715C 802401FC 86240008 */ lh $a0, 8($s1) +/* A47160 80240200 0C00EABB */ jal get_npc_unsafe +/* A47164 80240204 00A0902D */ daddu $s2, $a1, $zero +/* A47168 80240208 0040802D */ daddu $s0, $v0, $zero +/* A4716C 8024020C 8602008E */ lh $v0, 0x8e($s0) +/* A47170 80240210 9603008E */ lhu $v1, 0x8e($s0) +/* A47174 80240214 18400005 */ blez $v0, .L8024022C +/* A47178 80240218 2462FFFF */ addiu $v0, $v1, -1 +/* A4717C 8024021C A602008E */ sh $v0, 0x8e($s0) +/* A47180 80240220 00021400 */ sll $v0, $v0, 0x10 +/* A47184 80240224 1C400033 */ bgtz $v0, .L802402F4 +/* A47188 80240228 00000000 */ nop +.L8024022C: +/* A4718C 8024022C 8602008C */ lh $v0, 0x8c($s0) +/* A47190 80240230 14400030 */ bnez $v0, .L802402F4 +/* A47194 80240234 00000000 */ nop +/* A47198 80240238 8E2200CC */ lw $v0, 0xcc($s1) +/* A4719C 8024023C 8C420024 */ lw $v0, 0x24($v0) +/* A471A0 80240240 AE020028 */ sw $v0, 0x28($s0) +/* A471A4 80240244 C6400018 */ lwc1 $f0, 0x18($s2) +/* A471A8 80240248 E6000018 */ swc1 $f0, 0x18($s0) +/* A471AC 8024024C 8E230088 */ lw $v1, 0x88($s1) +/* A471B0 80240250 24020005 */ addiu $v0, $zero, 5 +/* A471B4 80240254 10620005 */ beq $v1, $v0, .L8024026C +/* A471B8 80240258 00000000 */ nop +/* A471BC 8024025C 10600003 */ beqz $v1, .L8024026C +/* A471C0 80240260 24020001 */ addiu $v0, $zero, 1 +/* A471C4 80240264 14620006 */ bne $v1, $v0, .L80240280 +/* A471C8 80240268 00000000 */ nop +.L8024026C: +/* A471CC 8024026C 8E220084 */ lw $v0, 0x84($s1) +/* A471D0 80240270 00021FC2 */ srl $v1, $v0, 0x1f +/* A471D4 80240274 00431021 */ addu $v0, $v0, $v1 +/* A471D8 80240278 00021043 */ sra $v0, $v0, 1 +/* A471DC 8024027C A60200A8 */ sh $v0, 0xa8($s0) +.L80240280: +/* A471E0 80240280 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A471E4 80240284 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A471E8 80240288 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A471EC 8024028C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A471F0 80240290 8C460028 */ lw $a2, 0x28($v0) +/* A471F4 80240294 0C00A7B5 */ jal dist2D +/* A471F8 80240298 8C470030 */ lw $a3, 0x30($v0) +/* A471FC 8024029C C6020018 */ lwc1 $f2, 0x18($s0) +/* A47200 802402A0 46020003 */ div.s $f0, $f0, $f2 +/* A47204 802402A4 3C018024 */ lui $at, 0x8024 +/* A47208 802402A8 D4221600 */ ldc1 $f2, 0x1600($at) +/* A4720C 802402AC 46000021 */ cvt.d.s $f0, $f0 +/* A47210 802402B0 46220000 */ add.d $f0, $f0, $f2 +/* A47214 802402B4 4620010D */ trunc.w.d $f4, $f0 +/* A47218 802402B8 44022000 */ mfc1 $v0, $f4 +/* A4721C 802402BC 00000000 */ nop +/* A47220 802402C0 A602008E */ sh $v0, 0x8e($s0) +/* A47224 802402C4 00021400 */ sll $v0, $v0, 0x10 +/* A47228 802402C8 8E230078 */ lw $v1, 0x78($s1) +/* A4722C 802402CC 00021403 */ sra $v0, $v0, 0x10 +/* A47230 802402D0 0043102A */ slt $v0, $v0, $v1 +/* A47234 802402D4 10400003 */ beqz $v0, .L802402E4 +/* A47238 802402D8 00000000 */ nop +/* A4723C 802402DC 9622007A */ lhu $v0, 0x7a($s1) +/* A47240 802402E0 A602008E */ sh $v0, 0x8e($s0) +.L802402E4: +/* A47244 802402E4 8602008E */ lh $v0, 0x8e($s0) +/* A47248 802402E8 AE22007C */ sw $v0, 0x7c($s1) +/* A4724C 802402EC 2402000E */ addiu $v0, $zero, 0xe +/* A47250 802402F0 AE620070 */ sw $v0, 0x70($s3) +.L802402F4: +/* A47254 802402F4 8FBF0020 */ lw $ra, 0x20($sp) +/* A47258 802402F8 8FB3001C */ lw $s3, 0x1c($sp) +/* A4725C 802402FC 8FB20018 */ lw $s2, 0x18($sp) +/* A47260 80240300 8FB10014 */ lw $s1, 0x14($sp) +/* A47264 80240304 8FB00010 */ lw $s0, 0x10($sp) +/* A47268 80240308 03E00008 */ jr $ra +/* A4726C 8024030C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_80240310_A46F60.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240310_A46F60.s new file mode 100644 index 0000000000..794f55038a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240310_A46F60.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A47270 +/* A47270 80240310 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A47274 80240314 AFB3003C */ sw $s3, 0x3c($sp) +/* A47278 80240318 0080982D */ daddu $s3, $a0, $zero +/* A4727C 8024031C AFBF0040 */ sw $ra, 0x40($sp) +/* A47280 80240320 AFB20038 */ sw $s2, 0x38($sp) +/* A47284 80240324 AFB10034 */ sw $s1, 0x34($sp) +/* A47288 80240328 AFB00030 */ sw $s0, 0x30($sp) +/* A4728C 8024032C 8E710148 */ lw $s1, 0x148($s3) +/* A47290 80240330 0C00EABB */ jal get_npc_unsafe +/* A47294 80240334 86240008 */ lh $a0, 8($s1) +/* A47298 80240338 0040802D */ daddu $s0, $v0, $zero +/* A4729C 8024033C 8E22007C */ lw $v0, 0x7c($s1) +/* A472A0 80240340 8603008E */ lh $v1, 0x8e($s0) +/* A472A4 80240344 2442FFFF */ addiu $v0, $v0, -1 +/* A472A8 80240348 14620012 */ bne $v1, $v0, .L80240394 +/* A472AC 8024034C 00000000 */ nop +/* A472B0 80240350 C6000038 */ lwc1 $f0, 0x38($s0) +/* A472B4 80240354 4600020D */ trunc.w.s $f8, $f0 +/* A472B8 80240358 44024000 */ mfc1 $v0, $f8 +/* A472BC 8024035C 00000000 */ nop +/* A472C0 80240360 A6220010 */ sh $v0, 0x10($s1) +/* A472C4 80240364 C600003C */ lwc1 $f0, 0x3c($s0) +/* A472C8 80240368 4600020D */ trunc.w.s $f8, $f0 +/* A472CC 8024036C 44024000 */ mfc1 $v0, $f8 +/* A472D0 80240370 00000000 */ nop +/* A472D4 80240374 A6220012 */ sh $v0, 0x12($s1) +/* A472D8 80240378 C6000040 */ lwc1 $f0, 0x40($s0) +/* A472DC 8024037C 24020001 */ addiu $v0, $zero, 1 +/* A472E0 80240380 A2220007 */ sb $v0, 7($s1) +/* A472E4 80240384 4600020D */ trunc.w.s $f8, $f0 +/* A472E8 80240388 44024000 */ mfc1 $v0, $f8 +/* A472EC 8024038C 00000000 */ nop +/* A472F0 80240390 A6220014 */ sh $v0, 0x14($s1) +.L80240394: +/* A472F4 80240394 C6000038 */ lwc1 $f0, 0x38($s0) +/* A472F8 80240398 C602003C */ lwc1 $f2, 0x3c($s0) +/* A472FC 8024039C C6040040 */ lwc1 $f4, 0x40($s0) +/* A47300 802403A0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A47304 802403A4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A47308 802403A8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A4730C 802403AC E7A40028 */ swc1 $f4, 0x28($sp) +/* A47310 802403B0 E7A60010 */ swc1 $f6, 0x10($sp) +/* A47314 802403B4 C600000C */ lwc1 $f0, 0xc($s0) +/* A47318 802403B8 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4731C 802403BC 860200A8 */ lh $v0, 0xa8($s0) +/* A47320 802403C0 27A50020 */ addiu $a1, $sp, 0x20 +/* A47324 802403C4 44820000 */ mtc1 $v0, $f0 +/* A47328 802403C8 00000000 */ nop +/* A4732C 802403CC 46800020 */ cvt.s.w $f0, $f0 +/* A47330 802403D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* A47334 802403D4 860200A6 */ lh $v0, 0xa6($s0) +/* A47338 802403D8 27A60024 */ addiu $a2, $sp, 0x24 +/* A4733C 802403DC 44820000 */ mtc1 $v0, $f0 +/* A47340 802403E0 00000000 */ nop +/* A47344 802403E4 46800020 */ cvt.s.w $f0, $f0 +/* A47348 802403E8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A4734C 802403EC 8E040080 */ lw $a0, 0x80($s0) +/* A47350 802403F0 0C037711 */ jal func_800DDC44 +/* A47354 802403F4 27A70028 */ addiu $a3, $sp, 0x28 +/* A47358 802403F8 0040902D */ daddu $s2, $v0, $zero +/* A4735C 802403FC 16400005 */ bnez $s2, .L80240414 +/* A47360 80240400 00000000 */ nop +/* A47364 80240404 8E050018 */ lw $a1, 0x18($s0) +/* A47368 80240408 8E06000C */ lw $a2, 0xc($s0) +/* A4736C 8024040C 0C00EA95 */ jal npc_move_heading +/* A47370 80240410 0200202D */ daddu $a0, $s0, $zero +.L80240414: +/* A47374 80240414 8602008E */ lh $v0, 0x8e($s0) +/* A47378 80240418 9603008E */ lhu $v1, 0x8e($s0) +/* A4737C 8024041C 18400007 */ blez $v0, .L8024043C +/* A47380 80240420 2462FFFF */ addiu $v0, $v1, -1 +/* A47384 80240424 A602008E */ sh $v0, 0x8e($s0) +/* A47388 80240428 00021400 */ sll $v0, $v0, 0x10 +/* A4738C 8024042C 18400003 */ blez $v0, .L8024043C +/* A47390 80240430 00000000 */ nop +/* A47394 80240434 12400008 */ beqz $s2, .L80240458 +/* A47398 80240438 00000000 */ nop +.L8024043C: +/* A4739C 8024043C 8E2200CC */ lw $v0, 0xcc($s1) +/* A473A0 80240440 A2200007 */ sb $zero, 7($s1) +/* A473A4 80240444 8C420028 */ lw $v0, 0x28($v0) +/* A473A8 80240448 A600008E */ sh $zero, 0x8e($s0) +/* A473AC 8024044C AE020028 */ sw $v0, 0x28($s0) +/* A473B0 80240450 2402000F */ addiu $v0, $zero, 0xf +/* A473B4 80240454 AE620070 */ sw $v0, 0x70($s3) +.L80240458: +/* A473B8 80240458 8FBF0040 */ lw $ra, 0x40($sp) +/* A473BC 8024045C 8FB3003C */ lw $s3, 0x3c($sp) +/* A473C0 80240460 8FB20038 */ lw $s2, 0x38($sp) +/* A473C4 80240464 8FB10034 */ lw $s1, 0x34($sp) +/* A473C8 80240468 8FB00030 */ lw $s0, 0x30($sp) +/* A473CC 8024046C 03E00008 */ jr $ra +/* A473D0 80240470 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_80240474_A46F60.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240474_A46F60.s new file mode 100644 index 0000000000..2e1d8b8d4b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240474_A46F60.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240474_A473D4 +/* A473D4 80240474 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A473D8 80240478 AFB10014 */ sw $s1, 0x14($sp) +/* A473DC 8024047C 0080882D */ daddu $s1, $a0, $zero +/* A473E0 80240480 AFBF0018 */ sw $ra, 0x18($sp) +/* A473E4 80240484 AFB00010 */ sw $s0, 0x10($sp) +/* A473E8 80240488 8E300148 */ lw $s0, 0x148($s1) +/* A473EC 8024048C 0C00EABB */ jal get_npc_unsafe +/* A473F0 80240490 86040008 */ lh $a0, 8($s0) +/* A473F4 80240494 0040202D */ daddu $a0, $v0, $zero +/* A473F8 80240498 9482008E */ lhu $v0, 0x8e($a0) +/* A473FC 8024049C 24030003 */ addiu $v1, $zero, 3 +/* A47400 802404A0 24420001 */ addiu $v0, $v0, 1 +/* A47404 802404A4 A482008E */ sh $v0, 0x8e($a0) +/* A47408 802404A8 00021400 */ sll $v0, $v0, 0x10 +/* A4740C 802404AC 00021403 */ sra $v0, $v0, 0x10 +/* A47410 802404B0 14430003 */ bne $v0, $v1, .L802404C0 +/* A47414 802404B4 00000000 */ nop +/* A47418 802404B8 96020086 */ lhu $v0, 0x86($s0) +/* A4741C 802404BC A48200A8 */ sh $v0, 0xa8($a0) +.L802404C0: +/* A47420 802404C0 8482008E */ lh $v0, 0x8e($a0) +/* A47424 802404C4 8E030080 */ lw $v1, 0x80($s0) +/* A47428 802404C8 0043102A */ slt $v0, $v0, $v1 +/* A4742C 802404CC 14400004 */ bnez $v0, .L802404E0 +/* A47430 802404D0 00000000 */ nop +/* A47434 802404D4 96020086 */ lhu $v0, 0x86($s0) +/* A47438 802404D8 A48200A8 */ sh $v0, 0xa8($a0) +/* A4743C 802404DC AE200070 */ sw $zero, 0x70($s1) +.L802404E0: +/* A47440 802404E0 8FBF0018 */ lw $ra, 0x18($sp) +/* A47444 802404E4 8FB10014 */ lw $s1, 0x14($sp) +/* A47448 802404E8 8FB00010 */ lw $s0, 0x10($sp) +/* A4744C 802404EC 03E00008 */ jr $ra +/* A47450 802404F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_802404F4.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_802404F4.s new file mode 100644 index 0000000000..76a3cb2872 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_802404F4.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F4 +/* A47454 802404F4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A47458 802404F8 AFB3005C */ sw $s3, 0x5c($sp) +/* A4745C 802404FC 0080982D */ daddu $s3, $a0, $zero +/* A47460 80240500 AFBF0068 */ sw $ra, 0x68($sp) +/* A47464 80240504 AFB50064 */ sw $s5, 0x64($sp) +/* A47468 80240508 AFB40060 */ sw $s4, 0x60($sp) +/* A4746C 8024050C AFB20058 */ sw $s2, 0x58($sp) +/* A47470 80240510 AFB10054 */ sw $s1, 0x54($sp) +/* A47474 80240514 AFB00050 */ sw $s0, 0x50($sp) +/* A47478 80240518 8E710148 */ lw $s1, 0x148($s3) +/* A4747C 8024051C 86240008 */ lh $a0, 8($s1) +/* A47480 80240520 0C00EABB */ jal get_npc_unsafe +/* A47484 80240524 00A0802D */ daddu $s0, $a1, $zero +/* A47488 80240528 8E63000C */ lw $v1, 0xc($s3) +/* A4748C 8024052C 0260202D */ daddu $a0, $s3, $zero +/* A47490 80240530 8C650000 */ lw $a1, ($v1) +/* A47494 80240534 0C0B1EAF */ jal get_variable +/* A47498 80240538 0040902D */ daddu $s2, $v0, $zero +/* A4749C 8024053C AFA00028 */ sw $zero, 0x28($sp) +/* A474A0 80240540 8E2300D0 */ lw $v1, 0xd0($s1) +/* A474A4 80240544 8C630030 */ lw $v1, 0x30($v1) +/* A474A8 80240548 AFA3002C */ sw $v1, 0x2c($sp) +/* A474AC 8024054C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A474B0 80240550 8C63001C */ lw $v1, 0x1c($v1) +/* A474B4 80240554 AFA30030 */ sw $v1, 0x30($sp) +/* A474B8 80240558 8E2300D0 */ lw $v1, 0xd0($s1) +/* A474BC 8024055C 8C630024 */ lw $v1, 0x24($v1) +/* A474C0 80240560 AFA30034 */ sw $v1, 0x34($sp) +/* A474C4 80240564 8E2300D0 */ lw $v1, 0xd0($s1) +/* A474C8 80240568 8C630028 */ lw $v1, 0x28($v1) +/* A474CC 8024056C 27B50028 */ addiu $s5, $sp, 0x28 +/* A474D0 80240570 AFA30038 */ sw $v1, 0x38($sp) +/* A474D4 80240574 8E2300D0 */ lw $v1, 0xd0($s1) +/* A474D8 80240578 3C0142C8 */ lui $at, 0x42c8 +/* A474DC 8024057C 44810000 */ mtc1 $at, $f0 +/* A474E0 80240580 8C63002C */ lw $v1, 0x2c($v1) +/* A474E4 80240584 0040A02D */ daddu $s4, $v0, $zero +/* A474E8 80240588 E7A00040 */ swc1 $f0, 0x40($sp) +/* A474EC 8024058C A7A00044 */ sh $zero, 0x44($sp) +/* A474F0 80240590 12000009 */ beqz $s0, .L802405B8 +/* A474F4 80240594 AFA3003C */ sw $v1, 0x3c($sp) +/* A474F8 80240598 864300A8 */ lh $v1, 0xa8($s2) +/* A474FC 8024059C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A47500 802405A0 AE20008C */ sw $zero, 0x8c($s1) +/* A47504 802405A4 A22000B5 */ sb $zero, 0xb5($s1) +/* A47508 802405A8 34420008 */ ori $v0, $v0, 8 +/* A4750C 802405AC AE230084 */ sw $v1, 0x84($s1) +/* A47510 802405B0 08090172 */ j .L802405C8 +/* A47514 802405B4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802405B8: +/* A47518 802405B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* A4751C 802405BC 30420004 */ andi $v0, $v0, 4 +/* A47520 802405C0 10400047 */ beqz $v0, .L802406E0 +/* A47524 802405C4 00000000 */ nop +.L802405C8: +/* A47528 802405C8 AE600070 */ sw $zero, 0x70($s3) +/* A4752C 802405CC A640008E */ sh $zero, 0x8e($s2) +/* A47530 802405D0 8E2300CC */ lw $v1, 0xcc($s1) +/* A47534 802405D4 2404F7FF */ addiu $a0, $zero, -0x801 +/* A47538 802405D8 A2200007 */ sb $zero, 7($s1) +/* A4753C 802405DC 8E420000 */ lw $v0, ($s2) +/* A47540 802405E0 8C630000 */ lw $v1, ($v1) +/* A47544 802405E4 00441024 */ and $v0, $v0, $a0 +/* A47548 802405E8 AE420000 */ sw $v0, ($s2) +/* A4754C 802405EC AE430028 */ sw $v1, 0x28($s2) +/* A47550 802405F0 96220086 */ lhu $v0, 0x86($s1) +/* A47554 802405F4 A64200A8 */ sh $v0, 0xa8($s2) +/* A47558 802405F8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A4755C 802405FC AE200090 */ sw $zero, 0x90($s1) +/* A47560 80240600 8C420034 */ lw $v0, 0x34($v0) +/* A47564 80240604 14400006 */ bnez $v0, .L80240620 +/* A47568 80240608 2403FDFF */ addiu $v1, $zero, -0x201 +/* A4756C 8024060C 8E420000 */ lw $v0, ($s2) +/* A47570 80240610 2403FFF7 */ addiu $v1, $zero, -9 +/* A47574 80240614 34420200 */ ori $v0, $v0, 0x200 +/* A47578 80240618 0809018B */ j .L8024062C +/* A4757C 8024061C 00431024 */ and $v0, $v0, $v1 +.L80240620: +/* A47580 80240620 8E420000 */ lw $v0, ($s2) +/* A47584 80240624 00431024 */ and $v0, $v0, $v1 +/* A47588 80240628 34420008 */ ori $v0, $v0, 8 +.L8024062C: +/* A4758C 8024062C AE420000 */ sw $v0, ($s2) +/* A47590 80240630 8E2200B0 */ lw $v0, 0xb0($s1) +/* A47594 80240634 30420004 */ andi $v0, $v0, 4 +/* A47598 80240638 1040001E */ beqz $v0, .L802406B4 +/* A4759C 8024063C 24040002 */ addiu $a0, $zero, 2 +/* A475A0 80240640 0240282D */ daddu $a1, $s2, $zero +/* A475A4 80240644 0000302D */ daddu $a2, $zero, $zero +/* A475A8 80240648 24020063 */ addiu $v0, $zero, 0x63 +/* A475AC 8024064C AE620070 */ sw $v0, 0x70($s3) +/* A475B0 80240650 AE600074 */ sw $zero, 0x74($s3) +/* A475B4 80240654 864300A8 */ lh $v1, 0xa8($s2) +/* A475B8 80240658 3C013F80 */ lui $at, 0x3f80 +/* A475BC 8024065C 44810000 */ mtc1 $at, $f0 +/* A475C0 80240660 3C014000 */ lui $at, 0x4000 +/* A475C4 80240664 44811000 */ mtc1 $at, $f2 +/* A475C8 80240668 3C01C1A0 */ lui $at, 0xc1a0 +/* A475CC 8024066C 44812000 */ mtc1 $at, $f4 +/* A475D0 80240670 24020028 */ addiu $v0, $zero, 0x28 +/* A475D4 80240674 AFA2001C */ sw $v0, 0x1c($sp) +/* A475D8 80240678 44833000 */ mtc1 $v1, $f6 +/* A475DC 8024067C 00000000 */ nop +/* A475E0 80240680 468031A0 */ cvt.s.w $f6, $f6 +/* A475E4 80240684 44073000 */ mfc1 $a3, $f6 +/* A475E8 80240688 27A20048 */ addiu $v0, $sp, 0x48 +/* A475EC 8024068C AFA20020 */ sw $v0, 0x20($sp) +/* A475F0 80240690 E7A00010 */ swc1 $f0, 0x10($sp) +/* A475F4 80240694 E7A20014 */ swc1 $f2, 0x14($sp) +/* A475F8 80240698 0C01BFA4 */ jal fx_emote +/* A475FC 8024069C E7A40018 */ swc1 $f4, 0x18($sp) +/* A47600 802406A0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A47604 802406A4 2403FFFB */ addiu $v1, $zero, -5 +/* A47608 802406A8 00431024 */ and $v0, $v0, $v1 +/* A4760C 802406AC 080901B8 */ j .L802406E0 +/* A47610 802406B0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802406B4: +/* A47614 802406B4 8E220000 */ lw $v0, ($s1) +/* A47618 802406B8 3C034000 */ lui $v1, 0x4000 +/* A4761C 802406BC 00431024 */ and $v0, $v0, $v1 +/* A47620 802406C0 10400007 */ beqz $v0, .L802406E0 +/* A47624 802406C4 3C03BFFF */ lui $v1, 0xbfff +/* A47628 802406C8 2402000C */ addiu $v0, $zero, 0xc +/* A4762C 802406CC AE620070 */ sw $v0, 0x70($s3) +/* A47630 802406D0 8E220000 */ lw $v0, ($s1) +/* A47634 802406D4 3463FFFF */ ori $v1, $v1, 0xffff +/* A47638 802406D8 00431024 */ and $v0, $v0, $v1 +/* A4763C 802406DC AE220000 */ sw $v0, ($s1) +.L802406E0: +/* A47640 802406E0 8E220090 */ lw $v0, 0x90($s1) +/* A47644 802406E4 1840000C */ blez $v0, .L80240718 +/* A47648 802406E8 2442FFFF */ addiu $v0, $v0, -1 +/* A4764C 802406EC 14400087 */ bnez $v0, .L8024090C +/* A47650 802406F0 AE220090 */ sw $v0, 0x90($s1) +/* A47654 802406F4 3C03FFAA */ lui $v1, 0xffaa +/* A47658 802406F8 8E420028 */ lw $v0, 0x28($s2) +/* A4765C 802406FC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A47660 80240700 00431021 */ addu $v0, $v0, $v1 +/* A47664 80240704 2C420002 */ sltiu $v0, $v0, 2 +/* A47668 80240708 10400003 */ beqz $v0, .L80240718 +/* A4766C 8024070C 3C020055 */ lui $v0, 0x55 +/* A47670 80240710 3442000C */ ori $v0, $v0, 0xc +/* A47674 80240714 AE420028 */ sw $v0, 0x28($s2) +.L80240718: +/* A47678 80240718 8E630070 */ lw $v1, 0x70($s3) +/* A4767C 8024071C 2402000C */ addiu $v0, $zero, 0xc +/* A47680 80240720 10620048 */ beq $v1, $v0, .L80240844 +/* A47684 80240724 2862000D */ slti $v0, $v1, 0xd +/* A47688 80240728 1040000F */ beqz $v0, .L80240768 +/* A4768C 8024072C 24100001 */ addiu $s0, $zero, 1 +/* A47690 80240730 1070001E */ beq $v1, $s0, .L802407AC +/* A47694 80240734 28620002 */ slti $v0, $v1, 2 +/* A47698 80240738 10400005 */ beqz $v0, .L80240750 +/* A4769C 8024073C 24020002 */ addiu $v0, $zero, 2 +/* A476A0 80240740 10600015 */ beqz $v1, .L80240798 +/* A476A4 80240744 0260202D */ daddu $a0, $s3, $zero +/* A476A8 80240748 08090228 */ j .L802408A0 +/* A476AC 8024074C 00000000 */ nop +.L80240750: +/* A476B0 80240750 1062001C */ beq $v1, $v0, .L802407C4 +/* A476B4 80240754 24020003 */ addiu $v0, $zero, 3 +/* A476B8 80240758 10620035 */ beq $v1, $v0, .L80240830 +/* A476BC 8024075C 0260202D */ daddu $a0, $s3, $zero +/* A476C0 80240760 08090228 */ j .L802408A0 +/* A476C4 80240764 00000000 */ nop +.L80240768: +/* A476C8 80240768 2402000E */ addiu $v0, $zero, 0xe +/* A476CC 8024076C 1062003F */ beq $v1, $v0, .L8024086C +/* A476D0 80240770 0062102A */ slt $v0, $v1, $v0 +/* A476D4 80240774 14400038 */ bnez $v0, .L80240858 +/* A476D8 80240778 0260202D */ daddu $a0, $s3, $zero +/* A476DC 8024077C 2402000F */ addiu $v0, $zero, 0xf +/* A476E0 80240780 10620040 */ beq $v1, $v0, .L80240884 +/* A476E4 80240784 24020063 */ addiu $v0, $zero, 0x63 +/* A476E8 80240788 10620043 */ beq $v1, $v0, .L80240898 +/* A476EC 8024078C 00000000 */ nop +/* A476F0 80240790 08090228 */ j .L802408A0 +/* A476F4 80240794 00000000 */ nop +.L80240798: +/* A476F8 80240798 0280282D */ daddu $a1, $s4, $zero +/* A476FC 8024079C 0C012568 */ jal func_800495A0 +/* A47700 802407A0 02A0302D */ daddu $a2, $s5, $zero +/* A47704 802407A4 96220086 */ lhu $v0, 0x86($s1) +/* A47708 802407A8 A64200A8 */ sh $v0, 0xa8($s2) +.L802407AC: +/* A4770C 802407AC 0260202D */ daddu $a0, $s3, $zero +/* A47710 802407B0 0280282D */ daddu $a1, $s4, $zero +/* A47714 802407B4 0C0125AE */ jal func_800496B8 +/* A47718 802407B8 02A0302D */ daddu $a2, $s5, $zero +/* A4771C 802407BC 08090228 */ j .L802408A0 +/* A47720 802407C0 00000000 */ nop +.L802407C4: +/* A47724 802407C4 0260202D */ daddu $a0, $s3, $zero +/* A47728 802407C8 0280282D */ daddu $a1, $s4, $zero +/* A4772C 802407CC 0C0126D1 */ jal func_80049B44 +/* A47730 802407D0 02A0302D */ daddu $a2, $s5, $zero +/* A47734 802407D4 8E230088 */ lw $v1, 0x88($s1) +/* A47738 802407D8 24020006 */ addiu $v0, $zero, 6 +/* A4773C 802407DC 14620014 */ bne $v1, $v0, .L80240830 +/* A47740 802407E0 0260202D */ daddu $a0, $s3, $zero +/* A47744 802407E4 0C00A67F */ jal rand_int +/* A47748 802407E8 24040064 */ addiu $a0, $zero, 0x64 +/* A4774C 802407EC 28420021 */ slti $v0, $v0, 0x21 +/* A47750 802407F0 5040000F */ beql $v0, $zero, .L80240830 +/* A47754 802407F4 0260202D */ daddu $a0, $s3, $zero +/* A47758 802407F8 8E22008C */ lw $v0, 0x8c($s1) +/* A4775C 802407FC 10400005 */ beqz $v0, .L80240814 +/* A47760 80240800 3C020055 */ lui $v0, 0x55 +/* A47764 80240804 3442002F */ ori $v0, $v0, 0x2f +/* A47768 80240808 AE20008C */ sw $zero, 0x8c($s1) +/* A4776C 8024080C 08090208 */ j .L80240820 +/* A47770 80240810 A22000B5 */ sb $zero, 0xb5($s1) +.L80240814: +/* A47774 80240814 3442002E */ ori $v0, $v0, 0x2e +/* A47778 80240818 AE30008C */ sw $s0, 0x8c($s1) +/* A4777C 8024081C A23000B5 */ sb $s0, 0xb5($s1) +.L80240820: +/* A47780 80240820 AE420028 */ sw $v0, 0x28($s2) +/* A47784 80240824 24020007 */ addiu $v0, $zero, 7 +/* A47788 80240828 08090243 */ j .L8024090C +/* A4778C 8024082C AE220090 */ sw $v0, 0x90($s1) +.L80240830: +/* A47790 80240830 0280282D */ daddu $a1, $s4, $zero +/* A47794 80240834 0C012701 */ jal func_80049C04 +/* A47798 80240838 02A0302D */ daddu $a2, $s5, $zero +/* A4779C 8024083C 08090228 */ j .L802408A0 +/* A477A0 80240840 00000000 */ nop +.L80240844: +/* A477A4 80240844 0260202D */ daddu $a0, $s3, $zero +/* A477A8 80240848 0280282D */ daddu $a1, $s4, $zero +/* A477AC 8024084C 0C090058 */ jal func_80240160 +/* A477B0 80240850 02A0302D */ daddu $a2, $s5, $zero +/* A477B4 80240854 0260202D */ daddu $a0, $s3, $zero +.L80240858: +/* A477B8 80240858 0280282D */ daddu $a1, $s4, $zero +/* A477BC 8024085C 0C090077 */ jal func_802401DC +/* A477C0 80240860 02A0302D */ daddu $a2, $s5, $zero +/* A477C4 80240864 08090228 */ j .L802408A0 +/* A477C8 80240868 00000000 */ nop +.L8024086C: +/* A477CC 8024086C 0260202D */ daddu $a0, $s3, $zero +/* A477D0 80240870 0280282D */ daddu $a1, $s4, $zero +/* A477D4 80240874 0C0900C4 */ jal func_80240310 +/* A477D8 80240878 02A0302D */ daddu $a2, $s5, $zero +/* A477DC 8024087C 08090228 */ j .L802408A0 +/* A477E0 80240880 00000000 */ nop +.L80240884: +/* A477E4 80240884 0280282D */ daddu $a1, $s4, $zero +/* A477E8 80240888 0C09011D */ jal func_80240474 +/* A477EC 8024088C 02A0302D */ daddu $a2, $s5, $zero +/* A477F0 80240890 08090228 */ j .L802408A0 +/* A477F4 80240894 00000000 */ nop +.L80240898: +/* A477F8 80240898 0C0129CF */ jal func_8004A73C +/* A477FC 8024089C 0260202D */ daddu $a0, $s3, $zero +.L802408A0: +/* A47800 802408A0 8E230088 */ lw $v1, 0x88($s1) +/* A47804 802408A4 24020006 */ addiu $v0, $zero, 6 +/* A47808 802408A8 14620019 */ bne $v1, $v0, .L80240910 +/* A4780C 802408AC 0000102D */ daddu $v0, $zero, $zero +/* A47810 802408B0 8E22008C */ lw $v0, 0x8c($s1) +/* A47814 802408B4 10400003 */ beqz $v0, .L802408C4 +/* A47818 802408B8 24020001 */ addiu $v0, $zero, 1 +/* A4781C 802408BC 08090232 */ j .L802408C8 +/* A47820 802408C0 A22200B5 */ sb $v0, 0xb5($s1) +.L802408C4: +/* A47824 802408C4 A22000B5 */ sb $zero, 0xb5($s1) +.L802408C8: +/* A47828 802408C8 8E22008C */ lw $v0, 0x8c($s1) +/* A4782C 802408CC 1040000F */ beqz $v0, .L8024090C +/* A47830 802408D0 3C03FFAA */ lui $v1, 0xffaa +/* A47834 802408D4 8E420028 */ lw $v0, 0x28($s2) +/* A47838 802408D8 3463FFFC */ ori $v1, $v1, 0xfffc +/* A4783C 802408DC 00431821 */ addu $v1, $v0, $v1 +/* A47840 802408E0 2C620015 */ sltiu $v0, $v1, 0x15 +/* A47844 802408E4 10400009 */ beqz $v0, .L8024090C +/* A47848 802408E8 00031080 */ sll $v0, $v1, 2 +/* A4784C 802408EC 3C018024 */ lui $at, 0x8024 +/* A47850 802408F0 00220821 */ addu $at, $at, $v0 +/* A47854 802408F4 8C221608 */ lw $v0, 0x1608($at) +/* A47858 802408F8 00400008 */ jr $v0 +/* A4785C 802408FC 00000000 */ nop +/* A47860 80240900 8E420028 */ lw $v0, 0x28($s2) +/* A47864 80240904 24420001 */ addiu $v0, $v0, 1 +/* A47868 80240908 AE420028 */ sw $v0, 0x28($s2) +.L8024090C: +/* A4786C 8024090C 0000102D */ daddu $v0, $zero, $zero +.L80240910: +/* A47870 80240910 8FBF0068 */ lw $ra, 0x68($sp) +/* A47874 80240914 8FB50064 */ lw $s5, 0x64($sp) +/* A47878 80240918 8FB40060 */ lw $s4, 0x60($sp) +/* A4787C 8024091C 8FB3005C */ lw $s3, 0x5c($sp) +/* A47880 80240920 8FB20058 */ lw $s2, 0x58($sp) +/* A47884 80240924 8FB10054 */ lw $s1, 0x54($sp) +/* A47888 80240928 8FB00050 */ lw $s0, 0x50($sp) +/* A4788C 8024092C 03E00008 */ jr $ra +/* A47890 80240930 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_80240934.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240934.s new file mode 100644 index 0000000000..48e602a83a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_80240934.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240934 +/* A47894 80240934 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A47898 80240938 AFBF0010 */ sw $ra, 0x10($sp) +/* A4789C 8024093C 0C00EAD2 */ jal get_npc_safe +/* A478A0 80240940 8C84014C */ lw $a0, 0x14c($a0) +/* A478A4 80240944 0040182D */ daddu $v1, $v0, $zero +/* A478A8 80240948 846200A8 */ lh $v0, 0xa8($v1) +/* A478AC 8024094C C462003C */ lwc1 $f2, 0x3c($v1) +/* A478B0 80240950 906400A9 */ lbu $a0, 0xa9($v1) +/* A478B4 80240954 44820000 */ mtc1 $v0, $f0 +/* A478B8 80240958 00000000 */ nop +/* A478BC 8024095C 46800020 */ cvt.s.w $f0, $f0 +/* A478C0 80240960 46001081 */ sub.s $f2, $f2, $f0 +/* A478C4 80240964 A06400AB */ sb $a0, 0xab($v1) +/* A478C8 80240968 E462003C */ swc1 $f2, 0x3c($v1) +/* A478CC 8024096C 8FBF0010 */ lw $ra, 0x10($sp) +/* A478D0 80240970 24020002 */ addiu $v0, $zero, 2 +/* A478D4 80240974 03E00008 */ jr $ra +/* A478D8 80240978 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_8024097C.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_8024097C.s new file mode 100644 index 0000000000..c430607903 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_8024097C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024097C +/* A478DC 8024097C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A478E0 80240980 AFBF0010 */ sw $ra, 0x10($sp) +/* A478E4 80240984 0C00EAD2 */ jal get_npc_safe +/* A478E8 80240988 8C84014C */ lw $a0, 0x14c($a0) +/* A478EC 8024098C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A478F0 80240990 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A478F4 80240994 C44C0038 */ lwc1 $f12, 0x38($v0) +/* A478F8 80240998 C44E0040 */ lwc1 $f14, 0x40($v0) +/* A478FC 8024099C 8C660028 */ lw $a2, 0x28($v1) +/* A47900 802409A0 0C00A7B5 */ jal dist2D +/* A47904 802409A4 8C670030 */ lw $a3, 0x30($v1) +/* A47908 802409A8 3C014248 */ lui $at, 0x4248 +/* A4790C 802409AC 44811000 */ mtc1 $at, $f2 +/* A47910 802409B0 00000000 */ nop +/* A47914 802409B4 4602003C */ c.lt.s $f0, $f2 +/* A47918 802409B8 00000000 */ nop +/* A4791C 802409BC 45010002 */ bc1t .L802409C8 +/* A47920 802409C0 24020002 */ addiu $v0, $zero, 2 +/* A47924 802409C4 0000102D */ daddu $v0, $zero, $zero +.L802409C8: +/* A47928 802409C8 8FBF0010 */ lw $ra, 0x10($sp) +/* A4792C 802409CC 03E00008 */ jr $ra +/* A47930 802409D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_01/func_802409D4_A46F60.s b/asm/nonmatchings/world/area_kpa/kpa_01/func_802409D4_A46F60.s new file mode 100644 index 0000000000..6cc8cc7362 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_01/func_802409D4_A46F60.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D4_A47934 +/* A47934 802409D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A47938 802409D8 0080102D */ daddu $v0, $a0, $zero +/* A4793C 802409DC AFB00010 */ sw $s0, 0x10($sp) +/* A47940 802409E0 AFBF0018 */ sw $ra, 0x18($sp) +/* A47944 802409E4 AFB10014 */ sw $s1, 0x14($sp) +/* A47948 802409E8 8C44014C */ lw $a0, 0x14c($v0) +/* A4794C 802409EC 8C510148 */ lw $s1, 0x148($v0) +/* A47950 802409F0 0C00EAD2 */ jal get_npc_safe +/* A47954 802409F4 00A0802D */ daddu $s0, $a1, $zero +/* A47958 802409F8 56000001 */ bnel $s0, $zero, .L80240A00 +/* A4795C 802409FC A04000AB */ sb $zero, 0xab($v0) +.L80240A00: +/* A47960 80240A00 8C420000 */ lw $v0, ($v0) +/* A47964 80240A04 30421000 */ andi $v0, $v0, 0x1000 +/* A47968 80240A08 1040000A */ beqz $v0, .L80240A34 +/* A4796C 80240A0C 0000102D */ daddu $v0, $zero, $zero +/* A47970 80240A10 82220004 */ lb $v0, 4($s1) +/* A47974 80240A14 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* A47978 80240A18 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* A4797C 80240A1C 00021080 */ sll $v0, $v0, 2 +/* A47980 80240A20 00431021 */ addu $v0, $v0, $v1 +/* A47984 80240A24 8C440028 */ lw $a0, 0x28($v0) +/* A47988 80240A28 9623006E */ lhu $v1, 0x6e($s1) +/* A4798C 80240A2C 24020002 */ addiu $v0, $zero, 2 +/* A47990 80240A30 A4830044 */ sh $v1, 0x44($a0) +.L80240A34: +/* A47994 80240A34 8FBF0018 */ lw $ra, 0x18($sp) +/* A47998 80240A38 8FB10014 */ lw $s1, 0x14($sp) +/* A4799C 80240A3C 8FB00010 */ lw $s0, 0x10($sp) +/* A479A0 80240A40 03E00008 */ jr $ra +/* A479A4 80240A44 27BD0020 */ addiu $sp, $sp, 0x20 +/* A479A8 80240A48 00000000 */ nop +/* A479AC 80240A4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240000_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240000_A485C0.s new file mode 100644 index 0000000000..1c251ecc17 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240000_A485C0.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A485C0 +/* A485C0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A485C4 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* A485C8 80240008 0080802D */ daddu $s0, $a0, $zero +/* A485CC 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A485D0 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A485D4 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* A485D8 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* A485DC 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* A485E0 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* A485E4 80240024 0220902D */ daddu $s2, $s1, $zero +/* A485E8 80240028 10A00004 */ beqz $a1, .L8024003C +/* A485EC 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* A485F0 80240030 240200FF */ addiu $v0, $zero, 0xff +/* A485F4 80240034 AE020070 */ sw $v0, 0x70($s0) +/* A485F8 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* A485FC 8024003C 24040001 */ addiu $a0, $zero, 1 +/* A48600 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* A48604 80240044 3C014100 */ lui $at, 0x4100 +/* A48608 80240048 44811000 */ mtc1 $at, $f2 +/* A4860C 8024004C 00000000 */ nop +/* A48610 80240050 46020000 */ add.s $f0, $f0, $f2 +/* A48614 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* A48618 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* A4861C 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* A48620 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* A48624 80240064 4600218D */ trunc.w.s $f6, $f4 +/* A48628 80240068 44063000 */ mfc1 $a2, $f6 +/* A4862C 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* A48630 80240070 44073000 */ mfc1 $a3, $f6 +/* A48634 80240074 0C04DFB0 */ jal func_80137EC0 +/* A48638 80240078 0080282D */ daddu $a1, $a0, $zero +/* A4863C 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* A48640 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* A48644 80240084 10400012 */ beqz $v0, .L802400D0 +/* A48648 80240088 24020006 */ addiu $v0, $zero, 6 +/* A4864C 8024008C 82230012 */ lb $v1, 0x12($s1) +/* A48650 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* A48654 80240094 00000000 */ nop +/* A48658 80240098 8E020074 */ lw $v0, 0x74($s0) +/* A4865C 8024009C 14400004 */ bnez $v0, .L802400B0 +/* A48660 802400A0 24020001 */ addiu $v0, $zero, 1 +/* A48664 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* A48668 802400A8 0C05272D */ jal play_sound +/* A4866C 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* A48670 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* A48674 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* A48678 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* A4867C 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* A48680 802400C0 10400016 */ beqz $v0, .L8024011C +/* A48684 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* A48688 802400C8 08090047 */ j .L8024011C +/* A4868C 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* A48690 802400D0 82430012 */ lb $v1, 0x12($s2) +/* A48694 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* A48698 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* A4869C 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* A486A0 802400E0 10400007 */ beqz $v0, .L80240100 +/* A486A4 802400E4 00000000 */ nop +/* A486A8 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* A486AC 802400EC 284200FF */ slti $v0, $v0, 0xff +/* A486B0 802400F0 10400003 */ beqz $v0, .L80240100 +/* A486B4 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* A486B8 802400F8 0C05272D */ jal play_sound +/* A486BC 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* A486C0 80240100 8E020070 */ lw $v0, 0x70($s0) +/* A486C4 80240104 24420008 */ addiu $v0, $v0, 8 +/* A486C8 80240108 AE020070 */ sw $v0, 0x70($s0) +/* A486CC 8024010C 284200FF */ slti $v0, $v0, 0xff +/* A486D0 80240110 14400002 */ bnez $v0, .L8024011C +/* A486D4 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* A486D8 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* A486DC 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* A486E0 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* A486E4 80240124 44053000 */ mfc1 $a1, $f6 +/* A486E8 80240128 0C04E035 */ jal func_801380D4 +/* A486EC 8024012C 24040001 */ addiu $a0, $zero, 1 +/* A486F0 80240130 3C05437F */ lui $a1, 0x437f +/* A486F4 80240134 0C04DF69 */ jal func_80137DA4 +/* A486F8 80240138 2404000B */ addiu $a0, $zero, 0xb +/* A486FC 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* A48700 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* A48704 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* A48708 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* A4870C 8024014C 0000102D */ daddu $v0, $zero, $zero +/* A48710 80240150 03E00008 */ jr $ra +/* A48714 80240154 27BD0028 */ addiu $sp, $sp, 0x28 +/* A48718 80240158 00000000 */ nop +/* A4871C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240160_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240160_A485C0.s new file mode 100644 index 0000000000..0942f221f3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240160_A485C0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_A48720 +/* A48720 80240160 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A48724 80240164 AFB20018 */ sw $s2, 0x18($sp) +/* A48728 80240168 0080902D */ daddu $s2, $a0, $zero +/* A4872C 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* A48730 80240170 AFB10014 */ sw $s1, 0x14($sp) +/* A48734 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* A48738 80240178 8E510148 */ lw $s1, 0x148($s2) +/* A4873C 8024017C 0C00EABB */ jal get_npc_unsafe +/* A48740 80240180 86240008 */ lh $a0, 8($s1) +/* A48744 80240184 0040802D */ daddu $s0, $v0, $zero +/* A48748 80240188 8E2300CC */ lw $v1, 0xcc($s1) +/* A4874C 8024018C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A48750 80240190 8C630020 */ lw $v1, 0x20($v1) +/* A48754 80240194 AE030028 */ sw $v1, 0x28($s0) +/* A48758 80240198 96220076 */ lhu $v0, 0x76($s1) +/* A4875C 8024019C A602008E */ sh $v0, 0x8e($s0) +/* A48760 802401A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A48764 802401A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A48768 802401A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A4876C 802401AC 8C460028 */ lw $a2, 0x28($v0) +/* A48770 802401B0 0C00A720 */ jal atan2 +/* A48774 802401B4 8C470030 */ lw $a3, 0x30($v0) +/* A48778 802401B8 2402000D */ addiu $v0, $zero, 0xd +/* A4877C 802401BC E600000C */ swc1 $f0, 0xc($s0) +/* A48780 802401C0 AE420070 */ sw $v0, 0x70($s2) +/* A48784 802401C4 8FBF001C */ lw $ra, 0x1c($sp) +/* A48788 802401C8 8FB20018 */ lw $s2, 0x18($sp) +/* A4878C 802401CC 8FB10014 */ lw $s1, 0x14($sp) +/* A48790 802401D0 8FB00010 */ lw $s0, 0x10($sp) +/* A48794 802401D4 03E00008 */ jr $ra +/* A48798 802401D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802401DC_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802401DC_A485C0.s new file mode 100644 index 0000000000..2e700dd16a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802401DC_A485C0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401DC_A4879C +/* A4879C 802401DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A487A0 802401E0 AFB3001C */ sw $s3, 0x1c($sp) +/* A487A4 802401E4 0080982D */ daddu $s3, $a0, $zero +/* A487A8 802401E8 AFBF0020 */ sw $ra, 0x20($sp) +/* A487AC 802401EC AFB20018 */ sw $s2, 0x18($sp) +/* A487B0 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* A487B4 802401F4 AFB00010 */ sw $s0, 0x10($sp) +/* A487B8 802401F8 8E710148 */ lw $s1, 0x148($s3) +/* A487BC 802401FC 86240008 */ lh $a0, 8($s1) +/* A487C0 80240200 0C00EABB */ jal get_npc_unsafe +/* A487C4 80240204 00A0902D */ daddu $s2, $a1, $zero +/* A487C8 80240208 0040802D */ daddu $s0, $v0, $zero +/* A487CC 8024020C 8602008E */ lh $v0, 0x8e($s0) +/* A487D0 80240210 9603008E */ lhu $v1, 0x8e($s0) +/* A487D4 80240214 18400005 */ blez $v0, .L8024022C +/* A487D8 80240218 2462FFFF */ addiu $v0, $v1, -1 +/* A487DC 8024021C A602008E */ sh $v0, 0x8e($s0) +/* A487E0 80240220 00021400 */ sll $v0, $v0, 0x10 +/* A487E4 80240224 1C400033 */ bgtz $v0, .L802402F4 +/* A487E8 80240228 00000000 */ nop +.L8024022C: +/* A487EC 8024022C 8602008C */ lh $v0, 0x8c($s0) +/* A487F0 80240230 14400030 */ bnez $v0, .L802402F4 +/* A487F4 80240234 00000000 */ nop +/* A487F8 80240238 8E2200CC */ lw $v0, 0xcc($s1) +/* A487FC 8024023C 8C420024 */ lw $v0, 0x24($v0) +/* A48800 80240240 AE020028 */ sw $v0, 0x28($s0) +/* A48804 80240244 C6400018 */ lwc1 $f0, 0x18($s2) +/* A48808 80240248 E6000018 */ swc1 $f0, 0x18($s0) +/* A4880C 8024024C 8E230088 */ lw $v1, 0x88($s1) +/* A48810 80240250 24020005 */ addiu $v0, $zero, 5 +/* A48814 80240254 10620005 */ beq $v1, $v0, .L8024026C +/* A48818 80240258 00000000 */ nop +/* A4881C 8024025C 10600003 */ beqz $v1, .L8024026C +/* A48820 80240260 24020001 */ addiu $v0, $zero, 1 +/* A48824 80240264 14620006 */ bne $v1, $v0, .L80240280 +/* A48828 80240268 00000000 */ nop +.L8024026C: +/* A4882C 8024026C 8E220084 */ lw $v0, 0x84($s1) +/* A48830 80240270 00021FC2 */ srl $v1, $v0, 0x1f +/* A48834 80240274 00431021 */ addu $v0, $v0, $v1 +/* A48838 80240278 00021043 */ sra $v0, $v0, 1 +/* A4883C 8024027C A60200A8 */ sh $v0, 0xa8($s0) +.L80240280: +/* A48840 80240280 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A48844 80240284 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A48848 80240288 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A4884C 8024028C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A48850 80240290 8C460028 */ lw $a2, 0x28($v0) +/* A48854 80240294 0C00A7B5 */ jal dist2D +/* A48858 80240298 8C470030 */ lw $a3, 0x30($v0) +/* A4885C 8024029C C6020018 */ lwc1 $f2, 0x18($s0) +/* A48860 802402A0 46020003 */ div.s $f0, $f0, $f2 +/* A48864 802402A4 3C018024 */ lui $at, 0x8024 +/* A48868 802402A8 D4223880 */ ldc1 $f2, 0x3880($at) +/* A4886C 802402AC 46000021 */ cvt.d.s $f0, $f0 +/* A48870 802402B0 46220000 */ add.d $f0, $f0, $f2 +/* A48874 802402B4 4620010D */ trunc.w.d $f4, $f0 +/* A48878 802402B8 44022000 */ mfc1 $v0, $f4 +/* A4887C 802402BC 00000000 */ nop +/* A48880 802402C0 A602008E */ sh $v0, 0x8e($s0) +/* A48884 802402C4 00021400 */ sll $v0, $v0, 0x10 +/* A48888 802402C8 8E230078 */ lw $v1, 0x78($s1) +/* A4888C 802402CC 00021403 */ sra $v0, $v0, 0x10 +/* A48890 802402D0 0043102A */ slt $v0, $v0, $v1 +/* A48894 802402D4 10400003 */ beqz $v0, .L802402E4 +/* A48898 802402D8 00000000 */ nop +/* A4889C 802402DC 9622007A */ lhu $v0, 0x7a($s1) +/* A488A0 802402E0 A602008E */ sh $v0, 0x8e($s0) +.L802402E4: +/* A488A4 802402E4 8602008E */ lh $v0, 0x8e($s0) +/* A488A8 802402E8 AE22007C */ sw $v0, 0x7c($s1) +/* A488AC 802402EC 2402000E */ addiu $v0, $zero, 0xe +/* A488B0 802402F0 AE620070 */ sw $v0, 0x70($s3) +.L802402F4: +/* A488B4 802402F4 8FBF0020 */ lw $ra, 0x20($sp) +/* A488B8 802402F8 8FB3001C */ lw $s3, 0x1c($sp) +/* A488BC 802402FC 8FB20018 */ lw $s2, 0x18($sp) +/* A488C0 80240300 8FB10014 */ lw $s1, 0x14($sp) +/* A488C4 80240304 8FB00010 */ lw $s0, 0x10($sp) +/* A488C8 80240308 03E00008 */ jr $ra +/* A488CC 8024030C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240310_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240310_A485C0.s new file mode 100644 index 0000000000..9a9664ca15 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240310_A485C0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A488D0 +/* A488D0 80240310 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A488D4 80240314 AFB3003C */ sw $s3, 0x3c($sp) +/* A488D8 80240318 0080982D */ daddu $s3, $a0, $zero +/* A488DC 8024031C AFBF0040 */ sw $ra, 0x40($sp) +/* A488E0 80240320 AFB20038 */ sw $s2, 0x38($sp) +/* A488E4 80240324 AFB10034 */ sw $s1, 0x34($sp) +/* A488E8 80240328 AFB00030 */ sw $s0, 0x30($sp) +/* A488EC 8024032C 8E710148 */ lw $s1, 0x148($s3) +/* A488F0 80240330 0C00EABB */ jal get_npc_unsafe +/* A488F4 80240334 86240008 */ lh $a0, 8($s1) +/* A488F8 80240338 0040802D */ daddu $s0, $v0, $zero +/* A488FC 8024033C 8E22007C */ lw $v0, 0x7c($s1) +/* A48900 80240340 8603008E */ lh $v1, 0x8e($s0) +/* A48904 80240344 2442FFFF */ addiu $v0, $v0, -1 +/* A48908 80240348 14620012 */ bne $v1, $v0, .L80240394 +/* A4890C 8024034C 00000000 */ nop +/* A48910 80240350 C6000038 */ lwc1 $f0, 0x38($s0) +/* A48914 80240354 4600020D */ trunc.w.s $f8, $f0 +/* A48918 80240358 44024000 */ mfc1 $v0, $f8 +/* A4891C 8024035C 00000000 */ nop +/* A48920 80240360 A6220010 */ sh $v0, 0x10($s1) +/* A48924 80240364 C600003C */ lwc1 $f0, 0x3c($s0) +/* A48928 80240368 4600020D */ trunc.w.s $f8, $f0 +/* A4892C 8024036C 44024000 */ mfc1 $v0, $f8 +/* A48930 80240370 00000000 */ nop +/* A48934 80240374 A6220012 */ sh $v0, 0x12($s1) +/* A48938 80240378 C6000040 */ lwc1 $f0, 0x40($s0) +/* A4893C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* A48940 80240380 A2220007 */ sb $v0, 7($s1) +/* A48944 80240384 4600020D */ trunc.w.s $f8, $f0 +/* A48948 80240388 44024000 */ mfc1 $v0, $f8 +/* A4894C 8024038C 00000000 */ nop +/* A48950 80240390 A6220014 */ sh $v0, 0x14($s1) +.L80240394: +/* A48954 80240394 C6000038 */ lwc1 $f0, 0x38($s0) +/* A48958 80240398 C602003C */ lwc1 $f2, 0x3c($s0) +/* A4895C 8024039C C6040040 */ lwc1 $f4, 0x40($s0) +/* A48960 802403A0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A48964 802403A4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A48968 802403A8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A4896C 802403AC E7A40028 */ swc1 $f4, 0x28($sp) +/* A48970 802403B0 E7A60010 */ swc1 $f6, 0x10($sp) +/* A48974 802403B4 C600000C */ lwc1 $f0, 0xc($s0) +/* A48978 802403B8 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4897C 802403BC 860200A8 */ lh $v0, 0xa8($s0) +/* A48980 802403C0 27A50020 */ addiu $a1, $sp, 0x20 +/* A48984 802403C4 44820000 */ mtc1 $v0, $f0 +/* A48988 802403C8 00000000 */ nop +/* A4898C 802403CC 46800020 */ cvt.s.w $f0, $f0 +/* A48990 802403D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* A48994 802403D4 860200A6 */ lh $v0, 0xa6($s0) +/* A48998 802403D8 27A60024 */ addiu $a2, $sp, 0x24 +/* A4899C 802403DC 44820000 */ mtc1 $v0, $f0 +/* A489A0 802403E0 00000000 */ nop +/* A489A4 802403E4 46800020 */ cvt.s.w $f0, $f0 +/* A489A8 802403E8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A489AC 802403EC 8E040080 */ lw $a0, 0x80($s0) +/* A489B0 802403F0 0C037711 */ jal func_800DDC44 +/* A489B4 802403F4 27A70028 */ addiu $a3, $sp, 0x28 +/* A489B8 802403F8 0040902D */ daddu $s2, $v0, $zero +/* A489BC 802403FC 16400005 */ bnez $s2, .L80240414 +/* A489C0 80240400 00000000 */ nop +/* A489C4 80240404 8E050018 */ lw $a1, 0x18($s0) +/* A489C8 80240408 8E06000C */ lw $a2, 0xc($s0) +/* A489CC 8024040C 0C00EA95 */ jal npc_move_heading +/* A489D0 80240410 0200202D */ daddu $a0, $s0, $zero +.L80240414: +/* A489D4 80240414 8602008E */ lh $v0, 0x8e($s0) +/* A489D8 80240418 9603008E */ lhu $v1, 0x8e($s0) +/* A489DC 8024041C 18400007 */ blez $v0, .L8024043C +/* A489E0 80240420 2462FFFF */ addiu $v0, $v1, -1 +/* A489E4 80240424 A602008E */ sh $v0, 0x8e($s0) +/* A489E8 80240428 00021400 */ sll $v0, $v0, 0x10 +/* A489EC 8024042C 18400003 */ blez $v0, .L8024043C +/* A489F0 80240430 00000000 */ nop +/* A489F4 80240434 12400008 */ beqz $s2, .L80240458 +/* A489F8 80240438 00000000 */ nop +.L8024043C: +/* A489FC 8024043C 8E2200CC */ lw $v0, 0xcc($s1) +/* A48A00 80240440 A2200007 */ sb $zero, 7($s1) +/* A48A04 80240444 8C420028 */ lw $v0, 0x28($v0) +/* A48A08 80240448 A600008E */ sh $zero, 0x8e($s0) +/* A48A0C 8024044C AE020028 */ sw $v0, 0x28($s0) +/* A48A10 80240450 2402000F */ addiu $v0, $zero, 0xf +/* A48A14 80240454 AE620070 */ sw $v0, 0x70($s3) +.L80240458: +/* A48A18 80240458 8FBF0040 */ lw $ra, 0x40($sp) +/* A48A1C 8024045C 8FB3003C */ lw $s3, 0x3c($sp) +/* A48A20 80240460 8FB20038 */ lw $s2, 0x38($sp) +/* A48A24 80240464 8FB10034 */ lw $s1, 0x34($sp) +/* A48A28 80240468 8FB00030 */ lw $s0, 0x30($sp) +/* A48A2C 8024046C 03E00008 */ jr $ra +/* A48A30 80240470 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240474_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240474_A485C0.s new file mode 100644 index 0000000000..f71d6c43b9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240474_A485C0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240474_A48A34 +/* A48A34 80240474 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A48A38 80240478 AFB10014 */ sw $s1, 0x14($sp) +/* A48A3C 8024047C 0080882D */ daddu $s1, $a0, $zero +/* A48A40 80240480 AFBF0018 */ sw $ra, 0x18($sp) +/* A48A44 80240484 AFB00010 */ sw $s0, 0x10($sp) +/* A48A48 80240488 8E300148 */ lw $s0, 0x148($s1) +/* A48A4C 8024048C 0C00EABB */ jal get_npc_unsafe +/* A48A50 80240490 86040008 */ lh $a0, 8($s0) +/* A48A54 80240494 0040202D */ daddu $a0, $v0, $zero +/* A48A58 80240498 9482008E */ lhu $v0, 0x8e($a0) +/* A48A5C 8024049C 24030003 */ addiu $v1, $zero, 3 +/* A48A60 802404A0 24420001 */ addiu $v0, $v0, 1 +/* A48A64 802404A4 A482008E */ sh $v0, 0x8e($a0) +/* A48A68 802404A8 00021400 */ sll $v0, $v0, 0x10 +/* A48A6C 802404AC 00021403 */ sra $v0, $v0, 0x10 +/* A48A70 802404B0 14430003 */ bne $v0, $v1, .L802404C0 +/* A48A74 802404B4 00000000 */ nop +/* A48A78 802404B8 96020086 */ lhu $v0, 0x86($s0) +/* A48A7C 802404BC A48200A8 */ sh $v0, 0xa8($a0) +.L802404C0: +/* A48A80 802404C0 8482008E */ lh $v0, 0x8e($a0) +/* A48A84 802404C4 8E030080 */ lw $v1, 0x80($s0) +/* A48A88 802404C8 0043102A */ slt $v0, $v0, $v1 +/* A48A8C 802404CC 14400004 */ bnez $v0, .L802404E0 +/* A48A90 802404D0 00000000 */ nop +/* A48A94 802404D4 96020086 */ lhu $v0, 0x86($s0) +/* A48A98 802404D8 A48200A8 */ sh $v0, 0xa8($a0) +/* A48A9C 802404DC AE200070 */ sw $zero, 0x70($s1) +.L802404E0: +/* A48AA0 802404E0 8FBF0018 */ lw $ra, 0x18($sp) +/* A48AA4 802404E4 8FB10014 */ lw $s1, 0x14($sp) +/* A48AA8 802404E8 8FB00010 */ lw $s0, 0x10($sp) +/* A48AAC 802404EC 03E00008 */ jr $ra +/* A48AB0 802404F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802404F4_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802404F4_A485C0.s new file mode 100644 index 0000000000..01761f7a17 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802404F4_A485C0.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F4_A48AB4 +/* A48AB4 802404F4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A48AB8 802404F8 AFB3005C */ sw $s3, 0x5c($sp) +/* A48ABC 802404FC 0080982D */ daddu $s3, $a0, $zero +/* A48AC0 80240500 AFBF0068 */ sw $ra, 0x68($sp) +/* A48AC4 80240504 AFB50064 */ sw $s5, 0x64($sp) +/* A48AC8 80240508 AFB40060 */ sw $s4, 0x60($sp) +/* A48ACC 8024050C AFB20058 */ sw $s2, 0x58($sp) +/* A48AD0 80240510 AFB10054 */ sw $s1, 0x54($sp) +/* A48AD4 80240514 AFB00050 */ sw $s0, 0x50($sp) +/* A48AD8 80240518 8E710148 */ lw $s1, 0x148($s3) +/* A48ADC 8024051C 86240008 */ lh $a0, 8($s1) +/* A48AE0 80240520 0C00EABB */ jal get_npc_unsafe +/* A48AE4 80240524 00A0802D */ daddu $s0, $a1, $zero +/* A48AE8 80240528 8E63000C */ lw $v1, 0xc($s3) +/* A48AEC 8024052C 0260202D */ daddu $a0, $s3, $zero +/* A48AF0 80240530 8C650000 */ lw $a1, ($v1) +/* A48AF4 80240534 0C0B1EAF */ jal get_variable +/* A48AF8 80240538 0040902D */ daddu $s2, $v0, $zero +/* A48AFC 8024053C AFA00028 */ sw $zero, 0x28($sp) +/* A48B00 80240540 8E2300D0 */ lw $v1, 0xd0($s1) +/* A48B04 80240544 8C630030 */ lw $v1, 0x30($v1) +/* A48B08 80240548 AFA3002C */ sw $v1, 0x2c($sp) +/* A48B0C 8024054C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A48B10 80240550 8C63001C */ lw $v1, 0x1c($v1) +/* A48B14 80240554 AFA30030 */ sw $v1, 0x30($sp) +/* A48B18 80240558 8E2300D0 */ lw $v1, 0xd0($s1) +/* A48B1C 8024055C 8C630024 */ lw $v1, 0x24($v1) +/* A48B20 80240560 AFA30034 */ sw $v1, 0x34($sp) +/* A48B24 80240564 8E2300D0 */ lw $v1, 0xd0($s1) +/* A48B28 80240568 8C630028 */ lw $v1, 0x28($v1) +/* A48B2C 8024056C 27B50028 */ addiu $s5, $sp, 0x28 +/* A48B30 80240570 AFA30038 */ sw $v1, 0x38($sp) +/* A48B34 80240574 8E2300D0 */ lw $v1, 0xd0($s1) +/* A48B38 80240578 3C0142C8 */ lui $at, 0x42c8 +/* A48B3C 8024057C 44810000 */ mtc1 $at, $f0 +/* A48B40 80240580 8C63002C */ lw $v1, 0x2c($v1) +/* A48B44 80240584 0040A02D */ daddu $s4, $v0, $zero +/* A48B48 80240588 E7A00040 */ swc1 $f0, 0x40($sp) +/* A48B4C 8024058C A7A00044 */ sh $zero, 0x44($sp) +/* A48B50 80240590 12000009 */ beqz $s0, .L802405B8 +/* A48B54 80240594 AFA3003C */ sw $v1, 0x3c($sp) +/* A48B58 80240598 864300A8 */ lh $v1, 0xa8($s2) +/* A48B5C 8024059C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A48B60 802405A0 AE20008C */ sw $zero, 0x8c($s1) +/* A48B64 802405A4 A22000B5 */ sb $zero, 0xb5($s1) +/* A48B68 802405A8 34420008 */ ori $v0, $v0, 8 +/* A48B6C 802405AC AE230084 */ sw $v1, 0x84($s1) +/* A48B70 802405B0 08090172 */ j .L802405C8 +/* A48B74 802405B4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802405B8: +/* A48B78 802405B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* A48B7C 802405BC 30420004 */ andi $v0, $v0, 4 +/* A48B80 802405C0 10400047 */ beqz $v0, .L802406E0 +/* A48B84 802405C4 00000000 */ nop +.L802405C8: +/* A48B88 802405C8 AE600070 */ sw $zero, 0x70($s3) +/* A48B8C 802405CC A640008E */ sh $zero, 0x8e($s2) +/* A48B90 802405D0 8E2300CC */ lw $v1, 0xcc($s1) +/* A48B94 802405D4 2404F7FF */ addiu $a0, $zero, -0x801 +/* A48B98 802405D8 A2200007 */ sb $zero, 7($s1) +/* A48B9C 802405DC 8E420000 */ lw $v0, ($s2) +/* A48BA0 802405E0 8C630000 */ lw $v1, ($v1) +/* A48BA4 802405E4 00441024 */ and $v0, $v0, $a0 +/* A48BA8 802405E8 AE420000 */ sw $v0, ($s2) +/* A48BAC 802405EC AE430028 */ sw $v1, 0x28($s2) +/* A48BB0 802405F0 96220086 */ lhu $v0, 0x86($s1) +/* A48BB4 802405F4 A64200A8 */ sh $v0, 0xa8($s2) +/* A48BB8 802405F8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A48BBC 802405FC AE200090 */ sw $zero, 0x90($s1) +/* A48BC0 80240600 8C420034 */ lw $v0, 0x34($v0) +/* A48BC4 80240604 14400006 */ bnez $v0, .L80240620 +/* A48BC8 80240608 2403FDFF */ addiu $v1, $zero, -0x201 +/* A48BCC 8024060C 8E420000 */ lw $v0, ($s2) +/* A48BD0 80240610 2403FFF7 */ addiu $v1, $zero, -9 +/* A48BD4 80240614 34420200 */ ori $v0, $v0, 0x200 +/* A48BD8 80240618 0809018B */ j .L8024062C +/* A48BDC 8024061C 00431024 */ and $v0, $v0, $v1 +.L80240620: +/* A48BE0 80240620 8E420000 */ lw $v0, ($s2) +/* A48BE4 80240624 00431024 */ and $v0, $v0, $v1 +/* A48BE8 80240628 34420008 */ ori $v0, $v0, 8 +.L8024062C: +/* A48BEC 8024062C AE420000 */ sw $v0, ($s2) +/* A48BF0 80240630 8E2200B0 */ lw $v0, 0xb0($s1) +/* A48BF4 80240634 30420004 */ andi $v0, $v0, 4 +/* A48BF8 80240638 1040001E */ beqz $v0, .L802406B4 +/* A48BFC 8024063C 24040002 */ addiu $a0, $zero, 2 +/* A48C00 80240640 0240282D */ daddu $a1, $s2, $zero +/* A48C04 80240644 0000302D */ daddu $a2, $zero, $zero +/* A48C08 80240648 24020063 */ addiu $v0, $zero, 0x63 +/* A48C0C 8024064C AE620070 */ sw $v0, 0x70($s3) +/* A48C10 80240650 AE600074 */ sw $zero, 0x74($s3) +/* A48C14 80240654 864300A8 */ lh $v1, 0xa8($s2) +/* A48C18 80240658 3C013F80 */ lui $at, 0x3f80 +/* A48C1C 8024065C 44810000 */ mtc1 $at, $f0 +/* A48C20 80240660 3C014000 */ lui $at, 0x4000 +/* A48C24 80240664 44811000 */ mtc1 $at, $f2 +/* A48C28 80240668 3C01C1A0 */ lui $at, 0xc1a0 +/* A48C2C 8024066C 44812000 */ mtc1 $at, $f4 +/* A48C30 80240670 24020028 */ addiu $v0, $zero, 0x28 +/* A48C34 80240674 AFA2001C */ sw $v0, 0x1c($sp) +/* A48C38 80240678 44833000 */ mtc1 $v1, $f6 +/* A48C3C 8024067C 00000000 */ nop +/* A48C40 80240680 468031A0 */ cvt.s.w $f6, $f6 +/* A48C44 80240684 44073000 */ mfc1 $a3, $f6 +/* A48C48 80240688 27A20048 */ addiu $v0, $sp, 0x48 +/* A48C4C 8024068C AFA20020 */ sw $v0, 0x20($sp) +/* A48C50 80240690 E7A00010 */ swc1 $f0, 0x10($sp) +/* A48C54 80240694 E7A20014 */ swc1 $f2, 0x14($sp) +/* A48C58 80240698 0C01BFA4 */ jal fx_emote +/* A48C5C 8024069C E7A40018 */ swc1 $f4, 0x18($sp) +/* A48C60 802406A0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A48C64 802406A4 2403FFFB */ addiu $v1, $zero, -5 +/* A48C68 802406A8 00431024 */ and $v0, $v0, $v1 +/* A48C6C 802406AC 080901B8 */ j .L802406E0 +/* A48C70 802406B0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802406B4: +/* A48C74 802406B4 8E220000 */ lw $v0, ($s1) +/* A48C78 802406B8 3C034000 */ lui $v1, 0x4000 +/* A48C7C 802406BC 00431024 */ and $v0, $v0, $v1 +/* A48C80 802406C0 10400007 */ beqz $v0, .L802406E0 +/* A48C84 802406C4 3C03BFFF */ lui $v1, 0xbfff +/* A48C88 802406C8 2402000C */ addiu $v0, $zero, 0xc +/* A48C8C 802406CC AE620070 */ sw $v0, 0x70($s3) +/* A48C90 802406D0 8E220000 */ lw $v0, ($s1) +/* A48C94 802406D4 3463FFFF */ ori $v1, $v1, 0xffff +/* A48C98 802406D8 00431024 */ and $v0, $v0, $v1 +/* A48C9C 802406DC AE220000 */ sw $v0, ($s1) +.L802406E0: +/* A48CA0 802406E0 8E220090 */ lw $v0, 0x90($s1) +/* A48CA4 802406E4 1840000C */ blez $v0, .L80240718 +/* A48CA8 802406E8 2442FFFF */ addiu $v0, $v0, -1 +/* A48CAC 802406EC 14400087 */ bnez $v0, .L8024090C +/* A48CB0 802406F0 AE220090 */ sw $v0, 0x90($s1) +/* A48CB4 802406F4 3C03FFAA */ lui $v1, 0xffaa +/* A48CB8 802406F8 8E420028 */ lw $v0, 0x28($s2) +/* A48CBC 802406FC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A48CC0 80240700 00431021 */ addu $v0, $v0, $v1 +/* A48CC4 80240704 2C420002 */ sltiu $v0, $v0, 2 +/* A48CC8 80240708 10400003 */ beqz $v0, .L80240718 +/* A48CCC 8024070C 3C020055 */ lui $v0, 0x55 +/* A48CD0 80240710 3442000C */ ori $v0, $v0, 0xc +/* A48CD4 80240714 AE420028 */ sw $v0, 0x28($s2) +.L80240718: +/* A48CD8 80240718 8E630070 */ lw $v1, 0x70($s3) +/* A48CDC 8024071C 2402000C */ addiu $v0, $zero, 0xc +/* A48CE0 80240720 10620048 */ beq $v1, $v0, .L80240844 +/* A48CE4 80240724 2862000D */ slti $v0, $v1, 0xd +/* A48CE8 80240728 1040000F */ beqz $v0, .L80240768 +/* A48CEC 8024072C 24100001 */ addiu $s0, $zero, 1 +/* A48CF0 80240730 1070001E */ beq $v1, $s0, .L802407AC +/* A48CF4 80240734 28620002 */ slti $v0, $v1, 2 +/* A48CF8 80240738 10400005 */ beqz $v0, .L80240750 +/* A48CFC 8024073C 24020002 */ addiu $v0, $zero, 2 +/* A48D00 80240740 10600015 */ beqz $v1, .L80240798 +/* A48D04 80240744 0260202D */ daddu $a0, $s3, $zero +/* A48D08 80240748 08090228 */ j .L802408A0 +/* A48D0C 8024074C 00000000 */ nop +.L80240750: +/* A48D10 80240750 1062001C */ beq $v1, $v0, .L802407C4 +/* A48D14 80240754 24020003 */ addiu $v0, $zero, 3 +/* A48D18 80240758 10620035 */ beq $v1, $v0, .L80240830 +/* A48D1C 8024075C 0260202D */ daddu $a0, $s3, $zero +/* A48D20 80240760 08090228 */ j .L802408A0 +/* A48D24 80240764 00000000 */ nop +.L80240768: +/* A48D28 80240768 2402000E */ addiu $v0, $zero, 0xe +/* A48D2C 8024076C 1062003F */ beq $v1, $v0, .L8024086C +/* A48D30 80240770 0062102A */ slt $v0, $v1, $v0 +/* A48D34 80240774 14400038 */ bnez $v0, .L80240858 +/* A48D38 80240778 0260202D */ daddu $a0, $s3, $zero +/* A48D3C 8024077C 2402000F */ addiu $v0, $zero, 0xf +/* A48D40 80240780 10620040 */ beq $v1, $v0, .L80240884 +/* A48D44 80240784 24020063 */ addiu $v0, $zero, 0x63 +/* A48D48 80240788 10620043 */ beq $v1, $v0, .L80240898 +/* A48D4C 8024078C 00000000 */ nop +/* A48D50 80240790 08090228 */ j .L802408A0 +/* A48D54 80240794 00000000 */ nop +.L80240798: +/* A48D58 80240798 0280282D */ daddu $a1, $s4, $zero +/* A48D5C 8024079C 0C012568 */ jal func_800495A0 +/* A48D60 802407A0 02A0302D */ daddu $a2, $s5, $zero +/* A48D64 802407A4 96220086 */ lhu $v0, 0x86($s1) +/* A48D68 802407A8 A64200A8 */ sh $v0, 0xa8($s2) +.L802407AC: +/* A48D6C 802407AC 0260202D */ daddu $a0, $s3, $zero +/* A48D70 802407B0 0280282D */ daddu $a1, $s4, $zero +/* A48D74 802407B4 0C0125AE */ jal func_800496B8 +/* A48D78 802407B8 02A0302D */ daddu $a2, $s5, $zero +/* A48D7C 802407BC 08090228 */ j .L802408A0 +/* A48D80 802407C0 00000000 */ nop +.L802407C4: +/* A48D84 802407C4 0260202D */ daddu $a0, $s3, $zero +/* A48D88 802407C8 0280282D */ daddu $a1, $s4, $zero +/* A48D8C 802407CC 0C0126D1 */ jal func_80049B44 +/* A48D90 802407D0 02A0302D */ daddu $a2, $s5, $zero +/* A48D94 802407D4 8E230088 */ lw $v1, 0x88($s1) +/* A48D98 802407D8 24020006 */ addiu $v0, $zero, 6 +/* A48D9C 802407DC 14620014 */ bne $v1, $v0, .L80240830 +/* A48DA0 802407E0 0260202D */ daddu $a0, $s3, $zero +/* A48DA4 802407E4 0C00A67F */ jal rand_int +/* A48DA8 802407E8 24040064 */ addiu $a0, $zero, 0x64 +/* A48DAC 802407EC 28420021 */ slti $v0, $v0, 0x21 +/* A48DB0 802407F0 5040000F */ beql $v0, $zero, .L80240830 +/* A48DB4 802407F4 0260202D */ daddu $a0, $s3, $zero +/* A48DB8 802407F8 8E22008C */ lw $v0, 0x8c($s1) +/* A48DBC 802407FC 10400005 */ beqz $v0, .L80240814 +/* A48DC0 80240800 3C020055 */ lui $v0, 0x55 +/* A48DC4 80240804 3442002F */ ori $v0, $v0, 0x2f +/* A48DC8 80240808 AE20008C */ sw $zero, 0x8c($s1) +/* A48DCC 8024080C 08090208 */ j .L80240820 +/* A48DD0 80240810 A22000B5 */ sb $zero, 0xb5($s1) +.L80240814: +/* A48DD4 80240814 3442002E */ ori $v0, $v0, 0x2e +/* A48DD8 80240818 AE30008C */ sw $s0, 0x8c($s1) +/* A48DDC 8024081C A23000B5 */ sb $s0, 0xb5($s1) +.L80240820: +/* A48DE0 80240820 AE420028 */ sw $v0, 0x28($s2) +/* A48DE4 80240824 24020007 */ addiu $v0, $zero, 7 +/* A48DE8 80240828 08090243 */ j .L8024090C +/* A48DEC 8024082C AE220090 */ sw $v0, 0x90($s1) +.L80240830: +/* A48DF0 80240830 0280282D */ daddu $a1, $s4, $zero +/* A48DF4 80240834 0C012701 */ jal func_80049C04 +/* A48DF8 80240838 02A0302D */ daddu $a2, $s5, $zero +/* A48DFC 8024083C 08090228 */ j .L802408A0 +/* A48E00 80240840 00000000 */ nop +.L80240844: +/* A48E04 80240844 0260202D */ daddu $a0, $s3, $zero +/* A48E08 80240848 0280282D */ daddu $a1, $s4, $zero +/* A48E0C 8024084C 0C090058 */ jal func_80240160 +/* A48E10 80240850 02A0302D */ daddu $a2, $s5, $zero +/* A48E14 80240854 0260202D */ daddu $a0, $s3, $zero +.L80240858: +/* A48E18 80240858 0280282D */ daddu $a1, $s4, $zero +/* A48E1C 8024085C 0C090077 */ jal func_802401DC +/* A48E20 80240860 02A0302D */ daddu $a2, $s5, $zero +/* A48E24 80240864 08090228 */ j .L802408A0 +/* A48E28 80240868 00000000 */ nop +.L8024086C: +/* A48E2C 8024086C 0260202D */ daddu $a0, $s3, $zero +/* A48E30 80240870 0280282D */ daddu $a1, $s4, $zero +/* A48E34 80240874 0C0900C4 */ jal func_80240310 +/* A48E38 80240878 02A0302D */ daddu $a2, $s5, $zero +/* A48E3C 8024087C 08090228 */ j .L802408A0 +/* A48E40 80240880 00000000 */ nop +.L80240884: +/* A48E44 80240884 0280282D */ daddu $a1, $s4, $zero +/* A48E48 80240888 0C09011D */ jal func_80240474 +/* A48E4C 8024088C 02A0302D */ daddu $a2, $s5, $zero +/* A48E50 80240890 08090228 */ j .L802408A0 +/* A48E54 80240894 00000000 */ nop +.L80240898: +/* A48E58 80240898 0C0129CF */ jal func_8004A73C +/* A48E5C 8024089C 0260202D */ daddu $a0, $s3, $zero +.L802408A0: +/* A48E60 802408A0 8E230088 */ lw $v1, 0x88($s1) +/* A48E64 802408A4 24020006 */ addiu $v0, $zero, 6 +/* A48E68 802408A8 14620019 */ bne $v1, $v0, .L80240910 +/* A48E6C 802408AC 0000102D */ daddu $v0, $zero, $zero +/* A48E70 802408B0 8E22008C */ lw $v0, 0x8c($s1) +/* A48E74 802408B4 10400003 */ beqz $v0, .L802408C4 +/* A48E78 802408B8 24020001 */ addiu $v0, $zero, 1 +/* A48E7C 802408BC 08090232 */ j .L802408C8 +/* A48E80 802408C0 A22200B5 */ sb $v0, 0xb5($s1) +.L802408C4: +/* A48E84 802408C4 A22000B5 */ sb $zero, 0xb5($s1) +.L802408C8: +/* A48E88 802408C8 8E22008C */ lw $v0, 0x8c($s1) +/* A48E8C 802408CC 1040000F */ beqz $v0, .L8024090C +/* A48E90 802408D0 3C03FFAA */ lui $v1, 0xffaa +/* A48E94 802408D4 8E420028 */ lw $v0, 0x28($s2) +/* A48E98 802408D8 3463FFFC */ ori $v1, $v1, 0xfffc +/* A48E9C 802408DC 00431821 */ addu $v1, $v0, $v1 +/* A48EA0 802408E0 2C620015 */ sltiu $v0, $v1, 0x15 +/* A48EA4 802408E4 10400009 */ beqz $v0, .L8024090C +/* A48EA8 802408E8 00031080 */ sll $v0, $v1, 2 +/* A48EAC 802408EC 3C018024 */ lui $at, 0x8024 +/* A48EB0 802408F0 00220821 */ addu $at, $at, $v0 +/* A48EB4 802408F4 8C223888 */ lw $v0, 0x3888($at) +/* A48EB8 802408F8 00400008 */ jr $v0 +/* A48EBC 802408FC 00000000 */ nop +/* A48EC0 80240900 8E420028 */ lw $v0, 0x28($s2) +/* A48EC4 80240904 24420001 */ addiu $v0, $v0, 1 +/* A48EC8 80240908 AE420028 */ sw $v0, 0x28($s2) +.L8024090C: +/* A48ECC 8024090C 0000102D */ daddu $v0, $zero, $zero +.L80240910: +/* A48ED0 80240910 8FBF0068 */ lw $ra, 0x68($sp) +/* A48ED4 80240914 8FB50064 */ lw $s5, 0x64($sp) +/* A48ED8 80240918 8FB40060 */ lw $s4, 0x60($sp) +/* A48EDC 8024091C 8FB3005C */ lw $s3, 0x5c($sp) +/* A48EE0 80240920 8FB20058 */ lw $s2, 0x58($sp) +/* A48EE4 80240924 8FB10054 */ lw $s1, 0x54($sp) +/* A48EE8 80240928 8FB00050 */ lw $s0, 0x50($sp) +/* A48EEC 8024092C 03E00008 */ jr $ra +/* A48EF0 80240930 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240934_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240934_A485C0.s new file mode 100644 index 0000000000..171918683a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240934_A485C0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240934_A48EF4 +/* A48EF4 80240934 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A48EF8 80240938 AFBF0010 */ sw $ra, 0x10($sp) +/* A48EFC 8024093C 0C00EAD2 */ jal get_npc_safe +/* A48F00 80240940 8C84014C */ lw $a0, 0x14c($a0) +/* A48F04 80240944 0040182D */ daddu $v1, $v0, $zero +/* A48F08 80240948 846200A8 */ lh $v0, 0xa8($v1) +/* A48F0C 8024094C C462003C */ lwc1 $f2, 0x3c($v1) +/* A48F10 80240950 906400A9 */ lbu $a0, 0xa9($v1) +/* A48F14 80240954 44820000 */ mtc1 $v0, $f0 +/* A48F18 80240958 00000000 */ nop +/* A48F1C 8024095C 46800020 */ cvt.s.w $f0, $f0 +/* A48F20 80240960 46001081 */ sub.s $f2, $f2, $f0 +/* A48F24 80240964 A06400AB */ sb $a0, 0xab($v1) +/* A48F28 80240968 E462003C */ swc1 $f2, 0x3c($v1) +/* A48F2C 8024096C 8FBF0010 */ lw $ra, 0x10($sp) +/* A48F30 80240970 24020002 */ addiu $v0, $zero, 2 +/* A48F34 80240974 03E00008 */ jr $ra +/* A48F38 80240978 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_8024097C_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024097C_A485C0.s new file mode 100644 index 0000000000..6cda5ce74f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024097C_A485C0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024097C_A48F3C +/* A48F3C 8024097C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A48F40 80240980 AFBF0010 */ sw $ra, 0x10($sp) +/* A48F44 80240984 0C00EAD2 */ jal get_npc_safe +/* A48F48 80240988 8C84014C */ lw $a0, 0x14c($a0) +/* A48F4C 8024098C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A48F50 80240990 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A48F54 80240994 C44C0038 */ lwc1 $f12, 0x38($v0) +/* A48F58 80240998 C44E0040 */ lwc1 $f14, 0x40($v0) +/* A48F5C 8024099C 8C660028 */ lw $a2, 0x28($v1) +/* A48F60 802409A0 0C00A7B5 */ jal dist2D +/* A48F64 802409A4 8C670030 */ lw $a3, 0x30($v1) +/* A48F68 802409A8 3C014248 */ lui $at, 0x4248 +/* A48F6C 802409AC 44811000 */ mtc1 $at, $f2 +/* A48F70 802409B0 00000000 */ nop +/* A48F74 802409B4 4602003C */ c.lt.s $f0, $f2 +/* A48F78 802409B8 00000000 */ nop +/* A48F7C 802409BC 45010002 */ bc1t .L802409C8 +/* A48F80 802409C0 24020002 */ addiu $v0, $zero, 2 +/* A48F84 802409C4 0000102D */ daddu $v0, $zero, $zero +.L802409C8: +/* A48F88 802409C8 8FBF0010 */ lw $ra, 0x10($sp) +/* A48F8C 802409CC 03E00008 */ jr $ra +/* A48F90 802409D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802409D4_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802409D4_A485C0.s new file mode 100644 index 0000000000..10fd46eed5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802409D4_A485C0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D4_A48F94 +/* A48F94 802409D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A48F98 802409D8 0080102D */ daddu $v0, $a0, $zero +/* A48F9C 802409DC AFB00010 */ sw $s0, 0x10($sp) +/* A48FA0 802409E0 AFBF0018 */ sw $ra, 0x18($sp) +/* A48FA4 802409E4 AFB10014 */ sw $s1, 0x14($sp) +/* A48FA8 802409E8 8C44014C */ lw $a0, 0x14c($v0) +/* A48FAC 802409EC 8C510148 */ lw $s1, 0x148($v0) +/* A48FB0 802409F0 0C00EAD2 */ jal get_npc_safe +/* A48FB4 802409F4 00A0802D */ daddu $s0, $a1, $zero +/* A48FB8 802409F8 56000001 */ bnel $s0, $zero, .L80240A00 +/* A48FBC 802409FC A04000AB */ sb $zero, 0xab($v0) +.L80240A00: +/* A48FC0 80240A00 8C420000 */ lw $v0, ($v0) +/* A48FC4 80240A04 30421000 */ andi $v0, $v0, 0x1000 +/* A48FC8 80240A08 1040000A */ beqz $v0, .L80240A34 +/* A48FCC 80240A0C 0000102D */ daddu $v0, $zero, $zero +/* A48FD0 80240A10 82220004 */ lb $v0, 4($s1) +/* A48FD4 80240A14 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* A48FD8 80240A18 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* A48FDC 80240A1C 00021080 */ sll $v0, $v0, 2 +/* A48FE0 80240A20 00431021 */ addu $v0, $v0, $v1 +/* A48FE4 80240A24 8C440028 */ lw $a0, 0x28($v0) +/* A48FE8 80240A28 9623006E */ lhu $v1, 0x6e($s1) +/* A48FEC 80240A2C 24020002 */ addiu $v0, $zero, 2 +/* A48FF0 80240A30 A4830044 */ sh $v1, 0x44($a0) +.L80240A34: +/* A48FF4 80240A34 8FBF0018 */ lw $ra, 0x18($sp) +/* A48FF8 80240A38 8FB10014 */ lw $s1, 0x14($sp) +/* A48FFC 80240A3C 8FB00010 */ lw $s0, 0x10($sp) +/* A49000 80240A40 03E00008 */ jr $ra +/* A49004 80240A44 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240A48.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240A48.s new file mode 100644 index 0000000000..6438c457e2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240A48.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A48 +/* A49008 80240A48 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A4900C 80240A4C AFB00018 */ sw $s0, 0x18($sp) +/* A49010 80240A50 AFBF0024 */ sw $ra, 0x24($sp) +/* A49014 80240A54 AFB20020 */ sw $s2, 0x20($sp) +/* A49018 80240A58 AFB1001C */ sw $s1, 0x1c($sp) +/* A4901C 80240A5C F7B60030 */ sdc1 $f22, 0x30($sp) +/* A49020 80240A60 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A49024 80240A64 8C920148 */ lw $s2, 0x148($a0) +/* A49028 80240A68 4485A000 */ mtc1 $a1, $f20 +/* A4902C 80240A6C 86440008 */ lh $a0, 8($s2) +/* A49030 80240A70 4486B000 */ mtc1 $a2, $f22 +/* A49034 80240A74 0C00EABB */ jal get_npc_unsafe +/* A49038 80240A78 00E0802D */ daddu $s0, $a3, $zero +/* A4903C 80240A7C 0200202D */ daddu $a0, $s0, $zero +/* A49040 80240A80 0040882D */ daddu $s1, $v0, $zero +/* A49044 80240A84 4406A000 */ mfc1 $a2, $f20 +/* A49048 80240A88 4407B000 */ mfc1 $a3, $f22 +/* A4904C 80240A8C 3C03800A */ lui $v1, 0x800a +/* A49050 80240A90 8463A634 */ lh $v1, -0x59cc($v1) +/* A49054 80240A94 3C05800B */ lui $a1, %hi(gCameras) +/* A49058 80240A98 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A4905C 80240A9C AFA00010 */ sw $zero, 0x10($sp) +/* A49060 80240AA0 00031080 */ sll $v0, $v1, 2 +/* A49064 80240AA4 00431021 */ addu $v0, $v0, $v1 +/* A49068 80240AA8 00021080 */ sll $v0, $v0, 2 +/* A4906C 80240AAC 00431023 */ subu $v0, $v0, $v1 +/* A49070 80240AB0 000218C0 */ sll $v1, $v0, 3 +/* A49074 80240AB4 00431021 */ addu $v0, $v0, $v1 +/* A49078 80240AB8 000210C0 */ sll $v0, $v0, 3 +/* A4907C 80240ABC 00458021 */ addu $s0, $v0, $a1 +/* A49080 80240AC0 0C01242D */ jal func_800490B4 +/* A49084 80240AC4 0240282D */ daddu $a1, $s2, $zero +/* A49088 80240AC8 1040004B */ beqz $v0, .L80240BF8 +/* A4908C 80240ACC 2402FFFF */ addiu $v0, $zero, -1 +/* A49090 80240AD0 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A49094 80240AD4 C62E000C */ lwc1 $f14, 0xc($s1) +/* A49098 80240AD8 3C014387 */ lui $at, 0x4387 +/* A4909C 80240ADC 4481A000 */ mtc1 $at, $f20 +/* A490A0 80240AE0 0C00A70A */ jal get_clamped_angle_diff +/* A490A4 80240AE4 00000000 */ nop +/* A490A8 80240AE8 0C00A6C9 */ jal clamp_angle +/* A490AC 80240AEC 46000306 */ mov.s $f12, $f0 +/* A490B0 80240AF0 3C018024 */ lui $at, 0x8024 +/* A490B4 80240AF4 D42238E0 */ ldc1 $f2, 0x38e0($at) +/* A490B8 80240AF8 46000021 */ cvt.d.s $f0, $f0 +/* A490BC 80240AFC 4622003C */ c.lt.d $f0, $f2 +/* A490C0 80240B00 00000000 */ nop +/* A490C4 80240B04 45000003 */ bc1f .L80240B14 +/* A490C8 80240B08 00000000 */ nop +/* A490CC 80240B0C 3C0142B4 */ lui $at, 0x42b4 +/* A490D0 80240B10 4481A000 */ mtc1 $at, $f20 +.L80240B14: +/* A490D4 80240B14 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* A490D8 80240B18 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* A490DC 80240B1C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A490E0 80240B20 8E020000 */ lw $v0, ($s0) +/* A490E4 80240B24 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A490E8 80240B28 8C460028 */ lw $a2, 0x28($v0) +/* A490EC 80240B2C 0C00A720 */ jal atan2 +/* A490F0 80240B30 8C470030 */ lw $a3, 0x30($v0) +/* A490F4 80240B34 4600A306 */ mov.s $f12, $f20 +/* A490F8 80240B38 0C00A70A */ jal get_clamped_angle_diff +/* A490FC 80240B3C 46000386 */ mov.s $f14, $f0 +/* A49100 80240B40 46000005 */ abs.s $f0, $f0 +/* A49104 80240B44 3C018024 */ lui $at, 0x8024 +/* A49108 80240B48 D42238E8 */ ldc1 $f2, 0x38e8($at) +/* A4910C 80240B4C 46000021 */ cvt.d.s $f0, $f0 +/* A49110 80240B50 4620103C */ c.lt.d $f2, $f0 +/* A49114 80240B54 00000000 */ nop +/* A49118 80240B58 45010027 */ bc1t .L80240BF8 +/* A4911C 80240B5C 2402FFFF */ addiu $v0, $zero, -1 +/* A49120 80240B60 8E020000 */ lw $v0, ($s0) +/* A49124 80240B64 C6200038 */ lwc1 $f0, 0x38($s1) +/* A49128 80240B68 C4420028 */ lwc1 $f2, 0x28($v0) +/* A4912C 80240B6C 44806000 */ mtc1 $zero, $f12 +/* A49130 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* A49134 80240B74 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A49138 80240B78 8C47002C */ lw $a3, 0x2c($v0) +/* A4913C 80240B7C 46000005 */ abs.s $f0, $f0 +/* A49140 80240B80 44060000 */ mfc1 $a2, $f0 +/* A49144 80240B84 0C00A720 */ jal atan2 +/* A49148 80240B88 00000000 */ nop +/* A4914C 80240B8C 3C018024 */ lui $at, 0x8024 +/* A49150 80240B90 D42238F0 */ ldc1 $f2, 0x38f0($at) +/* A49154 80240B94 46000021 */ cvt.d.s $f0, $f0 +/* A49158 80240B98 46220001 */ sub.d $f0, $f0, $f2 +/* A4915C 80240B9C 3C018024 */ lui $at, 0x8024 +/* A49160 80240BA0 D42238F8 */ ldc1 $f2, 0x38f8($at) +/* A49164 80240BA4 46200020 */ cvt.s.d $f0, $f0 +/* A49168 80240BA8 46000005 */ abs.s $f0, $f0 +/* A4916C 80240BAC 46000021 */ cvt.d.s $f0, $f0 +/* A49170 80240BB0 4620103C */ c.lt.d $f2, $f0 +/* A49174 80240BB4 00000000 */ nop +/* A49178 80240BB8 4501000F */ bc1t .L80240BF8 +/* A4917C 80240BBC 2402FFFF */ addiu $v0, $zero, -1 +/* A49180 80240BC0 3C038011 */ lui $v1, 0x8011 +/* A49184 80240BC4 8063EBB3 */ lb $v1, -0x144d($v1) +/* A49188 80240BC8 24020009 */ addiu $v0, $zero, 9 +/* A4918C 80240BCC 10620009 */ beq $v1, $v0, .L80240BF4 +/* A49190 80240BD0 24020007 */ addiu $v0, $zero, 7 +/* A49194 80240BD4 50620008 */ beql $v1, $v0, .L80240BF8 +/* A49198 80240BD8 2402FFFF */ addiu $v0, $zero, -1 +/* A4919C 80240BDC 86440008 */ lh $a0, 8($s2) +/* A491A0 80240BE0 0C00FB3A */ jal get_enemy +/* A491A4 80240BE4 24840001 */ addiu $a0, $a0, 1 +/* A491A8 80240BE8 8C43006C */ lw $v1, 0x6c($v0) +/* A491AC 80240BEC 10600002 */ beqz $v1, .L80240BF8 +/* A491B0 80240BF0 24020001 */ addiu $v0, $zero, 1 +.L80240BF4: +/* A491B4 80240BF4 2402FFFF */ addiu $v0, $zero, -1 +.L80240BF8: +/* A491B8 80240BF8 8FBF0024 */ lw $ra, 0x24($sp) +/* A491BC 80240BFC 8FB20020 */ lw $s2, 0x20($sp) +/* A491C0 80240C00 8FB1001C */ lw $s1, 0x1c($sp) +/* A491C4 80240C04 8FB00018 */ lw $s0, 0x18($sp) +/* A491C8 80240C08 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A491CC 80240C0C D7B40028 */ ldc1 $f20, 0x28($sp) +/* A491D0 80240C10 03E00008 */ jr $ra +/* A491D4 80240C14 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80240C18.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240C18.s new file mode 100644 index 0000000000..b865afb28b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80240C18.s @@ -0,0 +1,336 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C18 +/* A491D8 80240C18 27BDFC78 */ addiu $sp, $sp, -0x388 +/* A491DC 80240C1C AFB60378 */ sw $s6, 0x378($sp) +/* A491E0 80240C20 0080B02D */ daddu $s6, $a0, $zero +/* A491E4 80240C24 AFBF037C */ sw $ra, 0x37c($sp) +/* A491E8 80240C28 AFB50374 */ sw $s5, 0x374($sp) +/* A491EC 80240C2C AFB40370 */ sw $s4, 0x370($sp) +/* A491F0 80240C30 AFB3036C */ sw $s3, 0x36c($sp) +/* A491F4 80240C34 AFB20368 */ sw $s2, 0x368($sp) +/* A491F8 80240C38 AFB10364 */ sw $s1, 0x364($sp) +/* A491FC 80240C3C AFB00360 */ sw $s0, 0x360($sp) +/* A49200 80240C40 F7B40380 */ sdc1 $f20, 0x380($sp) +/* A49204 80240C44 8ED20148 */ lw $s2, 0x148($s6) +/* A49208 80240C48 86440008 */ lh $a0, 8($s2) +/* A4920C 80240C4C 0C00EABB */ jal get_npc_unsafe +/* A49210 80240C50 00A0802D */ daddu $s0, $a1, $zero +/* A49214 80240C54 86440008 */ lh $a0, 8($s2) +/* A49218 80240C58 0040882D */ daddu $s1, $v0, $zero +/* A4921C 80240C5C 0C00FB3A */ jal get_enemy +/* A49220 80240C60 2484FFFF */ addiu $a0, $a0, -1 +/* A49224 80240C64 84440008 */ lh $a0, 8($v0) +/* A49228 80240C68 0C00EABB */ jal get_npc_unsafe +/* A4922C 80240C6C 0000A82D */ daddu $s5, $zero, $zero +/* A49230 80240C70 27B30020 */ addiu $s3, $sp, 0x20 +/* A49234 80240C74 16000005 */ bnez $s0, .L80240C8C +/* A49238 80240C78 0040A02D */ daddu $s4, $v0, $zero +/* A4923C 80240C7C 8E4200B0 */ lw $v0, 0xb0($s2) +/* A49240 80240C80 30420004 */ andi $v0, $v0, 4 +/* A49244 80240C84 10400018 */ beqz $v0, .L80240CE8 +/* A49248 80240C88 00000000 */ nop +.L80240C8C: +/* A4924C 80240C8C 3C030024 */ lui $v1, 0x24 +/* A49250 80240C90 34630102 */ ori $v1, $v1, 0x102 +/* A49254 80240C94 3C041620 */ lui $a0, 0x1620 +/* A49258 80240C98 AEC00070 */ sw $zero, 0x70($s6) +/* A4925C 80240C9C 8E220000 */ lw $v0, ($s1) +/* A49260 80240CA0 34840040 */ ori $a0, $a0, 0x40 +/* A49264 80240CA4 A620008E */ sh $zero, 0x8e($s1) +/* A49268 80240CA8 00431025 */ or $v0, $v0, $v1 +/* A4926C 80240CAC AE220000 */ sw $v0, ($s1) +/* A49270 80240CB0 8E420000 */ lw $v0, ($s2) +/* A49274 80240CB4 3C013ECC */ lui $at, 0x3ecc +/* A49278 80240CB8 3421CCCD */ ori $at, $at, 0xcccd +/* A4927C 80240CBC 44810000 */ mtc1 $at, $f0 +/* A49280 80240CC0 00441025 */ or $v0, $v0, $a0 +/* A49284 80240CC4 AE420000 */ sw $v0, ($s2) +/* A49288 80240CC8 E6200054 */ swc1 $f0, 0x54($s1) +/* A4928C 80240CCC E6200058 */ swc1 $f0, 0x58($s1) +/* A49290 80240CD0 8E4300B0 */ lw $v1, 0xb0($s2) +/* A49294 80240CD4 30620004 */ andi $v0, $v1, 4 +/* A49298 80240CD8 10400003 */ beqz $v0, .L80240CE8 +/* A4929C 80240CDC 2402FFFB */ addiu $v0, $zero, -5 +/* A492A0 80240CE0 00621024 */ and $v0, $v1, $v0 +/* A492A4 80240CE4 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240CE8: +/* A492A8 80240CE8 8EC30070 */ lw $v1, 0x70($s6) +/* A492AC 80240CEC 2C620005 */ sltiu $v0, $v1, 5 +/* A492B0 80240CF0 10400101 */ beqz $v0, .L802410F8 +/* A492B4 80240CF4 00031080 */ sll $v0, $v1, 2 +/* A492B8 80240CF8 3C018024 */ lui $at, 0x8024 +/* A492BC 80240CFC 00220821 */ addu $at, $at, $v0 +/* A492C0 80240D00 8C223900 */ lw $v0, 0x3900($at) +/* A492C4 80240D04 00400008 */ jr $v0 +/* A492C8 80240D08 00000000 */ nop +/* A492CC 80240D0C 3C01C47A */ lui $at, 0xc47a +/* A492D0 80240D10 44810000 */ mtc1 $at, $f0 +/* A492D4 80240D14 24020014 */ addiu $v0, $zero, 0x14 +/* A492D8 80240D18 AE400078 */ sw $zero, 0x78($s2) +/* A492DC 80240D1C A62200A6 */ sh $v0, 0xa6($s1) +/* A492E0 80240D20 A62200A8 */ sh $v0, 0xa8($s1) +/* A492E4 80240D24 24020001 */ addiu $v0, $zero, 1 +/* A492E8 80240D28 AE200038 */ sw $zero, 0x38($s1) +/* A492EC 80240D2C AE200040 */ sw $zero, 0x40($s1) +/* A492F0 80240D30 E620003C */ swc1 $f0, 0x3c($s1) +/* A492F4 80240D34 AE40006C */ sw $zero, 0x6c($s2) +/* A492F8 80240D38 AEC20070 */ sw $v0, 0x70($s6) +/* A492FC 80240D3C 8E50006C */ lw $s0, 0x6c($s2) +/* A49300 80240D40 24020001 */ addiu $v0, $zero, 1 +/* A49304 80240D44 160200EC */ bne $s0, $v0, .L802410F8 +/* A49308 80240D48 24150002 */ addiu $s5, $zero, 2 +/* A4930C 80240D4C AE55006C */ sw $s5, 0x6c($s2) +/* A49310 80240D50 C6800038 */ lwc1 $f0, 0x38($s4) +/* A49314 80240D54 E6600038 */ swc1 $f0, 0x38($s3) +/* A49318 80240D58 C680003C */ lwc1 $f0, 0x3c($s4) +/* A4931C 80240D5C E660003C */ swc1 $f0, 0x3c($s3) +/* A49320 80240D60 C6800040 */ lwc1 $f0, 0x40($s4) +/* A49324 80240D64 E6600040 */ swc1 $f0, 0x40($s3) +/* A49328 80240D68 C6820034 */ lwc1 $f2, 0x34($s4) +/* A4932C 80240D6C 3C014387 */ lui $at, 0x4387 +/* A49330 80240D70 44810000 */ mtc1 $at, $f0 +/* A49334 80240D74 00000000 */ nop +/* A49338 80240D78 46020001 */ sub.s $f0, $f0, $f2 +/* A4933C 80240D7C C6480074 */ lwc1 $f8, 0x74($s2) +/* A49340 80240D80 46804220 */ cvt.s.w $f8, $f8 +/* A49344 80240D84 44054000 */ mfc1 $a1, $f8 +/* A49348 80240D88 44060000 */ mfc1 $a2, $f0 +/* A4934C 80240D8C 0C00EA95 */ jal npc_move_heading +/* A49350 80240D90 0260202D */ daddu $a0, $s3, $zero +/* A49354 80240D94 C6600038 */ lwc1 $f0, 0x38($s3) +/* A49358 80240D98 E6200038 */ swc1 $f0, 0x38($s1) +/* A4935C 80240D9C C680003C */ lwc1 $f0, 0x3c($s4) +/* A49360 80240DA0 C6420070 */ lwc1 $f2, 0x70($s2) +/* A49364 80240DA4 468010A0 */ cvt.s.w $f2, $f2 +/* A49368 80240DA8 46020000 */ add.s $f0, $f0, $f2 +/* A4936C 80240DAC 3C014024 */ lui $at, 0x4024 +/* A49370 80240DB0 4481A800 */ mtc1 $at, $f21 +/* A49374 80240DB4 4480A000 */ mtc1 $zero, $f20 +/* A49378 80240DB8 E620003C */ swc1 $f0, 0x3c($s1) +/* A4937C 80240DBC C6600040 */ lwc1 $f0, 0x40($s3) +/* A49380 80240DC0 E6200040 */ swc1 $f0, 0x40($s1) +/* A49384 80240DC4 A2500007 */ sb $s0, 7($s2) +/* A49388 80240DC8 C6200038 */ lwc1 $f0, 0x38($s1) +/* A4938C 80240DCC 3C014066 */ lui $at, 0x4066 +/* A49390 80240DD0 34216666 */ ori $at, $at, 0x6666 +/* A49394 80240DD4 44811000 */ mtc1 $at, $f2 +/* A49398 80240DD8 4600020D */ trunc.w.s $f8, $f0 +/* A4939C 80240DDC 44024000 */ mfc1 $v0, $f8 +/* A493A0 80240DE0 00000000 */ nop +/* A493A4 80240DE4 A6420010 */ sh $v0, 0x10($s2) +/* A493A8 80240DE8 C620003C */ lwc1 $f0, 0x3c($s1) +/* A493AC 80240DEC 3C13800F */ lui $s3, %hi(gPlayerStatusPtr) +/* A493B0 80240DF0 26737B30 */ addiu $s3, $s3, %lo(gPlayerStatusPtr) +/* A493B4 80240DF4 4600020D */ trunc.w.s $f8, $f0 +/* A493B8 80240DF8 44024000 */ mfc1 $v0, $f8 +/* A493BC 80240DFC 00000000 */ nop +/* A493C0 80240E00 A6420012 */ sh $v0, 0x12($s2) +/* A493C4 80240E04 C6200040 */ lwc1 $f0, 0x40($s1) +/* A493C8 80240E08 8E630000 */ lw $v1, ($s3) +/* A493CC 80240E0C 4600020D */ trunc.w.s $f8, $f0 +/* A493D0 80240E10 44024000 */ mfc1 $v0, $f8 +/* A493D4 80240E14 00000000 */ nop +/* A493D8 80240E18 A6420014 */ sh $v0, 0x14($s2) +/* A493DC 80240E1C E6220018 */ swc1 $f2, 0x18($s1) +/* A493E0 80240E20 C460002C */ lwc1 $f0, 0x2c($v1) +/* A493E4 80240E24 C6220038 */ lwc1 $f2, 0x38($s1) +/* A493E8 80240E28 46000021 */ cvt.d.s $f0, $f0 +/* A493EC 80240E2C 46340000 */ add.d $f0, $f0, $f20 +/* A493F0 80240E30 C4640028 */ lwc1 $f4, 0x28($v1) +/* A493F4 80240E34 44806000 */ mtc1 $zero, $f12 +/* A493F8 80240E38 46041081 */ sub.s $f2, $f2, $f4 +/* A493FC 80240E3C C62E003C */ lwc1 $f14, 0x3c($s1) +/* A49400 80240E40 46200020 */ cvt.s.d $f0, $f0 +/* A49404 80240E44 46001085 */ abs.s $f2, $f2 +/* A49408 80240E48 44070000 */ mfc1 $a3, $f0 +/* A4940C 80240E4C 44061000 */ mfc1 $a2, $f2 +/* A49410 80240E50 0C00A720 */ jal atan2 +/* A49414 80240E54 00000000 */ nop +/* A49418 80240E58 3C018024 */ lui $at, 0x8024 +/* A4941C 80240E5C D4223918 */ ldc1 $f2, 0x3918($at) +/* A49420 80240E60 46000021 */ cvt.d.s $f0, $f0 +/* A49424 80240E64 46220001 */ sub.d $f0, $f0, $f2 +/* A49428 80240E68 46200020 */ cvt.s.d $f0, $f0 +/* A4942C 80240E6C 4600020D */ trunc.w.s $f8, $f0 +/* A49430 80240E70 44044000 */ mfc1 $a0, $f8 +/* A49434 80240E74 00000000 */ nop +/* A49438 80240E78 00042400 */ sll $a0, $a0, 0x10 +/* A4943C 80240E7C 0C00A4F5 */ jal cosine +/* A49440 80240E80 00042403 */ sra $a0, $a0, 0x10 +/* A49444 80240E84 C6220018 */ lwc1 $f2, 0x18($s1) +/* A49448 80240E88 46020002 */ mul.s $f0, $f0, $f2 +/* A4944C 80240E8C 00000000 */ nop +/* A49450 80240E90 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A49454 80240E94 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A49458 80240E98 8E620000 */ lw $v0, ($s3) +/* A4945C 80240E9C E620001C */ swc1 $f0, 0x1c($s1) +/* A49460 80240EA0 8C460028 */ lw $a2, 0x28($v0) +/* A49464 80240EA4 0C00A720 */ jal atan2 +/* A49468 80240EA8 8C470030 */ lw $a3, 0x30($v0) +/* A4946C 80240EAC 8E620000 */ lw $v0, ($s3) +/* A49470 80240EB0 E620000C */ swc1 $f0, 0xc($s1) +/* A49474 80240EB4 C440002C */ lwc1 $f0, 0x2c($v0) +/* A49478 80240EB8 46000021 */ cvt.d.s $f0, $f0 +/* A4947C 80240EBC 46340000 */ add.d $f0, $f0, $f20 +/* A49480 80240EC0 46200020 */ cvt.s.d $f0, $f0 +/* A49484 80240EC4 E7A00010 */ swc1 $f0, 0x10($sp) +/* A49488 80240EC8 C4400030 */ lwc1 $f0, 0x30($v0) +/* A4948C 80240ECC E7A00014 */ swc1 $f0, 0x14($sp) +/* A49490 80240ED0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A49494 80240ED4 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A49498 80240ED8 8E260040 */ lw $a2, 0x40($s1) +/* A4949C 80240EDC 0C00A7CB */ jal dist3D +/* A494A0 80240EE0 8C470028 */ lw $a3, 0x28($v0) +/* A494A4 80240EE4 C6220018 */ lwc1 $f2, 0x18($s1) +/* A494A8 80240EE8 46020003 */ div.s $f0, $f0, $f2 +/* A494AC 80240EEC 4600020D */ trunc.w.s $f8, $f0 +/* A494B0 80240EF0 44104000 */ mfc1 $s0, $f8 +/* A494B4 80240EF4 00000000 */ nop +/* A494B8 80240EF8 5A000001 */ blezl $s0, .L80240F00 +/* A494BC 80240EFC 24100001 */ addiu $s0, $zero, 1 +.L80240F00: +/* A494C0 80240F00 8E620000 */ lw $v0, ($s3) +/* A494C4 80240F04 C624003C */ lwc1 $f4, 0x3c($s1) +/* A494C8 80240F08 3C014120 */ lui $at, 0x4120 +/* A494CC 80240F0C 44811000 */ mtc1 $at, $f2 +/* A494D0 80240F10 C4400028 */ lwc1 $f0, 0x28($v0) +/* A494D4 80240F14 E7A00010 */ swc1 $f0, 0x10($sp) +/* A494D8 80240F18 C440002C */ lwc1 $f0, 0x2c($v0) +/* A494DC 80240F1C 46020000 */ add.s $f0, $f0, $f2 +/* A494E0 80240F20 3C014160 */ lui $at, 0x4160 +/* A494E4 80240F24 44811000 */ mtc1 $at, $f2 +/* A494E8 80240F28 00000000 */ nop +/* A494EC 80240F2C 46022100 */ add.s $f4, $f4, $f2 +/* A494F0 80240F30 46020000 */ add.s $f0, $f0, $f2 +/* A494F4 80240F34 44062000 */ mfc1 $a2, $f4 +/* A494F8 80240F38 E7A00014 */ swc1 $f0, 0x14($sp) +/* A494FC 80240F3C C4400030 */ lwc1 $f0, 0x30($v0) +/* A49500 80240F40 AFB0001C */ sw $s0, 0x1c($sp) +/* A49504 80240F44 E7A00018 */ swc1 $f0, 0x18($sp) +/* A49508 80240F48 8E250038 */ lw $a1, 0x38($s1) +/* A4950C 80240F4C 8E270040 */ lw $a3, 0x40($s1) +/* A49510 80240F50 0C01BFD4 */ jal func_8006FF50 +/* A49514 80240F54 0000202D */ daddu $a0, $zero, $zero +/* A49518 80240F58 AE420078 */ sw $v0, 0x78($s2) +/* A4951C 80240F5C A630008E */ sh $s0, 0x8e($s1) +/* A49520 80240F60 0809043E */ j .L802410F8 +/* A49524 80240F64 AED50070 */ sw $s5, 0x70($s6) +/* A49528 80240F68 9622008E */ lhu $v0, 0x8e($s1) +/* A4952C 80240F6C 2442FFFF */ addiu $v0, $v0, -1 +/* A49530 80240F70 A622008E */ sh $v0, 0x8e($s1) +/* A49534 80240F74 00021400 */ sll $v0, $v0, 0x10 +/* A49538 80240F78 58400001 */ blezl $v0, .L80240F80 +/* A4953C 80240F7C 24150014 */ addiu $s5, $zero, 0x14 +.L80240F80: +/* A49540 80240F80 16A0000A */ bnez $s5, .L80240FAC +/* A49544 80240F84 00000000 */ nop +/* A49548 80240F88 8E250018 */ lw $a1, 0x18($s1) +/* A4954C 80240F8C 8E26000C */ lw $a2, 0xc($s1) +/* A49550 80240F90 0C00EA95 */ jal npc_move_heading +/* A49554 80240F94 0220202D */ daddu $a0, $s1, $zero +/* A49558 80240F98 C620003C */ lwc1 $f0, 0x3c($s1) +/* A4955C 80240F9C C622001C */ lwc1 $f2, 0x1c($s1) +/* A49560 80240FA0 46020000 */ add.s $f0, $f0, $f2 +/* A49564 80240FA4 0809043E */ j .L802410F8 +/* A49568 80240FA8 E620003C */ swc1 $f0, 0x3c($s1) +.L80240FAC: +/* A4956C 80240FAC 862200A8 */ lh $v0, 0xa8($s1) +/* A49570 80240FB0 3C013FE0 */ lui $at, 0x3fe0 +/* A49574 80240FB4 44810800 */ mtc1 $at, $f1 +/* A49578 80240FB8 44800000 */ mtc1 $zero, $f0 +/* A4957C 80240FBC 44821000 */ mtc1 $v0, $f2 +/* A49580 80240FC0 00000000 */ nop +/* A49584 80240FC4 468010A1 */ cvt.d.w $f2, $f2 +/* A49588 80240FC8 46201082 */ mul.d $f2, $f2, $f0 +/* A4958C 80240FCC 00000000 */ nop +/* A49590 80240FD0 C620003C */ lwc1 $f0, 0x3c($s1) +/* A49594 80240FD4 AE20001C */ sw $zero, 0x1c($s1) +/* A49598 80240FD8 46000021 */ cvt.d.s $f0, $f0 +/* A4959C 80240FDC 46220001 */ sub.d $f0, $f0, $f2 +/* A495A0 80240FE0 AE200018 */ sw $zero, 0x18($s1) +/* A495A4 80240FE4 24020003 */ addiu $v0, $zero, 3 +/* A495A8 80240FE8 46200020 */ cvt.s.d $f0, $f0 +/* A495AC 80240FEC E620003C */ swc1 $f0, 0x3c($s1) +/* A495B0 80240FF0 AE42006C */ sw $v0, 0x6c($s2) +/* A495B4 80240FF4 24020004 */ addiu $v0, $zero, 4 +/* A495B8 80240FF8 A620008E */ sh $zero, 0x8e($s1) +/* A495BC 80240FFC 0809043E */ j .L802410F8 +/* A495C0 80241000 AEC20070 */ sw $v0, 0x70($s6) +/* A495C4 80241004 9622008E */ lhu $v0, 0x8e($s1) +/* A495C8 80241008 24420001 */ addiu $v0, $v0, 1 +/* A495CC 8024100C A622008E */ sh $v0, 0x8e($s1) +/* A495D0 80241010 00021400 */ sll $v0, $v0, 0x10 +/* A495D4 80241014 00021C03 */ sra $v1, $v0, 0x10 +/* A495D8 80241018 28620007 */ slti $v0, $v1, 7 +/* A495DC 8024101C 10400027 */ beqz $v0, .L802410BC +/* A495E0 80241020 24020007 */ addiu $v0, $zero, 7 +/* A495E4 80241024 8622008E */ lh $v0, 0x8e($s1) +/* A495E8 80241028 3C01401C */ lui $at, 0x401c +/* A495EC 8024102C 44810800 */ mtc1 $at, $f1 +/* A495F0 80241030 44800000 */ mtc1 $zero, $f0 +/* A495F4 80241034 44822000 */ mtc1 $v0, $f4 +/* A495F8 80241038 00000000 */ nop +/* A495FC 8024103C 46802120 */ cvt.s.w $f4, $f4 +/* A49600 80241040 46002121 */ cvt.d.s $f4, $f4 +/* A49604 80241044 46202102 */ mul.d $f4, $f4, $f0 +/* A49608 80241048 00000000 */ nop +/* A4960C 8024104C 44821000 */ mtc1 $v0, $f2 +/* A49610 80241050 00000000 */ nop +/* A49614 80241054 468010A0 */ cvt.s.w $f2, $f2 +/* A49618 80241058 460010A1 */ cvt.d.s $f2, $f2 +/* A4961C 8024105C 46201082 */ mul.d $f2, $f2, $f0 +/* A49620 80241060 00000000 */ nop +/* A49624 80241064 C620003C */ lwc1 $f0, 0x3c($s1) +/* A49628 80241068 3C01400C */ lui $at, 0x400c +/* A4962C 8024106C 44813800 */ mtc1 $at, $f7 +/* A49630 80241070 44803000 */ mtc1 $zero, $f6 +/* A49634 80241074 46000021 */ cvt.d.s $f0, $f0 +/* A49638 80241078 46260001 */ sub.d $f0, $f0, $f6 +/* A4963C 8024107C 3C014034 */ lui $at, 0x4034 +/* A49640 80241080 44813800 */ mtc1 $at, $f7 +/* A49644 80241084 44803000 */ mtc1 $zero, $f6 +/* A49648 80241088 00000000 */ nop +/* A4964C 8024108C 46262100 */ add.d $f4, $f4, $f6 +/* A49650 80241090 46200020 */ cvt.s.d $f0, $f0 +/* A49654 80241094 E620003C */ swc1 $f0, 0x3c($s1) +/* A49658 80241098 46261080 */ add.d $f2, $f2, $f6 +/* A4965C 8024109C 4620220D */ trunc.w.d $f8, $f4 +/* A49660 802410A0 44024000 */ mfc1 $v0, $f8 +/* A49664 802410A4 00000000 */ nop +/* A49668 802410A8 A62200A6 */ sh $v0, 0xa6($s1) +/* A4966C 802410AC 4620120D */ trunc.w.d $f8, $f2 +/* A49670 802410B0 44024000 */ mfc1 $v0, $f8 +/* A49674 802410B4 0809043E */ j .L802410F8 +/* A49678 802410B8 A62200A8 */ sh $v0, 0xa8($s1) +.L802410BC: +/* A4967C 802410BC 1462000A */ bne $v1, $v0, .L802410E8 +/* A49680 802410C0 28620010 */ slti $v0, $v1, 0x10 +/* A49684 802410C4 3C01C47A */ lui $at, 0xc47a +/* A49688 802410C8 44810000 */ mtc1 $at, $f0 +/* A4968C 802410CC 24020014 */ addiu $v0, $zero, 0x14 +/* A49690 802410D0 AE200038 */ sw $zero, 0x38($s1) +/* A49694 802410D4 AE200040 */ sw $zero, 0x40($s1) +/* A49698 802410D8 A62200A6 */ sh $v0, 0xa6($s1) +/* A4969C 802410DC A62200A8 */ sh $v0, 0xa8($s1) +/* A496A0 802410E0 0809043E */ j .L802410F8 +/* A496A4 802410E4 E620003C */ swc1 $f0, 0x3c($s1) +.L802410E8: +/* A496A8 802410E8 14400003 */ bnez $v0, .L802410F8 +/* A496AC 802410EC 00000000 */ nop +/* A496B0 802410F0 AE40006C */ sw $zero, 0x6c($s2) +/* A496B4 802410F4 AEC00070 */ sw $zero, 0x70($s6) +.L802410F8: +/* A496B8 802410F8 8FBF037C */ lw $ra, 0x37c($sp) +/* A496BC 802410FC 8FB60378 */ lw $s6, 0x378($sp) +/* A496C0 80241100 8FB50374 */ lw $s5, 0x374($sp) +/* A496C4 80241104 8FB40370 */ lw $s4, 0x370($sp) +/* A496C8 80241108 8FB3036C */ lw $s3, 0x36c($sp) +/* A496CC 8024110C 8FB20368 */ lw $s2, 0x368($sp) +/* A496D0 80241110 8FB10364 */ lw $s1, 0x364($sp) +/* A496D4 80241114 8FB00360 */ lw $s0, 0x360($sp) +/* A496D8 80241118 D7B40380 */ ldc1 $f20, 0x380($sp) +/* A496DC 8024111C 0000102D */ daddu $v0, $zero, $zero +/* A496E0 80241120 03E00008 */ jr $ra +/* A496E4 80241124 27BD0388 */ addiu $sp, $sp, 0x388 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241128_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241128_A485C0.s new file mode 100644 index 0000000000..06a8a90cd1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241128_A485C0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241128_A496E8 +/* A496E8 80241128 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A496EC 8024112C AFB10014 */ sw $s1, 0x14($sp) +/* A496F0 80241130 0080882D */ daddu $s1, $a0, $zero +/* A496F4 80241134 AFBF0018 */ sw $ra, 0x18($sp) +/* A496F8 80241138 AFB00010 */ sw $s0, 0x10($sp) +/* A496FC 8024113C 8E300148 */ lw $s0, 0x148($s1) +/* A49700 80241140 0C00EABB */ jal get_npc_unsafe +/* A49704 80241144 86040008 */ lh $a0, 8($s0) +/* A49708 80241148 0040282D */ daddu $a1, $v0, $zero +/* A4970C 8024114C 94A2008E */ lhu $v0, 0x8e($a1) +/* A49710 80241150 2442FFFF */ addiu $v0, $v0, -1 +/* A49714 80241154 A4A2008E */ sh $v0, 0x8e($a1) +/* A49718 80241158 00021400 */ sll $v0, $v0, 0x10 +/* A4971C 8024115C 1C40000A */ bgtz $v0, .L80241188 +/* A49720 80241160 2404FFFD */ addiu $a0, $zero, -3 +/* A49724 80241164 8E0300CC */ lw $v1, 0xcc($s0) +/* A49728 80241168 8CA20000 */ lw $v0, ($a1) +/* A4972C 8024116C 8C630000 */ lw $v1, ($v1) +/* A49730 80241170 00441024 */ and $v0, $v0, $a0 +/* A49734 80241174 ACA20000 */ sw $v0, ($a1) +/* A49738 80241178 24020001 */ addiu $v0, $zero, 1 +/* A4973C 8024117C A4A0008E */ sh $zero, 0x8e($a1) +/* A49740 80241180 ACA30028 */ sw $v1, 0x28($a1) +/* A49744 80241184 AE220070 */ sw $v0, 0x70($s1) +.L80241188: +/* A49748 80241188 8FBF0018 */ lw $ra, 0x18($sp) +/* A4974C 8024118C 8FB10014 */ lw $s1, 0x14($sp) +/* A49750 80241190 8FB00010 */ lw $s0, 0x10($sp) +/* A49754 80241194 03E00008 */ jr $ra +/* A49758 80241198 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_8024119C_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024119C_A485C0.s new file mode 100644 index 0000000000..1d0940049f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024119C_A485C0.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024119C_A4975C +/* A4975C 8024119C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A49760 802411A0 AFB3001C */ sw $s3, 0x1c($sp) +/* A49764 802411A4 0080982D */ daddu $s3, $a0, $zero +/* A49768 802411A8 AFBF0020 */ sw $ra, 0x20($sp) +/* A4976C 802411AC AFB20018 */ sw $s2, 0x18($sp) +/* A49770 802411B0 AFB10014 */ sw $s1, 0x14($sp) +/* A49774 802411B4 AFB00010 */ sw $s0, 0x10($sp) +/* A49778 802411B8 8E720148 */ lw $s2, 0x148($s3) +/* A4977C 802411BC 0C00EABB */ jal get_npc_unsafe +/* A49780 802411C0 86440008 */ lh $a0, 8($s2) +/* A49784 802411C4 0040802D */ daddu $s0, $v0, $zero +/* A49788 802411C8 8603008E */ lh $v1, 0x8e($s0) +/* A4978C 802411CC 3C118024 */ lui $s1, 0x8024 +/* A49790 802411D0 263125E0 */ addiu $s1, $s1, 0x25e0 +/* A49794 802411D4 00031040 */ sll $v0, $v1, 1 +/* A49798 802411D8 00431021 */ addu $v0, $v0, $v1 +/* A4979C 802411DC 00021080 */ sll $v0, $v0, 2 +/* A497A0 802411E0 3C018024 */ lui $at, 0x8024 +/* A497A4 802411E4 00220821 */ addu $at, $at, $v0 +/* A497A8 802411E8 C42025E0 */ lwc1 $f0, 0x25e0($at) +/* A497AC 802411EC 00031040 */ sll $v0, $v1, 1 +/* A497B0 802411F0 00431021 */ addu $v0, $v0, $v1 +/* A497B4 802411F4 00021080 */ sll $v0, $v0, 2 +/* A497B8 802411F8 E6000054 */ swc1 $f0, 0x54($s0) +/* A497BC 802411FC 3C018024 */ lui $at, 0x8024 +/* A497C0 80241200 00220821 */ addu $at, $at, $v0 +/* A497C4 80241204 C42025E4 */ lwc1 $f0, 0x25e4($at) +/* A497C8 80241208 00031040 */ sll $v0, $v1, 1 +/* A497CC 8024120C 00431021 */ addu $v0, $v0, $v1 +/* A497D0 80241210 9603008E */ lhu $v1, 0x8e($s0) +/* A497D4 80241214 00021080 */ sll $v0, $v0, 2 +/* A497D8 80241218 E6000058 */ swc1 $f0, 0x58($s0) +/* A497DC 8024121C 3C018024 */ lui $at, 0x8024 +/* A497E0 80241220 00220821 */ addu $at, $at, $v0 +/* A497E4 80241224 902225E8 */ lbu $v0, 0x25e8($at) +/* A497E8 80241228 24630001 */ addiu $v1, $v1, 1 +/* A497EC 8024122C A603008E */ sh $v1, 0x8e($s0) +/* A497F0 80241230 00031C00 */ sll $v1, $v1, 0x10 +/* A497F4 80241234 00031C03 */ sra $v1, $v1, 0x10 +/* A497F8 80241238 A20200AC */ sb $v0, 0xac($s0) +/* A497FC 8024123C 24020004 */ addiu $v0, $zero, 4 +/* A49800 80241240 14620007 */ bne $v1, $v0, .L80241260 +/* A49804 80241244 00000000 */ nop +/* A49808 80241248 0C00EAFF */ jal disable_npc_shadow +/* A4980C 8024124C 0200202D */ daddu $a0, $s0, $zero +/* A49810 80241250 8E420000 */ lw $v0, ($s2) +/* A49814 80241254 3C031F10 */ lui $v1, 0x1f10 +/* A49818 80241258 00431025 */ or $v0, $v0, $v1 +/* A4981C 8024125C AE420000 */ sw $v0, ($s2) +.L80241260: +/* A49820 80241260 8602008E */ lh $v0, 0x8e($s0) +/* A49824 80241264 00021840 */ sll $v1, $v0, 1 +/* A49828 80241268 00621821 */ addu $v1, $v1, $v0 +/* A4982C 8024126C 00031880 */ sll $v1, $v1, 2 +/* A49830 80241270 00711821 */ addu $v1, $v1, $s1 +/* A49834 80241274 90620008 */ lbu $v0, 8($v1) +/* A49838 80241278 1440000C */ bnez $v0, .L802412AC +/* A4983C 8024127C 240200FF */ addiu $v0, $zero, 0xff +/* A49840 80241280 A20200AC */ sb $v0, 0xac($s0) +/* A49844 80241284 24020005 */ addiu $v0, $zero, 5 +/* A49848 80241288 8E030000 */ lw $v1, ($s0) +/* A4984C 8024128C 3C013F80 */ lui $at, 0x3f80 +/* A49850 80241290 44810000 */ mtc1 $at, $f0 +/* A49854 80241294 34630002 */ ori $v1, $v1, 2 +/* A49858 80241298 E6000054 */ swc1 $f0, 0x54($s0) +/* A4985C 8024129C E6000058 */ swc1 $f0, 0x58($s0) +/* A49860 802412A0 E600005C */ swc1 $f0, 0x5c($s0) +/* A49864 802412A4 AE030000 */ sw $v1, ($s0) +/* A49868 802412A8 AE620070 */ sw $v0, 0x70($s3) +.L802412AC: +/* A4986C 802412AC 8FBF0020 */ lw $ra, 0x20($sp) +/* A49870 802412B0 8FB3001C */ lw $s3, 0x1c($sp) +/* A49874 802412B4 8FB20018 */ lw $s2, 0x18($sp) +/* A49878 802412B8 8FB10014 */ lw $s1, 0x14($sp) +/* A4987C 802412BC 8FB00010 */ lw $s0, 0x10($sp) +/* A49880 802412C0 03E00008 */ jr $ra +/* A49884 802412C4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802412C8.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802412C8.s new file mode 100644 index 0000000000..ad14aa7084 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802412C8.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C8 +/* A49888 802412C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4988C 802412CC AFB10014 */ sw $s1, 0x14($sp) +/* A49890 802412D0 0080882D */ daddu $s1, $a0, $zero +/* A49894 802412D4 AFBF0018 */ sw $ra, 0x18($sp) +/* A49898 802412D8 AFB00010 */ sw $s0, 0x10($sp) +/* A4989C 802412DC 8E220148 */ lw $v0, 0x148($s1) +/* A498A0 802412E0 0C00EABB */ jal get_npc_unsafe +/* A498A4 802412E4 84440008 */ lh $a0, 8($v0) +/* A498A8 802412E8 24040064 */ addiu $a0, $zero, 0x64 +/* A498AC 802412EC 0C00A67F */ jal rand_int +/* A498B0 802412F0 0040802D */ daddu $s0, $v0, $zero +/* A498B4 802412F4 00021FC2 */ srl $v1, $v0, 0x1f +/* A498B8 802412F8 00431821 */ addu $v1, $v0, $v1 +/* A498BC 802412FC 00031843 */ sra $v1, $v1, 1 +/* A498C0 80241300 00031840 */ sll $v1, $v1, 1 +/* A498C4 80241304 00431023 */ subu $v0, $v0, $v1 +/* A498C8 80241308 3C014334 */ lui $at, 0x4334 +/* A498CC 8024130C 44811000 */ mtc1 $at, $f2 +/* A498D0 80241310 44820000 */ mtc1 $v0, $f0 +/* A498D4 80241314 00000000 */ nop +/* A498D8 80241318 46800020 */ cvt.s.w $f0, $f0 +/* A498DC 8024131C 46020002 */ mul.s $f0, $f0, $f2 +/* A498E0 80241320 00000000 */ nop +/* A498E4 80241324 3C013F4C */ lui $at, 0x3f4c +/* A498E8 80241328 3421CCCD */ ori $at, $at, 0xcccd +/* A498EC 8024132C 44812000 */ mtc1 $at, $f4 +/* A498F0 80241330 3C0142B4 */ lui $at, 0x42b4 +/* A498F4 80241334 44811000 */ mtc1 $at, $f2 +/* A498F8 80241338 2402000F */ addiu $v0, $zero, 0xf +/* A498FC 8024133C A602008E */ sh $v0, 0x8e($s0) +/* A49900 80241340 46020000 */ add.s $f0, $f0, $f2 +/* A49904 80241344 24020006 */ addiu $v0, $zero, 6 +/* A49908 80241348 E6040018 */ swc1 $f4, 0x18($s0) +/* A4990C 8024134C E600000C */ swc1 $f0, 0xc($s0) +/* A49910 80241350 AE220070 */ sw $v0, 0x70($s1) +/* A49914 80241354 8FBF0018 */ lw $ra, 0x18($sp) +/* A49918 80241358 8FB10014 */ lw $s1, 0x14($sp) +/* A4991C 8024135C 8FB00010 */ lw $s0, 0x10($sp) +/* A49920 80241360 03E00008 */ jr $ra +/* A49924 80241364 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241368.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241368.s new file mode 100644 index 0000000000..8c45e5703b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241368.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241368 +/* A49928 80241368 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4992C 8024136C AFB10014 */ sw $s1, 0x14($sp) +/* A49930 80241370 0080882D */ daddu $s1, $a0, $zero +/* A49934 80241374 AFBF0018 */ sw $ra, 0x18($sp) +/* A49938 80241378 AFB00010 */ sw $s0, 0x10($sp) +/* A4993C 8024137C 8E220148 */ lw $v0, 0x148($s1) +/* A49940 80241380 0C00EABB */ jal get_npc_unsafe +/* A49944 80241384 84440008 */ lh $a0, 8($v0) +/* A49948 80241388 0040802D */ daddu $s0, $v0, $zero +/* A4994C 8024138C 8E050018 */ lw $a1, 0x18($s0) +/* A49950 80241390 8E06000C */ lw $a2, 0xc($s0) +/* A49954 80241394 0C00EA95 */ jal npc_move_heading +/* A49958 80241398 0200202D */ daddu $a0, $s0, $zero +/* A4995C 8024139C 9602008E */ lhu $v0, 0x8e($s0) +/* A49960 802413A0 2442FFFF */ addiu $v0, $v0, -1 +/* A49964 802413A4 A602008E */ sh $v0, 0x8e($s0) +/* A49968 802413A8 00021400 */ sll $v0, $v0, 0x10 +/* A4996C 802413AC 1C400002 */ bgtz $v0, .L802413B8 +/* A49970 802413B0 2402000A */ addiu $v0, $zero, 0xa +/* A49974 802413B4 AE220070 */ sw $v0, 0x70($s1) +.L802413B8: +/* A49978 802413B8 8FBF0018 */ lw $ra, 0x18($sp) +/* A4997C 802413BC 8FB10014 */ lw $s1, 0x14($sp) +/* A49980 802413C0 8FB00010 */ lw $s0, 0x10($sp) +/* A49984 802413C4 03E00008 */ jr $ra +/* A49988 802413C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802413CC_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802413CC_A485C0.s new file mode 100644 index 0000000000..050d61c7ba --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802413CC_A485C0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413CC_A4998C +/* A4998C 802413CC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A49990 802413D0 AFB30034 */ sw $s3, 0x34($sp) +/* A49994 802413D4 0080982D */ daddu $s3, $a0, $zero +/* A49998 802413D8 AFBF0038 */ sw $ra, 0x38($sp) +/* A4999C 802413DC AFB20030 */ sw $s2, 0x30($sp) +/* A499A0 802413E0 AFB1002C */ sw $s1, 0x2c($sp) +/* A499A4 802413E4 AFB00028 */ sw $s0, 0x28($sp) +/* A499A8 802413E8 8E700148 */ lw $s0, 0x148($s3) +/* A499AC 802413EC 0C00EABB */ jal get_npc_unsafe +/* A499B0 802413F0 86040008 */ lh $a0, 8($s0) +/* A499B4 802413F4 0040902D */ daddu $s2, $v0, $zero +/* A499B8 802413F8 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A499BC 802413FC 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A499C0 80241400 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A499C4 80241404 8E220000 */ lw $v0, ($s1) +/* A499C8 80241408 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A499CC 8024140C 8C460028 */ lw $a2, 0x28($v0) +/* A499D0 80241410 0C00A7B5 */ jal dist2D +/* A499D4 80241414 8C470030 */ lw $a3, 0x30($v0) +/* A499D8 80241418 24020001 */ addiu $v0, $zero, 1 +/* A499DC 8024141C AE02006C */ sw $v0, 0x6c($s0) +/* A499E0 80241420 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A499E4 80241424 8E0200CC */ lw $v0, 0xcc($s0) +/* A499E8 80241428 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A499EC 8024142C 8E230000 */ lw $v1, ($s1) +/* A499F0 80241430 8C420020 */ lw $v0, 0x20($v0) +/* A499F4 80241434 AE420028 */ sw $v0, 0x28($s2) +/* A499F8 80241438 8C660028 */ lw $a2, 0x28($v1) +/* A499FC 8024143C 8C670030 */ lw $a3, 0x30($v1) +/* A49A00 80241440 0C00A720 */ jal atan2 +/* A49A04 80241444 E7A00024 */ swc1 $f0, 0x24($sp) +/* A49A08 80241448 8E420000 */ lw $v0, ($s2) +/* A49A0C 8024144C 3C013DCC */ lui $at, 0x3dcc +/* A49A10 80241450 3421CCCD */ ori $at, $at, 0xcccd +/* A49A14 80241454 44811000 */ mtc1 $at, $f2 +/* A49A18 80241458 2403FFFD */ addiu $v1, $zero, -3 +/* A49A1C 8024145C E640000C */ swc1 $f0, 0xc($s2) +/* A49A20 80241460 00431024 */ and $v0, $v0, $v1 +/* A49A24 80241464 AE420000 */ sw $v0, ($s2) +/* A49A28 80241468 30420008 */ andi $v0, $v0, 8 +/* A49A2C 8024146C E6420054 */ swc1 $f2, 0x54($s2) +/* A49A30 80241470 E6420058 */ swc1 $f2, 0x58($s2) +/* A49A34 80241474 1440001B */ bnez $v0, .L802414E4 +/* A49A38 80241478 E642005C */ swc1 $f2, 0x5c($s2) +/* A49A3C 8024147C 27A6001C */ addiu $a2, $sp, 0x1c +/* A49A40 80241480 27A70020 */ addiu $a3, $sp, 0x20 +/* A49A44 80241484 27A20024 */ addiu $v0, $sp, 0x24 +/* A49A48 80241488 C6420038 */ lwc1 $f2, 0x38($s2) +/* A49A4C 8024148C C640003C */ lwc1 $f0, 0x3c($s2) +/* A49A50 80241490 3C014348 */ lui $at, 0x4348 +/* A49A54 80241494 44813000 */ mtc1 $at, $f6 +/* A49A58 80241498 46000021 */ cvt.d.s $f0, $f0 +/* A49A5C 8024149C E7A20018 */ swc1 $f2, 0x18($sp) +/* A49A60 802414A0 3C014059 */ lui $at, 0x4059 +/* A49A64 802414A4 44811800 */ mtc1 $at, $f3 +/* A49A68 802414A8 44801000 */ mtc1 $zero, $f2 +/* A49A6C 802414AC C6440040 */ lwc1 $f4, 0x40($s2) +/* A49A70 802414B0 46220000 */ add.d $f0, $f0, $f2 +/* A49A74 802414B4 E7A60024 */ swc1 $f6, 0x24($sp) +/* A49A78 802414B8 E7A40020 */ swc1 $f4, 0x20($sp) +/* A49A7C 802414BC 46200020 */ cvt.s.d $f0, $f0 +/* A49A80 802414C0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A49A84 802414C4 AFA20010 */ sw $v0, 0x10($sp) +/* A49A88 802414C8 8E440080 */ lw $a0, 0x80($s2) +/* A49A8C 802414CC 0C0372DF */ jal func_800DCB7C +/* A49A90 802414D0 27A50018 */ addiu $a1, $sp, 0x18 +/* A49A94 802414D4 10400004 */ beqz $v0, .L802414E8 +/* A49A98 802414D8 2402000B */ addiu $v0, $zero, 0xb +/* A49A9C 802414DC C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A49AA0 802414E0 E640003C */ swc1 $f0, 0x3c($s2) +.L802414E4: +/* A49AA4 802414E4 2402000B */ addiu $v0, $zero, 0xb +.L802414E8: +/* A49AA8 802414E8 A640008E */ sh $zero, 0x8e($s2) +/* A49AAC 802414EC AE620070 */ sw $v0, 0x70($s3) +/* A49AB0 802414F0 8FBF0038 */ lw $ra, 0x38($sp) +/* A49AB4 802414F4 8FB30034 */ lw $s3, 0x34($sp) +/* A49AB8 802414F8 8FB20030 */ lw $s2, 0x30($sp) +/* A49ABC 802414FC 8FB1002C */ lw $s1, 0x2c($sp) +/* A49AC0 80241500 8FB00028 */ lw $s0, 0x28($sp) +/* A49AC4 80241504 03E00008 */ jr $ra +/* A49AC8 80241508 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_8024150C.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024150C.s new file mode 100644 index 0000000000..e2022f2438 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_8024150C.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024150C +/* A49ACC 8024150C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A49AD0 80241510 AFB20028 */ sw $s2, 0x28($sp) +/* A49AD4 80241514 0080902D */ daddu $s2, $a0, $zero +/* A49AD8 80241518 AFBF002C */ sw $ra, 0x2c($sp) +/* A49ADC 8024151C AFB10024 */ sw $s1, 0x24($sp) +/* A49AE0 80241520 AFB00020 */ sw $s0, 0x20($sp) +/* A49AE4 80241524 8E510148 */ lw $s1, 0x148($s2) +/* A49AE8 80241528 0C00EABB */ jal get_npc_unsafe +/* A49AEC 8024152C 86240008 */ lh $a0, 8($s1) +/* A49AF0 80241530 8E23006C */ lw $v1, 0x6c($s1) +/* A49AF4 80241534 14600006 */ bnez $v1, .L80241550 +/* A49AF8 80241538 0040802D */ daddu $s0, $v0, $zero +/* A49AFC 8024153C 8603008E */ lh $v1, 0x8e($s0) +/* A49B00 80241540 00031100 */ sll $v0, $v1, 4 +/* A49B04 80241544 00431023 */ subu $v0, $v0, $v1 +/* A49B08 80241548 08090558 */ j .L80241560 +/* A49B0C 8024154C 24430082 */ addiu $v1, $v0, 0x82 +.L80241550: +/* A49B10 80241550 8603008E */ lh $v1, 0x8e($s0) +/* A49B14 80241554 00031100 */ sll $v0, $v1, 4 +/* A49B18 80241558 00431023 */ subu $v0, $v0, $v1 +/* A49B1C 8024155C 2443001E */ addiu $v1, $v0, 0x1e +.L80241560: +/* A49B20 80241560 00031400 */ sll $v0, $v1, 0x10 +/* A49B24 80241564 00021403 */ sra $v0, $v0, 0x10 +/* A49B28 80241568 28420100 */ slti $v0, $v0, 0x100 +/* A49B2C 8024156C 50400001 */ beql $v0, $zero, .L80241574 +/* A49B30 80241570 240300FF */ addiu $v1, $zero, 0xff +.L80241574: +/* A49B34 80241574 8602008E */ lh $v0, 0x8e($s0) +/* A49B38 80241578 3C018024 */ lui $at, 0x8024 +/* A49B3C 8024157C D4223920 */ ldc1 $f2, 0x3920($at) +/* A49B40 80241580 44820000 */ mtc1 $v0, $f0 +/* A49B44 80241584 00000000 */ nop +/* A49B48 80241588 46800020 */ cvt.s.w $f0, $f0 +/* A49B4C 8024158C 46000021 */ cvt.d.s $f0, $f0 +/* A49B50 80241590 46220002 */ mul.d $f0, $f0, $f2 +/* A49B54 80241594 00000000 */ nop +/* A49B58 80241598 3C018024 */ lui $at, 0x8024 +/* A49B5C 8024159C D4223928 */ ldc1 $f2, 0x3928($at) +/* A49B60 802415A0 46220000 */ add.d $f0, $f0, $f2 +/* A49B64 802415A4 A20300AC */ sb $v1, 0xac($s0) +/* A49B68 802415A8 3C013FF0 */ lui $at, 0x3ff0 +/* A49B6C 802415AC 44811800 */ mtc1 $at, $f3 +/* A49B70 802415B0 44801000 */ mtc1 $zero, $f2 +/* A49B74 802415B4 46200020 */ cvt.s.d $f0, $f0 +/* A49B78 802415B8 E6000054 */ swc1 $f0, 0x54($s0) +/* A49B7C 802415BC 46000021 */ cvt.d.s $f0, $f0 +/* A49B80 802415C0 4620103C */ c.lt.d $f2, $f0 +/* A49B84 802415C4 00000000 */ nop +/* A49B88 802415C8 45000005 */ bc1f .L802415E0 +/* A49B8C 802415CC 24030005 */ addiu $v1, $zero, 5 +/* A49B90 802415D0 3C013F80 */ lui $at, 0x3f80 +/* A49B94 802415D4 44810000 */ mtc1 $at, $f0 +/* A49B98 802415D8 00000000 */ nop +/* A49B9C 802415DC E6000054 */ swc1 $f0, 0x54($s0) +.L802415E0: +/* A49BA0 802415E0 C6000054 */ lwc1 $f0, 0x54($s0) +/* A49BA4 802415E4 9602008E */ lhu $v0, 0x8e($s0) +/* A49BA8 802415E8 46000086 */ mov.s $f2, $f0 +/* A49BAC 802415EC 24420001 */ addiu $v0, $v0, 1 +/* A49BB0 802415F0 A602008E */ sh $v0, 0x8e($s0) +/* A49BB4 802415F4 00021400 */ sll $v0, $v0, 0x10 +/* A49BB8 802415F8 00021403 */ sra $v0, $v0, 0x10 +/* A49BBC 802415FC E6000058 */ swc1 $f0, 0x58($s0) +/* A49BC0 80241600 14430008 */ bne $v0, $v1, .L80241624 +/* A49BC4 80241604 E602005C */ swc1 $f2, 0x5c($s0) +/* A49BC8 80241608 0C00EAE8 */ jal enable_npc_shadow +/* A49BCC 8024160C 0200202D */ daddu $a0, $s0, $zero +/* A49BD0 80241610 3C03E0EF */ lui $v1, 0xe0ef +/* A49BD4 80241614 8E220000 */ lw $v0, ($s1) +/* A49BD8 80241618 3463FFFF */ ori $v1, $v1, 0xffff +/* A49BDC 8024161C 00431024 */ and $v0, $v0, $v1 +/* A49BE0 80241620 AE220000 */ sw $v0, ($s1) +.L80241624: +/* A49BE4 80241624 8E22006C */ lw $v0, 0x6c($s1) +/* A49BE8 80241628 1440000E */ bnez $v0, .L80241664 +/* A49BEC 8024162C 00000000 */ nop +/* A49BF0 80241630 8602008E */ lh $v0, 0x8e($s0) +/* A49BF4 80241634 28420014 */ slti $v0, $v0, 0x14 +/* A49BF8 80241638 14400017 */ bnez $v0, .L80241698 +/* A49BFC 8024163C 0000282D */ daddu $a1, $zero, $zero +/* A49C00 80241640 00A0302D */ daddu $a2, $a1, $zero +/* A49C04 80241644 AFA00010 */ sw $zero, 0x10($sp) +/* A49C08 80241648 AFA00014 */ sw $zero, 0x14($sp) +/* A49C0C 8024164C AFA00018 */ sw $zero, 0x18($sp) +/* A49C10 80241650 8E040024 */ lw $a0, 0x24($s0) +/* A49C14 80241654 0C0B7A25 */ jal func_802DE894 +/* A49C18 80241658 00A0382D */ daddu $a3, $a1, $zero +/* A49C1C 8024165C 0809059D */ j .L80241674 +/* A49C20 80241660 00000000 */ nop +.L80241664: +/* A49C24 80241664 8602008E */ lh $v0, 0x8e($s0) +/* A49C28 80241668 2842000A */ slti $v0, $v0, 0xa +/* A49C2C 8024166C 1440000A */ bnez $v0, .L80241698 +/* A49C30 80241670 00000000 */ nop +.L80241674: +/* A49C34 80241674 3C013F80 */ lui $at, 0x3f80 +/* A49C38 80241678 44810000 */ mtc1 $at, $f0 +/* A49C3C 8024167C 240200FF */ addiu $v0, $zero, 0xff +/* A49C40 80241680 A20200AC */ sb $v0, 0xac($s0) +/* A49C44 80241684 24020014 */ addiu $v0, $zero, 0x14 +/* A49C48 80241688 E6000054 */ swc1 $f0, 0x54($s0) +/* A49C4C 8024168C E6000058 */ swc1 $f0, 0x58($s0) +/* A49C50 80241690 E600005C */ swc1 $f0, 0x5c($s0) +/* A49C54 80241694 AE420070 */ sw $v0, 0x70($s2) +.L80241698: +/* A49C58 80241698 8FBF002C */ lw $ra, 0x2c($sp) +/* A49C5C 8024169C 8FB20028 */ lw $s2, 0x28($sp) +/* A49C60 802416A0 8FB10024 */ lw $s1, 0x24($sp) +/* A49C64 802416A4 8FB00020 */ lw $s0, 0x20($sp) +/* A49C68 802416A8 03E00008 */ jr $ra +/* A49C6C 802416AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802416B0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802416B0.s new file mode 100644 index 0000000000..0e0111060c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802416B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416B0 +/* A49C70 802416B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A49C74 802416B4 AFB00010 */ sw $s0, 0x10($sp) +/* A49C78 802416B8 0080802D */ daddu $s0, $a0, $zero +/* A49C7C 802416BC AFBF0014 */ sw $ra, 0x14($sp) +/* A49C80 802416C0 8E020148 */ lw $v0, 0x148($s0) +/* A49C84 802416C4 0C00EABB */ jal get_npc_unsafe +/* A49C88 802416C8 84440008 */ lh $a0, 8($v0) +/* A49C8C 802416CC 24030028 */ addiu $v1, $zero, 0x28 +/* A49C90 802416D0 A443008E */ sh $v1, 0x8e($v0) +/* A49C94 802416D4 24020015 */ addiu $v0, $zero, 0x15 +/* A49C98 802416D8 AE020070 */ sw $v0, 0x70($s0) +/* A49C9C 802416DC 8FBF0014 */ lw $ra, 0x14($sp) +/* A49CA0 802416E0 8FB00010 */ lw $s0, 0x10($sp) +/* A49CA4 802416E4 03E00008 */ jr $ra +/* A49CA8 802416E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802416EC_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802416EC_A485C0.s new file mode 100644 index 0000000000..d3f219c96f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802416EC_A485C0.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416EC_A49CAC +/* A49CAC 802416EC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A49CB0 802416F0 AFB40048 */ sw $s4, 0x48($sp) +/* A49CB4 802416F4 0080A02D */ daddu $s4, $a0, $zero +/* A49CB8 802416F8 AFBF004C */ sw $ra, 0x4c($sp) +/* A49CBC 802416FC AFB30044 */ sw $s3, 0x44($sp) +/* A49CC0 80241700 AFB20040 */ sw $s2, 0x40($sp) +/* A49CC4 80241704 AFB1003C */ sw $s1, 0x3c($sp) +/* A49CC8 80241708 AFB00038 */ sw $s0, 0x38($sp) +/* A49CCC 8024170C F7B40050 */ sdc1 $f20, 0x50($sp) +/* A49CD0 80241710 8E910148 */ lw $s1, 0x148($s4) +/* A49CD4 80241714 00A0902D */ daddu $s2, $a1, $zero +/* A49CD8 80241718 86240008 */ lh $a0, 8($s1) +/* A49CDC 8024171C 0C00EABB */ jal get_npc_unsafe +/* A49CE0 80241720 00C0982D */ daddu $s3, $a2, $zero +/* A49CE4 80241724 0040802D */ daddu $s0, $v0, $zero +/* A49CE8 80241728 9602008E */ lhu $v0, 0x8e($s0) +/* A49CEC 8024172C 2442FFFF */ addiu $v0, $v0, -1 +/* A49CF0 80241730 A602008E */ sh $v0, 0x8e($s0) +/* A49CF4 80241734 00021400 */ sll $v0, $v0, 0x10 +/* A49CF8 80241738 14400021 */ bnez $v0, .L802417C0 +/* A49CFC 8024173C 0280202D */ daddu $a0, $s4, $zero +/* A49D00 80241740 24040002 */ addiu $a0, $zero, 2 +/* A49D04 80241744 0200282D */ daddu $a1, $s0, $zero +/* A49D08 80241748 0000302D */ daddu $a2, $zero, $zero +/* A49D0C 8024174C 8E2200CC */ lw $v0, 0xcc($s1) +/* A49D10 80241750 3C013F80 */ lui $at, 0x3f80 +/* A49D14 80241754 44810000 */ mtc1 $at, $f0 +/* A49D18 80241758 3C014000 */ lui $at, 0x4000 +/* A49D1C 8024175C 44811000 */ mtc1 $at, $f2 +/* A49D20 80241760 8C430000 */ lw $v1, ($v0) +/* A49D24 80241764 860200A8 */ lh $v0, 0xa8($s0) +/* A49D28 80241768 3C01C1A0 */ lui $at, 0xc1a0 +/* A49D2C 8024176C 44812000 */ mtc1 $at, $f4 +/* A49D30 80241770 44824000 */ mtc1 $v0, $f8 +/* A49D34 80241774 00000000 */ nop +/* A49D38 80241778 46804220 */ cvt.s.w $f8, $f8 +/* A49D3C 8024177C 44074000 */ mfc1 $a3, $f8 +/* A49D40 80241780 2402000C */ addiu $v0, $zero, 0xc +/* A49D44 80241784 AE030028 */ sw $v1, 0x28($s0) +/* A49D48 80241788 AFA2001C */ sw $v0, 0x1c($sp) +/* A49D4C 8024178C 27A20028 */ addiu $v0, $sp, 0x28 +/* A49D50 80241790 E7A00010 */ swc1 $f0, 0x10($sp) +/* A49D54 80241794 E7A20014 */ swc1 $f2, 0x14($sp) +/* A49D58 80241798 E7A40018 */ swc1 $f4, 0x18($sp) +/* A49D5C 8024179C 0C01BFA4 */ jal fx_emote +/* A49D60 802417A0 AFA20020 */ sw $v0, 0x20($sp) +/* A49D64 802417A4 8E2200CC */ lw $v0, 0xcc($s1) +/* A49D68 802417A8 8C430000 */ lw $v1, ($v0) +/* A49D6C 802417AC 2402000F */ addiu $v0, $zero, 0xf +/* A49D70 802417B0 A602008E */ sh $v0, 0x8e($s0) +/* A49D74 802417B4 AE030028 */ sw $v1, 0x28($s0) +/* A49D78 802417B8 08090622 */ j .L80241888 +/* A49D7C 802417BC AE800070 */ sw $zero, 0x70($s4) +.L802417C0: +/* A49D80 802417C0 8E450024 */ lw $a1, 0x24($s2) +/* A49D84 802417C4 8E460028 */ lw $a2, 0x28($s2) +/* A49D88 802417C8 0C090292 */ jal func_80240A48 +/* A49D8C 802417CC 0260382D */ daddu $a3, $s3, $zero +/* A49D90 802417D0 24030001 */ addiu $v1, $zero, 1 +/* A49D94 802417D4 1443002C */ bne $v0, $v1, .L80241888 +/* A49D98 802417D8 0200202D */ daddu $a0, $s0, $zero +/* A49D9C 802417DC 240520D4 */ addiu $a1, $zero, 0x20d4 +/* A49DA0 802417E0 0C012530 */ jal func_800494C0 +/* A49DA4 802417E4 0000302D */ daddu $a2, $zero, $zero +/* A49DA8 802417E8 27A4002C */ addiu $a0, $sp, 0x2c +/* A49DAC 802417EC 27A50030 */ addiu $a1, $sp, 0x30 +/* A49DB0 802417F0 3C064188 */ lui $a2, 0x4188 +/* A49DB4 802417F4 C6020034 */ lwc1 $f2, 0x34($s0) +/* A49DB8 802417F8 3C014387 */ lui $at, 0x4387 +/* A49DBC 802417FC 44810000 */ mtc1 $at, $f0 +/* A49DC0 80241800 8E2200CC */ lw $v0, 0xcc($s1) +/* A49DC4 80241804 C614003C */ lwc1 $f20, 0x3c($s0) +/* A49DC8 80241808 46020001 */ sub.s $f0, $f0, $f2 +/* A49DCC 8024180C 3C014200 */ lui $at, 0x4200 +/* A49DD0 80241810 44812000 */ mtc1 $at, $f4 +/* A49DD4 80241814 C6060038 */ lwc1 $f6, 0x38($s0) +/* A49DD8 80241818 4604A500 */ add.s $f20, $f20, $f4 +/* A49DDC 8024181C 3C013F80 */ lui $at, 0x3f80 +/* A49DE0 80241820 44811000 */ mtc1 $at, $f2 +/* A49DE4 80241824 44070000 */ mfc1 $a3, $f0 +/* A49DE8 80241828 C6000040 */ lwc1 $f0, 0x40($s0) +/* A49DEC 8024182C 8C420020 */ lw $v0, 0x20($v0) +/* A49DF0 80241830 46020000 */ add.s $f0, $f0, $f2 +/* A49DF4 80241834 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A49DF8 80241838 AE020028 */ sw $v0, 0x28($s0) +/* A49DFC 8024183C 0C00A7E7 */ jal add_vec2D_polar +/* A49E00 80241840 E7A00030 */ swc1 $f0, 0x30($sp) +/* A49E04 80241844 0000202D */ daddu $a0, $zero, $zero +/* A49E08 80241848 4406A000 */ mfc1 $a2, $f20 +/* A49E0C 8024184C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A49E10 80241850 C7A20030 */ lwc1 $f2, 0x30($sp) +/* A49E14 80241854 44050000 */ mfc1 $a1, $f0 +/* A49E18 80241858 44071000 */ mfc1 $a3, $f2 +/* A49E1C 8024185C 3C013DCC */ lui $at, 0x3dcc +/* A49E20 80241860 3421CCCD */ ori $at, $at, 0xcccd +/* A49E24 80241864 44810000 */ mtc1 $at, $f0 +/* A49E28 80241868 2402000D */ addiu $v0, $zero, 0xd +/* A49E2C 8024186C AFA20014 */ sw $v0, 0x14($sp) +/* A49E30 80241870 0C01BFEC */ jal func_8006FFB0 +/* A49E34 80241874 E7A00010 */ swc1 $f0, 0x10($sp) +/* A49E38 80241878 2402000F */ addiu $v0, $zero, 0xf +/* A49E3C 8024187C A602008E */ sh $v0, 0x8e($s0) +/* A49E40 80241880 24020016 */ addiu $v0, $zero, 0x16 +/* A49E44 80241884 AE820070 */ sw $v0, 0x70($s4) +.L80241888: +/* A49E48 80241888 8FBF004C */ lw $ra, 0x4c($sp) +/* A49E4C 8024188C 8FB40048 */ lw $s4, 0x48($sp) +/* A49E50 80241890 8FB30044 */ lw $s3, 0x44($sp) +/* A49E54 80241894 8FB20040 */ lw $s2, 0x40($sp) +/* A49E58 80241898 8FB1003C */ lw $s1, 0x3c($sp) +/* A49E5C 8024189C 8FB00038 */ lw $s0, 0x38($sp) +/* A49E60 802418A0 D7B40050 */ ldc1 $f20, 0x50($sp) +/* A49E64 802418A4 03E00008 */ jr $ra +/* A49E68 802418A8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_802418AC_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_802418AC_A485C0.s new file mode 100644 index 0000000000..d792de5412 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_802418AC_A485C0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418AC_A49E6C +/* A49E6C 802418AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A49E70 802418B0 AFB10014 */ sw $s1, 0x14($sp) +/* A49E74 802418B4 0080882D */ daddu $s1, $a0, $zero +/* A49E78 802418B8 AFBF0018 */ sw $ra, 0x18($sp) +/* A49E7C 802418BC AFB00010 */ sw $s0, 0x10($sp) +/* A49E80 802418C0 8E300148 */ lw $s0, 0x148($s1) +/* A49E84 802418C4 0C00EABB */ jal get_npc_unsafe +/* A49E88 802418C8 86040008 */ lh $a0, 8($s0) +/* A49E8C 802418CC 0040202D */ daddu $a0, $v0, $zero +/* A49E90 802418D0 9482008E */ lhu $v0, 0x8e($a0) +/* A49E94 802418D4 2442FFFF */ addiu $v0, $v0, -1 +/* A49E98 802418D8 A482008E */ sh $v0, 0x8e($a0) +/* A49E9C 802418DC 00021400 */ sll $v0, $v0, 0x10 +/* A49EA0 802418E0 1C400008 */ bgtz $v0, .L80241904 +/* A49EA4 802418E4 00000000 */ nop +/* A49EA8 802418E8 8E0200CC */ lw $v0, 0xcc($s0) +/* A49EAC 802418EC 8C430024 */ lw $v1, 0x24($v0) +/* A49EB0 802418F0 24020009 */ addiu $v0, $zero, 9 +/* A49EB4 802418F4 A482008E */ sh $v0, 0x8e($a0) +/* A49EB8 802418F8 24020017 */ addiu $v0, $zero, 0x17 +/* A49EBC 802418FC AC830028 */ sw $v1, 0x28($a0) +/* A49EC0 80241900 AE220070 */ sw $v0, 0x70($s1) +.L80241904: +/* A49EC4 80241904 8FBF0018 */ lw $ra, 0x18($sp) +/* A49EC8 80241908 8FB10014 */ lw $s1, 0x14($sp) +/* A49ECC 8024190C 8FB00010 */ lw $s0, 0x10($sp) +/* A49ED0 80241910 03E00008 */ jr $ra +/* A49ED4 80241914 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241918.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241918.s new file mode 100644 index 0000000000..c7afe97ada --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241918.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241918 +/* A49ED8 80241918 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A49EDC 8024191C AFB3003C */ sw $s3, 0x3c($sp) +/* A49EE0 80241920 0080982D */ daddu $s3, $a0, $zero +/* A49EE4 80241924 AFBF0044 */ sw $ra, 0x44($sp) +/* A49EE8 80241928 AFB40040 */ sw $s4, 0x40($sp) +/* A49EEC 8024192C AFB20038 */ sw $s2, 0x38($sp) +/* A49EF0 80241930 AFB10034 */ sw $s1, 0x34($sp) +/* A49EF4 80241934 AFB00030 */ sw $s0, 0x30($sp) +/* A49EF8 80241938 8E720148 */ lw $s2, 0x148($s3) +/* A49EFC 8024193C 00A0882D */ daddu $s1, $a1, $zero +/* A49F00 80241940 86440008 */ lh $a0, 8($s2) +/* A49F04 80241944 0C00EABB */ jal get_npc_unsafe +/* A49F08 80241948 00C0A02D */ daddu $s4, $a2, $zero +/* A49F0C 8024194C 0040802D */ daddu $s0, $v0, $zero +/* A49F10 80241950 9602008E */ lhu $v0, 0x8e($s0) +/* A49F14 80241954 2442FFFF */ addiu $v0, $v0, -1 +/* A49F18 80241958 A602008E */ sh $v0, 0x8e($s0) +/* A49F1C 8024195C 00021400 */ sll $v0, $v0, 0x10 +/* A49F20 80241960 1C400032 */ bgtz $v0, .L80241A2C +/* A49F24 80241964 00000000 */ nop +/* A49F28 80241968 0260202D */ daddu $a0, $s3, $zero +/* A49F2C 8024196C 8E250024 */ lw $a1, 0x24($s1) +/* A49F30 80241970 8E260028 */ lw $a2, 0x28($s1) +/* A49F34 80241974 0C090292 */ jal func_80240A48 +/* A49F38 80241978 0280382D */ daddu $a3, $s4, $zero +/* A49F3C 8024197C 0040882D */ daddu $s1, $v0, $zero +/* A49F40 80241980 24020001 */ addiu $v0, $zero, 1 +/* A49F44 80241984 1222001D */ beq $s1, $v0, .L802419FC +/* A49F48 80241988 0200282D */ daddu $a1, $s0, $zero +/* A49F4C 8024198C 24040002 */ addiu $a0, $zero, 2 +/* A49F50 80241990 0000302D */ daddu $a2, $zero, $zero +/* A49F54 80241994 860300A8 */ lh $v1, 0xa8($s0) +/* A49F58 80241998 3C013F80 */ lui $at, 0x3f80 +/* A49F5C 8024199C 44810000 */ mtc1 $at, $f0 +/* A49F60 802419A0 3C014000 */ lui $at, 0x4000 +/* A49F64 802419A4 44811000 */ mtc1 $at, $f2 +/* A49F68 802419A8 3C01C1A0 */ lui $at, 0xc1a0 +/* A49F6C 802419AC 44812000 */ mtc1 $at, $f4 +/* A49F70 802419B0 2402000C */ addiu $v0, $zero, 0xc +/* A49F74 802419B4 AFA2001C */ sw $v0, 0x1c($sp) +/* A49F78 802419B8 44833000 */ mtc1 $v1, $f6 +/* A49F7C 802419BC 00000000 */ nop +/* A49F80 802419C0 468031A0 */ cvt.s.w $f6, $f6 +/* A49F84 802419C4 44073000 */ mfc1 $a3, $f6 +/* A49F88 802419C8 27A20028 */ addiu $v0, $sp, 0x28 +/* A49F8C 802419CC AFA20020 */ sw $v0, 0x20($sp) +/* A49F90 802419D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A49F94 802419D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A49F98 802419D8 0C01BFA4 */ jal fx_emote +/* A49F9C 802419DC E7A40018 */ swc1 $f4, 0x18($sp) +/* A49FA0 802419E0 8E4200CC */ lw $v0, 0xcc($s2) +/* A49FA4 802419E4 8C430000 */ lw $v1, ($v0) +/* A49FA8 802419E8 2402000F */ addiu $v0, $zero, 0xf +/* A49FAC 802419EC A602008E */ sh $v0, 0x8e($s0) +/* A49FB0 802419F0 AE030028 */ sw $v1, 0x28($s0) +/* A49FB4 802419F4 0809068B */ j .L80241A2C +/* A49FB8 802419F8 AE600070 */ sw $zero, 0x70($s3) +.L802419FC: +/* A49FBC 802419FC 0200202D */ daddu $a0, $s0, $zero +/* A49FC0 80241A00 240520D5 */ addiu $a1, $zero, 0x20d5 +/* A49FC4 80241A04 0C012530 */ jal func_800494C0 +/* A49FC8 80241A08 0000302D */ daddu $a2, $zero, $zero +/* A49FCC 80241A0C 86440008 */ lh $a0, 8($s2) +/* A49FD0 80241A10 0C00FB3A */ jal get_enemy +/* A49FD4 80241A14 24840001 */ addiu $a0, $a0, 1 +/* A49FD8 80241A18 AC51006C */ sw $s1, 0x6c($v0) +/* A49FDC 80241A1C 24020014 */ addiu $v0, $zero, 0x14 +/* A49FE0 80241A20 A602008E */ sh $v0, 0x8e($s0) +/* A49FE4 80241A24 24020018 */ addiu $v0, $zero, 0x18 +/* A49FE8 80241A28 AE620070 */ sw $v0, 0x70($s3) +.L80241A2C: +/* A49FEC 80241A2C 8FBF0044 */ lw $ra, 0x44($sp) +/* A49FF0 80241A30 8FB40040 */ lw $s4, 0x40($sp) +/* A49FF4 80241A34 8FB3003C */ lw $s3, 0x3c($sp) +/* A49FF8 80241A38 8FB20038 */ lw $s2, 0x38($sp) +/* A49FFC 80241A3C 8FB10034 */ lw $s1, 0x34($sp) +/* A4A000 80241A40 8FB00030 */ lw $s0, 0x30($sp) +/* A4A004 80241A44 03E00008 */ jr $ra +/* A4A008 80241A48 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241A4C_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241A4C_A485C0.s new file mode 100644 index 0000000000..409592ef0a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241A4C_A485C0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A4C_A4A00C +/* A4A00C 80241A4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4A010 80241A50 AFB10014 */ sw $s1, 0x14($sp) +/* A4A014 80241A54 0080882D */ daddu $s1, $a0, $zero +/* A4A018 80241A58 AFBF0018 */ sw $ra, 0x18($sp) +/* A4A01C 80241A5C AFB00010 */ sw $s0, 0x10($sp) +/* A4A020 80241A60 8E300148 */ lw $s0, 0x148($s1) +/* A4A024 80241A64 0C00EABB */ jal get_npc_unsafe +/* A4A028 80241A68 86040008 */ lh $a0, 8($s0) +/* A4A02C 80241A6C 0040202D */ daddu $a0, $v0, $zero +/* A4A030 80241A70 9482008E */ lhu $v0, 0x8e($a0) +/* A4A034 80241A74 2442FFFF */ addiu $v0, $v0, -1 +/* A4A038 80241A78 A482008E */ sh $v0, 0x8e($a0) +/* A4A03C 80241A7C 00021400 */ sll $v0, $v0, 0x10 +/* A4A040 80241A80 1C400007 */ bgtz $v0, .L80241AA0 +/* A4A044 80241A84 00000000 */ nop +/* A4A048 80241A88 8E0200CC */ lw $v0, 0xcc($s0) +/* A4A04C 80241A8C 8C430000 */ lw $v1, ($v0) +/* A4A050 80241A90 24020003 */ addiu $v0, $zero, 3 +/* A4A054 80241A94 A482008E */ sh $v0, 0x8e($a0) +/* A4A058 80241A98 AC830028 */ sw $v1, 0x28($a0) +/* A4A05C 80241A9C AE200070 */ sw $zero, 0x70($s1) +.L80241AA0: +/* A4A060 80241AA0 8FBF0018 */ lw $ra, 0x18($sp) +/* A4A064 80241AA4 8FB10014 */ lw $s1, 0x14($sp) +/* A4A068 80241AA8 8FB00010 */ lw $s0, 0x10($sp) +/* A4A06C 80241AAC 03E00008 */ jr $ra +/* A4A070 80241AB0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241AB4_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241AB4_A485C0.s new file mode 100644 index 0000000000..be5ba1de73 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241AB4_A485C0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AB4_A4A074 +/* A4A074 80241AB4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A4A078 80241AB8 AFB50044 */ sw $s5, 0x44($sp) +/* A4A07C 80241ABC 0080A82D */ daddu $s5, $a0, $zero +/* A4A080 80241AC0 AFBF0048 */ sw $ra, 0x48($sp) +/* A4A084 80241AC4 AFB40040 */ sw $s4, 0x40($sp) +/* A4A088 80241AC8 AFB3003C */ sw $s3, 0x3c($sp) +/* A4A08C 80241ACC AFB20038 */ sw $s2, 0x38($sp) +/* A4A090 80241AD0 AFB10034 */ sw $s1, 0x34($sp) +/* A4A094 80241AD4 AFB00030 */ sw $s0, 0x30($sp) +/* A4A098 80241AD8 8EB10148 */ lw $s1, 0x148($s5) +/* A4A09C 80241ADC 86240008 */ lh $a0, 8($s1) +/* A4A0A0 80241AE0 0C00EABB */ jal get_npc_unsafe +/* A4A0A4 80241AE4 00A0802D */ daddu $s0, $a1, $zero +/* A4A0A8 80241AE8 8EA3000C */ lw $v1, 0xc($s5) +/* A4A0AC 80241AEC 02A0202D */ daddu $a0, $s5, $zero +/* A4A0B0 80241AF0 8C650000 */ lw $a1, ($v1) +/* A4A0B4 80241AF4 0C0B1EAF */ jal get_variable +/* A4A0B8 80241AF8 0040902D */ daddu $s2, $v0, $zero +/* A4A0BC 80241AFC AFA00010 */ sw $zero, 0x10($sp) +/* A4A0C0 80241B00 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4A0C4 80241B04 8C630030 */ lw $v1, 0x30($v1) +/* A4A0C8 80241B08 AFA30014 */ sw $v1, 0x14($sp) +/* A4A0CC 80241B0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4A0D0 80241B10 8C63001C */ lw $v1, 0x1c($v1) +/* A4A0D4 80241B14 AFA30018 */ sw $v1, 0x18($sp) +/* A4A0D8 80241B18 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4A0DC 80241B1C 8C630024 */ lw $v1, 0x24($v1) +/* A4A0E0 80241B20 AFA3001C */ sw $v1, 0x1c($sp) +/* A4A0E4 80241B24 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4A0E8 80241B28 8C630028 */ lw $v1, 0x28($v1) +/* A4A0EC 80241B2C 27B40010 */ addiu $s4, $sp, 0x10 +/* A4A0F0 80241B30 AFA30020 */ sw $v1, 0x20($sp) +/* A4A0F4 80241B34 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4A0F8 80241B38 3C0142C8 */ lui $at, 0x42c8 +/* A4A0FC 80241B3C 44810000 */ mtc1 $at, $f0 +/* A4A100 80241B40 8C63002C */ lw $v1, 0x2c($v1) +/* A4A104 80241B44 0040982D */ daddu $s3, $v0, $zero +/* A4A108 80241B48 E7A00028 */ swc1 $f0, 0x28($sp) +/* A4A10C 80241B4C A7A0002C */ sh $zero, 0x2c($sp) +/* A4A110 80241B50 16000005 */ bnez $s0, .L80241B68 +/* A4A114 80241B54 AFA30024 */ sw $v1, 0x24($sp) +/* A4A118 80241B58 8E2200B0 */ lw $v0, 0xb0($s1) +/* A4A11C 80241B5C 30420004 */ andi $v0, $v0, 4 +/* A4A120 80241B60 1040001E */ beqz $v0, .L80241BDC +/* A4A124 80241B64 00000000 */ nop +.L80241B68: +/* A4A128 80241B68 8E430000 */ lw $v1, ($s2) +/* A4A12C 80241B6C 2402F7FF */ addiu $v0, $zero, -0x801 +/* A4A130 80241B70 00621824 */ and $v1, $v1, $v0 +/* A4A134 80241B74 8E2200CC */ lw $v0, 0xcc($s1) +/* A4A138 80241B78 3C040020 */ lui $a0, 0x20 +/* A4A13C 80241B7C 8C420000 */ lw $v0, ($v0) +/* A4A140 80241B80 00641825 */ or $v1, $v1, $a0 +/* A4A144 80241B84 AE430000 */ sw $v1, ($s2) +/* A4A148 80241B88 AE420028 */ sw $v0, 0x28($s2) +/* A4A14C 80241B8C 8E220000 */ lw $v0, ($s1) +/* A4A150 80241B90 00441025 */ or $v0, $v0, $a0 +/* A4A154 80241B94 AE220000 */ sw $v0, ($s1) +/* A4A158 80241B98 A640008E */ sh $zero, 0x8e($s2) +/* A4A15C 80241B9C 8E2300B0 */ lw $v1, 0xb0($s1) +/* A4A160 80241BA0 30620004 */ andi $v0, $v1, 4 +/* A4A164 80241BA4 1040000C */ beqz $v0, .L80241BD8 +/* A4A168 80241BA8 2402FFFB */ addiu $v0, $zero, -5 +/* A4A16C 80241BAC 3C013F80 */ lui $at, 0x3f80 +/* A4A170 80241BB0 44810000 */ mtc1 $at, $f0 +/* A4A174 80241BB4 00621024 */ and $v0, $v1, $v0 +/* A4A178 80241BB8 AE2200B0 */ sw $v0, 0xb0($s1) +/* A4A17C 80241BBC 240200FF */ addiu $v0, $zero, 0xff +/* A4A180 80241BC0 A24200AC */ sb $v0, 0xac($s2) +/* A4A184 80241BC4 24020014 */ addiu $v0, $zero, 0x14 +/* A4A188 80241BC8 A642008E */ sh $v0, 0x8e($s2) +/* A4A18C 80241BCC E6400054 */ swc1 $f0, 0x54($s2) +/* A4A190 80241BD0 E6400058 */ swc1 $f0, 0x58($s2) +/* A4A194 80241BD4 E640005C */ swc1 $f0, 0x5c($s2) +.L80241BD8: +/* A4A198 80241BD8 AEA00070 */ sw $zero, 0x70($s5) +.L80241BDC: +/* A4A19C 80241BDC 8EA30070 */ lw $v1, 0x70($s5) +/* A4A1A0 80241BE0 2C620019 */ sltiu $v0, $v1, 0x19 +/* A4A1A4 80241BE4 10400044 */ beqz $v0, .L80241CF8 +/* A4A1A8 80241BE8 00031080 */ sll $v0, $v1, 2 +/* A4A1AC 80241BEC 3C018024 */ lui $at, 0x8024 +/* A4A1B0 80241BF0 00220821 */ addu $at, $at, $v0 +/* A4A1B4 80241BF4 8C223930 */ lw $v0, 0x3930($at) +/* A4A1B8 80241BF8 00400008 */ jr $v0 +/* A4A1BC 80241BFC 00000000 */ nop +/* A4A1C0 80241C00 02A0202D */ daddu $a0, $s5, $zero +/* A4A1C4 80241C04 0260282D */ daddu $a1, $s3, $zero +/* A4A1C8 80241C08 0C09044A */ jal func_80241128 +/* A4A1CC 80241C0C 0280302D */ daddu $a2, $s4, $zero +/* A4A1D0 80241C10 8EA30070 */ lw $v1, 0x70($s5) +/* A4A1D4 80241C14 24020001 */ addiu $v0, $zero, 1 +/* A4A1D8 80241C18 14620037 */ bne $v1, $v0, .L80241CF8 +/* A4A1DC 80241C1C 00000000 */ nop +/* A4A1E0 80241C20 02A0202D */ daddu $a0, $s5, $zero +/* A4A1E4 80241C24 0260282D */ daddu $a1, $s3, $zero +/* A4A1E8 80241C28 0C090467 */ jal func_8024119C +/* A4A1EC 80241C2C 0280302D */ daddu $a2, $s4, $zero +/* A4A1F0 80241C30 0809073E */ j .L80241CF8 +/* A4A1F4 80241C34 00000000 */ nop +/* A4A1F8 80241C38 02A0202D */ daddu $a0, $s5, $zero +/* A4A1FC 80241C3C 0260282D */ daddu $a1, $s3, $zero +/* A4A200 80241C40 0C0904B2 */ jal func_802412C8 +/* A4A204 80241C44 0280302D */ daddu $a2, $s4, $zero +/* A4A208 80241C48 02A0202D */ daddu $a0, $s5, $zero +/* A4A20C 80241C4C 0260282D */ daddu $a1, $s3, $zero +/* A4A210 80241C50 0C0904DA */ jal func_80241368 +/* A4A214 80241C54 0280302D */ daddu $a2, $s4, $zero +/* A4A218 80241C58 0809073E */ j .L80241CF8 +/* A4A21C 80241C5C 00000000 */ nop +/* A4A220 80241C60 02A0202D */ daddu $a0, $s5, $zero +/* A4A224 80241C64 0260282D */ daddu $a1, $s3, $zero +/* A4A228 80241C68 0C0904F3 */ jal func_802413CC +/* A4A22C 80241C6C 0280302D */ daddu $a2, $s4, $zero +/* A4A230 80241C70 02A0202D */ daddu $a0, $s5, $zero +/* A4A234 80241C74 0260282D */ daddu $a1, $s3, $zero +/* A4A238 80241C78 0C090543 */ jal func_8024150C +/* A4A23C 80241C7C 0280302D */ daddu $a2, $s4, $zero +/* A4A240 80241C80 0809073E */ j .L80241CF8 +/* A4A244 80241C84 00000000 */ nop +/* A4A248 80241C88 02A0202D */ daddu $a0, $s5, $zero +/* A4A24C 80241C8C 0260282D */ daddu $a1, $s3, $zero +/* A4A250 80241C90 0C0905AC */ jal func_802416B0 +/* A4A254 80241C94 0280302D */ daddu $a2, $s4, $zero +/* A4A258 80241C98 0809073E */ j .L80241CF8 +/* A4A25C 80241C9C 00000000 */ nop +/* A4A260 80241CA0 02A0202D */ daddu $a0, $s5, $zero +/* A4A264 80241CA4 0260282D */ daddu $a1, $s3, $zero +/* A4A268 80241CA8 0C0905BB */ jal func_802416EC +/* A4A26C 80241CAC 0280302D */ daddu $a2, $s4, $zero +/* A4A270 80241CB0 0809073E */ j .L80241CF8 +/* A4A274 80241CB4 00000000 */ nop +/* A4A278 80241CB8 02A0202D */ daddu $a0, $s5, $zero +/* A4A27C 80241CBC 0260282D */ daddu $a1, $s3, $zero +/* A4A280 80241CC0 0C09062B */ jal func_802418AC +/* A4A284 80241CC4 0280302D */ daddu $a2, $s4, $zero +/* A4A288 80241CC8 0809073E */ j .L80241CF8 +/* A4A28C 80241CCC 00000000 */ nop +/* A4A290 80241CD0 02A0202D */ daddu $a0, $s5, $zero +/* A4A294 80241CD4 0260282D */ daddu $a1, $s3, $zero +/* A4A298 80241CD8 0C090646 */ jal func_80241918 +/* A4A29C 80241CDC 0280302D */ daddu $a2, $s4, $zero +/* A4A2A0 80241CE0 0809073E */ j .L80241CF8 +/* A4A2A4 80241CE4 00000000 */ nop +/* A4A2A8 80241CE8 02A0202D */ daddu $a0, $s5, $zero +/* A4A2AC 80241CEC 0260282D */ daddu $a1, $s3, $zero +/* A4A2B0 80241CF0 0C090693 */ jal func_80241A4C +/* A4A2B4 80241CF4 0280302D */ daddu $a2, $s4, $zero +.L80241CF8: +/* A4A2B8 80241CF8 8FBF0048 */ lw $ra, 0x48($sp) +/* A4A2BC 80241CFC 8FB50044 */ lw $s5, 0x44($sp) +/* A4A2C0 80241D00 8FB40040 */ lw $s4, 0x40($sp) +/* A4A2C4 80241D04 8FB3003C */ lw $s3, 0x3c($sp) +/* A4A2C8 80241D08 8FB20038 */ lw $s2, 0x38($sp) +/* A4A2CC 80241D0C 8FB10034 */ lw $s1, 0x34($sp) +/* A4A2D0 80241D10 8FB00030 */ lw $s0, 0x30($sp) +/* A4A2D4 80241D14 0000102D */ daddu $v0, $zero, $zero +/* A4A2D8 80241D18 03E00008 */ jr $ra +/* A4A2DC 80241D1C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D20.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D20.s new file mode 100644 index 0000000000..a63fea4a29 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D20.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D20 +/* A4A2E0 80241D20 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A4A2E4 80241D24 AFBF0020 */ sw $ra, 0x20($sp) +/* A4A2E8 80241D28 8C820148 */ lw $v0, 0x148($a0) +/* A4A2EC 80241D2C 0C00EABB */ jal get_npc_unsafe +/* A4A2F0 80241D30 84440008 */ lh $a0, 8($v0) +/* A4A2F4 80241D34 240300FF */ addiu $v1, $zero, 0xff +/* A4A2F8 80241D38 0000282D */ daddu $a1, $zero, $zero +/* A4A2FC 80241D3C 00A0302D */ daddu $a2, $a1, $zero +/* A4A300 80241D40 A04300AC */ sb $v1, 0xac($v0) +/* A4A304 80241D44 AFA00010 */ sw $zero, 0x10($sp) +/* A4A308 80241D48 AFA00014 */ sw $zero, 0x14($sp) +/* A4A30C 80241D4C AFA00018 */ sw $zero, 0x18($sp) +/* A4A310 80241D50 8C440024 */ lw $a0, 0x24($v0) +/* A4A314 80241D54 0C0B7A25 */ jal func_802DE894 +/* A4A318 80241D58 00A0382D */ daddu $a3, $a1, $zero +/* A4A31C 80241D5C 8FBF0020 */ lw $ra, 0x20($sp) +/* A4A320 80241D60 24020002 */ addiu $v0, $zero, 2 +/* A4A324 80241D64 03E00008 */ jr $ra +/* A4A328 80241D68 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D6C.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D6C.s new file mode 100644 index 0000000000..42656e4729 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241D6C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D6C +/* A4A32C 80241D6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4A330 80241D70 AFB10014 */ sw $s1, 0x14($sp) +/* A4A334 80241D74 0080882D */ daddu $s1, $a0, $zero +/* A4A338 80241D78 AFBF0018 */ sw $ra, 0x18($sp) +/* A4A33C 80241D7C AFB00010 */ sw $s0, 0x10($sp) +/* A4A340 80241D80 8E300148 */ lw $s0, 0x148($s1) +/* A4A344 80241D84 0C00EABB */ jal get_npc_unsafe +/* A4A348 80241D88 86040008 */ lh $a0, 8($s0) +/* A4A34C 80241D8C 0040182D */ daddu $v1, $v0, $zero +/* A4A350 80241D90 240200FF */ addiu $v0, $zero, 0xff +/* A4A354 80241D94 A06200AC */ sb $v0, 0xac($v1) +/* A4A358 80241D98 8E0200CC */ lw $v0, 0xcc($s0) +/* A4A35C 80241D9C 8C440008 */ lw $a0, 8($v0) +/* A4A360 80241DA0 A460008E */ sh $zero, 0x8e($v1) +/* A4A364 80241DA4 AC640028 */ sw $a0, 0x28($v1) +/* A4A368 80241DA8 AE200070 */ sw $zero, 0x70($s1) +/* A4A36C 80241DAC 8FBF0018 */ lw $ra, 0x18($sp) +/* A4A370 80241DB0 8FB10014 */ lw $s1, 0x14($sp) +/* A4A374 80241DB4 8FB00010 */ lw $s0, 0x10($sp) +/* A4A378 80241DB8 24020002 */ addiu $v0, $zero, 2 +/* A4A37C 80241DBC 03E00008 */ jr $ra +/* A4A380 80241DC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DC4.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DC4.s new file mode 100644 index 0000000000..54c34f0fc1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DC4.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DC4 +/* A4A384 80241DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4A388 80241DC8 3C05FE36 */ lui $a1, 0xfe36 +/* A4A38C 80241DCC AFBF0010 */ sw $ra, 0x10($sp) +/* A4A390 80241DD0 8C820148 */ lw $v0, 0x148($a0) +/* A4A394 80241DD4 3C06800B */ lui $a2, 0x800b +/* A4A398 80241DD8 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A4A39C 80241DDC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4A3A0 80241DE0 00C23026 */ xor $a2, $a2, $v0 +/* A4A3A4 80241DE4 0C0B2026 */ jal set_variable +/* A4A3A8 80241DE8 2CC60001 */ sltiu $a2, $a2, 1 +/* A4A3AC 80241DEC 8FBF0010 */ lw $ra, 0x10($sp) +/* A4A3B0 80241DF0 24020002 */ addiu $v0, $zero, 2 +/* A4A3B4 80241DF4 03E00008 */ jr $ra +/* A4A3B8 80241DF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DFC_A485C0.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DFC_A485C0.s new file mode 100644 index 0000000000..6faaedf653 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241DFC_A485C0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DFC_A4A3BC +/* A4A3BC 80241DFC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4A3C0 80241E00 AFBF0014 */ sw $ra, 0x14($sp) +/* A4A3C4 80241E04 AFB00010 */ sw $s0, 0x10($sp) +/* A4A3C8 80241E08 8C900148 */ lw $s0, 0x148($a0) +/* A4A3CC 80241E0C 0C00EABB */ jal get_npc_unsafe +/* A4A3D0 80241E10 86040008 */ lh $a0, 8($s0) +/* A4A3D4 80241E14 0040202D */ daddu $a0, $v0, $zero +/* A4A3D8 80241E18 8E03006C */ lw $v1, 0x6c($s0) +/* A4A3DC 80241E1C 24020002 */ addiu $v0, $zero, 2 +/* A4A3E0 80241E20 14620003 */ bne $v1, $v0, .L80241E30 +/* A4A3E4 80241E24 00000000 */ nop +/* A4A3E8 80241E28 AC80001C */ sw $zero, 0x1c($a0) +/* A4A3EC 80241E2C AC800018 */ sw $zero, 0x18($a0) +.L80241E30: +/* A4A3F0 80241E30 8FBF0014 */ lw $ra, 0x14($sp) +/* A4A3F4 80241E34 8FB00010 */ lw $s0, 0x10($sp) +/* A4A3F8 80241E38 24020002 */ addiu $v0, $zero, 2 +/* A4A3FC 80241E3C 03E00008 */ jr $ra +/* A4A400 80241E40 27BD0018 */ addiu $sp, $sp, 0x18 +/* A4A404 80241E44 00000000 */ nop +/* A4A408 80241E48 00000000 */ nop +/* A4A40C 80241E4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_03/func_80241E50.s b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241E50.s new file mode 100644 index 0000000000..cacd7e46af --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_03/func_80241E50.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E50 +/* A4A410 80241E50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4A414 80241E54 AFB10014 */ sw $s1, 0x14($sp) +/* A4A418 80241E58 0080882D */ daddu $s1, $a0, $zero +/* A4A41C 80241E5C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A4A420 80241E60 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A4A424 80241E64 AFBF0018 */ sw $ra, 0x18($sp) +/* A4A428 80241E68 AFB00010 */ sw $s0, 0x10($sp) +/* A4A42C 80241E6C 84430018 */ lh $v1, 0x18($v0) +/* A4A430 80241E70 04600005 */ bltz $v1, .L80241E88 +/* A4A434 80241E74 0040802D */ daddu $s0, $v0, $zero +/* A4A438 80241E78 3C05FD05 */ lui $a1, 0xfd05 +/* A4A43C 80241E7C 34A50F80 */ ori $a1, $a1, 0xf80 +/* A4A440 80241E80 0C0B2026 */ jal set_variable +/* A4A444 80241E84 0000302D */ daddu $a2, $zero, $zero +.L80241E88: +/* A4A448 80241E88 86020018 */ lh $v0, 0x18($s0) +/* A4A44C 80241E8C 2842FEE9 */ slti $v0, $v0, -0x117 +/* A4A450 80241E90 10400005 */ beqz $v0, .L80241EA8 +/* A4A454 80241E94 0220202D */ daddu $a0, $s1, $zero +/* A4A458 80241E98 3C05FD05 */ lui $a1, 0xfd05 +/* A4A45C 80241E9C 34A50F80 */ ori $a1, $a1, 0xf80 +/* A4A460 80241EA0 0C0B2026 */ jal set_variable +/* A4A464 80241EA4 24060001 */ addiu $a2, $zero, 1 +.L80241EA8: +/* A4A468 80241EA8 8FBF0018 */ lw $ra, 0x18($sp) +/* A4A46C 80241EAC 8FB10014 */ lw $s1, 0x14($sp) +/* A4A470 80241EB0 8FB00010 */ lw $s0, 0x10($sp) +/* A4A474 80241EB4 0000102D */ daddu $v0, $zero, $zero +/* A4A478 80241EB8 03E00008 */ jr $ra +/* A4A47C 80241EBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_04/func_80240000_A4BF60.s b/asm/nonmatchings/world/area_kpa/kpa_04/func_80240000_A4BF60.s new file mode 100644 index 0000000000..409a22f6cf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_04/func_80240000_A4BF60.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A4BF60 +/* A4BF60 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4BF64 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A4BF68 80240008 0080802D */ daddu $s0, $a0, $zero +/* A4BF6C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A4BF70 80240010 8E02000C */ lw $v0, 0xc($s0) +/* A4BF74 80240014 0C0B1EAF */ jal get_variable +/* A4BF78 80240018 8C450000 */ lw $a1, ($v0) +/* A4BF7C 8024001C 0040302D */ daddu $a2, $v0, $zero +/* A4BF80 80240020 3C058016 */ lui $a1, 0x8016 +/* A4BF84 80240024 84A5A550 */ lh $a1, -0x5ab0($a1) +/* A4BF88 80240028 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* A4BF8C 8024002C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* A4BF90 80240030 10A60004 */ beq $a1, $a2, .L80240044 +/* A4BF94 80240034 24020014 */ addiu $v0, $zero, 0x14 +/* A4BF98 80240038 808300B4 */ lb $v1, 0xb4($a0) +/* A4BF9C 8024003C 10620006 */ beq $v1, $v0, .L80240058 +/* A4BFA0 80240040 00000000 */ nop +.L80240044: +/* A4BFA4 80240044 8C820014 */ lw $v0, 0x14($a0) +/* A4BFA8 80240048 3C03FFFF */ lui $v1, 0xffff +/* A4BFAC 8024004C 00431024 */ and $v0, $v0, $v1 +/* A4BFB0 80240050 10400005 */ beqz $v0, .L80240068 +/* A4BFB4 80240054 00000000 */ nop +.L80240058: +/* A4BFB8 80240058 0C039769 */ jal set_action_state +/* A4BFBC 8024005C 0000202D */ daddu $a0, $zero, $zero +/* A4BFC0 80240060 0809002A */ j .L802400A8 +/* A4BFC4 80240064 AE000084 */ sw $zero, 0x84($s0) +.L80240068: +/* A4BFC8 80240068 54A6000F */ bnel $a1, $a2, .L802400A8 +/* A4BFCC 8024006C AE000084 */ sw $zero, 0x84($s0) +/* A4BFD0 80240070 808300B4 */ lb $v1, 0xb4($a0) +/* A4BFD4 80240074 24020014 */ addiu $v0, $zero, 0x14 +/* A4BFD8 80240078 10620005 */ beq $v1, $v0, .L80240090 +/* A4BFDC 8024007C 24020001 */ addiu $v0, $zero, 1 +/* A4BFE0 80240080 10620003 */ beq $v1, $v0, .L80240090 +/* A4BFE4 80240084 24020002 */ addiu $v0, $zero, 2 +/* A4BFE8 80240088 54620008 */ bnel $v1, $v0, .L802400AC +/* A4BFEC 8024008C AE000084 */ sw $zero, 0x84($s0) +.L80240090: +/* A4BFF0 80240090 8C820004 */ lw $v0, 4($a0) +/* A4BFF4 80240094 30420001 */ andi $v0, $v0, 1 +/* A4BFF8 80240098 54400003 */ bnel $v0, $zero, .L802400A8 +/* A4BFFC 8024009C AE000084 */ sw $zero, 0x84($s0) +/* A4C000 802400A0 24020001 */ addiu $v0, $zero, 1 +/* A4C004 802400A4 AE020084 */ sw $v0, 0x84($s0) +.L802400A8: +/* A4C008 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* A4C00C 802400AC 8FBF0014 */ lw $ra, 0x14($sp) +/* A4C010 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* A4C014 802400B4 03E00008 */ jr $ra +/* A4C018 802400B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_04/func_802400BC_A4BF60.s b/asm/nonmatchings/world/area_kpa/kpa_04/func_802400BC_A4BF60.s new file mode 100644 index 0000000000..c9f159fbdc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_04/func_802400BC_A4BF60.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_A4C01C +/* A4C01C 802400BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A4C020 802400C0 AFBF002C */ sw $ra, 0x2c($sp) +/* A4C024 802400C4 AFB00028 */ sw $s0, 0x28($sp) +/* A4C028 802400C8 8C820098 */ lw $v0, 0x98($a0) +/* A4C02C 802400CC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A4C030 802400D0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A4C034 802400D4 14400005 */ bnez $v0, .L802400EC +/* A4C038 802400D8 00000000 */ nop +/* A4C03C 802400DC C4800084 */ lwc1 $f0, 0x84($a0) +/* A4C040 802400E0 46800020 */ cvt.s.w $f0, $f0 +/* A4C044 802400E4 0809003E */ j .L802400F8 +/* A4C048 802400E8 E6000028 */ swc1 $f0, 0x28($s0) +.L802400EC: +/* A4C04C 802400EC C4800084 */ lwc1 $f0, 0x84($a0) +/* A4C050 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* A4C054 802400F4 E6000030 */ swc1 $f0, 0x30($s0) +.L802400F8: +/* A4C058 802400F8 27A20024 */ addiu $v0, $sp, 0x24 +/* A4C05C 802400FC 0000202D */ daddu $a0, $zero, $zero +/* A4C060 80240100 27A50018 */ addiu $a1, $sp, 0x18 +/* A4C064 80240104 27A6001C */ addiu $a2, $sp, 0x1c +/* A4C068 80240108 C6000028 */ lwc1 $f0, 0x28($s0) +/* A4C06C 8024010C 3C014120 */ lui $at, 0x4120 +/* A4C070 80240110 44811000 */ mtc1 $at, $f2 +/* A4C074 80240114 3C014220 */ lui $at, 0x4220 +/* A4C078 80240118 44813000 */ mtc1 $at, $f6 +/* A4C07C 8024011C 27A70020 */ addiu $a3, $sp, 0x20 +/* A4C080 80240120 E7A00018 */ swc1 $f0, 0x18($sp) +/* A4C084 80240124 C600002C */ lwc1 $f0, 0x2c($s0) +/* A4C088 80240128 C6040030 */ lwc1 $f4, 0x30($s0) +/* A4C08C 8024012C 46020000 */ add.s $f0, $f0, $f2 +/* A4C090 80240130 E7A60024 */ swc1 $f6, 0x24($sp) +/* A4C094 80240134 E7A40020 */ swc1 $f4, 0x20($sp) +/* A4C098 80240138 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A4C09C 8024013C 0C0372DF */ jal func_800DCB7C +/* A4C0A0 80240140 AFA20010 */ sw $v0, 0x10($sp) +/* A4C0A4 80240144 C7A00018 */ lwc1 $f0, 0x18($sp) +/* A4C0A8 80240148 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A4C0AC 8024014C C7A40020 */ lwc1 $f4, 0x20($sp) +/* A4C0B0 80240150 E6000028 */ swc1 $f0, 0x28($s0) +/* A4C0B4 80240154 E602002C */ swc1 $f2, 0x2c($s0) +/* A4C0B8 80240158 E6040030 */ swc1 $f4, 0x30($s0) +/* A4C0BC 8024015C 8FBF002C */ lw $ra, 0x2c($sp) +/* A4C0C0 80240160 8FB00028 */ lw $s0, 0x28($sp) +/* A4C0C4 80240164 24020002 */ addiu $v0, $zero, 2 +/* A4C0C8 80240168 03E00008 */ jr $ra +/* A4C0CC 8024016C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240000_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240000_A4CA20.s new file mode 100644 index 0000000000..72e9e5f6cf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240000_A4CA20.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A4CA20 +/* A4CA20 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* A4CA24 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A4CA28 80240008 94620002 */ lhu $v0, 2($v1) +/* A4CA2C 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* A4CA30 80240010 A4620002 */ sh $v0, 2($v1) +/* A4CA34 80240014 03E00008 */ jr $ra +/* A4CA38 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_8024001C_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024001C_A4CA20.s new file mode 100644 index 0000000000..9ffac8e41c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024001C_A4CA20.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_A4CA3C +/* A4CA3C 8024001C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4CA40 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* A4CA44 80240024 0080882D */ daddu $s1, $a0, $zero +/* A4CA48 80240028 AFBF0018 */ sw $ra, 0x18($sp) +/* A4CA4C 8024002C AFB00010 */ sw $s0, 0x10($sp) +/* A4CA50 80240030 8E30000C */ lw $s0, 0xc($s1) +/* A4CA54 80240034 8E050000 */ lw $a1, ($s0) +/* A4CA58 80240038 0C0B1EAF */ jal get_variable +/* A4CA5C 8024003C 26100004 */ addiu $s0, $s0, 4 +/* A4CA60 80240040 0220202D */ daddu $a0, $s1, $zero +/* A4CA64 80240044 8E050000 */ lw $a1, ($s0) +/* A4CA68 80240048 0C0B1EAF */ jal get_variable +/* A4CA6C 8024004C 0040802D */ daddu $s0, $v0, $zero +/* A4CA70 80240050 0040182D */ daddu $v1, $v0, $zero +/* A4CA74 80240054 3C028016 */ lui $v0, 0x8016 +/* A4CA78 80240058 8442A552 */ lh $v0, -0x5aae($v0) +/* A4CA7C 8024005C 16020009 */ bne $s0, $v0, .L80240084 +/* A4CA80 80240060 00000000 */ nop +/* A4CA84 80240064 8E220084 */ lw $v0, 0x84($s1) +/* A4CA88 80240068 00431021 */ addu $v0, $v0, $v1 +/* A4CA8C 8024006C 44820000 */ mtc1 $v0, $f0 +/* A4CA90 80240070 00000000 */ nop +/* A4CA94 80240074 46800020 */ cvt.s.w $f0, $f0 +/* A4CA98 80240078 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A4CA9C 8024007C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A4CAA0 80240080 E440002C */ swc1 $f0, 0x2c($v0) +.L80240084: +/* A4CAA4 80240084 8FBF0018 */ lw $ra, 0x18($sp) +/* A4CAA8 80240088 8FB10014 */ lw $s1, 0x14($sp) +/* A4CAAC 8024008C 8FB00010 */ lw $s0, 0x10($sp) +/* A4CAB0 80240090 24020002 */ addiu $v0, $zero, 2 +/* A4CAB4 80240094 03E00008 */ jr $ra +/* A4CAB8 80240098 27BD0020 */ addiu $sp, $sp, 0x20 +/* A4CABC 8024009C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_802400A0_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_802400A0_A4CA20.s new file mode 100644 index 0000000000..e616dda1b1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_802400A0_A4CA20.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_A4CAC0 +/* A4CAC0 802400A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A4CAC4 802400A4 AFB00018 */ sw $s0, 0x18($sp) +/* A4CAC8 802400A8 AFBF0024 */ sw $ra, 0x24($sp) +/* A4CACC 802400AC AFB20020 */ sw $s2, 0x20($sp) +/* A4CAD0 802400B0 AFB1001C */ sw $s1, 0x1c($sp) +/* A4CAD4 802400B4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A4CAD8 802400B8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A4CADC 802400BC 8C920148 */ lw $s2, 0x148($a0) +/* A4CAE0 802400C0 4485A000 */ mtc1 $a1, $f20 +/* A4CAE4 802400C4 86440008 */ lh $a0, 8($s2) +/* A4CAE8 802400C8 4486B000 */ mtc1 $a2, $f22 +/* A4CAEC 802400CC 0C00EABB */ jal get_npc_unsafe +/* A4CAF0 802400D0 00E0802D */ daddu $s0, $a3, $zero +/* A4CAF4 802400D4 0200202D */ daddu $a0, $s0, $zero +/* A4CAF8 802400D8 0040882D */ daddu $s1, $v0, $zero +/* A4CAFC 802400DC 4406A000 */ mfc1 $a2, $f20 +/* A4CB00 802400E0 4407B000 */ mfc1 $a3, $f22 +/* A4CB04 802400E4 3C03800A */ lui $v1, 0x800a +/* A4CB08 802400E8 8463A634 */ lh $v1, -0x59cc($v1) +/* A4CB0C 802400EC 3C05800B */ lui $a1, %hi(gCameras) +/* A4CB10 802400F0 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A4CB14 802400F4 AFA00010 */ sw $zero, 0x10($sp) +/* A4CB18 802400F8 00031080 */ sll $v0, $v1, 2 +/* A4CB1C 802400FC 00431021 */ addu $v0, $v0, $v1 +/* A4CB20 80240100 00021080 */ sll $v0, $v0, 2 +/* A4CB24 80240104 00431023 */ subu $v0, $v0, $v1 +/* A4CB28 80240108 000218C0 */ sll $v1, $v0, 3 +/* A4CB2C 8024010C 00431021 */ addu $v0, $v0, $v1 +/* A4CB30 80240110 000210C0 */ sll $v0, $v0, 3 +/* A4CB34 80240114 00458021 */ addu $s0, $v0, $a1 +/* A4CB38 80240118 0C01242D */ jal func_800490B4 +/* A4CB3C 8024011C 0240282D */ daddu $a1, $s2, $zero +/* A4CB40 80240120 1040004B */ beqz $v0, .L80240250 +/* A4CB44 80240124 2402FFFF */ addiu $v0, $zero, -1 +/* A4CB48 80240128 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A4CB4C 8024012C C62E000C */ lwc1 $f14, 0xc($s1) +/* A4CB50 80240130 3C014387 */ lui $at, 0x4387 +/* A4CB54 80240134 4481A000 */ mtc1 $at, $f20 +/* A4CB58 80240138 0C00A70A */ jal get_clamped_angle_diff +/* A4CB5C 8024013C 00000000 */ nop +/* A4CB60 80240140 0C00A6C9 */ jal clamp_angle +/* A4CB64 80240144 46000306 */ mov.s $f12, $f0 +/* A4CB68 80240148 3C018024 */ lui $at, 0x8024 +/* A4CB6C 8024014C D4222520 */ ldc1 $f2, 0x2520($at) +/* A4CB70 80240150 46000021 */ cvt.d.s $f0, $f0 +/* A4CB74 80240154 4622003C */ c.lt.d $f0, $f2 +/* A4CB78 80240158 00000000 */ nop +/* A4CB7C 8024015C 45000003 */ bc1f .L8024016C +/* A4CB80 80240160 00000000 */ nop +/* A4CB84 80240164 3C0142B4 */ lui $at, 0x42b4 +/* A4CB88 80240168 4481A000 */ mtc1 $at, $f20 +.L8024016C: +/* A4CB8C 8024016C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* A4CB90 80240170 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* A4CB94 80240174 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A4CB98 80240178 8E020000 */ lw $v0, ($s0) +/* A4CB9C 8024017C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A4CBA0 80240180 8C460028 */ lw $a2, 0x28($v0) +/* A4CBA4 80240184 0C00A720 */ jal atan2 +/* A4CBA8 80240188 8C470030 */ lw $a3, 0x30($v0) +/* A4CBAC 8024018C 4600A306 */ mov.s $f12, $f20 +/* A4CBB0 80240190 0C00A70A */ jal get_clamped_angle_diff +/* A4CBB4 80240194 46000386 */ mov.s $f14, $f0 +/* A4CBB8 80240198 46000005 */ abs.s $f0, $f0 +/* A4CBBC 8024019C 3C018024 */ lui $at, 0x8024 +/* A4CBC0 802401A0 D4222528 */ ldc1 $f2, 0x2528($at) +/* A4CBC4 802401A4 46000021 */ cvt.d.s $f0, $f0 +/* A4CBC8 802401A8 4620103C */ c.lt.d $f2, $f0 +/* A4CBCC 802401AC 00000000 */ nop +/* A4CBD0 802401B0 45010027 */ bc1t .L80240250 +/* A4CBD4 802401B4 2402FFFF */ addiu $v0, $zero, -1 +/* A4CBD8 802401B8 8E020000 */ lw $v0, ($s0) +/* A4CBDC 802401BC C6200038 */ lwc1 $f0, 0x38($s1) +/* A4CBE0 802401C0 C4420028 */ lwc1 $f2, 0x28($v0) +/* A4CBE4 802401C4 44806000 */ mtc1 $zero, $f12 +/* A4CBE8 802401C8 46020001 */ sub.s $f0, $f0, $f2 +/* A4CBEC 802401CC C62E003C */ lwc1 $f14, 0x3c($s1) +/* A4CBF0 802401D0 8C47002C */ lw $a3, 0x2c($v0) +/* A4CBF4 802401D4 46000005 */ abs.s $f0, $f0 +/* A4CBF8 802401D8 44060000 */ mfc1 $a2, $f0 +/* A4CBFC 802401DC 0C00A720 */ jal atan2 +/* A4CC00 802401E0 00000000 */ nop +/* A4CC04 802401E4 3C018024 */ lui $at, 0x8024 +/* A4CC08 802401E8 D4222530 */ ldc1 $f2, 0x2530($at) +/* A4CC0C 802401EC 46000021 */ cvt.d.s $f0, $f0 +/* A4CC10 802401F0 46220001 */ sub.d $f0, $f0, $f2 +/* A4CC14 802401F4 3C018024 */ lui $at, 0x8024 +/* A4CC18 802401F8 D4222538 */ ldc1 $f2, 0x2538($at) +/* A4CC1C 802401FC 46200020 */ cvt.s.d $f0, $f0 +/* A4CC20 80240200 46000005 */ abs.s $f0, $f0 +/* A4CC24 80240204 46000021 */ cvt.d.s $f0, $f0 +/* A4CC28 80240208 4620103C */ c.lt.d $f2, $f0 +/* A4CC2C 8024020C 00000000 */ nop +/* A4CC30 80240210 4501000F */ bc1t .L80240250 +/* A4CC34 80240214 2402FFFF */ addiu $v0, $zero, -1 +/* A4CC38 80240218 3C038011 */ lui $v1, 0x8011 +/* A4CC3C 8024021C 8063EBB3 */ lb $v1, -0x144d($v1) +/* A4CC40 80240220 24020009 */ addiu $v0, $zero, 9 +/* A4CC44 80240224 10620009 */ beq $v1, $v0, .L8024024C +/* A4CC48 80240228 24020007 */ addiu $v0, $zero, 7 +/* A4CC4C 8024022C 50620008 */ beql $v1, $v0, .L80240250 +/* A4CC50 80240230 2402FFFF */ addiu $v0, $zero, -1 +/* A4CC54 80240234 86440008 */ lh $a0, 8($s2) +/* A4CC58 80240238 0C00FB3A */ jal get_enemy +/* A4CC5C 8024023C 24840001 */ addiu $a0, $a0, 1 +/* A4CC60 80240240 8C43006C */ lw $v1, 0x6c($v0) +/* A4CC64 80240244 10600002 */ beqz $v1, .L80240250 +/* A4CC68 80240248 24020001 */ addiu $v0, $zero, 1 +.L8024024C: +/* A4CC6C 8024024C 2402FFFF */ addiu $v0, $zero, -1 +.L80240250: +/* A4CC70 80240250 8FBF0024 */ lw $ra, 0x24($sp) +/* A4CC74 80240254 8FB20020 */ lw $s2, 0x20($sp) +/* A4CC78 80240258 8FB1001C */ lw $s1, 0x1c($sp) +/* A4CC7C 8024025C 8FB00018 */ lw $s0, 0x18($sp) +/* A4CC80 80240260 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A4CC84 80240264 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A4CC88 80240268 03E00008 */ jr $ra +/* A4CC8C 8024026C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240270.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240270.s new file mode 100644 index 0000000000..e0460c36e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240270.s @@ -0,0 +1,336 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240270 +/* A4CC90 80240270 27BDFC78 */ addiu $sp, $sp, -0x388 +/* A4CC94 80240274 AFB60378 */ sw $s6, 0x378($sp) +/* A4CC98 80240278 0080B02D */ daddu $s6, $a0, $zero +/* A4CC9C 8024027C AFBF037C */ sw $ra, 0x37c($sp) +/* A4CCA0 80240280 AFB50374 */ sw $s5, 0x374($sp) +/* A4CCA4 80240284 AFB40370 */ sw $s4, 0x370($sp) +/* A4CCA8 80240288 AFB3036C */ sw $s3, 0x36c($sp) +/* A4CCAC 8024028C AFB20368 */ sw $s2, 0x368($sp) +/* A4CCB0 80240290 AFB10364 */ sw $s1, 0x364($sp) +/* A4CCB4 80240294 AFB00360 */ sw $s0, 0x360($sp) +/* A4CCB8 80240298 F7B40380 */ sdc1 $f20, 0x380($sp) +/* A4CCBC 8024029C 8ED20148 */ lw $s2, 0x148($s6) +/* A4CCC0 802402A0 86440008 */ lh $a0, 8($s2) +/* A4CCC4 802402A4 0C00EABB */ jal get_npc_unsafe +/* A4CCC8 802402A8 00A0802D */ daddu $s0, $a1, $zero +/* A4CCCC 802402AC 86440008 */ lh $a0, 8($s2) +/* A4CCD0 802402B0 0040882D */ daddu $s1, $v0, $zero +/* A4CCD4 802402B4 0C00FB3A */ jal get_enemy +/* A4CCD8 802402B8 2484FFFF */ addiu $a0, $a0, -1 +/* A4CCDC 802402BC 84440008 */ lh $a0, 8($v0) +/* A4CCE0 802402C0 0C00EABB */ jal get_npc_unsafe +/* A4CCE4 802402C4 0000A82D */ daddu $s5, $zero, $zero +/* A4CCE8 802402C8 27B30020 */ addiu $s3, $sp, 0x20 +/* A4CCEC 802402CC 16000005 */ bnez $s0, .L802402E4 +/* A4CCF0 802402D0 0040A02D */ daddu $s4, $v0, $zero +/* A4CCF4 802402D4 8E4200B0 */ lw $v0, 0xb0($s2) +/* A4CCF8 802402D8 30420004 */ andi $v0, $v0, 4 +/* A4CCFC 802402DC 10400018 */ beqz $v0, .L80240340 +/* A4CD00 802402E0 00000000 */ nop +.L802402E4: +/* A4CD04 802402E4 3C030024 */ lui $v1, 0x24 +/* A4CD08 802402E8 34630102 */ ori $v1, $v1, 0x102 +/* A4CD0C 802402EC 3C041620 */ lui $a0, 0x1620 +/* A4CD10 802402F0 AEC00070 */ sw $zero, 0x70($s6) +/* A4CD14 802402F4 8E220000 */ lw $v0, ($s1) +/* A4CD18 802402F8 34840040 */ ori $a0, $a0, 0x40 +/* A4CD1C 802402FC A620008E */ sh $zero, 0x8e($s1) +/* A4CD20 80240300 00431025 */ or $v0, $v0, $v1 +/* A4CD24 80240304 AE220000 */ sw $v0, ($s1) +/* A4CD28 80240308 8E420000 */ lw $v0, ($s2) +/* A4CD2C 8024030C 3C013ECC */ lui $at, 0x3ecc +/* A4CD30 80240310 3421CCCD */ ori $at, $at, 0xcccd +/* A4CD34 80240314 44810000 */ mtc1 $at, $f0 +/* A4CD38 80240318 00441025 */ or $v0, $v0, $a0 +/* A4CD3C 8024031C AE420000 */ sw $v0, ($s2) +/* A4CD40 80240320 E6200054 */ swc1 $f0, 0x54($s1) +/* A4CD44 80240324 E6200058 */ swc1 $f0, 0x58($s1) +/* A4CD48 80240328 8E4300B0 */ lw $v1, 0xb0($s2) +/* A4CD4C 8024032C 30620004 */ andi $v0, $v1, 4 +/* A4CD50 80240330 10400003 */ beqz $v0, .L80240340 +/* A4CD54 80240334 2402FFFB */ addiu $v0, $zero, -5 +/* A4CD58 80240338 00621024 */ and $v0, $v1, $v0 +/* A4CD5C 8024033C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240340: +/* A4CD60 80240340 8EC30070 */ lw $v1, 0x70($s6) +/* A4CD64 80240344 2C620005 */ sltiu $v0, $v1, 5 +/* A4CD68 80240348 10400101 */ beqz $v0, .L80240750 +/* A4CD6C 8024034C 00031080 */ sll $v0, $v1, 2 +/* A4CD70 80240350 3C018024 */ lui $at, 0x8024 +/* A4CD74 80240354 00220821 */ addu $at, $at, $v0 +/* A4CD78 80240358 8C222540 */ lw $v0, 0x2540($at) +/* A4CD7C 8024035C 00400008 */ jr $v0 +/* A4CD80 80240360 00000000 */ nop +/* A4CD84 80240364 3C01C47A */ lui $at, 0xc47a +/* A4CD88 80240368 44810000 */ mtc1 $at, $f0 +/* A4CD8C 8024036C 24020014 */ addiu $v0, $zero, 0x14 +/* A4CD90 80240370 AE400078 */ sw $zero, 0x78($s2) +/* A4CD94 80240374 A62200A6 */ sh $v0, 0xa6($s1) +/* A4CD98 80240378 A62200A8 */ sh $v0, 0xa8($s1) +/* A4CD9C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* A4CDA0 80240380 AE200038 */ sw $zero, 0x38($s1) +/* A4CDA4 80240384 AE200040 */ sw $zero, 0x40($s1) +/* A4CDA8 80240388 E620003C */ swc1 $f0, 0x3c($s1) +/* A4CDAC 8024038C AE40006C */ sw $zero, 0x6c($s2) +/* A4CDB0 80240390 AEC20070 */ sw $v0, 0x70($s6) +/* A4CDB4 80240394 8E50006C */ lw $s0, 0x6c($s2) +/* A4CDB8 80240398 24020001 */ addiu $v0, $zero, 1 +/* A4CDBC 8024039C 160200EC */ bne $s0, $v0, .L80240750 +/* A4CDC0 802403A0 24150002 */ addiu $s5, $zero, 2 +/* A4CDC4 802403A4 AE55006C */ sw $s5, 0x6c($s2) +/* A4CDC8 802403A8 C6800038 */ lwc1 $f0, 0x38($s4) +/* A4CDCC 802403AC E6600038 */ swc1 $f0, 0x38($s3) +/* A4CDD0 802403B0 C680003C */ lwc1 $f0, 0x3c($s4) +/* A4CDD4 802403B4 E660003C */ swc1 $f0, 0x3c($s3) +/* A4CDD8 802403B8 C6800040 */ lwc1 $f0, 0x40($s4) +/* A4CDDC 802403BC E6600040 */ swc1 $f0, 0x40($s3) +/* A4CDE0 802403C0 C6820034 */ lwc1 $f2, 0x34($s4) +/* A4CDE4 802403C4 3C014387 */ lui $at, 0x4387 +/* A4CDE8 802403C8 44810000 */ mtc1 $at, $f0 +/* A4CDEC 802403CC 00000000 */ nop +/* A4CDF0 802403D0 46020001 */ sub.s $f0, $f0, $f2 +/* A4CDF4 802403D4 C6480074 */ lwc1 $f8, 0x74($s2) +/* A4CDF8 802403D8 46804220 */ cvt.s.w $f8, $f8 +/* A4CDFC 802403DC 44054000 */ mfc1 $a1, $f8 +/* A4CE00 802403E0 44060000 */ mfc1 $a2, $f0 +/* A4CE04 802403E4 0C00EA95 */ jal npc_move_heading +/* A4CE08 802403E8 0260202D */ daddu $a0, $s3, $zero +/* A4CE0C 802403EC C6600038 */ lwc1 $f0, 0x38($s3) +/* A4CE10 802403F0 E6200038 */ swc1 $f0, 0x38($s1) +/* A4CE14 802403F4 C680003C */ lwc1 $f0, 0x3c($s4) +/* A4CE18 802403F8 C6420070 */ lwc1 $f2, 0x70($s2) +/* A4CE1C 802403FC 468010A0 */ cvt.s.w $f2, $f2 +/* A4CE20 80240400 46020000 */ add.s $f0, $f0, $f2 +/* A4CE24 80240404 3C014024 */ lui $at, 0x4024 +/* A4CE28 80240408 4481A800 */ mtc1 $at, $f21 +/* A4CE2C 8024040C 4480A000 */ mtc1 $zero, $f20 +/* A4CE30 80240410 E620003C */ swc1 $f0, 0x3c($s1) +/* A4CE34 80240414 C6600040 */ lwc1 $f0, 0x40($s3) +/* A4CE38 80240418 E6200040 */ swc1 $f0, 0x40($s1) +/* A4CE3C 8024041C A2500007 */ sb $s0, 7($s2) +/* A4CE40 80240420 C6200038 */ lwc1 $f0, 0x38($s1) +/* A4CE44 80240424 3C014066 */ lui $at, 0x4066 +/* A4CE48 80240428 34216666 */ ori $at, $at, 0x6666 +/* A4CE4C 8024042C 44811000 */ mtc1 $at, $f2 +/* A4CE50 80240430 4600020D */ trunc.w.s $f8, $f0 +/* A4CE54 80240434 44024000 */ mfc1 $v0, $f8 +/* A4CE58 80240438 00000000 */ nop +/* A4CE5C 8024043C A6420010 */ sh $v0, 0x10($s2) +/* A4CE60 80240440 C620003C */ lwc1 $f0, 0x3c($s1) +/* A4CE64 80240444 3C13800F */ lui $s3, %hi(gPlayerStatusPtr) +/* A4CE68 80240448 26737B30 */ addiu $s3, $s3, %lo(gPlayerStatusPtr) +/* A4CE6C 8024044C 4600020D */ trunc.w.s $f8, $f0 +/* A4CE70 80240450 44024000 */ mfc1 $v0, $f8 +/* A4CE74 80240454 00000000 */ nop +/* A4CE78 80240458 A6420012 */ sh $v0, 0x12($s2) +/* A4CE7C 8024045C C6200040 */ lwc1 $f0, 0x40($s1) +/* A4CE80 80240460 8E630000 */ lw $v1, ($s3) +/* A4CE84 80240464 4600020D */ trunc.w.s $f8, $f0 +/* A4CE88 80240468 44024000 */ mfc1 $v0, $f8 +/* A4CE8C 8024046C 00000000 */ nop +/* A4CE90 80240470 A6420014 */ sh $v0, 0x14($s2) +/* A4CE94 80240474 E6220018 */ swc1 $f2, 0x18($s1) +/* A4CE98 80240478 C460002C */ lwc1 $f0, 0x2c($v1) +/* A4CE9C 8024047C C6220038 */ lwc1 $f2, 0x38($s1) +/* A4CEA0 80240480 46000021 */ cvt.d.s $f0, $f0 +/* A4CEA4 80240484 46340000 */ add.d $f0, $f0, $f20 +/* A4CEA8 80240488 C4640028 */ lwc1 $f4, 0x28($v1) +/* A4CEAC 8024048C 44806000 */ mtc1 $zero, $f12 +/* A4CEB0 80240490 46041081 */ sub.s $f2, $f2, $f4 +/* A4CEB4 80240494 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A4CEB8 80240498 46200020 */ cvt.s.d $f0, $f0 +/* A4CEBC 8024049C 46001085 */ abs.s $f2, $f2 +/* A4CEC0 802404A0 44070000 */ mfc1 $a3, $f0 +/* A4CEC4 802404A4 44061000 */ mfc1 $a2, $f2 +/* A4CEC8 802404A8 0C00A720 */ jal atan2 +/* A4CECC 802404AC 00000000 */ nop +/* A4CED0 802404B0 3C018024 */ lui $at, 0x8024 +/* A4CED4 802404B4 D4222558 */ ldc1 $f2, 0x2558($at) +/* A4CED8 802404B8 46000021 */ cvt.d.s $f0, $f0 +/* A4CEDC 802404BC 46220001 */ sub.d $f0, $f0, $f2 +/* A4CEE0 802404C0 46200020 */ cvt.s.d $f0, $f0 +/* A4CEE4 802404C4 4600020D */ trunc.w.s $f8, $f0 +/* A4CEE8 802404C8 44044000 */ mfc1 $a0, $f8 +/* A4CEEC 802404CC 00000000 */ nop +/* A4CEF0 802404D0 00042400 */ sll $a0, $a0, 0x10 +/* A4CEF4 802404D4 0C00A4F5 */ jal cosine +/* A4CEF8 802404D8 00042403 */ sra $a0, $a0, 0x10 +/* A4CEFC 802404DC C6220018 */ lwc1 $f2, 0x18($s1) +/* A4CF00 802404E0 46020002 */ mul.s $f0, $f0, $f2 +/* A4CF04 802404E4 00000000 */ nop +/* A4CF08 802404E8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A4CF0C 802404EC C62E0040 */ lwc1 $f14, 0x40($s1) +/* A4CF10 802404F0 8E620000 */ lw $v0, ($s3) +/* A4CF14 802404F4 E620001C */ swc1 $f0, 0x1c($s1) +/* A4CF18 802404F8 8C460028 */ lw $a2, 0x28($v0) +/* A4CF1C 802404FC 0C00A720 */ jal atan2 +/* A4CF20 80240500 8C470030 */ lw $a3, 0x30($v0) +/* A4CF24 80240504 8E620000 */ lw $v0, ($s3) +/* A4CF28 80240508 E620000C */ swc1 $f0, 0xc($s1) +/* A4CF2C 8024050C C440002C */ lwc1 $f0, 0x2c($v0) +/* A4CF30 80240510 46000021 */ cvt.d.s $f0, $f0 +/* A4CF34 80240514 46340000 */ add.d $f0, $f0, $f20 +/* A4CF38 80240518 46200020 */ cvt.s.d $f0, $f0 +/* A4CF3C 8024051C E7A00010 */ swc1 $f0, 0x10($sp) +/* A4CF40 80240520 C4400030 */ lwc1 $f0, 0x30($v0) +/* A4CF44 80240524 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4CF48 80240528 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A4CF4C 8024052C C62E003C */ lwc1 $f14, 0x3c($s1) +/* A4CF50 80240530 8E260040 */ lw $a2, 0x40($s1) +/* A4CF54 80240534 0C00A7CB */ jal dist3D +/* A4CF58 80240538 8C470028 */ lw $a3, 0x28($v0) +/* A4CF5C 8024053C C6220018 */ lwc1 $f2, 0x18($s1) +/* A4CF60 80240540 46020003 */ div.s $f0, $f0, $f2 +/* A4CF64 80240544 4600020D */ trunc.w.s $f8, $f0 +/* A4CF68 80240548 44104000 */ mfc1 $s0, $f8 +/* A4CF6C 8024054C 00000000 */ nop +/* A4CF70 80240550 5A000001 */ blezl $s0, .L80240558 +/* A4CF74 80240554 24100001 */ addiu $s0, $zero, 1 +.L80240558: +/* A4CF78 80240558 8E620000 */ lw $v0, ($s3) +/* A4CF7C 8024055C C624003C */ lwc1 $f4, 0x3c($s1) +/* A4CF80 80240560 3C014120 */ lui $at, 0x4120 +/* A4CF84 80240564 44811000 */ mtc1 $at, $f2 +/* A4CF88 80240568 C4400028 */ lwc1 $f0, 0x28($v0) +/* A4CF8C 8024056C E7A00010 */ swc1 $f0, 0x10($sp) +/* A4CF90 80240570 C440002C */ lwc1 $f0, 0x2c($v0) +/* A4CF94 80240574 46020000 */ add.s $f0, $f0, $f2 +/* A4CF98 80240578 3C014160 */ lui $at, 0x4160 +/* A4CF9C 8024057C 44811000 */ mtc1 $at, $f2 +/* A4CFA0 80240580 00000000 */ nop +/* A4CFA4 80240584 46022100 */ add.s $f4, $f4, $f2 +/* A4CFA8 80240588 46020000 */ add.s $f0, $f0, $f2 +/* A4CFAC 8024058C 44062000 */ mfc1 $a2, $f4 +/* A4CFB0 80240590 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4CFB4 80240594 C4400030 */ lwc1 $f0, 0x30($v0) +/* A4CFB8 80240598 AFB0001C */ sw $s0, 0x1c($sp) +/* A4CFBC 8024059C E7A00018 */ swc1 $f0, 0x18($sp) +/* A4CFC0 802405A0 8E250038 */ lw $a1, 0x38($s1) +/* A4CFC4 802405A4 8E270040 */ lw $a3, 0x40($s1) +/* A4CFC8 802405A8 0C01BFD4 */ jal func_8006FF50 +/* A4CFCC 802405AC 0000202D */ daddu $a0, $zero, $zero +/* A4CFD0 802405B0 AE420078 */ sw $v0, 0x78($s2) +/* A4CFD4 802405B4 A630008E */ sh $s0, 0x8e($s1) +/* A4CFD8 802405B8 080901D4 */ j .L80240750 +/* A4CFDC 802405BC AED50070 */ sw $s5, 0x70($s6) +/* A4CFE0 802405C0 9622008E */ lhu $v0, 0x8e($s1) +/* A4CFE4 802405C4 2442FFFF */ addiu $v0, $v0, -1 +/* A4CFE8 802405C8 A622008E */ sh $v0, 0x8e($s1) +/* A4CFEC 802405CC 00021400 */ sll $v0, $v0, 0x10 +/* A4CFF0 802405D0 58400001 */ blezl $v0, .L802405D8 +/* A4CFF4 802405D4 24150014 */ addiu $s5, $zero, 0x14 +.L802405D8: +/* A4CFF8 802405D8 16A0000A */ bnez $s5, .L80240604 +/* A4CFFC 802405DC 00000000 */ nop +/* A4D000 802405E0 8E250018 */ lw $a1, 0x18($s1) +/* A4D004 802405E4 8E26000C */ lw $a2, 0xc($s1) +/* A4D008 802405E8 0C00EA95 */ jal npc_move_heading +/* A4D00C 802405EC 0220202D */ daddu $a0, $s1, $zero +/* A4D010 802405F0 C620003C */ lwc1 $f0, 0x3c($s1) +/* A4D014 802405F4 C622001C */ lwc1 $f2, 0x1c($s1) +/* A4D018 802405F8 46020000 */ add.s $f0, $f0, $f2 +/* A4D01C 802405FC 080901D4 */ j .L80240750 +/* A4D020 80240600 E620003C */ swc1 $f0, 0x3c($s1) +.L80240604: +/* A4D024 80240604 862200A8 */ lh $v0, 0xa8($s1) +/* A4D028 80240608 3C013FE0 */ lui $at, 0x3fe0 +/* A4D02C 8024060C 44810800 */ mtc1 $at, $f1 +/* A4D030 80240610 44800000 */ mtc1 $zero, $f0 +/* A4D034 80240614 44821000 */ mtc1 $v0, $f2 +/* A4D038 80240618 00000000 */ nop +/* A4D03C 8024061C 468010A1 */ cvt.d.w $f2, $f2 +/* A4D040 80240620 46201082 */ mul.d $f2, $f2, $f0 +/* A4D044 80240624 00000000 */ nop +/* A4D048 80240628 C620003C */ lwc1 $f0, 0x3c($s1) +/* A4D04C 8024062C AE20001C */ sw $zero, 0x1c($s1) +/* A4D050 80240630 46000021 */ cvt.d.s $f0, $f0 +/* A4D054 80240634 46220001 */ sub.d $f0, $f0, $f2 +/* A4D058 80240638 AE200018 */ sw $zero, 0x18($s1) +/* A4D05C 8024063C 24020003 */ addiu $v0, $zero, 3 +/* A4D060 80240640 46200020 */ cvt.s.d $f0, $f0 +/* A4D064 80240644 E620003C */ swc1 $f0, 0x3c($s1) +/* A4D068 80240648 AE42006C */ sw $v0, 0x6c($s2) +/* A4D06C 8024064C 24020004 */ addiu $v0, $zero, 4 +/* A4D070 80240650 A620008E */ sh $zero, 0x8e($s1) +/* A4D074 80240654 080901D4 */ j .L80240750 +/* A4D078 80240658 AEC20070 */ sw $v0, 0x70($s6) +/* A4D07C 8024065C 9622008E */ lhu $v0, 0x8e($s1) +/* A4D080 80240660 24420001 */ addiu $v0, $v0, 1 +/* A4D084 80240664 A622008E */ sh $v0, 0x8e($s1) +/* A4D088 80240668 00021400 */ sll $v0, $v0, 0x10 +/* A4D08C 8024066C 00021C03 */ sra $v1, $v0, 0x10 +/* A4D090 80240670 28620007 */ slti $v0, $v1, 7 +/* A4D094 80240674 10400027 */ beqz $v0, .L80240714 +/* A4D098 80240678 24020007 */ addiu $v0, $zero, 7 +/* A4D09C 8024067C 8622008E */ lh $v0, 0x8e($s1) +/* A4D0A0 80240680 3C01401C */ lui $at, 0x401c +/* A4D0A4 80240684 44810800 */ mtc1 $at, $f1 +/* A4D0A8 80240688 44800000 */ mtc1 $zero, $f0 +/* A4D0AC 8024068C 44822000 */ mtc1 $v0, $f4 +/* A4D0B0 80240690 00000000 */ nop +/* A4D0B4 80240694 46802120 */ cvt.s.w $f4, $f4 +/* A4D0B8 80240698 46002121 */ cvt.d.s $f4, $f4 +/* A4D0BC 8024069C 46202102 */ mul.d $f4, $f4, $f0 +/* A4D0C0 802406A0 00000000 */ nop +/* A4D0C4 802406A4 44821000 */ mtc1 $v0, $f2 +/* A4D0C8 802406A8 00000000 */ nop +/* A4D0CC 802406AC 468010A0 */ cvt.s.w $f2, $f2 +/* A4D0D0 802406B0 460010A1 */ cvt.d.s $f2, $f2 +/* A4D0D4 802406B4 46201082 */ mul.d $f2, $f2, $f0 +/* A4D0D8 802406B8 00000000 */ nop +/* A4D0DC 802406BC C620003C */ lwc1 $f0, 0x3c($s1) +/* A4D0E0 802406C0 3C01400C */ lui $at, 0x400c +/* A4D0E4 802406C4 44813800 */ mtc1 $at, $f7 +/* A4D0E8 802406C8 44803000 */ mtc1 $zero, $f6 +/* A4D0EC 802406CC 46000021 */ cvt.d.s $f0, $f0 +/* A4D0F0 802406D0 46260001 */ sub.d $f0, $f0, $f6 +/* A4D0F4 802406D4 3C014034 */ lui $at, 0x4034 +/* A4D0F8 802406D8 44813800 */ mtc1 $at, $f7 +/* A4D0FC 802406DC 44803000 */ mtc1 $zero, $f6 +/* A4D100 802406E0 00000000 */ nop +/* A4D104 802406E4 46262100 */ add.d $f4, $f4, $f6 +/* A4D108 802406E8 46200020 */ cvt.s.d $f0, $f0 +/* A4D10C 802406EC E620003C */ swc1 $f0, 0x3c($s1) +/* A4D110 802406F0 46261080 */ add.d $f2, $f2, $f6 +/* A4D114 802406F4 4620220D */ trunc.w.d $f8, $f4 +/* A4D118 802406F8 44024000 */ mfc1 $v0, $f8 +/* A4D11C 802406FC 00000000 */ nop +/* A4D120 80240700 A62200A6 */ sh $v0, 0xa6($s1) +/* A4D124 80240704 4620120D */ trunc.w.d $f8, $f2 +/* A4D128 80240708 44024000 */ mfc1 $v0, $f8 +/* A4D12C 8024070C 080901D4 */ j .L80240750 +/* A4D130 80240710 A62200A8 */ sh $v0, 0xa8($s1) +.L80240714: +/* A4D134 80240714 1462000A */ bne $v1, $v0, .L80240740 +/* A4D138 80240718 28620010 */ slti $v0, $v1, 0x10 +/* A4D13C 8024071C 3C01C47A */ lui $at, 0xc47a +/* A4D140 80240720 44810000 */ mtc1 $at, $f0 +/* A4D144 80240724 24020014 */ addiu $v0, $zero, 0x14 +/* A4D148 80240728 AE200038 */ sw $zero, 0x38($s1) +/* A4D14C 8024072C AE200040 */ sw $zero, 0x40($s1) +/* A4D150 80240730 A62200A6 */ sh $v0, 0xa6($s1) +/* A4D154 80240734 A62200A8 */ sh $v0, 0xa8($s1) +/* A4D158 80240738 080901D4 */ j .L80240750 +/* A4D15C 8024073C E620003C */ swc1 $f0, 0x3c($s1) +.L80240740: +/* A4D160 80240740 14400003 */ bnez $v0, .L80240750 +/* A4D164 80240744 00000000 */ nop +/* A4D168 80240748 AE40006C */ sw $zero, 0x6c($s2) +/* A4D16C 8024074C AEC00070 */ sw $zero, 0x70($s6) +.L80240750: +/* A4D170 80240750 8FBF037C */ lw $ra, 0x37c($sp) +/* A4D174 80240754 8FB60378 */ lw $s6, 0x378($sp) +/* A4D178 80240758 8FB50374 */ lw $s5, 0x374($sp) +/* A4D17C 8024075C 8FB40370 */ lw $s4, 0x370($sp) +/* A4D180 80240760 8FB3036C */ lw $s3, 0x36c($sp) +/* A4D184 80240764 8FB20368 */ lw $s2, 0x368($sp) +/* A4D188 80240768 8FB10364 */ lw $s1, 0x364($sp) +/* A4D18C 8024076C 8FB00360 */ lw $s0, 0x360($sp) +/* A4D190 80240770 D7B40380 */ ldc1 $f20, 0x380($sp) +/* A4D194 80240774 0000102D */ daddu $v0, $zero, $zero +/* A4D198 80240778 03E00008 */ jr $ra +/* A4D19C 8024077C 27BD0388 */ addiu $sp, $sp, 0x388 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240780.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240780.s new file mode 100644 index 0000000000..8c95a33dfc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240780.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240780 +/* A4D1A0 80240780 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4D1A4 80240784 AFB10014 */ sw $s1, 0x14($sp) +/* A4D1A8 80240788 0080882D */ daddu $s1, $a0, $zero +/* A4D1AC 8024078C AFBF0018 */ sw $ra, 0x18($sp) +/* A4D1B0 80240790 AFB00010 */ sw $s0, 0x10($sp) +/* A4D1B4 80240794 8E300148 */ lw $s0, 0x148($s1) +/* A4D1B8 80240798 0C00EABB */ jal get_npc_unsafe +/* A4D1BC 8024079C 86040008 */ lh $a0, 8($s0) +/* A4D1C0 802407A0 0040282D */ daddu $a1, $v0, $zero +/* A4D1C4 802407A4 94A2008E */ lhu $v0, 0x8e($a1) +/* A4D1C8 802407A8 2442FFFF */ addiu $v0, $v0, -1 +/* A4D1CC 802407AC A4A2008E */ sh $v0, 0x8e($a1) +/* A4D1D0 802407B0 00021400 */ sll $v0, $v0, 0x10 +/* A4D1D4 802407B4 1C40000A */ bgtz $v0, .L802407E0 +/* A4D1D8 802407B8 2404FFFD */ addiu $a0, $zero, -3 +/* A4D1DC 802407BC 8E0300CC */ lw $v1, 0xcc($s0) +/* A4D1E0 802407C0 8CA20000 */ lw $v0, ($a1) +/* A4D1E4 802407C4 8C630000 */ lw $v1, ($v1) +/* A4D1E8 802407C8 00441024 */ and $v0, $v0, $a0 +/* A4D1EC 802407CC ACA20000 */ sw $v0, ($a1) +/* A4D1F0 802407D0 24020001 */ addiu $v0, $zero, 1 +/* A4D1F4 802407D4 A4A0008E */ sh $zero, 0x8e($a1) +/* A4D1F8 802407D8 ACA30028 */ sw $v1, 0x28($a1) +/* A4D1FC 802407DC AE220070 */ sw $v0, 0x70($s1) +.L802407E0: +/* A4D200 802407E0 8FBF0018 */ lw $ra, 0x18($sp) +/* A4D204 802407E4 8FB10014 */ lw $s1, 0x14($sp) +/* A4D208 802407E8 8FB00010 */ lw $s0, 0x10($sp) +/* A4D20C 802407EC 03E00008 */ jr $ra +/* A4D210 802407F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_802407F4_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_802407F4_A4CA20.s new file mode 100644 index 0000000000..54d6713917 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_802407F4_A4CA20.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4_A4D214 +/* A4D214 802407F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A4D218 802407F8 AFB3001C */ sw $s3, 0x1c($sp) +/* A4D21C 802407FC 0080982D */ daddu $s3, $a0, $zero +/* A4D220 80240800 AFBF0020 */ sw $ra, 0x20($sp) +/* A4D224 80240804 AFB20018 */ sw $s2, 0x18($sp) +/* A4D228 80240808 AFB10014 */ sw $s1, 0x14($sp) +/* A4D22C 8024080C AFB00010 */ sw $s0, 0x10($sp) +/* A4D230 80240810 8E720148 */ lw $s2, 0x148($s3) +/* A4D234 80240814 0C00EABB */ jal get_npc_unsafe +/* A4D238 80240818 86440008 */ lh $a0, 8($s2) +/* A4D23C 8024081C 0040802D */ daddu $s0, $v0, $zero +/* A4D240 80240820 8603008E */ lh $v1, 0x8e($s0) +/* A4D244 80240824 3C118024 */ lui $s1, 0x8024 +/* A4D248 80240828 26311CF0 */ addiu $s1, $s1, 0x1cf0 +/* A4D24C 8024082C 00031040 */ sll $v0, $v1, 1 +/* A4D250 80240830 00431021 */ addu $v0, $v0, $v1 +/* A4D254 80240834 00021080 */ sll $v0, $v0, 2 +/* A4D258 80240838 3C018024 */ lui $at, 0x8024 +/* A4D25C 8024083C 00220821 */ addu $at, $at, $v0 +/* A4D260 80240840 C4201CF0 */ lwc1 $f0, 0x1cf0($at) +/* A4D264 80240844 00031040 */ sll $v0, $v1, 1 +/* A4D268 80240848 00431021 */ addu $v0, $v0, $v1 +/* A4D26C 8024084C 00021080 */ sll $v0, $v0, 2 +/* A4D270 80240850 E6000054 */ swc1 $f0, 0x54($s0) +/* A4D274 80240854 3C018024 */ lui $at, 0x8024 +/* A4D278 80240858 00220821 */ addu $at, $at, $v0 +/* A4D27C 8024085C C4201CF4 */ lwc1 $f0, 0x1cf4($at) +/* A4D280 80240860 00031040 */ sll $v0, $v1, 1 +/* A4D284 80240864 00431021 */ addu $v0, $v0, $v1 +/* A4D288 80240868 9603008E */ lhu $v1, 0x8e($s0) +/* A4D28C 8024086C 00021080 */ sll $v0, $v0, 2 +/* A4D290 80240870 E6000058 */ swc1 $f0, 0x58($s0) +/* A4D294 80240874 3C018024 */ lui $at, 0x8024 +/* A4D298 80240878 00220821 */ addu $at, $at, $v0 +/* A4D29C 8024087C 90221CF8 */ lbu $v0, 0x1cf8($at) +/* A4D2A0 80240880 24630001 */ addiu $v1, $v1, 1 +/* A4D2A4 80240884 A603008E */ sh $v1, 0x8e($s0) +/* A4D2A8 80240888 00031C00 */ sll $v1, $v1, 0x10 +/* A4D2AC 8024088C 00031C03 */ sra $v1, $v1, 0x10 +/* A4D2B0 80240890 A20200AC */ sb $v0, 0xac($s0) +/* A4D2B4 80240894 24020004 */ addiu $v0, $zero, 4 +/* A4D2B8 80240898 14620007 */ bne $v1, $v0, .L802408B8 +/* A4D2BC 8024089C 00000000 */ nop +/* A4D2C0 802408A0 0C00EAFF */ jal disable_npc_shadow +/* A4D2C4 802408A4 0200202D */ daddu $a0, $s0, $zero +/* A4D2C8 802408A8 8E420000 */ lw $v0, ($s2) +/* A4D2CC 802408AC 3C031F10 */ lui $v1, 0x1f10 +/* A4D2D0 802408B0 00431025 */ or $v0, $v0, $v1 +/* A4D2D4 802408B4 AE420000 */ sw $v0, ($s2) +.L802408B8: +/* A4D2D8 802408B8 8602008E */ lh $v0, 0x8e($s0) +/* A4D2DC 802408BC 00021840 */ sll $v1, $v0, 1 +/* A4D2E0 802408C0 00621821 */ addu $v1, $v1, $v0 +/* A4D2E4 802408C4 00031880 */ sll $v1, $v1, 2 +/* A4D2E8 802408C8 00711821 */ addu $v1, $v1, $s1 +/* A4D2EC 802408CC 90620008 */ lbu $v0, 8($v1) +/* A4D2F0 802408D0 1440000C */ bnez $v0, .L80240904 +/* A4D2F4 802408D4 240200FF */ addiu $v0, $zero, 0xff +/* A4D2F8 802408D8 A20200AC */ sb $v0, 0xac($s0) +/* A4D2FC 802408DC 24020005 */ addiu $v0, $zero, 5 +/* A4D300 802408E0 8E030000 */ lw $v1, ($s0) +/* A4D304 802408E4 3C013F80 */ lui $at, 0x3f80 +/* A4D308 802408E8 44810000 */ mtc1 $at, $f0 +/* A4D30C 802408EC 34630002 */ ori $v1, $v1, 2 +/* A4D310 802408F0 E6000054 */ swc1 $f0, 0x54($s0) +/* A4D314 802408F4 E6000058 */ swc1 $f0, 0x58($s0) +/* A4D318 802408F8 E600005C */ swc1 $f0, 0x5c($s0) +/* A4D31C 802408FC AE030000 */ sw $v1, ($s0) +/* A4D320 80240900 AE620070 */ sw $v0, 0x70($s3) +.L80240904: +/* A4D324 80240904 8FBF0020 */ lw $ra, 0x20($sp) +/* A4D328 80240908 8FB3001C */ lw $s3, 0x1c($sp) +/* A4D32C 8024090C 8FB20018 */ lw $s2, 0x18($sp) +/* A4D330 80240910 8FB10014 */ lw $s1, 0x14($sp) +/* A4D334 80240914 8FB00010 */ lw $s0, 0x10($sp) +/* A4D338 80240918 03E00008 */ jr $ra +/* A4D33C 8024091C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240920.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240920.s new file mode 100644 index 0000000000..2214623a4f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240920.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240920 +/* A4D340 80240920 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4D344 80240924 AFB10014 */ sw $s1, 0x14($sp) +/* A4D348 80240928 0080882D */ daddu $s1, $a0, $zero +/* A4D34C 8024092C AFBF0018 */ sw $ra, 0x18($sp) +/* A4D350 80240930 AFB00010 */ sw $s0, 0x10($sp) +/* A4D354 80240934 8E220148 */ lw $v0, 0x148($s1) +/* A4D358 80240938 0C00EABB */ jal get_npc_unsafe +/* A4D35C 8024093C 84440008 */ lh $a0, 8($v0) +/* A4D360 80240940 24040064 */ addiu $a0, $zero, 0x64 +/* A4D364 80240944 0C00A67F */ jal rand_int +/* A4D368 80240948 0040802D */ daddu $s0, $v0, $zero +/* A4D36C 8024094C 00021FC2 */ srl $v1, $v0, 0x1f +/* A4D370 80240950 00431821 */ addu $v1, $v0, $v1 +/* A4D374 80240954 00031843 */ sra $v1, $v1, 1 +/* A4D378 80240958 00031840 */ sll $v1, $v1, 1 +/* A4D37C 8024095C 00431023 */ subu $v0, $v0, $v1 +/* A4D380 80240960 3C014334 */ lui $at, 0x4334 +/* A4D384 80240964 44811000 */ mtc1 $at, $f2 +/* A4D388 80240968 44820000 */ mtc1 $v0, $f0 +/* A4D38C 8024096C 00000000 */ nop +/* A4D390 80240970 46800020 */ cvt.s.w $f0, $f0 +/* A4D394 80240974 46020002 */ mul.s $f0, $f0, $f2 +/* A4D398 80240978 00000000 */ nop +/* A4D39C 8024097C 3C013F4C */ lui $at, 0x3f4c +/* A4D3A0 80240980 3421CCCD */ ori $at, $at, 0xcccd +/* A4D3A4 80240984 44812000 */ mtc1 $at, $f4 +/* A4D3A8 80240988 3C0142B4 */ lui $at, 0x42b4 +/* A4D3AC 8024098C 44811000 */ mtc1 $at, $f2 +/* A4D3B0 80240990 2402000F */ addiu $v0, $zero, 0xf +/* A4D3B4 80240994 A602008E */ sh $v0, 0x8e($s0) +/* A4D3B8 80240998 46020000 */ add.s $f0, $f0, $f2 +/* A4D3BC 8024099C 24020006 */ addiu $v0, $zero, 6 +/* A4D3C0 802409A0 E6040018 */ swc1 $f4, 0x18($s0) +/* A4D3C4 802409A4 E600000C */ swc1 $f0, 0xc($s0) +/* A4D3C8 802409A8 AE220070 */ sw $v0, 0x70($s1) +/* A4D3CC 802409AC 8FBF0018 */ lw $ra, 0x18($sp) +/* A4D3D0 802409B0 8FB10014 */ lw $s1, 0x14($sp) +/* A4D3D4 802409B4 8FB00010 */ lw $s0, 0x10($sp) +/* A4D3D8 802409B8 03E00008 */ jr $ra +/* A4D3DC 802409BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_802409C0_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_802409C0_A4CA20.s new file mode 100644 index 0000000000..b7f6c205a3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_802409C0_A4CA20.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409C0_A4D3E0 +/* A4D3E0 802409C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4D3E4 802409C4 AFB10014 */ sw $s1, 0x14($sp) +/* A4D3E8 802409C8 0080882D */ daddu $s1, $a0, $zero +/* A4D3EC 802409CC AFBF0018 */ sw $ra, 0x18($sp) +/* A4D3F0 802409D0 AFB00010 */ sw $s0, 0x10($sp) +/* A4D3F4 802409D4 8E220148 */ lw $v0, 0x148($s1) +/* A4D3F8 802409D8 0C00EABB */ jal get_npc_unsafe +/* A4D3FC 802409DC 84440008 */ lh $a0, 8($v0) +/* A4D400 802409E0 0040802D */ daddu $s0, $v0, $zero +/* A4D404 802409E4 8E050018 */ lw $a1, 0x18($s0) +/* A4D408 802409E8 8E06000C */ lw $a2, 0xc($s0) +/* A4D40C 802409EC 0C00EA95 */ jal npc_move_heading +/* A4D410 802409F0 0200202D */ daddu $a0, $s0, $zero +/* A4D414 802409F4 9602008E */ lhu $v0, 0x8e($s0) +/* A4D418 802409F8 2442FFFF */ addiu $v0, $v0, -1 +/* A4D41C 802409FC A602008E */ sh $v0, 0x8e($s0) +/* A4D420 80240A00 00021400 */ sll $v0, $v0, 0x10 +/* A4D424 80240A04 1C400002 */ bgtz $v0, .L80240A10 +/* A4D428 80240A08 2402000A */ addiu $v0, $zero, 0xa +/* A4D42C 80240A0C AE220070 */ sw $v0, 0x70($s1) +.L80240A10: +/* A4D430 80240A10 8FBF0018 */ lw $ra, 0x18($sp) +/* A4D434 80240A14 8FB10014 */ lw $s1, 0x14($sp) +/* A4D438 80240A18 8FB00010 */ lw $s0, 0x10($sp) +/* A4D43C 80240A1C 03E00008 */ jr $ra +/* A4D440 80240A20 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240A24.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240A24.s new file mode 100644 index 0000000000..6348ad2052 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240A24.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A24 +/* A4D444 80240A24 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A4D448 80240A28 AFB30034 */ sw $s3, 0x34($sp) +/* A4D44C 80240A2C 0080982D */ daddu $s3, $a0, $zero +/* A4D450 80240A30 AFBF0038 */ sw $ra, 0x38($sp) +/* A4D454 80240A34 AFB20030 */ sw $s2, 0x30($sp) +/* A4D458 80240A38 AFB1002C */ sw $s1, 0x2c($sp) +/* A4D45C 80240A3C AFB00028 */ sw $s0, 0x28($sp) +/* A4D460 80240A40 8E700148 */ lw $s0, 0x148($s3) +/* A4D464 80240A44 0C00EABB */ jal get_npc_unsafe +/* A4D468 80240A48 86040008 */ lh $a0, 8($s0) +/* A4D46C 80240A4C 0040902D */ daddu $s2, $v0, $zero +/* A4D470 80240A50 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A4D474 80240A54 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A4D478 80240A58 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A4D47C 80240A5C 8E220000 */ lw $v0, ($s1) +/* A4D480 80240A60 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A4D484 80240A64 8C460028 */ lw $a2, 0x28($v0) +/* A4D488 80240A68 0C00A7B5 */ jal dist2D +/* A4D48C 80240A6C 8C470030 */ lw $a3, 0x30($v0) +/* A4D490 80240A70 24020001 */ addiu $v0, $zero, 1 +/* A4D494 80240A74 AE02006C */ sw $v0, 0x6c($s0) +/* A4D498 80240A78 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A4D49C 80240A7C 8E0200CC */ lw $v0, 0xcc($s0) +/* A4D4A0 80240A80 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A4D4A4 80240A84 8E230000 */ lw $v1, ($s1) +/* A4D4A8 80240A88 8C420020 */ lw $v0, 0x20($v0) +/* A4D4AC 80240A8C AE420028 */ sw $v0, 0x28($s2) +/* A4D4B0 80240A90 8C660028 */ lw $a2, 0x28($v1) +/* A4D4B4 80240A94 8C670030 */ lw $a3, 0x30($v1) +/* A4D4B8 80240A98 0C00A720 */ jal atan2 +/* A4D4BC 80240A9C E7A00024 */ swc1 $f0, 0x24($sp) +/* A4D4C0 80240AA0 8E420000 */ lw $v0, ($s2) +/* A4D4C4 80240AA4 3C013DCC */ lui $at, 0x3dcc +/* A4D4C8 80240AA8 3421CCCD */ ori $at, $at, 0xcccd +/* A4D4CC 80240AAC 44811000 */ mtc1 $at, $f2 +/* A4D4D0 80240AB0 2403FFFD */ addiu $v1, $zero, -3 +/* A4D4D4 80240AB4 E640000C */ swc1 $f0, 0xc($s2) +/* A4D4D8 80240AB8 00431024 */ and $v0, $v0, $v1 +/* A4D4DC 80240ABC AE420000 */ sw $v0, ($s2) +/* A4D4E0 80240AC0 30420008 */ andi $v0, $v0, 8 +/* A4D4E4 80240AC4 E6420054 */ swc1 $f2, 0x54($s2) +/* A4D4E8 80240AC8 E6420058 */ swc1 $f2, 0x58($s2) +/* A4D4EC 80240ACC 1440001B */ bnez $v0, .L80240B3C +/* A4D4F0 80240AD0 E642005C */ swc1 $f2, 0x5c($s2) +/* A4D4F4 80240AD4 27A6001C */ addiu $a2, $sp, 0x1c +/* A4D4F8 80240AD8 27A70020 */ addiu $a3, $sp, 0x20 +/* A4D4FC 80240ADC 27A20024 */ addiu $v0, $sp, 0x24 +/* A4D500 80240AE0 C6420038 */ lwc1 $f2, 0x38($s2) +/* A4D504 80240AE4 C640003C */ lwc1 $f0, 0x3c($s2) +/* A4D508 80240AE8 3C014348 */ lui $at, 0x4348 +/* A4D50C 80240AEC 44813000 */ mtc1 $at, $f6 +/* A4D510 80240AF0 46000021 */ cvt.d.s $f0, $f0 +/* A4D514 80240AF4 E7A20018 */ swc1 $f2, 0x18($sp) +/* A4D518 80240AF8 3C014059 */ lui $at, 0x4059 +/* A4D51C 80240AFC 44811800 */ mtc1 $at, $f3 +/* A4D520 80240B00 44801000 */ mtc1 $zero, $f2 +/* A4D524 80240B04 C6440040 */ lwc1 $f4, 0x40($s2) +/* A4D528 80240B08 46220000 */ add.d $f0, $f0, $f2 +/* A4D52C 80240B0C E7A60024 */ swc1 $f6, 0x24($sp) +/* A4D530 80240B10 E7A40020 */ swc1 $f4, 0x20($sp) +/* A4D534 80240B14 46200020 */ cvt.s.d $f0, $f0 +/* A4D538 80240B18 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A4D53C 80240B1C AFA20010 */ sw $v0, 0x10($sp) +/* A4D540 80240B20 8E440080 */ lw $a0, 0x80($s2) +/* A4D544 80240B24 0C0372DF */ jal func_800DCB7C +/* A4D548 80240B28 27A50018 */ addiu $a1, $sp, 0x18 +/* A4D54C 80240B2C 10400004 */ beqz $v0, .L80240B40 +/* A4D550 80240B30 2402000B */ addiu $v0, $zero, 0xb +/* A4D554 80240B34 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A4D558 80240B38 E640003C */ swc1 $f0, 0x3c($s2) +.L80240B3C: +/* A4D55C 80240B3C 2402000B */ addiu $v0, $zero, 0xb +.L80240B40: +/* A4D560 80240B40 A640008E */ sh $zero, 0x8e($s2) +/* A4D564 80240B44 AE620070 */ sw $v0, 0x70($s3) +/* A4D568 80240B48 8FBF0038 */ lw $ra, 0x38($sp) +/* A4D56C 80240B4C 8FB30034 */ lw $s3, 0x34($sp) +/* A4D570 80240B50 8FB20030 */ lw $s2, 0x30($sp) +/* A4D574 80240B54 8FB1002C */ lw $s1, 0x2c($sp) +/* A4D578 80240B58 8FB00028 */ lw $s0, 0x28($sp) +/* A4D57C 80240B5C 03E00008 */ jr $ra +/* A4D580 80240B60 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240B64_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240B64_A4CA20.s new file mode 100644 index 0000000000..c6b2d8648e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240B64_A4CA20.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B64_A4D584 +/* A4D584 80240B64 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A4D588 80240B68 AFB20028 */ sw $s2, 0x28($sp) +/* A4D58C 80240B6C 0080902D */ daddu $s2, $a0, $zero +/* A4D590 80240B70 AFBF002C */ sw $ra, 0x2c($sp) +/* A4D594 80240B74 AFB10024 */ sw $s1, 0x24($sp) +/* A4D598 80240B78 AFB00020 */ sw $s0, 0x20($sp) +/* A4D59C 80240B7C 8E510148 */ lw $s1, 0x148($s2) +/* A4D5A0 80240B80 0C00EABB */ jal get_npc_unsafe +/* A4D5A4 80240B84 86240008 */ lh $a0, 8($s1) +/* A4D5A8 80240B88 8E23006C */ lw $v1, 0x6c($s1) +/* A4D5AC 80240B8C 14600006 */ bnez $v1, .L80240BA8 +/* A4D5B0 80240B90 0040802D */ daddu $s0, $v0, $zero +/* A4D5B4 80240B94 8603008E */ lh $v1, 0x8e($s0) +/* A4D5B8 80240B98 00031100 */ sll $v0, $v1, 4 +/* A4D5BC 80240B9C 00431023 */ subu $v0, $v0, $v1 +/* A4D5C0 80240BA0 080902EE */ j .L80240BB8 +/* A4D5C4 80240BA4 24430082 */ addiu $v1, $v0, 0x82 +.L80240BA8: +/* A4D5C8 80240BA8 8603008E */ lh $v1, 0x8e($s0) +/* A4D5CC 80240BAC 00031100 */ sll $v0, $v1, 4 +/* A4D5D0 80240BB0 00431023 */ subu $v0, $v0, $v1 +/* A4D5D4 80240BB4 2443001E */ addiu $v1, $v0, 0x1e +.L80240BB8: +/* A4D5D8 80240BB8 00031400 */ sll $v0, $v1, 0x10 +/* A4D5DC 80240BBC 00021403 */ sra $v0, $v0, 0x10 +/* A4D5E0 80240BC0 28420100 */ slti $v0, $v0, 0x100 +/* A4D5E4 80240BC4 50400001 */ beql $v0, $zero, .L80240BCC +/* A4D5E8 80240BC8 240300FF */ addiu $v1, $zero, 0xff +.L80240BCC: +/* A4D5EC 80240BCC 8602008E */ lh $v0, 0x8e($s0) +/* A4D5F0 80240BD0 3C018024 */ lui $at, 0x8024 +/* A4D5F4 80240BD4 D4222560 */ ldc1 $f2, 0x2560($at) +/* A4D5F8 80240BD8 44820000 */ mtc1 $v0, $f0 +/* A4D5FC 80240BDC 00000000 */ nop +/* A4D600 80240BE0 46800020 */ cvt.s.w $f0, $f0 +/* A4D604 80240BE4 46000021 */ cvt.d.s $f0, $f0 +/* A4D608 80240BE8 46220002 */ mul.d $f0, $f0, $f2 +/* A4D60C 80240BEC 00000000 */ nop +/* A4D610 80240BF0 3C018024 */ lui $at, 0x8024 +/* A4D614 80240BF4 D4222568 */ ldc1 $f2, 0x2568($at) +/* A4D618 80240BF8 46220000 */ add.d $f0, $f0, $f2 +/* A4D61C 80240BFC A20300AC */ sb $v1, 0xac($s0) +/* A4D620 80240C00 3C013FF0 */ lui $at, 0x3ff0 +/* A4D624 80240C04 44811800 */ mtc1 $at, $f3 +/* A4D628 80240C08 44801000 */ mtc1 $zero, $f2 +/* A4D62C 80240C0C 46200020 */ cvt.s.d $f0, $f0 +/* A4D630 80240C10 E6000054 */ swc1 $f0, 0x54($s0) +/* A4D634 80240C14 46000021 */ cvt.d.s $f0, $f0 +/* A4D638 80240C18 4620103C */ c.lt.d $f2, $f0 +/* A4D63C 80240C1C 00000000 */ nop +/* A4D640 80240C20 45000005 */ bc1f .L80240C38 +/* A4D644 80240C24 24030005 */ addiu $v1, $zero, 5 +/* A4D648 80240C28 3C013F80 */ lui $at, 0x3f80 +/* A4D64C 80240C2C 44810000 */ mtc1 $at, $f0 +/* A4D650 80240C30 00000000 */ nop +/* A4D654 80240C34 E6000054 */ swc1 $f0, 0x54($s0) +.L80240C38: +/* A4D658 80240C38 C6000054 */ lwc1 $f0, 0x54($s0) +/* A4D65C 80240C3C 9602008E */ lhu $v0, 0x8e($s0) +/* A4D660 80240C40 46000086 */ mov.s $f2, $f0 +/* A4D664 80240C44 24420001 */ addiu $v0, $v0, 1 +/* A4D668 80240C48 A602008E */ sh $v0, 0x8e($s0) +/* A4D66C 80240C4C 00021400 */ sll $v0, $v0, 0x10 +/* A4D670 80240C50 00021403 */ sra $v0, $v0, 0x10 +/* A4D674 80240C54 E6000058 */ swc1 $f0, 0x58($s0) +/* A4D678 80240C58 14430008 */ bne $v0, $v1, .L80240C7C +/* A4D67C 80240C5C E602005C */ swc1 $f2, 0x5c($s0) +/* A4D680 80240C60 0C00EAE8 */ jal enable_npc_shadow +/* A4D684 80240C64 0200202D */ daddu $a0, $s0, $zero +/* A4D688 80240C68 3C03E0EF */ lui $v1, 0xe0ef +/* A4D68C 80240C6C 8E220000 */ lw $v0, ($s1) +/* A4D690 80240C70 3463FFFF */ ori $v1, $v1, 0xffff +/* A4D694 80240C74 00431024 */ and $v0, $v0, $v1 +/* A4D698 80240C78 AE220000 */ sw $v0, ($s1) +.L80240C7C: +/* A4D69C 80240C7C 8E22006C */ lw $v0, 0x6c($s1) +/* A4D6A0 80240C80 1440000E */ bnez $v0, .L80240CBC +/* A4D6A4 80240C84 00000000 */ nop +/* A4D6A8 80240C88 8602008E */ lh $v0, 0x8e($s0) +/* A4D6AC 80240C8C 28420014 */ slti $v0, $v0, 0x14 +/* A4D6B0 80240C90 14400017 */ bnez $v0, .L80240CF0 +/* A4D6B4 80240C94 0000282D */ daddu $a1, $zero, $zero +/* A4D6B8 80240C98 00A0302D */ daddu $a2, $a1, $zero +/* A4D6BC 80240C9C AFA00010 */ sw $zero, 0x10($sp) +/* A4D6C0 80240CA0 AFA00014 */ sw $zero, 0x14($sp) +/* A4D6C4 80240CA4 AFA00018 */ sw $zero, 0x18($sp) +/* A4D6C8 80240CA8 8E040024 */ lw $a0, 0x24($s0) +/* A4D6CC 80240CAC 0C0B7A25 */ jal func_802DE894 +/* A4D6D0 80240CB0 00A0382D */ daddu $a3, $a1, $zero +/* A4D6D4 80240CB4 08090333 */ j .L80240CCC +/* A4D6D8 80240CB8 00000000 */ nop +.L80240CBC: +/* A4D6DC 80240CBC 8602008E */ lh $v0, 0x8e($s0) +/* A4D6E0 80240CC0 2842000A */ slti $v0, $v0, 0xa +/* A4D6E4 80240CC4 1440000A */ bnez $v0, .L80240CF0 +/* A4D6E8 80240CC8 00000000 */ nop +.L80240CCC: +/* A4D6EC 80240CCC 3C013F80 */ lui $at, 0x3f80 +/* A4D6F0 80240CD0 44810000 */ mtc1 $at, $f0 +/* A4D6F4 80240CD4 240200FF */ addiu $v0, $zero, 0xff +/* A4D6F8 80240CD8 A20200AC */ sb $v0, 0xac($s0) +/* A4D6FC 80240CDC 24020014 */ addiu $v0, $zero, 0x14 +/* A4D700 80240CE0 E6000054 */ swc1 $f0, 0x54($s0) +/* A4D704 80240CE4 E6000058 */ swc1 $f0, 0x58($s0) +/* A4D708 80240CE8 E600005C */ swc1 $f0, 0x5c($s0) +/* A4D70C 80240CEC AE420070 */ sw $v0, 0x70($s2) +.L80240CF0: +/* A4D710 80240CF0 8FBF002C */ lw $ra, 0x2c($sp) +/* A4D714 80240CF4 8FB20028 */ lw $s2, 0x28($sp) +/* A4D718 80240CF8 8FB10024 */ lw $s1, 0x24($sp) +/* A4D71C 80240CFC 8FB00020 */ lw $s0, 0x20($sp) +/* A4D720 80240D00 03E00008 */ jr $ra +/* A4D724 80240D04 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D08_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D08_A4CA20.s new file mode 100644 index 0000000000..bc43655130 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D08_A4CA20.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08_A4D728 +/* A4D728 80240D08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4D72C 80240D0C AFB00010 */ sw $s0, 0x10($sp) +/* A4D730 80240D10 0080802D */ daddu $s0, $a0, $zero +/* A4D734 80240D14 AFBF0014 */ sw $ra, 0x14($sp) +/* A4D738 80240D18 8E020148 */ lw $v0, 0x148($s0) +/* A4D73C 80240D1C 0C00EABB */ jal get_npc_unsafe +/* A4D740 80240D20 84440008 */ lh $a0, 8($v0) +/* A4D744 80240D24 24030028 */ addiu $v1, $zero, 0x28 +/* A4D748 80240D28 A443008E */ sh $v1, 0x8e($v0) +/* A4D74C 80240D2C 24020015 */ addiu $v0, $zero, 0x15 +/* A4D750 80240D30 AE020070 */ sw $v0, 0x70($s0) +/* A4D754 80240D34 8FBF0014 */ lw $ra, 0x14($sp) +/* A4D758 80240D38 8FB00010 */ lw $s0, 0x10($sp) +/* A4D75C 80240D3C 03E00008 */ jr $ra +/* A4D760 80240D40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D44_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D44_A4CA20.s new file mode 100644 index 0000000000..40092e1750 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240D44_A4CA20.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D44_A4D764 +/* A4D764 80240D44 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A4D768 80240D48 AFB40048 */ sw $s4, 0x48($sp) +/* A4D76C 80240D4C 0080A02D */ daddu $s4, $a0, $zero +/* A4D770 80240D50 AFBF004C */ sw $ra, 0x4c($sp) +/* A4D774 80240D54 AFB30044 */ sw $s3, 0x44($sp) +/* A4D778 80240D58 AFB20040 */ sw $s2, 0x40($sp) +/* A4D77C 80240D5C AFB1003C */ sw $s1, 0x3c($sp) +/* A4D780 80240D60 AFB00038 */ sw $s0, 0x38($sp) +/* A4D784 80240D64 F7B40050 */ sdc1 $f20, 0x50($sp) +/* A4D788 80240D68 8E910148 */ lw $s1, 0x148($s4) +/* A4D78C 80240D6C 00A0902D */ daddu $s2, $a1, $zero +/* A4D790 80240D70 86240008 */ lh $a0, 8($s1) +/* A4D794 80240D74 0C00EABB */ jal get_npc_unsafe +/* A4D798 80240D78 00C0982D */ daddu $s3, $a2, $zero +/* A4D79C 80240D7C 0040802D */ daddu $s0, $v0, $zero +/* A4D7A0 80240D80 9602008E */ lhu $v0, 0x8e($s0) +/* A4D7A4 80240D84 2442FFFF */ addiu $v0, $v0, -1 +/* A4D7A8 80240D88 A602008E */ sh $v0, 0x8e($s0) +/* A4D7AC 80240D8C 00021400 */ sll $v0, $v0, 0x10 +/* A4D7B0 80240D90 14400021 */ bnez $v0, .L80240E18 +/* A4D7B4 80240D94 0280202D */ daddu $a0, $s4, $zero +/* A4D7B8 80240D98 24040002 */ addiu $a0, $zero, 2 +/* A4D7BC 80240D9C 0200282D */ daddu $a1, $s0, $zero +/* A4D7C0 80240DA0 0000302D */ daddu $a2, $zero, $zero +/* A4D7C4 80240DA4 8E2200CC */ lw $v0, 0xcc($s1) +/* A4D7C8 80240DA8 3C013F80 */ lui $at, 0x3f80 +/* A4D7CC 80240DAC 44810000 */ mtc1 $at, $f0 +/* A4D7D0 80240DB0 3C014000 */ lui $at, 0x4000 +/* A4D7D4 80240DB4 44811000 */ mtc1 $at, $f2 +/* A4D7D8 80240DB8 8C430000 */ lw $v1, ($v0) +/* A4D7DC 80240DBC 860200A8 */ lh $v0, 0xa8($s0) +/* A4D7E0 80240DC0 3C01C1A0 */ lui $at, 0xc1a0 +/* A4D7E4 80240DC4 44812000 */ mtc1 $at, $f4 +/* A4D7E8 80240DC8 44824000 */ mtc1 $v0, $f8 +/* A4D7EC 80240DCC 00000000 */ nop +/* A4D7F0 80240DD0 46804220 */ cvt.s.w $f8, $f8 +/* A4D7F4 80240DD4 44074000 */ mfc1 $a3, $f8 +/* A4D7F8 80240DD8 2402000C */ addiu $v0, $zero, 0xc +/* A4D7FC 80240DDC AE030028 */ sw $v1, 0x28($s0) +/* A4D800 80240DE0 AFA2001C */ sw $v0, 0x1c($sp) +/* A4D804 80240DE4 27A20028 */ addiu $v0, $sp, 0x28 +/* A4D808 80240DE8 E7A00010 */ swc1 $f0, 0x10($sp) +/* A4D80C 80240DEC E7A20014 */ swc1 $f2, 0x14($sp) +/* A4D810 80240DF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* A4D814 80240DF4 0C01BFA4 */ jal fx_emote +/* A4D818 80240DF8 AFA20020 */ sw $v0, 0x20($sp) +/* A4D81C 80240DFC 8E2200CC */ lw $v0, 0xcc($s1) +/* A4D820 80240E00 8C430000 */ lw $v1, ($v0) +/* A4D824 80240E04 2402000F */ addiu $v0, $zero, 0xf +/* A4D828 80240E08 A602008E */ sh $v0, 0x8e($s0) +/* A4D82C 80240E0C AE030028 */ sw $v1, 0x28($s0) +/* A4D830 80240E10 080903B8 */ j .L80240EE0 +/* A4D834 80240E14 AE800070 */ sw $zero, 0x70($s4) +.L80240E18: +/* A4D838 80240E18 8E450024 */ lw $a1, 0x24($s2) +/* A4D83C 80240E1C 8E460028 */ lw $a2, 0x28($s2) +/* A4D840 80240E20 0C090028 */ jal func_802400A0 +/* A4D844 80240E24 0260382D */ daddu $a3, $s3, $zero +/* A4D848 80240E28 24030001 */ addiu $v1, $zero, 1 +/* A4D84C 80240E2C 1443002C */ bne $v0, $v1, .L80240EE0 +/* A4D850 80240E30 0200202D */ daddu $a0, $s0, $zero +/* A4D854 80240E34 240520D4 */ addiu $a1, $zero, 0x20d4 +/* A4D858 80240E38 0C012530 */ jal func_800494C0 +/* A4D85C 80240E3C 0000302D */ daddu $a2, $zero, $zero +/* A4D860 80240E40 27A4002C */ addiu $a0, $sp, 0x2c +/* A4D864 80240E44 27A50030 */ addiu $a1, $sp, 0x30 +/* A4D868 80240E48 3C064188 */ lui $a2, 0x4188 +/* A4D86C 80240E4C C6020034 */ lwc1 $f2, 0x34($s0) +/* A4D870 80240E50 3C014387 */ lui $at, 0x4387 +/* A4D874 80240E54 44810000 */ mtc1 $at, $f0 +/* A4D878 80240E58 8E2200CC */ lw $v0, 0xcc($s1) +/* A4D87C 80240E5C C614003C */ lwc1 $f20, 0x3c($s0) +/* A4D880 80240E60 46020001 */ sub.s $f0, $f0, $f2 +/* A4D884 80240E64 3C014200 */ lui $at, 0x4200 +/* A4D888 80240E68 44812000 */ mtc1 $at, $f4 +/* A4D88C 80240E6C C6060038 */ lwc1 $f6, 0x38($s0) +/* A4D890 80240E70 4604A500 */ add.s $f20, $f20, $f4 +/* A4D894 80240E74 3C013F80 */ lui $at, 0x3f80 +/* A4D898 80240E78 44811000 */ mtc1 $at, $f2 +/* A4D89C 80240E7C 44070000 */ mfc1 $a3, $f0 +/* A4D8A0 80240E80 C6000040 */ lwc1 $f0, 0x40($s0) +/* A4D8A4 80240E84 8C420020 */ lw $v0, 0x20($v0) +/* A4D8A8 80240E88 46020000 */ add.s $f0, $f0, $f2 +/* A4D8AC 80240E8C E7A6002C */ swc1 $f6, 0x2c($sp) +/* A4D8B0 80240E90 AE020028 */ sw $v0, 0x28($s0) +/* A4D8B4 80240E94 0C00A7E7 */ jal add_vec2D_polar +/* A4D8B8 80240E98 E7A00030 */ swc1 $f0, 0x30($sp) +/* A4D8BC 80240E9C 0000202D */ daddu $a0, $zero, $zero +/* A4D8C0 80240EA0 4406A000 */ mfc1 $a2, $f20 +/* A4D8C4 80240EA4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A4D8C8 80240EA8 C7A20030 */ lwc1 $f2, 0x30($sp) +/* A4D8CC 80240EAC 44050000 */ mfc1 $a1, $f0 +/* A4D8D0 80240EB0 44071000 */ mfc1 $a3, $f2 +/* A4D8D4 80240EB4 3C013DCC */ lui $at, 0x3dcc +/* A4D8D8 80240EB8 3421CCCD */ ori $at, $at, 0xcccd +/* A4D8DC 80240EBC 44810000 */ mtc1 $at, $f0 +/* A4D8E0 80240EC0 2402000D */ addiu $v0, $zero, 0xd +/* A4D8E4 80240EC4 AFA20014 */ sw $v0, 0x14($sp) +/* A4D8E8 80240EC8 0C01BFEC */ jal func_8006FFB0 +/* A4D8EC 80240ECC E7A00010 */ swc1 $f0, 0x10($sp) +/* A4D8F0 80240ED0 2402000F */ addiu $v0, $zero, 0xf +/* A4D8F4 80240ED4 A602008E */ sh $v0, 0x8e($s0) +/* A4D8F8 80240ED8 24020016 */ addiu $v0, $zero, 0x16 +/* A4D8FC 80240EDC AE820070 */ sw $v0, 0x70($s4) +.L80240EE0: +/* A4D900 80240EE0 8FBF004C */ lw $ra, 0x4c($sp) +/* A4D904 80240EE4 8FB40048 */ lw $s4, 0x48($sp) +/* A4D908 80240EE8 8FB30044 */ lw $s3, 0x44($sp) +/* A4D90C 80240EEC 8FB20040 */ lw $s2, 0x40($sp) +/* A4D910 80240EF0 8FB1003C */ lw $s1, 0x3c($sp) +/* A4D914 80240EF4 8FB00038 */ lw $s0, 0x38($sp) +/* A4D918 80240EF8 D7B40050 */ ldc1 $f20, 0x50($sp) +/* A4D91C 80240EFC 03E00008 */ jr $ra +/* A4D920 80240F00 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F04.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F04.s new file mode 100644 index 0000000000..75b25e292c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F04.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F04 +/* A4D924 80240F04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4D928 80240F08 AFB10014 */ sw $s1, 0x14($sp) +/* A4D92C 80240F0C 0080882D */ daddu $s1, $a0, $zero +/* A4D930 80240F10 AFBF0018 */ sw $ra, 0x18($sp) +/* A4D934 80240F14 AFB00010 */ sw $s0, 0x10($sp) +/* A4D938 80240F18 8E300148 */ lw $s0, 0x148($s1) +/* A4D93C 80240F1C 0C00EABB */ jal get_npc_unsafe +/* A4D940 80240F20 86040008 */ lh $a0, 8($s0) +/* A4D944 80240F24 0040202D */ daddu $a0, $v0, $zero +/* A4D948 80240F28 9482008E */ lhu $v0, 0x8e($a0) +/* A4D94C 80240F2C 2442FFFF */ addiu $v0, $v0, -1 +/* A4D950 80240F30 A482008E */ sh $v0, 0x8e($a0) +/* A4D954 80240F34 00021400 */ sll $v0, $v0, 0x10 +/* A4D958 80240F38 1C400008 */ bgtz $v0, .L80240F5C +/* A4D95C 80240F3C 00000000 */ nop +/* A4D960 80240F40 8E0200CC */ lw $v0, 0xcc($s0) +/* A4D964 80240F44 8C430024 */ lw $v1, 0x24($v0) +/* A4D968 80240F48 24020009 */ addiu $v0, $zero, 9 +/* A4D96C 80240F4C A482008E */ sh $v0, 0x8e($a0) +/* A4D970 80240F50 24020017 */ addiu $v0, $zero, 0x17 +/* A4D974 80240F54 AC830028 */ sw $v1, 0x28($a0) +/* A4D978 80240F58 AE220070 */ sw $v0, 0x70($s1) +.L80240F5C: +/* A4D97C 80240F5C 8FBF0018 */ lw $ra, 0x18($sp) +/* A4D980 80240F60 8FB10014 */ lw $s1, 0x14($sp) +/* A4D984 80240F64 8FB00010 */ lw $s0, 0x10($sp) +/* A4D988 80240F68 03E00008 */ jr $ra +/* A4D98C 80240F6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F70_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F70_A4CA20.s new file mode 100644 index 0000000000..ed80ec3e3a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80240F70_A4CA20.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F70_A4D990 +/* A4D990 80240F70 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A4D994 80240F74 AFB3003C */ sw $s3, 0x3c($sp) +/* A4D998 80240F78 0080982D */ daddu $s3, $a0, $zero +/* A4D99C 80240F7C AFBF0044 */ sw $ra, 0x44($sp) +/* A4D9A0 80240F80 AFB40040 */ sw $s4, 0x40($sp) +/* A4D9A4 80240F84 AFB20038 */ sw $s2, 0x38($sp) +/* A4D9A8 80240F88 AFB10034 */ sw $s1, 0x34($sp) +/* A4D9AC 80240F8C AFB00030 */ sw $s0, 0x30($sp) +/* A4D9B0 80240F90 8E720148 */ lw $s2, 0x148($s3) +/* A4D9B4 80240F94 00A0882D */ daddu $s1, $a1, $zero +/* A4D9B8 80240F98 86440008 */ lh $a0, 8($s2) +/* A4D9BC 80240F9C 0C00EABB */ jal get_npc_unsafe +/* A4D9C0 80240FA0 00C0A02D */ daddu $s4, $a2, $zero +/* A4D9C4 80240FA4 0040802D */ daddu $s0, $v0, $zero +/* A4D9C8 80240FA8 9602008E */ lhu $v0, 0x8e($s0) +/* A4D9CC 80240FAC 2442FFFF */ addiu $v0, $v0, -1 +/* A4D9D0 80240FB0 A602008E */ sh $v0, 0x8e($s0) +/* A4D9D4 80240FB4 00021400 */ sll $v0, $v0, 0x10 +/* A4D9D8 80240FB8 1C400032 */ bgtz $v0, .L80241084 +/* A4D9DC 80240FBC 00000000 */ nop +/* A4D9E0 80240FC0 0260202D */ daddu $a0, $s3, $zero +/* A4D9E4 80240FC4 8E250024 */ lw $a1, 0x24($s1) +/* A4D9E8 80240FC8 8E260028 */ lw $a2, 0x28($s1) +/* A4D9EC 80240FCC 0C090028 */ jal func_802400A0 +/* A4D9F0 80240FD0 0280382D */ daddu $a3, $s4, $zero +/* A4D9F4 80240FD4 0040882D */ daddu $s1, $v0, $zero +/* A4D9F8 80240FD8 24020001 */ addiu $v0, $zero, 1 +/* A4D9FC 80240FDC 1222001D */ beq $s1, $v0, .L80241054 +/* A4DA00 80240FE0 0200282D */ daddu $a1, $s0, $zero +/* A4DA04 80240FE4 24040002 */ addiu $a0, $zero, 2 +/* A4DA08 80240FE8 0000302D */ daddu $a2, $zero, $zero +/* A4DA0C 80240FEC 860300A8 */ lh $v1, 0xa8($s0) +/* A4DA10 80240FF0 3C013F80 */ lui $at, 0x3f80 +/* A4DA14 80240FF4 44810000 */ mtc1 $at, $f0 +/* A4DA18 80240FF8 3C014000 */ lui $at, 0x4000 +/* A4DA1C 80240FFC 44811000 */ mtc1 $at, $f2 +/* A4DA20 80241000 3C01C1A0 */ lui $at, 0xc1a0 +/* A4DA24 80241004 44812000 */ mtc1 $at, $f4 +/* A4DA28 80241008 2402000C */ addiu $v0, $zero, 0xc +/* A4DA2C 8024100C AFA2001C */ sw $v0, 0x1c($sp) +/* A4DA30 80241010 44833000 */ mtc1 $v1, $f6 +/* A4DA34 80241014 00000000 */ nop +/* A4DA38 80241018 468031A0 */ cvt.s.w $f6, $f6 +/* A4DA3C 8024101C 44073000 */ mfc1 $a3, $f6 +/* A4DA40 80241020 27A20028 */ addiu $v0, $sp, 0x28 +/* A4DA44 80241024 AFA20020 */ sw $v0, 0x20($sp) +/* A4DA48 80241028 E7A00010 */ swc1 $f0, 0x10($sp) +/* A4DA4C 8024102C E7A20014 */ swc1 $f2, 0x14($sp) +/* A4DA50 80241030 0C01BFA4 */ jal fx_emote +/* A4DA54 80241034 E7A40018 */ swc1 $f4, 0x18($sp) +/* A4DA58 80241038 8E4200CC */ lw $v0, 0xcc($s2) +/* A4DA5C 8024103C 8C430000 */ lw $v1, ($v0) +/* A4DA60 80241040 2402000F */ addiu $v0, $zero, 0xf +/* A4DA64 80241044 A602008E */ sh $v0, 0x8e($s0) +/* A4DA68 80241048 AE030028 */ sw $v1, 0x28($s0) +/* A4DA6C 8024104C 08090421 */ j .L80241084 +/* A4DA70 80241050 AE600070 */ sw $zero, 0x70($s3) +.L80241054: +/* A4DA74 80241054 0200202D */ daddu $a0, $s0, $zero +/* A4DA78 80241058 240520D5 */ addiu $a1, $zero, 0x20d5 +/* A4DA7C 8024105C 0C012530 */ jal func_800494C0 +/* A4DA80 80241060 0000302D */ daddu $a2, $zero, $zero +/* A4DA84 80241064 86440008 */ lh $a0, 8($s2) +/* A4DA88 80241068 0C00FB3A */ jal get_enemy +/* A4DA8C 8024106C 24840001 */ addiu $a0, $a0, 1 +/* A4DA90 80241070 AC51006C */ sw $s1, 0x6c($v0) +/* A4DA94 80241074 24020014 */ addiu $v0, $zero, 0x14 +/* A4DA98 80241078 A602008E */ sh $v0, 0x8e($s0) +/* A4DA9C 8024107C 24020018 */ addiu $v0, $zero, 0x18 +/* A4DAA0 80241080 AE620070 */ sw $v0, 0x70($s3) +.L80241084: +/* A4DAA4 80241084 8FBF0044 */ lw $ra, 0x44($sp) +/* A4DAA8 80241088 8FB40040 */ lw $s4, 0x40($sp) +/* A4DAAC 8024108C 8FB3003C */ lw $s3, 0x3c($sp) +/* A4DAB0 80241090 8FB20038 */ lw $s2, 0x38($sp) +/* A4DAB4 80241094 8FB10034 */ lw $s1, 0x34($sp) +/* A4DAB8 80241098 8FB00030 */ lw $s0, 0x30($sp) +/* A4DABC 8024109C 03E00008 */ jr $ra +/* A4DAC0 802410A0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_802410A4_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_802410A4_A4CA20.s new file mode 100644 index 0000000000..f4b08fe0df --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_802410A4_A4CA20.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410A4_A4DAC4 +/* A4DAC4 802410A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4DAC8 802410A8 AFB10014 */ sw $s1, 0x14($sp) +/* A4DACC 802410AC 0080882D */ daddu $s1, $a0, $zero +/* A4DAD0 802410B0 AFBF0018 */ sw $ra, 0x18($sp) +/* A4DAD4 802410B4 AFB00010 */ sw $s0, 0x10($sp) +/* A4DAD8 802410B8 8E300148 */ lw $s0, 0x148($s1) +/* A4DADC 802410BC 0C00EABB */ jal get_npc_unsafe +/* A4DAE0 802410C0 86040008 */ lh $a0, 8($s0) +/* A4DAE4 802410C4 0040202D */ daddu $a0, $v0, $zero +/* A4DAE8 802410C8 9482008E */ lhu $v0, 0x8e($a0) +/* A4DAEC 802410CC 2442FFFF */ addiu $v0, $v0, -1 +/* A4DAF0 802410D0 A482008E */ sh $v0, 0x8e($a0) +/* A4DAF4 802410D4 00021400 */ sll $v0, $v0, 0x10 +/* A4DAF8 802410D8 1C400007 */ bgtz $v0, .L802410F8 +/* A4DAFC 802410DC 00000000 */ nop +/* A4DB00 802410E0 8E0200CC */ lw $v0, 0xcc($s0) +/* A4DB04 802410E4 8C430000 */ lw $v1, ($v0) +/* A4DB08 802410E8 24020003 */ addiu $v0, $zero, 3 +/* A4DB0C 802410EC A482008E */ sh $v0, 0x8e($a0) +/* A4DB10 802410F0 AC830028 */ sw $v1, 0x28($a0) +/* A4DB14 802410F4 AE200070 */ sw $zero, 0x70($s1) +.L802410F8: +/* A4DB18 802410F8 8FBF0018 */ lw $ra, 0x18($sp) +/* A4DB1C 802410FC 8FB10014 */ lw $s1, 0x14($sp) +/* A4DB20 80241100 8FB00010 */ lw $s0, 0x10($sp) +/* A4DB24 80241104 03E00008 */ jr $ra +/* A4DB28 80241108 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_8024110C.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024110C.s new file mode 100644 index 0000000000..89f5feffeb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024110C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024110C +/* A4DB2C 8024110C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A4DB30 80241110 AFB50044 */ sw $s5, 0x44($sp) +/* A4DB34 80241114 0080A82D */ daddu $s5, $a0, $zero +/* A4DB38 80241118 AFBF0048 */ sw $ra, 0x48($sp) +/* A4DB3C 8024111C AFB40040 */ sw $s4, 0x40($sp) +/* A4DB40 80241120 AFB3003C */ sw $s3, 0x3c($sp) +/* A4DB44 80241124 AFB20038 */ sw $s2, 0x38($sp) +/* A4DB48 80241128 AFB10034 */ sw $s1, 0x34($sp) +/* A4DB4C 8024112C AFB00030 */ sw $s0, 0x30($sp) +/* A4DB50 80241130 8EB10148 */ lw $s1, 0x148($s5) +/* A4DB54 80241134 86240008 */ lh $a0, 8($s1) +/* A4DB58 80241138 0C00EABB */ jal get_npc_unsafe +/* A4DB5C 8024113C 00A0802D */ daddu $s0, $a1, $zero +/* A4DB60 80241140 8EA3000C */ lw $v1, 0xc($s5) +/* A4DB64 80241144 02A0202D */ daddu $a0, $s5, $zero +/* A4DB68 80241148 8C650000 */ lw $a1, ($v1) +/* A4DB6C 8024114C 0C0B1EAF */ jal get_variable +/* A4DB70 80241150 0040902D */ daddu $s2, $v0, $zero +/* A4DB74 80241154 AFA00010 */ sw $zero, 0x10($sp) +/* A4DB78 80241158 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4DB7C 8024115C 8C630030 */ lw $v1, 0x30($v1) +/* A4DB80 80241160 AFA30014 */ sw $v1, 0x14($sp) +/* A4DB84 80241164 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4DB88 80241168 8C63001C */ lw $v1, 0x1c($v1) +/* A4DB8C 8024116C AFA30018 */ sw $v1, 0x18($sp) +/* A4DB90 80241170 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4DB94 80241174 8C630024 */ lw $v1, 0x24($v1) +/* A4DB98 80241178 AFA3001C */ sw $v1, 0x1c($sp) +/* A4DB9C 8024117C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4DBA0 80241180 8C630028 */ lw $v1, 0x28($v1) +/* A4DBA4 80241184 27B40010 */ addiu $s4, $sp, 0x10 +/* A4DBA8 80241188 AFA30020 */ sw $v1, 0x20($sp) +/* A4DBAC 8024118C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A4DBB0 80241190 3C0142C8 */ lui $at, 0x42c8 +/* A4DBB4 80241194 44810000 */ mtc1 $at, $f0 +/* A4DBB8 80241198 8C63002C */ lw $v1, 0x2c($v1) +/* A4DBBC 8024119C 0040982D */ daddu $s3, $v0, $zero +/* A4DBC0 802411A0 E7A00028 */ swc1 $f0, 0x28($sp) +/* A4DBC4 802411A4 A7A0002C */ sh $zero, 0x2c($sp) +/* A4DBC8 802411A8 16000005 */ bnez $s0, .L802411C0 +/* A4DBCC 802411AC AFA30024 */ sw $v1, 0x24($sp) +/* A4DBD0 802411B0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A4DBD4 802411B4 30420004 */ andi $v0, $v0, 4 +/* A4DBD8 802411B8 1040001E */ beqz $v0, .L80241234 +/* A4DBDC 802411BC 00000000 */ nop +.L802411C0: +/* A4DBE0 802411C0 8E430000 */ lw $v1, ($s2) +/* A4DBE4 802411C4 2402F7FF */ addiu $v0, $zero, -0x801 +/* A4DBE8 802411C8 00621824 */ and $v1, $v1, $v0 +/* A4DBEC 802411CC 8E2200CC */ lw $v0, 0xcc($s1) +/* A4DBF0 802411D0 3C040020 */ lui $a0, 0x20 +/* A4DBF4 802411D4 8C420000 */ lw $v0, ($v0) +/* A4DBF8 802411D8 00641825 */ or $v1, $v1, $a0 +/* A4DBFC 802411DC AE430000 */ sw $v1, ($s2) +/* A4DC00 802411E0 AE420028 */ sw $v0, 0x28($s2) +/* A4DC04 802411E4 8E220000 */ lw $v0, ($s1) +/* A4DC08 802411E8 00441025 */ or $v0, $v0, $a0 +/* A4DC0C 802411EC AE220000 */ sw $v0, ($s1) +/* A4DC10 802411F0 A640008E */ sh $zero, 0x8e($s2) +/* A4DC14 802411F4 8E2300B0 */ lw $v1, 0xb0($s1) +/* A4DC18 802411F8 30620004 */ andi $v0, $v1, 4 +/* A4DC1C 802411FC 1040000C */ beqz $v0, .L80241230 +/* A4DC20 80241200 2402FFFB */ addiu $v0, $zero, -5 +/* A4DC24 80241204 3C013F80 */ lui $at, 0x3f80 +/* A4DC28 80241208 44810000 */ mtc1 $at, $f0 +/* A4DC2C 8024120C 00621024 */ and $v0, $v1, $v0 +/* A4DC30 80241210 AE2200B0 */ sw $v0, 0xb0($s1) +/* A4DC34 80241214 240200FF */ addiu $v0, $zero, 0xff +/* A4DC38 80241218 A24200AC */ sb $v0, 0xac($s2) +/* A4DC3C 8024121C 24020014 */ addiu $v0, $zero, 0x14 +/* A4DC40 80241220 A642008E */ sh $v0, 0x8e($s2) +/* A4DC44 80241224 E6400054 */ swc1 $f0, 0x54($s2) +/* A4DC48 80241228 E6400058 */ swc1 $f0, 0x58($s2) +/* A4DC4C 8024122C E640005C */ swc1 $f0, 0x5c($s2) +.L80241230: +/* A4DC50 80241230 AEA00070 */ sw $zero, 0x70($s5) +.L80241234: +/* A4DC54 80241234 8EA30070 */ lw $v1, 0x70($s5) +/* A4DC58 80241238 2C620019 */ sltiu $v0, $v1, 0x19 +/* A4DC5C 8024123C 10400044 */ beqz $v0, .L80241350 +/* A4DC60 80241240 00031080 */ sll $v0, $v1, 2 +/* A4DC64 80241244 3C018024 */ lui $at, 0x8024 +/* A4DC68 80241248 00220821 */ addu $at, $at, $v0 +/* A4DC6C 8024124C 8C222570 */ lw $v0, 0x2570($at) +/* A4DC70 80241250 00400008 */ jr $v0 +/* A4DC74 80241254 00000000 */ nop +/* A4DC78 80241258 02A0202D */ daddu $a0, $s5, $zero +/* A4DC7C 8024125C 0260282D */ daddu $a1, $s3, $zero +/* A4DC80 80241260 0C0901E0 */ jal func_80240780 +/* A4DC84 80241264 0280302D */ daddu $a2, $s4, $zero +/* A4DC88 80241268 8EA30070 */ lw $v1, 0x70($s5) +/* A4DC8C 8024126C 24020001 */ addiu $v0, $zero, 1 +/* A4DC90 80241270 14620037 */ bne $v1, $v0, .L80241350 +/* A4DC94 80241274 00000000 */ nop +/* A4DC98 80241278 02A0202D */ daddu $a0, $s5, $zero +/* A4DC9C 8024127C 0260282D */ daddu $a1, $s3, $zero +/* A4DCA0 80241280 0C0901FD */ jal func_802407F4 +/* A4DCA4 80241284 0280302D */ daddu $a2, $s4, $zero +/* A4DCA8 80241288 080904D4 */ j .L80241350 +/* A4DCAC 8024128C 00000000 */ nop +/* A4DCB0 80241290 02A0202D */ daddu $a0, $s5, $zero +/* A4DCB4 80241294 0260282D */ daddu $a1, $s3, $zero +/* A4DCB8 80241298 0C090248 */ jal func_80240920 +/* A4DCBC 8024129C 0280302D */ daddu $a2, $s4, $zero +/* A4DCC0 802412A0 02A0202D */ daddu $a0, $s5, $zero +/* A4DCC4 802412A4 0260282D */ daddu $a1, $s3, $zero +/* A4DCC8 802412A8 0C090270 */ jal func_802409C0 +/* A4DCCC 802412AC 0280302D */ daddu $a2, $s4, $zero +/* A4DCD0 802412B0 080904D4 */ j .L80241350 +/* A4DCD4 802412B4 00000000 */ nop +/* A4DCD8 802412B8 02A0202D */ daddu $a0, $s5, $zero +/* A4DCDC 802412BC 0260282D */ daddu $a1, $s3, $zero +/* A4DCE0 802412C0 0C090289 */ jal func_80240A24 +/* A4DCE4 802412C4 0280302D */ daddu $a2, $s4, $zero +/* A4DCE8 802412C8 02A0202D */ daddu $a0, $s5, $zero +/* A4DCEC 802412CC 0260282D */ daddu $a1, $s3, $zero +/* A4DCF0 802412D0 0C0902D9 */ jal func_80240B64 +/* A4DCF4 802412D4 0280302D */ daddu $a2, $s4, $zero +/* A4DCF8 802412D8 080904D4 */ j .L80241350 +/* A4DCFC 802412DC 00000000 */ nop +/* A4DD00 802412E0 02A0202D */ daddu $a0, $s5, $zero +/* A4DD04 802412E4 0260282D */ daddu $a1, $s3, $zero +/* A4DD08 802412E8 0C090342 */ jal func_80240D08 +/* A4DD0C 802412EC 0280302D */ daddu $a2, $s4, $zero +/* A4DD10 802412F0 080904D4 */ j .L80241350 +/* A4DD14 802412F4 00000000 */ nop +/* A4DD18 802412F8 02A0202D */ daddu $a0, $s5, $zero +/* A4DD1C 802412FC 0260282D */ daddu $a1, $s3, $zero +/* A4DD20 80241300 0C090351 */ jal func_80240D44 +/* A4DD24 80241304 0280302D */ daddu $a2, $s4, $zero +/* A4DD28 80241308 080904D4 */ j .L80241350 +/* A4DD2C 8024130C 00000000 */ nop +/* A4DD30 80241310 02A0202D */ daddu $a0, $s5, $zero +/* A4DD34 80241314 0260282D */ daddu $a1, $s3, $zero +/* A4DD38 80241318 0C0903C1 */ jal func_80240F04 +/* A4DD3C 8024131C 0280302D */ daddu $a2, $s4, $zero +/* A4DD40 80241320 080904D4 */ j .L80241350 +/* A4DD44 80241324 00000000 */ nop +/* A4DD48 80241328 02A0202D */ daddu $a0, $s5, $zero +/* A4DD4C 8024132C 0260282D */ daddu $a1, $s3, $zero +/* A4DD50 80241330 0C0903DC */ jal func_80240F70 +/* A4DD54 80241334 0280302D */ daddu $a2, $s4, $zero +/* A4DD58 80241338 080904D4 */ j .L80241350 +/* A4DD5C 8024133C 00000000 */ nop +/* A4DD60 80241340 02A0202D */ daddu $a0, $s5, $zero +/* A4DD64 80241344 0260282D */ daddu $a1, $s3, $zero +/* A4DD68 80241348 0C090429 */ jal func_802410A4 +/* A4DD6C 8024134C 0280302D */ daddu $a2, $s4, $zero +.L80241350: +/* A4DD70 80241350 8FBF0048 */ lw $ra, 0x48($sp) +/* A4DD74 80241354 8FB50044 */ lw $s5, 0x44($sp) +/* A4DD78 80241358 8FB40040 */ lw $s4, 0x40($sp) +/* A4DD7C 8024135C 8FB3003C */ lw $s3, 0x3c($sp) +/* A4DD80 80241360 8FB20038 */ lw $s2, 0x38($sp) +/* A4DD84 80241364 8FB10034 */ lw $s1, 0x34($sp) +/* A4DD88 80241368 8FB00030 */ lw $s0, 0x30($sp) +/* A4DD8C 8024136C 0000102D */ daddu $v0, $zero, $zero +/* A4DD90 80241370 03E00008 */ jr $ra +/* A4DD94 80241374 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80241378.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80241378.s new file mode 100644 index 0000000000..25f8c40aa6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80241378.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241378 +/* A4DD98 80241378 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A4DD9C 8024137C AFBF0020 */ sw $ra, 0x20($sp) +/* A4DDA0 80241380 8C820148 */ lw $v0, 0x148($a0) +/* A4DDA4 80241384 0C00EABB */ jal get_npc_unsafe +/* A4DDA8 80241388 84440008 */ lh $a0, 8($v0) +/* A4DDAC 8024138C 240300FF */ addiu $v1, $zero, 0xff +/* A4DDB0 80241390 0000282D */ daddu $a1, $zero, $zero +/* A4DDB4 80241394 00A0302D */ daddu $a2, $a1, $zero +/* A4DDB8 80241398 A04300AC */ sb $v1, 0xac($v0) +/* A4DDBC 8024139C AFA00010 */ sw $zero, 0x10($sp) +/* A4DDC0 802413A0 AFA00014 */ sw $zero, 0x14($sp) +/* A4DDC4 802413A4 AFA00018 */ sw $zero, 0x18($sp) +/* A4DDC8 802413A8 8C440024 */ lw $a0, 0x24($v0) +/* A4DDCC 802413AC 0C0B7A25 */ jal func_802DE894 +/* A4DDD0 802413B0 00A0382D */ daddu $a3, $a1, $zero +/* A4DDD4 802413B4 8FBF0020 */ lw $ra, 0x20($sp) +/* A4DDD8 802413B8 24020002 */ addiu $v0, $zero, 2 +/* A4DDDC 802413BC 03E00008 */ jr $ra +/* A4DDE0 802413C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_802413C4.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_802413C4.s new file mode 100644 index 0000000000..9fa8f5f6f5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_802413C4.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413C4 +/* A4DDE4 802413C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4DDE8 802413C8 AFB10014 */ sw $s1, 0x14($sp) +/* A4DDEC 802413CC 0080882D */ daddu $s1, $a0, $zero +/* A4DDF0 802413D0 AFBF0018 */ sw $ra, 0x18($sp) +/* A4DDF4 802413D4 AFB00010 */ sw $s0, 0x10($sp) +/* A4DDF8 802413D8 8E300148 */ lw $s0, 0x148($s1) +/* A4DDFC 802413DC 0C00EABB */ jal get_npc_unsafe +/* A4DE00 802413E0 86040008 */ lh $a0, 8($s0) +/* A4DE04 802413E4 0040182D */ daddu $v1, $v0, $zero +/* A4DE08 802413E8 240200FF */ addiu $v0, $zero, 0xff +/* A4DE0C 802413EC A06200AC */ sb $v0, 0xac($v1) +/* A4DE10 802413F0 8E0200CC */ lw $v0, 0xcc($s0) +/* A4DE14 802413F4 8C440008 */ lw $a0, 8($v0) +/* A4DE18 802413F8 A460008E */ sh $zero, 0x8e($v1) +/* A4DE1C 802413FC AC640028 */ sw $a0, 0x28($v1) +/* A4DE20 80241400 AE200070 */ sw $zero, 0x70($s1) +/* A4DE24 80241404 8FBF0018 */ lw $ra, 0x18($sp) +/* A4DE28 80241408 8FB10014 */ lw $s1, 0x14($sp) +/* A4DE2C 8024140C 8FB00010 */ lw $s0, 0x10($sp) +/* A4DE30 80241410 24020002 */ addiu $v0, $zero, 2 +/* A4DE34 80241414 03E00008 */ jr $ra +/* A4DE38 80241418 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_8024141C.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024141C.s new file mode 100644 index 0000000000..71e1f19219 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_8024141C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024141C +/* A4DE3C 8024141C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4DE40 80241420 3C05FE36 */ lui $a1, 0xfe36 +/* A4DE44 80241424 AFBF0010 */ sw $ra, 0x10($sp) +/* A4DE48 80241428 8C820148 */ lw $v0, 0x148($a0) +/* A4DE4C 8024142C 3C06800B */ lui $a2, 0x800b +/* A4DE50 80241430 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A4DE54 80241434 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4DE58 80241438 00C23026 */ xor $a2, $a2, $v0 +/* A4DE5C 8024143C 0C0B2026 */ jal set_variable +/* A4DE60 80241440 2CC60001 */ sltiu $a2, $a2, 1 +/* A4DE64 80241444 8FBF0010 */ lw $ra, 0x10($sp) +/* A4DE68 80241448 24020002 */ addiu $v0, $zero, 2 +/* A4DE6C 8024144C 03E00008 */ jr $ra +/* A4DE70 80241450 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_08/func_80241454_A4CA20.s b/asm/nonmatchings/world/area_kpa/kpa_08/func_80241454_A4CA20.s new file mode 100644 index 0000000000..17f25ae5fc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_08/func_80241454_A4CA20.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241454_A4DE74 +/* A4DE74 80241454 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4DE78 80241458 AFBF0014 */ sw $ra, 0x14($sp) +/* A4DE7C 8024145C AFB00010 */ sw $s0, 0x10($sp) +/* A4DE80 80241460 8C900148 */ lw $s0, 0x148($a0) +/* A4DE84 80241464 0C00EABB */ jal get_npc_unsafe +/* A4DE88 80241468 86040008 */ lh $a0, 8($s0) +/* A4DE8C 8024146C 0040202D */ daddu $a0, $v0, $zero +/* A4DE90 80241470 8E03006C */ lw $v1, 0x6c($s0) +/* A4DE94 80241474 24020002 */ addiu $v0, $zero, 2 +/* A4DE98 80241478 14620003 */ bne $v1, $v0, .L80241488 +/* A4DE9C 8024147C 00000000 */ nop +/* A4DEA0 80241480 AC80001C */ sw $zero, 0x1c($a0) +/* A4DEA4 80241484 AC800018 */ sw $zero, 0x18($a0) +.L80241488: +/* A4DEA8 80241488 8FBF0014 */ lw $ra, 0x14($sp) +/* A4DEAC 8024148C 8FB00010 */ lw $s0, 0x10($sp) +/* A4DEB0 80241490 24020002 */ addiu $v0, $zero, 2 +/* A4DEB4 80241494 03E00008 */ jr $ra +/* A4DEB8 80241498 27BD0018 */ addiu $sp, $sp, 0x18 +/* A4DEBC 8024149C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_80240000_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240000_A4F000.s new file mode 100644 index 0000000000..da980b58b2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240000_A4F000.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A4F000 +/* A4F000 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* A4F004 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A4F008 80240008 94620002 */ lhu $v0, 2($v1) +/* A4F00C 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* A4F010 80240010 A4620002 */ sh $v0, 2($v1) +/* A4F014 80240014 03E00008 */ jr $ra +/* A4F018 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_8024001C_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_8024001C_A4F000.s new file mode 100644 index 0000000000..e88681baa6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_8024001C_A4F000.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_A4F01C +/* A4F01C 8024001C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4F020 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* A4F024 80240024 0080882D */ daddu $s1, $a0, $zero +/* A4F028 80240028 AFBF0018 */ sw $ra, 0x18($sp) +/* A4F02C 8024002C AFB00010 */ sw $s0, 0x10($sp) +/* A4F030 80240030 8E30000C */ lw $s0, 0xc($s1) +/* A4F034 80240034 8E050000 */ lw $a1, ($s0) +/* A4F038 80240038 0C0B1EAF */ jal get_variable +/* A4F03C 8024003C 26100004 */ addiu $s0, $s0, 4 +/* A4F040 80240040 0220202D */ daddu $a0, $s1, $zero +/* A4F044 80240044 8E050000 */ lw $a1, ($s0) +/* A4F048 80240048 0C0B1EAF */ jal get_variable +/* A4F04C 8024004C 0040802D */ daddu $s0, $v0, $zero +/* A4F050 80240050 0040182D */ daddu $v1, $v0, $zero +/* A4F054 80240054 3C028016 */ lui $v0, 0x8016 +/* A4F058 80240058 8442A552 */ lh $v0, -0x5aae($v0) +/* A4F05C 8024005C 16020009 */ bne $s0, $v0, .L80240084 +/* A4F060 80240060 00000000 */ nop +/* A4F064 80240064 8E220084 */ lw $v0, 0x84($s1) +/* A4F068 80240068 00431021 */ addu $v0, $v0, $v1 +/* A4F06C 8024006C 44820000 */ mtc1 $v0, $f0 +/* A4F070 80240070 00000000 */ nop +/* A4F074 80240074 46800020 */ cvt.s.w $f0, $f0 +/* A4F078 80240078 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A4F07C 8024007C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A4F080 80240080 E440002C */ swc1 $f0, 0x2c($v0) +.L80240084: +/* A4F084 80240084 8FBF0018 */ lw $ra, 0x18($sp) +/* A4F088 80240088 8FB10014 */ lw $s1, 0x14($sp) +/* A4F08C 8024008C 8FB00010 */ lw $s0, 0x10($sp) +/* A4F090 80240090 24020002 */ addiu $v0, $zero, 2 +/* A4F094 80240094 03E00008 */ jr $ra +/* A4F098 80240098 27BD0020 */ addiu $sp, $sp, 0x20 +/* A4F09C 8024009C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802400A0_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802400A0_A4F000.s new file mode 100644 index 0000000000..54b7613332 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802400A0_A4F000.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_A4F0A0 +/* A4F0A0 802400A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A4F0A4 802400A4 AFB10014 */ sw $s1, 0x14($sp) +/* A4F0A8 802400A8 0080882D */ daddu $s1, $a0, $zero +/* A4F0AC 802400AC 3C05800B */ lui $a1, %hi(gCameras) +/* A4F0B0 802400B0 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A4F0B4 802400B4 AFBF0020 */ sw $ra, 0x20($sp) +/* A4F0B8 802400B8 AFB3001C */ sw $s3, 0x1c($sp) +/* A4F0BC 802400BC AFB20018 */ sw $s2, 0x18($sp) +/* A4F0C0 802400C0 AFB00010 */ sw $s0, 0x10($sp) +/* A4F0C4 802400C4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A4F0C8 802400C8 8E330148 */ lw $s3, 0x148($s1) +/* A4F0CC 802400CC 3C03800A */ lui $v1, 0x800a +/* A4F0D0 802400D0 8463A634 */ lh $v1, -0x59cc($v1) +/* A4F0D4 802400D4 8E30000C */ lw $s0, 0xc($s1) +/* A4F0D8 802400D8 00031080 */ sll $v0, $v1, 2 +/* A4F0DC 802400DC 00431021 */ addu $v0, $v0, $v1 +/* A4F0E0 802400E0 00021080 */ sll $v0, $v0, 2 +/* A4F0E4 802400E4 00431023 */ subu $v0, $v0, $v1 +/* A4F0E8 802400E8 000218C0 */ sll $v1, $v0, 3 +/* A4F0EC 802400EC 00431021 */ addu $v0, $v0, $v1 +/* A4F0F0 802400F0 000210C0 */ sll $v0, $v0, 3 +/* A4F0F4 802400F4 86640008 */ lh $a0, 8($s3) +/* A4F0F8 802400F8 0C00EABB */ jal get_npc_unsafe +/* A4F0FC 802400FC 00459021 */ addu $s2, $v0, $a1 +/* A4F100 80240100 0220202D */ daddu $a0, $s1, $zero +/* A4F104 80240104 8E050000 */ lw $a1, ($s0) +/* A4F108 80240108 0C0B1EAF */ jal get_variable +/* A4F10C 8024010C 0040802D */ daddu $s0, $v0, $zero +/* A4F110 80240110 0260202D */ daddu $a0, $s3, $zero +/* A4F114 80240114 8C460024 */ lw $a2, 0x24($v0) +/* A4F118 80240118 8C470028 */ lw $a3, 0x28($v0) +/* A4F11C 8024011C 0C0124FB */ jal func_800493EC +/* A4F120 80240120 0000282D */ daddu $a1, $zero, $zero +/* A4F124 80240124 10400052 */ beqz $v0, .L80240270 +/* A4F128 80240128 2402FFFF */ addiu $v0, $zero, -1 +/* A4F12C 8024012C C64C006C */ lwc1 $f12, 0x6c($s2) +/* A4F130 80240130 C60E000C */ lwc1 $f14, 0xc($s0) +/* A4F134 80240134 3C014387 */ lui $at, 0x4387 +/* A4F138 80240138 4481A000 */ mtc1 $at, $f20 +/* A4F13C 8024013C 0C00A70A */ jal get_clamped_angle_diff +/* A4F140 80240140 00000000 */ nop +/* A4F144 80240144 0C00A6C9 */ jal clamp_angle +/* A4F148 80240148 46000306 */ mov.s $f12, $f0 +/* A4F14C 8024014C 3C018024 */ lui $at, 0x8024 +/* A4F150 80240150 D42227C0 */ ldc1 $f2, 0x27c0($at) +/* A4F154 80240154 46000021 */ cvt.d.s $f0, $f0 +/* A4F158 80240158 4622003C */ c.lt.d $f0, $f2 +/* A4F15C 8024015C 00000000 */ nop +/* A4F160 80240160 45000003 */ bc1f .L80240170 +/* A4F164 80240164 00000000 */ nop +/* A4F168 80240168 3C0142B4 */ lui $at, 0x42b4 +/* A4F16C 8024016C 4481A000 */ mtc1 $at, $f20 +.L80240170: +/* A4F170 80240170 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A4F174 80240174 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A4F178 80240178 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A4F17C 8024017C 8E220000 */ lw $v0, ($s1) +/* A4F180 80240180 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A4F184 80240184 8C460028 */ lw $a2, 0x28($v0) +/* A4F188 80240188 0C00A720 */ jal atan2 +/* A4F18C 8024018C 8C470030 */ lw $a3, 0x30($v0) +/* A4F190 80240190 4600A306 */ mov.s $f12, $f20 +/* A4F194 80240194 0C00A70A */ jal get_clamped_angle_diff +/* A4F198 80240198 46000386 */ mov.s $f14, $f0 +/* A4F19C 8024019C 46000005 */ abs.s $f0, $f0 +/* A4F1A0 802401A0 3C018024 */ lui $at, 0x8024 +/* A4F1A4 802401A4 D42227C8 */ ldc1 $f2, 0x27c8($at) +/* A4F1A8 802401A8 46000021 */ cvt.d.s $f0, $f0 +/* A4F1AC 802401AC 4620103C */ c.lt.d $f2, $f0 +/* A4F1B0 802401B0 00000000 */ nop +/* A4F1B4 802401B4 4501002E */ bc1t .L80240270 +/* A4F1B8 802401B8 2402FFFF */ addiu $v0, $zero, -1 +/* A4F1BC 802401BC 8E220000 */ lw $v0, ($s1) +/* A4F1C0 802401C0 C600003C */ lwc1 $f0, 0x3c($s0) +/* A4F1C4 802401C4 C442002C */ lwc1 $f2, 0x2c($v0) +/* A4F1C8 802401C8 860200A8 */ lh $v0, 0xa8($s0) +/* A4F1CC 802401CC 46020001 */ sub.s $f0, $f0, $f2 +/* A4F1D0 802401D0 44821000 */ mtc1 $v0, $f2 +/* A4F1D4 802401D4 00000000 */ nop +/* A4F1D8 802401D8 468010A1 */ cvt.d.w $f2, $f2 +/* A4F1DC 802401DC 46221080 */ add.d $f2, $f2, $f2 +/* A4F1E0 802401E0 46000005 */ abs.s $f0, $f0 +/* A4F1E4 802401E4 46000021 */ cvt.d.s $f0, $f0 +/* A4F1E8 802401E8 4620103E */ c.le.d $f2, $f0 +/* A4F1EC 802401EC 00000000 */ nop +/* A4F1F0 802401F0 4501001F */ bc1t .L80240270 +/* A4F1F4 802401F4 2402FFFF */ addiu $v0, $zero, -1 +/* A4F1F8 802401F8 3C038011 */ lui $v1, 0x8011 +/* A4F1FC 802401FC 8063EBB3 */ lb $v1, -0x144d($v1) +/* A4F200 80240200 24020009 */ addiu $v0, $zero, 9 +/* A4F204 80240204 10620019 */ beq $v1, $v0, .L8024026C +/* A4F208 80240208 24020007 */ addiu $v0, $zero, 7 +/* A4F20C 8024020C 14620005 */ bne $v1, $v0, .L80240224 +/* A4F210 80240210 2402FFFF */ addiu $v0, $zero, -1 +/* A4F214 80240214 0809009C */ j .L80240270 +/* A4F218 80240218 00000000 */ nop +.L8024021C: +/* A4F21C 8024021C 0809009C */ j .L80240270 +/* A4F220 80240220 0240102D */ daddu $v0, $s2, $zero +.L80240224: +/* A4F224 80240224 8E620078 */ lw $v0, 0x78($s3) +/* A4F228 80240228 18400010 */ blez $v0, .L8024026C +/* A4F22C 8024022C 0000882D */ daddu $s1, $zero, $zero +.L80240230: +/* A4F230 80240230 86620008 */ lh $v0, 8($s3) +/* A4F234 80240234 00511021 */ addu $v0, $v0, $s1 +/* A4F238 80240238 24520001 */ addiu $s2, $v0, 1 +/* A4F23C 8024023C 0C00FB3A */ jal get_enemy +/* A4F240 80240240 0240202D */ daddu $a0, $s2, $zero +/* A4F244 80240244 0240202D */ daddu $a0, $s2, $zero +/* A4F248 80240248 0C00EABB */ jal get_npc_unsafe +/* A4F24C 8024024C 0040802D */ daddu $s0, $v0, $zero +/* A4F250 80240250 8E02006C */ lw $v0, 0x6c($s0) +/* A4F254 80240254 1040FFF1 */ beqz $v0, .L8024021C +/* A4F258 80240258 26310001 */ addiu $s1, $s1, 1 +/* A4F25C 8024025C 8E620078 */ lw $v0, 0x78($s3) +/* A4F260 80240260 0222102A */ slt $v0, $s1, $v0 +/* A4F264 80240264 1440FFF2 */ bnez $v0, .L80240230 +/* A4F268 80240268 00000000 */ nop +.L8024026C: +/* A4F26C 8024026C 2402FFFF */ addiu $v0, $zero, -1 +.L80240270: +/* A4F270 80240270 8FBF0020 */ lw $ra, 0x20($sp) +/* A4F274 80240274 8FB3001C */ lw $s3, 0x1c($sp) +/* A4F278 80240278 8FB20018 */ lw $s2, 0x18($sp) +/* A4F27C 8024027C 8FB10014 */ lw $s1, 0x14($sp) +/* A4F280 80240280 8FB00010 */ lw $s0, 0x10($sp) +/* A4F284 80240284 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A4F288 80240288 03E00008 */ jr $ra +/* A4F28C 8024028C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_80240290_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240290_A4F000.s new file mode 100644 index 0000000000..7c47dc2e85 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240290_A4F000.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_A4F290 +/* A4F290 80240290 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A4F294 80240294 AFB20038 */ sw $s2, 0x38($sp) +/* A4F298 80240298 0080902D */ daddu $s2, $a0, $zero +/* A4F29C 8024029C AFB00030 */ sw $s0, 0x30($sp) +/* A4F2A0 802402A0 AFBF003C */ sw $ra, 0x3c($sp) +/* A4F2A4 802402A4 AFB10034 */ sw $s1, 0x34($sp) +/* A4F2A8 802402A8 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A4F2AC 802402AC F7B40040 */ sdc1 $f20, 0x40($sp) +/* A4F2B0 802402B0 8E510148 */ lw $s1, 0x148($s2) +/* A4F2B4 802402B4 4485A000 */ mtc1 $a1, $f20 +/* A4F2B8 802402B8 86240008 */ lh $a0, 8($s1) +/* A4F2BC 802402BC 4486B000 */ mtc1 $a2, $f22 +/* A4F2C0 802402C0 0C00EABB */ jal get_npc_unsafe +/* A4F2C4 802402C4 00E0802D */ daddu $s0, $a3, $zero +/* A4F2C8 802402C8 0200202D */ daddu $a0, $s0, $zero +/* A4F2CC 802402CC 0220282D */ daddu $a1, $s1, $zero +/* A4F2D0 802402D0 24030001 */ addiu $v1, $zero, 1 +/* A4F2D4 802402D4 4406A000 */ mfc1 $a2, $f20 +/* A4F2D8 802402D8 4407B000 */ mfc1 $a3, $f22 +/* A4F2DC 802402DC 0040802D */ daddu $s0, $v0, $zero +/* A4F2E0 802402E0 0C01242D */ jal func_800490B4 +/* A4F2E4 802402E4 AFA30010 */ sw $v1, 0x10($sp) +/* A4F2E8 802402E8 1440001D */ bnez $v0, .L80240360 +/* A4F2EC 802402EC 24040002 */ addiu $a0, $zero, 2 +/* A4F2F0 802402F0 0200282D */ daddu $a1, $s0, $zero +/* A4F2F4 802402F4 0000302D */ daddu $a2, $zero, $zero +/* A4F2F8 802402F8 860300A8 */ lh $v1, 0xa8($s0) +/* A4F2FC 802402FC 3C013F80 */ lui $at, 0x3f80 +/* A4F300 80240300 44810000 */ mtc1 $at, $f0 +/* A4F304 80240304 3C014000 */ lui $at, 0x4000 +/* A4F308 80240308 44811000 */ mtc1 $at, $f2 +/* A4F30C 8024030C 3C01C1A0 */ lui $at, 0xc1a0 +/* A4F310 80240310 44812000 */ mtc1 $at, $f4 +/* A4F314 80240314 2402000F */ addiu $v0, $zero, 0xf +/* A4F318 80240318 AFA2001C */ sw $v0, 0x1c($sp) +/* A4F31C 8024031C 44833000 */ mtc1 $v1, $f6 +/* A4F320 80240320 00000000 */ nop +/* A4F324 80240324 468031A0 */ cvt.s.w $f6, $f6 +/* A4F328 80240328 44073000 */ mfc1 $a3, $f6 +/* A4F32C 8024032C 27A20028 */ addiu $v0, $sp, 0x28 +/* A4F330 80240330 AFA20020 */ sw $v0, 0x20($sp) +/* A4F334 80240334 E7A00010 */ swc1 $f0, 0x10($sp) +/* A4F338 80240338 E7A20014 */ swc1 $f2, 0x14($sp) +/* A4F33C 8024033C 0C01BFA4 */ jal fx_emote +/* A4F340 80240340 E7A40018 */ swc1 $f4, 0x18($sp) +/* A4F344 80240344 8E2200CC */ lw $v0, 0xcc($s1) +/* A4F348 80240348 8C430000 */ lw $v1, ($v0) +/* A4F34C 8024034C 24020014 */ addiu $v0, $zero, 0x14 +/* A4F350 80240350 A602008E */ sh $v0, 0x8e($s0) +/* A4F354 80240354 24020021 */ addiu $v0, $zero, 0x21 +/* A4F358 80240358 080900EC */ j .L802403B0 +/* A4F35C 8024035C AE030028 */ sw $v1, 0x28($s0) +.L80240360: +/* A4F360 80240360 0C090028 */ jal func_802400A0 +/* A4F364 80240364 0240202D */ daddu $a0, $s2, $zero +/* A4F368 80240368 0040202D */ daddu $a0, $v0, $zero +/* A4F36C 8024036C 2402FFFF */ addiu $v0, $zero, -1 +/* A4F370 80240370 10820010 */ beq $a0, $v0, .L802403B4 +/* A4F374 80240374 00000000 */ nop +/* A4F378 80240378 0C00FB3A */ jal get_enemy +/* A4F37C 8024037C 00000000 */ nop +/* A4F380 80240380 8C42006C */ lw $v0, 0x6c($v0) +/* A4F384 80240384 1440000B */ bnez $v0, .L802403B4 +/* A4F388 80240388 00000000 */ nop +/* A4F38C 8024038C 8602008C */ lh $v0, 0x8c($s0) +/* A4F390 80240390 14400008 */ bnez $v0, .L802403B4 +/* A4F394 80240394 00000000 */ nop +/* A4F398 80240398 8E2200CC */ lw $v0, 0xcc($s1) +/* A4F39C 8024039C 8C420020 */ lw $v0, 0x20($v0) +/* A4F3A0 802403A0 AE020028 */ sw $v0, 0x28($s0) +/* A4F3A4 802403A4 96220072 */ lhu $v0, 0x72($s1) +/* A4F3A8 802403A8 A602008E */ sh $v0, 0x8e($s0) +/* A4F3AC 802403AC 2402001E */ addiu $v0, $zero, 0x1e +.L802403B0: +/* A4F3B0 802403B0 AE420070 */ sw $v0, 0x70($s2) +.L802403B4: +/* A4F3B4 802403B4 8FBF003C */ lw $ra, 0x3c($sp) +/* A4F3B8 802403B8 8FB20038 */ lw $s2, 0x38($sp) +/* A4F3BC 802403BC 8FB10034 */ lw $s1, 0x34($sp) +/* A4F3C0 802403C0 8FB00030 */ lw $s0, 0x30($sp) +/* A4F3C4 802403C4 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A4F3C8 802403C8 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A4F3CC 802403CC 03E00008 */ jr $ra +/* A4F3D0 802403D0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802403D4_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802403D4_A4F000.s new file mode 100644 index 0000000000..8c8a76d085 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802403D4_A4F000.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D4_A4F3D4 +/* A4F3D4 802403D4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A4F3D8 802403D8 AFB20038 */ sw $s2, 0x38($sp) +/* A4F3DC 802403DC 0080902D */ daddu $s2, $a0, $zero +/* A4F3E0 802403E0 AFBF003C */ sw $ra, 0x3c($sp) +/* A4F3E4 802403E4 AFB10034 */ sw $s1, 0x34($sp) +/* A4F3E8 802403E8 AFB00030 */ sw $s0, 0x30($sp) +/* A4F3EC 802403EC 8E510148 */ lw $s1, 0x148($s2) +/* A4F3F0 802403F0 0C00EABB */ jal get_npc_unsafe +/* A4F3F4 802403F4 86240008 */ lh $a0, 8($s1) +/* A4F3F8 802403F8 0040802D */ daddu $s0, $v0, $zero +/* A4F3FC 802403FC 9602008E */ lhu $v0, 0x8e($s0) +/* A4F400 80240400 2442FFFF */ addiu $v0, $v0, -1 +/* A4F404 80240404 A602008E */ sh $v0, 0x8e($s0) +/* A4F408 80240408 00021400 */ sll $v0, $v0, 0x10 +/* A4F40C 8024040C 1C40002B */ bgtz $v0, .L802404BC +/* A4F410 80240410 00000000 */ nop +/* A4F414 80240414 0C090028 */ jal func_802400A0 +/* A4F418 80240418 0240202D */ daddu $a0, $s2, $zero +/* A4F41C 8024041C 0040202D */ daddu $a0, $v0, $zero +/* A4F420 80240420 0481001A */ bgez $a0, .L8024048C +/* A4F424 80240424 2402000F */ addiu $v0, $zero, 0xf +/* A4F428 80240428 24040002 */ addiu $a0, $zero, 2 +/* A4F42C 8024042C 860300A8 */ lh $v1, 0xa8($s0) +/* A4F430 80240430 AFA2001C */ sw $v0, 0x1c($sp) +/* A4F434 80240434 27A20028 */ addiu $v0, $sp, 0x28 +/* A4F438 80240438 0200282D */ daddu $a1, $s0, $zero +/* A4F43C 8024043C 3C013F80 */ lui $at, 0x3f80 +/* A4F440 80240440 44810000 */ mtc1 $at, $f0 +/* A4F444 80240444 3C014000 */ lui $at, 0x4000 +/* A4F448 80240448 44811000 */ mtc1 $at, $f2 +/* A4F44C 8024044C 3C01C1A0 */ lui $at, 0xc1a0 +/* A4F450 80240450 44812000 */ mtc1 $at, $f4 +/* A4F454 80240454 44833000 */ mtc1 $v1, $f6 +/* A4F458 80240458 00000000 */ nop +/* A4F45C 8024045C 468031A0 */ cvt.s.w $f6, $f6 +/* A4F460 80240460 44073000 */ mfc1 $a3, $f6 +/* A4F464 80240464 0000302D */ daddu $a2, $zero, $zero +/* A4F468 80240468 AFA20020 */ sw $v0, 0x20($sp) +/* A4F46C 8024046C E7A00010 */ swc1 $f0, 0x10($sp) +/* A4F470 80240470 E7A20014 */ swc1 $f2, 0x14($sp) +/* A4F474 80240474 0C01BFA4 */ jal fx_emote +/* A4F478 80240478 E7A40018 */ swc1 $f4, 0x18($sp) +/* A4F47C 8024047C 8E2200CC */ lw $v0, 0xcc($s1) +/* A4F480 80240480 8C420000 */ lw $v0, ($v0) +/* A4F484 80240484 0809012B */ j .L802404AC +/* A4F488 80240488 AE020028 */ sw $v0, 0x28($s0) +.L8024048C: +/* A4F48C 8024048C 8E2200CC */ lw $v0, 0xcc($s1) +/* A4F490 80240490 8C420024 */ lw $v0, 0x24($v0) +/* A4F494 80240494 0C00FB3A */ jal get_enemy +/* A4F498 80240498 AE020028 */ sw $v0, 0x28($s0) +/* A4F49C 8024049C 86240008 */ lh $a0, 8($s1) +/* A4F4A0 802404A0 24030001 */ addiu $v1, $zero, 1 +/* A4F4A4 802404A4 AC43006C */ sw $v1, 0x6c($v0) +/* A4F4A8 802404A8 AC44007C */ sw $a0, 0x7c($v0) +.L802404AC: +/* A4F4AC 802404AC 96220076 */ lhu $v0, 0x76($s1) +/* A4F4B0 802404B0 A602008E */ sh $v0, 0x8e($s0) +/* A4F4B4 802404B4 24020021 */ addiu $v0, $zero, 0x21 +/* A4F4B8 802404B8 AE420070 */ sw $v0, 0x70($s2) +.L802404BC: +/* A4F4BC 802404BC 8FBF003C */ lw $ra, 0x3c($sp) +/* A4F4C0 802404C0 8FB20038 */ lw $s2, 0x38($sp) +/* A4F4C4 802404C4 8FB10034 */ lw $s1, 0x34($sp) +/* A4F4C8 802404C8 8FB00030 */ lw $s0, 0x30($sp) +/* A4F4CC 802404CC 03E00008 */ jr $ra +/* A4F4D0 802404D0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802404D4_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802404D4_A4F000.s new file mode 100644 index 0000000000..f7fa132325 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802404D4_A4F000.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D4_A4F4D4 +/* A4F4D4 802404D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A4F4D8 802404D8 AFB10014 */ sw $s1, 0x14($sp) +/* A4F4DC 802404DC 0080882D */ daddu $s1, $a0, $zero +/* A4F4E0 802404E0 AFBF0018 */ sw $ra, 0x18($sp) +/* A4F4E4 802404E4 AFB00010 */ sw $s0, 0x10($sp) +/* A4F4E8 802404E8 8E300148 */ lw $s0, 0x148($s1) +/* A4F4EC 802404EC 0C00EABB */ jal get_npc_unsafe +/* A4F4F0 802404F0 86040008 */ lh $a0, 8($s0) +/* A4F4F4 802404F4 96030076 */ lhu $v1, 0x76($s0) +/* A4F4F8 802404F8 A443008E */ sh $v1, 0x8e($v0) +/* A4F4FC 802404FC 24020021 */ addiu $v0, $zero, 0x21 +/* A4F500 80240500 AE220070 */ sw $v0, 0x70($s1) +/* A4F504 80240504 8FBF0018 */ lw $ra, 0x18($sp) +/* A4F508 80240508 8FB10014 */ lw $s1, 0x14($sp) +/* A4F50C 8024050C 8FB00010 */ lw $s0, 0x10($sp) +/* A4F510 80240510 03E00008 */ jr $ra +/* A4F514 80240514 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_80240518.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240518.s new file mode 100644 index 0000000000..39b725bb24 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240518.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518 +/* A4F518 80240518 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A4F51C 8024051C AFB3001C */ sw $s3, 0x1c($sp) +/* A4F520 80240520 0080982D */ daddu $s3, $a0, $zero +/* A4F524 80240524 AFBF0020 */ sw $ra, 0x20($sp) +/* A4F528 80240528 AFB20018 */ sw $s2, 0x18($sp) +/* A4F52C 8024052C AFB10014 */ sw $s1, 0x14($sp) +/* A4F530 80240530 AFB00010 */ sw $s0, 0x10($sp) +/* A4F534 80240534 8E720148 */ lw $s2, 0x148($s3) +/* A4F538 80240538 0C00EABB */ jal get_npc_unsafe +/* A4F53C 8024053C 86440008 */ lh $a0, 8($s2) +/* A4F540 80240540 86440008 */ lh $a0, 8($s2) +/* A4F544 80240544 0040882D */ daddu $s1, $v0, $zero +/* A4F548 80240548 0C00FB3A */ jal get_enemy +/* A4F54C 8024054C 24840001 */ addiu $a0, $a0, 1 +/* A4F550 80240550 0040802D */ daddu $s0, $v0, $zero +/* A4F554 80240554 0C00EABB */ jal get_npc_unsafe +/* A4F558 80240558 86040008 */ lh $a0, 8($s0) +/* A4F55C 8024055C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A4F560 80240560 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A4F564 80240564 8C460038 */ lw $a2, 0x38($v0) +/* A4F568 80240568 0C00A720 */ jal atan2 +/* A4F56C 8024056C 8C470040 */ lw $a3, 0x40($v0) +/* A4F570 80240570 E620000C */ swc1 $f0, 0xc($s1) +/* A4F574 80240574 8E02006C */ lw $v0, 0x6c($s0) +/* A4F578 80240578 14400008 */ bnez $v0, .L8024059C +/* A4F57C 8024057C 00000000 */ nop +/* A4F580 80240580 8E4200CC */ lw $v0, 0xcc($s2) +/* A4F584 80240584 8C420000 */ lw $v0, ($v0) +/* A4F588 80240588 AE220028 */ sw $v0, 0x28($s1) +/* A4F58C 8024058C 96420076 */ lhu $v0, 0x76($s2) +/* A4F590 80240590 A622008E */ sh $v0, 0x8e($s1) +/* A4F594 80240594 24020021 */ addiu $v0, $zero, 0x21 +/* A4F598 80240598 AE620070 */ sw $v0, 0x70($s3) +.L8024059C: +/* A4F59C 8024059C 8FBF0020 */ lw $ra, 0x20($sp) +/* A4F5A0 802405A0 8FB3001C */ lw $s3, 0x1c($sp) +/* A4F5A4 802405A4 8FB20018 */ lw $s2, 0x18($sp) +/* A4F5A8 802405A8 8FB10014 */ lw $s1, 0x14($sp) +/* A4F5AC 802405AC 8FB00010 */ lw $s0, 0x10($sp) +/* A4F5B0 802405B0 03E00008 */ jr $ra +/* A4F5B4 802405B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802405B8.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802405B8.s new file mode 100644 index 0000000000..fb7bdeb3dc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802405B8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B8 +/* A4F5B8 802405B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A4F5BC 802405BC AFB00010 */ sw $s0, 0x10($sp) +/* A4F5C0 802405C0 0080802D */ daddu $s0, $a0, $zero +/* A4F5C4 802405C4 AFBF0014 */ sw $ra, 0x14($sp) +/* A4F5C8 802405C8 8E020148 */ lw $v0, 0x148($s0) +/* A4F5CC 802405CC 0C00EABB */ jal get_npc_unsafe +/* A4F5D0 802405D0 84440008 */ lh $a0, 8($v0) +/* A4F5D4 802405D4 9443008E */ lhu $v1, 0x8e($v0) +/* A4F5D8 802405D8 2463FFFF */ addiu $v1, $v1, -1 +/* A4F5DC 802405DC A443008E */ sh $v1, 0x8e($v0) +/* A4F5E0 802405E0 00031C00 */ sll $v1, $v1, 0x10 +/* A4F5E4 802405E4 58600001 */ blezl $v1, .L802405EC +/* A4F5E8 802405E8 AE000070 */ sw $zero, 0x70($s0) +.L802405EC: +/* A4F5EC 802405EC 8FBF0014 */ lw $ra, 0x14($sp) +/* A4F5F0 802405F0 8FB00010 */ lw $s0, 0x10($sp) +/* A4F5F4 802405F4 03E00008 */ jr $ra +/* A4F5F8 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802405FC_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802405FC_A4F000.s new file mode 100644 index 0000000000..28a383930b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802405FC_A4F000.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_A4F5FC +/* A4F5FC 802405FC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A4F600 80240600 AFB7004C */ sw $s7, 0x4c($sp) +/* A4F604 80240604 0080B82D */ daddu $s7, $a0, $zero +/* A4F608 80240608 AFB10034 */ sw $s1, 0x34($sp) +/* A4F60C 8024060C 00A0882D */ daddu $s1, $a1, $zero +/* A4F610 80240610 AFBF0050 */ sw $ra, 0x50($sp) +/* A4F614 80240614 AFB60048 */ sw $s6, 0x48($sp) +/* A4F618 80240618 AFB50044 */ sw $s5, 0x44($sp) +/* A4F61C 8024061C AFB40040 */ sw $s4, 0x40($sp) +/* A4F620 80240620 AFB3003C */ sw $s3, 0x3c($sp) +/* A4F624 80240624 AFB20038 */ sw $s2, 0x38($sp) +/* A4F628 80240628 AFB00030 */ sw $s0, 0x30($sp) +/* A4F62C 8024062C 8EF30148 */ lw $s3, 0x148($s7) +/* A4F630 80240630 86640008 */ lh $a0, 8($s3) +/* A4F634 80240634 8EF0000C */ lw $s0, 0xc($s7) +/* A4F638 80240638 0C00FB5A */ jal get_enemy_safe +/* A4F63C 8024063C 0000B02D */ daddu $s6, $zero, $zero +/* A4F640 80240640 10400131 */ beqz $v0, .L80240B08 +/* A4F644 80240644 24020005 */ addiu $v0, $zero, 5 +/* A4F648 80240648 8E63006C */ lw $v1, 0x6c($s3) +/* A4F64C 8024064C 1062012F */ beq $v1, $v0, .L80240B0C +/* A4F650 80240650 0000102D */ daddu $v0, $zero, $zero +/* A4F654 80240654 8E050000 */ lw $a1, ($s0) +/* A4F658 80240658 0C0B1EAF */ jal get_variable +/* A4F65C 8024065C 02E0202D */ daddu $a0, $s7, $zero +/* A4F660 80240660 86640008 */ lh $a0, 8($s3) +/* A4F664 80240664 0C00EABB */ jal get_npc_unsafe +/* A4F668 80240668 0040A82D */ daddu $s5, $v0, $zero +/* A4F66C 8024066C 8E630070 */ lw $v1, 0x70($s3) +/* A4F670 80240670 30630002 */ andi $v1, $v1, 2 +/* A4F674 80240674 10600008 */ beqz $v1, .L80240698 +/* A4F678 80240678 0040902D */ daddu $s2, $v0, $zero +/* A4F67C 8024067C 964200A8 */ lhu $v0, 0xa8($s2) +/* A4F680 80240680 00021400 */ sll $v0, $v0, 0x10 +/* A4F684 80240684 00021C03 */ sra $v1, $v0, 0x10 +/* A4F688 80240688 000217C2 */ srl $v0, $v0, 0x1f +/* A4F68C 8024068C 00621821 */ addu $v1, $v1, $v0 +/* A4F690 80240690 00031843 */ sra $v1, $v1, 1 +/* A4F694 80240694 A24300AB */ sb $v1, 0xab($s2) +.L80240698: +/* A4F698 80240698 16200005 */ bnez $s1, .L802406B0 +/* A4F69C 8024069C 3C030004 */ lui $v1, 4 +/* A4F6A0 802406A0 8E6200B0 */ lw $v0, 0xb0($s3) +/* A4F6A4 802406A4 30420004 */ andi $v0, $v0, 4 +/* A4F6A8 802406A8 10400019 */ beqz $v0, .L80240710 +/* A4F6AC 802406AC 00000000 */ nop +.L802406B0: +/* A4F6B0 802406B0 34630102 */ ori $v1, $v1, 0x102 +/* A4F6B4 802406B4 AEE00070 */ sw $zero, 0x70($s7) +/* A4F6B8 802406B8 8E420000 */ lw $v0, ($s2) +/* A4F6BC 802406BC 0240202D */ daddu $a0, $s2, $zero +/* A4F6C0 802406C0 A640008E */ sh $zero, 0x8e($s2) +/* A4F6C4 802406C4 00431025 */ or $v0, $v0, $v1 +/* A4F6C8 802406C8 0C00EAFF */ jal disable_npc_shadow +/* A4F6CC 802406CC AE420000 */ sw $v0, ($s2) +/* A4F6D0 802406D0 3C041F30 */ lui $a0, 0x1f30 +/* A4F6D4 802406D4 8E420000 */ lw $v0, ($s2) +/* A4F6D8 802406D8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A4F6DC 802406DC 00431024 */ and $v0, $v0, $v1 +/* A4F6E0 802406E0 AE420000 */ sw $v0, ($s2) +/* A4F6E4 802406E4 8E620000 */ lw $v0, ($s3) +/* A4F6E8 802406E8 8E6300B0 */ lw $v1, 0xb0($s3) +/* A4F6EC 802406EC 34840040 */ ori $a0, $a0, 0x40 +/* A4F6F0 802406F0 AE60006C */ sw $zero, 0x6c($s3) +/* A4F6F4 802406F4 00441025 */ or $v0, $v0, $a0 +/* A4F6F8 802406F8 AE620000 */ sw $v0, ($s3) +/* A4F6FC 802406FC 30620004 */ andi $v0, $v1, 4 +/* A4F700 80240700 10400003 */ beqz $v0, .L80240710 +/* A4F704 80240704 2402FFFB */ addiu $v0, $zero, -5 +/* A4F708 80240708 00621024 */ and $v0, $v1, $v0 +/* A4F70C 8024070C AE6200B0 */ sw $v0, 0xb0($s3) +.L80240710: +/* A4F710 80240710 8EE30070 */ lw $v1, 0x70($s7) +/* A4F714 80240714 24100001 */ addiu $s0, $zero, 1 +/* A4F718 80240718 10700012 */ beq $v1, $s0, .L80240764 +/* A4F71C 8024071C 28620002 */ slti $v0, $v1, 2 +/* A4F720 80240720 10400005 */ beqz $v0, .L80240738 +/* A4F724 80240724 24020002 */ addiu $v0, $zero, 2 +/* A4F728 80240728 10600007 */ beqz $v1, .L80240748 +/* A4F72C 8024072C 0000102D */ daddu $v0, $zero, $zero +/* A4F730 80240730 080902C3 */ j .L80240B0C +/* A4F734 80240734 00000000 */ nop +.L80240738: +/* A4F738 80240738 1062005B */ beq $v1, $v0, .L802408A8 +/* A4F73C 8024073C 0000102D */ daddu $v0, $zero, $zero +/* A4F740 80240740 080902C3 */ j .L80240B0C +/* A4F744 80240744 00000000 */ nop +.L80240748: +/* A4F748 80240748 8E420000 */ lw $v0, ($s2) +/* A4F74C 8024074C 0240202D */ daddu $a0, $s2, $zero +/* A4F750 80240750 34420002 */ ori $v0, $v0, 2 +/* A4F754 80240754 0C00EAFF */ jal disable_npc_shadow +/* A4F758 80240758 AE420000 */ sw $v0, ($s2) +/* A4F75C 8024075C AE60006C */ sw $zero, 0x6c($s3) +/* A4F760 80240760 AEF00070 */ sw $s0, 0x70($s7) +.L80240764: +/* A4F764 80240764 8E74006C */ lw $s4, 0x6c($s3) +/* A4F768 80240768 24020001 */ addiu $v0, $zero, 1 +/* A4F76C 8024076C 168200E7 */ bne $s4, $v0, .L80240B0C +/* A4F770 80240770 0000102D */ daddu $v0, $zero, $zero +/* A4F774 80240774 8E64007C */ lw $a0, 0x7c($s3) +/* A4F778 80240778 24110002 */ addiu $s1, $zero, 2 +/* A4F77C 8024077C 0C00EABB */ jal get_npc_unsafe +/* A4F780 80240780 AE71006C */ sw $s1, 0x6c($s3) +/* A4F784 80240784 0040802D */ daddu $s0, $v0, $zero +/* A4F788 80240788 C6000038 */ lwc1 $f0, 0x38($s0) +/* A4F78C 8024078C E6400038 */ swc1 $f0, 0x38($s2) +/* A4F790 80240790 C6000040 */ lwc1 $f0, 0x40($s0) +/* A4F794 80240794 E6400040 */ swc1 $f0, 0x40($s2) +/* A4F798 80240798 C6020034 */ lwc1 $f2, 0x34($s0) +/* A4F79C 8024079C 3C014387 */ lui $at, 0x4387 +/* A4F7A0 802407A0 44810000 */ mtc1 $at, $f0 +/* A4F7A4 802407A4 26440038 */ addiu $a0, $s2, 0x38 +/* A4F7A8 802407A8 46020001 */ sub.s $f0, $f0, $f2 +/* A4F7AC 802407AC C6680078 */ lwc1 $f8, 0x78($s3) +/* A4F7B0 802407B0 46804220 */ cvt.s.w $f8, $f8 +/* A4F7B4 802407B4 44064000 */ mfc1 $a2, $f8 +/* A4F7B8 802407B8 44070000 */ mfc1 $a3, $f0 +/* A4F7BC 802407BC 0C00A7E7 */ jal add_vec2D_polar +/* A4F7C0 802407C0 26450040 */ addiu $a1, $s2, 0x40 +/* A4F7C4 802407C4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A4F7C8 802407C8 C6620074 */ lwc1 $f2, 0x74($s3) +/* A4F7CC 802407CC 468010A0 */ cvt.s.w $f2, $f2 +/* A4F7D0 802407D0 46020000 */ add.s $f0, $f0, $f2 +/* A4F7D4 802407D4 E640003C */ swc1 $f0, 0x3c($s2) +/* A4F7D8 802407D8 A2740007 */ sb $s4, 7($s3) +/* A4F7DC 802407DC C6400038 */ lwc1 $f0, 0x38($s2) +/* A4F7E0 802407E0 4600020D */ trunc.w.s $f8, $f0 +/* A4F7E4 802407E4 44024000 */ mfc1 $v0, $f8 +/* A4F7E8 802407E8 00000000 */ nop +/* A4F7EC 802407EC A6620010 */ sh $v0, 0x10($s3) +/* A4F7F0 802407F0 C640003C */ lwc1 $f0, 0x3c($s2) +/* A4F7F4 802407F4 4600020D */ trunc.w.s $f8, $f0 +/* A4F7F8 802407F8 44024000 */ mfc1 $v0, $f8 +/* A4F7FC 802407FC 00000000 */ nop +/* A4F800 80240800 A6620012 */ sh $v0, 0x12($s3) +/* A4F804 80240804 C6400040 */ lwc1 $f0, 0x40($s2) +/* A4F808 80240808 4600020D */ trunc.w.s $f8, $f0 +/* A4F80C 8024080C 44024000 */ mfc1 $v0, $f8 +/* A4F810 80240810 00000000 */ nop +/* A4F814 80240814 A6620014 */ sh $v0, 0x14($s3) +/* A4F818 80240818 AE400044 */ sw $zero, 0x44($s2) +/* A4F81C 8024081C AE400048 */ sw $zero, 0x48($s2) +/* A4F820 80240820 AE40004C */ sw $zero, 0x4c($s2) +/* A4F824 80240824 C6A00000 */ lwc1 $f0, ($s5) +/* A4F828 80240828 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A4F82C 8024082C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A4F830 80240830 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A4F834 80240834 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A4F838 80240838 E6400018 */ swc1 $f0, 0x18($s2) +/* A4F83C 8024083C 8C460028 */ lw $a2, 0x28($v0) +/* A4F840 80240840 0C00A720 */ jal atan2 +/* A4F844 80240844 8C470030 */ lw $a3, 0x30($v0) +/* A4F848 80240848 E640000C */ swc1 $f0, 0xc($s2) +/* A4F84C 8024084C C6A0000C */ lwc1 $f0, 0xc($s5) +/* A4F850 80240850 8E420000 */ lw $v0, ($s2) +/* A4F854 80240854 0240202D */ daddu $a0, $s2, $zero +/* A4F858 80240858 E640001C */ swc1 $f0, 0x1c($s2) +/* A4F85C 8024085C C6A00010 */ lwc1 $f0, 0x10($s5) +/* A4F860 80240860 2403FFFD */ addiu $v1, $zero, -3 +/* A4F864 80240864 E6400014 */ swc1 $f0, 0x14($s2) +/* A4F868 80240868 C600003C */ lwc1 $f0, 0x3c($s0) +/* A4F86C 8024086C 00431024 */ and $v0, $v0, $v1 +/* A4F870 80240870 AE420000 */ sw $v0, ($s2) +/* A4F874 80240874 0C00EAE8 */ jal enable_npc_shadow +/* A4F878 80240878 E6400064 */ swc1 $f0, 0x64($s2) +/* A4F87C 8024087C 8E420000 */ lw $v0, ($s2) +/* A4F880 80240880 3C03E0FF */ lui $v1, 0xe0ff +/* A4F884 80240884 34420800 */ ori $v0, $v0, 0x800 +/* A4F888 80240888 AE420000 */ sw $v0, ($s2) +/* A4F88C 8024088C 8E620000 */ lw $v0, ($s3) +/* A4F890 80240890 3463FFFF */ ori $v1, $v1, 0xffff +/* A4F894 80240894 00431024 */ and $v0, $v0, $v1 +/* A4F898 80240898 AE620000 */ sw $v0, ($s3) +/* A4F89C 8024089C 2402005A */ addiu $v0, $zero, 0x5a +/* A4F8A0 802408A0 A642008E */ sh $v0, 0x8e($s2) +/* A4F8A4 802408A4 AEF10070 */ sw $s1, 0x70($s7) +.L802408A8: +/* A4F8A8 802408A8 0000202D */ daddu $a0, $zero, $zero +/* A4F8AC 802408AC 27B00020 */ addiu $s0, $sp, 0x20 +/* A4F8B0 802408B0 864200A8 */ lh $v0, 0xa8($s2) +/* A4F8B4 802408B4 3C013FE0 */ lui $at, 0x3fe0 +/* A4F8B8 802408B8 44810800 */ mtc1 $at, $f1 +/* A4F8BC 802408BC 44800000 */ mtc1 $zero, $f0 +/* A4F8C0 802408C0 44821000 */ mtc1 $v0, $f2 +/* A4F8C4 802408C4 00000000 */ nop +/* A4F8C8 802408C8 468010A1 */ cvt.d.w $f2, $f2 +/* A4F8CC 802408CC 46201082 */ mul.d $f2, $f2, $f0 +/* A4F8D0 802408D0 00000000 */ nop +/* A4F8D4 802408D4 0200282D */ daddu $a1, $s0, $zero +/* A4F8D8 802408D8 C6440038 */ lwc1 $f4, 0x38($s2) +/* A4F8DC 802408DC C640003C */ lwc1 $f0, 0x3c($s2) +/* A4F8E0 802408E0 27B10024 */ addiu $s1, $sp, 0x24 +/* A4F8E4 802408E4 E7A40020 */ swc1 $f4, 0x20($sp) +/* A4F8E8 802408E8 C6440040 */ lwc1 $f4, 0x40($s2) +/* A4F8EC 802408EC 46000021 */ cvt.d.s $f0, $f0 +/* A4F8F0 802408F0 46220000 */ add.d $f0, $f0, $f2 +/* A4F8F4 802408F4 E7A40028 */ swc1 $f4, 0x28($sp) +/* A4F8F8 802408F8 C6420018 */ lwc1 $f2, 0x18($s2) +/* A4F8FC 802408FC 46200020 */ cvt.s.d $f0, $f0 +/* A4F900 80240900 E7A00024 */ swc1 $f0, 0x24($sp) +/* A4F904 80240904 E7A20010 */ swc1 $f2, 0x10($sp) +/* A4F908 80240908 C640000C */ lwc1 $f0, 0xc($s2) +/* A4F90C 8024090C 0220302D */ daddu $a2, $s1, $zero +/* A4F910 80240910 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4F914 80240914 864200A6 */ lh $v0, 0xa6($s2) +/* A4F918 80240918 27B40028 */ addiu $s4, $sp, 0x28 +/* A4F91C 8024091C 44820000 */ mtc1 $v0, $f0 +/* A4F920 80240920 00000000 */ nop +/* A4F924 80240924 46800020 */ cvt.s.w $f0, $f0 +/* A4F928 80240928 E7A00018 */ swc1 $f0, 0x18($sp) +/* A4F92C 8024092C 864200A8 */ lh $v0, 0xa8($s2) +/* A4F930 80240930 0280382D */ daddu $a3, $s4, $zero +/* A4F934 80240934 44820000 */ mtc1 $v0, $f0 +/* A4F938 80240938 00000000 */ nop +/* A4F93C 8024093C 46800020 */ cvt.s.w $f0, $f0 +/* A4F940 80240940 0C0376B9 */ jal func_800DDAE4 +/* A4F944 80240944 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A4F948 80240948 54400001 */ bnel $v0, $zero, .L80240950 +/* A4F94C 8024094C 24160001 */ addiu $s6, $zero, 1 +.L80240950: +/* A4F950 80240950 0200282D */ daddu $a1, $s0, $zero +/* A4F954 80240954 0220302D */ daddu $a2, $s1, $zero +/* A4F958 80240958 C6400038 */ lwc1 $f0, 0x38($s2) +/* A4F95C 8024095C C642003C */ lwc1 $f2, 0x3c($s2) +/* A4F960 80240960 C6440040 */ lwc1 $f4, 0x40($s2) +/* A4F964 80240964 3C01447A */ lui $at, 0x447a +/* A4F968 80240968 44813000 */ mtc1 $at, $f6 +/* A4F96C 8024096C 27A2002C */ addiu $v0, $sp, 0x2c +/* A4F970 80240970 E7A00020 */ swc1 $f0, 0x20($sp) +/* A4F974 80240974 E7A20024 */ swc1 $f2, 0x24($sp) +/* A4F978 80240978 E7A40028 */ swc1 $f4, 0x28($sp) +/* A4F97C 8024097C E7A6002C */ swc1 $f6, 0x2c($sp) +/* A4F980 80240980 AFA20010 */ sw $v0, 0x10($sp) +/* A4F984 80240984 8E440080 */ lw $a0, 0x80($s2) +/* A4F988 80240988 0C0372DF */ jal func_800DCB7C +/* A4F98C 8024098C 0280382D */ daddu $a3, $s4, $zero +/* A4F990 80240990 10400019 */ beqz $v0, .L802409F8 +/* A4F994 80240994 00000000 */ nop +/* A4F998 80240998 C640001C */ lwc1 $f0, 0x1c($s2) +/* A4F99C 8024099C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A4F9A0 802409A0 46000005 */ abs.s $f0, $f0 +/* A4F9A4 802409A4 4600103C */ c.lt.s $f2, $f0 +/* A4F9A8 802409A8 00000000 */ nop +/* A4F9AC 802409AC 45000012 */ bc1f .L802409F8 +/* A4F9B0 802409B0 00000000 */ nop +/* A4F9B4 802409B4 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A4F9B8 802409B8 C6400064 */ lwc1 $f0, 0x64($s2) +/* A4F9BC 802409BC 46002001 */ sub.s $f0, $f4, $f0 +/* A4F9C0 802409C0 3C014034 */ lui $at, 0x4034 +/* A4F9C4 802409C4 44811800 */ mtc1 $at, $f3 +/* A4F9C8 802409C8 44801000 */ mtc1 $zero, $f2 +/* A4F9CC 802409CC 46000005 */ abs.s $f0, $f0 +/* A4F9D0 802409D0 46000021 */ cvt.d.s $f0, $f0 +/* A4F9D4 802409D4 4622003C */ c.lt.d $f0, $f2 +/* A4F9D8 802409D8 00000000 */ nop +/* A4F9DC 802409DC 45000006 */ bc1f .L802409F8 +/* A4F9E0 802409E0 0240202D */ daddu $a0, $s2, $zero +/* A4F9E4 802409E4 8E450018 */ lw $a1, 0x18($s2) +/* A4F9E8 802409E8 8E46000C */ lw $a2, 0xc($s2) +/* A4F9EC 802409EC 2416000A */ addiu $s6, $zero, 0xa +/* A4F9F0 802409F0 0C00EA95 */ jal npc_move_heading +/* A4F9F4 802409F4 E644003C */ swc1 $f4, 0x3c($s2) +.L802409F8: +/* A4F9F8 802409F8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A4F9FC 802409FC 3C013FF0 */ lui $at, 0x3ff0 +/* A4FA00 80240A00 44811800 */ mtc1 $at, $f3 +/* A4FA04 80240A04 44801000 */ mtc1 $zero, $f2 +/* A4FA08 80240A08 46000021 */ cvt.d.s $f0, $f0 +/* A4FA0C 80240A0C 4622003C */ c.lt.d $f0, $f2 +/* A4FA10 80240A10 00000000 */ nop +/* A4FA14 80240A14 45030001 */ bc1tl .L80240A1C +/* A4FA18 80240A18 2416000B */ addiu $s6, $zero, 0xb +.L80240A1C: +/* A4FA1C 80240A1C 9642008E */ lhu $v0, 0x8e($s2) +/* A4FA20 80240A20 2442FFFF */ addiu $v0, $v0, -1 +/* A4FA24 80240A24 A642008E */ sh $v0, 0x8e($s2) +/* A4FA28 80240A28 00021400 */ sll $v0, $v0, 0x10 +/* A4FA2C 80240A2C 58400001 */ blezl $v0, .L80240A34 +/* A4FA30 80240A30 24160014 */ addiu $s6, $zero, 0x14 +.L80240A34: +/* A4FA34 80240A34 56C00019 */ bnel $s6, $zero, .L80240A9C +/* A4FA38 80240A38 AFA00010 */ sw $zero, 0x10($sp) +/* A4FA3C 80240A3C 8E620070 */ lw $v0, 0x70($s3) +/* A4FA40 80240A40 30420001 */ andi $v0, $v0, 1 +/* A4FA44 80240A44 10400009 */ beqz $v0, .L80240A6C +/* A4FA48 80240A48 00000000 */ nop +/* A4FA4C 80240A4C C640004C */ lwc1 $f0, 0x4c($s2) +/* A4FA50 80240A50 3C014044 */ lui $at, 0x4044 +/* A4FA54 80240A54 44811800 */ mtc1 $at, $f3 +/* A4FA58 80240A58 44801000 */ mtc1 $zero, $f2 +/* A4FA5C 80240A5C 46000021 */ cvt.d.s $f0, $f0 +/* A4FA60 80240A60 46220000 */ add.d $f0, $f0, $f2 +/* A4FA64 80240A64 46200020 */ cvt.s.d $f0, $f0 +/* A4FA68 80240A68 E640004C */ swc1 $f0, 0x4c($s2) +.L80240A6C: +/* A4FA6C 80240A6C 8E450018 */ lw $a1, 0x18($s2) +/* A4FA70 80240A70 8E46000C */ lw $a2, 0xc($s2) +/* A4FA74 80240A74 0C00EA95 */ jal npc_move_heading +/* A4FA78 80240A78 0240202D */ daddu $a0, $s2, $zero +/* A4FA7C 80240A7C C644003C */ lwc1 $f4, 0x3c($s2) +/* A4FA80 80240A80 C640001C */ lwc1 $f0, 0x1c($s2) +/* A4FA84 80240A84 46002100 */ add.s $f4, $f4, $f0 +/* A4FA88 80240A88 C6420014 */ lwc1 $f2, 0x14($s2) +/* A4FA8C 80240A8C 46020001 */ sub.s $f0, $f0, $f2 +/* A4FA90 80240A90 E644003C */ swc1 $f4, 0x3c($s2) +/* A4FA94 80240A94 080902C2 */ j .L80240B08 +/* A4FA98 80240A98 E640001C */ swc1 $f0, 0x1c($s2) +.L80240A9C: +/* A4FA9C 80240A9C AFA00014 */ sw $zero, 0x14($sp) +/* A4FAA0 80240AA0 8E450038 */ lw $a1, 0x38($s2) +/* A4FAA4 80240AA4 8E46003C */ lw $a2, 0x3c($s2) +/* A4FAA8 80240AA8 8E470040 */ lw $a3, 0x40($s2) +/* A4FAAC 80240AAC 0C01BECC */ jal fx_walk_normal +/* A4FAB0 80240AB0 24040002 */ addiu $a0, $zero, 2 +/* A4FAB4 80240AB4 3C01C47A */ lui $at, 0xc47a +/* A4FAB8 80240AB8 44810000 */ mtc1 $at, $f0 +/* A4FABC 80240ABC AE60006C */ sw $zero, 0x6c($s3) +/* A4FAC0 80240AC0 8E420000 */ lw $v0, ($s2) +/* A4FAC4 80240AC4 0240202D */ daddu $a0, $s2, $zero +/* A4FAC8 80240AC8 AE400038 */ sw $zero, 0x38($s2) +/* A4FACC 80240ACC AE400040 */ sw $zero, 0x40($s2) +/* A4FAD0 80240AD0 AE40001C */ sw $zero, 0x1c($s2) +/* A4FAD4 80240AD4 34420002 */ ori $v0, $v0, 2 +/* A4FAD8 80240AD8 E640003C */ swc1 $f0, 0x3c($s2) +/* A4FADC 80240ADC 0C00EAFF */ jal disable_npc_shadow +/* A4FAE0 80240AE0 AE420000 */ sw $v0, ($s2) +/* A4FAE4 80240AE4 8E420000 */ lw $v0, ($s2) +/* A4FAE8 80240AE8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A4FAEC 80240AEC 00431024 */ and $v0, $v0, $v1 +/* A4FAF0 80240AF0 AE420000 */ sw $v0, ($s2) +/* A4FAF4 80240AF4 8E620000 */ lw $v0, ($s3) +/* A4FAF8 80240AF8 3C031F00 */ lui $v1, 0x1f00 +/* A4FAFC 80240AFC 00431025 */ or $v0, $v0, $v1 +/* A4FB00 80240B00 AE620000 */ sw $v0, ($s3) +/* A4FB04 80240B04 AEE00070 */ sw $zero, 0x70($s7) +.L80240B08: +/* A4FB08 80240B08 0000102D */ daddu $v0, $zero, $zero +.L80240B0C: +/* A4FB0C 80240B0C 8FBF0050 */ lw $ra, 0x50($sp) +/* A4FB10 80240B10 8FB7004C */ lw $s7, 0x4c($sp) +/* A4FB14 80240B14 8FB60048 */ lw $s6, 0x48($sp) +/* A4FB18 80240B18 8FB50044 */ lw $s5, 0x44($sp) +/* A4FB1C 80240B1C 8FB40040 */ lw $s4, 0x40($sp) +/* A4FB20 80240B20 8FB3003C */ lw $s3, 0x3c($sp) +/* A4FB24 80240B24 8FB20038 */ lw $s2, 0x38($sp) +/* A4FB28 80240B28 8FB10034 */ lw $s1, 0x34($sp) +/* A4FB2C 80240B2C 8FB00030 */ lw $s0, 0x30($sp) +/* A4FB30 80240B30 03E00008 */ jr $ra +/* A4FB34 80240B34 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_80240B38_A4F000.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240B38_A4F000.s new file mode 100644 index 0000000000..b088341961 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240B38_A4F000.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B38_A4FB38 +/* A4FB38 80240B38 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A4FB3C 80240B3C AFB3003C */ sw $s3, 0x3c($sp) +/* A4FB40 80240B40 0080982D */ daddu $s3, $a0, $zero +/* A4FB44 80240B44 AFB40040 */ sw $s4, 0x40($sp) +/* A4FB48 80240B48 0000A02D */ daddu $s4, $zero, $zero +/* A4FB4C 80240B4C 3C03800A */ lui $v1, 0x800a +/* A4FB50 80240B50 8463A634 */ lh $v1, -0x59cc($v1) +/* A4FB54 80240B54 3C04800B */ lui $a0, %hi(gCameras) +/* A4FB58 80240B58 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A4FB5C 80240B5C AFBF0044 */ sw $ra, 0x44($sp) +/* A4FB60 80240B60 AFB20038 */ sw $s2, 0x38($sp) +/* A4FB64 80240B64 AFB10034 */ sw $s1, 0x34($sp) +/* A4FB68 80240B68 AFB00030 */ sw $s0, 0x30($sp) +/* A4FB6C 80240B6C F7B80058 */ sdc1 $f24, 0x58($sp) +/* A4FB70 80240B70 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A4FB74 80240B74 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A4FB78 80240B78 8E710148 */ lw $s1, 0x148($s3) +/* A4FB7C 80240B7C 00031080 */ sll $v0, $v1, 2 +/* A4FB80 80240B80 00431021 */ addu $v0, $v0, $v1 +/* A4FB84 80240B84 00021080 */ sll $v0, $v0, 2 +/* A4FB88 80240B88 00431023 */ subu $v0, $v0, $v1 +/* A4FB8C 80240B8C 000218C0 */ sll $v1, $v0, 3 +/* A4FB90 80240B90 00431021 */ addu $v0, $v0, $v1 +/* A4FB94 80240B94 000210C0 */ sll $v0, $v0, 3 +/* A4FB98 80240B98 10A00002 */ beqz $a1, .L80240BA4 +/* A4FB9C 80240B9C 00449021 */ addu $s2, $v0, $a0 +/* A4FBA0 80240BA0 AE600070 */ sw $zero, 0x70($s3) +.L80240BA4: +/* A4FBA4 80240BA4 0C00FB5A */ jal get_enemy_safe +/* A4FBA8 80240BA8 86240008 */ lh $a0, 8($s1) +/* A4FBAC 80240BAC 14400006 */ bnez $v0, .L80240BC8 +/* A4FBB0 80240BB0 24020005 */ addiu $v0, $zero, 5 +/* A4FBB4 80240BB4 0260202D */ daddu $a0, $s3, $zero +/* A4FBB8 80240BB8 3C05FE36 */ lui $a1, 0xfe36 +/* A4FBBC 80240BBC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4FBC0 80240BC0 080903CA */ j .L80240F28 +/* A4FBC4 80240BC4 0000302D */ daddu $a2, $zero, $zero +.L80240BC8: +/* A4FBC8 80240BC8 8E23006C */ lw $v1, 0x6c($s1) +/* A4FBCC 80240BCC 14620005 */ bne $v1, $v0, .L80240BE4 +/* A4FBD0 80240BD0 0260202D */ daddu $a0, $s3, $zero +/* A4FBD4 80240BD4 3C05FE36 */ lui $a1, 0xfe36 +/* A4FBD8 80240BD8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4FBDC 80240BDC 080903CA */ j .L80240F28 +/* A4FBE0 80240BE0 0000302D */ daddu $a2, $zero, $zero +.L80240BE4: +/* A4FBE4 80240BE4 86240008 */ lh $a0, 8($s1) +/* A4FBE8 80240BE8 0C00FB5A */ jal get_enemy_safe +/* A4FBEC 80240BEC 00000000 */ nop +/* A4FBF0 80240BF0 14400005 */ bnez $v0, .L80240C08 +/* A4FBF4 80240BF4 0260202D */ daddu $a0, $s3, $zero +/* A4FBF8 80240BF8 3C05FE36 */ lui $a1, 0xfe36 +/* A4FBFC 80240BFC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4FC00 80240C00 080903CA */ j .L80240F28 +/* A4FC04 80240C04 0000302D */ daddu $a2, $zero, $zero +.L80240C08: +/* A4FC08 80240C08 86240008 */ lh $a0, 8($s1) +/* A4FC0C 80240C0C 0C00EABB */ jal get_npc_unsafe +/* A4FC10 80240C10 00000000 */ nop +/* A4FC14 80240C14 8E630070 */ lw $v1, 0x70($s3) +/* A4FC18 80240C18 10600006 */ beqz $v1, .L80240C34 +/* A4FC1C 80240C1C 0040802D */ daddu $s0, $v0, $zero +/* A4FC20 80240C20 24020001 */ addiu $v0, $zero, 1 +/* A4FC24 80240C24 1062003F */ beq $v1, $v0, .L80240D24 +/* A4FC28 80240C28 0000102D */ daddu $v0, $zero, $zero +/* A4FC2C 80240C2C 080903DA */ j .L80240F68 +/* A4FC30 80240C30 00000000 */ nop +.L80240C34: +/* A4FC34 80240C34 AFA00010 */ sw $zero, 0x10($sp) +/* A4FC38 80240C38 AFA00014 */ sw $zero, 0x14($sp) +/* A4FC3C 80240C3C 8E050038 */ lw $a1, 0x38($s0) +/* A4FC40 80240C40 8E06003C */ lw $a2, 0x3c($s0) +/* A4FC44 80240C44 8E070040 */ lw $a3, 0x40($s0) +/* A4FC48 80240C48 0C01BECC */ jal fx_walk_normal +/* A4FC4C 80240C4C 24040002 */ addiu $a0, $zero, 2 +/* A4FC50 80240C50 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A4FC54 80240C54 0C00A6C9 */ jal clamp_angle +/* A4FC58 80240C58 00000000 */ nop +/* A4FC5C 80240C5C 3C018024 */ lui $at, 0x8024 +/* A4FC60 80240C60 D43827D0 */ ldc1 $f24, 0x27d0($at) +/* A4FC64 80240C64 46000521 */ cvt.d.s $f20, $f0 +/* A4FC68 80240C68 4638A300 */ add.d $f12, $f20, $f24 +/* A4FC6C 80240C6C 3C018024 */ lui $at, 0x8024 +/* A4FC70 80240C70 D43627D8 */ ldc1 $f22, 0x27d8($at) +/* A4FC74 80240C74 0C00A6C9 */ jal clamp_angle +/* A4FC78 80240C78 46206320 */ cvt.s.d $f12, $f12 +/* A4FC7C 80240C7C 4636A500 */ add.d $f20, $f20, $f22 +/* A4FC80 80240C80 4620A320 */ cvt.s.d $f12, $f20 +/* A4FC84 80240C84 0C00A6C9 */ jal clamp_angle +/* A4FC88 80240C88 46000506 */ mov.s $f20, $f0 +/* A4FC8C 80240C8C 4600A521 */ cvt.d.s $f20, $f20 +/* A4FC90 80240C90 4636A500 */ add.d $f20, $f20, $f22 +/* A4FC94 80240C94 46000586 */ mov.s $f22, $f0 +/* A4FC98 80240C98 0C00A6C9 */ jal clamp_angle +/* A4FC9C 80240C9C 4620A320 */ cvt.s.d $f12, $f20 +/* A4FCA0 80240CA0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A4FCA4 80240CA4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A4FCA8 80240CA8 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A4FCAC 80240CAC C44E0084 */ lwc1 $f14, 0x84($v0) +/* A4FCB0 80240CB0 0C00A70A */ jal get_clamped_angle_diff +/* A4FCB4 80240CB4 46000506 */ mov.s $f20, $f0 +/* A4FCB8 80240CB8 0C00A6C9 */ jal clamp_angle +/* A4FCBC 80240CBC 46000306 */ mov.s $f12, $f0 +/* A4FCC0 80240CC0 46000021 */ cvt.d.s $f0, $f0 +/* A4FCC4 80240CC4 4638003C */ c.lt.d $f0, $f24 +/* A4FCC8 80240CC8 00000000 */ nop +/* A4FCCC 80240CCC 45020002 */ bc1fl .L80240CD8 +/* A4FCD0 80240CD0 E614000C */ swc1 $f20, 0xc($s0) +/* A4FCD4 80240CD4 E616000C */ swc1 $f22, 0xc($s0) +.L80240CD8: +/* A4FCD8 80240CD8 C6000018 */ lwc1 $f0, 0x18($s0) +/* A4FCDC 80240CDC 3C018024 */ lui $at, 0x8024 +/* A4FCE0 80240CE0 D42227E0 */ ldc1 $f2, 0x27e0($at) +/* A4FCE4 80240CE4 46000021 */ cvt.d.s $f0, $f0 +/* A4FCE8 80240CE8 46220002 */ mul.d $f0, $f0, $f2 +/* A4FCEC 80240CEC 00000000 */ nop +/* A4FCF0 80240CF0 3C013F66 */ lui $at, 0x3f66 +/* A4FCF4 80240CF4 34216666 */ ori $at, $at, 0x6666 +/* A4FCF8 80240CF8 44812000 */ mtc1 $at, $f4 +/* A4FCFC 80240CFC 2402001E */ addiu $v0, $zero, 0x1e +/* A4FD00 80240D00 A602008E */ sh $v0, 0x8e($s0) +/* A4FD04 80240D04 3C014120 */ lui $at, 0x4120 +/* A4FD08 80240D08 44811000 */ mtc1 $at, $f2 +/* A4FD0C 80240D0C 24020001 */ addiu $v0, $zero, 1 +/* A4FD10 80240D10 E6040014 */ swc1 $f4, 0x14($s0) +/* A4FD14 80240D14 E602001C */ swc1 $f2, 0x1c($s0) +/* A4FD18 80240D18 46200020 */ cvt.s.d $f0, $f0 +/* A4FD1C 80240D1C E6000018 */ swc1 $f0, 0x18($s0) +/* A4FD20 80240D20 AE620070 */ sw $v0, 0x70($s3) +.L80240D24: +/* A4FD24 80240D24 C6000038 */ lwc1 $f0, 0x38($s0) +/* A4FD28 80240D28 C602003C */ lwc1 $f2, 0x3c($s0) +/* A4FD2C 80240D2C C6040040 */ lwc1 $f4, 0x40($s0) +/* A4FD30 80240D30 C6060018 */ lwc1 $f6, 0x18($s0) +/* A4FD34 80240D34 0000202D */ daddu $a0, $zero, $zero +/* A4FD38 80240D38 E7A00020 */ swc1 $f0, 0x20($sp) +/* A4FD3C 80240D3C E7A20024 */ swc1 $f2, 0x24($sp) +/* A4FD40 80240D40 E7A40028 */ swc1 $f4, 0x28($sp) +/* A4FD44 80240D44 E7A60010 */ swc1 $f6, 0x10($sp) +/* A4FD48 80240D48 C600000C */ lwc1 $f0, 0xc($s0) +/* A4FD4C 80240D4C 27A50020 */ addiu $a1, $sp, 0x20 +/* A4FD50 80240D50 E7A00014 */ swc1 $f0, 0x14($sp) +/* A4FD54 80240D54 860200A6 */ lh $v0, 0xa6($s0) +/* A4FD58 80240D58 27A60024 */ addiu $a2, $sp, 0x24 +/* A4FD5C 80240D5C 44820000 */ mtc1 $v0, $f0 +/* A4FD60 80240D60 00000000 */ nop +/* A4FD64 80240D64 46800020 */ cvt.s.w $f0, $f0 +/* A4FD68 80240D68 E7A00018 */ swc1 $f0, 0x18($sp) +/* A4FD6C 80240D6C 860200A8 */ lh $v0, 0xa8($s0) +/* A4FD70 80240D70 27A70028 */ addiu $a3, $sp, 0x28 +/* A4FD74 80240D74 44820000 */ mtc1 $v0, $f0 +/* A4FD78 80240D78 00000000 */ nop +/* A4FD7C 80240D7C 46800020 */ cvt.s.w $f0, $f0 +/* A4FD80 80240D80 0C037711 */ jal func_800DDC44 +/* A4FD84 80240D84 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A4FD88 80240D88 54400007 */ bnel $v0, $zero, .L80240DA8 +/* A4FD8C 80240D8C 24140001 */ addiu $s4, $zero, 1 +/* A4FD90 80240D90 8E050018 */ lw $a1, 0x18($s0) +/* A4FD94 80240D94 8E06000C */ lw $a2, 0xc($s0) +/* A4FD98 80240D98 0C00EA95 */ jal npc_move_heading +/* A4FD9C 80240D9C 0200202D */ daddu $a0, $s0, $zero +/* A4FDA0 80240DA0 0809036B */ j .L80240DAC +/* A4FDA4 80240DA4 0000902D */ daddu $s2, $zero, $zero +.L80240DA8: +/* A4FDA8 80240DA8 0000902D */ daddu $s2, $zero, $zero +.L80240DAC: +/* A4FDAC 80240DAC C600001C */ lwc1 $f0, 0x1c($s0) +/* A4FDB0 80240DB0 44801000 */ mtc1 $zero, $f2 +/* A4FDB4 80240DB4 44801800 */ mtc1 $zero, $f3 +/* A4FDB8 80240DB8 46000021 */ cvt.d.s $f0, $f0 +/* A4FDBC 80240DBC 4622003C */ c.lt.d $f0, $f2 +/* A4FDC0 80240DC0 00000000 */ nop +/* A4FDC4 80240DC4 45000028 */ bc1f .L80240E68 +/* A4FDC8 80240DC8 27A50020 */ addiu $a1, $sp, 0x20 +/* A4FDCC 80240DCC 27A60024 */ addiu $a2, $sp, 0x24 +/* A4FDD0 80240DD0 27A2002C */ addiu $v0, $sp, 0x2c +/* A4FDD4 80240DD4 C602003C */ lwc1 $f2, 0x3c($s0) +/* A4FDD8 80240DD8 C6060038 */ lwc1 $f6, 0x38($s0) +/* A4FDDC 80240DDC 3C01402A */ lui $at, 0x402a +/* A4FDE0 80240DE0 4481A800 */ mtc1 $at, $f21 +/* A4FDE4 80240DE4 4480A000 */ mtc1 $zero, $f20 +/* A4FDE8 80240DE8 460010A1 */ cvt.d.s $f2, $f2 +/* A4FDEC 80240DEC 46341080 */ add.d $f2, $f2, $f20 +/* A4FDF0 80240DF0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A4FDF4 80240DF4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A4FDF8 80240DF8 46000005 */ abs.s $f0, $f0 +/* A4FDFC 80240DFC E7A40028 */ swc1 $f4, 0x28($sp) +/* A4FE00 80240E00 3C014030 */ lui $at, 0x4030 +/* A4FE04 80240E04 44812800 */ mtc1 $at, $f5 +/* A4FE08 80240E08 44802000 */ mtc1 $zero, $f4 +/* A4FE0C 80240E0C 46000021 */ cvt.d.s $f0, $f0 +/* A4FE10 80240E10 E7A60020 */ swc1 $f6, 0x20($sp) +/* A4FE14 80240E14 46240000 */ add.d $f0, $f0, $f4 +/* A4FE18 80240E18 462010A0 */ cvt.s.d $f2, $f2 +/* A4FE1C 80240E1C E7A20024 */ swc1 $f2, 0x24($sp) +/* A4FE20 80240E20 46200020 */ cvt.s.d $f0, $f0 +/* A4FE24 80240E24 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A4FE28 80240E28 AFA20010 */ sw $v0, 0x10($sp) +/* A4FE2C 80240E2C 8E040080 */ lw $a0, 0x80($s0) +/* A4FE30 80240E30 0C0372DF */ jal func_800DCB7C +/* A4FE34 80240E34 27A70028 */ addiu $a3, $sp, 0x28 +/* A4FE38 80240E38 1040000B */ beqz $v0, .L80240E68 +/* A4FE3C 80240E3C 00000000 */ nop +/* A4FE40 80240E40 C600001C */ lwc1 $f0, 0x1c($s0) +/* A4FE44 80240E44 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A4FE48 80240E48 46000005 */ abs.s $f0, $f0 +/* A4FE4C 80240E4C 46000021 */ cvt.d.s $f0, $f0 +/* A4FE50 80240E50 46340000 */ add.d $f0, $f0, $f20 +/* A4FE54 80240E54 460010A1 */ cvt.d.s $f2, $f2 +/* A4FE58 80240E58 4620103E */ c.le.d $f2, $f0 +/* A4FE5C 80240E5C 00000000 */ nop +/* A4FE60 80240E60 45030001 */ bc1tl .L80240E68 +/* A4FE64 80240E64 24120001 */ addiu $s2, $zero, 1 +.L80240E68: +/* A4FE68 80240E68 56400008 */ bnel $s2, $zero, .L80240E8C +/* A4FE6C 80240E6C 2414000A */ addiu $s4, $zero, 0xa +/* A4FE70 80240E70 C604003C */ lwc1 $f4, 0x3c($s0) +/* A4FE74 80240E74 C600001C */ lwc1 $f0, 0x1c($s0) +/* A4FE78 80240E78 46002100 */ add.s $f4, $f4, $f0 +/* A4FE7C 80240E7C C6020014 */ lwc1 $f2, 0x14($s0) +/* A4FE80 80240E80 46020001 */ sub.s $f0, $f0, $f2 +/* A4FE84 80240E84 E604003C */ swc1 $f4, 0x3c($s0) +/* A4FE88 80240E88 E600001C */ swc1 $f0, 0x1c($s0) +.L80240E8C: +/* A4FE8C 80240E8C 9602008E */ lhu $v0, 0x8e($s0) +/* A4FE90 80240E90 2442FFFF */ addiu $v0, $v0, -1 +/* A4FE94 80240E94 A602008E */ sh $v0, 0x8e($s0) +/* A4FE98 80240E98 00021400 */ sll $v0, $v0, 0x10 +/* A4FE9C 80240E9C 58400001 */ blezl $v0, .L80240EA4 +/* A4FEA0 80240EA0 2414000B */ addiu $s4, $zero, 0xb +.L80240EA4: +/* A4FEA4 80240EA4 12800024 */ beqz $s4, .L80240F38 +/* A4FEA8 80240EA8 00000000 */ nop +/* A4FEAC 80240EAC AFA00010 */ sw $zero, 0x10($sp) +/* A4FEB0 80240EB0 AFA00014 */ sw $zero, 0x14($sp) +/* A4FEB4 80240EB4 8E050038 */ lw $a1, 0x38($s0) +/* A4FEB8 80240EB8 8E06003C */ lw $a2, 0x3c($s0) +/* A4FEBC 80240EBC 8E070040 */ lw $a3, 0x40($s0) +/* A4FEC0 80240EC0 0C01BECC */ jal fx_walk_normal +/* A4FEC4 80240EC4 24040002 */ addiu $a0, $zero, 2 +/* A4FEC8 80240EC8 3C01C47A */ lui $at, 0xc47a +/* A4FECC 80240ECC 44810000 */ mtc1 $at, $f0 +/* A4FED0 80240ED0 AE20006C */ sw $zero, 0x6c($s1) +/* A4FED4 80240ED4 8E020000 */ lw $v0, ($s0) +/* A4FED8 80240ED8 0200202D */ daddu $a0, $s0, $zero +/* A4FEDC 80240EDC AE000038 */ sw $zero, 0x38($s0) +/* A4FEE0 80240EE0 AE000040 */ sw $zero, 0x40($s0) +/* A4FEE4 80240EE4 34420002 */ ori $v0, $v0, 2 +/* A4FEE8 80240EE8 E600003C */ swc1 $f0, 0x3c($s0) +/* A4FEEC 80240EEC 0C00EAFF */ jal disable_npc_shadow +/* A4FEF0 80240EF0 AE020000 */ sw $v0, ($s0) +/* A4FEF4 80240EF4 0260202D */ daddu $a0, $s3, $zero +/* A4FEF8 80240EF8 3C05FE36 */ lui $a1, 0xfe36 +/* A4FEFC 80240EFC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A4FF00 80240F00 24060001 */ addiu $a2, $zero, 1 +/* A4FF04 80240F04 8E020000 */ lw $v0, ($s0) +/* A4FF08 80240F08 2403F7FF */ addiu $v1, $zero, -0x801 +/* A4FF0C 80240F0C 00431024 */ and $v0, $v0, $v1 +/* A4FF10 80240F10 AE020000 */ sw $v0, ($s0) +/* A4FF14 80240F14 8E220000 */ lw $v0, ($s1) +/* A4FF18 80240F18 3C031F00 */ lui $v1, 0x1f00 +/* A4FF1C 80240F1C 00431025 */ or $v0, $v0, $v1 +/* A4FF20 80240F20 AE220000 */ sw $v0, ($s1) +/* A4FF24 80240F24 AC800070 */ sw $zero, 0x70($a0) +.L80240F28: +/* A4FF28 80240F28 0C0B2026 */ jal set_variable +/* A4FF2C 80240F2C 00000000 */ nop +/* A4FF30 80240F30 080903DA */ j .L80240F68 +/* A4FF34 80240F34 24020002 */ addiu $v0, $zero, 2 +.L80240F38: +/* A4FF38 80240F38 8E220070 */ lw $v0, 0x70($s1) +/* A4FF3C 80240F3C 30420001 */ andi $v0, $v0, 1 +/* A4FF40 80240F40 10400009 */ beqz $v0, .L80240F68 +/* A4FF44 80240F44 0000102D */ daddu $v0, $zero, $zero +/* A4FF48 80240F48 C600004C */ lwc1 $f0, 0x4c($s0) +/* A4FF4C 80240F4C 3C01404E */ lui $at, 0x404e +/* A4FF50 80240F50 44811800 */ mtc1 $at, $f3 +/* A4FF54 80240F54 44801000 */ mtc1 $zero, $f2 +/* A4FF58 80240F58 46000021 */ cvt.d.s $f0, $f0 +/* A4FF5C 80240F5C 46220000 */ add.d $f0, $f0, $f2 +/* A4FF60 80240F60 46200020 */ cvt.s.d $f0, $f0 +/* A4FF64 80240F64 E600004C */ swc1 $f0, 0x4c($s0) +.L80240F68: +/* A4FF68 80240F68 8FBF0044 */ lw $ra, 0x44($sp) +/* A4FF6C 80240F6C 8FB40040 */ lw $s4, 0x40($sp) +/* A4FF70 80240F70 8FB3003C */ lw $s3, 0x3c($sp) +/* A4FF74 80240F74 8FB20038 */ lw $s2, 0x38($sp) +/* A4FF78 80240F78 8FB10034 */ lw $s1, 0x34($sp) +/* A4FF7C 80240F7C 8FB00030 */ lw $s0, 0x30($sp) +/* A4FF80 80240F80 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A4FF84 80240F84 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A4FF88 80240F88 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A4FF8C 80240F8C 03E00008 */ jr $ra +/* A4FF90 80240F90 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_80240F94.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240F94.s new file mode 100644 index 0000000000..fce55efe20 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_80240F94.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F94 +/* A4FF94 80240F94 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A4FF98 80240F98 AFB3003C */ sw $s3, 0x3c($sp) +/* A4FF9C 80240F9C 0080982D */ daddu $s3, $a0, $zero +/* A4FFA0 80240FA0 AFBF0048 */ sw $ra, 0x48($sp) +/* A4FFA4 80240FA4 AFB50044 */ sw $s5, 0x44($sp) +/* A4FFA8 80240FA8 AFB40040 */ sw $s4, 0x40($sp) +/* A4FFAC 80240FAC AFB20038 */ sw $s2, 0x38($sp) +/* A4FFB0 80240FB0 AFB10034 */ sw $s1, 0x34($sp) +/* A4FFB4 80240FB4 AFB00030 */ sw $s0, 0x30($sp) +/* A4FFB8 80240FB8 8E720148 */ lw $s2, 0x148($s3) +/* A4FFBC 80240FBC 86440008 */ lh $a0, 8($s2) +/* A4FFC0 80240FC0 8E70000C */ lw $s0, 0xc($s3) +/* A4FFC4 80240FC4 0C00EABB */ jal get_npc_unsafe +/* A4FFC8 80240FC8 00A0882D */ daddu $s1, $a1, $zero +/* A4FFCC 80240FCC 0260202D */ daddu $a0, $s3, $zero +/* A4FFD0 80240FD0 8E050000 */ lw $a1, ($s0) +/* A4FFD4 80240FD4 0C0B1EAF */ jal get_variable +/* A4FFD8 80240FD8 0040A02D */ daddu $s4, $v0, $zero +/* A4FFDC 80240FDC AFA00010 */ sw $zero, 0x10($sp) +/* A4FFE0 80240FE0 8E4300D0 */ lw $v1, 0xd0($s2) +/* A4FFE4 80240FE4 8C630030 */ lw $v1, 0x30($v1) +/* A4FFE8 80240FE8 AFA30014 */ sw $v1, 0x14($sp) +/* A4FFEC 80240FEC 8E4300D0 */ lw $v1, 0xd0($s2) +/* A4FFF0 80240FF0 8C63001C */ lw $v1, 0x1c($v1) +/* A4FFF4 80240FF4 AFA30018 */ sw $v1, 0x18($sp) +/* A4FFF8 80240FF8 8E4300D0 */ lw $v1, 0xd0($s2) +/* A4FFFC 80240FFC 8C630024 */ lw $v1, 0x24($v1) +/* A50000 80241000 AFA3001C */ sw $v1, 0x1c($sp) +/* A50004 80241004 8E4300D0 */ lw $v1, 0xd0($s2) +/* A50008 80241008 8C630028 */ lw $v1, 0x28($v1) +/* A5000C 8024100C 27B50010 */ addiu $s5, $sp, 0x10 +/* A50010 80241010 AFA30020 */ sw $v1, 0x20($sp) +/* A50014 80241014 8E4300D0 */ lw $v1, 0xd0($s2) +/* A50018 80241018 3C014220 */ lui $at, 0x4220 +/* A5001C 8024101C 44810000 */ mtc1 $at, $f0 +/* A50020 80241020 8C63002C */ lw $v1, 0x2c($v1) +/* A50024 80241024 0040802D */ daddu $s0, $v0, $zero +/* A50028 80241028 E7A00028 */ swc1 $f0, 0x28($sp) +/* A5002C 8024102C A7A0002C */ sh $zero, 0x2c($sp) +/* A50030 80241030 16200005 */ bnez $s1, .L80241048 +/* A50034 80241034 AFA30024 */ sw $v1, 0x24($sp) +/* A50038 80241038 8E4200B0 */ lw $v0, 0xb0($s2) +/* A5003C 8024103C 30420004 */ andi $v0, $v0, 4 +/* A50040 80241040 1040002F */ beqz $v0, .L80241100 +/* A50044 80241044 00000000 */ nop +.L80241048: +/* A50048 80241048 2404F7FF */ addiu $a0, $zero, -0x801 +/* A5004C 8024104C AE600070 */ sw $zero, 0x70($s3) +/* A50050 80241050 A680008E */ sh $zero, 0x8e($s4) +/* A50054 80241054 8E4200CC */ lw $v0, 0xcc($s2) +/* A50058 80241058 8E830000 */ lw $v1, ($s4) +/* A5005C 8024105C 8C420000 */ lw $v0, ($v0) +/* A50060 80241060 00641824 */ and $v1, $v1, $a0 +/* A50064 80241064 AE830000 */ sw $v1, ($s4) +/* A50068 80241068 AE820028 */ sw $v0, 0x28($s4) +/* A5006C 8024106C 8E4200D0 */ lw $v0, 0xd0($s2) +/* A50070 80241070 8C420034 */ lw $v0, 0x34($v0) +/* A50074 80241074 54400005 */ bnel $v0, $zero, .L8024108C +/* A50078 80241078 2402FDFF */ addiu $v0, $zero, -0x201 +/* A5007C 8024107C 34620200 */ ori $v0, $v1, 0x200 +/* A50080 80241080 2403FFF7 */ addiu $v1, $zero, -9 +/* A50084 80241084 08090425 */ j .L80241094 +/* A50088 80241088 00431024 */ and $v0, $v0, $v1 +.L8024108C: +/* A5008C 8024108C 00621024 */ and $v0, $v1, $v0 +/* A50090 80241090 34420008 */ ori $v0, $v0, 8 +.L80241094: +/* A50094 80241094 AE820000 */ sw $v0, ($s4) +/* A50098 80241098 8E4200B0 */ lw $v0, 0xb0($s2) +/* A5009C 8024109C 30420004 */ andi $v0, $v0, 4 +/* A500A0 802410A0 10400008 */ beqz $v0, .L802410C4 +/* A500A4 802410A4 24020063 */ addiu $v0, $zero, 0x63 +/* A500A8 802410A8 AE620070 */ sw $v0, 0x70($s3) +/* A500AC 802410AC AE600074 */ sw $zero, 0x74($s3) +/* A500B0 802410B0 8E4200B0 */ lw $v0, 0xb0($s2) +/* A500B4 802410B4 2403FFFB */ addiu $v1, $zero, -5 +/* A500B8 802410B8 00431024 */ and $v0, $v0, $v1 +/* A500BC 802410BC 08090437 */ j .L802410DC +/* A500C0 802410C0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802410C4: +/* A500C4 802410C4 8E420000 */ lw $v0, ($s2) +/* A500C8 802410C8 3C034000 */ lui $v1, 0x4000 +/* A500CC 802410CC 00431024 */ and $v0, $v0, $v1 +/* A500D0 802410D0 10400002 */ beqz $v0, .L802410DC +/* A500D4 802410D4 2402000C */ addiu $v0, $zero, 0xc +/* A500D8 802410D8 AE620070 */ sw $v0, 0x70($s3) +.L802410DC: +/* A500DC 802410DC 3C05BFFF */ lui $a1, 0xbfff +/* A500E0 802410E0 34A5FFFF */ ori $a1, $a1, 0xffff +/* A500E4 802410E4 2404FFFB */ addiu $a0, $zero, -5 +/* A500E8 802410E8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A500EC 802410EC 8E430000 */ lw $v1, ($s2) +/* A500F0 802410F0 00441024 */ and $v0, $v0, $a0 +/* A500F4 802410F4 00651824 */ and $v1, $v1, $a1 +/* A500F8 802410F8 AE4200B0 */ sw $v0, 0xb0($s2) +/* A500FC 802410FC AE430000 */ sw $v1, ($s2) +.L80241100: +/* A50100 80241100 8E630070 */ lw $v1, 0x70($s3) +/* A50104 80241104 2C620064 */ sltiu $v0, $v1, 0x64 +/* A50108 80241108 10400060 */ beqz $v0, .L8024128C +/* A5010C 8024110C 00031080 */ sll $v0, $v1, 2 +/* A50110 80241110 3C018024 */ lui $at, 0x8024 +/* A50114 80241114 00220821 */ addu $at, $at, $v0 +/* A50118 80241118 8C2227E8 */ lw $v0, 0x27e8($at) +/* A5011C 8024111C 00400008 */ jr $v0 +/* A50120 80241120 00000000 */ nop +/* A50124 80241124 0260202D */ daddu $a0, $s3, $zero +/* A50128 80241128 0200282D */ daddu $a1, $s0, $zero +/* A5012C 8024112C 0C012568 */ jal func_800495A0 +/* A50130 80241130 02A0302D */ daddu $a2, $s5, $zero +/* A50134 80241134 0260202D */ daddu $a0, $s3, $zero +/* A50138 80241138 0200282D */ daddu $a1, $s0, $zero +/* A5013C 8024113C 0C0125AE */ jal func_800496B8 +/* A50140 80241140 02A0302D */ daddu $a2, $s5, $zero +/* A50144 80241144 080904A3 */ j .L8024128C +/* A50148 80241148 00000000 */ nop +/* A5014C 8024114C 0260202D */ daddu $a0, $s3, $zero +/* A50150 80241150 0200282D */ daddu $a1, $s0, $zero +/* A50154 80241154 0C0126D1 */ jal func_80049B44 +/* A50158 80241158 02A0302D */ daddu $a2, $s5, $zero +/* A5015C 8024115C 0260202D */ daddu $a0, $s3, $zero +/* A50160 80241160 0200282D */ daddu $a1, $s0, $zero +/* A50164 80241164 0C012701 */ jal func_80049C04 +/* A50168 80241168 02A0302D */ daddu $a2, $s5, $zero +/* A5016C 8024116C 080904A3 */ j .L8024128C +/* A50170 80241170 00000000 */ nop +/* A50174 80241174 0260202D */ daddu $a0, $s3, $zero +/* A50178 80241178 0200282D */ daddu $a1, $s0, $zero +/* A5017C 8024117C 0C01278F */ jal func_80049E3C +/* A50180 80241180 02A0302D */ daddu $a2, $s5, $zero +/* A50184 80241184 0260202D */ daddu $a0, $s3, $zero +/* A50188 80241188 0200282D */ daddu $a1, $s0, $zero +/* A5018C 8024118C 0C0127B3 */ jal func_80049ECC +/* A50190 80241190 02A0302D */ daddu $a2, $s5, $zero +/* A50194 80241194 080904A3 */ j .L8024128C +/* A50198 80241198 00000000 */ nop +/* A5019C 8024119C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A501A0 802411A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A501A4 802411A4 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A501A8 802411A8 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A501AC 802411AC 8C460028 */ lw $a2, 0x28($v0) +/* A501B0 802411B0 0C00A7B5 */ jal dist2D +/* A501B4 802411B4 8C470030 */ lw $a3, 0x30($v0) +/* A501B8 802411B8 8E42006C */ lw $v0, 0x6c($s2) +/* A501BC 802411BC 10400008 */ beqz $v0, .L802411E0 +/* A501C0 802411C0 46000086 */ mov.s $f2, $f0 +/* A501C4 802411C4 44820000 */ mtc1 $v0, $f0 +/* A501C8 802411C8 00000000 */ nop +/* A501CC 802411CC 46800020 */ cvt.s.w $f0, $f0 +/* A501D0 802411D0 4602003C */ c.lt.s $f0, $f2 +/* A501D4 802411D4 00000000 */ nop +/* A501D8 802411D8 4500000B */ bc1f .L80241208 +/* A501DC 802411DC 0260202D */ daddu $a0, $s3, $zero +.L802411E0: +/* A501E0 802411E0 0260202D */ daddu $a0, $s3, $zero +/* A501E4 802411E4 8E050024 */ lw $a1, 0x24($s0) +/* A501E8 802411E8 8E060028 */ lw $a2, 0x28($s0) +/* A501EC 802411EC 0C0900A4 */ jal func_80240290 +/* A501F0 802411F0 02A0382D */ daddu $a3, $s5, $zero +/* A501F4 802411F4 8E630070 */ lw $v1, 0x70($s3) +/* A501F8 802411F8 2402000C */ addiu $v0, $zero, 0xc +/* A501FC 802411FC 14620023 */ bne $v1, $v0, .L8024128C +/* A50200 80241200 00000000 */ nop +/* A50204 80241204 0260202D */ daddu $a0, $s3, $zero +.L80241208: +/* A50208 80241208 0200282D */ daddu $a1, $s0, $zero +/* A5020C 8024120C 0C0127DF */ jal func_80049F7C +/* A50210 80241210 02A0302D */ daddu $a2, $s5, $zero +/* A50214 80241214 0260202D */ daddu $a0, $s3, $zero +/* A50218 80241218 0200282D */ daddu $a1, $s0, $zero +/* A5021C 8024121C 0C012849 */ jal func_8004A124 +/* A50220 80241220 02A0302D */ daddu $a2, $s5, $zero +/* A50224 80241224 080904A3 */ j .L8024128C +/* A50228 80241228 00000000 */ nop +/* A5022C 8024122C 0260202D */ daddu $a0, $s3, $zero +/* A50230 80241230 0200282D */ daddu $a1, $s0, $zero +/* A50234 80241234 0C0128FA */ jal func_8004A3E8 +/* A50238 80241238 02A0302D */ daddu $a2, $s5, $zero +/* A5023C 8024123C 080904A3 */ j .L8024128C +/* A50240 80241240 00000000 */ nop +/* A50244 80241244 0C0900F5 */ jal func_802403D4 +/* A50248 80241248 0260202D */ daddu $a0, $s3, $zero +/* A5024C 8024124C 080904A3 */ j .L8024128C +/* A50250 80241250 00000000 */ nop +/* A50254 80241254 0C090135 */ jal func_802404D4 +/* A50258 80241258 0260202D */ daddu $a0, $s3, $zero +/* A5025C 8024125C 080904A3 */ j .L8024128C +/* A50260 80241260 00000000 */ nop +/* A50264 80241264 0C090146 */ jal func_80240518 +/* A50268 80241268 0260202D */ daddu $a0, $s3, $zero +/* A5026C 8024126C 080904A3 */ j .L8024128C +/* A50270 80241270 00000000 */ nop +/* A50274 80241274 0C09016E */ jal func_802405B8 +/* A50278 80241278 0260202D */ daddu $a0, $s3, $zero +/* A5027C 8024127C 080904A3 */ j .L8024128C +/* A50280 80241280 00000000 */ nop +/* A50284 80241284 0C0129CF */ jal func_8004A73C +/* A50288 80241288 0260202D */ daddu $a0, $s3, $zero +.L8024128C: +/* A5028C 8024128C 8FBF0048 */ lw $ra, 0x48($sp) +/* A50290 80241290 8FB50044 */ lw $s5, 0x44($sp) +/* A50294 80241294 8FB40040 */ lw $s4, 0x40($sp) +/* A50298 80241298 8FB3003C */ lw $s3, 0x3c($sp) +/* A5029C 8024129C 8FB20038 */ lw $s2, 0x38($sp) +/* A502A0 802412A0 8FB10034 */ lw $s1, 0x34($sp) +/* A502A4 802412A4 8FB00030 */ lw $s0, 0x30($sp) +/* A502A8 802412A8 0000102D */ daddu $v0, $zero, $zero +/* A502AC 802412AC 03E00008 */ jr $ra +/* A502B0 802412B0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_09/func_802412B4.s b/asm/nonmatchings/world/area_kpa/kpa_09/func_802412B4.s new file mode 100644 index 0000000000..c09e2a23fb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_09/func_802412B4.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B4 +/* A502B4 802412B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A502B8 802412B8 3C05FE36 */ lui $a1, 0xfe36 +/* A502BC 802412BC AFBF0010 */ sw $ra, 0x10($sp) +/* A502C0 802412C0 8C820148 */ lw $v0, 0x148($a0) +/* A502C4 802412C4 3C06800B */ lui $a2, 0x800b +/* A502C8 802412C8 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A502CC 802412CC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A502D0 802412D0 00C23026 */ xor $a2, $a2, $v0 +/* A502D4 802412D4 0C0B2026 */ jal set_variable +/* A502D8 802412D8 2CC60001 */ sltiu $a2, $a2, 1 +/* A502DC 802412DC 8FBF0010 */ lw $ra, 0x10($sp) +/* A502E0 802412E0 24020002 */ addiu $v0, $zero, 2 +/* A502E4 802412E4 03E00008 */ jr $ra +/* A502E8 802412E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A502EC 802412EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_10/func_80240000_A51980.s b/asm/nonmatchings/world/area_kpa/kpa_10/func_80240000_A51980.s new file mode 100644 index 0000000000..c759f5ed1a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_10/func_80240000_A51980.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A51980 +/* A51980 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A51984 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A51988 80240008 0080802D */ daddu $s0, $a0, $zero +/* A5198C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A51990 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A51994 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A51998 80240018 00621821 */ addu $v1, $v1, $v0 +/* A5199C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A519A0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A519A4 80240024 3C020002 */ lui $v0, 2 +/* A519A8 80240028 08090010 */ j .L80240040 +/* A519AC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A519B0 80240030 3C040002 */ lui $a0, 2 +/* A519B4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A519B8 80240038 10400002 */ beqz $v0, .L80240044 +/* A519BC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A519C0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A519C4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A519C8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A519CC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A519D0 80240050 04610004 */ bgez $v1, .L80240064 +/* A519D4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A519D8 80240058 3C020002 */ lui $v0, 2 +/* A519DC 8024005C 0809001D */ j .L80240074 +/* A519E0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A519E4 80240064 3C040002 */ lui $a0, 2 +/* A519E8 80240068 0083102A */ slt $v0, $a0, $v1 +/* A519EC 8024006C 10400002 */ beqz $v0, .L80240078 +/* A519F0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A519F4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A519F8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A519FC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A51A00 80240080 00621821 */ addu $v1, $v1, $v0 +/* A51A04 80240084 04610004 */ bgez $v1, .L80240098 +/* A51A08 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A51A0C 8024008C 3C020002 */ lui $v0, 2 +/* A51A10 80240090 0809002A */ j .L802400A8 +/* A51A14 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A51A18 80240098 3C040002 */ lui $a0, 2 +/* A51A1C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A51A20 802400A0 10400002 */ beqz $v0, .L802400AC +/* A51A24 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A51A28 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A51A2C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A51A30 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A51A34 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A51A38 802400B8 04610004 */ bgez $v1, .L802400CC +/* A51A3C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A51A40 802400C0 3C020002 */ lui $v0, 2 +/* A51A44 802400C4 08090037 */ j .L802400DC +/* A51A48 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A51A4C 802400CC 3C040002 */ lui $a0, 2 +/* A51A50 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A51A54 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A51A58 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A51A5C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A51A60 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A51A64 802400E4 0C046F07 */ jal set_main_pan_u +/* A51A68 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A51A6C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A51A70 802400F0 0C046F0D */ jal set_main_pan_v +/* A51A74 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A51A78 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A51A7C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A51A80 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A51A84 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A51A88 80240108 0C046F19 */ jal set_aux_pan_v +/* A51A8C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A51A90 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A51A94 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A51A98 80240118 0000102D */ daddu $v0, $zero, $zero +/* A51A9C 8024011C 03E00008 */ jr $ra +/* A51AA0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_10/func_80240124_A51980.s b/asm/nonmatchings/world/area_kpa/kpa_10/func_80240124_A51980.s new file mode 100644 index 0000000000..06c02d2453 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_10/func_80240124_A51980.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A51AA4 +/* A51AA4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A51AA8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A51AAC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A51AB0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A51AB4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A51AB8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A51ABC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A51AC0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A51AC4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A51AC8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A51ACC 8024014C 1440000E */ bnez $v0, .L80240188 +/* A51AD0 80240150 00000000 */ nop +/* A51AD4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A51AD8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A51ADC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A51AE0 80240160 04610004 */ bgez $v1, .L80240174 +/* A51AE4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A51AE8 80240168 3C020002 */ lui $v0, 2 +/* A51AEC 8024016C 08090061 */ j .L80240184 +/* A51AF0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A51AF4 80240174 3C040002 */ lui $a0, 2 +/* A51AF8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A51AFC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A51B00 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A51B04 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A51B08 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A51B0C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A51B10 80240190 00000000 */ nop +/* A51B14 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A51B18 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A51B1C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A51B20 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A51B24 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A51B28 802401A8 3C020002 */ lui $v0, 2 +/* A51B2C 802401AC 08090071 */ j .L802401C4 +/* A51B30 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A51B34 802401B4 3C040002 */ lui $a0, 2 +/* A51B38 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A51B3C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A51B40 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A51B44 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A51B48 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A51B4C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A51B50 802401D0 00000000 */ nop +/* A51B54 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A51B58 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A51B5C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A51B60 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A51B64 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A51B68 802401E8 3C020002 */ lui $v0, 2 +/* A51B6C 802401EC 08090081 */ j .L80240204 +/* A51B70 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A51B74 802401F4 3C040002 */ lui $a0, 2 +/* A51B78 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A51B7C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A51B80 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A51B84 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A51B88 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A51B8C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A51B90 80240210 00000000 */ nop +/* A51B94 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A51B98 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A51B9C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A51BA0 80240220 04610004 */ bgez $v1, .L80240234 +/* A51BA4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A51BA8 80240228 3C020002 */ lui $v0, 2 +/* A51BAC 8024022C 08090091 */ j .L80240244 +/* A51BB0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A51BB4 80240234 3C040002 */ lui $a0, 2 +/* A51BB8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A51BBC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A51BC0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A51BC4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A51BC8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A51BCC 8024024C 0C046F07 */ jal set_main_pan_u +/* A51BD0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A51BD4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A51BD8 80240258 0C046F0D */ jal set_main_pan_v +/* A51BDC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A51BE0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A51BE4 80240264 0C046F13 */ jal set_aux_pan_u +/* A51BE8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A51BEC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A51BF0 80240270 0C046F19 */ jal set_aux_pan_v +/* A51BF4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A51BF8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A51BFC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A51C00 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A51C04 80240284 24420001 */ addiu $v0, $v0, 1 +/* A51C08 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A51C0C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A51C10 80240290 24630001 */ addiu $v1, $v1, 1 +/* A51C14 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A51C18 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A51C1C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A51C20 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A51C24 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A51C28 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A51C2C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A51C30 802402B0 14600002 */ bnez $v1, .L802402BC +/* A51C34 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A51C38 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A51C3C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A51C40 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A51C44 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A51C48 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A51C4C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A51C50 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A51C54 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A51C58 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A51C5C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A51C60 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A51C64 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A51C68 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A51C6C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A51C70 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A51C74 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A51C78 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A51C7C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A51C80 80240300 0000102D */ daddu $v0, $zero, $zero +/* A51C84 80240304 03E00008 */ jr $ra +/* A51C88 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A51C8C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_100/func_80240000_A93160.s b/asm/nonmatchings/world/area_kpa/kpa_100/func_80240000_A93160.s new file mode 100644 index 0000000000..ecd8de440c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_100/func_80240000_A93160.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A93160 +/* A93160 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A93164 80240004 3C04800E */ lui $a0, 0x800e +/* A93168 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A9316C 8024000C 3C058024 */ lui $a1, 0x8024 +/* A93170 80240010 24A502B0 */ addiu $a1, $a1, 0x2b0 +/* A93174 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A93178 80240018 0C01953C */ jal sprintf +/* A9317C 8024001C 00000000 */ nop +/* A93180 80240020 3C04800E */ lui $a0, 0x800e +/* A93184 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A93188 80240028 3C058024 */ lui $a1, 0x8024 +/* A9318C 8024002C 0C01953C */ jal sprintf +/* A93190 80240030 24A502C0 */ addiu $a1, $a1, 0x2c0 +/* A93194 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A93198 80240038 0000102D */ daddu $v0, $zero, $zero +/* A9319C 8024003C 03E00008 */ jr $ra +/* A931A0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A931A4 80240044 00000000 */ nop +/* A931A8 80240048 00000000 */ nop +/* A931AC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_101/func_80240000_A93440.s b/asm/nonmatchings/world/area_kpa/kpa_101/func_80240000_A93440.s new file mode 100644 index 0000000000..56a0a9fae1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_101/func_80240000_A93440.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A93440 +/* A93440 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A93444 80240004 3C04800E */ lui $a0, 0x800e +/* A93448 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A9344C 8024000C 3C058024 */ lui $a1, 0x8024 +/* A93450 80240010 24A502D0 */ addiu $a1, $a1, 0x2d0 +/* A93454 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A93458 80240018 0C01953C */ jal sprintf +/* A9345C 8024001C 00000000 */ nop +/* A93460 80240020 3C04800E */ lui $a0, 0x800e +/* A93464 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A93468 80240028 3C058024 */ lui $a1, 0x8024 +/* A9346C 8024002C 0C01953C */ jal sprintf +/* A93470 80240030 24A502E0 */ addiu $a1, $a1, 0x2e0 +/* A93474 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A93478 80240038 0000102D */ daddu $v0, $zero, $zero +/* A9347C 8024003C 03E00008 */ jr $ra +/* A93480 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A93484 80240044 00000000 */ nop +/* A93488 80240048 00000000 */ nop +/* A9348C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240000_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240000_A93740.s new file mode 100644 index 0000000000..5365fc66c0 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240000_A93740.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A93740 +/* A93740 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A93744 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A93748 80240008 0080802D */ daddu $s0, $a0, $zero +/* A9374C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A93750 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A93754 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A93758 80240018 00621821 */ addu $v1, $v1, $v0 +/* A9375C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A93760 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A93764 80240024 3C020002 */ lui $v0, 2 +/* A93768 80240028 08090010 */ j .L80240040 +/* A9376C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A93770 80240030 3C040002 */ lui $a0, 2 +/* A93774 80240034 0083102A */ slt $v0, $a0, $v1 +/* A93778 80240038 10400002 */ beqz $v0, .L80240044 +/* A9377C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A93780 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A93784 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A93788 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A9378C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A93790 80240050 04610004 */ bgez $v1, .L80240064 +/* A93794 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A93798 80240058 3C020002 */ lui $v0, 2 +/* A9379C 8024005C 0809001D */ j .L80240074 +/* A937A0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A937A4 80240064 3C040002 */ lui $a0, 2 +/* A937A8 80240068 0083102A */ slt $v0, $a0, $v1 +/* A937AC 8024006C 10400002 */ beqz $v0, .L80240078 +/* A937B0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A937B4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A937B8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A937BC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A937C0 80240080 00621821 */ addu $v1, $v1, $v0 +/* A937C4 80240084 04610004 */ bgez $v1, .L80240098 +/* A937C8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A937CC 8024008C 3C020002 */ lui $v0, 2 +/* A937D0 80240090 0809002A */ j .L802400A8 +/* A937D4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A937D8 80240098 3C040002 */ lui $a0, 2 +/* A937DC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A937E0 802400A0 10400002 */ beqz $v0, .L802400AC +/* A937E4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A937E8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A937EC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A937F0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A937F4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A937F8 802400B8 04610004 */ bgez $v1, .L802400CC +/* A937FC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A93800 802400C0 3C020002 */ lui $v0, 2 +/* A93804 802400C4 08090037 */ j .L802400DC +/* A93808 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A9380C 802400CC 3C040002 */ lui $a0, 2 +/* A93810 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A93814 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A93818 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A9381C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A93820 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A93824 802400E4 0C046F07 */ jal set_main_pan_u +/* A93828 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A9382C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A93830 802400F0 0C046F0D */ jal set_main_pan_v +/* A93834 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A93838 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A9383C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A93840 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A93844 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A93848 80240108 0C046F19 */ jal set_aux_pan_v +/* A9384C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A93850 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A93854 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A93858 80240118 0000102D */ daddu $v0, $zero, $zero +/* A9385C 8024011C 03E00008 */ jr $ra +/* A93860 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240124_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240124_A93740.s new file mode 100644 index 0000000000..355c91f725 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240124_A93740.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A93864 +/* A93864 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A93868 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A9386C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A93870 80240130 10A00005 */ beqz $a1, .L80240148 +/* A93874 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A93878 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A9387C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A93880 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A93884 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A93888 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A9388C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A93890 80240150 00000000 */ nop +/* A93894 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A93898 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A9389C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A938A0 80240160 04610004 */ bgez $v1, .L80240174 +/* A938A4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A938A8 80240168 3C020002 */ lui $v0, 2 +/* A938AC 8024016C 08090061 */ j .L80240184 +/* A938B0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A938B4 80240174 3C040002 */ lui $a0, 2 +/* A938B8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A938BC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A938C0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A938C4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A938C8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A938CC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A938D0 80240190 00000000 */ nop +/* A938D4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A938D8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A938DC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A938E0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A938E4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A938E8 802401A8 3C020002 */ lui $v0, 2 +/* A938EC 802401AC 08090071 */ j .L802401C4 +/* A938F0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A938F4 802401B4 3C040002 */ lui $a0, 2 +/* A938F8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A938FC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A93900 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A93904 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A93908 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A9390C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A93910 802401D0 00000000 */ nop +/* A93914 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A93918 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A9391C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A93920 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A93924 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A93928 802401E8 3C020002 */ lui $v0, 2 +/* A9392C 802401EC 08090081 */ j .L80240204 +/* A93930 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A93934 802401F4 3C040002 */ lui $a0, 2 +/* A93938 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A9393C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A93940 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A93944 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A93948 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A9394C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A93950 80240210 00000000 */ nop +/* A93954 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A93958 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A9395C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A93960 80240220 04610004 */ bgez $v1, .L80240234 +/* A93964 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A93968 80240228 3C020002 */ lui $v0, 2 +/* A9396C 8024022C 08090091 */ j .L80240244 +/* A93970 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A93974 80240234 3C040002 */ lui $a0, 2 +/* A93978 80240238 0083102A */ slt $v0, $a0, $v1 +/* A9397C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A93980 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A93984 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A93988 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A9398C 8024024C 0C046F07 */ jal set_main_pan_u +/* A93990 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A93994 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A93998 80240258 0C046F0D */ jal set_main_pan_v +/* A9399C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A939A0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A939A4 80240264 0C046F13 */ jal set_aux_pan_u +/* A939A8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A939AC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A939B0 80240270 0C046F19 */ jal set_aux_pan_v +/* A939B4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A939B8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A939BC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A939C0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A939C4 80240284 24420001 */ addiu $v0, $v0, 1 +/* A939C8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A939CC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A939D0 80240290 24630001 */ addiu $v1, $v1, 1 +/* A939D4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A939D8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A939DC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A939E0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A939E4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A939E8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A939EC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A939F0 802402B0 14600002 */ bnez $v1, .L802402BC +/* A939F4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A939F8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A939FC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A93A00 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A93A04 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A93A08 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A93A0C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A93A10 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A93A14 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A93A18 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A93A1C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A93A20 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A93A24 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A93A28 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A93A2C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A93A30 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A93A34 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A93A38 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A93A3C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A93A40 80240300 0000102D */ daddu $v0, $zero, $zero +/* A93A44 80240304 03E00008 */ jr $ra +/* A93A48 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A93A4C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240310_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240310_A93740.s new file mode 100644 index 0000000000..b41088cae9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240310_A93740.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A93A50 +/* A93A50 80240310 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A93A54 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* A93A58 80240318 0080882D */ daddu $s1, $a0, $zero +/* A93A5C 8024031C 3C05800B */ lui $a1, %hi(gCameras) +/* A93A60 80240320 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A93A64 80240324 AFBF0020 */ sw $ra, 0x20($sp) +/* A93A68 80240328 AFB3001C */ sw $s3, 0x1c($sp) +/* A93A6C 8024032C AFB20018 */ sw $s2, 0x18($sp) +/* A93A70 80240330 AFB00010 */ sw $s0, 0x10($sp) +/* A93A74 80240334 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A93A78 80240338 8E330148 */ lw $s3, 0x148($s1) +/* A93A7C 8024033C 3C03800A */ lui $v1, 0x800a +/* A93A80 80240340 8463A634 */ lh $v1, -0x59cc($v1) +/* A93A84 80240344 8E30000C */ lw $s0, 0xc($s1) +/* A93A88 80240348 00031080 */ sll $v0, $v1, 2 +/* A93A8C 8024034C 00431021 */ addu $v0, $v0, $v1 +/* A93A90 80240350 00021080 */ sll $v0, $v0, 2 +/* A93A94 80240354 00431023 */ subu $v0, $v0, $v1 +/* A93A98 80240358 000218C0 */ sll $v1, $v0, 3 +/* A93A9C 8024035C 00431021 */ addu $v0, $v0, $v1 +/* A93AA0 80240360 000210C0 */ sll $v0, $v0, 3 +/* A93AA4 80240364 86640008 */ lh $a0, 8($s3) +/* A93AA8 80240368 0C00EABB */ jal get_npc_unsafe +/* A93AAC 8024036C 00459021 */ addu $s2, $v0, $a1 +/* A93AB0 80240370 0220202D */ daddu $a0, $s1, $zero +/* A93AB4 80240374 8E050000 */ lw $a1, ($s0) +/* A93AB8 80240378 0C0B1EAF */ jal get_variable +/* A93ABC 8024037C 0040802D */ daddu $s0, $v0, $zero +/* A93AC0 80240380 0260202D */ daddu $a0, $s3, $zero +/* A93AC4 80240384 8C460024 */ lw $a2, 0x24($v0) +/* A93AC8 80240388 8C470028 */ lw $a3, 0x28($v0) +/* A93ACC 8024038C 0C0124FB */ jal func_800493EC +/* A93AD0 80240390 0000282D */ daddu $a1, $zero, $zero +/* A93AD4 80240394 10400052 */ beqz $v0, .L802404E0 +/* A93AD8 80240398 2402FFFF */ addiu $v0, $zero, -1 +/* A93ADC 8024039C C64C006C */ lwc1 $f12, 0x6c($s2) +/* A93AE0 802403A0 C60E000C */ lwc1 $f14, 0xc($s0) +/* A93AE4 802403A4 3C014387 */ lui $at, 0x4387 +/* A93AE8 802403A8 4481A000 */ mtc1 $at, $f20 +/* A93AEC 802403AC 0C00A70A */ jal get_clamped_angle_diff +/* A93AF0 802403B0 00000000 */ nop +/* A93AF4 802403B4 0C00A6C9 */ jal clamp_angle +/* A93AF8 802403B8 46000306 */ mov.s $f12, $f0 +/* A93AFC 802403BC 3C018024 */ lui $at, 0x8024 +/* A93B00 802403C0 D4225B20 */ ldc1 $f2, 0x5b20($at) +/* A93B04 802403C4 46000021 */ cvt.d.s $f0, $f0 +/* A93B08 802403C8 4622003C */ c.lt.d $f0, $f2 +/* A93B0C 802403CC 00000000 */ nop +/* A93B10 802403D0 45000003 */ bc1f .L802403E0 +/* A93B14 802403D4 00000000 */ nop +/* A93B18 802403D8 3C0142B4 */ lui $at, 0x42b4 +/* A93B1C 802403DC 4481A000 */ mtc1 $at, $f20 +.L802403E0: +/* A93B20 802403E0 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A93B24 802403E4 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A93B28 802403E8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A93B2C 802403EC 8E220000 */ lw $v0, ($s1) +/* A93B30 802403F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A93B34 802403F4 8C460028 */ lw $a2, 0x28($v0) +/* A93B38 802403F8 0C00A720 */ jal atan2 +/* A93B3C 802403FC 8C470030 */ lw $a3, 0x30($v0) +/* A93B40 80240400 4600A306 */ mov.s $f12, $f20 +/* A93B44 80240404 0C00A70A */ jal get_clamped_angle_diff +/* A93B48 80240408 46000386 */ mov.s $f14, $f0 +/* A93B4C 8024040C 46000005 */ abs.s $f0, $f0 +/* A93B50 80240410 3C018024 */ lui $at, 0x8024 +/* A93B54 80240414 D4225B28 */ ldc1 $f2, 0x5b28($at) +/* A93B58 80240418 46000021 */ cvt.d.s $f0, $f0 +/* A93B5C 8024041C 4620103C */ c.lt.d $f2, $f0 +/* A93B60 80240420 00000000 */ nop +/* A93B64 80240424 4501002E */ bc1t .L802404E0 +/* A93B68 80240428 2402FFFF */ addiu $v0, $zero, -1 +/* A93B6C 8024042C 8E220000 */ lw $v0, ($s1) +/* A93B70 80240430 C600003C */ lwc1 $f0, 0x3c($s0) +/* A93B74 80240434 C442002C */ lwc1 $f2, 0x2c($v0) +/* A93B78 80240438 860200A8 */ lh $v0, 0xa8($s0) +/* A93B7C 8024043C 46020001 */ sub.s $f0, $f0, $f2 +/* A93B80 80240440 44821000 */ mtc1 $v0, $f2 +/* A93B84 80240444 00000000 */ nop +/* A93B88 80240448 468010A1 */ cvt.d.w $f2, $f2 +/* A93B8C 8024044C 46221080 */ add.d $f2, $f2, $f2 +/* A93B90 80240450 46000005 */ abs.s $f0, $f0 +/* A93B94 80240454 46000021 */ cvt.d.s $f0, $f0 +/* A93B98 80240458 4620103E */ c.le.d $f2, $f0 +/* A93B9C 8024045C 00000000 */ nop +/* A93BA0 80240460 4501001F */ bc1t .L802404E0 +/* A93BA4 80240464 2402FFFF */ addiu $v0, $zero, -1 +/* A93BA8 80240468 3C038011 */ lui $v1, 0x8011 +/* A93BAC 8024046C 8063EBB3 */ lb $v1, -0x144d($v1) +/* A93BB0 80240470 24020009 */ addiu $v0, $zero, 9 +/* A93BB4 80240474 10620019 */ beq $v1, $v0, .L802404DC +/* A93BB8 80240478 24020007 */ addiu $v0, $zero, 7 +/* A93BBC 8024047C 14620005 */ bne $v1, $v0, .L80240494 +/* A93BC0 80240480 2402FFFF */ addiu $v0, $zero, -1 +/* A93BC4 80240484 08090138 */ j .L802404E0 +/* A93BC8 80240488 00000000 */ nop +.L8024048C: +/* A93BCC 8024048C 08090138 */ j .L802404E0 +/* A93BD0 80240490 0240102D */ daddu $v0, $s2, $zero +.L80240494: +/* A93BD4 80240494 8E620078 */ lw $v0, 0x78($s3) +/* A93BD8 80240498 18400010 */ blez $v0, .L802404DC +/* A93BDC 8024049C 0000882D */ daddu $s1, $zero, $zero +.L802404A0: +/* A93BE0 802404A0 86620008 */ lh $v0, 8($s3) +/* A93BE4 802404A4 00511021 */ addu $v0, $v0, $s1 +/* A93BE8 802404A8 24520001 */ addiu $s2, $v0, 1 +/* A93BEC 802404AC 0C00FB3A */ jal get_enemy +/* A93BF0 802404B0 0240202D */ daddu $a0, $s2, $zero +/* A93BF4 802404B4 0240202D */ daddu $a0, $s2, $zero +/* A93BF8 802404B8 0C00EABB */ jal get_npc_unsafe +/* A93BFC 802404BC 0040802D */ daddu $s0, $v0, $zero +/* A93C00 802404C0 8E02006C */ lw $v0, 0x6c($s0) +/* A93C04 802404C4 1040FFF1 */ beqz $v0, .L8024048C +/* A93C08 802404C8 26310001 */ addiu $s1, $s1, 1 +/* A93C0C 802404CC 8E620078 */ lw $v0, 0x78($s3) +/* A93C10 802404D0 0222102A */ slt $v0, $s1, $v0 +/* A93C14 802404D4 1440FFF2 */ bnez $v0, .L802404A0 +/* A93C18 802404D8 00000000 */ nop +.L802404DC: +/* A93C1C 802404DC 2402FFFF */ addiu $v0, $zero, -1 +.L802404E0: +/* A93C20 802404E0 8FBF0020 */ lw $ra, 0x20($sp) +/* A93C24 802404E4 8FB3001C */ lw $s3, 0x1c($sp) +/* A93C28 802404E8 8FB20018 */ lw $s2, 0x18($sp) +/* A93C2C 802404EC 8FB10014 */ lw $s1, 0x14($sp) +/* A93C30 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* A93C34 802404F4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A93C38 802404F8 03E00008 */ jr $ra +/* A93C3C 802404FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240500_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240500_A93740.s new file mode 100644 index 0000000000..5c0f1cd894 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240500_A93740.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_A93C40 +/* A93C40 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A93C44 80240504 AFB20038 */ sw $s2, 0x38($sp) +/* A93C48 80240508 0080902D */ daddu $s2, $a0, $zero +/* A93C4C 8024050C AFB00030 */ sw $s0, 0x30($sp) +/* A93C50 80240510 AFBF003C */ sw $ra, 0x3c($sp) +/* A93C54 80240514 AFB10034 */ sw $s1, 0x34($sp) +/* A93C58 80240518 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A93C5C 8024051C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A93C60 80240520 8E510148 */ lw $s1, 0x148($s2) +/* A93C64 80240524 4485A000 */ mtc1 $a1, $f20 +/* A93C68 80240528 86240008 */ lh $a0, 8($s1) +/* A93C6C 8024052C 4486B000 */ mtc1 $a2, $f22 +/* A93C70 80240530 0C00EABB */ jal get_npc_unsafe +/* A93C74 80240534 00E0802D */ daddu $s0, $a3, $zero +/* A93C78 80240538 0200202D */ daddu $a0, $s0, $zero +/* A93C7C 8024053C 0220282D */ daddu $a1, $s1, $zero +/* A93C80 80240540 24030001 */ addiu $v1, $zero, 1 +/* A93C84 80240544 4406A000 */ mfc1 $a2, $f20 +/* A93C88 80240548 4407B000 */ mfc1 $a3, $f22 +/* A93C8C 8024054C 0040802D */ daddu $s0, $v0, $zero +/* A93C90 80240550 0C01242D */ jal func_800490B4 +/* A93C94 80240554 AFA30010 */ sw $v1, 0x10($sp) +/* A93C98 80240558 1440001D */ bnez $v0, .L802405D0 +/* A93C9C 8024055C 24040002 */ addiu $a0, $zero, 2 +/* A93CA0 80240560 0200282D */ daddu $a1, $s0, $zero +/* A93CA4 80240564 0000302D */ daddu $a2, $zero, $zero +/* A93CA8 80240568 860300A8 */ lh $v1, 0xa8($s0) +/* A93CAC 8024056C 3C013F80 */ lui $at, 0x3f80 +/* A93CB0 80240570 44810000 */ mtc1 $at, $f0 +/* A93CB4 80240574 3C014000 */ lui $at, 0x4000 +/* A93CB8 80240578 44811000 */ mtc1 $at, $f2 +/* A93CBC 8024057C 3C01C1A0 */ lui $at, 0xc1a0 +/* A93CC0 80240580 44812000 */ mtc1 $at, $f4 +/* A93CC4 80240584 2402000F */ addiu $v0, $zero, 0xf +/* A93CC8 80240588 AFA2001C */ sw $v0, 0x1c($sp) +/* A93CCC 8024058C 44833000 */ mtc1 $v1, $f6 +/* A93CD0 80240590 00000000 */ nop +/* A93CD4 80240594 468031A0 */ cvt.s.w $f6, $f6 +/* A93CD8 80240598 44073000 */ mfc1 $a3, $f6 +/* A93CDC 8024059C 27A20028 */ addiu $v0, $sp, 0x28 +/* A93CE0 802405A0 AFA20020 */ sw $v0, 0x20($sp) +/* A93CE4 802405A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* A93CE8 802405A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* A93CEC 802405AC 0C01BFA4 */ jal fx_emote +/* A93CF0 802405B0 E7A40018 */ swc1 $f4, 0x18($sp) +/* A93CF4 802405B4 8E2200CC */ lw $v0, 0xcc($s1) +/* A93CF8 802405B8 8C430000 */ lw $v1, ($v0) +/* A93CFC 802405BC 24020014 */ addiu $v0, $zero, 0x14 +/* A93D00 802405C0 A602008E */ sh $v0, 0x8e($s0) +/* A93D04 802405C4 24020021 */ addiu $v0, $zero, 0x21 +/* A93D08 802405C8 08090188 */ j .L80240620 +/* A93D0C 802405CC AE030028 */ sw $v1, 0x28($s0) +.L802405D0: +/* A93D10 802405D0 0C0900C4 */ jal func_80240310 +/* A93D14 802405D4 0240202D */ daddu $a0, $s2, $zero +/* A93D18 802405D8 0040202D */ daddu $a0, $v0, $zero +/* A93D1C 802405DC 2402FFFF */ addiu $v0, $zero, -1 +/* A93D20 802405E0 10820010 */ beq $a0, $v0, .L80240624 +/* A93D24 802405E4 00000000 */ nop +/* A93D28 802405E8 0C00FB3A */ jal get_enemy +/* A93D2C 802405EC 00000000 */ nop +/* A93D30 802405F0 8C42006C */ lw $v0, 0x6c($v0) +/* A93D34 802405F4 1440000B */ bnez $v0, .L80240624 +/* A93D38 802405F8 00000000 */ nop +/* A93D3C 802405FC 8602008C */ lh $v0, 0x8c($s0) +/* A93D40 80240600 14400008 */ bnez $v0, .L80240624 +/* A93D44 80240604 00000000 */ nop +/* A93D48 80240608 8E2200CC */ lw $v0, 0xcc($s1) +/* A93D4C 8024060C 8C420020 */ lw $v0, 0x20($v0) +/* A93D50 80240610 AE020028 */ sw $v0, 0x28($s0) +/* A93D54 80240614 96220072 */ lhu $v0, 0x72($s1) +/* A93D58 80240618 A602008E */ sh $v0, 0x8e($s0) +/* A93D5C 8024061C 2402001E */ addiu $v0, $zero, 0x1e +.L80240620: +/* A93D60 80240620 AE420070 */ sw $v0, 0x70($s2) +.L80240624: +/* A93D64 80240624 8FBF003C */ lw $ra, 0x3c($sp) +/* A93D68 80240628 8FB20038 */ lw $s2, 0x38($sp) +/* A93D6C 8024062C 8FB10034 */ lw $s1, 0x34($sp) +/* A93D70 80240630 8FB00030 */ lw $s0, 0x30($sp) +/* A93D74 80240634 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A93D78 80240638 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A93D7C 8024063C 03E00008 */ jr $ra +/* A93D80 80240640 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240644_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240644_A93740.s new file mode 100644 index 0000000000..2d68b39c8b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240644_A93740.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_A93D84 +/* A93D84 80240644 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A93D88 80240648 AFB20038 */ sw $s2, 0x38($sp) +/* A93D8C 8024064C 0080902D */ daddu $s2, $a0, $zero +/* A93D90 80240650 AFBF003C */ sw $ra, 0x3c($sp) +/* A93D94 80240654 AFB10034 */ sw $s1, 0x34($sp) +/* A93D98 80240658 AFB00030 */ sw $s0, 0x30($sp) +/* A93D9C 8024065C 8E510148 */ lw $s1, 0x148($s2) +/* A93DA0 80240660 0C00EABB */ jal get_npc_unsafe +/* A93DA4 80240664 86240008 */ lh $a0, 8($s1) +/* A93DA8 80240668 0040802D */ daddu $s0, $v0, $zero +/* A93DAC 8024066C 9602008E */ lhu $v0, 0x8e($s0) +/* A93DB0 80240670 2442FFFF */ addiu $v0, $v0, -1 +/* A93DB4 80240674 A602008E */ sh $v0, 0x8e($s0) +/* A93DB8 80240678 00021400 */ sll $v0, $v0, 0x10 +/* A93DBC 8024067C 1C40002B */ bgtz $v0, .L8024072C +/* A93DC0 80240680 00000000 */ nop +/* A93DC4 80240684 0C0900C4 */ jal func_80240310 +/* A93DC8 80240688 0240202D */ daddu $a0, $s2, $zero +/* A93DCC 8024068C 0040202D */ daddu $a0, $v0, $zero +/* A93DD0 80240690 0481001A */ bgez $a0, .L802406FC +/* A93DD4 80240694 2402000F */ addiu $v0, $zero, 0xf +/* A93DD8 80240698 24040002 */ addiu $a0, $zero, 2 +/* A93DDC 8024069C 860300A8 */ lh $v1, 0xa8($s0) +/* A93DE0 802406A0 AFA2001C */ sw $v0, 0x1c($sp) +/* A93DE4 802406A4 27A20028 */ addiu $v0, $sp, 0x28 +/* A93DE8 802406A8 0200282D */ daddu $a1, $s0, $zero +/* A93DEC 802406AC 3C013F80 */ lui $at, 0x3f80 +/* A93DF0 802406B0 44810000 */ mtc1 $at, $f0 +/* A93DF4 802406B4 3C014000 */ lui $at, 0x4000 +/* A93DF8 802406B8 44811000 */ mtc1 $at, $f2 +/* A93DFC 802406BC 3C01C1A0 */ lui $at, 0xc1a0 +/* A93E00 802406C0 44812000 */ mtc1 $at, $f4 +/* A93E04 802406C4 44833000 */ mtc1 $v1, $f6 +/* A93E08 802406C8 00000000 */ nop +/* A93E0C 802406CC 468031A0 */ cvt.s.w $f6, $f6 +/* A93E10 802406D0 44073000 */ mfc1 $a3, $f6 +/* A93E14 802406D4 0000302D */ daddu $a2, $zero, $zero +/* A93E18 802406D8 AFA20020 */ sw $v0, 0x20($sp) +/* A93E1C 802406DC E7A00010 */ swc1 $f0, 0x10($sp) +/* A93E20 802406E0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A93E24 802406E4 0C01BFA4 */ jal fx_emote +/* A93E28 802406E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A93E2C 802406EC 8E2200CC */ lw $v0, 0xcc($s1) +/* A93E30 802406F0 8C420000 */ lw $v0, ($v0) +/* A93E34 802406F4 080901C7 */ j .L8024071C +/* A93E38 802406F8 AE020028 */ sw $v0, 0x28($s0) +.L802406FC: +/* A93E3C 802406FC 8E2200CC */ lw $v0, 0xcc($s1) +/* A93E40 80240700 8C420024 */ lw $v0, 0x24($v0) +/* A93E44 80240704 0C00FB3A */ jal get_enemy +/* A93E48 80240708 AE020028 */ sw $v0, 0x28($s0) +/* A93E4C 8024070C 86240008 */ lh $a0, 8($s1) +/* A93E50 80240710 24030001 */ addiu $v1, $zero, 1 +/* A93E54 80240714 AC43006C */ sw $v1, 0x6c($v0) +/* A93E58 80240718 AC44007C */ sw $a0, 0x7c($v0) +.L8024071C: +/* A93E5C 8024071C 96220076 */ lhu $v0, 0x76($s1) +/* A93E60 80240720 A602008E */ sh $v0, 0x8e($s0) +/* A93E64 80240724 24020021 */ addiu $v0, $zero, 0x21 +/* A93E68 80240728 AE420070 */ sw $v0, 0x70($s2) +.L8024072C: +/* A93E6C 8024072C 8FBF003C */ lw $ra, 0x3c($sp) +/* A93E70 80240730 8FB20038 */ lw $s2, 0x38($sp) +/* A93E74 80240734 8FB10034 */ lw $s1, 0x34($sp) +/* A93E78 80240738 8FB00030 */ lw $s0, 0x30($sp) +/* A93E7C 8024073C 03E00008 */ jr $ra +/* A93E80 80240740 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240744.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240744.s new file mode 100644 index 0000000000..46cf4757c3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240744.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240744 +/* A93E84 80240744 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A93E88 80240748 AFB10014 */ sw $s1, 0x14($sp) +/* A93E8C 8024074C 0080882D */ daddu $s1, $a0, $zero +/* A93E90 80240750 AFBF0018 */ sw $ra, 0x18($sp) +/* A93E94 80240754 AFB00010 */ sw $s0, 0x10($sp) +/* A93E98 80240758 8E300148 */ lw $s0, 0x148($s1) +/* A93E9C 8024075C 0C00EABB */ jal get_npc_unsafe +/* A93EA0 80240760 86040008 */ lh $a0, 8($s0) +/* A93EA4 80240764 96030076 */ lhu $v1, 0x76($s0) +/* A93EA8 80240768 A443008E */ sh $v1, 0x8e($v0) +/* A93EAC 8024076C 24020021 */ addiu $v0, $zero, 0x21 +/* A93EB0 80240770 AE220070 */ sw $v0, 0x70($s1) +/* A93EB4 80240774 8FBF0018 */ lw $ra, 0x18($sp) +/* A93EB8 80240778 8FB10014 */ lw $s1, 0x14($sp) +/* A93EBC 8024077C 8FB00010 */ lw $s0, 0x10($sp) +/* A93EC0 80240780 03E00008 */ jr $ra +/* A93EC4 80240784 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240788.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240788.s new file mode 100644 index 0000000000..314c7d3716 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240788.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240788 +/* A93EC8 80240788 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A93ECC 8024078C AFB3001C */ sw $s3, 0x1c($sp) +/* A93ED0 80240790 0080982D */ daddu $s3, $a0, $zero +/* A93ED4 80240794 AFBF0020 */ sw $ra, 0x20($sp) +/* A93ED8 80240798 AFB20018 */ sw $s2, 0x18($sp) +/* A93EDC 8024079C AFB10014 */ sw $s1, 0x14($sp) +/* A93EE0 802407A0 AFB00010 */ sw $s0, 0x10($sp) +/* A93EE4 802407A4 8E720148 */ lw $s2, 0x148($s3) +/* A93EE8 802407A8 0C00EABB */ jal get_npc_unsafe +/* A93EEC 802407AC 86440008 */ lh $a0, 8($s2) +/* A93EF0 802407B0 86440008 */ lh $a0, 8($s2) +/* A93EF4 802407B4 0040882D */ daddu $s1, $v0, $zero +/* A93EF8 802407B8 0C00FB3A */ jal get_enemy +/* A93EFC 802407BC 24840001 */ addiu $a0, $a0, 1 +/* A93F00 802407C0 0040802D */ daddu $s0, $v0, $zero +/* A93F04 802407C4 0C00EABB */ jal get_npc_unsafe +/* A93F08 802407C8 86040008 */ lh $a0, 8($s0) +/* A93F0C 802407CC C62C0038 */ lwc1 $f12, 0x38($s1) +/* A93F10 802407D0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A93F14 802407D4 8C460038 */ lw $a2, 0x38($v0) +/* A93F18 802407D8 0C00A720 */ jal atan2 +/* A93F1C 802407DC 8C470040 */ lw $a3, 0x40($v0) +/* A93F20 802407E0 E620000C */ swc1 $f0, 0xc($s1) +/* A93F24 802407E4 8E02006C */ lw $v0, 0x6c($s0) +/* A93F28 802407E8 14400008 */ bnez $v0, .L8024080C +/* A93F2C 802407EC 00000000 */ nop +/* A93F30 802407F0 8E4200CC */ lw $v0, 0xcc($s2) +/* A93F34 802407F4 8C420000 */ lw $v0, ($v0) +/* A93F38 802407F8 AE220028 */ sw $v0, 0x28($s1) +/* A93F3C 802407FC 96420076 */ lhu $v0, 0x76($s2) +/* A93F40 80240800 A622008E */ sh $v0, 0x8e($s1) +/* A93F44 80240804 24020021 */ addiu $v0, $zero, 0x21 +/* A93F48 80240808 AE620070 */ sw $v0, 0x70($s3) +.L8024080C: +/* A93F4C 8024080C 8FBF0020 */ lw $ra, 0x20($sp) +/* A93F50 80240810 8FB3001C */ lw $s3, 0x1c($sp) +/* A93F54 80240814 8FB20018 */ lw $s2, 0x18($sp) +/* A93F58 80240818 8FB10014 */ lw $s1, 0x14($sp) +/* A93F5C 8024081C 8FB00010 */ lw $s0, 0x10($sp) +/* A93F60 80240820 03E00008 */ jr $ra +/* A93F64 80240824 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240828.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240828.s new file mode 100644 index 0000000000..a0862be96d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240828.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240828 +/* A93F68 80240828 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A93F6C 8024082C AFB00010 */ sw $s0, 0x10($sp) +/* A93F70 80240830 0080802D */ daddu $s0, $a0, $zero +/* A93F74 80240834 AFBF0014 */ sw $ra, 0x14($sp) +/* A93F78 80240838 8E020148 */ lw $v0, 0x148($s0) +/* A93F7C 8024083C 0C00EABB */ jal get_npc_unsafe +/* A93F80 80240840 84440008 */ lh $a0, 8($v0) +/* A93F84 80240844 9443008E */ lhu $v1, 0x8e($v0) +/* A93F88 80240848 2463FFFF */ addiu $v1, $v1, -1 +/* A93F8C 8024084C A443008E */ sh $v1, 0x8e($v0) +/* A93F90 80240850 00031C00 */ sll $v1, $v1, 0x10 +/* A93F94 80240854 58600001 */ blezl $v1, .L8024085C +/* A93F98 80240858 AE000070 */ sw $zero, 0x70($s0) +.L8024085C: +/* A93F9C 8024085C 8FBF0014 */ lw $ra, 0x14($sp) +/* A93FA0 80240860 8FB00010 */ lw $s0, 0x10($sp) +/* A93FA4 80240864 03E00008 */ jr $ra +/* A93FA8 80240868 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_8024086C_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024086C_A93740.s new file mode 100644 index 0000000000..a355f9eb00 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024086C_A93740.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C_A93FAC +/* A93FAC 8024086C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A93FB0 80240870 AFB7004C */ sw $s7, 0x4c($sp) +/* A93FB4 80240874 0080B82D */ daddu $s7, $a0, $zero +/* A93FB8 80240878 AFB10034 */ sw $s1, 0x34($sp) +/* A93FBC 8024087C 00A0882D */ daddu $s1, $a1, $zero +/* A93FC0 80240880 AFBF0050 */ sw $ra, 0x50($sp) +/* A93FC4 80240884 AFB60048 */ sw $s6, 0x48($sp) +/* A93FC8 80240888 AFB50044 */ sw $s5, 0x44($sp) +/* A93FCC 8024088C AFB40040 */ sw $s4, 0x40($sp) +/* A93FD0 80240890 AFB3003C */ sw $s3, 0x3c($sp) +/* A93FD4 80240894 AFB20038 */ sw $s2, 0x38($sp) +/* A93FD8 80240898 AFB00030 */ sw $s0, 0x30($sp) +/* A93FDC 8024089C 8EF30148 */ lw $s3, 0x148($s7) +/* A93FE0 802408A0 86640008 */ lh $a0, 8($s3) +/* A93FE4 802408A4 8EF0000C */ lw $s0, 0xc($s7) +/* A93FE8 802408A8 0C00FB5A */ jal get_enemy_safe +/* A93FEC 802408AC 0000B02D */ daddu $s6, $zero, $zero +/* A93FF0 802408B0 10400131 */ beqz $v0, .L80240D78 +/* A93FF4 802408B4 24020005 */ addiu $v0, $zero, 5 +/* A93FF8 802408B8 8E63006C */ lw $v1, 0x6c($s3) +/* A93FFC 802408BC 1062012F */ beq $v1, $v0, .L80240D7C +/* A94000 802408C0 0000102D */ daddu $v0, $zero, $zero +/* A94004 802408C4 8E050000 */ lw $a1, ($s0) +/* A94008 802408C8 0C0B1EAF */ jal get_variable +/* A9400C 802408CC 02E0202D */ daddu $a0, $s7, $zero +/* A94010 802408D0 86640008 */ lh $a0, 8($s3) +/* A94014 802408D4 0C00EABB */ jal get_npc_unsafe +/* A94018 802408D8 0040A82D */ daddu $s5, $v0, $zero +/* A9401C 802408DC 8E630070 */ lw $v1, 0x70($s3) +/* A94020 802408E0 30630002 */ andi $v1, $v1, 2 +/* A94024 802408E4 10600008 */ beqz $v1, .L80240908 +/* A94028 802408E8 0040902D */ daddu $s2, $v0, $zero +/* A9402C 802408EC 964200A8 */ lhu $v0, 0xa8($s2) +/* A94030 802408F0 00021400 */ sll $v0, $v0, 0x10 +/* A94034 802408F4 00021C03 */ sra $v1, $v0, 0x10 +/* A94038 802408F8 000217C2 */ srl $v0, $v0, 0x1f +/* A9403C 802408FC 00621821 */ addu $v1, $v1, $v0 +/* A94040 80240900 00031843 */ sra $v1, $v1, 1 +/* A94044 80240904 A24300AB */ sb $v1, 0xab($s2) +.L80240908: +/* A94048 80240908 16200005 */ bnez $s1, .L80240920 +/* A9404C 8024090C 3C030004 */ lui $v1, 4 +/* A94050 80240910 8E6200B0 */ lw $v0, 0xb0($s3) +/* A94054 80240914 30420004 */ andi $v0, $v0, 4 +/* A94058 80240918 10400019 */ beqz $v0, .L80240980 +/* A9405C 8024091C 00000000 */ nop +.L80240920: +/* A94060 80240920 34630102 */ ori $v1, $v1, 0x102 +/* A94064 80240924 AEE00070 */ sw $zero, 0x70($s7) +/* A94068 80240928 8E420000 */ lw $v0, ($s2) +/* A9406C 8024092C 0240202D */ daddu $a0, $s2, $zero +/* A94070 80240930 A640008E */ sh $zero, 0x8e($s2) +/* A94074 80240934 00431025 */ or $v0, $v0, $v1 +/* A94078 80240938 0C00EAFF */ jal disable_npc_shadow +/* A9407C 8024093C AE420000 */ sw $v0, ($s2) +/* A94080 80240940 3C041F30 */ lui $a0, 0x1f30 +/* A94084 80240944 8E420000 */ lw $v0, ($s2) +/* A94088 80240948 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9408C 8024094C 00431024 */ and $v0, $v0, $v1 +/* A94090 80240950 AE420000 */ sw $v0, ($s2) +/* A94094 80240954 8E620000 */ lw $v0, ($s3) +/* A94098 80240958 8E6300B0 */ lw $v1, 0xb0($s3) +/* A9409C 8024095C 34840040 */ ori $a0, $a0, 0x40 +/* A940A0 80240960 AE60006C */ sw $zero, 0x6c($s3) +/* A940A4 80240964 00441025 */ or $v0, $v0, $a0 +/* A940A8 80240968 AE620000 */ sw $v0, ($s3) +/* A940AC 8024096C 30620004 */ andi $v0, $v1, 4 +/* A940B0 80240970 10400003 */ beqz $v0, .L80240980 +/* A940B4 80240974 2402FFFB */ addiu $v0, $zero, -5 +/* A940B8 80240978 00621024 */ and $v0, $v1, $v0 +/* A940BC 8024097C AE6200B0 */ sw $v0, 0xb0($s3) +.L80240980: +/* A940C0 80240980 8EE30070 */ lw $v1, 0x70($s7) +/* A940C4 80240984 24100001 */ addiu $s0, $zero, 1 +/* A940C8 80240988 10700012 */ beq $v1, $s0, .L802409D4 +/* A940CC 8024098C 28620002 */ slti $v0, $v1, 2 +/* A940D0 80240990 10400005 */ beqz $v0, .L802409A8 +/* A940D4 80240994 24020002 */ addiu $v0, $zero, 2 +/* A940D8 80240998 10600007 */ beqz $v1, .L802409B8 +/* A940DC 8024099C 0000102D */ daddu $v0, $zero, $zero +/* A940E0 802409A0 0809035F */ j .L80240D7C +/* A940E4 802409A4 00000000 */ nop +.L802409A8: +/* A940E8 802409A8 1062005B */ beq $v1, $v0, .L80240B18 +/* A940EC 802409AC 0000102D */ daddu $v0, $zero, $zero +/* A940F0 802409B0 0809035F */ j .L80240D7C +/* A940F4 802409B4 00000000 */ nop +.L802409B8: +/* A940F8 802409B8 8E420000 */ lw $v0, ($s2) +/* A940FC 802409BC 0240202D */ daddu $a0, $s2, $zero +/* A94100 802409C0 34420002 */ ori $v0, $v0, 2 +/* A94104 802409C4 0C00EAFF */ jal disable_npc_shadow +/* A94108 802409C8 AE420000 */ sw $v0, ($s2) +/* A9410C 802409CC AE60006C */ sw $zero, 0x6c($s3) +/* A94110 802409D0 AEF00070 */ sw $s0, 0x70($s7) +.L802409D4: +/* A94114 802409D4 8E74006C */ lw $s4, 0x6c($s3) +/* A94118 802409D8 24020001 */ addiu $v0, $zero, 1 +/* A9411C 802409DC 168200E7 */ bne $s4, $v0, .L80240D7C +/* A94120 802409E0 0000102D */ daddu $v0, $zero, $zero +/* A94124 802409E4 8E64007C */ lw $a0, 0x7c($s3) +/* A94128 802409E8 24110002 */ addiu $s1, $zero, 2 +/* A9412C 802409EC 0C00EABB */ jal get_npc_unsafe +/* A94130 802409F0 AE71006C */ sw $s1, 0x6c($s3) +/* A94134 802409F4 0040802D */ daddu $s0, $v0, $zero +/* A94138 802409F8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9413C 802409FC E6400038 */ swc1 $f0, 0x38($s2) +/* A94140 80240A00 C6000040 */ lwc1 $f0, 0x40($s0) +/* A94144 80240A04 E6400040 */ swc1 $f0, 0x40($s2) +/* A94148 80240A08 C6020034 */ lwc1 $f2, 0x34($s0) +/* A9414C 80240A0C 3C014387 */ lui $at, 0x4387 +/* A94150 80240A10 44810000 */ mtc1 $at, $f0 +/* A94154 80240A14 26440038 */ addiu $a0, $s2, 0x38 +/* A94158 80240A18 46020001 */ sub.s $f0, $f0, $f2 +/* A9415C 80240A1C C6680078 */ lwc1 $f8, 0x78($s3) +/* A94160 80240A20 46804220 */ cvt.s.w $f8, $f8 +/* A94164 80240A24 44064000 */ mfc1 $a2, $f8 +/* A94168 80240A28 44070000 */ mfc1 $a3, $f0 +/* A9416C 80240A2C 0C00A7E7 */ jal add_vec2D_polar +/* A94170 80240A30 26450040 */ addiu $a1, $s2, 0x40 +/* A94174 80240A34 C600003C */ lwc1 $f0, 0x3c($s0) +/* A94178 80240A38 C6620074 */ lwc1 $f2, 0x74($s3) +/* A9417C 80240A3C 468010A0 */ cvt.s.w $f2, $f2 +/* A94180 80240A40 46020000 */ add.s $f0, $f0, $f2 +/* A94184 80240A44 E640003C */ swc1 $f0, 0x3c($s2) +/* A94188 80240A48 A2740007 */ sb $s4, 7($s3) +/* A9418C 80240A4C C6400038 */ lwc1 $f0, 0x38($s2) +/* A94190 80240A50 4600020D */ trunc.w.s $f8, $f0 +/* A94194 80240A54 44024000 */ mfc1 $v0, $f8 +/* A94198 80240A58 00000000 */ nop +/* A9419C 80240A5C A6620010 */ sh $v0, 0x10($s3) +/* A941A0 80240A60 C640003C */ lwc1 $f0, 0x3c($s2) +/* A941A4 80240A64 4600020D */ trunc.w.s $f8, $f0 +/* A941A8 80240A68 44024000 */ mfc1 $v0, $f8 +/* A941AC 80240A6C 00000000 */ nop +/* A941B0 80240A70 A6620012 */ sh $v0, 0x12($s3) +/* A941B4 80240A74 C6400040 */ lwc1 $f0, 0x40($s2) +/* A941B8 80240A78 4600020D */ trunc.w.s $f8, $f0 +/* A941BC 80240A7C 44024000 */ mfc1 $v0, $f8 +/* A941C0 80240A80 00000000 */ nop +/* A941C4 80240A84 A6620014 */ sh $v0, 0x14($s3) +/* A941C8 80240A88 AE400044 */ sw $zero, 0x44($s2) +/* A941CC 80240A8C AE400048 */ sw $zero, 0x48($s2) +/* A941D0 80240A90 AE40004C */ sw $zero, 0x4c($s2) +/* A941D4 80240A94 C6A00000 */ lwc1 $f0, ($s5) +/* A941D8 80240A98 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A941DC 80240A9C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A941E0 80240AA0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A941E4 80240AA4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A941E8 80240AA8 E6400018 */ swc1 $f0, 0x18($s2) +/* A941EC 80240AAC 8C460028 */ lw $a2, 0x28($v0) +/* A941F0 80240AB0 0C00A720 */ jal atan2 +/* A941F4 80240AB4 8C470030 */ lw $a3, 0x30($v0) +/* A941F8 80240AB8 E640000C */ swc1 $f0, 0xc($s2) +/* A941FC 80240ABC C6A0000C */ lwc1 $f0, 0xc($s5) +/* A94200 80240AC0 8E420000 */ lw $v0, ($s2) +/* A94204 80240AC4 0240202D */ daddu $a0, $s2, $zero +/* A94208 80240AC8 E640001C */ swc1 $f0, 0x1c($s2) +/* A9420C 80240ACC C6A00010 */ lwc1 $f0, 0x10($s5) +/* A94210 80240AD0 2403FFFD */ addiu $v1, $zero, -3 +/* A94214 80240AD4 E6400014 */ swc1 $f0, 0x14($s2) +/* A94218 80240AD8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A9421C 80240ADC 00431024 */ and $v0, $v0, $v1 +/* A94220 80240AE0 AE420000 */ sw $v0, ($s2) +/* A94224 80240AE4 0C00EAE8 */ jal enable_npc_shadow +/* A94228 80240AE8 E6400064 */ swc1 $f0, 0x64($s2) +/* A9422C 80240AEC 8E420000 */ lw $v0, ($s2) +/* A94230 80240AF0 3C03E0FF */ lui $v1, 0xe0ff +/* A94234 80240AF4 34420800 */ ori $v0, $v0, 0x800 +/* A94238 80240AF8 AE420000 */ sw $v0, ($s2) +/* A9423C 80240AFC 8E620000 */ lw $v0, ($s3) +/* A94240 80240B00 3463FFFF */ ori $v1, $v1, 0xffff +/* A94244 80240B04 00431024 */ and $v0, $v0, $v1 +/* A94248 80240B08 AE620000 */ sw $v0, ($s3) +/* A9424C 80240B0C 2402005A */ addiu $v0, $zero, 0x5a +/* A94250 80240B10 A642008E */ sh $v0, 0x8e($s2) +/* A94254 80240B14 AEF10070 */ sw $s1, 0x70($s7) +.L80240B18: +/* A94258 80240B18 0000202D */ daddu $a0, $zero, $zero +/* A9425C 80240B1C 27B00020 */ addiu $s0, $sp, 0x20 +/* A94260 80240B20 864200A8 */ lh $v0, 0xa8($s2) +/* A94264 80240B24 3C013FE0 */ lui $at, 0x3fe0 +/* A94268 80240B28 44810800 */ mtc1 $at, $f1 +/* A9426C 80240B2C 44800000 */ mtc1 $zero, $f0 +/* A94270 80240B30 44821000 */ mtc1 $v0, $f2 +/* A94274 80240B34 00000000 */ nop +/* A94278 80240B38 468010A1 */ cvt.d.w $f2, $f2 +/* A9427C 80240B3C 46201082 */ mul.d $f2, $f2, $f0 +/* A94280 80240B40 00000000 */ nop +/* A94284 80240B44 0200282D */ daddu $a1, $s0, $zero +/* A94288 80240B48 C6440038 */ lwc1 $f4, 0x38($s2) +/* A9428C 80240B4C C640003C */ lwc1 $f0, 0x3c($s2) +/* A94290 80240B50 27B10024 */ addiu $s1, $sp, 0x24 +/* A94294 80240B54 E7A40020 */ swc1 $f4, 0x20($sp) +/* A94298 80240B58 C6440040 */ lwc1 $f4, 0x40($s2) +/* A9429C 80240B5C 46000021 */ cvt.d.s $f0, $f0 +/* A942A0 80240B60 46220000 */ add.d $f0, $f0, $f2 +/* A942A4 80240B64 E7A40028 */ swc1 $f4, 0x28($sp) +/* A942A8 80240B68 C6420018 */ lwc1 $f2, 0x18($s2) +/* A942AC 80240B6C 46200020 */ cvt.s.d $f0, $f0 +/* A942B0 80240B70 E7A00024 */ swc1 $f0, 0x24($sp) +/* A942B4 80240B74 E7A20010 */ swc1 $f2, 0x10($sp) +/* A942B8 80240B78 C640000C */ lwc1 $f0, 0xc($s2) +/* A942BC 80240B7C 0220302D */ daddu $a2, $s1, $zero +/* A942C0 80240B80 E7A00014 */ swc1 $f0, 0x14($sp) +/* A942C4 80240B84 864200A6 */ lh $v0, 0xa6($s2) +/* A942C8 80240B88 27B40028 */ addiu $s4, $sp, 0x28 +/* A942CC 80240B8C 44820000 */ mtc1 $v0, $f0 +/* A942D0 80240B90 00000000 */ nop +/* A942D4 80240B94 46800020 */ cvt.s.w $f0, $f0 +/* A942D8 80240B98 E7A00018 */ swc1 $f0, 0x18($sp) +/* A942DC 80240B9C 864200A8 */ lh $v0, 0xa8($s2) +/* A942E0 80240BA0 0280382D */ daddu $a3, $s4, $zero +/* A942E4 80240BA4 44820000 */ mtc1 $v0, $f0 +/* A942E8 80240BA8 00000000 */ nop +/* A942EC 80240BAC 46800020 */ cvt.s.w $f0, $f0 +/* A942F0 80240BB0 0C0376B9 */ jal func_800DDAE4 +/* A942F4 80240BB4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A942F8 80240BB8 54400001 */ bnel $v0, $zero, .L80240BC0 +/* A942FC 80240BBC 24160001 */ addiu $s6, $zero, 1 +.L80240BC0: +/* A94300 80240BC0 0200282D */ daddu $a1, $s0, $zero +/* A94304 80240BC4 0220302D */ daddu $a2, $s1, $zero +/* A94308 80240BC8 C6400038 */ lwc1 $f0, 0x38($s2) +/* A9430C 80240BCC C642003C */ lwc1 $f2, 0x3c($s2) +/* A94310 80240BD0 C6440040 */ lwc1 $f4, 0x40($s2) +/* A94314 80240BD4 3C01447A */ lui $at, 0x447a +/* A94318 80240BD8 44813000 */ mtc1 $at, $f6 +/* A9431C 80240BDC 27A2002C */ addiu $v0, $sp, 0x2c +/* A94320 80240BE0 E7A00020 */ swc1 $f0, 0x20($sp) +/* A94324 80240BE4 E7A20024 */ swc1 $f2, 0x24($sp) +/* A94328 80240BE8 E7A40028 */ swc1 $f4, 0x28($sp) +/* A9432C 80240BEC E7A6002C */ swc1 $f6, 0x2c($sp) +/* A94330 80240BF0 AFA20010 */ sw $v0, 0x10($sp) +/* A94334 80240BF4 8E440080 */ lw $a0, 0x80($s2) +/* A94338 80240BF8 0C0372DF */ jal func_800DCB7C +/* A9433C 80240BFC 0280382D */ daddu $a3, $s4, $zero +/* A94340 80240C00 10400019 */ beqz $v0, .L80240C68 +/* A94344 80240C04 00000000 */ nop +/* A94348 80240C08 C640001C */ lwc1 $f0, 0x1c($s2) +/* A9434C 80240C0C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A94350 80240C10 46000005 */ abs.s $f0, $f0 +/* A94354 80240C14 4600103C */ c.lt.s $f2, $f0 +/* A94358 80240C18 00000000 */ nop +/* A9435C 80240C1C 45000012 */ bc1f .L80240C68 +/* A94360 80240C20 00000000 */ nop +/* A94364 80240C24 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A94368 80240C28 C6400064 */ lwc1 $f0, 0x64($s2) +/* A9436C 80240C2C 46002001 */ sub.s $f0, $f4, $f0 +/* A94370 80240C30 3C014034 */ lui $at, 0x4034 +/* A94374 80240C34 44811800 */ mtc1 $at, $f3 +/* A94378 80240C38 44801000 */ mtc1 $zero, $f2 +/* A9437C 80240C3C 46000005 */ abs.s $f0, $f0 +/* A94380 80240C40 46000021 */ cvt.d.s $f0, $f0 +/* A94384 80240C44 4622003C */ c.lt.d $f0, $f2 +/* A94388 80240C48 00000000 */ nop +/* A9438C 80240C4C 45000006 */ bc1f .L80240C68 +/* A94390 80240C50 0240202D */ daddu $a0, $s2, $zero +/* A94394 80240C54 8E450018 */ lw $a1, 0x18($s2) +/* A94398 80240C58 8E46000C */ lw $a2, 0xc($s2) +/* A9439C 80240C5C 2416000A */ addiu $s6, $zero, 0xa +/* A943A0 80240C60 0C00EA95 */ jal npc_move_heading +/* A943A4 80240C64 E644003C */ swc1 $f4, 0x3c($s2) +.L80240C68: +/* A943A8 80240C68 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A943AC 80240C6C 3C013FF0 */ lui $at, 0x3ff0 +/* A943B0 80240C70 44811800 */ mtc1 $at, $f3 +/* A943B4 80240C74 44801000 */ mtc1 $zero, $f2 +/* A943B8 80240C78 46000021 */ cvt.d.s $f0, $f0 +/* A943BC 80240C7C 4622003C */ c.lt.d $f0, $f2 +/* A943C0 80240C80 00000000 */ nop +/* A943C4 80240C84 45030001 */ bc1tl .L80240C8C +/* A943C8 80240C88 2416000B */ addiu $s6, $zero, 0xb +.L80240C8C: +/* A943CC 80240C8C 9642008E */ lhu $v0, 0x8e($s2) +/* A943D0 80240C90 2442FFFF */ addiu $v0, $v0, -1 +/* A943D4 80240C94 A642008E */ sh $v0, 0x8e($s2) +/* A943D8 80240C98 00021400 */ sll $v0, $v0, 0x10 +/* A943DC 80240C9C 58400001 */ blezl $v0, .L80240CA4 +/* A943E0 80240CA0 24160014 */ addiu $s6, $zero, 0x14 +.L80240CA4: +/* A943E4 80240CA4 56C00019 */ bnel $s6, $zero, .L80240D0C +/* A943E8 80240CA8 AFA00010 */ sw $zero, 0x10($sp) +/* A943EC 80240CAC 8E620070 */ lw $v0, 0x70($s3) +/* A943F0 80240CB0 30420001 */ andi $v0, $v0, 1 +/* A943F4 80240CB4 10400009 */ beqz $v0, .L80240CDC +/* A943F8 80240CB8 00000000 */ nop +/* A943FC 80240CBC C640004C */ lwc1 $f0, 0x4c($s2) +/* A94400 80240CC0 3C014044 */ lui $at, 0x4044 +/* A94404 80240CC4 44811800 */ mtc1 $at, $f3 +/* A94408 80240CC8 44801000 */ mtc1 $zero, $f2 +/* A9440C 80240CCC 46000021 */ cvt.d.s $f0, $f0 +/* A94410 80240CD0 46220000 */ add.d $f0, $f0, $f2 +/* A94414 80240CD4 46200020 */ cvt.s.d $f0, $f0 +/* A94418 80240CD8 E640004C */ swc1 $f0, 0x4c($s2) +.L80240CDC: +/* A9441C 80240CDC 8E450018 */ lw $a1, 0x18($s2) +/* A94420 80240CE0 8E46000C */ lw $a2, 0xc($s2) +/* A94424 80240CE4 0C00EA95 */ jal npc_move_heading +/* A94428 80240CE8 0240202D */ daddu $a0, $s2, $zero +/* A9442C 80240CEC C644003C */ lwc1 $f4, 0x3c($s2) +/* A94430 80240CF0 C640001C */ lwc1 $f0, 0x1c($s2) +/* A94434 80240CF4 46002100 */ add.s $f4, $f4, $f0 +/* A94438 80240CF8 C6420014 */ lwc1 $f2, 0x14($s2) +/* A9443C 80240CFC 46020001 */ sub.s $f0, $f0, $f2 +/* A94440 80240D00 E644003C */ swc1 $f4, 0x3c($s2) +/* A94444 80240D04 0809035E */ j .L80240D78 +/* A94448 80240D08 E640001C */ swc1 $f0, 0x1c($s2) +.L80240D0C: +/* A9444C 80240D0C AFA00014 */ sw $zero, 0x14($sp) +/* A94450 80240D10 8E450038 */ lw $a1, 0x38($s2) +/* A94454 80240D14 8E46003C */ lw $a2, 0x3c($s2) +/* A94458 80240D18 8E470040 */ lw $a3, 0x40($s2) +/* A9445C 80240D1C 0C01BECC */ jal fx_walk_normal +/* A94460 80240D20 24040002 */ addiu $a0, $zero, 2 +/* A94464 80240D24 3C01C47A */ lui $at, 0xc47a +/* A94468 80240D28 44810000 */ mtc1 $at, $f0 +/* A9446C 80240D2C AE60006C */ sw $zero, 0x6c($s3) +/* A94470 80240D30 8E420000 */ lw $v0, ($s2) +/* A94474 80240D34 0240202D */ daddu $a0, $s2, $zero +/* A94478 80240D38 AE400038 */ sw $zero, 0x38($s2) +/* A9447C 80240D3C AE400040 */ sw $zero, 0x40($s2) +/* A94480 80240D40 AE40001C */ sw $zero, 0x1c($s2) +/* A94484 80240D44 34420002 */ ori $v0, $v0, 2 +/* A94488 80240D48 E640003C */ swc1 $f0, 0x3c($s2) +/* A9448C 80240D4C 0C00EAFF */ jal disable_npc_shadow +/* A94490 80240D50 AE420000 */ sw $v0, ($s2) +/* A94494 80240D54 8E420000 */ lw $v0, ($s2) +/* A94498 80240D58 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9449C 80240D5C 00431024 */ and $v0, $v0, $v1 +/* A944A0 80240D60 AE420000 */ sw $v0, ($s2) +/* A944A4 80240D64 8E620000 */ lw $v0, ($s3) +/* A944A8 80240D68 3C031F00 */ lui $v1, 0x1f00 +/* A944AC 80240D6C 00431025 */ or $v0, $v0, $v1 +/* A944B0 80240D70 AE620000 */ sw $v0, ($s3) +/* A944B4 80240D74 AEE00070 */ sw $zero, 0x70($s7) +.L80240D78: +/* A944B8 80240D78 0000102D */ daddu $v0, $zero, $zero +.L80240D7C: +/* A944BC 80240D7C 8FBF0050 */ lw $ra, 0x50($sp) +/* A944C0 80240D80 8FB7004C */ lw $s7, 0x4c($sp) +/* A944C4 80240D84 8FB60048 */ lw $s6, 0x48($sp) +/* A944C8 80240D88 8FB50044 */ lw $s5, 0x44($sp) +/* A944CC 80240D8C 8FB40040 */ lw $s4, 0x40($sp) +/* A944D0 80240D90 8FB3003C */ lw $s3, 0x3c($sp) +/* A944D4 80240D94 8FB20038 */ lw $s2, 0x38($sp) +/* A944D8 80240D98 8FB10034 */ lw $s1, 0x34($sp) +/* A944DC 80240D9C 8FB00030 */ lw $s0, 0x30($sp) +/* A944E0 80240DA0 03E00008 */ jr $ra +/* A944E4 80240DA4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80240DA8.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240DA8.s new file mode 100644 index 0000000000..b7e8d41179 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80240DA8.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA8 +/* A944E8 80240DA8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A944EC 80240DAC AFB3003C */ sw $s3, 0x3c($sp) +/* A944F0 80240DB0 0080982D */ daddu $s3, $a0, $zero +/* A944F4 80240DB4 AFB40040 */ sw $s4, 0x40($sp) +/* A944F8 80240DB8 0000A02D */ daddu $s4, $zero, $zero +/* A944FC 80240DBC 3C03800A */ lui $v1, 0x800a +/* A94500 80240DC0 8463A634 */ lh $v1, -0x59cc($v1) +/* A94504 80240DC4 3C04800B */ lui $a0, %hi(gCameras) +/* A94508 80240DC8 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A9450C 80240DCC AFBF0044 */ sw $ra, 0x44($sp) +/* A94510 80240DD0 AFB20038 */ sw $s2, 0x38($sp) +/* A94514 80240DD4 AFB10034 */ sw $s1, 0x34($sp) +/* A94518 80240DD8 AFB00030 */ sw $s0, 0x30($sp) +/* A9451C 80240DDC F7B80058 */ sdc1 $f24, 0x58($sp) +/* A94520 80240DE0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A94524 80240DE4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A94528 80240DE8 8E710148 */ lw $s1, 0x148($s3) +/* A9452C 80240DEC 00031080 */ sll $v0, $v1, 2 +/* A94530 80240DF0 00431021 */ addu $v0, $v0, $v1 +/* A94534 80240DF4 00021080 */ sll $v0, $v0, 2 +/* A94538 80240DF8 00431023 */ subu $v0, $v0, $v1 +/* A9453C 80240DFC 000218C0 */ sll $v1, $v0, 3 +/* A94540 80240E00 00431021 */ addu $v0, $v0, $v1 +/* A94544 80240E04 000210C0 */ sll $v0, $v0, 3 +/* A94548 80240E08 10A00002 */ beqz $a1, .L80240E14 +/* A9454C 80240E0C 00449021 */ addu $s2, $v0, $a0 +/* A94550 80240E10 AE600070 */ sw $zero, 0x70($s3) +.L80240E14: +/* A94554 80240E14 0C00FB5A */ jal get_enemy_safe +/* A94558 80240E18 86240008 */ lh $a0, 8($s1) +/* A9455C 80240E1C 14400006 */ bnez $v0, .L80240E38 +/* A94560 80240E20 24020005 */ addiu $v0, $zero, 5 +/* A94564 80240E24 0260202D */ daddu $a0, $s3, $zero +/* A94568 80240E28 3C05FE36 */ lui $a1, 0xfe36 +/* A9456C 80240E2C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A94570 80240E30 08090466 */ j .L80241198 +/* A94574 80240E34 0000302D */ daddu $a2, $zero, $zero +.L80240E38: +/* A94578 80240E38 8E23006C */ lw $v1, 0x6c($s1) +/* A9457C 80240E3C 14620005 */ bne $v1, $v0, .L80240E54 +/* A94580 80240E40 0260202D */ daddu $a0, $s3, $zero +/* A94584 80240E44 3C05FE36 */ lui $a1, 0xfe36 +/* A94588 80240E48 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9458C 80240E4C 08090466 */ j .L80241198 +/* A94590 80240E50 0000302D */ daddu $a2, $zero, $zero +.L80240E54: +/* A94594 80240E54 86240008 */ lh $a0, 8($s1) +/* A94598 80240E58 0C00FB5A */ jal get_enemy_safe +/* A9459C 80240E5C 00000000 */ nop +/* A945A0 80240E60 14400005 */ bnez $v0, .L80240E78 +/* A945A4 80240E64 0260202D */ daddu $a0, $s3, $zero +/* A945A8 80240E68 3C05FE36 */ lui $a1, 0xfe36 +/* A945AC 80240E6C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A945B0 80240E70 08090466 */ j .L80241198 +/* A945B4 80240E74 0000302D */ daddu $a2, $zero, $zero +.L80240E78: +/* A945B8 80240E78 86240008 */ lh $a0, 8($s1) +/* A945BC 80240E7C 0C00EABB */ jal get_npc_unsafe +/* A945C0 80240E80 00000000 */ nop +/* A945C4 80240E84 8E630070 */ lw $v1, 0x70($s3) +/* A945C8 80240E88 10600006 */ beqz $v1, .L80240EA4 +/* A945CC 80240E8C 0040802D */ daddu $s0, $v0, $zero +/* A945D0 80240E90 24020001 */ addiu $v0, $zero, 1 +/* A945D4 80240E94 1062003F */ beq $v1, $v0, .L80240F94 +/* A945D8 80240E98 0000102D */ daddu $v0, $zero, $zero +/* A945DC 80240E9C 08090476 */ j .L802411D8 +/* A945E0 80240EA0 00000000 */ nop +.L80240EA4: +/* A945E4 80240EA4 AFA00010 */ sw $zero, 0x10($sp) +/* A945E8 80240EA8 AFA00014 */ sw $zero, 0x14($sp) +/* A945EC 80240EAC 8E050038 */ lw $a1, 0x38($s0) +/* A945F0 80240EB0 8E06003C */ lw $a2, 0x3c($s0) +/* A945F4 80240EB4 8E070040 */ lw $a3, 0x40($s0) +/* A945F8 80240EB8 0C01BECC */ jal fx_walk_normal +/* A945FC 80240EBC 24040002 */ addiu $a0, $zero, 2 +/* A94600 80240EC0 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A94604 80240EC4 0C00A6C9 */ jal clamp_angle +/* A94608 80240EC8 00000000 */ nop +/* A9460C 80240ECC 3C018024 */ lui $at, 0x8024 +/* A94610 80240ED0 D4385B30 */ ldc1 $f24, 0x5b30($at) +/* A94614 80240ED4 46000521 */ cvt.d.s $f20, $f0 +/* A94618 80240ED8 4638A300 */ add.d $f12, $f20, $f24 +/* A9461C 80240EDC 3C018024 */ lui $at, 0x8024 +/* A94620 80240EE0 D4365B38 */ ldc1 $f22, 0x5b38($at) +/* A94624 80240EE4 0C00A6C9 */ jal clamp_angle +/* A94628 80240EE8 46206320 */ cvt.s.d $f12, $f12 +/* A9462C 80240EEC 4636A500 */ add.d $f20, $f20, $f22 +/* A94630 80240EF0 4620A320 */ cvt.s.d $f12, $f20 +/* A94634 80240EF4 0C00A6C9 */ jal clamp_angle +/* A94638 80240EF8 46000506 */ mov.s $f20, $f0 +/* A9463C 80240EFC 4600A521 */ cvt.d.s $f20, $f20 +/* A94640 80240F00 4636A500 */ add.d $f20, $f20, $f22 +/* A94644 80240F04 46000586 */ mov.s $f22, $f0 +/* A94648 80240F08 0C00A6C9 */ jal clamp_angle +/* A9464C 80240F0C 4620A320 */ cvt.s.d $f12, $f20 +/* A94650 80240F10 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A94654 80240F14 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A94658 80240F18 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9465C 80240F1C C44E0084 */ lwc1 $f14, 0x84($v0) +/* A94660 80240F20 0C00A70A */ jal get_clamped_angle_diff +/* A94664 80240F24 46000506 */ mov.s $f20, $f0 +/* A94668 80240F28 0C00A6C9 */ jal clamp_angle +/* A9466C 80240F2C 46000306 */ mov.s $f12, $f0 +/* A94670 80240F30 46000021 */ cvt.d.s $f0, $f0 +/* A94674 80240F34 4638003C */ c.lt.d $f0, $f24 +/* A94678 80240F38 00000000 */ nop +/* A9467C 80240F3C 45020002 */ bc1fl .L80240F48 +/* A94680 80240F40 E614000C */ swc1 $f20, 0xc($s0) +/* A94684 80240F44 E616000C */ swc1 $f22, 0xc($s0) +.L80240F48: +/* A94688 80240F48 C6000018 */ lwc1 $f0, 0x18($s0) +/* A9468C 80240F4C 3C018024 */ lui $at, 0x8024 +/* A94690 80240F50 D4225B40 */ ldc1 $f2, 0x5b40($at) +/* A94694 80240F54 46000021 */ cvt.d.s $f0, $f0 +/* A94698 80240F58 46220002 */ mul.d $f0, $f0, $f2 +/* A9469C 80240F5C 00000000 */ nop +/* A946A0 80240F60 3C013F66 */ lui $at, 0x3f66 +/* A946A4 80240F64 34216666 */ ori $at, $at, 0x6666 +/* A946A8 80240F68 44812000 */ mtc1 $at, $f4 +/* A946AC 80240F6C 2402001E */ addiu $v0, $zero, 0x1e +/* A946B0 80240F70 A602008E */ sh $v0, 0x8e($s0) +/* A946B4 80240F74 3C014120 */ lui $at, 0x4120 +/* A946B8 80240F78 44811000 */ mtc1 $at, $f2 +/* A946BC 80240F7C 24020001 */ addiu $v0, $zero, 1 +/* A946C0 80240F80 E6040014 */ swc1 $f4, 0x14($s0) +/* A946C4 80240F84 E602001C */ swc1 $f2, 0x1c($s0) +/* A946C8 80240F88 46200020 */ cvt.s.d $f0, $f0 +/* A946CC 80240F8C E6000018 */ swc1 $f0, 0x18($s0) +/* A946D0 80240F90 AE620070 */ sw $v0, 0x70($s3) +.L80240F94: +/* A946D4 80240F94 C6000038 */ lwc1 $f0, 0x38($s0) +/* A946D8 80240F98 C602003C */ lwc1 $f2, 0x3c($s0) +/* A946DC 80240F9C C6040040 */ lwc1 $f4, 0x40($s0) +/* A946E0 80240FA0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A946E4 80240FA4 0000202D */ daddu $a0, $zero, $zero +/* A946E8 80240FA8 E7A00020 */ swc1 $f0, 0x20($sp) +/* A946EC 80240FAC E7A20024 */ swc1 $f2, 0x24($sp) +/* A946F0 80240FB0 E7A40028 */ swc1 $f4, 0x28($sp) +/* A946F4 80240FB4 E7A60010 */ swc1 $f6, 0x10($sp) +/* A946F8 80240FB8 C600000C */ lwc1 $f0, 0xc($s0) +/* A946FC 80240FBC 27A50020 */ addiu $a1, $sp, 0x20 +/* A94700 80240FC0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A94704 80240FC4 860200A6 */ lh $v0, 0xa6($s0) +/* A94708 80240FC8 27A60024 */ addiu $a2, $sp, 0x24 +/* A9470C 80240FCC 44820000 */ mtc1 $v0, $f0 +/* A94710 80240FD0 00000000 */ nop +/* A94714 80240FD4 46800020 */ cvt.s.w $f0, $f0 +/* A94718 80240FD8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9471C 80240FDC 860200A8 */ lh $v0, 0xa8($s0) +/* A94720 80240FE0 27A70028 */ addiu $a3, $sp, 0x28 +/* A94724 80240FE4 44820000 */ mtc1 $v0, $f0 +/* A94728 80240FE8 00000000 */ nop +/* A9472C 80240FEC 46800020 */ cvt.s.w $f0, $f0 +/* A94730 80240FF0 0C037711 */ jal func_800DDC44 +/* A94734 80240FF4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A94738 80240FF8 54400007 */ bnel $v0, $zero, .L80241018 +/* A9473C 80240FFC 24140001 */ addiu $s4, $zero, 1 +/* A94740 80241000 8E050018 */ lw $a1, 0x18($s0) +/* A94744 80241004 8E06000C */ lw $a2, 0xc($s0) +/* A94748 80241008 0C00EA95 */ jal npc_move_heading +/* A9474C 8024100C 0200202D */ daddu $a0, $s0, $zero +/* A94750 80241010 08090407 */ j .L8024101C +/* A94754 80241014 0000902D */ daddu $s2, $zero, $zero +.L80241018: +/* A94758 80241018 0000902D */ daddu $s2, $zero, $zero +.L8024101C: +/* A9475C 8024101C C600001C */ lwc1 $f0, 0x1c($s0) +/* A94760 80241020 44801000 */ mtc1 $zero, $f2 +/* A94764 80241024 44801800 */ mtc1 $zero, $f3 +/* A94768 80241028 46000021 */ cvt.d.s $f0, $f0 +/* A9476C 8024102C 4622003C */ c.lt.d $f0, $f2 +/* A94770 80241030 00000000 */ nop +/* A94774 80241034 45000028 */ bc1f .L802410D8 +/* A94778 80241038 27A50020 */ addiu $a1, $sp, 0x20 +/* A9477C 8024103C 27A60024 */ addiu $a2, $sp, 0x24 +/* A94780 80241040 27A2002C */ addiu $v0, $sp, 0x2c +/* A94784 80241044 C602003C */ lwc1 $f2, 0x3c($s0) +/* A94788 80241048 C6060038 */ lwc1 $f6, 0x38($s0) +/* A9478C 8024104C 3C01402A */ lui $at, 0x402a +/* A94790 80241050 4481A800 */ mtc1 $at, $f21 +/* A94794 80241054 4480A000 */ mtc1 $zero, $f20 +/* A94798 80241058 460010A1 */ cvt.d.s $f2, $f2 +/* A9479C 8024105C 46341080 */ add.d $f2, $f2, $f20 +/* A947A0 80241060 C600001C */ lwc1 $f0, 0x1c($s0) +/* A947A4 80241064 C6040040 */ lwc1 $f4, 0x40($s0) +/* A947A8 80241068 46000005 */ abs.s $f0, $f0 +/* A947AC 8024106C E7A40028 */ swc1 $f4, 0x28($sp) +/* A947B0 80241070 3C014030 */ lui $at, 0x4030 +/* A947B4 80241074 44812800 */ mtc1 $at, $f5 +/* A947B8 80241078 44802000 */ mtc1 $zero, $f4 +/* A947BC 8024107C 46000021 */ cvt.d.s $f0, $f0 +/* A947C0 80241080 E7A60020 */ swc1 $f6, 0x20($sp) +/* A947C4 80241084 46240000 */ add.d $f0, $f0, $f4 +/* A947C8 80241088 462010A0 */ cvt.s.d $f2, $f2 +/* A947CC 8024108C E7A20024 */ swc1 $f2, 0x24($sp) +/* A947D0 80241090 46200020 */ cvt.s.d $f0, $f0 +/* A947D4 80241094 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A947D8 80241098 AFA20010 */ sw $v0, 0x10($sp) +/* A947DC 8024109C 8E040080 */ lw $a0, 0x80($s0) +/* A947E0 802410A0 0C0372DF */ jal func_800DCB7C +/* A947E4 802410A4 27A70028 */ addiu $a3, $sp, 0x28 +/* A947E8 802410A8 1040000B */ beqz $v0, .L802410D8 +/* A947EC 802410AC 00000000 */ nop +/* A947F0 802410B0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A947F4 802410B4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A947F8 802410B8 46000005 */ abs.s $f0, $f0 +/* A947FC 802410BC 46000021 */ cvt.d.s $f0, $f0 +/* A94800 802410C0 46340000 */ add.d $f0, $f0, $f20 +/* A94804 802410C4 460010A1 */ cvt.d.s $f2, $f2 +/* A94808 802410C8 4620103E */ c.le.d $f2, $f0 +/* A9480C 802410CC 00000000 */ nop +/* A94810 802410D0 45030001 */ bc1tl .L802410D8 +/* A94814 802410D4 24120001 */ addiu $s2, $zero, 1 +.L802410D8: +/* A94818 802410D8 56400008 */ bnel $s2, $zero, .L802410FC +/* A9481C 802410DC 2414000A */ addiu $s4, $zero, 0xa +/* A94820 802410E0 C604003C */ lwc1 $f4, 0x3c($s0) +/* A94824 802410E4 C600001C */ lwc1 $f0, 0x1c($s0) +/* A94828 802410E8 46002100 */ add.s $f4, $f4, $f0 +/* A9482C 802410EC C6020014 */ lwc1 $f2, 0x14($s0) +/* A94830 802410F0 46020001 */ sub.s $f0, $f0, $f2 +/* A94834 802410F4 E604003C */ swc1 $f4, 0x3c($s0) +/* A94838 802410F8 E600001C */ swc1 $f0, 0x1c($s0) +.L802410FC: +/* A9483C 802410FC 9602008E */ lhu $v0, 0x8e($s0) +/* A94840 80241100 2442FFFF */ addiu $v0, $v0, -1 +/* A94844 80241104 A602008E */ sh $v0, 0x8e($s0) +/* A94848 80241108 00021400 */ sll $v0, $v0, 0x10 +/* A9484C 8024110C 58400001 */ blezl $v0, .L80241114 +/* A94850 80241110 2414000B */ addiu $s4, $zero, 0xb +.L80241114: +/* A94854 80241114 12800024 */ beqz $s4, .L802411A8 +/* A94858 80241118 00000000 */ nop +/* A9485C 8024111C AFA00010 */ sw $zero, 0x10($sp) +/* A94860 80241120 AFA00014 */ sw $zero, 0x14($sp) +/* A94864 80241124 8E050038 */ lw $a1, 0x38($s0) +/* A94868 80241128 8E06003C */ lw $a2, 0x3c($s0) +/* A9486C 8024112C 8E070040 */ lw $a3, 0x40($s0) +/* A94870 80241130 0C01BECC */ jal fx_walk_normal +/* A94874 80241134 24040002 */ addiu $a0, $zero, 2 +/* A94878 80241138 3C01C47A */ lui $at, 0xc47a +/* A9487C 8024113C 44810000 */ mtc1 $at, $f0 +/* A94880 80241140 AE20006C */ sw $zero, 0x6c($s1) +/* A94884 80241144 8E020000 */ lw $v0, ($s0) +/* A94888 80241148 0200202D */ daddu $a0, $s0, $zero +/* A9488C 8024114C AE000038 */ sw $zero, 0x38($s0) +/* A94890 80241150 AE000040 */ sw $zero, 0x40($s0) +/* A94894 80241154 34420002 */ ori $v0, $v0, 2 +/* A94898 80241158 E600003C */ swc1 $f0, 0x3c($s0) +/* A9489C 8024115C 0C00EAFF */ jal disable_npc_shadow +/* A948A0 80241160 AE020000 */ sw $v0, ($s0) +/* A948A4 80241164 0260202D */ daddu $a0, $s3, $zero +/* A948A8 80241168 3C05FE36 */ lui $a1, 0xfe36 +/* A948AC 8024116C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A948B0 80241170 24060001 */ addiu $a2, $zero, 1 +/* A948B4 80241174 8E020000 */ lw $v0, ($s0) +/* A948B8 80241178 2403F7FF */ addiu $v1, $zero, -0x801 +/* A948BC 8024117C 00431024 */ and $v0, $v0, $v1 +/* A948C0 80241180 AE020000 */ sw $v0, ($s0) +/* A948C4 80241184 8E220000 */ lw $v0, ($s1) +/* A948C8 80241188 3C031F00 */ lui $v1, 0x1f00 +/* A948CC 8024118C 00431025 */ or $v0, $v0, $v1 +/* A948D0 80241190 AE220000 */ sw $v0, ($s1) +/* A948D4 80241194 AC800070 */ sw $zero, 0x70($a0) +.L80241198: +/* A948D8 80241198 0C0B2026 */ jal set_variable +/* A948DC 8024119C 00000000 */ nop +/* A948E0 802411A0 08090476 */ j .L802411D8 +/* A948E4 802411A4 24020002 */ addiu $v0, $zero, 2 +.L802411A8: +/* A948E8 802411A8 8E220070 */ lw $v0, 0x70($s1) +/* A948EC 802411AC 30420001 */ andi $v0, $v0, 1 +/* A948F0 802411B0 10400009 */ beqz $v0, .L802411D8 +/* A948F4 802411B4 0000102D */ daddu $v0, $zero, $zero +/* A948F8 802411B8 C600004C */ lwc1 $f0, 0x4c($s0) +/* A948FC 802411BC 3C01404E */ lui $at, 0x404e +/* A94900 802411C0 44811800 */ mtc1 $at, $f3 +/* A94904 802411C4 44801000 */ mtc1 $zero, $f2 +/* A94908 802411C8 46000021 */ cvt.d.s $f0, $f0 +/* A9490C 802411CC 46220000 */ add.d $f0, $f0, $f2 +/* A94910 802411D0 46200020 */ cvt.s.d $f0, $f0 +/* A94914 802411D4 E600004C */ swc1 $f0, 0x4c($s0) +.L802411D8: +/* A94918 802411D8 8FBF0044 */ lw $ra, 0x44($sp) +/* A9491C 802411DC 8FB40040 */ lw $s4, 0x40($sp) +/* A94920 802411E0 8FB3003C */ lw $s3, 0x3c($sp) +/* A94924 802411E4 8FB20038 */ lw $s2, 0x38($sp) +/* A94928 802411E8 8FB10034 */ lw $s1, 0x34($sp) +/* A9492C 802411EC 8FB00030 */ lw $s0, 0x30($sp) +/* A94930 802411F0 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A94934 802411F4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A94938 802411F8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A9493C 802411FC 03E00008 */ jr $ra +/* A94940 80241200 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80241204_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241204_A93740.s new file mode 100644 index 0000000000..3d96863515 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241204_A93740.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241204_A94944 +/* A94944 80241204 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A94948 80241208 AFB3003C */ sw $s3, 0x3c($sp) +/* A9494C 8024120C 0080982D */ daddu $s3, $a0, $zero +/* A94950 80241210 AFBF0048 */ sw $ra, 0x48($sp) +/* A94954 80241214 AFB50044 */ sw $s5, 0x44($sp) +/* A94958 80241218 AFB40040 */ sw $s4, 0x40($sp) +/* A9495C 8024121C AFB20038 */ sw $s2, 0x38($sp) +/* A94960 80241220 AFB10034 */ sw $s1, 0x34($sp) +/* A94964 80241224 AFB00030 */ sw $s0, 0x30($sp) +/* A94968 80241228 8E720148 */ lw $s2, 0x148($s3) +/* A9496C 8024122C 86440008 */ lh $a0, 8($s2) +/* A94970 80241230 8E70000C */ lw $s0, 0xc($s3) +/* A94974 80241234 0C00EABB */ jal get_npc_unsafe +/* A94978 80241238 00A0882D */ daddu $s1, $a1, $zero +/* A9497C 8024123C 0260202D */ daddu $a0, $s3, $zero +/* A94980 80241240 8E050000 */ lw $a1, ($s0) +/* A94984 80241244 0C0B1EAF */ jal get_variable +/* A94988 80241248 0040A02D */ daddu $s4, $v0, $zero +/* A9498C 8024124C AFA00010 */ sw $zero, 0x10($sp) +/* A94990 80241250 8E4300D0 */ lw $v1, 0xd0($s2) +/* A94994 80241254 8C630030 */ lw $v1, 0x30($v1) +/* A94998 80241258 AFA30014 */ sw $v1, 0x14($sp) +/* A9499C 8024125C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A949A0 80241260 8C63001C */ lw $v1, 0x1c($v1) +/* A949A4 80241264 AFA30018 */ sw $v1, 0x18($sp) +/* A949A8 80241268 8E4300D0 */ lw $v1, 0xd0($s2) +/* A949AC 8024126C 8C630024 */ lw $v1, 0x24($v1) +/* A949B0 80241270 AFA3001C */ sw $v1, 0x1c($sp) +/* A949B4 80241274 8E4300D0 */ lw $v1, 0xd0($s2) +/* A949B8 80241278 8C630028 */ lw $v1, 0x28($v1) +/* A949BC 8024127C 27B50010 */ addiu $s5, $sp, 0x10 +/* A949C0 80241280 AFA30020 */ sw $v1, 0x20($sp) +/* A949C4 80241284 8E4300D0 */ lw $v1, 0xd0($s2) +/* A949C8 80241288 3C014220 */ lui $at, 0x4220 +/* A949CC 8024128C 44810000 */ mtc1 $at, $f0 +/* A949D0 80241290 8C63002C */ lw $v1, 0x2c($v1) +/* A949D4 80241294 0040802D */ daddu $s0, $v0, $zero +/* A949D8 80241298 E7A00028 */ swc1 $f0, 0x28($sp) +/* A949DC 8024129C A7A0002C */ sh $zero, 0x2c($sp) +/* A949E0 802412A0 16200005 */ bnez $s1, .L802412B8 +/* A949E4 802412A4 AFA30024 */ sw $v1, 0x24($sp) +/* A949E8 802412A8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A949EC 802412AC 30420004 */ andi $v0, $v0, 4 +/* A949F0 802412B0 1040002F */ beqz $v0, .L80241370 +/* A949F4 802412B4 00000000 */ nop +.L802412B8: +/* A949F8 802412B8 2404F7FF */ addiu $a0, $zero, -0x801 +/* A949FC 802412BC AE600070 */ sw $zero, 0x70($s3) +/* A94A00 802412C0 A680008E */ sh $zero, 0x8e($s4) +/* A94A04 802412C4 8E4200CC */ lw $v0, 0xcc($s2) +/* A94A08 802412C8 8E830000 */ lw $v1, ($s4) +/* A94A0C 802412CC 8C420000 */ lw $v0, ($v0) +/* A94A10 802412D0 00641824 */ and $v1, $v1, $a0 +/* A94A14 802412D4 AE830000 */ sw $v1, ($s4) +/* A94A18 802412D8 AE820028 */ sw $v0, 0x28($s4) +/* A94A1C 802412DC 8E4200D0 */ lw $v0, 0xd0($s2) +/* A94A20 802412E0 8C420034 */ lw $v0, 0x34($v0) +/* A94A24 802412E4 54400005 */ bnel $v0, $zero, .L802412FC +/* A94A28 802412E8 2402FDFF */ addiu $v0, $zero, -0x201 +/* A94A2C 802412EC 34620200 */ ori $v0, $v1, 0x200 +/* A94A30 802412F0 2403FFF7 */ addiu $v1, $zero, -9 +/* A94A34 802412F4 080904C1 */ j .L80241304 +/* A94A38 802412F8 00431024 */ and $v0, $v0, $v1 +.L802412FC: +/* A94A3C 802412FC 00621024 */ and $v0, $v1, $v0 +/* A94A40 80241300 34420008 */ ori $v0, $v0, 8 +.L80241304: +/* A94A44 80241304 AE820000 */ sw $v0, ($s4) +/* A94A48 80241308 8E4200B0 */ lw $v0, 0xb0($s2) +/* A94A4C 8024130C 30420004 */ andi $v0, $v0, 4 +/* A94A50 80241310 10400008 */ beqz $v0, .L80241334 +/* A94A54 80241314 24020063 */ addiu $v0, $zero, 0x63 +/* A94A58 80241318 AE620070 */ sw $v0, 0x70($s3) +/* A94A5C 8024131C AE600074 */ sw $zero, 0x74($s3) +/* A94A60 80241320 8E4200B0 */ lw $v0, 0xb0($s2) +/* A94A64 80241324 2403FFFB */ addiu $v1, $zero, -5 +/* A94A68 80241328 00431024 */ and $v0, $v0, $v1 +/* A94A6C 8024132C 080904D3 */ j .L8024134C +/* A94A70 80241330 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241334: +/* A94A74 80241334 8E420000 */ lw $v0, ($s2) +/* A94A78 80241338 3C034000 */ lui $v1, 0x4000 +/* A94A7C 8024133C 00431024 */ and $v0, $v0, $v1 +/* A94A80 80241340 10400002 */ beqz $v0, .L8024134C +/* A94A84 80241344 2402000C */ addiu $v0, $zero, 0xc +/* A94A88 80241348 AE620070 */ sw $v0, 0x70($s3) +.L8024134C: +/* A94A8C 8024134C 3C05BFFF */ lui $a1, 0xbfff +/* A94A90 80241350 34A5FFFF */ ori $a1, $a1, 0xffff +/* A94A94 80241354 2404FFFB */ addiu $a0, $zero, -5 +/* A94A98 80241358 8E4200B0 */ lw $v0, 0xb0($s2) +/* A94A9C 8024135C 8E430000 */ lw $v1, ($s2) +/* A94AA0 80241360 00441024 */ and $v0, $v0, $a0 +/* A94AA4 80241364 00651824 */ and $v1, $v1, $a1 +/* A94AA8 80241368 AE4200B0 */ sw $v0, 0xb0($s2) +/* A94AAC 8024136C AE430000 */ sw $v1, ($s2) +.L80241370: +/* A94AB0 80241370 8E630070 */ lw $v1, 0x70($s3) +/* A94AB4 80241374 2C620064 */ sltiu $v0, $v1, 0x64 +/* A94AB8 80241378 10400060 */ beqz $v0, .L802414FC +/* A94ABC 8024137C 00031080 */ sll $v0, $v1, 2 +/* A94AC0 80241380 3C018024 */ lui $at, 0x8024 +/* A94AC4 80241384 00220821 */ addu $at, $at, $v0 +/* A94AC8 80241388 8C225B48 */ lw $v0, 0x5b48($at) +/* A94ACC 8024138C 00400008 */ jr $v0 +/* A94AD0 80241390 00000000 */ nop +/* A94AD4 80241394 0260202D */ daddu $a0, $s3, $zero +/* A94AD8 80241398 0200282D */ daddu $a1, $s0, $zero +/* A94ADC 8024139C 0C012568 */ jal func_800495A0 +/* A94AE0 802413A0 02A0302D */ daddu $a2, $s5, $zero +/* A94AE4 802413A4 0260202D */ daddu $a0, $s3, $zero +/* A94AE8 802413A8 0200282D */ daddu $a1, $s0, $zero +/* A94AEC 802413AC 0C0125AE */ jal func_800496B8 +/* A94AF0 802413B0 02A0302D */ daddu $a2, $s5, $zero +/* A94AF4 802413B4 0809053F */ j .L802414FC +/* A94AF8 802413B8 00000000 */ nop +/* A94AFC 802413BC 0260202D */ daddu $a0, $s3, $zero +/* A94B00 802413C0 0200282D */ daddu $a1, $s0, $zero +/* A94B04 802413C4 0C0126D1 */ jal func_80049B44 +/* A94B08 802413C8 02A0302D */ daddu $a2, $s5, $zero +/* A94B0C 802413CC 0260202D */ daddu $a0, $s3, $zero +/* A94B10 802413D0 0200282D */ daddu $a1, $s0, $zero +/* A94B14 802413D4 0C012701 */ jal func_80049C04 +/* A94B18 802413D8 02A0302D */ daddu $a2, $s5, $zero +/* A94B1C 802413DC 0809053F */ j .L802414FC +/* A94B20 802413E0 00000000 */ nop +/* A94B24 802413E4 0260202D */ daddu $a0, $s3, $zero +/* A94B28 802413E8 0200282D */ daddu $a1, $s0, $zero +/* A94B2C 802413EC 0C01278F */ jal func_80049E3C +/* A94B30 802413F0 02A0302D */ daddu $a2, $s5, $zero +/* A94B34 802413F4 0260202D */ daddu $a0, $s3, $zero +/* A94B38 802413F8 0200282D */ daddu $a1, $s0, $zero +/* A94B3C 802413FC 0C0127B3 */ jal func_80049ECC +/* A94B40 80241400 02A0302D */ daddu $a2, $s5, $zero +/* A94B44 80241404 0809053F */ j .L802414FC +/* A94B48 80241408 00000000 */ nop +/* A94B4C 8024140C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A94B50 80241410 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A94B54 80241414 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A94B58 80241418 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A94B5C 8024141C 8C460028 */ lw $a2, 0x28($v0) +/* A94B60 80241420 0C00A7B5 */ jal dist2D +/* A94B64 80241424 8C470030 */ lw $a3, 0x30($v0) +/* A94B68 80241428 8E42006C */ lw $v0, 0x6c($s2) +/* A94B6C 8024142C 10400008 */ beqz $v0, .L80241450 +/* A94B70 80241430 46000086 */ mov.s $f2, $f0 +/* A94B74 80241434 44820000 */ mtc1 $v0, $f0 +/* A94B78 80241438 00000000 */ nop +/* A94B7C 8024143C 46800020 */ cvt.s.w $f0, $f0 +/* A94B80 80241440 4602003C */ c.lt.s $f0, $f2 +/* A94B84 80241444 00000000 */ nop +/* A94B88 80241448 4500000B */ bc1f .L80241478 +/* A94B8C 8024144C 0260202D */ daddu $a0, $s3, $zero +.L80241450: +/* A94B90 80241450 0260202D */ daddu $a0, $s3, $zero +/* A94B94 80241454 8E050024 */ lw $a1, 0x24($s0) +/* A94B98 80241458 8E060028 */ lw $a2, 0x28($s0) +/* A94B9C 8024145C 0C090140 */ jal func_80240500 +/* A94BA0 80241460 02A0382D */ daddu $a3, $s5, $zero +/* A94BA4 80241464 8E630070 */ lw $v1, 0x70($s3) +/* A94BA8 80241468 2402000C */ addiu $v0, $zero, 0xc +/* A94BAC 8024146C 14620023 */ bne $v1, $v0, .L802414FC +/* A94BB0 80241470 00000000 */ nop +/* A94BB4 80241474 0260202D */ daddu $a0, $s3, $zero +.L80241478: +/* A94BB8 80241478 0200282D */ daddu $a1, $s0, $zero +/* A94BBC 8024147C 0C0127DF */ jal func_80049F7C +/* A94BC0 80241480 02A0302D */ daddu $a2, $s5, $zero +/* A94BC4 80241484 0260202D */ daddu $a0, $s3, $zero +/* A94BC8 80241488 0200282D */ daddu $a1, $s0, $zero +/* A94BCC 8024148C 0C012849 */ jal func_8004A124 +/* A94BD0 80241490 02A0302D */ daddu $a2, $s5, $zero +/* A94BD4 80241494 0809053F */ j .L802414FC +/* A94BD8 80241498 00000000 */ nop +/* A94BDC 8024149C 0260202D */ daddu $a0, $s3, $zero +/* A94BE0 802414A0 0200282D */ daddu $a1, $s0, $zero +/* A94BE4 802414A4 0C0128FA */ jal func_8004A3E8 +/* A94BE8 802414A8 02A0302D */ daddu $a2, $s5, $zero +/* A94BEC 802414AC 0809053F */ j .L802414FC +/* A94BF0 802414B0 00000000 */ nop +/* A94BF4 802414B4 0C090191 */ jal func_80240644 +/* A94BF8 802414B8 0260202D */ daddu $a0, $s3, $zero +/* A94BFC 802414BC 0809053F */ j .L802414FC +/* A94C00 802414C0 00000000 */ nop +/* A94C04 802414C4 0C0901D1 */ jal func_80240744 +/* A94C08 802414C8 0260202D */ daddu $a0, $s3, $zero +/* A94C0C 802414CC 0809053F */ j .L802414FC +/* A94C10 802414D0 00000000 */ nop +/* A94C14 802414D4 0C0901E2 */ jal func_80240788 +/* A94C18 802414D8 0260202D */ daddu $a0, $s3, $zero +/* A94C1C 802414DC 0809053F */ j .L802414FC +/* A94C20 802414E0 00000000 */ nop +/* A94C24 802414E4 0C09020A */ jal func_80240828 +/* A94C28 802414E8 0260202D */ daddu $a0, $s3, $zero +/* A94C2C 802414EC 0809053F */ j .L802414FC +/* A94C30 802414F0 00000000 */ nop +/* A94C34 802414F4 0C0129CF */ jal func_8004A73C +/* A94C38 802414F8 0260202D */ daddu $a0, $s3, $zero +.L802414FC: +/* A94C3C 802414FC 8FBF0048 */ lw $ra, 0x48($sp) +/* A94C40 80241500 8FB50044 */ lw $s5, 0x44($sp) +/* A94C44 80241504 8FB40040 */ lw $s4, 0x40($sp) +/* A94C48 80241508 8FB3003C */ lw $s3, 0x3c($sp) +/* A94C4C 8024150C 8FB20038 */ lw $s2, 0x38($sp) +/* A94C50 80241510 8FB10034 */ lw $s1, 0x34($sp) +/* A94C54 80241514 8FB00030 */ lw $s0, 0x30($sp) +/* A94C58 80241518 0000102D */ daddu $v0, $zero, $zero +/* A94C5C 8024151C 03E00008 */ jr $ra +/* A94C60 80241520 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80241524_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241524_A93740.s new file mode 100644 index 0000000000..d207d590a6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241524_A93740.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241524_A94C64 +/* A94C64 80241524 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A94C68 80241528 3C05FE36 */ lui $a1, 0xfe36 +/* A94C6C 8024152C AFBF0010 */ sw $ra, 0x10($sp) +/* A94C70 80241530 8C820148 */ lw $v0, 0x148($a0) +/* A94C74 80241534 3C06800B */ lui $a2, 0x800b +/* A94C78 80241538 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A94C7C 8024153C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A94C80 80241540 00C23026 */ xor $a2, $a2, $v0 +/* A94C84 80241544 0C0B2026 */ jal set_variable +/* A94C88 80241548 2CC60001 */ sltiu $a2, $a2, 1 +/* A94C8C 8024154C 8FBF0010 */ lw $ra, 0x10($sp) +/* A94C90 80241550 24020002 */ addiu $v0, $zero, 2 +/* A94C94 80241554 03E00008 */ jr $ra +/* A94C98 80241558 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_8024155C.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024155C.s new file mode 100644 index 0000000000..3a2e916fec --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024155C.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024155C +/* A94C9C 8024155C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A94CA0 80241560 AFB20018 */ sw $s2, 0x18($sp) +/* A94CA4 80241564 0080902D */ daddu $s2, $a0, $zero +/* A94CA8 80241568 AFBF001C */ sw $ra, 0x1c($sp) +/* A94CAC 8024156C AFB10014 */ sw $s1, 0x14($sp) +/* A94CB0 80241570 AFB00010 */ sw $s0, 0x10($sp) +/* A94CB4 80241574 8E510148 */ lw $s1, 0x148($s2) +/* A94CB8 80241578 0C00EABB */ jal get_npc_unsafe +/* A94CBC 8024157C 86240008 */ lh $a0, 8($s1) +/* A94CC0 80241580 0040802D */ daddu $s0, $v0, $zero +/* A94CC4 80241584 8E2300CC */ lw $v1, 0xcc($s1) +/* A94CC8 80241588 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A94CCC 8024158C 8C630020 */ lw $v1, 0x20($v1) +/* A94CD0 80241590 AE030028 */ sw $v1, 0x28($s0) +/* A94CD4 80241594 96220076 */ lhu $v0, 0x76($s1) +/* A94CD8 80241598 A602008E */ sh $v0, 0x8e($s0) +/* A94CDC 8024159C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A94CE0 802415A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A94CE4 802415A4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A94CE8 802415A8 8C460028 */ lw $a2, 0x28($v0) +/* A94CEC 802415AC 0C00A720 */ jal atan2 +/* A94CF0 802415B0 8C470030 */ lw $a3, 0x30($v0) +/* A94CF4 802415B4 2402000D */ addiu $v0, $zero, 0xd +/* A94CF8 802415B8 E600000C */ swc1 $f0, 0xc($s0) +/* A94CFC 802415BC AE420070 */ sw $v0, 0x70($s2) +/* A94D00 802415C0 8FBF001C */ lw $ra, 0x1c($sp) +/* A94D04 802415C4 8FB20018 */ lw $s2, 0x18($sp) +/* A94D08 802415C8 8FB10014 */ lw $s1, 0x14($sp) +/* A94D0C 802415CC 8FB00010 */ lw $s0, 0x10($sp) +/* A94D10 802415D0 03E00008 */ jr $ra +/* A94D14 802415D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_802415D8.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_802415D8.s new file mode 100644 index 0000000000..30c56bf347 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_802415D8.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415D8 +/* A94D18 802415D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A94D1C 802415DC AFB3001C */ sw $s3, 0x1c($sp) +/* A94D20 802415E0 0080982D */ daddu $s3, $a0, $zero +/* A94D24 802415E4 AFBF0020 */ sw $ra, 0x20($sp) +/* A94D28 802415E8 AFB20018 */ sw $s2, 0x18($sp) +/* A94D2C 802415EC AFB10014 */ sw $s1, 0x14($sp) +/* A94D30 802415F0 AFB00010 */ sw $s0, 0x10($sp) +/* A94D34 802415F4 8E710148 */ lw $s1, 0x148($s3) +/* A94D38 802415F8 86240008 */ lh $a0, 8($s1) +/* A94D3C 802415FC 0C00EABB */ jal get_npc_unsafe +/* A94D40 80241600 00A0902D */ daddu $s2, $a1, $zero +/* A94D44 80241604 0040802D */ daddu $s0, $v0, $zero +/* A94D48 80241608 8602008E */ lh $v0, 0x8e($s0) +/* A94D4C 8024160C 9603008E */ lhu $v1, 0x8e($s0) +/* A94D50 80241610 18400005 */ blez $v0, .L80241628 +/* A94D54 80241614 2462FFFF */ addiu $v0, $v1, -1 +/* A94D58 80241618 A602008E */ sh $v0, 0x8e($s0) +/* A94D5C 8024161C 00021400 */ sll $v0, $v0, 0x10 +/* A94D60 80241620 1C400033 */ bgtz $v0, .L802416F0 +/* A94D64 80241624 00000000 */ nop +.L80241628: +/* A94D68 80241628 8602008C */ lh $v0, 0x8c($s0) +/* A94D6C 8024162C 14400030 */ bnez $v0, .L802416F0 +/* A94D70 80241630 00000000 */ nop +/* A94D74 80241634 8E2200CC */ lw $v0, 0xcc($s1) +/* A94D78 80241638 8C420024 */ lw $v0, 0x24($v0) +/* A94D7C 8024163C AE020028 */ sw $v0, 0x28($s0) +/* A94D80 80241640 C6400018 */ lwc1 $f0, 0x18($s2) +/* A94D84 80241644 E6000018 */ swc1 $f0, 0x18($s0) +/* A94D88 80241648 8E230088 */ lw $v1, 0x88($s1) +/* A94D8C 8024164C 24020005 */ addiu $v0, $zero, 5 +/* A94D90 80241650 10620005 */ beq $v1, $v0, .L80241668 +/* A94D94 80241654 00000000 */ nop +/* A94D98 80241658 10600003 */ beqz $v1, .L80241668 +/* A94D9C 8024165C 24020001 */ addiu $v0, $zero, 1 +/* A94DA0 80241660 14620006 */ bne $v1, $v0, .L8024167C +/* A94DA4 80241664 00000000 */ nop +.L80241668: +/* A94DA8 80241668 8E220084 */ lw $v0, 0x84($s1) +/* A94DAC 8024166C 00021FC2 */ srl $v1, $v0, 0x1f +/* A94DB0 80241670 00431021 */ addu $v0, $v0, $v1 +/* A94DB4 80241674 00021043 */ sra $v0, $v0, 1 +/* A94DB8 80241678 A60200A8 */ sh $v0, 0xa8($s0) +.L8024167C: +/* A94DBC 8024167C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A94DC0 80241680 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A94DC4 80241684 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A94DC8 80241688 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A94DCC 8024168C 8C460028 */ lw $a2, 0x28($v0) +/* A94DD0 80241690 0C00A7B5 */ jal dist2D +/* A94DD4 80241694 8C470030 */ lw $a3, 0x30($v0) +/* A94DD8 80241698 C6020018 */ lwc1 $f2, 0x18($s0) +/* A94DDC 8024169C 46020003 */ div.s $f0, $f0, $f2 +/* A94DE0 802416A0 3C018024 */ lui $at, 0x8024 +/* A94DE4 802416A4 D4225CD8 */ ldc1 $f2, 0x5cd8($at) +/* A94DE8 802416A8 46000021 */ cvt.d.s $f0, $f0 +/* A94DEC 802416AC 46220000 */ add.d $f0, $f0, $f2 +/* A94DF0 802416B0 4620010D */ trunc.w.d $f4, $f0 +/* A94DF4 802416B4 44022000 */ mfc1 $v0, $f4 +/* A94DF8 802416B8 00000000 */ nop +/* A94DFC 802416BC A602008E */ sh $v0, 0x8e($s0) +/* A94E00 802416C0 00021400 */ sll $v0, $v0, 0x10 +/* A94E04 802416C4 8E230078 */ lw $v1, 0x78($s1) +/* A94E08 802416C8 00021403 */ sra $v0, $v0, 0x10 +/* A94E0C 802416CC 0043102A */ slt $v0, $v0, $v1 +/* A94E10 802416D0 10400003 */ beqz $v0, .L802416E0 +/* A94E14 802416D4 00000000 */ nop +/* A94E18 802416D8 9622007A */ lhu $v0, 0x7a($s1) +/* A94E1C 802416DC A602008E */ sh $v0, 0x8e($s0) +.L802416E0: +/* A94E20 802416E0 8602008E */ lh $v0, 0x8e($s0) +/* A94E24 802416E4 AE22007C */ sw $v0, 0x7c($s1) +/* A94E28 802416E8 2402000E */ addiu $v0, $zero, 0xe +/* A94E2C 802416EC AE620070 */ sw $v0, 0x70($s3) +.L802416F0: +/* A94E30 802416F0 8FBF0020 */ lw $ra, 0x20($sp) +/* A94E34 802416F4 8FB3001C */ lw $s3, 0x1c($sp) +/* A94E38 802416F8 8FB20018 */ lw $s2, 0x18($sp) +/* A94E3C 802416FC 8FB10014 */ lw $s1, 0x14($sp) +/* A94E40 80241700 8FB00010 */ lw $s0, 0x10($sp) +/* A94E44 80241704 03E00008 */ jr $ra +/* A94E48 80241708 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_8024170C.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024170C.s new file mode 100644 index 0000000000..7b0406283e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024170C.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024170C +/* A94E4C 8024170C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A94E50 80241710 AFB3003C */ sw $s3, 0x3c($sp) +/* A94E54 80241714 0080982D */ daddu $s3, $a0, $zero +/* A94E58 80241718 AFBF0040 */ sw $ra, 0x40($sp) +/* A94E5C 8024171C AFB20038 */ sw $s2, 0x38($sp) +/* A94E60 80241720 AFB10034 */ sw $s1, 0x34($sp) +/* A94E64 80241724 AFB00030 */ sw $s0, 0x30($sp) +/* A94E68 80241728 8E710148 */ lw $s1, 0x148($s3) +/* A94E6C 8024172C 0C00EABB */ jal get_npc_unsafe +/* A94E70 80241730 86240008 */ lh $a0, 8($s1) +/* A94E74 80241734 0040802D */ daddu $s0, $v0, $zero +/* A94E78 80241738 8E22007C */ lw $v0, 0x7c($s1) +/* A94E7C 8024173C 8603008E */ lh $v1, 0x8e($s0) +/* A94E80 80241740 2442FFFF */ addiu $v0, $v0, -1 +/* A94E84 80241744 14620012 */ bne $v1, $v0, .L80241790 +/* A94E88 80241748 00000000 */ nop +/* A94E8C 8024174C C6000038 */ lwc1 $f0, 0x38($s0) +/* A94E90 80241750 4600020D */ trunc.w.s $f8, $f0 +/* A94E94 80241754 44024000 */ mfc1 $v0, $f8 +/* A94E98 80241758 00000000 */ nop +/* A94E9C 8024175C A6220010 */ sh $v0, 0x10($s1) +/* A94EA0 80241760 C600003C */ lwc1 $f0, 0x3c($s0) +/* A94EA4 80241764 4600020D */ trunc.w.s $f8, $f0 +/* A94EA8 80241768 44024000 */ mfc1 $v0, $f8 +/* A94EAC 8024176C 00000000 */ nop +/* A94EB0 80241770 A6220012 */ sh $v0, 0x12($s1) +/* A94EB4 80241774 C6000040 */ lwc1 $f0, 0x40($s0) +/* A94EB8 80241778 24020001 */ addiu $v0, $zero, 1 +/* A94EBC 8024177C A2220007 */ sb $v0, 7($s1) +/* A94EC0 80241780 4600020D */ trunc.w.s $f8, $f0 +/* A94EC4 80241784 44024000 */ mfc1 $v0, $f8 +/* A94EC8 80241788 00000000 */ nop +/* A94ECC 8024178C A6220014 */ sh $v0, 0x14($s1) +.L80241790: +/* A94ED0 80241790 C6000038 */ lwc1 $f0, 0x38($s0) +/* A94ED4 80241794 C602003C */ lwc1 $f2, 0x3c($s0) +/* A94ED8 80241798 C6040040 */ lwc1 $f4, 0x40($s0) +/* A94EDC 8024179C C6060018 */ lwc1 $f6, 0x18($s0) +/* A94EE0 802417A0 E7A00020 */ swc1 $f0, 0x20($sp) +/* A94EE4 802417A4 E7A20024 */ swc1 $f2, 0x24($sp) +/* A94EE8 802417A8 E7A40028 */ swc1 $f4, 0x28($sp) +/* A94EEC 802417AC E7A60010 */ swc1 $f6, 0x10($sp) +/* A94EF0 802417B0 C600000C */ lwc1 $f0, 0xc($s0) +/* A94EF4 802417B4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A94EF8 802417B8 860200A8 */ lh $v0, 0xa8($s0) +/* A94EFC 802417BC 27A50020 */ addiu $a1, $sp, 0x20 +/* A94F00 802417C0 44820000 */ mtc1 $v0, $f0 +/* A94F04 802417C4 00000000 */ nop +/* A94F08 802417C8 46800020 */ cvt.s.w $f0, $f0 +/* A94F0C 802417CC E7A00018 */ swc1 $f0, 0x18($sp) +/* A94F10 802417D0 860200A6 */ lh $v0, 0xa6($s0) +/* A94F14 802417D4 27A60024 */ addiu $a2, $sp, 0x24 +/* A94F18 802417D8 44820000 */ mtc1 $v0, $f0 +/* A94F1C 802417DC 00000000 */ nop +/* A94F20 802417E0 46800020 */ cvt.s.w $f0, $f0 +/* A94F24 802417E4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A94F28 802417E8 8E040080 */ lw $a0, 0x80($s0) +/* A94F2C 802417EC 0C037711 */ jal func_800DDC44 +/* A94F30 802417F0 27A70028 */ addiu $a3, $sp, 0x28 +/* A94F34 802417F4 0040902D */ daddu $s2, $v0, $zero +/* A94F38 802417F8 16400005 */ bnez $s2, .L80241810 +/* A94F3C 802417FC 00000000 */ nop +/* A94F40 80241800 8E050018 */ lw $a1, 0x18($s0) +/* A94F44 80241804 8E06000C */ lw $a2, 0xc($s0) +/* A94F48 80241808 0C00EA95 */ jal npc_move_heading +/* A94F4C 8024180C 0200202D */ daddu $a0, $s0, $zero +.L80241810: +/* A94F50 80241810 8602008E */ lh $v0, 0x8e($s0) +/* A94F54 80241814 9603008E */ lhu $v1, 0x8e($s0) +/* A94F58 80241818 18400007 */ blez $v0, .L80241838 +/* A94F5C 8024181C 2462FFFF */ addiu $v0, $v1, -1 +/* A94F60 80241820 A602008E */ sh $v0, 0x8e($s0) +/* A94F64 80241824 00021400 */ sll $v0, $v0, 0x10 +/* A94F68 80241828 18400003 */ blez $v0, .L80241838 +/* A94F6C 8024182C 00000000 */ nop +/* A94F70 80241830 12400008 */ beqz $s2, .L80241854 +/* A94F74 80241834 00000000 */ nop +.L80241838: +/* A94F78 80241838 8E2200CC */ lw $v0, 0xcc($s1) +/* A94F7C 8024183C A2200007 */ sb $zero, 7($s1) +/* A94F80 80241840 8C420028 */ lw $v0, 0x28($v0) +/* A94F84 80241844 A600008E */ sh $zero, 0x8e($s0) +/* A94F88 80241848 AE020028 */ sw $v0, 0x28($s0) +/* A94F8C 8024184C 2402000F */ addiu $v0, $zero, 0xf +/* A94F90 80241850 AE620070 */ sw $v0, 0x70($s3) +.L80241854: +/* A94F94 80241854 8FBF0040 */ lw $ra, 0x40($sp) +/* A94F98 80241858 8FB3003C */ lw $s3, 0x3c($sp) +/* A94F9C 8024185C 8FB20038 */ lw $s2, 0x38($sp) +/* A94FA0 80241860 8FB10034 */ lw $s1, 0x34($sp) +/* A94FA4 80241864 8FB00030 */ lw $s0, 0x30($sp) +/* A94FA8 80241868 03E00008 */ jr $ra +/* A94FAC 8024186C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80241870_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241870_A93740.s new file mode 100644 index 0000000000..8dc5421054 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241870_A93740.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241870_A94FB0 +/* A94FB0 80241870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A94FB4 80241874 AFB10014 */ sw $s1, 0x14($sp) +/* A94FB8 80241878 0080882D */ daddu $s1, $a0, $zero +/* A94FBC 8024187C AFBF0018 */ sw $ra, 0x18($sp) +/* A94FC0 80241880 AFB00010 */ sw $s0, 0x10($sp) +/* A94FC4 80241884 8E300148 */ lw $s0, 0x148($s1) +/* A94FC8 80241888 0C00EABB */ jal get_npc_unsafe +/* A94FCC 8024188C 86040008 */ lh $a0, 8($s0) +/* A94FD0 80241890 0040202D */ daddu $a0, $v0, $zero +/* A94FD4 80241894 9482008E */ lhu $v0, 0x8e($a0) +/* A94FD8 80241898 24030003 */ addiu $v1, $zero, 3 +/* A94FDC 8024189C 24420001 */ addiu $v0, $v0, 1 +/* A94FE0 802418A0 A482008E */ sh $v0, 0x8e($a0) +/* A94FE4 802418A4 00021400 */ sll $v0, $v0, 0x10 +/* A94FE8 802418A8 00021403 */ sra $v0, $v0, 0x10 +/* A94FEC 802418AC 14430003 */ bne $v0, $v1, .L802418BC +/* A94FF0 802418B0 00000000 */ nop +/* A94FF4 802418B4 96020086 */ lhu $v0, 0x86($s0) +/* A94FF8 802418B8 A48200A8 */ sh $v0, 0xa8($a0) +.L802418BC: +/* A94FFC 802418BC 8482008E */ lh $v0, 0x8e($a0) +/* A95000 802418C0 8E030080 */ lw $v1, 0x80($s0) +/* A95004 802418C4 0043102A */ slt $v0, $v0, $v1 +/* A95008 802418C8 14400004 */ bnez $v0, .L802418DC +/* A9500C 802418CC 00000000 */ nop +/* A95010 802418D0 96020086 */ lhu $v0, 0x86($s0) +/* A95014 802418D4 A48200A8 */ sh $v0, 0xa8($a0) +/* A95018 802418D8 AE200070 */ sw $zero, 0x70($s1) +.L802418DC: +/* A9501C 802418DC 8FBF0018 */ lw $ra, 0x18($sp) +/* A95020 802418E0 8FB10014 */ lw $s1, 0x14($sp) +/* A95024 802418E4 8FB00010 */ lw $s0, 0x10($sp) +/* A95028 802418E8 03E00008 */ jr $ra +/* A9502C 802418EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_802418F0_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_802418F0_A93740.s new file mode 100644 index 0000000000..0c7d736c67 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_802418F0_A93740.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418F0_A95030 +/* A95030 802418F0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A95034 802418F4 AFB3005C */ sw $s3, 0x5c($sp) +/* A95038 802418F8 0080982D */ daddu $s3, $a0, $zero +/* A9503C 802418FC AFBF0068 */ sw $ra, 0x68($sp) +/* A95040 80241900 AFB50064 */ sw $s5, 0x64($sp) +/* A95044 80241904 AFB40060 */ sw $s4, 0x60($sp) +/* A95048 80241908 AFB20058 */ sw $s2, 0x58($sp) +/* A9504C 8024190C AFB10054 */ sw $s1, 0x54($sp) +/* A95050 80241910 AFB00050 */ sw $s0, 0x50($sp) +/* A95054 80241914 8E710148 */ lw $s1, 0x148($s3) +/* A95058 80241918 86240008 */ lh $a0, 8($s1) +/* A9505C 8024191C 0C00EABB */ jal get_npc_unsafe +/* A95060 80241920 00A0802D */ daddu $s0, $a1, $zero +/* A95064 80241924 8E63000C */ lw $v1, 0xc($s3) +/* A95068 80241928 0260202D */ daddu $a0, $s3, $zero +/* A9506C 8024192C 8C650000 */ lw $a1, ($v1) +/* A95070 80241930 0C0B1EAF */ jal get_variable +/* A95074 80241934 0040902D */ daddu $s2, $v0, $zero +/* A95078 80241938 AFA00028 */ sw $zero, 0x28($sp) +/* A9507C 8024193C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A95080 80241940 8C630030 */ lw $v1, 0x30($v1) +/* A95084 80241944 AFA3002C */ sw $v1, 0x2c($sp) +/* A95088 80241948 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9508C 8024194C 8C63001C */ lw $v1, 0x1c($v1) +/* A95090 80241950 AFA30030 */ sw $v1, 0x30($sp) +/* A95094 80241954 8E2300D0 */ lw $v1, 0xd0($s1) +/* A95098 80241958 8C630024 */ lw $v1, 0x24($v1) +/* A9509C 8024195C AFA30034 */ sw $v1, 0x34($sp) +/* A950A0 80241960 8E2300D0 */ lw $v1, 0xd0($s1) +/* A950A4 80241964 8C630028 */ lw $v1, 0x28($v1) +/* A950A8 80241968 27B50028 */ addiu $s5, $sp, 0x28 +/* A950AC 8024196C AFA30038 */ sw $v1, 0x38($sp) +/* A950B0 80241970 8E2300D0 */ lw $v1, 0xd0($s1) +/* A950B4 80241974 3C0142C8 */ lui $at, 0x42c8 +/* A950B8 80241978 44810000 */ mtc1 $at, $f0 +/* A950BC 8024197C 8C63002C */ lw $v1, 0x2c($v1) +/* A950C0 80241980 0040A02D */ daddu $s4, $v0, $zero +/* A950C4 80241984 E7A00040 */ swc1 $f0, 0x40($sp) +/* A950C8 80241988 A7A00044 */ sh $zero, 0x44($sp) +/* A950CC 8024198C 12000009 */ beqz $s0, .L802419B4 +/* A950D0 80241990 AFA3003C */ sw $v1, 0x3c($sp) +/* A950D4 80241994 864300A8 */ lh $v1, 0xa8($s2) +/* A950D8 80241998 8E2200B0 */ lw $v0, 0xb0($s1) +/* A950DC 8024199C AE20008C */ sw $zero, 0x8c($s1) +/* A950E0 802419A0 A22000B5 */ sb $zero, 0xb5($s1) +/* A950E4 802419A4 34420008 */ ori $v0, $v0, 8 +/* A950E8 802419A8 AE230084 */ sw $v1, 0x84($s1) +/* A950EC 802419AC 08090671 */ j .L802419C4 +/* A950F0 802419B0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802419B4: +/* A950F4 802419B4 8E2200B0 */ lw $v0, 0xb0($s1) +/* A950F8 802419B8 30420004 */ andi $v0, $v0, 4 +/* A950FC 802419BC 10400047 */ beqz $v0, .L80241ADC +/* A95100 802419C0 00000000 */ nop +.L802419C4: +/* A95104 802419C4 AE600070 */ sw $zero, 0x70($s3) +/* A95108 802419C8 A640008E */ sh $zero, 0x8e($s2) +/* A9510C 802419CC 8E2300CC */ lw $v1, 0xcc($s1) +/* A95110 802419D0 2404F7FF */ addiu $a0, $zero, -0x801 +/* A95114 802419D4 A2200007 */ sb $zero, 7($s1) +/* A95118 802419D8 8E420000 */ lw $v0, ($s2) +/* A9511C 802419DC 8C630000 */ lw $v1, ($v1) +/* A95120 802419E0 00441024 */ and $v0, $v0, $a0 +/* A95124 802419E4 AE420000 */ sw $v0, ($s2) +/* A95128 802419E8 AE430028 */ sw $v1, 0x28($s2) +/* A9512C 802419EC 96220086 */ lhu $v0, 0x86($s1) +/* A95130 802419F0 A64200A8 */ sh $v0, 0xa8($s2) +/* A95134 802419F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* A95138 802419F8 AE200090 */ sw $zero, 0x90($s1) +/* A9513C 802419FC 8C420034 */ lw $v0, 0x34($v0) +/* A95140 80241A00 14400006 */ bnez $v0, .L80241A1C +/* A95144 80241A04 2403FDFF */ addiu $v1, $zero, -0x201 +/* A95148 80241A08 8E420000 */ lw $v0, ($s2) +/* A9514C 80241A0C 2403FFF7 */ addiu $v1, $zero, -9 +/* A95150 80241A10 34420200 */ ori $v0, $v0, 0x200 +/* A95154 80241A14 0809068A */ j .L80241A28 +/* A95158 80241A18 00431024 */ and $v0, $v0, $v1 +.L80241A1C: +/* A9515C 80241A1C 8E420000 */ lw $v0, ($s2) +/* A95160 80241A20 00431024 */ and $v0, $v0, $v1 +/* A95164 80241A24 34420008 */ ori $v0, $v0, 8 +.L80241A28: +/* A95168 80241A28 AE420000 */ sw $v0, ($s2) +/* A9516C 80241A2C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A95170 80241A30 30420004 */ andi $v0, $v0, 4 +/* A95174 80241A34 1040001E */ beqz $v0, .L80241AB0 +/* A95178 80241A38 24040002 */ addiu $a0, $zero, 2 +/* A9517C 80241A3C 0240282D */ daddu $a1, $s2, $zero +/* A95180 80241A40 0000302D */ daddu $a2, $zero, $zero +/* A95184 80241A44 24020063 */ addiu $v0, $zero, 0x63 +/* A95188 80241A48 AE620070 */ sw $v0, 0x70($s3) +/* A9518C 80241A4C AE600074 */ sw $zero, 0x74($s3) +/* A95190 80241A50 864300A8 */ lh $v1, 0xa8($s2) +/* A95194 80241A54 3C013F80 */ lui $at, 0x3f80 +/* A95198 80241A58 44810000 */ mtc1 $at, $f0 +/* A9519C 80241A5C 3C014000 */ lui $at, 0x4000 +/* A951A0 80241A60 44811000 */ mtc1 $at, $f2 +/* A951A4 80241A64 3C01C1A0 */ lui $at, 0xc1a0 +/* A951A8 80241A68 44812000 */ mtc1 $at, $f4 +/* A951AC 80241A6C 24020028 */ addiu $v0, $zero, 0x28 +/* A951B0 80241A70 AFA2001C */ sw $v0, 0x1c($sp) +/* A951B4 80241A74 44833000 */ mtc1 $v1, $f6 +/* A951B8 80241A78 00000000 */ nop +/* A951BC 80241A7C 468031A0 */ cvt.s.w $f6, $f6 +/* A951C0 80241A80 44073000 */ mfc1 $a3, $f6 +/* A951C4 80241A84 27A20048 */ addiu $v0, $sp, 0x48 +/* A951C8 80241A88 AFA20020 */ sw $v0, 0x20($sp) +/* A951CC 80241A8C E7A00010 */ swc1 $f0, 0x10($sp) +/* A951D0 80241A90 E7A20014 */ swc1 $f2, 0x14($sp) +/* A951D4 80241A94 0C01BFA4 */ jal fx_emote +/* A951D8 80241A98 E7A40018 */ swc1 $f4, 0x18($sp) +/* A951DC 80241A9C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A951E0 80241AA0 2403FFFB */ addiu $v1, $zero, -5 +/* A951E4 80241AA4 00431024 */ and $v0, $v0, $v1 +/* A951E8 80241AA8 080906B7 */ j .L80241ADC +/* A951EC 80241AAC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241AB0: +/* A951F0 80241AB0 8E220000 */ lw $v0, ($s1) +/* A951F4 80241AB4 3C034000 */ lui $v1, 0x4000 +/* A951F8 80241AB8 00431024 */ and $v0, $v0, $v1 +/* A951FC 80241ABC 10400007 */ beqz $v0, .L80241ADC +/* A95200 80241AC0 3C03BFFF */ lui $v1, 0xbfff +/* A95204 80241AC4 2402000C */ addiu $v0, $zero, 0xc +/* A95208 80241AC8 AE620070 */ sw $v0, 0x70($s3) +/* A9520C 80241ACC 8E220000 */ lw $v0, ($s1) +/* A95210 80241AD0 3463FFFF */ ori $v1, $v1, 0xffff +/* A95214 80241AD4 00431024 */ and $v0, $v0, $v1 +/* A95218 80241AD8 AE220000 */ sw $v0, ($s1) +.L80241ADC: +/* A9521C 80241ADC 8E220090 */ lw $v0, 0x90($s1) +/* A95220 80241AE0 1840000C */ blez $v0, .L80241B14 +/* A95224 80241AE4 2442FFFF */ addiu $v0, $v0, -1 +/* A95228 80241AE8 14400087 */ bnez $v0, .L80241D08 +/* A9522C 80241AEC AE220090 */ sw $v0, 0x90($s1) +/* A95230 80241AF0 3C03FFAA */ lui $v1, 0xffaa +/* A95234 80241AF4 8E420028 */ lw $v0, 0x28($s2) +/* A95238 80241AF8 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A9523C 80241AFC 00431021 */ addu $v0, $v0, $v1 +/* A95240 80241B00 2C420002 */ sltiu $v0, $v0, 2 +/* A95244 80241B04 10400003 */ beqz $v0, .L80241B14 +/* A95248 80241B08 3C020055 */ lui $v0, 0x55 +/* A9524C 80241B0C 3442000C */ ori $v0, $v0, 0xc +/* A95250 80241B10 AE420028 */ sw $v0, 0x28($s2) +.L80241B14: +/* A95254 80241B14 8E630070 */ lw $v1, 0x70($s3) +/* A95258 80241B18 2402000C */ addiu $v0, $zero, 0xc +/* A9525C 80241B1C 10620048 */ beq $v1, $v0, .L80241C40 +/* A95260 80241B20 2862000D */ slti $v0, $v1, 0xd +/* A95264 80241B24 1040000F */ beqz $v0, .L80241B64 +/* A95268 80241B28 24100001 */ addiu $s0, $zero, 1 +/* A9526C 80241B2C 1070001E */ beq $v1, $s0, .L80241BA8 +/* A95270 80241B30 28620002 */ slti $v0, $v1, 2 +/* A95274 80241B34 10400005 */ beqz $v0, .L80241B4C +/* A95278 80241B38 24020002 */ addiu $v0, $zero, 2 +/* A9527C 80241B3C 10600015 */ beqz $v1, .L80241B94 +/* A95280 80241B40 0260202D */ daddu $a0, $s3, $zero +/* A95284 80241B44 08090727 */ j .L80241C9C +/* A95288 80241B48 00000000 */ nop +.L80241B4C: +/* A9528C 80241B4C 1062001C */ beq $v1, $v0, .L80241BC0 +/* A95290 80241B50 24020003 */ addiu $v0, $zero, 3 +/* A95294 80241B54 10620035 */ beq $v1, $v0, .L80241C2C +/* A95298 80241B58 0260202D */ daddu $a0, $s3, $zero +/* A9529C 80241B5C 08090727 */ j .L80241C9C +/* A952A0 80241B60 00000000 */ nop +.L80241B64: +/* A952A4 80241B64 2402000E */ addiu $v0, $zero, 0xe +/* A952A8 80241B68 1062003F */ beq $v1, $v0, .L80241C68 +/* A952AC 80241B6C 0062102A */ slt $v0, $v1, $v0 +/* A952B0 80241B70 14400038 */ bnez $v0, .L80241C54 +/* A952B4 80241B74 0260202D */ daddu $a0, $s3, $zero +/* A952B8 80241B78 2402000F */ addiu $v0, $zero, 0xf +/* A952BC 80241B7C 10620040 */ beq $v1, $v0, .L80241C80 +/* A952C0 80241B80 24020063 */ addiu $v0, $zero, 0x63 +/* A952C4 80241B84 10620043 */ beq $v1, $v0, .L80241C94 +/* A952C8 80241B88 00000000 */ nop +/* A952CC 80241B8C 08090727 */ j .L80241C9C +/* A952D0 80241B90 00000000 */ nop +.L80241B94: +/* A952D4 80241B94 0280282D */ daddu $a1, $s4, $zero +/* A952D8 80241B98 0C012568 */ jal func_800495A0 +/* A952DC 80241B9C 02A0302D */ daddu $a2, $s5, $zero +/* A952E0 80241BA0 96220086 */ lhu $v0, 0x86($s1) +/* A952E4 80241BA4 A64200A8 */ sh $v0, 0xa8($s2) +.L80241BA8: +/* A952E8 80241BA8 0260202D */ daddu $a0, $s3, $zero +/* A952EC 80241BAC 0280282D */ daddu $a1, $s4, $zero +/* A952F0 80241BB0 0C0125AE */ jal func_800496B8 +/* A952F4 80241BB4 02A0302D */ daddu $a2, $s5, $zero +/* A952F8 80241BB8 08090727 */ j .L80241C9C +/* A952FC 80241BBC 00000000 */ nop +.L80241BC0: +/* A95300 80241BC0 0260202D */ daddu $a0, $s3, $zero +/* A95304 80241BC4 0280282D */ daddu $a1, $s4, $zero +/* A95308 80241BC8 0C0126D1 */ jal func_80049B44 +/* A9530C 80241BCC 02A0302D */ daddu $a2, $s5, $zero +/* A95310 80241BD0 8E230088 */ lw $v1, 0x88($s1) +/* A95314 80241BD4 24020006 */ addiu $v0, $zero, 6 +/* A95318 80241BD8 14620014 */ bne $v1, $v0, .L80241C2C +/* A9531C 80241BDC 0260202D */ daddu $a0, $s3, $zero +/* A95320 80241BE0 0C00A67F */ jal rand_int +/* A95324 80241BE4 24040064 */ addiu $a0, $zero, 0x64 +/* A95328 80241BE8 28420021 */ slti $v0, $v0, 0x21 +/* A9532C 80241BEC 5040000F */ beql $v0, $zero, .L80241C2C +/* A95330 80241BF0 0260202D */ daddu $a0, $s3, $zero +/* A95334 80241BF4 8E22008C */ lw $v0, 0x8c($s1) +/* A95338 80241BF8 10400005 */ beqz $v0, .L80241C10 +/* A9533C 80241BFC 3C020055 */ lui $v0, 0x55 +/* A95340 80241C00 3442002F */ ori $v0, $v0, 0x2f +/* A95344 80241C04 AE20008C */ sw $zero, 0x8c($s1) +/* A95348 80241C08 08090707 */ j .L80241C1C +/* A9534C 80241C0C A22000B5 */ sb $zero, 0xb5($s1) +.L80241C10: +/* A95350 80241C10 3442002E */ ori $v0, $v0, 0x2e +/* A95354 80241C14 AE30008C */ sw $s0, 0x8c($s1) +/* A95358 80241C18 A23000B5 */ sb $s0, 0xb5($s1) +.L80241C1C: +/* A9535C 80241C1C AE420028 */ sw $v0, 0x28($s2) +/* A95360 80241C20 24020007 */ addiu $v0, $zero, 7 +/* A95364 80241C24 08090742 */ j .L80241D08 +/* A95368 80241C28 AE220090 */ sw $v0, 0x90($s1) +.L80241C2C: +/* A9536C 80241C2C 0280282D */ daddu $a1, $s4, $zero +/* A95370 80241C30 0C012701 */ jal func_80049C04 +/* A95374 80241C34 02A0302D */ daddu $a2, $s5, $zero +/* A95378 80241C38 08090727 */ j .L80241C9C +/* A9537C 80241C3C 00000000 */ nop +.L80241C40: +/* A95380 80241C40 0260202D */ daddu $a0, $s3, $zero +/* A95384 80241C44 0280282D */ daddu $a1, $s4, $zero +/* A95388 80241C48 0C090557 */ jal func_8024155C +/* A9538C 80241C4C 02A0302D */ daddu $a2, $s5, $zero +/* A95390 80241C50 0260202D */ daddu $a0, $s3, $zero +.L80241C54: +/* A95394 80241C54 0280282D */ daddu $a1, $s4, $zero +/* A95398 80241C58 0C090576 */ jal func_802415D8 +/* A9539C 80241C5C 02A0302D */ daddu $a2, $s5, $zero +/* A953A0 80241C60 08090727 */ j .L80241C9C +/* A953A4 80241C64 00000000 */ nop +.L80241C68: +/* A953A8 80241C68 0260202D */ daddu $a0, $s3, $zero +/* A953AC 80241C6C 0280282D */ daddu $a1, $s4, $zero +/* A953B0 80241C70 0C0905C3 */ jal func_8024170C +/* A953B4 80241C74 02A0302D */ daddu $a2, $s5, $zero +/* A953B8 80241C78 08090727 */ j .L80241C9C +/* A953BC 80241C7C 00000000 */ nop +.L80241C80: +/* A953C0 80241C80 0280282D */ daddu $a1, $s4, $zero +/* A953C4 80241C84 0C09061C */ jal func_80241870 +/* A953C8 80241C88 02A0302D */ daddu $a2, $s5, $zero +/* A953CC 80241C8C 08090727 */ j .L80241C9C +/* A953D0 80241C90 00000000 */ nop +.L80241C94: +/* A953D4 80241C94 0C0129CF */ jal func_8004A73C +/* A953D8 80241C98 0260202D */ daddu $a0, $s3, $zero +.L80241C9C: +/* A953DC 80241C9C 8E230088 */ lw $v1, 0x88($s1) +/* A953E0 80241CA0 24020006 */ addiu $v0, $zero, 6 +/* A953E4 80241CA4 14620019 */ bne $v1, $v0, .L80241D0C +/* A953E8 80241CA8 0000102D */ daddu $v0, $zero, $zero +/* A953EC 80241CAC 8E22008C */ lw $v0, 0x8c($s1) +/* A953F0 80241CB0 10400003 */ beqz $v0, .L80241CC0 +/* A953F4 80241CB4 24020001 */ addiu $v0, $zero, 1 +/* A953F8 80241CB8 08090731 */ j .L80241CC4 +/* A953FC 80241CBC A22200B5 */ sb $v0, 0xb5($s1) +.L80241CC0: +/* A95400 80241CC0 A22000B5 */ sb $zero, 0xb5($s1) +.L80241CC4: +/* A95404 80241CC4 8E22008C */ lw $v0, 0x8c($s1) +/* A95408 80241CC8 1040000F */ beqz $v0, .L80241D08 +/* A9540C 80241CCC 3C03FFAA */ lui $v1, 0xffaa +/* A95410 80241CD0 8E420028 */ lw $v0, 0x28($s2) +/* A95414 80241CD4 3463FFFC */ ori $v1, $v1, 0xfffc +/* A95418 80241CD8 00431821 */ addu $v1, $v0, $v1 +/* A9541C 80241CDC 2C620015 */ sltiu $v0, $v1, 0x15 +/* A95420 80241CE0 10400009 */ beqz $v0, .L80241D08 +/* A95424 80241CE4 00031080 */ sll $v0, $v1, 2 +/* A95428 80241CE8 3C018024 */ lui $at, 0x8024 +/* A9542C 80241CEC 00220821 */ addu $at, $at, $v0 +/* A95430 80241CF0 8C225CE0 */ lw $v0, 0x5ce0($at) +/* A95434 80241CF4 00400008 */ jr $v0 +/* A95438 80241CF8 00000000 */ nop +/* A9543C 80241CFC 8E420028 */ lw $v0, 0x28($s2) +/* A95440 80241D00 24420001 */ addiu $v0, $v0, 1 +/* A95444 80241D04 AE420028 */ sw $v0, 0x28($s2) +.L80241D08: +/* A95448 80241D08 0000102D */ daddu $v0, $zero, $zero +.L80241D0C: +/* A9544C 80241D0C 8FBF0068 */ lw $ra, 0x68($sp) +/* A95450 80241D10 8FB50064 */ lw $s5, 0x64($sp) +/* A95454 80241D14 8FB40060 */ lw $s4, 0x60($sp) +/* A95458 80241D18 8FB3005C */ lw $s3, 0x5c($sp) +/* A9545C 80241D1C 8FB20058 */ lw $s2, 0x58($sp) +/* A95460 80241D20 8FB10054 */ lw $s1, 0x54($sp) +/* A95464 80241D24 8FB00050 */ lw $s0, 0x50($sp) +/* A95468 80241D28 03E00008 */ jr $ra +/* A9546C 80241D2C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80241D30_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241D30_A93740.s new file mode 100644 index 0000000000..304dfc04a1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241D30_A93740.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D30_A95470 +/* A95470 80241D30 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A95474 80241D34 AFB00018 */ sw $s0, 0x18($sp) +/* A95478 80241D38 AFBF0024 */ sw $ra, 0x24($sp) +/* A9547C 80241D3C AFB20020 */ sw $s2, 0x20($sp) +/* A95480 80241D40 AFB1001C */ sw $s1, 0x1c($sp) +/* A95484 80241D44 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A95488 80241D48 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A9548C 80241D4C 8C920148 */ lw $s2, 0x148($a0) +/* A95490 80241D50 4485A000 */ mtc1 $a1, $f20 +/* A95494 80241D54 86440008 */ lh $a0, 8($s2) +/* A95498 80241D58 4486B000 */ mtc1 $a2, $f22 +/* A9549C 80241D5C 0C00EABB */ jal get_npc_unsafe +/* A954A0 80241D60 00E0802D */ daddu $s0, $a3, $zero +/* A954A4 80241D64 0200202D */ daddu $a0, $s0, $zero +/* A954A8 80241D68 0040882D */ daddu $s1, $v0, $zero +/* A954AC 80241D6C 4406A000 */ mfc1 $a2, $f20 +/* A954B0 80241D70 4407B000 */ mfc1 $a3, $f22 +/* A954B4 80241D74 3C03800A */ lui $v1, 0x800a +/* A954B8 80241D78 8463A634 */ lh $v1, -0x59cc($v1) +/* A954BC 80241D7C 3C05800B */ lui $a1, %hi(gCameras) +/* A954C0 80241D80 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A954C4 80241D84 AFA00010 */ sw $zero, 0x10($sp) +/* A954C8 80241D88 00031080 */ sll $v0, $v1, 2 +/* A954CC 80241D8C 00431021 */ addu $v0, $v0, $v1 +/* A954D0 80241D90 00021080 */ sll $v0, $v0, 2 +/* A954D4 80241D94 00431023 */ subu $v0, $v0, $v1 +/* A954D8 80241D98 000218C0 */ sll $v1, $v0, 3 +/* A954DC 80241D9C 00431021 */ addu $v0, $v0, $v1 +/* A954E0 80241DA0 000210C0 */ sll $v0, $v0, 3 +/* A954E4 80241DA4 00458021 */ addu $s0, $v0, $a1 +/* A954E8 80241DA8 0C01242D */ jal func_800490B4 +/* A954EC 80241DAC 0240282D */ daddu $a1, $s2, $zero +/* A954F0 80241DB0 1040004B */ beqz $v0, .L80241EE0 +/* A954F4 80241DB4 2402FFFF */ addiu $v0, $zero, -1 +/* A954F8 80241DB8 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A954FC 80241DBC C62E000C */ lwc1 $f14, 0xc($s1) +/* A95500 80241DC0 3C014387 */ lui $at, 0x4387 +/* A95504 80241DC4 4481A000 */ mtc1 $at, $f20 +/* A95508 80241DC8 0C00A70A */ jal get_clamped_angle_diff +/* A9550C 80241DCC 00000000 */ nop +/* A95510 80241DD0 0C00A6C9 */ jal clamp_angle +/* A95514 80241DD4 46000306 */ mov.s $f12, $f0 +/* A95518 80241DD8 3C018024 */ lui $at, 0x8024 +/* A9551C 80241DDC D4225D38 */ ldc1 $f2, 0x5d38($at) +/* A95520 80241DE0 46000021 */ cvt.d.s $f0, $f0 +/* A95524 80241DE4 4622003C */ c.lt.d $f0, $f2 +/* A95528 80241DE8 00000000 */ nop +/* A9552C 80241DEC 45000003 */ bc1f .L80241DFC +/* A95530 80241DF0 00000000 */ nop +/* A95534 80241DF4 3C0142B4 */ lui $at, 0x42b4 +/* A95538 80241DF8 4481A000 */ mtc1 $at, $f20 +.L80241DFC: +/* A9553C 80241DFC 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* A95540 80241E00 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* A95544 80241E04 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A95548 80241E08 8E020000 */ lw $v0, ($s0) +/* A9554C 80241E0C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A95550 80241E10 8C460028 */ lw $a2, 0x28($v0) +/* A95554 80241E14 0C00A720 */ jal atan2 +/* A95558 80241E18 8C470030 */ lw $a3, 0x30($v0) +/* A9555C 80241E1C 4600A306 */ mov.s $f12, $f20 +/* A95560 80241E20 0C00A70A */ jal get_clamped_angle_diff +/* A95564 80241E24 46000386 */ mov.s $f14, $f0 +/* A95568 80241E28 46000005 */ abs.s $f0, $f0 +/* A9556C 80241E2C 3C018024 */ lui $at, 0x8024 +/* A95570 80241E30 D4225D40 */ ldc1 $f2, 0x5d40($at) +/* A95574 80241E34 46000021 */ cvt.d.s $f0, $f0 +/* A95578 80241E38 4620103C */ c.lt.d $f2, $f0 +/* A9557C 80241E3C 00000000 */ nop +/* A95580 80241E40 45010027 */ bc1t .L80241EE0 +/* A95584 80241E44 2402FFFF */ addiu $v0, $zero, -1 +/* A95588 80241E48 8E020000 */ lw $v0, ($s0) +/* A9558C 80241E4C C6200038 */ lwc1 $f0, 0x38($s1) +/* A95590 80241E50 C4420028 */ lwc1 $f2, 0x28($v0) +/* A95594 80241E54 44806000 */ mtc1 $zero, $f12 +/* A95598 80241E58 46020001 */ sub.s $f0, $f0, $f2 +/* A9559C 80241E5C C62E003C */ lwc1 $f14, 0x3c($s1) +/* A955A0 80241E60 8C47002C */ lw $a3, 0x2c($v0) +/* A955A4 80241E64 46000005 */ abs.s $f0, $f0 +/* A955A8 80241E68 44060000 */ mfc1 $a2, $f0 +/* A955AC 80241E6C 0C00A720 */ jal atan2 +/* A955B0 80241E70 00000000 */ nop +/* A955B4 80241E74 3C018024 */ lui $at, 0x8024 +/* A955B8 80241E78 D4225D48 */ ldc1 $f2, 0x5d48($at) +/* A955BC 80241E7C 46000021 */ cvt.d.s $f0, $f0 +/* A955C0 80241E80 46220001 */ sub.d $f0, $f0, $f2 +/* A955C4 80241E84 3C018024 */ lui $at, 0x8024 +/* A955C8 80241E88 D4225D50 */ ldc1 $f2, 0x5d50($at) +/* A955CC 80241E8C 46200020 */ cvt.s.d $f0, $f0 +/* A955D0 80241E90 46000005 */ abs.s $f0, $f0 +/* A955D4 80241E94 46000021 */ cvt.d.s $f0, $f0 +/* A955D8 80241E98 4620103C */ c.lt.d $f2, $f0 +/* A955DC 80241E9C 00000000 */ nop +/* A955E0 80241EA0 4501000F */ bc1t .L80241EE0 +/* A955E4 80241EA4 2402FFFF */ addiu $v0, $zero, -1 +/* A955E8 80241EA8 3C038011 */ lui $v1, 0x8011 +/* A955EC 80241EAC 8063EBB3 */ lb $v1, -0x144d($v1) +/* A955F0 80241EB0 24020009 */ addiu $v0, $zero, 9 +/* A955F4 80241EB4 10620009 */ beq $v1, $v0, .L80241EDC +/* A955F8 80241EB8 24020007 */ addiu $v0, $zero, 7 +/* A955FC 80241EBC 50620008 */ beql $v1, $v0, .L80241EE0 +/* A95600 80241EC0 2402FFFF */ addiu $v0, $zero, -1 +/* A95604 80241EC4 86440008 */ lh $a0, 8($s2) +/* A95608 80241EC8 0C00FB3A */ jal get_enemy +/* A9560C 80241ECC 24840001 */ addiu $a0, $a0, 1 +/* A95610 80241ED0 8C43006C */ lw $v1, 0x6c($v0) +/* A95614 80241ED4 10600002 */ beqz $v1, .L80241EE0 +/* A95618 80241ED8 24020001 */ addiu $v0, $zero, 1 +.L80241EDC: +/* A9561C 80241EDC 2402FFFF */ addiu $v0, $zero, -1 +.L80241EE0: +/* A95620 80241EE0 8FBF0024 */ lw $ra, 0x24($sp) +/* A95624 80241EE4 8FB20020 */ lw $s2, 0x20($sp) +/* A95628 80241EE8 8FB1001C */ lw $s1, 0x1c($sp) +/* A9562C 80241EEC 8FB00018 */ lw $s0, 0x18($sp) +/* A95630 80241EF0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A95634 80241EF4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A95638 80241EF8 03E00008 */ jr $ra +/* A9563C 80241EFC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80241F00_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241F00_A93740.s new file mode 100644 index 0000000000..8c24464546 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80241F00_A93740.s @@ -0,0 +1,336 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F00_A95640 +/* A95640 80241F00 27BDFC78 */ addiu $sp, $sp, -0x388 +/* A95644 80241F04 AFB60378 */ sw $s6, 0x378($sp) +/* A95648 80241F08 0080B02D */ daddu $s6, $a0, $zero +/* A9564C 80241F0C AFBF037C */ sw $ra, 0x37c($sp) +/* A95650 80241F10 AFB50374 */ sw $s5, 0x374($sp) +/* A95654 80241F14 AFB40370 */ sw $s4, 0x370($sp) +/* A95658 80241F18 AFB3036C */ sw $s3, 0x36c($sp) +/* A9565C 80241F1C AFB20368 */ sw $s2, 0x368($sp) +/* A95660 80241F20 AFB10364 */ sw $s1, 0x364($sp) +/* A95664 80241F24 AFB00360 */ sw $s0, 0x360($sp) +/* A95668 80241F28 F7B40380 */ sdc1 $f20, 0x380($sp) +/* A9566C 80241F2C 8ED20148 */ lw $s2, 0x148($s6) +/* A95670 80241F30 86440008 */ lh $a0, 8($s2) +/* A95674 80241F34 0C00EABB */ jal get_npc_unsafe +/* A95678 80241F38 00A0802D */ daddu $s0, $a1, $zero +/* A9567C 80241F3C 86440008 */ lh $a0, 8($s2) +/* A95680 80241F40 0040882D */ daddu $s1, $v0, $zero +/* A95684 80241F44 0C00FB3A */ jal get_enemy +/* A95688 80241F48 2484FFFF */ addiu $a0, $a0, -1 +/* A9568C 80241F4C 84440008 */ lh $a0, 8($v0) +/* A95690 80241F50 0C00EABB */ jal get_npc_unsafe +/* A95694 80241F54 0000A82D */ daddu $s5, $zero, $zero +/* A95698 80241F58 27B30020 */ addiu $s3, $sp, 0x20 +/* A9569C 80241F5C 16000005 */ bnez $s0, .L80241F74 +/* A956A0 80241F60 0040A02D */ daddu $s4, $v0, $zero +/* A956A4 80241F64 8E4200B0 */ lw $v0, 0xb0($s2) +/* A956A8 80241F68 30420004 */ andi $v0, $v0, 4 +/* A956AC 80241F6C 10400018 */ beqz $v0, .L80241FD0 +/* A956B0 80241F70 00000000 */ nop +.L80241F74: +/* A956B4 80241F74 3C030024 */ lui $v1, 0x24 +/* A956B8 80241F78 34630102 */ ori $v1, $v1, 0x102 +/* A956BC 80241F7C 3C041620 */ lui $a0, 0x1620 +/* A956C0 80241F80 AEC00070 */ sw $zero, 0x70($s6) +/* A956C4 80241F84 8E220000 */ lw $v0, ($s1) +/* A956C8 80241F88 34840040 */ ori $a0, $a0, 0x40 +/* A956CC 80241F8C A620008E */ sh $zero, 0x8e($s1) +/* A956D0 80241F90 00431025 */ or $v0, $v0, $v1 +/* A956D4 80241F94 AE220000 */ sw $v0, ($s1) +/* A956D8 80241F98 8E420000 */ lw $v0, ($s2) +/* A956DC 80241F9C 3C013ECC */ lui $at, 0x3ecc +/* A956E0 80241FA0 3421CCCD */ ori $at, $at, 0xcccd +/* A956E4 80241FA4 44810000 */ mtc1 $at, $f0 +/* A956E8 80241FA8 00441025 */ or $v0, $v0, $a0 +/* A956EC 80241FAC AE420000 */ sw $v0, ($s2) +/* A956F0 80241FB0 E6200054 */ swc1 $f0, 0x54($s1) +/* A956F4 80241FB4 E6200058 */ swc1 $f0, 0x58($s1) +/* A956F8 80241FB8 8E4300B0 */ lw $v1, 0xb0($s2) +/* A956FC 80241FBC 30620004 */ andi $v0, $v1, 4 +/* A95700 80241FC0 10400003 */ beqz $v0, .L80241FD0 +/* A95704 80241FC4 2402FFFB */ addiu $v0, $zero, -5 +/* A95708 80241FC8 00621024 */ and $v0, $v1, $v0 +/* A9570C 80241FCC AE4200B0 */ sw $v0, 0xb0($s2) +.L80241FD0: +/* A95710 80241FD0 8EC30070 */ lw $v1, 0x70($s6) +/* A95714 80241FD4 2C620005 */ sltiu $v0, $v1, 5 +/* A95718 80241FD8 10400101 */ beqz $v0, .L802423E0 +/* A9571C 80241FDC 00031080 */ sll $v0, $v1, 2 +/* A95720 80241FE0 3C018024 */ lui $at, 0x8024 +/* A95724 80241FE4 00220821 */ addu $at, $at, $v0 +/* A95728 80241FE8 8C225D58 */ lw $v0, 0x5d58($at) +/* A9572C 80241FEC 00400008 */ jr $v0 +/* A95730 80241FF0 00000000 */ nop +/* A95734 80241FF4 3C01C47A */ lui $at, 0xc47a +/* A95738 80241FF8 44810000 */ mtc1 $at, $f0 +/* A9573C 80241FFC 24020014 */ addiu $v0, $zero, 0x14 +/* A95740 80242000 AE400078 */ sw $zero, 0x78($s2) +/* A95744 80242004 A62200A6 */ sh $v0, 0xa6($s1) +/* A95748 80242008 A62200A8 */ sh $v0, 0xa8($s1) +/* A9574C 8024200C 24020001 */ addiu $v0, $zero, 1 +/* A95750 80242010 AE200038 */ sw $zero, 0x38($s1) +/* A95754 80242014 AE200040 */ sw $zero, 0x40($s1) +/* A95758 80242018 E620003C */ swc1 $f0, 0x3c($s1) +/* A9575C 8024201C AE40006C */ sw $zero, 0x6c($s2) +/* A95760 80242020 AEC20070 */ sw $v0, 0x70($s6) +/* A95764 80242024 8E50006C */ lw $s0, 0x6c($s2) +/* A95768 80242028 24020001 */ addiu $v0, $zero, 1 +/* A9576C 8024202C 160200EC */ bne $s0, $v0, .L802423E0 +/* A95770 80242030 24150002 */ addiu $s5, $zero, 2 +/* A95774 80242034 AE55006C */ sw $s5, 0x6c($s2) +/* A95778 80242038 C6800038 */ lwc1 $f0, 0x38($s4) +/* A9577C 8024203C E6600038 */ swc1 $f0, 0x38($s3) +/* A95780 80242040 C680003C */ lwc1 $f0, 0x3c($s4) +/* A95784 80242044 E660003C */ swc1 $f0, 0x3c($s3) +/* A95788 80242048 C6800040 */ lwc1 $f0, 0x40($s4) +/* A9578C 8024204C E6600040 */ swc1 $f0, 0x40($s3) +/* A95790 80242050 C6820034 */ lwc1 $f2, 0x34($s4) +/* A95794 80242054 3C014387 */ lui $at, 0x4387 +/* A95798 80242058 44810000 */ mtc1 $at, $f0 +/* A9579C 8024205C 00000000 */ nop +/* A957A0 80242060 46020001 */ sub.s $f0, $f0, $f2 +/* A957A4 80242064 C6480074 */ lwc1 $f8, 0x74($s2) +/* A957A8 80242068 46804220 */ cvt.s.w $f8, $f8 +/* A957AC 8024206C 44054000 */ mfc1 $a1, $f8 +/* A957B0 80242070 44060000 */ mfc1 $a2, $f0 +/* A957B4 80242074 0C00EA95 */ jal npc_move_heading +/* A957B8 80242078 0260202D */ daddu $a0, $s3, $zero +/* A957BC 8024207C C6600038 */ lwc1 $f0, 0x38($s3) +/* A957C0 80242080 E6200038 */ swc1 $f0, 0x38($s1) +/* A957C4 80242084 C680003C */ lwc1 $f0, 0x3c($s4) +/* A957C8 80242088 C6420070 */ lwc1 $f2, 0x70($s2) +/* A957CC 8024208C 468010A0 */ cvt.s.w $f2, $f2 +/* A957D0 80242090 46020000 */ add.s $f0, $f0, $f2 +/* A957D4 80242094 3C014024 */ lui $at, 0x4024 +/* A957D8 80242098 4481A800 */ mtc1 $at, $f21 +/* A957DC 8024209C 4480A000 */ mtc1 $zero, $f20 +/* A957E0 802420A0 E620003C */ swc1 $f0, 0x3c($s1) +/* A957E4 802420A4 C6600040 */ lwc1 $f0, 0x40($s3) +/* A957E8 802420A8 E6200040 */ swc1 $f0, 0x40($s1) +/* A957EC 802420AC A2500007 */ sb $s0, 7($s2) +/* A957F0 802420B0 C6200038 */ lwc1 $f0, 0x38($s1) +/* A957F4 802420B4 3C014066 */ lui $at, 0x4066 +/* A957F8 802420B8 34216666 */ ori $at, $at, 0x6666 +/* A957FC 802420BC 44811000 */ mtc1 $at, $f2 +/* A95800 802420C0 4600020D */ trunc.w.s $f8, $f0 +/* A95804 802420C4 44024000 */ mfc1 $v0, $f8 +/* A95808 802420C8 00000000 */ nop +/* A9580C 802420CC A6420010 */ sh $v0, 0x10($s2) +/* A95810 802420D0 C620003C */ lwc1 $f0, 0x3c($s1) +/* A95814 802420D4 3C13800F */ lui $s3, %hi(gPlayerStatusPtr) +/* A95818 802420D8 26737B30 */ addiu $s3, $s3, %lo(gPlayerStatusPtr) +/* A9581C 802420DC 4600020D */ trunc.w.s $f8, $f0 +/* A95820 802420E0 44024000 */ mfc1 $v0, $f8 +/* A95824 802420E4 00000000 */ nop +/* A95828 802420E8 A6420012 */ sh $v0, 0x12($s2) +/* A9582C 802420EC C6200040 */ lwc1 $f0, 0x40($s1) +/* A95830 802420F0 8E630000 */ lw $v1, ($s3) +/* A95834 802420F4 4600020D */ trunc.w.s $f8, $f0 +/* A95838 802420F8 44024000 */ mfc1 $v0, $f8 +/* A9583C 802420FC 00000000 */ nop +/* A95840 80242100 A6420014 */ sh $v0, 0x14($s2) +/* A95844 80242104 E6220018 */ swc1 $f2, 0x18($s1) +/* A95848 80242108 C460002C */ lwc1 $f0, 0x2c($v1) +/* A9584C 8024210C C6220038 */ lwc1 $f2, 0x38($s1) +/* A95850 80242110 46000021 */ cvt.d.s $f0, $f0 +/* A95854 80242114 46340000 */ add.d $f0, $f0, $f20 +/* A95858 80242118 C4640028 */ lwc1 $f4, 0x28($v1) +/* A9585C 8024211C 44806000 */ mtc1 $zero, $f12 +/* A95860 80242120 46041081 */ sub.s $f2, $f2, $f4 +/* A95864 80242124 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A95868 80242128 46200020 */ cvt.s.d $f0, $f0 +/* A9586C 8024212C 46001085 */ abs.s $f2, $f2 +/* A95870 80242130 44070000 */ mfc1 $a3, $f0 +/* A95874 80242134 44061000 */ mfc1 $a2, $f2 +/* A95878 80242138 0C00A720 */ jal atan2 +/* A9587C 8024213C 00000000 */ nop +/* A95880 80242140 3C018024 */ lui $at, 0x8024 +/* A95884 80242144 D4225D70 */ ldc1 $f2, 0x5d70($at) +/* A95888 80242148 46000021 */ cvt.d.s $f0, $f0 +/* A9588C 8024214C 46220001 */ sub.d $f0, $f0, $f2 +/* A95890 80242150 46200020 */ cvt.s.d $f0, $f0 +/* A95894 80242154 4600020D */ trunc.w.s $f8, $f0 +/* A95898 80242158 44044000 */ mfc1 $a0, $f8 +/* A9589C 8024215C 00000000 */ nop +/* A958A0 80242160 00042400 */ sll $a0, $a0, 0x10 +/* A958A4 80242164 0C00A4F5 */ jal cosine +/* A958A8 80242168 00042403 */ sra $a0, $a0, 0x10 +/* A958AC 8024216C C6220018 */ lwc1 $f2, 0x18($s1) +/* A958B0 80242170 46020002 */ mul.s $f0, $f0, $f2 +/* A958B4 80242174 00000000 */ nop +/* A958B8 80242178 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A958BC 8024217C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A958C0 80242180 8E620000 */ lw $v0, ($s3) +/* A958C4 80242184 E620001C */ swc1 $f0, 0x1c($s1) +/* A958C8 80242188 8C460028 */ lw $a2, 0x28($v0) +/* A958CC 8024218C 0C00A720 */ jal atan2 +/* A958D0 80242190 8C470030 */ lw $a3, 0x30($v0) +/* A958D4 80242194 8E620000 */ lw $v0, ($s3) +/* A958D8 80242198 E620000C */ swc1 $f0, 0xc($s1) +/* A958DC 8024219C C440002C */ lwc1 $f0, 0x2c($v0) +/* A958E0 802421A0 46000021 */ cvt.d.s $f0, $f0 +/* A958E4 802421A4 46340000 */ add.d $f0, $f0, $f20 +/* A958E8 802421A8 46200020 */ cvt.s.d $f0, $f0 +/* A958EC 802421AC E7A00010 */ swc1 $f0, 0x10($sp) +/* A958F0 802421B0 C4400030 */ lwc1 $f0, 0x30($v0) +/* A958F4 802421B4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A958F8 802421B8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A958FC 802421BC C62E003C */ lwc1 $f14, 0x3c($s1) +/* A95900 802421C0 8E260040 */ lw $a2, 0x40($s1) +/* A95904 802421C4 0C00A7CB */ jal dist3D +/* A95908 802421C8 8C470028 */ lw $a3, 0x28($v0) +/* A9590C 802421CC C6220018 */ lwc1 $f2, 0x18($s1) +/* A95910 802421D0 46020003 */ div.s $f0, $f0, $f2 +/* A95914 802421D4 4600020D */ trunc.w.s $f8, $f0 +/* A95918 802421D8 44104000 */ mfc1 $s0, $f8 +/* A9591C 802421DC 00000000 */ nop +/* A95920 802421E0 5A000001 */ blezl $s0, .L802421E8 +/* A95924 802421E4 24100001 */ addiu $s0, $zero, 1 +.L802421E8: +/* A95928 802421E8 8E620000 */ lw $v0, ($s3) +/* A9592C 802421EC C624003C */ lwc1 $f4, 0x3c($s1) +/* A95930 802421F0 3C014120 */ lui $at, 0x4120 +/* A95934 802421F4 44811000 */ mtc1 $at, $f2 +/* A95938 802421F8 C4400028 */ lwc1 $f0, 0x28($v0) +/* A9593C 802421FC E7A00010 */ swc1 $f0, 0x10($sp) +/* A95940 80242200 C440002C */ lwc1 $f0, 0x2c($v0) +/* A95944 80242204 46020000 */ add.s $f0, $f0, $f2 +/* A95948 80242208 3C014160 */ lui $at, 0x4160 +/* A9594C 8024220C 44811000 */ mtc1 $at, $f2 +/* A95950 80242210 00000000 */ nop +/* A95954 80242214 46022100 */ add.s $f4, $f4, $f2 +/* A95958 80242218 46020000 */ add.s $f0, $f0, $f2 +/* A9595C 8024221C 44062000 */ mfc1 $a2, $f4 +/* A95960 80242220 E7A00014 */ swc1 $f0, 0x14($sp) +/* A95964 80242224 C4400030 */ lwc1 $f0, 0x30($v0) +/* A95968 80242228 AFB0001C */ sw $s0, 0x1c($sp) +/* A9596C 8024222C E7A00018 */ swc1 $f0, 0x18($sp) +/* A95970 80242230 8E250038 */ lw $a1, 0x38($s1) +/* A95974 80242234 8E270040 */ lw $a3, 0x40($s1) +/* A95978 80242238 0C01BFD4 */ jal func_8006FF50 +/* A9597C 8024223C 0000202D */ daddu $a0, $zero, $zero +/* A95980 80242240 AE420078 */ sw $v0, 0x78($s2) +/* A95984 80242244 A630008E */ sh $s0, 0x8e($s1) +/* A95988 80242248 080908F8 */ j .L802423E0 +/* A9598C 8024224C AED50070 */ sw $s5, 0x70($s6) +/* A95990 80242250 9622008E */ lhu $v0, 0x8e($s1) +/* A95994 80242254 2442FFFF */ addiu $v0, $v0, -1 +/* A95998 80242258 A622008E */ sh $v0, 0x8e($s1) +/* A9599C 8024225C 00021400 */ sll $v0, $v0, 0x10 +/* A959A0 80242260 58400001 */ blezl $v0, .L80242268 +/* A959A4 80242264 24150014 */ addiu $s5, $zero, 0x14 +.L80242268: +/* A959A8 80242268 16A0000A */ bnez $s5, .L80242294 +/* A959AC 8024226C 00000000 */ nop +/* A959B0 80242270 8E250018 */ lw $a1, 0x18($s1) +/* A959B4 80242274 8E26000C */ lw $a2, 0xc($s1) +/* A959B8 80242278 0C00EA95 */ jal npc_move_heading +/* A959BC 8024227C 0220202D */ daddu $a0, $s1, $zero +/* A959C0 80242280 C620003C */ lwc1 $f0, 0x3c($s1) +/* A959C4 80242284 C622001C */ lwc1 $f2, 0x1c($s1) +/* A959C8 80242288 46020000 */ add.s $f0, $f0, $f2 +/* A959CC 8024228C 080908F8 */ j .L802423E0 +/* A959D0 80242290 E620003C */ swc1 $f0, 0x3c($s1) +.L80242294: +/* A959D4 80242294 862200A8 */ lh $v0, 0xa8($s1) +/* A959D8 80242298 3C013FE0 */ lui $at, 0x3fe0 +/* A959DC 8024229C 44810800 */ mtc1 $at, $f1 +/* A959E0 802422A0 44800000 */ mtc1 $zero, $f0 +/* A959E4 802422A4 44821000 */ mtc1 $v0, $f2 +/* A959E8 802422A8 00000000 */ nop +/* A959EC 802422AC 468010A1 */ cvt.d.w $f2, $f2 +/* A959F0 802422B0 46201082 */ mul.d $f2, $f2, $f0 +/* A959F4 802422B4 00000000 */ nop +/* A959F8 802422B8 C620003C */ lwc1 $f0, 0x3c($s1) +/* A959FC 802422BC AE20001C */ sw $zero, 0x1c($s1) +/* A95A00 802422C0 46000021 */ cvt.d.s $f0, $f0 +/* A95A04 802422C4 46220001 */ sub.d $f0, $f0, $f2 +/* A95A08 802422C8 AE200018 */ sw $zero, 0x18($s1) +/* A95A0C 802422CC 24020003 */ addiu $v0, $zero, 3 +/* A95A10 802422D0 46200020 */ cvt.s.d $f0, $f0 +/* A95A14 802422D4 E620003C */ swc1 $f0, 0x3c($s1) +/* A95A18 802422D8 AE42006C */ sw $v0, 0x6c($s2) +/* A95A1C 802422DC 24020004 */ addiu $v0, $zero, 4 +/* A95A20 802422E0 A620008E */ sh $zero, 0x8e($s1) +/* A95A24 802422E4 080908F8 */ j .L802423E0 +/* A95A28 802422E8 AEC20070 */ sw $v0, 0x70($s6) +/* A95A2C 802422EC 9622008E */ lhu $v0, 0x8e($s1) +/* A95A30 802422F0 24420001 */ addiu $v0, $v0, 1 +/* A95A34 802422F4 A622008E */ sh $v0, 0x8e($s1) +/* A95A38 802422F8 00021400 */ sll $v0, $v0, 0x10 +/* A95A3C 802422FC 00021C03 */ sra $v1, $v0, 0x10 +/* A95A40 80242300 28620007 */ slti $v0, $v1, 7 +/* A95A44 80242304 10400027 */ beqz $v0, .L802423A4 +/* A95A48 80242308 24020007 */ addiu $v0, $zero, 7 +/* A95A4C 8024230C 8622008E */ lh $v0, 0x8e($s1) +/* A95A50 80242310 3C01401C */ lui $at, 0x401c +/* A95A54 80242314 44810800 */ mtc1 $at, $f1 +/* A95A58 80242318 44800000 */ mtc1 $zero, $f0 +/* A95A5C 8024231C 44822000 */ mtc1 $v0, $f4 +/* A95A60 80242320 00000000 */ nop +/* A95A64 80242324 46802120 */ cvt.s.w $f4, $f4 +/* A95A68 80242328 46002121 */ cvt.d.s $f4, $f4 +/* A95A6C 8024232C 46202102 */ mul.d $f4, $f4, $f0 +/* A95A70 80242330 00000000 */ nop +/* A95A74 80242334 44821000 */ mtc1 $v0, $f2 +/* A95A78 80242338 00000000 */ nop +/* A95A7C 8024233C 468010A0 */ cvt.s.w $f2, $f2 +/* A95A80 80242340 460010A1 */ cvt.d.s $f2, $f2 +/* A95A84 80242344 46201082 */ mul.d $f2, $f2, $f0 +/* A95A88 80242348 00000000 */ nop +/* A95A8C 8024234C C620003C */ lwc1 $f0, 0x3c($s1) +/* A95A90 80242350 3C01400C */ lui $at, 0x400c +/* A95A94 80242354 44813800 */ mtc1 $at, $f7 +/* A95A98 80242358 44803000 */ mtc1 $zero, $f6 +/* A95A9C 8024235C 46000021 */ cvt.d.s $f0, $f0 +/* A95AA0 80242360 46260001 */ sub.d $f0, $f0, $f6 +/* A95AA4 80242364 3C014034 */ lui $at, 0x4034 +/* A95AA8 80242368 44813800 */ mtc1 $at, $f7 +/* A95AAC 8024236C 44803000 */ mtc1 $zero, $f6 +/* A95AB0 80242370 00000000 */ nop +/* A95AB4 80242374 46262100 */ add.d $f4, $f4, $f6 +/* A95AB8 80242378 46200020 */ cvt.s.d $f0, $f0 +/* A95ABC 8024237C E620003C */ swc1 $f0, 0x3c($s1) +/* A95AC0 80242380 46261080 */ add.d $f2, $f2, $f6 +/* A95AC4 80242384 4620220D */ trunc.w.d $f8, $f4 +/* A95AC8 80242388 44024000 */ mfc1 $v0, $f8 +/* A95ACC 8024238C 00000000 */ nop +/* A95AD0 80242390 A62200A6 */ sh $v0, 0xa6($s1) +/* A95AD4 80242394 4620120D */ trunc.w.d $f8, $f2 +/* A95AD8 80242398 44024000 */ mfc1 $v0, $f8 +/* A95ADC 8024239C 080908F8 */ j .L802423E0 +/* A95AE0 802423A0 A62200A8 */ sh $v0, 0xa8($s1) +.L802423A4: +/* A95AE4 802423A4 1462000A */ bne $v1, $v0, .L802423D0 +/* A95AE8 802423A8 28620010 */ slti $v0, $v1, 0x10 +/* A95AEC 802423AC 3C01C47A */ lui $at, 0xc47a +/* A95AF0 802423B0 44810000 */ mtc1 $at, $f0 +/* A95AF4 802423B4 24020014 */ addiu $v0, $zero, 0x14 +/* A95AF8 802423B8 AE200038 */ sw $zero, 0x38($s1) +/* A95AFC 802423BC AE200040 */ sw $zero, 0x40($s1) +/* A95B00 802423C0 A62200A6 */ sh $v0, 0xa6($s1) +/* A95B04 802423C4 A62200A8 */ sh $v0, 0xa8($s1) +/* A95B08 802423C8 080908F8 */ j .L802423E0 +/* A95B0C 802423CC E620003C */ swc1 $f0, 0x3c($s1) +.L802423D0: +/* A95B10 802423D0 14400003 */ bnez $v0, .L802423E0 +/* A95B14 802423D4 00000000 */ nop +/* A95B18 802423D8 AE40006C */ sw $zero, 0x6c($s2) +/* A95B1C 802423DC AEC00070 */ sw $zero, 0x70($s6) +.L802423E0: +/* A95B20 802423E0 8FBF037C */ lw $ra, 0x37c($sp) +/* A95B24 802423E4 8FB60378 */ lw $s6, 0x378($sp) +/* A95B28 802423E8 8FB50374 */ lw $s5, 0x374($sp) +/* A95B2C 802423EC 8FB40370 */ lw $s4, 0x370($sp) +/* A95B30 802423F0 8FB3036C */ lw $s3, 0x36c($sp) +/* A95B34 802423F4 8FB20368 */ lw $s2, 0x368($sp) +/* A95B38 802423F8 8FB10364 */ lw $s1, 0x364($sp) +/* A95B3C 802423FC 8FB00360 */ lw $s0, 0x360($sp) +/* A95B40 80242400 D7B40380 */ ldc1 $f20, 0x380($sp) +/* A95B44 80242404 0000102D */ daddu $v0, $zero, $zero +/* A95B48 80242408 03E00008 */ jr $ra +/* A95B4C 8024240C 27BD0388 */ addiu $sp, $sp, 0x388 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242410_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242410_A93740.s new file mode 100644 index 0000000000..88c27fcbf7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242410_A93740.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242410_A95B50 +/* A95B50 80242410 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A95B54 80242414 AFB00010 */ sw $s0, 0x10($sp) +/* A95B58 80242418 0080802D */ daddu $s0, $a0, $zero +/* A95B5C 8024241C AFBF0014 */ sw $ra, 0x14($sp) +/* A95B60 80242420 8E020148 */ lw $v0, 0x148($s0) +/* A95B64 80242424 0C00EABB */ jal get_npc_unsafe +/* A95B68 80242428 84440008 */ lh $a0, 8($v0) +/* A95B6C 8024242C 2403001E */ addiu $v1, $zero, 0x1e +/* A95B70 80242430 A443008E */ sh $v1, 0x8e($v0) +/* A95B74 80242434 2402000B */ addiu $v0, $zero, 0xb +/* A95B78 80242438 AE020070 */ sw $v0, 0x70($s0) +/* A95B7C 8024243C 8FBF0014 */ lw $ra, 0x14($sp) +/* A95B80 80242440 8FB00010 */ lw $s0, 0x10($sp) +/* A95B84 80242444 03E00008 */ jr $ra +/* A95B88 80242448 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_8024244C_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024244C_A93740.s new file mode 100644 index 0000000000..792d0bcd4c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024244C_A93740.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024244C_A95B8C +/* A95B8C 8024244C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A95B90 80242450 AFB40040 */ sw $s4, 0x40($sp) +/* A95B94 80242454 0080A02D */ daddu $s4, $a0, $zero +/* A95B98 80242458 AFBF0044 */ sw $ra, 0x44($sp) +/* A95B9C 8024245C AFB3003C */ sw $s3, 0x3c($sp) +/* A95BA0 80242460 AFB20038 */ sw $s2, 0x38($sp) +/* A95BA4 80242464 AFB10034 */ sw $s1, 0x34($sp) +/* A95BA8 80242468 AFB00030 */ sw $s0, 0x30($sp) +/* A95BAC 8024246C F7B40048 */ sdc1 $f20, 0x48($sp) +/* A95BB0 80242470 8E900148 */ lw $s0, 0x148($s4) +/* A95BB4 80242474 00A0882D */ daddu $s1, $a1, $zero +/* A95BB8 80242478 86040008 */ lh $a0, 8($s0) +/* A95BBC 8024247C 0C00EABB */ jal get_npc_unsafe +/* A95BC0 80242480 00C0902D */ daddu $s2, $a2, $zero +/* A95BC4 80242484 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A95BC8 80242488 46806320 */ cvt.s.w $f12, $f12 +/* A95BCC 8024248C 0040982D */ daddu $s3, $v0, $zero +/* A95BD0 80242490 C6140070 */ lwc1 $f20, 0x70($s0) +/* A95BD4 80242494 4680A520 */ cvt.s.w $f20, $f20 +/* A95BD8 80242498 3C014059 */ lui $at, 0x4059 +/* A95BDC 8024249C 44810800 */ mtc1 $at, $f1 +/* A95BE0 802424A0 44800000 */ mtc1 $zero, $f0 +/* A95BE4 802424A4 4600A521 */ cvt.d.s $f20, $f20 +/* A95BE8 802424A8 4620A503 */ div.d $f20, $f20, $f0 +/* A95BEC 802424AC 0C00A8BB */ jal sin_deg +/* A95BF0 802424B0 4620A520 */ cvt.s.d $f20, $f20 +/* A95BF4 802424B4 3C014018 */ lui $at, 0x4018 +/* A95BF8 802424B8 44811800 */ mtc1 $at, $f3 +/* A95BFC 802424BC 44801000 */ mtc1 $zero, $f2 +/* A95C00 802424C0 46000021 */ cvt.d.s $f0, $f0 +/* A95C04 802424C4 46220002 */ mul.d $f0, $f0, $f2 +/* A95C08 802424C8 00000000 */ nop +/* A95C0C 802424CC 4600A0A1 */ cvt.d.s $f2, $f20 +/* A95C10 802424D0 46201080 */ add.d $f2, $f2, $f0 +/* A95C14 802424D4 462010A0 */ cvt.s.d $f2, $f2 +/* A95C18 802424D8 E662003C */ swc1 $f2, 0x3c($s3) +/* A95C1C 802424DC 8E02006C */ lw $v0, 0x6c($s0) +/* A95C20 802424E0 2442000A */ addiu $v0, $v0, 0xa +/* A95C24 802424E4 44826000 */ mtc1 $v0, $f12 +/* A95C28 802424E8 00000000 */ nop +/* A95C2C 802424EC 0C00A6C9 */ jal clamp_angle +/* A95C30 802424F0 46806320 */ cvt.s.w $f12, $f12 +/* A95C34 802424F4 4600018D */ trunc.w.s $f6, $f0 +/* A95C38 802424F8 E606006C */ swc1 $f6, 0x6c($s0) +/* A95C3C 802424FC 0280202D */ daddu $a0, $s4, $zero +/* A95C40 80242500 8E250024 */ lw $a1, 0x24($s1) +/* A95C44 80242504 8E260028 */ lw $a2, 0x28($s1) +/* A95C48 80242508 0C09074C */ jal func_80241D30 +/* A95C4C 8024250C 0240382D */ daddu $a3, $s2, $zero +/* A95C50 80242510 24030001 */ addiu $v1, $zero, 1 +/* A95C54 80242514 1443001E */ bne $v0, $v1, .L80242590 +/* A95C58 80242518 0000202D */ daddu $a0, $zero, $zero +/* A95C5C 8024251C 0260282D */ daddu $a1, $s3, $zero +/* A95C60 80242520 0000302D */ daddu $a2, $zero, $zero +/* A95C64 80242524 866300A8 */ lh $v1, 0xa8($s3) +/* A95C68 80242528 3C013F80 */ lui $at, 0x3f80 +/* A95C6C 8024252C 44810000 */ mtc1 $at, $f0 +/* A95C70 80242530 3C014000 */ lui $at, 0x4000 +/* A95C74 80242534 44811000 */ mtc1 $at, $f2 +/* A95C78 80242538 3C01C1A0 */ lui $at, 0xc1a0 +/* A95C7C 8024253C 44812000 */ mtc1 $at, $f4 +/* A95C80 80242540 2402000F */ addiu $v0, $zero, 0xf +/* A95C84 80242544 AFA2001C */ sw $v0, 0x1c($sp) +/* A95C88 80242548 44833000 */ mtc1 $v1, $f6 +/* A95C8C 8024254C 00000000 */ nop +/* A95C90 80242550 468031A0 */ cvt.s.w $f6, $f6 +/* A95C94 80242554 44073000 */ mfc1 $a3, $f6 +/* A95C98 80242558 27A20028 */ addiu $v0, $sp, 0x28 +/* A95C9C 8024255C AFA20020 */ sw $v0, 0x20($sp) +/* A95CA0 80242560 E7A00010 */ swc1 $f0, 0x10($sp) +/* A95CA4 80242564 E7A20014 */ swc1 $f2, 0x14($sp) +/* A95CA8 80242568 0C01BFA4 */ jal fx_emote +/* A95CAC 8024256C E7A40018 */ swc1 $f4, 0x18($sp) +/* A95CB0 80242570 0260202D */ daddu $a0, $s3, $zero +/* A95CB4 80242574 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A95CB8 80242578 0C012530 */ jal func_800494C0 +/* A95CBC 8024257C 3C060020 */ lui $a2, 0x20 +/* A95CC0 80242580 24020032 */ addiu $v0, $zero, 0x32 +/* A95CC4 80242584 A662008E */ sh $v0, 0x8e($s3) +/* A95CC8 80242588 0809096C */ j .L802425B0 +/* A95CCC 8024258C 24020014 */ addiu $v0, $zero, 0x14 +.L80242590: +/* A95CD0 80242590 9662008E */ lhu $v0, 0x8e($s3) +/* A95CD4 80242594 2442FFFF */ addiu $v0, $v0, -1 +/* A95CD8 80242598 A662008E */ sh $v0, 0x8e($s3) +/* A95CDC 8024259C 00021400 */ sll $v0, $v0, 0x10 +/* A95CE0 802425A0 1C400004 */ bgtz $v0, .L802425B4 +/* A95CE4 802425A4 24020005 */ addiu $v0, $zero, 5 +/* A95CE8 802425A8 A662008E */ sh $v0, 0x8e($s3) +/* A95CEC 802425AC 2402000F */ addiu $v0, $zero, 0xf +.L802425B0: +/* A95CF0 802425B0 AE820070 */ sw $v0, 0x70($s4) +.L802425B4: +/* A95CF4 802425B4 8FBF0044 */ lw $ra, 0x44($sp) +/* A95CF8 802425B8 8FB40040 */ lw $s4, 0x40($sp) +/* A95CFC 802425BC 8FB3003C */ lw $s3, 0x3c($sp) +/* A95D00 802425C0 8FB20038 */ lw $s2, 0x38($sp) +/* A95D04 802425C4 8FB10034 */ lw $s1, 0x34($sp) +/* A95D08 802425C8 8FB00030 */ lw $s0, 0x30($sp) +/* A95D0C 802425CC D7B40048 */ ldc1 $f20, 0x48($sp) +/* A95D10 802425D0 03E00008 */ jr $ra +/* A95D14 802425D4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_802425D8_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_802425D8_A93740.s new file mode 100644 index 0000000000..6f9015bb78 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_802425D8_A93740.s @@ -0,0 +1,269 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425D8_A95D18 +/* A95D18 802425D8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A95D1C 802425DC AFB60048 */ sw $s6, 0x48($sp) +/* A95D20 802425E0 0080B02D */ daddu $s6, $a0, $zero +/* A95D24 802425E4 AFBF004C */ sw $ra, 0x4c($sp) +/* A95D28 802425E8 AFB50044 */ sw $s5, 0x44($sp) +/* A95D2C 802425EC AFB40040 */ sw $s4, 0x40($sp) +/* A95D30 802425F0 AFB3003C */ sw $s3, 0x3c($sp) +/* A95D34 802425F4 AFB20038 */ sw $s2, 0x38($sp) +/* A95D38 802425F8 AFB10034 */ sw $s1, 0x34($sp) +/* A95D3C 802425FC AFB00030 */ sw $s0, 0x30($sp) +/* A95D40 80242600 F7B60058 */ sdc1 $f22, 0x58($sp) +/* A95D44 80242604 F7B40050 */ sdc1 $f20, 0x50($sp) +/* A95D48 80242608 8ED50148 */ lw $s5, 0x148($s6) +/* A95D4C 8024260C 86A40008 */ lh $a0, 8($s5) +/* A95D50 80242610 0C00EABB */ jal get_npc_unsafe +/* A95D54 80242614 0000982D */ daddu $s3, $zero, $zero +/* A95D58 80242618 0040802D */ daddu $s0, $v0, $zero +/* A95D5C 8024261C 9602008E */ lhu $v0, 0x8e($s0) +/* A95D60 80242620 2442FFFF */ addiu $v0, $v0, -1 +/* A95D64 80242624 A602008E */ sh $v0, 0x8e($s0) +/* A95D68 80242628 00021400 */ sll $v0, $v0, 0x10 +/* A95D6C 8024262C 1C4000DA */ bgtz $v0, .L80242998 +/* A95D70 80242630 0260A02D */ daddu $s4, $s3, $zero +/* A95D74 80242634 0C00A67F */ jal rand_int +/* A95D78 80242638 2404001E */ addiu $a0, $zero, 0x1e +/* A95D7C 8024263C 0260902D */ daddu $s2, $s3, $zero +/* A95D80 80242640 8EA400D0 */ lw $a0, 0xd0($s5) +/* A95D84 80242644 C6000040 */ lwc1 $f0, 0x40($s0) +/* A95D88 80242648 3C018024 */ lui $at, 0x8024 +/* A95D8C 8024264C D4365D78 */ ldc1 $f22, 0x5d78($at) +/* A95D90 80242650 C4820000 */ lwc1 $f2, ($a0) +/* A95D94 80242654 468010A0 */ cvt.s.w $f2, $f2 +/* A95D98 80242658 C4840008 */ lwc1 $f4, 8($a0) +/* A95D9C 8024265C 46802120 */ cvt.s.w $f4, $f4 +/* A95DA0 80242660 E7A00010 */ swc1 $f0, 0x10($sp) +/* A95DA4 80242664 8EA300D0 */ lw $v1, 0xd0($s5) +/* A95DA8 80242668 44051000 */ mfc1 $a1, $f2 +/* A95DAC 8024266C C460000C */ lwc1 $f0, 0xc($v1) +/* A95DB0 80242670 46800020 */ cvt.s.w $f0, $f0 +/* A95DB4 80242674 E7A00014 */ swc1 $f0, 0x14($sp) +/* A95DB8 80242678 8EA300D0 */ lw $v1, 0xd0($s5) +/* A95DBC 8024267C 44062000 */ mfc1 $a2, $f4 +/* A95DC0 80242680 C4600010 */ lwc1 $f0, 0x10($v1) +/* A95DC4 80242684 46800020 */ cvt.s.w $f0, $f0 +/* A95DC8 80242688 E7A00018 */ swc1 $f0, 0x18($sp) +/* A95DCC 8024268C 44820000 */ mtc1 $v0, $f0 +/* A95DD0 80242690 00000000 */ nop +/* A95DD4 80242694 46800021 */ cvt.d.w $f0, $f0 +/* A95DD8 80242698 46360000 */ add.d $f0, $f0, $f22 +/* A95DDC 8024269C 8C840018 */ lw $a0, 0x18($a0) +/* A95DE0 802426A0 8E070038 */ lw $a3, 0x38($s0) +/* A95DE4 802426A4 0C0123F5 */ jal is_point_within_region +/* A95DE8 802426A8 46200520 */ cvt.s.d $f20, $f0 +/* A95DEC 802426AC 10400023 */ beqz $v0, .L8024273C +/* A95DF0 802426B0 00000000 */ nop +/* A95DF4 802426B4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A95DF8 802426B8 8EA200D0 */ lw $v0, 0xd0($s5) +/* A95DFC 802426BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A95E00 802426C0 C44A0000 */ lwc1 $f10, ($v0) +/* A95E04 802426C4 468052A0 */ cvt.s.w $f10, $f10 +/* A95E08 802426C8 44065000 */ mfc1 $a2, $f10 +/* A95E0C 802426CC C44A0008 */ lwc1 $f10, 8($v0) +/* A95E10 802426D0 468052A0 */ cvt.s.w $f10, $f10 +/* A95E14 802426D4 44075000 */ mfc1 $a3, $f10 +/* A95E18 802426D8 0C00A720 */ jal atan2 +/* A95E1C 802426DC 00000000 */ nop +/* A95E20 802426E0 44931000 */ mtc1 $s3, $f2 +/* A95E24 802426E4 00000000 */ nop +/* A95E28 802426E8 468010A0 */ cvt.s.w $f2, $f2 +/* A95E2C 802426EC 46020001 */ sub.s $f0, $f0, $f2 +/* A95E30 802426F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A95E34 802426F4 E600000C */ swc1 $f0, 0xc($s0) +/* A95E38 802426F8 8EA200D0 */ lw $v0, 0xd0($s5) +/* A95E3C 802426FC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A95E40 80242700 C44A0000 */ lwc1 $f10, ($v0) +/* A95E44 80242704 468052A0 */ cvt.s.w $f10, $f10 +/* A95E48 80242708 44065000 */ mfc1 $a2, $f10 +/* A95E4C 8024270C C44A0008 */ lwc1 $f10, 8($v0) +/* A95E50 80242710 468052A0 */ cvt.s.w $f10, $f10 +/* A95E54 80242714 44075000 */ mfc1 $a3, $f10 +/* A95E58 80242718 0C00A7B5 */ jal dist2D +/* A95E5C 8024271C 00000000 */ nop +/* A95E60 80242720 46000106 */ mov.s $f4, $f0 +/* A95E64 80242724 4614003C */ c.lt.s $f0, $f20 +/* A95E68 80242728 00000000 */ nop +/* A95E6C 8024272C 4503006A */ bc1tl .L802428D8 +/* A95E70 80242730 46002506 */ mov.s $f20, $f4 +/* A95E74 80242734 08090A37 */ j .L802428DC +/* A95E78 80242738 27A40020 */ addiu $a0, $sp, 0x20 +.L8024273C: +/* A95E7C 8024273C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A95E80 80242740 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A95E84 80242744 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A95E88 80242748 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A95E8C 8024274C 8C460028 */ lw $a2, 0x28($v0) +/* A95E90 80242750 0C00A720 */ jal atan2 +/* A95E94 80242754 8C470030 */ lw $a3, 0x30($v0) +/* A95E98 80242758 460000A1 */ cvt.d.s $f2, $f0 +/* A95E9C 8024275C 4636103C */ c.lt.d $f2, $f22 +/* A95EA0 80242760 00000000 */ nop +/* A95EA4 80242764 45000006 */ bc1f .L80242780 +/* A95EA8 80242768 E600000C */ swc1 $f0, 0xc($s0) +/* A95EAC 8024276C 0C00A67F */ jal rand_int +/* A95EB0 80242770 2404000A */ addiu $a0, $zero, 0xa +/* A95EB4 80242774 3C018024 */ lui $at, 0x8024 +/* A95EB8 80242778 080909E4 */ j .L80242790 +/* A95EBC 8024277C D4205D80 */ ldc1 $f0, 0x5d80($at) +.L80242780: +/* A95EC0 80242780 0C00A67F */ jal rand_int +/* A95EC4 80242784 2404000A */ addiu $a0, $zero, 0xa +/* A95EC8 80242788 3C018024 */ lui $at, 0x8024 +/* A95ECC 8024278C D4205D88 */ ldc1 $f0, 0x5d88($at) +.L80242790: +/* A95ED0 80242790 44821000 */ mtc1 $v0, $f2 +/* A95ED4 80242794 00000000 */ nop +/* A95ED8 80242798 468010A1 */ cvt.d.w $f2, $f2 +/* A95EDC 8024279C 46201080 */ add.d $f2, $f2, $f0 +/* A95EE0 802427A0 3C014014 */ lui $at, 0x4014 +/* A95EE4 802427A4 44810800 */ mtc1 $at, $f1 +/* A95EE8 802427A8 44800000 */ mtc1 $zero, $f0 +/* A95EEC 802427AC 00000000 */ nop +/* A95EF0 802427B0 46201081 */ sub.d $f2, $f2, $f0 +/* A95EF4 802427B4 462015A0 */ cvt.s.d $f22, $f2 +/* A95EF8 802427B8 00141080 */ sll $v0, $s4, 2 +/* A95EFC 802427BC 00548821 */ addu $s1, $v0, $s4 +.L802427C0: +/* A95F00 802427C0 12400006 */ beqz $s2, .L802427DC +/* A95F04 802427C4 00000000 */ nop +/* A95F08 802427C8 44910000 */ mtc1 $s1, $f0 +/* A95F0C 802427CC 00000000 */ nop +/* A95F10 802427D0 46800020 */ cvt.s.w $f0, $f0 +/* A95F14 802427D4 080909FB */ j .L802427EC +/* A95F18 802427D8 4600B000 */ add.s $f0, $f22, $f0 +.L802427DC: +/* A95F1C 802427DC 44910000 */ mtc1 $s1, $f0 +/* A95F20 802427E0 00000000 */ nop +/* A95F24 802427E4 46800020 */ cvt.s.w $f0, $f0 +/* A95F28 802427E8 4600B001 */ sub.s $f0, $f22, $f0 +.L802427EC: +/* A95F2C 802427EC E600000C */ swc1 $f0, 0xc($s0) +/* A95F30 802427F0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A95F34 802427F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* A95F38 802427F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* A95F3C 802427FC 0000202D */ daddu $a0, $zero, $zero +/* A95F40 80242800 E7A00020 */ swc1 $f0, 0x20($sp) +/* A95F44 80242804 E7A20024 */ swc1 $f2, 0x24($sp) +/* A95F48 80242808 E7A40028 */ swc1 $f4, 0x28($sp) +/* A95F4C 8024280C E7B40010 */ swc1 $f20, 0x10($sp) +/* A95F50 80242810 C600000C */ lwc1 $f0, 0xc($s0) +/* A95F54 80242814 27A50020 */ addiu $a1, $sp, 0x20 +/* A95F58 80242818 E7A00014 */ swc1 $f0, 0x14($sp) +/* A95F5C 8024281C 860200A8 */ lh $v0, 0xa8($s0) +/* A95F60 80242820 27A60024 */ addiu $a2, $sp, 0x24 +/* A95F64 80242824 44820000 */ mtc1 $v0, $f0 +/* A95F68 80242828 00000000 */ nop +/* A95F6C 8024282C 46800020 */ cvt.s.w $f0, $f0 +/* A95F70 80242830 E7A00018 */ swc1 $f0, 0x18($sp) +/* A95F74 80242834 860200A6 */ lh $v0, 0xa6($s0) +/* A95F78 80242838 27A70028 */ addiu $a3, $sp, 0x28 +/* A95F7C 8024283C 44820000 */ mtc1 $v0, $f0 +/* A95F80 80242840 00000000 */ nop +/* A95F84 80242844 46800020 */ cvt.s.w $f0, $f0 +/* A95F88 80242848 0C0376B9 */ jal func_800DDAE4 +/* A95F8C 8024284C E7A0001C */ swc1 $f0, 0x1c($sp) +/* A95F90 80242850 50400014 */ beql $v0, $zero, .L802428A4 +/* A95F94 80242854 24130002 */ addiu $s3, $zero, 2 +/* A95F98 80242858 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A95F9C 8024285C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A95FA0 80242860 8FA60020 */ lw $a2, 0x20($sp) +/* A95FA4 80242864 0C00A7B5 */ jal dist2D +/* A95FA8 80242868 8FA70028 */ lw $a3, 0x28($sp) +/* A95FAC 8024286C 46000106 */ mov.s $f4, $f0 +/* A95FB0 80242870 3C014064 */ lui $at, 0x4064 +/* A95FB4 80242874 44811800 */ mtc1 $at, $f3 +/* A95FB8 80242878 44801000 */ mtc1 $zero, $f2 +/* A95FBC 8024287C 46002021 */ cvt.d.s $f0, $f4 +/* A95FC0 80242880 4620103C */ c.lt.d $f2, $f0 +/* A95FC4 80242884 00000000 */ nop +/* A95FC8 80242888 45000006 */ bc1f .L802428A4 +/* A95FCC 8024288C 00000000 */ nop +/* A95FD0 80242890 4614203C */ c.lt.s $f4, $f20 +/* A95FD4 80242894 00000000 */ nop +/* A95FD8 80242898 45030001 */ bc1tl .L802428A0 +/* A95FDC 8024289C 46002506 */ mov.s $f20, $f4 +.L802428A0: +/* A95FE0 802428A0 24130001 */ addiu $s3, $zero, 1 +.L802428A4: +/* A95FE4 802428A4 1660000D */ bnez $s3, .L802428DC +/* A95FE8 802428A8 27A40020 */ addiu $a0, $sp, 0x20 +/* A95FEC 802428AC 56400003 */ bnel $s2, $zero, .L802428BC +/* A95FF0 802428B0 26310005 */ addiu $s1, $s1, 5 +/* A95FF4 802428B4 08090A31 */ j .L802428C4 +/* A95FF8 802428B8 24120001 */ addiu $s2, $zero, 1 +.L802428BC: +/* A95FFC 802428BC 26940001 */ addiu $s4, $s4, 1 +/* A96000 802428C0 0000902D */ daddu $s2, $zero, $zero +.L802428C4: +/* A96004 802428C4 2A820007 */ slti $v0, $s4, 7 +/* A96008 802428C8 5040FFBD */ beql $v0, $zero, .L802427C0 +/* A9600C 802428CC 24130003 */ addiu $s3, $zero, 3 +/* A96010 802428D0 080909F0 */ j .L802427C0 +/* A96014 802428D4 00000000 */ nop +.L802428D8: +/* A96018 802428D8 27A40020 */ addiu $a0, $sp, 0x20 +.L802428DC: +/* A9601C 802428DC 4406A000 */ mfc1 $a2, $f20 +/* A96020 802428E0 8E07000C */ lw $a3, 0xc($s0) +/* A96024 802428E4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A96028 802428E8 C6020040 */ lwc1 $f2, 0x40($s0) +/* A9602C 802428EC 27A50028 */ addiu $a1, $sp, 0x28 +/* A96030 802428F0 E7A00020 */ swc1 $f0, 0x20($sp) +/* A96034 802428F4 0C00A7E7 */ jal add_vec2D_polar +/* A96038 802428F8 E7A20028 */ swc1 $f2, 0x28($sp) +/* A9603C 802428FC C6000038 */ lwc1 $f0, 0x38($s0) +/* A96040 80242900 3C014059 */ lui $at, 0x4059 +/* A96044 80242904 44814800 */ mtc1 $at, $f9 +/* A96048 80242908 44804000 */ mtc1 $zero, $f8 +/* A9604C 8024290C 46000021 */ cvt.d.s $f0, $f0 +/* A96050 80242910 46280002 */ mul.d $f0, $f0, $f8 +/* A96054 80242914 00000000 */ nop +/* A96058 80242918 C7A20020 */ lwc1 $f2, 0x20($sp) +/* A9605C 8024291C C604003C */ lwc1 $f4, 0x3c($s0) +/* A96060 80242920 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A96064 80242924 E6020060 */ swc1 $f2, 0x60($s0) +/* A96068 80242928 E6040064 */ swc1 $f4, 0x64($s0) +/* A9606C 8024292C E6060068 */ swc1 $f6, 0x68($s0) +/* A96070 80242930 4620028D */ trunc.w.d $f10, $f0 +/* A96074 80242934 E6AA007C */ swc1 $f10, 0x7c($s5) +/* A96078 80242938 C6000040 */ lwc1 $f0, 0x40($s0) +/* A9607C 8024293C 46000021 */ cvt.d.s $f0, $f0 +/* A96080 80242940 46280002 */ mul.d $f0, $f0, $f8 +/* A96084 80242944 00000000 */ nop +/* A96088 80242948 4620028D */ trunc.w.d $f10, $f0 +/* A9608C 8024294C E6AA0084 */ swc1 $f10, 0x84($s5) +/* A96090 80242950 0C00A67F */ jal rand_int +/* A96094 80242954 2404000A */ addiu $a0, $zero, 0xa +/* A96098 80242958 3C014040 */ lui $at, 0x4040 +/* A9609C 8024295C 44810000 */ mtc1 $at, $f0 +/* A960A0 80242960 3C013FB3 */ lui $at, 0x3fb3 +/* A960A4 80242964 34213333 */ ori $at, $at, 0x3333 +/* A960A8 80242968 44811000 */ mtc1 $at, $f2 +/* A960AC 8024296C 3C013E4C */ lui $at, 0x3e4c +/* A960B0 80242970 3421CCCD */ ori $at, $at, 0xcccd +/* A960B4 80242974 44812000 */ mtc1 $at, $f4 +/* A960B8 80242978 24420023 */ addiu $v0, $v0, 0x23 +/* A960BC 8024297C AEA20078 */ sw $v0, 0x78($s5) +/* A960C0 80242980 24020010 */ addiu $v0, $zero, 0x10 +/* A960C4 80242984 A600008E */ sh $zero, 0x8e($s0) +/* A960C8 80242988 E6000018 */ swc1 $f0, 0x18($s0) +/* A960CC 8024298C E602001C */ swc1 $f2, 0x1c($s0) +/* A960D0 80242990 E6040014 */ swc1 $f4, 0x14($s0) +/* A960D4 80242994 AEC20070 */ sw $v0, 0x70($s6) +.L80242998: +/* A960D8 80242998 8FBF004C */ lw $ra, 0x4c($sp) +/* A960DC 8024299C 8FB60048 */ lw $s6, 0x48($sp) +/* A960E0 802429A0 8FB50044 */ lw $s5, 0x44($sp) +/* A960E4 802429A4 8FB40040 */ lw $s4, 0x40($sp) +/* A960E8 802429A8 8FB3003C */ lw $s3, 0x3c($sp) +/* A960EC 802429AC 8FB20038 */ lw $s2, 0x38($sp) +/* A960F0 802429B0 8FB10034 */ lw $s1, 0x34($sp) +/* A960F4 802429B4 8FB00030 */ lw $s0, 0x30($sp) +/* A960F8 802429B8 D7B60058 */ ldc1 $f22, 0x58($sp) +/* A960FC 802429BC D7B40050 */ ldc1 $f20, 0x50($sp) +/* A96100 802429C0 03E00008 */ jr $ra +/* A96104 802429C4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_802429C8.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_802429C8.s new file mode 100644 index 0000000000..a5f3d4e419 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_802429C8.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429C8 +/* A96108 802429C8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A9610C 802429CC AFB20018 */ sw $s2, 0x18($sp) +/* A96110 802429D0 0080902D */ daddu $s2, $a0, $zero +/* A96114 802429D4 AFBF001C */ sw $ra, 0x1c($sp) +/* A96118 802429D8 AFB10014 */ sw $s1, 0x14($sp) +/* A9611C 802429DC AFB00010 */ sw $s0, 0x10($sp) +/* A96120 802429E0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* A96124 802429E4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A96128 802429E8 8E510148 */ lw $s1, 0x148($s2) +/* A9612C 802429EC 0C00EABB */ jal get_npc_unsafe +/* A96130 802429F0 86240008 */ lh $a0, 8($s1) +/* A96134 802429F4 0040802D */ daddu $s0, $v0, $zero +/* A96138 802429F8 C6340070 */ lwc1 $f20, 0x70($s1) +/* A9613C 802429FC 4680A520 */ cvt.s.w $f20, $f20 +/* A96140 80242A00 4600A521 */ cvt.d.s $f20, $f20 +/* A96144 80242A04 8E23006C */ lw $v1, 0x6c($s1) +/* A96148 80242A08 3C014059 */ lui $at, 0x4059 +/* A9614C 80242A0C 4481B800 */ mtc1 $at, $f23 +/* A96150 80242A10 4480B000 */ mtc1 $zero, $f22 +/* A96154 80242A14 2463000A */ addiu $v1, $v1, 0xa +/* A96158 80242A18 44836000 */ mtc1 $v1, $f12 +/* A9615C 80242A1C 00000000 */ nop +/* A96160 80242A20 46806320 */ cvt.s.w $f12, $f12 +/* A96164 80242A24 4636A503 */ div.d $f20, $f20, $f22 +/* A96168 80242A28 0C00A6C9 */ jal clamp_angle +/* A9616C 80242A2C 4620A520 */ cvt.s.d $f20, $f20 +/* A96170 80242A30 4600010D */ trunc.w.s $f4, $f0 +/* A96174 80242A34 44022000 */ mfc1 $v0, $f4 +/* A96178 80242A38 00000000 */ nop +/* A9617C 80242A3C 44826000 */ mtc1 $v0, $f12 +/* A96180 80242A40 00000000 */ nop +/* A96184 80242A44 46806320 */ cvt.s.w $f12, $f12 +/* A96188 80242A48 0C00A8BB */ jal sin_deg +/* A9618C 80242A4C AE22006C */ sw $v0, 0x6c($s1) +/* A96190 80242A50 3C014018 */ lui $at, 0x4018 +/* A96194 80242A54 44811800 */ mtc1 $at, $f3 +/* A96198 80242A58 44801000 */ mtc1 $zero, $f2 +/* A9619C 80242A5C 46000021 */ cvt.d.s $f0, $f0 +/* A961A0 80242A60 46220002 */ mul.d $f0, $f0, $f2 +/* A961A4 80242A64 00000000 */ nop +/* A961A8 80242A68 4600A0A1 */ cvt.d.s $f2, $f20 +/* A961AC 80242A6C 46201080 */ add.d $f2, $f2, $f0 +/* A961B0 80242A70 8602008C */ lh $v0, 0x8c($s0) +/* A961B4 80242A74 46201020 */ cvt.s.d $f0, $f2 +/* A961B8 80242A78 14400008 */ bnez $v0, .L80242A9C +/* A961BC 80242A7C E600003C */ swc1 $f0, 0x3c($s0) +/* A961C0 80242A80 46000021 */ cvt.d.s $f0, $f0 +/* A961C4 80242A84 46360002 */ mul.d $f0, $f0, $f22 +/* A961C8 80242A88 00000000 */ nop +/* A961CC 80242A8C 24020011 */ addiu $v0, $zero, 0x11 +/* A961D0 80242A90 4620010D */ trunc.w.d $f4, $f0 +/* A961D4 80242A94 E6240080 */ swc1 $f4, 0x80($s1) +/* A961D8 80242A98 AE420070 */ sw $v0, 0x70($s2) +.L80242A9C: +/* A961DC 80242A9C 8FBF001C */ lw $ra, 0x1c($sp) +/* A961E0 80242AA0 8FB20018 */ lw $s2, 0x18($sp) +/* A961E4 80242AA4 8FB10014 */ lw $s1, 0x14($sp) +/* A961E8 80242AA8 8FB00010 */ lw $s0, 0x10($sp) +/* A961EC 80242AAC D7B60028 */ ldc1 $f22, 0x28($sp) +/* A961F0 80242AB0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A961F4 80242AB4 03E00008 */ jr $ra +/* A961F8 80242AB8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242ABC.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242ABC.s new file mode 100644 index 0000000000..96bce53fc4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242ABC.s @@ -0,0 +1,154 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242ABC +/* A961FC 80242ABC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A96200 80242AC0 AFB20020 */ sw $s2, 0x20($sp) +/* A96204 80242AC4 0080902D */ daddu $s2, $a0, $zero +/* A96208 80242AC8 AFBF0024 */ sw $ra, 0x24($sp) +/* A9620C 80242ACC AFB1001C */ sw $s1, 0x1c($sp) +/* A96210 80242AD0 AFB00018 */ sw $s0, 0x18($sp) +/* A96214 80242AD4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* A96218 80242AD8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A9621C 80242ADC F7B40028 */ sdc1 $f20, 0x28($sp) +/* A96220 80242AE0 8E510148 */ lw $s1, 0x148($s2) +/* A96224 80242AE4 0C00EABB */ jal get_npc_unsafe +/* A96228 80242AE8 86240008 */ lh $a0, 8($s1) +/* A9622C 80242AEC 2404000B */ addiu $a0, $zero, 0xb +/* A96230 80242AF0 0040802D */ daddu $s0, $v0, $zero +/* A96234 80242AF4 C620007C */ lwc1 $f0, 0x7c($s1) +/* A96238 80242AF8 46800020 */ cvt.s.w $f0, $f0 +/* A9623C 80242AFC 46000021 */ cvt.d.s $f0, $f0 +/* A96240 80242B00 C6360080 */ lwc1 $f22, 0x80($s1) +/* A96244 80242B04 4680B5A0 */ cvt.s.w $f22, $f22 +/* A96248 80242B08 C6340084 */ lwc1 $f20, 0x84($s1) +/* A9624C 80242B0C 4680A520 */ cvt.s.w $f20, $f20 +/* A96250 80242B10 4600B5A1 */ cvt.d.s $f22, $f22 +/* A96254 80242B14 4600A521 */ cvt.d.s $f20, $f20 +/* A96258 80242B18 3C014059 */ lui $at, 0x4059 +/* A9625C 80242B1C 44811800 */ mtc1 $at, $f3 +/* A96260 80242B20 44801000 */ mtc1 $zero, $f2 +/* A96264 80242B24 8607008E */ lh $a3, 0x8e($s0) +/* A96268 80242B28 8E220078 */ lw $v0, 0x78($s1) +/* A9626C 80242B2C 46220003 */ div.d $f0, $f0, $f2 +/* A96270 80242B30 46200020 */ cvt.s.d $f0, $f0 +/* A96274 80242B34 44050000 */ mfc1 $a1, $f0 +/* A96278 80242B38 C6200070 */ lwc1 $f0, 0x70($s1) +/* A9627C 80242B3C 46800020 */ cvt.s.w $f0, $f0 +/* A96280 80242B40 46000021 */ cvt.d.s $f0, $f0 +/* A96284 80242B44 46220003 */ div.d $f0, $f0, $f2 +/* A96288 80242B48 46200620 */ cvt.s.d $f24, $f0 +/* A9628C 80242B4C 4622B583 */ div.d $f22, $f22, $f2 +/* A96290 80242B50 4620B5A0 */ cvt.s.d $f22, $f22 +/* A96294 80242B54 4622A503 */ div.d $f20, $f20, $f2 +/* A96298 80242B58 AFA20010 */ sw $v0, 0x10($sp) +/* A9629C 80242B5C 8E060060 */ lw $a2, 0x60($s0) +/* A962A0 80242B60 0C00A8ED */ jal update_lerp +/* A962A4 80242B64 4620A520 */ cvt.s.d $f20, $f20 +/* A962A8 80242B68 4405A000 */ mfc1 $a1, $f20 +/* A962AC 80242B6C 8607008E */ lh $a3, 0x8e($s0) +/* A962B0 80242B70 8E220078 */ lw $v0, 0x78($s1) +/* A962B4 80242B74 2404000B */ addiu $a0, $zero, 0xb +/* A962B8 80242B78 AFA20010 */ sw $v0, 0x10($sp) +/* A962BC 80242B7C 8E060068 */ lw $a2, 0x68($s0) +/* A962C0 80242B80 0C00A8ED */ jal update_lerp +/* A962C4 80242B84 46000506 */ mov.s $f20, $f0 +/* A962C8 80242B88 E6140038 */ swc1 $f20, 0x38($s0) +/* A962CC 80242B8C E6000040 */ swc1 $f0, 0x40($s0) +/* A962D0 80242B90 C6200078 */ lwc1 $f0, 0x78($s1) +/* A962D4 80242B94 46800020 */ cvt.s.w $f0, $f0 +/* A962D8 80242B98 46000021 */ cvt.d.s $f0, $f0 +/* A962DC 80242B9C 8602008E */ lh $v0, 0x8e($s0) +/* A962E0 80242BA0 3C018024 */ lui $at, 0x8024 +/* A962E4 80242BA4 D4345D90 */ ldc1 $f20, 0x5d90($at) +/* A962E8 80242BA8 44821000 */ mtc1 $v0, $f2 +/* A962EC 80242BAC 00000000 */ nop +/* A962F0 80242BB0 468010A1 */ cvt.d.w $f2, $f2 +/* A962F4 80242BB4 4620A003 */ div.d $f0, $f20, $f0 +/* A962F8 80242BB8 46201082 */ mul.d $f2, $f2, $f0 +/* A962FC 80242BBC 00000000 */ nop +/* A96300 80242BC0 4620110D */ trunc.w.d $f4, $f2 +/* A96304 80242BC4 44022000 */ mfc1 $v0, $f4 +/* A96308 80242BC8 00000000 */ nop +/* A9630C 80242BCC 244200B4 */ addiu $v0, $v0, 0xb4 +/* A96310 80242BD0 44826000 */ mtc1 $v0, $f12 +/* A96314 80242BD4 00000000 */ nop +/* A96318 80242BD8 0C00A8BB */ jal sin_deg +/* A9631C 80242BDC 46806320 */ cvt.s.w $f12, $f12 +/* A96320 80242BE0 3C014039 */ lui $at, 0x4039 +/* A96324 80242BE4 44811800 */ mtc1 $at, $f3 +/* A96328 80242BE8 44801000 */ mtc1 $zero, $f2 +/* A9632C 80242BEC 46000021 */ cvt.d.s $f0, $f0 +/* A96330 80242BF0 46220002 */ mul.d $f0, $f0, $f2 +/* A96334 80242BF4 00000000 */ nop +/* A96338 80242BF8 9602008E */ lhu $v0, 0x8e($s0) +/* A9633C 80242BFC 4600B0A1 */ cvt.d.s $f2, $f22 +/* A96340 80242C00 24420001 */ addiu $v0, $v0, 1 +/* A96344 80242C04 46201080 */ add.d $f2, $f2, $f0 +/* A96348 80242C08 A602008E */ sh $v0, 0x8e($s0) +/* A9634C 80242C0C 00021400 */ sll $v0, $v0, 0x10 +/* A96350 80242C10 462010A0 */ cvt.s.d $f2, $f2 +/* A96354 80242C14 E602003C */ swc1 $f2, 0x3c($s0) +/* A96358 80242C18 8E230078 */ lw $v1, 0x78($s1) +/* A9635C 80242C1C 00021403 */ sra $v0, $v0, 0x10 +/* A96360 80242C20 2463FFF8 */ addiu $v1, $v1, -8 +/* A96364 80242C24 14430009 */ bne $v0, $v1, .L80242C4C +/* A96368 80242C28 00000000 */ nop +/* A9636C 80242C2C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A96370 80242C30 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A96374 80242C34 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A96378 80242C38 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A9637C 80242C3C 8C460028 */ lw $a2, 0x28($v0) +/* A96380 80242C40 0C00A720 */ jal atan2 +/* A96384 80242C44 8C470030 */ lw $a3, 0x30($v0) +/* A96388 80242C48 E600000C */ swc1 $f0, 0xc($s0) +.L80242C4C: +/* A9638C 80242C4C C600003C */ lwc1 $f0, 0x3c($s0) +/* A96390 80242C50 4600C03E */ c.le.s $f24, $f0 +/* A96394 80242C54 00000000 */ nop +/* A96398 80242C58 45000004 */ bc1f .L80242C6C +/* A9639C 80242C5C 2402000A */ addiu $v0, $zero, 0xa +/* A963A0 80242C60 E618003C */ swc1 $f24, 0x3c($s0) +/* A963A4 80242C64 08090B36 */ j .L80242CD8 +/* A963A8 80242C68 AE20006C */ sw $zero, 0x6c($s1) +.L80242C6C: +/* A963AC 80242C6C 8602008E */ lh $v0, 0x8e($s0) +/* A963B0 80242C70 8E230078 */ lw $v1, 0x78($s1) +/* A963B4 80242C74 0043102A */ slt $v0, $v0, $v1 +/* A963B8 80242C78 14400018 */ bnez $v0, .L80242CDC +/* A963BC 80242C7C 00000000 */ nop +/* A963C0 80242C80 8E23006C */ lw $v1, 0x6c($s1) +/* A963C4 80242C84 44831000 */ mtc1 $v1, $f2 +/* A963C8 80242C88 00000000 */ nop +/* A963CC 80242C8C 468010A1 */ cvt.d.w $f2, $f2 +/* A963D0 80242C90 4622A03E */ c.le.d $f20, $f2 +/* A963D4 80242C94 00000000 */ nop +/* A963D8 80242C98 4500000F */ bc1f .L80242CD8 +/* A963DC 80242C9C 2402000A */ addiu $v0, $zero, 0xa +/* A963E0 80242CA0 3C018024 */ lui $at, 0x8024 +/* A963E4 80242CA4 D4205D98 */ ldc1 $f0, 0x5d98($at) +/* A963E8 80242CA8 4620103C */ c.lt.d $f2, $f0 +/* A963EC 80242CAC 00000000 */ nop +/* A963F0 80242CB0 45000008 */ bc1f .L80242CD4 +/* A963F4 80242CB4 2402021C */ addiu $v0, $zero, 0x21c +/* A963F8 80242CB8 00431023 */ subu $v0, $v0, $v1 +/* A963FC 80242CBC 44826000 */ mtc1 $v0, $f12 +/* A96400 80242CC0 00000000 */ nop +/* A96404 80242CC4 0C00A6C9 */ jal clamp_angle +/* A96408 80242CC8 46806320 */ cvt.s.w $f12, $f12 +/* A9640C 80242CCC 4600010D */ trunc.w.s $f4, $f0 +/* A96410 80242CD0 E624006C */ swc1 $f4, 0x6c($s1) +.L80242CD4: +/* A96414 80242CD4 2402000A */ addiu $v0, $zero, 0xa +.L80242CD8: +/* A96418 80242CD8 AE420070 */ sw $v0, 0x70($s2) +.L80242CDC: +/* A9641C 80242CDC 8FBF0024 */ lw $ra, 0x24($sp) +/* A96420 80242CE0 8FB20020 */ lw $s2, 0x20($sp) +/* A96424 80242CE4 8FB1001C */ lw $s1, 0x1c($sp) +/* A96428 80242CE8 8FB00018 */ lw $s0, 0x18($sp) +/* A9642C 80242CEC D7B80038 */ ldc1 $f24, 0x38($sp) +/* A96430 80242CF0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A96434 80242CF4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A96438 80242CF8 03E00008 */ jr $ra +/* A9643C 80242CFC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D00.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D00.s new file mode 100644 index 0000000000..a094795bee --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D00.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D00 +/* A96440 80242D00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A96444 80242D04 AFB00010 */ sw $s0, 0x10($sp) +/* A96448 80242D08 0080802D */ daddu $s0, $a0, $zero +/* A9644C 80242D0C AFBF0014 */ sw $ra, 0x14($sp) +/* A96450 80242D10 8E020148 */ lw $v0, 0x148($s0) +/* A96454 80242D14 0C00EABB */ jal get_npc_unsafe +/* A96458 80242D18 84440008 */ lh $a0, 8($v0) +/* A9645C 80242D1C 24030028 */ addiu $v1, $zero, 0x28 +/* A96460 80242D20 A443008E */ sh $v1, 0x8e($v0) +/* A96464 80242D24 24020015 */ addiu $v0, $zero, 0x15 +/* A96468 80242D28 AE020070 */ sw $v0, 0x70($s0) +/* A9646C 80242D2C 8FBF0014 */ lw $ra, 0x14($sp) +/* A96470 80242D30 8FB00010 */ lw $s0, 0x10($sp) +/* A96474 80242D34 03E00008 */ jr $ra +/* A96478 80242D38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D3C.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D3C.s new file mode 100644 index 0000000000..af644b1612 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242D3C.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D3C +/* A9647C 80242D3C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A96480 80242D40 AFB40048 */ sw $s4, 0x48($sp) +/* A96484 80242D44 0080A02D */ daddu $s4, $a0, $zero +/* A96488 80242D48 AFBF004C */ sw $ra, 0x4c($sp) +/* A9648C 80242D4C AFB30044 */ sw $s3, 0x44($sp) +/* A96490 80242D50 AFB20040 */ sw $s2, 0x40($sp) +/* A96494 80242D54 AFB1003C */ sw $s1, 0x3c($sp) +/* A96498 80242D58 AFB00038 */ sw $s0, 0x38($sp) +/* A9649C 80242D5C F7B40050 */ sdc1 $f20, 0x50($sp) +/* A964A0 80242D60 8E910148 */ lw $s1, 0x148($s4) +/* A964A4 80242D64 00A0902D */ daddu $s2, $a1, $zero +/* A964A8 80242D68 86240008 */ lh $a0, 8($s1) +/* A964AC 80242D6C 0C00EABB */ jal get_npc_unsafe +/* A964B0 80242D70 00C0982D */ daddu $s3, $a2, $zero +/* A964B4 80242D74 0040802D */ daddu $s0, $v0, $zero +/* A964B8 80242D78 9602008E */ lhu $v0, 0x8e($s0) +/* A964BC 80242D7C 2442FFFF */ addiu $v0, $v0, -1 +/* A964C0 80242D80 A602008E */ sh $v0, 0x8e($s0) +/* A964C4 80242D84 00021400 */ sll $v0, $v0, 0x10 +/* A964C8 80242D88 14400021 */ bnez $v0, .L80242E10 +/* A964CC 80242D8C 0280202D */ daddu $a0, $s4, $zero +/* A964D0 80242D90 24040002 */ addiu $a0, $zero, 2 +/* A964D4 80242D94 0200282D */ daddu $a1, $s0, $zero +/* A964D8 80242D98 0000302D */ daddu $a2, $zero, $zero +/* A964DC 80242D9C 8E2200CC */ lw $v0, 0xcc($s1) +/* A964E0 80242DA0 3C013F80 */ lui $at, 0x3f80 +/* A964E4 80242DA4 44810000 */ mtc1 $at, $f0 +/* A964E8 80242DA8 3C014000 */ lui $at, 0x4000 +/* A964EC 80242DAC 44811000 */ mtc1 $at, $f2 +/* A964F0 80242DB0 8C430000 */ lw $v1, ($v0) +/* A964F4 80242DB4 860200A8 */ lh $v0, 0xa8($s0) +/* A964F8 80242DB8 3C01C1A0 */ lui $at, 0xc1a0 +/* A964FC 80242DBC 44812000 */ mtc1 $at, $f4 +/* A96500 80242DC0 44824000 */ mtc1 $v0, $f8 +/* A96504 80242DC4 00000000 */ nop +/* A96508 80242DC8 46804220 */ cvt.s.w $f8, $f8 +/* A9650C 80242DCC 44074000 */ mfc1 $a3, $f8 +/* A96510 80242DD0 2402000C */ addiu $v0, $zero, 0xc +/* A96514 80242DD4 AE030028 */ sw $v1, 0x28($s0) +/* A96518 80242DD8 AFA2001C */ sw $v0, 0x1c($sp) +/* A9651C 80242DDC 27A20028 */ addiu $v0, $sp, 0x28 +/* A96520 80242DE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A96524 80242DE4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A96528 80242DE8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A9652C 80242DEC 0C01BFA4 */ jal fx_emote +/* A96530 80242DF0 AFA20020 */ sw $v0, 0x20($sp) +/* A96534 80242DF4 8E2200CC */ lw $v0, 0xcc($s1) +/* A96538 80242DF8 8C430000 */ lw $v1, ($v0) +/* A9653C 80242DFC 2402000F */ addiu $v0, $zero, 0xf +/* A96540 80242E00 A602008E */ sh $v0, 0x8e($s0) +/* A96544 80242E04 24020032 */ addiu $v0, $zero, 0x32 +/* A96548 80242E08 08090BB8 */ j .L80242EE0 +/* A9654C 80242E0C AE030028 */ sw $v1, 0x28($s0) +.L80242E10: +/* A96550 80242E10 8E450024 */ lw $a1, 0x24($s2) +/* A96554 80242E14 8E460028 */ lw $a2, 0x28($s2) +/* A96558 80242E18 0C09074C */ jal func_80241D30 +/* A9655C 80242E1C 0260382D */ daddu $a3, $s3, $zero +/* A96560 80242E20 24030001 */ addiu $v1, $zero, 1 +/* A96564 80242E24 1443002F */ bne $v0, $v1, .L80242EE4 +/* A96568 80242E28 00000000 */ nop +/* A9656C 80242E2C 8602008C */ lh $v0, 0x8c($s0) +/* A96570 80242E30 1440002C */ bnez $v0, .L80242EE4 +/* A96574 80242E34 0200202D */ daddu $a0, $s0, $zero +/* A96578 80242E38 240520D4 */ addiu $a1, $zero, 0x20d4 +/* A9657C 80242E3C 0C012530 */ jal func_800494C0 +/* A96580 80242E40 0000302D */ daddu $a2, $zero, $zero +/* A96584 80242E44 27A4002C */ addiu $a0, $sp, 0x2c +/* A96588 80242E48 27A50030 */ addiu $a1, $sp, 0x30 +/* A9658C 80242E4C 3C0641F0 */ lui $a2, 0x41f0 +/* A96590 80242E50 C6020034 */ lwc1 $f2, 0x34($s0) +/* A96594 80242E54 3C014387 */ lui $at, 0x4387 +/* A96598 80242E58 44810000 */ mtc1 $at, $f0 +/* A9659C 80242E5C 8E2200CC */ lw $v0, 0xcc($s1) +/* A965A0 80242E60 C614003C */ lwc1 $f20, 0x3c($s0) +/* A965A4 80242E64 46020001 */ sub.s $f0, $f0, $f2 +/* A965A8 80242E68 3C0141E8 */ lui $at, 0x41e8 +/* A965AC 80242E6C 44812000 */ mtc1 $at, $f4 +/* A965B0 80242E70 C6060038 */ lwc1 $f6, 0x38($s0) +/* A965B4 80242E74 4604A500 */ add.s $f20, $f20, $f4 +/* A965B8 80242E78 3C013F80 */ lui $at, 0x3f80 +/* A965BC 80242E7C 44811000 */ mtc1 $at, $f2 +/* A965C0 80242E80 44070000 */ mfc1 $a3, $f0 +/* A965C4 80242E84 C6000040 */ lwc1 $f0, 0x40($s0) +/* A965C8 80242E88 8C420020 */ lw $v0, 0x20($v0) +/* A965CC 80242E8C 46020000 */ add.s $f0, $f0, $f2 +/* A965D0 80242E90 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A965D4 80242E94 AE020028 */ sw $v0, 0x28($s0) +/* A965D8 80242E98 0C00A7E7 */ jal add_vec2D_polar +/* A965DC 80242E9C E7A00030 */ swc1 $f0, 0x30($sp) +/* A965E0 80242EA0 0000202D */ daddu $a0, $zero, $zero +/* A965E4 80242EA4 4406A000 */ mfc1 $a2, $f20 +/* A965E8 80242EA8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A965EC 80242EAC C7A20030 */ lwc1 $f2, 0x30($sp) +/* A965F0 80242EB0 44050000 */ mfc1 $a1, $f0 +/* A965F4 80242EB4 44071000 */ mfc1 $a3, $f2 +/* A965F8 80242EB8 3C013DCC */ lui $at, 0x3dcc +/* A965FC 80242EBC 3421CCCD */ ori $at, $at, 0xcccd +/* A96600 80242EC0 44810000 */ mtc1 $at, $f0 +/* A96604 80242EC4 2402000D */ addiu $v0, $zero, 0xd +/* A96608 80242EC8 AFA20014 */ sw $v0, 0x14($sp) +/* A9660C 80242ECC 0C01BFEC */ jal func_8006FFB0 +/* A96610 80242ED0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A96614 80242ED4 2402000F */ addiu $v0, $zero, 0xf +/* A96618 80242ED8 A602008E */ sh $v0, 0x8e($s0) +/* A9661C 80242EDC 24020016 */ addiu $v0, $zero, 0x16 +.L80242EE0: +/* A96620 80242EE0 AE820070 */ sw $v0, 0x70($s4) +.L80242EE4: +/* A96624 80242EE4 8FBF004C */ lw $ra, 0x4c($sp) +/* A96628 80242EE8 8FB40048 */ lw $s4, 0x48($sp) +/* A9662C 80242EEC 8FB30044 */ lw $s3, 0x44($sp) +/* A96630 80242EF0 8FB20040 */ lw $s2, 0x40($sp) +/* A96634 80242EF4 8FB1003C */ lw $s1, 0x3c($sp) +/* A96638 80242EF8 8FB00038 */ lw $s0, 0x38($sp) +/* A9663C 80242EFC D7B40050 */ ldc1 $f20, 0x50($sp) +/* A96640 80242F00 03E00008 */ jr $ra +/* A96644 80242F04 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F08_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F08_A93740.s new file mode 100644 index 0000000000..858a68d325 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F08_A93740.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F08_A96648 +/* A96648 80242F08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A9664C 80242F0C AFB10014 */ sw $s1, 0x14($sp) +/* A96650 80242F10 0080882D */ daddu $s1, $a0, $zero +/* A96654 80242F14 AFBF0018 */ sw $ra, 0x18($sp) +/* A96658 80242F18 AFB00010 */ sw $s0, 0x10($sp) +/* A9665C 80242F1C 8E300148 */ lw $s0, 0x148($s1) +/* A96660 80242F20 0C00EABB */ jal get_npc_unsafe +/* A96664 80242F24 86040008 */ lh $a0, 8($s0) +/* A96668 80242F28 0040202D */ daddu $a0, $v0, $zero +/* A9666C 80242F2C 9482008E */ lhu $v0, 0x8e($a0) +/* A96670 80242F30 2442FFFF */ addiu $v0, $v0, -1 +/* A96674 80242F34 A482008E */ sh $v0, 0x8e($a0) +/* A96678 80242F38 00021400 */ sll $v0, $v0, 0x10 +/* A9667C 80242F3C 1C400008 */ bgtz $v0, .L80242F60 +/* A96680 80242F40 00000000 */ nop +/* A96684 80242F44 8E0200CC */ lw $v0, 0xcc($s0) +/* A96688 80242F48 8C430024 */ lw $v1, 0x24($v0) +/* A9668C 80242F4C 24020007 */ addiu $v0, $zero, 7 +/* A96690 80242F50 A482008E */ sh $v0, 0x8e($a0) +/* A96694 80242F54 24020017 */ addiu $v0, $zero, 0x17 +/* A96698 80242F58 AC830028 */ sw $v1, 0x28($a0) +/* A9669C 80242F5C AE220070 */ sw $v0, 0x70($s1) +.L80242F60: +/* A966A0 80242F60 8FBF0018 */ lw $ra, 0x18($sp) +/* A966A4 80242F64 8FB10014 */ lw $s1, 0x14($sp) +/* A966A8 80242F68 8FB00010 */ lw $s0, 0x10($sp) +/* A966AC 80242F6C 03E00008 */ jr $ra +/* A966B0 80242F70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F74_A93740.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F74_A93740.s new file mode 100644 index 0000000000..e62b306192 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80242F74_A93740.s @@ -0,0 +1,84 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74_A966B4 +/* A966B4 80242F74 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A966B8 80242F78 AFB3003C */ sw $s3, 0x3c($sp) +/* A966BC 80242F7C 0080982D */ daddu $s3, $a0, $zero +/* A966C0 80242F80 AFBF0044 */ sw $ra, 0x44($sp) +/* A966C4 80242F84 AFB40040 */ sw $s4, 0x40($sp) +/* A966C8 80242F88 AFB20038 */ sw $s2, 0x38($sp) +/* A966CC 80242F8C AFB10034 */ sw $s1, 0x34($sp) +/* A966D0 80242F90 AFB00030 */ sw $s0, 0x30($sp) +/* A966D4 80242F94 8E720148 */ lw $s2, 0x148($s3) +/* A966D8 80242F98 00A0882D */ daddu $s1, $a1, $zero +/* A966DC 80242F9C 86440008 */ lh $a0, 8($s2) +/* A966E0 80242FA0 0C00EABB */ jal get_npc_unsafe +/* A966E4 80242FA4 00C0A02D */ daddu $s4, $a2, $zero +/* A966E8 80242FA8 0040802D */ daddu $s0, $v0, $zero +/* A966EC 80242FAC 9602008E */ lhu $v0, 0x8e($s0) +/* A966F0 80242FB0 2442FFFF */ addiu $v0, $v0, -1 +/* A966F4 80242FB4 A602008E */ sh $v0, 0x8e($s0) +/* A966F8 80242FB8 00021400 */ sll $v0, $v0, 0x10 +/* A966FC 80242FBC 1C400032 */ bgtz $v0, .L80243088 +/* A96700 80242FC0 00000000 */ nop +/* A96704 80242FC4 0260202D */ daddu $a0, $s3, $zero +/* A96708 80242FC8 8E250024 */ lw $a1, 0x24($s1) +/* A9670C 80242FCC 8E260028 */ lw $a2, 0x28($s1) +/* A96710 80242FD0 0C09074C */ jal func_80241D30 +/* A96714 80242FD4 0280382D */ daddu $a3, $s4, $zero +/* A96718 80242FD8 0040882D */ daddu $s1, $v0, $zero +/* A9671C 80242FDC 24020001 */ addiu $v0, $zero, 1 +/* A96720 80242FE0 1222001D */ beq $s1, $v0, .L80243058 +/* A96724 80242FE4 0200282D */ daddu $a1, $s0, $zero +/* A96728 80242FE8 24040002 */ addiu $a0, $zero, 2 +/* A9672C 80242FEC 0000302D */ daddu $a2, $zero, $zero +/* A96730 80242FF0 860300A8 */ lh $v1, 0xa8($s0) +/* A96734 80242FF4 3C013F80 */ lui $at, 0x3f80 +/* A96738 80242FF8 44810000 */ mtc1 $at, $f0 +/* A9673C 80242FFC 3C014000 */ lui $at, 0x4000 +/* A96740 80243000 44811000 */ mtc1 $at, $f2 +/* A96744 80243004 3C01C1A0 */ lui $at, 0xc1a0 +/* A96748 80243008 44812000 */ mtc1 $at, $f4 +/* A9674C 8024300C 2402000C */ addiu $v0, $zero, 0xc +/* A96750 80243010 AFA2001C */ sw $v0, 0x1c($sp) +/* A96754 80243014 44833000 */ mtc1 $v1, $f6 +/* A96758 80243018 00000000 */ nop +/* A9675C 8024301C 468031A0 */ cvt.s.w $f6, $f6 +/* A96760 80243020 44073000 */ mfc1 $a3, $f6 +/* A96764 80243024 27A20028 */ addiu $v0, $sp, 0x28 +/* A96768 80243028 AFA20020 */ sw $v0, 0x20($sp) +/* A9676C 8024302C E7A00010 */ swc1 $f0, 0x10($sp) +/* A96770 80243030 E7A20014 */ swc1 $f2, 0x14($sp) +/* A96774 80243034 0C01BFA4 */ jal fx_emote +/* A96778 80243038 E7A40018 */ swc1 $f4, 0x18($sp) +/* A9677C 8024303C 8E4200CC */ lw $v0, 0xcc($s2) +/* A96780 80243040 8C430000 */ lw $v1, ($v0) +/* A96784 80243044 2402000F */ addiu $v0, $zero, 0xf +/* A96788 80243048 A602008E */ sh $v0, 0x8e($s0) +/* A9678C 8024304C 24020032 */ addiu $v0, $zero, 0x32 +/* A96790 80243050 08090C21 */ j .L80243084 +/* A96794 80243054 AE030028 */ sw $v1, 0x28($s0) +.L80243058: +/* A96798 80243058 0200202D */ daddu $a0, $s0, $zero +/* A9679C 8024305C 240520D5 */ addiu $a1, $zero, 0x20d5 +/* A967A0 80243060 0C012530 */ jal func_800494C0 +/* A967A4 80243064 0000302D */ daddu $a2, $zero, $zero +/* A967A8 80243068 86440008 */ lh $a0, 8($s2) +/* A967AC 8024306C 0C00FB3A */ jal get_enemy +/* A967B0 80243070 24840001 */ addiu $a0, $a0, 1 +/* A967B4 80243074 AC51006C */ sw $s1, 0x6c($v0) +/* A967B8 80243078 24020014 */ addiu $v0, $zero, 0x14 +/* A967BC 8024307C A602008E */ sh $v0, 0x8e($s0) +/* A967C0 80243080 24020018 */ addiu $v0, $zero, 0x18 +.L80243084: +/* A967C4 80243084 AE620070 */ sw $v0, 0x70($s3) +.L80243088: +/* A967C8 80243088 8FBF0044 */ lw $ra, 0x44($sp) +/* A967CC 8024308C 8FB40040 */ lw $s4, 0x40($sp) +/* A967D0 80243090 8FB3003C */ lw $s3, 0x3c($sp) +/* A967D4 80243094 8FB20038 */ lw $s2, 0x38($sp) +/* A967D8 80243098 8FB10034 */ lw $s1, 0x34($sp) +/* A967DC 8024309C 8FB00030 */ lw $s0, 0x30($sp) +/* A967E0 802430A0 03E00008 */ jr $ra +/* A967E4 802430A4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_802430A8.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_802430A8.s new file mode 100644 index 0000000000..14ebbfa540 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_802430A8.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430A8 +/* A967E8 802430A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A967EC 802430AC AFB20018 */ sw $s2, 0x18($sp) +/* A967F0 802430B0 0080902D */ daddu $s2, $a0, $zero +/* A967F4 802430B4 AFBF001C */ sw $ra, 0x1c($sp) +/* A967F8 802430B8 AFB10014 */ sw $s1, 0x14($sp) +/* A967FC 802430BC AFB00010 */ sw $s0, 0x10($sp) +/* A96800 802430C0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A96804 802430C4 8E500148 */ lw $s0, 0x148($s2) +/* A96808 802430C8 0C00EABB */ jal get_npc_unsafe +/* A9680C 802430CC 86040008 */ lh $a0, 8($s0) +/* A96810 802430D0 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A96814 802430D4 46806320 */ cvt.s.w $f12, $f12 +/* A96818 802430D8 0040882D */ daddu $s1, $v0, $zero +/* A9681C 802430DC C6140070 */ lwc1 $f20, 0x70($s0) +/* A96820 802430E0 4680A520 */ cvt.s.w $f20, $f20 +/* A96824 802430E4 3C014059 */ lui $at, 0x4059 +/* A96828 802430E8 44810800 */ mtc1 $at, $f1 +/* A9682C 802430EC 44800000 */ mtc1 $zero, $f0 +/* A96830 802430F0 4600A521 */ cvt.d.s $f20, $f20 +/* A96834 802430F4 4620A503 */ div.d $f20, $f20, $f0 +/* A96838 802430F8 0C00A8BB */ jal sin_deg +/* A9683C 802430FC 4620A520 */ cvt.s.d $f20, $f20 +/* A96840 80243100 3C014018 */ lui $at, 0x4018 +/* A96844 80243104 44811800 */ mtc1 $at, $f3 +/* A96848 80243108 44801000 */ mtc1 $zero, $f2 +/* A9684C 8024310C 46000021 */ cvt.d.s $f0, $f0 +/* A96850 80243110 46220002 */ mul.d $f0, $f0, $f2 +/* A96854 80243114 00000000 */ nop +/* A96858 80243118 4600A0A1 */ cvt.d.s $f2, $f20 +/* A9685C 8024311C 46201080 */ add.d $f2, $f2, $f0 +/* A96860 80243120 462010A0 */ cvt.s.d $f2, $f2 +/* A96864 80243124 E622003C */ swc1 $f2, 0x3c($s1) +/* A96868 80243128 8E02006C */ lw $v0, 0x6c($s0) +/* A9686C 8024312C 2442000A */ addiu $v0, $v0, 0xa +/* A96870 80243130 44826000 */ mtc1 $v0, $f12 +/* A96874 80243134 00000000 */ nop +/* A96878 80243138 0C00A6C9 */ jal clamp_angle +/* A9687C 8024313C 46806320 */ cvt.s.w $f12, $f12 +/* A96880 80243140 4600010D */ trunc.w.s $f4, $f0 +/* A96884 80243144 E604006C */ swc1 $f4, 0x6c($s0) +/* A96888 80243148 9622008E */ lhu $v0, 0x8e($s1) +/* A9688C 8024314C 2442FFFF */ addiu $v0, $v0, -1 +/* A96890 80243150 A622008E */ sh $v0, 0x8e($s1) +/* A96894 80243154 00021400 */ sll $v0, $v0, 0x10 +/* A96898 80243158 1C400008 */ bgtz $v0, .L8024317C +/* A9689C 8024315C 00000000 */ nop +/* A968A0 80243160 8E0200CC */ lw $v0, 0xcc($s0) +/* A968A4 80243164 8C430000 */ lw $v1, ($v0) +/* A968A8 80243168 24020003 */ addiu $v0, $zero, 3 +/* A968AC 8024316C A622008E */ sh $v0, 0x8e($s1) +/* A968B0 80243170 24020032 */ addiu $v0, $zero, 0x32 +/* A968B4 80243174 AE230028 */ sw $v1, 0x28($s1) +/* A968B8 80243178 AE420070 */ sw $v0, 0x70($s2) +.L8024317C: +/* A968BC 8024317C 8FBF001C */ lw $ra, 0x1c($sp) +/* A968C0 80243180 8FB20018 */ lw $s2, 0x18($sp) +/* A968C4 80243184 8FB10014 */ lw $s1, 0x14($sp) +/* A968C8 80243188 8FB00010 */ lw $s0, 0x10($sp) +/* A968CC 8024318C D7B40020 */ ldc1 $f20, 0x20($sp) +/* A968D0 80243190 03E00008 */ jr $ra +/* A968D4 80243194 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80243198.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243198.s new file mode 100644 index 0000000000..b21c6b04f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243198.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243198 +/* A968D8 80243198 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A968DC 8024319C AFB20018 */ sw $s2, 0x18($sp) +/* A968E0 802431A0 0080902D */ daddu $s2, $a0, $zero +/* A968E4 802431A4 AFBF001C */ sw $ra, 0x1c($sp) +/* A968E8 802431A8 AFB10014 */ sw $s1, 0x14($sp) +/* A968EC 802431AC AFB00010 */ sw $s0, 0x10($sp) +/* A968F0 802431B0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A968F4 802431B4 8E500148 */ lw $s0, 0x148($s2) +/* A968F8 802431B8 0C00EABB */ jal get_npc_unsafe +/* A968FC 802431BC 86040008 */ lh $a0, 8($s0) +/* A96900 802431C0 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A96904 802431C4 46806320 */ cvt.s.w $f12, $f12 +/* A96908 802431C8 0040882D */ daddu $s1, $v0, $zero +/* A9690C 802431CC C6140070 */ lwc1 $f20, 0x70($s0) +/* A96910 802431D0 4680A520 */ cvt.s.w $f20, $f20 +/* A96914 802431D4 3C014059 */ lui $at, 0x4059 +/* A96918 802431D8 44810800 */ mtc1 $at, $f1 +/* A9691C 802431DC 44800000 */ mtc1 $zero, $f0 +/* A96920 802431E0 4600A521 */ cvt.d.s $f20, $f20 +/* A96924 802431E4 4620A503 */ div.d $f20, $f20, $f0 +/* A96928 802431E8 0C00A8BB */ jal sin_deg +/* A9692C 802431EC 4620A520 */ cvt.s.d $f20, $f20 +/* A96930 802431F0 3C014018 */ lui $at, 0x4018 +/* A96934 802431F4 44811800 */ mtc1 $at, $f3 +/* A96938 802431F8 44801000 */ mtc1 $zero, $f2 +/* A9693C 802431FC 46000021 */ cvt.d.s $f0, $f0 +/* A96940 80243200 46220002 */ mul.d $f0, $f0, $f2 +/* A96944 80243204 00000000 */ nop +/* A96948 80243208 4600A0A1 */ cvt.d.s $f2, $f20 +/* A9694C 8024320C 46201080 */ add.d $f2, $f2, $f0 +/* A96950 80243210 462010A0 */ cvt.s.d $f2, $f2 +/* A96954 80243214 E622003C */ swc1 $f2, 0x3c($s1) +/* A96958 80243218 8E02006C */ lw $v0, 0x6c($s0) +/* A9695C 8024321C 2442000A */ addiu $v0, $v0, 0xa +/* A96960 80243220 44826000 */ mtc1 $v0, $f12 +/* A96964 80243224 00000000 */ nop +/* A96968 80243228 0C00A6C9 */ jal clamp_angle +/* A9696C 8024322C 46806320 */ cvt.s.w $f12, $f12 +/* A96970 80243230 4600010D */ trunc.w.s $f4, $f0 +/* A96974 80243234 E604006C */ swc1 $f4, 0x6c($s0) +/* A96978 80243238 9622008E */ lhu $v0, 0x8e($s1) +/* A9697C 8024323C 2442FFFF */ addiu $v0, $v0, -1 +/* A96980 80243240 A622008E */ sh $v0, 0x8e($s1) +/* A96984 80243244 00021400 */ sll $v0, $v0, 0x10 +/* A96988 80243248 1C400002 */ bgtz $v0, .L80243254 +/* A9698C 8024324C 2402000A */ addiu $v0, $zero, 0xa +/* A96990 80243250 AE420070 */ sw $v0, 0x70($s2) +.L80243254: +/* A96994 80243254 8FBF001C */ lw $ra, 0x1c($sp) +/* A96998 80243258 8FB20018 */ lw $s2, 0x18($sp) +/* A9699C 8024325C 8FB10014 */ lw $s1, 0x14($sp) +/* A969A0 80243260 8FB00010 */ lw $s0, 0x10($sp) +/* A969A4 80243264 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A969A8 80243268 03E00008 */ jr $ra +/* A969AC 8024326C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80243270.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243270.s new file mode 100644 index 0000000000..5fd0cf2b12 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243270.s @@ -0,0 +1,173 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243270 +/* A969B0 80243270 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A969B4 80243274 AFB40040 */ sw $s4, 0x40($sp) +/* A969B8 80243278 0080A02D */ daddu $s4, $a0, $zero +/* A969BC 8024327C AFBF0048 */ sw $ra, 0x48($sp) +/* A969C0 80243280 AFB50044 */ sw $s5, 0x44($sp) +/* A969C4 80243284 AFB3003C */ sw $s3, 0x3c($sp) +/* A969C8 80243288 AFB20038 */ sw $s2, 0x38($sp) +/* A969CC 8024328C AFB10034 */ sw $s1, 0x34($sp) +/* A969D0 80243290 AFB00030 */ sw $s0, 0x30($sp) +/* A969D4 80243294 8E920148 */ lw $s2, 0x148($s4) +/* A969D8 80243298 86440008 */ lh $a0, 8($s2) +/* A969DC 8024329C 8E90000C */ lw $s0, 0xc($s4) +/* A969E0 802432A0 0C00EABB */ jal get_npc_unsafe +/* A969E4 802432A4 00A0882D */ daddu $s1, $a1, $zero +/* A969E8 802432A8 0280202D */ daddu $a0, $s4, $zero +/* A969EC 802432AC 8E050000 */ lw $a1, ($s0) +/* A969F0 802432B0 0C0B1EAF */ jal get_variable +/* A969F4 802432B4 0040A82D */ daddu $s5, $v0, $zero +/* A969F8 802432B8 AFA00010 */ sw $zero, 0x10($sp) +/* A969FC 802432BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* A96A00 802432C0 8C630030 */ lw $v1, 0x30($v1) +/* A96A04 802432C4 AFA30014 */ sw $v1, 0x14($sp) +/* A96A08 802432C8 8E4300D0 */ lw $v1, 0xd0($s2) +/* A96A0C 802432CC 8C63001C */ lw $v1, 0x1c($v1) +/* A96A10 802432D0 AFA30018 */ sw $v1, 0x18($sp) +/* A96A14 802432D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A96A18 802432D8 8C630024 */ lw $v1, 0x24($v1) +/* A96A1C 802432DC AFA3001C */ sw $v1, 0x1c($sp) +/* A96A20 802432E0 8E4300D0 */ lw $v1, 0xd0($s2) +/* A96A24 802432E4 8C630028 */ lw $v1, 0x28($v1) +/* A96A28 802432E8 27B30010 */ addiu $s3, $sp, 0x10 +/* A96A2C 802432EC AFA30020 */ sw $v1, 0x20($sp) +/* A96A30 802432F0 8E4300D0 */ lw $v1, 0xd0($s2) +/* A96A34 802432F4 3C0142F0 */ lui $at, 0x42f0 +/* A96A38 802432F8 44810000 */ mtc1 $at, $f0 +/* A96A3C 802432FC 8C63002C */ lw $v1, 0x2c($v1) +/* A96A40 80243300 0040802D */ daddu $s0, $v0, $zero +/* A96A44 80243304 E7A00028 */ swc1 $f0, 0x28($sp) +/* A96A48 80243308 A7A0002C */ sh $zero, 0x2c($sp) +/* A96A4C 8024330C 12200019 */ beqz $s1, .L80243374 +/* A96A50 80243310 AFA30024 */ sw $v1, 0x24($sp) +/* A96A54 80243314 8EA20000 */ lw $v0, ($s5) +/* A96A58 80243318 2403FDFF */ addiu $v1, $zero, -0x201 +/* A96A5C 8024331C 00431024 */ and $v0, $v0, $v1 +/* A96A60 80243320 34420008 */ ori $v0, $v0, 8 +/* A96A64 80243324 3C030020 */ lui $v1, 0x20 +/* A96A68 80243328 00431025 */ or $v0, $v0, $v1 +/* A96A6C 8024332C AEA20000 */ sw $v0, ($s5) +/* A96A70 80243330 8E420000 */ lw $v0, ($s2) +/* A96A74 80243334 00431025 */ or $v0, $v0, $v1 +/* A96A78 80243338 AE420000 */ sw $v0, ($s2) +/* A96A7C 8024333C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* A96A80 80243340 3C014059 */ lui $at, 0x4059 +/* A96A84 80243344 44811800 */ mtc1 $at, $f3 +/* A96A88 80243348 44801000 */ mtc1 $zero, $f2 +/* A96A8C 8024334C 46000021 */ cvt.d.s $f0, $f0 +/* A96A90 80243350 46220002 */ mul.d $f0, $f0, $f2 +/* A96A94 80243354 00000000 */ nop +/* A96A98 80243358 2402000A */ addiu $v0, $zero, 0xa +/* A96A9C 8024335C AE40006C */ sw $zero, 0x6c($s2) +/* A96AA0 80243360 AE400074 */ sw $zero, 0x74($s2) +/* A96AA4 80243364 4620010D */ trunc.w.d $f4, $f0 +/* A96AA8 80243368 E6440070 */ swc1 $f4, 0x70($s2) +/* A96AAC 8024336C A6A0008E */ sh $zero, 0x8e($s5) +/* A96AB0 80243370 AE820070 */ sw $v0, 0x70($s4) +.L80243374: +/* A96AB4 80243374 2402FFFB */ addiu $v0, $zero, -5 +/* A96AB8 80243378 A2A200AB */ sb $v0, 0xab($s5) +/* A96ABC 8024337C 8E4300B0 */ lw $v1, 0xb0($s2) +/* A96AC0 80243380 30620004 */ andi $v0, $v1, 4 +/* A96AC4 80243384 10400007 */ beqz $v0, .L802433A4 +/* A96AC8 80243388 00000000 */ nop +/* A96ACC 8024338C 824200B4 */ lb $v0, 0xb4($s2) +/* A96AD0 80243390 14400053 */ bnez $v0, .L802434E0 +/* A96AD4 80243394 0000102D */ daddu $v0, $zero, $zero +/* A96AD8 80243398 2402FFFB */ addiu $v0, $zero, -5 +/* A96ADC 8024339C 00621024 */ and $v0, $v1, $v0 +/* A96AE0 802433A0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802433A4: +/* A96AE4 802433A4 8E820070 */ lw $v0, 0x70($s4) +/* A96AE8 802433A8 2443FFF6 */ addiu $v1, $v0, -0xa +/* A96AEC 802433AC 2C620029 */ sltiu $v0, $v1, 0x29 +/* A96AF0 802433B0 1040004A */ beqz $v0, .L802434DC +/* A96AF4 802433B4 00031080 */ sll $v0, $v1, 2 +/* A96AF8 802433B8 3C018024 */ lui $at, 0x8024 +/* A96AFC 802433BC 00220821 */ addu $at, $at, $v0 +/* A96B00 802433C0 8C225DA0 */ lw $v0, 0x5da0($at) +/* A96B04 802433C4 00400008 */ jr $v0 +/* A96B08 802433C8 00000000 */ nop +/* A96B0C 802433CC 0280202D */ daddu $a0, $s4, $zero +/* A96B10 802433D0 0200282D */ daddu $a1, $s0, $zero +/* A96B14 802433D4 0C090904 */ jal func_80242410 +/* A96B18 802433D8 0260302D */ daddu $a2, $s3, $zero +/* A96B1C 802433DC 0280202D */ daddu $a0, $s4, $zero +/* A96B20 802433E0 0200282D */ daddu $a1, $s0, $zero +/* A96B24 802433E4 0C090913 */ jal func_8024244C +/* A96B28 802433E8 0260302D */ daddu $a2, $s3, $zero +/* A96B2C 802433EC 08090D38 */ j .L802434E0 +/* A96B30 802433F0 0000102D */ daddu $v0, $zero, $zero +/* A96B34 802433F4 0280202D */ daddu $a0, $s4, $zero +/* A96B38 802433F8 0200282D */ daddu $a1, $s0, $zero +/* A96B3C 802433FC 0C090976 */ jal func_802425D8 +/* A96B40 80243400 0260302D */ daddu $a2, $s3, $zero +/* A96B44 80243404 8E830070 */ lw $v1, 0x70($s4) +/* A96B48 80243408 24020010 */ addiu $v0, $zero, 0x10 +/* A96B4C 8024340C 14620034 */ bne $v1, $v0, .L802434E0 +/* A96B50 80243410 0000102D */ daddu $v0, $zero, $zero +/* A96B54 80243414 0280202D */ daddu $a0, $s4, $zero +/* A96B58 80243418 0200282D */ daddu $a1, $s0, $zero +/* A96B5C 8024341C 0C090A72 */ jal func_802429C8 +/* A96B60 80243420 0260302D */ daddu $a2, $s3, $zero +/* A96B64 80243424 8E830070 */ lw $v1, 0x70($s4) +/* A96B68 80243428 24020011 */ addiu $v0, $zero, 0x11 +/* A96B6C 8024342C 1462002C */ bne $v1, $v0, .L802434E0 +/* A96B70 80243430 0000102D */ daddu $v0, $zero, $zero +/* A96B74 80243434 0280202D */ daddu $a0, $s4, $zero +/* A96B78 80243438 0200282D */ daddu $a1, $s0, $zero +/* A96B7C 8024343C 0C090AAF */ jal func_80242ABC +/* A96B80 80243440 0260302D */ daddu $a2, $s3, $zero +/* A96B84 80243444 08090D38 */ j .L802434E0 +/* A96B88 80243448 0000102D */ daddu $v0, $zero, $zero +/* A96B8C 8024344C 0280202D */ daddu $a0, $s4, $zero +/* A96B90 80243450 0200282D */ daddu $a1, $s0, $zero +/* A96B94 80243454 0C090B40 */ jal func_80242D00 +/* A96B98 80243458 0260302D */ daddu $a2, $s3, $zero +/* A96B9C 8024345C 08090D38 */ j .L802434E0 +/* A96BA0 80243460 0000102D */ daddu $v0, $zero, $zero +/* A96BA4 80243464 0280202D */ daddu $a0, $s4, $zero +/* A96BA8 80243468 0200282D */ daddu $a1, $s0, $zero +/* A96BAC 8024346C 0C090B4F */ jal func_80242D3C +/* A96BB0 80243470 0260302D */ daddu $a2, $s3, $zero +/* A96BB4 80243474 08090D38 */ j .L802434E0 +/* A96BB8 80243478 0000102D */ daddu $v0, $zero, $zero +/* A96BBC 8024347C 0280202D */ daddu $a0, $s4, $zero +/* A96BC0 80243480 0200282D */ daddu $a1, $s0, $zero +/* A96BC4 80243484 0C090BC2 */ jal func_80242F08 +/* A96BC8 80243488 0260302D */ daddu $a2, $s3, $zero +/* A96BCC 8024348C 08090D38 */ j .L802434E0 +/* A96BD0 80243490 0000102D */ daddu $v0, $zero, $zero +/* A96BD4 80243494 0280202D */ daddu $a0, $s4, $zero +/* A96BD8 80243498 0200282D */ daddu $a1, $s0, $zero +/* A96BDC 8024349C 0C090BDD */ jal func_80242F74 +/* A96BE0 802434A0 0260302D */ daddu $a2, $s3, $zero +/* A96BE4 802434A4 8E830070 */ lw $v1, 0x70($s4) +/* A96BE8 802434A8 24020018 */ addiu $v0, $zero, 0x18 +/* A96BEC 802434AC 1462000C */ bne $v1, $v0, .L802434E0 +/* A96BF0 802434B0 0000102D */ daddu $v0, $zero, $zero +/* A96BF4 802434B4 0280202D */ daddu $a0, $s4, $zero +/* A96BF8 802434B8 0200282D */ daddu $a1, $s0, $zero +/* A96BFC 802434BC 0C090C2A */ jal func_802430A8 +/* A96C00 802434C0 0260302D */ daddu $a2, $s3, $zero +/* A96C04 802434C4 08090D38 */ j .L802434E0 +/* A96C08 802434C8 0000102D */ daddu $v0, $zero, $zero +/* A96C0C 802434CC 0280202D */ daddu $a0, $s4, $zero +/* A96C10 802434D0 0200282D */ daddu $a1, $s0, $zero +/* A96C14 802434D4 0C090C66 */ jal func_80243198 +/* A96C18 802434D8 0260302D */ daddu $a2, $s3, $zero +.L802434DC: +/* A96C1C 802434DC 0000102D */ daddu $v0, $zero, $zero +.L802434E0: +/* A96C20 802434E0 8FBF0048 */ lw $ra, 0x48($sp) +/* A96C24 802434E4 8FB50044 */ lw $s5, 0x44($sp) +/* A96C28 802434E8 8FB40040 */ lw $s4, 0x40($sp) +/* A96C2C 802434EC 8FB3003C */ lw $s3, 0x3c($sp) +/* A96C30 802434F0 8FB20038 */ lw $s2, 0x38($sp) +/* A96C34 802434F4 8FB10034 */ lw $s1, 0x34($sp) +/* A96C38 802434F8 8FB00030 */ lw $s0, 0x30($sp) +/* A96C3C 802434FC 03E00008 */ jr $ra +/* A96C40 80243500 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_80243504.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243504.s new file mode 100644 index 0000000000..afd0cde9f9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_80243504.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243504 +/* A96C44 80243504 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A96C48 80243508 3C05FE36 */ lui $a1, 0xfe36 +/* A96C4C 8024350C AFBF0010 */ sw $ra, 0x10($sp) +/* A96C50 80243510 8C820148 */ lw $v0, 0x148($a0) +/* A96C54 80243514 3C06800B */ lui $a2, 0x800b +/* A96C58 80243518 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A96C5C 8024351C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A96C60 80243520 00C23026 */ xor $a2, $a2, $v0 +/* A96C64 80243524 0C0B2026 */ jal set_variable +/* A96C68 80243528 2CC60001 */ sltiu $a2, $a2, 1 +/* A96C6C 8024352C 8FBF0010 */ lw $ra, 0x10($sp) +/* A96C70 80243530 24020002 */ addiu $v0, $zero, 2 +/* A96C74 80243534 03E00008 */ jr $ra +/* A96C78 80243538 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_102/func_8024353C.s b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024353C.s new file mode 100644 index 0000000000..3847df783a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_102/func_8024353C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024353C +/* A96C7C 8024353C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A96C80 80243540 AFBF0014 */ sw $ra, 0x14($sp) +/* A96C84 80243544 AFB00010 */ sw $s0, 0x10($sp) +/* A96C88 80243548 8C900148 */ lw $s0, 0x148($a0) +/* A96C8C 8024354C 0C00EABB */ jal get_npc_unsafe +/* A96C90 80243550 86040008 */ lh $a0, 8($s0) +/* A96C94 80243554 0040202D */ daddu $a0, $v0, $zero +/* A96C98 80243558 8E03006C */ lw $v1, 0x6c($s0) +/* A96C9C 8024355C 24020002 */ addiu $v0, $zero, 2 +/* A96CA0 80243560 14620003 */ bne $v1, $v0, .L80243570 +/* A96CA4 80243564 00000000 */ nop +/* A96CA8 80243568 AC80001C */ sw $zero, 0x1c($a0) +/* A96CAC 8024356C AC800018 */ sw $zero, 0x18($a0) +.L80243570: +/* A96CB0 80243570 8FBF0014 */ lw $ra, 0x14($sp) +/* A96CB4 80243574 8FB00010 */ lw $s0, 0x10($sp) +/* A96CB8 80243578 24020002 */ addiu $v0, $zero, 2 +/* A96CBC 8024357C 03E00008 */ jr $ra +/* A96CC0 80243580 27BD0018 */ addiu $sp, $sp, 0x18 +/* A96CC4 80243584 00000000 */ nop +/* A96CC8 80243588 00000000 */ nop +/* A96CCC 8024358C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_80240000_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240000_A528C0.s new file mode 100644 index 0000000000..a614c822c4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240000_A528C0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A528C0 +/* A528C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A528C4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A528C8 80240008 0080802D */ daddu $s0, $a0, $zero +/* A528CC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A528D0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A528D4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A528D8 80240018 00621821 */ addu $v1, $v1, $v0 +/* A528DC 8024001C 04610004 */ bgez $v1, .L80240030 +/* A528E0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A528E4 80240024 3C020002 */ lui $v0, 2 +/* A528E8 80240028 08090010 */ j .L80240040 +/* A528EC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A528F0 80240030 3C040002 */ lui $a0, 2 +/* A528F4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A528F8 80240038 10400002 */ beqz $v0, .L80240044 +/* A528FC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A52900 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A52904 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A52908 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A5290C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A52910 80240050 04610004 */ bgez $v1, .L80240064 +/* A52914 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A52918 80240058 3C020002 */ lui $v0, 2 +/* A5291C 8024005C 0809001D */ j .L80240074 +/* A52920 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A52924 80240064 3C040002 */ lui $a0, 2 +/* A52928 80240068 0083102A */ slt $v0, $a0, $v1 +/* A5292C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A52930 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A52934 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A52938 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5293C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A52940 80240080 00621821 */ addu $v1, $v1, $v0 +/* A52944 80240084 04610004 */ bgez $v1, .L80240098 +/* A52948 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5294C 8024008C 3C020002 */ lui $v0, 2 +/* A52950 80240090 0809002A */ j .L802400A8 +/* A52954 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A52958 80240098 3C040002 */ lui $a0, 2 +/* A5295C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A52960 802400A0 10400002 */ beqz $v0, .L802400AC +/* A52964 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A52968 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A5296C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A52970 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A52974 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A52978 802400B8 04610004 */ bgez $v1, .L802400CC +/* A5297C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A52980 802400C0 3C020002 */ lui $v0, 2 +/* A52984 802400C4 08090037 */ j .L802400DC +/* A52988 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A5298C 802400CC 3C040002 */ lui $a0, 2 +/* A52990 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A52994 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A52998 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A5299C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A529A0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A529A4 802400E4 0C046F07 */ jal set_main_pan_u +/* A529A8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A529AC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A529B0 802400F0 0C046F0D */ jal set_main_pan_v +/* A529B4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A529B8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A529BC 802400FC 0C046F13 */ jal set_aux_pan_u +/* A529C0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A529C4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A529C8 80240108 0C046F19 */ jal set_aux_pan_v +/* A529CC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A529D0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A529D4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A529D8 80240118 0000102D */ daddu $v0, $zero, $zero +/* A529DC 8024011C 03E00008 */ jr $ra +/* A529E0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_80240124_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240124_A528C0.s new file mode 100644 index 0000000000..0e0edcf6cc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240124_A528C0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A529E4 +/* A529E4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A529E8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A529EC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A529F0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A529F4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A529F8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A529FC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A52A00 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A52A04 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A52A08 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A52A0C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A52A10 80240150 00000000 */ nop +/* A52A14 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A52A18 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A52A1C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A52A20 80240160 04610004 */ bgez $v1, .L80240174 +/* A52A24 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A52A28 80240168 3C020002 */ lui $v0, 2 +/* A52A2C 8024016C 08090061 */ j .L80240184 +/* A52A30 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A52A34 80240174 3C040002 */ lui $a0, 2 +/* A52A38 80240178 0083102A */ slt $v0, $a0, $v1 +/* A52A3C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A52A40 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A52A44 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A52A48 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A52A4C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A52A50 80240190 00000000 */ nop +/* A52A54 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A52A58 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A52A5C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A52A60 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A52A64 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A52A68 802401A8 3C020002 */ lui $v0, 2 +/* A52A6C 802401AC 08090071 */ j .L802401C4 +/* A52A70 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A52A74 802401B4 3C040002 */ lui $a0, 2 +/* A52A78 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A52A7C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A52A80 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A52A84 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A52A88 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A52A8C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A52A90 802401D0 00000000 */ nop +/* A52A94 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A52A98 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A52A9C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A52AA0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A52AA4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A52AA8 802401E8 3C020002 */ lui $v0, 2 +/* A52AAC 802401EC 08090081 */ j .L80240204 +/* A52AB0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A52AB4 802401F4 3C040002 */ lui $a0, 2 +/* A52AB8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A52ABC 802401FC 10400002 */ beqz $v0, .L80240208 +/* A52AC0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A52AC4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A52AC8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A52ACC 8024020C 1440000E */ bnez $v0, .L80240248 +/* A52AD0 80240210 00000000 */ nop +/* A52AD4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A52AD8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A52ADC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A52AE0 80240220 04610004 */ bgez $v1, .L80240234 +/* A52AE4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A52AE8 80240228 3C020002 */ lui $v0, 2 +/* A52AEC 8024022C 08090091 */ j .L80240244 +/* A52AF0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A52AF4 80240234 3C040002 */ lui $a0, 2 +/* A52AF8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A52AFC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A52B00 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A52B04 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A52B08 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A52B0C 8024024C 0C046F07 */ jal set_main_pan_u +/* A52B10 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A52B14 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A52B18 80240258 0C046F0D */ jal set_main_pan_v +/* A52B1C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A52B20 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A52B24 80240264 0C046F13 */ jal set_aux_pan_u +/* A52B28 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A52B2C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A52B30 80240270 0C046F19 */ jal set_aux_pan_v +/* A52B34 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A52B38 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A52B3C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A52B40 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A52B44 80240284 24420001 */ addiu $v0, $v0, 1 +/* A52B48 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A52B4C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A52B50 80240290 24630001 */ addiu $v1, $v1, 1 +/* A52B54 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A52B58 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A52B5C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A52B60 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A52B64 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A52B68 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A52B6C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A52B70 802402B0 14600002 */ bnez $v1, .L802402BC +/* A52B74 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A52B78 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A52B7C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A52B80 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A52B84 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A52B88 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A52B8C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A52B90 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A52B94 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A52B98 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A52B9C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A52BA0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A52BA4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A52BA8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A52BAC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A52BB0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A52BB4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A52BB8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A52BBC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A52BC0 80240300 0000102D */ daddu $v0, $zero, $zero +/* A52BC4 80240304 03E00008 */ jr $ra +/* A52BC8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A52BCC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_80240310_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240310_A528C0.s new file mode 100644 index 0000000000..637c506931 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240310_A528C0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A52BD0 +/* A52BD0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A52BD4 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* A52BD8 80240318 0080902D */ daddu $s2, $a0, $zero +/* A52BDC 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* A52BE0 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* A52BE4 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* A52BE8 80240328 8E510148 */ lw $s1, 0x148($s2) +/* A52BEC 8024032C 0C00EABB */ jal get_npc_unsafe +/* A52BF0 80240330 86240008 */ lh $a0, 8($s1) +/* A52BF4 80240334 0040802D */ daddu $s0, $v0, $zero +/* A52BF8 80240338 8E2300CC */ lw $v1, 0xcc($s1) +/* A52BFC 8024033C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A52C00 80240340 8C630020 */ lw $v1, 0x20($v1) +/* A52C04 80240344 AE030028 */ sw $v1, 0x28($s0) +/* A52C08 80240348 96220076 */ lhu $v0, 0x76($s1) +/* A52C0C 8024034C A602008E */ sh $v0, 0x8e($s0) +/* A52C10 80240350 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A52C14 80240354 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A52C18 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A52C1C 8024035C 8C460028 */ lw $a2, 0x28($v0) +/* A52C20 80240360 0C00A720 */ jal atan2 +/* A52C24 80240364 8C470030 */ lw $a3, 0x30($v0) +/* A52C28 80240368 2402000D */ addiu $v0, $zero, 0xd +/* A52C2C 8024036C E600000C */ swc1 $f0, 0xc($s0) +/* A52C30 80240370 AE420070 */ sw $v0, 0x70($s2) +/* A52C34 80240374 8FBF001C */ lw $ra, 0x1c($sp) +/* A52C38 80240378 8FB20018 */ lw $s2, 0x18($sp) +/* A52C3C 8024037C 8FB10014 */ lw $s1, 0x14($sp) +/* A52C40 80240380 8FB00010 */ lw $s0, 0x10($sp) +/* A52C44 80240384 03E00008 */ jr $ra +/* A52C48 80240388 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_8024038C_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_8024038C_A528C0.s new file mode 100644 index 0000000000..e11076b3c5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_8024038C_A528C0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024038C_A52C4C +/* A52C4C 8024038C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A52C50 80240390 AFB3001C */ sw $s3, 0x1c($sp) +/* A52C54 80240394 0080982D */ daddu $s3, $a0, $zero +/* A52C58 80240398 AFBF0020 */ sw $ra, 0x20($sp) +/* A52C5C 8024039C AFB20018 */ sw $s2, 0x18($sp) +/* A52C60 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* A52C64 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* A52C68 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* A52C6C 802403AC 86240008 */ lh $a0, 8($s1) +/* A52C70 802403B0 0C00EABB */ jal get_npc_unsafe +/* A52C74 802403B4 00A0902D */ daddu $s2, $a1, $zero +/* A52C78 802403B8 0040802D */ daddu $s0, $v0, $zero +/* A52C7C 802403BC 8602008E */ lh $v0, 0x8e($s0) +/* A52C80 802403C0 9603008E */ lhu $v1, 0x8e($s0) +/* A52C84 802403C4 18400005 */ blez $v0, .L802403DC +/* A52C88 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* A52C8C 802403CC A602008E */ sh $v0, 0x8e($s0) +/* A52C90 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* A52C94 802403D4 1C400033 */ bgtz $v0, .L802404A4 +/* A52C98 802403D8 00000000 */ nop +.L802403DC: +/* A52C9C 802403DC 8602008C */ lh $v0, 0x8c($s0) +/* A52CA0 802403E0 14400030 */ bnez $v0, .L802404A4 +/* A52CA4 802403E4 00000000 */ nop +/* A52CA8 802403E8 8E2200CC */ lw $v0, 0xcc($s1) +/* A52CAC 802403EC 8C420024 */ lw $v0, 0x24($v0) +/* A52CB0 802403F0 AE020028 */ sw $v0, 0x28($s0) +/* A52CB4 802403F4 C6400018 */ lwc1 $f0, 0x18($s2) +/* A52CB8 802403F8 E6000018 */ swc1 $f0, 0x18($s0) +/* A52CBC 802403FC 8E230088 */ lw $v1, 0x88($s1) +/* A52CC0 80240400 24020005 */ addiu $v0, $zero, 5 +/* A52CC4 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* A52CC8 80240408 00000000 */ nop +/* A52CCC 8024040C 10600003 */ beqz $v1, .L8024041C +/* A52CD0 80240410 24020001 */ addiu $v0, $zero, 1 +/* A52CD4 80240414 14620006 */ bne $v1, $v0, .L80240430 +/* A52CD8 80240418 00000000 */ nop +.L8024041C: +/* A52CDC 8024041C 8E220084 */ lw $v0, 0x84($s1) +/* A52CE0 80240420 00021FC2 */ srl $v1, $v0, 0x1f +/* A52CE4 80240424 00431021 */ addu $v0, $v0, $v1 +/* A52CE8 80240428 00021043 */ sra $v0, $v0, 1 +/* A52CEC 8024042C A60200A8 */ sh $v0, 0xa8($s0) +.L80240430: +/* A52CF0 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A52CF4 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A52CF8 80240438 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A52CFC 8024043C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A52D00 80240440 8C460028 */ lw $a2, 0x28($v0) +/* A52D04 80240444 0C00A7B5 */ jal dist2D +/* A52D08 80240448 8C470030 */ lw $a3, 0x30($v0) +/* A52D0C 8024044C C6020018 */ lwc1 $f2, 0x18($s0) +/* A52D10 80240450 46020003 */ div.s $f0, $f0, $f2 +/* A52D14 80240454 3C018024 */ lui $at, 0x8024 +/* A52D18 80240458 D4222030 */ ldc1 $f2, 0x2030($at) +/* A52D1C 8024045C 46000021 */ cvt.d.s $f0, $f0 +/* A52D20 80240460 46220000 */ add.d $f0, $f0, $f2 +/* A52D24 80240464 4620010D */ trunc.w.d $f4, $f0 +/* A52D28 80240468 44022000 */ mfc1 $v0, $f4 +/* A52D2C 8024046C 00000000 */ nop +/* A52D30 80240470 A602008E */ sh $v0, 0x8e($s0) +/* A52D34 80240474 00021400 */ sll $v0, $v0, 0x10 +/* A52D38 80240478 8E230078 */ lw $v1, 0x78($s1) +/* A52D3C 8024047C 00021403 */ sra $v0, $v0, 0x10 +/* A52D40 80240480 0043102A */ slt $v0, $v0, $v1 +/* A52D44 80240484 10400003 */ beqz $v0, .L80240494 +/* A52D48 80240488 00000000 */ nop +/* A52D4C 8024048C 9622007A */ lhu $v0, 0x7a($s1) +/* A52D50 80240490 A602008E */ sh $v0, 0x8e($s0) +.L80240494: +/* A52D54 80240494 8602008E */ lh $v0, 0x8e($s0) +/* A52D58 80240498 AE22007C */ sw $v0, 0x7c($s1) +/* A52D5C 8024049C 2402000E */ addiu $v0, $zero, 0xe +/* A52D60 802404A0 AE620070 */ sw $v0, 0x70($s3) +.L802404A4: +/* A52D64 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* A52D68 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* A52D6C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* A52D70 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* A52D74 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* A52D78 802404B8 03E00008 */ jr $ra +/* A52D7C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_802404C0_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_802404C0_A528C0.s new file mode 100644 index 0000000000..0870a9d8f1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_802404C0_A528C0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_A52D80 +/* A52D80 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A52D84 802404C4 AFB3003C */ sw $s3, 0x3c($sp) +/* A52D88 802404C8 0080982D */ daddu $s3, $a0, $zero +/* A52D8C 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* A52D90 802404D0 AFB20038 */ sw $s2, 0x38($sp) +/* A52D94 802404D4 AFB10034 */ sw $s1, 0x34($sp) +/* A52D98 802404D8 AFB00030 */ sw $s0, 0x30($sp) +/* A52D9C 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* A52DA0 802404E0 0C00EABB */ jal get_npc_unsafe +/* A52DA4 802404E4 86240008 */ lh $a0, 8($s1) +/* A52DA8 802404E8 0040802D */ daddu $s0, $v0, $zero +/* A52DAC 802404EC 8E22007C */ lw $v0, 0x7c($s1) +/* A52DB0 802404F0 8603008E */ lh $v1, 0x8e($s0) +/* A52DB4 802404F4 2442FFFF */ addiu $v0, $v0, -1 +/* A52DB8 802404F8 14620012 */ bne $v1, $v0, .L80240544 +/* A52DBC 802404FC 00000000 */ nop +/* A52DC0 80240500 C6000038 */ lwc1 $f0, 0x38($s0) +/* A52DC4 80240504 4600020D */ trunc.w.s $f8, $f0 +/* A52DC8 80240508 44024000 */ mfc1 $v0, $f8 +/* A52DCC 8024050C 00000000 */ nop +/* A52DD0 80240510 A6220010 */ sh $v0, 0x10($s1) +/* A52DD4 80240514 C600003C */ lwc1 $f0, 0x3c($s0) +/* A52DD8 80240518 4600020D */ trunc.w.s $f8, $f0 +/* A52DDC 8024051C 44024000 */ mfc1 $v0, $f8 +/* A52DE0 80240520 00000000 */ nop +/* A52DE4 80240524 A6220012 */ sh $v0, 0x12($s1) +/* A52DE8 80240528 C6000040 */ lwc1 $f0, 0x40($s0) +/* A52DEC 8024052C 24020001 */ addiu $v0, $zero, 1 +/* A52DF0 80240530 A2220007 */ sb $v0, 7($s1) +/* A52DF4 80240534 4600020D */ trunc.w.s $f8, $f0 +/* A52DF8 80240538 44024000 */ mfc1 $v0, $f8 +/* A52DFC 8024053C 00000000 */ nop +/* A52E00 80240540 A6220014 */ sh $v0, 0x14($s1) +.L80240544: +/* A52E04 80240544 C6000038 */ lwc1 $f0, 0x38($s0) +/* A52E08 80240548 C602003C */ lwc1 $f2, 0x3c($s0) +/* A52E0C 8024054C C6040040 */ lwc1 $f4, 0x40($s0) +/* A52E10 80240550 C6060018 */ lwc1 $f6, 0x18($s0) +/* A52E14 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* A52E18 80240558 E7A20024 */ swc1 $f2, 0x24($sp) +/* A52E1C 8024055C E7A40028 */ swc1 $f4, 0x28($sp) +/* A52E20 80240560 E7A60010 */ swc1 $f6, 0x10($sp) +/* A52E24 80240564 C600000C */ lwc1 $f0, 0xc($s0) +/* A52E28 80240568 E7A00014 */ swc1 $f0, 0x14($sp) +/* A52E2C 8024056C 860200A8 */ lh $v0, 0xa8($s0) +/* A52E30 80240570 27A50020 */ addiu $a1, $sp, 0x20 +/* A52E34 80240574 44820000 */ mtc1 $v0, $f0 +/* A52E38 80240578 00000000 */ nop +/* A52E3C 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* A52E40 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* A52E44 80240584 860200A6 */ lh $v0, 0xa6($s0) +/* A52E48 80240588 27A60024 */ addiu $a2, $sp, 0x24 +/* A52E4C 8024058C 44820000 */ mtc1 $v0, $f0 +/* A52E50 80240590 00000000 */ nop +/* A52E54 80240594 46800020 */ cvt.s.w $f0, $f0 +/* A52E58 80240598 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A52E5C 8024059C 8E040080 */ lw $a0, 0x80($s0) +/* A52E60 802405A0 0C037711 */ jal func_800DDC44 +/* A52E64 802405A4 27A70028 */ addiu $a3, $sp, 0x28 +/* A52E68 802405A8 0040902D */ daddu $s2, $v0, $zero +/* A52E6C 802405AC 16400005 */ bnez $s2, .L802405C4 +/* A52E70 802405B0 00000000 */ nop +/* A52E74 802405B4 8E050018 */ lw $a1, 0x18($s0) +/* A52E78 802405B8 8E06000C */ lw $a2, 0xc($s0) +/* A52E7C 802405BC 0C00EA95 */ jal npc_move_heading +/* A52E80 802405C0 0200202D */ daddu $a0, $s0, $zero +.L802405C4: +/* A52E84 802405C4 8602008E */ lh $v0, 0x8e($s0) +/* A52E88 802405C8 9603008E */ lhu $v1, 0x8e($s0) +/* A52E8C 802405CC 18400007 */ blez $v0, .L802405EC +/* A52E90 802405D0 2462FFFF */ addiu $v0, $v1, -1 +/* A52E94 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* A52E98 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* A52E9C 802405DC 18400003 */ blez $v0, .L802405EC +/* A52EA0 802405E0 00000000 */ nop +/* A52EA4 802405E4 12400008 */ beqz $s2, .L80240608 +/* A52EA8 802405E8 00000000 */ nop +.L802405EC: +/* A52EAC 802405EC 8E2200CC */ lw $v0, 0xcc($s1) +/* A52EB0 802405F0 A2200007 */ sb $zero, 7($s1) +/* A52EB4 802405F4 8C420028 */ lw $v0, 0x28($v0) +/* A52EB8 802405F8 A600008E */ sh $zero, 0x8e($s0) +/* A52EBC 802405FC AE020028 */ sw $v0, 0x28($s0) +/* A52EC0 80240600 2402000F */ addiu $v0, $zero, 0xf +/* A52EC4 80240604 AE620070 */ sw $v0, 0x70($s3) +.L80240608: +/* A52EC8 80240608 8FBF0040 */ lw $ra, 0x40($sp) +/* A52ECC 8024060C 8FB3003C */ lw $s3, 0x3c($sp) +/* A52ED0 80240610 8FB20038 */ lw $s2, 0x38($sp) +/* A52ED4 80240614 8FB10034 */ lw $s1, 0x34($sp) +/* A52ED8 80240618 8FB00030 */ lw $s0, 0x30($sp) +/* A52EDC 8024061C 03E00008 */ jr $ra +/* A52EE0 80240620 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_80240624_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240624_A528C0.s new file mode 100644 index 0000000000..f4a42b662a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_80240624_A528C0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_A52EE4 +/* A52EE4 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A52EE8 80240628 AFB10014 */ sw $s1, 0x14($sp) +/* A52EEC 8024062C 0080882D */ daddu $s1, $a0, $zero +/* A52EF0 80240630 AFBF0018 */ sw $ra, 0x18($sp) +/* A52EF4 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* A52EF8 80240638 8E300148 */ lw $s0, 0x148($s1) +/* A52EFC 8024063C 0C00EABB */ jal get_npc_unsafe +/* A52F00 80240640 86040008 */ lh $a0, 8($s0) +/* A52F04 80240644 0040202D */ daddu $a0, $v0, $zero +/* A52F08 80240648 9482008E */ lhu $v0, 0x8e($a0) +/* A52F0C 8024064C 24030003 */ addiu $v1, $zero, 3 +/* A52F10 80240650 24420001 */ addiu $v0, $v0, 1 +/* A52F14 80240654 A482008E */ sh $v0, 0x8e($a0) +/* A52F18 80240658 00021400 */ sll $v0, $v0, 0x10 +/* A52F1C 8024065C 00021403 */ sra $v0, $v0, 0x10 +/* A52F20 80240660 14430003 */ bne $v0, $v1, .L80240670 +/* A52F24 80240664 00000000 */ nop +/* A52F28 80240668 96020086 */ lhu $v0, 0x86($s0) +/* A52F2C 8024066C A48200A8 */ sh $v0, 0xa8($a0) +.L80240670: +/* A52F30 80240670 8482008E */ lh $v0, 0x8e($a0) +/* A52F34 80240674 8E030080 */ lw $v1, 0x80($s0) +/* A52F38 80240678 0043102A */ slt $v0, $v0, $v1 +/* A52F3C 8024067C 14400004 */ bnez $v0, .L80240690 +/* A52F40 80240680 00000000 */ nop +/* A52F44 80240684 96020086 */ lhu $v0, 0x86($s0) +/* A52F48 80240688 A48200A8 */ sh $v0, 0xa8($a0) +/* A52F4C 8024068C AE200070 */ sw $zero, 0x70($s1) +.L80240690: +/* A52F50 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* A52F54 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* A52F58 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* A52F5C 8024069C 03E00008 */ jr $ra +/* A52F60 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_11/func_802406A4_A528C0.s b/asm/nonmatchings/world/area_kpa/kpa_11/func_802406A4_A528C0.s new file mode 100644 index 0000000000..b37545c0f5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_11/func_802406A4_A528C0.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_A52F64 +/* A52F64 802406A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A52F68 802406A8 AFB3005C */ sw $s3, 0x5c($sp) +/* A52F6C 802406AC 0080982D */ daddu $s3, $a0, $zero +/* A52F70 802406B0 AFBF0068 */ sw $ra, 0x68($sp) +/* A52F74 802406B4 AFB50064 */ sw $s5, 0x64($sp) +/* A52F78 802406B8 AFB40060 */ sw $s4, 0x60($sp) +/* A52F7C 802406BC AFB20058 */ sw $s2, 0x58($sp) +/* A52F80 802406C0 AFB10054 */ sw $s1, 0x54($sp) +/* A52F84 802406C4 AFB00050 */ sw $s0, 0x50($sp) +/* A52F88 802406C8 8E710148 */ lw $s1, 0x148($s3) +/* A52F8C 802406CC 86240008 */ lh $a0, 8($s1) +/* A52F90 802406D0 0C00EABB */ jal get_npc_unsafe +/* A52F94 802406D4 00A0802D */ daddu $s0, $a1, $zero +/* A52F98 802406D8 8E63000C */ lw $v1, 0xc($s3) +/* A52F9C 802406DC 0260202D */ daddu $a0, $s3, $zero +/* A52FA0 802406E0 8C650000 */ lw $a1, ($v1) +/* A52FA4 802406E4 0C0B1EAF */ jal get_variable +/* A52FA8 802406E8 0040902D */ daddu $s2, $v0, $zero +/* A52FAC 802406EC AFA00028 */ sw $zero, 0x28($sp) +/* A52FB0 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A52FB4 802406F4 8C630030 */ lw $v1, 0x30($v1) +/* A52FB8 802406F8 AFA3002C */ sw $v1, 0x2c($sp) +/* A52FBC 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A52FC0 80240700 8C63001C */ lw $v1, 0x1c($v1) +/* A52FC4 80240704 AFA30030 */ sw $v1, 0x30($sp) +/* A52FC8 80240708 8E2300D0 */ lw $v1, 0xd0($s1) +/* A52FCC 8024070C 8C630024 */ lw $v1, 0x24($v1) +/* A52FD0 80240710 AFA30034 */ sw $v1, 0x34($sp) +/* A52FD4 80240714 8E2300D0 */ lw $v1, 0xd0($s1) +/* A52FD8 80240718 8C630028 */ lw $v1, 0x28($v1) +/* A52FDC 8024071C 27B50028 */ addiu $s5, $sp, 0x28 +/* A52FE0 80240720 AFA30038 */ sw $v1, 0x38($sp) +/* A52FE4 80240724 8E2300D0 */ lw $v1, 0xd0($s1) +/* A52FE8 80240728 3C0142C8 */ lui $at, 0x42c8 +/* A52FEC 8024072C 44810000 */ mtc1 $at, $f0 +/* A52FF0 80240730 8C63002C */ lw $v1, 0x2c($v1) +/* A52FF4 80240734 0040A02D */ daddu $s4, $v0, $zero +/* A52FF8 80240738 E7A00040 */ swc1 $f0, 0x40($sp) +/* A52FFC 8024073C A7A00044 */ sh $zero, 0x44($sp) +/* A53000 80240740 12000009 */ beqz $s0, .L80240768 +/* A53004 80240744 AFA3003C */ sw $v1, 0x3c($sp) +/* A53008 80240748 864300A8 */ lh $v1, 0xa8($s2) +/* A5300C 8024074C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A53010 80240750 AE20008C */ sw $zero, 0x8c($s1) +/* A53014 80240754 A22000B5 */ sb $zero, 0xb5($s1) +/* A53018 80240758 34420008 */ ori $v0, $v0, 8 +/* A5301C 8024075C AE230084 */ sw $v1, 0x84($s1) +/* A53020 80240760 080901DE */ j .L80240778 +/* A53024 80240764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240768: +/* A53028 80240768 8E2200B0 */ lw $v0, 0xb0($s1) +/* A5302C 8024076C 30420004 */ andi $v0, $v0, 4 +/* A53030 80240770 10400047 */ beqz $v0, .L80240890 +/* A53034 80240774 00000000 */ nop +.L80240778: +/* A53038 80240778 AE600070 */ sw $zero, 0x70($s3) +/* A5303C 8024077C A640008E */ sh $zero, 0x8e($s2) +/* A53040 80240780 8E2300CC */ lw $v1, 0xcc($s1) +/* A53044 80240784 2404F7FF */ addiu $a0, $zero, -0x801 +/* A53048 80240788 A2200007 */ sb $zero, 7($s1) +/* A5304C 8024078C 8E420000 */ lw $v0, ($s2) +/* A53050 80240790 8C630000 */ lw $v1, ($v1) +/* A53054 80240794 00441024 */ and $v0, $v0, $a0 +/* A53058 80240798 AE420000 */ sw $v0, ($s2) +/* A5305C 8024079C AE430028 */ sw $v1, 0x28($s2) +/* A53060 802407A0 96220086 */ lhu $v0, 0x86($s1) +/* A53064 802407A4 A64200A8 */ sh $v0, 0xa8($s2) +/* A53068 802407A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A5306C 802407AC AE200090 */ sw $zero, 0x90($s1) +/* A53070 802407B0 8C420034 */ lw $v0, 0x34($v0) +/* A53074 802407B4 14400006 */ bnez $v0, .L802407D0 +/* A53078 802407B8 2403FDFF */ addiu $v1, $zero, -0x201 +/* A5307C 802407BC 8E420000 */ lw $v0, ($s2) +/* A53080 802407C0 2403FFF7 */ addiu $v1, $zero, -9 +/* A53084 802407C4 34420200 */ ori $v0, $v0, 0x200 +/* A53088 802407C8 080901F7 */ j .L802407DC +/* A5308C 802407CC 00431024 */ and $v0, $v0, $v1 +.L802407D0: +/* A53090 802407D0 8E420000 */ lw $v0, ($s2) +/* A53094 802407D4 00431024 */ and $v0, $v0, $v1 +/* A53098 802407D8 34420008 */ ori $v0, $v0, 8 +.L802407DC: +/* A5309C 802407DC AE420000 */ sw $v0, ($s2) +/* A530A0 802407E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A530A4 802407E4 30420004 */ andi $v0, $v0, 4 +/* A530A8 802407E8 1040001E */ beqz $v0, .L80240864 +/* A530AC 802407EC 24040002 */ addiu $a0, $zero, 2 +/* A530B0 802407F0 0240282D */ daddu $a1, $s2, $zero +/* A530B4 802407F4 0000302D */ daddu $a2, $zero, $zero +/* A530B8 802407F8 24020063 */ addiu $v0, $zero, 0x63 +/* A530BC 802407FC AE620070 */ sw $v0, 0x70($s3) +/* A530C0 80240800 AE600074 */ sw $zero, 0x74($s3) +/* A530C4 80240804 864300A8 */ lh $v1, 0xa8($s2) +/* A530C8 80240808 3C013F80 */ lui $at, 0x3f80 +/* A530CC 8024080C 44810000 */ mtc1 $at, $f0 +/* A530D0 80240810 3C014000 */ lui $at, 0x4000 +/* A530D4 80240814 44811000 */ mtc1 $at, $f2 +/* A530D8 80240818 3C01C1A0 */ lui $at, 0xc1a0 +/* A530DC 8024081C 44812000 */ mtc1 $at, $f4 +/* A530E0 80240820 24020028 */ addiu $v0, $zero, 0x28 +/* A530E4 80240824 AFA2001C */ sw $v0, 0x1c($sp) +/* A530E8 80240828 44833000 */ mtc1 $v1, $f6 +/* A530EC 8024082C 00000000 */ nop +/* A530F0 80240830 468031A0 */ cvt.s.w $f6, $f6 +/* A530F4 80240834 44073000 */ mfc1 $a3, $f6 +/* A530F8 80240838 27A20048 */ addiu $v0, $sp, 0x48 +/* A530FC 8024083C AFA20020 */ sw $v0, 0x20($sp) +/* A53100 80240840 E7A00010 */ swc1 $f0, 0x10($sp) +/* A53104 80240844 E7A20014 */ swc1 $f2, 0x14($sp) +/* A53108 80240848 0C01BFA4 */ jal fx_emote +/* A5310C 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* A53110 80240850 8E2200B0 */ lw $v0, 0xb0($s1) +/* A53114 80240854 2403FFFB */ addiu $v1, $zero, -5 +/* A53118 80240858 00431024 */ and $v0, $v0, $v1 +/* A5311C 8024085C 08090224 */ j .L80240890 +/* A53120 80240860 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240864: +/* A53124 80240864 8E220000 */ lw $v0, ($s1) +/* A53128 80240868 3C034000 */ lui $v1, 0x4000 +/* A5312C 8024086C 00431024 */ and $v0, $v0, $v1 +/* A53130 80240870 10400007 */ beqz $v0, .L80240890 +/* A53134 80240874 3C03BFFF */ lui $v1, 0xbfff +/* A53138 80240878 2402000C */ addiu $v0, $zero, 0xc +/* A5313C 8024087C AE620070 */ sw $v0, 0x70($s3) +/* A53140 80240880 8E220000 */ lw $v0, ($s1) +/* A53144 80240884 3463FFFF */ ori $v1, $v1, 0xffff +/* A53148 80240888 00431024 */ and $v0, $v0, $v1 +/* A5314C 8024088C AE220000 */ sw $v0, ($s1) +.L80240890: +/* A53150 80240890 8E220090 */ lw $v0, 0x90($s1) +/* A53154 80240894 1840000C */ blez $v0, .L802408C8 +/* A53158 80240898 2442FFFF */ addiu $v0, $v0, -1 +/* A5315C 8024089C 14400087 */ bnez $v0, .L80240ABC +/* A53160 802408A0 AE220090 */ sw $v0, 0x90($s1) +/* A53164 802408A4 3C03FFAA */ lui $v1, 0xffaa +/* A53168 802408A8 8E420028 */ lw $v0, 0x28($s2) +/* A5316C 802408AC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A53170 802408B0 00431021 */ addu $v0, $v0, $v1 +/* A53174 802408B4 2C420002 */ sltiu $v0, $v0, 2 +/* A53178 802408B8 10400003 */ beqz $v0, .L802408C8 +/* A5317C 802408BC 3C020055 */ lui $v0, 0x55 +/* A53180 802408C0 3442000C */ ori $v0, $v0, 0xc +/* A53184 802408C4 AE420028 */ sw $v0, 0x28($s2) +.L802408C8: +/* A53188 802408C8 8E630070 */ lw $v1, 0x70($s3) +/* A5318C 802408CC 2402000C */ addiu $v0, $zero, 0xc +/* A53190 802408D0 10620048 */ beq $v1, $v0, .L802409F4 +/* A53194 802408D4 2862000D */ slti $v0, $v1, 0xd +/* A53198 802408D8 1040000F */ beqz $v0, .L80240918 +/* A5319C 802408DC 24100001 */ addiu $s0, $zero, 1 +/* A531A0 802408E0 1070001E */ beq $v1, $s0, .L8024095C +/* A531A4 802408E4 28620002 */ slti $v0, $v1, 2 +/* A531A8 802408E8 10400005 */ beqz $v0, .L80240900 +/* A531AC 802408EC 24020002 */ addiu $v0, $zero, 2 +/* A531B0 802408F0 10600015 */ beqz $v1, .L80240948 +/* A531B4 802408F4 0260202D */ daddu $a0, $s3, $zero +/* A531B8 802408F8 08090294 */ j .L80240A50 +/* A531BC 802408FC 00000000 */ nop +.L80240900: +/* A531C0 80240900 1062001C */ beq $v1, $v0, .L80240974 +/* A531C4 80240904 24020003 */ addiu $v0, $zero, 3 +/* A531C8 80240908 10620035 */ beq $v1, $v0, .L802409E0 +/* A531CC 8024090C 0260202D */ daddu $a0, $s3, $zero +/* A531D0 80240910 08090294 */ j .L80240A50 +/* A531D4 80240914 00000000 */ nop +.L80240918: +/* A531D8 80240918 2402000E */ addiu $v0, $zero, 0xe +/* A531DC 8024091C 1062003F */ beq $v1, $v0, .L80240A1C +/* A531E0 80240920 0062102A */ slt $v0, $v1, $v0 +/* A531E4 80240924 14400038 */ bnez $v0, .L80240A08 +/* A531E8 80240928 0260202D */ daddu $a0, $s3, $zero +/* A531EC 8024092C 2402000F */ addiu $v0, $zero, 0xf +/* A531F0 80240930 10620040 */ beq $v1, $v0, .L80240A34 +/* A531F4 80240934 24020063 */ addiu $v0, $zero, 0x63 +/* A531F8 80240938 10620043 */ beq $v1, $v0, .L80240A48 +/* A531FC 8024093C 00000000 */ nop +/* A53200 80240940 08090294 */ j .L80240A50 +/* A53204 80240944 00000000 */ nop +.L80240948: +/* A53208 80240948 0280282D */ daddu $a1, $s4, $zero +/* A5320C 8024094C 0C012568 */ jal func_800495A0 +/* A53210 80240950 02A0302D */ daddu $a2, $s5, $zero +/* A53214 80240954 96220086 */ lhu $v0, 0x86($s1) +/* A53218 80240958 A64200A8 */ sh $v0, 0xa8($s2) +.L8024095C: +/* A5321C 8024095C 0260202D */ daddu $a0, $s3, $zero +/* A53220 80240960 0280282D */ daddu $a1, $s4, $zero +/* A53224 80240964 0C0125AE */ jal func_800496B8 +/* A53228 80240968 02A0302D */ daddu $a2, $s5, $zero +/* A5322C 8024096C 08090294 */ j .L80240A50 +/* A53230 80240970 00000000 */ nop +.L80240974: +/* A53234 80240974 0260202D */ daddu $a0, $s3, $zero +/* A53238 80240978 0280282D */ daddu $a1, $s4, $zero +/* A5323C 8024097C 0C0126D1 */ jal func_80049B44 +/* A53240 80240980 02A0302D */ daddu $a2, $s5, $zero +/* A53244 80240984 8E230088 */ lw $v1, 0x88($s1) +/* A53248 80240988 24020006 */ addiu $v0, $zero, 6 +/* A5324C 8024098C 14620014 */ bne $v1, $v0, .L802409E0 +/* A53250 80240990 0260202D */ daddu $a0, $s3, $zero +/* A53254 80240994 0C00A67F */ jal rand_int +/* A53258 80240998 24040064 */ addiu $a0, $zero, 0x64 +/* A5325C 8024099C 28420021 */ slti $v0, $v0, 0x21 +/* A53260 802409A0 5040000F */ beql $v0, $zero, .L802409E0 +/* A53264 802409A4 0260202D */ daddu $a0, $s3, $zero +/* A53268 802409A8 8E22008C */ lw $v0, 0x8c($s1) +/* A5326C 802409AC 10400005 */ beqz $v0, .L802409C4 +/* A53270 802409B0 3C020055 */ lui $v0, 0x55 +/* A53274 802409B4 3442002F */ ori $v0, $v0, 0x2f +/* A53278 802409B8 AE20008C */ sw $zero, 0x8c($s1) +/* A5327C 802409BC 08090274 */ j .L802409D0 +/* A53280 802409C0 A22000B5 */ sb $zero, 0xb5($s1) +.L802409C4: +/* A53284 802409C4 3442002E */ ori $v0, $v0, 0x2e +/* A53288 802409C8 AE30008C */ sw $s0, 0x8c($s1) +/* A5328C 802409CC A23000B5 */ sb $s0, 0xb5($s1) +.L802409D0: +/* A53290 802409D0 AE420028 */ sw $v0, 0x28($s2) +/* A53294 802409D4 24020007 */ addiu $v0, $zero, 7 +/* A53298 802409D8 080902AF */ j .L80240ABC +/* A5329C 802409DC AE220090 */ sw $v0, 0x90($s1) +.L802409E0: +/* A532A0 802409E0 0280282D */ daddu $a1, $s4, $zero +/* A532A4 802409E4 0C012701 */ jal func_80049C04 +/* A532A8 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* A532AC 802409EC 08090294 */ j .L80240A50 +/* A532B0 802409F0 00000000 */ nop +.L802409F4: +/* A532B4 802409F4 0260202D */ daddu $a0, $s3, $zero +/* A532B8 802409F8 0280282D */ daddu $a1, $s4, $zero +/* A532BC 802409FC 0C0900C4 */ jal func_80240310 +/* A532C0 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* A532C4 80240A04 0260202D */ daddu $a0, $s3, $zero +.L80240A08: +/* A532C8 80240A08 0280282D */ daddu $a1, $s4, $zero +/* A532CC 80240A0C 0C0900E3 */ jal func_8024038C +/* A532D0 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* A532D4 80240A14 08090294 */ j .L80240A50 +/* A532D8 80240A18 00000000 */ nop +.L80240A1C: +/* A532DC 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* A532E0 80240A20 0280282D */ daddu $a1, $s4, $zero +/* A532E4 80240A24 0C090130 */ jal func_802404C0 +/* A532E8 80240A28 02A0302D */ daddu $a2, $s5, $zero +/* A532EC 80240A2C 08090294 */ j .L80240A50 +/* A532F0 80240A30 00000000 */ nop +.L80240A34: +/* A532F4 80240A34 0280282D */ daddu $a1, $s4, $zero +/* A532F8 80240A38 0C090189 */ jal func_80240624 +/* A532FC 80240A3C 02A0302D */ daddu $a2, $s5, $zero +/* A53300 80240A40 08090294 */ j .L80240A50 +/* A53304 80240A44 00000000 */ nop +.L80240A48: +/* A53308 80240A48 0C0129CF */ jal func_8004A73C +/* A5330C 80240A4C 0260202D */ daddu $a0, $s3, $zero +.L80240A50: +/* A53310 80240A50 8E230088 */ lw $v1, 0x88($s1) +/* A53314 80240A54 24020006 */ addiu $v0, $zero, 6 +/* A53318 80240A58 14620019 */ bne $v1, $v0, .L80240AC0 +/* A5331C 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* A53320 80240A60 8E22008C */ lw $v0, 0x8c($s1) +/* A53324 80240A64 10400003 */ beqz $v0, .L80240A74 +/* A53328 80240A68 24020001 */ addiu $v0, $zero, 1 +/* A5332C 80240A6C 0809029E */ j .L80240A78 +/* A53330 80240A70 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A74: +/* A53334 80240A74 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A78: +/* A53338 80240A78 8E22008C */ lw $v0, 0x8c($s1) +/* A5333C 80240A7C 1040000F */ beqz $v0, .L80240ABC +/* A53340 80240A80 3C03FFAA */ lui $v1, 0xffaa +/* A53344 80240A84 8E420028 */ lw $v0, 0x28($s2) +/* A53348 80240A88 3463FFFC */ ori $v1, $v1, 0xfffc +/* A5334C 80240A8C 00431821 */ addu $v1, $v0, $v1 +/* A53350 80240A90 2C620015 */ sltiu $v0, $v1, 0x15 +/* A53354 80240A94 10400009 */ beqz $v0, .L80240ABC +/* A53358 80240A98 00031080 */ sll $v0, $v1, 2 +/* A5335C 80240A9C 3C018024 */ lui $at, 0x8024 +/* A53360 80240AA0 00220821 */ addu $at, $at, $v0 +/* A53364 80240AA4 8C222038 */ lw $v0, 0x2038($at) +/* A53368 80240AA8 00400008 */ jr $v0 +/* A5336C 80240AAC 00000000 */ nop +/* A53370 80240AB0 8E420028 */ lw $v0, 0x28($s2) +/* A53374 80240AB4 24420001 */ addiu $v0, $v0, 1 +/* A53378 80240AB8 AE420028 */ sw $v0, 0x28($s2) +.L80240ABC: +/* A5337C 80240ABC 0000102D */ daddu $v0, $zero, $zero +.L80240AC0: +/* A53380 80240AC0 8FBF0068 */ lw $ra, 0x68($sp) +/* A53384 80240AC4 8FB50064 */ lw $s5, 0x64($sp) +/* A53388 80240AC8 8FB40060 */ lw $s4, 0x60($sp) +/* A5338C 80240ACC 8FB3005C */ lw $s3, 0x5c($sp) +/* A53390 80240AD0 8FB20058 */ lw $s2, 0x58($sp) +/* A53394 80240AD4 8FB10054 */ lw $s1, 0x54($sp) +/* A53398 80240AD8 8FB00050 */ lw $s0, 0x50($sp) +/* A5339C 80240ADC 03E00008 */ jr $ra +/* A533A0 80240AE0 27BD0070 */ addiu $sp, $sp, 0x70 +/* A533A4 80240AE4 00000000 */ nop +/* A533A8 80240AE8 00000000 */ nop +/* A533AC 80240AEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80240000_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240000_A99590.s new file mode 100644 index 0000000000..4dbc72d3df --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240000_A99590.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A99590 +/* A99590 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A99594 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A99598 80240008 0080802D */ daddu $s0, $a0, $zero +/* A9959C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A995A0 80240010 8E02000C */ lw $v0, 0xc($s0) +/* A995A4 80240014 0C0B1EAF */ jal get_variable +/* A995A8 80240018 8C450000 */ lw $a1, ($v0) +/* A995AC 8024001C 0040302D */ daddu $a2, $v0, $zero +/* A995B0 80240020 3C058016 */ lui $a1, 0x8016 +/* A995B4 80240024 84A5A550 */ lh $a1, -0x5ab0($a1) +/* A995B8 80240028 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* A995BC 8024002C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* A995C0 80240030 10A60004 */ beq $a1, $a2, .L80240044 +/* A995C4 80240034 24020014 */ addiu $v0, $zero, 0x14 +/* A995C8 80240038 808300B4 */ lb $v1, 0xb4($a0) +/* A995CC 8024003C 10620006 */ beq $v1, $v0, .L80240058 +/* A995D0 80240040 00000000 */ nop +.L80240044: +/* A995D4 80240044 8C820014 */ lw $v0, 0x14($a0) +/* A995D8 80240048 3C03FFFF */ lui $v1, 0xffff +/* A995DC 8024004C 00431024 */ and $v0, $v0, $v1 +/* A995E0 80240050 10400005 */ beqz $v0, .L80240068 +/* A995E4 80240054 00000000 */ nop +.L80240058: +/* A995E8 80240058 0C039769 */ jal set_action_state +/* A995EC 8024005C 0000202D */ daddu $a0, $zero, $zero +/* A995F0 80240060 0809002A */ j .L802400A8 +/* A995F4 80240064 AE000084 */ sw $zero, 0x84($s0) +.L80240068: +/* A995F8 80240068 54A6000F */ bnel $a1, $a2, .L802400A8 +/* A995FC 8024006C AE000084 */ sw $zero, 0x84($s0) +/* A99600 80240070 808300B4 */ lb $v1, 0xb4($a0) +/* A99604 80240074 24020014 */ addiu $v0, $zero, 0x14 +/* A99608 80240078 10620005 */ beq $v1, $v0, .L80240090 +/* A9960C 8024007C 24020001 */ addiu $v0, $zero, 1 +/* A99610 80240080 10620003 */ beq $v1, $v0, .L80240090 +/* A99614 80240084 24020002 */ addiu $v0, $zero, 2 +/* A99618 80240088 54620008 */ bnel $v1, $v0, .L802400AC +/* A9961C 8024008C AE000084 */ sw $zero, 0x84($s0) +.L80240090: +/* A99620 80240090 8C820004 */ lw $v0, 4($a0) +/* A99624 80240094 30420001 */ andi $v0, $v0, 1 +/* A99628 80240098 54400003 */ bnel $v0, $zero, .L802400A8 +/* A9962C 8024009C AE000084 */ sw $zero, 0x84($s0) +/* A99630 802400A0 24020001 */ addiu $v0, $zero, 1 +/* A99634 802400A4 AE020084 */ sw $v0, 0x84($s0) +.L802400A8: +/* A99638 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* A9963C 802400AC 8FBF0014 */ lw $ra, 0x14($sp) +/* A99640 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* A99644 802400B4 03E00008 */ jr $ra +/* A99648 802400B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_802400BC_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_802400BC_A99590.s new file mode 100644 index 0000000000..8a22f788e6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_802400BC_A99590.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_A9964C +/* A9964C 802400BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A99650 802400C0 AFBF002C */ sw $ra, 0x2c($sp) +/* A99654 802400C4 AFB00028 */ sw $s0, 0x28($sp) +/* A99658 802400C8 8C820098 */ lw $v0, 0x98($a0) +/* A9965C 802400CC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A99660 802400D0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A99664 802400D4 14400005 */ bnez $v0, .L802400EC +/* A99668 802400D8 00000000 */ nop +/* A9966C 802400DC C4800084 */ lwc1 $f0, 0x84($a0) +/* A99670 802400E0 46800020 */ cvt.s.w $f0, $f0 +/* A99674 802400E4 0809003E */ j .L802400F8 +/* A99678 802400E8 E6000028 */ swc1 $f0, 0x28($s0) +.L802400EC: +/* A9967C 802400EC C4800084 */ lwc1 $f0, 0x84($a0) +/* A99680 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* A99684 802400F4 E6000030 */ swc1 $f0, 0x30($s0) +.L802400F8: +/* A99688 802400F8 27A20024 */ addiu $v0, $sp, 0x24 +/* A9968C 802400FC 0000202D */ daddu $a0, $zero, $zero +/* A99690 80240100 27A50018 */ addiu $a1, $sp, 0x18 +/* A99694 80240104 27A6001C */ addiu $a2, $sp, 0x1c +/* A99698 80240108 C6000028 */ lwc1 $f0, 0x28($s0) +/* A9969C 8024010C 3C014120 */ lui $at, 0x4120 +/* A996A0 80240110 44811000 */ mtc1 $at, $f2 +/* A996A4 80240114 3C014220 */ lui $at, 0x4220 +/* A996A8 80240118 44813000 */ mtc1 $at, $f6 +/* A996AC 8024011C 27A70020 */ addiu $a3, $sp, 0x20 +/* A996B0 80240120 E7A00018 */ swc1 $f0, 0x18($sp) +/* A996B4 80240124 C600002C */ lwc1 $f0, 0x2c($s0) +/* A996B8 80240128 C6040030 */ lwc1 $f4, 0x30($s0) +/* A996BC 8024012C 46020000 */ add.s $f0, $f0, $f2 +/* A996C0 80240130 E7A60024 */ swc1 $f6, 0x24($sp) +/* A996C4 80240134 E7A40020 */ swc1 $f4, 0x20($sp) +/* A996C8 80240138 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A996CC 8024013C 0C0372DF */ jal func_800DCB7C +/* A996D0 80240140 AFA20010 */ sw $v0, 0x10($sp) +/* A996D4 80240144 C7A00018 */ lwc1 $f0, 0x18($sp) +/* A996D8 80240148 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A996DC 8024014C C7A40020 */ lwc1 $f4, 0x20($sp) +/* A996E0 80240150 E6000028 */ swc1 $f0, 0x28($s0) +/* A996E4 80240154 E602002C */ swc1 $f2, 0x2c($s0) +/* A996E8 80240158 E6040030 */ swc1 $f4, 0x30($s0) +/* A996EC 8024015C 8FBF002C */ lw $ra, 0x2c($sp) +/* A996F0 80240160 8FB00028 */ lw $s0, 0x28($sp) +/* A996F4 80240164 24020002 */ addiu $v0, $zero, 2 +/* A996F8 80240168 03E00008 */ jr $ra +/* A996FC 8024016C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80240170_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240170_A99590.s new file mode 100644 index 0000000000..b449ea1694 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240170_A99590.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_A99700 +/* A99700 80240170 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A99704 80240174 AFB10014 */ sw $s1, 0x14($sp) +/* A99708 80240178 0080882D */ daddu $s1, $a0, $zero +/* A9970C 8024017C 3C05800B */ lui $a1, %hi(gCameras) +/* A99710 80240180 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A99714 80240184 AFBF0020 */ sw $ra, 0x20($sp) +/* A99718 80240188 AFB3001C */ sw $s3, 0x1c($sp) +/* A9971C 8024018C AFB20018 */ sw $s2, 0x18($sp) +/* A99720 80240190 AFB00010 */ sw $s0, 0x10($sp) +/* A99724 80240194 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A99728 80240198 8E330148 */ lw $s3, 0x148($s1) +/* A9972C 8024019C 3C03800A */ lui $v1, 0x800a +/* A99730 802401A0 8463A634 */ lh $v1, -0x59cc($v1) +/* A99734 802401A4 8E30000C */ lw $s0, 0xc($s1) +/* A99738 802401A8 00031080 */ sll $v0, $v1, 2 +/* A9973C 802401AC 00431021 */ addu $v0, $v0, $v1 +/* A99740 802401B0 00021080 */ sll $v0, $v0, 2 +/* A99744 802401B4 00431023 */ subu $v0, $v0, $v1 +/* A99748 802401B8 000218C0 */ sll $v1, $v0, 3 +/* A9974C 802401BC 00431021 */ addu $v0, $v0, $v1 +/* A99750 802401C0 000210C0 */ sll $v0, $v0, 3 +/* A99754 802401C4 86640008 */ lh $a0, 8($s3) +/* A99758 802401C8 0C00EABB */ jal get_npc_unsafe +/* A9975C 802401CC 00459021 */ addu $s2, $v0, $a1 +/* A99760 802401D0 0220202D */ daddu $a0, $s1, $zero +/* A99764 802401D4 8E050000 */ lw $a1, ($s0) +/* A99768 802401D8 0C0B1EAF */ jal get_variable +/* A9976C 802401DC 0040802D */ daddu $s0, $v0, $zero +/* A99770 802401E0 0260202D */ daddu $a0, $s3, $zero +/* A99774 802401E4 8C460024 */ lw $a2, 0x24($v0) +/* A99778 802401E8 8C470028 */ lw $a3, 0x28($v0) +/* A9977C 802401EC 0C0124FB */ jal func_800493EC +/* A99780 802401F0 0000282D */ daddu $a1, $zero, $zero +/* A99784 802401F4 10400052 */ beqz $v0, .L80240340 +/* A99788 802401F8 2402FFFF */ addiu $v0, $zero, -1 +/* A9978C 802401FC C64C006C */ lwc1 $f12, 0x6c($s2) +/* A99790 80240200 C60E000C */ lwc1 $f14, 0xc($s0) +/* A99794 80240204 3C014387 */ lui $at, 0x4387 +/* A99798 80240208 4481A000 */ mtc1 $at, $f20 +/* A9979C 8024020C 0C00A70A */ jal get_clamped_angle_diff +/* A997A0 80240210 00000000 */ nop +/* A997A4 80240214 0C00A6C9 */ jal clamp_angle +/* A997A8 80240218 46000306 */ mov.s $f12, $f0 +/* A997AC 8024021C 3C018024 */ lui $at, 0x8024 +/* A997B0 80240220 D4223240 */ ldc1 $f2, 0x3240($at) +/* A997B4 80240224 46000021 */ cvt.d.s $f0, $f0 +/* A997B8 80240228 4622003C */ c.lt.d $f0, $f2 +/* A997BC 8024022C 00000000 */ nop +/* A997C0 80240230 45000003 */ bc1f .L80240240 +/* A997C4 80240234 00000000 */ nop +/* A997C8 80240238 3C0142B4 */ lui $at, 0x42b4 +/* A997CC 8024023C 4481A000 */ mtc1 $at, $f20 +.L80240240: +/* A997D0 80240240 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A997D4 80240244 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A997D8 80240248 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A997DC 8024024C 8E220000 */ lw $v0, ($s1) +/* A997E0 80240250 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A997E4 80240254 8C460028 */ lw $a2, 0x28($v0) +/* A997E8 80240258 0C00A720 */ jal atan2 +/* A997EC 8024025C 8C470030 */ lw $a3, 0x30($v0) +/* A997F0 80240260 4600A306 */ mov.s $f12, $f20 +/* A997F4 80240264 0C00A70A */ jal get_clamped_angle_diff +/* A997F8 80240268 46000386 */ mov.s $f14, $f0 +/* A997FC 8024026C 46000005 */ abs.s $f0, $f0 +/* A99800 80240270 3C018024 */ lui $at, 0x8024 +/* A99804 80240274 D4223248 */ ldc1 $f2, 0x3248($at) +/* A99808 80240278 46000021 */ cvt.d.s $f0, $f0 +/* A9980C 8024027C 4620103C */ c.lt.d $f2, $f0 +/* A99810 80240280 00000000 */ nop +/* A99814 80240284 4501002E */ bc1t .L80240340 +/* A99818 80240288 2402FFFF */ addiu $v0, $zero, -1 +/* A9981C 8024028C 8E220000 */ lw $v0, ($s1) +/* A99820 80240290 C600003C */ lwc1 $f0, 0x3c($s0) +/* A99824 80240294 C442002C */ lwc1 $f2, 0x2c($v0) +/* A99828 80240298 860200A8 */ lh $v0, 0xa8($s0) +/* A9982C 8024029C 46020001 */ sub.s $f0, $f0, $f2 +/* A99830 802402A0 44821000 */ mtc1 $v0, $f2 +/* A99834 802402A4 00000000 */ nop +/* A99838 802402A8 468010A1 */ cvt.d.w $f2, $f2 +/* A9983C 802402AC 46221080 */ add.d $f2, $f2, $f2 +/* A99840 802402B0 46000005 */ abs.s $f0, $f0 +/* A99844 802402B4 46000021 */ cvt.d.s $f0, $f0 +/* A99848 802402B8 4620103E */ c.le.d $f2, $f0 +/* A9984C 802402BC 00000000 */ nop +/* A99850 802402C0 4501001F */ bc1t .L80240340 +/* A99854 802402C4 2402FFFF */ addiu $v0, $zero, -1 +/* A99858 802402C8 3C038011 */ lui $v1, 0x8011 +/* A9985C 802402CC 8063EBB3 */ lb $v1, -0x144d($v1) +/* A99860 802402D0 24020009 */ addiu $v0, $zero, 9 +/* A99864 802402D4 10620019 */ beq $v1, $v0, .L8024033C +/* A99868 802402D8 24020007 */ addiu $v0, $zero, 7 +/* A9986C 802402DC 14620005 */ bne $v1, $v0, .L802402F4 +/* A99870 802402E0 2402FFFF */ addiu $v0, $zero, -1 +/* A99874 802402E4 080900D0 */ j .L80240340 +/* A99878 802402E8 00000000 */ nop +.L802402EC: +/* A9987C 802402EC 080900D0 */ j .L80240340 +/* A99880 802402F0 0240102D */ daddu $v0, $s2, $zero +.L802402F4: +/* A99884 802402F4 8E620078 */ lw $v0, 0x78($s3) +/* A99888 802402F8 18400010 */ blez $v0, .L8024033C +/* A9988C 802402FC 0000882D */ daddu $s1, $zero, $zero +.L80240300: +/* A99890 80240300 86620008 */ lh $v0, 8($s3) +/* A99894 80240304 00511021 */ addu $v0, $v0, $s1 +/* A99898 80240308 24520001 */ addiu $s2, $v0, 1 +/* A9989C 8024030C 0C00FB3A */ jal get_enemy +/* A998A0 80240310 0240202D */ daddu $a0, $s2, $zero +/* A998A4 80240314 0240202D */ daddu $a0, $s2, $zero +/* A998A8 80240318 0C00EABB */ jal get_npc_unsafe +/* A998AC 8024031C 0040802D */ daddu $s0, $v0, $zero +/* A998B0 80240320 8E02006C */ lw $v0, 0x6c($s0) +/* A998B4 80240324 1040FFF1 */ beqz $v0, .L802402EC +/* A998B8 80240328 26310001 */ addiu $s1, $s1, 1 +/* A998BC 8024032C 8E620078 */ lw $v0, 0x78($s3) +/* A998C0 80240330 0222102A */ slt $v0, $s1, $v0 +/* A998C4 80240334 1440FFF2 */ bnez $v0, .L80240300 +/* A998C8 80240338 00000000 */ nop +.L8024033C: +/* A998CC 8024033C 2402FFFF */ addiu $v0, $zero, -1 +.L80240340: +/* A998D0 80240340 8FBF0020 */ lw $ra, 0x20($sp) +/* A998D4 80240344 8FB3001C */ lw $s3, 0x1c($sp) +/* A998D8 80240348 8FB20018 */ lw $s2, 0x18($sp) +/* A998DC 8024034C 8FB10014 */ lw $s1, 0x14($sp) +/* A998E0 80240350 8FB00010 */ lw $s0, 0x10($sp) +/* A998E4 80240354 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A998E8 80240358 03E00008 */ jr $ra +/* A998EC 8024035C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80240360_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240360_A99590.s new file mode 100644 index 0000000000..406bac4286 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240360_A99590.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_A998F0 +/* A998F0 80240360 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A998F4 80240364 AFB20038 */ sw $s2, 0x38($sp) +/* A998F8 80240368 0080902D */ daddu $s2, $a0, $zero +/* A998FC 8024036C AFB00030 */ sw $s0, 0x30($sp) +/* A99900 80240370 AFBF003C */ sw $ra, 0x3c($sp) +/* A99904 80240374 AFB10034 */ sw $s1, 0x34($sp) +/* A99908 80240378 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A9990C 8024037C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A99910 80240380 8E510148 */ lw $s1, 0x148($s2) +/* A99914 80240384 4485A000 */ mtc1 $a1, $f20 +/* A99918 80240388 86240008 */ lh $a0, 8($s1) +/* A9991C 8024038C 4486B000 */ mtc1 $a2, $f22 +/* A99920 80240390 0C00EABB */ jal get_npc_unsafe +/* A99924 80240394 00E0802D */ daddu $s0, $a3, $zero +/* A99928 80240398 0200202D */ daddu $a0, $s0, $zero +/* A9992C 8024039C 0220282D */ daddu $a1, $s1, $zero +/* A99930 802403A0 24030001 */ addiu $v1, $zero, 1 +/* A99934 802403A4 4406A000 */ mfc1 $a2, $f20 +/* A99938 802403A8 4407B000 */ mfc1 $a3, $f22 +/* A9993C 802403AC 0040802D */ daddu $s0, $v0, $zero +/* A99940 802403B0 0C01242D */ jal func_800490B4 +/* A99944 802403B4 AFA30010 */ sw $v1, 0x10($sp) +/* A99948 802403B8 1440001D */ bnez $v0, .L80240430 +/* A9994C 802403BC 24040002 */ addiu $a0, $zero, 2 +/* A99950 802403C0 0200282D */ daddu $a1, $s0, $zero +/* A99954 802403C4 0000302D */ daddu $a2, $zero, $zero +/* A99958 802403C8 860300A8 */ lh $v1, 0xa8($s0) +/* A9995C 802403CC 3C013F80 */ lui $at, 0x3f80 +/* A99960 802403D0 44810000 */ mtc1 $at, $f0 +/* A99964 802403D4 3C014000 */ lui $at, 0x4000 +/* A99968 802403D8 44811000 */ mtc1 $at, $f2 +/* A9996C 802403DC 3C01C1A0 */ lui $at, 0xc1a0 +/* A99970 802403E0 44812000 */ mtc1 $at, $f4 +/* A99974 802403E4 2402000F */ addiu $v0, $zero, 0xf +/* A99978 802403E8 AFA2001C */ sw $v0, 0x1c($sp) +/* A9997C 802403EC 44833000 */ mtc1 $v1, $f6 +/* A99980 802403F0 00000000 */ nop +/* A99984 802403F4 468031A0 */ cvt.s.w $f6, $f6 +/* A99988 802403F8 44073000 */ mfc1 $a3, $f6 +/* A9998C 802403FC 27A20028 */ addiu $v0, $sp, 0x28 +/* A99990 80240400 AFA20020 */ sw $v0, 0x20($sp) +/* A99994 80240404 E7A00010 */ swc1 $f0, 0x10($sp) +/* A99998 80240408 E7A20014 */ swc1 $f2, 0x14($sp) +/* A9999C 8024040C 0C01BFA4 */ jal fx_emote +/* A999A0 80240410 E7A40018 */ swc1 $f4, 0x18($sp) +/* A999A4 80240414 8E2200CC */ lw $v0, 0xcc($s1) +/* A999A8 80240418 8C430000 */ lw $v1, ($v0) +/* A999AC 8024041C 24020014 */ addiu $v0, $zero, 0x14 +/* A999B0 80240420 A602008E */ sh $v0, 0x8e($s0) +/* A999B4 80240424 24020021 */ addiu $v0, $zero, 0x21 +/* A999B8 80240428 08090120 */ j .L80240480 +/* A999BC 8024042C AE030028 */ sw $v1, 0x28($s0) +.L80240430: +/* A999C0 80240430 0C09005C */ jal func_80240170 +/* A999C4 80240434 0240202D */ daddu $a0, $s2, $zero +/* A999C8 80240438 0040202D */ daddu $a0, $v0, $zero +/* A999CC 8024043C 2402FFFF */ addiu $v0, $zero, -1 +/* A999D0 80240440 10820010 */ beq $a0, $v0, .L80240484 +/* A999D4 80240444 00000000 */ nop +/* A999D8 80240448 0C00FB3A */ jal get_enemy +/* A999DC 8024044C 00000000 */ nop +/* A999E0 80240450 8C42006C */ lw $v0, 0x6c($v0) +/* A999E4 80240454 1440000B */ bnez $v0, .L80240484 +/* A999E8 80240458 00000000 */ nop +/* A999EC 8024045C 8602008C */ lh $v0, 0x8c($s0) +/* A999F0 80240460 14400008 */ bnez $v0, .L80240484 +/* A999F4 80240464 00000000 */ nop +/* A999F8 80240468 8E2200CC */ lw $v0, 0xcc($s1) +/* A999FC 8024046C 8C420020 */ lw $v0, 0x20($v0) +/* A99A00 80240470 AE020028 */ sw $v0, 0x28($s0) +/* A99A04 80240474 96220072 */ lhu $v0, 0x72($s1) +/* A99A08 80240478 A602008E */ sh $v0, 0x8e($s0) +/* A99A0C 8024047C 2402001E */ addiu $v0, $zero, 0x1e +.L80240480: +/* A99A10 80240480 AE420070 */ sw $v0, 0x70($s2) +.L80240484: +/* A99A14 80240484 8FBF003C */ lw $ra, 0x3c($sp) +/* A99A18 80240488 8FB20038 */ lw $s2, 0x38($sp) +/* A99A1C 8024048C 8FB10034 */ lw $s1, 0x34($sp) +/* A99A20 80240490 8FB00030 */ lw $s0, 0x30($sp) +/* A99A24 80240494 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A99A28 80240498 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A99A2C 8024049C 03E00008 */ jr $ra +/* A99A30 802404A0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_802404A4.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_802404A4.s new file mode 100644 index 0000000000..de10ec10ac --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_802404A4.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A4 +/* A99A34 802404A4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A99A38 802404A8 AFB20038 */ sw $s2, 0x38($sp) +/* A99A3C 802404AC 0080902D */ daddu $s2, $a0, $zero +/* A99A40 802404B0 AFBF003C */ sw $ra, 0x3c($sp) +/* A99A44 802404B4 AFB10034 */ sw $s1, 0x34($sp) +/* A99A48 802404B8 AFB00030 */ sw $s0, 0x30($sp) +/* A99A4C 802404BC 8E510148 */ lw $s1, 0x148($s2) +/* A99A50 802404C0 0C00EABB */ jal get_npc_unsafe +/* A99A54 802404C4 86240008 */ lh $a0, 8($s1) +/* A99A58 802404C8 0040802D */ daddu $s0, $v0, $zero +/* A99A5C 802404CC 9602008E */ lhu $v0, 0x8e($s0) +/* A99A60 802404D0 2442FFFF */ addiu $v0, $v0, -1 +/* A99A64 802404D4 A602008E */ sh $v0, 0x8e($s0) +/* A99A68 802404D8 00021400 */ sll $v0, $v0, 0x10 +/* A99A6C 802404DC 1C40002B */ bgtz $v0, .L8024058C +/* A99A70 802404E0 00000000 */ nop +/* A99A74 802404E4 0C09005C */ jal func_80240170 +/* A99A78 802404E8 0240202D */ daddu $a0, $s2, $zero +/* A99A7C 802404EC 0040202D */ daddu $a0, $v0, $zero +/* A99A80 802404F0 0481001A */ bgez $a0, .L8024055C +/* A99A84 802404F4 2402000F */ addiu $v0, $zero, 0xf +/* A99A88 802404F8 24040002 */ addiu $a0, $zero, 2 +/* A99A8C 802404FC 860300A8 */ lh $v1, 0xa8($s0) +/* A99A90 80240500 AFA2001C */ sw $v0, 0x1c($sp) +/* A99A94 80240504 27A20028 */ addiu $v0, $sp, 0x28 +/* A99A98 80240508 0200282D */ daddu $a1, $s0, $zero +/* A99A9C 8024050C 3C013F80 */ lui $at, 0x3f80 +/* A99AA0 80240510 44810000 */ mtc1 $at, $f0 +/* A99AA4 80240514 3C014000 */ lui $at, 0x4000 +/* A99AA8 80240518 44811000 */ mtc1 $at, $f2 +/* A99AAC 8024051C 3C01C1A0 */ lui $at, 0xc1a0 +/* A99AB0 80240520 44812000 */ mtc1 $at, $f4 +/* A99AB4 80240524 44833000 */ mtc1 $v1, $f6 +/* A99AB8 80240528 00000000 */ nop +/* A99ABC 8024052C 468031A0 */ cvt.s.w $f6, $f6 +/* A99AC0 80240530 44073000 */ mfc1 $a3, $f6 +/* A99AC4 80240534 0000302D */ daddu $a2, $zero, $zero +/* A99AC8 80240538 AFA20020 */ sw $v0, 0x20($sp) +/* A99ACC 8024053C E7A00010 */ swc1 $f0, 0x10($sp) +/* A99AD0 80240540 E7A20014 */ swc1 $f2, 0x14($sp) +/* A99AD4 80240544 0C01BFA4 */ jal fx_emote +/* A99AD8 80240548 E7A40018 */ swc1 $f4, 0x18($sp) +/* A99ADC 8024054C 8E2200CC */ lw $v0, 0xcc($s1) +/* A99AE0 80240550 8C420000 */ lw $v0, ($v0) +/* A99AE4 80240554 0809015F */ j .L8024057C +/* A99AE8 80240558 AE020028 */ sw $v0, 0x28($s0) +.L8024055C: +/* A99AEC 8024055C 8E2200CC */ lw $v0, 0xcc($s1) +/* A99AF0 80240560 8C420024 */ lw $v0, 0x24($v0) +/* A99AF4 80240564 0C00FB3A */ jal get_enemy +/* A99AF8 80240568 AE020028 */ sw $v0, 0x28($s0) +/* A99AFC 8024056C 86240008 */ lh $a0, 8($s1) +/* A99B00 80240570 24030001 */ addiu $v1, $zero, 1 +/* A99B04 80240574 AC43006C */ sw $v1, 0x6c($v0) +/* A99B08 80240578 AC44007C */ sw $a0, 0x7c($v0) +.L8024057C: +/* A99B0C 8024057C 96220076 */ lhu $v0, 0x76($s1) +/* A99B10 80240580 A602008E */ sh $v0, 0x8e($s0) +/* A99B14 80240584 24020021 */ addiu $v0, $zero, 0x21 +/* A99B18 80240588 AE420070 */ sw $v0, 0x70($s2) +.L8024058C: +/* A99B1C 8024058C 8FBF003C */ lw $ra, 0x3c($sp) +/* A99B20 80240590 8FB20038 */ lw $s2, 0x38($sp) +/* A99B24 80240594 8FB10034 */ lw $s1, 0x34($sp) +/* A99B28 80240598 8FB00030 */ lw $s0, 0x30($sp) +/* A99B2C 8024059C 03E00008 */ jr $ra +/* A99B30 802405A0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_802405A4_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_802405A4_A99590.s new file mode 100644 index 0000000000..b433994234 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_802405A4_A99590.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4_A99B34 +/* A99B34 802405A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A99B38 802405A8 AFB10014 */ sw $s1, 0x14($sp) +/* A99B3C 802405AC 0080882D */ daddu $s1, $a0, $zero +/* A99B40 802405B0 AFBF0018 */ sw $ra, 0x18($sp) +/* A99B44 802405B4 AFB00010 */ sw $s0, 0x10($sp) +/* A99B48 802405B8 8E300148 */ lw $s0, 0x148($s1) +/* A99B4C 802405BC 0C00EABB */ jal get_npc_unsafe +/* A99B50 802405C0 86040008 */ lh $a0, 8($s0) +/* A99B54 802405C4 96030076 */ lhu $v1, 0x76($s0) +/* A99B58 802405C8 A443008E */ sh $v1, 0x8e($v0) +/* A99B5C 802405CC 24020021 */ addiu $v0, $zero, 0x21 +/* A99B60 802405D0 AE220070 */ sw $v0, 0x70($s1) +/* A99B64 802405D4 8FBF0018 */ lw $ra, 0x18($sp) +/* A99B68 802405D8 8FB10014 */ lw $s1, 0x14($sp) +/* A99B6C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* A99B70 802405E0 03E00008 */ jr $ra +/* A99B74 802405E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_802405E8_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_802405E8_A99590.s new file mode 100644 index 0000000000..4e26375ba2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_802405E8_A99590.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E8_A99B78 +/* A99B78 802405E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A99B7C 802405EC AFB3001C */ sw $s3, 0x1c($sp) +/* A99B80 802405F0 0080982D */ daddu $s3, $a0, $zero +/* A99B84 802405F4 AFBF0020 */ sw $ra, 0x20($sp) +/* A99B88 802405F8 AFB20018 */ sw $s2, 0x18($sp) +/* A99B8C 802405FC AFB10014 */ sw $s1, 0x14($sp) +/* A99B90 80240600 AFB00010 */ sw $s0, 0x10($sp) +/* A99B94 80240604 8E720148 */ lw $s2, 0x148($s3) +/* A99B98 80240608 0C00EABB */ jal get_npc_unsafe +/* A99B9C 8024060C 86440008 */ lh $a0, 8($s2) +/* A99BA0 80240610 86440008 */ lh $a0, 8($s2) +/* A99BA4 80240614 0040882D */ daddu $s1, $v0, $zero +/* A99BA8 80240618 0C00FB3A */ jal get_enemy +/* A99BAC 8024061C 24840001 */ addiu $a0, $a0, 1 +/* A99BB0 80240620 0040802D */ daddu $s0, $v0, $zero +/* A99BB4 80240624 0C00EABB */ jal get_npc_unsafe +/* A99BB8 80240628 86040008 */ lh $a0, 8($s0) +/* A99BBC 8024062C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A99BC0 80240630 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A99BC4 80240634 8C460038 */ lw $a2, 0x38($v0) +/* A99BC8 80240638 0C00A720 */ jal atan2 +/* A99BCC 8024063C 8C470040 */ lw $a3, 0x40($v0) +/* A99BD0 80240640 E620000C */ swc1 $f0, 0xc($s1) +/* A99BD4 80240644 8E02006C */ lw $v0, 0x6c($s0) +/* A99BD8 80240648 14400008 */ bnez $v0, .L8024066C +/* A99BDC 8024064C 00000000 */ nop +/* A99BE0 80240650 8E4200CC */ lw $v0, 0xcc($s2) +/* A99BE4 80240654 8C420000 */ lw $v0, ($v0) +/* A99BE8 80240658 AE220028 */ sw $v0, 0x28($s1) +/* A99BEC 8024065C 96420076 */ lhu $v0, 0x76($s2) +/* A99BF0 80240660 A622008E */ sh $v0, 0x8e($s1) +/* A99BF4 80240664 24020021 */ addiu $v0, $zero, 0x21 +/* A99BF8 80240668 AE620070 */ sw $v0, 0x70($s3) +.L8024066C: +/* A99BFC 8024066C 8FBF0020 */ lw $ra, 0x20($sp) +/* A99C00 80240670 8FB3001C */ lw $s3, 0x1c($sp) +/* A99C04 80240674 8FB20018 */ lw $s2, 0x18($sp) +/* A99C08 80240678 8FB10014 */ lw $s1, 0x14($sp) +/* A99C0C 8024067C 8FB00010 */ lw $s0, 0x10($sp) +/* A99C10 80240680 03E00008 */ jr $ra +/* A99C14 80240684 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80240688.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240688.s new file mode 100644 index 0000000000..eb97e8b78f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240688.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240688 +/* A99C18 80240688 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A99C1C 8024068C AFB00010 */ sw $s0, 0x10($sp) +/* A99C20 80240690 0080802D */ daddu $s0, $a0, $zero +/* A99C24 80240694 AFBF0014 */ sw $ra, 0x14($sp) +/* A99C28 80240698 8E020148 */ lw $v0, 0x148($s0) +/* A99C2C 8024069C 0C00EABB */ jal get_npc_unsafe +/* A99C30 802406A0 84440008 */ lh $a0, 8($v0) +/* A99C34 802406A4 9443008E */ lhu $v1, 0x8e($v0) +/* A99C38 802406A8 2463FFFF */ addiu $v1, $v1, -1 +/* A99C3C 802406AC A443008E */ sh $v1, 0x8e($v0) +/* A99C40 802406B0 00031C00 */ sll $v1, $v1, 0x10 +/* A99C44 802406B4 58600001 */ blezl $v1, .L802406BC +/* A99C48 802406B8 AE000070 */ sw $zero, 0x70($s0) +.L802406BC: +/* A99C4C 802406BC 8FBF0014 */ lw $ra, 0x14($sp) +/* A99C50 802406C0 8FB00010 */ lw $s0, 0x10($sp) +/* A99C54 802406C4 03E00008 */ jr $ra +/* A99C58 802406C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_802406CC_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_802406CC_A99590.s new file mode 100644 index 0000000000..958c1c4ac4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_802406CC_A99590.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406CC_A99C5C +/* A99C5C 802406CC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A99C60 802406D0 AFB7004C */ sw $s7, 0x4c($sp) +/* A99C64 802406D4 0080B82D */ daddu $s7, $a0, $zero +/* A99C68 802406D8 AFB10034 */ sw $s1, 0x34($sp) +/* A99C6C 802406DC 00A0882D */ daddu $s1, $a1, $zero +/* A99C70 802406E0 AFBF0050 */ sw $ra, 0x50($sp) +/* A99C74 802406E4 AFB60048 */ sw $s6, 0x48($sp) +/* A99C78 802406E8 AFB50044 */ sw $s5, 0x44($sp) +/* A99C7C 802406EC AFB40040 */ sw $s4, 0x40($sp) +/* A99C80 802406F0 AFB3003C */ sw $s3, 0x3c($sp) +/* A99C84 802406F4 AFB20038 */ sw $s2, 0x38($sp) +/* A99C88 802406F8 AFB00030 */ sw $s0, 0x30($sp) +/* A99C8C 802406FC 8EF30148 */ lw $s3, 0x148($s7) +/* A99C90 80240700 86640008 */ lh $a0, 8($s3) +/* A99C94 80240704 8EF0000C */ lw $s0, 0xc($s7) +/* A99C98 80240708 0C00FB5A */ jal get_enemy_safe +/* A99C9C 8024070C 0000B02D */ daddu $s6, $zero, $zero +/* A99CA0 80240710 10400131 */ beqz $v0, .L80240BD8 +/* A99CA4 80240714 24020005 */ addiu $v0, $zero, 5 +/* A99CA8 80240718 8E63006C */ lw $v1, 0x6c($s3) +/* A99CAC 8024071C 1062012F */ beq $v1, $v0, .L80240BDC +/* A99CB0 80240720 0000102D */ daddu $v0, $zero, $zero +/* A99CB4 80240724 8E050000 */ lw $a1, ($s0) +/* A99CB8 80240728 0C0B1EAF */ jal get_variable +/* A99CBC 8024072C 02E0202D */ daddu $a0, $s7, $zero +/* A99CC0 80240730 86640008 */ lh $a0, 8($s3) +/* A99CC4 80240734 0C00EABB */ jal get_npc_unsafe +/* A99CC8 80240738 0040A82D */ daddu $s5, $v0, $zero +/* A99CCC 8024073C 8E630070 */ lw $v1, 0x70($s3) +/* A99CD0 80240740 30630002 */ andi $v1, $v1, 2 +/* A99CD4 80240744 10600008 */ beqz $v1, .L80240768 +/* A99CD8 80240748 0040902D */ daddu $s2, $v0, $zero +/* A99CDC 8024074C 964200A8 */ lhu $v0, 0xa8($s2) +/* A99CE0 80240750 00021400 */ sll $v0, $v0, 0x10 +/* A99CE4 80240754 00021C03 */ sra $v1, $v0, 0x10 +/* A99CE8 80240758 000217C2 */ srl $v0, $v0, 0x1f +/* A99CEC 8024075C 00621821 */ addu $v1, $v1, $v0 +/* A99CF0 80240760 00031843 */ sra $v1, $v1, 1 +/* A99CF4 80240764 A24300AB */ sb $v1, 0xab($s2) +.L80240768: +/* A99CF8 80240768 16200005 */ bnez $s1, .L80240780 +/* A99CFC 8024076C 3C030004 */ lui $v1, 4 +/* A99D00 80240770 8E6200B0 */ lw $v0, 0xb0($s3) +/* A99D04 80240774 30420004 */ andi $v0, $v0, 4 +/* A99D08 80240778 10400019 */ beqz $v0, .L802407E0 +/* A99D0C 8024077C 00000000 */ nop +.L80240780: +/* A99D10 80240780 34630102 */ ori $v1, $v1, 0x102 +/* A99D14 80240784 AEE00070 */ sw $zero, 0x70($s7) +/* A99D18 80240788 8E420000 */ lw $v0, ($s2) +/* A99D1C 8024078C 0240202D */ daddu $a0, $s2, $zero +/* A99D20 80240790 A640008E */ sh $zero, 0x8e($s2) +/* A99D24 80240794 00431025 */ or $v0, $v0, $v1 +/* A99D28 80240798 0C00EAFF */ jal disable_npc_shadow +/* A99D2C 8024079C AE420000 */ sw $v0, ($s2) +/* A99D30 802407A0 3C041F30 */ lui $a0, 0x1f30 +/* A99D34 802407A4 8E420000 */ lw $v0, ($s2) +/* A99D38 802407A8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A99D3C 802407AC 00431024 */ and $v0, $v0, $v1 +/* A99D40 802407B0 AE420000 */ sw $v0, ($s2) +/* A99D44 802407B4 8E620000 */ lw $v0, ($s3) +/* A99D48 802407B8 8E6300B0 */ lw $v1, 0xb0($s3) +/* A99D4C 802407BC 34840040 */ ori $a0, $a0, 0x40 +/* A99D50 802407C0 AE60006C */ sw $zero, 0x6c($s3) +/* A99D54 802407C4 00441025 */ or $v0, $v0, $a0 +/* A99D58 802407C8 AE620000 */ sw $v0, ($s3) +/* A99D5C 802407CC 30620004 */ andi $v0, $v1, 4 +/* A99D60 802407D0 10400003 */ beqz $v0, .L802407E0 +/* A99D64 802407D4 2402FFFB */ addiu $v0, $zero, -5 +/* A99D68 802407D8 00621024 */ and $v0, $v1, $v0 +/* A99D6C 802407DC AE6200B0 */ sw $v0, 0xb0($s3) +.L802407E0: +/* A99D70 802407E0 8EE30070 */ lw $v1, 0x70($s7) +/* A99D74 802407E4 24100001 */ addiu $s0, $zero, 1 +/* A99D78 802407E8 10700012 */ beq $v1, $s0, .L80240834 +/* A99D7C 802407EC 28620002 */ slti $v0, $v1, 2 +/* A99D80 802407F0 10400005 */ beqz $v0, .L80240808 +/* A99D84 802407F4 24020002 */ addiu $v0, $zero, 2 +/* A99D88 802407F8 10600007 */ beqz $v1, .L80240818 +/* A99D8C 802407FC 0000102D */ daddu $v0, $zero, $zero +/* A99D90 80240800 080902F7 */ j .L80240BDC +/* A99D94 80240804 00000000 */ nop +.L80240808: +/* A99D98 80240808 1062005B */ beq $v1, $v0, .L80240978 +/* A99D9C 8024080C 0000102D */ daddu $v0, $zero, $zero +/* A99DA0 80240810 080902F7 */ j .L80240BDC +/* A99DA4 80240814 00000000 */ nop +.L80240818: +/* A99DA8 80240818 8E420000 */ lw $v0, ($s2) +/* A99DAC 8024081C 0240202D */ daddu $a0, $s2, $zero +/* A99DB0 80240820 34420002 */ ori $v0, $v0, 2 +/* A99DB4 80240824 0C00EAFF */ jal disable_npc_shadow +/* A99DB8 80240828 AE420000 */ sw $v0, ($s2) +/* A99DBC 8024082C AE60006C */ sw $zero, 0x6c($s3) +/* A99DC0 80240830 AEF00070 */ sw $s0, 0x70($s7) +.L80240834: +/* A99DC4 80240834 8E74006C */ lw $s4, 0x6c($s3) +/* A99DC8 80240838 24020001 */ addiu $v0, $zero, 1 +/* A99DCC 8024083C 168200E7 */ bne $s4, $v0, .L80240BDC +/* A99DD0 80240840 0000102D */ daddu $v0, $zero, $zero +/* A99DD4 80240844 8E64007C */ lw $a0, 0x7c($s3) +/* A99DD8 80240848 24110002 */ addiu $s1, $zero, 2 +/* A99DDC 8024084C 0C00EABB */ jal get_npc_unsafe +/* A99DE0 80240850 AE71006C */ sw $s1, 0x6c($s3) +/* A99DE4 80240854 0040802D */ daddu $s0, $v0, $zero +/* A99DE8 80240858 C6000038 */ lwc1 $f0, 0x38($s0) +/* A99DEC 8024085C E6400038 */ swc1 $f0, 0x38($s2) +/* A99DF0 80240860 C6000040 */ lwc1 $f0, 0x40($s0) +/* A99DF4 80240864 E6400040 */ swc1 $f0, 0x40($s2) +/* A99DF8 80240868 C6020034 */ lwc1 $f2, 0x34($s0) +/* A99DFC 8024086C 3C014387 */ lui $at, 0x4387 +/* A99E00 80240870 44810000 */ mtc1 $at, $f0 +/* A99E04 80240874 26440038 */ addiu $a0, $s2, 0x38 +/* A99E08 80240878 46020001 */ sub.s $f0, $f0, $f2 +/* A99E0C 8024087C C6680078 */ lwc1 $f8, 0x78($s3) +/* A99E10 80240880 46804220 */ cvt.s.w $f8, $f8 +/* A99E14 80240884 44064000 */ mfc1 $a2, $f8 +/* A99E18 80240888 44070000 */ mfc1 $a3, $f0 +/* A99E1C 8024088C 0C00A7E7 */ jal add_vec2D_polar +/* A99E20 80240890 26450040 */ addiu $a1, $s2, 0x40 +/* A99E24 80240894 C600003C */ lwc1 $f0, 0x3c($s0) +/* A99E28 80240898 C6620074 */ lwc1 $f2, 0x74($s3) +/* A99E2C 8024089C 468010A0 */ cvt.s.w $f2, $f2 +/* A99E30 802408A0 46020000 */ add.s $f0, $f0, $f2 +/* A99E34 802408A4 E640003C */ swc1 $f0, 0x3c($s2) +/* A99E38 802408A8 A2740007 */ sb $s4, 7($s3) +/* A99E3C 802408AC C6400038 */ lwc1 $f0, 0x38($s2) +/* A99E40 802408B0 4600020D */ trunc.w.s $f8, $f0 +/* A99E44 802408B4 44024000 */ mfc1 $v0, $f8 +/* A99E48 802408B8 00000000 */ nop +/* A99E4C 802408BC A6620010 */ sh $v0, 0x10($s3) +/* A99E50 802408C0 C640003C */ lwc1 $f0, 0x3c($s2) +/* A99E54 802408C4 4600020D */ trunc.w.s $f8, $f0 +/* A99E58 802408C8 44024000 */ mfc1 $v0, $f8 +/* A99E5C 802408CC 00000000 */ nop +/* A99E60 802408D0 A6620012 */ sh $v0, 0x12($s3) +/* A99E64 802408D4 C6400040 */ lwc1 $f0, 0x40($s2) +/* A99E68 802408D8 4600020D */ trunc.w.s $f8, $f0 +/* A99E6C 802408DC 44024000 */ mfc1 $v0, $f8 +/* A99E70 802408E0 00000000 */ nop +/* A99E74 802408E4 A6620014 */ sh $v0, 0x14($s3) +/* A99E78 802408E8 AE400044 */ sw $zero, 0x44($s2) +/* A99E7C 802408EC AE400048 */ sw $zero, 0x48($s2) +/* A99E80 802408F0 AE40004C */ sw $zero, 0x4c($s2) +/* A99E84 802408F4 C6A00000 */ lwc1 $f0, ($s5) +/* A99E88 802408F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A99E8C 802408FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A99E90 80240900 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A99E94 80240904 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A99E98 80240908 E6400018 */ swc1 $f0, 0x18($s2) +/* A99E9C 8024090C 8C460028 */ lw $a2, 0x28($v0) +/* A99EA0 80240910 0C00A720 */ jal atan2 +/* A99EA4 80240914 8C470030 */ lw $a3, 0x30($v0) +/* A99EA8 80240918 E640000C */ swc1 $f0, 0xc($s2) +/* A99EAC 8024091C C6A0000C */ lwc1 $f0, 0xc($s5) +/* A99EB0 80240920 8E420000 */ lw $v0, ($s2) +/* A99EB4 80240924 0240202D */ daddu $a0, $s2, $zero +/* A99EB8 80240928 E640001C */ swc1 $f0, 0x1c($s2) +/* A99EBC 8024092C C6A00010 */ lwc1 $f0, 0x10($s5) +/* A99EC0 80240930 2403FFFD */ addiu $v1, $zero, -3 +/* A99EC4 80240934 E6400014 */ swc1 $f0, 0x14($s2) +/* A99EC8 80240938 C600003C */ lwc1 $f0, 0x3c($s0) +/* A99ECC 8024093C 00431024 */ and $v0, $v0, $v1 +/* A99ED0 80240940 AE420000 */ sw $v0, ($s2) +/* A99ED4 80240944 0C00EAE8 */ jal enable_npc_shadow +/* A99ED8 80240948 E6400064 */ swc1 $f0, 0x64($s2) +/* A99EDC 8024094C 8E420000 */ lw $v0, ($s2) +/* A99EE0 80240950 3C03E0FF */ lui $v1, 0xe0ff +/* A99EE4 80240954 34420800 */ ori $v0, $v0, 0x800 +/* A99EE8 80240958 AE420000 */ sw $v0, ($s2) +/* A99EEC 8024095C 8E620000 */ lw $v0, ($s3) +/* A99EF0 80240960 3463FFFF */ ori $v1, $v1, 0xffff +/* A99EF4 80240964 00431024 */ and $v0, $v0, $v1 +/* A99EF8 80240968 AE620000 */ sw $v0, ($s3) +/* A99EFC 8024096C 2402005A */ addiu $v0, $zero, 0x5a +/* A99F00 80240970 A642008E */ sh $v0, 0x8e($s2) +/* A99F04 80240974 AEF10070 */ sw $s1, 0x70($s7) +.L80240978: +/* A99F08 80240978 0000202D */ daddu $a0, $zero, $zero +/* A99F0C 8024097C 27B00020 */ addiu $s0, $sp, 0x20 +/* A99F10 80240980 864200A8 */ lh $v0, 0xa8($s2) +/* A99F14 80240984 3C013FE0 */ lui $at, 0x3fe0 +/* A99F18 80240988 44810800 */ mtc1 $at, $f1 +/* A99F1C 8024098C 44800000 */ mtc1 $zero, $f0 +/* A99F20 80240990 44821000 */ mtc1 $v0, $f2 +/* A99F24 80240994 00000000 */ nop +/* A99F28 80240998 468010A1 */ cvt.d.w $f2, $f2 +/* A99F2C 8024099C 46201082 */ mul.d $f2, $f2, $f0 +/* A99F30 802409A0 00000000 */ nop +/* A99F34 802409A4 0200282D */ daddu $a1, $s0, $zero +/* A99F38 802409A8 C6440038 */ lwc1 $f4, 0x38($s2) +/* A99F3C 802409AC C640003C */ lwc1 $f0, 0x3c($s2) +/* A99F40 802409B0 27B10024 */ addiu $s1, $sp, 0x24 +/* A99F44 802409B4 E7A40020 */ swc1 $f4, 0x20($sp) +/* A99F48 802409B8 C6440040 */ lwc1 $f4, 0x40($s2) +/* A99F4C 802409BC 46000021 */ cvt.d.s $f0, $f0 +/* A99F50 802409C0 46220000 */ add.d $f0, $f0, $f2 +/* A99F54 802409C4 E7A40028 */ swc1 $f4, 0x28($sp) +/* A99F58 802409C8 C6420018 */ lwc1 $f2, 0x18($s2) +/* A99F5C 802409CC 46200020 */ cvt.s.d $f0, $f0 +/* A99F60 802409D0 E7A00024 */ swc1 $f0, 0x24($sp) +/* A99F64 802409D4 E7A20010 */ swc1 $f2, 0x10($sp) +/* A99F68 802409D8 C640000C */ lwc1 $f0, 0xc($s2) +/* A99F6C 802409DC 0220302D */ daddu $a2, $s1, $zero +/* A99F70 802409E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A99F74 802409E4 864200A6 */ lh $v0, 0xa6($s2) +/* A99F78 802409E8 27B40028 */ addiu $s4, $sp, 0x28 +/* A99F7C 802409EC 44820000 */ mtc1 $v0, $f0 +/* A99F80 802409F0 00000000 */ nop +/* A99F84 802409F4 46800020 */ cvt.s.w $f0, $f0 +/* A99F88 802409F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A99F8C 802409FC 864200A8 */ lh $v0, 0xa8($s2) +/* A99F90 80240A00 0280382D */ daddu $a3, $s4, $zero +/* A99F94 80240A04 44820000 */ mtc1 $v0, $f0 +/* A99F98 80240A08 00000000 */ nop +/* A99F9C 80240A0C 46800020 */ cvt.s.w $f0, $f0 +/* A99FA0 80240A10 0C0376B9 */ jal func_800DDAE4 +/* A99FA4 80240A14 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A99FA8 80240A18 54400001 */ bnel $v0, $zero, .L80240A20 +/* A99FAC 80240A1C 24160001 */ addiu $s6, $zero, 1 +.L80240A20: +/* A99FB0 80240A20 0200282D */ daddu $a1, $s0, $zero +/* A99FB4 80240A24 0220302D */ daddu $a2, $s1, $zero +/* A99FB8 80240A28 C6400038 */ lwc1 $f0, 0x38($s2) +/* A99FBC 80240A2C C642003C */ lwc1 $f2, 0x3c($s2) +/* A99FC0 80240A30 C6440040 */ lwc1 $f4, 0x40($s2) +/* A99FC4 80240A34 3C01447A */ lui $at, 0x447a +/* A99FC8 80240A38 44813000 */ mtc1 $at, $f6 +/* A99FCC 80240A3C 27A2002C */ addiu $v0, $sp, 0x2c +/* A99FD0 80240A40 E7A00020 */ swc1 $f0, 0x20($sp) +/* A99FD4 80240A44 E7A20024 */ swc1 $f2, 0x24($sp) +/* A99FD8 80240A48 E7A40028 */ swc1 $f4, 0x28($sp) +/* A99FDC 80240A4C E7A6002C */ swc1 $f6, 0x2c($sp) +/* A99FE0 80240A50 AFA20010 */ sw $v0, 0x10($sp) +/* A99FE4 80240A54 8E440080 */ lw $a0, 0x80($s2) +/* A99FE8 80240A58 0C0372DF */ jal func_800DCB7C +/* A99FEC 80240A5C 0280382D */ daddu $a3, $s4, $zero +/* A99FF0 80240A60 10400019 */ beqz $v0, .L80240AC8 +/* A99FF4 80240A64 00000000 */ nop +/* A99FF8 80240A68 C640001C */ lwc1 $f0, 0x1c($s2) +/* A99FFC 80240A6C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A9A000 80240A70 46000005 */ abs.s $f0, $f0 +/* A9A004 80240A74 4600103C */ c.lt.s $f2, $f0 +/* A9A008 80240A78 00000000 */ nop +/* A9A00C 80240A7C 45000012 */ bc1f .L80240AC8 +/* A9A010 80240A80 00000000 */ nop +/* A9A014 80240A84 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A9A018 80240A88 C6400064 */ lwc1 $f0, 0x64($s2) +/* A9A01C 80240A8C 46002001 */ sub.s $f0, $f4, $f0 +/* A9A020 80240A90 3C014034 */ lui $at, 0x4034 +/* A9A024 80240A94 44811800 */ mtc1 $at, $f3 +/* A9A028 80240A98 44801000 */ mtc1 $zero, $f2 +/* A9A02C 80240A9C 46000005 */ abs.s $f0, $f0 +/* A9A030 80240AA0 46000021 */ cvt.d.s $f0, $f0 +/* A9A034 80240AA4 4622003C */ c.lt.d $f0, $f2 +/* A9A038 80240AA8 00000000 */ nop +/* A9A03C 80240AAC 45000006 */ bc1f .L80240AC8 +/* A9A040 80240AB0 0240202D */ daddu $a0, $s2, $zero +/* A9A044 80240AB4 8E450018 */ lw $a1, 0x18($s2) +/* A9A048 80240AB8 8E46000C */ lw $a2, 0xc($s2) +/* A9A04C 80240ABC 2416000A */ addiu $s6, $zero, 0xa +/* A9A050 80240AC0 0C00EA95 */ jal npc_move_heading +/* A9A054 80240AC4 E644003C */ swc1 $f4, 0x3c($s2) +.L80240AC8: +/* A9A058 80240AC8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A9A05C 80240ACC 3C013FF0 */ lui $at, 0x3ff0 +/* A9A060 80240AD0 44811800 */ mtc1 $at, $f3 +/* A9A064 80240AD4 44801000 */ mtc1 $zero, $f2 +/* A9A068 80240AD8 46000021 */ cvt.d.s $f0, $f0 +/* A9A06C 80240ADC 4622003C */ c.lt.d $f0, $f2 +/* A9A070 80240AE0 00000000 */ nop +/* A9A074 80240AE4 45030001 */ bc1tl .L80240AEC +/* A9A078 80240AE8 2416000B */ addiu $s6, $zero, 0xb +.L80240AEC: +/* A9A07C 80240AEC 9642008E */ lhu $v0, 0x8e($s2) +/* A9A080 80240AF0 2442FFFF */ addiu $v0, $v0, -1 +/* A9A084 80240AF4 A642008E */ sh $v0, 0x8e($s2) +/* A9A088 80240AF8 00021400 */ sll $v0, $v0, 0x10 +/* A9A08C 80240AFC 58400001 */ blezl $v0, .L80240B04 +/* A9A090 80240B00 24160014 */ addiu $s6, $zero, 0x14 +.L80240B04: +/* A9A094 80240B04 56C00019 */ bnel $s6, $zero, .L80240B6C +/* A9A098 80240B08 AFA00010 */ sw $zero, 0x10($sp) +/* A9A09C 80240B0C 8E620070 */ lw $v0, 0x70($s3) +/* A9A0A0 80240B10 30420001 */ andi $v0, $v0, 1 +/* A9A0A4 80240B14 10400009 */ beqz $v0, .L80240B3C +/* A9A0A8 80240B18 00000000 */ nop +/* A9A0AC 80240B1C C640004C */ lwc1 $f0, 0x4c($s2) +/* A9A0B0 80240B20 3C014044 */ lui $at, 0x4044 +/* A9A0B4 80240B24 44811800 */ mtc1 $at, $f3 +/* A9A0B8 80240B28 44801000 */ mtc1 $zero, $f2 +/* A9A0BC 80240B2C 46000021 */ cvt.d.s $f0, $f0 +/* A9A0C0 80240B30 46220000 */ add.d $f0, $f0, $f2 +/* A9A0C4 80240B34 46200020 */ cvt.s.d $f0, $f0 +/* A9A0C8 80240B38 E640004C */ swc1 $f0, 0x4c($s2) +.L80240B3C: +/* A9A0CC 80240B3C 8E450018 */ lw $a1, 0x18($s2) +/* A9A0D0 80240B40 8E46000C */ lw $a2, 0xc($s2) +/* A9A0D4 80240B44 0C00EA95 */ jal npc_move_heading +/* A9A0D8 80240B48 0240202D */ daddu $a0, $s2, $zero +/* A9A0DC 80240B4C C644003C */ lwc1 $f4, 0x3c($s2) +/* A9A0E0 80240B50 C640001C */ lwc1 $f0, 0x1c($s2) +/* A9A0E4 80240B54 46002100 */ add.s $f4, $f4, $f0 +/* A9A0E8 80240B58 C6420014 */ lwc1 $f2, 0x14($s2) +/* A9A0EC 80240B5C 46020001 */ sub.s $f0, $f0, $f2 +/* A9A0F0 80240B60 E644003C */ swc1 $f4, 0x3c($s2) +/* A9A0F4 80240B64 080902F6 */ j .L80240BD8 +/* A9A0F8 80240B68 E640001C */ swc1 $f0, 0x1c($s2) +.L80240B6C: +/* A9A0FC 80240B6C AFA00014 */ sw $zero, 0x14($sp) +/* A9A100 80240B70 8E450038 */ lw $a1, 0x38($s2) +/* A9A104 80240B74 8E46003C */ lw $a2, 0x3c($s2) +/* A9A108 80240B78 8E470040 */ lw $a3, 0x40($s2) +/* A9A10C 80240B7C 0C01BECC */ jal fx_walk_normal +/* A9A110 80240B80 24040002 */ addiu $a0, $zero, 2 +/* A9A114 80240B84 3C01C47A */ lui $at, 0xc47a +/* A9A118 80240B88 44810000 */ mtc1 $at, $f0 +/* A9A11C 80240B8C AE60006C */ sw $zero, 0x6c($s3) +/* A9A120 80240B90 8E420000 */ lw $v0, ($s2) +/* A9A124 80240B94 0240202D */ daddu $a0, $s2, $zero +/* A9A128 80240B98 AE400038 */ sw $zero, 0x38($s2) +/* A9A12C 80240B9C AE400040 */ sw $zero, 0x40($s2) +/* A9A130 80240BA0 AE40001C */ sw $zero, 0x1c($s2) +/* A9A134 80240BA4 34420002 */ ori $v0, $v0, 2 +/* A9A138 80240BA8 E640003C */ swc1 $f0, 0x3c($s2) +/* A9A13C 80240BAC 0C00EAFF */ jal disable_npc_shadow +/* A9A140 80240BB0 AE420000 */ sw $v0, ($s2) +/* A9A144 80240BB4 8E420000 */ lw $v0, ($s2) +/* A9A148 80240BB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9A14C 80240BBC 00431024 */ and $v0, $v0, $v1 +/* A9A150 80240BC0 AE420000 */ sw $v0, ($s2) +/* A9A154 80240BC4 8E620000 */ lw $v0, ($s3) +/* A9A158 80240BC8 3C031F00 */ lui $v1, 0x1f00 +/* A9A15C 80240BCC 00431025 */ or $v0, $v0, $v1 +/* A9A160 80240BD0 AE620000 */ sw $v0, ($s3) +/* A9A164 80240BD4 AEE00070 */ sw $zero, 0x70($s7) +.L80240BD8: +/* A9A168 80240BD8 0000102D */ daddu $v0, $zero, $zero +.L80240BDC: +/* A9A16C 80240BDC 8FBF0050 */ lw $ra, 0x50($sp) +/* A9A170 80240BE0 8FB7004C */ lw $s7, 0x4c($sp) +/* A9A174 80240BE4 8FB60048 */ lw $s6, 0x48($sp) +/* A9A178 80240BE8 8FB50044 */ lw $s5, 0x44($sp) +/* A9A17C 80240BEC 8FB40040 */ lw $s4, 0x40($sp) +/* A9A180 80240BF0 8FB3003C */ lw $s3, 0x3c($sp) +/* A9A184 80240BF4 8FB20038 */ lw $s2, 0x38($sp) +/* A9A188 80240BF8 8FB10034 */ lw $s1, 0x34($sp) +/* A9A18C 80240BFC 8FB00030 */ lw $s0, 0x30($sp) +/* A9A190 80240C00 03E00008 */ jr $ra +/* A9A194 80240C04 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80240C08_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240C08_A99590.s new file mode 100644 index 0000000000..c372efd1c9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80240C08_A99590.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C08_A9A198 +/* A9A198 80240C08 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A9A19C 80240C0C AFB3003C */ sw $s3, 0x3c($sp) +/* A9A1A0 80240C10 0080982D */ daddu $s3, $a0, $zero +/* A9A1A4 80240C14 AFB40040 */ sw $s4, 0x40($sp) +/* A9A1A8 80240C18 0000A02D */ daddu $s4, $zero, $zero +/* A9A1AC 80240C1C 3C03800A */ lui $v1, 0x800a +/* A9A1B0 80240C20 8463A634 */ lh $v1, -0x59cc($v1) +/* A9A1B4 80240C24 3C04800B */ lui $a0, %hi(gCameras) +/* A9A1B8 80240C28 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A9A1BC 80240C2C AFBF0044 */ sw $ra, 0x44($sp) +/* A9A1C0 80240C30 AFB20038 */ sw $s2, 0x38($sp) +/* A9A1C4 80240C34 AFB10034 */ sw $s1, 0x34($sp) +/* A9A1C8 80240C38 AFB00030 */ sw $s0, 0x30($sp) +/* A9A1CC 80240C3C F7B80058 */ sdc1 $f24, 0x58($sp) +/* A9A1D0 80240C40 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A9A1D4 80240C44 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A9A1D8 80240C48 8E710148 */ lw $s1, 0x148($s3) +/* A9A1DC 80240C4C 00031080 */ sll $v0, $v1, 2 +/* A9A1E0 80240C50 00431021 */ addu $v0, $v0, $v1 +/* A9A1E4 80240C54 00021080 */ sll $v0, $v0, 2 +/* A9A1E8 80240C58 00431023 */ subu $v0, $v0, $v1 +/* A9A1EC 80240C5C 000218C0 */ sll $v1, $v0, 3 +/* A9A1F0 80240C60 00431021 */ addu $v0, $v0, $v1 +/* A9A1F4 80240C64 000210C0 */ sll $v0, $v0, 3 +/* A9A1F8 80240C68 10A00002 */ beqz $a1, .L80240C74 +/* A9A1FC 80240C6C 00449021 */ addu $s2, $v0, $a0 +/* A9A200 80240C70 AE600070 */ sw $zero, 0x70($s3) +.L80240C74: +/* A9A204 80240C74 0C00FB5A */ jal get_enemy_safe +/* A9A208 80240C78 86240008 */ lh $a0, 8($s1) +/* A9A20C 80240C7C 14400006 */ bnez $v0, .L80240C98 +/* A9A210 80240C80 24020005 */ addiu $v0, $zero, 5 +/* A9A214 80240C84 0260202D */ daddu $a0, $s3, $zero +/* A9A218 80240C88 3C05FE36 */ lui $a1, 0xfe36 +/* A9A21C 80240C8C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9A220 80240C90 080903FE */ j .L80240FF8 +/* A9A224 80240C94 0000302D */ daddu $a2, $zero, $zero +.L80240C98: +/* A9A228 80240C98 8E23006C */ lw $v1, 0x6c($s1) +/* A9A22C 80240C9C 14620005 */ bne $v1, $v0, .L80240CB4 +/* A9A230 80240CA0 0260202D */ daddu $a0, $s3, $zero +/* A9A234 80240CA4 3C05FE36 */ lui $a1, 0xfe36 +/* A9A238 80240CA8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9A23C 80240CAC 080903FE */ j .L80240FF8 +/* A9A240 80240CB0 0000302D */ daddu $a2, $zero, $zero +.L80240CB4: +/* A9A244 80240CB4 86240008 */ lh $a0, 8($s1) +/* A9A248 80240CB8 0C00FB5A */ jal get_enemy_safe +/* A9A24C 80240CBC 00000000 */ nop +/* A9A250 80240CC0 14400005 */ bnez $v0, .L80240CD8 +/* A9A254 80240CC4 0260202D */ daddu $a0, $s3, $zero +/* A9A258 80240CC8 3C05FE36 */ lui $a1, 0xfe36 +/* A9A25C 80240CCC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9A260 80240CD0 080903FE */ j .L80240FF8 +/* A9A264 80240CD4 0000302D */ daddu $a2, $zero, $zero +.L80240CD8: +/* A9A268 80240CD8 86240008 */ lh $a0, 8($s1) +/* A9A26C 80240CDC 0C00EABB */ jal get_npc_unsafe +/* A9A270 80240CE0 00000000 */ nop +/* A9A274 80240CE4 8E630070 */ lw $v1, 0x70($s3) +/* A9A278 80240CE8 10600006 */ beqz $v1, .L80240D04 +/* A9A27C 80240CEC 0040802D */ daddu $s0, $v0, $zero +/* A9A280 80240CF0 24020001 */ addiu $v0, $zero, 1 +/* A9A284 80240CF4 1062003F */ beq $v1, $v0, .L80240DF4 +/* A9A288 80240CF8 0000102D */ daddu $v0, $zero, $zero +/* A9A28C 80240CFC 0809040E */ j .L80241038 +/* A9A290 80240D00 00000000 */ nop +.L80240D04: +/* A9A294 80240D04 AFA00010 */ sw $zero, 0x10($sp) +/* A9A298 80240D08 AFA00014 */ sw $zero, 0x14($sp) +/* A9A29C 80240D0C 8E050038 */ lw $a1, 0x38($s0) +/* A9A2A0 80240D10 8E06003C */ lw $a2, 0x3c($s0) +/* A9A2A4 80240D14 8E070040 */ lw $a3, 0x40($s0) +/* A9A2A8 80240D18 0C01BECC */ jal fx_walk_normal +/* A9A2AC 80240D1C 24040002 */ addiu $a0, $zero, 2 +/* A9A2B0 80240D20 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9A2B4 80240D24 0C00A6C9 */ jal clamp_angle +/* A9A2B8 80240D28 00000000 */ nop +/* A9A2BC 80240D2C 3C018024 */ lui $at, 0x8024 +/* A9A2C0 80240D30 D4383250 */ ldc1 $f24, 0x3250($at) +/* A9A2C4 80240D34 46000521 */ cvt.d.s $f20, $f0 +/* A9A2C8 80240D38 4638A300 */ add.d $f12, $f20, $f24 +/* A9A2CC 80240D3C 3C018024 */ lui $at, 0x8024 +/* A9A2D0 80240D40 D4363258 */ ldc1 $f22, 0x3258($at) +/* A9A2D4 80240D44 0C00A6C9 */ jal clamp_angle +/* A9A2D8 80240D48 46206320 */ cvt.s.d $f12, $f12 +/* A9A2DC 80240D4C 4636A500 */ add.d $f20, $f20, $f22 +/* A9A2E0 80240D50 4620A320 */ cvt.s.d $f12, $f20 +/* A9A2E4 80240D54 0C00A6C9 */ jal clamp_angle +/* A9A2E8 80240D58 46000506 */ mov.s $f20, $f0 +/* A9A2EC 80240D5C 4600A521 */ cvt.d.s $f20, $f20 +/* A9A2F0 80240D60 4636A500 */ add.d $f20, $f20, $f22 +/* A9A2F4 80240D64 46000586 */ mov.s $f22, $f0 +/* A9A2F8 80240D68 0C00A6C9 */ jal clamp_angle +/* A9A2FC 80240D6C 4620A320 */ cvt.s.d $f12, $f20 +/* A9A300 80240D70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9A304 80240D74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9A308 80240D78 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9A30C 80240D7C C44E0084 */ lwc1 $f14, 0x84($v0) +/* A9A310 80240D80 0C00A70A */ jal get_clamped_angle_diff +/* A9A314 80240D84 46000506 */ mov.s $f20, $f0 +/* A9A318 80240D88 0C00A6C9 */ jal clamp_angle +/* A9A31C 80240D8C 46000306 */ mov.s $f12, $f0 +/* A9A320 80240D90 46000021 */ cvt.d.s $f0, $f0 +/* A9A324 80240D94 4638003C */ c.lt.d $f0, $f24 +/* A9A328 80240D98 00000000 */ nop +/* A9A32C 80240D9C 45020002 */ bc1fl .L80240DA8 +/* A9A330 80240DA0 E614000C */ swc1 $f20, 0xc($s0) +/* A9A334 80240DA4 E616000C */ swc1 $f22, 0xc($s0) +.L80240DA8: +/* A9A338 80240DA8 C6000018 */ lwc1 $f0, 0x18($s0) +/* A9A33C 80240DAC 3C018024 */ lui $at, 0x8024 +/* A9A340 80240DB0 D4223260 */ ldc1 $f2, 0x3260($at) +/* A9A344 80240DB4 46000021 */ cvt.d.s $f0, $f0 +/* A9A348 80240DB8 46220002 */ mul.d $f0, $f0, $f2 +/* A9A34C 80240DBC 00000000 */ nop +/* A9A350 80240DC0 3C013F66 */ lui $at, 0x3f66 +/* A9A354 80240DC4 34216666 */ ori $at, $at, 0x6666 +/* A9A358 80240DC8 44812000 */ mtc1 $at, $f4 +/* A9A35C 80240DCC 2402001E */ addiu $v0, $zero, 0x1e +/* A9A360 80240DD0 A602008E */ sh $v0, 0x8e($s0) +/* A9A364 80240DD4 3C014120 */ lui $at, 0x4120 +/* A9A368 80240DD8 44811000 */ mtc1 $at, $f2 +/* A9A36C 80240DDC 24020001 */ addiu $v0, $zero, 1 +/* A9A370 80240DE0 E6040014 */ swc1 $f4, 0x14($s0) +/* A9A374 80240DE4 E602001C */ swc1 $f2, 0x1c($s0) +/* A9A378 80240DE8 46200020 */ cvt.s.d $f0, $f0 +/* A9A37C 80240DEC E6000018 */ swc1 $f0, 0x18($s0) +/* A9A380 80240DF0 AE620070 */ sw $v0, 0x70($s3) +.L80240DF4: +/* A9A384 80240DF4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9A388 80240DF8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A9A38C 80240DFC C6040040 */ lwc1 $f4, 0x40($s0) +/* A9A390 80240E00 C6060018 */ lwc1 $f6, 0x18($s0) +/* A9A394 80240E04 0000202D */ daddu $a0, $zero, $zero +/* A9A398 80240E08 E7A00020 */ swc1 $f0, 0x20($sp) +/* A9A39C 80240E0C E7A20024 */ swc1 $f2, 0x24($sp) +/* A9A3A0 80240E10 E7A40028 */ swc1 $f4, 0x28($sp) +/* A9A3A4 80240E14 E7A60010 */ swc1 $f6, 0x10($sp) +/* A9A3A8 80240E18 C600000C */ lwc1 $f0, 0xc($s0) +/* A9A3AC 80240E1C 27A50020 */ addiu $a1, $sp, 0x20 +/* A9A3B0 80240E20 E7A00014 */ swc1 $f0, 0x14($sp) +/* A9A3B4 80240E24 860200A6 */ lh $v0, 0xa6($s0) +/* A9A3B8 80240E28 27A60024 */ addiu $a2, $sp, 0x24 +/* A9A3BC 80240E2C 44820000 */ mtc1 $v0, $f0 +/* A9A3C0 80240E30 00000000 */ nop +/* A9A3C4 80240E34 46800020 */ cvt.s.w $f0, $f0 +/* A9A3C8 80240E38 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9A3CC 80240E3C 860200A8 */ lh $v0, 0xa8($s0) +/* A9A3D0 80240E40 27A70028 */ addiu $a3, $sp, 0x28 +/* A9A3D4 80240E44 44820000 */ mtc1 $v0, $f0 +/* A9A3D8 80240E48 00000000 */ nop +/* A9A3DC 80240E4C 46800020 */ cvt.s.w $f0, $f0 +/* A9A3E0 80240E50 0C037711 */ jal func_800DDC44 +/* A9A3E4 80240E54 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9A3E8 80240E58 54400007 */ bnel $v0, $zero, .L80240E78 +/* A9A3EC 80240E5C 24140001 */ addiu $s4, $zero, 1 +/* A9A3F0 80240E60 8E050018 */ lw $a1, 0x18($s0) +/* A9A3F4 80240E64 8E06000C */ lw $a2, 0xc($s0) +/* A9A3F8 80240E68 0C00EA95 */ jal npc_move_heading +/* A9A3FC 80240E6C 0200202D */ daddu $a0, $s0, $zero +/* A9A400 80240E70 0809039F */ j .L80240E7C +/* A9A404 80240E74 0000902D */ daddu $s2, $zero, $zero +.L80240E78: +/* A9A408 80240E78 0000902D */ daddu $s2, $zero, $zero +.L80240E7C: +/* A9A40C 80240E7C C600001C */ lwc1 $f0, 0x1c($s0) +/* A9A410 80240E80 44801000 */ mtc1 $zero, $f2 +/* A9A414 80240E84 44801800 */ mtc1 $zero, $f3 +/* A9A418 80240E88 46000021 */ cvt.d.s $f0, $f0 +/* A9A41C 80240E8C 4622003C */ c.lt.d $f0, $f2 +/* A9A420 80240E90 00000000 */ nop +/* A9A424 80240E94 45000028 */ bc1f .L80240F38 +/* A9A428 80240E98 27A50020 */ addiu $a1, $sp, 0x20 +/* A9A42C 80240E9C 27A60024 */ addiu $a2, $sp, 0x24 +/* A9A430 80240EA0 27A2002C */ addiu $v0, $sp, 0x2c +/* A9A434 80240EA4 C602003C */ lwc1 $f2, 0x3c($s0) +/* A9A438 80240EA8 C6060038 */ lwc1 $f6, 0x38($s0) +/* A9A43C 80240EAC 3C01402A */ lui $at, 0x402a +/* A9A440 80240EB0 4481A800 */ mtc1 $at, $f21 +/* A9A444 80240EB4 4480A000 */ mtc1 $zero, $f20 +/* A9A448 80240EB8 460010A1 */ cvt.d.s $f2, $f2 +/* A9A44C 80240EBC 46341080 */ add.d $f2, $f2, $f20 +/* A9A450 80240EC0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9A454 80240EC4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A9A458 80240EC8 46000005 */ abs.s $f0, $f0 +/* A9A45C 80240ECC E7A40028 */ swc1 $f4, 0x28($sp) +/* A9A460 80240ED0 3C014030 */ lui $at, 0x4030 +/* A9A464 80240ED4 44812800 */ mtc1 $at, $f5 +/* A9A468 80240ED8 44802000 */ mtc1 $zero, $f4 +/* A9A46C 80240EDC 46000021 */ cvt.d.s $f0, $f0 +/* A9A470 80240EE0 E7A60020 */ swc1 $f6, 0x20($sp) +/* A9A474 80240EE4 46240000 */ add.d $f0, $f0, $f4 +/* A9A478 80240EE8 462010A0 */ cvt.s.d $f2, $f2 +/* A9A47C 80240EEC E7A20024 */ swc1 $f2, 0x24($sp) +/* A9A480 80240EF0 46200020 */ cvt.s.d $f0, $f0 +/* A9A484 80240EF4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A9A488 80240EF8 AFA20010 */ sw $v0, 0x10($sp) +/* A9A48C 80240EFC 8E040080 */ lw $a0, 0x80($s0) +/* A9A490 80240F00 0C0372DF */ jal func_800DCB7C +/* A9A494 80240F04 27A70028 */ addiu $a3, $sp, 0x28 +/* A9A498 80240F08 1040000B */ beqz $v0, .L80240F38 +/* A9A49C 80240F0C 00000000 */ nop +/* A9A4A0 80240F10 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9A4A4 80240F14 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A9A4A8 80240F18 46000005 */ abs.s $f0, $f0 +/* A9A4AC 80240F1C 46000021 */ cvt.d.s $f0, $f0 +/* A9A4B0 80240F20 46340000 */ add.d $f0, $f0, $f20 +/* A9A4B4 80240F24 460010A1 */ cvt.d.s $f2, $f2 +/* A9A4B8 80240F28 4620103E */ c.le.d $f2, $f0 +/* A9A4BC 80240F2C 00000000 */ nop +/* A9A4C0 80240F30 45030001 */ bc1tl .L80240F38 +/* A9A4C4 80240F34 24120001 */ addiu $s2, $zero, 1 +.L80240F38: +/* A9A4C8 80240F38 56400008 */ bnel $s2, $zero, .L80240F5C +/* A9A4CC 80240F3C 2414000A */ addiu $s4, $zero, 0xa +/* A9A4D0 80240F40 C604003C */ lwc1 $f4, 0x3c($s0) +/* A9A4D4 80240F44 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9A4D8 80240F48 46002100 */ add.s $f4, $f4, $f0 +/* A9A4DC 80240F4C C6020014 */ lwc1 $f2, 0x14($s0) +/* A9A4E0 80240F50 46020001 */ sub.s $f0, $f0, $f2 +/* A9A4E4 80240F54 E604003C */ swc1 $f4, 0x3c($s0) +/* A9A4E8 80240F58 E600001C */ swc1 $f0, 0x1c($s0) +.L80240F5C: +/* A9A4EC 80240F5C 9602008E */ lhu $v0, 0x8e($s0) +/* A9A4F0 80240F60 2442FFFF */ addiu $v0, $v0, -1 +/* A9A4F4 80240F64 A602008E */ sh $v0, 0x8e($s0) +/* A9A4F8 80240F68 00021400 */ sll $v0, $v0, 0x10 +/* A9A4FC 80240F6C 58400001 */ blezl $v0, .L80240F74 +/* A9A500 80240F70 2414000B */ addiu $s4, $zero, 0xb +.L80240F74: +/* A9A504 80240F74 12800024 */ beqz $s4, .L80241008 +/* A9A508 80240F78 00000000 */ nop +/* A9A50C 80240F7C AFA00010 */ sw $zero, 0x10($sp) +/* A9A510 80240F80 AFA00014 */ sw $zero, 0x14($sp) +/* A9A514 80240F84 8E050038 */ lw $a1, 0x38($s0) +/* A9A518 80240F88 8E06003C */ lw $a2, 0x3c($s0) +/* A9A51C 80240F8C 8E070040 */ lw $a3, 0x40($s0) +/* A9A520 80240F90 0C01BECC */ jal fx_walk_normal +/* A9A524 80240F94 24040002 */ addiu $a0, $zero, 2 +/* A9A528 80240F98 3C01C47A */ lui $at, 0xc47a +/* A9A52C 80240F9C 44810000 */ mtc1 $at, $f0 +/* A9A530 80240FA0 AE20006C */ sw $zero, 0x6c($s1) +/* A9A534 80240FA4 8E020000 */ lw $v0, ($s0) +/* A9A538 80240FA8 0200202D */ daddu $a0, $s0, $zero +/* A9A53C 80240FAC AE000038 */ sw $zero, 0x38($s0) +/* A9A540 80240FB0 AE000040 */ sw $zero, 0x40($s0) +/* A9A544 80240FB4 34420002 */ ori $v0, $v0, 2 +/* A9A548 80240FB8 E600003C */ swc1 $f0, 0x3c($s0) +/* A9A54C 80240FBC 0C00EAFF */ jal disable_npc_shadow +/* A9A550 80240FC0 AE020000 */ sw $v0, ($s0) +/* A9A554 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* A9A558 80240FC8 3C05FE36 */ lui $a1, 0xfe36 +/* A9A55C 80240FCC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9A560 80240FD0 24060001 */ addiu $a2, $zero, 1 +/* A9A564 80240FD4 8E020000 */ lw $v0, ($s0) +/* A9A568 80240FD8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9A56C 80240FDC 00431024 */ and $v0, $v0, $v1 +/* A9A570 80240FE0 AE020000 */ sw $v0, ($s0) +/* A9A574 80240FE4 8E220000 */ lw $v0, ($s1) +/* A9A578 80240FE8 3C031F00 */ lui $v1, 0x1f00 +/* A9A57C 80240FEC 00431025 */ or $v0, $v0, $v1 +/* A9A580 80240FF0 AE220000 */ sw $v0, ($s1) +/* A9A584 80240FF4 AC800070 */ sw $zero, 0x70($a0) +.L80240FF8: +/* A9A588 80240FF8 0C0B2026 */ jal set_variable +/* A9A58C 80240FFC 00000000 */ nop +/* A9A590 80241000 0809040E */ j .L80241038 +/* A9A594 80241004 24020002 */ addiu $v0, $zero, 2 +.L80241008: +/* A9A598 80241008 8E220070 */ lw $v0, 0x70($s1) +/* A9A59C 8024100C 30420001 */ andi $v0, $v0, 1 +/* A9A5A0 80241010 10400009 */ beqz $v0, .L80241038 +/* A9A5A4 80241014 0000102D */ daddu $v0, $zero, $zero +/* A9A5A8 80241018 C600004C */ lwc1 $f0, 0x4c($s0) +/* A9A5AC 8024101C 3C01404E */ lui $at, 0x404e +/* A9A5B0 80241020 44811800 */ mtc1 $at, $f3 +/* A9A5B4 80241024 44801000 */ mtc1 $zero, $f2 +/* A9A5B8 80241028 46000021 */ cvt.d.s $f0, $f0 +/* A9A5BC 8024102C 46220000 */ add.d $f0, $f0, $f2 +/* A9A5C0 80241030 46200020 */ cvt.s.d $f0, $f0 +/* A9A5C4 80241034 E600004C */ swc1 $f0, 0x4c($s0) +.L80241038: +/* A9A5C8 80241038 8FBF0044 */ lw $ra, 0x44($sp) +/* A9A5CC 8024103C 8FB40040 */ lw $s4, 0x40($sp) +/* A9A5D0 80241040 8FB3003C */ lw $s3, 0x3c($sp) +/* A9A5D4 80241044 8FB20038 */ lw $s2, 0x38($sp) +/* A9A5D8 80241048 8FB10034 */ lw $s1, 0x34($sp) +/* A9A5DC 8024104C 8FB00030 */ lw $s0, 0x30($sp) +/* A9A5E0 80241050 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A9A5E4 80241054 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A9A5E8 80241058 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A9A5EC 8024105C 03E00008 */ jr $ra +/* A9A5F0 80241060 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80241064_A99590.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80241064_A99590.s new file mode 100644 index 0000000000..93cc15dd5b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80241064_A99590.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241064_A9A5F4 +/* A9A5F4 80241064 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A9A5F8 80241068 AFB3003C */ sw $s3, 0x3c($sp) +/* A9A5FC 8024106C 0080982D */ daddu $s3, $a0, $zero +/* A9A600 80241070 AFBF0048 */ sw $ra, 0x48($sp) +/* A9A604 80241074 AFB50044 */ sw $s5, 0x44($sp) +/* A9A608 80241078 AFB40040 */ sw $s4, 0x40($sp) +/* A9A60C 8024107C AFB20038 */ sw $s2, 0x38($sp) +/* A9A610 80241080 AFB10034 */ sw $s1, 0x34($sp) +/* A9A614 80241084 AFB00030 */ sw $s0, 0x30($sp) +/* A9A618 80241088 8E720148 */ lw $s2, 0x148($s3) +/* A9A61C 8024108C 86440008 */ lh $a0, 8($s2) +/* A9A620 80241090 8E70000C */ lw $s0, 0xc($s3) +/* A9A624 80241094 0C00EABB */ jal get_npc_unsafe +/* A9A628 80241098 00A0882D */ daddu $s1, $a1, $zero +/* A9A62C 8024109C 0260202D */ daddu $a0, $s3, $zero +/* A9A630 802410A0 8E050000 */ lw $a1, ($s0) +/* A9A634 802410A4 0C0B1EAF */ jal get_variable +/* A9A638 802410A8 0040A02D */ daddu $s4, $v0, $zero +/* A9A63C 802410AC AFA00010 */ sw $zero, 0x10($sp) +/* A9A640 802410B0 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9A644 802410B4 8C630030 */ lw $v1, 0x30($v1) +/* A9A648 802410B8 AFA30014 */ sw $v1, 0x14($sp) +/* A9A64C 802410BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9A650 802410C0 8C63001C */ lw $v1, 0x1c($v1) +/* A9A654 802410C4 AFA30018 */ sw $v1, 0x18($sp) +/* A9A658 802410C8 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9A65C 802410CC 8C630024 */ lw $v1, 0x24($v1) +/* A9A660 802410D0 AFA3001C */ sw $v1, 0x1c($sp) +/* A9A664 802410D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9A668 802410D8 8C630028 */ lw $v1, 0x28($v1) +/* A9A66C 802410DC 27B50010 */ addiu $s5, $sp, 0x10 +/* A9A670 802410E0 AFA30020 */ sw $v1, 0x20($sp) +/* A9A674 802410E4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9A678 802410E8 3C014220 */ lui $at, 0x4220 +/* A9A67C 802410EC 44810000 */ mtc1 $at, $f0 +/* A9A680 802410F0 8C63002C */ lw $v1, 0x2c($v1) +/* A9A684 802410F4 0040802D */ daddu $s0, $v0, $zero +/* A9A688 802410F8 E7A00028 */ swc1 $f0, 0x28($sp) +/* A9A68C 802410FC A7A0002C */ sh $zero, 0x2c($sp) +/* A9A690 80241100 16200005 */ bnez $s1, .L80241118 +/* A9A694 80241104 AFA30024 */ sw $v1, 0x24($sp) +/* A9A698 80241108 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9A69C 8024110C 30420004 */ andi $v0, $v0, 4 +/* A9A6A0 80241110 1040002F */ beqz $v0, .L802411D0 +/* A9A6A4 80241114 00000000 */ nop +.L80241118: +/* A9A6A8 80241118 2404F7FF */ addiu $a0, $zero, -0x801 +/* A9A6AC 8024111C AE600070 */ sw $zero, 0x70($s3) +/* A9A6B0 80241120 A680008E */ sh $zero, 0x8e($s4) +/* A9A6B4 80241124 8E4200CC */ lw $v0, 0xcc($s2) +/* A9A6B8 80241128 8E830000 */ lw $v1, ($s4) +/* A9A6BC 8024112C 8C420000 */ lw $v0, ($v0) +/* A9A6C0 80241130 00641824 */ and $v1, $v1, $a0 +/* A9A6C4 80241134 AE830000 */ sw $v1, ($s4) +/* A9A6C8 80241138 AE820028 */ sw $v0, 0x28($s4) +/* A9A6CC 8024113C 8E4200D0 */ lw $v0, 0xd0($s2) +/* A9A6D0 80241140 8C420034 */ lw $v0, 0x34($v0) +/* A9A6D4 80241144 54400005 */ bnel $v0, $zero, .L8024115C +/* A9A6D8 80241148 2402FDFF */ addiu $v0, $zero, -0x201 +/* A9A6DC 8024114C 34620200 */ ori $v0, $v1, 0x200 +/* A9A6E0 80241150 2403FFF7 */ addiu $v1, $zero, -9 +/* A9A6E4 80241154 08090459 */ j .L80241164 +/* A9A6E8 80241158 00431024 */ and $v0, $v0, $v1 +.L8024115C: +/* A9A6EC 8024115C 00621024 */ and $v0, $v1, $v0 +/* A9A6F0 80241160 34420008 */ ori $v0, $v0, 8 +.L80241164: +/* A9A6F4 80241164 AE820000 */ sw $v0, ($s4) +/* A9A6F8 80241168 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9A6FC 8024116C 30420004 */ andi $v0, $v0, 4 +/* A9A700 80241170 10400008 */ beqz $v0, .L80241194 +/* A9A704 80241174 24020063 */ addiu $v0, $zero, 0x63 +/* A9A708 80241178 AE620070 */ sw $v0, 0x70($s3) +/* A9A70C 8024117C AE600074 */ sw $zero, 0x74($s3) +/* A9A710 80241180 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9A714 80241184 2403FFFB */ addiu $v1, $zero, -5 +/* A9A718 80241188 00431024 */ and $v0, $v0, $v1 +/* A9A71C 8024118C 0809046B */ j .L802411AC +/* A9A720 80241190 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241194: +/* A9A724 80241194 8E420000 */ lw $v0, ($s2) +/* A9A728 80241198 3C034000 */ lui $v1, 0x4000 +/* A9A72C 8024119C 00431024 */ and $v0, $v0, $v1 +/* A9A730 802411A0 10400002 */ beqz $v0, .L802411AC +/* A9A734 802411A4 2402000C */ addiu $v0, $zero, 0xc +/* A9A738 802411A8 AE620070 */ sw $v0, 0x70($s3) +.L802411AC: +/* A9A73C 802411AC 3C05BFFF */ lui $a1, 0xbfff +/* A9A740 802411B0 34A5FFFF */ ori $a1, $a1, 0xffff +/* A9A744 802411B4 2404FFFB */ addiu $a0, $zero, -5 +/* A9A748 802411B8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9A74C 802411BC 8E430000 */ lw $v1, ($s2) +/* A9A750 802411C0 00441024 */ and $v0, $v0, $a0 +/* A9A754 802411C4 00651824 */ and $v1, $v1, $a1 +/* A9A758 802411C8 AE4200B0 */ sw $v0, 0xb0($s2) +/* A9A75C 802411CC AE430000 */ sw $v1, ($s2) +.L802411D0: +/* A9A760 802411D0 8E630070 */ lw $v1, 0x70($s3) +/* A9A764 802411D4 2C620064 */ sltiu $v0, $v1, 0x64 +/* A9A768 802411D8 10400060 */ beqz $v0, .L8024135C +/* A9A76C 802411DC 00031080 */ sll $v0, $v1, 2 +/* A9A770 802411E0 3C018024 */ lui $at, 0x8024 +/* A9A774 802411E4 00220821 */ addu $at, $at, $v0 +/* A9A778 802411E8 8C223268 */ lw $v0, 0x3268($at) +/* A9A77C 802411EC 00400008 */ jr $v0 +/* A9A780 802411F0 00000000 */ nop +/* A9A784 802411F4 0260202D */ daddu $a0, $s3, $zero +/* A9A788 802411F8 0200282D */ daddu $a1, $s0, $zero +/* A9A78C 802411FC 0C012568 */ jal func_800495A0 +/* A9A790 80241200 02A0302D */ daddu $a2, $s5, $zero +/* A9A794 80241204 0260202D */ daddu $a0, $s3, $zero +/* A9A798 80241208 0200282D */ daddu $a1, $s0, $zero +/* A9A79C 8024120C 0C0125AE */ jal func_800496B8 +/* A9A7A0 80241210 02A0302D */ daddu $a2, $s5, $zero +/* A9A7A4 80241214 080904D7 */ j .L8024135C +/* A9A7A8 80241218 00000000 */ nop +/* A9A7AC 8024121C 0260202D */ daddu $a0, $s3, $zero +/* A9A7B0 80241220 0200282D */ daddu $a1, $s0, $zero +/* A9A7B4 80241224 0C0126D1 */ jal func_80049B44 +/* A9A7B8 80241228 02A0302D */ daddu $a2, $s5, $zero +/* A9A7BC 8024122C 0260202D */ daddu $a0, $s3, $zero +/* A9A7C0 80241230 0200282D */ daddu $a1, $s0, $zero +/* A9A7C4 80241234 0C012701 */ jal func_80049C04 +/* A9A7C8 80241238 02A0302D */ daddu $a2, $s5, $zero +/* A9A7CC 8024123C 080904D7 */ j .L8024135C +/* A9A7D0 80241240 00000000 */ nop +/* A9A7D4 80241244 0260202D */ daddu $a0, $s3, $zero +/* A9A7D8 80241248 0200282D */ daddu $a1, $s0, $zero +/* A9A7DC 8024124C 0C01278F */ jal func_80049E3C +/* A9A7E0 80241250 02A0302D */ daddu $a2, $s5, $zero +/* A9A7E4 80241254 0260202D */ daddu $a0, $s3, $zero +/* A9A7E8 80241258 0200282D */ daddu $a1, $s0, $zero +/* A9A7EC 8024125C 0C0127B3 */ jal func_80049ECC +/* A9A7F0 80241260 02A0302D */ daddu $a2, $s5, $zero +/* A9A7F4 80241264 080904D7 */ j .L8024135C +/* A9A7F8 80241268 00000000 */ nop +/* A9A7FC 8024126C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9A800 80241270 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9A804 80241274 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A9A808 80241278 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A9A80C 8024127C 8C460028 */ lw $a2, 0x28($v0) +/* A9A810 80241280 0C00A7B5 */ jal dist2D +/* A9A814 80241284 8C470030 */ lw $a3, 0x30($v0) +/* A9A818 80241288 8E42006C */ lw $v0, 0x6c($s2) +/* A9A81C 8024128C 10400008 */ beqz $v0, .L802412B0 +/* A9A820 80241290 46000086 */ mov.s $f2, $f0 +/* A9A824 80241294 44820000 */ mtc1 $v0, $f0 +/* A9A828 80241298 00000000 */ nop +/* A9A82C 8024129C 46800020 */ cvt.s.w $f0, $f0 +/* A9A830 802412A0 4602003C */ c.lt.s $f0, $f2 +/* A9A834 802412A4 00000000 */ nop +/* A9A838 802412A8 4500000B */ bc1f .L802412D8 +/* A9A83C 802412AC 0260202D */ daddu $a0, $s3, $zero +.L802412B0: +/* A9A840 802412B0 0260202D */ daddu $a0, $s3, $zero +/* A9A844 802412B4 8E050024 */ lw $a1, 0x24($s0) +/* A9A848 802412B8 8E060028 */ lw $a2, 0x28($s0) +/* A9A84C 802412BC 0C0900D8 */ jal func_80240360 +/* A9A850 802412C0 02A0382D */ daddu $a3, $s5, $zero +/* A9A854 802412C4 8E630070 */ lw $v1, 0x70($s3) +/* A9A858 802412C8 2402000C */ addiu $v0, $zero, 0xc +/* A9A85C 802412CC 14620023 */ bne $v1, $v0, .L8024135C +/* A9A860 802412D0 00000000 */ nop +/* A9A864 802412D4 0260202D */ daddu $a0, $s3, $zero +.L802412D8: +/* A9A868 802412D8 0200282D */ daddu $a1, $s0, $zero +/* A9A86C 802412DC 0C0127DF */ jal func_80049F7C +/* A9A870 802412E0 02A0302D */ daddu $a2, $s5, $zero +/* A9A874 802412E4 0260202D */ daddu $a0, $s3, $zero +/* A9A878 802412E8 0200282D */ daddu $a1, $s0, $zero +/* A9A87C 802412EC 0C012849 */ jal func_8004A124 +/* A9A880 802412F0 02A0302D */ daddu $a2, $s5, $zero +/* A9A884 802412F4 080904D7 */ j .L8024135C +/* A9A888 802412F8 00000000 */ nop +/* A9A88C 802412FC 0260202D */ daddu $a0, $s3, $zero +/* A9A890 80241300 0200282D */ daddu $a1, $s0, $zero +/* A9A894 80241304 0C0128FA */ jal func_8004A3E8 +/* A9A898 80241308 02A0302D */ daddu $a2, $s5, $zero +/* A9A89C 8024130C 080904D7 */ j .L8024135C +/* A9A8A0 80241310 00000000 */ nop +/* A9A8A4 80241314 0C090129 */ jal func_802404A4 +/* A9A8A8 80241318 0260202D */ daddu $a0, $s3, $zero +/* A9A8AC 8024131C 080904D7 */ j .L8024135C +/* A9A8B0 80241320 00000000 */ nop +/* A9A8B4 80241324 0C090169 */ jal func_802405A4 +/* A9A8B8 80241328 0260202D */ daddu $a0, $s3, $zero +/* A9A8BC 8024132C 080904D7 */ j .L8024135C +/* A9A8C0 80241330 00000000 */ nop +/* A9A8C4 80241334 0C09017A */ jal func_802405E8 +/* A9A8C8 80241338 0260202D */ daddu $a0, $s3, $zero +/* A9A8CC 8024133C 080904D7 */ j .L8024135C +/* A9A8D0 80241340 00000000 */ nop +/* A9A8D4 80241344 0C0901A2 */ jal func_80240688 +/* A9A8D8 80241348 0260202D */ daddu $a0, $s3, $zero +/* A9A8DC 8024134C 080904D7 */ j .L8024135C +/* A9A8E0 80241350 00000000 */ nop +/* A9A8E4 80241354 0C0129CF */ jal func_8004A73C +/* A9A8E8 80241358 0260202D */ daddu $a0, $s3, $zero +.L8024135C: +/* A9A8EC 8024135C 8FBF0048 */ lw $ra, 0x48($sp) +/* A9A8F0 80241360 8FB50044 */ lw $s5, 0x44($sp) +/* A9A8F4 80241364 8FB40040 */ lw $s4, 0x40($sp) +/* A9A8F8 80241368 8FB3003C */ lw $s3, 0x3c($sp) +/* A9A8FC 8024136C 8FB20038 */ lw $s2, 0x38($sp) +/* A9A900 80241370 8FB10034 */ lw $s1, 0x34($sp) +/* A9A904 80241374 8FB00030 */ lw $s0, 0x30($sp) +/* A9A908 80241378 0000102D */ daddu $v0, $zero, $zero +/* A9A90C 8024137C 03E00008 */ jr $ra +/* A9A910 80241380 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_111/func_80241384.s b/asm/nonmatchings/world/area_kpa/kpa_111/func_80241384.s new file mode 100644 index 0000000000..7b141cc8a9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_111/func_80241384.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241384 +/* A9A914 80241384 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9A918 80241388 3C05FE36 */ lui $a1, 0xfe36 +/* A9A91C 8024138C AFBF0010 */ sw $ra, 0x10($sp) +/* A9A920 80241390 8C820148 */ lw $v0, 0x148($a0) +/* A9A924 80241394 3C06800B */ lui $a2, 0x800b +/* A9A928 80241398 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A9A92C 8024139C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9A930 802413A0 00C23026 */ xor $a2, $a2, $v0 +/* A9A934 802413A4 0C0B2026 */ jal set_variable +/* A9A938 802413A8 2CC60001 */ sltiu $a2, $a2, 1 +/* A9A93C 802413AC 8FBF0010 */ lw $ra, 0x10($sp) +/* A9A940 802413B0 24020002 */ addiu $v0, $zero, 2 +/* A9A944 802413B4 03E00008 */ jr $ra +/* A9A948 802413B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A9A94C 802413BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240000_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240000_A9CC30.s new file mode 100644 index 0000000000..8d9bd8d5cd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240000_A9CC30.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A9CC30 +/* A9CC30 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9CC34 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A9CC38 80240008 0C04417A */ jal get_entity_by_index +/* A9CC3C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* A9CC40 80240010 0040182D */ daddu $v1, $v0, $zero +/* A9CC44 80240014 8C640000 */ lw $a0, ($v1) +/* A9CC48 80240018 3C050010 */ lui $a1, 0x10 +/* A9CC4C 8024001C 00852025 */ or $a0, $a0, $a1 +/* A9CC50 80240020 AC640000 */ sw $a0, ($v1) +/* A9CC54 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* A9CC58 80240028 24020002 */ addiu $v0, $zero, 2 +/* A9CC5C 8024002C 03E00008 */ jr $ra +/* A9CC60 80240030 27BD0018 */ addiu $sp, $sp, 0x18 +/* A9CC64 80240034 00000000 */ nop +/* A9CC68 80240038 00000000 */ nop +/* A9CC6C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240040_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240040_A9CC30.s new file mode 100644 index 0000000000..da511dff13 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240040_A9CC30.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_A9CC70 +/* A9CC70 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9CC74 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* A9CC78 80240048 0080802D */ daddu $s0, $a0, $zero +/* A9CC7C 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* A9CC80 80240050 8E02000C */ lw $v0, 0xc($s0) +/* A9CC84 80240054 0C0B1EAF */ jal get_variable +/* A9CC88 80240058 8C450000 */ lw $a1, ($v0) +/* A9CC8C 8024005C 0040302D */ daddu $a2, $v0, $zero +/* A9CC90 80240060 3C058016 */ lui $a1, 0x8016 +/* A9CC94 80240064 84A5A550 */ lh $a1, -0x5ab0($a1) +/* A9CC98 80240068 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* A9CC9C 8024006C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* A9CCA0 80240070 10A60004 */ beq $a1, $a2, .L80240084 +/* A9CCA4 80240074 24020014 */ addiu $v0, $zero, 0x14 +/* A9CCA8 80240078 808300B4 */ lb $v1, 0xb4($a0) +/* A9CCAC 8024007C 10620006 */ beq $v1, $v0, .L80240098 +/* A9CCB0 80240080 00000000 */ nop +.L80240084: +/* A9CCB4 80240084 8C820014 */ lw $v0, 0x14($a0) +/* A9CCB8 80240088 3C03FFFF */ lui $v1, 0xffff +/* A9CCBC 8024008C 00431024 */ and $v0, $v0, $v1 +/* A9CCC0 80240090 10400005 */ beqz $v0, .L802400A8 +/* A9CCC4 80240094 00000000 */ nop +.L80240098: +/* A9CCC8 80240098 0C039769 */ jal set_action_state +/* A9CCCC 8024009C 0000202D */ daddu $a0, $zero, $zero +/* A9CCD0 802400A0 0809003A */ j .L802400E8 +/* A9CCD4 802400A4 AE000084 */ sw $zero, 0x84($s0) +.L802400A8: +/* A9CCD8 802400A8 54A6000F */ bnel $a1, $a2, .L802400E8 +/* A9CCDC 802400AC AE000084 */ sw $zero, 0x84($s0) +/* A9CCE0 802400B0 808300B4 */ lb $v1, 0xb4($a0) +/* A9CCE4 802400B4 24020014 */ addiu $v0, $zero, 0x14 +/* A9CCE8 802400B8 10620005 */ beq $v1, $v0, .L802400D0 +/* A9CCEC 802400BC 24020001 */ addiu $v0, $zero, 1 +/* A9CCF0 802400C0 10620003 */ beq $v1, $v0, .L802400D0 +/* A9CCF4 802400C4 24020002 */ addiu $v0, $zero, 2 +/* A9CCF8 802400C8 54620008 */ bnel $v1, $v0, .L802400EC +/* A9CCFC 802400CC AE000084 */ sw $zero, 0x84($s0) +.L802400D0: +/* A9CD00 802400D0 8C820004 */ lw $v0, 4($a0) +/* A9CD04 802400D4 30420001 */ andi $v0, $v0, 1 +/* A9CD08 802400D8 54400003 */ bnel $v0, $zero, .L802400E8 +/* A9CD0C 802400DC AE000084 */ sw $zero, 0x84($s0) +/* A9CD10 802400E0 24020001 */ addiu $v0, $zero, 1 +/* A9CD14 802400E4 AE020084 */ sw $v0, 0x84($s0) +.L802400E8: +/* A9CD18 802400E8 24020002 */ addiu $v0, $zero, 2 +.L802400EC: +/* A9CD1C 802400EC 8FBF0014 */ lw $ra, 0x14($sp) +/* A9CD20 802400F0 8FB00010 */ lw $s0, 0x10($sp) +/* A9CD24 802400F4 03E00008 */ jr $ra +/* A9CD28 802400F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_802400FC.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_802400FC.s new file mode 100644 index 0000000000..20c6713116 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_802400FC.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400FC +/* A9CD2C 802400FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A9CD30 80240100 AFBF002C */ sw $ra, 0x2c($sp) +/* A9CD34 80240104 AFB00028 */ sw $s0, 0x28($sp) +/* A9CD38 80240108 8C820098 */ lw $v0, 0x98($a0) +/* A9CD3C 8024010C 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A9CD40 80240110 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A9CD44 80240114 14400005 */ bnez $v0, .L8024012C +/* A9CD48 80240118 00000000 */ nop +/* A9CD4C 8024011C C4800084 */ lwc1 $f0, 0x84($a0) +/* A9CD50 80240120 46800020 */ cvt.s.w $f0, $f0 +/* A9CD54 80240124 0809004E */ j .L80240138 +/* A9CD58 80240128 E6000028 */ swc1 $f0, 0x28($s0) +.L8024012C: +/* A9CD5C 8024012C C4800084 */ lwc1 $f0, 0x84($a0) +/* A9CD60 80240130 46800020 */ cvt.s.w $f0, $f0 +/* A9CD64 80240134 E6000030 */ swc1 $f0, 0x30($s0) +.L80240138: +/* A9CD68 80240138 27A20024 */ addiu $v0, $sp, 0x24 +/* A9CD6C 8024013C 0000202D */ daddu $a0, $zero, $zero +/* A9CD70 80240140 27A50018 */ addiu $a1, $sp, 0x18 +/* A9CD74 80240144 27A6001C */ addiu $a2, $sp, 0x1c +/* A9CD78 80240148 C6000028 */ lwc1 $f0, 0x28($s0) +/* A9CD7C 8024014C 3C014120 */ lui $at, 0x4120 +/* A9CD80 80240150 44811000 */ mtc1 $at, $f2 +/* A9CD84 80240154 3C014220 */ lui $at, 0x4220 +/* A9CD88 80240158 44813000 */ mtc1 $at, $f6 +/* A9CD8C 8024015C 27A70020 */ addiu $a3, $sp, 0x20 +/* A9CD90 80240160 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9CD94 80240164 C600002C */ lwc1 $f0, 0x2c($s0) +/* A9CD98 80240168 C6040030 */ lwc1 $f4, 0x30($s0) +/* A9CD9C 8024016C 46020000 */ add.s $f0, $f0, $f2 +/* A9CDA0 80240170 E7A60024 */ swc1 $f6, 0x24($sp) +/* A9CDA4 80240174 E7A40020 */ swc1 $f4, 0x20($sp) +/* A9CDA8 80240178 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9CDAC 8024017C 0C0372DF */ jal func_800DCB7C +/* A9CDB0 80240180 AFA20010 */ sw $v0, 0x10($sp) +/* A9CDB4 80240184 C7A00018 */ lwc1 $f0, 0x18($sp) +/* A9CDB8 80240188 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A9CDBC 8024018C C7A40020 */ lwc1 $f4, 0x20($sp) +/* A9CDC0 80240190 E6000028 */ swc1 $f0, 0x28($s0) +/* A9CDC4 80240194 E602002C */ swc1 $f2, 0x2c($s0) +/* A9CDC8 80240198 E6040030 */ swc1 $f4, 0x30($s0) +/* A9CDCC 8024019C 8FBF002C */ lw $ra, 0x2c($sp) +/* A9CDD0 802401A0 8FB00028 */ lw $s0, 0x28($sp) +/* A9CDD4 802401A4 24020002 */ addiu $v0, $zero, 2 +/* A9CDD8 802401A8 03E00008 */ jr $ra +/* A9CDDC 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_802401B0_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_802401B0_A9CC30.s new file mode 100644 index 0000000000..3c05bb704a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_802401B0_A9CC30.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_A9CDE0 +/* A9CDE0 802401B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A9CDE4 802401B4 AFB20018 */ sw $s2, 0x18($sp) +/* A9CDE8 802401B8 0080902D */ daddu $s2, $a0, $zero +/* A9CDEC 802401BC AFBF001C */ sw $ra, 0x1c($sp) +/* A9CDF0 802401C0 AFB10014 */ sw $s1, 0x14($sp) +/* A9CDF4 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* A9CDF8 802401C8 8E510148 */ lw $s1, 0x148($s2) +/* A9CDFC 802401CC 0C00EABB */ jal get_npc_unsafe +/* A9CE00 802401D0 86240008 */ lh $a0, 8($s1) +/* A9CE04 802401D4 0040802D */ daddu $s0, $v0, $zero +/* A9CE08 802401D8 8E2300CC */ lw $v1, 0xcc($s1) +/* A9CE0C 802401DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A9CE10 802401E0 8C630020 */ lw $v1, 0x20($v1) +/* A9CE14 802401E4 AE030028 */ sw $v1, 0x28($s0) +/* A9CE18 802401E8 96220076 */ lhu $v0, 0x76($s1) +/* A9CE1C 802401EC A602008E */ sh $v0, 0x8e($s0) +/* A9CE20 802401F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9CE24 802401F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9CE28 802401F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A9CE2C 802401FC 8C460028 */ lw $a2, 0x28($v0) +/* A9CE30 80240200 0C00A720 */ jal atan2 +/* A9CE34 80240204 8C470030 */ lw $a3, 0x30($v0) +/* A9CE38 80240208 2402000D */ addiu $v0, $zero, 0xd +/* A9CE3C 8024020C E600000C */ swc1 $f0, 0xc($s0) +/* A9CE40 80240210 AE420070 */ sw $v0, 0x70($s2) +/* A9CE44 80240214 8FBF001C */ lw $ra, 0x1c($sp) +/* A9CE48 80240218 8FB20018 */ lw $s2, 0x18($sp) +/* A9CE4C 8024021C 8FB10014 */ lw $s1, 0x14($sp) +/* A9CE50 80240220 8FB00010 */ lw $s0, 0x10($sp) +/* A9CE54 80240224 03E00008 */ jr $ra +/* A9CE58 80240228 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_8024022C.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_8024022C.s new file mode 100644 index 0000000000..5c82260623 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_8024022C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024022C +/* A9CE5C 8024022C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A9CE60 80240230 AFB3001C */ sw $s3, 0x1c($sp) +/* A9CE64 80240234 0080982D */ daddu $s3, $a0, $zero +/* A9CE68 80240238 AFBF0020 */ sw $ra, 0x20($sp) +/* A9CE6C 8024023C AFB20018 */ sw $s2, 0x18($sp) +/* A9CE70 80240240 AFB10014 */ sw $s1, 0x14($sp) +/* A9CE74 80240244 AFB00010 */ sw $s0, 0x10($sp) +/* A9CE78 80240248 8E710148 */ lw $s1, 0x148($s3) +/* A9CE7C 8024024C 86240008 */ lh $a0, 8($s1) +/* A9CE80 80240250 0C00EABB */ jal get_npc_unsafe +/* A9CE84 80240254 00A0902D */ daddu $s2, $a1, $zero +/* A9CE88 80240258 0040802D */ daddu $s0, $v0, $zero +/* A9CE8C 8024025C 8602008E */ lh $v0, 0x8e($s0) +/* A9CE90 80240260 9603008E */ lhu $v1, 0x8e($s0) +/* A9CE94 80240264 18400005 */ blez $v0, .L8024027C +/* A9CE98 80240268 2462FFFF */ addiu $v0, $v1, -1 +/* A9CE9C 8024026C A602008E */ sh $v0, 0x8e($s0) +/* A9CEA0 80240270 00021400 */ sll $v0, $v0, 0x10 +/* A9CEA4 80240274 1C400033 */ bgtz $v0, .L80240344 +/* A9CEA8 80240278 00000000 */ nop +.L8024027C: +/* A9CEAC 8024027C 8602008C */ lh $v0, 0x8c($s0) +/* A9CEB0 80240280 14400030 */ bnez $v0, .L80240344 +/* A9CEB4 80240284 00000000 */ nop +/* A9CEB8 80240288 8E2200CC */ lw $v0, 0xcc($s1) +/* A9CEBC 8024028C 8C420024 */ lw $v0, 0x24($v0) +/* A9CEC0 80240290 AE020028 */ sw $v0, 0x28($s0) +/* A9CEC4 80240294 C6400018 */ lwc1 $f0, 0x18($s2) +/* A9CEC8 80240298 E6000018 */ swc1 $f0, 0x18($s0) +/* A9CECC 8024029C 8E230088 */ lw $v1, 0x88($s1) +/* A9CED0 802402A0 24020005 */ addiu $v0, $zero, 5 +/* A9CED4 802402A4 10620005 */ beq $v1, $v0, .L802402BC +/* A9CED8 802402A8 00000000 */ nop +/* A9CEDC 802402AC 10600003 */ beqz $v1, .L802402BC +/* A9CEE0 802402B0 24020001 */ addiu $v0, $zero, 1 +/* A9CEE4 802402B4 14620006 */ bne $v1, $v0, .L802402D0 +/* A9CEE8 802402B8 00000000 */ nop +.L802402BC: +/* A9CEEC 802402BC 8E220084 */ lw $v0, 0x84($s1) +/* A9CEF0 802402C0 00021FC2 */ srl $v1, $v0, 0x1f +/* A9CEF4 802402C4 00431021 */ addu $v0, $v0, $v1 +/* A9CEF8 802402C8 00021043 */ sra $v0, $v0, 1 +/* A9CEFC 802402CC A60200A8 */ sh $v0, 0xa8($s0) +.L802402D0: +/* A9CF00 802402D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9CF04 802402D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9CF08 802402D8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A9CF0C 802402DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A9CF10 802402E0 8C460028 */ lw $a2, 0x28($v0) +/* A9CF14 802402E4 0C00A7B5 */ jal dist2D +/* A9CF18 802402E8 8C470030 */ lw $a3, 0x30($v0) +/* A9CF1C 802402EC C6020018 */ lwc1 $f2, 0x18($s0) +/* A9CF20 802402F0 46020003 */ div.s $f0, $f0, $f2 +/* A9CF24 802402F4 3C018024 */ lui $at, 0x8024 +/* A9CF28 802402F8 D4221CF0 */ ldc1 $f2, 0x1cf0($at) +/* A9CF2C 802402FC 46000021 */ cvt.d.s $f0, $f0 +/* A9CF30 80240300 46220000 */ add.d $f0, $f0, $f2 +/* A9CF34 80240304 4620010D */ trunc.w.d $f4, $f0 +/* A9CF38 80240308 44022000 */ mfc1 $v0, $f4 +/* A9CF3C 8024030C 00000000 */ nop +/* A9CF40 80240310 A602008E */ sh $v0, 0x8e($s0) +/* A9CF44 80240314 00021400 */ sll $v0, $v0, 0x10 +/* A9CF48 80240318 8E230078 */ lw $v1, 0x78($s1) +/* A9CF4C 8024031C 00021403 */ sra $v0, $v0, 0x10 +/* A9CF50 80240320 0043102A */ slt $v0, $v0, $v1 +/* A9CF54 80240324 10400003 */ beqz $v0, .L80240334 +/* A9CF58 80240328 00000000 */ nop +/* A9CF5C 8024032C 9622007A */ lhu $v0, 0x7a($s1) +/* A9CF60 80240330 A602008E */ sh $v0, 0x8e($s0) +.L80240334: +/* A9CF64 80240334 8602008E */ lh $v0, 0x8e($s0) +/* A9CF68 80240338 AE22007C */ sw $v0, 0x7c($s1) +/* A9CF6C 8024033C 2402000E */ addiu $v0, $zero, 0xe +/* A9CF70 80240340 AE620070 */ sw $v0, 0x70($s3) +.L80240344: +/* A9CF74 80240344 8FBF0020 */ lw $ra, 0x20($sp) +/* A9CF78 80240348 8FB3001C */ lw $s3, 0x1c($sp) +/* A9CF7C 8024034C 8FB20018 */ lw $s2, 0x18($sp) +/* A9CF80 80240350 8FB10014 */ lw $s1, 0x14($sp) +/* A9CF84 80240354 8FB00010 */ lw $s0, 0x10($sp) +/* A9CF88 80240358 03E00008 */ jr $ra +/* A9CF8C 8024035C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240360_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240360_A9CC30.s new file mode 100644 index 0000000000..3710cb8e90 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240360_A9CC30.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_A9CF90 +/* A9CF90 80240360 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A9CF94 80240364 AFB3003C */ sw $s3, 0x3c($sp) +/* A9CF98 80240368 0080982D */ daddu $s3, $a0, $zero +/* A9CF9C 8024036C AFBF0040 */ sw $ra, 0x40($sp) +/* A9CFA0 80240370 AFB20038 */ sw $s2, 0x38($sp) +/* A9CFA4 80240374 AFB10034 */ sw $s1, 0x34($sp) +/* A9CFA8 80240378 AFB00030 */ sw $s0, 0x30($sp) +/* A9CFAC 8024037C 8E710148 */ lw $s1, 0x148($s3) +/* A9CFB0 80240380 0C00EABB */ jal get_npc_unsafe +/* A9CFB4 80240384 86240008 */ lh $a0, 8($s1) +/* A9CFB8 80240388 0040802D */ daddu $s0, $v0, $zero +/* A9CFBC 8024038C 8E22007C */ lw $v0, 0x7c($s1) +/* A9CFC0 80240390 8603008E */ lh $v1, 0x8e($s0) +/* A9CFC4 80240394 2442FFFF */ addiu $v0, $v0, -1 +/* A9CFC8 80240398 14620012 */ bne $v1, $v0, .L802403E4 +/* A9CFCC 8024039C 00000000 */ nop +/* A9CFD0 802403A0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9CFD4 802403A4 4600020D */ trunc.w.s $f8, $f0 +/* A9CFD8 802403A8 44024000 */ mfc1 $v0, $f8 +/* A9CFDC 802403AC 00000000 */ nop +/* A9CFE0 802403B0 A6220010 */ sh $v0, 0x10($s1) +/* A9CFE4 802403B4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A9CFE8 802403B8 4600020D */ trunc.w.s $f8, $f0 +/* A9CFEC 802403BC 44024000 */ mfc1 $v0, $f8 +/* A9CFF0 802403C0 00000000 */ nop +/* A9CFF4 802403C4 A6220012 */ sh $v0, 0x12($s1) +/* A9CFF8 802403C8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A9CFFC 802403CC 24020001 */ addiu $v0, $zero, 1 +/* A9D000 802403D0 A2220007 */ sb $v0, 7($s1) +/* A9D004 802403D4 4600020D */ trunc.w.s $f8, $f0 +/* A9D008 802403D8 44024000 */ mfc1 $v0, $f8 +/* A9D00C 802403DC 00000000 */ nop +/* A9D010 802403E0 A6220014 */ sh $v0, 0x14($s1) +.L802403E4: +/* A9D014 802403E4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9D018 802403E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A9D01C 802403EC C6040040 */ lwc1 $f4, 0x40($s0) +/* A9D020 802403F0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A9D024 802403F4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A9D028 802403F8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A9D02C 802403FC E7A40028 */ swc1 $f4, 0x28($sp) +/* A9D030 80240400 E7A60010 */ swc1 $f6, 0x10($sp) +/* A9D034 80240404 C600000C */ lwc1 $f0, 0xc($s0) +/* A9D038 80240408 E7A00014 */ swc1 $f0, 0x14($sp) +/* A9D03C 8024040C 860200A8 */ lh $v0, 0xa8($s0) +/* A9D040 80240410 27A50020 */ addiu $a1, $sp, 0x20 +/* A9D044 80240414 44820000 */ mtc1 $v0, $f0 +/* A9D048 80240418 00000000 */ nop +/* A9D04C 8024041C 46800020 */ cvt.s.w $f0, $f0 +/* A9D050 80240420 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9D054 80240424 860200A6 */ lh $v0, 0xa6($s0) +/* A9D058 80240428 27A60024 */ addiu $a2, $sp, 0x24 +/* A9D05C 8024042C 44820000 */ mtc1 $v0, $f0 +/* A9D060 80240430 00000000 */ nop +/* A9D064 80240434 46800020 */ cvt.s.w $f0, $f0 +/* A9D068 80240438 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9D06C 8024043C 8E040080 */ lw $a0, 0x80($s0) +/* A9D070 80240440 0C037711 */ jal func_800DDC44 +/* A9D074 80240444 27A70028 */ addiu $a3, $sp, 0x28 +/* A9D078 80240448 0040902D */ daddu $s2, $v0, $zero +/* A9D07C 8024044C 16400005 */ bnez $s2, .L80240464 +/* A9D080 80240450 00000000 */ nop +/* A9D084 80240454 8E050018 */ lw $a1, 0x18($s0) +/* A9D088 80240458 8E06000C */ lw $a2, 0xc($s0) +/* A9D08C 8024045C 0C00EA95 */ jal npc_move_heading +/* A9D090 80240460 0200202D */ daddu $a0, $s0, $zero +.L80240464: +/* A9D094 80240464 8602008E */ lh $v0, 0x8e($s0) +/* A9D098 80240468 9603008E */ lhu $v1, 0x8e($s0) +/* A9D09C 8024046C 18400007 */ blez $v0, .L8024048C +/* A9D0A0 80240470 2462FFFF */ addiu $v0, $v1, -1 +/* A9D0A4 80240474 A602008E */ sh $v0, 0x8e($s0) +/* A9D0A8 80240478 00021400 */ sll $v0, $v0, 0x10 +/* A9D0AC 8024047C 18400003 */ blez $v0, .L8024048C +/* A9D0B0 80240480 00000000 */ nop +/* A9D0B4 80240484 12400008 */ beqz $s2, .L802404A8 +/* A9D0B8 80240488 00000000 */ nop +.L8024048C: +/* A9D0BC 8024048C 8E2200CC */ lw $v0, 0xcc($s1) +/* A9D0C0 80240490 A2200007 */ sb $zero, 7($s1) +/* A9D0C4 80240494 8C420028 */ lw $v0, 0x28($v0) +/* A9D0C8 80240498 A600008E */ sh $zero, 0x8e($s0) +/* A9D0CC 8024049C AE020028 */ sw $v0, 0x28($s0) +/* A9D0D0 802404A0 2402000F */ addiu $v0, $zero, 0xf +/* A9D0D4 802404A4 AE620070 */ sw $v0, 0x70($s3) +.L802404A8: +/* A9D0D8 802404A8 8FBF0040 */ lw $ra, 0x40($sp) +/* A9D0DC 802404AC 8FB3003C */ lw $s3, 0x3c($sp) +/* A9D0E0 802404B0 8FB20038 */ lw $s2, 0x38($sp) +/* A9D0E4 802404B4 8FB10034 */ lw $s1, 0x34($sp) +/* A9D0E8 802404B8 8FB00030 */ lw $s0, 0x30($sp) +/* A9D0EC 802404BC 03E00008 */ jr $ra +/* A9D0F0 802404C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_802404C4.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_802404C4.s new file mode 100644 index 0000000000..a7c83ca329 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_802404C4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C4 +/* A9D0F4 802404C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A9D0F8 802404C8 AFB10014 */ sw $s1, 0x14($sp) +/* A9D0FC 802404CC 0080882D */ daddu $s1, $a0, $zero +/* A9D100 802404D0 AFBF0018 */ sw $ra, 0x18($sp) +/* A9D104 802404D4 AFB00010 */ sw $s0, 0x10($sp) +/* A9D108 802404D8 8E300148 */ lw $s0, 0x148($s1) +/* A9D10C 802404DC 0C00EABB */ jal get_npc_unsafe +/* A9D110 802404E0 86040008 */ lh $a0, 8($s0) +/* A9D114 802404E4 0040202D */ daddu $a0, $v0, $zero +/* A9D118 802404E8 9482008E */ lhu $v0, 0x8e($a0) +/* A9D11C 802404EC 24030003 */ addiu $v1, $zero, 3 +/* A9D120 802404F0 24420001 */ addiu $v0, $v0, 1 +/* A9D124 802404F4 A482008E */ sh $v0, 0x8e($a0) +/* A9D128 802404F8 00021400 */ sll $v0, $v0, 0x10 +/* A9D12C 802404FC 00021403 */ sra $v0, $v0, 0x10 +/* A9D130 80240500 14430003 */ bne $v0, $v1, .L80240510 +/* A9D134 80240504 00000000 */ nop +/* A9D138 80240508 96020086 */ lhu $v0, 0x86($s0) +/* A9D13C 8024050C A48200A8 */ sh $v0, 0xa8($a0) +.L80240510: +/* A9D140 80240510 8482008E */ lh $v0, 0x8e($a0) +/* A9D144 80240514 8E030080 */ lw $v1, 0x80($s0) +/* A9D148 80240518 0043102A */ slt $v0, $v0, $v1 +/* A9D14C 8024051C 14400004 */ bnez $v0, .L80240530 +/* A9D150 80240520 00000000 */ nop +/* A9D154 80240524 96020086 */ lhu $v0, 0x86($s0) +/* A9D158 80240528 A48200A8 */ sh $v0, 0xa8($a0) +/* A9D15C 8024052C AE200070 */ sw $zero, 0x70($s1) +.L80240530: +/* A9D160 80240530 8FBF0018 */ lw $ra, 0x18($sp) +/* A9D164 80240534 8FB10014 */ lw $s1, 0x14($sp) +/* A9D168 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* A9D16C 8024053C 03E00008 */ jr $ra +/* A9D170 80240540 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240544_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240544_A9CC30.s new file mode 100644 index 0000000000..d86405ac9c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240544_A9CC30.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_A9D174 +/* A9D174 80240544 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A9D178 80240548 AFB3005C */ sw $s3, 0x5c($sp) +/* A9D17C 8024054C 0080982D */ daddu $s3, $a0, $zero +/* A9D180 80240550 AFBF0068 */ sw $ra, 0x68($sp) +/* A9D184 80240554 AFB50064 */ sw $s5, 0x64($sp) +/* A9D188 80240558 AFB40060 */ sw $s4, 0x60($sp) +/* A9D18C 8024055C AFB20058 */ sw $s2, 0x58($sp) +/* A9D190 80240560 AFB10054 */ sw $s1, 0x54($sp) +/* A9D194 80240564 AFB00050 */ sw $s0, 0x50($sp) +/* A9D198 80240568 8E710148 */ lw $s1, 0x148($s3) +/* A9D19C 8024056C 86240008 */ lh $a0, 8($s1) +/* A9D1A0 80240570 0C00EABB */ jal get_npc_unsafe +/* A9D1A4 80240574 00A0802D */ daddu $s0, $a1, $zero +/* A9D1A8 80240578 8E63000C */ lw $v1, 0xc($s3) +/* A9D1AC 8024057C 0260202D */ daddu $a0, $s3, $zero +/* A9D1B0 80240580 8C650000 */ lw $a1, ($v1) +/* A9D1B4 80240584 0C0B1EAF */ jal get_variable +/* A9D1B8 80240588 0040902D */ daddu $s2, $v0, $zero +/* A9D1BC 8024058C AFA00028 */ sw $zero, 0x28($sp) +/* A9D1C0 80240590 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9D1C4 80240594 8C630030 */ lw $v1, 0x30($v1) +/* A9D1C8 80240598 AFA3002C */ sw $v1, 0x2c($sp) +/* A9D1CC 8024059C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9D1D0 802405A0 8C63001C */ lw $v1, 0x1c($v1) +/* A9D1D4 802405A4 AFA30030 */ sw $v1, 0x30($sp) +/* A9D1D8 802405A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9D1DC 802405AC 8C630024 */ lw $v1, 0x24($v1) +/* A9D1E0 802405B0 AFA30034 */ sw $v1, 0x34($sp) +/* A9D1E4 802405B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9D1E8 802405B8 8C630028 */ lw $v1, 0x28($v1) +/* A9D1EC 802405BC 27B50028 */ addiu $s5, $sp, 0x28 +/* A9D1F0 802405C0 AFA30038 */ sw $v1, 0x38($sp) +/* A9D1F4 802405C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A9D1F8 802405C8 3C0142C8 */ lui $at, 0x42c8 +/* A9D1FC 802405CC 44810000 */ mtc1 $at, $f0 +/* A9D200 802405D0 8C63002C */ lw $v1, 0x2c($v1) +/* A9D204 802405D4 0040A02D */ daddu $s4, $v0, $zero +/* A9D208 802405D8 E7A00040 */ swc1 $f0, 0x40($sp) +/* A9D20C 802405DC A7A00044 */ sh $zero, 0x44($sp) +/* A9D210 802405E0 12000009 */ beqz $s0, .L80240608 +/* A9D214 802405E4 AFA3003C */ sw $v1, 0x3c($sp) +/* A9D218 802405E8 864300A8 */ lh $v1, 0xa8($s2) +/* A9D21C 802405EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* A9D220 802405F0 AE20008C */ sw $zero, 0x8c($s1) +/* A9D224 802405F4 A22000B5 */ sb $zero, 0xb5($s1) +/* A9D228 802405F8 34420008 */ ori $v0, $v0, 8 +/* A9D22C 802405FC AE230084 */ sw $v1, 0x84($s1) +/* A9D230 80240600 08090186 */ j .L80240618 +/* A9D234 80240604 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240608: +/* A9D238 80240608 8E2200B0 */ lw $v0, 0xb0($s1) +/* A9D23C 8024060C 30420004 */ andi $v0, $v0, 4 +/* A9D240 80240610 10400047 */ beqz $v0, .L80240730 +/* A9D244 80240614 00000000 */ nop +.L80240618: +/* A9D248 80240618 AE600070 */ sw $zero, 0x70($s3) +/* A9D24C 8024061C A640008E */ sh $zero, 0x8e($s2) +/* A9D250 80240620 8E2300CC */ lw $v1, 0xcc($s1) +/* A9D254 80240624 2404F7FF */ addiu $a0, $zero, -0x801 +/* A9D258 80240628 A2200007 */ sb $zero, 7($s1) +/* A9D25C 8024062C 8E420000 */ lw $v0, ($s2) +/* A9D260 80240630 8C630000 */ lw $v1, ($v1) +/* A9D264 80240634 00441024 */ and $v0, $v0, $a0 +/* A9D268 80240638 AE420000 */ sw $v0, ($s2) +/* A9D26C 8024063C AE430028 */ sw $v1, 0x28($s2) +/* A9D270 80240640 96220086 */ lhu $v0, 0x86($s1) +/* A9D274 80240644 A64200A8 */ sh $v0, 0xa8($s2) +/* A9D278 80240648 8E2200D0 */ lw $v0, 0xd0($s1) +/* A9D27C 8024064C AE200090 */ sw $zero, 0x90($s1) +/* A9D280 80240650 8C420034 */ lw $v0, 0x34($v0) +/* A9D284 80240654 14400006 */ bnez $v0, .L80240670 +/* A9D288 80240658 2403FDFF */ addiu $v1, $zero, -0x201 +/* A9D28C 8024065C 8E420000 */ lw $v0, ($s2) +/* A9D290 80240660 2403FFF7 */ addiu $v1, $zero, -9 +/* A9D294 80240664 34420200 */ ori $v0, $v0, 0x200 +/* A9D298 80240668 0809019F */ j .L8024067C +/* A9D29C 8024066C 00431024 */ and $v0, $v0, $v1 +.L80240670: +/* A9D2A0 80240670 8E420000 */ lw $v0, ($s2) +/* A9D2A4 80240674 00431024 */ and $v0, $v0, $v1 +/* A9D2A8 80240678 34420008 */ ori $v0, $v0, 8 +.L8024067C: +/* A9D2AC 8024067C AE420000 */ sw $v0, ($s2) +/* A9D2B0 80240680 8E2200B0 */ lw $v0, 0xb0($s1) +/* A9D2B4 80240684 30420004 */ andi $v0, $v0, 4 +/* A9D2B8 80240688 1040001E */ beqz $v0, .L80240704 +/* A9D2BC 8024068C 24040002 */ addiu $a0, $zero, 2 +/* A9D2C0 80240690 0240282D */ daddu $a1, $s2, $zero +/* A9D2C4 80240694 0000302D */ daddu $a2, $zero, $zero +/* A9D2C8 80240698 24020063 */ addiu $v0, $zero, 0x63 +/* A9D2CC 8024069C AE620070 */ sw $v0, 0x70($s3) +/* A9D2D0 802406A0 AE600074 */ sw $zero, 0x74($s3) +/* A9D2D4 802406A4 864300A8 */ lh $v1, 0xa8($s2) +/* A9D2D8 802406A8 3C013F80 */ lui $at, 0x3f80 +/* A9D2DC 802406AC 44810000 */ mtc1 $at, $f0 +/* A9D2E0 802406B0 3C014000 */ lui $at, 0x4000 +/* A9D2E4 802406B4 44811000 */ mtc1 $at, $f2 +/* A9D2E8 802406B8 3C01C1A0 */ lui $at, 0xc1a0 +/* A9D2EC 802406BC 44812000 */ mtc1 $at, $f4 +/* A9D2F0 802406C0 24020028 */ addiu $v0, $zero, 0x28 +/* A9D2F4 802406C4 AFA2001C */ sw $v0, 0x1c($sp) +/* A9D2F8 802406C8 44833000 */ mtc1 $v1, $f6 +/* A9D2FC 802406CC 00000000 */ nop +/* A9D300 802406D0 468031A0 */ cvt.s.w $f6, $f6 +/* A9D304 802406D4 44073000 */ mfc1 $a3, $f6 +/* A9D308 802406D8 27A20048 */ addiu $v0, $sp, 0x48 +/* A9D30C 802406DC AFA20020 */ sw $v0, 0x20($sp) +/* A9D310 802406E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A9D314 802406E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A9D318 802406E8 0C01BFA4 */ jal fx_emote +/* A9D31C 802406EC E7A40018 */ swc1 $f4, 0x18($sp) +/* A9D320 802406F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A9D324 802406F4 2403FFFB */ addiu $v1, $zero, -5 +/* A9D328 802406F8 00431024 */ and $v0, $v0, $v1 +/* A9D32C 802406FC 080901CC */ j .L80240730 +/* A9D330 80240700 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240704: +/* A9D334 80240704 8E220000 */ lw $v0, ($s1) +/* A9D338 80240708 3C034000 */ lui $v1, 0x4000 +/* A9D33C 8024070C 00431024 */ and $v0, $v0, $v1 +/* A9D340 80240710 10400007 */ beqz $v0, .L80240730 +/* A9D344 80240714 3C03BFFF */ lui $v1, 0xbfff +/* A9D348 80240718 2402000C */ addiu $v0, $zero, 0xc +/* A9D34C 8024071C AE620070 */ sw $v0, 0x70($s3) +/* A9D350 80240720 8E220000 */ lw $v0, ($s1) +/* A9D354 80240724 3463FFFF */ ori $v1, $v1, 0xffff +/* A9D358 80240728 00431024 */ and $v0, $v0, $v1 +/* A9D35C 8024072C AE220000 */ sw $v0, ($s1) +.L80240730: +/* A9D360 80240730 8E220090 */ lw $v0, 0x90($s1) +/* A9D364 80240734 1840000C */ blez $v0, .L80240768 +/* A9D368 80240738 2442FFFF */ addiu $v0, $v0, -1 +/* A9D36C 8024073C 14400087 */ bnez $v0, .L8024095C +/* A9D370 80240740 AE220090 */ sw $v0, 0x90($s1) +/* A9D374 80240744 3C03FFAA */ lui $v1, 0xffaa +/* A9D378 80240748 8E420028 */ lw $v0, 0x28($s2) +/* A9D37C 8024074C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A9D380 80240750 00431021 */ addu $v0, $v0, $v1 +/* A9D384 80240754 2C420002 */ sltiu $v0, $v0, 2 +/* A9D388 80240758 10400003 */ beqz $v0, .L80240768 +/* A9D38C 8024075C 3C020055 */ lui $v0, 0x55 +/* A9D390 80240760 3442000C */ ori $v0, $v0, 0xc +/* A9D394 80240764 AE420028 */ sw $v0, 0x28($s2) +.L80240768: +/* A9D398 80240768 8E630070 */ lw $v1, 0x70($s3) +/* A9D39C 8024076C 2402000C */ addiu $v0, $zero, 0xc +/* A9D3A0 80240770 10620048 */ beq $v1, $v0, .L80240894 +/* A9D3A4 80240774 2862000D */ slti $v0, $v1, 0xd +/* A9D3A8 80240778 1040000F */ beqz $v0, .L802407B8 +/* A9D3AC 8024077C 24100001 */ addiu $s0, $zero, 1 +/* A9D3B0 80240780 1070001E */ beq $v1, $s0, .L802407FC +/* A9D3B4 80240784 28620002 */ slti $v0, $v1, 2 +/* A9D3B8 80240788 10400005 */ beqz $v0, .L802407A0 +/* A9D3BC 8024078C 24020002 */ addiu $v0, $zero, 2 +/* A9D3C0 80240790 10600015 */ beqz $v1, .L802407E8 +/* A9D3C4 80240794 0260202D */ daddu $a0, $s3, $zero +/* A9D3C8 80240798 0809023C */ j .L802408F0 +/* A9D3CC 8024079C 00000000 */ nop +.L802407A0: +/* A9D3D0 802407A0 1062001C */ beq $v1, $v0, .L80240814 +/* A9D3D4 802407A4 24020003 */ addiu $v0, $zero, 3 +/* A9D3D8 802407A8 10620035 */ beq $v1, $v0, .L80240880 +/* A9D3DC 802407AC 0260202D */ daddu $a0, $s3, $zero +/* A9D3E0 802407B0 0809023C */ j .L802408F0 +/* A9D3E4 802407B4 00000000 */ nop +.L802407B8: +/* A9D3E8 802407B8 2402000E */ addiu $v0, $zero, 0xe +/* A9D3EC 802407BC 1062003F */ beq $v1, $v0, .L802408BC +/* A9D3F0 802407C0 0062102A */ slt $v0, $v1, $v0 +/* A9D3F4 802407C4 14400038 */ bnez $v0, .L802408A8 +/* A9D3F8 802407C8 0260202D */ daddu $a0, $s3, $zero +/* A9D3FC 802407CC 2402000F */ addiu $v0, $zero, 0xf +/* A9D400 802407D0 10620040 */ beq $v1, $v0, .L802408D4 +/* A9D404 802407D4 24020063 */ addiu $v0, $zero, 0x63 +/* A9D408 802407D8 10620043 */ beq $v1, $v0, .L802408E8 +/* A9D40C 802407DC 00000000 */ nop +/* A9D410 802407E0 0809023C */ j .L802408F0 +/* A9D414 802407E4 00000000 */ nop +.L802407E8: +/* A9D418 802407E8 0280282D */ daddu $a1, $s4, $zero +/* A9D41C 802407EC 0C012568 */ jal func_800495A0 +/* A9D420 802407F0 02A0302D */ daddu $a2, $s5, $zero +/* A9D424 802407F4 96220086 */ lhu $v0, 0x86($s1) +/* A9D428 802407F8 A64200A8 */ sh $v0, 0xa8($s2) +.L802407FC: +/* A9D42C 802407FC 0260202D */ daddu $a0, $s3, $zero +/* A9D430 80240800 0280282D */ daddu $a1, $s4, $zero +/* A9D434 80240804 0C0125AE */ jal func_800496B8 +/* A9D438 80240808 02A0302D */ daddu $a2, $s5, $zero +/* A9D43C 8024080C 0809023C */ j .L802408F0 +/* A9D440 80240810 00000000 */ nop +.L80240814: +/* A9D444 80240814 0260202D */ daddu $a0, $s3, $zero +/* A9D448 80240818 0280282D */ daddu $a1, $s4, $zero +/* A9D44C 8024081C 0C0126D1 */ jal func_80049B44 +/* A9D450 80240820 02A0302D */ daddu $a2, $s5, $zero +/* A9D454 80240824 8E230088 */ lw $v1, 0x88($s1) +/* A9D458 80240828 24020006 */ addiu $v0, $zero, 6 +/* A9D45C 8024082C 14620014 */ bne $v1, $v0, .L80240880 +/* A9D460 80240830 0260202D */ daddu $a0, $s3, $zero +/* A9D464 80240834 0C00A67F */ jal rand_int +/* A9D468 80240838 24040064 */ addiu $a0, $zero, 0x64 +/* A9D46C 8024083C 28420021 */ slti $v0, $v0, 0x21 +/* A9D470 80240840 5040000F */ beql $v0, $zero, .L80240880 +/* A9D474 80240844 0260202D */ daddu $a0, $s3, $zero +/* A9D478 80240848 8E22008C */ lw $v0, 0x8c($s1) +/* A9D47C 8024084C 10400005 */ beqz $v0, .L80240864 +/* A9D480 80240850 3C020055 */ lui $v0, 0x55 +/* A9D484 80240854 3442002F */ ori $v0, $v0, 0x2f +/* A9D488 80240858 AE20008C */ sw $zero, 0x8c($s1) +/* A9D48C 8024085C 0809021C */ j .L80240870 +/* A9D490 80240860 A22000B5 */ sb $zero, 0xb5($s1) +.L80240864: +/* A9D494 80240864 3442002E */ ori $v0, $v0, 0x2e +/* A9D498 80240868 AE30008C */ sw $s0, 0x8c($s1) +/* A9D49C 8024086C A23000B5 */ sb $s0, 0xb5($s1) +.L80240870: +/* A9D4A0 80240870 AE420028 */ sw $v0, 0x28($s2) +/* A9D4A4 80240874 24020007 */ addiu $v0, $zero, 7 +/* A9D4A8 80240878 08090257 */ j .L8024095C +/* A9D4AC 8024087C AE220090 */ sw $v0, 0x90($s1) +.L80240880: +/* A9D4B0 80240880 0280282D */ daddu $a1, $s4, $zero +/* A9D4B4 80240884 0C012701 */ jal func_80049C04 +/* A9D4B8 80240888 02A0302D */ daddu $a2, $s5, $zero +/* A9D4BC 8024088C 0809023C */ j .L802408F0 +/* A9D4C0 80240890 00000000 */ nop +.L80240894: +/* A9D4C4 80240894 0260202D */ daddu $a0, $s3, $zero +/* A9D4C8 80240898 0280282D */ daddu $a1, $s4, $zero +/* A9D4CC 8024089C 0C09006C */ jal func_802401B0 +/* A9D4D0 802408A0 02A0302D */ daddu $a2, $s5, $zero +/* A9D4D4 802408A4 0260202D */ daddu $a0, $s3, $zero +.L802408A8: +/* A9D4D8 802408A8 0280282D */ daddu $a1, $s4, $zero +/* A9D4DC 802408AC 0C09008B */ jal func_8024022C +/* A9D4E0 802408B0 02A0302D */ daddu $a2, $s5, $zero +/* A9D4E4 802408B4 0809023C */ j .L802408F0 +/* A9D4E8 802408B8 00000000 */ nop +.L802408BC: +/* A9D4EC 802408BC 0260202D */ daddu $a0, $s3, $zero +/* A9D4F0 802408C0 0280282D */ daddu $a1, $s4, $zero +/* A9D4F4 802408C4 0C0900D8 */ jal func_80240360 +/* A9D4F8 802408C8 02A0302D */ daddu $a2, $s5, $zero +/* A9D4FC 802408CC 0809023C */ j .L802408F0 +/* A9D500 802408D0 00000000 */ nop +.L802408D4: +/* A9D504 802408D4 0280282D */ daddu $a1, $s4, $zero +/* A9D508 802408D8 0C090131 */ jal func_802404C4 +/* A9D50C 802408DC 02A0302D */ daddu $a2, $s5, $zero +/* A9D510 802408E0 0809023C */ j .L802408F0 +/* A9D514 802408E4 00000000 */ nop +.L802408E8: +/* A9D518 802408E8 0C0129CF */ jal func_8004A73C +/* A9D51C 802408EC 0260202D */ daddu $a0, $s3, $zero +.L802408F0: +/* A9D520 802408F0 8E230088 */ lw $v1, 0x88($s1) +/* A9D524 802408F4 24020006 */ addiu $v0, $zero, 6 +/* A9D528 802408F8 14620019 */ bne $v1, $v0, .L80240960 +/* A9D52C 802408FC 0000102D */ daddu $v0, $zero, $zero +/* A9D530 80240900 8E22008C */ lw $v0, 0x8c($s1) +/* A9D534 80240904 10400003 */ beqz $v0, .L80240914 +/* A9D538 80240908 24020001 */ addiu $v0, $zero, 1 +/* A9D53C 8024090C 08090246 */ j .L80240918 +/* A9D540 80240910 A22200B5 */ sb $v0, 0xb5($s1) +.L80240914: +/* A9D544 80240914 A22000B5 */ sb $zero, 0xb5($s1) +.L80240918: +/* A9D548 80240918 8E22008C */ lw $v0, 0x8c($s1) +/* A9D54C 8024091C 1040000F */ beqz $v0, .L8024095C +/* A9D550 80240920 3C03FFAA */ lui $v1, 0xffaa +/* A9D554 80240924 8E420028 */ lw $v0, 0x28($s2) +/* A9D558 80240928 3463FFFC */ ori $v1, $v1, 0xfffc +/* A9D55C 8024092C 00431821 */ addu $v1, $v0, $v1 +/* A9D560 80240930 2C620015 */ sltiu $v0, $v1, 0x15 +/* A9D564 80240934 10400009 */ beqz $v0, .L8024095C +/* A9D568 80240938 00031080 */ sll $v0, $v1, 2 +/* A9D56C 8024093C 3C018024 */ lui $at, 0x8024 +/* A9D570 80240940 00220821 */ addu $at, $at, $v0 +/* A9D574 80240944 8C221CF8 */ lw $v0, 0x1cf8($at) +/* A9D578 80240948 00400008 */ jr $v0 +/* A9D57C 8024094C 00000000 */ nop +/* A9D580 80240950 8E420028 */ lw $v0, 0x28($s2) +/* A9D584 80240954 24420001 */ addiu $v0, $v0, 1 +/* A9D588 80240958 AE420028 */ sw $v0, 0x28($s2) +.L8024095C: +/* A9D58C 8024095C 0000102D */ daddu $v0, $zero, $zero +.L80240960: +/* A9D590 80240960 8FBF0068 */ lw $ra, 0x68($sp) +/* A9D594 80240964 8FB50064 */ lw $s5, 0x64($sp) +/* A9D598 80240968 8FB40060 */ lw $s4, 0x60($sp) +/* A9D59C 8024096C 8FB3005C */ lw $s3, 0x5c($sp) +/* A9D5A0 80240970 8FB20058 */ lw $s2, 0x58($sp) +/* A9D5A4 80240974 8FB10054 */ lw $s1, 0x54($sp) +/* A9D5A8 80240978 8FB00050 */ lw $s0, 0x50($sp) +/* A9D5AC 8024097C 03E00008 */ jr $ra +/* A9D5B0 80240980 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240984_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240984_A9CC30.s new file mode 100644 index 0000000000..a34ab8813b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240984_A9CC30.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984_A9D5B4 +/* A9D5B4 80240984 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9D5B8 80240988 AFBF0010 */ sw $ra, 0x10($sp) +/* A9D5BC 8024098C 0C00EAD2 */ jal get_npc_safe +/* A9D5C0 80240990 8C84014C */ lw $a0, 0x14c($a0) +/* A9D5C4 80240994 0040182D */ daddu $v1, $v0, $zero +/* A9D5C8 80240998 846200A8 */ lh $v0, 0xa8($v1) +/* A9D5CC 8024099C C462003C */ lwc1 $f2, 0x3c($v1) +/* A9D5D0 802409A0 906400A9 */ lbu $a0, 0xa9($v1) +/* A9D5D4 802409A4 44820000 */ mtc1 $v0, $f0 +/* A9D5D8 802409A8 00000000 */ nop +/* A9D5DC 802409AC 46800020 */ cvt.s.w $f0, $f0 +/* A9D5E0 802409B0 46001081 */ sub.s $f2, $f2, $f0 +/* A9D5E4 802409B4 A06400AB */ sb $a0, 0xab($v1) +/* A9D5E8 802409B8 E462003C */ swc1 $f2, 0x3c($v1) +/* A9D5EC 802409BC 8FBF0010 */ lw $ra, 0x10($sp) +/* A9D5F0 802409C0 24020002 */ addiu $v0, $zero, 2 +/* A9D5F4 802409C4 03E00008 */ jr $ra +/* A9D5F8 802409C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_802409CC.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_802409CC.s new file mode 100644 index 0000000000..850ba7b900 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_802409CC.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409CC +/* A9D5FC 802409CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9D600 802409D0 AFBF0010 */ sw $ra, 0x10($sp) +/* A9D604 802409D4 0C00EAD2 */ jal get_npc_safe +/* A9D608 802409D8 8C84014C */ lw $a0, 0x14c($a0) +/* A9D60C 802409DC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* A9D610 802409E0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* A9D614 802409E4 C44C0038 */ lwc1 $f12, 0x38($v0) +/* A9D618 802409E8 C44E0040 */ lwc1 $f14, 0x40($v0) +/* A9D61C 802409EC 8C660028 */ lw $a2, 0x28($v1) +/* A9D620 802409F0 0C00A7B5 */ jal dist2D +/* A9D624 802409F4 8C670030 */ lw $a3, 0x30($v1) +/* A9D628 802409F8 3C014248 */ lui $at, 0x4248 +/* A9D62C 802409FC 44811000 */ mtc1 $at, $f2 +/* A9D630 80240A00 00000000 */ nop +/* A9D634 80240A04 4602003C */ c.lt.s $f0, $f2 +/* A9D638 80240A08 00000000 */ nop +/* A9D63C 80240A0C 45010002 */ bc1t .L80240A18 +/* A9D640 80240A10 24020002 */ addiu $v0, $zero, 2 +/* A9D644 80240A14 0000102D */ daddu $v0, $zero, $zero +.L80240A18: +/* A9D648 80240A18 8FBF0010 */ lw $ra, 0x10($sp) +/* A9D64C 80240A1C 03E00008 */ jr $ra +/* A9D650 80240A20 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_113/func_80240A24_A9CC30.s b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240A24_A9CC30.s new file mode 100644 index 0000000000..64045de3e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_113/func_80240A24_A9CC30.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A24_A9D654 +/* A9D654 80240A24 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A9D658 80240A28 0080102D */ daddu $v0, $a0, $zero +/* A9D65C 80240A2C AFB00010 */ sw $s0, 0x10($sp) +/* A9D660 80240A30 AFBF0018 */ sw $ra, 0x18($sp) +/* A9D664 80240A34 AFB10014 */ sw $s1, 0x14($sp) +/* A9D668 80240A38 8C44014C */ lw $a0, 0x14c($v0) +/* A9D66C 80240A3C 8C510148 */ lw $s1, 0x148($v0) +/* A9D670 80240A40 0C00EAD2 */ jal get_npc_safe +/* A9D674 80240A44 00A0802D */ daddu $s0, $a1, $zero +/* A9D678 80240A48 56000001 */ bnel $s0, $zero, .L80240A50 +/* A9D67C 80240A4C A04000AB */ sb $zero, 0xab($v0) +.L80240A50: +/* A9D680 80240A50 8C420000 */ lw $v0, ($v0) +/* A9D684 80240A54 30421000 */ andi $v0, $v0, 0x1000 +/* A9D688 80240A58 1040000A */ beqz $v0, .L80240A84 +/* A9D68C 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* A9D690 80240A60 82220004 */ lb $v0, 4($s1) +/* A9D694 80240A64 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* A9D698 80240A68 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* A9D69C 80240A6C 00021080 */ sll $v0, $v0, 2 +/* A9D6A0 80240A70 00431021 */ addu $v0, $v0, $v1 +/* A9D6A4 80240A74 8C440028 */ lw $a0, 0x28($v0) +/* A9D6A8 80240A78 9623006E */ lhu $v1, 0x6e($s1) +/* A9D6AC 80240A7C 24020002 */ addiu $v0, $zero, 2 +/* A9D6B0 80240A80 A4830044 */ sh $v1, 0x44($a0) +.L80240A84: +/* A9D6B4 80240A84 8FBF0018 */ lw $ra, 0x18($sp) +/* A9D6B8 80240A88 8FB10014 */ lw $s1, 0x14($sp) +/* A9D6BC 80240A8C 8FB00010 */ lw $s0, 0x10($sp) +/* A9D6C0 80240A90 03E00008 */ jr $ra +/* A9D6C4 80240A94 27BD0020 */ addiu $sp, $sp, 0x20 +/* A9D6C8 80240A98 00000000 */ nop +/* A9D6CC 80240A9C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_114/func_80240000_A9E980.s b/asm/nonmatchings/world/area_kpa/kpa_114/func_80240000_A9E980.s new file mode 100644 index 0000000000..1dac983c2c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_114/func_80240000_A9E980.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A9E980 +/* A9E980 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9E984 80240004 3C04800E */ lui $a0, 0x800e +/* A9E988 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A9E98C 8024000C 3C058024 */ lui $a1, 0x8024 +/* A9E990 80240010 24A50390 */ addiu $a1, $a1, 0x390 +/* A9E994 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A9E998 80240018 0C01953C */ jal sprintf +/* A9E99C 8024001C 00000000 */ nop +/* A9E9A0 80240020 3C04800E */ lui $a0, 0x800e +/* A9E9A4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A9E9A8 80240028 3C058024 */ lui $a1, 0x8024 +/* A9E9AC 8024002C 0C01953C */ jal sprintf +/* A9E9B0 80240030 24A503A0 */ addiu $a1, $a1, 0x3a0 +/* A9E9B4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A9E9B8 80240038 0000102D */ daddu $v0, $zero, $zero +/* A9E9BC 8024003C 03E00008 */ jr $ra +/* A9E9C0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A9E9C4 80240044 00000000 */ nop +/* A9E9C8 80240048 00000000 */ nop +/* A9E9CC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80240000_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240000_A9ED40.s new file mode 100644 index 0000000000..f9602a02c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240000_A9ED40.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A9ED40 +/* A9ED40 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9ED44 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A9ED48 80240008 0080802D */ daddu $s0, $a0, $zero +/* A9ED4C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A9ED50 80240010 8E02000C */ lw $v0, 0xc($s0) +/* A9ED54 80240014 0C0B1EAF */ jal get_variable +/* A9ED58 80240018 8C450000 */ lw $a1, ($v0) +/* A9ED5C 8024001C 0040302D */ daddu $a2, $v0, $zero +/* A9ED60 80240020 3C058016 */ lui $a1, 0x8016 +/* A9ED64 80240024 84A5A550 */ lh $a1, -0x5ab0($a1) +/* A9ED68 80240028 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* A9ED6C 8024002C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* A9ED70 80240030 10A60004 */ beq $a1, $a2, .L80240044 +/* A9ED74 80240034 24020014 */ addiu $v0, $zero, 0x14 +/* A9ED78 80240038 808300B4 */ lb $v1, 0xb4($a0) +/* A9ED7C 8024003C 10620006 */ beq $v1, $v0, .L80240058 +/* A9ED80 80240040 00000000 */ nop +.L80240044: +/* A9ED84 80240044 8C820014 */ lw $v0, 0x14($a0) +/* A9ED88 80240048 3C03FFFF */ lui $v1, 0xffff +/* A9ED8C 8024004C 00431024 */ and $v0, $v0, $v1 +/* A9ED90 80240050 10400005 */ beqz $v0, .L80240068 +/* A9ED94 80240054 00000000 */ nop +.L80240058: +/* A9ED98 80240058 0C039769 */ jal set_action_state +/* A9ED9C 8024005C 0000202D */ daddu $a0, $zero, $zero +/* A9EDA0 80240060 0809002A */ j .L802400A8 +/* A9EDA4 80240064 AE000084 */ sw $zero, 0x84($s0) +.L80240068: +/* A9EDA8 80240068 54A6000F */ bnel $a1, $a2, .L802400A8 +/* A9EDAC 8024006C AE000084 */ sw $zero, 0x84($s0) +/* A9EDB0 80240070 808300B4 */ lb $v1, 0xb4($a0) +/* A9EDB4 80240074 24020014 */ addiu $v0, $zero, 0x14 +/* A9EDB8 80240078 10620005 */ beq $v1, $v0, .L80240090 +/* A9EDBC 8024007C 24020001 */ addiu $v0, $zero, 1 +/* A9EDC0 80240080 10620003 */ beq $v1, $v0, .L80240090 +/* A9EDC4 80240084 24020002 */ addiu $v0, $zero, 2 +/* A9EDC8 80240088 54620008 */ bnel $v1, $v0, .L802400AC +/* A9EDCC 8024008C AE000084 */ sw $zero, 0x84($s0) +.L80240090: +/* A9EDD0 80240090 8C820004 */ lw $v0, 4($a0) +/* A9EDD4 80240094 30420001 */ andi $v0, $v0, 1 +/* A9EDD8 80240098 54400003 */ bnel $v0, $zero, .L802400A8 +/* A9EDDC 8024009C AE000084 */ sw $zero, 0x84($s0) +/* A9EDE0 802400A0 24020001 */ addiu $v0, $zero, 1 +/* A9EDE4 802400A4 AE020084 */ sw $v0, 0x84($s0) +.L802400A8: +/* A9EDE8 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* A9EDEC 802400AC 8FBF0014 */ lw $ra, 0x14($sp) +/* A9EDF0 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* A9EDF4 802400B4 03E00008 */ jr $ra +/* A9EDF8 802400B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_802400BC_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_802400BC_A9ED40.s new file mode 100644 index 0000000000..a984b207f9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_802400BC_A9ED40.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_A9EDFC +/* A9EDFC 802400BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A9EE00 802400C0 AFBF002C */ sw $ra, 0x2c($sp) +/* A9EE04 802400C4 AFB00028 */ sw $s0, 0x28($sp) +/* A9EE08 802400C8 8C820098 */ lw $v0, 0x98($a0) +/* A9EE0C 802400CC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A9EE10 802400D0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A9EE14 802400D4 14400005 */ bnez $v0, .L802400EC +/* A9EE18 802400D8 00000000 */ nop +/* A9EE1C 802400DC C4800084 */ lwc1 $f0, 0x84($a0) +/* A9EE20 802400E0 46800020 */ cvt.s.w $f0, $f0 +/* A9EE24 802400E4 0809003E */ j .L802400F8 +/* A9EE28 802400E8 E6000028 */ swc1 $f0, 0x28($s0) +.L802400EC: +/* A9EE2C 802400EC C4800084 */ lwc1 $f0, 0x84($a0) +/* A9EE30 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* A9EE34 802400F4 E6000030 */ swc1 $f0, 0x30($s0) +.L802400F8: +/* A9EE38 802400F8 27A20024 */ addiu $v0, $sp, 0x24 +/* A9EE3C 802400FC 0000202D */ daddu $a0, $zero, $zero +/* A9EE40 80240100 27A50018 */ addiu $a1, $sp, 0x18 +/* A9EE44 80240104 27A6001C */ addiu $a2, $sp, 0x1c +/* A9EE48 80240108 C6000028 */ lwc1 $f0, 0x28($s0) +/* A9EE4C 8024010C 3C014120 */ lui $at, 0x4120 +/* A9EE50 80240110 44811000 */ mtc1 $at, $f2 +/* A9EE54 80240114 3C014220 */ lui $at, 0x4220 +/* A9EE58 80240118 44813000 */ mtc1 $at, $f6 +/* A9EE5C 8024011C 27A70020 */ addiu $a3, $sp, 0x20 +/* A9EE60 80240120 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9EE64 80240124 C600002C */ lwc1 $f0, 0x2c($s0) +/* A9EE68 80240128 C6040030 */ lwc1 $f4, 0x30($s0) +/* A9EE6C 8024012C 46020000 */ add.s $f0, $f0, $f2 +/* A9EE70 80240130 E7A60024 */ swc1 $f6, 0x24($sp) +/* A9EE74 80240134 E7A40020 */ swc1 $f4, 0x20($sp) +/* A9EE78 80240138 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9EE7C 8024013C 0C0372DF */ jal func_800DCB7C +/* A9EE80 80240140 AFA20010 */ sw $v0, 0x10($sp) +/* A9EE84 80240144 C7A00018 */ lwc1 $f0, 0x18($sp) +/* A9EE88 80240148 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* A9EE8C 8024014C C7A40020 */ lwc1 $f4, 0x20($sp) +/* A9EE90 80240150 E6000028 */ swc1 $f0, 0x28($s0) +/* A9EE94 80240154 E602002C */ swc1 $f2, 0x2c($s0) +/* A9EE98 80240158 E6040030 */ swc1 $f4, 0x30($s0) +/* A9EE9C 8024015C 8FBF002C */ lw $ra, 0x2c($sp) +/* A9EEA0 80240160 8FB00028 */ lw $s0, 0x28($sp) +/* A9EEA4 80240164 24020002 */ addiu $v0, $zero, 2 +/* A9EEA8 80240168 03E00008 */ jr $ra +/* A9EEAC 8024016C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80240170_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240170_A9ED40.s new file mode 100644 index 0000000000..1565a907e6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240170_A9ED40.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_A9EEB0 +/* A9EEB0 80240170 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A9EEB4 80240174 AFB10014 */ sw $s1, 0x14($sp) +/* A9EEB8 80240178 0080882D */ daddu $s1, $a0, $zero +/* A9EEBC 8024017C 3C05800B */ lui $a1, %hi(gCameras) +/* A9EEC0 80240180 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A9EEC4 80240184 AFBF0020 */ sw $ra, 0x20($sp) +/* A9EEC8 80240188 AFB3001C */ sw $s3, 0x1c($sp) +/* A9EECC 8024018C AFB20018 */ sw $s2, 0x18($sp) +/* A9EED0 80240190 AFB00010 */ sw $s0, 0x10($sp) +/* A9EED4 80240194 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A9EED8 80240198 8E330148 */ lw $s3, 0x148($s1) +/* A9EEDC 8024019C 3C03800A */ lui $v1, 0x800a +/* A9EEE0 802401A0 8463A634 */ lh $v1, -0x59cc($v1) +/* A9EEE4 802401A4 8E30000C */ lw $s0, 0xc($s1) +/* A9EEE8 802401A8 00031080 */ sll $v0, $v1, 2 +/* A9EEEC 802401AC 00431021 */ addu $v0, $v0, $v1 +/* A9EEF0 802401B0 00021080 */ sll $v0, $v0, 2 +/* A9EEF4 802401B4 00431023 */ subu $v0, $v0, $v1 +/* A9EEF8 802401B8 000218C0 */ sll $v1, $v0, 3 +/* A9EEFC 802401BC 00431021 */ addu $v0, $v0, $v1 +/* A9EF00 802401C0 000210C0 */ sll $v0, $v0, 3 +/* A9EF04 802401C4 86640008 */ lh $a0, 8($s3) +/* A9EF08 802401C8 0C00EABB */ jal get_npc_unsafe +/* A9EF0C 802401CC 00459021 */ addu $s2, $v0, $a1 +/* A9EF10 802401D0 0220202D */ daddu $a0, $s1, $zero +/* A9EF14 802401D4 8E050000 */ lw $a1, ($s0) +/* A9EF18 802401D8 0C0B1EAF */ jal get_variable +/* A9EF1C 802401DC 0040802D */ daddu $s0, $v0, $zero +/* A9EF20 802401E0 0260202D */ daddu $a0, $s3, $zero +/* A9EF24 802401E4 8C460024 */ lw $a2, 0x24($v0) +/* A9EF28 802401E8 8C470028 */ lw $a3, 0x28($v0) +/* A9EF2C 802401EC 0C0124FB */ jal func_800493EC +/* A9EF30 802401F0 0000282D */ daddu $a1, $zero, $zero +/* A9EF34 802401F4 10400052 */ beqz $v0, .L80240340 +/* A9EF38 802401F8 2402FFFF */ addiu $v0, $zero, -1 +/* A9EF3C 802401FC C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9EF40 80240200 C60E000C */ lwc1 $f14, 0xc($s0) +/* A9EF44 80240204 3C014387 */ lui $at, 0x4387 +/* A9EF48 80240208 4481A000 */ mtc1 $at, $f20 +/* A9EF4C 8024020C 0C00A70A */ jal get_clamped_angle_diff +/* A9EF50 80240210 00000000 */ nop +/* A9EF54 80240214 0C00A6C9 */ jal clamp_angle +/* A9EF58 80240218 46000306 */ mov.s $f12, $f0 +/* A9EF5C 8024021C 3C018024 */ lui $at, 0x8024 +/* A9EF60 80240220 D4222FE0 */ ldc1 $f2, 0x2fe0($at) +/* A9EF64 80240224 46000021 */ cvt.d.s $f0, $f0 +/* A9EF68 80240228 4622003C */ c.lt.d $f0, $f2 +/* A9EF6C 8024022C 00000000 */ nop +/* A9EF70 80240230 45000003 */ bc1f .L80240240 +/* A9EF74 80240234 00000000 */ nop +/* A9EF78 80240238 3C0142B4 */ lui $at, 0x42b4 +/* A9EF7C 8024023C 4481A000 */ mtc1 $at, $f20 +.L80240240: +/* A9EF80 80240240 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A9EF84 80240244 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A9EF88 80240248 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A9EF8C 8024024C 8E220000 */ lw $v0, ($s1) +/* A9EF90 80240250 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A9EF94 80240254 8C460028 */ lw $a2, 0x28($v0) +/* A9EF98 80240258 0C00A720 */ jal atan2 +/* A9EF9C 8024025C 8C470030 */ lw $a3, 0x30($v0) +/* A9EFA0 80240260 4600A306 */ mov.s $f12, $f20 +/* A9EFA4 80240264 0C00A70A */ jal get_clamped_angle_diff +/* A9EFA8 80240268 46000386 */ mov.s $f14, $f0 +/* A9EFAC 8024026C 46000005 */ abs.s $f0, $f0 +/* A9EFB0 80240270 3C018024 */ lui $at, 0x8024 +/* A9EFB4 80240274 D4222FE8 */ ldc1 $f2, 0x2fe8($at) +/* A9EFB8 80240278 46000021 */ cvt.d.s $f0, $f0 +/* A9EFBC 8024027C 4620103C */ c.lt.d $f2, $f0 +/* A9EFC0 80240280 00000000 */ nop +/* A9EFC4 80240284 4501002E */ bc1t .L80240340 +/* A9EFC8 80240288 2402FFFF */ addiu $v0, $zero, -1 +/* A9EFCC 8024028C 8E220000 */ lw $v0, ($s1) +/* A9EFD0 80240290 C600003C */ lwc1 $f0, 0x3c($s0) +/* A9EFD4 80240294 C442002C */ lwc1 $f2, 0x2c($v0) +/* A9EFD8 80240298 860200A8 */ lh $v0, 0xa8($s0) +/* A9EFDC 8024029C 46020001 */ sub.s $f0, $f0, $f2 +/* A9EFE0 802402A0 44821000 */ mtc1 $v0, $f2 +/* A9EFE4 802402A4 00000000 */ nop +/* A9EFE8 802402A8 468010A1 */ cvt.d.w $f2, $f2 +/* A9EFEC 802402AC 46221080 */ add.d $f2, $f2, $f2 +/* A9EFF0 802402B0 46000005 */ abs.s $f0, $f0 +/* A9EFF4 802402B4 46000021 */ cvt.d.s $f0, $f0 +/* A9EFF8 802402B8 4620103E */ c.le.d $f2, $f0 +/* A9EFFC 802402BC 00000000 */ nop +/* A9F000 802402C0 4501001F */ bc1t .L80240340 +/* A9F004 802402C4 2402FFFF */ addiu $v0, $zero, -1 +/* A9F008 802402C8 3C038011 */ lui $v1, 0x8011 +/* A9F00C 802402CC 8063EBB3 */ lb $v1, -0x144d($v1) +/* A9F010 802402D0 24020009 */ addiu $v0, $zero, 9 +/* A9F014 802402D4 10620019 */ beq $v1, $v0, .L8024033C +/* A9F018 802402D8 24020007 */ addiu $v0, $zero, 7 +/* A9F01C 802402DC 14620005 */ bne $v1, $v0, .L802402F4 +/* A9F020 802402E0 2402FFFF */ addiu $v0, $zero, -1 +/* A9F024 802402E4 080900D0 */ j .L80240340 +/* A9F028 802402E8 00000000 */ nop +.L802402EC: +/* A9F02C 802402EC 080900D0 */ j .L80240340 +/* A9F030 802402F0 0240102D */ daddu $v0, $s2, $zero +.L802402F4: +/* A9F034 802402F4 8E620078 */ lw $v0, 0x78($s3) +/* A9F038 802402F8 18400010 */ blez $v0, .L8024033C +/* A9F03C 802402FC 0000882D */ daddu $s1, $zero, $zero +.L80240300: +/* A9F040 80240300 86620008 */ lh $v0, 8($s3) +/* A9F044 80240304 00511021 */ addu $v0, $v0, $s1 +/* A9F048 80240308 24520001 */ addiu $s2, $v0, 1 +/* A9F04C 8024030C 0C00FB3A */ jal get_enemy +/* A9F050 80240310 0240202D */ daddu $a0, $s2, $zero +/* A9F054 80240314 0240202D */ daddu $a0, $s2, $zero +/* A9F058 80240318 0C00EABB */ jal get_npc_unsafe +/* A9F05C 8024031C 0040802D */ daddu $s0, $v0, $zero +/* A9F060 80240320 8E02006C */ lw $v0, 0x6c($s0) +/* A9F064 80240324 1040FFF1 */ beqz $v0, .L802402EC +/* A9F068 80240328 26310001 */ addiu $s1, $s1, 1 +/* A9F06C 8024032C 8E620078 */ lw $v0, 0x78($s3) +/* A9F070 80240330 0222102A */ slt $v0, $s1, $v0 +/* A9F074 80240334 1440FFF2 */ bnez $v0, .L80240300 +/* A9F078 80240338 00000000 */ nop +.L8024033C: +/* A9F07C 8024033C 2402FFFF */ addiu $v0, $zero, -1 +.L80240340: +/* A9F080 80240340 8FBF0020 */ lw $ra, 0x20($sp) +/* A9F084 80240344 8FB3001C */ lw $s3, 0x1c($sp) +/* A9F088 80240348 8FB20018 */ lw $s2, 0x18($sp) +/* A9F08C 8024034C 8FB10014 */ lw $s1, 0x14($sp) +/* A9F090 80240350 8FB00010 */ lw $s0, 0x10($sp) +/* A9F094 80240354 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A9F098 80240358 03E00008 */ jr $ra +/* A9F09C 8024035C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80240360_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240360_A9ED40.s new file mode 100644 index 0000000000..5f7ae41fd4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240360_A9ED40.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_A9F0A0 +/* A9F0A0 80240360 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A9F0A4 80240364 AFB20038 */ sw $s2, 0x38($sp) +/* A9F0A8 80240368 0080902D */ daddu $s2, $a0, $zero +/* A9F0AC 8024036C AFB00030 */ sw $s0, 0x30($sp) +/* A9F0B0 80240370 AFBF003C */ sw $ra, 0x3c($sp) +/* A9F0B4 80240374 AFB10034 */ sw $s1, 0x34($sp) +/* A9F0B8 80240378 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A9F0BC 8024037C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A9F0C0 80240380 8E510148 */ lw $s1, 0x148($s2) +/* A9F0C4 80240384 4485A000 */ mtc1 $a1, $f20 +/* A9F0C8 80240388 86240008 */ lh $a0, 8($s1) +/* A9F0CC 8024038C 4486B000 */ mtc1 $a2, $f22 +/* A9F0D0 80240390 0C00EABB */ jal get_npc_unsafe +/* A9F0D4 80240394 00E0802D */ daddu $s0, $a3, $zero +/* A9F0D8 80240398 0200202D */ daddu $a0, $s0, $zero +/* A9F0DC 8024039C 0220282D */ daddu $a1, $s1, $zero +/* A9F0E0 802403A0 24030001 */ addiu $v1, $zero, 1 +/* A9F0E4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* A9F0E8 802403A8 4407B000 */ mfc1 $a3, $f22 +/* A9F0EC 802403AC 0040802D */ daddu $s0, $v0, $zero +/* A9F0F0 802403B0 0C01242D */ jal func_800490B4 +/* A9F0F4 802403B4 AFA30010 */ sw $v1, 0x10($sp) +/* A9F0F8 802403B8 1440001D */ bnez $v0, .L80240430 +/* A9F0FC 802403BC 24040002 */ addiu $a0, $zero, 2 +/* A9F100 802403C0 0200282D */ daddu $a1, $s0, $zero +/* A9F104 802403C4 0000302D */ daddu $a2, $zero, $zero +/* A9F108 802403C8 860300A8 */ lh $v1, 0xa8($s0) +/* A9F10C 802403CC 3C013F80 */ lui $at, 0x3f80 +/* A9F110 802403D0 44810000 */ mtc1 $at, $f0 +/* A9F114 802403D4 3C014000 */ lui $at, 0x4000 +/* A9F118 802403D8 44811000 */ mtc1 $at, $f2 +/* A9F11C 802403DC 3C01C1A0 */ lui $at, 0xc1a0 +/* A9F120 802403E0 44812000 */ mtc1 $at, $f4 +/* A9F124 802403E4 2402000F */ addiu $v0, $zero, 0xf +/* A9F128 802403E8 AFA2001C */ sw $v0, 0x1c($sp) +/* A9F12C 802403EC 44833000 */ mtc1 $v1, $f6 +/* A9F130 802403F0 00000000 */ nop +/* A9F134 802403F4 468031A0 */ cvt.s.w $f6, $f6 +/* A9F138 802403F8 44073000 */ mfc1 $a3, $f6 +/* A9F13C 802403FC 27A20028 */ addiu $v0, $sp, 0x28 +/* A9F140 80240400 AFA20020 */ sw $v0, 0x20($sp) +/* A9F144 80240404 E7A00010 */ swc1 $f0, 0x10($sp) +/* A9F148 80240408 E7A20014 */ swc1 $f2, 0x14($sp) +/* A9F14C 8024040C 0C01BFA4 */ jal fx_emote +/* A9F150 80240410 E7A40018 */ swc1 $f4, 0x18($sp) +/* A9F154 80240414 8E2200CC */ lw $v0, 0xcc($s1) +/* A9F158 80240418 8C430000 */ lw $v1, ($v0) +/* A9F15C 8024041C 24020014 */ addiu $v0, $zero, 0x14 +/* A9F160 80240420 A602008E */ sh $v0, 0x8e($s0) +/* A9F164 80240424 24020021 */ addiu $v0, $zero, 0x21 +/* A9F168 80240428 08090120 */ j .L80240480 +/* A9F16C 8024042C AE030028 */ sw $v1, 0x28($s0) +.L80240430: +/* A9F170 80240430 0C09005C */ jal func_80240170 +/* A9F174 80240434 0240202D */ daddu $a0, $s2, $zero +/* A9F178 80240438 0040202D */ daddu $a0, $v0, $zero +/* A9F17C 8024043C 2402FFFF */ addiu $v0, $zero, -1 +/* A9F180 80240440 10820010 */ beq $a0, $v0, .L80240484 +/* A9F184 80240444 00000000 */ nop +/* A9F188 80240448 0C00FB3A */ jal get_enemy +/* A9F18C 8024044C 00000000 */ nop +/* A9F190 80240450 8C42006C */ lw $v0, 0x6c($v0) +/* A9F194 80240454 1440000B */ bnez $v0, .L80240484 +/* A9F198 80240458 00000000 */ nop +/* A9F19C 8024045C 8602008C */ lh $v0, 0x8c($s0) +/* A9F1A0 80240460 14400008 */ bnez $v0, .L80240484 +/* A9F1A4 80240464 00000000 */ nop +/* A9F1A8 80240468 8E2200CC */ lw $v0, 0xcc($s1) +/* A9F1AC 8024046C 8C420020 */ lw $v0, 0x20($v0) +/* A9F1B0 80240470 AE020028 */ sw $v0, 0x28($s0) +/* A9F1B4 80240474 96220072 */ lhu $v0, 0x72($s1) +/* A9F1B8 80240478 A602008E */ sh $v0, 0x8e($s0) +/* A9F1BC 8024047C 2402001E */ addiu $v0, $zero, 0x1e +.L80240480: +/* A9F1C0 80240480 AE420070 */ sw $v0, 0x70($s2) +.L80240484: +/* A9F1C4 80240484 8FBF003C */ lw $ra, 0x3c($sp) +/* A9F1C8 80240488 8FB20038 */ lw $s2, 0x38($sp) +/* A9F1CC 8024048C 8FB10034 */ lw $s1, 0x34($sp) +/* A9F1D0 80240490 8FB00030 */ lw $s0, 0x30($sp) +/* A9F1D4 80240494 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A9F1D8 80240498 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A9F1DC 8024049C 03E00008 */ jr $ra +/* A9F1E0 802404A0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_802404A4_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_802404A4_A9ED40.s new file mode 100644 index 0000000000..f85730e8ce --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_802404A4_A9ED40.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A4_A9F1E4 +/* A9F1E4 802404A4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A9F1E8 802404A8 AFB20038 */ sw $s2, 0x38($sp) +/* A9F1EC 802404AC 0080902D */ daddu $s2, $a0, $zero +/* A9F1F0 802404B0 AFBF003C */ sw $ra, 0x3c($sp) +/* A9F1F4 802404B4 AFB10034 */ sw $s1, 0x34($sp) +/* A9F1F8 802404B8 AFB00030 */ sw $s0, 0x30($sp) +/* A9F1FC 802404BC 8E510148 */ lw $s1, 0x148($s2) +/* A9F200 802404C0 0C00EABB */ jal get_npc_unsafe +/* A9F204 802404C4 86240008 */ lh $a0, 8($s1) +/* A9F208 802404C8 0040802D */ daddu $s0, $v0, $zero +/* A9F20C 802404CC 9602008E */ lhu $v0, 0x8e($s0) +/* A9F210 802404D0 2442FFFF */ addiu $v0, $v0, -1 +/* A9F214 802404D4 A602008E */ sh $v0, 0x8e($s0) +/* A9F218 802404D8 00021400 */ sll $v0, $v0, 0x10 +/* A9F21C 802404DC 1C40002B */ bgtz $v0, .L8024058C +/* A9F220 802404E0 00000000 */ nop +/* A9F224 802404E4 0C09005C */ jal func_80240170 +/* A9F228 802404E8 0240202D */ daddu $a0, $s2, $zero +/* A9F22C 802404EC 0040202D */ daddu $a0, $v0, $zero +/* A9F230 802404F0 0481001A */ bgez $a0, .L8024055C +/* A9F234 802404F4 2402000F */ addiu $v0, $zero, 0xf +/* A9F238 802404F8 24040002 */ addiu $a0, $zero, 2 +/* A9F23C 802404FC 860300A8 */ lh $v1, 0xa8($s0) +/* A9F240 80240500 AFA2001C */ sw $v0, 0x1c($sp) +/* A9F244 80240504 27A20028 */ addiu $v0, $sp, 0x28 +/* A9F248 80240508 0200282D */ daddu $a1, $s0, $zero +/* A9F24C 8024050C 3C013F80 */ lui $at, 0x3f80 +/* A9F250 80240510 44810000 */ mtc1 $at, $f0 +/* A9F254 80240514 3C014000 */ lui $at, 0x4000 +/* A9F258 80240518 44811000 */ mtc1 $at, $f2 +/* A9F25C 8024051C 3C01C1A0 */ lui $at, 0xc1a0 +/* A9F260 80240520 44812000 */ mtc1 $at, $f4 +/* A9F264 80240524 44833000 */ mtc1 $v1, $f6 +/* A9F268 80240528 00000000 */ nop +/* A9F26C 8024052C 468031A0 */ cvt.s.w $f6, $f6 +/* A9F270 80240530 44073000 */ mfc1 $a3, $f6 +/* A9F274 80240534 0000302D */ daddu $a2, $zero, $zero +/* A9F278 80240538 AFA20020 */ sw $v0, 0x20($sp) +/* A9F27C 8024053C E7A00010 */ swc1 $f0, 0x10($sp) +/* A9F280 80240540 E7A20014 */ swc1 $f2, 0x14($sp) +/* A9F284 80240544 0C01BFA4 */ jal fx_emote +/* A9F288 80240548 E7A40018 */ swc1 $f4, 0x18($sp) +/* A9F28C 8024054C 8E2200CC */ lw $v0, 0xcc($s1) +/* A9F290 80240550 8C420000 */ lw $v0, ($v0) +/* A9F294 80240554 0809015F */ j .L8024057C +/* A9F298 80240558 AE020028 */ sw $v0, 0x28($s0) +.L8024055C: +/* A9F29C 8024055C 8E2200CC */ lw $v0, 0xcc($s1) +/* A9F2A0 80240560 8C420024 */ lw $v0, 0x24($v0) +/* A9F2A4 80240564 0C00FB3A */ jal get_enemy +/* A9F2A8 80240568 AE020028 */ sw $v0, 0x28($s0) +/* A9F2AC 8024056C 86240008 */ lh $a0, 8($s1) +/* A9F2B0 80240570 24030001 */ addiu $v1, $zero, 1 +/* A9F2B4 80240574 AC43006C */ sw $v1, 0x6c($v0) +/* A9F2B8 80240578 AC44007C */ sw $a0, 0x7c($v0) +.L8024057C: +/* A9F2BC 8024057C 96220076 */ lhu $v0, 0x76($s1) +/* A9F2C0 80240580 A602008E */ sh $v0, 0x8e($s0) +/* A9F2C4 80240584 24020021 */ addiu $v0, $zero, 0x21 +/* A9F2C8 80240588 AE420070 */ sw $v0, 0x70($s2) +.L8024058C: +/* A9F2CC 8024058C 8FBF003C */ lw $ra, 0x3c($sp) +/* A9F2D0 80240590 8FB20038 */ lw $s2, 0x38($sp) +/* A9F2D4 80240594 8FB10034 */ lw $s1, 0x34($sp) +/* A9F2D8 80240598 8FB00030 */ lw $s0, 0x30($sp) +/* A9F2DC 8024059C 03E00008 */ jr $ra +/* A9F2E0 802405A0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_802405A4_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_802405A4_A9ED40.s new file mode 100644 index 0000000000..051c7d201b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_802405A4_A9ED40.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4_A9F2E4 +/* A9F2E4 802405A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A9F2E8 802405A8 AFB10014 */ sw $s1, 0x14($sp) +/* A9F2EC 802405AC 0080882D */ daddu $s1, $a0, $zero +/* A9F2F0 802405B0 AFBF0018 */ sw $ra, 0x18($sp) +/* A9F2F4 802405B4 AFB00010 */ sw $s0, 0x10($sp) +/* A9F2F8 802405B8 8E300148 */ lw $s0, 0x148($s1) +/* A9F2FC 802405BC 0C00EABB */ jal get_npc_unsafe +/* A9F300 802405C0 86040008 */ lh $a0, 8($s0) +/* A9F304 802405C4 96030076 */ lhu $v1, 0x76($s0) +/* A9F308 802405C8 A443008E */ sh $v1, 0x8e($v0) +/* A9F30C 802405CC 24020021 */ addiu $v0, $zero, 0x21 +/* A9F310 802405D0 AE220070 */ sw $v0, 0x70($s1) +/* A9F314 802405D4 8FBF0018 */ lw $ra, 0x18($sp) +/* A9F318 802405D8 8FB10014 */ lw $s1, 0x14($sp) +/* A9F31C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* A9F320 802405E0 03E00008 */ jr $ra +/* A9F324 802405E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_802405E8_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_802405E8_A9ED40.s new file mode 100644 index 0000000000..3634476b45 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_802405E8_A9ED40.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E8_A9F328 +/* A9F328 802405E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A9F32C 802405EC AFB3001C */ sw $s3, 0x1c($sp) +/* A9F330 802405F0 0080982D */ daddu $s3, $a0, $zero +/* A9F334 802405F4 AFBF0020 */ sw $ra, 0x20($sp) +/* A9F338 802405F8 AFB20018 */ sw $s2, 0x18($sp) +/* A9F33C 802405FC AFB10014 */ sw $s1, 0x14($sp) +/* A9F340 80240600 AFB00010 */ sw $s0, 0x10($sp) +/* A9F344 80240604 8E720148 */ lw $s2, 0x148($s3) +/* A9F348 80240608 0C00EABB */ jal get_npc_unsafe +/* A9F34C 8024060C 86440008 */ lh $a0, 8($s2) +/* A9F350 80240610 86440008 */ lh $a0, 8($s2) +/* A9F354 80240614 0040882D */ daddu $s1, $v0, $zero +/* A9F358 80240618 0C00FB3A */ jal get_enemy +/* A9F35C 8024061C 24840001 */ addiu $a0, $a0, 1 +/* A9F360 80240620 0040802D */ daddu $s0, $v0, $zero +/* A9F364 80240624 0C00EABB */ jal get_npc_unsafe +/* A9F368 80240628 86040008 */ lh $a0, 8($s0) +/* A9F36C 8024062C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A9F370 80240630 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A9F374 80240634 8C460038 */ lw $a2, 0x38($v0) +/* A9F378 80240638 0C00A720 */ jal atan2 +/* A9F37C 8024063C 8C470040 */ lw $a3, 0x40($v0) +/* A9F380 80240640 E620000C */ swc1 $f0, 0xc($s1) +/* A9F384 80240644 8E02006C */ lw $v0, 0x6c($s0) +/* A9F388 80240648 14400008 */ bnez $v0, .L8024066C +/* A9F38C 8024064C 00000000 */ nop +/* A9F390 80240650 8E4200CC */ lw $v0, 0xcc($s2) +/* A9F394 80240654 8C420000 */ lw $v0, ($v0) +/* A9F398 80240658 AE220028 */ sw $v0, 0x28($s1) +/* A9F39C 8024065C 96420076 */ lhu $v0, 0x76($s2) +/* A9F3A0 80240660 A622008E */ sh $v0, 0x8e($s1) +/* A9F3A4 80240664 24020021 */ addiu $v0, $zero, 0x21 +/* A9F3A8 80240668 AE620070 */ sw $v0, 0x70($s3) +.L8024066C: +/* A9F3AC 8024066C 8FBF0020 */ lw $ra, 0x20($sp) +/* A9F3B0 80240670 8FB3001C */ lw $s3, 0x1c($sp) +/* A9F3B4 80240674 8FB20018 */ lw $s2, 0x18($sp) +/* A9F3B8 80240678 8FB10014 */ lw $s1, 0x14($sp) +/* A9F3BC 8024067C 8FB00010 */ lw $s0, 0x10($sp) +/* A9F3C0 80240680 03E00008 */ jr $ra +/* A9F3C4 80240684 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80240688_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240688_A9ED40.s new file mode 100644 index 0000000000..92004e4bce --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240688_A9ED40.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240688_A9F3C8 +/* A9F3C8 80240688 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A9F3CC 8024068C AFB00010 */ sw $s0, 0x10($sp) +/* A9F3D0 80240690 0080802D */ daddu $s0, $a0, $zero +/* A9F3D4 80240694 AFBF0014 */ sw $ra, 0x14($sp) +/* A9F3D8 80240698 8E020148 */ lw $v0, 0x148($s0) +/* A9F3DC 8024069C 0C00EABB */ jal get_npc_unsafe +/* A9F3E0 802406A0 84440008 */ lh $a0, 8($v0) +/* A9F3E4 802406A4 9443008E */ lhu $v1, 0x8e($v0) +/* A9F3E8 802406A8 2463FFFF */ addiu $v1, $v1, -1 +/* A9F3EC 802406AC A443008E */ sh $v1, 0x8e($v0) +/* A9F3F0 802406B0 00031C00 */ sll $v1, $v1, 0x10 +/* A9F3F4 802406B4 58600001 */ blezl $v1, .L802406BC +/* A9F3F8 802406B8 AE000070 */ sw $zero, 0x70($s0) +.L802406BC: +/* A9F3FC 802406BC 8FBF0014 */ lw $ra, 0x14($sp) +/* A9F400 802406C0 8FB00010 */ lw $s0, 0x10($sp) +/* A9F404 802406C4 03E00008 */ jr $ra +/* A9F408 802406C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_802406CC_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_802406CC_A9ED40.s new file mode 100644 index 0000000000..19c1fc2f26 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_802406CC_A9ED40.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406CC_A9F40C +/* A9F40C 802406CC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A9F410 802406D0 AFB7004C */ sw $s7, 0x4c($sp) +/* A9F414 802406D4 0080B82D */ daddu $s7, $a0, $zero +/* A9F418 802406D8 AFB10034 */ sw $s1, 0x34($sp) +/* A9F41C 802406DC 00A0882D */ daddu $s1, $a1, $zero +/* A9F420 802406E0 AFBF0050 */ sw $ra, 0x50($sp) +/* A9F424 802406E4 AFB60048 */ sw $s6, 0x48($sp) +/* A9F428 802406E8 AFB50044 */ sw $s5, 0x44($sp) +/* A9F42C 802406EC AFB40040 */ sw $s4, 0x40($sp) +/* A9F430 802406F0 AFB3003C */ sw $s3, 0x3c($sp) +/* A9F434 802406F4 AFB20038 */ sw $s2, 0x38($sp) +/* A9F438 802406F8 AFB00030 */ sw $s0, 0x30($sp) +/* A9F43C 802406FC 8EF30148 */ lw $s3, 0x148($s7) +/* A9F440 80240700 86640008 */ lh $a0, 8($s3) +/* A9F444 80240704 8EF0000C */ lw $s0, 0xc($s7) +/* A9F448 80240708 0C00FB5A */ jal get_enemy_safe +/* A9F44C 8024070C 0000B02D */ daddu $s6, $zero, $zero +/* A9F450 80240710 10400131 */ beqz $v0, .L80240BD8 +/* A9F454 80240714 24020005 */ addiu $v0, $zero, 5 +/* A9F458 80240718 8E63006C */ lw $v1, 0x6c($s3) +/* A9F45C 8024071C 1062012F */ beq $v1, $v0, .L80240BDC +/* A9F460 80240720 0000102D */ daddu $v0, $zero, $zero +/* A9F464 80240724 8E050000 */ lw $a1, ($s0) +/* A9F468 80240728 0C0B1EAF */ jal get_variable +/* A9F46C 8024072C 02E0202D */ daddu $a0, $s7, $zero +/* A9F470 80240730 86640008 */ lh $a0, 8($s3) +/* A9F474 80240734 0C00EABB */ jal get_npc_unsafe +/* A9F478 80240738 0040A82D */ daddu $s5, $v0, $zero +/* A9F47C 8024073C 8E630070 */ lw $v1, 0x70($s3) +/* A9F480 80240740 30630002 */ andi $v1, $v1, 2 +/* A9F484 80240744 10600008 */ beqz $v1, .L80240768 +/* A9F488 80240748 0040902D */ daddu $s2, $v0, $zero +/* A9F48C 8024074C 964200A8 */ lhu $v0, 0xa8($s2) +/* A9F490 80240750 00021400 */ sll $v0, $v0, 0x10 +/* A9F494 80240754 00021C03 */ sra $v1, $v0, 0x10 +/* A9F498 80240758 000217C2 */ srl $v0, $v0, 0x1f +/* A9F49C 8024075C 00621821 */ addu $v1, $v1, $v0 +/* A9F4A0 80240760 00031843 */ sra $v1, $v1, 1 +/* A9F4A4 80240764 A24300AB */ sb $v1, 0xab($s2) +.L80240768: +/* A9F4A8 80240768 16200005 */ bnez $s1, .L80240780 +/* A9F4AC 8024076C 3C030004 */ lui $v1, 4 +/* A9F4B0 80240770 8E6200B0 */ lw $v0, 0xb0($s3) +/* A9F4B4 80240774 30420004 */ andi $v0, $v0, 4 +/* A9F4B8 80240778 10400019 */ beqz $v0, .L802407E0 +/* A9F4BC 8024077C 00000000 */ nop +.L80240780: +/* A9F4C0 80240780 34630102 */ ori $v1, $v1, 0x102 +/* A9F4C4 80240784 AEE00070 */ sw $zero, 0x70($s7) +/* A9F4C8 80240788 8E420000 */ lw $v0, ($s2) +/* A9F4CC 8024078C 0240202D */ daddu $a0, $s2, $zero +/* A9F4D0 80240790 A640008E */ sh $zero, 0x8e($s2) +/* A9F4D4 80240794 00431025 */ or $v0, $v0, $v1 +/* A9F4D8 80240798 0C00EAFF */ jal disable_npc_shadow +/* A9F4DC 8024079C AE420000 */ sw $v0, ($s2) +/* A9F4E0 802407A0 3C041F30 */ lui $a0, 0x1f30 +/* A9F4E4 802407A4 8E420000 */ lw $v0, ($s2) +/* A9F4E8 802407A8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9F4EC 802407AC 00431024 */ and $v0, $v0, $v1 +/* A9F4F0 802407B0 AE420000 */ sw $v0, ($s2) +/* A9F4F4 802407B4 8E620000 */ lw $v0, ($s3) +/* A9F4F8 802407B8 8E6300B0 */ lw $v1, 0xb0($s3) +/* A9F4FC 802407BC 34840040 */ ori $a0, $a0, 0x40 +/* A9F500 802407C0 AE60006C */ sw $zero, 0x6c($s3) +/* A9F504 802407C4 00441025 */ or $v0, $v0, $a0 +/* A9F508 802407C8 AE620000 */ sw $v0, ($s3) +/* A9F50C 802407CC 30620004 */ andi $v0, $v1, 4 +/* A9F510 802407D0 10400003 */ beqz $v0, .L802407E0 +/* A9F514 802407D4 2402FFFB */ addiu $v0, $zero, -5 +/* A9F518 802407D8 00621024 */ and $v0, $v1, $v0 +/* A9F51C 802407DC AE6200B0 */ sw $v0, 0xb0($s3) +.L802407E0: +/* A9F520 802407E0 8EE30070 */ lw $v1, 0x70($s7) +/* A9F524 802407E4 24100001 */ addiu $s0, $zero, 1 +/* A9F528 802407E8 10700012 */ beq $v1, $s0, .L80240834 +/* A9F52C 802407EC 28620002 */ slti $v0, $v1, 2 +/* A9F530 802407F0 10400005 */ beqz $v0, .L80240808 +/* A9F534 802407F4 24020002 */ addiu $v0, $zero, 2 +/* A9F538 802407F8 10600007 */ beqz $v1, .L80240818 +/* A9F53C 802407FC 0000102D */ daddu $v0, $zero, $zero +/* A9F540 80240800 080902F7 */ j .L80240BDC +/* A9F544 80240804 00000000 */ nop +.L80240808: +/* A9F548 80240808 1062005B */ beq $v1, $v0, .L80240978 +/* A9F54C 8024080C 0000102D */ daddu $v0, $zero, $zero +/* A9F550 80240810 080902F7 */ j .L80240BDC +/* A9F554 80240814 00000000 */ nop +.L80240818: +/* A9F558 80240818 8E420000 */ lw $v0, ($s2) +/* A9F55C 8024081C 0240202D */ daddu $a0, $s2, $zero +/* A9F560 80240820 34420002 */ ori $v0, $v0, 2 +/* A9F564 80240824 0C00EAFF */ jal disable_npc_shadow +/* A9F568 80240828 AE420000 */ sw $v0, ($s2) +/* A9F56C 8024082C AE60006C */ sw $zero, 0x6c($s3) +/* A9F570 80240830 AEF00070 */ sw $s0, 0x70($s7) +.L80240834: +/* A9F574 80240834 8E74006C */ lw $s4, 0x6c($s3) +/* A9F578 80240838 24020001 */ addiu $v0, $zero, 1 +/* A9F57C 8024083C 168200E7 */ bne $s4, $v0, .L80240BDC +/* A9F580 80240840 0000102D */ daddu $v0, $zero, $zero +/* A9F584 80240844 8E64007C */ lw $a0, 0x7c($s3) +/* A9F588 80240848 24110002 */ addiu $s1, $zero, 2 +/* A9F58C 8024084C 0C00EABB */ jal get_npc_unsafe +/* A9F590 80240850 AE71006C */ sw $s1, 0x6c($s3) +/* A9F594 80240854 0040802D */ daddu $s0, $v0, $zero +/* A9F598 80240858 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9F59C 8024085C E6400038 */ swc1 $f0, 0x38($s2) +/* A9F5A0 80240860 C6000040 */ lwc1 $f0, 0x40($s0) +/* A9F5A4 80240864 E6400040 */ swc1 $f0, 0x40($s2) +/* A9F5A8 80240868 C6020034 */ lwc1 $f2, 0x34($s0) +/* A9F5AC 8024086C 3C014387 */ lui $at, 0x4387 +/* A9F5B0 80240870 44810000 */ mtc1 $at, $f0 +/* A9F5B4 80240874 26440038 */ addiu $a0, $s2, 0x38 +/* A9F5B8 80240878 46020001 */ sub.s $f0, $f0, $f2 +/* A9F5BC 8024087C C6680078 */ lwc1 $f8, 0x78($s3) +/* A9F5C0 80240880 46804220 */ cvt.s.w $f8, $f8 +/* A9F5C4 80240884 44064000 */ mfc1 $a2, $f8 +/* A9F5C8 80240888 44070000 */ mfc1 $a3, $f0 +/* A9F5CC 8024088C 0C00A7E7 */ jal add_vec2D_polar +/* A9F5D0 80240890 26450040 */ addiu $a1, $s2, 0x40 +/* A9F5D4 80240894 C600003C */ lwc1 $f0, 0x3c($s0) +/* A9F5D8 80240898 C6620074 */ lwc1 $f2, 0x74($s3) +/* A9F5DC 8024089C 468010A0 */ cvt.s.w $f2, $f2 +/* A9F5E0 802408A0 46020000 */ add.s $f0, $f0, $f2 +/* A9F5E4 802408A4 E640003C */ swc1 $f0, 0x3c($s2) +/* A9F5E8 802408A8 A2740007 */ sb $s4, 7($s3) +/* A9F5EC 802408AC C6400038 */ lwc1 $f0, 0x38($s2) +/* A9F5F0 802408B0 4600020D */ trunc.w.s $f8, $f0 +/* A9F5F4 802408B4 44024000 */ mfc1 $v0, $f8 +/* A9F5F8 802408B8 00000000 */ nop +/* A9F5FC 802408BC A6620010 */ sh $v0, 0x10($s3) +/* A9F600 802408C0 C640003C */ lwc1 $f0, 0x3c($s2) +/* A9F604 802408C4 4600020D */ trunc.w.s $f8, $f0 +/* A9F608 802408C8 44024000 */ mfc1 $v0, $f8 +/* A9F60C 802408CC 00000000 */ nop +/* A9F610 802408D0 A6620012 */ sh $v0, 0x12($s3) +/* A9F614 802408D4 C6400040 */ lwc1 $f0, 0x40($s2) +/* A9F618 802408D8 4600020D */ trunc.w.s $f8, $f0 +/* A9F61C 802408DC 44024000 */ mfc1 $v0, $f8 +/* A9F620 802408E0 00000000 */ nop +/* A9F624 802408E4 A6620014 */ sh $v0, 0x14($s3) +/* A9F628 802408E8 AE400044 */ sw $zero, 0x44($s2) +/* A9F62C 802408EC AE400048 */ sw $zero, 0x48($s2) +/* A9F630 802408F0 AE40004C */ sw $zero, 0x4c($s2) +/* A9F634 802408F4 C6A00000 */ lwc1 $f0, ($s5) +/* A9F638 802408F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9F63C 802408FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9F640 80240900 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A9F644 80240904 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A9F648 80240908 E6400018 */ swc1 $f0, 0x18($s2) +/* A9F64C 8024090C 8C460028 */ lw $a2, 0x28($v0) +/* A9F650 80240910 0C00A720 */ jal atan2 +/* A9F654 80240914 8C470030 */ lw $a3, 0x30($v0) +/* A9F658 80240918 E640000C */ swc1 $f0, 0xc($s2) +/* A9F65C 8024091C C6A0000C */ lwc1 $f0, 0xc($s5) +/* A9F660 80240920 8E420000 */ lw $v0, ($s2) +/* A9F664 80240924 0240202D */ daddu $a0, $s2, $zero +/* A9F668 80240928 E640001C */ swc1 $f0, 0x1c($s2) +/* A9F66C 8024092C C6A00010 */ lwc1 $f0, 0x10($s5) +/* A9F670 80240930 2403FFFD */ addiu $v1, $zero, -3 +/* A9F674 80240934 E6400014 */ swc1 $f0, 0x14($s2) +/* A9F678 80240938 C600003C */ lwc1 $f0, 0x3c($s0) +/* A9F67C 8024093C 00431024 */ and $v0, $v0, $v1 +/* A9F680 80240940 AE420000 */ sw $v0, ($s2) +/* A9F684 80240944 0C00EAE8 */ jal enable_npc_shadow +/* A9F688 80240948 E6400064 */ swc1 $f0, 0x64($s2) +/* A9F68C 8024094C 8E420000 */ lw $v0, ($s2) +/* A9F690 80240950 3C03E0FF */ lui $v1, 0xe0ff +/* A9F694 80240954 34420800 */ ori $v0, $v0, 0x800 +/* A9F698 80240958 AE420000 */ sw $v0, ($s2) +/* A9F69C 8024095C 8E620000 */ lw $v0, ($s3) +/* A9F6A0 80240960 3463FFFF */ ori $v1, $v1, 0xffff +/* A9F6A4 80240964 00431024 */ and $v0, $v0, $v1 +/* A9F6A8 80240968 AE620000 */ sw $v0, ($s3) +/* A9F6AC 8024096C 2402005A */ addiu $v0, $zero, 0x5a +/* A9F6B0 80240970 A642008E */ sh $v0, 0x8e($s2) +/* A9F6B4 80240974 AEF10070 */ sw $s1, 0x70($s7) +.L80240978: +/* A9F6B8 80240978 0000202D */ daddu $a0, $zero, $zero +/* A9F6BC 8024097C 27B00020 */ addiu $s0, $sp, 0x20 +/* A9F6C0 80240980 864200A8 */ lh $v0, 0xa8($s2) +/* A9F6C4 80240984 3C013FE0 */ lui $at, 0x3fe0 +/* A9F6C8 80240988 44810800 */ mtc1 $at, $f1 +/* A9F6CC 8024098C 44800000 */ mtc1 $zero, $f0 +/* A9F6D0 80240990 44821000 */ mtc1 $v0, $f2 +/* A9F6D4 80240994 00000000 */ nop +/* A9F6D8 80240998 468010A1 */ cvt.d.w $f2, $f2 +/* A9F6DC 8024099C 46201082 */ mul.d $f2, $f2, $f0 +/* A9F6E0 802409A0 00000000 */ nop +/* A9F6E4 802409A4 0200282D */ daddu $a1, $s0, $zero +/* A9F6E8 802409A8 C6440038 */ lwc1 $f4, 0x38($s2) +/* A9F6EC 802409AC C640003C */ lwc1 $f0, 0x3c($s2) +/* A9F6F0 802409B0 27B10024 */ addiu $s1, $sp, 0x24 +/* A9F6F4 802409B4 E7A40020 */ swc1 $f4, 0x20($sp) +/* A9F6F8 802409B8 C6440040 */ lwc1 $f4, 0x40($s2) +/* A9F6FC 802409BC 46000021 */ cvt.d.s $f0, $f0 +/* A9F700 802409C0 46220000 */ add.d $f0, $f0, $f2 +/* A9F704 802409C4 E7A40028 */ swc1 $f4, 0x28($sp) +/* A9F708 802409C8 C6420018 */ lwc1 $f2, 0x18($s2) +/* A9F70C 802409CC 46200020 */ cvt.s.d $f0, $f0 +/* A9F710 802409D0 E7A00024 */ swc1 $f0, 0x24($sp) +/* A9F714 802409D4 E7A20010 */ swc1 $f2, 0x10($sp) +/* A9F718 802409D8 C640000C */ lwc1 $f0, 0xc($s2) +/* A9F71C 802409DC 0220302D */ daddu $a2, $s1, $zero +/* A9F720 802409E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A9F724 802409E4 864200A6 */ lh $v0, 0xa6($s2) +/* A9F728 802409E8 27B40028 */ addiu $s4, $sp, 0x28 +/* A9F72C 802409EC 44820000 */ mtc1 $v0, $f0 +/* A9F730 802409F0 00000000 */ nop +/* A9F734 802409F4 46800020 */ cvt.s.w $f0, $f0 +/* A9F738 802409F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9F73C 802409FC 864200A8 */ lh $v0, 0xa8($s2) +/* A9F740 80240A00 0280382D */ daddu $a3, $s4, $zero +/* A9F744 80240A04 44820000 */ mtc1 $v0, $f0 +/* A9F748 80240A08 00000000 */ nop +/* A9F74C 80240A0C 46800020 */ cvt.s.w $f0, $f0 +/* A9F750 80240A10 0C0376B9 */ jal func_800DDAE4 +/* A9F754 80240A14 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9F758 80240A18 54400001 */ bnel $v0, $zero, .L80240A20 +/* A9F75C 80240A1C 24160001 */ addiu $s6, $zero, 1 +.L80240A20: +/* A9F760 80240A20 0200282D */ daddu $a1, $s0, $zero +/* A9F764 80240A24 0220302D */ daddu $a2, $s1, $zero +/* A9F768 80240A28 C6400038 */ lwc1 $f0, 0x38($s2) +/* A9F76C 80240A2C C642003C */ lwc1 $f2, 0x3c($s2) +/* A9F770 80240A30 C6440040 */ lwc1 $f4, 0x40($s2) +/* A9F774 80240A34 3C01447A */ lui $at, 0x447a +/* A9F778 80240A38 44813000 */ mtc1 $at, $f6 +/* A9F77C 80240A3C 27A2002C */ addiu $v0, $sp, 0x2c +/* A9F780 80240A40 E7A00020 */ swc1 $f0, 0x20($sp) +/* A9F784 80240A44 E7A20024 */ swc1 $f2, 0x24($sp) +/* A9F788 80240A48 E7A40028 */ swc1 $f4, 0x28($sp) +/* A9F78C 80240A4C E7A6002C */ swc1 $f6, 0x2c($sp) +/* A9F790 80240A50 AFA20010 */ sw $v0, 0x10($sp) +/* A9F794 80240A54 8E440080 */ lw $a0, 0x80($s2) +/* A9F798 80240A58 0C0372DF */ jal func_800DCB7C +/* A9F79C 80240A5C 0280382D */ daddu $a3, $s4, $zero +/* A9F7A0 80240A60 10400019 */ beqz $v0, .L80240AC8 +/* A9F7A4 80240A64 00000000 */ nop +/* A9F7A8 80240A68 C640001C */ lwc1 $f0, 0x1c($s2) +/* A9F7AC 80240A6C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A9F7B0 80240A70 46000005 */ abs.s $f0, $f0 +/* A9F7B4 80240A74 4600103C */ c.lt.s $f2, $f0 +/* A9F7B8 80240A78 00000000 */ nop +/* A9F7BC 80240A7C 45000012 */ bc1f .L80240AC8 +/* A9F7C0 80240A80 00000000 */ nop +/* A9F7C4 80240A84 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A9F7C8 80240A88 C6400064 */ lwc1 $f0, 0x64($s2) +/* A9F7CC 80240A8C 46002001 */ sub.s $f0, $f4, $f0 +/* A9F7D0 80240A90 3C014034 */ lui $at, 0x4034 +/* A9F7D4 80240A94 44811800 */ mtc1 $at, $f3 +/* A9F7D8 80240A98 44801000 */ mtc1 $zero, $f2 +/* A9F7DC 80240A9C 46000005 */ abs.s $f0, $f0 +/* A9F7E0 80240AA0 46000021 */ cvt.d.s $f0, $f0 +/* A9F7E4 80240AA4 4622003C */ c.lt.d $f0, $f2 +/* A9F7E8 80240AA8 00000000 */ nop +/* A9F7EC 80240AAC 45000006 */ bc1f .L80240AC8 +/* A9F7F0 80240AB0 0240202D */ daddu $a0, $s2, $zero +/* A9F7F4 80240AB4 8E450018 */ lw $a1, 0x18($s2) +/* A9F7F8 80240AB8 8E46000C */ lw $a2, 0xc($s2) +/* A9F7FC 80240ABC 2416000A */ addiu $s6, $zero, 0xa +/* A9F800 80240AC0 0C00EA95 */ jal npc_move_heading +/* A9F804 80240AC4 E644003C */ swc1 $f4, 0x3c($s2) +.L80240AC8: +/* A9F808 80240AC8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A9F80C 80240ACC 3C013FF0 */ lui $at, 0x3ff0 +/* A9F810 80240AD0 44811800 */ mtc1 $at, $f3 +/* A9F814 80240AD4 44801000 */ mtc1 $zero, $f2 +/* A9F818 80240AD8 46000021 */ cvt.d.s $f0, $f0 +/* A9F81C 80240ADC 4622003C */ c.lt.d $f0, $f2 +/* A9F820 80240AE0 00000000 */ nop +/* A9F824 80240AE4 45030001 */ bc1tl .L80240AEC +/* A9F828 80240AE8 2416000B */ addiu $s6, $zero, 0xb +.L80240AEC: +/* A9F82C 80240AEC 9642008E */ lhu $v0, 0x8e($s2) +/* A9F830 80240AF0 2442FFFF */ addiu $v0, $v0, -1 +/* A9F834 80240AF4 A642008E */ sh $v0, 0x8e($s2) +/* A9F838 80240AF8 00021400 */ sll $v0, $v0, 0x10 +/* A9F83C 80240AFC 58400001 */ blezl $v0, .L80240B04 +/* A9F840 80240B00 24160014 */ addiu $s6, $zero, 0x14 +.L80240B04: +/* A9F844 80240B04 56C00019 */ bnel $s6, $zero, .L80240B6C +/* A9F848 80240B08 AFA00010 */ sw $zero, 0x10($sp) +/* A9F84C 80240B0C 8E620070 */ lw $v0, 0x70($s3) +/* A9F850 80240B10 30420001 */ andi $v0, $v0, 1 +/* A9F854 80240B14 10400009 */ beqz $v0, .L80240B3C +/* A9F858 80240B18 00000000 */ nop +/* A9F85C 80240B1C C640004C */ lwc1 $f0, 0x4c($s2) +/* A9F860 80240B20 3C014044 */ lui $at, 0x4044 +/* A9F864 80240B24 44811800 */ mtc1 $at, $f3 +/* A9F868 80240B28 44801000 */ mtc1 $zero, $f2 +/* A9F86C 80240B2C 46000021 */ cvt.d.s $f0, $f0 +/* A9F870 80240B30 46220000 */ add.d $f0, $f0, $f2 +/* A9F874 80240B34 46200020 */ cvt.s.d $f0, $f0 +/* A9F878 80240B38 E640004C */ swc1 $f0, 0x4c($s2) +.L80240B3C: +/* A9F87C 80240B3C 8E450018 */ lw $a1, 0x18($s2) +/* A9F880 80240B40 8E46000C */ lw $a2, 0xc($s2) +/* A9F884 80240B44 0C00EA95 */ jal npc_move_heading +/* A9F888 80240B48 0240202D */ daddu $a0, $s2, $zero +/* A9F88C 80240B4C C644003C */ lwc1 $f4, 0x3c($s2) +/* A9F890 80240B50 C640001C */ lwc1 $f0, 0x1c($s2) +/* A9F894 80240B54 46002100 */ add.s $f4, $f4, $f0 +/* A9F898 80240B58 C6420014 */ lwc1 $f2, 0x14($s2) +/* A9F89C 80240B5C 46020001 */ sub.s $f0, $f0, $f2 +/* A9F8A0 80240B60 E644003C */ swc1 $f4, 0x3c($s2) +/* A9F8A4 80240B64 080902F6 */ j .L80240BD8 +/* A9F8A8 80240B68 E640001C */ swc1 $f0, 0x1c($s2) +.L80240B6C: +/* A9F8AC 80240B6C AFA00014 */ sw $zero, 0x14($sp) +/* A9F8B0 80240B70 8E450038 */ lw $a1, 0x38($s2) +/* A9F8B4 80240B74 8E46003C */ lw $a2, 0x3c($s2) +/* A9F8B8 80240B78 8E470040 */ lw $a3, 0x40($s2) +/* A9F8BC 80240B7C 0C01BECC */ jal fx_walk_normal +/* A9F8C0 80240B80 24040002 */ addiu $a0, $zero, 2 +/* A9F8C4 80240B84 3C01C47A */ lui $at, 0xc47a +/* A9F8C8 80240B88 44810000 */ mtc1 $at, $f0 +/* A9F8CC 80240B8C AE60006C */ sw $zero, 0x6c($s3) +/* A9F8D0 80240B90 8E420000 */ lw $v0, ($s2) +/* A9F8D4 80240B94 0240202D */ daddu $a0, $s2, $zero +/* A9F8D8 80240B98 AE400038 */ sw $zero, 0x38($s2) +/* A9F8DC 80240B9C AE400040 */ sw $zero, 0x40($s2) +/* A9F8E0 80240BA0 AE40001C */ sw $zero, 0x1c($s2) +/* A9F8E4 80240BA4 34420002 */ ori $v0, $v0, 2 +/* A9F8E8 80240BA8 E640003C */ swc1 $f0, 0x3c($s2) +/* A9F8EC 80240BAC 0C00EAFF */ jal disable_npc_shadow +/* A9F8F0 80240BB0 AE420000 */ sw $v0, ($s2) +/* A9F8F4 80240BB4 8E420000 */ lw $v0, ($s2) +/* A9F8F8 80240BB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9F8FC 80240BBC 00431024 */ and $v0, $v0, $v1 +/* A9F900 80240BC0 AE420000 */ sw $v0, ($s2) +/* A9F904 80240BC4 8E620000 */ lw $v0, ($s3) +/* A9F908 80240BC8 3C031F00 */ lui $v1, 0x1f00 +/* A9F90C 80240BCC 00431025 */ or $v0, $v0, $v1 +/* A9F910 80240BD0 AE620000 */ sw $v0, ($s3) +/* A9F914 80240BD4 AEE00070 */ sw $zero, 0x70($s7) +.L80240BD8: +/* A9F918 80240BD8 0000102D */ daddu $v0, $zero, $zero +.L80240BDC: +/* A9F91C 80240BDC 8FBF0050 */ lw $ra, 0x50($sp) +/* A9F920 80240BE0 8FB7004C */ lw $s7, 0x4c($sp) +/* A9F924 80240BE4 8FB60048 */ lw $s6, 0x48($sp) +/* A9F928 80240BE8 8FB50044 */ lw $s5, 0x44($sp) +/* A9F92C 80240BEC 8FB40040 */ lw $s4, 0x40($sp) +/* A9F930 80240BF0 8FB3003C */ lw $s3, 0x3c($sp) +/* A9F934 80240BF4 8FB20038 */ lw $s2, 0x38($sp) +/* A9F938 80240BF8 8FB10034 */ lw $s1, 0x34($sp) +/* A9F93C 80240BFC 8FB00030 */ lw $s0, 0x30($sp) +/* A9F940 80240C00 03E00008 */ jr $ra +/* A9F944 80240C04 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80240C08_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240C08_A9ED40.s new file mode 100644 index 0000000000..6d302f3a19 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80240C08_A9ED40.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C08_A9F948 +/* A9F948 80240C08 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A9F94C 80240C0C AFB3003C */ sw $s3, 0x3c($sp) +/* A9F950 80240C10 0080982D */ daddu $s3, $a0, $zero +/* A9F954 80240C14 AFB40040 */ sw $s4, 0x40($sp) +/* A9F958 80240C18 0000A02D */ daddu $s4, $zero, $zero +/* A9F95C 80240C1C 3C03800A */ lui $v1, 0x800a +/* A9F960 80240C20 8463A634 */ lh $v1, -0x59cc($v1) +/* A9F964 80240C24 3C04800B */ lui $a0, %hi(gCameras) +/* A9F968 80240C28 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A9F96C 80240C2C AFBF0044 */ sw $ra, 0x44($sp) +/* A9F970 80240C30 AFB20038 */ sw $s2, 0x38($sp) +/* A9F974 80240C34 AFB10034 */ sw $s1, 0x34($sp) +/* A9F978 80240C38 AFB00030 */ sw $s0, 0x30($sp) +/* A9F97C 80240C3C F7B80058 */ sdc1 $f24, 0x58($sp) +/* A9F980 80240C40 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A9F984 80240C44 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A9F988 80240C48 8E710148 */ lw $s1, 0x148($s3) +/* A9F98C 80240C4C 00031080 */ sll $v0, $v1, 2 +/* A9F990 80240C50 00431021 */ addu $v0, $v0, $v1 +/* A9F994 80240C54 00021080 */ sll $v0, $v0, 2 +/* A9F998 80240C58 00431023 */ subu $v0, $v0, $v1 +/* A9F99C 80240C5C 000218C0 */ sll $v1, $v0, 3 +/* A9F9A0 80240C60 00431021 */ addu $v0, $v0, $v1 +/* A9F9A4 80240C64 000210C0 */ sll $v0, $v0, 3 +/* A9F9A8 80240C68 10A00002 */ beqz $a1, .L80240C74 +/* A9F9AC 80240C6C 00449021 */ addu $s2, $v0, $a0 +/* A9F9B0 80240C70 AE600070 */ sw $zero, 0x70($s3) +.L80240C74: +/* A9F9B4 80240C74 0C00FB5A */ jal get_enemy_safe +/* A9F9B8 80240C78 86240008 */ lh $a0, 8($s1) +/* A9F9BC 80240C7C 14400006 */ bnez $v0, .L80240C98 +/* A9F9C0 80240C80 24020005 */ addiu $v0, $zero, 5 +/* A9F9C4 80240C84 0260202D */ daddu $a0, $s3, $zero +/* A9F9C8 80240C88 3C05FE36 */ lui $a1, 0xfe36 +/* A9F9CC 80240C8C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9F9D0 80240C90 080903FE */ j .L80240FF8 +/* A9F9D4 80240C94 0000302D */ daddu $a2, $zero, $zero +.L80240C98: +/* A9F9D8 80240C98 8E23006C */ lw $v1, 0x6c($s1) +/* A9F9DC 80240C9C 14620005 */ bne $v1, $v0, .L80240CB4 +/* A9F9E0 80240CA0 0260202D */ daddu $a0, $s3, $zero +/* A9F9E4 80240CA4 3C05FE36 */ lui $a1, 0xfe36 +/* A9F9E8 80240CA8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9F9EC 80240CAC 080903FE */ j .L80240FF8 +/* A9F9F0 80240CB0 0000302D */ daddu $a2, $zero, $zero +.L80240CB4: +/* A9F9F4 80240CB4 86240008 */ lh $a0, 8($s1) +/* A9F9F8 80240CB8 0C00FB5A */ jal get_enemy_safe +/* A9F9FC 80240CBC 00000000 */ nop +/* A9FA00 80240CC0 14400005 */ bnez $v0, .L80240CD8 +/* A9FA04 80240CC4 0260202D */ daddu $a0, $s3, $zero +/* A9FA08 80240CC8 3C05FE36 */ lui $a1, 0xfe36 +/* A9FA0C 80240CCC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9FA10 80240CD0 080903FE */ j .L80240FF8 +/* A9FA14 80240CD4 0000302D */ daddu $a2, $zero, $zero +.L80240CD8: +/* A9FA18 80240CD8 86240008 */ lh $a0, 8($s1) +/* A9FA1C 80240CDC 0C00EABB */ jal get_npc_unsafe +/* A9FA20 80240CE0 00000000 */ nop +/* A9FA24 80240CE4 8E630070 */ lw $v1, 0x70($s3) +/* A9FA28 80240CE8 10600006 */ beqz $v1, .L80240D04 +/* A9FA2C 80240CEC 0040802D */ daddu $s0, $v0, $zero +/* A9FA30 80240CF0 24020001 */ addiu $v0, $zero, 1 +/* A9FA34 80240CF4 1062003F */ beq $v1, $v0, .L80240DF4 +/* A9FA38 80240CF8 0000102D */ daddu $v0, $zero, $zero +/* A9FA3C 80240CFC 0809040E */ j .L80241038 +/* A9FA40 80240D00 00000000 */ nop +.L80240D04: +/* A9FA44 80240D04 AFA00010 */ sw $zero, 0x10($sp) +/* A9FA48 80240D08 AFA00014 */ sw $zero, 0x14($sp) +/* A9FA4C 80240D0C 8E050038 */ lw $a1, 0x38($s0) +/* A9FA50 80240D10 8E06003C */ lw $a2, 0x3c($s0) +/* A9FA54 80240D14 8E070040 */ lw $a3, 0x40($s0) +/* A9FA58 80240D18 0C01BECC */ jal fx_walk_normal +/* A9FA5C 80240D1C 24040002 */ addiu $a0, $zero, 2 +/* A9FA60 80240D20 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9FA64 80240D24 0C00A6C9 */ jal clamp_angle +/* A9FA68 80240D28 00000000 */ nop +/* A9FA6C 80240D2C 3C018024 */ lui $at, 0x8024 +/* A9FA70 80240D30 D4382FF0 */ ldc1 $f24, 0x2ff0($at) +/* A9FA74 80240D34 46000521 */ cvt.d.s $f20, $f0 +/* A9FA78 80240D38 4638A300 */ add.d $f12, $f20, $f24 +/* A9FA7C 80240D3C 3C018024 */ lui $at, 0x8024 +/* A9FA80 80240D40 D4362FF8 */ ldc1 $f22, 0x2ff8($at) +/* A9FA84 80240D44 0C00A6C9 */ jal clamp_angle +/* A9FA88 80240D48 46206320 */ cvt.s.d $f12, $f12 +/* A9FA8C 80240D4C 4636A500 */ add.d $f20, $f20, $f22 +/* A9FA90 80240D50 4620A320 */ cvt.s.d $f12, $f20 +/* A9FA94 80240D54 0C00A6C9 */ jal clamp_angle +/* A9FA98 80240D58 46000506 */ mov.s $f20, $f0 +/* A9FA9C 80240D5C 4600A521 */ cvt.d.s $f20, $f20 +/* A9FAA0 80240D60 4636A500 */ add.d $f20, $f20, $f22 +/* A9FAA4 80240D64 46000586 */ mov.s $f22, $f0 +/* A9FAA8 80240D68 0C00A6C9 */ jal clamp_angle +/* A9FAAC 80240D6C 4620A320 */ cvt.s.d $f12, $f20 +/* A9FAB0 80240D70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9FAB4 80240D74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9FAB8 80240D78 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A9FABC 80240D7C C44E0084 */ lwc1 $f14, 0x84($v0) +/* A9FAC0 80240D80 0C00A70A */ jal get_clamped_angle_diff +/* A9FAC4 80240D84 46000506 */ mov.s $f20, $f0 +/* A9FAC8 80240D88 0C00A6C9 */ jal clamp_angle +/* A9FACC 80240D8C 46000306 */ mov.s $f12, $f0 +/* A9FAD0 80240D90 46000021 */ cvt.d.s $f0, $f0 +/* A9FAD4 80240D94 4638003C */ c.lt.d $f0, $f24 +/* A9FAD8 80240D98 00000000 */ nop +/* A9FADC 80240D9C 45020002 */ bc1fl .L80240DA8 +/* A9FAE0 80240DA0 E614000C */ swc1 $f20, 0xc($s0) +/* A9FAE4 80240DA4 E616000C */ swc1 $f22, 0xc($s0) +.L80240DA8: +/* A9FAE8 80240DA8 C6000018 */ lwc1 $f0, 0x18($s0) +/* A9FAEC 80240DAC 3C018024 */ lui $at, 0x8024 +/* A9FAF0 80240DB0 D4223000 */ ldc1 $f2, 0x3000($at) +/* A9FAF4 80240DB4 46000021 */ cvt.d.s $f0, $f0 +/* A9FAF8 80240DB8 46220002 */ mul.d $f0, $f0, $f2 +/* A9FAFC 80240DBC 00000000 */ nop +/* A9FB00 80240DC0 3C013F66 */ lui $at, 0x3f66 +/* A9FB04 80240DC4 34216666 */ ori $at, $at, 0x6666 +/* A9FB08 80240DC8 44812000 */ mtc1 $at, $f4 +/* A9FB0C 80240DCC 2402001E */ addiu $v0, $zero, 0x1e +/* A9FB10 80240DD0 A602008E */ sh $v0, 0x8e($s0) +/* A9FB14 80240DD4 3C014120 */ lui $at, 0x4120 +/* A9FB18 80240DD8 44811000 */ mtc1 $at, $f2 +/* A9FB1C 80240DDC 24020001 */ addiu $v0, $zero, 1 +/* A9FB20 80240DE0 E6040014 */ swc1 $f4, 0x14($s0) +/* A9FB24 80240DE4 E602001C */ swc1 $f2, 0x1c($s0) +/* A9FB28 80240DE8 46200020 */ cvt.s.d $f0, $f0 +/* A9FB2C 80240DEC E6000018 */ swc1 $f0, 0x18($s0) +/* A9FB30 80240DF0 AE620070 */ sw $v0, 0x70($s3) +.L80240DF4: +/* A9FB34 80240DF4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A9FB38 80240DF8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A9FB3C 80240DFC C6040040 */ lwc1 $f4, 0x40($s0) +/* A9FB40 80240E00 C6060018 */ lwc1 $f6, 0x18($s0) +/* A9FB44 80240E04 0000202D */ daddu $a0, $zero, $zero +/* A9FB48 80240E08 E7A00020 */ swc1 $f0, 0x20($sp) +/* A9FB4C 80240E0C E7A20024 */ swc1 $f2, 0x24($sp) +/* A9FB50 80240E10 E7A40028 */ swc1 $f4, 0x28($sp) +/* A9FB54 80240E14 E7A60010 */ swc1 $f6, 0x10($sp) +/* A9FB58 80240E18 C600000C */ lwc1 $f0, 0xc($s0) +/* A9FB5C 80240E1C 27A50020 */ addiu $a1, $sp, 0x20 +/* A9FB60 80240E20 E7A00014 */ swc1 $f0, 0x14($sp) +/* A9FB64 80240E24 860200A6 */ lh $v0, 0xa6($s0) +/* A9FB68 80240E28 27A60024 */ addiu $a2, $sp, 0x24 +/* A9FB6C 80240E2C 44820000 */ mtc1 $v0, $f0 +/* A9FB70 80240E30 00000000 */ nop +/* A9FB74 80240E34 46800020 */ cvt.s.w $f0, $f0 +/* A9FB78 80240E38 E7A00018 */ swc1 $f0, 0x18($sp) +/* A9FB7C 80240E3C 860200A8 */ lh $v0, 0xa8($s0) +/* A9FB80 80240E40 27A70028 */ addiu $a3, $sp, 0x28 +/* A9FB84 80240E44 44820000 */ mtc1 $v0, $f0 +/* A9FB88 80240E48 00000000 */ nop +/* A9FB8C 80240E4C 46800020 */ cvt.s.w $f0, $f0 +/* A9FB90 80240E50 0C037711 */ jal func_800DDC44 +/* A9FB94 80240E54 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A9FB98 80240E58 54400007 */ bnel $v0, $zero, .L80240E78 +/* A9FB9C 80240E5C 24140001 */ addiu $s4, $zero, 1 +/* A9FBA0 80240E60 8E050018 */ lw $a1, 0x18($s0) +/* A9FBA4 80240E64 8E06000C */ lw $a2, 0xc($s0) +/* A9FBA8 80240E68 0C00EA95 */ jal npc_move_heading +/* A9FBAC 80240E6C 0200202D */ daddu $a0, $s0, $zero +/* A9FBB0 80240E70 0809039F */ j .L80240E7C +/* A9FBB4 80240E74 0000902D */ daddu $s2, $zero, $zero +.L80240E78: +/* A9FBB8 80240E78 0000902D */ daddu $s2, $zero, $zero +.L80240E7C: +/* A9FBBC 80240E7C C600001C */ lwc1 $f0, 0x1c($s0) +/* A9FBC0 80240E80 44801000 */ mtc1 $zero, $f2 +/* A9FBC4 80240E84 44801800 */ mtc1 $zero, $f3 +/* A9FBC8 80240E88 46000021 */ cvt.d.s $f0, $f0 +/* A9FBCC 80240E8C 4622003C */ c.lt.d $f0, $f2 +/* A9FBD0 80240E90 00000000 */ nop +/* A9FBD4 80240E94 45000028 */ bc1f .L80240F38 +/* A9FBD8 80240E98 27A50020 */ addiu $a1, $sp, 0x20 +/* A9FBDC 80240E9C 27A60024 */ addiu $a2, $sp, 0x24 +/* A9FBE0 80240EA0 27A2002C */ addiu $v0, $sp, 0x2c +/* A9FBE4 80240EA4 C602003C */ lwc1 $f2, 0x3c($s0) +/* A9FBE8 80240EA8 C6060038 */ lwc1 $f6, 0x38($s0) +/* A9FBEC 80240EAC 3C01402A */ lui $at, 0x402a +/* A9FBF0 80240EB0 4481A800 */ mtc1 $at, $f21 +/* A9FBF4 80240EB4 4480A000 */ mtc1 $zero, $f20 +/* A9FBF8 80240EB8 460010A1 */ cvt.d.s $f2, $f2 +/* A9FBFC 80240EBC 46341080 */ add.d $f2, $f2, $f20 +/* A9FC00 80240EC0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9FC04 80240EC4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A9FC08 80240EC8 46000005 */ abs.s $f0, $f0 +/* A9FC0C 80240ECC E7A40028 */ swc1 $f4, 0x28($sp) +/* A9FC10 80240ED0 3C014030 */ lui $at, 0x4030 +/* A9FC14 80240ED4 44812800 */ mtc1 $at, $f5 +/* A9FC18 80240ED8 44802000 */ mtc1 $zero, $f4 +/* A9FC1C 80240EDC 46000021 */ cvt.d.s $f0, $f0 +/* A9FC20 80240EE0 E7A60020 */ swc1 $f6, 0x20($sp) +/* A9FC24 80240EE4 46240000 */ add.d $f0, $f0, $f4 +/* A9FC28 80240EE8 462010A0 */ cvt.s.d $f2, $f2 +/* A9FC2C 80240EEC E7A20024 */ swc1 $f2, 0x24($sp) +/* A9FC30 80240EF0 46200020 */ cvt.s.d $f0, $f0 +/* A9FC34 80240EF4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A9FC38 80240EF8 AFA20010 */ sw $v0, 0x10($sp) +/* A9FC3C 80240EFC 8E040080 */ lw $a0, 0x80($s0) +/* A9FC40 80240F00 0C0372DF */ jal func_800DCB7C +/* A9FC44 80240F04 27A70028 */ addiu $a3, $sp, 0x28 +/* A9FC48 80240F08 1040000B */ beqz $v0, .L80240F38 +/* A9FC4C 80240F0C 00000000 */ nop +/* A9FC50 80240F10 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9FC54 80240F14 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A9FC58 80240F18 46000005 */ abs.s $f0, $f0 +/* A9FC5C 80240F1C 46000021 */ cvt.d.s $f0, $f0 +/* A9FC60 80240F20 46340000 */ add.d $f0, $f0, $f20 +/* A9FC64 80240F24 460010A1 */ cvt.d.s $f2, $f2 +/* A9FC68 80240F28 4620103E */ c.le.d $f2, $f0 +/* A9FC6C 80240F2C 00000000 */ nop +/* A9FC70 80240F30 45030001 */ bc1tl .L80240F38 +/* A9FC74 80240F34 24120001 */ addiu $s2, $zero, 1 +.L80240F38: +/* A9FC78 80240F38 56400008 */ bnel $s2, $zero, .L80240F5C +/* A9FC7C 80240F3C 2414000A */ addiu $s4, $zero, 0xa +/* A9FC80 80240F40 C604003C */ lwc1 $f4, 0x3c($s0) +/* A9FC84 80240F44 C600001C */ lwc1 $f0, 0x1c($s0) +/* A9FC88 80240F48 46002100 */ add.s $f4, $f4, $f0 +/* A9FC8C 80240F4C C6020014 */ lwc1 $f2, 0x14($s0) +/* A9FC90 80240F50 46020001 */ sub.s $f0, $f0, $f2 +/* A9FC94 80240F54 E604003C */ swc1 $f4, 0x3c($s0) +/* A9FC98 80240F58 E600001C */ swc1 $f0, 0x1c($s0) +.L80240F5C: +/* A9FC9C 80240F5C 9602008E */ lhu $v0, 0x8e($s0) +/* A9FCA0 80240F60 2442FFFF */ addiu $v0, $v0, -1 +/* A9FCA4 80240F64 A602008E */ sh $v0, 0x8e($s0) +/* A9FCA8 80240F68 00021400 */ sll $v0, $v0, 0x10 +/* A9FCAC 80240F6C 58400001 */ blezl $v0, .L80240F74 +/* A9FCB0 80240F70 2414000B */ addiu $s4, $zero, 0xb +.L80240F74: +/* A9FCB4 80240F74 12800024 */ beqz $s4, .L80241008 +/* A9FCB8 80240F78 00000000 */ nop +/* A9FCBC 80240F7C AFA00010 */ sw $zero, 0x10($sp) +/* A9FCC0 80240F80 AFA00014 */ sw $zero, 0x14($sp) +/* A9FCC4 80240F84 8E050038 */ lw $a1, 0x38($s0) +/* A9FCC8 80240F88 8E06003C */ lw $a2, 0x3c($s0) +/* A9FCCC 80240F8C 8E070040 */ lw $a3, 0x40($s0) +/* A9FCD0 80240F90 0C01BECC */ jal fx_walk_normal +/* A9FCD4 80240F94 24040002 */ addiu $a0, $zero, 2 +/* A9FCD8 80240F98 3C01C47A */ lui $at, 0xc47a +/* A9FCDC 80240F9C 44810000 */ mtc1 $at, $f0 +/* A9FCE0 80240FA0 AE20006C */ sw $zero, 0x6c($s1) +/* A9FCE4 80240FA4 8E020000 */ lw $v0, ($s0) +/* A9FCE8 80240FA8 0200202D */ daddu $a0, $s0, $zero +/* A9FCEC 80240FAC AE000038 */ sw $zero, 0x38($s0) +/* A9FCF0 80240FB0 AE000040 */ sw $zero, 0x40($s0) +/* A9FCF4 80240FB4 34420002 */ ori $v0, $v0, 2 +/* A9FCF8 80240FB8 E600003C */ swc1 $f0, 0x3c($s0) +/* A9FCFC 80240FBC 0C00EAFF */ jal disable_npc_shadow +/* A9FD00 80240FC0 AE020000 */ sw $v0, ($s0) +/* A9FD04 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* A9FD08 80240FC8 3C05FE36 */ lui $a1, 0xfe36 +/* A9FD0C 80240FCC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A9FD10 80240FD0 24060001 */ addiu $a2, $zero, 1 +/* A9FD14 80240FD4 8E020000 */ lw $v0, ($s0) +/* A9FD18 80240FD8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A9FD1C 80240FDC 00431024 */ and $v0, $v0, $v1 +/* A9FD20 80240FE0 AE020000 */ sw $v0, ($s0) +/* A9FD24 80240FE4 8E220000 */ lw $v0, ($s1) +/* A9FD28 80240FE8 3C031F00 */ lui $v1, 0x1f00 +/* A9FD2C 80240FEC 00431025 */ or $v0, $v0, $v1 +/* A9FD30 80240FF0 AE220000 */ sw $v0, ($s1) +/* A9FD34 80240FF4 AC800070 */ sw $zero, 0x70($a0) +.L80240FF8: +/* A9FD38 80240FF8 0C0B2026 */ jal set_variable +/* A9FD3C 80240FFC 00000000 */ nop +/* A9FD40 80241000 0809040E */ j .L80241038 +/* A9FD44 80241004 24020002 */ addiu $v0, $zero, 2 +.L80241008: +/* A9FD48 80241008 8E220070 */ lw $v0, 0x70($s1) +/* A9FD4C 8024100C 30420001 */ andi $v0, $v0, 1 +/* A9FD50 80241010 10400009 */ beqz $v0, .L80241038 +/* A9FD54 80241014 0000102D */ daddu $v0, $zero, $zero +/* A9FD58 80241018 C600004C */ lwc1 $f0, 0x4c($s0) +/* A9FD5C 8024101C 3C01404E */ lui $at, 0x404e +/* A9FD60 80241020 44811800 */ mtc1 $at, $f3 +/* A9FD64 80241024 44801000 */ mtc1 $zero, $f2 +/* A9FD68 80241028 46000021 */ cvt.d.s $f0, $f0 +/* A9FD6C 8024102C 46220000 */ add.d $f0, $f0, $f2 +/* A9FD70 80241030 46200020 */ cvt.s.d $f0, $f0 +/* A9FD74 80241034 E600004C */ swc1 $f0, 0x4c($s0) +.L80241038: +/* A9FD78 80241038 8FBF0044 */ lw $ra, 0x44($sp) +/* A9FD7C 8024103C 8FB40040 */ lw $s4, 0x40($sp) +/* A9FD80 80241040 8FB3003C */ lw $s3, 0x3c($sp) +/* A9FD84 80241044 8FB20038 */ lw $s2, 0x38($sp) +/* A9FD88 80241048 8FB10034 */ lw $s1, 0x34($sp) +/* A9FD8C 8024104C 8FB00030 */ lw $s0, 0x30($sp) +/* A9FD90 80241050 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A9FD94 80241054 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A9FD98 80241058 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A9FD9C 8024105C 03E00008 */ jr $ra +/* A9FDA0 80241060 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80241064_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80241064_A9ED40.s new file mode 100644 index 0000000000..28db87cfd0 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80241064_A9ED40.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241064_A9FDA4 +/* A9FDA4 80241064 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A9FDA8 80241068 AFB3003C */ sw $s3, 0x3c($sp) +/* A9FDAC 8024106C 0080982D */ daddu $s3, $a0, $zero +/* A9FDB0 80241070 AFBF0048 */ sw $ra, 0x48($sp) +/* A9FDB4 80241074 AFB50044 */ sw $s5, 0x44($sp) +/* A9FDB8 80241078 AFB40040 */ sw $s4, 0x40($sp) +/* A9FDBC 8024107C AFB20038 */ sw $s2, 0x38($sp) +/* A9FDC0 80241080 AFB10034 */ sw $s1, 0x34($sp) +/* A9FDC4 80241084 AFB00030 */ sw $s0, 0x30($sp) +/* A9FDC8 80241088 8E720148 */ lw $s2, 0x148($s3) +/* A9FDCC 8024108C 86440008 */ lh $a0, 8($s2) +/* A9FDD0 80241090 8E70000C */ lw $s0, 0xc($s3) +/* A9FDD4 80241094 0C00EABB */ jal get_npc_unsafe +/* A9FDD8 80241098 00A0882D */ daddu $s1, $a1, $zero +/* A9FDDC 8024109C 0260202D */ daddu $a0, $s3, $zero +/* A9FDE0 802410A0 8E050000 */ lw $a1, ($s0) +/* A9FDE4 802410A4 0C0B1EAF */ jal get_variable +/* A9FDE8 802410A8 0040A02D */ daddu $s4, $v0, $zero +/* A9FDEC 802410AC AFA00010 */ sw $zero, 0x10($sp) +/* A9FDF0 802410B0 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9FDF4 802410B4 8C630030 */ lw $v1, 0x30($v1) +/* A9FDF8 802410B8 AFA30014 */ sw $v1, 0x14($sp) +/* A9FDFC 802410BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9FE00 802410C0 8C63001C */ lw $v1, 0x1c($v1) +/* A9FE04 802410C4 AFA30018 */ sw $v1, 0x18($sp) +/* A9FE08 802410C8 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9FE0C 802410CC 8C630024 */ lw $v1, 0x24($v1) +/* A9FE10 802410D0 AFA3001C */ sw $v1, 0x1c($sp) +/* A9FE14 802410D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9FE18 802410D8 8C630028 */ lw $v1, 0x28($v1) +/* A9FE1C 802410DC 27B50010 */ addiu $s5, $sp, 0x10 +/* A9FE20 802410E0 AFA30020 */ sw $v1, 0x20($sp) +/* A9FE24 802410E4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A9FE28 802410E8 3C014220 */ lui $at, 0x4220 +/* A9FE2C 802410EC 44810000 */ mtc1 $at, $f0 +/* A9FE30 802410F0 8C63002C */ lw $v1, 0x2c($v1) +/* A9FE34 802410F4 0040802D */ daddu $s0, $v0, $zero +/* A9FE38 802410F8 E7A00028 */ swc1 $f0, 0x28($sp) +/* A9FE3C 802410FC A7A0002C */ sh $zero, 0x2c($sp) +/* A9FE40 80241100 16200005 */ bnez $s1, .L80241118 +/* A9FE44 80241104 AFA30024 */ sw $v1, 0x24($sp) +/* A9FE48 80241108 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9FE4C 8024110C 30420004 */ andi $v0, $v0, 4 +/* A9FE50 80241110 1040002F */ beqz $v0, .L802411D0 +/* A9FE54 80241114 00000000 */ nop +.L80241118: +/* A9FE58 80241118 2404F7FF */ addiu $a0, $zero, -0x801 +/* A9FE5C 8024111C AE600070 */ sw $zero, 0x70($s3) +/* A9FE60 80241120 A680008E */ sh $zero, 0x8e($s4) +/* A9FE64 80241124 8E4200CC */ lw $v0, 0xcc($s2) +/* A9FE68 80241128 8E830000 */ lw $v1, ($s4) +/* A9FE6C 8024112C 8C420000 */ lw $v0, ($v0) +/* A9FE70 80241130 00641824 */ and $v1, $v1, $a0 +/* A9FE74 80241134 AE830000 */ sw $v1, ($s4) +/* A9FE78 80241138 AE820028 */ sw $v0, 0x28($s4) +/* A9FE7C 8024113C 8E4200D0 */ lw $v0, 0xd0($s2) +/* A9FE80 80241140 8C420034 */ lw $v0, 0x34($v0) +/* A9FE84 80241144 54400005 */ bnel $v0, $zero, .L8024115C +/* A9FE88 80241148 2402FDFF */ addiu $v0, $zero, -0x201 +/* A9FE8C 8024114C 34620200 */ ori $v0, $v1, 0x200 +/* A9FE90 80241150 2403FFF7 */ addiu $v1, $zero, -9 +/* A9FE94 80241154 08090459 */ j .L80241164 +/* A9FE98 80241158 00431024 */ and $v0, $v0, $v1 +.L8024115C: +/* A9FE9C 8024115C 00621024 */ and $v0, $v1, $v0 +/* A9FEA0 80241160 34420008 */ ori $v0, $v0, 8 +.L80241164: +/* A9FEA4 80241164 AE820000 */ sw $v0, ($s4) +/* A9FEA8 80241168 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9FEAC 8024116C 30420004 */ andi $v0, $v0, 4 +/* A9FEB0 80241170 10400008 */ beqz $v0, .L80241194 +/* A9FEB4 80241174 24020063 */ addiu $v0, $zero, 0x63 +/* A9FEB8 80241178 AE620070 */ sw $v0, 0x70($s3) +/* A9FEBC 8024117C AE600074 */ sw $zero, 0x74($s3) +/* A9FEC0 80241180 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9FEC4 80241184 2403FFFB */ addiu $v1, $zero, -5 +/* A9FEC8 80241188 00431024 */ and $v0, $v0, $v1 +/* A9FECC 8024118C 0809046B */ j .L802411AC +/* A9FED0 80241190 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241194: +/* A9FED4 80241194 8E420000 */ lw $v0, ($s2) +/* A9FED8 80241198 3C034000 */ lui $v1, 0x4000 +/* A9FEDC 8024119C 00431024 */ and $v0, $v0, $v1 +/* A9FEE0 802411A0 10400002 */ beqz $v0, .L802411AC +/* A9FEE4 802411A4 2402000C */ addiu $v0, $zero, 0xc +/* A9FEE8 802411A8 AE620070 */ sw $v0, 0x70($s3) +.L802411AC: +/* A9FEEC 802411AC 3C05BFFF */ lui $a1, 0xbfff +/* A9FEF0 802411B0 34A5FFFF */ ori $a1, $a1, 0xffff +/* A9FEF4 802411B4 2404FFFB */ addiu $a0, $zero, -5 +/* A9FEF8 802411B8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A9FEFC 802411BC 8E430000 */ lw $v1, ($s2) +/* A9FF00 802411C0 00441024 */ and $v0, $v0, $a0 +/* A9FF04 802411C4 00651824 */ and $v1, $v1, $a1 +/* A9FF08 802411C8 AE4200B0 */ sw $v0, 0xb0($s2) +/* A9FF0C 802411CC AE430000 */ sw $v1, ($s2) +.L802411D0: +/* A9FF10 802411D0 8E630070 */ lw $v1, 0x70($s3) +/* A9FF14 802411D4 2C620064 */ sltiu $v0, $v1, 0x64 +/* A9FF18 802411D8 10400060 */ beqz $v0, .L8024135C +/* A9FF1C 802411DC 00031080 */ sll $v0, $v1, 2 +/* A9FF20 802411E0 3C018024 */ lui $at, 0x8024 +/* A9FF24 802411E4 00220821 */ addu $at, $at, $v0 +/* A9FF28 802411E8 8C223008 */ lw $v0, 0x3008($at) +/* A9FF2C 802411EC 00400008 */ jr $v0 +/* A9FF30 802411F0 00000000 */ nop +/* A9FF34 802411F4 0260202D */ daddu $a0, $s3, $zero +/* A9FF38 802411F8 0200282D */ daddu $a1, $s0, $zero +/* A9FF3C 802411FC 0C012568 */ jal func_800495A0 +/* A9FF40 80241200 02A0302D */ daddu $a2, $s5, $zero +/* A9FF44 80241204 0260202D */ daddu $a0, $s3, $zero +/* A9FF48 80241208 0200282D */ daddu $a1, $s0, $zero +/* A9FF4C 8024120C 0C0125AE */ jal func_800496B8 +/* A9FF50 80241210 02A0302D */ daddu $a2, $s5, $zero +/* A9FF54 80241214 080904D7 */ j .L8024135C +/* A9FF58 80241218 00000000 */ nop +/* A9FF5C 8024121C 0260202D */ daddu $a0, $s3, $zero +/* A9FF60 80241220 0200282D */ daddu $a1, $s0, $zero +/* A9FF64 80241224 0C0126D1 */ jal func_80049B44 +/* A9FF68 80241228 02A0302D */ daddu $a2, $s5, $zero +/* A9FF6C 8024122C 0260202D */ daddu $a0, $s3, $zero +/* A9FF70 80241230 0200282D */ daddu $a1, $s0, $zero +/* A9FF74 80241234 0C012701 */ jal func_80049C04 +/* A9FF78 80241238 02A0302D */ daddu $a2, $s5, $zero +/* A9FF7C 8024123C 080904D7 */ j .L8024135C +/* A9FF80 80241240 00000000 */ nop +/* A9FF84 80241244 0260202D */ daddu $a0, $s3, $zero +/* A9FF88 80241248 0200282D */ daddu $a1, $s0, $zero +/* A9FF8C 8024124C 0C01278F */ jal func_80049E3C +/* A9FF90 80241250 02A0302D */ daddu $a2, $s5, $zero +/* A9FF94 80241254 0260202D */ daddu $a0, $s3, $zero +/* A9FF98 80241258 0200282D */ daddu $a1, $s0, $zero +/* A9FF9C 8024125C 0C0127B3 */ jal func_80049ECC +/* A9FFA0 80241260 02A0302D */ daddu $a2, $s5, $zero +/* A9FFA4 80241264 080904D7 */ j .L8024135C +/* A9FFA8 80241268 00000000 */ nop +/* A9FFAC 8024126C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A9FFB0 80241270 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A9FFB4 80241274 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A9FFB8 80241278 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A9FFBC 8024127C 8C460028 */ lw $a2, 0x28($v0) +/* A9FFC0 80241280 0C00A7B5 */ jal dist2D +/* A9FFC4 80241284 8C470030 */ lw $a3, 0x30($v0) +/* A9FFC8 80241288 8E42006C */ lw $v0, 0x6c($s2) +/* A9FFCC 8024128C 10400008 */ beqz $v0, .L802412B0 +/* A9FFD0 80241290 46000086 */ mov.s $f2, $f0 +/* A9FFD4 80241294 44820000 */ mtc1 $v0, $f0 +/* A9FFD8 80241298 00000000 */ nop +/* A9FFDC 8024129C 46800020 */ cvt.s.w $f0, $f0 +/* A9FFE0 802412A0 4602003C */ c.lt.s $f0, $f2 +/* A9FFE4 802412A4 00000000 */ nop +/* A9FFE8 802412A8 4500000B */ bc1f .L802412D8 +/* A9FFEC 802412AC 0260202D */ daddu $a0, $s3, $zero +.L802412B0: +/* A9FFF0 802412B0 0260202D */ daddu $a0, $s3, $zero +/* A9FFF4 802412B4 8E050024 */ lw $a1, 0x24($s0) +/* A9FFF8 802412B8 8E060028 */ lw $a2, 0x28($s0) +/* A9FFFC 802412BC 0C0900D8 */ jal func_80240360 +/* AA0000 802412C0 02A0382D */ daddu $a3, $s5, $zero +/* AA0004 802412C4 8E630070 */ lw $v1, 0x70($s3) +/* AA0008 802412C8 2402000C */ addiu $v0, $zero, 0xc +/* AA000C 802412CC 14620023 */ bne $v1, $v0, .L8024135C +/* AA0010 802412D0 00000000 */ nop +/* AA0014 802412D4 0260202D */ daddu $a0, $s3, $zero +.L802412D8: +/* AA0018 802412D8 0200282D */ daddu $a1, $s0, $zero +/* AA001C 802412DC 0C0127DF */ jal func_80049F7C +/* AA0020 802412E0 02A0302D */ daddu $a2, $s5, $zero +/* AA0024 802412E4 0260202D */ daddu $a0, $s3, $zero +/* AA0028 802412E8 0200282D */ daddu $a1, $s0, $zero +/* AA002C 802412EC 0C012849 */ jal func_8004A124 +/* AA0030 802412F0 02A0302D */ daddu $a2, $s5, $zero +/* AA0034 802412F4 080904D7 */ j .L8024135C +/* AA0038 802412F8 00000000 */ nop +/* AA003C 802412FC 0260202D */ daddu $a0, $s3, $zero +/* AA0040 80241300 0200282D */ daddu $a1, $s0, $zero +/* AA0044 80241304 0C0128FA */ jal func_8004A3E8 +/* AA0048 80241308 02A0302D */ daddu $a2, $s5, $zero +/* AA004C 8024130C 080904D7 */ j .L8024135C +/* AA0050 80241310 00000000 */ nop +/* AA0054 80241314 0C090129 */ jal func_802404A4 +/* AA0058 80241318 0260202D */ daddu $a0, $s3, $zero +/* AA005C 8024131C 080904D7 */ j .L8024135C +/* AA0060 80241320 00000000 */ nop +/* AA0064 80241324 0C090169 */ jal func_802405A4 +/* AA0068 80241328 0260202D */ daddu $a0, $s3, $zero +/* AA006C 8024132C 080904D7 */ j .L8024135C +/* AA0070 80241330 00000000 */ nop +/* AA0074 80241334 0C09017A */ jal func_802405E8 +/* AA0078 80241338 0260202D */ daddu $a0, $s3, $zero +/* AA007C 8024133C 080904D7 */ j .L8024135C +/* AA0080 80241340 00000000 */ nop +/* AA0084 80241344 0C0901A2 */ jal func_80240688 +/* AA0088 80241348 0260202D */ daddu $a0, $s3, $zero +/* AA008C 8024134C 080904D7 */ j .L8024135C +/* AA0090 80241350 00000000 */ nop +/* AA0094 80241354 0C0129CF */ jal func_8004A73C +/* AA0098 80241358 0260202D */ daddu $a0, $s3, $zero +.L8024135C: +/* AA009C 8024135C 8FBF0048 */ lw $ra, 0x48($sp) +/* AA00A0 80241360 8FB50044 */ lw $s5, 0x44($sp) +/* AA00A4 80241364 8FB40040 */ lw $s4, 0x40($sp) +/* AA00A8 80241368 8FB3003C */ lw $s3, 0x3c($sp) +/* AA00AC 8024136C 8FB20038 */ lw $s2, 0x38($sp) +/* AA00B0 80241370 8FB10034 */ lw $s1, 0x34($sp) +/* AA00B4 80241374 8FB00030 */ lw $s0, 0x30($sp) +/* AA00B8 80241378 0000102D */ daddu $v0, $zero, $zero +/* AA00BC 8024137C 03E00008 */ jr $ra +/* AA00C0 80241380 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_115/func_80241384_A9ED40.s b/asm/nonmatchings/world/area_kpa/kpa_115/func_80241384_A9ED40.s new file mode 100644 index 0000000000..e4c0d0d364 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_115/func_80241384_A9ED40.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241384_AA00C4 +/* AA00C4 80241384 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA00C8 80241388 3C05FE36 */ lui $a1, 0xfe36 +/* AA00CC 8024138C AFBF0010 */ sw $ra, 0x10($sp) +/* AA00D0 80241390 8C820148 */ lw $v0, 0x148($a0) +/* AA00D4 80241394 3C06800B */ lui $a2, 0x800b +/* AA00D8 80241398 8CC60F9C */ lw $a2, 0xf9c($a2) +/* AA00DC 8024139C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* AA00E0 802413A0 00C23026 */ xor $a2, $a2, $v0 +/* AA00E4 802413A4 0C0B2026 */ jal set_variable +/* AA00E8 802413A8 2CC60001 */ sltiu $a2, $a2, 1 +/* AA00EC 802413AC 8FBF0010 */ lw $ra, 0x10($sp) +/* AA00F0 802413B0 24020002 */ addiu $v0, $zero, 2 +/* AA00F4 802413B4 03E00008 */ jr $ra +/* AA00F8 802413B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* AA00FC 802413BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_80240000_A54950.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240000_A54950.s new file mode 100644 index 0000000000..81b8d36117 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240000_A54950.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A54950 +/* A54950 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A54954 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A54958 80240008 3C05F840 */ lui $a1, 0xf840 +/* A5495C 8024000C 34A56194 */ ori $a1, $a1, 0x6194 +/* A54960 80240010 0C0B1EAF */ jal get_variable +/* A54964 80240014 0000202D */ daddu $a0, $zero, $zero +/* A54968 80240018 0040182D */ daddu $v1, $v0, $zero +/* A5496C 8024001C 3C020019 */ lui $v0, 0x19 +/* A54970 80240020 10600003 */ beqz $v1, .L80240030 +/* A54974 80240024 34420160 */ ori $v0, $v0, 0x160 +/* A54978 80240028 3C020019 */ lui $v0, 0x19 +/* A5497C 8024002C 34420161 */ ori $v0, $v0, 0x161 +.L80240030: +/* A54980 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* A54984 80240034 03E00008 */ jr $ra +/* A54988 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5498C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_80240040_A54950.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240040_A54950.s new file mode 100644 index 0000000000..e1181d672a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240040_A54950.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_A54990 +/* A54990 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A54994 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* A54998 80240048 0080802D */ daddu $s0, $a0, $zero +/* A5499C 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* A549A0 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* A549A4 80240054 8E020088 */ lw $v0, 0x88($s0) +/* A549A8 80240058 00621821 */ addu $v1, $v1, $v0 +/* A549AC 8024005C 04610004 */ bgez $v1, .L80240070 +/* A549B0 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* A549B4 80240064 3C020002 */ lui $v0, 2 +/* A549B8 80240068 08090020 */ j .L80240080 +/* A549BC 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* A549C0 80240070 3C040002 */ lui $a0, 2 +/* A549C4 80240074 0083102A */ slt $v0, $a0, $v1 +/* A549C8 80240078 10400002 */ beqz $v0, .L80240084 +/* A549CC 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* A549D0 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* A549D4 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* A549D8 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* A549DC 8024008C 00621821 */ addu $v1, $v1, $v0 +/* A549E0 80240090 04610004 */ bgez $v1, .L802400A4 +/* A549E4 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* A549E8 80240098 3C020002 */ lui $v0, 2 +/* A549EC 8024009C 0809002D */ j .L802400B4 +/* A549F0 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* A549F4 802400A4 3C040002 */ lui $a0, 2 +/* A549F8 802400A8 0083102A */ slt $v0, $a0, $v1 +/* A549FC 802400AC 10400002 */ beqz $v0, .L802400B8 +/* A54A00 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* A54A04 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* A54A08 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* A54A0C 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* A54A10 802400C0 00621821 */ addu $v1, $v1, $v0 +/* A54A14 802400C4 04610004 */ bgez $v1, .L802400D8 +/* A54A18 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A54A1C 802400CC 3C020002 */ lui $v0, 2 +/* A54A20 802400D0 0809003A */ j .L802400E8 +/* A54A24 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* A54A28 802400D8 3C040002 */ lui $a0, 2 +/* A54A2C 802400DC 0083102A */ slt $v0, $a0, $v1 +/* A54A30 802400E0 10400002 */ beqz $v0, .L802400EC +/* A54A34 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* A54A38 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* A54A3C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A54A40 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* A54A44 802400F4 00621821 */ addu $v1, $v1, $v0 +/* A54A48 802400F8 04610004 */ bgez $v1, .L8024010C +/* A54A4C 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* A54A50 80240100 3C020002 */ lui $v0, 2 +/* A54A54 80240104 08090047 */ j .L8024011C +/* A54A58 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* A54A5C 8024010C 3C040002 */ lui $a0, 2 +/* A54A60 80240110 0083102A */ slt $v0, $a0, $v1 +/* A54A64 80240114 10400002 */ beqz $v0, .L80240120 +/* A54A68 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* A54A6C 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* A54A70 80240120 8E040084 */ lw $a0, 0x84($s0) +/* A54A74 80240124 0C046F07 */ jal set_main_pan_u +/* A54A78 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* A54A7C 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* A54A80 80240130 0C046F0D */ jal set_main_pan_v +/* A54A84 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* A54A88 80240138 8E040084 */ lw $a0, 0x84($s0) +/* A54A8C 8024013C 0C046F13 */ jal set_aux_pan_u +/* A54A90 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* A54A94 80240144 8E040084 */ lw $a0, 0x84($s0) +/* A54A98 80240148 0C046F19 */ jal set_aux_pan_v +/* A54A9C 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A54AA0 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* A54AA4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* A54AA8 80240158 0000102D */ daddu $v0, $zero, $zero +/* A54AAC 8024015C 03E00008 */ jr $ra +/* A54AB0 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_80240164_A54950.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240164_A54950.s new file mode 100644 index 0000000000..81840103b5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240164_A54950.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_A54AB4 +/* A54AB4 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A54AB8 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* A54ABC 8024016C 0080802D */ daddu $s0, $a0, $zero +/* A54AC0 80240170 10A00005 */ beqz $a1, .L80240188 +/* A54AC4 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* A54AC8 80240178 AE000070 */ sw $zero, 0x70($s0) +/* A54ACC 8024017C AE000074 */ sw $zero, 0x74($s0) +/* A54AD0 80240180 AE000078 */ sw $zero, 0x78($s0) +/* A54AD4 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* A54AD8 80240188 8E020070 */ lw $v0, 0x70($s0) +/* A54ADC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A54AE0 80240190 00000000 */ nop +/* A54AE4 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* A54AE8 80240198 8E020088 */ lw $v0, 0x88($s0) +/* A54AEC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A54AF0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A54AF4 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* A54AF8 802401A8 3C020002 */ lui $v0, 2 +/* A54AFC 802401AC 08090071 */ j .L802401C4 +/* A54B00 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A54B04 802401B4 3C040002 */ lui $a0, 2 +/* A54B08 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A54B0C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A54B10 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A54B14 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* A54B18 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* A54B1C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A54B20 802401D0 00000000 */ nop +/* A54B24 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* A54B28 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* A54B2C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A54B30 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A54B34 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* A54B38 802401E8 3C020002 */ lui $v0, 2 +/* A54B3C 802401EC 08090081 */ j .L80240204 +/* A54B40 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A54B44 802401F4 3C040002 */ lui $a0, 2 +/* A54B48 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A54B4C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A54B50 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A54B54 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* A54B58 80240208 8E020078 */ lw $v0, 0x78($s0) +/* A54B5C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A54B60 80240210 00000000 */ nop +/* A54B64 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* A54B68 80240218 8E020090 */ lw $v0, 0x90($s0) +/* A54B6C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A54B70 80240220 04610004 */ bgez $v1, .L80240234 +/* A54B74 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* A54B78 80240228 3C020002 */ lui $v0, 2 +/* A54B7C 8024022C 08090091 */ j .L80240244 +/* A54B80 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A54B84 80240234 3C040002 */ lui $a0, 2 +/* A54B88 80240238 0083102A */ slt $v0, $a0, $v1 +/* A54B8C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A54B90 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A54B94 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* A54B98 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* A54B9C 8024024C 1440000E */ bnez $v0, .L80240288 +/* A54BA0 80240250 00000000 */ nop +/* A54BA4 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* A54BA8 80240258 8E020094 */ lw $v0, 0x94($s0) +/* A54BAC 8024025C 00621821 */ addu $v1, $v1, $v0 +/* A54BB0 80240260 04610004 */ bgez $v1, .L80240274 +/* A54BB4 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* A54BB8 80240268 3C020002 */ lui $v0, 2 +/* A54BBC 8024026C 080900A1 */ j .L80240284 +/* A54BC0 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* A54BC4 80240274 3C040002 */ lui $a0, 2 +/* A54BC8 80240278 0083102A */ slt $v0, $a0, $v1 +/* A54BCC 8024027C 10400002 */ beqz $v0, .L80240288 +/* A54BD0 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* A54BD4 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* A54BD8 80240288 8E040084 */ lw $a0, 0x84($s0) +/* A54BDC 8024028C 0C046F07 */ jal set_main_pan_u +/* A54BE0 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* A54BE4 80240294 8E040084 */ lw $a0, 0x84($s0) +/* A54BE8 80240298 0C046F0D */ jal set_main_pan_v +/* A54BEC 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* A54BF0 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* A54BF4 802402A4 0C046F13 */ jal set_aux_pan_u +/* A54BF8 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A54BFC 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* A54C00 802402B0 0C046F19 */ jal set_aux_pan_v +/* A54C04 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A54C08 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* A54C0C 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* A54C10 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* A54C14 802402C4 24420001 */ addiu $v0, $v0, 1 +/* A54C18 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* A54C1C 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* A54C20 802402D0 24630001 */ addiu $v1, $v1, 1 +/* A54C24 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* A54C28 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* A54C2C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* A54C30 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* A54C34 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A54C38 802402E8 0064182A */ slt $v1, $v1, $a0 +/* A54C3C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* A54C40 802402F0 14600002 */ bnez $v1, .L802402FC +/* A54C44 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* A54C48 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* A54C4C 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* A54C50 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* A54C54 80240304 0043102A */ slt $v0, $v0, $v1 +/* A54C58 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* A54C5C 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* A54C60 80240310 8E020078 */ lw $v0, 0x78($s0) +/* A54C64 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* A54C68 80240318 0043102A */ slt $v0, $v0, $v1 +/* A54C6C 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* A54C70 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* A54C74 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* A54C78 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* A54C7C 8024032C 0043102A */ slt $v0, $v0, $v1 +/* A54C80 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* A54C84 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* A54C88 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* A54C8C 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* A54C90 80240340 0000102D */ daddu $v0, $zero, $zero +/* A54C94 80240344 03E00008 */ jr $ra +/* A54C98 80240348 27BD0018 */ addiu $sp, $sp, 0x18 +/* A54C9C 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_80240350.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240350.s new file mode 100644 index 0000000000..a6bf89c91d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240350.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350 +/* A54CA0 80240350 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A54CA4 80240354 AFBF0010 */ sw $ra, 0x10($sp) +/* A54CA8 80240358 8C82000C */ lw $v0, 0xc($a0) +/* A54CAC 8024035C 3C068016 */ lui $a2, 0x8016 +/* A54CB0 80240360 84C6A556 */ lh $a2, -0x5aaa($a2) +/* A54CB4 80240364 0C0B2026 */ jal set_variable +/* A54CB8 80240368 8C450000 */ lw $a1, ($v0) +/* A54CBC 8024036C 8FBF0010 */ lw $ra, 0x10($sp) +/* A54CC0 80240370 24020002 */ addiu $v0, $zero, 2 +/* A54CC4 80240374 03E00008 */ jr $ra +/* A54CC8 80240378 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_8024037C_A54950.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_8024037C_A54950.s new file mode 100644 index 0000000000..21ac85499f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_8024037C_A54950.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C_A54CCC +/* A54CCC 8024037C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A54CD0 80240380 AFB10014 */ sw $s1, 0x14($sp) +/* A54CD4 80240384 0080882D */ daddu $s1, $a0, $zero +/* A54CD8 80240388 AFBF0018 */ sw $ra, 0x18($sp) +/* A54CDC 8024038C AFB00010 */ sw $s0, 0x10($sp) +/* A54CE0 80240390 8E30000C */ lw $s0, 0xc($s1) +/* A54CE4 80240394 8E050000 */ lw $a1, ($s0) +/* A54CE8 80240398 0C0B1EAF */ jal get_variable +/* A54CEC 8024039C 26100004 */ addiu $s0, $s0, 4 +/* A54CF0 802403A0 0220202D */ daddu $a0, $s1, $zero +/* A54CF4 802403A4 8E050000 */ lw $a1, ($s0) +/* A54CF8 802403A8 0C0B1EAF */ jal get_variable +/* A54CFC 802403AC 0040882D */ daddu $s1, $v0, $zero +/* A54D00 802403B0 0040802D */ daddu $s0, $v0, $zero +/* A54D04 802403B4 3C038016 */ lui $v1, 0x8016 +/* A54D08 802403B8 2463A550 */ addiu $v1, $v1, -0x5ab0 +/* A54D0C 802403BC 84620002 */ lh $v0, 2($v1) +/* A54D10 802403C0 10500004 */ beq $v0, $s0, .L802403D4 +/* A54D14 802403C4 00000000 */ nop +/* A54D18 802403C8 84620004 */ lh $v0, 4($v1) +/* A54D1C 802403CC 14500007 */ bne $v0, $s0, .L802403EC +/* A54D20 802403D0 00000000 */ nop +.L802403D4: +/* A54D24 802403D4 44910000 */ mtc1 $s1, $f0 +/* A54D28 802403D8 00000000 */ nop +/* A54D2C 802403DC 46800020 */ cvt.s.w $f0, $f0 +/* A54D30 802403E0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A54D34 802403E4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A54D38 802403E8 E440001C */ swc1 $f0, 0x1c($v0) +.L802403EC: +/* A54D3C 802403EC 3C028011 */ lui $v0, 0x8011 +/* A54D40 802403F0 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A54D44 802403F4 1040000D */ beqz $v0, .L8024042C +/* A54D48 802403F8 00000000 */ nop +/* A54D4C 802403FC 0C00EABB */ jal get_npc_unsafe +/* A54D50 80240400 2404FFFC */ addiu $a0, $zero, -4 +/* A54D54 80240404 0040182D */ daddu $v1, $v0, $zero +/* A54D58 80240408 84620084 */ lh $v0, 0x84($v1) +/* A54D5C 8024040C 14500007 */ bne $v0, $s0, .L8024042C +/* A54D60 80240410 00000000 */ nop +/* A54D64 80240414 C4600038 */ lwc1 $f0, 0x38($v1) +/* A54D68 80240418 44911000 */ mtc1 $s1, $f2 +/* A54D6C 8024041C 00000000 */ nop +/* A54D70 80240420 468010A0 */ cvt.s.w $f2, $f2 +/* A54D74 80240424 46020000 */ add.s $f0, $f0, $f2 +/* A54D78 80240428 E4600038 */ swc1 $f0, 0x38($v1) +.L8024042C: +/* A54D7C 8024042C 8FBF0018 */ lw $ra, 0x18($sp) +/* A54D80 80240430 8FB10014 */ lw $s1, 0x14($sp) +/* A54D84 80240434 8FB00010 */ lw $s0, 0x10($sp) +/* A54D88 80240438 24020002 */ addiu $v0, $zero, 2 +/* A54D8C 8024043C 03E00008 */ jr $ra +/* A54D90 80240440 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_12/func_80240444_A54950.s b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240444_A54950.s new file mode 100644 index 0000000000..2bdaa349cf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_12/func_80240444_A54950.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240444_A54D94 +/* A54D94 80240444 3C038011 */ lui $v1, 0x8011 +/* A54D98 80240448 8063EBB3 */ lb $v1, -0x144d($v1) +/* A54D9C 8024044C 24020008 */ addiu $v0, $zero, 8 +/* A54DA0 80240450 54620003 */ bnel $v1, $v0, .L80240460 +/* A54DA4 80240454 AC8000A8 */ sw $zero, 0xa8($a0) +/* A54DA8 80240458 24020001 */ addiu $v0, $zero, 1 +/* A54DAC 8024045C AC8200A8 */ sw $v0, 0xa8($a0) +.L80240460: +/* A54DB0 80240460 03E00008 */ jr $ra +/* A54DB4 80240464 24020002 */ addiu $v0, $zero, 2 +/* A54DB8 80240468 00000000 */ nop +/* A54DBC 8024046C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_80240000_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240000_A55F20.s new file mode 100644 index 0000000000..0f78dda522 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240000_A55F20.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A55F20 +/* A55F20 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A55F24 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A55F28 80240008 3C05F840 */ lui $a1, 0xf840 +/* A55F2C 8024000C 34A56194 */ ori $a1, $a1, 0x6194 +/* A55F30 80240010 0C0B1EAF */ jal get_variable +/* A55F34 80240014 0000202D */ daddu $a0, $zero, $zero +/* A55F38 80240018 0040182D */ daddu $v1, $v0, $zero +/* A55F3C 8024001C 3C020019 */ lui $v0, 0x19 +/* A55F40 80240020 10600003 */ beqz $v1, .L80240030 +/* A55F44 80240024 34420162 */ ori $v0, $v0, 0x162 +/* A55F48 80240028 3C020019 */ lui $v0, 0x19 +/* A55F4C 8024002C 34420163 */ ori $v0, $v0, 0x163 +.L80240030: +/* A55F50 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* A55F54 80240034 03E00008 */ jr $ra +/* A55F58 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* A55F5C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_80240040_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240040_A55F20.s new file mode 100644 index 0000000000..86faf2a81a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240040_A55F20.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_A55F60 +/* A55F60 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A55F64 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* A55F68 80240048 0080802D */ daddu $s0, $a0, $zero +/* A55F6C 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* A55F70 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* A55F74 80240054 8E020088 */ lw $v0, 0x88($s0) +/* A55F78 80240058 00621821 */ addu $v1, $v1, $v0 +/* A55F7C 8024005C 04610004 */ bgez $v1, .L80240070 +/* A55F80 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* A55F84 80240064 3C020002 */ lui $v0, 2 +/* A55F88 80240068 08090020 */ j .L80240080 +/* A55F8C 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* A55F90 80240070 3C040002 */ lui $a0, 2 +/* A55F94 80240074 0083102A */ slt $v0, $a0, $v1 +/* A55F98 80240078 10400002 */ beqz $v0, .L80240084 +/* A55F9C 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* A55FA0 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* A55FA4 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* A55FA8 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* A55FAC 8024008C 00621821 */ addu $v1, $v1, $v0 +/* A55FB0 80240090 04610004 */ bgez $v1, .L802400A4 +/* A55FB4 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* A55FB8 80240098 3C020002 */ lui $v0, 2 +/* A55FBC 8024009C 0809002D */ j .L802400B4 +/* A55FC0 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* A55FC4 802400A4 3C040002 */ lui $a0, 2 +/* A55FC8 802400A8 0083102A */ slt $v0, $a0, $v1 +/* A55FCC 802400AC 10400002 */ beqz $v0, .L802400B8 +/* A55FD0 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* A55FD4 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* A55FD8 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* A55FDC 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* A55FE0 802400C0 00621821 */ addu $v1, $v1, $v0 +/* A55FE4 802400C4 04610004 */ bgez $v1, .L802400D8 +/* A55FE8 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A55FEC 802400CC 3C020002 */ lui $v0, 2 +/* A55FF0 802400D0 0809003A */ j .L802400E8 +/* A55FF4 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* A55FF8 802400D8 3C040002 */ lui $a0, 2 +/* A55FFC 802400DC 0083102A */ slt $v0, $a0, $v1 +/* A56000 802400E0 10400002 */ beqz $v0, .L802400EC +/* A56004 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* A56008 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* A5600C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A56010 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* A56014 802400F4 00621821 */ addu $v1, $v1, $v0 +/* A56018 802400F8 04610004 */ bgez $v1, .L8024010C +/* A5601C 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* A56020 80240100 3C020002 */ lui $v0, 2 +/* A56024 80240104 08090047 */ j .L8024011C +/* A56028 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* A5602C 8024010C 3C040002 */ lui $a0, 2 +/* A56030 80240110 0083102A */ slt $v0, $a0, $v1 +/* A56034 80240114 10400002 */ beqz $v0, .L80240120 +/* A56038 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* A5603C 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* A56040 80240120 8E040084 */ lw $a0, 0x84($s0) +/* A56044 80240124 0C046F07 */ jal set_main_pan_u +/* A56048 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5604C 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* A56050 80240130 0C046F0D */ jal set_main_pan_v +/* A56054 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* A56058 80240138 8E040084 */ lw $a0, 0x84($s0) +/* A5605C 8024013C 0C046F13 */ jal set_aux_pan_u +/* A56060 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* A56064 80240144 8E040084 */ lw $a0, 0x84($s0) +/* A56068 80240148 0C046F19 */ jal set_aux_pan_v +/* A5606C 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A56070 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* A56074 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* A56078 80240158 0000102D */ daddu $v0, $zero, $zero +/* A5607C 8024015C 03E00008 */ jr $ra +/* A56080 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_80240164_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240164_A55F20.s new file mode 100644 index 0000000000..089b27e2cd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240164_A55F20.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_A56084 +/* A56084 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A56088 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* A5608C 8024016C 0080802D */ daddu $s0, $a0, $zero +/* A56090 80240170 10A00005 */ beqz $a1, .L80240188 +/* A56094 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* A56098 80240178 AE000070 */ sw $zero, 0x70($s0) +/* A5609C 8024017C AE000074 */ sw $zero, 0x74($s0) +/* A560A0 80240180 AE000078 */ sw $zero, 0x78($s0) +/* A560A4 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* A560A8 80240188 8E020070 */ lw $v0, 0x70($s0) +/* A560AC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A560B0 80240190 00000000 */ nop +/* A560B4 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* A560B8 80240198 8E020088 */ lw $v0, 0x88($s0) +/* A560BC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A560C0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A560C4 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* A560C8 802401A8 3C020002 */ lui $v0, 2 +/* A560CC 802401AC 08090071 */ j .L802401C4 +/* A560D0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A560D4 802401B4 3C040002 */ lui $a0, 2 +/* A560D8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A560DC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A560E0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A560E4 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* A560E8 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* A560EC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A560F0 802401D0 00000000 */ nop +/* A560F4 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* A560F8 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* A560FC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A56100 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A56104 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* A56108 802401E8 3C020002 */ lui $v0, 2 +/* A5610C 802401EC 08090081 */ j .L80240204 +/* A56110 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A56114 802401F4 3C040002 */ lui $a0, 2 +/* A56118 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A5611C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A56120 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A56124 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* A56128 80240208 8E020078 */ lw $v0, 0x78($s0) +/* A5612C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A56130 80240210 00000000 */ nop +/* A56134 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* A56138 80240218 8E020090 */ lw $v0, 0x90($s0) +/* A5613C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A56140 80240220 04610004 */ bgez $v1, .L80240234 +/* A56144 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* A56148 80240228 3C020002 */ lui $v0, 2 +/* A5614C 8024022C 08090091 */ j .L80240244 +/* A56150 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A56154 80240234 3C040002 */ lui $a0, 2 +/* A56158 80240238 0083102A */ slt $v0, $a0, $v1 +/* A5615C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A56160 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A56164 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* A56168 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* A5616C 8024024C 1440000E */ bnez $v0, .L80240288 +/* A56170 80240250 00000000 */ nop +/* A56174 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* A56178 80240258 8E020094 */ lw $v0, 0x94($s0) +/* A5617C 8024025C 00621821 */ addu $v1, $v1, $v0 +/* A56180 80240260 04610004 */ bgez $v1, .L80240274 +/* A56184 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* A56188 80240268 3C020002 */ lui $v0, 2 +/* A5618C 8024026C 080900A1 */ j .L80240284 +/* A56190 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* A56194 80240274 3C040002 */ lui $a0, 2 +/* A56198 80240278 0083102A */ slt $v0, $a0, $v1 +/* A5619C 8024027C 10400002 */ beqz $v0, .L80240288 +/* A561A0 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* A561A4 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* A561A8 80240288 8E040084 */ lw $a0, 0x84($s0) +/* A561AC 8024028C 0C046F07 */ jal set_main_pan_u +/* A561B0 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* A561B4 80240294 8E040084 */ lw $a0, 0x84($s0) +/* A561B8 80240298 0C046F0D */ jal set_main_pan_v +/* A561BC 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* A561C0 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* A561C4 802402A4 0C046F13 */ jal set_aux_pan_u +/* A561C8 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A561CC 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* A561D0 802402B0 0C046F19 */ jal set_aux_pan_v +/* A561D4 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A561D8 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* A561DC 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* A561E0 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* A561E4 802402C4 24420001 */ addiu $v0, $v0, 1 +/* A561E8 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* A561EC 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* A561F0 802402D0 24630001 */ addiu $v1, $v1, 1 +/* A561F4 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* A561F8 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* A561FC 802402DC 24420001 */ addiu $v0, $v0, 1 +/* A56200 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* A56204 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A56208 802402E8 0064182A */ slt $v1, $v1, $a0 +/* A5620C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* A56210 802402F0 14600002 */ bnez $v1, .L802402FC +/* A56214 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* A56218 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* A5621C 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* A56220 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* A56224 80240304 0043102A */ slt $v0, $v0, $v1 +/* A56228 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* A5622C 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* A56230 80240310 8E020078 */ lw $v0, 0x78($s0) +/* A56234 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* A56238 80240318 0043102A */ slt $v0, $v0, $v1 +/* A5623C 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* A56240 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* A56244 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* A56248 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* A5624C 8024032C 0043102A */ slt $v0, $v0, $v1 +/* A56250 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* A56254 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* A56258 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* A5625C 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* A56260 80240340 0000102D */ daddu $v0, $zero, $zero +/* A56264 80240344 03E00008 */ jr $ra +/* A56268 80240348 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5626C 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_80240350_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240350_A55F20.s new file mode 100644 index 0000000000..7b9f88e93e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240350_A55F20.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_A56270 +/* A56270 80240350 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A56274 80240354 AFBF0010 */ sw $ra, 0x10($sp) +/* A56278 80240358 8C82000C */ lw $v0, 0xc($a0) +/* A5627C 8024035C 3C068016 */ lui $a2, 0x8016 +/* A56280 80240360 84C6A556 */ lh $a2, -0x5aaa($a2) +/* A56284 80240364 0C0B2026 */ jal set_variable +/* A56288 80240368 8C450000 */ lw $a1, ($v0) +/* A5628C 8024036C 8FBF0010 */ lw $ra, 0x10($sp) +/* A56290 80240370 24020002 */ addiu $v0, $zero, 2 +/* A56294 80240374 03E00008 */ jr $ra +/* A56298 80240378 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_8024037C_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_8024037C_A55F20.s new file mode 100644 index 0000000000..50ec5cea98 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_8024037C_A55F20.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C_A5629C +/* A5629C 8024037C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A562A0 80240380 AFB10014 */ sw $s1, 0x14($sp) +/* A562A4 80240384 0080882D */ daddu $s1, $a0, $zero +/* A562A8 80240388 AFBF0018 */ sw $ra, 0x18($sp) +/* A562AC 8024038C AFB00010 */ sw $s0, 0x10($sp) +/* A562B0 80240390 8E30000C */ lw $s0, 0xc($s1) +/* A562B4 80240394 8E050000 */ lw $a1, ($s0) +/* A562B8 80240398 0C0B1EAF */ jal get_variable +/* A562BC 8024039C 26100004 */ addiu $s0, $s0, 4 +/* A562C0 802403A0 0220202D */ daddu $a0, $s1, $zero +/* A562C4 802403A4 8E050000 */ lw $a1, ($s0) +/* A562C8 802403A8 0C0B1EAF */ jal get_variable +/* A562CC 802403AC 0040882D */ daddu $s1, $v0, $zero +/* A562D0 802403B0 0040802D */ daddu $s0, $v0, $zero +/* A562D4 802403B4 3C038016 */ lui $v1, 0x8016 +/* A562D8 802403B8 2463A550 */ addiu $v1, $v1, -0x5ab0 +/* A562DC 802403BC 84620002 */ lh $v0, 2($v1) +/* A562E0 802403C0 10500004 */ beq $v0, $s0, .L802403D4 +/* A562E4 802403C4 00000000 */ nop +/* A562E8 802403C8 84620004 */ lh $v0, 4($v1) +/* A562EC 802403CC 14500007 */ bne $v0, $s0, .L802403EC +/* A562F0 802403D0 00000000 */ nop +.L802403D4: +/* A562F4 802403D4 44910000 */ mtc1 $s1, $f0 +/* A562F8 802403D8 00000000 */ nop +/* A562FC 802403DC 46800020 */ cvt.s.w $f0, $f0 +/* A56300 802403E0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A56304 802403E4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A56308 802403E8 E440001C */ swc1 $f0, 0x1c($v0) +.L802403EC: +/* A5630C 802403EC 3C028011 */ lui $v0, 0x8011 +/* A56310 802403F0 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A56314 802403F4 1040000D */ beqz $v0, .L8024042C +/* A56318 802403F8 00000000 */ nop +/* A5631C 802403FC 0C00EABB */ jal get_npc_unsafe +/* A56320 80240400 2404FFFC */ addiu $a0, $zero, -4 +/* A56324 80240404 0040182D */ daddu $v1, $v0, $zero +/* A56328 80240408 84620084 */ lh $v0, 0x84($v1) +/* A5632C 8024040C 14500007 */ bne $v0, $s0, .L8024042C +/* A56330 80240410 00000000 */ nop +/* A56334 80240414 C4600038 */ lwc1 $f0, 0x38($v1) +/* A56338 80240418 44911000 */ mtc1 $s1, $f2 +/* A5633C 8024041C 00000000 */ nop +/* A56340 80240420 468010A0 */ cvt.s.w $f2, $f2 +/* A56344 80240424 46020000 */ add.s $f0, $f0, $f2 +/* A56348 80240428 E4600038 */ swc1 $f0, 0x38($v1) +.L8024042C: +/* A5634C 8024042C 8FBF0018 */ lw $ra, 0x18($sp) +/* A56350 80240430 8FB10014 */ lw $s1, 0x14($sp) +/* A56354 80240434 8FB00010 */ lw $s0, 0x10($sp) +/* A56358 80240438 24020002 */ addiu $v0, $zero, 2 +/* A5635C 8024043C 03E00008 */ jr $ra +/* A56360 80240440 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_13/func_80240444_A55F20.s b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240444_A55F20.s new file mode 100644 index 0000000000..67d1c72200 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_13/func_80240444_A55F20.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240444_A56364 +/* A56364 80240444 3C038011 */ lui $v1, 0x8011 +/* A56368 80240448 8063EBB3 */ lb $v1, -0x144d($v1) +/* A5636C 8024044C 24020008 */ addiu $v0, $zero, 8 +/* A56370 80240450 54620003 */ bnel $v1, $v0, .L80240460 +/* A56374 80240454 AC8000A8 */ sw $zero, 0xa8($a0) +/* A56378 80240458 24020001 */ addiu $v0, $zero, 1 +/* A5637C 8024045C AC8200A8 */ sw $v0, 0xa8($a0) +.L80240460: +/* A56380 80240460 03E00008 */ jr $ra +/* A56384 80240464 24020002 */ addiu $v0, $zero, 2 +/* A56388 80240468 00000000 */ nop +/* A5638C 8024046C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_130/func_80240000_AA2D20.s b/asm/nonmatchings/world/area_kpa/kpa_130/func_80240000_AA2D20.s new file mode 100644 index 0000000000..0ba0cef989 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_130/func_80240000_AA2D20.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AA2D20 +/* AA2D20 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA2D24 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AA2D28 80240008 24100032 */ addiu $s0, $zero, 0x32 +/* AA2D2C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +.L80240010: +/* AA2D30 80240010 0C00FB3A */ jal get_enemy +/* AA2D34 80240014 0200202D */ daddu $a0, $s0, $zero +/* AA2D38 80240018 8C42006C */ lw $v0, 0x6c($v0) +/* AA2D3C 8024001C 54400003 */ bnel $v0, $zero, .L8024002C +/* AA2D40 80240020 26100001 */ addiu $s0, $s0, 1 +/* AA2D44 80240024 0809000E */ j .L80240038 +/* AA2D48 80240028 0200102D */ daddu $v0, $s0, $zero +.L8024002C: +/* AA2D4C 8024002C 2A02003C */ slti $v0, $s0, 0x3c +/* AA2D50 80240030 1440FFF7 */ bnez $v0, .L80240010 +/* AA2D54 80240034 2402FFFF */ addiu $v0, $zero, -1 +.L80240038: +/* AA2D58 80240038 8FBF0014 */ lw $ra, 0x14($sp) +/* AA2D5C 8024003C 8FB00010 */ lw $s0, 0x10($sp) +/* AA2D60 80240040 03E00008 */ jr $ra +/* AA2D64 80240044 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_130/func_80240048_AA2D20.s b/asm/nonmatchings/world/area_kpa/kpa_130/func_80240048_AA2D20.s new file mode 100644 index 0000000000..41807de99e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_130/func_80240048_AA2D20.s @@ -0,0 +1,302 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240048_AA2D68 +/* AA2D68 80240048 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AA2D6C 8024004C AFB3002C */ sw $s3, 0x2c($sp) +/* AA2D70 80240050 0080982D */ daddu $s3, $a0, $zero +/* AA2D74 80240054 AFB00020 */ sw $s0, 0x20($sp) +/* AA2D78 80240058 00A0802D */ daddu $s0, $a1, $zero +/* AA2D7C 8024005C AFBF003C */ sw $ra, 0x3c($sp) +/* AA2D80 80240060 AFB60038 */ sw $s6, 0x38($sp) +/* AA2D84 80240064 AFB50034 */ sw $s5, 0x34($sp) +/* AA2D88 80240068 AFB40030 */ sw $s4, 0x30($sp) +/* AA2D8C 8024006C AFB20028 */ sw $s2, 0x28($sp) +/* AA2D90 80240070 AFB10024 */ sw $s1, 0x24($sp) +/* AA2D94 80240074 F7B40040 */ sdc1 $f20, 0x40($sp) +/* AA2D98 80240078 8E720148 */ lw $s2, 0x148($s3) +/* AA2D9C 8024007C 0000A02D */ daddu $s4, $zero, $zero +/* AA2DA0 80240080 86440008 */ lh $a0, 8($s2) +/* AA2DA4 80240084 0C00EABB */ jal get_npc_unsafe +/* AA2DA8 80240088 0280A82D */ daddu $s5, $s4, $zero +/* AA2DAC 8024008C 8E63000C */ lw $v1, 0xc($s3) +/* AA2DB0 80240090 0260202D */ daddu $a0, $s3, $zero +/* AA2DB4 80240094 8C650000 */ lw $a1, ($v1) +/* AA2DB8 80240098 0C0B1EAF */ jal get_variable +/* AA2DBC 8024009C 0040882D */ daddu $s1, $v0, $zero +/* AA2DC0 802400A0 16000005 */ bnez $s0, .L802400B8 +/* AA2DC4 802400A4 0040B02D */ daddu $s6, $v0, $zero +/* AA2DC8 802400A8 8E43006C */ lw $v1, 0x6c($s2) +/* AA2DCC 802400AC 24020064 */ addiu $v0, $zero, 0x64 +/* AA2DD0 802400B0 14620011 */ bne $v1, $v0, .L802400F8 +/* AA2DD4 802400B4 00000000 */ nop +.L802400B8: +/* AA2DD8 802400B8 AE600070 */ sw $zero, 0x70($s3) +/* AA2DDC 802400BC A620008E */ sh $zero, 0x8e($s1) +/* AA2DE0 802400C0 8E4200B0 */ lw $v0, 0xb0($s2) +/* AA2DE4 802400C4 34420008 */ ori $v0, $v0, 8 +/* AA2DE8 802400C8 AE4200B0 */ sw $v0, 0xb0($s2) +/* AA2DEC 802400CC 8E420000 */ lw $v0, ($s2) +/* AA2DF0 802400D0 3C030020 */ lui $v1, 0x20 +/* AA2DF4 802400D4 00431025 */ or $v0, $v0, $v1 +/* AA2DF8 802400D8 AE420000 */ sw $v0, ($s2) +/* AA2DFC 802400DC 8E220000 */ lw $v0, ($s1) +/* AA2E00 802400E0 3C030004 */ lui $v1, 4 +/* AA2E04 802400E4 00431025 */ or $v0, $v0, $v1 +/* AA2E08 802400E8 AE220000 */ sw $v0, ($s1) +/* AA2E0C 802400EC 2402FFFF */ addiu $v0, $zero, -1 +/* AA2E10 802400F0 AE40006C */ sw $zero, 0x6c($s2) +/* AA2E14 802400F4 AE420070 */ sw $v0, 0x70($s2) +.L802400F8: +/* AA2E18 802400F8 8E4300B0 */ lw $v1, 0xb0($s2) +/* AA2E1C 802400FC 30620004 */ andi $v0, $v1, 4 +/* AA2E20 80240100 10400007 */ beqz $v0, .L80240120 +/* AA2E24 80240104 00000000 */ nop +/* AA2E28 80240108 824200B4 */ lb $v0, 0xb4($s2) +/* AA2E2C 8024010C 144000DC */ bnez $v0, .L80240480 +/* AA2E30 80240110 0000102D */ daddu $v0, $zero, $zero +/* AA2E34 80240114 2402FFFB */ addiu $v0, $zero, -5 +/* AA2E38 80240118 00621024 */ and $v0, $v1, $v0 +/* AA2E3C 8024011C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240120: +/* AA2E40 80240120 8E630070 */ lw $v1, 0x70($s3) +/* AA2E44 80240124 24100001 */ addiu $s0, $zero, 1 +/* AA2E48 80240128 1070001C */ beq $v1, $s0, .L8024019C +/* AA2E4C 8024012C 28620002 */ slti $v0, $v1, 2 +/* AA2E50 80240130 50400005 */ beql $v0, $zero, .L80240148 +/* AA2E54 80240134 24020002 */ addiu $v0, $zero, 2 +/* AA2E58 80240138 10600009 */ beqz $v1, .L80240160 +/* AA2E5C 8024013C 0220202D */ daddu $a0, $s1, $zero +/* AA2E60 80240140 0809011C */ j .L80240470 +/* AA2E64 80240144 00000000 */ nop +.L80240148: +/* AA2E68 80240148 10620057 */ beq $v1, $v0, .L802402A8 +/* AA2E6C 8024014C 24020003 */ addiu $v0, $zero, 3 +/* AA2E70 80240150 106200C1 */ beq $v1, $v0, .L80240458 +/* AA2E74 80240154 00000000 */ nop +/* AA2E78 80240158 0809011C */ j .L80240470 +/* AA2E7C 8024015C 00000000 */ nop +.L80240160: +/* AA2E80 80240160 3C01C47A */ lui $at, 0xc47a +/* AA2E84 80240164 44810000 */ mtc1 $at, $f0 +/* AA2E88 80240168 8E230000 */ lw $v1, ($s1) +/* AA2E8C 8024016C 2402FBFF */ addiu $v0, $zero, -0x401 +/* AA2E90 80240170 AE200038 */ sw $zero, 0x38($s1) +/* AA2E94 80240174 AE200040 */ sw $zero, 0x40($s1) +/* AA2E98 80240178 AE200048 */ sw $zero, 0x48($s1) +/* AA2E9C 8024017C A620008E */ sh $zero, 0x8e($s1) +/* AA2EA0 80240180 34630002 */ ori $v1, $v1, 2 +/* AA2EA4 80240184 00621824 */ and $v1, $v1, $v0 +/* AA2EA8 80240188 E620003C */ swc1 $f0, 0x3c($s1) +/* AA2EAC 8024018C 0C00EAFF */ jal disable_npc_shadow +/* AA2EB0 80240190 AE230000 */ sw $v1, ($s1) +/* AA2EB4 80240194 AE40006C */ sw $zero, 0x6c($s2) +/* AA2EB8 80240198 AE700070 */ sw $s0, 0x70($s3) +.L8024019C: +/* AA2EBC 8024019C 8E43006C */ lw $v1, 0x6c($s2) +/* AA2EC0 802401A0 24020002 */ addiu $v0, $zero, 2 +/* AA2EC4 802401A4 146200B2 */ bne $v1, $v0, .L80240470 +/* AA2EC8 802401A8 24020003 */ addiu $v0, $zero, 3 +/* AA2ECC 802401AC 8E440070 */ lw $a0, 0x70($s2) +/* AA2ED0 802401B0 0C00FB3A */ jal get_enemy +/* AA2ED4 802401B4 AE42006C */ sw $v0, 0x6c($s2) +/* AA2ED8 802401B8 84440008 */ lh $a0, 8($v0) +/* AA2EDC 802401BC 0C00EABB */ jal get_npc_unsafe +/* AA2EE0 802401C0 00000000 */ nop +/* AA2EE4 802401C4 8E230000 */ lw $v1, ($s1) +/* AA2EE8 802401C8 2404FFFD */ addiu $a0, $zero, -3 +/* AA2EEC 802401CC 00641824 */ and $v1, $v1, $a0 +/* AA2EF0 802401D0 AE230000 */ sw $v1, ($s1) +/* AA2EF4 802401D4 C4400038 */ lwc1 $f0, 0x38($v0) +/* AA2EF8 802401D8 E6200038 */ swc1 $f0, 0x38($s1) +/* AA2EFC 802401DC C440003C */ lwc1 $f0, 0x3c($v0) +/* AA2F00 802401E0 3C014026 */ lui $at, 0x4026 +/* AA2F04 802401E4 44811800 */ mtc1 $at, $f3 +/* AA2F08 802401E8 44801000 */ mtc1 $zero, $f2 +/* AA2F0C 802401EC 46000021 */ cvt.d.s $f0, $f0 +/* AA2F10 802401F0 46220000 */ add.d $f0, $f0, $f2 +/* AA2F14 802401F4 46200020 */ cvt.s.d $f0, $f0 +/* AA2F18 802401F8 E620003C */ swc1 $f0, 0x3c($s1) +/* AA2F1C 802401FC C4400040 */ lwc1 $f0, 0x40($v0) +/* AA2F20 80240200 3C013FF0 */ lui $at, 0x3ff0 +/* AA2F24 80240204 44811800 */ mtc1 $at, $f3 +/* AA2F28 80240208 44801000 */ mtc1 $zero, $f2 +/* AA2F2C 8024020C 46000021 */ cvt.d.s $f0, $f0 +/* AA2F30 80240210 46220000 */ add.d $f0, $f0, $f2 +/* AA2F34 80240214 3C0641C8 */ lui $a2, 0x41c8 +/* AA2F38 80240218 46200020 */ cvt.s.d $f0, $f0 +/* AA2F3C 8024021C E6200040 */ swc1 $f0, 0x40($s1) +/* AA2F40 80240220 C440000C */ lwc1 $f0, 0xc($v0) +/* AA2F44 80240224 E620000C */ swc1 $f0, 0xc($s1) +/* AA2F48 80240228 C6C00018 */ lwc1 $f0, 0x18($s6) +/* AA2F4C 8024022C 26250040 */ addiu $a1, $s1, 0x40 +/* AA2F50 80240230 E6200018 */ swc1 $f0, 0x18($s1) +/* AA2F54 80240234 8E4200CC */ lw $v0, 0xcc($s2) +/* AA2F58 80240238 8E27000C */ lw $a3, 0xc($s1) +/* AA2F5C 8024023C 8C420008 */ lw $v0, 8($v0) +/* AA2F60 80240240 26240038 */ addiu $a0, $s1, 0x38 +/* AA2F64 80240244 0C00A7E7 */ jal add_vec2D_polar +/* AA2F68 80240248 AE220028 */ sw $v0, 0x28($s1) +/* AA2F6C 8024024C C620000C */ lwc1 $f0, 0xc($s1) +/* AA2F70 80240250 3C014334 */ lui $at, 0x4334 +/* AA2F74 80240254 44811000 */ mtc1 $at, $f2 +/* AA2F78 80240258 00000000 */ nop +/* AA2F7C 8024025C 4602003C */ c.lt.s $f0, $f2 +/* AA2F80 80240260 00000000 */ nop +/* AA2F84 80240264 45020002 */ bc1fl .L80240270 +/* AA2F88 80240268 AE200034 */ sw $zero, 0x34($s1) +/* AA2F8C 8024026C E6220034 */ swc1 $f2, 0x34($s1) +.L80240270: +/* AA2F90 80240270 3C060001 */ lui $a2, 1 +/* AA2F94 80240274 34C60400 */ ori $a2, $a2, 0x400 +/* AA2F98 80240278 8E4200CC */ lw $v0, 0xcc($s2) +/* AA2F9C 8024027C 0220202D */ daddu $a0, $s1, $zero +/* AA2FA0 80240280 8C45000C */ lw $a1, 0xc($v0) +/* AA2FA4 80240284 8E220000 */ lw $v0, ($s1) +/* AA2FA8 80240288 2403012C */ addiu $v1, $zero, 0x12c +/* AA2FAC 8024028C A623008E */ sh $v1, 0x8e($s1) +/* AA2FB0 80240290 00461025 */ or $v0, $v0, $a2 +/* AA2FB4 80240294 AE220000 */ sw $v0, ($s1) +/* AA2FB8 80240298 0C00EAE8 */ jal enable_npc_shadow +/* AA2FBC 8024029C AE250028 */ sw $a1, 0x28($s1) +/* AA2FC0 802402A0 24020002 */ addiu $v0, $zero, 2 +/* AA2FC4 802402A4 AE620070 */ sw $v0, 0x70($s3) +.L802402A8: +/* AA2FC8 802402A8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* AA2FCC 802402AC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* AA2FD0 802402B0 C620003C */ lwc1 $f0, 0x3c($s1) +/* AA2FD4 802402B4 C442002C */ lwc1 $f2, 0x2c($v0) +/* AA2FD8 802402B8 46020001 */ sub.s $f0, $f0, $f2 +/* AA2FDC 802402BC 3C018024 */ lui $at, 0x8024 +/* AA2FE0 802402C0 D4224750 */ ldc1 $f2, 0x4750($at) +/* AA2FE4 802402C4 46000121 */ cvt.d.s $f4, $f0 +/* AA2FE8 802402C8 4624103C */ c.lt.d $f2, $f4 +/* AA2FEC 802402CC 00000000 */ nop +/* AA2FF0 802402D0 45030067 */ bc1tl .L80240470 +/* AA2FF4 802402D4 24150001 */ addiu $s5, $zero, 1 +/* AA2FF8 802402D8 3C01C05E */ lui $at, 0xc05e +/* AA2FFC 802402DC 44810800 */ mtc1 $at, $f1 +/* AA3000 802402E0 44800000 */ mtc1 $zero, $f0 +/* AA3004 802402E4 00000000 */ nop +/* AA3008 802402E8 4620203C */ c.lt.d $f4, $f0 +/* AA300C 802402EC 00000000 */ nop +/* AA3010 802402F0 4503005F */ bc1tl .L80240470 +/* AA3014 802402F4 24150001 */ addiu $s5, $zero, 1 +/* AA3018 802402F8 27A40018 */ addiu $a0, $sp, 0x18 +/* AA301C 802402FC 8E260018 */ lw $a2, 0x18($s1) +/* AA3020 80240300 8E27000C */ lw $a3, 0xc($s1) +/* AA3024 80240304 C6200038 */ lwc1 $f0, 0x38($s1) +/* AA3028 80240308 C6220040 */ lwc1 $f2, 0x40($s1) +/* AA302C 8024030C 27A5001C */ addiu $a1, $sp, 0x1c +/* AA3030 80240310 E7A00018 */ swc1 $f0, 0x18($sp) +/* AA3034 80240314 0C00A7E7 */ jal add_vec2D_polar +/* AA3038 80240318 E7A2001C */ swc1 $f2, 0x1c($sp) +/* AA303C 8024031C C622000C */ lwc1 $f2, 0xc($s1) +/* AA3040 80240320 3C014334 */ lui $at, 0x4334 +/* AA3044 80240324 44810000 */ mtc1 $at, $f0 +/* AA3048 80240328 00000000 */ nop +/* AA304C 8024032C 4600103C */ c.lt.s $f2, $f0 +/* AA3050 80240330 00000000 */ nop +/* AA3054 80240334 45000007 */ bc1f .L80240354 +/* AA3058 80240338 00000000 */ nop +/* AA305C 8024033C C7A20018 */ lwc1 $f2, 0x18($sp) +/* AA3060 80240340 C6400074 */ lwc1 $f0, 0x74($s2) +/* AA3064 80240344 46800020 */ cvt.s.w $f0, $f0 +/* AA3068 80240348 4602003E */ c.le.s $f0, $f2 +/* AA306C 8024034C 080900DA */ j .L80240368 +/* AA3070 80240350 00000000 */ nop +.L80240354: +/* AA3074 80240354 C7A20018 */ lwc1 $f2, 0x18($sp) +/* AA3078 80240358 C6400074 */ lwc1 $f0, 0x74($s2) +/* AA307C 8024035C 46800020 */ cvt.s.w $f0, $f0 +/* AA3080 80240360 4600103E */ c.le.s $f2, $f0 +/* AA3084 80240364 00000000 */ nop +.L80240368: +/* AA3088 80240368 45030001 */ bc1tl .L80240370 +/* AA308C 8024036C 24140001 */ addiu $s4, $zero, 1 +.L80240370: +/* AA3090 80240370 12800031 */ beqz $s4, .L80240438 +/* AA3094 80240374 0220202D */ daddu $a0, $s1, $zero +/* AA3098 80240378 3C05B000 */ lui $a1, 0xb000 +/* AA309C 8024037C 8E4200CC */ lw $v0, 0xcc($s2) +/* AA30A0 80240380 34A50018 */ ori $a1, $a1, 0x18 +/* AA30A4 80240384 8C42001C */ lw $v0, 0x1c($v0) +/* AA30A8 80240388 0000302D */ daddu $a2, $zero, $zero +/* AA30AC 8024038C 0C012530 */ jal func_800494C0 +/* AA30B0 80240390 AE220028 */ sw $v0, 0x28($s1) +/* AA30B4 80240394 C620003C */ lwc1 $f0, 0x3c($s1) +/* AA30B8 80240398 3C0140A0 */ lui $at, 0x40a0 +/* AA30BC 8024039C 4481A000 */ mtc1 $at, $f20 +/* AA30C0 802403A0 00000000 */ nop +/* AA30C4 802403A4 46140000 */ add.s $f0, $f0, $f20 +/* AA30C8 802403A8 C6240040 */ lwc1 $f4, 0x40($s1) +/* AA30CC 802403AC 3C013D4C */ lui $at, 0x3d4c +/* AA30D0 802403B0 3421CCCD */ ori $at, $at, 0xcccd +/* AA30D4 802403B4 44811000 */ mtc1 $at, $f2 +/* AA30D8 802403B8 44060000 */ mfc1 $a2, $f0 +/* AA30DC 802403BC 3C013F80 */ lui $at, 0x3f80 +/* AA30E0 802403C0 44810000 */ mtc1 $at, $f0 +/* AA30E4 802403C4 24020014 */ addiu $v0, $zero, 0x14 +/* AA30E8 802403C8 AFA20014 */ sw $v0, 0x14($sp) +/* AA30EC 802403CC 46002100 */ add.s $f4, $f4, $f0 +/* AA30F0 802403D0 E7A20010 */ swc1 $f2, 0x10($sp) +/* AA30F4 802403D4 8E250038 */ lw $a1, 0x38($s1) +/* AA30F8 802403D8 44072000 */ mfc1 $a3, $f4 +/* AA30FC 802403DC 0C01C184 */ jal func_80070610 +/* AA3100 802403E0 0000202D */ daddu $a0, $zero, $zero +/* AA3104 802403E4 C620003C */ lwc1 $f0, 0x3c($s1) +/* AA3108 802403E8 46140000 */ add.s $f0, $f0, $f20 +/* AA310C 802403EC C6240040 */ lwc1 $f4, 0x40($s1) +/* AA3110 802403F0 3C013F99 */ lui $at, 0x3f99 +/* AA3114 802403F4 3421999A */ ori $at, $at, 0x999a +/* AA3118 802403F8 44811000 */ mtc1 $at, $f2 +/* AA311C 802403FC 44060000 */ mfc1 $a2, $f0 +/* AA3120 80240400 44800000 */ mtc1 $zero, $f0 +/* AA3124 80240404 24020019 */ addiu $v0, $zero, 0x19 +/* AA3128 80240408 AFA20014 */ sw $v0, 0x14($sp) +/* AA312C 8024040C 46002100 */ add.s $f4, $f4, $f0 +/* AA3130 80240410 E7A20010 */ swc1 $f2, 0x10($sp) +/* AA3134 80240414 8E250038 */ lw $a1, 0x38($s1) +/* AA3138 80240418 44072000 */ mfc1 $a3, $f4 +/* AA313C 8024041C 0C01C1CC */ jal func_80070730 +/* AA3140 80240420 0000202D */ daddu $a0, $zero, $zero +/* AA3144 80240424 24020001 */ addiu $v0, $zero, 1 +/* AA3148 80240428 A622008E */ sh $v0, 0x8e($s1) +/* AA314C 8024042C 24020003 */ addiu $v0, $zero, 3 +/* AA3150 80240430 08090112 */ j .L80240448 +/* AA3154 80240434 AE620070 */ sw $v0, 0x70($s3) +.L80240438: +/* AA3158 80240438 8E250018 */ lw $a1, 0x18($s1) +/* AA315C 8024043C 8E26000C */ lw $a2, 0xc($s1) +/* AA3160 80240440 0C00EA95 */ jal npc_move_heading +/* AA3164 80240444 0220202D */ daddu $a0, $s1, $zero +.L80240448: +/* AA3168 80240448 8E630070 */ lw $v1, 0x70($s3) +/* AA316C 8024044C 24020003 */ addiu $v0, $zero, 3 +/* AA3170 80240450 14620007 */ bne $v1, $v0, .L80240470 +/* AA3174 80240454 00000000 */ nop +.L80240458: +/* AA3178 80240458 9622008E */ lhu $v0, 0x8e($s1) +/* AA317C 8024045C 2442FFFF */ addiu $v0, $v0, -1 +/* AA3180 80240460 A622008E */ sh $v0, 0x8e($s1) +/* AA3184 80240464 00021400 */ sll $v0, $v0, 0x10 +/* AA3188 80240468 58400001 */ blezl $v0, .L80240470 +/* AA318C 8024046C 24150001 */ addiu $s5, $zero, 1 +.L80240470: +/* AA3190 80240470 12A00002 */ beqz $s5, .L8024047C +/* AA3194 80240474 24020064 */ addiu $v0, $zero, 0x64 +/* AA3198 80240478 AE42006C */ sw $v0, 0x6c($s2) +.L8024047C: +/* AA319C 8024047C 0000102D */ daddu $v0, $zero, $zero +.L80240480: +/* AA31A0 80240480 8FBF003C */ lw $ra, 0x3c($sp) +/* AA31A4 80240484 8FB60038 */ lw $s6, 0x38($sp) +/* AA31A8 80240488 8FB50034 */ lw $s5, 0x34($sp) +/* AA31AC 8024048C 8FB40030 */ lw $s4, 0x30($sp) +/* AA31B0 80240490 8FB3002C */ lw $s3, 0x2c($sp) +/* AA31B4 80240494 8FB20028 */ lw $s2, 0x28($sp) +/* AA31B8 80240498 8FB10024 */ lw $s1, 0x24($sp) +/* AA31BC 8024049C 8FB00020 */ lw $s0, 0x20($sp) +/* AA31C0 802404A0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* AA31C4 802404A4 03E00008 */ jr $ra +/* AA31C8 802404A8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_130/func_802404AC_AA2D20.s b/asm/nonmatchings/world/area_kpa/kpa_130/func_802404AC_AA2D20.s new file mode 100644 index 0000000000..312f8622e9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_130/func_802404AC_AA2D20.s @@ -0,0 +1,178 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404AC_AA31CC +/* AA31CC 802404AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AA31D0 802404B0 AFB40020 */ sw $s4, 0x20($sp) +/* AA31D4 802404B4 0080A02D */ daddu $s4, $a0, $zero +/* AA31D8 802404B8 AFBF0024 */ sw $ra, 0x24($sp) +/* AA31DC 802404BC AFB3001C */ sw $s3, 0x1c($sp) +/* AA31E0 802404C0 AFB20018 */ sw $s2, 0x18($sp) +/* AA31E4 802404C4 AFB10014 */ sw $s1, 0x14($sp) +/* AA31E8 802404C8 AFB00010 */ sw $s0, 0x10($sp) +/* AA31EC 802404CC 8E920148 */ lw $s2, 0x148($s4) +/* AA31F0 802404D0 86440008 */ lh $a0, 8($s2) +/* AA31F4 802404D4 8E90000C */ lw $s0, 0xc($s4) +/* AA31F8 802404D8 0C00EABB */ jal get_npc_unsafe +/* AA31FC 802404DC 00A0882D */ daddu $s1, $a1, $zero +/* AA3200 802404E0 0280202D */ daddu $a0, $s4, $zero +/* AA3204 802404E4 8E050000 */ lw $a1, ($s0) +/* AA3208 802404E8 0C0B1EAF */ jal get_variable +/* AA320C 802404EC 0040982D */ daddu $s3, $v0, $zero +/* AA3210 802404F0 1220000C */ beqz $s1, .L80240524 +/* AA3214 802404F4 2402001E */ addiu $v0, $zero, 0x1e +/* AA3218 802404F8 AE800070 */ sw $zero, 0x70($s4) +/* AA321C 802404FC A662008E */ sh $v0, 0x8e($s3) +/* AA3220 80240500 8E4200CC */ lw $v0, 0xcc($s2) +/* AA3224 80240504 8C420000 */ lw $v0, ($v0) +/* AA3228 80240508 0260202D */ daddu $a0, $s3, $zero +/* AA322C 8024050C AE620028 */ sw $v0, 0x28($s3) +/* AA3230 80240510 8E420000 */ lw $v0, ($s2) +/* AA3234 80240514 3C030020 */ lui $v1, 0x20 +/* AA3238 80240518 00431025 */ or $v0, $v0, $v1 +/* AA323C 8024051C 0C00EAFF */ jal disable_npc_shadow +/* AA3240 80240520 AE420000 */ sw $v0, ($s2) +.L80240524: +/* AA3244 80240524 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* AA3248 80240528 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* AA324C 8024052C C660003C */ lwc1 $f0, 0x3c($s3) +/* AA3250 80240530 C442002C */ lwc1 $f2, 0x2c($v0) +/* AA3254 80240534 46020001 */ sub.s $f0, $f0, $f2 +/* AA3258 80240538 3C018024 */ lui $at, 0x8024 +/* AA325C 8024053C D4224758 */ ldc1 $f2, 0x4758($at) +/* AA3260 80240540 46000121 */ cvt.d.s $f4, $f0 +/* AA3264 80240544 4624103C */ c.lt.d $f2, $f4 +/* AA3268 80240548 00000000 */ nop +/* AA326C 8024054C 45010071 */ bc1t .L80240714 +/* AA3270 80240550 0000102D */ daddu $v0, $zero, $zero +/* AA3274 80240554 3C01C054 */ lui $at, 0xc054 +/* AA3278 80240558 44810800 */ mtc1 $at, $f1 +/* AA327C 8024055C 44800000 */ mtc1 $zero, $f0 +/* AA3280 80240560 00000000 */ nop +/* AA3284 80240564 4620203C */ c.lt.d $f4, $f0 +/* AA3288 80240568 00000000 */ nop +/* AA328C 8024056C 45010069 */ bc1t .L80240714 +/* AA3290 80240570 00000000 */ nop +/* AA3294 80240574 8E4200B0 */ lw $v0, 0xb0($s2) +/* AA3298 80240578 30420004 */ andi $v0, $v0, 4 +/* AA329C 8024057C 1040000B */ beqz $v0, .L802405AC +/* AA32A0 80240580 00000000 */ nop +/* AA32A4 80240584 8E4200CC */ lw $v0, 0xcc($s2) +/* AA32A8 80240588 8C420000 */ lw $v0, ($v0) +/* AA32AC 8024058C AE620028 */ sw $v0, 0x28($s3) +/* AA32B0 80240590 824200B4 */ lb $v0, 0xb4($s2) +/* AA32B4 80240594 1440005F */ bnez $v0, .L80240714 +/* AA32B8 80240598 0000102D */ daddu $v0, $zero, $zero +/* AA32BC 8024059C 8E4200B0 */ lw $v0, 0xb0($s2) +/* AA32C0 802405A0 2403FFFB */ addiu $v1, $zero, -5 +/* AA32C4 802405A4 00431024 */ and $v0, $v0, $v1 +/* AA32C8 802405A8 AE4200B0 */ sw $v0, 0xb0($s2) +.L802405AC: +/* AA32CC 802405AC 8E900070 */ lw $s0, 0x70($s4) +/* AA32D0 802405B0 1200000E */ beqz $s0, .L802405EC +/* AA32D4 802405B4 00000000 */ nop +/* AA32D8 802405B8 06000055 */ bltz $s0, .L80240710 +/* AA32DC 802405BC 2402000A */ addiu $v0, $zero, 0xa +/* AA32E0 802405C0 12020013 */ beq $s0, $v0, .L80240610 +/* AA32E4 802405C4 0202102A */ slt $v0, $s0, $v0 +/* AA32E8 802405C8 14400052 */ bnez $v0, .L80240714 +/* AA32EC 802405CC 0000102D */ daddu $v0, $zero, $zero +/* AA32F0 802405D0 2402000B */ addiu $v0, $zero, 0xb +/* AA32F4 802405D4 12020022 */ beq $s0, $v0, .L80240660 +/* AA32F8 802405D8 2402000C */ addiu $v0, $zero, 0xc +/* AA32FC 802405DC 12020035 */ beq $s0, $v0, .L802406B4 +/* AA3300 802405E0 0000102D */ daddu $v0, $zero, $zero +/* AA3304 802405E4 080901C5 */ j .L80240714 +/* AA3308 802405E8 00000000 */ nop +.L802405EC: +/* AA330C 802405EC 9662008E */ lhu $v0, 0x8e($s3) +/* AA3310 802405F0 2442FFFF */ addiu $v0, $v0, -1 +/* AA3314 802405F4 A662008E */ sh $v0, 0x8e($s3) +/* AA3318 802405F8 00021400 */ sll $v0, $v0, 0x10 +/* AA331C 802405FC 1C400045 */ bgtz $v0, .L80240714 +/* AA3320 80240600 0000102D */ daddu $v0, $zero, $zero +/* AA3324 80240604 2402000A */ addiu $v0, $zero, 0xa +/* AA3328 80240608 080901C4 */ j .L80240710 +/* AA332C 8024060C AE820070 */ sw $v0, 0x70($s4) +.L80240610: +/* AA3330 80240610 0C090000 */ jal func_80240000 +/* AA3334 80240614 00000000 */ nop +/* AA3338 80240618 1840002C */ blez $v0, .L802406CC +/* AA333C 8024061C AE42006C */ sw $v0, 0x6c($s2) +/* AA3340 80240620 0C00FB3A */ jal get_enemy +/* AA3344 80240624 0040202D */ daddu $a0, $v0, $zero +/* AA3348 80240628 0040182D */ daddu $v1, $v0, $zero +/* AA334C 8024062C 24020001 */ addiu $v0, $zero, 1 +/* AA3350 80240630 AC62006C */ sw $v0, 0x6c($v1) +/* AA3354 80240634 86420008 */ lh $v0, 8($s2) +/* AA3358 80240638 AC620070 */ sw $v0, 0x70($v1) +/* AA335C 8024063C 8E420070 */ lw $v0, 0x70($s2) +/* AA3360 80240640 AC620074 */ sw $v0, 0x74($v1) +/* AA3364 80240644 8E4200CC */ lw $v0, 0xcc($s2) +/* AA3368 80240648 8C420020 */ lw $v0, 0x20($v0) +/* AA336C 8024064C A670008E */ sh $s0, 0x8e($s3) +/* AA3370 80240650 AE620028 */ sw $v0, 0x28($s3) +/* AA3374 80240654 2402000B */ addiu $v0, $zero, 0xb +/* AA3378 80240658 080901C4 */ j .L80240710 +/* AA337C 8024065C AE820070 */ sw $v0, 0x70($s4) +.L80240660: +/* AA3380 80240660 9662008E */ lhu $v0, 0x8e($s3) +/* AA3384 80240664 2442FFFF */ addiu $v0, $v0, -1 +/* AA3388 80240668 A662008E */ sh $v0, 0x8e($s3) +/* AA338C 8024066C 00021400 */ sll $v0, $v0, 0x10 +/* AA3390 80240670 1C400028 */ bgtz $v0, .L80240714 +/* AA3394 80240674 0000102D */ daddu $v0, $zero, $zero +/* AA3398 80240678 8E4200CC */ lw $v0, 0xcc($s2) +/* AA339C 8024067C 8C420000 */ lw $v0, ($v0) +/* AA33A0 80240680 AE620028 */ sw $v0, 0x28($s3) +/* AA33A4 80240684 0C00FB3A */ jal get_enemy +/* AA33A8 80240688 8E44006C */ lw $a0, 0x6c($s2) +/* AA33AC 8024068C 0260202D */ daddu $a0, $s3, $zero +/* AA33B0 80240690 24050328 */ addiu $a1, $zero, 0x328 +/* AA33B4 80240694 24030002 */ addiu $v1, $zero, 2 +/* AA33B8 80240698 3C060020 */ lui $a2, 0x20 +/* AA33BC 8024069C 0C012530 */ jal func_800494C0 +/* AA33C0 802406A0 AC43006C */ sw $v1, 0x6c($v0) +/* AA33C4 802406A4 24020005 */ addiu $v0, $zero, 5 +/* AA33C8 802406A8 A662008E */ sh $v0, 0x8e($s3) +/* AA33CC 802406AC 2402000C */ addiu $v0, $zero, 0xc +/* AA33D0 802406B0 AE820070 */ sw $v0, 0x70($s4) +.L802406B4: +/* AA33D4 802406B4 9662008E */ lhu $v0, 0x8e($s3) +/* AA33D8 802406B8 2442FFFF */ addiu $v0, $v0, -1 +/* AA33DC 802406BC A662008E */ sh $v0, 0x8e($s3) +/* AA33E0 802406C0 00021400 */ sll $v0, $v0, 0x10 +/* AA33E4 802406C4 1C400013 */ bgtz $v0, .L80240714 +/* AA33E8 802406C8 0000102D */ daddu $v0, $zero, $zero +.L802406CC: +/* AA33EC 802406CC 0C00A67F */ jal rand_int +/* AA33F0 802406D0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* AA33F4 802406D4 3C038888 */ lui $v1, 0x8888 +/* AA33F8 802406D8 34638889 */ ori $v1, $v1, 0x8889 +/* AA33FC 802406DC 00430018 */ mult $v0, $v1 +/* AA3400 802406E0 00021FC3 */ sra $v1, $v0, 0x1f +/* AA3404 802406E4 00003810 */ mfhi $a3 +/* AA3408 802406E8 00E22021 */ addu $a0, $a3, $v0 +/* AA340C 802406EC 00042143 */ sra $a0, $a0, 5 +/* AA3410 802406F0 00832023 */ subu $a0, $a0, $v1 +/* AA3414 802406F4 00041900 */ sll $v1, $a0, 4 +/* AA3418 802406F8 00641823 */ subu $v1, $v1, $a0 +/* AA341C 802406FC 00031880 */ sll $v1, $v1, 2 +/* AA3420 80240700 00431023 */ subu $v0, $v0, $v1 +/* AA3424 80240704 24420028 */ addiu $v0, $v0, 0x28 +/* AA3428 80240708 A662008E */ sh $v0, 0x8e($s3) +/* AA342C 8024070C AE800070 */ sw $zero, 0x70($s4) +.L80240710: +/* AA3430 80240710 0000102D */ daddu $v0, $zero, $zero +.L80240714: +/* AA3434 80240714 8FBF0024 */ lw $ra, 0x24($sp) +/* AA3438 80240718 8FB40020 */ lw $s4, 0x20($sp) +/* AA343C 8024071C 8FB3001C */ lw $s3, 0x1c($sp) +/* AA3440 80240720 8FB20018 */ lw $s2, 0x18($sp) +/* AA3444 80240724 8FB10014 */ lw $s1, 0x14($sp) +/* AA3448 80240728 8FB00010 */ lw $s0, 0x10($sp) +/* AA344C 8024072C 03E00008 */ jr $ra +/* AA3450 80240730 27BD0028 */ addiu $sp, $sp, 0x28 +/* AA3454 80240734 00000000 */ nop +/* AA3458 80240738 00000000 */ nop +/* AA345C 8024073C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_133/func_80240000_AA7480.s b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240000_AA7480.s new file mode 100644 index 0000000000..616520463b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240000_AA7480.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AA7480 +/* AA7480 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA7484 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AA7488 80240008 0080802D */ daddu $s0, $a0, $zero +/* AA748C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* AA7490 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* AA7494 80240014 8E020088 */ lw $v0, 0x88($s0) +/* AA7498 80240018 00621821 */ addu $v1, $v1, $v0 +/* AA749C 8024001C 04610004 */ bgez $v1, .L80240030 +/* AA74A0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* AA74A4 80240024 3C020002 */ lui $v0, 2 +/* AA74A8 80240028 08090010 */ j .L80240040 +/* AA74AC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* AA74B0 80240030 3C040002 */ lui $a0, 2 +/* AA74B4 80240034 0083102A */ slt $v0, $a0, $v1 +/* AA74B8 80240038 10400002 */ beqz $v0, .L80240044 +/* AA74BC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* AA74C0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* AA74C4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* AA74C8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* AA74CC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* AA74D0 80240050 04610004 */ bgez $v1, .L80240064 +/* AA74D4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* AA74D8 80240058 3C020002 */ lui $v0, 2 +/* AA74DC 8024005C 0809001D */ j .L80240074 +/* AA74E0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* AA74E4 80240064 3C040002 */ lui $a0, 2 +/* AA74E8 80240068 0083102A */ slt $v0, $a0, $v1 +/* AA74EC 8024006C 10400002 */ beqz $v0, .L80240078 +/* AA74F0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* AA74F4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* AA74F8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* AA74FC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* AA7500 80240080 00621821 */ addu $v1, $v1, $v0 +/* AA7504 80240084 04610004 */ bgez $v1, .L80240098 +/* AA7508 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* AA750C 8024008C 3C020002 */ lui $v0, 2 +/* AA7510 80240090 0809002A */ j .L802400A8 +/* AA7514 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* AA7518 80240098 3C040002 */ lui $a0, 2 +/* AA751C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* AA7520 802400A0 10400002 */ beqz $v0, .L802400AC +/* AA7524 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* AA7528 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* AA752C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AA7530 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* AA7534 802400B4 00621821 */ addu $v1, $v1, $v0 +/* AA7538 802400B8 04610004 */ bgez $v1, .L802400CC +/* AA753C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* AA7540 802400C0 3C020002 */ lui $v0, 2 +/* AA7544 802400C4 08090037 */ j .L802400DC +/* AA7548 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* AA754C 802400CC 3C040002 */ lui $a0, 2 +/* AA7550 802400D0 0083102A */ slt $v0, $a0, $v1 +/* AA7554 802400D4 10400002 */ beqz $v0, .L802400E0 +/* AA7558 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* AA755C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* AA7560 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* AA7564 802400E4 0C046F07 */ jal set_main_pan_u +/* AA7568 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* AA756C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* AA7570 802400F0 0C046F0D */ jal set_main_pan_v +/* AA7574 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* AA7578 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* AA757C 802400FC 0C046F13 */ jal set_aux_pan_u +/* AA7580 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* AA7584 80240104 8E040084 */ lw $a0, 0x84($s0) +/* AA7588 80240108 0C046F19 */ jal set_aux_pan_v +/* AA758C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AA7590 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* AA7594 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* AA7598 80240118 0000102D */ daddu $v0, $zero, $zero +/* AA759C 8024011C 03E00008 */ jr $ra +/* AA75A0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_133/func_80240124_AA7480.s b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240124_AA7480.s new file mode 100644 index 0000000000..f554ca40c5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240124_AA7480.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_AA75A4 +/* AA75A4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA75A8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* AA75AC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* AA75B0 80240130 10A00005 */ beqz $a1, .L80240148 +/* AA75B4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* AA75B8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* AA75BC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* AA75C0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* AA75C4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* AA75C8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* AA75CC 8024014C 1440000E */ bnez $v0, .L80240188 +/* AA75D0 80240150 00000000 */ nop +/* AA75D4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* AA75D8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* AA75DC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* AA75E0 80240160 04610004 */ bgez $v1, .L80240174 +/* AA75E4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* AA75E8 80240168 3C020002 */ lui $v0, 2 +/* AA75EC 8024016C 08090061 */ j .L80240184 +/* AA75F0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* AA75F4 80240174 3C040002 */ lui $a0, 2 +/* AA75F8 80240178 0083102A */ slt $v0, $a0, $v1 +/* AA75FC 8024017C 10400002 */ beqz $v0, .L80240188 +/* AA7600 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* AA7604 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* AA7608 80240188 8E020074 */ lw $v0, 0x74($s0) +/* AA760C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* AA7610 80240190 00000000 */ nop +/* AA7614 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* AA7618 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* AA761C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* AA7620 802401A0 04610004 */ bgez $v1, .L802401B4 +/* AA7624 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* AA7628 802401A8 3C020002 */ lui $v0, 2 +/* AA762C 802401AC 08090071 */ j .L802401C4 +/* AA7630 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* AA7634 802401B4 3C040002 */ lui $a0, 2 +/* AA7638 802401B8 0083102A */ slt $v0, $a0, $v1 +/* AA763C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* AA7640 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* AA7644 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* AA7648 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* AA764C 802401CC 1440000E */ bnez $v0, .L80240208 +/* AA7650 802401D0 00000000 */ nop +/* AA7654 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AA7658 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* AA765C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* AA7660 802401E0 04610004 */ bgez $v1, .L802401F4 +/* AA7664 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* AA7668 802401E8 3C020002 */ lui $v0, 2 +/* AA766C 802401EC 08090081 */ j .L80240204 +/* AA7670 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* AA7674 802401F4 3C040002 */ lui $a0, 2 +/* AA7678 802401F8 0083102A */ slt $v0, $a0, $v1 +/* AA767C 802401FC 10400002 */ beqz $v0, .L80240208 +/* AA7680 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* AA7684 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* AA7688 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* AA768C 8024020C 1440000E */ bnez $v0, .L80240248 +/* AA7690 80240210 00000000 */ nop +/* AA7694 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* AA7698 80240218 8E020094 */ lw $v0, 0x94($s0) +/* AA769C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* AA76A0 80240220 04610004 */ bgez $v1, .L80240234 +/* AA76A4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* AA76A8 80240228 3C020002 */ lui $v0, 2 +/* AA76AC 8024022C 08090091 */ j .L80240244 +/* AA76B0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* AA76B4 80240234 3C040002 */ lui $a0, 2 +/* AA76B8 80240238 0083102A */ slt $v0, $a0, $v1 +/* AA76BC 8024023C 10400002 */ beqz $v0, .L80240248 +/* AA76C0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* AA76C4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* AA76C8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* AA76CC 8024024C 0C046F07 */ jal set_main_pan_u +/* AA76D0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* AA76D4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* AA76D8 80240258 0C046F0D */ jal set_main_pan_v +/* AA76DC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* AA76E0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* AA76E4 80240264 0C046F13 */ jal set_aux_pan_u +/* AA76E8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* AA76EC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* AA76F0 80240270 0C046F19 */ jal set_aux_pan_v +/* AA76F4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* AA76F8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* AA76FC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* AA7700 80240280 8E040098 */ lw $a0, 0x98($s0) +/* AA7704 80240284 24420001 */ addiu $v0, $v0, 1 +/* AA7708 80240288 AE020070 */ sw $v0, 0x70($s0) +/* AA770C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* AA7710 80240290 24630001 */ addiu $v1, $v1, 1 +/* AA7714 80240294 AE030078 */ sw $v1, 0x78($s0) +/* AA7718 80240298 8E030070 */ lw $v1, 0x70($s0) +/* AA771C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* AA7720 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* AA7724 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* AA7728 802402A8 0064182A */ slt $v1, $v1, $a0 +/* AA772C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* AA7730 802402B0 14600002 */ bnez $v1, .L802402BC +/* AA7734 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* AA7738 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* AA773C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* AA7740 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* AA7744 802402C4 0043102A */ slt $v0, $v0, $v1 +/* AA7748 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* AA774C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* AA7750 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* AA7754 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AA7758 802402D8 0043102A */ slt $v0, $v0, $v1 +/* AA775C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* AA7760 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* AA7764 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* AA7768 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* AA776C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* AA7770 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* AA7774 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* AA7778 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* AA777C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AA7780 80240300 0000102D */ daddu $v0, $zero, $zero +/* AA7784 80240304 03E00008 */ jr $ra +/* AA7788 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* AA778C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_133/func_80240310_AA7480.s b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240310_AA7480.s new file mode 100644 index 0000000000..3e3fe37cd4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_133/func_80240310_AA7480.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_AA7790 +/* AA7790 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AA7794 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* AA7798 80240318 0080902D */ daddu $s2, $a0, $zero +/* AA779C 8024031C 0000202D */ daddu $a0, $zero, $zero +/* AA77A0 80240320 3C05FD05 */ lui $a1, 0xfd05 +/* AA77A4 80240324 AFBF001C */ sw $ra, 0x1c($sp) +/* AA77A8 80240328 AFB10014 */ sw $s1, 0x14($sp) +/* AA77AC 8024032C AFB00010 */ sw $s0, 0x10($sp) +/* AA77B0 80240330 8E50000C */ lw $s0, 0xc($s2) +/* AA77B4 80240334 0C0B1EAF */ jal get_variable +/* AA77B8 80240338 34A50F80 */ ori $a1, $a1, 0xf80 +/* AA77BC 8024033C 0C04417A */ jal get_entity_by_index +/* AA77C0 80240340 0040202D */ daddu $a0, $v0, $zero +/* AA77C4 80240344 0240202D */ daddu $a0, $s2, $zero +/* AA77C8 80240348 0040882D */ daddu $s1, $v0, $zero +/* AA77CC 8024034C 8E050000 */ lw $a1, ($s0) +/* AA77D0 80240350 0C0B1EAF */ jal get_variable +/* AA77D4 80240354 26100004 */ addiu $s0, $s0, 4 +/* AA77D8 80240358 44820000 */ mtc1 $v0, $f0 +/* AA77DC 8024035C 00000000 */ nop +/* AA77E0 80240360 46800020 */ cvt.s.w $f0, $f0 +/* AA77E4 80240364 E6200060 */ swc1 $f0, 0x60($s1) +/* AA77E8 80240368 8E050000 */ lw $a1, ($s0) +/* AA77EC 8024036C 26100004 */ addiu $s0, $s0, 4 +/* AA77F0 80240370 0C0B1EAF */ jal get_variable +/* AA77F4 80240374 0240202D */ daddu $a0, $s2, $zero +/* AA77F8 80240378 44820000 */ mtc1 $v0, $f0 +/* AA77FC 8024037C 00000000 */ nop +/* AA7800 80240380 46800020 */ cvt.s.w $f0, $f0 +/* AA7804 80240384 E6200064 */ swc1 $f0, 0x64($s1) +/* AA7808 80240388 8E050000 */ lw $a1, ($s0) +/* AA780C 8024038C 0C0B1EAF */ jal get_variable +/* AA7810 80240390 0240202D */ daddu $a0, $s2, $zero +/* AA7814 80240394 44820000 */ mtc1 $v0, $f0 +/* AA7818 80240398 00000000 */ nop +/* AA781C 8024039C 46800020 */ cvt.s.w $f0, $f0 +/* AA7820 802403A0 E6200068 */ swc1 $f0, 0x68($s1) +/* AA7824 802403A4 8FBF001C */ lw $ra, 0x1c($sp) +/* AA7828 802403A8 8FB20018 */ lw $s2, 0x18($sp) +/* AA782C 802403AC 8FB10014 */ lw $s1, 0x14($sp) +/* AA7830 802403B0 8FB00010 */ lw $s0, 0x10($sp) +/* AA7834 802403B4 24020002 */ addiu $v0, $zero, 2 +/* AA7838 802403B8 03E00008 */ jr $ra +/* AA783C 802403BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_133/func_802403C0_AA7480.s b/asm/nonmatchings/world/area_kpa/kpa_133/func_802403C0_AA7480.s new file mode 100644 index 0000000000..97567e5780 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_133/func_802403C0_AA7480.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C0_AA7840 +/* AA7840 802403C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AA7844 802403C4 AFB20018 */ sw $s2, 0x18($sp) +/* AA7848 802403C8 0080902D */ daddu $s2, $a0, $zero +/* AA784C 802403CC 0000202D */ daddu $a0, $zero, $zero +/* AA7850 802403D0 3C05FD05 */ lui $a1, 0xfd05 +/* AA7854 802403D4 AFBF001C */ sw $ra, 0x1c($sp) +/* AA7858 802403D8 AFB10014 */ sw $s1, 0x14($sp) +/* AA785C 802403DC AFB00010 */ sw $s0, 0x10($sp) +/* AA7860 802403E0 8E50000C */ lw $s0, 0xc($s2) +/* AA7864 802403E4 0C0B1EAF */ jal get_variable +/* AA7868 802403E8 34A50F80 */ ori $a1, $a1, 0xf80 +/* AA786C 802403EC 0C04417A */ jal get_entity_by_index +/* AA7870 802403F0 0040202D */ daddu $a0, $v0, $zero +/* AA7874 802403F4 0240202D */ daddu $a0, $s2, $zero +/* AA7878 802403F8 0040882D */ daddu $s1, $v0, $zero +/* AA787C 802403FC 8E050000 */ lw $a1, ($s0) +/* AA7880 80240400 0C0B1EAF */ jal get_variable +/* AA7884 80240404 26100004 */ addiu $s0, $s0, 4 +/* AA7888 80240408 44820000 */ mtc1 $v0, $f0 +/* AA788C 8024040C 00000000 */ nop +/* AA7890 80240410 46800020 */ cvt.s.w $f0, $f0 +/* AA7894 80240414 E6200048 */ swc1 $f0, 0x48($s1) +/* AA7898 80240418 8E050000 */ lw $a1, ($s0) +/* AA789C 8024041C 26100004 */ addiu $s0, $s0, 4 +/* AA78A0 80240420 0C0B1EAF */ jal get_variable +/* AA78A4 80240424 0240202D */ daddu $a0, $s2, $zero +/* AA78A8 80240428 44820000 */ mtc1 $v0, $f0 +/* AA78AC 8024042C 00000000 */ nop +/* AA78B0 80240430 46800020 */ cvt.s.w $f0, $f0 +/* AA78B4 80240434 E620004C */ swc1 $f0, 0x4c($s1) +/* AA78B8 80240438 8E050000 */ lw $a1, ($s0) +/* AA78BC 8024043C 0C0B1EAF */ jal get_variable +/* AA78C0 80240440 0240202D */ daddu $a0, $s2, $zero +/* AA78C4 80240444 44820000 */ mtc1 $v0, $f0 +/* AA78C8 80240448 00000000 */ nop +/* AA78CC 8024044C 46800020 */ cvt.s.w $f0, $f0 +/* AA78D0 80240450 E6200050 */ swc1 $f0, 0x50($s1) +/* AA78D4 80240454 8FBF001C */ lw $ra, 0x1c($sp) +/* AA78D8 80240458 8FB20018 */ lw $s2, 0x18($sp) +/* AA78DC 8024045C 8FB10014 */ lw $s1, 0x14($sp) +/* AA78E0 80240460 8FB00010 */ lw $s0, 0x10($sp) +/* AA78E4 80240464 24020002 */ addiu $v0, $zero, 2 +/* AA78E8 80240468 03E00008 */ jr $ra +/* AA78EC 8024046C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240000_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240000_AA8FA0.s new file mode 100644 index 0000000000..30a782fb64 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240000_AA8FA0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AA8FA0 +/* AA8FA0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA8FA4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AA8FA8 80240008 0080802D */ daddu $s0, $a0, $zero +/* AA8FAC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* AA8FB0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* AA8FB4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* AA8FB8 80240018 00621821 */ addu $v1, $v1, $v0 +/* AA8FBC 8024001C 04610004 */ bgez $v1, .L80240030 +/* AA8FC0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* AA8FC4 80240024 3C020002 */ lui $v0, 2 +/* AA8FC8 80240028 08090010 */ j .L80240040 +/* AA8FCC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* AA8FD0 80240030 3C040002 */ lui $a0, 2 +/* AA8FD4 80240034 0083102A */ slt $v0, $a0, $v1 +/* AA8FD8 80240038 10400002 */ beqz $v0, .L80240044 +/* AA8FDC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* AA8FE0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* AA8FE4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* AA8FE8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* AA8FEC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* AA8FF0 80240050 04610004 */ bgez $v1, .L80240064 +/* AA8FF4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* AA8FF8 80240058 3C020002 */ lui $v0, 2 +/* AA8FFC 8024005C 0809001D */ j .L80240074 +/* AA9000 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* AA9004 80240064 3C040002 */ lui $a0, 2 +/* AA9008 80240068 0083102A */ slt $v0, $a0, $v1 +/* AA900C 8024006C 10400002 */ beqz $v0, .L80240078 +/* AA9010 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* AA9014 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* AA9018 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* AA901C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* AA9020 80240080 00621821 */ addu $v1, $v1, $v0 +/* AA9024 80240084 04610004 */ bgez $v1, .L80240098 +/* AA9028 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* AA902C 8024008C 3C020002 */ lui $v0, 2 +/* AA9030 80240090 0809002A */ j .L802400A8 +/* AA9034 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* AA9038 80240098 3C040002 */ lui $a0, 2 +/* AA903C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* AA9040 802400A0 10400002 */ beqz $v0, .L802400AC +/* AA9044 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* AA9048 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* AA904C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AA9050 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* AA9054 802400B4 00621821 */ addu $v1, $v1, $v0 +/* AA9058 802400B8 04610004 */ bgez $v1, .L802400CC +/* AA905C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* AA9060 802400C0 3C020002 */ lui $v0, 2 +/* AA9064 802400C4 08090037 */ j .L802400DC +/* AA9068 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* AA906C 802400CC 3C040002 */ lui $a0, 2 +/* AA9070 802400D0 0083102A */ slt $v0, $a0, $v1 +/* AA9074 802400D4 10400002 */ beqz $v0, .L802400E0 +/* AA9078 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* AA907C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* AA9080 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* AA9084 802400E4 0C046F07 */ jal set_main_pan_u +/* AA9088 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* AA908C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* AA9090 802400F0 0C046F0D */ jal set_main_pan_v +/* AA9094 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* AA9098 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* AA909C 802400FC 0C046F13 */ jal set_aux_pan_u +/* AA90A0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* AA90A4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* AA90A8 80240108 0C046F19 */ jal set_aux_pan_v +/* AA90AC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AA90B0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* AA90B4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* AA90B8 80240118 0000102D */ daddu $v0, $zero, $zero +/* AA90BC 8024011C 03E00008 */ jr $ra +/* AA90C0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240124_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240124_AA8FA0.s new file mode 100644 index 0000000000..22e1991202 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240124_AA8FA0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_AA90C4 +/* AA90C4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA90C8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* AA90CC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* AA90D0 80240130 10A00005 */ beqz $a1, .L80240148 +/* AA90D4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* AA90D8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* AA90DC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* AA90E0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* AA90E4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* AA90E8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* AA90EC 8024014C 1440000E */ bnez $v0, .L80240188 +/* AA90F0 80240150 00000000 */ nop +/* AA90F4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* AA90F8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* AA90FC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* AA9100 80240160 04610004 */ bgez $v1, .L80240174 +/* AA9104 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* AA9108 80240168 3C020002 */ lui $v0, 2 +/* AA910C 8024016C 08090061 */ j .L80240184 +/* AA9110 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* AA9114 80240174 3C040002 */ lui $a0, 2 +/* AA9118 80240178 0083102A */ slt $v0, $a0, $v1 +/* AA911C 8024017C 10400002 */ beqz $v0, .L80240188 +/* AA9120 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* AA9124 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* AA9128 80240188 8E020074 */ lw $v0, 0x74($s0) +/* AA912C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* AA9130 80240190 00000000 */ nop +/* AA9134 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* AA9138 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* AA913C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* AA9140 802401A0 04610004 */ bgez $v1, .L802401B4 +/* AA9144 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* AA9148 802401A8 3C020002 */ lui $v0, 2 +/* AA914C 802401AC 08090071 */ j .L802401C4 +/* AA9150 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* AA9154 802401B4 3C040002 */ lui $a0, 2 +/* AA9158 802401B8 0083102A */ slt $v0, $a0, $v1 +/* AA915C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* AA9160 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* AA9164 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* AA9168 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* AA916C 802401CC 1440000E */ bnez $v0, .L80240208 +/* AA9170 802401D0 00000000 */ nop +/* AA9174 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AA9178 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* AA917C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* AA9180 802401E0 04610004 */ bgez $v1, .L802401F4 +/* AA9184 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* AA9188 802401E8 3C020002 */ lui $v0, 2 +/* AA918C 802401EC 08090081 */ j .L80240204 +/* AA9190 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* AA9194 802401F4 3C040002 */ lui $a0, 2 +/* AA9198 802401F8 0083102A */ slt $v0, $a0, $v1 +/* AA919C 802401FC 10400002 */ beqz $v0, .L80240208 +/* AA91A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* AA91A4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* AA91A8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* AA91AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* AA91B0 80240210 00000000 */ nop +/* AA91B4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* AA91B8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* AA91BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* AA91C0 80240220 04610004 */ bgez $v1, .L80240234 +/* AA91C4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* AA91C8 80240228 3C020002 */ lui $v0, 2 +/* AA91CC 8024022C 08090091 */ j .L80240244 +/* AA91D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* AA91D4 80240234 3C040002 */ lui $a0, 2 +/* AA91D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* AA91DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* AA91E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* AA91E4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* AA91E8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* AA91EC 8024024C 0C046F07 */ jal set_main_pan_u +/* AA91F0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* AA91F4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* AA91F8 80240258 0C046F0D */ jal set_main_pan_v +/* AA91FC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* AA9200 80240260 8E040084 */ lw $a0, 0x84($s0) +/* AA9204 80240264 0C046F13 */ jal set_aux_pan_u +/* AA9208 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* AA920C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* AA9210 80240270 0C046F19 */ jal set_aux_pan_v +/* AA9214 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* AA9218 80240278 8E020070 */ lw $v0, 0x70($s0) +/* AA921C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* AA9220 80240280 8E040098 */ lw $a0, 0x98($s0) +/* AA9224 80240284 24420001 */ addiu $v0, $v0, 1 +/* AA9228 80240288 AE020070 */ sw $v0, 0x70($s0) +/* AA922C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* AA9230 80240290 24630001 */ addiu $v1, $v1, 1 +/* AA9234 80240294 AE030078 */ sw $v1, 0x78($s0) +/* AA9238 80240298 8E030070 */ lw $v1, 0x70($s0) +/* AA923C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* AA9240 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* AA9244 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* AA9248 802402A8 0064182A */ slt $v1, $v1, $a0 +/* AA924C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* AA9250 802402B0 14600002 */ bnez $v1, .L802402BC +/* AA9254 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* AA9258 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* AA925C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* AA9260 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* AA9264 802402C4 0043102A */ slt $v0, $v0, $v1 +/* AA9268 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* AA926C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* AA9270 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* AA9274 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AA9278 802402D8 0043102A */ slt $v0, $v0, $v1 +/* AA927C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* AA9280 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* AA9284 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* AA9288 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* AA928C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* AA9290 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* AA9294 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* AA9298 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* AA929C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AA92A0 80240300 0000102D */ daddu $v0, $zero, $zero +/* AA92A4 80240304 03E00008 */ jr $ra +/* AA92A8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* AA92AC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240310_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240310_AA8FA0.s new file mode 100644 index 0000000000..0851daccd5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240310_AA8FA0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_AA92B0 +/* AA92B0 80240310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA92B4 80240314 3C054248 */ lui $a1, 0x4248 +/* AA92B8 80240318 3C0642E6 */ lui $a2, 0x42e6 +/* AA92BC 8024031C 3C07C208 */ lui $a3, 0xc208 +/* AA92C0 80240320 AFBF0010 */ sw $ra, 0x10($sp) +/* AA92C4 80240324 0C044898 */ jal create_shadow_type +/* AA92C8 80240328 0000202D */ daddu $a0, $zero, $zero +/* AA92CC 8024032C 8FBF0010 */ lw $ra, 0x10($sp) +/* AA92D0 80240330 24020002 */ addiu $v0, $zero, 2 +/* AA92D4 80240334 03E00008 */ jr $ra +/* AA92D8 80240338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_8024033C_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_8024033C_AA8FA0.s new file mode 100644 index 0000000000..624e776e3f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_8024033C_AA8FA0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024033C_AA92DC +/* AA92DC 8024033C 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* AA92E0 80240340 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* AA92E4 80240344 808300B4 */ lb $v1, 0xb4($a0) +/* AA92E8 80240348 24020008 */ addiu $v0, $zero, 8 +/* AA92EC 8024034C 10620003 */ beq $v1, $v0, .L8024035C +/* AA92F0 80240350 0080282D */ daddu $a1, $a0, $zero +.L80240354: +/* AA92F4 80240354 03E00008 */ jr $ra +/* AA92F8 80240358 0000102D */ daddu $v0, $zero, $zero +.L8024035C: +/* AA92FC 8024035C C4800028 */ lwc1 $f0, 0x28($a0) +/* AA9300 80240360 3C014248 */ lui $at, 0x4248 +/* AA9304 80240364 44814000 */ mtc1 $at, $f8 +/* AA9308 80240368 00000000 */ nop +/* AA930C 8024036C 46080001 */ sub.s $f0, $f0, $f8 +/* AA9310 80240370 3C01402C */ lui $at, 0x402c +/* AA9314 80240374 44811800 */ mtc1 $at, $f3 +/* AA9318 80240378 44801000 */ mtc1 $zero, $f2 +/* AA931C 8024037C 46000021 */ cvt.d.s $f0, $f0 +/* AA9320 80240380 46200005 */ abs.d $f0, $f0 +/* AA9324 80240384 4620103C */ c.lt.d $f2, $f0 +/* AA9328 80240388 00000000 */ nop +/* AA932C 8024038C 4501FFF1 */ bc1t .L80240354 +/* AA9330 80240390 00000000 */ nop +/* AA9334 80240394 C480002C */ lwc1 $f0, 0x2c($a0) +/* AA9338 80240398 3C014316 */ lui $at, 0x4316 +/* AA933C 8024039C 44813000 */ mtc1 $at, $f6 +/* AA9340 802403A0 00000000 */ nop +/* AA9344 802403A4 46060001 */ sub.s $f0, $f0, $f6 +/* AA9348 802403A8 46000021 */ cvt.d.s $f0, $f0 +/* AA934C 802403AC 46200005 */ abs.d $f0, $f0 +/* AA9350 802403B0 4620103C */ c.lt.d $f2, $f0 +/* AA9354 802403B4 00000000 */ nop +/* AA9358 802403B8 4501FFE6 */ bc1t .L80240354 +/* AA935C 802403BC 00000000 */ nop +/* AA9360 802403C0 C4A00030 */ lwc1 $f0, 0x30($a1) +/* AA9364 802403C4 3C01C208 */ lui $at, 0xc208 +/* AA9368 802403C8 44812000 */ mtc1 $at, $f4 +/* AA936C 802403CC 00000000 */ nop +/* AA9370 802403D0 46040001 */ sub.s $f0, $f0, $f4 +/* AA9374 802403D4 46000021 */ cvt.d.s $f0, $f0 +/* AA9378 802403D8 46200005 */ abs.d $f0, $f0 +/* AA937C 802403DC 4620103C */ c.lt.d $f2, $f0 +/* AA9380 802403E0 00000000 */ nop +/* AA9384 802403E4 45010006 */ bc1t .L80240400 +/* AA9388 802403E8 24020002 */ addiu $v0, $zero, 2 +/* AA938C 802403EC E4A80028 */ swc1 $f8, 0x28($a1) +/* AA9390 802403F0 E4A6002C */ swc1 $f6, 0x2c($a1) +/* AA9394 802403F4 E4A40030 */ swc1 $f4, 0x30($a1) +/* AA9398 802403F8 03E00008 */ jr $ra +/* AA939C 802403FC ACA00054 */ sw $zero, 0x54($a1) +.L80240400: +/* AA93A0 80240400 03E00008 */ jr $ra +/* AA93A4 80240404 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240408_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240408_AA8FA0.s new file mode 100644 index 0000000000..0243c4bda7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240408_AA8FA0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240408_AA93A8 +/* AA93A8 80240408 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA93AC 8024040C 3C05442A */ lui $a1, 0x442a +/* AA93B0 80240410 3C064370 */ lui $a2, 0x4370 +/* AA93B4 80240414 3C07C20C */ lui $a3, 0xc20c +/* AA93B8 80240418 AFBF0010 */ sw $ra, 0x10($sp) +/* AA93BC 8024041C 0C044898 */ jal create_shadow_type +/* AA93C0 80240420 0000202D */ daddu $a0, $zero, $zero +/* AA93C4 80240424 8FBF0010 */ lw $ra, 0x10($sp) +/* AA93C8 80240428 24020002 */ addiu $v0, $zero, 2 +/* AA93CC 8024042C 03E00008 */ jr $ra +/* AA93D0 80240430 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240434_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240434_AA8FA0.s new file mode 100644 index 0000000000..9cdb8a24d6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240434_AA8FA0.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_AA93D4 +/* AA93D4 80240434 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* AA93D8 80240438 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* AA93DC 8024043C 808300B4 */ lb $v1, 0xb4($a0) +/* AA93E0 80240440 24020008 */ addiu $v0, $zero, 8 +/* AA93E4 80240444 10620003 */ beq $v1, $v0, .L80240454 +/* AA93E8 80240448 0080282D */ daddu $a1, $a0, $zero +.L8024044C: +/* AA93EC 8024044C 03E00008 */ jr $ra +/* AA93F0 80240450 0000102D */ daddu $v0, $zero, $zero +.L80240454: +/* AA93F4 80240454 C4800028 */ lwc1 $f0, 0x28($a0) +/* AA93F8 80240458 3C01442A */ lui $at, 0x442a +/* AA93FC 8024045C 44814000 */ mtc1 $at, $f8 +/* AA9400 80240460 00000000 */ nop +/* AA9404 80240464 46080001 */ sub.s $f0, $f0, $f8 +/* AA9408 80240468 3C01402C */ lui $at, 0x402c +/* AA940C 8024046C 44811800 */ mtc1 $at, $f3 +/* AA9410 80240470 44801000 */ mtc1 $zero, $f2 +/* AA9414 80240474 46000021 */ cvt.d.s $f0, $f0 +/* AA9418 80240478 46200005 */ abs.d $f0, $f0 +/* AA941C 8024047C 4620103C */ c.lt.d $f2, $f0 +/* AA9420 80240480 00000000 */ nop +/* AA9424 80240484 4501FFF1 */ bc1t .L8024044C +/* AA9428 80240488 00000000 */ nop +/* AA942C 8024048C C480002C */ lwc1 $f0, 0x2c($a0) +/* AA9430 80240490 3C014389 */ lui $at, 0x4389 +/* AA9434 80240494 34218000 */ ori $at, $at, 0x8000 +/* AA9438 80240498 44813000 */ mtc1 $at, $f6 +/* AA943C 8024049C 00000000 */ nop +/* AA9440 802404A0 46060001 */ sub.s $f0, $f0, $f6 +/* AA9444 802404A4 46000021 */ cvt.d.s $f0, $f0 +/* AA9448 802404A8 46200005 */ abs.d $f0, $f0 +/* AA944C 802404AC 4620103C */ c.lt.d $f2, $f0 +/* AA9450 802404B0 00000000 */ nop +/* AA9454 802404B4 4501FFE5 */ bc1t .L8024044C +/* AA9458 802404B8 00000000 */ nop +/* AA945C 802404BC C4A00030 */ lwc1 $f0, 0x30($a1) +/* AA9460 802404C0 3C01C20C */ lui $at, 0xc20c +/* AA9464 802404C4 44812000 */ mtc1 $at, $f4 +/* AA9468 802404C8 00000000 */ nop +/* AA946C 802404CC 46040001 */ sub.s $f0, $f0, $f4 +/* AA9470 802404D0 46000021 */ cvt.d.s $f0, $f0 +/* AA9474 802404D4 46200005 */ abs.d $f0, $f0 +/* AA9478 802404D8 4620103C */ c.lt.d $f2, $f0 +/* AA947C 802404DC 00000000 */ nop +/* AA9480 802404E0 45010006 */ bc1t .L802404FC +/* AA9484 802404E4 24020002 */ addiu $v0, $zero, 2 +/* AA9488 802404E8 E4A80028 */ swc1 $f8, 0x28($a1) +/* AA948C 802404EC E4A6002C */ swc1 $f6, 0x2c($a1) +/* AA9490 802404F0 E4A40030 */ swc1 $f4, 0x30($a1) +/* AA9494 802404F4 03E00008 */ jr $ra +/* AA9498 802404F8 ACA00054 */ sw $zero, 0x54($a1) +.L802404FC: +/* AA949C 802404FC 03E00008 */ jr $ra +/* AA94A0 80240500 0000102D */ daddu $v0, $zero, $zero +/* AA94A4 80240504 00000000 */ nop +/* AA94A8 80240508 00000000 */ nop +/* AA94AC 8024050C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240510_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240510_AA8FA0.s new file mode 100644 index 0000000000..7e2ce03965 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240510_AA8FA0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_AA94B0 +/* AA94B0 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA94B4 80240514 AFB00010 */ sw $s0, 0x10($sp) +/* AA94B8 80240518 0080802D */ daddu $s0, $a0, $zero +/* AA94BC 8024051C AFBF0014 */ sw $ra, 0x14($sp) +/* AA94C0 80240520 0C04417A */ jal get_entity_by_index +/* AA94C4 80240524 8E0400AC */ lw $a0, 0xac($s0) +/* AA94C8 80240528 0040182D */ daddu $v1, $v0, $zero +/* AA94CC 8024052C C6000084 */ lwc1 $f0, 0x84($s0) +/* AA94D0 80240530 46800020 */ cvt.s.w $f0, $f0 +/* AA94D4 80240534 E4600048 */ swc1 $f0, 0x48($v1) +/* AA94D8 80240538 C6000088 */ lwc1 $f0, 0x88($s0) +/* AA94DC 8024053C 46800020 */ cvt.s.w $f0, $f0 +/* AA94E0 80240540 E460004C */ swc1 $f0, 0x4c($v1) +/* AA94E4 80240544 C600008C */ lwc1 $f0, 0x8c($s0) +/* AA94E8 80240548 46800020 */ cvt.s.w $f0, $f0 +/* AA94EC 8024054C E4600050 */ swc1 $f0, 0x50($v1) +/* AA94F0 80240550 8FBF0014 */ lw $ra, 0x14($sp) +/* AA94F4 80240554 8FB00010 */ lw $s0, 0x10($sp) +/* AA94F8 80240558 24020002 */ addiu $v0, $zero, 2 +/* AA94FC 8024055C 03E00008 */ jr $ra +/* AA9500 80240560 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240564_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240564_AA8FA0.s new file mode 100644 index 0000000000..2ec447abf1 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240564_AA8FA0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240564_AA9504 +/* AA9504 80240564 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* AA9508 80240568 AFB10014 */ sw $s1, 0x14($sp) +/* AA950C 8024056C 0080882D */ daddu $s1, $a0, $zero +/* AA9510 80240570 AFBF0020 */ sw $ra, 0x20($sp) +/* AA9514 80240574 AFB3001C */ sw $s3, 0x1c($sp) +/* AA9518 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* AA951C 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* AA9520 80240580 8E30000C */ lw $s0, 0xc($s1) +/* AA9524 80240584 8E050000 */ lw $a1, ($s0) +/* AA9528 80240588 0C0B1EAF */ jal get_variable +/* AA952C 8024058C 26100004 */ addiu $s0, $s0, 4 +/* AA9530 80240590 8E050000 */ lw $a1, ($s0) +/* AA9534 80240594 26100004 */ addiu $s0, $s0, 4 +/* AA9538 80240598 0220202D */ daddu $a0, $s1, $zero +/* AA953C 8024059C 0C0B1EAF */ jal get_variable +/* AA9540 802405A0 0040982D */ daddu $s3, $v0, $zero +/* AA9544 802405A4 8E050000 */ lw $a1, ($s0) +/* AA9548 802405A8 26100004 */ addiu $s0, $s0, 4 +/* AA954C 802405AC 0220202D */ daddu $a0, $s1, $zero +/* AA9550 802405B0 0C0B1EAF */ jal get_variable +/* AA9554 802405B4 0040902D */ daddu $s2, $v0, $zero +/* AA9558 802405B8 0220202D */ daddu $a0, $s1, $zero +/* AA955C 802405BC 8E050000 */ lw $a1, ($s0) +/* AA9560 802405C0 0C0B1EAF */ jal get_variable +/* AA9564 802405C4 0040882D */ daddu $s1, $v0, $zero +/* AA9568 802405C8 0260202D */ daddu $a0, $s3, $zero +/* AA956C 802405CC 0C04417A */ jal get_entity_by_index +/* AA9570 802405D0 0040802D */ daddu $s0, $v0, $zero +/* AA9574 802405D4 0040182D */ daddu $v1, $v0, $zero +/* AA9578 802405D8 44920000 */ mtc1 $s2, $f0 +/* AA957C 802405DC 00000000 */ nop +/* AA9580 802405E0 46800020 */ cvt.s.w $f0, $f0 +/* AA9584 802405E4 E4600048 */ swc1 $f0, 0x48($v1) +/* AA9588 802405E8 44910000 */ mtc1 $s1, $f0 +/* AA958C 802405EC 00000000 */ nop +/* AA9590 802405F0 46800020 */ cvt.s.w $f0, $f0 +/* AA9594 802405F4 E460004C */ swc1 $f0, 0x4c($v1) +/* AA9598 802405F8 44900000 */ mtc1 $s0, $f0 +/* AA959C 802405FC 00000000 */ nop +/* AA95A0 80240600 46800020 */ cvt.s.w $f0, $f0 +/* AA95A4 80240604 E4600050 */ swc1 $f0, 0x50($v1) +/* AA95A8 80240608 8FBF0020 */ lw $ra, 0x20($sp) +/* AA95AC 8024060C 8FB3001C */ lw $s3, 0x1c($sp) +/* AA95B0 80240610 8FB20018 */ lw $s2, 0x18($sp) +/* AA95B4 80240614 8FB10014 */ lw $s1, 0x14($sp) +/* AA95B8 80240618 8FB00010 */ lw $s0, 0x10($sp) +/* AA95BC 8024061C 24020002 */ addiu $v0, $zero, 2 +/* AA95C0 80240620 03E00008 */ jr $ra +/* AA95C4 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_80240628_AA8FA0.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240628_AA8FA0.s new file mode 100644 index 0000000000..9683029dd9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_80240628_AA8FA0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_AA95C8 +/* AA95C8 80240628 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AA95CC 8024062C AFBF0010 */ sw $ra, 0x10($sp) +/* AA95D0 80240630 0C04417A */ jal get_entity_by_index +/* AA95D4 80240634 8C840084 */ lw $a0, 0x84($a0) +/* AA95D8 80240638 0040182D */ daddu $v1, $v0, $zero +/* AA95DC 8024063C 8C640000 */ lw $a0, ($v1) +/* AA95E0 80240640 3C050010 */ lui $a1, 0x10 +/* AA95E4 80240644 00852025 */ or $a0, $a0, $a1 +/* AA95E8 80240648 AC640000 */ sw $a0, ($v1) +/* AA95EC 8024064C 8FBF0010 */ lw $ra, 0x10($sp) +/* AA95F0 80240650 24020002 */ addiu $v0, $zero, 2 +/* AA95F4 80240654 03E00008 */ jr $ra +/* AA95F8 80240658 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_134/func_8024065C.s b/asm/nonmatchings/world/area_kpa/kpa_134/func_8024065C.s new file mode 100644 index 0000000000..3bd003f720 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_134/func_8024065C.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024065C +/* AA95FC 8024065C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AA9600 80240660 AFB20018 */ sw $s2, 0x18($sp) +/* AA9604 80240664 0080902D */ daddu $s2, $a0, $zero +/* AA9608 80240668 AFBF001C */ sw $ra, 0x1c($sp) +/* AA960C 8024066C AFB10014 */ sw $s1, 0x14($sp) +/* AA9610 80240670 AFB00010 */ sw $s0, 0x10($sp) +/* AA9614 80240674 8E50000C */ lw $s0, 0xc($s2) +/* AA9618 80240678 8E050000 */ lw $a1, ($s0) +/* AA961C 8024067C 0C0B1EAF */ jal get_variable +/* AA9620 80240680 26100004 */ addiu $s0, $s0, 4 +/* AA9624 80240684 0C04417A */ jal get_entity_by_index +/* AA9628 80240688 0040202D */ daddu $a0, $v0, $zero +/* AA962C 8024068C 8E050000 */ lw $a1, ($s0) +/* AA9630 80240690 26100004 */ addiu $s0, $s0, 4 +/* AA9634 80240694 0040882D */ daddu $s1, $v0, $zero +/* AA9638 80240698 C6200048 */ lwc1 $f0, 0x48($s1) +/* AA963C 8024069C 4600008D */ trunc.w.s $f2, $f0 +/* AA9640 802406A0 44061000 */ mfc1 $a2, $f2 +/* AA9644 802406A4 0C0B2026 */ jal set_variable +/* AA9648 802406A8 0240202D */ daddu $a0, $s2, $zero +/* AA964C 802406AC 8E050000 */ lw $a1, ($s0) +/* AA9650 802406B0 26100004 */ addiu $s0, $s0, 4 +/* AA9654 802406B4 C620004C */ lwc1 $f0, 0x4c($s1) +/* AA9658 802406B8 4600008D */ trunc.w.s $f2, $f0 +/* AA965C 802406BC 44061000 */ mfc1 $a2, $f2 +/* AA9660 802406C0 0C0B2026 */ jal set_variable +/* AA9664 802406C4 0240202D */ daddu $a0, $s2, $zero +/* AA9668 802406C8 C6200050 */ lwc1 $f0, 0x50($s1) +/* AA966C 802406CC 8E050000 */ lw $a1, ($s0) +/* AA9670 802406D0 4600008D */ trunc.w.s $f2, $f0 +/* AA9674 802406D4 44061000 */ mfc1 $a2, $f2 +/* AA9678 802406D8 0C0B2026 */ jal set_variable +/* AA967C 802406DC 0240202D */ daddu $a0, $s2, $zero +/* AA9680 802406E0 8FBF001C */ lw $ra, 0x1c($sp) +/* AA9684 802406E4 8FB20018 */ lw $s2, 0x18($sp) +/* AA9688 802406E8 8FB10014 */ lw $s1, 0x14($sp) +/* AA968C 802406EC 8FB00010 */ lw $s0, 0x10($sp) +/* AA9690 802406F0 24020002 */ addiu $v0, $zero, 2 +/* AA9694 802406F4 03E00008 */ jr $ra +/* AA9698 802406F8 27BD0020 */ addiu $sp, $sp, 0x20 +/* AA969C 802406FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240000_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240000_A574B0.s new file mode 100644 index 0000000000..a154fe385b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240000_A574B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A574B0 +/* A574B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A574B4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A574B8 80240008 3C05F840 */ lui $a1, 0xf840 +/* A574BC 8024000C 34A56194 */ ori $a1, $a1, 0x6194 +/* A574C0 80240010 0C0B1EAF */ jal get_variable +/* A574C4 80240014 0000202D */ daddu $a0, $zero, $zero +/* A574C8 80240018 0040182D */ daddu $v1, $v0, $zero +/* A574CC 8024001C 3C020019 */ lui $v0, 0x19 +/* A574D0 80240020 10600003 */ beqz $v1, .L80240030 +/* A574D4 80240024 34420164 */ ori $v0, $v0, 0x164 +/* A574D8 80240028 3C020019 */ lui $v0, 0x19 +/* A574DC 8024002C 34420165 */ ori $v0, $v0, 0x165 +.L80240030: +/* A574E0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* A574E4 80240034 03E00008 */ jr $ra +/* A574E8 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* A574EC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240040_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240040_A574B0.s new file mode 100644 index 0000000000..aaf3d2eafe --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240040_A574B0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_A574F0 +/* A574F0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A574F4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* A574F8 80240048 0080802D */ daddu $s0, $a0, $zero +/* A574FC 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* A57500 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* A57504 80240054 8E020088 */ lw $v0, 0x88($s0) +/* A57508 80240058 00621821 */ addu $v1, $v1, $v0 +/* A5750C 8024005C 04610004 */ bgez $v1, .L80240070 +/* A57510 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* A57514 80240064 3C020002 */ lui $v0, 2 +/* A57518 80240068 08090020 */ j .L80240080 +/* A5751C 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* A57520 80240070 3C040002 */ lui $a0, 2 +/* A57524 80240074 0083102A */ slt $v0, $a0, $v1 +/* A57528 80240078 10400002 */ beqz $v0, .L80240084 +/* A5752C 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* A57530 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* A57534 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* A57538 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* A5753C 8024008C 00621821 */ addu $v1, $v1, $v0 +/* A57540 80240090 04610004 */ bgez $v1, .L802400A4 +/* A57544 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* A57548 80240098 3C020002 */ lui $v0, 2 +/* A5754C 8024009C 0809002D */ j .L802400B4 +/* A57550 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* A57554 802400A4 3C040002 */ lui $a0, 2 +/* A57558 802400A8 0083102A */ slt $v0, $a0, $v1 +/* A5755C 802400AC 10400002 */ beqz $v0, .L802400B8 +/* A57560 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* A57564 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* A57568 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5756C 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* A57570 802400C0 00621821 */ addu $v1, $v1, $v0 +/* A57574 802400C4 04610004 */ bgez $v1, .L802400D8 +/* A57578 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5757C 802400CC 3C020002 */ lui $v0, 2 +/* A57580 802400D0 0809003A */ j .L802400E8 +/* A57584 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* A57588 802400D8 3C040002 */ lui $a0, 2 +/* A5758C 802400DC 0083102A */ slt $v0, $a0, $v1 +/* A57590 802400E0 10400002 */ beqz $v0, .L802400EC +/* A57594 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* A57598 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* A5759C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A575A0 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* A575A4 802400F4 00621821 */ addu $v1, $v1, $v0 +/* A575A8 802400F8 04610004 */ bgez $v1, .L8024010C +/* A575AC 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* A575B0 80240100 3C020002 */ lui $v0, 2 +/* A575B4 80240104 08090047 */ j .L8024011C +/* A575B8 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* A575BC 8024010C 3C040002 */ lui $a0, 2 +/* A575C0 80240110 0083102A */ slt $v0, $a0, $v1 +/* A575C4 80240114 10400002 */ beqz $v0, .L80240120 +/* A575C8 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* A575CC 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* A575D0 80240120 8E040084 */ lw $a0, 0x84($s0) +/* A575D4 80240124 0C046F07 */ jal set_main_pan_u +/* A575D8 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* A575DC 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* A575E0 80240130 0C046F0D */ jal set_main_pan_v +/* A575E4 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* A575E8 80240138 8E040084 */ lw $a0, 0x84($s0) +/* A575EC 8024013C 0C046F13 */ jal set_aux_pan_u +/* A575F0 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* A575F4 80240144 8E040084 */ lw $a0, 0x84($s0) +/* A575F8 80240148 0C046F19 */ jal set_aux_pan_v +/* A575FC 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A57600 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* A57604 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* A57608 80240158 0000102D */ daddu $v0, $zero, $zero +/* A5760C 8024015C 03E00008 */ jr $ra +/* A57610 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240164_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240164_A574B0.s new file mode 100644 index 0000000000..9613bbbbae --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240164_A574B0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_A57614 +/* A57614 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A57618 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* A5761C 8024016C 0080802D */ daddu $s0, $a0, $zero +/* A57620 80240170 10A00005 */ beqz $a1, .L80240188 +/* A57624 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* A57628 80240178 AE000070 */ sw $zero, 0x70($s0) +/* A5762C 8024017C AE000074 */ sw $zero, 0x74($s0) +/* A57630 80240180 AE000078 */ sw $zero, 0x78($s0) +/* A57634 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* A57638 80240188 8E020070 */ lw $v0, 0x70($s0) +/* A5763C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A57640 80240190 00000000 */ nop +/* A57644 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* A57648 80240198 8E020088 */ lw $v0, 0x88($s0) +/* A5764C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A57650 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A57654 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* A57658 802401A8 3C020002 */ lui $v0, 2 +/* A5765C 802401AC 08090071 */ j .L802401C4 +/* A57660 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A57664 802401B4 3C040002 */ lui $a0, 2 +/* A57668 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A5766C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A57670 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A57674 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* A57678 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* A5767C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A57680 802401D0 00000000 */ nop +/* A57684 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* A57688 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* A5768C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A57690 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A57694 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* A57698 802401E8 3C020002 */ lui $v0, 2 +/* A5769C 802401EC 08090081 */ j .L80240204 +/* A576A0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A576A4 802401F4 3C040002 */ lui $a0, 2 +/* A576A8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A576AC 802401FC 10400002 */ beqz $v0, .L80240208 +/* A576B0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A576B4 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* A576B8 80240208 8E020078 */ lw $v0, 0x78($s0) +/* A576BC 8024020C 1440000E */ bnez $v0, .L80240248 +/* A576C0 80240210 00000000 */ nop +/* A576C4 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* A576C8 80240218 8E020090 */ lw $v0, 0x90($s0) +/* A576CC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A576D0 80240220 04610004 */ bgez $v1, .L80240234 +/* A576D4 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* A576D8 80240228 3C020002 */ lui $v0, 2 +/* A576DC 8024022C 08090091 */ j .L80240244 +/* A576E0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A576E4 80240234 3C040002 */ lui $a0, 2 +/* A576E8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A576EC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A576F0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A576F4 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* A576F8 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* A576FC 8024024C 1440000E */ bnez $v0, .L80240288 +/* A57700 80240250 00000000 */ nop +/* A57704 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* A57708 80240258 8E020094 */ lw $v0, 0x94($s0) +/* A5770C 8024025C 00621821 */ addu $v1, $v1, $v0 +/* A57710 80240260 04610004 */ bgez $v1, .L80240274 +/* A57714 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* A57718 80240268 3C020002 */ lui $v0, 2 +/* A5771C 8024026C 080900A1 */ j .L80240284 +/* A57720 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* A57724 80240274 3C040002 */ lui $a0, 2 +/* A57728 80240278 0083102A */ slt $v0, $a0, $v1 +/* A5772C 8024027C 10400002 */ beqz $v0, .L80240288 +/* A57730 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* A57734 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* A57738 80240288 8E040084 */ lw $a0, 0x84($s0) +/* A5773C 8024028C 0C046F07 */ jal set_main_pan_u +/* A57740 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* A57744 80240294 8E040084 */ lw $a0, 0x84($s0) +/* A57748 80240298 0C046F0D */ jal set_main_pan_v +/* A5774C 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* A57750 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* A57754 802402A4 0C046F13 */ jal set_aux_pan_u +/* A57758 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5775C 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* A57760 802402B0 0C046F19 */ jal set_aux_pan_v +/* A57764 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* A57768 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* A5776C 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* A57770 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* A57774 802402C4 24420001 */ addiu $v0, $v0, 1 +/* A57778 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* A5777C 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* A57780 802402D0 24630001 */ addiu $v1, $v1, 1 +/* A57784 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* A57788 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* A5778C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* A57790 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* A57794 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A57798 802402E8 0064182A */ slt $v1, $v1, $a0 +/* A5779C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* A577A0 802402F0 14600002 */ bnez $v1, .L802402FC +/* A577A4 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* A577A8 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* A577AC 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* A577B0 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* A577B4 80240304 0043102A */ slt $v0, $v0, $v1 +/* A577B8 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* A577BC 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* A577C0 80240310 8E020078 */ lw $v0, 0x78($s0) +/* A577C4 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* A577C8 80240318 0043102A */ slt $v0, $v0, $v1 +/* A577CC 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* A577D0 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* A577D4 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* A577D8 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* A577DC 8024032C 0043102A */ slt $v0, $v0, $v1 +/* A577E0 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* A577E4 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* A577E8 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* A577EC 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* A577F0 80240340 0000102D */ daddu $v0, $zero, $zero +/* A577F4 80240344 03E00008 */ jr $ra +/* A577F8 80240348 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_8024034C.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024034C.s new file mode 100644 index 0000000000..c6dc7aabb6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024034C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024034C +/* A577FC 8024034C 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* A57800 80240350 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* A57804 80240354 80620000 */ lb $v0, ($v1) +/* A57808 80240358 10400004 */ beqz $v0, .L8024036C +/* A5780C 8024035C 2402FFFF */ addiu $v0, $zero, -1 +/* A57810 80240360 80620003 */ lb $v0, 3($v1) +/* A57814 80240364 080900DC */ j .L80240370 +/* A57818 80240368 AC8200A8 */ sw $v0, 0xa8($a0) +.L8024036C: +/* A5781C 8024036C AC8200A8 */ sw $v0, 0xa8($a0) +.L80240370: +/* A57820 80240370 03E00008 */ jr $ra +/* A57824 80240374 24020002 */ addiu $v0, $zero, 2 +/* A57828 80240378 00000000 */ nop +/* A5782C 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240380_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240380_A574B0.s new file mode 100644 index 0000000000..38b334add3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240380_A574B0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240380_A57830 +/* A57830 80240380 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A57834 80240384 AFB00010 */ sw $s0, 0x10($sp) +/* A57838 80240388 3C108024 */ lui $s0, 0x8024 +/* A5783C 8024038C 26101900 */ addiu $s0, $s0, 0x1900 +/* A57840 80240390 AFBF0018 */ sw $ra, 0x18($sp) +/* A57844 80240394 AFB10014 */ sw $s1, 0x14($sp) +/* A57848 80240398 8E020000 */ lw $v0, ($s0) +/* A5784C 8024039C 14400010 */ bnez $v0, .L802403E0 +/* A57850 802403A0 0080882D */ daddu $s1, $a0, $zero +/* A57854 802403A4 0C00AB39 */ jal heap_malloc +/* A57858 802403A8 24040040 */ addiu $a0, $zero, 0x40 +/* A5785C 802403AC AE020000 */ sw $v0, ($s0) +/* A57860 802403B0 0000182D */ daddu $v1, $zero, $zero +/* A57864 802403B4 0040282D */ daddu $a1, $v0, $zero +/* A57868 802403B8 0220202D */ daddu $a0, $s1, $zero +.L802403BC: +/* A5786C 802403BC 8C820084 */ lw $v0, 0x84($a0) +/* A57870 802403C0 24840004 */ addiu $a0, $a0, 4 +/* A57874 802403C4 24630001 */ addiu $v1, $v1, 1 +/* A57878 802403C8 ACA20000 */ sw $v0, ($a1) +/* A5787C 802403CC 28620010 */ slti $v0, $v1, 0x10 +/* A57880 802403D0 1440FFFA */ bnez $v0, .L802403BC +/* A57884 802403D4 24A50004 */ addiu $a1, $a1, 4 +/* A57888 802403D8 08090107 */ j .L8024041C +/* A5788C 802403DC 00000000 */ nop +.L802403E0: +/* A57890 802403E0 0000182D */ daddu $v1, $zero, $zero +/* A57894 802403E4 0040282D */ daddu $a1, $v0, $zero +/* A57898 802403E8 0220202D */ daddu $a0, $s1, $zero +.L802403EC: +/* A5789C 802403EC 8CA20000 */ lw $v0, ($a1) +/* A578A0 802403F0 24A50004 */ addiu $a1, $a1, 4 +/* A578A4 802403F4 24630001 */ addiu $v1, $v1, 1 +/* A578A8 802403F8 AC820084 */ sw $v0, 0x84($a0) +/* A578AC 802403FC 28620010 */ slti $v0, $v1, 0x10 +/* A578B0 80240400 1440FFFA */ bnez $v0, .L802403EC +/* A578B4 80240404 24840004 */ addiu $a0, $a0, 4 +/* A578B8 80240408 3C108024 */ lui $s0, 0x8024 +/* A578BC 8024040C 26101900 */ addiu $s0, $s0, 0x1900 +/* A578C0 80240410 0C00AB4B */ jal heap_free +/* A578C4 80240414 8E040000 */ lw $a0, ($s0) +/* A578C8 80240418 AE000000 */ sw $zero, ($s0) +.L8024041C: +/* A578CC 8024041C 8FBF0018 */ lw $ra, 0x18($sp) +/* A578D0 80240420 8FB10014 */ lw $s1, 0x14($sp) +/* A578D4 80240424 8FB00010 */ lw $s0, 0x10($sp) +/* A578D8 80240428 24020002 */ addiu $v0, $zero, 2 +/* A578DC 8024042C 03E00008 */ jr $ra +/* A578E0 80240430 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240434_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240434_A574B0.s new file mode 100644 index 0000000000..c77d44ff35 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240434_A574B0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_A578E4 +/* A578E4 80240434 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A578E8 80240438 AFB00010 */ sw $s0, 0x10($sp) +/* A578EC 8024043C 0080802D */ daddu $s0, $a0, $zero +/* A578F0 80240440 AFBF0018 */ sw $ra, 0x18($sp) +/* A578F4 80240444 AFB10014 */ sw $s1, 0x14($sp) +/* A578F8 80240448 8E02000C */ lw $v0, 0xc($s0) +/* A578FC 8024044C 8C510000 */ lw $s1, ($v0) +/* A57900 80240450 0C0B1EAF */ jal get_variable +/* A57904 80240454 0220282D */ daddu $a1, $s1, $zero +/* A57908 80240458 3C03FFF0 */ lui $v1, 0xfff0 +/* A5790C 8024045C 3463FFFF */ ori $v1, $v1, 0xffff +/* A57910 80240460 0200202D */ daddu $a0, $s0, $zero +/* A57914 80240464 00431024 */ and $v0, $v0, $v1 +/* A57918 80240468 00021140 */ sll $v0, $v0, 5 +/* A5791C 8024046C 3C068008 */ lui $a2, %hi(gItemTable) +/* A57920 80240470 00C23021 */ addu $a2, $a2, $v0 +/* A57924 80240474 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A57928 80240478 0C0B2026 */ jal set_variable +/* A5792C 8024047C 0220282D */ daddu $a1, $s1, $zero +/* A57930 80240480 8FBF0018 */ lw $ra, 0x18($sp) +/* A57934 80240484 8FB10014 */ lw $s1, 0x14($sp) +/* A57938 80240488 8FB00010 */ lw $s0, 0x10($sp) +/* A5793C 8024048C 24020002 */ addiu $v0, $zero, 2 +/* A57940 80240490 03E00008 */ jr $ra +/* A57944 80240494 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240498.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240498.s new file mode 100644 index 0000000000..a7f389836f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240498.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240498 +/* A57948 80240498 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A5794C 8024049C AFB10014 */ sw $s1, 0x14($sp) +/* A57950 802404A0 0080882D */ daddu $s1, $a0, $zero +/* A57954 802404A4 AFBF001C */ sw $ra, 0x1c($sp) +/* A57958 802404A8 AFB20018 */ sw $s2, 0x18($sp) +/* A5795C 802404AC AFB00010 */ sw $s0, 0x10($sp) +/* A57960 802404B0 8E240084 */ lw $a0, 0x84($s1) +/* A57964 802404B4 0C04C3D6 */ jal get_item_entity +/* A57968 802404B8 00A0802D */ daddu $s0, $a1, $zero +/* A5796C 802404BC 12000005 */ beqz $s0, .L802404D4 +/* A57970 802404C0 0040902D */ daddu $s2, $v0, $zero +/* A57974 802404C4 C640000C */ lwc1 $f0, 0xc($s2) +/* A57978 802404C8 AE200074 */ sw $zero, 0x74($s1) +/* A5797C 802404CC AE20007C */ sw $zero, 0x7c($s1) +/* A57980 802404D0 E6200078 */ swc1 $f0, 0x78($s1) +.L802404D4: +/* A57984 802404D4 8E230074 */ lw $v1, 0x74($s1) +/* A57988 802404D8 10600005 */ beqz $v1, .L802404F0 +/* A5798C 802404DC 24020001 */ addiu $v0, $zero, 1 +/* A57990 802404E0 10620024 */ beq $v1, $v0, .L80240574 +/* A57994 802404E4 00000000 */ nop +/* A57998 802404E8 08090173 */ j .L802405CC +/* A5799C 802404EC 00000000 */ nop +.L802404F0: +/* A579A0 802404F0 3C013FC9 */ lui $at, 0x3fc9 +/* A579A4 802404F4 34210FD8 */ ori $at, $at, 0xfd8 +/* A579A8 802404F8 44810000 */ mtc1 $at, $f0 +/* A579AC 802404FC C62C007C */ lwc1 $f12, 0x7c($s1) +/* A579B0 80240500 46806320 */ cvt.s.w $f12, $f12 +/* A579B4 80240504 46006302 */ mul.s $f12, $f12, $f0 +/* A579B8 80240508 00000000 */ nop +/* A579BC 8024050C 3C0141F0 */ lui $at, 0x41f0 +/* A579C0 80240510 44810000 */ mtc1 $at, $f0 +/* A579C4 80240514 0C00A874 */ jal cos_rad +/* A579C8 80240518 46006303 */ div.s $f12, $f12, $f0 +/* A579CC 8024051C 3C013F80 */ lui $at, 0x3f80 +/* A579D0 80240520 44811000 */ mtc1 $at, $f2 +/* A579D4 80240524 00000000 */ nop +/* A579D8 80240528 46001081 */ sub.s $f2, $f2, $f0 +/* A579DC 8024052C 3C0141A0 */ lui $at, 0x41a0 +/* A579E0 80240530 44810000 */ mtc1 $at, $f0 +/* A579E4 80240534 00000000 */ nop +/* A579E8 80240538 46001082 */ mul.s $f2, $f2, $f0 +/* A579EC 8024053C 00000000 */ nop +/* A579F0 80240540 C6200078 */ lwc1 $f0, 0x78($s1) +/* A579F4 80240544 46020000 */ add.s $f0, $f0, $f2 +/* A579F8 80240548 E640000C */ swc1 $f0, 0xc($s2) +/* A579FC 8024054C 8E23007C */ lw $v1, 0x7c($s1) +/* A57A00 80240550 2402001E */ addiu $v0, $zero, 0x1e +/* A57A04 80240554 14620005 */ bne $v1, $v0, .L8024056C +/* A57A08 80240558 24620001 */ addiu $v0, $v1, 1 +/* A57A0C 8024055C 24020001 */ addiu $v0, $zero, 1 +/* A57A10 80240560 AE220074 */ sw $v0, 0x74($s1) +/* A57A14 80240564 08090173 */ j .L802405CC +/* A57A18 80240568 AE20007C */ sw $zero, 0x7c($s1) +.L8024056C: +/* A57A1C 8024056C 08090173 */ j .L802405CC +/* A57A20 80240570 AE22007C */ sw $v0, 0x7c($s1) +.L80240574: +/* A57A24 80240574 C62C007C */ lwc1 $f12, 0x7c($s1) +/* A57A28 80240578 0C00A8D4 */ jal cos_deg +/* A57A2C 8024057C 46806320 */ cvt.s.w $f12, $f12 +/* A57A30 80240580 3C014040 */ lui $at, 0x4040 +/* A57A34 80240584 44811000 */ mtc1 $at, $f2 +/* A57A38 80240588 00000000 */ nop +/* A57A3C 8024058C 46020002 */ mul.s $f0, $f0, $f2 +/* A57A40 80240590 00000000 */ nop +/* A57A44 80240594 3C014188 */ lui $at, 0x4188 +/* A57A48 80240598 44812000 */ mtc1 $at, $f4 +/* A57A4C 8024059C C6220078 */ lwc1 $f2, 0x78($s1) +/* A57A50 802405A0 46041080 */ add.s $f2, $f2, $f4 +/* A57A54 802405A4 46001080 */ add.s $f2, $f2, $f0 +/* A57A58 802405A8 E642000C */ swc1 $f2, 0xc($s2) +/* A57A5C 802405AC 8E22007C */ lw $v0, 0x7c($s1) +/* A57A60 802405B0 24420009 */ addiu $v0, $v0, 9 +/* A57A64 802405B4 44826000 */ mtc1 $v0, $f12 +/* A57A68 802405B8 00000000 */ nop +/* A57A6C 802405BC 0C00A6C9 */ jal clamp_angle +/* A57A70 802405C0 46806320 */ cvt.s.w $f12, $f12 +/* A57A74 802405C4 4600018D */ trunc.w.s $f6, $f0 +/* A57A78 802405C8 E626007C */ swc1 $f6, 0x7c($s1) +.L802405CC: +/* A57A7C 802405CC 8FBF001C */ lw $ra, 0x1c($sp) +/* A57A80 802405D0 8FB20018 */ lw $s2, 0x18($sp) +/* A57A84 802405D4 8FB10014 */ lw $s1, 0x14($sp) +/* A57A88 802405D8 8FB00010 */ lw $s0, 0x10($sp) +/* A57A8C 802405DC 0000102D */ daddu $v0, $zero, $zero +/* A57A90 802405E0 03E00008 */ jr $ra +/* A57A94 802405E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_802405E8_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_802405E8_A574B0.s new file mode 100644 index 0000000000..d5a3627e3e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_802405E8_A574B0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E8_A57A98 +/* A57A98 802405E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A57A9C 802405EC AFB00010 */ sw $s0, 0x10($sp) +/* A57AA0 802405F0 0080802D */ daddu $s0, $a0, $zero +/* A57AA4 802405F4 AFBF0014 */ sw $ra, 0x14($sp) +/* A57AA8 802405F8 8E02000C */ lw $v0, 0xc($s0) +/* A57AAC 802405FC 0C0B1EAF */ jal get_variable +/* A57AB0 80240600 8C450000 */ lw $a1, ($v0) +/* A57AB4 80240604 00021140 */ sll $v0, $v0, 5 +/* A57AB8 80240608 AE000084 */ sw $zero, 0x84($s0) +/* A57ABC 8024060C 3C018008 */ lui $at, 0x8008 +/* A57AC0 80240610 00220821 */ addu $at, $at, $v0 +/* A57AC4 80240614 942278F8 */ lhu $v0, 0x78f8($at) +/* A57AC8 80240618 30420040 */ andi $v0, $v0, 0x40 +/* A57ACC 8024061C 10400002 */ beqz $v0, .L80240628 +/* A57AD0 80240620 24020001 */ addiu $v0, $zero, 1 +/* A57AD4 80240624 AE020084 */ sw $v0, 0x84($s0) +.L80240628: +/* A57AD8 80240628 8FBF0014 */ lw $ra, 0x14($sp) +/* A57ADC 8024062C 8FB00010 */ lw $s0, 0x10($sp) +/* A57AE0 80240630 24020002 */ addiu $v0, $zero, 2 +/* A57AE4 80240634 03E00008 */ jr $ra +/* A57AE8 80240638 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_8024063C.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024063C.s new file mode 100644 index 0000000000..b8d7beced9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024063C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024063C +/* A57AEC 8024063C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A57AF0 80240640 AFBF0010 */ sw $ra, 0x10($sp) +/* A57AF4 80240644 0C04417A */ jal get_entity_by_index +/* A57AF8 80240648 8C840084 */ lw $a0, 0x84($a0) +/* A57AFC 8024064C 0040182D */ daddu $v1, $v0, $zero +/* A57B00 80240650 8C640000 */ lw $a0, ($v1) +/* A57B04 80240654 3C050010 */ lui $a1, 0x10 +/* A57B08 80240658 00852025 */ or $a0, $a0, $a1 +/* A57B0C 8024065C AC640000 */ sw $a0, ($v1) +/* A57B10 80240660 8FBF0010 */ lw $ra, 0x10($sp) +/* A57B14 80240664 24020002 */ addiu $v0, $zero, 2 +/* A57B18 80240668 03E00008 */ jr $ra +/* A57B1C 8024066C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240670.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240670.s new file mode 100644 index 0000000000..4d6deb1a56 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240670.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240670 +/* A57B20 80240670 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A57B24 80240674 AFB20018 */ sw $s2, 0x18($sp) +/* A57B28 80240678 0080902D */ daddu $s2, $a0, $zero +/* A57B2C 8024067C AFBF001C */ sw $ra, 0x1c($sp) +/* A57B30 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* A57B34 80240684 AFB00010 */ sw $s0, 0x10($sp) +/* A57B38 80240688 8E50000C */ lw $s0, 0xc($s2) +/* A57B3C 8024068C 8E050000 */ lw $a1, ($s0) +/* A57B40 80240690 0C0B1EAF */ jal get_variable +/* A57B44 80240694 26100004 */ addiu $s0, $s0, 4 +/* A57B48 80240698 0C04417A */ jal get_entity_by_index +/* A57B4C 8024069C 0040202D */ daddu $a0, $v0, $zero +/* A57B50 802406A0 8E050000 */ lw $a1, ($s0) +/* A57B54 802406A4 26100004 */ addiu $s0, $s0, 4 +/* A57B58 802406A8 0040882D */ daddu $s1, $v0, $zero +/* A57B5C 802406AC C6200048 */ lwc1 $f0, 0x48($s1) +/* A57B60 802406B0 4600008D */ trunc.w.s $f2, $f0 +/* A57B64 802406B4 44061000 */ mfc1 $a2, $f2 +/* A57B68 802406B8 0C0B2026 */ jal set_variable +/* A57B6C 802406BC 0240202D */ daddu $a0, $s2, $zero +/* A57B70 802406C0 8E050000 */ lw $a1, ($s0) +/* A57B74 802406C4 26100004 */ addiu $s0, $s0, 4 +/* A57B78 802406C8 C620004C */ lwc1 $f0, 0x4c($s1) +/* A57B7C 802406CC 4600008D */ trunc.w.s $f2, $f0 +/* A57B80 802406D0 44061000 */ mfc1 $a2, $f2 +/* A57B84 802406D4 0C0B2026 */ jal set_variable +/* A57B88 802406D8 0240202D */ daddu $a0, $s2, $zero +/* A57B8C 802406DC C6200050 */ lwc1 $f0, 0x50($s1) +/* A57B90 802406E0 8E050000 */ lw $a1, ($s0) +/* A57B94 802406E4 4600008D */ trunc.w.s $f2, $f0 +/* A57B98 802406E8 44061000 */ mfc1 $a2, $f2 +/* A57B9C 802406EC 0C0B2026 */ jal set_variable +/* A57BA0 802406F0 0240202D */ daddu $a0, $s2, $zero +/* A57BA4 802406F4 8FBF001C */ lw $ra, 0x1c($sp) +/* A57BA8 802406F8 8FB20018 */ lw $s2, 0x18($sp) +/* A57BAC 802406FC 8FB10014 */ lw $s1, 0x14($sp) +/* A57BB0 80240700 8FB00010 */ lw $s0, 0x10($sp) +/* A57BB4 80240704 24020002 */ addiu $v0, $zero, 2 +/* A57BB8 80240708 03E00008 */ jr $ra +/* A57BBC 8024070C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240710_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240710_A574B0.s new file mode 100644 index 0000000000..70bef50744 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240710_A574B0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240710_A57BC0 +/* A57BC0 80240710 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A57BC4 80240714 AFBF0010 */ sw $ra, 0x10($sp) +/* A57BC8 80240718 8C82000C */ lw $v0, 0xc($a0) +/* A57BCC 8024071C 3C068016 */ lui $a2, 0x8016 +/* A57BD0 80240720 84C6A556 */ lh $a2, -0x5aaa($a2) +/* A57BD4 80240724 0C0B2026 */ jal set_variable +/* A57BD8 80240728 8C450000 */ lw $a1, ($v0) +/* A57BDC 8024072C 8FBF0010 */ lw $ra, 0x10($sp) +/* A57BE0 80240730 24020002 */ addiu $v0, $zero, 2 +/* A57BE4 80240734 03E00008 */ jr $ra +/* A57BE8 80240738 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_8024073C_A574B0.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024073C_A574B0.s new file mode 100644 index 0000000000..146abb0384 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_8024073C_A574B0.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024073C_A57BEC +/* A57BEC 8024073C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A57BF0 80240740 AFB10014 */ sw $s1, 0x14($sp) +/* A57BF4 80240744 0080882D */ daddu $s1, $a0, $zero +/* A57BF8 80240748 AFBF001C */ sw $ra, 0x1c($sp) +/* A57BFC 8024074C AFB20018 */ sw $s2, 0x18($sp) +/* A57C00 80240750 AFB00010 */ sw $s0, 0x10($sp) +/* A57C04 80240754 8E30000C */ lw $s0, 0xc($s1) +/* A57C08 80240758 8E050000 */ lw $a1, ($s0) +/* A57C0C 8024075C 0C0B1EAF */ jal get_variable +/* A57C10 80240760 26100004 */ addiu $s0, $s0, 4 +/* A57C14 80240764 8E050000 */ lw $a1, ($s0) +/* A57C18 80240768 26100004 */ addiu $s0, $s0, 4 +/* A57C1C 8024076C 0220202D */ daddu $a0, $s1, $zero +/* A57C20 80240770 0C0B1EAF */ jal get_variable +/* A57C24 80240774 0040902D */ daddu $s2, $v0, $zero +/* A57C28 80240778 0220202D */ daddu $a0, $s1, $zero +/* A57C2C 8024077C 8E050000 */ lw $a1, ($s0) +/* A57C30 80240780 0C0B1EAF */ jal get_variable +/* A57C34 80240784 0040802D */ daddu $s0, $v0, $zero +/* A57C38 80240788 0040202D */ daddu $a0, $v0, $zero +/* A57C3C 8024078C 3C038016 */ lui $v1, 0x8016 +/* A57C40 80240790 2463A550 */ addiu $v1, $v1, -0x5ab0 +/* A57C44 80240794 84620002 */ lh $v0, 2($v1) +/* A57C48 80240798 3C058011 */ lui $a1, %hi(gPlayerStatus) +/* A57C4C 8024079C 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus) +/* A57C50 802407A0 10500004 */ beq $v0, $s0, .L802407B4 +/* A57C54 802407A4 00000000 */ nop +/* A57C58 802407A8 84620004 */ lh $v0, 4($v1) +/* A57C5C 802407AC 1450000D */ bne $v0, $s0, .L802407E4 +/* A57C60 802407B0 00000000 */ nop +.L802407B4: +/* A57C64 802407B4 80A300B4 */ lb $v1, 0xb4($a1) +/* A57C68 802407B8 2402000F */ addiu $v0, $zero, 0xf +/* A57C6C 802407BC 10620009 */ beq $v1, $v0, .L802407E4 +/* A57C70 802407C0 2402000D */ addiu $v0, $zero, 0xd +/* A57C74 802407C4 10620007 */ beq $v1, $v0, .L802407E4 +/* A57C78 802407C8 00000000 */ nop +/* A57C7C 802407CC 14800005 */ bnez $a0, .L802407E4 +/* A57C80 802407D0 00000000 */ nop +/* A57C84 802407D4 44920000 */ mtc1 $s2, $f0 +/* A57C88 802407D8 00000000 */ nop +/* A57C8C 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* A57C90 802407E0 E4A0001C */ swc1 $f0, 0x1c($a1) +.L802407E4: +/* A57C94 802407E4 3C028011 */ lui $v0, 0x8011 +/* A57C98 802407E8 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A57C9C 802407EC 1040000D */ beqz $v0, .L80240824 +/* A57CA0 802407F0 00000000 */ nop +/* A57CA4 802407F4 0C00EABB */ jal get_npc_unsafe +/* A57CA8 802407F8 2404FFFC */ addiu $a0, $zero, -4 +/* A57CAC 802407FC 0040182D */ daddu $v1, $v0, $zero +/* A57CB0 80240800 84620084 */ lh $v0, 0x84($v1) +/* A57CB4 80240804 14500007 */ bne $v0, $s0, .L80240824 +/* A57CB8 80240808 00000000 */ nop +/* A57CBC 8024080C C4600038 */ lwc1 $f0, 0x38($v1) +/* A57CC0 80240810 44921000 */ mtc1 $s2, $f2 +/* A57CC4 80240814 00000000 */ nop +/* A57CC8 80240818 468010A0 */ cvt.s.w $f2, $f2 +/* A57CCC 8024081C 46020000 */ add.s $f0, $f0, $f2 +/* A57CD0 80240820 E4600038 */ swc1 $f0, 0x38($v1) +.L80240824: +/* A57CD4 80240824 8FBF001C */ lw $ra, 0x1c($sp) +/* A57CD8 80240828 8FB20018 */ lw $s2, 0x18($sp) +/* A57CDC 8024082C 8FB10014 */ lw $s1, 0x14($sp) +/* A57CE0 80240830 8FB00010 */ lw $s0, 0x10($sp) +/* A57CE4 80240834 24020002 */ addiu $v0, $zero, 2 +/* A57CE8 80240838 03E00008 */ jr $ra +/* A57CEC 8024083C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_14/func_80240840.s b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240840.s new file mode 100644 index 0000000000..0f03fd31ea --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_14/func_80240840.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240840 +/* A57CF0 80240840 3C038011 */ lui $v1, 0x8011 +/* A57CF4 80240844 8063EBB3 */ lb $v1, -0x144d($v1) +/* A57CF8 80240848 24020008 */ addiu $v0, $zero, 8 +/* A57CFC 8024084C 54620003 */ bnel $v1, $v0, .L8024085C +/* A57D00 80240850 AC8000A8 */ sw $zero, 0xa8($a0) +/* A57D04 80240854 24020001 */ addiu $v0, $zero, 1 +/* A57D08 80240858 AC8200A8 */ sw $v0, 0xa8($a0) +.L8024085C: +/* A57D0C 8024085C 03E00008 */ jr $ra +/* A57D10 80240860 24020002 */ addiu $v0, $zero, 2 +/* A57D14 80240864 00000000 */ nop +/* A57D18 80240868 00000000 */ nop +/* A57D1C 8024086C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_80240000_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240000_A59390.s new file mode 100644 index 0000000000..4ec57c0b9c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240000_A59390.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A59390 +/* A59390 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A59394 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A59398 80240008 0080802D */ daddu $s0, $a0, $zero +/* A5939C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A593A0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A593A4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A593A8 80240018 00621821 */ addu $v1, $v1, $v0 +/* A593AC 8024001C 04610004 */ bgez $v1, .L80240030 +/* A593B0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A593B4 80240024 3C020002 */ lui $v0, 2 +/* A593B8 80240028 08090010 */ j .L80240040 +/* A593BC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A593C0 80240030 3C040002 */ lui $a0, 2 +/* A593C4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A593C8 80240038 10400002 */ beqz $v0, .L80240044 +/* A593CC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A593D0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A593D4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A593D8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A593DC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A593E0 80240050 04610004 */ bgez $v1, .L80240064 +/* A593E4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A593E8 80240058 3C020002 */ lui $v0, 2 +/* A593EC 8024005C 0809001D */ j .L80240074 +/* A593F0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A593F4 80240064 3C040002 */ lui $a0, 2 +/* A593F8 80240068 0083102A */ slt $v0, $a0, $v1 +/* A593FC 8024006C 10400002 */ beqz $v0, .L80240078 +/* A59400 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A59404 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A59408 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5940C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A59410 80240080 00621821 */ addu $v1, $v1, $v0 +/* A59414 80240084 04610004 */ bgez $v1, .L80240098 +/* A59418 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5941C 8024008C 3C020002 */ lui $v0, 2 +/* A59420 80240090 0809002A */ j .L802400A8 +/* A59424 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A59428 80240098 3C040002 */ lui $a0, 2 +/* A5942C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A59430 802400A0 10400002 */ beqz $v0, .L802400AC +/* A59434 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A59438 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A5943C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A59440 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A59444 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A59448 802400B8 04610004 */ bgez $v1, .L802400CC +/* A5944C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A59450 802400C0 3C020002 */ lui $v0, 2 +/* A59454 802400C4 08090037 */ j .L802400DC +/* A59458 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A5945C 802400CC 3C040002 */ lui $a0, 2 +/* A59460 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A59464 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A59468 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A5946C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A59470 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A59474 802400E4 0C046F07 */ jal set_main_pan_u +/* A59478 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5947C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A59480 802400F0 0C046F0D */ jal set_main_pan_v +/* A59484 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A59488 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A5948C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A59490 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A59494 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A59498 80240108 0C046F19 */ jal set_aux_pan_v +/* A5949C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A594A0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A594A4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A594A8 80240118 0000102D */ daddu $v0, $zero, $zero +/* A594AC 8024011C 03E00008 */ jr $ra +/* A594B0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_80240124_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240124_A59390.s new file mode 100644 index 0000000000..7412ebf983 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240124_A59390.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A594B4 +/* A594B4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A594B8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A594BC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A594C0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A594C4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A594C8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A594CC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A594D0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A594D4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A594D8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A594DC 8024014C 1440000E */ bnez $v0, .L80240188 +/* A594E0 80240150 00000000 */ nop +/* A594E4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A594E8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A594EC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A594F0 80240160 04610004 */ bgez $v1, .L80240174 +/* A594F4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A594F8 80240168 3C020002 */ lui $v0, 2 +/* A594FC 8024016C 08090061 */ j .L80240184 +/* A59500 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A59504 80240174 3C040002 */ lui $a0, 2 +/* A59508 80240178 0083102A */ slt $v0, $a0, $v1 +/* A5950C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A59510 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A59514 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A59518 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A5951C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A59520 80240190 00000000 */ nop +/* A59524 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A59528 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A5952C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A59530 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A59534 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A59538 802401A8 3C020002 */ lui $v0, 2 +/* A5953C 802401AC 08090071 */ j .L802401C4 +/* A59540 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A59544 802401B4 3C040002 */ lui $a0, 2 +/* A59548 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A5954C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A59550 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A59554 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A59558 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A5955C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A59560 802401D0 00000000 */ nop +/* A59564 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A59568 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A5956C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A59570 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A59574 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A59578 802401E8 3C020002 */ lui $v0, 2 +/* A5957C 802401EC 08090081 */ j .L80240204 +/* A59580 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A59584 802401F4 3C040002 */ lui $a0, 2 +/* A59588 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A5958C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A59590 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A59594 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A59598 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A5959C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A595A0 80240210 00000000 */ nop +/* A595A4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A595A8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A595AC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A595B0 80240220 04610004 */ bgez $v1, .L80240234 +/* A595B4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A595B8 80240228 3C020002 */ lui $v0, 2 +/* A595BC 8024022C 08090091 */ j .L80240244 +/* A595C0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A595C4 80240234 3C040002 */ lui $a0, 2 +/* A595C8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A595CC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A595D0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A595D4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A595D8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A595DC 8024024C 0C046F07 */ jal set_main_pan_u +/* A595E0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A595E4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A595E8 80240258 0C046F0D */ jal set_main_pan_v +/* A595EC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A595F0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A595F4 80240264 0C046F13 */ jal set_aux_pan_u +/* A595F8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A595FC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A59600 80240270 0C046F19 */ jal set_aux_pan_v +/* A59604 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A59608 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A5960C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A59610 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A59614 80240284 24420001 */ addiu $v0, $v0, 1 +/* A59618 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A5961C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A59620 80240290 24630001 */ addiu $v1, $v1, 1 +/* A59624 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A59628 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A5962C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A59630 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A59634 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A59638 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A5963C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A59640 802402B0 14600002 */ bnez $v1, .L802402BC +/* A59644 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A59648 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A5964C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A59650 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A59654 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A59658 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A5965C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A59660 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A59664 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A59668 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A5966C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A59670 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A59674 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A59678 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A5967C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A59680 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A59684 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A59688 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A5968C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A59690 80240300 0000102D */ daddu $v0, $zero, $zero +/* A59694 80240304 03E00008 */ jr $ra +/* A59698 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5969C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_80240310_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240310_A59390.s new file mode 100644 index 0000000000..d839af1a59 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240310_A59390.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A596A0 +/* A596A0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A596A4 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* A596A8 80240318 3C108024 */ lui $s0, 0x8024 +/* A596AC 8024031C 26100AA0 */ addiu $s0, $s0, 0xaa0 +/* A596B0 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* A596B4 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* A596B8 80240328 8E020000 */ lw $v0, ($s0) +/* A596BC 8024032C 14400010 */ bnez $v0, .L80240370 +/* A596C0 80240330 0080882D */ daddu $s1, $a0, $zero +/* A596C4 80240334 0C00AB39 */ jal heap_malloc +/* A596C8 80240338 24040040 */ addiu $a0, $zero, 0x40 +/* A596CC 8024033C AE020000 */ sw $v0, ($s0) +/* A596D0 80240340 0000182D */ daddu $v1, $zero, $zero +/* A596D4 80240344 0040282D */ daddu $a1, $v0, $zero +/* A596D8 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* A596DC 8024034C 8C820084 */ lw $v0, 0x84($a0) +/* A596E0 80240350 24840004 */ addiu $a0, $a0, 4 +/* A596E4 80240354 24630001 */ addiu $v1, $v1, 1 +/* A596E8 80240358 ACA20000 */ sw $v0, ($a1) +/* A596EC 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* A596F0 80240360 1440FFFA */ bnez $v0, .L8024034C +/* A596F4 80240364 24A50004 */ addiu $a1, $a1, 4 +/* A596F8 80240368 080900EB */ j .L802403AC +/* A596FC 8024036C 00000000 */ nop +.L80240370: +/* A59700 80240370 0000182D */ daddu $v1, $zero, $zero +/* A59704 80240374 0040282D */ daddu $a1, $v0, $zero +/* A59708 80240378 0220202D */ daddu $a0, $s1, $zero +.L8024037C: +/* A5970C 8024037C 8CA20000 */ lw $v0, ($a1) +/* A59710 80240380 24A50004 */ addiu $a1, $a1, 4 +/* A59714 80240384 24630001 */ addiu $v1, $v1, 1 +/* A59718 80240388 AC820084 */ sw $v0, 0x84($a0) +/* A5971C 8024038C 28620010 */ slti $v0, $v1, 0x10 +/* A59720 80240390 1440FFFA */ bnez $v0, .L8024037C +/* A59724 80240394 24840004 */ addiu $a0, $a0, 4 +/* A59728 80240398 3C108024 */ lui $s0, 0x8024 +/* A5972C 8024039C 26100AA0 */ addiu $s0, $s0, 0xaa0 +/* A59730 802403A0 0C00AB4B */ jal heap_free +/* A59734 802403A4 8E040000 */ lw $a0, ($s0) +/* A59738 802403A8 AE000000 */ sw $zero, ($s0) +.L802403AC: +/* A5973C 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* A59740 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* A59744 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* A59748 802403B8 24020002 */ addiu $v0, $zero, 2 +/* A5974C 802403BC 03E00008 */ jr $ra +/* A59750 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_802403C4_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_802403C4_A59390.s new file mode 100644 index 0000000000..341e076842 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_802403C4_A59390.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_A59754 +/* A59754 802403C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A59758 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* A5975C 802403CC 0080802D */ daddu $s0, $a0, $zero +/* A59760 802403D0 AFBF0018 */ sw $ra, 0x18($sp) +/* A59764 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* A59768 802403D8 8E02000C */ lw $v0, 0xc($s0) +/* A5976C 802403DC 8C510000 */ lw $s1, ($v0) +/* A59770 802403E0 0C0B1EAF */ jal get_variable +/* A59774 802403E4 0220282D */ daddu $a1, $s1, $zero +/* A59778 802403E8 3C03FFF0 */ lui $v1, 0xfff0 +/* A5977C 802403EC 3463FFFF */ ori $v1, $v1, 0xffff +/* A59780 802403F0 0200202D */ daddu $a0, $s0, $zero +/* A59784 802403F4 00431024 */ and $v0, $v0, $v1 +/* A59788 802403F8 00021140 */ sll $v0, $v0, 5 +/* A5978C 802403FC 3C068008 */ lui $a2, %hi(gItemTable) +/* A59790 80240400 00C23021 */ addu $a2, $a2, $v0 +/* A59794 80240404 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* A59798 80240408 0C0B2026 */ jal set_variable +/* A5979C 8024040C 0220282D */ daddu $a1, $s1, $zero +/* A597A0 80240410 8FBF0018 */ lw $ra, 0x18($sp) +/* A597A4 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* A597A8 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* A597AC 8024041C 24020002 */ addiu $v0, $zero, 2 +/* A597B0 80240420 03E00008 */ jr $ra +/* A597B4 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_80240428_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240428_A59390.s new file mode 100644 index 0000000000..096399d671 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240428_A59390.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_A597B8 +/* A597B8 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A597BC 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* A597C0 80240430 0080882D */ daddu $s1, $a0, $zero +/* A597C4 80240434 AFBF001C */ sw $ra, 0x1c($sp) +/* A597C8 80240438 AFB20018 */ sw $s2, 0x18($sp) +/* A597CC 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* A597D0 80240440 8E240084 */ lw $a0, 0x84($s1) +/* A597D4 80240444 0C04C3D6 */ jal get_item_entity +/* A597D8 80240448 00A0802D */ daddu $s0, $a1, $zero +/* A597DC 8024044C 12000005 */ beqz $s0, .L80240464 +/* A597E0 80240450 0040902D */ daddu $s2, $v0, $zero +/* A597E4 80240454 C640000C */ lwc1 $f0, 0xc($s2) +/* A597E8 80240458 AE200074 */ sw $zero, 0x74($s1) +/* A597EC 8024045C AE20007C */ sw $zero, 0x7c($s1) +/* A597F0 80240460 E6200078 */ swc1 $f0, 0x78($s1) +.L80240464: +/* A597F4 80240464 8E230074 */ lw $v1, 0x74($s1) +/* A597F8 80240468 10600005 */ beqz $v1, .L80240480 +/* A597FC 8024046C 24020001 */ addiu $v0, $zero, 1 +/* A59800 80240470 10620024 */ beq $v1, $v0, .L80240504 +/* A59804 80240474 00000000 */ nop +/* A59808 80240478 08090157 */ j .L8024055C +/* A5980C 8024047C 00000000 */ nop +.L80240480: +/* A59810 80240480 3C013FC9 */ lui $at, 0x3fc9 +/* A59814 80240484 34210FD8 */ ori $at, $at, 0xfd8 +/* A59818 80240488 44810000 */ mtc1 $at, $f0 +/* A5981C 8024048C C62C007C */ lwc1 $f12, 0x7c($s1) +/* A59820 80240490 46806320 */ cvt.s.w $f12, $f12 +/* A59824 80240494 46006302 */ mul.s $f12, $f12, $f0 +/* A59828 80240498 00000000 */ nop +/* A5982C 8024049C 3C0141F0 */ lui $at, 0x41f0 +/* A59830 802404A0 44810000 */ mtc1 $at, $f0 +/* A59834 802404A4 0C00A874 */ jal cos_rad +/* A59838 802404A8 46006303 */ div.s $f12, $f12, $f0 +/* A5983C 802404AC 3C013F80 */ lui $at, 0x3f80 +/* A59840 802404B0 44811000 */ mtc1 $at, $f2 +/* A59844 802404B4 00000000 */ nop +/* A59848 802404B8 46001081 */ sub.s $f2, $f2, $f0 +/* A5984C 802404BC 3C0141A0 */ lui $at, 0x41a0 +/* A59850 802404C0 44810000 */ mtc1 $at, $f0 +/* A59854 802404C4 00000000 */ nop +/* A59858 802404C8 46001082 */ mul.s $f2, $f2, $f0 +/* A5985C 802404CC 00000000 */ nop +/* A59860 802404D0 C6200078 */ lwc1 $f0, 0x78($s1) +/* A59864 802404D4 46020000 */ add.s $f0, $f0, $f2 +/* A59868 802404D8 E640000C */ swc1 $f0, 0xc($s2) +/* A5986C 802404DC 8E23007C */ lw $v1, 0x7c($s1) +/* A59870 802404E0 2402001E */ addiu $v0, $zero, 0x1e +/* A59874 802404E4 14620005 */ bne $v1, $v0, .L802404FC +/* A59878 802404E8 24620001 */ addiu $v0, $v1, 1 +/* A5987C 802404EC 24020001 */ addiu $v0, $zero, 1 +/* A59880 802404F0 AE220074 */ sw $v0, 0x74($s1) +/* A59884 802404F4 08090157 */ j .L8024055C +/* A59888 802404F8 AE20007C */ sw $zero, 0x7c($s1) +.L802404FC: +/* A5988C 802404FC 08090157 */ j .L8024055C +/* A59890 80240500 AE22007C */ sw $v0, 0x7c($s1) +.L80240504: +/* A59894 80240504 C62C007C */ lwc1 $f12, 0x7c($s1) +/* A59898 80240508 0C00A8D4 */ jal cos_deg +/* A5989C 8024050C 46806320 */ cvt.s.w $f12, $f12 +/* A598A0 80240510 3C014040 */ lui $at, 0x4040 +/* A598A4 80240514 44811000 */ mtc1 $at, $f2 +/* A598A8 80240518 00000000 */ nop +/* A598AC 8024051C 46020002 */ mul.s $f0, $f0, $f2 +/* A598B0 80240520 00000000 */ nop +/* A598B4 80240524 3C014188 */ lui $at, 0x4188 +/* A598B8 80240528 44812000 */ mtc1 $at, $f4 +/* A598BC 8024052C C6220078 */ lwc1 $f2, 0x78($s1) +/* A598C0 80240530 46041080 */ add.s $f2, $f2, $f4 +/* A598C4 80240534 46001080 */ add.s $f2, $f2, $f0 +/* A598C8 80240538 E642000C */ swc1 $f2, 0xc($s2) +/* A598CC 8024053C 8E22007C */ lw $v0, 0x7c($s1) +/* A598D0 80240540 24420009 */ addiu $v0, $v0, 9 +/* A598D4 80240544 44826000 */ mtc1 $v0, $f12 +/* A598D8 80240548 00000000 */ nop +/* A598DC 8024054C 0C00A6C9 */ jal clamp_angle +/* A598E0 80240550 46806320 */ cvt.s.w $f12, $f12 +/* A598E4 80240554 4600018D */ trunc.w.s $f6, $f0 +/* A598E8 80240558 E626007C */ swc1 $f6, 0x7c($s1) +.L8024055C: +/* A598EC 8024055C 8FBF001C */ lw $ra, 0x1c($sp) +/* A598F0 80240560 8FB20018 */ lw $s2, 0x18($sp) +/* A598F4 80240564 8FB10014 */ lw $s1, 0x14($sp) +/* A598F8 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* A598FC 8024056C 0000102D */ daddu $v0, $zero, $zero +/* A59900 80240570 03E00008 */ jr $ra +/* A59904 80240574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_15/func_80240578_A59390.s b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240578_A59390.s new file mode 100644 index 0000000000..8a45449717 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_15/func_80240578_A59390.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240578_A59908 +/* A59908 80240578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5990C 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* A59910 80240580 0080802D */ daddu $s0, $a0, $zero +/* A59914 80240584 AFBF0014 */ sw $ra, 0x14($sp) +/* A59918 80240588 8E02000C */ lw $v0, 0xc($s0) +/* A5991C 8024058C 0C0B1EAF */ jal get_variable +/* A59920 80240590 8C450000 */ lw $a1, ($v0) +/* A59924 80240594 00021140 */ sll $v0, $v0, 5 +/* A59928 80240598 AE000084 */ sw $zero, 0x84($s0) +/* A5992C 8024059C 3C018008 */ lui $at, 0x8008 +/* A59930 802405A0 00220821 */ addu $at, $at, $v0 +/* A59934 802405A4 942278F8 */ lhu $v0, 0x78f8($at) +/* A59938 802405A8 30420040 */ andi $v0, $v0, 0x40 +/* A5993C 802405AC 10400002 */ beqz $v0, .L802405B8 +/* A59940 802405B0 24020001 */ addiu $v0, $zero, 1 +/* A59944 802405B4 AE020084 */ sw $v0, 0x84($s0) +.L802405B8: +/* A59948 802405B8 8FBF0014 */ lw $ra, 0x14($sp) +/* A5994C 802405BC 8FB00010 */ lw $s0, 0x10($sp) +/* A59950 802405C0 24020002 */ addiu $v0, $zero, 2 +/* A59954 802405C4 03E00008 */ jr $ra +/* A59958 802405C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5995C 802405CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_16/func_80240000_A5A030.s b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240000_A5A030.s new file mode 100644 index 0000000000..fe8986d2da --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240000_A5A030.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A5A030 +/* A5A030 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5A034 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A5A038 80240008 0080802D */ daddu $s0, $a0, $zero +/* A5A03C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A5A040 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5A044 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A5A048 80240018 00621821 */ addu $v1, $v1, $v0 +/* A5A04C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A5A050 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5A054 80240024 3C020002 */ lui $v0, 2 +/* A5A058 80240028 08090010 */ j .L80240040 +/* A5A05C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A5A060 80240030 3C040002 */ lui $a0, 2 +/* A5A064 80240034 0083102A */ slt $v0, $a0, $v1 +/* A5A068 80240038 10400002 */ beqz $v0, .L80240044 +/* A5A06C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A5A070 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A5A074 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A5A078 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A5A07C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A5A080 80240050 04610004 */ bgez $v1, .L80240064 +/* A5A084 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A5A088 80240058 3C020002 */ lui $v0, 2 +/* A5A08C 8024005C 0809001D */ j .L80240074 +/* A5A090 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A5A094 80240064 3C040002 */ lui $a0, 2 +/* A5A098 80240068 0083102A */ slt $v0, $a0, $v1 +/* A5A09C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A5A0A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A5A0A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A5A0A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5A0AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A5A0B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* A5A0B4 80240084 04610004 */ bgez $v1, .L80240098 +/* A5A0B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5A0BC 8024008C 3C020002 */ lui $v0, 2 +/* A5A0C0 80240090 0809002A */ j .L802400A8 +/* A5A0C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A5A0C8 80240098 3C040002 */ lui $a0, 2 +/* A5A0CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A5A0D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* A5A0D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A5A0D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A5A0DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5A0E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A5A0E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A5A0E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* A5A0EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A5A0F0 802400C0 3C020002 */ lui $v0, 2 +/* A5A0F4 802400C4 08090037 */ j .L802400DC +/* A5A0F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A5A0FC 802400CC 3C040002 */ lui $a0, 2 +/* A5A100 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A5A104 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A5A108 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A5A10C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A5A110 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A5A114 802400E4 0C046F07 */ jal set_main_pan_u +/* A5A118 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5A11C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A5A120 802400F0 0C046F0D */ jal set_main_pan_v +/* A5A124 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A5A128 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A5A12C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A5A130 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5A134 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A5A138 80240108 0C046F19 */ jal set_aux_pan_v +/* A5A13C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5A140 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A5A144 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A5A148 80240118 0000102D */ daddu $v0, $zero, $zero +/* A5A14C 8024011C 03E00008 */ jr $ra +/* A5A150 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_16/func_80240124_A5A030.s b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240124_A5A030.s new file mode 100644 index 0000000000..b8bcd549b3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240124_A5A030.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A5A154 +/* A5A154 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5A158 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A5A15C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A5A160 80240130 10A00005 */ beqz $a1, .L80240148 +/* A5A164 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A5A168 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A5A16C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A5A170 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A5A174 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A5A178 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A5A17C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A5A180 80240150 00000000 */ nop +/* A5A184 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5A188 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A5A18C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A5A190 80240160 04610004 */ bgez $v1, .L80240174 +/* A5A194 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5A198 80240168 3C020002 */ lui $v0, 2 +/* A5A19C 8024016C 08090061 */ j .L80240184 +/* A5A1A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A5A1A4 80240174 3C040002 */ lui $a0, 2 +/* A5A1A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A5A1AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A5A1B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A5A1B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A5A1B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A5A1BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A5A1C0 80240190 00000000 */ nop +/* A5A1C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A5A1C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A5A1CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A5A1D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A5A1D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A5A1D8 802401A8 3C020002 */ lui $v0, 2 +/* A5A1DC 802401AC 08090071 */ j .L802401C4 +/* A5A1E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A5A1E4 802401B4 3C040002 */ lui $a0, 2 +/* A5A1E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A5A1EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A5A1F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A5A1F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A5A1F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A5A1FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A5A200 802401D0 00000000 */ nop +/* A5A204 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5A208 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A5A20C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A5A210 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A5A214 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5A218 802401E8 3C020002 */ lui $v0, 2 +/* A5A21C 802401EC 08090081 */ j .L80240204 +/* A5A220 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A5A224 802401F4 3C040002 */ lui $a0, 2 +/* A5A228 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A5A22C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A5A230 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A5A234 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A5A238 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A5A23C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A5A240 80240210 00000000 */ nop +/* A5A244 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5A248 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A5A24C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A5A250 80240220 04610004 */ bgez $v1, .L80240234 +/* A5A254 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A5A258 80240228 3C020002 */ lui $v0, 2 +/* A5A25C 8024022C 08090091 */ j .L80240244 +/* A5A260 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A5A264 80240234 3C040002 */ lui $a0, 2 +/* A5A268 80240238 0083102A */ slt $v0, $a0, $v1 +/* A5A26C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A5A270 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A5A274 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A5A278 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A5A27C 8024024C 0C046F07 */ jal set_main_pan_u +/* A5A280 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5A284 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A5A288 80240258 0C046F0D */ jal set_main_pan_v +/* A5A28C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A5A290 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A5A294 80240264 0C046F13 */ jal set_aux_pan_u +/* A5A298 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5A29C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A5A2A0 80240270 0C046F19 */ jal set_aux_pan_v +/* A5A2A4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5A2A8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A5A2AC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A5A2B0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A5A2B4 80240284 24420001 */ addiu $v0, $v0, 1 +/* A5A2B8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A5A2BC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A5A2C0 80240290 24630001 */ addiu $v1, $v1, 1 +/* A5A2C4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A5A2C8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A5A2CC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A5A2D0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A5A2D4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A5A2D8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A5A2DC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A5A2E0 802402B0 14600002 */ bnez $v1, .L802402BC +/* A5A2E4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A5A2E8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A5A2EC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A5A2F0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A5A2F4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A5A2F8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A5A2FC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A5A300 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A5A304 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A5A308 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A5A30C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A5A310 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A5A314 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A5A318 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A5A31C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A5A320 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A5A324 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A5A328 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A5A32C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A5A330 80240300 0000102D */ daddu $v0, $zero, $zero +/* A5A334 80240304 03E00008 */ jr $ra +/* A5A338 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5A33C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_16/func_80240310_A5A030.s b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240310_A5A030.s new file mode 100644 index 0000000000..ce22406ecd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240310_A5A030.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A5A340 +/* A5A340 80240310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5A344 80240314 AFBF0010 */ sw $ra, 0x10($sp) +/* A5A348 80240318 8C82000C */ lw $v0, 0xc($a0) +/* A5A34C 8024031C 0C0B1EAF */ jal get_variable +/* A5A350 80240320 8C450000 */ lw $a1, ($v0) +/* A5A354 80240324 44820000 */ mtc1 $v0, $f0 +/* A5A358 80240328 00000000 */ nop +/* A5A35C 8024032C 46800020 */ cvt.s.w $f0, $f0 +/* A5A360 80240330 44050000 */ mfc1 $a1, $f0 +/* A5A364 80240334 0C04DF62 */ jal func_80137D88 +/* A5A368 80240338 0000202D */ daddu $a0, $zero, $zero +/* A5A36C 8024033C 8FBF0010 */ lw $ra, 0x10($sp) +/* A5A370 80240340 24020002 */ addiu $v0, $zero, 2 +/* A5A374 80240344 03E00008 */ jr $ra +/* A5A378 80240348 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_16/func_8024034C_A5A030.s b/asm/nonmatchings/world/area_kpa/kpa_16/func_8024034C_A5A030.s new file mode 100644 index 0000000000..8ba7b03034 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_16/func_8024034C_A5A030.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024034C_A5A37C +/* A5A37C 8024034C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5A380 80240350 0000202D */ daddu $a0, $zero, $zero +/* A5A384 80240354 AFBF0010 */ sw $ra, 0x10($sp) +/* A5A388 80240358 0C015586 */ jal func_80055618 +/* A5A38C 8024035C 24050001 */ addiu $a1, $zero, 1 +/* A5A390 80240360 8FBF0010 */ lw $ra, 0x10($sp) +/* A5A394 80240364 24020002 */ addiu $v0, $zero, 2 +/* A5A398 80240368 03E00008 */ jr $ra +/* A5A39C 8024036C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_16/func_80240370_A5A030.s b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240370_A5A030.s new file mode 100644 index 0000000000..83a1cc6e24 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_16/func_80240370_A5A030.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_A5A3A0 +/* A5A3A0 80240370 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5A3A4 80240374 AFBF0010 */ sw $ra, 0x10($sp) +/* A5A3A8 80240378 8C82000C */ lw $v0, 0xc($a0) +/* A5A3AC 8024037C 3C068016 */ lui $a2, 0x8016 +/* A5A3B0 80240380 84C6A552 */ lh $a2, -0x5aae($a2) +/* A5A3B4 80240384 0C0B2026 */ jal set_variable +/* A5A3B8 80240388 8C450000 */ lw $a1, ($v0) +/* A5A3BC 8024038C 8FBF0010 */ lw $ra, 0x10($sp) +/* A5A3C0 80240390 24020002 */ addiu $v0, $zero, 2 +/* A5A3C4 80240394 03E00008 */ jr $ra +/* A5A3C8 80240398 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5A3CC 8024039C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_32/func_80240000_A5E0C0.s b/asm/nonmatchings/world/area_kpa/kpa_32/func_80240000_A5E0C0.s new file mode 100644 index 0000000000..ec0262bf81 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_32/func_80240000_A5E0C0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A5E0C0 +/* A5E0C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5E0C4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A5E0C8 80240008 0080802D */ daddu $s0, $a0, $zero +/* A5E0CC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A5E0D0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5E0D4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A5E0D8 80240018 00621821 */ addu $v1, $v1, $v0 +/* A5E0DC 8024001C 04610004 */ bgez $v1, .L80240030 +/* A5E0E0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5E0E4 80240024 3C020002 */ lui $v0, 2 +/* A5E0E8 80240028 08090010 */ j .L80240040 +/* A5E0EC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A5E0F0 80240030 3C040002 */ lui $a0, 2 +/* A5E0F4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A5E0F8 80240038 10400002 */ beqz $v0, .L80240044 +/* A5E0FC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A5E100 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A5E104 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A5E108 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A5E10C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A5E110 80240050 04610004 */ bgez $v1, .L80240064 +/* A5E114 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A5E118 80240058 3C020002 */ lui $v0, 2 +/* A5E11C 8024005C 0809001D */ j .L80240074 +/* A5E120 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A5E124 80240064 3C040002 */ lui $a0, 2 +/* A5E128 80240068 0083102A */ slt $v0, $a0, $v1 +/* A5E12C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A5E130 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A5E134 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A5E138 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5E13C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A5E140 80240080 00621821 */ addu $v1, $v1, $v0 +/* A5E144 80240084 04610004 */ bgez $v1, .L80240098 +/* A5E148 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5E14C 8024008C 3C020002 */ lui $v0, 2 +/* A5E150 80240090 0809002A */ j .L802400A8 +/* A5E154 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A5E158 80240098 3C040002 */ lui $a0, 2 +/* A5E15C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A5E160 802400A0 10400002 */ beqz $v0, .L802400AC +/* A5E164 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A5E168 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A5E16C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5E170 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A5E174 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A5E178 802400B8 04610004 */ bgez $v1, .L802400CC +/* A5E17C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A5E180 802400C0 3C020002 */ lui $v0, 2 +/* A5E184 802400C4 08090037 */ j .L802400DC +/* A5E188 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A5E18C 802400CC 3C040002 */ lui $a0, 2 +/* A5E190 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A5E194 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A5E198 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A5E19C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A5E1A0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A5E1A4 802400E4 0C046F07 */ jal set_main_pan_u +/* A5E1A8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5E1AC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A5E1B0 802400F0 0C046F0D */ jal set_main_pan_v +/* A5E1B4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A5E1B8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A5E1BC 802400FC 0C046F13 */ jal set_aux_pan_u +/* A5E1C0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5E1C4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A5E1C8 80240108 0C046F19 */ jal set_aux_pan_v +/* A5E1CC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5E1D0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A5E1D4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A5E1D8 80240118 0000102D */ daddu $v0, $zero, $zero +/* A5E1DC 8024011C 03E00008 */ jr $ra +/* A5E1E0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_32/func_80240124_A5E0C0.s b/asm/nonmatchings/world/area_kpa/kpa_32/func_80240124_A5E0C0.s new file mode 100644 index 0000000000..abf05bfe5b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_32/func_80240124_A5E0C0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A5E1E4 +/* A5E1E4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5E1E8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A5E1EC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A5E1F0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A5E1F4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A5E1F8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A5E1FC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A5E200 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A5E204 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A5E208 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A5E20C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A5E210 80240150 00000000 */ nop +/* A5E214 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5E218 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A5E21C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A5E220 80240160 04610004 */ bgez $v1, .L80240174 +/* A5E224 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5E228 80240168 3C020002 */ lui $v0, 2 +/* A5E22C 8024016C 08090061 */ j .L80240184 +/* A5E230 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A5E234 80240174 3C040002 */ lui $a0, 2 +/* A5E238 80240178 0083102A */ slt $v0, $a0, $v1 +/* A5E23C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A5E240 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A5E244 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A5E248 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A5E24C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A5E250 80240190 00000000 */ nop +/* A5E254 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A5E258 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A5E25C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A5E260 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A5E264 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A5E268 802401A8 3C020002 */ lui $v0, 2 +/* A5E26C 802401AC 08090071 */ j .L802401C4 +/* A5E270 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A5E274 802401B4 3C040002 */ lui $a0, 2 +/* A5E278 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A5E27C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A5E280 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A5E284 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A5E288 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A5E28C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A5E290 802401D0 00000000 */ nop +/* A5E294 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5E298 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A5E29C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A5E2A0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A5E2A4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5E2A8 802401E8 3C020002 */ lui $v0, 2 +/* A5E2AC 802401EC 08090081 */ j .L80240204 +/* A5E2B0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A5E2B4 802401F4 3C040002 */ lui $a0, 2 +/* A5E2B8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A5E2BC 802401FC 10400002 */ beqz $v0, .L80240208 +/* A5E2C0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A5E2C4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A5E2C8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A5E2CC 8024020C 1440000E */ bnez $v0, .L80240248 +/* A5E2D0 80240210 00000000 */ nop +/* A5E2D4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5E2D8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A5E2DC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A5E2E0 80240220 04610004 */ bgez $v1, .L80240234 +/* A5E2E4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A5E2E8 80240228 3C020002 */ lui $v0, 2 +/* A5E2EC 8024022C 08090091 */ j .L80240244 +/* A5E2F0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A5E2F4 80240234 3C040002 */ lui $a0, 2 +/* A5E2F8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A5E2FC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A5E300 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A5E304 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A5E308 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A5E30C 8024024C 0C046F07 */ jal set_main_pan_u +/* A5E310 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5E314 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A5E318 80240258 0C046F0D */ jal set_main_pan_v +/* A5E31C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A5E320 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A5E324 80240264 0C046F13 */ jal set_aux_pan_u +/* A5E328 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5E32C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A5E330 80240270 0C046F19 */ jal set_aux_pan_v +/* A5E334 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5E338 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A5E33C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A5E340 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A5E344 80240284 24420001 */ addiu $v0, $v0, 1 +/* A5E348 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A5E34C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A5E350 80240290 24630001 */ addiu $v1, $v1, 1 +/* A5E354 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A5E358 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A5E35C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A5E360 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A5E364 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A5E368 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A5E36C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A5E370 802402B0 14600002 */ bnez $v1, .L802402BC +/* A5E374 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A5E378 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A5E37C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A5E380 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A5E384 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A5E388 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A5E38C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A5E390 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A5E394 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A5E398 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A5E39C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A5E3A0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A5E3A4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A5E3A8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A5E3AC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A5E3B0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A5E3B4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A5E3B8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A5E3BC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A5E3C0 80240300 0000102D */ daddu $v0, $zero, $zero +/* A5E3C4 80240304 03E00008 */ jr $ra +/* A5E3C8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5E3CC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_33/func_80240000_A5F080.s b/asm/nonmatchings/world/area_kpa/kpa_33/func_80240000_A5F080.s new file mode 100644 index 0000000000..6698517586 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_33/func_80240000_A5F080.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A5F080 +/* A5F080 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5F084 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A5F088 80240008 0080802D */ daddu $s0, $a0, $zero +/* A5F08C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A5F090 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5F094 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A5F098 80240018 00621821 */ addu $v1, $v1, $v0 +/* A5F09C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A5F0A0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5F0A4 80240024 3C020002 */ lui $v0, 2 +/* A5F0A8 80240028 08090010 */ j .L80240040 +/* A5F0AC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A5F0B0 80240030 3C040002 */ lui $a0, 2 +/* A5F0B4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A5F0B8 80240038 10400002 */ beqz $v0, .L80240044 +/* A5F0BC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A5F0C0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A5F0C4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A5F0C8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A5F0CC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A5F0D0 80240050 04610004 */ bgez $v1, .L80240064 +/* A5F0D4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A5F0D8 80240058 3C020002 */ lui $v0, 2 +/* A5F0DC 8024005C 0809001D */ j .L80240074 +/* A5F0E0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A5F0E4 80240064 3C040002 */ lui $a0, 2 +/* A5F0E8 80240068 0083102A */ slt $v0, $a0, $v1 +/* A5F0EC 8024006C 10400002 */ beqz $v0, .L80240078 +/* A5F0F0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A5F0F4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A5F0F8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5F0FC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A5F100 80240080 00621821 */ addu $v1, $v1, $v0 +/* A5F104 80240084 04610004 */ bgez $v1, .L80240098 +/* A5F108 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5F10C 8024008C 3C020002 */ lui $v0, 2 +/* A5F110 80240090 0809002A */ j .L802400A8 +/* A5F114 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A5F118 80240098 3C040002 */ lui $a0, 2 +/* A5F11C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A5F120 802400A0 10400002 */ beqz $v0, .L802400AC +/* A5F124 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A5F128 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A5F12C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5F130 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A5F134 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A5F138 802400B8 04610004 */ bgez $v1, .L802400CC +/* A5F13C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A5F140 802400C0 3C020002 */ lui $v0, 2 +/* A5F144 802400C4 08090037 */ j .L802400DC +/* A5F148 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A5F14C 802400CC 3C040002 */ lui $a0, 2 +/* A5F150 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A5F154 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A5F158 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A5F15C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A5F160 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A5F164 802400E4 0C046F07 */ jal set_main_pan_u +/* A5F168 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5F16C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A5F170 802400F0 0C046F0D */ jal set_main_pan_v +/* A5F174 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A5F178 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A5F17C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A5F180 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5F184 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A5F188 80240108 0C046F19 */ jal set_aux_pan_v +/* A5F18C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5F190 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A5F194 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A5F198 80240118 0000102D */ daddu $v0, $zero, $zero +/* A5F19C 8024011C 03E00008 */ jr $ra +/* A5F1A0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_33/func_80240124_A5F080.s b/asm/nonmatchings/world/area_kpa/kpa_33/func_80240124_A5F080.s new file mode 100644 index 0000000000..3f5492124f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_33/func_80240124_A5F080.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A5F1A4 +/* A5F1A4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A5F1A8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A5F1AC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A5F1B0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A5F1B4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A5F1B8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A5F1BC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A5F1C0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A5F1C4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A5F1C8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A5F1CC 8024014C 1440000E */ bnez $v0, .L80240188 +/* A5F1D0 80240150 00000000 */ nop +/* A5F1D4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A5F1D8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A5F1DC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A5F1E0 80240160 04610004 */ bgez $v1, .L80240174 +/* A5F1E4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A5F1E8 80240168 3C020002 */ lui $v0, 2 +/* A5F1EC 8024016C 08090061 */ j .L80240184 +/* A5F1F0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A5F1F4 80240174 3C040002 */ lui $a0, 2 +/* A5F1F8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A5F1FC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A5F200 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A5F204 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A5F208 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A5F20C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A5F210 80240190 00000000 */ nop +/* A5F214 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A5F218 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A5F21C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A5F220 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A5F224 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A5F228 802401A8 3C020002 */ lui $v0, 2 +/* A5F22C 802401AC 08090071 */ j .L802401C4 +/* A5F230 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A5F234 802401B4 3C040002 */ lui $a0, 2 +/* A5F238 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A5F23C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A5F240 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A5F244 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A5F248 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A5F24C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A5F250 802401D0 00000000 */ nop +/* A5F254 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A5F258 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A5F25C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A5F260 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A5F264 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A5F268 802401E8 3C020002 */ lui $v0, 2 +/* A5F26C 802401EC 08090081 */ j .L80240204 +/* A5F270 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A5F274 802401F4 3C040002 */ lui $a0, 2 +/* A5F278 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A5F27C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A5F280 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A5F284 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A5F288 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A5F28C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A5F290 80240210 00000000 */ nop +/* A5F294 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A5F298 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A5F29C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A5F2A0 80240220 04610004 */ bgez $v1, .L80240234 +/* A5F2A4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A5F2A8 80240228 3C020002 */ lui $v0, 2 +/* A5F2AC 8024022C 08090091 */ j .L80240244 +/* A5F2B0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A5F2B4 80240234 3C040002 */ lui $a0, 2 +/* A5F2B8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A5F2BC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A5F2C0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A5F2C4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A5F2C8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A5F2CC 8024024C 0C046F07 */ jal set_main_pan_u +/* A5F2D0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A5F2D4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A5F2D8 80240258 0C046F0D */ jal set_main_pan_v +/* A5F2DC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A5F2E0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A5F2E4 80240264 0C046F13 */ jal set_aux_pan_u +/* A5F2E8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A5F2EC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A5F2F0 80240270 0C046F19 */ jal set_aux_pan_v +/* A5F2F4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A5F2F8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A5F2FC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A5F300 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A5F304 80240284 24420001 */ addiu $v0, $v0, 1 +/* A5F308 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A5F30C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A5F310 80240290 24630001 */ addiu $v1, $v1, 1 +/* A5F314 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A5F318 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A5F31C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A5F320 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A5F324 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A5F328 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A5F32C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A5F330 802402B0 14600002 */ bnez $v1, .L802402BC +/* A5F334 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A5F338 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A5F33C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A5F340 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A5F344 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A5F348 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A5F34C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A5F350 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A5F354 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A5F358 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A5F35C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A5F360 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A5F364 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A5F368 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A5F36C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A5F370 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A5F374 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A5F378 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A5F37C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A5F380 80240300 0000102D */ daddu $v0, $zero, $zero +/* A5F384 80240304 03E00008 */ jr $ra +/* A5F388 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A5F38C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240000_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240000_A609D0.s new file mode 100644 index 0000000000..6037a565e6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240000_A609D0.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A609D0 +/* A609D0 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A609D4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* A609D8 80240008 0080882D */ daddu $s1, $a0, $zero +/* A609DC 8024000C 3C05800B */ lui $a1, %hi(gCameras) +/* A609E0 80240010 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A609E4 80240014 AFBF0020 */ sw $ra, 0x20($sp) +/* A609E8 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* A609EC 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* A609F0 80240020 AFB00010 */ sw $s0, 0x10($sp) +/* A609F4 80240024 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A609F8 80240028 8E330148 */ lw $s3, 0x148($s1) +/* A609FC 8024002C 3C03800A */ lui $v1, 0x800a +/* A60A00 80240030 8463A634 */ lh $v1, -0x59cc($v1) +/* A60A04 80240034 8E30000C */ lw $s0, 0xc($s1) +/* A60A08 80240038 00031080 */ sll $v0, $v1, 2 +/* A60A0C 8024003C 00431021 */ addu $v0, $v0, $v1 +/* A60A10 80240040 00021080 */ sll $v0, $v0, 2 +/* A60A14 80240044 00431023 */ subu $v0, $v0, $v1 +/* A60A18 80240048 000218C0 */ sll $v1, $v0, 3 +/* A60A1C 8024004C 00431021 */ addu $v0, $v0, $v1 +/* A60A20 80240050 000210C0 */ sll $v0, $v0, 3 +/* A60A24 80240054 86640008 */ lh $a0, 8($s3) +/* A60A28 80240058 0C00EABB */ jal get_npc_unsafe +/* A60A2C 8024005C 00459021 */ addu $s2, $v0, $a1 +/* A60A30 80240060 0220202D */ daddu $a0, $s1, $zero +/* A60A34 80240064 8E050000 */ lw $a1, ($s0) +/* A60A38 80240068 0C0B1EAF */ jal get_variable +/* A60A3C 8024006C 0040802D */ daddu $s0, $v0, $zero +/* A60A40 80240070 0260202D */ daddu $a0, $s3, $zero +/* A60A44 80240074 8C460024 */ lw $a2, 0x24($v0) +/* A60A48 80240078 8C470028 */ lw $a3, 0x28($v0) +/* A60A4C 8024007C 0C0124FB */ jal func_800493EC +/* A60A50 80240080 0000282D */ daddu $a1, $zero, $zero +/* A60A54 80240084 10400052 */ beqz $v0, .L802401D0 +/* A60A58 80240088 2402FFFF */ addiu $v0, $zero, -1 +/* A60A5C 8024008C C64C006C */ lwc1 $f12, 0x6c($s2) +/* A60A60 80240090 C60E000C */ lwc1 $f14, 0xc($s0) +/* A60A64 80240094 3C014387 */ lui $at, 0x4387 +/* A60A68 80240098 4481A000 */ mtc1 $at, $f20 +/* A60A6C 8024009C 0C00A70A */ jal get_clamped_angle_diff +/* A60A70 802400A0 00000000 */ nop +/* A60A74 802400A4 0C00A6C9 */ jal clamp_angle +/* A60A78 802400A8 46000306 */ mov.s $f12, $f0 +/* A60A7C 802400AC 3C018024 */ lui $at, 0x8024 +/* A60A80 802400B0 D42234A0 */ ldc1 $f2, 0x34a0($at) +/* A60A84 802400B4 46000021 */ cvt.d.s $f0, $f0 +/* A60A88 802400B8 4622003C */ c.lt.d $f0, $f2 +/* A60A8C 802400BC 00000000 */ nop +/* A60A90 802400C0 45000003 */ bc1f .L802400D0 +/* A60A94 802400C4 00000000 */ nop +/* A60A98 802400C8 3C0142B4 */ lui $at, 0x42b4 +/* A60A9C 802400CC 4481A000 */ mtc1 $at, $f20 +.L802400D0: +/* A60AA0 802400D0 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A60AA4 802400D4 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A60AA8 802400D8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A60AAC 802400DC 8E220000 */ lw $v0, ($s1) +/* A60AB0 802400E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A60AB4 802400E4 8C460028 */ lw $a2, 0x28($v0) +/* A60AB8 802400E8 0C00A720 */ jal atan2 +/* A60ABC 802400EC 8C470030 */ lw $a3, 0x30($v0) +/* A60AC0 802400F0 4600A306 */ mov.s $f12, $f20 +/* A60AC4 802400F4 0C00A70A */ jal get_clamped_angle_diff +/* A60AC8 802400F8 46000386 */ mov.s $f14, $f0 +/* A60ACC 802400FC 46000005 */ abs.s $f0, $f0 +/* A60AD0 80240100 3C018024 */ lui $at, 0x8024 +/* A60AD4 80240104 D42234A8 */ ldc1 $f2, 0x34a8($at) +/* A60AD8 80240108 46000021 */ cvt.d.s $f0, $f0 +/* A60ADC 8024010C 4620103C */ c.lt.d $f2, $f0 +/* A60AE0 80240110 00000000 */ nop +/* A60AE4 80240114 4501002E */ bc1t .L802401D0 +/* A60AE8 80240118 2402FFFF */ addiu $v0, $zero, -1 +/* A60AEC 8024011C 8E220000 */ lw $v0, ($s1) +/* A60AF0 80240120 C600003C */ lwc1 $f0, 0x3c($s0) +/* A60AF4 80240124 C442002C */ lwc1 $f2, 0x2c($v0) +/* A60AF8 80240128 860200A8 */ lh $v0, 0xa8($s0) +/* A60AFC 8024012C 46020001 */ sub.s $f0, $f0, $f2 +/* A60B00 80240130 44821000 */ mtc1 $v0, $f2 +/* A60B04 80240134 00000000 */ nop +/* A60B08 80240138 468010A1 */ cvt.d.w $f2, $f2 +/* A60B0C 8024013C 46221080 */ add.d $f2, $f2, $f2 +/* A60B10 80240140 46000005 */ abs.s $f0, $f0 +/* A60B14 80240144 46000021 */ cvt.d.s $f0, $f0 +/* A60B18 80240148 4620103E */ c.le.d $f2, $f0 +/* A60B1C 8024014C 00000000 */ nop +/* A60B20 80240150 4501001F */ bc1t .L802401D0 +/* A60B24 80240154 2402FFFF */ addiu $v0, $zero, -1 +/* A60B28 80240158 3C038011 */ lui $v1, 0x8011 +/* A60B2C 8024015C 8063EBB3 */ lb $v1, -0x144d($v1) +/* A60B30 80240160 24020009 */ addiu $v0, $zero, 9 +/* A60B34 80240164 10620019 */ beq $v1, $v0, .L802401CC +/* A60B38 80240168 24020007 */ addiu $v0, $zero, 7 +/* A60B3C 8024016C 14620005 */ bne $v1, $v0, .L80240184 +/* A60B40 80240170 2402FFFF */ addiu $v0, $zero, -1 +/* A60B44 80240174 08090074 */ j .L802401D0 +/* A60B48 80240178 00000000 */ nop +.L8024017C: +/* A60B4C 8024017C 08090074 */ j .L802401D0 +/* A60B50 80240180 0240102D */ daddu $v0, $s2, $zero +.L80240184: +/* A60B54 80240184 8E620078 */ lw $v0, 0x78($s3) +/* A60B58 80240188 18400010 */ blez $v0, .L802401CC +/* A60B5C 8024018C 0000882D */ daddu $s1, $zero, $zero +.L80240190: +/* A60B60 80240190 86620008 */ lh $v0, 8($s3) +/* A60B64 80240194 00511021 */ addu $v0, $v0, $s1 +/* A60B68 80240198 24520001 */ addiu $s2, $v0, 1 +/* A60B6C 8024019C 0C00FB3A */ jal get_enemy +/* A60B70 802401A0 0240202D */ daddu $a0, $s2, $zero +/* A60B74 802401A4 0240202D */ daddu $a0, $s2, $zero +/* A60B78 802401A8 0C00EABB */ jal get_npc_unsafe +/* A60B7C 802401AC 0040802D */ daddu $s0, $v0, $zero +/* A60B80 802401B0 8E02006C */ lw $v0, 0x6c($s0) +/* A60B84 802401B4 1040FFF1 */ beqz $v0, .L8024017C +/* A60B88 802401B8 26310001 */ addiu $s1, $s1, 1 +/* A60B8C 802401BC 8E620078 */ lw $v0, 0x78($s3) +/* A60B90 802401C0 0222102A */ slt $v0, $s1, $v0 +/* A60B94 802401C4 1440FFF2 */ bnez $v0, .L80240190 +/* A60B98 802401C8 00000000 */ nop +.L802401CC: +/* A60B9C 802401CC 2402FFFF */ addiu $v0, $zero, -1 +.L802401D0: +/* A60BA0 802401D0 8FBF0020 */ lw $ra, 0x20($sp) +/* A60BA4 802401D4 8FB3001C */ lw $s3, 0x1c($sp) +/* A60BA8 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* A60BAC 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* A60BB0 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* A60BB4 802401E4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A60BB8 802401E8 03E00008 */ jr $ra +/* A60BBC 802401EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_802401F0_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_802401F0_A609D0.s new file mode 100644 index 0000000000..9e901faef9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_802401F0_A609D0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401F0_A60BC0 +/* A60BC0 802401F0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A60BC4 802401F4 AFB20038 */ sw $s2, 0x38($sp) +/* A60BC8 802401F8 0080902D */ daddu $s2, $a0, $zero +/* A60BCC 802401FC AFB00030 */ sw $s0, 0x30($sp) +/* A60BD0 80240200 AFBF003C */ sw $ra, 0x3c($sp) +/* A60BD4 80240204 AFB10034 */ sw $s1, 0x34($sp) +/* A60BD8 80240208 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A60BDC 8024020C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A60BE0 80240210 8E510148 */ lw $s1, 0x148($s2) +/* A60BE4 80240214 4485A000 */ mtc1 $a1, $f20 +/* A60BE8 80240218 86240008 */ lh $a0, 8($s1) +/* A60BEC 8024021C 4486B000 */ mtc1 $a2, $f22 +/* A60BF0 80240220 0C00EABB */ jal get_npc_unsafe +/* A60BF4 80240224 00E0802D */ daddu $s0, $a3, $zero +/* A60BF8 80240228 0200202D */ daddu $a0, $s0, $zero +/* A60BFC 8024022C 0220282D */ daddu $a1, $s1, $zero +/* A60C00 80240230 24030001 */ addiu $v1, $zero, 1 +/* A60C04 80240234 4406A000 */ mfc1 $a2, $f20 +/* A60C08 80240238 4407B000 */ mfc1 $a3, $f22 +/* A60C0C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* A60C10 80240240 0C01242D */ jal func_800490B4 +/* A60C14 80240244 AFA30010 */ sw $v1, 0x10($sp) +/* A60C18 80240248 1440001D */ bnez $v0, .L802402C0 +/* A60C1C 8024024C 24040002 */ addiu $a0, $zero, 2 +/* A60C20 80240250 0200282D */ daddu $a1, $s0, $zero +/* A60C24 80240254 0000302D */ daddu $a2, $zero, $zero +/* A60C28 80240258 860300A8 */ lh $v1, 0xa8($s0) +/* A60C2C 8024025C 3C013F80 */ lui $at, 0x3f80 +/* A60C30 80240260 44810000 */ mtc1 $at, $f0 +/* A60C34 80240264 3C014000 */ lui $at, 0x4000 +/* A60C38 80240268 44811000 */ mtc1 $at, $f2 +/* A60C3C 8024026C 3C01C1A0 */ lui $at, 0xc1a0 +/* A60C40 80240270 44812000 */ mtc1 $at, $f4 +/* A60C44 80240274 2402000F */ addiu $v0, $zero, 0xf +/* A60C48 80240278 AFA2001C */ sw $v0, 0x1c($sp) +/* A60C4C 8024027C 44833000 */ mtc1 $v1, $f6 +/* A60C50 80240280 00000000 */ nop +/* A60C54 80240284 468031A0 */ cvt.s.w $f6, $f6 +/* A60C58 80240288 44073000 */ mfc1 $a3, $f6 +/* A60C5C 8024028C 27A20028 */ addiu $v0, $sp, 0x28 +/* A60C60 80240290 AFA20020 */ sw $v0, 0x20($sp) +/* A60C64 80240294 E7A00010 */ swc1 $f0, 0x10($sp) +/* A60C68 80240298 E7A20014 */ swc1 $f2, 0x14($sp) +/* A60C6C 8024029C 0C01BFA4 */ jal fx_emote +/* A60C70 802402A0 E7A40018 */ swc1 $f4, 0x18($sp) +/* A60C74 802402A4 8E2200CC */ lw $v0, 0xcc($s1) +/* A60C78 802402A8 8C430000 */ lw $v1, ($v0) +/* A60C7C 802402AC 24020014 */ addiu $v0, $zero, 0x14 +/* A60C80 802402B0 A602008E */ sh $v0, 0x8e($s0) +/* A60C84 802402B4 24020021 */ addiu $v0, $zero, 0x21 +/* A60C88 802402B8 080900C4 */ j .L80240310 +/* A60C8C 802402BC AE030028 */ sw $v1, 0x28($s0) +.L802402C0: +/* A60C90 802402C0 0C090000 */ jal func_80240000 +/* A60C94 802402C4 0240202D */ daddu $a0, $s2, $zero +/* A60C98 802402C8 0040202D */ daddu $a0, $v0, $zero +/* A60C9C 802402CC 2402FFFF */ addiu $v0, $zero, -1 +/* A60CA0 802402D0 10820010 */ beq $a0, $v0, .L80240314 +/* A60CA4 802402D4 00000000 */ nop +/* A60CA8 802402D8 0C00FB3A */ jal get_enemy +/* A60CAC 802402DC 00000000 */ nop +/* A60CB0 802402E0 8C42006C */ lw $v0, 0x6c($v0) +/* A60CB4 802402E4 1440000B */ bnez $v0, .L80240314 +/* A60CB8 802402E8 00000000 */ nop +/* A60CBC 802402EC 8602008C */ lh $v0, 0x8c($s0) +/* A60CC0 802402F0 14400008 */ bnez $v0, .L80240314 +/* A60CC4 802402F4 00000000 */ nop +/* A60CC8 802402F8 8E2200CC */ lw $v0, 0xcc($s1) +/* A60CCC 802402FC 8C420020 */ lw $v0, 0x20($v0) +/* A60CD0 80240300 AE020028 */ sw $v0, 0x28($s0) +/* A60CD4 80240304 96220072 */ lhu $v0, 0x72($s1) +/* A60CD8 80240308 A602008E */ sh $v0, 0x8e($s0) +/* A60CDC 8024030C 2402001E */ addiu $v0, $zero, 0x1e +.L80240310: +/* A60CE0 80240310 AE420070 */ sw $v0, 0x70($s2) +.L80240314: +/* A60CE4 80240314 8FBF003C */ lw $ra, 0x3c($sp) +/* A60CE8 80240318 8FB20038 */ lw $s2, 0x38($sp) +/* A60CEC 8024031C 8FB10034 */ lw $s1, 0x34($sp) +/* A60CF0 80240320 8FB00030 */ lw $s0, 0x30($sp) +/* A60CF4 80240324 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A60CF8 80240328 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A60CFC 8024032C 03E00008 */ jr $ra +/* A60D00 80240330 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240334.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240334.s new file mode 100644 index 0000000000..fbfa817fe4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240334.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240334 +/* A60D04 80240334 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A60D08 80240338 AFB20038 */ sw $s2, 0x38($sp) +/* A60D0C 8024033C 0080902D */ daddu $s2, $a0, $zero +/* A60D10 80240340 AFBF003C */ sw $ra, 0x3c($sp) +/* A60D14 80240344 AFB10034 */ sw $s1, 0x34($sp) +/* A60D18 80240348 AFB00030 */ sw $s0, 0x30($sp) +/* A60D1C 8024034C 8E510148 */ lw $s1, 0x148($s2) +/* A60D20 80240350 0C00EABB */ jal get_npc_unsafe +/* A60D24 80240354 86240008 */ lh $a0, 8($s1) +/* A60D28 80240358 0040802D */ daddu $s0, $v0, $zero +/* A60D2C 8024035C 9602008E */ lhu $v0, 0x8e($s0) +/* A60D30 80240360 2442FFFF */ addiu $v0, $v0, -1 +/* A60D34 80240364 A602008E */ sh $v0, 0x8e($s0) +/* A60D38 80240368 00021400 */ sll $v0, $v0, 0x10 +/* A60D3C 8024036C 1C40002B */ bgtz $v0, .L8024041C +/* A60D40 80240370 00000000 */ nop +/* A60D44 80240374 0C090000 */ jal func_80240000 +/* A60D48 80240378 0240202D */ daddu $a0, $s2, $zero +/* A60D4C 8024037C 0040202D */ daddu $a0, $v0, $zero +/* A60D50 80240380 0481001A */ bgez $a0, .L802403EC +/* A60D54 80240384 2402000F */ addiu $v0, $zero, 0xf +/* A60D58 80240388 24040002 */ addiu $a0, $zero, 2 +/* A60D5C 8024038C 860300A8 */ lh $v1, 0xa8($s0) +/* A60D60 80240390 AFA2001C */ sw $v0, 0x1c($sp) +/* A60D64 80240394 27A20028 */ addiu $v0, $sp, 0x28 +/* A60D68 80240398 0200282D */ daddu $a1, $s0, $zero +/* A60D6C 8024039C 3C013F80 */ lui $at, 0x3f80 +/* A60D70 802403A0 44810000 */ mtc1 $at, $f0 +/* A60D74 802403A4 3C014000 */ lui $at, 0x4000 +/* A60D78 802403A8 44811000 */ mtc1 $at, $f2 +/* A60D7C 802403AC 3C01C1A0 */ lui $at, 0xc1a0 +/* A60D80 802403B0 44812000 */ mtc1 $at, $f4 +/* A60D84 802403B4 44833000 */ mtc1 $v1, $f6 +/* A60D88 802403B8 00000000 */ nop +/* A60D8C 802403BC 468031A0 */ cvt.s.w $f6, $f6 +/* A60D90 802403C0 44073000 */ mfc1 $a3, $f6 +/* A60D94 802403C4 0000302D */ daddu $a2, $zero, $zero +/* A60D98 802403C8 AFA20020 */ sw $v0, 0x20($sp) +/* A60D9C 802403CC E7A00010 */ swc1 $f0, 0x10($sp) +/* A60DA0 802403D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A60DA4 802403D4 0C01BFA4 */ jal fx_emote +/* A60DA8 802403D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A60DAC 802403DC 8E2200CC */ lw $v0, 0xcc($s1) +/* A60DB0 802403E0 8C420000 */ lw $v0, ($v0) +/* A60DB4 802403E4 08090103 */ j .L8024040C +/* A60DB8 802403E8 AE020028 */ sw $v0, 0x28($s0) +.L802403EC: +/* A60DBC 802403EC 8E2200CC */ lw $v0, 0xcc($s1) +/* A60DC0 802403F0 8C420024 */ lw $v0, 0x24($v0) +/* A60DC4 802403F4 0C00FB3A */ jal get_enemy +/* A60DC8 802403F8 AE020028 */ sw $v0, 0x28($s0) +/* A60DCC 802403FC 86240008 */ lh $a0, 8($s1) +/* A60DD0 80240400 24030001 */ addiu $v1, $zero, 1 +/* A60DD4 80240404 AC43006C */ sw $v1, 0x6c($v0) +/* A60DD8 80240408 AC44007C */ sw $a0, 0x7c($v0) +.L8024040C: +/* A60DDC 8024040C 96220076 */ lhu $v0, 0x76($s1) +/* A60DE0 80240410 A602008E */ sh $v0, 0x8e($s0) +/* A60DE4 80240414 24020021 */ addiu $v0, $zero, 0x21 +/* A60DE8 80240418 AE420070 */ sw $v0, 0x70($s2) +.L8024041C: +/* A60DEC 8024041C 8FBF003C */ lw $ra, 0x3c($sp) +/* A60DF0 80240420 8FB20038 */ lw $s2, 0x38($sp) +/* A60DF4 80240424 8FB10034 */ lw $s1, 0x34($sp) +/* A60DF8 80240428 8FB00030 */ lw $s0, 0x30($sp) +/* A60DFC 8024042C 03E00008 */ jr $ra +/* A60E00 80240430 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240434_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240434_A609D0.s new file mode 100644 index 0000000000..62108dbe19 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240434_A609D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_A60E04 +/* A60E04 80240434 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A60E08 80240438 AFB10014 */ sw $s1, 0x14($sp) +/* A60E0C 8024043C 0080882D */ daddu $s1, $a0, $zero +/* A60E10 80240440 AFBF0018 */ sw $ra, 0x18($sp) +/* A60E14 80240444 AFB00010 */ sw $s0, 0x10($sp) +/* A60E18 80240448 8E300148 */ lw $s0, 0x148($s1) +/* A60E1C 8024044C 0C00EABB */ jal get_npc_unsafe +/* A60E20 80240450 86040008 */ lh $a0, 8($s0) +/* A60E24 80240454 96030076 */ lhu $v1, 0x76($s0) +/* A60E28 80240458 A443008E */ sh $v1, 0x8e($v0) +/* A60E2C 8024045C 24020021 */ addiu $v0, $zero, 0x21 +/* A60E30 80240460 AE220070 */ sw $v0, 0x70($s1) +/* A60E34 80240464 8FBF0018 */ lw $ra, 0x18($sp) +/* A60E38 80240468 8FB10014 */ lw $s1, 0x14($sp) +/* A60E3C 8024046C 8FB00010 */ lw $s0, 0x10($sp) +/* A60E40 80240470 03E00008 */ jr $ra +/* A60E44 80240474 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240478_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240478_A609D0.s new file mode 100644 index 0000000000..ad429a18a3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240478_A609D0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240478_A60E48 +/* A60E48 80240478 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A60E4C 8024047C AFB3001C */ sw $s3, 0x1c($sp) +/* A60E50 80240480 0080982D */ daddu $s3, $a0, $zero +/* A60E54 80240484 AFBF0020 */ sw $ra, 0x20($sp) +/* A60E58 80240488 AFB20018 */ sw $s2, 0x18($sp) +/* A60E5C 8024048C AFB10014 */ sw $s1, 0x14($sp) +/* A60E60 80240490 AFB00010 */ sw $s0, 0x10($sp) +/* A60E64 80240494 8E720148 */ lw $s2, 0x148($s3) +/* A60E68 80240498 0C00EABB */ jal get_npc_unsafe +/* A60E6C 8024049C 86440008 */ lh $a0, 8($s2) +/* A60E70 802404A0 86440008 */ lh $a0, 8($s2) +/* A60E74 802404A4 0040882D */ daddu $s1, $v0, $zero +/* A60E78 802404A8 0C00FB3A */ jal get_enemy +/* A60E7C 802404AC 24840001 */ addiu $a0, $a0, 1 +/* A60E80 802404B0 0040802D */ daddu $s0, $v0, $zero +/* A60E84 802404B4 0C00EABB */ jal get_npc_unsafe +/* A60E88 802404B8 86040008 */ lh $a0, 8($s0) +/* A60E8C 802404BC C62C0038 */ lwc1 $f12, 0x38($s1) +/* A60E90 802404C0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A60E94 802404C4 8C460038 */ lw $a2, 0x38($v0) +/* A60E98 802404C8 0C00A720 */ jal atan2 +/* A60E9C 802404CC 8C470040 */ lw $a3, 0x40($v0) +/* A60EA0 802404D0 E620000C */ swc1 $f0, 0xc($s1) +/* A60EA4 802404D4 8E02006C */ lw $v0, 0x6c($s0) +/* A60EA8 802404D8 14400008 */ bnez $v0, .L802404FC +/* A60EAC 802404DC 00000000 */ nop +/* A60EB0 802404E0 8E4200CC */ lw $v0, 0xcc($s2) +/* A60EB4 802404E4 8C420000 */ lw $v0, ($v0) +/* A60EB8 802404E8 AE220028 */ sw $v0, 0x28($s1) +/* A60EBC 802404EC 96420076 */ lhu $v0, 0x76($s2) +/* A60EC0 802404F0 A622008E */ sh $v0, 0x8e($s1) +/* A60EC4 802404F4 24020021 */ addiu $v0, $zero, 0x21 +/* A60EC8 802404F8 AE620070 */ sw $v0, 0x70($s3) +.L802404FC: +/* A60ECC 802404FC 8FBF0020 */ lw $ra, 0x20($sp) +/* A60ED0 80240500 8FB3001C */ lw $s3, 0x1c($sp) +/* A60ED4 80240504 8FB20018 */ lw $s2, 0x18($sp) +/* A60ED8 80240508 8FB10014 */ lw $s1, 0x14($sp) +/* A60EDC 8024050C 8FB00010 */ lw $s0, 0x10($sp) +/* A60EE0 80240510 03E00008 */ jr $ra +/* A60EE4 80240514 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240518_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240518_A609D0.s new file mode 100644 index 0000000000..52d2dd2f11 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240518_A609D0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_A60EE8 +/* A60EE8 80240518 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A60EEC 8024051C AFB00010 */ sw $s0, 0x10($sp) +/* A60EF0 80240520 0080802D */ daddu $s0, $a0, $zero +/* A60EF4 80240524 AFBF0014 */ sw $ra, 0x14($sp) +/* A60EF8 80240528 8E020148 */ lw $v0, 0x148($s0) +/* A60EFC 8024052C 0C00EABB */ jal get_npc_unsafe +/* A60F00 80240530 84440008 */ lh $a0, 8($v0) +/* A60F04 80240534 9443008E */ lhu $v1, 0x8e($v0) +/* A60F08 80240538 2463FFFF */ addiu $v1, $v1, -1 +/* A60F0C 8024053C A443008E */ sh $v1, 0x8e($v0) +/* A60F10 80240540 00031C00 */ sll $v1, $v1, 0x10 +/* A60F14 80240544 58600001 */ blezl $v1, .L8024054C +/* A60F18 80240548 AE000070 */ sw $zero, 0x70($s0) +.L8024054C: +/* A60F1C 8024054C 8FBF0014 */ lw $ra, 0x14($sp) +/* A60F20 80240550 8FB00010 */ lw $s0, 0x10($sp) +/* A60F24 80240554 03E00008 */ jr $ra +/* A60F28 80240558 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_8024055C.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_8024055C.s new file mode 100644 index 0000000000..e342a3887e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_8024055C.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C +/* A60F2C 8024055C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A60F30 80240560 AFB7004C */ sw $s7, 0x4c($sp) +/* A60F34 80240564 0080B82D */ daddu $s7, $a0, $zero +/* A60F38 80240568 AFB10034 */ sw $s1, 0x34($sp) +/* A60F3C 8024056C 00A0882D */ daddu $s1, $a1, $zero +/* A60F40 80240570 AFBF0050 */ sw $ra, 0x50($sp) +/* A60F44 80240574 AFB60048 */ sw $s6, 0x48($sp) +/* A60F48 80240578 AFB50044 */ sw $s5, 0x44($sp) +/* A60F4C 8024057C AFB40040 */ sw $s4, 0x40($sp) +/* A60F50 80240580 AFB3003C */ sw $s3, 0x3c($sp) +/* A60F54 80240584 AFB20038 */ sw $s2, 0x38($sp) +/* A60F58 80240588 AFB00030 */ sw $s0, 0x30($sp) +/* A60F5C 8024058C 8EF30148 */ lw $s3, 0x148($s7) +/* A60F60 80240590 86640008 */ lh $a0, 8($s3) +/* A60F64 80240594 8EF0000C */ lw $s0, 0xc($s7) +/* A60F68 80240598 0C00FB5A */ jal get_enemy_safe +/* A60F6C 8024059C 0000B02D */ daddu $s6, $zero, $zero +/* A60F70 802405A0 10400131 */ beqz $v0, .L80240A68 +/* A60F74 802405A4 24020005 */ addiu $v0, $zero, 5 +/* A60F78 802405A8 8E63006C */ lw $v1, 0x6c($s3) +/* A60F7C 802405AC 1062012F */ beq $v1, $v0, .L80240A6C +/* A60F80 802405B0 0000102D */ daddu $v0, $zero, $zero +/* A60F84 802405B4 8E050000 */ lw $a1, ($s0) +/* A60F88 802405B8 0C0B1EAF */ jal get_variable +/* A60F8C 802405BC 02E0202D */ daddu $a0, $s7, $zero +/* A60F90 802405C0 86640008 */ lh $a0, 8($s3) +/* A60F94 802405C4 0C00EABB */ jal get_npc_unsafe +/* A60F98 802405C8 0040A82D */ daddu $s5, $v0, $zero +/* A60F9C 802405CC 8E630070 */ lw $v1, 0x70($s3) +/* A60FA0 802405D0 30630002 */ andi $v1, $v1, 2 +/* A60FA4 802405D4 10600008 */ beqz $v1, .L802405F8 +/* A60FA8 802405D8 0040902D */ daddu $s2, $v0, $zero +/* A60FAC 802405DC 964200A8 */ lhu $v0, 0xa8($s2) +/* A60FB0 802405E0 00021400 */ sll $v0, $v0, 0x10 +/* A60FB4 802405E4 00021C03 */ sra $v1, $v0, 0x10 +/* A60FB8 802405E8 000217C2 */ srl $v0, $v0, 0x1f +/* A60FBC 802405EC 00621821 */ addu $v1, $v1, $v0 +/* A60FC0 802405F0 00031843 */ sra $v1, $v1, 1 +/* A60FC4 802405F4 A24300AB */ sb $v1, 0xab($s2) +.L802405F8: +/* A60FC8 802405F8 16200005 */ bnez $s1, .L80240610 +/* A60FCC 802405FC 3C030004 */ lui $v1, 4 +/* A60FD0 80240600 8E6200B0 */ lw $v0, 0xb0($s3) +/* A60FD4 80240604 30420004 */ andi $v0, $v0, 4 +/* A60FD8 80240608 10400019 */ beqz $v0, .L80240670 +/* A60FDC 8024060C 00000000 */ nop +.L80240610: +/* A60FE0 80240610 34630102 */ ori $v1, $v1, 0x102 +/* A60FE4 80240614 AEE00070 */ sw $zero, 0x70($s7) +/* A60FE8 80240618 8E420000 */ lw $v0, ($s2) +/* A60FEC 8024061C 0240202D */ daddu $a0, $s2, $zero +/* A60FF0 80240620 A640008E */ sh $zero, 0x8e($s2) +/* A60FF4 80240624 00431025 */ or $v0, $v0, $v1 +/* A60FF8 80240628 0C00EAFF */ jal disable_npc_shadow +/* A60FFC 8024062C AE420000 */ sw $v0, ($s2) +/* A61000 80240630 3C041F30 */ lui $a0, 0x1f30 +/* A61004 80240634 8E420000 */ lw $v0, ($s2) +/* A61008 80240638 2403F7FF */ addiu $v1, $zero, -0x801 +/* A6100C 8024063C 00431024 */ and $v0, $v0, $v1 +/* A61010 80240640 AE420000 */ sw $v0, ($s2) +/* A61014 80240644 8E620000 */ lw $v0, ($s3) +/* A61018 80240648 8E6300B0 */ lw $v1, 0xb0($s3) +/* A6101C 8024064C 34840040 */ ori $a0, $a0, 0x40 +/* A61020 80240650 AE60006C */ sw $zero, 0x6c($s3) +/* A61024 80240654 00441025 */ or $v0, $v0, $a0 +/* A61028 80240658 AE620000 */ sw $v0, ($s3) +/* A6102C 8024065C 30620004 */ andi $v0, $v1, 4 +/* A61030 80240660 10400003 */ beqz $v0, .L80240670 +/* A61034 80240664 2402FFFB */ addiu $v0, $zero, -5 +/* A61038 80240668 00621024 */ and $v0, $v1, $v0 +/* A6103C 8024066C AE6200B0 */ sw $v0, 0xb0($s3) +.L80240670: +/* A61040 80240670 8EE30070 */ lw $v1, 0x70($s7) +/* A61044 80240674 24100001 */ addiu $s0, $zero, 1 +/* A61048 80240678 10700012 */ beq $v1, $s0, .L802406C4 +/* A6104C 8024067C 28620002 */ slti $v0, $v1, 2 +/* A61050 80240680 10400005 */ beqz $v0, .L80240698 +/* A61054 80240684 24020002 */ addiu $v0, $zero, 2 +/* A61058 80240688 10600007 */ beqz $v1, .L802406A8 +/* A6105C 8024068C 0000102D */ daddu $v0, $zero, $zero +/* A61060 80240690 0809029B */ j .L80240A6C +/* A61064 80240694 00000000 */ nop +.L80240698: +/* A61068 80240698 1062005B */ beq $v1, $v0, .L80240808 +/* A6106C 8024069C 0000102D */ daddu $v0, $zero, $zero +/* A61070 802406A0 0809029B */ j .L80240A6C +/* A61074 802406A4 00000000 */ nop +.L802406A8: +/* A61078 802406A8 8E420000 */ lw $v0, ($s2) +/* A6107C 802406AC 0240202D */ daddu $a0, $s2, $zero +/* A61080 802406B0 34420002 */ ori $v0, $v0, 2 +/* A61084 802406B4 0C00EAFF */ jal disable_npc_shadow +/* A61088 802406B8 AE420000 */ sw $v0, ($s2) +/* A6108C 802406BC AE60006C */ sw $zero, 0x6c($s3) +/* A61090 802406C0 AEF00070 */ sw $s0, 0x70($s7) +.L802406C4: +/* A61094 802406C4 8E74006C */ lw $s4, 0x6c($s3) +/* A61098 802406C8 24020001 */ addiu $v0, $zero, 1 +/* A6109C 802406CC 168200E7 */ bne $s4, $v0, .L80240A6C +/* A610A0 802406D0 0000102D */ daddu $v0, $zero, $zero +/* A610A4 802406D4 8E64007C */ lw $a0, 0x7c($s3) +/* A610A8 802406D8 24110002 */ addiu $s1, $zero, 2 +/* A610AC 802406DC 0C00EABB */ jal get_npc_unsafe +/* A610B0 802406E0 AE71006C */ sw $s1, 0x6c($s3) +/* A610B4 802406E4 0040802D */ daddu $s0, $v0, $zero +/* A610B8 802406E8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A610BC 802406EC E6400038 */ swc1 $f0, 0x38($s2) +/* A610C0 802406F0 C6000040 */ lwc1 $f0, 0x40($s0) +/* A610C4 802406F4 E6400040 */ swc1 $f0, 0x40($s2) +/* A610C8 802406F8 C6020034 */ lwc1 $f2, 0x34($s0) +/* A610CC 802406FC 3C014387 */ lui $at, 0x4387 +/* A610D0 80240700 44810000 */ mtc1 $at, $f0 +/* A610D4 80240704 26440038 */ addiu $a0, $s2, 0x38 +/* A610D8 80240708 46020001 */ sub.s $f0, $f0, $f2 +/* A610DC 8024070C C6680078 */ lwc1 $f8, 0x78($s3) +/* A610E0 80240710 46804220 */ cvt.s.w $f8, $f8 +/* A610E4 80240714 44064000 */ mfc1 $a2, $f8 +/* A610E8 80240718 44070000 */ mfc1 $a3, $f0 +/* A610EC 8024071C 0C00A7E7 */ jal add_vec2D_polar +/* A610F0 80240720 26450040 */ addiu $a1, $s2, 0x40 +/* A610F4 80240724 C600003C */ lwc1 $f0, 0x3c($s0) +/* A610F8 80240728 C6620074 */ lwc1 $f2, 0x74($s3) +/* A610FC 8024072C 468010A0 */ cvt.s.w $f2, $f2 +/* A61100 80240730 46020000 */ add.s $f0, $f0, $f2 +/* A61104 80240734 E640003C */ swc1 $f0, 0x3c($s2) +/* A61108 80240738 A2740007 */ sb $s4, 7($s3) +/* A6110C 8024073C C6400038 */ lwc1 $f0, 0x38($s2) +/* A61110 80240740 4600020D */ trunc.w.s $f8, $f0 +/* A61114 80240744 44024000 */ mfc1 $v0, $f8 +/* A61118 80240748 00000000 */ nop +/* A6111C 8024074C A6620010 */ sh $v0, 0x10($s3) +/* A61120 80240750 C640003C */ lwc1 $f0, 0x3c($s2) +/* A61124 80240754 4600020D */ trunc.w.s $f8, $f0 +/* A61128 80240758 44024000 */ mfc1 $v0, $f8 +/* A6112C 8024075C 00000000 */ nop +/* A61130 80240760 A6620012 */ sh $v0, 0x12($s3) +/* A61134 80240764 C6400040 */ lwc1 $f0, 0x40($s2) +/* A61138 80240768 4600020D */ trunc.w.s $f8, $f0 +/* A6113C 8024076C 44024000 */ mfc1 $v0, $f8 +/* A61140 80240770 00000000 */ nop +/* A61144 80240774 A6620014 */ sh $v0, 0x14($s3) +/* A61148 80240778 AE400044 */ sw $zero, 0x44($s2) +/* A6114C 8024077C AE400048 */ sw $zero, 0x48($s2) +/* A61150 80240780 AE40004C */ sw $zero, 0x4c($s2) +/* A61154 80240784 C6A00000 */ lwc1 $f0, ($s5) +/* A61158 80240788 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6115C 8024078C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A61160 80240790 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A61164 80240794 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A61168 80240798 E6400018 */ swc1 $f0, 0x18($s2) +/* A6116C 8024079C 8C460028 */ lw $a2, 0x28($v0) +/* A61170 802407A0 0C00A720 */ jal atan2 +/* A61174 802407A4 8C470030 */ lw $a3, 0x30($v0) +/* A61178 802407A8 E640000C */ swc1 $f0, 0xc($s2) +/* A6117C 802407AC C6A0000C */ lwc1 $f0, 0xc($s5) +/* A61180 802407B0 8E420000 */ lw $v0, ($s2) +/* A61184 802407B4 0240202D */ daddu $a0, $s2, $zero +/* A61188 802407B8 E640001C */ swc1 $f0, 0x1c($s2) +/* A6118C 802407BC C6A00010 */ lwc1 $f0, 0x10($s5) +/* A61190 802407C0 2403FFFD */ addiu $v1, $zero, -3 +/* A61194 802407C4 E6400014 */ swc1 $f0, 0x14($s2) +/* A61198 802407C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A6119C 802407CC 00431024 */ and $v0, $v0, $v1 +/* A611A0 802407D0 AE420000 */ sw $v0, ($s2) +/* A611A4 802407D4 0C00EAE8 */ jal enable_npc_shadow +/* A611A8 802407D8 E6400064 */ swc1 $f0, 0x64($s2) +/* A611AC 802407DC 8E420000 */ lw $v0, ($s2) +/* A611B0 802407E0 3C03E0FF */ lui $v1, 0xe0ff +/* A611B4 802407E4 34420800 */ ori $v0, $v0, 0x800 +/* A611B8 802407E8 AE420000 */ sw $v0, ($s2) +/* A611BC 802407EC 8E620000 */ lw $v0, ($s3) +/* A611C0 802407F0 3463FFFF */ ori $v1, $v1, 0xffff +/* A611C4 802407F4 00431024 */ and $v0, $v0, $v1 +/* A611C8 802407F8 AE620000 */ sw $v0, ($s3) +/* A611CC 802407FC 2402005A */ addiu $v0, $zero, 0x5a +/* A611D0 80240800 A642008E */ sh $v0, 0x8e($s2) +/* A611D4 80240804 AEF10070 */ sw $s1, 0x70($s7) +.L80240808: +/* A611D8 80240808 0000202D */ daddu $a0, $zero, $zero +/* A611DC 8024080C 27B00020 */ addiu $s0, $sp, 0x20 +/* A611E0 80240810 864200A8 */ lh $v0, 0xa8($s2) +/* A611E4 80240814 3C013FE0 */ lui $at, 0x3fe0 +/* A611E8 80240818 44810800 */ mtc1 $at, $f1 +/* A611EC 8024081C 44800000 */ mtc1 $zero, $f0 +/* A611F0 80240820 44821000 */ mtc1 $v0, $f2 +/* A611F4 80240824 00000000 */ nop +/* A611F8 80240828 468010A1 */ cvt.d.w $f2, $f2 +/* A611FC 8024082C 46201082 */ mul.d $f2, $f2, $f0 +/* A61200 80240830 00000000 */ nop +/* A61204 80240834 0200282D */ daddu $a1, $s0, $zero +/* A61208 80240838 C6440038 */ lwc1 $f4, 0x38($s2) +/* A6120C 8024083C C640003C */ lwc1 $f0, 0x3c($s2) +/* A61210 80240840 27B10024 */ addiu $s1, $sp, 0x24 +/* A61214 80240844 E7A40020 */ swc1 $f4, 0x20($sp) +/* A61218 80240848 C6440040 */ lwc1 $f4, 0x40($s2) +/* A6121C 8024084C 46000021 */ cvt.d.s $f0, $f0 +/* A61220 80240850 46220000 */ add.d $f0, $f0, $f2 +/* A61224 80240854 E7A40028 */ swc1 $f4, 0x28($sp) +/* A61228 80240858 C6420018 */ lwc1 $f2, 0x18($s2) +/* A6122C 8024085C 46200020 */ cvt.s.d $f0, $f0 +/* A61230 80240860 E7A00024 */ swc1 $f0, 0x24($sp) +/* A61234 80240864 E7A20010 */ swc1 $f2, 0x10($sp) +/* A61238 80240868 C640000C */ lwc1 $f0, 0xc($s2) +/* A6123C 8024086C 0220302D */ daddu $a2, $s1, $zero +/* A61240 80240870 E7A00014 */ swc1 $f0, 0x14($sp) +/* A61244 80240874 864200A6 */ lh $v0, 0xa6($s2) +/* A61248 80240878 27B40028 */ addiu $s4, $sp, 0x28 +/* A6124C 8024087C 44820000 */ mtc1 $v0, $f0 +/* A61250 80240880 00000000 */ nop +/* A61254 80240884 46800020 */ cvt.s.w $f0, $f0 +/* A61258 80240888 E7A00018 */ swc1 $f0, 0x18($sp) +/* A6125C 8024088C 864200A8 */ lh $v0, 0xa8($s2) +/* A61260 80240890 0280382D */ daddu $a3, $s4, $zero +/* A61264 80240894 44820000 */ mtc1 $v0, $f0 +/* A61268 80240898 00000000 */ nop +/* A6126C 8024089C 46800020 */ cvt.s.w $f0, $f0 +/* A61270 802408A0 0C0376B9 */ jal func_800DDAE4 +/* A61274 802408A4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A61278 802408A8 54400001 */ bnel $v0, $zero, .L802408B0 +/* A6127C 802408AC 24160001 */ addiu $s6, $zero, 1 +.L802408B0: +/* A61280 802408B0 0200282D */ daddu $a1, $s0, $zero +/* A61284 802408B4 0220302D */ daddu $a2, $s1, $zero +/* A61288 802408B8 C6400038 */ lwc1 $f0, 0x38($s2) +/* A6128C 802408BC C642003C */ lwc1 $f2, 0x3c($s2) +/* A61290 802408C0 C6440040 */ lwc1 $f4, 0x40($s2) +/* A61294 802408C4 3C01447A */ lui $at, 0x447a +/* A61298 802408C8 44813000 */ mtc1 $at, $f6 +/* A6129C 802408CC 27A2002C */ addiu $v0, $sp, 0x2c +/* A612A0 802408D0 E7A00020 */ swc1 $f0, 0x20($sp) +/* A612A4 802408D4 E7A20024 */ swc1 $f2, 0x24($sp) +/* A612A8 802408D8 E7A40028 */ swc1 $f4, 0x28($sp) +/* A612AC 802408DC E7A6002C */ swc1 $f6, 0x2c($sp) +/* A612B0 802408E0 AFA20010 */ sw $v0, 0x10($sp) +/* A612B4 802408E4 8E440080 */ lw $a0, 0x80($s2) +/* A612B8 802408E8 0C0372DF */ jal func_800DCB7C +/* A612BC 802408EC 0280382D */ daddu $a3, $s4, $zero +/* A612C0 802408F0 10400019 */ beqz $v0, .L80240958 +/* A612C4 802408F4 00000000 */ nop +/* A612C8 802408F8 C640001C */ lwc1 $f0, 0x1c($s2) +/* A612CC 802408FC C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A612D0 80240900 46000005 */ abs.s $f0, $f0 +/* A612D4 80240904 4600103C */ c.lt.s $f2, $f0 +/* A612D8 80240908 00000000 */ nop +/* A612DC 8024090C 45000012 */ bc1f .L80240958 +/* A612E0 80240910 00000000 */ nop +/* A612E4 80240914 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A612E8 80240918 C6400064 */ lwc1 $f0, 0x64($s2) +/* A612EC 8024091C 46002001 */ sub.s $f0, $f4, $f0 +/* A612F0 80240920 3C014034 */ lui $at, 0x4034 +/* A612F4 80240924 44811800 */ mtc1 $at, $f3 +/* A612F8 80240928 44801000 */ mtc1 $zero, $f2 +/* A612FC 8024092C 46000005 */ abs.s $f0, $f0 +/* A61300 80240930 46000021 */ cvt.d.s $f0, $f0 +/* A61304 80240934 4622003C */ c.lt.d $f0, $f2 +/* A61308 80240938 00000000 */ nop +/* A6130C 8024093C 45000006 */ bc1f .L80240958 +/* A61310 80240940 0240202D */ daddu $a0, $s2, $zero +/* A61314 80240944 8E450018 */ lw $a1, 0x18($s2) +/* A61318 80240948 8E46000C */ lw $a2, 0xc($s2) +/* A6131C 8024094C 2416000A */ addiu $s6, $zero, 0xa +/* A61320 80240950 0C00EA95 */ jal npc_move_heading +/* A61324 80240954 E644003C */ swc1 $f4, 0x3c($s2) +.L80240958: +/* A61328 80240958 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A6132C 8024095C 3C013FF0 */ lui $at, 0x3ff0 +/* A61330 80240960 44811800 */ mtc1 $at, $f3 +/* A61334 80240964 44801000 */ mtc1 $zero, $f2 +/* A61338 80240968 46000021 */ cvt.d.s $f0, $f0 +/* A6133C 8024096C 4622003C */ c.lt.d $f0, $f2 +/* A61340 80240970 00000000 */ nop +/* A61344 80240974 45030001 */ bc1tl .L8024097C +/* A61348 80240978 2416000B */ addiu $s6, $zero, 0xb +.L8024097C: +/* A6134C 8024097C 9642008E */ lhu $v0, 0x8e($s2) +/* A61350 80240980 2442FFFF */ addiu $v0, $v0, -1 +/* A61354 80240984 A642008E */ sh $v0, 0x8e($s2) +/* A61358 80240988 00021400 */ sll $v0, $v0, 0x10 +/* A6135C 8024098C 58400001 */ blezl $v0, .L80240994 +/* A61360 80240990 24160014 */ addiu $s6, $zero, 0x14 +.L80240994: +/* A61364 80240994 56C00019 */ bnel $s6, $zero, .L802409FC +/* A61368 80240998 AFA00010 */ sw $zero, 0x10($sp) +/* A6136C 8024099C 8E620070 */ lw $v0, 0x70($s3) +/* A61370 802409A0 30420001 */ andi $v0, $v0, 1 +/* A61374 802409A4 10400009 */ beqz $v0, .L802409CC +/* A61378 802409A8 00000000 */ nop +/* A6137C 802409AC C640004C */ lwc1 $f0, 0x4c($s2) +/* A61380 802409B0 3C014044 */ lui $at, 0x4044 +/* A61384 802409B4 44811800 */ mtc1 $at, $f3 +/* A61388 802409B8 44801000 */ mtc1 $zero, $f2 +/* A6138C 802409BC 46000021 */ cvt.d.s $f0, $f0 +/* A61390 802409C0 46220000 */ add.d $f0, $f0, $f2 +/* A61394 802409C4 46200020 */ cvt.s.d $f0, $f0 +/* A61398 802409C8 E640004C */ swc1 $f0, 0x4c($s2) +.L802409CC: +/* A6139C 802409CC 8E450018 */ lw $a1, 0x18($s2) +/* A613A0 802409D0 8E46000C */ lw $a2, 0xc($s2) +/* A613A4 802409D4 0C00EA95 */ jal npc_move_heading +/* A613A8 802409D8 0240202D */ daddu $a0, $s2, $zero +/* A613AC 802409DC C644003C */ lwc1 $f4, 0x3c($s2) +/* A613B0 802409E0 C640001C */ lwc1 $f0, 0x1c($s2) +/* A613B4 802409E4 46002100 */ add.s $f4, $f4, $f0 +/* A613B8 802409E8 C6420014 */ lwc1 $f2, 0x14($s2) +/* A613BC 802409EC 46020001 */ sub.s $f0, $f0, $f2 +/* A613C0 802409F0 E644003C */ swc1 $f4, 0x3c($s2) +/* A613C4 802409F4 0809029A */ j .L80240A68 +/* A613C8 802409F8 E640001C */ swc1 $f0, 0x1c($s2) +.L802409FC: +/* A613CC 802409FC AFA00014 */ sw $zero, 0x14($sp) +/* A613D0 80240A00 8E450038 */ lw $a1, 0x38($s2) +/* A613D4 80240A04 8E46003C */ lw $a2, 0x3c($s2) +/* A613D8 80240A08 8E470040 */ lw $a3, 0x40($s2) +/* A613DC 80240A0C 0C01BECC */ jal fx_walk_normal +/* A613E0 80240A10 24040002 */ addiu $a0, $zero, 2 +/* A613E4 80240A14 3C01C47A */ lui $at, 0xc47a +/* A613E8 80240A18 44810000 */ mtc1 $at, $f0 +/* A613EC 80240A1C AE60006C */ sw $zero, 0x6c($s3) +/* A613F0 80240A20 8E420000 */ lw $v0, ($s2) +/* A613F4 80240A24 0240202D */ daddu $a0, $s2, $zero +/* A613F8 80240A28 AE400038 */ sw $zero, 0x38($s2) +/* A613FC 80240A2C AE400040 */ sw $zero, 0x40($s2) +/* A61400 80240A30 AE40001C */ sw $zero, 0x1c($s2) +/* A61404 80240A34 34420002 */ ori $v0, $v0, 2 +/* A61408 80240A38 E640003C */ swc1 $f0, 0x3c($s2) +/* A6140C 80240A3C 0C00EAFF */ jal disable_npc_shadow +/* A61410 80240A40 AE420000 */ sw $v0, ($s2) +/* A61414 80240A44 8E420000 */ lw $v0, ($s2) +/* A61418 80240A48 2403F7FF */ addiu $v1, $zero, -0x801 +/* A6141C 80240A4C 00431024 */ and $v0, $v0, $v1 +/* A61420 80240A50 AE420000 */ sw $v0, ($s2) +/* A61424 80240A54 8E620000 */ lw $v0, ($s3) +/* A61428 80240A58 3C031F00 */ lui $v1, 0x1f00 +/* A6142C 80240A5C 00431025 */ or $v0, $v0, $v1 +/* A61430 80240A60 AE620000 */ sw $v0, ($s3) +/* A61434 80240A64 AEE00070 */ sw $zero, 0x70($s7) +.L80240A68: +/* A61438 80240A68 0000102D */ daddu $v0, $zero, $zero +.L80240A6C: +/* A6143C 80240A6C 8FBF0050 */ lw $ra, 0x50($sp) +/* A61440 80240A70 8FB7004C */ lw $s7, 0x4c($sp) +/* A61444 80240A74 8FB60048 */ lw $s6, 0x48($sp) +/* A61448 80240A78 8FB50044 */ lw $s5, 0x44($sp) +/* A6144C 80240A7C 8FB40040 */ lw $s4, 0x40($sp) +/* A61450 80240A80 8FB3003C */ lw $s3, 0x3c($sp) +/* A61454 80240A84 8FB20038 */ lw $s2, 0x38($sp) +/* A61458 80240A88 8FB10034 */ lw $s1, 0x34($sp) +/* A6145C 80240A8C 8FB00030 */ lw $s0, 0x30($sp) +/* A61460 80240A90 03E00008 */ jr $ra +/* A61464 80240A94 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240A98.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240A98.s new file mode 100644 index 0000000000..7cbe2b5a38 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240A98.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A98 +/* A61468 80240A98 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A6146C 80240A9C AFB3003C */ sw $s3, 0x3c($sp) +/* A61470 80240AA0 0080982D */ daddu $s3, $a0, $zero +/* A61474 80240AA4 AFB40040 */ sw $s4, 0x40($sp) +/* A61478 80240AA8 0000A02D */ daddu $s4, $zero, $zero +/* A6147C 80240AAC 3C03800A */ lui $v1, 0x800a +/* A61480 80240AB0 8463A634 */ lh $v1, -0x59cc($v1) +/* A61484 80240AB4 3C04800B */ lui $a0, %hi(gCameras) +/* A61488 80240AB8 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A6148C 80240ABC AFBF0044 */ sw $ra, 0x44($sp) +/* A61490 80240AC0 AFB20038 */ sw $s2, 0x38($sp) +/* A61494 80240AC4 AFB10034 */ sw $s1, 0x34($sp) +/* A61498 80240AC8 AFB00030 */ sw $s0, 0x30($sp) +/* A6149C 80240ACC F7B80058 */ sdc1 $f24, 0x58($sp) +/* A614A0 80240AD0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A614A4 80240AD4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A614A8 80240AD8 8E710148 */ lw $s1, 0x148($s3) +/* A614AC 80240ADC 00031080 */ sll $v0, $v1, 2 +/* A614B0 80240AE0 00431021 */ addu $v0, $v0, $v1 +/* A614B4 80240AE4 00021080 */ sll $v0, $v0, 2 +/* A614B8 80240AE8 00431023 */ subu $v0, $v0, $v1 +/* A614BC 80240AEC 000218C0 */ sll $v1, $v0, 3 +/* A614C0 80240AF0 00431021 */ addu $v0, $v0, $v1 +/* A614C4 80240AF4 000210C0 */ sll $v0, $v0, 3 +/* A614C8 80240AF8 10A00002 */ beqz $a1, .L80240B04 +/* A614CC 80240AFC 00449021 */ addu $s2, $v0, $a0 +/* A614D0 80240B00 AE600070 */ sw $zero, 0x70($s3) +.L80240B04: +/* A614D4 80240B04 0C00FB5A */ jal get_enemy_safe +/* A614D8 80240B08 86240008 */ lh $a0, 8($s1) +/* A614DC 80240B0C 14400006 */ bnez $v0, .L80240B28 +/* A614E0 80240B10 24020005 */ addiu $v0, $zero, 5 +/* A614E4 80240B14 0260202D */ daddu $a0, $s3, $zero +/* A614E8 80240B18 3C05FE36 */ lui $a1, 0xfe36 +/* A614EC 80240B1C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A614F0 80240B20 080903A2 */ j .L80240E88 +/* A614F4 80240B24 0000302D */ daddu $a2, $zero, $zero +.L80240B28: +/* A614F8 80240B28 8E23006C */ lw $v1, 0x6c($s1) +/* A614FC 80240B2C 14620005 */ bne $v1, $v0, .L80240B44 +/* A61500 80240B30 0260202D */ daddu $a0, $s3, $zero +/* A61504 80240B34 3C05FE36 */ lui $a1, 0xfe36 +/* A61508 80240B38 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A6150C 80240B3C 080903A2 */ j .L80240E88 +/* A61510 80240B40 0000302D */ daddu $a2, $zero, $zero +.L80240B44: +/* A61514 80240B44 86240008 */ lh $a0, 8($s1) +/* A61518 80240B48 0C00FB5A */ jal get_enemy_safe +/* A6151C 80240B4C 00000000 */ nop +/* A61520 80240B50 14400005 */ bnez $v0, .L80240B68 +/* A61524 80240B54 0260202D */ daddu $a0, $s3, $zero +/* A61528 80240B58 3C05FE36 */ lui $a1, 0xfe36 +/* A6152C 80240B5C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A61530 80240B60 080903A2 */ j .L80240E88 +/* A61534 80240B64 0000302D */ daddu $a2, $zero, $zero +.L80240B68: +/* A61538 80240B68 86240008 */ lh $a0, 8($s1) +/* A6153C 80240B6C 0C00EABB */ jal get_npc_unsafe +/* A61540 80240B70 00000000 */ nop +/* A61544 80240B74 8E630070 */ lw $v1, 0x70($s3) +/* A61548 80240B78 10600006 */ beqz $v1, .L80240B94 +/* A6154C 80240B7C 0040802D */ daddu $s0, $v0, $zero +/* A61550 80240B80 24020001 */ addiu $v0, $zero, 1 +/* A61554 80240B84 1062003F */ beq $v1, $v0, .L80240C84 +/* A61558 80240B88 0000102D */ daddu $v0, $zero, $zero +/* A6155C 80240B8C 080903B2 */ j .L80240EC8 +/* A61560 80240B90 00000000 */ nop +.L80240B94: +/* A61564 80240B94 AFA00010 */ sw $zero, 0x10($sp) +/* A61568 80240B98 AFA00014 */ sw $zero, 0x14($sp) +/* A6156C 80240B9C 8E050038 */ lw $a1, 0x38($s0) +/* A61570 80240BA0 8E06003C */ lw $a2, 0x3c($s0) +/* A61574 80240BA4 8E070040 */ lw $a3, 0x40($s0) +/* A61578 80240BA8 0C01BECC */ jal fx_walk_normal +/* A6157C 80240BAC 24040002 */ addiu $a0, $zero, 2 +/* A61580 80240BB0 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A61584 80240BB4 0C00A6C9 */ jal clamp_angle +/* A61588 80240BB8 00000000 */ nop +/* A6158C 80240BBC 3C018024 */ lui $at, 0x8024 +/* A61590 80240BC0 D43834B0 */ ldc1 $f24, 0x34b0($at) +/* A61594 80240BC4 46000521 */ cvt.d.s $f20, $f0 +/* A61598 80240BC8 4638A300 */ add.d $f12, $f20, $f24 +/* A6159C 80240BCC 3C018024 */ lui $at, 0x8024 +/* A615A0 80240BD0 D43634B8 */ ldc1 $f22, 0x34b8($at) +/* A615A4 80240BD4 0C00A6C9 */ jal clamp_angle +/* A615A8 80240BD8 46206320 */ cvt.s.d $f12, $f12 +/* A615AC 80240BDC 4636A500 */ add.d $f20, $f20, $f22 +/* A615B0 80240BE0 4620A320 */ cvt.s.d $f12, $f20 +/* A615B4 80240BE4 0C00A6C9 */ jal clamp_angle +/* A615B8 80240BE8 46000506 */ mov.s $f20, $f0 +/* A615BC 80240BEC 4600A521 */ cvt.d.s $f20, $f20 +/* A615C0 80240BF0 4636A500 */ add.d $f20, $f20, $f22 +/* A615C4 80240BF4 46000586 */ mov.s $f22, $f0 +/* A615C8 80240BF8 0C00A6C9 */ jal clamp_angle +/* A615CC 80240BFC 4620A320 */ cvt.s.d $f12, $f20 +/* A615D0 80240C00 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A615D4 80240C04 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A615D8 80240C08 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A615DC 80240C0C C44E0084 */ lwc1 $f14, 0x84($v0) +/* A615E0 80240C10 0C00A70A */ jal get_clamped_angle_diff +/* A615E4 80240C14 46000506 */ mov.s $f20, $f0 +/* A615E8 80240C18 0C00A6C9 */ jal clamp_angle +/* A615EC 80240C1C 46000306 */ mov.s $f12, $f0 +/* A615F0 80240C20 46000021 */ cvt.d.s $f0, $f0 +/* A615F4 80240C24 4638003C */ c.lt.d $f0, $f24 +/* A615F8 80240C28 00000000 */ nop +/* A615FC 80240C2C 45020002 */ bc1fl .L80240C38 +/* A61600 80240C30 E614000C */ swc1 $f20, 0xc($s0) +/* A61604 80240C34 E616000C */ swc1 $f22, 0xc($s0) +.L80240C38: +/* A61608 80240C38 C6000018 */ lwc1 $f0, 0x18($s0) +/* A6160C 80240C3C 3C018024 */ lui $at, 0x8024 +/* A61610 80240C40 D42234C0 */ ldc1 $f2, 0x34c0($at) +/* A61614 80240C44 46000021 */ cvt.d.s $f0, $f0 +/* A61618 80240C48 46220002 */ mul.d $f0, $f0, $f2 +/* A6161C 80240C4C 00000000 */ nop +/* A61620 80240C50 3C013F66 */ lui $at, 0x3f66 +/* A61624 80240C54 34216666 */ ori $at, $at, 0x6666 +/* A61628 80240C58 44812000 */ mtc1 $at, $f4 +/* A6162C 80240C5C 2402001E */ addiu $v0, $zero, 0x1e +/* A61630 80240C60 A602008E */ sh $v0, 0x8e($s0) +/* A61634 80240C64 3C014120 */ lui $at, 0x4120 +/* A61638 80240C68 44811000 */ mtc1 $at, $f2 +/* A6163C 80240C6C 24020001 */ addiu $v0, $zero, 1 +/* A61640 80240C70 E6040014 */ swc1 $f4, 0x14($s0) +/* A61644 80240C74 E602001C */ swc1 $f2, 0x1c($s0) +/* A61648 80240C78 46200020 */ cvt.s.d $f0, $f0 +/* A6164C 80240C7C E6000018 */ swc1 $f0, 0x18($s0) +/* A61650 80240C80 AE620070 */ sw $v0, 0x70($s3) +.L80240C84: +/* A61654 80240C84 C6000038 */ lwc1 $f0, 0x38($s0) +/* A61658 80240C88 C602003C */ lwc1 $f2, 0x3c($s0) +/* A6165C 80240C8C C6040040 */ lwc1 $f4, 0x40($s0) +/* A61660 80240C90 C6060018 */ lwc1 $f6, 0x18($s0) +/* A61664 80240C94 0000202D */ daddu $a0, $zero, $zero +/* A61668 80240C98 E7A00020 */ swc1 $f0, 0x20($sp) +/* A6166C 80240C9C E7A20024 */ swc1 $f2, 0x24($sp) +/* A61670 80240CA0 E7A40028 */ swc1 $f4, 0x28($sp) +/* A61674 80240CA4 E7A60010 */ swc1 $f6, 0x10($sp) +/* A61678 80240CA8 C600000C */ lwc1 $f0, 0xc($s0) +/* A6167C 80240CAC 27A50020 */ addiu $a1, $sp, 0x20 +/* A61680 80240CB0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A61684 80240CB4 860200A6 */ lh $v0, 0xa6($s0) +/* A61688 80240CB8 27A60024 */ addiu $a2, $sp, 0x24 +/* A6168C 80240CBC 44820000 */ mtc1 $v0, $f0 +/* A61690 80240CC0 00000000 */ nop +/* A61694 80240CC4 46800020 */ cvt.s.w $f0, $f0 +/* A61698 80240CC8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A6169C 80240CCC 860200A8 */ lh $v0, 0xa8($s0) +/* A616A0 80240CD0 27A70028 */ addiu $a3, $sp, 0x28 +/* A616A4 80240CD4 44820000 */ mtc1 $v0, $f0 +/* A616A8 80240CD8 00000000 */ nop +/* A616AC 80240CDC 46800020 */ cvt.s.w $f0, $f0 +/* A616B0 80240CE0 0C037711 */ jal func_800DDC44 +/* A616B4 80240CE4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A616B8 80240CE8 54400007 */ bnel $v0, $zero, .L80240D08 +/* A616BC 80240CEC 24140001 */ addiu $s4, $zero, 1 +/* A616C0 80240CF0 8E050018 */ lw $a1, 0x18($s0) +/* A616C4 80240CF4 8E06000C */ lw $a2, 0xc($s0) +/* A616C8 80240CF8 0C00EA95 */ jal npc_move_heading +/* A616CC 80240CFC 0200202D */ daddu $a0, $s0, $zero +/* A616D0 80240D00 08090343 */ j .L80240D0C +/* A616D4 80240D04 0000902D */ daddu $s2, $zero, $zero +.L80240D08: +/* A616D8 80240D08 0000902D */ daddu $s2, $zero, $zero +.L80240D0C: +/* A616DC 80240D0C C600001C */ lwc1 $f0, 0x1c($s0) +/* A616E0 80240D10 44801000 */ mtc1 $zero, $f2 +/* A616E4 80240D14 44801800 */ mtc1 $zero, $f3 +/* A616E8 80240D18 46000021 */ cvt.d.s $f0, $f0 +/* A616EC 80240D1C 4622003C */ c.lt.d $f0, $f2 +/* A616F0 80240D20 00000000 */ nop +/* A616F4 80240D24 45000028 */ bc1f .L80240DC8 +/* A616F8 80240D28 27A50020 */ addiu $a1, $sp, 0x20 +/* A616FC 80240D2C 27A60024 */ addiu $a2, $sp, 0x24 +/* A61700 80240D30 27A2002C */ addiu $v0, $sp, 0x2c +/* A61704 80240D34 C602003C */ lwc1 $f2, 0x3c($s0) +/* A61708 80240D38 C6060038 */ lwc1 $f6, 0x38($s0) +/* A6170C 80240D3C 3C01402A */ lui $at, 0x402a +/* A61710 80240D40 4481A800 */ mtc1 $at, $f21 +/* A61714 80240D44 4480A000 */ mtc1 $zero, $f20 +/* A61718 80240D48 460010A1 */ cvt.d.s $f2, $f2 +/* A6171C 80240D4C 46341080 */ add.d $f2, $f2, $f20 +/* A61720 80240D50 C600001C */ lwc1 $f0, 0x1c($s0) +/* A61724 80240D54 C6040040 */ lwc1 $f4, 0x40($s0) +/* A61728 80240D58 46000005 */ abs.s $f0, $f0 +/* A6172C 80240D5C E7A40028 */ swc1 $f4, 0x28($sp) +/* A61730 80240D60 3C014030 */ lui $at, 0x4030 +/* A61734 80240D64 44812800 */ mtc1 $at, $f5 +/* A61738 80240D68 44802000 */ mtc1 $zero, $f4 +/* A6173C 80240D6C 46000021 */ cvt.d.s $f0, $f0 +/* A61740 80240D70 E7A60020 */ swc1 $f6, 0x20($sp) +/* A61744 80240D74 46240000 */ add.d $f0, $f0, $f4 +/* A61748 80240D78 462010A0 */ cvt.s.d $f2, $f2 +/* A6174C 80240D7C E7A20024 */ swc1 $f2, 0x24($sp) +/* A61750 80240D80 46200020 */ cvt.s.d $f0, $f0 +/* A61754 80240D84 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A61758 80240D88 AFA20010 */ sw $v0, 0x10($sp) +/* A6175C 80240D8C 8E040080 */ lw $a0, 0x80($s0) +/* A61760 80240D90 0C0372DF */ jal func_800DCB7C +/* A61764 80240D94 27A70028 */ addiu $a3, $sp, 0x28 +/* A61768 80240D98 1040000B */ beqz $v0, .L80240DC8 +/* A6176C 80240D9C 00000000 */ nop +/* A61770 80240DA0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A61774 80240DA4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A61778 80240DA8 46000005 */ abs.s $f0, $f0 +/* A6177C 80240DAC 46000021 */ cvt.d.s $f0, $f0 +/* A61780 80240DB0 46340000 */ add.d $f0, $f0, $f20 +/* A61784 80240DB4 460010A1 */ cvt.d.s $f2, $f2 +/* A61788 80240DB8 4620103E */ c.le.d $f2, $f0 +/* A6178C 80240DBC 00000000 */ nop +/* A61790 80240DC0 45030001 */ bc1tl .L80240DC8 +/* A61794 80240DC4 24120001 */ addiu $s2, $zero, 1 +.L80240DC8: +/* A61798 80240DC8 56400008 */ bnel $s2, $zero, .L80240DEC +/* A6179C 80240DCC 2414000A */ addiu $s4, $zero, 0xa +/* A617A0 80240DD0 C604003C */ lwc1 $f4, 0x3c($s0) +/* A617A4 80240DD4 C600001C */ lwc1 $f0, 0x1c($s0) +/* A617A8 80240DD8 46002100 */ add.s $f4, $f4, $f0 +/* A617AC 80240DDC C6020014 */ lwc1 $f2, 0x14($s0) +/* A617B0 80240DE0 46020001 */ sub.s $f0, $f0, $f2 +/* A617B4 80240DE4 E604003C */ swc1 $f4, 0x3c($s0) +/* A617B8 80240DE8 E600001C */ swc1 $f0, 0x1c($s0) +.L80240DEC: +/* A617BC 80240DEC 9602008E */ lhu $v0, 0x8e($s0) +/* A617C0 80240DF0 2442FFFF */ addiu $v0, $v0, -1 +/* A617C4 80240DF4 A602008E */ sh $v0, 0x8e($s0) +/* A617C8 80240DF8 00021400 */ sll $v0, $v0, 0x10 +/* A617CC 80240DFC 58400001 */ blezl $v0, .L80240E04 +/* A617D0 80240E00 2414000B */ addiu $s4, $zero, 0xb +.L80240E04: +/* A617D4 80240E04 12800024 */ beqz $s4, .L80240E98 +/* A617D8 80240E08 00000000 */ nop +/* A617DC 80240E0C AFA00010 */ sw $zero, 0x10($sp) +/* A617E0 80240E10 AFA00014 */ sw $zero, 0x14($sp) +/* A617E4 80240E14 8E050038 */ lw $a1, 0x38($s0) +/* A617E8 80240E18 8E06003C */ lw $a2, 0x3c($s0) +/* A617EC 80240E1C 8E070040 */ lw $a3, 0x40($s0) +/* A617F0 80240E20 0C01BECC */ jal fx_walk_normal +/* A617F4 80240E24 24040002 */ addiu $a0, $zero, 2 +/* A617F8 80240E28 3C01C47A */ lui $at, 0xc47a +/* A617FC 80240E2C 44810000 */ mtc1 $at, $f0 +/* A61800 80240E30 AE20006C */ sw $zero, 0x6c($s1) +/* A61804 80240E34 8E020000 */ lw $v0, ($s0) +/* A61808 80240E38 0200202D */ daddu $a0, $s0, $zero +/* A6180C 80240E3C AE000038 */ sw $zero, 0x38($s0) +/* A61810 80240E40 AE000040 */ sw $zero, 0x40($s0) +/* A61814 80240E44 34420002 */ ori $v0, $v0, 2 +/* A61818 80240E48 E600003C */ swc1 $f0, 0x3c($s0) +/* A6181C 80240E4C 0C00EAFF */ jal disable_npc_shadow +/* A61820 80240E50 AE020000 */ sw $v0, ($s0) +/* A61824 80240E54 0260202D */ daddu $a0, $s3, $zero +/* A61828 80240E58 3C05FE36 */ lui $a1, 0xfe36 +/* A6182C 80240E5C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A61830 80240E60 24060001 */ addiu $a2, $zero, 1 +/* A61834 80240E64 8E020000 */ lw $v0, ($s0) +/* A61838 80240E68 2403F7FF */ addiu $v1, $zero, -0x801 +/* A6183C 80240E6C 00431024 */ and $v0, $v0, $v1 +/* A61840 80240E70 AE020000 */ sw $v0, ($s0) +/* A61844 80240E74 8E220000 */ lw $v0, ($s1) +/* A61848 80240E78 3C031F00 */ lui $v1, 0x1f00 +/* A6184C 80240E7C 00431025 */ or $v0, $v0, $v1 +/* A61850 80240E80 AE220000 */ sw $v0, ($s1) +/* A61854 80240E84 AC800070 */ sw $zero, 0x70($a0) +.L80240E88: +/* A61858 80240E88 0C0B2026 */ jal set_variable +/* A6185C 80240E8C 00000000 */ nop +/* A61860 80240E90 080903B2 */ j .L80240EC8 +/* A61864 80240E94 24020002 */ addiu $v0, $zero, 2 +.L80240E98: +/* A61868 80240E98 8E220070 */ lw $v0, 0x70($s1) +/* A6186C 80240E9C 30420001 */ andi $v0, $v0, 1 +/* A61870 80240EA0 10400009 */ beqz $v0, .L80240EC8 +/* A61874 80240EA4 0000102D */ daddu $v0, $zero, $zero +/* A61878 80240EA8 C600004C */ lwc1 $f0, 0x4c($s0) +/* A6187C 80240EAC 3C01404E */ lui $at, 0x404e +/* A61880 80240EB0 44811800 */ mtc1 $at, $f3 +/* A61884 80240EB4 44801000 */ mtc1 $zero, $f2 +/* A61888 80240EB8 46000021 */ cvt.d.s $f0, $f0 +/* A6188C 80240EBC 46220000 */ add.d $f0, $f0, $f2 +/* A61890 80240EC0 46200020 */ cvt.s.d $f0, $f0 +/* A61894 80240EC4 E600004C */ swc1 $f0, 0x4c($s0) +.L80240EC8: +/* A61898 80240EC8 8FBF0044 */ lw $ra, 0x44($sp) +/* A6189C 80240ECC 8FB40040 */ lw $s4, 0x40($sp) +/* A618A0 80240ED0 8FB3003C */ lw $s3, 0x3c($sp) +/* A618A4 80240ED4 8FB20038 */ lw $s2, 0x38($sp) +/* A618A8 80240ED8 8FB10034 */ lw $s1, 0x34($sp) +/* A618AC 80240EDC 8FB00030 */ lw $s0, 0x30($sp) +/* A618B0 80240EE0 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A618B4 80240EE4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A618B8 80240EE8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A618BC 80240EEC 03E00008 */ jr $ra +/* A618C0 80240EF0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80240EF4_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240EF4_A609D0.s new file mode 100644 index 0000000000..2b25b43c50 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80240EF4_A609D0.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF4_A618C4 +/* A618C4 80240EF4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A618C8 80240EF8 AFB3003C */ sw $s3, 0x3c($sp) +/* A618CC 80240EFC 0080982D */ daddu $s3, $a0, $zero +/* A618D0 80240F00 AFBF0048 */ sw $ra, 0x48($sp) +/* A618D4 80240F04 AFB50044 */ sw $s5, 0x44($sp) +/* A618D8 80240F08 AFB40040 */ sw $s4, 0x40($sp) +/* A618DC 80240F0C AFB20038 */ sw $s2, 0x38($sp) +/* A618E0 80240F10 AFB10034 */ sw $s1, 0x34($sp) +/* A618E4 80240F14 AFB00030 */ sw $s0, 0x30($sp) +/* A618E8 80240F18 8E720148 */ lw $s2, 0x148($s3) +/* A618EC 80240F1C 86440008 */ lh $a0, 8($s2) +/* A618F0 80240F20 8E70000C */ lw $s0, 0xc($s3) +/* A618F4 80240F24 0C00EABB */ jal get_npc_unsafe +/* A618F8 80240F28 00A0882D */ daddu $s1, $a1, $zero +/* A618FC 80240F2C 0260202D */ daddu $a0, $s3, $zero +/* A61900 80240F30 8E050000 */ lw $a1, ($s0) +/* A61904 80240F34 0C0B1EAF */ jal get_variable +/* A61908 80240F38 0040A02D */ daddu $s4, $v0, $zero +/* A6190C 80240F3C AFA00010 */ sw $zero, 0x10($sp) +/* A61910 80240F40 8E4300D0 */ lw $v1, 0xd0($s2) +/* A61914 80240F44 8C630030 */ lw $v1, 0x30($v1) +/* A61918 80240F48 AFA30014 */ sw $v1, 0x14($sp) +/* A6191C 80240F4C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A61920 80240F50 8C63001C */ lw $v1, 0x1c($v1) +/* A61924 80240F54 AFA30018 */ sw $v1, 0x18($sp) +/* A61928 80240F58 8E4300D0 */ lw $v1, 0xd0($s2) +/* A6192C 80240F5C 8C630024 */ lw $v1, 0x24($v1) +/* A61930 80240F60 AFA3001C */ sw $v1, 0x1c($sp) +/* A61934 80240F64 8E4300D0 */ lw $v1, 0xd0($s2) +/* A61938 80240F68 8C630028 */ lw $v1, 0x28($v1) +/* A6193C 80240F6C 27B50010 */ addiu $s5, $sp, 0x10 +/* A61940 80240F70 AFA30020 */ sw $v1, 0x20($sp) +/* A61944 80240F74 8E4300D0 */ lw $v1, 0xd0($s2) +/* A61948 80240F78 3C014220 */ lui $at, 0x4220 +/* A6194C 80240F7C 44810000 */ mtc1 $at, $f0 +/* A61950 80240F80 8C63002C */ lw $v1, 0x2c($v1) +/* A61954 80240F84 0040802D */ daddu $s0, $v0, $zero +/* A61958 80240F88 E7A00028 */ swc1 $f0, 0x28($sp) +/* A6195C 80240F8C A7A0002C */ sh $zero, 0x2c($sp) +/* A61960 80240F90 16200005 */ bnez $s1, .L80240FA8 +/* A61964 80240F94 AFA30024 */ sw $v1, 0x24($sp) +/* A61968 80240F98 8E4200B0 */ lw $v0, 0xb0($s2) +/* A6196C 80240F9C 30420004 */ andi $v0, $v0, 4 +/* A61970 80240FA0 1040002F */ beqz $v0, .L80241060 +/* A61974 80240FA4 00000000 */ nop +.L80240FA8: +/* A61978 80240FA8 2404F7FF */ addiu $a0, $zero, -0x801 +/* A6197C 80240FAC AE600070 */ sw $zero, 0x70($s3) +/* A61980 80240FB0 A680008E */ sh $zero, 0x8e($s4) +/* A61984 80240FB4 8E4200CC */ lw $v0, 0xcc($s2) +/* A61988 80240FB8 8E830000 */ lw $v1, ($s4) +/* A6198C 80240FBC 8C420000 */ lw $v0, ($v0) +/* A61990 80240FC0 00641824 */ and $v1, $v1, $a0 +/* A61994 80240FC4 AE830000 */ sw $v1, ($s4) +/* A61998 80240FC8 AE820028 */ sw $v0, 0x28($s4) +/* A6199C 80240FCC 8E4200D0 */ lw $v0, 0xd0($s2) +/* A619A0 80240FD0 8C420034 */ lw $v0, 0x34($v0) +/* A619A4 80240FD4 54400005 */ bnel $v0, $zero, .L80240FEC +/* A619A8 80240FD8 2402FDFF */ addiu $v0, $zero, -0x201 +/* A619AC 80240FDC 34620200 */ ori $v0, $v1, 0x200 +/* A619B0 80240FE0 2403FFF7 */ addiu $v1, $zero, -9 +/* A619B4 80240FE4 080903FD */ j .L80240FF4 +/* A619B8 80240FE8 00431024 */ and $v0, $v0, $v1 +.L80240FEC: +/* A619BC 80240FEC 00621024 */ and $v0, $v1, $v0 +/* A619C0 80240FF0 34420008 */ ori $v0, $v0, 8 +.L80240FF4: +/* A619C4 80240FF4 AE820000 */ sw $v0, ($s4) +/* A619C8 80240FF8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A619CC 80240FFC 30420004 */ andi $v0, $v0, 4 +/* A619D0 80241000 10400008 */ beqz $v0, .L80241024 +/* A619D4 80241004 24020063 */ addiu $v0, $zero, 0x63 +/* A619D8 80241008 AE620070 */ sw $v0, 0x70($s3) +/* A619DC 8024100C AE600074 */ sw $zero, 0x74($s3) +/* A619E0 80241010 8E4200B0 */ lw $v0, 0xb0($s2) +/* A619E4 80241014 2403FFFB */ addiu $v1, $zero, -5 +/* A619E8 80241018 00431024 */ and $v0, $v0, $v1 +/* A619EC 8024101C 0809040F */ j .L8024103C +/* A619F0 80241020 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241024: +/* A619F4 80241024 8E420000 */ lw $v0, ($s2) +/* A619F8 80241028 3C034000 */ lui $v1, 0x4000 +/* A619FC 8024102C 00431024 */ and $v0, $v0, $v1 +/* A61A00 80241030 10400002 */ beqz $v0, .L8024103C +/* A61A04 80241034 2402000C */ addiu $v0, $zero, 0xc +/* A61A08 80241038 AE620070 */ sw $v0, 0x70($s3) +.L8024103C: +/* A61A0C 8024103C 3C05BFFF */ lui $a1, 0xbfff +/* A61A10 80241040 34A5FFFF */ ori $a1, $a1, 0xffff +/* A61A14 80241044 2404FFFB */ addiu $a0, $zero, -5 +/* A61A18 80241048 8E4200B0 */ lw $v0, 0xb0($s2) +/* A61A1C 8024104C 8E430000 */ lw $v1, ($s2) +/* A61A20 80241050 00441024 */ and $v0, $v0, $a0 +/* A61A24 80241054 00651824 */ and $v1, $v1, $a1 +/* A61A28 80241058 AE4200B0 */ sw $v0, 0xb0($s2) +/* A61A2C 8024105C AE430000 */ sw $v1, ($s2) +.L80241060: +/* A61A30 80241060 8E630070 */ lw $v1, 0x70($s3) +/* A61A34 80241064 2C620064 */ sltiu $v0, $v1, 0x64 +/* A61A38 80241068 10400060 */ beqz $v0, .L802411EC +/* A61A3C 8024106C 00031080 */ sll $v0, $v1, 2 +/* A61A40 80241070 3C018024 */ lui $at, 0x8024 +/* A61A44 80241074 00220821 */ addu $at, $at, $v0 +/* A61A48 80241078 8C2234C8 */ lw $v0, 0x34c8($at) +/* A61A4C 8024107C 00400008 */ jr $v0 +/* A61A50 80241080 00000000 */ nop +/* A61A54 80241084 0260202D */ daddu $a0, $s3, $zero +/* A61A58 80241088 0200282D */ daddu $a1, $s0, $zero +/* A61A5C 8024108C 0C012568 */ jal func_800495A0 +/* A61A60 80241090 02A0302D */ daddu $a2, $s5, $zero +/* A61A64 80241094 0260202D */ daddu $a0, $s3, $zero +/* A61A68 80241098 0200282D */ daddu $a1, $s0, $zero +/* A61A6C 8024109C 0C0125AE */ jal func_800496B8 +/* A61A70 802410A0 02A0302D */ daddu $a2, $s5, $zero +/* A61A74 802410A4 0809047B */ j .L802411EC +/* A61A78 802410A8 00000000 */ nop +/* A61A7C 802410AC 0260202D */ daddu $a0, $s3, $zero +/* A61A80 802410B0 0200282D */ daddu $a1, $s0, $zero +/* A61A84 802410B4 0C0126D1 */ jal func_80049B44 +/* A61A88 802410B8 02A0302D */ daddu $a2, $s5, $zero +/* A61A8C 802410BC 0260202D */ daddu $a0, $s3, $zero +/* A61A90 802410C0 0200282D */ daddu $a1, $s0, $zero +/* A61A94 802410C4 0C012701 */ jal func_80049C04 +/* A61A98 802410C8 02A0302D */ daddu $a2, $s5, $zero +/* A61A9C 802410CC 0809047B */ j .L802411EC +/* A61AA0 802410D0 00000000 */ nop +/* A61AA4 802410D4 0260202D */ daddu $a0, $s3, $zero +/* A61AA8 802410D8 0200282D */ daddu $a1, $s0, $zero +/* A61AAC 802410DC 0C01278F */ jal func_80049E3C +/* A61AB0 802410E0 02A0302D */ daddu $a2, $s5, $zero +/* A61AB4 802410E4 0260202D */ daddu $a0, $s3, $zero +/* A61AB8 802410E8 0200282D */ daddu $a1, $s0, $zero +/* A61ABC 802410EC 0C0127B3 */ jal func_80049ECC +/* A61AC0 802410F0 02A0302D */ daddu $a2, $s5, $zero +/* A61AC4 802410F4 0809047B */ j .L802411EC +/* A61AC8 802410F8 00000000 */ nop +/* A61ACC 802410FC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A61AD0 80241100 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A61AD4 80241104 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A61AD8 80241108 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A61ADC 8024110C 8C460028 */ lw $a2, 0x28($v0) +/* A61AE0 80241110 0C00A7B5 */ jal dist2D +/* A61AE4 80241114 8C470030 */ lw $a3, 0x30($v0) +/* A61AE8 80241118 8E42006C */ lw $v0, 0x6c($s2) +/* A61AEC 8024111C 10400008 */ beqz $v0, .L80241140 +/* A61AF0 80241120 46000086 */ mov.s $f2, $f0 +/* A61AF4 80241124 44820000 */ mtc1 $v0, $f0 +/* A61AF8 80241128 00000000 */ nop +/* A61AFC 8024112C 46800020 */ cvt.s.w $f0, $f0 +/* A61B00 80241130 4602003C */ c.lt.s $f0, $f2 +/* A61B04 80241134 00000000 */ nop +/* A61B08 80241138 4500000B */ bc1f .L80241168 +/* A61B0C 8024113C 0260202D */ daddu $a0, $s3, $zero +.L80241140: +/* A61B10 80241140 0260202D */ daddu $a0, $s3, $zero +/* A61B14 80241144 8E050024 */ lw $a1, 0x24($s0) +/* A61B18 80241148 8E060028 */ lw $a2, 0x28($s0) +/* A61B1C 8024114C 0C09007C */ jal func_802401F0 +/* A61B20 80241150 02A0382D */ daddu $a3, $s5, $zero +/* A61B24 80241154 8E630070 */ lw $v1, 0x70($s3) +/* A61B28 80241158 2402000C */ addiu $v0, $zero, 0xc +/* A61B2C 8024115C 14620023 */ bne $v1, $v0, .L802411EC +/* A61B30 80241160 00000000 */ nop +/* A61B34 80241164 0260202D */ daddu $a0, $s3, $zero +.L80241168: +/* A61B38 80241168 0200282D */ daddu $a1, $s0, $zero +/* A61B3C 8024116C 0C0127DF */ jal func_80049F7C +/* A61B40 80241170 02A0302D */ daddu $a2, $s5, $zero +/* A61B44 80241174 0260202D */ daddu $a0, $s3, $zero +/* A61B48 80241178 0200282D */ daddu $a1, $s0, $zero +/* A61B4C 8024117C 0C012849 */ jal func_8004A124 +/* A61B50 80241180 02A0302D */ daddu $a2, $s5, $zero +/* A61B54 80241184 0809047B */ j .L802411EC +/* A61B58 80241188 00000000 */ nop +/* A61B5C 8024118C 0260202D */ daddu $a0, $s3, $zero +/* A61B60 80241190 0200282D */ daddu $a1, $s0, $zero +/* A61B64 80241194 0C0128FA */ jal func_8004A3E8 +/* A61B68 80241198 02A0302D */ daddu $a2, $s5, $zero +/* A61B6C 8024119C 0809047B */ j .L802411EC +/* A61B70 802411A0 00000000 */ nop +/* A61B74 802411A4 0C0900CD */ jal func_80240334 +/* A61B78 802411A8 0260202D */ daddu $a0, $s3, $zero +/* A61B7C 802411AC 0809047B */ j .L802411EC +/* A61B80 802411B0 00000000 */ nop +/* A61B84 802411B4 0C09010D */ jal func_80240434 +/* A61B88 802411B8 0260202D */ daddu $a0, $s3, $zero +/* A61B8C 802411BC 0809047B */ j .L802411EC +/* A61B90 802411C0 00000000 */ nop +/* A61B94 802411C4 0C09011E */ jal func_80240478 +/* A61B98 802411C8 0260202D */ daddu $a0, $s3, $zero +/* A61B9C 802411CC 0809047B */ j .L802411EC +/* A61BA0 802411D0 00000000 */ nop +/* A61BA4 802411D4 0C090146 */ jal func_80240518 +/* A61BA8 802411D8 0260202D */ daddu $a0, $s3, $zero +/* A61BAC 802411DC 0809047B */ j .L802411EC +/* A61BB0 802411E0 00000000 */ nop +/* A61BB4 802411E4 0C0129CF */ jal func_8004A73C +/* A61BB8 802411E8 0260202D */ daddu $a0, $s3, $zero +.L802411EC: +/* A61BBC 802411EC 8FBF0048 */ lw $ra, 0x48($sp) +/* A61BC0 802411F0 8FB50044 */ lw $s5, 0x44($sp) +/* A61BC4 802411F4 8FB40040 */ lw $s4, 0x40($sp) +/* A61BC8 802411F8 8FB3003C */ lw $s3, 0x3c($sp) +/* A61BCC 802411FC 8FB20038 */ lw $s2, 0x38($sp) +/* A61BD0 80241200 8FB10034 */ lw $s1, 0x34($sp) +/* A61BD4 80241204 8FB00030 */ lw $s0, 0x30($sp) +/* A61BD8 80241208 0000102D */ daddu $v0, $zero, $zero +/* A61BDC 8024120C 03E00008 */ jr $ra +/* A61BE0 80241210 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80241214.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80241214.s new file mode 100644 index 0000000000..7ace46aac7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80241214.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241214 +/* A61BE4 80241214 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A61BE8 80241218 3C05FE36 */ lui $a1, 0xfe36 +/* A61BEC 8024121C AFBF0010 */ sw $ra, 0x10($sp) +/* A61BF0 80241220 8C820148 */ lw $v0, 0x148($a0) +/* A61BF4 80241224 3C06800B */ lui $a2, 0x800b +/* A61BF8 80241228 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A61BFC 8024122C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A61C00 80241230 00C23026 */ xor $a2, $a2, $v0 +/* A61C04 80241234 0C0B2026 */ jal set_variable +/* A61C08 80241238 2CC60001 */ sltiu $a2, $a2, 1 +/* A61C0C 8024123C 8FBF0010 */ lw $ra, 0x10($sp) +/* A61C10 80241240 24020002 */ addiu $v0, $zero, 2 +/* A61C14 80241244 03E00008 */ jr $ra +/* A61C18 80241248 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_8024124C.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_8024124C.s new file mode 100644 index 0000000000..bb346f0a61 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_8024124C.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024124C +/* A61C1C 8024124C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A61C20 80241250 AFB20018 */ sw $s2, 0x18($sp) +/* A61C24 80241254 0080902D */ daddu $s2, $a0, $zero +/* A61C28 80241258 AFBF001C */ sw $ra, 0x1c($sp) +/* A61C2C 8024125C AFB10014 */ sw $s1, 0x14($sp) +/* A61C30 80241260 AFB00010 */ sw $s0, 0x10($sp) +/* A61C34 80241264 8E510148 */ lw $s1, 0x148($s2) +/* A61C38 80241268 0C00EABB */ jal get_npc_unsafe +/* A61C3C 8024126C 86240008 */ lh $a0, 8($s1) +/* A61C40 80241270 0040802D */ daddu $s0, $v0, $zero +/* A61C44 80241274 8E2300CC */ lw $v1, 0xcc($s1) +/* A61C48 80241278 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A61C4C 8024127C 8C630020 */ lw $v1, 0x20($v1) +/* A61C50 80241280 AE030028 */ sw $v1, 0x28($s0) +/* A61C54 80241284 96220076 */ lhu $v0, 0x76($s1) +/* A61C58 80241288 A602008E */ sh $v0, 0x8e($s0) +/* A61C5C 8024128C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A61C60 80241290 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A61C64 80241294 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A61C68 80241298 8C460028 */ lw $a2, 0x28($v0) +/* A61C6C 8024129C 0C00A720 */ jal atan2 +/* A61C70 802412A0 8C470030 */ lw $a3, 0x30($v0) +/* A61C74 802412A4 2402000D */ addiu $v0, $zero, 0xd +/* A61C78 802412A8 E600000C */ swc1 $f0, 0xc($s0) +/* A61C7C 802412AC AE420070 */ sw $v0, 0x70($s2) +/* A61C80 802412B0 8FBF001C */ lw $ra, 0x1c($sp) +/* A61C84 802412B4 8FB20018 */ lw $s2, 0x18($sp) +/* A61C88 802412B8 8FB10014 */ lw $s1, 0x14($sp) +/* A61C8C 802412BC 8FB00010 */ lw $s0, 0x10($sp) +/* A61C90 802412C0 03E00008 */ jr $ra +/* A61C94 802412C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_802412C8_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_802412C8_A609D0.s new file mode 100644 index 0000000000..673eeb8fcf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_802412C8_A609D0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C8_A61C98 +/* A61C98 802412C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A61C9C 802412CC AFB3001C */ sw $s3, 0x1c($sp) +/* A61CA0 802412D0 0080982D */ daddu $s3, $a0, $zero +/* A61CA4 802412D4 AFBF0020 */ sw $ra, 0x20($sp) +/* A61CA8 802412D8 AFB20018 */ sw $s2, 0x18($sp) +/* A61CAC 802412DC AFB10014 */ sw $s1, 0x14($sp) +/* A61CB0 802412E0 AFB00010 */ sw $s0, 0x10($sp) +/* A61CB4 802412E4 8E710148 */ lw $s1, 0x148($s3) +/* A61CB8 802412E8 86240008 */ lh $a0, 8($s1) +/* A61CBC 802412EC 0C00EABB */ jal get_npc_unsafe +/* A61CC0 802412F0 00A0902D */ daddu $s2, $a1, $zero +/* A61CC4 802412F4 0040802D */ daddu $s0, $v0, $zero +/* A61CC8 802412F8 8602008E */ lh $v0, 0x8e($s0) +/* A61CCC 802412FC 9603008E */ lhu $v1, 0x8e($s0) +/* A61CD0 80241300 18400005 */ blez $v0, .L80241318 +/* A61CD4 80241304 2462FFFF */ addiu $v0, $v1, -1 +/* A61CD8 80241308 A602008E */ sh $v0, 0x8e($s0) +/* A61CDC 8024130C 00021400 */ sll $v0, $v0, 0x10 +/* A61CE0 80241310 1C400033 */ bgtz $v0, .L802413E0 +/* A61CE4 80241314 00000000 */ nop +.L80241318: +/* A61CE8 80241318 8602008C */ lh $v0, 0x8c($s0) +/* A61CEC 8024131C 14400030 */ bnez $v0, .L802413E0 +/* A61CF0 80241320 00000000 */ nop +/* A61CF4 80241324 8E2200CC */ lw $v0, 0xcc($s1) +/* A61CF8 80241328 8C420024 */ lw $v0, 0x24($v0) +/* A61CFC 8024132C AE020028 */ sw $v0, 0x28($s0) +/* A61D00 80241330 C6400018 */ lwc1 $f0, 0x18($s2) +/* A61D04 80241334 E6000018 */ swc1 $f0, 0x18($s0) +/* A61D08 80241338 8E230088 */ lw $v1, 0x88($s1) +/* A61D0C 8024133C 24020005 */ addiu $v0, $zero, 5 +/* A61D10 80241340 10620005 */ beq $v1, $v0, .L80241358 +/* A61D14 80241344 00000000 */ nop +/* A61D18 80241348 10600003 */ beqz $v1, .L80241358 +/* A61D1C 8024134C 24020001 */ addiu $v0, $zero, 1 +/* A61D20 80241350 14620006 */ bne $v1, $v0, .L8024136C +/* A61D24 80241354 00000000 */ nop +.L80241358: +/* A61D28 80241358 8E220084 */ lw $v0, 0x84($s1) +/* A61D2C 8024135C 00021FC2 */ srl $v1, $v0, 0x1f +/* A61D30 80241360 00431021 */ addu $v0, $v0, $v1 +/* A61D34 80241364 00021043 */ sra $v0, $v0, 1 +/* A61D38 80241368 A60200A8 */ sh $v0, 0xa8($s0) +.L8024136C: +/* A61D3C 8024136C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A61D40 80241370 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A61D44 80241374 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A61D48 80241378 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A61D4C 8024137C 8C460028 */ lw $a2, 0x28($v0) +/* A61D50 80241380 0C00A7B5 */ jal dist2D +/* A61D54 80241384 8C470030 */ lw $a3, 0x30($v0) +/* A61D58 80241388 C6020018 */ lwc1 $f2, 0x18($s0) +/* A61D5C 8024138C 46020003 */ div.s $f0, $f0, $f2 +/* A61D60 80241390 3C018024 */ lui $at, 0x8024 +/* A61D64 80241394 D4223658 */ ldc1 $f2, 0x3658($at) +/* A61D68 80241398 46000021 */ cvt.d.s $f0, $f0 +/* A61D6C 8024139C 46220000 */ add.d $f0, $f0, $f2 +/* A61D70 802413A0 4620010D */ trunc.w.d $f4, $f0 +/* A61D74 802413A4 44022000 */ mfc1 $v0, $f4 +/* A61D78 802413A8 00000000 */ nop +/* A61D7C 802413AC A602008E */ sh $v0, 0x8e($s0) +/* A61D80 802413B0 00021400 */ sll $v0, $v0, 0x10 +/* A61D84 802413B4 8E230078 */ lw $v1, 0x78($s1) +/* A61D88 802413B8 00021403 */ sra $v0, $v0, 0x10 +/* A61D8C 802413BC 0043102A */ slt $v0, $v0, $v1 +/* A61D90 802413C0 10400003 */ beqz $v0, .L802413D0 +/* A61D94 802413C4 00000000 */ nop +/* A61D98 802413C8 9622007A */ lhu $v0, 0x7a($s1) +/* A61D9C 802413CC A602008E */ sh $v0, 0x8e($s0) +.L802413D0: +/* A61DA0 802413D0 8602008E */ lh $v0, 0x8e($s0) +/* A61DA4 802413D4 AE22007C */ sw $v0, 0x7c($s1) +/* A61DA8 802413D8 2402000E */ addiu $v0, $zero, 0xe +/* A61DAC 802413DC AE620070 */ sw $v0, 0x70($s3) +.L802413E0: +/* A61DB0 802413E0 8FBF0020 */ lw $ra, 0x20($sp) +/* A61DB4 802413E4 8FB3001C */ lw $s3, 0x1c($sp) +/* A61DB8 802413E8 8FB20018 */ lw $s2, 0x18($sp) +/* A61DBC 802413EC 8FB10014 */ lw $s1, 0x14($sp) +/* A61DC0 802413F0 8FB00010 */ lw $s0, 0x10($sp) +/* A61DC4 802413F4 03E00008 */ jr $ra +/* A61DC8 802413F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_802413FC.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_802413FC.s new file mode 100644 index 0000000000..0794f0e2c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_802413FC.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413FC +/* A61DCC 802413FC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A61DD0 80241400 AFB3003C */ sw $s3, 0x3c($sp) +/* A61DD4 80241404 0080982D */ daddu $s3, $a0, $zero +/* A61DD8 80241408 AFBF0040 */ sw $ra, 0x40($sp) +/* A61DDC 8024140C AFB20038 */ sw $s2, 0x38($sp) +/* A61DE0 80241410 AFB10034 */ sw $s1, 0x34($sp) +/* A61DE4 80241414 AFB00030 */ sw $s0, 0x30($sp) +/* A61DE8 80241418 8E710148 */ lw $s1, 0x148($s3) +/* A61DEC 8024141C 0C00EABB */ jal get_npc_unsafe +/* A61DF0 80241420 86240008 */ lh $a0, 8($s1) +/* A61DF4 80241424 0040802D */ daddu $s0, $v0, $zero +/* A61DF8 80241428 8E22007C */ lw $v0, 0x7c($s1) +/* A61DFC 8024142C 8603008E */ lh $v1, 0x8e($s0) +/* A61E00 80241430 2442FFFF */ addiu $v0, $v0, -1 +/* A61E04 80241434 14620012 */ bne $v1, $v0, .L80241480 +/* A61E08 80241438 00000000 */ nop +/* A61E0C 8024143C C6000038 */ lwc1 $f0, 0x38($s0) +/* A61E10 80241440 4600020D */ trunc.w.s $f8, $f0 +/* A61E14 80241444 44024000 */ mfc1 $v0, $f8 +/* A61E18 80241448 00000000 */ nop +/* A61E1C 8024144C A6220010 */ sh $v0, 0x10($s1) +/* A61E20 80241450 C600003C */ lwc1 $f0, 0x3c($s0) +/* A61E24 80241454 4600020D */ trunc.w.s $f8, $f0 +/* A61E28 80241458 44024000 */ mfc1 $v0, $f8 +/* A61E2C 8024145C 00000000 */ nop +/* A61E30 80241460 A6220012 */ sh $v0, 0x12($s1) +/* A61E34 80241464 C6000040 */ lwc1 $f0, 0x40($s0) +/* A61E38 80241468 24020001 */ addiu $v0, $zero, 1 +/* A61E3C 8024146C A2220007 */ sb $v0, 7($s1) +/* A61E40 80241470 4600020D */ trunc.w.s $f8, $f0 +/* A61E44 80241474 44024000 */ mfc1 $v0, $f8 +/* A61E48 80241478 00000000 */ nop +/* A61E4C 8024147C A6220014 */ sh $v0, 0x14($s1) +.L80241480: +/* A61E50 80241480 C6000038 */ lwc1 $f0, 0x38($s0) +/* A61E54 80241484 C602003C */ lwc1 $f2, 0x3c($s0) +/* A61E58 80241488 C6040040 */ lwc1 $f4, 0x40($s0) +/* A61E5C 8024148C C6060018 */ lwc1 $f6, 0x18($s0) +/* A61E60 80241490 E7A00020 */ swc1 $f0, 0x20($sp) +/* A61E64 80241494 E7A20024 */ swc1 $f2, 0x24($sp) +/* A61E68 80241498 E7A40028 */ swc1 $f4, 0x28($sp) +/* A61E6C 8024149C E7A60010 */ swc1 $f6, 0x10($sp) +/* A61E70 802414A0 C600000C */ lwc1 $f0, 0xc($s0) +/* A61E74 802414A4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A61E78 802414A8 860200A8 */ lh $v0, 0xa8($s0) +/* A61E7C 802414AC 27A50020 */ addiu $a1, $sp, 0x20 +/* A61E80 802414B0 44820000 */ mtc1 $v0, $f0 +/* A61E84 802414B4 00000000 */ nop +/* A61E88 802414B8 46800020 */ cvt.s.w $f0, $f0 +/* A61E8C 802414BC E7A00018 */ swc1 $f0, 0x18($sp) +/* A61E90 802414C0 860200A6 */ lh $v0, 0xa6($s0) +/* A61E94 802414C4 27A60024 */ addiu $a2, $sp, 0x24 +/* A61E98 802414C8 44820000 */ mtc1 $v0, $f0 +/* A61E9C 802414CC 00000000 */ nop +/* A61EA0 802414D0 46800020 */ cvt.s.w $f0, $f0 +/* A61EA4 802414D4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A61EA8 802414D8 8E040080 */ lw $a0, 0x80($s0) +/* A61EAC 802414DC 0C037711 */ jal func_800DDC44 +/* A61EB0 802414E0 27A70028 */ addiu $a3, $sp, 0x28 +/* A61EB4 802414E4 0040902D */ daddu $s2, $v0, $zero +/* A61EB8 802414E8 16400005 */ bnez $s2, .L80241500 +/* A61EBC 802414EC 00000000 */ nop +/* A61EC0 802414F0 8E050018 */ lw $a1, 0x18($s0) +/* A61EC4 802414F4 8E06000C */ lw $a2, 0xc($s0) +/* A61EC8 802414F8 0C00EA95 */ jal npc_move_heading +/* A61ECC 802414FC 0200202D */ daddu $a0, $s0, $zero +.L80241500: +/* A61ED0 80241500 8602008E */ lh $v0, 0x8e($s0) +/* A61ED4 80241504 9603008E */ lhu $v1, 0x8e($s0) +/* A61ED8 80241508 18400007 */ blez $v0, .L80241528 +/* A61EDC 8024150C 2462FFFF */ addiu $v0, $v1, -1 +/* A61EE0 80241510 A602008E */ sh $v0, 0x8e($s0) +/* A61EE4 80241514 00021400 */ sll $v0, $v0, 0x10 +/* A61EE8 80241518 18400003 */ blez $v0, .L80241528 +/* A61EEC 8024151C 00000000 */ nop +/* A61EF0 80241520 12400008 */ beqz $s2, .L80241544 +/* A61EF4 80241524 00000000 */ nop +.L80241528: +/* A61EF8 80241528 8E2200CC */ lw $v0, 0xcc($s1) +/* A61EFC 8024152C A2200007 */ sb $zero, 7($s1) +/* A61F00 80241530 8C420028 */ lw $v0, 0x28($v0) +/* A61F04 80241534 A600008E */ sh $zero, 0x8e($s0) +/* A61F08 80241538 AE020028 */ sw $v0, 0x28($s0) +/* A61F0C 8024153C 2402000F */ addiu $v0, $zero, 0xf +/* A61F10 80241540 AE620070 */ sw $v0, 0x70($s3) +.L80241544: +/* A61F14 80241544 8FBF0040 */ lw $ra, 0x40($sp) +/* A61F18 80241548 8FB3003C */ lw $s3, 0x3c($sp) +/* A61F1C 8024154C 8FB20038 */ lw $s2, 0x38($sp) +/* A61F20 80241550 8FB10034 */ lw $s1, 0x34($sp) +/* A61F24 80241554 8FB00030 */ lw $s0, 0x30($sp) +/* A61F28 80241558 03E00008 */ jr $ra +/* A61F2C 8024155C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_80241560_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_80241560_A609D0.s new file mode 100644 index 0000000000..21dd7f2a04 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_80241560_A609D0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241560_A61F30 +/* A61F30 80241560 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A61F34 80241564 AFB10014 */ sw $s1, 0x14($sp) +/* A61F38 80241568 0080882D */ daddu $s1, $a0, $zero +/* A61F3C 8024156C AFBF0018 */ sw $ra, 0x18($sp) +/* A61F40 80241570 AFB00010 */ sw $s0, 0x10($sp) +/* A61F44 80241574 8E300148 */ lw $s0, 0x148($s1) +/* A61F48 80241578 0C00EABB */ jal get_npc_unsafe +/* A61F4C 8024157C 86040008 */ lh $a0, 8($s0) +/* A61F50 80241580 0040202D */ daddu $a0, $v0, $zero +/* A61F54 80241584 9482008E */ lhu $v0, 0x8e($a0) +/* A61F58 80241588 24030003 */ addiu $v1, $zero, 3 +/* A61F5C 8024158C 24420001 */ addiu $v0, $v0, 1 +/* A61F60 80241590 A482008E */ sh $v0, 0x8e($a0) +/* A61F64 80241594 00021400 */ sll $v0, $v0, 0x10 +/* A61F68 80241598 00021403 */ sra $v0, $v0, 0x10 +/* A61F6C 8024159C 14430003 */ bne $v0, $v1, .L802415AC +/* A61F70 802415A0 00000000 */ nop +/* A61F74 802415A4 96020086 */ lhu $v0, 0x86($s0) +/* A61F78 802415A8 A48200A8 */ sh $v0, 0xa8($a0) +.L802415AC: +/* A61F7C 802415AC 8482008E */ lh $v0, 0x8e($a0) +/* A61F80 802415B0 8E030080 */ lw $v1, 0x80($s0) +/* A61F84 802415B4 0043102A */ slt $v0, $v0, $v1 +/* A61F88 802415B8 14400004 */ bnez $v0, .L802415CC +/* A61F8C 802415BC 00000000 */ nop +/* A61F90 802415C0 96020086 */ lhu $v0, 0x86($s0) +/* A61F94 802415C4 A48200A8 */ sh $v0, 0xa8($a0) +/* A61F98 802415C8 AE200070 */ sw $zero, 0x70($s1) +.L802415CC: +/* A61F9C 802415CC 8FBF0018 */ lw $ra, 0x18($sp) +/* A61FA0 802415D0 8FB10014 */ lw $s1, 0x14($sp) +/* A61FA4 802415D4 8FB00010 */ lw $s0, 0x10($sp) +/* A61FA8 802415D8 03E00008 */ jr $ra +/* A61FAC 802415DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_50/func_802415E0_A609D0.s b/asm/nonmatchings/world/area_kpa/kpa_50/func_802415E0_A609D0.s new file mode 100644 index 0000000000..c1e0dbe326 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_50/func_802415E0_A609D0.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415E0_A61FB0 +/* A61FB0 802415E0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A61FB4 802415E4 AFB3005C */ sw $s3, 0x5c($sp) +/* A61FB8 802415E8 0080982D */ daddu $s3, $a0, $zero +/* A61FBC 802415EC AFBF0068 */ sw $ra, 0x68($sp) +/* A61FC0 802415F0 AFB50064 */ sw $s5, 0x64($sp) +/* A61FC4 802415F4 AFB40060 */ sw $s4, 0x60($sp) +/* A61FC8 802415F8 AFB20058 */ sw $s2, 0x58($sp) +/* A61FCC 802415FC AFB10054 */ sw $s1, 0x54($sp) +/* A61FD0 80241600 AFB00050 */ sw $s0, 0x50($sp) +/* A61FD4 80241604 8E710148 */ lw $s1, 0x148($s3) +/* A61FD8 80241608 86240008 */ lh $a0, 8($s1) +/* A61FDC 8024160C 0C00EABB */ jal get_npc_unsafe +/* A61FE0 80241610 00A0802D */ daddu $s0, $a1, $zero +/* A61FE4 80241614 8E63000C */ lw $v1, 0xc($s3) +/* A61FE8 80241618 0260202D */ daddu $a0, $s3, $zero +/* A61FEC 8024161C 8C650000 */ lw $a1, ($v1) +/* A61FF0 80241620 0C0B1EAF */ jal get_variable +/* A61FF4 80241624 0040902D */ daddu $s2, $v0, $zero +/* A61FF8 80241628 AFA00028 */ sw $zero, 0x28($sp) +/* A61FFC 8024162C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A62000 80241630 8C630030 */ lw $v1, 0x30($v1) +/* A62004 80241634 AFA3002C */ sw $v1, 0x2c($sp) +/* A62008 80241638 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6200C 8024163C 8C63001C */ lw $v1, 0x1c($v1) +/* A62010 80241640 AFA30030 */ sw $v1, 0x30($sp) +/* A62014 80241644 8E2300D0 */ lw $v1, 0xd0($s1) +/* A62018 80241648 8C630024 */ lw $v1, 0x24($v1) +/* A6201C 8024164C AFA30034 */ sw $v1, 0x34($sp) +/* A62020 80241650 8E2300D0 */ lw $v1, 0xd0($s1) +/* A62024 80241654 8C630028 */ lw $v1, 0x28($v1) +/* A62028 80241658 27B50028 */ addiu $s5, $sp, 0x28 +/* A6202C 8024165C AFA30038 */ sw $v1, 0x38($sp) +/* A62030 80241660 8E2300D0 */ lw $v1, 0xd0($s1) +/* A62034 80241664 3C0142C8 */ lui $at, 0x42c8 +/* A62038 80241668 44810000 */ mtc1 $at, $f0 +/* A6203C 8024166C 8C63002C */ lw $v1, 0x2c($v1) +/* A62040 80241670 0040A02D */ daddu $s4, $v0, $zero +/* A62044 80241674 E7A00040 */ swc1 $f0, 0x40($sp) +/* A62048 80241678 A7A00044 */ sh $zero, 0x44($sp) +/* A6204C 8024167C 12000009 */ beqz $s0, .L802416A4 +/* A62050 80241680 AFA3003C */ sw $v1, 0x3c($sp) +/* A62054 80241684 864300A8 */ lh $v1, 0xa8($s2) +/* A62058 80241688 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6205C 8024168C AE20008C */ sw $zero, 0x8c($s1) +/* A62060 80241690 A22000B5 */ sb $zero, 0xb5($s1) +/* A62064 80241694 34420008 */ ori $v0, $v0, 8 +/* A62068 80241698 AE230084 */ sw $v1, 0x84($s1) +/* A6206C 8024169C 080905AD */ j .L802416B4 +/* A62070 802416A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802416A4: +/* A62074 802416A4 8E2200B0 */ lw $v0, 0xb0($s1) +/* A62078 802416A8 30420004 */ andi $v0, $v0, 4 +/* A6207C 802416AC 10400047 */ beqz $v0, .L802417CC +/* A62080 802416B0 00000000 */ nop +.L802416B4: +/* A62084 802416B4 AE600070 */ sw $zero, 0x70($s3) +/* A62088 802416B8 A640008E */ sh $zero, 0x8e($s2) +/* A6208C 802416BC 8E2300CC */ lw $v1, 0xcc($s1) +/* A62090 802416C0 2404F7FF */ addiu $a0, $zero, -0x801 +/* A62094 802416C4 A2200007 */ sb $zero, 7($s1) +/* A62098 802416C8 8E420000 */ lw $v0, ($s2) +/* A6209C 802416CC 8C630000 */ lw $v1, ($v1) +/* A620A0 802416D0 00441024 */ and $v0, $v0, $a0 +/* A620A4 802416D4 AE420000 */ sw $v0, ($s2) +/* A620A8 802416D8 AE430028 */ sw $v1, 0x28($s2) +/* A620AC 802416DC 96220086 */ lhu $v0, 0x86($s1) +/* A620B0 802416E0 A64200A8 */ sh $v0, 0xa8($s2) +/* A620B4 802416E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* A620B8 802416E8 AE200090 */ sw $zero, 0x90($s1) +/* A620BC 802416EC 8C420034 */ lw $v0, 0x34($v0) +/* A620C0 802416F0 14400006 */ bnez $v0, .L8024170C +/* A620C4 802416F4 2403FDFF */ addiu $v1, $zero, -0x201 +/* A620C8 802416F8 8E420000 */ lw $v0, ($s2) +/* A620CC 802416FC 2403FFF7 */ addiu $v1, $zero, -9 +/* A620D0 80241700 34420200 */ ori $v0, $v0, 0x200 +/* A620D4 80241704 080905C6 */ j .L80241718 +/* A620D8 80241708 00431024 */ and $v0, $v0, $v1 +.L8024170C: +/* A620DC 8024170C 8E420000 */ lw $v0, ($s2) +/* A620E0 80241710 00431024 */ and $v0, $v0, $v1 +/* A620E4 80241714 34420008 */ ori $v0, $v0, 8 +.L80241718: +/* A620E8 80241718 AE420000 */ sw $v0, ($s2) +/* A620EC 8024171C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A620F0 80241720 30420004 */ andi $v0, $v0, 4 +/* A620F4 80241724 1040001E */ beqz $v0, .L802417A0 +/* A620F8 80241728 24040002 */ addiu $a0, $zero, 2 +/* A620FC 8024172C 0240282D */ daddu $a1, $s2, $zero +/* A62100 80241730 0000302D */ daddu $a2, $zero, $zero +/* A62104 80241734 24020063 */ addiu $v0, $zero, 0x63 +/* A62108 80241738 AE620070 */ sw $v0, 0x70($s3) +/* A6210C 8024173C AE600074 */ sw $zero, 0x74($s3) +/* A62110 80241740 864300A8 */ lh $v1, 0xa8($s2) +/* A62114 80241744 3C013F80 */ lui $at, 0x3f80 +/* A62118 80241748 44810000 */ mtc1 $at, $f0 +/* A6211C 8024174C 3C014000 */ lui $at, 0x4000 +/* A62120 80241750 44811000 */ mtc1 $at, $f2 +/* A62124 80241754 3C01C1A0 */ lui $at, 0xc1a0 +/* A62128 80241758 44812000 */ mtc1 $at, $f4 +/* A6212C 8024175C 24020028 */ addiu $v0, $zero, 0x28 +/* A62130 80241760 AFA2001C */ sw $v0, 0x1c($sp) +/* A62134 80241764 44833000 */ mtc1 $v1, $f6 +/* A62138 80241768 00000000 */ nop +/* A6213C 8024176C 468031A0 */ cvt.s.w $f6, $f6 +/* A62140 80241770 44073000 */ mfc1 $a3, $f6 +/* A62144 80241774 27A20048 */ addiu $v0, $sp, 0x48 +/* A62148 80241778 AFA20020 */ sw $v0, 0x20($sp) +/* A6214C 8024177C E7A00010 */ swc1 $f0, 0x10($sp) +/* A62150 80241780 E7A20014 */ swc1 $f2, 0x14($sp) +/* A62154 80241784 0C01BFA4 */ jal fx_emote +/* A62158 80241788 E7A40018 */ swc1 $f4, 0x18($sp) +/* A6215C 8024178C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A62160 80241790 2403FFFB */ addiu $v1, $zero, -5 +/* A62164 80241794 00431024 */ and $v0, $v0, $v1 +/* A62168 80241798 080905F3 */ j .L802417CC +/* A6216C 8024179C AE2200B0 */ sw $v0, 0xb0($s1) +.L802417A0: +/* A62170 802417A0 8E220000 */ lw $v0, ($s1) +/* A62174 802417A4 3C034000 */ lui $v1, 0x4000 +/* A62178 802417A8 00431024 */ and $v0, $v0, $v1 +/* A6217C 802417AC 10400007 */ beqz $v0, .L802417CC +/* A62180 802417B0 3C03BFFF */ lui $v1, 0xbfff +/* A62184 802417B4 2402000C */ addiu $v0, $zero, 0xc +/* A62188 802417B8 AE620070 */ sw $v0, 0x70($s3) +/* A6218C 802417BC 8E220000 */ lw $v0, ($s1) +/* A62190 802417C0 3463FFFF */ ori $v1, $v1, 0xffff +/* A62194 802417C4 00431024 */ and $v0, $v0, $v1 +/* A62198 802417C8 AE220000 */ sw $v0, ($s1) +.L802417CC: +/* A6219C 802417CC 8E220090 */ lw $v0, 0x90($s1) +/* A621A0 802417D0 1840000C */ blez $v0, .L80241804 +/* A621A4 802417D4 2442FFFF */ addiu $v0, $v0, -1 +/* A621A8 802417D8 14400087 */ bnez $v0, .L802419F8 +/* A621AC 802417DC AE220090 */ sw $v0, 0x90($s1) +/* A621B0 802417E0 3C03FFAA */ lui $v1, 0xffaa +/* A621B4 802417E4 8E420028 */ lw $v0, 0x28($s2) +/* A621B8 802417E8 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A621BC 802417EC 00431021 */ addu $v0, $v0, $v1 +/* A621C0 802417F0 2C420002 */ sltiu $v0, $v0, 2 +/* A621C4 802417F4 10400003 */ beqz $v0, .L80241804 +/* A621C8 802417F8 3C020055 */ lui $v0, 0x55 +/* A621CC 802417FC 3442000C */ ori $v0, $v0, 0xc +/* A621D0 80241800 AE420028 */ sw $v0, 0x28($s2) +.L80241804: +/* A621D4 80241804 8E630070 */ lw $v1, 0x70($s3) +/* A621D8 80241808 2402000C */ addiu $v0, $zero, 0xc +/* A621DC 8024180C 10620048 */ beq $v1, $v0, .L80241930 +/* A621E0 80241810 2862000D */ slti $v0, $v1, 0xd +/* A621E4 80241814 1040000F */ beqz $v0, .L80241854 +/* A621E8 80241818 24100001 */ addiu $s0, $zero, 1 +/* A621EC 8024181C 1070001E */ beq $v1, $s0, .L80241898 +/* A621F0 80241820 28620002 */ slti $v0, $v1, 2 +/* A621F4 80241824 10400005 */ beqz $v0, .L8024183C +/* A621F8 80241828 24020002 */ addiu $v0, $zero, 2 +/* A621FC 8024182C 10600015 */ beqz $v1, .L80241884 +/* A62200 80241830 0260202D */ daddu $a0, $s3, $zero +/* A62204 80241834 08090663 */ j .L8024198C +/* A62208 80241838 00000000 */ nop +.L8024183C: +/* A6220C 8024183C 1062001C */ beq $v1, $v0, .L802418B0 +/* A62210 80241840 24020003 */ addiu $v0, $zero, 3 +/* A62214 80241844 10620035 */ beq $v1, $v0, .L8024191C +/* A62218 80241848 0260202D */ daddu $a0, $s3, $zero +/* A6221C 8024184C 08090663 */ j .L8024198C +/* A62220 80241850 00000000 */ nop +.L80241854: +/* A62224 80241854 2402000E */ addiu $v0, $zero, 0xe +/* A62228 80241858 1062003F */ beq $v1, $v0, .L80241958 +/* A6222C 8024185C 0062102A */ slt $v0, $v1, $v0 +/* A62230 80241860 14400038 */ bnez $v0, .L80241944 +/* A62234 80241864 0260202D */ daddu $a0, $s3, $zero +/* A62238 80241868 2402000F */ addiu $v0, $zero, 0xf +/* A6223C 8024186C 10620040 */ beq $v1, $v0, .L80241970 +/* A62240 80241870 24020063 */ addiu $v0, $zero, 0x63 +/* A62244 80241874 10620043 */ beq $v1, $v0, .L80241984 +/* A62248 80241878 00000000 */ nop +/* A6224C 8024187C 08090663 */ j .L8024198C +/* A62250 80241880 00000000 */ nop +.L80241884: +/* A62254 80241884 0280282D */ daddu $a1, $s4, $zero +/* A62258 80241888 0C012568 */ jal func_800495A0 +/* A6225C 8024188C 02A0302D */ daddu $a2, $s5, $zero +/* A62260 80241890 96220086 */ lhu $v0, 0x86($s1) +/* A62264 80241894 A64200A8 */ sh $v0, 0xa8($s2) +.L80241898: +/* A62268 80241898 0260202D */ daddu $a0, $s3, $zero +/* A6226C 8024189C 0280282D */ daddu $a1, $s4, $zero +/* A62270 802418A0 0C0125AE */ jal func_800496B8 +/* A62274 802418A4 02A0302D */ daddu $a2, $s5, $zero +/* A62278 802418A8 08090663 */ j .L8024198C +/* A6227C 802418AC 00000000 */ nop +.L802418B0: +/* A62280 802418B0 0260202D */ daddu $a0, $s3, $zero +/* A62284 802418B4 0280282D */ daddu $a1, $s4, $zero +/* A62288 802418B8 0C0126D1 */ jal func_80049B44 +/* A6228C 802418BC 02A0302D */ daddu $a2, $s5, $zero +/* A62290 802418C0 8E230088 */ lw $v1, 0x88($s1) +/* A62294 802418C4 24020006 */ addiu $v0, $zero, 6 +/* A62298 802418C8 14620014 */ bne $v1, $v0, .L8024191C +/* A6229C 802418CC 0260202D */ daddu $a0, $s3, $zero +/* A622A0 802418D0 0C00A67F */ jal rand_int +/* A622A4 802418D4 24040064 */ addiu $a0, $zero, 0x64 +/* A622A8 802418D8 28420021 */ slti $v0, $v0, 0x21 +/* A622AC 802418DC 5040000F */ beql $v0, $zero, .L8024191C +/* A622B0 802418E0 0260202D */ daddu $a0, $s3, $zero +/* A622B4 802418E4 8E22008C */ lw $v0, 0x8c($s1) +/* A622B8 802418E8 10400005 */ beqz $v0, .L80241900 +/* A622BC 802418EC 3C020055 */ lui $v0, 0x55 +/* A622C0 802418F0 3442002F */ ori $v0, $v0, 0x2f +/* A622C4 802418F4 AE20008C */ sw $zero, 0x8c($s1) +/* A622C8 802418F8 08090643 */ j .L8024190C +/* A622CC 802418FC A22000B5 */ sb $zero, 0xb5($s1) +.L80241900: +/* A622D0 80241900 3442002E */ ori $v0, $v0, 0x2e +/* A622D4 80241904 AE30008C */ sw $s0, 0x8c($s1) +/* A622D8 80241908 A23000B5 */ sb $s0, 0xb5($s1) +.L8024190C: +/* A622DC 8024190C AE420028 */ sw $v0, 0x28($s2) +/* A622E0 80241910 24020007 */ addiu $v0, $zero, 7 +/* A622E4 80241914 0809067E */ j .L802419F8 +/* A622E8 80241918 AE220090 */ sw $v0, 0x90($s1) +.L8024191C: +/* A622EC 8024191C 0280282D */ daddu $a1, $s4, $zero +/* A622F0 80241920 0C012701 */ jal func_80049C04 +/* A622F4 80241924 02A0302D */ daddu $a2, $s5, $zero +/* A622F8 80241928 08090663 */ j .L8024198C +/* A622FC 8024192C 00000000 */ nop +.L80241930: +/* A62300 80241930 0260202D */ daddu $a0, $s3, $zero +/* A62304 80241934 0280282D */ daddu $a1, $s4, $zero +/* A62308 80241938 0C090493 */ jal func_8024124C +/* A6230C 8024193C 02A0302D */ daddu $a2, $s5, $zero +/* A62310 80241940 0260202D */ daddu $a0, $s3, $zero +.L80241944: +/* A62314 80241944 0280282D */ daddu $a1, $s4, $zero +/* A62318 80241948 0C0904B2 */ jal func_802412C8 +/* A6231C 8024194C 02A0302D */ daddu $a2, $s5, $zero +/* A62320 80241950 08090663 */ j .L8024198C +/* A62324 80241954 00000000 */ nop +.L80241958: +/* A62328 80241958 0260202D */ daddu $a0, $s3, $zero +/* A6232C 8024195C 0280282D */ daddu $a1, $s4, $zero +/* A62330 80241960 0C0904FF */ jal func_802413FC +/* A62334 80241964 02A0302D */ daddu $a2, $s5, $zero +/* A62338 80241968 08090663 */ j .L8024198C +/* A6233C 8024196C 00000000 */ nop +.L80241970: +/* A62340 80241970 0280282D */ daddu $a1, $s4, $zero +/* A62344 80241974 0C090558 */ jal func_80241560 +/* A62348 80241978 02A0302D */ daddu $a2, $s5, $zero +/* A6234C 8024197C 08090663 */ j .L8024198C +/* A62350 80241980 00000000 */ nop +.L80241984: +/* A62354 80241984 0C0129CF */ jal func_8004A73C +/* A62358 80241988 0260202D */ daddu $a0, $s3, $zero +.L8024198C: +/* A6235C 8024198C 8E230088 */ lw $v1, 0x88($s1) +/* A62360 80241990 24020006 */ addiu $v0, $zero, 6 +/* A62364 80241994 14620019 */ bne $v1, $v0, .L802419FC +/* A62368 80241998 0000102D */ daddu $v0, $zero, $zero +/* A6236C 8024199C 8E22008C */ lw $v0, 0x8c($s1) +/* A62370 802419A0 10400003 */ beqz $v0, .L802419B0 +/* A62374 802419A4 24020001 */ addiu $v0, $zero, 1 +/* A62378 802419A8 0809066D */ j .L802419B4 +/* A6237C 802419AC A22200B5 */ sb $v0, 0xb5($s1) +.L802419B0: +/* A62380 802419B0 A22000B5 */ sb $zero, 0xb5($s1) +.L802419B4: +/* A62384 802419B4 8E22008C */ lw $v0, 0x8c($s1) +/* A62388 802419B8 1040000F */ beqz $v0, .L802419F8 +/* A6238C 802419BC 3C03FFAA */ lui $v1, 0xffaa +/* A62390 802419C0 8E420028 */ lw $v0, 0x28($s2) +/* A62394 802419C4 3463FFFC */ ori $v1, $v1, 0xfffc +/* A62398 802419C8 00431821 */ addu $v1, $v0, $v1 +/* A6239C 802419CC 2C620015 */ sltiu $v0, $v1, 0x15 +/* A623A0 802419D0 10400009 */ beqz $v0, .L802419F8 +/* A623A4 802419D4 00031080 */ sll $v0, $v1, 2 +/* A623A8 802419D8 3C018024 */ lui $at, 0x8024 +/* A623AC 802419DC 00220821 */ addu $at, $at, $v0 +/* A623B0 802419E0 8C223660 */ lw $v0, 0x3660($at) +/* A623B4 802419E4 00400008 */ jr $v0 +/* A623B8 802419E8 00000000 */ nop +/* A623BC 802419EC 8E420028 */ lw $v0, 0x28($s2) +/* A623C0 802419F0 24420001 */ addiu $v0, $v0, 1 +/* A623C4 802419F4 AE420028 */ sw $v0, 0x28($s2) +.L802419F8: +/* A623C8 802419F8 0000102D */ daddu $v0, $zero, $zero +.L802419FC: +/* A623CC 802419FC 8FBF0068 */ lw $ra, 0x68($sp) +/* A623D0 80241A00 8FB50064 */ lw $s5, 0x64($sp) +/* A623D4 80241A04 8FB40060 */ lw $s4, 0x60($sp) +/* A623D8 80241A08 8FB3005C */ lw $s3, 0x5c($sp) +/* A623DC 80241A0C 8FB20058 */ lw $s2, 0x58($sp) +/* A623E0 80241A10 8FB10054 */ lw $s1, 0x54($sp) +/* A623E4 80241A14 8FB00050 */ lw $s0, 0x50($sp) +/* A623E8 80241A18 03E00008 */ jr $ra +/* A623EC 80241A1C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240000_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240000_A64090.s new file mode 100644 index 0000000000..f59af24d4d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240000_A64090.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A64090 +/* A64090 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A64094 80240004 3C04800E */ lui $a0, 0x800e +/* A64098 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A6409C 8024000C 3C058024 */ lui $a1, 0x8024 +/* A640A0 80240010 24A52F20 */ addiu $a1, $a1, 0x2f20 +/* A640A4 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A640A8 80240018 0C01953C */ jal sprintf +/* A640AC 8024001C 00000000 */ nop +/* A640B0 80240020 3C04800E */ lui $a0, 0x800e +/* A640B4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A640B8 80240028 3C058024 */ lui $a1, 0x8024 +/* A640BC 8024002C 0C01953C */ jal sprintf +/* A640C0 80240030 24A52F30 */ addiu $a1, $a1, 0x2f30 +/* A640C4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A640C8 80240038 0000102D */ daddu $v0, $zero, $zero +/* A640CC 8024003C 03E00008 */ jr $ra +/* A640D0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A640D4 80240044 00000000 */ nop +/* A640D8 80240048 00000000 */ nop +/* A640DC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240050_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240050_A64090.s new file mode 100644 index 0000000000..93dfbb9790 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240050_A64090.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A640E0 +/* A640E0 80240050 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A640E4 80240054 AFB00018 */ sw $s0, 0x18($sp) +/* A640E8 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* A640EC 8024005C AFB20020 */ sw $s2, 0x20($sp) +/* A640F0 80240060 AFB1001C */ sw $s1, 0x1c($sp) +/* A640F4 80240064 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A640F8 80240068 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A640FC 8024006C 8C920148 */ lw $s2, 0x148($a0) +/* A64100 80240070 4485A000 */ mtc1 $a1, $f20 +/* A64104 80240074 86440008 */ lh $a0, 8($s2) +/* A64108 80240078 4486B000 */ mtc1 $a2, $f22 +/* A6410C 8024007C 0C00EABB */ jal get_npc_unsafe +/* A64110 80240080 00E0802D */ daddu $s0, $a3, $zero +/* A64114 80240084 0200202D */ daddu $a0, $s0, $zero +/* A64118 80240088 0040882D */ daddu $s1, $v0, $zero +/* A6411C 8024008C 4406A000 */ mfc1 $a2, $f20 +/* A64120 80240090 4407B000 */ mfc1 $a3, $f22 +/* A64124 80240094 3C03800A */ lui $v1, 0x800a +/* A64128 80240098 8463A634 */ lh $v1, -0x59cc($v1) +/* A6412C 8024009C 3C05800B */ lui $a1, %hi(gCameras) +/* A64130 802400A0 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A64134 802400A4 AFA00010 */ sw $zero, 0x10($sp) +/* A64138 802400A8 00031080 */ sll $v0, $v1, 2 +/* A6413C 802400AC 00431021 */ addu $v0, $v0, $v1 +/* A64140 802400B0 00021080 */ sll $v0, $v0, 2 +/* A64144 802400B4 00431023 */ subu $v0, $v0, $v1 +/* A64148 802400B8 000218C0 */ sll $v1, $v0, 3 +/* A6414C 802400BC 00431021 */ addu $v0, $v0, $v1 +/* A64150 802400C0 000210C0 */ sll $v0, $v0, 3 +/* A64154 802400C4 00458021 */ addu $s0, $v0, $a1 +/* A64158 802400C8 0C01242D */ jal func_800490B4 +/* A6415C 802400CC 0240282D */ daddu $a1, $s2, $zero +/* A64160 802400D0 1040004B */ beqz $v0, .L80240200 +/* A64164 802400D4 2402FFFF */ addiu $v0, $zero, -1 +/* A64168 802400D8 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A6416C 802400DC C62E000C */ lwc1 $f14, 0xc($s1) +/* A64170 802400E0 3C014387 */ lui $at, 0x4387 +/* A64174 802400E4 4481A000 */ mtc1 $at, $f20 +/* A64178 802400E8 0C00A70A */ jal get_clamped_angle_diff +/* A6417C 802400EC 00000000 */ nop +/* A64180 802400F0 0C00A6C9 */ jal clamp_angle +/* A64184 802400F4 46000306 */ mov.s $f12, $f0 +/* A64188 802400F8 3C018024 */ lui $at, 0x8024 +/* A6418C 802400FC D4222F50 */ ldc1 $f2, 0x2f50($at) +/* A64190 80240100 46000021 */ cvt.d.s $f0, $f0 +/* A64194 80240104 4622003C */ c.lt.d $f0, $f2 +/* A64198 80240108 00000000 */ nop +/* A6419C 8024010C 45000003 */ bc1f .L8024011C +/* A641A0 80240110 00000000 */ nop +/* A641A4 80240114 3C0142B4 */ lui $at, 0x42b4 +/* A641A8 80240118 4481A000 */ mtc1 $at, $f20 +.L8024011C: +/* A641AC 8024011C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* A641B0 80240120 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* A641B4 80240124 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A641B8 80240128 8E020000 */ lw $v0, ($s0) +/* A641BC 8024012C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A641C0 80240130 8C460028 */ lw $a2, 0x28($v0) +/* A641C4 80240134 0C00A720 */ jal atan2 +/* A641C8 80240138 8C470030 */ lw $a3, 0x30($v0) +/* A641CC 8024013C 4600A306 */ mov.s $f12, $f20 +/* A641D0 80240140 0C00A70A */ jal get_clamped_angle_diff +/* A641D4 80240144 46000386 */ mov.s $f14, $f0 +/* A641D8 80240148 46000005 */ abs.s $f0, $f0 +/* A641DC 8024014C 3C018024 */ lui $at, 0x8024 +/* A641E0 80240150 D4222F58 */ ldc1 $f2, 0x2f58($at) +/* A641E4 80240154 46000021 */ cvt.d.s $f0, $f0 +/* A641E8 80240158 4620103C */ c.lt.d $f2, $f0 +/* A641EC 8024015C 00000000 */ nop +/* A641F0 80240160 45010027 */ bc1t .L80240200 +/* A641F4 80240164 2402FFFF */ addiu $v0, $zero, -1 +/* A641F8 80240168 8E020000 */ lw $v0, ($s0) +/* A641FC 8024016C C6200038 */ lwc1 $f0, 0x38($s1) +/* A64200 80240170 C4420028 */ lwc1 $f2, 0x28($v0) +/* A64204 80240174 44806000 */ mtc1 $zero, $f12 +/* A64208 80240178 46020001 */ sub.s $f0, $f0, $f2 +/* A6420C 8024017C C62E003C */ lwc1 $f14, 0x3c($s1) +/* A64210 80240180 8C47002C */ lw $a3, 0x2c($v0) +/* A64214 80240184 46000005 */ abs.s $f0, $f0 +/* A64218 80240188 44060000 */ mfc1 $a2, $f0 +/* A6421C 8024018C 0C00A720 */ jal atan2 +/* A64220 80240190 00000000 */ nop +/* A64224 80240194 3C018024 */ lui $at, 0x8024 +/* A64228 80240198 D4222F60 */ ldc1 $f2, 0x2f60($at) +/* A6422C 8024019C 46000021 */ cvt.d.s $f0, $f0 +/* A64230 802401A0 46220001 */ sub.d $f0, $f0, $f2 +/* A64234 802401A4 3C018024 */ lui $at, 0x8024 +/* A64238 802401A8 D4222F68 */ ldc1 $f2, 0x2f68($at) +/* A6423C 802401AC 46200020 */ cvt.s.d $f0, $f0 +/* A64240 802401B0 46000005 */ abs.s $f0, $f0 +/* A64244 802401B4 46000021 */ cvt.d.s $f0, $f0 +/* A64248 802401B8 4620103C */ c.lt.d $f2, $f0 +/* A6424C 802401BC 00000000 */ nop +/* A64250 802401C0 4501000F */ bc1t .L80240200 +/* A64254 802401C4 2402FFFF */ addiu $v0, $zero, -1 +/* A64258 802401C8 3C038011 */ lui $v1, 0x8011 +/* A6425C 802401CC 8063EBB3 */ lb $v1, -0x144d($v1) +/* A64260 802401D0 24020009 */ addiu $v0, $zero, 9 +/* A64264 802401D4 10620009 */ beq $v1, $v0, .L802401FC +/* A64268 802401D8 24020007 */ addiu $v0, $zero, 7 +/* A6426C 802401DC 50620008 */ beql $v1, $v0, .L80240200 +/* A64270 802401E0 2402FFFF */ addiu $v0, $zero, -1 +/* A64274 802401E4 86440008 */ lh $a0, 8($s2) +/* A64278 802401E8 0C00FB3A */ jal get_enemy +/* A6427C 802401EC 24840001 */ addiu $a0, $a0, 1 +/* A64280 802401F0 8C43006C */ lw $v1, 0x6c($v0) +/* A64284 802401F4 10600002 */ beqz $v1, .L80240200 +/* A64288 802401F8 24020001 */ addiu $v0, $zero, 1 +.L802401FC: +/* A6428C 802401FC 2402FFFF */ addiu $v0, $zero, -1 +.L80240200: +/* A64290 80240200 8FBF0024 */ lw $ra, 0x24($sp) +/* A64294 80240204 8FB20020 */ lw $s2, 0x20($sp) +/* A64298 80240208 8FB1001C */ lw $s1, 0x1c($sp) +/* A6429C 8024020C 8FB00018 */ lw $s0, 0x18($sp) +/* A642A0 80240210 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A642A4 80240214 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A642A8 80240218 03E00008 */ jr $ra +/* A642AC 8024021C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240220_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240220_A64090.s new file mode 100644 index 0000000000..b430944b18 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240220_A64090.s @@ -0,0 +1,336 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240220_A642B0 +/* A642B0 80240220 27BDFC78 */ addiu $sp, $sp, -0x388 +/* A642B4 80240224 AFB60378 */ sw $s6, 0x378($sp) +/* A642B8 80240228 0080B02D */ daddu $s6, $a0, $zero +/* A642BC 8024022C AFBF037C */ sw $ra, 0x37c($sp) +/* A642C0 80240230 AFB50374 */ sw $s5, 0x374($sp) +/* A642C4 80240234 AFB40370 */ sw $s4, 0x370($sp) +/* A642C8 80240238 AFB3036C */ sw $s3, 0x36c($sp) +/* A642CC 8024023C AFB20368 */ sw $s2, 0x368($sp) +/* A642D0 80240240 AFB10364 */ sw $s1, 0x364($sp) +/* A642D4 80240244 AFB00360 */ sw $s0, 0x360($sp) +/* A642D8 80240248 F7B40380 */ sdc1 $f20, 0x380($sp) +/* A642DC 8024024C 8ED20148 */ lw $s2, 0x148($s6) +/* A642E0 80240250 86440008 */ lh $a0, 8($s2) +/* A642E4 80240254 0C00EABB */ jal get_npc_unsafe +/* A642E8 80240258 00A0802D */ daddu $s0, $a1, $zero +/* A642EC 8024025C 86440008 */ lh $a0, 8($s2) +/* A642F0 80240260 0040882D */ daddu $s1, $v0, $zero +/* A642F4 80240264 0C00FB3A */ jal get_enemy +/* A642F8 80240268 2484FFFF */ addiu $a0, $a0, -1 +/* A642FC 8024026C 84440008 */ lh $a0, 8($v0) +/* A64300 80240270 0C00EABB */ jal get_npc_unsafe +/* A64304 80240274 0000A82D */ daddu $s5, $zero, $zero +/* A64308 80240278 27B30020 */ addiu $s3, $sp, 0x20 +/* A6430C 8024027C 16000005 */ bnez $s0, .L80240294 +/* A64310 80240280 0040A02D */ daddu $s4, $v0, $zero +/* A64314 80240284 8E4200B0 */ lw $v0, 0xb0($s2) +/* A64318 80240288 30420004 */ andi $v0, $v0, 4 +/* A6431C 8024028C 10400018 */ beqz $v0, .L802402F0 +/* A64320 80240290 00000000 */ nop +.L80240294: +/* A64324 80240294 3C030024 */ lui $v1, 0x24 +/* A64328 80240298 34630102 */ ori $v1, $v1, 0x102 +/* A6432C 8024029C 3C041620 */ lui $a0, 0x1620 +/* A64330 802402A0 AEC00070 */ sw $zero, 0x70($s6) +/* A64334 802402A4 8E220000 */ lw $v0, ($s1) +/* A64338 802402A8 34840040 */ ori $a0, $a0, 0x40 +/* A6433C 802402AC A620008E */ sh $zero, 0x8e($s1) +/* A64340 802402B0 00431025 */ or $v0, $v0, $v1 +/* A64344 802402B4 AE220000 */ sw $v0, ($s1) +/* A64348 802402B8 8E420000 */ lw $v0, ($s2) +/* A6434C 802402BC 3C013ECC */ lui $at, 0x3ecc +/* A64350 802402C0 3421CCCD */ ori $at, $at, 0xcccd +/* A64354 802402C4 44810000 */ mtc1 $at, $f0 +/* A64358 802402C8 00441025 */ or $v0, $v0, $a0 +/* A6435C 802402CC AE420000 */ sw $v0, ($s2) +/* A64360 802402D0 E6200054 */ swc1 $f0, 0x54($s1) +/* A64364 802402D4 E6200058 */ swc1 $f0, 0x58($s1) +/* A64368 802402D8 8E4300B0 */ lw $v1, 0xb0($s2) +/* A6436C 802402DC 30620004 */ andi $v0, $v1, 4 +/* A64370 802402E0 10400003 */ beqz $v0, .L802402F0 +/* A64374 802402E4 2402FFFB */ addiu $v0, $zero, -5 +/* A64378 802402E8 00621024 */ and $v0, $v1, $v0 +/* A6437C 802402EC AE4200B0 */ sw $v0, 0xb0($s2) +.L802402F0: +/* A64380 802402F0 8EC30070 */ lw $v1, 0x70($s6) +/* A64384 802402F4 2C620005 */ sltiu $v0, $v1, 5 +/* A64388 802402F8 10400101 */ beqz $v0, .L80240700 +/* A6438C 802402FC 00031080 */ sll $v0, $v1, 2 +/* A64390 80240300 3C018024 */ lui $at, 0x8024 +/* A64394 80240304 00220821 */ addu $at, $at, $v0 +/* A64398 80240308 8C222F70 */ lw $v0, 0x2f70($at) +/* A6439C 8024030C 00400008 */ jr $v0 +/* A643A0 80240310 00000000 */ nop +/* A643A4 80240314 3C01C47A */ lui $at, 0xc47a +/* A643A8 80240318 44810000 */ mtc1 $at, $f0 +/* A643AC 8024031C 24020014 */ addiu $v0, $zero, 0x14 +/* A643B0 80240320 AE400078 */ sw $zero, 0x78($s2) +/* A643B4 80240324 A62200A6 */ sh $v0, 0xa6($s1) +/* A643B8 80240328 A62200A8 */ sh $v0, 0xa8($s1) +/* A643BC 8024032C 24020001 */ addiu $v0, $zero, 1 +/* A643C0 80240330 AE200038 */ sw $zero, 0x38($s1) +/* A643C4 80240334 AE200040 */ sw $zero, 0x40($s1) +/* A643C8 80240338 E620003C */ swc1 $f0, 0x3c($s1) +/* A643CC 8024033C AE40006C */ sw $zero, 0x6c($s2) +/* A643D0 80240340 AEC20070 */ sw $v0, 0x70($s6) +/* A643D4 80240344 8E50006C */ lw $s0, 0x6c($s2) +/* A643D8 80240348 24020001 */ addiu $v0, $zero, 1 +/* A643DC 8024034C 160200EC */ bne $s0, $v0, .L80240700 +/* A643E0 80240350 24150002 */ addiu $s5, $zero, 2 +/* A643E4 80240354 AE55006C */ sw $s5, 0x6c($s2) +/* A643E8 80240358 C6800038 */ lwc1 $f0, 0x38($s4) +/* A643EC 8024035C E6600038 */ swc1 $f0, 0x38($s3) +/* A643F0 80240360 C680003C */ lwc1 $f0, 0x3c($s4) +/* A643F4 80240364 E660003C */ swc1 $f0, 0x3c($s3) +/* A643F8 80240368 C6800040 */ lwc1 $f0, 0x40($s4) +/* A643FC 8024036C E6600040 */ swc1 $f0, 0x40($s3) +/* A64400 80240370 C6820034 */ lwc1 $f2, 0x34($s4) +/* A64404 80240374 3C014387 */ lui $at, 0x4387 +/* A64408 80240378 44810000 */ mtc1 $at, $f0 +/* A6440C 8024037C 00000000 */ nop +/* A64410 80240380 46020001 */ sub.s $f0, $f0, $f2 +/* A64414 80240384 C6480074 */ lwc1 $f8, 0x74($s2) +/* A64418 80240388 46804220 */ cvt.s.w $f8, $f8 +/* A6441C 8024038C 44054000 */ mfc1 $a1, $f8 +/* A64420 80240390 44060000 */ mfc1 $a2, $f0 +/* A64424 80240394 0C00EA95 */ jal npc_move_heading +/* A64428 80240398 0260202D */ daddu $a0, $s3, $zero +/* A6442C 8024039C C6600038 */ lwc1 $f0, 0x38($s3) +/* A64430 802403A0 E6200038 */ swc1 $f0, 0x38($s1) +/* A64434 802403A4 C680003C */ lwc1 $f0, 0x3c($s4) +/* A64438 802403A8 C6420070 */ lwc1 $f2, 0x70($s2) +/* A6443C 802403AC 468010A0 */ cvt.s.w $f2, $f2 +/* A64440 802403B0 46020000 */ add.s $f0, $f0, $f2 +/* A64444 802403B4 3C014024 */ lui $at, 0x4024 +/* A64448 802403B8 4481A800 */ mtc1 $at, $f21 +/* A6444C 802403BC 4480A000 */ mtc1 $zero, $f20 +/* A64450 802403C0 E620003C */ swc1 $f0, 0x3c($s1) +/* A64454 802403C4 C6600040 */ lwc1 $f0, 0x40($s3) +/* A64458 802403C8 E6200040 */ swc1 $f0, 0x40($s1) +/* A6445C 802403CC A2500007 */ sb $s0, 7($s2) +/* A64460 802403D0 C6200038 */ lwc1 $f0, 0x38($s1) +/* A64464 802403D4 3C014066 */ lui $at, 0x4066 +/* A64468 802403D8 34216666 */ ori $at, $at, 0x6666 +/* A6446C 802403DC 44811000 */ mtc1 $at, $f2 +/* A64470 802403E0 4600020D */ trunc.w.s $f8, $f0 +/* A64474 802403E4 44024000 */ mfc1 $v0, $f8 +/* A64478 802403E8 00000000 */ nop +/* A6447C 802403EC A6420010 */ sh $v0, 0x10($s2) +/* A64480 802403F0 C620003C */ lwc1 $f0, 0x3c($s1) +/* A64484 802403F4 3C13800F */ lui $s3, %hi(gPlayerStatusPtr) +/* A64488 802403F8 26737B30 */ addiu $s3, $s3, %lo(gPlayerStatusPtr) +/* A6448C 802403FC 4600020D */ trunc.w.s $f8, $f0 +/* A64490 80240400 44024000 */ mfc1 $v0, $f8 +/* A64494 80240404 00000000 */ nop +/* A64498 80240408 A6420012 */ sh $v0, 0x12($s2) +/* A6449C 8024040C C6200040 */ lwc1 $f0, 0x40($s1) +/* A644A0 80240410 8E630000 */ lw $v1, ($s3) +/* A644A4 80240414 4600020D */ trunc.w.s $f8, $f0 +/* A644A8 80240418 44024000 */ mfc1 $v0, $f8 +/* A644AC 8024041C 00000000 */ nop +/* A644B0 80240420 A6420014 */ sh $v0, 0x14($s2) +/* A644B4 80240424 E6220018 */ swc1 $f2, 0x18($s1) +/* A644B8 80240428 C460002C */ lwc1 $f0, 0x2c($v1) +/* A644BC 8024042C C6220038 */ lwc1 $f2, 0x38($s1) +/* A644C0 80240430 46000021 */ cvt.d.s $f0, $f0 +/* A644C4 80240434 46340000 */ add.d $f0, $f0, $f20 +/* A644C8 80240438 C4640028 */ lwc1 $f4, 0x28($v1) +/* A644CC 8024043C 44806000 */ mtc1 $zero, $f12 +/* A644D0 80240440 46041081 */ sub.s $f2, $f2, $f4 +/* A644D4 80240444 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A644D8 80240448 46200020 */ cvt.s.d $f0, $f0 +/* A644DC 8024044C 46001085 */ abs.s $f2, $f2 +/* A644E0 80240450 44070000 */ mfc1 $a3, $f0 +/* A644E4 80240454 44061000 */ mfc1 $a2, $f2 +/* A644E8 80240458 0C00A720 */ jal atan2 +/* A644EC 8024045C 00000000 */ nop +/* A644F0 80240460 3C018024 */ lui $at, 0x8024 +/* A644F4 80240464 D4222F88 */ ldc1 $f2, 0x2f88($at) +/* A644F8 80240468 46000021 */ cvt.d.s $f0, $f0 +/* A644FC 8024046C 46220001 */ sub.d $f0, $f0, $f2 +/* A64500 80240470 46200020 */ cvt.s.d $f0, $f0 +/* A64504 80240474 4600020D */ trunc.w.s $f8, $f0 +/* A64508 80240478 44044000 */ mfc1 $a0, $f8 +/* A6450C 8024047C 00000000 */ nop +/* A64510 80240480 00042400 */ sll $a0, $a0, 0x10 +/* A64514 80240484 0C00A4F5 */ jal cosine +/* A64518 80240488 00042403 */ sra $a0, $a0, 0x10 +/* A6451C 8024048C C6220018 */ lwc1 $f2, 0x18($s1) +/* A64520 80240490 46020002 */ mul.s $f0, $f0, $f2 +/* A64524 80240494 00000000 */ nop +/* A64528 80240498 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A6452C 8024049C C62E0040 */ lwc1 $f14, 0x40($s1) +/* A64530 802404A0 8E620000 */ lw $v0, ($s3) +/* A64534 802404A4 E620001C */ swc1 $f0, 0x1c($s1) +/* A64538 802404A8 8C460028 */ lw $a2, 0x28($v0) +/* A6453C 802404AC 0C00A720 */ jal atan2 +/* A64540 802404B0 8C470030 */ lw $a3, 0x30($v0) +/* A64544 802404B4 8E620000 */ lw $v0, ($s3) +/* A64548 802404B8 E620000C */ swc1 $f0, 0xc($s1) +/* A6454C 802404BC C440002C */ lwc1 $f0, 0x2c($v0) +/* A64550 802404C0 46000021 */ cvt.d.s $f0, $f0 +/* A64554 802404C4 46340000 */ add.d $f0, $f0, $f20 +/* A64558 802404C8 46200020 */ cvt.s.d $f0, $f0 +/* A6455C 802404CC E7A00010 */ swc1 $f0, 0x10($sp) +/* A64560 802404D0 C4400030 */ lwc1 $f0, 0x30($v0) +/* A64564 802404D4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A64568 802404D8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A6456C 802404DC C62E003C */ lwc1 $f14, 0x3c($s1) +/* A64570 802404E0 8E260040 */ lw $a2, 0x40($s1) +/* A64574 802404E4 0C00A7CB */ jal dist3D +/* A64578 802404E8 8C470028 */ lw $a3, 0x28($v0) +/* A6457C 802404EC C6220018 */ lwc1 $f2, 0x18($s1) +/* A64580 802404F0 46020003 */ div.s $f0, $f0, $f2 +/* A64584 802404F4 4600020D */ trunc.w.s $f8, $f0 +/* A64588 802404F8 44104000 */ mfc1 $s0, $f8 +/* A6458C 802404FC 00000000 */ nop +/* A64590 80240500 5A000001 */ blezl $s0, .L80240508 +/* A64594 80240504 24100001 */ addiu $s0, $zero, 1 +.L80240508: +/* A64598 80240508 8E620000 */ lw $v0, ($s3) +/* A6459C 8024050C C624003C */ lwc1 $f4, 0x3c($s1) +/* A645A0 80240510 3C014120 */ lui $at, 0x4120 +/* A645A4 80240514 44811000 */ mtc1 $at, $f2 +/* A645A8 80240518 C4400028 */ lwc1 $f0, 0x28($v0) +/* A645AC 8024051C E7A00010 */ swc1 $f0, 0x10($sp) +/* A645B0 80240520 C440002C */ lwc1 $f0, 0x2c($v0) +/* A645B4 80240524 46020000 */ add.s $f0, $f0, $f2 +/* A645B8 80240528 3C014160 */ lui $at, 0x4160 +/* A645BC 8024052C 44811000 */ mtc1 $at, $f2 +/* A645C0 80240530 00000000 */ nop +/* A645C4 80240534 46022100 */ add.s $f4, $f4, $f2 +/* A645C8 80240538 46020000 */ add.s $f0, $f0, $f2 +/* A645CC 8024053C 44062000 */ mfc1 $a2, $f4 +/* A645D0 80240540 E7A00014 */ swc1 $f0, 0x14($sp) +/* A645D4 80240544 C4400030 */ lwc1 $f0, 0x30($v0) +/* A645D8 80240548 AFB0001C */ sw $s0, 0x1c($sp) +/* A645DC 8024054C E7A00018 */ swc1 $f0, 0x18($sp) +/* A645E0 80240550 8E250038 */ lw $a1, 0x38($s1) +/* A645E4 80240554 8E270040 */ lw $a3, 0x40($s1) +/* A645E8 80240558 0C01BFD4 */ jal func_8006FF50 +/* A645EC 8024055C 0000202D */ daddu $a0, $zero, $zero +/* A645F0 80240560 AE420078 */ sw $v0, 0x78($s2) +/* A645F4 80240564 A630008E */ sh $s0, 0x8e($s1) +/* A645F8 80240568 080901C0 */ j .L80240700 +/* A645FC 8024056C AED50070 */ sw $s5, 0x70($s6) +/* A64600 80240570 9622008E */ lhu $v0, 0x8e($s1) +/* A64604 80240574 2442FFFF */ addiu $v0, $v0, -1 +/* A64608 80240578 A622008E */ sh $v0, 0x8e($s1) +/* A6460C 8024057C 00021400 */ sll $v0, $v0, 0x10 +/* A64610 80240580 58400001 */ blezl $v0, .L80240588 +/* A64614 80240584 24150014 */ addiu $s5, $zero, 0x14 +.L80240588: +/* A64618 80240588 16A0000A */ bnez $s5, .L802405B4 +/* A6461C 8024058C 00000000 */ nop +/* A64620 80240590 8E250018 */ lw $a1, 0x18($s1) +/* A64624 80240594 8E26000C */ lw $a2, 0xc($s1) +/* A64628 80240598 0C00EA95 */ jal npc_move_heading +/* A6462C 8024059C 0220202D */ daddu $a0, $s1, $zero +/* A64630 802405A0 C620003C */ lwc1 $f0, 0x3c($s1) +/* A64634 802405A4 C622001C */ lwc1 $f2, 0x1c($s1) +/* A64638 802405A8 46020000 */ add.s $f0, $f0, $f2 +/* A6463C 802405AC 080901C0 */ j .L80240700 +/* A64640 802405B0 E620003C */ swc1 $f0, 0x3c($s1) +.L802405B4: +/* A64644 802405B4 862200A8 */ lh $v0, 0xa8($s1) +/* A64648 802405B8 3C013FE0 */ lui $at, 0x3fe0 +/* A6464C 802405BC 44810800 */ mtc1 $at, $f1 +/* A64650 802405C0 44800000 */ mtc1 $zero, $f0 +/* A64654 802405C4 44821000 */ mtc1 $v0, $f2 +/* A64658 802405C8 00000000 */ nop +/* A6465C 802405CC 468010A1 */ cvt.d.w $f2, $f2 +/* A64660 802405D0 46201082 */ mul.d $f2, $f2, $f0 +/* A64664 802405D4 00000000 */ nop +/* A64668 802405D8 C620003C */ lwc1 $f0, 0x3c($s1) +/* A6466C 802405DC AE20001C */ sw $zero, 0x1c($s1) +/* A64670 802405E0 46000021 */ cvt.d.s $f0, $f0 +/* A64674 802405E4 46220001 */ sub.d $f0, $f0, $f2 +/* A64678 802405E8 AE200018 */ sw $zero, 0x18($s1) +/* A6467C 802405EC 24020003 */ addiu $v0, $zero, 3 +/* A64680 802405F0 46200020 */ cvt.s.d $f0, $f0 +/* A64684 802405F4 E620003C */ swc1 $f0, 0x3c($s1) +/* A64688 802405F8 AE42006C */ sw $v0, 0x6c($s2) +/* A6468C 802405FC 24020004 */ addiu $v0, $zero, 4 +/* A64690 80240600 A620008E */ sh $zero, 0x8e($s1) +/* A64694 80240604 080901C0 */ j .L80240700 +/* A64698 80240608 AEC20070 */ sw $v0, 0x70($s6) +/* A6469C 8024060C 9622008E */ lhu $v0, 0x8e($s1) +/* A646A0 80240610 24420001 */ addiu $v0, $v0, 1 +/* A646A4 80240614 A622008E */ sh $v0, 0x8e($s1) +/* A646A8 80240618 00021400 */ sll $v0, $v0, 0x10 +/* A646AC 8024061C 00021C03 */ sra $v1, $v0, 0x10 +/* A646B0 80240620 28620007 */ slti $v0, $v1, 7 +/* A646B4 80240624 10400027 */ beqz $v0, .L802406C4 +/* A646B8 80240628 24020007 */ addiu $v0, $zero, 7 +/* A646BC 8024062C 8622008E */ lh $v0, 0x8e($s1) +/* A646C0 80240630 3C01401C */ lui $at, 0x401c +/* A646C4 80240634 44810800 */ mtc1 $at, $f1 +/* A646C8 80240638 44800000 */ mtc1 $zero, $f0 +/* A646CC 8024063C 44822000 */ mtc1 $v0, $f4 +/* A646D0 80240640 00000000 */ nop +/* A646D4 80240644 46802120 */ cvt.s.w $f4, $f4 +/* A646D8 80240648 46002121 */ cvt.d.s $f4, $f4 +/* A646DC 8024064C 46202102 */ mul.d $f4, $f4, $f0 +/* A646E0 80240650 00000000 */ nop +/* A646E4 80240654 44821000 */ mtc1 $v0, $f2 +/* A646E8 80240658 00000000 */ nop +/* A646EC 8024065C 468010A0 */ cvt.s.w $f2, $f2 +/* A646F0 80240660 460010A1 */ cvt.d.s $f2, $f2 +/* A646F4 80240664 46201082 */ mul.d $f2, $f2, $f0 +/* A646F8 80240668 00000000 */ nop +/* A646FC 8024066C C620003C */ lwc1 $f0, 0x3c($s1) +/* A64700 80240670 3C01400C */ lui $at, 0x400c +/* A64704 80240674 44813800 */ mtc1 $at, $f7 +/* A64708 80240678 44803000 */ mtc1 $zero, $f6 +/* A6470C 8024067C 46000021 */ cvt.d.s $f0, $f0 +/* A64710 80240680 46260001 */ sub.d $f0, $f0, $f6 +/* A64714 80240684 3C014034 */ lui $at, 0x4034 +/* A64718 80240688 44813800 */ mtc1 $at, $f7 +/* A6471C 8024068C 44803000 */ mtc1 $zero, $f6 +/* A64720 80240690 00000000 */ nop +/* A64724 80240694 46262100 */ add.d $f4, $f4, $f6 +/* A64728 80240698 46200020 */ cvt.s.d $f0, $f0 +/* A6472C 8024069C E620003C */ swc1 $f0, 0x3c($s1) +/* A64730 802406A0 46261080 */ add.d $f2, $f2, $f6 +/* A64734 802406A4 4620220D */ trunc.w.d $f8, $f4 +/* A64738 802406A8 44024000 */ mfc1 $v0, $f8 +/* A6473C 802406AC 00000000 */ nop +/* A64740 802406B0 A62200A6 */ sh $v0, 0xa6($s1) +/* A64744 802406B4 4620120D */ trunc.w.d $f8, $f2 +/* A64748 802406B8 44024000 */ mfc1 $v0, $f8 +/* A6474C 802406BC 080901C0 */ j .L80240700 +/* A64750 802406C0 A62200A8 */ sh $v0, 0xa8($s1) +.L802406C4: +/* A64754 802406C4 1462000A */ bne $v1, $v0, .L802406F0 +/* A64758 802406C8 28620010 */ slti $v0, $v1, 0x10 +/* A6475C 802406CC 3C01C47A */ lui $at, 0xc47a +/* A64760 802406D0 44810000 */ mtc1 $at, $f0 +/* A64764 802406D4 24020014 */ addiu $v0, $zero, 0x14 +/* A64768 802406D8 AE200038 */ sw $zero, 0x38($s1) +/* A6476C 802406DC AE200040 */ sw $zero, 0x40($s1) +/* A64770 802406E0 A62200A6 */ sh $v0, 0xa6($s1) +/* A64774 802406E4 A62200A8 */ sh $v0, 0xa8($s1) +/* A64778 802406E8 080901C0 */ j .L80240700 +/* A6477C 802406EC E620003C */ swc1 $f0, 0x3c($s1) +.L802406F0: +/* A64780 802406F0 14400003 */ bnez $v0, .L80240700 +/* A64784 802406F4 00000000 */ nop +/* A64788 802406F8 AE40006C */ sw $zero, 0x6c($s2) +/* A6478C 802406FC AEC00070 */ sw $zero, 0x70($s6) +.L80240700: +/* A64790 80240700 8FBF037C */ lw $ra, 0x37c($sp) +/* A64794 80240704 8FB60378 */ lw $s6, 0x378($sp) +/* A64798 80240708 8FB50374 */ lw $s5, 0x374($sp) +/* A6479C 8024070C 8FB40370 */ lw $s4, 0x370($sp) +/* A647A0 80240710 8FB3036C */ lw $s3, 0x36c($sp) +/* A647A4 80240714 8FB20368 */ lw $s2, 0x368($sp) +/* A647A8 80240718 8FB10364 */ lw $s1, 0x364($sp) +/* A647AC 8024071C 8FB00360 */ lw $s0, 0x360($sp) +/* A647B0 80240720 D7B40380 */ ldc1 $f20, 0x380($sp) +/* A647B4 80240724 0000102D */ daddu $v0, $zero, $zero +/* A647B8 80240728 03E00008 */ jr $ra +/* A647BC 8024072C 27BD0388 */ addiu $sp, $sp, 0x388 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240730_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240730_A64090.s new file mode 100644 index 0000000000..4fdc08270f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240730_A64090.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_A647C0 +/* A647C0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A647C4 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* A647C8 80240738 0080882D */ daddu $s1, $a0, $zero +/* A647CC 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* A647D0 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* A647D4 80240744 8E300148 */ lw $s0, 0x148($s1) +/* A647D8 80240748 0C00EABB */ jal get_npc_unsafe +/* A647DC 8024074C 86040008 */ lh $a0, 8($s0) +/* A647E0 80240750 0040282D */ daddu $a1, $v0, $zero +/* A647E4 80240754 94A2008E */ lhu $v0, 0x8e($a1) +/* A647E8 80240758 2442FFFF */ addiu $v0, $v0, -1 +/* A647EC 8024075C A4A2008E */ sh $v0, 0x8e($a1) +/* A647F0 80240760 00021400 */ sll $v0, $v0, 0x10 +/* A647F4 80240764 1C40000A */ bgtz $v0, .L80240790 +/* A647F8 80240768 2404FFFD */ addiu $a0, $zero, -3 +/* A647FC 8024076C 8E0300CC */ lw $v1, 0xcc($s0) +/* A64800 80240770 8CA20000 */ lw $v0, ($a1) +/* A64804 80240774 8C630000 */ lw $v1, ($v1) +/* A64808 80240778 00441024 */ and $v0, $v0, $a0 +/* A6480C 8024077C ACA20000 */ sw $v0, ($a1) +/* A64810 80240780 24020001 */ addiu $v0, $zero, 1 +/* A64814 80240784 A4A0008E */ sh $zero, 0x8e($a1) +/* A64818 80240788 ACA30028 */ sw $v1, 0x28($a1) +/* A6481C 8024078C AE220070 */ sw $v0, 0x70($s1) +.L80240790: +/* A64820 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* A64824 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* A64828 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* A6482C 8024079C 03E00008 */ jr $ra +/* A64830 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802407A4.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802407A4.s new file mode 100644 index 0000000000..b8ffbce22a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802407A4.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4 +/* A64834 802407A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A64838 802407A8 AFB3001C */ sw $s3, 0x1c($sp) +/* A6483C 802407AC 0080982D */ daddu $s3, $a0, $zero +/* A64840 802407B0 AFBF0020 */ sw $ra, 0x20($sp) +/* A64844 802407B4 AFB20018 */ sw $s2, 0x18($sp) +/* A64848 802407B8 AFB10014 */ sw $s1, 0x14($sp) +/* A6484C 802407BC AFB00010 */ sw $s0, 0x10($sp) +/* A64850 802407C0 8E720148 */ lw $s2, 0x148($s3) +/* A64854 802407C4 0C00EABB */ jal get_npc_unsafe +/* A64858 802407C8 86440008 */ lh $a0, 8($s2) +/* A6485C 802407CC 0040802D */ daddu $s0, $v0, $zero +/* A64860 802407D0 8603008E */ lh $v1, 0x8e($s0) +/* A64864 802407D4 3C118024 */ lui $s1, 0x8024 +/* A64868 802407D8 26312050 */ addiu $s1, $s1, 0x2050 +/* A6486C 802407DC 00031040 */ sll $v0, $v1, 1 +/* A64870 802407E0 00431021 */ addu $v0, $v0, $v1 +/* A64874 802407E4 00021080 */ sll $v0, $v0, 2 +/* A64878 802407E8 3C018024 */ lui $at, 0x8024 +/* A6487C 802407EC 00220821 */ addu $at, $at, $v0 +/* A64880 802407F0 C4202050 */ lwc1 $f0, 0x2050($at) +/* A64884 802407F4 00031040 */ sll $v0, $v1, 1 +/* A64888 802407F8 00431021 */ addu $v0, $v0, $v1 +/* A6488C 802407FC 00021080 */ sll $v0, $v0, 2 +/* A64890 80240800 E6000054 */ swc1 $f0, 0x54($s0) +/* A64894 80240804 3C018024 */ lui $at, 0x8024 +/* A64898 80240808 00220821 */ addu $at, $at, $v0 +/* A6489C 8024080C C4202054 */ lwc1 $f0, 0x2054($at) +/* A648A0 80240810 00031040 */ sll $v0, $v1, 1 +/* A648A4 80240814 00431021 */ addu $v0, $v0, $v1 +/* A648A8 80240818 9603008E */ lhu $v1, 0x8e($s0) +/* A648AC 8024081C 00021080 */ sll $v0, $v0, 2 +/* A648B0 80240820 E6000058 */ swc1 $f0, 0x58($s0) +/* A648B4 80240824 3C018024 */ lui $at, 0x8024 +/* A648B8 80240828 00220821 */ addu $at, $at, $v0 +/* A648BC 8024082C 90222058 */ lbu $v0, 0x2058($at) +/* A648C0 80240830 24630001 */ addiu $v1, $v1, 1 +/* A648C4 80240834 A603008E */ sh $v1, 0x8e($s0) +/* A648C8 80240838 00031C00 */ sll $v1, $v1, 0x10 +/* A648CC 8024083C 00031C03 */ sra $v1, $v1, 0x10 +/* A648D0 80240840 A20200AC */ sb $v0, 0xac($s0) +/* A648D4 80240844 24020004 */ addiu $v0, $zero, 4 +/* A648D8 80240848 14620007 */ bne $v1, $v0, .L80240868 +/* A648DC 8024084C 00000000 */ nop +/* A648E0 80240850 0C00EAFF */ jal disable_npc_shadow +/* A648E4 80240854 0200202D */ daddu $a0, $s0, $zero +/* A648E8 80240858 8E420000 */ lw $v0, ($s2) +/* A648EC 8024085C 3C031F10 */ lui $v1, 0x1f10 +/* A648F0 80240860 00431025 */ or $v0, $v0, $v1 +/* A648F4 80240864 AE420000 */ sw $v0, ($s2) +.L80240868: +/* A648F8 80240868 8602008E */ lh $v0, 0x8e($s0) +/* A648FC 8024086C 00021840 */ sll $v1, $v0, 1 +/* A64900 80240870 00621821 */ addu $v1, $v1, $v0 +/* A64904 80240874 00031880 */ sll $v1, $v1, 2 +/* A64908 80240878 00711821 */ addu $v1, $v1, $s1 +/* A6490C 8024087C 90620008 */ lbu $v0, 8($v1) +/* A64910 80240880 1440000C */ bnez $v0, .L802408B4 +/* A64914 80240884 240200FF */ addiu $v0, $zero, 0xff +/* A64918 80240888 A20200AC */ sb $v0, 0xac($s0) +/* A6491C 8024088C 24020005 */ addiu $v0, $zero, 5 +/* A64920 80240890 8E030000 */ lw $v1, ($s0) +/* A64924 80240894 3C013F80 */ lui $at, 0x3f80 +/* A64928 80240898 44810000 */ mtc1 $at, $f0 +/* A6492C 8024089C 34630002 */ ori $v1, $v1, 2 +/* A64930 802408A0 E6000054 */ swc1 $f0, 0x54($s0) +/* A64934 802408A4 E6000058 */ swc1 $f0, 0x58($s0) +/* A64938 802408A8 E600005C */ swc1 $f0, 0x5c($s0) +/* A6493C 802408AC AE030000 */ sw $v1, ($s0) +/* A64940 802408B0 AE620070 */ sw $v0, 0x70($s3) +.L802408B4: +/* A64944 802408B4 8FBF0020 */ lw $ra, 0x20($sp) +/* A64948 802408B8 8FB3001C */ lw $s3, 0x1c($sp) +/* A6494C 802408BC 8FB20018 */ lw $s2, 0x18($sp) +/* A64950 802408C0 8FB10014 */ lw $s1, 0x14($sp) +/* A64954 802408C4 8FB00010 */ lw $s0, 0x10($sp) +/* A64958 802408C8 03E00008 */ jr $ra +/* A6495C 802408CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802408D0_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802408D0_A64090.s new file mode 100644 index 0000000000..b24fc0615c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802408D0_A64090.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_A64960 +/* A64960 802408D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A64964 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* A64968 802408D8 0080882D */ daddu $s1, $a0, $zero +/* A6496C 802408DC AFBF0018 */ sw $ra, 0x18($sp) +/* A64970 802408E0 AFB00010 */ sw $s0, 0x10($sp) +/* A64974 802408E4 8E220148 */ lw $v0, 0x148($s1) +/* A64978 802408E8 0C00EABB */ jal get_npc_unsafe +/* A6497C 802408EC 84440008 */ lh $a0, 8($v0) +/* A64980 802408F0 24040064 */ addiu $a0, $zero, 0x64 +/* A64984 802408F4 0C00A67F */ jal rand_int +/* A64988 802408F8 0040802D */ daddu $s0, $v0, $zero +/* A6498C 802408FC 00021FC2 */ srl $v1, $v0, 0x1f +/* A64990 80240900 00431821 */ addu $v1, $v0, $v1 +/* A64994 80240904 00031843 */ sra $v1, $v1, 1 +/* A64998 80240908 00031840 */ sll $v1, $v1, 1 +/* A6499C 8024090C 00431023 */ subu $v0, $v0, $v1 +/* A649A0 80240910 3C014334 */ lui $at, 0x4334 +/* A649A4 80240914 44811000 */ mtc1 $at, $f2 +/* A649A8 80240918 44820000 */ mtc1 $v0, $f0 +/* A649AC 8024091C 00000000 */ nop +/* A649B0 80240920 46800020 */ cvt.s.w $f0, $f0 +/* A649B4 80240924 46020002 */ mul.s $f0, $f0, $f2 +/* A649B8 80240928 00000000 */ nop +/* A649BC 8024092C 3C013F4C */ lui $at, 0x3f4c +/* A649C0 80240930 3421CCCD */ ori $at, $at, 0xcccd +/* A649C4 80240934 44812000 */ mtc1 $at, $f4 +/* A649C8 80240938 3C0142B4 */ lui $at, 0x42b4 +/* A649CC 8024093C 44811000 */ mtc1 $at, $f2 +/* A649D0 80240940 2402000F */ addiu $v0, $zero, 0xf +/* A649D4 80240944 A602008E */ sh $v0, 0x8e($s0) +/* A649D8 80240948 46020000 */ add.s $f0, $f0, $f2 +/* A649DC 8024094C 24020006 */ addiu $v0, $zero, 6 +/* A649E0 80240950 E6040018 */ swc1 $f4, 0x18($s0) +/* A649E4 80240954 E600000C */ swc1 $f0, 0xc($s0) +/* A649E8 80240958 AE220070 */ sw $v0, 0x70($s1) +/* A649EC 8024095C 8FBF0018 */ lw $ra, 0x18($sp) +/* A649F0 80240960 8FB10014 */ lw $s1, 0x14($sp) +/* A649F4 80240964 8FB00010 */ lw $s0, 0x10($sp) +/* A649F8 80240968 03E00008 */ jr $ra +/* A649FC 8024096C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240970_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240970_A64090.s new file mode 100644 index 0000000000..60923b808d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240970_A64090.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240970_A64A00 +/* A64A00 80240970 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A64A04 80240974 AFB10014 */ sw $s1, 0x14($sp) +/* A64A08 80240978 0080882D */ daddu $s1, $a0, $zero +/* A64A0C 8024097C AFBF0018 */ sw $ra, 0x18($sp) +/* A64A10 80240980 AFB00010 */ sw $s0, 0x10($sp) +/* A64A14 80240984 8E220148 */ lw $v0, 0x148($s1) +/* A64A18 80240988 0C00EABB */ jal get_npc_unsafe +/* A64A1C 8024098C 84440008 */ lh $a0, 8($v0) +/* A64A20 80240990 0040802D */ daddu $s0, $v0, $zero +/* A64A24 80240994 8E050018 */ lw $a1, 0x18($s0) +/* A64A28 80240998 8E06000C */ lw $a2, 0xc($s0) +/* A64A2C 8024099C 0C00EA95 */ jal npc_move_heading +/* A64A30 802409A0 0200202D */ daddu $a0, $s0, $zero +/* A64A34 802409A4 9602008E */ lhu $v0, 0x8e($s0) +/* A64A38 802409A8 2442FFFF */ addiu $v0, $v0, -1 +/* A64A3C 802409AC A602008E */ sh $v0, 0x8e($s0) +/* A64A40 802409B0 00021400 */ sll $v0, $v0, 0x10 +/* A64A44 802409B4 1C400002 */ bgtz $v0, .L802409C0 +/* A64A48 802409B8 2402000A */ addiu $v0, $zero, 0xa +/* A64A4C 802409BC AE220070 */ sw $v0, 0x70($s1) +.L802409C0: +/* A64A50 802409C0 8FBF0018 */ lw $ra, 0x18($sp) +/* A64A54 802409C4 8FB10014 */ lw $s1, 0x14($sp) +/* A64A58 802409C8 8FB00010 */ lw $s0, 0x10($sp) +/* A64A5C 802409CC 03E00008 */ jr $ra +/* A64A60 802409D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802409D4_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802409D4_A64090.s new file mode 100644 index 0000000000..7d8f9402c4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802409D4_A64090.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D4_A64A64 +/* A64A64 802409D4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A64A68 802409D8 AFB30034 */ sw $s3, 0x34($sp) +/* A64A6C 802409DC 0080982D */ daddu $s3, $a0, $zero +/* A64A70 802409E0 AFBF0038 */ sw $ra, 0x38($sp) +/* A64A74 802409E4 AFB20030 */ sw $s2, 0x30($sp) +/* A64A78 802409E8 AFB1002C */ sw $s1, 0x2c($sp) +/* A64A7C 802409EC AFB00028 */ sw $s0, 0x28($sp) +/* A64A80 802409F0 8E700148 */ lw $s0, 0x148($s3) +/* A64A84 802409F4 0C00EABB */ jal get_npc_unsafe +/* A64A88 802409F8 86040008 */ lh $a0, 8($s0) +/* A64A8C 802409FC 0040902D */ daddu $s2, $v0, $zero +/* A64A90 80240A00 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A64A94 80240A04 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A64A98 80240A08 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A64A9C 80240A0C 8E220000 */ lw $v0, ($s1) +/* A64AA0 80240A10 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A64AA4 80240A14 8C460028 */ lw $a2, 0x28($v0) +/* A64AA8 80240A18 0C00A7B5 */ jal dist2D +/* A64AAC 80240A1C 8C470030 */ lw $a3, 0x30($v0) +/* A64AB0 80240A20 24020001 */ addiu $v0, $zero, 1 +/* A64AB4 80240A24 AE02006C */ sw $v0, 0x6c($s0) +/* A64AB8 80240A28 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A64ABC 80240A2C 8E0200CC */ lw $v0, 0xcc($s0) +/* A64AC0 80240A30 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A64AC4 80240A34 8E230000 */ lw $v1, ($s1) +/* A64AC8 80240A38 8C420020 */ lw $v0, 0x20($v0) +/* A64ACC 80240A3C AE420028 */ sw $v0, 0x28($s2) +/* A64AD0 80240A40 8C660028 */ lw $a2, 0x28($v1) +/* A64AD4 80240A44 8C670030 */ lw $a3, 0x30($v1) +/* A64AD8 80240A48 0C00A720 */ jal atan2 +/* A64ADC 80240A4C E7A00024 */ swc1 $f0, 0x24($sp) +/* A64AE0 80240A50 8E420000 */ lw $v0, ($s2) +/* A64AE4 80240A54 3C013DCC */ lui $at, 0x3dcc +/* A64AE8 80240A58 3421CCCD */ ori $at, $at, 0xcccd +/* A64AEC 80240A5C 44811000 */ mtc1 $at, $f2 +/* A64AF0 80240A60 2403FFFD */ addiu $v1, $zero, -3 +/* A64AF4 80240A64 E640000C */ swc1 $f0, 0xc($s2) +/* A64AF8 80240A68 00431024 */ and $v0, $v0, $v1 +/* A64AFC 80240A6C AE420000 */ sw $v0, ($s2) +/* A64B00 80240A70 30420008 */ andi $v0, $v0, 8 +/* A64B04 80240A74 E6420054 */ swc1 $f2, 0x54($s2) +/* A64B08 80240A78 E6420058 */ swc1 $f2, 0x58($s2) +/* A64B0C 80240A7C 1440001B */ bnez $v0, .L80240AEC +/* A64B10 80240A80 E642005C */ swc1 $f2, 0x5c($s2) +/* A64B14 80240A84 27A6001C */ addiu $a2, $sp, 0x1c +/* A64B18 80240A88 27A70020 */ addiu $a3, $sp, 0x20 +/* A64B1C 80240A8C 27A20024 */ addiu $v0, $sp, 0x24 +/* A64B20 80240A90 C6420038 */ lwc1 $f2, 0x38($s2) +/* A64B24 80240A94 C640003C */ lwc1 $f0, 0x3c($s2) +/* A64B28 80240A98 3C014348 */ lui $at, 0x4348 +/* A64B2C 80240A9C 44813000 */ mtc1 $at, $f6 +/* A64B30 80240AA0 46000021 */ cvt.d.s $f0, $f0 +/* A64B34 80240AA4 E7A20018 */ swc1 $f2, 0x18($sp) +/* A64B38 80240AA8 3C014059 */ lui $at, 0x4059 +/* A64B3C 80240AAC 44811800 */ mtc1 $at, $f3 +/* A64B40 80240AB0 44801000 */ mtc1 $zero, $f2 +/* A64B44 80240AB4 C6440040 */ lwc1 $f4, 0x40($s2) +/* A64B48 80240AB8 46220000 */ add.d $f0, $f0, $f2 +/* A64B4C 80240ABC E7A60024 */ swc1 $f6, 0x24($sp) +/* A64B50 80240AC0 E7A40020 */ swc1 $f4, 0x20($sp) +/* A64B54 80240AC4 46200020 */ cvt.s.d $f0, $f0 +/* A64B58 80240AC8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A64B5C 80240ACC AFA20010 */ sw $v0, 0x10($sp) +/* A64B60 80240AD0 8E440080 */ lw $a0, 0x80($s2) +/* A64B64 80240AD4 0C0372DF */ jal func_800DCB7C +/* A64B68 80240AD8 27A50018 */ addiu $a1, $sp, 0x18 +/* A64B6C 80240ADC 10400004 */ beqz $v0, .L80240AF0 +/* A64B70 80240AE0 2402000B */ addiu $v0, $zero, 0xb +/* A64B74 80240AE4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A64B78 80240AE8 E640003C */ swc1 $f0, 0x3c($s2) +.L80240AEC: +/* A64B7C 80240AEC 2402000B */ addiu $v0, $zero, 0xb +.L80240AF0: +/* A64B80 80240AF0 A640008E */ sh $zero, 0x8e($s2) +/* A64B84 80240AF4 AE620070 */ sw $v0, 0x70($s3) +/* A64B88 80240AF8 8FBF0038 */ lw $ra, 0x38($sp) +/* A64B8C 80240AFC 8FB30034 */ lw $s3, 0x34($sp) +/* A64B90 80240B00 8FB20030 */ lw $s2, 0x30($sp) +/* A64B94 80240B04 8FB1002C */ lw $s1, 0x2c($sp) +/* A64B98 80240B08 8FB00028 */ lw $s0, 0x28($sp) +/* A64B9C 80240B0C 03E00008 */ jr $ra +/* A64BA0 80240B10 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240B14.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240B14.s new file mode 100644 index 0000000000..e92914d606 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240B14.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B14 +/* A64BA4 80240B14 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A64BA8 80240B18 AFB20028 */ sw $s2, 0x28($sp) +/* A64BAC 80240B1C 0080902D */ daddu $s2, $a0, $zero +/* A64BB0 80240B20 AFBF002C */ sw $ra, 0x2c($sp) +/* A64BB4 80240B24 AFB10024 */ sw $s1, 0x24($sp) +/* A64BB8 80240B28 AFB00020 */ sw $s0, 0x20($sp) +/* A64BBC 80240B2C 8E510148 */ lw $s1, 0x148($s2) +/* A64BC0 80240B30 0C00EABB */ jal get_npc_unsafe +/* A64BC4 80240B34 86240008 */ lh $a0, 8($s1) +/* A64BC8 80240B38 8E23006C */ lw $v1, 0x6c($s1) +/* A64BCC 80240B3C 14600006 */ bnez $v1, .L80240B58 +/* A64BD0 80240B40 0040802D */ daddu $s0, $v0, $zero +/* A64BD4 80240B44 8603008E */ lh $v1, 0x8e($s0) +/* A64BD8 80240B48 00031100 */ sll $v0, $v1, 4 +/* A64BDC 80240B4C 00431023 */ subu $v0, $v0, $v1 +/* A64BE0 80240B50 080902DA */ j .L80240B68 +/* A64BE4 80240B54 24430082 */ addiu $v1, $v0, 0x82 +.L80240B58: +/* A64BE8 80240B58 8603008E */ lh $v1, 0x8e($s0) +/* A64BEC 80240B5C 00031100 */ sll $v0, $v1, 4 +/* A64BF0 80240B60 00431023 */ subu $v0, $v0, $v1 +/* A64BF4 80240B64 2443001E */ addiu $v1, $v0, 0x1e +.L80240B68: +/* A64BF8 80240B68 00031400 */ sll $v0, $v1, 0x10 +/* A64BFC 80240B6C 00021403 */ sra $v0, $v0, 0x10 +/* A64C00 80240B70 28420100 */ slti $v0, $v0, 0x100 +/* A64C04 80240B74 50400001 */ beql $v0, $zero, .L80240B7C +/* A64C08 80240B78 240300FF */ addiu $v1, $zero, 0xff +.L80240B7C: +/* A64C0C 80240B7C 8602008E */ lh $v0, 0x8e($s0) +/* A64C10 80240B80 3C018024 */ lui $at, 0x8024 +/* A64C14 80240B84 D4222F90 */ ldc1 $f2, 0x2f90($at) +/* A64C18 80240B88 44820000 */ mtc1 $v0, $f0 +/* A64C1C 80240B8C 00000000 */ nop +/* A64C20 80240B90 46800020 */ cvt.s.w $f0, $f0 +/* A64C24 80240B94 46000021 */ cvt.d.s $f0, $f0 +/* A64C28 80240B98 46220002 */ mul.d $f0, $f0, $f2 +/* A64C2C 80240B9C 00000000 */ nop +/* A64C30 80240BA0 3C018024 */ lui $at, 0x8024 +/* A64C34 80240BA4 D4222F98 */ ldc1 $f2, 0x2f98($at) +/* A64C38 80240BA8 46220000 */ add.d $f0, $f0, $f2 +/* A64C3C 80240BAC A20300AC */ sb $v1, 0xac($s0) +/* A64C40 80240BB0 3C013FF0 */ lui $at, 0x3ff0 +/* A64C44 80240BB4 44811800 */ mtc1 $at, $f3 +/* A64C48 80240BB8 44801000 */ mtc1 $zero, $f2 +/* A64C4C 80240BBC 46200020 */ cvt.s.d $f0, $f0 +/* A64C50 80240BC0 E6000054 */ swc1 $f0, 0x54($s0) +/* A64C54 80240BC4 46000021 */ cvt.d.s $f0, $f0 +/* A64C58 80240BC8 4620103C */ c.lt.d $f2, $f0 +/* A64C5C 80240BCC 00000000 */ nop +/* A64C60 80240BD0 45000005 */ bc1f .L80240BE8 +/* A64C64 80240BD4 24030005 */ addiu $v1, $zero, 5 +/* A64C68 80240BD8 3C013F80 */ lui $at, 0x3f80 +/* A64C6C 80240BDC 44810000 */ mtc1 $at, $f0 +/* A64C70 80240BE0 00000000 */ nop +/* A64C74 80240BE4 E6000054 */ swc1 $f0, 0x54($s0) +.L80240BE8: +/* A64C78 80240BE8 C6000054 */ lwc1 $f0, 0x54($s0) +/* A64C7C 80240BEC 9602008E */ lhu $v0, 0x8e($s0) +/* A64C80 80240BF0 46000086 */ mov.s $f2, $f0 +/* A64C84 80240BF4 24420001 */ addiu $v0, $v0, 1 +/* A64C88 80240BF8 A602008E */ sh $v0, 0x8e($s0) +/* A64C8C 80240BFC 00021400 */ sll $v0, $v0, 0x10 +/* A64C90 80240C00 00021403 */ sra $v0, $v0, 0x10 +/* A64C94 80240C04 E6000058 */ swc1 $f0, 0x58($s0) +/* A64C98 80240C08 14430008 */ bne $v0, $v1, .L80240C2C +/* A64C9C 80240C0C E602005C */ swc1 $f2, 0x5c($s0) +/* A64CA0 80240C10 0C00EAE8 */ jal enable_npc_shadow +/* A64CA4 80240C14 0200202D */ daddu $a0, $s0, $zero +/* A64CA8 80240C18 3C03E0EF */ lui $v1, 0xe0ef +/* A64CAC 80240C1C 8E220000 */ lw $v0, ($s1) +/* A64CB0 80240C20 3463FFFF */ ori $v1, $v1, 0xffff +/* A64CB4 80240C24 00431024 */ and $v0, $v0, $v1 +/* A64CB8 80240C28 AE220000 */ sw $v0, ($s1) +.L80240C2C: +/* A64CBC 80240C2C 8E22006C */ lw $v0, 0x6c($s1) +/* A64CC0 80240C30 1440000E */ bnez $v0, .L80240C6C +/* A64CC4 80240C34 00000000 */ nop +/* A64CC8 80240C38 8602008E */ lh $v0, 0x8e($s0) +/* A64CCC 80240C3C 28420014 */ slti $v0, $v0, 0x14 +/* A64CD0 80240C40 14400017 */ bnez $v0, .L80240CA0 +/* A64CD4 80240C44 0000282D */ daddu $a1, $zero, $zero +/* A64CD8 80240C48 00A0302D */ daddu $a2, $a1, $zero +/* A64CDC 80240C4C AFA00010 */ sw $zero, 0x10($sp) +/* A64CE0 80240C50 AFA00014 */ sw $zero, 0x14($sp) +/* A64CE4 80240C54 AFA00018 */ sw $zero, 0x18($sp) +/* A64CE8 80240C58 8E040024 */ lw $a0, 0x24($s0) +/* A64CEC 80240C5C 0C0B7A25 */ jal func_802DE894 +/* A64CF0 80240C60 00A0382D */ daddu $a3, $a1, $zero +/* A64CF4 80240C64 0809031F */ j .L80240C7C +/* A64CF8 80240C68 00000000 */ nop +.L80240C6C: +/* A64CFC 80240C6C 8602008E */ lh $v0, 0x8e($s0) +/* A64D00 80240C70 2842000A */ slti $v0, $v0, 0xa +/* A64D04 80240C74 1440000A */ bnez $v0, .L80240CA0 +/* A64D08 80240C78 00000000 */ nop +.L80240C7C: +/* A64D0C 80240C7C 3C013F80 */ lui $at, 0x3f80 +/* A64D10 80240C80 44810000 */ mtc1 $at, $f0 +/* A64D14 80240C84 240200FF */ addiu $v0, $zero, 0xff +/* A64D18 80240C88 A20200AC */ sb $v0, 0xac($s0) +/* A64D1C 80240C8C 24020014 */ addiu $v0, $zero, 0x14 +/* A64D20 80240C90 E6000054 */ swc1 $f0, 0x54($s0) +/* A64D24 80240C94 E6000058 */ swc1 $f0, 0x58($s0) +/* A64D28 80240C98 E600005C */ swc1 $f0, 0x5c($s0) +/* A64D2C 80240C9C AE420070 */ sw $v0, 0x70($s2) +.L80240CA0: +/* A64D30 80240CA0 8FBF002C */ lw $ra, 0x2c($sp) +/* A64D34 80240CA4 8FB20028 */ lw $s2, 0x28($sp) +/* A64D38 80240CA8 8FB10024 */ lw $s1, 0x24($sp) +/* A64D3C 80240CAC 8FB00020 */ lw $s0, 0x20($sp) +/* A64D40 80240CB0 03E00008 */ jr $ra +/* A64D44 80240CB4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CB8.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CB8.s new file mode 100644 index 0000000000..1755495a94 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CB8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB8 +/* A64D48 80240CB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A64D4C 80240CBC AFB00010 */ sw $s0, 0x10($sp) +/* A64D50 80240CC0 0080802D */ daddu $s0, $a0, $zero +/* A64D54 80240CC4 AFBF0014 */ sw $ra, 0x14($sp) +/* A64D58 80240CC8 8E020148 */ lw $v0, 0x148($s0) +/* A64D5C 80240CCC 0C00EABB */ jal get_npc_unsafe +/* A64D60 80240CD0 84440008 */ lh $a0, 8($v0) +/* A64D64 80240CD4 24030028 */ addiu $v1, $zero, 0x28 +/* A64D68 80240CD8 A443008E */ sh $v1, 0x8e($v0) +/* A64D6C 80240CDC 24020015 */ addiu $v0, $zero, 0x15 +/* A64D70 80240CE0 AE020070 */ sw $v0, 0x70($s0) +/* A64D74 80240CE4 8FBF0014 */ lw $ra, 0x14($sp) +/* A64D78 80240CE8 8FB00010 */ lw $s0, 0x10($sp) +/* A64D7C 80240CEC 03E00008 */ jr $ra +/* A64D80 80240CF0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CF4_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CF4_A64090.s new file mode 100644 index 0000000000..d3c7c4f450 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240CF4_A64090.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF4_A64D84 +/* A64D84 80240CF4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A64D88 80240CF8 AFB40048 */ sw $s4, 0x48($sp) +/* A64D8C 80240CFC 0080A02D */ daddu $s4, $a0, $zero +/* A64D90 80240D00 AFBF004C */ sw $ra, 0x4c($sp) +/* A64D94 80240D04 AFB30044 */ sw $s3, 0x44($sp) +/* A64D98 80240D08 AFB20040 */ sw $s2, 0x40($sp) +/* A64D9C 80240D0C AFB1003C */ sw $s1, 0x3c($sp) +/* A64DA0 80240D10 AFB00038 */ sw $s0, 0x38($sp) +/* A64DA4 80240D14 F7B40050 */ sdc1 $f20, 0x50($sp) +/* A64DA8 80240D18 8E910148 */ lw $s1, 0x148($s4) +/* A64DAC 80240D1C 00A0902D */ daddu $s2, $a1, $zero +/* A64DB0 80240D20 86240008 */ lh $a0, 8($s1) +/* A64DB4 80240D24 0C00EABB */ jal get_npc_unsafe +/* A64DB8 80240D28 00C0982D */ daddu $s3, $a2, $zero +/* A64DBC 80240D2C 0040802D */ daddu $s0, $v0, $zero +/* A64DC0 80240D30 9602008E */ lhu $v0, 0x8e($s0) +/* A64DC4 80240D34 2442FFFF */ addiu $v0, $v0, -1 +/* A64DC8 80240D38 A602008E */ sh $v0, 0x8e($s0) +/* A64DCC 80240D3C 00021400 */ sll $v0, $v0, 0x10 +/* A64DD0 80240D40 14400021 */ bnez $v0, .L80240DC8 +/* A64DD4 80240D44 0280202D */ daddu $a0, $s4, $zero +/* A64DD8 80240D48 24040002 */ addiu $a0, $zero, 2 +/* A64DDC 80240D4C 0200282D */ daddu $a1, $s0, $zero +/* A64DE0 80240D50 0000302D */ daddu $a2, $zero, $zero +/* A64DE4 80240D54 8E2200CC */ lw $v0, 0xcc($s1) +/* A64DE8 80240D58 3C013F80 */ lui $at, 0x3f80 +/* A64DEC 80240D5C 44810000 */ mtc1 $at, $f0 +/* A64DF0 80240D60 3C014000 */ lui $at, 0x4000 +/* A64DF4 80240D64 44811000 */ mtc1 $at, $f2 +/* A64DF8 80240D68 8C430000 */ lw $v1, ($v0) +/* A64DFC 80240D6C 860200A8 */ lh $v0, 0xa8($s0) +/* A64E00 80240D70 3C01C1A0 */ lui $at, 0xc1a0 +/* A64E04 80240D74 44812000 */ mtc1 $at, $f4 +/* A64E08 80240D78 44824000 */ mtc1 $v0, $f8 +/* A64E0C 80240D7C 00000000 */ nop +/* A64E10 80240D80 46804220 */ cvt.s.w $f8, $f8 +/* A64E14 80240D84 44074000 */ mfc1 $a3, $f8 +/* A64E18 80240D88 2402000C */ addiu $v0, $zero, 0xc +/* A64E1C 80240D8C AE030028 */ sw $v1, 0x28($s0) +/* A64E20 80240D90 AFA2001C */ sw $v0, 0x1c($sp) +/* A64E24 80240D94 27A20028 */ addiu $v0, $sp, 0x28 +/* A64E28 80240D98 E7A00010 */ swc1 $f0, 0x10($sp) +/* A64E2C 80240D9C E7A20014 */ swc1 $f2, 0x14($sp) +/* A64E30 80240DA0 E7A40018 */ swc1 $f4, 0x18($sp) +/* A64E34 80240DA4 0C01BFA4 */ jal fx_emote +/* A64E38 80240DA8 AFA20020 */ sw $v0, 0x20($sp) +/* A64E3C 80240DAC 8E2200CC */ lw $v0, 0xcc($s1) +/* A64E40 80240DB0 8C430000 */ lw $v1, ($v0) +/* A64E44 80240DB4 2402000F */ addiu $v0, $zero, 0xf +/* A64E48 80240DB8 A602008E */ sh $v0, 0x8e($s0) +/* A64E4C 80240DBC AE030028 */ sw $v1, 0x28($s0) +/* A64E50 80240DC0 080903A4 */ j .L80240E90 +/* A64E54 80240DC4 AE800070 */ sw $zero, 0x70($s4) +.L80240DC8: +/* A64E58 80240DC8 8E450024 */ lw $a1, 0x24($s2) +/* A64E5C 80240DCC 8E460028 */ lw $a2, 0x28($s2) +/* A64E60 80240DD0 0C090014 */ jal func_80240050 +/* A64E64 80240DD4 0260382D */ daddu $a3, $s3, $zero +/* A64E68 80240DD8 24030001 */ addiu $v1, $zero, 1 +/* A64E6C 80240DDC 1443002C */ bne $v0, $v1, .L80240E90 +/* A64E70 80240DE0 0200202D */ daddu $a0, $s0, $zero +/* A64E74 80240DE4 240520D4 */ addiu $a1, $zero, 0x20d4 +/* A64E78 80240DE8 0C012530 */ jal func_800494C0 +/* A64E7C 80240DEC 0000302D */ daddu $a2, $zero, $zero +/* A64E80 80240DF0 27A4002C */ addiu $a0, $sp, 0x2c +/* A64E84 80240DF4 27A50030 */ addiu $a1, $sp, 0x30 +/* A64E88 80240DF8 3C064188 */ lui $a2, 0x4188 +/* A64E8C 80240DFC C6020034 */ lwc1 $f2, 0x34($s0) +/* A64E90 80240E00 3C014387 */ lui $at, 0x4387 +/* A64E94 80240E04 44810000 */ mtc1 $at, $f0 +/* A64E98 80240E08 8E2200CC */ lw $v0, 0xcc($s1) +/* A64E9C 80240E0C C614003C */ lwc1 $f20, 0x3c($s0) +/* A64EA0 80240E10 46020001 */ sub.s $f0, $f0, $f2 +/* A64EA4 80240E14 3C014200 */ lui $at, 0x4200 +/* A64EA8 80240E18 44812000 */ mtc1 $at, $f4 +/* A64EAC 80240E1C C6060038 */ lwc1 $f6, 0x38($s0) +/* A64EB0 80240E20 4604A500 */ add.s $f20, $f20, $f4 +/* A64EB4 80240E24 3C013F80 */ lui $at, 0x3f80 +/* A64EB8 80240E28 44811000 */ mtc1 $at, $f2 +/* A64EBC 80240E2C 44070000 */ mfc1 $a3, $f0 +/* A64EC0 80240E30 C6000040 */ lwc1 $f0, 0x40($s0) +/* A64EC4 80240E34 8C420020 */ lw $v0, 0x20($v0) +/* A64EC8 80240E38 46020000 */ add.s $f0, $f0, $f2 +/* A64ECC 80240E3C E7A6002C */ swc1 $f6, 0x2c($sp) +/* A64ED0 80240E40 AE020028 */ sw $v0, 0x28($s0) +/* A64ED4 80240E44 0C00A7E7 */ jal add_vec2D_polar +/* A64ED8 80240E48 E7A00030 */ swc1 $f0, 0x30($sp) +/* A64EDC 80240E4C 0000202D */ daddu $a0, $zero, $zero +/* A64EE0 80240E50 4406A000 */ mfc1 $a2, $f20 +/* A64EE4 80240E54 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A64EE8 80240E58 C7A20030 */ lwc1 $f2, 0x30($sp) +/* A64EEC 80240E5C 44050000 */ mfc1 $a1, $f0 +/* A64EF0 80240E60 44071000 */ mfc1 $a3, $f2 +/* A64EF4 80240E64 3C013DCC */ lui $at, 0x3dcc +/* A64EF8 80240E68 3421CCCD */ ori $at, $at, 0xcccd +/* A64EFC 80240E6C 44810000 */ mtc1 $at, $f0 +/* A64F00 80240E70 2402000D */ addiu $v0, $zero, 0xd +/* A64F04 80240E74 AFA20014 */ sw $v0, 0x14($sp) +/* A64F08 80240E78 0C01BFEC */ jal func_8006FFB0 +/* A64F0C 80240E7C E7A00010 */ swc1 $f0, 0x10($sp) +/* A64F10 80240E80 2402000F */ addiu $v0, $zero, 0xf +/* A64F14 80240E84 A602008E */ sh $v0, 0x8e($s0) +/* A64F18 80240E88 24020016 */ addiu $v0, $zero, 0x16 +/* A64F1C 80240E8C AE820070 */ sw $v0, 0x70($s4) +.L80240E90: +/* A64F20 80240E90 8FBF004C */ lw $ra, 0x4c($sp) +/* A64F24 80240E94 8FB40048 */ lw $s4, 0x48($sp) +/* A64F28 80240E98 8FB30044 */ lw $s3, 0x44($sp) +/* A64F2C 80240E9C 8FB20040 */ lw $s2, 0x40($sp) +/* A64F30 80240EA0 8FB1003C */ lw $s1, 0x3c($sp) +/* A64F34 80240EA4 8FB00038 */ lw $s0, 0x38($sp) +/* A64F38 80240EA8 D7B40050 */ ldc1 $f20, 0x50($sp) +/* A64F3C 80240EAC 03E00008 */ jr $ra +/* A64F40 80240EB0 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240EB4_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240EB4_A64090.s new file mode 100644 index 0000000000..b008a1173b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240EB4_A64090.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_A64F44 +/* A64F44 80240EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A64F48 80240EB8 AFB10014 */ sw $s1, 0x14($sp) +/* A64F4C 80240EBC 0080882D */ daddu $s1, $a0, $zero +/* A64F50 80240EC0 AFBF0018 */ sw $ra, 0x18($sp) +/* A64F54 80240EC4 AFB00010 */ sw $s0, 0x10($sp) +/* A64F58 80240EC8 8E300148 */ lw $s0, 0x148($s1) +/* A64F5C 80240ECC 0C00EABB */ jal get_npc_unsafe +/* A64F60 80240ED0 86040008 */ lh $a0, 8($s0) +/* A64F64 80240ED4 0040202D */ daddu $a0, $v0, $zero +/* A64F68 80240ED8 9482008E */ lhu $v0, 0x8e($a0) +/* A64F6C 80240EDC 2442FFFF */ addiu $v0, $v0, -1 +/* A64F70 80240EE0 A482008E */ sh $v0, 0x8e($a0) +/* A64F74 80240EE4 00021400 */ sll $v0, $v0, 0x10 +/* A64F78 80240EE8 1C400008 */ bgtz $v0, .L80240F0C +/* A64F7C 80240EEC 00000000 */ nop +/* A64F80 80240EF0 8E0200CC */ lw $v0, 0xcc($s0) +/* A64F84 80240EF4 8C430024 */ lw $v1, 0x24($v0) +/* A64F88 80240EF8 24020009 */ addiu $v0, $zero, 9 +/* A64F8C 80240EFC A482008E */ sh $v0, 0x8e($a0) +/* A64F90 80240F00 24020017 */ addiu $v0, $zero, 0x17 +/* A64F94 80240F04 AC830028 */ sw $v1, 0x28($a0) +/* A64F98 80240F08 AE220070 */ sw $v0, 0x70($s1) +.L80240F0C: +/* A64F9C 80240F0C 8FBF0018 */ lw $ra, 0x18($sp) +/* A64FA0 80240F10 8FB10014 */ lw $s1, 0x14($sp) +/* A64FA4 80240F14 8FB00010 */ lw $s0, 0x10($sp) +/* A64FA8 80240F18 03E00008 */ jr $ra +/* A64FAC 80240F1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80240F20_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240F20_A64090.s new file mode 100644 index 0000000000..89210b3532 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80240F20_A64090.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_A64FB0 +/* A64FB0 80240F20 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A64FB4 80240F24 AFB3003C */ sw $s3, 0x3c($sp) +/* A64FB8 80240F28 0080982D */ daddu $s3, $a0, $zero +/* A64FBC 80240F2C AFBF0044 */ sw $ra, 0x44($sp) +/* A64FC0 80240F30 AFB40040 */ sw $s4, 0x40($sp) +/* A64FC4 80240F34 AFB20038 */ sw $s2, 0x38($sp) +/* A64FC8 80240F38 AFB10034 */ sw $s1, 0x34($sp) +/* A64FCC 80240F3C AFB00030 */ sw $s0, 0x30($sp) +/* A64FD0 80240F40 8E720148 */ lw $s2, 0x148($s3) +/* A64FD4 80240F44 00A0882D */ daddu $s1, $a1, $zero +/* A64FD8 80240F48 86440008 */ lh $a0, 8($s2) +/* A64FDC 80240F4C 0C00EABB */ jal get_npc_unsafe +/* A64FE0 80240F50 00C0A02D */ daddu $s4, $a2, $zero +/* A64FE4 80240F54 0040802D */ daddu $s0, $v0, $zero +/* A64FE8 80240F58 9602008E */ lhu $v0, 0x8e($s0) +/* A64FEC 80240F5C 2442FFFF */ addiu $v0, $v0, -1 +/* A64FF0 80240F60 A602008E */ sh $v0, 0x8e($s0) +/* A64FF4 80240F64 00021400 */ sll $v0, $v0, 0x10 +/* A64FF8 80240F68 1C400032 */ bgtz $v0, .L80241034 +/* A64FFC 80240F6C 00000000 */ nop +/* A65000 80240F70 0260202D */ daddu $a0, $s3, $zero +/* A65004 80240F74 8E250024 */ lw $a1, 0x24($s1) +/* A65008 80240F78 8E260028 */ lw $a2, 0x28($s1) +/* A6500C 80240F7C 0C090014 */ jal func_80240050 +/* A65010 80240F80 0280382D */ daddu $a3, $s4, $zero +/* A65014 80240F84 0040882D */ daddu $s1, $v0, $zero +/* A65018 80240F88 24020001 */ addiu $v0, $zero, 1 +/* A6501C 80240F8C 1222001D */ beq $s1, $v0, .L80241004 +/* A65020 80240F90 0200282D */ daddu $a1, $s0, $zero +/* A65024 80240F94 24040002 */ addiu $a0, $zero, 2 +/* A65028 80240F98 0000302D */ daddu $a2, $zero, $zero +/* A6502C 80240F9C 860300A8 */ lh $v1, 0xa8($s0) +/* A65030 80240FA0 3C013F80 */ lui $at, 0x3f80 +/* A65034 80240FA4 44810000 */ mtc1 $at, $f0 +/* A65038 80240FA8 3C014000 */ lui $at, 0x4000 +/* A6503C 80240FAC 44811000 */ mtc1 $at, $f2 +/* A65040 80240FB0 3C01C1A0 */ lui $at, 0xc1a0 +/* A65044 80240FB4 44812000 */ mtc1 $at, $f4 +/* A65048 80240FB8 2402000C */ addiu $v0, $zero, 0xc +/* A6504C 80240FBC AFA2001C */ sw $v0, 0x1c($sp) +/* A65050 80240FC0 44833000 */ mtc1 $v1, $f6 +/* A65054 80240FC4 00000000 */ nop +/* A65058 80240FC8 468031A0 */ cvt.s.w $f6, $f6 +/* A6505C 80240FCC 44073000 */ mfc1 $a3, $f6 +/* A65060 80240FD0 27A20028 */ addiu $v0, $sp, 0x28 +/* A65064 80240FD4 AFA20020 */ sw $v0, 0x20($sp) +/* A65068 80240FD8 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6506C 80240FDC E7A20014 */ swc1 $f2, 0x14($sp) +/* A65070 80240FE0 0C01BFA4 */ jal fx_emote +/* A65074 80240FE4 E7A40018 */ swc1 $f4, 0x18($sp) +/* A65078 80240FE8 8E4200CC */ lw $v0, 0xcc($s2) +/* A6507C 80240FEC 8C430000 */ lw $v1, ($v0) +/* A65080 80240FF0 2402000F */ addiu $v0, $zero, 0xf +/* A65084 80240FF4 A602008E */ sh $v0, 0x8e($s0) +/* A65088 80240FF8 AE030028 */ sw $v1, 0x28($s0) +/* A6508C 80240FFC 0809040D */ j .L80241034 +/* A65090 80241000 AE600070 */ sw $zero, 0x70($s3) +.L80241004: +/* A65094 80241004 0200202D */ daddu $a0, $s0, $zero +/* A65098 80241008 240520D5 */ addiu $a1, $zero, 0x20d5 +/* A6509C 8024100C 0C012530 */ jal func_800494C0 +/* A650A0 80241010 0000302D */ daddu $a2, $zero, $zero +/* A650A4 80241014 86440008 */ lh $a0, 8($s2) +/* A650A8 80241018 0C00FB3A */ jal get_enemy +/* A650AC 8024101C 24840001 */ addiu $a0, $a0, 1 +/* A650B0 80241020 AC51006C */ sw $s1, 0x6c($v0) +/* A650B4 80241024 24020014 */ addiu $v0, $zero, 0x14 +/* A650B8 80241028 A602008E */ sh $v0, 0x8e($s0) +/* A650BC 8024102C 24020018 */ addiu $v0, $zero, 0x18 +/* A650C0 80241030 AE620070 */ sw $v0, 0x70($s3) +.L80241034: +/* A650C4 80241034 8FBF0044 */ lw $ra, 0x44($sp) +/* A650C8 80241038 8FB40040 */ lw $s4, 0x40($sp) +/* A650CC 8024103C 8FB3003C */ lw $s3, 0x3c($sp) +/* A650D0 80241040 8FB20038 */ lw $s2, 0x38($sp) +/* A650D4 80241044 8FB10034 */ lw $s1, 0x34($sp) +/* A650D8 80241048 8FB00030 */ lw $s0, 0x30($sp) +/* A650DC 8024104C 03E00008 */ jr $ra +/* A650E0 80241050 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80241054.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241054.s new file mode 100644 index 0000000000..6790080571 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241054.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241054 +/* A650E4 80241054 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A650E8 80241058 AFB10014 */ sw $s1, 0x14($sp) +/* A650EC 8024105C 0080882D */ daddu $s1, $a0, $zero +/* A650F0 80241060 AFBF0018 */ sw $ra, 0x18($sp) +/* A650F4 80241064 AFB00010 */ sw $s0, 0x10($sp) +/* A650F8 80241068 8E300148 */ lw $s0, 0x148($s1) +/* A650FC 8024106C 0C00EABB */ jal get_npc_unsafe +/* A65100 80241070 86040008 */ lh $a0, 8($s0) +/* A65104 80241074 0040202D */ daddu $a0, $v0, $zero +/* A65108 80241078 9482008E */ lhu $v0, 0x8e($a0) +/* A6510C 8024107C 2442FFFF */ addiu $v0, $v0, -1 +/* A65110 80241080 A482008E */ sh $v0, 0x8e($a0) +/* A65114 80241084 00021400 */ sll $v0, $v0, 0x10 +/* A65118 80241088 1C400007 */ bgtz $v0, .L802410A8 +/* A6511C 8024108C 00000000 */ nop +/* A65120 80241090 8E0200CC */ lw $v0, 0xcc($s0) +/* A65124 80241094 8C430000 */ lw $v1, ($v0) +/* A65128 80241098 24020003 */ addiu $v0, $zero, 3 +/* A6512C 8024109C A482008E */ sh $v0, 0x8e($a0) +/* A65130 802410A0 AC830028 */ sw $v1, 0x28($a0) +/* A65134 802410A4 AE200070 */ sw $zero, 0x70($s1) +.L802410A8: +/* A65138 802410A8 8FBF0018 */ lw $ra, 0x18($sp) +/* A6513C 802410AC 8FB10014 */ lw $s1, 0x14($sp) +/* A65140 802410B0 8FB00010 */ lw $s0, 0x10($sp) +/* A65144 802410B4 03E00008 */ jr $ra +/* A65148 802410B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802410BC_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802410BC_A64090.s new file mode 100644 index 0000000000..72de5c88e8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802410BC_A64090.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410BC_A6514C +/* A6514C 802410BC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A65150 802410C0 AFB50044 */ sw $s5, 0x44($sp) +/* A65154 802410C4 0080A82D */ daddu $s5, $a0, $zero +/* A65158 802410C8 AFBF0048 */ sw $ra, 0x48($sp) +/* A6515C 802410CC AFB40040 */ sw $s4, 0x40($sp) +/* A65160 802410D0 AFB3003C */ sw $s3, 0x3c($sp) +/* A65164 802410D4 AFB20038 */ sw $s2, 0x38($sp) +/* A65168 802410D8 AFB10034 */ sw $s1, 0x34($sp) +/* A6516C 802410DC AFB00030 */ sw $s0, 0x30($sp) +/* A65170 802410E0 8EB10148 */ lw $s1, 0x148($s5) +/* A65174 802410E4 86240008 */ lh $a0, 8($s1) +/* A65178 802410E8 0C00EABB */ jal get_npc_unsafe +/* A6517C 802410EC 00A0802D */ daddu $s0, $a1, $zero +/* A65180 802410F0 8EA3000C */ lw $v1, 0xc($s5) +/* A65184 802410F4 02A0202D */ daddu $a0, $s5, $zero +/* A65188 802410F8 8C650000 */ lw $a1, ($v1) +/* A6518C 802410FC 0C0B1EAF */ jal get_variable +/* A65190 80241100 0040902D */ daddu $s2, $v0, $zero +/* A65194 80241104 AFA00010 */ sw $zero, 0x10($sp) +/* A65198 80241108 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6519C 8024110C 8C630030 */ lw $v1, 0x30($v1) +/* A651A0 80241110 AFA30014 */ sw $v1, 0x14($sp) +/* A651A4 80241114 8E2300D0 */ lw $v1, 0xd0($s1) +/* A651A8 80241118 8C63001C */ lw $v1, 0x1c($v1) +/* A651AC 8024111C AFA30018 */ sw $v1, 0x18($sp) +/* A651B0 80241120 8E2300D0 */ lw $v1, 0xd0($s1) +/* A651B4 80241124 8C630024 */ lw $v1, 0x24($v1) +/* A651B8 80241128 AFA3001C */ sw $v1, 0x1c($sp) +/* A651BC 8024112C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A651C0 80241130 8C630028 */ lw $v1, 0x28($v1) +/* A651C4 80241134 27B40010 */ addiu $s4, $sp, 0x10 +/* A651C8 80241138 AFA30020 */ sw $v1, 0x20($sp) +/* A651CC 8024113C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A651D0 80241140 3C0142C8 */ lui $at, 0x42c8 +/* A651D4 80241144 44810000 */ mtc1 $at, $f0 +/* A651D8 80241148 8C63002C */ lw $v1, 0x2c($v1) +/* A651DC 8024114C 0040982D */ daddu $s3, $v0, $zero +/* A651E0 80241150 E7A00028 */ swc1 $f0, 0x28($sp) +/* A651E4 80241154 A7A0002C */ sh $zero, 0x2c($sp) +/* A651E8 80241158 16000005 */ bnez $s0, .L80241170 +/* A651EC 8024115C AFA30024 */ sw $v1, 0x24($sp) +/* A651F0 80241160 8E2200B0 */ lw $v0, 0xb0($s1) +/* A651F4 80241164 30420004 */ andi $v0, $v0, 4 +/* A651F8 80241168 1040001E */ beqz $v0, .L802411E4 +/* A651FC 8024116C 00000000 */ nop +.L80241170: +/* A65200 80241170 8E430000 */ lw $v1, ($s2) +/* A65204 80241174 2402F7FF */ addiu $v0, $zero, -0x801 +/* A65208 80241178 00621824 */ and $v1, $v1, $v0 +/* A6520C 8024117C 8E2200CC */ lw $v0, 0xcc($s1) +/* A65210 80241180 3C040020 */ lui $a0, 0x20 +/* A65214 80241184 8C420000 */ lw $v0, ($v0) +/* A65218 80241188 00641825 */ or $v1, $v1, $a0 +/* A6521C 8024118C AE430000 */ sw $v1, ($s2) +/* A65220 80241190 AE420028 */ sw $v0, 0x28($s2) +/* A65224 80241194 8E220000 */ lw $v0, ($s1) +/* A65228 80241198 00441025 */ or $v0, $v0, $a0 +/* A6522C 8024119C AE220000 */ sw $v0, ($s1) +/* A65230 802411A0 A640008E */ sh $zero, 0x8e($s2) +/* A65234 802411A4 8E2300B0 */ lw $v1, 0xb0($s1) +/* A65238 802411A8 30620004 */ andi $v0, $v1, 4 +/* A6523C 802411AC 1040000C */ beqz $v0, .L802411E0 +/* A65240 802411B0 2402FFFB */ addiu $v0, $zero, -5 +/* A65244 802411B4 3C013F80 */ lui $at, 0x3f80 +/* A65248 802411B8 44810000 */ mtc1 $at, $f0 +/* A6524C 802411BC 00621024 */ and $v0, $v1, $v0 +/* A65250 802411C0 AE2200B0 */ sw $v0, 0xb0($s1) +/* A65254 802411C4 240200FF */ addiu $v0, $zero, 0xff +/* A65258 802411C8 A24200AC */ sb $v0, 0xac($s2) +/* A6525C 802411CC 24020014 */ addiu $v0, $zero, 0x14 +/* A65260 802411D0 A642008E */ sh $v0, 0x8e($s2) +/* A65264 802411D4 E6400054 */ swc1 $f0, 0x54($s2) +/* A65268 802411D8 E6400058 */ swc1 $f0, 0x58($s2) +/* A6526C 802411DC E640005C */ swc1 $f0, 0x5c($s2) +.L802411E0: +/* A65270 802411E0 AEA00070 */ sw $zero, 0x70($s5) +.L802411E4: +/* A65274 802411E4 8EA30070 */ lw $v1, 0x70($s5) +/* A65278 802411E8 2C620019 */ sltiu $v0, $v1, 0x19 +/* A6527C 802411EC 10400044 */ beqz $v0, .L80241300 +/* A65280 802411F0 00031080 */ sll $v0, $v1, 2 +/* A65284 802411F4 3C018024 */ lui $at, 0x8024 +/* A65288 802411F8 00220821 */ addu $at, $at, $v0 +/* A6528C 802411FC 8C222FA0 */ lw $v0, 0x2fa0($at) +/* A65290 80241200 00400008 */ jr $v0 +/* A65294 80241204 00000000 */ nop +/* A65298 80241208 02A0202D */ daddu $a0, $s5, $zero +/* A6529C 8024120C 0260282D */ daddu $a1, $s3, $zero +/* A652A0 80241210 0C0901CC */ jal func_80240730 +/* A652A4 80241214 0280302D */ daddu $a2, $s4, $zero +/* A652A8 80241218 8EA30070 */ lw $v1, 0x70($s5) +/* A652AC 8024121C 24020001 */ addiu $v0, $zero, 1 +/* A652B0 80241220 14620037 */ bne $v1, $v0, .L80241300 +/* A652B4 80241224 00000000 */ nop +/* A652B8 80241228 02A0202D */ daddu $a0, $s5, $zero +/* A652BC 8024122C 0260282D */ daddu $a1, $s3, $zero +/* A652C0 80241230 0C0901E9 */ jal func_802407A4 +/* A652C4 80241234 0280302D */ daddu $a2, $s4, $zero +/* A652C8 80241238 080904C0 */ j .L80241300 +/* A652CC 8024123C 00000000 */ nop +/* A652D0 80241240 02A0202D */ daddu $a0, $s5, $zero +/* A652D4 80241244 0260282D */ daddu $a1, $s3, $zero +/* A652D8 80241248 0C090234 */ jal func_802408D0 +/* A652DC 8024124C 0280302D */ daddu $a2, $s4, $zero +/* A652E0 80241250 02A0202D */ daddu $a0, $s5, $zero +/* A652E4 80241254 0260282D */ daddu $a1, $s3, $zero +/* A652E8 80241258 0C09025C */ jal func_80240970 +/* A652EC 8024125C 0280302D */ daddu $a2, $s4, $zero +/* A652F0 80241260 080904C0 */ j .L80241300 +/* A652F4 80241264 00000000 */ nop +/* A652F8 80241268 02A0202D */ daddu $a0, $s5, $zero +/* A652FC 8024126C 0260282D */ daddu $a1, $s3, $zero +/* A65300 80241270 0C090275 */ jal func_802409D4 +/* A65304 80241274 0280302D */ daddu $a2, $s4, $zero +/* A65308 80241278 02A0202D */ daddu $a0, $s5, $zero +/* A6530C 8024127C 0260282D */ daddu $a1, $s3, $zero +/* A65310 80241280 0C0902C5 */ jal func_80240B14 +/* A65314 80241284 0280302D */ daddu $a2, $s4, $zero +/* A65318 80241288 080904C0 */ j .L80241300 +/* A6531C 8024128C 00000000 */ nop +/* A65320 80241290 02A0202D */ daddu $a0, $s5, $zero +/* A65324 80241294 0260282D */ daddu $a1, $s3, $zero +/* A65328 80241298 0C09032E */ jal func_80240CB8 +/* A6532C 8024129C 0280302D */ daddu $a2, $s4, $zero +/* A65330 802412A0 080904C0 */ j .L80241300 +/* A65334 802412A4 00000000 */ nop +/* A65338 802412A8 02A0202D */ daddu $a0, $s5, $zero +/* A6533C 802412AC 0260282D */ daddu $a1, $s3, $zero +/* A65340 802412B0 0C09033D */ jal func_80240CF4 +/* A65344 802412B4 0280302D */ daddu $a2, $s4, $zero +/* A65348 802412B8 080904C0 */ j .L80241300 +/* A6534C 802412BC 00000000 */ nop +/* A65350 802412C0 02A0202D */ daddu $a0, $s5, $zero +/* A65354 802412C4 0260282D */ daddu $a1, $s3, $zero +/* A65358 802412C8 0C0903AD */ jal func_80240EB4 +/* A6535C 802412CC 0280302D */ daddu $a2, $s4, $zero +/* A65360 802412D0 080904C0 */ j .L80241300 +/* A65364 802412D4 00000000 */ nop +/* A65368 802412D8 02A0202D */ daddu $a0, $s5, $zero +/* A6536C 802412DC 0260282D */ daddu $a1, $s3, $zero +/* A65370 802412E0 0C0903C8 */ jal func_80240F20 +/* A65374 802412E4 0280302D */ daddu $a2, $s4, $zero +/* A65378 802412E8 080904C0 */ j .L80241300 +/* A6537C 802412EC 00000000 */ nop +/* A65380 802412F0 02A0202D */ daddu $a0, $s5, $zero +/* A65384 802412F4 0260282D */ daddu $a1, $s3, $zero +/* A65388 802412F8 0C090415 */ jal func_80241054 +/* A6538C 802412FC 0280302D */ daddu $a2, $s4, $zero +.L80241300: +/* A65390 80241300 8FBF0048 */ lw $ra, 0x48($sp) +/* A65394 80241304 8FB50044 */ lw $s5, 0x44($sp) +/* A65398 80241308 8FB40040 */ lw $s4, 0x40($sp) +/* A6539C 8024130C 8FB3003C */ lw $s3, 0x3c($sp) +/* A653A0 80241310 8FB20038 */ lw $s2, 0x38($sp) +/* A653A4 80241314 8FB10034 */ lw $s1, 0x34($sp) +/* A653A8 80241318 8FB00030 */ lw $s0, 0x30($sp) +/* A653AC 8024131C 0000102D */ daddu $v0, $zero, $zero +/* A653B0 80241320 03E00008 */ jr $ra +/* A653B4 80241324 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80241328.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241328.s new file mode 100644 index 0000000000..0162b5399e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241328.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241328 +/* A653B8 80241328 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A653BC 8024132C AFBF0020 */ sw $ra, 0x20($sp) +/* A653C0 80241330 8C820148 */ lw $v0, 0x148($a0) +/* A653C4 80241334 0C00EABB */ jal get_npc_unsafe +/* A653C8 80241338 84440008 */ lh $a0, 8($v0) +/* A653CC 8024133C 240300FF */ addiu $v1, $zero, 0xff +/* A653D0 80241340 0000282D */ daddu $a1, $zero, $zero +/* A653D4 80241344 00A0302D */ daddu $a2, $a1, $zero +/* A653D8 80241348 A04300AC */ sb $v1, 0xac($v0) +/* A653DC 8024134C AFA00010 */ sw $zero, 0x10($sp) +/* A653E0 80241350 AFA00014 */ sw $zero, 0x14($sp) +/* A653E4 80241354 AFA00018 */ sw $zero, 0x18($sp) +/* A653E8 80241358 8C440024 */ lw $a0, 0x24($v0) +/* A653EC 8024135C 0C0B7A25 */ jal func_802DE894 +/* A653F0 80241360 00A0382D */ daddu $a3, $a1, $zero +/* A653F4 80241364 8FBF0020 */ lw $ra, 0x20($sp) +/* A653F8 80241368 24020002 */ addiu $v0, $zero, 2 +/* A653FC 8024136C 03E00008 */ jr $ra +/* A65400 80241370 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80241374.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241374.s new file mode 100644 index 0000000000..0586b5f322 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241374.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241374 +/* A65404 80241374 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A65408 80241378 AFB10014 */ sw $s1, 0x14($sp) +/* A6540C 8024137C 0080882D */ daddu $s1, $a0, $zero +/* A65410 80241380 AFBF0018 */ sw $ra, 0x18($sp) +/* A65414 80241384 AFB00010 */ sw $s0, 0x10($sp) +/* A65418 80241388 8E300148 */ lw $s0, 0x148($s1) +/* A6541C 8024138C 0C00EABB */ jal get_npc_unsafe +/* A65420 80241390 86040008 */ lh $a0, 8($s0) +/* A65424 80241394 0040182D */ daddu $v1, $v0, $zero +/* A65428 80241398 240200FF */ addiu $v0, $zero, 0xff +/* A6542C 8024139C A06200AC */ sb $v0, 0xac($v1) +/* A65430 802413A0 8E0200CC */ lw $v0, 0xcc($s0) +/* A65434 802413A4 8C440008 */ lw $a0, 8($v0) +/* A65438 802413A8 A460008E */ sh $zero, 0x8e($v1) +/* A6543C 802413AC AC640028 */ sw $a0, 0x28($v1) +/* A65440 802413B0 AE200070 */ sw $zero, 0x70($s1) +/* A65444 802413B4 8FBF0018 */ lw $ra, 0x18($sp) +/* A65448 802413B8 8FB10014 */ lw $s1, 0x14($sp) +/* A6544C 802413BC 8FB00010 */ lw $s0, 0x10($sp) +/* A65450 802413C0 24020002 */ addiu $v0, $zero, 2 +/* A65454 802413C4 03E00008 */ jr $ra +/* A65458 802413C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802413CC_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802413CC_A64090.s new file mode 100644 index 0000000000..7d73155db4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802413CC_A64090.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413CC_A6545C +/* A6545C 802413CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A65460 802413D0 3C05FE36 */ lui $a1, 0xfe36 +/* A65464 802413D4 AFBF0010 */ sw $ra, 0x10($sp) +/* A65468 802413D8 8C820148 */ lw $v0, 0x148($a0) +/* A6546C 802413DC 3C06800B */ lui $a2, 0x800b +/* A65470 802413E0 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A65474 802413E4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A65478 802413E8 00C23026 */ xor $a2, $a2, $v0 +/* A6547C 802413EC 0C0B2026 */ jal set_variable +/* A65480 802413F0 2CC60001 */ sltiu $a2, $a2, 1 +/* A65484 802413F4 8FBF0010 */ lw $ra, 0x10($sp) +/* A65488 802413F8 24020002 */ addiu $v0, $zero, 2 +/* A6548C 802413FC 03E00008 */ jr $ra +/* A65490 80241400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80241404_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241404_A64090.s new file mode 100644 index 0000000000..26f9e4c7c6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241404_A64090.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241404_A65494 +/* A65494 80241404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A65498 80241408 AFBF0014 */ sw $ra, 0x14($sp) +/* A6549C 8024140C AFB00010 */ sw $s0, 0x10($sp) +/* A654A0 80241410 8C900148 */ lw $s0, 0x148($a0) +/* A654A4 80241414 0C00EABB */ jal get_npc_unsafe +/* A654A8 80241418 86040008 */ lh $a0, 8($s0) +/* A654AC 8024141C 0040202D */ daddu $a0, $v0, $zero +/* A654B0 80241420 8E03006C */ lw $v1, 0x6c($s0) +/* A654B4 80241424 24020002 */ addiu $v0, $zero, 2 +/* A654B8 80241428 14620003 */ bne $v1, $v0, .L80241438 +/* A654BC 8024142C 00000000 */ nop +/* A654C0 80241430 AC80001C */ sw $zero, 0x1c($a0) +/* A654C4 80241434 AC800018 */ sw $zero, 0x18($a0) +.L80241438: +/* A654C8 80241438 8FBF0014 */ lw $ra, 0x14($sp) +/* A654CC 8024143C 8FB00010 */ lw $s0, 0x10($sp) +/* A654D0 80241440 24020002 */ addiu $v0, $zero, 2 +/* A654D4 80241444 03E00008 */ jr $ra +/* A654D8 80241448 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_8024144C_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_8024144C_A64090.s new file mode 100644 index 0000000000..95d5cd9acd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_8024144C_A64090.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024144C_A654DC +/* A654DC 8024144C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A654E0 80241450 AFB20018 */ sw $s2, 0x18($sp) +/* A654E4 80241454 0080902D */ daddu $s2, $a0, $zero +/* A654E8 80241458 AFBF001C */ sw $ra, 0x1c($sp) +/* A654EC 8024145C AFB10014 */ sw $s1, 0x14($sp) +/* A654F0 80241460 AFB00010 */ sw $s0, 0x10($sp) +/* A654F4 80241464 8E510148 */ lw $s1, 0x148($s2) +/* A654F8 80241468 0C00EABB */ jal get_npc_unsafe +/* A654FC 8024146C 86240008 */ lh $a0, 8($s1) +/* A65500 80241470 0040802D */ daddu $s0, $v0, $zero +/* A65504 80241474 8E2300CC */ lw $v1, 0xcc($s1) +/* A65508 80241478 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6550C 8024147C 8C630020 */ lw $v1, 0x20($v1) +/* A65510 80241480 AE030028 */ sw $v1, 0x28($s0) +/* A65514 80241484 96220076 */ lhu $v0, 0x76($s1) +/* A65518 80241488 A602008E */ sh $v0, 0x8e($s0) +/* A6551C 8024148C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A65520 80241490 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A65524 80241494 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A65528 80241498 8C460028 */ lw $a2, 0x28($v0) +/* A6552C 8024149C 0C00A720 */ jal atan2 +/* A65530 802414A0 8C470030 */ lw $a3, 0x30($v0) +/* A65534 802414A4 2402000D */ addiu $v0, $zero, 0xd +/* A65538 802414A8 E600000C */ swc1 $f0, 0xc($s0) +/* A6553C 802414AC AE420070 */ sw $v0, 0x70($s2) +/* A65540 802414B0 8FBF001C */ lw $ra, 0x1c($sp) +/* A65544 802414B4 8FB20018 */ lw $s2, 0x18($sp) +/* A65548 802414B8 8FB10014 */ lw $s1, 0x14($sp) +/* A6554C 802414BC 8FB00010 */ lw $s0, 0x10($sp) +/* A65550 802414C0 03E00008 */ jr $ra +/* A65554 802414C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802414C8.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802414C8.s new file mode 100644 index 0000000000..176e7b665c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802414C8.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C8 +/* A65558 802414C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A6555C 802414CC AFB3001C */ sw $s3, 0x1c($sp) +/* A65560 802414D0 0080982D */ daddu $s3, $a0, $zero +/* A65564 802414D4 AFBF0020 */ sw $ra, 0x20($sp) +/* A65568 802414D8 AFB20018 */ sw $s2, 0x18($sp) +/* A6556C 802414DC AFB10014 */ sw $s1, 0x14($sp) +/* A65570 802414E0 AFB00010 */ sw $s0, 0x10($sp) +/* A65574 802414E4 8E710148 */ lw $s1, 0x148($s3) +/* A65578 802414E8 86240008 */ lh $a0, 8($s1) +/* A6557C 802414EC 0C00EABB */ jal get_npc_unsafe +/* A65580 802414F0 00A0902D */ daddu $s2, $a1, $zero +/* A65584 802414F4 0040802D */ daddu $s0, $v0, $zero +/* A65588 802414F8 8602008E */ lh $v0, 0x8e($s0) +/* A6558C 802414FC 9603008E */ lhu $v1, 0x8e($s0) +/* A65590 80241500 18400005 */ blez $v0, .L80241518 +/* A65594 80241504 2462FFFF */ addiu $v0, $v1, -1 +/* A65598 80241508 A602008E */ sh $v0, 0x8e($s0) +/* A6559C 8024150C 00021400 */ sll $v0, $v0, 0x10 +/* A655A0 80241510 1C400033 */ bgtz $v0, .L802415E0 +/* A655A4 80241514 00000000 */ nop +.L80241518: +/* A655A8 80241518 8602008C */ lh $v0, 0x8c($s0) +/* A655AC 8024151C 14400030 */ bnez $v0, .L802415E0 +/* A655B0 80241520 00000000 */ nop +/* A655B4 80241524 8E2200CC */ lw $v0, 0xcc($s1) +/* A655B8 80241528 8C420024 */ lw $v0, 0x24($v0) +/* A655BC 8024152C AE020028 */ sw $v0, 0x28($s0) +/* A655C0 80241530 C6400018 */ lwc1 $f0, 0x18($s2) +/* A655C4 80241534 E6000018 */ swc1 $f0, 0x18($s0) +/* A655C8 80241538 8E230088 */ lw $v1, 0x88($s1) +/* A655CC 8024153C 24020005 */ addiu $v0, $zero, 5 +/* A655D0 80241540 10620005 */ beq $v1, $v0, .L80241558 +/* A655D4 80241544 00000000 */ nop +/* A655D8 80241548 10600003 */ beqz $v1, .L80241558 +/* A655DC 8024154C 24020001 */ addiu $v0, $zero, 1 +/* A655E0 80241550 14620006 */ bne $v1, $v0, .L8024156C +/* A655E4 80241554 00000000 */ nop +.L80241558: +/* A655E8 80241558 8E220084 */ lw $v0, 0x84($s1) +/* A655EC 8024155C 00021FC2 */ srl $v1, $v0, 0x1f +/* A655F0 80241560 00431021 */ addu $v0, $v0, $v1 +/* A655F4 80241564 00021043 */ sra $v0, $v0, 1 +/* A655F8 80241568 A60200A8 */ sh $v0, 0xa8($s0) +.L8024156C: +/* A655FC 8024156C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A65600 80241570 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A65604 80241574 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A65608 80241578 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6560C 8024157C 8C460028 */ lw $a2, 0x28($v0) +/* A65610 80241580 0C00A7B5 */ jal dist2D +/* A65614 80241584 8C470030 */ lw $a3, 0x30($v0) +/* A65618 80241588 C6020018 */ lwc1 $f2, 0x18($s0) +/* A6561C 8024158C 46020003 */ div.s $f0, $f0, $f2 +/* A65620 80241590 3C018024 */ lui $at, 0x8024 +/* A65624 80241594 D4223008 */ ldc1 $f2, 0x3008($at) +/* A65628 80241598 46000021 */ cvt.d.s $f0, $f0 +/* A6562C 8024159C 46220000 */ add.d $f0, $f0, $f2 +/* A65630 802415A0 4620010D */ trunc.w.d $f4, $f0 +/* A65634 802415A4 44022000 */ mfc1 $v0, $f4 +/* A65638 802415A8 00000000 */ nop +/* A6563C 802415AC A602008E */ sh $v0, 0x8e($s0) +/* A65640 802415B0 00021400 */ sll $v0, $v0, 0x10 +/* A65644 802415B4 8E230078 */ lw $v1, 0x78($s1) +/* A65648 802415B8 00021403 */ sra $v0, $v0, 0x10 +/* A6564C 802415BC 0043102A */ slt $v0, $v0, $v1 +/* A65650 802415C0 10400003 */ beqz $v0, .L802415D0 +/* A65654 802415C4 00000000 */ nop +/* A65658 802415C8 9622007A */ lhu $v0, 0x7a($s1) +/* A6565C 802415CC A602008E */ sh $v0, 0x8e($s0) +.L802415D0: +/* A65660 802415D0 8602008E */ lh $v0, 0x8e($s0) +/* A65664 802415D4 AE22007C */ sw $v0, 0x7c($s1) +/* A65668 802415D8 2402000E */ addiu $v0, $zero, 0xe +/* A6566C 802415DC AE620070 */ sw $v0, 0x70($s3) +.L802415E0: +/* A65670 802415E0 8FBF0020 */ lw $ra, 0x20($sp) +/* A65674 802415E4 8FB3001C */ lw $s3, 0x1c($sp) +/* A65678 802415E8 8FB20018 */ lw $s2, 0x18($sp) +/* A6567C 802415EC 8FB10014 */ lw $s1, 0x14($sp) +/* A65680 802415F0 8FB00010 */ lw $s0, 0x10($sp) +/* A65684 802415F4 03E00008 */ jr $ra +/* A65688 802415F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802415FC_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802415FC_A64090.s new file mode 100644 index 0000000000..29415e7ffb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802415FC_A64090.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415FC_A6568C +/* A6568C 802415FC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A65690 80241600 AFB3003C */ sw $s3, 0x3c($sp) +/* A65694 80241604 0080982D */ daddu $s3, $a0, $zero +/* A65698 80241608 AFBF0040 */ sw $ra, 0x40($sp) +/* A6569C 8024160C AFB20038 */ sw $s2, 0x38($sp) +/* A656A0 80241610 AFB10034 */ sw $s1, 0x34($sp) +/* A656A4 80241614 AFB00030 */ sw $s0, 0x30($sp) +/* A656A8 80241618 8E710148 */ lw $s1, 0x148($s3) +/* A656AC 8024161C 0C00EABB */ jal get_npc_unsafe +/* A656B0 80241620 86240008 */ lh $a0, 8($s1) +/* A656B4 80241624 0040802D */ daddu $s0, $v0, $zero +/* A656B8 80241628 8E22007C */ lw $v0, 0x7c($s1) +/* A656BC 8024162C 8603008E */ lh $v1, 0x8e($s0) +/* A656C0 80241630 2442FFFF */ addiu $v0, $v0, -1 +/* A656C4 80241634 14620012 */ bne $v1, $v0, .L80241680 +/* A656C8 80241638 00000000 */ nop +/* A656CC 8024163C C6000038 */ lwc1 $f0, 0x38($s0) +/* A656D0 80241640 4600020D */ trunc.w.s $f8, $f0 +/* A656D4 80241644 44024000 */ mfc1 $v0, $f8 +/* A656D8 80241648 00000000 */ nop +/* A656DC 8024164C A6220010 */ sh $v0, 0x10($s1) +/* A656E0 80241650 C600003C */ lwc1 $f0, 0x3c($s0) +/* A656E4 80241654 4600020D */ trunc.w.s $f8, $f0 +/* A656E8 80241658 44024000 */ mfc1 $v0, $f8 +/* A656EC 8024165C 00000000 */ nop +/* A656F0 80241660 A6220012 */ sh $v0, 0x12($s1) +/* A656F4 80241664 C6000040 */ lwc1 $f0, 0x40($s0) +/* A656F8 80241668 24020001 */ addiu $v0, $zero, 1 +/* A656FC 8024166C A2220007 */ sb $v0, 7($s1) +/* A65700 80241670 4600020D */ trunc.w.s $f8, $f0 +/* A65704 80241674 44024000 */ mfc1 $v0, $f8 +/* A65708 80241678 00000000 */ nop +/* A6570C 8024167C A6220014 */ sh $v0, 0x14($s1) +.L80241680: +/* A65710 80241680 C6000038 */ lwc1 $f0, 0x38($s0) +/* A65714 80241684 C602003C */ lwc1 $f2, 0x3c($s0) +/* A65718 80241688 C6040040 */ lwc1 $f4, 0x40($s0) +/* A6571C 8024168C C6060018 */ lwc1 $f6, 0x18($s0) +/* A65720 80241690 E7A00020 */ swc1 $f0, 0x20($sp) +/* A65724 80241694 E7A20024 */ swc1 $f2, 0x24($sp) +/* A65728 80241698 E7A40028 */ swc1 $f4, 0x28($sp) +/* A6572C 8024169C E7A60010 */ swc1 $f6, 0x10($sp) +/* A65730 802416A0 C600000C */ lwc1 $f0, 0xc($s0) +/* A65734 802416A4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A65738 802416A8 860200A8 */ lh $v0, 0xa8($s0) +/* A6573C 802416AC 27A50020 */ addiu $a1, $sp, 0x20 +/* A65740 802416B0 44820000 */ mtc1 $v0, $f0 +/* A65744 802416B4 00000000 */ nop +/* A65748 802416B8 46800020 */ cvt.s.w $f0, $f0 +/* A6574C 802416BC E7A00018 */ swc1 $f0, 0x18($sp) +/* A65750 802416C0 860200A6 */ lh $v0, 0xa6($s0) +/* A65754 802416C4 27A60024 */ addiu $a2, $sp, 0x24 +/* A65758 802416C8 44820000 */ mtc1 $v0, $f0 +/* A6575C 802416CC 00000000 */ nop +/* A65760 802416D0 46800020 */ cvt.s.w $f0, $f0 +/* A65764 802416D4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A65768 802416D8 8E040080 */ lw $a0, 0x80($s0) +/* A6576C 802416DC 0C037711 */ jal func_800DDC44 +/* A65770 802416E0 27A70028 */ addiu $a3, $sp, 0x28 +/* A65774 802416E4 0040902D */ daddu $s2, $v0, $zero +/* A65778 802416E8 16400005 */ bnez $s2, .L80241700 +/* A6577C 802416EC 00000000 */ nop +/* A65780 802416F0 8E050018 */ lw $a1, 0x18($s0) +/* A65784 802416F4 8E06000C */ lw $a2, 0xc($s0) +/* A65788 802416F8 0C00EA95 */ jal npc_move_heading +/* A6578C 802416FC 0200202D */ daddu $a0, $s0, $zero +.L80241700: +/* A65790 80241700 8602008E */ lh $v0, 0x8e($s0) +/* A65794 80241704 9603008E */ lhu $v1, 0x8e($s0) +/* A65798 80241708 18400007 */ blez $v0, .L80241728 +/* A6579C 8024170C 2462FFFF */ addiu $v0, $v1, -1 +/* A657A0 80241710 A602008E */ sh $v0, 0x8e($s0) +/* A657A4 80241714 00021400 */ sll $v0, $v0, 0x10 +/* A657A8 80241718 18400003 */ blez $v0, .L80241728 +/* A657AC 8024171C 00000000 */ nop +/* A657B0 80241720 12400008 */ beqz $s2, .L80241744 +/* A657B4 80241724 00000000 */ nop +.L80241728: +/* A657B8 80241728 8E2200CC */ lw $v0, 0xcc($s1) +/* A657BC 8024172C A2200007 */ sb $zero, 7($s1) +/* A657C0 80241730 8C420028 */ lw $v0, 0x28($v0) +/* A657C4 80241734 A600008E */ sh $zero, 0x8e($s0) +/* A657C8 80241738 AE020028 */ sw $v0, 0x28($s0) +/* A657CC 8024173C 2402000F */ addiu $v0, $zero, 0xf +/* A657D0 80241740 AE620070 */ sw $v0, 0x70($s3) +.L80241744: +/* A657D4 80241744 8FBF0040 */ lw $ra, 0x40($sp) +/* A657D8 80241748 8FB3003C */ lw $s3, 0x3c($sp) +/* A657DC 8024174C 8FB20038 */ lw $s2, 0x38($sp) +/* A657E0 80241750 8FB10034 */ lw $s1, 0x34($sp) +/* A657E4 80241754 8FB00030 */ lw $s0, 0x30($sp) +/* A657E8 80241758 03E00008 */ jr $ra +/* A657EC 8024175C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_80241760.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241760.s new file mode 100644 index 0000000000..36a138c5c5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_80241760.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241760 +/* A657F0 80241760 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A657F4 80241764 AFB10014 */ sw $s1, 0x14($sp) +/* A657F8 80241768 0080882D */ daddu $s1, $a0, $zero +/* A657FC 8024176C AFBF0018 */ sw $ra, 0x18($sp) +/* A65800 80241770 AFB00010 */ sw $s0, 0x10($sp) +/* A65804 80241774 8E300148 */ lw $s0, 0x148($s1) +/* A65808 80241778 0C00EABB */ jal get_npc_unsafe +/* A6580C 8024177C 86040008 */ lh $a0, 8($s0) +/* A65810 80241780 0040202D */ daddu $a0, $v0, $zero +/* A65814 80241784 9482008E */ lhu $v0, 0x8e($a0) +/* A65818 80241788 24030003 */ addiu $v1, $zero, 3 +/* A6581C 8024178C 24420001 */ addiu $v0, $v0, 1 +/* A65820 80241790 A482008E */ sh $v0, 0x8e($a0) +/* A65824 80241794 00021400 */ sll $v0, $v0, 0x10 +/* A65828 80241798 00021403 */ sra $v0, $v0, 0x10 +/* A6582C 8024179C 14430003 */ bne $v0, $v1, .L802417AC +/* A65830 802417A0 00000000 */ nop +/* A65834 802417A4 96020086 */ lhu $v0, 0x86($s0) +/* A65838 802417A8 A48200A8 */ sh $v0, 0xa8($a0) +.L802417AC: +/* A6583C 802417AC 8482008E */ lh $v0, 0x8e($a0) +/* A65840 802417B0 8E030080 */ lw $v1, 0x80($s0) +/* A65844 802417B4 0043102A */ slt $v0, $v0, $v1 +/* A65848 802417B8 14400004 */ bnez $v0, .L802417CC +/* A6584C 802417BC 00000000 */ nop +/* A65850 802417C0 96020086 */ lhu $v0, 0x86($s0) +/* A65854 802417C4 A48200A8 */ sh $v0, 0xa8($a0) +/* A65858 802417C8 AE200070 */ sw $zero, 0x70($s1) +.L802417CC: +/* A6585C 802417CC 8FBF0018 */ lw $ra, 0x18($sp) +/* A65860 802417D0 8FB10014 */ lw $s1, 0x14($sp) +/* A65864 802417D4 8FB00010 */ lw $s0, 0x10($sp) +/* A65868 802417D8 03E00008 */ jr $ra +/* A6586C 802417DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_51/func_802417E0_A64090.s b/asm/nonmatchings/world/area_kpa/kpa_51/func_802417E0_A64090.s new file mode 100644 index 0000000000..d93ed30d1d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_51/func_802417E0_A64090.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417E0_A65870 +/* A65870 802417E0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A65874 802417E4 AFB3005C */ sw $s3, 0x5c($sp) +/* A65878 802417E8 0080982D */ daddu $s3, $a0, $zero +/* A6587C 802417EC AFBF0068 */ sw $ra, 0x68($sp) +/* A65880 802417F0 AFB50064 */ sw $s5, 0x64($sp) +/* A65884 802417F4 AFB40060 */ sw $s4, 0x60($sp) +/* A65888 802417F8 AFB20058 */ sw $s2, 0x58($sp) +/* A6588C 802417FC AFB10054 */ sw $s1, 0x54($sp) +/* A65890 80241800 AFB00050 */ sw $s0, 0x50($sp) +/* A65894 80241804 8E710148 */ lw $s1, 0x148($s3) +/* A65898 80241808 86240008 */ lh $a0, 8($s1) +/* A6589C 8024180C 0C00EABB */ jal get_npc_unsafe +/* A658A0 80241810 00A0802D */ daddu $s0, $a1, $zero +/* A658A4 80241814 8E63000C */ lw $v1, 0xc($s3) +/* A658A8 80241818 0260202D */ daddu $a0, $s3, $zero +/* A658AC 8024181C 8C650000 */ lw $a1, ($v1) +/* A658B0 80241820 0C0B1EAF */ jal get_variable +/* A658B4 80241824 0040902D */ daddu $s2, $v0, $zero +/* A658B8 80241828 AFA00028 */ sw $zero, 0x28($sp) +/* A658BC 8024182C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A658C0 80241830 8C630030 */ lw $v1, 0x30($v1) +/* A658C4 80241834 AFA3002C */ sw $v1, 0x2c($sp) +/* A658C8 80241838 8E2300D0 */ lw $v1, 0xd0($s1) +/* A658CC 8024183C 8C63001C */ lw $v1, 0x1c($v1) +/* A658D0 80241840 AFA30030 */ sw $v1, 0x30($sp) +/* A658D4 80241844 8E2300D0 */ lw $v1, 0xd0($s1) +/* A658D8 80241848 8C630024 */ lw $v1, 0x24($v1) +/* A658DC 8024184C AFA30034 */ sw $v1, 0x34($sp) +/* A658E0 80241850 8E2300D0 */ lw $v1, 0xd0($s1) +/* A658E4 80241854 8C630028 */ lw $v1, 0x28($v1) +/* A658E8 80241858 27B50028 */ addiu $s5, $sp, 0x28 +/* A658EC 8024185C AFA30038 */ sw $v1, 0x38($sp) +/* A658F0 80241860 8E2300D0 */ lw $v1, 0xd0($s1) +/* A658F4 80241864 3C0142C8 */ lui $at, 0x42c8 +/* A658F8 80241868 44810000 */ mtc1 $at, $f0 +/* A658FC 8024186C 8C63002C */ lw $v1, 0x2c($v1) +/* A65900 80241870 0040A02D */ daddu $s4, $v0, $zero +/* A65904 80241874 E7A00040 */ swc1 $f0, 0x40($sp) +/* A65908 80241878 A7A00044 */ sh $zero, 0x44($sp) +/* A6590C 8024187C 12000009 */ beqz $s0, .L802418A4 +/* A65910 80241880 AFA3003C */ sw $v1, 0x3c($sp) +/* A65914 80241884 864300A8 */ lh $v1, 0xa8($s2) +/* A65918 80241888 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6591C 8024188C AE20008C */ sw $zero, 0x8c($s1) +/* A65920 80241890 A22000B5 */ sb $zero, 0xb5($s1) +/* A65924 80241894 34420008 */ ori $v0, $v0, 8 +/* A65928 80241898 AE230084 */ sw $v1, 0x84($s1) +/* A6592C 8024189C 0809062D */ j .L802418B4 +/* A65930 802418A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802418A4: +/* A65934 802418A4 8E2200B0 */ lw $v0, 0xb0($s1) +/* A65938 802418A8 30420004 */ andi $v0, $v0, 4 +/* A6593C 802418AC 10400047 */ beqz $v0, .L802419CC +/* A65940 802418B0 00000000 */ nop +.L802418B4: +/* A65944 802418B4 AE600070 */ sw $zero, 0x70($s3) +/* A65948 802418B8 A640008E */ sh $zero, 0x8e($s2) +/* A6594C 802418BC 8E2300CC */ lw $v1, 0xcc($s1) +/* A65950 802418C0 2404F7FF */ addiu $a0, $zero, -0x801 +/* A65954 802418C4 A2200007 */ sb $zero, 7($s1) +/* A65958 802418C8 8E420000 */ lw $v0, ($s2) +/* A6595C 802418CC 8C630000 */ lw $v1, ($v1) +/* A65960 802418D0 00441024 */ and $v0, $v0, $a0 +/* A65964 802418D4 AE420000 */ sw $v0, ($s2) +/* A65968 802418D8 AE430028 */ sw $v1, 0x28($s2) +/* A6596C 802418DC 96220086 */ lhu $v0, 0x86($s1) +/* A65970 802418E0 A64200A8 */ sh $v0, 0xa8($s2) +/* A65974 802418E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* A65978 802418E8 AE200090 */ sw $zero, 0x90($s1) +/* A6597C 802418EC 8C420034 */ lw $v0, 0x34($v0) +/* A65980 802418F0 14400006 */ bnez $v0, .L8024190C +/* A65984 802418F4 2403FDFF */ addiu $v1, $zero, -0x201 +/* A65988 802418F8 8E420000 */ lw $v0, ($s2) +/* A6598C 802418FC 2403FFF7 */ addiu $v1, $zero, -9 +/* A65990 80241900 34420200 */ ori $v0, $v0, 0x200 +/* A65994 80241904 08090646 */ j .L80241918 +/* A65998 80241908 00431024 */ and $v0, $v0, $v1 +.L8024190C: +/* A6599C 8024190C 8E420000 */ lw $v0, ($s2) +/* A659A0 80241910 00431024 */ and $v0, $v0, $v1 +/* A659A4 80241914 34420008 */ ori $v0, $v0, 8 +.L80241918: +/* A659A8 80241918 AE420000 */ sw $v0, ($s2) +/* A659AC 8024191C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A659B0 80241920 30420004 */ andi $v0, $v0, 4 +/* A659B4 80241924 1040001E */ beqz $v0, .L802419A0 +/* A659B8 80241928 24040002 */ addiu $a0, $zero, 2 +/* A659BC 8024192C 0240282D */ daddu $a1, $s2, $zero +/* A659C0 80241930 0000302D */ daddu $a2, $zero, $zero +/* A659C4 80241934 24020063 */ addiu $v0, $zero, 0x63 +/* A659C8 80241938 AE620070 */ sw $v0, 0x70($s3) +/* A659CC 8024193C AE600074 */ sw $zero, 0x74($s3) +/* A659D0 80241940 864300A8 */ lh $v1, 0xa8($s2) +/* A659D4 80241944 3C013F80 */ lui $at, 0x3f80 +/* A659D8 80241948 44810000 */ mtc1 $at, $f0 +/* A659DC 8024194C 3C014000 */ lui $at, 0x4000 +/* A659E0 80241950 44811000 */ mtc1 $at, $f2 +/* A659E4 80241954 3C01C1A0 */ lui $at, 0xc1a0 +/* A659E8 80241958 44812000 */ mtc1 $at, $f4 +/* A659EC 8024195C 24020028 */ addiu $v0, $zero, 0x28 +/* A659F0 80241960 AFA2001C */ sw $v0, 0x1c($sp) +/* A659F4 80241964 44833000 */ mtc1 $v1, $f6 +/* A659F8 80241968 00000000 */ nop +/* A659FC 8024196C 468031A0 */ cvt.s.w $f6, $f6 +/* A65A00 80241970 44073000 */ mfc1 $a3, $f6 +/* A65A04 80241974 27A20048 */ addiu $v0, $sp, 0x48 +/* A65A08 80241978 AFA20020 */ sw $v0, 0x20($sp) +/* A65A0C 8024197C E7A00010 */ swc1 $f0, 0x10($sp) +/* A65A10 80241980 E7A20014 */ swc1 $f2, 0x14($sp) +/* A65A14 80241984 0C01BFA4 */ jal fx_emote +/* A65A18 80241988 E7A40018 */ swc1 $f4, 0x18($sp) +/* A65A1C 8024198C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A65A20 80241990 2403FFFB */ addiu $v1, $zero, -5 +/* A65A24 80241994 00431024 */ and $v0, $v0, $v1 +/* A65A28 80241998 08090673 */ j .L802419CC +/* A65A2C 8024199C AE2200B0 */ sw $v0, 0xb0($s1) +.L802419A0: +/* A65A30 802419A0 8E220000 */ lw $v0, ($s1) +/* A65A34 802419A4 3C034000 */ lui $v1, 0x4000 +/* A65A38 802419A8 00431024 */ and $v0, $v0, $v1 +/* A65A3C 802419AC 10400007 */ beqz $v0, .L802419CC +/* A65A40 802419B0 3C03BFFF */ lui $v1, 0xbfff +/* A65A44 802419B4 2402000C */ addiu $v0, $zero, 0xc +/* A65A48 802419B8 AE620070 */ sw $v0, 0x70($s3) +/* A65A4C 802419BC 8E220000 */ lw $v0, ($s1) +/* A65A50 802419C0 3463FFFF */ ori $v1, $v1, 0xffff +/* A65A54 802419C4 00431024 */ and $v0, $v0, $v1 +/* A65A58 802419C8 AE220000 */ sw $v0, ($s1) +.L802419CC: +/* A65A5C 802419CC 8E220090 */ lw $v0, 0x90($s1) +/* A65A60 802419D0 1840000C */ blez $v0, .L80241A04 +/* A65A64 802419D4 2442FFFF */ addiu $v0, $v0, -1 +/* A65A68 802419D8 14400087 */ bnez $v0, .L80241BF8 +/* A65A6C 802419DC AE220090 */ sw $v0, 0x90($s1) +/* A65A70 802419E0 3C03FFAA */ lui $v1, 0xffaa +/* A65A74 802419E4 8E420028 */ lw $v0, 0x28($s2) +/* A65A78 802419E8 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A65A7C 802419EC 00431021 */ addu $v0, $v0, $v1 +/* A65A80 802419F0 2C420002 */ sltiu $v0, $v0, 2 +/* A65A84 802419F4 10400003 */ beqz $v0, .L80241A04 +/* A65A88 802419F8 3C020055 */ lui $v0, 0x55 +/* A65A8C 802419FC 3442000C */ ori $v0, $v0, 0xc +/* A65A90 80241A00 AE420028 */ sw $v0, 0x28($s2) +.L80241A04: +/* A65A94 80241A04 8E630070 */ lw $v1, 0x70($s3) +/* A65A98 80241A08 2402000C */ addiu $v0, $zero, 0xc +/* A65A9C 80241A0C 10620048 */ beq $v1, $v0, .L80241B30 +/* A65AA0 80241A10 2862000D */ slti $v0, $v1, 0xd +/* A65AA4 80241A14 1040000F */ beqz $v0, .L80241A54 +/* A65AA8 80241A18 24100001 */ addiu $s0, $zero, 1 +/* A65AAC 80241A1C 1070001E */ beq $v1, $s0, .L80241A98 +/* A65AB0 80241A20 28620002 */ slti $v0, $v1, 2 +/* A65AB4 80241A24 10400005 */ beqz $v0, .L80241A3C +/* A65AB8 80241A28 24020002 */ addiu $v0, $zero, 2 +/* A65ABC 80241A2C 10600015 */ beqz $v1, .L80241A84 +/* A65AC0 80241A30 0260202D */ daddu $a0, $s3, $zero +/* A65AC4 80241A34 080906E3 */ j .L80241B8C +/* A65AC8 80241A38 00000000 */ nop +.L80241A3C: +/* A65ACC 80241A3C 1062001C */ beq $v1, $v0, .L80241AB0 +/* A65AD0 80241A40 24020003 */ addiu $v0, $zero, 3 +/* A65AD4 80241A44 10620035 */ beq $v1, $v0, .L80241B1C +/* A65AD8 80241A48 0260202D */ daddu $a0, $s3, $zero +/* A65ADC 80241A4C 080906E3 */ j .L80241B8C +/* A65AE0 80241A50 00000000 */ nop +.L80241A54: +/* A65AE4 80241A54 2402000E */ addiu $v0, $zero, 0xe +/* A65AE8 80241A58 1062003F */ beq $v1, $v0, .L80241B58 +/* A65AEC 80241A5C 0062102A */ slt $v0, $v1, $v0 +/* A65AF0 80241A60 14400038 */ bnez $v0, .L80241B44 +/* A65AF4 80241A64 0260202D */ daddu $a0, $s3, $zero +/* A65AF8 80241A68 2402000F */ addiu $v0, $zero, 0xf +/* A65AFC 80241A6C 10620040 */ beq $v1, $v0, .L80241B70 +/* A65B00 80241A70 24020063 */ addiu $v0, $zero, 0x63 +/* A65B04 80241A74 10620043 */ beq $v1, $v0, .L80241B84 +/* A65B08 80241A78 00000000 */ nop +/* A65B0C 80241A7C 080906E3 */ j .L80241B8C +/* A65B10 80241A80 00000000 */ nop +.L80241A84: +/* A65B14 80241A84 0280282D */ daddu $a1, $s4, $zero +/* A65B18 80241A88 0C012568 */ jal func_800495A0 +/* A65B1C 80241A8C 02A0302D */ daddu $a2, $s5, $zero +/* A65B20 80241A90 96220086 */ lhu $v0, 0x86($s1) +/* A65B24 80241A94 A64200A8 */ sh $v0, 0xa8($s2) +.L80241A98: +/* A65B28 80241A98 0260202D */ daddu $a0, $s3, $zero +/* A65B2C 80241A9C 0280282D */ daddu $a1, $s4, $zero +/* A65B30 80241AA0 0C0125AE */ jal func_800496B8 +/* A65B34 80241AA4 02A0302D */ daddu $a2, $s5, $zero +/* A65B38 80241AA8 080906E3 */ j .L80241B8C +/* A65B3C 80241AAC 00000000 */ nop +.L80241AB0: +/* A65B40 80241AB0 0260202D */ daddu $a0, $s3, $zero +/* A65B44 80241AB4 0280282D */ daddu $a1, $s4, $zero +/* A65B48 80241AB8 0C0126D1 */ jal func_80049B44 +/* A65B4C 80241ABC 02A0302D */ daddu $a2, $s5, $zero +/* A65B50 80241AC0 8E230088 */ lw $v1, 0x88($s1) +/* A65B54 80241AC4 24020006 */ addiu $v0, $zero, 6 +/* A65B58 80241AC8 14620014 */ bne $v1, $v0, .L80241B1C +/* A65B5C 80241ACC 0260202D */ daddu $a0, $s3, $zero +/* A65B60 80241AD0 0C00A67F */ jal rand_int +/* A65B64 80241AD4 24040064 */ addiu $a0, $zero, 0x64 +/* A65B68 80241AD8 28420021 */ slti $v0, $v0, 0x21 +/* A65B6C 80241ADC 5040000F */ beql $v0, $zero, .L80241B1C +/* A65B70 80241AE0 0260202D */ daddu $a0, $s3, $zero +/* A65B74 80241AE4 8E22008C */ lw $v0, 0x8c($s1) +/* A65B78 80241AE8 10400005 */ beqz $v0, .L80241B00 +/* A65B7C 80241AEC 3C020055 */ lui $v0, 0x55 +/* A65B80 80241AF0 3442002F */ ori $v0, $v0, 0x2f +/* A65B84 80241AF4 AE20008C */ sw $zero, 0x8c($s1) +/* A65B88 80241AF8 080906C3 */ j .L80241B0C +/* A65B8C 80241AFC A22000B5 */ sb $zero, 0xb5($s1) +.L80241B00: +/* A65B90 80241B00 3442002E */ ori $v0, $v0, 0x2e +/* A65B94 80241B04 AE30008C */ sw $s0, 0x8c($s1) +/* A65B98 80241B08 A23000B5 */ sb $s0, 0xb5($s1) +.L80241B0C: +/* A65B9C 80241B0C AE420028 */ sw $v0, 0x28($s2) +/* A65BA0 80241B10 24020007 */ addiu $v0, $zero, 7 +/* A65BA4 80241B14 080906FE */ j .L80241BF8 +/* A65BA8 80241B18 AE220090 */ sw $v0, 0x90($s1) +.L80241B1C: +/* A65BAC 80241B1C 0280282D */ daddu $a1, $s4, $zero +/* A65BB0 80241B20 0C012701 */ jal func_80049C04 +/* A65BB4 80241B24 02A0302D */ daddu $a2, $s5, $zero +/* A65BB8 80241B28 080906E3 */ j .L80241B8C +/* A65BBC 80241B2C 00000000 */ nop +.L80241B30: +/* A65BC0 80241B30 0260202D */ daddu $a0, $s3, $zero +/* A65BC4 80241B34 0280282D */ daddu $a1, $s4, $zero +/* A65BC8 80241B38 0C090513 */ jal func_8024144C +/* A65BCC 80241B3C 02A0302D */ daddu $a2, $s5, $zero +/* A65BD0 80241B40 0260202D */ daddu $a0, $s3, $zero +.L80241B44: +/* A65BD4 80241B44 0280282D */ daddu $a1, $s4, $zero +/* A65BD8 80241B48 0C090532 */ jal func_802414C8 +/* A65BDC 80241B4C 02A0302D */ daddu $a2, $s5, $zero +/* A65BE0 80241B50 080906E3 */ j .L80241B8C +/* A65BE4 80241B54 00000000 */ nop +.L80241B58: +/* A65BE8 80241B58 0260202D */ daddu $a0, $s3, $zero +/* A65BEC 80241B5C 0280282D */ daddu $a1, $s4, $zero +/* A65BF0 80241B60 0C09057F */ jal func_802415FC +/* A65BF4 80241B64 02A0302D */ daddu $a2, $s5, $zero +/* A65BF8 80241B68 080906E3 */ j .L80241B8C +/* A65BFC 80241B6C 00000000 */ nop +.L80241B70: +/* A65C00 80241B70 0280282D */ daddu $a1, $s4, $zero +/* A65C04 80241B74 0C0905D8 */ jal func_80241760 +/* A65C08 80241B78 02A0302D */ daddu $a2, $s5, $zero +/* A65C0C 80241B7C 080906E3 */ j .L80241B8C +/* A65C10 80241B80 00000000 */ nop +.L80241B84: +/* A65C14 80241B84 0C0129CF */ jal func_8004A73C +/* A65C18 80241B88 0260202D */ daddu $a0, $s3, $zero +.L80241B8C: +/* A65C1C 80241B8C 8E230088 */ lw $v1, 0x88($s1) +/* A65C20 80241B90 24020006 */ addiu $v0, $zero, 6 +/* A65C24 80241B94 14620019 */ bne $v1, $v0, .L80241BFC +/* A65C28 80241B98 0000102D */ daddu $v0, $zero, $zero +/* A65C2C 80241B9C 8E22008C */ lw $v0, 0x8c($s1) +/* A65C30 80241BA0 10400003 */ beqz $v0, .L80241BB0 +/* A65C34 80241BA4 24020001 */ addiu $v0, $zero, 1 +/* A65C38 80241BA8 080906ED */ j .L80241BB4 +/* A65C3C 80241BAC A22200B5 */ sb $v0, 0xb5($s1) +.L80241BB0: +/* A65C40 80241BB0 A22000B5 */ sb $zero, 0xb5($s1) +.L80241BB4: +/* A65C44 80241BB4 8E22008C */ lw $v0, 0x8c($s1) +/* A65C48 80241BB8 1040000F */ beqz $v0, .L80241BF8 +/* A65C4C 80241BBC 3C03FFAA */ lui $v1, 0xffaa +/* A65C50 80241BC0 8E420028 */ lw $v0, 0x28($s2) +/* A65C54 80241BC4 3463FFFC */ ori $v1, $v1, 0xfffc +/* A65C58 80241BC8 00431821 */ addu $v1, $v0, $v1 +/* A65C5C 80241BCC 2C620015 */ sltiu $v0, $v1, 0x15 +/* A65C60 80241BD0 10400009 */ beqz $v0, .L80241BF8 +/* A65C64 80241BD4 00031080 */ sll $v0, $v1, 2 +/* A65C68 80241BD8 3C018024 */ lui $at, 0x8024 +/* A65C6C 80241BDC 00220821 */ addu $at, $at, $v0 +/* A65C70 80241BE0 8C223010 */ lw $v0, 0x3010($at) +/* A65C74 80241BE4 00400008 */ jr $v0 +/* A65C78 80241BE8 00000000 */ nop +/* A65C7C 80241BEC 8E420028 */ lw $v0, 0x28($s2) +/* A65C80 80241BF0 24420001 */ addiu $v0, $v0, 1 +/* A65C84 80241BF4 AE420028 */ sw $v0, 0x28($s2) +.L80241BF8: +/* A65C88 80241BF8 0000102D */ daddu $v0, $zero, $zero +.L80241BFC: +/* A65C8C 80241BFC 8FBF0068 */ lw $ra, 0x68($sp) +/* A65C90 80241C00 8FB50064 */ lw $s5, 0x64($sp) +/* A65C94 80241C04 8FB40060 */ lw $s4, 0x60($sp) +/* A65C98 80241C08 8FB3005C */ lw $s3, 0x5c($sp) +/* A65C9C 80241C0C 8FB20058 */ lw $s2, 0x58($sp) +/* A65CA0 80241C10 8FB10054 */ lw $s1, 0x54($sp) +/* A65CA4 80241C14 8FB00050 */ lw $s0, 0x50($sp) +/* A65CA8 80241C18 03E00008 */ jr $ra +/* A65CAC 80241C1C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240000_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240000_A67100.s new file mode 100644 index 0000000000..4d43de39a7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240000_A67100.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A67100 +/* A67100 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A67104 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A67108 80240008 0C04417A */ jal get_entity_by_index +/* A6710C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* A67110 80240010 0040182D */ daddu $v1, $v0, $zero +/* A67114 80240014 8C640000 */ lw $a0, ($v1) +/* A67118 80240018 3C050010 */ lui $a1, 0x10 +/* A6711C 8024001C 00852025 */ or $a0, $a0, $a1 +/* A67120 80240020 AC640000 */ sw $a0, ($v1) +/* A67124 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* A67128 80240028 24020002 */ addiu $v0, $zero, 2 +/* A6712C 8024002C 03E00008 */ jr $ra +/* A67130 80240030 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240034_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240034_A67100.s new file mode 100644 index 0000000000..f1a75442ec --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240034_A67100.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_A67134 +/* A67134 80240034 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A67138 80240038 AFB20018 */ sw $s2, 0x18($sp) +/* A6713C 8024003C 0080902D */ daddu $s2, $a0, $zero +/* A67140 80240040 AFBF001C */ sw $ra, 0x1c($sp) +/* A67144 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* A67148 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* A6714C 8024004C 8E50000C */ lw $s0, 0xc($s2) +/* A67150 80240050 8E050000 */ lw $a1, ($s0) +/* A67154 80240054 0C0B1EAF */ jal get_variable +/* A67158 80240058 26100004 */ addiu $s0, $s0, 4 +/* A6715C 8024005C 0C04417A */ jal get_entity_by_index +/* A67160 80240060 0040202D */ daddu $a0, $v0, $zero +/* A67164 80240064 8E050000 */ lw $a1, ($s0) +/* A67168 80240068 26100004 */ addiu $s0, $s0, 4 +/* A6716C 8024006C 0040882D */ daddu $s1, $v0, $zero +/* A67170 80240070 C6200048 */ lwc1 $f0, 0x48($s1) +/* A67174 80240074 4600008D */ trunc.w.s $f2, $f0 +/* A67178 80240078 44061000 */ mfc1 $a2, $f2 +/* A6717C 8024007C 0C0B2026 */ jal set_variable +/* A67180 80240080 0240202D */ daddu $a0, $s2, $zero +/* A67184 80240084 8E050000 */ lw $a1, ($s0) +/* A67188 80240088 26100004 */ addiu $s0, $s0, 4 +/* A6718C 8024008C C620004C */ lwc1 $f0, 0x4c($s1) +/* A67190 80240090 4600008D */ trunc.w.s $f2, $f0 +/* A67194 80240094 44061000 */ mfc1 $a2, $f2 +/* A67198 80240098 0C0B2026 */ jal set_variable +/* A6719C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* A671A0 802400A0 C6200050 */ lwc1 $f0, 0x50($s1) +/* A671A4 802400A4 8E050000 */ lw $a1, ($s0) +/* A671A8 802400A8 4600008D */ trunc.w.s $f2, $f0 +/* A671AC 802400AC 44061000 */ mfc1 $a2, $f2 +/* A671B0 802400B0 0C0B2026 */ jal set_variable +/* A671B4 802400B4 0240202D */ daddu $a0, $s2, $zero +/* A671B8 802400B8 8FBF001C */ lw $ra, 0x1c($sp) +/* A671BC 802400BC 8FB20018 */ lw $s2, 0x18($sp) +/* A671C0 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* A671C4 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* A671C8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* A671CC 802400CC 03E00008 */ jr $ra +/* A671D0 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* A671D4 802400D4 00000000 */ nop +/* A671D8 802400D8 00000000 */ nop +/* A671DC 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_802400E0_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_802400E0_A67100.s new file mode 100644 index 0000000000..5e02bfca2c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_802400E0_A67100.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_A671E0 +/* A671E0 802400E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A671E4 802400E4 AFB10014 */ sw $s1, 0x14($sp) +/* A671E8 802400E8 0080882D */ daddu $s1, $a0, $zero +/* A671EC 802400EC 3C05800B */ lui $a1, %hi(gCameras) +/* A671F0 802400F0 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A671F4 802400F4 AFBF0020 */ sw $ra, 0x20($sp) +/* A671F8 802400F8 AFB3001C */ sw $s3, 0x1c($sp) +/* A671FC 802400FC AFB20018 */ sw $s2, 0x18($sp) +/* A67200 80240100 AFB00010 */ sw $s0, 0x10($sp) +/* A67204 80240104 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A67208 80240108 8E330148 */ lw $s3, 0x148($s1) +/* A6720C 8024010C 3C03800A */ lui $v1, 0x800a +/* A67210 80240110 8463A634 */ lh $v1, -0x59cc($v1) +/* A67214 80240114 8E30000C */ lw $s0, 0xc($s1) +/* A67218 80240118 00031080 */ sll $v0, $v1, 2 +/* A6721C 8024011C 00431021 */ addu $v0, $v0, $v1 +/* A67220 80240120 00021080 */ sll $v0, $v0, 2 +/* A67224 80240124 00431023 */ subu $v0, $v0, $v1 +/* A67228 80240128 000218C0 */ sll $v1, $v0, 3 +/* A6722C 8024012C 00431021 */ addu $v0, $v0, $v1 +/* A67230 80240130 000210C0 */ sll $v0, $v0, 3 +/* A67234 80240134 86640008 */ lh $a0, 8($s3) +/* A67238 80240138 0C00EABB */ jal get_npc_unsafe +/* A6723C 8024013C 00459021 */ addu $s2, $v0, $a1 +/* A67240 80240140 0220202D */ daddu $a0, $s1, $zero +/* A67244 80240144 8E050000 */ lw $a1, ($s0) +/* A67248 80240148 0C0B1EAF */ jal get_variable +/* A6724C 8024014C 0040802D */ daddu $s0, $v0, $zero +/* A67250 80240150 0260202D */ daddu $a0, $s3, $zero +/* A67254 80240154 8C460024 */ lw $a2, 0x24($v0) +/* A67258 80240158 8C470028 */ lw $a3, 0x28($v0) +/* A6725C 8024015C 0C0124FB */ jal func_800493EC +/* A67260 80240160 0000282D */ daddu $a1, $zero, $zero +/* A67264 80240164 10400052 */ beqz $v0, .L802402B0 +/* A67268 80240168 2402FFFF */ addiu $v0, $zero, -1 +/* A6726C 8024016C C64C006C */ lwc1 $f12, 0x6c($s2) +/* A67270 80240170 C60E000C */ lwc1 $f14, 0xc($s0) +/* A67274 80240174 3C014387 */ lui $at, 0x4387 +/* A67278 80240178 4481A000 */ mtc1 $at, $f20 +/* A6727C 8024017C 0C00A70A */ jal get_clamped_angle_diff +/* A67280 80240180 00000000 */ nop +/* A67284 80240184 0C00A6C9 */ jal clamp_angle +/* A67288 80240188 46000306 */ mov.s $f12, $f0 +/* A6728C 8024018C 3C018024 */ lui $at, 0x8024 +/* A67290 80240190 D42239E0 */ ldc1 $f2, 0x39e0($at) +/* A67294 80240194 46000021 */ cvt.d.s $f0, $f0 +/* A67298 80240198 4622003C */ c.lt.d $f0, $f2 +/* A6729C 8024019C 00000000 */ nop +/* A672A0 802401A0 45000003 */ bc1f .L802401B0 +/* A672A4 802401A4 00000000 */ nop +/* A672A8 802401A8 3C0142B4 */ lui $at, 0x42b4 +/* A672AC 802401AC 4481A000 */ mtc1 $at, $f20 +.L802401B0: +/* A672B0 802401B0 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* A672B4 802401B4 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* A672B8 802401B8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A672BC 802401BC 8E220000 */ lw $v0, ($s1) +/* A672C0 802401C0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A672C4 802401C4 8C460028 */ lw $a2, 0x28($v0) +/* A672C8 802401C8 0C00A720 */ jal atan2 +/* A672CC 802401CC 8C470030 */ lw $a3, 0x30($v0) +/* A672D0 802401D0 4600A306 */ mov.s $f12, $f20 +/* A672D4 802401D4 0C00A70A */ jal get_clamped_angle_diff +/* A672D8 802401D8 46000386 */ mov.s $f14, $f0 +/* A672DC 802401DC 46000005 */ abs.s $f0, $f0 +/* A672E0 802401E0 3C018024 */ lui $at, 0x8024 +/* A672E4 802401E4 D42239E8 */ ldc1 $f2, 0x39e8($at) +/* A672E8 802401E8 46000021 */ cvt.d.s $f0, $f0 +/* A672EC 802401EC 4620103C */ c.lt.d $f2, $f0 +/* A672F0 802401F0 00000000 */ nop +/* A672F4 802401F4 4501002E */ bc1t .L802402B0 +/* A672F8 802401F8 2402FFFF */ addiu $v0, $zero, -1 +/* A672FC 802401FC 8E220000 */ lw $v0, ($s1) +/* A67300 80240200 C600003C */ lwc1 $f0, 0x3c($s0) +/* A67304 80240204 C442002C */ lwc1 $f2, 0x2c($v0) +/* A67308 80240208 860200A8 */ lh $v0, 0xa8($s0) +/* A6730C 8024020C 46020001 */ sub.s $f0, $f0, $f2 +/* A67310 80240210 44821000 */ mtc1 $v0, $f2 +/* A67314 80240214 00000000 */ nop +/* A67318 80240218 468010A1 */ cvt.d.w $f2, $f2 +/* A6731C 8024021C 46221080 */ add.d $f2, $f2, $f2 +/* A67320 80240220 46000005 */ abs.s $f0, $f0 +/* A67324 80240224 46000021 */ cvt.d.s $f0, $f0 +/* A67328 80240228 4620103E */ c.le.d $f2, $f0 +/* A6732C 8024022C 00000000 */ nop +/* A67330 80240230 4501001F */ bc1t .L802402B0 +/* A67334 80240234 2402FFFF */ addiu $v0, $zero, -1 +/* A67338 80240238 3C038011 */ lui $v1, 0x8011 +/* A6733C 8024023C 8063EBB3 */ lb $v1, -0x144d($v1) +/* A67340 80240240 24020009 */ addiu $v0, $zero, 9 +/* A67344 80240244 10620019 */ beq $v1, $v0, .L802402AC +/* A67348 80240248 24020007 */ addiu $v0, $zero, 7 +/* A6734C 8024024C 14620005 */ bne $v1, $v0, .L80240264 +/* A67350 80240250 2402FFFF */ addiu $v0, $zero, -1 +/* A67354 80240254 080900AC */ j .L802402B0 +/* A67358 80240258 00000000 */ nop +.L8024025C: +/* A6735C 8024025C 080900AC */ j .L802402B0 +/* A67360 80240260 0240102D */ daddu $v0, $s2, $zero +.L80240264: +/* A67364 80240264 8E620078 */ lw $v0, 0x78($s3) +/* A67368 80240268 18400010 */ blez $v0, .L802402AC +/* A6736C 8024026C 0000882D */ daddu $s1, $zero, $zero +.L80240270: +/* A67370 80240270 86620008 */ lh $v0, 8($s3) +/* A67374 80240274 00511021 */ addu $v0, $v0, $s1 +/* A67378 80240278 24520001 */ addiu $s2, $v0, 1 +/* A6737C 8024027C 0C00FB3A */ jal get_enemy +/* A67380 80240280 0240202D */ daddu $a0, $s2, $zero +/* A67384 80240284 0240202D */ daddu $a0, $s2, $zero +/* A67388 80240288 0C00EABB */ jal get_npc_unsafe +/* A6738C 8024028C 0040802D */ daddu $s0, $v0, $zero +/* A67390 80240290 8E02006C */ lw $v0, 0x6c($s0) +/* A67394 80240294 1040FFF1 */ beqz $v0, .L8024025C +/* A67398 80240298 26310001 */ addiu $s1, $s1, 1 +/* A6739C 8024029C 8E620078 */ lw $v0, 0x78($s3) +/* A673A0 802402A0 0222102A */ slt $v0, $s1, $v0 +/* A673A4 802402A4 1440FFF2 */ bnez $v0, .L80240270 +/* A673A8 802402A8 00000000 */ nop +.L802402AC: +/* A673AC 802402AC 2402FFFF */ addiu $v0, $zero, -1 +.L802402B0: +/* A673B0 802402B0 8FBF0020 */ lw $ra, 0x20($sp) +/* A673B4 802402B4 8FB3001C */ lw $s3, 0x1c($sp) +/* A673B8 802402B8 8FB20018 */ lw $s2, 0x18($sp) +/* A673BC 802402BC 8FB10014 */ lw $s1, 0x14($sp) +/* A673C0 802402C0 8FB00010 */ lw $s0, 0x10($sp) +/* A673C4 802402C4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A673C8 802402C8 03E00008 */ jr $ra +/* A673CC 802402CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_802402D0.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_802402D0.s new file mode 100644 index 0000000000..00fd47a28e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_802402D0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0 +/* A673D0 802402D0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A673D4 802402D4 AFB20038 */ sw $s2, 0x38($sp) +/* A673D8 802402D8 0080902D */ daddu $s2, $a0, $zero +/* A673DC 802402DC AFB00030 */ sw $s0, 0x30($sp) +/* A673E0 802402E0 AFBF003C */ sw $ra, 0x3c($sp) +/* A673E4 802402E4 AFB10034 */ sw $s1, 0x34($sp) +/* A673E8 802402E8 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A673EC 802402EC F7B40040 */ sdc1 $f20, 0x40($sp) +/* A673F0 802402F0 8E510148 */ lw $s1, 0x148($s2) +/* A673F4 802402F4 4485A000 */ mtc1 $a1, $f20 +/* A673F8 802402F8 86240008 */ lh $a0, 8($s1) +/* A673FC 802402FC 4486B000 */ mtc1 $a2, $f22 +/* A67400 80240300 0C00EABB */ jal get_npc_unsafe +/* A67404 80240304 00E0802D */ daddu $s0, $a3, $zero +/* A67408 80240308 0200202D */ daddu $a0, $s0, $zero +/* A6740C 8024030C 0220282D */ daddu $a1, $s1, $zero +/* A67410 80240310 24030001 */ addiu $v1, $zero, 1 +/* A67414 80240314 4406A000 */ mfc1 $a2, $f20 +/* A67418 80240318 4407B000 */ mfc1 $a3, $f22 +/* A6741C 8024031C 0040802D */ daddu $s0, $v0, $zero +/* A67420 80240320 0C01242D */ jal func_800490B4 +/* A67424 80240324 AFA30010 */ sw $v1, 0x10($sp) +/* A67428 80240328 1440001D */ bnez $v0, .L802403A0 +/* A6742C 8024032C 24040002 */ addiu $a0, $zero, 2 +/* A67430 80240330 0200282D */ daddu $a1, $s0, $zero +/* A67434 80240334 0000302D */ daddu $a2, $zero, $zero +/* A67438 80240338 860300A8 */ lh $v1, 0xa8($s0) +/* A6743C 8024033C 3C013F80 */ lui $at, 0x3f80 +/* A67440 80240340 44810000 */ mtc1 $at, $f0 +/* A67444 80240344 3C014000 */ lui $at, 0x4000 +/* A67448 80240348 44811000 */ mtc1 $at, $f2 +/* A6744C 8024034C 3C01C1A0 */ lui $at, 0xc1a0 +/* A67450 80240350 44812000 */ mtc1 $at, $f4 +/* A67454 80240354 2402000F */ addiu $v0, $zero, 0xf +/* A67458 80240358 AFA2001C */ sw $v0, 0x1c($sp) +/* A6745C 8024035C 44833000 */ mtc1 $v1, $f6 +/* A67460 80240360 00000000 */ nop +/* A67464 80240364 468031A0 */ cvt.s.w $f6, $f6 +/* A67468 80240368 44073000 */ mfc1 $a3, $f6 +/* A6746C 8024036C 27A20028 */ addiu $v0, $sp, 0x28 +/* A67470 80240370 AFA20020 */ sw $v0, 0x20($sp) +/* A67474 80240374 E7A00010 */ swc1 $f0, 0x10($sp) +/* A67478 80240378 E7A20014 */ swc1 $f2, 0x14($sp) +/* A6747C 8024037C 0C01BFA4 */ jal fx_emote +/* A67480 80240380 E7A40018 */ swc1 $f4, 0x18($sp) +/* A67484 80240384 8E2200CC */ lw $v0, 0xcc($s1) +/* A67488 80240388 8C430000 */ lw $v1, ($v0) +/* A6748C 8024038C 24020014 */ addiu $v0, $zero, 0x14 +/* A67490 80240390 A602008E */ sh $v0, 0x8e($s0) +/* A67494 80240394 24020021 */ addiu $v0, $zero, 0x21 +/* A67498 80240398 080900FC */ j .L802403F0 +/* A6749C 8024039C AE030028 */ sw $v1, 0x28($s0) +.L802403A0: +/* A674A0 802403A0 0C090038 */ jal func_802400E0 +/* A674A4 802403A4 0240202D */ daddu $a0, $s2, $zero +/* A674A8 802403A8 0040202D */ daddu $a0, $v0, $zero +/* A674AC 802403AC 2402FFFF */ addiu $v0, $zero, -1 +/* A674B0 802403B0 10820010 */ beq $a0, $v0, .L802403F4 +/* A674B4 802403B4 00000000 */ nop +/* A674B8 802403B8 0C00FB3A */ jal get_enemy +/* A674BC 802403BC 00000000 */ nop +/* A674C0 802403C0 8C42006C */ lw $v0, 0x6c($v0) +/* A674C4 802403C4 1440000B */ bnez $v0, .L802403F4 +/* A674C8 802403C8 00000000 */ nop +/* A674CC 802403CC 8602008C */ lh $v0, 0x8c($s0) +/* A674D0 802403D0 14400008 */ bnez $v0, .L802403F4 +/* A674D4 802403D4 00000000 */ nop +/* A674D8 802403D8 8E2200CC */ lw $v0, 0xcc($s1) +/* A674DC 802403DC 8C420020 */ lw $v0, 0x20($v0) +/* A674E0 802403E0 AE020028 */ sw $v0, 0x28($s0) +/* A674E4 802403E4 96220072 */ lhu $v0, 0x72($s1) +/* A674E8 802403E8 A602008E */ sh $v0, 0x8e($s0) +/* A674EC 802403EC 2402001E */ addiu $v0, $zero, 0x1e +.L802403F0: +/* A674F0 802403F0 AE420070 */ sw $v0, 0x70($s2) +.L802403F4: +/* A674F4 802403F4 8FBF003C */ lw $ra, 0x3c($sp) +/* A674F8 802403F8 8FB20038 */ lw $s2, 0x38($sp) +/* A674FC 802403FC 8FB10034 */ lw $s1, 0x34($sp) +/* A67500 80240400 8FB00030 */ lw $s0, 0x30($sp) +/* A67504 80240404 D7B60048 */ ldc1 $f22, 0x48($sp) +/* A67508 80240408 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A6750C 8024040C 03E00008 */ jr $ra +/* A67510 80240410 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240414.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240414.s new file mode 100644 index 0000000000..b9d8c1c38e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240414.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240414 +/* A67514 80240414 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A67518 80240418 AFB20038 */ sw $s2, 0x38($sp) +/* A6751C 8024041C 0080902D */ daddu $s2, $a0, $zero +/* A67520 80240420 AFBF003C */ sw $ra, 0x3c($sp) +/* A67524 80240424 AFB10034 */ sw $s1, 0x34($sp) +/* A67528 80240428 AFB00030 */ sw $s0, 0x30($sp) +/* A6752C 8024042C 8E510148 */ lw $s1, 0x148($s2) +/* A67530 80240430 0C00EABB */ jal get_npc_unsafe +/* A67534 80240434 86240008 */ lh $a0, 8($s1) +/* A67538 80240438 0040802D */ daddu $s0, $v0, $zero +/* A6753C 8024043C 9602008E */ lhu $v0, 0x8e($s0) +/* A67540 80240440 2442FFFF */ addiu $v0, $v0, -1 +/* A67544 80240444 A602008E */ sh $v0, 0x8e($s0) +/* A67548 80240448 00021400 */ sll $v0, $v0, 0x10 +/* A6754C 8024044C 1C40002B */ bgtz $v0, .L802404FC +/* A67550 80240450 00000000 */ nop +/* A67554 80240454 0C090038 */ jal func_802400E0 +/* A67558 80240458 0240202D */ daddu $a0, $s2, $zero +/* A6755C 8024045C 0040202D */ daddu $a0, $v0, $zero +/* A67560 80240460 0481001A */ bgez $a0, .L802404CC +/* A67564 80240464 2402000F */ addiu $v0, $zero, 0xf +/* A67568 80240468 24040002 */ addiu $a0, $zero, 2 +/* A6756C 8024046C 860300A8 */ lh $v1, 0xa8($s0) +/* A67570 80240470 AFA2001C */ sw $v0, 0x1c($sp) +/* A67574 80240474 27A20028 */ addiu $v0, $sp, 0x28 +/* A67578 80240478 0200282D */ daddu $a1, $s0, $zero +/* A6757C 8024047C 3C013F80 */ lui $at, 0x3f80 +/* A67580 80240480 44810000 */ mtc1 $at, $f0 +/* A67584 80240484 3C014000 */ lui $at, 0x4000 +/* A67588 80240488 44811000 */ mtc1 $at, $f2 +/* A6758C 8024048C 3C01C1A0 */ lui $at, 0xc1a0 +/* A67590 80240490 44812000 */ mtc1 $at, $f4 +/* A67594 80240494 44833000 */ mtc1 $v1, $f6 +/* A67598 80240498 00000000 */ nop +/* A6759C 8024049C 468031A0 */ cvt.s.w $f6, $f6 +/* A675A0 802404A0 44073000 */ mfc1 $a3, $f6 +/* A675A4 802404A4 0000302D */ daddu $a2, $zero, $zero +/* A675A8 802404A8 AFA20020 */ sw $v0, 0x20($sp) +/* A675AC 802404AC E7A00010 */ swc1 $f0, 0x10($sp) +/* A675B0 802404B0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A675B4 802404B4 0C01BFA4 */ jal fx_emote +/* A675B8 802404B8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A675BC 802404BC 8E2200CC */ lw $v0, 0xcc($s1) +/* A675C0 802404C0 8C420000 */ lw $v0, ($v0) +/* A675C4 802404C4 0809013B */ j .L802404EC +/* A675C8 802404C8 AE020028 */ sw $v0, 0x28($s0) +.L802404CC: +/* A675CC 802404CC 8E2200CC */ lw $v0, 0xcc($s1) +/* A675D0 802404D0 8C420024 */ lw $v0, 0x24($v0) +/* A675D4 802404D4 0C00FB3A */ jal get_enemy +/* A675D8 802404D8 AE020028 */ sw $v0, 0x28($s0) +/* A675DC 802404DC 86240008 */ lh $a0, 8($s1) +/* A675E0 802404E0 24030001 */ addiu $v1, $zero, 1 +/* A675E4 802404E4 AC43006C */ sw $v1, 0x6c($v0) +/* A675E8 802404E8 AC44007C */ sw $a0, 0x7c($v0) +.L802404EC: +/* A675EC 802404EC 96220076 */ lhu $v0, 0x76($s1) +/* A675F0 802404F0 A602008E */ sh $v0, 0x8e($s0) +/* A675F4 802404F4 24020021 */ addiu $v0, $zero, 0x21 +/* A675F8 802404F8 AE420070 */ sw $v0, 0x70($s2) +.L802404FC: +/* A675FC 802404FC 8FBF003C */ lw $ra, 0x3c($sp) +/* A67600 80240500 8FB20038 */ lw $s2, 0x38($sp) +/* A67604 80240504 8FB10034 */ lw $s1, 0x34($sp) +/* A67608 80240508 8FB00030 */ lw $s0, 0x30($sp) +/* A6760C 8024050C 03E00008 */ jr $ra +/* A67610 80240510 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240514_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240514_A67100.s new file mode 100644 index 0000000000..90046ce125 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240514_A67100.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240514_A67614 +/* A67614 80240514 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A67618 80240518 AFB10014 */ sw $s1, 0x14($sp) +/* A6761C 8024051C 0080882D */ daddu $s1, $a0, $zero +/* A67620 80240520 AFBF0018 */ sw $ra, 0x18($sp) +/* A67624 80240524 AFB00010 */ sw $s0, 0x10($sp) +/* A67628 80240528 8E300148 */ lw $s0, 0x148($s1) +/* A6762C 8024052C 0C00EABB */ jal get_npc_unsafe +/* A67630 80240530 86040008 */ lh $a0, 8($s0) +/* A67634 80240534 96030076 */ lhu $v1, 0x76($s0) +/* A67638 80240538 A443008E */ sh $v1, 0x8e($v0) +/* A6763C 8024053C 24020021 */ addiu $v0, $zero, 0x21 +/* A67640 80240540 AE220070 */ sw $v0, 0x70($s1) +/* A67644 80240544 8FBF0018 */ lw $ra, 0x18($sp) +/* A67648 80240548 8FB10014 */ lw $s1, 0x14($sp) +/* A6764C 8024054C 8FB00010 */ lw $s0, 0x10($sp) +/* A67650 80240550 03E00008 */ jr $ra +/* A67654 80240554 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240558.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240558.s new file mode 100644 index 0000000000..c0e6782e0f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240558.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240558 +/* A67658 80240558 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A6765C 8024055C AFB3001C */ sw $s3, 0x1c($sp) +/* A67660 80240560 0080982D */ daddu $s3, $a0, $zero +/* A67664 80240564 AFBF0020 */ sw $ra, 0x20($sp) +/* A67668 80240568 AFB20018 */ sw $s2, 0x18($sp) +/* A6766C 8024056C AFB10014 */ sw $s1, 0x14($sp) +/* A67670 80240570 AFB00010 */ sw $s0, 0x10($sp) +/* A67674 80240574 8E720148 */ lw $s2, 0x148($s3) +/* A67678 80240578 0C00EABB */ jal get_npc_unsafe +/* A6767C 8024057C 86440008 */ lh $a0, 8($s2) +/* A67680 80240580 86440008 */ lh $a0, 8($s2) +/* A67684 80240584 0040882D */ daddu $s1, $v0, $zero +/* A67688 80240588 0C00FB3A */ jal get_enemy +/* A6768C 8024058C 24840001 */ addiu $a0, $a0, 1 +/* A67690 80240590 0040802D */ daddu $s0, $v0, $zero +/* A67694 80240594 0C00EABB */ jal get_npc_unsafe +/* A67698 80240598 86040008 */ lh $a0, 8($s0) +/* A6769C 8024059C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A676A0 802405A0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A676A4 802405A4 8C460038 */ lw $a2, 0x38($v0) +/* A676A8 802405A8 0C00A720 */ jal atan2 +/* A676AC 802405AC 8C470040 */ lw $a3, 0x40($v0) +/* A676B0 802405B0 E620000C */ swc1 $f0, 0xc($s1) +/* A676B4 802405B4 8E02006C */ lw $v0, 0x6c($s0) +/* A676B8 802405B8 14400008 */ bnez $v0, .L802405DC +/* A676BC 802405BC 00000000 */ nop +/* A676C0 802405C0 8E4200CC */ lw $v0, 0xcc($s2) +/* A676C4 802405C4 8C420000 */ lw $v0, ($v0) +/* A676C8 802405C8 AE220028 */ sw $v0, 0x28($s1) +/* A676CC 802405CC 96420076 */ lhu $v0, 0x76($s2) +/* A676D0 802405D0 A622008E */ sh $v0, 0x8e($s1) +/* A676D4 802405D4 24020021 */ addiu $v0, $zero, 0x21 +/* A676D8 802405D8 AE620070 */ sw $v0, 0x70($s3) +.L802405DC: +/* A676DC 802405DC 8FBF0020 */ lw $ra, 0x20($sp) +/* A676E0 802405E0 8FB3001C */ lw $s3, 0x1c($sp) +/* A676E4 802405E4 8FB20018 */ lw $s2, 0x18($sp) +/* A676E8 802405E8 8FB10014 */ lw $s1, 0x14($sp) +/* A676EC 802405EC 8FB00010 */ lw $s0, 0x10($sp) +/* A676F0 802405F0 03E00008 */ jr $ra +/* A676F4 802405F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_802405F8.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_802405F8.s new file mode 100644 index 0000000000..ef2973c341 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_802405F8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F8 +/* A676F8 802405F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A676FC 802405FC AFB00010 */ sw $s0, 0x10($sp) +/* A67700 80240600 0080802D */ daddu $s0, $a0, $zero +/* A67704 80240604 AFBF0014 */ sw $ra, 0x14($sp) +/* A67708 80240608 8E020148 */ lw $v0, 0x148($s0) +/* A6770C 8024060C 0C00EABB */ jal get_npc_unsafe +/* A67710 80240610 84440008 */ lh $a0, 8($v0) +/* A67714 80240614 9443008E */ lhu $v1, 0x8e($v0) +/* A67718 80240618 2463FFFF */ addiu $v1, $v1, -1 +/* A6771C 8024061C A443008E */ sh $v1, 0x8e($v0) +/* A67720 80240620 00031C00 */ sll $v1, $v1, 0x10 +/* A67724 80240624 58600001 */ blezl $v1, .L8024062C +/* A67728 80240628 AE000070 */ sw $zero, 0x70($s0) +.L8024062C: +/* A6772C 8024062C 8FBF0014 */ lw $ra, 0x14($sp) +/* A67730 80240630 8FB00010 */ lw $s0, 0x10($sp) +/* A67734 80240634 03E00008 */ jr $ra +/* A67738 80240638 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_8024063C_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_8024063C_A67100.s new file mode 100644 index 0000000000..ef55705f30 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_8024063C_A67100.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024063C_A6773C +/* A6773C 8024063C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A67740 80240640 AFB7004C */ sw $s7, 0x4c($sp) +/* A67744 80240644 0080B82D */ daddu $s7, $a0, $zero +/* A67748 80240648 AFB10034 */ sw $s1, 0x34($sp) +/* A6774C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* A67750 80240650 AFBF0050 */ sw $ra, 0x50($sp) +/* A67754 80240654 AFB60048 */ sw $s6, 0x48($sp) +/* A67758 80240658 AFB50044 */ sw $s5, 0x44($sp) +/* A6775C 8024065C AFB40040 */ sw $s4, 0x40($sp) +/* A67760 80240660 AFB3003C */ sw $s3, 0x3c($sp) +/* A67764 80240664 AFB20038 */ sw $s2, 0x38($sp) +/* A67768 80240668 AFB00030 */ sw $s0, 0x30($sp) +/* A6776C 8024066C 8EF30148 */ lw $s3, 0x148($s7) +/* A67770 80240670 86640008 */ lh $a0, 8($s3) +/* A67774 80240674 8EF0000C */ lw $s0, 0xc($s7) +/* A67778 80240678 0C00FB5A */ jal get_enemy_safe +/* A6777C 8024067C 0000B02D */ daddu $s6, $zero, $zero +/* A67780 80240680 10400131 */ beqz $v0, .L80240B48 +/* A67784 80240684 24020005 */ addiu $v0, $zero, 5 +/* A67788 80240688 8E63006C */ lw $v1, 0x6c($s3) +/* A6778C 8024068C 1062012F */ beq $v1, $v0, .L80240B4C +/* A67790 80240690 0000102D */ daddu $v0, $zero, $zero +/* A67794 80240694 8E050000 */ lw $a1, ($s0) +/* A67798 80240698 0C0B1EAF */ jal get_variable +/* A6779C 8024069C 02E0202D */ daddu $a0, $s7, $zero +/* A677A0 802406A0 86640008 */ lh $a0, 8($s3) +/* A677A4 802406A4 0C00EABB */ jal get_npc_unsafe +/* A677A8 802406A8 0040A82D */ daddu $s5, $v0, $zero +/* A677AC 802406AC 8E630070 */ lw $v1, 0x70($s3) +/* A677B0 802406B0 30630002 */ andi $v1, $v1, 2 +/* A677B4 802406B4 10600008 */ beqz $v1, .L802406D8 +/* A677B8 802406B8 0040902D */ daddu $s2, $v0, $zero +/* A677BC 802406BC 964200A8 */ lhu $v0, 0xa8($s2) +/* A677C0 802406C0 00021400 */ sll $v0, $v0, 0x10 +/* A677C4 802406C4 00021C03 */ sra $v1, $v0, 0x10 +/* A677C8 802406C8 000217C2 */ srl $v0, $v0, 0x1f +/* A677CC 802406CC 00621821 */ addu $v1, $v1, $v0 +/* A677D0 802406D0 00031843 */ sra $v1, $v1, 1 +/* A677D4 802406D4 A24300AB */ sb $v1, 0xab($s2) +.L802406D8: +/* A677D8 802406D8 16200005 */ bnez $s1, .L802406F0 +/* A677DC 802406DC 3C030004 */ lui $v1, 4 +/* A677E0 802406E0 8E6200B0 */ lw $v0, 0xb0($s3) +/* A677E4 802406E4 30420004 */ andi $v0, $v0, 4 +/* A677E8 802406E8 10400019 */ beqz $v0, .L80240750 +/* A677EC 802406EC 00000000 */ nop +.L802406F0: +/* A677F0 802406F0 34630102 */ ori $v1, $v1, 0x102 +/* A677F4 802406F4 AEE00070 */ sw $zero, 0x70($s7) +/* A677F8 802406F8 8E420000 */ lw $v0, ($s2) +/* A677FC 802406FC 0240202D */ daddu $a0, $s2, $zero +/* A67800 80240700 A640008E */ sh $zero, 0x8e($s2) +/* A67804 80240704 00431025 */ or $v0, $v0, $v1 +/* A67808 80240708 0C00EAFF */ jal disable_npc_shadow +/* A6780C 8024070C AE420000 */ sw $v0, ($s2) +/* A67810 80240710 3C041F30 */ lui $a0, 0x1f30 +/* A67814 80240714 8E420000 */ lw $v0, ($s2) +/* A67818 80240718 2403F7FF */ addiu $v1, $zero, -0x801 +/* A6781C 8024071C 00431024 */ and $v0, $v0, $v1 +/* A67820 80240720 AE420000 */ sw $v0, ($s2) +/* A67824 80240724 8E620000 */ lw $v0, ($s3) +/* A67828 80240728 8E6300B0 */ lw $v1, 0xb0($s3) +/* A6782C 8024072C 34840040 */ ori $a0, $a0, 0x40 +/* A67830 80240730 AE60006C */ sw $zero, 0x6c($s3) +/* A67834 80240734 00441025 */ or $v0, $v0, $a0 +/* A67838 80240738 AE620000 */ sw $v0, ($s3) +/* A6783C 8024073C 30620004 */ andi $v0, $v1, 4 +/* A67840 80240740 10400003 */ beqz $v0, .L80240750 +/* A67844 80240744 2402FFFB */ addiu $v0, $zero, -5 +/* A67848 80240748 00621024 */ and $v0, $v1, $v0 +/* A6784C 8024074C AE6200B0 */ sw $v0, 0xb0($s3) +.L80240750: +/* A67850 80240750 8EE30070 */ lw $v1, 0x70($s7) +/* A67854 80240754 24100001 */ addiu $s0, $zero, 1 +/* A67858 80240758 10700012 */ beq $v1, $s0, .L802407A4 +/* A6785C 8024075C 28620002 */ slti $v0, $v1, 2 +/* A67860 80240760 10400005 */ beqz $v0, .L80240778 +/* A67864 80240764 24020002 */ addiu $v0, $zero, 2 +/* A67868 80240768 10600007 */ beqz $v1, .L80240788 +/* A6786C 8024076C 0000102D */ daddu $v0, $zero, $zero +/* A67870 80240770 080902D3 */ j .L80240B4C +/* A67874 80240774 00000000 */ nop +.L80240778: +/* A67878 80240778 1062005B */ beq $v1, $v0, .L802408E8 +/* A6787C 8024077C 0000102D */ daddu $v0, $zero, $zero +/* A67880 80240780 080902D3 */ j .L80240B4C +/* A67884 80240784 00000000 */ nop +.L80240788: +/* A67888 80240788 8E420000 */ lw $v0, ($s2) +/* A6788C 8024078C 0240202D */ daddu $a0, $s2, $zero +/* A67890 80240790 34420002 */ ori $v0, $v0, 2 +/* A67894 80240794 0C00EAFF */ jal disable_npc_shadow +/* A67898 80240798 AE420000 */ sw $v0, ($s2) +/* A6789C 8024079C AE60006C */ sw $zero, 0x6c($s3) +/* A678A0 802407A0 AEF00070 */ sw $s0, 0x70($s7) +.L802407A4: +/* A678A4 802407A4 8E74006C */ lw $s4, 0x6c($s3) +/* A678A8 802407A8 24020001 */ addiu $v0, $zero, 1 +/* A678AC 802407AC 168200E7 */ bne $s4, $v0, .L80240B4C +/* A678B0 802407B0 0000102D */ daddu $v0, $zero, $zero +/* A678B4 802407B4 8E64007C */ lw $a0, 0x7c($s3) +/* A678B8 802407B8 24110002 */ addiu $s1, $zero, 2 +/* A678BC 802407BC 0C00EABB */ jal get_npc_unsafe +/* A678C0 802407C0 AE71006C */ sw $s1, 0x6c($s3) +/* A678C4 802407C4 0040802D */ daddu $s0, $v0, $zero +/* A678C8 802407C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A678CC 802407CC E6400038 */ swc1 $f0, 0x38($s2) +/* A678D0 802407D0 C6000040 */ lwc1 $f0, 0x40($s0) +/* A678D4 802407D4 E6400040 */ swc1 $f0, 0x40($s2) +/* A678D8 802407D8 C6020034 */ lwc1 $f2, 0x34($s0) +/* A678DC 802407DC 3C014387 */ lui $at, 0x4387 +/* A678E0 802407E0 44810000 */ mtc1 $at, $f0 +/* A678E4 802407E4 26440038 */ addiu $a0, $s2, 0x38 +/* A678E8 802407E8 46020001 */ sub.s $f0, $f0, $f2 +/* A678EC 802407EC C6680078 */ lwc1 $f8, 0x78($s3) +/* A678F0 802407F0 46804220 */ cvt.s.w $f8, $f8 +/* A678F4 802407F4 44064000 */ mfc1 $a2, $f8 +/* A678F8 802407F8 44070000 */ mfc1 $a3, $f0 +/* A678FC 802407FC 0C00A7E7 */ jal add_vec2D_polar +/* A67900 80240800 26450040 */ addiu $a1, $s2, 0x40 +/* A67904 80240804 C600003C */ lwc1 $f0, 0x3c($s0) +/* A67908 80240808 C6620074 */ lwc1 $f2, 0x74($s3) +/* A6790C 8024080C 468010A0 */ cvt.s.w $f2, $f2 +/* A67910 80240810 46020000 */ add.s $f0, $f0, $f2 +/* A67914 80240814 E640003C */ swc1 $f0, 0x3c($s2) +/* A67918 80240818 A2740007 */ sb $s4, 7($s3) +/* A6791C 8024081C C6400038 */ lwc1 $f0, 0x38($s2) +/* A67920 80240820 4600020D */ trunc.w.s $f8, $f0 +/* A67924 80240824 44024000 */ mfc1 $v0, $f8 +/* A67928 80240828 00000000 */ nop +/* A6792C 8024082C A6620010 */ sh $v0, 0x10($s3) +/* A67930 80240830 C640003C */ lwc1 $f0, 0x3c($s2) +/* A67934 80240834 4600020D */ trunc.w.s $f8, $f0 +/* A67938 80240838 44024000 */ mfc1 $v0, $f8 +/* A6793C 8024083C 00000000 */ nop +/* A67940 80240840 A6620012 */ sh $v0, 0x12($s3) +/* A67944 80240844 C6400040 */ lwc1 $f0, 0x40($s2) +/* A67948 80240848 4600020D */ trunc.w.s $f8, $f0 +/* A6794C 8024084C 44024000 */ mfc1 $v0, $f8 +/* A67950 80240850 00000000 */ nop +/* A67954 80240854 A6620014 */ sh $v0, 0x14($s3) +/* A67958 80240858 AE400044 */ sw $zero, 0x44($s2) +/* A6795C 8024085C AE400048 */ sw $zero, 0x48($s2) +/* A67960 80240860 AE40004C */ sw $zero, 0x4c($s2) +/* A67964 80240864 C6A00000 */ lwc1 $f0, ($s5) +/* A67968 80240868 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6796C 8024086C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A67970 80240870 C64C0038 */ lwc1 $f12, 0x38($s2) +/* A67974 80240874 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A67978 80240878 E6400018 */ swc1 $f0, 0x18($s2) +/* A6797C 8024087C 8C460028 */ lw $a2, 0x28($v0) +/* A67980 80240880 0C00A720 */ jal atan2 +/* A67984 80240884 8C470030 */ lw $a3, 0x30($v0) +/* A67988 80240888 E640000C */ swc1 $f0, 0xc($s2) +/* A6798C 8024088C C6A0000C */ lwc1 $f0, 0xc($s5) +/* A67990 80240890 8E420000 */ lw $v0, ($s2) +/* A67994 80240894 0240202D */ daddu $a0, $s2, $zero +/* A67998 80240898 E640001C */ swc1 $f0, 0x1c($s2) +/* A6799C 8024089C C6A00010 */ lwc1 $f0, 0x10($s5) +/* A679A0 802408A0 2403FFFD */ addiu $v1, $zero, -3 +/* A679A4 802408A4 E6400014 */ swc1 $f0, 0x14($s2) +/* A679A8 802408A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A679AC 802408AC 00431024 */ and $v0, $v0, $v1 +/* A679B0 802408B0 AE420000 */ sw $v0, ($s2) +/* A679B4 802408B4 0C00EAE8 */ jal enable_npc_shadow +/* A679B8 802408B8 E6400064 */ swc1 $f0, 0x64($s2) +/* A679BC 802408BC 8E420000 */ lw $v0, ($s2) +/* A679C0 802408C0 3C03E0FF */ lui $v1, 0xe0ff +/* A679C4 802408C4 34420800 */ ori $v0, $v0, 0x800 +/* A679C8 802408C8 AE420000 */ sw $v0, ($s2) +/* A679CC 802408CC 8E620000 */ lw $v0, ($s3) +/* A679D0 802408D0 3463FFFF */ ori $v1, $v1, 0xffff +/* A679D4 802408D4 00431024 */ and $v0, $v0, $v1 +/* A679D8 802408D8 AE620000 */ sw $v0, ($s3) +/* A679DC 802408DC 2402005A */ addiu $v0, $zero, 0x5a +/* A679E0 802408E0 A642008E */ sh $v0, 0x8e($s2) +/* A679E4 802408E4 AEF10070 */ sw $s1, 0x70($s7) +.L802408E8: +/* A679E8 802408E8 0000202D */ daddu $a0, $zero, $zero +/* A679EC 802408EC 27B00020 */ addiu $s0, $sp, 0x20 +/* A679F0 802408F0 864200A8 */ lh $v0, 0xa8($s2) +/* A679F4 802408F4 3C013FE0 */ lui $at, 0x3fe0 +/* A679F8 802408F8 44810800 */ mtc1 $at, $f1 +/* A679FC 802408FC 44800000 */ mtc1 $zero, $f0 +/* A67A00 80240900 44821000 */ mtc1 $v0, $f2 +/* A67A04 80240904 00000000 */ nop +/* A67A08 80240908 468010A1 */ cvt.d.w $f2, $f2 +/* A67A0C 8024090C 46201082 */ mul.d $f2, $f2, $f0 +/* A67A10 80240910 00000000 */ nop +/* A67A14 80240914 0200282D */ daddu $a1, $s0, $zero +/* A67A18 80240918 C6440038 */ lwc1 $f4, 0x38($s2) +/* A67A1C 8024091C C640003C */ lwc1 $f0, 0x3c($s2) +/* A67A20 80240920 27B10024 */ addiu $s1, $sp, 0x24 +/* A67A24 80240924 E7A40020 */ swc1 $f4, 0x20($sp) +/* A67A28 80240928 C6440040 */ lwc1 $f4, 0x40($s2) +/* A67A2C 8024092C 46000021 */ cvt.d.s $f0, $f0 +/* A67A30 80240930 46220000 */ add.d $f0, $f0, $f2 +/* A67A34 80240934 E7A40028 */ swc1 $f4, 0x28($sp) +/* A67A38 80240938 C6420018 */ lwc1 $f2, 0x18($s2) +/* A67A3C 8024093C 46200020 */ cvt.s.d $f0, $f0 +/* A67A40 80240940 E7A00024 */ swc1 $f0, 0x24($sp) +/* A67A44 80240944 E7A20010 */ swc1 $f2, 0x10($sp) +/* A67A48 80240948 C640000C */ lwc1 $f0, 0xc($s2) +/* A67A4C 8024094C 0220302D */ daddu $a2, $s1, $zero +/* A67A50 80240950 E7A00014 */ swc1 $f0, 0x14($sp) +/* A67A54 80240954 864200A6 */ lh $v0, 0xa6($s2) +/* A67A58 80240958 27B40028 */ addiu $s4, $sp, 0x28 +/* A67A5C 8024095C 44820000 */ mtc1 $v0, $f0 +/* A67A60 80240960 00000000 */ nop +/* A67A64 80240964 46800020 */ cvt.s.w $f0, $f0 +/* A67A68 80240968 E7A00018 */ swc1 $f0, 0x18($sp) +/* A67A6C 8024096C 864200A8 */ lh $v0, 0xa8($s2) +/* A67A70 80240970 0280382D */ daddu $a3, $s4, $zero +/* A67A74 80240974 44820000 */ mtc1 $v0, $f0 +/* A67A78 80240978 00000000 */ nop +/* A67A7C 8024097C 46800020 */ cvt.s.w $f0, $f0 +/* A67A80 80240980 0C0376B9 */ jal func_800DDAE4 +/* A67A84 80240984 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A67A88 80240988 54400001 */ bnel $v0, $zero, .L80240990 +/* A67A8C 8024098C 24160001 */ addiu $s6, $zero, 1 +.L80240990: +/* A67A90 80240990 0200282D */ daddu $a1, $s0, $zero +/* A67A94 80240994 0220302D */ daddu $a2, $s1, $zero +/* A67A98 80240998 C6400038 */ lwc1 $f0, 0x38($s2) +/* A67A9C 8024099C C642003C */ lwc1 $f2, 0x3c($s2) +/* A67AA0 802409A0 C6440040 */ lwc1 $f4, 0x40($s2) +/* A67AA4 802409A4 3C01447A */ lui $at, 0x447a +/* A67AA8 802409A8 44813000 */ mtc1 $at, $f6 +/* A67AAC 802409AC 27A2002C */ addiu $v0, $sp, 0x2c +/* A67AB0 802409B0 E7A00020 */ swc1 $f0, 0x20($sp) +/* A67AB4 802409B4 E7A20024 */ swc1 $f2, 0x24($sp) +/* A67AB8 802409B8 E7A40028 */ swc1 $f4, 0x28($sp) +/* A67ABC 802409BC E7A6002C */ swc1 $f6, 0x2c($sp) +/* A67AC0 802409C0 AFA20010 */ sw $v0, 0x10($sp) +/* A67AC4 802409C4 8E440080 */ lw $a0, 0x80($s2) +/* A67AC8 802409C8 0C0372DF */ jal func_800DCB7C +/* A67ACC 802409CC 0280382D */ daddu $a3, $s4, $zero +/* A67AD0 802409D0 10400019 */ beqz $v0, .L80240A38 +/* A67AD4 802409D4 00000000 */ nop +/* A67AD8 802409D8 C640001C */ lwc1 $f0, 0x1c($s2) +/* A67ADC 802409DC C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A67AE0 802409E0 46000005 */ abs.s $f0, $f0 +/* A67AE4 802409E4 4600103C */ c.lt.s $f2, $f0 +/* A67AE8 802409E8 00000000 */ nop +/* A67AEC 802409EC 45000012 */ bc1f .L80240A38 +/* A67AF0 802409F0 00000000 */ nop +/* A67AF4 802409F4 C7A40024 */ lwc1 $f4, 0x24($sp) +/* A67AF8 802409F8 C6400064 */ lwc1 $f0, 0x64($s2) +/* A67AFC 802409FC 46002001 */ sub.s $f0, $f4, $f0 +/* A67B00 80240A00 3C014034 */ lui $at, 0x4034 +/* A67B04 80240A04 44811800 */ mtc1 $at, $f3 +/* A67B08 80240A08 44801000 */ mtc1 $zero, $f2 +/* A67B0C 80240A0C 46000005 */ abs.s $f0, $f0 +/* A67B10 80240A10 46000021 */ cvt.d.s $f0, $f0 +/* A67B14 80240A14 4622003C */ c.lt.d $f0, $f2 +/* A67B18 80240A18 00000000 */ nop +/* A67B1C 80240A1C 45000006 */ bc1f .L80240A38 +/* A67B20 80240A20 0240202D */ daddu $a0, $s2, $zero +/* A67B24 80240A24 8E450018 */ lw $a1, 0x18($s2) +/* A67B28 80240A28 8E46000C */ lw $a2, 0xc($s2) +/* A67B2C 80240A2C 2416000A */ addiu $s6, $zero, 0xa +/* A67B30 80240A30 0C00EA95 */ jal npc_move_heading +/* A67B34 80240A34 E644003C */ swc1 $f4, 0x3c($s2) +.L80240A38: +/* A67B38 80240A38 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A67B3C 80240A3C 3C013FF0 */ lui $at, 0x3ff0 +/* A67B40 80240A40 44811800 */ mtc1 $at, $f3 +/* A67B44 80240A44 44801000 */ mtc1 $zero, $f2 +/* A67B48 80240A48 46000021 */ cvt.d.s $f0, $f0 +/* A67B4C 80240A4C 4622003C */ c.lt.d $f0, $f2 +/* A67B50 80240A50 00000000 */ nop +/* A67B54 80240A54 45030001 */ bc1tl .L80240A5C +/* A67B58 80240A58 2416000B */ addiu $s6, $zero, 0xb +.L80240A5C: +/* A67B5C 80240A5C 9642008E */ lhu $v0, 0x8e($s2) +/* A67B60 80240A60 2442FFFF */ addiu $v0, $v0, -1 +/* A67B64 80240A64 A642008E */ sh $v0, 0x8e($s2) +/* A67B68 80240A68 00021400 */ sll $v0, $v0, 0x10 +/* A67B6C 80240A6C 58400001 */ blezl $v0, .L80240A74 +/* A67B70 80240A70 24160014 */ addiu $s6, $zero, 0x14 +.L80240A74: +/* A67B74 80240A74 56C00019 */ bnel $s6, $zero, .L80240ADC +/* A67B78 80240A78 AFA00010 */ sw $zero, 0x10($sp) +/* A67B7C 80240A7C 8E620070 */ lw $v0, 0x70($s3) +/* A67B80 80240A80 30420001 */ andi $v0, $v0, 1 +/* A67B84 80240A84 10400009 */ beqz $v0, .L80240AAC +/* A67B88 80240A88 00000000 */ nop +/* A67B8C 80240A8C C640004C */ lwc1 $f0, 0x4c($s2) +/* A67B90 80240A90 3C014044 */ lui $at, 0x4044 +/* A67B94 80240A94 44811800 */ mtc1 $at, $f3 +/* A67B98 80240A98 44801000 */ mtc1 $zero, $f2 +/* A67B9C 80240A9C 46000021 */ cvt.d.s $f0, $f0 +/* A67BA0 80240AA0 46220000 */ add.d $f0, $f0, $f2 +/* A67BA4 80240AA4 46200020 */ cvt.s.d $f0, $f0 +/* A67BA8 80240AA8 E640004C */ swc1 $f0, 0x4c($s2) +.L80240AAC: +/* A67BAC 80240AAC 8E450018 */ lw $a1, 0x18($s2) +/* A67BB0 80240AB0 8E46000C */ lw $a2, 0xc($s2) +/* A67BB4 80240AB4 0C00EA95 */ jal npc_move_heading +/* A67BB8 80240AB8 0240202D */ daddu $a0, $s2, $zero +/* A67BBC 80240ABC C644003C */ lwc1 $f4, 0x3c($s2) +/* A67BC0 80240AC0 C640001C */ lwc1 $f0, 0x1c($s2) +/* A67BC4 80240AC4 46002100 */ add.s $f4, $f4, $f0 +/* A67BC8 80240AC8 C6420014 */ lwc1 $f2, 0x14($s2) +/* A67BCC 80240ACC 46020001 */ sub.s $f0, $f0, $f2 +/* A67BD0 80240AD0 E644003C */ swc1 $f4, 0x3c($s2) +/* A67BD4 80240AD4 080902D2 */ j .L80240B48 +/* A67BD8 80240AD8 E640001C */ swc1 $f0, 0x1c($s2) +.L80240ADC: +/* A67BDC 80240ADC AFA00014 */ sw $zero, 0x14($sp) +/* A67BE0 80240AE0 8E450038 */ lw $a1, 0x38($s2) +/* A67BE4 80240AE4 8E46003C */ lw $a2, 0x3c($s2) +/* A67BE8 80240AE8 8E470040 */ lw $a3, 0x40($s2) +/* A67BEC 80240AEC 0C01BECC */ jal fx_walk_normal +/* A67BF0 80240AF0 24040002 */ addiu $a0, $zero, 2 +/* A67BF4 80240AF4 3C01C47A */ lui $at, 0xc47a +/* A67BF8 80240AF8 44810000 */ mtc1 $at, $f0 +/* A67BFC 80240AFC AE60006C */ sw $zero, 0x6c($s3) +/* A67C00 80240B00 8E420000 */ lw $v0, ($s2) +/* A67C04 80240B04 0240202D */ daddu $a0, $s2, $zero +/* A67C08 80240B08 AE400038 */ sw $zero, 0x38($s2) +/* A67C0C 80240B0C AE400040 */ sw $zero, 0x40($s2) +/* A67C10 80240B10 AE40001C */ sw $zero, 0x1c($s2) +/* A67C14 80240B14 34420002 */ ori $v0, $v0, 2 +/* A67C18 80240B18 E640003C */ swc1 $f0, 0x3c($s2) +/* A67C1C 80240B1C 0C00EAFF */ jal disable_npc_shadow +/* A67C20 80240B20 AE420000 */ sw $v0, ($s2) +/* A67C24 80240B24 8E420000 */ lw $v0, ($s2) +/* A67C28 80240B28 2403F7FF */ addiu $v1, $zero, -0x801 +/* A67C2C 80240B2C 00431024 */ and $v0, $v0, $v1 +/* A67C30 80240B30 AE420000 */ sw $v0, ($s2) +/* A67C34 80240B34 8E620000 */ lw $v0, ($s3) +/* A67C38 80240B38 3C031F00 */ lui $v1, 0x1f00 +/* A67C3C 80240B3C 00431025 */ or $v0, $v0, $v1 +/* A67C40 80240B40 AE620000 */ sw $v0, ($s3) +/* A67C44 80240B44 AEE00070 */ sw $zero, 0x70($s7) +.L80240B48: +/* A67C48 80240B48 0000102D */ daddu $v0, $zero, $zero +.L80240B4C: +/* A67C4C 80240B4C 8FBF0050 */ lw $ra, 0x50($sp) +/* A67C50 80240B50 8FB7004C */ lw $s7, 0x4c($sp) +/* A67C54 80240B54 8FB60048 */ lw $s6, 0x48($sp) +/* A67C58 80240B58 8FB50044 */ lw $s5, 0x44($sp) +/* A67C5C 80240B5C 8FB40040 */ lw $s4, 0x40($sp) +/* A67C60 80240B60 8FB3003C */ lw $s3, 0x3c($sp) +/* A67C64 80240B64 8FB20038 */ lw $s2, 0x38($sp) +/* A67C68 80240B68 8FB10034 */ lw $s1, 0x34($sp) +/* A67C6C 80240B6C 8FB00030 */ lw $s0, 0x30($sp) +/* A67C70 80240B70 03E00008 */ jr $ra +/* A67C74 80240B74 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240B78.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240B78.s new file mode 100644 index 0000000000..9ee24de313 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240B78.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B78 +/* A67C78 80240B78 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A67C7C 80240B7C AFB3003C */ sw $s3, 0x3c($sp) +/* A67C80 80240B80 0080982D */ daddu $s3, $a0, $zero +/* A67C84 80240B84 AFB40040 */ sw $s4, 0x40($sp) +/* A67C88 80240B88 0000A02D */ daddu $s4, $zero, $zero +/* A67C8C 80240B8C 3C03800A */ lui $v1, 0x800a +/* A67C90 80240B90 8463A634 */ lh $v1, -0x59cc($v1) +/* A67C94 80240B94 3C04800B */ lui $a0, %hi(gCameras) +/* A67C98 80240B98 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* A67C9C 80240B9C AFBF0044 */ sw $ra, 0x44($sp) +/* A67CA0 80240BA0 AFB20038 */ sw $s2, 0x38($sp) +/* A67CA4 80240BA4 AFB10034 */ sw $s1, 0x34($sp) +/* A67CA8 80240BA8 AFB00030 */ sw $s0, 0x30($sp) +/* A67CAC 80240BAC F7B80058 */ sdc1 $f24, 0x58($sp) +/* A67CB0 80240BB0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A67CB4 80240BB4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A67CB8 80240BB8 8E710148 */ lw $s1, 0x148($s3) +/* A67CBC 80240BBC 00031080 */ sll $v0, $v1, 2 +/* A67CC0 80240BC0 00431021 */ addu $v0, $v0, $v1 +/* A67CC4 80240BC4 00021080 */ sll $v0, $v0, 2 +/* A67CC8 80240BC8 00431023 */ subu $v0, $v0, $v1 +/* A67CCC 80240BCC 000218C0 */ sll $v1, $v0, 3 +/* A67CD0 80240BD0 00431021 */ addu $v0, $v0, $v1 +/* A67CD4 80240BD4 000210C0 */ sll $v0, $v0, 3 +/* A67CD8 80240BD8 10A00002 */ beqz $a1, .L80240BE4 +/* A67CDC 80240BDC 00449021 */ addu $s2, $v0, $a0 +/* A67CE0 80240BE0 AE600070 */ sw $zero, 0x70($s3) +.L80240BE4: +/* A67CE4 80240BE4 0C00FB5A */ jal get_enemy_safe +/* A67CE8 80240BE8 86240008 */ lh $a0, 8($s1) +/* A67CEC 80240BEC 14400006 */ bnez $v0, .L80240C08 +/* A67CF0 80240BF0 24020005 */ addiu $v0, $zero, 5 +/* A67CF4 80240BF4 0260202D */ daddu $a0, $s3, $zero +/* A67CF8 80240BF8 3C05FE36 */ lui $a1, 0xfe36 +/* A67CFC 80240BFC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A67D00 80240C00 080903DA */ j .L80240F68 +/* A67D04 80240C04 0000302D */ daddu $a2, $zero, $zero +.L80240C08: +/* A67D08 80240C08 8E23006C */ lw $v1, 0x6c($s1) +/* A67D0C 80240C0C 14620005 */ bne $v1, $v0, .L80240C24 +/* A67D10 80240C10 0260202D */ daddu $a0, $s3, $zero +/* A67D14 80240C14 3C05FE36 */ lui $a1, 0xfe36 +/* A67D18 80240C18 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A67D1C 80240C1C 080903DA */ j .L80240F68 +/* A67D20 80240C20 0000302D */ daddu $a2, $zero, $zero +.L80240C24: +/* A67D24 80240C24 86240008 */ lh $a0, 8($s1) +/* A67D28 80240C28 0C00FB5A */ jal get_enemy_safe +/* A67D2C 80240C2C 00000000 */ nop +/* A67D30 80240C30 14400005 */ bnez $v0, .L80240C48 +/* A67D34 80240C34 0260202D */ daddu $a0, $s3, $zero +/* A67D38 80240C38 3C05FE36 */ lui $a1, 0xfe36 +/* A67D3C 80240C3C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A67D40 80240C40 080903DA */ j .L80240F68 +/* A67D44 80240C44 0000302D */ daddu $a2, $zero, $zero +.L80240C48: +/* A67D48 80240C48 86240008 */ lh $a0, 8($s1) +/* A67D4C 80240C4C 0C00EABB */ jal get_npc_unsafe +/* A67D50 80240C50 00000000 */ nop +/* A67D54 80240C54 8E630070 */ lw $v1, 0x70($s3) +/* A67D58 80240C58 10600006 */ beqz $v1, .L80240C74 +/* A67D5C 80240C5C 0040802D */ daddu $s0, $v0, $zero +/* A67D60 80240C60 24020001 */ addiu $v0, $zero, 1 +/* A67D64 80240C64 1062003F */ beq $v1, $v0, .L80240D64 +/* A67D68 80240C68 0000102D */ daddu $v0, $zero, $zero +/* A67D6C 80240C6C 080903EA */ j .L80240FA8 +/* A67D70 80240C70 00000000 */ nop +.L80240C74: +/* A67D74 80240C74 AFA00010 */ sw $zero, 0x10($sp) +/* A67D78 80240C78 AFA00014 */ sw $zero, 0x14($sp) +/* A67D7C 80240C7C 8E050038 */ lw $a1, 0x38($s0) +/* A67D80 80240C80 8E06003C */ lw $a2, 0x3c($s0) +/* A67D84 80240C84 8E070040 */ lw $a3, 0x40($s0) +/* A67D88 80240C88 0C01BECC */ jal fx_walk_normal +/* A67D8C 80240C8C 24040002 */ addiu $a0, $zero, 2 +/* A67D90 80240C90 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A67D94 80240C94 0C00A6C9 */ jal clamp_angle +/* A67D98 80240C98 00000000 */ nop +/* A67D9C 80240C9C 3C018024 */ lui $at, 0x8024 +/* A67DA0 80240CA0 D43839F0 */ ldc1 $f24, 0x39f0($at) +/* A67DA4 80240CA4 46000521 */ cvt.d.s $f20, $f0 +/* A67DA8 80240CA8 4638A300 */ add.d $f12, $f20, $f24 +/* A67DAC 80240CAC 3C018024 */ lui $at, 0x8024 +/* A67DB0 80240CB0 D43639F8 */ ldc1 $f22, 0x39f8($at) +/* A67DB4 80240CB4 0C00A6C9 */ jal clamp_angle +/* A67DB8 80240CB8 46206320 */ cvt.s.d $f12, $f12 +/* A67DBC 80240CBC 4636A500 */ add.d $f20, $f20, $f22 +/* A67DC0 80240CC0 4620A320 */ cvt.s.d $f12, $f20 +/* A67DC4 80240CC4 0C00A6C9 */ jal clamp_angle +/* A67DC8 80240CC8 46000506 */ mov.s $f20, $f0 +/* A67DCC 80240CCC 4600A521 */ cvt.d.s $f20, $f20 +/* A67DD0 80240CD0 4636A500 */ add.d $f20, $f20, $f22 +/* A67DD4 80240CD4 46000586 */ mov.s $f22, $f0 +/* A67DD8 80240CD8 0C00A6C9 */ jal clamp_angle +/* A67DDC 80240CDC 4620A320 */ cvt.s.d $f12, $f20 +/* A67DE0 80240CE0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A67DE4 80240CE4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A67DE8 80240CE8 C64C006C */ lwc1 $f12, 0x6c($s2) +/* A67DEC 80240CEC C44E0084 */ lwc1 $f14, 0x84($v0) +/* A67DF0 80240CF0 0C00A70A */ jal get_clamped_angle_diff +/* A67DF4 80240CF4 46000506 */ mov.s $f20, $f0 +/* A67DF8 80240CF8 0C00A6C9 */ jal clamp_angle +/* A67DFC 80240CFC 46000306 */ mov.s $f12, $f0 +/* A67E00 80240D00 46000021 */ cvt.d.s $f0, $f0 +/* A67E04 80240D04 4638003C */ c.lt.d $f0, $f24 +/* A67E08 80240D08 00000000 */ nop +/* A67E0C 80240D0C 45020002 */ bc1fl .L80240D18 +/* A67E10 80240D10 E614000C */ swc1 $f20, 0xc($s0) +/* A67E14 80240D14 E616000C */ swc1 $f22, 0xc($s0) +.L80240D18: +/* A67E18 80240D18 C6000018 */ lwc1 $f0, 0x18($s0) +/* A67E1C 80240D1C 3C018024 */ lui $at, 0x8024 +/* A67E20 80240D20 D4223A00 */ ldc1 $f2, 0x3a00($at) +/* A67E24 80240D24 46000021 */ cvt.d.s $f0, $f0 +/* A67E28 80240D28 46220002 */ mul.d $f0, $f0, $f2 +/* A67E2C 80240D2C 00000000 */ nop +/* A67E30 80240D30 3C013F66 */ lui $at, 0x3f66 +/* A67E34 80240D34 34216666 */ ori $at, $at, 0x6666 +/* A67E38 80240D38 44812000 */ mtc1 $at, $f4 +/* A67E3C 80240D3C 2402001E */ addiu $v0, $zero, 0x1e +/* A67E40 80240D40 A602008E */ sh $v0, 0x8e($s0) +/* A67E44 80240D44 3C014120 */ lui $at, 0x4120 +/* A67E48 80240D48 44811000 */ mtc1 $at, $f2 +/* A67E4C 80240D4C 24020001 */ addiu $v0, $zero, 1 +/* A67E50 80240D50 E6040014 */ swc1 $f4, 0x14($s0) +/* A67E54 80240D54 E602001C */ swc1 $f2, 0x1c($s0) +/* A67E58 80240D58 46200020 */ cvt.s.d $f0, $f0 +/* A67E5C 80240D5C E6000018 */ swc1 $f0, 0x18($s0) +/* A67E60 80240D60 AE620070 */ sw $v0, 0x70($s3) +.L80240D64: +/* A67E64 80240D64 C6000038 */ lwc1 $f0, 0x38($s0) +/* A67E68 80240D68 C602003C */ lwc1 $f2, 0x3c($s0) +/* A67E6C 80240D6C C6040040 */ lwc1 $f4, 0x40($s0) +/* A67E70 80240D70 C6060018 */ lwc1 $f6, 0x18($s0) +/* A67E74 80240D74 0000202D */ daddu $a0, $zero, $zero +/* A67E78 80240D78 E7A00020 */ swc1 $f0, 0x20($sp) +/* A67E7C 80240D7C E7A20024 */ swc1 $f2, 0x24($sp) +/* A67E80 80240D80 E7A40028 */ swc1 $f4, 0x28($sp) +/* A67E84 80240D84 E7A60010 */ swc1 $f6, 0x10($sp) +/* A67E88 80240D88 C600000C */ lwc1 $f0, 0xc($s0) +/* A67E8C 80240D8C 27A50020 */ addiu $a1, $sp, 0x20 +/* A67E90 80240D90 E7A00014 */ swc1 $f0, 0x14($sp) +/* A67E94 80240D94 860200A6 */ lh $v0, 0xa6($s0) +/* A67E98 80240D98 27A60024 */ addiu $a2, $sp, 0x24 +/* A67E9C 80240D9C 44820000 */ mtc1 $v0, $f0 +/* A67EA0 80240DA0 00000000 */ nop +/* A67EA4 80240DA4 46800020 */ cvt.s.w $f0, $f0 +/* A67EA8 80240DA8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A67EAC 80240DAC 860200A8 */ lh $v0, 0xa8($s0) +/* A67EB0 80240DB0 27A70028 */ addiu $a3, $sp, 0x28 +/* A67EB4 80240DB4 44820000 */ mtc1 $v0, $f0 +/* A67EB8 80240DB8 00000000 */ nop +/* A67EBC 80240DBC 46800020 */ cvt.s.w $f0, $f0 +/* A67EC0 80240DC0 0C037711 */ jal func_800DDC44 +/* A67EC4 80240DC4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A67EC8 80240DC8 54400007 */ bnel $v0, $zero, .L80240DE8 +/* A67ECC 80240DCC 24140001 */ addiu $s4, $zero, 1 +/* A67ED0 80240DD0 8E050018 */ lw $a1, 0x18($s0) +/* A67ED4 80240DD4 8E06000C */ lw $a2, 0xc($s0) +/* A67ED8 80240DD8 0C00EA95 */ jal npc_move_heading +/* A67EDC 80240DDC 0200202D */ daddu $a0, $s0, $zero +/* A67EE0 80240DE0 0809037B */ j .L80240DEC +/* A67EE4 80240DE4 0000902D */ daddu $s2, $zero, $zero +.L80240DE8: +/* A67EE8 80240DE8 0000902D */ daddu $s2, $zero, $zero +.L80240DEC: +/* A67EEC 80240DEC C600001C */ lwc1 $f0, 0x1c($s0) +/* A67EF0 80240DF0 44801000 */ mtc1 $zero, $f2 +/* A67EF4 80240DF4 44801800 */ mtc1 $zero, $f3 +/* A67EF8 80240DF8 46000021 */ cvt.d.s $f0, $f0 +/* A67EFC 80240DFC 4622003C */ c.lt.d $f0, $f2 +/* A67F00 80240E00 00000000 */ nop +/* A67F04 80240E04 45000028 */ bc1f .L80240EA8 +/* A67F08 80240E08 27A50020 */ addiu $a1, $sp, 0x20 +/* A67F0C 80240E0C 27A60024 */ addiu $a2, $sp, 0x24 +/* A67F10 80240E10 27A2002C */ addiu $v0, $sp, 0x2c +/* A67F14 80240E14 C602003C */ lwc1 $f2, 0x3c($s0) +/* A67F18 80240E18 C6060038 */ lwc1 $f6, 0x38($s0) +/* A67F1C 80240E1C 3C01402A */ lui $at, 0x402a +/* A67F20 80240E20 4481A800 */ mtc1 $at, $f21 +/* A67F24 80240E24 4480A000 */ mtc1 $zero, $f20 +/* A67F28 80240E28 460010A1 */ cvt.d.s $f2, $f2 +/* A67F2C 80240E2C 46341080 */ add.d $f2, $f2, $f20 +/* A67F30 80240E30 C600001C */ lwc1 $f0, 0x1c($s0) +/* A67F34 80240E34 C6040040 */ lwc1 $f4, 0x40($s0) +/* A67F38 80240E38 46000005 */ abs.s $f0, $f0 +/* A67F3C 80240E3C E7A40028 */ swc1 $f4, 0x28($sp) +/* A67F40 80240E40 3C014030 */ lui $at, 0x4030 +/* A67F44 80240E44 44812800 */ mtc1 $at, $f5 +/* A67F48 80240E48 44802000 */ mtc1 $zero, $f4 +/* A67F4C 80240E4C 46000021 */ cvt.d.s $f0, $f0 +/* A67F50 80240E50 E7A60020 */ swc1 $f6, 0x20($sp) +/* A67F54 80240E54 46240000 */ add.d $f0, $f0, $f4 +/* A67F58 80240E58 462010A0 */ cvt.s.d $f2, $f2 +/* A67F5C 80240E5C E7A20024 */ swc1 $f2, 0x24($sp) +/* A67F60 80240E60 46200020 */ cvt.s.d $f0, $f0 +/* A67F64 80240E64 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A67F68 80240E68 AFA20010 */ sw $v0, 0x10($sp) +/* A67F6C 80240E6C 8E040080 */ lw $a0, 0x80($s0) +/* A67F70 80240E70 0C0372DF */ jal func_800DCB7C +/* A67F74 80240E74 27A70028 */ addiu $a3, $sp, 0x28 +/* A67F78 80240E78 1040000B */ beqz $v0, .L80240EA8 +/* A67F7C 80240E7C 00000000 */ nop +/* A67F80 80240E80 C600001C */ lwc1 $f0, 0x1c($s0) +/* A67F84 80240E84 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* A67F88 80240E88 46000005 */ abs.s $f0, $f0 +/* A67F8C 80240E8C 46000021 */ cvt.d.s $f0, $f0 +/* A67F90 80240E90 46340000 */ add.d $f0, $f0, $f20 +/* A67F94 80240E94 460010A1 */ cvt.d.s $f2, $f2 +/* A67F98 80240E98 4620103E */ c.le.d $f2, $f0 +/* A67F9C 80240E9C 00000000 */ nop +/* A67FA0 80240EA0 45030001 */ bc1tl .L80240EA8 +/* A67FA4 80240EA4 24120001 */ addiu $s2, $zero, 1 +.L80240EA8: +/* A67FA8 80240EA8 56400008 */ bnel $s2, $zero, .L80240ECC +/* A67FAC 80240EAC 2414000A */ addiu $s4, $zero, 0xa +/* A67FB0 80240EB0 C604003C */ lwc1 $f4, 0x3c($s0) +/* A67FB4 80240EB4 C600001C */ lwc1 $f0, 0x1c($s0) +/* A67FB8 80240EB8 46002100 */ add.s $f4, $f4, $f0 +/* A67FBC 80240EBC C6020014 */ lwc1 $f2, 0x14($s0) +/* A67FC0 80240EC0 46020001 */ sub.s $f0, $f0, $f2 +/* A67FC4 80240EC4 E604003C */ swc1 $f4, 0x3c($s0) +/* A67FC8 80240EC8 E600001C */ swc1 $f0, 0x1c($s0) +.L80240ECC: +/* A67FCC 80240ECC 9602008E */ lhu $v0, 0x8e($s0) +/* A67FD0 80240ED0 2442FFFF */ addiu $v0, $v0, -1 +/* A67FD4 80240ED4 A602008E */ sh $v0, 0x8e($s0) +/* A67FD8 80240ED8 00021400 */ sll $v0, $v0, 0x10 +/* A67FDC 80240EDC 58400001 */ blezl $v0, .L80240EE4 +/* A67FE0 80240EE0 2414000B */ addiu $s4, $zero, 0xb +.L80240EE4: +/* A67FE4 80240EE4 12800024 */ beqz $s4, .L80240F78 +/* A67FE8 80240EE8 00000000 */ nop +/* A67FEC 80240EEC AFA00010 */ sw $zero, 0x10($sp) +/* A67FF0 80240EF0 AFA00014 */ sw $zero, 0x14($sp) +/* A67FF4 80240EF4 8E050038 */ lw $a1, 0x38($s0) +/* A67FF8 80240EF8 8E06003C */ lw $a2, 0x3c($s0) +/* A67FFC 80240EFC 8E070040 */ lw $a3, 0x40($s0) +/* A68000 80240F00 0C01BECC */ jal fx_walk_normal +/* A68004 80240F04 24040002 */ addiu $a0, $zero, 2 +/* A68008 80240F08 3C01C47A */ lui $at, 0xc47a +/* A6800C 80240F0C 44810000 */ mtc1 $at, $f0 +/* A68010 80240F10 AE20006C */ sw $zero, 0x6c($s1) +/* A68014 80240F14 8E020000 */ lw $v0, ($s0) +/* A68018 80240F18 0200202D */ daddu $a0, $s0, $zero +/* A6801C 80240F1C AE000038 */ sw $zero, 0x38($s0) +/* A68020 80240F20 AE000040 */ sw $zero, 0x40($s0) +/* A68024 80240F24 34420002 */ ori $v0, $v0, 2 +/* A68028 80240F28 E600003C */ swc1 $f0, 0x3c($s0) +/* A6802C 80240F2C 0C00EAFF */ jal disable_npc_shadow +/* A68030 80240F30 AE020000 */ sw $v0, ($s0) +/* A68034 80240F34 0260202D */ daddu $a0, $s3, $zero +/* A68038 80240F38 3C05FE36 */ lui $a1, 0xfe36 +/* A6803C 80240F3C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A68040 80240F40 24060001 */ addiu $a2, $zero, 1 +/* A68044 80240F44 8E020000 */ lw $v0, ($s0) +/* A68048 80240F48 2403F7FF */ addiu $v1, $zero, -0x801 +/* A6804C 80240F4C 00431024 */ and $v0, $v0, $v1 +/* A68050 80240F50 AE020000 */ sw $v0, ($s0) +/* A68054 80240F54 8E220000 */ lw $v0, ($s1) +/* A68058 80240F58 3C031F00 */ lui $v1, 0x1f00 +/* A6805C 80240F5C 00431025 */ or $v0, $v0, $v1 +/* A68060 80240F60 AE220000 */ sw $v0, ($s1) +/* A68064 80240F64 AC800070 */ sw $zero, 0x70($a0) +.L80240F68: +/* A68068 80240F68 0C0B2026 */ jal set_variable +/* A6806C 80240F6C 00000000 */ nop +/* A68070 80240F70 080903EA */ j .L80240FA8 +/* A68074 80240F74 24020002 */ addiu $v0, $zero, 2 +.L80240F78: +/* A68078 80240F78 8E220070 */ lw $v0, 0x70($s1) +/* A6807C 80240F7C 30420001 */ andi $v0, $v0, 1 +/* A68080 80240F80 10400009 */ beqz $v0, .L80240FA8 +/* A68084 80240F84 0000102D */ daddu $v0, $zero, $zero +/* A68088 80240F88 C600004C */ lwc1 $f0, 0x4c($s0) +/* A6808C 80240F8C 3C01404E */ lui $at, 0x404e +/* A68090 80240F90 44811800 */ mtc1 $at, $f3 +/* A68094 80240F94 44801000 */ mtc1 $zero, $f2 +/* A68098 80240F98 46000021 */ cvt.d.s $f0, $f0 +/* A6809C 80240F9C 46220000 */ add.d $f0, $f0, $f2 +/* A680A0 80240FA0 46200020 */ cvt.s.d $f0, $f0 +/* A680A4 80240FA4 E600004C */ swc1 $f0, 0x4c($s0) +.L80240FA8: +/* A680A8 80240FA8 8FBF0044 */ lw $ra, 0x44($sp) +/* A680AC 80240FAC 8FB40040 */ lw $s4, 0x40($sp) +/* A680B0 80240FB0 8FB3003C */ lw $s3, 0x3c($sp) +/* A680B4 80240FB4 8FB20038 */ lw $s2, 0x38($sp) +/* A680B8 80240FB8 8FB10034 */ lw $s1, 0x34($sp) +/* A680BC 80240FBC 8FB00030 */ lw $s0, 0x30($sp) +/* A680C0 80240FC0 D7B80058 */ ldc1 $f24, 0x58($sp) +/* A680C4 80240FC4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A680C8 80240FC8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A680CC 80240FCC 03E00008 */ jr $ra +/* A680D0 80240FD0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_80240FD4_A67100.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240FD4_A67100.s new file mode 100644 index 0000000000..edb6cb3a51 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_80240FD4_A67100.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD4_A680D4 +/* A680D4 80240FD4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A680D8 80240FD8 AFB3003C */ sw $s3, 0x3c($sp) +/* A680DC 80240FDC 0080982D */ daddu $s3, $a0, $zero +/* A680E0 80240FE0 AFBF0048 */ sw $ra, 0x48($sp) +/* A680E4 80240FE4 AFB50044 */ sw $s5, 0x44($sp) +/* A680E8 80240FE8 AFB40040 */ sw $s4, 0x40($sp) +/* A680EC 80240FEC AFB20038 */ sw $s2, 0x38($sp) +/* A680F0 80240FF0 AFB10034 */ sw $s1, 0x34($sp) +/* A680F4 80240FF4 AFB00030 */ sw $s0, 0x30($sp) +/* A680F8 80240FF8 8E720148 */ lw $s2, 0x148($s3) +/* A680FC 80240FFC 86440008 */ lh $a0, 8($s2) +/* A68100 80241000 8E70000C */ lw $s0, 0xc($s3) +/* A68104 80241004 0C00EABB */ jal get_npc_unsafe +/* A68108 80241008 00A0882D */ daddu $s1, $a1, $zero +/* A6810C 8024100C 0260202D */ daddu $a0, $s3, $zero +/* A68110 80241010 8E050000 */ lw $a1, ($s0) +/* A68114 80241014 0C0B1EAF */ jal get_variable +/* A68118 80241018 0040A02D */ daddu $s4, $v0, $zero +/* A6811C 8024101C AFA00010 */ sw $zero, 0x10($sp) +/* A68120 80241020 8E4300D0 */ lw $v1, 0xd0($s2) +/* A68124 80241024 8C630030 */ lw $v1, 0x30($v1) +/* A68128 80241028 AFA30014 */ sw $v1, 0x14($sp) +/* A6812C 8024102C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A68130 80241030 8C63001C */ lw $v1, 0x1c($v1) +/* A68134 80241034 AFA30018 */ sw $v1, 0x18($sp) +/* A68138 80241038 8E4300D0 */ lw $v1, 0xd0($s2) +/* A6813C 8024103C 8C630024 */ lw $v1, 0x24($v1) +/* A68140 80241040 AFA3001C */ sw $v1, 0x1c($sp) +/* A68144 80241044 8E4300D0 */ lw $v1, 0xd0($s2) +/* A68148 80241048 8C630028 */ lw $v1, 0x28($v1) +/* A6814C 8024104C 27B50010 */ addiu $s5, $sp, 0x10 +/* A68150 80241050 AFA30020 */ sw $v1, 0x20($sp) +/* A68154 80241054 8E4300D0 */ lw $v1, 0xd0($s2) +/* A68158 80241058 3C014220 */ lui $at, 0x4220 +/* A6815C 8024105C 44810000 */ mtc1 $at, $f0 +/* A68160 80241060 8C63002C */ lw $v1, 0x2c($v1) +/* A68164 80241064 0040802D */ daddu $s0, $v0, $zero +/* A68168 80241068 E7A00028 */ swc1 $f0, 0x28($sp) +/* A6816C 8024106C A7A0002C */ sh $zero, 0x2c($sp) +/* A68170 80241070 16200005 */ bnez $s1, .L80241088 +/* A68174 80241074 AFA30024 */ sw $v1, 0x24($sp) +/* A68178 80241078 8E4200B0 */ lw $v0, 0xb0($s2) +/* A6817C 8024107C 30420004 */ andi $v0, $v0, 4 +/* A68180 80241080 1040002F */ beqz $v0, .L80241140 +/* A68184 80241084 00000000 */ nop +.L80241088: +/* A68188 80241088 2404F7FF */ addiu $a0, $zero, -0x801 +/* A6818C 8024108C AE600070 */ sw $zero, 0x70($s3) +/* A68190 80241090 A680008E */ sh $zero, 0x8e($s4) +/* A68194 80241094 8E4200CC */ lw $v0, 0xcc($s2) +/* A68198 80241098 8E830000 */ lw $v1, ($s4) +/* A6819C 8024109C 8C420000 */ lw $v0, ($v0) +/* A681A0 802410A0 00641824 */ and $v1, $v1, $a0 +/* A681A4 802410A4 AE830000 */ sw $v1, ($s4) +/* A681A8 802410A8 AE820028 */ sw $v0, 0x28($s4) +/* A681AC 802410AC 8E4200D0 */ lw $v0, 0xd0($s2) +/* A681B0 802410B0 8C420034 */ lw $v0, 0x34($v0) +/* A681B4 802410B4 54400005 */ bnel $v0, $zero, .L802410CC +/* A681B8 802410B8 2402FDFF */ addiu $v0, $zero, -0x201 +/* A681BC 802410BC 34620200 */ ori $v0, $v1, 0x200 +/* A681C0 802410C0 2403FFF7 */ addiu $v1, $zero, -9 +/* A681C4 802410C4 08090435 */ j .L802410D4 +/* A681C8 802410C8 00431024 */ and $v0, $v0, $v1 +.L802410CC: +/* A681CC 802410CC 00621024 */ and $v0, $v1, $v0 +/* A681D0 802410D0 34420008 */ ori $v0, $v0, 8 +.L802410D4: +/* A681D4 802410D4 AE820000 */ sw $v0, ($s4) +/* A681D8 802410D8 8E4200B0 */ lw $v0, 0xb0($s2) +/* A681DC 802410DC 30420004 */ andi $v0, $v0, 4 +/* A681E0 802410E0 10400008 */ beqz $v0, .L80241104 +/* A681E4 802410E4 24020063 */ addiu $v0, $zero, 0x63 +/* A681E8 802410E8 AE620070 */ sw $v0, 0x70($s3) +/* A681EC 802410EC AE600074 */ sw $zero, 0x74($s3) +/* A681F0 802410F0 8E4200B0 */ lw $v0, 0xb0($s2) +/* A681F4 802410F4 2403FFFB */ addiu $v1, $zero, -5 +/* A681F8 802410F8 00431024 */ and $v0, $v0, $v1 +/* A681FC 802410FC 08090447 */ j .L8024111C +/* A68200 80241100 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241104: +/* A68204 80241104 8E420000 */ lw $v0, ($s2) +/* A68208 80241108 3C034000 */ lui $v1, 0x4000 +/* A6820C 8024110C 00431024 */ and $v0, $v0, $v1 +/* A68210 80241110 10400002 */ beqz $v0, .L8024111C +/* A68214 80241114 2402000C */ addiu $v0, $zero, 0xc +/* A68218 80241118 AE620070 */ sw $v0, 0x70($s3) +.L8024111C: +/* A6821C 8024111C 3C05BFFF */ lui $a1, 0xbfff +/* A68220 80241120 34A5FFFF */ ori $a1, $a1, 0xffff +/* A68224 80241124 2404FFFB */ addiu $a0, $zero, -5 +/* A68228 80241128 8E4200B0 */ lw $v0, 0xb0($s2) +/* A6822C 8024112C 8E430000 */ lw $v1, ($s2) +/* A68230 80241130 00441024 */ and $v0, $v0, $a0 +/* A68234 80241134 00651824 */ and $v1, $v1, $a1 +/* A68238 80241138 AE4200B0 */ sw $v0, 0xb0($s2) +/* A6823C 8024113C AE430000 */ sw $v1, ($s2) +.L80241140: +/* A68240 80241140 8E630070 */ lw $v1, 0x70($s3) +/* A68244 80241144 2C620064 */ sltiu $v0, $v1, 0x64 +/* A68248 80241148 10400060 */ beqz $v0, .L802412CC +/* A6824C 8024114C 00031080 */ sll $v0, $v1, 2 +/* A68250 80241150 3C018024 */ lui $at, 0x8024 +/* A68254 80241154 00220821 */ addu $at, $at, $v0 +/* A68258 80241158 8C223A08 */ lw $v0, 0x3a08($at) +/* A6825C 8024115C 00400008 */ jr $v0 +/* A68260 80241160 00000000 */ nop +/* A68264 80241164 0260202D */ daddu $a0, $s3, $zero +/* A68268 80241168 0200282D */ daddu $a1, $s0, $zero +/* A6826C 8024116C 0C012568 */ jal func_800495A0 +/* A68270 80241170 02A0302D */ daddu $a2, $s5, $zero +/* A68274 80241174 0260202D */ daddu $a0, $s3, $zero +/* A68278 80241178 0200282D */ daddu $a1, $s0, $zero +/* A6827C 8024117C 0C0125AE */ jal func_800496B8 +/* A68280 80241180 02A0302D */ daddu $a2, $s5, $zero +/* A68284 80241184 080904B3 */ j .L802412CC +/* A68288 80241188 00000000 */ nop +/* A6828C 8024118C 0260202D */ daddu $a0, $s3, $zero +/* A68290 80241190 0200282D */ daddu $a1, $s0, $zero +/* A68294 80241194 0C0126D1 */ jal func_80049B44 +/* A68298 80241198 02A0302D */ daddu $a2, $s5, $zero +/* A6829C 8024119C 0260202D */ daddu $a0, $s3, $zero +/* A682A0 802411A0 0200282D */ daddu $a1, $s0, $zero +/* A682A4 802411A4 0C012701 */ jal func_80049C04 +/* A682A8 802411A8 02A0302D */ daddu $a2, $s5, $zero +/* A682AC 802411AC 080904B3 */ j .L802412CC +/* A682B0 802411B0 00000000 */ nop +/* A682B4 802411B4 0260202D */ daddu $a0, $s3, $zero +/* A682B8 802411B8 0200282D */ daddu $a1, $s0, $zero +/* A682BC 802411BC 0C01278F */ jal func_80049E3C +/* A682C0 802411C0 02A0302D */ daddu $a2, $s5, $zero +/* A682C4 802411C4 0260202D */ daddu $a0, $s3, $zero +/* A682C8 802411C8 0200282D */ daddu $a1, $s0, $zero +/* A682CC 802411CC 0C0127B3 */ jal func_80049ECC +/* A682D0 802411D0 02A0302D */ daddu $a2, $s5, $zero +/* A682D4 802411D4 080904B3 */ j .L802412CC +/* A682D8 802411D8 00000000 */ nop +/* A682DC 802411DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A682E0 802411E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A682E4 802411E4 C68C0038 */ lwc1 $f12, 0x38($s4) +/* A682E8 802411E8 C68E0040 */ lwc1 $f14, 0x40($s4) +/* A682EC 802411EC 8C460028 */ lw $a2, 0x28($v0) +/* A682F0 802411F0 0C00A7B5 */ jal dist2D +/* A682F4 802411F4 8C470030 */ lw $a3, 0x30($v0) +/* A682F8 802411F8 8E42006C */ lw $v0, 0x6c($s2) +/* A682FC 802411FC 10400008 */ beqz $v0, .L80241220 +/* A68300 80241200 46000086 */ mov.s $f2, $f0 +/* A68304 80241204 44820000 */ mtc1 $v0, $f0 +/* A68308 80241208 00000000 */ nop +/* A6830C 8024120C 46800020 */ cvt.s.w $f0, $f0 +/* A68310 80241210 4602003C */ c.lt.s $f0, $f2 +/* A68314 80241214 00000000 */ nop +/* A68318 80241218 4500000B */ bc1f .L80241248 +/* A6831C 8024121C 0260202D */ daddu $a0, $s3, $zero +.L80241220: +/* A68320 80241220 0260202D */ daddu $a0, $s3, $zero +/* A68324 80241224 8E050024 */ lw $a1, 0x24($s0) +/* A68328 80241228 8E060028 */ lw $a2, 0x28($s0) +/* A6832C 8024122C 0C0900B4 */ jal func_802402D0 +/* A68330 80241230 02A0382D */ daddu $a3, $s5, $zero +/* A68334 80241234 8E630070 */ lw $v1, 0x70($s3) +/* A68338 80241238 2402000C */ addiu $v0, $zero, 0xc +/* A6833C 8024123C 14620023 */ bne $v1, $v0, .L802412CC +/* A68340 80241240 00000000 */ nop +/* A68344 80241244 0260202D */ daddu $a0, $s3, $zero +.L80241248: +/* A68348 80241248 0200282D */ daddu $a1, $s0, $zero +/* A6834C 8024124C 0C0127DF */ jal func_80049F7C +/* A68350 80241250 02A0302D */ daddu $a2, $s5, $zero +/* A68354 80241254 0260202D */ daddu $a0, $s3, $zero +/* A68358 80241258 0200282D */ daddu $a1, $s0, $zero +/* A6835C 8024125C 0C012849 */ jal func_8004A124 +/* A68360 80241260 02A0302D */ daddu $a2, $s5, $zero +/* A68364 80241264 080904B3 */ j .L802412CC +/* A68368 80241268 00000000 */ nop +/* A6836C 8024126C 0260202D */ daddu $a0, $s3, $zero +/* A68370 80241270 0200282D */ daddu $a1, $s0, $zero +/* A68374 80241274 0C0128FA */ jal func_8004A3E8 +/* A68378 80241278 02A0302D */ daddu $a2, $s5, $zero +/* A6837C 8024127C 080904B3 */ j .L802412CC +/* A68380 80241280 00000000 */ nop +/* A68384 80241284 0C090105 */ jal func_80240414 +/* A68388 80241288 0260202D */ daddu $a0, $s3, $zero +/* A6838C 8024128C 080904B3 */ j .L802412CC +/* A68390 80241290 00000000 */ nop +/* A68394 80241294 0C090145 */ jal func_80240514 +/* A68398 80241298 0260202D */ daddu $a0, $s3, $zero +/* A6839C 8024129C 080904B3 */ j .L802412CC +/* A683A0 802412A0 00000000 */ nop +/* A683A4 802412A4 0C090156 */ jal func_80240558 +/* A683A8 802412A8 0260202D */ daddu $a0, $s3, $zero +/* A683AC 802412AC 080904B3 */ j .L802412CC +/* A683B0 802412B0 00000000 */ nop +/* A683B4 802412B4 0C09017E */ jal func_802405F8 +/* A683B8 802412B8 0260202D */ daddu $a0, $s3, $zero +/* A683BC 802412BC 080904B3 */ j .L802412CC +/* A683C0 802412C0 00000000 */ nop +/* A683C4 802412C4 0C0129CF */ jal func_8004A73C +/* A683C8 802412C8 0260202D */ daddu $a0, $s3, $zero +.L802412CC: +/* A683CC 802412CC 8FBF0048 */ lw $ra, 0x48($sp) +/* A683D0 802412D0 8FB50044 */ lw $s5, 0x44($sp) +/* A683D4 802412D4 8FB40040 */ lw $s4, 0x40($sp) +/* A683D8 802412D8 8FB3003C */ lw $s3, 0x3c($sp) +/* A683DC 802412DC 8FB20038 */ lw $s2, 0x38($sp) +/* A683E0 802412E0 8FB10034 */ lw $s1, 0x34($sp) +/* A683E4 802412E4 8FB00030 */ lw $s0, 0x30($sp) +/* A683E8 802412E8 0000102D */ daddu $v0, $zero, $zero +/* A683EC 802412EC 03E00008 */ jr $ra +/* A683F0 802412F0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_52/func_802412F4.s b/asm/nonmatchings/world/area_kpa/kpa_52/func_802412F4.s new file mode 100644 index 0000000000..fabf48033c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_52/func_802412F4.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F4 +/* A683F4 802412F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A683F8 802412F8 3C05FE36 */ lui $a1, 0xfe36 +/* A683FC 802412FC AFBF0010 */ sw $ra, 0x10($sp) +/* A68400 80241300 8C820148 */ lw $v0, 0x148($a0) +/* A68404 80241304 3C06800B */ lui $a2, 0x800b +/* A68408 80241308 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A6840C 8024130C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A68410 80241310 00C23026 */ xor $a2, $a2, $v0 +/* A68414 80241314 0C0B2026 */ jal set_variable +/* A68418 80241318 2CC60001 */ sltiu $a2, $a2, 1 +/* A6841C 8024131C 8FBF0010 */ lw $ra, 0x10($sp) +/* A68420 80241320 24020002 */ addiu $v0, $zero, 2 +/* A68424 80241324 03E00008 */ jr $ra +/* A68428 80241328 27BD0018 */ addiu $sp, $sp, 0x18 +/* A6842C 8024132C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_53/func_80240000_A6ACA0.s b/asm/nonmatchings/world/area_kpa/kpa_53/func_80240000_A6ACA0.s new file mode 100644 index 0000000000..91aad3cde5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_53/func_80240000_A6ACA0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A6ACA0 +/* A6ACA0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6ACA4 80240004 3C04800E */ lui $a0, 0x800e +/* A6ACA8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A6ACAC 8024000C 3C058024 */ lui $a1, 0x8024 +/* A6ACB0 80240010 24A51E20 */ addiu $a1, $a1, 0x1e20 +/* A6ACB4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* A6ACB8 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* A6ACBC 8024001C 24020002 */ addiu $v0, $zero, 2 +/* A6ACC0 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* A6ACC4 80240024 0C01953C */ jal sprintf +/* A6ACC8 80240028 A0620084 */ sb $v0, 0x84($v1) +/* A6ACCC 8024002C 3C04800E */ lui $a0, 0x800e +/* A6ACD0 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A6ACD4 80240034 3C058024 */ lui $a1, 0x8024 +/* A6ACD8 80240038 0C01953C */ jal sprintf +/* A6ACDC 8024003C 24A51E30 */ addiu $a1, $a1, 0x1e30 +/* A6ACE0 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* A6ACE4 80240044 0000102D */ daddu $v0, $zero, $zero +/* A6ACE8 80240048 03E00008 */ jr $ra +/* A6ACEC 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_53/func_80240050_A6ACA0.s b/asm/nonmatchings/world/area_kpa/kpa_53/func_80240050_A6ACA0.s new file mode 100644 index 0000000000..d365f6bdc3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_53/func_80240050_A6ACA0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A6ACF0 +/* A6ACF0 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A6ACF4 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* A6ACF8 80240058 0080882D */ daddu $s1, $a0, $zero +/* A6ACFC 8024005C AFBF001C */ sw $ra, 0x1c($sp) +/* A6AD00 80240060 AFB20018 */ sw $s2, 0x18($sp) +/* A6AD04 80240064 AFB00010 */ sw $s0, 0x10($sp) +/* A6AD08 80240068 8E30000C */ lw $s0, 0xc($s1) +/* A6AD0C 8024006C 8E050000 */ lw $a1, ($s0) +/* A6AD10 80240070 0C0B1EAF */ jal get_variable +/* A6AD14 80240074 26100004 */ addiu $s0, $s0, 4 +/* A6AD18 80240078 0220202D */ daddu $a0, $s1, $zero +/* A6AD1C 8024007C 8E120000 */ lw $s2, ($s0) +/* A6AD20 80240080 0C0B36B0 */ jal resolve_npc +/* A6AD24 80240084 0040282D */ daddu $a1, $v0, $zero +/* A6AD28 80240088 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* A6AD2C 8024008C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* A6AD30 80240090 0040182D */ daddu $v1, $v0, $zero +/* A6AD34 80240094 1060002F */ beqz $v1, .L80240154 +/* A6AD38 80240098 24020002 */ addiu $v0, $zero, 2 +/* A6AD3C 8024009C C6000028 */ lwc1 $f0, 0x28($s0) +/* A6AD40 802400A0 3C018024 */ lui $at, 0x8024 +/* A6AD44 802400A4 D4221E50 */ ldc1 $f2, 0x1e50($at) +/* A6AD48 802400A8 4600010D */ trunc.w.s $f4, $f0 +/* A6AD4C 802400AC 44022000 */ mfc1 $v0, $f4 +/* A6AD50 802400B0 00000000 */ nop +/* A6AD54 802400B4 2442FD44 */ addiu $v0, $v0, -0x2bc +/* A6AD58 802400B8 44820000 */ mtc1 $v0, $f0 +/* A6AD5C 802400BC 00000000 */ nop +/* A6AD60 802400C0 46800021 */ cvt.d.w $f0, $f0 +/* A6AD64 802400C4 46220002 */ mul.d $f0, $f0, $f2 +/* A6AD68 802400C8 00000000 */ nop +/* A6AD6C 802400CC 4620010D */ trunc.w.d $f4, $f0 +/* A6AD70 802400D0 44022000 */ mfc1 $v0, $f4 +/* A6AD74 802400D4 00000000 */ nop +/* A6AD78 802400D8 244202FD */ addiu $v0, $v0, 0x2fd +/* A6AD7C 802400DC 44820000 */ mtc1 $v0, $f0 +/* A6AD80 802400E0 00000000 */ nop +/* A6AD84 802400E4 46800020 */ cvt.s.w $f0, $f0 +/* A6AD88 802400E8 E4600038 */ swc1 $f0, 0x38($v1) +/* A6AD8C 802400EC C6020054 */ lwc1 $f2, 0x54($s0) +/* A6AD90 802400F0 44800000 */ mtc1 $zero, $f0 +/* A6AD94 802400F4 00000000 */ nop +/* A6AD98 802400F8 46001032 */ c.eq.s $f2, $f0 +/* A6AD9C 802400FC 00000000 */ nop +/* A6ADA0 80240100 45000003 */ bc1f .L80240110 +/* A6ADA4 80240104 3C02000A */ lui $v0, 0xa +/* A6ADA8 80240108 0809004D */ j .L80240134 +/* A6ADAC 8024010C 34420001 */ ori $v0, $v0, 1 +.L80240110: +/* A6ADB0 80240110 3C014000 */ lui $at, 0x4000 +/* A6ADB4 80240114 44810000 */ mtc1 $at, $f0 +/* A6ADB8 80240118 00000000 */ nop +/* A6ADBC 8024011C 4600103C */ c.lt.s $f2, $f0 +/* A6ADC0 80240120 00000000 */ nop +/* A6ADC4 80240124 45000003 */ bc1f .L80240134 +/* A6ADC8 80240128 34420003 */ ori $v0, $v0, 3 +/* A6ADCC 8024012C 3C02000A */ lui $v0, 0xa +/* A6ADD0 80240130 34420002 */ ori $v0, $v0, 2 +.L80240134: +/* A6ADD4 80240134 0220202D */ daddu $a0, $s1, $zero +/* A6ADD8 80240138 AC620028 */ sw $v0, 0x28($v1) +/* A6ADDC 8024013C C6000080 */ lwc1 $f0, 0x80($s0) +/* A6ADE0 80240140 4600010D */ trunc.w.s $f4, $f0 +/* A6ADE4 80240144 44062000 */ mfc1 $a2, $f4 +/* A6ADE8 80240148 0C0B2026 */ jal set_variable +/* A6ADEC 8024014C 0240282D */ daddu $a1, $s2, $zero +/* A6ADF0 80240150 24020002 */ addiu $v0, $zero, 2 +.L80240154: +/* A6ADF4 80240154 8FBF001C */ lw $ra, 0x1c($sp) +/* A6ADF8 80240158 8FB20018 */ lw $s2, 0x18($sp) +/* A6ADFC 8024015C 8FB10014 */ lw $s1, 0x14($sp) +/* A6AE00 80240160 8FB00010 */ lw $s0, 0x10($sp) +/* A6AE04 80240164 03E00008 */ jr $ra +/* A6AE08 80240168 27BD0020 */ addiu $sp, $sp, 0x20 +/* A6AE0C 8024016C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_60/func_80240000_A6CB00.s b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240000_A6CB00.s new file mode 100644 index 0000000000..098f119564 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240000_A6CB00.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A6CB00 +/* A6CB00 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6CB04 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A6CB08 80240008 0C04417A */ jal get_entity_by_index +/* A6CB0C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* A6CB10 80240010 0040182D */ daddu $v1, $v0, $zero +/* A6CB14 80240014 8C640000 */ lw $a0, ($v1) +/* A6CB18 80240018 3C050010 */ lui $a1, 0x10 +/* A6CB1C 8024001C 00852025 */ or $a0, $a0, $a1 +/* A6CB20 80240020 AC640000 */ sw $a0, ($v1) +/* A6CB24 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* A6CB28 80240028 24020002 */ addiu $v0, $zero, 2 +/* A6CB2C 8024002C 03E00008 */ jr $ra +/* A6CB30 80240030 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_60/func_80240034_A6CB00.s b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240034_A6CB00.s new file mode 100644 index 0000000000..910a6a3be6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240034_A6CB00.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_A6CB34 +/* A6CB34 80240034 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A6CB38 80240038 AFB20018 */ sw $s2, 0x18($sp) +/* A6CB3C 8024003C 0080902D */ daddu $s2, $a0, $zero +/* A6CB40 80240040 AFBF001C */ sw $ra, 0x1c($sp) +/* A6CB44 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* A6CB48 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* A6CB4C 8024004C 8E50000C */ lw $s0, 0xc($s2) +/* A6CB50 80240050 8E050000 */ lw $a1, ($s0) +/* A6CB54 80240054 0C0B1EAF */ jal get_variable +/* A6CB58 80240058 26100004 */ addiu $s0, $s0, 4 +/* A6CB5C 8024005C 0C04417A */ jal get_entity_by_index +/* A6CB60 80240060 0040202D */ daddu $a0, $v0, $zero +/* A6CB64 80240064 8E050000 */ lw $a1, ($s0) +/* A6CB68 80240068 26100004 */ addiu $s0, $s0, 4 +/* A6CB6C 8024006C 0040882D */ daddu $s1, $v0, $zero +/* A6CB70 80240070 C6200048 */ lwc1 $f0, 0x48($s1) +/* A6CB74 80240074 4600008D */ trunc.w.s $f2, $f0 +/* A6CB78 80240078 44061000 */ mfc1 $a2, $f2 +/* A6CB7C 8024007C 0C0B2026 */ jal set_variable +/* A6CB80 80240080 0240202D */ daddu $a0, $s2, $zero +/* A6CB84 80240084 8E050000 */ lw $a1, ($s0) +/* A6CB88 80240088 26100004 */ addiu $s0, $s0, 4 +/* A6CB8C 8024008C C620004C */ lwc1 $f0, 0x4c($s1) +/* A6CB90 80240090 4600008D */ trunc.w.s $f2, $f0 +/* A6CB94 80240094 44061000 */ mfc1 $a2, $f2 +/* A6CB98 80240098 0C0B2026 */ jal set_variable +/* A6CB9C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* A6CBA0 802400A0 C6200050 */ lwc1 $f0, 0x50($s1) +/* A6CBA4 802400A4 8E050000 */ lw $a1, ($s0) +/* A6CBA8 802400A8 4600008D */ trunc.w.s $f2, $f0 +/* A6CBAC 802400AC 44061000 */ mfc1 $a2, $f2 +/* A6CBB0 802400B0 0C0B2026 */ jal set_variable +/* A6CBB4 802400B4 0240202D */ daddu $a0, $s2, $zero +/* A6CBB8 802400B8 8FBF001C */ lw $ra, 0x1c($sp) +/* A6CBBC 802400BC 8FB20018 */ lw $s2, 0x18($sp) +/* A6CBC0 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* A6CBC4 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* A6CBC8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* A6CBCC 802400CC 03E00008 */ jr $ra +/* A6CBD0 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* A6CBD4 802400D4 00000000 */ nop +/* A6CBD8 802400D8 00000000 */ nop +/* A6CBDC 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_60/func_802400E0_A6CB00.s b/asm/nonmatchings/world/area_kpa/kpa_60/func_802400E0_A6CB00.s new file mode 100644 index 0000000000..5396b8e921 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_60/func_802400E0_A6CB00.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_A6CBE0 +/* A6CBE0 802400E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6CBE4 802400E4 AFB00010 */ sw $s0, 0x10($sp) +/* A6CBE8 802400E8 0080802D */ daddu $s0, $a0, $zero +/* A6CBEC 802400EC AFBF0014 */ sw $ra, 0x14($sp) +/* A6CBF0 802400F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* A6CBF4 802400F4 8E020088 */ lw $v0, 0x88($s0) +/* A6CBF8 802400F8 00621821 */ addu $v1, $v1, $v0 +/* A6CBFC 802400FC 04610004 */ bgez $v1, .L80240110 +/* A6CC00 80240100 AE0300A8 */ sw $v1, 0xa8($s0) +/* A6CC04 80240104 3C020002 */ lui $v0, 2 +/* A6CC08 80240108 08090048 */ j .L80240120 +/* A6CC0C 8024010C 00621021 */ addu $v0, $v1, $v0 +.L80240110: +/* A6CC10 80240110 3C040002 */ lui $a0, 2 +/* A6CC14 80240114 0083102A */ slt $v0, $a0, $v1 +/* A6CC18 80240118 10400002 */ beqz $v0, .L80240124 +/* A6CC1C 8024011C 00641023 */ subu $v0, $v1, $a0 +.L80240120: +/* A6CC20 80240120 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240124: +/* A6CC24 80240124 8E0300AC */ lw $v1, 0xac($s0) +/* A6CC28 80240128 8E02008C */ lw $v0, 0x8c($s0) +/* A6CC2C 8024012C 00621821 */ addu $v1, $v1, $v0 +/* A6CC30 80240130 04610004 */ bgez $v1, .L80240144 +/* A6CC34 80240134 AE0300AC */ sw $v1, 0xac($s0) +/* A6CC38 80240138 3C020002 */ lui $v0, 2 +/* A6CC3C 8024013C 08090055 */ j .L80240154 +/* A6CC40 80240140 00621021 */ addu $v0, $v1, $v0 +.L80240144: +/* A6CC44 80240144 3C040002 */ lui $a0, 2 +/* A6CC48 80240148 0083102A */ slt $v0, $a0, $v1 +/* A6CC4C 8024014C 10400002 */ beqz $v0, .L80240158 +/* A6CC50 80240150 00641023 */ subu $v0, $v1, $a0 +.L80240154: +/* A6CC54 80240154 AE0200AC */ sw $v0, 0xac($s0) +.L80240158: +/* A6CC58 80240158 8E0300B0 */ lw $v1, 0xb0($s0) +/* A6CC5C 8024015C 8E020090 */ lw $v0, 0x90($s0) +/* A6CC60 80240160 00621821 */ addu $v1, $v1, $v0 +/* A6CC64 80240164 04610004 */ bgez $v1, .L80240178 +/* A6CC68 80240168 AE0300B0 */ sw $v1, 0xb0($s0) +/* A6CC6C 8024016C 3C020002 */ lui $v0, 2 +/* A6CC70 80240170 08090062 */ j .L80240188 +/* A6CC74 80240174 00621021 */ addu $v0, $v1, $v0 +.L80240178: +/* A6CC78 80240178 3C040002 */ lui $a0, 2 +/* A6CC7C 8024017C 0083102A */ slt $v0, $a0, $v1 +/* A6CC80 80240180 10400002 */ beqz $v0, .L8024018C +/* A6CC84 80240184 00641023 */ subu $v0, $v1, $a0 +.L80240188: +/* A6CC88 80240188 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024018C: +/* A6CC8C 8024018C 8E0300B4 */ lw $v1, 0xb4($s0) +/* A6CC90 80240190 8E020094 */ lw $v0, 0x94($s0) +/* A6CC94 80240194 00621821 */ addu $v1, $v1, $v0 +/* A6CC98 80240198 04610004 */ bgez $v1, .L802401AC +/* A6CC9C 8024019C AE0300B4 */ sw $v1, 0xb4($s0) +/* A6CCA0 802401A0 3C020002 */ lui $v0, 2 +/* A6CCA4 802401A4 0809006F */ j .L802401BC +/* A6CCA8 802401A8 00621021 */ addu $v0, $v1, $v0 +.L802401AC: +/* A6CCAC 802401AC 3C040002 */ lui $a0, 2 +/* A6CCB0 802401B0 0083102A */ slt $v0, $a0, $v1 +/* A6CCB4 802401B4 10400002 */ beqz $v0, .L802401C0 +/* A6CCB8 802401B8 00641023 */ subu $v0, $v1, $a0 +.L802401BC: +/* A6CCBC 802401BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802401C0: +/* A6CCC0 802401C0 8E040084 */ lw $a0, 0x84($s0) +/* A6CCC4 802401C4 0C046F07 */ jal set_main_pan_u +/* A6CCC8 802401C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A6CCCC 802401CC 8E040084 */ lw $a0, 0x84($s0) +/* A6CCD0 802401D0 0C046F0D */ jal set_main_pan_v +/* A6CCD4 802401D4 8E0500AC */ lw $a1, 0xac($s0) +/* A6CCD8 802401D8 8E040084 */ lw $a0, 0x84($s0) +/* A6CCDC 802401DC 0C046F13 */ jal set_aux_pan_u +/* A6CCE0 802401E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* A6CCE4 802401E4 8E040084 */ lw $a0, 0x84($s0) +/* A6CCE8 802401E8 0C046F19 */ jal set_aux_pan_v +/* A6CCEC 802401EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* A6CCF0 802401F0 8FBF0014 */ lw $ra, 0x14($sp) +/* A6CCF4 802401F4 8FB00010 */ lw $s0, 0x10($sp) +/* A6CCF8 802401F8 0000102D */ daddu $v0, $zero, $zero +/* A6CCFC 802401FC 03E00008 */ jr $ra +/* A6CD00 80240200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_60/func_80240204.s b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240204.s new file mode 100644 index 0000000000..7116aa568a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_60/func_80240204.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240204 +/* A6CD04 80240204 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6CD08 80240208 AFB00010 */ sw $s0, 0x10($sp) +/* A6CD0C 8024020C 0080802D */ daddu $s0, $a0, $zero +/* A6CD10 80240210 10A00005 */ beqz $a1, .L80240228 +/* A6CD14 80240214 AFBF0014 */ sw $ra, 0x14($sp) +/* A6CD18 80240218 AE000070 */ sw $zero, 0x70($s0) +/* A6CD1C 8024021C AE000074 */ sw $zero, 0x74($s0) +/* A6CD20 80240220 AE000078 */ sw $zero, 0x78($s0) +/* A6CD24 80240224 AE00007C */ sw $zero, 0x7c($s0) +.L80240228: +/* A6CD28 80240228 8E020070 */ lw $v0, 0x70($s0) +/* A6CD2C 8024022C 1440000E */ bnez $v0, .L80240268 +/* A6CD30 80240230 00000000 */ nop +/* A6CD34 80240234 8E0300A8 */ lw $v1, 0xa8($s0) +/* A6CD38 80240238 8E020088 */ lw $v0, 0x88($s0) +/* A6CD3C 8024023C 00621821 */ addu $v1, $v1, $v0 +/* A6CD40 80240240 04610004 */ bgez $v1, .L80240254 +/* A6CD44 80240244 AE0300A8 */ sw $v1, 0xa8($s0) +/* A6CD48 80240248 3C020002 */ lui $v0, 2 +/* A6CD4C 8024024C 08090099 */ j .L80240264 +/* A6CD50 80240250 00621021 */ addu $v0, $v1, $v0 +.L80240254: +/* A6CD54 80240254 3C040002 */ lui $a0, 2 +/* A6CD58 80240258 0083102A */ slt $v0, $a0, $v1 +/* A6CD5C 8024025C 10400002 */ beqz $v0, .L80240268 +/* A6CD60 80240260 00641023 */ subu $v0, $v1, $a0 +.L80240264: +/* A6CD64 80240264 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240268: +/* A6CD68 80240268 8E020074 */ lw $v0, 0x74($s0) +/* A6CD6C 8024026C 1440000E */ bnez $v0, .L802402A8 +/* A6CD70 80240270 00000000 */ nop +/* A6CD74 80240274 8E0300AC */ lw $v1, 0xac($s0) +/* A6CD78 80240278 8E02008C */ lw $v0, 0x8c($s0) +/* A6CD7C 8024027C 00621821 */ addu $v1, $v1, $v0 +/* A6CD80 80240280 04610004 */ bgez $v1, .L80240294 +/* A6CD84 80240284 AE0300AC */ sw $v1, 0xac($s0) +/* A6CD88 80240288 3C020002 */ lui $v0, 2 +/* A6CD8C 8024028C 080900A9 */ j .L802402A4 +/* A6CD90 80240290 00621021 */ addu $v0, $v1, $v0 +.L80240294: +/* A6CD94 80240294 3C040002 */ lui $a0, 2 +/* A6CD98 80240298 0083102A */ slt $v0, $a0, $v1 +/* A6CD9C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* A6CDA0 802402A0 00641023 */ subu $v0, $v1, $a0 +.L802402A4: +/* A6CDA4 802402A4 AE0200AC */ sw $v0, 0xac($s0) +.L802402A8: +/* A6CDA8 802402A8 8E020078 */ lw $v0, 0x78($s0) +/* A6CDAC 802402AC 1440000E */ bnez $v0, .L802402E8 +/* A6CDB0 802402B0 00000000 */ nop +/* A6CDB4 802402B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A6CDB8 802402B8 8E020090 */ lw $v0, 0x90($s0) +/* A6CDBC 802402BC 00621821 */ addu $v1, $v1, $v0 +/* A6CDC0 802402C0 04610004 */ bgez $v1, .L802402D4 +/* A6CDC4 802402C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A6CDC8 802402C8 3C020002 */ lui $v0, 2 +/* A6CDCC 802402CC 080900B9 */ j .L802402E4 +/* A6CDD0 802402D0 00621021 */ addu $v0, $v1, $v0 +.L802402D4: +/* A6CDD4 802402D4 3C040002 */ lui $a0, 2 +/* A6CDD8 802402D8 0083102A */ slt $v0, $a0, $v1 +/* A6CDDC 802402DC 10400002 */ beqz $v0, .L802402E8 +/* A6CDE0 802402E0 00641023 */ subu $v0, $v1, $a0 +.L802402E4: +/* A6CDE4 802402E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802402E8: +/* A6CDE8 802402E8 8E02007C */ lw $v0, 0x7c($s0) +/* A6CDEC 802402EC 1440000E */ bnez $v0, .L80240328 +/* A6CDF0 802402F0 00000000 */ nop +/* A6CDF4 802402F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* A6CDF8 802402F8 8E020094 */ lw $v0, 0x94($s0) +/* A6CDFC 802402FC 00621821 */ addu $v1, $v1, $v0 +/* A6CE00 80240300 04610004 */ bgez $v1, .L80240314 +/* A6CE04 80240304 AE0300B4 */ sw $v1, 0xb4($s0) +/* A6CE08 80240308 3C020002 */ lui $v0, 2 +/* A6CE0C 8024030C 080900C9 */ j .L80240324 +/* A6CE10 80240310 00621021 */ addu $v0, $v1, $v0 +.L80240314: +/* A6CE14 80240314 3C040002 */ lui $a0, 2 +/* A6CE18 80240318 0083102A */ slt $v0, $a0, $v1 +/* A6CE1C 8024031C 10400002 */ beqz $v0, .L80240328 +/* A6CE20 80240320 00641023 */ subu $v0, $v1, $a0 +.L80240324: +/* A6CE24 80240324 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240328: +/* A6CE28 80240328 8E040084 */ lw $a0, 0x84($s0) +/* A6CE2C 8024032C 0C046F07 */ jal set_main_pan_u +/* A6CE30 80240330 8E0500A8 */ lw $a1, 0xa8($s0) +/* A6CE34 80240334 8E040084 */ lw $a0, 0x84($s0) +/* A6CE38 80240338 0C046F0D */ jal set_main_pan_v +/* A6CE3C 8024033C 8E0500AC */ lw $a1, 0xac($s0) +/* A6CE40 80240340 8E040084 */ lw $a0, 0x84($s0) +/* A6CE44 80240344 0C046F13 */ jal set_aux_pan_u +/* A6CE48 80240348 8E0500B0 */ lw $a1, 0xb0($s0) +/* A6CE4C 8024034C 8E040084 */ lw $a0, 0x84($s0) +/* A6CE50 80240350 0C046F19 */ jal set_aux_pan_v +/* A6CE54 80240354 8E0500B4 */ lw $a1, 0xb4($s0) +/* A6CE58 80240358 8E020070 */ lw $v0, 0x70($s0) +/* A6CE5C 8024035C 8E030078 */ lw $v1, 0x78($s0) +/* A6CE60 80240360 8E040098 */ lw $a0, 0x98($s0) +/* A6CE64 80240364 24420001 */ addiu $v0, $v0, 1 +/* A6CE68 80240368 AE020070 */ sw $v0, 0x70($s0) +/* A6CE6C 8024036C 8E020074 */ lw $v0, 0x74($s0) +/* A6CE70 80240370 24630001 */ addiu $v1, $v1, 1 +/* A6CE74 80240374 AE030078 */ sw $v1, 0x78($s0) +/* A6CE78 80240378 8E030070 */ lw $v1, 0x70($s0) +/* A6CE7C 8024037C 24420001 */ addiu $v0, $v0, 1 +/* A6CE80 80240380 AE020074 */ sw $v0, 0x74($s0) +/* A6CE84 80240384 8E02007C */ lw $v0, 0x7c($s0) +/* A6CE88 80240388 0064182A */ slt $v1, $v1, $a0 +/* A6CE8C 8024038C 24420001 */ addiu $v0, $v0, 1 +/* A6CE90 80240390 14600002 */ bnez $v1, .L8024039C +/* A6CE94 80240394 AE02007C */ sw $v0, 0x7c($s0) +/* A6CE98 80240398 AE000070 */ sw $zero, 0x70($s0) +.L8024039C: +/* A6CE9C 8024039C 8E020074 */ lw $v0, 0x74($s0) +/* A6CEA0 802403A0 8E03009C */ lw $v1, 0x9c($s0) +/* A6CEA4 802403A4 0043102A */ slt $v0, $v0, $v1 +/* A6CEA8 802403A8 50400001 */ beql $v0, $zero, .L802403B0 +/* A6CEAC 802403AC AE000074 */ sw $zero, 0x74($s0) +.L802403B0: +/* A6CEB0 802403B0 8E020078 */ lw $v0, 0x78($s0) +/* A6CEB4 802403B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A6CEB8 802403B8 0043102A */ slt $v0, $v0, $v1 +/* A6CEBC 802403BC 50400001 */ beql $v0, $zero, .L802403C4 +/* A6CEC0 802403C0 AE000078 */ sw $zero, 0x78($s0) +.L802403C4: +/* A6CEC4 802403C4 8E02007C */ lw $v0, 0x7c($s0) +/* A6CEC8 802403C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A6CECC 802403CC 0043102A */ slt $v0, $v0, $v1 +/* A6CED0 802403D0 50400001 */ beql $v0, $zero, .L802403D8 +/* A6CED4 802403D4 AE00007C */ sw $zero, 0x7c($s0) +.L802403D8: +/* A6CED8 802403D8 8FBF0014 */ lw $ra, 0x14($sp) +/* A6CEDC 802403DC 8FB00010 */ lw $s0, 0x10($sp) +/* A6CEE0 802403E0 0000102D */ daddu $v0, $zero, $zero +/* A6CEE4 802403E4 03E00008 */ jr $ra +/* A6CEE8 802403E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A6CEEC 802403EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240000_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240000_A6E3E0.s new file mode 100644 index 0000000000..eace9d464a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240000_A6E3E0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A6E3E0 +/* A6E3E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6E3E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A6E3E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* A6E3EC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A6E3F0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A6E3F4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A6E3F8 80240018 00621821 */ addu $v1, $v1, $v0 +/* A6E3FC 8024001C 04610004 */ bgez $v1, .L80240030 +/* A6E400 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A6E404 80240024 3C020002 */ lui $v0, 2 +/* A6E408 80240028 08090010 */ j .L80240040 +/* A6E40C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A6E410 80240030 3C040002 */ lui $a0, 2 +/* A6E414 80240034 0083102A */ slt $v0, $a0, $v1 +/* A6E418 80240038 10400002 */ beqz $v0, .L80240044 +/* A6E41C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A6E420 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A6E424 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A6E428 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A6E42C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A6E430 80240050 04610004 */ bgez $v1, .L80240064 +/* A6E434 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A6E438 80240058 3C020002 */ lui $v0, 2 +/* A6E43C 8024005C 0809001D */ j .L80240074 +/* A6E440 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A6E444 80240064 3C040002 */ lui $a0, 2 +/* A6E448 80240068 0083102A */ slt $v0, $a0, $v1 +/* A6E44C 8024006C 10400002 */ beqz $v0, .L80240078 +/* A6E450 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A6E454 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A6E458 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A6E45C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A6E460 80240080 00621821 */ addu $v1, $v1, $v0 +/* A6E464 80240084 04610004 */ bgez $v1, .L80240098 +/* A6E468 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A6E46C 8024008C 3C020002 */ lui $v0, 2 +/* A6E470 80240090 0809002A */ j .L802400A8 +/* A6E474 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A6E478 80240098 3C040002 */ lui $a0, 2 +/* A6E47C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A6E480 802400A0 10400002 */ beqz $v0, .L802400AC +/* A6E484 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A6E488 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A6E48C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A6E490 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A6E494 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A6E498 802400B8 04610004 */ bgez $v1, .L802400CC +/* A6E49C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A6E4A0 802400C0 3C020002 */ lui $v0, 2 +/* A6E4A4 802400C4 08090037 */ j .L802400DC +/* A6E4A8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A6E4AC 802400CC 3C040002 */ lui $a0, 2 +/* A6E4B0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A6E4B4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A6E4B8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A6E4BC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A6E4C0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A6E4C4 802400E4 0C046F07 */ jal set_main_pan_u +/* A6E4C8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A6E4CC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A6E4D0 802400F0 0C046F0D */ jal set_main_pan_v +/* A6E4D4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A6E4D8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A6E4DC 802400FC 0C046F13 */ jal set_aux_pan_u +/* A6E4E0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A6E4E4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A6E4E8 80240108 0C046F19 */ jal set_aux_pan_v +/* A6E4EC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A6E4F0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A6E4F4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A6E4F8 80240118 0000102D */ daddu $v0, $zero, $zero +/* A6E4FC 8024011C 03E00008 */ jr $ra +/* A6E500 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240124_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240124_A6E3E0.s new file mode 100644 index 0000000000..217f30491b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240124_A6E3E0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A6E504 +/* A6E504 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6E508 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A6E50C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A6E510 80240130 10A00005 */ beqz $a1, .L80240148 +/* A6E514 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A6E518 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A6E51C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A6E520 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A6E524 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A6E528 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A6E52C 8024014C 1440000E */ bnez $v0, .L80240188 +/* A6E530 80240150 00000000 */ nop +/* A6E534 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A6E538 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A6E53C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A6E540 80240160 04610004 */ bgez $v1, .L80240174 +/* A6E544 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A6E548 80240168 3C020002 */ lui $v0, 2 +/* A6E54C 8024016C 08090061 */ j .L80240184 +/* A6E550 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A6E554 80240174 3C040002 */ lui $a0, 2 +/* A6E558 80240178 0083102A */ slt $v0, $a0, $v1 +/* A6E55C 8024017C 10400002 */ beqz $v0, .L80240188 +/* A6E560 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A6E564 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A6E568 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A6E56C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A6E570 80240190 00000000 */ nop +/* A6E574 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A6E578 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A6E57C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A6E580 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A6E584 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A6E588 802401A8 3C020002 */ lui $v0, 2 +/* A6E58C 802401AC 08090071 */ j .L802401C4 +/* A6E590 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A6E594 802401B4 3C040002 */ lui $a0, 2 +/* A6E598 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A6E59C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A6E5A0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A6E5A4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A6E5A8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A6E5AC 802401CC 1440000E */ bnez $v0, .L80240208 +/* A6E5B0 802401D0 00000000 */ nop +/* A6E5B4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A6E5B8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A6E5BC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A6E5C0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A6E5C4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A6E5C8 802401E8 3C020002 */ lui $v0, 2 +/* A6E5CC 802401EC 08090081 */ j .L80240204 +/* A6E5D0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A6E5D4 802401F4 3C040002 */ lui $a0, 2 +/* A6E5D8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A6E5DC 802401FC 10400002 */ beqz $v0, .L80240208 +/* A6E5E0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A6E5E4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A6E5E8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A6E5EC 8024020C 1440000E */ bnez $v0, .L80240248 +/* A6E5F0 80240210 00000000 */ nop +/* A6E5F4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A6E5F8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A6E5FC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A6E600 80240220 04610004 */ bgez $v1, .L80240234 +/* A6E604 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A6E608 80240228 3C020002 */ lui $v0, 2 +/* A6E60C 8024022C 08090091 */ j .L80240244 +/* A6E610 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A6E614 80240234 3C040002 */ lui $a0, 2 +/* A6E618 80240238 0083102A */ slt $v0, $a0, $v1 +/* A6E61C 8024023C 10400002 */ beqz $v0, .L80240248 +/* A6E620 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A6E624 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A6E628 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A6E62C 8024024C 0C046F07 */ jal set_main_pan_u +/* A6E630 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A6E634 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A6E638 80240258 0C046F0D */ jal set_main_pan_v +/* A6E63C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A6E640 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A6E644 80240264 0C046F13 */ jal set_aux_pan_u +/* A6E648 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A6E64C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A6E650 80240270 0C046F19 */ jal set_aux_pan_v +/* A6E654 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A6E658 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A6E65C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A6E660 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A6E664 80240284 24420001 */ addiu $v0, $v0, 1 +/* A6E668 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A6E66C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A6E670 80240290 24630001 */ addiu $v1, $v1, 1 +/* A6E674 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A6E678 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A6E67C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A6E680 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A6E684 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A6E688 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A6E68C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A6E690 802402B0 14600002 */ bnez $v1, .L802402BC +/* A6E694 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A6E698 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A6E69C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A6E6A0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A6E6A4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A6E6A8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A6E6AC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A6E6B0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A6E6B4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A6E6B8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A6E6BC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A6E6C0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A6E6C4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A6E6C8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A6E6CC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A6E6D0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A6E6D4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A6E6D8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A6E6DC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A6E6E0 80240300 0000102D */ daddu $v0, $zero, $zero +/* A6E6E4 80240304 03E00008 */ jr $ra +/* A6E6E8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A6E6EC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240310_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240310_A6E3E0.s new file mode 100644 index 0000000000..9118b47531 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240310_A6E3E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A6E6F0 +/* A6E6F0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A6E6F4 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* A6E6F8 80240318 0080902D */ daddu $s2, $a0, $zero +/* A6E6FC 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* A6E700 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* A6E704 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* A6E708 80240328 8E510148 */ lw $s1, 0x148($s2) +/* A6E70C 8024032C 0C00EABB */ jal get_npc_unsafe +/* A6E710 80240330 86240008 */ lh $a0, 8($s1) +/* A6E714 80240334 0040802D */ daddu $s0, $v0, $zero +/* A6E718 80240338 8E2300CC */ lw $v1, 0xcc($s1) +/* A6E71C 8024033C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6E720 80240340 8C630020 */ lw $v1, 0x20($v1) +/* A6E724 80240344 AE030028 */ sw $v1, 0x28($s0) +/* A6E728 80240348 96220076 */ lhu $v0, 0x76($s1) +/* A6E72C 8024034C A602008E */ sh $v0, 0x8e($s0) +/* A6E730 80240350 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6E734 80240354 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A6E738 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6E73C 8024035C 8C460028 */ lw $a2, 0x28($v0) +/* A6E740 80240360 0C00A720 */ jal atan2 +/* A6E744 80240364 8C470030 */ lw $a3, 0x30($v0) +/* A6E748 80240368 2402000D */ addiu $v0, $zero, 0xd +/* A6E74C 8024036C E600000C */ swc1 $f0, 0xc($s0) +/* A6E750 80240370 AE420070 */ sw $v0, 0x70($s2) +/* A6E754 80240374 8FBF001C */ lw $ra, 0x1c($sp) +/* A6E758 80240378 8FB20018 */ lw $s2, 0x18($sp) +/* A6E75C 8024037C 8FB10014 */ lw $s1, 0x14($sp) +/* A6E760 80240380 8FB00010 */ lw $s0, 0x10($sp) +/* A6E764 80240384 03E00008 */ jr $ra +/* A6E768 80240388 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_8024038C_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024038C_A6E3E0.s new file mode 100644 index 0000000000..737e181d46 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024038C_A6E3E0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024038C_A6E76C +/* A6E76C 8024038C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A6E770 80240390 AFB3001C */ sw $s3, 0x1c($sp) +/* A6E774 80240394 0080982D */ daddu $s3, $a0, $zero +/* A6E778 80240398 AFBF0020 */ sw $ra, 0x20($sp) +/* A6E77C 8024039C AFB20018 */ sw $s2, 0x18($sp) +/* A6E780 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* A6E784 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* A6E788 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* A6E78C 802403AC 86240008 */ lh $a0, 8($s1) +/* A6E790 802403B0 0C00EABB */ jal get_npc_unsafe +/* A6E794 802403B4 00A0902D */ daddu $s2, $a1, $zero +/* A6E798 802403B8 0040802D */ daddu $s0, $v0, $zero +/* A6E79C 802403BC 8602008E */ lh $v0, 0x8e($s0) +/* A6E7A0 802403C0 9603008E */ lhu $v1, 0x8e($s0) +/* A6E7A4 802403C4 18400005 */ blez $v0, .L802403DC +/* A6E7A8 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* A6E7AC 802403CC A602008E */ sh $v0, 0x8e($s0) +/* A6E7B0 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* A6E7B4 802403D4 1C400033 */ bgtz $v0, .L802404A4 +/* A6E7B8 802403D8 00000000 */ nop +.L802403DC: +/* A6E7BC 802403DC 8602008C */ lh $v0, 0x8c($s0) +/* A6E7C0 802403E0 14400030 */ bnez $v0, .L802404A4 +/* A6E7C4 802403E4 00000000 */ nop +/* A6E7C8 802403E8 8E2200CC */ lw $v0, 0xcc($s1) +/* A6E7CC 802403EC 8C420024 */ lw $v0, 0x24($v0) +/* A6E7D0 802403F0 AE020028 */ sw $v0, 0x28($s0) +/* A6E7D4 802403F4 C6400018 */ lwc1 $f0, 0x18($s2) +/* A6E7D8 802403F8 E6000018 */ swc1 $f0, 0x18($s0) +/* A6E7DC 802403FC 8E230088 */ lw $v1, 0x88($s1) +/* A6E7E0 80240400 24020005 */ addiu $v0, $zero, 5 +/* A6E7E4 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* A6E7E8 80240408 00000000 */ nop +/* A6E7EC 8024040C 10600003 */ beqz $v1, .L8024041C +/* A6E7F0 80240410 24020001 */ addiu $v0, $zero, 1 +/* A6E7F4 80240414 14620006 */ bne $v1, $v0, .L80240430 +/* A6E7F8 80240418 00000000 */ nop +.L8024041C: +/* A6E7FC 8024041C 8E220084 */ lw $v0, 0x84($s1) +/* A6E800 80240420 00021FC2 */ srl $v1, $v0, 0x1f +/* A6E804 80240424 00431021 */ addu $v0, $v0, $v1 +/* A6E808 80240428 00021043 */ sra $v0, $v0, 1 +/* A6E80C 8024042C A60200A8 */ sh $v0, 0xa8($s0) +.L80240430: +/* A6E810 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6E814 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A6E818 80240438 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6E81C 8024043C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6E820 80240440 8C460028 */ lw $a2, 0x28($v0) +/* A6E824 80240444 0C00A7B5 */ jal dist2D +/* A6E828 80240448 8C470030 */ lw $a3, 0x30($v0) +/* A6E82C 8024044C C6020018 */ lwc1 $f2, 0x18($s0) +/* A6E830 80240450 46020003 */ div.s $f0, $f0, $f2 +/* A6E834 80240454 3C018024 */ lui $at, 0x8024 +/* A6E838 80240458 D4223CD0 */ ldc1 $f2, 0x3cd0($at) +/* A6E83C 8024045C 46000021 */ cvt.d.s $f0, $f0 +/* A6E840 80240460 46220000 */ add.d $f0, $f0, $f2 +/* A6E844 80240464 4620010D */ trunc.w.d $f4, $f0 +/* A6E848 80240468 44022000 */ mfc1 $v0, $f4 +/* A6E84C 8024046C 00000000 */ nop +/* A6E850 80240470 A602008E */ sh $v0, 0x8e($s0) +/* A6E854 80240474 00021400 */ sll $v0, $v0, 0x10 +/* A6E858 80240478 8E230078 */ lw $v1, 0x78($s1) +/* A6E85C 8024047C 00021403 */ sra $v0, $v0, 0x10 +/* A6E860 80240480 0043102A */ slt $v0, $v0, $v1 +/* A6E864 80240484 10400003 */ beqz $v0, .L80240494 +/* A6E868 80240488 00000000 */ nop +/* A6E86C 8024048C 9622007A */ lhu $v0, 0x7a($s1) +/* A6E870 80240490 A602008E */ sh $v0, 0x8e($s0) +.L80240494: +/* A6E874 80240494 8602008E */ lh $v0, 0x8e($s0) +/* A6E878 80240498 AE22007C */ sw $v0, 0x7c($s1) +/* A6E87C 8024049C 2402000E */ addiu $v0, $zero, 0xe +/* A6E880 802404A0 AE620070 */ sw $v0, 0x70($s3) +.L802404A4: +/* A6E884 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* A6E888 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* A6E88C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* A6E890 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* A6E894 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* A6E898 802404B8 03E00008 */ jr $ra +/* A6E89C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_802404C0_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_802404C0_A6E3E0.s new file mode 100644 index 0000000000..9f849090bd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_802404C0_A6E3E0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_A6E8A0 +/* A6E8A0 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A6E8A4 802404C4 AFB3003C */ sw $s3, 0x3c($sp) +/* A6E8A8 802404C8 0080982D */ daddu $s3, $a0, $zero +/* A6E8AC 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* A6E8B0 802404D0 AFB20038 */ sw $s2, 0x38($sp) +/* A6E8B4 802404D4 AFB10034 */ sw $s1, 0x34($sp) +/* A6E8B8 802404D8 AFB00030 */ sw $s0, 0x30($sp) +/* A6E8BC 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* A6E8C0 802404E0 0C00EABB */ jal get_npc_unsafe +/* A6E8C4 802404E4 86240008 */ lh $a0, 8($s1) +/* A6E8C8 802404E8 0040802D */ daddu $s0, $v0, $zero +/* A6E8CC 802404EC 8E22007C */ lw $v0, 0x7c($s1) +/* A6E8D0 802404F0 8603008E */ lh $v1, 0x8e($s0) +/* A6E8D4 802404F4 2442FFFF */ addiu $v0, $v0, -1 +/* A6E8D8 802404F8 14620012 */ bne $v1, $v0, .L80240544 +/* A6E8DC 802404FC 00000000 */ nop +/* A6E8E0 80240500 C6000038 */ lwc1 $f0, 0x38($s0) +/* A6E8E4 80240504 4600020D */ trunc.w.s $f8, $f0 +/* A6E8E8 80240508 44024000 */ mfc1 $v0, $f8 +/* A6E8EC 8024050C 00000000 */ nop +/* A6E8F0 80240510 A6220010 */ sh $v0, 0x10($s1) +/* A6E8F4 80240514 C600003C */ lwc1 $f0, 0x3c($s0) +/* A6E8F8 80240518 4600020D */ trunc.w.s $f8, $f0 +/* A6E8FC 8024051C 44024000 */ mfc1 $v0, $f8 +/* A6E900 80240520 00000000 */ nop +/* A6E904 80240524 A6220012 */ sh $v0, 0x12($s1) +/* A6E908 80240528 C6000040 */ lwc1 $f0, 0x40($s0) +/* A6E90C 8024052C 24020001 */ addiu $v0, $zero, 1 +/* A6E910 80240530 A2220007 */ sb $v0, 7($s1) +/* A6E914 80240534 4600020D */ trunc.w.s $f8, $f0 +/* A6E918 80240538 44024000 */ mfc1 $v0, $f8 +/* A6E91C 8024053C 00000000 */ nop +/* A6E920 80240540 A6220014 */ sh $v0, 0x14($s1) +.L80240544: +/* A6E924 80240544 C6000038 */ lwc1 $f0, 0x38($s0) +/* A6E928 80240548 C602003C */ lwc1 $f2, 0x3c($s0) +/* A6E92C 8024054C C6040040 */ lwc1 $f4, 0x40($s0) +/* A6E930 80240550 C6060018 */ lwc1 $f6, 0x18($s0) +/* A6E934 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* A6E938 80240558 E7A20024 */ swc1 $f2, 0x24($sp) +/* A6E93C 8024055C E7A40028 */ swc1 $f4, 0x28($sp) +/* A6E940 80240560 E7A60010 */ swc1 $f6, 0x10($sp) +/* A6E944 80240564 C600000C */ lwc1 $f0, 0xc($s0) +/* A6E948 80240568 E7A00014 */ swc1 $f0, 0x14($sp) +/* A6E94C 8024056C 860200A8 */ lh $v0, 0xa8($s0) +/* A6E950 80240570 27A50020 */ addiu $a1, $sp, 0x20 +/* A6E954 80240574 44820000 */ mtc1 $v0, $f0 +/* A6E958 80240578 00000000 */ nop +/* A6E95C 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* A6E960 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* A6E964 80240584 860200A6 */ lh $v0, 0xa6($s0) +/* A6E968 80240588 27A60024 */ addiu $a2, $sp, 0x24 +/* A6E96C 8024058C 44820000 */ mtc1 $v0, $f0 +/* A6E970 80240590 00000000 */ nop +/* A6E974 80240594 46800020 */ cvt.s.w $f0, $f0 +/* A6E978 80240598 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A6E97C 8024059C 8E040080 */ lw $a0, 0x80($s0) +/* A6E980 802405A0 0C037711 */ jal func_800DDC44 +/* A6E984 802405A4 27A70028 */ addiu $a3, $sp, 0x28 +/* A6E988 802405A8 0040902D */ daddu $s2, $v0, $zero +/* A6E98C 802405AC 16400005 */ bnez $s2, .L802405C4 +/* A6E990 802405B0 00000000 */ nop +/* A6E994 802405B4 8E050018 */ lw $a1, 0x18($s0) +/* A6E998 802405B8 8E06000C */ lw $a2, 0xc($s0) +/* A6E99C 802405BC 0C00EA95 */ jal npc_move_heading +/* A6E9A0 802405C0 0200202D */ daddu $a0, $s0, $zero +.L802405C4: +/* A6E9A4 802405C4 8602008E */ lh $v0, 0x8e($s0) +/* A6E9A8 802405C8 9603008E */ lhu $v1, 0x8e($s0) +/* A6E9AC 802405CC 18400007 */ blez $v0, .L802405EC +/* A6E9B0 802405D0 2462FFFF */ addiu $v0, $v1, -1 +/* A6E9B4 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* A6E9B8 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* A6E9BC 802405DC 18400003 */ blez $v0, .L802405EC +/* A6E9C0 802405E0 00000000 */ nop +/* A6E9C4 802405E4 12400008 */ beqz $s2, .L80240608 +/* A6E9C8 802405E8 00000000 */ nop +.L802405EC: +/* A6E9CC 802405EC 8E2200CC */ lw $v0, 0xcc($s1) +/* A6E9D0 802405F0 A2200007 */ sb $zero, 7($s1) +/* A6E9D4 802405F4 8C420028 */ lw $v0, 0x28($v0) +/* A6E9D8 802405F8 A600008E */ sh $zero, 0x8e($s0) +/* A6E9DC 802405FC AE020028 */ sw $v0, 0x28($s0) +/* A6E9E0 80240600 2402000F */ addiu $v0, $zero, 0xf +/* A6E9E4 80240604 AE620070 */ sw $v0, 0x70($s3) +.L80240608: +/* A6E9E8 80240608 8FBF0040 */ lw $ra, 0x40($sp) +/* A6E9EC 8024060C 8FB3003C */ lw $s3, 0x3c($sp) +/* A6E9F0 80240610 8FB20038 */ lw $s2, 0x38($sp) +/* A6E9F4 80240614 8FB10034 */ lw $s1, 0x34($sp) +/* A6E9F8 80240618 8FB00030 */ lw $s0, 0x30($sp) +/* A6E9FC 8024061C 03E00008 */ jr $ra +/* A6EA00 80240620 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240624_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240624_A6E3E0.s new file mode 100644 index 0000000000..261c717f7d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240624_A6E3E0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_A6EA04 +/* A6EA04 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A6EA08 80240628 AFB10014 */ sw $s1, 0x14($sp) +/* A6EA0C 8024062C 0080882D */ daddu $s1, $a0, $zero +/* A6EA10 80240630 AFBF0018 */ sw $ra, 0x18($sp) +/* A6EA14 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* A6EA18 80240638 8E300148 */ lw $s0, 0x148($s1) +/* A6EA1C 8024063C 0C00EABB */ jal get_npc_unsafe +/* A6EA20 80240640 86040008 */ lh $a0, 8($s0) +/* A6EA24 80240644 0040202D */ daddu $a0, $v0, $zero +/* A6EA28 80240648 9482008E */ lhu $v0, 0x8e($a0) +/* A6EA2C 8024064C 24030003 */ addiu $v1, $zero, 3 +/* A6EA30 80240650 24420001 */ addiu $v0, $v0, 1 +/* A6EA34 80240654 A482008E */ sh $v0, 0x8e($a0) +/* A6EA38 80240658 00021400 */ sll $v0, $v0, 0x10 +/* A6EA3C 8024065C 00021403 */ sra $v0, $v0, 0x10 +/* A6EA40 80240660 14430003 */ bne $v0, $v1, .L80240670 +/* A6EA44 80240664 00000000 */ nop +/* A6EA48 80240668 96020086 */ lhu $v0, 0x86($s0) +/* A6EA4C 8024066C A48200A8 */ sh $v0, 0xa8($a0) +.L80240670: +/* A6EA50 80240670 8482008E */ lh $v0, 0x8e($a0) +/* A6EA54 80240674 8E030080 */ lw $v1, 0x80($s0) +/* A6EA58 80240678 0043102A */ slt $v0, $v0, $v1 +/* A6EA5C 8024067C 14400004 */ bnez $v0, .L80240690 +/* A6EA60 80240680 00000000 */ nop +/* A6EA64 80240684 96020086 */ lhu $v0, 0x86($s0) +/* A6EA68 80240688 A48200A8 */ sh $v0, 0xa8($a0) +/* A6EA6C 8024068C AE200070 */ sw $zero, 0x70($s1) +.L80240690: +/* A6EA70 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* A6EA74 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* A6EA78 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* A6EA7C 8024069C 03E00008 */ jr $ra +/* A6EA80 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_802406A4_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_802406A4_A6E3E0.s new file mode 100644 index 0000000000..c6b2a00be6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_802406A4_A6E3E0.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_A6EA84 +/* A6EA84 802406A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A6EA88 802406A8 AFB3005C */ sw $s3, 0x5c($sp) +/* A6EA8C 802406AC 0080982D */ daddu $s3, $a0, $zero +/* A6EA90 802406B0 AFBF0068 */ sw $ra, 0x68($sp) +/* A6EA94 802406B4 AFB50064 */ sw $s5, 0x64($sp) +/* A6EA98 802406B8 AFB40060 */ sw $s4, 0x60($sp) +/* A6EA9C 802406BC AFB20058 */ sw $s2, 0x58($sp) +/* A6EAA0 802406C0 AFB10054 */ sw $s1, 0x54($sp) +/* A6EAA4 802406C4 AFB00050 */ sw $s0, 0x50($sp) +/* A6EAA8 802406C8 8E710148 */ lw $s1, 0x148($s3) +/* A6EAAC 802406CC 86240008 */ lh $a0, 8($s1) +/* A6EAB0 802406D0 0C00EABB */ jal get_npc_unsafe +/* A6EAB4 802406D4 00A0802D */ daddu $s0, $a1, $zero +/* A6EAB8 802406D8 8E63000C */ lw $v1, 0xc($s3) +/* A6EABC 802406DC 0260202D */ daddu $a0, $s3, $zero +/* A6EAC0 802406E0 8C650000 */ lw $a1, ($v1) +/* A6EAC4 802406E4 0C0B1EAF */ jal get_variable +/* A6EAC8 802406E8 0040902D */ daddu $s2, $v0, $zero +/* A6EACC 802406EC AFA00028 */ sw $zero, 0x28($sp) +/* A6EAD0 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6EAD4 802406F4 8C630030 */ lw $v1, 0x30($v1) +/* A6EAD8 802406F8 AFA3002C */ sw $v1, 0x2c($sp) +/* A6EADC 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6EAE0 80240700 8C63001C */ lw $v1, 0x1c($v1) +/* A6EAE4 80240704 AFA30030 */ sw $v1, 0x30($sp) +/* A6EAE8 80240708 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6EAEC 8024070C 8C630024 */ lw $v1, 0x24($v1) +/* A6EAF0 80240710 AFA30034 */ sw $v1, 0x34($sp) +/* A6EAF4 80240714 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6EAF8 80240718 8C630028 */ lw $v1, 0x28($v1) +/* A6EAFC 8024071C 27B50028 */ addiu $s5, $sp, 0x28 +/* A6EB00 80240720 AFA30038 */ sw $v1, 0x38($sp) +/* A6EB04 80240724 8E2300D0 */ lw $v1, 0xd0($s1) +/* A6EB08 80240728 3C0142C8 */ lui $at, 0x42c8 +/* A6EB0C 8024072C 44810000 */ mtc1 $at, $f0 +/* A6EB10 80240730 8C63002C */ lw $v1, 0x2c($v1) +/* A6EB14 80240734 0040A02D */ daddu $s4, $v0, $zero +/* A6EB18 80240738 E7A00040 */ swc1 $f0, 0x40($sp) +/* A6EB1C 8024073C A7A00044 */ sh $zero, 0x44($sp) +/* A6EB20 80240740 12000009 */ beqz $s0, .L80240768 +/* A6EB24 80240744 AFA3003C */ sw $v1, 0x3c($sp) +/* A6EB28 80240748 864300A8 */ lh $v1, 0xa8($s2) +/* A6EB2C 8024074C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6EB30 80240750 AE20008C */ sw $zero, 0x8c($s1) +/* A6EB34 80240754 A22000B5 */ sb $zero, 0xb5($s1) +/* A6EB38 80240758 34420008 */ ori $v0, $v0, 8 +/* A6EB3C 8024075C AE230084 */ sw $v1, 0x84($s1) +/* A6EB40 80240760 080901DE */ j .L80240778 +/* A6EB44 80240764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240768: +/* A6EB48 80240768 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6EB4C 8024076C 30420004 */ andi $v0, $v0, 4 +/* A6EB50 80240770 10400047 */ beqz $v0, .L80240890 +/* A6EB54 80240774 00000000 */ nop +.L80240778: +/* A6EB58 80240778 AE600070 */ sw $zero, 0x70($s3) +/* A6EB5C 8024077C A640008E */ sh $zero, 0x8e($s2) +/* A6EB60 80240780 8E2300CC */ lw $v1, 0xcc($s1) +/* A6EB64 80240784 2404F7FF */ addiu $a0, $zero, -0x801 +/* A6EB68 80240788 A2200007 */ sb $zero, 7($s1) +/* A6EB6C 8024078C 8E420000 */ lw $v0, ($s2) +/* A6EB70 80240790 8C630000 */ lw $v1, ($v1) +/* A6EB74 80240794 00441024 */ and $v0, $v0, $a0 +/* A6EB78 80240798 AE420000 */ sw $v0, ($s2) +/* A6EB7C 8024079C AE430028 */ sw $v1, 0x28($s2) +/* A6EB80 802407A0 96220086 */ lhu $v0, 0x86($s1) +/* A6EB84 802407A4 A64200A8 */ sh $v0, 0xa8($s2) +/* A6EB88 802407A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A6EB8C 802407AC AE200090 */ sw $zero, 0x90($s1) +/* A6EB90 802407B0 8C420034 */ lw $v0, 0x34($v0) +/* A6EB94 802407B4 14400006 */ bnez $v0, .L802407D0 +/* A6EB98 802407B8 2403FDFF */ addiu $v1, $zero, -0x201 +/* A6EB9C 802407BC 8E420000 */ lw $v0, ($s2) +/* A6EBA0 802407C0 2403FFF7 */ addiu $v1, $zero, -9 +/* A6EBA4 802407C4 34420200 */ ori $v0, $v0, 0x200 +/* A6EBA8 802407C8 080901F7 */ j .L802407DC +/* A6EBAC 802407CC 00431024 */ and $v0, $v0, $v1 +.L802407D0: +/* A6EBB0 802407D0 8E420000 */ lw $v0, ($s2) +/* A6EBB4 802407D4 00431024 */ and $v0, $v0, $v1 +/* A6EBB8 802407D8 34420008 */ ori $v0, $v0, 8 +.L802407DC: +/* A6EBBC 802407DC AE420000 */ sw $v0, ($s2) +/* A6EBC0 802407E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6EBC4 802407E4 30420004 */ andi $v0, $v0, 4 +/* A6EBC8 802407E8 1040001E */ beqz $v0, .L80240864 +/* A6EBCC 802407EC 24040002 */ addiu $a0, $zero, 2 +/* A6EBD0 802407F0 0240282D */ daddu $a1, $s2, $zero +/* A6EBD4 802407F4 0000302D */ daddu $a2, $zero, $zero +/* A6EBD8 802407F8 24020063 */ addiu $v0, $zero, 0x63 +/* A6EBDC 802407FC AE620070 */ sw $v0, 0x70($s3) +/* A6EBE0 80240800 AE600074 */ sw $zero, 0x74($s3) +/* A6EBE4 80240804 864300A8 */ lh $v1, 0xa8($s2) +/* A6EBE8 80240808 3C013F80 */ lui $at, 0x3f80 +/* A6EBEC 8024080C 44810000 */ mtc1 $at, $f0 +/* A6EBF0 80240810 3C014000 */ lui $at, 0x4000 +/* A6EBF4 80240814 44811000 */ mtc1 $at, $f2 +/* A6EBF8 80240818 3C01C1A0 */ lui $at, 0xc1a0 +/* A6EBFC 8024081C 44812000 */ mtc1 $at, $f4 +/* A6EC00 80240820 24020028 */ addiu $v0, $zero, 0x28 +/* A6EC04 80240824 AFA2001C */ sw $v0, 0x1c($sp) +/* A6EC08 80240828 44833000 */ mtc1 $v1, $f6 +/* A6EC0C 8024082C 00000000 */ nop +/* A6EC10 80240830 468031A0 */ cvt.s.w $f6, $f6 +/* A6EC14 80240834 44073000 */ mfc1 $a3, $f6 +/* A6EC18 80240838 27A20048 */ addiu $v0, $sp, 0x48 +/* A6EC1C 8024083C AFA20020 */ sw $v0, 0x20($sp) +/* A6EC20 80240840 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6EC24 80240844 E7A20014 */ swc1 $f2, 0x14($sp) +/* A6EC28 80240848 0C01BFA4 */ jal fx_emote +/* A6EC2C 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* A6EC30 80240850 8E2200B0 */ lw $v0, 0xb0($s1) +/* A6EC34 80240854 2403FFFB */ addiu $v1, $zero, -5 +/* A6EC38 80240858 00431024 */ and $v0, $v0, $v1 +/* A6EC3C 8024085C 08090224 */ j .L80240890 +/* A6EC40 80240860 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240864: +/* A6EC44 80240864 8E220000 */ lw $v0, ($s1) +/* A6EC48 80240868 3C034000 */ lui $v1, 0x4000 +/* A6EC4C 8024086C 00431024 */ and $v0, $v0, $v1 +/* A6EC50 80240870 10400007 */ beqz $v0, .L80240890 +/* A6EC54 80240874 3C03BFFF */ lui $v1, 0xbfff +/* A6EC58 80240878 2402000C */ addiu $v0, $zero, 0xc +/* A6EC5C 8024087C AE620070 */ sw $v0, 0x70($s3) +/* A6EC60 80240880 8E220000 */ lw $v0, ($s1) +/* A6EC64 80240884 3463FFFF */ ori $v1, $v1, 0xffff +/* A6EC68 80240888 00431024 */ and $v0, $v0, $v1 +/* A6EC6C 8024088C AE220000 */ sw $v0, ($s1) +.L80240890: +/* A6EC70 80240890 8E220090 */ lw $v0, 0x90($s1) +/* A6EC74 80240894 1840000C */ blez $v0, .L802408C8 +/* A6EC78 80240898 2442FFFF */ addiu $v0, $v0, -1 +/* A6EC7C 8024089C 14400087 */ bnez $v0, .L80240ABC +/* A6EC80 802408A0 AE220090 */ sw $v0, 0x90($s1) +/* A6EC84 802408A4 3C03FFAA */ lui $v1, 0xffaa +/* A6EC88 802408A8 8E420028 */ lw $v0, 0x28($s2) +/* A6EC8C 802408AC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A6EC90 802408B0 00431021 */ addu $v0, $v0, $v1 +/* A6EC94 802408B4 2C420002 */ sltiu $v0, $v0, 2 +/* A6EC98 802408B8 10400003 */ beqz $v0, .L802408C8 +/* A6EC9C 802408BC 3C020055 */ lui $v0, 0x55 +/* A6ECA0 802408C0 3442000C */ ori $v0, $v0, 0xc +/* A6ECA4 802408C4 AE420028 */ sw $v0, 0x28($s2) +.L802408C8: +/* A6ECA8 802408C8 8E630070 */ lw $v1, 0x70($s3) +/* A6ECAC 802408CC 2402000C */ addiu $v0, $zero, 0xc +/* A6ECB0 802408D0 10620048 */ beq $v1, $v0, .L802409F4 +/* A6ECB4 802408D4 2862000D */ slti $v0, $v1, 0xd +/* A6ECB8 802408D8 1040000F */ beqz $v0, .L80240918 +/* A6ECBC 802408DC 24100001 */ addiu $s0, $zero, 1 +/* A6ECC0 802408E0 1070001E */ beq $v1, $s0, .L8024095C +/* A6ECC4 802408E4 28620002 */ slti $v0, $v1, 2 +/* A6ECC8 802408E8 10400005 */ beqz $v0, .L80240900 +/* A6ECCC 802408EC 24020002 */ addiu $v0, $zero, 2 +/* A6ECD0 802408F0 10600015 */ beqz $v1, .L80240948 +/* A6ECD4 802408F4 0260202D */ daddu $a0, $s3, $zero +/* A6ECD8 802408F8 08090294 */ j .L80240A50 +/* A6ECDC 802408FC 00000000 */ nop +.L80240900: +/* A6ECE0 80240900 1062001C */ beq $v1, $v0, .L80240974 +/* A6ECE4 80240904 24020003 */ addiu $v0, $zero, 3 +/* A6ECE8 80240908 10620035 */ beq $v1, $v0, .L802409E0 +/* A6ECEC 8024090C 0260202D */ daddu $a0, $s3, $zero +/* A6ECF0 80240910 08090294 */ j .L80240A50 +/* A6ECF4 80240914 00000000 */ nop +.L80240918: +/* A6ECF8 80240918 2402000E */ addiu $v0, $zero, 0xe +/* A6ECFC 8024091C 1062003F */ beq $v1, $v0, .L80240A1C +/* A6ED00 80240920 0062102A */ slt $v0, $v1, $v0 +/* A6ED04 80240924 14400038 */ bnez $v0, .L80240A08 +/* A6ED08 80240928 0260202D */ daddu $a0, $s3, $zero +/* A6ED0C 8024092C 2402000F */ addiu $v0, $zero, 0xf +/* A6ED10 80240930 10620040 */ beq $v1, $v0, .L80240A34 +/* A6ED14 80240934 24020063 */ addiu $v0, $zero, 0x63 +/* A6ED18 80240938 10620043 */ beq $v1, $v0, .L80240A48 +/* A6ED1C 8024093C 00000000 */ nop +/* A6ED20 80240940 08090294 */ j .L80240A50 +/* A6ED24 80240944 00000000 */ nop +.L80240948: +/* A6ED28 80240948 0280282D */ daddu $a1, $s4, $zero +/* A6ED2C 8024094C 0C012568 */ jal func_800495A0 +/* A6ED30 80240950 02A0302D */ daddu $a2, $s5, $zero +/* A6ED34 80240954 96220086 */ lhu $v0, 0x86($s1) +/* A6ED38 80240958 A64200A8 */ sh $v0, 0xa8($s2) +.L8024095C: +/* A6ED3C 8024095C 0260202D */ daddu $a0, $s3, $zero +/* A6ED40 80240960 0280282D */ daddu $a1, $s4, $zero +/* A6ED44 80240964 0C0125AE */ jal func_800496B8 +/* A6ED48 80240968 02A0302D */ daddu $a2, $s5, $zero +/* A6ED4C 8024096C 08090294 */ j .L80240A50 +/* A6ED50 80240970 00000000 */ nop +.L80240974: +/* A6ED54 80240974 0260202D */ daddu $a0, $s3, $zero +/* A6ED58 80240978 0280282D */ daddu $a1, $s4, $zero +/* A6ED5C 8024097C 0C0126D1 */ jal func_80049B44 +/* A6ED60 80240980 02A0302D */ daddu $a2, $s5, $zero +/* A6ED64 80240984 8E230088 */ lw $v1, 0x88($s1) +/* A6ED68 80240988 24020006 */ addiu $v0, $zero, 6 +/* A6ED6C 8024098C 14620014 */ bne $v1, $v0, .L802409E0 +/* A6ED70 80240990 0260202D */ daddu $a0, $s3, $zero +/* A6ED74 80240994 0C00A67F */ jal rand_int +/* A6ED78 80240998 24040064 */ addiu $a0, $zero, 0x64 +/* A6ED7C 8024099C 28420021 */ slti $v0, $v0, 0x21 +/* A6ED80 802409A0 5040000F */ beql $v0, $zero, .L802409E0 +/* A6ED84 802409A4 0260202D */ daddu $a0, $s3, $zero +/* A6ED88 802409A8 8E22008C */ lw $v0, 0x8c($s1) +/* A6ED8C 802409AC 10400005 */ beqz $v0, .L802409C4 +/* A6ED90 802409B0 3C020055 */ lui $v0, 0x55 +/* A6ED94 802409B4 3442002F */ ori $v0, $v0, 0x2f +/* A6ED98 802409B8 AE20008C */ sw $zero, 0x8c($s1) +/* A6ED9C 802409BC 08090274 */ j .L802409D0 +/* A6EDA0 802409C0 A22000B5 */ sb $zero, 0xb5($s1) +.L802409C4: +/* A6EDA4 802409C4 3442002E */ ori $v0, $v0, 0x2e +/* A6EDA8 802409C8 AE30008C */ sw $s0, 0x8c($s1) +/* A6EDAC 802409CC A23000B5 */ sb $s0, 0xb5($s1) +.L802409D0: +/* A6EDB0 802409D0 AE420028 */ sw $v0, 0x28($s2) +/* A6EDB4 802409D4 24020007 */ addiu $v0, $zero, 7 +/* A6EDB8 802409D8 080902AF */ j .L80240ABC +/* A6EDBC 802409DC AE220090 */ sw $v0, 0x90($s1) +.L802409E0: +/* A6EDC0 802409E0 0280282D */ daddu $a1, $s4, $zero +/* A6EDC4 802409E4 0C012701 */ jal func_80049C04 +/* A6EDC8 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* A6EDCC 802409EC 08090294 */ j .L80240A50 +/* A6EDD0 802409F0 00000000 */ nop +.L802409F4: +/* A6EDD4 802409F4 0260202D */ daddu $a0, $s3, $zero +/* A6EDD8 802409F8 0280282D */ daddu $a1, $s4, $zero +/* A6EDDC 802409FC 0C0900C4 */ jal func_80240310 +/* A6EDE0 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* A6EDE4 80240A04 0260202D */ daddu $a0, $s3, $zero +.L80240A08: +/* A6EDE8 80240A08 0280282D */ daddu $a1, $s4, $zero +/* A6EDEC 80240A0C 0C0900E3 */ jal func_8024038C +/* A6EDF0 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* A6EDF4 80240A14 08090294 */ j .L80240A50 +/* A6EDF8 80240A18 00000000 */ nop +.L80240A1C: +/* A6EDFC 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* A6EE00 80240A20 0280282D */ daddu $a1, $s4, $zero +/* A6EE04 80240A24 0C090130 */ jal func_802404C0 +/* A6EE08 80240A28 02A0302D */ daddu $a2, $s5, $zero +/* A6EE0C 80240A2C 08090294 */ j .L80240A50 +/* A6EE10 80240A30 00000000 */ nop +.L80240A34: +/* A6EE14 80240A34 0280282D */ daddu $a1, $s4, $zero +/* A6EE18 80240A38 0C090189 */ jal func_80240624 +/* A6EE1C 80240A3C 02A0302D */ daddu $a2, $s5, $zero +/* A6EE20 80240A40 08090294 */ j .L80240A50 +/* A6EE24 80240A44 00000000 */ nop +.L80240A48: +/* A6EE28 80240A48 0C0129CF */ jal func_8004A73C +/* A6EE2C 80240A4C 0260202D */ daddu $a0, $s3, $zero +.L80240A50: +/* A6EE30 80240A50 8E230088 */ lw $v1, 0x88($s1) +/* A6EE34 80240A54 24020006 */ addiu $v0, $zero, 6 +/* A6EE38 80240A58 14620019 */ bne $v1, $v0, .L80240AC0 +/* A6EE3C 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* A6EE40 80240A60 8E22008C */ lw $v0, 0x8c($s1) +/* A6EE44 80240A64 10400003 */ beqz $v0, .L80240A74 +/* A6EE48 80240A68 24020001 */ addiu $v0, $zero, 1 +/* A6EE4C 80240A6C 0809029E */ j .L80240A78 +/* A6EE50 80240A70 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A74: +/* A6EE54 80240A74 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A78: +/* A6EE58 80240A78 8E22008C */ lw $v0, 0x8c($s1) +/* A6EE5C 80240A7C 1040000F */ beqz $v0, .L80240ABC +/* A6EE60 80240A80 3C03FFAA */ lui $v1, 0xffaa +/* A6EE64 80240A84 8E420028 */ lw $v0, 0x28($s2) +/* A6EE68 80240A88 3463FFFC */ ori $v1, $v1, 0xfffc +/* A6EE6C 80240A8C 00431821 */ addu $v1, $v0, $v1 +/* A6EE70 80240A90 2C620015 */ sltiu $v0, $v1, 0x15 +/* A6EE74 80240A94 10400009 */ beqz $v0, .L80240ABC +/* A6EE78 80240A98 00031080 */ sll $v0, $v1, 2 +/* A6EE7C 80240A9C 3C018024 */ lui $at, 0x8024 +/* A6EE80 80240AA0 00220821 */ addu $at, $at, $v0 +/* A6EE84 80240AA4 8C223CD8 */ lw $v0, 0x3cd8($at) +/* A6EE88 80240AA8 00400008 */ jr $v0 +/* A6EE8C 80240AAC 00000000 */ nop +/* A6EE90 80240AB0 8E420028 */ lw $v0, 0x28($s2) +/* A6EE94 80240AB4 24420001 */ addiu $v0, $v0, 1 +/* A6EE98 80240AB8 AE420028 */ sw $v0, 0x28($s2) +.L80240ABC: +/* A6EE9C 80240ABC 0000102D */ daddu $v0, $zero, $zero +.L80240AC0: +/* A6EEA0 80240AC0 8FBF0068 */ lw $ra, 0x68($sp) +/* A6EEA4 80240AC4 8FB50064 */ lw $s5, 0x64($sp) +/* A6EEA8 80240AC8 8FB40060 */ lw $s4, 0x60($sp) +/* A6EEAC 80240ACC 8FB3005C */ lw $s3, 0x5c($sp) +/* A6EEB0 80240AD0 8FB20058 */ lw $s2, 0x58($sp) +/* A6EEB4 80240AD4 8FB10054 */ lw $s1, 0x54($sp) +/* A6EEB8 80240AD8 8FB00050 */ lw $s0, 0x50($sp) +/* A6EEBC 80240ADC 03E00008 */ jr $ra +/* A6EEC0 80240AE0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240AE4_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240AE4_A6E3E0.s new file mode 100644 index 0000000000..43a152002c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240AE4_A6E3E0.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE4_A6EEC4 +/* A6EEC4 80240AE4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A6EEC8 80240AE8 AFB00018 */ sw $s0, 0x18($sp) +/* A6EECC 80240AEC AFBF0024 */ sw $ra, 0x24($sp) +/* A6EED0 80240AF0 AFB20020 */ sw $s2, 0x20($sp) +/* A6EED4 80240AF4 AFB1001C */ sw $s1, 0x1c($sp) +/* A6EED8 80240AF8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A6EEDC 80240AFC F7B40028 */ sdc1 $f20, 0x28($sp) +/* A6EEE0 80240B00 8C920148 */ lw $s2, 0x148($a0) +/* A6EEE4 80240B04 4485A000 */ mtc1 $a1, $f20 +/* A6EEE8 80240B08 86440008 */ lh $a0, 8($s2) +/* A6EEEC 80240B0C 4486B000 */ mtc1 $a2, $f22 +/* A6EEF0 80240B10 0C00EABB */ jal get_npc_unsafe +/* A6EEF4 80240B14 00E0802D */ daddu $s0, $a3, $zero +/* A6EEF8 80240B18 0200202D */ daddu $a0, $s0, $zero +/* A6EEFC 80240B1C 0040882D */ daddu $s1, $v0, $zero +/* A6EF00 80240B20 4406A000 */ mfc1 $a2, $f20 +/* A6EF04 80240B24 4407B000 */ mfc1 $a3, $f22 +/* A6EF08 80240B28 3C03800A */ lui $v1, 0x800a +/* A6EF0C 80240B2C 8463A634 */ lh $v1, -0x59cc($v1) +/* A6EF10 80240B30 3C05800B */ lui $a1, %hi(gCameras) +/* A6EF14 80240B34 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* A6EF18 80240B38 AFA00010 */ sw $zero, 0x10($sp) +/* A6EF1C 80240B3C 00031080 */ sll $v0, $v1, 2 +/* A6EF20 80240B40 00431021 */ addu $v0, $v0, $v1 +/* A6EF24 80240B44 00021080 */ sll $v0, $v0, 2 +/* A6EF28 80240B48 00431023 */ subu $v0, $v0, $v1 +/* A6EF2C 80240B4C 000218C0 */ sll $v1, $v0, 3 +/* A6EF30 80240B50 00431021 */ addu $v0, $v0, $v1 +/* A6EF34 80240B54 000210C0 */ sll $v0, $v0, 3 +/* A6EF38 80240B58 00458021 */ addu $s0, $v0, $a1 +/* A6EF3C 80240B5C 0C01242D */ jal func_800490B4 +/* A6EF40 80240B60 0240282D */ daddu $a1, $s2, $zero +/* A6EF44 80240B64 1040004B */ beqz $v0, .L80240C94 +/* A6EF48 80240B68 2402FFFF */ addiu $v0, $zero, -1 +/* A6EF4C 80240B6C C60C006C */ lwc1 $f12, 0x6c($s0) +/* A6EF50 80240B70 C62E000C */ lwc1 $f14, 0xc($s1) +/* A6EF54 80240B74 3C014387 */ lui $at, 0x4387 +/* A6EF58 80240B78 4481A000 */ mtc1 $at, $f20 +/* A6EF5C 80240B7C 0C00A70A */ jal get_clamped_angle_diff +/* A6EF60 80240B80 00000000 */ nop +/* A6EF64 80240B84 0C00A6C9 */ jal clamp_angle +/* A6EF68 80240B88 46000306 */ mov.s $f12, $f0 +/* A6EF6C 80240B8C 3C018024 */ lui $at, 0x8024 +/* A6EF70 80240B90 D4223D30 */ ldc1 $f2, 0x3d30($at) +/* A6EF74 80240B94 46000021 */ cvt.d.s $f0, $f0 +/* A6EF78 80240B98 4622003C */ c.lt.d $f0, $f2 +/* A6EF7C 80240B9C 00000000 */ nop +/* A6EF80 80240BA0 45000003 */ bc1f .L80240BB0 +/* A6EF84 80240BA4 00000000 */ nop +/* A6EF88 80240BA8 3C0142B4 */ lui $at, 0x42b4 +/* A6EF8C 80240BAC 4481A000 */ mtc1 $at, $f20 +.L80240BB0: +/* A6EF90 80240BB0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* A6EF94 80240BB4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* A6EF98 80240BB8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* A6EF9C 80240BBC 8E020000 */ lw $v0, ($s0) +/* A6EFA0 80240BC0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A6EFA4 80240BC4 8C460028 */ lw $a2, 0x28($v0) +/* A6EFA8 80240BC8 0C00A720 */ jal atan2 +/* A6EFAC 80240BCC 8C470030 */ lw $a3, 0x30($v0) +/* A6EFB0 80240BD0 4600A306 */ mov.s $f12, $f20 +/* A6EFB4 80240BD4 0C00A70A */ jal get_clamped_angle_diff +/* A6EFB8 80240BD8 46000386 */ mov.s $f14, $f0 +/* A6EFBC 80240BDC 46000005 */ abs.s $f0, $f0 +/* A6EFC0 80240BE0 3C018024 */ lui $at, 0x8024 +/* A6EFC4 80240BE4 D4223D38 */ ldc1 $f2, 0x3d38($at) +/* A6EFC8 80240BE8 46000021 */ cvt.d.s $f0, $f0 +/* A6EFCC 80240BEC 4620103C */ c.lt.d $f2, $f0 +/* A6EFD0 80240BF0 00000000 */ nop +/* A6EFD4 80240BF4 45010027 */ bc1t .L80240C94 +/* A6EFD8 80240BF8 2402FFFF */ addiu $v0, $zero, -1 +/* A6EFDC 80240BFC 8E020000 */ lw $v0, ($s0) +/* A6EFE0 80240C00 C6200038 */ lwc1 $f0, 0x38($s1) +/* A6EFE4 80240C04 C4420028 */ lwc1 $f2, 0x28($v0) +/* A6EFE8 80240C08 44806000 */ mtc1 $zero, $f12 +/* A6EFEC 80240C0C 46020001 */ sub.s $f0, $f0, $f2 +/* A6EFF0 80240C10 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A6EFF4 80240C14 8C47002C */ lw $a3, 0x2c($v0) +/* A6EFF8 80240C18 46000005 */ abs.s $f0, $f0 +/* A6EFFC 80240C1C 44060000 */ mfc1 $a2, $f0 +/* A6F000 80240C20 0C00A720 */ jal atan2 +/* A6F004 80240C24 00000000 */ nop +/* A6F008 80240C28 3C018024 */ lui $at, 0x8024 +/* A6F00C 80240C2C D4223D40 */ ldc1 $f2, 0x3d40($at) +/* A6F010 80240C30 46000021 */ cvt.d.s $f0, $f0 +/* A6F014 80240C34 46220001 */ sub.d $f0, $f0, $f2 +/* A6F018 80240C38 3C018024 */ lui $at, 0x8024 +/* A6F01C 80240C3C D4223D48 */ ldc1 $f2, 0x3d48($at) +/* A6F020 80240C40 46200020 */ cvt.s.d $f0, $f0 +/* A6F024 80240C44 46000005 */ abs.s $f0, $f0 +/* A6F028 80240C48 46000021 */ cvt.d.s $f0, $f0 +/* A6F02C 80240C4C 4620103C */ c.lt.d $f2, $f0 +/* A6F030 80240C50 00000000 */ nop +/* A6F034 80240C54 4501000F */ bc1t .L80240C94 +/* A6F038 80240C58 2402FFFF */ addiu $v0, $zero, -1 +/* A6F03C 80240C5C 3C038011 */ lui $v1, 0x8011 +/* A6F040 80240C60 8063EBB3 */ lb $v1, -0x144d($v1) +/* A6F044 80240C64 24020009 */ addiu $v0, $zero, 9 +/* A6F048 80240C68 10620009 */ beq $v1, $v0, .L80240C90 +/* A6F04C 80240C6C 24020007 */ addiu $v0, $zero, 7 +/* A6F050 80240C70 50620008 */ beql $v1, $v0, .L80240C94 +/* A6F054 80240C74 2402FFFF */ addiu $v0, $zero, -1 +/* A6F058 80240C78 86440008 */ lh $a0, 8($s2) +/* A6F05C 80240C7C 0C00FB3A */ jal get_enemy +/* A6F060 80240C80 24840001 */ addiu $a0, $a0, 1 +/* A6F064 80240C84 8C43006C */ lw $v1, 0x6c($v0) +/* A6F068 80240C88 10600002 */ beqz $v1, .L80240C94 +/* A6F06C 80240C8C 24020001 */ addiu $v0, $zero, 1 +.L80240C90: +/* A6F070 80240C90 2402FFFF */ addiu $v0, $zero, -1 +.L80240C94: +/* A6F074 80240C94 8FBF0024 */ lw $ra, 0x24($sp) +/* A6F078 80240C98 8FB20020 */ lw $s2, 0x20($sp) +/* A6F07C 80240C9C 8FB1001C */ lw $s1, 0x1c($sp) +/* A6F080 80240CA0 8FB00018 */ lw $s0, 0x18($sp) +/* A6F084 80240CA4 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A6F088 80240CA8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A6F08C 80240CAC 03E00008 */ jr $ra +/* A6F090 80240CB0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80240CB4_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240CB4_A6E3E0.s new file mode 100644 index 0000000000..1282e34bcb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80240CB4_A6E3E0.s @@ -0,0 +1,336 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB4_A6F094 +/* A6F094 80240CB4 27BDFC78 */ addiu $sp, $sp, -0x388 +/* A6F098 80240CB8 AFB60378 */ sw $s6, 0x378($sp) +/* A6F09C 80240CBC 0080B02D */ daddu $s6, $a0, $zero +/* A6F0A0 80240CC0 AFBF037C */ sw $ra, 0x37c($sp) +/* A6F0A4 80240CC4 AFB50374 */ sw $s5, 0x374($sp) +/* A6F0A8 80240CC8 AFB40370 */ sw $s4, 0x370($sp) +/* A6F0AC 80240CCC AFB3036C */ sw $s3, 0x36c($sp) +/* A6F0B0 80240CD0 AFB20368 */ sw $s2, 0x368($sp) +/* A6F0B4 80240CD4 AFB10364 */ sw $s1, 0x364($sp) +/* A6F0B8 80240CD8 AFB00360 */ sw $s0, 0x360($sp) +/* A6F0BC 80240CDC F7B40380 */ sdc1 $f20, 0x380($sp) +/* A6F0C0 80240CE0 8ED20148 */ lw $s2, 0x148($s6) +/* A6F0C4 80240CE4 86440008 */ lh $a0, 8($s2) +/* A6F0C8 80240CE8 0C00EABB */ jal get_npc_unsafe +/* A6F0CC 80240CEC 00A0802D */ daddu $s0, $a1, $zero +/* A6F0D0 80240CF0 86440008 */ lh $a0, 8($s2) +/* A6F0D4 80240CF4 0040882D */ daddu $s1, $v0, $zero +/* A6F0D8 80240CF8 0C00FB3A */ jal get_enemy +/* A6F0DC 80240CFC 2484FFFF */ addiu $a0, $a0, -1 +/* A6F0E0 80240D00 84440008 */ lh $a0, 8($v0) +/* A6F0E4 80240D04 0C00EABB */ jal get_npc_unsafe +/* A6F0E8 80240D08 0000A82D */ daddu $s5, $zero, $zero +/* A6F0EC 80240D0C 27B30020 */ addiu $s3, $sp, 0x20 +/* A6F0F0 80240D10 16000005 */ bnez $s0, .L80240D28 +/* A6F0F4 80240D14 0040A02D */ daddu $s4, $v0, $zero +/* A6F0F8 80240D18 8E4200B0 */ lw $v0, 0xb0($s2) +/* A6F0FC 80240D1C 30420004 */ andi $v0, $v0, 4 +/* A6F100 80240D20 10400018 */ beqz $v0, .L80240D84 +/* A6F104 80240D24 00000000 */ nop +.L80240D28: +/* A6F108 80240D28 3C030024 */ lui $v1, 0x24 +/* A6F10C 80240D2C 34630102 */ ori $v1, $v1, 0x102 +/* A6F110 80240D30 3C041620 */ lui $a0, 0x1620 +/* A6F114 80240D34 AEC00070 */ sw $zero, 0x70($s6) +/* A6F118 80240D38 8E220000 */ lw $v0, ($s1) +/* A6F11C 80240D3C 34840040 */ ori $a0, $a0, 0x40 +/* A6F120 80240D40 A620008E */ sh $zero, 0x8e($s1) +/* A6F124 80240D44 00431025 */ or $v0, $v0, $v1 +/* A6F128 80240D48 AE220000 */ sw $v0, ($s1) +/* A6F12C 80240D4C 8E420000 */ lw $v0, ($s2) +/* A6F130 80240D50 3C013ECC */ lui $at, 0x3ecc +/* A6F134 80240D54 3421CCCD */ ori $at, $at, 0xcccd +/* A6F138 80240D58 44810000 */ mtc1 $at, $f0 +/* A6F13C 80240D5C 00441025 */ or $v0, $v0, $a0 +/* A6F140 80240D60 AE420000 */ sw $v0, ($s2) +/* A6F144 80240D64 E6200054 */ swc1 $f0, 0x54($s1) +/* A6F148 80240D68 E6200058 */ swc1 $f0, 0x58($s1) +/* A6F14C 80240D6C 8E4300B0 */ lw $v1, 0xb0($s2) +/* A6F150 80240D70 30620004 */ andi $v0, $v1, 4 +/* A6F154 80240D74 10400003 */ beqz $v0, .L80240D84 +/* A6F158 80240D78 2402FFFB */ addiu $v0, $zero, -5 +/* A6F15C 80240D7C 00621024 */ and $v0, $v1, $v0 +/* A6F160 80240D80 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D84: +/* A6F164 80240D84 8EC30070 */ lw $v1, 0x70($s6) +/* A6F168 80240D88 2C620005 */ sltiu $v0, $v1, 5 +/* A6F16C 80240D8C 10400101 */ beqz $v0, .L80241194 +/* A6F170 80240D90 00031080 */ sll $v0, $v1, 2 +/* A6F174 80240D94 3C018024 */ lui $at, 0x8024 +/* A6F178 80240D98 00220821 */ addu $at, $at, $v0 +/* A6F17C 80240D9C 8C223D50 */ lw $v0, 0x3d50($at) +/* A6F180 80240DA0 00400008 */ jr $v0 +/* A6F184 80240DA4 00000000 */ nop +/* A6F188 80240DA8 3C01C47A */ lui $at, 0xc47a +/* A6F18C 80240DAC 44810000 */ mtc1 $at, $f0 +/* A6F190 80240DB0 24020014 */ addiu $v0, $zero, 0x14 +/* A6F194 80240DB4 AE400078 */ sw $zero, 0x78($s2) +/* A6F198 80240DB8 A62200A6 */ sh $v0, 0xa6($s1) +/* A6F19C 80240DBC A62200A8 */ sh $v0, 0xa8($s1) +/* A6F1A0 80240DC0 24020001 */ addiu $v0, $zero, 1 +/* A6F1A4 80240DC4 AE200038 */ sw $zero, 0x38($s1) +/* A6F1A8 80240DC8 AE200040 */ sw $zero, 0x40($s1) +/* A6F1AC 80240DCC E620003C */ swc1 $f0, 0x3c($s1) +/* A6F1B0 80240DD0 AE40006C */ sw $zero, 0x6c($s2) +/* A6F1B4 80240DD4 AEC20070 */ sw $v0, 0x70($s6) +/* A6F1B8 80240DD8 8E50006C */ lw $s0, 0x6c($s2) +/* A6F1BC 80240DDC 24020001 */ addiu $v0, $zero, 1 +/* A6F1C0 80240DE0 160200EC */ bne $s0, $v0, .L80241194 +/* A6F1C4 80240DE4 24150002 */ addiu $s5, $zero, 2 +/* A6F1C8 80240DE8 AE55006C */ sw $s5, 0x6c($s2) +/* A6F1CC 80240DEC C6800038 */ lwc1 $f0, 0x38($s4) +/* A6F1D0 80240DF0 E6600038 */ swc1 $f0, 0x38($s3) +/* A6F1D4 80240DF4 C680003C */ lwc1 $f0, 0x3c($s4) +/* A6F1D8 80240DF8 E660003C */ swc1 $f0, 0x3c($s3) +/* A6F1DC 80240DFC C6800040 */ lwc1 $f0, 0x40($s4) +/* A6F1E0 80240E00 E6600040 */ swc1 $f0, 0x40($s3) +/* A6F1E4 80240E04 C6820034 */ lwc1 $f2, 0x34($s4) +/* A6F1E8 80240E08 3C014387 */ lui $at, 0x4387 +/* A6F1EC 80240E0C 44810000 */ mtc1 $at, $f0 +/* A6F1F0 80240E10 00000000 */ nop +/* A6F1F4 80240E14 46020001 */ sub.s $f0, $f0, $f2 +/* A6F1F8 80240E18 C6480074 */ lwc1 $f8, 0x74($s2) +/* A6F1FC 80240E1C 46804220 */ cvt.s.w $f8, $f8 +/* A6F200 80240E20 44054000 */ mfc1 $a1, $f8 +/* A6F204 80240E24 44060000 */ mfc1 $a2, $f0 +/* A6F208 80240E28 0C00EA95 */ jal npc_move_heading +/* A6F20C 80240E2C 0260202D */ daddu $a0, $s3, $zero +/* A6F210 80240E30 C6600038 */ lwc1 $f0, 0x38($s3) +/* A6F214 80240E34 E6200038 */ swc1 $f0, 0x38($s1) +/* A6F218 80240E38 C680003C */ lwc1 $f0, 0x3c($s4) +/* A6F21C 80240E3C C6420070 */ lwc1 $f2, 0x70($s2) +/* A6F220 80240E40 468010A0 */ cvt.s.w $f2, $f2 +/* A6F224 80240E44 46020000 */ add.s $f0, $f0, $f2 +/* A6F228 80240E48 3C014024 */ lui $at, 0x4024 +/* A6F22C 80240E4C 4481A800 */ mtc1 $at, $f21 +/* A6F230 80240E50 4480A000 */ mtc1 $zero, $f20 +/* A6F234 80240E54 E620003C */ swc1 $f0, 0x3c($s1) +/* A6F238 80240E58 C6600040 */ lwc1 $f0, 0x40($s3) +/* A6F23C 80240E5C E6200040 */ swc1 $f0, 0x40($s1) +/* A6F240 80240E60 A2500007 */ sb $s0, 7($s2) +/* A6F244 80240E64 C6200038 */ lwc1 $f0, 0x38($s1) +/* A6F248 80240E68 3C014066 */ lui $at, 0x4066 +/* A6F24C 80240E6C 34216666 */ ori $at, $at, 0x6666 +/* A6F250 80240E70 44811000 */ mtc1 $at, $f2 +/* A6F254 80240E74 4600020D */ trunc.w.s $f8, $f0 +/* A6F258 80240E78 44024000 */ mfc1 $v0, $f8 +/* A6F25C 80240E7C 00000000 */ nop +/* A6F260 80240E80 A6420010 */ sh $v0, 0x10($s2) +/* A6F264 80240E84 C620003C */ lwc1 $f0, 0x3c($s1) +/* A6F268 80240E88 3C13800F */ lui $s3, %hi(gPlayerStatusPtr) +/* A6F26C 80240E8C 26737B30 */ addiu $s3, $s3, %lo(gPlayerStatusPtr) +/* A6F270 80240E90 4600020D */ trunc.w.s $f8, $f0 +/* A6F274 80240E94 44024000 */ mfc1 $v0, $f8 +/* A6F278 80240E98 00000000 */ nop +/* A6F27C 80240E9C A6420012 */ sh $v0, 0x12($s2) +/* A6F280 80240EA0 C6200040 */ lwc1 $f0, 0x40($s1) +/* A6F284 80240EA4 8E630000 */ lw $v1, ($s3) +/* A6F288 80240EA8 4600020D */ trunc.w.s $f8, $f0 +/* A6F28C 80240EAC 44024000 */ mfc1 $v0, $f8 +/* A6F290 80240EB0 00000000 */ nop +/* A6F294 80240EB4 A6420014 */ sh $v0, 0x14($s2) +/* A6F298 80240EB8 E6220018 */ swc1 $f2, 0x18($s1) +/* A6F29C 80240EBC C460002C */ lwc1 $f0, 0x2c($v1) +/* A6F2A0 80240EC0 C6220038 */ lwc1 $f2, 0x38($s1) +/* A6F2A4 80240EC4 46000021 */ cvt.d.s $f0, $f0 +/* A6F2A8 80240EC8 46340000 */ add.d $f0, $f0, $f20 +/* A6F2AC 80240ECC C4640028 */ lwc1 $f4, 0x28($v1) +/* A6F2B0 80240ED0 44806000 */ mtc1 $zero, $f12 +/* A6F2B4 80240ED4 46041081 */ sub.s $f2, $f2, $f4 +/* A6F2B8 80240ED8 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A6F2BC 80240EDC 46200020 */ cvt.s.d $f0, $f0 +/* A6F2C0 80240EE0 46001085 */ abs.s $f2, $f2 +/* A6F2C4 80240EE4 44070000 */ mfc1 $a3, $f0 +/* A6F2C8 80240EE8 44061000 */ mfc1 $a2, $f2 +/* A6F2CC 80240EEC 0C00A720 */ jal atan2 +/* A6F2D0 80240EF0 00000000 */ nop +/* A6F2D4 80240EF4 3C018024 */ lui $at, 0x8024 +/* A6F2D8 80240EF8 D4223D68 */ ldc1 $f2, 0x3d68($at) +/* A6F2DC 80240EFC 46000021 */ cvt.d.s $f0, $f0 +/* A6F2E0 80240F00 46220001 */ sub.d $f0, $f0, $f2 +/* A6F2E4 80240F04 46200020 */ cvt.s.d $f0, $f0 +/* A6F2E8 80240F08 4600020D */ trunc.w.s $f8, $f0 +/* A6F2EC 80240F0C 44044000 */ mfc1 $a0, $f8 +/* A6F2F0 80240F10 00000000 */ nop +/* A6F2F4 80240F14 00042400 */ sll $a0, $a0, 0x10 +/* A6F2F8 80240F18 0C00A4F5 */ jal cosine +/* A6F2FC 80240F1C 00042403 */ sra $a0, $a0, 0x10 +/* A6F300 80240F20 C6220018 */ lwc1 $f2, 0x18($s1) +/* A6F304 80240F24 46020002 */ mul.s $f0, $f0, $f2 +/* A6F308 80240F28 00000000 */ nop +/* A6F30C 80240F2C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A6F310 80240F30 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A6F314 80240F34 8E620000 */ lw $v0, ($s3) +/* A6F318 80240F38 E620001C */ swc1 $f0, 0x1c($s1) +/* A6F31C 80240F3C 8C460028 */ lw $a2, 0x28($v0) +/* A6F320 80240F40 0C00A720 */ jal atan2 +/* A6F324 80240F44 8C470030 */ lw $a3, 0x30($v0) +/* A6F328 80240F48 8E620000 */ lw $v0, ($s3) +/* A6F32C 80240F4C E620000C */ swc1 $f0, 0xc($s1) +/* A6F330 80240F50 C440002C */ lwc1 $f0, 0x2c($v0) +/* A6F334 80240F54 46000021 */ cvt.d.s $f0, $f0 +/* A6F338 80240F58 46340000 */ add.d $f0, $f0, $f20 +/* A6F33C 80240F5C 46200020 */ cvt.s.d $f0, $f0 +/* A6F340 80240F60 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6F344 80240F64 C4400030 */ lwc1 $f0, 0x30($v0) +/* A6F348 80240F68 E7A00014 */ swc1 $f0, 0x14($sp) +/* A6F34C 80240F6C C62C0038 */ lwc1 $f12, 0x38($s1) +/* A6F350 80240F70 C62E003C */ lwc1 $f14, 0x3c($s1) +/* A6F354 80240F74 8E260040 */ lw $a2, 0x40($s1) +/* A6F358 80240F78 0C00A7CB */ jal dist3D +/* A6F35C 80240F7C 8C470028 */ lw $a3, 0x28($v0) +/* A6F360 80240F80 C6220018 */ lwc1 $f2, 0x18($s1) +/* A6F364 80240F84 46020003 */ div.s $f0, $f0, $f2 +/* A6F368 80240F88 4600020D */ trunc.w.s $f8, $f0 +/* A6F36C 80240F8C 44104000 */ mfc1 $s0, $f8 +/* A6F370 80240F90 00000000 */ nop +/* A6F374 80240F94 5A000001 */ blezl $s0, .L80240F9C +/* A6F378 80240F98 24100001 */ addiu $s0, $zero, 1 +.L80240F9C: +/* A6F37C 80240F9C 8E620000 */ lw $v0, ($s3) +/* A6F380 80240FA0 C624003C */ lwc1 $f4, 0x3c($s1) +/* A6F384 80240FA4 3C014120 */ lui $at, 0x4120 +/* A6F388 80240FA8 44811000 */ mtc1 $at, $f2 +/* A6F38C 80240FAC C4400028 */ lwc1 $f0, 0x28($v0) +/* A6F390 80240FB0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6F394 80240FB4 C440002C */ lwc1 $f0, 0x2c($v0) +/* A6F398 80240FB8 46020000 */ add.s $f0, $f0, $f2 +/* A6F39C 80240FBC 3C014160 */ lui $at, 0x4160 +/* A6F3A0 80240FC0 44811000 */ mtc1 $at, $f2 +/* A6F3A4 80240FC4 00000000 */ nop +/* A6F3A8 80240FC8 46022100 */ add.s $f4, $f4, $f2 +/* A6F3AC 80240FCC 46020000 */ add.s $f0, $f0, $f2 +/* A6F3B0 80240FD0 44062000 */ mfc1 $a2, $f4 +/* A6F3B4 80240FD4 E7A00014 */ swc1 $f0, 0x14($sp) +/* A6F3B8 80240FD8 C4400030 */ lwc1 $f0, 0x30($v0) +/* A6F3BC 80240FDC AFB0001C */ sw $s0, 0x1c($sp) +/* A6F3C0 80240FE0 E7A00018 */ swc1 $f0, 0x18($sp) +/* A6F3C4 80240FE4 8E250038 */ lw $a1, 0x38($s1) +/* A6F3C8 80240FE8 8E270040 */ lw $a3, 0x40($s1) +/* A6F3CC 80240FEC 0C01BFD4 */ jal func_8006FF50 +/* A6F3D0 80240FF0 0000202D */ daddu $a0, $zero, $zero +/* A6F3D4 80240FF4 AE420078 */ sw $v0, 0x78($s2) +/* A6F3D8 80240FF8 A630008E */ sh $s0, 0x8e($s1) +/* A6F3DC 80240FFC 08090465 */ j .L80241194 +/* A6F3E0 80241000 AED50070 */ sw $s5, 0x70($s6) +/* A6F3E4 80241004 9622008E */ lhu $v0, 0x8e($s1) +/* A6F3E8 80241008 2442FFFF */ addiu $v0, $v0, -1 +/* A6F3EC 8024100C A622008E */ sh $v0, 0x8e($s1) +/* A6F3F0 80241010 00021400 */ sll $v0, $v0, 0x10 +/* A6F3F4 80241014 58400001 */ blezl $v0, .L8024101C +/* A6F3F8 80241018 24150014 */ addiu $s5, $zero, 0x14 +.L8024101C: +/* A6F3FC 8024101C 16A0000A */ bnez $s5, .L80241048 +/* A6F400 80241020 00000000 */ nop +/* A6F404 80241024 8E250018 */ lw $a1, 0x18($s1) +/* A6F408 80241028 8E26000C */ lw $a2, 0xc($s1) +/* A6F40C 8024102C 0C00EA95 */ jal npc_move_heading +/* A6F410 80241030 0220202D */ daddu $a0, $s1, $zero +/* A6F414 80241034 C620003C */ lwc1 $f0, 0x3c($s1) +/* A6F418 80241038 C622001C */ lwc1 $f2, 0x1c($s1) +/* A6F41C 8024103C 46020000 */ add.s $f0, $f0, $f2 +/* A6F420 80241040 08090465 */ j .L80241194 +/* A6F424 80241044 E620003C */ swc1 $f0, 0x3c($s1) +.L80241048: +/* A6F428 80241048 862200A8 */ lh $v0, 0xa8($s1) +/* A6F42C 8024104C 3C013FE0 */ lui $at, 0x3fe0 +/* A6F430 80241050 44810800 */ mtc1 $at, $f1 +/* A6F434 80241054 44800000 */ mtc1 $zero, $f0 +/* A6F438 80241058 44821000 */ mtc1 $v0, $f2 +/* A6F43C 8024105C 00000000 */ nop +/* A6F440 80241060 468010A1 */ cvt.d.w $f2, $f2 +/* A6F444 80241064 46201082 */ mul.d $f2, $f2, $f0 +/* A6F448 80241068 00000000 */ nop +/* A6F44C 8024106C C620003C */ lwc1 $f0, 0x3c($s1) +/* A6F450 80241070 AE20001C */ sw $zero, 0x1c($s1) +/* A6F454 80241074 46000021 */ cvt.d.s $f0, $f0 +/* A6F458 80241078 46220001 */ sub.d $f0, $f0, $f2 +/* A6F45C 8024107C AE200018 */ sw $zero, 0x18($s1) +/* A6F460 80241080 24020003 */ addiu $v0, $zero, 3 +/* A6F464 80241084 46200020 */ cvt.s.d $f0, $f0 +/* A6F468 80241088 E620003C */ swc1 $f0, 0x3c($s1) +/* A6F46C 8024108C AE42006C */ sw $v0, 0x6c($s2) +/* A6F470 80241090 24020004 */ addiu $v0, $zero, 4 +/* A6F474 80241094 A620008E */ sh $zero, 0x8e($s1) +/* A6F478 80241098 08090465 */ j .L80241194 +/* A6F47C 8024109C AEC20070 */ sw $v0, 0x70($s6) +/* A6F480 802410A0 9622008E */ lhu $v0, 0x8e($s1) +/* A6F484 802410A4 24420001 */ addiu $v0, $v0, 1 +/* A6F488 802410A8 A622008E */ sh $v0, 0x8e($s1) +/* A6F48C 802410AC 00021400 */ sll $v0, $v0, 0x10 +/* A6F490 802410B0 00021C03 */ sra $v1, $v0, 0x10 +/* A6F494 802410B4 28620007 */ slti $v0, $v1, 7 +/* A6F498 802410B8 10400027 */ beqz $v0, .L80241158 +/* A6F49C 802410BC 24020007 */ addiu $v0, $zero, 7 +/* A6F4A0 802410C0 8622008E */ lh $v0, 0x8e($s1) +/* A6F4A4 802410C4 3C01401C */ lui $at, 0x401c +/* A6F4A8 802410C8 44810800 */ mtc1 $at, $f1 +/* A6F4AC 802410CC 44800000 */ mtc1 $zero, $f0 +/* A6F4B0 802410D0 44822000 */ mtc1 $v0, $f4 +/* A6F4B4 802410D4 00000000 */ nop +/* A6F4B8 802410D8 46802120 */ cvt.s.w $f4, $f4 +/* A6F4BC 802410DC 46002121 */ cvt.d.s $f4, $f4 +/* A6F4C0 802410E0 46202102 */ mul.d $f4, $f4, $f0 +/* A6F4C4 802410E4 00000000 */ nop +/* A6F4C8 802410E8 44821000 */ mtc1 $v0, $f2 +/* A6F4CC 802410EC 00000000 */ nop +/* A6F4D0 802410F0 468010A0 */ cvt.s.w $f2, $f2 +/* A6F4D4 802410F4 460010A1 */ cvt.d.s $f2, $f2 +/* A6F4D8 802410F8 46201082 */ mul.d $f2, $f2, $f0 +/* A6F4DC 802410FC 00000000 */ nop +/* A6F4E0 80241100 C620003C */ lwc1 $f0, 0x3c($s1) +/* A6F4E4 80241104 3C01400C */ lui $at, 0x400c +/* A6F4E8 80241108 44813800 */ mtc1 $at, $f7 +/* A6F4EC 8024110C 44803000 */ mtc1 $zero, $f6 +/* A6F4F0 80241110 46000021 */ cvt.d.s $f0, $f0 +/* A6F4F4 80241114 46260001 */ sub.d $f0, $f0, $f6 +/* A6F4F8 80241118 3C014034 */ lui $at, 0x4034 +/* A6F4FC 8024111C 44813800 */ mtc1 $at, $f7 +/* A6F500 80241120 44803000 */ mtc1 $zero, $f6 +/* A6F504 80241124 00000000 */ nop +/* A6F508 80241128 46262100 */ add.d $f4, $f4, $f6 +/* A6F50C 8024112C 46200020 */ cvt.s.d $f0, $f0 +/* A6F510 80241130 E620003C */ swc1 $f0, 0x3c($s1) +/* A6F514 80241134 46261080 */ add.d $f2, $f2, $f6 +/* A6F518 80241138 4620220D */ trunc.w.d $f8, $f4 +/* A6F51C 8024113C 44024000 */ mfc1 $v0, $f8 +/* A6F520 80241140 00000000 */ nop +/* A6F524 80241144 A62200A6 */ sh $v0, 0xa6($s1) +/* A6F528 80241148 4620120D */ trunc.w.d $f8, $f2 +/* A6F52C 8024114C 44024000 */ mfc1 $v0, $f8 +/* A6F530 80241150 08090465 */ j .L80241194 +/* A6F534 80241154 A62200A8 */ sh $v0, 0xa8($s1) +.L80241158: +/* A6F538 80241158 1462000A */ bne $v1, $v0, .L80241184 +/* A6F53C 8024115C 28620010 */ slti $v0, $v1, 0x10 +/* A6F540 80241160 3C01C47A */ lui $at, 0xc47a +/* A6F544 80241164 44810000 */ mtc1 $at, $f0 +/* A6F548 80241168 24020014 */ addiu $v0, $zero, 0x14 +/* A6F54C 8024116C AE200038 */ sw $zero, 0x38($s1) +/* A6F550 80241170 AE200040 */ sw $zero, 0x40($s1) +/* A6F554 80241174 A62200A6 */ sh $v0, 0xa6($s1) +/* A6F558 80241178 A62200A8 */ sh $v0, 0xa8($s1) +/* A6F55C 8024117C 08090465 */ j .L80241194 +/* A6F560 80241180 E620003C */ swc1 $f0, 0x3c($s1) +.L80241184: +/* A6F564 80241184 14400003 */ bnez $v0, .L80241194 +/* A6F568 80241188 00000000 */ nop +/* A6F56C 8024118C AE40006C */ sw $zero, 0x6c($s2) +/* A6F570 80241190 AEC00070 */ sw $zero, 0x70($s6) +.L80241194: +/* A6F574 80241194 8FBF037C */ lw $ra, 0x37c($sp) +/* A6F578 80241198 8FB60378 */ lw $s6, 0x378($sp) +/* A6F57C 8024119C 8FB50374 */ lw $s5, 0x374($sp) +/* A6F580 802411A0 8FB40370 */ lw $s4, 0x370($sp) +/* A6F584 802411A4 8FB3036C */ lw $s3, 0x36c($sp) +/* A6F588 802411A8 8FB20368 */ lw $s2, 0x368($sp) +/* A6F58C 802411AC 8FB10364 */ lw $s1, 0x364($sp) +/* A6F590 802411B0 8FB00360 */ lw $s0, 0x360($sp) +/* A6F594 802411B4 D7B40380 */ ldc1 $f20, 0x380($sp) +/* A6F598 802411B8 0000102D */ daddu $v0, $zero, $zero +/* A6F59C 802411BC 03E00008 */ jr $ra +/* A6F5A0 802411C0 27BD0388 */ addiu $sp, $sp, 0x388 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_802411C4_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_802411C4_A6E3E0.s new file mode 100644 index 0000000000..662cc6f4d6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_802411C4_A6E3E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411C4_A6F5A4 +/* A6F5A4 802411C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6F5A8 802411C8 AFB00010 */ sw $s0, 0x10($sp) +/* A6F5AC 802411CC 0080802D */ daddu $s0, $a0, $zero +/* A6F5B0 802411D0 AFBF0014 */ sw $ra, 0x14($sp) +/* A6F5B4 802411D4 8E020148 */ lw $v0, 0x148($s0) +/* A6F5B8 802411D8 0C00EABB */ jal get_npc_unsafe +/* A6F5BC 802411DC 84440008 */ lh $a0, 8($v0) +/* A6F5C0 802411E0 2403001E */ addiu $v1, $zero, 0x1e +/* A6F5C4 802411E4 A443008E */ sh $v1, 0x8e($v0) +/* A6F5C8 802411E8 2402000B */ addiu $v0, $zero, 0xb +/* A6F5CC 802411EC AE020070 */ sw $v0, 0x70($s0) +/* A6F5D0 802411F0 8FBF0014 */ lw $ra, 0x14($sp) +/* A6F5D4 802411F4 8FB00010 */ lw $s0, 0x10($sp) +/* A6F5D8 802411F8 03E00008 */ jr $ra +/* A6F5DC 802411FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241200_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241200_A6E3E0.s new file mode 100644 index 0000000000..b61daa5072 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241200_A6E3E0.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241200_A6F5E0 +/* A6F5E0 80241200 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A6F5E4 80241204 AFB40040 */ sw $s4, 0x40($sp) +/* A6F5E8 80241208 0080A02D */ daddu $s4, $a0, $zero +/* A6F5EC 8024120C AFBF0044 */ sw $ra, 0x44($sp) +/* A6F5F0 80241210 AFB3003C */ sw $s3, 0x3c($sp) +/* A6F5F4 80241214 AFB20038 */ sw $s2, 0x38($sp) +/* A6F5F8 80241218 AFB10034 */ sw $s1, 0x34($sp) +/* A6F5FC 8024121C AFB00030 */ sw $s0, 0x30($sp) +/* A6F600 80241220 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A6F604 80241224 8E900148 */ lw $s0, 0x148($s4) +/* A6F608 80241228 00A0882D */ daddu $s1, $a1, $zero +/* A6F60C 8024122C 86040008 */ lh $a0, 8($s0) +/* A6F610 80241230 0C00EABB */ jal get_npc_unsafe +/* A6F614 80241234 00C0902D */ daddu $s2, $a2, $zero +/* A6F618 80241238 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A6F61C 8024123C 46806320 */ cvt.s.w $f12, $f12 +/* A6F620 80241240 0040982D */ daddu $s3, $v0, $zero +/* A6F624 80241244 C6140070 */ lwc1 $f20, 0x70($s0) +/* A6F628 80241248 4680A520 */ cvt.s.w $f20, $f20 +/* A6F62C 8024124C 3C014059 */ lui $at, 0x4059 +/* A6F630 80241250 44810800 */ mtc1 $at, $f1 +/* A6F634 80241254 44800000 */ mtc1 $zero, $f0 +/* A6F638 80241258 4600A521 */ cvt.d.s $f20, $f20 +/* A6F63C 8024125C 4620A503 */ div.d $f20, $f20, $f0 +/* A6F640 80241260 0C00A8BB */ jal sin_deg +/* A6F644 80241264 4620A520 */ cvt.s.d $f20, $f20 +/* A6F648 80241268 3C014018 */ lui $at, 0x4018 +/* A6F64C 8024126C 44811800 */ mtc1 $at, $f3 +/* A6F650 80241270 44801000 */ mtc1 $zero, $f2 +/* A6F654 80241274 46000021 */ cvt.d.s $f0, $f0 +/* A6F658 80241278 46220002 */ mul.d $f0, $f0, $f2 +/* A6F65C 8024127C 00000000 */ nop +/* A6F660 80241280 4600A0A1 */ cvt.d.s $f2, $f20 +/* A6F664 80241284 46201080 */ add.d $f2, $f2, $f0 +/* A6F668 80241288 462010A0 */ cvt.s.d $f2, $f2 +/* A6F66C 8024128C E662003C */ swc1 $f2, 0x3c($s3) +/* A6F670 80241290 8E02006C */ lw $v0, 0x6c($s0) +/* A6F674 80241294 2442000A */ addiu $v0, $v0, 0xa +/* A6F678 80241298 44826000 */ mtc1 $v0, $f12 +/* A6F67C 8024129C 00000000 */ nop +/* A6F680 802412A0 0C00A6C9 */ jal clamp_angle +/* A6F684 802412A4 46806320 */ cvt.s.w $f12, $f12 +/* A6F688 802412A8 4600018D */ trunc.w.s $f6, $f0 +/* A6F68C 802412AC E606006C */ swc1 $f6, 0x6c($s0) +/* A6F690 802412B0 0280202D */ daddu $a0, $s4, $zero +/* A6F694 802412B4 8E250024 */ lw $a1, 0x24($s1) +/* A6F698 802412B8 8E260028 */ lw $a2, 0x28($s1) +/* A6F69C 802412BC 0C0902B9 */ jal func_80240AE4 +/* A6F6A0 802412C0 0240382D */ daddu $a3, $s2, $zero +/* A6F6A4 802412C4 24030001 */ addiu $v1, $zero, 1 +/* A6F6A8 802412C8 1443001E */ bne $v0, $v1, .L80241344 +/* A6F6AC 802412CC 0000202D */ daddu $a0, $zero, $zero +/* A6F6B0 802412D0 0260282D */ daddu $a1, $s3, $zero +/* A6F6B4 802412D4 0000302D */ daddu $a2, $zero, $zero +/* A6F6B8 802412D8 866300A8 */ lh $v1, 0xa8($s3) +/* A6F6BC 802412DC 3C013F80 */ lui $at, 0x3f80 +/* A6F6C0 802412E0 44810000 */ mtc1 $at, $f0 +/* A6F6C4 802412E4 3C014000 */ lui $at, 0x4000 +/* A6F6C8 802412E8 44811000 */ mtc1 $at, $f2 +/* A6F6CC 802412EC 3C01C1A0 */ lui $at, 0xc1a0 +/* A6F6D0 802412F0 44812000 */ mtc1 $at, $f4 +/* A6F6D4 802412F4 2402000F */ addiu $v0, $zero, 0xf +/* A6F6D8 802412F8 AFA2001C */ sw $v0, 0x1c($sp) +/* A6F6DC 802412FC 44833000 */ mtc1 $v1, $f6 +/* A6F6E0 80241300 00000000 */ nop +/* A6F6E4 80241304 468031A0 */ cvt.s.w $f6, $f6 +/* A6F6E8 80241308 44073000 */ mfc1 $a3, $f6 +/* A6F6EC 8024130C 27A20028 */ addiu $v0, $sp, 0x28 +/* A6F6F0 80241310 AFA20020 */ sw $v0, 0x20($sp) +/* A6F6F4 80241314 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6F6F8 80241318 E7A20014 */ swc1 $f2, 0x14($sp) +/* A6F6FC 8024131C 0C01BFA4 */ jal fx_emote +/* A6F700 80241320 E7A40018 */ swc1 $f4, 0x18($sp) +/* A6F704 80241324 0260202D */ daddu $a0, $s3, $zero +/* A6F708 80241328 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A6F70C 8024132C 0C012530 */ jal func_800494C0 +/* A6F710 80241330 3C060020 */ lui $a2, 0x20 +/* A6F714 80241334 24020032 */ addiu $v0, $zero, 0x32 +/* A6F718 80241338 A662008E */ sh $v0, 0x8e($s3) +/* A6F71C 8024133C 080904D9 */ j .L80241364 +/* A6F720 80241340 24020014 */ addiu $v0, $zero, 0x14 +.L80241344: +/* A6F724 80241344 9662008E */ lhu $v0, 0x8e($s3) +/* A6F728 80241348 2442FFFF */ addiu $v0, $v0, -1 +/* A6F72C 8024134C A662008E */ sh $v0, 0x8e($s3) +/* A6F730 80241350 00021400 */ sll $v0, $v0, 0x10 +/* A6F734 80241354 1C400004 */ bgtz $v0, .L80241368 +/* A6F738 80241358 24020005 */ addiu $v0, $zero, 5 +/* A6F73C 8024135C A662008E */ sh $v0, 0x8e($s3) +/* A6F740 80241360 2402000F */ addiu $v0, $zero, 0xf +.L80241364: +/* A6F744 80241364 AE820070 */ sw $v0, 0x70($s4) +.L80241368: +/* A6F748 80241368 8FBF0044 */ lw $ra, 0x44($sp) +/* A6F74C 8024136C 8FB40040 */ lw $s4, 0x40($sp) +/* A6F750 80241370 8FB3003C */ lw $s3, 0x3c($sp) +/* A6F754 80241374 8FB20038 */ lw $s2, 0x38($sp) +/* A6F758 80241378 8FB10034 */ lw $s1, 0x34($sp) +/* A6F75C 8024137C 8FB00030 */ lw $s0, 0x30($sp) +/* A6F760 80241380 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A6F764 80241384 03E00008 */ jr $ra +/* A6F768 80241388 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_8024138C.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024138C.s new file mode 100644 index 0000000000..97d2acacf4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024138C.s @@ -0,0 +1,269 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024138C +/* A6F76C 8024138C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A6F770 80241390 AFB60048 */ sw $s6, 0x48($sp) +/* A6F774 80241394 0080B02D */ daddu $s6, $a0, $zero +/* A6F778 80241398 AFBF004C */ sw $ra, 0x4c($sp) +/* A6F77C 8024139C AFB50044 */ sw $s5, 0x44($sp) +/* A6F780 802413A0 AFB40040 */ sw $s4, 0x40($sp) +/* A6F784 802413A4 AFB3003C */ sw $s3, 0x3c($sp) +/* A6F788 802413A8 AFB20038 */ sw $s2, 0x38($sp) +/* A6F78C 802413AC AFB10034 */ sw $s1, 0x34($sp) +/* A6F790 802413B0 AFB00030 */ sw $s0, 0x30($sp) +/* A6F794 802413B4 F7B60058 */ sdc1 $f22, 0x58($sp) +/* A6F798 802413B8 F7B40050 */ sdc1 $f20, 0x50($sp) +/* A6F79C 802413BC 8ED50148 */ lw $s5, 0x148($s6) +/* A6F7A0 802413C0 86A40008 */ lh $a0, 8($s5) +/* A6F7A4 802413C4 0C00EABB */ jal get_npc_unsafe +/* A6F7A8 802413C8 0000982D */ daddu $s3, $zero, $zero +/* A6F7AC 802413CC 0040802D */ daddu $s0, $v0, $zero +/* A6F7B0 802413D0 9602008E */ lhu $v0, 0x8e($s0) +/* A6F7B4 802413D4 2442FFFF */ addiu $v0, $v0, -1 +/* A6F7B8 802413D8 A602008E */ sh $v0, 0x8e($s0) +/* A6F7BC 802413DC 00021400 */ sll $v0, $v0, 0x10 +/* A6F7C0 802413E0 1C4000DA */ bgtz $v0, .L8024174C +/* A6F7C4 802413E4 0260A02D */ daddu $s4, $s3, $zero +/* A6F7C8 802413E8 0C00A67F */ jal rand_int +/* A6F7CC 802413EC 2404001E */ addiu $a0, $zero, 0x1e +/* A6F7D0 802413F0 0260902D */ daddu $s2, $s3, $zero +/* A6F7D4 802413F4 8EA400D0 */ lw $a0, 0xd0($s5) +/* A6F7D8 802413F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A6F7DC 802413FC 3C018024 */ lui $at, 0x8024 +/* A6F7E0 80241400 D4363D70 */ ldc1 $f22, 0x3d70($at) +/* A6F7E4 80241404 C4820000 */ lwc1 $f2, ($a0) +/* A6F7E8 80241408 468010A0 */ cvt.s.w $f2, $f2 +/* A6F7EC 8024140C C4840008 */ lwc1 $f4, 8($a0) +/* A6F7F0 80241410 46802120 */ cvt.s.w $f4, $f4 +/* A6F7F4 80241414 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6F7F8 80241418 8EA300D0 */ lw $v1, 0xd0($s5) +/* A6F7FC 8024141C 44051000 */ mfc1 $a1, $f2 +/* A6F800 80241420 C460000C */ lwc1 $f0, 0xc($v1) +/* A6F804 80241424 46800020 */ cvt.s.w $f0, $f0 +/* A6F808 80241428 E7A00014 */ swc1 $f0, 0x14($sp) +/* A6F80C 8024142C 8EA300D0 */ lw $v1, 0xd0($s5) +/* A6F810 80241430 44062000 */ mfc1 $a2, $f4 +/* A6F814 80241434 C4600010 */ lwc1 $f0, 0x10($v1) +/* A6F818 80241438 46800020 */ cvt.s.w $f0, $f0 +/* A6F81C 8024143C E7A00018 */ swc1 $f0, 0x18($sp) +/* A6F820 80241440 44820000 */ mtc1 $v0, $f0 +/* A6F824 80241444 00000000 */ nop +/* A6F828 80241448 46800021 */ cvt.d.w $f0, $f0 +/* A6F82C 8024144C 46360000 */ add.d $f0, $f0, $f22 +/* A6F830 80241450 8C840018 */ lw $a0, 0x18($a0) +/* A6F834 80241454 8E070038 */ lw $a3, 0x38($s0) +/* A6F838 80241458 0C0123F5 */ jal is_point_within_region +/* A6F83C 8024145C 46200520 */ cvt.s.d $f20, $f0 +/* A6F840 80241460 10400023 */ beqz $v0, .L802414F0 +/* A6F844 80241464 00000000 */ nop +/* A6F848 80241468 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6F84C 8024146C 8EA200D0 */ lw $v0, 0xd0($s5) +/* A6F850 80241470 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6F854 80241474 C44A0000 */ lwc1 $f10, ($v0) +/* A6F858 80241478 468052A0 */ cvt.s.w $f10, $f10 +/* A6F85C 8024147C 44065000 */ mfc1 $a2, $f10 +/* A6F860 80241480 C44A0008 */ lwc1 $f10, 8($v0) +/* A6F864 80241484 468052A0 */ cvt.s.w $f10, $f10 +/* A6F868 80241488 44075000 */ mfc1 $a3, $f10 +/* A6F86C 8024148C 0C00A720 */ jal atan2 +/* A6F870 80241490 00000000 */ nop +/* A6F874 80241494 44931000 */ mtc1 $s3, $f2 +/* A6F878 80241498 00000000 */ nop +/* A6F87C 8024149C 468010A0 */ cvt.s.w $f2, $f2 +/* A6F880 802414A0 46020001 */ sub.s $f0, $f0, $f2 +/* A6F884 802414A4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6F888 802414A8 E600000C */ swc1 $f0, 0xc($s0) +/* A6F88C 802414AC 8EA200D0 */ lw $v0, 0xd0($s5) +/* A6F890 802414B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6F894 802414B4 C44A0000 */ lwc1 $f10, ($v0) +/* A6F898 802414B8 468052A0 */ cvt.s.w $f10, $f10 +/* A6F89C 802414BC 44065000 */ mfc1 $a2, $f10 +/* A6F8A0 802414C0 C44A0008 */ lwc1 $f10, 8($v0) +/* A6F8A4 802414C4 468052A0 */ cvt.s.w $f10, $f10 +/* A6F8A8 802414C8 44075000 */ mfc1 $a3, $f10 +/* A6F8AC 802414CC 0C00A7B5 */ jal dist2D +/* A6F8B0 802414D0 00000000 */ nop +/* A6F8B4 802414D4 46000106 */ mov.s $f4, $f0 +/* A6F8B8 802414D8 4614003C */ c.lt.s $f0, $f20 +/* A6F8BC 802414DC 00000000 */ nop +/* A6F8C0 802414E0 4503006A */ bc1tl .L8024168C +/* A6F8C4 802414E4 46002506 */ mov.s $f20, $f4 +/* A6F8C8 802414E8 080905A4 */ j .L80241690 +/* A6F8CC 802414EC 27A40020 */ addiu $a0, $sp, 0x20 +.L802414F0: +/* A6F8D0 802414F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6F8D4 802414F4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6F8D8 802414F8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A6F8DC 802414FC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6F8E0 80241500 8C460028 */ lw $a2, 0x28($v0) +/* A6F8E4 80241504 0C00A720 */ jal atan2 +/* A6F8E8 80241508 8C470030 */ lw $a3, 0x30($v0) +/* A6F8EC 8024150C 460000A1 */ cvt.d.s $f2, $f0 +/* A6F8F0 80241510 4636103C */ c.lt.d $f2, $f22 +/* A6F8F4 80241514 00000000 */ nop +/* A6F8F8 80241518 45000006 */ bc1f .L80241534 +/* A6F8FC 8024151C E600000C */ swc1 $f0, 0xc($s0) +/* A6F900 80241520 0C00A67F */ jal rand_int +/* A6F904 80241524 2404000A */ addiu $a0, $zero, 0xa +/* A6F908 80241528 3C018024 */ lui $at, 0x8024 +/* A6F90C 8024152C 08090551 */ j .L80241544 +/* A6F910 80241530 D4203D78 */ ldc1 $f0, 0x3d78($at) +.L80241534: +/* A6F914 80241534 0C00A67F */ jal rand_int +/* A6F918 80241538 2404000A */ addiu $a0, $zero, 0xa +/* A6F91C 8024153C 3C018024 */ lui $at, 0x8024 +/* A6F920 80241540 D4203D80 */ ldc1 $f0, 0x3d80($at) +.L80241544: +/* A6F924 80241544 44821000 */ mtc1 $v0, $f2 +/* A6F928 80241548 00000000 */ nop +/* A6F92C 8024154C 468010A1 */ cvt.d.w $f2, $f2 +/* A6F930 80241550 46201080 */ add.d $f2, $f2, $f0 +/* A6F934 80241554 3C014014 */ lui $at, 0x4014 +/* A6F938 80241558 44810800 */ mtc1 $at, $f1 +/* A6F93C 8024155C 44800000 */ mtc1 $zero, $f0 +/* A6F940 80241560 00000000 */ nop +/* A6F944 80241564 46201081 */ sub.d $f2, $f2, $f0 +/* A6F948 80241568 462015A0 */ cvt.s.d $f22, $f2 +/* A6F94C 8024156C 00141080 */ sll $v0, $s4, 2 +/* A6F950 80241570 00548821 */ addu $s1, $v0, $s4 +.L80241574: +/* A6F954 80241574 12400006 */ beqz $s2, .L80241590 +/* A6F958 80241578 00000000 */ nop +/* A6F95C 8024157C 44910000 */ mtc1 $s1, $f0 +/* A6F960 80241580 00000000 */ nop +/* A6F964 80241584 46800020 */ cvt.s.w $f0, $f0 +/* A6F968 80241588 08090568 */ j .L802415A0 +/* A6F96C 8024158C 4600B000 */ add.s $f0, $f22, $f0 +.L80241590: +/* A6F970 80241590 44910000 */ mtc1 $s1, $f0 +/* A6F974 80241594 00000000 */ nop +/* A6F978 80241598 46800020 */ cvt.s.w $f0, $f0 +/* A6F97C 8024159C 4600B001 */ sub.s $f0, $f22, $f0 +.L802415A0: +/* A6F980 802415A0 E600000C */ swc1 $f0, 0xc($s0) +/* A6F984 802415A4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A6F988 802415A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A6F98C 802415AC C6040040 */ lwc1 $f4, 0x40($s0) +/* A6F990 802415B0 0000202D */ daddu $a0, $zero, $zero +/* A6F994 802415B4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A6F998 802415B8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A6F99C 802415BC E7A40028 */ swc1 $f4, 0x28($sp) +/* A6F9A0 802415C0 E7B40010 */ swc1 $f20, 0x10($sp) +/* A6F9A4 802415C4 C600000C */ lwc1 $f0, 0xc($s0) +/* A6F9A8 802415C8 27A50020 */ addiu $a1, $sp, 0x20 +/* A6F9AC 802415CC E7A00014 */ swc1 $f0, 0x14($sp) +/* A6F9B0 802415D0 860200A8 */ lh $v0, 0xa8($s0) +/* A6F9B4 802415D4 27A60024 */ addiu $a2, $sp, 0x24 +/* A6F9B8 802415D8 44820000 */ mtc1 $v0, $f0 +/* A6F9BC 802415DC 00000000 */ nop +/* A6F9C0 802415E0 46800020 */ cvt.s.w $f0, $f0 +/* A6F9C4 802415E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A6F9C8 802415E8 860200A6 */ lh $v0, 0xa6($s0) +/* A6F9CC 802415EC 27A70028 */ addiu $a3, $sp, 0x28 +/* A6F9D0 802415F0 44820000 */ mtc1 $v0, $f0 +/* A6F9D4 802415F4 00000000 */ nop +/* A6F9D8 802415F8 46800020 */ cvt.s.w $f0, $f0 +/* A6F9DC 802415FC 0C0376B9 */ jal func_800DDAE4 +/* A6F9E0 80241600 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A6F9E4 80241604 50400014 */ beql $v0, $zero, .L80241658 +/* A6F9E8 80241608 24130002 */ addiu $s3, $zero, 2 +/* A6F9EC 8024160C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6F9F0 80241610 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6F9F4 80241614 8FA60020 */ lw $a2, 0x20($sp) +/* A6F9F8 80241618 0C00A7B5 */ jal dist2D +/* A6F9FC 8024161C 8FA70028 */ lw $a3, 0x28($sp) +/* A6FA00 80241620 46000106 */ mov.s $f4, $f0 +/* A6FA04 80241624 3C014064 */ lui $at, 0x4064 +/* A6FA08 80241628 44811800 */ mtc1 $at, $f3 +/* A6FA0C 8024162C 44801000 */ mtc1 $zero, $f2 +/* A6FA10 80241630 46002021 */ cvt.d.s $f0, $f4 +/* A6FA14 80241634 4620103C */ c.lt.d $f2, $f0 +/* A6FA18 80241638 00000000 */ nop +/* A6FA1C 8024163C 45000006 */ bc1f .L80241658 +/* A6FA20 80241640 00000000 */ nop +/* A6FA24 80241644 4614203C */ c.lt.s $f4, $f20 +/* A6FA28 80241648 00000000 */ nop +/* A6FA2C 8024164C 45030001 */ bc1tl .L80241654 +/* A6FA30 80241650 46002506 */ mov.s $f20, $f4 +.L80241654: +/* A6FA34 80241654 24130001 */ addiu $s3, $zero, 1 +.L80241658: +/* A6FA38 80241658 1660000D */ bnez $s3, .L80241690 +/* A6FA3C 8024165C 27A40020 */ addiu $a0, $sp, 0x20 +/* A6FA40 80241660 56400003 */ bnel $s2, $zero, .L80241670 +/* A6FA44 80241664 26310005 */ addiu $s1, $s1, 5 +/* A6FA48 80241668 0809059E */ j .L80241678 +/* A6FA4C 8024166C 24120001 */ addiu $s2, $zero, 1 +.L80241670: +/* A6FA50 80241670 26940001 */ addiu $s4, $s4, 1 +/* A6FA54 80241674 0000902D */ daddu $s2, $zero, $zero +.L80241678: +/* A6FA58 80241678 2A820007 */ slti $v0, $s4, 7 +/* A6FA5C 8024167C 5040FFBD */ beql $v0, $zero, .L80241574 +/* A6FA60 80241680 24130003 */ addiu $s3, $zero, 3 +/* A6FA64 80241684 0809055D */ j .L80241574 +/* A6FA68 80241688 00000000 */ nop +.L8024168C: +/* A6FA6C 8024168C 27A40020 */ addiu $a0, $sp, 0x20 +.L80241690: +/* A6FA70 80241690 4406A000 */ mfc1 $a2, $f20 +/* A6FA74 80241694 8E07000C */ lw $a3, 0xc($s0) +/* A6FA78 80241698 C6000038 */ lwc1 $f0, 0x38($s0) +/* A6FA7C 8024169C C6020040 */ lwc1 $f2, 0x40($s0) +/* A6FA80 802416A0 27A50028 */ addiu $a1, $sp, 0x28 +/* A6FA84 802416A4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A6FA88 802416A8 0C00A7E7 */ jal add_vec2D_polar +/* A6FA8C 802416AC E7A20028 */ swc1 $f2, 0x28($sp) +/* A6FA90 802416B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A6FA94 802416B4 3C014059 */ lui $at, 0x4059 +/* A6FA98 802416B8 44814800 */ mtc1 $at, $f9 +/* A6FA9C 802416BC 44804000 */ mtc1 $zero, $f8 +/* A6FAA0 802416C0 46000021 */ cvt.d.s $f0, $f0 +/* A6FAA4 802416C4 46280002 */ mul.d $f0, $f0, $f8 +/* A6FAA8 802416C8 00000000 */ nop +/* A6FAAC 802416CC C7A20020 */ lwc1 $f2, 0x20($sp) +/* A6FAB0 802416D0 C604003C */ lwc1 $f4, 0x3c($s0) +/* A6FAB4 802416D4 C7A60028 */ lwc1 $f6, 0x28($sp) +/* A6FAB8 802416D8 E6020060 */ swc1 $f2, 0x60($s0) +/* A6FABC 802416DC E6040064 */ swc1 $f4, 0x64($s0) +/* A6FAC0 802416E0 E6060068 */ swc1 $f6, 0x68($s0) +/* A6FAC4 802416E4 4620028D */ trunc.w.d $f10, $f0 +/* A6FAC8 802416E8 E6AA007C */ swc1 $f10, 0x7c($s5) +/* A6FACC 802416EC C6000040 */ lwc1 $f0, 0x40($s0) +/* A6FAD0 802416F0 46000021 */ cvt.d.s $f0, $f0 +/* A6FAD4 802416F4 46280002 */ mul.d $f0, $f0, $f8 +/* A6FAD8 802416F8 00000000 */ nop +/* A6FADC 802416FC 4620028D */ trunc.w.d $f10, $f0 +/* A6FAE0 80241700 E6AA0084 */ swc1 $f10, 0x84($s5) +/* A6FAE4 80241704 0C00A67F */ jal rand_int +/* A6FAE8 80241708 2404000A */ addiu $a0, $zero, 0xa +/* A6FAEC 8024170C 3C014040 */ lui $at, 0x4040 +/* A6FAF0 80241710 44810000 */ mtc1 $at, $f0 +/* A6FAF4 80241714 3C013FB3 */ lui $at, 0x3fb3 +/* A6FAF8 80241718 34213333 */ ori $at, $at, 0x3333 +/* A6FAFC 8024171C 44811000 */ mtc1 $at, $f2 +/* A6FB00 80241720 3C013E4C */ lui $at, 0x3e4c +/* A6FB04 80241724 3421CCCD */ ori $at, $at, 0xcccd +/* A6FB08 80241728 44812000 */ mtc1 $at, $f4 +/* A6FB0C 8024172C 24420023 */ addiu $v0, $v0, 0x23 +/* A6FB10 80241730 AEA20078 */ sw $v0, 0x78($s5) +/* A6FB14 80241734 24020010 */ addiu $v0, $zero, 0x10 +/* A6FB18 80241738 A600008E */ sh $zero, 0x8e($s0) +/* A6FB1C 8024173C E6000018 */ swc1 $f0, 0x18($s0) +/* A6FB20 80241740 E602001C */ swc1 $f2, 0x1c($s0) +/* A6FB24 80241744 E6040014 */ swc1 $f4, 0x14($s0) +/* A6FB28 80241748 AEC20070 */ sw $v0, 0x70($s6) +.L8024174C: +/* A6FB2C 8024174C 8FBF004C */ lw $ra, 0x4c($sp) +/* A6FB30 80241750 8FB60048 */ lw $s6, 0x48($sp) +/* A6FB34 80241754 8FB50044 */ lw $s5, 0x44($sp) +/* A6FB38 80241758 8FB40040 */ lw $s4, 0x40($sp) +/* A6FB3C 8024175C 8FB3003C */ lw $s3, 0x3c($sp) +/* A6FB40 80241760 8FB20038 */ lw $s2, 0x38($sp) +/* A6FB44 80241764 8FB10034 */ lw $s1, 0x34($sp) +/* A6FB48 80241768 8FB00030 */ lw $s0, 0x30($sp) +/* A6FB4C 8024176C D7B60058 */ ldc1 $f22, 0x58($sp) +/* A6FB50 80241770 D7B40050 */ ldc1 $f20, 0x50($sp) +/* A6FB54 80241774 03E00008 */ jr $ra +/* A6FB58 80241778 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_8024177C.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024177C.s new file mode 100644 index 0000000000..afc7adea39 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_8024177C.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024177C +/* A6FB5C 8024177C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A6FB60 80241780 AFB20018 */ sw $s2, 0x18($sp) +/* A6FB64 80241784 0080902D */ daddu $s2, $a0, $zero +/* A6FB68 80241788 AFBF001C */ sw $ra, 0x1c($sp) +/* A6FB6C 8024178C AFB10014 */ sw $s1, 0x14($sp) +/* A6FB70 80241790 AFB00010 */ sw $s0, 0x10($sp) +/* A6FB74 80241794 F7B60028 */ sdc1 $f22, 0x28($sp) +/* A6FB78 80241798 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A6FB7C 8024179C 8E510148 */ lw $s1, 0x148($s2) +/* A6FB80 802417A0 0C00EABB */ jal get_npc_unsafe +/* A6FB84 802417A4 86240008 */ lh $a0, 8($s1) +/* A6FB88 802417A8 0040802D */ daddu $s0, $v0, $zero +/* A6FB8C 802417AC C6340070 */ lwc1 $f20, 0x70($s1) +/* A6FB90 802417B0 4680A520 */ cvt.s.w $f20, $f20 +/* A6FB94 802417B4 4600A521 */ cvt.d.s $f20, $f20 +/* A6FB98 802417B8 8E23006C */ lw $v1, 0x6c($s1) +/* A6FB9C 802417BC 3C014059 */ lui $at, 0x4059 +/* A6FBA0 802417C0 4481B800 */ mtc1 $at, $f23 +/* A6FBA4 802417C4 4480B000 */ mtc1 $zero, $f22 +/* A6FBA8 802417C8 2463000A */ addiu $v1, $v1, 0xa +/* A6FBAC 802417CC 44836000 */ mtc1 $v1, $f12 +/* A6FBB0 802417D0 00000000 */ nop +/* A6FBB4 802417D4 46806320 */ cvt.s.w $f12, $f12 +/* A6FBB8 802417D8 4636A503 */ div.d $f20, $f20, $f22 +/* A6FBBC 802417DC 0C00A6C9 */ jal clamp_angle +/* A6FBC0 802417E0 4620A520 */ cvt.s.d $f20, $f20 +/* A6FBC4 802417E4 4600010D */ trunc.w.s $f4, $f0 +/* A6FBC8 802417E8 44022000 */ mfc1 $v0, $f4 +/* A6FBCC 802417EC 00000000 */ nop +/* A6FBD0 802417F0 44826000 */ mtc1 $v0, $f12 +/* A6FBD4 802417F4 00000000 */ nop +/* A6FBD8 802417F8 46806320 */ cvt.s.w $f12, $f12 +/* A6FBDC 802417FC 0C00A8BB */ jal sin_deg +/* A6FBE0 80241800 AE22006C */ sw $v0, 0x6c($s1) +/* A6FBE4 80241804 3C014018 */ lui $at, 0x4018 +/* A6FBE8 80241808 44811800 */ mtc1 $at, $f3 +/* A6FBEC 8024180C 44801000 */ mtc1 $zero, $f2 +/* A6FBF0 80241810 46000021 */ cvt.d.s $f0, $f0 +/* A6FBF4 80241814 46220002 */ mul.d $f0, $f0, $f2 +/* A6FBF8 80241818 00000000 */ nop +/* A6FBFC 8024181C 4600A0A1 */ cvt.d.s $f2, $f20 +/* A6FC00 80241820 46201080 */ add.d $f2, $f2, $f0 +/* A6FC04 80241824 8602008C */ lh $v0, 0x8c($s0) +/* A6FC08 80241828 46201020 */ cvt.s.d $f0, $f2 +/* A6FC0C 8024182C 14400008 */ bnez $v0, .L80241850 +/* A6FC10 80241830 E600003C */ swc1 $f0, 0x3c($s0) +/* A6FC14 80241834 46000021 */ cvt.d.s $f0, $f0 +/* A6FC18 80241838 46360002 */ mul.d $f0, $f0, $f22 +/* A6FC1C 8024183C 00000000 */ nop +/* A6FC20 80241840 24020011 */ addiu $v0, $zero, 0x11 +/* A6FC24 80241844 4620010D */ trunc.w.d $f4, $f0 +/* A6FC28 80241848 E6240080 */ swc1 $f4, 0x80($s1) +/* A6FC2C 8024184C AE420070 */ sw $v0, 0x70($s2) +.L80241850: +/* A6FC30 80241850 8FBF001C */ lw $ra, 0x1c($sp) +/* A6FC34 80241854 8FB20018 */ lw $s2, 0x18($sp) +/* A6FC38 80241858 8FB10014 */ lw $s1, 0x14($sp) +/* A6FC3C 8024185C 8FB00010 */ lw $s0, 0x10($sp) +/* A6FC40 80241860 D7B60028 */ ldc1 $f22, 0x28($sp) +/* A6FC44 80241864 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A6FC48 80241868 03E00008 */ jr $ra +/* A6FC4C 8024186C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241870_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241870_A6E3E0.s new file mode 100644 index 0000000000..ccbdfd5c8b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241870_A6E3E0.s @@ -0,0 +1,154 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241870_A6FC50 +/* A6FC50 80241870 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A6FC54 80241874 AFB20020 */ sw $s2, 0x20($sp) +/* A6FC58 80241878 0080902D */ daddu $s2, $a0, $zero +/* A6FC5C 8024187C AFBF0024 */ sw $ra, 0x24($sp) +/* A6FC60 80241880 AFB1001C */ sw $s1, 0x1c($sp) +/* A6FC64 80241884 AFB00018 */ sw $s0, 0x18($sp) +/* A6FC68 80241888 F7B80038 */ sdc1 $f24, 0x38($sp) +/* A6FC6C 8024188C F7B60030 */ sdc1 $f22, 0x30($sp) +/* A6FC70 80241890 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A6FC74 80241894 8E510148 */ lw $s1, 0x148($s2) +/* A6FC78 80241898 0C00EABB */ jal get_npc_unsafe +/* A6FC7C 8024189C 86240008 */ lh $a0, 8($s1) +/* A6FC80 802418A0 2404000B */ addiu $a0, $zero, 0xb +/* A6FC84 802418A4 0040802D */ daddu $s0, $v0, $zero +/* A6FC88 802418A8 C620007C */ lwc1 $f0, 0x7c($s1) +/* A6FC8C 802418AC 46800020 */ cvt.s.w $f0, $f0 +/* A6FC90 802418B0 46000021 */ cvt.d.s $f0, $f0 +/* A6FC94 802418B4 C6360080 */ lwc1 $f22, 0x80($s1) +/* A6FC98 802418B8 4680B5A0 */ cvt.s.w $f22, $f22 +/* A6FC9C 802418BC C6340084 */ lwc1 $f20, 0x84($s1) +/* A6FCA0 802418C0 4680A520 */ cvt.s.w $f20, $f20 +/* A6FCA4 802418C4 4600B5A1 */ cvt.d.s $f22, $f22 +/* A6FCA8 802418C8 4600A521 */ cvt.d.s $f20, $f20 +/* A6FCAC 802418CC 3C014059 */ lui $at, 0x4059 +/* A6FCB0 802418D0 44811800 */ mtc1 $at, $f3 +/* A6FCB4 802418D4 44801000 */ mtc1 $zero, $f2 +/* A6FCB8 802418D8 8607008E */ lh $a3, 0x8e($s0) +/* A6FCBC 802418DC 8E220078 */ lw $v0, 0x78($s1) +/* A6FCC0 802418E0 46220003 */ div.d $f0, $f0, $f2 +/* A6FCC4 802418E4 46200020 */ cvt.s.d $f0, $f0 +/* A6FCC8 802418E8 44050000 */ mfc1 $a1, $f0 +/* A6FCCC 802418EC C6200070 */ lwc1 $f0, 0x70($s1) +/* A6FCD0 802418F0 46800020 */ cvt.s.w $f0, $f0 +/* A6FCD4 802418F4 46000021 */ cvt.d.s $f0, $f0 +/* A6FCD8 802418F8 46220003 */ div.d $f0, $f0, $f2 +/* A6FCDC 802418FC 46200620 */ cvt.s.d $f24, $f0 +/* A6FCE0 80241900 4622B583 */ div.d $f22, $f22, $f2 +/* A6FCE4 80241904 4620B5A0 */ cvt.s.d $f22, $f22 +/* A6FCE8 80241908 4622A503 */ div.d $f20, $f20, $f2 +/* A6FCEC 8024190C AFA20010 */ sw $v0, 0x10($sp) +/* A6FCF0 80241910 8E060060 */ lw $a2, 0x60($s0) +/* A6FCF4 80241914 0C00A8ED */ jal update_lerp +/* A6FCF8 80241918 4620A520 */ cvt.s.d $f20, $f20 +/* A6FCFC 8024191C 4405A000 */ mfc1 $a1, $f20 +/* A6FD00 80241920 8607008E */ lh $a3, 0x8e($s0) +/* A6FD04 80241924 8E220078 */ lw $v0, 0x78($s1) +/* A6FD08 80241928 2404000B */ addiu $a0, $zero, 0xb +/* A6FD0C 8024192C AFA20010 */ sw $v0, 0x10($sp) +/* A6FD10 80241930 8E060068 */ lw $a2, 0x68($s0) +/* A6FD14 80241934 0C00A8ED */ jal update_lerp +/* A6FD18 80241938 46000506 */ mov.s $f20, $f0 +/* A6FD1C 8024193C E6140038 */ swc1 $f20, 0x38($s0) +/* A6FD20 80241940 E6000040 */ swc1 $f0, 0x40($s0) +/* A6FD24 80241944 C6200078 */ lwc1 $f0, 0x78($s1) +/* A6FD28 80241948 46800020 */ cvt.s.w $f0, $f0 +/* A6FD2C 8024194C 46000021 */ cvt.d.s $f0, $f0 +/* A6FD30 80241950 8602008E */ lh $v0, 0x8e($s0) +/* A6FD34 80241954 3C018024 */ lui $at, 0x8024 +/* A6FD38 80241958 D4343D88 */ ldc1 $f20, 0x3d88($at) +/* A6FD3C 8024195C 44821000 */ mtc1 $v0, $f2 +/* A6FD40 80241960 00000000 */ nop +/* A6FD44 80241964 468010A1 */ cvt.d.w $f2, $f2 +/* A6FD48 80241968 4620A003 */ div.d $f0, $f20, $f0 +/* A6FD4C 8024196C 46201082 */ mul.d $f2, $f2, $f0 +/* A6FD50 80241970 00000000 */ nop +/* A6FD54 80241974 4620110D */ trunc.w.d $f4, $f2 +/* A6FD58 80241978 44022000 */ mfc1 $v0, $f4 +/* A6FD5C 8024197C 00000000 */ nop +/* A6FD60 80241980 244200B4 */ addiu $v0, $v0, 0xb4 +/* A6FD64 80241984 44826000 */ mtc1 $v0, $f12 +/* A6FD68 80241988 00000000 */ nop +/* A6FD6C 8024198C 0C00A8BB */ jal sin_deg +/* A6FD70 80241990 46806320 */ cvt.s.w $f12, $f12 +/* A6FD74 80241994 3C014039 */ lui $at, 0x4039 +/* A6FD78 80241998 44811800 */ mtc1 $at, $f3 +/* A6FD7C 8024199C 44801000 */ mtc1 $zero, $f2 +/* A6FD80 802419A0 46000021 */ cvt.d.s $f0, $f0 +/* A6FD84 802419A4 46220002 */ mul.d $f0, $f0, $f2 +/* A6FD88 802419A8 00000000 */ nop +/* A6FD8C 802419AC 9602008E */ lhu $v0, 0x8e($s0) +/* A6FD90 802419B0 4600B0A1 */ cvt.d.s $f2, $f22 +/* A6FD94 802419B4 24420001 */ addiu $v0, $v0, 1 +/* A6FD98 802419B8 46201080 */ add.d $f2, $f2, $f0 +/* A6FD9C 802419BC A602008E */ sh $v0, 0x8e($s0) +/* A6FDA0 802419C0 00021400 */ sll $v0, $v0, 0x10 +/* A6FDA4 802419C4 462010A0 */ cvt.s.d $f2, $f2 +/* A6FDA8 802419C8 E602003C */ swc1 $f2, 0x3c($s0) +/* A6FDAC 802419CC 8E230078 */ lw $v1, 0x78($s1) +/* A6FDB0 802419D0 00021403 */ sra $v0, $v0, 0x10 +/* A6FDB4 802419D4 2463FFF8 */ addiu $v1, $v1, -8 +/* A6FDB8 802419D8 14430009 */ bne $v0, $v1, .L80241A00 +/* A6FDBC 802419DC 00000000 */ nop +/* A6FDC0 802419E0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A6FDC4 802419E4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A6FDC8 802419E8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A6FDCC 802419EC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A6FDD0 802419F0 8C460028 */ lw $a2, 0x28($v0) +/* A6FDD4 802419F4 0C00A720 */ jal atan2 +/* A6FDD8 802419F8 8C470030 */ lw $a3, 0x30($v0) +/* A6FDDC 802419FC E600000C */ swc1 $f0, 0xc($s0) +.L80241A00: +/* A6FDE0 80241A00 C600003C */ lwc1 $f0, 0x3c($s0) +/* A6FDE4 80241A04 4600C03E */ c.le.s $f24, $f0 +/* A6FDE8 80241A08 00000000 */ nop +/* A6FDEC 80241A0C 45000004 */ bc1f .L80241A20 +/* A6FDF0 80241A10 2402000A */ addiu $v0, $zero, 0xa +/* A6FDF4 80241A14 E618003C */ swc1 $f24, 0x3c($s0) +/* A6FDF8 80241A18 080906A3 */ j .L80241A8C +/* A6FDFC 80241A1C AE20006C */ sw $zero, 0x6c($s1) +.L80241A20: +/* A6FE00 80241A20 8602008E */ lh $v0, 0x8e($s0) +/* A6FE04 80241A24 8E230078 */ lw $v1, 0x78($s1) +/* A6FE08 80241A28 0043102A */ slt $v0, $v0, $v1 +/* A6FE0C 80241A2C 14400018 */ bnez $v0, .L80241A90 +/* A6FE10 80241A30 00000000 */ nop +/* A6FE14 80241A34 8E23006C */ lw $v1, 0x6c($s1) +/* A6FE18 80241A38 44831000 */ mtc1 $v1, $f2 +/* A6FE1C 80241A3C 00000000 */ nop +/* A6FE20 80241A40 468010A1 */ cvt.d.w $f2, $f2 +/* A6FE24 80241A44 4622A03E */ c.le.d $f20, $f2 +/* A6FE28 80241A48 00000000 */ nop +/* A6FE2C 80241A4C 4500000F */ bc1f .L80241A8C +/* A6FE30 80241A50 2402000A */ addiu $v0, $zero, 0xa +/* A6FE34 80241A54 3C018024 */ lui $at, 0x8024 +/* A6FE38 80241A58 D4203D90 */ ldc1 $f0, 0x3d90($at) +/* A6FE3C 80241A5C 4620103C */ c.lt.d $f2, $f0 +/* A6FE40 80241A60 00000000 */ nop +/* A6FE44 80241A64 45000008 */ bc1f .L80241A88 +/* A6FE48 80241A68 2402021C */ addiu $v0, $zero, 0x21c +/* A6FE4C 80241A6C 00431023 */ subu $v0, $v0, $v1 +/* A6FE50 80241A70 44826000 */ mtc1 $v0, $f12 +/* A6FE54 80241A74 00000000 */ nop +/* A6FE58 80241A78 0C00A6C9 */ jal clamp_angle +/* A6FE5C 80241A7C 46806320 */ cvt.s.w $f12, $f12 +/* A6FE60 80241A80 4600010D */ trunc.w.s $f4, $f0 +/* A6FE64 80241A84 E624006C */ swc1 $f4, 0x6c($s1) +.L80241A88: +/* A6FE68 80241A88 2402000A */ addiu $v0, $zero, 0xa +.L80241A8C: +/* A6FE6C 80241A8C AE420070 */ sw $v0, 0x70($s2) +.L80241A90: +/* A6FE70 80241A90 8FBF0024 */ lw $ra, 0x24($sp) +/* A6FE74 80241A94 8FB20020 */ lw $s2, 0x20($sp) +/* A6FE78 80241A98 8FB1001C */ lw $s1, 0x1c($sp) +/* A6FE7C 80241A9C 8FB00018 */ lw $s0, 0x18($sp) +/* A6FE80 80241AA0 D7B80038 */ ldc1 $f24, 0x38($sp) +/* A6FE84 80241AA4 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A6FE88 80241AA8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A6FE8C 80241AAC 03E00008 */ jr $ra +/* A6FE90 80241AB0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AB4_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AB4_A6E3E0.s new file mode 100644 index 0000000000..6a18e901f8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AB4_A6E3E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AB4_A6FE94 +/* A6FE94 80241AB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A6FE98 80241AB8 AFB00010 */ sw $s0, 0x10($sp) +/* A6FE9C 80241ABC 0080802D */ daddu $s0, $a0, $zero +/* A6FEA0 80241AC0 AFBF0014 */ sw $ra, 0x14($sp) +/* A6FEA4 80241AC4 8E020148 */ lw $v0, 0x148($s0) +/* A6FEA8 80241AC8 0C00EABB */ jal get_npc_unsafe +/* A6FEAC 80241ACC 84440008 */ lh $a0, 8($v0) +/* A6FEB0 80241AD0 24030028 */ addiu $v1, $zero, 0x28 +/* A6FEB4 80241AD4 A443008E */ sh $v1, 0x8e($v0) +/* A6FEB8 80241AD8 24020015 */ addiu $v0, $zero, 0x15 +/* A6FEBC 80241ADC AE020070 */ sw $v0, 0x70($s0) +/* A6FEC0 80241AE0 8FBF0014 */ lw $ra, 0x14($sp) +/* A6FEC4 80241AE4 8FB00010 */ lw $s0, 0x10($sp) +/* A6FEC8 80241AE8 03E00008 */ jr $ra +/* A6FECC 80241AEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AF0_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AF0_A6E3E0.s new file mode 100644 index 0000000000..dcbbf28d21 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241AF0_A6E3E0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AF0_A6FED0 +/* A6FED0 80241AF0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A6FED4 80241AF4 AFB40048 */ sw $s4, 0x48($sp) +/* A6FED8 80241AF8 0080A02D */ daddu $s4, $a0, $zero +/* A6FEDC 80241AFC AFBF004C */ sw $ra, 0x4c($sp) +/* A6FEE0 80241B00 AFB30044 */ sw $s3, 0x44($sp) +/* A6FEE4 80241B04 AFB20040 */ sw $s2, 0x40($sp) +/* A6FEE8 80241B08 AFB1003C */ sw $s1, 0x3c($sp) +/* A6FEEC 80241B0C AFB00038 */ sw $s0, 0x38($sp) +/* A6FEF0 80241B10 F7B40050 */ sdc1 $f20, 0x50($sp) +/* A6FEF4 80241B14 8E910148 */ lw $s1, 0x148($s4) +/* A6FEF8 80241B18 00A0902D */ daddu $s2, $a1, $zero +/* A6FEFC 80241B1C 86240008 */ lh $a0, 8($s1) +/* A6FF00 80241B20 0C00EABB */ jal get_npc_unsafe +/* A6FF04 80241B24 00C0982D */ daddu $s3, $a2, $zero +/* A6FF08 80241B28 0040802D */ daddu $s0, $v0, $zero +/* A6FF0C 80241B2C 9602008E */ lhu $v0, 0x8e($s0) +/* A6FF10 80241B30 2442FFFF */ addiu $v0, $v0, -1 +/* A6FF14 80241B34 A602008E */ sh $v0, 0x8e($s0) +/* A6FF18 80241B38 00021400 */ sll $v0, $v0, 0x10 +/* A6FF1C 80241B3C 14400021 */ bnez $v0, .L80241BC4 +/* A6FF20 80241B40 0280202D */ daddu $a0, $s4, $zero +/* A6FF24 80241B44 24040002 */ addiu $a0, $zero, 2 +/* A6FF28 80241B48 0200282D */ daddu $a1, $s0, $zero +/* A6FF2C 80241B4C 0000302D */ daddu $a2, $zero, $zero +/* A6FF30 80241B50 8E2200CC */ lw $v0, 0xcc($s1) +/* A6FF34 80241B54 3C013F80 */ lui $at, 0x3f80 +/* A6FF38 80241B58 44810000 */ mtc1 $at, $f0 +/* A6FF3C 80241B5C 3C014000 */ lui $at, 0x4000 +/* A6FF40 80241B60 44811000 */ mtc1 $at, $f2 +/* A6FF44 80241B64 8C430000 */ lw $v1, ($v0) +/* A6FF48 80241B68 860200A8 */ lh $v0, 0xa8($s0) +/* A6FF4C 80241B6C 3C01C1A0 */ lui $at, 0xc1a0 +/* A6FF50 80241B70 44812000 */ mtc1 $at, $f4 +/* A6FF54 80241B74 44824000 */ mtc1 $v0, $f8 +/* A6FF58 80241B78 00000000 */ nop +/* A6FF5C 80241B7C 46804220 */ cvt.s.w $f8, $f8 +/* A6FF60 80241B80 44074000 */ mfc1 $a3, $f8 +/* A6FF64 80241B84 2402000C */ addiu $v0, $zero, 0xc +/* A6FF68 80241B88 AE030028 */ sw $v1, 0x28($s0) +/* A6FF6C 80241B8C AFA2001C */ sw $v0, 0x1c($sp) +/* A6FF70 80241B90 27A20028 */ addiu $v0, $sp, 0x28 +/* A6FF74 80241B94 E7A00010 */ swc1 $f0, 0x10($sp) +/* A6FF78 80241B98 E7A20014 */ swc1 $f2, 0x14($sp) +/* A6FF7C 80241B9C E7A40018 */ swc1 $f4, 0x18($sp) +/* A6FF80 80241BA0 0C01BFA4 */ jal fx_emote +/* A6FF84 80241BA4 AFA20020 */ sw $v0, 0x20($sp) +/* A6FF88 80241BA8 8E2200CC */ lw $v0, 0xcc($s1) +/* A6FF8C 80241BAC 8C430000 */ lw $v1, ($v0) +/* A6FF90 80241BB0 2402000F */ addiu $v0, $zero, 0xf +/* A6FF94 80241BB4 A602008E */ sh $v0, 0x8e($s0) +/* A6FF98 80241BB8 24020032 */ addiu $v0, $zero, 0x32 +/* A6FF9C 80241BBC 08090725 */ j .L80241C94 +/* A6FFA0 80241BC0 AE030028 */ sw $v1, 0x28($s0) +.L80241BC4: +/* A6FFA4 80241BC4 8E450024 */ lw $a1, 0x24($s2) +/* A6FFA8 80241BC8 8E460028 */ lw $a2, 0x28($s2) +/* A6FFAC 80241BCC 0C0902B9 */ jal func_80240AE4 +/* A6FFB0 80241BD0 0260382D */ daddu $a3, $s3, $zero +/* A6FFB4 80241BD4 24030001 */ addiu $v1, $zero, 1 +/* A6FFB8 80241BD8 1443002F */ bne $v0, $v1, .L80241C98 +/* A6FFBC 80241BDC 00000000 */ nop +/* A6FFC0 80241BE0 8602008C */ lh $v0, 0x8c($s0) +/* A6FFC4 80241BE4 1440002C */ bnez $v0, .L80241C98 +/* A6FFC8 80241BE8 0200202D */ daddu $a0, $s0, $zero +/* A6FFCC 80241BEC 240520D4 */ addiu $a1, $zero, 0x20d4 +/* A6FFD0 80241BF0 0C012530 */ jal func_800494C0 +/* A6FFD4 80241BF4 0000302D */ daddu $a2, $zero, $zero +/* A6FFD8 80241BF8 27A4002C */ addiu $a0, $sp, 0x2c +/* A6FFDC 80241BFC 27A50030 */ addiu $a1, $sp, 0x30 +/* A6FFE0 80241C00 3C0641F0 */ lui $a2, 0x41f0 +/* A6FFE4 80241C04 C6020034 */ lwc1 $f2, 0x34($s0) +/* A6FFE8 80241C08 3C014387 */ lui $at, 0x4387 +/* A6FFEC 80241C0C 44810000 */ mtc1 $at, $f0 +/* A6FFF0 80241C10 8E2200CC */ lw $v0, 0xcc($s1) +/* A6FFF4 80241C14 C614003C */ lwc1 $f20, 0x3c($s0) +/* A6FFF8 80241C18 46020001 */ sub.s $f0, $f0, $f2 +/* A6FFFC 80241C1C 3C0141E8 */ lui $at, 0x41e8 +/* A70000 80241C20 44812000 */ mtc1 $at, $f4 +/* A70004 80241C24 C6060038 */ lwc1 $f6, 0x38($s0) +/* A70008 80241C28 4604A500 */ add.s $f20, $f20, $f4 +/* A7000C 80241C2C 3C013F80 */ lui $at, 0x3f80 +/* A70010 80241C30 44811000 */ mtc1 $at, $f2 +/* A70014 80241C34 44070000 */ mfc1 $a3, $f0 +/* A70018 80241C38 C6000040 */ lwc1 $f0, 0x40($s0) +/* A7001C 80241C3C 8C420020 */ lw $v0, 0x20($v0) +/* A70020 80241C40 46020000 */ add.s $f0, $f0, $f2 +/* A70024 80241C44 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A70028 80241C48 AE020028 */ sw $v0, 0x28($s0) +/* A7002C 80241C4C 0C00A7E7 */ jal add_vec2D_polar +/* A70030 80241C50 E7A00030 */ swc1 $f0, 0x30($sp) +/* A70034 80241C54 0000202D */ daddu $a0, $zero, $zero +/* A70038 80241C58 4406A000 */ mfc1 $a2, $f20 +/* A7003C 80241C5C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A70040 80241C60 C7A20030 */ lwc1 $f2, 0x30($sp) +/* A70044 80241C64 44050000 */ mfc1 $a1, $f0 +/* A70048 80241C68 44071000 */ mfc1 $a3, $f2 +/* A7004C 80241C6C 3C013DCC */ lui $at, 0x3dcc +/* A70050 80241C70 3421CCCD */ ori $at, $at, 0xcccd +/* A70054 80241C74 44810000 */ mtc1 $at, $f0 +/* A70058 80241C78 2402000D */ addiu $v0, $zero, 0xd +/* A7005C 80241C7C AFA20014 */ sw $v0, 0x14($sp) +/* A70060 80241C80 0C01BFEC */ jal func_8006FFB0 +/* A70064 80241C84 E7A00010 */ swc1 $f0, 0x10($sp) +/* A70068 80241C88 2402000F */ addiu $v0, $zero, 0xf +/* A7006C 80241C8C A602008E */ sh $v0, 0x8e($s0) +/* A70070 80241C90 24020016 */ addiu $v0, $zero, 0x16 +.L80241C94: +/* A70074 80241C94 AE820070 */ sw $v0, 0x70($s4) +.L80241C98: +/* A70078 80241C98 8FBF004C */ lw $ra, 0x4c($sp) +/* A7007C 80241C9C 8FB40048 */ lw $s4, 0x48($sp) +/* A70080 80241CA0 8FB30044 */ lw $s3, 0x44($sp) +/* A70084 80241CA4 8FB20040 */ lw $s2, 0x40($sp) +/* A70088 80241CA8 8FB1003C */ lw $s1, 0x3c($sp) +/* A7008C 80241CAC 8FB00038 */ lw $s0, 0x38($sp) +/* A70090 80241CB0 D7B40050 */ ldc1 $f20, 0x50($sp) +/* A70094 80241CB4 03E00008 */ jr $ra +/* A70098 80241CB8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241CBC_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241CBC_A6E3E0.s new file mode 100644 index 0000000000..d156b7c39d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241CBC_A6E3E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CBC_A7009C +/* A7009C 80241CBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A700A0 80241CC0 AFB10014 */ sw $s1, 0x14($sp) +/* A700A4 80241CC4 0080882D */ daddu $s1, $a0, $zero +/* A700A8 80241CC8 AFBF0018 */ sw $ra, 0x18($sp) +/* A700AC 80241CCC AFB00010 */ sw $s0, 0x10($sp) +/* A700B0 80241CD0 8E300148 */ lw $s0, 0x148($s1) +/* A700B4 80241CD4 0C00EABB */ jal get_npc_unsafe +/* A700B8 80241CD8 86040008 */ lh $a0, 8($s0) +/* A700BC 80241CDC 0040202D */ daddu $a0, $v0, $zero +/* A700C0 80241CE0 9482008E */ lhu $v0, 0x8e($a0) +/* A700C4 80241CE4 2442FFFF */ addiu $v0, $v0, -1 +/* A700C8 80241CE8 A482008E */ sh $v0, 0x8e($a0) +/* A700CC 80241CEC 00021400 */ sll $v0, $v0, 0x10 +/* A700D0 80241CF0 1C400008 */ bgtz $v0, .L80241D14 +/* A700D4 80241CF4 00000000 */ nop +/* A700D8 80241CF8 8E0200CC */ lw $v0, 0xcc($s0) +/* A700DC 80241CFC 8C430024 */ lw $v1, 0x24($v0) +/* A700E0 80241D00 24020007 */ addiu $v0, $zero, 7 +/* A700E4 80241D04 A482008E */ sh $v0, 0x8e($a0) +/* A700E8 80241D08 24020017 */ addiu $v0, $zero, 0x17 +/* A700EC 80241D0C AC830028 */ sw $v1, 0x28($a0) +/* A700F0 80241D10 AE220070 */ sw $v0, 0x70($s1) +.L80241D14: +/* A700F4 80241D14 8FBF0018 */ lw $ra, 0x18($sp) +/* A700F8 80241D18 8FB10014 */ lw $s1, 0x14($sp) +/* A700FC 80241D1C 8FB00010 */ lw $s0, 0x10($sp) +/* A70100 80241D20 03E00008 */ jr $ra +/* A70104 80241D24 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241D28.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241D28.s new file mode 100644 index 0000000000..5e5b7aaab8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241D28.s @@ -0,0 +1,84 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D28 +/* A70108 80241D28 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A7010C 80241D2C AFB3003C */ sw $s3, 0x3c($sp) +/* A70110 80241D30 0080982D */ daddu $s3, $a0, $zero +/* A70114 80241D34 AFBF0044 */ sw $ra, 0x44($sp) +/* A70118 80241D38 AFB40040 */ sw $s4, 0x40($sp) +/* A7011C 80241D3C AFB20038 */ sw $s2, 0x38($sp) +/* A70120 80241D40 AFB10034 */ sw $s1, 0x34($sp) +/* A70124 80241D44 AFB00030 */ sw $s0, 0x30($sp) +/* A70128 80241D48 8E720148 */ lw $s2, 0x148($s3) +/* A7012C 80241D4C 00A0882D */ daddu $s1, $a1, $zero +/* A70130 80241D50 86440008 */ lh $a0, 8($s2) +/* A70134 80241D54 0C00EABB */ jal get_npc_unsafe +/* A70138 80241D58 00C0A02D */ daddu $s4, $a2, $zero +/* A7013C 80241D5C 0040802D */ daddu $s0, $v0, $zero +/* A70140 80241D60 9602008E */ lhu $v0, 0x8e($s0) +/* A70144 80241D64 2442FFFF */ addiu $v0, $v0, -1 +/* A70148 80241D68 A602008E */ sh $v0, 0x8e($s0) +/* A7014C 80241D6C 00021400 */ sll $v0, $v0, 0x10 +/* A70150 80241D70 1C400032 */ bgtz $v0, .L80241E3C +/* A70154 80241D74 00000000 */ nop +/* A70158 80241D78 0260202D */ daddu $a0, $s3, $zero +/* A7015C 80241D7C 8E250024 */ lw $a1, 0x24($s1) +/* A70160 80241D80 8E260028 */ lw $a2, 0x28($s1) +/* A70164 80241D84 0C0902B9 */ jal func_80240AE4 +/* A70168 80241D88 0280382D */ daddu $a3, $s4, $zero +/* A7016C 80241D8C 0040882D */ daddu $s1, $v0, $zero +/* A70170 80241D90 24020001 */ addiu $v0, $zero, 1 +/* A70174 80241D94 1222001D */ beq $s1, $v0, .L80241E0C +/* A70178 80241D98 0200282D */ daddu $a1, $s0, $zero +/* A7017C 80241D9C 24040002 */ addiu $a0, $zero, 2 +/* A70180 80241DA0 0000302D */ daddu $a2, $zero, $zero +/* A70184 80241DA4 860300A8 */ lh $v1, 0xa8($s0) +/* A70188 80241DA8 3C013F80 */ lui $at, 0x3f80 +/* A7018C 80241DAC 44810000 */ mtc1 $at, $f0 +/* A70190 80241DB0 3C014000 */ lui $at, 0x4000 +/* A70194 80241DB4 44811000 */ mtc1 $at, $f2 +/* A70198 80241DB8 3C01C1A0 */ lui $at, 0xc1a0 +/* A7019C 80241DBC 44812000 */ mtc1 $at, $f4 +/* A701A0 80241DC0 2402000C */ addiu $v0, $zero, 0xc +/* A701A4 80241DC4 AFA2001C */ sw $v0, 0x1c($sp) +/* A701A8 80241DC8 44833000 */ mtc1 $v1, $f6 +/* A701AC 80241DCC 00000000 */ nop +/* A701B0 80241DD0 468031A0 */ cvt.s.w $f6, $f6 +/* A701B4 80241DD4 44073000 */ mfc1 $a3, $f6 +/* A701B8 80241DD8 27A20028 */ addiu $v0, $sp, 0x28 +/* A701BC 80241DDC AFA20020 */ sw $v0, 0x20($sp) +/* A701C0 80241DE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A701C4 80241DE4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A701C8 80241DE8 0C01BFA4 */ jal fx_emote +/* A701CC 80241DEC E7A40018 */ swc1 $f4, 0x18($sp) +/* A701D0 80241DF0 8E4200CC */ lw $v0, 0xcc($s2) +/* A701D4 80241DF4 8C430000 */ lw $v1, ($v0) +/* A701D8 80241DF8 2402000F */ addiu $v0, $zero, 0xf +/* A701DC 80241DFC A602008E */ sh $v0, 0x8e($s0) +/* A701E0 80241E00 24020032 */ addiu $v0, $zero, 0x32 +/* A701E4 80241E04 0809078E */ j .L80241E38 +/* A701E8 80241E08 AE030028 */ sw $v1, 0x28($s0) +.L80241E0C: +/* A701EC 80241E0C 0200202D */ daddu $a0, $s0, $zero +/* A701F0 80241E10 240520D5 */ addiu $a1, $zero, 0x20d5 +/* A701F4 80241E14 0C012530 */ jal func_800494C0 +/* A701F8 80241E18 0000302D */ daddu $a2, $zero, $zero +/* A701FC 80241E1C 86440008 */ lh $a0, 8($s2) +/* A70200 80241E20 0C00FB3A */ jal get_enemy +/* A70204 80241E24 24840001 */ addiu $a0, $a0, 1 +/* A70208 80241E28 AC51006C */ sw $s1, 0x6c($v0) +/* A7020C 80241E2C 24020014 */ addiu $v0, $zero, 0x14 +/* A70210 80241E30 A602008E */ sh $v0, 0x8e($s0) +/* A70214 80241E34 24020018 */ addiu $v0, $zero, 0x18 +.L80241E38: +/* A70218 80241E38 AE620070 */ sw $v0, 0x70($s3) +.L80241E3C: +/* A7021C 80241E3C 8FBF0044 */ lw $ra, 0x44($sp) +/* A70220 80241E40 8FB40040 */ lw $s4, 0x40($sp) +/* A70224 80241E44 8FB3003C */ lw $s3, 0x3c($sp) +/* A70228 80241E48 8FB20038 */ lw $s2, 0x38($sp) +/* A7022C 80241E4C 8FB10034 */ lw $s1, 0x34($sp) +/* A70230 80241E50 8FB00030 */ lw $s0, 0x30($sp) +/* A70234 80241E54 03E00008 */ jr $ra +/* A70238 80241E58 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241E5C_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241E5C_A6E3E0.s new file mode 100644 index 0000000000..c694f0ef3d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241E5C_A6E3E0.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E5C_A7023C +/* A7023C 80241E5C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A70240 80241E60 AFB20018 */ sw $s2, 0x18($sp) +/* A70244 80241E64 0080902D */ daddu $s2, $a0, $zero +/* A70248 80241E68 AFBF001C */ sw $ra, 0x1c($sp) +/* A7024C 80241E6C AFB10014 */ sw $s1, 0x14($sp) +/* A70250 80241E70 AFB00010 */ sw $s0, 0x10($sp) +/* A70254 80241E74 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A70258 80241E78 8E500148 */ lw $s0, 0x148($s2) +/* A7025C 80241E7C 0C00EABB */ jal get_npc_unsafe +/* A70260 80241E80 86040008 */ lh $a0, 8($s0) +/* A70264 80241E84 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A70268 80241E88 46806320 */ cvt.s.w $f12, $f12 +/* A7026C 80241E8C 0040882D */ daddu $s1, $v0, $zero +/* A70270 80241E90 C6140070 */ lwc1 $f20, 0x70($s0) +/* A70274 80241E94 4680A520 */ cvt.s.w $f20, $f20 +/* A70278 80241E98 3C014059 */ lui $at, 0x4059 +/* A7027C 80241E9C 44810800 */ mtc1 $at, $f1 +/* A70280 80241EA0 44800000 */ mtc1 $zero, $f0 +/* A70284 80241EA4 4600A521 */ cvt.d.s $f20, $f20 +/* A70288 80241EA8 4620A503 */ div.d $f20, $f20, $f0 +/* A7028C 80241EAC 0C00A8BB */ jal sin_deg +/* A70290 80241EB0 4620A520 */ cvt.s.d $f20, $f20 +/* A70294 80241EB4 3C014018 */ lui $at, 0x4018 +/* A70298 80241EB8 44811800 */ mtc1 $at, $f3 +/* A7029C 80241EBC 44801000 */ mtc1 $zero, $f2 +/* A702A0 80241EC0 46000021 */ cvt.d.s $f0, $f0 +/* A702A4 80241EC4 46220002 */ mul.d $f0, $f0, $f2 +/* A702A8 80241EC8 00000000 */ nop +/* A702AC 80241ECC 4600A0A1 */ cvt.d.s $f2, $f20 +/* A702B0 80241ED0 46201080 */ add.d $f2, $f2, $f0 +/* A702B4 80241ED4 462010A0 */ cvt.s.d $f2, $f2 +/* A702B8 80241ED8 E622003C */ swc1 $f2, 0x3c($s1) +/* A702BC 80241EDC 8E02006C */ lw $v0, 0x6c($s0) +/* A702C0 80241EE0 2442000A */ addiu $v0, $v0, 0xa +/* A702C4 80241EE4 44826000 */ mtc1 $v0, $f12 +/* A702C8 80241EE8 00000000 */ nop +/* A702CC 80241EEC 0C00A6C9 */ jal clamp_angle +/* A702D0 80241EF0 46806320 */ cvt.s.w $f12, $f12 +/* A702D4 80241EF4 4600010D */ trunc.w.s $f4, $f0 +/* A702D8 80241EF8 E604006C */ swc1 $f4, 0x6c($s0) +/* A702DC 80241EFC 9622008E */ lhu $v0, 0x8e($s1) +/* A702E0 80241F00 2442FFFF */ addiu $v0, $v0, -1 +/* A702E4 80241F04 A622008E */ sh $v0, 0x8e($s1) +/* A702E8 80241F08 00021400 */ sll $v0, $v0, 0x10 +/* A702EC 80241F0C 1C400008 */ bgtz $v0, .L80241F30 +/* A702F0 80241F10 00000000 */ nop +/* A702F4 80241F14 8E0200CC */ lw $v0, 0xcc($s0) +/* A702F8 80241F18 8C430000 */ lw $v1, ($v0) +/* A702FC 80241F1C 24020003 */ addiu $v0, $zero, 3 +/* A70300 80241F20 A622008E */ sh $v0, 0x8e($s1) +/* A70304 80241F24 24020032 */ addiu $v0, $zero, 0x32 +/* A70308 80241F28 AE230028 */ sw $v1, 0x28($s1) +/* A7030C 80241F2C AE420070 */ sw $v0, 0x70($s2) +.L80241F30: +/* A70310 80241F30 8FBF001C */ lw $ra, 0x1c($sp) +/* A70314 80241F34 8FB20018 */ lw $s2, 0x18($sp) +/* A70318 80241F38 8FB10014 */ lw $s1, 0x14($sp) +/* A7031C 80241F3C 8FB00010 */ lw $s0, 0x10($sp) +/* A70320 80241F40 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A70324 80241F44 03E00008 */ jr $ra +/* A70328 80241F48 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_80241F4C.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241F4C.s new file mode 100644 index 0000000000..9de8966f3d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_80241F4C.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F4C +/* A7032C 80241F4C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A70330 80241F50 AFB20018 */ sw $s2, 0x18($sp) +/* A70334 80241F54 0080902D */ daddu $s2, $a0, $zero +/* A70338 80241F58 AFBF001C */ sw $ra, 0x1c($sp) +/* A7033C 80241F5C AFB10014 */ sw $s1, 0x14($sp) +/* A70340 80241F60 AFB00010 */ sw $s0, 0x10($sp) +/* A70344 80241F64 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A70348 80241F68 8E500148 */ lw $s0, 0x148($s2) +/* A7034C 80241F6C 0C00EABB */ jal get_npc_unsafe +/* A70350 80241F70 86040008 */ lh $a0, 8($s0) +/* A70354 80241F74 C60C006C */ lwc1 $f12, 0x6c($s0) +/* A70358 80241F78 46806320 */ cvt.s.w $f12, $f12 +/* A7035C 80241F7C 0040882D */ daddu $s1, $v0, $zero +/* A70360 80241F80 C6140070 */ lwc1 $f20, 0x70($s0) +/* A70364 80241F84 4680A520 */ cvt.s.w $f20, $f20 +/* A70368 80241F88 3C014059 */ lui $at, 0x4059 +/* A7036C 80241F8C 44810800 */ mtc1 $at, $f1 +/* A70370 80241F90 44800000 */ mtc1 $zero, $f0 +/* A70374 80241F94 4600A521 */ cvt.d.s $f20, $f20 +/* A70378 80241F98 4620A503 */ div.d $f20, $f20, $f0 +/* A7037C 80241F9C 0C00A8BB */ jal sin_deg +/* A70380 80241FA0 4620A520 */ cvt.s.d $f20, $f20 +/* A70384 80241FA4 3C014018 */ lui $at, 0x4018 +/* A70388 80241FA8 44811800 */ mtc1 $at, $f3 +/* A7038C 80241FAC 44801000 */ mtc1 $zero, $f2 +/* A70390 80241FB0 46000021 */ cvt.d.s $f0, $f0 +/* A70394 80241FB4 46220002 */ mul.d $f0, $f0, $f2 +/* A70398 80241FB8 00000000 */ nop +/* A7039C 80241FBC 4600A0A1 */ cvt.d.s $f2, $f20 +/* A703A0 80241FC0 46201080 */ add.d $f2, $f2, $f0 +/* A703A4 80241FC4 462010A0 */ cvt.s.d $f2, $f2 +/* A703A8 80241FC8 E622003C */ swc1 $f2, 0x3c($s1) +/* A703AC 80241FCC 8E02006C */ lw $v0, 0x6c($s0) +/* A703B0 80241FD0 2442000A */ addiu $v0, $v0, 0xa +/* A703B4 80241FD4 44826000 */ mtc1 $v0, $f12 +/* A703B8 80241FD8 00000000 */ nop +/* A703BC 80241FDC 0C00A6C9 */ jal clamp_angle +/* A703C0 80241FE0 46806320 */ cvt.s.w $f12, $f12 +/* A703C4 80241FE4 4600010D */ trunc.w.s $f4, $f0 +/* A703C8 80241FE8 E604006C */ swc1 $f4, 0x6c($s0) +/* A703CC 80241FEC 9622008E */ lhu $v0, 0x8e($s1) +/* A703D0 80241FF0 2442FFFF */ addiu $v0, $v0, -1 +/* A703D4 80241FF4 A622008E */ sh $v0, 0x8e($s1) +/* A703D8 80241FF8 00021400 */ sll $v0, $v0, 0x10 +/* A703DC 80241FFC 1C400002 */ bgtz $v0, .L80242008 +/* A703E0 80242000 2402000A */ addiu $v0, $zero, 0xa +/* A703E4 80242004 AE420070 */ sw $v0, 0x70($s2) +.L80242008: +/* A703E8 80242008 8FBF001C */ lw $ra, 0x1c($sp) +/* A703EC 8024200C 8FB20018 */ lw $s2, 0x18($sp) +/* A703F0 80242010 8FB10014 */ lw $s1, 0x14($sp) +/* A703F4 80242014 8FB00010 */ lw $s0, 0x10($sp) +/* A703F8 80242018 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A703FC 8024201C 03E00008 */ jr $ra +/* A70400 80242020 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_802422B8.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_802422B8.s new file mode 100644 index 0000000000..a5090cd5db --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_802422B8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422B8 +/* A70698 802422B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7069C 802422BC 3C05FE36 */ lui $a1, 0xfe36 +/* A706A0 802422C0 AFBF0010 */ sw $ra, 0x10($sp) +/* A706A4 802422C4 8C820148 */ lw $v0, 0x148($a0) +/* A706A8 802422C8 3C06800B */ lui $a2, 0x800b +/* A706AC 802422CC 8CC60F9C */ lw $a2, 0xf9c($a2) +/* A706B0 802422D0 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A706B4 802422D4 00C23026 */ xor $a2, $a2, $v0 +/* A706B8 802422D8 0C0B2026 */ jal set_variable +/* A706BC 802422DC 2CC60001 */ sltiu $a2, $a2, 1 +/* A706C0 802422E0 8FBF0010 */ lw $ra, 0x10($sp) +/* A706C4 802422E4 24020002 */ addiu $v0, $zero, 2 +/* A706C8 802422E8 03E00008 */ jr $ra +/* A706CC 802422EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/func_802422F0_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/func_802422F0_A6E3E0.s new file mode 100644 index 0000000000..cb376faa52 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/func_802422F0_A6E3E0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422F0_A706D0 +/* A706D0 802422F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A706D4 802422F4 AFBF0014 */ sw $ra, 0x14($sp) +/* A706D8 802422F8 AFB00010 */ sw $s0, 0x10($sp) +/* A706DC 802422FC 8C900148 */ lw $s0, 0x148($a0) +/* A706E0 80242300 0C00EABB */ jal get_npc_unsafe +/* A706E4 80242304 86040008 */ lh $a0, 8($s0) +/* A706E8 80242308 0040202D */ daddu $a0, $v0, $zero +/* A706EC 8024230C 8E03006C */ lw $v1, 0x6c($s0) +/* A706F0 80242310 24020002 */ addiu $v0, $zero, 2 +/* A706F4 80242314 14620003 */ bne $v1, $v0, .L80242324 +/* A706F8 80242318 00000000 */ nop +/* A706FC 8024231C AC80001C */ sw $zero, 0x1c($a0) +/* A70700 80242320 AC800018 */ sw $zero, 0x18($a0) +.L80242324: +/* A70704 80242324 8FBF0014 */ lw $ra, 0x14($sp) +/* A70708 80242328 8FB00010 */ lw $s0, 0x10($sp) +/* A7070C 8024232C 24020002 */ addiu $v0, $zero, 2 +/* A70710 80242330 03E00008 */ jr $ra +/* A70714 80242334 27BD0018 */ addiu $sp, $sp, 0x18 +/* A70718 80242338 00000000 */ nop +/* A7071C 8024233C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_61/update_heroes_start_turn_A6E3E0.s b/asm/nonmatchings/world/area_kpa/kpa_61/update_heroes_start_turn_A6E3E0.s new file mode 100644 index 0000000000..08cfcafd14 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_61/update_heroes_start_turn_A6E3E0.s @@ -0,0 +1,173 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_heroes_start_turn_A70404 +/* A70404 80242024 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A70408 80242028 AFB40040 */ sw $s4, 0x40($sp) +/* A7040C 8024202C 0080A02D */ daddu $s4, $a0, $zero +/* A70410 80242030 AFBF0048 */ sw $ra, 0x48($sp) +/* A70414 80242034 AFB50044 */ sw $s5, 0x44($sp) +/* A70418 80242038 AFB3003C */ sw $s3, 0x3c($sp) +/* A7041C 8024203C AFB20038 */ sw $s2, 0x38($sp) +/* A70420 80242040 AFB10034 */ sw $s1, 0x34($sp) +/* A70424 80242044 AFB00030 */ sw $s0, 0x30($sp) +/* A70428 80242048 8E920148 */ lw $s2, 0x148($s4) +/* A7042C 8024204C 86440008 */ lh $a0, 8($s2) +/* A70430 80242050 8E90000C */ lw $s0, 0xc($s4) +/* A70434 80242054 0C00EABB */ jal get_npc_unsafe +/* A70438 80242058 00A0882D */ daddu $s1, $a1, $zero +/* A7043C 8024205C 0280202D */ daddu $a0, $s4, $zero +/* A70440 80242060 8E050000 */ lw $a1, ($s0) +/* A70444 80242064 0C0B1EAF */ jal get_variable +/* A70448 80242068 0040A82D */ daddu $s5, $v0, $zero +/* A7044C 8024206C AFA00010 */ sw $zero, 0x10($sp) +/* A70450 80242070 8E4300D0 */ lw $v1, 0xd0($s2) +/* A70454 80242074 8C630030 */ lw $v1, 0x30($v1) +/* A70458 80242078 AFA30014 */ sw $v1, 0x14($sp) +/* A7045C 8024207C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A70460 80242080 8C63001C */ lw $v1, 0x1c($v1) +/* A70464 80242084 AFA30018 */ sw $v1, 0x18($sp) +/* A70468 80242088 8E4300D0 */ lw $v1, 0xd0($s2) +/* A7046C 8024208C 8C630024 */ lw $v1, 0x24($v1) +/* A70470 80242090 AFA3001C */ sw $v1, 0x1c($sp) +/* A70474 80242094 8E4300D0 */ lw $v1, 0xd0($s2) +/* A70478 80242098 8C630028 */ lw $v1, 0x28($v1) +/* A7047C 8024209C 27B30010 */ addiu $s3, $sp, 0x10 +/* A70480 802420A0 AFA30020 */ sw $v1, 0x20($sp) +/* A70484 802420A4 8E4300D0 */ lw $v1, 0xd0($s2) +/* A70488 802420A8 3C0142F0 */ lui $at, 0x42f0 +/* A7048C 802420AC 44810000 */ mtc1 $at, $f0 +/* A70490 802420B0 8C63002C */ lw $v1, 0x2c($v1) +/* A70494 802420B4 0040802D */ daddu $s0, $v0, $zero +/* A70498 802420B8 E7A00028 */ swc1 $f0, 0x28($sp) +/* A7049C 802420BC A7A0002C */ sh $zero, 0x2c($sp) +/* A704A0 802420C0 12200019 */ beqz $s1, .L80242128 +/* A704A4 802420C4 AFA30024 */ sw $v1, 0x24($sp) +/* A704A8 802420C8 8EA20000 */ lw $v0, ($s5) +/* A704AC 802420CC 2403FDFF */ addiu $v1, $zero, -0x201 +/* A704B0 802420D0 00431024 */ and $v0, $v0, $v1 +/* A704B4 802420D4 34420008 */ ori $v0, $v0, 8 +/* A704B8 802420D8 3C030020 */ lui $v1, 0x20 +/* A704BC 802420DC 00431025 */ or $v0, $v0, $v1 +/* A704C0 802420E0 AEA20000 */ sw $v0, ($s5) +/* A704C4 802420E4 8E420000 */ lw $v0, ($s2) +/* A704C8 802420E8 00431025 */ or $v0, $v0, $v1 +/* A704CC 802420EC AE420000 */ sw $v0, ($s2) +/* A704D0 802420F0 C6A0003C */ lwc1 $f0, 0x3c($s5) +/* A704D4 802420F4 3C014059 */ lui $at, 0x4059 +/* A704D8 802420F8 44811800 */ mtc1 $at, $f3 +/* A704DC 802420FC 44801000 */ mtc1 $zero, $f2 +/* A704E0 80242100 46000021 */ cvt.d.s $f0, $f0 +/* A704E4 80242104 46220002 */ mul.d $f0, $f0, $f2 +/* A704E8 80242108 00000000 */ nop +/* A704EC 8024210C 2402000A */ addiu $v0, $zero, 0xa +/* A704F0 80242110 AE40006C */ sw $zero, 0x6c($s2) +/* A704F4 80242114 AE400074 */ sw $zero, 0x74($s2) +/* A704F8 80242118 4620010D */ trunc.w.d $f4, $f0 +/* A704FC 8024211C E6440070 */ swc1 $f4, 0x70($s2) +/* A70500 80242120 A6A0008E */ sh $zero, 0x8e($s5) +/* A70504 80242124 AE820070 */ sw $v0, 0x70($s4) +.L80242128: +/* A70508 80242128 2402FFFB */ addiu $v0, $zero, -5 +/* A7050C 8024212C A2A200AB */ sb $v0, 0xab($s5) +/* A70510 80242130 8E4300B0 */ lw $v1, 0xb0($s2) +/* A70514 80242134 30620004 */ andi $v0, $v1, 4 +/* A70518 80242138 10400007 */ beqz $v0, .L80242158 +/* A7051C 8024213C 00000000 */ nop +/* A70520 80242140 824200B4 */ lb $v0, 0xb4($s2) +/* A70524 80242144 14400053 */ bnez $v0, .L80242294 +/* A70528 80242148 0000102D */ daddu $v0, $zero, $zero +/* A7052C 8024214C 2402FFFB */ addiu $v0, $zero, -5 +/* A70530 80242150 00621024 */ and $v0, $v1, $v0 +/* A70534 80242154 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242158: +/* A70538 80242158 8E820070 */ lw $v0, 0x70($s4) +/* A7053C 8024215C 2443FFF6 */ addiu $v1, $v0, -0xa +/* A70540 80242160 2C620029 */ sltiu $v0, $v1, 0x29 +/* A70544 80242164 1040004A */ beqz $v0, .L80242290 +/* A70548 80242168 00031080 */ sll $v0, $v1, 2 +/* A7054C 8024216C 3C018024 */ lui $at, 0x8024 +/* A70550 80242170 00220821 */ addu $at, $at, $v0 +/* A70554 80242174 8C223D98 */ lw $v0, 0x3d98($at) +/* A70558 80242178 00400008 */ jr $v0 +/* A7055C 8024217C 00000000 */ nop +/* A70560 80242180 0280202D */ daddu $a0, $s4, $zero +/* A70564 80242184 0200282D */ daddu $a1, $s0, $zero +/* A70568 80242188 0C090471 */ jal func_802411C4 +/* A7056C 8024218C 0260302D */ daddu $a2, $s3, $zero +/* A70570 80242190 0280202D */ daddu $a0, $s4, $zero +/* A70574 80242194 0200282D */ daddu $a1, $s0, $zero +/* A70578 80242198 0C090480 */ jal func_80241200 +/* A7057C 8024219C 0260302D */ daddu $a2, $s3, $zero +/* A70580 802421A0 080908A5 */ j .L80242294 +/* A70584 802421A4 0000102D */ daddu $v0, $zero, $zero +/* A70588 802421A8 0280202D */ daddu $a0, $s4, $zero +/* A7058C 802421AC 0200282D */ daddu $a1, $s0, $zero +/* A70590 802421B0 0C0904E3 */ jal func_8024138C +/* A70594 802421B4 0260302D */ daddu $a2, $s3, $zero +/* A70598 802421B8 8E830070 */ lw $v1, 0x70($s4) +/* A7059C 802421BC 24020010 */ addiu $v0, $zero, 0x10 +/* A705A0 802421C0 14620034 */ bne $v1, $v0, .L80242294 +/* A705A4 802421C4 0000102D */ daddu $v0, $zero, $zero +/* A705A8 802421C8 0280202D */ daddu $a0, $s4, $zero +/* A705AC 802421CC 0200282D */ daddu $a1, $s0, $zero +/* A705B0 802421D0 0C0905DF */ jal func_8024177C +/* A705B4 802421D4 0260302D */ daddu $a2, $s3, $zero +/* A705B8 802421D8 8E830070 */ lw $v1, 0x70($s4) +/* A705BC 802421DC 24020011 */ addiu $v0, $zero, 0x11 +/* A705C0 802421E0 1462002C */ bne $v1, $v0, .L80242294 +/* A705C4 802421E4 0000102D */ daddu $v0, $zero, $zero +/* A705C8 802421E8 0280202D */ daddu $a0, $s4, $zero +/* A705CC 802421EC 0200282D */ daddu $a1, $s0, $zero +/* A705D0 802421F0 0C09061C */ jal func_80241870 +/* A705D4 802421F4 0260302D */ daddu $a2, $s3, $zero +/* A705D8 802421F8 080908A5 */ j .L80242294 +/* A705DC 802421FC 0000102D */ daddu $v0, $zero, $zero +/* A705E0 80242200 0280202D */ daddu $a0, $s4, $zero +/* A705E4 80242204 0200282D */ daddu $a1, $s0, $zero +/* A705E8 80242208 0C0906AD */ jal func_80241AB4 +/* A705EC 8024220C 0260302D */ daddu $a2, $s3, $zero +/* A705F0 80242210 080908A5 */ j .L80242294 +/* A705F4 80242214 0000102D */ daddu $v0, $zero, $zero +/* A705F8 80242218 0280202D */ daddu $a0, $s4, $zero +/* A705FC 8024221C 0200282D */ daddu $a1, $s0, $zero +/* A70600 80242220 0C0906BC */ jal func_80241AF0 +/* A70604 80242224 0260302D */ daddu $a2, $s3, $zero +/* A70608 80242228 080908A5 */ j .L80242294 +/* A7060C 8024222C 0000102D */ daddu $v0, $zero, $zero +/* A70610 80242230 0280202D */ daddu $a0, $s4, $zero +/* A70614 80242234 0200282D */ daddu $a1, $s0, $zero +/* A70618 80242238 0C09072F */ jal func_80241CBC +/* A7061C 8024223C 0260302D */ daddu $a2, $s3, $zero +/* A70620 80242240 080908A5 */ j .L80242294 +/* A70624 80242244 0000102D */ daddu $v0, $zero, $zero +/* A70628 80242248 0280202D */ daddu $a0, $s4, $zero +/* A7062C 8024224C 0200282D */ daddu $a1, $s0, $zero +/* A70630 80242250 0C09074A */ jal func_80241D28 +/* A70634 80242254 0260302D */ daddu $a2, $s3, $zero +/* A70638 80242258 8E830070 */ lw $v1, 0x70($s4) +/* A7063C 8024225C 24020018 */ addiu $v0, $zero, 0x18 +/* A70640 80242260 1462000C */ bne $v1, $v0, .L80242294 +/* A70644 80242264 0000102D */ daddu $v0, $zero, $zero +/* A70648 80242268 0280202D */ daddu $a0, $s4, $zero +/* A7064C 8024226C 0200282D */ daddu $a1, $s0, $zero +/* A70650 80242270 0C090797 */ jal func_80241E5C +/* A70654 80242274 0260302D */ daddu $a2, $s3, $zero +/* A70658 80242278 080908A5 */ j .L80242294 +/* A7065C 8024227C 0000102D */ daddu $v0, $zero, $zero +/* A70660 80242280 0280202D */ daddu $a0, $s4, $zero +/* A70664 80242284 0200282D */ daddu $a1, $s0, $zero +/* A70668 80242288 0C0907D3 */ jal func_80241F4C +/* A7066C 8024228C 0260302D */ daddu $a2, $s3, $zero +.L80242290: +/* A70670 80242290 0000102D */ daddu $v0, $zero, $zero +.L80242294: +/* A70674 80242294 8FBF0048 */ lw $ra, 0x48($sp) +/* A70678 80242298 8FB50044 */ lw $s5, 0x44($sp) +/* A7067C 8024229C 8FB40040 */ lw $s4, 0x40($sp) +/* A70680 802422A0 8FB3003C */ lw $s3, 0x3c($sp) +/* A70684 802422A4 8FB20038 */ lw $s2, 0x38($sp) +/* A70688 802422A8 8FB10034 */ lw $s1, 0x34($sp) +/* A7068C 802422AC 8FB00030 */ lw $s0, 0x30($sp) +/* A70690 802422B0 03E00008 */ jr $ra +/* A70694 802422B4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_62/func_80240000_A72220.s b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240000_A72220.s new file mode 100644 index 0000000000..be69e83d3d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240000_A72220.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A72220 +/* A72220 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A72224 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A72228 80240008 0C04417A */ jal get_entity_by_index +/* A7222C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* A72230 80240010 0040182D */ daddu $v1, $v0, $zero +/* A72234 80240014 8C640000 */ lw $a0, ($v1) +/* A72238 80240018 3C050010 */ lui $a1, 0x10 +/* A7223C 8024001C 00852025 */ or $a0, $a0, $a1 +/* A72240 80240020 AC640000 */ sw $a0, ($v1) +/* A72244 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* A72248 80240028 24020002 */ addiu $v0, $zero, 2 +/* A7224C 8024002C 03E00008 */ jr $ra +/* A72250 80240030 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_62/func_80240034_A72220.s b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240034_A72220.s new file mode 100644 index 0000000000..7e45ec3c9e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240034_A72220.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_A72254 +/* A72254 80240034 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A72258 80240038 AFB20018 */ sw $s2, 0x18($sp) +/* A7225C 8024003C 0080902D */ daddu $s2, $a0, $zero +/* A72260 80240040 AFBF001C */ sw $ra, 0x1c($sp) +/* A72264 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* A72268 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* A7226C 8024004C 8E50000C */ lw $s0, 0xc($s2) +/* A72270 80240050 8E050000 */ lw $a1, ($s0) +/* A72274 80240054 0C0B1EAF */ jal get_variable +/* A72278 80240058 26100004 */ addiu $s0, $s0, 4 +/* A7227C 8024005C 0C04417A */ jal get_entity_by_index +/* A72280 80240060 0040202D */ daddu $a0, $v0, $zero +/* A72284 80240064 8E050000 */ lw $a1, ($s0) +/* A72288 80240068 26100004 */ addiu $s0, $s0, 4 +/* A7228C 8024006C 0040882D */ daddu $s1, $v0, $zero +/* A72290 80240070 C6200048 */ lwc1 $f0, 0x48($s1) +/* A72294 80240074 4600008D */ trunc.w.s $f2, $f0 +/* A72298 80240078 44061000 */ mfc1 $a2, $f2 +/* A7229C 8024007C 0C0B2026 */ jal set_variable +/* A722A0 80240080 0240202D */ daddu $a0, $s2, $zero +/* A722A4 80240084 8E050000 */ lw $a1, ($s0) +/* A722A8 80240088 26100004 */ addiu $s0, $s0, 4 +/* A722AC 8024008C C620004C */ lwc1 $f0, 0x4c($s1) +/* A722B0 80240090 4600008D */ trunc.w.s $f2, $f0 +/* A722B4 80240094 44061000 */ mfc1 $a2, $f2 +/* A722B8 80240098 0C0B2026 */ jal set_variable +/* A722BC 8024009C 0240202D */ daddu $a0, $s2, $zero +/* A722C0 802400A0 C6200050 */ lwc1 $f0, 0x50($s1) +/* A722C4 802400A4 8E050000 */ lw $a1, ($s0) +/* A722C8 802400A8 4600008D */ trunc.w.s $f2, $f0 +/* A722CC 802400AC 44061000 */ mfc1 $a2, $f2 +/* A722D0 802400B0 0C0B2026 */ jal set_variable +/* A722D4 802400B4 0240202D */ daddu $a0, $s2, $zero +/* A722D8 802400B8 8FBF001C */ lw $ra, 0x1c($sp) +/* A722DC 802400BC 8FB20018 */ lw $s2, 0x18($sp) +/* A722E0 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* A722E4 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* A722E8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* A722EC 802400CC 03E00008 */ jr $ra +/* A722F0 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* A722F4 802400D4 00000000 */ nop +/* A722F8 802400D8 00000000 */ nop +/* A722FC 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_62/func_802400E0_A72220.s b/asm/nonmatchings/world/area_kpa/kpa_62/func_802400E0_A72220.s new file mode 100644 index 0000000000..38d9b4d599 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_62/func_802400E0_A72220.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_A72300 +/* A72300 802400E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A72304 802400E4 AFB00010 */ sw $s0, 0x10($sp) +/* A72308 802400E8 0080802D */ daddu $s0, $a0, $zero +/* A7230C 802400EC AFBF0014 */ sw $ra, 0x14($sp) +/* A72310 802400F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* A72314 802400F4 8E020088 */ lw $v0, 0x88($s0) +/* A72318 802400F8 00621821 */ addu $v1, $v1, $v0 +/* A7231C 802400FC 04610004 */ bgez $v1, .L80240110 +/* A72320 80240100 AE0300A8 */ sw $v1, 0xa8($s0) +/* A72324 80240104 3C020002 */ lui $v0, 2 +/* A72328 80240108 08090048 */ j .L80240120 +/* A7232C 8024010C 00621021 */ addu $v0, $v1, $v0 +.L80240110: +/* A72330 80240110 3C040002 */ lui $a0, 2 +/* A72334 80240114 0083102A */ slt $v0, $a0, $v1 +/* A72338 80240118 10400002 */ beqz $v0, .L80240124 +/* A7233C 8024011C 00641023 */ subu $v0, $v1, $a0 +.L80240120: +/* A72340 80240120 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240124: +/* A72344 80240124 8E0300AC */ lw $v1, 0xac($s0) +/* A72348 80240128 8E02008C */ lw $v0, 0x8c($s0) +/* A7234C 8024012C 00621821 */ addu $v1, $v1, $v0 +/* A72350 80240130 04610004 */ bgez $v1, .L80240144 +/* A72354 80240134 AE0300AC */ sw $v1, 0xac($s0) +/* A72358 80240138 3C020002 */ lui $v0, 2 +/* A7235C 8024013C 08090055 */ j .L80240154 +/* A72360 80240140 00621021 */ addu $v0, $v1, $v0 +.L80240144: +/* A72364 80240144 3C040002 */ lui $a0, 2 +/* A72368 80240148 0083102A */ slt $v0, $a0, $v1 +/* A7236C 8024014C 10400002 */ beqz $v0, .L80240158 +/* A72370 80240150 00641023 */ subu $v0, $v1, $a0 +.L80240154: +/* A72374 80240154 AE0200AC */ sw $v0, 0xac($s0) +.L80240158: +/* A72378 80240158 8E0300B0 */ lw $v1, 0xb0($s0) +/* A7237C 8024015C 8E020090 */ lw $v0, 0x90($s0) +/* A72380 80240160 00621821 */ addu $v1, $v1, $v0 +/* A72384 80240164 04610004 */ bgez $v1, .L80240178 +/* A72388 80240168 AE0300B0 */ sw $v1, 0xb0($s0) +/* A7238C 8024016C 3C020002 */ lui $v0, 2 +/* A72390 80240170 08090062 */ j .L80240188 +/* A72394 80240174 00621021 */ addu $v0, $v1, $v0 +.L80240178: +/* A72398 80240178 3C040002 */ lui $a0, 2 +/* A7239C 8024017C 0083102A */ slt $v0, $a0, $v1 +/* A723A0 80240180 10400002 */ beqz $v0, .L8024018C +/* A723A4 80240184 00641023 */ subu $v0, $v1, $a0 +.L80240188: +/* A723A8 80240188 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024018C: +/* A723AC 8024018C 8E0300B4 */ lw $v1, 0xb4($s0) +/* A723B0 80240190 8E020094 */ lw $v0, 0x94($s0) +/* A723B4 80240194 00621821 */ addu $v1, $v1, $v0 +/* A723B8 80240198 04610004 */ bgez $v1, .L802401AC +/* A723BC 8024019C AE0300B4 */ sw $v1, 0xb4($s0) +/* A723C0 802401A0 3C020002 */ lui $v0, 2 +/* A723C4 802401A4 0809006F */ j .L802401BC +/* A723C8 802401A8 00621021 */ addu $v0, $v1, $v0 +.L802401AC: +/* A723CC 802401AC 3C040002 */ lui $a0, 2 +/* A723D0 802401B0 0083102A */ slt $v0, $a0, $v1 +/* A723D4 802401B4 10400002 */ beqz $v0, .L802401C0 +/* A723D8 802401B8 00641023 */ subu $v0, $v1, $a0 +.L802401BC: +/* A723DC 802401BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802401C0: +/* A723E0 802401C0 8E040084 */ lw $a0, 0x84($s0) +/* A723E4 802401C4 0C046F07 */ jal set_main_pan_u +/* A723E8 802401C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A723EC 802401CC 8E040084 */ lw $a0, 0x84($s0) +/* A723F0 802401D0 0C046F0D */ jal set_main_pan_v +/* A723F4 802401D4 8E0500AC */ lw $a1, 0xac($s0) +/* A723F8 802401D8 8E040084 */ lw $a0, 0x84($s0) +/* A723FC 802401DC 0C046F13 */ jal set_aux_pan_u +/* A72400 802401E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* A72404 802401E4 8E040084 */ lw $a0, 0x84($s0) +/* A72408 802401E8 0C046F19 */ jal set_aux_pan_v +/* A7240C 802401EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* A72410 802401F0 8FBF0014 */ lw $ra, 0x14($sp) +/* A72414 802401F4 8FB00010 */ lw $s0, 0x10($sp) +/* A72418 802401F8 0000102D */ daddu $v0, $zero, $zero +/* A7241C 802401FC 03E00008 */ jr $ra +/* A72420 80240200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_62/func_80240204_A72220.s b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240204_A72220.s new file mode 100644 index 0000000000..515d246124 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_62/func_80240204_A72220.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240204_A72424 +/* A72424 80240204 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A72428 80240208 AFB00010 */ sw $s0, 0x10($sp) +/* A7242C 8024020C 0080802D */ daddu $s0, $a0, $zero +/* A72430 80240210 10A00005 */ beqz $a1, .L80240228 +/* A72434 80240214 AFBF0014 */ sw $ra, 0x14($sp) +/* A72438 80240218 AE000070 */ sw $zero, 0x70($s0) +/* A7243C 8024021C AE000074 */ sw $zero, 0x74($s0) +/* A72440 80240220 AE000078 */ sw $zero, 0x78($s0) +/* A72444 80240224 AE00007C */ sw $zero, 0x7c($s0) +.L80240228: +/* A72448 80240228 8E020070 */ lw $v0, 0x70($s0) +/* A7244C 8024022C 1440000E */ bnez $v0, .L80240268 +/* A72450 80240230 00000000 */ nop +/* A72454 80240234 8E0300A8 */ lw $v1, 0xa8($s0) +/* A72458 80240238 8E020088 */ lw $v0, 0x88($s0) +/* A7245C 8024023C 00621821 */ addu $v1, $v1, $v0 +/* A72460 80240240 04610004 */ bgez $v1, .L80240254 +/* A72464 80240244 AE0300A8 */ sw $v1, 0xa8($s0) +/* A72468 80240248 3C020002 */ lui $v0, 2 +/* A7246C 8024024C 08090099 */ j .L80240264 +/* A72470 80240250 00621021 */ addu $v0, $v1, $v0 +.L80240254: +/* A72474 80240254 3C040002 */ lui $a0, 2 +/* A72478 80240258 0083102A */ slt $v0, $a0, $v1 +/* A7247C 8024025C 10400002 */ beqz $v0, .L80240268 +/* A72480 80240260 00641023 */ subu $v0, $v1, $a0 +.L80240264: +/* A72484 80240264 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240268: +/* A72488 80240268 8E020074 */ lw $v0, 0x74($s0) +/* A7248C 8024026C 1440000E */ bnez $v0, .L802402A8 +/* A72490 80240270 00000000 */ nop +/* A72494 80240274 8E0300AC */ lw $v1, 0xac($s0) +/* A72498 80240278 8E02008C */ lw $v0, 0x8c($s0) +/* A7249C 8024027C 00621821 */ addu $v1, $v1, $v0 +/* A724A0 80240280 04610004 */ bgez $v1, .L80240294 +/* A724A4 80240284 AE0300AC */ sw $v1, 0xac($s0) +/* A724A8 80240288 3C020002 */ lui $v0, 2 +/* A724AC 8024028C 080900A9 */ j .L802402A4 +/* A724B0 80240290 00621021 */ addu $v0, $v1, $v0 +.L80240294: +/* A724B4 80240294 3C040002 */ lui $a0, 2 +/* A724B8 80240298 0083102A */ slt $v0, $a0, $v1 +/* A724BC 8024029C 10400002 */ beqz $v0, .L802402A8 +/* A724C0 802402A0 00641023 */ subu $v0, $v1, $a0 +.L802402A4: +/* A724C4 802402A4 AE0200AC */ sw $v0, 0xac($s0) +.L802402A8: +/* A724C8 802402A8 8E020078 */ lw $v0, 0x78($s0) +/* A724CC 802402AC 1440000E */ bnez $v0, .L802402E8 +/* A724D0 802402B0 00000000 */ nop +/* A724D4 802402B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A724D8 802402B8 8E020090 */ lw $v0, 0x90($s0) +/* A724DC 802402BC 00621821 */ addu $v1, $v1, $v0 +/* A724E0 802402C0 04610004 */ bgez $v1, .L802402D4 +/* A724E4 802402C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A724E8 802402C8 3C020002 */ lui $v0, 2 +/* A724EC 802402CC 080900B9 */ j .L802402E4 +/* A724F0 802402D0 00621021 */ addu $v0, $v1, $v0 +.L802402D4: +/* A724F4 802402D4 3C040002 */ lui $a0, 2 +/* A724F8 802402D8 0083102A */ slt $v0, $a0, $v1 +/* A724FC 802402DC 10400002 */ beqz $v0, .L802402E8 +/* A72500 802402E0 00641023 */ subu $v0, $v1, $a0 +.L802402E4: +/* A72504 802402E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802402E8: +/* A72508 802402E8 8E02007C */ lw $v0, 0x7c($s0) +/* A7250C 802402EC 1440000E */ bnez $v0, .L80240328 +/* A72510 802402F0 00000000 */ nop +/* A72514 802402F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* A72518 802402F8 8E020094 */ lw $v0, 0x94($s0) +/* A7251C 802402FC 00621821 */ addu $v1, $v1, $v0 +/* A72520 80240300 04610004 */ bgez $v1, .L80240314 +/* A72524 80240304 AE0300B4 */ sw $v1, 0xb4($s0) +/* A72528 80240308 3C020002 */ lui $v0, 2 +/* A7252C 8024030C 080900C9 */ j .L80240324 +/* A72530 80240310 00621021 */ addu $v0, $v1, $v0 +.L80240314: +/* A72534 80240314 3C040002 */ lui $a0, 2 +/* A72538 80240318 0083102A */ slt $v0, $a0, $v1 +/* A7253C 8024031C 10400002 */ beqz $v0, .L80240328 +/* A72540 80240320 00641023 */ subu $v0, $v1, $a0 +.L80240324: +/* A72544 80240324 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240328: +/* A72548 80240328 8E040084 */ lw $a0, 0x84($s0) +/* A7254C 8024032C 0C046F07 */ jal set_main_pan_u +/* A72550 80240330 8E0500A8 */ lw $a1, 0xa8($s0) +/* A72554 80240334 8E040084 */ lw $a0, 0x84($s0) +/* A72558 80240338 0C046F0D */ jal set_main_pan_v +/* A7255C 8024033C 8E0500AC */ lw $a1, 0xac($s0) +/* A72560 80240340 8E040084 */ lw $a0, 0x84($s0) +/* A72564 80240344 0C046F13 */ jal set_aux_pan_u +/* A72568 80240348 8E0500B0 */ lw $a1, 0xb0($s0) +/* A7256C 8024034C 8E040084 */ lw $a0, 0x84($s0) +/* A72570 80240350 0C046F19 */ jal set_aux_pan_v +/* A72574 80240354 8E0500B4 */ lw $a1, 0xb4($s0) +/* A72578 80240358 8E020070 */ lw $v0, 0x70($s0) +/* A7257C 8024035C 8E030078 */ lw $v1, 0x78($s0) +/* A72580 80240360 8E040098 */ lw $a0, 0x98($s0) +/* A72584 80240364 24420001 */ addiu $v0, $v0, 1 +/* A72588 80240368 AE020070 */ sw $v0, 0x70($s0) +/* A7258C 8024036C 8E020074 */ lw $v0, 0x74($s0) +/* A72590 80240370 24630001 */ addiu $v1, $v1, 1 +/* A72594 80240374 AE030078 */ sw $v1, 0x78($s0) +/* A72598 80240378 8E030070 */ lw $v1, 0x70($s0) +/* A7259C 8024037C 24420001 */ addiu $v0, $v0, 1 +/* A725A0 80240380 AE020074 */ sw $v0, 0x74($s0) +/* A725A4 80240384 8E02007C */ lw $v0, 0x7c($s0) +/* A725A8 80240388 0064182A */ slt $v1, $v1, $a0 +/* A725AC 8024038C 24420001 */ addiu $v0, $v0, 1 +/* A725B0 80240390 14600002 */ bnez $v1, .L8024039C +/* A725B4 80240394 AE02007C */ sw $v0, 0x7c($s0) +/* A725B8 80240398 AE000070 */ sw $zero, 0x70($s0) +.L8024039C: +/* A725BC 8024039C 8E020074 */ lw $v0, 0x74($s0) +/* A725C0 802403A0 8E03009C */ lw $v1, 0x9c($s0) +/* A725C4 802403A4 0043102A */ slt $v0, $v0, $v1 +/* A725C8 802403A8 50400001 */ beql $v0, $zero, .L802403B0 +/* A725CC 802403AC AE000074 */ sw $zero, 0x74($s0) +.L802403B0: +/* A725D0 802403B0 8E020078 */ lw $v0, 0x78($s0) +/* A725D4 802403B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A725D8 802403B8 0043102A */ slt $v0, $v0, $v1 +/* A725DC 802403BC 50400001 */ beql $v0, $zero, .L802403C4 +/* A725E0 802403C0 AE000078 */ sw $zero, 0x78($s0) +.L802403C4: +/* A725E4 802403C4 8E02007C */ lw $v0, 0x7c($s0) +/* A725E8 802403C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A725EC 802403CC 0043102A */ slt $v0, $v0, $v1 +/* A725F0 802403D0 50400001 */ beql $v0, $zero, .L802403D8 +/* A725F4 802403D4 AE00007C */ sw $zero, 0x7c($s0) +.L802403D8: +/* A725F8 802403D8 8FBF0014 */ lw $ra, 0x14($sp) +/* A725FC 802403DC 8FB00010 */ lw $s0, 0x10($sp) +/* A72600 802403E0 0000102D */ daddu $v0, $zero, $zero +/* A72604 802403E4 03E00008 */ jr $ra +/* A72608 802403E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* A7260C 802403EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_63/func_80240000_A735B0.s b/asm/nonmatchings/world/area_kpa/kpa_63/func_80240000_A735B0.s new file mode 100644 index 0000000000..55eee1647d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_63/func_80240000_A735B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A735B0 +/* A735B0 80240000 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A735B4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* A735B8 80240008 0080882D */ daddu $s1, $a0, $zero +/* A735BC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* A735C0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* A735C4 80240014 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* A735C8 80240018 F7B80030 */ sdc1 $f24, 0x30($sp) +/* A735CC 8024001C F7B60028 */ sdc1 $f22, 0x28($sp) +/* A735D0 80240020 F7B40020 */ sdc1 $f20, 0x20($sp) +/* A735D4 80240024 10A0001E */ beqz $a1, .L802400A0 +/* A735D8 80240028 8E30000C */ lw $s0, 0xc($s1) +/* A735DC 8024002C 8E050000 */ lw $a1, ($s0) +/* A735E0 80240030 0C0B1EAF */ jal get_variable +/* A735E4 80240034 26100004 */ addiu $s0, $s0, 4 +/* A735E8 80240038 AE220070 */ sw $v0, 0x70($s1) +/* A735EC 8024003C 8E050000 */ lw $a1, ($s0) +/* A735F0 80240040 26100004 */ addiu $s0, $s0, 4 +/* A735F4 80240044 0C0B1EAF */ jal get_variable +/* A735F8 80240048 0220202D */ daddu $a0, $s1, $zero +/* A735FC 8024004C 8E050000 */ lw $a1, ($s0) +/* A73600 80240050 4482D000 */ mtc1 $v0, $f26 +/* A73604 80240054 00000000 */ nop +/* A73608 80240058 4680D6A0 */ cvt.s.w $f26, $f26 +/* A7360C 8024005C 0C0B1EAF */ jal get_variable +/* A73610 80240060 0220202D */ daddu $a0, $s1, $zero +/* A73614 80240064 8E230070 */ lw $v1, 0x70($s1) +/* A73618 80240068 4482B000 */ mtc1 $v0, $f22 +/* A7361C 8024006C 00000000 */ nop +/* A73620 80240070 4680B5A0 */ cvt.s.w $f22, $f22 +/* A73624 80240074 10600005 */ beqz $v1, .L8024008C +/* A73628 80240078 24020001 */ addiu $v0, $zero, 1 +/* A7362C 8024007C 10620006 */ beq $v1, $v0, .L80240098 +/* A73630 80240080 00000000 */ nop +/* A73634 80240084 08090028 */ j .L802400A0 +/* A73638 80240088 00000000 */ nop +.L8024008C: +/* A7363C 8024008C 4480A000 */ mtc1 $zero, $f20 +/* A73640 80240090 08090028 */ j .L802400A0 +/* A73644 80240094 00000000 */ nop +.L80240098: +/* A73648 80240098 3C0140A0 */ lui $at, 0x40a0 +/* A7364C 8024009C 4481A000 */ mtc1 $at, $f20 +.L802400A0: +/* A73650 802400A0 0C00A8BB */ jal sin_deg +/* A73654 802400A4 4600B306 */ mov.s $f12, $f22 +/* A73658 802400A8 46140002 */ mul.s $f0, $f0, $f20 +/* A7365C 802400AC 00000000 */ nop +/* A73660 802400B0 3C01C2F0 */ lui $at, 0xc2f0 +/* A73664 802400B4 44811000 */ mtc1 $at, $f2 +/* A73668 802400B8 00000000 */ nop +/* A7366C 802400BC 46020600 */ add.s $f24, $f0, $f2 +/* A73670 802400C0 3C014130 */ lui $at, 0x4130 +/* A73674 802400C4 44810000 */ mtc1 $at, $f0 +/* A73678 802400C8 00000000 */ nop +/* A7367C 802400CC 4600D681 */ sub.s $f26, $f26, $f0 +/* A73680 802400D0 0C00A8D4 */ jal cos_deg +/* A73684 802400D4 4600B306 */ mov.s $f12, $f22 +/* A73688 802400D8 46140002 */ mul.s $f0, $f0, $f20 +/* A7368C 802400DC 00000000 */ nop +/* A73690 802400E0 3C014361 */ lui $at, 0x4361 +/* A73694 802400E4 44811000 */ mtc1 $at, $f2 +/* A73698 802400E8 8E240070 */ lw $a0, 0x70($s1) +/* A7369C 802400EC 10800006 */ beqz $a0, .L80240108 +/* A736A0 802400F0 46020500 */ add.s $f20, $f0, $f2 +/* A736A4 802400F4 24020001 */ addiu $v0, $zero, 1 +/* A736A8 802400F8 10820009 */ beq $a0, $v0, .L80240120 +/* A736AC 802400FC 24020002 */ addiu $v0, $zero, 2 +/* A736B0 80240100 0809005A */ j .L80240168 +/* A736B4 80240104 00000000 */ nop +.L80240108: +/* A736B8 80240108 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A736BC 8024010C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A736C0 80240110 E4580028 */ swc1 $f24, 0x28($v0) +/* A736C4 80240114 E45A002C */ swc1 $f26, 0x2c($v0) +/* A736C8 80240118 08090059 */ j .L80240164 +/* A736CC 8024011C E4540030 */ swc1 $f20, 0x30($v0) +.L80240120: +/* A736D0 80240120 0C00EAD2 */ jal get_npc_safe +/* A736D4 80240124 2404FFFC */ addiu $a0, $zero, -4 +/* A736D8 80240128 0040202D */ daddu $a0, $v0, $zero +/* A736DC 8024012C 1080000D */ beqz $a0, .L80240164 +/* A736E0 80240130 4600C006 */ mov.s $f0, $f24 +/* A736E4 80240134 E4980038 */ swc1 $f24, 0x38($a0) +/* A736E8 80240138 E49A003C */ swc1 $f26, 0x3c($a0) +/* A736EC 8024013C 4600D086 */ mov.s $f2, $f26 +/* A736F0 80240140 E4940040 */ swc1 $f20, 0x40($a0) +/* A736F4 80240144 4600A106 */ mov.s $f4, $f20 +/* A736F8 80240148 8C820000 */ lw $v0, ($a0) +/* A736FC 8024014C 3C030001 */ lui $v1, 1 +/* A73700 80240150 E480006C */ swc1 $f0, 0x6c($a0) +/* A73704 80240154 E4820070 */ swc1 $f2, 0x70($a0) +/* A73708 80240158 E4840074 */ swc1 $f4, 0x74($a0) +/* A7370C 8024015C 00431025 */ or $v0, $v0, $v1 +/* A73710 80240160 AC820000 */ sw $v0, ($a0) +.L80240164: +/* A73714 80240164 24020002 */ addiu $v0, $zero, 2 +.L80240168: +/* A73718 80240168 8FBF0018 */ lw $ra, 0x18($sp) +/* A7371C 8024016C 8FB10014 */ lw $s1, 0x14($sp) +/* A73720 80240170 8FB00010 */ lw $s0, 0x10($sp) +/* A73724 80240174 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* A73728 80240178 D7B80030 */ ldc1 $f24, 0x30($sp) +/* A7372C 8024017C D7B60028 */ ldc1 $f22, 0x28($sp) +/* A73730 80240180 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A73734 80240184 03E00008 */ jr $ra +/* A73738 80240188 27BD0040 */ addiu $sp, $sp, 0x40 +/* A7373C 8024018C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_80240000_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240000_A74870.s new file mode 100644 index 0000000000..0e5e8b8792 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240000_A74870.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A74870 +/* A74870 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A74874 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* A74878 80240008 0080802D */ daddu $s0, $a0, $zero +/* A7487C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* A74880 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* A74884 80240014 8E020088 */ lw $v0, 0x88($s0) +/* A74888 80240018 00621821 */ addu $v1, $v1, $v0 +/* A7488C 8024001C 04610004 */ bgez $v1, .L80240030 +/* A74890 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* A74894 80240024 3C020002 */ lui $v0, 2 +/* A74898 80240028 08090010 */ j .L80240040 +/* A7489C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* A748A0 80240030 3C040002 */ lui $a0, 2 +/* A748A4 80240034 0083102A */ slt $v0, $a0, $v1 +/* A748A8 80240038 10400002 */ beqz $v0, .L80240044 +/* A748AC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* A748B0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* A748B4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* A748B8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* A748BC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* A748C0 80240050 04610004 */ bgez $v1, .L80240064 +/* A748C4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* A748C8 80240058 3C020002 */ lui $v0, 2 +/* A748CC 8024005C 0809001D */ j .L80240074 +/* A748D0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* A748D4 80240064 3C040002 */ lui $a0, 2 +/* A748D8 80240068 0083102A */ slt $v0, $a0, $v1 +/* A748DC 8024006C 10400002 */ beqz $v0, .L80240078 +/* A748E0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* A748E4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* A748E8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* A748EC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* A748F0 80240080 00621821 */ addu $v1, $v1, $v0 +/* A748F4 80240084 04610004 */ bgez $v1, .L80240098 +/* A748F8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* A748FC 8024008C 3C020002 */ lui $v0, 2 +/* A74900 80240090 0809002A */ j .L802400A8 +/* A74904 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* A74908 80240098 3C040002 */ lui $a0, 2 +/* A7490C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* A74910 802400A0 10400002 */ beqz $v0, .L802400AC +/* A74914 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* A74918 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* A7491C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* A74920 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* A74924 802400B4 00621821 */ addu $v1, $v1, $v0 +/* A74928 802400B8 04610004 */ bgez $v1, .L802400CC +/* A7492C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* A74930 802400C0 3C020002 */ lui $v0, 2 +/* A74934 802400C4 08090037 */ j .L802400DC +/* A74938 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* A7493C 802400CC 3C040002 */ lui $a0, 2 +/* A74940 802400D0 0083102A */ slt $v0, $a0, $v1 +/* A74944 802400D4 10400002 */ beqz $v0, .L802400E0 +/* A74948 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* A7494C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* A74950 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* A74954 802400E4 0C046F07 */ jal set_main_pan_u +/* A74958 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* A7495C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* A74960 802400F0 0C046F0D */ jal set_main_pan_v +/* A74964 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* A74968 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* A7496C 802400FC 0C046F13 */ jal set_aux_pan_u +/* A74970 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* A74974 80240104 8E040084 */ lw $a0, 0x84($s0) +/* A74978 80240108 0C046F19 */ jal set_aux_pan_v +/* A7497C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* A74980 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* A74984 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* A74988 80240118 0000102D */ daddu $v0, $zero, $zero +/* A7498C 8024011C 03E00008 */ jr $ra +/* A74990 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_80240124_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240124_A74870.s new file mode 100644 index 0000000000..de43b41325 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240124_A74870.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_A74994 +/* A74994 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A74998 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* A7499C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* A749A0 80240130 10A00005 */ beqz $a1, .L80240148 +/* A749A4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* A749A8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* A749AC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* A749B0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* A749B4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* A749B8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* A749BC 8024014C 1440000E */ bnez $v0, .L80240188 +/* A749C0 80240150 00000000 */ nop +/* A749C4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* A749C8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* A749CC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* A749D0 80240160 04610004 */ bgez $v1, .L80240174 +/* A749D4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* A749D8 80240168 3C020002 */ lui $v0, 2 +/* A749DC 8024016C 08090061 */ j .L80240184 +/* A749E0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* A749E4 80240174 3C040002 */ lui $a0, 2 +/* A749E8 80240178 0083102A */ slt $v0, $a0, $v1 +/* A749EC 8024017C 10400002 */ beqz $v0, .L80240188 +/* A749F0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* A749F4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* A749F8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* A749FC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* A74A00 80240190 00000000 */ nop +/* A74A04 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* A74A08 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* A74A0C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* A74A10 802401A0 04610004 */ bgez $v1, .L802401B4 +/* A74A14 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* A74A18 802401A8 3C020002 */ lui $v0, 2 +/* A74A1C 802401AC 08090071 */ j .L802401C4 +/* A74A20 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* A74A24 802401B4 3C040002 */ lui $a0, 2 +/* A74A28 802401B8 0083102A */ slt $v0, $a0, $v1 +/* A74A2C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* A74A30 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* A74A34 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* A74A38 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* A74A3C 802401CC 1440000E */ bnez $v0, .L80240208 +/* A74A40 802401D0 00000000 */ nop +/* A74A44 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* A74A48 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* A74A4C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* A74A50 802401E0 04610004 */ bgez $v1, .L802401F4 +/* A74A54 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* A74A58 802401E8 3C020002 */ lui $v0, 2 +/* A74A5C 802401EC 08090081 */ j .L80240204 +/* A74A60 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* A74A64 802401F4 3C040002 */ lui $a0, 2 +/* A74A68 802401F8 0083102A */ slt $v0, $a0, $v1 +/* A74A6C 802401FC 10400002 */ beqz $v0, .L80240208 +/* A74A70 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* A74A74 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* A74A78 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* A74A7C 8024020C 1440000E */ bnez $v0, .L80240248 +/* A74A80 80240210 00000000 */ nop +/* A74A84 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* A74A88 80240218 8E020094 */ lw $v0, 0x94($s0) +/* A74A8C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* A74A90 80240220 04610004 */ bgez $v1, .L80240234 +/* A74A94 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* A74A98 80240228 3C020002 */ lui $v0, 2 +/* A74A9C 8024022C 08090091 */ j .L80240244 +/* A74AA0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* A74AA4 80240234 3C040002 */ lui $a0, 2 +/* A74AA8 80240238 0083102A */ slt $v0, $a0, $v1 +/* A74AAC 8024023C 10400002 */ beqz $v0, .L80240248 +/* A74AB0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* A74AB4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* A74AB8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* A74ABC 8024024C 0C046F07 */ jal set_main_pan_u +/* A74AC0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* A74AC4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* A74AC8 80240258 0C046F0D */ jal set_main_pan_v +/* A74ACC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* A74AD0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* A74AD4 80240264 0C046F13 */ jal set_aux_pan_u +/* A74AD8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* A74ADC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* A74AE0 80240270 0C046F19 */ jal set_aux_pan_v +/* A74AE4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* A74AE8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* A74AEC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* A74AF0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* A74AF4 80240284 24420001 */ addiu $v0, $v0, 1 +/* A74AF8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* A74AFC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* A74B00 80240290 24630001 */ addiu $v1, $v1, 1 +/* A74B04 80240294 AE030078 */ sw $v1, 0x78($s0) +/* A74B08 80240298 8E030070 */ lw $v1, 0x70($s0) +/* A74B0C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* A74B10 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* A74B14 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* A74B18 802402A8 0064182A */ slt $v1, $v1, $a0 +/* A74B1C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* A74B20 802402B0 14600002 */ bnez $v1, .L802402BC +/* A74B24 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* A74B28 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* A74B2C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* A74B30 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* A74B34 802402C4 0043102A */ slt $v0, $v0, $v1 +/* A74B38 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* A74B3C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* A74B40 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* A74B44 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* A74B48 802402D8 0043102A */ slt $v0, $v0, $v1 +/* A74B4C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* A74B50 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* A74B54 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* A74B58 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* A74B5C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* A74B60 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* A74B64 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* A74B68 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* A74B6C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* A74B70 80240300 0000102D */ daddu $v0, $zero, $zero +/* A74B74 80240304 03E00008 */ jr $ra +/* A74B78 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* A74B7C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_80240310_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240310_A74870.s new file mode 100644 index 0000000000..758a9b6564 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240310_A74870.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_A74B80 +/* A74B80 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A74B84 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* A74B88 80240318 0080902D */ daddu $s2, $a0, $zero +/* A74B8C 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* A74B90 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* A74B94 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* A74B98 80240328 8E510148 */ lw $s1, 0x148($s2) +/* A74B9C 8024032C 0C00EABB */ jal get_npc_unsafe +/* A74BA0 80240330 86240008 */ lh $a0, 8($s1) +/* A74BA4 80240334 0040802D */ daddu $s0, $v0, $zero +/* A74BA8 80240338 8E2300CC */ lw $v1, 0xcc($s1) +/* A74BAC 8024033C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A74BB0 80240340 8C630020 */ lw $v1, 0x20($v1) +/* A74BB4 80240344 AE030028 */ sw $v1, 0x28($s0) +/* A74BB8 80240348 96220076 */ lhu $v0, 0x76($s1) +/* A74BBC 8024034C A602008E */ sh $v0, 0x8e($s0) +/* A74BC0 80240350 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A74BC4 80240354 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A74BC8 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A74BCC 8024035C 8C460028 */ lw $a2, 0x28($v0) +/* A74BD0 80240360 0C00A720 */ jal atan2 +/* A74BD4 80240364 8C470030 */ lw $a3, 0x30($v0) +/* A74BD8 80240368 2402000D */ addiu $v0, $zero, 0xd +/* A74BDC 8024036C E600000C */ swc1 $f0, 0xc($s0) +/* A74BE0 80240370 AE420070 */ sw $v0, 0x70($s2) +/* A74BE4 80240374 8FBF001C */ lw $ra, 0x1c($sp) +/* A74BE8 80240378 8FB20018 */ lw $s2, 0x18($sp) +/* A74BEC 8024037C 8FB10014 */ lw $s1, 0x14($sp) +/* A74BF0 80240380 8FB00010 */ lw $s0, 0x10($sp) +/* A74BF4 80240384 03E00008 */ jr $ra +/* A74BF8 80240388 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_8024038C_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_8024038C_A74870.s new file mode 100644 index 0000000000..588e1d3fad --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_8024038C_A74870.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024038C_A74BFC +/* A74BFC 8024038C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A74C00 80240390 AFB3001C */ sw $s3, 0x1c($sp) +/* A74C04 80240394 0080982D */ daddu $s3, $a0, $zero +/* A74C08 80240398 AFBF0020 */ sw $ra, 0x20($sp) +/* A74C0C 8024039C AFB20018 */ sw $s2, 0x18($sp) +/* A74C10 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* A74C14 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* A74C18 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* A74C1C 802403AC 86240008 */ lh $a0, 8($s1) +/* A74C20 802403B0 0C00EABB */ jal get_npc_unsafe +/* A74C24 802403B4 00A0902D */ daddu $s2, $a1, $zero +/* A74C28 802403B8 0040802D */ daddu $s0, $v0, $zero +/* A74C2C 802403BC 8602008E */ lh $v0, 0x8e($s0) +/* A74C30 802403C0 9603008E */ lhu $v1, 0x8e($s0) +/* A74C34 802403C4 18400005 */ blez $v0, .L802403DC +/* A74C38 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* A74C3C 802403CC A602008E */ sh $v0, 0x8e($s0) +/* A74C40 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* A74C44 802403D4 1C400033 */ bgtz $v0, .L802404A4 +/* A74C48 802403D8 00000000 */ nop +.L802403DC: +/* A74C4C 802403DC 8602008C */ lh $v0, 0x8c($s0) +/* A74C50 802403E0 14400030 */ bnez $v0, .L802404A4 +/* A74C54 802403E4 00000000 */ nop +/* A74C58 802403E8 8E2200CC */ lw $v0, 0xcc($s1) +/* A74C5C 802403EC 8C420024 */ lw $v0, 0x24($v0) +/* A74C60 802403F0 AE020028 */ sw $v0, 0x28($s0) +/* A74C64 802403F4 C6400018 */ lwc1 $f0, 0x18($s2) +/* A74C68 802403F8 E6000018 */ swc1 $f0, 0x18($s0) +/* A74C6C 802403FC 8E230088 */ lw $v1, 0x88($s1) +/* A74C70 80240400 24020005 */ addiu $v0, $zero, 5 +/* A74C74 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* A74C78 80240408 00000000 */ nop +/* A74C7C 8024040C 10600003 */ beqz $v1, .L8024041C +/* A74C80 80240410 24020001 */ addiu $v0, $zero, 1 +/* A74C84 80240414 14620006 */ bne $v1, $v0, .L80240430 +/* A74C88 80240418 00000000 */ nop +.L8024041C: +/* A74C8C 8024041C 8E220084 */ lw $v0, 0x84($s1) +/* A74C90 80240420 00021FC2 */ srl $v1, $v0, 0x1f +/* A74C94 80240424 00431021 */ addu $v0, $v0, $v1 +/* A74C98 80240428 00021043 */ sra $v0, $v0, 1 +/* A74C9C 8024042C A60200A8 */ sh $v0, 0xa8($s0) +.L80240430: +/* A74CA0 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A74CA4 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A74CA8 80240438 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A74CAC 8024043C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A74CB0 80240440 8C460028 */ lw $a2, 0x28($v0) +/* A74CB4 80240444 0C00A7B5 */ jal dist2D +/* A74CB8 80240448 8C470030 */ lw $a3, 0x30($v0) +/* A74CBC 8024044C C6020018 */ lwc1 $f2, 0x18($s0) +/* A74CC0 80240450 46020003 */ div.s $f0, $f0, $f2 +/* A74CC4 80240454 3C018024 */ lui $at, 0x8024 +/* A74CC8 80240458 D4223BF0 */ ldc1 $f2, 0x3bf0($at) +/* A74CCC 8024045C 46000021 */ cvt.d.s $f0, $f0 +/* A74CD0 80240460 46220000 */ add.d $f0, $f0, $f2 +/* A74CD4 80240464 4620010D */ trunc.w.d $f4, $f0 +/* A74CD8 80240468 44022000 */ mfc1 $v0, $f4 +/* A74CDC 8024046C 00000000 */ nop +/* A74CE0 80240470 A602008E */ sh $v0, 0x8e($s0) +/* A74CE4 80240474 00021400 */ sll $v0, $v0, 0x10 +/* A74CE8 80240478 8E230078 */ lw $v1, 0x78($s1) +/* A74CEC 8024047C 00021403 */ sra $v0, $v0, 0x10 +/* A74CF0 80240480 0043102A */ slt $v0, $v0, $v1 +/* A74CF4 80240484 10400003 */ beqz $v0, .L80240494 +/* A74CF8 80240488 00000000 */ nop +/* A74CFC 8024048C 9622007A */ lhu $v0, 0x7a($s1) +/* A74D00 80240490 A602008E */ sh $v0, 0x8e($s0) +.L80240494: +/* A74D04 80240494 8602008E */ lh $v0, 0x8e($s0) +/* A74D08 80240498 AE22007C */ sw $v0, 0x7c($s1) +/* A74D0C 8024049C 2402000E */ addiu $v0, $zero, 0xe +/* A74D10 802404A0 AE620070 */ sw $v0, 0x70($s3) +.L802404A4: +/* A74D14 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* A74D18 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* A74D1C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* A74D20 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* A74D24 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* A74D28 802404B8 03E00008 */ jr $ra +/* A74D2C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_802404C0_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_802404C0_A74870.s new file mode 100644 index 0000000000..72f671a663 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_802404C0_A74870.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_A74D30 +/* A74D30 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A74D34 802404C4 AFB3003C */ sw $s3, 0x3c($sp) +/* A74D38 802404C8 0080982D */ daddu $s3, $a0, $zero +/* A74D3C 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* A74D40 802404D0 AFB20038 */ sw $s2, 0x38($sp) +/* A74D44 802404D4 AFB10034 */ sw $s1, 0x34($sp) +/* A74D48 802404D8 AFB00030 */ sw $s0, 0x30($sp) +/* A74D4C 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* A74D50 802404E0 0C00EABB */ jal get_npc_unsafe +/* A74D54 802404E4 86240008 */ lh $a0, 8($s1) +/* A74D58 802404E8 0040802D */ daddu $s0, $v0, $zero +/* A74D5C 802404EC 8E22007C */ lw $v0, 0x7c($s1) +/* A74D60 802404F0 8603008E */ lh $v1, 0x8e($s0) +/* A74D64 802404F4 2442FFFF */ addiu $v0, $v0, -1 +/* A74D68 802404F8 14620012 */ bne $v1, $v0, .L80240544 +/* A74D6C 802404FC 00000000 */ nop +/* A74D70 80240500 C6000038 */ lwc1 $f0, 0x38($s0) +/* A74D74 80240504 4600020D */ trunc.w.s $f8, $f0 +/* A74D78 80240508 44024000 */ mfc1 $v0, $f8 +/* A74D7C 8024050C 00000000 */ nop +/* A74D80 80240510 A6220010 */ sh $v0, 0x10($s1) +/* A74D84 80240514 C600003C */ lwc1 $f0, 0x3c($s0) +/* A74D88 80240518 4600020D */ trunc.w.s $f8, $f0 +/* A74D8C 8024051C 44024000 */ mfc1 $v0, $f8 +/* A74D90 80240520 00000000 */ nop +/* A74D94 80240524 A6220012 */ sh $v0, 0x12($s1) +/* A74D98 80240528 C6000040 */ lwc1 $f0, 0x40($s0) +/* A74D9C 8024052C 24020001 */ addiu $v0, $zero, 1 +/* A74DA0 80240530 A2220007 */ sb $v0, 7($s1) +/* A74DA4 80240534 4600020D */ trunc.w.s $f8, $f0 +/* A74DA8 80240538 44024000 */ mfc1 $v0, $f8 +/* A74DAC 8024053C 00000000 */ nop +/* A74DB0 80240540 A6220014 */ sh $v0, 0x14($s1) +.L80240544: +/* A74DB4 80240544 C6000038 */ lwc1 $f0, 0x38($s0) +/* A74DB8 80240548 C602003C */ lwc1 $f2, 0x3c($s0) +/* A74DBC 8024054C C6040040 */ lwc1 $f4, 0x40($s0) +/* A74DC0 80240550 C6060018 */ lwc1 $f6, 0x18($s0) +/* A74DC4 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* A74DC8 80240558 E7A20024 */ swc1 $f2, 0x24($sp) +/* A74DCC 8024055C E7A40028 */ swc1 $f4, 0x28($sp) +/* A74DD0 80240560 E7A60010 */ swc1 $f6, 0x10($sp) +/* A74DD4 80240564 C600000C */ lwc1 $f0, 0xc($s0) +/* A74DD8 80240568 E7A00014 */ swc1 $f0, 0x14($sp) +/* A74DDC 8024056C 860200A8 */ lh $v0, 0xa8($s0) +/* A74DE0 80240570 27A50020 */ addiu $a1, $sp, 0x20 +/* A74DE4 80240574 44820000 */ mtc1 $v0, $f0 +/* A74DE8 80240578 00000000 */ nop +/* A74DEC 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* A74DF0 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* A74DF4 80240584 860200A6 */ lh $v0, 0xa6($s0) +/* A74DF8 80240588 27A60024 */ addiu $a2, $sp, 0x24 +/* A74DFC 8024058C 44820000 */ mtc1 $v0, $f0 +/* A74E00 80240590 00000000 */ nop +/* A74E04 80240594 46800020 */ cvt.s.w $f0, $f0 +/* A74E08 80240598 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A74E0C 8024059C 8E040080 */ lw $a0, 0x80($s0) +/* A74E10 802405A0 0C037711 */ jal func_800DDC44 +/* A74E14 802405A4 27A70028 */ addiu $a3, $sp, 0x28 +/* A74E18 802405A8 0040902D */ daddu $s2, $v0, $zero +/* A74E1C 802405AC 16400005 */ bnez $s2, .L802405C4 +/* A74E20 802405B0 00000000 */ nop +/* A74E24 802405B4 8E050018 */ lw $a1, 0x18($s0) +/* A74E28 802405B8 8E06000C */ lw $a2, 0xc($s0) +/* A74E2C 802405BC 0C00EA95 */ jal npc_move_heading +/* A74E30 802405C0 0200202D */ daddu $a0, $s0, $zero +.L802405C4: +/* A74E34 802405C4 8602008E */ lh $v0, 0x8e($s0) +/* A74E38 802405C8 9603008E */ lhu $v1, 0x8e($s0) +/* A74E3C 802405CC 18400007 */ blez $v0, .L802405EC +/* A74E40 802405D0 2462FFFF */ addiu $v0, $v1, -1 +/* A74E44 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* A74E48 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* A74E4C 802405DC 18400003 */ blez $v0, .L802405EC +/* A74E50 802405E0 00000000 */ nop +/* A74E54 802405E4 12400008 */ beqz $s2, .L80240608 +/* A74E58 802405E8 00000000 */ nop +.L802405EC: +/* A74E5C 802405EC 8E2200CC */ lw $v0, 0xcc($s1) +/* A74E60 802405F0 A2200007 */ sb $zero, 7($s1) +/* A74E64 802405F4 8C420028 */ lw $v0, 0x28($v0) +/* A74E68 802405F8 A600008E */ sh $zero, 0x8e($s0) +/* A74E6C 802405FC AE020028 */ sw $v0, 0x28($s0) +/* A74E70 80240600 2402000F */ addiu $v0, $zero, 0xf +/* A74E74 80240604 AE620070 */ sw $v0, 0x70($s3) +.L80240608: +/* A74E78 80240608 8FBF0040 */ lw $ra, 0x40($sp) +/* A74E7C 8024060C 8FB3003C */ lw $s3, 0x3c($sp) +/* A74E80 80240610 8FB20038 */ lw $s2, 0x38($sp) +/* A74E84 80240614 8FB10034 */ lw $s1, 0x34($sp) +/* A74E88 80240618 8FB00030 */ lw $s0, 0x30($sp) +/* A74E8C 8024061C 03E00008 */ jr $ra +/* A74E90 80240620 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_80240624_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240624_A74870.s new file mode 100644 index 0000000000..430caa6f7a --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_80240624_A74870.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_A74E94 +/* A74E94 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A74E98 80240628 AFB10014 */ sw $s1, 0x14($sp) +/* A74E9C 8024062C 0080882D */ daddu $s1, $a0, $zero +/* A74EA0 80240630 AFBF0018 */ sw $ra, 0x18($sp) +/* A74EA4 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* A74EA8 80240638 8E300148 */ lw $s0, 0x148($s1) +/* A74EAC 8024063C 0C00EABB */ jal get_npc_unsafe +/* A74EB0 80240640 86040008 */ lh $a0, 8($s0) +/* A74EB4 80240644 0040202D */ daddu $a0, $v0, $zero +/* A74EB8 80240648 9482008E */ lhu $v0, 0x8e($a0) +/* A74EBC 8024064C 24030003 */ addiu $v1, $zero, 3 +/* A74EC0 80240650 24420001 */ addiu $v0, $v0, 1 +/* A74EC4 80240654 A482008E */ sh $v0, 0x8e($a0) +/* A74EC8 80240658 00021400 */ sll $v0, $v0, 0x10 +/* A74ECC 8024065C 00021403 */ sra $v0, $v0, 0x10 +/* A74ED0 80240660 14430003 */ bne $v0, $v1, .L80240670 +/* A74ED4 80240664 00000000 */ nop +/* A74ED8 80240668 96020086 */ lhu $v0, 0x86($s0) +/* A74EDC 8024066C A48200A8 */ sh $v0, 0xa8($a0) +.L80240670: +/* A74EE0 80240670 8482008E */ lh $v0, 0x8e($a0) +/* A74EE4 80240674 8E030080 */ lw $v1, 0x80($s0) +/* A74EE8 80240678 0043102A */ slt $v0, $v0, $v1 +/* A74EEC 8024067C 14400004 */ bnez $v0, .L80240690 +/* A74EF0 80240680 00000000 */ nop +/* A74EF4 80240684 96020086 */ lhu $v0, 0x86($s0) +/* A74EF8 80240688 A48200A8 */ sh $v0, 0xa8($a0) +/* A74EFC 8024068C AE200070 */ sw $zero, 0x70($s1) +.L80240690: +/* A74F00 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* A74F04 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* A74F08 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* A74F0C 8024069C 03E00008 */ jr $ra +/* A74F10 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_70/func_802406A4_A74870.s b/asm/nonmatchings/world/area_kpa/kpa_70/func_802406A4_A74870.s new file mode 100644 index 0000000000..3d84874398 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_70/func_802406A4_A74870.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_A74F14 +/* A74F14 802406A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A74F18 802406A8 AFB3005C */ sw $s3, 0x5c($sp) +/* A74F1C 802406AC 0080982D */ daddu $s3, $a0, $zero +/* A74F20 802406B0 AFBF0068 */ sw $ra, 0x68($sp) +/* A74F24 802406B4 AFB50064 */ sw $s5, 0x64($sp) +/* A74F28 802406B8 AFB40060 */ sw $s4, 0x60($sp) +/* A74F2C 802406BC AFB20058 */ sw $s2, 0x58($sp) +/* A74F30 802406C0 AFB10054 */ sw $s1, 0x54($sp) +/* A74F34 802406C4 AFB00050 */ sw $s0, 0x50($sp) +/* A74F38 802406C8 8E710148 */ lw $s1, 0x148($s3) +/* A74F3C 802406CC 86240008 */ lh $a0, 8($s1) +/* A74F40 802406D0 0C00EABB */ jal get_npc_unsafe +/* A74F44 802406D4 00A0802D */ daddu $s0, $a1, $zero +/* A74F48 802406D8 8E63000C */ lw $v1, 0xc($s3) +/* A74F4C 802406DC 0260202D */ daddu $a0, $s3, $zero +/* A74F50 802406E0 8C650000 */ lw $a1, ($v1) +/* A74F54 802406E4 0C0B1EAF */ jal get_variable +/* A74F58 802406E8 0040902D */ daddu $s2, $v0, $zero +/* A74F5C 802406EC AFA00028 */ sw $zero, 0x28($sp) +/* A74F60 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A74F64 802406F4 8C630030 */ lw $v1, 0x30($v1) +/* A74F68 802406F8 AFA3002C */ sw $v1, 0x2c($sp) +/* A74F6C 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A74F70 80240700 8C63001C */ lw $v1, 0x1c($v1) +/* A74F74 80240704 AFA30030 */ sw $v1, 0x30($sp) +/* A74F78 80240708 8E2300D0 */ lw $v1, 0xd0($s1) +/* A74F7C 8024070C 8C630024 */ lw $v1, 0x24($v1) +/* A74F80 80240710 AFA30034 */ sw $v1, 0x34($sp) +/* A74F84 80240714 8E2300D0 */ lw $v1, 0xd0($s1) +/* A74F88 80240718 8C630028 */ lw $v1, 0x28($v1) +/* A74F8C 8024071C 27B50028 */ addiu $s5, $sp, 0x28 +/* A74F90 80240720 AFA30038 */ sw $v1, 0x38($sp) +/* A74F94 80240724 8E2300D0 */ lw $v1, 0xd0($s1) +/* A74F98 80240728 3C0142C8 */ lui $at, 0x42c8 +/* A74F9C 8024072C 44810000 */ mtc1 $at, $f0 +/* A74FA0 80240730 8C63002C */ lw $v1, 0x2c($v1) +/* A74FA4 80240734 0040A02D */ daddu $s4, $v0, $zero +/* A74FA8 80240738 E7A00040 */ swc1 $f0, 0x40($sp) +/* A74FAC 8024073C A7A00044 */ sh $zero, 0x44($sp) +/* A74FB0 80240740 12000009 */ beqz $s0, .L80240768 +/* A74FB4 80240744 AFA3003C */ sw $v1, 0x3c($sp) +/* A74FB8 80240748 864300A8 */ lh $v1, 0xa8($s2) +/* A74FBC 8024074C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A74FC0 80240750 AE20008C */ sw $zero, 0x8c($s1) +/* A74FC4 80240754 A22000B5 */ sb $zero, 0xb5($s1) +/* A74FC8 80240758 34420008 */ ori $v0, $v0, 8 +/* A74FCC 8024075C AE230084 */ sw $v1, 0x84($s1) +/* A74FD0 80240760 080901DE */ j .L80240778 +/* A74FD4 80240764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240768: +/* A74FD8 80240768 8E2200B0 */ lw $v0, 0xb0($s1) +/* A74FDC 8024076C 30420004 */ andi $v0, $v0, 4 +/* A74FE0 80240770 10400047 */ beqz $v0, .L80240890 +/* A74FE4 80240774 00000000 */ nop +.L80240778: +/* A74FE8 80240778 AE600070 */ sw $zero, 0x70($s3) +/* A74FEC 8024077C A640008E */ sh $zero, 0x8e($s2) +/* A74FF0 80240780 8E2300CC */ lw $v1, 0xcc($s1) +/* A74FF4 80240784 2404F7FF */ addiu $a0, $zero, -0x801 +/* A74FF8 80240788 A2200007 */ sb $zero, 7($s1) +/* A74FFC 8024078C 8E420000 */ lw $v0, ($s2) +/* A75000 80240790 8C630000 */ lw $v1, ($v1) +/* A75004 80240794 00441024 */ and $v0, $v0, $a0 +/* A75008 80240798 AE420000 */ sw $v0, ($s2) +/* A7500C 8024079C AE430028 */ sw $v1, 0x28($s2) +/* A75010 802407A0 96220086 */ lhu $v0, 0x86($s1) +/* A75014 802407A4 A64200A8 */ sh $v0, 0xa8($s2) +/* A75018 802407A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* A7501C 802407AC AE200090 */ sw $zero, 0x90($s1) +/* A75020 802407B0 8C420034 */ lw $v0, 0x34($v0) +/* A75024 802407B4 14400006 */ bnez $v0, .L802407D0 +/* A75028 802407B8 2403FDFF */ addiu $v1, $zero, -0x201 +/* A7502C 802407BC 8E420000 */ lw $v0, ($s2) +/* A75030 802407C0 2403FFF7 */ addiu $v1, $zero, -9 +/* A75034 802407C4 34420200 */ ori $v0, $v0, 0x200 +/* A75038 802407C8 080901F7 */ j .L802407DC +/* A7503C 802407CC 00431024 */ and $v0, $v0, $v1 +.L802407D0: +/* A75040 802407D0 8E420000 */ lw $v0, ($s2) +/* A75044 802407D4 00431024 */ and $v0, $v0, $v1 +/* A75048 802407D8 34420008 */ ori $v0, $v0, 8 +.L802407DC: +/* A7504C 802407DC AE420000 */ sw $v0, ($s2) +/* A75050 802407E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A75054 802407E4 30420004 */ andi $v0, $v0, 4 +/* A75058 802407E8 1040001E */ beqz $v0, .L80240864 +/* A7505C 802407EC 24040002 */ addiu $a0, $zero, 2 +/* A75060 802407F0 0240282D */ daddu $a1, $s2, $zero +/* A75064 802407F4 0000302D */ daddu $a2, $zero, $zero +/* A75068 802407F8 24020063 */ addiu $v0, $zero, 0x63 +/* A7506C 802407FC AE620070 */ sw $v0, 0x70($s3) +/* A75070 80240800 AE600074 */ sw $zero, 0x74($s3) +/* A75074 80240804 864300A8 */ lh $v1, 0xa8($s2) +/* A75078 80240808 3C013F80 */ lui $at, 0x3f80 +/* A7507C 8024080C 44810000 */ mtc1 $at, $f0 +/* A75080 80240810 3C014000 */ lui $at, 0x4000 +/* A75084 80240814 44811000 */ mtc1 $at, $f2 +/* A75088 80240818 3C01C1A0 */ lui $at, 0xc1a0 +/* A7508C 8024081C 44812000 */ mtc1 $at, $f4 +/* A75090 80240820 24020028 */ addiu $v0, $zero, 0x28 +/* A75094 80240824 AFA2001C */ sw $v0, 0x1c($sp) +/* A75098 80240828 44833000 */ mtc1 $v1, $f6 +/* A7509C 8024082C 00000000 */ nop +/* A750A0 80240830 468031A0 */ cvt.s.w $f6, $f6 +/* A750A4 80240834 44073000 */ mfc1 $a3, $f6 +/* A750A8 80240838 27A20048 */ addiu $v0, $sp, 0x48 +/* A750AC 8024083C AFA20020 */ sw $v0, 0x20($sp) +/* A750B0 80240840 E7A00010 */ swc1 $f0, 0x10($sp) +/* A750B4 80240844 E7A20014 */ swc1 $f2, 0x14($sp) +/* A750B8 80240848 0C01BFA4 */ jal fx_emote +/* A750BC 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* A750C0 80240850 8E2200B0 */ lw $v0, 0xb0($s1) +/* A750C4 80240854 2403FFFB */ addiu $v1, $zero, -5 +/* A750C8 80240858 00431024 */ and $v0, $v0, $v1 +/* A750CC 8024085C 08090224 */ j .L80240890 +/* A750D0 80240860 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240864: +/* A750D4 80240864 8E220000 */ lw $v0, ($s1) +/* A750D8 80240868 3C034000 */ lui $v1, 0x4000 +/* A750DC 8024086C 00431024 */ and $v0, $v0, $v1 +/* A750E0 80240870 10400007 */ beqz $v0, .L80240890 +/* A750E4 80240874 3C03BFFF */ lui $v1, 0xbfff +/* A750E8 80240878 2402000C */ addiu $v0, $zero, 0xc +/* A750EC 8024087C AE620070 */ sw $v0, 0x70($s3) +/* A750F0 80240880 8E220000 */ lw $v0, ($s1) +/* A750F4 80240884 3463FFFF */ ori $v1, $v1, 0xffff +/* A750F8 80240888 00431024 */ and $v0, $v0, $v1 +/* A750FC 8024088C AE220000 */ sw $v0, ($s1) +.L80240890: +/* A75100 80240890 8E220090 */ lw $v0, 0x90($s1) +/* A75104 80240894 1840000C */ blez $v0, .L802408C8 +/* A75108 80240898 2442FFFF */ addiu $v0, $v0, -1 +/* A7510C 8024089C 14400087 */ bnez $v0, .L80240ABC +/* A75110 802408A0 AE220090 */ sw $v0, 0x90($s1) +/* A75114 802408A4 3C03FFAA */ lui $v1, 0xffaa +/* A75118 802408A8 8E420028 */ lw $v0, 0x28($s2) +/* A7511C 802408AC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A75120 802408B0 00431021 */ addu $v0, $v0, $v1 +/* A75124 802408B4 2C420002 */ sltiu $v0, $v0, 2 +/* A75128 802408B8 10400003 */ beqz $v0, .L802408C8 +/* A7512C 802408BC 3C020055 */ lui $v0, 0x55 +/* A75130 802408C0 3442000C */ ori $v0, $v0, 0xc +/* A75134 802408C4 AE420028 */ sw $v0, 0x28($s2) +.L802408C8: +/* A75138 802408C8 8E630070 */ lw $v1, 0x70($s3) +/* A7513C 802408CC 2402000C */ addiu $v0, $zero, 0xc +/* A75140 802408D0 10620048 */ beq $v1, $v0, .L802409F4 +/* A75144 802408D4 2862000D */ slti $v0, $v1, 0xd +/* A75148 802408D8 1040000F */ beqz $v0, .L80240918 +/* A7514C 802408DC 24100001 */ addiu $s0, $zero, 1 +/* A75150 802408E0 1070001E */ beq $v1, $s0, .L8024095C +/* A75154 802408E4 28620002 */ slti $v0, $v1, 2 +/* A75158 802408E8 10400005 */ beqz $v0, .L80240900 +/* A7515C 802408EC 24020002 */ addiu $v0, $zero, 2 +/* A75160 802408F0 10600015 */ beqz $v1, .L80240948 +/* A75164 802408F4 0260202D */ daddu $a0, $s3, $zero +/* A75168 802408F8 08090294 */ j .L80240A50 +/* A7516C 802408FC 00000000 */ nop +.L80240900: +/* A75170 80240900 1062001C */ beq $v1, $v0, .L80240974 +/* A75174 80240904 24020003 */ addiu $v0, $zero, 3 +/* A75178 80240908 10620035 */ beq $v1, $v0, .L802409E0 +/* A7517C 8024090C 0260202D */ daddu $a0, $s3, $zero +/* A75180 80240910 08090294 */ j .L80240A50 +/* A75184 80240914 00000000 */ nop +.L80240918: +/* A75188 80240918 2402000E */ addiu $v0, $zero, 0xe +/* A7518C 8024091C 1062003F */ beq $v1, $v0, .L80240A1C +/* A75190 80240920 0062102A */ slt $v0, $v1, $v0 +/* A75194 80240924 14400038 */ bnez $v0, .L80240A08 +/* A75198 80240928 0260202D */ daddu $a0, $s3, $zero +/* A7519C 8024092C 2402000F */ addiu $v0, $zero, 0xf +/* A751A0 80240930 10620040 */ beq $v1, $v0, .L80240A34 +/* A751A4 80240934 24020063 */ addiu $v0, $zero, 0x63 +/* A751A8 80240938 10620043 */ beq $v1, $v0, .L80240A48 +/* A751AC 8024093C 00000000 */ nop +/* A751B0 80240940 08090294 */ j .L80240A50 +/* A751B4 80240944 00000000 */ nop +.L80240948: +/* A751B8 80240948 0280282D */ daddu $a1, $s4, $zero +/* A751BC 8024094C 0C012568 */ jal func_800495A0 +/* A751C0 80240950 02A0302D */ daddu $a2, $s5, $zero +/* A751C4 80240954 96220086 */ lhu $v0, 0x86($s1) +/* A751C8 80240958 A64200A8 */ sh $v0, 0xa8($s2) +.L8024095C: +/* A751CC 8024095C 0260202D */ daddu $a0, $s3, $zero +/* A751D0 80240960 0280282D */ daddu $a1, $s4, $zero +/* A751D4 80240964 0C0125AE */ jal func_800496B8 +/* A751D8 80240968 02A0302D */ daddu $a2, $s5, $zero +/* A751DC 8024096C 08090294 */ j .L80240A50 +/* A751E0 80240970 00000000 */ nop +.L80240974: +/* A751E4 80240974 0260202D */ daddu $a0, $s3, $zero +/* A751E8 80240978 0280282D */ daddu $a1, $s4, $zero +/* A751EC 8024097C 0C0126D1 */ jal func_80049B44 +/* A751F0 80240980 02A0302D */ daddu $a2, $s5, $zero +/* A751F4 80240984 8E230088 */ lw $v1, 0x88($s1) +/* A751F8 80240988 24020006 */ addiu $v0, $zero, 6 +/* A751FC 8024098C 14620014 */ bne $v1, $v0, .L802409E0 +/* A75200 80240990 0260202D */ daddu $a0, $s3, $zero +/* A75204 80240994 0C00A67F */ jal rand_int +/* A75208 80240998 24040064 */ addiu $a0, $zero, 0x64 +/* A7520C 8024099C 28420021 */ slti $v0, $v0, 0x21 +/* A75210 802409A0 5040000F */ beql $v0, $zero, .L802409E0 +/* A75214 802409A4 0260202D */ daddu $a0, $s3, $zero +/* A75218 802409A8 8E22008C */ lw $v0, 0x8c($s1) +/* A7521C 802409AC 10400005 */ beqz $v0, .L802409C4 +/* A75220 802409B0 3C020055 */ lui $v0, 0x55 +/* A75224 802409B4 3442002F */ ori $v0, $v0, 0x2f +/* A75228 802409B8 AE20008C */ sw $zero, 0x8c($s1) +/* A7522C 802409BC 08090274 */ j .L802409D0 +/* A75230 802409C0 A22000B5 */ sb $zero, 0xb5($s1) +.L802409C4: +/* A75234 802409C4 3442002E */ ori $v0, $v0, 0x2e +/* A75238 802409C8 AE30008C */ sw $s0, 0x8c($s1) +/* A7523C 802409CC A23000B5 */ sb $s0, 0xb5($s1) +.L802409D0: +/* A75240 802409D0 AE420028 */ sw $v0, 0x28($s2) +/* A75244 802409D4 24020007 */ addiu $v0, $zero, 7 +/* A75248 802409D8 080902AF */ j .L80240ABC +/* A7524C 802409DC AE220090 */ sw $v0, 0x90($s1) +.L802409E0: +/* A75250 802409E0 0280282D */ daddu $a1, $s4, $zero +/* A75254 802409E4 0C012701 */ jal func_80049C04 +/* A75258 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* A7525C 802409EC 08090294 */ j .L80240A50 +/* A75260 802409F0 00000000 */ nop +.L802409F4: +/* A75264 802409F4 0260202D */ daddu $a0, $s3, $zero +/* A75268 802409F8 0280282D */ daddu $a1, $s4, $zero +/* A7526C 802409FC 0C0900C4 */ jal func_80240310 +/* A75270 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* A75274 80240A04 0260202D */ daddu $a0, $s3, $zero +.L80240A08: +/* A75278 80240A08 0280282D */ daddu $a1, $s4, $zero +/* A7527C 80240A0C 0C0900E3 */ jal func_8024038C +/* A75280 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* A75284 80240A14 08090294 */ j .L80240A50 +/* A75288 80240A18 00000000 */ nop +.L80240A1C: +/* A7528C 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* A75290 80240A20 0280282D */ daddu $a1, $s4, $zero +/* A75294 80240A24 0C090130 */ jal func_802404C0 +/* A75298 80240A28 02A0302D */ daddu $a2, $s5, $zero +/* A7529C 80240A2C 08090294 */ j .L80240A50 +/* A752A0 80240A30 00000000 */ nop +.L80240A34: +/* A752A4 80240A34 0280282D */ daddu $a1, $s4, $zero +/* A752A8 80240A38 0C090189 */ jal func_80240624 +/* A752AC 80240A3C 02A0302D */ daddu $a2, $s5, $zero +/* A752B0 80240A40 08090294 */ j .L80240A50 +/* A752B4 80240A44 00000000 */ nop +.L80240A48: +/* A752B8 80240A48 0C0129CF */ jal func_8004A73C +/* A752BC 80240A4C 0260202D */ daddu $a0, $s3, $zero +.L80240A50: +/* A752C0 80240A50 8E230088 */ lw $v1, 0x88($s1) +/* A752C4 80240A54 24020006 */ addiu $v0, $zero, 6 +/* A752C8 80240A58 14620019 */ bne $v1, $v0, .L80240AC0 +/* A752CC 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* A752D0 80240A60 8E22008C */ lw $v0, 0x8c($s1) +/* A752D4 80240A64 10400003 */ beqz $v0, .L80240A74 +/* A752D8 80240A68 24020001 */ addiu $v0, $zero, 1 +/* A752DC 80240A6C 0809029E */ j .L80240A78 +/* A752E0 80240A70 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A74: +/* A752E4 80240A74 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A78: +/* A752E8 80240A78 8E22008C */ lw $v0, 0x8c($s1) +/* A752EC 80240A7C 1040000F */ beqz $v0, .L80240ABC +/* A752F0 80240A80 3C03FFAA */ lui $v1, 0xffaa +/* A752F4 80240A84 8E420028 */ lw $v0, 0x28($s2) +/* A752F8 80240A88 3463FFFC */ ori $v1, $v1, 0xfffc +/* A752FC 80240A8C 00431821 */ addu $v1, $v0, $v1 +/* A75300 80240A90 2C620015 */ sltiu $v0, $v1, 0x15 +/* A75304 80240A94 10400009 */ beqz $v0, .L80240ABC +/* A75308 80240A98 00031080 */ sll $v0, $v1, 2 +/* A7530C 80240A9C 3C018024 */ lui $at, 0x8024 +/* A75310 80240AA0 00220821 */ addu $at, $at, $v0 +/* A75314 80240AA4 8C223BF8 */ lw $v0, 0x3bf8($at) +/* A75318 80240AA8 00400008 */ jr $v0 +/* A7531C 80240AAC 00000000 */ nop +/* A75320 80240AB0 8E420028 */ lw $v0, 0x28($s2) +/* A75324 80240AB4 24420001 */ addiu $v0, $v0, 1 +/* A75328 80240AB8 AE420028 */ sw $v0, 0x28($s2) +.L80240ABC: +/* A7532C 80240ABC 0000102D */ daddu $v0, $zero, $zero +.L80240AC0: +/* A75330 80240AC0 8FBF0068 */ lw $ra, 0x68($sp) +/* A75334 80240AC4 8FB50064 */ lw $s5, 0x64($sp) +/* A75338 80240AC8 8FB40060 */ lw $s4, 0x60($sp) +/* A7533C 80240ACC 8FB3005C */ lw $s3, 0x5c($sp) +/* A75340 80240AD0 8FB20058 */ lw $s2, 0x58($sp) +/* A75344 80240AD4 8FB10054 */ lw $s1, 0x54($sp) +/* A75348 80240AD8 8FB00050 */ lw $s0, 0x50($sp) +/* A7534C 80240ADC 03E00008 */ jr $ra +/* A75350 80240AE0 27BD0070 */ addiu $sp, $sp, 0x70 +/* A75354 80240AE4 00000000 */ nop +/* A75358 80240AE8 00000000 */ nop +/* A7535C 80240AEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_80240000_A784C0.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240000_A784C0.s new file mode 100644 index 0000000000..3e51490366 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240000_A784C0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A784C0 +/* A784C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A784C4 80240004 3C04800E */ lui $a0, 0x800e +/* A784C8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A784CC 8024000C 3C058024 */ lui $a1, 0x8024 +/* A784D0 80240010 24A52000 */ addiu $a1, $a1, 0x2000 +/* A784D4 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A784D8 80240018 0C01953C */ jal sprintf +/* A784DC 8024001C 00000000 */ nop +/* A784E0 80240020 3C04800E */ lui $a0, 0x800e +/* A784E4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A784E8 80240028 3C058024 */ lui $a1, 0x8024 +/* A784EC 8024002C 0C01953C */ jal sprintf +/* A784F0 80240030 24A52010 */ addiu $a1, $a1, 0x2010 +/* A784F4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A784F8 80240038 0000102D */ daddu $v0, $zero, $zero +/* A784FC 8024003C 03E00008 */ jr $ra +/* A78500 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A78504 80240044 00000000 */ nop +/* A78508 80240048 00000000 */ nop +/* A7850C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_80240050_A784C0.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240050_A784C0.s new file mode 100644 index 0000000000..2e6b369f97 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240050_A784C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A78510 +/* A78510 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A78514 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* A78518 80240058 0080882D */ daddu $s1, $a0, $zero +/* A7851C 8024005C AFBF0018 */ sw $ra, 0x18($sp) +/* A78520 80240060 AFB00010 */ sw $s0, 0x10($sp) +/* A78524 80240064 8E30000C */ lw $s0, 0xc($s1) +/* A78528 80240068 8E050000 */ lw $a1, ($s0) +/* A7852C 8024006C 0C0B1EAF */ jal get_variable +/* A78530 80240070 26100004 */ addiu $s0, $s0, 4 +/* A78534 80240074 0C00EAD2 */ jal get_npc_safe +/* A78538 80240078 0040202D */ daddu $a0, $v0, $zero +/* A7853C 8024007C 10400005 */ beqz $v0, .L80240094 +/* A78540 80240080 00000000 */ nop +/* A78544 80240084 8E050000 */ lw $a1, ($s0) +/* A78548 80240088 844600A8 */ lh $a2, 0xa8($v0) +/* A7854C 8024008C 0C0B2026 */ jal set_variable +/* A78550 80240090 0220202D */ daddu $a0, $s1, $zero +.L80240094: +/* A78554 80240094 8FBF0018 */ lw $ra, 0x18($sp) +/* A78558 80240098 8FB10014 */ lw $s1, 0x14($sp) +/* A7855C 8024009C 8FB00010 */ lw $s0, 0x10($sp) +/* A78560 802400A0 24020002 */ addiu $v0, $zero, 2 +/* A78564 802400A4 03E00008 */ jr $ra +/* A78568 802400A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_802400AC.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_802400AC.s new file mode 100644 index 0000000000..92e7acb5c4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_802400AC.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC +/* A7856C 802400AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A78570 802400B0 AFB10014 */ sw $s1, 0x14($sp) +/* A78574 802400B4 0080882D */ daddu $s1, $a0, $zero +/* A78578 802400B8 AFBF0024 */ sw $ra, 0x24($sp) +/* A7857C 802400BC AFB40020 */ sw $s4, 0x20($sp) +/* A78580 802400C0 AFB3001C */ sw $s3, 0x1c($sp) +/* A78584 802400C4 AFB20018 */ sw $s2, 0x18($sp) +/* A78588 802400C8 AFB00010 */ sw $s0, 0x10($sp) +/* A7858C 802400CC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* A78590 802400D0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* A78594 802400D4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* A78598 802400D8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A7859C 802400DC F7B40028 */ sdc1 $f20, 0x28($sp) +/* A785A0 802400E0 8E30000C */ lw $s0, 0xc($s1) +/* A785A4 802400E4 8E130000 */ lw $s3, ($s0) +/* A785A8 802400E8 26100004 */ addiu $s0, $s0, 4 +/* A785AC 802400EC 0C0B1EAF */ jal get_variable +/* A785B0 802400F0 0260282D */ daddu $a1, $s3, $zero +/* A785B4 802400F4 4482E000 */ mtc1 $v0, $f28 +/* A785B8 802400F8 00000000 */ nop +/* A785BC 802400FC 4680E720 */ cvt.s.w $f28, $f28 +/* A785C0 80240100 8E140000 */ lw $s4, ($s0) +/* A785C4 80240104 26100004 */ addiu $s0, $s0, 4 +/* A785C8 80240108 0220202D */ daddu $a0, $s1, $zero +/* A785CC 8024010C 0C0B1EAF */ jal get_variable +/* A785D0 80240110 0280282D */ daddu $a1, $s4, $zero +/* A785D4 80240114 4482D000 */ mtc1 $v0, $f26 +/* A785D8 80240118 00000000 */ nop +/* A785DC 8024011C 4680D6A0 */ cvt.s.w $f26, $f26 +/* A785E0 80240120 8E100000 */ lw $s0, ($s0) +/* A785E4 80240124 0220202D */ daddu $a0, $s1, $zero +/* A785E8 80240128 0C0B1EAF */ jal get_variable +/* A785EC 8024012C 0200282D */ daddu $a1, $s0, $zero +/* A785F0 80240130 4482C000 */ mtc1 $v0, $f24 +/* A785F4 80240134 00000000 */ nop +/* A785F8 80240138 4680C620 */ cvt.s.w $f24, $f24 +/* A785FC 8024013C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* A78600 80240140 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* A78604 80240144 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A78608 80240148 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A7860C 8024014C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* A78610 80240150 44800000 */ mtc1 $zero, $f0 +/* A78614 80240154 00031080 */ sll $v0, $v1, 2 +/* A78618 80240158 00431021 */ addu $v0, $v0, $v1 +/* A7861C 8024015C 00021080 */ sll $v0, $v0, 2 +/* A78620 80240160 00431023 */ subu $v0, $v0, $v1 +/* A78624 80240164 000218C0 */ sll $v1, $v0, 3 +/* A78628 80240168 00431021 */ addu $v0, $v0, $v1 +/* A7862C 8024016C 000210C0 */ sll $v0, $v0, 3 +/* A78630 80240170 46001032 */ c.eq.s $f2, $f0 +/* A78634 80240174 3C01800B */ lui $at, 0x800b +/* A78638 80240178 00220821 */ addu $at, $at, $v0 +/* A7863C 8024017C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* A78640 80240180 45000005 */ bc1f .L80240198 +/* A78644 80240184 00000000 */ nop +/* A78648 80240188 3C0142C8 */ lui $at, 0x42c8 +/* A7864C 8024018C 44810000 */ mtc1 $at, $f0 +/* A78650 80240190 0809006A */ j .L802401A8 +/* A78654 80240194 4600B581 */ sub.s $f22, $f22, $f0 +.L80240198: +/* A78658 80240198 3C0142C8 */ lui $at, 0x42c8 +/* A7865C 8024019C 44810000 */ mtc1 $at, $f0 +/* A78660 802401A0 00000000 */ nop +/* A78664 802401A4 4600B580 */ add.s $f22, $f22, $f0 +.L802401A8: +/* A78668 802401A8 0C00A6C9 */ jal clamp_angle +/* A7866C 802401AC 4600B306 */ mov.s $f12, $f22 +/* A78670 802401B0 46000586 */ mov.s $f22, $f0 +/* A78674 802401B4 3C014170 */ lui $at, 0x4170 +/* A78678 802401B8 4481A000 */ mtc1 $at, $f20 +/* A7867C 802401BC 0C00A8BB */ jal sin_deg +/* A78680 802401C0 4600B306 */ mov.s $f12, $f22 +/* A78684 802401C4 46140002 */ mul.s $f0, $f0, $f20 +/* A78688 802401C8 00000000 */ nop +/* A7868C 802401CC 864200B0 */ lh $v0, 0xb0($s2) +/* A78690 802401D0 3C013F00 */ lui $at, 0x3f00 +/* A78694 802401D4 44812000 */ mtc1 $at, $f4 +/* A78698 802401D8 44821000 */ mtc1 $v0, $f2 +/* A7869C 802401DC 00000000 */ nop +/* A786A0 802401E0 468010A0 */ cvt.s.w $f2, $f2 +/* A786A4 802401E4 46041082 */ mul.s $f2, $f2, $f4 +/* A786A8 802401E8 00000000 */ nop +/* A786AC 802401EC 4600E700 */ add.s $f28, $f28, $f0 +/* A786B0 802401F0 4602D680 */ add.s $f26, $f26, $f2 +/* A786B4 802401F4 0C00A8D4 */ jal cos_deg +/* A786B8 802401F8 4600B306 */ mov.s $f12, $f22 +/* A786BC 802401FC 46140002 */ mul.s $f0, $f0, $f20 +/* A786C0 80240200 00000000 */ nop +/* A786C4 80240204 0220202D */ daddu $a0, $s1, $zero +/* A786C8 80240208 0260282D */ daddu $a1, $s3, $zero +/* A786CC 8024020C 4600E18D */ trunc.w.s $f6, $f28 +/* A786D0 80240210 44063000 */ mfc1 $a2, $f6 +/* A786D4 80240214 0C0B2026 */ jal set_variable +/* A786D8 80240218 4600C601 */ sub.s $f24, $f24, $f0 +/* A786DC 8024021C 0220202D */ daddu $a0, $s1, $zero +/* A786E0 80240220 4600D18D */ trunc.w.s $f6, $f26 +/* A786E4 80240224 44063000 */ mfc1 $a2, $f6 +/* A786E8 80240228 0C0B2026 */ jal set_variable +/* A786EC 8024022C 0280282D */ daddu $a1, $s4, $zero +/* A786F0 80240230 0220202D */ daddu $a0, $s1, $zero +/* A786F4 80240234 4600C18D */ trunc.w.s $f6, $f24 +/* A786F8 80240238 44063000 */ mfc1 $a2, $f6 +/* A786FC 8024023C 0C0B2026 */ jal set_variable +/* A78700 80240240 0200282D */ daddu $a1, $s0, $zero +/* A78704 80240244 8FBF0024 */ lw $ra, 0x24($sp) +/* A78708 80240248 8FB40020 */ lw $s4, 0x20($sp) +/* A7870C 8024024C 8FB3001C */ lw $s3, 0x1c($sp) +/* A78710 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* A78714 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* A78718 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* A7871C 8024025C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* A78720 80240260 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* A78724 80240264 D7B80038 */ ldc1 $f24, 0x38($sp) +/* A78728 80240268 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A7872C 8024026C D7B40028 */ ldc1 $f20, 0x28($sp) +/* A78730 80240270 24020002 */ addiu $v0, $zero, 2 +/* A78734 80240274 03E00008 */ jr $ra +/* A78738 80240278 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_8024027C_A784C0.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_8024027C_A784C0.s new file mode 100644 index 0000000000..724049dc3b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_8024027C_A784C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024027C_A7873C +/* A7873C 8024027C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A78740 80240280 AFBF0010 */ sw $ra, 0x10($sp) +/* A78744 80240284 10A00003 */ beqz $a1, .L80240294 +/* A78748 80240288 8C86000C */ lw $a2, 0xc($a0) +/* A7874C 8024028C 3C018024 */ lui $at, 0x8024 +/* A78750 80240290 AC200D98 */ sw $zero, 0xd98($at) +.L80240294: +/* A78754 80240294 3C038024 */ lui $v1, 0x8024 +/* A78758 80240298 24630D98 */ addiu $v1, $v1, 0xd98 +/* A7875C 8024029C 8C620000 */ lw $v0, ($v1) +/* A78760 802402A0 54400003 */ bnel $v0, $zero, .L802402B0 +/* A78764 802402A4 AC600000 */ sw $zero, ($v1) +/* A78768 802402A8 080900B1 */ j .L802402C4 +/* A7876C 802402AC 0000102D */ daddu $v0, $zero, $zero +.L802402B0: +/* A78770 802402B0 8CC50000 */ lw $a1, ($a2) +/* A78774 802402B4 3C068024 */ lui $a2, 0x8024 +/* A78778 802402B8 0C0B2026 */ jal set_variable +/* A7877C 802402BC 8CC60D9C */ lw $a2, 0xd9c($a2) +/* A78780 802402C0 24020002 */ addiu $v0, $zero, 2 +.L802402C4: +/* A78784 802402C4 8FBF0010 */ lw $ra, 0x10($sp) +/* A78788 802402C8 03E00008 */ jr $ra +/* A7878C 802402CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_802402D0_A784C0.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_802402D0_A784C0.s new file mode 100644 index 0000000000..d446601a41 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_802402D0_A784C0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0_A78790 +/* A78790 802402D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A78794 802402D4 AFBF0010 */ sw $ra, 0x10($sp) +/* A78798 802402D8 8C82000C */ lw $v0, 0xc($a0) +/* A7879C 802402DC 0C0B1EAF */ jal get_variable +/* A787A0 802402E0 8C450000 */ lw $a1, ($v0) +/* A787A4 802402E4 3C018024 */ lui $at, 0x8024 +/* A787A8 802402E8 AC220D9C */ sw $v0, 0xd9c($at) +/* A787AC 802402EC 24020002 */ addiu $v0, $zero, 2 +/* A787B0 802402F0 8FBF0010 */ lw $ra, 0x10($sp) +/* A787B4 802402F4 24030001 */ addiu $v1, $zero, 1 +/* A787B8 802402F8 3C018024 */ lui $at, 0x8024 +/* A787BC 802402FC AC230D98 */ sw $v1, 0xd98($at) +/* A787C0 80240300 03E00008 */ jr $ra +/* A787C4 80240304 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_80240308.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240308.s new file mode 100644 index 0000000000..71eae134ce --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_80240308.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240308 +/* A787C8 80240308 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A787CC 8024030C AFBF0010 */ sw $ra, 0x10($sp) +/* A787D0 80240310 8C82000C */ lw $v0, 0xc($a0) +/* A787D4 80240314 0C0B1EAF */ jal get_variable +/* A787D8 80240318 8C450000 */ lw $a1, ($v0) +/* A787DC 8024031C 0040182D */ daddu $v1, $v0, $zero +/* A787E0 80240320 10600012 */ beqz $v1, .L8024036C +/* A787E4 80240324 0000202D */ daddu $a0, $zero, $zero +/* A787E8 80240328 8C620000 */ lw $v0, ($v1) +/* A787EC 8024032C 5040000A */ beql $v0, $zero, .L80240358 +/* A787F0 80240330 00041080 */ sll $v0, $a0, 2 +/* A787F4 80240334 3C058024 */ lui $a1, 0x8024 +/* A787F8 80240338 24A52040 */ addiu $a1, $a1, 0x2040 +.L8024033C: +/* A787FC 8024033C 24630004 */ addiu $v1, $v1, 4 +/* A78800 80240340 24840001 */ addiu $a0, $a0, 1 +/* A78804 80240344 ACA20000 */ sw $v0, ($a1) +/* A78808 80240348 8C620000 */ lw $v0, ($v1) +/* A7880C 8024034C 1440FFFB */ bnez $v0, .L8024033C +/* A78810 80240350 24A50004 */ addiu $a1, $a1, 4 +/* A78814 80240354 00041080 */ sll $v0, $a0, 2 +.L80240358: +/* A78818 80240358 3C018024 */ lui $at, 0x8024 +/* A7881C 8024035C 00220821 */ addu $at, $at, $v0 +/* A78820 80240360 AC202040 */ sw $zero, 0x2040($at) +/* A78824 80240364 080900E5 */ j .L80240394 +/* A78828 80240368 00000000 */ nop +.L8024036C: +/* A7882C 8024036C 3C038024 */ lui $v1, 0x8024 +/* A78830 80240370 24632040 */ addiu $v1, $v1, 0x2040 +/* A78834 80240374 0060282D */ daddu $a1, $v1, $zero +.L80240378: +/* A78838 80240378 24820010 */ addiu $v0, $a0, 0x10 +/* A7883C 8024037C AC620000 */ sw $v0, ($v1) +/* A78840 80240380 24630004 */ addiu $v1, $v1, 4 +/* A78844 80240384 24840001 */ addiu $a0, $a0, 1 +/* A78848 80240388 28820070 */ slti $v0, $a0, 0x70 +/* A7884C 8024038C 1440FFFA */ bnez $v0, .L80240378 +/* A78850 80240390 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240394: +/* A78854 80240394 8FBF0010 */ lw $ra, 0x10($sp) +/* A78858 80240398 24020002 */ addiu $v0, $zero, 2 +/* A7885C 8024039C 03E00008 */ jr $ra +/* A78860 802403A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_81/func_802403A4.s b/asm/nonmatchings/world/area_kpa/kpa_81/func_802403A4.s new file mode 100644 index 0000000000..5df93e45d5 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_81/func_802403A4.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A4 +/* A78864 802403A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A78868 802403A8 AFBF0010 */ sw $ra, 0x10($sp) +/* A7886C 802403AC 8C82000C */ lw $v0, 0xc($a0) +/* A78870 802403B0 0C0B1EAF */ jal get_variable +/* A78874 802403B4 8C450000 */ lw $a1, ($v0) +/* A78878 802403B8 0040182D */ daddu $v1, $v0, $zero +/* A7887C 802403BC 10600012 */ beqz $v1, .L80240408 +/* A78880 802403C0 0000202D */ daddu $a0, $zero, $zero +/* A78884 802403C4 8C620000 */ lw $v0, ($v1) +/* A78888 802403C8 5040000A */ beql $v0, $zero, .L802403F4 +/* A7888C 802403CC 00041080 */ sll $v0, $a0, 2 +/* A78890 802403D0 3C058024 */ lui $a1, 0x8024 +/* A78894 802403D4 24A52208 */ addiu $a1, $a1, 0x2208 +.L802403D8: +/* A78898 802403D8 24630004 */ addiu $v1, $v1, 4 +/* A7889C 802403DC 24840001 */ addiu $a0, $a0, 1 +/* A788A0 802403E0 ACA20000 */ sw $v0, ($a1) +/* A788A4 802403E4 8C620000 */ lw $v0, ($v1) +/* A788A8 802403E8 1440FFFB */ bnez $v0, .L802403D8 +/* A788AC 802403EC 24A50004 */ addiu $a1, $a1, 4 +/* A788B0 802403F0 00041080 */ sll $v0, $a0, 2 +.L802403F4: +/* A788B4 802403F4 3C018024 */ lui $at, 0x8024 +/* A788B8 802403F8 00220821 */ addu $at, $at, $v0 +/* A788BC 802403FC AC202208 */ sw $zero, 0x2208($at) +/* A788C0 80240400 0809010C */ j .L80240430 +/* A788C4 80240404 00000000 */ nop +.L80240408: +/* A788C8 80240408 3C038024 */ lui $v1, 0x8024 +/* A788CC 8024040C 24632208 */ addiu $v1, $v1, 0x2208 +/* A788D0 80240410 0060282D */ daddu $a1, $v1, $zero +.L80240414: +/* A788D4 80240414 24820080 */ addiu $v0, $a0, 0x80 +/* A788D8 80240418 AC620000 */ sw $v0, ($v1) +/* A788DC 8024041C 24630004 */ addiu $v1, $v1, 4 +/* A788E0 80240420 24840001 */ addiu $a0, $a0, 1 +/* A788E4 80240424 2882005B */ slti $v0, $a0, 0x5b +/* A788E8 80240428 1440FFFA */ bnez $v0, .L80240414 +/* A788EC 8024042C ACA0016C */ sw $zero, 0x16c($a1) +.L80240430: +/* A788F0 80240430 8FBF0010 */ lw $ra, 0x10($sp) +/* A788F4 80240434 24020002 */ addiu $v0, $zero, 2 +/* A788F8 80240438 03E00008 */ jr $ra +/* A788FC 8024043C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_80240000_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240000_A7A500.s new file mode 100644 index 0000000000..e8efc05b93 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240000_A7A500.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A7A500 +/* A7A500 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7A504 80240004 3C04800E */ lui $a0, 0x800e +/* A7A508 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A7A50C 8024000C 3C058025 */ lui $a1, 0x8025 +/* A7A510 80240010 24A58F60 */ addiu $a1, $a1, -0x70a0 +/* A7A514 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A7A518 80240018 0C01953C */ jal sprintf +/* A7A51C 8024001C 00000000 */ nop +/* A7A520 80240020 3C04800E */ lui $a0, 0x800e +/* A7A524 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A7A528 80240028 3C058025 */ lui $a1, 0x8025 +/* A7A52C 8024002C 0C01953C */ jal sprintf +/* A7A530 80240030 24A58F70 */ addiu $a1, $a1, -0x7090 +/* A7A534 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A7A538 80240038 0000102D */ daddu $v0, $zero, $zero +/* A7A53C 8024003C 03E00008 */ jr $ra +/* A7A540 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A7A544 80240044 00000000 */ nop +/* A7A548 80240048 00000000 */ nop +/* A7A54C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_80240050_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240050_A7A500.s new file mode 100644 index 0000000000..84958518b7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240050_A7A500.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A7A550 +/* A7A550 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A7A554 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* A7A558 80240058 0080882D */ daddu $s1, $a0, $zero +/* A7A55C 8024005C AFBF0018 */ sw $ra, 0x18($sp) +/* A7A560 80240060 AFB00010 */ sw $s0, 0x10($sp) +/* A7A564 80240064 8E30000C */ lw $s0, 0xc($s1) +/* A7A568 80240068 8E050000 */ lw $a1, ($s0) +/* A7A56C 8024006C 0C0B1EAF */ jal get_variable +/* A7A570 80240070 26100004 */ addiu $s0, $s0, 4 +/* A7A574 80240074 0C00EAD2 */ jal get_npc_safe +/* A7A578 80240078 0040202D */ daddu $a0, $v0, $zero +/* A7A57C 8024007C 10400005 */ beqz $v0, .L80240094 +/* A7A580 80240080 00000000 */ nop +/* A7A584 80240084 8E050000 */ lw $a1, ($s0) +/* A7A588 80240088 844600A8 */ lh $a2, 0xa8($v0) +/* A7A58C 8024008C 0C0B2026 */ jal set_variable +/* A7A590 80240090 0220202D */ daddu $a0, $s1, $zero +.L80240094: +/* A7A594 80240094 8FBF0018 */ lw $ra, 0x18($sp) +/* A7A598 80240098 8FB10014 */ lw $s1, 0x14($sp) +/* A7A59C 8024009C 8FB00010 */ lw $s0, 0x10($sp) +/* A7A5A0 802400A0 24020002 */ addiu $v0, $zero, 2 +/* A7A5A4 802400A4 03E00008 */ jr $ra +/* A7A5A8 802400A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_802400AC_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_802400AC_A7A500.s new file mode 100644 index 0000000000..7b53c9861b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_802400AC_A7A500.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC_A7A5AC +/* A7A5AC 802400AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A7A5B0 802400B0 AFB10014 */ sw $s1, 0x14($sp) +/* A7A5B4 802400B4 0080882D */ daddu $s1, $a0, $zero +/* A7A5B8 802400B8 AFBF0024 */ sw $ra, 0x24($sp) +/* A7A5BC 802400BC AFB40020 */ sw $s4, 0x20($sp) +/* A7A5C0 802400C0 AFB3001C */ sw $s3, 0x1c($sp) +/* A7A5C4 802400C4 AFB20018 */ sw $s2, 0x18($sp) +/* A7A5C8 802400C8 AFB00010 */ sw $s0, 0x10($sp) +/* A7A5CC 802400CC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* A7A5D0 802400D0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* A7A5D4 802400D4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* A7A5D8 802400D8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* A7A5DC 802400DC F7B40028 */ sdc1 $f20, 0x28($sp) +/* A7A5E0 802400E0 8E30000C */ lw $s0, 0xc($s1) +/* A7A5E4 802400E4 8E130000 */ lw $s3, ($s0) +/* A7A5E8 802400E8 26100004 */ addiu $s0, $s0, 4 +/* A7A5EC 802400EC 0C0B1EAF */ jal get_variable +/* A7A5F0 802400F0 0260282D */ daddu $a1, $s3, $zero +/* A7A5F4 802400F4 4482E000 */ mtc1 $v0, $f28 +/* A7A5F8 802400F8 00000000 */ nop +/* A7A5FC 802400FC 4680E720 */ cvt.s.w $f28, $f28 +/* A7A600 80240100 8E140000 */ lw $s4, ($s0) +/* A7A604 80240104 26100004 */ addiu $s0, $s0, 4 +/* A7A608 80240108 0220202D */ daddu $a0, $s1, $zero +/* A7A60C 8024010C 0C0B1EAF */ jal get_variable +/* A7A610 80240110 0280282D */ daddu $a1, $s4, $zero +/* A7A614 80240114 4482D000 */ mtc1 $v0, $f26 +/* A7A618 80240118 00000000 */ nop +/* A7A61C 8024011C 4680D6A0 */ cvt.s.w $f26, $f26 +/* A7A620 80240120 8E100000 */ lw $s0, ($s0) +/* A7A624 80240124 0220202D */ daddu $a0, $s1, $zero +/* A7A628 80240128 0C0B1EAF */ jal get_variable +/* A7A62C 8024012C 0200282D */ daddu $a1, $s0, $zero +/* A7A630 80240130 4482C000 */ mtc1 $v0, $f24 +/* A7A634 80240134 00000000 */ nop +/* A7A638 80240138 4680C620 */ cvt.s.w $f24, $f24 +/* A7A63C 8024013C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* A7A640 80240140 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* A7A644 80240144 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A7A648 80240148 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A7A64C 8024014C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* A7A650 80240150 44800000 */ mtc1 $zero, $f0 +/* A7A654 80240154 00031080 */ sll $v0, $v1, 2 +/* A7A658 80240158 00431021 */ addu $v0, $v0, $v1 +/* A7A65C 8024015C 00021080 */ sll $v0, $v0, 2 +/* A7A660 80240160 00431023 */ subu $v0, $v0, $v1 +/* A7A664 80240164 000218C0 */ sll $v1, $v0, 3 +/* A7A668 80240168 00431021 */ addu $v0, $v0, $v1 +/* A7A66C 8024016C 000210C0 */ sll $v0, $v0, 3 +/* A7A670 80240170 46001032 */ c.eq.s $f2, $f0 +/* A7A674 80240174 3C01800B */ lui $at, 0x800b +/* A7A678 80240178 00220821 */ addu $at, $at, $v0 +/* A7A67C 8024017C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* A7A680 80240180 45000005 */ bc1f .L80240198 +/* A7A684 80240184 00000000 */ nop +/* A7A688 80240188 3C0142C8 */ lui $at, 0x42c8 +/* A7A68C 8024018C 44810000 */ mtc1 $at, $f0 +/* A7A690 80240190 0809006A */ j .L802401A8 +/* A7A694 80240194 4600B581 */ sub.s $f22, $f22, $f0 +.L80240198: +/* A7A698 80240198 3C0142C8 */ lui $at, 0x42c8 +/* A7A69C 8024019C 44810000 */ mtc1 $at, $f0 +/* A7A6A0 802401A0 00000000 */ nop +/* A7A6A4 802401A4 4600B580 */ add.s $f22, $f22, $f0 +.L802401A8: +/* A7A6A8 802401A8 0C00A6C9 */ jal clamp_angle +/* A7A6AC 802401AC 4600B306 */ mov.s $f12, $f22 +/* A7A6B0 802401B0 46000586 */ mov.s $f22, $f0 +/* A7A6B4 802401B4 3C014170 */ lui $at, 0x4170 +/* A7A6B8 802401B8 4481A000 */ mtc1 $at, $f20 +/* A7A6BC 802401BC 0C00A8BB */ jal sin_deg +/* A7A6C0 802401C0 4600B306 */ mov.s $f12, $f22 +/* A7A6C4 802401C4 46140002 */ mul.s $f0, $f0, $f20 +/* A7A6C8 802401C8 00000000 */ nop +/* A7A6CC 802401CC 864200B0 */ lh $v0, 0xb0($s2) +/* A7A6D0 802401D0 3C013F00 */ lui $at, 0x3f00 +/* A7A6D4 802401D4 44812000 */ mtc1 $at, $f4 +/* A7A6D8 802401D8 44821000 */ mtc1 $v0, $f2 +/* A7A6DC 802401DC 00000000 */ nop +/* A7A6E0 802401E0 468010A0 */ cvt.s.w $f2, $f2 +/* A7A6E4 802401E4 46041082 */ mul.s $f2, $f2, $f4 +/* A7A6E8 802401E8 00000000 */ nop +/* A7A6EC 802401EC 4600E700 */ add.s $f28, $f28, $f0 +/* A7A6F0 802401F0 4602D680 */ add.s $f26, $f26, $f2 +/* A7A6F4 802401F4 0C00A8D4 */ jal cos_deg +/* A7A6F8 802401F8 4600B306 */ mov.s $f12, $f22 +/* A7A6FC 802401FC 46140002 */ mul.s $f0, $f0, $f20 +/* A7A700 80240200 00000000 */ nop +/* A7A704 80240204 0220202D */ daddu $a0, $s1, $zero +/* A7A708 80240208 0260282D */ daddu $a1, $s3, $zero +/* A7A70C 8024020C 4600E18D */ trunc.w.s $f6, $f28 +/* A7A710 80240210 44063000 */ mfc1 $a2, $f6 +/* A7A714 80240214 0C0B2026 */ jal set_variable +/* A7A718 80240218 4600C601 */ sub.s $f24, $f24, $f0 +/* A7A71C 8024021C 0220202D */ daddu $a0, $s1, $zero +/* A7A720 80240220 4600D18D */ trunc.w.s $f6, $f26 +/* A7A724 80240224 44063000 */ mfc1 $a2, $f6 +/* A7A728 80240228 0C0B2026 */ jal set_variable +/* A7A72C 8024022C 0280282D */ daddu $a1, $s4, $zero +/* A7A730 80240230 0220202D */ daddu $a0, $s1, $zero +/* A7A734 80240234 4600C18D */ trunc.w.s $f6, $f24 +/* A7A738 80240238 44063000 */ mfc1 $a2, $f6 +/* A7A73C 8024023C 0C0B2026 */ jal set_variable +/* A7A740 80240240 0200282D */ daddu $a1, $s0, $zero +/* A7A744 80240244 8FBF0024 */ lw $ra, 0x24($sp) +/* A7A748 80240248 8FB40020 */ lw $s4, 0x20($sp) +/* A7A74C 8024024C 8FB3001C */ lw $s3, 0x1c($sp) +/* A7A750 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* A7A754 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* A7A758 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* A7A75C 8024025C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* A7A760 80240260 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* A7A764 80240264 D7B80038 */ ldc1 $f24, 0x38($sp) +/* A7A768 80240268 D7B60030 */ ldc1 $f22, 0x30($sp) +/* A7A76C 8024026C D7B40028 */ ldc1 $f20, 0x28($sp) +/* A7A770 80240270 24020002 */ addiu $v0, $zero, 2 +/* A7A774 80240274 03E00008 */ jr $ra +/* A7A778 80240278 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_8024027C_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_8024027C_A7A500.s new file mode 100644 index 0000000000..551925ee11 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_8024027C_A7A500.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024027C_A7A77C +/* A7A77C 8024027C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7A780 80240280 AFBF0010 */ sw $ra, 0x10($sp) +/* A7A784 80240284 10A00003 */ beqz $a1, .L80240294 +/* A7A788 80240288 8C86000C */ lw $a2, 0xc($a0) +/* A7A78C 8024028C 3C018024 */ lui $at, 0x8024 +/* A7A790 80240290 AC200C20 */ sw $zero, 0xc20($at) +.L80240294: +/* A7A794 80240294 3C038024 */ lui $v1, 0x8024 +/* A7A798 80240298 24630C20 */ addiu $v1, $v1, 0xc20 +/* A7A79C 8024029C 8C620000 */ lw $v0, ($v1) +/* A7A7A0 802402A0 54400003 */ bnel $v0, $zero, .L802402B0 +/* A7A7A4 802402A4 AC600000 */ sw $zero, ($v1) +/* A7A7A8 802402A8 080900B1 */ j .L802402C4 +/* A7A7AC 802402AC 0000102D */ daddu $v0, $zero, $zero +.L802402B0: +/* A7A7B0 802402B0 8CC50000 */ lw $a1, ($a2) +/* A7A7B4 802402B4 3C068024 */ lui $a2, 0x8024 +/* A7A7B8 802402B8 0C0B2026 */ jal set_variable +/* A7A7BC 802402BC 8CC60C24 */ lw $a2, 0xc24($a2) +/* A7A7C0 802402C0 24020002 */ addiu $v0, $zero, 2 +.L802402C4: +/* A7A7C4 802402C4 8FBF0010 */ lw $ra, 0x10($sp) +/* A7A7C8 802402C8 03E00008 */ jr $ra +/* A7A7CC 802402CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_802402D0_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_802402D0_A7A500.s new file mode 100644 index 0000000000..42279383f0 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_802402D0_A7A500.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0_A7A7D0 +/* A7A7D0 802402D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7A7D4 802402D4 AFBF0010 */ sw $ra, 0x10($sp) +/* A7A7D8 802402D8 8C82000C */ lw $v0, 0xc($a0) +/* A7A7DC 802402DC 0C0B1EAF */ jal get_variable +/* A7A7E0 802402E0 8C450000 */ lw $a1, ($v0) +/* A7A7E4 802402E4 3C018024 */ lui $at, 0x8024 +/* A7A7E8 802402E8 AC220C24 */ sw $v0, 0xc24($at) +/* A7A7EC 802402EC 24020002 */ addiu $v0, $zero, 2 +/* A7A7F0 802402F0 8FBF0010 */ lw $ra, 0x10($sp) +/* A7A7F4 802402F4 24030001 */ addiu $v1, $zero, 1 +/* A7A7F8 802402F8 3C018024 */ lui $at, 0x8024 +/* A7A7FC 802402FC AC230C20 */ sw $v1, 0xc20($at) +/* A7A800 80240300 03E00008 */ jr $ra +/* A7A804 80240304 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_80240308_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240308_A7A500.s new file mode 100644 index 0000000000..d18a37d9fb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_80240308_A7A500.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240308_A7A808 +/* A7A808 80240308 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7A80C 8024030C AFBF0010 */ sw $ra, 0x10($sp) +/* A7A810 80240310 8C82000C */ lw $v0, 0xc($a0) +/* A7A814 80240314 0C0B1EAF */ jal get_variable +/* A7A818 80240318 8C450000 */ lw $a1, ($v0) +/* A7A81C 8024031C 0040182D */ daddu $v1, $v0, $zero +/* A7A820 80240320 10600012 */ beqz $v1, .L8024036C +/* A7A824 80240324 0000202D */ daddu $a0, $zero, $zero +/* A7A828 80240328 8C620000 */ lw $v0, ($v1) +/* A7A82C 8024032C 5040000A */ beql $v0, $zero, .L80240358 +/* A7A830 80240330 00041080 */ sll $v0, $a0, 2 +/* A7A834 80240334 3C058025 */ lui $a1, 0x8025 +/* A7A838 80240338 24A58F90 */ addiu $a1, $a1, -0x7070 +.L8024033C: +/* A7A83C 8024033C 24630004 */ addiu $v1, $v1, 4 +/* A7A840 80240340 24840001 */ addiu $a0, $a0, 1 +/* A7A844 80240344 ACA20000 */ sw $v0, ($a1) +/* A7A848 80240348 8C620000 */ lw $v0, ($v1) +/* A7A84C 8024034C 1440FFFB */ bnez $v0, .L8024033C +/* A7A850 80240350 24A50004 */ addiu $a1, $a1, 4 +/* A7A854 80240354 00041080 */ sll $v0, $a0, 2 +.L80240358: +/* A7A858 80240358 3C018025 */ lui $at, 0x8025 +/* A7A85C 8024035C 00220821 */ addu $at, $at, $v0 +/* A7A860 80240360 AC208F90 */ sw $zero, -0x7070($at) +/* A7A864 80240364 080900E5 */ j .L80240394 +/* A7A868 80240368 00000000 */ nop +.L8024036C: +/* A7A86C 8024036C 3C038025 */ lui $v1, 0x8025 +/* A7A870 80240370 24638F90 */ addiu $v1, $v1, -0x7070 +/* A7A874 80240374 0060282D */ daddu $a1, $v1, $zero +.L80240378: +/* A7A878 80240378 24820010 */ addiu $v0, $a0, 0x10 +/* A7A87C 8024037C AC620000 */ sw $v0, ($v1) +/* A7A880 80240380 24630004 */ addiu $v1, $v1, 4 +/* A7A884 80240384 24840001 */ addiu $a0, $a0, 1 +/* A7A888 80240388 28820070 */ slti $v0, $a0, 0x70 +/* A7A88C 8024038C 1440FFFA */ bnez $v0, .L80240378 +/* A7A890 80240390 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240394: +/* A7A894 80240394 8FBF0010 */ lw $ra, 0x10($sp) +/* A7A898 80240398 24020002 */ addiu $v0, $zero, 2 +/* A7A89C 8024039C 03E00008 */ jr $ra +/* A7A8A0 802403A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_82/func_802403A4_A7A500.s b/asm/nonmatchings/world/area_kpa/kpa_82/func_802403A4_A7A500.s new file mode 100644 index 0000000000..96bf6b5484 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_82/func_802403A4_A7A500.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A4_A7A8A4 +/* A7A8A4 802403A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A7A8A8 802403A8 AFBF0010 */ sw $ra, 0x10($sp) +/* A7A8AC 802403AC 8C82000C */ lw $v0, 0xc($a0) +/* A7A8B0 802403B0 0C0B1EAF */ jal get_variable +/* A7A8B4 802403B4 8C450000 */ lw $a1, ($v0) +/* A7A8B8 802403B8 0040182D */ daddu $v1, $v0, $zero +/* A7A8BC 802403BC 10600012 */ beqz $v1, .L80240408 +/* A7A8C0 802403C0 0000202D */ daddu $a0, $zero, $zero +/* A7A8C4 802403C4 8C620000 */ lw $v0, ($v1) +/* A7A8C8 802403C8 5040000A */ beql $v0, $zero, .L802403F4 +/* A7A8CC 802403CC 00041080 */ sll $v0, $a0, 2 +/* A7A8D0 802403D0 3C058025 */ lui $a1, 0x8025 +/* A7A8D4 802403D4 24A59158 */ addiu $a1, $a1, -0x6ea8 +.L802403D8: +/* A7A8D8 802403D8 24630004 */ addiu $v1, $v1, 4 +/* A7A8DC 802403DC 24840001 */ addiu $a0, $a0, 1 +/* A7A8E0 802403E0 ACA20000 */ sw $v0, ($a1) +/* A7A8E4 802403E4 8C620000 */ lw $v0, ($v1) +/* A7A8E8 802403E8 1440FFFB */ bnez $v0, .L802403D8 +/* A7A8EC 802403EC 24A50004 */ addiu $a1, $a1, 4 +/* A7A8F0 802403F0 00041080 */ sll $v0, $a0, 2 +.L802403F4: +/* A7A8F4 802403F4 3C018025 */ lui $at, 0x8025 +/* A7A8F8 802403F8 00220821 */ addu $at, $at, $v0 +/* A7A8FC 802403FC AC209158 */ sw $zero, -0x6ea8($at) +/* A7A900 80240400 0809010C */ j .L80240430 +/* A7A904 80240404 00000000 */ nop +.L80240408: +/* A7A908 80240408 3C038025 */ lui $v1, 0x8025 +/* A7A90C 8024040C 24639158 */ addiu $v1, $v1, -0x6ea8 +/* A7A910 80240410 0060282D */ daddu $a1, $v1, $zero +.L80240414: +/* A7A914 80240414 24820080 */ addiu $v0, $a0, 0x80 +/* A7A918 80240418 AC620000 */ sw $v0, ($v1) +/* A7A91C 8024041C 24630004 */ addiu $v1, $v1, 4 +/* A7A920 80240420 24840001 */ addiu $a0, $a0, 1 +/* A7A924 80240424 2882005B */ slti $v0, $a0, 0x5b +/* A7A928 80240428 1440FFFA */ bnez $v0, .L80240414 +/* A7A92C 8024042C ACA0016C */ sw $zero, 0x16c($a1) +.L80240430: +/* A7A930 80240430 8FBF0010 */ lw $ra, 0x10($sp) +/* A7A934 80240434 24020002 */ addiu $v0, $zero, 2 +/* A7A938 80240438 03E00008 */ jr $ra +/* A7A93C 8024043C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_83/func_80240000_A83490.s b/asm/nonmatchings/world/area_kpa/kpa_83/func_80240000_A83490.s new file mode 100644 index 0000000000..86f102f2bf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_83/func_80240000_A83490.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A83490 +/* A83490 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A83494 80240004 3C04800E */ lui $a0, 0x800e +/* A83498 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* A8349C 8024000C 3C058024 */ lui $a1, 0x8024 +/* A834A0 80240010 24A532F0 */ addiu $a1, $a1, 0x32f0 +/* A834A4 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* A834A8 80240018 0C01953C */ jal sprintf +/* A834AC 8024001C 00000000 */ nop +/* A834B0 80240020 3C04800E */ lui $a0, 0x800e +/* A834B4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* A834B8 80240028 3C058024 */ lui $a1, 0x8024 +/* A834BC 8024002C 0C01953C */ jal sprintf +/* A834C0 80240030 24A53300 */ addiu $a1, $a1, 0x3300 +/* A834C4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* A834C8 80240038 0000102D */ daddu $v0, $zero, $zero +/* A834CC 8024003C 03E00008 */ jr $ra +/* A834D0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* A834D4 80240044 00000000 */ nop +/* A834D8 80240048 00000000 */ nop +/* A834DC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_83/func_80240050_A83490.s b/asm/nonmatchings/world/area_kpa/kpa_83/func_80240050_A83490.s new file mode 100644 index 0000000000..3f6c2d0a21 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_83/func_80240050_A83490.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_A834E0 +/* A834E0 80240050 C4800084 */ lwc1 $f0, 0x84($a0) +/* A834E4 80240054 46800020 */ cvt.s.w $f0, $f0 +/* A834E8 80240058 3C018011 */ lui $at, 0x8011 +/* A834EC 8024005C E420F070 */ swc1 $f0, -0xf90($at) +/* A834F0 80240060 03E00008 */ jr $ra +/* A834F4 80240064 24020002 */ addiu $v0, $zero, 2 +/* A834F8 80240068 00000000 */ nop +/* A834FC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240000_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240000_A86A50.s new file mode 100644 index 0000000000..8460e06fac --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240000_A86A50.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A86A50 +/* A86A50 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A86A54 80240004 AFB50024 */ sw $s5, 0x24($sp) +/* A86A58 80240008 0080A82D */ daddu $s5, $a0, $zero +/* A86A5C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* A86A60 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* A86A64 80240014 AFB40020 */ sw $s4, 0x20($sp) +/* A86A68 80240018 AFB3001C */ sw $s3, 0x1c($sp) +/* A86A6C 8024001C AFB20018 */ sw $s2, 0x18($sp) +/* A86A70 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* A86A74 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* A86A78 80240028 F7B80040 */ sdc1 $f24, 0x40($sp) +/* A86A7C 8024002C F7B60038 */ sdc1 $f22, 0x38($sp) +/* A86A80 80240030 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A86A84 80240034 8EB30148 */ lw $s3, 0x148($s5) +/* A86A88 80240038 86640008 */ lh $a0, 8($s3) +/* A86A8C 8024003C 0C00EABB */ jal get_npc_unsafe +/* A86A90 80240040 00A0B02D */ daddu $s6, $a1, $zero +/* A86A94 80240044 0040A02D */ daddu $s4, $v0, $zero +/* A86A98 80240048 AEA00074 */ sw $zero, 0x74($s5) +/* A86A9C 8024004C C6980038 */ lwc1 $f24, 0x38($s4) +/* A86AA0 80240050 C6960040 */ lwc1 $f22, 0x40($s4) +/* A86AA4 80240054 0000902D */ daddu $s2, $zero, $zero +/* A86AA8 80240058 AEA00078 */ sw $zero, 0x78($s5) +/* A86AAC 8024005C 8E6300D0 */ lw $v1, 0xd0($s3) +/* A86AB0 80240060 8C620000 */ lw $v0, ($v1) +/* A86AB4 80240064 3C0146FF */ lui $at, 0x46ff +/* A86AB8 80240068 3421FE00 */ ori $at, $at, 0xfe00 +/* A86ABC 8024006C 4481A000 */ mtc1 $at, $f20 +/* A86AC0 80240070 18400018 */ blez $v0, .L802400D4 +/* A86AC4 80240074 0240802D */ daddu $s0, $s2, $zero +/* A86AC8 80240078 0240882D */ daddu $s1, $s2, $zero +.L8024007C: +/* A86ACC 8024007C 02231021 */ addu $v0, $s1, $v1 +/* A86AD0 80240080 4600C306 */ mov.s $f12, $f24 +/* A86AD4 80240084 C4440004 */ lwc1 $f4, 4($v0) +/* A86AD8 80240088 46802120 */ cvt.s.w $f4, $f4 +/* A86ADC 8024008C 44062000 */ mfc1 $a2, $f4 +/* A86AE0 80240090 C444000C */ lwc1 $f4, 0xc($v0) +/* A86AE4 80240094 46802120 */ cvt.s.w $f4, $f4 +/* A86AE8 80240098 44072000 */ mfc1 $a3, $f4 +/* A86AEC 8024009C 0C00A7B5 */ jal dist2D +/* A86AF0 802400A0 4600B386 */ mov.s $f14, $f22 +/* A86AF4 802400A4 4614003C */ c.lt.s $f0, $f20 +/* A86AF8 802400A8 00000000 */ nop +/* A86AFC 802400AC 45000003 */ bc1f .L802400BC +/* A86B00 802400B0 2631000C */ addiu $s1, $s1, 0xc +/* A86B04 802400B4 46000506 */ mov.s $f20, $f0 +/* A86B08 802400B8 AEB20078 */ sw $s2, 0x78($s5) +.L802400BC: +/* A86B0C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3) +/* A86B10 802400C0 26100001 */ addiu $s0, $s0, 1 +/* A86B14 802400C4 8C620000 */ lw $v0, ($v1) +/* A86B18 802400C8 0202102A */ slt $v0, $s0, $v0 +/* A86B1C 802400CC 1440FFEB */ bnez $v0, .L8024007C +/* A86B20 802400D0 26520001 */ addiu $s2, $s2, 1 +.L802400D4: +/* A86B24 802400D4 8E6200CC */ lw $v0, 0xcc($s3) +/* A86B28 802400D8 8C420004 */ lw $v0, 4($v0) +/* A86B2C 802400DC AE820028 */ sw $v0, 0x28($s4) +/* A86B30 802400E0 8E6200D0 */ lw $v0, 0xd0($s3) +/* A86B34 802400E4 8C42007C */ lw $v0, 0x7c($v0) +/* A86B38 802400E8 04410004 */ bgez $v0, .L802400FC +/* A86B3C 802400EC 00000000 */ nop +/* A86B40 802400F0 C6C00000 */ lwc1 $f0, ($s6) +/* A86B44 802400F4 08090047 */ j .L8024011C +/* A86B48 802400F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802400FC: +/* A86B4C 802400FC 3C018024 */ lui $at, 0x8024 +/* A86B50 80240100 D4225A30 */ ldc1 $f2, 0x5a30($at) +/* A86B54 80240104 44820000 */ mtc1 $v0, $f0 +/* A86B58 80240108 00000000 */ nop +/* A86B5C 8024010C 46800021 */ cvt.d.w $f0, $f0 +/* A86B60 80240110 46220003 */ div.d $f0, $f0, $f2 +/* A86B64 80240114 46200020 */ cvt.s.d $f0, $f0 +/* A86B68 80240118 E6800018 */ swc1 $f0, 0x18($s4) +.L8024011C: +/* A86B6C 8024011C 24020001 */ addiu $v0, $zero, 1 +/* A86B70 80240120 AEA20070 */ sw $v0, 0x70($s5) +/* A86B74 80240124 8FBF002C */ lw $ra, 0x2c($sp) +/* A86B78 80240128 8FB60028 */ lw $s6, 0x28($sp) +/* A86B7C 8024012C 8FB50024 */ lw $s5, 0x24($sp) +/* A86B80 80240130 8FB40020 */ lw $s4, 0x20($sp) +/* A86B84 80240134 8FB3001C */ lw $s3, 0x1c($sp) +/* A86B88 80240138 8FB20018 */ lw $s2, 0x18($sp) +/* A86B8C 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* A86B90 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* A86B94 80240144 D7B80040 */ ldc1 $f24, 0x40($sp) +/* A86B98 80240148 D7B60038 */ ldc1 $f22, 0x38($sp) +/* A86B9C 8024014C D7B40030 */ ldc1 $f20, 0x30($sp) +/* A86BA0 80240150 03E00008 */ jr $ra +/* A86BA4 80240154 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240158_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240158_A86A50.s new file mode 100644 index 0000000000..171d20e62d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240158_A86A50.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_A86BA8 +/* A86BA8 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A86BAC 8024015C AFB20038 */ sw $s2, 0x38($sp) +/* A86BB0 80240160 0080902D */ daddu $s2, $a0, $zero +/* A86BB4 80240164 AFBF0044 */ sw $ra, 0x44($sp) +/* A86BB8 80240168 AFB40040 */ sw $s4, 0x40($sp) +/* A86BBC 8024016C AFB3003C */ sw $s3, 0x3c($sp) +/* A86BC0 80240170 AFB10034 */ sw $s1, 0x34($sp) +/* A86BC4 80240174 AFB00030 */ sw $s0, 0x30($sp) +/* A86BC8 80240178 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A86BCC 8024017C F7B40048 */ sdc1 $f20, 0x48($sp) +/* A86BD0 80240180 8E510148 */ lw $s1, 0x148($s2) +/* A86BD4 80240184 00A0982D */ daddu $s3, $a1, $zero +/* A86BD8 80240188 86240008 */ lh $a0, 8($s1) +/* A86BDC 8024018C 0C00EABB */ jal get_npc_unsafe +/* A86BE0 80240190 00C0A02D */ daddu $s4, $a2, $zero +/* A86BE4 80240194 8E630014 */ lw $v1, 0x14($s3) +/* A86BE8 80240198 04600030 */ bltz $v1, .L8024025C +/* A86BEC 8024019C 0040802D */ daddu $s0, $v0, $zero +/* A86BF0 802401A0 8E420074 */ lw $v0, 0x74($s2) +/* A86BF4 802401A4 1C40002C */ bgtz $v0, .L80240258 +/* A86BF8 802401A8 2442FFFF */ addiu $v0, $v0, -1 +/* A86BFC 802401AC 0280202D */ daddu $a0, $s4, $zero +/* A86C00 802401B0 AE430074 */ sw $v1, 0x74($s2) +/* A86C04 802401B4 AFA00010 */ sw $zero, 0x10($sp) +/* A86C08 802401B8 8E66000C */ lw $a2, 0xc($s3) +/* A86C0C 802401BC 8E670010 */ lw $a3, 0x10($s3) +/* A86C10 802401C0 0C01242D */ jal func_800490B4 +/* A86C14 802401C4 0220282D */ daddu $a1, $s1, $zero +/* A86C18 802401C8 10400021 */ beqz $v0, .L80240250 +/* A86C1C 802401CC 0000202D */ daddu $a0, $zero, $zero +/* A86C20 802401D0 0200282D */ daddu $a1, $s0, $zero +/* A86C24 802401D4 0000302D */ daddu $a2, $zero, $zero +/* A86C28 802401D8 860300A8 */ lh $v1, 0xa8($s0) +/* A86C2C 802401DC 3C013F80 */ lui $at, 0x3f80 +/* A86C30 802401E0 44810000 */ mtc1 $at, $f0 +/* A86C34 802401E4 3C014000 */ lui $at, 0x4000 +/* A86C38 802401E8 44811000 */ mtc1 $at, $f2 +/* A86C3C 802401EC 3C01C1A0 */ lui $at, 0xc1a0 +/* A86C40 802401F0 44812000 */ mtc1 $at, $f4 +/* A86C44 802401F4 2402000F */ addiu $v0, $zero, 0xf +/* A86C48 802401F8 AFA2001C */ sw $v0, 0x1c($sp) +/* A86C4C 802401FC 44833000 */ mtc1 $v1, $f6 +/* A86C50 80240200 00000000 */ nop +/* A86C54 80240204 468031A0 */ cvt.s.w $f6, $f6 +/* A86C58 80240208 44073000 */ mfc1 $a3, $f6 +/* A86C5C 8024020C 27A20028 */ addiu $v0, $sp, 0x28 +/* A86C60 80240210 AFA20020 */ sw $v0, 0x20($sp) +/* A86C64 80240214 E7A00010 */ swc1 $f0, 0x10($sp) +/* A86C68 80240218 E7A20014 */ swc1 $f2, 0x14($sp) +/* A86C6C 8024021C 0C01BFA4 */ jal fx_emote +/* A86C70 80240220 E7A40018 */ swc1 $f4, 0x18($sp) +/* A86C74 80240224 0200202D */ daddu $a0, $s0, $zero +/* A86C78 80240228 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A86C7C 8024022C 0C012530 */ jal func_800494C0 +/* A86C80 80240230 3C060020 */ lui $a2, 0x20 +/* A86C84 80240234 8E220018 */ lw $v0, 0x18($s1) +/* A86C88 80240238 9442002A */ lhu $v0, 0x2a($v0) +/* A86C8C 8024023C 30420001 */ andi $v0, $v0, 1 +/* A86C90 80240240 14400064 */ bnez $v0, .L802403D4 +/* A86C94 80240244 2402000A */ addiu $v0, $zero, 0xa +/* A86C98 80240248 080900F5 */ j .L802403D4 +/* A86C9C 8024024C 2402000C */ addiu $v0, $zero, 0xc +.L80240250: +/* A86CA0 80240250 8E420074 */ lw $v0, 0x74($s2) +/* A86CA4 80240254 2442FFFF */ addiu $v0, $v0, -1 +.L80240258: +/* A86CA8 80240258 AE420074 */ sw $v0, 0x74($s2) +.L8024025C: +/* A86CAC 8024025C 8602008C */ lh $v0, 0x8c($s0) +/* A86CB0 80240260 1440005D */ bnez $v0, .L802403D8 +/* A86CB4 80240264 00000000 */ nop +/* A86CB8 80240268 C6000018 */ lwc1 $f0, 0x18($s0) +/* A86CBC 8024026C 3C014010 */ lui $at, 0x4010 +/* A86CC0 80240270 44811800 */ mtc1 $at, $f3 +/* A86CC4 80240274 44801000 */ mtc1 $zero, $f2 +/* A86CC8 80240278 46000021 */ cvt.d.s $f0, $f0 +/* A86CCC 8024027C 4622003C */ c.lt.d $f0, $f2 +/* A86CD0 80240280 00000000 */ nop +/* A86CD4 80240284 45000003 */ bc1f .L80240294 +/* A86CD8 80240288 0200202D */ daddu $a0, $s0, $zero +/* A86CDC 8024028C 080900A6 */ j .L80240298 +/* A86CE0 80240290 0000282D */ daddu $a1, $zero, $zero +.L80240294: +/* A86CE4 80240294 24050001 */ addiu $a1, $zero, 1 +.L80240298: +/* A86CE8 80240298 0C00F598 */ jal func_8003D660 +/* A86CEC 8024029C 00000000 */ nop +/* A86CF0 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A86CF4 802402A4 8E430078 */ lw $v1, 0x78($s2) +/* A86CF8 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A86CFC 802402AC 00031040 */ sll $v0, $v1, 1 +/* A86D00 802402B0 00431021 */ addu $v0, $v0, $v1 +/* A86D04 802402B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A86D08 802402B8 00021080 */ sll $v0, $v0, 2 +/* A86D0C 802402BC 00431021 */ addu $v0, $v0, $v1 +/* A86D10 802402C0 C4560004 */ lwc1 $f22, 4($v0) +/* A86D14 802402C4 4680B5A0 */ cvt.s.w $f22, $f22 +/* A86D18 802402C8 C454000C */ lwc1 $f20, 0xc($v0) +/* A86D1C 802402CC 4680A520 */ cvt.s.w $f20, $f20 +/* A86D20 802402D0 4406B000 */ mfc1 $a2, $f22 +/* A86D24 802402D4 4407A000 */ mfc1 $a3, $f20 +/* A86D28 802402D8 0C00A720 */ jal atan2 +/* A86D2C 802402DC 00000000 */ nop +/* A86D30 802402E0 8E050018 */ lw $a1, 0x18($s0) +/* A86D34 802402E4 44060000 */ mfc1 $a2, $f0 +/* A86D38 802402E8 0200202D */ daddu $a0, $s0, $zero +/* A86D3C 802402EC 0C00EA95 */ jal npc_move_heading +/* A86D40 802402F0 AE06000C */ sw $a2, 0xc($s0) +/* A86D44 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A86D48 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A86D4C 802402FC 4406B000 */ mfc1 $a2, $f22 +/* A86D50 80240300 4407A000 */ mfc1 $a3, $f20 +/* A86D54 80240304 0C00A7B5 */ jal dist2D +/* A86D58 80240308 00000000 */ nop +/* A86D5C 8024030C C6020018 */ lwc1 $f2, 0x18($s0) +/* A86D60 80240310 4602003E */ c.le.s $f0, $f2 +/* A86D64 80240314 00000000 */ nop +/* A86D68 80240318 4500002F */ bc1f .L802403D8 +/* A86D6C 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A86D70 80240320 24020002 */ addiu $v0, $zero, 2 +/* A86D74 80240324 0C00A67F */ jal rand_int +/* A86D78 80240328 AE420070 */ sw $v0, 0x70($s2) +/* A86D7C 8024032C 3C035555 */ lui $v1, 0x5555 +/* A86D80 80240330 34635556 */ ori $v1, $v1, 0x5556 +/* A86D84 80240334 00430018 */ mult $v0, $v1 +/* A86D88 80240338 000227C3 */ sra $a0, $v0, 0x1f +/* A86D8C 8024033C 00004010 */ mfhi $t0 +/* A86D90 80240340 01042023 */ subu $a0, $t0, $a0 +/* A86D94 80240344 00041840 */ sll $v1, $a0, 1 +/* A86D98 80240348 00641821 */ addu $v1, $v1, $a0 +/* A86D9C 8024034C 00431023 */ subu $v0, $v0, $v1 +/* A86DA0 80240350 24430002 */ addiu $v1, $v0, 2 +/* A86DA4 80240354 AE430074 */ sw $v1, 0x74($s2) +/* A86DA8 80240358 8E62002C */ lw $v0, 0x2c($s3) +/* A86DAC 8024035C 18400009 */ blez $v0, .L80240384 +/* A86DB0 80240360 24020004 */ addiu $v0, $zero, 4 +/* A86DB4 80240364 8E620004 */ lw $v0, 4($s3) +/* A86DB8 80240368 18400006 */ blez $v0, .L80240384 +/* A86DBC 8024036C 24020004 */ addiu $v0, $zero, 4 +/* A86DC0 80240370 8E620008 */ lw $v0, 8($s3) +/* A86DC4 80240374 18400003 */ blez $v0, .L80240384 +/* A86DC8 80240378 24020004 */ addiu $v0, $zero, 4 +/* A86DCC 8024037C 14600002 */ bnez $v1, .L80240388 +/* A86DD0 80240380 00000000 */ nop +.L80240384: +/* A86DD4 80240384 AE420070 */ sw $v0, 0x70($s2) +.L80240388: +/* A86DD8 80240388 0C00A67F */ jal rand_int +/* A86DDC 8024038C 24042710 */ addiu $a0, $zero, 0x2710 +/* A86DE0 80240390 3C0351EB */ lui $v1, 0x51eb +/* A86DE4 80240394 3463851F */ ori $v1, $v1, 0x851f +/* A86DE8 80240398 00430018 */ mult $v0, $v1 +/* A86DEC 8024039C 00021FC3 */ sra $v1, $v0, 0x1f +/* A86DF0 802403A0 00004010 */ mfhi $t0 +/* A86DF4 802403A4 00082143 */ sra $a0, $t0, 5 +/* A86DF8 802403A8 00832023 */ subu $a0, $a0, $v1 +/* A86DFC 802403AC 00041840 */ sll $v1, $a0, 1 +/* A86E00 802403B0 00641821 */ addu $v1, $v1, $a0 +/* A86E04 802403B4 000318C0 */ sll $v1, $v1, 3 +/* A86E08 802403B8 00641821 */ addu $v1, $v1, $a0 +/* A86E0C 802403BC 00031880 */ sll $v1, $v1, 2 +/* A86E10 802403C0 8E640004 */ lw $a0, 4($s3) +/* A86E14 802403C4 00431023 */ subu $v0, $v0, $v1 +/* A86E18 802403C8 0044102A */ slt $v0, $v0, $a0 +/* A86E1C 802403CC 10400002 */ beqz $v0, .L802403D8 +/* A86E20 802403D0 24020004 */ addiu $v0, $zero, 4 +.L802403D4: +/* A86E24 802403D4 AE420070 */ sw $v0, 0x70($s2) +.L802403D8: +/* A86E28 802403D8 8FBF0044 */ lw $ra, 0x44($sp) +/* A86E2C 802403DC 8FB40040 */ lw $s4, 0x40($sp) +/* A86E30 802403E0 8FB3003C */ lw $s3, 0x3c($sp) +/* A86E34 802403E4 8FB20038 */ lw $s2, 0x38($sp) +/* A86E38 802403E8 8FB10034 */ lw $s1, 0x34($sp) +/* A86E3C 802403EC 8FB00030 */ lw $s0, 0x30($sp) +/* A86E40 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A86E44 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A86E48 802403F8 03E00008 */ jr $ra +/* A86E4C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240400_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240400_A86A50.s new file mode 100644 index 0000000000..ff1bdad222 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240400_A86A50.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400_A86E50 +/* A86E50 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A86E54 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* A86E58 80240408 0080982D */ daddu $s3, $a0, $zero +/* A86E5C 8024040C AFBF0020 */ sw $ra, 0x20($sp) +/* A86E60 80240410 AFB20018 */ sw $s2, 0x18($sp) +/* A86E64 80240414 AFB10014 */ sw $s1, 0x14($sp) +/* A86E68 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* A86E6C 8024041C 8E720148 */ lw $s2, 0x148($s3) +/* A86E70 80240420 86440008 */ lh $a0, 8($s2) +/* A86E74 80240424 0C00EABB */ jal get_npc_unsafe +/* A86E78 80240428 00A0882D */ daddu $s1, $a1, $zero +/* A86E7C 8024042C 8E240008 */ lw $a0, 8($s1) +/* A86E80 80240430 0040802D */ daddu $s0, $v0, $zero +/* A86E84 80240434 00041FC2 */ srl $v1, $a0, 0x1f +/* A86E88 80240438 00832021 */ addu $a0, $a0, $v1 +/* A86E8C 8024043C 00042043 */ sra $a0, $a0, 1 +/* A86E90 80240440 0C00A67F */ jal rand_int +/* A86E94 80240444 24840001 */ addiu $a0, $a0, 1 +/* A86E98 80240448 8E230008 */ lw $v1, 8($s1) +/* A86E9C 8024044C 240400B4 */ addiu $a0, $zero, 0xb4 +/* A86EA0 80240450 00032FC2 */ srl $a1, $v1, 0x1f +/* A86EA4 80240454 00651821 */ addu $v1, $v1, $a1 +/* A86EA8 80240458 00031843 */ sra $v1, $v1, 1 +/* A86EAC 8024045C 00621821 */ addu $v1, $v1, $v0 +/* A86EB0 80240460 0C00A67F */ jal rand_int +/* A86EB4 80240464 A603008E */ sh $v1, 0x8e($s0) +/* A86EB8 80240468 C60C000C */ lwc1 $f12, 0xc($s0) +/* A86EBC 8024046C 44820000 */ mtc1 $v0, $f0 +/* A86EC0 80240470 00000000 */ nop +/* A86EC4 80240474 46800020 */ cvt.s.w $f0, $f0 +/* A86EC8 80240478 46006300 */ add.s $f12, $f12, $f0 +/* A86ECC 8024047C 3C0142B4 */ lui $at, 0x42b4 +/* A86ED0 80240480 44810000 */ mtc1 $at, $f0 +/* A86ED4 80240484 0C00A6C9 */ jal clamp_angle +/* A86ED8 80240488 46006301 */ sub.s $f12, $f12, $f0 +/* A86EDC 8024048C E600000C */ swc1 $f0, 0xc($s0) +/* A86EE0 80240490 8E4200CC */ lw $v0, 0xcc($s2) +/* A86EE4 80240494 8C420000 */ lw $v0, ($v0) +/* A86EE8 80240498 AE020028 */ sw $v0, 0x28($s0) +/* A86EEC 8024049C 24020003 */ addiu $v0, $zero, 3 +/* A86EF0 802404A0 AE620070 */ sw $v0, 0x70($s3) +/* A86EF4 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* A86EF8 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* A86EFC 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* A86F00 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* A86F04 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* A86F08 802404B8 03E00008 */ jr $ra +/* A86F0C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802404C0_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802404C0_A86A50.s new file mode 100644 index 0000000000..269378869d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802404C0_A86A50.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_A86F10 +/* A86F10 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A86F14 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* A86F18 802404C8 0080A02D */ daddu $s4, $a0, $zero +/* A86F1C 802404CC AFBF0044 */ sw $ra, 0x44($sp) +/* A86F20 802404D0 AFB3003C */ sw $s3, 0x3c($sp) +/* A86F24 802404D4 AFB20038 */ sw $s2, 0x38($sp) +/* A86F28 802404D8 AFB10034 */ sw $s1, 0x34($sp) +/* A86F2C 802404DC AFB00030 */ sw $s0, 0x30($sp) +/* A86F30 802404E0 8E910148 */ lw $s1, 0x148($s4) +/* A86F34 802404E4 00A0902D */ daddu $s2, $a1, $zero +/* A86F38 802404E8 86240008 */ lh $a0, 8($s1) +/* A86F3C 802404EC 0C00EABB */ jal get_npc_unsafe +/* A86F40 802404F0 00C0982D */ daddu $s3, $a2, $zero +/* A86F44 802404F4 8E430014 */ lw $v1, 0x14($s2) +/* A86F48 802404F8 04600031 */ bltz $v1, .L802405C0 +/* A86F4C 802404FC 0040802D */ daddu $s0, $v0, $zero +/* A86F50 80240500 0260202D */ daddu $a0, $s3, $zero +/* A86F54 80240504 AFA00010 */ sw $zero, 0x10($sp) +/* A86F58 80240508 8E460024 */ lw $a2, 0x24($s2) +/* A86F5C 8024050C 8E470028 */ lw $a3, 0x28($s2) +/* A86F60 80240510 0C01242D */ jal func_800490B4 +/* A86F64 80240514 0220282D */ daddu $a1, $s1, $zero +/* A86F68 80240518 10400029 */ beqz $v0, .L802405C0 +/* A86F6C 8024051C 0000202D */ daddu $a0, $zero, $zero +/* A86F70 80240520 0200282D */ daddu $a1, $s0, $zero +/* A86F74 80240524 0000302D */ daddu $a2, $zero, $zero +/* A86F78 80240528 860300A8 */ lh $v1, 0xa8($s0) +/* A86F7C 8024052C 3C013F80 */ lui $at, 0x3f80 +/* A86F80 80240530 44810000 */ mtc1 $at, $f0 +/* A86F84 80240534 3C014000 */ lui $at, 0x4000 +/* A86F88 80240538 44811000 */ mtc1 $at, $f2 +/* A86F8C 8024053C 3C01C1A0 */ lui $at, 0xc1a0 +/* A86F90 80240540 44812000 */ mtc1 $at, $f4 +/* A86F94 80240544 2402000F */ addiu $v0, $zero, 0xf +/* A86F98 80240548 AFA2001C */ sw $v0, 0x1c($sp) +/* A86F9C 8024054C 44833000 */ mtc1 $v1, $f6 +/* A86FA0 80240550 00000000 */ nop +/* A86FA4 80240554 468031A0 */ cvt.s.w $f6, $f6 +/* A86FA8 80240558 44073000 */ mfc1 $a3, $f6 +/* A86FAC 8024055C 27A20028 */ addiu $v0, $sp, 0x28 +/* A86FB0 80240560 AFA20020 */ sw $v0, 0x20($sp) +/* A86FB4 80240564 E7A00010 */ swc1 $f0, 0x10($sp) +/* A86FB8 80240568 E7A20014 */ swc1 $f2, 0x14($sp) +/* A86FBC 8024056C 0C01BFA4 */ jal fx_emote +/* A86FC0 80240570 E7A40018 */ swc1 $f4, 0x18($sp) +/* A86FC4 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A86FC8 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A86FCC 8024057C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A86FD0 80240580 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A86FD4 80240584 8C460028 */ lw $a2, 0x28($v0) +/* A86FD8 80240588 0C00A720 */ jal atan2 +/* A86FDC 8024058C 8C470030 */ lw $a3, 0x30($v0) +/* A86FE0 80240590 0200202D */ daddu $a0, $s0, $zero +/* A86FE4 80240594 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A86FE8 80240598 3C060020 */ lui $a2, 0x20 +/* A86FEC 8024059C 0C012530 */ jal func_800494C0 +/* A86FF0 802405A0 E480000C */ swc1 $f0, 0xc($a0) +/* A86FF4 802405A4 8E220018 */ lw $v0, 0x18($s1) +/* A86FF8 802405A8 9442002A */ lhu $v0, 0x2a($v0) +/* A86FFC 802405AC 30420001 */ andi $v0, $v0, 1 +/* A87000 802405B0 14400029 */ bnez $v0, .L80240658 +/* A87004 802405B4 2402000A */ addiu $v0, $zero, 0xa +/* A87008 802405B8 08090196 */ j .L80240658 +/* A8700C 802405BC 2402000C */ addiu $v0, $zero, 0xc +.L802405C0: +/* A87010 802405C0 8602008C */ lh $v0, 0x8c($s0) +/* A87014 802405C4 14400025 */ bnez $v0, .L8024065C +/* A87018 802405C8 00000000 */ nop +/* A8701C 802405CC 9602008E */ lhu $v0, 0x8e($s0) +/* A87020 802405D0 2442FFFF */ addiu $v0, $v0, -1 +/* A87024 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* A87028 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* A8702C 802405DC 1440001F */ bnez $v0, .L8024065C +/* A87030 802405E0 00000000 */ nop +/* A87034 802405E4 8E820074 */ lw $v0, 0x74($s4) +/* A87038 802405E8 2442FFFF */ addiu $v0, $v0, -1 +/* A8703C 802405EC 10400019 */ beqz $v0, .L80240654 +/* A87040 802405F0 AE820074 */ sw $v0, 0x74($s4) +/* A87044 802405F4 8E220018 */ lw $v0, 0x18($s1) +/* A87048 802405F8 9442002A */ lhu $v0, 0x2a($v0) +/* A8704C 802405FC 30420010 */ andi $v0, $v0, 0x10 +/* A87050 80240600 14400007 */ bnez $v0, .L80240620 +/* A87054 80240604 00000000 */ nop +/* A87058 80240608 C600000C */ lwc1 $f0, 0xc($s0) +/* A8705C 8024060C 3C014334 */ lui $at, 0x4334 +/* A87060 80240610 44816000 */ mtc1 $at, $f12 +/* A87064 80240614 0C00A6C9 */ jal clamp_angle +/* A87068 80240618 460C0300 */ add.s $f12, $f0, $f12 +/* A8706C 8024061C E600000C */ swc1 $f0, 0xc($s0) +.L80240620: +/* A87070 80240620 8E440008 */ lw $a0, 8($s2) +/* A87074 80240624 000417C2 */ srl $v0, $a0, 0x1f +/* A87078 80240628 00822021 */ addu $a0, $a0, $v0 +/* A8707C 8024062C 00042043 */ sra $a0, $a0, 1 +/* A87080 80240630 0C00A67F */ jal rand_int +/* A87084 80240634 24840001 */ addiu $a0, $a0, 1 +/* A87088 80240638 8E430008 */ lw $v1, 8($s2) +/* A8708C 8024063C 000327C2 */ srl $a0, $v1, 0x1f +/* A87090 80240640 00641821 */ addu $v1, $v1, $a0 +/* A87094 80240644 00031843 */ sra $v1, $v1, 1 +/* A87098 80240648 00621821 */ addu $v1, $v1, $v0 +/* A8709C 8024064C 08090197 */ j .L8024065C +/* A870A0 80240650 A603008E */ sh $v1, 0x8e($s0) +.L80240654: +/* A870A4 80240654 24020004 */ addiu $v0, $zero, 4 +.L80240658: +/* A870A8 80240658 AE820070 */ sw $v0, 0x70($s4) +.L8024065C: +/* A870AC 8024065C 8FBF0044 */ lw $ra, 0x44($sp) +/* A870B0 80240660 8FB40040 */ lw $s4, 0x40($sp) +/* A870B4 80240664 8FB3003C */ lw $s3, 0x3c($sp) +/* A870B8 80240668 8FB20038 */ lw $s2, 0x38($sp) +/* A870BC 8024066C 8FB10034 */ lw $s1, 0x34($sp) +/* A870C0 80240670 8FB00030 */ lw $s0, 0x30($sp) +/* A870C4 80240674 03E00008 */ jr $ra +/* A870C8 80240678 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024067C.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024067C.s new file mode 100644 index 0000000000..6e73902f42 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024067C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024067C +/* A870CC 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A870D0 80240680 AFB10014 */ sw $s1, 0x14($sp) +/* A870D4 80240684 0080882D */ daddu $s1, $a0, $zero +/* A870D8 80240688 AFBF001C */ sw $ra, 0x1c($sp) +/* A870DC 8024068C AFB20018 */ sw $s2, 0x18($sp) +/* A870E0 80240690 AFB00010 */ sw $s0, 0x10($sp) +/* A870E4 80240694 8E300148 */ lw $s0, 0x148($s1) +/* A870E8 80240698 86040008 */ lh $a0, 8($s0) +/* A870EC 8024069C 0C00EABB */ jal get_npc_unsafe +/* A870F0 802406A0 00A0902D */ daddu $s2, $a1, $zero +/* A870F4 802406A4 8E230078 */ lw $v1, 0x78($s1) +/* A870F8 802406A8 24630001 */ addiu $v1, $v1, 1 +/* A870FC 802406AC AE230078 */ sw $v1, 0x78($s1) +/* A87100 802406B0 8E0400D0 */ lw $a0, 0xd0($s0) +/* A87104 802406B4 8C840000 */ lw $a0, ($a0) +/* A87108 802406B8 0064182A */ slt $v1, $v1, $a0 +/* A8710C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* A87110 802406C0 0040282D */ daddu $a1, $v0, $zero +/* A87114 802406C4 AE200078 */ sw $zero, 0x78($s1) +.L802406C8: +/* A87118 802406C8 8E0200CC */ lw $v0, 0xcc($s0) +/* A8711C 802406CC 8C420004 */ lw $v0, 4($v0) +/* A87120 802406D0 ACA20028 */ sw $v0, 0x28($a1) +/* A87124 802406D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* A87128 802406D8 8C42007C */ lw $v0, 0x7c($v0) +/* A8712C 802406DC 04410004 */ bgez $v0, .L802406F0 +/* A87130 802406E0 00000000 */ nop +/* A87134 802406E4 C6400000 */ lwc1 $f0, ($s2) +/* A87138 802406E8 080901C4 */ j .L80240710 +/* A8713C 802406EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802406F0: +/* A87140 802406F0 3C018024 */ lui $at, 0x8024 +/* A87144 802406F4 D4225A38 */ ldc1 $f2, 0x5a38($at) +/* A87148 802406F8 44820000 */ mtc1 $v0, $f0 +/* A8714C 802406FC 00000000 */ nop +/* A87150 80240700 46800021 */ cvt.d.w $f0, $f0 +/* A87154 80240704 46220003 */ div.d $f0, $f0, $f2 +/* A87158 80240708 46200020 */ cvt.s.d $f0, $f0 +/* A8715C 8024070C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240710: +/* A87160 80240710 24020001 */ addiu $v0, $zero, 1 +/* A87164 80240714 AE220070 */ sw $v0, 0x70($s1) +/* A87168 80240718 8FBF001C */ lw $ra, 0x1c($sp) +/* A8716C 8024071C 8FB20018 */ lw $s2, 0x18($sp) +/* A87170 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* A87174 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* A87178 80240728 03E00008 */ jr $ra +/* A8717C 8024072C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240730_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240730_A86A50.s new file mode 100644 index 0000000000..12d8e07ec4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240730_A86A50.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_A87180 +/* A87180 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A87184 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* A87188 80240738 0080882D */ daddu $s1, $a0, $zero +/* A8718C 8024073C AFBF0018 */ sw $ra, 0x18($sp) +/* A87190 80240740 AFB00010 */ sw $s0, 0x10($sp) +/* A87194 80240744 8E300148 */ lw $s0, 0x148($s1) +/* A87198 80240748 0C00EABB */ jal get_npc_unsafe +/* A8719C 8024074C 86040008 */ lh $a0, 8($s0) +/* A871A0 80240750 8E0300CC */ lw $v1, 0xcc($s0) +/* A871A4 80240754 3C014120 */ lui $at, 0x4120 +/* A871A8 80240758 44812000 */ mtc1 $at, $f4 +/* A871AC 8024075C 3C014000 */ lui $at, 0x4000 +/* A871B0 80240760 44810000 */ mtc1 $at, $f0 +/* A871B4 80240764 C442003C */ lwc1 $f2, 0x3c($v0) +/* A871B8 80240768 8C640010 */ lw $a0, 0x10($v1) +/* A871BC 8024076C 8C430000 */ lw $v1, ($v0) +/* A871C0 80240770 E444001C */ swc1 $f4, 0x1c($v0) +/* A871C4 80240774 E4400014 */ swc1 $f0, 0x14($v0) +/* A871C8 80240778 E4420064 */ swc1 $f2, 0x64($v0) +/* A871CC 8024077C 34630800 */ ori $v1, $v1, 0x800 +/* A871D0 80240780 AC430000 */ sw $v1, ($v0) +/* A871D4 80240784 AC440028 */ sw $a0, 0x28($v0) +/* A871D8 80240788 2402000B */ addiu $v0, $zero, 0xb +/* A871DC 8024078C AE220070 */ sw $v0, 0x70($s1) +/* A871E0 80240790 8FBF0018 */ lw $ra, 0x18($sp) +/* A871E4 80240794 8FB10014 */ lw $s1, 0x14($sp) +/* A871E8 80240798 8FB00010 */ lw $s0, 0x10($sp) +/* A871EC 8024079C 03E00008 */ jr $ra +/* A871F0 802407A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802407A4_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802407A4_A86A50.s new file mode 100644 index 0000000000..f7ad3a4aca --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802407A4_A86A50.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A4_A871F4 +/* A871F4 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A871F8 802407A8 AFB00010 */ sw $s0, 0x10($sp) +/* A871FC 802407AC 0080802D */ daddu $s0, $a0, $zero +/* A87200 802407B0 AFBF0014 */ sw $ra, 0x14($sp) +/* A87204 802407B4 8E020148 */ lw $v0, 0x148($s0) +/* A87208 802407B8 0C00EABB */ jal get_npc_unsafe +/* A8720C 802407BC 84440008 */ lh $a0, 8($v0) +/* A87210 802407C0 0040202D */ daddu $a0, $v0, $zero +/* A87214 802407C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* A87218 802407C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* A8721C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* A87220 802407D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* A87224 802407D4 46040001 */ sub.s $f0, $f0, $f4 +/* A87228 802407D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* A8722C 802407DC 4602203C */ c.lt.s $f4, $f2 +/* A87230 802407E0 E482003C */ swc1 $f2, 0x3c($a0) +/* A87234 802407E4 45010009 */ bc1t .L8024080C +/* A87238 802407E8 E480001C */ swc1 $f0, 0x1c($a0) +/* A8723C 802407EC 8C820000 */ lw $v0, ($a0) +/* A87240 802407F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* A87244 802407F4 E484003C */ swc1 $f4, 0x3c($a0) +/* A87248 802407F8 AC80001C */ sw $zero, 0x1c($a0) +/* A8724C 802407FC 00431024 */ and $v0, $v0, $v1 +/* A87250 80240800 AC820000 */ sw $v0, ($a0) +/* A87254 80240804 2402000C */ addiu $v0, $zero, 0xc +/* A87258 80240808 AE020070 */ sw $v0, 0x70($s0) +.L8024080C: +/* A8725C 8024080C 8FBF0014 */ lw $ra, 0x14($sp) +/* A87260 80240810 8FB00010 */ lw $s0, 0x10($sp) +/* A87264 80240814 03E00008 */ jr $ra +/* A87268 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024081C_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024081C_A86A50.s new file mode 100644 index 0000000000..ebb6f31187 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024081C_A86A50.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_A8726C +/* A8726C 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A87270 80240820 AFB3001C */ sw $s3, 0x1c($sp) +/* A87274 80240824 0080982D */ daddu $s3, $a0, $zero +/* A87278 80240828 AFBF0020 */ sw $ra, 0x20($sp) +/* A8727C 8024082C AFB20018 */ sw $s2, 0x18($sp) +/* A87280 80240830 AFB10014 */ sw $s1, 0x14($sp) +/* A87284 80240834 AFB00010 */ sw $s0, 0x10($sp) +/* A87288 80240838 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A8728C 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* A87290 80240840 86240008 */ lh $a0, 8($s1) +/* A87294 80240844 0C00EABB */ jal get_npc_unsafe +/* A87298 80240848 00A0802D */ daddu $s0, $a1, $zero +/* A8729C 8024084C 8E040020 */ lw $a0, 0x20($s0) +/* A872A0 80240850 0040902D */ daddu $s2, $v0, $zero +/* A872A4 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* A872A8 80240858 00832021 */ addu $a0, $a0, $v1 +/* A872AC 8024085C 00042043 */ sra $a0, $a0, 1 +/* A872B0 80240860 0C00A67F */ jal rand_int +/* A872B4 80240864 24840001 */ addiu $a0, $a0, 1 +/* A872B8 80240868 8E030020 */ lw $v1, 0x20($s0) +/* A872BC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2) +/* A872C0 80240870 000327C2 */ srl $a0, $v1, 0x1f +/* A872C4 80240874 00641821 */ addu $v1, $v1, $a0 +/* A872C8 80240878 00031843 */ sra $v1, $v1, 1 +/* A872CC 8024087C 00621821 */ addu $v1, $v1, $v0 +/* A872D0 80240880 A643008E */ sh $v1, 0x8e($s2) +/* A872D4 80240884 8E2200CC */ lw $v0, 0xcc($s1) +/* A872D8 80240888 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A872DC 8024088C 8C42000C */ lw $v0, 0xc($v0) +/* A872E0 80240890 AE420028 */ sw $v0, 0x28($s2) +/* A872E4 80240894 C6000018 */ lwc1 $f0, 0x18($s0) +/* A872E8 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A872EC 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A872F0 802408A0 E6400018 */ swc1 $f0, 0x18($s2) +/* A872F4 802408A4 8C460028 */ lw $a2, 0x28($v0) +/* A872F8 802408A8 0C00A720 */ jal atan2 +/* A872FC 802408AC 8C470030 */ lw $a3, 0x30($v0) +/* A87300 802408B0 46000506 */ mov.s $f20, $f0 +/* A87304 802408B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* A87308 802408B8 0C00A70A */ jal get_clamped_angle_diff +/* A8730C 802408BC 4600A386 */ mov.s $f14, $f20 +/* A87310 802408C0 46000086 */ mov.s $f2, $f0 +/* A87314 802408C4 8E02001C */ lw $v0, 0x1c($s0) +/* A87318 802408C8 46001005 */ abs.s $f0, $f2 +/* A8731C 802408CC 44822000 */ mtc1 $v0, $f4 +/* A87320 802408D0 00000000 */ nop +/* A87324 802408D4 46802120 */ cvt.s.w $f4, $f4 +/* A87328 802408D8 4600203C */ c.lt.s $f4, $f0 +/* A8732C 802408DC 00000000 */ nop +/* A87330 802408E0 4500000D */ bc1f .L80240918 +/* A87334 802408E4 00000000 */ nop +/* A87338 802408E8 44800000 */ mtc1 $zero, $f0 +/* A8733C 802408EC C654000C */ lwc1 $f20, 0xc($s2) +/* A87340 802408F0 4600103C */ c.lt.s $f2, $f0 +/* A87344 802408F4 00000000 */ nop +/* A87348 802408F8 45000006 */ bc1f .L80240914 +/* A8734C 802408FC 00021023 */ negu $v0, $v0 +/* A87350 80240900 44820000 */ mtc1 $v0, $f0 +/* A87354 80240904 00000000 */ nop +/* A87358 80240908 46800020 */ cvt.s.w $f0, $f0 +/* A8735C 8024090C 08090246 */ j .L80240918 +/* A87360 80240910 4600A500 */ add.s $f20, $f20, $f0 +.L80240914: +/* A87364 80240914 4604A500 */ add.s $f20, $f20, $f4 +.L80240918: +/* A87368 80240918 0C00A6C9 */ jal clamp_angle +/* A8736C 8024091C 4600A306 */ mov.s $f12, $f20 +/* A87370 80240920 2402000D */ addiu $v0, $zero, 0xd +/* A87374 80240924 E640000C */ swc1 $f0, 0xc($s2) +/* A87378 80240928 AE620070 */ sw $v0, 0x70($s3) +/* A8737C 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* A87380 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* A87384 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* A87388 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* A8738C 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* A87390 80240940 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A87394 80240944 03E00008 */ jr $ra +/* A87398 80240948 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024094C.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024094C.s new file mode 100644 index 0000000000..1451a03c44 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024094C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C +/* A8739C 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A873A0 80240950 AFB3003C */ sw $s3, 0x3c($sp) +/* A873A4 80240954 0080982D */ daddu $s3, $a0, $zero +/* A873A8 80240958 AFBF0040 */ sw $ra, 0x40($sp) +/* A873AC 8024095C AFB20038 */ sw $s2, 0x38($sp) +/* A873B0 80240960 AFB10034 */ sw $s1, 0x34($sp) +/* A873B4 80240964 AFB00030 */ sw $s0, 0x30($sp) +/* A873B8 80240968 8E720148 */ lw $s2, 0x148($s3) +/* A873BC 8024096C 00A0882D */ daddu $s1, $a1, $zero +/* A873C0 80240970 86440008 */ lh $a0, 8($s2) +/* A873C4 80240974 0C00EABB */ jal get_npc_unsafe +/* A873C8 80240978 00C0802D */ daddu $s0, $a2, $zero +/* A873CC 8024097C 0200202D */ daddu $a0, $s0, $zero +/* A873D0 80240980 0240282D */ daddu $a1, $s2, $zero +/* A873D4 80240984 24030001 */ addiu $v1, $zero, 1 +/* A873D8 80240988 AFA30010 */ sw $v1, 0x10($sp) +/* A873DC 8024098C 8E260024 */ lw $a2, 0x24($s1) +/* A873E0 80240990 8E270028 */ lw $a3, 0x28($s1) +/* A873E4 80240994 0C01242D */ jal func_800490B4 +/* A873E8 80240998 0040802D */ daddu $s0, $v0, $zero +/* A873EC 8024099C 1440001E */ bnez $v0, .L80240A18 +/* A873F0 802409A0 0200202D */ daddu $a0, $s0, $zero +/* A873F4 802409A4 24040002 */ addiu $a0, $zero, 2 +/* A873F8 802409A8 0200282D */ daddu $a1, $s0, $zero +/* A873FC 802409AC 0000302D */ daddu $a2, $zero, $zero +/* A87400 802409B0 860300A8 */ lh $v1, 0xa8($s0) +/* A87404 802409B4 3C013F80 */ lui $at, 0x3f80 +/* A87408 802409B8 44810000 */ mtc1 $at, $f0 +/* A8740C 802409BC 3C014000 */ lui $at, 0x4000 +/* A87410 802409C0 44811000 */ mtc1 $at, $f2 +/* A87414 802409C4 3C01C1A0 */ lui $at, 0xc1a0 +/* A87418 802409C8 44812000 */ mtc1 $at, $f4 +/* A8741C 802409CC 2402000F */ addiu $v0, $zero, 0xf +/* A87420 802409D0 AFA2001C */ sw $v0, 0x1c($sp) +/* A87424 802409D4 44833000 */ mtc1 $v1, $f6 +/* A87428 802409D8 00000000 */ nop +/* A8742C 802409DC 468031A0 */ cvt.s.w $f6, $f6 +/* A87430 802409E0 44073000 */ mfc1 $a3, $f6 +/* A87434 802409E4 27A20028 */ addiu $v0, $sp, 0x28 +/* A87438 802409E8 AFA20020 */ sw $v0, 0x20($sp) +/* A8743C 802409EC E7A00010 */ swc1 $f0, 0x10($sp) +/* A87440 802409F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A87444 802409F4 0C01BFA4 */ jal fx_emote +/* A87448 802409F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A8744C 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* A87450 80240A00 8C430000 */ lw $v1, ($v0) +/* A87454 80240A04 24020019 */ addiu $v0, $zero, 0x19 +/* A87458 80240A08 A602008E */ sh $v0, 0x8e($s0) +/* A8745C 80240A0C 2402000E */ addiu $v0, $zero, 0xe +/* A87460 80240A10 08090293 */ j .L80240A4C +/* A87464 80240A14 AE030028 */ sw $v1, 0x28($s0) +.L80240A18: +/* A87468 80240A18 0C00F598 */ jal func_8003D660 +/* A8746C 80240A1C 24050001 */ addiu $a1, $zero, 1 +/* A87470 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* A87474 80240A24 8E06000C */ lw $a2, 0xc($s0) +/* A87478 80240A28 0C00EA95 */ jal npc_move_heading +/* A8747C 80240A2C 0200202D */ daddu $a0, $s0, $zero +/* A87480 80240A30 8602008E */ lh $v0, 0x8e($s0) +/* A87484 80240A34 9603008E */ lhu $v1, 0x8e($s0) +/* A87488 80240A38 18400003 */ blez $v0, .L80240A48 +/* A8748C 80240A3C 2462FFFF */ addiu $v0, $v1, -1 +/* A87490 80240A40 08090294 */ j .L80240A50 +/* A87494 80240A44 A602008E */ sh $v0, 0x8e($s0) +.L80240A48: +/* A87498 80240A48 2402000C */ addiu $v0, $zero, 0xc +.L80240A4C: +/* A8749C 80240A4C AE620070 */ sw $v0, 0x70($s3) +.L80240A50: +/* A874A0 80240A50 8FBF0040 */ lw $ra, 0x40($sp) +/* A874A4 80240A54 8FB3003C */ lw $s3, 0x3c($sp) +/* A874A8 80240A58 8FB20038 */ lw $s2, 0x38($sp) +/* A874AC 80240A5C 8FB10034 */ lw $s1, 0x34($sp) +/* A874B0 80240A60 8FB00030 */ lw $s0, 0x30($sp) +/* A874B4 80240A64 03E00008 */ jr $ra +/* A874B8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240A6C_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240A6C_A86A50.s new file mode 100644 index 0000000000..93d4835229 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240A6C_A86A50.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_A874BC +/* A874BC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A874C0 80240A70 AFB10014 */ sw $s1, 0x14($sp) +/* A874C4 80240A74 0080882D */ daddu $s1, $a0, $zero +/* A874C8 80240A78 AFBF0018 */ sw $ra, 0x18($sp) +/* A874CC 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* A874D0 80240A80 8E300148 */ lw $s0, 0x148($s1) +/* A874D4 80240A84 0C00EABB */ jal get_npc_unsafe +/* A874D8 80240A88 86040008 */ lh $a0, 8($s0) +/* A874DC 80240A8C 9443008E */ lhu $v1, 0x8e($v0) +/* A874E0 80240A90 2463FFFF */ addiu $v1, $v1, -1 +/* A874E4 80240A94 A443008E */ sh $v1, 0x8e($v0) +/* A874E8 80240A98 00031C00 */ sll $v1, $v1, 0x10 +/* A874EC 80240A9C 14600008 */ bnez $v1, .L80240AC0 +/* A874F0 80240AA0 00000000 */ nop +/* A874F4 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0) +/* A874F8 80240AA8 30420080 */ andi $v0, $v0, 0x80 +/* A874FC 80240AAC 10400003 */ beqz $v0, .L80240ABC +/* A87500 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* A87504 80240AB4 080902B0 */ j .L80240AC0 +/* A87508 80240AB8 AE220070 */ sw $v0, 0x70($s1) +.L80240ABC: +/* A8750C 80240ABC AE200070 */ sw $zero, 0x70($s1) +.L80240AC0: +/* A87510 80240AC0 8FBF0018 */ lw $ra, 0x18($sp) +/* A87514 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* A87518 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* A8751C 80240ACC 03E00008 */ jr $ra +/* A87520 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240AD4.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240AD4.s new file mode 100644 index 0000000000..e2b98a36d9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240AD4.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD4 +/* A87524 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A87528 80240AD8 AFB10014 */ sw $s1, 0x14($sp) +/* A8752C 80240ADC 0080882D */ daddu $s1, $a0, $zero +/* A87530 80240AE0 AFBF001C */ sw $ra, 0x1c($sp) +/* A87534 80240AE4 AFB20018 */ sw $s2, 0x18($sp) +/* A87538 80240AE8 AFB00010 */ sw $s0, 0x10($sp) +/* A8753C 80240AEC 8E300148 */ lw $s0, 0x148($s1) +/* A87540 80240AF0 86040008 */ lh $a0, 8($s0) +/* A87544 80240AF4 0C00EABB */ jal get_npc_unsafe +/* A87548 80240AF8 00A0902D */ daddu $s2, $a1, $zero +/* A8754C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0) +/* A87550 80240B00 8E240078 */ lw $a0, 0x78($s1) +/* A87554 80240B04 8C630000 */ lw $v1, ($v1) +/* A87558 80240B08 0083182A */ slt $v1, $a0, $v1 +/* A8755C 80240B0C 10600013 */ beqz $v1, .L80240B5C +/* A87560 80240B10 0040302D */ daddu $a2, $v0, $zero +/* A87564 80240B14 00041040 */ sll $v0, $a0, 1 +/* A87568 80240B18 00441021 */ addu $v0, $v0, $a0 +/* A8756C 80240B1C 00022880 */ sll $a1, $v0, 2 +.L80240B20: +/* A87570 80240B20 8E0300D0 */ lw $v1, 0xd0($s0) +/* A87574 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* A87578 80240B28 00A31021 */ addu $v0, $a1, $v1 +/* A8757C 80240B2C C4400008 */ lwc1 $f0, 8($v0) +/* A87580 80240B30 46800020 */ cvt.s.w $f0, $f0 +/* A87584 80240B34 4602003E */ c.le.s $f0, $f2 +/* A87588 80240B38 00000000 */ nop +/* A8758C 80240B3C 45020003 */ bc1fl .L80240B4C +/* A87590 80240B40 24840001 */ addiu $a0, $a0, 1 +/* A87594 80240B44 080902D7 */ j .L80240B5C +/* A87598 80240B48 AE240078 */ sw $a0, 0x78($s1) +.L80240B4C: +/* A8759C 80240B4C 8C620000 */ lw $v0, ($v1) +/* A875A0 80240B50 0082102A */ slt $v0, $a0, $v0 +/* A875A4 80240B54 1440FFF2 */ bnez $v0, .L80240B20 +/* A875A8 80240B58 24A5000C */ addiu $a1, $a1, 0xc +.L80240B5C: +/* A875AC 80240B5C C6400000 */ lwc1 $f0, ($s2) +/* A875B0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2) +/* A875B4 80240B64 8E0200CC */ lw $v0, 0xcc($s0) +/* A875B8 80240B68 8C420004 */ lw $v0, 4($v0) +/* A875BC 80240B6C ACC20028 */ sw $v0, 0x28($a2) +/* A875C0 80240B70 24020001 */ addiu $v0, $zero, 1 +/* A875C4 80240B74 AE200074 */ sw $zero, 0x74($s1) +/* A875C8 80240B78 AE220070 */ sw $v0, 0x70($s1) +/* A875CC 80240B7C 8FBF001C */ lw $ra, 0x1c($sp) +/* A875D0 80240B80 8FB20018 */ lw $s2, 0x18($sp) +/* A875D4 80240B84 8FB10014 */ lw $s1, 0x14($sp) +/* A875D8 80240B88 8FB00010 */ lw $s0, 0x10($sp) +/* A875DC 80240B8C 03E00008 */ jr $ra +/* A875E0 80240B90 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240B94.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240B94.s new file mode 100644 index 0000000000..5dc45eda25 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240B94.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B94 +/* A875E4 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A875E8 80240B98 AFB40058 */ sw $s4, 0x58($sp) +/* A875EC 80240B9C 0080A02D */ daddu $s4, $a0, $zero +/* A875F0 80240BA0 AFBF0060 */ sw $ra, 0x60($sp) +/* A875F4 80240BA4 AFB5005C */ sw $s5, 0x5c($sp) +/* A875F8 80240BA8 AFB30054 */ sw $s3, 0x54($sp) +/* A875FC 80240BAC AFB20050 */ sw $s2, 0x50($sp) +/* A87600 80240BB0 AFB1004C */ sw $s1, 0x4c($sp) +/* A87604 80240BB4 AFB00048 */ sw $s0, 0x48($sp) +/* A87608 80240BB8 8E910148 */ lw $s1, 0x148($s4) +/* A8760C 80240BBC 86240008 */ lh $a0, 8($s1) +/* A87610 80240BC0 0C00EABB */ jal get_npc_unsafe +/* A87614 80240BC4 00A0802D */ daddu $s0, $a1, $zero +/* A87618 80240BC8 8E83000C */ lw $v1, 0xc($s4) +/* A8761C 80240BCC 0280202D */ daddu $a0, $s4, $zero +/* A87620 80240BD0 8C650000 */ lw $a1, ($v1) +/* A87624 80240BD4 0C0B1EAF */ jal get_variable +/* A87628 80240BD8 0040902D */ daddu $s2, $v0, $zero +/* A8762C 80240BDC AFA00018 */ sw $zero, 0x18($sp) +/* A87630 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87634 80240BE4 8C630094 */ lw $v1, 0x94($v1) +/* A87638 80240BE8 AFA3001C */ sw $v1, 0x1c($sp) +/* A8763C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87640 80240BF0 8C630080 */ lw $v1, 0x80($v1) +/* A87644 80240BF4 AFA30020 */ sw $v1, 0x20($sp) +/* A87648 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8764C 80240BFC 8C630088 */ lw $v1, 0x88($v1) +/* A87650 80240C00 AFA30024 */ sw $v1, 0x24($sp) +/* A87654 80240C04 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87658 80240C08 8C63008C */ lw $v1, 0x8c($v1) +/* A8765C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18 +/* A87660 80240C10 AFA30028 */ sw $v1, 0x28($sp) +/* A87664 80240C14 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87668 80240C18 3C014282 */ lui $at, 0x4282 +/* A8766C 80240C1C 44810000 */ mtc1 $at, $f0 +/* A87670 80240C20 8C630090 */ lw $v1, 0x90($v1) +/* A87674 80240C24 0040982D */ daddu $s3, $v0, $zero +/* A87678 80240C28 E7A00030 */ swc1 $f0, 0x30($sp) +/* A8767C 80240C2C A7A00034 */ sh $zero, 0x34($sp) +/* A87680 80240C30 16000005 */ bnez $s0, .L80240C48 +/* A87684 80240C34 AFA3002C */ sw $v1, 0x2c($sp) +/* A87688 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8768C 80240C3C 30420004 */ andi $v0, $v0, 4 +/* A87690 80240C40 10400044 */ beqz $v0, .L80240D54 +/* A87694 80240C44 00000000 */ nop +.L80240C48: +/* A87698 80240C48 2404F7FF */ addiu $a0, $zero, -0x801 +/* A8769C 80240C4C AE800070 */ sw $zero, 0x70($s4) +/* A876A0 80240C50 A640008E */ sh $zero, 0x8e($s2) +/* A876A4 80240C54 8E2200CC */ lw $v0, 0xcc($s1) +/* A876A8 80240C58 8E430000 */ lw $v1, ($s2) +/* A876AC 80240C5C 8C420000 */ lw $v0, ($v0) +/* A876B0 80240C60 00641824 */ and $v1, $v1, $a0 +/* A876B4 80240C64 AE430000 */ sw $v1, ($s2) +/* A876B8 80240C68 AE420028 */ sw $v0, 0x28($s2) +/* A876BC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A876C0 80240C70 8C420098 */ lw $v0, 0x98($v0) +/* A876C4 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C +/* A876C8 80240C78 2402FDFF */ addiu $v0, $zero, -0x201 +/* A876CC 80240C7C 34620200 */ ori $v0, $v1, 0x200 +/* A876D0 80240C80 2403FFF7 */ addiu $v1, $zero, -9 +/* A876D4 80240C84 08090325 */ j .L80240C94 +/* A876D8 80240C88 00431024 */ and $v0, $v0, $v1 +.L80240C8C: +/* A876DC 80240C8C 00621024 */ and $v0, $v1, $v0 +/* A876E0 80240C90 34420008 */ ori $v0, $v0, 8 +.L80240C94: +/* A876E4 80240C94 AE420000 */ sw $v0, ($s2) +/* A876E8 80240C98 8E2200B0 */ lw $v0, 0xb0($s1) +/* A876EC 80240C9C 30420004 */ andi $v0, $v0, 4 +/* A876F0 80240CA0 10400008 */ beqz $v0, .L80240CC4 +/* A876F4 80240CA4 24020063 */ addiu $v0, $zero, 0x63 +/* A876F8 80240CA8 AE820070 */ sw $v0, 0x70($s4) +/* A876FC 80240CAC AE800074 */ sw $zero, 0x74($s4) +/* A87700 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A87704 80240CB4 2403FFFB */ addiu $v1, $zero, -5 +/* A87708 80240CB8 00431024 */ and $v0, $v0, $v1 +/* A8770C 80240CBC 0809033C */ j .L80240CF0 +/* A87710 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CC4: +/* A87714 80240CC4 8E220000 */ lw $v0, ($s1) +/* A87718 80240CC8 3C034000 */ lui $v1, 0x4000 +/* A8771C 80240CCC 00431024 */ and $v0, $v0, $v1 +/* A87720 80240CD0 10400007 */ beqz $v0, .L80240CF0 +/* A87724 80240CD4 3C03BFFF */ lui $v1, 0xbfff +/* A87728 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* A8772C 80240CDC AE820070 */ sw $v0, 0x70($s4) +/* A87730 80240CE0 8E220000 */ lw $v0, ($s1) +/* A87734 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff +/* A87738 80240CE8 00431024 */ and $v0, $v0, $v1 +/* A8773C 80240CEC AE220000 */ sw $v0, ($s1) +.L80240CF0: +/* A87740 80240CF0 27A50038 */ addiu $a1, $sp, 0x38 +/* A87744 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c +/* A87748 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2) +/* A8774C 80240CFC 864200A8 */ lh $v0, 0xa8($s2) +/* A87750 80240D00 3C0142C8 */ lui $at, 0x42c8 +/* A87754 80240D04 44812000 */ mtc1 $at, $f4 +/* A87758 80240D08 44823000 */ mtc1 $v0, $f6 +/* A8775C 80240D0C 00000000 */ nop +/* A87760 80240D10 468031A0 */ cvt.s.w $f6, $f6 +/* A87764 80240D14 27A20044 */ addiu $v0, $sp, 0x44 +/* A87768 80240D18 E7A00038 */ swc1 $f0, 0x38($sp) +/* A8776C 80240D1C C640003C */ lwc1 $f0, 0x3c($s2) +/* A87770 80240D20 C6420040 */ lwc1 $f2, 0x40($s2) +/* A87774 80240D24 46060000 */ add.s $f0, $f0, $f6 +/* A87778 80240D28 E7A40044 */ swc1 $f4, 0x44($sp) +/* A8777C 80240D2C E7A20040 */ swc1 $f2, 0x40($sp) +/* A87780 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp) +/* A87784 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* A87788 80240D38 8E440080 */ lw $a0, 0x80($s2) +/* A8778C 80240D3C 0C0372DF */ jal func_800DCB7C +/* A87790 80240D40 27A70040 */ addiu $a3, $sp, 0x40 +/* A87794 80240D44 10400003 */ beqz $v0, .L80240D54 +/* A87798 80240D48 00000000 */ nop +/* A8779C 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* A877A0 80240D50 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D54: +/* A877A4 80240D54 8E830070 */ lw $v1, 0x70($s4) +/* A877A8 80240D58 2C620064 */ sltiu $v0, $v1, 0x64 +/* A877AC 80240D5C 10400042 */ beqz $v0, .L80240E68 +/* A877B0 80240D60 00031080 */ sll $v0, $v1, 2 +/* A877B4 80240D64 3C018024 */ lui $at, 0x8024 +/* A877B8 80240D68 00220821 */ addu $at, $at, $v0 +/* A877BC 80240D6C 8C225A40 */ lw $v0, 0x5a40($at) +/* A877C0 80240D70 00400008 */ jr $v0 +/* A877C4 80240D74 00000000 */ nop +/* A877C8 80240D78 0280202D */ daddu $a0, $s4, $zero +/* A877CC 80240D7C 0260282D */ daddu $a1, $s3, $zero +/* A877D0 80240D80 0C090000 */ jal func_80240000 +/* A877D4 80240D84 02A0302D */ daddu $a2, $s5, $zero +/* A877D8 80240D88 0280202D */ daddu $a0, $s4, $zero +/* A877DC 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* A877E0 80240D90 0C090056 */ jal func_80240158 +/* A877E4 80240D94 02A0302D */ daddu $a2, $s5, $zero +/* A877E8 80240D98 0809039A */ j .L80240E68 +/* A877EC 80240D9C 00000000 */ nop +/* A877F0 80240DA0 0280202D */ daddu $a0, $s4, $zero +/* A877F4 80240DA4 0260282D */ daddu $a1, $s3, $zero +/* A877F8 80240DA8 0C090100 */ jal func_80240400 +/* A877FC 80240DAC 02A0302D */ daddu $a2, $s5, $zero +/* A87800 80240DB0 0280202D */ daddu $a0, $s4, $zero +/* A87804 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* A87808 80240DB8 0C090130 */ jal func_802404C0 +/* A8780C 80240DBC 02A0302D */ daddu $a2, $s5, $zero +/* A87810 80240DC0 0809039A */ j .L80240E68 +/* A87814 80240DC4 00000000 */ nop +/* A87818 80240DC8 0280202D */ daddu $a0, $s4, $zero +/* A8781C 80240DCC 0260282D */ daddu $a1, $s3, $zero +/* A87820 80240DD0 0C09019F */ jal func_8024067C +/* A87824 80240DD4 02A0302D */ daddu $a2, $s5, $zero +/* A87828 80240DD8 0809039A */ j .L80240E68 +/* A8782C 80240DDC 00000000 */ nop +/* A87830 80240DE0 0280202D */ daddu $a0, $s4, $zero +/* A87834 80240DE4 0260282D */ daddu $a1, $s3, $zero +/* A87838 80240DE8 0C0901CC */ jal func_80240730 +/* A8783C 80240DEC 02A0302D */ daddu $a2, $s5, $zero +/* A87840 80240DF0 0280202D */ daddu $a0, $s4, $zero +/* A87844 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* A87848 80240DF8 0C0901E9 */ jal func_802407A4 +/* A8784C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* A87850 80240E00 0809039A */ j .L80240E68 +/* A87854 80240E04 00000000 */ nop +/* A87858 80240E08 0280202D */ daddu $a0, $s4, $zero +/* A8785C 80240E0C 0260282D */ daddu $a1, $s3, $zero +/* A87860 80240E10 0C090207 */ jal func_8024081C +/* A87864 80240E14 02A0302D */ daddu $a2, $s5, $zero +/* A87868 80240E18 0280202D */ daddu $a0, $s4, $zero +/* A8786C 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* A87870 80240E20 0C090253 */ jal func_8024094C +/* A87874 80240E24 02A0302D */ daddu $a2, $s5, $zero +/* A87878 80240E28 0809039A */ j .L80240E68 +/* A8787C 80240E2C 00000000 */ nop +/* A87880 80240E30 0280202D */ daddu $a0, $s4, $zero +/* A87884 80240E34 0260282D */ daddu $a1, $s3, $zero +/* A87888 80240E38 0C09029B */ jal func_80240A6C +/* A8788C 80240E3C 02A0302D */ daddu $a2, $s5, $zero +/* A87890 80240E40 0809039A */ j .L80240E68 +/* A87894 80240E44 00000000 */ nop +/* A87898 80240E48 0280202D */ daddu $a0, $s4, $zero +/* A8789C 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* A878A0 80240E50 0C0902B5 */ jal func_80240AD4 +/* A878A4 80240E54 02A0302D */ daddu $a2, $s5, $zero +/* A878A8 80240E58 0809039A */ j .L80240E68 +/* A878AC 80240E5C 00000000 */ nop +/* A878B0 80240E60 0C0129CF */ jal func_8004A73C +/* A878B4 80240E64 0280202D */ daddu $a0, $s4, $zero +.L80240E68: +/* A878B8 80240E68 8FBF0060 */ lw $ra, 0x60($sp) +/* A878BC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp) +/* A878C0 80240E70 8FB40058 */ lw $s4, 0x58($sp) +/* A878C4 80240E74 8FB30054 */ lw $s3, 0x54($sp) +/* A878C8 80240E78 8FB20050 */ lw $s2, 0x50($sp) +/* A878CC 80240E7C 8FB1004C */ lw $s1, 0x4c($sp) +/* A878D0 80240E80 8FB00048 */ lw $s0, 0x48($sp) +/* A878D4 80240E84 0000102D */ daddu $v0, $zero, $zero +/* A878D8 80240E88 03E00008 */ jr $ra +/* A878DC 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240E90_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240E90_A86A50.s new file mode 100644 index 0000000000..52f23f50cf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240E90_A86A50.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_A878E0 +/* A878E0 80240E90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A878E4 80240E94 AFB20018 */ sw $s2, 0x18($sp) +/* A878E8 80240E98 0080902D */ daddu $s2, $a0, $zero +/* A878EC 80240E9C AFBF001C */ sw $ra, 0x1c($sp) +/* A878F0 80240EA0 AFB10014 */ sw $s1, 0x14($sp) +/* A878F4 80240EA4 AFB00010 */ sw $s0, 0x10($sp) +/* A878F8 80240EA8 8E510148 */ lw $s1, 0x148($s2) +/* A878FC 80240EAC 0C00EABB */ jal get_npc_unsafe +/* A87900 80240EB0 86240008 */ lh $a0, 8($s1) +/* A87904 80240EB4 0040802D */ daddu $s0, $v0, $zero +/* A87908 80240EB8 8E2300CC */ lw $v1, 0xcc($s1) +/* A8790C 80240EBC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A87910 80240EC0 8C630020 */ lw $v1, 0x20($v1) +/* A87914 80240EC4 AE030028 */ sw $v1, 0x28($s0) +/* A87918 80240EC8 96220076 */ lhu $v0, 0x76($s1) +/* A8791C 80240ECC A602008E */ sh $v0, 0x8e($s0) +/* A87920 80240ED0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A87924 80240ED4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A87928 80240ED8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8792C 80240EDC 8C460028 */ lw $a2, 0x28($v0) +/* A87930 80240EE0 0C00A720 */ jal atan2 +/* A87934 80240EE4 8C470030 */ lw $a3, 0x30($v0) +/* A87938 80240EE8 2402000D */ addiu $v0, $zero, 0xd +/* A8793C 80240EEC E600000C */ swc1 $f0, 0xc($s0) +/* A87940 80240EF0 AE420070 */ sw $v0, 0x70($s2) +/* A87944 80240EF4 8FBF001C */ lw $ra, 0x1c($sp) +/* A87948 80240EF8 8FB20018 */ lw $s2, 0x18($sp) +/* A8794C 80240EFC 8FB10014 */ lw $s1, 0x14($sp) +/* A87950 80240F00 8FB00010 */ lw $s0, 0x10($sp) +/* A87954 80240F04 03E00008 */ jr $ra +/* A87958 80240F08 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80240F0C.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240F0C.s new file mode 100644 index 0000000000..a4c17471ce --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80240F0C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F0C +/* A8795C 80240F0C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A87960 80240F10 AFB3001C */ sw $s3, 0x1c($sp) +/* A87964 80240F14 0080982D */ daddu $s3, $a0, $zero +/* A87968 80240F18 AFBF0020 */ sw $ra, 0x20($sp) +/* A8796C 80240F1C AFB20018 */ sw $s2, 0x18($sp) +/* A87970 80240F20 AFB10014 */ sw $s1, 0x14($sp) +/* A87974 80240F24 AFB00010 */ sw $s0, 0x10($sp) +/* A87978 80240F28 8E710148 */ lw $s1, 0x148($s3) +/* A8797C 80240F2C 86240008 */ lh $a0, 8($s1) +/* A87980 80240F30 0C00EABB */ jal get_npc_unsafe +/* A87984 80240F34 00A0902D */ daddu $s2, $a1, $zero +/* A87988 80240F38 0040802D */ daddu $s0, $v0, $zero +/* A8798C 80240F3C 8602008E */ lh $v0, 0x8e($s0) +/* A87990 80240F40 9603008E */ lhu $v1, 0x8e($s0) +/* A87994 80240F44 18400005 */ blez $v0, .L80240F5C +/* A87998 80240F48 2462FFFF */ addiu $v0, $v1, -1 +/* A8799C 80240F4C A602008E */ sh $v0, 0x8e($s0) +/* A879A0 80240F50 00021400 */ sll $v0, $v0, 0x10 +/* A879A4 80240F54 1C400033 */ bgtz $v0, .L80241024 +/* A879A8 80240F58 00000000 */ nop +.L80240F5C: +/* A879AC 80240F5C 8602008C */ lh $v0, 0x8c($s0) +/* A879B0 80240F60 14400030 */ bnez $v0, .L80241024 +/* A879B4 80240F64 00000000 */ nop +/* A879B8 80240F68 8E2200CC */ lw $v0, 0xcc($s1) +/* A879BC 80240F6C 8C420024 */ lw $v0, 0x24($v0) +/* A879C0 80240F70 AE020028 */ sw $v0, 0x28($s0) +/* A879C4 80240F74 C6400018 */ lwc1 $f0, 0x18($s2) +/* A879C8 80240F78 E6000018 */ swc1 $f0, 0x18($s0) +/* A879CC 80240F7C 8E230088 */ lw $v1, 0x88($s1) +/* A879D0 80240F80 24020005 */ addiu $v0, $zero, 5 +/* A879D4 80240F84 10620005 */ beq $v1, $v0, .L80240F9C +/* A879D8 80240F88 00000000 */ nop +/* A879DC 80240F8C 10600003 */ beqz $v1, .L80240F9C +/* A879E0 80240F90 24020001 */ addiu $v0, $zero, 1 +/* A879E4 80240F94 14620006 */ bne $v1, $v0, .L80240FB0 +/* A879E8 80240F98 00000000 */ nop +.L80240F9C: +/* A879EC 80240F9C 8E220084 */ lw $v0, 0x84($s1) +/* A879F0 80240FA0 00021FC2 */ srl $v1, $v0, 0x1f +/* A879F4 80240FA4 00431021 */ addu $v0, $v0, $v1 +/* A879F8 80240FA8 00021043 */ sra $v0, $v0, 1 +/* A879FC 80240FAC A60200A8 */ sh $v0, 0xa8($s0) +.L80240FB0: +/* A87A00 80240FB0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A87A04 80240FB4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A87A08 80240FB8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A87A0C 80240FBC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A87A10 80240FC0 8C460028 */ lw $a2, 0x28($v0) +/* A87A14 80240FC4 0C00A7B5 */ jal dist2D +/* A87A18 80240FC8 8C470030 */ lw $a3, 0x30($v0) +/* A87A1C 80240FCC C6020018 */ lwc1 $f2, 0x18($s0) +/* A87A20 80240FD0 46020003 */ div.s $f0, $f0, $f2 +/* A87A24 80240FD4 3C018024 */ lui $at, 0x8024 +/* A87A28 80240FD8 D4225BD0 */ ldc1 $f2, 0x5bd0($at) +/* A87A2C 80240FDC 46000021 */ cvt.d.s $f0, $f0 +/* A87A30 80240FE0 46220000 */ add.d $f0, $f0, $f2 +/* A87A34 80240FE4 4620010D */ trunc.w.d $f4, $f0 +/* A87A38 80240FE8 44022000 */ mfc1 $v0, $f4 +/* A87A3C 80240FEC 00000000 */ nop +/* A87A40 80240FF0 A602008E */ sh $v0, 0x8e($s0) +/* A87A44 80240FF4 00021400 */ sll $v0, $v0, 0x10 +/* A87A48 80240FF8 8E230078 */ lw $v1, 0x78($s1) +/* A87A4C 80240FFC 00021403 */ sra $v0, $v0, 0x10 +/* A87A50 80241000 0043102A */ slt $v0, $v0, $v1 +/* A87A54 80241004 10400003 */ beqz $v0, .L80241014 +/* A87A58 80241008 00000000 */ nop +/* A87A5C 8024100C 9622007A */ lhu $v0, 0x7a($s1) +/* A87A60 80241010 A602008E */ sh $v0, 0x8e($s0) +.L80241014: +/* A87A64 80241014 8602008E */ lh $v0, 0x8e($s0) +/* A87A68 80241018 AE22007C */ sw $v0, 0x7c($s1) +/* A87A6C 8024101C 2402000E */ addiu $v0, $zero, 0xe +/* A87A70 80241020 AE620070 */ sw $v0, 0x70($s3) +.L80241024: +/* A87A74 80241024 8FBF0020 */ lw $ra, 0x20($sp) +/* A87A78 80241028 8FB3001C */ lw $s3, 0x1c($sp) +/* A87A7C 8024102C 8FB20018 */ lw $s2, 0x18($sp) +/* A87A80 80241030 8FB10014 */ lw $s1, 0x14($sp) +/* A87A84 80241034 8FB00010 */ lw $s0, 0x10($sp) +/* A87A88 80241038 03E00008 */ jr $ra +/* A87A8C 8024103C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241040_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241040_A86A50.s new file mode 100644 index 0000000000..707bdb8429 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241040_A86A50.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241040_A87A90 +/* A87A90 80241040 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A87A94 80241044 AFB3003C */ sw $s3, 0x3c($sp) +/* A87A98 80241048 0080982D */ daddu $s3, $a0, $zero +/* A87A9C 8024104C AFBF0040 */ sw $ra, 0x40($sp) +/* A87AA0 80241050 AFB20038 */ sw $s2, 0x38($sp) +/* A87AA4 80241054 AFB10034 */ sw $s1, 0x34($sp) +/* A87AA8 80241058 AFB00030 */ sw $s0, 0x30($sp) +/* A87AAC 8024105C 8E710148 */ lw $s1, 0x148($s3) +/* A87AB0 80241060 0C00EABB */ jal get_npc_unsafe +/* A87AB4 80241064 86240008 */ lh $a0, 8($s1) +/* A87AB8 80241068 0040802D */ daddu $s0, $v0, $zero +/* A87ABC 8024106C 8E22007C */ lw $v0, 0x7c($s1) +/* A87AC0 80241070 8603008E */ lh $v1, 0x8e($s0) +/* A87AC4 80241074 2442FFFF */ addiu $v0, $v0, -1 +/* A87AC8 80241078 14620012 */ bne $v1, $v0, .L802410C4 +/* A87ACC 8024107C 00000000 */ nop +/* A87AD0 80241080 C6000038 */ lwc1 $f0, 0x38($s0) +/* A87AD4 80241084 4600020D */ trunc.w.s $f8, $f0 +/* A87AD8 80241088 44024000 */ mfc1 $v0, $f8 +/* A87ADC 8024108C 00000000 */ nop +/* A87AE0 80241090 A6220010 */ sh $v0, 0x10($s1) +/* A87AE4 80241094 C600003C */ lwc1 $f0, 0x3c($s0) +/* A87AE8 80241098 4600020D */ trunc.w.s $f8, $f0 +/* A87AEC 8024109C 44024000 */ mfc1 $v0, $f8 +/* A87AF0 802410A0 00000000 */ nop +/* A87AF4 802410A4 A6220012 */ sh $v0, 0x12($s1) +/* A87AF8 802410A8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A87AFC 802410AC 24020001 */ addiu $v0, $zero, 1 +/* A87B00 802410B0 A2220007 */ sb $v0, 7($s1) +/* A87B04 802410B4 4600020D */ trunc.w.s $f8, $f0 +/* A87B08 802410B8 44024000 */ mfc1 $v0, $f8 +/* A87B0C 802410BC 00000000 */ nop +/* A87B10 802410C0 A6220014 */ sh $v0, 0x14($s1) +.L802410C4: +/* A87B14 802410C4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A87B18 802410C8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A87B1C 802410CC C6040040 */ lwc1 $f4, 0x40($s0) +/* A87B20 802410D0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A87B24 802410D4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A87B28 802410D8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A87B2C 802410DC E7A40028 */ swc1 $f4, 0x28($sp) +/* A87B30 802410E0 E7A60010 */ swc1 $f6, 0x10($sp) +/* A87B34 802410E4 C600000C */ lwc1 $f0, 0xc($s0) +/* A87B38 802410E8 E7A00014 */ swc1 $f0, 0x14($sp) +/* A87B3C 802410EC 860200A8 */ lh $v0, 0xa8($s0) +/* A87B40 802410F0 27A50020 */ addiu $a1, $sp, 0x20 +/* A87B44 802410F4 44820000 */ mtc1 $v0, $f0 +/* A87B48 802410F8 00000000 */ nop +/* A87B4C 802410FC 46800020 */ cvt.s.w $f0, $f0 +/* A87B50 80241100 E7A00018 */ swc1 $f0, 0x18($sp) +/* A87B54 80241104 860200A6 */ lh $v0, 0xa6($s0) +/* A87B58 80241108 27A60024 */ addiu $a2, $sp, 0x24 +/* A87B5C 8024110C 44820000 */ mtc1 $v0, $f0 +/* A87B60 80241110 00000000 */ nop +/* A87B64 80241114 46800020 */ cvt.s.w $f0, $f0 +/* A87B68 80241118 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A87B6C 8024111C 8E040080 */ lw $a0, 0x80($s0) +/* A87B70 80241120 0C037711 */ jal func_800DDC44 +/* A87B74 80241124 27A70028 */ addiu $a3, $sp, 0x28 +/* A87B78 80241128 0040902D */ daddu $s2, $v0, $zero +/* A87B7C 8024112C 16400005 */ bnez $s2, .L80241144 +/* A87B80 80241130 00000000 */ nop +/* A87B84 80241134 8E050018 */ lw $a1, 0x18($s0) +/* A87B88 80241138 8E06000C */ lw $a2, 0xc($s0) +/* A87B8C 8024113C 0C00EA95 */ jal npc_move_heading +/* A87B90 80241140 0200202D */ daddu $a0, $s0, $zero +.L80241144: +/* A87B94 80241144 8602008E */ lh $v0, 0x8e($s0) +/* A87B98 80241148 9603008E */ lhu $v1, 0x8e($s0) +/* A87B9C 8024114C 18400007 */ blez $v0, .L8024116C +/* A87BA0 80241150 2462FFFF */ addiu $v0, $v1, -1 +/* A87BA4 80241154 A602008E */ sh $v0, 0x8e($s0) +/* A87BA8 80241158 00021400 */ sll $v0, $v0, 0x10 +/* A87BAC 8024115C 18400003 */ blez $v0, .L8024116C +/* A87BB0 80241160 00000000 */ nop +/* A87BB4 80241164 12400008 */ beqz $s2, .L80241188 +/* A87BB8 80241168 00000000 */ nop +.L8024116C: +/* A87BBC 8024116C 8E2200CC */ lw $v0, 0xcc($s1) +/* A87BC0 80241170 A2200007 */ sb $zero, 7($s1) +/* A87BC4 80241174 8C420028 */ lw $v0, 0x28($v0) +/* A87BC8 80241178 A600008E */ sh $zero, 0x8e($s0) +/* A87BCC 8024117C AE020028 */ sw $v0, 0x28($s0) +/* A87BD0 80241180 2402000F */ addiu $v0, $zero, 0xf +/* A87BD4 80241184 AE620070 */ sw $v0, 0x70($s3) +.L80241188: +/* A87BD8 80241188 8FBF0040 */ lw $ra, 0x40($sp) +/* A87BDC 8024118C 8FB3003C */ lw $s3, 0x3c($sp) +/* A87BE0 80241190 8FB20038 */ lw $s2, 0x38($sp) +/* A87BE4 80241194 8FB10034 */ lw $s1, 0x34($sp) +/* A87BE8 80241198 8FB00030 */ lw $s0, 0x30($sp) +/* A87BEC 8024119C 03E00008 */ jr $ra +/* A87BF0 802411A0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802411A4.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802411A4.s new file mode 100644 index 0000000000..78bb7c2d01 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802411A4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A4 +/* A87BF4 802411A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A87BF8 802411A8 AFB10014 */ sw $s1, 0x14($sp) +/* A87BFC 802411AC 0080882D */ daddu $s1, $a0, $zero +/* A87C00 802411B0 AFBF0018 */ sw $ra, 0x18($sp) +/* A87C04 802411B4 AFB00010 */ sw $s0, 0x10($sp) +/* A87C08 802411B8 8E300148 */ lw $s0, 0x148($s1) +/* A87C0C 802411BC 0C00EABB */ jal get_npc_unsafe +/* A87C10 802411C0 86040008 */ lh $a0, 8($s0) +/* A87C14 802411C4 0040202D */ daddu $a0, $v0, $zero +/* A87C18 802411C8 9482008E */ lhu $v0, 0x8e($a0) +/* A87C1C 802411CC 24030003 */ addiu $v1, $zero, 3 +/* A87C20 802411D0 24420001 */ addiu $v0, $v0, 1 +/* A87C24 802411D4 A482008E */ sh $v0, 0x8e($a0) +/* A87C28 802411D8 00021400 */ sll $v0, $v0, 0x10 +/* A87C2C 802411DC 00021403 */ sra $v0, $v0, 0x10 +/* A87C30 802411E0 14430003 */ bne $v0, $v1, .L802411F0 +/* A87C34 802411E4 00000000 */ nop +/* A87C38 802411E8 96020086 */ lhu $v0, 0x86($s0) +/* A87C3C 802411EC A48200A8 */ sh $v0, 0xa8($a0) +.L802411F0: +/* A87C40 802411F0 8482008E */ lh $v0, 0x8e($a0) +/* A87C44 802411F4 8E030080 */ lw $v1, 0x80($s0) +/* A87C48 802411F8 0043102A */ slt $v0, $v0, $v1 +/* A87C4C 802411FC 14400004 */ bnez $v0, .L80241210 +/* A87C50 80241200 00000000 */ nop +/* A87C54 80241204 96020086 */ lhu $v0, 0x86($s0) +/* A87C58 80241208 A48200A8 */ sh $v0, 0xa8($a0) +/* A87C5C 8024120C AE200070 */ sw $zero, 0x70($s1) +.L80241210: +/* A87C60 80241210 8FBF0018 */ lw $ra, 0x18($sp) +/* A87C64 80241214 8FB10014 */ lw $s1, 0x14($sp) +/* A87C68 80241218 8FB00010 */ lw $s0, 0x10($sp) +/* A87C6C 8024121C 03E00008 */ jr $ra +/* A87C70 80241220 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241224_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241224_A86A50.s new file mode 100644 index 0000000000..3ce0923572 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241224_A86A50.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241224_A87C74 +/* A87C74 80241224 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A87C78 80241228 AFB3005C */ sw $s3, 0x5c($sp) +/* A87C7C 8024122C 0080982D */ daddu $s3, $a0, $zero +/* A87C80 80241230 AFBF0068 */ sw $ra, 0x68($sp) +/* A87C84 80241234 AFB50064 */ sw $s5, 0x64($sp) +/* A87C88 80241238 AFB40060 */ sw $s4, 0x60($sp) +/* A87C8C 8024123C AFB20058 */ sw $s2, 0x58($sp) +/* A87C90 80241240 AFB10054 */ sw $s1, 0x54($sp) +/* A87C94 80241244 AFB00050 */ sw $s0, 0x50($sp) +/* A87C98 80241248 8E710148 */ lw $s1, 0x148($s3) +/* A87C9C 8024124C 86240008 */ lh $a0, 8($s1) +/* A87CA0 80241250 0C00EABB */ jal get_npc_unsafe +/* A87CA4 80241254 00A0802D */ daddu $s0, $a1, $zero +/* A87CA8 80241258 8E63000C */ lw $v1, 0xc($s3) +/* A87CAC 8024125C 0260202D */ daddu $a0, $s3, $zero +/* A87CB0 80241260 8C650000 */ lw $a1, ($v1) +/* A87CB4 80241264 0C0B1EAF */ jal get_variable +/* A87CB8 80241268 0040902D */ daddu $s2, $v0, $zero +/* A87CBC 8024126C AFA00028 */ sw $zero, 0x28($sp) +/* A87CC0 80241270 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87CC4 80241274 8C630094 */ lw $v1, 0x94($v1) +/* A87CC8 80241278 AFA3002C */ sw $v1, 0x2c($sp) +/* A87CCC 8024127C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87CD0 80241280 8C630080 */ lw $v1, 0x80($v1) +/* A87CD4 80241284 AFA30030 */ sw $v1, 0x30($sp) +/* A87CD8 80241288 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87CDC 8024128C 8C630088 */ lw $v1, 0x88($v1) +/* A87CE0 80241290 AFA30034 */ sw $v1, 0x34($sp) +/* A87CE4 80241294 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87CE8 80241298 8C63008C */ lw $v1, 0x8c($v1) +/* A87CEC 8024129C 27B50028 */ addiu $s5, $sp, 0x28 +/* A87CF0 802412A0 AFA30038 */ sw $v1, 0x38($sp) +/* A87CF4 802412A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A87CF8 802412A8 3C0142C8 */ lui $at, 0x42c8 +/* A87CFC 802412AC 44810000 */ mtc1 $at, $f0 +/* A87D00 802412B0 8C630090 */ lw $v1, 0x90($v1) +/* A87D04 802412B4 0040A02D */ daddu $s4, $v0, $zero +/* A87D08 802412B8 E7A00040 */ swc1 $f0, 0x40($sp) +/* A87D0C 802412BC A7A00044 */ sh $zero, 0x44($sp) +/* A87D10 802412C0 12000007 */ beqz $s0, .L802412E0 +/* A87D14 802412C4 AFA3003C */ sw $v1, 0x3c($sp) +/* A87D18 802412C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* A87D1C 802412CC 864300A8 */ lh $v1, 0xa8($s2) +/* A87D20 802412D0 34420008 */ ori $v0, $v0, 8 +/* A87D24 802412D4 AE230084 */ sw $v1, 0x84($s1) +/* A87D28 802412D8 080904BC */ j .L802412F0 +/* A87D2C 802412DC AE2200B0 */ sw $v0, 0xb0($s1) +.L802412E0: +/* A87D30 802412E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A87D34 802412E4 30420004 */ andi $v0, $v0, 4 +/* A87D38 802412E8 10400048 */ beqz $v0, .L8024140C +/* A87D3C 802412EC 00000000 */ nop +.L802412F0: +/* A87D40 802412F0 A640008E */ sh $zero, 0x8e($s2) +/* A87D44 802412F4 AE600070 */ sw $zero, 0x70($s3) +/* A87D48 802412F8 8E2300CC */ lw $v1, 0xcc($s1) +/* A87D4C 802412FC 2404F7FF */ addiu $a0, $zero, -0x801 +/* A87D50 80241300 A2200007 */ sb $zero, 7($s1) +/* A87D54 80241304 8E420000 */ lw $v0, ($s2) +/* A87D58 80241308 8C630000 */ lw $v1, ($v1) +/* A87D5C 8024130C 00441024 */ and $v0, $v0, $a0 +/* A87D60 80241310 AE420000 */ sw $v0, ($s2) +/* A87D64 80241314 AE430028 */ sw $v1, 0x28($s2) +/* A87D68 80241318 96220086 */ lhu $v0, 0x86($s1) +/* A87D6C 8024131C A64200A8 */ sh $v0, 0xa8($s2) +/* A87D70 80241320 8E2200D0 */ lw $v0, 0xd0($s1) +/* A87D74 80241324 A22000B5 */ sb $zero, 0xb5($s1) +/* A87D78 80241328 AE20008C */ sw $zero, 0x8c($s1) +/* A87D7C 8024132C 8C420098 */ lw $v0, 0x98($v0) +/* A87D80 80241330 14400006 */ bnez $v0, .L8024134C +/* A87D84 80241334 2403FDFF */ addiu $v1, $zero, -0x201 +/* A87D88 80241338 8E420000 */ lw $v0, ($s2) +/* A87D8C 8024133C 2403FFF7 */ addiu $v1, $zero, -9 +/* A87D90 80241340 34420200 */ ori $v0, $v0, 0x200 +/* A87D94 80241344 080904D6 */ j .L80241358 +/* A87D98 80241348 00431024 */ and $v0, $v0, $v1 +.L8024134C: +/* A87D9C 8024134C 8E420000 */ lw $v0, ($s2) +/* A87DA0 80241350 00431024 */ and $v0, $v0, $v1 +/* A87DA4 80241354 34420008 */ ori $v0, $v0, 8 +.L80241358: +/* A87DA8 80241358 AE420000 */ sw $v0, ($s2) +/* A87DAC 8024135C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A87DB0 80241360 30420004 */ andi $v0, $v0, 4 +/* A87DB4 80241364 1040001E */ beqz $v0, .L802413E0 +/* A87DB8 80241368 24040002 */ addiu $a0, $zero, 2 +/* A87DBC 8024136C 0240282D */ daddu $a1, $s2, $zero +/* A87DC0 80241370 0000302D */ daddu $a2, $zero, $zero +/* A87DC4 80241374 24020063 */ addiu $v0, $zero, 0x63 +/* A87DC8 80241378 AE620070 */ sw $v0, 0x70($s3) +/* A87DCC 8024137C AE600074 */ sw $zero, 0x74($s3) +/* A87DD0 80241380 864300A8 */ lh $v1, 0xa8($s2) +/* A87DD4 80241384 3C013F80 */ lui $at, 0x3f80 +/* A87DD8 80241388 44810000 */ mtc1 $at, $f0 +/* A87DDC 8024138C 3C014000 */ lui $at, 0x4000 +/* A87DE0 80241390 44811000 */ mtc1 $at, $f2 +/* A87DE4 80241394 3C01C1A0 */ lui $at, 0xc1a0 +/* A87DE8 80241398 44812000 */ mtc1 $at, $f4 +/* A87DEC 8024139C 24020028 */ addiu $v0, $zero, 0x28 +/* A87DF0 802413A0 AFA2001C */ sw $v0, 0x1c($sp) +/* A87DF4 802413A4 44833000 */ mtc1 $v1, $f6 +/* A87DF8 802413A8 00000000 */ nop +/* A87DFC 802413AC 468031A0 */ cvt.s.w $f6, $f6 +/* A87E00 802413B0 44073000 */ mfc1 $a3, $f6 +/* A87E04 802413B4 27A20048 */ addiu $v0, $sp, 0x48 +/* A87E08 802413B8 AFA20020 */ sw $v0, 0x20($sp) +/* A87E0C 802413BC E7A00010 */ swc1 $f0, 0x10($sp) +/* A87E10 802413C0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A87E14 802413C4 0C01BFA4 */ jal fx_emote +/* A87E18 802413C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A87E1C 802413CC 8E2200B0 */ lw $v0, 0xb0($s1) +/* A87E20 802413D0 2403FFFB */ addiu $v1, $zero, -5 +/* A87E24 802413D4 00431024 */ and $v0, $v0, $v1 +/* A87E28 802413D8 08090503 */ j .L8024140C +/* A87E2C 802413DC AE2200B0 */ sw $v0, 0xb0($s1) +.L802413E0: +/* A87E30 802413E0 8E220000 */ lw $v0, ($s1) +/* A87E34 802413E4 3C034000 */ lui $v1, 0x4000 +/* A87E38 802413E8 00431024 */ and $v0, $v0, $v1 +/* A87E3C 802413EC 10400007 */ beqz $v0, .L8024140C +/* A87E40 802413F0 3C03BFFF */ lui $v1, 0xbfff +/* A87E44 802413F4 2402000C */ addiu $v0, $zero, 0xc +/* A87E48 802413F8 AE620070 */ sw $v0, 0x70($s3) +/* A87E4C 802413FC 8E220000 */ lw $v0, ($s1) +/* A87E50 80241400 3463FFFF */ ori $v1, $v1, 0xffff +/* A87E54 80241404 00431024 */ and $v0, $v0, $v1 +/* A87E58 80241408 AE220000 */ sw $v0, ($s1) +.L8024140C: +/* A87E5C 8024140C 8E630070 */ lw $v1, 0x70($s3) +/* A87E60 80241410 2C620064 */ sltiu $v0, $v1, 0x64 +/* A87E64 80241414 1040003A */ beqz $v0, .L80241500 +/* A87E68 80241418 00031080 */ sll $v0, $v1, 2 +/* A87E6C 8024141C 3C018024 */ lui $at, 0x8024 +/* A87E70 80241420 00220821 */ addu $at, $at, $v0 +/* A87E74 80241424 8C225BD8 */ lw $v0, 0x5bd8($at) +/* A87E78 80241428 00400008 */ jr $v0 +/* A87E7C 8024142C 00000000 */ nop +/* A87E80 80241430 0260202D */ daddu $a0, $s3, $zero +/* A87E84 80241434 0280282D */ daddu $a1, $s4, $zero +/* A87E88 80241438 0C090000 */ jal func_80240000 +/* A87E8C 8024143C 02A0302D */ daddu $a2, $s5, $zero +/* A87E90 80241440 96220086 */ lhu $v0, 0x86($s1) +/* A87E94 80241444 A64200A8 */ sh $v0, 0xa8($s2) +/* A87E98 80241448 0260202D */ daddu $a0, $s3, $zero +/* A87E9C 8024144C 0280282D */ daddu $a1, $s4, $zero +/* A87EA0 80241450 0C090056 */ jal func_80240158 +/* A87EA4 80241454 02A0302D */ daddu $a2, $s5, $zero +/* A87EA8 80241458 08090540 */ j .L80241500 +/* A87EAC 8024145C 00000000 */ nop +/* A87EB0 80241460 0260202D */ daddu $a0, $s3, $zero +/* A87EB4 80241464 0280282D */ daddu $a1, $s4, $zero +/* A87EB8 80241468 0C090100 */ jal func_80240400 +/* A87EBC 8024146C 02A0302D */ daddu $a2, $s5, $zero +/* A87EC0 80241470 0260202D */ daddu $a0, $s3, $zero +/* A87EC4 80241474 0280282D */ daddu $a1, $s4, $zero +/* A87EC8 80241478 0C090130 */ jal func_802404C0 +/* A87ECC 8024147C 02A0302D */ daddu $a2, $s5, $zero +/* A87ED0 80241480 08090540 */ j .L80241500 +/* A87ED4 80241484 00000000 */ nop +/* A87ED8 80241488 0260202D */ daddu $a0, $s3, $zero +/* A87EDC 8024148C 0280282D */ daddu $a1, $s4, $zero +/* A87EE0 80241490 0C09019F */ jal func_8024067C +/* A87EE4 80241494 02A0302D */ daddu $a2, $s5, $zero +/* A87EE8 80241498 08090540 */ j .L80241500 +/* A87EEC 8024149C 00000000 */ nop +/* A87EF0 802414A0 0260202D */ daddu $a0, $s3, $zero +/* A87EF4 802414A4 0280282D */ daddu $a1, $s4, $zero +/* A87EF8 802414A8 0C0903A4 */ jal func_80240E90 +/* A87EFC 802414AC 02A0302D */ daddu $a2, $s5, $zero +/* A87F00 802414B0 0260202D */ daddu $a0, $s3, $zero +/* A87F04 802414B4 0280282D */ daddu $a1, $s4, $zero +/* A87F08 802414B8 0C0903C3 */ jal func_80240F0C +/* A87F0C 802414BC 02A0302D */ daddu $a2, $s5, $zero +/* A87F10 802414C0 08090540 */ j .L80241500 +/* A87F14 802414C4 00000000 */ nop +/* A87F18 802414C8 0260202D */ daddu $a0, $s3, $zero +/* A87F1C 802414CC 0280282D */ daddu $a1, $s4, $zero +/* A87F20 802414D0 0C090410 */ jal func_80241040 +/* A87F24 802414D4 02A0302D */ daddu $a2, $s5, $zero +/* A87F28 802414D8 08090540 */ j .L80241500 +/* A87F2C 802414DC 00000000 */ nop +/* A87F30 802414E0 0260202D */ daddu $a0, $s3, $zero +/* A87F34 802414E4 0280282D */ daddu $a1, $s4, $zero +/* A87F38 802414E8 0C090469 */ jal func_802411A4 +/* A87F3C 802414EC 02A0302D */ daddu $a2, $s5, $zero +/* A87F40 802414F0 08090540 */ j .L80241500 +/* A87F44 802414F4 00000000 */ nop +/* A87F48 802414F8 0C0129CF */ jal func_8004A73C +/* A87F4C 802414FC 0260202D */ daddu $a0, $s3, $zero +.L80241500: +/* A87F50 80241500 8FBF0068 */ lw $ra, 0x68($sp) +/* A87F54 80241504 8FB50064 */ lw $s5, 0x64($sp) +/* A87F58 80241508 8FB40060 */ lw $s4, 0x60($sp) +/* A87F5C 8024150C 8FB3005C */ lw $s3, 0x5c($sp) +/* A87F60 80241510 8FB20058 */ lw $s2, 0x58($sp) +/* A87F64 80241514 8FB10054 */ lw $s1, 0x54($sp) +/* A87F68 80241518 8FB00050 */ lw $s0, 0x50($sp) +/* A87F6C 8024151C 0000102D */ daddu $v0, $zero, $zero +/* A87F70 80241520 03E00008 */ jr $ra +/* A87F74 80241524 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241528.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241528.s new file mode 100644 index 0000000000..f8db23b612 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241528.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241528 +/* A87F78 80241528 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A87F7C 8024152C AFBF0010 */ sw $ra, 0x10($sp) +/* A87F80 80241530 0C03A625 */ jal func_800E9894 +/* A87F84 80241534 00000000 */ nop +/* A87F88 80241538 8FBF0010 */ lw $ra, 0x10($sp) +/* A87F8C 8024153C 24020002 */ addiu $v0, $zero, 2 +/* A87F90 80241540 03E00008 */ jr $ra +/* A87F94 80241544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241548_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241548_A86A50.s new file mode 100644 index 0000000000..a19bca4574 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241548_A86A50.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241548_A87F98 +/* A87F98 80241548 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A87F9C 8024154C AFBF0010 */ sw $ra, 0x10($sp) +/* A87FA0 80241550 0C03A631 */ jal func_800E98C4 +/* A87FA4 80241554 00000000 */ nop +/* A87FA8 80241558 0C03A6DB */ jal sync_status_menu +/* A87FAC 8024155C 00000000 */ nop +/* A87FB0 80241560 8FBF0010 */ lw $ra, 0x10($sp) +/* A87FB4 80241564 24020002 */ addiu $v0, $zero, 2 +/* A87FB8 80241568 03E00008 */ jr $ra +/* A87FBC 8024156C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241570_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241570_A86A50.s new file mode 100644 index 0000000000..9ceb1c46b4 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241570_A86A50.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241570_A87FC0 +/* A87FC0 80241570 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A87FC4 80241574 AFB10014 */ sw $s1, 0x14($sp) +/* A87FC8 80241578 0080882D */ daddu $s1, $a0, $zero +/* A87FCC 8024157C AFBF0018 */ sw $ra, 0x18($sp) +/* A87FD0 80241580 AFB00010 */ sw $s0, 0x10($sp) +/* A87FD4 80241584 8E30000C */ lw $s0, 0xc($s1) +/* A87FD8 80241588 8E050000 */ lw $a1, ($s0) +/* A87FDC 8024158C 0C0B1EAF */ jal get_variable +/* A87FE0 80241590 26100004 */ addiu $s0, $s0, 4 +/* A87FE4 80241594 0220202D */ daddu $a0, $s1, $zero +/* A87FE8 80241598 8E050000 */ lw $a1, ($s0) +/* A87FEC 8024159C 0C0B1EAF */ jal get_variable +/* A87FF0 802415A0 0040882D */ daddu $s1, $v0, $zero +/* A87FF4 802415A4 0000202D */ daddu $a0, $zero, $zero +/* A87FF8 802415A8 0080282D */ daddu $a1, $a0, $zero +/* A87FFC 802415AC 0040802D */ daddu $s0, $v0, $zero +/* A88000 802415B0 240600BE */ addiu $a2, $zero, 0xbe +/* A88004 802415B4 0C04DF93 */ jal func_80137E4C +/* A88008 802415B8 24070091 */ addiu $a3, $zero, 0x91 +/* A8800C 802415BC 44900000 */ mtc1 $s0, $f0 +/* A88010 802415C0 00000000 */ nop +/* A88014 802415C4 46800020 */ cvt.s.w $f0, $f0 +/* A88018 802415C8 44050000 */ mfc1 $a1, $f0 +/* A8801C 802415CC 0C04DF62 */ jal func_80137D88 +/* A88020 802415D0 322400FF */ andi $a0, $s1, 0xff +/* A88024 802415D4 8FBF0018 */ lw $ra, 0x18($sp) +/* A88028 802415D8 8FB10014 */ lw $s1, 0x14($sp) +/* A8802C 802415DC 8FB00010 */ lw $s0, 0x10($sp) +/* A88030 802415E0 24020002 */ addiu $v0, $zero, 2 +/* A88034 802415E4 03E00008 */ jr $ra +/* A88038 802415E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802415EC_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802415EC_A86A50.s new file mode 100644 index 0000000000..08042452f7 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802415EC_A86A50.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415EC_A8803C +/* A8803C 802415EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A88040 802415F0 AFB10014 */ sw $s1, 0x14($sp) +/* A88044 802415F4 0080882D */ daddu $s1, $a0, $zero +/* A88048 802415F8 AFBF0018 */ sw $ra, 0x18($sp) +/* A8804C 802415FC AFB00010 */ sw $s0, 0x10($sp) +/* A88050 80241600 8E30000C */ lw $s0, 0xc($s1) +/* A88054 80241604 8E050000 */ lw $a1, ($s0) +/* A88058 80241608 0C0B1EAF */ jal get_variable +/* A8805C 8024160C 26100004 */ addiu $s0, $s0, 4 +/* A88060 80241610 0220202D */ daddu $a0, $s1, $zero +/* A88064 80241614 8E050000 */ lw $a1, ($s0) +/* A88068 80241618 0C0B1EAF */ jal get_variable +/* A8806C 8024161C 0040802D */ daddu $s0, $v0, $zero +/* A88070 80241620 44820000 */ mtc1 $v0, $f0 +/* A88074 80241624 00000000 */ nop +/* A88078 80241628 46800020 */ cvt.s.w $f0, $f0 +/* A8807C 8024162C 24020002 */ addiu $v0, $zero, 2 +/* A88080 80241630 00501804 */ sllv $v1, $s0, $v0 +/* A88084 80241634 00701821 */ addu $v1, $v1, $s0 +/* A88088 80241638 00431804 */ sllv $v1, $v1, $v0 +/* A8808C 8024163C 00701823 */ subu $v1, $v1, $s0 +/* A88090 80241640 000320C0 */ sll $a0, $v1, 3 +/* A88094 80241644 00641821 */ addu $v1, $v1, $a0 +/* A88098 80241648 000318C0 */ sll $v1, $v1, 3 +/* A8809C 8024164C 3C01800B */ lui $at, 0x800b +/* A880A0 80241650 00230821 */ addu $at, $at, $v1 +/* A880A4 80241654 E4201D98 */ swc1 $f0, 0x1d98($at) +/* A880A8 80241658 8FBF0018 */ lw $ra, 0x18($sp) +/* A880AC 8024165C 8FB10014 */ lw $s1, 0x14($sp) +/* A880B0 80241660 8FB00010 */ lw $s0, 0x10($sp) +/* A880B4 80241664 03E00008 */ jr $ra +/* A880B8 80241668 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024166C.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024166C.s new file mode 100644 index 0000000000..cfd2a73238 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024166C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024166C +/* A880BC 8024166C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A880C0 80241670 AFBF0010 */ sw $ra, 0x10($sp) +/* A880C4 80241674 8C82000C */ lw $v0, 0xc($a0) +/* A880C8 80241678 0C0B1EAF */ jal get_variable +/* A880CC 8024167C 8C450000 */ lw $a1, ($v0) +/* A880D0 80241680 0C0B1059 */ jal does_script_exist +/* A880D4 80241684 0040202D */ daddu $a0, $v0, $zero +/* A880D8 80241688 2C420001 */ sltiu $v0, $v0, 1 +/* A880DC 8024168C 8FBF0010 */ lw $ra, 0x10($sp) +/* A880E0 80241690 00021040 */ sll $v0, $v0, 1 +/* A880E4 80241694 03E00008 */ jr $ra +/* A880E8 80241698 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024169C.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024169C.s new file mode 100644 index 0000000000..aab5b1fabb --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024169C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024169C +/* A880EC 8024169C 3C028011 */ lui $v0, 0x8011 +/* A880F0 802416A0 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A880F4 802416A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A880F8 802416A8 10400003 */ beqz $v0, .L802416B8 +/* A880FC 802416AC AFBF0010 */ sw $ra, 0x10($sp) +/* A88100 802416B0 0C03AE06 */ jal partner_suspend_ability_script +/* A88104 802416B4 00000000 */ nop +.L802416B8: +/* A88108 802416B8 24020002 */ addiu $v0, $zero, 2 +/* A8810C 802416BC 8FBF0010 */ lw $ra, 0x10($sp) +/* A88110 802416C0 03E00008 */ jr $ra +/* A88114 802416C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802416C8.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802416C8.s new file mode 100644 index 0000000000..57e2b779bc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802416C8.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C8 +/* A88118 802416C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8811C 802416CC AFBF0010 */ sw $ra, 0x10($sp) +/* A88120 802416D0 0C03AE18 */ jal partner_resume_ability_script +/* A88124 802416D4 00000000 */ nop +/* A88128 802416D8 8FBF0010 */ lw $ra, 0x10($sp) +/* A8812C 802416DC 24020002 */ addiu $v0, $zero, 2 +/* A88130 802416E0 03E00008 */ jr $ra +/* A88134 802416E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802416E8.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802416E8.s new file mode 100644 index 0000000000..49e2b89c6c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802416E8.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416E8 +/* A88138 802416E8 3C058011 */ lui $a1, %hi(gPlayerData) +/* A8813C 802416EC 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* A88140 802416F0 AC800088 */ sw $zero, 0x88($a0) +/* A88144 802416F4 80A30003 */ lb $v1, 3($a1) +/* A88148 802416F8 80A20002 */ lb $v0, 2($a1) +/* A8814C 802416FC 1462000B */ bne $v1, $v0, .L8024172C +/* A88150 80241700 00A0302D */ daddu $a2, $a1, $zero +/* A88154 80241704 80A30006 */ lb $v1, 6($a1) +/* A88158 80241708 80A20005 */ lb $v0, 5($a1) +/* A8815C 8024170C 14620007 */ bne $v1, $v0, .L8024172C +/* A88160 80241710 00000000 */ nop +/* A88164 80241714 80C2028E */ lb $v0, 0x28e($a2) +/* A88168 80241718 84C30290 */ lh $v1, 0x290($a2) +/* A8816C 8024171C 00021200 */ sll $v0, $v0, 8 +/* A88170 80241720 14620004 */ bne $v1, $v0, .L80241734 +/* A88174 80241724 24020001 */ addiu $v0, $zero, 1 +/* A88178 80241728 AC820088 */ sw $v0, 0x88($a0) +.L8024172C: +/* A8817C 8024172C 03E00008 */ jr $ra +/* A88180 80241730 24020002 */ addiu $v0, $zero, 2 +.L80241734: +/* A88184 80241734 03E00008 */ jr $ra +/* A88188 80241738 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024173C_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024173C_A86A50.s new file mode 100644 index 0000000000..abb8eeae34 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024173C_A86A50.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024173C_A8818C +/* A8818C 8024173C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A88190 80241740 AFB10014 */ sw $s1, 0x14($sp) +/* A88194 80241744 0080882D */ daddu $s1, $a0, $zero +/* A88198 80241748 AFBF001C */ sw $ra, 0x1c($sp) +/* A8819C 8024174C AFB20018 */ sw $s2, 0x18($sp) +/* A881A0 80241750 AFB00010 */ sw $s0, 0x10($sp) +/* A881A4 80241754 8E30000C */ lw $s0, 0xc($s1) +/* A881A8 80241758 8E050000 */ lw $a1, ($s0) +/* A881AC 8024175C 0C0B1EAF */ jal get_variable +/* A881B0 80241760 26100004 */ addiu $s0, $s0, 4 +/* A881B4 80241764 8E050000 */ lw $a1, ($s0) +/* A881B8 80241768 26100004 */ addiu $s0, $s0, 4 +/* A881BC 8024176C 0220202D */ daddu $a0, $s1, $zero +/* A881C0 80241770 0C0B1EAF */ jal get_variable +/* A881C4 80241774 0040902D */ daddu $s2, $v0, $zero +/* A881C8 80241778 0220202D */ daddu $a0, $s1, $zero +/* A881CC 8024177C 8E050000 */ lw $a1, ($s0) +/* A881D0 80241780 0C0B1EAF */ jal get_variable +/* A881D4 80241784 0040802D */ daddu $s0, $v0, $zero +/* A881D8 80241788 0000202D */ daddu $a0, $zero, $zero +/* A881DC 8024178C 324500FF */ andi $a1, $s2, 0xff +/* A881E0 80241790 320600FF */ andi $a2, $s0, 0xff +/* A881E4 80241794 0C04DF84 */ jal func_80137E10 +/* A881E8 80241798 304700FF */ andi $a3, $v0, 0xff +/* A881EC 8024179C 8FBF001C */ lw $ra, 0x1c($sp) +/* A881F0 802417A0 8FB20018 */ lw $s2, 0x18($sp) +/* A881F4 802417A4 8FB10014 */ lw $s1, 0x14($sp) +/* A881F8 802417A8 8FB00010 */ lw $s0, 0x10($sp) +/* A881FC 802417AC 24020002 */ addiu $v0, $zero, 2 +/* A88200 802417B0 03E00008 */ jr $ra +/* A88204 802417B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802417B8.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802417B8.s new file mode 100644 index 0000000000..aab9d83c13 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802417B8.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417B8 +/* A88208 802417B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8820C 802417BC AFBF0010 */ sw $ra, 0x10($sp) +/* A88210 802417C0 8C82000C */ lw $v0, 0xc($a0) +/* A88214 802417C4 3C068011 */ lui $a2, 0x8011 +/* A88218 802417C8 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* A8821C 802417CC 0C0B2026 */ jal set_variable +/* A88220 802417D0 8C450000 */ lw $a1, ($v0) +/* A88224 802417D4 0C03AC5A */ jal func_800EB168 +/* A88228 802417D8 0000202D */ daddu $a0, $zero, $zero +/* A8822C 802417DC 8FBF0010 */ lw $ra, 0x10($sp) +/* A88230 802417E0 24020002 */ addiu $v0, $zero, 2 +/* A88234 802417E4 03E00008 */ jr $ra +/* A88238 802417E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_802417EC_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_802417EC_A86A50.s new file mode 100644 index 0000000000..fc06affc8f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_802417EC_A86A50.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417EC_A8823C +/* A8823C 802417EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A88240 802417F0 AFBF0010 */ sw $ra, 0x10($sp) +/* A88244 802417F4 8C82000C */ lw $v0, 0xc($a0) +/* A88248 802417F8 0C0B1EAF */ jal get_variable +/* A8824C 802417FC 8C450000 */ lw $a1, ($v0) +/* A88250 80241800 00021600 */ sll $v0, $v0, 0x18 +/* A88254 80241804 0C03AC5A */ jal func_800EB168 +/* A88258 80241808 00022603 */ sra $a0, $v0, 0x18 +/* A8825C 8024180C 8FBF0010 */ lw $ra, 0x10($sp) +/* A88260 80241810 24020002 */ addiu $v0, $zero, 2 +/* A88264 80241814 03E00008 */ jr $ra +/* A88268 80241818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_8024181C_A86A50.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024181C_A86A50.s new file mode 100644 index 0000000000..e4bb364fb9 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_8024181C_A86A50.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024181C_A8826C +/* A8826C 8024181C 03E00008 */ jr $ra +/* A88270 80241820 24020002 */ addiu $v0, $zero, 2 +/* A88274 80241824 00000000 */ nop +/* A88278 80241828 00000000 */ nop +/* A8827C 8024182C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241830.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241830.s new file mode 100644 index 0000000000..1749a65640 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241830.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241830 +/* A88280 80241830 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A88284 80241834 AFBF0010 */ sw $ra, 0x10($sp) +/* A88288 80241838 0C04417A */ jal get_entity_by_index +/* A8828C 8024183C 8C840084 */ lw $a0, 0x84($a0) +/* A88290 80241840 0040182D */ daddu $v1, $v0, $zero +/* A88294 80241844 8C640000 */ lw $a0, ($v1) +/* A88298 80241848 3C050010 */ lui $a1, 0x10 +/* A8829C 8024184C 00852025 */ or $a0, $a0, $a1 +/* A882A0 80241850 AC640000 */ sw $a0, ($v1) +/* A882A4 80241854 8FBF0010 */ lw $ra, 0x10($sp) +/* A882A8 80241858 24020002 */ addiu $v0, $zero, 2 +/* A882AC 8024185C 03E00008 */ jr $ra +/* A882B0 80241860 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_91/func_80241864.s b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241864.s new file mode 100644 index 0000000000..d02cbf10de --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_91/func_80241864.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241864 +/* A882B4 80241864 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A882B8 80241868 AFB20018 */ sw $s2, 0x18($sp) +/* A882BC 8024186C 0080902D */ daddu $s2, $a0, $zero +/* A882C0 80241870 AFBF001C */ sw $ra, 0x1c($sp) +/* A882C4 80241874 AFB10014 */ sw $s1, 0x14($sp) +/* A882C8 80241878 AFB00010 */ sw $s0, 0x10($sp) +/* A882CC 8024187C 8E50000C */ lw $s0, 0xc($s2) +/* A882D0 80241880 8E050000 */ lw $a1, ($s0) +/* A882D4 80241884 0C0B1EAF */ jal get_variable +/* A882D8 80241888 26100004 */ addiu $s0, $s0, 4 +/* A882DC 8024188C 0C04417A */ jal get_entity_by_index +/* A882E0 80241890 0040202D */ daddu $a0, $v0, $zero +/* A882E4 80241894 8E050000 */ lw $a1, ($s0) +/* A882E8 80241898 26100004 */ addiu $s0, $s0, 4 +/* A882EC 8024189C 0040882D */ daddu $s1, $v0, $zero +/* A882F0 802418A0 C6200048 */ lwc1 $f0, 0x48($s1) +/* A882F4 802418A4 4600008D */ trunc.w.s $f2, $f0 +/* A882F8 802418A8 44061000 */ mfc1 $a2, $f2 +/* A882FC 802418AC 0C0B2026 */ jal set_variable +/* A88300 802418B0 0240202D */ daddu $a0, $s2, $zero +/* A88304 802418B4 8E050000 */ lw $a1, ($s0) +/* A88308 802418B8 26100004 */ addiu $s0, $s0, 4 +/* A8830C 802418BC C620004C */ lwc1 $f0, 0x4c($s1) +/* A88310 802418C0 4600008D */ trunc.w.s $f2, $f0 +/* A88314 802418C4 44061000 */ mfc1 $a2, $f2 +/* A88318 802418C8 0C0B2026 */ jal set_variable +/* A8831C 802418CC 0240202D */ daddu $a0, $s2, $zero +/* A88320 802418D0 C6200050 */ lwc1 $f0, 0x50($s1) +/* A88324 802418D4 8E050000 */ lw $a1, ($s0) +/* A88328 802418D8 4600008D */ trunc.w.s $f2, $f0 +/* A8832C 802418DC 44061000 */ mfc1 $a2, $f2 +/* A88330 802418E0 0C0B2026 */ jal set_variable +/* A88334 802418E4 0240202D */ daddu $a0, $s2, $zero +/* A88338 802418E8 8FBF001C */ lw $ra, 0x1c($sp) +/* A8833C 802418EC 8FB20018 */ lw $s2, 0x18($sp) +/* A88340 802418F0 8FB10014 */ lw $s1, 0x14($sp) +/* A88344 802418F4 8FB00010 */ lw $s0, 0x10($sp) +/* A88348 802418F8 24020002 */ addiu $v0, $zero, 2 +/* A8834C 802418FC 03E00008 */ jr $ra +/* A88350 80241900 27BD0020 */ addiu $sp, $sp, 0x20 +/* A88354 80241904 00000000 */ nop +/* A88358 80241908 00000000 */ nop +/* A8835C 8024190C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240000_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240000_A8CA80.s new file mode 100644 index 0000000000..b12c739068 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240000_A8CA80.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A8CA80 +/* A8CA80 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8CA84 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* A8CA88 80240008 0C04417A */ jal get_entity_by_index +/* A8CA8C 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* A8CA90 80240010 0040182D */ daddu $v1, $v0, $zero +/* A8CA94 80240014 8C640000 */ lw $a0, ($v1) +/* A8CA98 80240018 3C050010 */ lui $a1, 0x10 +/* A8CA9C 8024001C 00852025 */ or $a0, $a0, $a1 +/* A8CAA0 80240020 AC640000 */ sw $a0, ($v1) +/* A8CAA4 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* A8CAA8 80240028 24020002 */ addiu $v0, $zero, 2 +/* A8CAAC 8024002C 03E00008 */ jr $ra +/* A8CAB0 80240030 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240034_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240034_A8CA80.s new file mode 100644 index 0000000000..cbc38e7d0b --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240034_A8CA80.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_A8CAB4 +/* A8CAB4 80240034 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8CAB8 80240038 AFB20018 */ sw $s2, 0x18($sp) +/* A8CABC 8024003C 0080902D */ daddu $s2, $a0, $zero +/* A8CAC0 80240040 AFBF001C */ sw $ra, 0x1c($sp) +/* A8CAC4 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* A8CAC8 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* A8CACC 8024004C 8E50000C */ lw $s0, 0xc($s2) +/* A8CAD0 80240050 8E050000 */ lw $a1, ($s0) +/* A8CAD4 80240054 0C0B1EAF */ jal get_variable +/* A8CAD8 80240058 26100004 */ addiu $s0, $s0, 4 +/* A8CADC 8024005C 0C04417A */ jal get_entity_by_index +/* A8CAE0 80240060 0040202D */ daddu $a0, $v0, $zero +/* A8CAE4 80240064 8E050000 */ lw $a1, ($s0) +/* A8CAE8 80240068 26100004 */ addiu $s0, $s0, 4 +/* A8CAEC 8024006C 0040882D */ daddu $s1, $v0, $zero +/* A8CAF0 80240070 C6200048 */ lwc1 $f0, 0x48($s1) +/* A8CAF4 80240074 4600008D */ trunc.w.s $f2, $f0 +/* A8CAF8 80240078 44061000 */ mfc1 $a2, $f2 +/* A8CAFC 8024007C 0C0B2026 */ jal set_variable +/* A8CB00 80240080 0240202D */ daddu $a0, $s2, $zero +/* A8CB04 80240084 8E050000 */ lw $a1, ($s0) +/* A8CB08 80240088 26100004 */ addiu $s0, $s0, 4 +/* A8CB0C 8024008C C620004C */ lwc1 $f0, 0x4c($s1) +/* A8CB10 80240090 4600008D */ trunc.w.s $f2, $f0 +/* A8CB14 80240094 44061000 */ mfc1 $a2, $f2 +/* A8CB18 80240098 0C0B2026 */ jal set_variable +/* A8CB1C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* A8CB20 802400A0 C6200050 */ lwc1 $f0, 0x50($s1) +/* A8CB24 802400A4 8E050000 */ lw $a1, ($s0) +/* A8CB28 802400A8 4600008D */ trunc.w.s $f2, $f0 +/* A8CB2C 802400AC 44061000 */ mfc1 $a2, $f2 +/* A8CB30 802400B0 0C0B2026 */ jal set_variable +/* A8CB34 802400B4 0240202D */ daddu $a0, $s2, $zero +/* A8CB38 802400B8 8FBF001C */ lw $ra, 0x1c($sp) +/* A8CB3C 802400BC 8FB20018 */ lw $s2, 0x18($sp) +/* A8CB40 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* A8CB44 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* A8CB48 802400C8 24020002 */ addiu $v0, $zero, 2 +/* A8CB4C 802400CC 03E00008 */ jr $ra +/* A8CB50 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* A8CB54 802400D4 00000000 */ nop +/* A8CB58 802400D8 00000000 */ nop +/* A8CB5C 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802400E0_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802400E0_A8CA80.s new file mode 100644 index 0000000000..75f5ffbddd --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802400E0_A8CA80.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0_A8CB60 +/* A8CB60 802400E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A8CB64 802400E4 AFB50024 */ sw $s5, 0x24($sp) +/* A8CB68 802400E8 0080A82D */ daddu $s5, $a0, $zero +/* A8CB6C 802400EC AFBF002C */ sw $ra, 0x2c($sp) +/* A8CB70 802400F0 AFB60028 */ sw $s6, 0x28($sp) +/* A8CB74 802400F4 AFB40020 */ sw $s4, 0x20($sp) +/* A8CB78 802400F8 AFB3001C */ sw $s3, 0x1c($sp) +/* A8CB7C 802400FC AFB20018 */ sw $s2, 0x18($sp) +/* A8CB80 80240100 AFB10014 */ sw $s1, 0x14($sp) +/* A8CB84 80240104 AFB00010 */ sw $s0, 0x10($sp) +/* A8CB88 80240108 F7B80040 */ sdc1 $f24, 0x40($sp) +/* A8CB8C 8024010C F7B60038 */ sdc1 $f22, 0x38($sp) +/* A8CB90 80240110 F7B40030 */ sdc1 $f20, 0x30($sp) +/* A8CB94 80240114 8EB30148 */ lw $s3, 0x148($s5) +/* A8CB98 80240118 86640008 */ lh $a0, 8($s3) +/* A8CB9C 8024011C 0C00EABB */ jal get_npc_unsafe +/* A8CBA0 80240120 00A0B02D */ daddu $s6, $a1, $zero +/* A8CBA4 80240124 0040A02D */ daddu $s4, $v0, $zero +/* A8CBA8 80240128 AEA00074 */ sw $zero, 0x74($s5) +/* A8CBAC 8024012C C6980038 */ lwc1 $f24, 0x38($s4) +/* A8CBB0 80240130 C6960040 */ lwc1 $f22, 0x40($s4) +/* A8CBB4 80240134 0000902D */ daddu $s2, $zero, $zero +/* A8CBB8 80240138 AEA00078 */ sw $zero, 0x78($s5) +/* A8CBBC 8024013C 8E6300D0 */ lw $v1, 0xd0($s3) +/* A8CBC0 80240140 8C620000 */ lw $v0, ($v1) +/* A8CBC4 80240144 3C0146FF */ lui $at, 0x46ff +/* A8CBC8 80240148 3421FE00 */ ori $at, $at, 0xfe00 +/* A8CBCC 8024014C 4481A000 */ mtc1 $at, $f20 +/* A8CBD0 80240150 18400018 */ blez $v0, .L802401B4 +/* A8CBD4 80240154 0240802D */ daddu $s0, $s2, $zero +/* A8CBD8 80240158 0240882D */ daddu $s1, $s2, $zero +.L8024015C: +/* A8CBDC 8024015C 02231021 */ addu $v0, $s1, $v1 +/* A8CBE0 80240160 4600C306 */ mov.s $f12, $f24 +/* A8CBE4 80240164 C4440004 */ lwc1 $f4, 4($v0) +/* A8CBE8 80240168 46802120 */ cvt.s.w $f4, $f4 +/* A8CBEC 8024016C 44062000 */ mfc1 $a2, $f4 +/* A8CBF0 80240170 C444000C */ lwc1 $f4, 0xc($v0) +/* A8CBF4 80240174 46802120 */ cvt.s.w $f4, $f4 +/* A8CBF8 80240178 44072000 */ mfc1 $a3, $f4 +/* A8CBFC 8024017C 0C00A7B5 */ jal dist2D +/* A8CC00 80240180 4600B386 */ mov.s $f14, $f22 +/* A8CC04 80240184 4614003C */ c.lt.s $f0, $f20 +/* A8CC08 80240188 00000000 */ nop +/* A8CC0C 8024018C 45000003 */ bc1f .L8024019C +/* A8CC10 80240190 2631000C */ addiu $s1, $s1, 0xc +/* A8CC14 80240194 46000506 */ mov.s $f20, $f0 +/* A8CC18 80240198 AEB20078 */ sw $s2, 0x78($s5) +.L8024019C: +/* A8CC1C 8024019C 8E6300D0 */ lw $v1, 0xd0($s3) +/* A8CC20 802401A0 26100001 */ addiu $s0, $s0, 1 +/* A8CC24 802401A4 8C620000 */ lw $v0, ($v1) +/* A8CC28 802401A8 0202102A */ slt $v0, $s0, $v0 +/* A8CC2C 802401AC 1440FFEB */ bnez $v0, .L8024015C +/* A8CC30 802401B0 26520001 */ addiu $s2, $s2, 1 +.L802401B4: +/* A8CC34 802401B4 8E6200CC */ lw $v0, 0xcc($s3) +/* A8CC38 802401B8 8C420004 */ lw $v0, 4($v0) +/* A8CC3C 802401BC AE820028 */ sw $v0, 0x28($s4) +/* A8CC40 802401C0 8E6200D0 */ lw $v0, 0xd0($s3) +/* A8CC44 802401C4 8C42007C */ lw $v0, 0x7c($v0) +/* A8CC48 802401C8 04410004 */ bgez $v0, .L802401DC +/* A8CC4C 802401CC 00000000 */ nop +/* A8CC50 802401D0 C6C00000 */ lwc1 $f0, ($s6) +/* A8CC54 802401D4 0809007F */ j .L802401FC +/* A8CC58 802401D8 E6800018 */ swc1 $f0, 0x18($s4) +.L802401DC: +/* A8CC5C 802401DC 3C018024 */ lui $at, 0x8024 +/* A8CC60 802401E0 D4225A00 */ ldc1 $f2, 0x5a00($at) +/* A8CC64 802401E4 44820000 */ mtc1 $v0, $f0 +/* A8CC68 802401E8 00000000 */ nop +/* A8CC6C 802401EC 46800021 */ cvt.d.w $f0, $f0 +/* A8CC70 802401F0 46220003 */ div.d $f0, $f0, $f2 +/* A8CC74 802401F4 46200020 */ cvt.s.d $f0, $f0 +/* A8CC78 802401F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802401FC: +/* A8CC7C 802401FC 24020001 */ addiu $v0, $zero, 1 +/* A8CC80 80240200 AEA20070 */ sw $v0, 0x70($s5) +/* A8CC84 80240204 8FBF002C */ lw $ra, 0x2c($sp) +/* A8CC88 80240208 8FB60028 */ lw $s6, 0x28($sp) +/* A8CC8C 8024020C 8FB50024 */ lw $s5, 0x24($sp) +/* A8CC90 80240210 8FB40020 */ lw $s4, 0x20($sp) +/* A8CC94 80240214 8FB3001C */ lw $s3, 0x1c($sp) +/* A8CC98 80240218 8FB20018 */ lw $s2, 0x18($sp) +/* A8CC9C 8024021C 8FB10014 */ lw $s1, 0x14($sp) +/* A8CCA0 80240220 8FB00010 */ lw $s0, 0x10($sp) +/* A8CCA4 80240224 D7B80040 */ ldc1 $f24, 0x40($sp) +/* A8CCA8 80240228 D7B60038 */ ldc1 $f22, 0x38($sp) +/* A8CCAC 8024022C D7B40030 */ ldc1 $f20, 0x30($sp) +/* A8CCB0 80240230 03E00008 */ jr $ra +/* A8CCB4 80240234 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240238.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240238.s new file mode 100644 index 0000000000..d6c4ab90ba --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240238.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240238 +/* A8CCB8 80240238 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A8CCBC 8024023C AFB20038 */ sw $s2, 0x38($sp) +/* A8CCC0 80240240 0080902D */ daddu $s2, $a0, $zero +/* A8CCC4 80240244 AFBF0044 */ sw $ra, 0x44($sp) +/* A8CCC8 80240248 AFB40040 */ sw $s4, 0x40($sp) +/* A8CCCC 8024024C AFB3003C */ sw $s3, 0x3c($sp) +/* A8CCD0 80240250 AFB10034 */ sw $s1, 0x34($sp) +/* A8CCD4 80240254 AFB00030 */ sw $s0, 0x30($sp) +/* A8CCD8 80240258 F7B60050 */ sdc1 $f22, 0x50($sp) +/* A8CCDC 8024025C F7B40048 */ sdc1 $f20, 0x48($sp) +/* A8CCE0 80240260 8E510148 */ lw $s1, 0x148($s2) +/* A8CCE4 80240264 00A0982D */ daddu $s3, $a1, $zero +/* A8CCE8 80240268 86240008 */ lh $a0, 8($s1) +/* A8CCEC 8024026C 0C00EABB */ jal get_npc_unsafe +/* A8CCF0 80240270 00C0A02D */ daddu $s4, $a2, $zero +/* A8CCF4 80240274 8E630014 */ lw $v1, 0x14($s3) +/* A8CCF8 80240278 04600030 */ bltz $v1, .L8024033C +/* A8CCFC 8024027C 0040802D */ daddu $s0, $v0, $zero +/* A8CD00 80240280 8E420074 */ lw $v0, 0x74($s2) +/* A8CD04 80240284 1C40002C */ bgtz $v0, .L80240338 +/* A8CD08 80240288 2442FFFF */ addiu $v0, $v0, -1 +/* A8CD0C 8024028C 0280202D */ daddu $a0, $s4, $zero +/* A8CD10 80240290 AE430074 */ sw $v1, 0x74($s2) +/* A8CD14 80240294 AFA00010 */ sw $zero, 0x10($sp) +/* A8CD18 80240298 8E66000C */ lw $a2, 0xc($s3) +/* A8CD1C 8024029C 8E670010 */ lw $a3, 0x10($s3) +/* A8CD20 802402A0 0C01242D */ jal func_800490B4 +/* A8CD24 802402A4 0220282D */ daddu $a1, $s1, $zero +/* A8CD28 802402A8 10400021 */ beqz $v0, .L80240330 +/* A8CD2C 802402AC 0000202D */ daddu $a0, $zero, $zero +/* A8CD30 802402B0 0200282D */ daddu $a1, $s0, $zero +/* A8CD34 802402B4 0000302D */ daddu $a2, $zero, $zero +/* A8CD38 802402B8 860300A8 */ lh $v1, 0xa8($s0) +/* A8CD3C 802402BC 3C013F80 */ lui $at, 0x3f80 +/* A8CD40 802402C0 44810000 */ mtc1 $at, $f0 +/* A8CD44 802402C4 3C014000 */ lui $at, 0x4000 +/* A8CD48 802402C8 44811000 */ mtc1 $at, $f2 +/* A8CD4C 802402CC 3C01C1A0 */ lui $at, 0xc1a0 +/* A8CD50 802402D0 44812000 */ mtc1 $at, $f4 +/* A8CD54 802402D4 2402000F */ addiu $v0, $zero, 0xf +/* A8CD58 802402D8 AFA2001C */ sw $v0, 0x1c($sp) +/* A8CD5C 802402DC 44833000 */ mtc1 $v1, $f6 +/* A8CD60 802402E0 00000000 */ nop +/* A8CD64 802402E4 468031A0 */ cvt.s.w $f6, $f6 +/* A8CD68 802402E8 44073000 */ mfc1 $a3, $f6 +/* A8CD6C 802402EC 27A20028 */ addiu $v0, $sp, 0x28 +/* A8CD70 802402F0 AFA20020 */ sw $v0, 0x20($sp) +/* A8CD74 802402F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* A8CD78 802402F8 E7A20014 */ swc1 $f2, 0x14($sp) +/* A8CD7C 802402FC 0C01BFA4 */ jal fx_emote +/* A8CD80 80240300 E7A40018 */ swc1 $f4, 0x18($sp) +/* A8CD84 80240304 0200202D */ daddu $a0, $s0, $zero +/* A8CD88 80240308 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A8CD8C 8024030C 0C012530 */ jal func_800494C0 +/* A8CD90 80240310 3C060020 */ lui $a2, 0x20 +/* A8CD94 80240314 8E220018 */ lw $v0, 0x18($s1) +/* A8CD98 80240318 9442002A */ lhu $v0, 0x2a($v0) +/* A8CD9C 8024031C 30420001 */ andi $v0, $v0, 1 +/* A8CDA0 80240320 14400064 */ bnez $v0, .L802404B4 +/* A8CDA4 80240324 2402000A */ addiu $v0, $zero, 0xa +/* A8CDA8 80240328 0809012D */ j .L802404B4 +/* A8CDAC 8024032C 2402000C */ addiu $v0, $zero, 0xc +.L80240330: +/* A8CDB0 80240330 8E420074 */ lw $v0, 0x74($s2) +/* A8CDB4 80240334 2442FFFF */ addiu $v0, $v0, -1 +.L80240338: +/* A8CDB8 80240338 AE420074 */ sw $v0, 0x74($s2) +.L8024033C: +/* A8CDBC 8024033C 8602008C */ lh $v0, 0x8c($s0) +/* A8CDC0 80240340 1440005D */ bnez $v0, .L802404B8 +/* A8CDC4 80240344 00000000 */ nop +/* A8CDC8 80240348 C6000018 */ lwc1 $f0, 0x18($s0) +/* A8CDCC 8024034C 3C014010 */ lui $at, 0x4010 +/* A8CDD0 80240350 44811800 */ mtc1 $at, $f3 +/* A8CDD4 80240354 44801000 */ mtc1 $zero, $f2 +/* A8CDD8 80240358 46000021 */ cvt.d.s $f0, $f0 +/* A8CDDC 8024035C 4622003C */ c.lt.d $f0, $f2 +/* A8CDE0 80240360 00000000 */ nop +/* A8CDE4 80240364 45000003 */ bc1f .L80240374 +/* A8CDE8 80240368 0200202D */ daddu $a0, $s0, $zero +/* A8CDEC 8024036C 080900DE */ j .L80240378 +/* A8CDF0 80240370 0000282D */ daddu $a1, $zero, $zero +.L80240374: +/* A8CDF4 80240374 24050001 */ addiu $a1, $zero, 1 +.L80240378: +/* A8CDF8 80240378 0C00F598 */ jal func_8003D660 +/* A8CDFC 8024037C 00000000 */ nop +/* A8CE00 80240380 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A8CE04 80240384 8E430078 */ lw $v1, 0x78($s2) +/* A8CE08 80240388 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8CE0C 8024038C 00031040 */ sll $v0, $v1, 1 +/* A8CE10 80240390 00431021 */ addu $v0, $v0, $v1 +/* A8CE14 80240394 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8CE18 80240398 00021080 */ sll $v0, $v0, 2 +/* A8CE1C 8024039C 00431021 */ addu $v0, $v0, $v1 +/* A8CE20 802403A0 C4560004 */ lwc1 $f22, 4($v0) +/* A8CE24 802403A4 4680B5A0 */ cvt.s.w $f22, $f22 +/* A8CE28 802403A8 C454000C */ lwc1 $f20, 0xc($v0) +/* A8CE2C 802403AC 4680A520 */ cvt.s.w $f20, $f20 +/* A8CE30 802403B0 4406B000 */ mfc1 $a2, $f22 +/* A8CE34 802403B4 4407A000 */ mfc1 $a3, $f20 +/* A8CE38 802403B8 0C00A720 */ jal atan2 +/* A8CE3C 802403BC 00000000 */ nop +/* A8CE40 802403C0 8E050018 */ lw $a1, 0x18($s0) +/* A8CE44 802403C4 44060000 */ mfc1 $a2, $f0 +/* A8CE48 802403C8 0200202D */ daddu $a0, $s0, $zero +/* A8CE4C 802403CC 0C00EA95 */ jal npc_move_heading +/* A8CE50 802403D0 AE06000C */ sw $a2, 0xc($s0) +/* A8CE54 802403D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A8CE58 802403D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8CE5C 802403DC 4406B000 */ mfc1 $a2, $f22 +/* A8CE60 802403E0 4407A000 */ mfc1 $a3, $f20 +/* A8CE64 802403E4 0C00A7B5 */ jal dist2D +/* A8CE68 802403E8 00000000 */ nop +/* A8CE6C 802403EC C6020018 */ lwc1 $f2, 0x18($s0) +/* A8CE70 802403F0 4602003E */ c.le.s $f0, $f2 +/* A8CE74 802403F4 00000000 */ nop +/* A8CE78 802403F8 4500002F */ bc1f .L802404B8 +/* A8CE7C 802403FC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A8CE80 80240400 24020002 */ addiu $v0, $zero, 2 +/* A8CE84 80240404 0C00A67F */ jal rand_int +/* A8CE88 80240408 AE420070 */ sw $v0, 0x70($s2) +/* A8CE8C 8024040C 3C035555 */ lui $v1, 0x5555 +/* A8CE90 80240410 34635556 */ ori $v1, $v1, 0x5556 +/* A8CE94 80240414 00430018 */ mult $v0, $v1 +/* A8CE98 80240418 000227C3 */ sra $a0, $v0, 0x1f +/* A8CE9C 8024041C 00004010 */ mfhi $t0 +/* A8CEA0 80240420 01042023 */ subu $a0, $t0, $a0 +/* A8CEA4 80240424 00041840 */ sll $v1, $a0, 1 +/* A8CEA8 80240428 00641821 */ addu $v1, $v1, $a0 +/* A8CEAC 8024042C 00431023 */ subu $v0, $v0, $v1 +/* A8CEB0 80240430 24430002 */ addiu $v1, $v0, 2 +/* A8CEB4 80240434 AE430074 */ sw $v1, 0x74($s2) +/* A8CEB8 80240438 8E62002C */ lw $v0, 0x2c($s3) +/* A8CEBC 8024043C 18400009 */ blez $v0, .L80240464 +/* A8CEC0 80240440 24020004 */ addiu $v0, $zero, 4 +/* A8CEC4 80240444 8E620004 */ lw $v0, 4($s3) +/* A8CEC8 80240448 18400006 */ blez $v0, .L80240464 +/* A8CECC 8024044C 24020004 */ addiu $v0, $zero, 4 +/* A8CED0 80240450 8E620008 */ lw $v0, 8($s3) +/* A8CED4 80240454 18400003 */ blez $v0, .L80240464 +/* A8CED8 80240458 24020004 */ addiu $v0, $zero, 4 +/* A8CEDC 8024045C 14600002 */ bnez $v1, .L80240468 +/* A8CEE0 80240460 00000000 */ nop +.L80240464: +/* A8CEE4 80240464 AE420070 */ sw $v0, 0x70($s2) +.L80240468: +/* A8CEE8 80240468 0C00A67F */ jal rand_int +/* A8CEEC 8024046C 24042710 */ addiu $a0, $zero, 0x2710 +/* A8CEF0 80240470 3C0351EB */ lui $v1, 0x51eb +/* A8CEF4 80240474 3463851F */ ori $v1, $v1, 0x851f +/* A8CEF8 80240478 00430018 */ mult $v0, $v1 +/* A8CEFC 8024047C 00021FC3 */ sra $v1, $v0, 0x1f +/* A8CF00 80240480 00004010 */ mfhi $t0 +/* A8CF04 80240484 00082143 */ sra $a0, $t0, 5 +/* A8CF08 80240488 00832023 */ subu $a0, $a0, $v1 +/* A8CF0C 8024048C 00041840 */ sll $v1, $a0, 1 +/* A8CF10 80240490 00641821 */ addu $v1, $v1, $a0 +/* A8CF14 80240494 000318C0 */ sll $v1, $v1, 3 +/* A8CF18 80240498 00641821 */ addu $v1, $v1, $a0 +/* A8CF1C 8024049C 00031880 */ sll $v1, $v1, 2 +/* A8CF20 802404A0 8E640004 */ lw $a0, 4($s3) +/* A8CF24 802404A4 00431023 */ subu $v0, $v0, $v1 +/* A8CF28 802404A8 0044102A */ slt $v0, $v0, $a0 +/* A8CF2C 802404AC 10400002 */ beqz $v0, .L802404B8 +/* A8CF30 802404B0 24020004 */ addiu $v0, $zero, 4 +.L802404B4: +/* A8CF34 802404B4 AE420070 */ sw $v0, 0x70($s2) +.L802404B8: +/* A8CF38 802404B8 8FBF0044 */ lw $ra, 0x44($sp) +/* A8CF3C 802404BC 8FB40040 */ lw $s4, 0x40($sp) +/* A8CF40 802404C0 8FB3003C */ lw $s3, 0x3c($sp) +/* A8CF44 802404C4 8FB20038 */ lw $s2, 0x38($sp) +/* A8CF48 802404C8 8FB10034 */ lw $s1, 0x34($sp) +/* A8CF4C 802404CC 8FB00030 */ lw $s0, 0x30($sp) +/* A8CF50 802404D0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A8CF54 802404D4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A8CF58 802404D8 03E00008 */ jr $ra +/* A8CF5C 802404DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802404E0.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802404E0.s new file mode 100644 index 0000000000..1edcb56230 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802404E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404E0 +/* A8CF60 802404E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A8CF64 802404E4 AFB3001C */ sw $s3, 0x1c($sp) +/* A8CF68 802404E8 0080982D */ daddu $s3, $a0, $zero +/* A8CF6C 802404EC AFBF0020 */ sw $ra, 0x20($sp) +/* A8CF70 802404F0 AFB20018 */ sw $s2, 0x18($sp) +/* A8CF74 802404F4 AFB10014 */ sw $s1, 0x14($sp) +/* A8CF78 802404F8 AFB00010 */ sw $s0, 0x10($sp) +/* A8CF7C 802404FC 8E720148 */ lw $s2, 0x148($s3) +/* A8CF80 80240500 86440008 */ lh $a0, 8($s2) +/* A8CF84 80240504 0C00EABB */ jal get_npc_unsafe +/* A8CF88 80240508 00A0882D */ daddu $s1, $a1, $zero +/* A8CF8C 8024050C 8E240008 */ lw $a0, 8($s1) +/* A8CF90 80240510 0040802D */ daddu $s0, $v0, $zero +/* A8CF94 80240514 00041FC2 */ srl $v1, $a0, 0x1f +/* A8CF98 80240518 00832021 */ addu $a0, $a0, $v1 +/* A8CF9C 8024051C 00042043 */ sra $a0, $a0, 1 +/* A8CFA0 80240520 0C00A67F */ jal rand_int +/* A8CFA4 80240524 24840001 */ addiu $a0, $a0, 1 +/* A8CFA8 80240528 8E230008 */ lw $v1, 8($s1) +/* A8CFAC 8024052C 240400B4 */ addiu $a0, $zero, 0xb4 +/* A8CFB0 80240530 00032FC2 */ srl $a1, $v1, 0x1f +/* A8CFB4 80240534 00651821 */ addu $v1, $v1, $a1 +/* A8CFB8 80240538 00031843 */ sra $v1, $v1, 1 +/* A8CFBC 8024053C 00621821 */ addu $v1, $v1, $v0 +/* A8CFC0 80240540 0C00A67F */ jal rand_int +/* A8CFC4 80240544 A603008E */ sh $v1, 0x8e($s0) +/* A8CFC8 80240548 C60C000C */ lwc1 $f12, 0xc($s0) +/* A8CFCC 8024054C 44820000 */ mtc1 $v0, $f0 +/* A8CFD0 80240550 00000000 */ nop +/* A8CFD4 80240554 46800020 */ cvt.s.w $f0, $f0 +/* A8CFD8 80240558 46006300 */ add.s $f12, $f12, $f0 +/* A8CFDC 8024055C 3C0142B4 */ lui $at, 0x42b4 +/* A8CFE0 80240560 44810000 */ mtc1 $at, $f0 +/* A8CFE4 80240564 0C00A6C9 */ jal clamp_angle +/* A8CFE8 80240568 46006301 */ sub.s $f12, $f12, $f0 +/* A8CFEC 8024056C E600000C */ swc1 $f0, 0xc($s0) +/* A8CFF0 80240570 8E4200CC */ lw $v0, 0xcc($s2) +/* A8CFF4 80240574 8C420000 */ lw $v0, ($v0) +/* A8CFF8 80240578 AE020028 */ sw $v0, 0x28($s0) +/* A8CFFC 8024057C 24020003 */ addiu $v0, $zero, 3 +/* A8D000 80240580 AE620070 */ sw $v0, 0x70($s3) +/* A8D004 80240584 8FBF0020 */ lw $ra, 0x20($sp) +/* A8D008 80240588 8FB3001C */ lw $s3, 0x1c($sp) +/* A8D00C 8024058C 8FB20018 */ lw $s2, 0x18($sp) +/* A8D010 80240590 8FB10014 */ lw $s1, 0x14($sp) +/* A8D014 80240594 8FB00010 */ lw $s0, 0x10($sp) +/* A8D018 80240598 03E00008 */ jr $ra +/* A8D01C 8024059C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802405A0_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802405A0_A8CA80.s new file mode 100644 index 0000000000..8c34132323 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802405A0_A8CA80.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A0_A8D020 +/* A8D020 802405A0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A8D024 802405A4 AFB40040 */ sw $s4, 0x40($sp) +/* A8D028 802405A8 0080A02D */ daddu $s4, $a0, $zero +/* A8D02C 802405AC AFBF0044 */ sw $ra, 0x44($sp) +/* A8D030 802405B0 AFB3003C */ sw $s3, 0x3c($sp) +/* A8D034 802405B4 AFB20038 */ sw $s2, 0x38($sp) +/* A8D038 802405B8 AFB10034 */ sw $s1, 0x34($sp) +/* A8D03C 802405BC AFB00030 */ sw $s0, 0x30($sp) +/* A8D040 802405C0 8E910148 */ lw $s1, 0x148($s4) +/* A8D044 802405C4 00A0902D */ daddu $s2, $a1, $zero +/* A8D048 802405C8 86240008 */ lh $a0, 8($s1) +/* A8D04C 802405CC 0C00EABB */ jal get_npc_unsafe +/* A8D050 802405D0 00C0982D */ daddu $s3, $a2, $zero +/* A8D054 802405D4 8E430014 */ lw $v1, 0x14($s2) +/* A8D058 802405D8 04600031 */ bltz $v1, .L802406A0 +/* A8D05C 802405DC 0040802D */ daddu $s0, $v0, $zero +/* A8D060 802405E0 0260202D */ daddu $a0, $s3, $zero +/* A8D064 802405E4 AFA00010 */ sw $zero, 0x10($sp) +/* A8D068 802405E8 8E460024 */ lw $a2, 0x24($s2) +/* A8D06C 802405EC 8E470028 */ lw $a3, 0x28($s2) +/* A8D070 802405F0 0C01242D */ jal func_800490B4 +/* A8D074 802405F4 0220282D */ daddu $a1, $s1, $zero +/* A8D078 802405F8 10400029 */ beqz $v0, .L802406A0 +/* A8D07C 802405FC 0000202D */ daddu $a0, $zero, $zero +/* A8D080 80240600 0200282D */ daddu $a1, $s0, $zero +/* A8D084 80240604 0000302D */ daddu $a2, $zero, $zero +/* A8D088 80240608 860300A8 */ lh $v1, 0xa8($s0) +/* A8D08C 8024060C 3C013F80 */ lui $at, 0x3f80 +/* A8D090 80240610 44810000 */ mtc1 $at, $f0 +/* A8D094 80240614 3C014000 */ lui $at, 0x4000 +/* A8D098 80240618 44811000 */ mtc1 $at, $f2 +/* A8D09C 8024061C 3C01C1A0 */ lui $at, 0xc1a0 +/* A8D0A0 80240620 44812000 */ mtc1 $at, $f4 +/* A8D0A4 80240624 2402000F */ addiu $v0, $zero, 0xf +/* A8D0A8 80240628 AFA2001C */ sw $v0, 0x1c($sp) +/* A8D0AC 8024062C 44833000 */ mtc1 $v1, $f6 +/* A8D0B0 80240630 00000000 */ nop +/* A8D0B4 80240634 468031A0 */ cvt.s.w $f6, $f6 +/* A8D0B8 80240638 44073000 */ mfc1 $a3, $f6 +/* A8D0BC 8024063C 27A20028 */ addiu $v0, $sp, 0x28 +/* A8D0C0 80240640 AFA20020 */ sw $v0, 0x20($sp) +/* A8D0C4 80240644 E7A00010 */ swc1 $f0, 0x10($sp) +/* A8D0C8 80240648 E7A20014 */ swc1 $f2, 0x14($sp) +/* A8D0CC 8024064C 0C01BFA4 */ jal fx_emote +/* A8D0D0 80240650 E7A40018 */ swc1 $f4, 0x18($sp) +/* A8D0D4 80240654 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A8D0D8 80240658 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A8D0DC 8024065C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A8D0E0 80240660 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8D0E4 80240664 8C460028 */ lw $a2, 0x28($v0) +/* A8D0E8 80240668 0C00A720 */ jal atan2 +/* A8D0EC 8024066C 8C470030 */ lw $a3, 0x30($v0) +/* A8D0F0 80240670 0200202D */ daddu $a0, $s0, $zero +/* A8D0F4 80240674 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A8D0F8 80240678 3C060020 */ lui $a2, 0x20 +/* A8D0FC 8024067C 0C012530 */ jal func_800494C0 +/* A8D100 80240680 E480000C */ swc1 $f0, 0xc($a0) +/* A8D104 80240684 8E220018 */ lw $v0, 0x18($s1) +/* A8D108 80240688 9442002A */ lhu $v0, 0x2a($v0) +/* A8D10C 8024068C 30420001 */ andi $v0, $v0, 1 +/* A8D110 80240690 14400029 */ bnez $v0, .L80240738 +/* A8D114 80240694 2402000A */ addiu $v0, $zero, 0xa +/* A8D118 80240698 080901CE */ j .L80240738 +/* A8D11C 8024069C 2402000C */ addiu $v0, $zero, 0xc +.L802406A0: +/* A8D120 802406A0 8602008C */ lh $v0, 0x8c($s0) +/* A8D124 802406A4 14400025 */ bnez $v0, .L8024073C +/* A8D128 802406A8 00000000 */ nop +/* A8D12C 802406AC 9602008E */ lhu $v0, 0x8e($s0) +/* A8D130 802406B0 2442FFFF */ addiu $v0, $v0, -1 +/* A8D134 802406B4 A602008E */ sh $v0, 0x8e($s0) +/* A8D138 802406B8 00021400 */ sll $v0, $v0, 0x10 +/* A8D13C 802406BC 1440001F */ bnez $v0, .L8024073C +/* A8D140 802406C0 00000000 */ nop +/* A8D144 802406C4 8E820074 */ lw $v0, 0x74($s4) +/* A8D148 802406C8 2442FFFF */ addiu $v0, $v0, -1 +/* A8D14C 802406CC 10400019 */ beqz $v0, .L80240734 +/* A8D150 802406D0 AE820074 */ sw $v0, 0x74($s4) +/* A8D154 802406D4 8E220018 */ lw $v0, 0x18($s1) +/* A8D158 802406D8 9442002A */ lhu $v0, 0x2a($v0) +/* A8D15C 802406DC 30420010 */ andi $v0, $v0, 0x10 +/* A8D160 802406E0 14400007 */ bnez $v0, .L80240700 +/* A8D164 802406E4 00000000 */ nop +/* A8D168 802406E8 C600000C */ lwc1 $f0, 0xc($s0) +/* A8D16C 802406EC 3C014334 */ lui $at, 0x4334 +/* A8D170 802406F0 44816000 */ mtc1 $at, $f12 +/* A8D174 802406F4 0C00A6C9 */ jal clamp_angle +/* A8D178 802406F8 460C0300 */ add.s $f12, $f0, $f12 +/* A8D17C 802406FC E600000C */ swc1 $f0, 0xc($s0) +.L80240700: +/* A8D180 80240700 8E440008 */ lw $a0, 8($s2) +/* A8D184 80240704 000417C2 */ srl $v0, $a0, 0x1f +/* A8D188 80240708 00822021 */ addu $a0, $a0, $v0 +/* A8D18C 8024070C 00042043 */ sra $a0, $a0, 1 +/* A8D190 80240710 0C00A67F */ jal rand_int +/* A8D194 80240714 24840001 */ addiu $a0, $a0, 1 +/* A8D198 80240718 8E430008 */ lw $v1, 8($s2) +/* A8D19C 8024071C 000327C2 */ srl $a0, $v1, 0x1f +/* A8D1A0 80240720 00641821 */ addu $v1, $v1, $a0 +/* A8D1A4 80240724 00031843 */ sra $v1, $v1, 1 +/* A8D1A8 80240728 00621821 */ addu $v1, $v1, $v0 +/* A8D1AC 8024072C 080901CF */ j .L8024073C +/* A8D1B0 80240730 A603008E */ sh $v1, 0x8e($s0) +.L80240734: +/* A8D1B4 80240734 24020004 */ addiu $v0, $zero, 4 +.L80240738: +/* A8D1B8 80240738 AE820070 */ sw $v0, 0x70($s4) +.L8024073C: +/* A8D1BC 8024073C 8FBF0044 */ lw $ra, 0x44($sp) +/* A8D1C0 80240740 8FB40040 */ lw $s4, 0x40($sp) +/* A8D1C4 80240744 8FB3003C */ lw $s3, 0x3c($sp) +/* A8D1C8 80240748 8FB20038 */ lw $s2, 0x38($sp) +/* A8D1CC 8024074C 8FB10034 */ lw $s1, 0x34($sp) +/* A8D1D0 80240750 8FB00030 */ lw $s0, 0x30($sp) +/* A8D1D4 80240754 03E00008 */ jr $ra +/* A8D1D8 80240758 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_8024075C_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024075C_A8CA80.s new file mode 100644 index 0000000000..b708c88021 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024075C_A8CA80.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024075C_A8D1DC +/* A8D1DC 8024075C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8D1E0 80240760 AFB10014 */ sw $s1, 0x14($sp) +/* A8D1E4 80240764 0080882D */ daddu $s1, $a0, $zero +/* A8D1E8 80240768 AFBF001C */ sw $ra, 0x1c($sp) +/* A8D1EC 8024076C AFB20018 */ sw $s2, 0x18($sp) +/* A8D1F0 80240770 AFB00010 */ sw $s0, 0x10($sp) +/* A8D1F4 80240774 8E300148 */ lw $s0, 0x148($s1) +/* A8D1F8 80240778 86040008 */ lh $a0, 8($s0) +/* A8D1FC 8024077C 0C00EABB */ jal get_npc_unsafe +/* A8D200 80240780 00A0902D */ daddu $s2, $a1, $zero +/* A8D204 80240784 8E230078 */ lw $v1, 0x78($s1) +/* A8D208 80240788 24630001 */ addiu $v1, $v1, 1 +/* A8D20C 8024078C AE230078 */ sw $v1, 0x78($s1) +/* A8D210 80240790 8E0400D0 */ lw $a0, 0xd0($s0) +/* A8D214 80240794 8C840000 */ lw $a0, ($a0) +/* A8D218 80240798 0064182A */ slt $v1, $v1, $a0 +/* A8D21C 8024079C 14600002 */ bnez $v1, .L802407A8 +/* A8D220 802407A0 0040282D */ daddu $a1, $v0, $zero +/* A8D224 802407A4 AE200078 */ sw $zero, 0x78($s1) +.L802407A8: +/* A8D228 802407A8 8E0200CC */ lw $v0, 0xcc($s0) +/* A8D22C 802407AC 8C420004 */ lw $v0, 4($v0) +/* A8D230 802407B0 ACA20028 */ sw $v0, 0x28($a1) +/* A8D234 802407B4 8E0200D0 */ lw $v0, 0xd0($s0) +/* A8D238 802407B8 8C42007C */ lw $v0, 0x7c($v0) +/* A8D23C 802407BC 04410004 */ bgez $v0, .L802407D0 +/* A8D240 802407C0 00000000 */ nop +/* A8D244 802407C4 C6400000 */ lwc1 $f0, ($s2) +/* A8D248 802407C8 080901FC */ j .L802407F0 +/* A8D24C 802407CC E4A00018 */ swc1 $f0, 0x18($a1) +.L802407D0: +/* A8D250 802407D0 3C018024 */ lui $at, 0x8024 +/* A8D254 802407D4 D4225A08 */ ldc1 $f2, 0x5a08($at) +/* A8D258 802407D8 44820000 */ mtc1 $v0, $f0 +/* A8D25C 802407DC 00000000 */ nop +/* A8D260 802407E0 46800021 */ cvt.d.w $f0, $f0 +/* A8D264 802407E4 46220003 */ div.d $f0, $f0, $f2 +/* A8D268 802407E8 46200020 */ cvt.s.d $f0, $f0 +/* A8D26C 802407EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802407F0: +/* A8D270 802407F0 24020001 */ addiu $v0, $zero, 1 +/* A8D274 802407F4 AE220070 */ sw $v0, 0x70($s1) +/* A8D278 802407F8 8FBF001C */ lw $ra, 0x1c($sp) +/* A8D27C 802407FC 8FB20018 */ lw $s2, 0x18($sp) +/* A8D280 80240800 8FB10014 */ lw $s1, 0x14($sp) +/* A8D284 80240804 8FB00010 */ lw $s0, 0x10($sp) +/* A8D288 80240808 03E00008 */ jr $ra +/* A8D28C 8024080C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240810_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240810_A8CA80.s new file mode 100644 index 0000000000..4ed38b4923 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240810_A8CA80.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240810_A8D290 +/* A8D290 80240810 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8D294 80240814 AFB10014 */ sw $s1, 0x14($sp) +/* A8D298 80240818 0080882D */ daddu $s1, $a0, $zero +/* A8D29C 8024081C AFBF0018 */ sw $ra, 0x18($sp) +/* A8D2A0 80240820 AFB00010 */ sw $s0, 0x10($sp) +/* A8D2A4 80240824 8E300148 */ lw $s0, 0x148($s1) +/* A8D2A8 80240828 0C00EABB */ jal get_npc_unsafe +/* A8D2AC 8024082C 86040008 */ lh $a0, 8($s0) +/* A8D2B0 80240830 8E0300CC */ lw $v1, 0xcc($s0) +/* A8D2B4 80240834 3C014120 */ lui $at, 0x4120 +/* A8D2B8 80240838 44812000 */ mtc1 $at, $f4 +/* A8D2BC 8024083C 3C014000 */ lui $at, 0x4000 +/* A8D2C0 80240840 44810000 */ mtc1 $at, $f0 +/* A8D2C4 80240844 C442003C */ lwc1 $f2, 0x3c($v0) +/* A8D2C8 80240848 8C640010 */ lw $a0, 0x10($v1) +/* A8D2CC 8024084C 8C430000 */ lw $v1, ($v0) +/* A8D2D0 80240850 E444001C */ swc1 $f4, 0x1c($v0) +/* A8D2D4 80240854 E4400014 */ swc1 $f0, 0x14($v0) +/* A8D2D8 80240858 E4420064 */ swc1 $f2, 0x64($v0) +/* A8D2DC 8024085C 34630800 */ ori $v1, $v1, 0x800 +/* A8D2E0 80240860 AC430000 */ sw $v1, ($v0) +/* A8D2E4 80240864 AC440028 */ sw $a0, 0x28($v0) +/* A8D2E8 80240868 2402000B */ addiu $v0, $zero, 0xb +/* A8D2EC 8024086C AE220070 */ sw $v0, 0x70($s1) +/* A8D2F0 80240870 8FBF0018 */ lw $ra, 0x18($sp) +/* A8D2F4 80240874 8FB10014 */ lw $s1, 0x14($sp) +/* A8D2F8 80240878 8FB00010 */ lw $s0, 0x10($sp) +/* A8D2FC 8024087C 03E00008 */ jr $ra +/* A8D300 80240880 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240884_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240884_A8CA80.s new file mode 100644 index 0000000000..4861aca27e --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240884_A8CA80.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240884_A8D304 +/* A8D304 80240884 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8D308 80240888 AFB00010 */ sw $s0, 0x10($sp) +/* A8D30C 8024088C 0080802D */ daddu $s0, $a0, $zero +/* A8D310 80240890 AFBF0014 */ sw $ra, 0x14($sp) +/* A8D314 80240894 8E020148 */ lw $v0, 0x148($s0) +/* A8D318 80240898 0C00EABB */ jal get_npc_unsafe +/* A8D31C 8024089C 84440008 */ lh $a0, 8($v0) +/* A8D320 802408A0 0040202D */ daddu $a0, $v0, $zero +/* A8D324 802408A4 C482003C */ lwc1 $f2, 0x3c($a0) +/* A8D328 802408A8 C480001C */ lwc1 $f0, 0x1c($a0) +/* A8D32C 802408AC 46001080 */ add.s $f2, $f2, $f0 +/* A8D330 802408B0 C4840014 */ lwc1 $f4, 0x14($a0) +/* A8D334 802408B4 46040001 */ sub.s $f0, $f0, $f4 +/* A8D338 802408B8 C4840064 */ lwc1 $f4, 0x64($a0) +/* A8D33C 802408BC 4602203C */ c.lt.s $f4, $f2 +/* A8D340 802408C0 E482003C */ swc1 $f2, 0x3c($a0) +/* A8D344 802408C4 45010009 */ bc1t .L802408EC +/* A8D348 802408C8 E480001C */ swc1 $f0, 0x1c($a0) +/* A8D34C 802408CC 8C820000 */ lw $v0, ($a0) +/* A8D350 802408D0 2403F7FF */ addiu $v1, $zero, -0x801 +/* A8D354 802408D4 E484003C */ swc1 $f4, 0x3c($a0) +/* A8D358 802408D8 AC80001C */ sw $zero, 0x1c($a0) +/* A8D35C 802408DC 00431024 */ and $v0, $v0, $v1 +/* A8D360 802408E0 AC820000 */ sw $v0, ($a0) +/* A8D364 802408E4 2402000C */ addiu $v0, $zero, 0xc +/* A8D368 802408E8 AE020070 */ sw $v0, 0x70($s0) +.L802408EC: +/* A8D36C 802408EC 8FBF0014 */ lw $ra, 0x14($sp) +/* A8D370 802408F0 8FB00010 */ lw $s0, 0x10($sp) +/* A8D374 802408F4 03E00008 */ jr $ra +/* A8D378 802408F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802408FC.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802408FC.s new file mode 100644 index 0000000000..7aacf18a30 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802408FC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408FC +/* A8D37C 802408FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A8D380 80240900 AFB3001C */ sw $s3, 0x1c($sp) +/* A8D384 80240904 0080982D */ daddu $s3, $a0, $zero +/* A8D388 80240908 AFBF0020 */ sw $ra, 0x20($sp) +/* A8D38C 8024090C AFB20018 */ sw $s2, 0x18($sp) +/* A8D390 80240910 AFB10014 */ sw $s1, 0x14($sp) +/* A8D394 80240914 AFB00010 */ sw $s0, 0x10($sp) +/* A8D398 80240918 F7B40028 */ sdc1 $f20, 0x28($sp) +/* A8D39C 8024091C 8E710148 */ lw $s1, 0x148($s3) +/* A8D3A0 80240920 86240008 */ lh $a0, 8($s1) +/* A8D3A4 80240924 0C00EABB */ jal get_npc_unsafe +/* A8D3A8 80240928 00A0802D */ daddu $s0, $a1, $zero +/* A8D3AC 8024092C 8E040020 */ lw $a0, 0x20($s0) +/* A8D3B0 80240930 0040902D */ daddu $s2, $v0, $zero +/* A8D3B4 80240934 00041FC2 */ srl $v1, $a0, 0x1f +/* A8D3B8 80240938 00832021 */ addu $a0, $a0, $v1 +/* A8D3BC 8024093C 00042043 */ sra $a0, $a0, 1 +/* A8D3C0 80240940 0C00A67F */ jal rand_int +/* A8D3C4 80240944 24840001 */ addiu $a0, $a0, 1 +/* A8D3C8 80240948 8E030020 */ lw $v1, 0x20($s0) +/* A8D3CC 8024094C C64C0038 */ lwc1 $f12, 0x38($s2) +/* A8D3D0 80240950 000327C2 */ srl $a0, $v1, 0x1f +/* A8D3D4 80240954 00641821 */ addu $v1, $v1, $a0 +/* A8D3D8 80240958 00031843 */ sra $v1, $v1, 1 +/* A8D3DC 8024095C 00621821 */ addu $v1, $v1, $v0 +/* A8D3E0 80240960 A643008E */ sh $v1, 0x8e($s2) +/* A8D3E4 80240964 8E2200CC */ lw $v0, 0xcc($s1) +/* A8D3E8 80240968 C64E0040 */ lwc1 $f14, 0x40($s2) +/* A8D3EC 8024096C 8C42000C */ lw $v0, 0xc($v0) +/* A8D3F0 80240970 AE420028 */ sw $v0, 0x28($s2) +/* A8D3F4 80240974 C6000018 */ lwc1 $f0, 0x18($s0) +/* A8D3F8 80240978 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A8D3FC 8024097C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A8D400 80240980 E6400018 */ swc1 $f0, 0x18($s2) +/* A8D404 80240984 8C460028 */ lw $a2, 0x28($v0) +/* A8D408 80240988 0C00A720 */ jal atan2 +/* A8D40C 8024098C 8C470030 */ lw $a3, 0x30($v0) +/* A8D410 80240990 46000506 */ mov.s $f20, $f0 +/* A8D414 80240994 C64C000C */ lwc1 $f12, 0xc($s2) +/* A8D418 80240998 0C00A70A */ jal get_clamped_angle_diff +/* A8D41C 8024099C 4600A386 */ mov.s $f14, $f20 +/* A8D420 802409A0 46000086 */ mov.s $f2, $f0 +/* A8D424 802409A4 8E02001C */ lw $v0, 0x1c($s0) +/* A8D428 802409A8 46001005 */ abs.s $f0, $f2 +/* A8D42C 802409AC 44822000 */ mtc1 $v0, $f4 +/* A8D430 802409B0 00000000 */ nop +/* A8D434 802409B4 46802120 */ cvt.s.w $f4, $f4 +/* A8D438 802409B8 4600203C */ c.lt.s $f4, $f0 +/* A8D43C 802409BC 00000000 */ nop +/* A8D440 802409C0 4500000D */ bc1f .L802409F8 +/* A8D444 802409C4 00000000 */ nop +/* A8D448 802409C8 44800000 */ mtc1 $zero, $f0 +/* A8D44C 802409CC C654000C */ lwc1 $f20, 0xc($s2) +/* A8D450 802409D0 4600103C */ c.lt.s $f2, $f0 +/* A8D454 802409D4 00000000 */ nop +/* A8D458 802409D8 45000006 */ bc1f .L802409F4 +/* A8D45C 802409DC 00021023 */ negu $v0, $v0 +/* A8D460 802409E0 44820000 */ mtc1 $v0, $f0 +/* A8D464 802409E4 00000000 */ nop +/* A8D468 802409E8 46800020 */ cvt.s.w $f0, $f0 +/* A8D46C 802409EC 0809027E */ j .L802409F8 +/* A8D470 802409F0 4600A500 */ add.s $f20, $f20, $f0 +.L802409F4: +/* A8D474 802409F4 4604A500 */ add.s $f20, $f20, $f4 +.L802409F8: +/* A8D478 802409F8 0C00A6C9 */ jal clamp_angle +/* A8D47C 802409FC 4600A306 */ mov.s $f12, $f20 +/* A8D480 80240A00 2402000D */ addiu $v0, $zero, 0xd +/* A8D484 80240A04 E640000C */ swc1 $f0, 0xc($s2) +/* A8D488 80240A08 AE620070 */ sw $v0, 0x70($s3) +/* A8D48C 80240A0C 8FBF0020 */ lw $ra, 0x20($sp) +/* A8D490 80240A10 8FB3001C */ lw $s3, 0x1c($sp) +/* A8D494 80240A14 8FB20018 */ lw $s2, 0x18($sp) +/* A8D498 80240A18 8FB10014 */ lw $s1, 0x14($sp) +/* A8D49C 80240A1C 8FB00010 */ lw $s0, 0x10($sp) +/* A8D4A0 80240A20 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A8D4A4 80240A24 03E00008 */ jr $ra +/* A8D4A8 80240A28 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240A2C.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240A2C.s new file mode 100644 index 0000000000..061eae9a39 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240A2C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A2C +/* A8D4AC 80240A2C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A8D4B0 80240A30 AFB3003C */ sw $s3, 0x3c($sp) +/* A8D4B4 80240A34 0080982D */ daddu $s3, $a0, $zero +/* A8D4B8 80240A38 AFBF0040 */ sw $ra, 0x40($sp) +/* A8D4BC 80240A3C AFB20038 */ sw $s2, 0x38($sp) +/* A8D4C0 80240A40 AFB10034 */ sw $s1, 0x34($sp) +/* A8D4C4 80240A44 AFB00030 */ sw $s0, 0x30($sp) +/* A8D4C8 80240A48 8E720148 */ lw $s2, 0x148($s3) +/* A8D4CC 80240A4C 00A0882D */ daddu $s1, $a1, $zero +/* A8D4D0 80240A50 86440008 */ lh $a0, 8($s2) +/* A8D4D4 80240A54 0C00EABB */ jal get_npc_unsafe +/* A8D4D8 80240A58 00C0802D */ daddu $s0, $a2, $zero +/* A8D4DC 80240A5C 0200202D */ daddu $a0, $s0, $zero +/* A8D4E0 80240A60 0240282D */ daddu $a1, $s2, $zero +/* A8D4E4 80240A64 24030001 */ addiu $v1, $zero, 1 +/* A8D4E8 80240A68 AFA30010 */ sw $v1, 0x10($sp) +/* A8D4EC 80240A6C 8E260024 */ lw $a2, 0x24($s1) +/* A8D4F0 80240A70 8E270028 */ lw $a3, 0x28($s1) +/* A8D4F4 80240A74 0C01242D */ jal func_800490B4 +/* A8D4F8 80240A78 0040802D */ daddu $s0, $v0, $zero +/* A8D4FC 80240A7C 1440001E */ bnez $v0, .L80240AF8 +/* A8D500 80240A80 0200202D */ daddu $a0, $s0, $zero +/* A8D504 80240A84 24040002 */ addiu $a0, $zero, 2 +/* A8D508 80240A88 0200282D */ daddu $a1, $s0, $zero +/* A8D50C 80240A8C 0000302D */ daddu $a2, $zero, $zero +/* A8D510 80240A90 860300A8 */ lh $v1, 0xa8($s0) +/* A8D514 80240A94 3C013F80 */ lui $at, 0x3f80 +/* A8D518 80240A98 44810000 */ mtc1 $at, $f0 +/* A8D51C 80240A9C 3C014000 */ lui $at, 0x4000 +/* A8D520 80240AA0 44811000 */ mtc1 $at, $f2 +/* A8D524 80240AA4 3C01C1A0 */ lui $at, 0xc1a0 +/* A8D528 80240AA8 44812000 */ mtc1 $at, $f4 +/* A8D52C 80240AAC 2402000F */ addiu $v0, $zero, 0xf +/* A8D530 80240AB0 AFA2001C */ sw $v0, 0x1c($sp) +/* A8D534 80240AB4 44833000 */ mtc1 $v1, $f6 +/* A8D538 80240AB8 00000000 */ nop +/* A8D53C 80240ABC 468031A0 */ cvt.s.w $f6, $f6 +/* A8D540 80240AC0 44073000 */ mfc1 $a3, $f6 +/* A8D544 80240AC4 27A20028 */ addiu $v0, $sp, 0x28 +/* A8D548 80240AC8 AFA20020 */ sw $v0, 0x20($sp) +/* A8D54C 80240ACC E7A00010 */ swc1 $f0, 0x10($sp) +/* A8D550 80240AD0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A8D554 80240AD4 0C01BFA4 */ jal fx_emote +/* A8D558 80240AD8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A8D55C 80240ADC 8E4200CC */ lw $v0, 0xcc($s2) +/* A8D560 80240AE0 8C430000 */ lw $v1, ($v0) +/* A8D564 80240AE4 24020019 */ addiu $v0, $zero, 0x19 +/* A8D568 80240AE8 A602008E */ sh $v0, 0x8e($s0) +/* A8D56C 80240AEC 2402000E */ addiu $v0, $zero, 0xe +/* A8D570 80240AF0 080902CB */ j .L80240B2C +/* A8D574 80240AF4 AE030028 */ sw $v1, 0x28($s0) +.L80240AF8: +/* A8D578 80240AF8 0C00F598 */ jal func_8003D660 +/* A8D57C 80240AFC 24050001 */ addiu $a1, $zero, 1 +/* A8D580 80240B00 8E050018 */ lw $a1, 0x18($s0) +/* A8D584 80240B04 8E06000C */ lw $a2, 0xc($s0) +/* A8D588 80240B08 0C00EA95 */ jal npc_move_heading +/* A8D58C 80240B0C 0200202D */ daddu $a0, $s0, $zero +/* A8D590 80240B10 8602008E */ lh $v0, 0x8e($s0) +/* A8D594 80240B14 9603008E */ lhu $v1, 0x8e($s0) +/* A8D598 80240B18 18400003 */ blez $v0, .L80240B28 +/* A8D59C 80240B1C 2462FFFF */ addiu $v0, $v1, -1 +/* A8D5A0 80240B20 080902CC */ j .L80240B30 +/* A8D5A4 80240B24 A602008E */ sh $v0, 0x8e($s0) +.L80240B28: +/* A8D5A8 80240B28 2402000C */ addiu $v0, $zero, 0xc +.L80240B2C: +/* A8D5AC 80240B2C AE620070 */ sw $v0, 0x70($s3) +.L80240B30: +/* A8D5B0 80240B30 8FBF0040 */ lw $ra, 0x40($sp) +/* A8D5B4 80240B34 8FB3003C */ lw $s3, 0x3c($sp) +/* A8D5B8 80240B38 8FB20038 */ lw $s2, 0x38($sp) +/* A8D5BC 80240B3C 8FB10034 */ lw $s1, 0x34($sp) +/* A8D5C0 80240B40 8FB00030 */ lw $s0, 0x30($sp) +/* A8D5C4 80240B44 03E00008 */ jr $ra +/* A8D5C8 80240B48 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240B4C_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240B4C_A8CA80.s new file mode 100644 index 0000000000..c074259ea3 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240B4C_A8CA80.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B4C_A8D5CC +/* A8D5CC 80240B4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8D5D0 80240B50 AFB10014 */ sw $s1, 0x14($sp) +/* A8D5D4 80240B54 0080882D */ daddu $s1, $a0, $zero +/* A8D5D8 80240B58 AFBF0018 */ sw $ra, 0x18($sp) +/* A8D5DC 80240B5C AFB00010 */ sw $s0, 0x10($sp) +/* A8D5E0 80240B60 8E300148 */ lw $s0, 0x148($s1) +/* A8D5E4 80240B64 0C00EABB */ jal get_npc_unsafe +/* A8D5E8 80240B68 86040008 */ lh $a0, 8($s0) +/* A8D5EC 80240B6C 9443008E */ lhu $v1, 0x8e($v0) +/* A8D5F0 80240B70 2463FFFF */ addiu $v1, $v1, -1 +/* A8D5F4 80240B74 A443008E */ sh $v1, 0x8e($v0) +/* A8D5F8 80240B78 00031C00 */ sll $v1, $v1, 0x10 +/* A8D5FC 80240B7C 14600008 */ bnez $v1, .L80240BA0 +/* A8D600 80240B80 00000000 */ nop +/* A8D604 80240B84 8E0200B0 */ lw $v0, 0xb0($s0) +/* A8D608 80240B88 30420080 */ andi $v0, $v0, 0x80 +/* A8D60C 80240B8C 10400003 */ beqz $v0, .L80240B9C +/* A8D610 80240B90 2402000F */ addiu $v0, $zero, 0xf +/* A8D614 80240B94 080902E8 */ j .L80240BA0 +/* A8D618 80240B98 AE220070 */ sw $v0, 0x70($s1) +.L80240B9C: +/* A8D61C 80240B9C AE200070 */ sw $zero, 0x70($s1) +.L80240BA0: +/* A8D620 80240BA0 8FBF0018 */ lw $ra, 0x18($sp) +/* A8D624 80240BA4 8FB10014 */ lw $s1, 0x14($sp) +/* A8D628 80240BA8 8FB00010 */ lw $s0, 0x10($sp) +/* A8D62C 80240BAC 03E00008 */ jr $ra +/* A8D630 80240BB0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240BB4_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240BB4_A8CA80.s new file mode 100644 index 0000000000..00c2326927 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240BB4_A8CA80.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB4_A8D634 +/* A8D634 80240BB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8D638 80240BB8 AFB10014 */ sw $s1, 0x14($sp) +/* A8D63C 80240BBC 0080882D */ daddu $s1, $a0, $zero +/* A8D640 80240BC0 AFBF001C */ sw $ra, 0x1c($sp) +/* A8D644 80240BC4 AFB20018 */ sw $s2, 0x18($sp) +/* A8D648 80240BC8 AFB00010 */ sw $s0, 0x10($sp) +/* A8D64C 80240BCC 8E300148 */ lw $s0, 0x148($s1) +/* A8D650 80240BD0 86040008 */ lh $a0, 8($s0) +/* A8D654 80240BD4 0C00EABB */ jal get_npc_unsafe +/* A8D658 80240BD8 00A0902D */ daddu $s2, $a1, $zero +/* A8D65C 80240BDC 8E0300D0 */ lw $v1, 0xd0($s0) +/* A8D660 80240BE0 8E240078 */ lw $a0, 0x78($s1) +/* A8D664 80240BE4 8C630000 */ lw $v1, ($v1) +/* A8D668 80240BE8 0083182A */ slt $v1, $a0, $v1 +/* A8D66C 80240BEC 10600013 */ beqz $v1, .L80240C3C +/* A8D670 80240BF0 0040302D */ daddu $a2, $v0, $zero +/* A8D674 80240BF4 00041040 */ sll $v0, $a0, 1 +/* A8D678 80240BF8 00441021 */ addu $v0, $v0, $a0 +/* A8D67C 80240BFC 00022880 */ sll $a1, $v0, 2 +.L80240C00: +/* A8D680 80240C00 8E0300D0 */ lw $v1, 0xd0($s0) +/* A8D684 80240C04 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* A8D688 80240C08 00A31021 */ addu $v0, $a1, $v1 +/* A8D68C 80240C0C C4400008 */ lwc1 $f0, 8($v0) +/* A8D690 80240C10 46800020 */ cvt.s.w $f0, $f0 +/* A8D694 80240C14 4602003E */ c.le.s $f0, $f2 +/* A8D698 80240C18 00000000 */ nop +/* A8D69C 80240C1C 45020003 */ bc1fl .L80240C2C +/* A8D6A0 80240C20 24840001 */ addiu $a0, $a0, 1 +/* A8D6A4 80240C24 0809030F */ j .L80240C3C +/* A8D6A8 80240C28 AE240078 */ sw $a0, 0x78($s1) +.L80240C2C: +/* A8D6AC 80240C2C 8C620000 */ lw $v0, ($v1) +/* A8D6B0 80240C30 0082102A */ slt $v0, $a0, $v0 +/* A8D6B4 80240C34 1440FFF2 */ bnez $v0, .L80240C00 +/* A8D6B8 80240C38 24A5000C */ addiu $a1, $a1, 0xc +.L80240C3C: +/* A8D6BC 80240C3C C6400000 */ lwc1 $f0, ($s2) +/* A8D6C0 80240C40 E4C00018 */ swc1 $f0, 0x18($a2) +/* A8D6C4 80240C44 8E0200CC */ lw $v0, 0xcc($s0) +/* A8D6C8 80240C48 8C420004 */ lw $v0, 4($v0) +/* A8D6CC 80240C4C ACC20028 */ sw $v0, 0x28($a2) +/* A8D6D0 80240C50 24020001 */ addiu $v0, $zero, 1 +/* A8D6D4 80240C54 AE200074 */ sw $zero, 0x74($s1) +/* A8D6D8 80240C58 AE220070 */ sw $v0, 0x70($s1) +/* A8D6DC 80240C5C 8FBF001C */ lw $ra, 0x1c($sp) +/* A8D6E0 80240C60 8FB20018 */ lw $s2, 0x18($sp) +/* A8D6E4 80240C64 8FB10014 */ lw $s1, 0x14($sp) +/* A8D6E8 80240C68 8FB00010 */ lw $s0, 0x10($sp) +/* A8D6EC 80240C6C 03E00008 */ jr $ra +/* A8D6F0 80240C70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240C74_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240C74_A8CA80.s new file mode 100644 index 0000000000..b067189e0c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240C74_A8CA80.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74_A8D6F4 +/* A8D6F4 80240C74 27BDFF98 */ addiu $sp, $sp, -0x68 +/* A8D6F8 80240C78 AFB40058 */ sw $s4, 0x58($sp) +/* A8D6FC 80240C7C 0080A02D */ daddu $s4, $a0, $zero +/* A8D700 80240C80 AFBF0060 */ sw $ra, 0x60($sp) +/* A8D704 80240C84 AFB5005C */ sw $s5, 0x5c($sp) +/* A8D708 80240C88 AFB30054 */ sw $s3, 0x54($sp) +/* A8D70C 80240C8C AFB20050 */ sw $s2, 0x50($sp) +/* A8D710 80240C90 AFB1004C */ sw $s1, 0x4c($sp) +/* A8D714 80240C94 AFB00048 */ sw $s0, 0x48($sp) +/* A8D718 80240C98 8E910148 */ lw $s1, 0x148($s4) +/* A8D71C 80240C9C 86240008 */ lh $a0, 8($s1) +/* A8D720 80240CA0 0C00EABB */ jal get_npc_unsafe +/* A8D724 80240CA4 00A0802D */ daddu $s0, $a1, $zero +/* A8D728 80240CA8 8E83000C */ lw $v1, 0xc($s4) +/* A8D72C 80240CAC 0280202D */ daddu $a0, $s4, $zero +/* A8D730 80240CB0 8C650000 */ lw $a1, ($v1) +/* A8D734 80240CB4 0C0B1EAF */ jal get_variable +/* A8D738 80240CB8 0040902D */ daddu $s2, $v0, $zero +/* A8D73C 80240CBC AFA00018 */ sw $zero, 0x18($sp) +/* A8D740 80240CC0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8D744 80240CC4 8C630094 */ lw $v1, 0x94($v1) +/* A8D748 80240CC8 AFA3001C */ sw $v1, 0x1c($sp) +/* A8D74C 80240CCC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8D750 80240CD0 8C630080 */ lw $v1, 0x80($v1) +/* A8D754 80240CD4 AFA30020 */ sw $v1, 0x20($sp) +/* A8D758 80240CD8 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8D75C 80240CDC 8C630088 */ lw $v1, 0x88($v1) +/* A8D760 80240CE0 AFA30024 */ sw $v1, 0x24($sp) +/* A8D764 80240CE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8D768 80240CE8 8C63008C */ lw $v1, 0x8c($v1) +/* A8D76C 80240CEC 27B50018 */ addiu $s5, $sp, 0x18 +/* A8D770 80240CF0 AFA30028 */ sw $v1, 0x28($sp) +/* A8D774 80240CF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8D778 80240CF8 3C014282 */ lui $at, 0x4282 +/* A8D77C 80240CFC 44810000 */ mtc1 $at, $f0 +/* A8D780 80240D00 8C630090 */ lw $v1, 0x90($v1) +/* A8D784 80240D04 0040982D */ daddu $s3, $v0, $zero +/* A8D788 80240D08 E7A00030 */ swc1 $f0, 0x30($sp) +/* A8D78C 80240D0C A7A00034 */ sh $zero, 0x34($sp) +/* A8D790 80240D10 16000005 */ bnez $s0, .L80240D28 +/* A8D794 80240D14 AFA3002C */ sw $v1, 0x2c($sp) +/* A8D798 80240D18 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8D79C 80240D1C 30420004 */ andi $v0, $v0, 4 +/* A8D7A0 80240D20 10400044 */ beqz $v0, .L80240E34 +/* A8D7A4 80240D24 00000000 */ nop +.L80240D28: +/* A8D7A8 80240D28 2404F7FF */ addiu $a0, $zero, -0x801 +/* A8D7AC 80240D2C AE800070 */ sw $zero, 0x70($s4) +/* A8D7B0 80240D30 A640008E */ sh $zero, 0x8e($s2) +/* A8D7B4 80240D34 8E2200CC */ lw $v0, 0xcc($s1) +/* A8D7B8 80240D38 8E430000 */ lw $v1, ($s2) +/* A8D7BC 80240D3C 8C420000 */ lw $v0, ($v0) +/* A8D7C0 80240D40 00641824 */ and $v1, $v1, $a0 +/* A8D7C4 80240D44 AE430000 */ sw $v1, ($s2) +/* A8D7C8 80240D48 AE420028 */ sw $v0, 0x28($s2) +/* A8D7CC 80240D4C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A8D7D0 80240D50 8C420098 */ lw $v0, 0x98($v0) +/* A8D7D4 80240D54 54400005 */ bnel $v0, $zero, .L80240D6C +/* A8D7D8 80240D58 2402FDFF */ addiu $v0, $zero, -0x201 +/* A8D7DC 80240D5C 34620200 */ ori $v0, $v1, 0x200 +/* A8D7E0 80240D60 2403FFF7 */ addiu $v1, $zero, -9 +/* A8D7E4 80240D64 0809035D */ j .L80240D74 +/* A8D7E8 80240D68 00431024 */ and $v0, $v0, $v1 +.L80240D6C: +/* A8D7EC 80240D6C 00621024 */ and $v0, $v1, $v0 +/* A8D7F0 80240D70 34420008 */ ori $v0, $v0, 8 +.L80240D74: +/* A8D7F4 80240D74 AE420000 */ sw $v0, ($s2) +/* A8D7F8 80240D78 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8D7FC 80240D7C 30420004 */ andi $v0, $v0, 4 +/* A8D800 80240D80 10400008 */ beqz $v0, .L80240DA4 +/* A8D804 80240D84 24020063 */ addiu $v0, $zero, 0x63 +/* A8D808 80240D88 AE820070 */ sw $v0, 0x70($s4) +/* A8D80C 80240D8C AE800074 */ sw $zero, 0x74($s4) +/* A8D810 80240D90 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8D814 80240D94 2403FFFB */ addiu $v1, $zero, -5 +/* A8D818 80240D98 00431024 */ and $v0, $v0, $v1 +/* A8D81C 80240D9C 08090374 */ j .L80240DD0 +/* A8D820 80240DA0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240DA4: +/* A8D824 80240DA4 8E220000 */ lw $v0, ($s1) +/* A8D828 80240DA8 3C034000 */ lui $v1, 0x4000 +/* A8D82C 80240DAC 00431024 */ and $v0, $v0, $v1 +/* A8D830 80240DB0 10400007 */ beqz $v0, .L80240DD0 +/* A8D834 80240DB4 3C03BFFF */ lui $v1, 0xbfff +/* A8D838 80240DB8 2402000C */ addiu $v0, $zero, 0xc +/* A8D83C 80240DBC AE820070 */ sw $v0, 0x70($s4) +/* A8D840 80240DC0 8E220000 */ lw $v0, ($s1) +/* A8D844 80240DC4 3463FFFF */ ori $v1, $v1, 0xffff +/* A8D848 80240DC8 00431024 */ and $v0, $v0, $v1 +/* A8D84C 80240DCC AE220000 */ sw $v0, ($s1) +.L80240DD0: +/* A8D850 80240DD0 27A50038 */ addiu $a1, $sp, 0x38 +/* A8D854 80240DD4 27A6003C */ addiu $a2, $sp, 0x3c +/* A8D858 80240DD8 C6400038 */ lwc1 $f0, 0x38($s2) +/* A8D85C 80240DDC 864200A8 */ lh $v0, 0xa8($s2) +/* A8D860 80240DE0 3C0142C8 */ lui $at, 0x42c8 +/* A8D864 80240DE4 44812000 */ mtc1 $at, $f4 +/* A8D868 80240DE8 44823000 */ mtc1 $v0, $f6 +/* A8D86C 80240DEC 00000000 */ nop +/* A8D870 80240DF0 468031A0 */ cvt.s.w $f6, $f6 +/* A8D874 80240DF4 27A20044 */ addiu $v0, $sp, 0x44 +/* A8D878 80240DF8 E7A00038 */ swc1 $f0, 0x38($sp) +/* A8D87C 80240DFC C640003C */ lwc1 $f0, 0x3c($s2) +/* A8D880 80240E00 C6420040 */ lwc1 $f2, 0x40($s2) +/* A8D884 80240E04 46060000 */ add.s $f0, $f0, $f6 +/* A8D888 80240E08 E7A40044 */ swc1 $f4, 0x44($sp) +/* A8D88C 80240E0C E7A20040 */ swc1 $f2, 0x40($sp) +/* A8D890 80240E10 E7A0003C */ swc1 $f0, 0x3c($sp) +/* A8D894 80240E14 AFA20010 */ sw $v0, 0x10($sp) +/* A8D898 80240E18 8E440080 */ lw $a0, 0x80($s2) +/* A8D89C 80240E1C 0C0372DF */ jal func_800DCB7C +/* A8D8A0 80240E20 27A70040 */ addiu $a3, $sp, 0x40 +/* A8D8A4 80240E24 10400003 */ beqz $v0, .L80240E34 +/* A8D8A8 80240E28 00000000 */ nop +/* A8D8AC 80240E2C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* A8D8B0 80240E30 E640003C */ swc1 $f0, 0x3c($s2) +.L80240E34: +/* A8D8B4 80240E34 8E830070 */ lw $v1, 0x70($s4) +/* A8D8B8 80240E38 2C620064 */ sltiu $v0, $v1, 0x64 +/* A8D8BC 80240E3C 10400042 */ beqz $v0, .L80240F48 +/* A8D8C0 80240E40 00031080 */ sll $v0, $v1, 2 +/* A8D8C4 80240E44 3C018024 */ lui $at, 0x8024 +/* A8D8C8 80240E48 00220821 */ addu $at, $at, $v0 +/* A8D8CC 80240E4C 8C225A10 */ lw $v0, 0x5a10($at) +/* A8D8D0 80240E50 00400008 */ jr $v0 +/* A8D8D4 80240E54 00000000 */ nop +/* A8D8D8 80240E58 0280202D */ daddu $a0, $s4, $zero +/* A8D8DC 80240E5C 0260282D */ daddu $a1, $s3, $zero +/* A8D8E0 80240E60 0C090038 */ jal func_802400E0 +/* A8D8E4 80240E64 02A0302D */ daddu $a2, $s5, $zero +/* A8D8E8 80240E68 0280202D */ daddu $a0, $s4, $zero +/* A8D8EC 80240E6C 0260282D */ daddu $a1, $s3, $zero +/* A8D8F0 80240E70 0C09008E */ jal func_80240238 +/* A8D8F4 80240E74 02A0302D */ daddu $a2, $s5, $zero +/* A8D8F8 80240E78 080903D2 */ j .L80240F48 +/* A8D8FC 80240E7C 00000000 */ nop +/* A8D900 80240E80 0280202D */ daddu $a0, $s4, $zero +/* A8D904 80240E84 0260282D */ daddu $a1, $s3, $zero +/* A8D908 80240E88 0C090138 */ jal func_802404E0 +/* A8D90C 80240E8C 02A0302D */ daddu $a2, $s5, $zero +/* A8D910 80240E90 0280202D */ daddu $a0, $s4, $zero +/* A8D914 80240E94 0260282D */ daddu $a1, $s3, $zero +/* A8D918 80240E98 0C090168 */ jal func_802405A0 +/* A8D91C 80240E9C 02A0302D */ daddu $a2, $s5, $zero +/* A8D920 80240EA0 080903D2 */ j .L80240F48 +/* A8D924 80240EA4 00000000 */ nop +/* A8D928 80240EA8 0280202D */ daddu $a0, $s4, $zero +/* A8D92C 80240EAC 0260282D */ daddu $a1, $s3, $zero +/* A8D930 80240EB0 0C0901D7 */ jal func_8024075C +/* A8D934 80240EB4 02A0302D */ daddu $a2, $s5, $zero +/* A8D938 80240EB8 080903D2 */ j .L80240F48 +/* A8D93C 80240EBC 00000000 */ nop +/* A8D940 80240EC0 0280202D */ daddu $a0, $s4, $zero +/* A8D944 80240EC4 0260282D */ daddu $a1, $s3, $zero +/* A8D948 80240EC8 0C090204 */ jal func_80240810 +/* A8D94C 80240ECC 02A0302D */ daddu $a2, $s5, $zero +/* A8D950 80240ED0 0280202D */ daddu $a0, $s4, $zero +/* A8D954 80240ED4 0260282D */ daddu $a1, $s3, $zero +/* A8D958 80240ED8 0C090221 */ jal func_80240884 +/* A8D95C 80240EDC 02A0302D */ daddu $a2, $s5, $zero +/* A8D960 80240EE0 080903D2 */ j .L80240F48 +/* A8D964 80240EE4 00000000 */ nop +/* A8D968 80240EE8 0280202D */ daddu $a0, $s4, $zero +/* A8D96C 80240EEC 0260282D */ daddu $a1, $s3, $zero +/* A8D970 80240EF0 0C09023F */ jal func_802408FC +/* A8D974 80240EF4 02A0302D */ daddu $a2, $s5, $zero +/* A8D978 80240EF8 0280202D */ daddu $a0, $s4, $zero +/* A8D97C 80240EFC 0260282D */ daddu $a1, $s3, $zero +/* A8D980 80240F00 0C09028B */ jal func_80240A2C +/* A8D984 80240F04 02A0302D */ daddu $a2, $s5, $zero +/* A8D988 80240F08 080903D2 */ j .L80240F48 +/* A8D98C 80240F0C 00000000 */ nop +/* A8D990 80240F10 0280202D */ daddu $a0, $s4, $zero +/* A8D994 80240F14 0260282D */ daddu $a1, $s3, $zero +/* A8D998 80240F18 0C0902D3 */ jal func_80240B4C +/* A8D99C 80240F1C 02A0302D */ daddu $a2, $s5, $zero +/* A8D9A0 80240F20 080903D2 */ j .L80240F48 +/* A8D9A4 80240F24 00000000 */ nop +/* A8D9A8 80240F28 0280202D */ daddu $a0, $s4, $zero +/* A8D9AC 80240F2C 0260282D */ daddu $a1, $s3, $zero +/* A8D9B0 80240F30 0C0902ED */ jal func_80240BB4 +/* A8D9B4 80240F34 02A0302D */ daddu $a2, $s5, $zero +/* A8D9B8 80240F38 080903D2 */ j .L80240F48 +/* A8D9BC 80240F3C 00000000 */ nop +/* A8D9C0 80240F40 0C0129CF */ jal func_8004A73C +/* A8D9C4 80240F44 0280202D */ daddu $a0, $s4, $zero +.L80240F48: +/* A8D9C8 80240F48 8FBF0060 */ lw $ra, 0x60($sp) +/* A8D9CC 80240F4C 8FB5005C */ lw $s5, 0x5c($sp) +/* A8D9D0 80240F50 8FB40058 */ lw $s4, 0x58($sp) +/* A8D9D4 80240F54 8FB30054 */ lw $s3, 0x54($sp) +/* A8D9D8 80240F58 8FB20050 */ lw $s2, 0x50($sp) +/* A8D9DC 80240F5C 8FB1004C */ lw $s1, 0x4c($sp) +/* A8D9E0 80240F60 8FB00048 */ lw $s0, 0x48($sp) +/* A8D9E4 80240F64 0000102D */ daddu $v0, $zero, $zero +/* A8D9E8 80240F68 03E00008 */ jr $ra +/* A8D9EC 80240F6C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240F70_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240F70_A8CA80.s new file mode 100644 index 0000000000..e35741ccca --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240F70_A8CA80.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F70_A8D9F0 +/* A8D9F0 80240F70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8D9F4 80240F74 AFB20018 */ sw $s2, 0x18($sp) +/* A8D9F8 80240F78 0080902D */ daddu $s2, $a0, $zero +/* A8D9FC 80240F7C AFBF001C */ sw $ra, 0x1c($sp) +/* A8DA00 80240F80 AFB10014 */ sw $s1, 0x14($sp) +/* A8DA04 80240F84 AFB00010 */ sw $s0, 0x10($sp) +/* A8DA08 80240F88 8E510148 */ lw $s1, 0x148($s2) +/* A8DA0C 80240F8C 0C00EABB */ jal get_npc_unsafe +/* A8DA10 80240F90 86240008 */ lh $a0, 8($s1) +/* A8DA14 80240F94 0040802D */ daddu $s0, $v0, $zero +/* A8DA18 80240F98 8E2300CC */ lw $v1, 0xcc($s1) +/* A8DA1C 80240F9C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A8DA20 80240FA0 8C630020 */ lw $v1, 0x20($v1) +/* A8DA24 80240FA4 AE030028 */ sw $v1, 0x28($s0) +/* A8DA28 80240FA8 96220076 */ lhu $v0, 0x76($s1) +/* A8DA2C 80240FAC A602008E */ sh $v0, 0x8e($s0) +/* A8DA30 80240FB0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A8DA34 80240FB4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A8DA38 80240FB8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8DA3C 80240FBC 8C460028 */ lw $a2, 0x28($v0) +/* A8DA40 80240FC0 0C00A720 */ jal atan2 +/* A8DA44 80240FC4 8C470030 */ lw $a3, 0x30($v0) +/* A8DA48 80240FC8 2402000D */ addiu $v0, $zero, 0xd +/* A8DA4C 80240FCC E600000C */ swc1 $f0, 0xc($s0) +/* A8DA50 80240FD0 AE420070 */ sw $v0, 0x70($s2) +/* A8DA54 80240FD4 8FBF001C */ lw $ra, 0x1c($sp) +/* A8DA58 80240FD8 8FB20018 */ lw $s2, 0x18($sp) +/* A8DA5C 80240FDC 8FB10014 */ lw $s1, 0x14($sp) +/* A8DA60 80240FE0 8FB00010 */ lw $s0, 0x10($sp) +/* A8DA64 80240FE4 03E00008 */ jr $ra +/* A8DA68 80240FE8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80240FEC_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240FEC_A8CA80.s new file mode 100644 index 0000000000..a68164b026 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80240FEC_A8CA80.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FEC_A8DA6C +/* A8DA6C 80240FEC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A8DA70 80240FF0 AFB3001C */ sw $s3, 0x1c($sp) +/* A8DA74 80240FF4 0080982D */ daddu $s3, $a0, $zero +/* A8DA78 80240FF8 AFBF0020 */ sw $ra, 0x20($sp) +/* A8DA7C 80240FFC AFB20018 */ sw $s2, 0x18($sp) +/* A8DA80 80241000 AFB10014 */ sw $s1, 0x14($sp) +/* A8DA84 80241004 AFB00010 */ sw $s0, 0x10($sp) +/* A8DA88 80241008 8E710148 */ lw $s1, 0x148($s3) +/* A8DA8C 8024100C 86240008 */ lh $a0, 8($s1) +/* A8DA90 80241010 0C00EABB */ jal get_npc_unsafe +/* A8DA94 80241014 00A0902D */ daddu $s2, $a1, $zero +/* A8DA98 80241018 0040802D */ daddu $s0, $v0, $zero +/* A8DA9C 8024101C 8602008E */ lh $v0, 0x8e($s0) +/* A8DAA0 80241020 9603008E */ lhu $v1, 0x8e($s0) +/* A8DAA4 80241024 18400005 */ blez $v0, .L8024103C +/* A8DAA8 80241028 2462FFFF */ addiu $v0, $v1, -1 +/* A8DAAC 8024102C A602008E */ sh $v0, 0x8e($s0) +/* A8DAB0 80241030 00021400 */ sll $v0, $v0, 0x10 +/* A8DAB4 80241034 1C400033 */ bgtz $v0, .L80241104 +/* A8DAB8 80241038 00000000 */ nop +.L8024103C: +/* A8DABC 8024103C 8602008C */ lh $v0, 0x8c($s0) +/* A8DAC0 80241040 14400030 */ bnez $v0, .L80241104 +/* A8DAC4 80241044 00000000 */ nop +/* A8DAC8 80241048 8E2200CC */ lw $v0, 0xcc($s1) +/* A8DACC 8024104C 8C420024 */ lw $v0, 0x24($v0) +/* A8DAD0 80241050 AE020028 */ sw $v0, 0x28($s0) +/* A8DAD4 80241054 C6400018 */ lwc1 $f0, 0x18($s2) +/* A8DAD8 80241058 E6000018 */ swc1 $f0, 0x18($s0) +/* A8DADC 8024105C 8E230088 */ lw $v1, 0x88($s1) +/* A8DAE0 80241060 24020005 */ addiu $v0, $zero, 5 +/* A8DAE4 80241064 10620005 */ beq $v1, $v0, .L8024107C +/* A8DAE8 80241068 00000000 */ nop +/* A8DAEC 8024106C 10600003 */ beqz $v1, .L8024107C +/* A8DAF0 80241070 24020001 */ addiu $v0, $zero, 1 +/* A8DAF4 80241074 14620006 */ bne $v1, $v0, .L80241090 +/* A8DAF8 80241078 00000000 */ nop +.L8024107C: +/* A8DAFC 8024107C 8E220084 */ lw $v0, 0x84($s1) +/* A8DB00 80241080 00021FC2 */ srl $v1, $v0, 0x1f +/* A8DB04 80241084 00431021 */ addu $v0, $v0, $v1 +/* A8DB08 80241088 00021043 */ sra $v0, $v0, 1 +/* A8DB0C 8024108C A60200A8 */ sh $v0, 0xa8($s0) +.L80241090: +/* A8DB10 80241090 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A8DB14 80241094 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A8DB18 80241098 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A8DB1C 8024109C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A8DB20 802410A0 8C460028 */ lw $a2, 0x28($v0) +/* A8DB24 802410A4 0C00A7B5 */ jal dist2D +/* A8DB28 802410A8 8C470030 */ lw $a3, 0x30($v0) +/* A8DB2C 802410AC C6020018 */ lwc1 $f2, 0x18($s0) +/* A8DB30 802410B0 46020003 */ div.s $f0, $f0, $f2 +/* A8DB34 802410B4 3C018024 */ lui $at, 0x8024 +/* A8DB38 802410B8 D4225BA0 */ ldc1 $f2, 0x5ba0($at) +/* A8DB3C 802410BC 46000021 */ cvt.d.s $f0, $f0 +/* A8DB40 802410C0 46220000 */ add.d $f0, $f0, $f2 +/* A8DB44 802410C4 4620010D */ trunc.w.d $f4, $f0 +/* A8DB48 802410C8 44022000 */ mfc1 $v0, $f4 +/* A8DB4C 802410CC 00000000 */ nop +/* A8DB50 802410D0 A602008E */ sh $v0, 0x8e($s0) +/* A8DB54 802410D4 00021400 */ sll $v0, $v0, 0x10 +/* A8DB58 802410D8 8E230078 */ lw $v1, 0x78($s1) +/* A8DB5C 802410DC 00021403 */ sra $v0, $v0, 0x10 +/* A8DB60 802410E0 0043102A */ slt $v0, $v0, $v1 +/* A8DB64 802410E4 10400003 */ beqz $v0, .L802410F4 +/* A8DB68 802410E8 00000000 */ nop +/* A8DB6C 802410EC 9622007A */ lhu $v0, 0x7a($s1) +/* A8DB70 802410F0 A602008E */ sh $v0, 0x8e($s0) +.L802410F4: +/* A8DB74 802410F4 8602008E */ lh $v0, 0x8e($s0) +/* A8DB78 802410F8 AE22007C */ sw $v0, 0x7c($s1) +/* A8DB7C 802410FC 2402000E */ addiu $v0, $zero, 0xe +/* A8DB80 80241100 AE620070 */ sw $v0, 0x70($s3) +.L80241104: +/* A8DB84 80241104 8FBF0020 */ lw $ra, 0x20($sp) +/* A8DB88 80241108 8FB3001C */ lw $s3, 0x1c($sp) +/* A8DB8C 8024110C 8FB20018 */ lw $s2, 0x18($sp) +/* A8DB90 80241110 8FB10014 */ lw $s1, 0x14($sp) +/* A8DB94 80241114 8FB00010 */ lw $s0, 0x10($sp) +/* A8DB98 80241118 03E00008 */ jr $ra +/* A8DB9C 8024111C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241120_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241120_A8CA80.s new file mode 100644 index 0000000000..14583d7da6 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241120_A8CA80.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241120_A8DBA0 +/* A8DBA0 80241120 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A8DBA4 80241124 AFB3003C */ sw $s3, 0x3c($sp) +/* A8DBA8 80241128 0080982D */ daddu $s3, $a0, $zero +/* A8DBAC 8024112C AFBF0040 */ sw $ra, 0x40($sp) +/* A8DBB0 80241130 AFB20038 */ sw $s2, 0x38($sp) +/* A8DBB4 80241134 AFB10034 */ sw $s1, 0x34($sp) +/* A8DBB8 80241138 AFB00030 */ sw $s0, 0x30($sp) +/* A8DBBC 8024113C 8E710148 */ lw $s1, 0x148($s3) +/* A8DBC0 80241140 0C00EABB */ jal get_npc_unsafe +/* A8DBC4 80241144 86240008 */ lh $a0, 8($s1) +/* A8DBC8 80241148 0040802D */ daddu $s0, $v0, $zero +/* A8DBCC 8024114C 8E22007C */ lw $v0, 0x7c($s1) +/* A8DBD0 80241150 8603008E */ lh $v1, 0x8e($s0) +/* A8DBD4 80241154 2442FFFF */ addiu $v0, $v0, -1 +/* A8DBD8 80241158 14620012 */ bne $v1, $v0, .L802411A4 +/* A8DBDC 8024115C 00000000 */ nop +/* A8DBE0 80241160 C6000038 */ lwc1 $f0, 0x38($s0) +/* A8DBE4 80241164 4600020D */ trunc.w.s $f8, $f0 +/* A8DBE8 80241168 44024000 */ mfc1 $v0, $f8 +/* A8DBEC 8024116C 00000000 */ nop +/* A8DBF0 80241170 A6220010 */ sh $v0, 0x10($s1) +/* A8DBF4 80241174 C600003C */ lwc1 $f0, 0x3c($s0) +/* A8DBF8 80241178 4600020D */ trunc.w.s $f8, $f0 +/* A8DBFC 8024117C 44024000 */ mfc1 $v0, $f8 +/* A8DC00 80241180 00000000 */ nop +/* A8DC04 80241184 A6220012 */ sh $v0, 0x12($s1) +/* A8DC08 80241188 C6000040 */ lwc1 $f0, 0x40($s0) +/* A8DC0C 8024118C 24020001 */ addiu $v0, $zero, 1 +/* A8DC10 80241190 A2220007 */ sb $v0, 7($s1) +/* A8DC14 80241194 4600020D */ trunc.w.s $f8, $f0 +/* A8DC18 80241198 44024000 */ mfc1 $v0, $f8 +/* A8DC1C 8024119C 00000000 */ nop +/* A8DC20 802411A0 A6220014 */ sh $v0, 0x14($s1) +.L802411A4: +/* A8DC24 802411A4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A8DC28 802411A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A8DC2C 802411AC C6040040 */ lwc1 $f4, 0x40($s0) +/* A8DC30 802411B0 C6060018 */ lwc1 $f6, 0x18($s0) +/* A8DC34 802411B4 E7A00020 */ swc1 $f0, 0x20($sp) +/* A8DC38 802411B8 E7A20024 */ swc1 $f2, 0x24($sp) +/* A8DC3C 802411BC E7A40028 */ swc1 $f4, 0x28($sp) +/* A8DC40 802411C0 E7A60010 */ swc1 $f6, 0x10($sp) +/* A8DC44 802411C4 C600000C */ lwc1 $f0, 0xc($s0) +/* A8DC48 802411C8 E7A00014 */ swc1 $f0, 0x14($sp) +/* A8DC4C 802411CC 860200A8 */ lh $v0, 0xa8($s0) +/* A8DC50 802411D0 27A50020 */ addiu $a1, $sp, 0x20 +/* A8DC54 802411D4 44820000 */ mtc1 $v0, $f0 +/* A8DC58 802411D8 00000000 */ nop +/* A8DC5C 802411DC 46800020 */ cvt.s.w $f0, $f0 +/* A8DC60 802411E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* A8DC64 802411E4 860200A6 */ lh $v0, 0xa6($s0) +/* A8DC68 802411E8 27A60024 */ addiu $a2, $sp, 0x24 +/* A8DC6C 802411EC 44820000 */ mtc1 $v0, $f0 +/* A8DC70 802411F0 00000000 */ nop +/* A8DC74 802411F4 46800020 */ cvt.s.w $f0, $f0 +/* A8DC78 802411F8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A8DC7C 802411FC 8E040080 */ lw $a0, 0x80($s0) +/* A8DC80 80241200 0C037711 */ jal func_800DDC44 +/* A8DC84 80241204 27A70028 */ addiu $a3, $sp, 0x28 +/* A8DC88 80241208 0040902D */ daddu $s2, $v0, $zero +/* A8DC8C 8024120C 16400005 */ bnez $s2, .L80241224 +/* A8DC90 80241210 00000000 */ nop +/* A8DC94 80241214 8E050018 */ lw $a1, 0x18($s0) +/* A8DC98 80241218 8E06000C */ lw $a2, 0xc($s0) +/* A8DC9C 8024121C 0C00EA95 */ jal npc_move_heading +/* A8DCA0 80241220 0200202D */ daddu $a0, $s0, $zero +.L80241224: +/* A8DCA4 80241224 8602008E */ lh $v0, 0x8e($s0) +/* A8DCA8 80241228 9603008E */ lhu $v1, 0x8e($s0) +/* A8DCAC 8024122C 18400007 */ blez $v0, .L8024124C +/* A8DCB0 80241230 2462FFFF */ addiu $v0, $v1, -1 +/* A8DCB4 80241234 A602008E */ sh $v0, 0x8e($s0) +/* A8DCB8 80241238 00021400 */ sll $v0, $v0, 0x10 +/* A8DCBC 8024123C 18400003 */ blez $v0, .L8024124C +/* A8DCC0 80241240 00000000 */ nop +/* A8DCC4 80241244 12400008 */ beqz $s2, .L80241268 +/* A8DCC8 80241248 00000000 */ nop +.L8024124C: +/* A8DCCC 8024124C 8E2200CC */ lw $v0, 0xcc($s1) +/* A8DCD0 80241250 A2200007 */ sb $zero, 7($s1) +/* A8DCD4 80241254 8C420028 */ lw $v0, 0x28($v0) +/* A8DCD8 80241258 A600008E */ sh $zero, 0x8e($s0) +/* A8DCDC 8024125C AE020028 */ sw $v0, 0x28($s0) +/* A8DCE0 80241260 2402000F */ addiu $v0, $zero, 0xf +/* A8DCE4 80241264 AE620070 */ sw $v0, 0x70($s3) +.L80241268: +/* A8DCE8 80241268 8FBF0040 */ lw $ra, 0x40($sp) +/* A8DCEC 8024126C 8FB3003C */ lw $s3, 0x3c($sp) +/* A8DCF0 80241270 8FB20038 */ lw $s2, 0x38($sp) +/* A8DCF4 80241274 8FB10034 */ lw $s1, 0x34($sp) +/* A8DCF8 80241278 8FB00030 */ lw $s0, 0x30($sp) +/* A8DCFC 8024127C 03E00008 */ jr $ra +/* A8DD00 80241280 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241284.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241284.s new file mode 100644 index 0000000000..cb9b15adbf --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241284.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241284 +/* A8DD04 80241284 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8DD08 80241288 AFB10014 */ sw $s1, 0x14($sp) +/* A8DD0C 8024128C 0080882D */ daddu $s1, $a0, $zero +/* A8DD10 80241290 AFBF0018 */ sw $ra, 0x18($sp) +/* A8DD14 80241294 AFB00010 */ sw $s0, 0x10($sp) +/* A8DD18 80241298 8E300148 */ lw $s0, 0x148($s1) +/* A8DD1C 8024129C 0C00EABB */ jal get_npc_unsafe +/* A8DD20 802412A0 86040008 */ lh $a0, 8($s0) +/* A8DD24 802412A4 0040202D */ daddu $a0, $v0, $zero +/* A8DD28 802412A8 9482008E */ lhu $v0, 0x8e($a0) +/* A8DD2C 802412AC 24030003 */ addiu $v1, $zero, 3 +/* A8DD30 802412B0 24420001 */ addiu $v0, $v0, 1 +/* A8DD34 802412B4 A482008E */ sh $v0, 0x8e($a0) +/* A8DD38 802412B8 00021400 */ sll $v0, $v0, 0x10 +/* A8DD3C 802412BC 00021403 */ sra $v0, $v0, 0x10 +/* A8DD40 802412C0 14430003 */ bne $v0, $v1, .L802412D0 +/* A8DD44 802412C4 00000000 */ nop +/* A8DD48 802412C8 96020086 */ lhu $v0, 0x86($s0) +/* A8DD4C 802412CC A48200A8 */ sh $v0, 0xa8($a0) +.L802412D0: +/* A8DD50 802412D0 8482008E */ lh $v0, 0x8e($a0) +/* A8DD54 802412D4 8E030080 */ lw $v1, 0x80($s0) +/* A8DD58 802412D8 0043102A */ slt $v0, $v0, $v1 +/* A8DD5C 802412DC 14400004 */ bnez $v0, .L802412F0 +/* A8DD60 802412E0 00000000 */ nop +/* A8DD64 802412E4 96020086 */ lhu $v0, 0x86($s0) +/* A8DD68 802412E8 A48200A8 */ sh $v0, 0xa8($a0) +/* A8DD6C 802412EC AE200070 */ sw $zero, 0x70($s1) +.L802412F0: +/* A8DD70 802412F0 8FBF0018 */ lw $ra, 0x18($sp) +/* A8DD74 802412F4 8FB10014 */ lw $s1, 0x14($sp) +/* A8DD78 802412F8 8FB00010 */ lw $s0, 0x10($sp) +/* A8DD7C 802412FC 03E00008 */ jr $ra +/* A8DD80 80241300 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241304.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241304.s new file mode 100644 index 0000000000..d8ce2ba910 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241304.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241304 +/* A8DD84 80241304 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A8DD88 80241308 AFB3005C */ sw $s3, 0x5c($sp) +/* A8DD8C 8024130C 0080982D */ daddu $s3, $a0, $zero +/* A8DD90 80241310 AFBF0068 */ sw $ra, 0x68($sp) +/* A8DD94 80241314 AFB50064 */ sw $s5, 0x64($sp) +/* A8DD98 80241318 AFB40060 */ sw $s4, 0x60($sp) +/* A8DD9C 8024131C AFB20058 */ sw $s2, 0x58($sp) +/* A8DDA0 80241320 AFB10054 */ sw $s1, 0x54($sp) +/* A8DDA4 80241324 AFB00050 */ sw $s0, 0x50($sp) +/* A8DDA8 80241328 8E710148 */ lw $s1, 0x148($s3) +/* A8DDAC 8024132C 86240008 */ lh $a0, 8($s1) +/* A8DDB0 80241330 0C00EABB */ jal get_npc_unsafe +/* A8DDB4 80241334 00A0802D */ daddu $s0, $a1, $zero +/* A8DDB8 80241338 8E63000C */ lw $v1, 0xc($s3) +/* A8DDBC 8024133C 0260202D */ daddu $a0, $s3, $zero +/* A8DDC0 80241340 8C650000 */ lw $a1, ($v1) +/* A8DDC4 80241344 0C0B1EAF */ jal get_variable +/* A8DDC8 80241348 0040902D */ daddu $s2, $v0, $zero +/* A8DDCC 8024134C AFA00028 */ sw $zero, 0x28($sp) +/* A8DDD0 80241350 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8DDD4 80241354 8C630094 */ lw $v1, 0x94($v1) +/* A8DDD8 80241358 AFA3002C */ sw $v1, 0x2c($sp) +/* A8DDDC 8024135C 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8DDE0 80241360 8C630080 */ lw $v1, 0x80($v1) +/* A8DDE4 80241364 AFA30030 */ sw $v1, 0x30($sp) +/* A8DDE8 80241368 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8DDEC 8024136C 8C630088 */ lw $v1, 0x88($v1) +/* A8DDF0 80241370 AFA30034 */ sw $v1, 0x34($sp) +/* A8DDF4 80241374 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8DDF8 80241378 8C63008C */ lw $v1, 0x8c($v1) +/* A8DDFC 8024137C 27B50028 */ addiu $s5, $sp, 0x28 +/* A8DE00 80241380 AFA30038 */ sw $v1, 0x38($sp) +/* A8DE04 80241384 8E2300D0 */ lw $v1, 0xd0($s1) +/* A8DE08 80241388 3C0142C8 */ lui $at, 0x42c8 +/* A8DE0C 8024138C 44810000 */ mtc1 $at, $f0 +/* A8DE10 80241390 8C630090 */ lw $v1, 0x90($v1) +/* A8DE14 80241394 0040A02D */ daddu $s4, $v0, $zero +/* A8DE18 80241398 E7A00040 */ swc1 $f0, 0x40($sp) +/* A8DE1C 8024139C A7A00044 */ sh $zero, 0x44($sp) +/* A8DE20 802413A0 12000007 */ beqz $s0, .L802413C0 +/* A8DE24 802413A4 AFA3003C */ sw $v1, 0x3c($sp) +/* A8DE28 802413A8 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8DE2C 802413AC 864300A8 */ lh $v1, 0xa8($s2) +/* A8DE30 802413B0 34420008 */ ori $v0, $v0, 8 +/* A8DE34 802413B4 AE230084 */ sw $v1, 0x84($s1) +/* A8DE38 802413B8 080904F4 */ j .L802413D0 +/* A8DE3C 802413BC AE2200B0 */ sw $v0, 0xb0($s1) +.L802413C0: +/* A8DE40 802413C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8DE44 802413C4 30420004 */ andi $v0, $v0, 4 +/* A8DE48 802413C8 10400048 */ beqz $v0, .L802414EC +/* A8DE4C 802413CC 00000000 */ nop +.L802413D0: +/* A8DE50 802413D0 A640008E */ sh $zero, 0x8e($s2) +/* A8DE54 802413D4 AE600070 */ sw $zero, 0x70($s3) +/* A8DE58 802413D8 8E2300CC */ lw $v1, 0xcc($s1) +/* A8DE5C 802413DC 2404F7FF */ addiu $a0, $zero, -0x801 +/* A8DE60 802413E0 A2200007 */ sb $zero, 7($s1) +/* A8DE64 802413E4 8E420000 */ lw $v0, ($s2) +/* A8DE68 802413E8 8C630000 */ lw $v1, ($v1) +/* A8DE6C 802413EC 00441024 */ and $v0, $v0, $a0 +/* A8DE70 802413F0 AE420000 */ sw $v0, ($s2) +/* A8DE74 802413F4 AE430028 */ sw $v1, 0x28($s2) +/* A8DE78 802413F8 96220086 */ lhu $v0, 0x86($s1) +/* A8DE7C 802413FC A64200A8 */ sh $v0, 0xa8($s2) +/* A8DE80 80241400 8E2200D0 */ lw $v0, 0xd0($s1) +/* A8DE84 80241404 A22000B5 */ sb $zero, 0xb5($s1) +/* A8DE88 80241408 AE20008C */ sw $zero, 0x8c($s1) +/* A8DE8C 8024140C 8C420098 */ lw $v0, 0x98($v0) +/* A8DE90 80241410 14400006 */ bnez $v0, .L8024142C +/* A8DE94 80241414 2403FDFF */ addiu $v1, $zero, -0x201 +/* A8DE98 80241418 8E420000 */ lw $v0, ($s2) +/* A8DE9C 8024141C 2403FFF7 */ addiu $v1, $zero, -9 +/* A8DEA0 80241420 34420200 */ ori $v0, $v0, 0x200 +/* A8DEA4 80241424 0809050E */ j .L80241438 +/* A8DEA8 80241428 00431024 */ and $v0, $v0, $v1 +.L8024142C: +/* A8DEAC 8024142C 8E420000 */ lw $v0, ($s2) +/* A8DEB0 80241430 00431024 */ and $v0, $v0, $v1 +/* A8DEB4 80241434 34420008 */ ori $v0, $v0, 8 +.L80241438: +/* A8DEB8 80241438 AE420000 */ sw $v0, ($s2) +/* A8DEBC 8024143C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8DEC0 80241440 30420004 */ andi $v0, $v0, 4 +/* A8DEC4 80241444 1040001E */ beqz $v0, .L802414C0 +/* A8DEC8 80241448 24040002 */ addiu $a0, $zero, 2 +/* A8DECC 8024144C 0240282D */ daddu $a1, $s2, $zero +/* A8DED0 80241450 0000302D */ daddu $a2, $zero, $zero +/* A8DED4 80241454 24020063 */ addiu $v0, $zero, 0x63 +/* A8DED8 80241458 AE620070 */ sw $v0, 0x70($s3) +/* A8DEDC 8024145C AE600074 */ sw $zero, 0x74($s3) +/* A8DEE0 80241460 864300A8 */ lh $v1, 0xa8($s2) +/* A8DEE4 80241464 3C013F80 */ lui $at, 0x3f80 +/* A8DEE8 80241468 44810000 */ mtc1 $at, $f0 +/* A8DEEC 8024146C 3C014000 */ lui $at, 0x4000 +/* A8DEF0 80241470 44811000 */ mtc1 $at, $f2 +/* A8DEF4 80241474 3C01C1A0 */ lui $at, 0xc1a0 +/* A8DEF8 80241478 44812000 */ mtc1 $at, $f4 +/* A8DEFC 8024147C 24020028 */ addiu $v0, $zero, 0x28 +/* A8DF00 80241480 AFA2001C */ sw $v0, 0x1c($sp) +/* A8DF04 80241484 44833000 */ mtc1 $v1, $f6 +/* A8DF08 80241488 00000000 */ nop +/* A8DF0C 8024148C 468031A0 */ cvt.s.w $f6, $f6 +/* A8DF10 80241490 44073000 */ mfc1 $a3, $f6 +/* A8DF14 80241494 27A20048 */ addiu $v0, $sp, 0x48 +/* A8DF18 80241498 AFA20020 */ sw $v0, 0x20($sp) +/* A8DF1C 8024149C E7A00010 */ swc1 $f0, 0x10($sp) +/* A8DF20 802414A0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A8DF24 802414A4 0C01BFA4 */ jal fx_emote +/* A8DF28 802414A8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A8DF2C 802414AC 8E2200B0 */ lw $v0, 0xb0($s1) +/* A8DF30 802414B0 2403FFFB */ addiu $v1, $zero, -5 +/* A8DF34 802414B4 00431024 */ and $v0, $v0, $v1 +/* A8DF38 802414B8 0809053B */ j .L802414EC +/* A8DF3C 802414BC AE2200B0 */ sw $v0, 0xb0($s1) +.L802414C0: +/* A8DF40 802414C0 8E220000 */ lw $v0, ($s1) +/* A8DF44 802414C4 3C034000 */ lui $v1, 0x4000 +/* A8DF48 802414C8 00431024 */ and $v0, $v0, $v1 +/* A8DF4C 802414CC 10400007 */ beqz $v0, .L802414EC +/* A8DF50 802414D0 3C03BFFF */ lui $v1, 0xbfff +/* A8DF54 802414D4 2402000C */ addiu $v0, $zero, 0xc +/* A8DF58 802414D8 AE620070 */ sw $v0, 0x70($s3) +/* A8DF5C 802414DC 8E220000 */ lw $v0, ($s1) +/* A8DF60 802414E0 3463FFFF */ ori $v1, $v1, 0xffff +/* A8DF64 802414E4 00431024 */ and $v0, $v0, $v1 +/* A8DF68 802414E8 AE220000 */ sw $v0, ($s1) +.L802414EC: +/* A8DF6C 802414EC 8E630070 */ lw $v1, 0x70($s3) +/* A8DF70 802414F0 2C620064 */ sltiu $v0, $v1, 0x64 +/* A8DF74 802414F4 1040003A */ beqz $v0, .L802415E0 +/* A8DF78 802414F8 00031080 */ sll $v0, $v1, 2 +/* A8DF7C 802414FC 3C018024 */ lui $at, 0x8024 +/* A8DF80 80241500 00220821 */ addu $at, $at, $v0 +/* A8DF84 80241504 8C225BA8 */ lw $v0, 0x5ba8($at) +/* A8DF88 80241508 00400008 */ jr $v0 +/* A8DF8C 8024150C 00000000 */ nop +/* A8DF90 80241510 0260202D */ daddu $a0, $s3, $zero +/* A8DF94 80241514 0280282D */ daddu $a1, $s4, $zero +/* A8DF98 80241518 0C090038 */ jal func_802400E0 +/* A8DF9C 8024151C 02A0302D */ daddu $a2, $s5, $zero +/* A8DFA0 80241520 96220086 */ lhu $v0, 0x86($s1) +/* A8DFA4 80241524 A64200A8 */ sh $v0, 0xa8($s2) +/* A8DFA8 80241528 0260202D */ daddu $a0, $s3, $zero +/* A8DFAC 8024152C 0280282D */ daddu $a1, $s4, $zero +/* A8DFB0 80241530 0C09008E */ jal func_80240238 +/* A8DFB4 80241534 02A0302D */ daddu $a2, $s5, $zero +/* A8DFB8 80241538 08090578 */ j .L802415E0 +/* A8DFBC 8024153C 00000000 */ nop +/* A8DFC0 80241540 0260202D */ daddu $a0, $s3, $zero +/* A8DFC4 80241544 0280282D */ daddu $a1, $s4, $zero +/* A8DFC8 80241548 0C090138 */ jal func_802404E0 +/* A8DFCC 8024154C 02A0302D */ daddu $a2, $s5, $zero +/* A8DFD0 80241550 0260202D */ daddu $a0, $s3, $zero +/* A8DFD4 80241554 0280282D */ daddu $a1, $s4, $zero +/* A8DFD8 80241558 0C090168 */ jal func_802405A0 +/* A8DFDC 8024155C 02A0302D */ daddu $a2, $s5, $zero +/* A8DFE0 80241560 08090578 */ j .L802415E0 +/* A8DFE4 80241564 00000000 */ nop +/* A8DFE8 80241568 0260202D */ daddu $a0, $s3, $zero +/* A8DFEC 8024156C 0280282D */ daddu $a1, $s4, $zero +/* A8DFF0 80241570 0C0901D7 */ jal func_8024075C +/* A8DFF4 80241574 02A0302D */ daddu $a2, $s5, $zero +/* A8DFF8 80241578 08090578 */ j .L802415E0 +/* A8DFFC 8024157C 00000000 */ nop +/* A8E000 80241580 0260202D */ daddu $a0, $s3, $zero +/* A8E004 80241584 0280282D */ daddu $a1, $s4, $zero +/* A8E008 80241588 0C0903DC */ jal func_80240F70 +/* A8E00C 8024158C 02A0302D */ daddu $a2, $s5, $zero +/* A8E010 80241590 0260202D */ daddu $a0, $s3, $zero +/* A8E014 80241594 0280282D */ daddu $a1, $s4, $zero +/* A8E018 80241598 0C0903FB */ jal func_80240FEC +/* A8E01C 8024159C 02A0302D */ daddu $a2, $s5, $zero +/* A8E020 802415A0 08090578 */ j .L802415E0 +/* A8E024 802415A4 00000000 */ nop +/* A8E028 802415A8 0260202D */ daddu $a0, $s3, $zero +/* A8E02C 802415AC 0280282D */ daddu $a1, $s4, $zero +/* A8E030 802415B0 0C090448 */ jal func_80241120 +/* A8E034 802415B4 02A0302D */ daddu $a2, $s5, $zero +/* A8E038 802415B8 08090578 */ j .L802415E0 +/* A8E03C 802415BC 00000000 */ nop +/* A8E040 802415C0 0260202D */ daddu $a0, $s3, $zero +/* A8E044 802415C4 0280282D */ daddu $a1, $s4, $zero +/* A8E048 802415C8 0C0904A1 */ jal func_80241284 +/* A8E04C 802415CC 02A0302D */ daddu $a2, $s5, $zero +/* A8E050 802415D0 08090578 */ j .L802415E0 +/* A8E054 802415D4 00000000 */ nop +/* A8E058 802415D8 0C0129CF */ jal func_8004A73C +/* A8E05C 802415DC 0260202D */ daddu $a0, $s3, $zero +.L802415E0: +/* A8E060 802415E0 8FBF0068 */ lw $ra, 0x68($sp) +/* A8E064 802415E4 8FB50064 */ lw $s5, 0x64($sp) +/* A8E068 802415E8 8FB40060 */ lw $s4, 0x60($sp) +/* A8E06C 802415EC 8FB3005C */ lw $s3, 0x5c($sp) +/* A8E070 802415F0 8FB20058 */ lw $s2, 0x58($sp) +/* A8E074 802415F4 8FB10054 */ lw $s1, 0x54($sp) +/* A8E078 802415F8 8FB00050 */ lw $s0, 0x50($sp) +/* A8E07C 802415FC 0000102D */ daddu $v0, $zero, $zero +/* A8E080 80241600 03E00008 */ jr $ra +/* A8E084 80241604 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241608.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241608.s new file mode 100644 index 0000000000..ac6e6c786d --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241608.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241608 +/* A8E088 80241608 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E08C 8024160C AFBF0010 */ sw $ra, 0x10($sp) +/* A8E090 80241610 0C03A625 */ jal func_800E9894 +/* A8E094 80241614 00000000 */ nop +/* A8E098 80241618 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E09C 8024161C 24020002 */ addiu $v0, $zero, 2 +/* A8E0A0 80241620 03E00008 */ jr $ra +/* A8E0A4 80241624 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241628_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241628_A8CA80.s new file mode 100644 index 0000000000..4076386945 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241628_A8CA80.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241628_A8E0A8 +/* A8E0A8 80241628 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E0AC 8024162C AFBF0010 */ sw $ra, 0x10($sp) +/* A8E0B0 80241630 0C03A631 */ jal func_800E98C4 +/* A8E0B4 80241634 00000000 */ nop +/* A8E0B8 80241638 0C03A6DB */ jal sync_status_menu +/* A8E0BC 8024163C 00000000 */ nop +/* A8E0C0 80241640 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E0C4 80241644 24020002 */ addiu $v0, $zero, 2 +/* A8E0C8 80241648 03E00008 */ jr $ra +/* A8E0CC 8024164C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241650.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241650.s new file mode 100644 index 0000000000..dbf4fe5352 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241650.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650 +/* A8E0D0 80241650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8E0D4 80241654 AFB10014 */ sw $s1, 0x14($sp) +/* A8E0D8 80241658 0080882D */ daddu $s1, $a0, $zero +/* A8E0DC 8024165C AFBF0018 */ sw $ra, 0x18($sp) +/* A8E0E0 80241660 AFB00010 */ sw $s0, 0x10($sp) +/* A8E0E4 80241664 8E30000C */ lw $s0, 0xc($s1) +/* A8E0E8 80241668 8E050000 */ lw $a1, ($s0) +/* A8E0EC 8024166C 0C0B1EAF */ jal get_variable +/* A8E0F0 80241670 26100004 */ addiu $s0, $s0, 4 +/* A8E0F4 80241674 0220202D */ daddu $a0, $s1, $zero +/* A8E0F8 80241678 8E050000 */ lw $a1, ($s0) +/* A8E0FC 8024167C 0C0B1EAF */ jal get_variable +/* A8E100 80241680 0040882D */ daddu $s1, $v0, $zero +/* A8E104 80241684 0000202D */ daddu $a0, $zero, $zero +/* A8E108 80241688 0080282D */ daddu $a1, $a0, $zero +/* A8E10C 8024168C 0040802D */ daddu $s0, $v0, $zero +/* A8E110 80241690 240600BE */ addiu $a2, $zero, 0xbe +/* A8E114 80241694 0C04DF93 */ jal func_80137E4C +/* A8E118 80241698 24070091 */ addiu $a3, $zero, 0x91 +/* A8E11C 8024169C 44900000 */ mtc1 $s0, $f0 +/* A8E120 802416A0 00000000 */ nop +/* A8E124 802416A4 46800020 */ cvt.s.w $f0, $f0 +/* A8E128 802416A8 44050000 */ mfc1 $a1, $f0 +/* A8E12C 802416AC 0C04DF62 */ jal func_80137D88 +/* A8E130 802416B0 322400FF */ andi $a0, $s1, 0xff +/* A8E134 802416B4 8FBF0018 */ lw $ra, 0x18($sp) +/* A8E138 802416B8 8FB10014 */ lw $s1, 0x14($sp) +/* A8E13C 802416BC 8FB00010 */ lw $s0, 0x10($sp) +/* A8E140 802416C0 24020002 */ addiu $v0, $zero, 2 +/* A8E144 802416C4 03E00008 */ jr $ra +/* A8E148 802416C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802416CC_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802416CC_A8CA80.s new file mode 100644 index 0000000000..545ea9f8cc --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802416CC_A8CA80.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416CC_A8E14C +/* A8E14C 802416CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8E150 802416D0 AFB10014 */ sw $s1, 0x14($sp) +/* A8E154 802416D4 0080882D */ daddu $s1, $a0, $zero +/* A8E158 802416D8 AFBF0018 */ sw $ra, 0x18($sp) +/* A8E15C 802416DC AFB00010 */ sw $s0, 0x10($sp) +/* A8E160 802416E0 8E30000C */ lw $s0, 0xc($s1) +/* A8E164 802416E4 8E050000 */ lw $a1, ($s0) +/* A8E168 802416E8 0C0B1EAF */ jal get_variable +/* A8E16C 802416EC 26100004 */ addiu $s0, $s0, 4 +/* A8E170 802416F0 0220202D */ daddu $a0, $s1, $zero +/* A8E174 802416F4 8E050000 */ lw $a1, ($s0) +/* A8E178 802416F8 0C0B1EAF */ jal get_variable +/* A8E17C 802416FC 0040802D */ daddu $s0, $v0, $zero +/* A8E180 80241700 44820000 */ mtc1 $v0, $f0 +/* A8E184 80241704 00000000 */ nop +/* A8E188 80241708 46800020 */ cvt.s.w $f0, $f0 +/* A8E18C 8024170C 24020002 */ addiu $v0, $zero, 2 +/* A8E190 80241710 00501804 */ sllv $v1, $s0, $v0 +/* A8E194 80241714 00701821 */ addu $v1, $v1, $s0 +/* A8E198 80241718 00431804 */ sllv $v1, $v1, $v0 +/* A8E19C 8024171C 00701823 */ subu $v1, $v1, $s0 +/* A8E1A0 80241720 000320C0 */ sll $a0, $v1, 3 +/* A8E1A4 80241724 00641821 */ addu $v1, $v1, $a0 +/* A8E1A8 80241728 000318C0 */ sll $v1, $v1, 3 +/* A8E1AC 8024172C 3C01800B */ lui $at, 0x800b +/* A8E1B0 80241730 00230821 */ addu $at, $at, $v1 +/* A8E1B4 80241734 E4201D98 */ swc1 $f0, 0x1d98($at) +/* A8E1B8 80241738 8FBF0018 */ lw $ra, 0x18($sp) +/* A8E1BC 8024173C 8FB10014 */ lw $s1, 0x14($sp) +/* A8E1C0 80241740 8FB00010 */ lw $s0, 0x10($sp) +/* A8E1C4 80241744 03E00008 */ jr $ra +/* A8E1C8 80241748 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_8024174C_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024174C_A8CA80.s new file mode 100644 index 0000000000..2998e1e7aa --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024174C_A8CA80.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024174C_A8E1CC +/* A8E1CC 8024174C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E1D0 80241750 AFBF0010 */ sw $ra, 0x10($sp) +/* A8E1D4 80241754 8C82000C */ lw $v0, 0xc($a0) +/* A8E1D8 80241758 0C0B1EAF */ jal get_variable +/* A8E1DC 8024175C 8C450000 */ lw $a1, ($v0) +/* A8E1E0 80241760 0C0B1059 */ jal does_script_exist +/* A8E1E4 80241764 0040202D */ daddu $a0, $v0, $zero +/* A8E1E8 80241768 2C420001 */ sltiu $v0, $v0, 1 +/* A8E1EC 8024176C 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E1F0 80241770 00021040 */ sll $v0, $v0, 1 +/* A8E1F4 80241774 03E00008 */ jr $ra +/* A8E1F8 80241778 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_8024177C_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024177C_A8CA80.s new file mode 100644 index 0000000000..6bf87bbc8f --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024177C_A8CA80.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024177C_A8E1FC +/* A8E1FC 8024177C 3C028011 */ lui $v0, 0x8011 +/* A8E200 80241780 8042F2A2 */ lb $v0, -0xd5e($v0) +/* A8E204 80241784 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E208 80241788 10400003 */ beqz $v0, .L80241798 +/* A8E20C 8024178C AFBF0010 */ sw $ra, 0x10($sp) +/* A8E210 80241790 0C03AE06 */ jal partner_suspend_ability_script +/* A8E214 80241794 00000000 */ nop +.L80241798: +/* A8E218 80241798 24020002 */ addiu $v0, $zero, 2 +/* A8E21C 8024179C 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E220 802417A0 03E00008 */ jr $ra +/* A8E224 802417A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802417A8_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802417A8_A8CA80.s new file mode 100644 index 0000000000..e249e3c001 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802417A8_A8CA80.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A8_A8E228 +/* A8E228 802417A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E22C 802417AC AFBF0010 */ sw $ra, 0x10($sp) +/* A8E230 802417B0 0C03AE18 */ jal partner_resume_ability_script +/* A8E234 802417B4 00000000 */ nop +/* A8E238 802417B8 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E23C 802417BC 24020002 */ addiu $v0, $zero, 2 +/* A8E240 802417C0 03E00008 */ jr $ra +/* A8E244 802417C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802417C8_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802417C8_A8CA80.s new file mode 100644 index 0000000000..cf4cd5dfd2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802417C8_A8CA80.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C8_A8E248 +/* A8E248 802417C8 3C058011 */ lui $a1, %hi(gPlayerData) +/* A8E24C 802417CC 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* A8E250 802417D0 AC800088 */ sw $zero, 0x88($a0) +/* A8E254 802417D4 80A30003 */ lb $v1, 3($a1) +/* A8E258 802417D8 80A20002 */ lb $v0, 2($a1) +/* A8E25C 802417DC 1462000B */ bne $v1, $v0, .L8024180C +/* A8E260 802417E0 00A0302D */ daddu $a2, $a1, $zero +/* A8E264 802417E4 80A30006 */ lb $v1, 6($a1) +/* A8E268 802417E8 80A20005 */ lb $v0, 5($a1) +/* A8E26C 802417EC 14620007 */ bne $v1, $v0, .L8024180C +/* A8E270 802417F0 00000000 */ nop +/* A8E274 802417F4 80C2028E */ lb $v0, 0x28e($a2) +/* A8E278 802417F8 84C30290 */ lh $v1, 0x290($a2) +/* A8E27C 802417FC 00021200 */ sll $v0, $v0, 8 +/* A8E280 80241800 14620004 */ bne $v1, $v0, .L80241814 +/* A8E284 80241804 24020001 */ addiu $v0, $zero, 1 +/* A8E288 80241808 AC820088 */ sw $v0, 0x88($a0) +.L8024180C: +/* A8E28C 8024180C 03E00008 */ jr $ra +/* A8E290 80241810 24020002 */ addiu $v0, $zero, 2 +.L80241814: +/* A8E294 80241814 03E00008 */ jr $ra +/* A8E298 80241818 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_8024181C_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024181C_A8CA80.s new file mode 100644 index 0000000000..36298e94f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_8024181C_A8CA80.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024181C_A8E29C +/* A8E29C 8024181C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A8E2A0 80241820 AFB10014 */ sw $s1, 0x14($sp) +/* A8E2A4 80241824 0080882D */ daddu $s1, $a0, $zero +/* A8E2A8 80241828 AFBF001C */ sw $ra, 0x1c($sp) +/* A8E2AC 8024182C AFB20018 */ sw $s2, 0x18($sp) +/* A8E2B0 80241830 AFB00010 */ sw $s0, 0x10($sp) +/* A8E2B4 80241834 8E30000C */ lw $s0, 0xc($s1) +/* A8E2B8 80241838 8E050000 */ lw $a1, ($s0) +/* A8E2BC 8024183C 0C0B1EAF */ jal get_variable +/* A8E2C0 80241840 26100004 */ addiu $s0, $s0, 4 +/* A8E2C4 80241844 8E050000 */ lw $a1, ($s0) +/* A8E2C8 80241848 26100004 */ addiu $s0, $s0, 4 +/* A8E2CC 8024184C 0220202D */ daddu $a0, $s1, $zero +/* A8E2D0 80241850 0C0B1EAF */ jal get_variable +/* A8E2D4 80241854 0040902D */ daddu $s2, $v0, $zero +/* A8E2D8 80241858 0220202D */ daddu $a0, $s1, $zero +/* A8E2DC 8024185C 8E050000 */ lw $a1, ($s0) +/* A8E2E0 80241860 0C0B1EAF */ jal get_variable +/* A8E2E4 80241864 0040802D */ daddu $s0, $v0, $zero +/* A8E2E8 80241868 0000202D */ daddu $a0, $zero, $zero +/* A8E2EC 8024186C 324500FF */ andi $a1, $s2, 0xff +/* A8E2F0 80241870 320600FF */ andi $a2, $s0, 0xff +/* A8E2F4 80241874 0C04DF84 */ jal func_80137E10 +/* A8E2F8 80241878 304700FF */ andi $a3, $v0, 0xff +/* A8E2FC 8024187C 8FBF001C */ lw $ra, 0x1c($sp) +/* A8E300 80241880 8FB20018 */ lw $s2, 0x18($sp) +/* A8E304 80241884 8FB10014 */ lw $s1, 0x14($sp) +/* A8E308 80241888 8FB00010 */ lw $s0, 0x10($sp) +/* A8E30C 8024188C 24020002 */ addiu $v0, $zero, 2 +/* A8E310 80241890 03E00008 */ jr $ra +/* A8E314 80241894 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_80241898_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241898_A8CA80.s new file mode 100644 index 0000000000..5a7bda3260 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_80241898_A8CA80.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898_A8E318 +/* A8E318 80241898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E31C 8024189C AFBF0010 */ sw $ra, 0x10($sp) +/* A8E320 802418A0 8C82000C */ lw $v0, 0xc($a0) +/* A8E324 802418A4 3C068011 */ lui $a2, 0x8011 +/* A8E328 802418A8 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* A8E32C 802418AC 0C0B2026 */ jal set_variable +/* A8E330 802418B0 8C450000 */ lw $a1, ($v0) +/* A8E334 802418B4 0C03AC5A */ jal func_800EB168 +/* A8E338 802418B8 0000202D */ daddu $a0, $zero, $zero +/* A8E33C 802418BC 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E340 802418C0 24020002 */ addiu $v0, $zero, 2 +/* A8E344 802418C4 03E00008 */ jr $ra +/* A8E348 802418C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802418CC.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802418CC.s new file mode 100644 index 0000000000..c8ea1a0b8c --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802418CC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418CC +/* A8E34C 802418CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A8E350 802418D0 AFBF0010 */ sw $ra, 0x10($sp) +/* A8E354 802418D4 8C82000C */ lw $v0, 0xc($a0) +/* A8E358 802418D8 0C0B1EAF */ jal get_variable +/* A8E35C 802418DC 8C450000 */ lw $a1, ($v0) +/* A8E360 802418E0 00021600 */ sll $v0, $v0, 0x18 +/* A8E364 802418E4 0C03AC5A */ jal func_800EB168 +/* A8E368 802418E8 00022603 */ sra $a0, $v0, 0x18 +/* A8E36C 802418EC 8FBF0010 */ lw $ra, 0x10($sp) +/* A8E370 802418F0 24020002 */ addiu $v0, $zero, 2 +/* A8E374 802418F4 03E00008 */ jr $ra +/* A8E378 802418F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kpa/kpa_95/func_802418FC_A8CA80.s b/asm/nonmatchings/world/area_kpa/kpa_95/func_802418FC_A8CA80.s new file mode 100644 index 0000000000..cfe9f8f7f8 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_95/func_802418FC_A8CA80.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418FC_A8E37C +/* A8E37C 802418FC 03E00008 */ jr $ra +/* A8E380 80241900 24020002 */ addiu $v0, $zero, 2 +/* A8E384 80241904 00000000 */ nop +/* A8E388 80241908 00000000 */ nop +/* A8E38C 8024190C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kpa/kpa_96/func_80240000_A927C0.s b/asm/nonmatchings/world/area_kpa/kpa_96/func_80240000_A927C0.s new file mode 100644 index 0000000000..fe9c426885 --- /dev/null +++ b/asm/nonmatchings/world/area_kpa/kpa_96/func_80240000_A927C0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A927C0 +/* A927C0 80240000 3C028011 */ lui $v0, 0x8011 +/* A927C4 80240004 8442F29C */ lh $v0, -0xd64($v0) +/* A927C8 80240008 18400003 */ blez $v0, .L80240018 +/* A927CC 8024000C 24020001 */ addiu $v0, $zero, 1 +/* A927D0 80240010 08090007 */ j .L8024001C +/* A927D4 80240014 AC800084 */ sw $zero, 0x84($a0) +.L80240018: +/* A927D8 80240018 AC820084 */ sw $v0, 0x84($a0) +.L8024001C: +/* A927DC 8024001C 03E00008 */ jr $ra +/* A927E0 80240020 24020002 */ addiu $v0, $zero, 2 +/* A927E4 80240024 00000000 */ nop +/* A927E8 80240028 00000000 */ nop +/* A927EC 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_01/func_80240000_C599D0.s b/asm/nonmatchings/world/area_kzn/kzn_01/func_80240000_C599D0.s new file mode 100644 index 0000000000..4564869c9c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_01/func_80240000_C599D0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C599D0 +/* C599D0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C599D4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C599D8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C599DC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C599E0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C599E4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C599E8 80240018 00621821 */ addu $v1, $v1, $v0 +/* C599EC 8024001C 04610004 */ bgez $v1, .L80240030 +/* C599F0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C599F4 80240024 3C020002 */ lui $v0, 2 +/* C599F8 80240028 08090010 */ j .L80240040 +/* C599FC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C59A00 80240030 3C040002 */ lui $a0, 2 +/* C59A04 80240034 0083102A */ slt $v0, $a0, $v1 +/* C59A08 80240038 10400002 */ beqz $v0, .L80240044 +/* C59A0C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C59A10 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C59A14 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C59A18 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C59A1C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C59A20 80240050 04610004 */ bgez $v1, .L80240064 +/* C59A24 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C59A28 80240058 3C020002 */ lui $v0, 2 +/* C59A2C 8024005C 0809001D */ j .L80240074 +/* C59A30 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C59A34 80240064 3C040002 */ lui $a0, 2 +/* C59A38 80240068 0083102A */ slt $v0, $a0, $v1 +/* C59A3C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C59A40 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C59A44 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C59A48 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C59A4C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C59A50 80240080 00621821 */ addu $v1, $v1, $v0 +/* C59A54 80240084 04610004 */ bgez $v1, .L80240098 +/* C59A58 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C59A5C 8024008C 3C020002 */ lui $v0, 2 +/* C59A60 80240090 0809002A */ j .L802400A8 +/* C59A64 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C59A68 80240098 3C040002 */ lui $a0, 2 +/* C59A6C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C59A70 802400A0 10400002 */ beqz $v0, .L802400AC +/* C59A74 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C59A78 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C59A7C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C59A80 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C59A84 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C59A88 802400B8 04610004 */ bgez $v1, .L802400CC +/* C59A8C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C59A90 802400C0 3C020002 */ lui $v0, 2 +/* C59A94 802400C4 08090037 */ j .L802400DC +/* C59A98 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C59A9C 802400CC 3C040002 */ lui $a0, 2 +/* C59AA0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C59AA4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C59AA8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C59AAC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C59AB0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C59AB4 802400E4 0C046F07 */ jal set_main_pan_u +/* C59AB8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C59ABC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C59AC0 802400F0 0C046F0D */ jal set_main_pan_v +/* C59AC4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C59AC8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C59ACC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C59AD0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C59AD4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C59AD8 80240108 0C046F19 */ jal set_aux_pan_v +/* C59ADC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C59AE0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C59AE4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C59AE8 80240118 0000102D */ daddu $v0, $zero, $zero +/* C59AEC 8024011C 03E00008 */ jr $ra +/* C59AF0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_01/func_80240124_C599D0.s b/asm/nonmatchings/world/area_kzn/kzn_01/func_80240124_C599D0.s new file mode 100644 index 0000000000..f69363ac1f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_01/func_80240124_C599D0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C59AF4 +/* C59AF4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C59AF8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C59AFC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C59B00 80240130 10A00005 */ beqz $a1, .L80240148 +/* C59B04 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C59B08 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C59B0C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C59B10 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C59B14 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C59B18 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C59B1C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C59B20 80240150 00000000 */ nop +/* C59B24 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C59B28 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C59B2C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C59B30 80240160 04610004 */ bgez $v1, .L80240174 +/* C59B34 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C59B38 80240168 3C020002 */ lui $v0, 2 +/* C59B3C 8024016C 08090061 */ j .L80240184 +/* C59B40 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C59B44 80240174 3C040002 */ lui $a0, 2 +/* C59B48 80240178 0083102A */ slt $v0, $a0, $v1 +/* C59B4C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C59B50 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C59B54 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C59B58 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C59B5C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C59B60 80240190 00000000 */ nop +/* C59B64 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C59B68 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C59B6C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C59B70 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C59B74 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C59B78 802401A8 3C020002 */ lui $v0, 2 +/* C59B7C 802401AC 08090071 */ j .L802401C4 +/* C59B80 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C59B84 802401B4 3C040002 */ lui $a0, 2 +/* C59B88 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C59B8C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C59B90 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C59B94 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C59B98 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C59B9C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C59BA0 802401D0 00000000 */ nop +/* C59BA4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C59BA8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C59BAC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C59BB0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C59BB4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C59BB8 802401E8 3C020002 */ lui $v0, 2 +/* C59BBC 802401EC 08090081 */ j .L80240204 +/* C59BC0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C59BC4 802401F4 3C040002 */ lui $a0, 2 +/* C59BC8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C59BCC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C59BD0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C59BD4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C59BD8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C59BDC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C59BE0 80240210 00000000 */ nop +/* C59BE4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C59BE8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C59BEC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C59BF0 80240220 04610004 */ bgez $v1, .L80240234 +/* C59BF4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C59BF8 80240228 3C020002 */ lui $v0, 2 +/* C59BFC 8024022C 08090091 */ j .L80240244 +/* C59C00 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C59C04 80240234 3C040002 */ lui $a0, 2 +/* C59C08 80240238 0083102A */ slt $v0, $a0, $v1 +/* C59C0C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C59C10 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C59C14 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C59C18 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C59C1C 8024024C 0C046F07 */ jal set_main_pan_u +/* C59C20 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C59C24 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C59C28 80240258 0C046F0D */ jal set_main_pan_v +/* C59C2C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C59C30 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C59C34 80240264 0C046F13 */ jal set_aux_pan_u +/* C59C38 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C59C3C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C59C40 80240270 0C046F19 */ jal set_aux_pan_v +/* C59C44 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C59C48 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C59C4C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C59C50 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C59C54 80240284 24420001 */ addiu $v0, $v0, 1 +/* C59C58 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C59C5C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C59C60 80240290 24630001 */ addiu $v1, $v1, 1 +/* C59C64 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C59C68 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C59C6C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C59C70 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C59C74 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C59C78 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C59C7C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C59C80 802402B0 14600002 */ bnez $v1, .L802402BC +/* C59C84 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C59C88 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C59C8C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C59C90 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C59C94 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C59C98 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C59C9C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C59CA0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C59CA4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C59CA8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C59CAC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C59CB0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C59CB4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C59CB8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C59CBC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C59CC0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C59CC4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C59CC8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C59CCC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C59CD0 80240300 0000102D */ daddu $v0, $zero, $zero +/* C59CD4 80240304 03E00008 */ jr $ra +/* C59CD8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C59CDC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240000_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240000_C5A740.s new file mode 100644 index 0000000000..755298d1e1 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240000_C5A740.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C5A740 +/* C5A740 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5A744 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C5A748 80240008 0080802D */ daddu $s0, $a0, $zero +/* C5A74C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C5A750 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C5A754 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C5A758 80240018 00621821 */ addu $v1, $v1, $v0 +/* C5A75C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C5A760 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C5A764 80240024 3C020002 */ lui $v0, 2 +/* C5A768 80240028 08090010 */ j .L80240040 +/* C5A76C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C5A770 80240030 3C040002 */ lui $a0, 2 +/* C5A774 80240034 0083102A */ slt $v0, $a0, $v1 +/* C5A778 80240038 10400002 */ beqz $v0, .L80240044 +/* C5A77C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C5A780 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C5A784 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C5A788 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C5A78C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C5A790 80240050 04610004 */ bgez $v1, .L80240064 +/* C5A794 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C5A798 80240058 3C020002 */ lui $v0, 2 +/* C5A79C 8024005C 0809001D */ j .L80240074 +/* C5A7A0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C5A7A4 80240064 3C040002 */ lui $a0, 2 +/* C5A7A8 80240068 0083102A */ slt $v0, $a0, $v1 +/* C5A7AC 8024006C 10400002 */ beqz $v0, .L80240078 +/* C5A7B0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C5A7B4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C5A7B8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C5A7BC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C5A7C0 80240080 00621821 */ addu $v1, $v1, $v0 +/* C5A7C4 80240084 04610004 */ bgez $v1, .L80240098 +/* C5A7C8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C5A7CC 8024008C 3C020002 */ lui $v0, 2 +/* C5A7D0 80240090 0809002A */ j .L802400A8 +/* C5A7D4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C5A7D8 80240098 3C040002 */ lui $a0, 2 +/* C5A7DC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C5A7E0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C5A7E4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C5A7E8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C5A7EC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C5A7F0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C5A7F4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C5A7F8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C5A7FC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C5A800 802400C0 3C020002 */ lui $v0, 2 +/* C5A804 802400C4 08090037 */ j .L802400DC +/* C5A808 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C5A80C 802400CC 3C040002 */ lui $a0, 2 +/* C5A810 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C5A814 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C5A818 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C5A81C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C5A820 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C5A824 802400E4 0C046F07 */ jal set_main_pan_u +/* C5A828 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C5A82C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C5A830 802400F0 0C046F0D */ jal set_main_pan_v +/* C5A834 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C5A838 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C5A83C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C5A840 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C5A844 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C5A848 80240108 0C046F19 */ jal set_aux_pan_v +/* C5A84C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C5A850 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C5A854 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C5A858 80240118 0000102D */ daddu $v0, $zero, $zero +/* C5A85C 8024011C 03E00008 */ jr $ra +/* C5A860 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240124_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240124_C5A740.s new file mode 100644 index 0000000000..336eba3391 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240124_C5A740.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C5A864 +/* C5A864 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5A868 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C5A86C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C5A870 80240130 10A00005 */ beqz $a1, .L80240148 +/* C5A874 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C5A878 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C5A87C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C5A880 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C5A884 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C5A888 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C5A88C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C5A890 80240150 00000000 */ nop +/* C5A894 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C5A898 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C5A89C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C5A8A0 80240160 04610004 */ bgez $v1, .L80240174 +/* C5A8A4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C5A8A8 80240168 3C020002 */ lui $v0, 2 +/* C5A8AC 8024016C 08090061 */ j .L80240184 +/* C5A8B0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C5A8B4 80240174 3C040002 */ lui $a0, 2 +/* C5A8B8 80240178 0083102A */ slt $v0, $a0, $v1 +/* C5A8BC 8024017C 10400002 */ beqz $v0, .L80240188 +/* C5A8C0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C5A8C4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C5A8C8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C5A8CC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C5A8D0 80240190 00000000 */ nop +/* C5A8D4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C5A8D8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C5A8DC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C5A8E0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C5A8E4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C5A8E8 802401A8 3C020002 */ lui $v0, 2 +/* C5A8EC 802401AC 08090071 */ j .L802401C4 +/* C5A8F0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C5A8F4 802401B4 3C040002 */ lui $a0, 2 +/* C5A8F8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C5A8FC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C5A900 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C5A904 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C5A908 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C5A90C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C5A910 802401D0 00000000 */ nop +/* C5A914 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C5A918 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C5A91C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C5A920 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C5A924 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C5A928 802401E8 3C020002 */ lui $v0, 2 +/* C5A92C 802401EC 08090081 */ j .L80240204 +/* C5A930 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C5A934 802401F4 3C040002 */ lui $a0, 2 +/* C5A938 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C5A93C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C5A940 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C5A944 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C5A948 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C5A94C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C5A950 80240210 00000000 */ nop +/* C5A954 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C5A958 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C5A95C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C5A960 80240220 04610004 */ bgez $v1, .L80240234 +/* C5A964 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C5A968 80240228 3C020002 */ lui $v0, 2 +/* C5A96C 8024022C 08090091 */ j .L80240244 +/* C5A970 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C5A974 80240234 3C040002 */ lui $a0, 2 +/* C5A978 80240238 0083102A */ slt $v0, $a0, $v1 +/* C5A97C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C5A980 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C5A984 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C5A988 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C5A98C 8024024C 0C046F07 */ jal set_main_pan_u +/* C5A990 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C5A994 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C5A998 80240258 0C046F0D */ jal set_main_pan_v +/* C5A99C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C5A9A0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C5A9A4 80240264 0C046F13 */ jal set_aux_pan_u +/* C5A9A8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C5A9AC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C5A9B0 80240270 0C046F19 */ jal set_aux_pan_v +/* C5A9B4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C5A9B8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C5A9BC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C5A9C0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C5A9C4 80240284 24420001 */ addiu $v0, $v0, 1 +/* C5A9C8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C5A9CC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C5A9D0 80240290 24630001 */ addiu $v1, $v1, 1 +/* C5A9D4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C5A9D8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C5A9DC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C5A9E0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C5A9E4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C5A9E8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C5A9EC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C5A9F0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C5A9F4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C5A9F8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C5A9FC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C5AA00 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C5AA04 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C5AA08 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C5AA0C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C5AA10 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C5AA14 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C5AA18 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C5AA1C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C5AA20 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C5AA24 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C5AA28 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C5AA2C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C5AA30 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C5AA34 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C5AA38 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C5AA3C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C5AA40 80240300 0000102D */ daddu $v0, $zero, $zero +/* C5AA44 80240304 03E00008 */ jr $ra +/* C5AA48 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C5AA4C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240310_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240310_C5A740.s new file mode 100644 index 0000000000..ea37230196 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240310_C5A740.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C5AA50 +/* C5AA50 80240310 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C5AA54 80240314 AFB00038 */ sw $s0, 0x38($sp) +/* C5AA58 80240318 0080802D */ daddu $s0, $a0, $zero +/* C5AA5C 8024031C AFBF003C */ sw $ra, 0x3c($sp) +/* C5AA60 80240320 8E02000C */ lw $v0, 0xc($s0) +/* C5AA64 80240324 0C0B1EAF */ jal get_variable +/* C5AA68 80240328 8C450000 */ lw $a1, ($v0) +/* C5AA6C 8024032C 3044FFFF */ andi $a0, $v0, 0xffff +/* C5AA70 80240330 27A50020 */ addiu $a1, $sp, 0x20 +/* C5AA74 80240334 27A2002C */ addiu $v0, $sp, 0x2c +/* C5AA78 80240338 AFA20010 */ sw $v0, 0x10($sp) +/* C5AA7C 8024033C 27A20030 */ addiu $v0, $sp, 0x30 +/* C5AA80 80240340 AFA20014 */ sw $v0, 0x14($sp) +/* C5AA84 80240344 27A20034 */ addiu $v0, $sp, 0x34 +/* C5AA88 80240348 27A60024 */ addiu $a2, $sp, 0x24 +/* C5AA8C 8024034C 27A70028 */ addiu $a3, $sp, 0x28 +/* C5AA90 80240350 0C046C3B */ jal get_model_center_and_size +/* C5AA94 80240354 AFA20018 */ sw $v0, 0x18($sp) +/* C5AA98 80240358 C7A00020 */ lwc1 $f0, 0x20($sp) +/* C5AA9C 8024035C C7A20028 */ lwc1 $f2, 0x28($sp) +/* C5AAA0 80240360 4600010D */ trunc.w.s $f4, $f0 +/* C5AAA4 80240364 E60400A0 */ swc1 $f4, 0xa0($s0) +/* C5AAA8 80240368 4600110D */ trunc.w.s $f4, $f2 +/* C5AAAC 8024036C E60400A4 */ swc1 $f4, 0xa4($s0) +/* C5AAB0 80240370 8FBF003C */ lw $ra, 0x3c($sp) +/* C5AAB4 80240374 8FB00038 */ lw $s0, 0x38($sp) +/* C5AAB8 80240378 24020002 */ addiu $v0, $zero, 2 +/* C5AABC 8024037C 03E00008 */ jr $ra +/* C5AAC0 80240380 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240384_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240384_C5A740.s new file mode 100644 index 0000000000..bb94483f89 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240384_C5A740.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240384_C5AAC4 +/* C5AAC4 80240384 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5AAC8 80240388 AFBF0010 */ sw $ra, 0x10($sp) +/* C5AACC 8024038C 8C82000C */ lw $v0, 0xc($a0) +/* C5AAD0 80240390 3C068016 */ lui $a2, 0x8016 +/* C5AAD4 80240394 84C6A552 */ lh $a2, -0x5aae($a2) +/* C5AAD8 80240398 0C0B2026 */ jal set_variable +/* C5AADC 8024039C 8C450000 */ lw $a1, ($v0) +/* C5AAE0 802403A0 8FBF0010 */ lw $ra, 0x10($sp) +/* C5AAE4 802403A4 24020002 */ addiu $v0, $zero, 2 +/* C5AAE8 802403A8 03E00008 */ jr $ra +/* C5AAEC 802403AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802403B0_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802403B0_C5A740.s new file mode 100644 index 0000000000..3dfd0cd25d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802403B0_C5A740.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B0_C5AAF0 +/* C5AAF0 802403B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5AAF4 802403B4 AFBF0010 */ sw $ra, 0x10($sp) +/* C5AAF8 802403B8 8C82000C */ lw $v0, 0xc($a0) +/* C5AAFC 802403BC 3C068011 */ lui $a2, 0x8011 +/* C5AB00 802403C0 80C6EBB3 */ lb $a2, -0x144d($a2) +/* C5AB04 802403C4 0C0B2026 */ jal set_variable +/* C5AB08 802403C8 8C450000 */ lw $a1, ($v0) +/* C5AB0C 802403CC 8FBF0010 */ lw $ra, 0x10($sp) +/* C5AB10 802403D0 24020002 */ addiu $v0, $zero, 2 +/* C5AB14 802403D4 03E00008 */ jr $ra +/* C5AB18 802403D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802403DC_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802403DC_C5A740.s new file mode 100644 index 0000000000..a79f734ef2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802403DC_C5A740.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403DC_C5AB1C +/* C5AB1C 802403DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5AB20 802403E0 AFB10014 */ sw $s1, 0x14($sp) +/* C5AB24 802403E4 0080882D */ daddu $s1, $a0, $zero +/* C5AB28 802403E8 AFBF001C */ sw $ra, 0x1c($sp) +/* C5AB2C 802403EC AFB20018 */ sw $s2, 0x18($sp) +/* C5AB30 802403F0 AFB00010 */ sw $s0, 0x10($sp) +/* C5AB34 802403F4 8E30000C */ lw $s0, 0xc($s1) +/* C5AB38 802403F8 8E050000 */ lw $a1, ($s0) +/* C5AB3C 802403FC 0C0B1EAF */ jal get_variable +/* C5AB40 80240400 26100004 */ addiu $s0, $s0, 4 +/* C5AB44 80240404 8E050000 */ lw $a1, ($s0) +/* C5AB48 80240408 26100004 */ addiu $s0, $s0, 4 +/* C5AB4C 8024040C 0220202D */ daddu $a0, $s1, $zero +/* C5AB50 80240410 0C0B1EAF */ jal get_variable +/* C5AB54 80240414 0040902D */ daddu $s2, $v0, $zero +/* C5AB58 80240418 0220202D */ daddu $a0, $s1, $zero +/* C5AB5C 8024041C 8E050000 */ lw $a1, ($s0) +/* C5AB60 80240420 0C0B1EAF */ jal get_variable +/* C5AB64 80240424 0040882D */ daddu $s1, $v0, $zero +/* C5AB68 80240428 0040802D */ daddu $s0, $v0, $zero +/* C5AB6C 8024042C 3C028016 */ lui $v0, 0x8016 +/* C5AB70 80240430 2442A550 */ addiu $v0, $v0, -0x5ab0 +/* C5AB74 80240434 84430002 */ lh $v1, 2($v0) +/* C5AB78 80240438 10710008 */ beq $v1, $s1, .L8024045C +/* C5AB7C 8024043C 00000000 */ nop +/* C5AB80 80240440 84420004 */ lh $v0, 4($v0) +/* C5AB84 80240444 10510005 */ beq $v0, $s1, .L8024045C +/* C5AB88 80240448 00000000 */ nop +/* C5AB8C 8024044C 10700003 */ beq $v1, $s0, .L8024045C +/* C5AB90 80240450 00000000 */ nop +/* C5AB94 80240454 14500007 */ bne $v0, $s0, .L80240474 +/* C5AB98 80240458 00000000 */ nop +.L8024045C: +/* C5AB9C 8024045C 44920000 */ mtc1 $s2, $f0 +/* C5ABA0 80240460 00000000 */ nop +/* C5ABA4 80240464 46800020 */ cvt.s.w $f0, $f0 +/* C5ABA8 80240468 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C5ABAC 8024046C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C5ABB0 80240470 E440001C */ swc1 $f0, 0x1c($v0) +.L80240474: +/* C5ABB4 80240474 3C028011 */ lui $v0, 0x8011 +/* C5ABB8 80240478 8042F2A2 */ lb $v0, -0xd5e($v0) +/* C5ABBC 8024047C 1040000E */ beqz $v0, .L802404B8 +/* C5ABC0 80240480 00000000 */ nop +/* C5ABC4 80240484 0C00EABB */ jal get_npc_unsafe +/* C5ABC8 80240488 2404FFFC */ addiu $a0, $zero, -4 +/* C5ABCC 8024048C 84430084 */ lh $v1, 0x84($v0) +/* C5ABD0 80240490 10710003 */ beq $v1, $s1, .L802404A0 +/* C5ABD4 80240494 00000000 */ nop +/* C5ABD8 80240498 14700007 */ bne $v1, $s0, .L802404B8 +/* C5ABDC 8024049C 00000000 */ nop +.L802404A0: +/* C5ABE0 802404A0 C4400038 */ lwc1 $f0, 0x38($v0) +/* C5ABE4 802404A4 44921000 */ mtc1 $s2, $f2 +/* C5ABE8 802404A8 00000000 */ nop +/* C5ABEC 802404AC 468010A0 */ cvt.s.w $f2, $f2 +/* C5ABF0 802404B0 46020000 */ add.s $f0, $f0, $f2 +/* C5ABF4 802404B4 E4400038 */ swc1 $f0, 0x38($v0) +.L802404B8: +/* C5ABF8 802404B8 8FBF001C */ lw $ra, 0x1c($sp) +/* C5ABFC 802404BC 8FB20018 */ lw $s2, 0x18($sp) +/* C5AC00 802404C0 8FB10014 */ lw $s1, 0x14($sp) +/* C5AC04 802404C4 8FB00010 */ lw $s0, 0x10($sp) +/* C5AC08 802404C8 24020002 */ addiu $v0, $zero, 2 +/* C5AC0C 802404CC 03E00008 */ jr $ra +/* C5AC10 802404D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* C5AC14 802404D4 00000000 */ nop +/* C5AC18 802404D8 00000000 */ nop +/* C5AC1C 802404DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802404E0_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802404E0_C5A740.s new file mode 100644 index 0000000000..2660b4c8ab --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802404E0_C5A740.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404E0_C5AC20 +/* C5AC20 802404E0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C5AC24 802404E4 AFB3002C */ sw $s3, 0x2c($sp) +/* C5AC28 802404E8 0080982D */ daddu $s3, $a0, $zero +/* C5AC2C 802404EC AFBF0030 */ sw $ra, 0x30($sp) +/* C5AC30 802404F0 AFB20028 */ sw $s2, 0x28($sp) +/* C5AC34 802404F4 AFB10024 */ sw $s1, 0x24($sp) +/* C5AC38 802404F8 AFB00020 */ sw $s0, 0x20($sp) +/* C5AC3C 802404FC 8E710148 */ lw $s1, 0x148($s3) +/* C5AC40 80240500 86240008 */ lh $a0, 8($s1) +/* C5AC44 80240504 0C00EABB */ jal get_npc_unsafe +/* C5AC48 80240508 00A0902D */ daddu $s2, $a1, $zero +/* C5AC4C 8024050C 8E440004 */ lw $a0, 4($s2) +/* C5AC50 80240510 0040802D */ daddu $s0, $v0, $zero +/* C5AC54 80240514 00041FC2 */ srl $v1, $a0, 0x1f +/* C5AC58 80240518 00832021 */ addu $a0, $a0, $v1 +/* C5AC5C 8024051C 00042043 */ sra $a0, $a0, 1 +/* C5AC60 80240520 0C00A67F */ jal rand_int +/* C5AC64 80240524 24840001 */ addiu $a0, $a0, 1 +/* C5AC68 80240528 8E430004 */ lw $v1, 4($s2) +/* C5AC6C 8024052C 000327C2 */ srl $a0, $v1, 0x1f +/* C5AC70 80240530 00641821 */ addu $v1, $v1, $a0 +/* C5AC74 80240534 00031843 */ sra $v1, $v1, 1 +/* C5AC78 80240538 00621821 */ addu $v1, $v1, $v0 +/* C5AC7C 8024053C A603008E */ sh $v1, 0x8e($s0) +/* C5AC80 80240540 8E2300D0 */ lw $v1, 0xd0($s1) +/* C5AC84 80240544 C6000040 */ lwc1 $f0, 0x40($s0) +/* C5AC88 80240548 C4640000 */ lwc1 $f4, ($v1) +/* C5AC8C 8024054C 46802120 */ cvt.s.w $f4, $f4 +/* C5AC90 80240550 C4620008 */ lwc1 $f2, 8($v1) +/* C5AC94 80240554 468010A0 */ cvt.s.w $f2, $f2 +/* C5AC98 80240558 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5AC9C 8024055C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5ACA0 80240560 44061000 */ mfc1 $a2, $f2 +/* C5ACA4 80240564 C440000C */ lwc1 $f0, 0xc($v0) +/* C5ACA8 80240568 46800020 */ cvt.s.w $f0, $f0 +/* C5ACAC 8024056C E7A00014 */ swc1 $f0, 0x14($sp) +/* C5ACB0 80240570 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5ACB4 80240574 44052000 */ mfc1 $a1, $f4 +/* C5ACB8 80240578 C4400010 */ lwc1 $f0, 0x10($v0) +/* C5ACBC 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* C5ACC0 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* C5ACC4 80240584 8C640018 */ lw $a0, 0x18($v1) +/* C5ACC8 80240588 0C0123F5 */ jal is_point_within_region +/* C5ACCC 8024058C 8E070038 */ lw $a3, 0x38($s0) +/* C5ACD0 80240590 1040000E */ beqz $v0, .L802405CC +/* C5ACD4 80240594 00000000 */ nop +/* C5ACD8 80240598 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5ACDC 8024059C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C5ACE0 802405A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5ACE4 802405A4 C4460000 */ lwc1 $f6, ($v0) +/* C5ACE8 802405A8 468031A0 */ cvt.s.w $f6, $f6 +/* C5ACEC 802405AC 44063000 */ mfc1 $a2, $f6 +/* C5ACF0 802405B0 C4460008 */ lwc1 $f6, 8($v0) +/* C5ACF4 802405B4 468031A0 */ cvt.s.w $f6, $f6 +/* C5ACF8 802405B8 44073000 */ mfc1 $a3, $f6 +/* C5ACFC 802405BC 0C00A720 */ jal atan2 +/* C5AD00 802405C0 00000000 */ nop +/* C5AD04 802405C4 0809017F */ j .L802405FC +/* C5AD08 802405C8 E600000C */ swc1 $f0, 0xc($s0) +.L802405CC: +/* C5AD0C 802405CC 0C00A67F */ jal rand_int +/* C5AD10 802405D0 2404003C */ addiu $a0, $zero, 0x3c +/* C5AD14 802405D4 C60C000C */ lwc1 $f12, 0xc($s0) +/* C5AD18 802405D8 44820000 */ mtc1 $v0, $f0 +/* C5AD1C 802405DC 00000000 */ nop +/* C5AD20 802405E0 46800020 */ cvt.s.w $f0, $f0 +/* C5AD24 802405E4 46006300 */ add.s $f12, $f12, $f0 +/* C5AD28 802405E8 3C0141F0 */ lui $at, 0x41f0 +/* C5AD2C 802405EC 44810000 */ mtc1 $at, $f0 +/* C5AD30 802405F0 0C00A6C9 */ jal clamp_angle +/* C5AD34 802405F4 46006301 */ sub.s $f12, $f12, $f0 +/* C5AD38 802405F8 E600000C */ swc1 $f0, 0xc($s0) +.L802405FC: +/* C5AD3C 802405FC 8E2200CC */ lw $v0, 0xcc($s1) +/* C5AD40 80240600 8C420004 */ lw $v0, 4($v0) +/* C5AD44 80240604 AE020028 */ sw $v0, 0x28($s0) +/* C5AD48 80240608 AE600074 */ sw $zero, 0x74($s3) +/* C5AD4C 8024060C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5AD50 80240610 8C420014 */ lw $v0, 0x14($v0) +/* C5AD54 80240614 04410004 */ bgez $v0, .L80240628 +/* C5AD58 80240618 00000000 */ nop +/* C5AD5C 8024061C C6400000 */ lwc1 $f0, ($s2) +/* C5AD60 80240620 08090192 */ j .L80240648 +/* C5AD64 80240624 E6000018 */ swc1 $f0, 0x18($s0) +.L80240628: +/* C5AD68 80240628 3C018024 */ lui $at, 0x8024 +/* C5AD6C 8024062C D4226500 */ ldc1 $f2, 0x6500($at) +/* C5AD70 80240630 44820000 */ mtc1 $v0, $f0 +/* C5AD74 80240634 00000000 */ nop +/* C5AD78 80240638 46800021 */ cvt.d.w $f0, $f0 +/* C5AD7C 8024063C 46220003 */ div.d $f0, $f0, $f2 +/* C5AD80 80240640 46200020 */ cvt.s.d $f0, $f0 +/* C5AD84 80240644 E6000018 */ swc1 $f0, 0x18($s0) +.L80240648: +/* C5AD88 80240648 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5AD8C 8024064C 3C014059 */ lui $at, 0x4059 +/* C5AD90 80240650 44811800 */ mtc1 $at, $f3 +/* C5AD94 80240654 44801000 */ mtc1 $zero, $f2 +/* C5AD98 80240658 46000021 */ cvt.d.s $f0, $f0 +/* C5AD9C 8024065C 46220002 */ mul.d $f0, $f0, $f2 +/* C5ADA0 80240660 00000000 */ nop +/* C5ADA4 80240664 24020001 */ addiu $v0, $zero, 1 +/* C5ADA8 80240668 4620018D */ trunc.w.d $f6, $f0 +/* C5ADAC 8024066C E626007C */ swc1 $f6, 0x7c($s1) +/* C5ADB0 80240670 AE620070 */ sw $v0, 0x70($s3) +/* C5ADB4 80240674 8FBF0030 */ lw $ra, 0x30($sp) +/* C5ADB8 80240678 8FB3002C */ lw $s3, 0x2c($sp) +/* C5ADBC 8024067C 8FB20028 */ lw $s2, 0x28($sp) +/* C5ADC0 80240680 8FB10024 */ lw $s1, 0x24($sp) +/* C5ADC4 80240684 8FB00020 */ lw $s0, 0x20($sp) +/* C5ADC8 80240688 03E00008 */ jr $ra +/* C5ADCC 8024068C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240690_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240690_C5A740.s new file mode 100644 index 0000000000..fcc6eda0b8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240690_C5A740.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240690_C5ADD0 +/* C5ADD0 80240690 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C5ADD4 80240694 AFB3004C */ sw $s3, 0x4c($sp) +/* C5ADD8 80240698 0080982D */ daddu $s3, $a0, $zero +/* C5ADDC 8024069C AFBF0058 */ sw $ra, 0x58($sp) +/* C5ADE0 802406A0 AFB50054 */ sw $s5, 0x54($sp) +/* C5ADE4 802406A4 AFB40050 */ sw $s4, 0x50($sp) +/* C5ADE8 802406A8 AFB20048 */ sw $s2, 0x48($sp) +/* C5ADEC 802406AC AFB10044 */ sw $s1, 0x44($sp) +/* C5ADF0 802406B0 AFB00040 */ sw $s0, 0x40($sp) +/* C5ADF4 802406B4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C5ADF8 802406B8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C5ADFC 802406BC F7B60068 */ sdc1 $f22, 0x68($sp) +/* C5AE00 802406C0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C5AE04 802406C4 8E710148 */ lw $s1, 0x148($s3) +/* C5AE08 802406C8 00A0902D */ daddu $s2, $a1, $zero +/* C5AE0C 802406CC 86240008 */ lh $a0, 8($s1) +/* C5AE10 802406D0 0C00EABB */ jal get_npc_unsafe +/* C5AE14 802406D4 00C0A82D */ daddu $s5, $a2, $zero +/* C5AE18 802406D8 0040802D */ daddu $s0, $v0, $zero +/* C5AE1C 802406DC 0000A02D */ daddu $s4, $zero, $zero +/* C5AE20 802406E0 C624007C */ lwc1 $f4, 0x7c($s1) +/* C5AE24 802406E4 46802120 */ cvt.s.w $f4, $f4 +/* C5AE28 802406E8 C6220088 */ lwc1 $f2, 0x88($s1) +/* C5AE2C 802406EC 468010A0 */ cvt.s.w $f2, $f2 +/* C5AE30 802406F0 460010A1 */ cvt.d.s $f2, $f2 +/* C5AE34 802406F4 46002121 */ cvt.d.s $f4, $f4 +/* C5AE38 802406F8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5AE3C 802406FC 3C014059 */ lui $at, 0x4059 +/* C5AE40 80240700 44813800 */ mtc1 $at, $f7 +/* C5AE44 80240704 44803000 */ mtc1 $zero, $f6 +/* C5AE48 80240708 46000021 */ cvt.d.s $f0, $f0 +/* C5AE4C 8024070C 46260002 */ mul.d $f0, $f0, $f6 +/* C5AE50 80240710 00000000 */ nop +/* C5AE54 80240714 24020001 */ addiu $v0, $zero, 1 +/* C5AE58 80240718 8E24006C */ lw $a0, 0x6c($s1) +/* C5AE5C 8024071C 46261083 */ div.d $f2, $f2, $f6 +/* C5AE60 80240720 462010A0 */ cvt.s.d $f2, $f2 +/* C5AE64 80240724 46262103 */ div.d $f4, $f4, $f6 +/* C5AE68 80240728 46202520 */ cvt.s.d $f20, $f4 +/* C5AE6C 8024072C 30830011 */ andi $v1, $a0, 0x11 +/* C5AE70 80240730 4620020D */ trunc.w.d $f8, $f0 +/* C5AE74 80240734 E628007C */ swc1 $f8, 0x7c($s1) +/* C5AE78 80240738 C6200078 */ lwc1 $f0, 0x78($s1) +/* C5AE7C 8024073C 46800020 */ cvt.s.w $f0, $f0 +/* C5AE80 80240740 46000021 */ cvt.d.s $f0, $f0 +/* C5AE84 80240744 46260003 */ div.d $f0, $f0, $f6 +/* C5AE88 80240748 462006A0 */ cvt.s.d $f26, $f0 +/* C5AE8C 8024074C C6200070 */ lwc1 $f0, 0x70($s1) +/* C5AE90 80240750 46800020 */ cvt.s.w $f0, $f0 +/* C5AE94 80240754 46000021 */ cvt.d.s $f0, $f0 +/* C5AE98 80240758 46260003 */ div.d $f0, $f0, $f6 +/* C5AE9C 8024075C 462005A0 */ cvt.s.d $f22, $f0 +/* C5AEA0 80240760 14620025 */ bne $v1, $v0, .L802407F8 +/* C5AEA4 80240764 4602D600 */ add.s $f24, $f26, $f2 +/* C5AEA8 80240768 8E020000 */ lw $v0, ($s0) +/* C5AEAC 8024076C 30420008 */ andi $v0, $v0, 8 +/* C5AEB0 80240770 10400009 */ beqz $v0, .L80240798 +/* C5AEB4 80240774 27A50028 */ addiu $a1, $sp, 0x28 +/* C5AEB8 80240778 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5AEBC 8024077C 4600C001 */ sub.s $f0, $f24, $f0 +/* C5AEC0 80240780 4600B03C */ c.lt.s $f22, $f0 +/* C5AEC4 80240784 00000000 */ nop +/* C5AEC8 80240788 4500001B */ bc1f .L802407F8 +/* C5AECC 8024078C 34820010 */ ori $v0, $a0, 0x10 +/* C5AED0 80240790 080901FE */ j .L802407F8 +/* C5AED4 80240794 AE22006C */ sw $v0, 0x6c($s1) +.L80240798: +/* C5AED8 80240798 27A6002C */ addiu $a2, $sp, 0x2c +/* C5AEDC 8024079C C6000038 */ lwc1 $f0, 0x38($s0) +/* C5AEE0 802407A0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5AEE4 802407A4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C5AEE8 802407A8 3C01447A */ lui $at, 0x447a +/* C5AEEC 802407AC 44813000 */ mtc1 $at, $f6 +/* C5AEF0 802407B0 27A20034 */ addiu $v0, $sp, 0x34 +/* C5AEF4 802407B4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C5AEF8 802407B8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C5AEFC 802407BC E7A40030 */ swc1 $f4, 0x30($sp) +/* C5AF00 802407C0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C5AF04 802407C4 AFA20010 */ sw $v0, 0x10($sp) +/* C5AF08 802407C8 8E040080 */ lw $a0, 0x80($s0) +/* C5AF0C 802407CC 0C0372DF */ jal func_800DCB7C +/* C5AF10 802407D0 27A70030 */ addiu $a3, $sp, 0x30 +/* C5AF14 802407D4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C5AF18 802407D8 4600D001 */ sub.s $f0, $f26, $f0 +/* C5AF1C 802407DC 4600B03C */ c.lt.s $f22, $f0 +/* C5AF20 802407E0 00000000 */ nop +/* C5AF24 802407E4 45000004 */ bc1f .L802407F8 +/* C5AF28 802407E8 00000000 */ nop +/* C5AF2C 802407EC 8E22006C */ lw $v0, 0x6c($s1) +/* C5AF30 802407F0 34420010 */ ori $v0, $v0, 0x10 +/* C5AF34 802407F4 AE22006C */ sw $v0, 0x6c($s1) +.L802407F8: +/* C5AF38 802407F8 8E22006C */ lw $v0, 0x6c($s1) +/* C5AF3C 802407FC 24030011 */ addiu $v1, $zero, 0x11 +/* C5AF40 80240800 30420011 */ andi $v0, $v0, 0x11 +/* C5AF44 80240804 14430039 */ bne $v0, $v1, .L802408EC +/* C5AF48 80240808 00000000 */ nop +/* C5AF4C 8024080C 8E020000 */ lw $v0, ($s0) +/* C5AF50 80240810 30420008 */ andi $v0, $v0, 8 +/* C5AF54 80240814 1040000A */ beqz $v0, .L80240840 +/* C5AF58 80240818 4600C106 */ mov.s $f4, $f24 +/* C5AF5C 8024081C 4614C081 */ sub.s $f2, $f24, $f20 +/* C5AF60 80240820 3C018024 */ lui $at, 0x8024 +/* C5AF64 80240824 D4206508 */ ldc1 $f0, 0x6508($at) +/* C5AF68 80240828 460010A1 */ cvt.d.s $f2, $f2 +/* C5AF6C 8024082C 46201082 */ mul.d $f2, $f2, $f0 +/* C5AF70 80240830 00000000 */ nop +/* C5AF74 80240834 4600A021 */ cvt.d.s $f0, $f20 +/* C5AF78 80240838 08090229 */ j .L802408A4 +/* C5AF7C 8024083C 46220000 */ add.d $f0, $f0, $f2 +.L80240840: +/* C5AF80 80240840 27A50028 */ addiu $a1, $sp, 0x28 +/* C5AF84 80240844 27A6002C */ addiu $a2, $sp, 0x2c +/* C5AF88 80240848 C6000038 */ lwc1 $f0, 0x38($s0) +/* C5AF8C 8024084C C6020040 */ lwc1 $f2, 0x40($s0) +/* C5AF90 80240850 3C01447A */ lui $at, 0x447a +/* C5AF94 80240854 44812000 */ mtc1 $at, $f4 +/* C5AF98 80240858 27A20034 */ addiu $v0, $sp, 0x34 +/* C5AF9C 8024085C E7B4002C */ swc1 $f20, 0x2c($sp) +/* C5AFA0 80240860 E7A00028 */ swc1 $f0, 0x28($sp) +/* C5AFA4 80240864 E7A20030 */ swc1 $f2, 0x30($sp) +/* C5AFA8 80240868 E7A40034 */ swc1 $f4, 0x34($sp) +/* C5AFAC 8024086C AFA20010 */ sw $v0, 0x10($sp) +/* C5AFB0 80240870 8E040080 */ lw $a0, 0x80($s0) +/* C5AFB4 80240874 0C0372DF */ jal func_800DCB7C +/* C5AFB8 80240878 27A70030 */ addiu $a3, $sp, 0x30 +/* C5AFBC 8024087C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C5AFC0 80240880 461A2100 */ add.s $f4, $f4, $f26 +/* C5AFC4 80240884 46142081 */ sub.s $f2, $f4, $f20 +/* C5AFC8 80240888 3C018024 */ lui $at, 0x8024 +/* C5AFCC 8024088C D4206510 */ ldc1 $f0, 0x6510($at) +/* C5AFD0 80240890 460010A1 */ cvt.d.s $f2, $f2 +/* C5AFD4 80240894 46201082 */ mul.d $f2, $f2, $f0 +/* C5AFD8 80240898 00000000 */ nop +/* C5AFDC 8024089C 4600A021 */ cvt.d.s $f0, $f20 +/* C5AFE0 802408A0 46220000 */ add.d $f0, $f0, $f2 +.L802408A4: +/* C5AFE4 802408A4 46200020 */ cvt.s.d $f0, $f0 +/* C5AFE8 802408A8 E600003C */ swc1 $f0, 0x3c($s0) +/* C5AFEC 802408AC C600003C */ lwc1 $f0, 0x3c($s0) +/* C5AFF0 802408B0 46002001 */ sub.s $f0, $f4, $f0 +/* C5AFF4 802408B4 3C013FF0 */ lui $at, 0x3ff0 +/* C5AFF8 802408B8 44811800 */ mtc1 $at, $f3 +/* C5AFFC 802408BC 44801000 */ mtc1 $zero, $f2 +/* C5B000 802408C0 46000005 */ abs.s $f0, $f0 +/* C5B004 802408C4 46000021 */ cvt.d.s $f0, $f0 +/* C5B008 802408C8 4622003C */ c.lt.d $f0, $f2 +/* C5B00C 802408CC 00000000 */ nop +/* C5B010 802408D0 45000036 */ bc1f .L802409AC +/* C5B014 802408D4 2403FFEF */ addiu $v1, $zero, -0x11 +/* C5B018 802408D8 E604003C */ swc1 $f4, 0x3c($s0) +/* C5B01C 802408DC 8E22006C */ lw $v0, 0x6c($s1) +/* C5B020 802408E0 00431024 */ and $v0, $v0, $v1 +/* C5B024 802408E4 0809026B */ j .L802409AC +/* C5B028 802408E8 AE22006C */ sw $v0, 0x6c($s1) +.L802408EC: +/* C5B02C 802408EC 8E220070 */ lw $v0, 0x70($s1) +/* C5B030 802408F0 1840002E */ blez $v0, .L802409AC +/* C5B034 802408F4 00000000 */ nop +/* C5B038 802408F8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C5B03C 802408FC 0C00A8BB */ jal sin_deg +/* C5B040 80240900 46806320 */ cvt.s.w $f12, $f12 +/* C5B044 80240904 8E020000 */ lw $v0, ($s0) +/* C5B048 80240908 30420008 */ andi $v0, $v0, 8 +/* C5B04C 8024090C 10400003 */ beqz $v0, .L8024091C +/* C5B050 80240910 46000506 */ mov.s $f20, $f0 +/* C5B054 80240914 08090257 */ j .L8024095C +/* C5B058 80240918 0000102D */ daddu $v0, $zero, $zero +.L8024091C: +/* C5B05C 8024091C 27A50028 */ addiu $a1, $sp, 0x28 +/* C5B060 80240920 27A6002C */ addiu $a2, $sp, 0x2c +/* C5B064 80240924 C6000038 */ lwc1 $f0, 0x38($s0) +/* C5B068 80240928 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5B06C 8024092C C6040040 */ lwc1 $f4, 0x40($s0) +/* C5B070 80240930 3C01447A */ lui $at, 0x447a +/* C5B074 80240934 44813000 */ mtc1 $at, $f6 +/* C5B078 80240938 27A20034 */ addiu $v0, $sp, 0x34 +/* C5B07C 8024093C E7A00028 */ swc1 $f0, 0x28($sp) +/* C5B080 80240940 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C5B084 80240944 E7A40030 */ swc1 $f4, 0x30($sp) +/* C5B088 80240948 E7A60034 */ swc1 $f6, 0x34($sp) +/* C5B08C 8024094C AFA20010 */ sw $v0, 0x10($sp) +/* C5B090 80240950 8E040080 */ lw $a0, 0x80($s0) +/* C5B094 80240954 0C0372DF */ jal func_800DCB7C +/* C5B098 80240958 27A70030 */ addiu $a3, $sp, 0x30 +.L8024095C: +/* C5B09C 8024095C 10400007 */ beqz $v0, .L8024097C +/* C5B0A0 80240960 00000000 */ nop +/* C5B0A4 80240964 4616A082 */ mul.s $f2, $f20, $f22 +/* C5B0A8 80240968 00000000 */ nop +/* C5B0AC 8024096C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C5B0B0 80240970 461A0000 */ add.s $f0, $f0, $f26 +/* C5B0B4 80240974 08090262 */ j .L80240988 +/* C5B0B8 80240978 46020000 */ add.s $f0, $f0, $f2 +.L8024097C: +/* C5B0BC 8024097C 4616A002 */ mul.s $f0, $f20, $f22 +/* C5B0C0 80240980 00000000 */ nop +/* C5B0C4 80240984 4600C000 */ add.s $f0, $f24, $f0 +.L80240988: +/* C5B0C8 80240988 E600003C */ swc1 $f0, 0x3c($s0) +/* C5B0CC 8024098C 8E220074 */ lw $v0, 0x74($s1) +/* C5B0D0 80240990 2442000A */ addiu $v0, $v0, 0xa +/* C5B0D4 80240994 44826000 */ mtc1 $v0, $f12 +/* C5B0D8 80240998 00000000 */ nop +/* C5B0DC 8024099C 0C00A6C9 */ jal clamp_angle +/* C5B0E0 802409A0 46806320 */ cvt.s.w $f12, $f12 +/* C5B0E4 802409A4 4600020D */ trunc.w.s $f8, $f0 +/* C5B0E8 802409A8 E6280074 */ swc1 $f8, 0x74($s1) +.L802409AC: +/* C5B0EC 802409AC 8E220090 */ lw $v0, 0x90($s1) +/* C5B0F0 802409B0 1C40004A */ bgtz $v0, .L80240ADC +/* C5B0F4 802409B4 2442FFFF */ addiu $v0, $v0, -1 +/* C5B0F8 802409B8 8E430014 */ lw $v1, 0x14($s2) +/* C5B0FC 802409BC 04600048 */ bltz $v1, .L80240AE0 +/* C5B100 802409C0 00000000 */ nop +/* C5B104 802409C4 8E620074 */ lw $v0, 0x74($s3) +/* C5B108 802409C8 1C400042 */ bgtz $v0, .L80240AD4 +/* C5B10C 802409CC 2442FFFF */ addiu $v0, $v0, -1 +/* C5B110 802409D0 AE630074 */ sw $v1, 0x74($s3) +/* C5B114 802409D4 860200A8 */ lh $v0, 0xa8($s0) +/* C5B118 802409D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5B11C 802409DC 44820000 */ mtc1 $v0, $f0 +/* C5B120 802409E0 00000000 */ nop +/* C5B124 802409E4 46800020 */ cvt.s.w $f0, $f0 +/* C5B128 802409E8 46001080 */ add.s $f2, $f2, $f0 +/* C5B12C 802409EC 3C014024 */ lui $at, 0x4024 +/* C5B130 802409F0 44810800 */ mtc1 $at, $f1 +/* C5B134 802409F4 44800000 */ mtc1 $zero, $f0 +/* C5B138 802409F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5B13C 802409FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5B140 80240A00 460010A1 */ cvt.d.s $f2, $f2 +/* C5B144 80240A04 46201080 */ add.d $f2, $f2, $f0 +/* C5B148 80240A08 C440002C */ lwc1 $f0, 0x2c($v0) +/* C5B14C 80240A0C 46000021 */ cvt.d.s $f0, $f0 +/* C5B150 80240A10 4622003C */ c.lt.d $f0, $f2 +/* C5B154 80240A14 00000000 */ nop +/* C5B158 80240A18 4500002C */ bc1f .L80240ACC +/* C5B15C 80240A1C 02A0202D */ daddu $a0, $s5, $zero +/* C5B160 80240A20 AFA00010 */ sw $zero, 0x10($sp) +/* C5B164 80240A24 8E46000C */ lw $a2, 0xc($s2) +/* C5B168 80240A28 8E470010 */ lw $a3, 0x10($s2) +/* C5B16C 80240A2C 0C01242D */ jal func_800490B4 +/* C5B170 80240A30 0220282D */ daddu $a1, $s1, $zero +/* C5B174 80240A34 10400025 */ beqz $v0, .L80240ACC +/* C5B178 80240A38 0000202D */ daddu $a0, $zero, $zero +/* C5B17C 80240A3C 0200282D */ daddu $a1, $s0, $zero +/* C5B180 80240A40 0000302D */ daddu $a2, $zero, $zero +/* C5B184 80240A44 2412000C */ addiu $s2, $zero, 0xc +/* C5B188 80240A48 860300A8 */ lh $v1, 0xa8($s0) +/* C5B18C 80240A4C 3C013F80 */ lui $at, 0x3f80 +/* C5B190 80240A50 44810000 */ mtc1 $at, $f0 +/* C5B194 80240A54 3C014000 */ lui $at, 0x4000 +/* C5B198 80240A58 44811000 */ mtc1 $at, $f2 +/* C5B19C 80240A5C 3C01C1A0 */ lui $at, 0xc1a0 +/* C5B1A0 80240A60 44812000 */ mtc1 $at, $f4 +/* C5B1A4 80240A64 44834000 */ mtc1 $v1, $f8 +/* C5B1A8 80240A68 00000000 */ nop +/* C5B1AC 80240A6C 46804220 */ cvt.s.w $f8, $f8 +/* C5B1B0 80240A70 44074000 */ mfc1 $a3, $f8 +/* C5B1B4 80240A74 27A20038 */ addiu $v0, $sp, 0x38 +/* C5B1B8 80240A78 AFB2001C */ sw $s2, 0x1c($sp) +/* C5B1BC 80240A7C AFA20020 */ sw $v0, 0x20($sp) +/* C5B1C0 80240A80 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5B1C4 80240A84 E7A20014 */ swc1 $f2, 0x14($sp) +/* C5B1C8 80240A88 0C01BFA4 */ jal fx_emote +/* C5B1CC 80240A8C E7A40018 */ swc1 $f4, 0x18($sp) +/* C5B1D0 80240A90 0200202D */ daddu $a0, $s0, $zero +/* C5B1D4 80240A94 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C5B1D8 80240A98 C480003C */ lwc1 $f0, 0x3c($a0) +/* C5B1DC 80240A9C 3C060020 */ lui $a2, 0x20 +/* C5B1E0 80240AA0 0C012530 */ jal func_800494C0 +/* C5B1E4 80240AA4 E4800064 */ swc1 $f0, 0x64($a0) +/* C5B1E8 80240AA8 8E220018 */ lw $v0, 0x18($s1) +/* C5B1EC 80240AAC 9442002A */ lhu $v0, 0x2a($v0) +/* C5B1F0 80240AB0 30420001 */ andi $v0, $v0, 1 +/* C5B1F4 80240AB4 10400003 */ beqz $v0, .L80240AC4 +/* C5B1F8 80240AB8 2402000A */ addiu $v0, $zero, 0xa +/* C5B1FC 80240ABC 08090321 */ j .L80240C84 +/* C5B200 80240AC0 AE620070 */ sw $v0, 0x70($s3) +.L80240AC4: +/* C5B204 80240AC4 08090321 */ j .L80240C84 +/* C5B208 80240AC8 AE720070 */ sw $s2, 0x70($s3) +.L80240ACC: +/* C5B20C 80240ACC 8E620074 */ lw $v0, 0x74($s3) +/* C5B210 80240AD0 2442FFFF */ addiu $v0, $v0, -1 +.L80240AD4: +/* C5B214 80240AD4 080902B8 */ j .L80240AE0 +/* C5B218 80240AD8 AE620074 */ sw $v0, 0x74($s3) +.L80240ADC: +/* C5B21C 80240ADC AE220090 */ sw $v0, 0x90($s1) +.L80240AE0: +/* C5B220 80240AE0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C5B224 80240AE4 C6000040 */ lwc1 $f0, 0x40($s0) +/* C5B228 80240AE8 C4620000 */ lwc1 $f2, ($v1) +/* C5B22C 80240AEC 468010A0 */ cvt.s.w $f2, $f2 +/* C5B230 80240AF0 C4640008 */ lwc1 $f4, 8($v1) +/* C5B234 80240AF4 46802120 */ cvt.s.w $f4, $f4 +/* C5B238 80240AF8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5B23C 80240AFC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5B240 80240B00 44051000 */ mfc1 $a1, $f2 +/* C5B244 80240B04 C440000C */ lwc1 $f0, 0xc($v0) +/* C5B248 80240B08 46800020 */ cvt.s.w $f0, $f0 +/* C5B24C 80240B0C E7A00014 */ swc1 $f0, 0x14($sp) +/* C5B250 80240B10 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5B254 80240B14 44062000 */ mfc1 $a2, $f4 +/* C5B258 80240B18 C4400010 */ lwc1 $f0, 0x10($v0) +/* C5B25C 80240B1C 46800020 */ cvt.s.w $f0, $f0 +/* C5B260 80240B20 E7A00018 */ swc1 $f0, 0x18($sp) +/* C5B264 80240B24 8C640018 */ lw $a0, 0x18($v1) +/* C5B268 80240B28 0C0123F5 */ jal is_point_within_region +/* C5B26C 80240B2C 8E070038 */ lw $a3, 0x38($s0) +/* C5B270 80240B30 1040001A */ beqz $v0, .L80240B9C +/* C5B274 80240B34 00000000 */ nop +/* C5B278 80240B38 8E060038 */ lw $a2, 0x38($s0) +/* C5B27C 80240B3C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5B280 80240B40 8E070040 */ lw $a3, 0x40($s0) +/* C5B284 80240B44 C44C0000 */ lwc1 $f12, ($v0) +/* C5B288 80240B48 46806320 */ cvt.s.w $f12, $f12 +/* C5B28C 80240B4C C44E0008 */ lwc1 $f14, 8($v0) +/* C5B290 80240B50 0C00A7B5 */ jal dist2D +/* C5B294 80240B54 468073A0 */ cvt.s.w $f14, $f14 +/* C5B298 80240B58 C6020018 */ lwc1 $f2, 0x18($s0) +/* C5B29C 80240B5C 4600103C */ c.lt.s $f2, $f0 +/* C5B2A0 80240B60 00000000 */ nop +/* C5B2A4 80240B64 4500000D */ bc1f .L80240B9C +/* C5B2A8 80240B68 E7A00034 */ swc1 $f0, 0x34($sp) +/* C5B2AC 80240B6C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C5B2B0 80240B70 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5B2B4 80240B74 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5B2B8 80240B78 C4480000 */ lwc1 $f8, ($v0) +/* C5B2BC 80240B7C 46804220 */ cvt.s.w $f8, $f8 +/* C5B2C0 80240B80 44064000 */ mfc1 $a2, $f8 +/* C5B2C4 80240B84 C4480008 */ lwc1 $f8, 8($v0) +/* C5B2C8 80240B88 46804220 */ cvt.s.w $f8, $f8 +/* C5B2CC 80240B8C 44074000 */ mfc1 $a3, $f8 +/* C5B2D0 80240B90 0C00A720 */ jal atan2 +/* C5B2D4 80240B94 24140001 */ addiu $s4, $zero, 1 +/* C5B2D8 80240B98 E600000C */ swc1 $f0, 0xc($s0) +.L80240B9C: +/* C5B2DC 80240B9C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C5B2E0 80240BA0 8C43000C */ lw $v1, 0xc($v0) +/* C5B2E4 80240BA4 8C420010 */ lw $v0, 0x10($v0) +/* C5B2E8 80240BA8 00621825 */ or $v1, $v1, $v0 +/* C5B2EC 80240BAC 00741825 */ or $v1, $v1, $s4 +/* C5B2F0 80240BB0 10600008 */ beqz $v1, .L80240BD4 +/* C5B2F4 80240BB4 00000000 */ nop +/* C5B2F8 80240BB8 8602008C */ lh $v0, 0x8c($s0) +/* C5B2FC 80240BBC 14400031 */ bnez $v0, .L80240C84 +/* C5B300 80240BC0 00000000 */ nop +/* C5B304 80240BC4 8E050018 */ lw $a1, 0x18($s0) +/* C5B308 80240BC8 8E06000C */ lw $a2, 0xc($s0) +/* C5B30C 80240BCC 0C00EA95 */ jal npc_move_heading +/* C5B310 80240BD0 0200202D */ daddu $a0, $s0, $zero +.L80240BD4: +/* C5B314 80240BD4 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5B318 80240BD8 3C014059 */ lui $at, 0x4059 +/* C5B31C 80240BDC 44811800 */ mtc1 $at, $f3 +/* C5B320 80240BE0 44801000 */ mtc1 $zero, $f2 +/* C5B324 80240BE4 46000021 */ cvt.d.s $f0, $f0 +/* C5B328 80240BE8 46220002 */ mul.d $f0, $f0, $f2 +/* C5B32C 80240BEC 00000000 */ nop +/* C5B330 80240BF0 4620020D */ trunc.w.d $f8, $f0 +/* C5B334 80240BF4 E628007C */ swc1 $f8, 0x7c($s1) +/* C5B338 80240BF8 8E420004 */ lw $v0, 4($s2) +/* C5B33C 80240BFC 18400021 */ blez $v0, .L80240C84 +/* C5B340 80240C00 00000000 */ nop +/* C5B344 80240C04 8602008E */ lh $v0, 0x8e($s0) +/* C5B348 80240C08 9603008E */ lhu $v1, 0x8e($s0) +/* C5B34C 80240C0C 18400005 */ blez $v0, .L80240C24 +/* C5B350 80240C10 2462FFFF */ addiu $v0, $v1, -1 +/* C5B354 80240C14 A602008E */ sh $v0, 0x8e($s0) +/* C5B358 80240C18 00021400 */ sll $v0, $v0, 0x10 +/* C5B35C 80240C1C 1C400019 */ bgtz $v0, .L80240C84 +/* C5B360 80240C20 00000000 */ nop +.L80240C24: +/* C5B364 80240C24 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C5B368 80240C28 24020002 */ addiu $v0, $zero, 2 +/* C5B36C 80240C2C 0C00A67F */ jal rand_int +/* C5B370 80240C30 AE620070 */ sw $v0, 0x70($s3) +/* C5B374 80240C34 3C035555 */ lui $v1, 0x5555 +/* C5B378 80240C38 34635556 */ ori $v1, $v1, 0x5556 +/* C5B37C 80240C3C 00430018 */ mult $v0, $v1 +/* C5B380 80240C40 000227C3 */ sra $a0, $v0, 0x1f +/* C5B384 80240C44 00004010 */ mfhi $t0 +/* C5B388 80240C48 01042023 */ subu $a0, $t0, $a0 +/* C5B38C 80240C4C 00041840 */ sll $v1, $a0, 1 +/* C5B390 80240C50 00641821 */ addu $v1, $v1, $a0 +/* C5B394 80240C54 00431023 */ subu $v0, $v0, $v1 +/* C5B398 80240C58 24430002 */ addiu $v1, $v0, 2 +/* C5B39C 80240C5C AE630074 */ sw $v1, 0x74($s3) +/* C5B3A0 80240C60 8E42002C */ lw $v0, 0x2c($s2) +/* C5B3A4 80240C64 58400007 */ blezl $v0, .L80240C84 +/* C5B3A8 80240C68 AE600070 */ sw $zero, 0x70($s3) +/* C5B3AC 80240C6C 8E420008 */ lw $v0, 8($s2) +/* C5B3B0 80240C70 18400003 */ blez $v0, .L80240C80 +/* C5B3B4 80240C74 28620003 */ slti $v0, $v1, 3 +/* C5B3B8 80240C78 10400002 */ beqz $v0, .L80240C84 +/* C5B3BC 80240C7C 00000000 */ nop +.L80240C80: +/* C5B3C0 80240C80 AE600070 */ sw $zero, 0x70($s3) +.L80240C84: +/* C5B3C4 80240C84 8FBF0058 */ lw $ra, 0x58($sp) +/* C5B3C8 80240C88 8FB50054 */ lw $s5, 0x54($sp) +/* C5B3CC 80240C8C 8FB40050 */ lw $s4, 0x50($sp) +/* C5B3D0 80240C90 8FB3004C */ lw $s3, 0x4c($sp) +/* C5B3D4 80240C94 8FB20048 */ lw $s2, 0x48($sp) +/* C5B3D8 80240C98 8FB10044 */ lw $s1, 0x44($sp) +/* C5B3DC 80240C9C 8FB00040 */ lw $s0, 0x40($sp) +/* C5B3E0 80240CA0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C5B3E4 80240CA4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C5B3E8 80240CA8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C5B3EC 80240CAC D7B40060 */ ldc1 $f20, 0x60($sp) +/* C5B3F0 80240CB0 03E00008 */ jr $ra +/* C5B3F4 80240CB4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240CB8_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240CB8_C5A740.s new file mode 100644 index 0000000000..bd3e848a31 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240CB8_C5A740.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB8_C5B3F8 +/* C5B3F8 80240CB8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C5B3FC 80240CBC AFB3001C */ sw $s3, 0x1c($sp) +/* C5B400 80240CC0 0080982D */ daddu $s3, $a0, $zero +/* C5B404 80240CC4 AFBF0020 */ sw $ra, 0x20($sp) +/* C5B408 80240CC8 AFB20018 */ sw $s2, 0x18($sp) +/* C5B40C 80240CCC AFB10014 */ sw $s1, 0x14($sp) +/* C5B410 80240CD0 AFB00010 */ sw $s0, 0x10($sp) +/* C5B414 80240CD4 8E720148 */ lw $s2, 0x148($s3) +/* C5B418 80240CD8 86440008 */ lh $a0, 8($s2) +/* C5B41C 80240CDC 0C00EABB */ jal get_npc_unsafe +/* C5B420 80240CE0 00A0882D */ daddu $s1, $a1, $zero +/* C5B424 80240CE4 8E240008 */ lw $a0, 8($s1) +/* C5B428 80240CE8 0040802D */ daddu $s0, $v0, $zero +/* C5B42C 80240CEC 00041FC2 */ srl $v1, $a0, 0x1f +/* C5B430 80240CF0 00832021 */ addu $a0, $a0, $v1 +/* C5B434 80240CF4 00042043 */ sra $a0, $a0, 1 +/* C5B438 80240CF8 0C00A67F */ jal rand_int +/* C5B43C 80240CFC 24840001 */ addiu $a0, $a0, 1 +/* C5B440 80240D00 8E230008 */ lw $v1, 8($s1) +/* C5B444 80240D04 240400B4 */ addiu $a0, $zero, 0xb4 +/* C5B448 80240D08 00032FC2 */ srl $a1, $v1, 0x1f +/* C5B44C 80240D0C 00651821 */ addu $v1, $v1, $a1 +/* C5B450 80240D10 00031843 */ sra $v1, $v1, 1 +/* C5B454 80240D14 00621821 */ addu $v1, $v1, $v0 +/* C5B458 80240D18 0C00A67F */ jal rand_int +/* C5B45C 80240D1C A603008E */ sh $v1, 0x8e($s0) +/* C5B460 80240D20 C60C000C */ lwc1 $f12, 0xc($s0) +/* C5B464 80240D24 44820000 */ mtc1 $v0, $f0 +/* C5B468 80240D28 00000000 */ nop +/* C5B46C 80240D2C 46800020 */ cvt.s.w $f0, $f0 +/* C5B470 80240D30 46006300 */ add.s $f12, $f12, $f0 +/* C5B474 80240D34 3C0142B4 */ lui $at, 0x42b4 +/* C5B478 80240D38 44810000 */ mtc1 $at, $f0 +/* C5B47C 80240D3C 0C00A6C9 */ jal clamp_angle +/* C5B480 80240D40 46006301 */ sub.s $f12, $f12, $f0 +/* C5B484 80240D44 E600000C */ swc1 $f0, 0xc($s0) +/* C5B488 80240D48 8E4200CC */ lw $v0, 0xcc($s2) +/* C5B48C 80240D4C 8C420000 */ lw $v0, ($v0) +/* C5B490 80240D50 AE020028 */ sw $v0, 0x28($s0) +/* C5B494 80240D54 24020003 */ addiu $v0, $zero, 3 +/* C5B498 80240D58 AE620070 */ sw $v0, 0x70($s3) +/* C5B49C 80240D5C 8FBF0020 */ lw $ra, 0x20($sp) +/* C5B4A0 80240D60 8FB3001C */ lw $s3, 0x1c($sp) +/* C5B4A4 80240D64 8FB20018 */ lw $s2, 0x18($sp) +/* C5B4A8 80240D68 8FB10014 */ lw $s1, 0x14($sp) +/* C5B4AC 80240D6C 8FB00010 */ lw $s0, 0x10($sp) +/* C5B4B0 80240D70 03E00008 */ jr $ra +/* C5B4B4 80240D74 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80240D78.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240D78.s new file mode 100644 index 0000000000..f11934da74 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80240D78.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D78 +/* C5B4B8 80240D78 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C5B4BC 80240D7C AFB3004C */ sw $s3, 0x4c($sp) +/* C5B4C0 80240D80 0080982D */ daddu $s3, $a0, $zero +/* C5B4C4 80240D84 AFBF0054 */ sw $ra, 0x54($sp) +/* C5B4C8 80240D88 AFB40050 */ sw $s4, 0x50($sp) +/* C5B4CC 80240D8C AFB20048 */ sw $s2, 0x48($sp) +/* C5B4D0 80240D90 AFB10044 */ sw $s1, 0x44($sp) +/* C5B4D4 80240D94 AFB00040 */ sw $s0, 0x40($sp) +/* C5B4D8 80240D98 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C5B4DC 80240D9C F7B80068 */ sdc1 $f24, 0x68($sp) +/* C5B4E0 80240DA0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C5B4E4 80240DA4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C5B4E8 80240DA8 8E710148 */ lw $s1, 0x148($s3) +/* C5B4EC 80240DAC 00A0902D */ daddu $s2, $a1, $zero +/* C5B4F0 80240DB0 86240008 */ lh $a0, 8($s1) +/* C5B4F4 80240DB4 0C00EABB */ jal get_npc_unsafe +/* C5B4F8 80240DB8 00C0A02D */ daddu $s4, $a2, $zero +/* C5B4FC 80240DBC 0040802D */ daddu $s0, $v0, $zero +/* C5B500 80240DC0 C6200078 */ lwc1 $f0, 0x78($s1) +/* C5B504 80240DC4 46800020 */ cvt.s.w $f0, $f0 +/* C5B508 80240DC8 46000021 */ cvt.d.s $f0, $f0 +/* C5B50C 80240DCC 3C014059 */ lui $at, 0x4059 +/* C5B510 80240DD0 44811800 */ mtc1 $at, $f3 +/* C5B514 80240DD4 44801000 */ mtc1 $zero, $f2 +/* C5B518 80240DD8 8602008E */ lh $v0, 0x8e($s0) +/* C5B51C 80240DDC 9603008E */ lhu $v1, 0x8e($s0) +/* C5B520 80240DE0 46220003 */ div.d $f0, $f0, $f2 +/* C5B524 80240DE4 46200620 */ cvt.s.d $f24, $f0 +/* C5B528 80240DE8 C6200088 */ lwc1 $f0, 0x88($s1) +/* C5B52C 80240DEC 46800020 */ cvt.s.w $f0, $f0 +/* C5B530 80240DF0 46000021 */ cvt.d.s $f0, $f0 +/* C5B534 80240DF4 46220003 */ div.d $f0, $f0, $f2 +/* C5B538 80240DF8 46200020 */ cvt.s.d $f0, $f0 +/* C5B53C 80240DFC 18400003 */ blez $v0, .L80240E0C +/* C5B540 80240E00 4600C680 */ add.s $f26, $f24, $f0 +/* C5B544 80240E04 2462FFFF */ addiu $v0, $v1, -1 +/* C5B548 80240E08 A602008E */ sh $v0, 0x8e($s0) +.L80240E0C: +/* C5B54C 80240E0C 8E220070 */ lw $v0, 0x70($s1) +/* C5B550 80240E10 18400034 */ blez $v0, .L80240EE4 +/* C5B554 80240E14 00000000 */ nop +/* C5B558 80240E18 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C5B55C 80240E1C 46806320 */ cvt.s.w $f12, $f12 +/* C5B560 80240E20 44820000 */ mtc1 $v0, $f0 +/* C5B564 80240E24 00000000 */ nop +/* C5B568 80240E28 46800020 */ cvt.s.w $f0, $f0 +/* C5B56C 80240E2C 46000021 */ cvt.d.s $f0, $f0 +/* C5B570 80240E30 46220003 */ div.d $f0, $f0, $f2 +/* C5B574 80240E34 0C00A8BB */ jal sin_deg +/* C5B578 80240E38 462005A0 */ cvt.s.d $f22, $f0 +/* C5B57C 80240E3C 8E020000 */ lw $v0, ($s0) +/* C5B580 80240E40 30420008 */ andi $v0, $v0, 8 +/* C5B584 80240E44 10400003 */ beqz $v0, .L80240E54 +/* C5B588 80240E48 46000506 */ mov.s $f20, $f0 +/* C5B58C 80240E4C 080903A5 */ j .L80240E94 +/* C5B590 80240E50 0000102D */ daddu $v0, $zero, $zero +.L80240E54: +/* C5B594 80240E54 27A50028 */ addiu $a1, $sp, 0x28 +/* C5B598 80240E58 27A6002C */ addiu $a2, $sp, 0x2c +/* C5B59C 80240E5C C6000038 */ lwc1 $f0, 0x38($s0) +/* C5B5A0 80240E60 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5B5A4 80240E64 C6040040 */ lwc1 $f4, 0x40($s0) +/* C5B5A8 80240E68 3C01447A */ lui $at, 0x447a +/* C5B5AC 80240E6C 44813000 */ mtc1 $at, $f6 +/* C5B5B0 80240E70 27A20034 */ addiu $v0, $sp, 0x34 +/* C5B5B4 80240E74 E7A00028 */ swc1 $f0, 0x28($sp) +/* C5B5B8 80240E78 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C5B5BC 80240E7C E7A40030 */ swc1 $f4, 0x30($sp) +/* C5B5C0 80240E80 E7A60034 */ swc1 $f6, 0x34($sp) +/* C5B5C4 80240E84 AFA20010 */ sw $v0, 0x10($sp) +/* C5B5C8 80240E88 8E040080 */ lw $a0, 0x80($s0) +/* C5B5CC 80240E8C 0C0372DF */ jal func_800DCB7C +/* C5B5D0 80240E90 27A70030 */ addiu $a3, $sp, 0x30 +.L80240E94: +/* C5B5D4 80240E94 10400007 */ beqz $v0, .L80240EB4 +/* C5B5D8 80240E98 00000000 */ nop +/* C5B5DC 80240E9C 4616A082 */ mul.s $f2, $f20, $f22 +/* C5B5E0 80240EA0 00000000 */ nop +/* C5B5E4 80240EA4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C5B5E8 80240EA8 46180000 */ add.s $f0, $f0, $f24 +/* C5B5EC 80240EAC 080903B0 */ j .L80240EC0 +/* C5B5F0 80240EB0 46020000 */ add.s $f0, $f0, $f2 +.L80240EB4: +/* C5B5F4 80240EB4 4616A002 */ mul.s $f0, $f20, $f22 +/* C5B5F8 80240EB8 00000000 */ nop +/* C5B5FC 80240EBC 4600D000 */ add.s $f0, $f26, $f0 +.L80240EC0: +/* C5B600 80240EC0 E600003C */ swc1 $f0, 0x3c($s0) +/* C5B604 80240EC4 8E220074 */ lw $v0, 0x74($s1) +/* C5B608 80240EC8 2442000A */ addiu $v0, $v0, 0xa +/* C5B60C 80240ECC 44826000 */ mtc1 $v0, $f12 +/* C5B610 80240ED0 00000000 */ nop +/* C5B614 80240ED4 0C00A6C9 */ jal clamp_angle +/* C5B618 80240ED8 46806320 */ cvt.s.w $f12, $f12 +/* C5B61C 80240EDC 4600020D */ trunc.w.s $f8, $f0 +/* C5B620 80240EE0 E6280074 */ swc1 $f8, 0x74($s1) +.L80240EE4: +/* C5B624 80240EE4 8E220090 */ lw $v0, 0x90($s1) +/* C5B628 80240EE8 1C400040 */ bgtz $v0, .L80240FEC +/* C5B62C 80240EEC 2442FFFF */ addiu $v0, $v0, -1 +/* C5B630 80240EF0 860200A8 */ lh $v0, 0xa8($s0) +/* C5B634 80240EF4 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5B638 80240EF8 44821000 */ mtc1 $v0, $f2 +/* C5B63C 80240EFC 00000000 */ nop +/* C5B640 80240F00 468010A0 */ cvt.s.w $f2, $f2 +/* C5B644 80240F04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5B648 80240F08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5B64C 80240F0C 46020000 */ add.s $f0, $f0, $f2 +/* C5B650 80240F10 3C014024 */ lui $at, 0x4024 +/* C5B654 80240F14 44812800 */ mtc1 $at, $f5 +/* C5B658 80240F18 44802000 */ mtc1 $zero, $f4 +/* C5B65C 80240F1C C442002C */ lwc1 $f2, 0x2c($v0) +/* C5B660 80240F20 46000021 */ cvt.d.s $f0, $f0 +/* C5B664 80240F24 46240000 */ add.d $f0, $f0, $f4 +/* C5B668 80240F28 460010A1 */ cvt.d.s $f2, $f2 +/* C5B66C 80240F2C 4620103C */ c.lt.d $f2, $f0 +/* C5B670 80240F30 00000000 */ nop +/* C5B674 80240F34 4500002E */ bc1f .L80240FF0 +/* C5B678 80240F38 0280202D */ daddu $a0, $s4, $zero +/* C5B67C 80240F3C 24020001 */ addiu $v0, $zero, 1 +/* C5B680 80240F40 AFA20010 */ sw $v0, 0x10($sp) +/* C5B684 80240F44 8E460024 */ lw $a2, 0x24($s2) +/* C5B688 80240F48 8E470028 */ lw $a3, 0x28($s2) +/* C5B68C 80240F4C 0C01242D */ jal func_800490B4 +/* C5B690 80240F50 0220282D */ daddu $a1, $s1, $zero +/* C5B694 80240F54 10400026 */ beqz $v0, .L80240FF0 +/* C5B698 80240F58 0000202D */ daddu $a0, $zero, $zero +/* C5B69C 80240F5C 0200282D */ daddu $a1, $s0, $zero +/* C5B6A0 80240F60 0000302D */ daddu $a2, $zero, $zero +/* C5B6A4 80240F64 2412000C */ addiu $s2, $zero, 0xc +/* C5B6A8 80240F68 860300A8 */ lh $v1, 0xa8($s0) +/* C5B6AC 80240F6C 3C013F80 */ lui $at, 0x3f80 +/* C5B6B0 80240F70 44810000 */ mtc1 $at, $f0 +/* C5B6B4 80240F74 3C014000 */ lui $at, 0x4000 +/* C5B6B8 80240F78 44811000 */ mtc1 $at, $f2 +/* C5B6BC 80240F7C 3C01C1A0 */ lui $at, 0xc1a0 +/* C5B6C0 80240F80 44812000 */ mtc1 $at, $f4 +/* C5B6C4 80240F84 44834000 */ mtc1 $v1, $f8 +/* C5B6C8 80240F88 00000000 */ nop +/* C5B6CC 80240F8C 46804220 */ cvt.s.w $f8, $f8 +/* C5B6D0 80240F90 44074000 */ mfc1 $a3, $f8 +/* C5B6D4 80240F94 27A20038 */ addiu $v0, $sp, 0x38 +/* C5B6D8 80240F98 AFB2001C */ sw $s2, 0x1c($sp) +/* C5B6DC 80240F9C AFA20020 */ sw $v0, 0x20($sp) +/* C5B6E0 80240FA0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5B6E4 80240FA4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C5B6E8 80240FA8 0C01BFA4 */ jal fx_emote +/* C5B6EC 80240FAC E7A40018 */ swc1 $f4, 0x18($sp) +/* C5B6F0 80240FB0 0200202D */ daddu $a0, $s0, $zero +/* C5B6F4 80240FB4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C5B6F8 80240FB8 C480003C */ lwc1 $f0, 0x3c($a0) +/* C5B6FC 80240FBC 3C060020 */ lui $a2, 0x20 +/* C5B700 80240FC0 0C012530 */ jal func_800494C0 +/* C5B704 80240FC4 E4800064 */ swc1 $f0, 0x64($a0) +/* C5B708 80240FC8 8E220018 */ lw $v0, 0x18($s1) +/* C5B70C 80240FCC 9442002A */ lhu $v0, 0x2a($v0) +/* C5B710 80240FD0 30420001 */ andi $v0, $v0, 1 +/* C5B714 80240FD4 10400003 */ beqz $v0, .L80240FE4 +/* C5B718 80240FD8 2402000A */ addiu $v0, $zero, 0xa +/* C5B71C 80240FDC 08090423 */ j .L8024108C +/* C5B720 80240FE0 AE620070 */ sw $v0, 0x70($s3) +.L80240FE4: +/* C5B724 80240FE4 08090423 */ j .L8024108C +/* C5B728 80240FE8 AE720070 */ sw $s2, 0x70($s3) +.L80240FEC: +/* C5B72C 80240FEC AE220090 */ sw $v0, 0x90($s1) +.L80240FF0: +/* C5B730 80240FF0 8602008C */ lh $v0, 0x8c($s0) +/* C5B734 80240FF4 14400025 */ bnez $v0, .L8024108C +/* C5B738 80240FF8 00000000 */ nop +/* C5B73C 80240FFC 8602008E */ lh $v0, 0x8e($s0) +/* C5B740 80241000 1C400022 */ bgtz $v0, .L8024108C +/* C5B744 80241004 00000000 */ nop +/* C5B748 80241008 8E620074 */ lw $v0, 0x74($s3) +/* C5B74C 8024100C 2442FFFF */ addiu $v0, $v0, -1 +/* C5B750 80241010 1840001D */ blez $v0, .L80241088 +/* C5B754 80241014 AE620074 */ sw $v0, 0x74($s3) +/* C5B758 80241018 8E220018 */ lw $v0, 0x18($s1) +/* C5B75C 8024101C 9442002A */ lhu $v0, 0x2a($v0) +/* C5B760 80241020 30420010 */ andi $v0, $v0, 0x10 +/* C5B764 80241024 14400007 */ bnez $v0, .L80241044 +/* C5B768 80241028 00000000 */ nop +/* C5B76C 8024102C C600000C */ lwc1 $f0, 0xc($s0) +/* C5B770 80241030 3C014334 */ lui $at, 0x4334 +/* C5B774 80241034 44816000 */ mtc1 $at, $f12 +/* C5B778 80241038 0C00A6C9 */ jal clamp_angle +/* C5B77C 8024103C 460C0300 */ add.s $f12, $f0, $f12 +/* C5B780 80241040 E600000C */ swc1 $f0, 0xc($s0) +.L80241044: +/* C5B784 80241044 0C00A67F */ jal rand_int +/* C5B788 80241048 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C5B78C 8024104C 3C032E8B */ lui $v1, 0x2e8b +/* C5B790 80241050 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C5B794 80241054 00430018 */ mult $v0, $v1 +/* C5B798 80241058 00021FC3 */ sra $v1, $v0, 0x1f +/* C5B79C 8024105C 00004010 */ mfhi $t0 +/* C5B7A0 80241060 00082043 */ sra $a0, $t0, 1 +/* C5B7A4 80241064 00832023 */ subu $a0, $a0, $v1 +/* C5B7A8 80241068 00041840 */ sll $v1, $a0, 1 +/* C5B7AC 8024106C 00641821 */ addu $v1, $v1, $a0 +/* C5B7B0 80241070 00031880 */ sll $v1, $v1, 2 +/* C5B7B4 80241074 00641823 */ subu $v1, $v1, $a0 +/* C5B7B8 80241078 00431023 */ subu $v0, $v0, $v1 +/* C5B7BC 8024107C 24420005 */ addiu $v0, $v0, 5 +/* C5B7C0 80241080 08090423 */ j .L8024108C +/* C5B7C4 80241084 A602008E */ sh $v0, 0x8e($s0) +.L80241088: +/* C5B7C8 80241088 AE600070 */ sw $zero, 0x70($s3) +.L8024108C: +/* C5B7CC 8024108C 8FBF0054 */ lw $ra, 0x54($sp) +/* C5B7D0 80241090 8FB40050 */ lw $s4, 0x50($sp) +/* C5B7D4 80241094 8FB3004C */ lw $s3, 0x4c($sp) +/* C5B7D8 80241098 8FB20048 */ lw $s2, 0x48($sp) +/* C5B7DC 8024109C 8FB10044 */ lw $s1, 0x44($sp) +/* C5B7E0 802410A0 8FB00040 */ lw $s0, 0x40($sp) +/* C5B7E4 802410A4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C5B7E8 802410A8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C5B7EC 802410AC D7B60060 */ ldc1 $f22, 0x60($sp) +/* C5B7F0 802410B0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C5B7F4 802410B4 03E00008 */ jr $ra +/* C5B7F8 802410B8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802410BC_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802410BC_C5A740.s new file mode 100644 index 0000000000..bb57c9f070 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802410BC_C5A740.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410BC_C5B7FC +/* C5B7FC 802410BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5B800 802410C0 AFB20018 */ sw $s2, 0x18($sp) +/* C5B804 802410C4 0080902D */ daddu $s2, $a0, $zero +/* C5B808 802410C8 AFBF001C */ sw $ra, 0x1c($sp) +/* C5B80C 802410CC AFB10014 */ sw $s1, 0x14($sp) +/* C5B810 802410D0 AFB00010 */ sw $s0, 0x10($sp) +/* C5B814 802410D4 8E510148 */ lw $s1, 0x148($s2) +/* C5B818 802410D8 0C00EABB */ jal get_npc_unsafe +/* C5B81C 802410DC 86240008 */ lh $a0, 8($s1) +/* C5B820 802410E0 0040802D */ daddu $s0, $v0, $zero +/* C5B824 802410E4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5B828 802410E8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5B82C 802410EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C5B830 802410F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5B834 802410F4 A600008E */ sh $zero, 0x8e($s0) +/* C5B838 802410F8 8C460028 */ lw $a2, 0x28($v0) +/* C5B83C 802410FC 0C00A720 */ jal atan2 +/* C5B840 80241100 8C470030 */ lw $a3, 0x30($v0) +/* C5B844 80241104 E600000C */ swc1 $f0, 0xc($s0) +/* C5B848 80241108 8E2200CC */ lw $v0, 0xcc($s1) +/* C5B84C 8024110C 8C420020 */ lw $v0, 0x20($v0) +/* C5B850 80241110 AE020028 */ sw $v0, 0x28($s0) +/* C5B854 80241114 2402000B */ addiu $v0, $zero, 0xb +/* C5B858 80241118 AE420070 */ sw $v0, 0x70($s2) +/* C5B85C 8024111C 8FBF001C */ lw $ra, 0x1c($sp) +/* C5B860 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* C5B864 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* C5B868 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* C5B86C 8024112C 03E00008 */ jr $ra +/* C5B870 80241130 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241134_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241134_C5A740.s new file mode 100644 index 0000000000..1809f03279 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241134_C5A740.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241134_C5B874 +/* C5B874 80241134 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5B878 80241138 AFB00010 */ sw $s0, 0x10($sp) +/* C5B87C 8024113C 0080802D */ daddu $s0, $a0, $zero +/* C5B880 80241140 AFBF0014 */ sw $ra, 0x14($sp) +/* C5B884 80241144 8E020148 */ lw $v0, 0x148($s0) +/* C5B888 80241148 0C00EABB */ jal get_npc_unsafe +/* C5B88C 8024114C 84440008 */ lh $a0, 8($v0) +/* C5B890 80241150 9443008E */ lhu $v1, 0x8e($v0) +/* C5B894 80241154 C440003C */ lwc1 $f0, 0x3c($v0) +/* C5B898 80241158 24640001 */ addiu $a0, $v1, 1 +/* C5B89C 8024115C 00031C00 */ sll $v1, $v1, 0x10 +/* C5B8A0 80241160 00031B83 */ sra $v1, $v1, 0xe +/* C5B8A4 80241164 A444008E */ sh $a0, 0x8e($v0) +/* C5B8A8 80241168 3C018024 */ lui $at, 0x8024 +/* C5B8AC 8024116C 00230821 */ addu $at, $at, $v1 +/* C5B8B0 80241170 C4224900 */ lwc1 $f2, 0x4900($at) +/* C5B8B4 80241174 8443008E */ lh $v1, 0x8e($v0) +/* C5B8B8 80241178 46020000 */ add.s $f0, $f0, $f2 +/* C5B8BC 8024117C 28630005 */ slti $v1, $v1, 5 +/* C5B8C0 80241180 14600003 */ bnez $v1, .L80241190 +/* C5B8C4 80241184 E440003C */ swc1 $f0, 0x3c($v0) +/* C5B8C8 80241188 2402000C */ addiu $v0, $zero, 0xc +/* C5B8CC 8024118C AE020070 */ sw $v0, 0x70($s0) +.L80241190: +/* C5B8D0 80241190 8FBF0014 */ lw $ra, 0x14($sp) +/* C5B8D4 80241194 8FB00010 */ lw $s0, 0x10($sp) +/* C5B8D8 80241198 03E00008 */ jr $ra +/* C5B8DC 8024119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802411A0_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802411A0_C5A740.s new file mode 100644 index 0000000000..37227f45e4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802411A0_C5A740.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_C5B8E0 +/* C5B8E0 802411A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C5B8E4 802411A4 AFB3001C */ sw $s3, 0x1c($sp) +/* C5B8E8 802411A8 0080982D */ daddu $s3, $a0, $zero +/* C5B8EC 802411AC AFBF0020 */ sw $ra, 0x20($sp) +/* C5B8F0 802411B0 AFB20018 */ sw $s2, 0x18($sp) +/* C5B8F4 802411B4 AFB10014 */ sw $s1, 0x14($sp) +/* C5B8F8 802411B8 AFB00010 */ sw $s0, 0x10($sp) +/* C5B8FC 802411BC 8E720148 */ lw $s2, 0x148($s3) +/* C5B900 802411C0 86440008 */ lh $a0, 8($s2) +/* C5B904 802411C4 0C00EABB */ jal get_npc_unsafe +/* C5B908 802411C8 00A0802D */ daddu $s0, $a1, $zero +/* C5B90C 802411CC 0040882D */ daddu $s1, $v0, $zero +/* C5B910 802411D0 C6420080 */ lwc1 $f2, 0x80($s2) +/* C5B914 802411D4 468010A0 */ cvt.s.w $f2, $f2 +/* C5B918 802411D8 460010A1 */ cvt.d.s $f2, $f2 +/* C5B91C 802411DC C6400084 */ lwc1 $f0, 0x84($s2) +/* C5B920 802411E0 46800020 */ cvt.s.w $f0, $f0 +/* C5B924 802411E4 46000021 */ cvt.d.s $f0, $f0 +/* C5B928 802411E8 3C014059 */ lui $at, 0x4059 +/* C5B92C 802411EC 44812800 */ mtc1 $at, $f5 +/* C5B930 802411F0 44802000 */ mtc1 $zero, $f4 +/* C5B934 802411F4 8E4200CC */ lw $v0, 0xcc($s2) +/* C5B938 802411F8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C5B93C 802411FC C62E0040 */ lwc1 $f14, 0x40($s1) +/* C5B940 80241200 46241083 */ div.d $f2, $f2, $f4 +/* C5B944 80241204 462010A0 */ cvt.s.d $f2, $f2 +/* C5B948 80241208 46240003 */ div.d $f0, $f0, $f4 +/* C5B94C 8024120C 8C420020 */ lw $v0, 0x20($v0) +/* C5B950 80241210 46200020 */ cvt.s.d $f0, $f0 +/* C5B954 80241214 E622001C */ swc1 $f2, 0x1c($s1) +/* C5B958 80241218 E6200014 */ swc1 $f0, 0x14($s1) +/* C5B95C 8024121C AE220028 */ sw $v0, 0x28($s1) +/* C5B960 80241220 C6000018 */ lwc1 $f0, 0x18($s0) +/* C5B964 80241224 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5B968 80241228 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5B96C 8024122C E6200018 */ swc1 $f0, 0x18($s1) +/* C5B970 80241230 8C460028 */ lw $a2, 0x28($v0) +/* C5B974 80241234 0C00A720 */ jal atan2 +/* C5B978 80241238 8C470030 */ lw $a3, 0x30($v0) +/* C5B97C 8024123C E620000C */ swc1 $f0, 0xc($s1) +/* C5B980 80241240 8E420018 */ lw $v0, 0x18($s2) +/* C5B984 80241244 AE400074 */ sw $zero, 0x74($s2) +/* C5B988 80241248 9442002A */ lhu $v0, 0x2a($v0) +/* C5B98C 8024124C 30420002 */ andi $v0, $v0, 2 +/* C5B990 80241250 10400005 */ beqz $v0, .L80241268 +/* C5B994 80241254 24020003 */ addiu $v0, $zero, 3 +/* C5B998 80241258 A622008E */ sh $v0, 0x8e($s1) +/* C5B99C 8024125C 2402000D */ addiu $v0, $zero, 0xd +/* C5B9A0 80241260 080904AE */ j .L802412B8 +/* C5B9A4 80241264 AE620070 */ sw $v0, 0x70($s3) +.L80241268: +/* C5B9A8 80241268 24030001 */ addiu $v1, $zero, 1 +/* C5B9AC 8024126C 2402000E */ addiu $v0, $zero, 0xe +/* C5B9B0 80241270 A623008E */ sh $v1, 0x8e($s1) +/* C5B9B4 80241274 AE620070 */ sw $v0, 0x70($s3) +/* C5B9B8 80241278 C6200038 */ lwc1 $f0, 0x38($s1) +/* C5B9BC 8024127C 4600018D */ trunc.w.s $f6, $f0 +/* C5B9C0 80241280 44023000 */ mfc1 $v0, $f6 +/* C5B9C4 80241284 00000000 */ nop +/* C5B9C8 80241288 A6420010 */ sh $v0, 0x10($s2) +/* C5B9CC 8024128C C620003C */ lwc1 $f0, 0x3c($s1) +/* C5B9D0 80241290 4600018D */ trunc.w.s $f6, $f0 +/* C5B9D4 80241294 44023000 */ mfc1 $v0, $f6 +/* C5B9D8 80241298 00000000 */ nop +/* C5B9DC 8024129C A6420012 */ sh $v0, 0x12($s2) +/* C5B9E0 802412A0 C6200040 */ lwc1 $f0, 0x40($s1) +/* C5B9E4 802412A4 A2430007 */ sb $v1, 7($s2) +/* C5B9E8 802412A8 4600018D */ trunc.w.s $f6, $f0 +/* C5B9EC 802412AC 44023000 */ mfc1 $v0, $f6 +/* C5B9F0 802412B0 00000000 */ nop +/* C5B9F4 802412B4 A6420014 */ sh $v0, 0x14($s2) +.L802412B8: +/* C5B9F8 802412B8 8FBF0020 */ lw $ra, 0x20($sp) +/* C5B9FC 802412BC 8FB3001C */ lw $s3, 0x1c($sp) +/* C5BA00 802412C0 8FB20018 */ lw $s2, 0x18($sp) +/* C5BA04 802412C4 8FB10014 */ lw $s1, 0x14($sp) +/* C5BA08 802412C8 8FB00010 */ lw $s0, 0x10($sp) +/* C5BA0C 802412CC 03E00008 */ jr $ra +/* C5BA10 802412D0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802412D4.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802412D4.s new file mode 100644 index 0000000000..b1b068f946 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802412D4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412D4 +/* C5BA14 802412D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5BA18 802412D8 AFB00010 */ sw $s0, 0x10($sp) +/* C5BA1C 802412DC 0080802D */ daddu $s0, $a0, $zero +/* C5BA20 802412E0 AFBF0014 */ sw $ra, 0x14($sp) +/* C5BA24 802412E4 8E020148 */ lw $v0, 0x148($s0) +/* C5BA28 802412E8 0C00EABB */ jal get_npc_unsafe +/* C5BA2C 802412EC 84440008 */ lh $a0, 8($v0) +/* C5BA30 802412F0 0040202D */ daddu $a0, $v0, $zero +/* C5BA34 802412F4 8482008E */ lh $v0, 0x8e($a0) +/* C5BA38 802412F8 9483008E */ lhu $v1, 0x8e($a0) +/* C5BA3C 802412FC 18400005 */ blez $v0, .L80241314 +/* C5BA40 80241300 2462FFFF */ addiu $v0, $v1, -1 +/* C5BA44 80241304 A482008E */ sh $v0, 0x8e($a0) +/* C5BA48 80241308 00021400 */ sll $v0, $v0, 0x10 +/* C5BA4C 8024130C 1C400006 */ bgtz $v0, .L80241328 +/* C5BA50 80241310 00000000 */ nop +.L80241314: +/* C5BA54 80241314 8482008C */ lh $v0, 0x8c($a0) +/* C5BA58 80241318 14400003 */ bnez $v0, .L80241328 +/* C5BA5C 8024131C 2402000E */ addiu $v0, $zero, 0xe +/* C5BA60 80241320 A480008E */ sh $zero, 0x8e($a0) +/* C5BA64 80241324 AE020070 */ sw $v0, 0x70($s0) +.L80241328: +/* C5BA68 80241328 8FBF0014 */ lw $ra, 0x14($sp) +/* C5BA6C 8024132C 8FB00010 */ lw $s0, 0x10($sp) +/* C5BA70 80241330 03E00008 */ jr $ra +/* C5BA74 80241334 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241338_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241338_C5A740.s new file mode 100644 index 0000000000..e9a4a224d3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241338_C5A740.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241338_C5BA78 +/* C5BA78 80241338 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C5BA7C 8024133C AFB20030 */ sw $s2, 0x30($sp) +/* C5BA80 80241340 0080902D */ daddu $s2, $a0, $zero +/* C5BA84 80241344 AFBF0038 */ sw $ra, 0x38($sp) +/* C5BA88 80241348 AFB30034 */ sw $s3, 0x34($sp) +/* C5BA8C 8024134C AFB1002C */ sw $s1, 0x2c($sp) +/* C5BA90 80241350 AFB00028 */ sw $s0, 0x28($sp) +/* C5BA94 80241354 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C5BA98 80241358 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C5BA9C 8024135C 8E510148 */ lw $s1, 0x148($s2) +/* C5BAA0 80241360 86240008 */ lh $a0, 8($s1) +/* C5BAA4 80241364 0C00EABB */ jal get_npc_unsafe +/* C5BAA8 80241368 00A0982D */ daddu $s3, $a1, $zero +/* C5BAAC 8024136C 0040802D */ daddu $s0, $v0, $zero +/* C5BAB0 80241370 0200202D */ daddu $a0, $s0, $zero +/* C5BAB4 80241374 C6220088 */ lwc1 $f2, 0x88($s1) +/* C5BAB8 80241378 468010A0 */ cvt.s.w $f2, $f2 +/* C5BABC 8024137C 460010A1 */ cvt.d.s $f2, $f2 +/* C5BAC0 80241380 C604001C */ lwc1 $f4, 0x1c($s0) +/* C5BAC4 80241384 C6000014 */ lwc1 $f0, 0x14($s0) +/* C5BAC8 80241388 8E050018 */ lw $a1, 0x18($s0) +/* C5BACC 8024138C 46002100 */ add.s $f4, $f4, $f0 +/* C5BAD0 80241390 8E06000C */ lw $a2, 0xc($s0) +/* C5BAD4 80241394 C6200078 */ lwc1 $f0, 0x78($s1) +/* C5BAD8 80241398 46800020 */ cvt.s.w $f0, $f0 +/* C5BADC 8024139C E604001C */ swc1 $f4, 0x1c($s0) +/* C5BAE0 802413A0 3C014059 */ lui $at, 0x4059 +/* C5BAE4 802413A4 44812800 */ mtc1 $at, $f5 +/* C5BAE8 802413A8 44802000 */ mtc1 $zero, $f4 +/* C5BAEC 802413AC 46000021 */ cvt.d.s $f0, $f0 +/* C5BAF0 802413B0 46240003 */ div.d $f0, $f0, $f4 +/* C5BAF4 802413B4 46200520 */ cvt.s.d $f20, $f0 +/* C5BAF8 802413B8 46241083 */ div.d $f2, $f2, $f4 +/* C5BAFC 802413BC 0C00EA95 */ jal npc_move_heading +/* C5BB00 802413C0 462015A0 */ cvt.s.d $f22, $f2 +/* C5BB04 802413C4 C604001C */ lwc1 $f4, 0x1c($s0) +/* C5BB08 802413C8 44801000 */ mtc1 $zero, $f2 +/* C5BB0C 802413CC 44801800 */ mtc1 $zero, $f3 +/* C5BB10 802413D0 46002021 */ cvt.d.s $f0, $f4 +/* C5BB14 802413D4 4620103E */ c.le.d $f2, $f0 +/* C5BB18 802413D8 00000000 */ nop +/* C5BB1C 802413DC 45000030 */ bc1f .L802414A0 +/* C5BB20 802413E0 00000000 */ nop +/* C5BB24 802413E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5BB28 802413E8 46040000 */ add.s $f0, $f0, $f4 +/* C5BB2C 802413EC E600003C */ swc1 $f0, 0x3c($s0) +/* C5BB30 802413F0 8E2200CC */ lw $v0, 0xcc($s1) +/* C5BB34 802413F4 8C420024 */ lw $v0, 0x24($v0) +/* C5BB38 802413F8 AE020028 */ sw $v0, 0x28($s0) +/* C5BB3C 802413FC A2200007 */ sb $zero, 7($s1) +/* C5BB40 80241400 8E020000 */ lw $v0, ($s0) +/* C5BB44 80241404 30420008 */ andi $v0, $v0, 8 +/* C5BB48 80241408 14400011 */ bnez $v0, .L80241450 +/* C5BB4C 8024140C 0000102D */ daddu $v0, $zero, $zero +/* C5BB50 80241410 27A50018 */ addiu $a1, $sp, 0x18 +/* C5BB54 80241414 27A6001C */ addiu $a2, $sp, 0x1c +/* C5BB58 80241418 C6000038 */ lwc1 $f0, 0x38($s0) +/* C5BB5C 8024141C C602003C */ lwc1 $f2, 0x3c($s0) +/* C5BB60 80241420 C6040040 */ lwc1 $f4, 0x40($s0) +/* C5BB64 80241424 3C01447A */ lui $at, 0x447a +/* C5BB68 80241428 44813000 */ mtc1 $at, $f6 +/* C5BB6C 8024142C 27A20024 */ addiu $v0, $sp, 0x24 +/* C5BB70 80241430 E7A00018 */ swc1 $f0, 0x18($sp) +/* C5BB74 80241434 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C5BB78 80241438 E7A40020 */ swc1 $f4, 0x20($sp) +/* C5BB7C 8024143C E7A60024 */ swc1 $f6, 0x24($sp) +/* C5BB80 80241440 AFA20010 */ sw $v0, 0x10($sp) +/* C5BB84 80241444 8E040080 */ lw $a0, 0x80($s0) +/* C5BB88 80241448 0C0372DF */ jal func_800DCB7C +/* C5BB8C 8024144C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241450: +/* C5BB90 80241450 1040000B */ beqz $v0, .L80241480 +/* C5BB94 80241454 00000000 */ nop +/* C5BB98 80241458 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C5BB9C 8024145C 46140080 */ add.s $f2, $f0, $f20 +/* C5BBA0 80241460 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5BBA4 80241464 4600103E */ c.le.s $f2, $f0 +/* C5BBA8 80241468 00000000 */ nop +/* C5BBAC 8024146C 4500008D */ bc1f .L802416A4 +/* C5BBB0 80241470 00000000 */ nop +/* C5BBB4 80241474 E602003C */ swc1 $f2, 0x3c($s0) +/* C5BBB8 80241478 080905A9 */ j .L802416A4 +/* C5BBBC 8024147C AE400070 */ sw $zero, 0x70($s2) +.L80241480: +/* C5BBC0 80241480 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5BBC4 80241484 C6000064 */ lwc1 $f0, 0x64($s0) +/* C5BBC8 80241488 4602003E */ c.le.s $f0, $f2 +/* C5BBCC 8024148C 00000000 */ nop +/* C5BBD0 80241490 45030084 */ bc1tl .L802416A4 +/* C5BBD4 80241494 AE400070 */ sw $zero, 0x70($s2) +/* C5BBD8 80241498 080905A9 */ j .L802416A4 +/* C5BBDC 8024149C 00000000 */ nop +.L802414A0: +/* C5BBE0 802414A0 4622003C */ c.lt.d $f0, $f2 +/* C5BBE4 802414A4 00000000 */ nop +/* C5BBE8 802414A8 4500007E */ bc1f .L802416A4 +/* C5BBEC 802414AC 00000000 */ nop +/* C5BBF0 802414B0 9602008E */ lhu $v0, 0x8e($s0) +/* C5BBF4 802414B4 24420001 */ addiu $v0, $v0, 1 +/* C5BBF8 802414B8 A602008E */ sh $v0, 0x8e($s0) +/* C5BBFC 802414BC 00021400 */ sll $v0, $v0, 0x10 +/* C5BC00 802414C0 8E630020 */ lw $v1, 0x20($s3) +/* C5BC04 802414C4 00021403 */ sra $v0, $v0, 0x10 +/* C5BC08 802414C8 0043102A */ slt $v0, $v0, $v1 +/* C5BC0C 802414CC 14400026 */ bnez $v0, .L80241568 +/* C5BC10 802414D0 00000000 */ nop +/* C5BC14 802414D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C5BC18 802414D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C5BC1C 802414DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5BC20 802414E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5BC24 802414E4 A600008E */ sh $zero, 0x8e($s0) +/* C5BC28 802414E8 8C460028 */ lw $a2, 0x28($v0) +/* C5BC2C 802414EC 0C00A720 */ jal atan2 +/* C5BC30 802414F0 8C470030 */ lw $a3, 0x30($v0) +/* C5BC34 802414F4 46000506 */ mov.s $f20, $f0 +/* C5BC38 802414F8 C60C000C */ lwc1 $f12, 0xc($s0) +/* C5BC3C 802414FC 0C00A70A */ jal get_clamped_angle_diff +/* C5BC40 80241500 4600A386 */ mov.s $f14, $f20 +/* C5BC44 80241504 46000086 */ mov.s $f2, $f0 +/* C5BC48 80241508 8E62001C */ lw $v0, 0x1c($s3) +/* C5BC4C 8024150C 46001005 */ abs.s $f0, $f2 +/* C5BC50 80241510 44822000 */ mtc1 $v0, $f4 +/* C5BC54 80241514 00000000 */ nop +/* C5BC58 80241518 46802120 */ cvt.s.w $f4, $f4 +/* C5BC5C 8024151C 4600203C */ c.lt.s $f4, $f0 +/* C5BC60 80241520 00000000 */ nop +/* C5BC64 80241524 4500000D */ bc1f .L8024155C +/* C5BC68 80241528 00000000 */ nop +/* C5BC6C 8024152C 44800000 */ mtc1 $zero, $f0 +/* C5BC70 80241530 C614000C */ lwc1 $f20, 0xc($s0) +/* C5BC74 80241534 4600103C */ c.lt.s $f2, $f0 +/* C5BC78 80241538 00000000 */ nop +/* C5BC7C 8024153C 45000006 */ bc1f .L80241558 +/* C5BC80 80241540 00021023 */ negu $v0, $v0 +/* C5BC84 80241544 44820000 */ mtc1 $v0, $f0 +/* C5BC88 80241548 00000000 */ nop +/* C5BC8C 8024154C 46800020 */ cvt.s.w $f0, $f0 +/* C5BC90 80241550 08090557 */ j .L8024155C +/* C5BC94 80241554 4600A500 */ add.s $f20, $f20, $f0 +.L80241558: +/* C5BC98 80241558 4604A500 */ add.s $f20, $f20, $f4 +.L8024155C: +/* C5BC9C 8024155C 0C00A6C9 */ jal clamp_angle +/* C5BCA0 80241560 4600A306 */ mov.s $f12, $f20 +/* C5BCA4 80241564 E600000C */ swc1 $f0, 0xc($s0) +.L80241568: +/* C5BCA8 80241568 8E020000 */ lw $v0, ($s0) +/* C5BCAC 8024156C 30420008 */ andi $v0, $v0, 8 +/* C5BCB0 80241570 1040000A */ beqz $v0, .L8024159C +/* C5BCB4 80241574 27A50018 */ addiu $a1, $sp, 0x18 +/* C5BCB8 80241578 C602003C */ lwc1 $f2, 0x3c($s0) +/* C5BCBC 8024157C C600001C */ lwc1 $f0, 0x1c($s0) +/* C5BCC0 80241580 46001080 */ add.s $f2, $f2, $f0 +/* C5BCC4 80241584 4616103C */ c.lt.s $f2, $f22 +/* C5BCC8 80241588 00000000 */ nop +/* C5BCCC 8024158C 45020045 */ bc1fl .L802416A4 +/* C5BCD0 80241590 E602003C */ swc1 $f2, 0x3c($s0) +/* C5BCD4 80241594 080905A8 */ j .L802416A0 +/* C5BCD8 80241598 E616003C */ swc1 $f22, 0x3c($s0) +.L8024159C: +/* C5BCDC 8024159C C6000038 */ lwc1 $f0, 0x38($s0) +/* C5BCE0 802415A0 27A6001C */ addiu $a2, $sp, 0x1c +/* C5BCE4 802415A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C5BCE8 802415A8 860200A8 */ lh $v0, 0xa8($s0) +/* C5BCEC 802415AC C600001C */ lwc1 $f0, 0x1c($s0) +/* C5BCF0 802415B0 C604003C */ lwc1 $f4, 0x3c($s0) +/* C5BCF4 802415B4 44821000 */ mtc1 $v0, $f2 +/* C5BCF8 802415B8 00000000 */ nop +/* C5BCFC 802415BC 468010A0 */ cvt.s.w $f2, $f2 +/* C5BD00 802415C0 46000005 */ abs.s $f0, $f0 +/* C5BD04 802415C4 46020000 */ add.s $f0, $f0, $f2 +/* C5BD08 802415C8 C6060040 */ lwc1 $f6, 0x40($s0) +/* C5BD0C 802415CC 27A20024 */ addiu $v0, $sp, 0x24 +/* C5BD10 802415D0 46022100 */ add.s $f4, $f4, $f2 +/* C5BD14 802415D4 3C014024 */ lui $at, 0x4024 +/* C5BD18 802415D8 44811800 */ mtc1 $at, $f3 +/* C5BD1C 802415DC 44801000 */ mtc1 $zero, $f2 +/* C5BD20 802415E0 46000021 */ cvt.d.s $f0, $f0 +/* C5BD24 802415E4 46220000 */ add.d $f0, $f0, $f2 +/* C5BD28 802415E8 E7A60020 */ swc1 $f6, 0x20($sp) +/* C5BD2C 802415EC E7A4001C */ swc1 $f4, 0x1c($sp) +/* C5BD30 802415F0 46200020 */ cvt.s.d $f0, $f0 +/* C5BD34 802415F4 E7A00024 */ swc1 $f0, 0x24($sp) +/* C5BD38 802415F8 AFA20010 */ sw $v0, 0x10($sp) +/* C5BD3C 802415FC 8E040080 */ lw $a0, 0x80($s0) +/* C5BD40 80241600 0C0372DF */ jal func_800DCB7C +/* C5BD44 80241604 27A70020 */ addiu $a3, $sp, 0x20 +/* C5BD48 80241608 10400015 */ beqz $v0, .L80241660 +/* C5BD4C 8024160C 00000000 */ nop +/* C5BD50 80241610 860200A8 */ lh $v0, 0xa8($s0) +/* C5BD54 80241614 C604001C */ lwc1 $f4, 0x1c($s0) +/* C5BD58 80241618 44820000 */ mtc1 $v0, $f0 +/* C5BD5C 8024161C 00000000 */ nop +/* C5BD60 80241620 46800020 */ cvt.s.w $f0, $f0 +/* C5BD64 80241624 46002085 */ abs.s $f2, $f4 +/* C5BD68 80241628 46020000 */ add.s $f0, $f0, $f2 +/* C5BD6C 8024162C C7A20024 */ lwc1 $f2, 0x24($sp) +/* C5BD70 80241630 4600103E */ c.le.s $f2, $f0 +/* C5BD74 80241634 00000000 */ nop +/* C5BD78 80241638 45000005 */ bc1f .L80241650 +/* C5BD7C 8024163C 00000000 */ nop +/* C5BD80 80241640 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C5BD84 80241644 AE00001C */ sw $zero, 0x1c($s0) +/* C5BD88 80241648 080905A9 */ j .L802416A4 +/* C5BD8C 8024164C E600003C */ swc1 $f0, 0x3c($s0) +.L80241650: +/* C5BD90 80241650 C600003C */ lwc1 $f0, 0x3c($s0) +/* C5BD94 80241654 46040000 */ add.s $f0, $f0, $f4 +/* C5BD98 80241658 080905A9 */ j .L802416A4 +/* C5BD9C 8024165C E600003C */ swc1 $f0, 0x3c($s0) +.L80241660: +/* C5BDA0 80241660 C606003C */ lwc1 $f6, 0x3c($s0) +/* C5BDA4 80241664 860200A8 */ lh $v0, 0xa8($s0) +/* C5BDA8 80241668 46163081 */ sub.s $f2, $f6, $f22 +/* C5BDAC 8024166C 44820000 */ mtc1 $v0, $f0 +/* C5BDB0 80241670 00000000 */ nop +/* C5BDB4 80241674 46800020 */ cvt.s.w $f0, $f0 +/* C5BDB8 80241678 46001080 */ add.s $f2, $f2, $f0 +/* C5BDBC 8024167C C604001C */ lwc1 $f4, 0x1c($s0) +/* C5BDC0 80241680 46002005 */ abs.s $f0, $f4 +/* C5BDC4 80241684 4602003C */ c.lt.s $f0, $f2 +/* C5BDC8 80241688 00000000 */ nop +/* C5BDCC 8024168C 45020005 */ bc1fl .L802416A4 +/* C5BDD0 80241690 AE00001C */ sw $zero, 0x1c($s0) +/* C5BDD4 80241694 46043000 */ add.s $f0, $f6, $f4 +/* C5BDD8 80241698 080905A9 */ j .L802416A4 +/* C5BDDC 8024169C E600003C */ swc1 $f0, 0x3c($s0) +.L802416A0: +/* C5BDE0 802416A0 AE00001C */ sw $zero, 0x1c($s0) +.L802416A4: +/* C5BDE4 802416A4 8FBF0038 */ lw $ra, 0x38($sp) +/* C5BDE8 802416A8 8FB30034 */ lw $s3, 0x34($sp) +/* C5BDEC 802416AC 8FB20030 */ lw $s2, 0x30($sp) +/* C5BDF0 802416B0 8FB1002C */ lw $s1, 0x2c($sp) +/* C5BDF4 802416B4 8FB00028 */ lw $s0, 0x28($sp) +/* C5BDF8 802416B8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C5BDFC 802416BC D7B40040 */ ldc1 $f20, 0x40($sp) +/* C5BE00 802416C0 03E00008 */ jr $ra +/* C5BE04 802416C4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802416C8_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802416C8_C5A740.s new file mode 100644 index 0000000000..419cdb8543 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802416C8_C5A740.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C8_C5BE08 +/* C5BE08 802416C8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C5BE0C 802416CC AFB00028 */ sw $s0, 0x28($sp) +/* C5BE10 802416D0 00A0802D */ daddu $s0, $a1, $zero +/* C5BE14 802416D4 AFB1002C */ sw $s1, 0x2c($sp) +/* C5BE18 802416D8 00C0882D */ daddu $s1, $a2, $zero +/* C5BE1C 802416DC AFBF0034 */ sw $ra, 0x34($sp) +/* C5BE20 802416E0 AFB20030 */ sw $s2, 0x30($sp) +/* C5BE24 802416E4 AE200070 */ sw $zero, 0x70($s1) +/* C5BE28 802416E8 8C830000 */ lw $v1, ($a0) +/* C5BE2C 802416EC 2402FDFF */ addiu $v0, $zero, -0x201 +/* C5BE30 802416F0 A480008E */ sh $zero, 0x8e($a0) +/* C5BE34 802416F4 00621824 */ and $v1, $v1, $v0 +/* C5BE38 802416F8 34650800 */ ori $a1, $v1, 0x800 +/* C5BE3C 802416FC AC850000 */ sw $a1, ($a0) +/* C5BE40 80241700 8E0200D0 */ lw $v0, 0xd0($s0) +/* C5BE44 80241704 8C420034 */ lw $v0, 0x34($v0) +/* C5BE48 80241708 10400003 */ beqz $v0, .L80241718 +/* C5BE4C 8024170C 00E0902D */ daddu $s2, $a3, $zero +/* C5BE50 80241710 080905C8 */ j .L80241720 +/* C5BE54 80241714 34620808 */ ori $v0, $v1, 0x808 +.L80241718: +/* C5BE58 80241718 2402FFF7 */ addiu $v0, $zero, -9 +/* C5BE5C 8024171C 00A21024 */ and $v0, $a1, $v0 +.L80241720: +/* C5BE60 80241720 AC820000 */ sw $v0, ($a0) +/* C5BE64 80241724 27A20024 */ addiu $v0, $sp, 0x24 +/* C5BE68 80241728 27A50018 */ addiu $a1, $sp, 0x18 +/* C5BE6C 8024172C C4800038 */ lwc1 $f0, 0x38($a0) +/* C5BE70 80241730 C482003C */ lwc1 $f2, 0x3c($a0) +/* C5BE74 80241734 C4840040 */ lwc1 $f4, 0x40($a0) +/* C5BE78 80241738 3C01447A */ lui $at, 0x447a +/* C5BE7C 8024173C 44813000 */ mtc1 $at, $f6 +/* C5BE80 80241740 27A6001C */ addiu $a2, $sp, 0x1c +/* C5BE84 80241744 E7A00018 */ swc1 $f0, 0x18($sp) +/* C5BE88 80241748 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C5BE8C 8024174C E7A40020 */ swc1 $f4, 0x20($sp) +/* C5BE90 80241750 E7A60024 */ swc1 $f6, 0x24($sp) +/* C5BE94 80241754 AFA20010 */ sw $v0, 0x10($sp) +/* C5BE98 80241758 8C840080 */ lw $a0, 0x80($a0) +/* C5BE9C 8024175C 0C0372DF */ jal func_800DCB7C +/* C5BEA0 80241760 27A70020 */ addiu $a3, $sp, 0x20 +/* C5BEA4 80241764 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C5BEA8 80241768 3C014059 */ lui $at, 0x4059 +/* C5BEAC 8024176C 44812800 */ mtc1 $at, $f5 +/* C5BEB0 80241770 44802000 */ mtc1 $zero, $f4 +/* C5BEB4 80241774 460010A1 */ cvt.d.s $f2, $f2 +/* C5BEB8 80241778 46241082 */ mul.d $f2, $f2, $f4 +/* C5BEBC 8024177C 00000000 */ nop +/* C5BEC0 80241780 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C5BEC4 80241784 46000021 */ cvt.d.s $f0, $f0 +/* C5BEC8 80241788 46240002 */ mul.d $f0, $f0, $f4 +/* C5BECC 8024178C 00000000 */ nop +/* C5BED0 80241790 3C013FE0 */ lui $at, 0x3fe0 +/* C5BED4 80241794 44812800 */ mtc1 $at, $f5 +/* C5BED8 80241798 44802000 */ mtc1 $zero, $f4 +/* C5BEDC 8024179C 00000000 */ nop +/* C5BEE0 802417A0 46241080 */ add.d $f2, $f2, $f4 +/* C5BEE4 802417A4 AE000074 */ sw $zero, 0x74($s0) +/* C5BEE8 802417A8 46240000 */ add.d $f0, $f0, $f4 +/* C5BEEC 802417AC AE000090 */ sw $zero, 0x90($s0) +/* C5BEF0 802417B0 4620120D */ trunc.w.d $f8, $f2 +/* C5BEF4 802417B4 E6080078 */ swc1 $f8, 0x78($s0) +/* C5BEF8 802417B8 4620020D */ trunc.w.d $f8, $f0 +/* C5BEFC 802417BC E6080088 */ swc1 $f8, 0x88($s0) +/* C5BF00 802417C0 8E420014 */ lw $v0, 0x14($s2) +/* C5BF04 802417C4 AE220074 */ sw $v0, 0x74($s1) +/* C5BF08 802417C8 8E0200B0 */ lw $v0, 0xb0($s0) +/* C5BF0C 802417CC 34420010 */ ori $v0, $v0, 0x10 +/* C5BF10 802417D0 AE0200B0 */ sw $v0, 0xb0($s0) +/* C5BF14 802417D4 8FBF0034 */ lw $ra, 0x34($sp) +/* C5BF18 802417D8 8FB20030 */ lw $s2, 0x30($sp) +/* C5BF1C 802417DC 8FB1002C */ lw $s1, 0x2c($sp) +/* C5BF20 802417E0 8FB00028 */ lw $s0, 0x28($sp) +/* C5BF24 802417E4 03E00008 */ jr $ra +/* C5BF28 802417E8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802417EC_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802417EC_C5A740.s new file mode 100644 index 0000000000..900a872787 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802417EC_C5A740.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417EC_C5BF2C +/* C5BF2C 802417EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C5BF30 802417F0 AFB40040 */ sw $s4, 0x40($sp) +/* C5BF34 802417F4 0080A02D */ daddu $s4, $a0, $zero +/* C5BF38 802417F8 AFBF0048 */ sw $ra, 0x48($sp) +/* C5BF3C 802417FC AFB50044 */ sw $s5, 0x44($sp) +/* C5BF40 80241800 AFB3003C */ sw $s3, 0x3c($sp) +/* C5BF44 80241804 AFB20038 */ sw $s2, 0x38($sp) +/* C5BF48 80241808 AFB10034 */ sw $s1, 0x34($sp) +/* C5BF4C 8024180C AFB00030 */ sw $s0, 0x30($sp) +/* C5BF50 80241810 8E920148 */ lw $s2, 0x148($s4) +/* C5BF54 80241814 86440008 */ lh $a0, 8($s2) +/* C5BF58 80241818 8E90000C */ lw $s0, 0xc($s4) +/* C5BF5C 8024181C 0C00EABB */ jal get_npc_unsafe +/* C5BF60 80241820 00A0882D */ daddu $s1, $a1, $zero +/* C5BF64 80241824 0280202D */ daddu $a0, $s4, $zero +/* C5BF68 80241828 8E050000 */ lw $a1, ($s0) +/* C5BF6C 8024182C 0C0B1EAF */ jal get_variable +/* C5BF70 80241830 0040A82D */ daddu $s5, $v0, $zero +/* C5BF74 80241834 AFA00010 */ sw $zero, 0x10($sp) +/* C5BF78 80241838 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5BF7C 8024183C 8C630030 */ lw $v1, 0x30($v1) +/* C5BF80 80241840 AFA30014 */ sw $v1, 0x14($sp) +/* C5BF84 80241844 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5BF88 80241848 8C63001C */ lw $v1, 0x1c($v1) +/* C5BF8C 8024184C AFA30018 */ sw $v1, 0x18($sp) +/* C5BF90 80241850 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5BF94 80241854 8C630024 */ lw $v1, 0x24($v1) +/* C5BF98 80241858 AFA3001C */ sw $v1, 0x1c($sp) +/* C5BF9C 8024185C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5BFA0 80241860 8C630028 */ lw $v1, 0x28($v1) +/* C5BFA4 80241864 27B30010 */ addiu $s3, $sp, 0x10 +/* C5BFA8 80241868 AFA30020 */ sw $v1, 0x20($sp) +/* C5BFAC 8024186C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5BFB0 80241870 3C0142F0 */ lui $at, 0x42f0 +/* C5BFB4 80241874 44810000 */ mtc1 $at, $f0 +/* C5BFB8 80241878 8C63002C */ lw $v1, 0x2c($v1) +/* C5BFBC 8024187C 0040802D */ daddu $s0, $v0, $zero +/* C5BFC0 80241880 E7A00028 */ swc1 $f0, 0x28($sp) +/* C5BFC4 80241884 A7A0002C */ sh $zero, 0x2c($sp) +/* C5BFC8 80241888 12200006 */ beqz $s1, .L802418A4 +/* C5BFCC 8024188C AFA30024 */ sw $v1, 0x24($sp) +/* C5BFD0 80241890 02A0202D */ daddu $a0, $s5, $zero +/* C5BFD4 80241894 0240282D */ daddu $a1, $s2, $zero +/* C5BFD8 80241898 0280302D */ daddu $a2, $s4, $zero +/* C5BFDC 8024189C 0C0905B2 */ jal func_802416C8 +/* C5BFE0 802418A0 0200382D */ daddu $a3, $s0, $zero +.L802418A4: +/* C5BFE4 802418A4 2402FFFE */ addiu $v0, $zero, -2 +/* C5BFE8 802418A8 A2A200AB */ sb $v0, 0xab($s5) +/* C5BFEC 802418AC 8E4300B0 */ lw $v1, 0xb0($s2) +/* C5BFF0 802418B0 30620004 */ andi $v0, $v1, 4 +/* C5BFF4 802418B4 10400007 */ beqz $v0, .L802418D4 +/* C5BFF8 802418B8 00000000 */ nop +/* C5BFFC 802418BC 824200B4 */ lb $v0, 0xb4($s2) +/* C5C000 802418C0 1440003C */ bnez $v0, .L802419B4 +/* C5C004 802418C4 0000102D */ daddu $v0, $zero, $zero +/* C5C008 802418C8 2402FFFB */ addiu $v0, $zero, -5 +/* C5C00C 802418CC 00621024 */ and $v0, $v1, $v0 +/* C5C010 802418D0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802418D4: +/* C5C014 802418D4 8E830070 */ lw $v1, 0x70($s4) +/* C5C018 802418D8 2C62000F */ sltiu $v0, $v1, 0xf +/* C5C01C 802418DC 10400034 */ beqz $v0, .L802419B0 +/* C5C020 802418E0 00031080 */ sll $v0, $v1, 2 +/* C5C024 802418E4 3C018024 */ lui $at, 0x8024 +/* C5C028 802418E8 00220821 */ addu $at, $at, $v0 +/* C5C02C 802418EC 8C226518 */ lw $v0, 0x6518($at) +/* C5C030 802418F0 00400008 */ jr $v0 +/* C5C034 802418F4 00000000 */ nop +/* C5C038 802418F8 0280202D */ daddu $a0, $s4, $zero +/* C5C03C 802418FC 0200282D */ daddu $a1, $s0, $zero +/* C5C040 80241900 0C090138 */ jal func_802404E0 +/* C5C044 80241904 0260302D */ daddu $a2, $s3, $zero +/* C5C048 80241908 0280202D */ daddu $a0, $s4, $zero +/* C5C04C 8024190C 0200282D */ daddu $a1, $s0, $zero +/* C5C050 80241910 0C0901A4 */ jal func_80240690 +/* C5C054 80241914 0260302D */ daddu $a2, $s3, $zero +/* C5C058 80241918 0809066D */ j .L802419B4 +/* C5C05C 8024191C 0000102D */ daddu $v0, $zero, $zero +/* C5C060 80241920 0280202D */ daddu $a0, $s4, $zero +/* C5C064 80241924 0200282D */ daddu $a1, $s0, $zero +/* C5C068 80241928 0C09032E */ jal func_80240CB8 +/* C5C06C 8024192C 0260302D */ daddu $a2, $s3, $zero +/* C5C070 80241930 0280202D */ daddu $a0, $s4, $zero +/* C5C074 80241934 0200282D */ daddu $a1, $s0, $zero +/* C5C078 80241938 0C09035E */ jal func_80240D78 +/* C5C07C 8024193C 0260302D */ daddu $a2, $s3, $zero +/* C5C080 80241940 0809066D */ j .L802419B4 +/* C5C084 80241944 0000102D */ daddu $v0, $zero, $zero +/* C5C088 80241948 0280202D */ daddu $a0, $s4, $zero +/* C5C08C 8024194C 0200282D */ daddu $a1, $s0, $zero +/* C5C090 80241950 0C09042F */ jal func_802410BC +/* C5C094 80241954 0260302D */ daddu $a2, $s3, $zero +/* C5C098 80241958 0280202D */ daddu $a0, $s4, $zero +/* C5C09C 8024195C 0200282D */ daddu $a1, $s0, $zero +/* C5C0A0 80241960 0C09044D */ jal func_80241134 +/* C5C0A4 80241964 0260302D */ daddu $a2, $s3, $zero +/* C5C0A8 80241968 0809066D */ j .L802419B4 +/* C5C0AC 8024196C 0000102D */ daddu $v0, $zero, $zero +/* C5C0B0 80241970 0280202D */ daddu $a0, $s4, $zero +/* C5C0B4 80241974 0200282D */ daddu $a1, $s0, $zero +/* C5C0B8 80241978 0C090468 */ jal func_802411A0 +/* C5C0BC 8024197C 0260302D */ daddu $a2, $s3, $zero +/* C5C0C0 80241980 0809066D */ j .L802419B4 +/* C5C0C4 80241984 0000102D */ daddu $v0, $zero, $zero +/* C5C0C8 80241988 0280202D */ daddu $a0, $s4, $zero +/* C5C0CC 8024198C 0200282D */ daddu $a1, $s0, $zero +/* C5C0D0 80241990 0C0904B5 */ jal func_802412D4 +/* C5C0D4 80241994 0260302D */ daddu $a2, $s3, $zero +/* C5C0D8 80241998 0809066D */ j .L802419B4 +/* C5C0DC 8024199C 0000102D */ daddu $v0, $zero, $zero +/* C5C0E0 802419A0 0280202D */ daddu $a0, $s4, $zero +/* C5C0E4 802419A4 0200282D */ daddu $a1, $s0, $zero +/* C5C0E8 802419A8 0C0904CE */ jal func_80241338 +/* C5C0EC 802419AC 0260302D */ daddu $a2, $s3, $zero +.L802419B0: +/* C5C0F0 802419B0 0000102D */ daddu $v0, $zero, $zero +.L802419B4: +/* C5C0F4 802419B4 8FBF0048 */ lw $ra, 0x48($sp) +/* C5C0F8 802419B8 8FB50044 */ lw $s5, 0x44($sp) +/* C5C0FC 802419BC 8FB40040 */ lw $s4, 0x40($sp) +/* C5C100 802419C0 8FB3003C */ lw $s3, 0x3c($sp) +/* C5C104 802419C4 8FB20038 */ lw $s2, 0x38($sp) +/* C5C108 802419C8 8FB10034 */ lw $s1, 0x34($sp) +/* C5C10C 802419CC 8FB00030 */ lw $s0, 0x30($sp) +/* C5C110 802419D0 03E00008 */ jr $ra +/* C5C114 802419D4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802419D8_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802419D8_C5A740.s new file mode 100644 index 0000000000..549ea3075a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802419D8_C5A740.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D8_C5C118 +/* C5C118 802419D8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C5C11C 802419DC AFB3001C */ sw $s3, 0x1c($sp) +/* C5C120 802419E0 0080982D */ daddu $s3, $a0, $zero +/* C5C124 802419E4 AFBF0020 */ sw $ra, 0x20($sp) +/* C5C128 802419E8 AFB20018 */ sw $s2, 0x18($sp) +/* C5C12C 802419EC AFB10014 */ sw $s1, 0x14($sp) +/* C5C130 802419F0 AFB00010 */ sw $s0, 0x10($sp) +/* C5C134 802419F4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C5C138 802419F8 8E710148 */ lw $s1, 0x148($s3) +/* C5C13C 802419FC 86240008 */ lh $a0, 8($s1) +/* C5C140 80241A00 0C00EABB */ jal get_npc_unsafe +/* C5C144 80241A04 00A0802D */ daddu $s0, $a1, $zero +/* C5C148 80241A08 8E040020 */ lw $a0, 0x20($s0) +/* C5C14C 80241A0C 0040902D */ daddu $s2, $v0, $zero +/* C5C150 80241A10 00041FC2 */ srl $v1, $a0, 0x1f +/* C5C154 80241A14 00832021 */ addu $a0, $a0, $v1 +/* C5C158 80241A18 00042043 */ sra $a0, $a0, 1 +/* C5C15C 80241A1C 0C00A67F */ jal rand_int +/* C5C160 80241A20 24840001 */ addiu $a0, $a0, 1 +/* C5C164 80241A24 8E030020 */ lw $v1, 0x20($s0) +/* C5C168 80241A28 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C5C16C 80241A2C 000327C2 */ srl $a0, $v1, 0x1f +/* C5C170 80241A30 00641821 */ addu $v1, $v1, $a0 +/* C5C174 80241A34 00031843 */ sra $v1, $v1, 1 +/* C5C178 80241A38 00621821 */ addu $v1, $v1, $v0 +/* C5C17C 80241A3C A643008E */ sh $v1, 0x8e($s2) +/* C5C180 80241A40 8E2200CC */ lw $v0, 0xcc($s1) +/* C5C184 80241A44 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C5C188 80241A48 8C42000C */ lw $v0, 0xc($v0) +/* C5C18C 80241A4C AE420028 */ sw $v0, 0x28($s2) +/* C5C190 80241A50 C6000018 */ lwc1 $f0, 0x18($s0) +/* C5C194 80241A54 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5C198 80241A58 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5C19C 80241A5C E6400018 */ swc1 $f0, 0x18($s2) +/* C5C1A0 80241A60 8C460028 */ lw $a2, 0x28($v0) +/* C5C1A4 80241A64 0C00A720 */ jal atan2 +/* C5C1A8 80241A68 8C470030 */ lw $a3, 0x30($v0) +/* C5C1AC 80241A6C 46000506 */ mov.s $f20, $f0 +/* C5C1B0 80241A70 C64C000C */ lwc1 $f12, 0xc($s2) +/* C5C1B4 80241A74 0C00A70A */ jal get_clamped_angle_diff +/* C5C1B8 80241A78 4600A386 */ mov.s $f14, $f20 +/* C5C1BC 80241A7C 46000086 */ mov.s $f2, $f0 +/* C5C1C0 80241A80 8E02001C */ lw $v0, 0x1c($s0) +/* C5C1C4 80241A84 46001005 */ abs.s $f0, $f2 +/* C5C1C8 80241A88 44822000 */ mtc1 $v0, $f4 +/* C5C1CC 80241A8C 00000000 */ nop +/* C5C1D0 80241A90 46802120 */ cvt.s.w $f4, $f4 +/* C5C1D4 80241A94 4600203C */ c.lt.s $f4, $f0 +/* C5C1D8 80241A98 00000000 */ nop +/* C5C1DC 80241A9C 4500000D */ bc1f .L80241AD4 +/* C5C1E0 80241AA0 00000000 */ nop +/* C5C1E4 80241AA4 44800000 */ mtc1 $zero, $f0 +/* C5C1E8 80241AA8 C654000C */ lwc1 $f20, 0xc($s2) +/* C5C1EC 80241AAC 4600103C */ c.lt.s $f2, $f0 +/* C5C1F0 80241AB0 00000000 */ nop +/* C5C1F4 80241AB4 45000006 */ bc1f .L80241AD0 +/* C5C1F8 80241AB8 00021023 */ negu $v0, $v0 +/* C5C1FC 80241ABC 44820000 */ mtc1 $v0, $f0 +/* C5C200 80241AC0 00000000 */ nop +/* C5C204 80241AC4 46800020 */ cvt.s.w $f0, $f0 +/* C5C208 80241AC8 080906B5 */ j .L80241AD4 +/* C5C20C 80241ACC 4600A500 */ add.s $f20, $f20, $f0 +.L80241AD0: +/* C5C210 80241AD0 4604A500 */ add.s $f20, $f20, $f4 +.L80241AD4: +/* C5C214 80241AD4 0C00A6C9 */ jal clamp_angle +/* C5C218 80241AD8 4600A306 */ mov.s $f12, $f20 +/* C5C21C 80241ADC 2402000D */ addiu $v0, $zero, 0xd +/* C5C220 80241AE0 E640000C */ swc1 $f0, 0xc($s2) +/* C5C224 80241AE4 AE620070 */ sw $v0, 0x70($s3) +/* C5C228 80241AE8 8FBF0020 */ lw $ra, 0x20($sp) +/* C5C22C 80241AEC 8FB3001C */ lw $s3, 0x1c($sp) +/* C5C230 80241AF0 8FB20018 */ lw $s2, 0x18($sp) +/* C5C234 80241AF4 8FB10014 */ lw $s1, 0x14($sp) +/* C5C238 80241AF8 8FB00010 */ lw $s0, 0x10($sp) +/* C5C23C 80241AFC D7B40028 */ ldc1 $f20, 0x28($sp) +/* C5C240 80241B00 03E00008 */ jr $ra +/* C5C244 80241B04 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241B08_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241B08_C5A740.s new file mode 100644 index 0000000000..2650827a32 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241B08_C5A740.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B08_C5C248 +/* C5C248 80241B08 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C5C24C 80241B0C AFB3004C */ sw $s3, 0x4c($sp) +/* C5C250 80241B10 0080982D */ daddu $s3, $a0, $zero +/* C5C254 80241B14 AFBF0050 */ sw $ra, 0x50($sp) +/* C5C258 80241B18 AFB20048 */ sw $s2, 0x48($sp) +/* C5C25C 80241B1C AFB10044 */ sw $s1, 0x44($sp) +/* C5C260 80241B20 AFB00040 */ sw $s0, 0x40($sp) +/* C5C264 80241B24 8E720148 */ lw $s2, 0x148($s3) +/* C5C268 80241B28 00A0882D */ daddu $s1, $a1, $zero +/* C5C26C 80241B2C 86440008 */ lh $a0, 8($s2) +/* C5C270 80241B30 0C00EABB */ jal get_npc_unsafe +/* C5C274 80241B34 00C0802D */ daddu $s0, $a2, $zero +/* C5C278 80241B38 0200202D */ daddu $a0, $s0, $zero +/* C5C27C 80241B3C 0240282D */ daddu $a1, $s2, $zero +/* C5C280 80241B40 24030001 */ addiu $v1, $zero, 1 +/* C5C284 80241B44 AFA30010 */ sw $v1, 0x10($sp) +/* C5C288 80241B48 8E260024 */ lw $a2, 0x24($s1) +/* C5C28C 80241B4C 8E270028 */ lw $a3, 0x28($s1) +/* C5C290 80241B50 0C01242D */ jal func_800490B4 +/* C5C294 80241B54 0040802D */ daddu $s0, $v0, $zero +/* C5C298 80241B58 14400020 */ bnez $v0, .L80241BDC +/* C5C29C 80241B5C 24040002 */ addiu $a0, $zero, 2 +/* C5C2A0 80241B60 0200282D */ daddu $a1, $s0, $zero +/* C5C2A4 80241B64 0000302D */ daddu $a2, $zero, $zero +/* C5C2A8 80241B68 860300A8 */ lh $v1, 0xa8($s0) +/* C5C2AC 80241B6C 3C013F80 */ lui $at, 0x3f80 +/* C5C2B0 80241B70 44810000 */ mtc1 $at, $f0 +/* C5C2B4 80241B74 3C014000 */ lui $at, 0x4000 +/* C5C2B8 80241B78 44811000 */ mtc1 $at, $f2 +/* C5C2BC 80241B7C 3C01C1A0 */ lui $at, 0xc1a0 +/* C5C2C0 80241B80 44812000 */ mtc1 $at, $f4 +/* C5C2C4 80241B84 2402000F */ addiu $v0, $zero, 0xf +/* C5C2C8 80241B88 AFA2001C */ sw $v0, 0x1c($sp) +/* C5C2CC 80241B8C 44834000 */ mtc1 $v1, $f8 +/* C5C2D0 80241B90 00000000 */ nop +/* C5C2D4 80241B94 46804220 */ cvt.s.w $f8, $f8 +/* C5C2D8 80241B98 44074000 */ mfc1 $a3, $f8 +/* C5C2DC 80241B9C 27A20028 */ addiu $v0, $sp, 0x28 +/* C5C2E0 80241BA0 AFA20020 */ sw $v0, 0x20($sp) +/* C5C2E4 80241BA4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5C2E8 80241BA8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C5C2EC 80241BAC 0C01BFA4 */ jal fx_emote +/* C5C2F0 80241BB0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C5C2F4 80241BB4 8E4200CC */ lw $v0, 0xcc($s2) +/* C5C2F8 80241BB8 8C430000 */ lw $v1, ($v0) +/* C5C2FC 80241BBC 2402001E */ addiu $v0, $zero, 0x1e +/* C5C300 80241BC0 A602008E */ sh $v0, 0x8e($s0) +/* C5C304 80241BC4 24020014 */ addiu $v0, $zero, 0x14 +/* C5C308 80241BC8 AE030028 */ sw $v1, 0x28($s0) +/* C5C30C 80241BCC AE620070 */ sw $v0, 0x70($s3) +/* C5C310 80241BD0 2402001E */ addiu $v0, $zero, 0x1e +/* C5C314 80241BD4 0809075B */ j .L80241D6C +/* C5C318 80241BD8 AE420090 */ sw $v0, 0x90($s2) +.L80241BDC: +/* C5C31C 80241BDC 8E050018 */ lw $a1, 0x18($s0) +/* C5C320 80241BE0 8E06000C */ lw $a2, 0xc($s0) +/* C5C324 80241BE4 0C00EA95 */ jal npc_move_heading +/* C5C328 80241BE8 0200202D */ daddu $a0, $s0, $zero +/* C5C32C 80241BEC 8E020000 */ lw $v0, ($s0) +/* C5C330 80241BF0 30420008 */ andi $v0, $v0, 8 +/* C5C334 80241BF4 14400028 */ bnez $v0, .L80241C98 +/* C5C338 80241BF8 0000882D */ daddu $s1, $zero, $zero +/* C5C33C 80241BFC 27A5002C */ addiu $a1, $sp, 0x2c +/* C5C340 80241C00 27A60030 */ addiu $a2, $sp, 0x30 +/* C5C344 80241C04 860200A8 */ lh $v0, 0xa8($s0) +/* C5C348 80241C08 C6000038 */ lwc1 $f0, 0x38($s0) +/* C5C34C 80241C0C 44821000 */ mtc1 $v0, $f2 +/* C5C350 80241C10 00000000 */ nop +/* C5C354 80241C14 468010A0 */ cvt.s.w $f2, $f2 +/* C5C358 80241C18 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C5C35C 80241C1C 860200A8 */ lh $v0, 0xa8($s0) +/* C5C360 80241C20 C604003C */ lwc1 $f4, 0x3c($s0) +/* C5C364 80241C24 C6060040 */ lwc1 $f6, 0x40($s0) +/* C5C368 80241C28 44820000 */ mtc1 $v0, $f0 +/* C5C36C 80241C2C 00000000 */ nop +/* C5C370 80241C30 46800021 */ cvt.d.w $f0, $f0 +/* C5C374 80241C34 46022100 */ add.s $f4, $f4, $f2 +/* C5C378 80241C38 3C014008 */ lui $at, 0x4008 +/* C5C37C 80241C3C 44811800 */ mtc1 $at, $f3 +/* C5C380 80241C40 44801000 */ mtc1 $zero, $f2 +/* C5C384 80241C44 27A20038 */ addiu $v0, $sp, 0x38 +/* C5C388 80241C48 46220000 */ add.d $f0, $f0, $f2 +/* C5C38C 80241C4C E7A60034 */ swc1 $f6, 0x34($sp) +/* C5C390 80241C50 E7A40030 */ swc1 $f4, 0x30($sp) +/* C5C394 80241C54 46200020 */ cvt.s.d $f0, $f0 +/* C5C398 80241C58 E7A00038 */ swc1 $f0, 0x38($sp) +/* C5C39C 80241C5C AFA20010 */ sw $v0, 0x10($sp) +/* C5C3A0 80241C60 8E040080 */ lw $a0, 0x80($s0) +/* C5C3A4 80241C64 0C0372DF */ jal func_800DCB7C +/* C5C3A8 80241C68 27A70034 */ addiu $a3, $sp, 0x34 +/* C5C3AC 80241C6C 1040000A */ beqz $v0, .L80241C98 +/* C5C3B0 80241C70 00000000 */ nop +/* C5C3B4 80241C74 860200A8 */ lh $v0, 0xa8($s0) +/* C5C3B8 80241C78 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C5C3BC 80241C7C 44820000 */ mtc1 $v0, $f0 +/* C5C3C0 80241C80 00000000 */ nop +/* C5C3C4 80241C84 46800020 */ cvt.s.w $f0, $f0 +/* C5C3C8 80241C88 4600103C */ c.lt.s $f2, $f0 +/* C5C3CC 80241C8C 00000000 */ nop +/* C5C3D0 80241C90 45030001 */ bc1tl .L80241C98 +/* C5C3D4 80241C94 24110001 */ addiu $s1, $zero, 1 +.L80241C98: +/* C5C3D8 80241C98 12200008 */ beqz $s1, .L80241CBC +/* C5C3DC 80241C9C 00000000 */ nop +/* C5C3E0 80241CA0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C5C3E4 80241CA4 3C013FF0 */ lui $at, 0x3ff0 +/* C5C3E8 80241CA8 44811800 */ mtc1 $at, $f3 +/* C5C3EC 80241CAC 44801000 */ mtc1 $zero, $f2 +/* C5C3F0 80241CB0 46000021 */ cvt.d.s $f0, $f0 +/* C5C3F4 80241CB4 08090751 */ j .L80241D44 +/* C5C3F8 80241CB8 46220000 */ add.d $f0, $f0, $f2 +.L80241CBC: +/* C5C3FC 80241CBC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C5C400 80241CC0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C5C404 80241CC4 3C014018 */ lui $at, 0x4018 +/* C5C408 80241CC8 44811800 */ mtc1 $at, $f3 +/* C5C40C 80241CCC 44801000 */ mtc1 $zero, $f2 +/* C5C410 80241CD0 C440002C */ lwc1 $f0, 0x2c($v0) +/* C5C414 80241CD4 C604003C */ lwc1 $f4, 0x3c($s0) +/* C5C418 80241CD8 46000021 */ cvt.d.s $f0, $f0 +/* C5C41C 80241CDC 46220000 */ add.d $f0, $f0, $f2 +/* C5C420 80241CE0 46002121 */ cvt.d.s $f4, $f4 +/* C5C424 80241CE4 46202001 */ sub.d $f0, $f4, $f0 +/* C5C428 80241CE8 462001A0 */ cvt.s.d $f6, $f0 +/* C5C42C 80241CEC 44800000 */ mtc1 $zero, $f0 +/* C5C430 80241CF0 44800800 */ mtc1 $zero, $f1 +/* C5C434 80241CF4 460030A1 */ cvt.d.s $f2, $f6 +/* C5C438 80241CF8 4620103C */ c.lt.d $f2, $f0 +/* C5C43C 80241CFC 00000000 */ nop +/* C5C440 80241D00 45010009 */ bc1t .L80241D28 +/* C5C444 80241D04 00000000 */ nop +/* C5C448 80241D08 3C014010 */ lui $at, 0x4010 +/* C5C44C 80241D0C 44810800 */ mtc1 $at, $f1 +/* C5C450 80241D10 44800000 */ mtc1 $zero, $f0 +/* C5C454 80241D14 00000000 */ nop +/* C5C458 80241D18 4622003C */ c.lt.d $f0, $f2 +/* C5C45C 80241D1C 00000000 */ nop +/* C5C460 80241D20 4500000A */ bc1f .L80241D4C +/* C5C464 80241D24 00000000 */ nop +.L80241D28: +/* C5C468 80241D28 3C018024 */ lui $at, 0x8024 +/* C5C46C 80241D2C D4226558 */ ldc1 $f2, 0x6558($at) +/* C5C470 80241D30 46003187 */ neg.s $f6, $f6 +/* C5C474 80241D34 46003021 */ cvt.d.s $f0, $f6 +/* C5C478 80241D38 46220002 */ mul.d $f0, $f0, $f2 +/* C5C47C 80241D3C 00000000 */ nop +/* C5C480 80241D40 46202000 */ add.d $f0, $f4, $f0 +.L80241D44: +/* C5C484 80241D44 46200020 */ cvt.s.d $f0, $f0 +/* C5C488 80241D48 E600003C */ swc1 $f0, 0x3c($s0) +.L80241D4C: +/* C5C48C 80241D4C 8602008E */ lh $v0, 0x8e($s0) +/* C5C490 80241D50 9603008E */ lhu $v1, 0x8e($s0) +/* C5C494 80241D54 18400003 */ blez $v0, .L80241D64 +/* C5C498 80241D58 2462FFFF */ addiu $v0, $v1, -1 +/* C5C49C 80241D5C 0809075B */ j .L80241D6C +/* C5C4A0 80241D60 A602008E */ sh $v0, 0x8e($s0) +.L80241D64: +/* C5C4A4 80241D64 2402000C */ addiu $v0, $zero, 0xc +/* C5C4A8 80241D68 AE620070 */ sw $v0, 0x70($s3) +.L80241D6C: +/* C5C4AC 80241D6C 8FBF0050 */ lw $ra, 0x50($sp) +/* C5C4B0 80241D70 8FB3004C */ lw $s3, 0x4c($sp) +/* C5C4B4 80241D74 8FB20048 */ lw $s2, 0x48($sp) +/* C5C4B8 80241D78 8FB10044 */ lw $s1, 0x44($sp) +/* C5C4BC 80241D7C 8FB00040 */ lw $s0, 0x40($sp) +/* C5C4C0 80241D80 03E00008 */ jr $ra +/* C5C4C4 80241D84 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241D88.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241D88.s new file mode 100644 index 0000000000..c2dc05d7df --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241D88.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D88 +/* C5C4C8 80241D88 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5C4CC 80241D8C AFB10014 */ sw $s1, 0x14($sp) +/* C5C4D0 80241D90 0080882D */ daddu $s1, $a0, $zero +/* C5C4D4 80241D94 AFBF0018 */ sw $ra, 0x18($sp) +/* C5C4D8 80241D98 AFB00010 */ sw $s0, 0x10($sp) +/* C5C4DC 80241D9C 8E300148 */ lw $s0, 0x148($s1) +/* C5C4E0 80241DA0 0C00EABB */ jal get_npc_unsafe +/* C5C4E4 80241DA4 86040008 */ lh $a0, 8($s0) +/* C5C4E8 80241DA8 0040182D */ daddu $v1, $v0, $zero +/* C5C4EC 80241DAC 9462008E */ lhu $v0, 0x8e($v1) +/* C5C4F0 80241DB0 2442FFFF */ addiu $v0, $v0, -1 +/* C5C4F4 80241DB4 A462008E */ sh $v0, 0x8e($v1) +/* C5C4F8 80241DB8 00021400 */ sll $v0, $v0, 0x10 +/* C5C4FC 80241DBC 1C400004 */ bgtz $v0, .L80241DD0 +/* C5C500 80241DC0 00000000 */ nop +/* C5C504 80241DC4 AE000074 */ sw $zero, 0x74($s0) +/* C5C508 80241DC8 A460008E */ sh $zero, 0x8e($v1) +/* C5C50C 80241DCC AE200070 */ sw $zero, 0x70($s1) +.L80241DD0: +/* C5C510 80241DD0 8FBF0018 */ lw $ra, 0x18($sp) +/* C5C514 80241DD4 8FB10014 */ lw $s1, 0x14($sp) +/* C5C518 80241DD8 8FB00010 */ lw $s0, 0x10($sp) +/* C5C51C 80241DDC 03E00008 */ jr $ra +/* C5C520 80241DE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241DE4_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241DE4_C5A740.s new file mode 100644 index 0000000000..c5e0eeb4dd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241DE4_C5A740.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DE4_C5C524 +/* C5C524 80241DE4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C5C528 80241DE8 AFB40040 */ sw $s4, 0x40($sp) +/* C5C52C 80241DEC 0080A02D */ daddu $s4, $a0, $zero +/* C5C530 80241DF0 AFBF0048 */ sw $ra, 0x48($sp) +/* C5C534 80241DF4 AFB50044 */ sw $s5, 0x44($sp) +/* C5C538 80241DF8 AFB3003C */ sw $s3, 0x3c($sp) +/* C5C53C 80241DFC AFB20038 */ sw $s2, 0x38($sp) +/* C5C540 80241E00 AFB10034 */ sw $s1, 0x34($sp) +/* C5C544 80241E04 AFB00030 */ sw $s0, 0x30($sp) +/* C5C548 80241E08 8E920148 */ lw $s2, 0x148($s4) +/* C5C54C 80241E0C 86440008 */ lh $a0, 8($s2) +/* C5C550 80241E10 8E90000C */ lw $s0, 0xc($s4) +/* C5C554 80241E14 0C00EABB */ jal get_npc_unsafe +/* C5C558 80241E18 00A0882D */ daddu $s1, $a1, $zero +/* C5C55C 80241E1C 0280202D */ daddu $a0, $s4, $zero +/* C5C560 80241E20 8E050000 */ lw $a1, ($s0) +/* C5C564 80241E24 0C0B1EAF */ jal get_variable +/* C5C568 80241E28 0040A82D */ daddu $s5, $v0, $zero +/* C5C56C 80241E2C AFA00010 */ sw $zero, 0x10($sp) +/* C5C570 80241E30 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5C574 80241E34 8C630030 */ lw $v1, 0x30($v1) +/* C5C578 80241E38 AFA30014 */ sw $v1, 0x14($sp) +/* C5C57C 80241E3C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5C580 80241E40 8C63001C */ lw $v1, 0x1c($v1) +/* C5C584 80241E44 AFA30018 */ sw $v1, 0x18($sp) +/* C5C588 80241E48 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5C58C 80241E4C 8C630024 */ lw $v1, 0x24($v1) +/* C5C590 80241E50 AFA3001C */ sw $v1, 0x1c($sp) +/* C5C594 80241E54 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5C598 80241E58 8C630028 */ lw $v1, 0x28($v1) +/* C5C59C 80241E5C 27B30010 */ addiu $s3, $sp, 0x10 +/* C5C5A0 80241E60 AFA30020 */ sw $v1, 0x20($sp) +/* C5C5A4 80241E64 8E4300D0 */ lw $v1, 0xd0($s2) +/* C5C5A8 80241E68 3C0142F0 */ lui $at, 0x42f0 +/* C5C5AC 80241E6C 44810000 */ mtc1 $at, $f0 +/* C5C5B0 80241E70 8C63002C */ lw $v1, 0x2c($v1) +/* C5C5B4 80241E74 0040802D */ daddu $s0, $v0, $zero +/* C5C5B8 80241E78 E7A00028 */ swc1 $f0, 0x28($sp) +/* C5C5BC 80241E7C A7A0002C */ sh $zero, 0x2c($sp) +/* C5C5C0 80241E80 12200007 */ beqz $s1, .L80241EA0 +/* C5C5C4 80241E84 AFA30024 */ sw $v1, 0x24($sp) +/* C5C5C8 80241E88 02A0202D */ daddu $a0, $s5, $zero +/* C5C5CC 80241E8C 0240282D */ daddu $a1, $s2, $zero +/* C5C5D0 80241E90 0280302D */ daddu $a2, $s4, $zero +/* C5C5D4 80241E94 0C0905B2 */ jal func_802416C8 +/* C5C5D8 80241E98 0200382D */ daddu $a3, $s0, $zero +/* C5C5DC 80241E9C AE800070 */ sw $zero, 0x70($s4) +.L80241EA0: +/* C5C5E0 80241EA0 2402FFFE */ addiu $v0, $zero, -2 +/* C5C5E4 80241EA4 A2A200AB */ sb $v0, 0xab($s5) +/* C5C5E8 80241EA8 8E4300B0 */ lw $v1, 0xb0($s2) +/* C5C5EC 80241EAC 30620004 */ andi $v0, $v1, 4 +/* C5C5F0 80241EB0 10400007 */ beqz $v0, .L80241ED0 +/* C5C5F4 80241EB4 00000000 */ nop +/* C5C5F8 80241EB8 824200B4 */ lb $v0, 0xb4($s2) +/* C5C5FC 80241EBC 1440003A */ bnez $v0, .L80241FA8 +/* C5C600 80241EC0 0000102D */ daddu $v0, $zero, $zero +/* C5C604 80241EC4 2402FFFB */ addiu $v0, $zero, -5 +/* C5C608 80241EC8 00621024 */ and $v0, $v1, $v0 +/* C5C60C 80241ECC AE4200B0 */ sw $v0, 0xb0($s2) +.L80241ED0: +/* C5C610 80241ED0 8E830070 */ lw $v1, 0x70($s4) +/* C5C614 80241ED4 2C620015 */ sltiu $v0, $v1, 0x15 +/* C5C618 80241ED8 10400032 */ beqz $v0, .L80241FA4 +/* C5C61C 80241EDC 00031080 */ sll $v0, $v1, 2 +/* C5C620 80241EE0 3C018024 */ lui $at, 0x8024 +/* C5C624 80241EE4 00220821 */ addu $at, $at, $v0 +/* C5C628 80241EE8 8C226560 */ lw $v0, 0x6560($at) +/* C5C62C 80241EEC 00400008 */ jr $v0 +/* C5C630 80241EF0 00000000 */ nop +/* C5C634 80241EF4 0280202D */ daddu $a0, $s4, $zero +/* C5C638 80241EF8 0200282D */ daddu $a1, $s0, $zero +/* C5C63C 80241EFC 0C090138 */ jal func_802404E0 +/* C5C640 80241F00 0260302D */ daddu $a2, $s3, $zero +/* C5C644 80241F04 0280202D */ daddu $a0, $s4, $zero +/* C5C648 80241F08 0200282D */ daddu $a1, $s0, $zero +/* C5C64C 80241F0C 0C0901A4 */ jal func_80240690 +/* C5C650 80241F10 0260302D */ daddu $a2, $s3, $zero +/* C5C654 80241F14 080907EA */ j .L80241FA8 +/* C5C658 80241F18 0000102D */ daddu $v0, $zero, $zero +/* C5C65C 80241F1C 0280202D */ daddu $a0, $s4, $zero +/* C5C660 80241F20 0200282D */ daddu $a1, $s0, $zero +/* C5C664 80241F24 0C09032E */ jal func_80240CB8 +/* C5C668 80241F28 0260302D */ daddu $a2, $s3, $zero +/* C5C66C 80241F2C 0280202D */ daddu $a0, $s4, $zero +/* C5C670 80241F30 0200282D */ daddu $a1, $s0, $zero +/* C5C674 80241F34 0C09035E */ jal func_80240D78 +/* C5C678 80241F38 0260302D */ daddu $a2, $s3, $zero +/* C5C67C 80241F3C 080907EA */ j .L80241FA8 +/* C5C680 80241F40 0000102D */ daddu $v0, $zero, $zero +/* C5C684 80241F44 0280202D */ daddu $a0, $s4, $zero +/* C5C688 80241F48 0200282D */ daddu $a1, $s0, $zero +/* C5C68C 80241F4C 0C09042F */ jal func_802410BC +/* C5C690 80241F50 0260302D */ daddu $a2, $s3, $zero +/* C5C694 80241F54 0280202D */ daddu $a0, $s4, $zero +/* C5C698 80241F58 0200282D */ daddu $a1, $s0, $zero +/* C5C69C 80241F5C 0C09044D */ jal func_80241134 +/* C5C6A0 80241F60 0260302D */ daddu $a2, $s3, $zero +/* C5C6A4 80241F64 080907EA */ j .L80241FA8 +/* C5C6A8 80241F68 0000102D */ daddu $v0, $zero, $zero +/* C5C6AC 80241F6C 0280202D */ daddu $a0, $s4, $zero +/* C5C6B0 80241F70 0200282D */ daddu $a1, $s0, $zero +/* C5C6B4 80241F74 0C090676 */ jal func_802419D8 +/* C5C6B8 80241F78 0260302D */ daddu $a2, $s3, $zero +/* C5C6BC 80241F7C 0280202D */ daddu $a0, $s4, $zero +/* C5C6C0 80241F80 0200282D */ daddu $a1, $s0, $zero +/* C5C6C4 80241F84 0C0906C2 */ jal func_80241B08 +/* C5C6C8 80241F88 0260302D */ daddu $a2, $s3, $zero +/* C5C6CC 80241F8C 080907EA */ j .L80241FA8 +/* C5C6D0 80241F90 0000102D */ daddu $v0, $zero, $zero +/* C5C6D4 80241F94 0280202D */ daddu $a0, $s4, $zero +/* C5C6D8 80241F98 0200282D */ daddu $a1, $s0, $zero +/* C5C6DC 80241F9C 0C090762 */ jal func_80241D88 +/* C5C6E0 80241FA0 0260302D */ daddu $a2, $s3, $zero +.L80241FA4: +/* C5C6E4 80241FA4 0000102D */ daddu $v0, $zero, $zero +.L80241FA8: +/* C5C6E8 80241FA8 8FBF0048 */ lw $ra, 0x48($sp) +/* C5C6EC 80241FAC 8FB50044 */ lw $s5, 0x44($sp) +/* C5C6F0 80241FB0 8FB40040 */ lw $s4, 0x40($sp) +/* C5C6F4 80241FB4 8FB3003C */ lw $s3, 0x3c($sp) +/* C5C6F8 80241FB8 8FB20038 */ lw $s2, 0x38($sp) +/* C5C6FC 80241FBC 8FB10034 */ lw $s1, 0x34($sp) +/* C5C700 80241FC0 8FB00030 */ lw $s0, 0x30($sp) +/* C5C704 80241FC4 03E00008 */ jr $ra +/* C5C708 80241FC8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80241FCC_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241FCC_C5A740.s new file mode 100644 index 0000000000..94c92b769e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80241FCC_C5A740.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FCC_C5C70C +/* C5C70C 80241FCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5C710 80241FD0 AFB00010 */ sw $s0, 0x10($sp) +/* C5C714 80241FD4 3C108024 */ lui $s0, 0x8024 +/* C5C718 80241FD8 26104A10 */ addiu $s0, $s0, 0x4a10 +/* C5C71C 80241FDC AFBF0018 */ sw $ra, 0x18($sp) +/* C5C720 80241FE0 AFB10014 */ sw $s1, 0x14($sp) +/* C5C724 80241FE4 8E020000 */ lw $v0, ($s0) +/* C5C728 80241FE8 14400010 */ bnez $v0, .L8024202C +/* C5C72C 80241FEC 0080882D */ daddu $s1, $a0, $zero +/* C5C730 80241FF0 0C00AB39 */ jal heap_malloc +/* C5C734 80241FF4 24040040 */ addiu $a0, $zero, 0x40 +/* C5C738 80241FF8 AE020000 */ sw $v0, ($s0) +/* C5C73C 80241FFC 0000182D */ daddu $v1, $zero, $zero +/* C5C740 80242000 0040282D */ daddu $a1, $v0, $zero +/* C5C744 80242004 0220202D */ daddu $a0, $s1, $zero +.L80242008: +/* C5C748 80242008 8C820084 */ lw $v0, 0x84($a0) +/* C5C74C 8024200C 24840004 */ addiu $a0, $a0, 4 +/* C5C750 80242010 24630001 */ addiu $v1, $v1, 1 +/* C5C754 80242014 ACA20000 */ sw $v0, ($a1) +/* C5C758 80242018 28620010 */ slti $v0, $v1, 0x10 +/* C5C75C 8024201C 1440FFFA */ bnez $v0, .L80242008 +/* C5C760 80242020 24A50004 */ addiu $a1, $a1, 4 +/* C5C764 80242024 0809081A */ j .L80242068 +/* C5C768 80242028 00000000 */ nop +.L8024202C: +/* C5C76C 8024202C 0000182D */ daddu $v1, $zero, $zero +/* C5C770 80242030 0040282D */ daddu $a1, $v0, $zero +/* C5C774 80242034 0220202D */ daddu $a0, $s1, $zero +.L80242038: +/* C5C778 80242038 8CA20000 */ lw $v0, ($a1) +/* C5C77C 8024203C 24A50004 */ addiu $a1, $a1, 4 +/* C5C780 80242040 24630001 */ addiu $v1, $v1, 1 +/* C5C784 80242044 AC820084 */ sw $v0, 0x84($a0) +/* C5C788 80242048 28620010 */ slti $v0, $v1, 0x10 +/* C5C78C 8024204C 1440FFFA */ bnez $v0, .L80242038 +/* C5C790 80242050 24840004 */ addiu $a0, $a0, 4 +/* C5C794 80242054 3C108024 */ lui $s0, 0x8024 +/* C5C798 80242058 26104A10 */ addiu $s0, $s0, 0x4a10 +/* C5C79C 8024205C 0C00AB4B */ jal heap_free +/* C5C7A0 80242060 8E040000 */ lw $a0, ($s0) +/* C5C7A4 80242064 AE000000 */ sw $zero, ($s0) +.L80242068: +/* C5C7A8 80242068 8FBF0018 */ lw $ra, 0x18($sp) +/* C5C7AC 8024206C 8FB10014 */ lw $s1, 0x14($sp) +/* C5C7B0 80242070 8FB00010 */ lw $s0, 0x10($sp) +/* C5C7B4 80242074 24020002 */ addiu $v0, $zero, 2 +/* C5C7B8 80242078 03E00008 */ jr $ra +/* C5C7BC 8024207C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242080_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242080_C5A740.s new file mode 100644 index 0000000000..be74099cea --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242080_C5A740.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242080_C5C7C0 +/* C5C7C0 80242080 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5C7C4 80242084 AFB00010 */ sw $s0, 0x10($sp) +/* C5C7C8 80242088 0080802D */ daddu $s0, $a0, $zero +/* C5C7CC 8024208C AFBF0018 */ sw $ra, 0x18($sp) +/* C5C7D0 80242090 AFB10014 */ sw $s1, 0x14($sp) +/* C5C7D4 80242094 8E02000C */ lw $v0, 0xc($s0) +/* C5C7D8 80242098 8C510000 */ lw $s1, ($v0) +/* C5C7DC 8024209C 0C0B1EAF */ jal get_variable +/* C5C7E0 802420A0 0220282D */ daddu $a1, $s1, $zero +/* C5C7E4 802420A4 3C03FFF0 */ lui $v1, 0xfff0 +/* C5C7E8 802420A8 3463FFFF */ ori $v1, $v1, 0xffff +/* C5C7EC 802420AC 0200202D */ daddu $a0, $s0, $zero +/* C5C7F0 802420B0 00431024 */ and $v0, $v0, $v1 +/* C5C7F4 802420B4 00021140 */ sll $v0, $v0, 5 +/* C5C7F8 802420B8 3C068008 */ lui $a2, %hi(gItemTable) +/* C5C7FC 802420BC 00C23021 */ addu $a2, $a2, $v0 +/* C5C800 802420C0 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C5C804 802420C4 0C0B2026 */ jal set_variable +/* C5C808 802420C8 0220282D */ daddu $a1, $s1, $zero +/* C5C80C 802420CC 8FBF0018 */ lw $ra, 0x18($sp) +/* C5C810 802420D0 8FB10014 */ lw $s1, 0x14($sp) +/* C5C814 802420D4 8FB00010 */ lw $s0, 0x10($sp) +/* C5C818 802420D8 24020002 */ addiu $v0, $zero, 2 +/* C5C81C 802420DC 03E00008 */ jr $ra +/* C5C820 802420E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802420E4_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802420E4_C5A740.s new file mode 100644 index 0000000000..4f2a67ce2a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802420E4_C5A740.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420E4_C5C824 +/* C5C824 802420E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5C828 802420E8 AFB10014 */ sw $s1, 0x14($sp) +/* C5C82C 802420EC 0080882D */ daddu $s1, $a0, $zero +/* C5C830 802420F0 AFBF0018 */ sw $ra, 0x18($sp) +/* C5C834 802420F4 AFB00010 */ sw $s0, 0x10($sp) +/* C5C838 802420F8 8E30000C */ lw $s0, 0xc($s1) +/* C5C83C 802420FC 8E050000 */ lw $a1, ($s0) +/* C5C840 80242100 0C0B1EAF */ jal get_variable +/* C5C844 80242104 26100004 */ addiu $s0, $s0, 4 +/* C5C848 80242108 0C00EAD2 */ jal get_npc_safe +/* C5C84C 8024210C 0040202D */ daddu $a0, $v0, $zero +/* C5C850 80242110 10400005 */ beqz $v0, .L80242128 +/* C5C854 80242114 00000000 */ nop +/* C5C858 80242118 8E050000 */ lw $a1, ($s0) +/* C5C85C 8024211C 844600A8 */ lh $a2, 0xa8($v0) +/* C5C860 80242120 0C0B2026 */ jal set_variable +/* C5C864 80242124 0220202D */ daddu $a0, $s1, $zero +.L80242128: +/* C5C868 80242128 8FBF0018 */ lw $ra, 0x18($sp) +/* C5C86C 8024212C 8FB10014 */ lw $s1, 0x14($sp) +/* C5C870 80242130 8FB00010 */ lw $s0, 0x10($sp) +/* C5C874 80242134 24020002 */ addiu $v0, $zero, 2 +/* C5C878 80242138 03E00008 */ jr $ra +/* C5C87C 8024213C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242140.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242140.s new file mode 100644 index 0000000000..54349fc216 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242140.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242140 +/* C5C880 80242140 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C5C884 80242144 AFB10014 */ sw $s1, 0x14($sp) +/* C5C888 80242148 0080882D */ daddu $s1, $a0, $zero +/* C5C88C 8024214C AFBF0024 */ sw $ra, 0x24($sp) +/* C5C890 80242150 AFB40020 */ sw $s4, 0x20($sp) +/* C5C894 80242154 AFB3001C */ sw $s3, 0x1c($sp) +/* C5C898 80242158 AFB20018 */ sw $s2, 0x18($sp) +/* C5C89C 8024215C AFB00010 */ sw $s0, 0x10($sp) +/* C5C8A0 80242160 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C5C8A4 80242164 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C5C8A8 80242168 F7B80038 */ sdc1 $f24, 0x38($sp) +/* C5C8AC 8024216C F7B60030 */ sdc1 $f22, 0x30($sp) +/* C5C8B0 80242170 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C5C8B4 80242174 8E30000C */ lw $s0, 0xc($s1) +/* C5C8B8 80242178 8E130000 */ lw $s3, ($s0) +/* C5C8BC 8024217C 26100004 */ addiu $s0, $s0, 4 +/* C5C8C0 80242180 0C0B1EAF */ jal get_variable +/* C5C8C4 80242184 0260282D */ daddu $a1, $s3, $zero +/* C5C8C8 80242188 4482E000 */ mtc1 $v0, $f28 +/* C5C8CC 8024218C 00000000 */ nop +/* C5C8D0 80242190 4680E720 */ cvt.s.w $f28, $f28 +/* C5C8D4 80242194 8E140000 */ lw $s4, ($s0) +/* C5C8D8 80242198 26100004 */ addiu $s0, $s0, 4 +/* C5C8DC 8024219C 0220202D */ daddu $a0, $s1, $zero +/* C5C8E0 802421A0 0C0B1EAF */ jal get_variable +/* C5C8E4 802421A4 0280282D */ daddu $a1, $s4, $zero +/* C5C8E8 802421A8 4482D000 */ mtc1 $v0, $f26 +/* C5C8EC 802421AC 00000000 */ nop +/* C5C8F0 802421B0 4680D6A0 */ cvt.s.w $f26, $f26 +/* C5C8F4 802421B4 8E100000 */ lw $s0, ($s0) +/* C5C8F8 802421B8 0220202D */ daddu $a0, $s1, $zero +/* C5C8FC 802421BC 0C0B1EAF */ jal get_variable +/* C5C900 802421C0 0200282D */ daddu $a1, $s0, $zero +/* C5C904 802421C4 4482C000 */ mtc1 $v0, $f24 +/* C5C908 802421C8 00000000 */ nop +/* C5C90C 802421CC 4680C620 */ cvt.s.w $f24, $f24 +/* C5C910 802421D0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C5C914 802421D4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C5C918 802421D8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C5C91C 802421DC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C5C920 802421E0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C5C924 802421E4 44800000 */ mtc1 $zero, $f0 +/* C5C928 802421E8 00031080 */ sll $v0, $v1, 2 +/* C5C92C 802421EC 00431021 */ addu $v0, $v0, $v1 +/* C5C930 802421F0 00021080 */ sll $v0, $v0, 2 +/* C5C934 802421F4 00431023 */ subu $v0, $v0, $v1 +/* C5C938 802421F8 000218C0 */ sll $v1, $v0, 3 +/* C5C93C 802421FC 00431021 */ addu $v0, $v0, $v1 +/* C5C940 80242200 000210C0 */ sll $v0, $v0, 3 +/* C5C944 80242204 46001032 */ c.eq.s $f2, $f0 +/* C5C948 80242208 3C01800B */ lui $at, 0x800b +/* C5C94C 8024220C 00220821 */ addu $at, $at, $v0 +/* C5C950 80242210 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C5C954 80242214 45000005 */ bc1f .L8024222C +/* C5C958 80242218 00000000 */ nop +/* C5C95C 8024221C 3C0142C8 */ lui $at, 0x42c8 +/* C5C960 80242220 44810000 */ mtc1 $at, $f0 +/* C5C964 80242224 0809088F */ j .L8024223C +/* C5C968 80242228 4600B581 */ sub.s $f22, $f22, $f0 +.L8024222C: +/* C5C96C 8024222C 3C0142C8 */ lui $at, 0x42c8 +/* C5C970 80242230 44810000 */ mtc1 $at, $f0 +/* C5C974 80242234 00000000 */ nop +/* C5C978 80242238 4600B580 */ add.s $f22, $f22, $f0 +.L8024223C: +/* C5C97C 8024223C 0C00A6C9 */ jal clamp_angle +/* C5C980 80242240 4600B306 */ mov.s $f12, $f22 +/* C5C984 80242244 46000586 */ mov.s $f22, $f0 +/* C5C988 80242248 3C014170 */ lui $at, 0x4170 +/* C5C98C 8024224C 4481A000 */ mtc1 $at, $f20 +/* C5C990 80242250 0C00A8BB */ jal sin_deg +/* C5C994 80242254 4600B306 */ mov.s $f12, $f22 +/* C5C998 80242258 46140002 */ mul.s $f0, $f0, $f20 +/* C5C99C 8024225C 00000000 */ nop +/* C5C9A0 80242260 864200B0 */ lh $v0, 0xb0($s2) +/* C5C9A4 80242264 3C013F00 */ lui $at, 0x3f00 +/* C5C9A8 80242268 44812000 */ mtc1 $at, $f4 +/* C5C9AC 8024226C 44821000 */ mtc1 $v0, $f2 +/* C5C9B0 80242270 00000000 */ nop +/* C5C9B4 80242274 468010A0 */ cvt.s.w $f2, $f2 +/* C5C9B8 80242278 46041082 */ mul.s $f2, $f2, $f4 +/* C5C9BC 8024227C 00000000 */ nop +/* C5C9C0 80242280 4600E700 */ add.s $f28, $f28, $f0 +/* C5C9C4 80242284 4602D680 */ add.s $f26, $f26, $f2 +/* C5C9C8 80242288 0C00A8D4 */ jal cos_deg +/* C5C9CC 8024228C 4600B306 */ mov.s $f12, $f22 +/* C5C9D0 80242290 46140002 */ mul.s $f0, $f0, $f20 +/* C5C9D4 80242294 00000000 */ nop +/* C5C9D8 80242298 0220202D */ daddu $a0, $s1, $zero +/* C5C9DC 8024229C 0260282D */ daddu $a1, $s3, $zero +/* C5C9E0 802422A0 4600E18D */ trunc.w.s $f6, $f28 +/* C5C9E4 802422A4 44063000 */ mfc1 $a2, $f6 +/* C5C9E8 802422A8 0C0B2026 */ jal set_variable +/* C5C9EC 802422AC 4600C601 */ sub.s $f24, $f24, $f0 +/* C5C9F0 802422B0 0220202D */ daddu $a0, $s1, $zero +/* C5C9F4 802422B4 4600D18D */ trunc.w.s $f6, $f26 +/* C5C9F8 802422B8 44063000 */ mfc1 $a2, $f6 +/* C5C9FC 802422BC 0C0B2026 */ jal set_variable +/* C5CA00 802422C0 0280282D */ daddu $a1, $s4, $zero +/* C5CA04 802422C4 0220202D */ daddu $a0, $s1, $zero +/* C5CA08 802422C8 4600C18D */ trunc.w.s $f6, $f24 +/* C5CA0C 802422CC 44063000 */ mfc1 $a2, $f6 +/* C5CA10 802422D0 0C0B2026 */ jal set_variable +/* C5CA14 802422D4 0200282D */ daddu $a1, $s0, $zero +/* C5CA18 802422D8 8FBF0024 */ lw $ra, 0x24($sp) +/* C5CA1C 802422DC 8FB40020 */ lw $s4, 0x20($sp) +/* C5CA20 802422E0 8FB3001C */ lw $s3, 0x1c($sp) +/* C5CA24 802422E4 8FB20018 */ lw $s2, 0x18($sp) +/* C5CA28 802422E8 8FB10014 */ lw $s1, 0x14($sp) +/* C5CA2C 802422EC 8FB00010 */ lw $s0, 0x10($sp) +/* C5CA30 802422F0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C5CA34 802422F4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C5CA38 802422F8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* C5CA3C 802422FC D7B60030 */ ldc1 $f22, 0x30($sp) +/* C5CA40 80242300 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C5CA44 80242304 24020002 */ addiu $v0, $zero, 2 +/* C5CA48 80242308 03E00008 */ jr $ra +/* C5CA4C 8024230C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242310.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242310.s new file mode 100644 index 0000000000..b044b21475 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242310.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242310 +/* C5CA50 80242310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5CA54 80242314 AFBF0010 */ sw $ra, 0x10($sp) +/* C5CA58 80242318 10A00003 */ beqz $a1, .L80242328 +/* C5CA5C 8024231C 8C86000C */ lw $a2, 0xc($a0) +/* C5CA60 80242320 3C018024 */ lui $at, 0x8024 +/* C5CA64 80242324 AC204A74 */ sw $zero, 0x4a74($at) +.L80242328: +/* C5CA68 80242328 3C038024 */ lui $v1, 0x8024 +/* C5CA6C 8024232C 24634A74 */ addiu $v1, $v1, 0x4a74 +/* C5CA70 80242330 8C620000 */ lw $v0, ($v1) +/* C5CA74 80242334 54400003 */ bnel $v0, $zero, .L80242344 +/* C5CA78 80242338 AC600000 */ sw $zero, ($v1) +/* C5CA7C 8024233C 080908D6 */ j .L80242358 +/* C5CA80 80242340 0000102D */ daddu $v0, $zero, $zero +.L80242344: +/* C5CA84 80242344 8CC50000 */ lw $a1, ($a2) +/* C5CA88 80242348 3C068024 */ lui $a2, 0x8024 +/* C5CA8C 8024234C 0C0B2026 */ jal set_variable +/* C5CA90 80242350 8CC64A78 */ lw $a2, 0x4a78($a2) +/* C5CA94 80242354 24020002 */ addiu $v0, $zero, 2 +.L80242358: +/* C5CA98 80242358 8FBF0010 */ lw $ra, 0x10($sp) +/* C5CA9C 8024235C 03E00008 */ jr $ra +/* C5CAA0 80242360 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242364.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242364.s new file mode 100644 index 0000000000..31294a4b0a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242364.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242364 +/* C5CAA4 80242364 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5CAA8 80242368 AFBF0010 */ sw $ra, 0x10($sp) +/* C5CAAC 8024236C 8C82000C */ lw $v0, 0xc($a0) +/* C5CAB0 80242370 0C0B1EAF */ jal get_variable +/* C5CAB4 80242374 8C450000 */ lw $a1, ($v0) +/* C5CAB8 80242378 3C018024 */ lui $at, 0x8024 +/* C5CABC 8024237C AC224A78 */ sw $v0, 0x4a78($at) +/* C5CAC0 80242380 24020002 */ addiu $v0, $zero, 2 +/* C5CAC4 80242384 8FBF0010 */ lw $ra, 0x10($sp) +/* C5CAC8 80242388 24030001 */ addiu $v1, $zero, 1 +/* C5CACC 8024238C 3C018024 */ lui $at, 0x8024 +/* C5CAD0 80242390 AC234A74 */ sw $v1, 0x4a74($at) +/* C5CAD4 80242394 03E00008 */ jr $ra +/* C5CAD8 80242398 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_8024239C.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_8024239C.s new file mode 100644 index 0000000000..bf9bb8a188 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_8024239C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024239C +/* C5CADC 8024239C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5CAE0 802423A0 AFBF0010 */ sw $ra, 0x10($sp) +/* C5CAE4 802423A4 8C82000C */ lw $v0, 0xc($a0) +/* C5CAE8 802423A8 0C0B1EAF */ jal get_variable +/* C5CAEC 802423AC 8C450000 */ lw $a1, ($v0) +/* C5CAF0 802423B0 0040182D */ daddu $v1, $v0, $zero +/* C5CAF4 802423B4 10600012 */ beqz $v1, .L80242400 +/* C5CAF8 802423B8 0000202D */ daddu $a0, $zero, $zero +/* C5CAFC 802423BC 8C620000 */ lw $v0, ($v1) +/* C5CB00 802423C0 5040000A */ beql $v0, $zero, .L802423EC +/* C5CB04 802423C4 00041080 */ sll $v0, $a0, 2 +/* C5CB08 802423C8 3C058024 */ lui $a1, 0x8024 +/* C5CB0C 802423CC 24A565D0 */ addiu $a1, $a1, 0x65d0 +.L802423D0: +/* C5CB10 802423D0 24630004 */ addiu $v1, $v1, 4 +/* C5CB14 802423D4 24840001 */ addiu $a0, $a0, 1 +/* C5CB18 802423D8 ACA20000 */ sw $v0, ($a1) +/* C5CB1C 802423DC 8C620000 */ lw $v0, ($v1) +/* C5CB20 802423E0 1440FFFB */ bnez $v0, .L802423D0 +/* C5CB24 802423E4 24A50004 */ addiu $a1, $a1, 4 +/* C5CB28 802423E8 00041080 */ sll $v0, $a0, 2 +.L802423EC: +/* C5CB2C 802423EC 3C018024 */ lui $at, 0x8024 +/* C5CB30 802423F0 00220821 */ addu $at, $at, $v0 +/* C5CB34 802423F4 AC2065D0 */ sw $zero, 0x65d0($at) +/* C5CB38 802423F8 0809090A */ j .L80242428 +/* C5CB3C 802423FC 00000000 */ nop +.L80242400: +/* C5CB40 80242400 3C038024 */ lui $v1, 0x8024 +/* C5CB44 80242404 246365D0 */ addiu $v1, $v1, 0x65d0 +/* C5CB48 80242408 0060282D */ daddu $a1, $v1, $zero +.L8024240C: +/* C5CB4C 8024240C 24820010 */ addiu $v0, $a0, 0x10 +/* C5CB50 80242410 AC620000 */ sw $v0, ($v1) +/* C5CB54 80242414 24630004 */ addiu $v1, $v1, 4 +/* C5CB58 80242418 24840001 */ addiu $a0, $a0, 1 +/* C5CB5C 8024241C 28820070 */ slti $v0, $a0, 0x70 +/* C5CB60 80242420 1440FFFA */ bnez $v0, .L8024240C +/* C5CB64 80242424 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242428: +/* C5CB68 80242428 8FBF0010 */ lw $ra, 0x10($sp) +/* C5CB6C 8024242C 24020002 */ addiu $v0, $zero, 2 +/* C5CB70 80242430 03E00008 */ jr $ra +/* C5CB74 80242434 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242438_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242438_C5A740.s new file mode 100644 index 0000000000..94e730485e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242438_C5A740.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242438_C5CB78 +/* C5CB78 80242438 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C5CB7C 8024243C AFB10014 */ sw $s1, 0x14($sp) +/* C5CB80 80242440 0080882D */ daddu $s1, $a0, $zero +/* C5CB84 80242444 AFBF0018 */ sw $ra, 0x18($sp) +/* C5CB88 80242448 AFB00010 */ sw $s0, 0x10($sp) +/* C5CB8C 8024244C 8E30000C */ lw $s0, 0xc($s1) +/* C5CB90 80242450 8E050000 */ lw $a1, ($s0) +/* C5CB94 80242454 0C0B1EAF */ jal get_variable +/* C5CB98 80242458 26100004 */ addiu $s0, $s0, 4 +/* C5CB9C 8024245C AE22008C */ sw $v0, 0x8c($s1) +/* C5CBA0 80242460 8E050000 */ lw $a1, ($s0) +/* C5CBA4 80242464 26100004 */ addiu $s0, $s0, 4 +/* C5CBA8 80242468 0C0B1EAF */ jal get_variable +/* C5CBAC 8024246C 0220202D */ daddu $a0, $s1, $zero +/* C5CBB0 80242470 AE220090 */ sw $v0, 0x90($s1) +/* C5CBB4 80242474 8E050000 */ lw $a1, ($s0) +/* C5CBB8 80242478 26100004 */ addiu $s0, $s0, 4 +/* C5CBBC 8024247C 0C0B1EAF */ jal get_variable +/* C5CBC0 80242480 0220202D */ daddu $a0, $s1, $zero +/* C5CBC4 80242484 AE220094 */ sw $v0, 0x94($s1) +/* C5CBC8 80242488 8E050000 */ lw $a1, ($s0) +/* C5CBCC 8024248C 26100004 */ addiu $s0, $s0, 4 +/* C5CBD0 80242490 0C0B1EAF */ jal get_variable +/* C5CBD4 80242494 0220202D */ daddu $a0, $s1, $zero +/* C5CBD8 80242498 AE220098 */ sw $v0, 0x98($s1) +/* C5CBDC 8024249C 8E050000 */ lw $a1, ($s0) +/* C5CBE0 802424A0 26100004 */ addiu $s0, $s0, 4 +/* C5CBE4 802424A4 0C0B1EAF */ jal get_variable +/* C5CBE8 802424A8 0220202D */ daddu $a0, $s1, $zero +/* C5CBEC 802424AC AE22009C */ sw $v0, 0x9c($s1) +/* C5CBF0 802424B0 8E050000 */ lw $a1, ($s0) +/* C5CBF4 802424B4 26100004 */ addiu $s0, $s0, 4 +/* C5CBF8 802424B8 0C0B1EAF */ jal get_variable +/* C5CBFC 802424BC 0220202D */ daddu $a0, $s1, $zero +/* C5CC00 802424C0 AE2200A0 */ sw $v0, 0xa0($s1) +/* C5CC04 802424C4 8E050000 */ lw $a1, ($s0) +/* C5CC08 802424C8 26100004 */ addiu $s0, $s0, 4 +/* C5CC0C 802424CC 0C0B1EAF */ jal get_variable +/* C5CC10 802424D0 0220202D */ daddu $a0, $s1, $zero +/* C5CC14 802424D4 AE2200A4 */ sw $v0, 0xa4($s1) +/* C5CC18 802424D8 8E050000 */ lw $a1, ($s0) +/* C5CC1C 802424DC 26100004 */ addiu $s0, $s0, 4 +/* C5CC20 802424E0 0C0B1EAF */ jal get_variable +/* C5CC24 802424E4 0220202D */ daddu $a0, $s1, $zero +/* C5CC28 802424E8 AE2200A8 */ sw $v0, 0xa8($s1) +/* C5CC2C 802424EC 8E050000 */ lw $a1, ($s0) +/* C5CC30 802424F0 26100004 */ addiu $s0, $s0, 4 +/* C5CC34 802424F4 0C0B1EAF */ jal get_variable +/* C5CC38 802424F8 0220202D */ daddu $a0, $s1, $zero +/* C5CC3C 802424FC AE2200AC */ sw $v0, 0xac($s1) +/* C5CC40 80242500 8E050000 */ lw $a1, ($s0) +/* C5CC44 80242504 0C0B1EAF */ jal get_variable +/* C5CC48 80242508 0220202D */ daddu $a0, $s1, $zero +/* C5CC4C 8024250C AE2200B0 */ sw $v0, 0xb0($s1) +/* C5CC50 80242510 8FBF0018 */ lw $ra, 0x18($sp) +/* C5CC54 80242514 8FB10014 */ lw $s1, 0x14($sp) +/* C5CC58 80242518 8FB00010 */ lw $s0, 0x10($sp) +/* C5CC5C 8024251C 24020002 */ addiu $v0, $zero, 2 +/* C5CC60 80242520 03E00008 */ jr $ra +/* C5CC64 80242524 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242528.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242528.s new file mode 100644 index 0000000000..2f278ae4de --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242528.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242528 +/* C5CC68 80242528 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C5CC6C 8024252C AFB1001C */ sw $s1, 0x1c($sp) +/* C5CC70 80242530 0080882D */ daddu $s1, $a0, $zero +/* C5CC74 80242534 AFBF0034 */ sw $ra, 0x34($sp) +/* C5CC78 80242538 AFB60030 */ sw $s6, 0x30($sp) +/* C5CC7C 8024253C AFB5002C */ sw $s5, 0x2c($sp) +/* C5CC80 80242540 AFB40028 */ sw $s4, 0x28($sp) +/* C5CC84 80242544 AFB30024 */ sw $s3, 0x24($sp) +/* C5CC88 80242548 AFB20020 */ sw $s2, 0x20($sp) +/* C5CC8C 8024254C AFB00018 */ sw $s0, 0x18($sp) +/* C5CC90 80242550 F7B60040 */ sdc1 $f22, 0x40($sp) +/* C5CC94 80242554 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C5CC98 80242558 8E30000C */ lw $s0, 0xc($s1) +/* C5CC9C 8024255C 8E160000 */ lw $s6, ($s0) +/* C5CCA0 80242560 26100004 */ addiu $s0, $s0, 4 +/* C5CCA4 80242564 0C0B1EAF */ jal get_variable +/* C5CCA8 80242568 02C0282D */ daddu $a1, $s6, $zero +/* C5CCAC 8024256C 44820000 */ mtc1 $v0, $f0 +/* C5CCB0 80242570 00000000 */ nop +/* C5CCB4 80242574 46800020 */ cvt.s.w $f0, $f0 +/* C5CCB8 80242578 E7A00010 */ swc1 $f0, 0x10($sp) +/* C5CCBC 8024257C 8E140000 */ lw $s4, ($s0) +/* C5CCC0 80242580 26100004 */ addiu $s0, $s0, 4 +/* C5CCC4 80242584 0220202D */ daddu $a0, $s1, $zero +/* C5CCC8 80242588 0C0B1EAF */ jal get_variable +/* C5CCCC 8024258C 0280282D */ daddu $a1, $s4, $zero +/* C5CCD0 80242590 0220202D */ daddu $a0, $s1, $zero +/* C5CCD4 80242594 8E150000 */ lw $s5, ($s0) +/* C5CCD8 80242598 4482B000 */ mtc1 $v0, $f22 +/* C5CCDC 8024259C 00000000 */ nop +/* C5CCE0 802425A0 4680B5A0 */ cvt.s.w $f22, $f22 +/* C5CCE4 802425A4 0C0B1EAF */ jal get_variable +/* C5CCE8 802425A8 02A0282D */ daddu $a1, $s5, $zero +/* C5CCEC 802425AC 2404FFFC */ addiu $a0, $zero, -4 +/* C5CCF0 802425B0 44820000 */ mtc1 $v0, $f0 +/* C5CCF4 802425B4 00000000 */ nop +/* C5CCF8 802425B8 46800020 */ cvt.s.w $f0, $f0 +/* C5CCFC 802425BC 0C00EABB */ jal get_npc_unsafe +/* C5CD00 802425C0 E7A00014 */ swc1 $f0, 0x14($sp) +/* C5CD04 802425C4 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C5CD08 802425C8 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C5CD0C 802425CC 3C014334 */ lui $at, 0x4334 +/* C5CD10 802425D0 44816000 */ mtc1 $at, $f12 +/* C5CD14 802425D4 00041880 */ sll $v1, $a0, 2 +/* C5CD18 802425D8 00641821 */ addu $v1, $v1, $a0 +/* C5CD1C 802425DC 00031880 */ sll $v1, $v1, 2 +/* C5CD20 802425E0 00641823 */ subu $v1, $v1, $a0 +/* C5CD24 802425E4 000320C0 */ sll $a0, $v1, 3 +/* C5CD28 802425E8 00641821 */ addu $v1, $v1, $a0 +/* C5CD2C 802425EC 000318C0 */ sll $v1, $v1, 3 +/* C5CD30 802425F0 3C01800B */ lui $at, 0x800b +/* C5CD34 802425F4 00230821 */ addu $at, $at, $v1 +/* C5CD38 802425F8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C5CD3C 802425FC 460C0300 */ add.s $f12, $f0, $f12 +/* C5CD40 80242600 0C00A6C9 */ jal clamp_angle +/* C5CD44 80242604 0040982D */ daddu $s3, $v0, $zero +/* C5CD48 80242608 27B00010 */ addiu $s0, $sp, 0x10 +/* C5CD4C 8024260C 0200202D */ daddu $a0, $s0, $zero +/* C5CD50 80242610 27B20014 */ addiu $s2, $sp, 0x14 +/* C5CD54 80242614 0240282D */ daddu $a1, $s2, $zero +/* C5CD58 80242618 3C064170 */ lui $a2, 0x4170 +/* C5CD5C 8024261C 8E67000C */ lw $a3, 0xc($s3) +/* C5CD60 80242620 0C00A7E7 */ jal add_vec2D_polar +/* C5CD64 80242624 46000506 */ mov.s $f20, $f0 +/* C5CD68 80242628 0200202D */ daddu $a0, $s0, $zero +/* C5CD6C 8024262C 3C064120 */ lui $a2, 0x4120 +/* C5CD70 80242630 4407A000 */ mfc1 $a3, $f20 +/* C5CD74 80242634 0C00A7E7 */ jal add_vec2D_polar +/* C5CD78 80242638 0240282D */ daddu $a1, $s2, $zero +/* C5CD7C 8024263C 0220202D */ daddu $a0, $s1, $zero +/* C5CD80 80242640 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C5CD84 80242644 4600008D */ trunc.w.s $f2, $f0 +/* C5CD88 80242648 44061000 */ mfc1 $a2, $f2 +/* C5CD8C 8024264C 0C0B2026 */ jal set_variable +/* C5CD90 80242650 02C0282D */ daddu $a1, $s6, $zero +/* C5CD94 80242654 0220202D */ daddu $a0, $s1, $zero +/* C5CD98 80242658 4600B08D */ trunc.w.s $f2, $f22 +/* C5CD9C 8024265C 44061000 */ mfc1 $a2, $f2 +/* C5CDA0 80242660 0C0B2026 */ jal set_variable +/* C5CDA4 80242664 0280282D */ daddu $a1, $s4, $zero +/* C5CDA8 80242668 0220202D */ daddu $a0, $s1, $zero +/* C5CDAC 8024266C C7A00014 */ lwc1 $f0, 0x14($sp) +/* C5CDB0 80242670 4600008D */ trunc.w.s $f2, $f0 +/* C5CDB4 80242674 44061000 */ mfc1 $a2, $f2 +/* C5CDB8 80242678 0C0B2026 */ jal set_variable +/* C5CDBC 8024267C 02A0282D */ daddu $a1, $s5, $zero +/* C5CDC0 80242680 8FBF0034 */ lw $ra, 0x34($sp) +/* C5CDC4 80242684 8FB60030 */ lw $s6, 0x30($sp) +/* C5CDC8 80242688 8FB5002C */ lw $s5, 0x2c($sp) +/* C5CDCC 8024268C 8FB40028 */ lw $s4, 0x28($sp) +/* C5CDD0 80242690 8FB30024 */ lw $s3, 0x24($sp) +/* C5CDD4 80242694 8FB20020 */ lw $s2, 0x20($sp) +/* C5CDD8 80242698 8FB1001C */ lw $s1, 0x1c($sp) +/* C5CDDC 8024269C 8FB00018 */ lw $s0, 0x18($sp) +/* C5CDE0 802426A0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* C5CDE4 802426A4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C5CDE8 802426A8 24020002 */ addiu $v0, $zero, 2 +/* C5CDEC 802426AC 03E00008 */ jr $ra +/* C5CDF0 802426B0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802426B4.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802426B4.s new file mode 100644 index 0000000000..27a5d2e801 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802426B4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426B4 +/* C5CDF4 802426B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5CDF8 802426B8 AFB00010 */ sw $s0, 0x10($sp) +/* C5CDFC 802426BC 0080802D */ daddu $s0, $a0, $zero +/* C5CE00 802426C0 AFBF0014 */ sw $ra, 0x14($sp) +/* C5CE04 802426C4 0C00EABB */ jal get_npc_unsafe +/* C5CE08 802426C8 8E04008C */ lw $a0, 0x8c($s0) +/* C5CE0C 802426CC 0040282D */ daddu $a1, $v0, $zero +/* C5CE10 802426D0 8E040094 */ lw $a0, 0x94($s0) +/* C5CE14 802426D4 8CA30028 */ lw $v1, 0x28($a1) +/* C5CE18 802426D8 ACA40028 */ sw $a0, 0x28($a1) +/* C5CE1C 802426DC 8FBF0014 */ lw $ra, 0x14($sp) +/* C5CE20 802426E0 8FB00010 */ lw $s0, 0x10($sp) +/* C5CE24 802426E4 24020002 */ addiu $v0, $zero, 2 +/* C5CE28 802426E8 3C018024 */ lui $at, 0x8024 +/* C5CE2C 802426EC AC236794 */ sw $v1, 0x6794($at) +/* C5CE30 802426F0 03E00008 */ jr $ra +/* C5CE34 802426F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_802426F8.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_802426F8.s new file mode 100644 index 0000000000..fba4a1b4d4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_802426F8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426F8 +/* C5CE38 802426F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C5CE3C 802426FC AFBF0010 */ sw $ra, 0x10($sp) +/* C5CE40 80242700 0C00EABB */ jal get_npc_unsafe +/* C5CE44 80242704 8C84008C */ lw $a0, 0x8c($a0) +/* C5CE48 80242708 3C038024 */ lui $v1, 0x8024 +/* C5CE4C 8024270C 8C636794 */ lw $v1, 0x6794($v1) +/* C5CE50 80242710 AC430028 */ sw $v1, 0x28($v0) +/* C5CE54 80242714 8FBF0010 */ lw $ra, 0x10($sp) +/* C5CE58 80242718 24020002 */ addiu $v0, $zero, 2 +/* C5CE5C 8024271C 03E00008 */ jr $ra +/* C5CE60 80242720 27BD0018 */ addiu $sp, $sp, 0x18 +/* C5CE64 80242724 00000000 */ nop +/* C5CE68 80242728 00000000 */ nop +/* C5CE6C 8024272C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_02/func_80242730_C5A740.s b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242730_C5A740.s new file mode 100644 index 0000000000..def45d9b64 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_02/func_80242730_C5A740.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242730_C5CE70 +/* C5CE70 80242730 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C5CE74 80242734 3C048024 */ lui $a0, 0x8024 +/* C5CE78 80242738 248464A4 */ addiu $a0, $a0, 0x64a4 +/* C5CE7C 8024273C AFBF0018 */ sw $ra, 0x18($sp) +/* C5CE80 80242740 AFB10014 */ sw $s1, 0x14($sp) +/* C5CE84 80242744 AFB00010 */ sw $s0, 0x10($sp) +/* C5CE88 80242748 F7B40020 */ sdc1 $f20, 0x20($sp) +/* C5CE8C 8024274C 8C830000 */ lw $v1, ($a0) +/* C5CE90 80242750 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* C5CE94 80242754 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* C5CE98 80242758 28620003 */ slti $v0, $v1, 3 +/* C5CE9C 8024275C 50400007 */ beql $v0, $zero, .L8024277C +/* C5CEA0 80242760 24020003 */ addiu $v0, $zero, 3 +/* C5CEA4 80242764 1C60000C */ bgtz $v1, .L80242798 +/* C5CEA8 80242768 24620001 */ addiu $v0, $v1, 1 +/* C5CEAC 8024276C 10600007 */ beqz $v1, .L8024278C +/* C5CEB0 80242770 0000102D */ daddu $v0, $zero, $zero +/* C5CEB4 80242774 08090A02 */ j .L80242808 +/* C5CEB8 80242778 00000000 */ nop +.L8024277C: +/* C5CEBC 8024277C 10620008 */ beq $v1, $v0, .L802427A0 +/* C5CEC0 80242780 0000102D */ daddu $v0, $zero, $zero +/* C5CEC4 80242784 08090A02 */ j .L80242808 +/* C5CEC8 80242788 00000000 */ nop +.L8024278C: +/* C5CECC 8024278C 24020001 */ addiu $v0, $zero, 1 +/* C5CED0 80242790 08090A01 */ j .L80242804 +/* C5CED4 80242794 AC820000 */ sw $v0, ($a0) +.L80242798: +/* C5CED8 80242798 08090A01 */ j .L80242804 +/* C5CEDC 8024279C AC820000 */ sw $v0, ($a0) +.L802427A0: +/* C5CEE0 802427A0 3C108011 */ lui $s0, 0x8011 +/* C5CEE4 802427A4 2610C930 */ addiu $s0, $s0, -0x36d0 +/* C5CEE8 802427A8 0C03BD17 */ jal clear_partner_move_history +/* C5CEEC 802427AC 8E040000 */ lw $a0, ($s0) +/* C5CEF0 802427B0 C6200028 */ lwc1 $f0, 0x28($s1) +/* C5CEF4 802427B4 C6220030 */ lwc1 $f2, 0x30($s1) +/* C5CEF8 802427B8 4600010D */ trunc.w.s $f4, $f0 +/* C5CEFC 802427BC 44042000 */ mfc1 $a0, $f4 +/* C5CF00 802427C0 4600110D */ trunc.w.s $f4, $f2 +/* C5CF04 802427C4 44052000 */ mfc1 $a1, $f4 +/* C5CF08 802427C8 0C03BCF0 */ jal func_800EF3C0 +/* C5CF0C 802427CC 00000000 */ nop +/* C5CF10 802427D0 0C03BCF5 */ jal func_800EF3D4 +/* C5CF14 802427D4 0000202D */ daddu $a0, $zero, $zero +/* C5CF18 802427D8 3C0142B4 */ lui $at, 0x42b4 +/* C5CF1C 802427DC 4481A000 */ mtc1 $at, $f20 +/* C5CF20 802427E0 8E040000 */ lw $a0, ($s0) +/* C5CF24 802427E4 4405A000 */ mfc1 $a1, $f20 +/* C5CF28 802427E8 0C00ECD0 */ jal set_npc_yaw +/* C5CF2C 802427EC 00000000 */ nop +/* C5CF30 802427F0 24020002 */ addiu $v0, $zero, 2 +/* C5CF34 802427F4 E6340080 */ swc1 $f20, 0x80($s1) +/* C5CF38 802427F8 E6340084 */ swc1 $f20, 0x84($s1) +/* C5CF3C 802427FC 08090A02 */ j .L80242808 +/* C5CF40 80242800 AE2000A8 */ sw $zero, 0xa8($s1) +.L80242804: +/* C5CF44 80242804 0000102D */ daddu $v0, $zero, $zero +.L80242808: +/* C5CF48 80242808 8FBF0018 */ lw $ra, 0x18($sp) +/* C5CF4C 8024280C 8FB10014 */ lw $s1, 0x14($sp) +/* C5CF50 80242810 8FB00010 */ lw $s0, 0x10($sp) +/* C5CF54 80242814 D7B40020 */ ldc1 $f20, 0x20($sp) +/* C5CF58 80242818 03E00008 */ jr $ra +/* C5CF5C 8024281C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240000_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240000_C60D10.s new file mode 100644 index 0000000000..0c08e6cc8f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240000_C60D10.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C60D10 +/* C60D10 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C60D14 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C60D18 80240008 0080802D */ daddu $s0, $a0, $zero +/* C60D1C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C60D20 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C60D24 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C60D28 80240018 00621821 */ addu $v1, $v1, $v0 +/* C60D2C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C60D30 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C60D34 80240024 3C020002 */ lui $v0, 2 +/* C60D38 80240028 08090010 */ j .L80240040 +/* C60D3C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C60D40 80240030 3C040002 */ lui $a0, 2 +/* C60D44 80240034 0083102A */ slt $v0, $a0, $v1 +/* C60D48 80240038 10400002 */ beqz $v0, .L80240044 +/* C60D4C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C60D50 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C60D54 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C60D58 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C60D5C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C60D60 80240050 04610004 */ bgez $v1, .L80240064 +/* C60D64 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C60D68 80240058 3C020002 */ lui $v0, 2 +/* C60D6C 8024005C 0809001D */ j .L80240074 +/* C60D70 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C60D74 80240064 3C040002 */ lui $a0, 2 +/* C60D78 80240068 0083102A */ slt $v0, $a0, $v1 +/* C60D7C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C60D80 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C60D84 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C60D88 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C60D8C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C60D90 80240080 00621821 */ addu $v1, $v1, $v0 +/* C60D94 80240084 04610004 */ bgez $v1, .L80240098 +/* C60D98 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C60D9C 8024008C 3C020002 */ lui $v0, 2 +/* C60DA0 80240090 0809002A */ j .L802400A8 +/* C60DA4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C60DA8 80240098 3C040002 */ lui $a0, 2 +/* C60DAC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C60DB0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C60DB4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C60DB8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C60DBC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C60DC0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C60DC4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C60DC8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C60DCC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C60DD0 802400C0 3C020002 */ lui $v0, 2 +/* C60DD4 802400C4 08090037 */ j .L802400DC +/* C60DD8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C60DDC 802400CC 3C040002 */ lui $a0, 2 +/* C60DE0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C60DE4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C60DE8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C60DEC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C60DF0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C60DF4 802400E4 0C046F07 */ jal set_main_pan_u +/* C60DF8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C60DFC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C60E00 802400F0 0C046F0D */ jal set_main_pan_v +/* C60E04 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C60E08 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C60E0C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C60E10 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C60E14 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C60E18 80240108 0C046F19 */ jal set_aux_pan_v +/* C60E1C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C60E20 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C60E24 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C60E28 80240118 0000102D */ daddu $v0, $zero, $zero +/* C60E2C 8024011C 03E00008 */ jr $ra +/* C60E30 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240124_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240124_C60D10.s new file mode 100644 index 0000000000..868f3a676e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240124_C60D10.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C60E34 +/* C60E34 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C60E38 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C60E3C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C60E40 80240130 10A00005 */ beqz $a1, .L80240148 +/* C60E44 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C60E48 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C60E4C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C60E50 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C60E54 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C60E58 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C60E5C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C60E60 80240150 00000000 */ nop +/* C60E64 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C60E68 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C60E6C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C60E70 80240160 04610004 */ bgez $v1, .L80240174 +/* C60E74 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C60E78 80240168 3C020002 */ lui $v0, 2 +/* C60E7C 8024016C 08090061 */ j .L80240184 +/* C60E80 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C60E84 80240174 3C040002 */ lui $a0, 2 +/* C60E88 80240178 0083102A */ slt $v0, $a0, $v1 +/* C60E8C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C60E90 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C60E94 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C60E98 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C60E9C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C60EA0 80240190 00000000 */ nop +/* C60EA4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C60EA8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C60EAC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C60EB0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C60EB4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C60EB8 802401A8 3C020002 */ lui $v0, 2 +/* C60EBC 802401AC 08090071 */ j .L802401C4 +/* C60EC0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C60EC4 802401B4 3C040002 */ lui $a0, 2 +/* C60EC8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C60ECC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C60ED0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C60ED4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C60ED8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C60EDC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C60EE0 802401D0 00000000 */ nop +/* C60EE4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C60EE8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C60EEC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C60EF0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C60EF4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C60EF8 802401E8 3C020002 */ lui $v0, 2 +/* C60EFC 802401EC 08090081 */ j .L80240204 +/* C60F00 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C60F04 802401F4 3C040002 */ lui $a0, 2 +/* C60F08 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C60F0C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C60F10 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C60F14 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C60F18 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C60F1C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C60F20 80240210 00000000 */ nop +/* C60F24 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C60F28 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C60F2C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C60F30 80240220 04610004 */ bgez $v1, .L80240234 +/* C60F34 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C60F38 80240228 3C020002 */ lui $v0, 2 +/* C60F3C 8024022C 08090091 */ j .L80240244 +/* C60F40 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C60F44 80240234 3C040002 */ lui $a0, 2 +/* C60F48 80240238 0083102A */ slt $v0, $a0, $v1 +/* C60F4C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C60F50 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C60F54 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C60F58 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C60F5C 8024024C 0C046F07 */ jal set_main_pan_u +/* C60F60 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C60F64 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C60F68 80240258 0C046F0D */ jal set_main_pan_v +/* C60F6C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C60F70 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C60F74 80240264 0C046F13 */ jal set_aux_pan_u +/* C60F78 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C60F7C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C60F80 80240270 0C046F19 */ jal set_aux_pan_v +/* C60F84 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C60F88 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C60F8C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C60F90 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C60F94 80240284 24420001 */ addiu $v0, $v0, 1 +/* C60F98 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C60F9C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C60FA0 80240290 24630001 */ addiu $v1, $v1, 1 +/* C60FA4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C60FA8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C60FAC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C60FB0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C60FB4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C60FB8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C60FBC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C60FC0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C60FC4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C60FC8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C60FCC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C60FD0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C60FD4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C60FD8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C60FDC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C60FE0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C60FE4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C60FE8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C60FEC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C60FF0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C60FF4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C60FF8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C60FFC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C61000 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C61004 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C61008 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C6100C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C61010 80240300 0000102D */ daddu $v0, $zero, $zero +/* C61014 80240304 03E00008 */ jr $ra +/* C61018 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6101C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240310_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240310_C60D10.s new file mode 100644 index 0000000000..533f7dfabf --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240310_C60D10.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C61020 +/* C61020 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C61024 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* C61028 80240318 0080902D */ daddu $s2, $a0, $zero +/* C6102C 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* C61030 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* C61034 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* C61038 80240328 8E510148 */ lw $s1, 0x148($s2) +/* C6103C 8024032C 0C00EABB */ jal get_npc_unsafe +/* C61040 80240330 86240008 */ lh $a0, 8($s1) +/* C61044 80240334 0040802D */ daddu $s0, $v0, $zero +/* C61048 80240338 8E2300CC */ lw $v1, 0xcc($s1) +/* C6104C 8024033C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C61050 80240340 8C630020 */ lw $v1, 0x20($v1) +/* C61054 80240344 AE030028 */ sw $v1, 0x28($s0) +/* C61058 80240348 96220076 */ lhu $v0, 0x76($s1) +/* C6105C 8024034C A602008E */ sh $v0, 0x8e($s0) +/* C61060 80240350 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C61064 80240354 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C61068 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C6106C 8024035C 8C460028 */ lw $a2, 0x28($v0) +/* C61070 80240360 0C00A720 */ jal atan2 +/* C61074 80240364 8C470030 */ lw $a3, 0x30($v0) +/* C61078 80240368 2402000D */ addiu $v0, $zero, 0xd +/* C6107C 8024036C E600000C */ swc1 $f0, 0xc($s0) +/* C61080 80240370 AE420070 */ sw $v0, 0x70($s2) +/* C61084 80240374 8FBF001C */ lw $ra, 0x1c($sp) +/* C61088 80240378 8FB20018 */ lw $s2, 0x18($sp) +/* C6108C 8024037C 8FB10014 */ lw $s1, 0x14($sp) +/* C61090 80240380 8FB00010 */ lw $s0, 0x10($sp) +/* C61094 80240384 03E00008 */ jr $ra +/* C61098 80240388 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_8024038C_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024038C_C60D10.s new file mode 100644 index 0000000000..0be5825a43 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024038C_C60D10.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024038C_C6109C +/* C6109C 8024038C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C610A0 80240390 AFB3001C */ sw $s3, 0x1c($sp) +/* C610A4 80240394 0080982D */ daddu $s3, $a0, $zero +/* C610A8 80240398 AFBF0020 */ sw $ra, 0x20($sp) +/* C610AC 8024039C AFB20018 */ sw $s2, 0x18($sp) +/* C610B0 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* C610B4 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* C610B8 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* C610BC 802403AC 86240008 */ lh $a0, 8($s1) +/* C610C0 802403B0 0C00EABB */ jal get_npc_unsafe +/* C610C4 802403B4 00A0902D */ daddu $s2, $a1, $zero +/* C610C8 802403B8 0040802D */ daddu $s0, $v0, $zero +/* C610CC 802403BC 8602008E */ lh $v0, 0x8e($s0) +/* C610D0 802403C0 9603008E */ lhu $v1, 0x8e($s0) +/* C610D4 802403C4 18400005 */ blez $v0, .L802403DC +/* C610D8 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* C610DC 802403CC A602008E */ sh $v0, 0x8e($s0) +/* C610E0 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* C610E4 802403D4 1C400033 */ bgtz $v0, .L802404A4 +/* C610E8 802403D8 00000000 */ nop +.L802403DC: +/* C610EC 802403DC 8602008C */ lh $v0, 0x8c($s0) +/* C610F0 802403E0 14400030 */ bnez $v0, .L802404A4 +/* C610F4 802403E4 00000000 */ nop +/* C610F8 802403E8 8E2200CC */ lw $v0, 0xcc($s1) +/* C610FC 802403EC 8C420024 */ lw $v0, 0x24($v0) +/* C61100 802403F0 AE020028 */ sw $v0, 0x28($s0) +/* C61104 802403F4 C6400018 */ lwc1 $f0, 0x18($s2) +/* C61108 802403F8 E6000018 */ swc1 $f0, 0x18($s0) +/* C6110C 802403FC 8E230088 */ lw $v1, 0x88($s1) +/* C61110 80240400 24020005 */ addiu $v0, $zero, 5 +/* C61114 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* C61118 80240408 00000000 */ nop +/* C6111C 8024040C 10600003 */ beqz $v1, .L8024041C +/* C61120 80240410 24020001 */ addiu $v0, $zero, 1 +/* C61124 80240414 14620006 */ bne $v1, $v0, .L80240430 +/* C61128 80240418 00000000 */ nop +.L8024041C: +/* C6112C 8024041C 8E220084 */ lw $v0, 0x84($s1) +/* C61130 80240420 00021FC2 */ srl $v1, $v0, 0x1f +/* C61134 80240424 00431021 */ addu $v0, $v0, $v1 +/* C61138 80240428 00021043 */ sra $v0, $v0, 1 +/* C6113C 8024042C A60200A8 */ sh $v0, 0xa8($s0) +.L80240430: +/* C61140 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C61144 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C61148 80240438 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C6114C 8024043C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C61150 80240440 8C460028 */ lw $a2, 0x28($v0) +/* C61154 80240444 0C00A7B5 */ jal dist2D +/* C61158 80240448 8C470030 */ lw $a3, 0x30($v0) +/* C6115C 8024044C C6020018 */ lwc1 $f2, 0x18($s0) +/* C61160 80240450 46020003 */ div.s $f0, $f0, $f2 +/* C61164 80240454 3C018024 */ lui $at, 0x8024 +/* C61168 80240458 D42271E0 */ ldc1 $f2, 0x71e0($at) +/* C6116C 8024045C 46000021 */ cvt.d.s $f0, $f0 +/* C61170 80240460 46220000 */ add.d $f0, $f0, $f2 +/* C61174 80240464 4620010D */ trunc.w.d $f4, $f0 +/* C61178 80240468 44022000 */ mfc1 $v0, $f4 +/* C6117C 8024046C 00000000 */ nop +/* C61180 80240470 A602008E */ sh $v0, 0x8e($s0) +/* C61184 80240474 00021400 */ sll $v0, $v0, 0x10 +/* C61188 80240478 8E230078 */ lw $v1, 0x78($s1) +/* C6118C 8024047C 00021403 */ sra $v0, $v0, 0x10 +/* C61190 80240480 0043102A */ slt $v0, $v0, $v1 +/* C61194 80240484 10400003 */ beqz $v0, .L80240494 +/* C61198 80240488 00000000 */ nop +/* C6119C 8024048C 9622007A */ lhu $v0, 0x7a($s1) +/* C611A0 80240490 A602008E */ sh $v0, 0x8e($s0) +.L80240494: +/* C611A4 80240494 8602008E */ lh $v0, 0x8e($s0) +/* C611A8 80240498 AE22007C */ sw $v0, 0x7c($s1) +/* C611AC 8024049C 2402000E */ addiu $v0, $zero, 0xe +/* C611B0 802404A0 AE620070 */ sw $v0, 0x70($s3) +.L802404A4: +/* C611B4 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* C611B8 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* C611BC 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* C611C0 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* C611C4 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* C611C8 802404B8 03E00008 */ jr $ra +/* C611CC 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_802404C0_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_802404C0_C60D10.s new file mode 100644 index 0000000000..e86c7a57d6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_802404C0_C60D10.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_C611D0 +/* C611D0 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C611D4 802404C4 AFB3003C */ sw $s3, 0x3c($sp) +/* C611D8 802404C8 0080982D */ daddu $s3, $a0, $zero +/* C611DC 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* C611E0 802404D0 AFB20038 */ sw $s2, 0x38($sp) +/* C611E4 802404D4 AFB10034 */ sw $s1, 0x34($sp) +/* C611E8 802404D8 AFB00030 */ sw $s0, 0x30($sp) +/* C611EC 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* C611F0 802404E0 0C00EABB */ jal get_npc_unsafe +/* C611F4 802404E4 86240008 */ lh $a0, 8($s1) +/* C611F8 802404E8 0040802D */ daddu $s0, $v0, $zero +/* C611FC 802404EC 8E22007C */ lw $v0, 0x7c($s1) +/* C61200 802404F0 8603008E */ lh $v1, 0x8e($s0) +/* C61204 802404F4 2442FFFF */ addiu $v0, $v0, -1 +/* C61208 802404F8 14620012 */ bne $v1, $v0, .L80240544 +/* C6120C 802404FC 00000000 */ nop +/* C61210 80240500 C6000038 */ lwc1 $f0, 0x38($s0) +/* C61214 80240504 4600020D */ trunc.w.s $f8, $f0 +/* C61218 80240508 44024000 */ mfc1 $v0, $f8 +/* C6121C 8024050C 00000000 */ nop +/* C61220 80240510 A6220010 */ sh $v0, 0x10($s1) +/* C61224 80240514 C600003C */ lwc1 $f0, 0x3c($s0) +/* C61228 80240518 4600020D */ trunc.w.s $f8, $f0 +/* C6122C 8024051C 44024000 */ mfc1 $v0, $f8 +/* C61230 80240520 00000000 */ nop +/* C61234 80240524 A6220012 */ sh $v0, 0x12($s1) +/* C61238 80240528 C6000040 */ lwc1 $f0, 0x40($s0) +/* C6123C 8024052C 24020001 */ addiu $v0, $zero, 1 +/* C61240 80240530 A2220007 */ sb $v0, 7($s1) +/* C61244 80240534 4600020D */ trunc.w.s $f8, $f0 +/* C61248 80240538 44024000 */ mfc1 $v0, $f8 +/* C6124C 8024053C 00000000 */ nop +/* C61250 80240540 A6220014 */ sh $v0, 0x14($s1) +.L80240544: +/* C61254 80240544 C6000038 */ lwc1 $f0, 0x38($s0) +/* C61258 80240548 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6125C 8024054C C6040040 */ lwc1 $f4, 0x40($s0) +/* C61260 80240550 C6060018 */ lwc1 $f6, 0x18($s0) +/* C61264 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* C61268 80240558 E7A20024 */ swc1 $f2, 0x24($sp) +/* C6126C 8024055C E7A40028 */ swc1 $f4, 0x28($sp) +/* C61270 80240560 E7A60010 */ swc1 $f6, 0x10($sp) +/* C61274 80240564 C600000C */ lwc1 $f0, 0xc($s0) +/* C61278 80240568 E7A00014 */ swc1 $f0, 0x14($sp) +/* C6127C 8024056C 860200A8 */ lh $v0, 0xa8($s0) +/* C61280 80240570 27A50020 */ addiu $a1, $sp, 0x20 +/* C61284 80240574 44820000 */ mtc1 $v0, $f0 +/* C61288 80240578 00000000 */ nop +/* C6128C 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* C61290 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* C61294 80240584 860200A6 */ lh $v0, 0xa6($s0) +/* C61298 80240588 27A60024 */ addiu $a2, $sp, 0x24 +/* C6129C 8024058C 44820000 */ mtc1 $v0, $f0 +/* C612A0 80240590 00000000 */ nop +/* C612A4 80240594 46800020 */ cvt.s.w $f0, $f0 +/* C612A8 80240598 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C612AC 8024059C 8E040080 */ lw $a0, 0x80($s0) +/* C612B0 802405A0 0C037711 */ jal func_800DDC44 +/* C612B4 802405A4 27A70028 */ addiu $a3, $sp, 0x28 +/* C612B8 802405A8 0040902D */ daddu $s2, $v0, $zero +/* C612BC 802405AC 16400005 */ bnez $s2, .L802405C4 +/* C612C0 802405B0 00000000 */ nop +/* C612C4 802405B4 8E050018 */ lw $a1, 0x18($s0) +/* C612C8 802405B8 8E06000C */ lw $a2, 0xc($s0) +/* C612CC 802405BC 0C00EA95 */ jal npc_move_heading +/* C612D0 802405C0 0200202D */ daddu $a0, $s0, $zero +.L802405C4: +/* C612D4 802405C4 8602008E */ lh $v0, 0x8e($s0) +/* C612D8 802405C8 9603008E */ lhu $v1, 0x8e($s0) +/* C612DC 802405CC 18400007 */ blez $v0, .L802405EC +/* C612E0 802405D0 2462FFFF */ addiu $v0, $v1, -1 +/* C612E4 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* C612E8 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* C612EC 802405DC 18400003 */ blez $v0, .L802405EC +/* C612F0 802405E0 00000000 */ nop +/* C612F4 802405E4 12400008 */ beqz $s2, .L80240608 +/* C612F8 802405E8 00000000 */ nop +.L802405EC: +/* C612FC 802405EC 8E2200CC */ lw $v0, 0xcc($s1) +/* C61300 802405F0 A2200007 */ sb $zero, 7($s1) +/* C61304 802405F4 8C420028 */ lw $v0, 0x28($v0) +/* C61308 802405F8 A600008E */ sh $zero, 0x8e($s0) +/* C6130C 802405FC AE020028 */ sw $v0, 0x28($s0) +/* C61310 80240600 2402000F */ addiu $v0, $zero, 0xf +/* C61314 80240604 AE620070 */ sw $v0, 0x70($s3) +.L80240608: +/* C61318 80240608 8FBF0040 */ lw $ra, 0x40($sp) +/* C6131C 8024060C 8FB3003C */ lw $s3, 0x3c($sp) +/* C61320 80240610 8FB20038 */ lw $s2, 0x38($sp) +/* C61324 80240614 8FB10034 */ lw $s1, 0x34($sp) +/* C61328 80240618 8FB00030 */ lw $s0, 0x30($sp) +/* C6132C 8024061C 03E00008 */ jr $ra +/* C61330 80240620 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240624_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240624_C60D10.s new file mode 100644 index 0000000000..27e1fb0274 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240624_C60D10.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_C61334 +/* C61334 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C61338 80240628 AFB10014 */ sw $s1, 0x14($sp) +/* C6133C 8024062C 0080882D */ daddu $s1, $a0, $zero +/* C61340 80240630 AFBF0018 */ sw $ra, 0x18($sp) +/* C61344 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* C61348 80240638 8E300148 */ lw $s0, 0x148($s1) +/* C6134C 8024063C 0C00EABB */ jal get_npc_unsafe +/* C61350 80240640 86040008 */ lh $a0, 8($s0) +/* C61354 80240644 0040202D */ daddu $a0, $v0, $zero +/* C61358 80240648 9482008E */ lhu $v0, 0x8e($a0) +/* C6135C 8024064C 24030003 */ addiu $v1, $zero, 3 +/* C61360 80240650 24420001 */ addiu $v0, $v0, 1 +/* C61364 80240654 A482008E */ sh $v0, 0x8e($a0) +/* C61368 80240658 00021400 */ sll $v0, $v0, 0x10 +/* C6136C 8024065C 00021403 */ sra $v0, $v0, 0x10 +/* C61370 80240660 14430003 */ bne $v0, $v1, .L80240670 +/* C61374 80240664 00000000 */ nop +/* C61378 80240668 96020086 */ lhu $v0, 0x86($s0) +/* C6137C 8024066C A48200A8 */ sh $v0, 0xa8($a0) +.L80240670: +/* C61380 80240670 8482008E */ lh $v0, 0x8e($a0) +/* C61384 80240674 8E030080 */ lw $v1, 0x80($s0) +/* C61388 80240678 0043102A */ slt $v0, $v0, $v1 +/* C6138C 8024067C 14400004 */ bnez $v0, .L80240690 +/* C61390 80240680 00000000 */ nop +/* C61394 80240684 96020086 */ lhu $v0, 0x86($s0) +/* C61398 80240688 A48200A8 */ sh $v0, 0xa8($a0) +/* C6139C 8024068C AE200070 */ sw $zero, 0x70($s1) +.L80240690: +/* C613A0 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* C613A4 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* C613A8 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* C613AC 8024069C 03E00008 */ jr $ra +/* C613B0 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_802406A4_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_802406A4_C60D10.s new file mode 100644 index 0000000000..ecf4b0b970 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_802406A4_C60D10.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_C613B4 +/* C613B4 802406A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* C613B8 802406A8 AFB3005C */ sw $s3, 0x5c($sp) +/* C613BC 802406AC 0080982D */ daddu $s3, $a0, $zero +/* C613C0 802406B0 AFBF0068 */ sw $ra, 0x68($sp) +/* C613C4 802406B4 AFB50064 */ sw $s5, 0x64($sp) +/* C613C8 802406B8 AFB40060 */ sw $s4, 0x60($sp) +/* C613CC 802406BC AFB20058 */ sw $s2, 0x58($sp) +/* C613D0 802406C0 AFB10054 */ sw $s1, 0x54($sp) +/* C613D4 802406C4 AFB00050 */ sw $s0, 0x50($sp) +/* C613D8 802406C8 8E710148 */ lw $s1, 0x148($s3) +/* C613DC 802406CC 86240008 */ lh $a0, 8($s1) +/* C613E0 802406D0 0C00EABB */ jal get_npc_unsafe +/* C613E4 802406D4 00A0802D */ daddu $s0, $a1, $zero +/* C613E8 802406D8 8E63000C */ lw $v1, 0xc($s3) +/* C613EC 802406DC 0260202D */ daddu $a0, $s3, $zero +/* C613F0 802406E0 8C650000 */ lw $a1, ($v1) +/* C613F4 802406E4 0C0B1EAF */ jal get_variable +/* C613F8 802406E8 0040902D */ daddu $s2, $v0, $zero +/* C613FC 802406EC AFA00028 */ sw $zero, 0x28($sp) +/* C61400 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61404 802406F4 8C630030 */ lw $v1, 0x30($v1) +/* C61408 802406F8 AFA3002C */ sw $v1, 0x2c($sp) +/* C6140C 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61410 80240700 8C63001C */ lw $v1, 0x1c($v1) +/* C61414 80240704 AFA30030 */ sw $v1, 0x30($sp) +/* C61418 80240708 8E2300D0 */ lw $v1, 0xd0($s1) +/* C6141C 8024070C 8C630024 */ lw $v1, 0x24($v1) +/* C61420 80240710 AFA30034 */ sw $v1, 0x34($sp) +/* C61424 80240714 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61428 80240718 8C630028 */ lw $v1, 0x28($v1) +/* C6142C 8024071C 27B50028 */ addiu $s5, $sp, 0x28 +/* C61430 80240720 AFA30038 */ sw $v1, 0x38($sp) +/* C61434 80240724 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61438 80240728 3C0142C8 */ lui $at, 0x42c8 +/* C6143C 8024072C 44810000 */ mtc1 $at, $f0 +/* C61440 80240730 8C63002C */ lw $v1, 0x2c($v1) +/* C61444 80240734 0040A02D */ daddu $s4, $v0, $zero +/* C61448 80240738 E7A00040 */ swc1 $f0, 0x40($sp) +/* C6144C 8024073C A7A00044 */ sh $zero, 0x44($sp) +/* C61450 80240740 12000009 */ beqz $s0, .L80240768 +/* C61454 80240744 AFA3003C */ sw $v1, 0x3c($sp) +/* C61458 80240748 864300A8 */ lh $v1, 0xa8($s2) +/* C6145C 8024074C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C61460 80240750 AE20008C */ sw $zero, 0x8c($s1) +/* C61464 80240754 A22000B5 */ sb $zero, 0xb5($s1) +/* C61468 80240758 34420008 */ ori $v0, $v0, 8 +/* C6146C 8024075C AE230084 */ sw $v1, 0x84($s1) +/* C61470 80240760 080901DE */ j .L80240778 +/* C61474 80240764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240768: +/* C61478 80240768 8E2200B0 */ lw $v0, 0xb0($s1) +/* C6147C 8024076C 30420004 */ andi $v0, $v0, 4 +/* C61480 80240770 10400047 */ beqz $v0, .L80240890 +/* C61484 80240774 00000000 */ nop +.L80240778: +/* C61488 80240778 AE600070 */ sw $zero, 0x70($s3) +/* C6148C 8024077C A640008E */ sh $zero, 0x8e($s2) +/* C61490 80240780 8E2300CC */ lw $v1, 0xcc($s1) +/* C61494 80240784 2404F7FF */ addiu $a0, $zero, -0x801 +/* C61498 80240788 A2200007 */ sb $zero, 7($s1) +/* C6149C 8024078C 8E420000 */ lw $v0, ($s2) +/* C614A0 80240790 8C630000 */ lw $v1, ($v1) +/* C614A4 80240794 00441024 */ and $v0, $v0, $a0 +/* C614A8 80240798 AE420000 */ sw $v0, ($s2) +/* C614AC 8024079C AE430028 */ sw $v1, 0x28($s2) +/* C614B0 802407A0 96220086 */ lhu $v0, 0x86($s1) +/* C614B4 802407A4 A64200A8 */ sh $v0, 0xa8($s2) +/* C614B8 802407A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* C614BC 802407AC AE200090 */ sw $zero, 0x90($s1) +/* C614C0 802407B0 8C420034 */ lw $v0, 0x34($v0) +/* C614C4 802407B4 14400006 */ bnez $v0, .L802407D0 +/* C614C8 802407B8 2403FDFF */ addiu $v1, $zero, -0x201 +/* C614CC 802407BC 8E420000 */ lw $v0, ($s2) +/* C614D0 802407C0 2403FFF7 */ addiu $v1, $zero, -9 +/* C614D4 802407C4 34420200 */ ori $v0, $v0, 0x200 +/* C614D8 802407C8 080901F7 */ j .L802407DC +/* C614DC 802407CC 00431024 */ and $v0, $v0, $v1 +.L802407D0: +/* C614E0 802407D0 8E420000 */ lw $v0, ($s2) +/* C614E4 802407D4 00431024 */ and $v0, $v0, $v1 +/* C614E8 802407D8 34420008 */ ori $v0, $v0, 8 +.L802407DC: +/* C614EC 802407DC AE420000 */ sw $v0, ($s2) +/* C614F0 802407E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C614F4 802407E4 30420004 */ andi $v0, $v0, 4 +/* C614F8 802407E8 1040001E */ beqz $v0, .L80240864 +/* C614FC 802407EC 24040002 */ addiu $a0, $zero, 2 +/* C61500 802407F0 0240282D */ daddu $a1, $s2, $zero +/* C61504 802407F4 0000302D */ daddu $a2, $zero, $zero +/* C61508 802407F8 24020063 */ addiu $v0, $zero, 0x63 +/* C6150C 802407FC AE620070 */ sw $v0, 0x70($s3) +/* C61510 80240800 AE600074 */ sw $zero, 0x74($s3) +/* C61514 80240804 864300A8 */ lh $v1, 0xa8($s2) +/* C61518 80240808 3C013F80 */ lui $at, 0x3f80 +/* C6151C 8024080C 44810000 */ mtc1 $at, $f0 +/* C61520 80240810 3C014000 */ lui $at, 0x4000 +/* C61524 80240814 44811000 */ mtc1 $at, $f2 +/* C61528 80240818 3C01C1A0 */ lui $at, 0xc1a0 +/* C6152C 8024081C 44812000 */ mtc1 $at, $f4 +/* C61530 80240820 24020028 */ addiu $v0, $zero, 0x28 +/* C61534 80240824 AFA2001C */ sw $v0, 0x1c($sp) +/* C61538 80240828 44833000 */ mtc1 $v1, $f6 +/* C6153C 8024082C 00000000 */ nop +/* C61540 80240830 468031A0 */ cvt.s.w $f6, $f6 +/* C61544 80240834 44073000 */ mfc1 $a3, $f6 +/* C61548 80240838 27A20048 */ addiu $v0, $sp, 0x48 +/* C6154C 8024083C AFA20020 */ sw $v0, 0x20($sp) +/* C61550 80240840 E7A00010 */ swc1 $f0, 0x10($sp) +/* C61554 80240844 E7A20014 */ swc1 $f2, 0x14($sp) +/* C61558 80240848 0C01BFA4 */ jal fx_emote +/* C6155C 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* C61560 80240850 8E2200B0 */ lw $v0, 0xb0($s1) +/* C61564 80240854 2403FFFB */ addiu $v1, $zero, -5 +/* C61568 80240858 00431024 */ and $v0, $v0, $v1 +/* C6156C 8024085C 08090224 */ j .L80240890 +/* C61570 80240860 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240864: +/* C61574 80240864 8E220000 */ lw $v0, ($s1) +/* C61578 80240868 3C034000 */ lui $v1, 0x4000 +/* C6157C 8024086C 00431024 */ and $v0, $v0, $v1 +/* C61580 80240870 10400007 */ beqz $v0, .L80240890 +/* C61584 80240874 3C03BFFF */ lui $v1, 0xbfff +/* C61588 80240878 2402000C */ addiu $v0, $zero, 0xc +/* C6158C 8024087C AE620070 */ sw $v0, 0x70($s3) +/* C61590 80240880 8E220000 */ lw $v0, ($s1) +/* C61594 80240884 3463FFFF */ ori $v1, $v1, 0xffff +/* C61598 80240888 00431024 */ and $v0, $v0, $v1 +/* C6159C 8024088C AE220000 */ sw $v0, ($s1) +.L80240890: +/* C615A0 80240890 8E220090 */ lw $v0, 0x90($s1) +/* C615A4 80240894 1840000C */ blez $v0, .L802408C8 +/* C615A8 80240898 2442FFFF */ addiu $v0, $v0, -1 +/* C615AC 8024089C 14400087 */ bnez $v0, .L80240ABC +/* C615B0 802408A0 AE220090 */ sw $v0, 0x90($s1) +/* C615B4 802408A4 3C03FFAA */ lui $v1, 0xffaa +/* C615B8 802408A8 8E420028 */ lw $v0, 0x28($s2) +/* C615BC 802408AC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* C615C0 802408B0 00431021 */ addu $v0, $v0, $v1 +/* C615C4 802408B4 2C420002 */ sltiu $v0, $v0, 2 +/* C615C8 802408B8 10400003 */ beqz $v0, .L802408C8 +/* C615CC 802408BC 3C020055 */ lui $v0, 0x55 +/* C615D0 802408C0 3442000C */ ori $v0, $v0, 0xc +/* C615D4 802408C4 AE420028 */ sw $v0, 0x28($s2) +.L802408C8: +/* C615D8 802408C8 8E630070 */ lw $v1, 0x70($s3) +/* C615DC 802408CC 2402000C */ addiu $v0, $zero, 0xc +/* C615E0 802408D0 10620048 */ beq $v1, $v0, .L802409F4 +/* C615E4 802408D4 2862000D */ slti $v0, $v1, 0xd +/* C615E8 802408D8 1040000F */ beqz $v0, .L80240918 +/* C615EC 802408DC 24100001 */ addiu $s0, $zero, 1 +/* C615F0 802408E0 1070001E */ beq $v1, $s0, .L8024095C +/* C615F4 802408E4 28620002 */ slti $v0, $v1, 2 +/* C615F8 802408E8 10400005 */ beqz $v0, .L80240900 +/* C615FC 802408EC 24020002 */ addiu $v0, $zero, 2 +/* C61600 802408F0 10600015 */ beqz $v1, .L80240948 +/* C61604 802408F4 0260202D */ daddu $a0, $s3, $zero +/* C61608 802408F8 08090294 */ j .L80240A50 +/* C6160C 802408FC 00000000 */ nop +.L80240900: +/* C61610 80240900 1062001C */ beq $v1, $v0, .L80240974 +/* C61614 80240904 24020003 */ addiu $v0, $zero, 3 +/* C61618 80240908 10620035 */ beq $v1, $v0, .L802409E0 +/* C6161C 8024090C 0260202D */ daddu $a0, $s3, $zero +/* C61620 80240910 08090294 */ j .L80240A50 +/* C61624 80240914 00000000 */ nop +.L80240918: +/* C61628 80240918 2402000E */ addiu $v0, $zero, 0xe +/* C6162C 8024091C 1062003F */ beq $v1, $v0, .L80240A1C +/* C61630 80240920 0062102A */ slt $v0, $v1, $v0 +/* C61634 80240924 14400038 */ bnez $v0, .L80240A08 +/* C61638 80240928 0260202D */ daddu $a0, $s3, $zero +/* C6163C 8024092C 2402000F */ addiu $v0, $zero, 0xf +/* C61640 80240930 10620040 */ beq $v1, $v0, .L80240A34 +/* C61644 80240934 24020063 */ addiu $v0, $zero, 0x63 +/* C61648 80240938 10620043 */ beq $v1, $v0, .L80240A48 +/* C6164C 8024093C 00000000 */ nop +/* C61650 80240940 08090294 */ j .L80240A50 +/* C61654 80240944 00000000 */ nop +.L80240948: +/* C61658 80240948 0280282D */ daddu $a1, $s4, $zero +/* C6165C 8024094C 0C012568 */ jal func_800495A0 +/* C61660 80240950 02A0302D */ daddu $a2, $s5, $zero +/* C61664 80240954 96220086 */ lhu $v0, 0x86($s1) +/* C61668 80240958 A64200A8 */ sh $v0, 0xa8($s2) +.L8024095C: +/* C6166C 8024095C 0260202D */ daddu $a0, $s3, $zero +/* C61670 80240960 0280282D */ daddu $a1, $s4, $zero +/* C61674 80240964 0C0125AE */ jal func_800496B8 +/* C61678 80240968 02A0302D */ daddu $a2, $s5, $zero +/* C6167C 8024096C 08090294 */ j .L80240A50 +/* C61680 80240970 00000000 */ nop +.L80240974: +/* C61684 80240974 0260202D */ daddu $a0, $s3, $zero +/* C61688 80240978 0280282D */ daddu $a1, $s4, $zero +/* C6168C 8024097C 0C0126D1 */ jal func_80049B44 +/* C61690 80240980 02A0302D */ daddu $a2, $s5, $zero +/* C61694 80240984 8E230088 */ lw $v1, 0x88($s1) +/* C61698 80240988 24020006 */ addiu $v0, $zero, 6 +/* C6169C 8024098C 14620014 */ bne $v1, $v0, .L802409E0 +/* C616A0 80240990 0260202D */ daddu $a0, $s3, $zero +/* C616A4 80240994 0C00A67F */ jal rand_int +/* C616A8 80240998 24040064 */ addiu $a0, $zero, 0x64 +/* C616AC 8024099C 28420021 */ slti $v0, $v0, 0x21 +/* C616B0 802409A0 5040000F */ beql $v0, $zero, .L802409E0 +/* C616B4 802409A4 0260202D */ daddu $a0, $s3, $zero +/* C616B8 802409A8 8E22008C */ lw $v0, 0x8c($s1) +/* C616BC 802409AC 10400005 */ beqz $v0, .L802409C4 +/* C616C0 802409B0 3C020055 */ lui $v0, 0x55 +/* C616C4 802409B4 3442002F */ ori $v0, $v0, 0x2f +/* C616C8 802409B8 AE20008C */ sw $zero, 0x8c($s1) +/* C616CC 802409BC 08090274 */ j .L802409D0 +/* C616D0 802409C0 A22000B5 */ sb $zero, 0xb5($s1) +.L802409C4: +/* C616D4 802409C4 3442002E */ ori $v0, $v0, 0x2e +/* C616D8 802409C8 AE30008C */ sw $s0, 0x8c($s1) +/* C616DC 802409CC A23000B5 */ sb $s0, 0xb5($s1) +.L802409D0: +/* C616E0 802409D0 AE420028 */ sw $v0, 0x28($s2) +/* C616E4 802409D4 24020007 */ addiu $v0, $zero, 7 +/* C616E8 802409D8 080902AF */ j .L80240ABC +/* C616EC 802409DC AE220090 */ sw $v0, 0x90($s1) +.L802409E0: +/* C616F0 802409E0 0280282D */ daddu $a1, $s4, $zero +/* C616F4 802409E4 0C012701 */ jal func_80049C04 +/* C616F8 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* C616FC 802409EC 08090294 */ j .L80240A50 +/* C61700 802409F0 00000000 */ nop +.L802409F4: +/* C61704 802409F4 0260202D */ daddu $a0, $s3, $zero +/* C61708 802409F8 0280282D */ daddu $a1, $s4, $zero +/* C6170C 802409FC 0C0900C4 */ jal func_80240310 +/* C61710 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* C61714 80240A04 0260202D */ daddu $a0, $s3, $zero +.L80240A08: +/* C61718 80240A08 0280282D */ daddu $a1, $s4, $zero +/* C6171C 80240A0C 0C0900E3 */ jal func_8024038C +/* C61720 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* C61724 80240A14 08090294 */ j .L80240A50 +/* C61728 80240A18 00000000 */ nop +.L80240A1C: +/* C6172C 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* C61730 80240A20 0280282D */ daddu $a1, $s4, $zero +/* C61734 80240A24 0C090130 */ jal func_802404C0 +/* C61738 80240A28 02A0302D */ daddu $a2, $s5, $zero +/* C6173C 80240A2C 08090294 */ j .L80240A50 +/* C61740 80240A30 00000000 */ nop +.L80240A34: +/* C61744 80240A34 0280282D */ daddu $a1, $s4, $zero +/* C61748 80240A38 0C090189 */ jal func_80240624 +/* C6174C 80240A3C 02A0302D */ daddu $a2, $s5, $zero +/* C61750 80240A40 08090294 */ j .L80240A50 +/* C61754 80240A44 00000000 */ nop +.L80240A48: +/* C61758 80240A48 0C0129CF */ jal func_8004A73C +/* C6175C 80240A4C 0260202D */ daddu $a0, $s3, $zero +.L80240A50: +/* C61760 80240A50 8E230088 */ lw $v1, 0x88($s1) +/* C61764 80240A54 24020006 */ addiu $v0, $zero, 6 +/* C61768 80240A58 14620019 */ bne $v1, $v0, .L80240AC0 +/* C6176C 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* C61770 80240A60 8E22008C */ lw $v0, 0x8c($s1) +/* C61774 80240A64 10400003 */ beqz $v0, .L80240A74 +/* C61778 80240A68 24020001 */ addiu $v0, $zero, 1 +/* C6177C 80240A6C 0809029E */ j .L80240A78 +/* C61780 80240A70 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A74: +/* C61784 80240A74 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A78: +/* C61788 80240A78 8E22008C */ lw $v0, 0x8c($s1) +/* C6178C 80240A7C 1040000F */ beqz $v0, .L80240ABC +/* C61790 80240A80 3C03FFAA */ lui $v1, 0xffaa +/* C61794 80240A84 8E420028 */ lw $v0, 0x28($s2) +/* C61798 80240A88 3463FFFC */ ori $v1, $v1, 0xfffc +/* C6179C 80240A8C 00431821 */ addu $v1, $v0, $v1 +/* C617A0 80240A90 2C620015 */ sltiu $v0, $v1, 0x15 +/* C617A4 80240A94 10400009 */ beqz $v0, .L80240ABC +/* C617A8 80240A98 00031080 */ sll $v0, $v1, 2 +/* C617AC 80240A9C 3C018024 */ lui $at, 0x8024 +/* C617B0 80240AA0 00220821 */ addu $at, $at, $v0 +/* C617B4 80240AA4 8C2271E8 */ lw $v0, 0x71e8($at) +/* C617B8 80240AA8 00400008 */ jr $v0 +/* C617BC 80240AAC 00000000 */ nop +/* C617C0 80240AB0 8E420028 */ lw $v0, 0x28($s2) +/* C617C4 80240AB4 24420001 */ addiu $v0, $v0, 1 +/* C617C8 80240AB8 AE420028 */ sw $v0, 0x28($s2) +.L80240ABC: +/* C617CC 80240ABC 0000102D */ daddu $v0, $zero, $zero +.L80240AC0: +/* C617D0 80240AC0 8FBF0068 */ lw $ra, 0x68($sp) +/* C617D4 80240AC4 8FB50064 */ lw $s5, 0x64($sp) +/* C617D8 80240AC8 8FB40060 */ lw $s4, 0x60($sp) +/* C617DC 80240ACC 8FB3005C */ lw $s3, 0x5c($sp) +/* C617E0 80240AD0 8FB20058 */ lw $s2, 0x58($sp) +/* C617E4 80240AD4 8FB10054 */ lw $s1, 0x54($sp) +/* C617E8 80240AD8 8FB00050 */ lw $s0, 0x50($sp) +/* C617EC 80240ADC 03E00008 */ jr $ra +/* C617F0 80240AE0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240AE4_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240AE4_C60D10.s new file mode 100644 index 0000000000..d15e86e2c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240AE4_C60D10.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE4_C617F4 +/* C617F4 80240AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C617F8 80240AE8 AFBF0010 */ sw $ra, 0x10($sp) +/* C617FC 80240AEC 0C00EAD2 */ jal get_npc_safe +/* C61800 80240AF0 8C84014C */ lw $a0, 0x14c($a0) +/* C61804 80240AF4 0040182D */ daddu $v1, $v0, $zero +/* C61808 80240AF8 846200A8 */ lh $v0, 0xa8($v1) +/* C6180C 80240AFC C462003C */ lwc1 $f2, 0x3c($v1) +/* C61810 80240B00 906400A9 */ lbu $a0, 0xa9($v1) +/* C61814 80240B04 44820000 */ mtc1 $v0, $f0 +/* C61818 80240B08 00000000 */ nop +/* C6181C 80240B0C 46800020 */ cvt.s.w $f0, $f0 +/* C61820 80240B10 46001081 */ sub.s $f2, $f2, $f0 +/* C61824 80240B14 A06400AB */ sb $a0, 0xab($v1) +/* C61828 80240B18 E462003C */ swc1 $f2, 0x3c($v1) +/* C6182C 80240B1C 8FBF0010 */ lw $ra, 0x10($sp) +/* C61830 80240B20 24020002 */ addiu $v0, $zero, 2 +/* C61834 80240B24 03E00008 */ jr $ra +/* C61838 80240B28 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B2C.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B2C.s new file mode 100644 index 0000000000..e6ee4ec871 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B2C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B2C +/* C6183C 80240B2C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C61840 80240B30 AFBF0010 */ sw $ra, 0x10($sp) +/* C61844 80240B34 0C00EAD2 */ jal get_npc_safe +/* C61848 80240B38 8C84014C */ lw $a0, 0x14c($a0) +/* C6184C 80240B3C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* C61850 80240B40 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* C61854 80240B44 C44C0038 */ lwc1 $f12, 0x38($v0) +/* C61858 80240B48 C44E0040 */ lwc1 $f14, 0x40($v0) +/* C6185C 80240B4C 8C660028 */ lw $a2, 0x28($v1) +/* C61860 80240B50 0C00A7B5 */ jal dist2D +/* C61864 80240B54 8C670030 */ lw $a3, 0x30($v1) +/* C61868 80240B58 3C014248 */ lui $at, 0x4248 +/* C6186C 80240B5C 44811000 */ mtc1 $at, $f2 +/* C61870 80240B60 00000000 */ nop +/* C61874 80240B64 4602003C */ c.lt.s $f0, $f2 +/* C61878 80240B68 00000000 */ nop +/* C6187C 80240B6C 45010002 */ bc1t .L80240B78 +/* C61880 80240B70 24020002 */ addiu $v0, $zero, 2 +/* C61884 80240B74 0000102D */ daddu $v0, $zero, $zero +.L80240B78: +/* C61888 80240B78 8FBF0010 */ lw $ra, 0x10($sp) +/* C6188C 80240B7C 03E00008 */ jr $ra +/* C61890 80240B80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B84_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B84_C60D10.s new file mode 100644 index 0000000000..68899a70ef --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240B84_C60D10.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B84_C61894 +/* C61894 80240B84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C61898 80240B88 0080102D */ daddu $v0, $a0, $zero +/* C6189C 80240B8C AFB00010 */ sw $s0, 0x10($sp) +/* C618A0 80240B90 AFBF0018 */ sw $ra, 0x18($sp) +/* C618A4 80240B94 AFB10014 */ sw $s1, 0x14($sp) +/* C618A8 80240B98 8C44014C */ lw $a0, 0x14c($v0) +/* C618AC 80240B9C 8C510148 */ lw $s1, 0x148($v0) +/* C618B0 80240BA0 0C00EAD2 */ jal get_npc_safe +/* C618B4 80240BA4 00A0802D */ daddu $s0, $a1, $zero +/* C618B8 80240BA8 56000001 */ bnel $s0, $zero, .L80240BB0 +/* C618BC 80240BAC A04000AB */ sb $zero, 0xab($v0) +.L80240BB0: +/* C618C0 80240BB0 8C420000 */ lw $v0, ($v0) +/* C618C4 80240BB4 30421000 */ andi $v0, $v0, 0x1000 +/* C618C8 80240BB8 1040000A */ beqz $v0, .L80240BE4 +/* C618CC 80240BBC 0000102D */ daddu $v0, $zero, $zero +/* C618D0 80240BC0 82220004 */ lb $v0, 4($s1) +/* C618D4 80240BC4 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* C618D8 80240BC8 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* C618DC 80240BCC 00021080 */ sll $v0, $v0, 2 +/* C618E0 80240BD0 00431021 */ addu $v0, $v0, $v1 +/* C618E4 80240BD4 8C440028 */ lw $a0, 0x28($v0) +/* C618E8 80240BD8 9623006E */ lhu $v1, 0x6e($s1) +/* C618EC 80240BDC 24020002 */ addiu $v0, $zero, 2 +/* C618F0 80240BE0 A4830044 */ sh $v1, 0x44($a0) +.L80240BE4: +/* C618F4 80240BE4 8FBF0018 */ lw $ra, 0x18($sp) +/* C618F8 80240BE8 8FB10014 */ lw $s1, 0x14($sp) +/* C618FC 80240BEC 8FB00010 */ lw $s0, 0x10($sp) +/* C61900 80240BF0 03E00008 */ jr $ra +/* C61904 80240BF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240BF8.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240BF8.s new file mode 100644 index 0000000000..14d6ff176a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240BF8.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF8 +/* C61908 80240BF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C6190C 80240BFC AFB10014 */ sw $s1, 0x14($sp) +/* C61910 80240C00 0080882D */ daddu $s1, $a0, $zero +/* C61914 80240C04 AFBF0018 */ sw $ra, 0x18($sp) +/* C61918 80240C08 AFB00010 */ sw $s0, 0x10($sp) +/* C6191C 80240C0C 8E300148 */ lw $s0, 0x148($s1) +/* C61920 80240C10 0C00EABB */ jal get_npc_unsafe +/* C61924 80240C14 86040008 */ lh $a0, 8($s0) +/* C61928 80240C18 24030001 */ addiu $v1, $zero, 1 +/* C6192C 80240C1C 0040202D */ daddu $a0, $v0, $zero +/* C61930 80240C20 AE03006C */ sw $v1, 0x6c($s0) +/* C61934 80240C24 8482008C */ lh $v0, 0x8c($a0) +/* C61938 80240C28 14400009 */ bnez $v0, .L80240C50 +/* C6193C 80240C2C 24020002 */ addiu $v0, $zero, 2 +/* C61940 80240C30 96030072 */ lhu $v1, 0x72($s0) +/* C61944 80240C34 AE02006C */ sw $v0, 0x6c($s0) +/* C61948 80240C38 A483008E */ sh $v1, 0x8e($a0) +/* C6194C 80240C3C 8E0200CC */ lw $v0, 0xcc($s0) +/* C61950 80240C40 8C420020 */ lw $v0, 0x20($v0) +/* C61954 80240C44 AC820028 */ sw $v0, 0x28($a0) +/* C61958 80240C48 2402001F */ addiu $v0, $zero, 0x1f +/* C6195C 80240C4C AE220070 */ sw $v0, 0x70($s1) +.L80240C50: +/* C61960 80240C50 8FBF0018 */ lw $ra, 0x18($sp) +/* C61964 80240C54 8FB10014 */ lw $s1, 0x14($sp) +/* C61968 80240C58 8FB00010 */ lw $s0, 0x10($sp) +/* C6196C 80240C5C 03E00008 */ jr $ra +/* C61970 80240C60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240C64_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240C64_C60D10.s new file mode 100644 index 0000000000..e9406010e5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240C64_C60D10.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C64_C61974 +/* C61974 80240C64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C61978 80240C68 AFB10014 */ sw $s1, 0x14($sp) +/* C6197C 80240C6C 0080882D */ daddu $s1, $a0, $zero +/* C61980 80240C70 AFBF0018 */ sw $ra, 0x18($sp) +/* C61984 80240C74 AFB00010 */ sw $s0, 0x10($sp) +/* C61988 80240C78 8E300148 */ lw $s0, 0x148($s1) +/* C6198C 80240C7C 0C00EABB */ jal get_npc_unsafe +/* C61990 80240C80 86040008 */ lh $a0, 8($s0) +/* C61994 80240C84 0040202D */ daddu $a0, $v0, $zero +/* C61998 80240C88 9482008E */ lhu $v0, 0x8e($a0) +/* C6199C 80240C8C 2442FFFF */ addiu $v0, $v0, -1 +/* C619A0 80240C90 A482008E */ sh $v0, 0x8e($a0) +/* C619A4 80240C94 00021400 */ sll $v0, $v0, 0x10 +/* C619A8 80240C98 1C400009 */ bgtz $v0, .L80240CC0 +/* C619AC 80240C9C 24020003 */ addiu $v0, $zero, 3 +/* C619B0 80240CA0 96030076 */ lhu $v1, 0x76($s0) +/* C619B4 80240CA4 AE02006C */ sw $v0, 0x6c($s0) +/* C619B8 80240CA8 A483008E */ sh $v1, 0x8e($a0) +/* C619BC 80240CAC 8E0200CC */ lw $v0, 0xcc($s0) +/* C619C0 80240CB0 8C420024 */ lw $v0, 0x24($v0) +/* C619C4 80240CB4 AC820028 */ sw $v0, 0x28($a0) +/* C619C8 80240CB8 24020020 */ addiu $v0, $zero, 0x20 +/* C619CC 80240CBC AE220070 */ sw $v0, 0x70($s1) +.L80240CC0: +/* C619D0 80240CC0 8FBF0018 */ lw $ra, 0x18($sp) +/* C619D4 80240CC4 8FB10014 */ lw $s1, 0x14($sp) +/* C619D8 80240CC8 8FB00010 */ lw $s0, 0x10($sp) +/* C619DC 80240CCC 03E00008 */ jr $ra +/* C619E0 80240CD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240CD4_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240CD4_C60D10.s new file mode 100644 index 0000000000..1a57278ffe --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240CD4_C60D10.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD4_C619E4 +/* C619E4 80240CD4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C619E8 80240CD8 AFB10034 */ sw $s1, 0x34($sp) +/* C619EC 80240CDC 0080882D */ daddu $s1, $a0, $zero +/* C619F0 80240CE0 AFBF0038 */ sw $ra, 0x38($sp) +/* C619F4 80240CE4 AFB00030 */ sw $s0, 0x30($sp) +/* C619F8 80240CE8 8E300148 */ lw $s0, 0x148($s1) +/* C619FC 80240CEC 0C00EABB */ jal get_npc_unsafe +/* C61A00 80240CF0 86040008 */ lh $a0, 8($s0) +/* C61A04 80240CF4 0040282D */ daddu $a1, $v0, $zero +/* C61A08 80240CF8 94A2008E */ lhu $v0, 0x8e($a1) +/* C61A0C 80240CFC 2442FFFF */ addiu $v0, $v0, -1 +/* C61A10 80240D00 A4A2008E */ sh $v0, 0x8e($a1) +/* C61A14 80240D04 00021400 */ sll $v0, $v0, 0x10 +/* C61A18 80240D08 1C400023 */ bgtz $v0, .L80240D98 +/* C61A1C 80240D0C 24020004 */ addiu $v0, $zero, 4 +/* C61A20 80240D10 8E0300CC */ lw $v1, 0xcc($s0) +/* C61A24 80240D14 AE02006C */ sw $v0, 0x6c($s0) +/* C61A28 80240D18 8C620000 */ lw $v0, ($v1) +/* C61A2C 80240D1C ACA20028 */ sw $v0, 0x28($a1) +/* C61A30 80240D20 9602007A */ lhu $v0, 0x7a($s0) +/* C61A34 80240D24 A4A2008E */ sh $v0, 0x8e($a1) +/* C61A38 80240D28 8E020078 */ lw $v0, 0x78($s0) +/* C61A3C 80240D2C 28420008 */ slti $v0, $v0, 8 +/* C61A40 80240D30 14400018 */ bnez $v0, .L80240D94 +/* C61A44 80240D34 24020021 */ addiu $v0, $zero, 0x21 +/* C61A48 80240D38 24040003 */ addiu $a0, $zero, 3 +/* C61A4C 80240D3C 27A30028 */ addiu $v1, $sp, 0x28 +/* C61A50 80240D40 84A700A8 */ lh $a3, 0xa8($a1) +/* C61A54 80240D44 3C013F80 */ lui $at, 0x3f80 +/* C61A58 80240D48 44810000 */ mtc1 $at, $f0 +/* C61A5C 80240D4C 3C014000 */ lui $at, 0x4000 +/* C61A60 80240D50 44811000 */ mtc1 $at, $f2 +/* C61A64 80240D54 3C01C1A0 */ lui $at, 0xc1a0 +/* C61A68 80240D58 44812000 */ mtc1 $at, $f4 +/* C61A6C 80240D5C 44873000 */ mtc1 $a3, $f6 +/* C61A70 80240D60 00000000 */ nop +/* C61A74 80240D64 468031A0 */ cvt.s.w $f6, $f6 +/* C61A78 80240D68 E7A00010 */ swc1 $f0, 0x10($sp) +/* C61A7C 80240D6C E7A20014 */ swc1 $f2, 0x14($sp) +/* C61A80 80240D70 E7A40018 */ swc1 $f4, 0x18($sp) +/* C61A84 80240D74 8E020078 */ lw $v0, 0x78($s0) +/* C61A88 80240D78 44073000 */ mfc1 $a3, $f6 +/* C61A8C 80240D7C 0000302D */ daddu $a2, $zero, $zero +/* C61A90 80240D80 AFA30020 */ sw $v1, 0x20($sp) +/* C61A94 80240D84 2442FFFF */ addiu $v0, $v0, -1 +/* C61A98 80240D88 0C01BFA4 */ jal fx_emote +/* C61A9C 80240D8C AFA2001C */ sw $v0, 0x1c($sp) +/* C61AA0 80240D90 24020021 */ addiu $v0, $zero, 0x21 +.L80240D94: +/* C61AA4 80240D94 AE220070 */ sw $v0, 0x70($s1) +.L80240D98: +/* C61AA8 80240D98 8FBF0038 */ lw $ra, 0x38($sp) +/* C61AAC 80240D9C 8FB10034 */ lw $s1, 0x34($sp) +/* C61AB0 80240DA0 8FB00030 */ lw $s0, 0x30($sp) +/* C61AB4 80240DA4 03E00008 */ jr $ra +/* C61AB8 80240DA8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240DAC_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240DAC_C60D10.s new file mode 100644 index 0000000000..93149d1051 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240DAC_C60D10.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DAC_C61ABC +/* C61ABC 80240DAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C61AC0 80240DB0 AFB10014 */ sw $s1, 0x14($sp) +/* C61AC4 80240DB4 0080882D */ daddu $s1, $a0, $zero +/* C61AC8 80240DB8 AFBF0018 */ sw $ra, 0x18($sp) +/* C61ACC 80240DBC AFB00010 */ sw $s0, 0x10($sp) +/* C61AD0 80240DC0 8E300148 */ lw $s0, 0x148($s1) +/* C61AD4 80240DC4 0C00EABB */ jal get_npc_unsafe +/* C61AD8 80240DC8 86040008 */ lh $a0, 8($s0) +/* C61ADC 80240DCC 9443008E */ lhu $v1, 0x8e($v0) +/* C61AE0 80240DD0 2463FFFF */ addiu $v1, $v1, -1 +/* C61AE4 80240DD4 A443008E */ sh $v1, 0x8e($v0) +/* C61AE8 80240DD8 00031C00 */ sll $v1, $v1, 0x10 +/* C61AEC 80240DDC 1C600003 */ bgtz $v1, .L80240DEC +/* C61AF0 80240DE0 2402000C */ addiu $v0, $zero, 0xc +/* C61AF4 80240DE4 AE00006C */ sw $zero, 0x6c($s0) +/* C61AF8 80240DE8 AE220070 */ sw $v0, 0x70($s1) +.L80240DEC: +/* C61AFC 80240DEC 8FBF0018 */ lw $ra, 0x18($sp) +/* C61B00 80240DF0 8FB10014 */ lw $s1, 0x14($sp) +/* C61B04 80240DF4 8FB00010 */ lw $s0, 0x10($sp) +/* C61B08 80240DF8 03E00008 */ jr $ra +/* C61B0C 80240DFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240E00_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240E00_C60D10.s new file mode 100644 index 0000000000..c24514fd14 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240E00_C60D10.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E00_C61B10 +/* C61B10 80240E00 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C61B14 80240E04 AFBF0024 */ sw $ra, 0x24($sp) +/* C61B18 80240E08 AFB40020 */ sw $s4, 0x20($sp) +/* C61B1C 80240E0C AFB3001C */ sw $s3, 0x1c($sp) +/* C61B20 80240E10 AFB20018 */ sw $s2, 0x18($sp) +/* C61B24 80240E14 AFB10014 */ sw $s1, 0x14($sp) +/* C61B28 80240E18 AFB00010 */ sw $s0, 0x10($sp) +/* C61B2C 80240E1C F7B40028 */ sdc1 $f20, 0x28($sp) +/* C61B30 80240E20 8C900148 */ lw $s0, 0x148($a0) +/* C61B34 80240E24 86040008 */ lh $a0, 8($s0) +/* C61B38 80240E28 0C00EABB */ jal get_npc_unsafe +/* C61B3C 80240E2C 24110001 */ addiu $s1, $zero, 1 +/* C61B40 80240E30 86040008 */ lh $a0, 8($s0) +/* C61B44 80240E34 0040802D */ daddu $s0, $v0, $zero +/* C61B48 80240E38 3C05800B */ lui $a1, %hi(gCameras) +/* C61B4C 80240E3C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C61B50 80240E40 3C03800A */ lui $v1, 0x800a +/* C61B54 80240E44 8463A634 */ lh $v1, -0x59cc($v1) +/* C61B58 80240E48 00912021 */ addu $a0, $a0, $s1 +/* C61B5C 80240E4C 00031080 */ sll $v0, $v1, 2 +/* C61B60 80240E50 00431021 */ addu $v0, $v0, $v1 +/* C61B64 80240E54 00021080 */ sll $v0, $v0, 2 +/* C61B68 80240E58 00431023 */ subu $v0, $v0, $v1 +/* C61B6C 80240E5C 000218C0 */ sll $v1, $v0, 3 +/* C61B70 80240E60 00431021 */ addu $v0, $v0, $v1 +/* C61B74 80240E64 000210C0 */ sll $v0, $v0, 3 +/* C61B78 80240E68 0C00FB3A */ jal get_enemy +/* C61B7C 80240E6C 00459021 */ addu $s2, $v0, $a1 +/* C61B80 80240E70 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C61B84 80240E74 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C61B88 80240E78 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C61B8C 80240E7C 8E830000 */ lw $v1, ($s4) +/* C61B90 80240E80 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C61B94 80240E84 8C660028 */ lw $a2, 0x28($v1) +/* C61B98 80240E88 8C670030 */ lw $a3, 0x30($v1) +/* C61B9C 80240E8C 0C00A7B5 */ jal dist2D +/* C61BA0 80240E90 0040982D */ daddu $s3, $v0, $zero +/* C61BA4 80240E94 C6620074 */ lwc1 $f2, 0x74($s3) +/* C61BA8 80240E98 468010A0 */ cvt.s.w $f2, $f2 +/* C61BAC 80240E9C 4600103C */ c.lt.s $f2, $f0 +/* C61BB0 80240EA0 00000000 */ nop +/* C61BB4 80240EA4 45030001 */ bc1tl .L80240EAC +/* C61BB8 80240EA8 0000882D */ daddu $s1, $zero, $zero +.L80240EAC: +/* C61BBC 80240EAC C64C006C */ lwc1 $f12, 0x6c($s2) +/* C61BC0 80240EB0 C60E000C */ lwc1 $f14, 0xc($s0) +/* C61BC4 80240EB4 3C014387 */ lui $at, 0x4387 +/* C61BC8 80240EB8 4481A000 */ mtc1 $at, $f20 +/* C61BCC 80240EBC 0C00A70A */ jal get_clamped_angle_diff +/* C61BD0 80240EC0 00000000 */ nop +/* C61BD4 80240EC4 0C00A6C9 */ jal clamp_angle +/* C61BD8 80240EC8 46000306 */ mov.s $f12, $f0 +/* C61BDC 80240ECC 3C018024 */ lui $at, 0x8024 +/* C61BE0 80240ED0 D4227240 */ ldc1 $f2, 0x7240($at) +/* C61BE4 80240ED4 46000021 */ cvt.d.s $f0, $f0 +/* C61BE8 80240ED8 4622003C */ c.lt.d $f0, $f2 +/* C61BEC 80240EDC 00000000 */ nop +/* C61BF0 80240EE0 45000003 */ bc1f .L80240EF0 +/* C61BF4 80240EE4 00000000 */ nop +/* C61BF8 80240EE8 3C0142B4 */ lui $at, 0x42b4 +/* C61BFC 80240EEC 4481A000 */ mtc1 $at, $f20 +.L80240EF0: +/* C61C00 80240EF0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C61C04 80240EF4 8E820000 */ lw $v0, ($s4) +/* C61C08 80240EF8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C61C0C 80240EFC 8C460028 */ lw $a2, 0x28($v0) +/* C61C10 80240F00 0C00A720 */ jal atan2 +/* C61C14 80240F04 8C470030 */ lw $a3, 0x30($v0) +/* C61C18 80240F08 4600A306 */ mov.s $f12, $f20 +/* C61C1C 80240F0C 0C00A70A */ jal get_clamped_angle_diff +/* C61C20 80240F10 46000386 */ mov.s $f14, $f0 +/* C61C24 80240F14 C6620078 */ lwc1 $f2, 0x78($s3) +/* C61C28 80240F18 468010A0 */ cvt.s.w $f2, $f2 +/* C61C2C 80240F1C 46000005 */ abs.s $f0, $f0 +/* C61C30 80240F20 4600103C */ c.lt.s $f2, $f0 +/* C61C34 80240F24 00000000 */ nop +/* C61C38 80240F28 45030001 */ bc1tl .L80240F30 +/* C61C3C 80240F2C 0000882D */ daddu $s1, $zero, $zero +.L80240F30: +/* C61C40 80240F30 8E820000 */ lw $v0, ($s4) +/* C61C44 80240F34 C600003C */ lwc1 $f0, 0x3c($s0) +/* C61C48 80240F38 C442002C */ lwc1 $f2, 0x2c($v0) +/* C61C4C 80240F3C 860200A8 */ lh $v0, 0xa8($s0) +/* C61C50 80240F40 46020001 */ sub.s $f0, $f0, $f2 +/* C61C54 80240F44 44821000 */ mtc1 $v0, $f2 +/* C61C58 80240F48 00000000 */ nop +/* C61C5C 80240F4C 468010A1 */ cvt.d.w $f2, $f2 +/* C61C60 80240F50 46221080 */ add.d $f2, $f2, $f2 +/* C61C64 80240F54 46000005 */ abs.s $f0, $f0 +/* C61C68 80240F58 46000021 */ cvt.d.s $f0, $f0 +/* C61C6C 80240F5C 4620103E */ c.le.d $f2, $f0 +/* C61C70 80240F60 00000000 */ nop +/* C61C74 80240F64 45030001 */ bc1tl .L80240F6C +/* C61C78 80240F68 0000882D */ daddu $s1, $zero, $zero +.L80240F6C: +/* C61C7C 80240F6C 3C038011 */ lui $v1, 0x8011 +/* C61C80 80240F70 8063EBB3 */ lb $v1, -0x144d($v1) +/* C61C84 80240F74 24020009 */ addiu $v0, $zero, 9 +/* C61C88 80240F78 50620001 */ beql $v1, $v0, .L80240F80 +/* C61C8C 80240F7C 0000882D */ daddu $s1, $zero, $zero +.L80240F80: +/* C61C90 80240F80 24020007 */ addiu $v0, $zero, 7 +/* C61C94 80240F84 50620001 */ beql $v1, $v0, .L80240F8C +/* C61C98 80240F88 0000882D */ daddu $s1, $zero, $zero +.L80240F8C: +/* C61C9C 80240F8C 0220102D */ daddu $v0, $s1, $zero +/* C61CA0 80240F90 8FBF0024 */ lw $ra, 0x24($sp) +/* C61CA4 80240F94 8FB40020 */ lw $s4, 0x20($sp) +/* C61CA8 80240F98 8FB3001C */ lw $s3, 0x1c($sp) +/* C61CAC 80240F9C 8FB20018 */ lw $s2, 0x18($sp) +/* C61CB0 80240FA0 8FB10014 */ lw $s1, 0x14($sp) +/* C61CB4 80240FA4 8FB00010 */ lw $s0, 0x10($sp) +/* C61CB8 80240FA8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C61CBC 80240FAC 03E00008 */ jr $ra +/* C61CC0 80240FB0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80240FB4.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240FB4.s new file mode 100644 index 0000000000..a18130a9f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80240FB4.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB4 +/* C61CC4 80240FB4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C61CC8 80240FB8 AFB40028 */ sw $s4, 0x28($sp) +/* C61CCC 80240FBC 0080A02D */ daddu $s4, $a0, $zero +/* C61CD0 80240FC0 AFBF002C */ sw $ra, 0x2c($sp) +/* C61CD4 80240FC4 AFB30024 */ sw $s3, 0x24($sp) +/* C61CD8 80240FC8 AFB20020 */ sw $s2, 0x20($sp) +/* C61CDC 80240FCC AFB1001C */ sw $s1, 0x1c($sp) +/* C61CE0 80240FD0 AFB00018 */ sw $s0, 0x18($sp) +/* C61CE4 80240FD4 8E910148 */ lw $s1, 0x148($s4) +/* C61CE8 80240FD8 86240008 */ lh $a0, 8($s1) +/* C61CEC 80240FDC 0C00EABB */ jal get_npc_unsafe +/* C61CF0 80240FE0 00A0802D */ daddu $s0, $a1, $zero +/* C61CF4 80240FE4 16000005 */ bnez $s0, .L80240FFC +/* C61CF8 80240FE8 0040902D */ daddu $s2, $v0, $zero +/* C61CFC 80240FEC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C61D00 80240FF0 30420004 */ andi $v0, $v0, 4 +/* C61D04 80240FF4 10400015 */ beqz $v0, .L8024104C +/* C61D08 80240FF8 00000000 */ nop +.L80240FFC: +/* C61D0C 80240FFC AE800070 */ sw $zero, 0x70($s4) +/* C61D10 80241000 8E420000 */ lw $v0, ($s2) +/* C61D14 80241004 3C031F30 */ lui $v1, 0x1f30 +/* C61D18 80241008 A640008E */ sh $zero, 0x8e($s2) +/* C61D1C 8024100C 34420102 */ ori $v0, $v0, 0x102 +/* C61D20 80241010 AE420000 */ sw $v0, ($s2) +/* C61D24 80241014 8E220000 */ lw $v0, ($s1) +/* C61D28 80241018 3C01C47A */ lui $at, 0xc47a +/* C61D2C 8024101C 44810000 */ mtc1 $at, $f0 +/* C61D30 80241020 00431025 */ or $v0, $v0, $v1 +/* C61D34 80241024 AE220000 */ sw $v0, ($s1) +/* C61D38 80241028 AE400038 */ sw $zero, 0x38($s2) +/* C61D3C 8024102C E640003C */ swc1 $f0, 0x3c($s2) +/* C61D40 80241030 AE400040 */ sw $zero, 0x40($s2) +/* C61D44 80241034 8E2300B0 */ lw $v1, 0xb0($s1) +/* C61D48 80241038 30620004 */ andi $v0, $v1, 4 +/* C61D4C 8024103C 10400003 */ beqz $v0, .L8024104C +/* C61D50 80241040 2402FFFB */ addiu $v0, $zero, -5 +/* C61D54 80241044 00621024 */ and $v0, $v1, $v0 +/* C61D58 80241048 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024104C: +/* C61D5C 8024104C 8E930070 */ lw $s3, 0x70($s4) +/* C61D60 80241050 12600005 */ beqz $s3, .L80241068 +/* C61D64 80241054 24020001 */ addiu $v0, $zero, 1 +/* C61D68 80241058 12620048 */ beq $s3, $v0, .L8024117C +/* C61D6C 8024105C 00000000 */ nop +/* C61D70 80241060 0809047C */ j .L802411F0 +/* C61D74 80241064 00000000 */ nop +.L80241068: +/* C61D78 80241068 86240008 */ lh $a0, 8($s1) +/* C61D7C 8024106C 0C00FB3A */ jal get_enemy +/* C61D80 80241070 2484FFFF */ addiu $a0, $a0, -1 +/* C61D84 80241074 0040802D */ daddu $s0, $v0, $zero +/* C61D88 80241078 0C00EABB */ jal get_npc_unsafe +/* C61D8C 8024107C 86040008 */ lh $a0, 8($s0) +/* C61D90 80241080 24030001 */ addiu $v1, $zero, 1 +/* C61D94 80241084 0040982D */ daddu $s3, $v0, $zero +/* C61D98 80241088 A2230007 */ sb $v1, 7($s1) +/* C61D9C 8024108C 8E03006C */ lw $v1, 0x6c($s0) +/* C61DA0 80241090 24020003 */ addiu $v0, $zero, 3 +/* C61DA4 80241094 14620056 */ bne $v1, $v0, .L802411F0 +/* C61DA8 80241098 00000000 */ nop +/* C61DAC 8024109C 8E2500A8 */ lw $a1, 0xa8($s1) +/* C61DB0 802410A0 10A00003 */ beqz $a1, .L802410B0 +/* C61DB4 802410A4 0260202D */ daddu $a0, $s3, $zero +/* C61DB8 802410A8 0C012530 */ jal func_800494C0 +/* C61DBC 802410AC 0000302D */ daddu $a2, $zero, $zero +.L802410B0: +/* C61DC0 802410B0 27A40010 */ addiu $a0, $sp, 0x10 +/* C61DC4 802410B4 C6280070 */ lwc1 $f8, 0x70($s1) +/* C61DC8 802410B8 46804220 */ cvt.s.w $f8, $f8 +/* C61DCC 802410BC C6620034 */ lwc1 $f2, 0x34($s3) +/* C61DD0 802410C0 3C014387 */ lui $at, 0x4387 +/* C61DD4 802410C4 44810000 */ mtc1 $at, $f0 +/* C61DD8 802410C8 44064000 */ mfc1 $a2, $f8 +/* C61DDC 802410CC 46020001 */ sub.s $f0, $f0, $f2 +/* C61DE0 802410D0 C6660038 */ lwc1 $f6, 0x38($s3) +/* C61DE4 802410D4 C6640040 */ lwc1 $f4, 0x40($s3) +/* C61DE8 802410D8 44070000 */ mfc1 $a3, $f0 +/* C61DEC 802410DC 27A50014 */ addiu $a1, $sp, 0x14 +/* C61DF0 802410E0 E7A60010 */ swc1 $f6, 0x10($sp) +/* C61DF4 802410E4 0C00A7E7 */ jal add_vec2D_polar +/* C61DF8 802410E8 E7A40014 */ swc1 $f4, 0x14($sp) +/* C61DFC 802410EC C7A00010 */ lwc1 $f0, 0x10($sp) +/* C61E00 802410F0 4600020D */ trunc.w.s $f8, $f0 +/* C61E04 802410F4 44024000 */ mfc1 $v0, $f8 +/* C61E08 802410F8 E6400038 */ swc1 $f0, 0x38($s2) +/* C61E0C 802410FC A6220010 */ sh $v0, 0x10($s1) +/* C61E10 80241100 C660003C */ lwc1 $f0, 0x3c($s3) +/* C61E14 80241104 C622006C */ lwc1 $f2, 0x6c($s1) +/* C61E18 80241108 468010A0 */ cvt.s.w $f2, $f2 +/* C61E1C 8024110C 46020000 */ add.s $f0, $f0, $f2 +/* C61E20 80241110 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C61E24 80241114 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C61E28 80241118 E640003C */ swc1 $f0, 0x3c($s2) +/* C61E2C 8024111C C7A20014 */ lwc1 $f2, 0x14($sp) +/* C61E30 80241120 4600020D */ trunc.w.s $f8, $f0 +/* C61E34 80241124 44024000 */ mfc1 $v0, $f8 +/* C61E38 80241128 00000000 */ nop +/* C61E3C 8024112C A6220012 */ sh $v0, 0x12($s1) +/* C61E40 80241130 4600120D */ trunc.w.s $f8, $f2 +/* C61E44 80241134 44024000 */ mfc1 $v0, $f8 +/* C61E48 80241138 E6420040 */ swc1 $f2, 0x40($s2) +/* C61E4C 8024113C A6220014 */ sh $v0, 0x14($s1) +/* C61E50 80241140 8C660028 */ lw $a2, 0x28($v1) +/* C61E54 80241144 8C670030 */ lw $a3, 0x30($v1) +/* C61E58 80241148 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C61E5C 8024114C 0C00A720 */ jal atan2 +/* C61E60 80241150 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C61E64 80241154 3C03E0EF */ lui $v1, 0xe0ef +/* C61E68 80241158 E640000C */ swc1 $f0, 0xc($s2) +/* C61E6C 8024115C 8E220000 */ lw $v0, ($s1) +/* C61E70 80241160 3463FFFF */ ori $v1, $v1, 0xffff +/* C61E74 80241164 00431024 */ and $v0, $v0, $v1 +/* C61E78 80241168 AE220000 */ sw $v0, ($s1) +/* C61E7C 8024116C 24020001 */ addiu $v0, $zero, 1 +/* C61E80 80241170 A640008E */ sh $zero, 0x8e($s2) +/* C61E84 80241174 0809047C */ j .L802411F0 +/* C61E88 80241178 AE820070 */ sw $v0, 0x70($s4) +.L8024117C: +/* C61E8C 8024117C 86240008 */ lh $a0, 8($s1) +/* C61E90 80241180 0C00FB3A */ jal get_enemy +/* C61E94 80241184 2484FFFF */ addiu $a0, $a0, -1 +/* C61E98 80241188 0040802D */ daddu $s0, $v0, $zero +/* C61E9C 8024118C 0C00EABB */ jal get_npc_unsafe +/* C61EA0 80241190 86040008 */ lh $a0, 8($s0) +/* C61EA4 80241194 9642008E */ lhu $v0, 0x8e($s2) +/* C61EA8 80241198 24420001 */ addiu $v0, $v0, 1 +/* C61EAC 8024119C A642008E */ sh $v0, 0x8e($s2) +/* C61EB0 802411A0 00021400 */ sll $v0, $v0, 0x10 +/* C61EB4 802411A4 8E23007C */ lw $v1, 0x7c($s1) +/* C61EB8 802411A8 00021403 */ sra $v0, $v0, 0x10 +/* C61EBC 802411AC 0043102A */ slt $v0, $v0, $v1 +/* C61EC0 802411B0 50400001 */ beql $v0, $zero, .L802411B8 +/* C61EC4 802411B4 A2200007 */ sb $zero, 7($s1) +.L802411B8: +/* C61EC8 802411B8 8E03006C */ lw $v1, 0x6c($s0) +/* C61ECC 802411BC 24020004 */ addiu $v0, $zero, 4 +/* C61ED0 802411C0 1462000B */ bne $v1, $v0, .L802411F0 +/* C61ED4 802411C4 3C021F10 */ lui $v0, 0x1f10 +/* C61ED8 802411C8 8E230000 */ lw $v1, ($s1) +/* C61EDC 802411CC 3C01C47A */ lui $at, 0xc47a +/* C61EE0 802411D0 44810000 */ mtc1 $at, $f0 +/* C61EE4 802411D4 00621825 */ or $v1, $v1, $v0 +/* C61EE8 802411D8 AE230000 */ sw $v1, ($s1) +/* C61EEC 802411DC AE400038 */ sw $zero, 0x38($s2) +/* C61EF0 802411E0 E640003C */ swc1 $f0, 0x3c($s2) +/* C61EF4 802411E4 AE400040 */ sw $zero, 0x40($s2) +/* C61EF8 802411E8 A2330007 */ sb $s3, 7($s1) +/* C61EFC 802411EC AE800070 */ sw $zero, 0x70($s4) +.L802411F0: +/* C61F00 802411F0 8FBF002C */ lw $ra, 0x2c($sp) +/* C61F04 802411F4 8FB40028 */ lw $s4, 0x28($sp) +/* C61F08 802411F8 8FB30024 */ lw $s3, 0x24($sp) +/* C61F0C 802411FC 8FB20020 */ lw $s2, 0x20($sp) +/* C61F10 80241200 8FB1001C */ lw $s1, 0x1c($sp) +/* C61F14 80241204 8FB00018 */ lw $s0, 0x18($sp) +/* C61F18 80241208 0000102D */ daddu $v0, $zero, $zero +/* C61F1C 8024120C 03E00008 */ jr $ra +/* C61F20 80241210 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80241214_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241214_C60D10.s new file mode 100644 index 0000000000..5cd6df61e4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241214_C60D10.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241214_C61F24 +/* C61F24 80241214 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C61F28 80241218 AFB20038 */ sw $s2, 0x38($sp) +/* C61F2C 8024121C 0080902D */ daddu $s2, $a0, $zero +/* C61F30 80241220 AFBF0048 */ sw $ra, 0x48($sp) +/* C61F34 80241224 AFB50044 */ sw $s5, 0x44($sp) +/* C61F38 80241228 AFB40040 */ sw $s4, 0x40($sp) +/* C61F3C 8024122C AFB3003C */ sw $s3, 0x3c($sp) +/* C61F40 80241230 AFB10034 */ sw $s1, 0x34($sp) +/* C61F44 80241234 AFB00030 */ sw $s0, 0x30($sp) +/* C61F48 80241238 8E510148 */ lw $s1, 0x148($s2) +/* C61F4C 8024123C 86240008 */ lh $a0, 8($s1) +/* C61F50 80241240 0C00EABB */ jal get_npc_unsafe +/* C61F54 80241244 00A0802D */ daddu $s0, $a1, $zero +/* C61F58 80241248 8E43000C */ lw $v1, 0xc($s2) +/* C61F5C 8024124C 0240202D */ daddu $a0, $s2, $zero +/* C61F60 80241250 8C650000 */ lw $a1, ($v1) +/* C61F64 80241254 0C0B1EAF */ jal get_variable +/* C61F68 80241258 0040A82D */ daddu $s5, $v0, $zero +/* C61F6C 8024125C AFA00010 */ sw $zero, 0x10($sp) +/* C61F70 80241260 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61F74 80241264 8C630030 */ lw $v1, 0x30($v1) +/* C61F78 80241268 AFA30014 */ sw $v1, 0x14($sp) +/* C61F7C 8024126C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61F80 80241270 8C63001C */ lw $v1, 0x1c($v1) +/* C61F84 80241274 AFA30018 */ sw $v1, 0x18($sp) +/* C61F88 80241278 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61F8C 8024127C 8C630024 */ lw $v1, 0x24($v1) +/* C61F90 80241280 AFA3001C */ sw $v1, 0x1c($sp) +/* C61F94 80241284 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61F98 80241288 8C630028 */ lw $v1, 0x28($v1) +/* C61F9C 8024128C 27B40010 */ addiu $s4, $sp, 0x10 +/* C61FA0 80241290 AFA30020 */ sw $v1, 0x20($sp) +/* C61FA4 80241294 8E2300D0 */ lw $v1, 0xd0($s1) +/* C61FA8 80241298 3C014282 */ lui $at, 0x4282 +/* C61FAC 8024129C 44810000 */ mtc1 $at, $f0 +/* C61FB0 802412A0 8C63002C */ lw $v1, 0x2c($v1) +/* C61FB4 802412A4 0040982D */ daddu $s3, $v0, $zero +/* C61FB8 802412A8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C61FBC 802412AC A7A0002C */ sh $zero, 0x2c($sp) +/* C61FC0 802412B0 16000005 */ bnez $s0, .L802412C8 +/* C61FC4 802412B4 AFA30024 */ sw $v1, 0x24($sp) +/* C61FC8 802412B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* C61FCC 802412BC 30420004 */ andi $v0, $v0, 4 +/* C61FD0 802412C0 10400020 */ beqz $v0, .L80241344 +/* C61FD4 802412C4 00000000 */ nop +.L802412C8: +/* C61FD8 802412C8 2404F7FF */ addiu $a0, $zero, -0x801 +/* C61FDC 802412CC AE400070 */ sw $zero, 0x70($s2) +/* C61FE0 802412D0 A6A0008E */ sh $zero, 0x8e($s5) +/* C61FE4 802412D4 8E2200CC */ lw $v0, 0xcc($s1) +/* C61FE8 802412D8 8EA30000 */ lw $v1, ($s5) +/* C61FEC 802412DC 8C420000 */ lw $v0, ($v0) +/* C61FF0 802412E0 00641824 */ and $v1, $v1, $a0 +/* C61FF4 802412E4 AEA30000 */ sw $v1, ($s5) +/* C61FF8 802412E8 AEA20028 */ sw $v0, 0x28($s5) +/* C61FFC 802412EC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C62000 802412F0 8C420034 */ lw $v0, 0x34($v0) +/* C62004 802412F4 54400005 */ bnel $v0, $zero, .L8024130C +/* C62008 802412F8 2402FDFF */ addiu $v0, $zero, -0x201 +/* C6200C 802412FC 34620200 */ ori $v0, $v1, 0x200 +/* C62010 80241300 2403FFF7 */ addiu $v1, $zero, -9 +/* C62014 80241304 080904C5 */ j .L80241314 +/* C62018 80241308 00431024 */ and $v0, $v0, $v1 +.L8024130C: +/* C6201C 8024130C 00621024 */ and $v0, $v1, $v0 +/* C62020 80241310 34420008 */ ori $v0, $v0, 8 +.L80241314: +/* C62024 80241314 AEA20000 */ sw $v0, ($s5) +/* C62028 80241318 8E2200B0 */ lw $v0, 0xb0($s1) +/* C6202C 8024131C 30420004 */ andi $v0, $v0, 4 +/* C62030 80241320 10400007 */ beqz $v0, .L80241340 +/* C62034 80241324 24020063 */ addiu $v0, $zero, 0x63 +/* C62038 80241328 AE420070 */ sw $v0, 0x70($s2) +/* C6203C 8024132C AE400074 */ sw $zero, 0x74($s2) +/* C62040 80241330 8E2200B0 */ lw $v0, 0xb0($s1) +/* C62044 80241334 2403FFFB */ addiu $v1, $zero, -5 +/* C62048 80241338 00431024 */ and $v0, $v0, $v1 +/* C6204C 8024133C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241340: +/* C62050 80241340 AE20006C */ sw $zero, 0x6c($s1) +.L80241344: +/* C62054 80241344 8E420070 */ lw $v0, 0x70($s2) +/* C62058 80241348 2842001E */ slti $v0, $v0, 0x1e +/* C6205C 8024134C 10400009 */ beqz $v0, .L80241374 +/* C62060 80241350 00000000 */ nop +/* C62064 80241354 8E22006C */ lw $v0, 0x6c($s1) +/* C62068 80241358 14400006 */ bnez $v0, .L80241374 +/* C6206C 8024135C 00000000 */ nop +/* C62070 80241360 0C090380 */ jal func_80240E00 +/* C62074 80241364 0240202D */ daddu $a0, $s2, $zero +/* C62078 80241368 10400002 */ beqz $v0, .L80241374 +/* C6207C 8024136C 2402001E */ addiu $v0, $zero, 0x1e +/* C62080 80241370 AE420070 */ sw $v0, 0x70($s2) +.L80241374: +/* C62084 80241374 8E430070 */ lw $v1, 0x70($s2) +/* C62088 80241378 2C620064 */ sltiu $v0, $v1, 0x64 +/* C6208C 8024137C 10400048 */ beqz $v0, .L802414A0 +/* C62090 80241380 00031080 */ sll $v0, $v1, 2 +/* C62094 80241384 3C018024 */ lui $at, 0x8024 +/* C62098 80241388 00220821 */ addu $at, $at, $v0 +/* C6209C 8024138C 8C227248 */ lw $v0, 0x7248($at) +/* C620A0 80241390 00400008 */ jr $v0 +/* C620A4 80241394 00000000 */ nop +/* C620A8 80241398 0240202D */ daddu $a0, $s2, $zero +/* C620AC 8024139C 0260282D */ daddu $a1, $s3, $zero +/* C620B0 802413A0 0C012568 */ jal func_800495A0 +/* C620B4 802413A4 0280302D */ daddu $a2, $s4, $zero +/* C620B8 802413A8 0240202D */ daddu $a0, $s2, $zero +/* C620BC 802413AC 0260282D */ daddu $a1, $s3, $zero +/* C620C0 802413B0 0C0125AE */ jal func_800496B8 +/* C620C4 802413B4 0280302D */ daddu $a2, $s4, $zero +/* C620C8 802413B8 08090528 */ j .L802414A0 +/* C620CC 802413BC 00000000 */ nop +/* C620D0 802413C0 0240202D */ daddu $a0, $s2, $zero +/* C620D4 802413C4 0260282D */ daddu $a1, $s3, $zero +/* C620D8 802413C8 0C0126D1 */ jal func_80049B44 +/* C620DC 802413CC 0280302D */ daddu $a2, $s4, $zero +/* C620E0 802413D0 0240202D */ daddu $a0, $s2, $zero +/* C620E4 802413D4 0260282D */ daddu $a1, $s3, $zero +/* C620E8 802413D8 0C012701 */ jal func_80049C04 +/* C620EC 802413DC 0280302D */ daddu $a2, $s4, $zero +/* C620F0 802413E0 08090528 */ j .L802414A0 +/* C620F4 802413E4 00000000 */ nop +/* C620F8 802413E8 0240202D */ daddu $a0, $s2, $zero +/* C620FC 802413EC 0260282D */ daddu $a1, $s3, $zero +/* C62100 802413F0 0C01278F */ jal func_80049E3C +/* C62104 802413F4 0280302D */ daddu $a2, $s4, $zero +/* C62108 802413F8 0240202D */ daddu $a0, $s2, $zero +/* C6210C 802413FC 0260282D */ daddu $a1, $s3, $zero +/* C62110 80241400 0C0127B3 */ jal func_80049ECC +/* C62114 80241404 0280302D */ daddu $a2, $s4, $zero +/* C62118 80241408 08090528 */ j .L802414A0 +/* C6211C 8024140C 00000000 */ nop +/* C62120 80241410 0240202D */ daddu $a0, $s2, $zero +/* C62124 80241414 0260282D */ daddu $a1, $s3, $zero +/* C62128 80241418 0C0127DF */ jal func_80049F7C +/* C6212C 8024141C 0280302D */ daddu $a2, $s4, $zero +/* C62130 80241420 0240202D */ daddu $a0, $s2, $zero +/* C62134 80241424 0260282D */ daddu $a1, $s3, $zero +/* C62138 80241428 0C012849 */ jal func_8004A124 +/* C6213C 8024142C 0280302D */ daddu $a2, $s4, $zero +/* C62140 80241430 08090528 */ j .L802414A0 +/* C62144 80241434 00000000 */ nop +/* C62148 80241438 0240202D */ daddu $a0, $s2, $zero +/* C6214C 8024143C 0260282D */ daddu $a1, $s3, $zero +/* C62150 80241440 0C0128FA */ jal func_8004A3E8 +/* C62154 80241444 0280302D */ daddu $a2, $s4, $zero +/* C62158 80241448 08090528 */ j .L802414A0 +/* C6215C 8024144C 00000000 */ nop +/* C62160 80241450 0C0902FE */ jal func_80240BF8 +/* C62164 80241454 0240202D */ daddu $a0, $s2, $zero +/* C62168 80241458 0C090319 */ jal func_80240C64 +/* C6216C 8024145C 0240202D */ daddu $a0, $s2, $zero +/* C62170 80241460 8E430070 */ lw $v1, 0x70($s2) +/* C62174 80241464 24020020 */ addiu $v0, $zero, 0x20 +/* C62178 80241468 1462000D */ bne $v1, $v0, .L802414A0 +/* C6217C 8024146C 00000000 */ nop +/* C62180 80241470 0C090335 */ jal func_80240CD4 +/* C62184 80241474 0240202D */ daddu $a0, $s2, $zero +/* C62188 80241478 8E430070 */ lw $v1, 0x70($s2) +/* C6218C 8024147C 24020021 */ addiu $v0, $zero, 0x21 +/* C62190 80241480 14620007 */ bne $v1, $v0, .L802414A0 +/* C62194 80241484 00000000 */ nop +/* C62198 80241488 0C09036B */ jal func_80240DAC +/* C6219C 8024148C 0240202D */ daddu $a0, $s2, $zero +/* C621A0 80241490 08090528 */ j .L802414A0 +/* C621A4 80241494 00000000 */ nop +/* C621A8 80241498 0C0129CF */ jal func_8004A73C +/* C621AC 8024149C 0240202D */ daddu $a0, $s2, $zero +.L802414A0: +/* C621B0 802414A0 8FBF0048 */ lw $ra, 0x48($sp) +/* C621B4 802414A4 8FB50044 */ lw $s5, 0x44($sp) +/* C621B8 802414A8 8FB40040 */ lw $s4, 0x40($sp) +/* C621BC 802414AC 8FB3003C */ lw $s3, 0x3c($sp) +/* C621C0 802414B0 8FB20038 */ lw $s2, 0x38($sp) +/* C621C4 802414B4 8FB10034 */ lw $s1, 0x34($sp) +/* C621C8 802414B8 8FB00030 */ lw $s0, 0x30($sp) +/* C621CC 802414BC 0000102D */ daddu $v0, $zero, $zero +/* C621D0 802414C0 03E00008 */ jr $ra +/* C621D4 802414C4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_802414C8_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_802414C8_C60D10.s new file mode 100644 index 0000000000..90f12f8691 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_802414C8_C60D10.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C8_C621D8 +/* C621D8 802414C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C621DC 802414CC AFB10014 */ sw $s1, 0x14($sp) +/* C621E0 802414D0 0080882D */ daddu $s1, $a0, $zero +/* C621E4 802414D4 AFBF0018 */ sw $ra, 0x18($sp) +/* C621E8 802414D8 AFB00010 */ sw $s0, 0x10($sp) +/* C621EC 802414DC 8E300148 */ lw $s0, 0x148($s1) +/* C621F0 802414E0 0C00EABB */ jal get_npc_unsafe +/* C621F4 802414E4 86040008 */ lh $a0, 8($s0) +/* C621F8 802414E8 0040202D */ daddu $a0, $v0, $zero +/* C621FC 802414EC 8482008E */ lh $v0, 0x8e($a0) +/* C62200 802414F0 9483008E */ lhu $v1, 0x8e($a0) +/* C62204 802414F4 18400003 */ blez $v0, .L80241504 +/* C62208 802414F8 2462FFFF */ addiu $v0, $v1, -1 +/* C6220C 802414FC 08090548 */ j .L80241520 +/* C62210 80241500 A482008E */ sh $v0, 0x8e($a0) +.L80241504: +/* C62214 80241504 8E0200CC */ lw $v0, 0xcc($s0) +/* C62218 80241508 AE00006C */ sw $zero, 0x6c($s0) +/* C6221C 8024150C 8C420000 */ lw $v0, ($v0) +/* C62220 80241510 AC820028 */ sw $v0, 0x28($a0) +/* C62224 80241514 24020001 */ addiu $v0, $zero, 1 +/* C62228 80241518 AE200074 */ sw $zero, 0x74($s1) +/* C6222C 8024151C AE220070 */ sw $v0, 0x70($s1) +.L80241520: +/* C62230 80241520 8FBF0018 */ lw $ra, 0x18($sp) +/* C62234 80241524 8FB10014 */ lw $s1, 0x14($sp) +/* C62238 80241528 8FB00010 */ lw $s0, 0x10($sp) +/* C6223C 8024152C 03E00008 */ jr $ra +/* C62240 80241530 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80241534.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241534.s new file mode 100644 index 0000000000..df311e6ae3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241534.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241534 +/* C62244 80241534 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C62248 80241538 AFB3003C */ sw $s3, 0x3c($sp) +/* C6224C 8024153C 0080982D */ daddu $s3, $a0, $zero +/* C62250 80241540 AFBF0040 */ sw $ra, 0x40($sp) +/* C62254 80241544 AFB20038 */ sw $s2, 0x38($sp) +/* C62258 80241548 AFB10034 */ sw $s1, 0x34($sp) +/* C6225C 8024154C AFB00030 */ sw $s0, 0x30($sp) +/* C62260 80241550 8E720148 */ lw $s2, 0x148($s3) +/* C62264 80241554 00A0882D */ daddu $s1, $a1, $zero +/* C62268 80241558 86440008 */ lh $a0, 8($s2) +/* C6226C 8024155C 0C00EABB */ jal get_npc_unsafe +/* C62270 80241560 00C0802D */ daddu $s0, $a2, $zero +/* C62274 80241564 0200202D */ daddu $a0, $s0, $zero +/* C62278 80241568 0240282D */ daddu $a1, $s2, $zero +/* C6227C 8024156C AFA00010 */ sw $zero, 0x10($sp) +/* C62280 80241570 8E26000C */ lw $a2, 0xc($s1) +/* C62284 80241574 8E270010 */ lw $a3, 0x10($s1) +/* C62288 80241578 0C01242D */ jal func_800490B4 +/* C6228C 8024157C 0040882D */ daddu $s1, $v0, $zero +/* C62290 80241580 10400024 */ beqz $v0, .L80241614 +/* C62294 80241584 0220202D */ daddu $a0, $s1, $zero +/* C62298 80241588 24050322 */ addiu $a1, $zero, 0x322 +/* C6229C 8024158C 0C012530 */ jal func_800494C0 +/* C622A0 80241590 0000302D */ daddu $a2, $zero, $zero +/* C622A4 80241594 0000202D */ daddu $a0, $zero, $zero +/* C622A8 80241598 0220282D */ daddu $a1, $s1, $zero +/* C622AC 8024159C 0000302D */ daddu $a2, $zero, $zero +/* C622B0 802415A0 2410000A */ addiu $s0, $zero, 0xa +/* C622B4 802415A4 862300A8 */ lh $v1, 0xa8($s1) +/* C622B8 802415A8 3C013F80 */ lui $at, 0x3f80 +/* C622BC 802415AC 44810000 */ mtc1 $at, $f0 +/* C622C0 802415B0 3C014000 */ lui $at, 0x4000 +/* C622C4 802415B4 44811000 */ mtc1 $at, $f2 +/* C622C8 802415B8 3C01C1A0 */ lui $at, 0xc1a0 +/* C622CC 802415BC 44812000 */ mtc1 $at, $f4 +/* C622D0 802415C0 44833000 */ mtc1 $v1, $f6 +/* C622D4 802415C4 00000000 */ nop +/* C622D8 802415C8 468031A0 */ cvt.s.w $f6, $f6 +/* C622DC 802415CC 44073000 */ mfc1 $a3, $f6 +/* C622E0 802415D0 27A20028 */ addiu $v0, $sp, 0x28 +/* C622E4 802415D4 AFB0001C */ sw $s0, 0x1c($sp) +/* C622E8 802415D8 AFA20020 */ sw $v0, 0x20($sp) +/* C622EC 802415DC E7A00010 */ swc1 $f0, 0x10($sp) +/* C622F0 802415E0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C622F4 802415E4 0C01BFA4 */ jal fx_emote +/* C622F8 802415E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C622FC 802415EC 0220202D */ daddu $a0, $s1, $zero +/* C62300 802415F0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C62304 802415F4 0C012530 */ jal func_800494C0 +/* C62308 802415F8 3C060020 */ lui $a2, 0x20 +/* C6230C 802415FC 8E4200CC */ lw $v0, 0xcc($s2) +/* C62310 80241600 8C420020 */ lw $v0, 0x20($v0) +/* C62314 80241604 AE220028 */ sw $v0, 0x28($s1) +/* C62318 80241608 9642008E */ lhu $v0, 0x8e($s2) +/* C6231C 8024160C A622008E */ sh $v0, 0x8e($s1) +/* C62320 80241610 AE700070 */ sw $s0, 0x70($s3) +.L80241614: +/* C62324 80241614 8FBF0040 */ lw $ra, 0x40($sp) +/* C62328 80241618 8FB3003C */ lw $s3, 0x3c($sp) +/* C6232C 8024161C 8FB20038 */ lw $s2, 0x38($sp) +/* C62330 80241620 8FB10034 */ lw $s1, 0x34($sp) +/* C62334 80241624 8FB00030 */ lw $s0, 0x30($sp) +/* C62338 80241628 03E00008 */ jr $ra +/* C6233C 8024162C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80241630_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241630_C60D10.s new file mode 100644 index 0000000000..2075b9b006 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80241630_C60D10.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241630_C62340 +/* C62340 80241630 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C62344 80241634 AFBF0064 */ sw $ra, 0x64($sp) +/* C62348 80241638 AFBE0060 */ sw $fp, 0x60($sp) +/* C6234C 8024163C AFB7005C */ sw $s7, 0x5c($sp) +/* C62350 80241640 AFB60058 */ sw $s6, 0x58($sp) +/* C62354 80241644 AFB50054 */ sw $s5, 0x54($sp) +/* C62358 80241648 AFB40050 */ sw $s4, 0x50($sp) +/* C6235C 8024164C AFB3004C */ sw $s3, 0x4c($sp) +/* C62360 80241650 AFB20048 */ sw $s2, 0x48($sp) +/* C62364 80241654 AFB10044 */ sw $s1, 0x44($sp) +/* C62368 80241658 AFB00040 */ sw $s0, 0x40($sp) +/* C6236C 8024165C F7B80078 */ sdc1 $f24, 0x78($sp) +/* C62370 80241660 F7B60070 */ sdc1 $f22, 0x70($sp) +/* C62374 80241664 F7B40068 */ sdc1 $f20, 0x68($sp) +/* C62378 80241668 AFA40080 */ sw $a0, 0x80($sp) +/* C6237C 8024166C 8C960148 */ lw $s6, 0x148($a0) +/* C62380 80241670 00C0902D */ daddu $s2, $a2, $zero +/* C62384 80241674 86C40008 */ lh $a0, 8($s6) +/* C62388 80241678 0C00EABB */ jal get_npc_unsafe +/* C6238C 8024167C 0000B82D */ daddu $s7, $zero, $zero +/* C62390 80241680 0040882D */ daddu $s1, $v0, $zero +/* C62394 80241684 9622008E */ lhu $v0, 0x8e($s1) +/* C62398 80241688 2442FFFF */ addiu $v0, $v0, -1 +/* C6239C 8024168C A622008E */ sh $v0, 0x8e($s1) +/* C623A0 80241690 00021400 */ sll $v0, $v0, 0x10 +/* C623A4 80241694 8EC30090 */ lw $v1, 0x90($s6) +/* C623A8 80241698 00021403 */ sra $v0, $v0, 0x10 +/* C623AC 8024169C 0062182A */ slt $v1, $v1, $v0 +/* C623B0 802416A0 14600005 */ bnez $v1, .L802416B8 +/* C623B4 802416A4 02E0F02D */ daddu $fp, $s7, $zero +/* C623B8 802416A8 8EC20000 */ lw $v0, ($s6) +/* C623BC 802416AC 3C031F10 */ lui $v1, 0x1f10 +/* C623C0 802416B0 00431025 */ or $v0, $v0, $v1 +/* C623C4 802416B4 AEC20000 */ sw $v0, ($s6) +.L802416B8: +/* C623C8 802416B8 8622008E */ lh $v0, 0x8e($s1) +/* C623CC 802416BC 1440025D */ bnez $v0, .L80242034 +/* C623D0 802416C0 00000000 */ nop +/* C623D4 802416C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C623D8 802416C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C623DC 802416CC 0C00A6C9 */ jal clamp_angle +/* C623E0 802416D0 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* C623E4 802416D4 3C014334 */ lui $at, 0x4334 +/* C623E8 802416D8 44811000 */ mtc1 $at, $f2 +/* C623EC 802416DC 00000000 */ nop +/* C623F0 802416E0 4602003C */ c.lt.s $f0, $f2 +/* C623F4 802416E4 00000000 */ nop +/* C623F8 802416E8 45000011 */ bc1f .L80241730 +/* C623FC 802416EC 00000000 */ nop +/* C62400 802416F0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C62404 802416F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C62408 802416F8 3C0142B4 */ lui $at, 0x42b4 +/* C6240C 802416FC 44816000 */ mtc1 $at, $f12 +/* C62410 80241700 00031080 */ sll $v0, $v1, 2 +/* C62414 80241704 00431021 */ addu $v0, $v0, $v1 +/* C62418 80241708 00021080 */ sll $v0, $v0, 2 +/* C6241C 8024170C 00431023 */ subu $v0, $v0, $v1 +/* C62420 80241710 000218C0 */ sll $v1, $v0, 3 +/* C62424 80241714 00431021 */ addu $v0, $v0, $v1 +/* C62428 80241718 000210C0 */ sll $v0, $v0, 3 +/* C6242C 8024171C 3C01800B */ lui $at, 0x800b +/* C62430 80241720 00220821 */ addu $at, $at, $v0 +/* C62434 80241724 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C62438 80241728 080905DB */ j .L8024176C +/* C6243C 8024172C 460C0301 */ sub.s $f12, $f0, $f12 +.L80241730: +/* C62440 80241730 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C62444 80241734 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C62448 80241738 3C0142B4 */ lui $at, 0x42b4 +/* C6244C 8024173C 44816000 */ mtc1 $at, $f12 +/* C62450 80241740 00031080 */ sll $v0, $v1, 2 +/* C62454 80241744 00431021 */ addu $v0, $v0, $v1 +/* C62458 80241748 00021080 */ sll $v0, $v0, 2 +/* C6245C 8024174C 00431023 */ subu $v0, $v0, $v1 +/* C62460 80241750 000218C0 */ sll $v1, $v0, 3 +/* C62464 80241754 00431021 */ addu $v0, $v0, $v1 +/* C62468 80241758 000210C0 */ sll $v0, $v0, 3 +/* C6246C 8024175C 3C01800B */ lui $at, 0x800b +/* C62470 80241760 00220821 */ addu $at, $at, $v0 +/* C62474 80241764 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C62478 80241768 460C0300 */ add.s $f12, $f0, $f12 +.L8024176C: +/* C6247C 8024176C 0C00A6C9 */ jal clamp_angle +/* C62480 80241770 00000000 */ nop +/* C62484 80241774 46000586 */ mov.s $f22, $f0 +/* C62488 80241778 3C014334 */ lui $at, 0x4334 +/* C6248C 8024177C 44816000 */ mtc1 $at, $f12 +/* C62490 80241780 0C00A6C9 */ jal clamp_angle +/* C62494 80241784 460CB300 */ add.s $f12, $f22, $f12 +/* C62498 80241788 8EC20088 */ lw $v0, 0x88($s6) +/* C6249C 8024178C 14400010 */ bnez $v0, .L802417D0 +/* C624A0 80241790 46000606 */ mov.s $f24, $f0 +/* C624A4 80241794 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C624A8 80241798 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C624AC 8024179C 804300B4 */ lb $v1, 0xb4($v0) +/* C624B0 802417A0 3C014200 */ lui $at, 0x4200 +/* C624B4 802417A4 4481A000 */ mtc1 $at, $f20 +/* C624B8 802417A8 10600016 */ beqz $v1, .L80241804 +/* C624BC 802417AC 24020001 */ addiu $v0, $zero, 1 +/* C624C0 802417B0 3C0142C8 */ lui $at, 0x42c8 +/* C624C4 802417B4 4481A000 */ mtc1 $at, $f20 +/* C624C8 802417B8 14620013 */ bne $v1, $v0, .L80241808 +/* C624CC 802417BC 26300038 */ addiu $s0, $s1, 0x38 +/* C624D0 802417C0 3C0142B4 */ lui $at, 0x42b4 +/* C624D4 802417C4 4481A000 */ mtc1 $at, $f20 +/* C624D8 802417C8 08090603 */ j .L8024180C +/* C624DC 802417CC 0200202D */ daddu $a0, $s0, $zero +.L802417D0: +/* C624E0 802417D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C624E4 802417D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C624E8 802417D8 804300B4 */ lb $v1, 0xb4($v0) +/* C624EC 802417DC 3C014218 */ lui $at, 0x4218 +/* C624F0 802417E0 4481A000 */ mtc1 $at, $f20 +/* C624F4 802417E4 10600007 */ beqz $v1, .L80241804 +/* C624F8 802417E8 24020001 */ addiu $v0, $zero, 1 +/* C624FC 802417EC 3C0142B4 */ lui $at, 0x42b4 +/* C62500 802417F0 4481A000 */ mtc1 $at, $f20 +/* C62504 802417F4 14620004 */ bne $v1, $v0, .L80241808 +/* C62508 802417F8 26300038 */ addiu $s0, $s1, 0x38 +/* C6250C 802417FC 3C014296 */ lui $at, 0x4296 +/* C62510 80241800 4481A000 */ mtc1 $at, $f20 +.L80241804: +/* C62514 80241804 26300038 */ addiu $s0, $s1, 0x38 +.L80241808: +/* C62518 80241808 0200202D */ daddu $a0, $s0, $zero +.L8024180C: +/* C6251C 8024180C 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* C62520 80241810 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* C62524 80241814 4407C000 */ mfc1 $a3, $f24 +/* C62528 80241818 862200A6 */ lh $v0, 0xa6($s1) +/* C6252C 8024181C 8EA30000 */ lw $v1, ($s5) +/* C62530 80241820 44824000 */ mtc1 $v0, $f8 +/* C62534 80241824 00000000 */ nop +/* C62538 80241828 46804220 */ cvt.s.w $f8, $f8 +/* C6253C 8024182C C4600028 */ lwc1 $f0, 0x28($v1) +/* C62540 80241830 44064000 */ mfc1 $a2, $f8 +/* C62544 80241834 26330040 */ addiu $s3, $s1, 0x40 +/* C62548 80241838 E6200038 */ swc1 $f0, 0x38($s1) +/* C6254C 8024183C C4600030 */ lwc1 $f0, 0x30($v1) +/* C62550 80241840 0260282D */ daddu $a1, $s3, $zero +/* C62554 80241844 0C00A7E7 */ jal add_vec2D_polar +/* C62558 80241848 E6200040 */ swc1 $f0, 0x40($s1) +/* C6255C 8024184C 862200A6 */ lh $v0, 0xa6($s1) +/* C62560 80241850 44820000 */ mtc1 $v0, $f0 +/* C62564 80241854 00000000 */ nop +/* C62568 80241858 46800020 */ cvt.s.w $f0, $f0 +/* C6256C 8024185C 4600A000 */ add.s $f0, $f20, $f0 +/* C62570 80241860 4406B000 */ mfc1 $a2, $f22 +/* C62574 80241864 44050000 */ mfc1 $a1, $f0 +/* C62578 80241868 0C00EA95 */ jal npc_move_heading +/* C6257C 8024186C 0220202D */ daddu $a0, $s1, $zero +/* C62580 80241870 8EC20088 */ lw $v0, 0x88($s6) +/* C62584 80241874 1440005D */ bnez $v0, .L802419EC +/* C62588 80241878 00000000 */ nop +/* C6258C 8024187C C6200038 */ lwc1 $f0, 0x38($s1) +/* C62590 80241880 3C018024 */ lui $at, 0x8024 +/* C62594 80241884 D42473D8 */ ldc1 $f4, 0x73d8($at) +/* C62598 80241888 46000021 */ cvt.d.s $f0, $f0 +/* C6259C 8024188C 4620203C */ c.lt.d $f4, $f0 +/* C625A0 80241890 00000000 */ nop +/* C625A4 80241894 45000005 */ bc1f .L802418AC +/* C625A8 80241898 00000000 */ nop +/* C625AC 8024189C 3C0143BE */ lui $at, 0x43be +/* C625B0 802418A0 44810000 */ mtc1 $at, $f0 +/* C625B4 802418A4 00000000 */ nop +/* C625B8 802418A8 E6200038 */ swc1 $f0, 0x38($s1) +.L802418AC: +/* C625BC 802418AC C6200038 */ lwc1 $f0, 0x38($s1) +/* C625C0 802418B0 3C018024 */ lui $at, 0x8024 +/* C625C4 802418B4 D42273E0 */ ldc1 $f2, 0x73e0($at) +/* C625C8 802418B8 46000021 */ cvt.d.s $f0, $f0 +/* C625CC 802418BC 4622003C */ c.lt.d $f0, $f2 +/* C625D0 802418C0 00000000 */ nop +/* C625D4 802418C4 45000005 */ bc1f .L802418DC +/* C625D8 802418C8 00000000 */ nop +/* C625DC 802418CC 3C01C3BE */ lui $at, 0xc3be +/* C625E0 802418D0 44810000 */ mtc1 $at, $f0 +/* C625E4 802418D4 00000000 */ nop +/* C625E8 802418D8 E6200038 */ swc1 $f0, 0x38($s1) +.L802418DC: +/* C625EC 802418DC C6200040 */ lwc1 $f0, 0x40($s1) +/* C625F0 802418E0 46000021 */ cvt.d.s $f0, $f0 +/* C625F4 802418E4 4620203C */ c.lt.d $f4, $f0 +/* C625F8 802418E8 00000000 */ nop +/* C625FC 802418EC 45000005 */ bc1f .L80241904 +/* C62600 802418F0 00000000 */ nop +/* C62604 802418F4 3C0143BE */ lui $at, 0x43be +/* C62608 802418F8 44810000 */ mtc1 $at, $f0 +/* C6260C 802418FC 00000000 */ nop +/* C62610 80241900 E6200040 */ swc1 $f0, 0x40($s1) +.L80241904: +/* C62614 80241904 C6200040 */ lwc1 $f0, 0x40($s1) +/* C62618 80241908 46000021 */ cvt.d.s $f0, $f0 +/* C6261C 8024190C 4622003C */ c.lt.d $f0, $f2 +/* C62620 80241910 00000000 */ nop +/* C62624 80241914 45000005 */ bc1f .L8024192C +/* C62628 80241918 00000000 */ nop +/* C6262C 8024191C 3C01C3BE */ lui $at, 0xc3be +/* C62630 80241920 44810000 */ mtc1 $at, $f0 +/* C62634 80241924 00000000 */ nop +/* C62638 80241928 E6200040 */ swc1 $f0, 0x40($s1) +.L8024192C: +/* C6263C 8024192C C6220038 */ lwc1 $f2, 0x38($s1) +/* C62640 80241930 46021082 */ mul.s $f2, $f2, $f2 +/* C62644 80241934 00000000 */ nop +/* C62648 80241938 C6200040 */ lwc1 $f0, 0x40($s1) +/* C6264C 8024193C 46000002 */ mul.s $f0, $f0, $f0 +/* C62650 80241940 00000000 */ nop +/* C62654 80241944 46001300 */ add.s $f12, $f2, $f0 +/* C62658 80241948 46006004 */ sqrt.s $f0, $f12 +/* C6265C 8024194C 46000032 */ c.eq.s $f0, $f0 +/* C62660 80241950 00000000 */ nop +/* C62664 80241954 45010003 */ bc1t .L80241964 +/* C62668 80241958 00000000 */ nop +/* C6266C 8024195C 0C0187BC */ jal sqrtf +/* C62670 80241960 00000000 */ nop +.L80241964: +/* C62674 80241964 8E260038 */ lw $a2, 0x38($s1) +/* C62678 80241968 8E270040 */ lw $a3, 0x40($s1) +/* C6267C 8024196C 4480A000 */ mtc1 $zero, $f20 +/* C62680 80241970 E7A00038 */ swc1 $f0, 0x38($sp) +/* C62684 80241974 4600A306 */ mov.s $f12, $f20 +/* C62688 80241978 0C00A720 */ jal atan2 +/* C6268C 8024197C 4600A386 */ mov.s $f14, $f20 +/* C62690 80241980 46000586 */ mov.s $f22, $f0 +/* C62694 80241984 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C62698 80241988 3C018024 */ lui $at, 0x8024 +/* C6269C 8024198C D42073E8 */ ldc1 $f0, 0x73e8($at) +/* C626A0 80241990 460010A1 */ cvt.d.s $f2, $f2 +/* C626A4 80241994 4620103C */ c.lt.d $f2, $f0 +/* C626A8 80241998 00000000 */ nop +/* C626AC 8024199C 45000004 */ bc1f .L802419B0 +/* C626B0 802419A0 0200202D */ daddu $a0, $s0, $zero +/* C626B4 802419A4 3C064398 */ lui $a2, 0x4398 +/* C626B8 802419A8 08090674 */ j .L802419D0 +/* C626BC 802419AC 34C68000 */ ori $a2, $a2, 0x8000 +.L802419B0: +/* C626C0 802419B0 3C018024 */ lui $at, 0x8024 +/* C626C4 802419B4 D42073F0 */ ldc1 $f0, 0x73f0($at) +/* C626C8 802419B8 4622003C */ c.lt.d $f0, $f2 +/* C626CC 802419BC 00000000 */ nop +/* C626D0 802419C0 450000FA */ bc1f .L80241DAC +/* C626D4 802419C4 00000000 */ nop +/* C626D8 802419C8 3C0643BB */ lui $a2, 0x43bb +/* C626DC 802419CC 34C68000 */ ori $a2, $a2, 0x8000 +.L802419D0: +/* C626E0 802419D0 4407B000 */ mfc1 $a3, $f22 +/* C626E4 802419D4 0260282D */ daddu $a1, $s3, $zero +/* C626E8 802419D8 E6340038 */ swc1 $f20, 0x38($s1) +/* C626EC 802419DC 0C00A7E7 */ jal add_vec2D_polar +/* C626F0 802419E0 E6340040 */ swc1 $f20, 0x40($s1) +/* C626F4 802419E4 0809076B */ j .L80241DAC +/* C626F8 802419E8 00000000 */ nop +.L802419EC: +/* C626FC 802419EC 8E220000 */ lw $v0, ($s1) +/* C62700 802419F0 30420040 */ andi $v0, $v0, 0x40 +/* C62704 802419F4 144000B0 */ bnez $v0, .L80241CB8 +/* C62708 802419F8 27A50020 */ addiu $a1, $sp, 0x20 +/* C6270C 802419FC 27B40020 */ addiu $s4, $sp, 0x20 +/* C62710 80241A00 0280282D */ daddu $a1, $s4, $zero +/* C62714 80241A04 27B30024 */ addiu $s3, $sp, 0x24 +/* C62718 80241A08 8EA20000 */ lw $v0, ($s5) +/* C6271C 80241A0C 3C014032 */ lui $at, 0x4032 +/* C62720 80241A10 44811800 */ mtc1 $at, $f3 +/* C62724 80241A14 44801000 */ mtc1 $zero, $f2 +/* C62728 80241A18 C440002C */ lwc1 $f0, 0x2c($v0) +/* C6272C 80241A1C C4460028 */ lwc1 $f6, 0x28($v0) +/* C62730 80241A20 C4440030 */ lwc1 $f4, 0x30($v0) +/* C62734 80241A24 46000021 */ cvt.d.s $f0, $f0 +/* C62738 80241A28 46220000 */ add.d $f0, $f0, $f2 +/* C6273C 80241A2C E7A60020 */ swc1 $f6, 0x20($sp) +/* C62740 80241A30 E7A40028 */ swc1 $f4, 0x28($sp) +/* C62744 80241A34 46200020 */ cvt.s.d $f0, $f0 +/* C62748 80241A38 E7A00024 */ swc1 $f0, 0x24($sp) +/* C6274C 80241A3C E7B40010 */ swc1 $f20, 0x10($sp) +/* C62750 80241A40 E7B60014 */ swc1 $f22, 0x14($sp) +/* C62754 80241A44 862200A8 */ lh $v0, 0xa8($s1) +/* C62758 80241A48 0260302D */ daddu $a2, $s3, $zero +/* C6275C 80241A4C 44820000 */ mtc1 $v0, $f0 +/* C62760 80241A50 00000000 */ nop +/* C62764 80241A54 46800020 */ cvt.s.w $f0, $f0 +/* C62768 80241A58 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6276C 80241A5C 862200A6 */ lh $v0, 0xa6($s1) +/* C62770 80241A60 27B00028 */ addiu $s0, $sp, 0x28 +/* C62774 80241A64 44820000 */ mtc1 $v0, $f0 +/* C62778 80241A68 00000000 */ nop +/* C6277C 80241A6C 46800020 */ cvt.s.w $f0, $f0 +/* C62780 80241A70 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C62784 80241A74 8E240080 */ lw $a0, 0x80($s1) +/* C62788 80241A78 0C037711 */ jal func_800DDC44 +/* C6278C 80241A7C 0200382D */ daddu $a3, $s0, $zero +/* C62790 80241A80 104000CA */ beqz $v0, .L80241DAC +/* C62794 80241A84 0280282D */ daddu $a1, $s4, $zero +/* C62798 80241A88 8EA20000 */ lw $v0, ($s5) +/* C6279C 80241A8C 3C018024 */ lui $at, 0x8024 +/* C627A0 80241A90 D42273F8 */ ldc1 $f2, 0x73f8($at) +/* C627A4 80241A94 C440002C */ lwc1 $f0, 0x2c($v0) +/* C627A8 80241A98 C4460028 */ lwc1 $f6, 0x28($v0) +/* C627AC 80241A9C C4440030 */ lwc1 $f4, 0x30($v0) +/* C627B0 80241AA0 46000021 */ cvt.d.s $f0, $f0 +/* C627B4 80241AA4 46220000 */ add.d $f0, $f0, $f2 +/* C627B8 80241AA8 E7A60020 */ swc1 $f6, 0x20($sp) +/* C627BC 80241AAC E7A40028 */ swc1 $f4, 0x28($sp) +/* C627C0 80241AB0 46200020 */ cvt.s.d $f0, $f0 +/* C627C4 80241AB4 E7A00024 */ swc1 $f0, 0x24($sp) +/* C627C8 80241AB8 E7B40010 */ swc1 $f20, 0x10($sp) +/* C627CC 80241ABC E7B60014 */ swc1 $f22, 0x14($sp) +/* C627D0 80241AC0 862200A8 */ lh $v0, 0xa8($s1) +/* C627D4 80241AC4 44820000 */ mtc1 $v0, $f0 +/* C627D8 80241AC8 00000000 */ nop +/* C627DC 80241ACC 46800020 */ cvt.s.w $f0, $f0 +/* C627E0 80241AD0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C627E4 80241AD4 862200A6 */ lh $v0, 0xa6($s1) +/* C627E8 80241AD8 0260302D */ daddu $a2, $s3, $zero +/* C627EC 80241ADC 44820000 */ mtc1 $v0, $f0 +/* C627F0 80241AE0 00000000 */ nop +/* C627F4 80241AE4 46800020 */ cvt.s.w $f0, $f0 +/* C627F8 80241AE8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C627FC 80241AEC 8E240080 */ lw $a0, 0x80($s1) +/* C62800 80241AF0 0C037711 */ jal func_800DDC44 +/* C62804 80241AF4 0200382D */ daddu $a3, $s0, $zero +/* C62808 80241AF8 27A5002C */ addiu $a1, $sp, 0x2c +/* C6280C 80241AFC 27A60030 */ addiu $a2, $sp, 0x30 +/* C62810 80241B00 27A70034 */ addiu $a3, $sp, 0x34 +/* C62814 80241B04 27A30038 */ addiu $v1, $sp, 0x38 +/* C62818 80241B08 C6220038 */ lwc1 $f2, 0x38($s1) +/* C6281C 80241B0C C620003C */ lwc1 $f0, 0x3c($s1) +/* C62820 80241B10 3C014348 */ lui $at, 0x4348 +/* C62824 80241B14 44813000 */ mtc1 $at, $f6 +/* C62828 80241B18 46000021 */ cvt.d.s $f0, $f0 +/* C6282C 80241B1C E7A2002C */ swc1 $f2, 0x2c($sp) +/* C62830 80241B20 3C014059 */ lui $at, 0x4059 +/* C62834 80241B24 44811800 */ mtc1 $at, $f3 +/* C62838 80241B28 44801000 */ mtc1 $zero, $f2 +/* C6283C 80241B2C C6240040 */ lwc1 $f4, 0x40($s1) +/* C62840 80241B30 46220000 */ add.d $f0, $f0, $f2 +/* C62844 80241B34 E7A60038 */ swc1 $f6, 0x38($sp) +/* C62848 80241B38 E7A40034 */ swc1 $f4, 0x34($sp) +/* C6284C 80241B3C 46200020 */ cvt.s.d $f0, $f0 +/* C62850 80241B40 E7A00030 */ swc1 $f0, 0x30($sp) +/* C62854 80241B44 AFA30010 */ sw $v1, 0x10($sp) +/* C62858 80241B48 8E240080 */ lw $a0, 0x80($s1) +/* C6285C 80241B4C 0C0372DF */ jal func_800DCB7C +/* C62860 80241B50 0040802D */ daddu $s0, $v0, $zero +/* C62864 80241B54 1600001C */ bnez $s0, .L80241BC8 +/* C62868 80241B58 00000000 */ nop +/* C6286C 80241B5C 1040001A */ beqz $v0, .L80241BC8 +/* C62870 80241B60 00000000 */ nop +/* C62874 80241B64 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C62878 80241B68 3C014054 */ lui $at, 0x4054 +/* C6287C 80241B6C 44810800 */ mtc1 $at, $f1 +/* C62880 80241B70 44800000 */ mtc1 $zero, $f0 +/* C62884 80241B74 460010A1 */ cvt.d.s $f2, $f2 +/* C62888 80241B78 4622003C */ c.lt.d $f0, $f2 +/* C6288C 80241B7C 00000000 */ nop +/* C62890 80241B80 45000011 */ bc1f .L80241BC8 +/* C62894 80241B84 00000000 */ nop +/* C62898 80241B88 3C01405E */ lui $at, 0x405e +/* C6289C 80241B8C 44810800 */ mtc1 $at, $f1 +/* C628A0 80241B90 44800000 */ mtc1 $zero, $f0 +/* C628A4 80241B94 00000000 */ nop +/* C628A8 80241B98 4620103C */ c.lt.d $f2, $f0 +/* C628AC 80241B9C 00000000 */ nop +/* C628B0 80241BA0 45000009 */ bc1f .L80241BC8 +/* C628B4 80241BA4 00000000 */ nop +/* C628B8 80241BA8 C622003C */ lwc1 $f2, 0x3c($s1) +/* C628BC 80241BAC C7A00030 */ lwc1 $f0, 0x30($sp) +/* C628C0 80241BB0 46001032 */ c.eq.s $f2, $f0 +/* C628C4 80241BB4 00000000 */ nop +/* C628C8 80241BB8 45010003 */ bc1t .L80241BC8 +/* C628CC 80241BBC 00000000 */ nop +/* C628D0 80241BC0 0809076B */ j .L80241DAC +/* C628D4 80241BC4 241E0001 */ addiu $fp, $zero, 1 +.L80241BC8: +/* C628D8 80241BC8 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C628DC 80241BCC 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C628E0 80241BD0 8E020000 */ lw $v0, ($s0) +/* C628E4 80241BD4 3C014024 */ lui $at, 0x4024 +/* C628E8 80241BD8 44811800 */ mtc1 $at, $f3 +/* C628EC 80241BDC 44801000 */ mtc1 $zero, $f2 +/* C628F0 80241BE0 C440002C */ lwc1 $f0, 0x2c($v0) +/* C628F4 80241BE4 C4460028 */ lwc1 $f6, 0x28($v0) +/* C628F8 80241BE8 C4440030 */ lwc1 $f4, 0x30($v0) +/* C628FC 80241BEC 46000021 */ cvt.d.s $f0, $f0 +/* C62900 80241BF0 46220000 */ add.d $f0, $f0, $f2 +/* C62904 80241BF4 E7A60020 */ swc1 $f6, 0x20($sp) +/* C62908 80241BF8 E7A40028 */ swc1 $f4, 0x28($sp) +/* C6290C 80241BFC 46200020 */ cvt.s.d $f0, $f0 +/* C62910 80241C00 E7A00024 */ swc1 $f0, 0x24($sp) +/* C62914 80241C04 E7B40010 */ swc1 $f20, 0x10($sp) +/* C62918 80241C08 E7B60014 */ swc1 $f22, 0x14($sp) +/* C6291C 80241C0C 862200A8 */ lh $v0, 0xa8($s1) +/* C62920 80241C10 27A50020 */ addiu $a1, $sp, 0x20 +/* C62924 80241C14 44820000 */ mtc1 $v0, $f0 +/* C62928 80241C18 00000000 */ nop +/* C6292C 80241C1C 46800020 */ cvt.s.w $f0, $f0 +/* C62930 80241C20 E7A00018 */ swc1 $f0, 0x18($sp) +/* C62934 80241C24 862200A6 */ lh $v0, 0xa6($s1) +/* C62938 80241C28 27A60024 */ addiu $a2, $sp, 0x24 +/* C6293C 80241C2C 44820000 */ mtc1 $v0, $f0 +/* C62940 80241C30 00000000 */ nop +/* C62944 80241C34 46800020 */ cvt.s.w $f0, $f0 +/* C62948 80241C38 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C6294C 80241C3C 8E240080 */ lw $a0, 0x80($s1) +/* C62950 80241C40 0C037711 */ jal func_800DDC44 +/* C62954 80241C44 27A70028 */ addiu $a3, $sp, 0x28 +/* C62958 80241C48 8FA60020 */ lw $a2, 0x20($sp) +/* C6295C 80241C4C 8E020000 */ lw $v0, ($s0) +/* C62960 80241C50 8FA70028 */ lw $a3, 0x28($sp) +/* C62964 80241C54 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C62968 80241C58 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C6296C 80241C5C 0C00A7B5 */ jal dist2D +/* C62970 80241C60 24170001 */ addiu $s7, $zero, 1 +/* C62974 80241C64 46000506 */ mov.s $f20, $f0 +/* C62978 80241C68 8E030000 */ lw $v1, ($s0) +/* C6297C 80241C6C 862200A6 */ lh $v0, 0xa6($s1) +/* C62980 80241C70 4407C000 */ mfc1 $a3, $f24 +/* C62984 80241C74 44824000 */ mtc1 $v0, $f8 +/* C62988 80241C78 00000000 */ nop +/* C6298C 80241C7C 46804220 */ cvt.s.w $f8, $f8 +/* C62990 80241C80 C4600028 */ lwc1 $f0, 0x28($v1) +/* C62994 80241C84 44064000 */ mfc1 $a2, $f8 +/* C62998 80241C88 26240038 */ addiu $a0, $s1, 0x38 +/* C6299C 80241C8C E6200038 */ swc1 $f0, 0x38($s1) +/* C629A0 80241C90 C4600030 */ lwc1 $f0, 0x30($v1) +/* C629A4 80241C94 26250040 */ addiu $a1, $s1, 0x40 +/* C629A8 80241C98 0C00A7E7 */ jal add_vec2D_polar +/* C629AC 80241C9C E6200040 */ swc1 $f0, 0x40($s1) +/* C629B0 80241CA0 862200A6 */ lh $v0, 0xa6($s1) +/* C629B4 80241CA4 44820000 */ mtc1 $v0, $f0 +/* C629B8 80241CA8 00000000 */ nop +/* C629BC 80241CAC 46800020 */ cvt.s.w $f0, $f0 +/* C629C0 80241CB0 08090767 */ j .L80241D9C +/* C629C4 80241CB4 4600A500 */ add.s $f20, $f20, $f0 +.L80241CB8: +/* C629C8 80241CB8 8EA20000 */ lw $v0, ($s5) +/* C629CC 80241CBC 3C014032 */ lui $at, 0x4032 +/* C629D0 80241CC0 44811800 */ mtc1 $at, $f3 +/* C629D4 80241CC4 44801000 */ mtc1 $zero, $f2 +/* C629D8 80241CC8 C440002C */ lwc1 $f0, 0x2c($v0) +/* C629DC 80241CCC C4460028 */ lwc1 $f6, 0x28($v0) +/* C629E0 80241CD0 C4440030 */ lwc1 $f4, 0x30($v0) +/* C629E4 80241CD4 46000021 */ cvt.d.s $f0, $f0 +/* C629E8 80241CD8 46220000 */ add.d $f0, $f0, $f2 +/* C629EC 80241CDC E7A60020 */ swc1 $f6, 0x20($sp) +/* C629F0 80241CE0 E7A40028 */ swc1 $f4, 0x28($sp) +/* C629F4 80241CE4 46200020 */ cvt.s.d $f0, $f0 +/* C629F8 80241CE8 E7A00024 */ swc1 $f0, 0x24($sp) +/* C629FC 80241CEC E7B40010 */ swc1 $f20, 0x10($sp) +/* C62A00 80241CF0 E7B60014 */ swc1 $f22, 0x14($sp) +/* C62A04 80241CF4 862200A8 */ lh $v0, 0xa8($s1) +/* C62A08 80241CF8 44820000 */ mtc1 $v0, $f0 +/* C62A0C 80241CFC 00000000 */ nop +/* C62A10 80241D00 46800020 */ cvt.s.w $f0, $f0 +/* C62A14 80241D04 E7A00018 */ swc1 $f0, 0x18($sp) +/* C62A18 80241D08 862200A6 */ lh $v0, 0xa6($s1) +/* C62A1C 80241D0C 27A60024 */ addiu $a2, $sp, 0x24 +/* C62A20 80241D10 44820000 */ mtc1 $v0, $f0 +/* C62A24 80241D14 00000000 */ nop +/* C62A28 80241D18 46800020 */ cvt.s.w $f0, $f0 +/* C62A2C 80241D1C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C62A30 80241D20 8E240080 */ lw $a0, 0x80($s1) +/* C62A34 80241D24 0C037711 */ jal func_800DDC44 +/* C62A38 80241D28 27A70028 */ addiu $a3, $sp, 0x28 +/* C62A3C 80241D2C 1040001F */ beqz $v0, .L80241DAC +/* C62A40 80241D30 00000000 */ nop +/* C62A44 80241D34 8FA60020 */ lw $a2, 0x20($sp) +/* C62A48 80241D38 8EA20000 */ lw $v0, ($s5) +/* C62A4C 80241D3C 8FA70028 */ lw $a3, 0x28($sp) +/* C62A50 80241D40 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C62A54 80241D44 0C00A7B5 */ jal dist2D +/* C62A58 80241D48 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C62A5C 80241D4C 46000506 */ mov.s $f20, $f0 +/* C62A60 80241D50 8EA30000 */ lw $v1, ($s5) +/* C62A64 80241D54 862200A6 */ lh $v0, 0xa6($s1) +/* C62A68 80241D58 4407C000 */ mfc1 $a3, $f24 +/* C62A6C 80241D5C 44824000 */ mtc1 $v0, $f8 +/* C62A70 80241D60 00000000 */ nop +/* C62A74 80241D64 46804220 */ cvt.s.w $f8, $f8 +/* C62A78 80241D68 C4600028 */ lwc1 $f0, 0x28($v1) +/* C62A7C 80241D6C 44064000 */ mfc1 $a2, $f8 +/* C62A80 80241D70 0200202D */ daddu $a0, $s0, $zero +/* C62A84 80241D74 E6200038 */ swc1 $f0, 0x38($s1) +/* C62A88 80241D78 C4600030 */ lwc1 $f0, 0x30($v1) +/* C62A8C 80241D7C 0260282D */ daddu $a1, $s3, $zero +/* C62A90 80241D80 0C00A7E7 */ jal add_vec2D_polar +/* C62A94 80241D84 E6200040 */ swc1 $f0, 0x40($s1) +/* C62A98 80241D88 862200A6 */ lh $v0, 0xa6($s1) +/* C62A9C 80241D8C 44820000 */ mtc1 $v0, $f0 +/* C62AA0 80241D90 00000000 */ nop +/* C62AA4 80241D94 46800020 */ cvt.s.w $f0, $f0 +/* C62AA8 80241D98 4600A500 */ add.s $f20, $f20, $f0 +.L80241D9C: +/* C62AAC 80241D9C 4406B000 */ mfc1 $a2, $f22 +/* C62AB0 80241DA0 4405A000 */ mfc1 $a1, $f20 +/* C62AB4 80241DA4 0C00EA95 */ jal npc_move_heading +/* C62AB8 80241DA8 0220202D */ daddu $a0, $s1, $zero +.L80241DAC: +/* C62ABC 80241DAC C6400008 */ lwc1 $f0, 8($s2) +/* C62AC0 80241DB0 46800020 */ cvt.s.w $f0, $f0 +/* C62AC4 80241DB4 44050000 */ mfc1 $a1, $f0 +/* C62AC8 80241DB8 C640000C */ lwc1 $f0, 0xc($s2) +/* C62ACC 80241DBC 46800020 */ cvt.s.w $f0, $f0 +/* C62AD0 80241DC0 44060000 */ mfc1 $a2, $f0 +/* C62AD4 80241DC4 C6200040 */ lwc1 $f0, 0x40($s1) +/* C62AD8 80241DC8 26300038 */ addiu $s0, $s1, 0x38 +/* C62ADC 80241DCC E7A00010 */ swc1 $f0, 0x10($sp) +/* C62AE0 80241DD0 C6400010 */ lwc1 $f0, 0x10($s2) +/* C62AE4 80241DD4 46800020 */ cvt.s.w $f0, $f0 +/* C62AE8 80241DD8 E7A00014 */ swc1 $f0, 0x14($sp) +/* C62AEC 80241DDC C6400014 */ lwc1 $f0, 0x14($s2) +/* C62AF0 80241DE0 46800020 */ cvt.s.w $f0, $f0 +/* C62AF4 80241DE4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C62AF8 80241DE8 8E440004 */ lw $a0, 4($s2) +/* C62AFC 80241DEC 8E270038 */ lw $a3, 0x38($s1) +/* C62B00 80241DF0 0C0123F5 */ jal is_point_within_region +/* C62B04 80241DF4 26330040 */ addiu $s3, $s1, 0x40 +/* C62B08 80241DF8 1040005A */ beqz $v0, .L80241F64 +/* C62B0C 80241DFC 00000000 */ nop +/* C62B10 80241E00 8E430004 */ lw $v1, 4($s2) +/* C62B14 80241E04 10600005 */ beqz $v1, .L80241E1C +/* C62B18 80241E08 24020001 */ addiu $v0, $zero, 1 +/* C62B1C 80241E0C 10620029 */ beq $v1, $v0, .L80241EB4 +/* C62B20 80241E10 00000000 */ nop +/* C62B24 80241E14 080907D9 */ j .L80241F64 +/* C62B28 80241E18 00000000 */ nop +.L80241E1C: +/* C62B2C 80241E1C C6480008 */ lwc1 $f8, 8($s2) +/* C62B30 80241E20 46804220 */ cvt.s.w $f8, $f8 +/* C62B34 80241E24 44064000 */ mfc1 $a2, $f8 +/* C62B38 80241E28 C648000C */ lwc1 $f8, 0xc($s2) +/* C62B3C 80241E2C 46804220 */ cvt.s.w $f8, $f8 +/* C62B40 80241E30 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C62B44 80241E34 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C62B48 80241E38 44074000 */ mfc1 $a3, $f8 +/* C62B4C 80241E3C 0C00A7B5 */ jal dist2D +/* C62B50 80241E40 00000000 */ nop +/* C62B54 80241E44 C6420010 */ lwc1 $f2, 0x10($s2) +/* C62B58 80241E48 468010A0 */ cvt.s.w $f2, $f2 +/* C62B5C 80241E4C 4600103C */ c.lt.s $f2, $f0 +/* C62B60 80241E50 00000000 */ nop +/* C62B64 80241E54 45000043 */ bc1f .L80241F64 +/* C62B68 80241E58 E7A00038 */ swc1 $f0, 0x38($sp) +/* C62B6C 80241E5C C64C0008 */ lwc1 $f12, 8($s2) +/* C62B70 80241E60 46806320 */ cvt.s.w $f12, $f12 +/* C62B74 80241E64 8E260038 */ lw $a2, 0x38($s1) +/* C62B78 80241E68 8E270040 */ lw $a3, 0x40($s1) +/* C62B7C 80241E6C C64E000C */ lwc1 $f14, 0xc($s2) +/* C62B80 80241E70 0C00A720 */ jal atan2 +/* C62B84 80241E74 468073A0 */ cvt.s.w $f14, $f14 +/* C62B88 80241E78 0200202D */ daddu $a0, $s0, $zero +/* C62B8C 80241E7C 44070000 */ mfc1 $a3, $f0 +/* C62B90 80241E80 C6400008 */ lwc1 $f0, 8($s2) +/* C62B94 80241E84 46800020 */ cvt.s.w $f0, $f0 +/* C62B98 80241E88 E6200038 */ swc1 $f0, 0x38($s1) +/* C62B9C 80241E8C C640000C */ lwc1 $f0, 0xc($s2) +/* C62BA0 80241E90 46800020 */ cvt.s.w $f0, $f0 +/* C62BA4 80241E94 E6200040 */ swc1 $f0, 0x40($s1) +/* C62BA8 80241E98 C6480010 */ lwc1 $f8, 0x10($s2) +/* C62BAC 80241E9C 46804220 */ cvt.s.w $f8, $f8 +/* C62BB0 80241EA0 44064000 */ mfc1 $a2, $f8 +/* C62BB4 80241EA4 0C00A7E7 */ jal add_vec2D_polar +/* C62BB8 80241EA8 0260282D */ daddu $a1, $s3, $zero +/* C62BBC 80241EAC 080907D9 */ j .L80241F64 +/* C62BC0 80241EB0 00000000 */ nop +.L80241EB4: +/* C62BC4 80241EB4 8E420008 */ lw $v0, 8($s2) +/* C62BC8 80241EB8 8E430010 */ lw $v1, 0x10($s2) +/* C62BCC 80241EBC C6200038 */ lwc1 $f0, 0x38($s1) +/* C62BD0 80241EC0 00431021 */ addu $v0, $v0, $v1 +/* C62BD4 80241EC4 44821000 */ mtc1 $v0, $f2 +/* C62BD8 80241EC8 00000000 */ nop +/* C62BDC 80241ECC 468010A0 */ cvt.s.w $f2, $f2 +/* C62BE0 80241ED0 4600103C */ c.lt.s $f2, $f0 +/* C62BE4 80241ED4 00000000 */ nop +/* C62BE8 80241ED8 45030001 */ bc1tl .L80241EE0 +/* C62BEC 80241EDC E6220038 */ swc1 $f2, 0x38($s1) +.L80241EE0: +/* C62BF0 80241EE0 8E420008 */ lw $v0, 8($s2) +/* C62BF4 80241EE4 8E430010 */ lw $v1, 0x10($s2) +/* C62BF8 80241EE8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C62BFC 80241EEC 00431023 */ subu $v0, $v0, $v1 +/* C62C00 80241EF0 44821000 */ mtc1 $v0, $f2 +/* C62C04 80241EF4 00000000 */ nop +/* C62C08 80241EF8 468010A0 */ cvt.s.w $f2, $f2 +/* C62C0C 80241EFC 4602003C */ c.lt.s $f0, $f2 +/* C62C10 80241F00 00000000 */ nop +/* C62C14 80241F04 45030001 */ bc1tl .L80241F0C +/* C62C18 80241F08 E6220038 */ swc1 $f2, 0x38($s1) +.L80241F0C: +/* C62C1C 80241F0C 8E42000C */ lw $v0, 0xc($s2) +/* C62C20 80241F10 8E430014 */ lw $v1, 0x14($s2) +/* C62C24 80241F14 C6200040 */ lwc1 $f0, 0x40($s1) +/* C62C28 80241F18 00431021 */ addu $v0, $v0, $v1 +/* C62C2C 80241F1C 44821000 */ mtc1 $v0, $f2 +/* C62C30 80241F20 00000000 */ nop +/* C62C34 80241F24 468010A0 */ cvt.s.w $f2, $f2 +/* C62C38 80241F28 4600103C */ c.lt.s $f2, $f0 +/* C62C3C 80241F2C 00000000 */ nop +/* C62C40 80241F30 45030001 */ bc1tl .L80241F38 +/* C62C44 80241F34 E6220040 */ swc1 $f2, 0x40($s1) +.L80241F38: +/* C62C48 80241F38 8E42000C */ lw $v0, 0xc($s2) +/* C62C4C 80241F3C 8E430014 */ lw $v1, 0x14($s2) +/* C62C50 80241F40 C6200040 */ lwc1 $f0, 0x40($s1) +/* C62C54 80241F44 00431023 */ subu $v0, $v0, $v1 +/* C62C58 80241F48 44821000 */ mtc1 $v0, $f2 +/* C62C5C 80241F4C 00000000 */ nop +/* C62C60 80241F50 468010A0 */ cvt.s.w $f2, $f2 +/* C62C64 80241F54 4602003C */ c.lt.s $f0, $f2 +/* C62C68 80241F58 00000000 */ nop +/* C62C6C 80241F5C 45030001 */ bc1tl .L80241F64 +/* C62C70 80241F60 E6220040 */ swc1 $f2, 0x40($s1) +.L80241F64: +/* C62C74 80241F64 16E0001F */ bnez $s7, .L80241FE4 +/* C62C78 80241F68 00000000 */ nop +/* C62C7C 80241F6C 8E220000 */ lw $v0, ($s1) +/* C62C80 80241F70 30420008 */ andi $v0, $v0, 8 +/* C62C84 80241F74 10400003 */ beqz $v0, .L80241F84 +/* C62C88 80241F78 27A50020 */ addiu $a1, $sp, 0x20 +/* C62C8C 80241F7C 13C00019 */ beqz $fp, .L80241FE4 +/* C62C90 80241F80 00000000 */ nop +.L80241F84: +/* C62C94 80241F84 27A60024 */ addiu $a2, $sp, 0x24 +/* C62C98 80241F88 27A20038 */ addiu $v0, $sp, 0x38 +/* C62C9C 80241F8C C6220038 */ lwc1 $f2, 0x38($s1) +/* C62CA0 80241F90 C620003C */ lwc1 $f0, 0x3c($s1) +/* C62CA4 80241F94 3C0143C8 */ lui $at, 0x43c8 +/* C62CA8 80241F98 44813000 */ mtc1 $at, $f6 +/* C62CAC 80241F9C 46000021 */ cvt.d.s $f0, $f0 +/* C62CB0 80241FA0 E7A20020 */ swc1 $f2, 0x20($sp) +/* C62CB4 80241FA4 3C018024 */ lui $at, 0x8024 +/* C62CB8 80241FA8 D4227400 */ ldc1 $f2, 0x7400($at) +/* C62CBC 80241FAC C6240040 */ lwc1 $f4, 0x40($s1) +/* C62CC0 80241FB0 46220000 */ add.d $f0, $f0, $f2 +/* C62CC4 80241FB4 E7A60038 */ swc1 $f6, 0x38($sp) +/* C62CC8 80241FB8 E7A40028 */ swc1 $f4, 0x28($sp) +/* C62CCC 80241FBC 46200020 */ cvt.s.d $f0, $f0 +/* C62CD0 80241FC0 E7A00024 */ swc1 $f0, 0x24($sp) +/* C62CD4 80241FC4 AFA20010 */ sw $v0, 0x10($sp) +/* C62CD8 80241FC8 8E240080 */ lw $a0, 0x80($s1) +/* C62CDC 80241FCC 0C0372DF */ jal func_800DCB7C +/* C62CE0 80241FD0 27A70028 */ addiu $a3, $sp, 0x28 +/* C62CE4 80241FD4 10400003 */ beqz $v0, .L80241FE4 +/* C62CE8 80241FD8 00000000 */ nop +/* C62CEC 80241FDC C7A00024 */ lwc1 $f0, 0x24($sp) +/* C62CF0 80241FE0 E620003C */ swc1 $f0, 0x3c($s1) +.L80241FE4: +/* C62CF4 80241FE4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C62CF8 80241FE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C62CFC 80241FEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C62D00 80241FF0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C62D04 80241FF4 8C460028 */ lw $a2, 0x28($v0) +/* C62D08 80241FF8 0C00A720 */ jal atan2 +/* C62D0C 80241FFC 8C470030 */ lw $a3, 0x30($v0) +/* C62D10 80242000 0220202D */ daddu $a0, $s1, $zero +/* C62D14 80242004 24050321 */ addiu $a1, $zero, 0x321 +/* C62D18 80242008 0000302D */ daddu $a2, $zero, $zero +/* C62D1C 8024200C 0C012530 */ jal func_800494C0 +/* C62D20 80242010 E620000C */ swc1 $f0, 0xc($s1) +/* C62D24 80242014 8EC200CC */ lw $v0, 0xcc($s6) +/* C62D28 80242018 8C420024 */ lw $v0, 0x24($v0) +/* C62D2C 8024201C AE220028 */ sw $v0, 0x28($s1) +/* C62D30 80242020 96C20096 */ lhu $v0, 0x96($s6) +/* C62D34 80242024 A622008E */ sh $v0, 0x8e($s1) +/* C62D38 80242028 8FA80080 */ lw $t0, 0x80($sp) +/* C62D3C 8024202C 2402000B */ addiu $v0, $zero, 0xb +/* C62D40 80242030 AD020070 */ sw $v0, 0x70($t0) +.L80242034: +/* C62D44 80242034 8FBF0064 */ lw $ra, 0x64($sp) +/* C62D48 80242038 8FBE0060 */ lw $fp, 0x60($sp) +/* C62D4C 8024203C 8FB7005C */ lw $s7, 0x5c($sp) +/* C62D50 80242040 8FB60058 */ lw $s6, 0x58($sp) +/* C62D54 80242044 8FB50054 */ lw $s5, 0x54($sp) +/* C62D58 80242048 8FB40050 */ lw $s4, 0x50($sp) +/* C62D5C 8024204C 8FB3004C */ lw $s3, 0x4c($sp) +/* C62D60 80242050 8FB20048 */ lw $s2, 0x48($sp) +/* C62D64 80242054 8FB10044 */ lw $s1, 0x44($sp) +/* C62D68 80242058 8FB00040 */ lw $s0, 0x40($sp) +/* C62D6C 8024205C D7B80078 */ ldc1 $f24, 0x78($sp) +/* C62D70 80242060 D7B60070 */ ldc1 $f22, 0x70($sp) +/* C62D74 80242064 D7B40068 */ ldc1 $f20, 0x68($sp) +/* C62D78 80242068 03E00008 */ jr $ra +/* C62D7C 8024206C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242070_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242070_C60D10.s new file mode 100644 index 0000000000..b534dad607 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242070_C60D10.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242070_C62D80 +/* C62D80 80242070 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C62D84 80242074 AFB10014 */ sw $s1, 0x14($sp) +/* C62D88 80242078 0080882D */ daddu $s1, $a0, $zero +/* C62D8C 8024207C AFBF0018 */ sw $ra, 0x18($sp) +/* C62D90 80242080 AFB00010 */ sw $s0, 0x10($sp) +/* C62D94 80242084 8E300148 */ lw $s0, 0x148($s1) +/* C62D98 80242088 0C00EABB */ jal get_npc_unsafe +/* C62D9C 8024208C 86040008 */ lh $a0, 8($s0) +/* C62DA0 80242090 0040202D */ daddu $a0, $v0, $zero +/* C62DA4 80242094 9482008E */ lhu $v0, 0x8e($a0) +/* C62DA8 80242098 2442FFFF */ addiu $v0, $v0, -1 +/* C62DAC 8024209C A482008E */ sh $v0, 0x8e($a0) +/* C62DB0 802420A0 00021400 */ sll $v0, $v0, 0x10 +/* C62DB4 802420A4 8E030098 */ lw $v1, 0x98($s0) +/* C62DB8 802420A8 00021403 */ sra $v0, $v0, 0x10 +/* C62DBC 802420AC 0062182A */ slt $v1, $v1, $v0 +/* C62DC0 802420B0 14600005 */ bnez $v1, .L802420C8 +/* C62DC4 802420B4 3C03E0EF */ lui $v1, 0xe0ef +/* C62DC8 802420B8 8E020000 */ lw $v0, ($s0) +/* C62DCC 802420BC 3463FFFF */ ori $v1, $v1, 0xffff +/* C62DD0 802420C0 00431024 */ and $v0, $v0, $v1 +/* C62DD4 802420C4 AE020000 */ sw $v0, ($s0) +.L802420C8: +/* C62DD8 802420C8 8482008E */ lh $v0, 0x8e($a0) +/* C62DDC 802420CC 14400007 */ bnez $v0, .L802420EC +/* C62DE0 802420D0 00000000 */ nop +/* C62DE4 802420D4 8E0200CC */ lw $v0, 0xcc($s0) +/* C62DE8 802420D8 8C420028 */ lw $v0, 0x28($v0) +/* C62DEC 802420DC A480008E */ sh $zero, 0x8e($a0) +/* C62DF0 802420E0 AC820028 */ sw $v0, 0x28($a0) +/* C62DF4 802420E4 2402000C */ addiu $v0, $zero, 0xc +/* C62DF8 802420E8 AE220070 */ sw $v0, 0x70($s1) +.L802420EC: +/* C62DFC 802420EC 8FBF0018 */ lw $ra, 0x18($sp) +/* C62E00 802420F0 8FB10014 */ lw $s1, 0x14($sp) +/* C62E04 802420F4 8FB00010 */ lw $s0, 0x10($sp) +/* C62E08 802420F8 03E00008 */ jr $ra +/* C62E0C 802420FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242100.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242100.s new file mode 100644 index 0000000000..4f101f6a32 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242100.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242100 +/* C62E10 80242100 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C62E14 80242104 AFB10034 */ sw $s1, 0x34($sp) +/* C62E18 80242108 0080882D */ daddu $s1, $a0, $zero +/* C62E1C 8024210C AFBF0038 */ sw $ra, 0x38($sp) +/* C62E20 80242110 AFB00030 */ sw $s0, 0x30($sp) +/* C62E24 80242114 8E300148 */ lw $s0, 0x148($s1) +/* C62E28 80242118 0C00EABB */ jal get_npc_unsafe +/* C62E2C 8024211C 86040008 */ lh $a0, 8($s0) +/* C62E30 80242120 0040282D */ daddu $a1, $v0, $zero +/* C62E34 80242124 94A2008E */ lhu $v0, 0x8e($a1) +/* C62E38 80242128 24420001 */ addiu $v0, $v0, 1 +/* C62E3C 8024212C A4A2008E */ sh $v0, 0x8e($a1) +/* C62E40 80242130 00021400 */ sll $v0, $v0, 0x10 +/* C62E44 80242134 8E0300A0 */ lw $v1, 0xa0($s0) +/* C62E48 80242138 00021403 */ sra $v0, $v0, 0x10 +/* C62E4C 8024213C 14430004 */ bne $v0, $v1, .L80242150 +/* C62E50 80242140 00000000 */ nop +/* C62E54 80242144 8E0200CC */ lw $v0, 0xcc($s0) +/* C62E58 80242148 8C42002C */ lw $v0, 0x2c($v0) +/* C62E5C 8024214C ACA20028 */ sw $v0, 0x28($a1) +.L80242150: +/* C62E60 80242150 84A3008E */ lh $v1, 0x8e($a1) +/* C62E64 80242154 8E0200A4 */ lw $v0, 0xa4($s0) +/* C62E68 80242158 14620002 */ bne $v1, $v0, .L80242164 +/* C62E6C 8024215C 24020003 */ addiu $v0, $zero, 3 +/* C62E70 80242160 AE02006C */ sw $v0, 0x6c($s0) +.L80242164: +/* C62E74 80242164 84A2008E */ lh $v0, 0x8e($a1) +/* C62E78 80242168 8E03009C */ lw $v1, 0x9c($s0) +/* C62E7C 8024216C 0043102A */ slt $v0, $v0, $v1 +/* C62E80 80242170 1440001E */ bnez $v0, .L802421EC +/* C62E84 80242174 24020004 */ addiu $v0, $zero, 4 +/* C62E88 80242178 AE02006C */ sw $v0, 0x6c($s0) +/* C62E8C 8024217C 24020008 */ addiu $v0, $zero, 8 +/* C62E90 80242180 24040003 */ addiu $a0, $zero, 3 +/* C62E94 80242184 A4A2008E */ sh $v0, 0x8e($a1) +/* C62E98 80242188 8E0200CC */ lw $v0, 0xcc($s0) +/* C62E9C 8024218C 84A300A8 */ lh $v1, 0xa8($a1) +/* C62EA0 80242190 3C013F80 */ lui $at, 0x3f80 +/* C62EA4 80242194 44810000 */ mtc1 $at, $f0 +/* C62EA8 80242198 3C014000 */ lui $at, 0x4000 +/* C62EAC 8024219C 44811000 */ mtc1 $at, $f2 +/* C62EB0 802421A0 3C01C1A0 */ lui $at, 0xc1a0 +/* C62EB4 802421A4 44812000 */ mtc1 $at, $f4 +/* C62EB8 802421A8 44833000 */ mtc1 $v1, $f6 +/* C62EBC 802421AC 00000000 */ nop +/* C62EC0 802421B0 468031A0 */ cvt.s.w $f6, $f6 +/* C62EC4 802421B4 8C420000 */ lw $v0, ($v0) +/* C62EC8 802421B8 44073000 */ mfc1 $a3, $f6 +/* C62ECC 802421BC 0000302D */ daddu $a2, $zero, $zero +/* C62ED0 802421C0 ACA20028 */ sw $v0, 0x28($a1) +/* C62ED4 802421C4 2402000A */ addiu $v0, $zero, 0xa +/* C62ED8 802421C8 AFA2001C */ sw $v0, 0x1c($sp) +/* C62EDC 802421CC 27A20028 */ addiu $v0, $sp, 0x28 +/* C62EE0 802421D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C62EE4 802421D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C62EE8 802421D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* C62EEC 802421DC 0C01BFA4 */ jal fx_emote +/* C62EF0 802421E0 AFA20020 */ sw $v0, 0x20($sp) +/* C62EF4 802421E4 2402000D */ addiu $v0, $zero, 0xd +/* C62EF8 802421E8 AE220070 */ sw $v0, 0x70($s1) +.L802421EC: +/* C62EFC 802421EC 8FBF0038 */ lw $ra, 0x38($sp) +/* C62F00 802421F0 8FB10034 */ lw $s1, 0x34($sp) +/* C62F04 802421F4 8FB00030 */ lw $s0, 0x30($sp) +/* C62F08 802421F8 03E00008 */ jr $ra +/* C62F0C 802421FC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242200_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242200_C60D10.s new file mode 100644 index 0000000000..38cdfa03b4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242200_C60D10.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242200_C62F10 +/* C62F10 80242200 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C62F14 80242204 AFB10014 */ sw $s1, 0x14($sp) +/* C62F18 80242208 0080882D */ daddu $s1, $a0, $zero +/* C62F1C 8024220C AFBF0018 */ sw $ra, 0x18($sp) +/* C62F20 80242210 AFB00010 */ sw $s0, 0x10($sp) +/* C62F24 80242214 8E300148 */ lw $s0, 0x148($s1) +/* C62F28 80242218 0C00EABB */ jal get_npc_unsafe +/* C62F2C 8024221C 86040008 */ lh $a0, 8($s0) +/* C62F30 80242220 0040182D */ daddu $v1, $v0, $zero +/* C62F34 80242224 9462008E */ lhu $v0, 0x8e($v1) +/* C62F38 80242228 2442FFFF */ addiu $v0, $v0, -1 +/* C62F3C 8024222C A462008E */ sh $v0, 0x8e($v1) +/* C62F40 80242230 00021400 */ sll $v0, $v0, 0x10 +/* C62F44 80242234 14400005 */ bnez $v0, .L8024224C +/* C62F48 80242238 00000000 */ nop +/* C62F4C 8024223C 960200AA */ lhu $v0, 0xaa($s0) +/* C62F50 80242240 A462008E */ sh $v0, 0x8e($v1) +/* C62F54 80242244 2402000E */ addiu $v0, $zero, 0xe +/* C62F58 80242248 AE220070 */ sw $v0, 0x70($s1) +.L8024224C: +/* C62F5C 8024224C 8FBF0018 */ lw $ra, 0x18($sp) +/* C62F60 80242250 8FB10014 */ lw $s1, 0x14($sp) +/* C62F64 80242254 8FB00010 */ lw $s0, 0x10($sp) +/* C62F68 80242258 03E00008 */ jr $ra +/* C62F6C 8024225C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242260_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242260_C60D10.s new file mode 100644 index 0000000000..a6c585bc00 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242260_C60D10.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242260_C62F70 +/* C62F70 80242260 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C62F74 80242264 AFB40040 */ sw $s4, 0x40($sp) +/* C62F78 80242268 0080A02D */ daddu $s4, $a0, $zero +/* C62F7C 8024226C AFBF0044 */ sw $ra, 0x44($sp) +/* C62F80 80242270 AFB3003C */ sw $s3, 0x3c($sp) +/* C62F84 80242274 AFB20038 */ sw $s2, 0x38($sp) +/* C62F88 80242278 AFB10034 */ sw $s1, 0x34($sp) +/* C62F8C 8024227C AFB00030 */ sw $s0, 0x30($sp) +/* C62F90 80242280 8E910148 */ lw $s1, 0x148($s4) +/* C62F94 80242284 00A0902D */ daddu $s2, $a1, $zero +/* C62F98 80242288 86240008 */ lh $a0, 8($s1) +/* C62F9C 8024228C 0C00EABB */ jal get_npc_unsafe +/* C62FA0 80242290 00C0982D */ daddu $s3, $a2, $zero +/* C62FA4 80242294 0040802D */ daddu $s0, $v0, $zero +/* C62FA8 80242298 9602008E */ lhu $v0, 0x8e($s0) +/* C62FAC 8024229C 2442FFFF */ addiu $v0, $v0, -1 +/* C62FB0 802422A0 A602008E */ sh $v0, 0x8e($s0) +/* C62FB4 802422A4 00021400 */ sll $v0, $v0, 0x10 +/* C62FB8 802422A8 14400020 */ bnez $v0, .L8024232C +/* C62FBC 802422AC 0260202D */ daddu $a0, $s3, $zero +/* C62FC0 802422B0 AFA00010 */ sw $zero, 0x10($sp) +/* C62FC4 802422B4 8E46000C */ lw $a2, 0xc($s2) +/* C62FC8 802422B8 8E470010 */ lw $a3, 0x10($s2) +/* C62FCC 802422BC 0C01242D */ jal func_800490B4 +/* C62FD0 802422C0 0220282D */ daddu $a1, $s1, $zero +/* C62FD4 802422C4 54400018 */ bnel $v0, $zero, .L80242328 +/* C62FD8 802422C8 A600008E */ sh $zero, 0x8e($s0) +/* C62FDC 802422CC 24040002 */ addiu $a0, $zero, 2 +/* C62FE0 802422D0 0200282D */ daddu $a1, $s0, $zero +/* C62FE4 802422D4 0000302D */ daddu $a2, $zero, $zero +/* C62FE8 802422D8 860300A8 */ lh $v1, 0xa8($s0) +/* C62FEC 802422DC 3C013F80 */ lui $at, 0x3f80 +/* C62FF0 802422E0 44810000 */ mtc1 $at, $f0 +/* C62FF4 802422E4 3C014000 */ lui $at, 0x4000 +/* C62FF8 802422E8 44811000 */ mtc1 $at, $f2 +/* C62FFC 802422EC 3C01C1A0 */ lui $at, 0xc1a0 +/* C63000 802422F0 44812000 */ mtc1 $at, $f4 +/* C63004 802422F4 2402000F */ addiu $v0, $zero, 0xf +/* C63008 802422F8 AFA2001C */ sw $v0, 0x1c($sp) +/* C6300C 802422FC 44833000 */ mtc1 $v1, $f6 +/* C63010 80242300 00000000 */ nop +/* C63014 80242304 468031A0 */ cvt.s.w $f6, $f6 +/* C63018 80242308 44073000 */ mfc1 $a3, $f6 +/* C6301C 8024230C 27A20028 */ addiu $v0, $sp, 0x28 +/* C63020 80242310 AFA20020 */ sw $v0, 0x20($sp) +/* C63024 80242314 E7A00010 */ swc1 $f0, 0x10($sp) +/* C63028 80242318 E7A20014 */ swc1 $f2, 0x14($sp) +/* C6302C 8024231C 0C01BFA4 */ jal fx_emote +/* C63030 80242320 E7A40018 */ swc1 $f4, 0x18($sp) +/* C63034 80242324 A600008E */ sh $zero, 0x8e($s0) +.L80242328: +/* C63038 80242328 AE800070 */ sw $zero, 0x70($s4) +.L8024232C: +/* C6303C 8024232C 8FBF0044 */ lw $ra, 0x44($sp) +/* C63040 80242330 8FB40040 */ lw $s4, 0x40($sp) +/* C63044 80242334 8FB3003C */ lw $s3, 0x3c($sp) +/* C63048 80242338 8FB20038 */ lw $s2, 0x38($sp) +/* C6304C 8024233C 8FB10034 */ lw $s1, 0x34($sp) +/* C63050 80242340 8FB00030 */ lw $s0, 0x30($sp) +/* C63054 80242344 03E00008 */ jr $ra +/* C63058 80242348 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_8024234C_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024234C_C60D10.s new file mode 100644 index 0000000000..c0ea8c2b24 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024234C_C60D10.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024234C_C6305C +/* C6305C 8024234C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C63060 80242350 AFB20038 */ sw $s2, 0x38($sp) +/* C63064 80242354 0080902D */ daddu $s2, $a0, $zero +/* C63068 80242358 AFBF0048 */ sw $ra, 0x48($sp) +/* C6306C 8024235C AFB50044 */ sw $s5, 0x44($sp) +/* C63070 80242360 AFB40040 */ sw $s4, 0x40($sp) +/* C63074 80242364 AFB3003C */ sw $s3, 0x3c($sp) +/* C63078 80242368 AFB10034 */ sw $s1, 0x34($sp) +/* C6307C 8024236C AFB00030 */ sw $s0, 0x30($sp) +/* C63080 80242370 8E510148 */ lw $s1, 0x148($s2) +/* C63084 80242374 86240008 */ lh $a0, 8($s1) +/* C63088 80242378 0C00EABB */ jal get_npc_unsafe +/* C6308C 8024237C 00A0802D */ daddu $s0, $a1, $zero +/* C63090 80242380 8E43000C */ lw $v1, 0xc($s2) +/* C63094 80242384 0240202D */ daddu $a0, $s2, $zero +/* C63098 80242388 8C650000 */ lw $a1, ($v1) +/* C6309C 8024238C 0C0B1EAF */ jal get_variable +/* C630A0 80242390 0040A82D */ daddu $s5, $v0, $zero +/* C630A4 80242394 AFA00010 */ sw $zero, 0x10($sp) +/* C630A8 80242398 8E2300D0 */ lw $v1, 0xd0($s1) +/* C630AC 8024239C 8C630030 */ lw $v1, 0x30($v1) +/* C630B0 802423A0 AFA30014 */ sw $v1, 0x14($sp) +/* C630B4 802423A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C630B8 802423A8 8C63001C */ lw $v1, 0x1c($v1) +/* C630BC 802423AC AFA30018 */ sw $v1, 0x18($sp) +/* C630C0 802423B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C630C4 802423B4 8C630024 */ lw $v1, 0x24($v1) +/* C630C8 802423B8 AFA3001C */ sw $v1, 0x1c($sp) +/* C630CC 802423BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C630D0 802423C0 8C630028 */ lw $v1, 0x28($v1) +/* C630D4 802423C4 27B40010 */ addiu $s4, $sp, 0x10 +/* C630D8 802423C8 AFA30020 */ sw $v1, 0x20($sp) +/* C630DC 802423CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C630E0 802423D0 3C014348 */ lui $at, 0x4348 +/* C630E4 802423D4 44810000 */ mtc1 $at, $f0 +/* C630E8 802423D8 8C63002C */ lw $v1, 0x2c($v1) +/* C630EC 802423DC 0040982D */ daddu $s3, $v0, $zero +/* C630F0 802423E0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C630F4 802423E4 A7A0002C */ sh $zero, 0x2c($sp) +/* C630F8 802423E8 16000005 */ bnez $s0, .L80242400 +/* C630FC 802423EC AFA30024 */ sw $v1, 0x24($sp) +/* C63100 802423F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C63104 802423F4 30420004 */ andi $v0, $v0, 4 +/* C63108 802423F8 10400011 */ beqz $v0, .L80242440 +/* C6310C 802423FC 00000000 */ nop +.L80242400: +/* C63110 80242400 AE400070 */ sw $zero, 0x70($s2) +/* C63114 80242404 A6A0008E */ sh $zero, 0x8e($s5) +/* C63118 80242408 8E2200CC */ lw $v0, 0xcc($s1) +/* C6311C 8024240C 8C420000 */ lw $v0, ($v0) +/* C63120 80242410 AEA20028 */ sw $v0, 0x28($s5) +/* C63124 80242414 8E2200B0 */ lw $v0, 0xb0($s1) +/* C63128 80242418 30420004 */ andi $v0, $v0, 4 +/* C6312C 8024241C 10400008 */ beqz $v0, .L80242440 +/* C63130 80242420 AE20006C */ sw $zero, 0x6c($s1) +/* C63134 80242424 24020063 */ addiu $v0, $zero, 0x63 +/* C63138 80242428 AE420070 */ sw $v0, 0x70($s2) +/* C6313C 8024242C AE400074 */ sw $zero, 0x74($s2) +/* C63140 80242430 8E2200B0 */ lw $v0, 0xb0($s1) +/* C63144 80242434 2403FFFB */ addiu $v1, $zero, -5 +/* C63148 80242438 00431024 */ and $v0, $v0, $v1 +/* C6314C 8024243C AE2200B0 */ sw $v0, 0xb0($s1) +.L80242440: +/* C63150 80242440 8E430070 */ lw $v1, 0x70($s2) +/* C63154 80242444 2410000B */ addiu $s0, $zero, 0xb +/* C63158 80242448 1070002A */ beq $v1, $s0, .L802424F4 +/* C6315C 8024244C 2862000C */ slti $v0, $v1, 0xc +/* C63160 80242450 1040000D */ beqz $v0, .L80242488 +/* C63164 80242454 24020001 */ addiu $v0, $zero, 1 +/* C63168 80242458 1062001A */ beq $v1, $v0, .L802424C4 +/* C6316C 8024245C 28620002 */ slti $v0, $v1, 2 +/* C63170 80242460 10400005 */ beqz $v0, .L80242478 +/* C63174 80242464 2402000A */ addiu $v0, $zero, 0xa +/* C63178 80242468 10600013 */ beqz $v1, .L802424B8 +/* C6317C 8024246C 0240202D */ daddu $a0, $s2, $zero +/* C63180 80242470 0809095D */ j .L80242574 +/* C63184 80242474 00000000 */ nop +.L80242478: +/* C63188 80242478 10620018 */ beq $v1, $v0, .L802424DC +/* C6318C 8024247C 0240202D */ daddu $a0, $s2, $zero +/* C63190 80242480 0809095D */ j .L80242574 +/* C63194 80242484 00000000 */ nop +.L80242488: +/* C63198 80242488 2402000D */ addiu $v0, $zero, 0xd +/* C6319C 8024248C 10620029 */ beq $v1, $v0, .L80242534 +/* C631A0 80242490 0062102A */ slt $v0, $v1, $v0 +/* C631A4 80242494 14400020 */ bnez $v0, .L80242518 +/* C631A8 80242498 0240202D */ daddu $a0, $s2, $zero +/* C631AC 8024249C 2402000E */ addiu $v0, $zero, 0xe +/* C631B0 802424A0 1062002D */ beq $v1, $v0, .L80242558 +/* C631B4 802424A4 24020063 */ addiu $v0, $zero, 0x63 +/* C631B8 802424A8 10620030 */ beq $v1, $v0, .L8024256C +/* C631BC 802424AC 00000000 */ nop +/* C631C0 802424B0 0809095D */ j .L80242574 +/* C631C4 802424B4 00000000 */ nop +.L802424B8: +/* C631C8 802424B8 0260282D */ daddu $a1, $s3, $zero +/* C631CC 802424BC 0C090532 */ jal func_802414C8 +/* C631D0 802424C0 0280302D */ daddu $a2, $s4, $zero +.L802424C4: +/* C631D4 802424C4 0240202D */ daddu $a0, $s2, $zero +/* C631D8 802424C8 0260282D */ daddu $a1, $s3, $zero +/* C631DC 802424CC 0C09054D */ jal func_80241534 +/* C631E0 802424D0 0280302D */ daddu $a2, $s4, $zero +/* C631E4 802424D4 0809095D */ j .L80242574 +/* C631E8 802424D8 00000000 */ nop +.L802424DC: +/* C631EC 802424DC 0260282D */ daddu $a1, $s3, $zero +/* C631F0 802424E0 0C09058C */ jal func_80241630 +/* C631F4 802424E4 0280302D */ daddu $a2, $s4, $zero +/* C631F8 802424E8 8E420070 */ lw $v0, 0x70($s2) +/* C631FC 802424EC 14500021 */ bne $v0, $s0, .L80242574 +/* C63200 802424F0 00000000 */ nop +.L802424F4: +/* C63204 802424F4 0240202D */ daddu $a0, $s2, $zero +/* C63208 802424F8 0260282D */ daddu $a1, $s3, $zero +/* C6320C 802424FC 0C09081C */ jal func_80242070 +/* C63210 80242500 0280302D */ daddu $a2, $s4, $zero +/* C63214 80242504 8E430070 */ lw $v1, 0x70($s2) +/* C63218 80242508 2402000C */ addiu $v0, $zero, 0xc +/* C6321C 8024250C 14620019 */ bne $v1, $v0, .L80242574 +/* C63220 80242510 00000000 */ nop +/* C63224 80242514 0240202D */ daddu $a0, $s2, $zero +.L80242518: +/* C63228 80242518 0260282D */ daddu $a1, $s3, $zero +/* C6322C 8024251C 0C090840 */ jal func_80242100 +/* C63230 80242520 0280302D */ daddu $a2, $s4, $zero +/* C63234 80242524 8E430070 */ lw $v1, 0x70($s2) +/* C63238 80242528 2402000D */ addiu $v0, $zero, 0xd +/* C6323C 8024252C 14620011 */ bne $v1, $v0, .L80242574 +/* C63240 80242530 00000000 */ nop +.L80242534: +/* C63244 80242534 0240202D */ daddu $a0, $s2, $zero +/* C63248 80242538 0260282D */ daddu $a1, $s3, $zero +/* C6324C 8024253C 0C090880 */ jal func_80242200 +/* C63250 80242540 0280302D */ daddu $a2, $s4, $zero +/* C63254 80242544 8E430070 */ lw $v1, 0x70($s2) +/* C63258 80242548 2402000E */ addiu $v0, $zero, 0xe +/* C6325C 8024254C 14620009 */ bne $v1, $v0, .L80242574 +/* C63260 80242550 00000000 */ nop +/* C63264 80242554 0240202D */ daddu $a0, $s2, $zero +.L80242558: +/* C63268 80242558 0260282D */ daddu $a1, $s3, $zero +/* C6326C 8024255C 0C090898 */ jal func_80242260 +/* C63270 80242560 0280302D */ daddu $a2, $s4, $zero +/* C63274 80242564 0809095D */ j .L80242574 +/* C63278 80242568 00000000 */ nop +.L8024256C: +/* C6327C 8024256C 0C0129CF */ jal func_8004A73C +/* C63280 80242570 0240202D */ daddu $a0, $s2, $zero +.L80242574: +/* C63284 80242574 8FBF0048 */ lw $ra, 0x48($sp) +/* C63288 80242578 8FB50044 */ lw $s5, 0x44($sp) +/* C6328C 8024257C 8FB40040 */ lw $s4, 0x40($sp) +/* C63290 80242580 8FB3003C */ lw $s3, 0x3c($sp) +/* C63294 80242584 8FB20038 */ lw $s2, 0x38($sp) +/* C63298 80242588 8FB10034 */ lw $s1, 0x34($sp) +/* C6329C 8024258C 8FB00030 */ lw $s0, 0x30($sp) +/* C632A0 80242590 0000102D */ daddu $v0, $zero, $zero +/* C632A4 80242594 03E00008 */ jr $ra +/* C632A8 80242598 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_8024259C_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024259C_C60D10.s new file mode 100644 index 0000000000..97c8ab03a0 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024259C_C60D10.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024259C_C632AC +/* C632AC 8024259C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C632B0 802425A0 AFB00010 */ sw $s0, 0x10($sp) +/* C632B4 802425A4 3C108024 */ lui $s0, 0x8024 +/* C632B8 802425A8 261041A0 */ addiu $s0, $s0, 0x41a0 +/* C632BC 802425AC AFBF0018 */ sw $ra, 0x18($sp) +/* C632C0 802425B0 AFB10014 */ sw $s1, 0x14($sp) +/* C632C4 802425B4 8E020000 */ lw $v0, ($s0) +/* C632C8 802425B8 14400010 */ bnez $v0, .L802425FC +/* C632CC 802425BC 0080882D */ daddu $s1, $a0, $zero +/* C632D0 802425C0 0C00AB39 */ jal heap_malloc +/* C632D4 802425C4 24040040 */ addiu $a0, $zero, 0x40 +/* C632D8 802425C8 AE020000 */ sw $v0, ($s0) +/* C632DC 802425CC 0000182D */ daddu $v1, $zero, $zero +/* C632E0 802425D0 0040282D */ daddu $a1, $v0, $zero +/* C632E4 802425D4 0220202D */ daddu $a0, $s1, $zero +.L802425D8: +/* C632E8 802425D8 8C820084 */ lw $v0, 0x84($a0) +/* C632EC 802425DC 24840004 */ addiu $a0, $a0, 4 +/* C632F0 802425E0 24630001 */ addiu $v1, $v1, 1 +/* C632F4 802425E4 ACA20000 */ sw $v0, ($a1) +/* C632F8 802425E8 28620010 */ slti $v0, $v1, 0x10 +/* C632FC 802425EC 1440FFFA */ bnez $v0, .L802425D8 +/* C63300 802425F0 24A50004 */ addiu $a1, $a1, 4 +/* C63304 802425F4 0809098E */ j .L80242638 +/* C63308 802425F8 00000000 */ nop +.L802425FC: +/* C6330C 802425FC 0000182D */ daddu $v1, $zero, $zero +/* C63310 80242600 0040282D */ daddu $a1, $v0, $zero +/* C63314 80242604 0220202D */ daddu $a0, $s1, $zero +.L80242608: +/* C63318 80242608 8CA20000 */ lw $v0, ($a1) +/* C6331C 8024260C 24A50004 */ addiu $a1, $a1, 4 +/* C63320 80242610 24630001 */ addiu $v1, $v1, 1 +/* C63324 80242614 AC820084 */ sw $v0, 0x84($a0) +/* C63328 80242618 28620010 */ slti $v0, $v1, 0x10 +/* C6332C 8024261C 1440FFFA */ bnez $v0, .L80242608 +/* C63330 80242620 24840004 */ addiu $a0, $a0, 4 +/* C63334 80242624 3C108024 */ lui $s0, 0x8024 +/* C63338 80242628 261041A0 */ addiu $s0, $s0, 0x41a0 +/* C6333C 8024262C 0C00AB4B */ jal heap_free +/* C63340 80242630 8E040000 */ lw $a0, ($s0) +/* C63344 80242634 AE000000 */ sw $zero, ($s0) +.L80242638: +/* C63348 80242638 8FBF0018 */ lw $ra, 0x18($sp) +/* C6334C 8024263C 8FB10014 */ lw $s1, 0x14($sp) +/* C63350 80242640 8FB00010 */ lw $s0, 0x10($sp) +/* C63354 80242644 24020002 */ addiu $v0, $zero, 2 +/* C63358 80242648 03E00008 */ jr $ra +/* C6335C 8024264C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242650.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242650.s new file mode 100644 index 0000000000..560860d068 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242650.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242650 +/* C63360 80242650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C63364 80242654 AFB00010 */ sw $s0, 0x10($sp) +/* C63368 80242658 0080802D */ daddu $s0, $a0, $zero +/* C6336C 8024265C AFBF0018 */ sw $ra, 0x18($sp) +/* C63370 80242660 AFB10014 */ sw $s1, 0x14($sp) +/* C63374 80242664 8E02000C */ lw $v0, 0xc($s0) +/* C63378 80242668 8C510000 */ lw $s1, ($v0) +/* C6337C 8024266C 0C0B1EAF */ jal get_variable +/* C63380 80242670 0220282D */ daddu $a1, $s1, $zero +/* C63384 80242674 3C03FFF0 */ lui $v1, 0xfff0 +/* C63388 80242678 3463FFFF */ ori $v1, $v1, 0xffff +/* C6338C 8024267C 0200202D */ daddu $a0, $s0, $zero +/* C63390 80242680 00431024 */ and $v0, $v0, $v1 +/* C63394 80242684 00021140 */ sll $v0, $v0, 5 +/* C63398 80242688 3C068008 */ lui $a2, %hi(gItemTable) +/* C6339C 8024268C 00C23021 */ addu $a2, $a2, $v0 +/* C633A0 80242690 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C633A4 80242694 0C0B2026 */ jal set_variable +/* C633A8 80242698 0220282D */ daddu $a1, $s1, $zero +/* C633AC 8024269C 8FBF0018 */ lw $ra, 0x18($sp) +/* C633B0 802426A0 8FB10014 */ lw $s1, 0x14($sp) +/* C633B4 802426A4 8FB00010 */ lw $s0, 0x10($sp) +/* C633B8 802426A8 24020002 */ addiu $v0, $zero, 2 +/* C633BC 802426AC 03E00008 */ jr $ra +/* C633C0 802426B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_802426B4_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_802426B4_C60D10.s new file mode 100644 index 0000000000..ad1756b3a3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_802426B4_C60D10.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426B4_C633C4 +/* C633C4 802426B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C633C8 802426B8 AFB10014 */ sw $s1, 0x14($sp) +/* C633CC 802426BC 0080882D */ daddu $s1, $a0, $zero +/* C633D0 802426C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C633D4 802426C4 AFB00010 */ sw $s0, 0x10($sp) +/* C633D8 802426C8 8E30000C */ lw $s0, 0xc($s1) +/* C633DC 802426CC 8E050000 */ lw $a1, ($s0) +/* C633E0 802426D0 0C0B1EAF */ jal get_variable +/* C633E4 802426D4 26100004 */ addiu $s0, $s0, 4 +/* C633E8 802426D8 0C00EAD2 */ jal get_npc_safe +/* C633EC 802426DC 0040202D */ daddu $a0, $v0, $zero +/* C633F0 802426E0 10400005 */ beqz $v0, .L802426F8 +/* C633F4 802426E4 00000000 */ nop +/* C633F8 802426E8 8E050000 */ lw $a1, ($s0) +/* C633FC 802426EC 844600A8 */ lh $a2, 0xa8($v0) +/* C63400 802426F0 0C0B2026 */ jal set_variable +/* C63404 802426F4 0220202D */ daddu $a0, $s1, $zero +.L802426F8: +/* C63408 802426F8 8FBF0018 */ lw $ra, 0x18($sp) +/* C6340C 802426FC 8FB10014 */ lw $s1, 0x14($sp) +/* C63410 80242700 8FB00010 */ lw $s0, 0x10($sp) +/* C63414 80242704 24020002 */ addiu $v0, $zero, 2 +/* C63418 80242708 03E00008 */ jr $ra +/* C6341C 8024270C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242710_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242710_C60D10.s new file mode 100644 index 0000000000..7f552749c5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242710_C60D10.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242710_C63420 +/* C63420 80242710 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C63424 80242714 AFB10014 */ sw $s1, 0x14($sp) +/* C63428 80242718 0080882D */ daddu $s1, $a0, $zero +/* C6342C 8024271C AFBF0024 */ sw $ra, 0x24($sp) +/* C63430 80242720 AFB40020 */ sw $s4, 0x20($sp) +/* C63434 80242724 AFB3001C */ sw $s3, 0x1c($sp) +/* C63438 80242728 AFB20018 */ sw $s2, 0x18($sp) +/* C6343C 8024272C AFB00010 */ sw $s0, 0x10($sp) +/* C63440 80242730 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C63444 80242734 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C63448 80242738 F7B80038 */ sdc1 $f24, 0x38($sp) +/* C6344C 8024273C F7B60030 */ sdc1 $f22, 0x30($sp) +/* C63450 80242740 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C63454 80242744 8E30000C */ lw $s0, 0xc($s1) +/* C63458 80242748 8E130000 */ lw $s3, ($s0) +/* C6345C 8024274C 26100004 */ addiu $s0, $s0, 4 +/* C63460 80242750 0C0B1EAF */ jal get_variable +/* C63464 80242754 0260282D */ daddu $a1, $s3, $zero +/* C63468 80242758 4482E000 */ mtc1 $v0, $f28 +/* C6346C 8024275C 00000000 */ nop +/* C63470 80242760 4680E720 */ cvt.s.w $f28, $f28 +/* C63474 80242764 8E140000 */ lw $s4, ($s0) +/* C63478 80242768 26100004 */ addiu $s0, $s0, 4 +/* C6347C 8024276C 0220202D */ daddu $a0, $s1, $zero +/* C63480 80242770 0C0B1EAF */ jal get_variable +/* C63484 80242774 0280282D */ daddu $a1, $s4, $zero +/* C63488 80242778 4482D000 */ mtc1 $v0, $f26 +/* C6348C 8024277C 00000000 */ nop +/* C63490 80242780 4680D6A0 */ cvt.s.w $f26, $f26 +/* C63494 80242784 8E100000 */ lw $s0, ($s0) +/* C63498 80242788 0220202D */ daddu $a0, $s1, $zero +/* C6349C 8024278C 0C0B1EAF */ jal get_variable +/* C634A0 80242790 0200282D */ daddu $a1, $s0, $zero +/* C634A4 80242794 4482C000 */ mtc1 $v0, $f24 +/* C634A8 80242798 00000000 */ nop +/* C634AC 8024279C 4680C620 */ cvt.s.w $f24, $f24 +/* C634B0 802427A0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C634B4 802427A4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C634B8 802427A8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C634BC 802427AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C634C0 802427B0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C634C4 802427B4 44800000 */ mtc1 $zero, $f0 +/* C634C8 802427B8 00031080 */ sll $v0, $v1, 2 +/* C634CC 802427BC 00431021 */ addu $v0, $v0, $v1 +/* C634D0 802427C0 00021080 */ sll $v0, $v0, 2 +/* C634D4 802427C4 00431023 */ subu $v0, $v0, $v1 +/* C634D8 802427C8 000218C0 */ sll $v1, $v0, 3 +/* C634DC 802427CC 00431021 */ addu $v0, $v0, $v1 +/* C634E0 802427D0 000210C0 */ sll $v0, $v0, 3 +/* C634E4 802427D4 46001032 */ c.eq.s $f2, $f0 +/* C634E8 802427D8 3C01800B */ lui $at, 0x800b +/* C634EC 802427DC 00220821 */ addu $at, $at, $v0 +/* C634F0 802427E0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C634F4 802427E4 45000005 */ bc1f .L802427FC +/* C634F8 802427E8 00000000 */ nop +/* C634FC 802427EC 3C0142C8 */ lui $at, 0x42c8 +/* C63500 802427F0 44810000 */ mtc1 $at, $f0 +/* C63504 802427F4 08090A03 */ j .L8024280C +/* C63508 802427F8 4600B581 */ sub.s $f22, $f22, $f0 +.L802427FC: +/* C6350C 802427FC 3C0142C8 */ lui $at, 0x42c8 +/* C63510 80242800 44810000 */ mtc1 $at, $f0 +/* C63514 80242804 00000000 */ nop +/* C63518 80242808 4600B580 */ add.s $f22, $f22, $f0 +.L8024280C: +/* C6351C 8024280C 0C00A6C9 */ jal clamp_angle +/* C63520 80242810 4600B306 */ mov.s $f12, $f22 +/* C63524 80242814 46000586 */ mov.s $f22, $f0 +/* C63528 80242818 3C014170 */ lui $at, 0x4170 +/* C6352C 8024281C 4481A000 */ mtc1 $at, $f20 +/* C63530 80242820 0C00A8BB */ jal sin_deg +/* C63534 80242824 4600B306 */ mov.s $f12, $f22 +/* C63538 80242828 46140002 */ mul.s $f0, $f0, $f20 +/* C6353C 8024282C 00000000 */ nop +/* C63540 80242830 864200B0 */ lh $v0, 0xb0($s2) +/* C63544 80242834 3C013F00 */ lui $at, 0x3f00 +/* C63548 80242838 44812000 */ mtc1 $at, $f4 +/* C6354C 8024283C 44821000 */ mtc1 $v0, $f2 +/* C63550 80242840 00000000 */ nop +/* C63554 80242844 468010A0 */ cvt.s.w $f2, $f2 +/* C63558 80242848 46041082 */ mul.s $f2, $f2, $f4 +/* C6355C 8024284C 00000000 */ nop +/* C63560 80242850 4600E700 */ add.s $f28, $f28, $f0 +/* C63564 80242854 4602D680 */ add.s $f26, $f26, $f2 +/* C63568 80242858 0C00A8D4 */ jal cos_deg +/* C6356C 8024285C 4600B306 */ mov.s $f12, $f22 +/* C63570 80242860 46140002 */ mul.s $f0, $f0, $f20 +/* C63574 80242864 00000000 */ nop +/* C63578 80242868 0220202D */ daddu $a0, $s1, $zero +/* C6357C 8024286C 0260282D */ daddu $a1, $s3, $zero +/* C63580 80242870 4600E18D */ trunc.w.s $f6, $f28 +/* C63584 80242874 44063000 */ mfc1 $a2, $f6 +/* C63588 80242878 0C0B2026 */ jal set_variable +/* C6358C 8024287C 4600C601 */ sub.s $f24, $f24, $f0 +/* C63590 80242880 0220202D */ daddu $a0, $s1, $zero +/* C63594 80242884 4600D18D */ trunc.w.s $f6, $f26 +/* C63598 80242888 44063000 */ mfc1 $a2, $f6 +/* C6359C 8024288C 0C0B2026 */ jal set_variable +/* C635A0 80242890 0280282D */ daddu $a1, $s4, $zero +/* C635A4 80242894 0220202D */ daddu $a0, $s1, $zero +/* C635A8 80242898 4600C18D */ trunc.w.s $f6, $f24 +/* C635AC 8024289C 44063000 */ mfc1 $a2, $f6 +/* C635B0 802428A0 0C0B2026 */ jal set_variable +/* C635B4 802428A4 0200282D */ daddu $a1, $s0, $zero +/* C635B8 802428A8 8FBF0024 */ lw $ra, 0x24($sp) +/* C635BC 802428AC 8FB40020 */ lw $s4, 0x20($sp) +/* C635C0 802428B0 8FB3001C */ lw $s3, 0x1c($sp) +/* C635C4 802428B4 8FB20018 */ lw $s2, 0x18($sp) +/* C635C8 802428B8 8FB10014 */ lw $s1, 0x14($sp) +/* C635CC 802428BC 8FB00010 */ lw $s0, 0x10($sp) +/* C635D0 802428C0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C635D4 802428C4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C635D8 802428C8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* C635DC 802428CC D7B60030 */ ldc1 $f22, 0x30($sp) +/* C635E0 802428D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C635E4 802428D4 24020002 */ addiu $v0, $zero, 2 +/* C635E8 802428D8 03E00008 */ jr $ra +/* C635EC 802428DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_802428E0_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_802428E0_C60D10.s new file mode 100644 index 0000000000..34a3a9aabc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_802428E0_C60D10.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428E0_C635F0 +/* C635F0 802428E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C635F4 802428E4 AFBF0010 */ sw $ra, 0x10($sp) +/* C635F8 802428E8 10A00003 */ beqz $a1, .L802428F8 +/* C635FC 802428EC 8C86000C */ lw $a2, 0xc($a0) +/* C63600 802428F0 3C018024 */ lui $at, 0x8024 +/* C63604 802428F4 AC204204 */ sw $zero, 0x4204($at) +.L802428F8: +/* C63608 802428F8 3C038024 */ lui $v1, 0x8024 +/* C6360C 802428FC 24634204 */ addiu $v1, $v1, 0x4204 +/* C63610 80242900 8C620000 */ lw $v0, ($v1) +/* C63614 80242904 54400003 */ bnel $v0, $zero, .L80242914 +/* C63618 80242908 AC600000 */ sw $zero, ($v1) +/* C6361C 8024290C 08090A4A */ j .L80242928 +/* C63620 80242910 0000102D */ daddu $v0, $zero, $zero +.L80242914: +/* C63624 80242914 8CC50000 */ lw $a1, ($a2) +/* C63628 80242918 3C068024 */ lui $a2, 0x8024 +/* C6362C 8024291C 0C0B2026 */ jal set_variable +/* C63630 80242920 8CC64208 */ lw $a2, 0x4208($a2) +/* C63634 80242924 24020002 */ addiu $v0, $zero, 2 +.L80242928: +/* C63638 80242928 8FBF0010 */ lw $ra, 0x10($sp) +/* C6363C 8024292C 03E00008 */ jr $ra +/* C63640 80242930 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242934.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242934.s new file mode 100644 index 0000000000..c75df5cd74 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242934.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242934 +/* C63644 80242934 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C63648 80242938 AFBF0010 */ sw $ra, 0x10($sp) +/* C6364C 8024293C 8C82000C */ lw $v0, 0xc($a0) +/* C63650 80242940 0C0B1EAF */ jal get_variable +/* C63654 80242944 8C450000 */ lw $a1, ($v0) +/* C63658 80242948 3C018024 */ lui $at, 0x8024 +/* C6365C 8024294C AC224208 */ sw $v0, 0x4208($at) +/* C63660 80242950 24020002 */ addiu $v0, $zero, 2 +/* C63664 80242954 8FBF0010 */ lw $ra, 0x10($sp) +/* C63668 80242958 24030001 */ addiu $v1, $zero, 1 +/* C6366C 8024295C 3C018024 */ lui $at, 0x8024 +/* C63670 80242960 AC234204 */ sw $v1, 0x4204($at) +/* C63674 80242964 03E00008 */ jr $ra +/* C63678 80242968 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_8024296C.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024296C.s new file mode 100644 index 0000000000..5ab5be84d5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_8024296C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024296C +/* C6367C 8024296C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C63680 80242970 AFBF0010 */ sw $ra, 0x10($sp) +/* C63684 80242974 8C82000C */ lw $v0, 0xc($a0) +/* C63688 80242978 0C0B1EAF */ jal get_variable +/* C6368C 8024297C 8C450000 */ lw $a1, ($v0) +/* C63690 80242980 0040182D */ daddu $v1, $v0, $zero +/* C63694 80242984 10600012 */ beqz $v1, .L802429D0 +/* C63698 80242988 0000202D */ daddu $a0, $zero, $zero +/* C6369C 8024298C 8C620000 */ lw $v0, ($v1) +/* C636A0 80242990 5040000A */ beql $v0, $zero, .L802429BC +/* C636A4 80242994 00041080 */ sll $v0, $a0, 2 +/* C636A8 80242998 3C058024 */ lui $a1, 0x8024 +/* C636AC 8024299C 24A57420 */ addiu $a1, $a1, 0x7420 +.L802429A0: +/* C636B0 802429A0 24630004 */ addiu $v1, $v1, 4 +/* C636B4 802429A4 24840001 */ addiu $a0, $a0, 1 +/* C636B8 802429A8 ACA20000 */ sw $v0, ($a1) +/* C636BC 802429AC 8C620000 */ lw $v0, ($v1) +/* C636C0 802429B0 1440FFFB */ bnez $v0, .L802429A0 +/* C636C4 802429B4 24A50004 */ addiu $a1, $a1, 4 +/* C636C8 802429B8 00041080 */ sll $v0, $a0, 2 +.L802429BC: +/* C636CC 802429BC 3C018024 */ lui $at, 0x8024 +/* C636D0 802429C0 00220821 */ addu $at, $at, $v0 +/* C636D4 802429C4 AC207420 */ sw $zero, 0x7420($at) +/* C636D8 802429C8 08090A7E */ j .L802429F8 +/* C636DC 802429CC 00000000 */ nop +.L802429D0: +/* C636E0 802429D0 3C038024 */ lui $v1, 0x8024 +/* C636E4 802429D4 24637420 */ addiu $v1, $v1, 0x7420 +/* C636E8 802429D8 0060282D */ daddu $a1, $v1, $zero +.L802429DC: +/* C636EC 802429DC 24820010 */ addiu $v0, $a0, 0x10 +/* C636F0 802429E0 AC620000 */ sw $v0, ($v1) +/* C636F4 802429E4 24630004 */ addiu $v1, $v1, 4 +/* C636F8 802429E8 24840001 */ addiu $a0, $a0, 1 +/* C636FC 802429EC 28820070 */ slti $v0, $a0, 0x70 +/* C63700 802429F0 1440FFFA */ bnez $v0, .L802429DC +/* C63704 802429F4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802429F8: +/* C63708 802429F8 8FBF0010 */ lw $ra, 0x10($sp) +/* C6370C 802429FC 24020002 */ addiu $v0, $zero, 2 +/* C63710 80242A00 03E00008 */ jr $ra +/* C63714 80242A04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242A08.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242A08.s new file mode 100644 index 0000000000..41379980e2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242A08.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A08 +/* C63718 80242A08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C6371C 80242A0C AFB10014 */ sw $s1, 0x14($sp) +/* C63720 80242A10 0080882D */ daddu $s1, $a0, $zero +/* C63724 80242A14 AFBF0018 */ sw $ra, 0x18($sp) +/* C63728 80242A18 AFB00010 */ sw $s0, 0x10($sp) +/* C6372C 80242A1C 8E30000C */ lw $s0, 0xc($s1) +/* C63730 80242A20 8E050000 */ lw $a1, ($s0) +/* C63734 80242A24 0C0B1EAF */ jal get_variable +/* C63738 80242A28 26100004 */ addiu $s0, $s0, 4 +/* C6373C 80242A2C AE22008C */ sw $v0, 0x8c($s1) +/* C63740 80242A30 8E050000 */ lw $a1, ($s0) +/* C63744 80242A34 26100004 */ addiu $s0, $s0, 4 +/* C63748 80242A38 0C0B1EAF */ jal get_variable +/* C6374C 80242A3C 0220202D */ daddu $a0, $s1, $zero +/* C63750 80242A40 AE220090 */ sw $v0, 0x90($s1) +/* C63754 80242A44 8E050000 */ lw $a1, ($s0) +/* C63758 80242A48 26100004 */ addiu $s0, $s0, 4 +/* C6375C 80242A4C 0C0B1EAF */ jal get_variable +/* C63760 80242A50 0220202D */ daddu $a0, $s1, $zero +/* C63764 80242A54 AE220094 */ sw $v0, 0x94($s1) +/* C63768 80242A58 8E050000 */ lw $a1, ($s0) +/* C6376C 80242A5C 26100004 */ addiu $s0, $s0, 4 +/* C63770 80242A60 0C0B1EAF */ jal get_variable +/* C63774 80242A64 0220202D */ daddu $a0, $s1, $zero +/* C63778 80242A68 AE220098 */ sw $v0, 0x98($s1) +/* C6377C 80242A6C 8E050000 */ lw $a1, ($s0) +/* C63780 80242A70 26100004 */ addiu $s0, $s0, 4 +/* C63784 80242A74 0C0B1EAF */ jal get_variable +/* C63788 80242A78 0220202D */ daddu $a0, $s1, $zero +/* C6378C 80242A7C AE22009C */ sw $v0, 0x9c($s1) +/* C63790 80242A80 8E050000 */ lw $a1, ($s0) +/* C63794 80242A84 26100004 */ addiu $s0, $s0, 4 +/* C63798 80242A88 0C0B1EAF */ jal get_variable +/* C6379C 80242A8C 0220202D */ daddu $a0, $s1, $zero +/* C637A0 80242A90 AE2200A0 */ sw $v0, 0xa0($s1) +/* C637A4 80242A94 8E050000 */ lw $a1, ($s0) +/* C637A8 80242A98 26100004 */ addiu $s0, $s0, 4 +/* C637AC 80242A9C 0C0B1EAF */ jal get_variable +/* C637B0 80242AA0 0220202D */ daddu $a0, $s1, $zero +/* C637B4 80242AA4 AE2200A4 */ sw $v0, 0xa4($s1) +/* C637B8 80242AA8 8E050000 */ lw $a1, ($s0) +/* C637BC 80242AAC 26100004 */ addiu $s0, $s0, 4 +/* C637C0 80242AB0 0C0B1EAF */ jal get_variable +/* C637C4 80242AB4 0220202D */ daddu $a0, $s1, $zero +/* C637C8 80242AB8 AE2200A8 */ sw $v0, 0xa8($s1) +/* C637CC 80242ABC 8E050000 */ lw $a1, ($s0) +/* C637D0 80242AC0 26100004 */ addiu $s0, $s0, 4 +/* C637D4 80242AC4 0C0B1EAF */ jal get_variable +/* C637D8 80242AC8 0220202D */ daddu $a0, $s1, $zero +/* C637DC 80242ACC AE2200AC */ sw $v0, 0xac($s1) +/* C637E0 80242AD0 8E050000 */ lw $a1, ($s0) +/* C637E4 80242AD4 0C0B1EAF */ jal get_variable +/* C637E8 80242AD8 0220202D */ daddu $a0, $s1, $zero +/* C637EC 80242ADC AE2200B0 */ sw $v0, 0xb0($s1) +/* C637F0 80242AE0 8FBF0018 */ lw $ra, 0x18($sp) +/* C637F4 80242AE4 8FB10014 */ lw $s1, 0x14($sp) +/* C637F8 80242AE8 8FB00010 */ lw $s0, 0x10($sp) +/* C637FC 80242AEC 24020002 */ addiu $v0, $zero, 2 +/* C63800 80242AF0 03E00008 */ jr $ra +/* C63804 80242AF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242AF8_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242AF8_C60D10.s new file mode 100644 index 0000000000..6a24ca7607 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242AF8_C60D10.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AF8_C63808 +/* C63808 80242AF8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C6380C 80242AFC AFB1001C */ sw $s1, 0x1c($sp) +/* C63810 80242B00 0080882D */ daddu $s1, $a0, $zero +/* C63814 80242B04 AFBF0034 */ sw $ra, 0x34($sp) +/* C63818 80242B08 AFB60030 */ sw $s6, 0x30($sp) +/* C6381C 80242B0C AFB5002C */ sw $s5, 0x2c($sp) +/* C63820 80242B10 AFB40028 */ sw $s4, 0x28($sp) +/* C63824 80242B14 AFB30024 */ sw $s3, 0x24($sp) +/* C63828 80242B18 AFB20020 */ sw $s2, 0x20($sp) +/* C6382C 80242B1C AFB00018 */ sw $s0, 0x18($sp) +/* C63830 80242B20 F7B60040 */ sdc1 $f22, 0x40($sp) +/* C63834 80242B24 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C63838 80242B28 8E30000C */ lw $s0, 0xc($s1) +/* C6383C 80242B2C 8E160000 */ lw $s6, ($s0) +/* C63840 80242B30 26100004 */ addiu $s0, $s0, 4 +/* C63844 80242B34 0C0B1EAF */ jal get_variable +/* C63848 80242B38 02C0282D */ daddu $a1, $s6, $zero +/* C6384C 80242B3C 44820000 */ mtc1 $v0, $f0 +/* C63850 80242B40 00000000 */ nop +/* C63854 80242B44 46800020 */ cvt.s.w $f0, $f0 +/* C63858 80242B48 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6385C 80242B4C 8E140000 */ lw $s4, ($s0) +/* C63860 80242B50 26100004 */ addiu $s0, $s0, 4 +/* C63864 80242B54 0220202D */ daddu $a0, $s1, $zero +/* C63868 80242B58 0C0B1EAF */ jal get_variable +/* C6386C 80242B5C 0280282D */ daddu $a1, $s4, $zero +/* C63870 80242B60 0220202D */ daddu $a0, $s1, $zero +/* C63874 80242B64 8E150000 */ lw $s5, ($s0) +/* C63878 80242B68 4482B000 */ mtc1 $v0, $f22 +/* C6387C 80242B6C 00000000 */ nop +/* C63880 80242B70 4680B5A0 */ cvt.s.w $f22, $f22 +/* C63884 80242B74 0C0B1EAF */ jal get_variable +/* C63888 80242B78 02A0282D */ daddu $a1, $s5, $zero +/* C6388C 80242B7C 2404FFFC */ addiu $a0, $zero, -4 +/* C63890 80242B80 44820000 */ mtc1 $v0, $f0 +/* C63894 80242B84 00000000 */ nop +/* C63898 80242B88 46800020 */ cvt.s.w $f0, $f0 +/* C6389C 80242B8C 0C00EABB */ jal get_npc_unsafe +/* C638A0 80242B90 E7A00014 */ swc1 $f0, 0x14($sp) +/* C638A4 80242B94 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C638A8 80242B98 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C638AC 80242B9C 3C014334 */ lui $at, 0x4334 +/* C638B0 80242BA0 44816000 */ mtc1 $at, $f12 +/* C638B4 80242BA4 00041880 */ sll $v1, $a0, 2 +/* C638B8 80242BA8 00641821 */ addu $v1, $v1, $a0 +/* C638BC 80242BAC 00031880 */ sll $v1, $v1, 2 +/* C638C0 80242BB0 00641823 */ subu $v1, $v1, $a0 +/* C638C4 80242BB4 000320C0 */ sll $a0, $v1, 3 +/* C638C8 80242BB8 00641821 */ addu $v1, $v1, $a0 +/* C638CC 80242BBC 000318C0 */ sll $v1, $v1, 3 +/* C638D0 80242BC0 3C01800B */ lui $at, 0x800b +/* C638D4 80242BC4 00230821 */ addu $at, $at, $v1 +/* C638D8 80242BC8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C638DC 80242BCC 460C0300 */ add.s $f12, $f0, $f12 +/* C638E0 80242BD0 0C00A6C9 */ jal clamp_angle +/* C638E4 80242BD4 0040982D */ daddu $s3, $v0, $zero +/* C638E8 80242BD8 27B00010 */ addiu $s0, $sp, 0x10 +/* C638EC 80242BDC 0200202D */ daddu $a0, $s0, $zero +/* C638F0 80242BE0 27B20014 */ addiu $s2, $sp, 0x14 +/* C638F4 80242BE4 0240282D */ daddu $a1, $s2, $zero +/* C638F8 80242BE8 3C064170 */ lui $a2, 0x4170 +/* C638FC 80242BEC 8E67000C */ lw $a3, 0xc($s3) +/* C63900 80242BF0 0C00A7E7 */ jal add_vec2D_polar +/* C63904 80242BF4 46000506 */ mov.s $f20, $f0 +/* C63908 80242BF8 0200202D */ daddu $a0, $s0, $zero +/* C6390C 80242BFC 3C064120 */ lui $a2, 0x4120 +/* C63910 80242C00 4407A000 */ mfc1 $a3, $f20 +/* C63914 80242C04 0C00A7E7 */ jal add_vec2D_polar +/* C63918 80242C08 0240282D */ daddu $a1, $s2, $zero +/* C6391C 80242C0C 0220202D */ daddu $a0, $s1, $zero +/* C63920 80242C10 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C63924 80242C14 4600008D */ trunc.w.s $f2, $f0 +/* C63928 80242C18 44061000 */ mfc1 $a2, $f2 +/* C6392C 80242C1C 0C0B2026 */ jal set_variable +/* C63930 80242C20 02C0282D */ daddu $a1, $s6, $zero +/* C63934 80242C24 0220202D */ daddu $a0, $s1, $zero +/* C63938 80242C28 4600B08D */ trunc.w.s $f2, $f22 +/* C6393C 80242C2C 44061000 */ mfc1 $a2, $f2 +/* C63940 80242C30 0C0B2026 */ jal set_variable +/* C63944 80242C34 0280282D */ daddu $a1, $s4, $zero +/* C63948 80242C38 0220202D */ daddu $a0, $s1, $zero +/* C6394C 80242C3C C7A00014 */ lwc1 $f0, 0x14($sp) +/* C63950 80242C40 4600008D */ trunc.w.s $f2, $f0 +/* C63954 80242C44 44061000 */ mfc1 $a2, $f2 +/* C63958 80242C48 0C0B2026 */ jal set_variable +/* C6395C 80242C4C 02A0282D */ daddu $a1, $s5, $zero +/* C63960 80242C50 8FBF0034 */ lw $ra, 0x34($sp) +/* C63964 80242C54 8FB60030 */ lw $s6, 0x30($sp) +/* C63968 80242C58 8FB5002C */ lw $s5, 0x2c($sp) +/* C6396C 80242C5C 8FB40028 */ lw $s4, 0x28($sp) +/* C63970 80242C60 8FB30024 */ lw $s3, 0x24($sp) +/* C63974 80242C64 8FB20020 */ lw $s2, 0x20($sp) +/* C63978 80242C68 8FB1001C */ lw $s1, 0x1c($sp) +/* C6397C 80242C6C 8FB00018 */ lw $s0, 0x18($sp) +/* C63980 80242C70 D7B60040 */ ldc1 $f22, 0x40($sp) +/* C63984 80242C74 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C63988 80242C78 24020002 */ addiu $v0, $zero, 2 +/* C6398C 80242C7C 03E00008 */ jr $ra +/* C63990 80242C80 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242C84.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242C84.s new file mode 100644 index 0000000000..ca84cae498 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242C84.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C84 +/* C63994 80242C84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C63998 80242C88 AFB00010 */ sw $s0, 0x10($sp) +/* C6399C 80242C8C 0080802D */ daddu $s0, $a0, $zero +/* C639A0 80242C90 AFBF0014 */ sw $ra, 0x14($sp) +/* C639A4 80242C94 0C00EABB */ jal get_npc_unsafe +/* C639A8 80242C98 8E04008C */ lw $a0, 0x8c($s0) +/* C639AC 80242C9C 0040282D */ daddu $a1, $v0, $zero +/* C639B0 80242CA0 8E040094 */ lw $a0, 0x94($s0) +/* C639B4 80242CA4 8CA30028 */ lw $v1, 0x28($a1) +/* C639B8 80242CA8 ACA40028 */ sw $a0, 0x28($a1) +/* C639BC 80242CAC 8FBF0014 */ lw $ra, 0x14($sp) +/* C639C0 80242CB0 8FB00010 */ lw $s0, 0x10($sp) +/* C639C4 80242CB4 24020002 */ addiu $v0, $zero, 2 +/* C639C8 80242CB8 3C018024 */ lui $at, 0x8024 +/* C639CC 80242CBC AC2375E4 */ sw $v1, 0x75e4($at) +/* C639D0 80242CC0 03E00008 */ jr $ra +/* C639D4 80242CC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242CC8.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242CC8.s new file mode 100644 index 0000000000..2ae495c172 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242CC8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CC8 +/* C639D8 80242CC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C639DC 80242CCC AFBF0010 */ sw $ra, 0x10($sp) +/* C639E0 80242CD0 0C00EABB */ jal get_npc_unsafe +/* C639E4 80242CD4 8C84008C */ lw $a0, 0x8c($a0) +/* C639E8 80242CD8 3C038024 */ lui $v1, 0x8024 +/* C639EC 80242CDC 8C6375E4 */ lw $v1, 0x75e4($v1) +/* C639F0 80242CE0 AC430028 */ sw $v1, 0x28($v0) +/* C639F4 80242CE4 8FBF0010 */ lw $ra, 0x10($sp) +/* C639F8 80242CE8 24020002 */ addiu $v0, $zero, 2 +/* C639FC 80242CEC 03E00008 */ jr $ra +/* C63A00 80242CF0 27BD0018 */ addiu $sp, $sp, 0x18 +/* C63A04 80242CF4 00000000 */ nop +/* C63A08 80242CF8 00000000 */ nop +/* C63A0C 80242CFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D00_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D00_C60D10.s new file mode 100644 index 0000000000..bd9af1c337 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D00_C60D10.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D00_C63A10 +/* C63A10 80242D00 3C03800B */ lui $v1, %hi(gCameras) +/* C63A14 80242D04 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* C63A18 80242D08 94620002 */ lhu $v0, 2($v1) +/* C63A1C 80242D0C 3042FFFE */ andi $v0, $v0, 0xfffe +/* C63A20 80242D10 A4620002 */ sh $v0, 2($v1) +/* C63A24 80242D14 03E00008 */ jr $ra +/* C63A28 80242D18 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D1C.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D1C.s new file mode 100644 index 0000000000..ddf2383f7d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D1C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D1C +/* C63A2C 80242D1C 3C03800B */ lui $v1, %hi(gCameras) +/* C63A30 80242D20 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* C63A34 80242D24 94620002 */ lhu $v0, 2($v1) +/* C63A38 80242D28 34420001 */ ori $v0, $v0, 1 +/* C63A3C 80242D2C A4620002 */ sh $v0, 2($v1) +/* C63A40 80242D30 03E00008 */ jr $ra +/* C63A44 80242D34 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D38.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D38.s new file mode 100644 index 0000000000..a9bb1e6c30 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242D38.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D38 +/* C63A48 80242D38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C63A4C 80242D3C 3C028011 */ lui $v0, 0x8011 +/* C63A50 80242D40 8442EFE0 */ lh $v0, -0x1020($v0) +/* C63A54 80242D44 3C014089 */ lui $at, 0x4089 +/* C63A58 80242D48 44810800 */ mtc1 $at, $f1 +/* C63A5C 80242D4C 44800000 */ mtc1 $zero, $f0 +/* C63A60 80242D50 2406FFFF */ addiu $a2, $zero, -1 +/* C63A64 80242D54 44821000 */ mtc1 $v0, $f2 +/* C63A68 80242D58 00000000 */ nop +/* C63A6C 80242D5C 468010A1 */ cvt.d.w $f2, $f2 +/* C63A70 80242D60 4622003C */ c.lt.d $f0, $f2 +/* C63A74 80242D64 00000000 */ nop +/* C63A78 80242D68 45000002 */ bc1f .L80242D74 +/* C63A7C 80242D6C AFBF0010 */ sw $ra, 0x10($sp) +/* C63A80 80242D70 0000302D */ daddu $a2, $zero, $zero +.L80242D74: +/* C63A84 80242D74 3C018024 */ lui $at, 0x8024 +/* C63A88 80242D78 D4207410 */ ldc1 $f0, 0x7410($at) +/* C63A8C 80242D7C 4620103C */ c.lt.d $f2, $f0 +/* C63A90 80242D80 00000000 */ nop +/* C63A94 80242D84 45030001 */ bc1tl .L80242D8C +/* C63A98 80242D88 24060001 */ addiu $a2, $zero, 1 +.L80242D8C: +/* C63A9C 80242D8C 04C00004 */ bltz $a2, .L80242DA0 +/* C63AA0 80242D90 00000000 */ nop +/* C63AA4 80242D94 3C05FD05 */ lui $a1, 0xfd05 +/* C63AA8 80242D98 0C0B2026 */ jal set_variable +/* C63AAC 80242D9C 34A50F89 */ ori $a1, $a1, 0xf89 +.L80242DA0: +/* C63AB0 80242DA0 8FBF0010 */ lw $ra, 0x10($sp) +/* C63AB4 80242DA4 0000102D */ daddu $v0, $zero, $zero +/* C63AB8 80242DA8 03E00008 */ jr $ra +/* C63ABC 80242DAC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242DB0_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242DB0_C60D10.s new file mode 100644 index 0000000000..41f01d91c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242DB0_C60D10.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DB0_C63AC0 +/* C63AC0 80242DB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C63AC4 80242DB4 AFB1001C */ sw $s1, 0x1c($sp) +/* C63AC8 80242DB8 0080882D */ daddu $s1, $a0, $zero +/* C63ACC 80242DBC AFBF0020 */ sw $ra, 0x20($sp) +/* C63AD0 80242DC0 AFB00018 */ sw $s0, 0x18($sp) +/* C63AD4 80242DC4 8E30000C */ lw $s0, 0xc($s1) +/* C63AD8 80242DC8 8E020000 */ lw $v0, ($s0) +/* C63ADC 80242DCC 1040001B */ beqz $v0, .L80242E3C +/* C63AE0 80242DD0 26100004 */ addiu $s0, $s0, 4 +/* C63AE4 80242DD4 8E050000 */ lw $a1, ($s0) +/* C63AE8 80242DD8 0C0B1EAF */ jal get_variable +/* C63AEC 80242DDC 26100004 */ addiu $s0, $s0, 4 +/* C63AF0 80242DE0 AE220070 */ sw $v0, 0x70($s1) +/* C63AF4 80242DE4 8E050000 */ lw $a1, ($s0) +/* C63AF8 80242DE8 26100004 */ addiu $s0, $s0, 4 +/* C63AFC 80242DEC 0C0B1EAF */ jal get_variable +/* C63B00 80242DF0 0220202D */ daddu $a0, $s1, $zero +/* C63B04 80242DF4 AE220074 */ sw $v0, 0x74($s1) +/* C63B08 80242DF8 8E050000 */ lw $a1, ($s0) +/* C63B0C 80242DFC 0C0B1EAF */ jal get_variable +/* C63B10 80242E00 0220202D */ daddu $a0, $s1, $zero +/* C63B14 80242E04 24040168 */ addiu $a0, $zero, 0x168 +/* C63B18 80242E08 0000282D */ daddu $a1, $zero, $zero +/* C63B1C 80242E0C C6200070 */ lwc1 $f0, 0x70($s1) +/* C63B20 80242E10 46800020 */ cvt.s.w $f0, $f0 +/* C63B24 80242E14 C6220074 */ lwc1 $f2, 0x74($s1) +/* C63B28 80242E18 468010A0 */ cvt.s.w $f2, $f2 +/* C63B2C 80242E1C 44060000 */ mfc1 $a2, $f0 +/* C63B30 80242E20 44071000 */ mfc1 $a3, $f2 +/* C63B34 80242E24 44820000 */ mtc1 $v0, $f0 +/* C63B38 80242E28 00000000 */ nop +/* C63B3C 80242E2C 46800020 */ cvt.s.w $f0, $f0 +/* C63B40 80242E30 AE220078 */ sw $v0, 0x78($s1) +/* C63B44 80242E34 0C05267B */ jal func_801499EC +/* C63B48 80242E38 E7A00010 */ swc1 $f0, 0x10($sp) +.L80242E3C: +/* C63B4C 80242E3C 8FBF0020 */ lw $ra, 0x20($sp) +/* C63B50 80242E40 8FB1001C */ lw $s1, 0x1c($sp) +/* C63B54 80242E44 8FB00018 */ lw $s0, 0x18($sp) +/* C63B58 80242E48 24020002 */ addiu $v0, $zero, 2 +/* C63B5C 80242E4C 03E00008 */ jr $ra +/* C63B60 80242E50 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242E54.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242E54.s new file mode 100644 index 0000000000..2c10959531 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242E54.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E54 +/* C63B64 80242E54 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C63B68 80242E58 AFB1001C */ sw $s1, 0x1c($sp) +/* C63B6C 80242E5C 0080882D */ daddu $s1, $a0, $zero +/* C63B70 80242E60 AFBF0020 */ sw $ra, 0x20($sp) +/* C63B74 80242E64 AFB00018 */ sw $s0, 0x18($sp) +/* C63B78 80242E68 8E30000C */ lw $s0, 0xc($s1) +/* C63B7C 80242E6C 8E020000 */ lw $v0, ($s0) +/* C63B80 80242E70 1040001B */ beqz $v0, .L80242EE0 +/* C63B84 80242E74 26100004 */ addiu $s0, $s0, 4 +/* C63B88 80242E78 8E050000 */ lw $a1, ($s0) +/* C63B8C 80242E7C 0C0B1EAF */ jal get_variable +/* C63B90 80242E80 26100004 */ addiu $s0, $s0, 4 +/* C63B94 80242E84 AE220070 */ sw $v0, 0x70($s1) +/* C63B98 80242E88 8E050000 */ lw $a1, ($s0) +/* C63B9C 80242E8C 26100004 */ addiu $s0, $s0, 4 +/* C63BA0 80242E90 0C0B1EAF */ jal get_variable +/* C63BA4 80242E94 0220202D */ daddu $a0, $s1, $zero +/* C63BA8 80242E98 AE220074 */ sw $v0, 0x74($s1) +/* C63BAC 80242E9C 8E050000 */ lw $a1, ($s0) +/* C63BB0 80242EA0 0C0B1EAF */ jal get_variable +/* C63BB4 80242EA4 0220202D */ daddu $a0, $s1, $zero +/* C63BB8 80242EA8 24040185 */ addiu $a0, $zero, 0x185 +/* C63BBC 80242EAC 0000282D */ daddu $a1, $zero, $zero +/* C63BC0 80242EB0 C6200070 */ lwc1 $f0, 0x70($s1) +/* C63BC4 80242EB4 46800020 */ cvt.s.w $f0, $f0 +/* C63BC8 80242EB8 C6220074 */ lwc1 $f2, 0x74($s1) +/* C63BCC 80242EBC 468010A0 */ cvt.s.w $f2, $f2 +/* C63BD0 80242EC0 44060000 */ mfc1 $a2, $f0 +/* C63BD4 80242EC4 44071000 */ mfc1 $a3, $f2 +/* C63BD8 80242EC8 44820000 */ mtc1 $v0, $f0 +/* C63BDC 80242ECC 00000000 */ nop +/* C63BE0 80242ED0 46800020 */ cvt.s.w $f0, $f0 +/* C63BE4 80242ED4 AE220078 */ sw $v0, 0x78($s1) +/* C63BE8 80242ED8 0C05267B */ jal func_801499EC +/* C63BEC 80242EDC E7A00010 */ swc1 $f0, 0x10($sp) +.L80242EE0: +/* C63BF0 80242EE0 8FBF0020 */ lw $ra, 0x20($sp) +/* C63BF4 80242EE4 8FB1001C */ lw $s1, 0x1c($sp) +/* C63BF8 80242EE8 8FB00018 */ lw $s0, 0x18($sp) +/* C63BFC 80242EEC 24020002 */ addiu $v0, $zero, 2 +/* C63C00 80242EF0 03E00008 */ jr $ra +/* C63C04 80242EF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80242EF8_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242EF8_C60D10.s new file mode 100644 index 0000000000..8efba89304 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80242EF8_C60D10.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EF8_C63C08 +/* C63C08 80242EF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C63C0C 80242EFC AFB10014 */ sw $s1, 0x14($sp) +/* C63C10 80242F00 0080882D */ daddu $s1, $a0, $zero +/* C63C14 80242F04 AFBF001C */ sw $ra, 0x1c($sp) +/* C63C18 80242F08 AFB20018 */ sw $s2, 0x18($sp) +/* C63C1C 80242F0C AFB00010 */ sw $s0, 0x10($sp) +/* C63C20 80242F10 8E22000C */ lw $v0, 0xc($s1) +/* C63C24 80242F14 0C0B1EAF */ jal get_variable +/* C63C28 80242F18 8C450000 */ lw $a1, ($v0) +/* C63C2C 80242F1C 8E23013C */ lw $v1, 0x13c($s1) +/* C63C30 80242F20 8C720000 */ lw $s2, ($v1) +/* C63C34 80242F24 C646000C */ lwc1 $f6, 0xc($s2) +/* C63C38 80242F28 C6400000 */ lwc1 $f0, ($s2) +/* C63C3C 80242F2C 46003181 */ sub.s $f6, $f6, $f0 +/* C63C40 80242F30 3C01447A */ lui $at, 0x447a +/* C63C44 80242F34 44814000 */ mtc1 $at, $f8 +/* C63C48 80242F38 C6200084 */ lwc1 $f0, 0x84($s1) +/* C63C4C 80242F3C 46800020 */ cvt.s.w $f0, $f0 +/* C63C50 80242F40 46083183 */ div.s $f6, $f6, $f8 +/* C63C54 80242F44 46003182 */ mul.s $f6, $f6, $f0 +/* C63C58 80242F48 00000000 */ nop +/* C63C5C 80242F4C C6440010 */ lwc1 $f4, 0x10($s2) +/* C63C60 80242F50 C6420004 */ lwc1 $f2, 4($s2) +/* C63C64 80242F54 46022101 */ sub.s $f4, $f4, $f2 +/* C63C68 80242F58 C6420008 */ lwc1 $f2, 8($s2) +/* C63C6C 80242F5C C6400014 */ lwc1 $f0, 0x14($s2) +/* C63C70 80242F60 46020001 */ sub.s $f0, $f0, $f2 +/* C63C74 80242F64 46082103 */ div.s $f4, $f4, $f8 +/* C63C78 80242F68 C6220084 */ lwc1 $f2, 0x84($s1) +/* C63C7C 80242F6C 468010A0 */ cvt.s.w $f2, $f2 +/* C63C80 80242F70 46022102 */ mul.s $f4, $f4, $f2 +/* C63C84 80242F74 00000000 */ nop +/* C63C88 80242F78 46080003 */ div.s $f0, $f0, $f8 +/* C63C8C 80242F7C 46020002 */ mul.s $f0, $f0, $f2 +/* C63C90 80242F80 00000000 */ nop +/* C63C94 80242F84 4600328D */ trunc.w.s $f10, $f6 +/* C63C98 80242F88 E62A0098 */ swc1 $f10, 0x98($s1) +/* C63C9C 80242F8C 4600228D */ trunc.w.s $f10, $f4 +/* C63CA0 80242F90 E62A009C */ swc1 $f10, 0x9c($s1) +/* C63CA4 80242F94 4600028D */ trunc.w.s $f10, $f0 +/* C63CA8 80242F98 1440002E */ bnez $v0, .L80243054 +/* C63CAC 80242F9C E62A00A0 */ swc1 $f10, 0xa0($s1) +/* C63CB0 80242FA0 0C00EAD2 */ jal get_npc_safe +/* C63CB4 80242FA4 2404FFFC */ addiu $a0, $zero, -4 +/* C63CB8 80242FA8 8E23008C */ lw $v1, 0x8c($s1) +/* C63CBC 80242FAC 8E240098 */ lw $a0, 0x98($s1) +/* C63CC0 80242FB0 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* C63CC4 80242FB4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* C63CC8 80242FB8 00641821 */ addu $v1, $v1, $a0 +/* C63CCC 80242FBC 44830000 */ mtc1 $v1, $f0 +/* C63CD0 80242FC0 00000000 */ nop +/* C63CD4 80242FC4 46800020 */ cvt.s.w $f0, $f0 +/* C63CD8 80242FC8 E6000028 */ swc1 $f0, 0x28($s0) +/* C63CDC 80242FCC 8E230090 */ lw $v1, 0x90($s1) +/* C63CE0 80242FD0 8E24009C */ lw $a0, 0x9c($s1) +/* C63CE4 80242FD4 00641821 */ addu $v1, $v1, $a0 +/* C63CE8 80242FD8 44830000 */ mtc1 $v1, $f0 +/* C63CEC 80242FDC 00000000 */ nop +/* C63CF0 80242FE0 46800020 */ cvt.s.w $f0, $f0 +/* C63CF4 80242FE4 E600002C */ swc1 $f0, 0x2c($s0) +/* C63CF8 80242FE8 8E230094 */ lw $v1, 0x94($s1) +/* C63CFC 80242FEC 8E2400A0 */ lw $a0, 0xa0($s1) +/* C63D00 80242FF0 00641821 */ addu $v1, $v1, $a0 +/* C63D04 80242FF4 44830000 */ mtc1 $v1, $f0 +/* C63D08 80242FF8 00000000 */ nop +/* C63D0C 80242FFC 46800020 */ cvt.s.w $f0, $f0 +/* C63D10 80243000 E6000030 */ swc1 $f0, 0x30($s0) +/* C63D14 80243004 C64C0000 */ lwc1 $f12, ($s2) +/* C63D18 80243008 C64E0008 */ lwc1 $f14, 8($s2) +/* C63D1C 8024300C 8E46000C */ lw $a2, 0xc($s2) +/* C63D20 80243010 8E470014 */ lw $a3, 0x14($s2) +/* C63D24 80243014 0C00A720 */ jal atan2 +/* C63D28 80243018 0040882D */ daddu $s1, $v0, $zero +/* C63D2C 8024301C C6020028 */ lwc1 $f2, 0x28($s0) +/* C63D30 80243020 E6000080 */ swc1 $f0, 0x80($s0) +/* C63D34 80243024 E6220038 */ swc1 $f2, 0x38($s1) +/* C63D38 80243028 C600002C */ lwc1 $f0, 0x2c($s0) +/* C63D3C 8024302C 3C014120 */ lui $at, 0x4120 +/* C63D40 80243030 44811000 */ mtc1 $at, $f2 +/* C63D44 80243034 00000000 */ nop +/* C63D48 80243038 46020001 */ sub.s $f0, $f0, $f2 +/* C63D4C 8024303C 3C0140A0 */ lui $at, 0x40a0 +/* C63D50 80243040 44811000 */ mtc1 $at, $f2 +/* C63D54 80243044 E620003C */ swc1 $f0, 0x3c($s1) +/* C63D58 80243048 C6000030 */ lwc1 $f0, 0x30($s0) +/* C63D5C 8024304C 46020001 */ sub.s $f0, $f0, $f2 +/* C63D60 80243050 E6200040 */ swc1 $f0, 0x40($s1) +.L80243054: +/* C63D64 80243054 8FBF001C */ lw $ra, 0x1c($sp) +/* C63D68 80243058 8FB20018 */ lw $s2, 0x18($sp) +/* C63D6C 8024305C 8FB10014 */ lw $s1, 0x14($sp) +/* C63D70 80243060 8FB00010 */ lw $s0, 0x10($sp) +/* C63D74 80243064 24020002 */ addiu $v0, $zero, 2 +/* C63D78 80243068 03E00008 */ jr $ra +/* C63D7C 8024306C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_03/func_80243070_C60D10.s b/asm/nonmatchings/world/area_kzn/kzn_03/func_80243070_C60D10.s new file mode 100644 index 0000000000..a3d787634b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_03/func_80243070_C60D10.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243070_C63D80 +/* C63D80 80243070 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* C63D84 80243074 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* C63D88 80243078 8C420010 */ lw $v0, 0x10($v0) +/* C63D8C 8024307C 30428000 */ andi $v0, $v0, 0x8000 +/* C63D90 80243080 AC8200A4 */ sw $v0, 0xa4($a0) +/* C63D94 80243084 03E00008 */ jr $ra +/* C63D98 80243088 24020002 */ addiu $v0, $zero, 2 +/* C63D9C 8024308C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240000_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240000_C68130.s new file mode 100644 index 0000000000..88f930d32f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240000_C68130.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C68130 +/* C68130 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68134 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C68138 80240008 0080802D */ daddu $s0, $a0, $zero +/* C6813C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C68140 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C68144 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C68148 80240018 00621821 */ addu $v1, $v1, $v0 +/* C6814C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C68150 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C68154 80240024 3C020002 */ lui $v0, 2 +/* C68158 80240028 08090010 */ j .L80240040 +/* C6815C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C68160 80240030 3C040002 */ lui $a0, 2 +/* C68164 80240034 0083102A */ slt $v0, $a0, $v1 +/* C68168 80240038 10400002 */ beqz $v0, .L80240044 +/* C6816C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C68170 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C68174 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C68178 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C6817C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C68180 80240050 04610004 */ bgez $v1, .L80240064 +/* C68184 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C68188 80240058 3C020002 */ lui $v0, 2 +/* C6818C 8024005C 0809001D */ j .L80240074 +/* C68190 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C68194 80240064 3C040002 */ lui $a0, 2 +/* C68198 80240068 0083102A */ slt $v0, $a0, $v1 +/* C6819C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C681A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C681A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C681A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C681AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C681B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* C681B4 80240084 04610004 */ bgez $v1, .L80240098 +/* C681B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C681BC 8024008C 3C020002 */ lui $v0, 2 +/* C681C0 80240090 0809002A */ j .L802400A8 +/* C681C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C681C8 80240098 3C040002 */ lui $a0, 2 +/* C681CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C681D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C681D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C681D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C681DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C681E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C681E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C681E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C681EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C681F0 802400C0 3C020002 */ lui $v0, 2 +/* C681F4 802400C4 08090037 */ j .L802400DC +/* C681F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C681FC 802400CC 3C040002 */ lui $a0, 2 +/* C68200 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C68204 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C68208 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C6820C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C68210 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C68214 802400E4 0C046F07 */ jal set_main_pan_u +/* C68218 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6821C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C68220 802400F0 0C046F0D */ jal set_main_pan_v +/* C68224 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C68228 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C6822C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C68230 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C68234 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C68238 80240108 0C046F19 */ jal set_aux_pan_v +/* C6823C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C68240 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C68244 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C68248 80240118 0000102D */ daddu $v0, $zero, $zero +/* C6824C 8024011C 03E00008 */ jr $ra +/* C68250 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240124_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240124_C68130.s new file mode 100644 index 0000000000..08f64346a7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240124_C68130.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C68254 +/* C68254 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68258 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C6825C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C68260 80240130 10A00005 */ beqz $a1, .L80240148 +/* C68264 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C68268 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C6826C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C68270 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C68274 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C68278 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C6827C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C68280 80240150 00000000 */ nop +/* C68284 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C68288 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C6828C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C68290 80240160 04610004 */ bgez $v1, .L80240174 +/* C68294 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C68298 80240168 3C020002 */ lui $v0, 2 +/* C6829C 8024016C 08090061 */ j .L80240184 +/* C682A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C682A4 80240174 3C040002 */ lui $a0, 2 +/* C682A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* C682AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* C682B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C682B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C682B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C682BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C682C0 80240190 00000000 */ nop +/* C682C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C682C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C682CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C682D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C682D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C682D8 802401A8 3C020002 */ lui $v0, 2 +/* C682DC 802401AC 08090071 */ j .L802401C4 +/* C682E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C682E4 802401B4 3C040002 */ lui $a0, 2 +/* C682E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C682EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C682F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C682F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C682F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C682FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C68300 802401D0 00000000 */ nop +/* C68304 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C68308 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C6830C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C68310 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C68314 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C68318 802401E8 3C020002 */ lui $v0, 2 +/* C6831C 802401EC 08090081 */ j .L80240204 +/* C68320 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C68324 802401F4 3C040002 */ lui $a0, 2 +/* C68328 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C6832C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C68330 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C68334 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C68338 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C6833C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C68340 80240210 00000000 */ nop +/* C68344 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C68348 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C6834C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C68350 80240220 04610004 */ bgez $v1, .L80240234 +/* C68354 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C68358 80240228 3C020002 */ lui $v0, 2 +/* C6835C 8024022C 08090091 */ j .L80240244 +/* C68360 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C68364 80240234 3C040002 */ lui $a0, 2 +/* C68368 80240238 0083102A */ slt $v0, $a0, $v1 +/* C6836C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C68370 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C68374 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C68378 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C6837C 8024024C 0C046F07 */ jal set_main_pan_u +/* C68380 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C68384 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C68388 80240258 0C046F0D */ jal set_main_pan_v +/* C6838C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C68390 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C68394 80240264 0C046F13 */ jal set_aux_pan_u +/* C68398 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6839C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C683A0 80240270 0C046F19 */ jal set_aux_pan_v +/* C683A4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C683A8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C683AC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C683B0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C683B4 80240284 24420001 */ addiu $v0, $v0, 1 +/* C683B8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C683BC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C683C0 80240290 24630001 */ addiu $v1, $v1, 1 +/* C683C4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C683C8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C683CC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C683D0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C683D4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C683D8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C683DC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C683E0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C683E4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C683E8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C683EC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C683F0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C683F4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C683F8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C683FC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C68400 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C68404 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C68408 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C6840C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C68410 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C68414 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C68418 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C6841C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C68420 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C68424 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C68428 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C6842C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C68430 80240300 0000102D */ daddu $v0, $zero, $zero +/* C68434 80240304 03E00008 */ jr $ra +/* C68438 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6843C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240310_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240310_C68130.s new file mode 100644 index 0000000000..32a3b2ea67 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240310_C68130.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C68440 +/* C68440 80240310 3C03800A */ lui $v1, %hi(D_8009A650) +/* C68444 80240314 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* C68448 80240318 8C620000 */ lw $v0, ($v1) +/* C6844C 8024031C 34420040 */ ori $v0, $v0, 0x40 +/* C68450 80240320 AC620000 */ sw $v0, ($v1) +/* C68454 80240324 03E00008 */ jr $ra +/* C68458 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_8024032C_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024032C_C68130.s new file mode 100644 index 0000000000..fb58b06cd9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024032C_C68130.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_C6845C +/* C6845C 8024032C 3C02800A */ lui $v0, %hi(D_8009A650) +/* C68460 80240330 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* C68464 80240334 8C430000 */ lw $v1, ($v0) +/* C68468 80240338 2404FFBF */ addiu $a0, $zero, -0x41 +/* C6846C 8024033C 00641824 */ and $v1, $v1, $a0 +/* C68470 80240340 AC430000 */ sw $v1, ($v0) +/* C68474 80240344 03E00008 */ jr $ra +/* C68478 80240348 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_8024034C_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024034C_C68130.s new file mode 100644 index 0000000000..7d12bb6b7b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024034C_C68130.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024034C_C6847C +/* C6847C 8024034C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68480 80240350 AFBF0010 */ sw $ra, 0x10($sp) +/* C68484 80240354 8C82000C */ lw $v0, 0xc($a0) +/* C68488 80240358 0C0B1EAF */ jal get_variable +/* C6848C 8024035C 8C450000 */ lw $a1, ($v0) +/* C68490 80240360 0C0B95A4 */ jal func_802E5690 +/* C68494 80240364 0040202D */ daddu $a0, $v0, $zero +/* C68498 80240368 8FBF0010 */ lw $ra, 0x10($sp) +/* C6849C 8024036C 24020002 */ addiu $v0, $zero, 2 +/* C684A0 80240370 03E00008 */ jr $ra +/* C684A4 80240374 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240378.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240378.s new file mode 100644 index 0000000000..31925c7d1d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240378.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240378 +/* C684A8 80240378 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C684AC 8024037C AFB00010 */ sw $s0, 0x10($sp) +/* C684B0 80240380 0080802D */ daddu $s0, $a0, $zero +/* C684B4 80240384 AFBF0018 */ sw $ra, 0x18($sp) +/* C684B8 80240388 AFB10014 */ sw $s1, 0x14($sp) +/* C684BC 8024038C 8E11000C */ lw $s1, 0xc($s0) +/* C684C0 80240390 8E250000 */ lw $a1, ($s1) +/* C684C4 80240394 0C0B1EAF */ jal get_variable +/* C684C8 80240398 26310004 */ addiu $s1, $s1, 4 +/* C684CC 8024039C 0200202D */ daddu $a0, $s0, $zero +/* C684D0 802403A0 3C038011 */ lui $v1, %hi(gPlayerData) +/* C684D4 802403A4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* C684D8 802403A8 000210C0 */ sll $v0, $v0, 3 +/* C684DC 802403AC 00431021 */ addu $v0, $v0, $v1 +/* C684E0 802403B0 90460015 */ lbu $a2, 0x15($v0) +/* C684E4 802403B4 8E250000 */ lw $a1, ($s1) +/* C684E8 802403B8 24C60001 */ addiu $a2, $a2, 1 +/* C684EC 802403BC A0460015 */ sb $a2, 0x15($v0) +/* C684F0 802403C0 00063600 */ sll $a2, $a2, 0x18 +/* C684F4 802403C4 0C0B2026 */ jal set_variable +/* C684F8 802403C8 00063603 */ sra $a2, $a2, 0x18 +/* C684FC 802403CC 8FBF0018 */ lw $ra, 0x18($sp) +/* C68500 802403D0 8FB10014 */ lw $s1, 0x14($sp) +/* C68504 802403D4 8FB00010 */ lw $s0, 0x10($sp) +/* C68508 802403D8 24020002 */ addiu $v0, $zero, 2 +/* C6850C 802403DC 03E00008 */ jr $ra +/* C68510 802403E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_802403E4.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_802403E4.s new file mode 100644 index 0000000000..8c53295455 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_802403E4.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403E4 +/* C68514 802403E4 3C028011 */ lui $v0, %hi(gPlayerData) +/* C68518 802403E8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* C6851C 802403EC 000420C0 */ sll $a0, $a0, 3 +/* C68520 802403F0 00822021 */ addu $a0, $a0, $v0 +/* C68524 802403F4 90820014 */ lbu $v0, 0x14($a0) +/* C68528 802403F8 10400009 */ beqz $v0, .L80240420 +/* C6852C 802403FC 00000000 */ nop +/* C68530 80240400 90820015 */ lbu $v0, 0x15($a0) +/* C68534 80240404 00022600 */ sll $a0, $v0, 0x18 +/* C68538 80240408 00041E03 */ sra $v1, $a0, 0x18 +/* C6853C 8024040C 00051400 */ sll $v0, $a1, 0x10 +/* C68540 80240410 00021403 */ sra $v0, $v0, 0x10 +/* C68544 80240414 0043102A */ slt $v0, $v0, $v1 +/* C68548 80240418 10400003 */ beqz $v0, .L80240428 +/* C6854C 8024041C 00000000 */ nop +.L80240420: +/* C68550 80240420 03E00008 */ jr $ra +/* C68554 80240424 2402FFFF */ addiu $v0, $zero, -1 +.L80240428: +/* C68558 80240428 03E00008 */ jr $ra +/* C6855C 8024042C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240430_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240430_C68130.s new file mode 100644 index 0000000000..5ac283ce96 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240430_C68130.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240430_C68560 +/* C68560 80240430 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C68564 80240434 AFB3001C */ sw $s3, 0x1c($sp) +/* C68568 80240438 0080982D */ daddu $s3, $a0, $zero +/* C6856C 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* C68570 80240440 24100001 */ addiu $s0, $zero, 1 +/* C68574 80240444 AFB40020 */ sw $s4, 0x20($sp) +/* C68578 80240448 2414FFFF */ addiu $s4, $zero, -1 +/* C6857C 8024044C AFB50024 */ sw $s5, 0x24($sp) +/* C68580 80240450 0200A82D */ daddu $s5, $s0, $zero +/* C68584 80240454 AFB10014 */ sw $s1, 0x14($sp) +/* C68588 80240458 3C118011 */ lui $s1, 0x8011 +/* C6858C 8024045C 2631F298 */ addiu $s1, $s1, -0xd68 +/* C68590 80240460 AFBF0028 */ sw $ra, 0x28($sp) +/* C68594 80240464 AFB20018 */ sw $s2, 0x18($sp) +/* C68598 80240468 8E6200B4 */ lw $v0, 0xb4($s3) +/* C6859C 8024046C 0280182D */ daddu $v1, $s4, $zero +/* C685A0 80240470 AE630084 */ sw $v1, 0x84($s3) +/* C685A4 80240474 00021027 */ nor $v0, $zero, $v0 +/* C685A8 80240478 000217C2 */ srl $v0, $v0, 0x1f +/* C685AC 8024047C 00029400 */ sll $s2, $v0, 0x10 +.L80240480: +/* C685B0 80240480 92220014 */ lbu $v0, 0x14($s1) +/* C685B4 80240484 50400008 */ beql $v0, $zero, .L802404A8 +/* C685B8 80240488 26100001 */ addiu $s0, $s0, 1 +/* C685BC 8024048C 0200202D */ daddu $a0, $s0, $zero +/* C685C0 80240490 0C0900F9 */ jal func_802403E4 +/* C685C4 80240494 00122C03 */ sra $a1, $s2, 0x10 +/* C685C8 80240498 10540003 */ beq $v0, $s4, .L802404A8 +/* C685CC 8024049C 26100001 */ addiu $s0, $s0, 1 +/* C685D0 802404A0 0809012D */ j .L802404B4 +/* C685D4 802404A4 AE750084 */ sw $s5, 0x84($s3) +.L802404A8: +/* C685D8 802404A8 2A02000C */ slti $v0, $s0, 0xc +/* C685DC 802404AC 1440FFF4 */ bnez $v0, .L80240480 +/* C685E0 802404B0 26310008 */ addiu $s1, $s1, 8 +.L802404B4: +/* C685E4 802404B4 8FBF0028 */ lw $ra, 0x28($sp) +/* C685E8 802404B8 8FB50024 */ lw $s5, 0x24($sp) +/* C685EC 802404BC 8FB40020 */ lw $s4, 0x20($sp) +/* C685F0 802404C0 8FB3001C */ lw $s3, 0x1c($sp) +/* C685F4 802404C4 8FB20018 */ lw $s2, 0x18($sp) +/* C685F8 802404C8 8FB10014 */ lw $s1, 0x14($sp) +/* C685FC 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* C68600 802404D0 24020002 */ addiu $v0, $zero, 2 +/* C68604 802404D4 03E00008 */ jr $ra +/* C68608 802404D8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_802404DC_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_802404DC_C68130.s new file mode 100644 index 0000000000..49425514be --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_802404DC_C68130.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC_C6860C +/* C6860C 802404DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C68610 802404E0 AFB5002C */ sw $s5, 0x2c($sp) +/* C68614 802404E4 0080A82D */ daddu $s5, $a0, $zero +/* C68618 802404E8 AFBE0038 */ sw $fp, 0x38($sp) +/* C6861C 802404EC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* C68620 802404F0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* C68624 802404F4 AFBF003C */ sw $ra, 0x3c($sp) +/* C68628 802404F8 AFB70034 */ sw $s7, 0x34($sp) +/* C6862C 802404FC AFB60030 */ sw $s6, 0x30($sp) +/* C68630 80240500 AFB40028 */ sw $s4, 0x28($sp) +/* C68634 80240504 AFB30024 */ sw $s3, 0x24($sp) +/* C68638 80240508 AFB20020 */ sw $s2, 0x20($sp) +/* C6863C 8024050C AFB1001C */ sw $s1, 0x1c($sp) +/* C68640 80240510 10A0004F */ beqz $a1, .L80240650 +/* C68644 80240514 AFB00018 */ sw $s0, 0x18($sp) +/* C68648 80240518 0C00AB39 */ jal heap_malloc +/* C6864C 8024051C 24040330 */ addiu $a0, $zero, 0x330 +/* C68650 80240520 0040982D */ daddu $s3, $v0, $zero +/* C68654 80240524 0000B02D */ daddu $s6, $zero, $zero +/* C68658 80240528 02C0902D */ daddu $s2, $s6, $zero +/* C6865C 8024052C 3C148024 */ lui $s4, 0x8024 +/* C68660 80240530 26941C48 */ addiu $s4, $s4, 0x1c48 +/* C68664 80240534 0260882D */ daddu $s1, $s3, $zero +/* C68668 80240538 8EA200B4 */ lw $v0, 0xb4($s5) +/* C6866C 8024053C 3C038024 */ lui $v1, 0x8024 +/* C68670 80240540 24631C40 */ addiu $v1, $v1, 0x1c40 +/* C68674 80240544 AEB30078 */ sw $s3, 0x78($s5) +/* C68678 80240548 00021027 */ nor $v0, $zero, $v0 +/* C6867C 8024054C 0002BFC2 */ srl $s7, $v0, 0x1f +/* C68680 80240550 00171080 */ sll $v0, $s7, 2 +/* C68684 80240554 00431021 */ addu $v0, $v0, $v1 +/* C68688 80240558 AFA20010 */ sw $v0, 0x10($sp) +.L8024055C: +/* C6868C 8024055C 86900000 */ lh $s0, ($s4) +/* C68690 80240560 001010C0 */ sll $v0, $s0, 3 +/* C68694 80240564 03C21021 */ addu $v0, $fp, $v0 +/* C68698 80240568 90420014 */ lbu $v0, 0x14($v0) +/* C6869C 8024056C 5040002E */ beql $v0, $zero, .L80240628 +/* C686A0 80240570 26520001 */ addiu $s2, $s2, 1 +/* C686A4 80240574 00101100 */ sll $v0, $s0, 4 +/* C686A8 80240578 3C068009 */ lui $a2, 0x8009 +/* C686AC 8024057C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* C686B0 80240580 00461021 */ addu $v0, $v0, $a2 +/* C686B4 80240584 0200202D */ daddu $a0, $s0, $zero +/* C686B8 80240588 AE300108 */ sw $s0, 0x108($s1) +/* C686BC 8024058C 8C420000 */ lw $v0, ($v0) +/* C686C0 80240590 02E0282D */ daddu $a1, $s7, $zero +/* C686C4 80240594 0C0900F9 */ jal func_802403E4 +/* C686C8 80240598 AE220084 */ sw $v0, 0x84($s1) +/* C686CC 8024059C 0040202D */ daddu $a0, $v0, $zero +/* C686D0 802405A0 04800011 */ bltz $a0, .L802405E8 +/* C686D4 802405A4 00101080 */ sll $v0, $s0, 2 +/* C686D8 802405A8 3C06800F */ lui $a2, 0x800f +/* C686DC 802405AC 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* C686E0 802405B0 00461021 */ addu $v0, $v0, $a2 +/* C686E4 802405B4 8C430000 */ lw $v1, ($v0) +/* C686E8 802405B8 24020001 */ addiu $v0, $zero, 1 +/* C686EC 802405BC AE22018C */ sw $v0, 0x18c($s1) +/* C686F0 802405C0 00041080 */ sll $v0, $a0, 2 +/* C686F4 802405C4 3C068024 */ lui $a2, 0x8024 +/* C686F8 802405C8 24C61C58 */ addiu $a2, $a2, 0x1c58 +/* C686FC 802405CC AE230000 */ sw $v1, ($s1) +/* C68700 802405D0 001218C0 */ sll $v1, $s2, 3 +/* C68704 802405D4 00431021 */ addu $v0, $v0, $v1 +/* C68708 802405D8 00461021 */ addu $v0, $v0, $a2 +/* C6870C 802405DC 8C420000 */ lw $v0, ($v0) +/* C68710 802405E0 08090183 */ j .L8024060C +/* C68714 802405E4 AE220294 */ sw $v0, 0x294($s1) +.L802405E8: +/* C68718 802405E8 3C06800F */ lui $a2, 0x800f +/* C6871C 802405EC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* C68720 802405F0 00461021 */ addu $v0, $v0, $a2 +/* C68724 802405F4 8C420000 */ lw $v0, ($v0) +/* C68728 802405F8 AE20018C */ sw $zero, 0x18c($s1) +/* C6872C 802405FC AE220000 */ sw $v0, ($s1) +/* C68730 80240600 8FA60010 */ lw $a2, 0x10($sp) +/* C68734 80240604 8CC20000 */ lw $v0, ($a2) +/* C68738 80240608 AE220294 */ sw $v0, 0x294($s1) +.L8024060C: +/* C6873C 8024060C 001010C0 */ sll $v0, $s0, 3 +/* C68740 80240610 03C21021 */ addu $v0, $fp, $v0 +/* C68744 80240614 80420015 */ lb $v0, 0x15($v0) +/* C68748 80240618 26D60001 */ addiu $s6, $s6, 1 +/* C6874C 8024061C AE220210 */ sw $v0, 0x210($s1) +/* C68750 80240620 26310004 */ addiu $s1, $s1, 4 +/* C68754 80240624 26520001 */ addiu $s2, $s2, 1 +.L80240628: +/* C68758 80240628 2A420008 */ slti $v0, $s2, 8 +/* C6875C 8024062C 1440FFCB */ bnez $v0, .L8024055C +/* C68760 80240630 26940002 */ addiu $s4, $s4, 2 +/* C68764 80240634 0260202D */ daddu $a0, $s3, $zero +/* C68768 80240638 24020004 */ addiu $v0, $zero, 4 +/* C6876C 8024063C AC820318 */ sw $v0, 0x318($a0) +/* C68770 80240640 AC960324 */ sw $s6, 0x324($a0) +/* C68774 80240644 0C03D390 */ jal func_800F4E40 +/* C68778 80240648 AC800328 */ sw $zero, 0x328($a0) +/* C6877C 8024064C AEA00070 */ sw $zero, 0x70($s5) +.L80240650: +/* C68780 80240650 8EA20070 */ lw $v0, 0x70($s5) +/* C68784 80240654 8EB30078 */ lw $s3, 0x78($s5) +/* C68788 80240658 14400008 */ bnez $v0, .L8024067C +/* C6878C 8024065C 24420001 */ addiu $v0, $v0, 1 +/* C68790 80240660 8662032C */ lh $v0, 0x32c($s3) +/* C68794 80240664 10400009 */ beqz $v0, .L8024068C +/* C68798 80240668 AEA20074 */ sw $v0, 0x74($s5) +/* C6879C 8024066C 0C03C4EC */ jal func_800F13B0 +/* C687A0 80240670 00000000 */ nop +/* C687A4 80240674 8EA20070 */ lw $v0, 0x70($s5) +/* C687A8 80240678 24420001 */ addiu $v0, $v0, 1 +.L8024067C: +/* C687AC 8024067C AEA20070 */ sw $v0, 0x70($s5) +/* C687B0 80240680 2842000F */ slti $v0, $v0, 0xf +/* C687B4 80240684 10400003 */ beqz $v0, .L80240694 +/* C687B8 80240688 00000000 */ nop +.L8024068C: +/* C687BC 8024068C 080901BF */ j .L802406FC +/* C687C0 80240690 0000102D */ daddu $v0, $zero, $zero +.L80240694: +/* C687C4 80240694 0C03C54E */ jal func_800F1538 +/* C687C8 80240698 00000000 */ nop +/* C687CC 8024069C 8EA30074 */ lw $v1, 0x74($s5) +/* C687D0 802406A0 240200FF */ addiu $v0, $zero, 0xff +/* C687D4 802406A4 10620010 */ beq $v1, $v0, .L802406E8 +/* C687D8 802406A8 2462FFFF */ addiu $v0, $v1, -1 +/* C687DC 802406AC 00021080 */ sll $v0, $v0, 2 +/* C687E0 802406B0 02621021 */ addu $v0, $s3, $v0 +/* C687E4 802406B4 8C420108 */ lw $v0, 0x108($v0) +/* C687E8 802406B8 00021100 */ sll $v0, $v0, 4 +/* C687EC 802406BC 3C038009 */ lui $v1, 0x8009 +/* C687F0 802406C0 00621821 */ addu $v1, $v1, $v0 +/* C687F4 802406C4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* C687F8 802406C8 8EA20074 */ lw $v0, 0x74($s5) +/* C687FC 802406CC 2442FFFF */ addiu $v0, $v0, -1 +/* C68800 802406D0 00021080 */ sll $v0, $v0, 2 +/* C68804 802406D4 02621021 */ addu $v0, $s3, $v0 +/* C68808 802406D8 AEA30084 */ sw $v1, 0x84($s5) +/* C6880C 802406DC 8C420108 */ lw $v0, 0x108($v0) +/* C68810 802406E0 080901BC */ j .L802406F0 +/* C68814 802406E4 AEA20088 */ sw $v0, 0x88($s5) +.L802406E8: +/* C68818 802406E8 2402FFFF */ addiu $v0, $zero, -1 +/* C6881C 802406EC AEA20084 */ sw $v0, 0x84($s5) +.L802406F0: +/* C68820 802406F0 0C00AB4B */ jal heap_free +/* C68824 802406F4 8EA40078 */ lw $a0, 0x78($s5) +/* C68828 802406F8 24020002 */ addiu $v0, $zero, 2 +.L802406FC: +/* C6882C 802406FC 8FBF003C */ lw $ra, 0x3c($sp) +/* C68830 80240700 8FBE0038 */ lw $fp, 0x38($sp) +/* C68834 80240704 8FB70034 */ lw $s7, 0x34($sp) +/* C68838 80240708 8FB60030 */ lw $s6, 0x30($sp) +/* C6883C 8024070C 8FB5002C */ lw $s5, 0x2c($sp) +/* C68840 80240710 8FB40028 */ lw $s4, 0x28($sp) +/* C68844 80240714 8FB30024 */ lw $s3, 0x24($sp) +/* C68848 80240718 8FB20020 */ lw $s2, 0x20($sp) +/* C6884C 8024071C 8FB1001C */ lw $s1, 0x1c($sp) +/* C68850 80240720 8FB00018 */ lw $s0, 0x18($sp) +/* C68854 80240724 03E00008 */ jr $ra +/* C68858 80240728 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_8024072C_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024072C_C68130.s new file mode 100644 index 0000000000..8a2a43ddbb --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_8024072C_C68130.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024072C_C6885C +/* C6885C 8024072C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68860 80240730 AFBF0010 */ sw $ra, 0x10($sp) +/* C68864 80240734 8C82000C */ lw $v0, 0xc($a0) +/* C68868 80240738 0C0B1EAF */ jal get_variable +/* C6886C 8024073C 8C450000 */ lw $a1, ($v0) +/* C68870 80240740 0C03AC5A */ jal func_800EB168 +/* C68874 80240744 0040202D */ daddu $a0, $v0, $zero +/* C68878 80240748 8FBF0010 */ lw $ra, 0x10($sp) +/* C6887C 8024074C 24020002 */ addiu $v0, $zero, 2 +/* C68880 80240750 03E00008 */ jr $ra +/* C68884 80240754 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240758_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240758_C68130.s new file mode 100644 index 0000000000..72cceee892 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240758_C68130.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240758_C68888 +/* C68888 80240758 3C028011 */ lui $v0, 0x8011 +/* C6888C 8024075C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* C68890 80240760 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68894 80240764 AFBF0010 */ sw $ra, 0x10($sp) +/* C68898 80240768 00021100 */ sll $v0, $v0, 4 +/* C6889C 8024076C 3C048009 */ lui $a0, 0x8009 +/* C688A0 80240770 00822021 */ addu $a0, $a0, $v0 +/* C688A4 80240774 8C84EF20 */ lw $a0, -0x10e0($a0) +/* C688A8 80240778 0C0496CF */ jal set_message_string +/* C688AC 8024077C 0000282D */ daddu $a1, $zero, $zero +/* C688B0 80240780 8FBF0010 */ lw $ra, 0x10($sp) +/* C688B4 80240784 24020002 */ addiu $v0, $zero, 2 +/* C688B8 80240788 03E00008 */ jr $ra +/* C688BC 8024078C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240790_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240790_C68130.s new file mode 100644 index 0000000000..07946a3f76 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240790_C68130.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790_C688C0 +/* C688C0 80240790 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C688C4 80240794 AFB1001C */ sw $s1, 0x1c($sp) +/* C688C8 80240798 0080882D */ daddu $s1, $a0, $zero +/* C688CC 8024079C AFBF0020 */ sw $ra, 0x20($sp) +/* C688D0 802407A0 AFB00018 */ sw $s0, 0x18($sp) +/* C688D4 802407A4 8E30000C */ lw $s0, 0xc($s1) +/* C688D8 802407A8 8E050000 */ lw $a1, ($s0) +/* C688DC 802407AC 0C0B1EAF */ jal get_variable +/* C688E0 802407B0 26100004 */ addiu $s0, $s0, 4 +/* C688E4 802407B4 0C04417A */ jal get_entity_by_index +/* C688E8 802407B8 0040202D */ daddu $a0, $v0, $zero +/* C688EC 802407BC 8E100000 */ lw $s0, ($s0) +/* C688F0 802407C0 C444004C */ lwc1 $f4, 0x4c($v0) +/* C688F4 802407C4 3C014148 */ lui $at, 0x4148 +/* C688F8 802407C8 44810000 */ mtc1 $at, $f0 +/* C688FC 802407CC 3C013F33 */ lui $at, 0x3f33 +/* C68900 802407D0 34213333 */ ori $at, $at, 0x3333 +/* C68904 802407D4 44811000 */ mtc1 $at, $f2 +/* C68908 802407D8 AFA00014 */ sw $zero, 0x14($sp) +/* C6890C 802407DC 46002100 */ add.s $f4, $f4, $f0 +/* C68910 802407E0 E7A20010 */ swc1 $f2, 0x10($sp) +/* C68914 802407E4 8C450048 */ lw $a1, 0x48($v0) +/* C68918 802407E8 8C470050 */ lw $a3, 0x50($v0) +/* C6891C 802407EC 44062000 */ mfc1 $a2, $f4 +/* C68920 802407F0 0C01C5D4 */ jal func_80071750 +/* C68924 802407F4 0000202D */ daddu $a0, $zero, $zero +/* C68928 802407F8 0220202D */ daddu $a0, $s1, $zero +/* C6892C 802407FC 0200282D */ daddu $a1, $s0, $zero +/* C68930 80240800 0C0B2026 */ jal set_variable +/* C68934 80240804 0040302D */ daddu $a2, $v0, $zero +/* C68938 80240808 8FBF0020 */ lw $ra, 0x20($sp) +/* C6893C 8024080C 8FB1001C */ lw $s1, 0x1c($sp) +/* C68940 80240810 8FB00018 */ lw $s0, 0x18($sp) +/* C68944 80240814 24020002 */ addiu $v0, $zero, 2 +/* C68948 80240818 03E00008 */ jr $ra +/* C6894C 8024081C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240820_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240820_C68130.s new file mode 100644 index 0000000000..9bd6c50a0a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240820_C68130.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240820_C68950 +/* C68950 80240820 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C68954 80240824 AFBF0010 */ sw $ra, 0x10($sp) +/* C68958 80240828 8C82000C */ lw $v0, 0xc($a0) +/* C6895C 8024082C 0C0B1EAF */ jal get_variable +/* C68960 80240830 8C450000 */ lw $a1, ($v0) +/* C68964 80240834 0040202D */ daddu $a0, $v0, $zero +/* C68968 80240838 8C830000 */ lw $v1, ($a0) +/* C6896C 8024083C 34630010 */ ori $v1, $v1, 0x10 +/* C68970 80240840 AC830000 */ sw $v1, ($a0) +/* C68974 80240844 8FBF0010 */ lw $ra, 0x10($sp) +/* C68978 80240848 24020002 */ addiu $v0, $zero, 2 +/* C6897C 8024084C 03E00008 */ jr $ra +/* C68980 80240850 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240854_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240854_C68130.s new file mode 100644 index 0000000000..3f04dde425 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240854_C68130.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240854_C68984 +/* C68984 80240854 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C68988 80240858 AFBF0018 */ sw $ra, 0x18($sp) +/* C6898C 8024085C 8C82000C */ lw $v0, 0xc($a0) +/* C68990 80240860 0C0B1EAF */ jal get_variable +/* C68994 80240864 8C450000 */ lw $a1, ($v0) +/* C68998 80240868 0C04417A */ jal get_entity_by_index +/* C6899C 8024086C 0040202D */ daddu $a0, $v0, $zero +/* C689A0 80240870 3C013F80 */ lui $at, 0x3f80 +/* C689A4 80240874 44810000 */ mtc1 $at, $f0 +/* C689A8 80240878 C442004C */ lwc1 $f2, 0x4c($v0) +/* C689AC 8024087C E7A00010 */ swc1 $f0, 0x10($sp) +/* C689B0 80240880 3C014148 */ lui $at, 0x4148 +/* C689B4 80240884 44810000 */ mtc1 $at, $f0 +/* C689B8 80240888 2403004B */ addiu $v1, $zero, 0x4b +/* C689BC 8024088C AFA30014 */ sw $v1, 0x14($sp) +/* C689C0 80240890 46001080 */ add.s $f2, $f2, $f0 +/* C689C4 80240894 8C450048 */ lw $a1, 0x48($v0) +/* C689C8 80240898 8C470050 */ lw $a3, 0x50($v0) +/* C689CC 8024089C 44061000 */ mfc1 $a2, $f2 +/* C689D0 802408A0 0C01C2EC */ jal func_80070BB0 +/* C689D4 802408A4 24040004 */ addiu $a0, $zero, 4 +/* C689D8 802408A8 8FBF0018 */ lw $ra, 0x18($sp) +/* C689DC 802408AC 24020002 */ addiu $v0, $zero, 2 +/* C689E0 802408B0 03E00008 */ jr $ra +/* C689E4 802408B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_802408B8.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_802408B8.s new file mode 100644 index 0000000000..b945b275f7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_802408B8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B8 +/* C689E8 802408B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C689EC 802408BC AFBF0018 */ sw $ra, 0x18($sp) +/* C689F0 802408C0 0C00EAD2 */ jal get_npc_safe +/* C689F4 802408C4 2404FFFC */ addiu $a0, $zero, -4 +/* C689F8 802408C8 C444003C */ lwc1 $f4, 0x3c($v0) +/* C689FC 802408CC 3C014148 */ lui $at, 0x4148 +/* C68A00 802408D0 44811000 */ mtc1 $at, $f2 +/* C68A04 802408D4 3C013F80 */ lui $at, 0x3f80 +/* C68A08 802408D8 44810000 */ mtc1 $at, $f0 +/* C68A0C 802408DC 2403001E */ addiu $v1, $zero, 0x1e +/* C68A10 802408E0 AFA30014 */ sw $v1, 0x14($sp) +/* C68A14 802408E4 46022100 */ add.s $f4, $f4, $f2 +/* C68A18 802408E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C68A1C 802408EC 8C450038 */ lw $a1, 0x38($v0) +/* C68A20 802408F0 8C470040 */ lw $a3, 0x40($v0) +/* C68A24 802408F4 44062000 */ mfc1 $a2, $f4 +/* C68A28 802408F8 0C01C2EC */ jal func_80070BB0 +/* C68A2C 802408FC 24040009 */ addiu $a0, $zero, 9 +/* C68A30 80240900 8FBF0018 */ lw $ra, 0x18($sp) +/* C68A34 80240904 24020002 */ addiu $v0, $zero, 2 +/* C68A38 80240908 03E00008 */ jr $ra +/* C68A3C 8024090C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240910_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240910_C68130.s new file mode 100644 index 0000000000..615d5ea539 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240910_C68130.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240910_C68A40 +/* C68A40 80240910 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C68A44 80240914 AFB60040 */ sw $s6, 0x40($sp) +/* C68A48 80240918 0080B02D */ daddu $s6, $a0, $zero +/* C68A4C 8024091C AFB00028 */ sw $s0, 0x28($sp) +/* C68A50 80240920 00A0802D */ daddu $s0, $a1, $zero +/* C68A54 80240924 AFBF0044 */ sw $ra, 0x44($sp) +/* C68A58 80240928 AFB5003C */ sw $s5, 0x3c($sp) +/* C68A5C 8024092C AFB40038 */ sw $s4, 0x38($sp) +/* C68A60 80240930 AFB30034 */ sw $s3, 0x34($sp) +/* C68A64 80240934 AFB20030 */ sw $s2, 0x30($sp) +/* C68A68 80240938 AFB1002C */ sw $s1, 0x2c($sp) +/* C68A6C 8024093C F7B80058 */ sdc1 $f24, 0x58($sp) +/* C68A70 80240940 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C68A74 80240944 F7B40048 */ sdc1 $f20, 0x48($sp) +/* C68A78 80240948 8ED3000C */ lw $s3, 0xc($s6) +/* C68A7C 8024094C 0C00EAD2 */ jal get_npc_safe +/* C68A80 80240950 2404FFFC */ addiu $a0, $zero, -4 +/* C68A84 80240954 27A50018 */ addiu $a1, $sp, 0x18 +/* C68A88 80240958 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C68A8C 8024095C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C68A90 80240960 27A6001C */ addiu $a2, $sp, 0x1c +/* C68A94 80240964 00041880 */ sll $v1, $a0, 2 +/* C68A98 80240968 00641821 */ addu $v1, $v1, $a0 +/* C68A9C 8024096C 00031880 */ sll $v1, $v1, 2 +/* C68AA0 80240970 00641823 */ subu $v1, $v1, $a0 +/* C68AA4 80240974 000320C0 */ sll $a0, $v1, 3 +/* C68AA8 80240978 00641821 */ addu $v1, $v1, $a0 +/* C68AAC 8024097C 000318C0 */ sll $v1, $v1, 3 +/* C68AB0 80240980 3C01800B */ lui $at, 0x800b +/* C68AB4 80240984 00230821 */ addu $at, $at, $v1 +/* C68AB8 80240988 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* C68ABC 8024098C 0C00A88D */ jal sin_cos_deg +/* C68AC0 80240990 0040A82D */ daddu $s5, $v0, $zero +/* C68AC4 80240994 1200005D */ beqz $s0, .L80240B0C +/* C68AC8 80240998 00000000 */ nop +/* C68ACC 8024099C 0C00AB0A */ jal general_heap_malloc +/* C68AD0 802409A0 24040068 */ addiu $a0, $zero, 0x68 +/* C68AD4 802409A4 0040902D */ daddu $s2, $v0, $zero +/* C68AD8 802409A8 02C0202D */ daddu $a0, $s6, $zero +/* C68ADC 802409AC 0000882D */ daddu $s1, $zero, $zero +/* C68AE0 802409B0 2414FFFF */ addiu $s4, $zero, -1 +/* C68AE4 802409B4 AED20060 */ sw $s2, 0x60($s6) +/* C68AE8 802409B8 8E650000 */ lw $a1, ($s3) +/* C68AEC 802409BC 3C014148 */ lui $at, 0x4148 +/* C68AF0 802409C0 4481C000 */ mtc1 $at, $f24 +/* C68AF4 802409C4 3C013F80 */ lui $at, 0x3f80 +/* C68AF8 802409C8 4481B000 */ mtc1 $at, $f22 +/* C68AFC 802409CC 4480A000 */ mtc1 $zero, $f20 +/* C68B00 802409D0 0C0B1EAF */ jal get_variable +/* C68B04 802409D4 0240802D */ daddu $s0, $s2, $zero +/* C68B08 802409D8 0C04417A */ jal get_entity_by_index +/* C68B0C 802409DC 0040202D */ daddu $a0, $v0, $zero +/* C68B10 802409E0 AE42005C */ sw $v0, 0x5c($s2) +.L802409E4: +/* C68B14 802409E4 8E42005C */ lw $v0, 0x5c($s2) +/* C68B18 802409E8 C440004C */ lwc1 $f0, 0x4c($v0) +/* C68B1C 802409EC 0000202D */ daddu $a0, $zero, $zero +/* C68B20 802409F0 E7B60010 */ swc1 $f22, 0x10($sp) +/* C68B24 802409F4 AFB40014 */ sw $s4, 0x14($sp) +/* C68B28 802409F8 46180000 */ add.s $f0, $f0, $f24 +/* C68B2C 802409FC 8C450048 */ lw $a1, 0x48($v0) +/* C68B30 80240A00 8C470050 */ lw $a3, 0x50($v0) +/* C68B34 80240A04 44060000 */ mfc1 $a2, $f0 +/* C68B38 80240A08 0C01C5BC */ jal func_800716F0 +/* C68B3C 80240A0C 26310001 */ addiu $s1, $s1, 1 +/* C68B40 80240A10 AE020008 */ sw $v0, 8($s0) +/* C68B44 80240A14 E614002C */ swc1 $f20, 0x2c($s0) +/* C68B48 80240A18 E6140020 */ swc1 $f20, 0x20($s0) +/* C68B4C 80240A1C E6140014 */ swc1 $f20, 0x14($s0) +/* C68B50 80240A20 E6140050 */ swc1 $f20, 0x50($s0) +/* C68B54 80240A24 E6140044 */ swc1 $f20, 0x44($s0) +/* C68B58 80240A28 E6140038 */ swc1 $f20, 0x38($s0) +/* C68B5C 80240A2C 2A220003 */ slti $v0, $s1, 3 +/* C68B60 80240A30 1440FFEC */ bnez $v0, .L802409E4 +/* C68B64 80240A34 26100004 */ addiu $s0, $s0, 4 +/* C68B68 80240A38 0000882D */ daddu $s1, $zero, $zero +/* C68B6C 80240A3C 0240802D */ daddu $s0, $s2, $zero +/* C68B70 80240A40 3C148024 */ lui $s4, 0x8024 +/* C68B74 80240A44 26941C98 */ addiu $s4, $s4, 0x1c98 +/* C68B78 80240A48 3C014248 */ lui $at, 0x4248 +/* C68B7C 80240A4C 4481A000 */ mtc1 $at, $f20 +/* C68B80 80240A50 24130044 */ addiu $s3, $zero, 0x44 +/* C68B84 80240A54 AE400000 */ sw $zero, ($s2) +/* C68B88 80240A58 AE400004 */ sw $zero, 4($s2) +/* C68B8C 80240A5C AE400060 */ sw $zero, 0x60($s2) +/* C68B90 80240A60 AE400064 */ sw $zero, 0x64($s2) +.L80240A64: +/* C68B94 80240A64 27A40020 */ addiu $a0, $sp, 0x20 +/* C68B98 80240A68 4406A000 */ mfc1 $a2, $f20 +/* C68B9C 80240A6C 8E870000 */ lw $a3, ($s4) +/* C68BA0 80240A70 02532821 */ addu $a1, $s2, $s3 +/* C68BA4 80240A74 0C00A7E7 */ jal add_vec2D_polar +/* C68BA8 80240A78 AFA00020 */ sw $zero, 0x20($sp) +/* C68BAC 80240A7C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C68BB0 80240A80 C7A40020 */ lwc1 $f4, 0x20($sp) +/* C68BB4 80240A84 46041082 */ mul.s $f2, $f2, $f4 +/* C68BB8 80240A88 00000000 */ nop +/* C68BBC 80240A8C C7A00018 */ lwc1 $f0, 0x18($sp) +/* C68BC0 80240A90 46040002 */ mul.s $f0, $f0, $f4 +/* C68BC4 80240A94 00000000 */ nop +/* C68BC8 80240A98 E6020038 */ swc1 $f2, 0x38($s0) +/* C68BCC 80240A9C E6000050 */ swc1 $f0, 0x50($s0) +/* C68BD0 80240AA0 8E42005C */ lw $v0, 0x5c($s2) +/* C68BD4 80240AA4 C6000038 */ lwc1 $f0, 0x38($s0) +/* C68BD8 80240AA8 C4420048 */ lwc1 $f2, 0x48($v0) +/* C68BDC 80240AAC 46001080 */ add.s $f2, $f2, $f0 +/* C68BE0 80240AB0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* C68BE4 80240AB4 46020001 */ sub.s $f0, $f0, $f2 +/* C68BE8 80240AB8 E6000038 */ swc1 $f0, 0x38($s0) +/* C68BEC 80240ABC 8E42005C */ lw $v0, 0x5c($s2) +/* C68BF0 80240AC0 C6000044 */ lwc1 $f0, 0x44($s0) +/* C68BF4 80240AC4 C442004C */ lwc1 $f2, 0x4c($v0) +/* C68BF8 80240AC8 46001080 */ add.s $f2, $f2, $f0 +/* C68BFC 80240ACC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* C68C00 80240AD0 46020001 */ sub.s $f0, $f0, $f2 +/* C68C04 80240AD4 E6000044 */ swc1 $f0, 0x44($s0) +/* C68C08 80240AD8 8E42005C */ lw $v0, 0x5c($s2) +/* C68C0C 80240ADC C6000050 */ lwc1 $f0, 0x50($s0) +/* C68C10 80240AE0 C4420050 */ lwc1 $f2, 0x50($v0) +/* C68C14 80240AE4 26940004 */ addiu $s4, $s4, 4 +/* C68C18 80240AE8 46001080 */ add.s $f2, $f2, $f0 +/* C68C1C 80240AEC C6A00040 */ lwc1 $f0, 0x40($s5) +/* C68C20 80240AF0 26730004 */ addiu $s3, $s3, 4 +/* C68C24 80240AF4 46020001 */ sub.s $f0, $f0, $f2 +/* C68C28 80240AF8 26310001 */ addiu $s1, $s1, 1 +/* C68C2C 80240AFC 2A220003 */ slti $v0, $s1, 3 +/* C68C30 80240B00 E6000050 */ swc1 $f0, 0x50($s0) +/* C68C34 80240B04 1440FFD7 */ bnez $v0, .L80240A64 +/* C68C38 80240B08 26100004 */ addiu $s0, $s0, 4 +.L80240B0C: +/* C68C3C 80240B0C 8ED20060 */ lw $s2, 0x60($s6) +/* C68C40 80240B10 8E430000 */ lw $v1, ($s2) +/* C68C44 80240B14 24020001 */ addiu $v0, $zero, 1 +/* C68C48 80240B18 10620038 */ beq $v1, $v0, .L80240BFC +/* C68C4C 80240B1C 28620002 */ slti $v0, $v1, 2 +/* C68C50 80240B20 50400005 */ beql $v0, $zero, .L80240B38 +/* C68C54 80240B24 24020002 */ addiu $v0, $zero, 2 +/* C68C58 80240B28 10600007 */ beqz $v1, .L80240B48 +/* C68C5C 80240B2C 24040005 */ addiu $a0, $zero, 5 +/* C68C60 80240B30 08090338 */ j .L80240CE0 +/* C68C64 80240B34 00000000 */ nop +.L80240B38: +/* C68C68 80240B38 10620058 */ beq $v1, $v0, .L80240C9C +/* C68C6C 80240B3C 00000000 */ nop +/* C68C70 80240B40 08090338 */ j .L80240CE0 +/* C68C74 80240B44 00000000 */ nop +.L80240B48: +/* C68C78 80240B48 0000882D */ daddu $s1, $zero, $zero +/* C68C7C 80240B4C 3C148024 */ lui $s4, 0x8024 +/* C68C80 80240B50 26941C98 */ addiu $s4, $s4, 0x1c98 +/* C68C84 80240B54 24130020 */ addiu $s3, $zero, 0x20 +/* C68C88 80240B58 3C064248 */ lui $a2, 0x4248 +/* C68C8C 80240B5C 44800000 */ mtc1 $zero, $f0 +/* C68C90 80240B60 24020014 */ addiu $v0, $zero, 0x14 +/* C68C94 80240B64 AFA20010 */ sw $v0, 0x10($sp) +/* C68C98 80240B68 44050000 */ mfc1 $a1, $f0 +/* C68C9C 80240B6C 8E470060 */ lw $a3, 0x60($s2) +/* C68CA0 80240B70 4485B000 */ mtc1 $a1, $f22 +/* C68CA4 80240B74 0C00A8ED */ jal update_lerp +/* C68CA8 80240B78 0240802D */ daddu $s0, $s2, $zero +/* C68CAC 80240B7C 46000506 */ mov.s $f20, $f0 +.L80240B80: +/* C68CB0 80240B80 4406A000 */ mfc1 $a2, $f20 +/* C68CB4 80240B84 27A40020 */ addiu $a0, $sp, 0x20 +/* C68CB8 80240B88 E6160020 */ swc1 $f22, 0x20($s0) +/* C68CBC 80240B8C 8E870000 */ lw $a3, ($s4) +/* C68CC0 80240B90 02532821 */ addu $a1, $s2, $s3 +/* C68CC4 80240B94 0C00A7E7 */ jal add_vec2D_polar +/* C68CC8 80240B98 E7B60020 */ swc1 $f22, 0x20($sp) +/* C68CCC 80240B9C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C68CD0 80240BA0 C7A00020 */ lwc1 $f0, 0x20($sp) +/* C68CD4 80240BA4 46002102 */ mul.s $f4, $f4, $f0 +/* C68CD8 80240BA8 00000000 */ nop +/* C68CDC 80240BAC C7A20018 */ lwc1 $f2, 0x18($sp) +/* C68CE0 80240BB0 26940004 */ addiu $s4, $s4, 4 +/* C68CE4 80240BB4 46001082 */ mul.s $f2, $f2, $f0 +/* C68CE8 80240BB8 00000000 */ nop +/* C68CEC 80240BBC 26730004 */ addiu $s3, $s3, 4 +/* C68CF0 80240BC0 26310001 */ addiu $s1, $s1, 1 +/* C68CF4 80240BC4 2A220003 */ slti $v0, $s1, 3 +/* C68CF8 80240BC8 E6040014 */ swc1 $f4, 0x14($s0) +/* C68CFC 80240BCC E602002C */ swc1 $f2, 0x2c($s0) +/* C68D00 80240BD0 1440FFEB */ bnez $v0, .L80240B80 +/* C68D04 80240BD4 26100004 */ addiu $s0, $s0, 4 +/* C68D08 80240BD8 8E420060 */ lw $v0, 0x60($s2) +/* C68D0C 80240BDC 24420001 */ addiu $v0, $v0, 1 +/* C68D10 80240BE0 AE420060 */ sw $v0, 0x60($s2) +/* C68D14 80240BE4 28420015 */ slti $v0, $v0, 0x15 +/* C68D18 80240BE8 1440003D */ bnez $v0, .L80240CE0 +/* C68D1C 80240BEC 24020001 */ addiu $v0, $zero, 1 +/* C68D20 80240BF0 AE420000 */ sw $v0, ($s2) +/* C68D24 80240BF4 08090338 */ j .L80240CE0 +/* C68D28 80240BF8 AE400060 */ sw $zero, 0x60($s2) +.L80240BFC: +/* C68D2C 80240BFC 0000882D */ daddu $s1, $zero, $zero +/* C68D30 80240C00 3C148024 */ lui $s4, 0x8024 +/* C68D34 80240C04 26941C98 */ addiu $s4, $s4, 0x1c98 +/* C68D38 80240C08 24130020 */ addiu $s3, $zero, 0x20 +/* C68D3C 80240C0C 0240802D */ daddu $s0, $s2, $zero +/* C68D40 80240C10 3C014248 */ lui $at, 0x4248 +/* C68D44 80240C14 4481A000 */ mtc1 $at, $f20 +/* C68D48 80240C18 4480B000 */ mtc1 $zero, $f22 +.L80240C1C: +/* C68D4C 80240C1C 4406A000 */ mfc1 $a2, $f20 +/* C68D50 80240C20 27A40020 */ addiu $a0, $sp, 0x20 +/* C68D54 80240C24 E6160020 */ swc1 $f22, 0x20($s0) +/* C68D58 80240C28 8E870000 */ lw $a3, ($s4) +/* C68D5C 80240C2C 02532821 */ addu $a1, $s2, $s3 +/* C68D60 80240C30 0C00A7E7 */ jal add_vec2D_polar +/* C68D64 80240C34 E7B60020 */ swc1 $f22, 0x20($sp) +/* C68D68 80240C38 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C68D6C 80240C3C C7A00020 */ lwc1 $f0, 0x20($sp) +/* C68D70 80240C40 46002102 */ mul.s $f4, $f4, $f0 +/* C68D74 80240C44 00000000 */ nop +/* C68D78 80240C48 C7A20018 */ lwc1 $f2, 0x18($sp) +/* C68D7C 80240C4C 26940004 */ addiu $s4, $s4, 4 +/* C68D80 80240C50 46001082 */ mul.s $f2, $f2, $f0 +/* C68D84 80240C54 00000000 */ nop +/* C68D88 80240C58 26730004 */ addiu $s3, $s3, 4 +/* C68D8C 80240C5C 26310001 */ addiu $s1, $s1, 1 +/* C68D90 80240C60 2A220003 */ slti $v0, $s1, 3 +/* C68D94 80240C64 E6040014 */ swc1 $f4, 0x14($s0) +/* C68D98 80240C68 E602002C */ swc1 $f2, 0x2c($s0) +/* C68D9C 80240C6C 1440FFEB */ bnez $v0, .L80240C1C +/* C68DA0 80240C70 26100004 */ addiu $s0, $s0, 4 +/* C68DA4 80240C74 8E420060 */ lw $v0, 0x60($s2) +/* C68DA8 80240C78 24420001 */ addiu $v0, $v0, 1 +/* C68DAC 80240C7C AE420060 */ sw $v0, 0x60($s2) +/* C68DB0 80240C80 28420010 */ slti $v0, $v0, 0x10 +/* C68DB4 80240C84 14400016 */ bnez $v0, .L80240CE0 +/* C68DB8 80240C88 2402000F */ addiu $v0, $zero, 0xf +/* C68DBC 80240C8C AE420060 */ sw $v0, 0x60($s2) +/* C68DC0 80240C90 24020002 */ addiu $v0, $zero, 2 +/* C68DC4 80240C94 08090338 */ j .L80240CE0 +/* C68DC8 80240C98 AE420000 */ sw $v0, ($s2) +.L80240C9C: +/* C68DCC 80240C9C 8E420060 */ lw $v0, 0x60($s2) +/* C68DD0 80240CA0 24420001 */ addiu $v0, $v0, 1 +/* C68DD4 80240CA4 AE420060 */ sw $v0, 0x60($s2) +/* C68DD8 80240CA8 2842001F */ slti $v0, $v0, 0x1f +/* C68DDC 80240CAC 1440000C */ bnez $v0, .L80240CE0 +/* C68DE0 80240CB0 0000882D */ daddu $s1, $zero, $zero +/* C68DE4 80240CB4 0240282D */ daddu $a1, $s2, $zero +.L80240CB8: +/* C68DE8 80240CB8 8CA20008 */ lw $v0, 8($a1) +/* C68DEC 80240CBC 8C430000 */ lw $v1, ($v0) +/* C68DF0 80240CC0 26310001 */ addiu $s1, $s1, 1 +/* C68DF4 80240CC4 34630010 */ ori $v1, $v1, 0x10 +/* C68DF8 80240CC8 AC430000 */ sw $v1, ($v0) +/* C68DFC 80240CCC 2A220003 */ slti $v0, $s1, 3 +/* C68E00 80240CD0 1440FFF9 */ bnez $v0, .L80240CB8 +/* C68E04 80240CD4 24A50004 */ addiu $a1, $a1, 4 +/* C68E08 80240CD8 08090385 */ j .L80240E14 +/* C68E0C 80240CDC 24020002 */ addiu $v0, $zero, 2 +.L80240CE0: +/* C68E10 80240CE0 8E430004 */ lw $v1, 4($s2) +/* C68E14 80240CE4 10600005 */ beqz $v1, .L80240CFC +/* C68E18 80240CE8 24020001 */ addiu $v0, $zero, 1 +/* C68E1C 80240CEC 1062000B */ beq $v1, $v0, .L80240D1C +/* C68E20 80240CF0 0000882D */ daddu $s1, $zero, $zero +/* C68E24 80240CF4 08090374 */ j .L80240DD0 +/* C68E28 80240CF8 0240282D */ daddu $a1, $s2, $zero +.L80240CFC: +/* C68E2C 80240CFC 8E420064 */ lw $v0, 0x64($s2) +/* C68E30 80240D00 24420001 */ addiu $v0, $v0, 1 +/* C68E34 80240D04 AE420064 */ sw $v0, 0x64($s2) +/* C68E38 80240D08 28420010 */ slti $v0, $v0, 0x10 +/* C68E3C 80240D0C 1440002F */ bnez $v0, .L80240DCC +/* C68E40 80240D10 0000882D */ daddu $s1, $zero, $zero +/* C68E44 80240D14 08090370 */ j .L80240DC0 +/* C68E48 80240D18 24020001 */ addiu $v0, $zero, 1 +.L80240D1C: +/* C68E4C 80240D1C 4480A000 */ mtc1 $zero, $f20 +/* C68E50 80240D20 24130014 */ addiu $s3, $zero, 0x14 +/* C68E54 80240D24 0240802D */ daddu $s0, $s2, $zero +.L80240D28: +/* C68E58 80240D28 4405A000 */ mfc1 $a1, $f20 +/* C68E5C 80240D2C AFB30010 */ sw $s3, 0x10($sp) +/* C68E60 80240D30 8E060038 */ lw $a2, 0x38($s0) +/* C68E64 80240D34 8E470064 */ lw $a3, 0x64($s2) +/* C68E68 80240D38 0C00A8ED */ jal update_lerp +/* C68E6C 80240D3C 24040001 */ addiu $a0, $zero, 1 +/* C68E70 80240D40 C6020014 */ lwc1 $f2, 0x14($s0) +/* C68E74 80240D44 46001080 */ add.s $f2, $f2, $f0 +/* C68E78 80240D48 4405A000 */ mfc1 $a1, $f20 +/* C68E7C 80240D4C E6020014 */ swc1 $f2, 0x14($s0) +/* C68E80 80240D50 AFB30010 */ sw $s3, 0x10($sp) +/* C68E84 80240D54 8E060044 */ lw $a2, 0x44($s0) +/* C68E88 80240D58 8E470064 */ lw $a3, 0x64($s2) +/* C68E8C 80240D5C 0C00A8ED */ jal update_lerp +/* C68E90 80240D60 24040001 */ addiu $a0, $zero, 1 +/* C68E94 80240D64 C6020020 */ lwc1 $f2, 0x20($s0) +/* C68E98 80240D68 46001080 */ add.s $f2, $f2, $f0 +/* C68E9C 80240D6C 4405A000 */ mfc1 $a1, $f20 +/* C68EA0 80240D70 E6020020 */ swc1 $f2, 0x20($s0) +/* C68EA4 80240D74 AFB30010 */ sw $s3, 0x10($sp) +/* C68EA8 80240D78 8E060050 */ lw $a2, 0x50($s0) +/* C68EAC 80240D7C 8E470064 */ lw $a3, 0x64($s2) +/* C68EB0 80240D80 0C00A8ED */ jal update_lerp +/* C68EB4 80240D84 24040001 */ addiu $a0, $zero, 1 +/* C68EB8 80240D88 C602002C */ lwc1 $f2, 0x2c($s0) +/* C68EBC 80240D8C 46001080 */ add.s $f2, $f2, $f0 +/* C68EC0 80240D90 26310001 */ addiu $s1, $s1, 1 +/* C68EC4 80240D94 2A220003 */ slti $v0, $s1, 3 +/* C68EC8 80240D98 E602002C */ swc1 $f2, 0x2c($s0) +/* C68ECC 80240D9C 1440FFE2 */ bnez $v0, .L80240D28 +/* C68ED0 80240DA0 26100004 */ addiu $s0, $s0, 4 +/* C68ED4 80240DA4 8E420064 */ lw $v0, 0x64($s2) +/* C68ED8 80240DA8 24420001 */ addiu $v0, $v0, 1 +/* C68EDC 80240DAC AE420064 */ sw $v0, 0x64($s2) +/* C68EE0 80240DB0 28420015 */ slti $v0, $v0, 0x15 +/* C68EE4 80240DB4 14400005 */ bnez $v0, .L80240DCC +/* C68EE8 80240DB8 0000882D */ daddu $s1, $zero, $zero +/* C68EEC 80240DBC 24020002 */ addiu $v0, $zero, 2 +.L80240DC0: +/* C68EF0 80240DC0 AE420004 */ sw $v0, 4($s2) +/* C68EF4 80240DC4 AE400064 */ sw $zero, 0x64($s2) +/* C68EF8 80240DC8 0000882D */ daddu $s1, $zero, $zero +.L80240DCC: +/* C68EFC 80240DCC 0240282D */ daddu $a1, $s2, $zero +.L80240DD0: +/* C68F00 80240DD0 8CA20008 */ lw $v0, 8($a1) +/* C68F04 80240DD4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* C68F08 80240DD8 8C42000C */ lw $v0, 0xc($v0) +/* C68F0C 80240DDC E4400010 */ swc1 $f0, 0x10($v0) +/* C68F10 80240DE0 8CA20008 */ lw $v0, 8($a1) +/* C68F14 80240DE4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* C68F18 80240DE8 8C42000C */ lw $v0, 0xc($v0) +/* C68F1C 80240DEC 26310001 */ addiu $s1, $s1, 1 +/* C68F20 80240DF0 E4400014 */ swc1 $f0, 0x14($v0) +/* C68F24 80240DF4 8CA20008 */ lw $v0, 8($a1) +/* C68F28 80240DF8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* C68F2C 80240DFC 8C42000C */ lw $v0, 0xc($v0) +/* C68F30 80240E00 E4400018 */ swc1 $f0, 0x18($v0) +/* C68F34 80240E04 2A220003 */ slti $v0, $s1, 3 +/* C68F38 80240E08 1440FFF1 */ bnez $v0, .L80240DD0 +/* C68F3C 80240E0C 24A50004 */ addiu $a1, $a1, 4 +/* C68F40 80240E10 0000102D */ daddu $v0, $zero, $zero +.L80240E14: +/* C68F44 80240E14 8FBF0044 */ lw $ra, 0x44($sp) +/* C68F48 80240E18 8FB60040 */ lw $s6, 0x40($sp) +/* C68F4C 80240E1C 8FB5003C */ lw $s5, 0x3c($sp) +/* C68F50 80240E20 8FB40038 */ lw $s4, 0x38($sp) +/* C68F54 80240E24 8FB30034 */ lw $s3, 0x34($sp) +/* C68F58 80240E28 8FB20030 */ lw $s2, 0x30($sp) +/* C68F5C 80240E2C 8FB1002C */ lw $s1, 0x2c($sp) +/* C68F60 80240E30 8FB00028 */ lw $s0, 0x28($sp) +/* C68F64 80240E34 D7B80058 */ ldc1 $f24, 0x58($sp) +/* C68F68 80240E38 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C68F6C 80240E3C D7B40048 */ ldc1 $f20, 0x48($sp) +/* C68F70 80240E40 03E00008 */ jr $ra +/* C68F74 80240E44 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240E48_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240E48_C68130.s new file mode 100644 index 0000000000..32f93b730c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240E48_C68130.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E48_C68F78 +/* C68F78 80240E48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C68F7C 80240E4C AFB10014 */ sw $s1, 0x14($sp) +/* C68F80 80240E50 0080882D */ daddu $s1, $a0, $zero +/* C68F84 80240E54 AFB20018 */ sw $s2, 0x18($sp) +/* C68F88 80240E58 AFBF001C */ sw $ra, 0x1c($sp) +/* C68F8C 80240E5C AFB00010 */ sw $s0, 0x10($sp) +/* C68F90 80240E60 8E30000C */ lw $s0, 0xc($s1) +/* C68F94 80240E64 10A00010 */ beqz $a1, .L80240EA8 +/* C68F98 80240E68 0000902D */ daddu $s2, $zero, $zero +/* C68F9C 80240E6C 8E050000 */ lw $a1, ($s0) +/* C68FA0 80240E70 0C0B1EAF */ jal get_variable +/* C68FA4 80240E74 26100004 */ addiu $s0, $s0, 4 +/* C68FA8 80240E78 AE220084 */ sw $v0, 0x84($s1) +/* C68FAC 80240E7C 8E050000 */ lw $a1, ($s0) +/* C68FB0 80240E80 0C0B1EAF */ jal get_variable +/* C68FB4 80240E84 0220202D */ daddu $a0, $s1, $zero +/* C68FB8 80240E88 0240202D */ daddu $a0, $s2, $zero +/* C68FBC 80240E8C 240500D0 */ addiu $a1, $zero, 0xd0 +/* C68FC0 80240E90 00A0302D */ daddu $a2, $a1, $zero +/* C68FC4 80240E94 00A0382D */ daddu $a3, $a1, $zero +/* C68FC8 80240E98 AE220088 */ sw $v0, 0x88($s1) +/* C68FCC 80240E9C AE200070 */ sw $zero, 0x70($s1) +/* C68FD0 80240EA0 0C04DF84 */ jal func_80137E10 +/* C68FD4 80240EA4 AE200074 */ sw $zero, 0x74($s1) +.L80240EA8: +/* C68FD8 80240EA8 8E230070 */ lw $v1, 0x70($s1) +/* C68FDC 80240EAC 24040001 */ addiu $a0, $zero, 1 +/* C68FE0 80240EB0 10640019 */ beq $v1, $a0, .L80240F18 +/* C68FE4 80240EB4 28620002 */ slti $v0, $v1, 2 +/* C68FE8 80240EB8 10400005 */ beqz $v0, .L80240ED0 +/* C68FEC 80240EBC 24020002 */ addiu $v0, $zero, 2 +/* C68FF0 80240EC0 10600007 */ beqz $v1, .L80240EE0 +/* C68FF4 80240EC4 240500FF */ addiu $a1, $zero, 0xff +/* C68FF8 80240EC8 080903D6 */ j .L80240F58 +/* C68FFC 80240ECC 00000000 */ nop +.L80240ED0: +/* C69000 80240ED0 10620019 */ beq $v1, $v0, .L80240F38 +/* C69004 80240ED4 00000000 */ nop +/* C69008 80240ED8 080903D6 */ j .L80240F58 +/* C6900C 80240EDC 00000000 */ nop +.L80240EE0: +/* C69010 80240EE0 8E220074 */ lw $v0, 0x74($s1) +/* C69014 80240EE4 14450004 */ bne $v0, $a1, .L80240EF8 +/* C69018 80240EE8 00000000 */ nop +/* C6901C 80240EEC AE240070 */ sw $a0, 0x70($s1) +/* C69020 80240EF0 AE200078 */ sw $zero, 0x78($s1) +/* C69024 80240EF4 8E220074 */ lw $v0, 0x74($s1) +.L80240EF8: +/* C69028 80240EF8 8E230084 */ lw $v1, 0x84($s1) +/* C6902C 80240EFC 00431021 */ addu $v0, $v0, $v1 +/* C69030 80240F00 AE220074 */ sw $v0, 0x74($s1) +/* C69034 80240F04 28420100 */ slti $v0, $v0, 0x100 +/* C69038 80240F08 50400013 */ beql $v0, $zero, .L80240F58 +/* C6903C 80240F0C AE250074 */ sw $a1, 0x74($s1) +/* C69040 80240F10 080903D6 */ j .L80240F58 +/* C69044 80240F14 00000000 */ nop +.L80240F18: +/* C69048 80240F18 8E220078 */ lw $v0, 0x78($s1) +/* C6904C 80240F1C 24420001 */ addiu $v0, $v0, 1 +/* C69050 80240F20 AE220078 */ sw $v0, 0x78($s1) +/* C69054 80240F24 28420002 */ slti $v0, $v0, 2 +/* C69058 80240F28 1440000B */ bnez $v0, .L80240F58 +/* C6905C 80240F2C 24020002 */ addiu $v0, $zero, 2 +/* C69060 80240F30 080903D6 */ j .L80240F58 +/* C69064 80240F34 AE220070 */ sw $v0, 0x70($s1) +.L80240F38: +/* C69068 80240F38 8E230074 */ lw $v1, 0x74($s1) +/* C6906C 80240F3C 50600001 */ beql $v1, $zero, .L80240F44 +/* C69070 80240F40 24120001 */ addiu $s2, $zero, 1 +.L80240F44: +/* C69074 80240F44 8E220088 */ lw $v0, 0x88($s1) +/* C69078 80240F48 00621023 */ subu $v0, $v1, $v0 +/* C6907C 80240F4C 04410002 */ bgez $v0, .L80240F58 +/* C69080 80240F50 AE220074 */ sw $v0, 0x74($s1) +/* C69084 80240F54 AE200074 */ sw $zero, 0x74($s1) +.L80240F58: +/* C69088 80240F58 C6200074 */ lwc1 $f0, 0x74($s1) +/* C6908C 80240F5C 46800020 */ cvt.s.w $f0, $f0 +/* C69090 80240F60 44050000 */ mfc1 $a1, $f0 +/* C69094 80240F64 0C04DF62 */ jal func_80137D88 +/* C69098 80240F68 24040001 */ addiu $a0, $zero, 1 +/* C6909C 80240F6C 0240102D */ daddu $v0, $s2, $zero +/* C690A0 80240F70 8FBF001C */ lw $ra, 0x1c($sp) +/* C690A4 80240F74 8FB20018 */ lw $s2, 0x18($sp) +/* C690A8 80240F78 8FB10014 */ lw $s1, 0x14($sp) +/* C690AC 80240F7C 8FB00010 */ lw $s0, 0x10($sp) +/* C690B0 80240F80 03E00008 */ jr $ra +/* C690B4 80240F84 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240F88_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240F88_C68130.s new file mode 100644 index 0000000000..c059bab2f9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240F88_C68130.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F88_C690B8 +/* C690B8 80240F88 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C690BC 80240F8C AFBF0018 */ sw $ra, 0x18($sp) +/* C690C0 80240F90 0C00EAD2 */ jal get_npc_safe +/* C690C4 80240F94 2404FFFC */ addiu $a0, $zero, -4 +/* C690C8 80240F98 3C0141F0 */ lui $at, 0x41f0 +/* C690CC 80240F9C 44810000 */ mtc1 $at, $f0 +/* C690D0 80240FA0 C442003C */ lwc1 $f2, 0x3c($v0) +/* C690D4 80240FA4 46001080 */ add.s $f2, $f2, $f0 +/* C690D8 80240FA8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C690DC 80240FAC 8C450038 */ lw $a1, 0x38($v0) +/* C690E0 80240FB0 8C470040 */ lw $a3, 0x40($v0) +/* C690E4 80240FB4 44061000 */ mfc1 $a2, $f2 +/* C690E8 80240FB8 0C01BFBC */ jal func_8006FEF0 +/* C690EC 80240FBC 24040002 */ addiu $a0, $zero, 2 +/* C690F0 80240FC0 8FBF0018 */ lw $ra, 0x18($sp) +/* C690F4 80240FC4 24020002 */ addiu $v0, $zero, 2 +/* C690F8 80240FC8 03E00008 */ jr $ra +/* C690FC 80240FCC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80240FD0_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240FD0_C68130.s new file mode 100644 index 0000000000..29d9a68c1f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80240FD0_C68130.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD0_C69100 +/* C69100 80240FD0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C69104 80240FD4 AFBF0018 */ sw $ra, 0x18($sp) +/* C69108 80240FD8 0C00EAD2 */ jal get_npc_safe +/* C6910C 80240FDC 2404FFFC */ addiu $a0, $zero, -4 +/* C69110 80240FE0 3C0141F0 */ lui $at, 0x41f0 +/* C69114 80240FE4 44810000 */ mtc1 $at, $f0 +/* C69118 80240FE8 C442003C */ lwc1 $f2, 0x3c($v0) +/* C6911C 80240FEC 46001080 */ add.s $f2, $f2, $f0 +/* C69120 80240FF0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C69124 80240FF4 8C450038 */ lw $a1, 0x38($v0) +/* C69128 80240FF8 8C470040 */ lw $a3, 0x40($v0) +/* C6912C 80240FFC 44061000 */ mfc1 $a2, $f2 +/* C69130 80241000 0C01BFBC */ jal func_8006FEF0 +/* C69134 80241004 24040004 */ addiu $a0, $zero, 4 +/* C69138 80241008 8FBF0018 */ lw $ra, 0x18($sp) +/* C6913C 8024100C 24020002 */ addiu $v0, $zero, 2 +/* C69140 80241010 03E00008 */ jr $ra +/* C69144 80241014 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80241018.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241018.s new file mode 100644 index 0000000000..a1141ec62a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241018.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241018 +/* C69148 80241018 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C6914C 8024101C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* C69150 80241020 AC800084 */ sw $zero, 0x84($a0) +/* C69154 80241024 80620000 */ lb $v0, ($v1) +/* C69158 80241028 10400005 */ beqz $v0, .L80241040 +/* C6915C 8024102C 24020003 */ addiu $v0, $zero, 3 +/* C69160 80241030 80630003 */ lb $v1, 3($v1) +/* C69164 80241034 14620002 */ bne $v1, $v0, .L80241040 +/* C69168 80241038 24020001 */ addiu $v0, $zero, 1 +/* C6916C 8024103C AC820084 */ sw $v0, 0x84($a0) +.L80241040: +/* C69170 80241040 03E00008 */ jr $ra +/* C69174 80241044 24020002 */ addiu $v0, $zero, 2 +/* C69178 80241048 00000000 */ nop +/* C6917C 8024104C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80241050_C68130.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241050_C68130.s new file mode 100644 index 0000000000..7c54ad6355 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241050_C68130.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241050_C69180 +/* C69180 80241050 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C69184 80241054 AFB40028 */ sw $s4, 0x28($sp) +/* C69188 80241058 0080A02D */ daddu $s4, $a0, $zero +/* C6918C 8024105C AFBF0038 */ sw $ra, 0x38($sp) +/* C69190 80241060 AFB70034 */ sw $s7, 0x34($sp) +/* C69194 80241064 AFB60030 */ sw $s6, 0x30($sp) +/* C69198 80241068 AFB5002C */ sw $s5, 0x2c($sp) +/* C6919C 8024106C AFB30024 */ sw $s3, 0x24($sp) +/* C691A0 80241070 AFB20020 */ sw $s2, 0x20($sp) +/* C691A4 80241074 AFB1001C */ sw $s1, 0x1c($sp) +/* C691A8 80241078 AFB00018 */ sw $s0, 0x18($sp) +/* C691AC 8024107C F7B80050 */ sdc1 $f24, 0x50($sp) +/* C691B0 80241080 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C691B4 80241084 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C691B8 80241088 8E82000C */ lw $v0, 0xc($s4) +/* C691BC 8024108C 00A0802D */ daddu $s0, $a1, $zero +/* C691C0 80241090 8C450000 */ lw $a1, ($v0) +/* C691C4 80241094 0C0B1EAF */ jal get_variable +/* C691C8 80241098 0000A82D */ daddu $s5, $zero, $zero +/* C691CC 8024109C 8E830148 */ lw $v1, 0x148($s4) +/* C691D0 802410A0 84640008 */ lh $a0, 8($v1) +/* C691D4 802410A4 0C00EABB */ jal get_npc_unsafe +/* C691D8 802410A8 0040902D */ daddu $s2, $v0, $zero +/* C691DC 802410AC 0040882D */ daddu $s1, $v0, $zero +/* C691E0 802410B0 0C00EABB */ jal get_npc_unsafe +/* C691E4 802410B4 2404FFFC */ addiu $a0, $zero, -4 +/* C691E8 802410B8 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* C691EC 802410BC 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* C691F0 802410C0 3C168011 */ lui $s6, %hi(D_8010EBB0) +/* C691F4 802410C4 26D6EBB0 */ addiu $s6, $s6, %lo(D_8010EBB0) +/* C691F8 802410C8 1200001C */ beqz $s0, .L8024113C +/* C691FC 802410CC 0040B82D */ daddu $s7, $v0, $zero +/* C69200 802410D0 0C00AB39 */ jal heap_malloc +/* C69204 802410D4 24040030 */ addiu $a0, $zero, 0x30 +/* C69208 802410D8 0040802D */ daddu $s0, $v0, $zero +/* C6920C 802410DC AE900074 */ sw $s0, 0x74($s4) +/* C69210 802410E0 AE000000 */ sw $zero, ($s0) +/* C69214 802410E4 C6400000 */ lwc1 $f0, ($s2) +/* C69218 802410E8 46800020 */ cvt.s.w $f0, $f0 +/* C6921C 802410EC E6000004 */ swc1 $f0, 4($s0) +/* C69220 802410F0 C6400004 */ lwc1 $f0, 4($s2) +/* C69224 802410F4 46800020 */ cvt.s.w $f0, $f0 +/* C69228 802410F8 E6000008 */ swc1 $f0, 8($s0) +/* C6922C 802410FC C6400008 */ lwc1 $f0, 8($s2) +/* C69230 80241100 46800020 */ cvt.s.w $f0, $f0 +/* C69234 80241104 E600000C */ swc1 $f0, 0xc($s0) +/* C69238 80241108 C640000C */ lwc1 $f0, 0xc($s2) +/* C6923C 8024110C 46800020 */ cvt.s.w $f0, $f0 +/* C69240 80241110 E6000010 */ swc1 $f0, 0x10($s0) +/* C69244 80241114 8E420010 */ lw $v0, 0x10($s2) +/* C69248 80241118 AE020014 */ sw $v0, 0x14($s0) +/* C6924C 8024111C 8E420014 */ lw $v0, 0x14($s2) +/* C69250 80241120 AE020018 */ sw $v0, 0x18($s0) +/* C69254 80241124 8E420018 */ lw $v0, 0x18($s2) +/* C69258 80241128 AE000020 */ sw $zero, 0x20($s0) +/* C6925C 8024112C AE000024 */ sw $zero, 0x24($s0) +/* C69260 80241130 AE000028 */ sw $zero, 0x28($s0) +/* C69264 80241134 AE12002C */ sw $s2, 0x2c($s0) +/* C69268 80241138 AE02001C */ sw $v0, 0x1c($s0) +.L8024113C: +/* C6926C 8024113C 0C009C64 */ jal func_80027190 +/* C69270 80241140 00000000 */ nop +/* C69274 80241144 14400131 */ bnez $v0, .L8024160C +/* C69278 80241148 0000102D */ daddu $v0, $zero, $zero +/* C6927C 8024114C 8E900074 */ lw $s0, 0x74($s4) +/* C69280 80241150 8E020018 */ lw $v0, 0x18($s0) +/* C69284 80241154 02A2102A */ slt $v0, $s5, $v0 +/* C69288 80241158 10400082 */ beqz $v0, .L80241364 +/* C6928C 8024115C 0000902D */ daddu $s2, $zero, $zero +/* C69290 80241160 3C013F00 */ lui $at, 0x3f00 +/* C69294 80241164 4481C000 */ mtc1 $at, $f24 +.L80241168: +/* C69298 80241168 8E040014 */ lw $a0, 0x14($s0) +/* C6929C 8024116C 0C00EABB */ jal get_npc_unsafe +/* C692A0 80241170 00922021 */ addu $a0, $a0, $s2 +/* C692A4 80241174 8E030000 */ lw $v1, ($s0) +/* C692A8 80241178 30630001 */ andi $v1, $v1, 1 +/* C692AC 8024117C 14600020 */ bnez $v1, .L80241200 +/* C692B0 80241180 0040882D */ daddu $s1, $v0, $zero +/* C692B4 80241184 862200A6 */ lh $v0, 0xa6($s1) +/* C692B8 80241188 02420018 */ mult $s2, $v0 +/* C692BC 8024118C 00004012 */ mflo $t0 +/* C692C0 80241190 C6200054 */ lwc1 $f0, 0x54($s1) +/* C692C4 80241194 4488A000 */ mtc1 $t0, $f20 +/* C692C8 80241198 00000000 */ nop +/* C692CC 8024119C 4680A520 */ cvt.s.w $f20, $f20 +/* C692D0 802411A0 4600A502 */ mul.s $f20, $f20, $f0 +/* C692D4 802411A4 00000000 */ nop +/* C692D8 802411A8 0C00A8BB */ jal sin_deg +/* C692DC 802411AC C60C0028 */ lwc1 $f12, 0x28($s0) +/* C692E0 802411B0 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C692E4 802411B4 4600A582 */ mul.s $f22, $f20, $f0 +/* C692E8 802411B8 0C00A8D4 */ jal cos_deg +/* C692EC 802411BC 00000000 */ nop +/* C692F0 802411C0 C6020004 */ lwc1 $f2, 4($s0) +/* C692F4 802411C4 46161080 */ add.s $f2, $f2, $f22 +/* C692F8 802411C8 4600A507 */ neg.s $f20, $f20 +/* C692FC 802411CC 4600A502 */ mul.s $f20, $f20, $f0 +/* C69300 802411D0 00000000 */ nop +/* C69304 802411D4 E6220038 */ swc1 $f2, 0x38($s1) +/* C69308 802411D8 C6000008 */ lwc1 $f0, 8($s0) +/* C6930C 802411DC E620003C */ swc1 $f0, 0x3c($s1) +/* C69310 802411E0 C60E000C */ lwc1 $f14, 0xc($s0) +/* C69314 802411E4 46147380 */ add.s $f14, $f14, $f20 +/* C69318 802411E8 E62E0040 */ swc1 $f14, 0x40($s1) +/* C6931C 802411EC 8E660028 */ lw $a2, 0x28($s3) +/* C69320 802411F0 8E670030 */ lw $a3, 0x30($s3) +/* C69324 802411F4 0C00A720 */ jal atan2 +/* C69328 802411F8 46001306 */ mov.s $f12, $f2 +/* C6932C 802411FC E620000C */ swc1 $f0, 0xc($s1) +.L80241200: +/* C69330 80241200 8E020000 */ lw $v0, ($s0) +/* C69334 80241204 30420002 */ andi $v0, $v0, 2 +/* C69338 80241208 14400051 */ bnez $v0, .L80241350 +/* C6933C 8024120C 00000000 */ nop +/* C69340 80241210 8E620000 */ lw $v0, ($s3) +/* C69344 80241214 30428000 */ andi $v0, $v0, 0x8000 +/* C69348 80241218 1440004D */ bnez $v0, .L80241350 +/* C6934C 8024121C 24020001 */ addiu $v0, $zero, 1 +/* C69350 80241220 C664002C */ lwc1 $f4, 0x2c($s3) +/* C69354 80241224 C622003C */ lwc1 $f2, 0x3c($s1) +/* C69358 80241228 82C30000 */ lb $v1, ($s6) +/* C6935C 8024122C 1462000F */ bne $v1, $v0, .L8024126C +/* C69360 80241230 46022181 */ sub.s $f6, $f4, $f2 +/* C69364 80241234 82C30003 */ lb $v1, 3($s6) +/* C69368 80241238 24020008 */ addiu $v0, $zero, 8 +/* C6936C 8024123C 14620004 */ bne $v1, $v0, .L80241250 +/* C69370 80241240 24020004 */ addiu $v0, $zero, 4 +/* C69374 80241244 C6E0003C */ lwc1 $f0, 0x3c($s7) +/* C69378 80241248 0809049B */ j .L8024126C +/* C6937C 8024124C 46020181 */ sub.s $f6, $f0, $f2 +.L80241250: +/* C69380 80241250 14620006 */ bne $v1, $v0, .L8024126C +/* C69384 80241254 00000000 */ nop +/* C69388 80241258 3C014120 */ lui $at, 0x4120 +/* C6938C 8024125C 44810000 */ mtc1 $at, $f0 +/* C69390 80241260 00000000 */ nop +/* C69394 80241264 46002001 */ sub.s $f0, $f4, $f0 +/* C69398 80241268 46020181 */ sub.s $f6, $f0, $f2 +.L8024126C: +/* C6939C 8024126C 862200A8 */ lh $v0, 0xa8($s1) +/* C693A0 80241270 3C013F4C */ lui $at, 0x3f4c +/* C693A4 80241274 3421CCCD */ ori $at, $at, 0xcccd +/* C693A8 80241278 44810000 */ mtc1 $at, $f0 +/* C693AC 8024127C 44822000 */ mtc1 $v0, $f4 +/* C693B0 80241280 00000000 */ nop +/* C693B4 80241284 46802120 */ cvt.s.w $f4, $f4 +/* C693B8 80241288 46002102 */ mul.s $f4, $f4, $f0 +/* C693BC 8024128C 00000000 */ nop +/* C693C0 80241290 C6620028 */ lwc1 $f2, 0x28($s3) +/* C693C4 80241294 C6200038 */ lwc1 $f0, 0x38($s1) +/* C693C8 80241298 46001581 */ sub.s $f22, $f2, $f0 +/* C693CC 8024129C C6620030 */ lwc1 $f2, 0x30($s3) +/* C693D0 802412A0 C6200040 */ lwc1 $f0, 0x40($s1) +/* C693D4 802412A4 46001501 */ sub.s $f20, $f2, $f0 +/* C693D8 802412A8 46003005 */ abs.s $f0, $f6 +/* C693DC 802412AC 4604003C */ c.lt.s $f0, $f4 +/* C693E0 802412B0 00000000 */ nop +/* C693E4 802412B4 45000026 */ bc1f .L80241350 +/* C693E8 802412B8 00000000 */ nop +/* C693EC 802412BC 4616B082 */ mul.s $f2, $f22, $f22 +/* C693F0 802412C0 00000000 */ nop +/* C693F4 802412C4 4614A002 */ mul.s $f0, $f20, $f20 +/* C693F8 802412C8 00000000 */ nop +/* C693FC 802412CC 46001300 */ add.s $f12, $f2, $f0 +/* C69400 802412D0 46006104 */ sqrt.s $f4, $f12 +/* C69404 802412D4 46042032 */ c.eq.s $f4, $f4 +/* C69408 802412D8 00000000 */ nop +/* C6940C 802412DC 45010004 */ bc1t .L802412F0 +/* C69410 802412E0 00000000 */ nop +/* C69414 802412E4 0C0187BC */ jal sqrtf +/* C69418 802412E8 00000000 */ nop +/* C6941C 802412EC 46000106 */ mov.s $f4, $f0 +.L802412F0: +/* C69420 802412F0 862200A6 */ lh $v0, 0xa6($s1) +/* C69424 802412F4 44821000 */ mtc1 $v0, $f2 +/* C69428 802412F8 00000000 */ nop +/* C6942C 802412FC 468010A0 */ cvt.s.w $f2, $f2 +/* C69430 80241300 46181082 */ mul.s $f2, $f2, $f24 +/* C69434 80241304 00000000 */ nop +/* C69438 80241308 C6200054 */ lwc1 $f0, 0x54($s1) +/* C6943C 8024130C 46001082 */ mul.s $f2, $f2, $f0 +/* C69440 80241310 00000000 */ nop +/* C69444 80241314 866200B2 */ lh $v0, 0xb2($s3) +/* C69448 80241318 44820000 */ mtc1 $v0, $f0 +/* C6944C 8024131C 00000000 */ nop +/* C69450 80241320 46800020 */ cvt.s.w $f0, $f0 +/* C69454 80241324 46180002 */ mul.s $f0, $f0, $f24 +/* C69458 80241328 00000000 */ nop +/* C6945C 8024132C 46181082 */ mul.s $f2, $f2, $f24 +/* C69460 80241330 00000000 */ nop +/* C69464 80241334 46180002 */ mul.s $f0, $f0, $f24 +/* C69468 80241338 00000000 */ nop +/* C6946C 8024133C 46001080 */ add.s $f2, $f2, $f0 +/* C69470 80241340 4602203E */ c.le.s $f4, $f2 +/* C69474 80241344 00000000 */ nop +/* C69478 80241348 45030001 */ bc1tl .L80241350 +/* C6947C 8024134C 24150001 */ addiu $s5, $zero, 1 +.L80241350: +/* C69480 80241350 8E020018 */ lw $v0, 0x18($s0) +/* C69484 80241354 26520001 */ addiu $s2, $s2, 1 +/* C69488 80241358 0242102A */ slt $v0, $s2, $v0 +/* C6948C 8024135C 1440FF82 */ bnez $v0, .L80241168 +/* C69490 80241360 00000000 */ nop +.L80241364: +/* C69494 80241364 8E620000 */ lw $v0, ($s3) +/* C69498 80241368 30428000 */ andi $v0, $v0, 0x8000 +/* C6949C 8024136C 54400001 */ bnel $v0, $zero, .L80241374 +/* C694A0 80241370 2415FFFF */ addiu $s5, $zero, -1 +.L80241374: +/* C694A4 80241374 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C694A8 80241378 C6000010 */ lwc1 $f0, 0x10($s0) +/* C694AC 8024137C 46006300 */ add.s $f12, $f12, $f0 +/* C694B0 80241380 0C00A6C9 */ jal clamp_angle +/* C694B4 80241384 E60C0028 */ swc1 $f12, 0x28($s0) +/* C694B8 80241388 C6020028 */ lwc1 $f2, 0x28($s0) +/* C694BC 8024138C 46000106 */ mov.s $f4, $f0 +/* C694C0 80241390 46022032 */ c.eq.s $f4, $f2 +/* C694C4 80241394 00000000 */ nop +/* C694C8 80241398 4501000D */ bc1t .L802413D0 +/* C694CC 8024139C 00000000 */ nop +/* C694D0 802413A0 8E020020 */ lw $v0, 0x20($s0) +/* C694D4 802413A4 C600000C */ lwc1 $f0, 0xc($s0) +/* C694D8 802413A8 E6040028 */ swc1 $f4, 0x28($s0) +/* C694DC 802413AC 00021080 */ sll $v0, $v0, 2 +/* C694E0 802413B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C694E4 802413B4 3C048024 */ lui $a0, 0x8024 +/* C694E8 802413B8 00822021 */ addu $a0, $a0, $v0 +/* C694EC 802413BC 8C8422F0 */ lw $a0, 0x22f0($a0) +/* C694F0 802413C0 8E060004 */ lw $a2, 4($s0) +/* C694F4 802413C4 8E070008 */ lw $a3, 8($s0) +/* C694F8 802413C8 0C052757 */ jal play_sound_at_position +/* C694FC 802413CC 0000282D */ daddu $a1, $zero, $zero +.L802413D0: +/* C69500 802413D0 C60C0004 */ lwc1 $f12, 4($s0) +/* C69504 802413D4 C60E000C */ lwc1 $f14, 0xc($s0) +/* C69508 802413D8 8E660028 */ lw $a2, 0x28($s3) +/* C6950C 802413DC 0C00A7B5 */ jal dist2D +/* C69510 802413E0 8E670030 */ lw $a3, 0x30($s3) +/* C69514 802413E4 C60C0004 */ lwc1 $f12, 4($s0) +/* C69518 802413E8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C6951C 802413EC 8E260038 */ lw $a2, 0x38($s1) +/* C69520 802413F0 8E270040 */ lw $a3, 0x40($s1) +/* C69524 802413F4 0C00A7B5 */ jal dist2D +/* C69528 802413F8 46000586 */ mov.s $f22, $f0 +/* C6952C 802413FC 862200A6 */ lh $v0, 0xa6($s1) +/* C69530 80241400 3C013F00 */ lui $at, 0x3f00 +/* C69534 80241404 44813000 */ mtc1 $at, $f6 +/* C69538 80241408 44821000 */ mtc1 $v0, $f2 +/* C6953C 8024140C 00000000 */ nop +/* C69540 80241410 468010A0 */ cvt.s.w $f2, $f2 +/* C69544 80241414 46061082 */ mul.s $f2, $f2, $f6 +/* C69548 80241418 00000000 */ nop +/* C6954C 8024141C C6240054 */ lwc1 $f4, 0x54($s1) +/* C69550 80241420 46041082 */ mul.s $f2, $f2, $f4 +/* C69554 80241424 00000000 */ nop +/* C69558 80241428 866200B2 */ lh $v0, 0xb2($s3) +/* C6955C 8024142C 44822000 */ mtc1 $v0, $f4 +/* C69560 80241430 00000000 */ nop +/* C69564 80241434 46802120 */ cvt.s.w $f4, $f4 +/* C69568 80241438 46062102 */ mul.s $f4, $f4, $f6 +/* C6956C 8024143C 00000000 */ nop +/* C69570 80241440 46061082 */ mul.s $f2, $f2, $f6 +/* C69574 80241444 00000000 */ nop +/* C69578 80241448 46062102 */ mul.s $f4, $f4, $f6 +/* C6957C 8024144C 00000000 */ nop +/* C69580 80241450 C60C0004 */ lwc1 $f12, 4($s0) +/* C69584 80241454 C60E000C */ lwc1 $f14, 0xc($s0) +/* C69588 80241458 46020000 */ add.s $f0, $f0, $f2 +/* C6958C 8024145C 8E660028 */ lw $a2, 0x28($s3) +/* C69590 80241460 8E670030 */ lw $a3, 0x30($s3) +/* C69594 80241464 0C00A720 */ jal atan2 +/* C69598 80241468 46040600 */ add.s $f24, $f0, $f4 +/* C6959C 8024146C C60C0004 */ lwc1 $f12, 4($s0) +/* C695A0 80241470 C60E000C */ lwc1 $f14, 0xc($s0) +/* C695A4 80241474 8E260038 */ lw $a2, 0x38($s1) +/* C695A8 80241478 8E270040 */ lw $a3, 0x40($s1) +/* C695AC 8024147C 0C00A720 */ jal atan2 +/* C695B0 80241480 46000506 */ mov.s $f20, $f0 +/* C695B4 80241484 4600A306 */ mov.s $f12, $f20 +/* C695B8 80241488 0C00A70A */ jal get_clamped_angle_diff +/* C695BC 8024148C 46000386 */ mov.s $f14, $f0 +/* C695C0 80241490 1AA0002A */ blez $s5, .L8024153C +/* C695C4 80241494 46000506 */ mov.s $f20, $f0 +/* C695C8 80241498 826300B4 */ lb $v1, 0xb4($s3) +/* C695CC 8024149C 24020015 */ addiu $v0, $zero, 0x15 +/* C695D0 802414A0 10620026 */ beq $v1, $v0, .L8024153C +/* C695D4 802414A4 0040202D */ daddu $a0, $v0, $zero +/* C695D8 802414A8 24020003 */ addiu $v0, $zero, 3 +/* C695DC 802414AC 0C039769 */ jal set_action_state +/* C695E0 802414B0 A26200BF */ sb $v0, 0xbf($s3) +/* C695E4 802414B4 240400E8 */ addiu $a0, $zero, 0xe8 +/* C695E8 802414B8 8E660028 */ lw $a2, 0x28($s3) +/* C695EC 802414BC 8E67002C */ lw $a3, 0x2c($s3) +/* C695F0 802414C0 C6600030 */ lwc1 $f0, 0x30($s3) +/* C695F4 802414C4 0000282D */ daddu $a1, $zero, $zero +/* C695F8 802414C8 0C052757 */ jal play_sound_at_position +/* C695FC 802414CC E7A00010 */ swc1 $f0, 0x10($sp) +/* C69600 802414D0 2402002D */ addiu $v0, $zero, 0x2d +/* C69604 802414D4 3C01800B */ lui $at, 0x800b +/* C69608 802414D8 A0220F1A */ sb $v0, 0xf1a($at) +/* C6960C 802414DC C6600028 */ lwc1 $f0, 0x28($s3) +/* C69610 802414E0 C6620030 */ lwc1 $f2, 0x30($s3) +/* C69614 802414E4 2402002D */ addiu $v0, $zero, 0x2d +/* C69618 802414E8 A6620010 */ sh $v0, 0x10($s3) +/* C6961C 802414EC 4600020D */ trunc.w.s $f8, $f0 +/* C69620 802414F0 44024000 */ mfc1 $v0, $f8 +/* C69624 802414F4 C660002C */ lwc1 $f0, 0x2c($s3) +/* C69628 802414F8 A6620016 */ sh $v0, 0x16($s3) +/* C6962C 802414FC 4600020D */ trunc.w.s $f8, $f0 +/* C69630 80241500 44024000 */ mfc1 $v0, $f8 +/* C69634 80241504 00000000 */ nop +/* C69638 80241508 A6620018 */ sh $v0, 0x18($s3) +/* C6963C 8024150C 4600120D */ trunc.w.s $f8, $f2 +/* C69640 80241510 44024000 */ mfc1 $v0, $f8 +/* C69644 80241514 00000000 */ nop +/* C69648 80241518 A662001A */ sh $v0, 0x1a($s3) +/* C6964C 8024151C 8E02001C */ lw $v0, 0x1c($s0) +/* C69650 80241520 10400033 */ beqz $v0, .L802415F0 +/* C69654 80241524 AE000020 */ sw $zero, 0x20($s0) +/* C69658 80241528 0200202D */ daddu $a0, $s0, $zero +/* C6965C 8024152C 0040F809 */ jalr $v0 +/* C69660 80241530 24050002 */ addiu $a1, $zero, 2 +/* C69664 80241534 0809057C */ j .L802415F0 +/* C69668 80241538 00000000 */ nop +.L8024153C: +/* C6966C 8024153C 4618B03C */ c.lt.s $f22, $f24 +/* C69670 80241540 00000000 */ nop +/* C69674 80241544 4500002A */ bc1f .L802415F0 +/* C69678 80241548 00000000 */ nop +/* C6967C 8024154C 8E020000 */ lw $v0, ($s0) +/* C69680 80241550 30420002 */ andi $v0, $v0, 2 +/* C69684 80241554 14400026 */ bnez $v0, .L802415F0 +/* C69688 80241558 00000000 */ nop +/* C6968C 8024155C 16A00024 */ bnez $s5, .L802415F0 +/* C69690 80241560 24020015 */ addiu $v0, $zero, 0x15 +/* C69694 80241564 826300B4 */ lb $v1, 0xb4($s3) +/* C69698 80241568 10620021 */ beq $v1, $v0, .L802415F0 +/* C6969C 8024156C 00000000 */ nop +/* C696A0 80241570 C6000010 */ lwc1 $f0, 0x10($s0) +/* C696A4 80241574 44801000 */ mtc1 $zero, $f2 +/* C696A8 80241578 00000000 */ nop +/* C696AC 8024157C 4600103C */ c.lt.s $f2, $f0 +/* C696B0 80241580 00000000 */ nop +/* C696B4 80241584 45000009 */ bc1f .L802415AC +/* C696B8 80241588 00000000 */ nop +/* C696BC 8024158C C6000024 */ lwc1 $f0, 0x24($s0) +/* C696C0 80241590 4602003C */ c.lt.s $f0, $f2 +/* C696C4 80241594 00000000 */ nop +/* C696C8 80241598 45000015 */ bc1f .L802415F0 +/* C696CC 8024159C 00000000 */ nop +/* C696D0 802415A0 4614103C */ c.lt.s $f2, $f20 +/* C696D4 802415A4 08090572 */ j .L802415C8 +/* C696D8 802415A8 00000000 */ nop +.L802415AC: +/* C696DC 802415AC C6000024 */ lwc1 $f0, 0x24($s0) +/* C696E0 802415B0 4600103C */ c.lt.s $f2, $f0 +/* C696E4 802415B4 00000000 */ nop +/* C696E8 802415B8 4500000D */ bc1f .L802415F0 +/* C696EC 802415BC 00000000 */ nop +/* C696F0 802415C0 4602A03C */ c.lt.s $f20, $f2 +/* C696F4 802415C4 00000000 */ nop +.L802415C8: +/* C696F8 802415C8 45000009 */ bc1f .L802415F0 +/* C696FC 802415CC 00000000 */ nop +/* C69700 802415D0 8E020020 */ lw $v0, 0x20($s0) +/* C69704 802415D4 8E03001C */ lw $v1, 0x1c($s0) +/* C69708 802415D8 24420001 */ addiu $v0, $v0, 1 +/* C6970C 802415DC 10600004 */ beqz $v1, .L802415F0 +/* C69710 802415E0 AE020020 */ sw $v0, 0x20($s0) +/* C69714 802415E4 0200202D */ daddu $a0, $s0, $zero +/* C69718 802415E8 0060F809 */ jalr $v1 +/* C6971C 802415EC 24050001 */ addiu $a1, $zero, 1 +.L802415F0: +/* C69720 802415F0 8E02001C */ lw $v0, 0x1c($s0) +/* C69724 802415F4 10400004 */ beqz $v0, .L80241608 +/* C69728 802415F8 E6140024 */ swc1 $f20, 0x24($s0) +/* C6972C 802415FC 0200202D */ daddu $a0, $s0, $zero +/* C69730 80241600 0040F809 */ jalr $v0 +/* C69734 80241604 0000282D */ daddu $a1, $zero, $zero +.L80241608: +/* C69738 80241608 0000102D */ daddu $v0, $zero, $zero +.L8024160C: +/* C6973C 8024160C 8FBF0038 */ lw $ra, 0x38($sp) +/* C69740 80241610 8FB70034 */ lw $s7, 0x34($sp) +/* C69744 80241614 8FB60030 */ lw $s6, 0x30($sp) +/* C69748 80241618 8FB5002C */ lw $s5, 0x2c($sp) +/* C6974C 8024161C 8FB40028 */ lw $s4, 0x28($sp) +/* C69750 80241620 8FB30024 */ lw $s3, 0x24($sp) +/* C69754 80241624 8FB20020 */ lw $s2, 0x20($sp) +/* C69758 80241628 8FB1001C */ lw $s1, 0x1c($sp) +/* C6975C 8024162C 8FB00018 */ lw $s0, 0x18($sp) +/* C69760 80241630 D7B80050 */ ldc1 $f24, 0x50($sp) +/* C69764 80241634 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C69768 80241638 D7B40040 */ ldc1 $f20, 0x40($sp) +/* C6976C 8024163C 03E00008 */ jr $ra +/* C69770 80241640 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_04/func_80241644.s b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241644.s new file mode 100644 index 0000000000..08baaf0b45 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_04/func_80241644.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241644 +/* C69774 80241644 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C69778 80241648 AFB00010 */ sw $s0, 0x10($sp) +/* C6977C 8024164C 0080802D */ daddu $s0, $a0, $zero +/* C69780 80241650 24020001 */ addiu $v0, $zero, 1 +/* C69784 80241654 10A20019 */ beq $a1, $v0, .L802416BC +/* C69788 80241658 AFBF0014 */ sw $ra, 0x14($sp) +/* C6978C 8024165C 28A20002 */ slti $v0, $a1, 2 +/* C69790 80241660 50400005 */ beql $v0, $zero, .L80241678 +/* C69794 80241664 24020002 */ addiu $v0, $zero, 2 +/* C69798 80241668 10A00007 */ beqz $a1, .L80241688 +/* C6979C 8024166C 00000000 */ nop +/* C697A0 80241670 080905D4 */ j .L80241750 +/* C697A4 80241674 00000000 */ nop +.L80241678: +/* C697A8 80241678 10A20028 */ beq $a1, $v0, .L8024171C +/* C697AC 8024167C 00000000 */ nop +/* C697B0 80241680 080905D4 */ j .L80241750 +/* C697B4 80241684 00000000 */ nop +.L80241688: +/* C697B8 80241688 8E020000 */ lw $v0, ($s0) +/* C697BC 8024168C 30420002 */ andi $v0, $v0, 2 +/* C697C0 80241690 1040002F */ beqz $v0, .L80241750 +/* C697C4 80241694 00000000 */ nop +/* C697C8 80241698 C6000010 */ lwc1 $f0, 0x10($s0) +/* C697CC 8024169C 3C013F73 */ lui $at, 0x3f73 +/* C697D0 802416A0 34213333 */ ori $at, $at, 0x3333 +/* C697D4 802416A4 44811000 */ mtc1 $at, $f2 +/* C697D8 802416A8 00000000 */ nop +/* C697DC 802416AC 46020002 */ mul.s $f0, $f0, $f2 +/* C697E0 802416B0 00000000 */ nop +/* C697E4 802416B4 080905D4 */ j .L80241750 +/* C697E8 802416B8 E6000010 */ swc1 $f0, 0x10($s0) +.L802416BC: +/* C697EC 802416BC C6000010 */ lwc1 $f0, 0x10($s0) +/* C697F0 802416C0 3C013F8F */ lui $at, 0x3f8f +/* C697F4 802416C4 34215C29 */ ori $at, $at, 0x5c29 +/* C697F8 802416C8 44811000 */ mtc1 $at, $f2 +/* C697FC 802416CC 00000000 */ nop +/* C69800 802416D0 46020002 */ mul.s $f0, $f0, $f2 +/* C69804 802416D4 00000000 */ nop +/* C69808 802416D8 8E030020 */ lw $v1, 0x20($s0) +/* C6980C 802416DC 2402000A */ addiu $v0, $zero, 0xa +/* C69810 802416E0 1462001B */ bne $v1, $v0, .L80241750 +/* C69814 802416E4 E6000010 */ swc1 $f0, 0x10($s0) +/* C69818 802416E8 3C048024 */ lui $a0, 0x8024 +/* C6981C 802416EC 2484231C */ addiu $a0, $a0, 0x231c +/* C69820 802416F0 24050001 */ addiu $a1, $zero, 1 +/* C69824 802416F4 0C0B0CF8 */ jal start_script +/* C69828 802416F8 0000302D */ daddu $a2, $zero, $zero +/* C6982C 802416FC 8E030014 */ lw $v1, 0x14($s0) +/* C69830 80241700 AC430084 */ sw $v1, 0x84($v0) +/* C69834 80241704 8E030018 */ lw $v1, 0x18($s0) +/* C69838 80241708 AC430088 */ sw $v1, 0x88($v0) +/* C6983C 8024170C 8E020000 */ lw $v0, ($s0) +/* C69840 80241710 34420002 */ ori $v0, $v0, 2 +/* C69844 80241714 080905D4 */ j .L80241750 +/* C69848 80241718 AE020000 */ sw $v0, ($s0) +.L8024171C: +/* C6984C 8024171C C60C0010 */ lwc1 $f12, 0x10($s0) +/* C69850 80241720 0C00A69F */ jal signF +/* C69854 80241724 46006307 */ neg.s $f12, $f12 +/* C69858 80241728 8E02002C */ lw $v0, 0x2c($s0) +/* C6985C 8024172C 8C42000C */ lw $v0, 0xc($v0) +/* C69860 80241730 04420001 */ bltzl $v0, .L80241738 +/* C69864 80241734 00021023 */ negu $v0, $v0 +.L80241738: +/* C69868 80241738 44821000 */ mtc1 $v0, $f2 +/* C6986C 8024173C 00000000 */ nop +/* C69870 80241740 468010A0 */ cvt.s.w $f2, $f2 +/* C69874 80241744 46001082 */ mul.s $f2, $f2, $f0 +/* C69878 80241748 00000000 */ nop +/* C6987C 8024174C E6020010 */ swc1 $f2, 0x10($s0) +.L80241750: +/* C69880 80241750 8FBF0014 */ lw $ra, 0x14($sp) +/* C69884 80241754 8FB00010 */ lw $s0, 0x10($sp) +/* C69888 80241758 03E00008 */ jr $ra +/* C6988C 8024175C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_05/func_80240000_C6C0D0.s b/asm/nonmatchings/world/area_kzn/kzn_05/func_80240000_C6C0D0.s new file mode 100644 index 0000000000..35f31af51b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_05/func_80240000_C6C0D0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C6C0D0 +/* C6C0D0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6C0D4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C6C0D8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C6C0DC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C6C0E0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6C0E4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C6C0E8 80240018 00621821 */ addu $v1, $v1, $v0 +/* C6C0EC 8024001C 04610004 */ bgez $v1, .L80240030 +/* C6C0F0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C6C0F4 80240024 3C020002 */ lui $v0, 2 +/* C6C0F8 80240028 08090010 */ j .L80240040 +/* C6C0FC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C6C100 80240030 3C040002 */ lui $a0, 2 +/* C6C104 80240034 0083102A */ slt $v0, $a0, $v1 +/* C6C108 80240038 10400002 */ beqz $v0, .L80240044 +/* C6C10C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C6C110 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C6C114 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C6C118 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C6C11C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C6C120 80240050 04610004 */ bgez $v1, .L80240064 +/* C6C124 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C6C128 80240058 3C020002 */ lui $v0, 2 +/* C6C12C 8024005C 0809001D */ j .L80240074 +/* C6C130 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C6C134 80240064 3C040002 */ lui $a0, 2 +/* C6C138 80240068 0083102A */ slt $v0, $a0, $v1 +/* C6C13C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C6C140 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C6C144 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C6C148 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6C14C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C6C150 80240080 00621821 */ addu $v1, $v1, $v0 +/* C6C154 80240084 04610004 */ bgez $v1, .L80240098 +/* C6C158 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6C15C 8024008C 3C020002 */ lui $v0, 2 +/* C6C160 80240090 0809002A */ j .L802400A8 +/* C6C164 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C6C168 80240098 3C040002 */ lui $a0, 2 +/* C6C16C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C6C170 802400A0 10400002 */ beqz $v0, .L802400AC +/* C6C174 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C6C178 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C6C17C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6C180 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C6C184 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C6C188 802400B8 04610004 */ bgez $v1, .L802400CC +/* C6C18C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C6C190 802400C0 3C020002 */ lui $v0, 2 +/* C6C194 802400C4 08090037 */ j .L802400DC +/* C6C198 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C6C19C 802400CC 3C040002 */ lui $a0, 2 +/* C6C1A0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C6C1A4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C6C1A8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C6C1AC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C6C1B0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C6C1B4 802400E4 0C046F07 */ jal set_main_pan_u +/* C6C1B8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6C1BC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C6C1C0 802400F0 0C046F0D */ jal set_main_pan_v +/* C6C1C4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C6C1C8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C6C1CC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C6C1D0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6C1D4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C6C1D8 80240108 0C046F19 */ jal set_aux_pan_v +/* C6C1DC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6C1E0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C6C1E4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C6C1E8 80240118 0000102D */ daddu $v0, $zero, $zero +/* C6C1EC 8024011C 03E00008 */ jr $ra +/* C6C1F0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_05/func_80240124_C6C0D0.s b/asm/nonmatchings/world/area_kzn/kzn_05/func_80240124_C6C0D0.s new file mode 100644 index 0000000000..95fdeee05d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_05/func_80240124_C6C0D0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C6C1F4 +/* C6C1F4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6C1F8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C6C1FC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C6C200 80240130 10A00005 */ beqz $a1, .L80240148 +/* C6C204 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C6C208 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C6C20C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C6C210 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C6C214 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C6C218 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C6C21C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C6C220 80240150 00000000 */ nop +/* C6C224 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6C228 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C6C22C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C6C230 80240160 04610004 */ bgez $v1, .L80240174 +/* C6C234 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C6C238 80240168 3C020002 */ lui $v0, 2 +/* C6C23C 8024016C 08090061 */ j .L80240184 +/* C6C240 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C6C244 80240174 3C040002 */ lui $a0, 2 +/* C6C248 80240178 0083102A */ slt $v0, $a0, $v1 +/* C6C24C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C6C250 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C6C254 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C6C258 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C6C25C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C6C260 80240190 00000000 */ nop +/* C6C264 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C6C268 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C6C26C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C6C270 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C6C274 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C6C278 802401A8 3C020002 */ lui $v0, 2 +/* C6C27C 802401AC 08090071 */ j .L802401C4 +/* C6C280 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C6C284 802401B4 3C040002 */ lui $a0, 2 +/* C6C288 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C6C28C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C6C290 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C6C294 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C6C298 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C6C29C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C6C2A0 802401D0 00000000 */ nop +/* C6C2A4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6C2A8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C6C2AC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C6C2B0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C6C2B4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6C2B8 802401E8 3C020002 */ lui $v0, 2 +/* C6C2BC 802401EC 08090081 */ j .L80240204 +/* C6C2C0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C6C2C4 802401F4 3C040002 */ lui $a0, 2 +/* C6C2C8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C6C2CC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C6C2D0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C6C2D4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C6C2D8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C6C2DC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C6C2E0 80240210 00000000 */ nop +/* C6C2E4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6C2E8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C6C2EC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C6C2F0 80240220 04610004 */ bgez $v1, .L80240234 +/* C6C2F4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C6C2F8 80240228 3C020002 */ lui $v0, 2 +/* C6C2FC 8024022C 08090091 */ j .L80240244 +/* C6C300 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C6C304 80240234 3C040002 */ lui $a0, 2 +/* C6C308 80240238 0083102A */ slt $v0, $a0, $v1 +/* C6C30C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C6C310 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C6C314 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C6C318 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C6C31C 8024024C 0C046F07 */ jal set_main_pan_u +/* C6C320 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6C324 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C6C328 80240258 0C046F0D */ jal set_main_pan_v +/* C6C32C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C6C330 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C6C334 80240264 0C046F13 */ jal set_aux_pan_u +/* C6C338 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6C33C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C6C340 80240270 0C046F19 */ jal set_aux_pan_v +/* C6C344 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6C348 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C6C34C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C6C350 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C6C354 80240284 24420001 */ addiu $v0, $v0, 1 +/* C6C358 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C6C35C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C6C360 80240290 24630001 */ addiu $v1, $v1, 1 +/* C6C364 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C6C368 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C6C36C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C6C370 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C6C374 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C6C378 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C6C37C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C6C380 802402B0 14600002 */ bnez $v1, .L802402BC +/* C6C384 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C6C388 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C6C38C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C6C390 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C6C394 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C6C398 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C6C39C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C6C3A0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C6C3A4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C6C3A8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C6C3AC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C6C3B0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C6C3B4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C6C3B8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C6C3BC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C6C3C0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C6C3C4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C6C3C8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C6C3CC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C6C3D0 80240300 0000102D */ daddu $v0, $zero, $zero +/* C6C3D4 80240304 03E00008 */ jr $ra +/* C6C3D8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6C3DC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_80240000_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240000_C6C920.s new file mode 100644 index 0000000000..6ff1d70aeb --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240000_C6C920.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C6C920 +/* C6C920 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6C924 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C6C928 80240008 0080802D */ daddu $s0, $a0, $zero +/* C6C92C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C6C930 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6C934 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C6C938 80240018 00621821 */ addu $v1, $v1, $v0 +/* C6C93C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C6C940 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C6C944 80240024 3C020002 */ lui $v0, 2 +/* C6C948 80240028 08090010 */ j .L80240040 +/* C6C94C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C6C950 80240030 3C040002 */ lui $a0, 2 +/* C6C954 80240034 0083102A */ slt $v0, $a0, $v1 +/* C6C958 80240038 10400002 */ beqz $v0, .L80240044 +/* C6C95C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C6C960 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C6C964 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C6C968 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C6C96C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C6C970 80240050 04610004 */ bgez $v1, .L80240064 +/* C6C974 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C6C978 80240058 3C020002 */ lui $v0, 2 +/* C6C97C 8024005C 0809001D */ j .L80240074 +/* C6C980 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C6C984 80240064 3C040002 */ lui $a0, 2 +/* C6C988 80240068 0083102A */ slt $v0, $a0, $v1 +/* C6C98C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C6C990 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C6C994 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C6C998 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6C99C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C6C9A0 80240080 00621821 */ addu $v1, $v1, $v0 +/* C6C9A4 80240084 04610004 */ bgez $v1, .L80240098 +/* C6C9A8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6C9AC 8024008C 3C020002 */ lui $v0, 2 +/* C6C9B0 80240090 0809002A */ j .L802400A8 +/* C6C9B4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C6C9B8 80240098 3C040002 */ lui $a0, 2 +/* C6C9BC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C6C9C0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C6C9C4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C6C9C8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C6C9CC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6C9D0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C6C9D4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C6C9D8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C6C9DC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C6C9E0 802400C0 3C020002 */ lui $v0, 2 +/* C6C9E4 802400C4 08090037 */ j .L802400DC +/* C6C9E8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C6C9EC 802400CC 3C040002 */ lui $a0, 2 +/* C6C9F0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C6C9F4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C6C9F8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C6C9FC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C6CA00 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C6CA04 802400E4 0C046F07 */ jal set_main_pan_u +/* C6CA08 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6CA0C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C6CA10 802400F0 0C046F0D */ jal set_main_pan_v +/* C6CA14 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C6CA18 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C6CA1C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C6CA20 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6CA24 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C6CA28 80240108 0C046F19 */ jal set_aux_pan_v +/* C6CA2C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6CA30 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C6CA34 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C6CA38 80240118 0000102D */ daddu $v0, $zero, $zero +/* C6CA3C 8024011C 03E00008 */ jr $ra +/* C6CA40 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_80240124_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240124_C6C920.s new file mode 100644 index 0000000000..776361e274 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240124_C6C920.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C6CA44 +/* C6CA44 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6CA48 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C6CA4C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C6CA50 80240130 10A00005 */ beqz $a1, .L80240148 +/* C6CA54 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C6CA58 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C6CA5C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C6CA60 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C6CA64 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C6CA68 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C6CA6C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C6CA70 80240150 00000000 */ nop +/* C6CA74 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6CA78 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C6CA7C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C6CA80 80240160 04610004 */ bgez $v1, .L80240174 +/* C6CA84 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C6CA88 80240168 3C020002 */ lui $v0, 2 +/* C6CA8C 8024016C 08090061 */ j .L80240184 +/* C6CA90 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C6CA94 80240174 3C040002 */ lui $a0, 2 +/* C6CA98 80240178 0083102A */ slt $v0, $a0, $v1 +/* C6CA9C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C6CAA0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C6CAA4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C6CAA8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C6CAAC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C6CAB0 80240190 00000000 */ nop +/* C6CAB4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C6CAB8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C6CABC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C6CAC0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C6CAC4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C6CAC8 802401A8 3C020002 */ lui $v0, 2 +/* C6CACC 802401AC 08090071 */ j .L802401C4 +/* C6CAD0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C6CAD4 802401B4 3C040002 */ lui $a0, 2 +/* C6CAD8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C6CADC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C6CAE0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C6CAE4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C6CAE8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C6CAEC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C6CAF0 802401D0 00000000 */ nop +/* C6CAF4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6CAF8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C6CAFC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C6CB00 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C6CB04 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6CB08 802401E8 3C020002 */ lui $v0, 2 +/* C6CB0C 802401EC 08090081 */ j .L80240204 +/* C6CB10 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C6CB14 802401F4 3C040002 */ lui $a0, 2 +/* C6CB18 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C6CB1C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C6CB20 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C6CB24 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C6CB28 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C6CB2C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C6CB30 80240210 00000000 */ nop +/* C6CB34 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6CB38 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C6CB3C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C6CB40 80240220 04610004 */ bgez $v1, .L80240234 +/* C6CB44 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C6CB48 80240228 3C020002 */ lui $v0, 2 +/* C6CB4C 8024022C 08090091 */ j .L80240244 +/* C6CB50 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C6CB54 80240234 3C040002 */ lui $a0, 2 +/* C6CB58 80240238 0083102A */ slt $v0, $a0, $v1 +/* C6CB5C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C6CB60 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C6CB64 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C6CB68 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C6CB6C 8024024C 0C046F07 */ jal set_main_pan_u +/* C6CB70 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6CB74 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C6CB78 80240258 0C046F0D */ jal set_main_pan_v +/* C6CB7C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C6CB80 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C6CB84 80240264 0C046F13 */ jal set_aux_pan_u +/* C6CB88 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6CB8C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C6CB90 80240270 0C046F19 */ jal set_aux_pan_v +/* C6CB94 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6CB98 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C6CB9C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C6CBA0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C6CBA4 80240284 24420001 */ addiu $v0, $v0, 1 +/* C6CBA8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C6CBAC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C6CBB0 80240290 24630001 */ addiu $v1, $v1, 1 +/* C6CBB4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C6CBB8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C6CBBC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C6CBC0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C6CBC4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C6CBC8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C6CBCC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C6CBD0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C6CBD4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C6CBD8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C6CBDC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C6CBE0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C6CBE4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C6CBE8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C6CBEC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C6CBF0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C6CBF4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C6CBF8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C6CBFC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C6CC00 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C6CC04 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C6CC08 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C6CC0C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C6CC10 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C6CC14 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C6CC18 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C6CC1C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C6CC20 80240300 0000102D */ daddu $v0, $zero, $zero +/* C6CC24 80240304 03E00008 */ jr $ra +/* C6CC28 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6CC2C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_80240310_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240310_C6C920.s new file mode 100644 index 0000000000..a6828b93e6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240310_C6C920.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C6CC30 +/* C6CC30 80240310 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C6CC34 80240314 AFB1001C */ sw $s1, 0x1c($sp) +/* C6CC38 80240318 00A0882D */ daddu $s1, $a1, $zero +/* C6CC3C 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* C6CC40 80240320 AFB00018 */ sw $s0, 0x18($sp) +/* C6CC44 80240324 8E220070 */ lw $v0, 0x70($s1) +/* C6CC48 80240328 3C0141C8 */ lui $at, 0x41c8 +/* C6CC4C 8024032C 44810000 */ mtc1 $at, $f0 +/* C6CC50 80240330 00021080 */ sll $v0, $v0, 2 +/* C6CC54 80240334 3C018024 */ lui $at, 0x8024 +/* C6CC58 80240338 00220821 */ addu $at, $at, $v0 +/* C6CC5C 8024033C C4221120 */ lwc1 $f2, 0x1120($at) +/* C6CC60 80240340 46001082 */ mul.s $f2, $f2, $f0 +/* C6CC64 80240344 00000000 */ nop +/* C6CC68 80240348 C6200084 */ lwc1 $f0, 0x84($s1) +/* C6CC6C 8024034C 46800020 */ cvt.s.w $f0, $f0 +/* C6CC70 80240350 46020001 */ sub.s $f0, $f0, $f2 +/* C6CC74 80240354 0080802D */ daddu $s0, $a0, $zero +/* C6CC78 80240358 E600004C */ swc1 $f0, 0x4c($s0) +/* C6CC7C 8024035C 8E220070 */ lw $v0, 0x70($s1) +/* C6CC80 80240360 14400007 */ bnez $v0, .L80240380 +/* C6CC84 80240364 240401DA */ addiu $a0, $zero, 0x1da +/* C6CC88 80240368 C6000050 */ lwc1 $f0, 0x50($s0) +/* C6CC8C 8024036C E7A00010 */ swc1 $f0, 0x10($sp) +/* C6CC90 80240370 8E060048 */ lw $a2, 0x48($s0) +/* C6CC94 80240374 8E07004C */ lw $a3, 0x4c($s0) +/* C6CC98 80240378 0C052757 */ jal play_sound_at_position +/* C6CC9C 8024037C 0000282D */ daddu $a1, $zero, $zero +.L80240380: +/* C6CCA0 80240380 8E230070 */ lw $v1, 0x70($s1) +/* C6CCA4 80240384 28620005 */ slti $v0, $v1, 5 +/* C6CCA8 80240388 1440000C */ bnez $v0, .L802403BC +/* C6CCAC 8024038C 30620001 */ andi $v0, $v1, 1 +/* C6CCB0 80240390 1040000A */ beqz $v0, .L802403BC +/* C6CCB4 80240394 24020014 */ addiu $v0, $zero, 0x14 +/* C6CCB8 80240398 3C013F80 */ lui $at, 0x3f80 +/* C6CCBC 8024039C 44810000 */ mtc1 $at, $f0 +/* C6CCC0 802403A0 AFA20014 */ sw $v0, 0x14($sp) +/* C6CCC4 802403A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6CCC8 802403A8 8E050048 */ lw $a1, 0x48($s0) +/* C6CCCC 802403AC 8E06004C */ lw $a2, 0x4c($s0) +/* C6CCD0 802403B0 8E070050 */ lw $a3, 0x50($s0) +/* C6CCD4 802403B4 0C01C1CC */ jal func_80070730 +/* C6CCD8 802403B8 24040001 */ addiu $a0, $zero, 1 +.L802403BC: +/* C6CCDC 802403BC 8E220070 */ lw $v0, 0x70($s1) +/* C6CCE0 802403C0 24420001 */ addiu $v0, $v0, 1 +/* C6CCE4 802403C4 AE220070 */ sw $v0, 0x70($s1) +/* C6CCE8 802403C8 3842001C */ xori $v0, $v0, 0x1c +/* C6CCEC 802403CC 8FBF0020 */ lw $ra, 0x20($sp) +/* C6CCF0 802403D0 8FB1001C */ lw $s1, 0x1c($sp) +/* C6CCF4 802403D4 8FB00018 */ lw $s0, 0x18($sp) +/* C6CCF8 802403D8 2C420001 */ sltiu $v0, $v0, 1 +/* C6CCFC 802403DC 03E00008 */ jr $ra +/* C6CD00 802403E0 27BD0028 */ addiu $sp, $sp, 0x28 +/* C6CD04 802403E4 00000000 */ nop +/* C6CD08 802403E8 00000000 */ nop +/* C6CD0C 802403EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_802403F0_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_802403F0_C6C920.s new file mode 100644 index 0000000000..dcf9ac42f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_802403F0_C6C920.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_C6CD10 +/* C6CD10 802403F0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C6CD14 802403F4 AFB1002C */ sw $s1, 0x2c($sp) +/* C6CD18 802403F8 0080882D */ daddu $s1, $a0, $zero +/* C6CD1C 802403FC AFB20030 */ sw $s2, 0x30($sp) +/* C6CD20 80240400 00A0902D */ daddu $s2, $a1, $zero +/* C6CD24 80240404 AFBF003C */ sw $ra, 0x3c($sp) +/* C6CD28 80240408 AFB40038 */ sw $s4, 0x38($sp) +/* C6CD2C 8024040C AFB30034 */ sw $s3, 0x34($sp) +/* C6CD30 80240410 AFB00028 */ sw $s0, 0x28($sp) +/* C6CD34 80240414 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C6CD38 80240418 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C6CD3C 8024041C 8E30000C */ lw $s0, 0xc($s1) +/* C6CD40 80240420 8E050000 */ lw $a1, ($s0) +/* C6CD44 80240424 0C0B1EAF */ jal get_variable +/* C6CD48 80240428 26100004 */ addiu $s0, $s0, 4 +/* C6CD4C 8024042C 0220202D */ daddu $a0, $s1, $zero +/* C6CD50 80240430 8E050000 */ lw $a1, ($s0) +/* C6CD54 80240434 0C0B1EAF */ jal get_variable +/* C6CD58 80240438 0040A02D */ daddu $s4, $v0, $zero +/* C6CD5C 8024043C 12400022 */ beqz $s2, .L802404C8 +/* C6CD60 80240440 0040982D */ daddu $s3, $v0, $zero +/* C6CD64 80240444 12600013 */ beqz $s3, .L80240494 +/* C6CD68 80240448 26710002 */ addiu $s1, $s3, 2 +/* C6CD6C 8024044C 96620000 */ lhu $v0, ($s3) +/* C6CD70 80240450 1040001D */ beqz $v0, .L802404C8 +/* C6CD74 80240454 0000802D */ daddu $s0, $zero, $zero +.L80240458: +/* C6CD78 80240458 96240000 */ lhu $a0, ($s1) +/* C6CD7C 8024045C 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6CD80 80240460 26100001 */ addiu $s0, $s0, 1 +/* C6CD84 80240464 0C046B4C */ jal get_model_from_list_index +/* C6CD88 80240468 0040202D */ daddu $a0, $v0, $zero +/* C6CD8C 8024046C 0040202D */ daddu $a0, $v0, $zero +/* C6CD90 80240470 2405FFFF */ addiu $a1, $zero, -1 +/* C6CD94 80240474 0C046F1F */ jal func_8011BC7C +/* C6CD98 80240478 24060002 */ addiu $a2, $zero, 2 +/* C6CD9C 8024047C 96620000 */ lhu $v0, ($s3) +/* C6CDA0 80240480 0202102A */ slt $v0, $s0, $v0 +/* C6CDA4 80240484 1440FFF4 */ bnez $v0, .L80240458 +/* C6CDA8 80240488 26310002 */ addiu $s1, $s1, 2 +/* C6CDAC 8024048C 08090132 */ j .L802404C8 +/* C6CDB0 80240490 00000000 */ nop +.L80240494: +/* C6CDB4 80240494 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C6CDB8 80240498 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C6CDBC 8024049C 0000802D */ daddu $s0, $zero, $zero +.L802404A0: +/* C6CDC0 802404A0 8E240000 */ lw $a0, ($s1) +/* C6CDC4 802404A4 50800005 */ beql $a0, $zero, .L802404BC +/* C6CDC8 802404A8 26100001 */ addiu $s0, $s0, 1 +/* C6CDCC 802404AC 2405FFFF */ addiu $a1, $zero, -1 +/* C6CDD0 802404B0 0C046F1F */ jal func_8011BC7C +/* C6CDD4 802404B4 24060002 */ addiu $a2, $zero, 2 +/* C6CDD8 802404B8 26100001 */ addiu $s0, $s0, 1 +.L802404BC: +/* C6CDDC 802404BC 2A020100 */ slti $v0, $s0, 0x100 +/* C6CDE0 802404C0 1440FFF7 */ bnez $v0, .L802404A0 +/* C6CDE4 802404C4 26310004 */ addiu $s1, $s1, 4 +.L802404C8: +/* C6CDE8 802404C8 3C028024 */ lui $v0, 0x8024 +/* C6CDEC 802404CC 24421370 */ addiu $v0, $v0, 0x1370 +/* C6CDF0 802404D0 C4420000 */ lwc1 $f2, ($v0) +/* C6CDF4 802404D4 3C013F80 */ lui $at, 0x3f80 +/* C6CDF8 802404D8 44810000 */ mtc1 $at, $f0 +/* C6CDFC 802404DC 00000000 */ nop +/* C6CE00 802404E0 46001000 */ add.s $f0, $f2, $f0 +/* C6CE04 802404E4 3C0143B4 */ lui $at, 0x43b4 +/* C6CE08 802404E8 44811000 */ mtc1 $at, $f2 +/* C6CE0C 802404EC 00000000 */ nop +/* C6CE10 802404F0 4600103C */ c.lt.s $f2, $f0 +/* C6CE14 802404F4 00000000 */ nop +/* C6CE18 802404F8 45000003 */ bc1f .L80240508 +/* C6CE1C 802404FC E4400000 */ swc1 $f0, ($v0) +/* C6CE20 80240500 46020001 */ sub.s $f0, $f0, $f2 +/* C6CE24 80240504 E4400000 */ swc1 $f0, ($v0) +.L80240508: +/* C6CE28 80240508 24020002 */ addiu $v0, $zero, 2 +/* C6CE2C 8024050C 12820037 */ beq $s4, $v0, .L802405EC +/* C6CE30 80240510 2A820003 */ slti $v0, $s4, 3 +/* C6CE34 80240514 10400005 */ beqz $v0, .L8024052C +/* C6CE38 80240518 24020001 */ addiu $v0, $zero, 1 +/* C6CE3C 8024051C 12820008 */ beq $s4, $v0, .L80240540 +/* C6CE40 80240520 0000202D */ daddu $a0, $zero, $zero +/* C6CE44 80240524 08090184 */ j .L80240610 +/* C6CE48 80240528 00000000 */ nop +.L8024052C: +/* C6CE4C 8024052C 2402000A */ addiu $v0, $zero, 0xa +/* C6CE50 80240530 12820077 */ beq $s4, $v0, .L80240710 +/* C6CE54 80240534 0000102D */ daddu $v0, $zero, $zero +/* C6CE58 80240538 08090184 */ j .L80240610 +/* C6CE5C 8024053C 00000000 */ nop +.L80240540: +/* C6CE60 80240540 3C05FD05 */ lui $a1, 0xfd05 +/* C6CE64 80240544 0C0B210B */ jal get_float_variable +/* C6CE68 80240548 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6CE6C 8024054C 44802000 */ mtc1 $zero, $f4 +/* C6CE70 80240550 00000000 */ nop +/* C6CE74 80240554 4604003E */ c.le.s $f0, $f4 +/* C6CE78 80240558 00000000 */ nop +/* C6CE7C 8024055C 4501006C */ bc1t .L80240710 +/* C6CE80 80240560 24020002 */ addiu $v0, $zero, 2 +/* C6CE84 80240564 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C6CE88 80240568 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C6CE8C 8024056C C4420028 */ lwc1 $f2, 0x28($v0) +/* C6CE90 80240570 3C01C296 */ lui $at, 0xc296 +/* C6CE94 80240574 44810000 */ mtc1 $at, $f0 +/* C6CE98 80240578 00000000 */ nop +/* C6CE9C 8024057C 46020081 */ sub.s $f2, $f0, $f2 +/* C6CEA0 80240580 4604103C */ c.lt.s $f2, $f4 +/* C6CEA4 80240584 00000000 */ nop +/* C6CEA8 80240588 45030001 */ bc1tl .L80240590 +/* C6CEAC 8024058C 46001087 */ neg.s $f2, $f2 +.L80240590: +/* C6CEB0 80240590 3C014400 */ lui $at, 0x4400 +/* C6CEB4 80240594 44810000 */ mtc1 $at, $f0 +/* C6CEB8 80240598 00000000 */ nop +/* C6CEBC 8024059C 46020581 */ sub.s $f22, $f0, $f2 +/* C6CEC0 802405A0 4604B03C */ c.lt.s $f22, $f4 +/* C6CEC4 802405A4 00000000 */ nop +/* C6CEC8 802405A8 45030001 */ bc1tl .L802405B0 +/* C6CECC 802405AC 46002586 */ mov.s $f22, $f4 +.L802405B0: +/* C6CED0 802405B0 0000202D */ daddu $a0, $zero, $zero +/* C6CED4 802405B4 3C05FD05 */ lui $a1, 0xfd05 +/* C6CED8 802405B8 0C0B210B */ jal get_float_variable +/* C6CEDC 802405BC 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6CEE0 802405C0 3C018024 */ lui $at, 0x8024 +/* C6CEE4 802405C4 D4221A00 */ ldc1 $f2, 0x1a00($at) +/* C6CEE8 802405C8 46000021 */ cvt.d.s $f0, $f0 +/* C6CEEC 802405CC 46220002 */ mul.d $f0, $f0, $f2 +/* C6CEF0 802405D0 00000000 */ nop +/* C6CEF4 802405D4 4600B0A1 */ cvt.d.s $f2, $f22 +/* C6CEF8 802405D8 46201082 */ mul.d $f2, $f2, $f0 +/* C6CEFC 802405DC 00000000 */ nop +/* C6CF00 802405E0 241103CA */ addiu $s1, $zero, 0x3ca +/* C6CF04 802405E4 08090187 */ j .L8024061C +/* C6CF08 802405E8 462015A0 */ cvt.s.d $f22, $f2 +.L802405EC: +/* C6CF0C 802405EC 3C0142C8 */ lui $at, 0x42c8 +/* C6CF10 802405F0 4481B000 */ mtc1 $at, $f22 +/* C6CF14 802405F4 0000202D */ daddu $a0, $zero, $zero +/* C6CF18 802405F8 3C05FD05 */ lui $a1, 0xfd05 +/* C6CF1C 802405FC 0C0B1EAF */ jal get_variable +/* C6CF20 80240600 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6CF24 80240604 240303E3 */ addiu $v1, $zero, 0x3e3 +/* C6CF28 80240608 08090187 */ j .L8024061C +/* C6CF2C 8024060C 00628823 */ subu $s1, $v1, $v0 +.L80240610: +/* C6CF30 80240610 3C0142C8 */ lui $at, 0x42c8 +/* C6CF34 80240614 4481B000 */ mtc1 $at, $f22 +/* C6CF38 80240618 241103CA */ addiu $s1, $zero, 0x3ca +.L8024061C: +/* C6CF3C 8024061C 3C108024 */ lui $s0, 0x8024 +/* C6CF40 80240620 26101370 */ addiu $s0, $s0, 0x1370 +/* C6CF44 80240624 C6000000 */ lwc1 $f0, ($s0) +/* C6CF48 80240628 3C014040 */ lui $at, 0x4040 +/* C6CF4C 8024062C 44816000 */ mtc1 $at, $f12 +/* C6CF50 80240630 00000000 */ nop +/* C6CF54 80240634 460C0302 */ mul.s $f12, $f0, $f12 +/* C6CF58 80240638 0C00A8BB */ jal sin_deg +/* C6CF5C 8024063C 00000000 */ nop +/* C6CF60 80240640 C6020000 */ lwc1 $f2, ($s0) +/* C6CF64 80240644 3C014100 */ lui $at, 0x4100 +/* C6CF68 80240648 44816000 */ mtc1 $at, $f12 +/* C6CF6C 8024064C 00000000 */ nop +/* C6CF70 80240650 460C1302 */ mul.s $f12, $f2, $f12 +/* C6CF74 80240654 00000000 */ nop +/* C6CF78 80240658 0C00A8BB */ jal sin_deg +/* C6CF7C 8024065C 46000506 */ mov.s $f20, $f0 +/* C6CF80 80240660 3C013FE0 */ lui $at, 0x3fe0 +/* C6CF84 80240664 44811800 */ mtc1 $at, $f3 +/* C6CF88 80240668 44801000 */ mtc1 $zero, $f2 +/* C6CF8C 8024066C 4600A521 */ cvt.d.s $f20, $f20 +/* C6CF90 80240670 4622A502 */ mul.d $f20, $f20, $f2 +/* C6CF94 80240674 00000000 */ nop +/* C6CF98 80240678 46000021 */ cvt.d.s $f0, $f0 +/* C6CF9C 8024067C 46220002 */ mul.d $f0, $f0, $f2 +/* C6CFA0 80240680 00000000 */ nop +/* C6CFA4 80240684 4620A500 */ add.d $f20, $f20, $f0 +/* C6CFA8 80240688 4600B021 */ cvt.d.s $f0, $f22 +/* C6CFAC 8024068C 46340502 */ mul.d $f20, $f0, $f20 +/* C6CFB0 80240690 00000000 */ nop +/* C6CFB4 80240694 46340000 */ add.d $f0, $f0, $f20 +/* C6CFB8 80240698 3C0141E0 */ lui $at, 0x41e0 +/* C6CFBC 8024069C 44811800 */ mtc1 $at, $f3 +/* C6CFC0 802406A0 44801000 */ mtc1 $zero, $f2 +/* C6CFC4 802406A4 00000000 */ nop +/* C6CFC8 802406A8 4620103E */ c.le.d $f2, $f0 +/* C6CFCC 802406AC 00000000 */ nop +/* C6CFD0 802406B0 45030005 */ bc1tl .L802406C8 +/* C6CFD4 802406B4 46220001 */ sub.d $f0, $f0, $f2 +/* C6CFD8 802406B8 4620018D */ trunc.w.d $f6, $f0 +/* C6CFDC 802406BC 44073000 */ mfc1 $a3, $f6 +/* C6CFE0 802406C0 080901B8 */ j .L802406E0 +/* C6CFE4 802406C4 2404003C */ addiu $a0, $zero, 0x3c +.L802406C8: +/* C6CFE8 802406C8 3C028000 */ lui $v0, 0x8000 +/* C6CFEC 802406CC 4620018D */ trunc.w.d $f6, $f0 +/* C6CFF0 802406D0 44073000 */ mfc1 $a3, $f6 +/* C6CFF4 802406D4 00000000 */ nop +/* C6CFF8 802406D8 00E23825 */ or $a3, $a3, $v0 +/* C6CFFC 802406DC 2404003C */ addiu $a0, $zero, 0x3c +.L802406E0: +/* C6D000 802406E0 24050032 */ addiu $a1, $zero, 0x32 +/* C6D004 802406E4 2406001E */ addiu $a2, $zero, 0x1e +/* C6D008 802406E8 24020014 */ addiu $v0, $zero, 0x14 +/* C6D00C 802406EC AFA20010 */ sw $v0, 0x10($sp) +/* C6D010 802406F0 AFA20014 */ sw $v0, 0x14($sp) +/* C6D014 802406F4 AFA20018 */ sw $v0, 0x18($sp) +/* C6D018 802406F8 240203E8 */ addiu $v0, $zero, 0x3e8 +/* C6D01C 802406FC 30E700FF */ andi $a3, $a3, 0xff +/* C6D020 80240700 AFB1001C */ sw $s1, 0x1c($sp) +/* C6D024 80240704 0C046FAD */ jal func_8011BEB4 +/* C6D028 80240708 AFA20020 */ sw $v0, 0x20($sp) +/* C6D02C 8024070C 0000102D */ daddu $v0, $zero, $zero +.L80240710: +/* C6D030 80240710 8FBF003C */ lw $ra, 0x3c($sp) +/* C6D034 80240714 8FB40038 */ lw $s4, 0x38($sp) +/* C6D038 80240718 8FB30034 */ lw $s3, 0x34($sp) +/* C6D03C 8024071C 8FB20030 */ lw $s2, 0x30($sp) +/* C6D040 80240720 8FB1002C */ lw $s1, 0x2c($sp) +/* C6D044 80240724 8FB00028 */ lw $s0, 0x28($sp) +/* C6D048 80240728 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C6D04C 8024072C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C6D050 80240730 03E00008 */ jr $ra +/* C6D054 80240734 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_80240738_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240738_C6C920.s new file mode 100644 index 0000000000..ce297c5a3a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240738_C6C920.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738_C6D058 +/* C6D058 80240738 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C6D05C 8024073C AFBF001C */ sw $ra, 0x1c($sp) +/* C6D060 80240740 AFB20018 */ sw $s2, 0x18($sp) +/* C6D064 80240744 AFB10014 */ sw $s1, 0x14($sp) +/* C6D068 80240748 AFB00010 */ sw $s0, 0x10($sp) +/* C6D06C 8024074C 8C82000C */ lw $v0, 0xc($a0) +/* C6D070 80240750 0C0B1EAF */ jal get_variable +/* C6D074 80240754 8C450000 */ lw $a1, ($v0) +/* C6D078 80240758 0040902D */ daddu $s2, $v0, $zero +/* C6D07C 8024075C 12400013 */ beqz $s2, .L802407AC +/* C6D080 80240760 26510002 */ addiu $s1, $s2, 2 +/* C6D084 80240764 96420000 */ lhu $v0, ($s2) +/* C6D088 80240768 1040001D */ beqz $v0, .L802407E0 +/* C6D08C 8024076C 0000802D */ daddu $s0, $zero, $zero +.L80240770: +/* C6D090 80240770 96240000 */ lhu $a0, ($s1) +/* C6D094 80240774 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6D098 80240778 26100001 */ addiu $s0, $s0, 1 +/* C6D09C 8024077C 0C046B4C */ jal get_model_from_list_index +/* C6D0A0 80240780 0040202D */ daddu $a0, $v0, $zero +/* C6D0A4 80240784 0040202D */ daddu $a0, $v0, $zero +/* C6D0A8 80240788 2405FFFF */ addiu $a1, $zero, -1 +/* C6D0AC 8024078C 0C046F1F */ jal func_8011BC7C +/* C6D0B0 80240790 0000302D */ daddu $a2, $zero, $zero +/* C6D0B4 80240794 96420000 */ lhu $v0, ($s2) +/* C6D0B8 80240798 0202102A */ slt $v0, $s0, $v0 +/* C6D0BC 8024079C 1440FFF4 */ bnez $v0, .L80240770 +/* C6D0C0 802407A0 26310002 */ addiu $s1, $s1, 2 +/* C6D0C4 802407A4 080901F8 */ j .L802407E0 +/* C6D0C8 802407A8 00000000 */ nop +.L802407AC: +/* C6D0CC 802407AC 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C6D0D0 802407B0 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C6D0D4 802407B4 0000802D */ daddu $s0, $zero, $zero +.L802407B8: +/* C6D0D8 802407B8 8E240000 */ lw $a0, ($s1) +/* C6D0DC 802407BC 50800005 */ beql $a0, $zero, .L802407D4 +/* C6D0E0 802407C0 26100001 */ addiu $s0, $s0, 1 +/* C6D0E4 802407C4 2405FFFF */ addiu $a1, $zero, -1 +/* C6D0E8 802407C8 0C046F1F */ jal func_8011BC7C +/* C6D0EC 802407CC 0000302D */ daddu $a2, $zero, $zero +/* C6D0F0 802407D0 26100001 */ addiu $s0, $s0, 1 +.L802407D4: +/* C6D0F4 802407D4 2A020100 */ slti $v0, $s0, 0x100 +/* C6D0F8 802407D8 1440FFF7 */ bnez $v0, .L802407B8 +/* C6D0FC 802407DC 26310004 */ addiu $s1, $s1, 4 +.L802407E0: +/* C6D100 802407E0 8FBF001C */ lw $ra, 0x1c($sp) +/* C6D104 802407E4 8FB20018 */ lw $s2, 0x18($sp) +/* C6D108 802407E8 8FB10014 */ lw $s1, 0x14($sp) +/* C6D10C 802407EC 8FB00010 */ lw $s0, 0x10($sp) +/* C6D110 802407F0 24020002 */ addiu $v0, $zero, 2 +/* C6D114 802407F4 03E00008 */ jr $ra +/* C6D118 802407F8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_802407FC.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_802407FC.s new file mode 100644 index 0000000000..50c3d8f8f7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_802407FC.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407FC +/* C6D11C 802407FC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C6D120 80240800 AFB5002C */ sw $s5, 0x2c($sp) +/* C6D124 80240804 0080A82D */ daddu $s5, $a0, $zero +/* C6D128 80240808 AFB20020 */ sw $s2, 0x20($sp) +/* C6D12C 8024080C 00A0902D */ daddu $s2, $a1, $zero +/* C6D130 80240810 AFBF003C */ sw $ra, 0x3c($sp) +/* C6D134 80240814 AFBE0038 */ sw $fp, 0x38($sp) +/* C6D138 80240818 AFB70034 */ sw $s7, 0x34($sp) +/* C6D13C 8024081C AFB60030 */ sw $s6, 0x30($sp) +/* C6D140 80240820 AFB40028 */ sw $s4, 0x28($sp) +/* C6D144 80240824 AFB30024 */ sw $s3, 0x24($sp) +/* C6D148 80240828 AFB1001C */ sw $s1, 0x1c($sp) +/* C6D14C 8024082C AFB00018 */ sw $s0, 0x18($sp) +/* C6D150 80240830 8EB0000C */ lw $s0, 0xc($s5) +/* C6D154 80240834 8E050000 */ lw $a1, ($s0) +/* C6D158 80240838 0C0B1EAF */ jal get_variable +/* C6D15C 8024083C 26100004 */ addiu $s0, $s0, 4 +/* C6D160 80240840 8E050000 */ lw $a1, ($s0) +/* C6D164 80240844 26100004 */ addiu $s0, $s0, 4 +/* C6D168 80240848 02A0202D */ daddu $a0, $s5, $zero +/* C6D16C 8024084C 0C0B1EAF */ jal get_variable +/* C6D170 80240850 0040882D */ daddu $s1, $v0, $zero +/* C6D174 80240854 8E050000 */ lw $a1, ($s0) +/* C6D178 80240858 26100004 */ addiu $s0, $s0, 4 +/* C6D17C 8024085C 02A0202D */ daddu $a0, $s5, $zero +/* C6D180 80240860 0C0B1EAF */ jal get_variable +/* C6D184 80240864 AFA20010 */ sw $v0, 0x10($sp) +/* C6D188 80240868 8E050000 */ lw $a1, ($s0) +/* C6D18C 8024086C 26100004 */ addiu $s0, $s0, 4 +/* C6D190 80240870 02A0202D */ daddu $a0, $s5, $zero +/* C6D194 80240874 0C0B1EAF */ jal get_variable +/* C6D198 80240878 0040F02D */ daddu $fp, $v0, $zero +/* C6D19C 8024087C 8E050000 */ lw $a1, ($s0) +/* C6D1A0 80240880 26100004 */ addiu $s0, $s0, 4 +/* C6D1A4 80240884 02A0202D */ daddu $a0, $s5, $zero +/* C6D1A8 80240888 0C0B1EAF */ jal get_variable +/* C6D1AC 8024088C 0040B82D */ daddu $s7, $v0, $zero +/* C6D1B0 80240890 02A0202D */ daddu $a0, $s5, $zero +/* C6D1B4 80240894 8E050000 */ lw $a1, ($s0) +/* C6D1B8 80240898 0C0B1EAF */ jal get_variable +/* C6D1BC 8024089C 0040A02D */ daddu $s4, $v0, $zero +/* C6D1C0 802408A0 0040B02D */ daddu $s6, $v0, $zero +/* C6D1C4 802408A4 12400019 */ beqz $s2, .L8024090C +/* C6D1C8 802408A8 0220982D */ daddu $s3, $s1, $zero +/* C6D1CC 802408AC 96620000 */ lhu $v0, ($s3) +/* C6D1D0 802408B0 10400015 */ beqz $v0, .L80240908 +/* C6D1D4 802408B4 0000902D */ daddu $s2, $zero, $zero +.L802408B8: +/* C6D1D8 802408B8 96240002 */ lhu $a0, 2($s1) +/* C6D1DC 802408BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6D1E0 802408C0 00000000 */ nop +/* C6D1E4 802408C4 0C046B4C */ jal get_model_from_list_index +/* C6D1E8 802408C8 0040202D */ daddu $a0, $v0, $zero +/* C6D1EC 802408CC 0040802D */ daddu $s0, $v0, $zero +/* C6D1F0 802408D0 0200202D */ daddu $a0, $s0, $zero +/* C6D1F4 802408D4 2405FFFF */ addiu $a1, $zero, -1 +/* C6D1F8 802408D8 0C046F1F */ jal func_8011BC7C +/* C6D1FC 802408DC 24060003 */ addiu $a2, $zero, 3 +/* C6D200 802408E0 12C00004 */ beqz $s6, .L802408F4 +/* C6D204 802408E4 00000000 */ nop +/* C6D208 802408E8 96020000 */ lhu $v0, ($s0) +/* C6D20C 802408EC 3042FFFD */ andi $v0, $v0, 0xfffd +/* C6D210 802408F0 A6020000 */ sh $v0, ($s0) +.L802408F4: +/* C6D214 802408F4 96620000 */ lhu $v0, ($s3) +/* C6D218 802408F8 26520001 */ addiu $s2, $s2, 1 +/* C6D21C 802408FC 0242102A */ slt $v0, $s2, $v0 +/* C6D220 80240900 1440FFED */ bnez $v0, .L802408B8 +/* C6D224 80240904 26310002 */ addiu $s1, $s1, 2 +.L80240908: +/* C6D228 80240908 AEB40070 */ sw $s4, 0x70($s5) +.L8024090C: +/* C6D22C 8024090C 12C00011 */ beqz $s6, .L80240954 +/* C6D230 80240910 33C500FF */ andi $a1, $fp, 0xff +/* C6D234 80240914 8EA20070 */ lw $v0, 0x70($s5) +/* C6D238 80240918 00023A00 */ sll $a3, $v0, 8 +/* C6D23C 8024091C 00E23823 */ subu $a3, $a3, $v0 +/* C6D240 80240920 16800002 */ bnez $s4, .L8024092C +/* C6D244 80240924 00F4001A */ div $zero, $a3, $s4 +/* C6D248 80240928 0007000D */ break 7 +.L8024092C: +/* C6D24C 8024092C 2401FFFF */ addiu $at, $zero, -1 +/* C6D250 80240930 16810004 */ bne $s4, $at, .L80240944 +/* C6D254 80240934 3C018000 */ lui $at, 0x8000 +/* C6D258 80240938 14E10002 */ bne $a3, $at, .L80240944 +/* C6D25C 8024093C 00000000 */ nop +/* C6D260 80240940 0006000D */ break 6 +.L80240944: +/* C6D264 80240944 00003812 */ mflo $a3 +/* C6D268 80240948 93A40013 */ lbu $a0, 0x13($sp) +/* C6D26C 8024094C 08090265 */ j .L80240994 +/* C6D270 80240950 32E600FF */ andi $a2, $s7, 0xff +.L80240954: +/* C6D274 80240954 8EA20070 */ lw $v0, 0x70($s5) +/* C6D278 80240958 00023A00 */ sll $a3, $v0, 8 +/* C6D27C 8024095C 00E23823 */ subu $a3, $a3, $v0 +/* C6D280 80240960 16800002 */ bnez $s4, .L8024096C +/* C6D284 80240964 00F4001A */ div $zero, $a3, $s4 +/* C6D288 80240968 0007000D */ break 7 +.L8024096C: +/* C6D28C 8024096C 2401FFFF */ addiu $at, $zero, -1 +/* C6D290 80240970 16810004 */ bne $s4, $at, .L80240984 +/* C6D294 80240974 3C018000 */ lui $at, 0x8000 +/* C6D298 80240978 14E10002 */ bne $a3, $at, .L80240984 +/* C6D29C 8024097C 00000000 */ nop +/* C6D2A0 80240980 0006000D */ break 6 +.L80240984: +/* C6D2A4 80240984 00003812 */ mflo $a3 +/* C6D2A8 80240988 32E600FF */ andi $a2, $s7, 0xff +/* C6D2AC 8024098C 93A40013 */ lbu $a0, 0x13($sp) +/* C6D2B0 80240990 00073827 */ nor $a3, $zero, $a3 +.L80240994: +/* C6D2B4 80240994 0C046F97 */ jal set_background_color_blend +/* C6D2B8 80240998 30E700FF */ andi $a3, $a3, 0xff +/* C6D2BC 8024099C 8EA20070 */ lw $v0, 0x70($s5) +/* C6D2C0 802409A0 2442FFFF */ addiu $v0, $v0, -1 +/* C6D2C4 802409A4 0441001A */ bgez $v0, .L80240A10 +/* C6D2C8 802409A8 AEA20070 */ sw $v0, 0x70($s5) +/* C6D2CC 802409AC 96620000 */ lhu $v0, ($s3) +/* C6D2D0 802409B0 10400015 */ beqz $v0, .L80240A08 +/* C6D2D4 802409B4 0000902D */ daddu $s2, $zero, $zero +/* C6D2D8 802409B8 0260882D */ daddu $s1, $s3, $zero +.L802409BC: +/* C6D2DC 802409BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6D2E0 802409C0 96240002 */ lhu $a0, 2($s1) +/* C6D2E4 802409C4 0C046B4C */ jal get_model_from_list_index +/* C6D2E8 802409C8 0040202D */ daddu $a0, $v0, $zero +/* C6D2EC 802409CC 0040802D */ daddu $s0, $v0, $zero +/* C6D2F0 802409D0 0200202D */ daddu $a0, $s0, $zero +/* C6D2F4 802409D4 2405FFFF */ addiu $a1, $zero, -1 +/* C6D2F8 802409D8 0C046F1F */ jal func_8011BC7C +/* C6D2FC 802409DC 0000302D */ daddu $a2, $zero, $zero +/* C6D300 802409E0 16C00004 */ bnez $s6, .L802409F4 +/* C6D304 802409E4 00000000 */ nop +/* C6D308 802409E8 96020000 */ lhu $v0, ($s0) +/* C6D30C 802409EC 34420002 */ ori $v0, $v0, 2 +/* C6D310 802409F0 A6020000 */ sh $v0, ($s0) +.L802409F4: +/* C6D314 802409F4 96620000 */ lhu $v0, ($s3) +/* C6D318 802409F8 26520001 */ addiu $s2, $s2, 1 +/* C6D31C 802409FC 0242102A */ slt $v0, $s2, $v0 +/* C6D320 80240A00 1440FFEE */ bnez $v0, .L802409BC +/* C6D324 80240A04 26310002 */ addiu $s1, $s1, 2 +.L80240A08: +/* C6D328 80240A08 08090285 */ j .L80240A14 +/* C6D32C 80240A0C 24020001 */ addiu $v0, $zero, 1 +.L80240A10: +/* C6D330 80240A10 0000102D */ daddu $v0, $zero, $zero +.L80240A14: +/* C6D334 80240A14 8FBF003C */ lw $ra, 0x3c($sp) +/* C6D338 80240A18 8FBE0038 */ lw $fp, 0x38($sp) +/* C6D33C 80240A1C 8FB70034 */ lw $s7, 0x34($sp) +/* C6D340 80240A20 8FB60030 */ lw $s6, 0x30($sp) +/* C6D344 80240A24 8FB5002C */ lw $s5, 0x2c($sp) +/* C6D348 80240A28 8FB40028 */ lw $s4, 0x28($sp) +/* C6D34C 80240A2C 8FB30024 */ lw $s3, 0x24($sp) +/* C6D350 80240A30 8FB20020 */ lw $s2, 0x20($sp) +/* C6D354 80240A34 8FB1001C */ lw $s1, 0x1c($sp) +/* C6D358 80240A38 8FB00018 */ lw $s0, 0x18($sp) +/* C6D35C 80240A3C 03E00008 */ jr $ra +/* C6D360 80240A40 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_06/func_80240A44_C6C920.s b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240A44_C6C920.s new file mode 100644 index 0000000000..14f136df83 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_06/func_80240A44_C6C920.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A44_C6D364 +/* C6D364 80240A44 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6D368 80240A48 0000202D */ daddu $a0, $zero, $zero +/* C6D36C 80240A4C AFBF0010 */ sw $ra, 0x10($sp) +/* C6D370 80240A50 0C015586 */ jal func_80055618 +/* C6D374 80240A54 24050001 */ addiu $a1, $zero, 1 +/* C6D378 80240A58 8FBF0010 */ lw $ra, 0x10($sp) +/* C6D37C 80240A5C 24020002 */ addiu $v0, $zero, 2 +/* C6D380 80240A60 03E00008 */ jr $ra +/* C6D384 80240A64 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6D388 80240A68 00000000 */ nop +/* C6D38C 80240A6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240000_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240000_C6E330.s new file mode 100644 index 0000000000..571b743c77 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240000_C6E330.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C6E330 +/* C6E330 80240000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C6E334 80240004 AFB1002C */ sw $s1, 0x2c($sp) +/* C6E338 80240008 0080882D */ daddu $s1, $a0, $zero +/* C6E33C 8024000C AFB20030 */ sw $s2, 0x30($sp) +/* C6E340 80240010 00A0902D */ daddu $s2, $a1, $zero +/* C6E344 80240014 AFBF003C */ sw $ra, 0x3c($sp) +/* C6E348 80240018 AFB40038 */ sw $s4, 0x38($sp) +/* C6E34C 8024001C AFB30034 */ sw $s3, 0x34($sp) +/* C6E350 80240020 AFB00028 */ sw $s0, 0x28($sp) +/* C6E354 80240024 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C6E358 80240028 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C6E35C 8024002C 8E30000C */ lw $s0, 0xc($s1) +/* C6E360 80240030 8E050000 */ lw $a1, ($s0) +/* C6E364 80240034 0C0B1EAF */ jal get_variable +/* C6E368 80240038 26100004 */ addiu $s0, $s0, 4 +/* C6E36C 8024003C 0220202D */ daddu $a0, $s1, $zero +/* C6E370 80240040 8E050000 */ lw $a1, ($s0) +/* C6E374 80240044 0C0B1EAF */ jal get_variable +/* C6E378 80240048 0040A02D */ daddu $s4, $v0, $zero +/* C6E37C 8024004C 12400022 */ beqz $s2, .L802400D8 +/* C6E380 80240050 0040982D */ daddu $s3, $v0, $zero +/* C6E384 80240054 12600013 */ beqz $s3, .L802400A4 +/* C6E388 80240058 26710002 */ addiu $s1, $s3, 2 +/* C6E38C 8024005C 96620000 */ lhu $v0, ($s3) +/* C6E390 80240060 1040001D */ beqz $v0, .L802400D8 +/* C6E394 80240064 0000802D */ daddu $s0, $zero, $zero +.L80240068: +/* C6E398 80240068 96240000 */ lhu $a0, ($s1) +/* C6E39C 8024006C 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6E3A0 80240070 26100001 */ addiu $s0, $s0, 1 +/* C6E3A4 80240074 0C046B4C */ jal get_model_from_list_index +/* C6E3A8 80240078 0040202D */ daddu $a0, $v0, $zero +/* C6E3AC 8024007C 0040202D */ daddu $a0, $v0, $zero +/* C6E3B0 80240080 2405FFFF */ addiu $a1, $zero, -1 +/* C6E3B4 80240084 0C046F1F */ jal func_8011BC7C +/* C6E3B8 80240088 24060002 */ addiu $a2, $zero, 2 +/* C6E3BC 8024008C 96620000 */ lhu $v0, ($s3) +/* C6E3C0 80240090 0202102A */ slt $v0, $s0, $v0 +/* C6E3C4 80240094 1440FFF4 */ bnez $v0, .L80240068 +/* C6E3C8 80240098 26310002 */ addiu $s1, $s1, 2 +/* C6E3CC 8024009C 08090036 */ j .L802400D8 +/* C6E3D0 802400A0 00000000 */ nop +.L802400A4: +/* C6E3D4 802400A4 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C6E3D8 802400A8 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C6E3DC 802400AC 0000802D */ daddu $s0, $zero, $zero +.L802400B0: +/* C6E3E0 802400B0 8E240000 */ lw $a0, ($s1) +/* C6E3E4 802400B4 50800005 */ beql $a0, $zero, .L802400CC +/* C6E3E8 802400B8 26100001 */ addiu $s0, $s0, 1 +/* C6E3EC 802400BC 2405FFFF */ addiu $a1, $zero, -1 +/* C6E3F0 802400C0 0C046F1F */ jal func_8011BC7C +/* C6E3F4 802400C4 24060002 */ addiu $a2, $zero, 2 +/* C6E3F8 802400C8 26100001 */ addiu $s0, $s0, 1 +.L802400CC: +/* C6E3FC 802400CC 2A020100 */ slti $v0, $s0, 0x100 +/* C6E400 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* C6E404 802400D4 26310004 */ addiu $s1, $s1, 4 +.L802400D8: +/* C6E408 802400D8 3C028024 */ lui $v0, 0x8024 +/* C6E40C 802400DC 244223E0 */ addiu $v0, $v0, 0x23e0 +/* C6E410 802400E0 C4420000 */ lwc1 $f2, ($v0) +/* C6E414 802400E4 3C013F80 */ lui $at, 0x3f80 +/* C6E418 802400E8 44810000 */ mtc1 $at, $f0 +/* C6E41C 802400EC 00000000 */ nop +/* C6E420 802400F0 46001000 */ add.s $f0, $f2, $f0 +/* C6E424 802400F4 3C0143B4 */ lui $at, 0x43b4 +/* C6E428 802400F8 44811000 */ mtc1 $at, $f2 +/* C6E42C 802400FC 00000000 */ nop +/* C6E430 80240100 4600103C */ c.lt.s $f2, $f0 +/* C6E434 80240104 00000000 */ nop +/* C6E438 80240108 45000003 */ bc1f .L80240118 +/* C6E43C 8024010C E4400000 */ swc1 $f0, ($v0) +/* C6E440 80240110 46020001 */ sub.s $f0, $f0, $f2 +/* C6E444 80240114 E4400000 */ swc1 $f0, ($v0) +.L80240118: +/* C6E448 80240118 24020002 */ addiu $v0, $zero, 2 +/* C6E44C 8024011C 12820037 */ beq $s4, $v0, .L802401FC +/* C6E450 80240120 2A820003 */ slti $v0, $s4, 3 +/* C6E454 80240124 10400005 */ beqz $v0, .L8024013C +/* C6E458 80240128 24020001 */ addiu $v0, $zero, 1 +/* C6E45C 8024012C 12820008 */ beq $s4, $v0, .L80240150 +/* C6E460 80240130 0000202D */ daddu $a0, $zero, $zero +/* C6E464 80240134 08090088 */ j .L80240220 +/* C6E468 80240138 00000000 */ nop +.L8024013C: +/* C6E46C 8024013C 2402000A */ addiu $v0, $zero, 0xa +/* C6E470 80240140 12820077 */ beq $s4, $v0, .L80240320 +/* C6E474 80240144 0000102D */ daddu $v0, $zero, $zero +/* C6E478 80240148 08090088 */ j .L80240220 +/* C6E47C 8024014C 00000000 */ nop +.L80240150: +/* C6E480 80240150 3C05FD05 */ lui $a1, 0xfd05 +/* C6E484 80240154 0C0B210B */ jal get_float_variable +/* C6E488 80240158 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6E48C 8024015C 44802000 */ mtc1 $zero, $f4 +/* C6E490 80240160 00000000 */ nop +/* C6E494 80240164 4604003E */ c.le.s $f0, $f4 +/* C6E498 80240168 00000000 */ nop +/* C6E49C 8024016C 4501006C */ bc1t .L80240320 +/* C6E4A0 80240170 24020002 */ addiu $v0, $zero, 2 +/* C6E4A4 80240174 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C6E4A8 80240178 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C6E4AC 8024017C C4420028 */ lwc1 $f2, 0x28($v0) +/* C6E4B0 80240180 3C01C296 */ lui $at, 0xc296 +/* C6E4B4 80240184 44810000 */ mtc1 $at, $f0 +/* C6E4B8 80240188 00000000 */ nop +/* C6E4BC 8024018C 46020081 */ sub.s $f2, $f0, $f2 +/* C6E4C0 80240190 4604103C */ c.lt.s $f2, $f4 +/* C6E4C4 80240194 00000000 */ nop +/* C6E4C8 80240198 45030001 */ bc1tl .L802401A0 +/* C6E4CC 8024019C 46001087 */ neg.s $f2, $f2 +.L802401A0: +/* C6E4D0 802401A0 3C014400 */ lui $at, 0x4400 +/* C6E4D4 802401A4 44810000 */ mtc1 $at, $f0 +/* C6E4D8 802401A8 00000000 */ nop +/* C6E4DC 802401AC 46020581 */ sub.s $f22, $f0, $f2 +/* C6E4E0 802401B0 4604B03C */ c.lt.s $f22, $f4 +/* C6E4E4 802401B4 00000000 */ nop +/* C6E4E8 802401B8 45030001 */ bc1tl .L802401C0 +/* C6E4EC 802401BC 46002586 */ mov.s $f22, $f4 +.L802401C0: +/* C6E4F0 802401C0 0000202D */ daddu $a0, $zero, $zero +/* C6E4F4 802401C4 3C05FD05 */ lui $a1, 0xfd05 +/* C6E4F8 802401C8 0C0B210B */ jal get_float_variable +/* C6E4FC 802401CC 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6E500 802401D0 3C018024 */ lui $at, 0x8024 +/* C6E504 802401D4 D4223080 */ ldc1 $f2, 0x3080($at) +/* C6E508 802401D8 46000021 */ cvt.d.s $f0, $f0 +/* C6E50C 802401DC 46220002 */ mul.d $f0, $f0, $f2 +/* C6E510 802401E0 00000000 */ nop +/* C6E514 802401E4 4600B0A1 */ cvt.d.s $f2, $f22 +/* C6E518 802401E8 46201082 */ mul.d $f2, $f2, $f0 +/* C6E51C 802401EC 00000000 */ nop +/* C6E520 802401F0 241103CA */ addiu $s1, $zero, 0x3ca +/* C6E524 802401F4 0809008B */ j .L8024022C +/* C6E528 802401F8 462015A0 */ cvt.s.d $f22, $f2 +.L802401FC: +/* C6E52C 802401FC 3C0142C8 */ lui $at, 0x42c8 +/* C6E530 80240200 4481B000 */ mtc1 $at, $f22 +/* C6E534 80240204 0000202D */ daddu $a0, $zero, $zero +/* C6E538 80240208 3C05FD05 */ lui $a1, 0xfd05 +/* C6E53C 8024020C 0C0B1EAF */ jal get_variable +/* C6E540 80240210 34A50F80 */ ori $a1, $a1, 0xf80 +/* C6E544 80240214 240303E3 */ addiu $v1, $zero, 0x3e3 +/* C6E548 80240218 0809008B */ j .L8024022C +/* C6E54C 8024021C 00628823 */ subu $s1, $v1, $v0 +.L80240220: +/* C6E550 80240220 3C0142C8 */ lui $at, 0x42c8 +/* C6E554 80240224 4481B000 */ mtc1 $at, $f22 +/* C6E558 80240228 241103CA */ addiu $s1, $zero, 0x3ca +.L8024022C: +/* C6E55C 8024022C 3C108024 */ lui $s0, 0x8024 +/* C6E560 80240230 261023E0 */ addiu $s0, $s0, 0x23e0 +/* C6E564 80240234 C6000000 */ lwc1 $f0, ($s0) +/* C6E568 80240238 3C014040 */ lui $at, 0x4040 +/* C6E56C 8024023C 44816000 */ mtc1 $at, $f12 +/* C6E570 80240240 00000000 */ nop +/* C6E574 80240244 460C0302 */ mul.s $f12, $f0, $f12 +/* C6E578 80240248 0C00A8BB */ jal sin_deg +/* C6E57C 8024024C 00000000 */ nop +/* C6E580 80240250 C6020000 */ lwc1 $f2, ($s0) +/* C6E584 80240254 3C014100 */ lui $at, 0x4100 +/* C6E588 80240258 44816000 */ mtc1 $at, $f12 +/* C6E58C 8024025C 00000000 */ nop +/* C6E590 80240260 460C1302 */ mul.s $f12, $f2, $f12 +/* C6E594 80240264 00000000 */ nop +/* C6E598 80240268 0C00A8BB */ jal sin_deg +/* C6E59C 8024026C 46000506 */ mov.s $f20, $f0 +/* C6E5A0 80240270 3C013FE0 */ lui $at, 0x3fe0 +/* C6E5A4 80240274 44811800 */ mtc1 $at, $f3 +/* C6E5A8 80240278 44801000 */ mtc1 $zero, $f2 +/* C6E5AC 8024027C 4600A521 */ cvt.d.s $f20, $f20 +/* C6E5B0 80240280 4622A502 */ mul.d $f20, $f20, $f2 +/* C6E5B4 80240284 00000000 */ nop +/* C6E5B8 80240288 46000021 */ cvt.d.s $f0, $f0 +/* C6E5BC 8024028C 46220002 */ mul.d $f0, $f0, $f2 +/* C6E5C0 80240290 00000000 */ nop +/* C6E5C4 80240294 4620A500 */ add.d $f20, $f20, $f0 +/* C6E5C8 80240298 4600B021 */ cvt.d.s $f0, $f22 +/* C6E5CC 8024029C 46340502 */ mul.d $f20, $f0, $f20 +/* C6E5D0 802402A0 00000000 */ nop +/* C6E5D4 802402A4 46340000 */ add.d $f0, $f0, $f20 +/* C6E5D8 802402A8 3C0141E0 */ lui $at, 0x41e0 +/* C6E5DC 802402AC 44811800 */ mtc1 $at, $f3 +/* C6E5E0 802402B0 44801000 */ mtc1 $zero, $f2 +/* C6E5E4 802402B4 00000000 */ nop +/* C6E5E8 802402B8 4620103E */ c.le.d $f2, $f0 +/* C6E5EC 802402BC 00000000 */ nop +/* C6E5F0 802402C0 45030005 */ bc1tl .L802402D8 +/* C6E5F4 802402C4 46220001 */ sub.d $f0, $f0, $f2 +/* C6E5F8 802402C8 4620018D */ trunc.w.d $f6, $f0 +/* C6E5FC 802402CC 44073000 */ mfc1 $a3, $f6 +/* C6E600 802402D0 080900BC */ j .L802402F0 +/* C6E604 802402D4 2404003C */ addiu $a0, $zero, 0x3c +.L802402D8: +/* C6E608 802402D8 3C028000 */ lui $v0, 0x8000 +/* C6E60C 802402DC 4620018D */ trunc.w.d $f6, $f0 +/* C6E610 802402E0 44073000 */ mfc1 $a3, $f6 +/* C6E614 802402E4 00000000 */ nop +/* C6E618 802402E8 00E23825 */ or $a3, $a3, $v0 +/* C6E61C 802402EC 2404003C */ addiu $a0, $zero, 0x3c +.L802402F0: +/* C6E620 802402F0 24050032 */ addiu $a1, $zero, 0x32 +/* C6E624 802402F4 2406001E */ addiu $a2, $zero, 0x1e +/* C6E628 802402F8 24020014 */ addiu $v0, $zero, 0x14 +/* C6E62C 802402FC AFA20010 */ sw $v0, 0x10($sp) +/* C6E630 80240300 AFA20014 */ sw $v0, 0x14($sp) +/* C6E634 80240304 AFA20018 */ sw $v0, 0x18($sp) +/* C6E638 80240308 240203E8 */ addiu $v0, $zero, 0x3e8 +/* C6E63C 8024030C 30E700FF */ andi $a3, $a3, 0xff +/* C6E640 80240310 AFB1001C */ sw $s1, 0x1c($sp) +/* C6E644 80240314 0C046FAD */ jal func_8011BEB4 +/* C6E648 80240318 AFA20020 */ sw $v0, 0x20($sp) +/* C6E64C 8024031C 0000102D */ daddu $v0, $zero, $zero +.L80240320: +/* C6E650 80240320 8FBF003C */ lw $ra, 0x3c($sp) +/* C6E654 80240324 8FB40038 */ lw $s4, 0x38($sp) +/* C6E658 80240328 8FB30034 */ lw $s3, 0x34($sp) +/* C6E65C 8024032C 8FB20030 */ lw $s2, 0x30($sp) +/* C6E660 80240330 8FB1002C */ lw $s1, 0x2c($sp) +/* C6E664 80240334 8FB00028 */ lw $s0, 0x28($sp) +/* C6E668 80240338 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C6E66C 8024033C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C6E670 80240340 03E00008 */ jr $ra +/* C6E674 80240344 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240348_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240348_C6E330.s new file mode 100644 index 0000000000..a55e956816 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240348_C6E330.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240348_C6E678 +/* C6E678 80240348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C6E67C 8024034C AFBF001C */ sw $ra, 0x1c($sp) +/* C6E680 80240350 AFB20018 */ sw $s2, 0x18($sp) +/* C6E684 80240354 AFB10014 */ sw $s1, 0x14($sp) +/* C6E688 80240358 AFB00010 */ sw $s0, 0x10($sp) +/* C6E68C 8024035C 8C82000C */ lw $v0, 0xc($a0) +/* C6E690 80240360 0C0B1EAF */ jal get_variable +/* C6E694 80240364 8C450000 */ lw $a1, ($v0) +/* C6E698 80240368 0040902D */ daddu $s2, $v0, $zero +/* C6E69C 8024036C 12400013 */ beqz $s2, .L802403BC +/* C6E6A0 80240370 26510002 */ addiu $s1, $s2, 2 +/* C6E6A4 80240374 96420000 */ lhu $v0, ($s2) +/* C6E6A8 80240378 1040001D */ beqz $v0, .L802403F0 +/* C6E6AC 8024037C 0000802D */ daddu $s0, $zero, $zero +.L80240380: +/* C6E6B0 80240380 96240000 */ lhu $a0, ($s1) +/* C6E6B4 80240384 0C046C04 */ jal get_model_list_index_from_tree_index +/* C6E6B8 80240388 26100001 */ addiu $s0, $s0, 1 +/* C6E6BC 8024038C 0C046B4C */ jal get_model_from_list_index +/* C6E6C0 80240390 0040202D */ daddu $a0, $v0, $zero +/* C6E6C4 80240394 0040202D */ daddu $a0, $v0, $zero +/* C6E6C8 80240398 2405FFFF */ addiu $a1, $zero, -1 +/* C6E6CC 8024039C 0C046F1F */ jal func_8011BC7C +/* C6E6D0 802403A0 0000302D */ daddu $a2, $zero, $zero +/* C6E6D4 802403A4 96420000 */ lhu $v0, ($s2) +/* C6E6D8 802403A8 0202102A */ slt $v0, $s0, $v0 +/* C6E6DC 802403AC 1440FFF4 */ bnez $v0, .L80240380 +/* C6E6E0 802403B0 26310002 */ addiu $s1, $s1, 2 +/* C6E6E4 802403B4 080900FC */ j .L802403F0 +/* C6E6E8 802403B8 00000000 */ nop +.L802403BC: +/* C6E6EC 802403BC 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C6E6F0 802403C0 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C6E6F4 802403C4 0000802D */ daddu $s0, $zero, $zero +.L802403C8: +/* C6E6F8 802403C8 8E240000 */ lw $a0, ($s1) +/* C6E6FC 802403CC 50800005 */ beql $a0, $zero, .L802403E4 +/* C6E700 802403D0 26100001 */ addiu $s0, $s0, 1 +/* C6E704 802403D4 2405FFFF */ addiu $a1, $zero, -1 +/* C6E708 802403D8 0C046F1F */ jal func_8011BC7C +/* C6E70C 802403DC 0000302D */ daddu $a2, $zero, $zero +/* C6E710 802403E0 26100001 */ addiu $s0, $s0, 1 +.L802403E4: +/* C6E714 802403E4 2A020100 */ slti $v0, $s0, 0x100 +/* C6E718 802403E8 1440FFF7 */ bnez $v0, .L802403C8 +/* C6E71C 802403EC 26310004 */ addiu $s1, $s1, 4 +.L802403F0: +/* C6E720 802403F0 8FBF001C */ lw $ra, 0x1c($sp) +/* C6E724 802403F4 8FB20018 */ lw $s2, 0x18($sp) +/* C6E728 802403F8 8FB10014 */ lw $s1, 0x14($sp) +/* C6E72C 802403FC 8FB00010 */ lw $s0, 0x10($sp) +/* C6E730 80240400 24020002 */ addiu $v0, $zero, 2 +/* C6E734 80240404 03E00008 */ jr $ra +/* C6E738 80240408 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_8024040C.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_8024040C.s new file mode 100644 index 0000000000..d92dd538be --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_8024040C.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024040C +/* C6E73C 8024040C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6E740 80240410 AFB00010 */ sw $s0, 0x10($sp) +/* C6E744 80240414 0080802D */ daddu $s0, $a0, $zero +/* C6E748 80240418 AFBF0014 */ sw $ra, 0x14($sp) +/* C6E74C 8024041C 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6E750 80240420 8E020088 */ lw $v0, 0x88($s0) +/* C6E754 80240424 00621821 */ addu $v1, $v1, $v0 +/* C6E758 80240428 04610004 */ bgez $v1, .L8024043C +/* C6E75C 8024042C AE0300A8 */ sw $v1, 0xa8($s0) +/* C6E760 80240430 3C020002 */ lui $v0, 2 +/* C6E764 80240434 08090113 */ j .L8024044C +/* C6E768 80240438 00621021 */ addu $v0, $v1, $v0 +.L8024043C: +/* C6E76C 8024043C 3C040002 */ lui $a0, 2 +/* C6E770 80240440 0083102A */ slt $v0, $a0, $v1 +/* C6E774 80240444 10400002 */ beqz $v0, .L80240450 +/* C6E778 80240448 00641023 */ subu $v0, $v1, $a0 +.L8024044C: +/* C6E77C 8024044C AE0200A8 */ sw $v0, 0xa8($s0) +.L80240450: +/* C6E780 80240450 8E0300AC */ lw $v1, 0xac($s0) +/* C6E784 80240454 8E02008C */ lw $v0, 0x8c($s0) +/* C6E788 80240458 00621821 */ addu $v1, $v1, $v0 +/* C6E78C 8024045C 04610004 */ bgez $v1, .L80240470 +/* C6E790 80240460 AE0300AC */ sw $v1, 0xac($s0) +/* C6E794 80240464 3C020002 */ lui $v0, 2 +/* C6E798 80240468 08090120 */ j .L80240480 +/* C6E79C 8024046C 00621021 */ addu $v0, $v1, $v0 +.L80240470: +/* C6E7A0 80240470 3C040002 */ lui $a0, 2 +/* C6E7A4 80240474 0083102A */ slt $v0, $a0, $v1 +/* C6E7A8 80240478 10400002 */ beqz $v0, .L80240484 +/* C6E7AC 8024047C 00641023 */ subu $v0, $v1, $a0 +.L80240480: +/* C6E7B0 80240480 AE0200AC */ sw $v0, 0xac($s0) +.L80240484: +/* C6E7B4 80240484 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6E7B8 80240488 8E020090 */ lw $v0, 0x90($s0) +/* C6E7BC 8024048C 00621821 */ addu $v1, $v1, $v0 +/* C6E7C0 80240490 04610004 */ bgez $v1, .L802404A4 +/* C6E7C4 80240494 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6E7C8 80240498 3C020002 */ lui $v0, 2 +/* C6E7CC 8024049C 0809012D */ j .L802404B4 +/* C6E7D0 802404A0 00621021 */ addu $v0, $v1, $v0 +.L802404A4: +/* C6E7D4 802404A4 3C040002 */ lui $a0, 2 +/* C6E7D8 802404A8 0083102A */ slt $v0, $a0, $v1 +/* C6E7DC 802404AC 10400002 */ beqz $v0, .L802404B8 +/* C6E7E0 802404B0 00641023 */ subu $v0, $v1, $a0 +.L802404B4: +/* C6E7E4 802404B4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404B8: +/* C6E7E8 802404B8 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6E7EC 802404BC 8E020094 */ lw $v0, 0x94($s0) +/* C6E7F0 802404C0 00621821 */ addu $v1, $v1, $v0 +/* C6E7F4 802404C4 04610004 */ bgez $v1, .L802404D8 +/* C6E7F8 802404C8 AE0300B4 */ sw $v1, 0xb4($s0) +/* C6E7FC 802404CC 3C020002 */ lui $v0, 2 +/* C6E800 802404D0 0809013A */ j .L802404E8 +/* C6E804 802404D4 00621021 */ addu $v0, $v1, $v0 +.L802404D8: +/* C6E808 802404D8 3C040002 */ lui $a0, 2 +/* C6E80C 802404DC 0083102A */ slt $v0, $a0, $v1 +/* C6E810 802404E0 10400002 */ beqz $v0, .L802404EC +/* C6E814 802404E4 00641023 */ subu $v0, $v1, $a0 +.L802404E8: +/* C6E818 802404E8 AE0200B4 */ sw $v0, 0xb4($s0) +.L802404EC: +/* C6E81C 802404EC 8E040084 */ lw $a0, 0x84($s0) +/* C6E820 802404F0 0C046F07 */ jal set_main_pan_u +/* C6E824 802404F4 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6E828 802404F8 8E040084 */ lw $a0, 0x84($s0) +/* C6E82C 802404FC 0C046F0D */ jal set_main_pan_v +/* C6E830 80240500 8E0500AC */ lw $a1, 0xac($s0) +/* C6E834 80240504 8E040084 */ lw $a0, 0x84($s0) +/* C6E838 80240508 0C046F13 */ jal set_aux_pan_u +/* C6E83C 8024050C 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6E840 80240510 8E040084 */ lw $a0, 0x84($s0) +/* C6E844 80240514 0C046F19 */ jal set_aux_pan_v +/* C6E848 80240518 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6E84C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* C6E850 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* C6E854 80240524 0000102D */ daddu $v0, $zero, $zero +/* C6E858 80240528 03E00008 */ jr $ra +/* C6E85C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240530_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240530_C6E330.s new file mode 100644 index 0000000000..b9ce16db00 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240530_C6E330.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_C6E860 +/* C6E860 80240530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6E864 80240534 AFB00010 */ sw $s0, 0x10($sp) +/* C6E868 80240538 0080802D */ daddu $s0, $a0, $zero +/* C6E86C 8024053C 10A00005 */ beqz $a1, .L80240554 +/* C6E870 80240540 AFBF0014 */ sw $ra, 0x14($sp) +/* C6E874 80240544 AE000070 */ sw $zero, 0x70($s0) +/* C6E878 80240548 AE000074 */ sw $zero, 0x74($s0) +/* C6E87C 8024054C AE000078 */ sw $zero, 0x78($s0) +/* C6E880 80240550 AE00007C */ sw $zero, 0x7c($s0) +.L80240554: +/* C6E884 80240554 8E020070 */ lw $v0, 0x70($s0) +/* C6E888 80240558 1440000E */ bnez $v0, .L80240594 +/* C6E88C 8024055C 00000000 */ nop +/* C6E890 80240560 8E0300A8 */ lw $v1, 0xa8($s0) +/* C6E894 80240564 8E020088 */ lw $v0, 0x88($s0) +/* C6E898 80240568 00621821 */ addu $v1, $v1, $v0 +/* C6E89C 8024056C 04610004 */ bgez $v1, .L80240580 +/* C6E8A0 80240570 AE0300A8 */ sw $v1, 0xa8($s0) +/* C6E8A4 80240574 3C020002 */ lui $v0, 2 +/* C6E8A8 80240578 08090164 */ j .L80240590 +/* C6E8AC 8024057C 00621021 */ addu $v0, $v1, $v0 +.L80240580: +/* C6E8B0 80240580 3C040002 */ lui $a0, 2 +/* C6E8B4 80240584 0083102A */ slt $v0, $a0, $v1 +/* C6E8B8 80240588 10400002 */ beqz $v0, .L80240594 +/* C6E8BC 8024058C 00641023 */ subu $v0, $v1, $a0 +.L80240590: +/* C6E8C0 80240590 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240594: +/* C6E8C4 80240594 8E020074 */ lw $v0, 0x74($s0) +/* C6E8C8 80240598 1440000E */ bnez $v0, .L802405D4 +/* C6E8CC 8024059C 00000000 */ nop +/* C6E8D0 802405A0 8E0300AC */ lw $v1, 0xac($s0) +/* C6E8D4 802405A4 8E02008C */ lw $v0, 0x8c($s0) +/* C6E8D8 802405A8 00621821 */ addu $v1, $v1, $v0 +/* C6E8DC 802405AC 04610004 */ bgez $v1, .L802405C0 +/* C6E8E0 802405B0 AE0300AC */ sw $v1, 0xac($s0) +/* C6E8E4 802405B4 3C020002 */ lui $v0, 2 +/* C6E8E8 802405B8 08090174 */ j .L802405D0 +/* C6E8EC 802405BC 00621021 */ addu $v0, $v1, $v0 +.L802405C0: +/* C6E8F0 802405C0 3C040002 */ lui $a0, 2 +/* C6E8F4 802405C4 0083102A */ slt $v0, $a0, $v1 +/* C6E8F8 802405C8 10400002 */ beqz $v0, .L802405D4 +/* C6E8FC 802405CC 00641023 */ subu $v0, $v1, $a0 +.L802405D0: +/* C6E900 802405D0 AE0200AC */ sw $v0, 0xac($s0) +.L802405D4: +/* C6E904 802405D4 8E020078 */ lw $v0, 0x78($s0) +/* C6E908 802405D8 1440000E */ bnez $v0, .L80240614 +/* C6E90C 802405DC 00000000 */ nop +/* C6E910 802405E0 8E0300B0 */ lw $v1, 0xb0($s0) +/* C6E914 802405E4 8E020090 */ lw $v0, 0x90($s0) +/* C6E918 802405E8 00621821 */ addu $v1, $v1, $v0 +/* C6E91C 802405EC 04610004 */ bgez $v1, .L80240600 +/* C6E920 802405F0 AE0300B0 */ sw $v1, 0xb0($s0) +/* C6E924 802405F4 3C020002 */ lui $v0, 2 +/* C6E928 802405F8 08090184 */ j .L80240610 +/* C6E92C 802405FC 00621021 */ addu $v0, $v1, $v0 +.L80240600: +/* C6E930 80240600 3C040002 */ lui $a0, 2 +/* C6E934 80240604 0083102A */ slt $v0, $a0, $v1 +/* C6E938 80240608 10400002 */ beqz $v0, .L80240614 +/* C6E93C 8024060C 00641023 */ subu $v0, $v1, $a0 +.L80240610: +/* C6E940 80240610 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240614: +/* C6E944 80240614 8E02007C */ lw $v0, 0x7c($s0) +/* C6E948 80240618 1440000E */ bnez $v0, .L80240654 +/* C6E94C 8024061C 00000000 */ nop +/* C6E950 80240620 8E0300B4 */ lw $v1, 0xb4($s0) +/* C6E954 80240624 8E020094 */ lw $v0, 0x94($s0) +/* C6E958 80240628 00621821 */ addu $v1, $v1, $v0 +/* C6E95C 8024062C 04610004 */ bgez $v1, .L80240640 +/* C6E960 80240630 AE0300B4 */ sw $v1, 0xb4($s0) +/* C6E964 80240634 3C020002 */ lui $v0, 2 +/* C6E968 80240638 08090194 */ j .L80240650 +/* C6E96C 8024063C 00621021 */ addu $v0, $v1, $v0 +.L80240640: +/* C6E970 80240640 3C040002 */ lui $a0, 2 +/* C6E974 80240644 0083102A */ slt $v0, $a0, $v1 +/* C6E978 80240648 10400002 */ beqz $v0, .L80240654 +/* C6E97C 8024064C 00641023 */ subu $v0, $v1, $a0 +.L80240650: +/* C6E980 80240650 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240654: +/* C6E984 80240654 8E040084 */ lw $a0, 0x84($s0) +/* C6E988 80240658 0C046F07 */ jal set_main_pan_u +/* C6E98C 8024065C 8E0500A8 */ lw $a1, 0xa8($s0) +/* C6E990 80240660 8E040084 */ lw $a0, 0x84($s0) +/* C6E994 80240664 0C046F0D */ jal set_main_pan_v +/* C6E998 80240668 8E0500AC */ lw $a1, 0xac($s0) +/* C6E99C 8024066C 8E040084 */ lw $a0, 0x84($s0) +/* C6E9A0 80240670 0C046F13 */ jal set_aux_pan_u +/* C6E9A4 80240674 8E0500B0 */ lw $a1, 0xb0($s0) +/* C6E9A8 80240678 8E040084 */ lw $a0, 0x84($s0) +/* C6E9AC 8024067C 0C046F19 */ jal set_aux_pan_v +/* C6E9B0 80240680 8E0500B4 */ lw $a1, 0xb4($s0) +/* C6E9B4 80240684 8E020070 */ lw $v0, 0x70($s0) +/* C6E9B8 80240688 8E030078 */ lw $v1, 0x78($s0) +/* C6E9BC 8024068C 8E040098 */ lw $a0, 0x98($s0) +/* C6E9C0 80240690 24420001 */ addiu $v0, $v0, 1 +/* C6E9C4 80240694 AE020070 */ sw $v0, 0x70($s0) +/* C6E9C8 80240698 8E020074 */ lw $v0, 0x74($s0) +/* C6E9CC 8024069C 24630001 */ addiu $v1, $v1, 1 +/* C6E9D0 802406A0 AE030078 */ sw $v1, 0x78($s0) +/* C6E9D4 802406A4 8E030070 */ lw $v1, 0x70($s0) +/* C6E9D8 802406A8 24420001 */ addiu $v0, $v0, 1 +/* C6E9DC 802406AC AE020074 */ sw $v0, 0x74($s0) +/* C6E9E0 802406B0 8E02007C */ lw $v0, 0x7c($s0) +/* C6E9E4 802406B4 0064182A */ slt $v1, $v1, $a0 +/* C6E9E8 802406B8 24420001 */ addiu $v0, $v0, 1 +/* C6E9EC 802406BC 14600002 */ bnez $v1, .L802406C8 +/* C6E9F0 802406C0 AE02007C */ sw $v0, 0x7c($s0) +/* C6E9F4 802406C4 AE000070 */ sw $zero, 0x70($s0) +.L802406C8: +/* C6E9F8 802406C8 8E020074 */ lw $v0, 0x74($s0) +/* C6E9FC 802406CC 8E03009C */ lw $v1, 0x9c($s0) +/* C6EA00 802406D0 0043102A */ slt $v0, $v0, $v1 +/* C6EA04 802406D4 50400001 */ beql $v0, $zero, .L802406DC +/* C6EA08 802406D8 AE000074 */ sw $zero, 0x74($s0) +.L802406DC: +/* C6EA0C 802406DC 8E020078 */ lw $v0, 0x78($s0) +/* C6EA10 802406E0 8E0300A0 */ lw $v1, 0xa0($s0) +/* C6EA14 802406E4 0043102A */ slt $v0, $v0, $v1 +/* C6EA18 802406E8 50400001 */ beql $v0, $zero, .L802406F0 +/* C6EA1C 802406EC AE000078 */ sw $zero, 0x78($s0) +.L802406F0: +/* C6EA20 802406F0 8E02007C */ lw $v0, 0x7c($s0) +/* C6EA24 802406F4 8E0300A4 */ lw $v1, 0xa4($s0) +/* C6EA28 802406F8 0043102A */ slt $v0, $v0, $v1 +/* C6EA2C 802406FC 50400001 */ beql $v0, $zero, .L80240704 +/* C6EA30 80240700 AE00007C */ sw $zero, 0x7c($s0) +.L80240704: +/* C6EA34 80240704 8FBF0014 */ lw $ra, 0x14($sp) +/* C6EA38 80240708 8FB00010 */ lw $s0, 0x10($sp) +/* C6EA3C 8024070C 0000102D */ daddu $v0, $zero, $zero +/* C6EA40 80240710 03E00008 */ jr $ra +/* C6EA44 80240714 27BD0018 */ addiu $sp, $sp, 0x18 +/* C6EA48 80240718 00000000 */ nop +/* C6EA4C 8024071C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240720_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240720_C6E330.s new file mode 100644 index 0000000000..7b14965d30 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240720_C6E330.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240720_C6EA50 +/* C6EA50 80240720 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C6EA54 80240724 AFB1001C */ sw $s1, 0x1c($sp) +/* C6EA58 80240728 00A0882D */ daddu $s1, $a1, $zero +/* C6EA5C 8024072C AFBF0020 */ sw $ra, 0x20($sp) +/* C6EA60 80240730 AFB00018 */ sw $s0, 0x18($sp) +/* C6EA64 80240734 8E220070 */ lw $v0, 0x70($s1) +/* C6EA68 80240738 3C0141C8 */ lui $at, 0x41c8 +/* C6EA6C 8024073C 44810000 */ mtc1 $at, $f0 +/* C6EA70 80240740 00021080 */ sll $v0, $v0, 2 +/* C6EA74 80240744 3C018024 */ lui $at, 0x8024 +/* C6EA78 80240748 00220821 */ addu $at, $at, $v0 +/* C6EA7C 8024074C C4222930 */ lwc1 $f2, 0x2930($at) +/* C6EA80 80240750 46001082 */ mul.s $f2, $f2, $f0 +/* C6EA84 80240754 00000000 */ nop +/* C6EA88 80240758 C6200084 */ lwc1 $f0, 0x84($s1) +/* C6EA8C 8024075C 46800020 */ cvt.s.w $f0, $f0 +/* C6EA90 80240760 46020001 */ sub.s $f0, $f0, $f2 +/* C6EA94 80240764 0080802D */ daddu $s0, $a0, $zero +/* C6EA98 80240768 E600004C */ swc1 $f0, 0x4c($s0) +/* C6EA9C 8024076C 8E220070 */ lw $v0, 0x70($s1) +/* C6EAA0 80240770 14400007 */ bnez $v0, .L80240790 +/* C6EAA4 80240774 240401DA */ addiu $a0, $zero, 0x1da +/* C6EAA8 80240778 C6000050 */ lwc1 $f0, 0x50($s0) +/* C6EAAC 8024077C E7A00010 */ swc1 $f0, 0x10($sp) +/* C6EAB0 80240780 8E060048 */ lw $a2, 0x48($s0) +/* C6EAB4 80240784 8E07004C */ lw $a3, 0x4c($s0) +/* C6EAB8 80240788 0C052757 */ jal play_sound_at_position +/* C6EABC 8024078C 0000282D */ daddu $a1, $zero, $zero +.L80240790: +/* C6EAC0 80240790 8E230070 */ lw $v1, 0x70($s1) +/* C6EAC4 80240794 28620005 */ slti $v0, $v1, 5 +/* C6EAC8 80240798 1440000C */ bnez $v0, .L802407CC +/* C6EACC 8024079C 30620001 */ andi $v0, $v1, 1 +/* C6EAD0 802407A0 1040000A */ beqz $v0, .L802407CC +/* C6EAD4 802407A4 24020014 */ addiu $v0, $zero, 0x14 +/* C6EAD8 802407A8 3C013F80 */ lui $at, 0x3f80 +/* C6EADC 802407AC 44810000 */ mtc1 $at, $f0 +/* C6EAE0 802407B0 AFA20014 */ sw $v0, 0x14($sp) +/* C6EAE4 802407B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6EAE8 802407B8 8E050048 */ lw $a1, 0x48($s0) +/* C6EAEC 802407BC 8E06004C */ lw $a2, 0x4c($s0) +/* C6EAF0 802407C0 8E070050 */ lw $a3, 0x50($s0) +/* C6EAF4 802407C4 0C01C1CC */ jal func_80070730 +/* C6EAF8 802407C8 24040001 */ addiu $a0, $zero, 1 +.L802407CC: +/* C6EAFC 802407CC 8E220070 */ lw $v0, 0x70($s1) +/* C6EB00 802407D0 24420001 */ addiu $v0, $v0, 1 +/* C6EB04 802407D4 AE220070 */ sw $v0, 0x70($s1) +/* C6EB08 802407D8 3842001C */ xori $v0, $v0, 0x1c +/* C6EB0C 802407DC 8FBF0020 */ lw $ra, 0x20($sp) +/* C6EB10 802407E0 8FB1001C */ lw $s1, 0x1c($sp) +/* C6EB14 802407E4 8FB00018 */ lw $s0, 0x18($sp) +/* C6EB18 802407E8 2C420001 */ sltiu $v0, $v0, 1 +/* C6EB1C 802407EC 03E00008 */ jr $ra +/* C6EB20 802407F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802407F4_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802407F4_C6E330.s new file mode 100644 index 0000000000..25cc906b4b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802407F4_C6E330.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4_C6EB24 +/* C6EB24 802407F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6EB28 802407F8 AFBF0010 */ sw $ra, 0x10($sp) +/* C6EB2C 802407FC 0C04417A */ jal get_entity_by_index +/* C6EB30 80240800 8C840084 */ lw $a0, 0x84($a0) +/* C6EB34 80240804 8C440040 */ lw $a0, 0x40($v0) +/* C6EB38 80240808 24030001 */ addiu $v1, $zero, 1 +/* C6EB3C 8024080C A0830030 */ sb $v1, 0x30($a0) +/* C6EB40 80240810 8FBF0010 */ lw $ra, 0x10($sp) +/* C6EB44 80240814 24020002 */ addiu $v0, $zero, 2 +/* C6EB48 80240818 03E00008 */ jr $ra +/* C6EB4C 8024081C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240820_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240820_C6E330.s new file mode 100644 index 0000000000..f0958f1cb3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240820_C6E330.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240820_C6EB50 +/* C6EB50 80240820 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C6EB54 80240824 AFB3002C */ sw $s3, 0x2c($sp) +/* C6EB58 80240828 0080982D */ daddu $s3, $a0, $zero +/* C6EB5C 8024082C AFBF0030 */ sw $ra, 0x30($sp) +/* C6EB60 80240830 AFB20028 */ sw $s2, 0x28($sp) +/* C6EB64 80240834 AFB10024 */ sw $s1, 0x24($sp) +/* C6EB68 80240838 AFB00020 */ sw $s0, 0x20($sp) +/* C6EB6C 8024083C 8E710148 */ lw $s1, 0x148($s3) +/* C6EB70 80240840 86240008 */ lh $a0, 8($s1) +/* C6EB74 80240844 0C00EABB */ jal get_npc_unsafe +/* C6EB78 80240848 00A0902D */ daddu $s2, $a1, $zero +/* C6EB7C 8024084C 8E440004 */ lw $a0, 4($s2) +/* C6EB80 80240850 0040802D */ daddu $s0, $v0, $zero +/* C6EB84 80240854 00041FC2 */ srl $v1, $a0, 0x1f +/* C6EB88 80240858 00832021 */ addu $a0, $a0, $v1 +/* C6EB8C 8024085C 00042043 */ sra $a0, $a0, 1 +/* C6EB90 80240860 0C00A67F */ jal rand_int +/* C6EB94 80240864 24840001 */ addiu $a0, $a0, 1 +/* C6EB98 80240868 8E430004 */ lw $v1, 4($s2) +/* C6EB9C 8024086C 000327C2 */ srl $a0, $v1, 0x1f +/* C6EBA0 80240870 00641821 */ addu $v1, $v1, $a0 +/* C6EBA4 80240874 00031843 */ sra $v1, $v1, 1 +/* C6EBA8 80240878 00621821 */ addu $v1, $v1, $v0 +/* C6EBAC 8024087C A603008E */ sh $v1, 0x8e($s0) +/* C6EBB0 80240880 8E2300D0 */ lw $v1, 0xd0($s1) +/* C6EBB4 80240884 C6000040 */ lwc1 $f0, 0x40($s0) +/* C6EBB8 80240888 C4640000 */ lwc1 $f4, ($v1) +/* C6EBBC 8024088C 46802120 */ cvt.s.w $f4, $f4 +/* C6EBC0 80240890 C4620008 */ lwc1 $f2, 8($v1) +/* C6EBC4 80240894 468010A0 */ cvt.s.w $f2, $f2 +/* C6EBC8 80240898 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6EBCC 8024089C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6EBD0 802408A0 44061000 */ mfc1 $a2, $f2 +/* C6EBD4 802408A4 C440000C */ lwc1 $f0, 0xc($v0) +/* C6EBD8 802408A8 46800020 */ cvt.s.w $f0, $f0 +/* C6EBDC 802408AC E7A00014 */ swc1 $f0, 0x14($sp) +/* C6EBE0 802408B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6EBE4 802408B4 44052000 */ mfc1 $a1, $f4 +/* C6EBE8 802408B8 C4400010 */ lwc1 $f0, 0x10($v0) +/* C6EBEC 802408BC 46800020 */ cvt.s.w $f0, $f0 +/* C6EBF0 802408C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6EBF4 802408C4 8C640018 */ lw $a0, 0x18($v1) +/* C6EBF8 802408C8 0C0123F5 */ jal is_point_within_region +/* C6EBFC 802408CC 8E070038 */ lw $a3, 0x38($s0) +/* C6EC00 802408D0 1040000E */ beqz $v0, .L8024090C +/* C6EC04 802408D4 00000000 */ nop +/* C6EC08 802408D8 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6EC0C 802408DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C6EC10 802408E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C6EC14 802408E4 C4460000 */ lwc1 $f6, ($v0) +/* C6EC18 802408E8 468031A0 */ cvt.s.w $f6, $f6 +/* C6EC1C 802408EC 44063000 */ mfc1 $a2, $f6 +/* C6EC20 802408F0 C4460008 */ lwc1 $f6, 8($v0) +/* C6EC24 802408F4 468031A0 */ cvt.s.w $f6, $f6 +/* C6EC28 802408F8 44073000 */ mfc1 $a3, $f6 +/* C6EC2C 802408FC 0C00A720 */ jal atan2 +/* C6EC30 80240900 00000000 */ nop +/* C6EC34 80240904 0809024F */ j .L8024093C +/* C6EC38 80240908 E600000C */ swc1 $f0, 0xc($s0) +.L8024090C: +/* C6EC3C 8024090C 0C00A67F */ jal rand_int +/* C6EC40 80240910 2404003C */ addiu $a0, $zero, 0x3c +/* C6EC44 80240914 C60C000C */ lwc1 $f12, 0xc($s0) +/* C6EC48 80240918 44820000 */ mtc1 $v0, $f0 +/* C6EC4C 8024091C 00000000 */ nop +/* C6EC50 80240920 46800020 */ cvt.s.w $f0, $f0 +/* C6EC54 80240924 46006300 */ add.s $f12, $f12, $f0 +/* C6EC58 80240928 3C0141F0 */ lui $at, 0x41f0 +/* C6EC5C 8024092C 44810000 */ mtc1 $at, $f0 +/* C6EC60 80240930 0C00A6C9 */ jal clamp_angle +/* C6EC64 80240934 46006301 */ sub.s $f12, $f12, $f0 +/* C6EC68 80240938 E600000C */ swc1 $f0, 0xc($s0) +.L8024093C: +/* C6EC6C 8024093C 8E2200CC */ lw $v0, 0xcc($s1) +/* C6EC70 80240940 8C420004 */ lw $v0, 4($v0) +/* C6EC74 80240944 AE020028 */ sw $v0, 0x28($s0) +/* C6EC78 80240948 AE600074 */ sw $zero, 0x74($s3) +/* C6EC7C 8024094C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6EC80 80240950 8C420014 */ lw $v0, 0x14($v0) +/* C6EC84 80240954 04410004 */ bgez $v0, .L80240968 +/* C6EC88 80240958 00000000 */ nop +/* C6EC8C 8024095C C6400000 */ lwc1 $f0, ($s2) +/* C6EC90 80240960 08090262 */ j .L80240988 +/* C6EC94 80240964 E6000018 */ swc1 $f0, 0x18($s0) +.L80240968: +/* C6EC98 80240968 3C018024 */ lui $at, 0x8024 +/* C6EC9C 8024096C D4223090 */ ldc1 $f2, 0x3090($at) +/* C6ECA0 80240970 44820000 */ mtc1 $v0, $f0 +/* C6ECA4 80240974 00000000 */ nop +/* C6ECA8 80240978 46800021 */ cvt.d.w $f0, $f0 +/* C6ECAC 8024097C 46220003 */ div.d $f0, $f0, $f2 +/* C6ECB0 80240980 46200020 */ cvt.s.d $f0, $f0 +/* C6ECB4 80240984 E6000018 */ swc1 $f0, 0x18($s0) +.L80240988: +/* C6ECB8 80240988 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6ECBC 8024098C 3C014059 */ lui $at, 0x4059 +/* C6ECC0 80240990 44811800 */ mtc1 $at, $f3 +/* C6ECC4 80240994 44801000 */ mtc1 $zero, $f2 +/* C6ECC8 80240998 46000021 */ cvt.d.s $f0, $f0 +/* C6ECCC 8024099C 46220002 */ mul.d $f0, $f0, $f2 +/* C6ECD0 802409A0 00000000 */ nop +/* C6ECD4 802409A4 24020001 */ addiu $v0, $zero, 1 +/* C6ECD8 802409A8 4620018D */ trunc.w.d $f6, $f0 +/* C6ECDC 802409AC E626007C */ swc1 $f6, 0x7c($s1) +/* C6ECE0 802409B0 AE620070 */ sw $v0, 0x70($s3) +/* C6ECE4 802409B4 8FBF0030 */ lw $ra, 0x30($sp) +/* C6ECE8 802409B8 8FB3002C */ lw $s3, 0x2c($sp) +/* C6ECEC 802409BC 8FB20028 */ lw $s2, 0x28($sp) +/* C6ECF0 802409C0 8FB10024 */ lw $s1, 0x24($sp) +/* C6ECF4 802409C4 8FB00020 */ lw $s0, 0x20($sp) +/* C6ECF8 802409C8 03E00008 */ jr $ra +/* C6ECFC 802409CC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802409D0.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802409D0.s new file mode 100644 index 0000000000..f6f64f08dc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802409D0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D0 +/* C6ED00 802409D0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C6ED04 802409D4 AFB3004C */ sw $s3, 0x4c($sp) +/* C6ED08 802409D8 0080982D */ daddu $s3, $a0, $zero +/* C6ED0C 802409DC AFBF0058 */ sw $ra, 0x58($sp) +/* C6ED10 802409E0 AFB50054 */ sw $s5, 0x54($sp) +/* C6ED14 802409E4 AFB40050 */ sw $s4, 0x50($sp) +/* C6ED18 802409E8 AFB20048 */ sw $s2, 0x48($sp) +/* C6ED1C 802409EC AFB10044 */ sw $s1, 0x44($sp) +/* C6ED20 802409F0 AFB00040 */ sw $s0, 0x40($sp) +/* C6ED24 802409F4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C6ED28 802409F8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C6ED2C 802409FC F7B60068 */ sdc1 $f22, 0x68($sp) +/* C6ED30 80240A00 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C6ED34 80240A04 8E710148 */ lw $s1, 0x148($s3) +/* C6ED38 80240A08 00A0902D */ daddu $s2, $a1, $zero +/* C6ED3C 80240A0C 86240008 */ lh $a0, 8($s1) +/* C6ED40 80240A10 0C00EABB */ jal get_npc_unsafe +/* C6ED44 80240A14 00C0A82D */ daddu $s5, $a2, $zero +/* C6ED48 80240A18 0040802D */ daddu $s0, $v0, $zero +/* C6ED4C 80240A1C 0000A02D */ daddu $s4, $zero, $zero +/* C6ED50 80240A20 C624007C */ lwc1 $f4, 0x7c($s1) +/* C6ED54 80240A24 46802120 */ cvt.s.w $f4, $f4 +/* C6ED58 80240A28 C6220088 */ lwc1 $f2, 0x88($s1) +/* C6ED5C 80240A2C 468010A0 */ cvt.s.w $f2, $f2 +/* C6ED60 80240A30 460010A1 */ cvt.d.s $f2, $f2 +/* C6ED64 80240A34 46002121 */ cvt.d.s $f4, $f4 +/* C6ED68 80240A38 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6ED6C 80240A3C 3C014059 */ lui $at, 0x4059 +/* C6ED70 80240A40 44813800 */ mtc1 $at, $f7 +/* C6ED74 80240A44 44803000 */ mtc1 $zero, $f6 +/* C6ED78 80240A48 46000021 */ cvt.d.s $f0, $f0 +/* C6ED7C 80240A4C 46260002 */ mul.d $f0, $f0, $f6 +/* C6ED80 80240A50 00000000 */ nop +/* C6ED84 80240A54 24020001 */ addiu $v0, $zero, 1 +/* C6ED88 80240A58 8E24006C */ lw $a0, 0x6c($s1) +/* C6ED8C 80240A5C 46261083 */ div.d $f2, $f2, $f6 +/* C6ED90 80240A60 462010A0 */ cvt.s.d $f2, $f2 +/* C6ED94 80240A64 46262103 */ div.d $f4, $f4, $f6 +/* C6ED98 80240A68 46202520 */ cvt.s.d $f20, $f4 +/* C6ED9C 80240A6C 30830011 */ andi $v1, $a0, 0x11 +/* C6EDA0 80240A70 4620020D */ trunc.w.d $f8, $f0 +/* C6EDA4 80240A74 E628007C */ swc1 $f8, 0x7c($s1) +/* C6EDA8 80240A78 C6200078 */ lwc1 $f0, 0x78($s1) +/* C6EDAC 80240A7C 46800020 */ cvt.s.w $f0, $f0 +/* C6EDB0 80240A80 46000021 */ cvt.d.s $f0, $f0 +/* C6EDB4 80240A84 46260003 */ div.d $f0, $f0, $f6 +/* C6EDB8 80240A88 462006A0 */ cvt.s.d $f26, $f0 +/* C6EDBC 80240A8C C6200070 */ lwc1 $f0, 0x70($s1) +/* C6EDC0 80240A90 46800020 */ cvt.s.w $f0, $f0 +/* C6EDC4 80240A94 46000021 */ cvt.d.s $f0, $f0 +/* C6EDC8 80240A98 46260003 */ div.d $f0, $f0, $f6 +/* C6EDCC 80240A9C 462005A0 */ cvt.s.d $f22, $f0 +/* C6EDD0 80240AA0 14620025 */ bne $v1, $v0, .L80240B38 +/* C6EDD4 80240AA4 4602D600 */ add.s $f24, $f26, $f2 +/* C6EDD8 80240AA8 8E020000 */ lw $v0, ($s0) +/* C6EDDC 80240AAC 30420008 */ andi $v0, $v0, 8 +/* C6EDE0 80240AB0 10400009 */ beqz $v0, .L80240AD8 +/* C6EDE4 80240AB4 27A50028 */ addiu $a1, $sp, 0x28 +/* C6EDE8 80240AB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6EDEC 80240ABC 4600C001 */ sub.s $f0, $f24, $f0 +/* C6EDF0 80240AC0 4600B03C */ c.lt.s $f22, $f0 +/* C6EDF4 80240AC4 00000000 */ nop +/* C6EDF8 80240AC8 4500001B */ bc1f .L80240B38 +/* C6EDFC 80240ACC 34820010 */ ori $v0, $a0, 0x10 +/* C6EE00 80240AD0 080902CE */ j .L80240B38 +/* C6EE04 80240AD4 AE22006C */ sw $v0, 0x6c($s1) +.L80240AD8: +/* C6EE08 80240AD8 27A6002C */ addiu $a2, $sp, 0x2c +/* C6EE0C 80240ADC C6000038 */ lwc1 $f0, 0x38($s0) +/* C6EE10 80240AE0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6EE14 80240AE4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C6EE18 80240AE8 3C01447A */ lui $at, 0x447a +/* C6EE1C 80240AEC 44813000 */ mtc1 $at, $f6 +/* C6EE20 80240AF0 27A20034 */ addiu $v0, $sp, 0x34 +/* C6EE24 80240AF4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C6EE28 80240AF8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C6EE2C 80240AFC E7A40030 */ swc1 $f4, 0x30($sp) +/* C6EE30 80240B00 E7A60034 */ swc1 $f6, 0x34($sp) +/* C6EE34 80240B04 AFA20010 */ sw $v0, 0x10($sp) +/* C6EE38 80240B08 8E040080 */ lw $a0, 0x80($s0) +/* C6EE3C 80240B0C 0C0372DF */ jal func_800DCB7C +/* C6EE40 80240B10 27A70030 */ addiu $a3, $sp, 0x30 +/* C6EE44 80240B14 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C6EE48 80240B18 4600D001 */ sub.s $f0, $f26, $f0 +/* C6EE4C 80240B1C 4600B03C */ c.lt.s $f22, $f0 +/* C6EE50 80240B20 00000000 */ nop +/* C6EE54 80240B24 45000004 */ bc1f .L80240B38 +/* C6EE58 80240B28 00000000 */ nop +/* C6EE5C 80240B2C 8E22006C */ lw $v0, 0x6c($s1) +/* C6EE60 80240B30 34420010 */ ori $v0, $v0, 0x10 +/* C6EE64 80240B34 AE22006C */ sw $v0, 0x6c($s1) +.L80240B38: +/* C6EE68 80240B38 8E22006C */ lw $v0, 0x6c($s1) +/* C6EE6C 80240B3C 24030011 */ addiu $v1, $zero, 0x11 +/* C6EE70 80240B40 30420011 */ andi $v0, $v0, 0x11 +/* C6EE74 80240B44 14430039 */ bne $v0, $v1, .L80240C2C +/* C6EE78 80240B48 00000000 */ nop +/* C6EE7C 80240B4C 8E020000 */ lw $v0, ($s0) +/* C6EE80 80240B50 30420008 */ andi $v0, $v0, 8 +/* C6EE84 80240B54 1040000A */ beqz $v0, .L80240B80 +/* C6EE88 80240B58 4600C106 */ mov.s $f4, $f24 +/* C6EE8C 80240B5C 4614C081 */ sub.s $f2, $f24, $f20 +/* C6EE90 80240B60 3C018024 */ lui $at, 0x8024 +/* C6EE94 80240B64 D4203098 */ ldc1 $f0, 0x3098($at) +/* C6EE98 80240B68 460010A1 */ cvt.d.s $f2, $f2 +/* C6EE9C 80240B6C 46201082 */ mul.d $f2, $f2, $f0 +/* C6EEA0 80240B70 00000000 */ nop +/* C6EEA4 80240B74 4600A021 */ cvt.d.s $f0, $f20 +/* C6EEA8 80240B78 080902F9 */ j .L80240BE4 +/* C6EEAC 80240B7C 46220000 */ add.d $f0, $f0, $f2 +.L80240B80: +/* C6EEB0 80240B80 27A50028 */ addiu $a1, $sp, 0x28 +/* C6EEB4 80240B84 27A6002C */ addiu $a2, $sp, 0x2c +/* C6EEB8 80240B88 C6000038 */ lwc1 $f0, 0x38($s0) +/* C6EEBC 80240B8C C6020040 */ lwc1 $f2, 0x40($s0) +/* C6EEC0 80240B90 3C01447A */ lui $at, 0x447a +/* C6EEC4 80240B94 44812000 */ mtc1 $at, $f4 +/* C6EEC8 80240B98 27A20034 */ addiu $v0, $sp, 0x34 +/* C6EECC 80240B9C E7B4002C */ swc1 $f20, 0x2c($sp) +/* C6EED0 80240BA0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C6EED4 80240BA4 E7A20030 */ swc1 $f2, 0x30($sp) +/* C6EED8 80240BA8 E7A40034 */ swc1 $f4, 0x34($sp) +/* C6EEDC 80240BAC AFA20010 */ sw $v0, 0x10($sp) +/* C6EEE0 80240BB0 8E040080 */ lw $a0, 0x80($s0) +/* C6EEE4 80240BB4 0C0372DF */ jal func_800DCB7C +/* C6EEE8 80240BB8 27A70030 */ addiu $a3, $sp, 0x30 +/* C6EEEC 80240BBC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C6EEF0 80240BC0 461A2100 */ add.s $f4, $f4, $f26 +/* C6EEF4 80240BC4 46142081 */ sub.s $f2, $f4, $f20 +/* C6EEF8 80240BC8 3C018024 */ lui $at, 0x8024 +/* C6EEFC 80240BCC D42030A0 */ ldc1 $f0, 0x30a0($at) +/* C6EF00 80240BD0 460010A1 */ cvt.d.s $f2, $f2 +/* C6EF04 80240BD4 46201082 */ mul.d $f2, $f2, $f0 +/* C6EF08 80240BD8 00000000 */ nop +/* C6EF0C 80240BDC 4600A021 */ cvt.d.s $f0, $f20 +/* C6EF10 80240BE0 46220000 */ add.d $f0, $f0, $f2 +.L80240BE4: +/* C6EF14 80240BE4 46200020 */ cvt.s.d $f0, $f0 +/* C6EF18 80240BE8 E600003C */ swc1 $f0, 0x3c($s0) +/* C6EF1C 80240BEC C600003C */ lwc1 $f0, 0x3c($s0) +/* C6EF20 80240BF0 46002001 */ sub.s $f0, $f4, $f0 +/* C6EF24 80240BF4 3C013FF0 */ lui $at, 0x3ff0 +/* C6EF28 80240BF8 44811800 */ mtc1 $at, $f3 +/* C6EF2C 80240BFC 44801000 */ mtc1 $zero, $f2 +/* C6EF30 80240C00 46000005 */ abs.s $f0, $f0 +/* C6EF34 80240C04 46000021 */ cvt.d.s $f0, $f0 +/* C6EF38 80240C08 4622003C */ c.lt.d $f0, $f2 +/* C6EF3C 80240C0C 00000000 */ nop +/* C6EF40 80240C10 45000036 */ bc1f .L80240CEC +/* C6EF44 80240C14 2403FFEF */ addiu $v1, $zero, -0x11 +/* C6EF48 80240C18 E604003C */ swc1 $f4, 0x3c($s0) +/* C6EF4C 80240C1C 8E22006C */ lw $v0, 0x6c($s1) +/* C6EF50 80240C20 00431024 */ and $v0, $v0, $v1 +/* C6EF54 80240C24 0809033B */ j .L80240CEC +/* C6EF58 80240C28 AE22006C */ sw $v0, 0x6c($s1) +.L80240C2C: +/* C6EF5C 80240C2C 8E220070 */ lw $v0, 0x70($s1) +/* C6EF60 80240C30 1840002E */ blez $v0, .L80240CEC +/* C6EF64 80240C34 00000000 */ nop +/* C6EF68 80240C38 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C6EF6C 80240C3C 0C00A8BB */ jal sin_deg +/* C6EF70 80240C40 46806320 */ cvt.s.w $f12, $f12 +/* C6EF74 80240C44 8E020000 */ lw $v0, ($s0) +/* C6EF78 80240C48 30420008 */ andi $v0, $v0, 8 +/* C6EF7C 80240C4C 10400003 */ beqz $v0, .L80240C5C +/* C6EF80 80240C50 46000506 */ mov.s $f20, $f0 +/* C6EF84 80240C54 08090327 */ j .L80240C9C +/* C6EF88 80240C58 0000102D */ daddu $v0, $zero, $zero +.L80240C5C: +/* C6EF8C 80240C5C 27A50028 */ addiu $a1, $sp, 0x28 +/* C6EF90 80240C60 27A6002C */ addiu $a2, $sp, 0x2c +/* C6EF94 80240C64 C6000038 */ lwc1 $f0, 0x38($s0) +/* C6EF98 80240C68 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6EF9C 80240C6C C6040040 */ lwc1 $f4, 0x40($s0) +/* C6EFA0 80240C70 3C01447A */ lui $at, 0x447a +/* C6EFA4 80240C74 44813000 */ mtc1 $at, $f6 +/* C6EFA8 80240C78 27A20034 */ addiu $v0, $sp, 0x34 +/* C6EFAC 80240C7C E7A00028 */ swc1 $f0, 0x28($sp) +/* C6EFB0 80240C80 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C6EFB4 80240C84 E7A40030 */ swc1 $f4, 0x30($sp) +/* C6EFB8 80240C88 E7A60034 */ swc1 $f6, 0x34($sp) +/* C6EFBC 80240C8C AFA20010 */ sw $v0, 0x10($sp) +/* C6EFC0 80240C90 8E040080 */ lw $a0, 0x80($s0) +/* C6EFC4 80240C94 0C0372DF */ jal func_800DCB7C +/* C6EFC8 80240C98 27A70030 */ addiu $a3, $sp, 0x30 +.L80240C9C: +/* C6EFCC 80240C9C 10400007 */ beqz $v0, .L80240CBC +/* C6EFD0 80240CA0 00000000 */ nop +/* C6EFD4 80240CA4 4616A082 */ mul.s $f2, $f20, $f22 +/* C6EFD8 80240CA8 00000000 */ nop +/* C6EFDC 80240CAC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C6EFE0 80240CB0 461A0000 */ add.s $f0, $f0, $f26 +/* C6EFE4 80240CB4 08090332 */ j .L80240CC8 +/* C6EFE8 80240CB8 46020000 */ add.s $f0, $f0, $f2 +.L80240CBC: +/* C6EFEC 80240CBC 4616A002 */ mul.s $f0, $f20, $f22 +/* C6EFF0 80240CC0 00000000 */ nop +/* C6EFF4 80240CC4 4600C000 */ add.s $f0, $f24, $f0 +.L80240CC8: +/* C6EFF8 80240CC8 E600003C */ swc1 $f0, 0x3c($s0) +/* C6EFFC 80240CCC 8E220074 */ lw $v0, 0x74($s1) +/* C6F000 80240CD0 2442000A */ addiu $v0, $v0, 0xa +/* C6F004 80240CD4 44826000 */ mtc1 $v0, $f12 +/* C6F008 80240CD8 00000000 */ nop +/* C6F00C 80240CDC 0C00A6C9 */ jal clamp_angle +/* C6F010 80240CE0 46806320 */ cvt.s.w $f12, $f12 +/* C6F014 80240CE4 4600020D */ trunc.w.s $f8, $f0 +/* C6F018 80240CE8 E6280074 */ swc1 $f8, 0x74($s1) +.L80240CEC: +/* C6F01C 80240CEC 8E220090 */ lw $v0, 0x90($s1) +/* C6F020 80240CF0 1C40004A */ bgtz $v0, .L80240E1C +/* C6F024 80240CF4 2442FFFF */ addiu $v0, $v0, -1 +/* C6F028 80240CF8 8E430014 */ lw $v1, 0x14($s2) +/* C6F02C 80240CFC 04600048 */ bltz $v1, .L80240E20 +/* C6F030 80240D00 00000000 */ nop +/* C6F034 80240D04 8E620074 */ lw $v0, 0x74($s3) +/* C6F038 80240D08 1C400042 */ bgtz $v0, .L80240E14 +/* C6F03C 80240D0C 2442FFFF */ addiu $v0, $v0, -1 +/* C6F040 80240D10 AE630074 */ sw $v1, 0x74($s3) +/* C6F044 80240D14 860200A8 */ lh $v0, 0xa8($s0) +/* C6F048 80240D18 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6F04C 80240D1C 44820000 */ mtc1 $v0, $f0 +/* C6F050 80240D20 00000000 */ nop +/* C6F054 80240D24 46800020 */ cvt.s.w $f0, $f0 +/* C6F058 80240D28 46001080 */ add.s $f2, $f2, $f0 +/* C6F05C 80240D2C 3C014024 */ lui $at, 0x4024 +/* C6F060 80240D30 44810800 */ mtc1 $at, $f1 +/* C6F064 80240D34 44800000 */ mtc1 $zero, $f0 +/* C6F068 80240D38 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C6F06C 80240D3C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C6F070 80240D40 460010A1 */ cvt.d.s $f2, $f2 +/* C6F074 80240D44 46201080 */ add.d $f2, $f2, $f0 +/* C6F078 80240D48 C440002C */ lwc1 $f0, 0x2c($v0) +/* C6F07C 80240D4C 46000021 */ cvt.d.s $f0, $f0 +/* C6F080 80240D50 4622003C */ c.lt.d $f0, $f2 +/* C6F084 80240D54 00000000 */ nop +/* C6F088 80240D58 4500002C */ bc1f .L80240E0C +/* C6F08C 80240D5C 02A0202D */ daddu $a0, $s5, $zero +/* C6F090 80240D60 AFA00010 */ sw $zero, 0x10($sp) +/* C6F094 80240D64 8E46000C */ lw $a2, 0xc($s2) +/* C6F098 80240D68 8E470010 */ lw $a3, 0x10($s2) +/* C6F09C 80240D6C 0C01242D */ jal func_800490B4 +/* C6F0A0 80240D70 0220282D */ daddu $a1, $s1, $zero +/* C6F0A4 80240D74 10400025 */ beqz $v0, .L80240E0C +/* C6F0A8 80240D78 0000202D */ daddu $a0, $zero, $zero +/* C6F0AC 80240D7C 0200282D */ daddu $a1, $s0, $zero +/* C6F0B0 80240D80 0000302D */ daddu $a2, $zero, $zero +/* C6F0B4 80240D84 2412000C */ addiu $s2, $zero, 0xc +/* C6F0B8 80240D88 860300A8 */ lh $v1, 0xa8($s0) +/* C6F0BC 80240D8C 3C013F80 */ lui $at, 0x3f80 +/* C6F0C0 80240D90 44810000 */ mtc1 $at, $f0 +/* C6F0C4 80240D94 3C014000 */ lui $at, 0x4000 +/* C6F0C8 80240D98 44811000 */ mtc1 $at, $f2 +/* C6F0CC 80240D9C 3C01C1A0 */ lui $at, 0xc1a0 +/* C6F0D0 80240DA0 44812000 */ mtc1 $at, $f4 +/* C6F0D4 80240DA4 44834000 */ mtc1 $v1, $f8 +/* C6F0D8 80240DA8 00000000 */ nop +/* C6F0DC 80240DAC 46804220 */ cvt.s.w $f8, $f8 +/* C6F0E0 80240DB0 44074000 */ mfc1 $a3, $f8 +/* C6F0E4 80240DB4 27A20038 */ addiu $v0, $sp, 0x38 +/* C6F0E8 80240DB8 AFB2001C */ sw $s2, 0x1c($sp) +/* C6F0EC 80240DBC AFA20020 */ sw $v0, 0x20($sp) +/* C6F0F0 80240DC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6F0F4 80240DC4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C6F0F8 80240DC8 0C01BFA4 */ jal fx_emote +/* C6F0FC 80240DCC E7A40018 */ swc1 $f4, 0x18($sp) +/* C6F100 80240DD0 0200202D */ daddu $a0, $s0, $zero +/* C6F104 80240DD4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C6F108 80240DD8 C480003C */ lwc1 $f0, 0x3c($a0) +/* C6F10C 80240DDC 3C060020 */ lui $a2, 0x20 +/* C6F110 80240DE0 0C012530 */ jal func_800494C0 +/* C6F114 80240DE4 E4800064 */ swc1 $f0, 0x64($a0) +/* C6F118 80240DE8 8E220018 */ lw $v0, 0x18($s1) +/* C6F11C 80240DEC 9442002A */ lhu $v0, 0x2a($v0) +/* C6F120 80240DF0 30420001 */ andi $v0, $v0, 1 +/* C6F124 80240DF4 10400003 */ beqz $v0, .L80240E04 +/* C6F128 80240DF8 2402000A */ addiu $v0, $zero, 0xa +/* C6F12C 80240DFC 080903F1 */ j .L80240FC4 +/* C6F130 80240E00 AE620070 */ sw $v0, 0x70($s3) +.L80240E04: +/* C6F134 80240E04 080903F1 */ j .L80240FC4 +/* C6F138 80240E08 AE720070 */ sw $s2, 0x70($s3) +.L80240E0C: +/* C6F13C 80240E0C 8E620074 */ lw $v0, 0x74($s3) +/* C6F140 80240E10 2442FFFF */ addiu $v0, $v0, -1 +.L80240E14: +/* C6F144 80240E14 08090388 */ j .L80240E20 +/* C6F148 80240E18 AE620074 */ sw $v0, 0x74($s3) +.L80240E1C: +/* C6F14C 80240E1C AE220090 */ sw $v0, 0x90($s1) +.L80240E20: +/* C6F150 80240E20 8E2300D0 */ lw $v1, 0xd0($s1) +/* C6F154 80240E24 C6000040 */ lwc1 $f0, 0x40($s0) +/* C6F158 80240E28 C4620000 */ lwc1 $f2, ($v1) +/* C6F15C 80240E2C 468010A0 */ cvt.s.w $f2, $f2 +/* C6F160 80240E30 C4640008 */ lwc1 $f4, 8($v1) +/* C6F164 80240E34 46802120 */ cvt.s.w $f4, $f4 +/* C6F168 80240E38 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6F16C 80240E3C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6F170 80240E40 44051000 */ mfc1 $a1, $f2 +/* C6F174 80240E44 C440000C */ lwc1 $f0, 0xc($v0) +/* C6F178 80240E48 46800020 */ cvt.s.w $f0, $f0 +/* C6F17C 80240E4C E7A00014 */ swc1 $f0, 0x14($sp) +/* C6F180 80240E50 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6F184 80240E54 44062000 */ mfc1 $a2, $f4 +/* C6F188 80240E58 C4400010 */ lwc1 $f0, 0x10($v0) +/* C6F18C 80240E5C 46800020 */ cvt.s.w $f0, $f0 +/* C6F190 80240E60 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6F194 80240E64 8C640018 */ lw $a0, 0x18($v1) +/* C6F198 80240E68 0C0123F5 */ jal is_point_within_region +/* C6F19C 80240E6C 8E070038 */ lw $a3, 0x38($s0) +/* C6F1A0 80240E70 1040001A */ beqz $v0, .L80240EDC +/* C6F1A4 80240E74 00000000 */ nop +/* C6F1A8 80240E78 8E060038 */ lw $a2, 0x38($s0) +/* C6F1AC 80240E7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6F1B0 80240E80 8E070040 */ lw $a3, 0x40($s0) +/* C6F1B4 80240E84 C44C0000 */ lwc1 $f12, ($v0) +/* C6F1B8 80240E88 46806320 */ cvt.s.w $f12, $f12 +/* C6F1BC 80240E8C C44E0008 */ lwc1 $f14, 8($v0) +/* C6F1C0 80240E90 0C00A7B5 */ jal dist2D +/* C6F1C4 80240E94 468073A0 */ cvt.s.w $f14, $f14 +/* C6F1C8 80240E98 C6020018 */ lwc1 $f2, 0x18($s0) +/* C6F1CC 80240E9C 4600103C */ c.lt.s $f2, $f0 +/* C6F1D0 80240EA0 00000000 */ nop +/* C6F1D4 80240EA4 4500000D */ bc1f .L80240EDC +/* C6F1D8 80240EA8 E7A00034 */ swc1 $f0, 0x34($sp) +/* C6F1DC 80240EAC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C6F1E0 80240EB0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6F1E4 80240EB4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C6F1E8 80240EB8 C4480000 */ lwc1 $f8, ($v0) +/* C6F1EC 80240EBC 46804220 */ cvt.s.w $f8, $f8 +/* C6F1F0 80240EC0 44064000 */ mfc1 $a2, $f8 +/* C6F1F4 80240EC4 C4480008 */ lwc1 $f8, 8($v0) +/* C6F1F8 80240EC8 46804220 */ cvt.s.w $f8, $f8 +/* C6F1FC 80240ECC 44074000 */ mfc1 $a3, $f8 +/* C6F200 80240ED0 0C00A720 */ jal atan2 +/* C6F204 80240ED4 24140001 */ addiu $s4, $zero, 1 +/* C6F208 80240ED8 E600000C */ swc1 $f0, 0xc($s0) +.L80240EDC: +/* C6F20C 80240EDC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C6F210 80240EE0 8C43000C */ lw $v1, 0xc($v0) +/* C6F214 80240EE4 8C420010 */ lw $v0, 0x10($v0) +/* C6F218 80240EE8 00621825 */ or $v1, $v1, $v0 +/* C6F21C 80240EEC 00741825 */ or $v1, $v1, $s4 +/* C6F220 80240EF0 10600008 */ beqz $v1, .L80240F14 +/* C6F224 80240EF4 00000000 */ nop +/* C6F228 80240EF8 8602008C */ lh $v0, 0x8c($s0) +/* C6F22C 80240EFC 14400031 */ bnez $v0, .L80240FC4 +/* C6F230 80240F00 00000000 */ nop +/* C6F234 80240F04 8E050018 */ lw $a1, 0x18($s0) +/* C6F238 80240F08 8E06000C */ lw $a2, 0xc($s0) +/* C6F23C 80240F0C 0C00EA95 */ jal npc_move_heading +/* C6F240 80240F10 0200202D */ daddu $a0, $s0, $zero +.L80240F14: +/* C6F244 80240F14 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6F248 80240F18 3C014059 */ lui $at, 0x4059 +/* C6F24C 80240F1C 44811800 */ mtc1 $at, $f3 +/* C6F250 80240F20 44801000 */ mtc1 $zero, $f2 +/* C6F254 80240F24 46000021 */ cvt.d.s $f0, $f0 +/* C6F258 80240F28 46220002 */ mul.d $f0, $f0, $f2 +/* C6F25C 80240F2C 00000000 */ nop +/* C6F260 80240F30 4620020D */ trunc.w.d $f8, $f0 +/* C6F264 80240F34 E628007C */ swc1 $f8, 0x7c($s1) +/* C6F268 80240F38 8E420004 */ lw $v0, 4($s2) +/* C6F26C 80240F3C 18400021 */ blez $v0, .L80240FC4 +/* C6F270 80240F40 00000000 */ nop +/* C6F274 80240F44 8602008E */ lh $v0, 0x8e($s0) +/* C6F278 80240F48 9603008E */ lhu $v1, 0x8e($s0) +/* C6F27C 80240F4C 18400005 */ blez $v0, .L80240F64 +/* C6F280 80240F50 2462FFFF */ addiu $v0, $v1, -1 +/* C6F284 80240F54 A602008E */ sh $v0, 0x8e($s0) +/* C6F288 80240F58 00021400 */ sll $v0, $v0, 0x10 +/* C6F28C 80240F5C 1C400019 */ bgtz $v0, .L80240FC4 +/* C6F290 80240F60 00000000 */ nop +.L80240F64: +/* C6F294 80240F64 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C6F298 80240F68 24020002 */ addiu $v0, $zero, 2 +/* C6F29C 80240F6C 0C00A67F */ jal rand_int +/* C6F2A0 80240F70 AE620070 */ sw $v0, 0x70($s3) +/* C6F2A4 80240F74 3C035555 */ lui $v1, 0x5555 +/* C6F2A8 80240F78 34635556 */ ori $v1, $v1, 0x5556 +/* C6F2AC 80240F7C 00430018 */ mult $v0, $v1 +/* C6F2B0 80240F80 000227C3 */ sra $a0, $v0, 0x1f +/* C6F2B4 80240F84 00004010 */ mfhi $t0 +/* C6F2B8 80240F88 01042023 */ subu $a0, $t0, $a0 +/* C6F2BC 80240F8C 00041840 */ sll $v1, $a0, 1 +/* C6F2C0 80240F90 00641821 */ addu $v1, $v1, $a0 +/* C6F2C4 80240F94 00431023 */ subu $v0, $v0, $v1 +/* C6F2C8 80240F98 24430002 */ addiu $v1, $v0, 2 +/* C6F2CC 80240F9C AE630074 */ sw $v1, 0x74($s3) +/* C6F2D0 80240FA0 8E42002C */ lw $v0, 0x2c($s2) +/* C6F2D4 80240FA4 58400007 */ blezl $v0, .L80240FC4 +/* C6F2D8 80240FA8 AE600070 */ sw $zero, 0x70($s3) +/* C6F2DC 80240FAC 8E420008 */ lw $v0, 8($s2) +/* C6F2E0 80240FB0 18400003 */ blez $v0, .L80240FC0 +/* C6F2E4 80240FB4 28620003 */ slti $v0, $v1, 3 +/* C6F2E8 80240FB8 10400002 */ beqz $v0, .L80240FC4 +/* C6F2EC 80240FBC 00000000 */ nop +.L80240FC0: +/* C6F2F0 80240FC0 AE600070 */ sw $zero, 0x70($s3) +.L80240FC4: +/* C6F2F4 80240FC4 8FBF0058 */ lw $ra, 0x58($sp) +/* C6F2F8 80240FC8 8FB50054 */ lw $s5, 0x54($sp) +/* C6F2FC 80240FCC 8FB40050 */ lw $s4, 0x50($sp) +/* C6F300 80240FD0 8FB3004C */ lw $s3, 0x4c($sp) +/* C6F304 80240FD4 8FB20048 */ lw $s2, 0x48($sp) +/* C6F308 80240FD8 8FB10044 */ lw $s1, 0x44($sp) +/* C6F30C 80240FDC 8FB00040 */ lw $s0, 0x40($sp) +/* C6F310 80240FE0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C6F314 80240FE4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C6F318 80240FE8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C6F31C 80240FEC D7B40060 */ ldc1 $f20, 0x60($sp) +/* C6F320 80240FF0 03E00008 */ jr $ra +/* C6F324 80240FF4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80240FF8_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240FF8_C6E330.s new file mode 100644 index 0000000000..1c8a07db55 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80240FF8_C6E330.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FF8_C6F328 +/* C6F328 80240FF8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C6F32C 80240FFC AFB3001C */ sw $s3, 0x1c($sp) +/* C6F330 80241000 0080982D */ daddu $s3, $a0, $zero +/* C6F334 80241004 AFBF0020 */ sw $ra, 0x20($sp) +/* C6F338 80241008 AFB20018 */ sw $s2, 0x18($sp) +/* C6F33C 8024100C AFB10014 */ sw $s1, 0x14($sp) +/* C6F340 80241010 AFB00010 */ sw $s0, 0x10($sp) +/* C6F344 80241014 8E720148 */ lw $s2, 0x148($s3) +/* C6F348 80241018 86440008 */ lh $a0, 8($s2) +/* C6F34C 8024101C 0C00EABB */ jal get_npc_unsafe +/* C6F350 80241020 00A0882D */ daddu $s1, $a1, $zero +/* C6F354 80241024 8E240008 */ lw $a0, 8($s1) +/* C6F358 80241028 0040802D */ daddu $s0, $v0, $zero +/* C6F35C 8024102C 00041FC2 */ srl $v1, $a0, 0x1f +/* C6F360 80241030 00832021 */ addu $a0, $a0, $v1 +/* C6F364 80241034 00042043 */ sra $a0, $a0, 1 +/* C6F368 80241038 0C00A67F */ jal rand_int +/* C6F36C 8024103C 24840001 */ addiu $a0, $a0, 1 +/* C6F370 80241040 8E230008 */ lw $v1, 8($s1) +/* C6F374 80241044 240400B4 */ addiu $a0, $zero, 0xb4 +/* C6F378 80241048 00032FC2 */ srl $a1, $v1, 0x1f +/* C6F37C 8024104C 00651821 */ addu $v1, $v1, $a1 +/* C6F380 80241050 00031843 */ sra $v1, $v1, 1 +/* C6F384 80241054 00621821 */ addu $v1, $v1, $v0 +/* C6F388 80241058 0C00A67F */ jal rand_int +/* C6F38C 8024105C A603008E */ sh $v1, 0x8e($s0) +/* C6F390 80241060 C60C000C */ lwc1 $f12, 0xc($s0) +/* C6F394 80241064 44820000 */ mtc1 $v0, $f0 +/* C6F398 80241068 00000000 */ nop +/* C6F39C 8024106C 46800020 */ cvt.s.w $f0, $f0 +/* C6F3A0 80241070 46006300 */ add.s $f12, $f12, $f0 +/* C6F3A4 80241074 3C0142B4 */ lui $at, 0x42b4 +/* C6F3A8 80241078 44810000 */ mtc1 $at, $f0 +/* C6F3AC 8024107C 0C00A6C9 */ jal clamp_angle +/* C6F3B0 80241080 46006301 */ sub.s $f12, $f12, $f0 +/* C6F3B4 80241084 E600000C */ swc1 $f0, 0xc($s0) +/* C6F3B8 80241088 8E4200CC */ lw $v0, 0xcc($s2) +/* C6F3BC 8024108C 8C420000 */ lw $v0, ($v0) +/* C6F3C0 80241090 AE020028 */ sw $v0, 0x28($s0) +/* C6F3C4 80241094 24020003 */ addiu $v0, $zero, 3 +/* C6F3C8 80241098 AE620070 */ sw $v0, 0x70($s3) +/* C6F3CC 8024109C 8FBF0020 */ lw $ra, 0x20($sp) +/* C6F3D0 802410A0 8FB3001C */ lw $s3, 0x1c($sp) +/* C6F3D4 802410A4 8FB20018 */ lw $s2, 0x18($sp) +/* C6F3D8 802410A8 8FB10014 */ lw $s1, 0x14($sp) +/* C6F3DC 802410AC 8FB00010 */ lw $s0, 0x10($sp) +/* C6F3E0 802410B0 03E00008 */ jr $ra +/* C6F3E4 802410B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802410B8.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802410B8.s new file mode 100644 index 0000000000..10d3042b34 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802410B8.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B8 +/* C6F3E8 802410B8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C6F3EC 802410BC AFB3004C */ sw $s3, 0x4c($sp) +/* C6F3F0 802410C0 0080982D */ daddu $s3, $a0, $zero +/* C6F3F4 802410C4 AFBF0054 */ sw $ra, 0x54($sp) +/* C6F3F8 802410C8 AFB40050 */ sw $s4, 0x50($sp) +/* C6F3FC 802410CC AFB20048 */ sw $s2, 0x48($sp) +/* C6F400 802410D0 AFB10044 */ sw $s1, 0x44($sp) +/* C6F404 802410D4 AFB00040 */ sw $s0, 0x40($sp) +/* C6F408 802410D8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C6F40C 802410DC F7B80068 */ sdc1 $f24, 0x68($sp) +/* C6F410 802410E0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C6F414 802410E4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C6F418 802410E8 8E710148 */ lw $s1, 0x148($s3) +/* C6F41C 802410EC 00A0902D */ daddu $s2, $a1, $zero +/* C6F420 802410F0 86240008 */ lh $a0, 8($s1) +/* C6F424 802410F4 0C00EABB */ jal get_npc_unsafe +/* C6F428 802410F8 00C0A02D */ daddu $s4, $a2, $zero +/* C6F42C 802410FC 0040802D */ daddu $s0, $v0, $zero +/* C6F430 80241100 C6200078 */ lwc1 $f0, 0x78($s1) +/* C6F434 80241104 46800020 */ cvt.s.w $f0, $f0 +/* C6F438 80241108 46000021 */ cvt.d.s $f0, $f0 +/* C6F43C 8024110C 3C014059 */ lui $at, 0x4059 +/* C6F440 80241110 44811800 */ mtc1 $at, $f3 +/* C6F444 80241114 44801000 */ mtc1 $zero, $f2 +/* C6F448 80241118 8602008E */ lh $v0, 0x8e($s0) +/* C6F44C 8024111C 9603008E */ lhu $v1, 0x8e($s0) +/* C6F450 80241120 46220003 */ div.d $f0, $f0, $f2 +/* C6F454 80241124 46200620 */ cvt.s.d $f24, $f0 +/* C6F458 80241128 C6200088 */ lwc1 $f0, 0x88($s1) +/* C6F45C 8024112C 46800020 */ cvt.s.w $f0, $f0 +/* C6F460 80241130 46000021 */ cvt.d.s $f0, $f0 +/* C6F464 80241134 46220003 */ div.d $f0, $f0, $f2 +/* C6F468 80241138 46200020 */ cvt.s.d $f0, $f0 +/* C6F46C 8024113C 18400003 */ blez $v0, .L8024114C +/* C6F470 80241140 4600C680 */ add.s $f26, $f24, $f0 +/* C6F474 80241144 2462FFFF */ addiu $v0, $v1, -1 +/* C6F478 80241148 A602008E */ sh $v0, 0x8e($s0) +.L8024114C: +/* C6F47C 8024114C 8E220070 */ lw $v0, 0x70($s1) +/* C6F480 80241150 18400034 */ blez $v0, .L80241224 +/* C6F484 80241154 00000000 */ nop +/* C6F488 80241158 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C6F48C 8024115C 46806320 */ cvt.s.w $f12, $f12 +/* C6F490 80241160 44820000 */ mtc1 $v0, $f0 +/* C6F494 80241164 00000000 */ nop +/* C6F498 80241168 46800020 */ cvt.s.w $f0, $f0 +/* C6F49C 8024116C 46000021 */ cvt.d.s $f0, $f0 +/* C6F4A0 80241170 46220003 */ div.d $f0, $f0, $f2 +/* C6F4A4 80241174 0C00A8BB */ jal sin_deg +/* C6F4A8 80241178 462005A0 */ cvt.s.d $f22, $f0 +/* C6F4AC 8024117C 8E020000 */ lw $v0, ($s0) +/* C6F4B0 80241180 30420008 */ andi $v0, $v0, 8 +/* C6F4B4 80241184 10400003 */ beqz $v0, .L80241194 +/* C6F4B8 80241188 46000506 */ mov.s $f20, $f0 +/* C6F4BC 8024118C 08090475 */ j .L802411D4 +/* C6F4C0 80241190 0000102D */ daddu $v0, $zero, $zero +.L80241194: +/* C6F4C4 80241194 27A50028 */ addiu $a1, $sp, 0x28 +/* C6F4C8 80241198 27A6002C */ addiu $a2, $sp, 0x2c +/* C6F4CC 8024119C C6000038 */ lwc1 $f0, 0x38($s0) +/* C6F4D0 802411A0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6F4D4 802411A4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C6F4D8 802411A8 3C01447A */ lui $at, 0x447a +/* C6F4DC 802411AC 44813000 */ mtc1 $at, $f6 +/* C6F4E0 802411B0 27A20034 */ addiu $v0, $sp, 0x34 +/* C6F4E4 802411B4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C6F4E8 802411B8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C6F4EC 802411BC E7A40030 */ swc1 $f4, 0x30($sp) +/* C6F4F0 802411C0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C6F4F4 802411C4 AFA20010 */ sw $v0, 0x10($sp) +/* C6F4F8 802411C8 8E040080 */ lw $a0, 0x80($s0) +/* C6F4FC 802411CC 0C0372DF */ jal func_800DCB7C +/* C6F500 802411D0 27A70030 */ addiu $a3, $sp, 0x30 +.L802411D4: +/* C6F504 802411D4 10400007 */ beqz $v0, .L802411F4 +/* C6F508 802411D8 00000000 */ nop +/* C6F50C 802411DC 4616A082 */ mul.s $f2, $f20, $f22 +/* C6F510 802411E0 00000000 */ nop +/* C6F514 802411E4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C6F518 802411E8 46180000 */ add.s $f0, $f0, $f24 +/* C6F51C 802411EC 08090480 */ j .L80241200 +/* C6F520 802411F0 46020000 */ add.s $f0, $f0, $f2 +.L802411F4: +/* C6F524 802411F4 4616A002 */ mul.s $f0, $f20, $f22 +/* C6F528 802411F8 00000000 */ nop +/* C6F52C 802411FC 4600D000 */ add.s $f0, $f26, $f0 +.L80241200: +/* C6F530 80241200 E600003C */ swc1 $f0, 0x3c($s0) +/* C6F534 80241204 8E220074 */ lw $v0, 0x74($s1) +/* C6F538 80241208 2442000A */ addiu $v0, $v0, 0xa +/* C6F53C 8024120C 44826000 */ mtc1 $v0, $f12 +/* C6F540 80241210 00000000 */ nop +/* C6F544 80241214 0C00A6C9 */ jal clamp_angle +/* C6F548 80241218 46806320 */ cvt.s.w $f12, $f12 +/* C6F54C 8024121C 4600020D */ trunc.w.s $f8, $f0 +/* C6F550 80241220 E6280074 */ swc1 $f8, 0x74($s1) +.L80241224: +/* C6F554 80241224 8E220090 */ lw $v0, 0x90($s1) +/* C6F558 80241228 1C400040 */ bgtz $v0, .L8024132C +/* C6F55C 8024122C 2442FFFF */ addiu $v0, $v0, -1 +/* C6F560 80241230 860200A8 */ lh $v0, 0xa8($s0) +/* C6F564 80241234 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6F568 80241238 44821000 */ mtc1 $v0, $f2 +/* C6F56C 8024123C 00000000 */ nop +/* C6F570 80241240 468010A0 */ cvt.s.w $f2, $f2 +/* C6F574 80241244 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C6F578 80241248 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C6F57C 8024124C 46020000 */ add.s $f0, $f0, $f2 +/* C6F580 80241250 3C014024 */ lui $at, 0x4024 +/* C6F584 80241254 44812800 */ mtc1 $at, $f5 +/* C6F588 80241258 44802000 */ mtc1 $zero, $f4 +/* C6F58C 8024125C C442002C */ lwc1 $f2, 0x2c($v0) +/* C6F590 80241260 46000021 */ cvt.d.s $f0, $f0 +/* C6F594 80241264 46240000 */ add.d $f0, $f0, $f4 +/* C6F598 80241268 460010A1 */ cvt.d.s $f2, $f2 +/* C6F59C 8024126C 4620103C */ c.lt.d $f2, $f0 +/* C6F5A0 80241270 00000000 */ nop +/* C6F5A4 80241274 4500002E */ bc1f .L80241330 +/* C6F5A8 80241278 0280202D */ daddu $a0, $s4, $zero +/* C6F5AC 8024127C 24020001 */ addiu $v0, $zero, 1 +/* C6F5B0 80241280 AFA20010 */ sw $v0, 0x10($sp) +/* C6F5B4 80241284 8E460024 */ lw $a2, 0x24($s2) +/* C6F5B8 80241288 8E470028 */ lw $a3, 0x28($s2) +/* C6F5BC 8024128C 0C01242D */ jal func_800490B4 +/* C6F5C0 80241290 0220282D */ daddu $a1, $s1, $zero +/* C6F5C4 80241294 10400026 */ beqz $v0, .L80241330 +/* C6F5C8 80241298 0000202D */ daddu $a0, $zero, $zero +/* C6F5CC 8024129C 0200282D */ daddu $a1, $s0, $zero +/* C6F5D0 802412A0 0000302D */ daddu $a2, $zero, $zero +/* C6F5D4 802412A4 2412000C */ addiu $s2, $zero, 0xc +/* C6F5D8 802412A8 860300A8 */ lh $v1, 0xa8($s0) +/* C6F5DC 802412AC 3C013F80 */ lui $at, 0x3f80 +/* C6F5E0 802412B0 44810000 */ mtc1 $at, $f0 +/* C6F5E4 802412B4 3C014000 */ lui $at, 0x4000 +/* C6F5E8 802412B8 44811000 */ mtc1 $at, $f2 +/* C6F5EC 802412BC 3C01C1A0 */ lui $at, 0xc1a0 +/* C6F5F0 802412C0 44812000 */ mtc1 $at, $f4 +/* C6F5F4 802412C4 44834000 */ mtc1 $v1, $f8 +/* C6F5F8 802412C8 00000000 */ nop +/* C6F5FC 802412CC 46804220 */ cvt.s.w $f8, $f8 +/* C6F600 802412D0 44074000 */ mfc1 $a3, $f8 +/* C6F604 802412D4 27A20038 */ addiu $v0, $sp, 0x38 +/* C6F608 802412D8 AFB2001C */ sw $s2, 0x1c($sp) +/* C6F60C 802412DC AFA20020 */ sw $v0, 0x20($sp) +/* C6F610 802412E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C6F614 802412E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C6F618 802412E8 0C01BFA4 */ jal fx_emote +/* C6F61C 802412EC E7A40018 */ swc1 $f4, 0x18($sp) +/* C6F620 802412F0 0200202D */ daddu $a0, $s0, $zero +/* C6F624 802412F4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C6F628 802412F8 C480003C */ lwc1 $f0, 0x3c($a0) +/* C6F62C 802412FC 3C060020 */ lui $a2, 0x20 +/* C6F630 80241300 0C012530 */ jal func_800494C0 +/* C6F634 80241304 E4800064 */ swc1 $f0, 0x64($a0) +/* C6F638 80241308 8E220018 */ lw $v0, 0x18($s1) +/* C6F63C 8024130C 9442002A */ lhu $v0, 0x2a($v0) +/* C6F640 80241310 30420001 */ andi $v0, $v0, 1 +/* C6F644 80241314 10400003 */ beqz $v0, .L80241324 +/* C6F648 80241318 2402000A */ addiu $v0, $zero, 0xa +/* C6F64C 8024131C 080904F3 */ j .L802413CC +/* C6F650 80241320 AE620070 */ sw $v0, 0x70($s3) +.L80241324: +/* C6F654 80241324 080904F3 */ j .L802413CC +/* C6F658 80241328 AE720070 */ sw $s2, 0x70($s3) +.L8024132C: +/* C6F65C 8024132C AE220090 */ sw $v0, 0x90($s1) +.L80241330: +/* C6F660 80241330 8602008C */ lh $v0, 0x8c($s0) +/* C6F664 80241334 14400025 */ bnez $v0, .L802413CC +/* C6F668 80241338 00000000 */ nop +/* C6F66C 8024133C 8602008E */ lh $v0, 0x8e($s0) +/* C6F670 80241340 1C400022 */ bgtz $v0, .L802413CC +/* C6F674 80241344 00000000 */ nop +/* C6F678 80241348 8E620074 */ lw $v0, 0x74($s3) +/* C6F67C 8024134C 2442FFFF */ addiu $v0, $v0, -1 +/* C6F680 80241350 1840001D */ blez $v0, .L802413C8 +/* C6F684 80241354 AE620074 */ sw $v0, 0x74($s3) +/* C6F688 80241358 8E220018 */ lw $v0, 0x18($s1) +/* C6F68C 8024135C 9442002A */ lhu $v0, 0x2a($v0) +/* C6F690 80241360 30420010 */ andi $v0, $v0, 0x10 +/* C6F694 80241364 14400007 */ bnez $v0, .L80241384 +/* C6F698 80241368 00000000 */ nop +/* C6F69C 8024136C C600000C */ lwc1 $f0, 0xc($s0) +/* C6F6A0 80241370 3C014334 */ lui $at, 0x4334 +/* C6F6A4 80241374 44816000 */ mtc1 $at, $f12 +/* C6F6A8 80241378 0C00A6C9 */ jal clamp_angle +/* C6F6AC 8024137C 460C0300 */ add.s $f12, $f0, $f12 +/* C6F6B0 80241380 E600000C */ swc1 $f0, 0xc($s0) +.L80241384: +/* C6F6B4 80241384 0C00A67F */ jal rand_int +/* C6F6B8 80241388 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C6F6BC 8024138C 3C032E8B */ lui $v1, 0x2e8b +/* C6F6C0 80241390 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C6F6C4 80241394 00430018 */ mult $v0, $v1 +/* C6F6C8 80241398 00021FC3 */ sra $v1, $v0, 0x1f +/* C6F6CC 8024139C 00004010 */ mfhi $t0 +/* C6F6D0 802413A0 00082043 */ sra $a0, $t0, 1 +/* C6F6D4 802413A4 00832023 */ subu $a0, $a0, $v1 +/* C6F6D8 802413A8 00041840 */ sll $v1, $a0, 1 +/* C6F6DC 802413AC 00641821 */ addu $v1, $v1, $a0 +/* C6F6E0 802413B0 00031880 */ sll $v1, $v1, 2 +/* C6F6E4 802413B4 00641823 */ subu $v1, $v1, $a0 +/* C6F6E8 802413B8 00431023 */ subu $v0, $v0, $v1 +/* C6F6EC 802413BC 24420005 */ addiu $v0, $v0, 5 +/* C6F6F0 802413C0 080904F3 */ j .L802413CC +/* C6F6F4 802413C4 A602008E */ sh $v0, 0x8e($s0) +.L802413C8: +/* C6F6F8 802413C8 AE600070 */ sw $zero, 0x70($s3) +.L802413CC: +/* C6F6FC 802413CC 8FBF0054 */ lw $ra, 0x54($sp) +/* C6F700 802413D0 8FB40050 */ lw $s4, 0x50($sp) +/* C6F704 802413D4 8FB3004C */ lw $s3, 0x4c($sp) +/* C6F708 802413D8 8FB20048 */ lw $s2, 0x48($sp) +/* C6F70C 802413DC 8FB10044 */ lw $s1, 0x44($sp) +/* C6F710 802413E0 8FB00040 */ lw $s0, 0x40($sp) +/* C6F714 802413E4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C6F718 802413E8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C6F71C 802413EC D7B60060 */ ldc1 $f22, 0x60($sp) +/* C6F720 802413F0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C6F724 802413F4 03E00008 */ jr $ra +/* C6F728 802413F8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802413FC_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802413FC_C6E330.s new file mode 100644 index 0000000000..540a338f1b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802413FC_C6E330.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413FC_C6F72C +/* C6F72C 802413FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C6F730 80241400 AFB20018 */ sw $s2, 0x18($sp) +/* C6F734 80241404 0080902D */ daddu $s2, $a0, $zero +/* C6F738 80241408 AFBF001C */ sw $ra, 0x1c($sp) +/* C6F73C 8024140C AFB10014 */ sw $s1, 0x14($sp) +/* C6F740 80241410 AFB00010 */ sw $s0, 0x10($sp) +/* C6F744 80241414 8E510148 */ lw $s1, 0x148($s2) +/* C6F748 80241418 0C00EABB */ jal get_npc_unsafe +/* C6F74C 8024141C 86240008 */ lh $a0, 8($s1) +/* C6F750 80241420 0040802D */ daddu $s0, $v0, $zero +/* C6F754 80241424 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C6F758 80241428 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C6F75C 8024142C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C6F760 80241430 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C6F764 80241434 A600008E */ sh $zero, 0x8e($s0) +/* C6F768 80241438 8C460028 */ lw $a2, 0x28($v0) +/* C6F76C 8024143C 0C00A720 */ jal atan2 +/* C6F770 80241440 8C470030 */ lw $a3, 0x30($v0) +/* C6F774 80241444 E600000C */ swc1 $f0, 0xc($s0) +/* C6F778 80241448 8E2200CC */ lw $v0, 0xcc($s1) +/* C6F77C 8024144C 8C420020 */ lw $v0, 0x20($v0) +/* C6F780 80241450 AE020028 */ sw $v0, 0x28($s0) +/* C6F784 80241454 2402000B */ addiu $v0, $zero, 0xb +/* C6F788 80241458 AE420070 */ sw $v0, 0x70($s2) +/* C6F78C 8024145C 8FBF001C */ lw $ra, 0x1c($sp) +/* C6F790 80241460 8FB20018 */ lw $s2, 0x18($sp) +/* C6F794 80241464 8FB10014 */ lw $s1, 0x14($sp) +/* C6F798 80241468 8FB00010 */ lw $s0, 0x10($sp) +/* C6F79C 8024146C 03E00008 */ jr $ra +/* C6F7A0 80241470 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241474_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241474_C6E330.s new file mode 100644 index 0000000000..2612824851 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241474_C6E330.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241474_C6F7A4 +/* C6F7A4 80241474 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6F7A8 80241478 AFB00010 */ sw $s0, 0x10($sp) +/* C6F7AC 8024147C 0080802D */ daddu $s0, $a0, $zero +/* C6F7B0 80241480 AFBF0014 */ sw $ra, 0x14($sp) +/* C6F7B4 80241484 8E020148 */ lw $v0, 0x148($s0) +/* C6F7B8 80241488 0C00EABB */ jal get_npc_unsafe +/* C6F7BC 8024148C 84440008 */ lh $a0, 8($v0) +/* C6F7C0 80241490 9443008E */ lhu $v1, 0x8e($v0) +/* C6F7C4 80241494 C440003C */ lwc1 $f0, 0x3c($v0) +/* C6F7C8 80241498 24640001 */ addiu $a0, $v1, 1 +/* C6F7CC 8024149C 00031C00 */ sll $v1, $v1, 0x10 +/* C6F7D0 802414A0 00031B83 */ sra $v1, $v1, 0xe +/* C6F7D4 802414A4 A444008E */ sh $a0, 0x8e($v0) +/* C6F7D8 802414A8 3C018024 */ lui $at, 0x8024 +/* C6F7DC 802414AC 00230821 */ addu $at, $at, $v1 +/* C6F7E0 802414B0 C4222B90 */ lwc1 $f2, 0x2b90($at) +/* C6F7E4 802414B4 8443008E */ lh $v1, 0x8e($v0) +/* C6F7E8 802414B8 46020000 */ add.s $f0, $f0, $f2 +/* C6F7EC 802414BC 28630005 */ slti $v1, $v1, 5 +/* C6F7F0 802414C0 14600003 */ bnez $v1, .L802414D0 +/* C6F7F4 802414C4 E440003C */ swc1 $f0, 0x3c($v0) +/* C6F7F8 802414C8 2402000C */ addiu $v0, $zero, 0xc +/* C6F7FC 802414CC AE020070 */ sw $v0, 0x70($s0) +.L802414D0: +/* C6F800 802414D0 8FBF0014 */ lw $ra, 0x14($sp) +/* C6F804 802414D4 8FB00010 */ lw $s0, 0x10($sp) +/* C6F808 802414D8 03E00008 */ jr $ra +/* C6F80C 802414DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802414E0.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802414E0.s new file mode 100644 index 0000000000..08aa2b5076 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802414E0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414E0 +/* C6F810 802414E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C6F814 802414E4 AFB3001C */ sw $s3, 0x1c($sp) +/* C6F818 802414E8 0080982D */ daddu $s3, $a0, $zero +/* C6F81C 802414EC AFBF0020 */ sw $ra, 0x20($sp) +/* C6F820 802414F0 AFB20018 */ sw $s2, 0x18($sp) +/* C6F824 802414F4 AFB10014 */ sw $s1, 0x14($sp) +/* C6F828 802414F8 AFB00010 */ sw $s0, 0x10($sp) +/* C6F82C 802414FC 8E720148 */ lw $s2, 0x148($s3) +/* C6F830 80241500 86440008 */ lh $a0, 8($s2) +/* C6F834 80241504 0C00EABB */ jal get_npc_unsafe +/* C6F838 80241508 00A0802D */ daddu $s0, $a1, $zero +/* C6F83C 8024150C 0040882D */ daddu $s1, $v0, $zero +/* C6F840 80241510 C6420080 */ lwc1 $f2, 0x80($s2) +/* C6F844 80241514 468010A0 */ cvt.s.w $f2, $f2 +/* C6F848 80241518 460010A1 */ cvt.d.s $f2, $f2 +/* C6F84C 8024151C C6400084 */ lwc1 $f0, 0x84($s2) +/* C6F850 80241520 46800020 */ cvt.s.w $f0, $f0 +/* C6F854 80241524 46000021 */ cvt.d.s $f0, $f0 +/* C6F858 80241528 3C014059 */ lui $at, 0x4059 +/* C6F85C 8024152C 44812800 */ mtc1 $at, $f5 +/* C6F860 80241530 44802000 */ mtc1 $zero, $f4 +/* C6F864 80241534 8E4200CC */ lw $v0, 0xcc($s2) +/* C6F868 80241538 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C6F86C 8024153C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C6F870 80241540 46241083 */ div.d $f2, $f2, $f4 +/* C6F874 80241544 462010A0 */ cvt.s.d $f2, $f2 +/* C6F878 80241548 46240003 */ div.d $f0, $f0, $f4 +/* C6F87C 8024154C 8C420020 */ lw $v0, 0x20($v0) +/* C6F880 80241550 46200020 */ cvt.s.d $f0, $f0 +/* C6F884 80241554 E622001C */ swc1 $f2, 0x1c($s1) +/* C6F888 80241558 E6200014 */ swc1 $f0, 0x14($s1) +/* C6F88C 8024155C AE220028 */ sw $v0, 0x28($s1) +/* C6F890 80241560 C6000018 */ lwc1 $f0, 0x18($s0) +/* C6F894 80241564 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C6F898 80241568 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C6F89C 8024156C E6200018 */ swc1 $f0, 0x18($s1) +/* C6F8A0 80241570 8C460028 */ lw $a2, 0x28($v0) +/* C6F8A4 80241574 0C00A720 */ jal atan2 +/* C6F8A8 80241578 8C470030 */ lw $a3, 0x30($v0) +/* C6F8AC 8024157C E620000C */ swc1 $f0, 0xc($s1) +/* C6F8B0 80241580 8E420018 */ lw $v0, 0x18($s2) +/* C6F8B4 80241584 AE400074 */ sw $zero, 0x74($s2) +/* C6F8B8 80241588 9442002A */ lhu $v0, 0x2a($v0) +/* C6F8BC 8024158C 30420002 */ andi $v0, $v0, 2 +/* C6F8C0 80241590 10400005 */ beqz $v0, .L802415A8 +/* C6F8C4 80241594 24020003 */ addiu $v0, $zero, 3 +/* C6F8C8 80241598 A622008E */ sh $v0, 0x8e($s1) +/* C6F8CC 8024159C 2402000D */ addiu $v0, $zero, 0xd +/* C6F8D0 802415A0 0809057E */ j .L802415F8 +/* C6F8D4 802415A4 AE620070 */ sw $v0, 0x70($s3) +.L802415A8: +/* C6F8D8 802415A8 24030001 */ addiu $v1, $zero, 1 +/* C6F8DC 802415AC 2402000E */ addiu $v0, $zero, 0xe +/* C6F8E0 802415B0 A623008E */ sh $v1, 0x8e($s1) +/* C6F8E4 802415B4 AE620070 */ sw $v0, 0x70($s3) +/* C6F8E8 802415B8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C6F8EC 802415BC 4600018D */ trunc.w.s $f6, $f0 +/* C6F8F0 802415C0 44023000 */ mfc1 $v0, $f6 +/* C6F8F4 802415C4 00000000 */ nop +/* C6F8F8 802415C8 A6420010 */ sh $v0, 0x10($s2) +/* C6F8FC 802415CC C620003C */ lwc1 $f0, 0x3c($s1) +/* C6F900 802415D0 4600018D */ trunc.w.s $f6, $f0 +/* C6F904 802415D4 44023000 */ mfc1 $v0, $f6 +/* C6F908 802415D8 00000000 */ nop +/* C6F90C 802415DC A6420012 */ sh $v0, 0x12($s2) +/* C6F910 802415E0 C6200040 */ lwc1 $f0, 0x40($s1) +/* C6F914 802415E4 A2430007 */ sb $v1, 7($s2) +/* C6F918 802415E8 4600018D */ trunc.w.s $f6, $f0 +/* C6F91C 802415EC 44023000 */ mfc1 $v0, $f6 +/* C6F920 802415F0 00000000 */ nop +/* C6F924 802415F4 A6420014 */ sh $v0, 0x14($s2) +.L802415F8: +/* C6F928 802415F8 8FBF0020 */ lw $ra, 0x20($sp) +/* C6F92C 802415FC 8FB3001C */ lw $s3, 0x1c($sp) +/* C6F930 80241600 8FB20018 */ lw $s2, 0x18($sp) +/* C6F934 80241604 8FB10014 */ lw $s1, 0x14($sp) +/* C6F938 80241608 8FB00010 */ lw $s0, 0x10($sp) +/* C6F93C 8024160C 03E00008 */ jr $ra +/* C6F940 80241610 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241614_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241614_C6E330.s new file mode 100644 index 0000000000..ec561c6ff6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241614_C6E330.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241614_C6F944 +/* C6F944 80241614 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C6F948 80241618 AFB00010 */ sw $s0, 0x10($sp) +/* C6F94C 8024161C 0080802D */ daddu $s0, $a0, $zero +/* C6F950 80241620 AFBF0014 */ sw $ra, 0x14($sp) +/* C6F954 80241624 8E020148 */ lw $v0, 0x148($s0) +/* C6F958 80241628 0C00EABB */ jal get_npc_unsafe +/* C6F95C 8024162C 84440008 */ lh $a0, 8($v0) +/* C6F960 80241630 0040202D */ daddu $a0, $v0, $zero +/* C6F964 80241634 8482008E */ lh $v0, 0x8e($a0) +/* C6F968 80241638 9483008E */ lhu $v1, 0x8e($a0) +/* C6F96C 8024163C 18400005 */ blez $v0, .L80241654 +/* C6F970 80241640 2462FFFF */ addiu $v0, $v1, -1 +/* C6F974 80241644 A482008E */ sh $v0, 0x8e($a0) +/* C6F978 80241648 00021400 */ sll $v0, $v0, 0x10 +/* C6F97C 8024164C 1C400006 */ bgtz $v0, .L80241668 +/* C6F980 80241650 00000000 */ nop +.L80241654: +/* C6F984 80241654 8482008C */ lh $v0, 0x8c($a0) +/* C6F988 80241658 14400003 */ bnez $v0, .L80241668 +/* C6F98C 8024165C 2402000E */ addiu $v0, $zero, 0xe +/* C6F990 80241660 A480008E */ sh $zero, 0x8e($a0) +/* C6F994 80241664 AE020070 */ sw $v0, 0x70($s0) +.L80241668: +/* C6F998 80241668 8FBF0014 */ lw $ra, 0x14($sp) +/* C6F99C 8024166C 8FB00010 */ lw $s0, 0x10($sp) +/* C6F9A0 80241670 03E00008 */ jr $ra +/* C6F9A4 80241674 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241678_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241678_C6E330.s new file mode 100644 index 0000000000..a07423abc6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241678_C6E330.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241678_C6F9A8 +/* C6F9A8 80241678 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C6F9AC 8024167C AFB20030 */ sw $s2, 0x30($sp) +/* C6F9B0 80241680 0080902D */ daddu $s2, $a0, $zero +/* C6F9B4 80241684 AFBF0038 */ sw $ra, 0x38($sp) +/* C6F9B8 80241688 AFB30034 */ sw $s3, 0x34($sp) +/* C6F9BC 8024168C AFB1002C */ sw $s1, 0x2c($sp) +/* C6F9C0 80241690 AFB00028 */ sw $s0, 0x28($sp) +/* C6F9C4 80241694 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C6F9C8 80241698 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C6F9CC 8024169C 8E510148 */ lw $s1, 0x148($s2) +/* C6F9D0 802416A0 86240008 */ lh $a0, 8($s1) +/* C6F9D4 802416A4 0C00EABB */ jal get_npc_unsafe +/* C6F9D8 802416A8 00A0982D */ daddu $s3, $a1, $zero +/* C6F9DC 802416AC 0040802D */ daddu $s0, $v0, $zero +/* C6F9E0 802416B0 0200202D */ daddu $a0, $s0, $zero +/* C6F9E4 802416B4 C6220088 */ lwc1 $f2, 0x88($s1) +/* C6F9E8 802416B8 468010A0 */ cvt.s.w $f2, $f2 +/* C6F9EC 802416BC 460010A1 */ cvt.d.s $f2, $f2 +/* C6F9F0 802416C0 C604001C */ lwc1 $f4, 0x1c($s0) +/* C6F9F4 802416C4 C6000014 */ lwc1 $f0, 0x14($s0) +/* C6F9F8 802416C8 8E050018 */ lw $a1, 0x18($s0) +/* C6F9FC 802416CC 46002100 */ add.s $f4, $f4, $f0 +/* C6FA00 802416D0 8E06000C */ lw $a2, 0xc($s0) +/* C6FA04 802416D4 C6200078 */ lwc1 $f0, 0x78($s1) +/* C6FA08 802416D8 46800020 */ cvt.s.w $f0, $f0 +/* C6FA0C 802416DC E604001C */ swc1 $f4, 0x1c($s0) +/* C6FA10 802416E0 3C014059 */ lui $at, 0x4059 +/* C6FA14 802416E4 44812800 */ mtc1 $at, $f5 +/* C6FA18 802416E8 44802000 */ mtc1 $zero, $f4 +/* C6FA1C 802416EC 46000021 */ cvt.d.s $f0, $f0 +/* C6FA20 802416F0 46240003 */ div.d $f0, $f0, $f4 +/* C6FA24 802416F4 46200520 */ cvt.s.d $f20, $f0 +/* C6FA28 802416F8 46241083 */ div.d $f2, $f2, $f4 +/* C6FA2C 802416FC 0C00EA95 */ jal npc_move_heading +/* C6FA30 80241700 462015A0 */ cvt.s.d $f22, $f2 +/* C6FA34 80241704 C604001C */ lwc1 $f4, 0x1c($s0) +/* C6FA38 80241708 44801000 */ mtc1 $zero, $f2 +/* C6FA3C 8024170C 44801800 */ mtc1 $zero, $f3 +/* C6FA40 80241710 46002021 */ cvt.d.s $f0, $f4 +/* C6FA44 80241714 4620103E */ c.le.d $f2, $f0 +/* C6FA48 80241718 00000000 */ nop +/* C6FA4C 8024171C 45000030 */ bc1f .L802417E0 +/* C6FA50 80241720 00000000 */ nop +/* C6FA54 80241724 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6FA58 80241728 46040000 */ add.s $f0, $f0, $f4 +/* C6FA5C 8024172C E600003C */ swc1 $f0, 0x3c($s0) +/* C6FA60 80241730 8E2200CC */ lw $v0, 0xcc($s1) +/* C6FA64 80241734 8C420024 */ lw $v0, 0x24($v0) +/* C6FA68 80241738 AE020028 */ sw $v0, 0x28($s0) +/* C6FA6C 8024173C A2200007 */ sb $zero, 7($s1) +/* C6FA70 80241740 8E020000 */ lw $v0, ($s0) +/* C6FA74 80241744 30420008 */ andi $v0, $v0, 8 +/* C6FA78 80241748 14400011 */ bnez $v0, .L80241790 +/* C6FA7C 8024174C 0000102D */ daddu $v0, $zero, $zero +/* C6FA80 80241750 27A50018 */ addiu $a1, $sp, 0x18 +/* C6FA84 80241754 27A6001C */ addiu $a2, $sp, 0x1c +/* C6FA88 80241758 C6000038 */ lwc1 $f0, 0x38($s0) +/* C6FA8C 8024175C C602003C */ lwc1 $f2, 0x3c($s0) +/* C6FA90 80241760 C6040040 */ lwc1 $f4, 0x40($s0) +/* C6FA94 80241764 3C01447A */ lui $at, 0x447a +/* C6FA98 80241768 44813000 */ mtc1 $at, $f6 +/* C6FA9C 8024176C 27A20024 */ addiu $v0, $sp, 0x24 +/* C6FAA0 80241770 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6FAA4 80241774 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C6FAA8 80241778 E7A40020 */ swc1 $f4, 0x20($sp) +/* C6FAAC 8024177C E7A60024 */ swc1 $f6, 0x24($sp) +/* C6FAB0 80241780 AFA20010 */ sw $v0, 0x10($sp) +/* C6FAB4 80241784 8E040080 */ lw $a0, 0x80($s0) +/* C6FAB8 80241788 0C0372DF */ jal func_800DCB7C +/* C6FABC 8024178C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241790: +/* C6FAC0 80241790 1040000B */ beqz $v0, .L802417C0 +/* C6FAC4 80241794 00000000 */ nop +/* C6FAC8 80241798 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C6FACC 8024179C 46140080 */ add.s $f2, $f0, $f20 +/* C6FAD0 802417A0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6FAD4 802417A4 4600103E */ c.le.s $f2, $f0 +/* C6FAD8 802417A8 00000000 */ nop +/* C6FADC 802417AC 4500008D */ bc1f .L802419E4 +/* C6FAE0 802417B0 00000000 */ nop +/* C6FAE4 802417B4 E602003C */ swc1 $f2, 0x3c($s0) +/* C6FAE8 802417B8 08090679 */ j .L802419E4 +/* C6FAEC 802417BC AE400070 */ sw $zero, 0x70($s2) +.L802417C0: +/* C6FAF0 802417C0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6FAF4 802417C4 C6000064 */ lwc1 $f0, 0x64($s0) +/* C6FAF8 802417C8 4602003E */ c.le.s $f0, $f2 +/* C6FAFC 802417CC 00000000 */ nop +/* C6FB00 802417D0 45030084 */ bc1tl .L802419E4 +/* C6FB04 802417D4 AE400070 */ sw $zero, 0x70($s2) +/* C6FB08 802417D8 08090679 */ j .L802419E4 +/* C6FB0C 802417DC 00000000 */ nop +.L802417E0: +/* C6FB10 802417E0 4622003C */ c.lt.d $f0, $f2 +/* C6FB14 802417E4 00000000 */ nop +/* C6FB18 802417E8 4500007E */ bc1f .L802419E4 +/* C6FB1C 802417EC 00000000 */ nop +/* C6FB20 802417F0 9602008E */ lhu $v0, 0x8e($s0) +/* C6FB24 802417F4 24420001 */ addiu $v0, $v0, 1 +/* C6FB28 802417F8 A602008E */ sh $v0, 0x8e($s0) +/* C6FB2C 802417FC 00021400 */ sll $v0, $v0, 0x10 +/* C6FB30 80241800 8E630020 */ lw $v1, 0x20($s3) +/* C6FB34 80241804 00021403 */ sra $v0, $v0, 0x10 +/* C6FB38 80241808 0043102A */ slt $v0, $v0, $v1 +/* C6FB3C 8024180C 14400026 */ bnez $v0, .L802418A8 +/* C6FB40 80241810 00000000 */ nop +/* C6FB44 80241814 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C6FB48 80241818 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C6FB4C 8024181C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C6FB50 80241820 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C6FB54 80241824 A600008E */ sh $zero, 0x8e($s0) +/* C6FB58 80241828 8C460028 */ lw $a2, 0x28($v0) +/* C6FB5C 8024182C 0C00A720 */ jal atan2 +/* C6FB60 80241830 8C470030 */ lw $a3, 0x30($v0) +/* C6FB64 80241834 46000506 */ mov.s $f20, $f0 +/* C6FB68 80241838 C60C000C */ lwc1 $f12, 0xc($s0) +/* C6FB6C 8024183C 0C00A70A */ jal get_clamped_angle_diff +/* C6FB70 80241840 4600A386 */ mov.s $f14, $f20 +/* C6FB74 80241844 46000086 */ mov.s $f2, $f0 +/* C6FB78 80241848 8E62001C */ lw $v0, 0x1c($s3) +/* C6FB7C 8024184C 46001005 */ abs.s $f0, $f2 +/* C6FB80 80241850 44822000 */ mtc1 $v0, $f4 +/* C6FB84 80241854 00000000 */ nop +/* C6FB88 80241858 46802120 */ cvt.s.w $f4, $f4 +/* C6FB8C 8024185C 4600203C */ c.lt.s $f4, $f0 +/* C6FB90 80241860 00000000 */ nop +/* C6FB94 80241864 4500000D */ bc1f .L8024189C +/* C6FB98 80241868 00000000 */ nop +/* C6FB9C 8024186C 44800000 */ mtc1 $zero, $f0 +/* C6FBA0 80241870 C614000C */ lwc1 $f20, 0xc($s0) +/* C6FBA4 80241874 4600103C */ c.lt.s $f2, $f0 +/* C6FBA8 80241878 00000000 */ nop +/* C6FBAC 8024187C 45000006 */ bc1f .L80241898 +/* C6FBB0 80241880 00021023 */ negu $v0, $v0 +/* C6FBB4 80241884 44820000 */ mtc1 $v0, $f0 +/* C6FBB8 80241888 00000000 */ nop +/* C6FBBC 8024188C 46800020 */ cvt.s.w $f0, $f0 +/* C6FBC0 80241890 08090627 */ j .L8024189C +/* C6FBC4 80241894 4600A500 */ add.s $f20, $f20, $f0 +.L80241898: +/* C6FBC8 80241898 4604A500 */ add.s $f20, $f20, $f4 +.L8024189C: +/* C6FBCC 8024189C 0C00A6C9 */ jal clamp_angle +/* C6FBD0 802418A0 4600A306 */ mov.s $f12, $f20 +/* C6FBD4 802418A4 E600000C */ swc1 $f0, 0xc($s0) +.L802418A8: +/* C6FBD8 802418A8 8E020000 */ lw $v0, ($s0) +/* C6FBDC 802418AC 30420008 */ andi $v0, $v0, 8 +/* C6FBE0 802418B0 1040000A */ beqz $v0, .L802418DC +/* C6FBE4 802418B4 27A50018 */ addiu $a1, $sp, 0x18 +/* C6FBE8 802418B8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C6FBEC 802418BC C600001C */ lwc1 $f0, 0x1c($s0) +/* C6FBF0 802418C0 46001080 */ add.s $f2, $f2, $f0 +/* C6FBF4 802418C4 4616103C */ c.lt.s $f2, $f22 +/* C6FBF8 802418C8 00000000 */ nop +/* C6FBFC 802418CC 45020045 */ bc1fl .L802419E4 +/* C6FC00 802418D0 E602003C */ swc1 $f2, 0x3c($s0) +/* C6FC04 802418D4 08090678 */ j .L802419E0 +/* C6FC08 802418D8 E616003C */ swc1 $f22, 0x3c($s0) +.L802418DC: +/* C6FC0C 802418DC C6000038 */ lwc1 $f0, 0x38($s0) +/* C6FC10 802418E0 27A6001C */ addiu $a2, $sp, 0x1c +/* C6FC14 802418E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6FC18 802418E8 860200A8 */ lh $v0, 0xa8($s0) +/* C6FC1C 802418EC C600001C */ lwc1 $f0, 0x1c($s0) +/* C6FC20 802418F0 C604003C */ lwc1 $f4, 0x3c($s0) +/* C6FC24 802418F4 44821000 */ mtc1 $v0, $f2 +/* C6FC28 802418F8 00000000 */ nop +/* C6FC2C 802418FC 468010A0 */ cvt.s.w $f2, $f2 +/* C6FC30 80241900 46000005 */ abs.s $f0, $f0 +/* C6FC34 80241904 46020000 */ add.s $f0, $f0, $f2 +/* C6FC38 80241908 C6060040 */ lwc1 $f6, 0x40($s0) +/* C6FC3C 8024190C 27A20024 */ addiu $v0, $sp, 0x24 +/* C6FC40 80241910 46022100 */ add.s $f4, $f4, $f2 +/* C6FC44 80241914 3C014024 */ lui $at, 0x4024 +/* C6FC48 80241918 44811800 */ mtc1 $at, $f3 +/* C6FC4C 8024191C 44801000 */ mtc1 $zero, $f2 +/* C6FC50 80241920 46000021 */ cvt.d.s $f0, $f0 +/* C6FC54 80241924 46220000 */ add.d $f0, $f0, $f2 +/* C6FC58 80241928 E7A60020 */ swc1 $f6, 0x20($sp) +/* C6FC5C 8024192C E7A4001C */ swc1 $f4, 0x1c($sp) +/* C6FC60 80241930 46200020 */ cvt.s.d $f0, $f0 +/* C6FC64 80241934 E7A00024 */ swc1 $f0, 0x24($sp) +/* C6FC68 80241938 AFA20010 */ sw $v0, 0x10($sp) +/* C6FC6C 8024193C 8E040080 */ lw $a0, 0x80($s0) +/* C6FC70 80241940 0C0372DF */ jal func_800DCB7C +/* C6FC74 80241944 27A70020 */ addiu $a3, $sp, 0x20 +/* C6FC78 80241948 10400015 */ beqz $v0, .L802419A0 +/* C6FC7C 8024194C 00000000 */ nop +/* C6FC80 80241950 860200A8 */ lh $v0, 0xa8($s0) +/* C6FC84 80241954 C604001C */ lwc1 $f4, 0x1c($s0) +/* C6FC88 80241958 44820000 */ mtc1 $v0, $f0 +/* C6FC8C 8024195C 00000000 */ nop +/* C6FC90 80241960 46800020 */ cvt.s.w $f0, $f0 +/* C6FC94 80241964 46002085 */ abs.s $f2, $f4 +/* C6FC98 80241968 46020000 */ add.s $f0, $f0, $f2 +/* C6FC9C 8024196C C7A20024 */ lwc1 $f2, 0x24($sp) +/* C6FCA0 80241970 4600103E */ c.le.s $f2, $f0 +/* C6FCA4 80241974 00000000 */ nop +/* C6FCA8 80241978 45000005 */ bc1f .L80241990 +/* C6FCAC 8024197C 00000000 */ nop +/* C6FCB0 80241980 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C6FCB4 80241984 AE00001C */ sw $zero, 0x1c($s0) +/* C6FCB8 80241988 08090679 */ j .L802419E4 +/* C6FCBC 8024198C E600003C */ swc1 $f0, 0x3c($s0) +.L80241990: +/* C6FCC0 80241990 C600003C */ lwc1 $f0, 0x3c($s0) +/* C6FCC4 80241994 46040000 */ add.s $f0, $f0, $f4 +/* C6FCC8 80241998 08090679 */ j .L802419E4 +/* C6FCCC 8024199C E600003C */ swc1 $f0, 0x3c($s0) +.L802419A0: +/* C6FCD0 802419A0 C606003C */ lwc1 $f6, 0x3c($s0) +/* C6FCD4 802419A4 860200A8 */ lh $v0, 0xa8($s0) +/* C6FCD8 802419A8 46163081 */ sub.s $f2, $f6, $f22 +/* C6FCDC 802419AC 44820000 */ mtc1 $v0, $f0 +/* C6FCE0 802419B0 00000000 */ nop +/* C6FCE4 802419B4 46800020 */ cvt.s.w $f0, $f0 +/* C6FCE8 802419B8 46001080 */ add.s $f2, $f2, $f0 +/* C6FCEC 802419BC C604001C */ lwc1 $f4, 0x1c($s0) +/* C6FCF0 802419C0 46002005 */ abs.s $f0, $f4 +/* C6FCF4 802419C4 4602003C */ c.lt.s $f0, $f2 +/* C6FCF8 802419C8 00000000 */ nop +/* C6FCFC 802419CC 45020005 */ bc1fl .L802419E4 +/* C6FD00 802419D0 AE00001C */ sw $zero, 0x1c($s0) +/* C6FD04 802419D4 46043000 */ add.s $f0, $f6, $f4 +/* C6FD08 802419D8 08090679 */ j .L802419E4 +/* C6FD0C 802419DC E600003C */ swc1 $f0, 0x3c($s0) +.L802419E0: +/* C6FD10 802419E0 AE00001C */ sw $zero, 0x1c($s0) +.L802419E4: +/* C6FD14 802419E4 8FBF0038 */ lw $ra, 0x38($sp) +/* C6FD18 802419E8 8FB30034 */ lw $s3, 0x34($sp) +/* C6FD1C 802419EC 8FB20030 */ lw $s2, 0x30($sp) +/* C6FD20 802419F0 8FB1002C */ lw $s1, 0x2c($sp) +/* C6FD24 802419F4 8FB00028 */ lw $s0, 0x28($sp) +/* C6FD28 802419F8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C6FD2C 802419FC D7B40040 */ ldc1 $f20, 0x40($sp) +/* C6FD30 80241A00 03E00008 */ jr $ra +/* C6FD34 80241A04 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241A08_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241A08_C6E330.s new file mode 100644 index 0000000000..f334a27ce2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241A08_C6E330.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A08_C6FD38 +/* C6FD38 80241A08 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C6FD3C 80241A0C AFB00028 */ sw $s0, 0x28($sp) +/* C6FD40 80241A10 00A0802D */ daddu $s0, $a1, $zero +/* C6FD44 80241A14 AFB1002C */ sw $s1, 0x2c($sp) +/* C6FD48 80241A18 00C0882D */ daddu $s1, $a2, $zero +/* C6FD4C 80241A1C AFBF0034 */ sw $ra, 0x34($sp) +/* C6FD50 80241A20 AFB20030 */ sw $s2, 0x30($sp) +/* C6FD54 80241A24 AE200070 */ sw $zero, 0x70($s1) +/* C6FD58 80241A28 8C830000 */ lw $v1, ($a0) +/* C6FD5C 80241A2C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C6FD60 80241A30 A480008E */ sh $zero, 0x8e($a0) +/* C6FD64 80241A34 00621824 */ and $v1, $v1, $v0 +/* C6FD68 80241A38 34650800 */ ori $a1, $v1, 0x800 +/* C6FD6C 80241A3C AC850000 */ sw $a1, ($a0) +/* C6FD70 80241A40 8E0200D0 */ lw $v0, 0xd0($s0) +/* C6FD74 80241A44 8C420034 */ lw $v0, 0x34($v0) +/* C6FD78 80241A48 10400003 */ beqz $v0, .L80241A58 +/* C6FD7C 80241A4C 00E0902D */ daddu $s2, $a3, $zero +/* C6FD80 80241A50 08090698 */ j .L80241A60 +/* C6FD84 80241A54 34620808 */ ori $v0, $v1, 0x808 +.L80241A58: +/* C6FD88 80241A58 2402FFF7 */ addiu $v0, $zero, -9 +/* C6FD8C 80241A5C 00A21024 */ and $v0, $a1, $v0 +.L80241A60: +/* C6FD90 80241A60 AC820000 */ sw $v0, ($a0) +/* C6FD94 80241A64 27A20024 */ addiu $v0, $sp, 0x24 +/* C6FD98 80241A68 27A50018 */ addiu $a1, $sp, 0x18 +/* C6FD9C 80241A6C C4800038 */ lwc1 $f0, 0x38($a0) +/* C6FDA0 80241A70 C482003C */ lwc1 $f2, 0x3c($a0) +/* C6FDA4 80241A74 C4840040 */ lwc1 $f4, 0x40($a0) +/* C6FDA8 80241A78 3C01447A */ lui $at, 0x447a +/* C6FDAC 80241A7C 44813000 */ mtc1 $at, $f6 +/* C6FDB0 80241A80 27A6001C */ addiu $a2, $sp, 0x1c +/* C6FDB4 80241A84 E7A00018 */ swc1 $f0, 0x18($sp) +/* C6FDB8 80241A88 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C6FDBC 80241A8C E7A40020 */ swc1 $f4, 0x20($sp) +/* C6FDC0 80241A90 E7A60024 */ swc1 $f6, 0x24($sp) +/* C6FDC4 80241A94 AFA20010 */ sw $v0, 0x10($sp) +/* C6FDC8 80241A98 8C840080 */ lw $a0, 0x80($a0) +/* C6FDCC 80241A9C 0C0372DF */ jal func_800DCB7C +/* C6FDD0 80241AA0 27A70020 */ addiu $a3, $sp, 0x20 +/* C6FDD4 80241AA4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C6FDD8 80241AA8 3C014059 */ lui $at, 0x4059 +/* C6FDDC 80241AAC 44812800 */ mtc1 $at, $f5 +/* C6FDE0 80241AB0 44802000 */ mtc1 $zero, $f4 +/* C6FDE4 80241AB4 460010A1 */ cvt.d.s $f2, $f2 +/* C6FDE8 80241AB8 46241082 */ mul.d $f2, $f2, $f4 +/* C6FDEC 80241ABC 00000000 */ nop +/* C6FDF0 80241AC0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C6FDF4 80241AC4 46000021 */ cvt.d.s $f0, $f0 +/* C6FDF8 80241AC8 46240002 */ mul.d $f0, $f0, $f4 +/* C6FDFC 80241ACC 00000000 */ nop +/* C6FE00 80241AD0 3C013FE0 */ lui $at, 0x3fe0 +/* C6FE04 80241AD4 44812800 */ mtc1 $at, $f5 +/* C6FE08 80241AD8 44802000 */ mtc1 $zero, $f4 +/* C6FE0C 80241ADC 00000000 */ nop +/* C6FE10 80241AE0 46241080 */ add.d $f2, $f2, $f4 +/* C6FE14 80241AE4 AE000074 */ sw $zero, 0x74($s0) +/* C6FE18 80241AE8 46240000 */ add.d $f0, $f0, $f4 +/* C6FE1C 80241AEC AE000090 */ sw $zero, 0x90($s0) +/* C6FE20 80241AF0 4620120D */ trunc.w.d $f8, $f2 +/* C6FE24 80241AF4 E6080078 */ swc1 $f8, 0x78($s0) +/* C6FE28 80241AF8 4620020D */ trunc.w.d $f8, $f0 +/* C6FE2C 80241AFC E6080088 */ swc1 $f8, 0x88($s0) +/* C6FE30 80241B00 8E420014 */ lw $v0, 0x14($s2) +/* C6FE34 80241B04 AE220074 */ sw $v0, 0x74($s1) +/* C6FE38 80241B08 8E0200B0 */ lw $v0, 0xb0($s0) +/* C6FE3C 80241B0C 34420010 */ ori $v0, $v0, 0x10 +/* C6FE40 80241B10 AE0200B0 */ sw $v0, 0xb0($s0) +/* C6FE44 80241B14 8FBF0034 */ lw $ra, 0x34($sp) +/* C6FE48 80241B18 8FB20030 */ lw $s2, 0x30($sp) +/* C6FE4C 80241B1C 8FB1002C */ lw $s1, 0x2c($sp) +/* C6FE50 80241B20 8FB00028 */ lw $s0, 0x28($sp) +/* C6FE54 80241B24 03E00008 */ jr $ra +/* C6FE58 80241B28 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241B2C.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241B2C.s new file mode 100644 index 0000000000..f3977f2f5e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241B2C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B2C +/* C6FE5C 80241B2C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C6FE60 80241B30 AFB40040 */ sw $s4, 0x40($sp) +/* C6FE64 80241B34 0080A02D */ daddu $s4, $a0, $zero +/* C6FE68 80241B38 AFBF0048 */ sw $ra, 0x48($sp) +/* C6FE6C 80241B3C AFB50044 */ sw $s5, 0x44($sp) +/* C6FE70 80241B40 AFB3003C */ sw $s3, 0x3c($sp) +/* C6FE74 80241B44 AFB20038 */ sw $s2, 0x38($sp) +/* C6FE78 80241B48 AFB10034 */ sw $s1, 0x34($sp) +/* C6FE7C 80241B4C AFB00030 */ sw $s0, 0x30($sp) +/* C6FE80 80241B50 8E920148 */ lw $s2, 0x148($s4) +/* C6FE84 80241B54 86440008 */ lh $a0, 8($s2) +/* C6FE88 80241B58 8E90000C */ lw $s0, 0xc($s4) +/* C6FE8C 80241B5C 0C00EABB */ jal get_npc_unsafe +/* C6FE90 80241B60 00A0882D */ daddu $s1, $a1, $zero +/* C6FE94 80241B64 0280202D */ daddu $a0, $s4, $zero +/* C6FE98 80241B68 8E050000 */ lw $a1, ($s0) +/* C6FE9C 80241B6C 0C0B1EAF */ jal get_variable +/* C6FEA0 80241B70 0040A82D */ daddu $s5, $v0, $zero +/* C6FEA4 80241B74 AFA00010 */ sw $zero, 0x10($sp) +/* C6FEA8 80241B78 8E4300D0 */ lw $v1, 0xd0($s2) +/* C6FEAC 80241B7C 8C630030 */ lw $v1, 0x30($v1) +/* C6FEB0 80241B80 AFA30014 */ sw $v1, 0x14($sp) +/* C6FEB4 80241B84 8E4300D0 */ lw $v1, 0xd0($s2) +/* C6FEB8 80241B88 8C63001C */ lw $v1, 0x1c($v1) +/* C6FEBC 80241B8C AFA30018 */ sw $v1, 0x18($sp) +/* C6FEC0 80241B90 8E4300D0 */ lw $v1, 0xd0($s2) +/* C6FEC4 80241B94 8C630024 */ lw $v1, 0x24($v1) +/* C6FEC8 80241B98 AFA3001C */ sw $v1, 0x1c($sp) +/* C6FECC 80241B9C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C6FED0 80241BA0 8C630028 */ lw $v1, 0x28($v1) +/* C6FED4 80241BA4 27B30010 */ addiu $s3, $sp, 0x10 +/* C6FED8 80241BA8 AFA30020 */ sw $v1, 0x20($sp) +/* C6FEDC 80241BAC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C6FEE0 80241BB0 3C0142F0 */ lui $at, 0x42f0 +/* C6FEE4 80241BB4 44810000 */ mtc1 $at, $f0 +/* C6FEE8 80241BB8 8C63002C */ lw $v1, 0x2c($v1) +/* C6FEEC 80241BBC 0040802D */ daddu $s0, $v0, $zero +/* C6FEF0 80241BC0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C6FEF4 80241BC4 A7A0002C */ sh $zero, 0x2c($sp) +/* C6FEF8 80241BC8 12200006 */ beqz $s1, .L80241BE4 +/* C6FEFC 80241BCC AFA30024 */ sw $v1, 0x24($sp) +/* C6FF00 80241BD0 02A0202D */ daddu $a0, $s5, $zero +/* C6FF04 80241BD4 0240282D */ daddu $a1, $s2, $zero +/* C6FF08 80241BD8 0280302D */ daddu $a2, $s4, $zero +/* C6FF0C 80241BDC 0C090682 */ jal func_80241A08 +/* C6FF10 80241BE0 0200382D */ daddu $a3, $s0, $zero +.L80241BE4: +/* C6FF14 80241BE4 2402FFFE */ addiu $v0, $zero, -2 +/* C6FF18 80241BE8 A2A200AB */ sb $v0, 0xab($s5) +/* C6FF1C 80241BEC 8E4300B0 */ lw $v1, 0xb0($s2) +/* C6FF20 80241BF0 30620004 */ andi $v0, $v1, 4 +/* C6FF24 80241BF4 10400007 */ beqz $v0, .L80241C14 +/* C6FF28 80241BF8 00000000 */ nop +/* C6FF2C 80241BFC 824200B4 */ lb $v0, 0xb4($s2) +/* C6FF30 80241C00 1440003C */ bnez $v0, .L80241CF4 +/* C6FF34 80241C04 0000102D */ daddu $v0, $zero, $zero +/* C6FF38 80241C08 2402FFFB */ addiu $v0, $zero, -5 +/* C6FF3C 80241C0C 00621024 */ and $v0, $v1, $v0 +/* C6FF40 80241C10 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241C14: +/* C6FF44 80241C14 8E830070 */ lw $v1, 0x70($s4) +/* C6FF48 80241C18 2C62000F */ sltiu $v0, $v1, 0xf +/* C6FF4C 80241C1C 10400034 */ beqz $v0, .L80241CF0 +/* C6FF50 80241C20 00031080 */ sll $v0, $v1, 2 +/* C6FF54 80241C24 3C018024 */ lui $at, 0x8024 +/* C6FF58 80241C28 00220821 */ addu $at, $at, $v0 +/* C6FF5C 80241C2C 8C2230A8 */ lw $v0, 0x30a8($at) +/* C6FF60 80241C30 00400008 */ jr $v0 +/* C6FF64 80241C34 00000000 */ nop +/* C6FF68 80241C38 0280202D */ daddu $a0, $s4, $zero +/* C6FF6C 80241C3C 0200282D */ daddu $a1, $s0, $zero +/* C6FF70 80241C40 0C090208 */ jal func_80240820 +/* C6FF74 80241C44 0260302D */ daddu $a2, $s3, $zero +/* C6FF78 80241C48 0280202D */ daddu $a0, $s4, $zero +/* C6FF7C 80241C4C 0200282D */ daddu $a1, $s0, $zero +/* C6FF80 80241C50 0C090274 */ jal func_802409D0 +/* C6FF84 80241C54 0260302D */ daddu $a2, $s3, $zero +/* C6FF88 80241C58 0809073D */ j .L80241CF4 +/* C6FF8C 80241C5C 0000102D */ daddu $v0, $zero, $zero +/* C6FF90 80241C60 0280202D */ daddu $a0, $s4, $zero +/* C6FF94 80241C64 0200282D */ daddu $a1, $s0, $zero +/* C6FF98 80241C68 0C0903FE */ jal func_80240FF8 +/* C6FF9C 80241C6C 0260302D */ daddu $a2, $s3, $zero +/* C6FFA0 80241C70 0280202D */ daddu $a0, $s4, $zero +/* C6FFA4 80241C74 0200282D */ daddu $a1, $s0, $zero +/* C6FFA8 80241C78 0C09042E */ jal func_802410B8 +/* C6FFAC 80241C7C 0260302D */ daddu $a2, $s3, $zero +/* C6FFB0 80241C80 0809073D */ j .L80241CF4 +/* C6FFB4 80241C84 0000102D */ daddu $v0, $zero, $zero +/* C6FFB8 80241C88 0280202D */ daddu $a0, $s4, $zero +/* C6FFBC 80241C8C 0200282D */ daddu $a1, $s0, $zero +/* C6FFC0 80241C90 0C0904FF */ jal func_802413FC +/* C6FFC4 80241C94 0260302D */ daddu $a2, $s3, $zero +/* C6FFC8 80241C98 0280202D */ daddu $a0, $s4, $zero +/* C6FFCC 80241C9C 0200282D */ daddu $a1, $s0, $zero +/* C6FFD0 80241CA0 0C09051D */ jal func_80241474 +/* C6FFD4 80241CA4 0260302D */ daddu $a2, $s3, $zero +/* C6FFD8 80241CA8 0809073D */ j .L80241CF4 +/* C6FFDC 80241CAC 0000102D */ daddu $v0, $zero, $zero +/* C6FFE0 80241CB0 0280202D */ daddu $a0, $s4, $zero +/* C6FFE4 80241CB4 0200282D */ daddu $a1, $s0, $zero +/* C6FFE8 80241CB8 0C090538 */ jal func_802414E0 +/* C6FFEC 80241CBC 0260302D */ daddu $a2, $s3, $zero +/* C6FFF0 80241CC0 0809073D */ j .L80241CF4 +/* C6FFF4 80241CC4 0000102D */ daddu $v0, $zero, $zero +/* C6FFF8 80241CC8 0280202D */ daddu $a0, $s4, $zero +/* C6FFFC 80241CCC 0200282D */ daddu $a1, $s0, $zero +/* C70000 80241CD0 0C090585 */ jal func_80241614 +/* C70004 80241CD4 0260302D */ daddu $a2, $s3, $zero +/* C70008 80241CD8 0809073D */ j .L80241CF4 +/* C7000C 80241CDC 0000102D */ daddu $v0, $zero, $zero +/* C70010 80241CE0 0280202D */ daddu $a0, $s4, $zero +/* C70014 80241CE4 0200282D */ daddu $a1, $s0, $zero +/* C70018 80241CE8 0C09059E */ jal func_80241678 +/* C7001C 80241CEC 0260302D */ daddu $a2, $s3, $zero +.L80241CF0: +/* C70020 80241CF0 0000102D */ daddu $v0, $zero, $zero +.L80241CF4: +/* C70024 80241CF4 8FBF0048 */ lw $ra, 0x48($sp) +/* C70028 80241CF8 8FB50044 */ lw $s5, 0x44($sp) +/* C7002C 80241CFC 8FB40040 */ lw $s4, 0x40($sp) +/* C70030 80241D00 8FB3003C */ lw $s3, 0x3c($sp) +/* C70034 80241D04 8FB20038 */ lw $s2, 0x38($sp) +/* C70038 80241D08 8FB10034 */ lw $s1, 0x34($sp) +/* C7003C 80241D0C 8FB00030 */ lw $s0, 0x30($sp) +/* C70040 80241D10 03E00008 */ jr $ra +/* C70044 80241D14 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241D18.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241D18.s new file mode 100644 index 0000000000..bcad9fbaaa --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241D18.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D18 +/* C70048 80241D18 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C7004C 80241D1C AFB3001C */ sw $s3, 0x1c($sp) +/* C70050 80241D20 0080982D */ daddu $s3, $a0, $zero +/* C70054 80241D24 AFBF0020 */ sw $ra, 0x20($sp) +/* C70058 80241D28 AFB20018 */ sw $s2, 0x18($sp) +/* C7005C 80241D2C AFB10014 */ sw $s1, 0x14($sp) +/* C70060 80241D30 AFB00010 */ sw $s0, 0x10($sp) +/* C70064 80241D34 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C70068 80241D38 8E710148 */ lw $s1, 0x148($s3) +/* C7006C 80241D3C 86240008 */ lh $a0, 8($s1) +/* C70070 80241D40 0C00EABB */ jal get_npc_unsafe +/* C70074 80241D44 00A0802D */ daddu $s0, $a1, $zero +/* C70078 80241D48 8E040020 */ lw $a0, 0x20($s0) +/* C7007C 80241D4C 0040902D */ daddu $s2, $v0, $zero +/* C70080 80241D50 00041FC2 */ srl $v1, $a0, 0x1f +/* C70084 80241D54 00832021 */ addu $a0, $a0, $v1 +/* C70088 80241D58 00042043 */ sra $a0, $a0, 1 +/* C7008C 80241D5C 0C00A67F */ jal rand_int +/* C70090 80241D60 24840001 */ addiu $a0, $a0, 1 +/* C70094 80241D64 8E030020 */ lw $v1, 0x20($s0) +/* C70098 80241D68 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C7009C 80241D6C 000327C2 */ srl $a0, $v1, 0x1f +/* C700A0 80241D70 00641821 */ addu $v1, $v1, $a0 +/* C700A4 80241D74 00031843 */ sra $v1, $v1, 1 +/* C700A8 80241D78 00621821 */ addu $v1, $v1, $v0 +/* C700AC 80241D7C A643008E */ sh $v1, 0x8e($s2) +/* C700B0 80241D80 8E2200CC */ lw $v0, 0xcc($s1) +/* C700B4 80241D84 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C700B8 80241D88 8C42000C */ lw $v0, 0xc($v0) +/* C700BC 80241D8C AE420028 */ sw $v0, 0x28($s2) +/* C700C0 80241D90 C6000018 */ lwc1 $f0, 0x18($s0) +/* C700C4 80241D94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C700C8 80241D98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C700CC 80241D9C E6400018 */ swc1 $f0, 0x18($s2) +/* C700D0 80241DA0 8C460028 */ lw $a2, 0x28($v0) +/* C700D4 80241DA4 0C00A720 */ jal atan2 +/* C700D8 80241DA8 8C470030 */ lw $a3, 0x30($v0) +/* C700DC 80241DAC 46000506 */ mov.s $f20, $f0 +/* C700E0 80241DB0 C64C000C */ lwc1 $f12, 0xc($s2) +/* C700E4 80241DB4 0C00A70A */ jal get_clamped_angle_diff +/* C700E8 80241DB8 4600A386 */ mov.s $f14, $f20 +/* C700EC 80241DBC 46000086 */ mov.s $f2, $f0 +/* C700F0 80241DC0 8E02001C */ lw $v0, 0x1c($s0) +/* C700F4 80241DC4 46001005 */ abs.s $f0, $f2 +/* C700F8 80241DC8 44822000 */ mtc1 $v0, $f4 +/* C700FC 80241DCC 00000000 */ nop +/* C70100 80241DD0 46802120 */ cvt.s.w $f4, $f4 +/* C70104 80241DD4 4600203C */ c.lt.s $f4, $f0 +/* C70108 80241DD8 00000000 */ nop +/* C7010C 80241DDC 4500000D */ bc1f .L80241E14 +/* C70110 80241DE0 00000000 */ nop +/* C70114 80241DE4 44800000 */ mtc1 $zero, $f0 +/* C70118 80241DE8 C654000C */ lwc1 $f20, 0xc($s2) +/* C7011C 80241DEC 4600103C */ c.lt.s $f2, $f0 +/* C70120 80241DF0 00000000 */ nop +/* C70124 80241DF4 45000006 */ bc1f .L80241E10 +/* C70128 80241DF8 00021023 */ negu $v0, $v0 +/* C7012C 80241DFC 44820000 */ mtc1 $v0, $f0 +/* C70130 80241E00 00000000 */ nop +/* C70134 80241E04 46800020 */ cvt.s.w $f0, $f0 +/* C70138 80241E08 08090785 */ j .L80241E14 +/* C7013C 80241E0C 4600A500 */ add.s $f20, $f20, $f0 +.L80241E10: +/* C70140 80241E10 4604A500 */ add.s $f20, $f20, $f4 +.L80241E14: +/* C70144 80241E14 0C00A6C9 */ jal clamp_angle +/* C70148 80241E18 4600A306 */ mov.s $f12, $f20 +/* C7014C 80241E1C 2402000D */ addiu $v0, $zero, 0xd +/* C70150 80241E20 E640000C */ swc1 $f0, 0xc($s2) +/* C70154 80241E24 AE620070 */ sw $v0, 0x70($s3) +/* C70158 80241E28 8FBF0020 */ lw $ra, 0x20($sp) +/* C7015C 80241E2C 8FB3001C */ lw $s3, 0x1c($sp) +/* C70160 80241E30 8FB20018 */ lw $s2, 0x18($sp) +/* C70164 80241E34 8FB10014 */ lw $s1, 0x14($sp) +/* C70168 80241E38 8FB00010 */ lw $s0, 0x10($sp) +/* C7016C 80241E3C D7B40028 */ ldc1 $f20, 0x28($sp) +/* C70170 80241E40 03E00008 */ jr $ra +/* C70174 80241E44 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80241E48_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241E48_C6E330.s new file mode 100644 index 0000000000..e2877f7853 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80241E48_C6E330.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E48_C70178 +/* C70178 80241E48 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C7017C 80241E4C AFB3004C */ sw $s3, 0x4c($sp) +/* C70180 80241E50 0080982D */ daddu $s3, $a0, $zero +/* C70184 80241E54 AFBF0050 */ sw $ra, 0x50($sp) +/* C70188 80241E58 AFB20048 */ sw $s2, 0x48($sp) +/* C7018C 80241E5C AFB10044 */ sw $s1, 0x44($sp) +/* C70190 80241E60 AFB00040 */ sw $s0, 0x40($sp) +/* C70194 80241E64 8E720148 */ lw $s2, 0x148($s3) +/* C70198 80241E68 00A0882D */ daddu $s1, $a1, $zero +/* C7019C 80241E6C 86440008 */ lh $a0, 8($s2) +/* C701A0 80241E70 0C00EABB */ jal get_npc_unsafe +/* C701A4 80241E74 00C0802D */ daddu $s0, $a2, $zero +/* C701A8 80241E78 0200202D */ daddu $a0, $s0, $zero +/* C701AC 80241E7C 0240282D */ daddu $a1, $s2, $zero +/* C701B0 80241E80 24030001 */ addiu $v1, $zero, 1 +/* C701B4 80241E84 AFA30010 */ sw $v1, 0x10($sp) +/* C701B8 80241E88 8E260024 */ lw $a2, 0x24($s1) +/* C701BC 80241E8C 8E270028 */ lw $a3, 0x28($s1) +/* C701C0 80241E90 0C01242D */ jal func_800490B4 +/* C701C4 80241E94 0040802D */ daddu $s0, $v0, $zero +/* C701C8 80241E98 14400020 */ bnez $v0, .L80241F1C +/* C701CC 80241E9C 24040002 */ addiu $a0, $zero, 2 +/* C701D0 80241EA0 0200282D */ daddu $a1, $s0, $zero +/* C701D4 80241EA4 0000302D */ daddu $a2, $zero, $zero +/* C701D8 80241EA8 860300A8 */ lh $v1, 0xa8($s0) +/* C701DC 80241EAC 3C013F80 */ lui $at, 0x3f80 +/* C701E0 80241EB0 44810000 */ mtc1 $at, $f0 +/* C701E4 80241EB4 3C014000 */ lui $at, 0x4000 +/* C701E8 80241EB8 44811000 */ mtc1 $at, $f2 +/* C701EC 80241EBC 3C01C1A0 */ lui $at, 0xc1a0 +/* C701F0 80241EC0 44812000 */ mtc1 $at, $f4 +/* C701F4 80241EC4 2402000F */ addiu $v0, $zero, 0xf +/* C701F8 80241EC8 AFA2001C */ sw $v0, 0x1c($sp) +/* C701FC 80241ECC 44834000 */ mtc1 $v1, $f8 +/* C70200 80241ED0 00000000 */ nop +/* C70204 80241ED4 46804220 */ cvt.s.w $f8, $f8 +/* C70208 80241ED8 44074000 */ mfc1 $a3, $f8 +/* C7020C 80241EDC 27A20028 */ addiu $v0, $sp, 0x28 +/* C70210 80241EE0 AFA20020 */ sw $v0, 0x20($sp) +/* C70214 80241EE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C70218 80241EE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C7021C 80241EEC 0C01BFA4 */ jal fx_emote +/* C70220 80241EF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C70224 80241EF4 8E4200CC */ lw $v0, 0xcc($s2) +/* C70228 80241EF8 8C430000 */ lw $v1, ($v0) +/* C7022C 80241EFC 2402001E */ addiu $v0, $zero, 0x1e +/* C70230 80241F00 A602008E */ sh $v0, 0x8e($s0) +/* C70234 80241F04 24020014 */ addiu $v0, $zero, 0x14 +/* C70238 80241F08 AE030028 */ sw $v1, 0x28($s0) +/* C7023C 80241F0C AE620070 */ sw $v0, 0x70($s3) +/* C70240 80241F10 2402001E */ addiu $v0, $zero, 0x1e +/* C70244 80241F14 0809082B */ j .L802420AC +/* C70248 80241F18 AE420090 */ sw $v0, 0x90($s2) +.L80241F1C: +/* C7024C 80241F1C 8E050018 */ lw $a1, 0x18($s0) +/* C70250 80241F20 8E06000C */ lw $a2, 0xc($s0) +/* C70254 80241F24 0C00EA95 */ jal npc_move_heading +/* C70258 80241F28 0200202D */ daddu $a0, $s0, $zero +/* C7025C 80241F2C 8E020000 */ lw $v0, ($s0) +/* C70260 80241F30 30420008 */ andi $v0, $v0, 8 +/* C70264 80241F34 14400028 */ bnez $v0, .L80241FD8 +/* C70268 80241F38 0000882D */ daddu $s1, $zero, $zero +/* C7026C 80241F3C 27A5002C */ addiu $a1, $sp, 0x2c +/* C70270 80241F40 27A60030 */ addiu $a2, $sp, 0x30 +/* C70274 80241F44 860200A8 */ lh $v0, 0xa8($s0) +/* C70278 80241F48 C6000038 */ lwc1 $f0, 0x38($s0) +/* C7027C 80241F4C 44821000 */ mtc1 $v0, $f2 +/* C70280 80241F50 00000000 */ nop +/* C70284 80241F54 468010A0 */ cvt.s.w $f2, $f2 +/* C70288 80241F58 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C7028C 80241F5C 860200A8 */ lh $v0, 0xa8($s0) +/* C70290 80241F60 C604003C */ lwc1 $f4, 0x3c($s0) +/* C70294 80241F64 C6060040 */ lwc1 $f6, 0x40($s0) +/* C70298 80241F68 44820000 */ mtc1 $v0, $f0 +/* C7029C 80241F6C 00000000 */ nop +/* C702A0 80241F70 46800021 */ cvt.d.w $f0, $f0 +/* C702A4 80241F74 46022100 */ add.s $f4, $f4, $f2 +/* C702A8 80241F78 3C014008 */ lui $at, 0x4008 +/* C702AC 80241F7C 44811800 */ mtc1 $at, $f3 +/* C702B0 80241F80 44801000 */ mtc1 $zero, $f2 +/* C702B4 80241F84 27A20038 */ addiu $v0, $sp, 0x38 +/* C702B8 80241F88 46220000 */ add.d $f0, $f0, $f2 +/* C702BC 80241F8C E7A60034 */ swc1 $f6, 0x34($sp) +/* C702C0 80241F90 E7A40030 */ swc1 $f4, 0x30($sp) +/* C702C4 80241F94 46200020 */ cvt.s.d $f0, $f0 +/* C702C8 80241F98 E7A00038 */ swc1 $f0, 0x38($sp) +/* C702CC 80241F9C AFA20010 */ sw $v0, 0x10($sp) +/* C702D0 80241FA0 8E040080 */ lw $a0, 0x80($s0) +/* C702D4 80241FA4 0C0372DF */ jal func_800DCB7C +/* C702D8 80241FA8 27A70034 */ addiu $a3, $sp, 0x34 +/* C702DC 80241FAC 1040000A */ beqz $v0, .L80241FD8 +/* C702E0 80241FB0 00000000 */ nop +/* C702E4 80241FB4 860200A8 */ lh $v0, 0xa8($s0) +/* C702E8 80241FB8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C702EC 80241FBC 44820000 */ mtc1 $v0, $f0 +/* C702F0 80241FC0 00000000 */ nop +/* C702F4 80241FC4 46800020 */ cvt.s.w $f0, $f0 +/* C702F8 80241FC8 4600103C */ c.lt.s $f2, $f0 +/* C702FC 80241FCC 00000000 */ nop +/* C70300 80241FD0 45030001 */ bc1tl .L80241FD8 +/* C70304 80241FD4 24110001 */ addiu $s1, $zero, 1 +.L80241FD8: +/* C70308 80241FD8 12200008 */ beqz $s1, .L80241FFC +/* C7030C 80241FDC 00000000 */ nop +/* C70310 80241FE0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C70314 80241FE4 3C013FF0 */ lui $at, 0x3ff0 +/* C70318 80241FE8 44811800 */ mtc1 $at, $f3 +/* C7031C 80241FEC 44801000 */ mtc1 $zero, $f2 +/* C70320 80241FF0 46000021 */ cvt.d.s $f0, $f0 +/* C70324 80241FF4 08090821 */ j .L80242084 +/* C70328 80241FF8 46220000 */ add.d $f0, $f0, $f2 +.L80241FFC: +/* C7032C 80241FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C70330 80242000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C70334 80242004 3C014018 */ lui $at, 0x4018 +/* C70338 80242008 44811800 */ mtc1 $at, $f3 +/* C7033C 8024200C 44801000 */ mtc1 $zero, $f2 +/* C70340 80242010 C440002C */ lwc1 $f0, 0x2c($v0) +/* C70344 80242014 C604003C */ lwc1 $f4, 0x3c($s0) +/* C70348 80242018 46000021 */ cvt.d.s $f0, $f0 +/* C7034C 8024201C 46220000 */ add.d $f0, $f0, $f2 +/* C70350 80242020 46002121 */ cvt.d.s $f4, $f4 +/* C70354 80242024 46202001 */ sub.d $f0, $f4, $f0 +/* C70358 80242028 462001A0 */ cvt.s.d $f6, $f0 +/* C7035C 8024202C 44800000 */ mtc1 $zero, $f0 +/* C70360 80242030 44800800 */ mtc1 $zero, $f1 +/* C70364 80242034 460030A1 */ cvt.d.s $f2, $f6 +/* C70368 80242038 4620103C */ c.lt.d $f2, $f0 +/* C7036C 8024203C 00000000 */ nop +/* C70370 80242040 45010009 */ bc1t .L80242068 +/* C70374 80242044 00000000 */ nop +/* C70378 80242048 3C014010 */ lui $at, 0x4010 +/* C7037C 8024204C 44810800 */ mtc1 $at, $f1 +/* C70380 80242050 44800000 */ mtc1 $zero, $f0 +/* C70384 80242054 00000000 */ nop +/* C70388 80242058 4622003C */ c.lt.d $f0, $f2 +/* C7038C 8024205C 00000000 */ nop +/* C70390 80242060 4500000A */ bc1f .L8024208C +/* C70394 80242064 00000000 */ nop +.L80242068: +/* C70398 80242068 3C018024 */ lui $at, 0x8024 +/* C7039C 8024206C D42230E8 */ ldc1 $f2, 0x30e8($at) +/* C703A0 80242070 46003187 */ neg.s $f6, $f6 +/* C703A4 80242074 46003021 */ cvt.d.s $f0, $f6 +/* C703A8 80242078 46220002 */ mul.d $f0, $f0, $f2 +/* C703AC 8024207C 00000000 */ nop +/* C703B0 80242080 46202000 */ add.d $f0, $f4, $f0 +.L80242084: +/* C703B4 80242084 46200020 */ cvt.s.d $f0, $f0 +/* C703B8 80242088 E600003C */ swc1 $f0, 0x3c($s0) +.L8024208C: +/* C703BC 8024208C 8602008E */ lh $v0, 0x8e($s0) +/* C703C0 80242090 9603008E */ lhu $v1, 0x8e($s0) +/* C703C4 80242094 18400003 */ blez $v0, .L802420A4 +/* C703C8 80242098 2462FFFF */ addiu $v0, $v1, -1 +/* C703CC 8024209C 0809082B */ j .L802420AC +/* C703D0 802420A0 A602008E */ sh $v0, 0x8e($s0) +.L802420A4: +/* C703D4 802420A4 2402000C */ addiu $v0, $zero, 0xc +/* C703D8 802420A8 AE620070 */ sw $v0, 0x70($s3) +.L802420AC: +/* C703DC 802420AC 8FBF0050 */ lw $ra, 0x50($sp) +/* C703E0 802420B0 8FB3004C */ lw $s3, 0x4c($sp) +/* C703E4 802420B4 8FB20048 */ lw $s2, 0x48($sp) +/* C703E8 802420B8 8FB10044 */ lw $s1, 0x44($sp) +/* C703EC 802420BC 8FB00040 */ lw $s0, 0x40($sp) +/* C703F0 802420C0 03E00008 */ jr $ra +/* C703F4 802420C4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_802420C8_C6E330.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_802420C8_C6E330.s new file mode 100644 index 0000000000..f3c834bb19 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_802420C8_C6E330.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420C8_C703F8 +/* C703F8 802420C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C703FC 802420CC AFB10014 */ sw $s1, 0x14($sp) +/* C70400 802420D0 0080882D */ daddu $s1, $a0, $zero +/* C70404 802420D4 AFBF0018 */ sw $ra, 0x18($sp) +/* C70408 802420D8 AFB00010 */ sw $s0, 0x10($sp) +/* C7040C 802420DC 8E300148 */ lw $s0, 0x148($s1) +/* C70410 802420E0 0C00EABB */ jal get_npc_unsafe +/* C70414 802420E4 86040008 */ lh $a0, 8($s0) +/* C70418 802420E8 0040182D */ daddu $v1, $v0, $zero +/* C7041C 802420EC 9462008E */ lhu $v0, 0x8e($v1) +/* C70420 802420F0 2442FFFF */ addiu $v0, $v0, -1 +/* C70424 802420F4 A462008E */ sh $v0, 0x8e($v1) +/* C70428 802420F8 00021400 */ sll $v0, $v0, 0x10 +/* C7042C 802420FC 1C400004 */ bgtz $v0, .L80242110 +/* C70430 80242100 00000000 */ nop +/* C70434 80242104 AE000074 */ sw $zero, 0x74($s0) +/* C70438 80242108 A460008E */ sh $zero, 0x8e($v1) +/* C7043C 8024210C AE200070 */ sw $zero, 0x70($s1) +.L80242110: +/* C70440 80242110 8FBF0018 */ lw $ra, 0x18($sp) +/* C70444 80242114 8FB10014 */ lw $s1, 0x14($sp) +/* C70448 80242118 8FB00010 */ lw $s0, 0x10($sp) +/* C7044C 8024211C 03E00008 */ jr $ra +/* C70450 80242120 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_07/func_80242124.s b/asm/nonmatchings/world/area_kzn/kzn_07/func_80242124.s new file mode 100644 index 0000000000..d3ee67b5c2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_07/func_80242124.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242124 +/* C70454 80242124 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C70458 80242128 AFB40040 */ sw $s4, 0x40($sp) +/* C7045C 8024212C 0080A02D */ daddu $s4, $a0, $zero +/* C70460 80242130 AFBF0048 */ sw $ra, 0x48($sp) +/* C70464 80242134 AFB50044 */ sw $s5, 0x44($sp) +/* C70468 80242138 AFB3003C */ sw $s3, 0x3c($sp) +/* C7046C 8024213C AFB20038 */ sw $s2, 0x38($sp) +/* C70470 80242140 AFB10034 */ sw $s1, 0x34($sp) +/* C70474 80242144 AFB00030 */ sw $s0, 0x30($sp) +/* C70478 80242148 8E920148 */ lw $s2, 0x148($s4) +/* C7047C 8024214C 86440008 */ lh $a0, 8($s2) +/* C70480 80242150 8E90000C */ lw $s0, 0xc($s4) +/* C70484 80242154 0C00EABB */ jal get_npc_unsafe +/* C70488 80242158 00A0882D */ daddu $s1, $a1, $zero +/* C7048C 8024215C 0280202D */ daddu $a0, $s4, $zero +/* C70490 80242160 8E050000 */ lw $a1, ($s0) +/* C70494 80242164 0C0B1EAF */ jal get_variable +/* C70498 80242168 0040A82D */ daddu $s5, $v0, $zero +/* C7049C 8024216C AFA00010 */ sw $zero, 0x10($sp) +/* C704A0 80242170 8E4300D0 */ lw $v1, 0xd0($s2) +/* C704A4 80242174 8C630030 */ lw $v1, 0x30($v1) +/* C704A8 80242178 AFA30014 */ sw $v1, 0x14($sp) +/* C704AC 8024217C 8E4300D0 */ lw $v1, 0xd0($s2) +/* C704B0 80242180 8C63001C */ lw $v1, 0x1c($v1) +/* C704B4 80242184 AFA30018 */ sw $v1, 0x18($sp) +/* C704B8 80242188 8E4300D0 */ lw $v1, 0xd0($s2) +/* C704BC 8024218C 8C630024 */ lw $v1, 0x24($v1) +/* C704C0 80242190 AFA3001C */ sw $v1, 0x1c($sp) +/* C704C4 80242194 8E4300D0 */ lw $v1, 0xd0($s2) +/* C704C8 80242198 8C630028 */ lw $v1, 0x28($v1) +/* C704CC 8024219C 27B30010 */ addiu $s3, $sp, 0x10 +/* C704D0 802421A0 AFA30020 */ sw $v1, 0x20($sp) +/* C704D4 802421A4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C704D8 802421A8 3C0142F0 */ lui $at, 0x42f0 +/* C704DC 802421AC 44810000 */ mtc1 $at, $f0 +/* C704E0 802421B0 8C63002C */ lw $v1, 0x2c($v1) +/* C704E4 802421B4 0040802D */ daddu $s0, $v0, $zero +/* C704E8 802421B8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C704EC 802421BC A7A0002C */ sh $zero, 0x2c($sp) +/* C704F0 802421C0 12200007 */ beqz $s1, .L802421E0 +/* C704F4 802421C4 AFA30024 */ sw $v1, 0x24($sp) +/* C704F8 802421C8 02A0202D */ daddu $a0, $s5, $zero +/* C704FC 802421CC 0240282D */ daddu $a1, $s2, $zero +/* C70500 802421D0 0280302D */ daddu $a2, $s4, $zero +/* C70504 802421D4 0C090682 */ jal func_80241A08 +/* C70508 802421D8 0200382D */ daddu $a3, $s0, $zero +/* C7050C 802421DC AE800070 */ sw $zero, 0x70($s4) +.L802421E0: +/* C70510 802421E0 2402FFFE */ addiu $v0, $zero, -2 +/* C70514 802421E4 A2A200AB */ sb $v0, 0xab($s5) +/* C70518 802421E8 8E4300B0 */ lw $v1, 0xb0($s2) +/* C7051C 802421EC 30620004 */ andi $v0, $v1, 4 +/* C70520 802421F0 10400007 */ beqz $v0, .L80242210 +/* C70524 802421F4 00000000 */ nop +/* C70528 802421F8 824200B4 */ lb $v0, 0xb4($s2) +/* C7052C 802421FC 1440003A */ bnez $v0, .L802422E8 +/* C70530 80242200 0000102D */ daddu $v0, $zero, $zero +/* C70534 80242204 2402FFFB */ addiu $v0, $zero, -5 +/* C70538 80242208 00621024 */ and $v0, $v1, $v0 +/* C7053C 8024220C AE4200B0 */ sw $v0, 0xb0($s2) +.L80242210: +/* C70540 80242210 8E830070 */ lw $v1, 0x70($s4) +/* C70544 80242214 2C620015 */ sltiu $v0, $v1, 0x15 +/* C70548 80242218 10400032 */ beqz $v0, .L802422E4 +/* C7054C 8024221C 00031080 */ sll $v0, $v1, 2 +/* C70550 80242220 3C018024 */ lui $at, 0x8024 +/* C70554 80242224 00220821 */ addu $at, $at, $v0 +/* C70558 80242228 8C2230F0 */ lw $v0, 0x30f0($at) +/* C7055C 8024222C 00400008 */ jr $v0 +/* C70560 80242230 00000000 */ nop +/* C70564 80242234 0280202D */ daddu $a0, $s4, $zero +/* C70568 80242238 0200282D */ daddu $a1, $s0, $zero +/* C7056C 8024223C 0C090208 */ jal func_80240820 +/* C70570 80242240 0260302D */ daddu $a2, $s3, $zero +/* C70574 80242244 0280202D */ daddu $a0, $s4, $zero +/* C70578 80242248 0200282D */ daddu $a1, $s0, $zero +/* C7057C 8024224C 0C090274 */ jal func_802409D0 +/* C70580 80242250 0260302D */ daddu $a2, $s3, $zero +/* C70584 80242254 080908BA */ j .L802422E8 +/* C70588 80242258 0000102D */ daddu $v0, $zero, $zero +/* C7058C 8024225C 0280202D */ daddu $a0, $s4, $zero +/* C70590 80242260 0200282D */ daddu $a1, $s0, $zero +/* C70594 80242264 0C0903FE */ jal func_80240FF8 +/* C70598 80242268 0260302D */ daddu $a2, $s3, $zero +/* C7059C 8024226C 0280202D */ daddu $a0, $s4, $zero +/* C705A0 80242270 0200282D */ daddu $a1, $s0, $zero +/* C705A4 80242274 0C09042E */ jal func_802410B8 +/* C705A8 80242278 0260302D */ daddu $a2, $s3, $zero +/* C705AC 8024227C 080908BA */ j .L802422E8 +/* C705B0 80242280 0000102D */ daddu $v0, $zero, $zero +/* C705B4 80242284 0280202D */ daddu $a0, $s4, $zero +/* C705B8 80242288 0200282D */ daddu $a1, $s0, $zero +/* C705BC 8024228C 0C0904FF */ jal func_802413FC +/* C705C0 80242290 0260302D */ daddu $a2, $s3, $zero +/* C705C4 80242294 0280202D */ daddu $a0, $s4, $zero +/* C705C8 80242298 0200282D */ daddu $a1, $s0, $zero +/* C705CC 8024229C 0C09051D */ jal func_80241474 +/* C705D0 802422A0 0260302D */ daddu $a2, $s3, $zero +/* C705D4 802422A4 080908BA */ j .L802422E8 +/* C705D8 802422A8 0000102D */ daddu $v0, $zero, $zero +/* C705DC 802422AC 0280202D */ daddu $a0, $s4, $zero +/* C705E0 802422B0 0200282D */ daddu $a1, $s0, $zero +/* C705E4 802422B4 0C090746 */ jal func_80241D18 +/* C705E8 802422B8 0260302D */ daddu $a2, $s3, $zero +/* C705EC 802422BC 0280202D */ daddu $a0, $s4, $zero +/* C705F0 802422C0 0200282D */ daddu $a1, $s0, $zero +/* C705F4 802422C4 0C090792 */ jal func_80241E48 +/* C705F8 802422C8 0260302D */ daddu $a2, $s3, $zero +/* C705FC 802422CC 080908BA */ j .L802422E8 +/* C70600 802422D0 0000102D */ daddu $v0, $zero, $zero +/* C70604 802422D4 0280202D */ daddu $a0, $s4, $zero +/* C70608 802422D8 0200282D */ daddu $a1, $s0, $zero +/* C7060C 802422DC 0C090832 */ jal func_802420C8 +/* C70610 802422E0 0260302D */ daddu $a2, $s3, $zero +.L802422E4: +/* C70614 802422E4 0000102D */ daddu $v0, $zero, $zero +.L802422E8: +/* C70618 802422E8 8FBF0048 */ lw $ra, 0x48($sp) +/* C7061C 802422EC 8FB50044 */ lw $s5, 0x44($sp) +/* C70620 802422F0 8FB40040 */ lw $s4, 0x40($sp) +/* C70624 802422F4 8FB3003C */ lw $s3, 0x3c($sp) +/* C70628 802422F8 8FB20038 */ lw $s2, 0x38($sp) +/* C7062C 802422FC 8FB10034 */ lw $s1, 0x34($sp) +/* C70630 80242300 8FB00030 */ lw $s0, 0x30($sp) +/* C70634 80242304 03E00008 */ jr $ra +/* C70638 80242308 27BD0050 */ addiu $sp, $sp, 0x50 +/* C7063C 8024230C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240000_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240000_C71480.s new file mode 100644 index 0000000000..3b60dfa74a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240000_C71480.s @@ -0,0 +1,230 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C71480 +/* C71480 80240000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C71484 80240004 AFB1002C */ sw $s1, 0x2c($sp) +/* C71488 80240008 0080882D */ daddu $s1, $a0, $zero +/* C7148C 8024000C AFB20030 */ sw $s2, 0x30($sp) +/* C71490 80240010 00A0902D */ daddu $s2, $a1, $zero +/* C71494 80240014 AFBF003C */ sw $ra, 0x3c($sp) +/* C71498 80240018 AFB40038 */ sw $s4, 0x38($sp) +/* C7149C 8024001C AFB30034 */ sw $s3, 0x34($sp) +/* C714A0 80240020 AFB00028 */ sw $s0, 0x28($sp) +/* C714A4 80240024 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C714A8 80240028 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C714AC 8024002C 8E30000C */ lw $s0, 0xc($s1) +/* C714B0 80240030 8E050000 */ lw $a1, ($s0) +/* C714B4 80240034 0C0B1EAF */ jal get_variable +/* C714B8 80240038 26100004 */ addiu $s0, $s0, 4 +/* C714BC 8024003C 0220202D */ daddu $a0, $s1, $zero +/* C714C0 80240040 8E050000 */ lw $a1, ($s0) +/* C714C4 80240044 0C0B1EAF */ jal get_variable +/* C714C8 80240048 0040A02D */ daddu $s4, $v0, $zero +/* C714CC 8024004C 12400022 */ beqz $s2, .L802400D8 +/* C714D0 80240050 0040982D */ daddu $s3, $v0, $zero +/* C714D4 80240054 12600013 */ beqz $s3, .L802400A4 +/* C714D8 80240058 26710002 */ addiu $s1, $s3, 2 +/* C714DC 8024005C 96620000 */ lhu $v0, ($s3) +/* C714E0 80240060 1040001D */ beqz $v0, .L802400D8 +/* C714E4 80240064 0000802D */ daddu $s0, $zero, $zero +.L80240068: +/* C714E8 80240068 96240000 */ lhu $a0, ($s1) +/* C714EC 8024006C 0C046C04 */ jal get_model_list_index_from_tree_index +/* C714F0 80240070 26100001 */ addiu $s0, $s0, 1 +/* C714F4 80240074 0C046B4C */ jal get_model_from_list_index +/* C714F8 80240078 0040202D */ daddu $a0, $v0, $zero +/* C714FC 8024007C 0040202D */ daddu $a0, $v0, $zero +/* C71500 80240080 2405FFFF */ addiu $a1, $zero, -1 +/* C71504 80240084 0C046F1F */ jal func_8011BC7C +/* C71508 80240088 24060002 */ addiu $a2, $zero, 2 +/* C7150C 8024008C 96620000 */ lhu $v0, ($s3) +/* C71510 80240090 0202102A */ slt $v0, $s0, $v0 +/* C71514 80240094 1440FFF4 */ bnez $v0, .L80240068 +/* C71518 80240098 26310002 */ addiu $s1, $s1, 2 +/* C7151C 8024009C 08090036 */ j .L802400D8 +/* C71520 802400A0 00000000 */ nop +.L802400A4: +/* C71524 802400A4 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C71528 802400A8 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C7152C 802400AC 0000802D */ daddu $s0, $zero, $zero +.L802400B0: +/* C71530 802400B0 8E240000 */ lw $a0, ($s1) +/* C71534 802400B4 50800005 */ beql $a0, $zero, .L802400CC +/* C71538 802400B8 26100001 */ addiu $s0, $s0, 1 +/* C7153C 802400BC 2405FFFF */ addiu $a1, $zero, -1 +/* C71540 802400C0 0C046F1F */ jal func_8011BC7C +/* C71544 802400C4 24060002 */ addiu $a2, $zero, 2 +/* C71548 802400C8 26100001 */ addiu $s0, $s0, 1 +.L802400CC: +/* C7154C 802400CC 2A020100 */ slti $v0, $s0, 0x100 +/* C71550 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* C71554 802400D4 26310004 */ addiu $s1, $s1, 4 +.L802400D8: +/* C71558 802400D8 3C028024 */ lui $v0, 0x8024 +/* C7155C 802400DC 24424170 */ addiu $v0, $v0, 0x4170 +/* C71560 802400E0 C4420000 */ lwc1 $f2, ($v0) +/* C71564 802400E4 3C013F80 */ lui $at, 0x3f80 +/* C71568 802400E8 44810000 */ mtc1 $at, $f0 +/* C7156C 802400EC 00000000 */ nop +/* C71570 802400F0 46001000 */ add.s $f0, $f2, $f0 +/* C71574 802400F4 3C0143B4 */ lui $at, 0x43b4 +/* C71578 802400F8 44811000 */ mtc1 $at, $f2 +/* C7157C 802400FC 00000000 */ nop +/* C71580 80240100 4600103C */ c.lt.s $f2, $f0 +/* C71584 80240104 00000000 */ nop +/* C71588 80240108 45000003 */ bc1f .L80240118 +/* C7158C 8024010C E4400000 */ swc1 $f0, ($v0) +/* C71590 80240110 46020001 */ sub.s $f0, $f0, $f2 +/* C71594 80240114 E4400000 */ swc1 $f0, ($v0) +.L80240118: +/* C71598 80240118 24020002 */ addiu $v0, $zero, 2 +/* C7159C 8024011C 12820037 */ beq $s4, $v0, .L802401FC +/* C715A0 80240120 2A820003 */ slti $v0, $s4, 3 +/* C715A4 80240124 10400005 */ beqz $v0, .L8024013C +/* C715A8 80240128 24020001 */ addiu $v0, $zero, 1 +/* C715AC 8024012C 12820008 */ beq $s4, $v0, .L80240150 +/* C715B0 80240130 0000202D */ daddu $a0, $zero, $zero +/* C715B4 80240134 08090088 */ j .L80240220 +/* C715B8 80240138 00000000 */ nop +.L8024013C: +/* C715BC 8024013C 2402000A */ addiu $v0, $zero, 0xa +/* C715C0 80240140 12820077 */ beq $s4, $v0, .L80240320 +/* C715C4 80240144 0000102D */ daddu $v0, $zero, $zero +/* C715C8 80240148 08090088 */ j .L80240220 +/* C715CC 8024014C 00000000 */ nop +.L80240150: +/* C715D0 80240150 3C05FD05 */ lui $a1, 0xfd05 +/* C715D4 80240154 0C0B210B */ jal get_float_variable +/* C715D8 80240158 34A50F80 */ ori $a1, $a1, 0xf80 +/* C715DC 8024015C 44802000 */ mtc1 $zero, $f4 +/* C715E0 80240160 00000000 */ nop +/* C715E4 80240164 4604003E */ c.le.s $f0, $f4 +/* C715E8 80240168 00000000 */ nop +/* C715EC 8024016C 4501006C */ bc1t .L80240320 +/* C715F0 80240170 24020002 */ addiu $v0, $zero, 2 +/* C715F4 80240174 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C715F8 80240178 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C715FC 8024017C C4420028 */ lwc1 $f2, 0x28($v0) +/* C71600 80240180 3C01C296 */ lui $at, 0xc296 +/* C71604 80240184 44810000 */ mtc1 $at, $f0 +/* C71608 80240188 00000000 */ nop +/* C7160C 8024018C 46020081 */ sub.s $f2, $f0, $f2 +/* C71610 80240190 4604103C */ c.lt.s $f2, $f4 +/* C71614 80240194 00000000 */ nop +/* C71618 80240198 45030001 */ bc1tl .L802401A0 +/* C7161C 8024019C 46001087 */ neg.s $f2, $f2 +.L802401A0: +/* C71620 802401A0 3C014400 */ lui $at, 0x4400 +/* C71624 802401A4 44810000 */ mtc1 $at, $f0 +/* C71628 802401A8 00000000 */ nop +/* C7162C 802401AC 46020581 */ sub.s $f22, $f0, $f2 +/* C71630 802401B0 4604B03C */ c.lt.s $f22, $f4 +/* C71634 802401B4 00000000 */ nop +/* C71638 802401B8 45030001 */ bc1tl .L802401C0 +/* C7163C 802401BC 46002586 */ mov.s $f22, $f4 +.L802401C0: +/* C71640 802401C0 0000202D */ daddu $a0, $zero, $zero +/* C71644 802401C4 3C05FD05 */ lui $a1, 0xfd05 +/* C71648 802401C8 0C0B210B */ jal get_float_variable +/* C7164C 802401CC 34A50F80 */ ori $a1, $a1, 0xf80 +/* C71650 802401D0 3C018024 */ lui $at, 0x8024 +/* C71654 802401D4 D42255D0 */ ldc1 $f2, 0x55d0($at) +/* C71658 802401D8 46000021 */ cvt.d.s $f0, $f0 +/* C7165C 802401DC 46220002 */ mul.d $f0, $f0, $f2 +/* C71660 802401E0 00000000 */ nop +/* C71664 802401E4 4600B0A1 */ cvt.d.s $f2, $f22 +/* C71668 802401E8 46201082 */ mul.d $f2, $f2, $f0 +/* C7166C 802401EC 00000000 */ nop +/* C71670 802401F0 241103CA */ addiu $s1, $zero, 0x3ca +/* C71674 802401F4 0809008B */ j .L8024022C +/* C71678 802401F8 462015A0 */ cvt.s.d $f22, $f2 +.L802401FC: +/* C7167C 802401FC 3C0142C8 */ lui $at, 0x42c8 +/* C71680 80240200 4481B000 */ mtc1 $at, $f22 +/* C71684 80240204 0000202D */ daddu $a0, $zero, $zero +/* C71688 80240208 3C05FD05 */ lui $a1, 0xfd05 +/* C7168C 8024020C 0C0B1EAF */ jal get_variable +/* C71690 80240210 34A50F80 */ ori $a1, $a1, 0xf80 +/* C71694 80240214 240303E3 */ addiu $v1, $zero, 0x3e3 +/* C71698 80240218 0809008B */ j .L8024022C +/* C7169C 8024021C 00628823 */ subu $s1, $v1, $v0 +.L80240220: +/* C716A0 80240220 3C0142C8 */ lui $at, 0x42c8 +/* C716A4 80240224 4481B000 */ mtc1 $at, $f22 +/* C716A8 80240228 241103CA */ addiu $s1, $zero, 0x3ca +.L8024022C: +/* C716AC 8024022C 3C108024 */ lui $s0, 0x8024 +/* C716B0 80240230 26104170 */ addiu $s0, $s0, 0x4170 +/* C716B4 80240234 C6000000 */ lwc1 $f0, ($s0) +/* C716B8 80240238 3C014040 */ lui $at, 0x4040 +/* C716BC 8024023C 44816000 */ mtc1 $at, $f12 +/* C716C0 80240240 00000000 */ nop +/* C716C4 80240244 460C0302 */ mul.s $f12, $f0, $f12 +/* C716C8 80240248 0C00A8BB */ jal sin_deg +/* C716CC 8024024C 00000000 */ nop +/* C716D0 80240250 C6020000 */ lwc1 $f2, ($s0) +/* C716D4 80240254 3C014100 */ lui $at, 0x4100 +/* C716D8 80240258 44816000 */ mtc1 $at, $f12 +/* C716DC 8024025C 00000000 */ nop +/* C716E0 80240260 460C1302 */ mul.s $f12, $f2, $f12 +/* C716E4 80240264 00000000 */ nop +/* C716E8 80240268 0C00A8BB */ jal sin_deg +/* C716EC 8024026C 46000506 */ mov.s $f20, $f0 +/* C716F0 80240270 3C013FE0 */ lui $at, 0x3fe0 +/* C716F4 80240274 44811800 */ mtc1 $at, $f3 +/* C716F8 80240278 44801000 */ mtc1 $zero, $f2 +/* C716FC 8024027C 4600A521 */ cvt.d.s $f20, $f20 +/* C71700 80240280 4622A502 */ mul.d $f20, $f20, $f2 +/* C71704 80240284 00000000 */ nop +/* C71708 80240288 46000021 */ cvt.d.s $f0, $f0 +/* C7170C 8024028C 46220002 */ mul.d $f0, $f0, $f2 +/* C71710 80240290 00000000 */ nop +/* C71714 80240294 4620A500 */ add.d $f20, $f20, $f0 +/* C71718 80240298 4600B021 */ cvt.d.s $f0, $f22 +/* C7171C 8024029C 46340502 */ mul.d $f20, $f0, $f20 +/* C71720 802402A0 00000000 */ nop +/* C71724 802402A4 46340000 */ add.d $f0, $f0, $f20 +/* C71728 802402A8 3C0141E0 */ lui $at, 0x41e0 +/* C7172C 802402AC 44811800 */ mtc1 $at, $f3 +/* C71730 802402B0 44801000 */ mtc1 $zero, $f2 +/* C71734 802402B4 00000000 */ nop +/* C71738 802402B8 4620103E */ c.le.d $f2, $f0 +/* C7173C 802402BC 00000000 */ nop +/* C71740 802402C0 45030005 */ bc1tl .L802402D8 +/* C71744 802402C4 46220001 */ sub.d $f0, $f0, $f2 +/* C71748 802402C8 4620018D */ trunc.w.d $f6, $f0 +/* C7174C 802402CC 44073000 */ mfc1 $a3, $f6 +/* C71750 802402D0 080900BC */ j .L802402F0 +/* C71754 802402D4 2404003C */ addiu $a0, $zero, 0x3c +.L802402D8: +/* C71758 802402D8 3C028000 */ lui $v0, 0x8000 +/* C7175C 802402DC 4620018D */ trunc.w.d $f6, $f0 +/* C71760 802402E0 44073000 */ mfc1 $a3, $f6 +/* C71764 802402E4 00000000 */ nop +/* C71768 802402E8 00E23825 */ or $a3, $a3, $v0 +/* C7176C 802402EC 2404003C */ addiu $a0, $zero, 0x3c +.L802402F0: +/* C71770 802402F0 24050032 */ addiu $a1, $zero, 0x32 +/* C71774 802402F4 2406001E */ addiu $a2, $zero, 0x1e +/* C71778 802402F8 24020014 */ addiu $v0, $zero, 0x14 +/* C7177C 802402FC AFA20010 */ sw $v0, 0x10($sp) +/* C71780 80240300 AFA20014 */ sw $v0, 0x14($sp) +/* C71784 80240304 AFA20018 */ sw $v0, 0x18($sp) +/* C71788 80240308 240203E8 */ addiu $v0, $zero, 0x3e8 +/* C7178C 8024030C 30E700FF */ andi $a3, $a3, 0xff +/* C71790 80240310 AFB1001C */ sw $s1, 0x1c($sp) +/* C71794 80240314 0C046FAD */ jal func_8011BEB4 +/* C71798 80240318 AFA20020 */ sw $v0, 0x20($sp) +/* C7179C 8024031C 0000102D */ daddu $v0, $zero, $zero +.L80240320: +/* C717A0 80240320 8FBF003C */ lw $ra, 0x3c($sp) +/* C717A4 80240324 8FB40038 */ lw $s4, 0x38($sp) +/* C717A8 80240328 8FB30034 */ lw $s3, 0x34($sp) +/* C717AC 8024032C 8FB20030 */ lw $s2, 0x30($sp) +/* C717B0 80240330 8FB1002C */ lw $s1, 0x2c($sp) +/* C717B4 80240334 8FB00028 */ lw $s0, 0x28($sp) +/* C717B8 80240338 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C717BC 8024033C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C717C0 80240340 03E00008 */ jr $ra +/* C717C4 80240344 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240348_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240348_C71480.s new file mode 100644 index 0000000000..e6968986eb --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240348_C71480.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240348_C717C8 +/* C717C8 80240348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C717CC 8024034C AFBF001C */ sw $ra, 0x1c($sp) +/* C717D0 80240350 AFB20018 */ sw $s2, 0x18($sp) +/* C717D4 80240354 AFB10014 */ sw $s1, 0x14($sp) +/* C717D8 80240358 AFB00010 */ sw $s0, 0x10($sp) +/* C717DC 8024035C 8C82000C */ lw $v0, 0xc($a0) +/* C717E0 80240360 0C0B1EAF */ jal get_variable +/* C717E4 80240364 8C450000 */ lw $a1, ($v0) +/* C717E8 80240368 0040902D */ daddu $s2, $v0, $zero +/* C717EC 8024036C 12400013 */ beqz $s2, .L802403BC +/* C717F0 80240370 26510002 */ addiu $s1, $s2, 2 +/* C717F4 80240374 96420000 */ lhu $v0, ($s2) +/* C717F8 80240378 1040001D */ beqz $v0, .L802403F0 +/* C717FC 8024037C 0000802D */ daddu $s0, $zero, $zero +.L80240380: +/* C71800 80240380 96240000 */ lhu $a0, ($s1) +/* C71804 80240384 0C046C04 */ jal get_model_list_index_from_tree_index +/* C71808 80240388 26100001 */ addiu $s0, $s0, 1 +/* C7180C 8024038C 0C046B4C */ jal get_model_from_list_index +/* C71810 80240390 0040202D */ daddu $a0, $v0, $zero +/* C71814 80240394 0040202D */ daddu $a0, $v0, $zero +/* C71818 80240398 2405FFFF */ addiu $a1, $zero, -1 +/* C7181C 8024039C 0C046F1F */ jal func_8011BC7C +/* C71820 802403A0 0000302D */ daddu $a2, $zero, $zero +/* C71824 802403A4 96420000 */ lhu $v0, ($s2) +/* C71828 802403A8 0202102A */ slt $v0, $s0, $v0 +/* C7182C 802403AC 1440FFF4 */ bnez $v0, .L80240380 +/* C71830 802403B0 26310002 */ addiu $s1, $s1, 2 +/* C71834 802403B4 080900FC */ j .L802403F0 +/* C71838 802403B8 00000000 */ nop +.L802403BC: +/* C7183C 802403BC 3C118015 */ lui $s1, %hi(gCurrentModelListPtr) +/* C71840 802403C0 8E3112CC */ lw $s1, %lo(gCurrentModelListPtr)($s1) +/* C71844 802403C4 0000802D */ daddu $s0, $zero, $zero +.L802403C8: +/* C71848 802403C8 8E240000 */ lw $a0, ($s1) +/* C7184C 802403CC 50800005 */ beql $a0, $zero, .L802403E4 +/* C71850 802403D0 26100001 */ addiu $s0, $s0, 1 +/* C71854 802403D4 2405FFFF */ addiu $a1, $zero, -1 +/* C71858 802403D8 0C046F1F */ jal func_8011BC7C +/* C7185C 802403DC 0000302D */ daddu $a2, $zero, $zero +/* C71860 802403E0 26100001 */ addiu $s0, $s0, 1 +.L802403E4: +/* C71864 802403E4 2A020100 */ slti $v0, $s0, 0x100 +/* C71868 802403E8 1440FFF7 */ bnez $v0, .L802403C8 +/* C7186C 802403EC 26310004 */ addiu $s1, $s1, 4 +.L802403F0: +/* C71870 802403F0 8FBF001C */ lw $ra, 0x1c($sp) +/* C71874 802403F4 8FB20018 */ lw $s2, 0x18($sp) +/* C71878 802403F8 8FB10014 */ lw $s1, 0x14($sp) +/* C7187C 802403FC 8FB00010 */ lw $s0, 0x10($sp) +/* C71880 80240400 24020002 */ addiu $v0, $zero, 2 +/* C71884 80240404 03E00008 */ jr $ra +/* C71888 80240408 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_8024040C_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024040C_C71480.s new file mode 100644 index 0000000000..522db791d7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024040C_C71480.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024040C_C7188C +/* C7188C 8024040C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C71890 80240410 AFB00010 */ sw $s0, 0x10($sp) +/* C71894 80240414 0080802D */ daddu $s0, $a0, $zero +/* C71898 80240418 AFBF0014 */ sw $ra, 0x14($sp) +/* C7189C 8024041C 8E0300A8 */ lw $v1, 0xa8($s0) +/* C718A0 80240420 8E020088 */ lw $v0, 0x88($s0) +/* C718A4 80240424 00621821 */ addu $v1, $v1, $v0 +/* C718A8 80240428 04610004 */ bgez $v1, .L8024043C +/* C718AC 8024042C AE0300A8 */ sw $v1, 0xa8($s0) +/* C718B0 80240430 3C020002 */ lui $v0, 2 +/* C718B4 80240434 08090113 */ j .L8024044C +/* C718B8 80240438 00621021 */ addu $v0, $v1, $v0 +.L8024043C: +/* C718BC 8024043C 3C040002 */ lui $a0, 2 +/* C718C0 80240440 0083102A */ slt $v0, $a0, $v1 +/* C718C4 80240444 10400002 */ beqz $v0, .L80240450 +/* C718C8 80240448 00641023 */ subu $v0, $v1, $a0 +.L8024044C: +/* C718CC 8024044C AE0200A8 */ sw $v0, 0xa8($s0) +.L80240450: +/* C718D0 80240450 8E0300AC */ lw $v1, 0xac($s0) +/* C718D4 80240454 8E02008C */ lw $v0, 0x8c($s0) +/* C718D8 80240458 00621821 */ addu $v1, $v1, $v0 +/* C718DC 8024045C 04610004 */ bgez $v1, .L80240470 +/* C718E0 80240460 AE0300AC */ sw $v1, 0xac($s0) +/* C718E4 80240464 3C020002 */ lui $v0, 2 +/* C718E8 80240468 08090120 */ j .L80240480 +/* C718EC 8024046C 00621021 */ addu $v0, $v1, $v0 +.L80240470: +/* C718F0 80240470 3C040002 */ lui $a0, 2 +/* C718F4 80240474 0083102A */ slt $v0, $a0, $v1 +/* C718F8 80240478 10400002 */ beqz $v0, .L80240484 +/* C718FC 8024047C 00641023 */ subu $v0, $v1, $a0 +.L80240480: +/* C71900 80240480 AE0200AC */ sw $v0, 0xac($s0) +.L80240484: +/* C71904 80240484 8E0300B0 */ lw $v1, 0xb0($s0) +/* C71908 80240488 8E020090 */ lw $v0, 0x90($s0) +/* C7190C 8024048C 00621821 */ addu $v1, $v1, $v0 +/* C71910 80240490 04610004 */ bgez $v1, .L802404A4 +/* C71914 80240494 AE0300B0 */ sw $v1, 0xb0($s0) +/* C71918 80240498 3C020002 */ lui $v0, 2 +/* C7191C 8024049C 0809012D */ j .L802404B4 +/* C71920 802404A0 00621021 */ addu $v0, $v1, $v0 +.L802404A4: +/* C71924 802404A4 3C040002 */ lui $a0, 2 +/* C71928 802404A8 0083102A */ slt $v0, $a0, $v1 +/* C7192C 802404AC 10400002 */ beqz $v0, .L802404B8 +/* C71930 802404B0 00641023 */ subu $v0, $v1, $a0 +.L802404B4: +/* C71934 802404B4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404B8: +/* C71938 802404B8 8E0300B4 */ lw $v1, 0xb4($s0) +/* C7193C 802404BC 8E020094 */ lw $v0, 0x94($s0) +/* C71940 802404C0 00621821 */ addu $v1, $v1, $v0 +/* C71944 802404C4 04610004 */ bgez $v1, .L802404D8 +/* C71948 802404C8 AE0300B4 */ sw $v1, 0xb4($s0) +/* C7194C 802404CC 3C020002 */ lui $v0, 2 +/* C71950 802404D0 0809013A */ j .L802404E8 +/* C71954 802404D4 00621021 */ addu $v0, $v1, $v0 +.L802404D8: +/* C71958 802404D8 3C040002 */ lui $a0, 2 +/* C7195C 802404DC 0083102A */ slt $v0, $a0, $v1 +/* C71960 802404E0 10400002 */ beqz $v0, .L802404EC +/* C71964 802404E4 00641023 */ subu $v0, $v1, $a0 +.L802404E8: +/* C71968 802404E8 AE0200B4 */ sw $v0, 0xb4($s0) +.L802404EC: +/* C7196C 802404EC 8E040084 */ lw $a0, 0x84($s0) +/* C71970 802404F0 0C046F07 */ jal set_main_pan_u +/* C71974 802404F4 8E0500A8 */ lw $a1, 0xa8($s0) +/* C71978 802404F8 8E040084 */ lw $a0, 0x84($s0) +/* C7197C 802404FC 0C046F0D */ jal set_main_pan_v +/* C71980 80240500 8E0500AC */ lw $a1, 0xac($s0) +/* C71984 80240504 8E040084 */ lw $a0, 0x84($s0) +/* C71988 80240508 0C046F13 */ jal set_aux_pan_u +/* C7198C 8024050C 8E0500B0 */ lw $a1, 0xb0($s0) +/* C71990 80240510 8E040084 */ lw $a0, 0x84($s0) +/* C71994 80240514 0C046F19 */ jal set_aux_pan_v +/* C71998 80240518 8E0500B4 */ lw $a1, 0xb4($s0) +/* C7199C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* C719A0 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* C719A4 80240524 0000102D */ daddu $v0, $zero, $zero +/* C719A8 80240528 03E00008 */ jr $ra +/* C719AC 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240530_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240530_C71480.s new file mode 100644 index 0000000000..d980a36e1e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240530_C71480.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_C719B0 +/* C719B0 80240530 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C719B4 80240534 AFB00010 */ sw $s0, 0x10($sp) +/* C719B8 80240538 0080802D */ daddu $s0, $a0, $zero +/* C719BC 8024053C 10A00005 */ beqz $a1, .L80240554 +/* C719C0 80240540 AFBF0014 */ sw $ra, 0x14($sp) +/* C719C4 80240544 AE000070 */ sw $zero, 0x70($s0) +/* C719C8 80240548 AE000074 */ sw $zero, 0x74($s0) +/* C719CC 8024054C AE000078 */ sw $zero, 0x78($s0) +/* C719D0 80240550 AE00007C */ sw $zero, 0x7c($s0) +.L80240554: +/* C719D4 80240554 8E020070 */ lw $v0, 0x70($s0) +/* C719D8 80240558 1440000E */ bnez $v0, .L80240594 +/* C719DC 8024055C 00000000 */ nop +/* C719E0 80240560 8E0300A8 */ lw $v1, 0xa8($s0) +/* C719E4 80240564 8E020088 */ lw $v0, 0x88($s0) +/* C719E8 80240568 00621821 */ addu $v1, $v1, $v0 +/* C719EC 8024056C 04610004 */ bgez $v1, .L80240580 +/* C719F0 80240570 AE0300A8 */ sw $v1, 0xa8($s0) +/* C719F4 80240574 3C020002 */ lui $v0, 2 +/* C719F8 80240578 08090164 */ j .L80240590 +/* C719FC 8024057C 00621021 */ addu $v0, $v1, $v0 +.L80240580: +/* C71A00 80240580 3C040002 */ lui $a0, 2 +/* C71A04 80240584 0083102A */ slt $v0, $a0, $v1 +/* C71A08 80240588 10400002 */ beqz $v0, .L80240594 +/* C71A0C 8024058C 00641023 */ subu $v0, $v1, $a0 +.L80240590: +/* C71A10 80240590 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240594: +/* C71A14 80240594 8E020074 */ lw $v0, 0x74($s0) +/* C71A18 80240598 1440000E */ bnez $v0, .L802405D4 +/* C71A1C 8024059C 00000000 */ nop +/* C71A20 802405A0 8E0300AC */ lw $v1, 0xac($s0) +/* C71A24 802405A4 8E02008C */ lw $v0, 0x8c($s0) +/* C71A28 802405A8 00621821 */ addu $v1, $v1, $v0 +/* C71A2C 802405AC 04610004 */ bgez $v1, .L802405C0 +/* C71A30 802405B0 AE0300AC */ sw $v1, 0xac($s0) +/* C71A34 802405B4 3C020002 */ lui $v0, 2 +/* C71A38 802405B8 08090174 */ j .L802405D0 +/* C71A3C 802405BC 00621021 */ addu $v0, $v1, $v0 +.L802405C0: +/* C71A40 802405C0 3C040002 */ lui $a0, 2 +/* C71A44 802405C4 0083102A */ slt $v0, $a0, $v1 +/* C71A48 802405C8 10400002 */ beqz $v0, .L802405D4 +/* C71A4C 802405CC 00641023 */ subu $v0, $v1, $a0 +.L802405D0: +/* C71A50 802405D0 AE0200AC */ sw $v0, 0xac($s0) +.L802405D4: +/* C71A54 802405D4 8E020078 */ lw $v0, 0x78($s0) +/* C71A58 802405D8 1440000E */ bnez $v0, .L80240614 +/* C71A5C 802405DC 00000000 */ nop +/* C71A60 802405E0 8E0300B0 */ lw $v1, 0xb0($s0) +/* C71A64 802405E4 8E020090 */ lw $v0, 0x90($s0) +/* C71A68 802405E8 00621821 */ addu $v1, $v1, $v0 +/* C71A6C 802405EC 04610004 */ bgez $v1, .L80240600 +/* C71A70 802405F0 AE0300B0 */ sw $v1, 0xb0($s0) +/* C71A74 802405F4 3C020002 */ lui $v0, 2 +/* C71A78 802405F8 08090184 */ j .L80240610 +/* C71A7C 802405FC 00621021 */ addu $v0, $v1, $v0 +.L80240600: +/* C71A80 80240600 3C040002 */ lui $a0, 2 +/* C71A84 80240604 0083102A */ slt $v0, $a0, $v1 +/* C71A88 80240608 10400002 */ beqz $v0, .L80240614 +/* C71A8C 8024060C 00641023 */ subu $v0, $v1, $a0 +.L80240610: +/* C71A90 80240610 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240614: +/* C71A94 80240614 8E02007C */ lw $v0, 0x7c($s0) +/* C71A98 80240618 1440000E */ bnez $v0, .L80240654 +/* C71A9C 8024061C 00000000 */ nop +/* C71AA0 80240620 8E0300B4 */ lw $v1, 0xb4($s0) +/* C71AA4 80240624 8E020094 */ lw $v0, 0x94($s0) +/* C71AA8 80240628 00621821 */ addu $v1, $v1, $v0 +/* C71AAC 8024062C 04610004 */ bgez $v1, .L80240640 +/* C71AB0 80240630 AE0300B4 */ sw $v1, 0xb4($s0) +/* C71AB4 80240634 3C020002 */ lui $v0, 2 +/* C71AB8 80240638 08090194 */ j .L80240650 +/* C71ABC 8024063C 00621021 */ addu $v0, $v1, $v0 +.L80240640: +/* C71AC0 80240640 3C040002 */ lui $a0, 2 +/* C71AC4 80240644 0083102A */ slt $v0, $a0, $v1 +/* C71AC8 80240648 10400002 */ beqz $v0, .L80240654 +/* C71ACC 8024064C 00641023 */ subu $v0, $v1, $a0 +.L80240650: +/* C71AD0 80240650 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240654: +/* C71AD4 80240654 8E040084 */ lw $a0, 0x84($s0) +/* C71AD8 80240658 0C046F07 */ jal set_main_pan_u +/* C71ADC 8024065C 8E0500A8 */ lw $a1, 0xa8($s0) +/* C71AE0 80240660 8E040084 */ lw $a0, 0x84($s0) +/* C71AE4 80240664 0C046F0D */ jal set_main_pan_v +/* C71AE8 80240668 8E0500AC */ lw $a1, 0xac($s0) +/* C71AEC 8024066C 8E040084 */ lw $a0, 0x84($s0) +/* C71AF0 80240670 0C046F13 */ jal set_aux_pan_u +/* C71AF4 80240674 8E0500B0 */ lw $a1, 0xb0($s0) +/* C71AF8 80240678 8E040084 */ lw $a0, 0x84($s0) +/* C71AFC 8024067C 0C046F19 */ jal set_aux_pan_v +/* C71B00 80240680 8E0500B4 */ lw $a1, 0xb4($s0) +/* C71B04 80240684 8E020070 */ lw $v0, 0x70($s0) +/* C71B08 80240688 8E030078 */ lw $v1, 0x78($s0) +/* C71B0C 8024068C 8E040098 */ lw $a0, 0x98($s0) +/* C71B10 80240690 24420001 */ addiu $v0, $v0, 1 +/* C71B14 80240694 AE020070 */ sw $v0, 0x70($s0) +/* C71B18 80240698 8E020074 */ lw $v0, 0x74($s0) +/* C71B1C 8024069C 24630001 */ addiu $v1, $v1, 1 +/* C71B20 802406A0 AE030078 */ sw $v1, 0x78($s0) +/* C71B24 802406A4 8E030070 */ lw $v1, 0x70($s0) +/* C71B28 802406A8 24420001 */ addiu $v0, $v0, 1 +/* C71B2C 802406AC AE020074 */ sw $v0, 0x74($s0) +/* C71B30 802406B0 8E02007C */ lw $v0, 0x7c($s0) +/* C71B34 802406B4 0064182A */ slt $v1, $v1, $a0 +/* C71B38 802406B8 24420001 */ addiu $v0, $v0, 1 +/* C71B3C 802406BC 14600002 */ bnez $v1, .L802406C8 +/* C71B40 802406C0 AE02007C */ sw $v0, 0x7c($s0) +/* C71B44 802406C4 AE000070 */ sw $zero, 0x70($s0) +.L802406C8: +/* C71B48 802406C8 8E020074 */ lw $v0, 0x74($s0) +/* C71B4C 802406CC 8E03009C */ lw $v1, 0x9c($s0) +/* C71B50 802406D0 0043102A */ slt $v0, $v0, $v1 +/* C71B54 802406D4 50400001 */ beql $v0, $zero, .L802406DC +/* C71B58 802406D8 AE000074 */ sw $zero, 0x74($s0) +.L802406DC: +/* C71B5C 802406DC 8E020078 */ lw $v0, 0x78($s0) +/* C71B60 802406E0 8E0300A0 */ lw $v1, 0xa0($s0) +/* C71B64 802406E4 0043102A */ slt $v0, $v0, $v1 +/* C71B68 802406E8 50400001 */ beql $v0, $zero, .L802406F0 +/* C71B6C 802406EC AE000078 */ sw $zero, 0x78($s0) +.L802406F0: +/* C71B70 802406F0 8E02007C */ lw $v0, 0x7c($s0) +/* C71B74 802406F4 8E0300A4 */ lw $v1, 0xa4($s0) +/* C71B78 802406F8 0043102A */ slt $v0, $v0, $v1 +/* C71B7C 802406FC 50400001 */ beql $v0, $zero, .L80240704 +/* C71B80 80240700 AE00007C */ sw $zero, 0x7c($s0) +.L80240704: +/* C71B84 80240704 8FBF0014 */ lw $ra, 0x14($sp) +/* C71B88 80240708 8FB00010 */ lw $s0, 0x10($sp) +/* C71B8C 8024070C 0000102D */ daddu $v0, $zero, $zero +/* C71B90 80240710 03E00008 */ jr $ra +/* C71B94 80240714 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240718.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240718.s new file mode 100644 index 0000000000..434d3213c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240718.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240718 +/* C71B98 80240718 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C71B9C 8024071C AFBF0014 */ sw $ra, 0x14($sp) +/* C71BA0 80240720 AFB00010 */ sw $s0, 0x10($sp) +/* C71BA4 80240724 8C82000C */ lw $v0, 0xc($a0) +/* C71BA8 80240728 0C0B1EAF */ jal get_variable +/* C71BAC 8024072C 8C450000 */ lw $a1, ($v0) +/* C71BB0 80240730 0040802D */ daddu $s0, $v0, $zero +/* C71BB4 80240734 12000006 */ beqz $s0, .L80240750 +/* C71BB8 80240738 00000000 */ nop +/* C71BBC 8024073C 0C046ED4 */ jal enable_world_fog +/* C71BC0 80240740 00000000 */ nop +/* C71BC4 80240744 240403E3 */ addiu $a0, $zero, 0x3e3 +/* C71BC8 80240748 080901D7 */ j .L8024075C +/* C71BCC 8024074C 00902023 */ subu $a0, $a0, $s0 +.L80240750: +/* C71BD0 80240750 0C046ED9 */ jal disable_world_fog +/* C71BD4 80240754 00000000 */ nop +/* C71BD8 80240758 240403E3 */ addiu $a0, $zero, 0x3e3 +.L8024075C: +/* C71BDC 8024075C 0C046EDD */ jal set_world_fog_dist +/* C71BE0 80240760 240503E8 */ addiu $a1, $zero, 0x3e8 +/* C71BE4 80240764 0000202D */ daddu $a0, $zero, $zero +/* C71BE8 80240768 0080282D */ daddu $a1, $a0, $zero +/* C71BEC 8024076C 0080302D */ daddu $a2, $a0, $zero +/* C71BF0 80240770 0C046EE2 */ jal set_world_fog_color +/* C71BF4 80240774 0080382D */ daddu $a3, $a0, $zero +/* C71BF8 80240778 8FBF0014 */ lw $ra, 0x14($sp) +/* C71BFC 8024077C 8FB00010 */ lw $s0, 0x10($sp) +/* C71C00 80240780 24020002 */ addiu $v0, $zero, 2 +/* C71C04 80240784 03E00008 */ jr $ra +/* C71C08 80240788 27BD0018 */ addiu $sp, $sp, 0x18 +/* C71C0C 8024078C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240790_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240790_C71480.s new file mode 100644 index 0000000000..ac25c7e1f5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240790_C71480.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790_C71C10 +/* C71C10 80240790 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C71C14 80240794 AFB00010 */ sw $s0, 0x10($sp) +/* C71C18 80240798 3C108024 */ lui $s0, 0x8024 +/* C71C1C 8024079C 26104BB0 */ addiu $s0, $s0, 0x4bb0 +/* C71C20 802407A0 AFBF0018 */ sw $ra, 0x18($sp) +/* C71C24 802407A4 AFB10014 */ sw $s1, 0x14($sp) +/* C71C28 802407A8 8E020000 */ lw $v0, ($s0) +/* C71C2C 802407AC 14400010 */ bnez $v0, .L802407F0 +/* C71C30 802407B0 0080882D */ daddu $s1, $a0, $zero +/* C71C34 802407B4 0C00AB39 */ jal heap_malloc +/* C71C38 802407B8 24040040 */ addiu $a0, $zero, 0x40 +/* C71C3C 802407BC AE020000 */ sw $v0, ($s0) +/* C71C40 802407C0 0000182D */ daddu $v1, $zero, $zero +/* C71C44 802407C4 0040282D */ daddu $a1, $v0, $zero +/* C71C48 802407C8 0220202D */ daddu $a0, $s1, $zero +.L802407CC: +/* C71C4C 802407CC 8C820084 */ lw $v0, 0x84($a0) +/* C71C50 802407D0 24840004 */ addiu $a0, $a0, 4 +/* C71C54 802407D4 24630001 */ addiu $v1, $v1, 1 +/* C71C58 802407D8 ACA20000 */ sw $v0, ($a1) +/* C71C5C 802407DC 28620010 */ slti $v0, $v1, 0x10 +/* C71C60 802407E0 1440FFFA */ bnez $v0, .L802407CC +/* C71C64 802407E4 24A50004 */ addiu $a1, $a1, 4 +/* C71C68 802407E8 0809020B */ j .L8024082C +/* C71C6C 802407EC 00000000 */ nop +.L802407F0: +/* C71C70 802407F0 0000182D */ daddu $v1, $zero, $zero +/* C71C74 802407F4 0040282D */ daddu $a1, $v0, $zero +/* C71C78 802407F8 0220202D */ daddu $a0, $s1, $zero +.L802407FC: +/* C71C7C 802407FC 8CA20000 */ lw $v0, ($a1) +/* C71C80 80240800 24A50004 */ addiu $a1, $a1, 4 +/* C71C84 80240804 24630001 */ addiu $v1, $v1, 1 +/* C71C88 80240808 AC820084 */ sw $v0, 0x84($a0) +/* C71C8C 8024080C 28620010 */ slti $v0, $v1, 0x10 +/* C71C90 80240810 1440FFFA */ bnez $v0, .L802407FC +/* C71C94 80240814 24840004 */ addiu $a0, $a0, 4 +/* C71C98 80240818 3C108024 */ lui $s0, 0x8024 +/* C71C9C 8024081C 26104BB0 */ addiu $s0, $s0, 0x4bb0 +/* C71CA0 80240820 0C00AB4B */ jal heap_free +/* C71CA4 80240824 8E040000 */ lw $a0, ($s0) +/* C71CA8 80240828 AE000000 */ sw $zero, ($s0) +.L8024082C: +/* C71CAC 8024082C 8FBF0018 */ lw $ra, 0x18($sp) +/* C71CB0 80240830 8FB10014 */ lw $s1, 0x14($sp) +/* C71CB4 80240834 8FB00010 */ lw $s0, 0x10($sp) +/* C71CB8 80240838 24020002 */ addiu $v0, $zero, 2 +/* C71CBC 8024083C 03E00008 */ jr $ra +/* C71CC0 80240840 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240844_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240844_C71480.s new file mode 100644 index 0000000000..46a06d2c4e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240844_C71480.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240844_C71CC4 +/* C71CC4 80240844 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C71CC8 80240848 AFB00010 */ sw $s0, 0x10($sp) +/* C71CCC 8024084C 0080802D */ daddu $s0, $a0, $zero +/* C71CD0 80240850 AFBF0018 */ sw $ra, 0x18($sp) +/* C71CD4 80240854 AFB10014 */ sw $s1, 0x14($sp) +/* C71CD8 80240858 8E02000C */ lw $v0, 0xc($s0) +/* C71CDC 8024085C 8C510000 */ lw $s1, ($v0) +/* C71CE0 80240860 0C0B1EAF */ jal get_variable +/* C71CE4 80240864 0220282D */ daddu $a1, $s1, $zero +/* C71CE8 80240868 3C03FFF0 */ lui $v1, 0xfff0 +/* C71CEC 8024086C 3463FFFF */ ori $v1, $v1, 0xffff +/* C71CF0 80240870 0200202D */ daddu $a0, $s0, $zero +/* C71CF4 80240874 00431024 */ and $v0, $v0, $v1 +/* C71CF8 80240878 00021140 */ sll $v0, $v0, 5 +/* C71CFC 8024087C 3C068008 */ lui $a2, %hi(gItemTable) +/* C71D00 80240880 00C23021 */ addu $a2, $a2, $v0 +/* C71D04 80240884 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C71D08 80240888 0C0B2026 */ jal set_variable +/* C71D0C 8024088C 0220282D */ daddu $a1, $s1, $zero +/* C71D10 80240890 8FBF0018 */ lw $ra, 0x18($sp) +/* C71D14 80240894 8FB10014 */ lw $s1, 0x14($sp) +/* C71D18 80240898 8FB00010 */ lw $s0, 0x10($sp) +/* C71D1C 8024089C 24020002 */ addiu $v0, $zero, 2 +/* C71D20 802408A0 03E00008 */ jr $ra +/* C71D24 802408A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802408A8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802408A8_C71480.s new file mode 100644 index 0000000000..3c3f384527 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802408A8_C71480.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A8_C71D28 +/* C71D28 802408A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C71D2C 802408AC AFB10014 */ sw $s1, 0x14($sp) +/* C71D30 802408B0 0080882D */ daddu $s1, $a0, $zero +/* C71D34 802408B4 AFBF001C */ sw $ra, 0x1c($sp) +/* C71D38 802408B8 AFB20018 */ sw $s2, 0x18($sp) +/* C71D3C 802408BC AFB00010 */ sw $s0, 0x10($sp) +/* C71D40 802408C0 8E240084 */ lw $a0, 0x84($s1) +/* C71D44 802408C4 0C04C3D6 */ jal get_item_entity +/* C71D48 802408C8 00A0802D */ daddu $s0, $a1, $zero +/* C71D4C 802408CC 12000005 */ beqz $s0, .L802408E4 +/* C71D50 802408D0 0040902D */ daddu $s2, $v0, $zero +/* C71D54 802408D4 C640000C */ lwc1 $f0, 0xc($s2) +/* C71D58 802408D8 AE200074 */ sw $zero, 0x74($s1) +/* C71D5C 802408DC AE20007C */ sw $zero, 0x7c($s1) +/* C71D60 802408E0 E6200078 */ swc1 $f0, 0x78($s1) +.L802408E4: +/* C71D64 802408E4 8E230074 */ lw $v1, 0x74($s1) +/* C71D68 802408E8 10600005 */ beqz $v1, .L80240900 +/* C71D6C 802408EC 24020001 */ addiu $v0, $zero, 1 +/* C71D70 802408F0 10620024 */ beq $v1, $v0, .L80240984 +/* C71D74 802408F4 00000000 */ nop +/* C71D78 802408F8 08090277 */ j .L802409DC +/* C71D7C 802408FC 00000000 */ nop +.L80240900: +/* C71D80 80240900 3C013FC9 */ lui $at, 0x3fc9 +/* C71D84 80240904 34210FD8 */ ori $at, $at, 0xfd8 +/* C71D88 80240908 44810000 */ mtc1 $at, $f0 +/* C71D8C 8024090C C62C007C */ lwc1 $f12, 0x7c($s1) +/* C71D90 80240910 46806320 */ cvt.s.w $f12, $f12 +/* C71D94 80240914 46006302 */ mul.s $f12, $f12, $f0 +/* C71D98 80240918 00000000 */ nop +/* C71D9C 8024091C 3C0141F0 */ lui $at, 0x41f0 +/* C71DA0 80240920 44810000 */ mtc1 $at, $f0 +/* C71DA4 80240924 0C00A874 */ jal cos_rad +/* C71DA8 80240928 46006303 */ div.s $f12, $f12, $f0 +/* C71DAC 8024092C 3C013F80 */ lui $at, 0x3f80 +/* C71DB0 80240930 44811000 */ mtc1 $at, $f2 +/* C71DB4 80240934 00000000 */ nop +/* C71DB8 80240938 46001081 */ sub.s $f2, $f2, $f0 +/* C71DBC 8024093C 3C0141A0 */ lui $at, 0x41a0 +/* C71DC0 80240940 44810000 */ mtc1 $at, $f0 +/* C71DC4 80240944 00000000 */ nop +/* C71DC8 80240948 46001082 */ mul.s $f2, $f2, $f0 +/* C71DCC 8024094C 00000000 */ nop +/* C71DD0 80240950 C6200078 */ lwc1 $f0, 0x78($s1) +/* C71DD4 80240954 46020000 */ add.s $f0, $f0, $f2 +/* C71DD8 80240958 E640000C */ swc1 $f0, 0xc($s2) +/* C71DDC 8024095C 8E23007C */ lw $v1, 0x7c($s1) +/* C71DE0 80240960 2402001E */ addiu $v0, $zero, 0x1e +/* C71DE4 80240964 14620005 */ bne $v1, $v0, .L8024097C +/* C71DE8 80240968 24620001 */ addiu $v0, $v1, 1 +/* C71DEC 8024096C 24020001 */ addiu $v0, $zero, 1 +/* C71DF0 80240970 AE220074 */ sw $v0, 0x74($s1) +/* C71DF4 80240974 08090277 */ j .L802409DC +/* C71DF8 80240978 AE20007C */ sw $zero, 0x7c($s1) +.L8024097C: +/* C71DFC 8024097C 08090277 */ j .L802409DC +/* C71E00 80240980 AE22007C */ sw $v0, 0x7c($s1) +.L80240984: +/* C71E04 80240984 C62C007C */ lwc1 $f12, 0x7c($s1) +/* C71E08 80240988 0C00A8D4 */ jal cos_deg +/* C71E0C 8024098C 46806320 */ cvt.s.w $f12, $f12 +/* C71E10 80240990 3C014040 */ lui $at, 0x4040 +/* C71E14 80240994 44811000 */ mtc1 $at, $f2 +/* C71E18 80240998 00000000 */ nop +/* C71E1C 8024099C 46020002 */ mul.s $f0, $f0, $f2 +/* C71E20 802409A0 00000000 */ nop +/* C71E24 802409A4 3C014188 */ lui $at, 0x4188 +/* C71E28 802409A8 44812000 */ mtc1 $at, $f4 +/* C71E2C 802409AC C6220078 */ lwc1 $f2, 0x78($s1) +/* C71E30 802409B0 46041080 */ add.s $f2, $f2, $f4 +/* C71E34 802409B4 46001080 */ add.s $f2, $f2, $f0 +/* C71E38 802409B8 E642000C */ swc1 $f2, 0xc($s2) +/* C71E3C 802409BC 8E22007C */ lw $v0, 0x7c($s1) +/* C71E40 802409C0 24420009 */ addiu $v0, $v0, 9 +/* C71E44 802409C4 44826000 */ mtc1 $v0, $f12 +/* C71E48 802409C8 00000000 */ nop +/* C71E4C 802409CC 0C00A6C9 */ jal clamp_angle +/* C71E50 802409D0 46806320 */ cvt.s.w $f12, $f12 +/* C71E54 802409D4 4600018D */ trunc.w.s $f6, $f0 +/* C71E58 802409D8 E626007C */ swc1 $f6, 0x7c($s1) +.L802409DC: +/* C71E5C 802409DC 8FBF001C */ lw $ra, 0x1c($sp) +/* C71E60 802409E0 8FB20018 */ lw $s2, 0x18($sp) +/* C71E64 802409E4 8FB10014 */ lw $s1, 0x14($sp) +/* C71E68 802409E8 8FB00010 */ lw $s0, 0x10($sp) +/* C71E6C 802409EC 0000102D */ daddu $v0, $zero, $zero +/* C71E70 802409F0 03E00008 */ jr $ra +/* C71E74 802409F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802409F8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802409F8_C71480.s new file mode 100644 index 0000000000..992f37f603 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802409F8_C71480.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F8_C71E78 +/* C71E78 802409F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C71E7C 802409FC AFB00010 */ sw $s0, 0x10($sp) +/* C71E80 80240A00 0080802D */ daddu $s0, $a0, $zero +/* C71E84 80240A04 AFBF0014 */ sw $ra, 0x14($sp) +/* C71E88 80240A08 8E02000C */ lw $v0, 0xc($s0) +/* C71E8C 80240A0C 0C0B1EAF */ jal get_variable +/* C71E90 80240A10 8C450000 */ lw $a1, ($v0) +/* C71E94 80240A14 00021140 */ sll $v0, $v0, 5 +/* C71E98 80240A18 AE000084 */ sw $zero, 0x84($s0) +/* C71E9C 80240A1C 3C018008 */ lui $at, 0x8008 +/* C71EA0 80240A20 00220821 */ addu $at, $at, $v0 +/* C71EA4 80240A24 942278F8 */ lhu $v0, 0x78f8($at) +/* C71EA8 80240A28 30420040 */ andi $v0, $v0, 0x40 +/* C71EAC 80240A2C 10400002 */ beqz $v0, .L80240A38 +/* C71EB0 80240A30 24020001 */ addiu $v0, $zero, 1 +/* C71EB4 80240A34 AE020084 */ sw $v0, 0x84($s0) +.L80240A38: +/* C71EB8 80240A38 8FBF0014 */ lw $ra, 0x14($sp) +/* C71EBC 80240A3C 8FB00010 */ lw $s0, 0x10($sp) +/* C71EC0 80240A40 24020002 */ addiu $v0, $zero, 2 +/* C71EC4 80240A44 03E00008 */ jr $ra +/* C71EC8 80240A48 27BD0018 */ addiu $sp, $sp, 0x18 +/* C71ECC 80240A4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240A50_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240A50_C71480.s new file mode 100644 index 0000000000..7a17d0a799 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240A50_C71480.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A50_C71ED0 +/* C71ED0 80240A50 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C71ED4 80240A54 AFB3002C */ sw $s3, 0x2c($sp) +/* C71ED8 80240A58 0080982D */ daddu $s3, $a0, $zero +/* C71EDC 80240A5C AFBF0030 */ sw $ra, 0x30($sp) +/* C71EE0 80240A60 AFB20028 */ sw $s2, 0x28($sp) +/* C71EE4 80240A64 AFB10024 */ sw $s1, 0x24($sp) +/* C71EE8 80240A68 AFB00020 */ sw $s0, 0x20($sp) +/* C71EEC 80240A6C 8E710148 */ lw $s1, 0x148($s3) +/* C71EF0 80240A70 86240008 */ lh $a0, 8($s1) +/* C71EF4 80240A74 0C00EABB */ jal get_npc_unsafe +/* C71EF8 80240A78 00A0902D */ daddu $s2, $a1, $zero +/* C71EFC 80240A7C 8E440004 */ lw $a0, 4($s2) +/* C71F00 80240A80 0040802D */ daddu $s0, $v0, $zero +/* C71F04 80240A84 00041FC2 */ srl $v1, $a0, 0x1f +/* C71F08 80240A88 00832021 */ addu $a0, $a0, $v1 +/* C71F0C 80240A8C 00042043 */ sra $a0, $a0, 1 +/* C71F10 80240A90 0C00A67F */ jal rand_int +/* C71F14 80240A94 24840001 */ addiu $a0, $a0, 1 +/* C71F18 80240A98 8E430004 */ lw $v1, 4($s2) +/* C71F1C 80240A9C 000327C2 */ srl $a0, $v1, 0x1f +/* C71F20 80240AA0 00641821 */ addu $v1, $v1, $a0 +/* C71F24 80240AA4 00031843 */ sra $v1, $v1, 1 +/* C71F28 80240AA8 00621821 */ addu $v1, $v1, $v0 +/* C71F2C 80240AAC A603008E */ sh $v1, 0x8e($s0) +/* C71F30 80240AB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C71F34 80240AB4 C6000040 */ lwc1 $f0, 0x40($s0) +/* C71F38 80240AB8 C4640000 */ lwc1 $f4, ($v1) +/* C71F3C 80240ABC 46802120 */ cvt.s.w $f4, $f4 +/* C71F40 80240AC0 C4620008 */ lwc1 $f2, 8($v1) +/* C71F44 80240AC4 468010A0 */ cvt.s.w $f2, $f2 +/* C71F48 80240AC8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C71F4C 80240ACC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C71F50 80240AD0 44061000 */ mfc1 $a2, $f2 +/* C71F54 80240AD4 C440000C */ lwc1 $f0, 0xc($v0) +/* C71F58 80240AD8 46800020 */ cvt.s.w $f0, $f0 +/* C71F5C 80240ADC E7A00014 */ swc1 $f0, 0x14($sp) +/* C71F60 80240AE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C71F64 80240AE4 44052000 */ mfc1 $a1, $f4 +/* C71F68 80240AE8 C4400010 */ lwc1 $f0, 0x10($v0) +/* C71F6C 80240AEC 46800020 */ cvt.s.w $f0, $f0 +/* C71F70 80240AF0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C71F74 80240AF4 8C640018 */ lw $a0, 0x18($v1) +/* C71F78 80240AF8 0C0123F5 */ jal is_point_within_region +/* C71F7C 80240AFC 8E070038 */ lw $a3, 0x38($s0) +/* C71F80 80240B00 1040000E */ beqz $v0, .L80240B3C +/* C71F84 80240B04 00000000 */ nop +/* C71F88 80240B08 8E2200D0 */ lw $v0, 0xd0($s1) +/* C71F8C 80240B0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C71F90 80240B10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C71F94 80240B14 C4460000 */ lwc1 $f6, ($v0) +/* C71F98 80240B18 468031A0 */ cvt.s.w $f6, $f6 +/* C71F9C 80240B1C 44063000 */ mfc1 $a2, $f6 +/* C71FA0 80240B20 C4460008 */ lwc1 $f6, 8($v0) +/* C71FA4 80240B24 468031A0 */ cvt.s.w $f6, $f6 +/* C71FA8 80240B28 44073000 */ mfc1 $a3, $f6 +/* C71FAC 80240B2C 0C00A720 */ jal atan2 +/* C71FB0 80240B30 00000000 */ nop +/* C71FB4 80240B34 080902DB */ j .L80240B6C +/* C71FB8 80240B38 E600000C */ swc1 $f0, 0xc($s0) +.L80240B3C: +/* C71FBC 80240B3C 0C00A67F */ jal rand_int +/* C71FC0 80240B40 2404003C */ addiu $a0, $zero, 0x3c +/* C71FC4 80240B44 C60C000C */ lwc1 $f12, 0xc($s0) +/* C71FC8 80240B48 44820000 */ mtc1 $v0, $f0 +/* C71FCC 80240B4C 00000000 */ nop +/* C71FD0 80240B50 46800020 */ cvt.s.w $f0, $f0 +/* C71FD4 80240B54 46006300 */ add.s $f12, $f12, $f0 +/* C71FD8 80240B58 3C0141F0 */ lui $at, 0x41f0 +/* C71FDC 80240B5C 44810000 */ mtc1 $at, $f0 +/* C71FE0 80240B60 0C00A6C9 */ jal clamp_angle +/* C71FE4 80240B64 46006301 */ sub.s $f12, $f12, $f0 +/* C71FE8 80240B68 E600000C */ swc1 $f0, 0xc($s0) +.L80240B6C: +/* C71FEC 80240B6C 8E2200CC */ lw $v0, 0xcc($s1) +/* C71FF0 80240B70 8C420004 */ lw $v0, 4($v0) +/* C71FF4 80240B74 AE020028 */ sw $v0, 0x28($s0) +/* C71FF8 80240B78 AE600074 */ sw $zero, 0x74($s3) +/* C71FFC 80240B7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C72000 80240B80 8C420014 */ lw $v0, 0x14($v0) +/* C72004 80240B84 04410004 */ bgez $v0, .L80240B98 +/* C72008 80240B88 00000000 */ nop +/* C7200C 80240B8C C6400000 */ lwc1 $f0, ($s2) +/* C72010 80240B90 080902EE */ j .L80240BB8 +/* C72014 80240B94 E6000018 */ swc1 $f0, 0x18($s0) +.L80240B98: +/* C72018 80240B98 3C018024 */ lui $at, 0x8024 +/* C7201C 80240B9C D42255E0 */ ldc1 $f2, 0x55e0($at) +/* C72020 80240BA0 44820000 */ mtc1 $v0, $f0 +/* C72024 80240BA4 00000000 */ nop +/* C72028 80240BA8 46800021 */ cvt.d.w $f0, $f0 +/* C7202C 80240BAC 46220003 */ div.d $f0, $f0, $f2 +/* C72030 80240BB0 46200020 */ cvt.s.d $f0, $f0 +/* C72034 80240BB4 E6000018 */ swc1 $f0, 0x18($s0) +.L80240BB8: +/* C72038 80240BB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C7203C 80240BBC 3C014059 */ lui $at, 0x4059 +/* C72040 80240BC0 44811800 */ mtc1 $at, $f3 +/* C72044 80240BC4 44801000 */ mtc1 $zero, $f2 +/* C72048 80240BC8 46000021 */ cvt.d.s $f0, $f0 +/* C7204C 80240BCC 46220002 */ mul.d $f0, $f0, $f2 +/* C72050 80240BD0 00000000 */ nop +/* C72054 80240BD4 24020001 */ addiu $v0, $zero, 1 +/* C72058 80240BD8 4620018D */ trunc.w.d $f6, $f0 +/* C7205C 80240BDC E626007C */ swc1 $f6, 0x7c($s1) +/* C72060 80240BE0 AE620070 */ sw $v0, 0x70($s3) +/* C72064 80240BE4 8FBF0030 */ lw $ra, 0x30($sp) +/* C72068 80240BE8 8FB3002C */ lw $s3, 0x2c($sp) +/* C7206C 80240BEC 8FB20028 */ lw $s2, 0x28($sp) +/* C72070 80240BF0 8FB10024 */ lw $s1, 0x24($sp) +/* C72074 80240BF4 8FB00020 */ lw $s0, 0x20($sp) +/* C72078 80240BF8 03E00008 */ jr $ra +/* C7207C 80240BFC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80240C00_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240C00_C71480.s new file mode 100644 index 0000000000..2e92dfa671 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80240C00_C71480.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C00_C72080 +/* C72080 80240C00 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C72084 80240C04 AFB3004C */ sw $s3, 0x4c($sp) +/* C72088 80240C08 0080982D */ daddu $s3, $a0, $zero +/* C7208C 80240C0C AFBF0058 */ sw $ra, 0x58($sp) +/* C72090 80240C10 AFB50054 */ sw $s5, 0x54($sp) +/* C72094 80240C14 AFB40050 */ sw $s4, 0x50($sp) +/* C72098 80240C18 AFB20048 */ sw $s2, 0x48($sp) +/* C7209C 80240C1C AFB10044 */ sw $s1, 0x44($sp) +/* C720A0 80240C20 AFB00040 */ sw $s0, 0x40($sp) +/* C720A4 80240C24 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C720A8 80240C28 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C720AC 80240C2C F7B60068 */ sdc1 $f22, 0x68($sp) +/* C720B0 80240C30 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C720B4 80240C34 8E710148 */ lw $s1, 0x148($s3) +/* C720B8 80240C38 00A0902D */ daddu $s2, $a1, $zero +/* C720BC 80240C3C 86240008 */ lh $a0, 8($s1) +/* C720C0 80240C40 0C00EABB */ jal get_npc_unsafe +/* C720C4 80240C44 00C0A82D */ daddu $s5, $a2, $zero +/* C720C8 80240C48 0040802D */ daddu $s0, $v0, $zero +/* C720CC 80240C4C 0000A02D */ daddu $s4, $zero, $zero +/* C720D0 80240C50 C624007C */ lwc1 $f4, 0x7c($s1) +/* C720D4 80240C54 46802120 */ cvt.s.w $f4, $f4 +/* C720D8 80240C58 C6220088 */ lwc1 $f2, 0x88($s1) +/* C720DC 80240C5C 468010A0 */ cvt.s.w $f2, $f2 +/* C720E0 80240C60 460010A1 */ cvt.d.s $f2, $f2 +/* C720E4 80240C64 46002121 */ cvt.d.s $f4, $f4 +/* C720E8 80240C68 C600003C */ lwc1 $f0, 0x3c($s0) +/* C720EC 80240C6C 3C014059 */ lui $at, 0x4059 +/* C720F0 80240C70 44813800 */ mtc1 $at, $f7 +/* C720F4 80240C74 44803000 */ mtc1 $zero, $f6 +/* C720F8 80240C78 46000021 */ cvt.d.s $f0, $f0 +/* C720FC 80240C7C 46260002 */ mul.d $f0, $f0, $f6 +/* C72100 80240C80 00000000 */ nop +/* C72104 80240C84 24020001 */ addiu $v0, $zero, 1 +/* C72108 80240C88 8E24006C */ lw $a0, 0x6c($s1) +/* C7210C 80240C8C 46261083 */ div.d $f2, $f2, $f6 +/* C72110 80240C90 462010A0 */ cvt.s.d $f2, $f2 +/* C72114 80240C94 46262103 */ div.d $f4, $f4, $f6 +/* C72118 80240C98 46202520 */ cvt.s.d $f20, $f4 +/* C7211C 80240C9C 30830011 */ andi $v1, $a0, 0x11 +/* C72120 80240CA0 4620020D */ trunc.w.d $f8, $f0 +/* C72124 80240CA4 E628007C */ swc1 $f8, 0x7c($s1) +/* C72128 80240CA8 C6200078 */ lwc1 $f0, 0x78($s1) +/* C7212C 80240CAC 46800020 */ cvt.s.w $f0, $f0 +/* C72130 80240CB0 46000021 */ cvt.d.s $f0, $f0 +/* C72134 80240CB4 46260003 */ div.d $f0, $f0, $f6 +/* C72138 80240CB8 462006A0 */ cvt.s.d $f26, $f0 +/* C7213C 80240CBC C6200070 */ lwc1 $f0, 0x70($s1) +/* C72140 80240CC0 46800020 */ cvt.s.w $f0, $f0 +/* C72144 80240CC4 46000021 */ cvt.d.s $f0, $f0 +/* C72148 80240CC8 46260003 */ div.d $f0, $f0, $f6 +/* C7214C 80240CCC 462005A0 */ cvt.s.d $f22, $f0 +/* C72150 80240CD0 14620025 */ bne $v1, $v0, .L80240D68 +/* C72154 80240CD4 4602D600 */ add.s $f24, $f26, $f2 +/* C72158 80240CD8 8E020000 */ lw $v0, ($s0) +/* C7215C 80240CDC 30420008 */ andi $v0, $v0, 8 +/* C72160 80240CE0 10400009 */ beqz $v0, .L80240D08 +/* C72164 80240CE4 27A50028 */ addiu $a1, $sp, 0x28 +/* C72168 80240CE8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C7216C 80240CEC 4600C001 */ sub.s $f0, $f24, $f0 +/* C72170 80240CF0 4600B03C */ c.lt.s $f22, $f0 +/* C72174 80240CF4 00000000 */ nop +/* C72178 80240CF8 4500001B */ bc1f .L80240D68 +/* C7217C 80240CFC 34820010 */ ori $v0, $a0, 0x10 +/* C72180 80240D00 0809035A */ j .L80240D68 +/* C72184 80240D04 AE22006C */ sw $v0, 0x6c($s1) +.L80240D08: +/* C72188 80240D08 27A6002C */ addiu $a2, $sp, 0x2c +/* C7218C 80240D0C C6000038 */ lwc1 $f0, 0x38($s0) +/* C72190 80240D10 C602003C */ lwc1 $f2, 0x3c($s0) +/* C72194 80240D14 C6040040 */ lwc1 $f4, 0x40($s0) +/* C72198 80240D18 3C01447A */ lui $at, 0x447a +/* C7219C 80240D1C 44813000 */ mtc1 $at, $f6 +/* C721A0 80240D20 27A20034 */ addiu $v0, $sp, 0x34 +/* C721A4 80240D24 E7A00028 */ swc1 $f0, 0x28($sp) +/* C721A8 80240D28 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C721AC 80240D2C E7A40030 */ swc1 $f4, 0x30($sp) +/* C721B0 80240D30 E7A60034 */ swc1 $f6, 0x34($sp) +/* C721B4 80240D34 AFA20010 */ sw $v0, 0x10($sp) +/* C721B8 80240D38 8E040080 */ lw $a0, 0x80($s0) +/* C721BC 80240D3C 0C0372DF */ jal func_800DCB7C +/* C721C0 80240D40 27A70030 */ addiu $a3, $sp, 0x30 +/* C721C4 80240D44 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C721C8 80240D48 4600D001 */ sub.s $f0, $f26, $f0 +/* C721CC 80240D4C 4600B03C */ c.lt.s $f22, $f0 +/* C721D0 80240D50 00000000 */ nop +/* C721D4 80240D54 45000004 */ bc1f .L80240D68 +/* C721D8 80240D58 00000000 */ nop +/* C721DC 80240D5C 8E22006C */ lw $v0, 0x6c($s1) +/* C721E0 80240D60 34420010 */ ori $v0, $v0, 0x10 +/* C721E4 80240D64 AE22006C */ sw $v0, 0x6c($s1) +.L80240D68: +/* C721E8 80240D68 8E22006C */ lw $v0, 0x6c($s1) +/* C721EC 80240D6C 24030011 */ addiu $v1, $zero, 0x11 +/* C721F0 80240D70 30420011 */ andi $v0, $v0, 0x11 +/* C721F4 80240D74 14430039 */ bne $v0, $v1, .L80240E5C +/* C721F8 80240D78 00000000 */ nop +/* C721FC 80240D7C 8E020000 */ lw $v0, ($s0) +/* C72200 80240D80 30420008 */ andi $v0, $v0, 8 +/* C72204 80240D84 1040000A */ beqz $v0, .L80240DB0 +/* C72208 80240D88 4600C106 */ mov.s $f4, $f24 +/* C7220C 80240D8C 4614C081 */ sub.s $f2, $f24, $f20 +/* C72210 80240D90 3C018024 */ lui $at, 0x8024 +/* C72214 80240D94 D42055E8 */ ldc1 $f0, 0x55e8($at) +/* C72218 80240D98 460010A1 */ cvt.d.s $f2, $f2 +/* C7221C 80240D9C 46201082 */ mul.d $f2, $f2, $f0 +/* C72220 80240DA0 00000000 */ nop +/* C72224 80240DA4 4600A021 */ cvt.d.s $f0, $f20 +/* C72228 80240DA8 08090385 */ j .L80240E14 +/* C7222C 80240DAC 46220000 */ add.d $f0, $f0, $f2 +.L80240DB0: +/* C72230 80240DB0 27A50028 */ addiu $a1, $sp, 0x28 +/* C72234 80240DB4 27A6002C */ addiu $a2, $sp, 0x2c +/* C72238 80240DB8 C6000038 */ lwc1 $f0, 0x38($s0) +/* C7223C 80240DBC C6020040 */ lwc1 $f2, 0x40($s0) +/* C72240 80240DC0 3C01447A */ lui $at, 0x447a +/* C72244 80240DC4 44812000 */ mtc1 $at, $f4 +/* C72248 80240DC8 27A20034 */ addiu $v0, $sp, 0x34 +/* C7224C 80240DCC E7B4002C */ swc1 $f20, 0x2c($sp) +/* C72250 80240DD0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C72254 80240DD4 E7A20030 */ swc1 $f2, 0x30($sp) +/* C72258 80240DD8 E7A40034 */ swc1 $f4, 0x34($sp) +/* C7225C 80240DDC AFA20010 */ sw $v0, 0x10($sp) +/* C72260 80240DE0 8E040080 */ lw $a0, 0x80($s0) +/* C72264 80240DE4 0C0372DF */ jal func_800DCB7C +/* C72268 80240DE8 27A70030 */ addiu $a3, $sp, 0x30 +/* C7226C 80240DEC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C72270 80240DF0 461A2100 */ add.s $f4, $f4, $f26 +/* C72274 80240DF4 46142081 */ sub.s $f2, $f4, $f20 +/* C72278 80240DF8 3C018024 */ lui $at, 0x8024 +/* C7227C 80240DFC D42055F0 */ ldc1 $f0, 0x55f0($at) +/* C72280 80240E00 460010A1 */ cvt.d.s $f2, $f2 +/* C72284 80240E04 46201082 */ mul.d $f2, $f2, $f0 +/* C72288 80240E08 00000000 */ nop +/* C7228C 80240E0C 4600A021 */ cvt.d.s $f0, $f20 +/* C72290 80240E10 46220000 */ add.d $f0, $f0, $f2 +.L80240E14: +/* C72294 80240E14 46200020 */ cvt.s.d $f0, $f0 +/* C72298 80240E18 E600003C */ swc1 $f0, 0x3c($s0) +/* C7229C 80240E1C C600003C */ lwc1 $f0, 0x3c($s0) +/* C722A0 80240E20 46002001 */ sub.s $f0, $f4, $f0 +/* C722A4 80240E24 3C013FF0 */ lui $at, 0x3ff0 +/* C722A8 80240E28 44811800 */ mtc1 $at, $f3 +/* C722AC 80240E2C 44801000 */ mtc1 $zero, $f2 +/* C722B0 80240E30 46000005 */ abs.s $f0, $f0 +/* C722B4 80240E34 46000021 */ cvt.d.s $f0, $f0 +/* C722B8 80240E38 4622003C */ c.lt.d $f0, $f2 +/* C722BC 80240E3C 00000000 */ nop +/* C722C0 80240E40 45000036 */ bc1f .L80240F1C +/* C722C4 80240E44 2403FFEF */ addiu $v1, $zero, -0x11 +/* C722C8 80240E48 E604003C */ swc1 $f4, 0x3c($s0) +/* C722CC 80240E4C 8E22006C */ lw $v0, 0x6c($s1) +/* C722D0 80240E50 00431024 */ and $v0, $v0, $v1 +/* C722D4 80240E54 080903C7 */ j .L80240F1C +/* C722D8 80240E58 AE22006C */ sw $v0, 0x6c($s1) +.L80240E5C: +/* C722DC 80240E5C 8E220070 */ lw $v0, 0x70($s1) +/* C722E0 80240E60 1840002E */ blez $v0, .L80240F1C +/* C722E4 80240E64 00000000 */ nop +/* C722E8 80240E68 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C722EC 80240E6C 0C00A8BB */ jal sin_deg +/* C722F0 80240E70 46806320 */ cvt.s.w $f12, $f12 +/* C722F4 80240E74 8E020000 */ lw $v0, ($s0) +/* C722F8 80240E78 30420008 */ andi $v0, $v0, 8 +/* C722FC 80240E7C 10400003 */ beqz $v0, .L80240E8C +/* C72300 80240E80 46000506 */ mov.s $f20, $f0 +/* C72304 80240E84 080903B3 */ j .L80240ECC +/* C72308 80240E88 0000102D */ daddu $v0, $zero, $zero +.L80240E8C: +/* C7230C 80240E8C 27A50028 */ addiu $a1, $sp, 0x28 +/* C72310 80240E90 27A6002C */ addiu $a2, $sp, 0x2c +/* C72314 80240E94 C6000038 */ lwc1 $f0, 0x38($s0) +/* C72318 80240E98 C602003C */ lwc1 $f2, 0x3c($s0) +/* C7231C 80240E9C C6040040 */ lwc1 $f4, 0x40($s0) +/* C72320 80240EA0 3C01447A */ lui $at, 0x447a +/* C72324 80240EA4 44813000 */ mtc1 $at, $f6 +/* C72328 80240EA8 27A20034 */ addiu $v0, $sp, 0x34 +/* C7232C 80240EAC E7A00028 */ swc1 $f0, 0x28($sp) +/* C72330 80240EB0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C72334 80240EB4 E7A40030 */ swc1 $f4, 0x30($sp) +/* C72338 80240EB8 E7A60034 */ swc1 $f6, 0x34($sp) +/* C7233C 80240EBC AFA20010 */ sw $v0, 0x10($sp) +/* C72340 80240EC0 8E040080 */ lw $a0, 0x80($s0) +/* C72344 80240EC4 0C0372DF */ jal func_800DCB7C +/* C72348 80240EC8 27A70030 */ addiu $a3, $sp, 0x30 +.L80240ECC: +/* C7234C 80240ECC 10400007 */ beqz $v0, .L80240EEC +/* C72350 80240ED0 00000000 */ nop +/* C72354 80240ED4 4616A082 */ mul.s $f2, $f20, $f22 +/* C72358 80240ED8 00000000 */ nop +/* C7235C 80240EDC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C72360 80240EE0 461A0000 */ add.s $f0, $f0, $f26 +/* C72364 80240EE4 080903BE */ j .L80240EF8 +/* C72368 80240EE8 46020000 */ add.s $f0, $f0, $f2 +.L80240EEC: +/* C7236C 80240EEC 4616A002 */ mul.s $f0, $f20, $f22 +/* C72370 80240EF0 00000000 */ nop +/* C72374 80240EF4 4600C000 */ add.s $f0, $f24, $f0 +.L80240EF8: +/* C72378 80240EF8 E600003C */ swc1 $f0, 0x3c($s0) +/* C7237C 80240EFC 8E220074 */ lw $v0, 0x74($s1) +/* C72380 80240F00 2442000A */ addiu $v0, $v0, 0xa +/* C72384 80240F04 44826000 */ mtc1 $v0, $f12 +/* C72388 80240F08 00000000 */ nop +/* C7238C 80240F0C 0C00A6C9 */ jal clamp_angle +/* C72390 80240F10 46806320 */ cvt.s.w $f12, $f12 +/* C72394 80240F14 4600020D */ trunc.w.s $f8, $f0 +/* C72398 80240F18 E6280074 */ swc1 $f8, 0x74($s1) +.L80240F1C: +/* C7239C 80240F1C 8E220090 */ lw $v0, 0x90($s1) +/* C723A0 80240F20 1C40004A */ bgtz $v0, .L8024104C +/* C723A4 80240F24 2442FFFF */ addiu $v0, $v0, -1 +/* C723A8 80240F28 8E430014 */ lw $v1, 0x14($s2) +/* C723AC 80240F2C 04600048 */ bltz $v1, .L80241050 +/* C723B0 80240F30 00000000 */ nop +/* C723B4 80240F34 8E620074 */ lw $v0, 0x74($s3) +/* C723B8 80240F38 1C400042 */ bgtz $v0, .L80241044 +/* C723BC 80240F3C 2442FFFF */ addiu $v0, $v0, -1 +/* C723C0 80240F40 AE630074 */ sw $v1, 0x74($s3) +/* C723C4 80240F44 860200A8 */ lh $v0, 0xa8($s0) +/* C723C8 80240F48 C602003C */ lwc1 $f2, 0x3c($s0) +/* C723CC 80240F4C 44820000 */ mtc1 $v0, $f0 +/* C723D0 80240F50 00000000 */ nop +/* C723D4 80240F54 46800020 */ cvt.s.w $f0, $f0 +/* C723D8 80240F58 46001080 */ add.s $f2, $f2, $f0 +/* C723DC 80240F5C 3C014024 */ lui $at, 0x4024 +/* C723E0 80240F60 44810800 */ mtc1 $at, $f1 +/* C723E4 80240F64 44800000 */ mtc1 $zero, $f0 +/* C723E8 80240F68 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C723EC 80240F6C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C723F0 80240F70 460010A1 */ cvt.d.s $f2, $f2 +/* C723F4 80240F74 46201080 */ add.d $f2, $f2, $f0 +/* C723F8 80240F78 C440002C */ lwc1 $f0, 0x2c($v0) +/* C723FC 80240F7C 46000021 */ cvt.d.s $f0, $f0 +/* C72400 80240F80 4622003C */ c.lt.d $f0, $f2 +/* C72404 80240F84 00000000 */ nop +/* C72408 80240F88 4500002C */ bc1f .L8024103C +/* C7240C 80240F8C 02A0202D */ daddu $a0, $s5, $zero +/* C72410 80240F90 AFA00010 */ sw $zero, 0x10($sp) +/* C72414 80240F94 8E46000C */ lw $a2, 0xc($s2) +/* C72418 80240F98 8E470010 */ lw $a3, 0x10($s2) +/* C7241C 80240F9C 0C01242D */ jal func_800490B4 +/* C72420 80240FA0 0220282D */ daddu $a1, $s1, $zero +/* C72424 80240FA4 10400025 */ beqz $v0, .L8024103C +/* C72428 80240FA8 0000202D */ daddu $a0, $zero, $zero +/* C7242C 80240FAC 0200282D */ daddu $a1, $s0, $zero +/* C72430 80240FB0 0000302D */ daddu $a2, $zero, $zero +/* C72434 80240FB4 2412000C */ addiu $s2, $zero, 0xc +/* C72438 80240FB8 860300A8 */ lh $v1, 0xa8($s0) +/* C7243C 80240FBC 3C013F80 */ lui $at, 0x3f80 +/* C72440 80240FC0 44810000 */ mtc1 $at, $f0 +/* C72444 80240FC4 3C014000 */ lui $at, 0x4000 +/* C72448 80240FC8 44811000 */ mtc1 $at, $f2 +/* C7244C 80240FCC 3C01C1A0 */ lui $at, 0xc1a0 +/* C72450 80240FD0 44812000 */ mtc1 $at, $f4 +/* C72454 80240FD4 44834000 */ mtc1 $v1, $f8 +/* C72458 80240FD8 00000000 */ nop +/* C7245C 80240FDC 46804220 */ cvt.s.w $f8, $f8 +/* C72460 80240FE0 44074000 */ mfc1 $a3, $f8 +/* C72464 80240FE4 27A20038 */ addiu $v0, $sp, 0x38 +/* C72468 80240FE8 AFB2001C */ sw $s2, 0x1c($sp) +/* C7246C 80240FEC AFA20020 */ sw $v0, 0x20($sp) +/* C72470 80240FF0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C72474 80240FF4 E7A20014 */ swc1 $f2, 0x14($sp) +/* C72478 80240FF8 0C01BFA4 */ jal fx_emote +/* C7247C 80240FFC E7A40018 */ swc1 $f4, 0x18($sp) +/* C72480 80241000 0200202D */ daddu $a0, $s0, $zero +/* C72484 80241004 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C72488 80241008 C480003C */ lwc1 $f0, 0x3c($a0) +/* C7248C 8024100C 3C060020 */ lui $a2, 0x20 +/* C72490 80241010 0C012530 */ jal func_800494C0 +/* C72494 80241014 E4800064 */ swc1 $f0, 0x64($a0) +/* C72498 80241018 8E220018 */ lw $v0, 0x18($s1) +/* C7249C 8024101C 9442002A */ lhu $v0, 0x2a($v0) +/* C724A0 80241020 30420001 */ andi $v0, $v0, 1 +/* C724A4 80241024 10400003 */ beqz $v0, .L80241034 +/* C724A8 80241028 2402000A */ addiu $v0, $zero, 0xa +/* C724AC 8024102C 0809047D */ j .L802411F4 +/* C724B0 80241030 AE620070 */ sw $v0, 0x70($s3) +.L80241034: +/* C724B4 80241034 0809047D */ j .L802411F4 +/* C724B8 80241038 AE720070 */ sw $s2, 0x70($s3) +.L8024103C: +/* C724BC 8024103C 8E620074 */ lw $v0, 0x74($s3) +/* C724C0 80241040 2442FFFF */ addiu $v0, $v0, -1 +.L80241044: +/* C724C4 80241044 08090414 */ j .L80241050 +/* C724C8 80241048 AE620074 */ sw $v0, 0x74($s3) +.L8024104C: +/* C724CC 8024104C AE220090 */ sw $v0, 0x90($s1) +.L80241050: +/* C724D0 80241050 8E2300D0 */ lw $v1, 0xd0($s1) +/* C724D4 80241054 C6000040 */ lwc1 $f0, 0x40($s0) +/* C724D8 80241058 C4620000 */ lwc1 $f2, ($v1) +/* C724DC 8024105C 468010A0 */ cvt.s.w $f2, $f2 +/* C724E0 80241060 C4640008 */ lwc1 $f4, 8($v1) +/* C724E4 80241064 46802120 */ cvt.s.w $f4, $f4 +/* C724E8 80241068 E7A00010 */ swc1 $f0, 0x10($sp) +/* C724EC 8024106C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C724F0 80241070 44051000 */ mfc1 $a1, $f2 +/* C724F4 80241074 C440000C */ lwc1 $f0, 0xc($v0) +/* C724F8 80241078 46800020 */ cvt.s.w $f0, $f0 +/* C724FC 8024107C E7A00014 */ swc1 $f0, 0x14($sp) +/* C72500 80241080 8E2200D0 */ lw $v0, 0xd0($s1) +/* C72504 80241084 44062000 */ mfc1 $a2, $f4 +/* C72508 80241088 C4400010 */ lwc1 $f0, 0x10($v0) +/* C7250C 8024108C 46800020 */ cvt.s.w $f0, $f0 +/* C72510 80241090 E7A00018 */ swc1 $f0, 0x18($sp) +/* C72514 80241094 8C640018 */ lw $a0, 0x18($v1) +/* C72518 80241098 0C0123F5 */ jal is_point_within_region +/* C7251C 8024109C 8E070038 */ lw $a3, 0x38($s0) +/* C72520 802410A0 1040001A */ beqz $v0, .L8024110C +/* C72524 802410A4 00000000 */ nop +/* C72528 802410A8 8E060038 */ lw $a2, 0x38($s0) +/* C7252C 802410AC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C72530 802410B0 8E070040 */ lw $a3, 0x40($s0) +/* C72534 802410B4 C44C0000 */ lwc1 $f12, ($v0) +/* C72538 802410B8 46806320 */ cvt.s.w $f12, $f12 +/* C7253C 802410BC C44E0008 */ lwc1 $f14, 8($v0) +/* C72540 802410C0 0C00A7B5 */ jal dist2D +/* C72544 802410C4 468073A0 */ cvt.s.w $f14, $f14 +/* C72548 802410C8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C7254C 802410CC 4600103C */ c.lt.s $f2, $f0 +/* C72550 802410D0 00000000 */ nop +/* C72554 802410D4 4500000D */ bc1f .L8024110C +/* C72558 802410D8 E7A00034 */ swc1 $f0, 0x34($sp) +/* C7255C 802410DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C72560 802410E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C72564 802410E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C72568 802410E8 C4480000 */ lwc1 $f8, ($v0) +/* C7256C 802410EC 46804220 */ cvt.s.w $f8, $f8 +/* C72570 802410F0 44064000 */ mfc1 $a2, $f8 +/* C72574 802410F4 C4480008 */ lwc1 $f8, 8($v0) +/* C72578 802410F8 46804220 */ cvt.s.w $f8, $f8 +/* C7257C 802410FC 44074000 */ mfc1 $a3, $f8 +/* C72580 80241100 0C00A720 */ jal atan2 +/* C72584 80241104 24140001 */ addiu $s4, $zero, 1 +/* C72588 80241108 E600000C */ swc1 $f0, 0xc($s0) +.L8024110C: +/* C7258C 8024110C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C72590 80241110 8C43000C */ lw $v1, 0xc($v0) +/* C72594 80241114 8C420010 */ lw $v0, 0x10($v0) +/* C72598 80241118 00621825 */ or $v1, $v1, $v0 +/* C7259C 8024111C 00741825 */ or $v1, $v1, $s4 +/* C725A0 80241120 10600008 */ beqz $v1, .L80241144 +/* C725A4 80241124 00000000 */ nop +/* C725A8 80241128 8602008C */ lh $v0, 0x8c($s0) +/* C725AC 8024112C 14400031 */ bnez $v0, .L802411F4 +/* C725B0 80241130 00000000 */ nop +/* C725B4 80241134 8E050018 */ lw $a1, 0x18($s0) +/* C725B8 80241138 8E06000C */ lw $a2, 0xc($s0) +/* C725BC 8024113C 0C00EA95 */ jal npc_move_heading +/* C725C0 80241140 0200202D */ daddu $a0, $s0, $zero +.L80241144: +/* C725C4 80241144 C600003C */ lwc1 $f0, 0x3c($s0) +/* C725C8 80241148 3C014059 */ lui $at, 0x4059 +/* C725CC 8024114C 44811800 */ mtc1 $at, $f3 +/* C725D0 80241150 44801000 */ mtc1 $zero, $f2 +/* C725D4 80241154 46000021 */ cvt.d.s $f0, $f0 +/* C725D8 80241158 46220002 */ mul.d $f0, $f0, $f2 +/* C725DC 8024115C 00000000 */ nop +/* C725E0 80241160 4620020D */ trunc.w.d $f8, $f0 +/* C725E4 80241164 E628007C */ swc1 $f8, 0x7c($s1) +/* C725E8 80241168 8E420004 */ lw $v0, 4($s2) +/* C725EC 8024116C 18400021 */ blez $v0, .L802411F4 +/* C725F0 80241170 00000000 */ nop +/* C725F4 80241174 8602008E */ lh $v0, 0x8e($s0) +/* C725F8 80241178 9603008E */ lhu $v1, 0x8e($s0) +/* C725FC 8024117C 18400005 */ blez $v0, .L80241194 +/* C72600 80241180 2462FFFF */ addiu $v0, $v1, -1 +/* C72604 80241184 A602008E */ sh $v0, 0x8e($s0) +/* C72608 80241188 00021400 */ sll $v0, $v0, 0x10 +/* C7260C 8024118C 1C400019 */ bgtz $v0, .L802411F4 +/* C72610 80241190 00000000 */ nop +.L80241194: +/* C72614 80241194 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C72618 80241198 24020002 */ addiu $v0, $zero, 2 +/* C7261C 8024119C 0C00A67F */ jal rand_int +/* C72620 802411A0 AE620070 */ sw $v0, 0x70($s3) +/* C72624 802411A4 3C035555 */ lui $v1, 0x5555 +/* C72628 802411A8 34635556 */ ori $v1, $v1, 0x5556 +/* C7262C 802411AC 00430018 */ mult $v0, $v1 +/* C72630 802411B0 000227C3 */ sra $a0, $v0, 0x1f +/* C72634 802411B4 00004010 */ mfhi $t0 +/* C72638 802411B8 01042023 */ subu $a0, $t0, $a0 +/* C7263C 802411BC 00041840 */ sll $v1, $a0, 1 +/* C72640 802411C0 00641821 */ addu $v1, $v1, $a0 +/* C72644 802411C4 00431023 */ subu $v0, $v0, $v1 +/* C72648 802411C8 24430002 */ addiu $v1, $v0, 2 +/* C7264C 802411CC AE630074 */ sw $v1, 0x74($s3) +/* C72650 802411D0 8E42002C */ lw $v0, 0x2c($s2) +/* C72654 802411D4 58400007 */ blezl $v0, .L802411F4 +/* C72658 802411D8 AE600070 */ sw $zero, 0x70($s3) +/* C7265C 802411DC 8E420008 */ lw $v0, 8($s2) +/* C72660 802411E0 18400003 */ blez $v0, .L802411F0 +/* C72664 802411E4 28620003 */ slti $v0, $v1, 3 +/* C72668 802411E8 10400002 */ beqz $v0, .L802411F4 +/* C7266C 802411EC 00000000 */ nop +.L802411F0: +/* C72670 802411F0 AE600070 */ sw $zero, 0x70($s3) +.L802411F4: +/* C72674 802411F4 8FBF0058 */ lw $ra, 0x58($sp) +/* C72678 802411F8 8FB50054 */ lw $s5, 0x54($sp) +/* C7267C 802411FC 8FB40050 */ lw $s4, 0x50($sp) +/* C72680 80241200 8FB3004C */ lw $s3, 0x4c($sp) +/* C72684 80241204 8FB20048 */ lw $s2, 0x48($sp) +/* C72688 80241208 8FB10044 */ lw $s1, 0x44($sp) +/* C7268C 8024120C 8FB00040 */ lw $s0, 0x40($sp) +/* C72690 80241210 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C72694 80241214 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C72698 80241218 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C7269C 8024121C D7B40060 */ ldc1 $f20, 0x60($sp) +/* C726A0 80241220 03E00008 */ jr $ra +/* C726A4 80241224 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241228.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241228.s new file mode 100644 index 0000000000..10dcfa1476 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241228.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241228 +/* C726A8 80241228 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C726AC 8024122C AFB3001C */ sw $s3, 0x1c($sp) +/* C726B0 80241230 0080982D */ daddu $s3, $a0, $zero +/* C726B4 80241234 AFBF0020 */ sw $ra, 0x20($sp) +/* C726B8 80241238 AFB20018 */ sw $s2, 0x18($sp) +/* C726BC 8024123C AFB10014 */ sw $s1, 0x14($sp) +/* C726C0 80241240 AFB00010 */ sw $s0, 0x10($sp) +/* C726C4 80241244 8E720148 */ lw $s2, 0x148($s3) +/* C726C8 80241248 86440008 */ lh $a0, 8($s2) +/* C726CC 8024124C 0C00EABB */ jal get_npc_unsafe +/* C726D0 80241250 00A0882D */ daddu $s1, $a1, $zero +/* C726D4 80241254 8E240008 */ lw $a0, 8($s1) +/* C726D8 80241258 0040802D */ daddu $s0, $v0, $zero +/* C726DC 8024125C 00041FC2 */ srl $v1, $a0, 0x1f +/* C726E0 80241260 00832021 */ addu $a0, $a0, $v1 +/* C726E4 80241264 00042043 */ sra $a0, $a0, 1 +/* C726E8 80241268 0C00A67F */ jal rand_int +/* C726EC 8024126C 24840001 */ addiu $a0, $a0, 1 +/* C726F0 80241270 8E230008 */ lw $v1, 8($s1) +/* C726F4 80241274 240400B4 */ addiu $a0, $zero, 0xb4 +/* C726F8 80241278 00032FC2 */ srl $a1, $v1, 0x1f +/* C726FC 8024127C 00651821 */ addu $v1, $v1, $a1 +/* C72700 80241280 00031843 */ sra $v1, $v1, 1 +/* C72704 80241284 00621821 */ addu $v1, $v1, $v0 +/* C72708 80241288 0C00A67F */ jal rand_int +/* C7270C 8024128C A603008E */ sh $v1, 0x8e($s0) +/* C72710 80241290 C60C000C */ lwc1 $f12, 0xc($s0) +/* C72714 80241294 44820000 */ mtc1 $v0, $f0 +/* C72718 80241298 00000000 */ nop +/* C7271C 8024129C 46800020 */ cvt.s.w $f0, $f0 +/* C72720 802412A0 46006300 */ add.s $f12, $f12, $f0 +/* C72724 802412A4 3C0142B4 */ lui $at, 0x42b4 +/* C72728 802412A8 44810000 */ mtc1 $at, $f0 +/* C7272C 802412AC 0C00A6C9 */ jal clamp_angle +/* C72730 802412B0 46006301 */ sub.s $f12, $f12, $f0 +/* C72734 802412B4 E600000C */ swc1 $f0, 0xc($s0) +/* C72738 802412B8 8E4200CC */ lw $v0, 0xcc($s2) +/* C7273C 802412BC 8C420000 */ lw $v0, ($v0) +/* C72740 802412C0 AE020028 */ sw $v0, 0x28($s0) +/* C72744 802412C4 24020003 */ addiu $v0, $zero, 3 +/* C72748 802412C8 AE620070 */ sw $v0, 0x70($s3) +/* C7274C 802412CC 8FBF0020 */ lw $ra, 0x20($sp) +/* C72750 802412D0 8FB3001C */ lw $s3, 0x1c($sp) +/* C72754 802412D4 8FB20018 */ lw $s2, 0x18($sp) +/* C72758 802412D8 8FB10014 */ lw $s1, 0x14($sp) +/* C7275C 802412DC 8FB00010 */ lw $s0, 0x10($sp) +/* C72760 802412E0 03E00008 */ jr $ra +/* C72764 802412E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802412E8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802412E8_C71480.s new file mode 100644 index 0000000000..9a84799a88 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802412E8_C71480.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E8_C72768 +/* C72768 802412E8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C7276C 802412EC AFB3004C */ sw $s3, 0x4c($sp) +/* C72770 802412F0 0080982D */ daddu $s3, $a0, $zero +/* C72774 802412F4 AFBF0054 */ sw $ra, 0x54($sp) +/* C72778 802412F8 AFB40050 */ sw $s4, 0x50($sp) +/* C7277C 802412FC AFB20048 */ sw $s2, 0x48($sp) +/* C72780 80241300 AFB10044 */ sw $s1, 0x44($sp) +/* C72784 80241304 AFB00040 */ sw $s0, 0x40($sp) +/* C72788 80241308 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C7278C 8024130C F7B80068 */ sdc1 $f24, 0x68($sp) +/* C72790 80241310 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C72794 80241314 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C72798 80241318 8E710148 */ lw $s1, 0x148($s3) +/* C7279C 8024131C 00A0902D */ daddu $s2, $a1, $zero +/* C727A0 80241320 86240008 */ lh $a0, 8($s1) +/* C727A4 80241324 0C00EABB */ jal get_npc_unsafe +/* C727A8 80241328 00C0A02D */ daddu $s4, $a2, $zero +/* C727AC 8024132C 0040802D */ daddu $s0, $v0, $zero +/* C727B0 80241330 C6200078 */ lwc1 $f0, 0x78($s1) +/* C727B4 80241334 46800020 */ cvt.s.w $f0, $f0 +/* C727B8 80241338 46000021 */ cvt.d.s $f0, $f0 +/* C727BC 8024133C 3C014059 */ lui $at, 0x4059 +/* C727C0 80241340 44811800 */ mtc1 $at, $f3 +/* C727C4 80241344 44801000 */ mtc1 $zero, $f2 +/* C727C8 80241348 8602008E */ lh $v0, 0x8e($s0) +/* C727CC 8024134C 9603008E */ lhu $v1, 0x8e($s0) +/* C727D0 80241350 46220003 */ div.d $f0, $f0, $f2 +/* C727D4 80241354 46200620 */ cvt.s.d $f24, $f0 +/* C727D8 80241358 C6200088 */ lwc1 $f0, 0x88($s1) +/* C727DC 8024135C 46800020 */ cvt.s.w $f0, $f0 +/* C727E0 80241360 46000021 */ cvt.d.s $f0, $f0 +/* C727E4 80241364 46220003 */ div.d $f0, $f0, $f2 +/* C727E8 80241368 46200020 */ cvt.s.d $f0, $f0 +/* C727EC 8024136C 18400003 */ blez $v0, .L8024137C +/* C727F0 80241370 4600C680 */ add.s $f26, $f24, $f0 +/* C727F4 80241374 2462FFFF */ addiu $v0, $v1, -1 +/* C727F8 80241378 A602008E */ sh $v0, 0x8e($s0) +.L8024137C: +/* C727FC 8024137C 8E220070 */ lw $v0, 0x70($s1) +/* C72800 80241380 18400034 */ blez $v0, .L80241454 +/* C72804 80241384 00000000 */ nop +/* C72808 80241388 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C7280C 8024138C 46806320 */ cvt.s.w $f12, $f12 +/* C72810 80241390 44820000 */ mtc1 $v0, $f0 +/* C72814 80241394 00000000 */ nop +/* C72818 80241398 46800020 */ cvt.s.w $f0, $f0 +/* C7281C 8024139C 46000021 */ cvt.d.s $f0, $f0 +/* C72820 802413A0 46220003 */ div.d $f0, $f0, $f2 +/* C72824 802413A4 0C00A8BB */ jal sin_deg +/* C72828 802413A8 462005A0 */ cvt.s.d $f22, $f0 +/* C7282C 802413AC 8E020000 */ lw $v0, ($s0) +/* C72830 802413B0 30420008 */ andi $v0, $v0, 8 +/* C72834 802413B4 10400003 */ beqz $v0, .L802413C4 +/* C72838 802413B8 46000506 */ mov.s $f20, $f0 +/* C7283C 802413BC 08090501 */ j .L80241404 +/* C72840 802413C0 0000102D */ daddu $v0, $zero, $zero +.L802413C4: +/* C72844 802413C4 27A50028 */ addiu $a1, $sp, 0x28 +/* C72848 802413C8 27A6002C */ addiu $a2, $sp, 0x2c +/* C7284C 802413CC C6000038 */ lwc1 $f0, 0x38($s0) +/* C72850 802413D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C72854 802413D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C72858 802413D8 3C01447A */ lui $at, 0x447a +/* C7285C 802413DC 44813000 */ mtc1 $at, $f6 +/* C72860 802413E0 27A20034 */ addiu $v0, $sp, 0x34 +/* C72864 802413E4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C72868 802413E8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C7286C 802413EC E7A40030 */ swc1 $f4, 0x30($sp) +/* C72870 802413F0 E7A60034 */ swc1 $f6, 0x34($sp) +/* C72874 802413F4 AFA20010 */ sw $v0, 0x10($sp) +/* C72878 802413F8 8E040080 */ lw $a0, 0x80($s0) +/* C7287C 802413FC 0C0372DF */ jal func_800DCB7C +/* C72880 80241400 27A70030 */ addiu $a3, $sp, 0x30 +.L80241404: +/* C72884 80241404 10400007 */ beqz $v0, .L80241424 +/* C72888 80241408 00000000 */ nop +/* C7288C 8024140C 4616A082 */ mul.s $f2, $f20, $f22 +/* C72890 80241410 00000000 */ nop +/* C72894 80241414 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C72898 80241418 46180000 */ add.s $f0, $f0, $f24 +/* C7289C 8024141C 0809050C */ j .L80241430 +/* C728A0 80241420 46020000 */ add.s $f0, $f0, $f2 +.L80241424: +/* C728A4 80241424 4616A002 */ mul.s $f0, $f20, $f22 +/* C728A8 80241428 00000000 */ nop +/* C728AC 8024142C 4600D000 */ add.s $f0, $f26, $f0 +.L80241430: +/* C728B0 80241430 E600003C */ swc1 $f0, 0x3c($s0) +/* C728B4 80241434 8E220074 */ lw $v0, 0x74($s1) +/* C728B8 80241438 2442000A */ addiu $v0, $v0, 0xa +/* C728BC 8024143C 44826000 */ mtc1 $v0, $f12 +/* C728C0 80241440 00000000 */ nop +/* C728C4 80241444 0C00A6C9 */ jal clamp_angle +/* C728C8 80241448 46806320 */ cvt.s.w $f12, $f12 +/* C728CC 8024144C 4600020D */ trunc.w.s $f8, $f0 +/* C728D0 80241450 E6280074 */ swc1 $f8, 0x74($s1) +.L80241454: +/* C728D4 80241454 8E220090 */ lw $v0, 0x90($s1) +/* C728D8 80241458 1C400040 */ bgtz $v0, .L8024155C +/* C728DC 8024145C 2442FFFF */ addiu $v0, $v0, -1 +/* C728E0 80241460 860200A8 */ lh $v0, 0xa8($s0) +/* C728E4 80241464 C600003C */ lwc1 $f0, 0x3c($s0) +/* C728E8 80241468 44821000 */ mtc1 $v0, $f2 +/* C728EC 8024146C 00000000 */ nop +/* C728F0 80241470 468010A0 */ cvt.s.w $f2, $f2 +/* C728F4 80241474 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C728F8 80241478 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C728FC 8024147C 46020000 */ add.s $f0, $f0, $f2 +/* C72900 80241480 3C014024 */ lui $at, 0x4024 +/* C72904 80241484 44812800 */ mtc1 $at, $f5 +/* C72908 80241488 44802000 */ mtc1 $zero, $f4 +/* C7290C 8024148C C442002C */ lwc1 $f2, 0x2c($v0) +/* C72910 80241490 46000021 */ cvt.d.s $f0, $f0 +/* C72914 80241494 46240000 */ add.d $f0, $f0, $f4 +/* C72918 80241498 460010A1 */ cvt.d.s $f2, $f2 +/* C7291C 8024149C 4620103C */ c.lt.d $f2, $f0 +/* C72920 802414A0 00000000 */ nop +/* C72924 802414A4 4500002E */ bc1f .L80241560 +/* C72928 802414A8 0280202D */ daddu $a0, $s4, $zero +/* C7292C 802414AC 24020001 */ addiu $v0, $zero, 1 +/* C72930 802414B0 AFA20010 */ sw $v0, 0x10($sp) +/* C72934 802414B4 8E460024 */ lw $a2, 0x24($s2) +/* C72938 802414B8 8E470028 */ lw $a3, 0x28($s2) +/* C7293C 802414BC 0C01242D */ jal func_800490B4 +/* C72940 802414C0 0220282D */ daddu $a1, $s1, $zero +/* C72944 802414C4 10400026 */ beqz $v0, .L80241560 +/* C72948 802414C8 0000202D */ daddu $a0, $zero, $zero +/* C7294C 802414CC 0200282D */ daddu $a1, $s0, $zero +/* C72950 802414D0 0000302D */ daddu $a2, $zero, $zero +/* C72954 802414D4 2412000C */ addiu $s2, $zero, 0xc +/* C72958 802414D8 860300A8 */ lh $v1, 0xa8($s0) +/* C7295C 802414DC 3C013F80 */ lui $at, 0x3f80 +/* C72960 802414E0 44810000 */ mtc1 $at, $f0 +/* C72964 802414E4 3C014000 */ lui $at, 0x4000 +/* C72968 802414E8 44811000 */ mtc1 $at, $f2 +/* C7296C 802414EC 3C01C1A0 */ lui $at, 0xc1a0 +/* C72970 802414F0 44812000 */ mtc1 $at, $f4 +/* C72974 802414F4 44834000 */ mtc1 $v1, $f8 +/* C72978 802414F8 00000000 */ nop +/* C7297C 802414FC 46804220 */ cvt.s.w $f8, $f8 +/* C72980 80241500 44074000 */ mfc1 $a3, $f8 +/* C72984 80241504 27A20038 */ addiu $v0, $sp, 0x38 +/* C72988 80241508 AFB2001C */ sw $s2, 0x1c($sp) +/* C7298C 8024150C AFA20020 */ sw $v0, 0x20($sp) +/* C72990 80241510 E7A00010 */ swc1 $f0, 0x10($sp) +/* C72994 80241514 E7A20014 */ swc1 $f2, 0x14($sp) +/* C72998 80241518 0C01BFA4 */ jal fx_emote +/* C7299C 8024151C E7A40018 */ swc1 $f4, 0x18($sp) +/* C729A0 80241520 0200202D */ daddu $a0, $s0, $zero +/* C729A4 80241524 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C729A8 80241528 C480003C */ lwc1 $f0, 0x3c($a0) +/* C729AC 8024152C 3C060020 */ lui $a2, 0x20 +/* C729B0 80241530 0C012530 */ jal func_800494C0 +/* C729B4 80241534 E4800064 */ swc1 $f0, 0x64($a0) +/* C729B8 80241538 8E220018 */ lw $v0, 0x18($s1) +/* C729BC 8024153C 9442002A */ lhu $v0, 0x2a($v0) +/* C729C0 80241540 30420001 */ andi $v0, $v0, 1 +/* C729C4 80241544 10400003 */ beqz $v0, .L80241554 +/* C729C8 80241548 2402000A */ addiu $v0, $zero, 0xa +/* C729CC 8024154C 0809057F */ j .L802415FC +/* C729D0 80241550 AE620070 */ sw $v0, 0x70($s3) +.L80241554: +/* C729D4 80241554 0809057F */ j .L802415FC +/* C729D8 80241558 AE720070 */ sw $s2, 0x70($s3) +.L8024155C: +/* C729DC 8024155C AE220090 */ sw $v0, 0x90($s1) +.L80241560: +/* C729E0 80241560 8602008C */ lh $v0, 0x8c($s0) +/* C729E4 80241564 14400025 */ bnez $v0, .L802415FC +/* C729E8 80241568 00000000 */ nop +/* C729EC 8024156C 8602008E */ lh $v0, 0x8e($s0) +/* C729F0 80241570 1C400022 */ bgtz $v0, .L802415FC +/* C729F4 80241574 00000000 */ nop +/* C729F8 80241578 8E620074 */ lw $v0, 0x74($s3) +/* C729FC 8024157C 2442FFFF */ addiu $v0, $v0, -1 +/* C72A00 80241580 1840001D */ blez $v0, .L802415F8 +/* C72A04 80241584 AE620074 */ sw $v0, 0x74($s3) +/* C72A08 80241588 8E220018 */ lw $v0, 0x18($s1) +/* C72A0C 8024158C 9442002A */ lhu $v0, 0x2a($v0) +/* C72A10 80241590 30420010 */ andi $v0, $v0, 0x10 +/* C72A14 80241594 14400007 */ bnez $v0, .L802415B4 +/* C72A18 80241598 00000000 */ nop +/* C72A1C 8024159C C600000C */ lwc1 $f0, 0xc($s0) +/* C72A20 802415A0 3C014334 */ lui $at, 0x4334 +/* C72A24 802415A4 44816000 */ mtc1 $at, $f12 +/* C72A28 802415A8 0C00A6C9 */ jal clamp_angle +/* C72A2C 802415AC 460C0300 */ add.s $f12, $f0, $f12 +/* C72A30 802415B0 E600000C */ swc1 $f0, 0xc($s0) +.L802415B4: +/* C72A34 802415B4 0C00A67F */ jal rand_int +/* C72A38 802415B8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C72A3C 802415BC 3C032E8B */ lui $v1, 0x2e8b +/* C72A40 802415C0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C72A44 802415C4 00430018 */ mult $v0, $v1 +/* C72A48 802415C8 00021FC3 */ sra $v1, $v0, 0x1f +/* C72A4C 802415CC 00004010 */ mfhi $t0 +/* C72A50 802415D0 00082043 */ sra $a0, $t0, 1 +/* C72A54 802415D4 00832023 */ subu $a0, $a0, $v1 +/* C72A58 802415D8 00041840 */ sll $v1, $a0, 1 +/* C72A5C 802415DC 00641821 */ addu $v1, $v1, $a0 +/* C72A60 802415E0 00031880 */ sll $v1, $v1, 2 +/* C72A64 802415E4 00641823 */ subu $v1, $v1, $a0 +/* C72A68 802415E8 00431023 */ subu $v0, $v0, $v1 +/* C72A6C 802415EC 24420005 */ addiu $v0, $v0, 5 +/* C72A70 802415F0 0809057F */ j .L802415FC +/* C72A74 802415F4 A602008E */ sh $v0, 0x8e($s0) +.L802415F8: +/* C72A78 802415F8 AE600070 */ sw $zero, 0x70($s3) +.L802415FC: +/* C72A7C 802415FC 8FBF0054 */ lw $ra, 0x54($sp) +/* C72A80 80241600 8FB40050 */ lw $s4, 0x50($sp) +/* C72A84 80241604 8FB3004C */ lw $s3, 0x4c($sp) +/* C72A88 80241608 8FB20048 */ lw $s2, 0x48($sp) +/* C72A8C 8024160C 8FB10044 */ lw $s1, 0x44($sp) +/* C72A90 80241610 8FB00040 */ lw $s0, 0x40($sp) +/* C72A94 80241614 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C72A98 80241618 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C72A9C 8024161C D7B60060 */ ldc1 $f22, 0x60($sp) +/* C72AA0 80241620 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C72AA4 80241624 03E00008 */ jr $ra +/* C72AA8 80241628 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_8024162C_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024162C_C71480.s new file mode 100644 index 0000000000..04dce5e146 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024162C_C71480.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024162C_C72AAC +/* C72AAC 8024162C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C72AB0 80241630 AFB20018 */ sw $s2, 0x18($sp) +/* C72AB4 80241634 0080902D */ daddu $s2, $a0, $zero +/* C72AB8 80241638 AFBF001C */ sw $ra, 0x1c($sp) +/* C72ABC 8024163C AFB10014 */ sw $s1, 0x14($sp) +/* C72AC0 80241640 AFB00010 */ sw $s0, 0x10($sp) +/* C72AC4 80241644 8E510148 */ lw $s1, 0x148($s2) +/* C72AC8 80241648 0C00EABB */ jal get_npc_unsafe +/* C72ACC 8024164C 86240008 */ lh $a0, 8($s1) +/* C72AD0 80241650 0040802D */ daddu $s0, $v0, $zero +/* C72AD4 80241654 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C72AD8 80241658 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C72ADC 8024165C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C72AE0 80241660 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C72AE4 80241664 A600008E */ sh $zero, 0x8e($s0) +/* C72AE8 80241668 8C460028 */ lw $a2, 0x28($v0) +/* C72AEC 8024166C 0C00A720 */ jal atan2 +/* C72AF0 80241670 8C470030 */ lw $a3, 0x30($v0) +/* C72AF4 80241674 E600000C */ swc1 $f0, 0xc($s0) +/* C72AF8 80241678 8E2200CC */ lw $v0, 0xcc($s1) +/* C72AFC 8024167C 8C420020 */ lw $v0, 0x20($v0) +/* C72B00 80241680 AE020028 */ sw $v0, 0x28($s0) +/* C72B04 80241684 2402000B */ addiu $v0, $zero, 0xb +/* C72B08 80241688 AE420070 */ sw $v0, 0x70($s2) +/* C72B0C 8024168C 8FBF001C */ lw $ra, 0x1c($sp) +/* C72B10 80241690 8FB20018 */ lw $s2, 0x18($sp) +/* C72B14 80241694 8FB10014 */ lw $s1, 0x14($sp) +/* C72B18 80241698 8FB00010 */ lw $s0, 0x10($sp) +/* C72B1C 8024169C 03E00008 */ jr $ra +/* C72B20 802416A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802416A4.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802416A4.s new file mode 100644 index 0000000000..ceed19942a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802416A4.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416A4 +/* C72B24 802416A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C72B28 802416A8 AFB00010 */ sw $s0, 0x10($sp) +/* C72B2C 802416AC 0080802D */ daddu $s0, $a0, $zero +/* C72B30 802416B0 AFBF0014 */ sw $ra, 0x14($sp) +/* C72B34 802416B4 8E020148 */ lw $v0, 0x148($s0) +/* C72B38 802416B8 0C00EABB */ jal get_npc_unsafe +/* C72B3C 802416BC 84440008 */ lh $a0, 8($v0) +/* C72B40 802416C0 9443008E */ lhu $v1, 0x8e($v0) +/* C72B44 802416C4 C440003C */ lwc1 $f0, 0x3c($v0) +/* C72B48 802416C8 24640001 */ addiu $a0, $v1, 1 +/* C72B4C 802416CC 00031C00 */ sll $v1, $v1, 0x10 +/* C72B50 802416D0 00031B83 */ sra $v1, $v1, 0xe +/* C72B54 802416D4 A444008E */ sh $a0, 0x8e($v0) +/* C72B58 802416D8 3C018024 */ lui $at, 0x8024 +/* C72B5C 802416DC 00230821 */ addu $at, $at, $v1 +/* C72B60 802416E0 C4224DA0 */ lwc1 $f2, 0x4da0($at) +/* C72B64 802416E4 8443008E */ lh $v1, 0x8e($v0) +/* C72B68 802416E8 46020000 */ add.s $f0, $f0, $f2 +/* C72B6C 802416EC 28630005 */ slti $v1, $v1, 5 +/* C72B70 802416F0 14600003 */ bnez $v1, .L80241700 +/* C72B74 802416F4 E440003C */ swc1 $f0, 0x3c($v0) +/* C72B78 802416F8 2402000C */ addiu $v0, $zero, 0xc +/* C72B7C 802416FC AE020070 */ sw $v0, 0x70($s0) +.L80241700: +/* C72B80 80241700 8FBF0014 */ lw $ra, 0x14($sp) +/* C72B84 80241704 8FB00010 */ lw $s0, 0x10($sp) +/* C72B88 80241708 03E00008 */ jr $ra +/* C72B8C 8024170C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241710.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241710.s new file mode 100644 index 0000000000..f7e444f3e4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241710.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241710 +/* C72B90 80241710 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C72B94 80241714 AFB3001C */ sw $s3, 0x1c($sp) +/* C72B98 80241718 0080982D */ daddu $s3, $a0, $zero +/* C72B9C 8024171C AFBF0020 */ sw $ra, 0x20($sp) +/* C72BA0 80241720 AFB20018 */ sw $s2, 0x18($sp) +/* C72BA4 80241724 AFB10014 */ sw $s1, 0x14($sp) +/* C72BA8 80241728 AFB00010 */ sw $s0, 0x10($sp) +/* C72BAC 8024172C 8E720148 */ lw $s2, 0x148($s3) +/* C72BB0 80241730 86440008 */ lh $a0, 8($s2) +/* C72BB4 80241734 0C00EABB */ jal get_npc_unsafe +/* C72BB8 80241738 00A0802D */ daddu $s0, $a1, $zero +/* C72BBC 8024173C 0040882D */ daddu $s1, $v0, $zero +/* C72BC0 80241740 C6420080 */ lwc1 $f2, 0x80($s2) +/* C72BC4 80241744 468010A0 */ cvt.s.w $f2, $f2 +/* C72BC8 80241748 460010A1 */ cvt.d.s $f2, $f2 +/* C72BCC 8024174C C6400084 */ lwc1 $f0, 0x84($s2) +/* C72BD0 80241750 46800020 */ cvt.s.w $f0, $f0 +/* C72BD4 80241754 46000021 */ cvt.d.s $f0, $f0 +/* C72BD8 80241758 3C014059 */ lui $at, 0x4059 +/* C72BDC 8024175C 44812800 */ mtc1 $at, $f5 +/* C72BE0 80241760 44802000 */ mtc1 $zero, $f4 +/* C72BE4 80241764 8E4200CC */ lw $v0, 0xcc($s2) +/* C72BE8 80241768 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C72BEC 8024176C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C72BF0 80241770 46241083 */ div.d $f2, $f2, $f4 +/* C72BF4 80241774 462010A0 */ cvt.s.d $f2, $f2 +/* C72BF8 80241778 46240003 */ div.d $f0, $f0, $f4 +/* C72BFC 8024177C 8C420020 */ lw $v0, 0x20($v0) +/* C72C00 80241780 46200020 */ cvt.s.d $f0, $f0 +/* C72C04 80241784 E622001C */ swc1 $f2, 0x1c($s1) +/* C72C08 80241788 E6200014 */ swc1 $f0, 0x14($s1) +/* C72C0C 8024178C AE220028 */ sw $v0, 0x28($s1) +/* C72C10 80241790 C6000018 */ lwc1 $f0, 0x18($s0) +/* C72C14 80241794 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C72C18 80241798 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C72C1C 8024179C E6200018 */ swc1 $f0, 0x18($s1) +/* C72C20 802417A0 8C460028 */ lw $a2, 0x28($v0) +/* C72C24 802417A4 0C00A720 */ jal atan2 +/* C72C28 802417A8 8C470030 */ lw $a3, 0x30($v0) +/* C72C2C 802417AC E620000C */ swc1 $f0, 0xc($s1) +/* C72C30 802417B0 8E420018 */ lw $v0, 0x18($s2) +/* C72C34 802417B4 AE400074 */ sw $zero, 0x74($s2) +/* C72C38 802417B8 9442002A */ lhu $v0, 0x2a($v0) +/* C72C3C 802417BC 30420002 */ andi $v0, $v0, 2 +/* C72C40 802417C0 10400005 */ beqz $v0, .L802417D8 +/* C72C44 802417C4 24020003 */ addiu $v0, $zero, 3 +/* C72C48 802417C8 A622008E */ sh $v0, 0x8e($s1) +/* C72C4C 802417CC 2402000D */ addiu $v0, $zero, 0xd +/* C72C50 802417D0 0809060A */ j .L80241828 +/* C72C54 802417D4 AE620070 */ sw $v0, 0x70($s3) +.L802417D8: +/* C72C58 802417D8 24030001 */ addiu $v1, $zero, 1 +/* C72C5C 802417DC 2402000E */ addiu $v0, $zero, 0xe +/* C72C60 802417E0 A623008E */ sh $v1, 0x8e($s1) +/* C72C64 802417E4 AE620070 */ sw $v0, 0x70($s3) +/* C72C68 802417E8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C72C6C 802417EC 4600018D */ trunc.w.s $f6, $f0 +/* C72C70 802417F0 44023000 */ mfc1 $v0, $f6 +/* C72C74 802417F4 00000000 */ nop +/* C72C78 802417F8 A6420010 */ sh $v0, 0x10($s2) +/* C72C7C 802417FC C620003C */ lwc1 $f0, 0x3c($s1) +/* C72C80 80241800 4600018D */ trunc.w.s $f6, $f0 +/* C72C84 80241804 44023000 */ mfc1 $v0, $f6 +/* C72C88 80241808 00000000 */ nop +/* C72C8C 8024180C A6420012 */ sh $v0, 0x12($s2) +/* C72C90 80241810 C6200040 */ lwc1 $f0, 0x40($s1) +/* C72C94 80241814 A2430007 */ sb $v1, 7($s2) +/* C72C98 80241818 4600018D */ trunc.w.s $f6, $f0 +/* C72C9C 8024181C 44023000 */ mfc1 $v0, $f6 +/* C72CA0 80241820 00000000 */ nop +/* C72CA4 80241824 A6420014 */ sh $v0, 0x14($s2) +.L80241828: +/* C72CA8 80241828 8FBF0020 */ lw $ra, 0x20($sp) +/* C72CAC 8024182C 8FB3001C */ lw $s3, 0x1c($sp) +/* C72CB0 80241830 8FB20018 */ lw $s2, 0x18($sp) +/* C72CB4 80241834 8FB10014 */ lw $s1, 0x14($sp) +/* C72CB8 80241838 8FB00010 */ lw $s0, 0x10($sp) +/* C72CBC 8024183C 03E00008 */ jr $ra +/* C72CC0 80241840 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241844.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241844.s new file mode 100644 index 0000000000..2eebdcbb73 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241844.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241844 +/* C72CC4 80241844 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C72CC8 80241848 AFB00010 */ sw $s0, 0x10($sp) +/* C72CCC 8024184C 0080802D */ daddu $s0, $a0, $zero +/* C72CD0 80241850 AFBF0014 */ sw $ra, 0x14($sp) +/* C72CD4 80241854 8E020148 */ lw $v0, 0x148($s0) +/* C72CD8 80241858 0C00EABB */ jal get_npc_unsafe +/* C72CDC 8024185C 84440008 */ lh $a0, 8($v0) +/* C72CE0 80241860 0040202D */ daddu $a0, $v0, $zero +/* C72CE4 80241864 8482008E */ lh $v0, 0x8e($a0) +/* C72CE8 80241868 9483008E */ lhu $v1, 0x8e($a0) +/* C72CEC 8024186C 18400005 */ blez $v0, .L80241884 +/* C72CF0 80241870 2462FFFF */ addiu $v0, $v1, -1 +/* C72CF4 80241874 A482008E */ sh $v0, 0x8e($a0) +/* C72CF8 80241878 00021400 */ sll $v0, $v0, 0x10 +/* C72CFC 8024187C 1C400006 */ bgtz $v0, .L80241898 +/* C72D00 80241880 00000000 */ nop +.L80241884: +/* C72D04 80241884 8482008C */ lh $v0, 0x8c($a0) +/* C72D08 80241888 14400003 */ bnez $v0, .L80241898 +/* C72D0C 8024188C 2402000E */ addiu $v0, $zero, 0xe +/* C72D10 80241890 A480008E */ sh $zero, 0x8e($a0) +/* C72D14 80241894 AE020070 */ sw $v0, 0x70($s0) +.L80241898: +/* C72D18 80241898 8FBF0014 */ lw $ra, 0x14($sp) +/* C72D1C 8024189C 8FB00010 */ lw $s0, 0x10($sp) +/* C72D20 802418A0 03E00008 */ jr $ra +/* C72D24 802418A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802418A8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802418A8_C71480.s new file mode 100644 index 0000000000..c810e22290 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802418A8_C71480.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418A8_C72D28 +/* C72D28 802418A8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C72D2C 802418AC AFB20030 */ sw $s2, 0x30($sp) +/* C72D30 802418B0 0080902D */ daddu $s2, $a0, $zero +/* C72D34 802418B4 AFBF0038 */ sw $ra, 0x38($sp) +/* C72D38 802418B8 AFB30034 */ sw $s3, 0x34($sp) +/* C72D3C 802418BC AFB1002C */ sw $s1, 0x2c($sp) +/* C72D40 802418C0 AFB00028 */ sw $s0, 0x28($sp) +/* C72D44 802418C4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C72D48 802418C8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C72D4C 802418CC 8E510148 */ lw $s1, 0x148($s2) +/* C72D50 802418D0 86240008 */ lh $a0, 8($s1) +/* C72D54 802418D4 0C00EABB */ jal get_npc_unsafe +/* C72D58 802418D8 00A0982D */ daddu $s3, $a1, $zero +/* C72D5C 802418DC 0040802D */ daddu $s0, $v0, $zero +/* C72D60 802418E0 0200202D */ daddu $a0, $s0, $zero +/* C72D64 802418E4 C6220088 */ lwc1 $f2, 0x88($s1) +/* C72D68 802418E8 468010A0 */ cvt.s.w $f2, $f2 +/* C72D6C 802418EC 460010A1 */ cvt.d.s $f2, $f2 +/* C72D70 802418F0 C604001C */ lwc1 $f4, 0x1c($s0) +/* C72D74 802418F4 C6000014 */ lwc1 $f0, 0x14($s0) +/* C72D78 802418F8 8E050018 */ lw $a1, 0x18($s0) +/* C72D7C 802418FC 46002100 */ add.s $f4, $f4, $f0 +/* C72D80 80241900 8E06000C */ lw $a2, 0xc($s0) +/* C72D84 80241904 C6200078 */ lwc1 $f0, 0x78($s1) +/* C72D88 80241908 46800020 */ cvt.s.w $f0, $f0 +/* C72D8C 8024190C E604001C */ swc1 $f4, 0x1c($s0) +/* C72D90 80241910 3C014059 */ lui $at, 0x4059 +/* C72D94 80241914 44812800 */ mtc1 $at, $f5 +/* C72D98 80241918 44802000 */ mtc1 $zero, $f4 +/* C72D9C 8024191C 46000021 */ cvt.d.s $f0, $f0 +/* C72DA0 80241920 46240003 */ div.d $f0, $f0, $f4 +/* C72DA4 80241924 46200520 */ cvt.s.d $f20, $f0 +/* C72DA8 80241928 46241083 */ div.d $f2, $f2, $f4 +/* C72DAC 8024192C 0C00EA95 */ jal npc_move_heading +/* C72DB0 80241930 462015A0 */ cvt.s.d $f22, $f2 +/* C72DB4 80241934 C604001C */ lwc1 $f4, 0x1c($s0) +/* C72DB8 80241938 44801000 */ mtc1 $zero, $f2 +/* C72DBC 8024193C 44801800 */ mtc1 $zero, $f3 +/* C72DC0 80241940 46002021 */ cvt.d.s $f0, $f4 +/* C72DC4 80241944 4620103E */ c.le.d $f2, $f0 +/* C72DC8 80241948 00000000 */ nop +/* C72DCC 8024194C 45000030 */ bc1f .L80241A10 +/* C72DD0 80241950 00000000 */ nop +/* C72DD4 80241954 C600003C */ lwc1 $f0, 0x3c($s0) +/* C72DD8 80241958 46040000 */ add.s $f0, $f0, $f4 +/* C72DDC 8024195C E600003C */ swc1 $f0, 0x3c($s0) +/* C72DE0 80241960 8E2200CC */ lw $v0, 0xcc($s1) +/* C72DE4 80241964 8C420024 */ lw $v0, 0x24($v0) +/* C72DE8 80241968 AE020028 */ sw $v0, 0x28($s0) +/* C72DEC 8024196C A2200007 */ sb $zero, 7($s1) +/* C72DF0 80241970 8E020000 */ lw $v0, ($s0) +/* C72DF4 80241974 30420008 */ andi $v0, $v0, 8 +/* C72DF8 80241978 14400011 */ bnez $v0, .L802419C0 +/* C72DFC 8024197C 0000102D */ daddu $v0, $zero, $zero +/* C72E00 80241980 27A50018 */ addiu $a1, $sp, 0x18 +/* C72E04 80241984 27A6001C */ addiu $a2, $sp, 0x1c +/* C72E08 80241988 C6000038 */ lwc1 $f0, 0x38($s0) +/* C72E0C 8024198C C602003C */ lwc1 $f2, 0x3c($s0) +/* C72E10 80241990 C6040040 */ lwc1 $f4, 0x40($s0) +/* C72E14 80241994 3C01447A */ lui $at, 0x447a +/* C72E18 80241998 44813000 */ mtc1 $at, $f6 +/* C72E1C 8024199C 27A20024 */ addiu $v0, $sp, 0x24 +/* C72E20 802419A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C72E24 802419A4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C72E28 802419A8 E7A40020 */ swc1 $f4, 0x20($sp) +/* C72E2C 802419AC E7A60024 */ swc1 $f6, 0x24($sp) +/* C72E30 802419B0 AFA20010 */ sw $v0, 0x10($sp) +/* C72E34 802419B4 8E040080 */ lw $a0, 0x80($s0) +/* C72E38 802419B8 0C0372DF */ jal func_800DCB7C +/* C72E3C 802419BC 27A70020 */ addiu $a3, $sp, 0x20 +.L802419C0: +/* C72E40 802419C0 1040000B */ beqz $v0, .L802419F0 +/* C72E44 802419C4 00000000 */ nop +/* C72E48 802419C8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C72E4C 802419CC 46140080 */ add.s $f2, $f0, $f20 +/* C72E50 802419D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C72E54 802419D4 4600103E */ c.le.s $f2, $f0 +/* C72E58 802419D8 00000000 */ nop +/* C72E5C 802419DC 4500008D */ bc1f .L80241C14 +/* C72E60 802419E0 00000000 */ nop +/* C72E64 802419E4 E602003C */ swc1 $f2, 0x3c($s0) +/* C72E68 802419E8 08090705 */ j .L80241C14 +/* C72E6C 802419EC AE400070 */ sw $zero, 0x70($s2) +.L802419F0: +/* C72E70 802419F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C72E74 802419F4 C6000064 */ lwc1 $f0, 0x64($s0) +/* C72E78 802419F8 4602003E */ c.le.s $f0, $f2 +/* C72E7C 802419FC 00000000 */ nop +/* C72E80 80241A00 45030084 */ bc1tl .L80241C14 +/* C72E84 80241A04 AE400070 */ sw $zero, 0x70($s2) +/* C72E88 80241A08 08090705 */ j .L80241C14 +/* C72E8C 80241A0C 00000000 */ nop +.L80241A10: +/* C72E90 80241A10 4622003C */ c.lt.d $f0, $f2 +/* C72E94 80241A14 00000000 */ nop +/* C72E98 80241A18 4500007E */ bc1f .L80241C14 +/* C72E9C 80241A1C 00000000 */ nop +/* C72EA0 80241A20 9602008E */ lhu $v0, 0x8e($s0) +/* C72EA4 80241A24 24420001 */ addiu $v0, $v0, 1 +/* C72EA8 80241A28 A602008E */ sh $v0, 0x8e($s0) +/* C72EAC 80241A2C 00021400 */ sll $v0, $v0, 0x10 +/* C72EB0 80241A30 8E630020 */ lw $v1, 0x20($s3) +/* C72EB4 80241A34 00021403 */ sra $v0, $v0, 0x10 +/* C72EB8 80241A38 0043102A */ slt $v0, $v0, $v1 +/* C72EBC 80241A3C 14400026 */ bnez $v0, .L80241AD8 +/* C72EC0 80241A40 00000000 */ nop +/* C72EC4 80241A44 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C72EC8 80241A48 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C72ECC 80241A4C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C72ED0 80241A50 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C72ED4 80241A54 A600008E */ sh $zero, 0x8e($s0) +/* C72ED8 80241A58 8C460028 */ lw $a2, 0x28($v0) +/* C72EDC 80241A5C 0C00A720 */ jal atan2 +/* C72EE0 80241A60 8C470030 */ lw $a3, 0x30($v0) +/* C72EE4 80241A64 46000506 */ mov.s $f20, $f0 +/* C72EE8 80241A68 C60C000C */ lwc1 $f12, 0xc($s0) +/* C72EEC 80241A6C 0C00A70A */ jal get_clamped_angle_diff +/* C72EF0 80241A70 4600A386 */ mov.s $f14, $f20 +/* C72EF4 80241A74 46000086 */ mov.s $f2, $f0 +/* C72EF8 80241A78 8E62001C */ lw $v0, 0x1c($s3) +/* C72EFC 80241A7C 46001005 */ abs.s $f0, $f2 +/* C72F00 80241A80 44822000 */ mtc1 $v0, $f4 +/* C72F04 80241A84 00000000 */ nop +/* C72F08 80241A88 46802120 */ cvt.s.w $f4, $f4 +/* C72F0C 80241A8C 4600203C */ c.lt.s $f4, $f0 +/* C72F10 80241A90 00000000 */ nop +/* C72F14 80241A94 4500000D */ bc1f .L80241ACC +/* C72F18 80241A98 00000000 */ nop +/* C72F1C 80241A9C 44800000 */ mtc1 $zero, $f0 +/* C72F20 80241AA0 C614000C */ lwc1 $f20, 0xc($s0) +/* C72F24 80241AA4 4600103C */ c.lt.s $f2, $f0 +/* C72F28 80241AA8 00000000 */ nop +/* C72F2C 80241AAC 45000006 */ bc1f .L80241AC8 +/* C72F30 80241AB0 00021023 */ negu $v0, $v0 +/* C72F34 80241AB4 44820000 */ mtc1 $v0, $f0 +/* C72F38 80241AB8 00000000 */ nop +/* C72F3C 80241ABC 46800020 */ cvt.s.w $f0, $f0 +/* C72F40 80241AC0 080906B3 */ j .L80241ACC +/* C72F44 80241AC4 4600A500 */ add.s $f20, $f20, $f0 +.L80241AC8: +/* C72F48 80241AC8 4604A500 */ add.s $f20, $f20, $f4 +.L80241ACC: +/* C72F4C 80241ACC 0C00A6C9 */ jal clamp_angle +/* C72F50 80241AD0 4600A306 */ mov.s $f12, $f20 +/* C72F54 80241AD4 E600000C */ swc1 $f0, 0xc($s0) +.L80241AD8: +/* C72F58 80241AD8 8E020000 */ lw $v0, ($s0) +/* C72F5C 80241ADC 30420008 */ andi $v0, $v0, 8 +/* C72F60 80241AE0 1040000A */ beqz $v0, .L80241B0C +/* C72F64 80241AE4 27A50018 */ addiu $a1, $sp, 0x18 +/* C72F68 80241AE8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C72F6C 80241AEC C600001C */ lwc1 $f0, 0x1c($s0) +/* C72F70 80241AF0 46001080 */ add.s $f2, $f2, $f0 +/* C72F74 80241AF4 4616103C */ c.lt.s $f2, $f22 +/* C72F78 80241AF8 00000000 */ nop +/* C72F7C 80241AFC 45020045 */ bc1fl .L80241C14 +/* C72F80 80241B00 E602003C */ swc1 $f2, 0x3c($s0) +/* C72F84 80241B04 08090704 */ j .L80241C10 +/* C72F88 80241B08 E616003C */ swc1 $f22, 0x3c($s0) +.L80241B0C: +/* C72F8C 80241B0C C6000038 */ lwc1 $f0, 0x38($s0) +/* C72F90 80241B10 27A6001C */ addiu $a2, $sp, 0x1c +/* C72F94 80241B14 E7A00018 */ swc1 $f0, 0x18($sp) +/* C72F98 80241B18 860200A8 */ lh $v0, 0xa8($s0) +/* C72F9C 80241B1C C600001C */ lwc1 $f0, 0x1c($s0) +/* C72FA0 80241B20 C604003C */ lwc1 $f4, 0x3c($s0) +/* C72FA4 80241B24 44821000 */ mtc1 $v0, $f2 +/* C72FA8 80241B28 00000000 */ nop +/* C72FAC 80241B2C 468010A0 */ cvt.s.w $f2, $f2 +/* C72FB0 80241B30 46000005 */ abs.s $f0, $f0 +/* C72FB4 80241B34 46020000 */ add.s $f0, $f0, $f2 +/* C72FB8 80241B38 C6060040 */ lwc1 $f6, 0x40($s0) +/* C72FBC 80241B3C 27A20024 */ addiu $v0, $sp, 0x24 +/* C72FC0 80241B40 46022100 */ add.s $f4, $f4, $f2 +/* C72FC4 80241B44 3C014024 */ lui $at, 0x4024 +/* C72FC8 80241B48 44811800 */ mtc1 $at, $f3 +/* C72FCC 80241B4C 44801000 */ mtc1 $zero, $f2 +/* C72FD0 80241B50 46000021 */ cvt.d.s $f0, $f0 +/* C72FD4 80241B54 46220000 */ add.d $f0, $f0, $f2 +/* C72FD8 80241B58 E7A60020 */ swc1 $f6, 0x20($sp) +/* C72FDC 80241B5C E7A4001C */ swc1 $f4, 0x1c($sp) +/* C72FE0 80241B60 46200020 */ cvt.s.d $f0, $f0 +/* C72FE4 80241B64 E7A00024 */ swc1 $f0, 0x24($sp) +/* C72FE8 80241B68 AFA20010 */ sw $v0, 0x10($sp) +/* C72FEC 80241B6C 8E040080 */ lw $a0, 0x80($s0) +/* C72FF0 80241B70 0C0372DF */ jal func_800DCB7C +/* C72FF4 80241B74 27A70020 */ addiu $a3, $sp, 0x20 +/* C72FF8 80241B78 10400015 */ beqz $v0, .L80241BD0 +/* C72FFC 80241B7C 00000000 */ nop +/* C73000 80241B80 860200A8 */ lh $v0, 0xa8($s0) +/* C73004 80241B84 C604001C */ lwc1 $f4, 0x1c($s0) +/* C73008 80241B88 44820000 */ mtc1 $v0, $f0 +/* C7300C 80241B8C 00000000 */ nop +/* C73010 80241B90 46800020 */ cvt.s.w $f0, $f0 +/* C73014 80241B94 46002085 */ abs.s $f2, $f4 +/* C73018 80241B98 46020000 */ add.s $f0, $f0, $f2 +/* C7301C 80241B9C C7A20024 */ lwc1 $f2, 0x24($sp) +/* C73020 80241BA0 4600103E */ c.le.s $f2, $f0 +/* C73024 80241BA4 00000000 */ nop +/* C73028 80241BA8 45000005 */ bc1f .L80241BC0 +/* C7302C 80241BAC 00000000 */ nop +/* C73030 80241BB0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C73034 80241BB4 AE00001C */ sw $zero, 0x1c($s0) +/* C73038 80241BB8 08090705 */ j .L80241C14 +/* C7303C 80241BBC E600003C */ swc1 $f0, 0x3c($s0) +.L80241BC0: +/* C73040 80241BC0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C73044 80241BC4 46040000 */ add.s $f0, $f0, $f4 +/* C73048 80241BC8 08090705 */ j .L80241C14 +/* C7304C 80241BCC E600003C */ swc1 $f0, 0x3c($s0) +.L80241BD0: +/* C73050 80241BD0 C606003C */ lwc1 $f6, 0x3c($s0) +/* C73054 80241BD4 860200A8 */ lh $v0, 0xa8($s0) +/* C73058 80241BD8 46163081 */ sub.s $f2, $f6, $f22 +/* C7305C 80241BDC 44820000 */ mtc1 $v0, $f0 +/* C73060 80241BE0 00000000 */ nop +/* C73064 80241BE4 46800020 */ cvt.s.w $f0, $f0 +/* C73068 80241BE8 46001080 */ add.s $f2, $f2, $f0 +/* C7306C 80241BEC C604001C */ lwc1 $f4, 0x1c($s0) +/* C73070 80241BF0 46002005 */ abs.s $f0, $f4 +/* C73074 80241BF4 4602003C */ c.lt.s $f0, $f2 +/* C73078 80241BF8 00000000 */ nop +/* C7307C 80241BFC 45020005 */ bc1fl .L80241C14 +/* C73080 80241C00 AE00001C */ sw $zero, 0x1c($s0) +/* C73084 80241C04 46043000 */ add.s $f0, $f6, $f4 +/* C73088 80241C08 08090705 */ j .L80241C14 +/* C7308C 80241C0C E600003C */ swc1 $f0, 0x3c($s0) +.L80241C10: +/* C73090 80241C10 AE00001C */ sw $zero, 0x1c($s0) +.L80241C14: +/* C73094 80241C14 8FBF0038 */ lw $ra, 0x38($sp) +/* C73098 80241C18 8FB30034 */ lw $s3, 0x34($sp) +/* C7309C 80241C1C 8FB20030 */ lw $s2, 0x30($sp) +/* C730A0 80241C20 8FB1002C */ lw $s1, 0x2c($sp) +/* C730A4 80241C24 8FB00028 */ lw $s0, 0x28($sp) +/* C730A8 80241C28 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C730AC 80241C2C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C730B0 80241C30 03E00008 */ jr $ra +/* C730B4 80241C34 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241C38.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241C38.s new file mode 100644 index 0000000000..a5dea62f84 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241C38.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C38 +/* C730B8 80241C38 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C730BC 80241C3C AFB00028 */ sw $s0, 0x28($sp) +/* C730C0 80241C40 00A0802D */ daddu $s0, $a1, $zero +/* C730C4 80241C44 AFB1002C */ sw $s1, 0x2c($sp) +/* C730C8 80241C48 00C0882D */ daddu $s1, $a2, $zero +/* C730CC 80241C4C AFBF0034 */ sw $ra, 0x34($sp) +/* C730D0 80241C50 AFB20030 */ sw $s2, 0x30($sp) +/* C730D4 80241C54 AE200070 */ sw $zero, 0x70($s1) +/* C730D8 80241C58 8C830000 */ lw $v1, ($a0) +/* C730DC 80241C5C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C730E0 80241C60 A480008E */ sh $zero, 0x8e($a0) +/* C730E4 80241C64 00621824 */ and $v1, $v1, $v0 +/* C730E8 80241C68 34650800 */ ori $a1, $v1, 0x800 +/* C730EC 80241C6C AC850000 */ sw $a1, ($a0) +/* C730F0 80241C70 8E0200D0 */ lw $v0, 0xd0($s0) +/* C730F4 80241C74 8C420034 */ lw $v0, 0x34($v0) +/* C730F8 80241C78 10400003 */ beqz $v0, .L80241C88 +/* C730FC 80241C7C 00E0902D */ daddu $s2, $a3, $zero +/* C73100 80241C80 08090724 */ j .L80241C90 +/* C73104 80241C84 34620808 */ ori $v0, $v1, 0x808 +.L80241C88: +/* C73108 80241C88 2402FFF7 */ addiu $v0, $zero, -9 +/* C7310C 80241C8C 00A21024 */ and $v0, $a1, $v0 +.L80241C90: +/* C73110 80241C90 AC820000 */ sw $v0, ($a0) +/* C73114 80241C94 27A20024 */ addiu $v0, $sp, 0x24 +/* C73118 80241C98 27A50018 */ addiu $a1, $sp, 0x18 +/* C7311C 80241C9C C4800038 */ lwc1 $f0, 0x38($a0) +/* C73120 80241CA0 C482003C */ lwc1 $f2, 0x3c($a0) +/* C73124 80241CA4 C4840040 */ lwc1 $f4, 0x40($a0) +/* C73128 80241CA8 3C01447A */ lui $at, 0x447a +/* C7312C 80241CAC 44813000 */ mtc1 $at, $f6 +/* C73130 80241CB0 27A6001C */ addiu $a2, $sp, 0x1c +/* C73134 80241CB4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C73138 80241CB8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C7313C 80241CBC E7A40020 */ swc1 $f4, 0x20($sp) +/* C73140 80241CC0 E7A60024 */ swc1 $f6, 0x24($sp) +/* C73144 80241CC4 AFA20010 */ sw $v0, 0x10($sp) +/* C73148 80241CC8 8C840080 */ lw $a0, 0x80($a0) +/* C7314C 80241CCC 0C0372DF */ jal func_800DCB7C +/* C73150 80241CD0 27A70020 */ addiu $a3, $sp, 0x20 +/* C73154 80241CD4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C73158 80241CD8 3C014059 */ lui $at, 0x4059 +/* C7315C 80241CDC 44812800 */ mtc1 $at, $f5 +/* C73160 80241CE0 44802000 */ mtc1 $zero, $f4 +/* C73164 80241CE4 460010A1 */ cvt.d.s $f2, $f2 +/* C73168 80241CE8 46241082 */ mul.d $f2, $f2, $f4 +/* C7316C 80241CEC 00000000 */ nop +/* C73170 80241CF0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C73174 80241CF4 46000021 */ cvt.d.s $f0, $f0 +/* C73178 80241CF8 46240002 */ mul.d $f0, $f0, $f4 +/* C7317C 80241CFC 00000000 */ nop +/* C73180 80241D00 3C013FE0 */ lui $at, 0x3fe0 +/* C73184 80241D04 44812800 */ mtc1 $at, $f5 +/* C73188 80241D08 44802000 */ mtc1 $zero, $f4 +/* C7318C 80241D0C 00000000 */ nop +/* C73190 80241D10 46241080 */ add.d $f2, $f2, $f4 +/* C73194 80241D14 AE000074 */ sw $zero, 0x74($s0) +/* C73198 80241D18 46240000 */ add.d $f0, $f0, $f4 +/* C7319C 80241D1C AE000090 */ sw $zero, 0x90($s0) +/* C731A0 80241D20 4620120D */ trunc.w.d $f8, $f2 +/* C731A4 80241D24 E6080078 */ swc1 $f8, 0x78($s0) +/* C731A8 80241D28 4620020D */ trunc.w.d $f8, $f0 +/* C731AC 80241D2C E6080088 */ swc1 $f8, 0x88($s0) +/* C731B0 80241D30 8E420014 */ lw $v0, 0x14($s2) +/* C731B4 80241D34 AE220074 */ sw $v0, 0x74($s1) +/* C731B8 80241D38 8E0200B0 */ lw $v0, 0xb0($s0) +/* C731BC 80241D3C 34420010 */ ori $v0, $v0, 0x10 +/* C731C0 80241D40 AE0200B0 */ sw $v0, 0xb0($s0) +/* C731C4 80241D44 8FBF0034 */ lw $ra, 0x34($sp) +/* C731C8 80241D48 8FB20030 */ lw $s2, 0x30($sp) +/* C731CC 80241D4C 8FB1002C */ lw $s1, 0x2c($sp) +/* C731D0 80241D50 8FB00028 */ lw $s0, 0x28($sp) +/* C731D4 80241D54 03E00008 */ jr $ra +/* C731D8 80241D58 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241D5C_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241D5C_C71480.s new file mode 100644 index 0000000000..996a93c76f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241D5C_C71480.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D5C_C731DC +/* C731DC 80241D5C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C731E0 80241D60 AFB40040 */ sw $s4, 0x40($sp) +/* C731E4 80241D64 0080A02D */ daddu $s4, $a0, $zero +/* C731E8 80241D68 AFBF0048 */ sw $ra, 0x48($sp) +/* C731EC 80241D6C AFB50044 */ sw $s5, 0x44($sp) +/* C731F0 80241D70 AFB3003C */ sw $s3, 0x3c($sp) +/* C731F4 80241D74 AFB20038 */ sw $s2, 0x38($sp) +/* C731F8 80241D78 AFB10034 */ sw $s1, 0x34($sp) +/* C731FC 80241D7C AFB00030 */ sw $s0, 0x30($sp) +/* C73200 80241D80 8E920148 */ lw $s2, 0x148($s4) +/* C73204 80241D84 86440008 */ lh $a0, 8($s2) +/* C73208 80241D88 8E90000C */ lw $s0, 0xc($s4) +/* C7320C 80241D8C 0C00EABB */ jal get_npc_unsafe +/* C73210 80241D90 00A0882D */ daddu $s1, $a1, $zero +/* C73214 80241D94 0280202D */ daddu $a0, $s4, $zero +/* C73218 80241D98 8E050000 */ lw $a1, ($s0) +/* C7321C 80241D9C 0C0B1EAF */ jal get_variable +/* C73220 80241DA0 0040A82D */ daddu $s5, $v0, $zero +/* C73224 80241DA4 AFA00010 */ sw $zero, 0x10($sp) +/* C73228 80241DA8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C7322C 80241DAC 8C630030 */ lw $v1, 0x30($v1) +/* C73230 80241DB0 AFA30014 */ sw $v1, 0x14($sp) +/* C73234 80241DB4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73238 80241DB8 8C63001C */ lw $v1, 0x1c($v1) +/* C7323C 80241DBC AFA30018 */ sw $v1, 0x18($sp) +/* C73240 80241DC0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73244 80241DC4 8C630024 */ lw $v1, 0x24($v1) +/* C73248 80241DC8 AFA3001C */ sw $v1, 0x1c($sp) +/* C7324C 80241DCC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73250 80241DD0 8C630028 */ lw $v1, 0x28($v1) +/* C73254 80241DD4 27B30010 */ addiu $s3, $sp, 0x10 +/* C73258 80241DD8 AFA30020 */ sw $v1, 0x20($sp) +/* C7325C 80241DDC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73260 80241DE0 3C0142F0 */ lui $at, 0x42f0 +/* C73264 80241DE4 44810000 */ mtc1 $at, $f0 +/* C73268 80241DE8 8C63002C */ lw $v1, 0x2c($v1) +/* C7326C 80241DEC 0040802D */ daddu $s0, $v0, $zero +/* C73270 80241DF0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C73274 80241DF4 A7A0002C */ sh $zero, 0x2c($sp) +/* C73278 80241DF8 12200006 */ beqz $s1, .L80241E14 +/* C7327C 80241DFC AFA30024 */ sw $v1, 0x24($sp) +/* C73280 80241E00 02A0202D */ daddu $a0, $s5, $zero +/* C73284 80241E04 0240282D */ daddu $a1, $s2, $zero +/* C73288 80241E08 0280302D */ daddu $a2, $s4, $zero +/* C7328C 80241E0C 0C09070E */ jal func_80241C38 +/* C73290 80241E10 0200382D */ daddu $a3, $s0, $zero +.L80241E14: +/* C73294 80241E14 2402FFFE */ addiu $v0, $zero, -2 +/* C73298 80241E18 A2A200AB */ sb $v0, 0xab($s5) +/* C7329C 80241E1C 8E4300B0 */ lw $v1, 0xb0($s2) +/* C732A0 80241E20 30620004 */ andi $v0, $v1, 4 +/* C732A4 80241E24 10400007 */ beqz $v0, .L80241E44 +/* C732A8 80241E28 00000000 */ nop +/* C732AC 80241E2C 824200B4 */ lb $v0, 0xb4($s2) +/* C732B0 80241E30 1440003C */ bnez $v0, .L80241F24 +/* C732B4 80241E34 0000102D */ daddu $v0, $zero, $zero +/* C732B8 80241E38 2402FFFB */ addiu $v0, $zero, -5 +/* C732BC 80241E3C 00621024 */ and $v0, $v1, $v0 +/* C732C0 80241E40 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241E44: +/* C732C4 80241E44 8E830070 */ lw $v1, 0x70($s4) +/* C732C8 80241E48 2C62000F */ sltiu $v0, $v1, 0xf +/* C732CC 80241E4C 10400034 */ beqz $v0, .L80241F20 +/* C732D0 80241E50 00031080 */ sll $v0, $v1, 2 +/* C732D4 80241E54 3C018024 */ lui $at, 0x8024 +/* C732D8 80241E58 00220821 */ addu $at, $at, $v0 +/* C732DC 80241E5C 8C2255F8 */ lw $v0, 0x55f8($at) +/* C732E0 80241E60 00400008 */ jr $v0 +/* C732E4 80241E64 00000000 */ nop +/* C732E8 80241E68 0280202D */ daddu $a0, $s4, $zero +/* C732EC 80241E6C 0200282D */ daddu $a1, $s0, $zero +/* C732F0 80241E70 0C090294 */ jal func_80240A50 +/* C732F4 80241E74 0260302D */ daddu $a2, $s3, $zero +/* C732F8 80241E78 0280202D */ daddu $a0, $s4, $zero +/* C732FC 80241E7C 0200282D */ daddu $a1, $s0, $zero +/* C73300 80241E80 0C090300 */ jal func_80240C00 +/* C73304 80241E84 0260302D */ daddu $a2, $s3, $zero +/* C73308 80241E88 080907C9 */ j .L80241F24 +/* C7330C 80241E8C 0000102D */ daddu $v0, $zero, $zero +/* C73310 80241E90 0280202D */ daddu $a0, $s4, $zero +/* C73314 80241E94 0200282D */ daddu $a1, $s0, $zero +/* C73318 80241E98 0C09048A */ jal func_80241228 +/* C7331C 80241E9C 0260302D */ daddu $a2, $s3, $zero +/* C73320 80241EA0 0280202D */ daddu $a0, $s4, $zero +/* C73324 80241EA4 0200282D */ daddu $a1, $s0, $zero +/* C73328 80241EA8 0C0904BA */ jal func_802412E8 +/* C7332C 80241EAC 0260302D */ daddu $a2, $s3, $zero +/* C73330 80241EB0 080907C9 */ j .L80241F24 +/* C73334 80241EB4 0000102D */ daddu $v0, $zero, $zero +/* C73338 80241EB8 0280202D */ daddu $a0, $s4, $zero +/* C7333C 80241EBC 0200282D */ daddu $a1, $s0, $zero +/* C73340 80241EC0 0C09058B */ jal func_8024162C +/* C73344 80241EC4 0260302D */ daddu $a2, $s3, $zero +/* C73348 80241EC8 0280202D */ daddu $a0, $s4, $zero +/* C7334C 80241ECC 0200282D */ daddu $a1, $s0, $zero +/* C73350 80241ED0 0C0905A9 */ jal func_802416A4 +/* C73354 80241ED4 0260302D */ daddu $a2, $s3, $zero +/* C73358 80241ED8 080907C9 */ j .L80241F24 +/* C7335C 80241EDC 0000102D */ daddu $v0, $zero, $zero +/* C73360 80241EE0 0280202D */ daddu $a0, $s4, $zero +/* C73364 80241EE4 0200282D */ daddu $a1, $s0, $zero +/* C73368 80241EE8 0C0905C4 */ jal func_80241710 +/* C7336C 80241EEC 0260302D */ daddu $a2, $s3, $zero +/* C73370 80241EF0 080907C9 */ j .L80241F24 +/* C73374 80241EF4 0000102D */ daddu $v0, $zero, $zero +/* C73378 80241EF8 0280202D */ daddu $a0, $s4, $zero +/* C7337C 80241EFC 0200282D */ daddu $a1, $s0, $zero +/* C73380 80241F00 0C090611 */ jal func_80241844 +/* C73384 80241F04 0260302D */ daddu $a2, $s3, $zero +/* C73388 80241F08 080907C9 */ j .L80241F24 +/* C7338C 80241F0C 0000102D */ daddu $v0, $zero, $zero +/* C73390 80241F10 0280202D */ daddu $a0, $s4, $zero +/* C73394 80241F14 0200282D */ daddu $a1, $s0, $zero +/* C73398 80241F18 0C09062A */ jal func_802418A8 +/* C7339C 80241F1C 0260302D */ daddu $a2, $s3, $zero +.L80241F20: +/* C733A0 80241F20 0000102D */ daddu $v0, $zero, $zero +.L80241F24: +/* C733A4 80241F24 8FBF0048 */ lw $ra, 0x48($sp) +/* C733A8 80241F28 8FB50044 */ lw $s5, 0x44($sp) +/* C733AC 80241F2C 8FB40040 */ lw $s4, 0x40($sp) +/* C733B0 80241F30 8FB3003C */ lw $s3, 0x3c($sp) +/* C733B4 80241F34 8FB20038 */ lw $s2, 0x38($sp) +/* C733B8 80241F38 8FB10034 */ lw $s1, 0x34($sp) +/* C733BC 80241F3C 8FB00030 */ lw $s0, 0x30($sp) +/* C733C0 80241F40 03E00008 */ jr $ra +/* C733C4 80241F44 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80241F48_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241F48_C71480.s new file mode 100644 index 0000000000..9e641c5a1b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80241F48_C71480.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F48_C733C8 +/* C733C8 80241F48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C733CC 80241F4C AFB3001C */ sw $s3, 0x1c($sp) +/* C733D0 80241F50 0080982D */ daddu $s3, $a0, $zero +/* C733D4 80241F54 AFBF0020 */ sw $ra, 0x20($sp) +/* C733D8 80241F58 AFB20018 */ sw $s2, 0x18($sp) +/* C733DC 80241F5C AFB10014 */ sw $s1, 0x14($sp) +/* C733E0 80241F60 AFB00010 */ sw $s0, 0x10($sp) +/* C733E4 80241F64 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C733E8 80241F68 8E710148 */ lw $s1, 0x148($s3) +/* C733EC 80241F6C 86240008 */ lh $a0, 8($s1) +/* C733F0 80241F70 0C00EABB */ jal get_npc_unsafe +/* C733F4 80241F74 00A0802D */ daddu $s0, $a1, $zero +/* C733F8 80241F78 8E040020 */ lw $a0, 0x20($s0) +/* C733FC 80241F7C 0040902D */ daddu $s2, $v0, $zero +/* C73400 80241F80 00041FC2 */ srl $v1, $a0, 0x1f +/* C73404 80241F84 00832021 */ addu $a0, $a0, $v1 +/* C73408 80241F88 00042043 */ sra $a0, $a0, 1 +/* C7340C 80241F8C 0C00A67F */ jal rand_int +/* C73410 80241F90 24840001 */ addiu $a0, $a0, 1 +/* C73414 80241F94 8E030020 */ lw $v1, 0x20($s0) +/* C73418 80241F98 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C7341C 80241F9C 000327C2 */ srl $a0, $v1, 0x1f +/* C73420 80241FA0 00641821 */ addu $v1, $v1, $a0 +/* C73424 80241FA4 00031843 */ sra $v1, $v1, 1 +/* C73428 80241FA8 00621821 */ addu $v1, $v1, $v0 +/* C7342C 80241FAC A643008E */ sh $v1, 0x8e($s2) +/* C73430 80241FB0 8E2200CC */ lw $v0, 0xcc($s1) +/* C73434 80241FB4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C73438 80241FB8 8C42000C */ lw $v0, 0xc($v0) +/* C7343C 80241FBC AE420028 */ sw $v0, 0x28($s2) +/* C73440 80241FC0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C73444 80241FC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C73448 80241FC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C7344C 80241FCC E6400018 */ swc1 $f0, 0x18($s2) +/* C73450 80241FD0 8C460028 */ lw $a2, 0x28($v0) +/* C73454 80241FD4 0C00A720 */ jal atan2 +/* C73458 80241FD8 8C470030 */ lw $a3, 0x30($v0) +/* C7345C 80241FDC 46000506 */ mov.s $f20, $f0 +/* C73460 80241FE0 C64C000C */ lwc1 $f12, 0xc($s2) +/* C73464 80241FE4 0C00A70A */ jal get_clamped_angle_diff +/* C73468 80241FE8 4600A386 */ mov.s $f14, $f20 +/* C7346C 80241FEC 46000086 */ mov.s $f2, $f0 +/* C73470 80241FF0 8E02001C */ lw $v0, 0x1c($s0) +/* C73474 80241FF4 46001005 */ abs.s $f0, $f2 +/* C73478 80241FF8 44822000 */ mtc1 $v0, $f4 +/* C7347C 80241FFC 00000000 */ nop +/* C73480 80242000 46802120 */ cvt.s.w $f4, $f4 +/* C73484 80242004 4600203C */ c.lt.s $f4, $f0 +/* C73488 80242008 00000000 */ nop +/* C7348C 8024200C 4500000D */ bc1f .L80242044 +/* C73490 80242010 00000000 */ nop +/* C73494 80242014 44800000 */ mtc1 $zero, $f0 +/* C73498 80242018 C654000C */ lwc1 $f20, 0xc($s2) +/* C7349C 8024201C 4600103C */ c.lt.s $f2, $f0 +/* C734A0 80242020 00000000 */ nop +/* C734A4 80242024 45000006 */ bc1f .L80242040 +/* C734A8 80242028 00021023 */ negu $v0, $v0 +/* C734AC 8024202C 44820000 */ mtc1 $v0, $f0 +/* C734B0 80242030 00000000 */ nop +/* C734B4 80242034 46800020 */ cvt.s.w $f0, $f0 +/* C734B8 80242038 08090811 */ j .L80242044 +/* C734BC 8024203C 4600A500 */ add.s $f20, $f20, $f0 +.L80242040: +/* C734C0 80242040 4604A500 */ add.s $f20, $f20, $f4 +.L80242044: +/* C734C4 80242044 0C00A6C9 */ jal clamp_angle +/* C734C8 80242048 4600A306 */ mov.s $f12, $f20 +/* C734CC 8024204C 2402000D */ addiu $v0, $zero, 0xd +/* C734D0 80242050 E640000C */ swc1 $f0, 0xc($s2) +/* C734D4 80242054 AE620070 */ sw $v0, 0x70($s3) +/* C734D8 80242058 8FBF0020 */ lw $ra, 0x20($sp) +/* C734DC 8024205C 8FB3001C */ lw $s3, 0x1c($sp) +/* C734E0 80242060 8FB20018 */ lw $s2, 0x18($sp) +/* C734E4 80242064 8FB10014 */ lw $s1, 0x14($sp) +/* C734E8 80242068 8FB00010 */ lw $s0, 0x10($sp) +/* C734EC 8024206C D7B40028 */ ldc1 $f20, 0x28($sp) +/* C734F0 80242070 03E00008 */ jr $ra +/* C734F4 80242074 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242078_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242078_C71480.s new file mode 100644 index 0000000000..ea2bd96e46 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242078_C71480.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242078_C734F8 +/* C734F8 80242078 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C734FC 8024207C AFB3004C */ sw $s3, 0x4c($sp) +/* C73500 80242080 0080982D */ daddu $s3, $a0, $zero +/* C73504 80242084 AFBF0050 */ sw $ra, 0x50($sp) +/* C73508 80242088 AFB20048 */ sw $s2, 0x48($sp) +/* C7350C 8024208C AFB10044 */ sw $s1, 0x44($sp) +/* C73510 80242090 AFB00040 */ sw $s0, 0x40($sp) +/* C73514 80242094 8E720148 */ lw $s2, 0x148($s3) +/* C73518 80242098 00A0882D */ daddu $s1, $a1, $zero +/* C7351C 8024209C 86440008 */ lh $a0, 8($s2) +/* C73520 802420A0 0C00EABB */ jal get_npc_unsafe +/* C73524 802420A4 00C0802D */ daddu $s0, $a2, $zero +/* C73528 802420A8 0200202D */ daddu $a0, $s0, $zero +/* C7352C 802420AC 0240282D */ daddu $a1, $s2, $zero +/* C73530 802420B0 24030001 */ addiu $v1, $zero, 1 +/* C73534 802420B4 AFA30010 */ sw $v1, 0x10($sp) +/* C73538 802420B8 8E260024 */ lw $a2, 0x24($s1) +/* C7353C 802420BC 8E270028 */ lw $a3, 0x28($s1) +/* C73540 802420C0 0C01242D */ jal func_800490B4 +/* C73544 802420C4 0040802D */ daddu $s0, $v0, $zero +/* C73548 802420C8 14400020 */ bnez $v0, .L8024214C +/* C7354C 802420CC 24040002 */ addiu $a0, $zero, 2 +/* C73550 802420D0 0200282D */ daddu $a1, $s0, $zero +/* C73554 802420D4 0000302D */ daddu $a2, $zero, $zero +/* C73558 802420D8 860300A8 */ lh $v1, 0xa8($s0) +/* C7355C 802420DC 3C013F80 */ lui $at, 0x3f80 +/* C73560 802420E0 44810000 */ mtc1 $at, $f0 +/* C73564 802420E4 3C014000 */ lui $at, 0x4000 +/* C73568 802420E8 44811000 */ mtc1 $at, $f2 +/* C7356C 802420EC 3C01C1A0 */ lui $at, 0xc1a0 +/* C73570 802420F0 44812000 */ mtc1 $at, $f4 +/* C73574 802420F4 2402000F */ addiu $v0, $zero, 0xf +/* C73578 802420F8 AFA2001C */ sw $v0, 0x1c($sp) +/* C7357C 802420FC 44834000 */ mtc1 $v1, $f8 +/* C73580 80242100 00000000 */ nop +/* C73584 80242104 46804220 */ cvt.s.w $f8, $f8 +/* C73588 80242108 44074000 */ mfc1 $a3, $f8 +/* C7358C 8024210C 27A20028 */ addiu $v0, $sp, 0x28 +/* C73590 80242110 AFA20020 */ sw $v0, 0x20($sp) +/* C73594 80242114 E7A00010 */ swc1 $f0, 0x10($sp) +/* C73598 80242118 E7A20014 */ swc1 $f2, 0x14($sp) +/* C7359C 8024211C 0C01BFA4 */ jal fx_emote +/* C735A0 80242120 E7A40018 */ swc1 $f4, 0x18($sp) +/* C735A4 80242124 8E4200CC */ lw $v0, 0xcc($s2) +/* C735A8 80242128 8C430000 */ lw $v1, ($v0) +/* C735AC 8024212C 2402001E */ addiu $v0, $zero, 0x1e +/* C735B0 80242130 A602008E */ sh $v0, 0x8e($s0) +/* C735B4 80242134 24020014 */ addiu $v0, $zero, 0x14 +/* C735B8 80242138 AE030028 */ sw $v1, 0x28($s0) +/* C735BC 8024213C AE620070 */ sw $v0, 0x70($s3) +/* C735C0 80242140 2402001E */ addiu $v0, $zero, 0x1e +/* C735C4 80242144 080908B7 */ j .L802422DC +/* C735C8 80242148 AE420090 */ sw $v0, 0x90($s2) +.L8024214C: +/* C735CC 8024214C 8E050018 */ lw $a1, 0x18($s0) +/* C735D0 80242150 8E06000C */ lw $a2, 0xc($s0) +/* C735D4 80242154 0C00EA95 */ jal npc_move_heading +/* C735D8 80242158 0200202D */ daddu $a0, $s0, $zero +/* C735DC 8024215C 8E020000 */ lw $v0, ($s0) +/* C735E0 80242160 30420008 */ andi $v0, $v0, 8 +/* C735E4 80242164 14400028 */ bnez $v0, .L80242208 +/* C735E8 80242168 0000882D */ daddu $s1, $zero, $zero +/* C735EC 8024216C 27A5002C */ addiu $a1, $sp, 0x2c +/* C735F0 80242170 27A60030 */ addiu $a2, $sp, 0x30 +/* C735F4 80242174 860200A8 */ lh $v0, 0xa8($s0) +/* C735F8 80242178 C6000038 */ lwc1 $f0, 0x38($s0) +/* C735FC 8024217C 44821000 */ mtc1 $v0, $f2 +/* C73600 80242180 00000000 */ nop +/* C73604 80242184 468010A0 */ cvt.s.w $f2, $f2 +/* C73608 80242188 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C7360C 8024218C 860200A8 */ lh $v0, 0xa8($s0) +/* C73610 80242190 C604003C */ lwc1 $f4, 0x3c($s0) +/* C73614 80242194 C6060040 */ lwc1 $f6, 0x40($s0) +/* C73618 80242198 44820000 */ mtc1 $v0, $f0 +/* C7361C 8024219C 00000000 */ nop +/* C73620 802421A0 46800021 */ cvt.d.w $f0, $f0 +/* C73624 802421A4 46022100 */ add.s $f4, $f4, $f2 +/* C73628 802421A8 3C014008 */ lui $at, 0x4008 +/* C7362C 802421AC 44811800 */ mtc1 $at, $f3 +/* C73630 802421B0 44801000 */ mtc1 $zero, $f2 +/* C73634 802421B4 27A20038 */ addiu $v0, $sp, 0x38 +/* C73638 802421B8 46220000 */ add.d $f0, $f0, $f2 +/* C7363C 802421BC E7A60034 */ swc1 $f6, 0x34($sp) +/* C73640 802421C0 E7A40030 */ swc1 $f4, 0x30($sp) +/* C73644 802421C4 46200020 */ cvt.s.d $f0, $f0 +/* C73648 802421C8 E7A00038 */ swc1 $f0, 0x38($sp) +/* C7364C 802421CC AFA20010 */ sw $v0, 0x10($sp) +/* C73650 802421D0 8E040080 */ lw $a0, 0x80($s0) +/* C73654 802421D4 0C0372DF */ jal func_800DCB7C +/* C73658 802421D8 27A70034 */ addiu $a3, $sp, 0x34 +/* C7365C 802421DC 1040000A */ beqz $v0, .L80242208 +/* C73660 802421E0 00000000 */ nop +/* C73664 802421E4 860200A8 */ lh $v0, 0xa8($s0) +/* C73668 802421E8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C7366C 802421EC 44820000 */ mtc1 $v0, $f0 +/* C73670 802421F0 00000000 */ nop +/* C73674 802421F4 46800020 */ cvt.s.w $f0, $f0 +/* C73678 802421F8 4600103C */ c.lt.s $f2, $f0 +/* C7367C 802421FC 00000000 */ nop +/* C73680 80242200 45030001 */ bc1tl .L80242208 +/* C73684 80242204 24110001 */ addiu $s1, $zero, 1 +.L80242208: +/* C73688 80242208 12200008 */ beqz $s1, .L8024222C +/* C7368C 8024220C 00000000 */ nop +/* C73690 80242210 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C73694 80242214 3C013FF0 */ lui $at, 0x3ff0 +/* C73698 80242218 44811800 */ mtc1 $at, $f3 +/* C7369C 8024221C 44801000 */ mtc1 $zero, $f2 +/* C736A0 80242220 46000021 */ cvt.d.s $f0, $f0 +/* C736A4 80242224 080908AD */ j .L802422B4 +/* C736A8 80242228 46220000 */ add.d $f0, $f0, $f2 +.L8024222C: +/* C736AC 8024222C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C736B0 80242230 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C736B4 80242234 3C014018 */ lui $at, 0x4018 +/* C736B8 80242238 44811800 */ mtc1 $at, $f3 +/* C736BC 8024223C 44801000 */ mtc1 $zero, $f2 +/* C736C0 80242240 C440002C */ lwc1 $f0, 0x2c($v0) +/* C736C4 80242244 C604003C */ lwc1 $f4, 0x3c($s0) +/* C736C8 80242248 46000021 */ cvt.d.s $f0, $f0 +/* C736CC 8024224C 46220000 */ add.d $f0, $f0, $f2 +/* C736D0 80242250 46002121 */ cvt.d.s $f4, $f4 +/* C736D4 80242254 46202001 */ sub.d $f0, $f4, $f0 +/* C736D8 80242258 462001A0 */ cvt.s.d $f6, $f0 +/* C736DC 8024225C 44800000 */ mtc1 $zero, $f0 +/* C736E0 80242260 44800800 */ mtc1 $zero, $f1 +/* C736E4 80242264 460030A1 */ cvt.d.s $f2, $f6 +/* C736E8 80242268 4620103C */ c.lt.d $f2, $f0 +/* C736EC 8024226C 00000000 */ nop +/* C736F0 80242270 45010009 */ bc1t .L80242298 +/* C736F4 80242274 00000000 */ nop +/* C736F8 80242278 3C014010 */ lui $at, 0x4010 +/* C736FC 8024227C 44810800 */ mtc1 $at, $f1 +/* C73700 80242280 44800000 */ mtc1 $zero, $f0 +/* C73704 80242284 00000000 */ nop +/* C73708 80242288 4622003C */ c.lt.d $f0, $f2 +/* C7370C 8024228C 00000000 */ nop +/* C73710 80242290 4500000A */ bc1f .L802422BC +/* C73714 80242294 00000000 */ nop +.L80242298: +/* C73718 80242298 3C018024 */ lui $at, 0x8024 +/* C7371C 8024229C D4225638 */ ldc1 $f2, 0x5638($at) +/* C73720 802422A0 46003187 */ neg.s $f6, $f6 +/* C73724 802422A4 46003021 */ cvt.d.s $f0, $f6 +/* C73728 802422A8 46220002 */ mul.d $f0, $f0, $f2 +/* C7372C 802422AC 00000000 */ nop +/* C73730 802422B0 46202000 */ add.d $f0, $f4, $f0 +.L802422B4: +/* C73734 802422B4 46200020 */ cvt.s.d $f0, $f0 +/* C73738 802422B8 E600003C */ swc1 $f0, 0x3c($s0) +.L802422BC: +/* C7373C 802422BC 8602008E */ lh $v0, 0x8e($s0) +/* C73740 802422C0 9603008E */ lhu $v1, 0x8e($s0) +/* C73744 802422C4 18400003 */ blez $v0, .L802422D4 +/* C73748 802422C8 2462FFFF */ addiu $v0, $v1, -1 +/* C7374C 802422CC 080908B7 */ j .L802422DC +/* C73750 802422D0 A602008E */ sh $v0, 0x8e($s0) +.L802422D4: +/* C73754 802422D4 2402000C */ addiu $v0, $zero, 0xc +/* C73758 802422D8 AE620070 */ sw $v0, 0x70($s3) +.L802422DC: +/* C7375C 802422DC 8FBF0050 */ lw $ra, 0x50($sp) +/* C73760 802422E0 8FB3004C */ lw $s3, 0x4c($sp) +/* C73764 802422E4 8FB20048 */ lw $s2, 0x48($sp) +/* C73768 802422E8 8FB10044 */ lw $s1, 0x44($sp) +/* C7376C 802422EC 8FB00040 */ lw $s0, 0x40($sp) +/* C73770 802422F0 03E00008 */ jr $ra +/* C73774 802422F4 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802422F8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802422F8_C71480.s new file mode 100644 index 0000000000..3956df9a6c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802422F8_C71480.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422F8_C73778 +/* C73778 802422F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7377C 802422FC AFB10014 */ sw $s1, 0x14($sp) +/* C73780 80242300 0080882D */ daddu $s1, $a0, $zero +/* C73784 80242304 AFBF0018 */ sw $ra, 0x18($sp) +/* C73788 80242308 AFB00010 */ sw $s0, 0x10($sp) +/* C7378C 8024230C 8E300148 */ lw $s0, 0x148($s1) +/* C73790 80242310 0C00EABB */ jal get_npc_unsafe +/* C73794 80242314 86040008 */ lh $a0, 8($s0) +/* C73798 80242318 0040182D */ daddu $v1, $v0, $zero +/* C7379C 8024231C 9462008E */ lhu $v0, 0x8e($v1) +/* C737A0 80242320 2442FFFF */ addiu $v0, $v0, -1 +/* C737A4 80242324 A462008E */ sh $v0, 0x8e($v1) +/* C737A8 80242328 00021400 */ sll $v0, $v0, 0x10 +/* C737AC 8024232C 1C400004 */ bgtz $v0, .L80242340 +/* C737B0 80242330 00000000 */ nop +/* C737B4 80242334 AE000074 */ sw $zero, 0x74($s0) +/* C737B8 80242338 A460008E */ sh $zero, 0x8e($v1) +/* C737BC 8024233C AE200070 */ sw $zero, 0x70($s1) +.L80242340: +/* C737C0 80242340 8FBF0018 */ lw $ra, 0x18($sp) +/* C737C4 80242344 8FB10014 */ lw $s1, 0x14($sp) +/* C737C8 80242348 8FB00010 */ lw $s0, 0x10($sp) +/* C737CC 8024234C 03E00008 */ jr $ra +/* C737D0 80242350 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242354.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242354.s new file mode 100644 index 0000000000..a285b9e209 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242354.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242354 +/* C737D4 80242354 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C737D8 80242358 AFB40040 */ sw $s4, 0x40($sp) +/* C737DC 8024235C 0080A02D */ daddu $s4, $a0, $zero +/* C737E0 80242360 AFBF0048 */ sw $ra, 0x48($sp) +/* C737E4 80242364 AFB50044 */ sw $s5, 0x44($sp) +/* C737E8 80242368 AFB3003C */ sw $s3, 0x3c($sp) +/* C737EC 8024236C AFB20038 */ sw $s2, 0x38($sp) +/* C737F0 80242370 AFB10034 */ sw $s1, 0x34($sp) +/* C737F4 80242374 AFB00030 */ sw $s0, 0x30($sp) +/* C737F8 80242378 8E920148 */ lw $s2, 0x148($s4) +/* C737FC 8024237C 86440008 */ lh $a0, 8($s2) +/* C73800 80242380 8E90000C */ lw $s0, 0xc($s4) +/* C73804 80242384 0C00EABB */ jal get_npc_unsafe +/* C73808 80242388 00A0882D */ daddu $s1, $a1, $zero +/* C7380C 8024238C 0280202D */ daddu $a0, $s4, $zero +/* C73810 80242390 8E050000 */ lw $a1, ($s0) +/* C73814 80242394 0C0B1EAF */ jal get_variable +/* C73818 80242398 0040A82D */ daddu $s5, $v0, $zero +/* C7381C 8024239C AFA00010 */ sw $zero, 0x10($sp) +/* C73820 802423A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73824 802423A4 8C630030 */ lw $v1, 0x30($v1) +/* C73828 802423A8 AFA30014 */ sw $v1, 0x14($sp) +/* C7382C 802423AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73830 802423B0 8C63001C */ lw $v1, 0x1c($v1) +/* C73834 802423B4 AFA30018 */ sw $v1, 0x18($sp) +/* C73838 802423B8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C7383C 802423BC 8C630024 */ lw $v1, 0x24($v1) +/* C73840 802423C0 AFA3001C */ sw $v1, 0x1c($sp) +/* C73844 802423C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73848 802423C8 8C630028 */ lw $v1, 0x28($v1) +/* C7384C 802423CC 27B30010 */ addiu $s3, $sp, 0x10 +/* C73850 802423D0 AFA30020 */ sw $v1, 0x20($sp) +/* C73854 802423D4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C73858 802423D8 3C0142F0 */ lui $at, 0x42f0 +/* C7385C 802423DC 44810000 */ mtc1 $at, $f0 +/* C73860 802423E0 8C63002C */ lw $v1, 0x2c($v1) +/* C73864 802423E4 0040802D */ daddu $s0, $v0, $zero +/* C73868 802423E8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C7386C 802423EC A7A0002C */ sh $zero, 0x2c($sp) +/* C73870 802423F0 12200007 */ beqz $s1, .L80242410 +/* C73874 802423F4 AFA30024 */ sw $v1, 0x24($sp) +/* C73878 802423F8 02A0202D */ daddu $a0, $s5, $zero +/* C7387C 802423FC 0240282D */ daddu $a1, $s2, $zero +/* C73880 80242400 0280302D */ daddu $a2, $s4, $zero +/* C73884 80242404 0C09070E */ jal func_80241C38 +/* C73888 80242408 0200382D */ daddu $a3, $s0, $zero +/* C7388C 8024240C AE800070 */ sw $zero, 0x70($s4) +.L80242410: +/* C73890 80242410 2402FFFE */ addiu $v0, $zero, -2 +/* C73894 80242414 A2A200AB */ sb $v0, 0xab($s5) +/* C73898 80242418 8E4300B0 */ lw $v1, 0xb0($s2) +/* C7389C 8024241C 30620004 */ andi $v0, $v1, 4 +/* C738A0 80242420 10400007 */ beqz $v0, .L80242440 +/* C738A4 80242424 00000000 */ nop +/* C738A8 80242428 824200B4 */ lb $v0, 0xb4($s2) +/* C738AC 8024242C 1440003A */ bnez $v0, .L80242518 +/* C738B0 80242430 0000102D */ daddu $v0, $zero, $zero +/* C738B4 80242434 2402FFFB */ addiu $v0, $zero, -5 +/* C738B8 80242438 00621024 */ and $v0, $v1, $v0 +/* C738BC 8024243C AE4200B0 */ sw $v0, 0xb0($s2) +.L80242440: +/* C738C0 80242440 8E830070 */ lw $v1, 0x70($s4) +/* C738C4 80242444 2C620015 */ sltiu $v0, $v1, 0x15 +/* C738C8 80242448 10400032 */ beqz $v0, .L80242514 +/* C738CC 8024244C 00031080 */ sll $v0, $v1, 2 +/* C738D0 80242450 3C018024 */ lui $at, 0x8024 +/* C738D4 80242454 00220821 */ addu $at, $at, $v0 +/* C738D8 80242458 8C225640 */ lw $v0, 0x5640($at) +/* C738DC 8024245C 00400008 */ jr $v0 +/* C738E0 80242460 00000000 */ nop +/* C738E4 80242464 0280202D */ daddu $a0, $s4, $zero +/* C738E8 80242468 0200282D */ daddu $a1, $s0, $zero +/* C738EC 8024246C 0C090294 */ jal func_80240A50 +/* C738F0 80242470 0260302D */ daddu $a2, $s3, $zero +/* C738F4 80242474 0280202D */ daddu $a0, $s4, $zero +/* C738F8 80242478 0200282D */ daddu $a1, $s0, $zero +/* C738FC 8024247C 0C090300 */ jal func_80240C00 +/* C73900 80242480 0260302D */ daddu $a2, $s3, $zero +/* C73904 80242484 08090946 */ j .L80242518 +/* C73908 80242488 0000102D */ daddu $v0, $zero, $zero +/* C7390C 8024248C 0280202D */ daddu $a0, $s4, $zero +/* C73910 80242490 0200282D */ daddu $a1, $s0, $zero +/* C73914 80242494 0C09048A */ jal func_80241228 +/* C73918 80242498 0260302D */ daddu $a2, $s3, $zero +/* C7391C 8024249C 0280202D */ daddu $a0, $s4, $zero +/* C73920 802424A0 0200282D */ daddu $a1, $s0, $zero +/* C73924 802424A4 0C0904BA */ jal func_802412E8 +/* C73928 802424A8 0260302D */ daddu $a2, $s3, $zero +/* C7392C 802424AC 08090946 */ j .L80242518 +/* C73930 802424B0 0000102D */ daddu $v0, $zero, $zero +/* C73934 802424B4 0280202D */ daddu $a0, $s4, $zero +/* C73938 802424B8 0200282D */ daddu $a1, $s0, $zero +/* C7393C 802424BC 0C09058B */ jal func_8024162C +/* C73940 802424C0 0260302D */ daddu $a2, $s3, $zero +/* C73944 802424C4 0280202D */ daddu $a0, $s4, $zero +/* C73948 802424C8 0200282D */ daddu $a1, $s0, $zero +/* C7394C 802424CC 0C0905A9 */ jal func_802416A4 +/* C73950 802424D0 0260302D */ daddu $a2, $s3, $zero +/* C73954 802424D4 08090946 */ j .L80242518 +/* C73958 802424D8 0000102D */ daddu $v0, $zero, $zero +/* C7395C 802424DC 0280202D */ daddu $a0, $s4, $zero +/* C73960 802424E0 0200282D */ daddu $a1, $s0, $zero +/* C73964 802424E4 0C0907D2 */ jal func_80241F48 +/* C73968 802424E8 0260302D */ daddu $a2, $s3, $zero +/* C7396C 802424EC 0280202D */ daddu $a0, $s4, $zero +/* C73970 802424F0 0200282D */ daddu $a1, $s0, $zero +/* C73974 802424F4 0C09081E */ jal func_80242078 +/* C73978 802424F8 0260302D */ daddu $a2, $s3, $zero +/* C7397C 802424FC 08090946 */ j .L80242518 +/* C73980 80242500 0000102D */ daddu $v0, $zero, $zero +/* C73984 80242504 0280202D */ daddu $a0, $s4, $zero +/* C73988 80242508 0200282D */ daddu $a1, $s0, $zero +/* C7398C 8024250C 0C0908BE */ jal func_802422F8 +/* C73990 80242510 0260302D */ daddu $a2, $s3, $zero +.L80242514: +/* C73994 80242514 0000102D */ daddu $v0, $zero, $zero +.L80242518: +/* C73998 80242518 8FBF0048 */ lw $ra, 0x48($sp) +/* C7399C 8024251C 8FB50044 */ lw $s5, 0x44($sp) +/* C739A0 80242520 8FB40040 */ lw $s4, 0x40($sp) +/* C739A4 80242524 8FB3003C */ lw $s3, 0x3c($sp) +/* C739A8 80242528 8FB20038 */ lw $s2, 0x38($sp) +/* C739AC 8024252C 8FB10034 */ lw $s1, 0x34($sp) +/* C739B0 80242530 8FB00030 */ lw $s0, 0x30($sp) +/* C739B4 80242534 03E00008 */ jr $ra +/* C739B8 80242538 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_8024253C_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024253C_C71480.s new file mode 100644 index 0000000000..7bf22e87d7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_8024253C_C71480.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024253C_C739BC +/* C739BC 8024253C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C739C0 80242540 AFB10014 */ sw $s1, 0x14($sp) +/* C739C4 80242544 0080882D */ daddu $s1, $a0, $zero +/* C739C8 80242548 AFBF0018 */ sw $ra, 0x18($sp) +/* C739CC 8024254C AFB00010 */ sw $s0, 0x10($sp) +/* C739D0 80242550 8E300148 */ lw $s0, 0x148($s1) +/* C739D4 80242554 0C00EABB */ jal get_npc_unsafe +/* C739D8 80242558 86040008 */ lh $a0, 8($s0) +/* C739DC 8024255C 24030001 */ addiu $v1, $zero, 1 +/* C739E0 80242560 0040202D */ daddu $a0, $v0, $zero +/* C739E4 80242564 AE03006C */ sw $v1, 0x6c($s0) +/* C739E8 80242568 8482008C */ lh $v0, 0x8c($a0) +/* C739EC 8024256C 14400009 */ bnez $v0, .L80242594 +/* C739F0 80242570 24020002 */ addiu $v0, $zero, 2 +/* C739F4 80242574 96030072 */ lhu $v1, 0x72($s0) +/* C739F8 80242578 AE02006C */ sw $v0, 0x6c($s0) +/* C739FC 8024257C A483008E */ sh $v1, 0x8e($a0) +/* C73A00 80242580 8E0200CC */ lw $v0, 0xcc($s0) +/* C73A04 80242584 8C420020 */ lw $v0, 0x20($v0) +/* C73A08 80242588 AC820028 */ sw $v0, 0x28($a0) +/* C73A0C 8024258C 2402001F */ addiu $v0, $zero, 0x1f +/* C73A10 80242590 AE220070 */ sw $v0, 0x70($s1) +.L80242594: +/* C73A14 80242594 8FBF0018 */ lw $ra, 0x18($sp) +/* C73A18 80242598 8FB10014 */ lw $s1, 0x14($sp) +/* C73A1C 8024259C 8FB00010 */ lw $s0, 0x10($sp) +/* C73A20 802425A0 03E00008 */ jr $ra +/* C73A24 802425A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802425A8_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802425A8_C71480.s new file mode 100644 index 0000000000..5dd365e38d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802425A8_C71480.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425A8_C73A28 +/* C73A28 802425A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C73A2C 802425AC AFB10014 */ sw $s1, 0x14($sp) +/* C73A30 802425B0 0080882D */ daddu $s1, $a0, $zero +/* C73A34 802425B4 AFBF0018 */ sw $ra, 0x18($sp) +/* C73A38 802425B8 AFB00010 */ sw $s0, 0x10($sp) +/* C73A3C 802425BC 8E300148 */ lw $s0, 0x148($s1) +/* C73A40 802425C0 0C00EABB */ jal get_npc_unsafe +/* C73A44 802425C4 86040008 */ lh $a0, 8($s0) +/* C73A48 802425C8 0040202D */ daddu $a0, $v0, $zero +/* C73A4C 802425CC 9482008E */ lhu $v0, 0x8e($a0) +/* C73A50 802425D0 2442FFFF */ addiu $v0, $v0, -1 +/* C73A54 802425D4 A482008E */ sh $v0, 0x8e($a0) +/* C73A58 802425D8 00021400 */ sll $v0, $v0, 0x10 +/* C73A5C 802425DC 1C400009 */ bgtz $v0, .L80242604 +/* C73A60 802425E0 24020003 */ addiu $v0, $zero, 3 +/* C73A64 802425E4 96030076 */ lhu $v1, 0x76($s0) +/* C73A68 802425E8 AE02006C */ sw $v0, 0x6c($s0) +/* C73A6C 802425EC A483008E */ sh $v1, 0x8e($a0) +/* C73A70 802425F0 8E0200CC */ lw $v0, 0xcc($s0) +/* C73A74 802425F4 8C420024 */ lw $v0, 0x24($v0) +/* C73A78 802425F8 AC820028 */ sw $v0, 0x28($a0) +/* C73A7C 802425FC 24020020 */ addiu $v0, $zero, 0x20 +/* C73A80 80242600 AE220070 */ sw $v0, 0x70($s1) +.L80242604: +/* C73A84 80242604 8FBF0018 */ lw $ra, 0x18($sp) +/* C73A88 80242608 8FB10014 */ lw $s1, 0x14($sp) +/* C73A8C 8024260C 8FB00010 */ lw $s0, 0x10($sp) +/* C73A90 80242610 03E00008 */ jr $ra +/* C73A94 80242614 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242618_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242618_C71480.s new file mode 100644 index 0000000000..9369525250 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242618_C71480.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242618_C73A98 +/* C73A98 80242618 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C73A9C 8024261C AFB10034 */ sw $s1, 0x34($sp) +/* C73AA0 80242620 0080882D */ daddu $s1, $a0, $zero +/* C73AA4 80242624 AFBF0038 */ sw $ra, 0x38($sp) +/* C73AA8 80242628 AFB00030 */ sw $s0, 0x30($sp) +/* C73AAC 8024262C 8E300148 */ lw $s0, 0x148($s1) +/* C73AB0 80242630 0C00EABB */ jal get_npc_unsafe +/* C73AB4 80242634 86040008 */ lh $a0, 8($s0) +/* C73AB8 80242638 0040282D */ daddu $a1, $v0, $zero +/* C73ABC 8024263C 94A2008E */ lhu $v0, 0x8e($a1) +/* C73AC0 80242640 2442FFFF */ addiu $v0, $v0, -1 +/* C73AC4 80242644 A4A2008E */ sh $v0, 0x8e($a1) +/* C73AC8 80242648 00021400 */ sll $v0, $v0, 0x10 +/* C73ACC 8024264C 1C400023 */ bgtz $v0, .L802426DC +/* C73AD0 80242650 24020004 */ addiu $v0, $zero, 4 +/* C73AD4 80242654 8E0300CC */ lw $v1, 0xcc($s0) +/* C73AD8 80242658 AE02006C */ sw $v0, 0x6c($s0) +/* C73ADC 8024265C 8C620000 */ lw $v0, ($v1) +/* C73AE0 80242660 ACA20028 */ sw $v0, 0x28($a1) +/* C73AE4 80242664 9602007A */ lhu $v0, 0x7a($s0) +/* C73AE8 80242668 A4A2008E */ sh $v0, 0x8e($a1) +/* C73AEC 8024266C 8E020078 */ lw $v0, 0x78($s0) +/* C73AF0 80242670 28420008 */ slti $v0, $v0, 8 +/* C73AF4 80242674 14400018 */ bnez $v0, .L802426D8 +/* C73AF8 80242678 24020021 */ addiu $v0, $zero, 0x21 +/* C73AFC 8024267C 24040003 */ addiu $a0, $zero, 3 +/* C73B00 80242680 27A30028 */ addiu $v1, $sp, 0x28 +/* C73B04 80242684 84A700A8 */ lh $a3, 0xa8($a1) +/* C73B08 80242688 3C013F80 */ lui $at, 0x3f80 +/* C73B0C 8024268C 44810000 */ mtc1 $at, $f0 +/* C73B10 80242690 3C014000 */ lui $at, 0x4000 +/* C73B14 80242694 44811000 */ mtc1 $at, $f2 +/* C73B18 80242698 3C01C1A0 */ lui $at, 0xc1a0 +/* C73B1C 8024269C 44812000 */ mtc1 $at, $f4 +/* C73B20 802426A0 44873000 */ mtc1 $a3, $f6 +/* C73B24 802426A4 00000000 */ nop +/* C73B28 802426A8 468031A0 */ cvt.s.w $f6, $f6 +/* C73B2C 802426AC E7A00010 */ swc1 $f0, 0x10($sp) +/* C73B30 802426B0 E7A20014 */ swc1 $f2, 0x14($sp) +/* C73B34 802426B4 E7A40018 */ swc1 $f4, 0x18($sp) +/* C73B38 802426B8 8E020078 */ lw $v0, 0x78($s0) +/* C73B3C 802426BC 44073000 */ mfc1 $a3, $f6 +/* C73B40 802426C0 0000302D */ daddu $a2, $zero, $zero +/* C73B44 802426C4 AFA30020 */ sw $v1, 0x20($sp) +/* C73B48 802426C8 2442FFFF */ addiu $v0, $v0, -1 +/* C73B4C 802426CC 0C01BFA4 */ jal fx_emote +/* C73B50 802426D0 AFA2001C */ sw $v0, 0x1c($sp) +/* C73B54 802426D4 24020021 */ addiu $v0, $zero, 0x21 +.L802426D8: +/* C73B58 802426D8 AE220070 */ sw $v0, 0x70($s1) +.L802426DC: +/* C73B5C 802426DC 8FBF0038 */ lw $ra, 0x38($sp) +/* C73B60 802426E0 8FB10034 */ lw $s1, 0x34($sp) +/* C73B64 802426E4 8FB00030 */ lw $s0, 0x30($sp) +/* C73B68 802426E8 03E00008 */ jr $ra +/* C73B6C 802426EC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802426F0.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802426F0.s new file mode 100644 index 0000000000..83c679efc8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802426F0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426F0 +/* C73B70 802426F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C73B74 802426F4 AFB10014 */ sw $s1, 0x14($sp) +/* C73B78 802426F8 0080882D */ daddu $s1, $a0, $zero +/* C73B7C 802426FC AFBF0018 */ sw $ra, 0x18($sp) +/* C73B80 80242700 AFB00010 */ sw $s0, 0x10($sp) +/* C73B84 80242704 8E300148 */ lw $s0, 0x148($s1) +/* C73B88 80242708 0C00EABB */ jal get_npc_unsafe +/* C73B8C 8024270C 86040008 */ lh $a0, 8($s0) +/* C73B90 80242710 9443008E */ lhu $v1, 0x8e($v0) +/* C73B94 80242714 2463FFFF */ addiu $v1, $v1, -1 +/* C73B98 80242718 A443008E */ sh $v1, 0x8e($v0) +/* C73B9C 8024271C 00031C00 */ sll $v1, $v1, 0x10 +/* C73BA0 80242720 1C600003 */ bgtz $v1, .L80242730 +/* C73BA4 80242724 2402000C */ addiu $v0, $zero, 0xc +/* C73BA8 80242728 AE00006C */ sw $zero, 0x6c($s0) +/* C73BAC 8024272C AE220070 */ sw $v0, 0x70($s1) +.L80242730: +/* C73BB0 80242730 8FBF0018 */ lw $ra, 0x18($sp) +/* C73BB4 80242734 8FB10014 */ lw $s1, 0x14($sp) +/* C73BB8 80242738 8FB00010 */ lw $s0, 0x10($sp) +/* C73BBC 8024273C 03E00008 */ jr $ra +/* C73BC0 80242740 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242744.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242744.s new file mode 100644 index 0000000000..7ebd69a1d8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242744.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242744 +/* C73BC4 80242744 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C73BC8 80242748 AFBF0024 */ sw $ra, 0x24($sp) +/* C73BCC 8024274C AFB40020 */ sw $s4, 0x20($sp) +/* C73BD0 80242750 AFB3001C */ sw $s3, 0x1c($sp) +/* C73BD4 80242754 AFB20018 */ sw $s2, 0x18($sp) +/* C73BD8 80242758 AFB10014 */ sw $s1, 0x14($sp) +/* C73BDC 8024275C AFB00010 */ sw $s0, 0x10($sp) +/* C73BE0 80242760 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C73BE4 80242764 8C900148 */ lw $s0, 0x148($a0) +/* C73BE8 80242768 86040008 */ lh $a0, 8($s0) +/* C73BEC 8024276C 0C00EABB */ jal get_npc_unsafe +/* C73BF0 80242770 24110001 */ addiu $s1, $zero, 1 +/* C73BF4 80242774 86040008 */ lh $a0, 8($s0) +/* C73BF8 80242778 0040802D */ daddu $s0, $v0, $zero +/* C73BFC 8024277C 3C05800B */ lui $a1, %hi(gCameras) +/* C73C00 80242780 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C73C04 80242784 3C03800A */ lui $v1, 0x800a +/* C73C08 80242788 8463A634 */ lh $v1, -0x59cc($v1) +/* C73C0C 8024278C 00912021 */ addu $a0, $a0, $s1 +/* C73C10 80242790 00031080 */ sll $v0, $v1, 2 +/* C73C14 80242794 00431021 */ addu $v0, $v0, $v1 +/* C73C18 80242798 00021080 */ sll $v0, $v0, 2 +/* C73C1C 8024279C 00431023 */ subu $v0, $v0, $v1 +/* C73C20 802427A0 000218C0 */ sll $v1, $v0, 3 +/* C73C24 802427A4 00431021 */ addu $v0, $v0, $v1 +/* C73C28 802427A8 000210C0 */ sll $v0, $v0, 3 +/* C73C2C 802427AC 0C00FB3A */ jal get_enemy +/* C73C30 802427B0 00459021 */ addu $s2, $v0, $a1 +/* C73C34 802427B4 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C73C38 802427B8 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C73C3C 802427BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C73C40 802427C0 8E830000 */ lw $v1, ($s4) +/* C73C44 802427C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C73C48 802427C8 8C660028 */ lw $a2, 0x28($v1) +/* C73C4C 802427CC 8C670030 */ lw $a3, 0x30($v1) +/* C73C50 802427D0 0C00A7B5 */ jal dist2D +/* C73C54 802427D4 0040982D */ daddu $s3, $v0, $zero +/* C73C58 802427D8 C6620074 */ lwc1 $f2, 0x74($s3) +/* C73C5C 802427DC 468010A0 */ cvt.s.w $f2, $f2 +/* C73C60 802427E0 4600103C */ c.lt.s $f2, $f0 +/* C73C64 802427E4 00000000 */ nop +/* C73C68 802427E8 45030001 */ bc1tl .L802427F0 +/* C73C6C 802427EC 0000882D */ daddu $s1, $zero, $zero +.L802427F0: +/* C73C70 802427F0 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C73C74 802427F4 C60E000C */ lwc1 $f14, 0xc($s0) +/* C73C78 802427F8 3C014387 */ lui $at, 0x4387 +/* C73C7C 802427FC 4481A000 */ mtc1 $at, $f20 +/* C73C80 80242800 0C00A70A */ jal get_clamped_angle_diff +/* C73C84 80242804 00000000 */ nop +/* C73C88 80242808 0C00A6C9 */ jal clamp_angle +/* C73C8C 8024280C 46000306 */ mov.s $f12, $f0 +/* C73C90 80242810 3C018024 */ lui $at, 0x8024 +/* C73C94 80242814 D4225698 */ ldc1 $f2, 0x5698($at) +/* C73C98 80242818 46000021 */ cvt.d.s $f0, $f0 +/* C73C9C 8024281C 4622003C */ c.lt.d $f0, $f2 +/* C73CA0 80242820 00000000 */ nop +/* C73CA4 80242824 45000003 */ bc1f .L80242834 +/* C73CA8 80242828 00000000 */ nop +/* C73CAC 8024282C 3C0142B4 */ lui $at, 0x42b4 +/* C73CB0 80242830 4481A000 */ mtc1 $at, $f20 +.L80242834: +/* C73CB4 80242834 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C73CB8 80242838 8E820000 */ lw $v0, ($s4) +/* C73CBC 8024283C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C73CC0 80242840 8C460028 */ lw $a2, 0x28($v0) +/* C73CC4 80242844 0C00A720 */ jal atan2 +/* C73CC8 80242848 8C470030 */ lw $a3, 0x30($v0) +/* C73CCC 8024284C 4600A306 */ mov.s $f12, $f20 +/* C73CD0 80242850 0C00A70A */ jal get_clamped_angle_diff +/* C73CD4 80242854 46000386 */ mov.s $f14, $f0 +/* C73CD8 80242858 C6620078 */ lwc1 $f2, 0x78($s3) +/* C73CDC 8024285C 468010A0 */ cvt.s.w $f2, $f2 +/* C73CE0 80242860 46000005 */ abs.s $f0, $f0 +/* C73CE4 80242864 4600103C */ c.lt.s $f2, $f0 +/* C73CE8 80242868 00000000 */ nop +/* C73CEC 8024286C 45030001 */ bc1tl .L80242874 +/* C73CF0 80242870 0000882D */ daddu $s1, $zero, $zero +.L80242874: +/* C73CF4 80242874 8E820000 */ lw $v0, ($s4) +/* C73CF8 80242878 C600003C */ lwc1 $f0, 0x3c($s0) +/* C73CFC 8024287C C442002C */ lwc1 $f2, 0x2c($v0) +/* C73D00 80242880 860200A8 */ lh $v0, 0xa8($s0) +/* C73D04 80242884 46020001 */ sub.s $f0, $f0, $f2 +/* C73D08 80242888 44821000 */ mtc1 $v0, $f2 +/* C73D0C 8024288C 00000000 */ nop +/* C73D10 80242890 468010A1 */ cvt.d.w $f2, $f2 +/* C73D14 80242894 46221080 */ add.d $f2, $f2, $f2 +/* C73D18 80242898 46000005 */ abs.s $f0, $f0 +/* C73D1C 8024289C 46000021 */ cvt.d.s $f0, $f0 +/* C73D20 802428A0 4620103E */ c.le.d $f2, $f0 +/* C73D24 802428A4 00000000 */ nop +/* C73D28 802428A8 45030001 */ bc1tl .L802428B0 +/* C73D2C 802428AC 0000882D */ daddu $s1, $zero, $zero +.L802428B0: +/* C73D30 802428B0 3C038011 */ lui $v1, 0x8011 +/* C73D34 802428B4 8063EBB3 */ lb $v1, -0x144d($v1) +/* C73D38 802428B8 24020009 */ addiu $v0, $zero, 9 +/* C73D3C 802428BC 50620001 */ beql $v1, $v0, .L802428C4 +/* C73D40 802428C0 0000882D */ daddu $s1, $zero, $zero +.L802428C4: +/* C73D44 802428C4 24020007 */ addiu $v0, $zero, 7 +/* C73D48 802428C8 50620001 */ beql $v1, $v0, .L802428D0 +/* C73D4C 802428CC 0000882D */ daddu $s1, $zero, $zero +.L802428D0: +/* C73D50 802428D0 0220102D */ daddu $v0, $s1, $zero +/* C73D54 802428D4 8FBF0024 */ lw $ra, 0x24($sp) +/* C73D58 802428D8 8FB40020 */ lw $s4, 0x20($sp) +/* C73D5C 802428DC 8FB3001C */ lw $s3, 0x1c($sp) +/* C73D60 802428E0 8FB20018 */ lw $s2, 0x18($sp) +/* C73D64 802428E4 8FB10014 */ lw $s1, 0x14($sp) +/* C73D68 802428E8 8FB00010 */ lw $s0, 0x10($sp) +/* C73D6C 802428EC D7B40028 */ ldc1 $f20, 0x28($sp) +/* C73D70 802428F0 03E00008 */ jr $ra +/* C73D74 802428F4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802428F8.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802428F8.s new file mode 100644 index 0000000000..fcb156b51d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802428F8.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428F8 +/* C73D78 802428F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C73D7C 802428FC AFB40028 */ sw $s4, 0x28($sp) +/* C73D80 80242900 0080A02D */ daddu $s4, $a0, $zero +/* C73D84 80242904 AFBF002C */ sw $ra, 0x2c($sp) +/* C73D88 80242908 AFB30024 */ sw $s3, 0x24($sp) +/* C73D8C 8024290C AFB20020 */ sw $s2, 0x20($sp) +/* C73D90 80242910 AFB1001C */ sw $s1, 0x1c($sp) +/* C73D94 80242914 AFB00018 */ sw $s0, 0x18($sp) +/* C73D98 80242918 8E910148 */ lw $s1, 0x148($s4) +/* C73D9C 8024291C 86240008 */ lh $a0, 8($s1) +/* C73DA0 80242920 0C00EABB */ jal get_npc_unsafe +/* C73DA4 80242924 00A0802D */ daddu $s0, $a1, $zero +/* C73DA8 80242928 16000005 */ bnez $s0, .L80242940 +/* C73DAC 8024292C 0040902D */ daddu $s2, $v0, $zero +/* C73DB0 80242930 8E2200B0 */ lw $v0, 0xb0($s1) +/* C73DB4 80242934 30420004 */ andi $v0, $v0, 4 +/* C73DB8 80242938 10400015 */ beqz $v0, .L80242990 +/* C73DBC 8024293C 00000000 */ nop +.L80242940: +/* C73DC0 80242940 AE800070 */ sw $zero, 0x70($s4) +/* C73DC4 80242944 8E420000 */ lw $v0, ($s2) +/* C73DC8 80242948 3C031F30 */ lui $v1, 0x1f30 +/* C73DCC 8024294C A640008E */ sh $zero, 0x8e($s2) +/* C73DD0 80242950 34420102 */ ori $v0, $v0, 0x102 +/* C73DD4 80242954 AE420000 */ sw $v0, ($s2) +/* C73DD8 80242958 8E220000 */ lw $v0, ($s1) +/* C73DDC 8024295C 3C01C47A */ lui $at, 0xc47a +/* C73DE0 80242960 44810000 */ mtc1 $at, $f0 +/* C73DE4 80242964 00431025 */ or $v0, $v0, $v1 +/* C73DE8 80242968 AE220000 */ sw $v0, ($s1) +/* C73DEC 8024296C AE400038 */ sw $zero, 0x38($s2) +/* C73DF0 80242970 E640003C */ swc1 $f0, 0x3c($s2) +/* C73DF4 80242974 AE400040 */ sw $zero, 0x40($s2) +/* C73DF8 80242978 8E2300B0 */ lw $v1, 0xb0($s1) +/* C73DFC 8024297C 30620004 */ andi $v0, $v1, 4 +/* C73E00 80242980 10400003 */ beqz $v0, .L80242990 +/* C73E04 80242984 2402FFFB */ addiu $v0, $zero, -5 +/* C73E08 80242988 00621024 */ and $v0, $v1, $v0 +/* C73E0C 8024298C AE2200B0 */ sw $v0, 0xb0($s1) +.L80242990: +/* C73E10 80242990 8E930070 */ lw $s3, 0x70($s4) +/* C73E14 80242994 12600005 */ beqz $s3, .L802429AC +/* C73E18 80242998 24020001 */ addiu $v0, $zero, 1 +/* C73E1C 8024299C 12620048 */ beq $s3, $v0, .L80242AC0 +/* C73E20 802429A0 00000000 */ nop +/* C73E24 802429A4 08090ACD */ j .L80242B34 +/* C73E28 802429A8 00000000 */ nop +.L802429AC: +/* C73E2C 802429AC 86240008 */ lh $a0, 8($s1) +/* C73E30 802429B0 0C00FB3A */ jal get_enemy +/* C73E34 802429B4 2484FFFF */ addiu $a0, $a0, -1 +/* C73E38 802429B8 0040802D */ daddu $s0, $v0, $zero +/* C73E3C 802429BC 0C00EABB */ jal get_npc_unsafe +/* C73E40 802429C0 86040008 */ lh $a0, 8($s0) +/* C73E44 802429C4 24030001 */ addiu $v1, $zero, 1 +/* C73E48 802429C8 0040982D */ daddu $s3, $v0, $zero +/* C73E4C 802429CC A2230007 */ sb $v1, 7($s1) +/* C73E50 802429D0 8E03006C */ lw $v1, 0x6c($s0) +/* C73E54 802429D4 24020003 */ addiu $v0, $zero, 3 +/* C73E58 802429D8 14620056 */ bne $v1, $v0, .L80242B34 +/* C73E5C 802429DC 00000000 */ nop +/* C73E60 802429E0 8E2500A8 */ lw $a1, 0xa8($s1) +/* C73E64 802429E4 10A00003 */ beqz $a1, .L802429F4 +/* C73E68 802429E8 0260202D */ daddu $a0, $s3, $zero +/* C73E6C 802429EC 0C012530 */ jal func_800494C0 +/* C73E70 802429F0 0000302D */ daddu $a2, $zero, $zero +.L802429F4: +/* C73E74 802429F4 27A40010 */ addiu $a0, $sp, 0x10 +/* C73E78 802429F8 C6280070 */ lwc1 $f8, 0x70($s1) +/* C73E7C 802429FC 46804220 */ cvt.s.w $f8, $f8 +/* C73E80 80242A00 C6620034 */ lwc1 $f2, 0x34($s3) +/* C73E84 80242A04 3C014387 */ lui $at, 0x4387 +/* C73E88 80242A08 44810000 */ mtc1 $at, $f0 +/* C73E8C 80242A0C 44064000 */ mfc1 $a2, $f8 +/* C73E90 80242A10 46020001 */ sub.s $f0, $f0, $f2 +/* C73E94 80242A14 C6660038 */ lwc1 $f6, 0x38($s3) +/* C73E98 80242A18 C6640040 */ lwc1 $f4, 0x40($s3) +/* C73E9C 80242A1C 44070000 */ mfc1 $a3, $f0 +/* C73EA0 80242A20 27A50014 */ addiu $a1, $sp, 0x14 +/* C73EA4 80242A24 E7A60010 */ swc1 $f6, 0x10($sp) +/* C73EA8 80242A28 0C00A7E7 */ jal add_vec2D_polar +/* C73EAC 80242A2C E7A40014 */ swc1 $f4, 0x14($sp) +/* C73EB0 80242A30 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C73EB4 80242A34 4600020D */ trunc.w.s $f8, $f0 +/* C73EB8 80242A38 44024000 */ mfc1 $v0, $f8 +/* C73EBC 80242A3C E6400038 */ swc1 $f0, 0x38($s2) +/* C73EC0 80242A40 A6220010 */ sh $v0, 0x10($s1) +/* C73EC4 80242A44 C660003C */ lwc1 $f0, 0x3c($s3) +/* C73EC8 80242A48 C622006C */ lwc1 $f2, 0x6c($s1) +/* C73ECC 80242A4C 468010A0 */ cvt.s.w $f2, $f2 +/* C73ED0 80242A50 46020000 */ add.s $f0, $f0, $f2 +/* C73ED4 80242A54 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C73ED8 80242A58 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C73EDC 80242A5C E640003C */ swc1 $f0, 0x3c($s2) +/* C73EE0 80242A60 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C73EE4 80242A64 4600020D */ trunc.w.s $f8, $f0 +/* C73EE8 80242A68 44024000 */ mfc1 $v0, $f8 +/* C73EEC 80242A6C 00000000 */ nop +/* C73EF0 80242A70 A6220012 */ sh $v0, 0x12($s1) +/* C73EF4 80242A74 4600120D */ trunc.w.s $f8, $f2 +/* C73EF8 80242A78 44024000 */ mfc1 $v0, $f8 +/* C73EFC 80242A7C E6420040 */ swc1 $f2, 0x40($s2) +/* C73F00 80242A80 A6220014 */ sh $v0, 0x14($s1) +/* C73F04 80242A84 8C660028 */ lw $a2, 0x28($v1) +/* C73F08 80242A88 8C670030 */ lw $a3, 0x30($v1) +/* C73F0C 80242A8C C64C0038 */ lwc1 $f12, 0x38($s2) +/* C73F10 80242A90 0C00A720 */ jal atan2 +/* C73F14 80242A94 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C73F18 80242A98 3C03E0EF */ lui $v1, 0xe0ef +/* C73F1C 80242A9C E640000C */ swc1 $f0, 0xc($s2) +/* C73F20 80242AA0 8E220000 */ lw $v0, ($s1) +/* C73F24 80242AA4 3463FFFF */ ori $v1, $v1, 0xffff +/* C73F28 80242AA8 00431024 */ and $v0, $v0, $v1 +/* C73F2C 80242AAC AE220000 */ sw $v0, ($s1) +/* C73F30 80242AB0 24020001 */ addiu $v0, $zero, 1 +/* C73F34 80242AB4 A640008E */ sh $zero, 0x8e($s2) +/* C73F38 80242AB8 08090ACD */ j .L80242B34 +/* C73F3C 80242ABC AE820070 */ sw $v0, 0x70($s4) +.L80242AC0: +/* C73F40 80242AC0 86240008 */ lh $a0, 8($s1) +/* C73F44 80242AC4 0C00FB3A */ jal get_enemy +/* C73F48 80242AC8 2484FFFF */ addiu $a0, $a0, -1 +/* C73F4C 80242ACC 0040802D */ daddu $s0, $v0, $zero +/* C73F50 80242AD0 0C00EABB */ jal get_npc_unsafe +/* C73F54 80242AD4 86040008 */ lh $a0, 8($s0) +/* C73F58 80242AD8 9642008E */ lhu $v0, 0x8e($s2) +/* C73F5C 80242ADC 24420001 */ addiu $v0, $v0, 1 +/* C73F60 80242AE0 A642008E */ sh $v0, 0x8e($s2) +/* C73F64 80242AE4 00021400 */ sll $v0, $v0, 0x10 +/* C73F68 80242AE8 8E23007C */ lw $v1, 0x7c($s1) +/* C73F6C 80242AEC 00021403 */ sra $v0, $v0, 0x10 +/* C73F70 80242AF0 0043102A */ slt $v0, $v0, $v1 +/* C73F74 80242AF4 50400001 */ beql $v0, $zero, .L80242AFC +/* C73F78 80242AF8 A2200007 */ sb $zero, 7($s1) +.L80242AFC: +/* C73F7C 80242AFC 8E03006C */ lw $v1, 0x6c($s0) +/* C73F80 80242B00 24020004 */ addiu $v0, $zero, 4 +/* C73F84 80242B04 1462000B */ bne $v1, $v0, .L80242B34 +/* C73F88 80242B08 3C021F10 */ lui $v0, 0x1f10 +/* C73F8C 80242B0C 8E230000 */ lw $v1, ($s1) +/* C73F90 80242B10 3C01C47A */ lui $at, 0xc47a +/* C73F94 80242B14 44810000 */ mtc1 $at, $f0 +/* C73F98 80242B18 00621825 */ or $v1, $v1, $v0 +/* C73F9C 80242B1C AE230000 */ sw $v1, ($s1) +/* C73FA0 80242B20 AE400038 */ sw $zero, 0x38($s2) +/* C73FA4 80242B24 E640003C */ swc1 $f0, 0x3c($s2) +/* C73FA8 80242B28 AE400040 */ sw $zero, 0x40($s2) +/* C73FAC 80242B2C A2330007 */ sb $s3, 7($s1) +/* C73FB0 80242B30 AE800070 */ sw $zero, 0x70($s4) +.L80242B34: +/* C73FB4 80242B34 8FBF002C */ lw $ra, 0x2c($sp) +/* C73FB8 80242B38 8FB40028 */ lw $s4, 0x28($sp) +/* C73FBC 80242B3C 8FB30024 */ lw $s3, 0x24($sp) +/* C73FC0 80242B40 8FB20020 */ lw $s2, 0x20($sp) +/* C73FC4 80242B44 8FB1001C */ lw $s1, 0x1c($sp) +/* C73FC8 80242B48 8FB00018 */ lw $s0, 0x18($sp) +/* C73FCC 80242B4C 0000102D */ daddu $v0, $zero, $zero +/* C73FD0 80242B50 03E00008 */ jr $ra +/* C73FD4 80242B54 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242B58.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242B58.s new file mode 100644 index 0000000000..ee217f44c2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242B58.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B58 +/* C73FD8 80242B58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C73FDC 80242B5C AFB20038 */ sw $s2, 0x38($sp) +/* C73FE0 80242B60 0080902D */ daddu $s2, $a0, $zero +/* C73FE4 80242B64 AFBF0048 */ sw $ra, 0x48($sp) +/* C73FE8 80242B68 AFB50044 */ sw $s5, 0x44($sp) +/* C73FEC 80242B6C AFB40040 */ sw $s4, 0x40($sp) +/* C73FF0 80242B70 AFB3003C */ sw $s3, 0x3c($sp) +/* C73FF4 80242B74 AFB10034 */ sw $s1, 0x34($sp) +/* C73FF8 80242B78 AFB00030 */ sw $s0, 0x30($sp) +/* C73FFC 80242B7C 8E510148 */ lw $s1, 0x148($s2) +/* C74000 80242B80 86240008 */ lh $a0, 8($s1) +/* C74004 80242B84 0C00EABB */ jal get_npc_unsafe +/* C74008 80242B88 00A0802D */ daddu $s0, $a1, $zero +/* C7400C 80242B8C 8E43000C */ lw $v1, 0xc($s2) +/* C74010 80242B90 0240202D */ daddu $a0, $s2, $zero +/* C74014 80242B94 8C650000 */ lw $a1, ($v1) +/* C74018 80242B98 0C0B1EAF */ jal get_variable +/* C7401C 80242B9C 0040A82D */ daddu $s5, $v0, $zero +/* C74020 80242BA0 AFA00010 */ sw $zero, 0x10($sp) +/* C74024 80242BA4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C74028 80242BA8 8C630030 */ lw $v1, 0x30($v1) +/* C7402C 80242BAC AFA30014 */ sw $v1, 0x14($sp) +/* C74030 80242BB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C74034 80242BB4 8C63001C */ lw $v1, 0x1c($v1) +/* C74038 80242BB8 AFA30018 */ sw $v1, 0x18($sp) +/* C7403C 80242BBC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C74040 80242BC0 8C630024 */ lw $v1, 0x24($v1) +/* C74044 80242BC4 AFA3001C */ sw $v1, 0x1c($sp) +/* C74048 80242BC8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C7404C 80242BCC 8C630028 */ lw $v1, 0x28($v1) +/* C74050 80242BD0 27B40010 */ addiu $s4, $sp, 0x10 +/* C74054 80242BD4 AFA30020 */ sw $v1, 0x20($sp) +/* C74058 80242BD8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C7405C 80242BDC 3C014282 */ lui $at, 0x4282 +/* C74060 80242BE0 44810000 */ mtc1 $at, $f0 +/* C74064 80242BE4 8C63002C */ lw $v1, 0x2c($v1) +/* C74068 80242BE8 0040982D */ daddu $s3, $v0, $zero +/* C7406C 80242BEC E7A00028 */ swc1 $f0, 0x28($sp) +/* C74070 80242BF0 A7A0002C */ sh $zero, 0x2c($sp) +/* C74074 80242BF4 16000005 */ bnez $s0, .L80242C0C +/* C74078 80242BF8 AFA30024 */ sw $v1, 0x24($sp) +/* C7407C 80242BFC 8E2200B0 */ lw $v0, 0xb0($s1) +/* C74080 80242C00 30420004 */ andi $v0, $v0, 4 +/* C74084 80242C04 10400020 */ beqz $v0, .L80242C88 +/* C74088 80242C08 00000000 */ nop +.L80242C0C: +/* C7408C 80242C0C 2404F7FF */ addiu $a0, $zero, -0x801 +/* C74090 80242C10 AE400070 */ sw $zero, 0x70($s2) +/* C74094 80242C14 A6A0008E */ sh $zero, 0x8e($s5) +/* C74098 80242C18 8E2200CC */ lw $v0, 0xcc($s1) +/* C7409C 80242C1C 8EA30000 */ lw $v1, ($s5) +/* C740A0 80242C20 8C420000 */ lw $v0, ($v0) +/* C740A4 80242C24 00641824 */ and $v1, $v1, $a0 +/* C740A8 80242C28 AEA30000 */ sw $v1, ($s5) +/* C740AC 80242C2C AEA20028 */ sw $v0, 0x28($s5) +/* C740B0 80242C30 8E2200D0 */ lw $v0, 0xd0($s1) +/* C740B4 80242C34 8C420034 */ lw $v0, 0x34($v0) +/* C740B8 80242C38 54400005 */ bnel $v0, $zero, .L80242C50 +/* C740BC 80242C3C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C740C0 80242C40 34620200 */ ori $v0, $v1, 0x200 +/* C740C4 80242C44 2403FFF7 */ addiu $v1, $zero, -9 +/* C740C8 80242C48 08090B16 */ j .L80242C58 +/* C740CC 80242C4C 00431024 */ and $v0, $v0, $v1 +.L80242C50: +/* C740D0 80242C50 00621024 */ and $v0, $v1, $v0 +/* C740D4 80242C54 34420008 */ ori $v0, $v0, 8 +.L80242C58: +/* C740D8 80242C58 AEA20000 */ sw $v0, ($s5) +/* C740DC 80242C5C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C740E0 80242C60 30420004 */ andi $v0, $v0, 4 +/* C740E4 80242C64 10400007 */ beqz $v0, .L80242C84 +/* C740E8 80242C68 24020063 */ addiu $v0, $zero, 0x63 +/* C740EC 80242C6C AE420070 */ sw $v0, 0x70($s2) +/* C740F0 80242C70 AE400074 */ sw $zero, 0x74($s2) +/* C740F4 80242C74 8E2200B0 */ lw $v0, 0xb0($s1) +/* C740F8 80242C78 2403FFFB */ addiu $v1, $zero, -5 +/* C740FC 80242C7C 00431024 */ and $v0, $v0, $v1 +/* C74100 80242C80 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242C84: +/* C74104 80242C84 AE20006C */ sw $zero, 0x6c($s1) +.L80242C88: +/* C74108 80242C88 8E420070 */ lw $v0, 0x70($s2) +/* C7410C 80242C8C 2842001E */ slti $v0, $v0, 0x1e +/* C74110 80242C90 10400009 */ beqz $v0, .L80242CB8 +/* C74114 80242C94 00000000 */ nop +/* C74118 80242C98 8E22006C */ lw $v0, 0x6c($s1) +/* C7411C 80242C9C 14400006 */ bnez $v0, .L80242CB8 +/* C74120 80242CA0 00000000 */ nop +/* C74124 80242CA4 0C0909D1 */ jal func_80242744 +/* C74128 80242CA8 0240202D */ daddu $a0, $s2, $zero +/* C7412C 80242CAC 10400002 */ beqz $v0, .L80242CB8 +/* C74130 80242CB0 2402001E */ addiu $v0, $zero, 0x1e +/* C74134 80242CB4 AE420070 */ sw $v0, 0x70($s2) +.L80242CB8: +/* C74138 80242CB8 8E430070 */ lw $v1, 0x70($s2) +/* C7413C 80242CBC 2C620064 */ sltiu $v0, $v1, 0x64 +/* C74140 80242CC0 10400048 */ beqz $v0, .L80242DE4 +/* C74144 80242CC4 00031080 */ sll $v0, $v1, 2 +/* C74148 80242CC8 3C018024 */ lui $at, 0x8024 +/* C7414C 80242CCC 00220821 */ addu $at, $at, $v0 +/* C74150 80242CD0 8C2256A0 */ lw $v0, 0x56a0($at) +/* C74154 80242CD4 00400008 */ jr $v0 +/* C74158 80242CD8 00000000 */ nop +/* C7415C 80242CDC 0240202D */ daddu $a0, $s2, $zero +/* C74160 80242CE0 0260282D */ daddu $a1, $s3, $zero +/* C74164 80242CE4 0C012568 */ jal func_800495A0 +/* C74168 80242CE8 0280302D */ daddu $a2, $s4, $zero +/* C7416C 80242CEC 0240202D */ daddu $a0, $s2, $zero +/* C74170 80242CF0 0260282D */ daddu $a1, $s3, $zero +/* C74174 80242CF4 0C0125AE */ jal func_800496B8 +/* C74178 80242CF8 0280302D */ daddu $a2, $s4, $zero +/* C7417C 80242CFC 08090B79 */ j .L80242DE4 +/* C74180 80242D00 00000000 */ nop +/* C74184 80242D04 0240202D */ daddu $a0, $s2, $zero +/* C74188 80242D08 0260282D */ daddu $a1, $s3, $zero +/* C7418C 80242D0C 0C0126D1 */ jal func_80049B44 +/* C74190 80242D10 0280302D */ daddu $a2, $s4, $zero +/* C74194 80242D14 0240202D */ daddu $a0, $s2, $zero +/* C74198 80242D18 0260282D */ daddu $a1, $s3, $zero +/* C7419C 80242D1C 0C012701 */ jal func_80049C04 +/* C741A0 80242D20 0280302D */ daddu $a2, $s4, $zero +/* C741A4 80242D24 08090B79 */ j .L80242DE4 +/* C741A8 80242D28 00000000 */ nop +/* C741AC 80242D2C 0240202D */ daddu $a0, $s2, $zero +/* C741B0 80242D30 0260282D */ daddu $a1, $s3, $zero +/* C741B4 80242D34 0C01278F */ jal func_80049E3C +/* C741B8 80242D38 0280302D */ daddu $a2, $s4, $zero +/* C741BC 80242D3C 0240202D */ daddu $a0, $s2, $zero +/* C741C0 80242D40 0260282D */ daddu $a1, $s3, $zero +/* C741C4 80242D44 0C0127B3 */ jal func_80049ECC +/* C741C8 80242D48 0280302D */ daddu $a2, $s4, $zero +/* C741CC 80242D4C 08090B79 */ j .L80242DE4 +/* C741D0 80242D50 00000000 */ nop +/* C741D4 80242D54 0240202D */ daddu $a0, $s2, $zero +/* C741D8 80242D58 0260282D */ daddu $a1, $s3, $zero +/* C741DC 80242D5C 0C0127DF */ jal func_80049F7C +/* C741E0 80242D60 0280302D */ daddu $a2, $s4, $zero +/* C741E4 80242D64 0240202D */ daddu $a0, $s2, $zero +/* C741E8 80242D68 0260282D */ daddu $a1, $s3, $zero +/* C741EC 80242D6C 0C012849 */ jal func_8004A124 +/* C741F0 80242D70 0280302D */ daddu $a2, $s4, $zero +/* C741F4 80242D74 08090B79 */ j .L80242DE4 +/* C741F8 80242D78 00000000 */ nop +/* C741FC 80242D7C 0240202D */ daddu $a0, $s2, $zero +/* C74200 80242D80 0260282D */ daddu $a1, $s3, $zero +/* C74204 80242D84 0C0128FA */ jal func_8004A3E8 +/* C74208 80242D88 0280302D */ daddu $a2, $s4, $zero +/* C7420C 80242D8C 08090B79 */ j .L80242DE4 +/* C74210 80242D90 00000000 */ nop +/* C74214 80242D94 0C09094F */ jal func_8024253C +/* C74218 80242D98 0240202D */ daddu $a0, $s2, $zero +/* C7421C 80242D9C 0C09096A */ jal func_802425A8 +/* C74220 80242DA0 0240202D */ daddu $a0, $s2, $zero +/* C74224 80242DA4 8E430070 */ lw $v1, 0x70($s2) +/* C74228 80242DA8 24020020 */ addiu $v0, $zero, 0x20 +/* C7422C 80242DAC 1462000D */ bne $v1, $v0, .L80242DE4 +/* C74230 80242DB0 00000000 */ nop +/* C74234 80242DB4 0C090986 */ jal func_80242618 +/* C74238 80242DB8 0240202D */ daddu $a0, $s2, $zero +/* C7423C 80242DBC 8E430070 */ lw $v1, 0x70($s2) +/* C74240 80242DC0 24020021 */ addiu $v0, $zero, 0x21 +/* C74244 80242DC4 14620007 */ bne $v1, $v0, .L80242DE4 +/* C74248 80242DC8 00000000 */ nop +/* C7424C 80242DCC 0C0909BC */ jal func_802426F0 +/* C74250 80242DD0 0240202D */ daddu $a0, $s2, $zero +/* C74254 80242DD4 08090B79 */ j .L80242DE4 +/* C74258 80242DD8 00000000 */ nop +/* C7425C 80242DDC 0C0129CF */ jal func_8004A73C +/* C74260 80242DE0 0240202D */ daddu $a0, $s2, $zero +.L80242DE4: +/* C74264 80242DE4 8FBF0048 */ lw $ra, 0x48($sp) +/* C74268 80242DE8 8FB50044 */ lw $s5, 0x44($sp) +/* C7426C 80242DEC 8FB40040 */ lw $s4, 0x40($sp) +/* C74270 80242DF0 8FB3003C */ lw $s3, 0x3c($sp) +/* C74274 80242DF4 8FB20038 */ lw $s2, 0x38($sp) +/* C74278 80242DF8 8FB10034 */ lw $s1, 0x34($sp) +/* C7427C 80242DFC 8FB00030 */ lw $s0, 0x30($sp) +/* C74280 80242E00 0000102D */ daddu $v0, $zero, $zero +/* C74284 80242E04 03E00008 */ jr $ra +/* C74288 80242E08 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E0C.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E0C.s new file mode 100644 index 0000000000..60260e8640 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E0C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E0C +/* C7428C 80242E0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C74290 80242E10 AFB10014 */ sw $s1, 0x14($sp) +/* C74294 80242E14 0080882D */ daddu $s1, $a0, $zero +/* C74298 80242E18 AFBF0018 */ sw $ra, 0x18($sp) +/* C7429C 80242E1C AFB00010 */ sw $s0, 0x10($sp) +/* C742A0 80242E20 8E300148 */ lw $s0, 0x148($s1) +/* C742A4 80242E24 0C00EABB */ jal get_npc_unsafe +/* C742A8 80242E28 86040008 */ lh $a0, 8($s0) +/* C742AC 80242E2C 0040202D */ daddu $a0, $v0, $zero +/* C742B0 80242E30 8482008E */ lh $v0, 0x8e($a0) +/* C742B4 80242E34 9483008E */ lhu $v1, 0x8e($a0) +/* C742B8 80242E38 18400003 */ blez $v0, .L80242E48 +/* C742BC 80242E3C 2462FFFF */ addiu $v0, $v1, -1 +/* C742C0 80242E40 08090B99 */ j .L80242E64 +/* C742C4 80242E44 A482008E */ sh $v0, 0x8e($a0) +.L80242E48: +/* C742C8 80242E48 8E0200CC */ lw $v0, 0xcc($s0) +/* C742CC 80242E4C AE00006C */ sw $zero, 0x6c($s0) +/* C742D0 80242E50 8C420000 */ lw $v0, ($v0) +/* C742D4 80242E54 AC820028 */ sw $v0, 0x28($a0) +/* C742D8 80242E58 24020001 */ addiu $v0, $zero, 1 +/* C742DC 80242E5C AE200074 */ sw $zero, 0x74($s1) +/* C742E0 80242E60 AE220070 */ sw $v0, 0x70($s1) +.L80242E64: +/* C742E4 80242E64 8FBF0018 */ lw $ra, 0x18($sp) +/* C742E8 80242E68 8FB10014 */ lw $s1, 0x14($sp) +/* C742EC 80242E6C 8FB00010 */ lw $s0, 0x10($sp) +/* C742F0 80242E70 03E00008 */ jr $ra +/* C742F4 80242E74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E78_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E78_C71480.s new file mode 100644 index 0000000000..5abbd7af75 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242E78_C71480.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E78_C742F8 +/* C742F8 80242E78 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C742FC 80242E7C AFB3003C */ sw $s3, 0x3c($sp) +/* C74300 80242E80 0080982D */ daddu $s3, $a0, $zero +/* C74304 80242E84 AFBF0040 */ sw $ra, 0x40($sp) +/* C74308 80242E88 AFB20038 */ sw $s2, 0x38($sp) +/* C7430C 80242E8C AFB10034 */ sw $s1, 0x34($sp) +/* C74310 80242E90 AFB00030 */ sw $s0, 0x30($sp) +/* C74314 80242E94 8E720148 */ lw $s2, 0x148($s3) +/* C74318 80242E98 00A0882D */ daddu $s1, $a1, $zero +/* C7431C 80242E9C 86440008 */ lh $a0, 8($s2) +/* C74320 80242EA0 0C00EABB */ jal get_npc_unsafe +/* C74324 80242EA4 00C0802D */ daddu $s0, $a2, $zero +/* C74328 80242EA8 0200202D */ daddu $a0, $s0, $zero +/* C7432C 80242EAC 0240282D */ daddu $a1, $s2, $zero +/* C74330 80242EB0 AFA00010 */ sw $zero, 0x10($sp) +/* C74334 80242EB4 8E26000C */ lw $a2, 0xc($s1) +/* C74338 80242EB8 8E270010 */ lw $a3, 0x10($s1) +/* C7433C 80242EBC 0C01242D */ jal func_800490B4 +/* C74340 80242EC0 0040882D */ daddu $s1, $v0, $zero +/* C74344 80242EC4 10400024 */ beqz $v0, .L80242F58 +/* C74348 80242EC8 0220202D */ daddu $a0, $s1, $zero +/* C7434C 80242ECC 24050322 */ addiu $a1, $zero, 0x322 +/* C74350 80242ED0 0C012530 */ jal func_800494C0 +/* C74354 80242ED4 0000302D */ daddu $a2, $zero, $zero +/* C74358 80242ED8 0000202D */ daddu $a0, $zero, $zero +/* C7435C 80242EDC 0220282D */ daddu $a1, $s1, $zero +/* C74360 80242EE0 0000302D */ daddu $a2, $zero, $zero +/* C74364 80242EE4 2410000A */ addiu $s0, $zero, 0xa +/* C74368 80242EE8 862300A8 */ lh $v1, 0xa8($s1) +/* C7436C 80242EEC 3C013F80 */ lui $at, 0x3f80 +/* C74370 80242EF0 44810000 */ mtc1 $at, $f0 +/* C74374 80242EF4 3C014000 */ lui $at, 0x4000 +/* C74378 80242EF8 44811000 */ mtc1 $at, $f2 +/* C7437C 80242EFC 3C01C1A0 */ lui $at, 0xc1a0 +/* C74380 80242F00 44812000 */ mtc1 $at, $f4 +/* C74384 80242F04 44833000 */ mtc1 $v1, $f6 +/* C74388 80242F08 00000000 */ nop +/* C7438C 80242F0C 468031A0 */ cvt.s.w $f6, $f6 +/* C74390 80242F10 44073000 */ mfc1 $a3, $f6 +/* C74394 80242F14 27A20028 */ addiu $v0, $sp, 0x28 +/* C74398 80242F18 AFB0001C */ sw $s0, 0x1c($sp) +/* C7439C 80242F1C AFA20020 */ sw $v0, 0x20($sp) +/* C743A0 80242F20 E7A00010 */ swc1 $f0, 0x10($sp) +/* C743A4 80242F24 E7A20014 */ swc1 $f2, 0x14($sp) +/* C743A8 80242F28 0C01BFA4 */ jal fx_emote +/* C743AC 80242F2C E7A40018 */ swc1 $f4, 0x18($sp) +/* C743B0 80242F30 0220202D */ daddu $a0, $s1, $zero +/* C743B4 80242F34 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C743B8 80242F38 0C012530 */ jal func_800494C0 +/* C743BC 80242F3C 3C060020 */ lui $a2, 0x20 +/* C743C0 80242F40 8E4200CC */ lw $v0, 0xcc($s2) +/* C743C4 80242F44 8C420020 */ lw $v0, 0x20($v0) +/* C743C8 80242F48 AE220028 */ sw $v0, 0x28($s1) +/* C743CC 80242F4C 9642008E */ lhu $v0, 0x8e($s2) +/* C743D0 80242F50 A622008E */ sh $v0, 0x8e($s1) +/* C743D4 80242F54 AE700070 */ sw $s0, 0x70($s3) +.L80242F58: +/* C743D8 80242F58 8FBF0040 */ lw $ra, 0x40($sp) +/* C743DC 80242F5C 8FB3003C */ lw $s3, 0x3c($sp) +/* C743E0 80242F60 8FB20038 */ lw $s2, 0x38($sp) +/* C743E4 80242F64 8FB10034 */ lw $s1, 0x34($sp) +/* C743E8 80242F68 8FB00030 */ lw $s0, 0x30($sp) +/* C743EC 80242F6C 03E00008 */ jr $ra +/* C743F0 80242F70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80242F74_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242F74_C71480.s new file mode 100644 index 0000000000..ae5c5f71eb --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80242F74_C71480.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74_C743F4 +/* C743F4 80242F74 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C743F8 80242F78 AFBF0064 */ sw $ra, 0x64($sp) +/* C743FC 80242F7C AFBE0060 */ sw $fp, 0x60($sp) +/* C74400 80242F80 AFB7005C */ sw $s7, 0x5c($sp) +/* C74404 80242F84 AFB60058 */ sw $s6, 0x58($sp) +/* C74408 80242F88 AFB50054 */ sw $s5, 0x54($sp) +/* C7440C 80242F8C AFB40050 */ sw $s4, 0x50($sp) +/* C74410 80242F90 AFB3004C */ sw $s3, 0x4c($sp) +/* C74414 80242F94 AFB20048 */ sw $s2, 0x48($sp) +/* C74418 80242F98 AFB10044 */ sw $s1, 0x44($sp) +/* C7441C 80242F9C AFB00040 */ sw $s0, 0x40($sp) +/* C74420 80242FA0 F7B80078 */ sdc1 $f24, 0x78($sp) +/* C74424 80242FA4 F7B60070 */ sdc1 $f22, 0x70($sp) +/* C74428 80242FA8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* C7442C 80242FAC AFA40080 */ sw $a0, 0x80($sp) +/* C74430 80242FB0 8C960148 */ lw $s6, 0x148($a0) +/* C74434 80242FB4 00C0902D */ daddu $s2, $a2, $zero +/* C74438 80242FB8 86C40008 */ lh $a0, 8($s6) +/* C7443C 80242FBC 0C00EABB */ jal get_npc_unsafe +/* C74440 80242FC0 0000B82D */ daddu $s7, $zero, $zero +/* C74444 80242FC4 0040882D */ daddu $s1, $v0, $zero +/* C74448 80242FC8 9622008E */ lhu $v0, 0x8e($s1) +/* C7444C 80242FCC 2442FFFF */ addiu $v0, $v0, -1 +/* C74450 80242FD0 A622008E */ sh $v0, 0x8e($s1) +/* C74454 80242FD4 00021400 */ sll $v0, $v0, 0x10 +/* C74458 80242FD8 8EC30090 */ lw $v1, 0x90($s6) +/* C7445C 80242FDC 00021403 */ sra $v0, $v0, 0x10 +/* C74460 80242FE0 0062182A */ slt $v1, $v1, $v0 +/* C74464 80242FE4 14600005 */ bnez $v1, .L80242FFC +/* C74468 80242FE8 02E0F02D */ daddu $fp, $s7, $zero +/* C7446C 80242FEC 8EC20000 */ lw $v0, ($s6) +/* C74470 80242FF0 3C031F10 */ lui $v1, 0x1f10 +/* C74474 80242FF4 00431025 */ or $v0, $v0, $v1 +/* C74478 80242FF8 AEC20000 */ sw $v0, ($s6) +.L80242FFC: +/* C7447C 80242FFC 8622008E */ lh $v0, 0x8e($s1) +/* C74480 80243000 1440025D */ bnez $v0, .L80243978 +/* C74484 80243004 00000000 */ nop +/* C74488 80243008 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C7448C 8024300C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C74490 80243010 0C00A6C9 */ jal clamp_angle +/* C74494 80243014 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* C74498 80243018 3C014334 */ lui $at, 0x4334 +/* C7449C 8024301C 44811000 */ mtc1 $at, $f2 +/* C744A0 80243020 00000000 */ nop +/* C744A4 80243024 4602003C */ c.lt.s $f0, $f2 +/* C744A8 80243028 00000000 */ nop +/* C744AC 8024302C 45000011 */ bc1f .L80243074 +/* C744B0 80243030 00000000 */ nop +/* C744B4 80243034 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C744B8 80243038 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C744BC 8024303C 3C0142B4 */ lui $at, 0x42b4 +/* C744C0 80243040 44816000 */ mtc1 $at, $f12 +/* C744C4 80243044 00031080 */ sll $v0, $v1, 2 +/* C744C8 80243048 00431021 */ addu $v0, $v0, $v1 +/* C744CC 8024304C 00021080 */ sll $v0, $v0, 2 +/* C744D0 80243050 00431023 */ subu $v0, $v0, $v1 +/* C744D4 80243054 000218C0 */ sll $v1, $v0, 3 +/* C744D8 80243058 00431021 */ addu $v0, $v0, $v1 +/* C744DC 8024305C 000210C0 */ sll $v0, $v0, 3 +/* C744E0 80243060 3C01800B */ lui $at, 0x800b +/* C744E4 80243064 00220821 */ addu $at, $at, $v0 +/* C744E8 80243068 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C744EC 8024306C 08090C2C */ j .L802430B0 +/* C744F0 80243070 460C0301 */ sub.s $f12, $f0, $f12 +.L80243074: +/* C744F4 80243074 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C744F8 80243078 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C744FC 8024307C 3C0142B4 */ lui $at, 0x42b4 +/* C74500 80243080 44816000 */ mtc1 $at, $f12 +/* C74504 80243084 00031080 */ sll $v0, $v1, 2 +/* C74508 80243088 00431021 */ addu $v0, $v0, $v1 +/* C7450C 8024308C 00021080 */ sll $v0, $v0, 2 +/* C74510 80243090 00431023 */ subu $v0, $v0, $v1 +/* C74514 80243094 000218C0 */ sll $v1, $v0, 3 +/* C74518 80243098 00431021 */ addu $v0, $v0, $v1 +/* C7451C 8024309C 000210C0 */ sll $v0, $v0, 3 +/* C74520 802430A0 3C01800B */ lui $at, 0x800b +/* C74524 802430A4 00220821 */ addu $at, $at, $v0 +/* C74528 802430A8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C7452C 802430AC 460C0300 */ add.s $f12, $f0, $f12 +.L802430B0: +/* C74530 802430B0 0C00A6C9 */ jal clamp_angle +/* C74534 802430B4 00000000 */ nop +/* C74538 802430B8 46000586 */ mov.s $f22, $f0 +/* C7453C 802430BC 3C014334 */ lui $at, 0x4334 +/* C74540 802430C0 44816000 */ mtc1 $at, $f12 +/* C74544 802430C4 0C00A6C9 */ jal clamp_angle +/* C74548 802430C8 460CB300 */ add.s $f12, $f22, $f12 +/* C7454C 802430CC 8EC20088 */ lw $v0, 0x88($s6) +/* C74550 802430D0 14400010 */ bnez $v0, .L80243114 +/* C74554 802430D4 46000606 */ mov.s $f24, $f0 +/* C74558 802430D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C7455C 802430DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C74560 802430E0 804300B4 */ lb $v1, 0xb4($v0) +/* C74564 802430E4 3C014200 */ lui $at, 0x4200 +/* C74568 802430E8 4481A000 */ mtc1 $at, $f20 +/* C7456C 802430EC 10600016 */ beqz $v1, .L80243148 +/* C74570 802430F0 24020001 */ addiu $v0, $zero, 1 +/* C74574 802430F4 3C0142C8 */ lui $at, 0x42c8 +/* C74578 802430F8 4481A000 */ mtc1 $at, $f20 +/* C7457C 802430FC 14620013 */ bne $v1, $v0, .L8024314C +/* C74580 80243100 26300038 */ addiu $s0, $s1, 0x38 +/* C74584 80243104 3C0142B4 */ lui $at, 0x42b4 +/* C74588 80243108 4481A000 */ mtc1 $at, $f20 +/* C7458C 8024310C 08090C54 */ j .L80243150 +/* C74590 80243110 0200202D */ daddu $a0, $s0, $zero +.L80243114: +/* C74594 80243114 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C74598 80243118 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C7459C 8024311C 804300B4 */ lb $v1, 0xb4($v0) +/* C745A0 80243120 3C014218 */ lui $at, 0x4218 +/* C745A4 80243124 4481A000 */ mtc1 $at, $f20 +/* C745A8 80243128 10600007 */ beqz $v1, .L80243148 +/* C745AC 8024312C 24020001 */ addiu $v0, $zero, 1 +/* C745B0 80243130 3C0142B4 */ lui $at, 0x42b4 +/* C745B4 80243134 4481A000 */ mtc1 $at, $f20 +/* C745B8 80243138 14620004 */ bne $v1, $v0, .L8024314C +/* C745BC 8024313C 26300038 */ addiu $s0, $s1, 0x38 +/* C745C0 80243140 3C014296 */ lui $at, 0x4296 +/* C745C4 80243144 4481A000 */ mtc1 $at, $f20 +.L80243148: +/* C745C8 80243148 26300038 */ addiu $s0, $s1, 0x38 +.L8024314C: +/* C745CC 8024314C 0200202D */ daddu $a0, $s0, $zero +.L80243150: +/* C745D0 80243150 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* C745D4 80243154 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* C745D8 80243158 4407C000 */ mfc1 $a3, $f24 +/* C745DC 8024315C 862200A6 */ lh $v0, 0xa6($s1) +/* C745E0 80243160 8EA30000 */ lw $v1, ($s5) +/* C745E4 80243164 44824000 */ mtc1 $v0, $f8 +/* C745E8 80243168 00000000 */ nop +/* C745EC 8024316C 46804220 */ cvt.s.w $f8, $f8 +/* C745F0 80243170 C4600028 */ lwc1 $f0, 0x28($v1) +/* C745F4 80243174 44064000 */ mfc1 $a2, $f8 +/* C745F8 80243178 26330040 */ addiu $s3, $s1, 0x40 +/* C745FC 8024317C E6200038 */ swc1 $f0, 0x38($s1) +/* C74600 80243180 C4600030 */ lwc1 $f0, 0x30($v1) +/* C74604 80243184 0260282D */ daddu $a1, $s3, $zero +/* C74608 80243188 0C00A7E7 */ jal add_vec2D_polar +/* C7460C 8024318C E6200040 */ swc1 $f0, 0x40($s1) +/* C74610 80243190 862200A6 */ lh $v0, 0xa6($s1) +/* C74614 80243194 44820000 */ mtc1 $v0, $f0 +/* C74618 80243198 00000000 */ nop +/* C7461C 8024319C 46800020 */ cvt.s.w $f0, $f0 +/* C74620 802431A0 4600A000 */ add.s $f0, $f20, $f0 +/* C74624 802431A4 4406B000 */ mfc1 $a2, $f22 +/* C74628 802431A8 44050000 */ mfc1 $a1, $f0 +/* C7462C 802431AC 0C00EA95 */ jal npc_move_heading +/* C74630 802431B0 0220202D */ daddu $a0, $s1, $zero +/* C74634 802431B4 8EC20088 */ lw $v0, 0x88($s6) +/* C74638 802431B8 1440005D */ bnez $v0, .L80243330 +/* C7463C 802431BC 00000000 */ nop +/* C74640 802431C0 C6200038 */ lwc1 $f0, 0x38($s1) +/* C74644 802431C4 3C018024 */ lui $at, 0x8024 +/* C74648 802431C8 D4245830 */ ldc1 $f4, 0x5830($at) +/* C7464C 802431CC 46000021 */ cvt.d.s $f0, $f0 +/* C74650 802431D0 4620203C */ c.lt.d $f4, $f0 +/* C74654 802431D4 00000000 */ nop +/* C74658 802431D8 45000005 */ bc1f .L802431F0 +/* C7465C 802431DC 00000000 */ nop +/* C74660 802431E0 3C0143BE */ lui $at, 0x43be +/* C74664 802431E4 44810000 */ mtc1 $at, $f0 +/* C74668 802431E8 00000000 */ nop +/* C7466C 802431EC E6200038 */ swc1 $f0, 0x38($s1) +.L802431F0: +/* C74670 802431F0 C6200038 */ lwc1 $f0, 0x38($s1) +/* C74674 802431F4 3C018024 */ lui $at, 0x8024 +/* C74678 802431F8 D4225838 */ ldc1 $f2, 0x5838($at) +/* C7467C 802431FC 46000021 */ cvt.d.s $f0, $f0 +/* C74680 80243200 4622003C */ c.lt.d $f0, $f2 +/* C74684 80243204 00000000 */ nop +/* C74688 80243208 45000005 */ bc1f .L80243220 +/* C7468C 8024320C 00000000 */ nop +/* C74690 80243210 3C01C3BE */ lui $at, 0xc3be +/* C74694 80243214 44810000 */ mtc1 $at, $f0 +/* C74698 80243218 00000000 */ nop +/* C7469C 8024321C E6200038 */ swc1 $f0, 0x38($s1) +.L80243220: +/* C746A0 80243220 C6200040 */ lwc1 $f0, 0x40($s1) +/* C746A4 80243224 46000021 */ cvt.d.s $f0, $f0 +/* C746A8 80243228 4620203C */ c.lt.d $f4, $f0 +/* C746AC 8024322C 00000000 */ nop +/* C746B0 80243230 45000005 */ bc1f .L80243248 +/* C746B4 80243234 00000000 */ nop +/* C746B8 80243238 3C0143BE */ lui $at, 0x43be +/* C746BC 8024323C 44810000 */ mtc1 $at, $f0 +/* C746C0 80243240 00000000 */ nop +/* C746C4 80243244 E6200040 */ swc1 $f0, 0x40($s1) +.L80243248: +/* C746C8 80243248 C6200040 */ lwc1 $f0, 0x40($s1) +/* C746CC 8024324C 46000021 */ cvt.d.s $f0, $f0 +/* C746D0 80243250 4622003C */ c.lt.d $f0, $f2 +/* C746D4 80243254 00000000 */ nop +/* C746D8 80243258 45000005 */ bc1f .L80243270 +/* C746DC 8024325C 00000000 */ nop +/* C746E0 80243260 3C01C3BE */ lui $at, 0xc3be +/* C746E4 80243264 44810000 */ mtc1 $at, $f0 +/* C746E8 80243268 00000000 */ nop +/* C746EC 8024326C E6200040 */ swc1 $f0, 0x40($s1) +.L80243270: +/* C746F0 80243270 C6220038 */ lwc1 $f2, 0x38($s1) +/* C746F4 80243274 46021082 */ mul.s $f2, $f2, $f2 +/* C746F8 80243278 00000000 */ nop +/* C746FC 8024327C C6200040 */ lwc1 $f0, 0x40($s1) +/* C74700 80243280 46000002 */ mul.s $f0, $f0, $f0 +/* C74704 80243284 00000000 */ nop +/* C74708 80243288 46001300 */ add.s $f12, $f2, $f0 +/* C7470C 8024328C 46006004 */ sqrt.s $f0, $f12 +/* C74710 80243290 46000032 */ c.eq.s $f0, $f0 +/* C74714 80243294 00000000 */ nop +/* C74718 80243298 45010003 */ bc1t .L802432A8 +/* C7471C 8024329C 00000000 */ nop +/* C74720 802432A0 0C0187BC */ jal sqrtf +/* C74724 802432A4 00000000 */ nop +.L802432A8: +/* C74728 802432A8 8E260038 */ lw $a2, 0x38($s1) +/* C7472C 802432AC 8E270040 */ lw $a3, 0x40($s1) +/* C74730 802432B0 4480A000 */ mtc1 $zero, $f20 +/* C74734 802432B4 E7A00038 */ swc1 $f0, 0x38($sp) +/* C74738 802432B8 4600A306 */ mov.s $f12, $f20 +/* C7473C 802432BC 0C00A720 */ jal atan2 +/* C74740 802432C0 4600A386 */ mov.s $f14, $f20 +/* C74744 802432C4 46000586 */ mov.s $f22, $f0 +/* C74748 802432C8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C7474C 802432CC 3C018024 */ lui $at, 0x8024 +/* C74750 802432D0 D4205840 */ ldc1 $f0, 0x5840($at) +/* C74754 802432D4 460010A1 */ cvt.d.s $f2, $f2 +/* C74758 802432D8 4620103C */ c.lt.d $f2, $f0 +/* C7475C 802432DC 00000000 */ nop +/* C74760 802432E0 45000004 */ bc1f .L802432F4 +/* C74764 802432E4 0200202D */ daddu $a0, $s0, $zero +/* C74768 802432E8 3C064398 */ lui $a2, 0x4398 +/* C7476C 802432EC 08090CC5 */ j .L80243314 +/* C74770 802432F0 34C68000 */ ori $a2, $a2, 0x8000 +.L802432F4: +/* C74774 802432F4 3C018024 */ lui $at, 0x8024 +/* C74778 802432F8 D4205848 */ ldc1 $f0, 0x5848($at) +/* C7477C 802432FC 4622003C */ c.lt.d $f0, $f2 +/* C74780 80243300 00000000 */ nop +/* C74784 80243304 450000FA */ bc1f .L802436F0 +/* C74788 80243308 00000000 */ nop +/* C7478C 8024330C 3C0643BB */ lui $a2, 0x43bb +/* C74790 80243310 34C68000 */ ori $a2, $a2, 0x8000 +.L80243314: +/* C74794 80243314 4407B000 */ mfc1 $a3, $f22 +/* C74798 80243318 0260282D */ daddu $a1, $s3, $zero +/* C7479C 8024331C E6340038 */ swc1 $f20, 0x38($s1) +/* C747A0 80243320 0C00A7E7 */ jal add_vec2D_polar +/* C747A4 80243324 E6340040 */ swc1 $f20, 0x40($s1) +/* C747A8 80243328 08090DBC */ j .L802436F0 +/* C747AC 8024332C 00000000 */ nop +.L80243330: +/* C747B0 80243330 8E220000 */ lw $v0, ($s1) +/* C747B4 80243334 30420040 */ andi $v0, $v0, 0x40 +/* C747B8 80243338 144000B0 */ bnez $v0, .L802435FC +/* C747BC 8024333C 27A50020 */ addiu $a1, $sp, 0x20 +/* C747C0 80243340 27B40020 */ addiu $s4, $sp, 0x20 +/* C747C4 80243344 0280282D */ daddu $a1, $s4, $zero +/* C747C8 80243348 27B30024 */ addiu $s3, $sp, 0x24 +/* C747CC 8024334C 8EA20000 */ lw $v0, ($s5) +/* C747D0 80243350 3C014032 */ lui $at, 0x4032 +/* C747D4 80243354 44811800 */ mtc1 $at, $f3 +/* C747D8 80243358 44801000 */ mtc1 $zero, $f2 +/* C747DC 8024335C C440002C */ lwc1 $f0, 0x2c($v0) +/* C747E0 80243360 C4460028 */ lwc1 $f6, 0x28($v0) +/* C747E4 80243364 C4440030 */ lwc1 $f4, 0x30($v0) +/* C747E8 80243368 46000021 */ cvt.d.s $f0, $f0 +/* C747EC 8024336C 46220000 */ add.d $f0, $f0, $f2 +/* C747F0 80243370 E7A60020 */ swc1 $f6, 0x20($sp) +/* C747F4 80243374 E7A40028 */ swc1 $f4, 0x28($sp) +/* C747F8 80243378 46200020 */ cvt.s.d $f0, $f0 +/* C747FC 8024337C E7A00024 */ swc1 $f0, 0x24($sp) +/* C74800 80243380 E7B40010 */ swc1 $f20, 0x10($sp) +/* C74804 80243384 E7B60014 */ swc1 $f22, 0x14($sp) +/* C74808 80243388 862200A8 */ lh $v0, 0xa8($s1) +/* C7480C 8024338C 0260302D */ daddu $a2, $s3, $zero +/* C74810 80243390 44820000 */ mtc1 $v0, $f0 +/* C74814 80243394 00000000 */ nop +/* C74818 80243398 46800020 */ cvt.s.w $f0, $f0 +/* C7481C 8024339C E7A00018 */ swc1 $f0, 0x18($sp) +/* C74820 802433A0 862200A6 */ lh $v0, 0xa6($s1) +/* C74824 802433A4 27B00028 */ addiu $s0, $sp, 0x28 +/* C74828 802433A8 44820000 */ mtc1 $v0, $f0 +/* C7482C 802433AC 00000000 */ nop +/* C74830 802433B0 46800020 */ cvt.s.w $f0, $f0 +/* C74834 802433B4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C74838 802433B8 8E240080 */ lw $a0, 0x80($s1) +/* C7483C 802433BC 0C037711 */ jal func_800DDC44 +/* C74840 802433C0 0200382D */ daddu $a3, $s0, $zero +/* C74844 802433C4 104000CA */ beqz $v0, .L802436F0 +/* C74848 802433C8 0280282D */ daddu $a1, $s4, $zero +/* C7484C 802433CC 8EA20000 */ lw $v0, ($s5) +/* C74850 802433D0 3C018024 */ lui $at, 0x8024 +/* C74854 802433D4 D4225850 */ ldc1 $f2, 0x5850($at) +/* C74858 802433D8 C440002C */ lwc1 $f0, 0x2c($v0) +/* C7485C 802433DC C4460028 */ lwc1 $f6, 0x28($v0) +/* C74860 802433E0 C4440030 */ lwc1 $f4, 0x30($v0) +/* C74864 802433E4 46000021 */ cvt.d.s $f0, $f0 +/* C74868 802433E8 46220000 */ add.d $f0, $f0, $f2 +/* C7486C 802433EC E7A60020 */ swc1 $f6, 0x20($sp) +/* C74870 802433F0 E7A40028 */ swc1 $f4, 0x28($sp) +/* C74874 802433F4 46200020 */ cvt.s.d $f0, $f0 +/* C74878 802433F8 E7A00024 */ swc1 $f0, 0x24($sp) +/* C7487C 802433FC E7B40010 */ swc1 $f20, 0x10($sp) +/* C74880 80243400 E7B60014 */ swc1 $f22, 0x14($sp) +/* C74884 80243404 862200A8 */ lh $v0, 0xa8($s1) +/* C74888 80243408 44820000 */ mtc1 $v0, $f0 +/* C7488C 8024340C 00000000 */ nop +/* C74890 80243410 46800020 */ cvt.s.w $f0, $f0 +/* C74894 80243414 E7A00018 */ swc1 $f0, 0x18($sp) +/* C74898 80243418 862200A6 */ lh $v0, 0xa6($s1) +/* C7489C 8024341C 0260302D */ daddu $a2, $s3, $zero +/* C748A0 80243420 44820000 */ mtc1 $v0, $f0 +/* C748A4 80243424 00000000 */ nop +/* C748A8 80243428 46800020 */ cvt.s.w $f0, $f0 +/* C748AC 8024342C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C748B0 80243430 8E240080 */ lw $a0, 0x80($s1) +/* C748B4 80243434 0C037711 */ jal func_800DDC44 +/* C748B8 80243438 0200382D */ daddu $a3, $s0, $zero +/* C748BC 8024343C 27A5002C */ addiu $a1, $sp, 0x2c +/* C748C0 80243440 27A60030 */ addiu $a2, $sp, 0x30 +/* C748C4 80243444 27A70034 */ addiu $a3, $sp, 0x34 +/* C748C8 80243448 27A30038 */ addiu $v1, $sp, 0x38 +/* C748CC 8024344C C6220038 */ lwc1 $f2, 0x38($s1) +/* C748D0 80243450 C620003C */ lwc1 $f0, 0x3c($s1) +/* C748D4 80243454 3C014348 */ lui $at, 0x4348 +/* C748D8 80243458 44813000 */ mtc1 $at, $f6 +/* C748DC 8024345C 46000021 */ cvt.d.s $f0, $f0 +/* C748E0 80243460 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C748E4 80243464 3C014059 */ lui $at, 0x4059 +/* C748E8 80243468 44811800 */ mtc1 $at, $f3 +/* C748EC 8024346C 44801000 */ mtc1 $zero, $f2 +/* C748F0 80243470 C6240040 */ lwc1 $f4, 0x40($s1) +/* C748F4 80243474 46220000 */ add.d $f0, $f0, $f2 +/* C748F8 80243478 E7A60038 */ swc1 $f6, 0x38($sp) +/* C748FC 8024347C E7A40034 */ swc1 $f4, 0x34($sp) +/* C74900 80243480 46200020 */ cvt.s.d $f0, $f0 +/* C74904 80243484 E7A00030 */ swc1 $f0, 0x30($sp) +/* C74908 80243488 AFA30010 */ sw $v1, 0x10($sp) +/* C7490C 8024348C 8E240080 */ lw $a0, 0x80($s1) +/* C74910 80243490 0C0372DF */ jal func_800DCB7C +/* C74914 80243494 0040802D */ daddu $s0, $v0, $zero +/* C74918 80243498 1600001C */ bnez $s0, .L8024350C +/* C7491C 8024349C 00000000 */ nop +/* C74920 802434A0 1040001A */ beqz $v0, .L8024350C +/* C74924 802434A4 00000000 */ nop +/* C74928 802434A8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C7492C 802434AC 3C014054 */ lui $at, 0x4054 +/* C74930 802434B0 44810800 */ mtc1 $at, $f1 +/* C74934 802434B4 44800000 */ mtc1 $zero, $f0 +/* C74938 802434B8 460010A1 */ cvt.d.s $f2, $f2 +/* C7493C 802434BC 4622003C */ c.lt.d $f0, $f2 +/* C74940 802434C0 00000000 */ nop +/* C74944 802434C4 45000011 */ bc1f .L8024350C +/* C74948 802434C8 00000000 */ nop +/* C7494C 802434CC 3C01405E */ lui $at, 0x405e +/* C74950 802434D0 44810800 */ mtc1 $at, $f1 +/* C74954 802434D4 44800000 */ mtc1 $zero, $f0 +/* C74958 802434D8 00000000 */ nop +/* C7495C 802434DC 4620103C */ c.lt.d $f2, $f0 +/* C74960 802434E0 00000000 */ nop +/* C74964 802434E4 45000009 */ bc1f .L8024350C +/* C74968 802434E8 00000000 */ nop +/* C7496C 802434EC C622003C */ lwc1 $f2, 0x3c($s1) +/* C74970 802434F0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C74974 802434F4 46001032 */ c.eq.s $f2, $f0 +/* C74978 802434F8 00000000 */ nop +/* C7497C 802434FC 45010003 */ bc1t .L8024350C +/* C74980 80243500 00000000 */ nop +/* C74984 80243504 08090DBC */ j .L802436F0 +/* C74988 80243508 241E0001 */ addiu $fp, $zero, 1 +.L8024350C: +/* C7498C 8024350C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C74990 80243510 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C74994 80243514 8E020000 */ lw $v0, ($s0) +/* C74998 80243518 3C014024 */ lui $at, 0x4024 +/* C7499C 8024351C 44811800 */ mtc1 $at, $f3 +/* C749A0 80243520 44801000 */ mtc1 $zero, $f2 +/* C749A4 80243524 C440002C */ lwc1 $f0, 0x2c($v0) +/* C749A8 80243528 C4460028 */ lwc1 $f6, 0x28($v0) +/* C749AC 8024352C C4440030 */ lwc1 $f4, 0x30($v0) +/* C749B0 80243530 46000021 */ cvt.d.s $f0, $f0 +/* C749B4 80243534 46220000 */ add.d $f0, $f0, $f2 +/* C749B8 80243538 E7A60020 */ swc1 $f6, 0x20($sp) +/* C749BC 8024353C E7A40028 */ swc1 $f4, 0x28($sp) +/* C749C0 80243540 46200020 */ cvt.s.d $f0, $f0 +/* C749C4 80243544 E7A00024 */ swc1 $f0, 0x24($sp) +/* C749C8 80243548 E7B40010 */ swc1 $f20, 0x10($sp) +/* C749CC 8024354C E7B60014 */ swc1 $f22, 0x14($sp) +/* C749D0 80243550 862200A8 */ lh $v0, 0xa8($s1) +/* C749D4 80243554 27A50020 */ addiu $a1, $sp, 0x20 +/* C749D8 80243558 44820000 */ mtc1 $v0, $f0 +/* C749DC 8024355C 00000000 */ nop +/* C749E0 80243560 46800020 */ cvt.s.w $f0, $f0 +/* C749E4 80243564 E7A00018 */ swc1 $f0, 0x18($sp) +/* C749E8 80243568 862200A6 */ lh $v0, 0xa6($s1) +/* C749EC 8024356C 27A60024 */ addiu $a2, $sp, 0x24 +/* C749F0 80243570 44820000 */ mtc1 $v0, $f0 +/* C749F4 80243574 00000000 */ nop +/* C749F8 80243578 46800020 */ cvt.s.w $f0, $f0 +/* C749FC 8024357C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C74A00 80243580 8E240080 */ lw $a0, 0x80($s1) +/* C74A04 80243584 0C037711 */ jal func_800DDC44 +/* C74A08 80243588 27A70028 */ addiu $a3, $sp, 0x28 +/* C74A0C 8024358C 8FA60020 */ lw $a2, 0x20($sp) +/* C74A10 80243590 8E020000 */ lw $v0, ($s0) +/* C74A14 80243594 8FA70028 */ lw $a3, 0x28($sp) +/* C74A18 80243598 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C74A1C 8024359C C44E0030 */ lwc1 $f14, 0x30($v0) +/* C74A20 802435A0 0C00A7B5 */ jal dist2D +/* C74A24 802435A4 24170001 */ addiu $s7, $zero, 1 +/* C74A28 802435A8 46000506 */ mov.s $f20, $f0 +/* C74A2C 802435AC 8E030000 */ lw $v1, ($s0) +/* C74A30 802435B0 862200A6 */ lh $v0, 0xa6($s1) +/* C74A34 802435B4 4407C000 */ mfc1 $a3, $f24 +/* C74A38 802435B8 44824000 */ mtc1 $v0, $f8 +/* C74A3C 802435BC 00000000 */ nop +/* C74A40 802435C0 46804220 */ cvt.s.w $f8, $f8 +/* C74A44 802435C4 C4600028 */ lwc1 $f0, 0x28($v1) +/* C74A48 802435C8 44064000 */ mfc1 $a2, $f8 +/* C74A4C 802435CC 26240038 */ addiu $a0, $s1, 0x38 +/* C74A50 802435D0 E6200038 */ swc1 $f0, 0x38($s1) +/* C74A54 802435D4 C4600030 */ lwc1 $f0, 0x30($v1) +/* C74A58 802435D8 26250040 */ addiu $a1, $s1, 0x40 +/* C74A5C 802435DC 0C00A7E7 */ jal add_vec2D_polar +/* C74A60 802435E0 E6200040 */ swc1 $f0, 0x40($s1) +/* C74A64 802435E4 862200A6 */ lh $v0, 0xa6($s1) +/* C74A68 802435E8 44820000 */ mtc1 $v0, $f0 +/* C74A6C 802435EC 00000000 */ nop +/* C74A70 802435F0 46800020 */ cvt.s.w $f0, $f0 +/* C74A74 802435F4 08090DB8 */ j .L802436E0 +/* C74A78 802435F8 4600A500 */ add.s $f20, $f20, $f0 +.L802435FC: +/* C74A7C 802435FC 8EA20000 */ lw $v0, ($s5) +/* C74A80 80243600 3C014032 */ lui $at, 0x4032 +/* C74A84 80243604 44811800 */ mtc1 $at, $f3 +/* C74A88 80243608 44801000 */ mtc1 $zero, $f2 +/* C74A8C 8024360C C440002C */ lwc1 $f0, 0x2c($v0) +/* C74A90 80243610 C4460028 */ lwc1 $f6, 0x28($v0) +/* C74A94 80243614 C4440030 */ lwc1 $f4, 0x30($v0) +/* C74A98 80243618 46000021 */ cvt.d.s $f0, $f0 +/* C74A9C 8024361C 46220000 */ add.d $f0, $f0, $f2 +/* C74AA0 80243620 E7A60020 */ swc1 $f6, 0x20($sp) +/* C74AA4 80243624 E7A40028 */ swc1 $f4, 0x28($sp) +/* C74AA8 80243628 46200020 */ cvt.s.d $f0, $f0 +/* C74AAC 8024362C E7A00024 */ swc1 $f0, 0x24($sp) +/* C74AB0 80243630 E7B40010 */ swc1 $f20, 0x10($sp) +/* C74AB4 80243634 E7B60014 */ swc1 $f22, 0x14($sp) +/* C74AB8 80243638 862200A8 */ lh $v0, 0xa8($s1) +/* C74ABC 8024363C 44820000 */ mtc1 $v0, $f0 +/* C74AC0 80243640 00000000 */ nop +/* C74AC4 80243644 46800020 */ cvt.s.w $f0, $f0 +/* C74AC8 80243648 E7A00018 */ swc1 $f0, 0x18($sp) +/* C74ACC 8024364C 862200A6 */ lh $v0, 0xa6($s1) +/* C74AD0 80243650 27A60024 */ addiu $a2, $sp, 0x24 +/* C74AD4 80243654 44820000 */ mtc1 $v0, $f0 +/* C74AD8 80243658 00000000 */ nop +/* C74ADC 8024365C 46800020 */ cvt.s.w $f0, $f0 +/* C74AE0 80243660 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C74AE4 80243664 8E240080 */ lw $a0, 0x80($s1) +/* C74AE8 80243668 0C037711 */ jal func_800DDC44 +/* C74AEC 8024366C 27A70028 */ addiu $a3, $sp, 0x28 +/* C74AF0 80243670 1040001F */ beqz $v0, .L802436F0 +/* C74AF4 80243674 00000000 */ nop +/* C74AF8 80243678 8FA60020 */ lw $a2, 0x20($sp) +/* C74AFC 8024367C 8EA20000 */ lw $v0, ($s5) +/* C74B00 80243680 8FA70028 */ lw $a3, 0x28($sp) +/* C74B04 80243684 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C74B08 80243688 0C00A7B5 */ jal dist2D +/* C74B0C 8024368C C44E0030 */ lwc1 $f14, 0x30($v0) +/* C74B10 80243690 46000506 */ mov.s $f20, $f0 +/* C74B14 80243694 8EA30000 */ lw $v1, ($s5) +/* C74B18 80243698 862200A6 */ lh $v0, 0xa6($s1) +/* C74B1C 8024369C 4407C000 */ mfc1 $a3, $f24 +/* C74B20 802436A0 44824000 */ mtc1 $v0, $f8 +/* C74B24 802436A4 00000000 */ nop +/* C74B28 802436A8 46804220 */ cvt.s.w $f8, $f8 +/* C74B2C 802436AC C4600028 */ lwc1 $f0, 0x28($v1) +/* C74B30 802436B0 44064000 */ mfc1 $a2, $f8 +/* C74B34 802436B4 0200202D */ daddu $a0, $s0, $zero +/* C74B38 802436B8 E6200038 */ swc1 $f0, 0x38($s1) +/* C74B3C 802436BC C4600030 */ lwc1 $f0, 0x30($v1) +/* C74B40 802436C0 0260282D */ daddu $a1, $s3, $zero +/* C74B44 802436C4 0C00A7E7 */ jal add_vec2D_polar +/* C74B48 802436C8 E6200040 */ swc1 $f0, 0x40($s1) +/* C74B4C 802436CC 862200A6 */ lh $v0, 0xa6($s1) +/* C74B50 802436D0 44820000 */ mtc1 $v0, $f0 +/* C74B54 802436D4 00000000 */ nop +/* C74B58 802436D8 46800020 */ cvt.s.w $f0, $f0 +/* C74B5C 802436DC 4600A500 */ add.s $f20, $f20, $f0 +.L802436E0: +/* C74B60 802436E0 4406B000 */ mfc1 $a2, $f22 +/* C74B64 802436E4 4405A000 */ mfc1 $a1, $f20 +/* C74B68 802436E8 0C00EA95 */ jal npc_move_heading +/* C74B6C 802436EC 0220202D */ daddu $a0, $s1, $zero +.L802436F0: +/* C74B70 802436F0 C6400008 */ lwc1 $f0, 8($s2) +/* C74B74 802436F4 46800020 */ cvt.s.w $f0, $f0 +/* C74B78 802436F8 44050000 */ mfc1 $a1, $f0 +/* C74B7C 802436FC C640000C */ lwc1 $f0, 0xc($s2) +/* C74B80 80243700 46800020 */ cvt.s.w $f0, $f0 +/* C74B84 80243704 44060000 */ mfc1 $a2, $f0 +/* C74B88 80243708 C6200040 */ lwc1 $f0, 0x40($s1) +/* C74B8C 8024370C 26300038 */ addiu $s0, $s1, 0x38 +/* C74B90 80243710 E7A00010 */ swc1 $f0, 0x10($sp) +/* C74B94 80243714 C6400010 */ lwc1 $f0, 0x10($s2) +/* C74B98 80243718 46800020 */ cvt.s.w $f0, $f0 +/* C74B9C 8024371C E7A00014 */ swc1 $f0, 0x14($sp) +/* C74BA0 80243720 C6400014 */ lwc1 $f0, 0x14($s2) +/* C74BA4 80243724 46800020 */ cvt.s.w $f0, $f0 +/* C74BA8 80243728 E7A00018 */ swc1 $f0, 0x18($sp) +/* C74BAC 8024372C 8E440004 */ lw $a0, 4($s2) +/* C74BB0 80243730 8E270038 */ lw $a3, 0x38($s1) +/* C74BB4 80243734 0C0123F5 */ jal is_point_within_region +/* C74BB8 80243738 26330040 */ addiu $s3, $s1, 0x40 +/* C74BBC 8024373C 1040005A */ beqz $v0, .L802438A8 +/* C74BC0 80243740 00000000 */ nop +/* C74BC4 80243744 8E430004 */ lw $v1, 4($s2) +/* C74BC8 80243748 10600005 */ beqz $v1, .L80243760 +/* C74BCC 8024374C 24020001 */ addiu $v0, $zero, 1 +/* C74BD0 80243750 10620029 */ beq $v1, $v0, .L802437F8 +/* C74BD4 80243754 00000000 */ nop +/* C74BD8 80243758 08090E2A */ j .L802438A8 +/* C74BDC 8024375C 00000000 */ nop +.L80243760: +/* C74BE0 80243760 C6480008 */ lwc1 $f8, 8($s2) +/* C74BE4 80243764 46804220 */ cvt.s.w $f8, $f8 +/* C74BE8 80243768 44064000 */ mfc1 $a2, $f8 +/* C74BEC 8024376C C648000C */ lwc1 $f8, 0xc($s2) +/* C74BF0 80243770 46804220 */ cvt.s.w $f8, $f8 +/* C74BF4 80243774 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C74BF8 80243778 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C74BFC 8024377C 44074000 */ mfc1 $a3, $f8 +/* C74C00 80243780 0C00A7B5 */ jal dist2D +/* C74C04 80243784 00000000 */ nop +/* C74C08 80243788 C6420010 */ lwc1 $f2, 0x10($s2) +/* C74C0C 8024378C 468010A0 */ cvt.s.w $f2, $f2 +/* C74C10 80243790 4600103C */ c.lt.s $f2, $f0 +/* C74C14 80243794 00000000 */ nop +/* C74C18 80243798 45000043 */ bc1f .L802438A8 +/* C74C1C 8024379C E7A00038 */ swc1 $f0, 0x38($sp) +/* C74C20 802437A0 C64C0008 */ lwc1 $f12, 8($s2) +/* C74C24 802437A4 46806320 */ cvt.s.w $f12, $f12 +/* C74C28 802437A8 8E260038 */ lw $a2, 0x38($s1) +/* C74C2C 802437AC 8E270040 */ lw $a3, 0x40($s1) +/* C74C30 802437B0 C64E000C */ lwc1 $f14, 0xc($s2) +/* C74C34 802437B4 0C00A720 */ jal atan2 +/* C74C38 802437B8 468073A0 */ cvt.s.w $f14, $f14 +/* C74C3C 802437BC 0200202D */ daddu $a0, $s0, $zero +/* C74C40 802437C0 44070000 */ mfc1 $a3, $f0 +/* C74C44 802437C4 C6400008 */ lwc1 $f0, 8($s2) +/* C74C48 802437C8 46800020 */ cvt.s.w $f0, $f0 +/* C74C4C 802437CC E6200038 */ swc1 $f0, 0x38($s1) +/* C74C50 802437D0 C640000C */ lwc1 $f0, 0xc($s2) +/* C74C54 802437D4 46800020 */ cvt.s.w $f0, $f0 +/* C74C58 802437D8 E6200040 */ swc1 $f0, 0x40($s1) +/* C74C5C 802437DC C6480010 */ lwc1 $f8, 0x10($s2) +/* C74C60 802437E0 46804220 */ cvt.s.w $f8, $f8 +/* C74C64 802437E4 44064000 */ mfc1 $a2, $f8 +/* C74C68 802437E8 0C00A7E7 */ jal add_vec2D_polar +/* C74C6C 802437EC 0260282D */ daddu $a1, $s3, $zero +/* C74C70 802437F0 08090E2A */ j .L802438A8 +/* C74C74 802437F4 00000000 */ nop +.L802437F8: +/* C74C78 802437F8 8E420008 */ lw $v0, 8($s2) +/* C74C7C 802437FC 8E430010 */ lw $v1, 0x10($s2) +/* C74C80 80243800 C6200038 */ lwc1 $f0, 0x38($s1) +/* C74C84 80243804 00431021 */ addu $v0, $v0, $v1 +/* C74C88 80243808 44821000 */ mtc1 $v0, $f2 +/* C74C8C 8024380C 00000000 */ nop +/* C74C90 80243810 468010A0 */ cvt.s.w $f2, $f2 +/* C74C94 80243814 4600103C */ c.lt.s $f2, $f0 +/* C74C98 80243818 00000000 */ nop +/* C74C9C 8024381C 45030001 */ bc1tl .L80243824 +/* C74CA0 80243820 E6220038 */ swc1 $f2, 0x38($s1) +.L80243824: +/* C74CA4 80243824 8E420008 */ lw $v0, 8($s2) +/* C74CA8 80243828 8E430010 */ lw $v1, 0x10($s2) +/* C74CAC 8024382C C6200038 */ lwc1 $f0, 0x38($s1) +/* C74CB0 80243830 00431023 */ subu $v0, $v0, $v1 +/* C74CB4 80243834 44821000 */ mtc1 $v0, $f2 +/* C74CB8 80243838 00000000 */ nop +/* C74CBC 8024383C 468010A0 */ cvt.s.w $f2, $f2 +/* C74CC0 80243840 4602003C */ c.lt.s $f0, $f2 +/* C74CC4 80243844 00000000 */ nop +/* C74CC8 80243848 45030001 */ bc1tl .L80243850 +/* C74CCC 8024384C E6220038 */ swc1 $f2, 0x38($s1) +.L80243850: +/* C74CD0 80243850 8E42000C */ lw $v0, 0xc($s2) +/* C74CD4 80243854 8E430014 */ lw $v1, 0x14($s2) +/* C74CD8 80243858 C6200040 */ lwc1 $f0, 0x40($s1) +/* C74CDC 8024385C 00431021 */ addu $v0, $v0, $v1 +/* C74CE0 80243860 44821000 */ mtc1 $v0, $f2 +/* C74CE4 80243864 00000000 */ nop +/* C74CE8 80243868 468010A0 */ cvt.s.w $f2, $f2 +/* C74CEC 8024386C 4600103C */ c.lt.s $f2, $f0 +/* C74CF0 80243870 00000000 */ nop +/* C74CF4 80243874 45030001 */ bc1tl .L8024387C +/* C74CF8 80243878 E6220040 */ swc1 $f2, 0x40($s1) +.L8024387C: +/* C74CFC 8024387C 8E42000C */ lw $v0, 0xc($s2) +/* C74D00 80243880 8E430014 */ lw $v1, 0x14($s2) +/* C74D04 80243884 C6200040 */ lwc1 $f0, 0x40($s1) +/* C74D08 80243888 00431023 */ subu $v0, $v0, $v1 +/* C74D0C 8024388C 44821000 */ mtc1 $v0, $f2 +/* C74D10 80243890 00000000 */ nop +/* C74D14 80243894 468010A0 */ cvt.s.w $f2, $f2 +/* C74D18 80243898 4602003C */ c.lt.s $f0, $f2 +/* C74D1C 8024389C 00000000 */ nop +/* C74D20 802438A0 45030001 */ bc1tl .L802438A8 +/* C74D24 802438A4 E6220040 */ swc1 $f2, 0x40($s1) +.L802438A8: +/* C74D28 802438A8 16E0001F */ bnez $s7, .L80243928 +/* C74D2C 802438AC 00000000 */ nop +/* C74D30 802438B0 8E220000 */ lw $v0, ($s1) +/* C74D34 802438B4 30420008 */ andi $v0, $v0, 8 +/* C74D38 802438B8 10400003 */ beqz $v0, .L802438C8 +/* C74D3C 802438BC 27A50020 */ addiu $a1, $sp, 0x20 +/* C74D40 802438C0 13C00019 */ beqz $fp, .L80243928 +/* C74D44 802438C4 00000000 */ nop +.L802438C8: +/* C74D48 802438C8 27A60024 */ addiu $a2, $sp, 0x24 +/* C74D4C 802438CC 27A20038 */ addiu $v0, $sp, 0x38 +/* C74D50 802438D0 C6220038 */ lwc1 $f2, 0x38($s1) +/* C74D54 802438D4 C620003C */ lwc1 $f0, 0x3c($s1) +/* C74D58 802438D8 3C0143C8 */ lui $at, 0x43c8 +/* C74D5C 802438DC 44813000 */ mtc1 $at, $f6 +/* C74D60 802438E0 46000021 */ cvt.d.s $f0, $f0 +/* C74D64 802438E4 E7A20020 */ swc1 $f2, 0x20($sp) +/* C74D68 802438E8 3C018024 */ lui $at, 0x8024 +/* C74D6C 802438EC D4225858 */ ldc1 $f2, 0x5858($at) +/* C74D70 802438F0 C6240040 */ lwc1 $f4, 0x40($s1) +/* C74D74 802438F4 46220000 */ add.d $f0, $f0, $f2 +/* C74D78 802438F8 E7A60038 */ swc1 $f6, 0x38($sp) +/* C74D7C 802438FC E7A40028 */ swc1 $f4, 0x28($sp) +/* C74D80 80243900 46200020 */ cvt.s.d $f0, $f0 +/* C74D84 80243904 E7A00024 */ swc1 $f0, 0x24($sp) +/* C74D88 80243908 AFA20010 */ sw $v0, 0x10($sp) +/* C74D8C 8024390C 8E240080 */ lw $a0, 0x80($s1) +/* C74D90 80243910 0C0372DF */ jal func_800DCB7C +/* C74D94 80243914 27A70028 */ addiu $a3, $sp, 0x28 +/* C74D98 80243918 10400003 */ beqz $v0, .L80243928 +/* C74D9C 8024391C 00000000 */ nop +/* C74DA0 80243920 C7A00024 */ lwc1 $f0, 0x24($sp) +/* C74DA4 80243924 E620003C */ swc1 $f0, 0x3c($s1) +.L80243928: +/* C74DA8 80243928 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C74DAC 8024392C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C74DB0 80243930 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C74DB4 80243934 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C74DB8 80243938 8C460028 */ lw $a2, 0x28($v0) +/* C74DBC 8024393C 0C00A720 */ jal atan2 +/* C74DC0 80243940 8C470030 */ lw $a3, 0x30($v0) +/* C74DC4 80243944 0220202D */ daddu $a0, $s1, $zero +/* C74DC8 80243948 24050321 */ addiu $a1, $zero, 0x321 +/* C74DCC 8024394C 0000302D */ daddu $a2, $zero, $zero +/* C74DD0 80243950 0C012530 */ jal func_800494C0 +/* C74DD4 80243954 E620000C */ swc1 $f0, 0xc($s1) +/* C74DD8 80243958 8EC200CC */ lw $v0, 0xcc($s6) +/* C74DDC 8024395C 8C420024 */ lw $v0, 0x24($v0) +/* C74DE0 80243960 AE220028 */ sw $v0, 0x28($s1) +/* C74DE4 80243964 96C20096 */ lhu $v0, 0x96($s6) +/* C74DE8 80243968 A622008E */ sh $v0, 0x8e($s1) +/* C74DEC 8024396C 8FA80080 */ lw $t0, 0x80($sp) +/* C74DF0 80243970 2402000B */ addiu $v0, $zero, 0xb +/* C74DF4 80243974 AD020070 */ sw $v0, 0x70($t0) +.L80243978: +/* C74DF8 80243978 8FBF0064 */ lw $ra, 0x64($sp) +/* C74DFC 8024397C 8FBE0060 */ lw $fp, 0x60($sp) +/* C74E00 80243980 8FB7005C */ lw $s7, 0x5c($sp) +/* C74E04 80243984 8FB60058 */ lw $s6, 0x58($sp) +/* C74E08 80243988 8FB50054 */ lw $s5, 0x54($sp) +/* C74E0C 8024398C 8FB40050 */ lw $s4, 0x50($sp) +/* C74E10 80243990 8FB3004C */ lw $s3, 0x4c($sp) +/* C74E14 80243994 8FB20048 */ lw $s2, 0x48($sp) +/* C74E18 80243998 8FB10044 */ lw $s1, 0x44($sp) +/* C74E1C 8024399C 8FB00040 */ lw $s0, 0x40($sp) +/* C74E20 802439A0 D7B80078 */ ldc1 $f24, 0x78($sp) +/* C74E24 802439A4 D7B60070 */ ldc1 $f22, 0x70($sp) +/* C74E28 802439A8 D7B40068 */ ldc1 $f20, 0x68($sp) +/* C74E2C 802439AC 03E00008 */ jr $ra +/* C74E30 802439B0 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_802439B4.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_802439B4.s new file mode 100644 index 0000000000..d3e08361ed --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_802439B4.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439B4 +/* C74E34 802439B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C74E38 802439B8 AFB10014 */ sw $s1, 0x14($sp) +/* C74E3C 802439BC 0080882D */ daddu $s1, $a0, $zero +/* C74E40 802439C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C74E44 802439C4 AFB00010 */ sw $s0, 0x10($sp) +/* C74E48 802439C8 8E300148 */ lw $s0, 0x148($s1) +/* C74E4C 802439CC 0C00EABB */ jal get_npc_unsafe +/* C74E50 802439D0 86040008 */ lh $a0, 8($s0) +/* C74E54 802439D4 0040202D */ daddu $a0, $v0, $zero +/* C74E58 802439D8 9482008E */ lhu $v0, 0x8e($a0) +/* C74E5C 802439DC 2442FFFF */ addiu $v0, $v0, -1 +/* C74E60 802439E0 A482008E */ sh $v0, 0x8e($a0) +/* C74E64 802439E4 00021400 */ sll $v0, $v0, 0x10 +/* C74E68 802439E8 8E030098 */ lw $v1, 0x98($s0) +/* C74E6C 802439EC 00021403 */ sra $v0, $v0, 0x10 +/* C74E70 802439F0 0062182A */ slt $v1, $v1, $v0 +/* C74E74 802439F4 14600005 */ bnez $v1, .L80243A0C +/* C74E78 802439F8 3C03E0EF */ lui $v1, 0xe0ef +/* C74E7C 802439FC 8E020000 */ lw $v0, ($s0) +/* C74E80 80243A00 3463FFFF */ ori $v1, $v1, 0xffff +/* C74E84 80243A04 00431024 */ and $v0, $v0, $v1 +/* C74E88 80243A08 AE020000 */ sw $v0, ($s0) +.L80243A0C: +/* C74E8C 80243A0C 8482008E */ lh $v0, 0x8e($a0) +/* C74E90 80243A10 14400007 */ bnez $v0, .L80243A30 +/* C74E94 80243A14 00000000 */ nop +/* C74E98 80243A18 8E0200CC */ lw $v0, 0xcc($s0) +/* C74E9C 80243A1C 8C420028 */ lw $v0, 0x28($v0) +/* C74EA0 80243A20 A480008E */ sh $zero, 0x8e($a0) +/* C74EA4 80243A24 AC820028 */ sw $v0, 0x28($a0) +/* C74EA8 80243A28 2402000C */ addiu $v0, $zero, 0xc +/* C74EAC 80243A2C AE220070 */ sw $v0, 0x70($s1) +.L80243A30: +/* C74EB0 80243A30 8FBF0018 */ lw $ra, 0x18($sp) +/* C74EB4 80243A34 8FB10014 */ lw $s1, 0x14($sp) +/* C74EB8 80243A38 8FB00010 */ lw $s0, 0x10($sp) +/* C74EBC 80243A3C 03E00008 */ jr $ra +/* C74EC0 80243A40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80243A44.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243A44.s new file mode 100644 index 0000000000..9751dbbb8f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243A44.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243A44 +/* C74EC4 80243A44 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C74EC8 80243A48 AFB10034 */ sw $s1, 0x34($sp) +/* C74ECC 80243A4C 0080882D */ daddu $s1, $a0, $zero +/* C74ED0 80243A50 AFBF0038 */ sw $ra, 0x38($sp) +/* C74ED4 80243A54 AFB00030 */ sw $s0, 0x30($sp) +/* C74ED8 80243A58 8E300148 */ lw $s0, 0x148($s1) +/* C74EDC 80243A5C 0C00EABB */ jal get_npc_unsafe +/* C74EE0 80243A60 86040008 */ lh $a0, 8($s0) +/* C74EE4 80243A64 0040282D */ daddu $a1, $v0, $zero +/* C74EE8 80243A68 94A2008E */ lhu $v0, 0x8e($a1) +/* C74EEC 80243A6C 24420001 */ addiu $v0, $v0, 1 +/* C74EF0 80243A70 A4A2008E */ sh $v0, 0x8e($a1) +/* C74EF4 80243A74 00021400 */ sll $v0, $v0, 0x10 +/* C74EF8 80243A78 8E0300A0 */ lw $v1, 0xa0($s0) +/* C74EFC 80243A7C 00021403 */ sra $v0, $v0, 0x10 +/* C74F00 80243A80 14430004 */ bne $v0, $v1, .L80243A94 +/* C74F04 80243A84 00000000 */ nop +/* C74F08 80243A88 8E0200CC */ lw $v0, 0xcc($s0) +/* C74F0C 80243A8C 8C42002C */ lw $v0, 0x2c($v0) +/* C74F10 80243A90 ACA20028 */ sw $v0, 0x28($a1) +.L80243A94: +/* C74F14 80243A94 84A3008E */ lh $v1, 0x8e($a1) +/* C74F18 80243A98 8E0200A4 */ lw $v0, 0xa4($s0) +/* C74F1C 80243A9C 14620002 */ bne $v1, $v0, .L80243AA8 +/* C74F20 80243AA0 24020003 */ addiu $v0, $zero, 3 +/* C74F24 80243AA4 AE02006C */ sw $v0, 0x6c($s0) +.L80243AA8: +/* C74F28 80243AA8 84A2008E */ lh $v0, 0x8e($a1) +/* C74F2C 80243AAC 8E03009C */ lw $v1, 0x9c($s0) +/* C74F30 80243AB0 0043102A */ slt $v0, $v0, $v1 +/* C74F34 80243AB4 1440001E */ bnez $v0, .L80243B30 +/* C74F38 80243AB8 24020004 */ addiu $v0, $zero, 4 +/* C74F3C 80243ABC AE02006C */ sw $v0, 0x6c($s0) +/* C74F40 80243AC0 24020008 */ addiu $v0, $zero, 8 +/* C74F44 80243AC4 24040003 */ addiu $a0, $zero, 3 +/* C74F48 80243AC8 A4A2008E */ sh $v0, 0x8e($a1) +/* C74F4C 80243ACC 8E0200CC */ lw $v0, 0xcc($s0) +/* C74F50 80243AD0 84A300A8 */ lh $v1, 0xa8($a1) +/* C74F54 80243AD4 3C013F80 */ lui $at, 0x3f80 +/* C74F58 80243AD8 44810000 */ mtc1 $at, $f0 +/* C74F5C 80243ADC 3C014000 */ lui $at, 0x4000 +/* C74F60 80243AE0 44811000 */ mtc1 $at, $f2 +/* C74F64 80243AE4 3C01C1A0 */ lui $at, 0xc1a0 +/* C74F68 80243AE8 44812000 */ mtc1 $at, $f4 +/* C74F6C 80243AEC 44833000 */ mtc1 $v1, $f6 +/* C74F70 80243AF0 00000000 */ nop +/* C74F74 80243AF4 468031A0 */ cvt.s.w $f6, $f6 +/* C74F78 80243AF8 8C420000 */ lw $v0, ($v0) +/* C74F7C 80243AFC 44073000 */ mfc1 $a3, $f6 +/* C74F80 80243B00 0000302D */ daddu $a2, $zero, $zero +/* C74F84 80243B04 ACA20028 */ sw $v0, 0x28($a1) +/* C74F88 80243B08 2402000A */ addiu $v0, $zero, 0xa +/* C74F8C 80243B0C AFA2001C */ sw $v0, 0x1c($sp) +/* C74F90 80243B10 27A20028 */ addiu $v0, $sp, 0x28 +/* C74F94 80243B14 E7A00010 */ swc1 $f0, 0x10($sp) +/* C74F98 80243B18 E7A20014 */ swc1 $f2, 0x14($sp) +/* C74F9C 80243B1C E7A40018 */ swc1 $f4, 0x18($sp) +/* C74FA0 80243B20 0C01BFA4 */ jal fx_emote +/* C74FA4 80243B24 AFA20020 */ sw $v0, 0x20($sp) +/* C74FA8 80243B28 2402000D */ addiu $v0, $zero, 0xd +/* C74FAC 80243B2C AE220070 */ sw $v0, 0x70($s1) +.L80243B30: +/* C74FB0 80243B30 8FBF0038 */ lw $ra, 0x38($sp) +/* C74FB4 80243B34 8FB10034 */ lw $s1, 0x34($sp) +/* C74FB8 80243B38 8FB00030 */ lw $s0, 0x30($sp) +/* C74FBC 80243B3C 03E00008 */ jr $ra +/* C74FC0 80243B40 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80243B44.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243B44.s new file mode 100644 index 0000000000..a24dc10fa2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243B44.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243B44 +/* C74FC4 80243B44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C74FC8 80243B48 AFB10014 */ sw $s1, 0x14($sp) +/* C74FCC 80243B4C 0080882D */ daddu $s1, $a0, $zero +/* C74FD0 80243B50 AFBF0018 */ sw $ra, 0x18($sp) +/* C74FD4 80243B54 AFB00010 */ sw $s0, 0x10($sp) +/* C74FD8 80243B58 8E300148 */ lw $s0, 0x148($s1) +/* C74FDC 80243B5C 0C00EABB */ jal get_npc_unsafe +/* C74FE0 80243B60 86040008 */ lh $a0, 8($s0) +/* C74FE4 80243B64 0040182D */ daddu $v1, $v0, $zero +/* C74FE8 80243B68 9462008E */ lhu $v0, 0x8e($v1) +/* C74FEC 80243B6C 2442FFFF */ addiu $v0, $v0, -1 +/* C74FF0 80243B70 A462008E */ sh $v0, 0x8e($v1) +/* C74FF4 80243B74 00021400 */ sll $v0, $v0, 0x10 +/* C74FF8 80243B78 14400005 */ bnez $v0, .L80243B90 +/* C74FFC 80243B7C 00000000 */ nop +/* C75000 80243B80 960200AA */ lhu $v0, 0xaa($s0) +/* C75004 80243B84 A462008E */ sh $v0, 0x8e($v1) +/* C75008 80243B88 2402000E */ addiu $v0, $zero, 0xe +/* C7500C 80243B8C AE220070 */ sw $v0, 0x70($s1) +.L80243B90: +/* C75010 80243B90 8FBF0018 */ lw $ra, 0x18($sp) +/* C75014 80243B94 8FB10014 */ lw $s1, 0x14($sp) +/* C75018 80243B98 8FB00010 */ lw $s0, 0x10($sp) +/* C7501C 80243B9C 03E00008 */ jr $ra +/* C75020 80243BA0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80243BA4_C71480.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243BA4_C71480.s new file mode 100644 index 0000000000..0d3c01bb01 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243BA4_C71480.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243BA4_C75024 +/* C75024 80243BA4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C75028 80243BA8 AFB40040 */ sw $s4, 0x40($sp) +/* C7502C 80243BAC 0080A02D */ daddu $s4, $a0, $zero +/* C75030 80243BB0 AFBF0044 */ sw $ra, 0x44($sp) +/* C75034 80243BB4 AFB3003C */ sw $s3, 0x3c($sp) +/* C75038 80243BB8 AFB20038 */ sw $s2, 0x38($sp) +/* C7503C 80243BBC AFB10034 */ sw $s1, 0x34($sp) +/* C75040 80243BC0 AFB00030 */ sw $s0, 0x30($sp) +/* C75044 80243BC4 8E910148 */ lw $s1, 0x148($s4) +/* C75048 80243BC8 00A0902D */ daddu $s2, $a1, $zero +/* C7504C 80243BCC 86240008 */ lh $a0, 8($s1) +/* C75050 80243BD0 0C00EABB */ jal get_npc_unsafe +/* C75054 80243BD4 00C0982D */ daddu $s3, $a2, $zero +/* C75058 80243BD8 0040802D */ daddu $s0, $v0, $zero +/* C7505C 80243BDC 9602008E */ lhu $v0, 0x8e($s0) +/* C75060 80243BE0 2442FFFF */ addiu $v0, $v0, -1 +/* C75064 80243BE4 A602008E */ sh $v0, 0x8e($s0) +/* C75068 80243BE8 00021400 */ sll $v0, $v0, 0x10 +/* C7506C 80243BEC 14400020 */ bnez $v0, .L80243C70 +/* C75070 80243BF0 0260202D */ daddu $a0, $s3, $zero +/* C75074 80243BF4 AFA00010 */ sw $zero, 0x10($sp) +/* C75078 80243BF8 8E46000C */ lw $a2, 0xc($s2) +/* C7507C 80243BFC 8E470010 */ lw $a3, 0x10($s2) +/* C75080 80243C00 0C01242D */ jal func_800490B4 +/* C75084 80243C04 0220282D */ daddu $a1, $s1, $zero +/* C75088 80243C08 54400018 */ bnel $v0, $zero, .L80243C6C +/* C7508C 80243C0C A600008E */ sh $zero, 0x8e($s0) +/* C75090 80243C10 24040002 */ addiu $a0, $zero, 2 +/* C75094 80243C14 0200282D */ daddu $a1, $s0, $zero +/* C75098 80243C18 0000302D */ daddu $a2, $zero, $zero +/* C7509C 80243C1C 860300A8 */ lh $v1, 0xa8($s0) +/* C750A0 80243C20 3C013F80 */ lui $at, 0x3f80 +/* C750A4 80243C24 44810000 */ mtc1 $at, $f0 +/* C750A8 80243C28 3C014000 */ lui $at, 0x4000 +/* C750AC 80243C2C 44811000 */ mtc1 $at, $f2 +/* C750B0 80243C30 3C01C1A0 */ lui $at, 0xc1a0 +/* C750B4 80243C34 44812000 */ mtc1 $at, $f4 +/* C750B8 80243C38 2402000F */ addiu $v0, $zero, 0xf +/* C750BC 80243C3C AFA2001C */ sw $v0, 0x1c($sp) +/* C750C0 80243C40 44833000 */ mtc1 $v1, $f6 +/* C750C4 80243C44 00000000 */ nop +/* C750C8 80243C48 468031A0 */ cvt.s.w $f6, $f6 +/* C750CC 80243C4C 44073000 */ mfc1 $a3, $f6 +/* C750D0 80243C50 27A20028 */ addiu $v0, $sp, 0x28 +/* C750D4 80243C54 AFA20020 */ sw $v0, 0x20($sp) +/* C750D8 80243C58 E7A00010 */ swc1 $f0, 0x10($sp) +/* C750DC 80243C5C E7A20014 */ swc1 $f2, 0x14($sp) +/* C750E0 80243C60 0C01BFA4 */ jal fx_emote +/* C750E4 80243C64 E7A40018 */ swc1 $f4, 0x18($sp) +/* C750E8 80243C68 A600008E */ sh $zero, 0x8e($s0) +.L80243C6C: +/* C750EC 80243C6C AE800070 */ sw $zero, 0x70($s4) +.L80243C70: +/* C750F0 80243C70 8FBF0044 */ lw $ra, 0x44($sp) +/* C750F4 80243C74 8FB40040 */ lw $s4, 0x40($sp) +/* C750F8 80243C78 8FB3003C */ lw $s3, 0x3c($sp) +/* C750FC 80243C7C 8FB20038 */ lw $s2, 0x38($sp) +/* C75100 80243C80 8FB10034 */ lw $s1, 0x34($sp) +/* C75104 80243C84 8FB00030 */ lw $s0, 0x30($sp) +/* C75108 80243C88 03E00008 */ jr $ra +/* C7510C 80243C8C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80243C90.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243C90.s new file mode 100644 index 0000000000..c7b16aae9d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243C90.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243C90 +/* C75110 80243C90 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C75114 80243C94 AFB20038 */ sw $s2, 0x38($sp) +/* C75118 80243C98 0080902D */ daddu $s2, $a0, $zero +/* C7511C 80243C9C AFBF0048 */ sw $ra, 0x48($sp) +/* C75120 80243CA0 AFB50044 */ sw $s5, 0x44($sp) +/* C75124 80243CA4 AFB40040 */ sw $s4, 0x40($sp) +/* C75128 80243CA8 AFB3003C */ sw $s3, 0x3c($sp) +/* C7512C 80243CAC AFB10034 */ sw $s1, 0x34($sp) +/* C75130 80243CB0 AFB00030 */ sw $s0, 0x30($sp) +/* C75134 80243CB4 8E510148 */ lw $s1, 0x148($s2) +/* C75138 80243CB8 86240008 */ lh $a0, 8($s1) +/* C7513C 80243CBC 0C00EABB */ jal get_npc_unsafe +/* C75140 80243CC0 00A0802D */ daddu $s0, $a1, $zero +/* C75144 80243CC4 8E43000C */ lw $v1, 0xc($s2) +/* C75148 80243CC8 0240202D */ daddu $a0, $s2, $zero +/* C7514C 80243CCC 8C650000 */ lw $a1, ($v1) +/* C75150 80243CD0 0C0B1EAF */ jal get_variable +/* C75154 80243CD4 0040A82D */ daddu $s5, $v0, $zero +/* C75158 80243CD8 AFA00010 */ sw $zero, 0x10($sp) +/* C7515C 80243CDC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C75160 80243CE0 8C630030 */ lw $v1, 0x30($v1) +/* C75164 80243CE4 AFA30014 */ sw $v1, 0x14($sp) +/* C75168 80243CE8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C7516C 80243CEC 8C63001C */ lw $v1, 0x1c($v1) +/* C75170 80243CF0 AFA30018 */ sw $v1, 0x18($sp) +/* C75174 80243CF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C75178 80243CF8 8C630024 */ lw $v1, 0x24($v1) +/* C7517C 80243CFC AFA3001C */ sw $v1, 0x1c($sp) +/* C75180 80243D00 8E2300D0 */ lw $v1, 0xd0($s1) +/* C75184 80243D04 8C630028 */ lw $v1, 0x28($v1) +/* C75188 80243D08 27B40010 */ addiu $s4, $sp, 0x10 +/* C7518C 80243D0C AFA30020 */ sw $v1, 0x20($sp) +/* C75190 80243D10 8E2300D0 */ lw $v1, 0xd0($s1) +/* C75194 80243D14 3C014348 */ lui $at, 0x4348 +/* C75198 80243D18 44810000 */ mtc1 $at, $f0 +/* C7519C 80243D1C 8C63002C */ lw $v1, 0x2c($v1) +/* C751A0 80243D20 0040982D */ daddu $s3, $v0, $zero +/* C751A4 80243D24 E7A00028 */ swc1 $f0, 0x28($sp) +/* C751A8 80243D28 A7A0002C */ sh $zero, 0x2c($sp) +/* C751AC 80243D2C 16000005 */ bnez $s0, .L80243D44 +/* C751B0 80243D30 AFA30024 */ sw $v1, 0x24($sp) +/* C751B4 80243D34 8E2200B0 */ lw $v0, 0xb0($s1) +/* C751B8 80243D38 30420004 */ andi $v0, $v0, 4 +/* C751BC 80243D3C 10400011 */ beqz $v0, .L80243D84 +/* C751C0 80243D40 00000000 */ nop +.L80243D44: +/* C751C4 80243D44 AE400070 */ sw $zero, 0x70($s2) +/* C751C8 80243D48 A6A0008E */ sh $zero, 0x8e($s5) +/* C751CC 80243D4C 8E2200CC */ lw $v0, 0xcc($s1) +/* C751D0 80243D50 8C420000 */ lw $v0, ($v0) +/* C751D4 80243D54 AEA20028 */ sw $v0, 0x28($s5) +/* C751D8 80243D58 8E2200B0 */ lw $v0, 0xb0($s1) +/* C751DC 80243D5C 30420004 */ andi $v0, $v0, 4 +/* C751E0 80243D60 10400008 */ beqz $v0, .L80243D84 +/* C751E4 80243D64 AE20006C */ sw $zero, 0x6c($s1) +/* C751E8 80243D68 24020063 */ addiu $v0, $zero, 0x63 +/* C751EC 80243D6C AE420070 */ sw $v0, 0x70($s2) +/* C751F0 80243D70 AE400074 */ sw $zero, 0x74($s2) +/* C751F4 80243D74 8E2200B0 */ lw $v0, 0xb0($s1) +/* C751F8 80243D78 2403FFFB */ addiu $v1, $zero, -5 +/* C751FC 80243D7C 00431024 */ and $v0, $v0, $v1 +/* C75200 80243D80 AE2200B0 */ sw $v0, 0xb0($s1) +.L80243D84: +/* C75204 80243D84 8E430070 */ lw $v1, 0x70($s2) +/* C75208 80243D88 2410000B */ addiu $s0, $zero, 0xb +/* C7520C 80243D8C 1070002A */ beq $v1, $s0, .L80243E38 +/* C75210 80243D90 2862000C */ slti $v0, $v1, 0xc +/* C75214 80243D94 1040000D */ beqz $v0, .L80243DCC +/* C75218 80243D98 24020001 */ addiu $v0, $zero, 1 +/* C7521C 80243D9C 1062001A */ beq $v1, $v0, .L80243E08 +/* C75220 80243DA0 28620002 */ slti $v0, $v1, 2 +/* C75224 80243DA4 10400005 */ beqz $v0, .L80243DBC +/* C75228 80243DA8 2402000A */ addiu $v0, $zero, 0xa +/* C7522C 80243DAC 10600013 */ beqz $v1, .L80243DFC +/* C75230 80243DB0 0240202D */ daddu $a0, $s2, $zero +/* C75234 80243DB4 08090FAE */ j .L80243EB8 +/* C75238 80243DB8 00000000 */ nop +.L80243DBC: +/* C7523C 80243DBC 10620018 */ beq $v1, $v0, .L80243E20 +/* C75240 80243DC0 0240202D */ daddu $a0, $s2, $zero +/* C75244 80243DC4 08090FAE */ j .L80243EB8 +/* C75248 80243DC8 00000000 */ nop +.L80243DCC: +/* C7524C 80243DCC 2402000D */ addiu $v0, $zero, 0xd +/* C75250 80243DD0 10620029 */ beq $v1, $v0, .L80243E78 +/* C75254 80243DD4 0062102A */ slt $v0, $v1, $v0 +/* C75258 80243DD8 14400020 */ bnez $v0, .L80243E5C +/* C7525C 80243DDC 0240202D */ daddu $a0, $s2, $zero +/* C75260 80243DE0 2402000E */ addiu $v0, $zero, 0xe +/* C75264 80243DE4 1062002D */ beq $v1, $v0, .L80243E9C +/* C75268 80243DE8 24020063 */ addiu $v0, $zero, 0x63 +/* C7526C 80243DEC 10620030 */ beq $v1, $v0, .L80243EB0 +/* C75270 80243DF0 00000000 */ nop +/* C75274 80243DF4 08090FAE */ j .L80243EB8 +/* C75278 80243DF8 00000000 */ nop +.L80243DFC: +/* C7527C 80243DFC 0260282D */ daddu $a1, $s3, $zero +/* C75280 80243E00 0C090B83 */ jal func_80242E0C +/* C75284 80243E04 0280302D */ daddu $a2, $s4, $zero +.L80243E08: +/* C75288 80243E08 0240202D */ daddu $a0, $s2, $zero +/* C7528C 80243E0C 0260282D */ daddu $a1, $s3, $zero +/* C75290 80243E10 0C090B9E */ jal func_80242E78 +/* C75294 80243E14 0280302D */ daddu $a2, $s4, $zero +/* C75298 80243E18 08090FAE */ j .L80243EB8 +/* C7529C 80243E1C 00000000 */ nop +.L80243E20: +/* C752A0 80243E20 0260282D */ daddu $a1, $s3, $zero +/* C752A4 80243E24 0C090BDD */ jal func_80242F74 +/* C752A8 80243E28 0280302D */ daddu $a2, $s4, $zero +/* C752AC 80243E2C 8E420070 */ lw $v0, 0x70($s2) +/* C752B0 80243E30 14500021 */ bne $v0, $s0, .L80243EB8 +/* C752B4 80243E34 00000000 */ nop +.L80243E38: +/* C752B8 80243E38 0240202D */ daddu $a0, $s2, $zero +/* C752BC 80243E3C 0260282D */ daddu $a1, $s3, $zero +/* C752C0 80243E40 0C090E6D */ jal func_802439B4 +/* C752C4 80243E44 0280302D */ daddu $a2, $s4, $zero +/* C752C8 80243E48 8E430070 */ lw $v1, 0x70($s2) +/* C752CC 80243E4C 2402000C */ addiu $v0, $zero, 0xc +/* C752D0 80243E50 14620019 */ bne $v1, $v0, .L80243EB8 +/* C752D4 80243E54 00000000 */ nop +/* C752D8 80243E58 0240202D */ daddu $a0, $s2, $zero +.L80243E5C: +/* C752DC 80243E5C 0260282D */ daddu $a1, $s3, $zero +/* C752E0 80243E60 0C090E91 */ jal func_80243A44 +/* C752E4 80243E64 0280302D */ daddu $a2, $s4, $zero +/* C752E8 80243E68 8E430070 */ lw $v1, 0x70($s2) +/* C752EC 80243E6C 2402000D */ addiu $v0, $zero, 0xd +/* C752F0 80243E70 14620011 */ bne $v1, $v0, .L80243EB8 +/* C752F4 80243E74 00000000 */ nop +.L80243E78: +/* C752F8 80243E78 0240202D */ daddu $a0, $s2, $zero +/* C752FC 80243E7C 0260282D */ daddu $a1, $s3, $zero +/* C75300 80243E80 0C090ED1 */ jal func_80243B44 +/* C75304 80243E84 0280302D */ daddu $a2, $s4, $zero +/* C75308 80243E88 8E430070 */ lw $v1, 0x70($s2) +/* C7530C 80243E8C 2402000E */ addiu $v0, $zero, 0xe +/* C75310 80243E90 14620009 */ bne $v1, $v0, .L80243EB8 +/* C75314 80243E94 00000000 */ nop +/* C75318 80243E98 0240202D */ daddu $a0, $s2, $zero +.L80243E9C: +/* C7531C 80243E9C 0260282D */ daddu $a1, $s3, $zero +/* C75320 80243EA0 0C090EE9 */ jal func_80243BA4 +/* C75324 80243EA4 0280302D */ daddu $a2, $s4, $zero +/* C75328 80243EA8 08090FAE */ j .L80243EB8 +/* C7532C 80243EAC 00000000 */ nop +.L80243EB0: +/* C75330 80243EB0 0C0129CF */ jal func_8004A73C +/* C75334 80243EB4 0240202D */ daddu $a0, $s2, $zero +.L80243EB8: +/* C75338 80243EB8 8FBF0048 */ lw $ra, 0x48($sp) +/* C7533C 80243EBC 8FB50044 */ lw $s5, 0x44($sp) +/* C75340 80243EC0 8FB40040 */ lw $s4, 0x40($sp) +/* C75344 80243EC4 8FB3003C */ lw $s3, 0x3c($sp) +/* C75348 80243EC8 8FB20038 */ lw $s2, 0x38($sp) +/* C7534C 80243ECC 8FB10034 */ lw $s1, 0x34($sp) +/* C75350 80243ED0 8FB00030 */ lw $s0, 0x30($sp) +/* C75354 80243ED4 0000102D */ daddu $v0, $zero, $zero +/* C75358 80243ED8 03E00008 */ jr $ra +/* C7535C 80243EDC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_08/func_80243EE0.s b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243EE0.s new file mode 100644 index 0000000000..5fe6e67925 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_08/func_80243EE0.s @@ -0,0 +1,158 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243EE0 +/* C75360 80243EE0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C75364 80243EE4 AFB00038 */ sw $s0, 0x38($sp) +/* C75368 80243EE8 0080802D */ daddu $s0, $a0, $zero +/* C7536C 80243EEC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* C75370 80243EF0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* C75374 80243EF4 AFB1003C */ sw $s1, 0x3c($sp) +/* C75378 80243EF8 3C118011 */ lui $s1, %hi(gPlayerData) +/* C7537C 80243EFC 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* C75380 80243F00 AFB20040 */ sw $s2, 0x40($sp) +/* C75384 80243F04 AFBF0044 */ sw $ra, 0x44($sp) +/* C75388 80243F08 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C7538C 80243F0C F7B40048 */ sdc1 $f20, 0x48($sp) +/* C75390 80243F10 10A00004 */ beqz $a1, .L80243F24 +/* C75394 80243F14 0220902D */ daddu $s2, $s1, $zero +/* C75398 80243F18 240200FF */ addiu $v0, $zero, 0xff +/* C7539C 80243F1C AE020070 */ sw $v0, 0x70($s0) +/* C753A0 80243F20 AE000074 */ sw $zero, 0x74($s0) +.L80243F24: +/* C753A4 80243F24 24040001 */ addiu $a0, $zero, 1 +/* C753A8 80243F28 C460002C */ lwc1 $f0, 0x2c($v1) +/* C753AC 80243F2C 3C014100 */ lui $at, 0x4100 +/* C753B0 80243F30 44811000 */ mtc1 $at, $f2 +/* C753B4 80243F34 00000000 */ nop +/* C753B8 80243F38 46020000 */ add.s $f0, $f0, $f2 +/* C753BC 80243F3C C4620030 */ lwc1 $f2, 0x30($v1) +/* C753C0 80243F40 C4640028 */ lwc1 $f4, 0x28($v1) +/* C753C4 80243F44 4600118D */ trunc.w.s $f6, $f2 +/* C753C8 80243F48 E7A60010 */ swc1 $f6, 0x10($sp) +/* C753CC 80243F4C 4600218D */ trunc.w.s $f6, $f4 +/* C753D0 80243F50 44063000 */ mfc1 $a2, $f6 +/* C753D4 80243F54 4600018D */ trunc.w.s $f6, $f0 +/* C753D8 80243F58 44073000 */ mfc1 $a3, $f6 +/* C753DC 80243F5C 0C04DFB0 */ jal func_80137EC0 +/* C753E0 80243F60 0080282D */ daddu $a1, $a0, $zero +/* C753E4 80243F64 27A40028 */ addiu $a0, $sp, 0x28 +/* C753E8 80243F68 27A50029 */ addiu $a1, $sp, 0x29 +/* C753EC 80243F6C 27A6002A */ addiu $a2, $sp, 0x2a +/* C753F0 80243F70 27A7002B */ addiu $a3, $sp, 0x2b +/* C753F4 80243F74 27A2002C */ addiu $v0, $sp, 0x2c +/* C753F8 80243F78 AFA20010 */ sw $v0, 0x10($sp) +/* C753FC 80243F7C 27A2002D */ addiu $v0, $sp, 0x2d +/* C75400 80243F80 AFA20014 */ sw $v0, 0x14($sp) +/* C75404 80243F84 27A2002E */ addiu $v0, $sp, 0x2e +/* C75408 80243F88 AFA20018 */ sw $v0, 0x18($sp) +/* C7540C 80243F8C 27A20030 */ addiu $v0, $sp, 0x30 +/* C75410 80243F90 AFA2001C */ sw $v0, 0x1c($sp) +/* C75414 80243F94 27A20034 */ addiu $v0, $sp, 0x34 +/* C75418 80243F98 0C046FC5 */ jal func_8011BF14 +/* C7541C 80243F9C AFA20020 */ sw $v0, 0x20($sp) +/* C75420 80243FA0 240203E3 */ addiu $v0, $zero, 0x3e3 +/* C75424 80243FA4 8FA30030 */ lw $v1, 0x30($sp) +/* C75428 80243FA8 3C01428C */ lui $at, 0x428c +/* C7542C 80243FAC 44811000 */ mtc1 $at, $f2 +/* C75430 80243FB0 00431023 */ subu $v0, $v0, $v1 +/* C75434 80243FB4 44820000 */ mtc1 $v0, $f0 +/* C75438 80243FB8 00000000 */ nop +/* C7543C 80243FBC 46800020 */ cvt.s.w $f0, $f0 +/* C75440 80243FC0 46020001 */ sub.s $f0, $f0, $f2 +/* C75444 80243FC4 3C01437F */ lui $at, 0x437f +/* C75448 80243FC8 44812000 */ mtc1 $at, $f4 +/* C7544C 80243FCC 00000000 */ nop +/* C75450 80243FD0 46040002 */ mul.s $f0, $f0, $f4 +/* C75454 80243FD4 00000000 */ nop +/* C75458 80243FD8 3C0141F0 */ lui $at, 0x41f0 +/* C7545C 80243FDC 44811000 */ mtc1 $at, $f2 +/* C75460 80243FE0 00000000 */ nop +/* C75464 80243FE4 46020583 */ div.s $f22, $f0, $f2 +/* C75468 80243FE8 4616203C */ c.lt.s $f4, $f22 +/* C7546C 80243FEC 00000000 */ nop +/* C75470 80243FF0 45030001 */ bc1tl .L80243FF8 +/* C75474 80243FF4 46002586 */ mov.s $f22, $f4 +.L80243FF8: +/* C75478 80243FF8 4480A000 */ mtc1 $zero, $f20 +/* C7547C 80243FFC 00000000 */ nop +/* C75480 80244000 4614B03C */ c.lt.s $f22, $f20 +/* C75484 80244004 00000000 */ nop +/* C75488 80244008 45030001 */ bc1tl .L80244010 +/* C7548C 8024400C 4600A586 */ mov.s $f22, $f20 +.L80244010: +/* C75490 80244010 4614B032 */ c.eq.s $f22, $f20 +/* C75494 80244014 00000000 */ nop +/* C75498 80244018 45000007 */ bc1f .L80244038 +/* C7549C 8024401C 00000000 */ nop +/* C754A0 80244020 4405A000 */ mfc1 $a1, $f20 +/* C754A4 80244024 0C04E035 */ jal func_801380D4 +/* C754A8 80244028 24040001 */ addiu $a0, $zero, 1 +/* C754AC 8024402C 4405A000 */ mfc1 $a1, $f20 +/* C754B0 80244030 0809103C */ j .L802440F0 +/* C754B4 80244034 00000000 */ nop +.L80244038: +/* C754B8 80244038 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* C754BC 8024403C 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* C754C0 80244040 10400012 */ beqz $v0, .L8024408C +/* C754C4 80244044 24020006 */ addiu $v0, $zero, 6 +/* C754C8 80244048 82230012 */ lb $v1, 0x12($s1) +/* C754CC 8024404C 14620022 */ bne $v1, $v0, .L802440D8 +/* C754D0 80244050 00000000 */ nop +/* C754D4 80244054 8E020074 */ lw $v0, 0x74($s0) +/* C754D8 80244058 14400004 */ bnez $v0, .L8024406C +/* C754DC 8024405C 24020001 */ addiu $v0, $zero, 1 +/* C754E0 80244060 AE020074 */ sw $v0, 0x74($s0) +/* C754E4 80244064 0C05272D */ jal play_sound +/* C754E8 80244068 24042011 */ addiu $a0, $zero, 0x2011 +.L8024406C: +/* C754EC 8024406C 8E020070 */ lw $v0, 0x70($s0) +/* C754F0 80244070 2442FFF8 */ addiu $v0, $v0, -8 +/* C754F4 80244074 AE020070 */ sw $v0, 0x70($s0) +/* C754F8 80244078 2842005A */ slti $v0, $v0, 0x5a +/* C754FC 8024407C 10400016 */ beqz $v0, .L802440D8 +/* C75500 80244080 2402005A */ addiu $v0, $zero, 0x5a +/* C75504 80244084 08091036 */ j .L802440D8 +/* C75508 80244088 AE020070 */ sw $v0, 0x70($s0) +.L8024408C: +/* C7550C 8024408C 82430012 */ lb $v1, 0x12($s2) +/* C75510 80244090 14620010 */ bne $v1, $v0, .L802440D4 +/* C75514 80244094 240200FF */ addiu $v0, $zero, 0xff +/* C75518 80244098 8E020074 */ lw $v0, 0x74($s0) +/* C7551C 8024409C 10400007 */ beqz $v0, .L802440BC +/* C75520 802440A0 00000000 */ nop +/* C75524 802440A4 8E020070 */ lw $v0, 0x70($s0) +/* C75528 802440A8 284200FF */ slti $v0, $v0, 0xff +/* C7552C 802440AC 10400003 */ beqz $v0, .L802440BC +/* C75530 802440B0 AE000074 */ sw $zero, 0x74($s0) +/* C75534 802440B4 0C05272D */ jal play_sound +/* C75538 802440B8 24042012 */ addiu $a0, $zero, 0x2012 +.L802440BC: +/* C7553C 802440BC 8E020070 */ lw $v0, 0x70($s0) +/* C75540 802440C0 24420008 */ addiu $v0, $v0, 8 +/* C75544 802440C4 AE020070 */ sw $v0, 0x70($s0) +/* C75548 802440C8 284200FF */ slti $v0, $v0, 0xff +/* C7554C 802440CC 14400002 */ bnez $v0, .L802440D8 +/* C75550 802440D0 240200FF */ addiu $v0, $zero, 0xff +.L802440D4: +/* C75554 802440D4 AE020070 */ sw $v0, 0x70($s0) +.L802440D8: +/* C75558 802440D8 C6060070 */ lwc1 $f6, 0x70($s0) +/* C7555C 802440DC 468031A0 */ cvt.s.w $f6, $f6 +/* C75560 802440E0 44053000 */ mfc1 $a1, $f6 +/* C75564 802440E4 0C04E035 */ jal func_801380D4 +/* C75568 802440E8 24040001 */ addiu $a0, $zero, 1 +/* C7556C 802440EC 4405B000 */ mfc1 $a1, $f22 +.L802440F0: +/* C75570 802440F0 0C04DF69 */ jal func_80137DA4 +/* C75574 802440F4 2404000B */ addiu $a0, $zero, 0xb +/* C75578 802440F8 0000102D */ daddu $v0, $zero, $zero +/* C7557C 802440FC 8FBF0044 */ lw $ra, 0x44($sp) +/* C75580 80244100 8FB20040 */ lw $s2, 0x40($sp) +/* C75584 80244104 8FB1003C */ lw $s1, 0x3c($sp) +/* C75588 80244108 8FB00038 */ lw $s0, 0x38($sp) +/* C7558C 8024410C D7B60050 */ ldc1 $f22, 0x50($sp) +/* C75590 80244110 D7B40048 */ ldc1 $f20, 0x48($sp) +/* C75594 80244114 03E00008 */ jr $ra +/* C75598 80244118 27BD0058 */ addiu $sp, $sp, 0x58 +/* C7559C 8024411C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240000_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240000_C76CE0.s new file mode 100644 index 0000000000..9ffa5e1db7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240000_C76CE0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C76CE0 +/* C76CE0 80240000 3C03800A */ lui $v1, %hi(D_8009A650) +/* C76CE4 80240004 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* C76CE8 80240008 8C620000 */ lw $v0, ($v1) +/* C76CEC 8024000C 34420040 */ ori $v0, $v0, 0x40 +/* C76CF0 80240010 AC620000 */ sw $v0, ($v1) +/* C76CF4 80240014 03E00008 */ jr $ra +/* C76CF8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024001C_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024001C_C76CE0.s new file mode 100644 index 0000000000..5002a43893 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024001C_C76CE0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_C76CFC +/* C76CFC 8024001C 3C02800A */ lui $v0, %hi(D_8009A650) +/* C76D00 80240020 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* C76D04 80240024 8C430000 */ lw $v1, ($v0) +/* C76D08 80240028 2404FFBF */ addiu $a0, $zero, -0x41 +/* C76D0C 8024002C 00641824 */ and $v1, $v1, $a0 +/* C76D10 80240030 AC430000 */ sw $v1, ($v0) +/* C76D14 80240034 03E00008 */ jr $ra +/* C76D18 80240038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024003C_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024003C_C76CE0.s new file mode 100644 index 0000000000..4115243d14 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024003C_C76CE0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C_C76D1C +/* C76D1C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C76D20 80240040 AFBF0010 */ sw $ra, 0x10($sp) +/* C76D24 80240044 8C82000C */ lw $v0, 0xc($a0) +/* C76D28 80240048 0C0B1EAF */ jal get_variable +/* C76D2C 8024004C 8C450000 */ lw $a1, ($v0) +/* C76D30 80240050 0C0B95A4 */ jal func_802E5690 +/* C76D34 80240054 0040202D */ daddu $a0, $v0, $zero +/* C76D38 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* C76D3C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* C76D40 80240060 03E00008 */ jr $ra +/* C76D44 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240068_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240068_C76CE0.s new file mode 100644 index 0000000000..6f3a968b30 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240068_C76CE0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_C76D48 +/* C76D48 80240068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C76D4C 8024006C AFB00010 */ sw $s0, 0x10($sp) +/* C76D50 80240070 0080802D */ daddu $s0, $a0, $zero +/* C76D54 80240074 AFBF0018 */ sw $ra, 0x18($sp) +/* C76D58 80240078 AFB10014 */ sw $s1, 0x14($sp) +/* C76D5C 8024007C 8E11000C */ lw $s1, 0xc($s0) +/* C76D60 80240080 8E250000 */ lw $a1, ($s1) +/* C76D64 80240084 0C0B1EAF */ jal get_variable +/* C76D68 80240088 26310004 */ addiu $s1, $s1, 4 +/* C76D6C 8024008C 0200202D */ daddu $a0, $s0, $zero +/* C76D70 80240090 3C038011 */ lui $v1, %hi(gPlayerData) +/* C76D74 80240094 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* C76D78 80240098 000210C0 */ sll $v0, $v0, 3 +/* C76D7C 8024009C 00431021 */ addu $v0, $v0, $v1 +/* C76D80 802400A0 90460015 */ lbu $a2, 0x15($v0) +/* C76D84 802400A4 8E250000 */ lw $a1, ($s1) +/* C76D88 802400A8 24C60001 */ addiu $a2, $a2, 1 +/* C76D8C 802400AC A0460015 */ sb $a2, 0x15($v0) +/* C76D90 802400B0 00063600 */ sll $a2, $a2, 0x18 +/* C76D94 802400B4 0C0B2026 */ jal set_variable +/* C76D98 802400B8 00063603 */ sra $a2, $a2, 0x18 +/* C76D9C 802400BC 8FBF0018 */ lw $ra, 0x18($sp) +/* C76DA0 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* C76DA4 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* C76DA8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* C76DAC 802400CC 03E00008 */ jr $ra +/* C76DB0 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802400D4_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802400D4_C76CE0.s new file mode 100644 index 0000000000..cef1925356 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802400D4_C76CE0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D4_C76DB4 +/* C76DB4 802400D4 3C028011 */ lui $v0, %hi(gPlayerData) +/* C76DB8 802400D8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* C76DBC 802400DC 000420C0 */ sll $a0, $a0, 3 +/* C76DC0 802400E0 00822021 */ addu $a0, $a0, $v0 +/* C76DC4 802400E4 90820014 */ lbu $v0, 0x14($a0) +/* C76DC8 802400E8 10400009 */ beqz $v0, .L80240110 +/* C76DCC 802400EC 00000000 */ nop +/* C76DD0 802400F0 90820015 */ lbu $v0, 0x15($a0) +/* C76DD4 802400F4 00022600 */ sll $a0, $v0, 0x18 +/* C76DD8 802400F8 00041E03 */ sra $v1, $a0, 0x18 +/* C76DDC 802400FC 00051400 */ sll $v0, $a1, 0x10 +/* C76DE0 80240100 00021403 */ sra $v0, $v0, 0x10 +/* C76DE4 80240104 0043102A */ slt $v0, $v0, $v1 +/* C76DE8 80240108 10400003 */ beqz $v0, .L80240118 +/* C76DEC 8024010C 00000000 */ nop +.L80240110: +/* C76DF0 80240110 03E00008 */ jr $ra +/* C76DF4 80240114 2402FFFF */ addiu $v0, $zero, -1 +.L80240118: +/* C76DF8 80240118 03E00008 */ jr $ra +/* C76DFC 8024011C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240120_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240120_C76CE0.s new file mode 100644 index 0000000000..5ce44e9a5f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240120_C76CE0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_C76E00 +/* C76E00 80240120 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C76E04 80240124 AFB3001C */ sw $s3, 0x1c($sp) +/* C76E08 80240128 0080982D */ daddu $s3, $a0, $zero +/* C76E0C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* C76E10 80240130 24100001 */ addiu $s0, $zero, 1 +/* C76E14 80240134 AFB40020 */ sw $s4, 0x20($sp) +/* C76E18 80240138 2414FFFF */ addiu $s4, $zero, -1 +/* C76E1C 8024013C AFB50024 */ sw $s5, 0x24($sp) +/* C76E20 80240140 0200A82D */ daddu $s5, $s0, $zero +/* C76E24 80240144 AFB10014 */ sw $s1, 0x14($sp) +/* C76E28 80240148 3C118011 */ lui $s1, 0x8011 +/* C76E2C 8024014C 2631F298 */ addiu $s1, $s1, -0xd68 +/* C76E30 80240150 AFBF0028 */ sw $ra, 0x28($sp) +/* C76E34 80240154 AFB20018 */ sw $s2, 0x18($sp) +/* C76E38 80240158 8E6200B4 */ lw $v0, 0xb4($s3) +/* C76E3C 8024015C 0280182D */ daddu $v1, $s4, $zero +/* C76E40 80240160 AE630084 */ sw $v1, 0x84($s3) +/* C76E44 80240164 00021027 */ nor $v0, $zero, $v0 +/* C76E48 80240168 000217C2 */ srl $v0, $v0, 0x1f +/* C76E4C 8024016C 00029400 */ sll $s2, $v0, 0x10 +.L80240170: +/* C76E50 80240170 92220014 */ lbu $v0, 0x14($s1) +/* C76E54 80240174 50400008 */ beql $v0, $zero, .L80240198 +/* C76E58 80240178 26100001 */ addiu $s0, $s0, 1 +/* C76E5C 8024017C 0200202D */ daddu $a0, $s0, $zero +/* C76E60 80240180 0C090035 */ jal func_802400D4 +/* C76E64 80240184 00122C03 */ sra $a1, $s2, 0x10 +/* C76E68 80240188 10540003 */ beq $v0, $s4, .L80240198 +/* C76E6C 8024018C 26100001 */ addiu $s0, $s0, 1 +/* C76E70 80240190 08090069 */ j .L802401A4 +/* C76E74 80240194 AE750084 */ sw $s5, 0x84($s3) +.L80240198: +/* C76E78 80240198 2A02000C */ slti $v0, $s0, 0xc +/* C76E7C 8024019C 1440FFF4 */ bnez $v0, .L80240170 +/* C76E80 802401A0 26310008 */ addiu $s1, $s1, 8 +.L802401A4: +/* C76E84 802401A4 8FBF0028 */ lw $ra, 0x28($sp) +/* C76E88 802401A8 8FB50024 */ lw $s5, 0x24($sp) +/* C76E8C 802401AC 8FB40020 */ lw $s4, 0x20($sp) +/* C76E90 802401B0 8FB3001C */ lw $s3, 0x1c($sp) +/* C76E94 802401B4 8FB20018 */ lw $s2, 0x18($sp) +/* C76E98 802401B8 8FB10014 */ lw $s1, 0x14($sp) +/* C76E9C 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* C76EA0 802401C0 24020002 */ addiu $v0, $zero, 2 +/* C76EA4 802401C4 03E00008 */ jr $ra +/* C76EA8 802401C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802401CC_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802401CC_C76CE0.s new file mode 100644 index 0000000000..a430692d79 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802401CC_C76CE0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_C76EAC +/* C76EAC 802401CC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C76EB0 802401D0 AFB5002C */ sw $s5, 0x2c($sp) +/* C76EB4 802401D4 0080A82D */ daddu $s5, $a0, $zero +/* C76EB8 802401D8 AFBE0038 */ sw $fp, 0x38($sp) +/* C76EBC 802401DC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* C76EC0 802401E0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* C76EC4 802401E4 AFBF003C */ sw $ra, 0x3c($sp) +/* C76EC8 802401E8 AFB70034 */ sw $s7, 0x34($sp) +/* C76ECC 802401EC AFB60030 */ sw $s6, 0x30($sp) +/* C76ED0 802401F0 AFB40028 */ sw $s4, 0x28($sp) +/* C76ED4 802401F4 AFB30024 */ sw $s3, 0x24($sp) +/* C76ED8 802401F8 AFB20020 */ sw $s2, 0x20($sp) +/* C76EDC 802401FC AFB1001C */ sw $s1, 0x1c($sp) +/* C76EE0 80240200 10A0004F */ beqz $a1, .L80240340 +/* C76EE4 80240204 AFB00018 */ sw $s0, 0x18($sp) +/* C76EE8 80240208 0C00AB39 */ jal heap_malloc +/* C76EEC 8024020C 24040330 */ addiu $a0, $zero, 0x330 +/* C76EF0 80240210 0040982D */ daddu $s3, $v0, $zero +/* C76EF4 80240214 0000B02D */ daddu $s6, $zero, $zero +/* C76EF8 80240218 02C0902D */ daddu $s2, $s6, $zero +/* C76EFC 8024021C 3C148024 */ lui $s4, 0x8024 +/* C76F00 80240220 26943D08 */ addiu $s4, $s4, 0x3d08 +/* C76F04 80240224 0260882D */ daddu $s1, $s3, $zero +/* C76F08 80240228 8EA200B4 */ lw $v0, 0xb4($s5) +/* C76F0C 8024022C 3C038024 */ lui $v1, 0x8024 +/* C76F10 80240230 24633D00 */ addiu $v1, $v1, 0x3d00 +/* C76F14 80240234 AEB30078 */ sw $s3, 0x78($s5) +/* C76F18 80240238 00021027 */ nor $v0, $zero, $v0 +/* C76F1C 8024023C 0002BFC2 */ srl $s7, $v0, 0x1f +/* C76F20 80240240 00171080 */ sll $v0, $s7, 2 +/* C76F24 80240244 00431021 */ addu $v0, $v0, $v1 +/* C76F28 80240248 AFA20010 */ sw $v0, 0x10($sp) +.L8024024C: +/* C76F2C 8024024C 86900000 */ lh $s0, ($s4) +/* C76F30 80240250 001010C0 */ sll $v0, $s0, 3 +/* C76F34 80240254 03C21021 */ addu $v0, $fp, $v0 +/* C76F38 80240258 90420014 */ lbu $v0, 0x14($v0) +/* C76F3C 8024025C 5040002E */ beql $v0, $zero, .L80240318 +/* C76F40 80240260 26520001 */ addiu $s2, $s2, 1 +/* C76F44 80240264 00101100 */ sll $v0, $s0, 4 +/* C76F48 80240268 3C068009 */ lui $a2, 0x8009 +/* C76F4C 8024026C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* C76F50 80240270 00461021 */ addu $v0, $v0, $a2 +/* C76F54 80240274 0200202D */ daddu $a0, $s0, $zero +/* C76F58 80240278 AE300108 */ sw $s0, 0x108($s1) +/* C76F5C 8024027C 8C420000 */ lw $v0, ($v0) +/* C76F60 80240280 02E0282D */ daddu $a1, $s7, $zero +/* C76F64 80240284 0C090035 */ jal func_802400D4 +/* C76F68 80240288 AE220084 */ sw $v0, 0x84($s1) +/* C76F6C 8024028C 0040202D */ daddu $a0, $v0, $zero +/* C76F70 80240290 04800011 */ bltz $a0, .L802402D8 +/* C76F74 80240294 00101080 */ sll $v0, $s0, 2 +/* C76F78 80240298 3C06800F */ lui $a2, 0x800f +/* C76F7C 8024029C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* C76F80 802402A0 00461021 */ addu $v0, $v0, $a2 +/* C76F84 802402A4 8C430000 */ lw $v1, ($v0) +/* C76F88 802402A8 24020001 */ addiu $v0, $zero, 1 +/* C76F8C 802402AC AE22018C */ sw $v0, 0x18c($s1) +/* C76F90 802402B0 00041080 */ sll $v0, $a0, 2 +/* C76F94 802402B4 3C068024 */ lui $a2, 0x8024 +/* C76F98 802402B8 24C63D18 */ addiu $a2, $a2, 0x3d18 +/* C76F9C 802402BC AE230000 */ sw $v1, ($s1) +/* C76FA0 802402C0 001218C0 */ sll $v1, $s2, 3 +/* C76FA4 802402C4 00431021 */ addu $v0, $v0, $v1 +/* C76FA8 802402C8 00461021 */ addu $v0, $v0, $a2 +/* C76FAC 802402CC 8C420000 */ lw $v0, ($v0) +/* C76FB0 802402D0 080900BF */ j .L802402FC +/* C76FB4 802402D4 AE220294 */ sw $v0, 0x294($s1) +.L802402D8: +/* C76FB8 802402D8 3C06800F */ lui $a2, 0x800f +/* C76FBC 802402DC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* C76FC0 802402E0 00461021 */ addu $v0, $v0, $a2 +/* C76FC4 802402E4 8C420000 */ lw $v0, ($v0) +/* C76FC8 802402E8 AE20018C */ sw $zero, 0x18c($s1) +/* C76FCC 802402EC AE220000 */ sw $v0, ($s1) +/* C76FD0 802402F0 8FA60010 */ lw $a2, 0x10($sp) +/* C76FD4 802402F4 8CC20000 */ lw $v0, ($a2) +/* C76FD8 802402F8 AE220294 */ sw $v0, 0x294($s1) +.L802402FC: +/* C76FDC 802402FC 001010C0 */ sll $v0, $s0, 3 +/* C76FE0 80240300 03C21021 */ addu $v0, $fp, $v0 +/* C76FE4 80240304 80420015 */ lb $v0, 0x15($v0) +/* C76FE8 80240308 26D60001 */ addiu $s6, $s6, 1 +/* C76FEC 8024030C AE220210 */ sw $v0, 0x210($s1) +/* C76FF0 80240310 26310004 */ addiu $s1, $s1, 4 +/* C76FF4 80240314 26520001 */ addiu $s2, $s2, 1 +.L80240318: +/* C76FF8 80240318 2A420008 */ slti $v0, $s2, 8 +/* C76FFC 8024031C 1440FFCB */ bnez $v0, .L8024024C +/* C77000 80240320 26940002 */ addiu $s4, $s4, 2 +/* C77004 80240324 0260202D */ daddu $a0, $s3, $zero +/* C77008 80240328 24020004 */ addiu $v0, $zero, 4 +/* C7700C 8024032C AC820318 */ sw $v0, 0x318($a0) +/* C77010 80240330 AC960324 */ sw $s6, 0x324($a0) +/* C77014 80240334 0C03D390 */ jal func_800F4E40 +/* C77018 80240338 AC800328 */ sw $zero, 0x328($a0) +/* C7701C 8024033C AEA00070 */ sw $zero, 0x70($s5) +.L80240340: +/* C77020 80240340 8EA20070 */ lw $v0, 0x70($s5) +/* C77024 80240344 8EB30078 */ lw $s3, 0x78($s5) +/* C77028 80240348 14400008 */ bnez $v0, .L8024036C +/* C7702C 8024034C 24420001 */ addiu $v0, $v0, 1 +/* C77030 80240350 8662032C */ lh $v0, 0x32c($s3) +/* C77034 80240354 10400009 */ beqz $v0, .L8024037C +/* C77038 80240358 AEA20074 */ sw $v0, 0x74($s5) +/* C7703C 8024035C 0C03C4EC */ jal func_800F13B0 +/* C77040 80240360 00000000 */ nop +/* C77044 80240364 8EA20070 */ lw $v0, 0x70($s5) +/* C77048 80240368 24420001 */ addiu $v0, $v0, 1 +.L8024036C: +/* C7704C 8024036C AEA20070 */ sw $v0, 0x70($s5) +/* C77050 80240370 2842000F */ slti $v0, $v0, 0xf +/* C77054 80240374 10400003 */ beqz $v0, .L80240384 +/* C77058 80240378 00000000 */ nop +.L8024037C: +/* C7705C 8024037C 080900FB */ j .L802403EC +/* C77060 80240380 0000102D */ daddu $v0, $zero, $zero +.L80240384: +/* C77064 80240384 0C03C54E */ jal func_800F1538 +/* C77068 80240388 00000000 */ nop +/* C7706C 8024038C 8EA30074 */ lw $v1, 0x74($s5) +/* C77070 80240390 240200FF */ addiu $v0, $zero, 0xff +/* C77074 80240394 10620010 */ beq $v1, $v0, .L802403D8 +/* C77078 80240398 2462FFFF */ addiu $v0, $v1, -1 +/* C7707C 8024039C 00021080 */ sll $v0, $v0, 2 +/* C77080 802403A0 02621021 */ addu $v0, $s3, $v0 +/* C77084 802403A4 8C420108 */ lw $v0, 0x108($v0) +/* C77088 802403A8 00021100 */ sll $v0, $v0, 4 +/* C7708C 802403AC 3C038009 */ lui $v1, 0x8009 +/* C77090 802403B0 00621821 */ addu $v1, $v1, $v0 +/* C77094 802403B4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* C77098 802403B8 8EA20074 */ lw $v0, 0x74($s5) +/* C7709C 802403BC 2442FFFF */ addiu $v0, $v0, -1 +/* C770A0 802403C0 00021080 */ sll $v0, $v0, 2 +/* C770A4 802403C4 02621021 */ addu $v0, $s3, $v0 +/* C770A8 802403C8 AEA30084 */ sw $v1, 0x84($s5) +/* C770AC 802403CC 8C420108 */ lw $v0, 0x108($v0) +/* C770B0 802403D0 080900F8 */ j .L802403E0 +/* C770B4 802403D4 AEA20088 */ sw $v0, 0x88($s5) +.L802403D8: +/* C770B8 802403D8 2402FFFF */ addiu $v0, $zero, -1 +/* C770BC 802403DC AEA20084 */ sw $v0, 0x84($s5) +.L802403E0: +/* C770C0 802403E0 0C00AB4B */ jal heap_free +/* C770C4 802403E4 8EA40078 */ lw $a0, 0x78($s5) +/* C770C8 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* C770CC 802403EC 8FBF003C */ lw $ra, 0x3c($sp) +/* C770D0 802403F0 8FBE0038 */ lw $fp, 0x38($sp) +/* C770D4 802403F4 8FB70034 */ lw $s7, 0x34($sp) +/* C770D8 802403F8 8FB60030 */ lw $s6, 0x30($sp) +/* C770DC 802403FC 8FB5002C */ lw $s5, 0x2c($sp) +/* C770E0 80240400 8FB40028 */ lw $s4, 0x28($sp) +/* C770E4 80240404 8FB30024 */ lw $s3, 0x24($sp) +/* C770E8 80240408 8FB20020 */ lw $s2, 0x20($sp) +/* C770EC 8024040C 8FB1001C */ lw $s1, 0x1c($sp) +/* C770F0 80240410 8FB00018 */ lw $s0, 0x18($sp) +/* C770F4 80240414 03E00008 */ jr $ra +/* C770F8 80240418 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024041C_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024041C_C76CE0.s new file mode 100644 index 0000000000..af9597c5a4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024041C_C76CE0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_C770FC +/* C770FC 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C77100 80240420 AFBF0010 */ sw $ra, 0x10($sp) +/* C77104 80240424 8C82000C */ lw $v0, 0xc($a0) +/* C77108 80240428 0C0B1EAF */ jal get_variable +/* C7710C 8024042C 8C450000 */ lw $a1, ($v0) +/* C77110 80240430 0C03AC5A */ jal func_800EB168 +/* C77114 80240434 0040202D */ daddu $a0, $v0, $zero +/* C77118 80240438 8FBF0010 */ lw $ra, 0x10($sp) +/* C7711C 8024043C 24020002 */ addiu $v0, $zero, 2 +/* C77120 80240440 03E00008 */ jr $ra +/* C77124 80240444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240448_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240448_C76CE0.s new file mode 100644 index 0000000000..0508dc7eed --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240448_C76CE0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448_C77128 +/* C77128 80240448 3C028011 */ lui $v0, 0x8011 +/* C7712C 8024044C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* C77130 80240450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C77134 80240454 AFBF0010 */ sw $ra, 0x10($sp) +/* C77138 80240458 00021100 */ sll $v0, $v0, 4 +/* C7713C 8024045C 3C048009 */ lui $a0, 0x8009 +/* C77140 80240460 00822021 */ addu $a0, $a0, $v0 +/* C77144 80240464 8C84EF20 */ lw $a0, -0x10e0($a0) +/* C77148 80240468 0C0496CF */ jal set_message_string +/* C7714C 8024046C 0000282D */ daddu $a1, $zero, $zero +/* C77150 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* C77154 80240474 24020002 */ addiu $v0, $zero, 2 +/* C77158 80240478 03E00008 */ jr $ra +/* C7715C 8024047C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240480_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240480_C76CE0.s new file mode 100644 index 0000000000..0a98b6bcd5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240480_C76CE0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_C77160 +/* C77160 80240480 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C77164 80240484 AFB1001C */ sw $s1, 0x1c($sp) +/* C77168 80240488 0080882D */ daddu $s1, $a0, $zero +/* C7716C 8024048C AFBF0020 */ sw $ra, 0x20($sp) +/* C77170 80240490 AFB00018 */ sw $s0, 0x18($sp) +/* C77174 80240494 8E30000C */ lw $s0, 0xc($s1) +/* C77178 80240498 8E050000 */ lw $a1, ($s0) +/* C7717C 8024049C 0C0B1EAF */ jal get_variable +/* C77180 802404A0 26100004 */ addiu $s0, $s0, 4 +/* C77184 802404A4 0C04417A */ jal get_entity_by_index +/* C77188 802404A8 0040202D */ daddu $a0, $v0, $zero +/* C7718C 802404AC 8E100000 */ lw $s0, ($s0) +/* C77190 802404B0 C444004C */ lwc1 $f4, 0x4c($v0) +/* C77194 802404B4 3C014148 */ lui $at, 0x4148 +/* C77198 802404B8 44810000 */ mtc1 $at, $f0 +/* C7719C 802404BC 3C013F33 */ lui $at, 0x3f33 +/* C771A0 802404C0 34213333 */ ori $at, $at, 0x3333 +/* C771A4 802404C4 44811000 */ mtc1 $at, $f2 +/* C771A8 802404C8 AFA00014 */ sw $zero, 0x14($sp) +/* C771AC 802404CC 46002100 */ add.s $f4, $f4, $f0 +/* C771B0 802404D0 E7A20010 */ swc1 $f2, 0x10($sp) +/* C771B4 802404D4 8C450048 */ lw $a1, 0x48($v0) +/* C771B8 802404D8 8C470050 */ lw $a3, 0x50($v0) +/* C771BC 802404DC 44062000 */ mfc1 $a2, $f4 +/* C771C0 802404E0 0C01C5D4 */ jal func_80071750 +/* C771C4 802404E4 0000202D */ daddu $a0, $zero, $zero +/* C771C8 802404E8 0220202D */ daddu $a0, $s1, $zero +/* C771CC 802404EC 0200282D */ daddu $a1, $s0, $zero +/* C771D0 802404F0 0C0B2026 */ jal set_variable +/* C771D4 802404F4 0040302D */ daddu $a2, $v0, $zero +/* C771D8 802404F8 8FBF0020 */ lw $ra, 0x20($sp) +/* C771DC 802404FC 8FB1001C */ lw $s1, 0x1c($sp) +/* C771E0 80240500 8FB00018 */ lw $s0, 0x18($sp) +/* C771E4 80240504 24020002 */ addiu $v0, $zero, 2 +/* C771E8 80240508 03E00008 */ jr $ra +/* C771EC 8024050C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240510_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240510_C76CE0.s new file mode 100644 index 0000000000..335f058451 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240510_C76CE0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_C771F0 +/* C771F0 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C771F4 80240514 AFBF0010 */ sw $ra, 0x10($sp) +/* C771F8 80240518 8C82000C */ lw $v0, 0xc($a0) +/* C771FC 8024051C 0C0B1EAF */ jal get_variable +/* C77200 80240520 8C450000 */ lw $a1, ($v0) +/* C77204 80240524 0040202D */ daddu $a0, $v0, $zero +/* C77208 80240528 8C830000 */ lw $v1, ($a0) +/* C7720C 8024052C 34630010 */ ori $v1, $v1, 0x10 +/* C77210 80240530 AC830000 */ sw $v1, ($a0) +/* C77214 80240534 8FBF0010 */ lw $ra, 0x10($sp) +/* C77218 80240538 24020002 */ addiu $v0, $zero, 2 +/* C7721C 8024053C 03E00008 */ jr $ra +/* C77220 80240540 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240544_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240544_C76CE0.s new file mode 100644 index 0000000000..c509f5c05f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240544_C76CE0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_C77224 +/* C77224 80240544 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C77228 80240548 AFBF0018 */ sw $ra, 0x18($sp) +/* C7722C 8024054C 8C82000C */ lw $v0, 0xc($a0) +/* C77230 80240550 0C0B1EAF */ jal get_variable +/* C77234 80240554 8C450000 */ lw $a1, ($v0) +/* C77238 80240558 0C04417A */ jal get_entity_by_index +/* C7723C 8024055C 0040202D */ daddu $a0, $v0, $zero +/* C77240 80240560 3C013F80 */ lui $at, 0x3f80 +/* C77244 80240564 44810000 */ mtc1 $at, $f0 +/* C77248 80240568 C442004C */ lwc1 $f2, 0x4c($v0) +/* C7724C 8024056C E7A00010 */ swc1 $f0, 0x10($sp) +/* C77250 80240570 3C014148 */ lui $at, 0x4148 +/* C77254 80240574 44810000 */ mtc1 $at, $f0 +/* C77258 80240578 2403004B */ addiu $v1, $zero, 0x4b +/* C7725C 8024057C AFA30014 */ sw $v1, 0x14($sp) +/* C77260 80240580 46001080 */ add.s $f2, $f2, $f0 +/* C77264 80240584 8C450048 */ lw $a1, 0x48($v0) +/* C77268 80240588 8C470050 */ lw $a3, 0x50($v0) +/* C7726C 8024058C 44061000 */ mfc1 $a2, $f2 +/* C77270 80240590 0C01C2EC */ jal func_80070BB0 +/* C77274 80240594 24040004 */ addiu $a0, $zero, 4 +/* C77278 80240598 8FBF0018 */ lw $ra, 0x18($sp) +/* C7727C 8024059C 24020002 */ addiu $v0, $zero, 2 +/* C77280 802405A0 03E00008 */ jr $ra +/* C77284 802405A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802405A8_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802405A8_C76CE0.s new file mode 100644 index 0000000000..a02c191e5d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802405A8_C76CE0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8_C77288 +/* C77288 802405A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7728C 802405AC AFBF0018 */ sw $ra, 0x18($sp) +/* C77290 802405B0 0C00EAD2 */ jal get_npc_safe +/* C77294 802405B4 2404FFFC */ addiu $a0, $zero, -4 +/* C77298 802405B8 C444003C */ lwc1 $f4, 0x3c($v0) +/* C7729C 802405BC 3C014148 */ lui $at, 0x4148 +/* C772A0 802405C0 44811000 */ mtc1 $at, $f2 +/* C772A4 802405C4 3C013F80 */ lui $at, 0x3f80 +/* C772A8 802405C8 44810000 */ mtc1 $at, $f0 +/* C772AC 802405CC 2403001E */ addiu $v1, $zero, 0x1e +/* C772B0 802405D0 AFA30014 */ sw $v1, 0x14($sp) +/* C772B4 802405D4 46022100 */ add.s $f4, $f4, $f2 +/* C772B8 802405D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C772BC 802405DC 8C450038 */ lw $a1, 0x38($v0) +/* C772C0 802405E0 8C470040 */ lw $a3, 0x40($v0) +/* C772C4 802405E4 44062000 */ mfc1 $a2, $f4 +/* C772C8 802405E8 0C01C2EC */ jal func_80070BB0 +/* C772CC 802405EC 24040009 */ addiu $a0, $zero, 9 +/* C772D0 802405F0 8FBF0018 */ lw $ra, 0x18($sp) +/* C772D4 802405F4 24020002 */ addiu $v0, $zero, 2 +/* C772D8 802405F8 03E00008 */ jr $ra +/* C772DC 802405FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240600_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240600_C76CE0.s new file mode 100644 index 0000000000..9947f93d3a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240600_C76CE0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240600_C772E0 +/* C772E0 80240600 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* C772E4 80240604 AFB60040 */ sw $s6, 0x40($sp) +/* C772E8 80240608 0080B02D */ daddu $s6, $a0, $zero +/* C772EC 8024060C AFB00028 */ sw $s0, 0x28($sp) +/* C772F0 80240610 00A0802D */ daddu $s0, $a1, $zero +/* C772F4 80240614 AFBF0044 */ sw $ra, 0x44($sp) +/* C772F8 80240618 AFB5003C */ sw $s5, 0x3c($sp) +/* C772FC 8024061C AFB40038 */ sw $s4, 0x38($sp) +/* C77300 80240620 AFB30034 */ sw $s3, 0x34($sp) +/* C77304 80240624 AFB20030 */ sw $s2, 0x30($sp) +/* C77308 80240628 AFB1002C */ sw $s1, 0x2c($sp) +/* C7730C 8024062C F7B80058 */ sdc1 $f24, 0x58($sp) +/* C77310 80240630 F7B60050 */ sdc1 $f22, 0x50($sp) +/* C77314 80240634 F7B40048 */ sdc1 $f20, 0x48($sp) +/* C77318 80240638 8ED3000C */ lw $s3, 0xc($s6) +/* C7731C 8024063C 0C00EAD2 */ jal get_npc_safe +/* C77320 80240640 2404FFFC */ addiu $a0, $zero, -4 +/* C77324 80240644 27A50018 */ addiu $a1, $sp, 0x18 +/* C77328 80240648 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C7732C 8024064C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C77330 80240650 27A6001C */ addiu $a2, $sp, 0x1c +/* C77334 80240654 00041880 */ sll $v1, $a0, 2 +/* C77338 80240658 00641821 */ addu $v1, $v1, $a0 +/* C7733C 8024065C 00031880 */ sll $v1, $v1, 2 +/* C77340 80240660 00641823 */ subu $v1, $v1, $a0 +/* C77344 80240664 000320C0 */ sll $a0, $v1, 3 +/* C77348 80240668 00641821 */ addu $v1, $v1, $a0 +/* C7734C 8024066C 000318C0 */ sll $v1, $v1, 3 +/* C77350 80240670 3C01800B */ lui $at, 0x800b +/* C77354 80240674 00230821 */ addu $at, $at, $v1 +/* C77358 80240678 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* C7735C 8024067C 0C00A88D */ jal sin_cos_deg +/* C77360 80240680 0040A82D */ daddu $s5, $v0, $zero +/* C77364 80240684 1200005D */ beqz $s0, .L802407FC +/* C77368 80240688 00000000 */ nop +/* C7736C 8024068C 0C00AB0A */ jal general_heap_malloc +/* C77370 80240690 24040068 */ addiu $a0, $zero, 0x68 +/* C77374 80240694 0040902D */ daddu $s2, $v0, $zero +/* C77378 80240698 02C0202D */ daddu $a0, $s6, $zero +/* C7737C 8024069C 0000882D */ daddu $s1, $zero, $zero +/* C77380 802406A0 2414FFFF */ addiu $s4, $zero, -1 +/* C77384 802406A4 AED20060 */ sw $s2, 0x60($s6) +/* C77388 802406A8 8E650000 */ lw $a1, ($s3) +/* C7738C 802406AC 3C014148 */ lui $at, 0x4148 +/* C77390 802406B0 4481C000 */ mtc1 $at, $f24 +/* C77394 802406B4 3C013F80 */ lui $at, 0x3f80 +/* C77398 802406B8 4481B000 */ mtc1 $at, $f22 +/* C7739C 802406BC 4480A000 */ mtc1 $zero, $f20 +/* C773A0 802406C0 0C0B1EAF */ jal get_variable +/* C773A4 802406C4 0240802D */ daddu $s0, $s2, $zero +/* C773A8 802406C8 0C04417A */ jal get_entity_by_index +/* C773AC 802406CC 0040202D */ daddu $a0, $v0, $zero +/* C773B0 802406D0 AE42005C */ sw $v0, 0x5c($s2) +.L802406D4: +/* C773B4 802406D4 8E42005C */ lw $v0, 0x5c($s2) +/* C773B8 802406D8 C440004C */ lwc1 $f0, 0x4c($v0) +/* C773BC 802406DC 0000202D */ daddu $a0, $zero, $zero +/* C773C0 802406E0 E7B60010 */ swc1 $f22, 0x10($sp) +/* C773C4 802406E4 AFB40014 */ sw $s4, 0x14($sp) +/* C773C8 802406E8 46180000 */ add.s $f0, $f0, $f24 +/* C773CC 802406EC 8C450048 */ lw $a1, 0x48($v0) +/* C773D0 802406F0 8C470050 */ lw $a3, 0x50($v0) +/* C773D4 802406F4 44060000 */ mfc1 $a2, $f0 +/* C773D8 802406F8 0C01C5BC */ jal func_800716F0 +/* C773DC 802406FC 26310001 */ addiu $s1, $s1, 1 +/* C773E0 80240700 AE020008 */ sw $v0, 8($s0) +/* C773E4 80240704 E614002C */ swc1 $f20, 0x2c($s0) +/* C773E8 80240708 E6140020 */ swc1 $f20, 0x20($s0) +/* C773EC 8024070C E6140014 */ swc1 $f20, 0x14($s0) +/* C773F0 80240710 E6140050 */ swc1 $f20, 0x50($s0) +/* C773F4 80240714 E6140044 */ swc1 $f20, 0x44($s0) +/* C773F8 80240718 E6140038 */ swc1 $f20, 0x38($s0) +/* C773FC 8024071C 2A220003 */ slti $v0, $s1, 3 +/* C77400 80240720 1440FFEC */ bnez $v0, .L802406D4 +/* C77404 80240724 26100004 */ addiu $s0, $s0, 4 +/* C77408 80240728 0000882D */ daddu $s1, $zero, $zero +/* C7740C 8024072C 0240802D */ daddu $s0, $s2, $zero +/* C77410 80240730 3C148024 */ lui $s4, 0x8024 +/* C77414 80240734 26943D58 */ addiu $s4, $s4, 0x3d58 +/* C77418 80240738 3C014248 */ lui $at, 0x4248 +/* C7741C 8024073C 4481A000 */ mtc1 $at, $f20 +/* C77420 80240740 24130044 */ addiu $s3, $zero, 0x44 +/* C77424 80240744 AE400000 */ sw $zero, ($s2) +/* C77428 80240748 AE400004 */ sw $zero, 4($s2) +/* C7742C 8024074C AE400060 */ sw $zero, 0x60($s2) +/* C77430 80240750 AE400064 */ sw $zero, 0x64($s2) +.L80240754: +/* C77434 80240754 27A40020 */ addiu $a0, $sp, 0x20 +/* C77438 80240758 4406A000 */ mfc1 $a2, $f20 +/* C7743C 8024075C 8E870000 */ lw $a3, ($s4) +/* C77440 80240760 02532821 */ addu $a1, $s2, $s3 +/* C77444 80240764 0C00A7E7 */ jal add_vec2D_polar +/* C77448 80240768 AFA00020 */ sw $zero, 0x20($sp) +/* C7744C 8024076C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C77450 80240770 C7A40020 */ lwc1 $f4, 0x20($sp) +/* C77454 80240774 46041082 */ mul.s $f2, $f2, $f4 +/* C77458 80240778 00000000 */ nop +/* C7745C 8024077C C7A00018 */ lwc1 $f0, 0x18($sp) +/* C77460 80240780 46040002 */ mul.s $f0, $f0, $f4 +/* C77464 80240784 00000000 */ nop +/* C77468 80240788 E6020038 */ swc1 $f2, 0x38($s0) +/* C7746C 8024078C E6000050 */ swc1 $f0, 0x50($s0) +/* C77470 80240790 8E42005C */ lw $v0, 0x5c($s2) +/* C77474 80240794 C6000038 */ lwc1 $f0, 0x38($s0) +/* C77478 80240798 C4420048 */ lwc1 $f2, 0x48($v0) +/* C7747C 8024079C 46001080 */ add.s $f2, $f2, $f0 +/* C77480 802407A0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* C77484 802407A4 46020001 */ sub.s $f0, $f0, $f2 +/* C77488 802407A8 E6000038 */ swc1 $f0, 0x38($s0) +/* C7748C 802407AC 8E42005C */ lw $v0, 0x5c($s2) +/* C77490 802407B0 C6000044 */ lwc1 $f0, 0x44($s0) +/* C77494 802407B4 C442004C */ lwc1 $f2, 0x4c($v0) +/* C77498 802407B8 46001080 */ add.s $f2, $f2, $f0 +/* C7749C 802407BC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* C774A0 802407C0 46020001 */ sub.s $f0, $f0, $f2 +/* C774A4 802407C4 E6000044 */ swc1 $f0, 0x44($s0) +/* C774A8 802407C8 8E42005C */ lw $v0, 0x5c($s2) +/* C774AC 802407CC C6000050 */ lwc1 $f0, 0x50($s0) +/* C774B0 802407D0 C4420050 */ lwc1 $f2, 0x50($v0) +/* C774B4 802407D4 26940004 */ addiu $s4, $s4, 4 +/* C774B8 802407D8 46001080 */ add.s $f2, $f2, $f0 +/* C774BC 802407DC C6A00040 */ lwc1 $f0, 0x40($s5) +/* C774C0 802407E0 26730004 */ addiu $s3, $s3, 4 +/* C774C4 802407E4 46020001 */ sub.s $f0, $f0, $f2 +/* C774C8 802407E8 26310001 */ addiu $s1, $s1, 1 +/* C774CC 802407EC 2A220003 */ slti $v0, $s1, 3 +/* C774D0 802407F0 E6000050 */ swc1 $f0, 0x50($s0) +/* C774D4 802407F4 1440FFD7 */ bnez $v0, .L80240754 +/* C774D8 802407F8 26100004 */ addiu $s0, $s0, 4 +.L802407FC: +/* C774DC 802407FC 8ED20060 */ lw $s2, 0x60($s6) +/* C774E0 80240800 8E430000 */ lw $v1, ($s2) +/* C774E4 80240804 24020001 */ addiu $v0, $zero, 1 +/* C774E8 80240808 10620038 */ beq $v1, $v0, .L802408EC +/* C774EC 8024080C 28620002 */ slti $v0, $v1, 2 +/* C774F0 80240810 50400005 */ beql $v0, $zero, .L80240828 +/* C774F4 80240814 24020002 */ addiu $v0, $zero, 2 +/* C774F8 80240818 10600007 */ beqz $v1, .L80240838 +/* C774FC 8024081C 24040005 */ addiu $a0, $zero, 5 +/* C77500 80240820 08090274 */ j .L802409D0 +/* C77504 80240824 00000000 */ nop +.L80240828: +/* C77508 80240828 10620058 */ beq $v1, $v0, .L8024098C +/* C7750C 8024082C 00000000 */ nop +/* C77510 80240830 08090274 */ j .L802409D0 +/* C77514 80240834 00000000 */ nop +.L80240838: +/* C77518 80240838 0000882D */ daddu $s1, $zero, $zero +/* C7751C 8024083C 3C148024 */ lui $s4, 0x8024 +/* C77520 80240840 26943D58 */ addiu $s4, $s4, 0x3d58 +/* C77524 80240844 24130020 */ addiu $s3, $zero, 0x20 +/* C77528 80240848 3C064248 */ lui $a2, 0x4248 +/* C7752C 8024084C 44800000 */ mtc1 $zero, $f0 +/* C77530 80240850 24020014 */ addiu $v0, $zero, 0x14 +/* C77534 80240854 AFA20010 */ sw $v0, 0x10($sp) +/* C77538 80240858 44050000 */ mfc1 $a1, $f0 +/* C7753C 8024085C 8E470060 */ lw $a3, 0x60($s2) +/* C77540 80240860 4485B000 */ mtc1 $a1, $f22 +/* C77544 80240864 0C00A8ED */ jal update_lerp +/* C77548 80240868 0240802D */ daddu $s0, $s2, $zero +/* C7754C 8024086C 46000506 */ mov.s $f20, $f0 +.L80240870: +/* C77550 80240870 4406A000 */ mfc1 $a2, $f20 +/* C77554 80240874 27A40020 */ addiu $a0, $sp, 0x20 +/* C77558 80240878 E6160020 */ swc1 $f22, 0x20($s0) +/* C7755C 8024087C 8E870000 */ lw $a3, ($s4) +/* C77560 80240880 02532821 */ addu $a1, $s2, $s3 +/* C77564 80240884 0C00A7E7 */ jal add_vec2D_polar +/* C77568 80240888 E7B60020 */ swc1 $f22, 0x20($sp) +/* C7756C 8024088C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C77570 80240890 C7A00020 */ lwc1 $f0, 0x20($sp) +/* C77574 80240894 46002102 */ mul.s $f4, $f4, $f0 +/* C77578 80240898 00000000 */ nop +/* C7757C 8024089C C7A20018 */ lwc1 $f2, 0x18($sp) +/* C77580 802408A0 26940004 */ addiu $s4, $s4, 4 +/* C77584 802408A4 46001082 */ mul.s $f2, $f2, $f0 +/* C77588 802408A8 00000000 */ nop +/* C7758C 802408AC 26730004 */ addiu $s3, $s3, 4 +/* C77590 802408B0 26310001 */ addiu $s1, $s1, 1 +/* C77594 802408B4 2A220003 */ slti $v0, $s1, 3 +/* C77598 802408B8 E6040014 */ swc1 $f4, 0x14($s0) +/* C7759C 802408BC E602002C */ swc1 $f2, 0x2c($s0) +/* C775A0 802408C0 1440FFEB */ bnez $v0, .L80240870 +/* C775A4 802408C4 26100004 */ addiu $s0, $s0, 4 +/* C775A8 802408C8 8E420060 */ lw $v0, 0x60($s2) +/* C775AC 802408CC 24420001 */ addiu $v0, $v0, 1 +/* C775B0 802408D0 AE420060 */ sw $v0, 0x60($s2) +/* C775B4 802408D4 28420015 */ slti $v0, $v0, 0x15 +/* C775B8 802408D8 1440003D */ bnez $v0, .L802409D0 +/* C775BC 802408DC 24020001 */ addiu $v0, $zero, 1 +/* C775C0 802408E0 AE420000 */ sw $v0, ($s2) +/* C775C4 802408E4 08090274 */ j .L802409D0 +/* C775C8 802408E8 AE400060 */ sw $zero, 0x60($s2) +.L802408EC: +/* C775CC 802408EC 0000882D */ daddu $s1, $zero, $zero +/* C775D0 802408F0 3C148024 */ lui $s4, 0x8024 +/* C775D4 802408F4 26943D58 */ addiu $s4, $s4, 0x3d58 +/* C775D8 802408F8 24130020 */ addiu $s3, $zero, 0x20 +/* C775DC 802408FC 0240802D */ daddu $s0, $s2, $zero +/* C775E0 80240900 3C014248 */ lui $at, 0x4248 +/* C775E4 80240904 4481A000 */ mtc1 $at, $f20 +/* C775E8 80240908 4480B000 */ mtc1 $zero, $f22 +.L8024090C: +/* C775EC 8024090C 4406A000 */ mfc1 $a2, $f20 +/* C775F0 80240910 27A40020 */ addiu $a0, $sp, 0x20 +/* C775F4 80240914 E6160020 */ swc1 $f22, 0x20($s0) +/* C775F8 80240918 8E870000 */ lw $a3, ($s4) +/* C775FC 8024091C 02532821 */ addu $a1, $s2, $s3 +/* C77600 80240920 0C00A7E7 */ jal add_vec2D_polar +/* C77604 80240924 E7B60020 */ swc1 $f22, 0x20($sp) +/* C77608 80240928 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* C7760C 8024092C C7A00020 */ lwc1 $f0, 0x20($sp) +/* C77610 80240930 46002102 */ mul.s $f4, $f4, $f0 +/* C77614 80240934 00000000 */ nop +/* C77618 80240938 C7A20018 */ lwc1 $f2, 0x18($sp) +/* C7761C 8024093C 26940004 */ addiu $s4, $s4, 4 +/* C77620 80240940 46001082 */ mul.s $f2, $f2, $f0 +/* C77624 80240944 00000000 */ nop +/* C77628 80240948 26730004 */ addiu $s3, $s3, 4 +/* C7762C 8024094C 26310001 */ addiu $s1, $s1, 1 +/* C77630 80240950 2A220003 */ slti $v0, $s1, 3 +/* C77634 80240954 E6040014 */ swc1 $f4, 0x14($s0) +/* C77638 80240958 E602002C */ swc1 $f2, 0x2c($s0) +/* C7763C 8024095C 1440FFEB */ bnez $v0, .L8024090C +/* C77640 80240960 26100004 */ addiu $s0, $s0, 4 +/* C77644 80240964 8E420060 */ lw $v0, 0x60($s2) +/* C77648 80240968 24420001 */ addiu $v0, $v0, 1 +/* C7764C 8024096C AE420060 */ sw $v0, 0x60($s2) +/* C77650 80240970 28420010 */ slti $v0, $v0, 0x10 +/* C77654 80240974 14400016 */ bnez $v0, .L802409D0 +/* C77658 80240978 2402000F */ addiu $v0, $zero, 0xf +/* C7765C 8024097C AE420060 */ sw $v0, 0x60($s2) +/* C77660 80240980 24020002 */ addiu $v0, $zero, 2 +/* C77664 80240984 08090274 */ j .L802409D0 +/* C77668 80240988 AE420000 */ sw $v0, ($s2) +.L8024098C: +/* C7766C 8024098C 8E420060 */ lw $v0, 0x60($s2) +/* C77670 80240990 24420001 */ addiu $v0, $v0, 1 +/* C77674 80240994 AE420060 */ sw $v0, 0x60($s2) +/* C77678 80240998 2842001F */ slti $v0, $v0, 0x1f +/* C7767C 8024099C 1440000C */ bnez $v0, .L802409D0 +/* C77680 802409A0 0000882D */ daddu $s1, $zero, $zero +/* C77684 802409A4 0240282D */ daddu $a1, $s2, $zero +.L802409A8: +/* C77688 802409A8 8CA20008 */ lw $v0, 8($a1) +/* C7768C 802409AC 8C430000 */ lw $v1, ($v0) +/* C77690 802409B0 26310001 */ addiu $s1, $s1, 1 +/* C77694 802409B4 34630010 */ ori $v1, $v1, 0x10 +/* C77698 802409B8 AC430000 */ sw $v1, ($v0) +/* C7769C 802409BC 2A220003 */ slti $v0, $s1, 3 +/* C776A0 802409C0 1440FFF9 */ bnez $v0, .L802409A8 +/* C776A4 802409C4 24A50004 */ addiu $a1, $a1, 4 +/* C776A8 802409C8 080902C1 */ j .L80240B04 +/* C776AC 802409CC 24020002 */ addiu $v0, $zero, 2 +.L802409D0: +/* C776B0 802409D0 8E430004 */ lw $v1, 4($s2) +/* C776B4 802409D4 10600005 */ beqz $v1, .L802409EC +/* C776B8 802409D8 24020001 */ addiu $v0, $zero, 1 +/* C776BC 802409DC 1062000B */ beq $v1, $v0, .L80240A0C +/* C776C0 802409E0 0000882D */ daddu $s1, $zero, $zero +/* C776C4 802409E4 080902B0 */ j .L80240AC0 +/* C776C8 802409E8 0240282D */ daddu $a1, $s2, $zero +.L802409EC: +/* C776CC 802409EC 8E420064 */ lw $v0, 0x64($s2) +/* C776D0 802409F0 24420001 */ addiu $v0, $v0, 1 +/* C776D4 802409F4 AE420064 */ sw $v0, 0x64($s2) +/* C776D8 802409F8 28420010 */ slti $v0, $v0, 0x10 +/* C776DC 802409FC 1440002F */ bnez $v0, .L80240ABC +/* C776E0 80240A00 0000882D */ daddu $s1, $zero, $zero +/* C776E4 80240A04 080902AC */ j .L80240AB0 +/* C776E8 80240A08 24020001 */ addiu $v0, $zero, 1 +.L80240A0C: +/* C776EC 80240A0C 4480A000 */ mtc1 $zero, $f20 +/* C776F0 80240A10 24130014 */ addiu $s3, $zero, 0x14 +/* C776F4 80240A14 0240802D */ daddu $s0, $s2, $zero +.L80240A18: +/* C776F8 80240A18 4405A000 */ mfc1 $a1, $f20 +/* C776FC 80240A1C AFB30010 */ sw $s3, 0x10($sp) +/* C77700 80240A20 8E060038 */ lw $a2, 0x38($s0) +/* C77704 80240A24 8E470064 */ lw $a3, 0x64($s2) +/* C77708 80240A28 0C00A8ED */ jal update_lerp +/* C7770C 80240A2C 24040001 */ addiu $a0, $zero, 1 +/* C77710 80240A30 C6020014 */ lwc1 $f2, 0x14($s0) +/* C77714 80240A34 46001080 */ add.s $f2, $f2, $f0 +/* C77718 80240A38 4405A000 */ mfc1 $a1, $f20 +/* C7771C 80240A3C E6020014 */ swc1 $f2, 0x14($s0) +/* C77720 80240A40 AFB30010 */ sw $s3, 0x10($sp) +/* C77724 80240A44 8E060044 */ lw $a2, 0x44($s0) +/* C77728 80240A48 8E470064 */ lw $a3, 0x64($s2) +/* C7772C 80240A4C 0C00A8ED */ jal update_lerp +/* C77730 80240A50 24040001 */ addiu $a0, $zero, 1 +/* C77734 80240A54 C6020020 */ lwc1 $f2, 0x20($s0) +/* C77738 80240A58 46001080 */ add.s $f2, $f2, $f0 +/* C7773C 80240A5C 4405A000 */ mfc1 $a1, $f20 +/* C77740 80240A60 E6020020 */ swc1 $f2, 0x20($s0) +/* C77744 80240A64 AFB30010 */ sw $s3, 0x10($sp) +/* C77748 80240A68 8E060050 */ lw $a2, 0x50($s0) +/* C7774C 80240A6C 8E470064 */ lw $a3, 0x64($s2) +/* C77750 80240A70 0C00A8ED */ jal update_lerp +/* C77754 80240A74 24040001 */ addiu $a0, $zero, 1 +/* C77758 80240A78 C602002C */ lwc1 $f2, 0x2c($s0) +/* C7775C 80240A7C 46001080 */ add.s $f2, $f2, $f0 +/* C77760 80240A80 26310001 */ addiu $s1, $s1, 1 +/* C77764 80240A84 2A220003 */ slti $v0, $s1, 3 +/* C77768 80240A88 E602002C */ swc1 $f2, 0x2c($s0) +/* C7776C 80240A8C 1440FFE2 */ bnez $v0, .L80240A18 +/* C77770 80240A90 26100004 */ addiu $s0, $s0, 4 +/* C77774 80240A94 8E420064 */ lw $v0, 0x64($s2) +/* C77778 80240A98 24420001 */ addiu $v0, $v0, 1 +/* C7777C 80240A9C AE420064 */ sw $v0, 0x64($s2) +/* C77780 80240AA0 28420015 */ slti $v0, $v0, 0x15 +/* C77784 80240AA4 14400005 */ bnez $v0, .L80240ABC +/* C77788 80240AA8 0000882D */ daddu $s1, $zero, $zero +/* C7778C 80240AAC 24020002 */ addiu $v0, $zero, 2 +.L80240AB0: +/* C77790 80240AB0 AE420004 */ sw $v0, 4($s2) +/* C77794 80240AB4 AE400064 */ sw $zero, 0x64($s2) +/* C77798 80240AB8 0000882D */ daddu $s1, $zero, $zero +.L80240ABC: +/* C7779C 80240ABC 0240282D */ daddu $a1, $s2, $zero +.L80240AC0: +/* C777A0 80240AC0 8CA20008 */ lw $v0, 8($a1) +/* C777A4 80240AC4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* C777A8 80240AC8 8C42000C */ lw $v0, 0xc($v0) +/* C777AC 80240ACC E4400010 */ swc1 $f0, 0x10($v0) +/* C777B0 80240AD0 8CA20008 */ lw $v0, 8($a1) +/* C777B4 80240AD4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* C777B8 80240AD8 8C42000C */ lw $v0, 0xc($v0) +/* C777BC 80240ADC 26310001 */ addiu $s1, $s1, 1 +/* C777C0 80240AE0 E4400014 */ swc1 $f0, 0x14($v0) +/* C777C4 80240AE4 8CA20008 */ lw $v0, 8($a1) +/* C777C8 80240AE8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* C777CC 80240AEC 8C42000C */ lw $v0, 0xc($v0) +/* C777D0 80240AF0 E4400018 */ swc1 $f0, 0x18($v0) +/* C777D4 80240AF4 2A220003 */ slti $v0, $s1, 3 +/* C777D8 80240AF8 1440FFF1 */ bnez $v0, .L80240AC0 +/* C777DC 80240AFC 24A50004 */ addiu $a1, $a1, 4 +/* C777E0 80240B00 0000102D */ daddu $v0, $zero, $zero +.L80240B04: +/* C777E4 80240B04 8FBF0044 */ lw $ra, 0x44($sp) +/* C777E8 80240B08 8FB60040 */ lw $s6, 0x40($sp) +/* C777EC 80240B0C 8FB5003C */ lw $s5, 0x3c($sp) +/* C777F0 80240B10 8FB40038 */ lw $s4, 0x38($sp) +/* C777F4 80240B14 8FB30034 */ lw $s3, 0x34($sp) +/* C777F8 80240B18 8FB20030 */ lw $s2, 0x30($sp) +/* C777FC 80240B1C 8FB1002C */ lw $s1, 0x2c($sp) +/* C77800 80240B20 8FB00028 */ lw $s0, 0x28($sp) +/* C77804 80240B24 D7B80058 */ ldc1 $f24, 0x58($sp) +/* C77808 80240B28 D7B60050 */ ldc1 $f22, 0x50($sp) +/* C7780C 80240B2C D7B40048 */ ldc1 $f20, 0x48($sp) +/* C77810 80240B30 03E00008 */ jr $ra +/* C77814 80240B34 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240B38_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240B38_C76CE0.s new file mode 100644 index 0000000000..23f2305850 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240B38_C76CE0.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B38_C77818 +/* C77818 80240B38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7781C 80240B3C AFB10014 */ sw $s1, 0x14($sp) +/* C77820 80240B40 0080882D */ daddu $s1, $a0, $zero +/* C77824 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* C77828 80240B48 AFBF001C */ sw $ra, 0x1c($sp) +/* C7782C 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* C77830 80240B50 8E30000C */ lw $s0, 0xc($s1) +/* C77834 80240B54 10A00010 */ beqz $a1, .L80240B98 +/* C77838 80240B58 0000902D */ daddu $s2, $zero, $zero +/* C7783C 80240B5C 8E050000 */ lw $a1, ($s0) +/* C77840 80240B60 0C0B1EAF */ jal get_variable +/* C77844 80240B64 26100004 */ addiu $s0, $s0, 4 +/* C77848 80240B68 AE220084 */ sw $v0, 0x84($s1) +/* C7784C 80240B6C 8E050000 */ lw $a1, ($s0) +/* C77850 80240B70 0C0B1EAF */ jal get_variable +/* C77854 80240B74 0220202D */ daddu $a0, $s1, $zero +/* C77858 80240B78 0240202D */ daddu $a0, $s2, $zero +/* C7785C 80240B7C 240500D0 */ addiu $a1, $zero, 0xd0 +/* C77860 80240B80 00A0302D */ daddu $a2, $a1, $zero +/* C77864 80240B84 00A0382D */ daddu $a3, $a1, $zero +/* C77868 80240B88 AE220088 */ sw $v0, 0x88($s1) +/* C7786C 80240B8C AE200070 */ sw $zero, 0x70($s1) +/* C77870 80240B90 0C04DF84 */ jal func_80137E10 +/* C77874 80240B94 AE200074 */ sw $zero, 0x74($s1) +.L80240B98: +/* C77878 80240B98 8E230070 */ lw $v1, 0x70($s1) +/* C7787C 80240B9C 24040001 */ addiu $a0, $zero, 1 +/* C77880 80240BA0 10640019 */ beq $v1, $a0, .L80240C08 +/* C77884 80240BA4 28620002 */ slti $v0, $v1, 2 +/* C77888 80240BA8 10400005 */ beqz $v0, .L80240BC0 +/* C7788C 80240BAC 24020002 */ addiu $v0, $zero, 2 +/* C77890 80240BB0 10600007 */ beqz $v1, .L80240BD0 +/* C77894 80240BB4 240500FF */ addiu $a1, $zero, 0xff +/* C77898 80240BB8 08090312 */ j .L80240C48 +/* C7789C 80240BBC 00000000 */ nop +.L80240BC0: +/* C778A0 80240BC0 10620019 */ beq $v1, $v0, .L80240C28 +/* C778A4 80240BC4 00000000 */ nop +/* C778A8 80240BC8 08090312 */ j .L80240C48 +/* C778AC 80240BCC 00000000 */ nop +.L80240BD0: +/* C778B0 80240BD0 8E220074 */ lw $v0, 0x74($s1) +/* C778B4 80240BD4 14450004 */ bne $v0, $a1, .L80240BE8 +/* C778B8 80240BD8 00000000 */ nop +/* C778BC 80240BDC AE240070 */ sw $a0, 0x70($s1) +/* C778C0 80240BE0 AE200078 */ sw $zero, 0x78($s1) +/* C778C4 80240BE4 8E220074 */ lw $v0, 0x74($s1) +.L80240BE8: +/* C778C8 80240BE8 8E230084 */ lw $v1, 0x84($s1) +/* C778CC 80240BEC 00431021 */ addu $v0, $v0, $v1 +/* C778D0 80240BF0 AE220074 */ sw $v0, 0x74($s1) +/* C778D4 80240BF4 28420100 */ slti $v0, $v0, 0x100 +/* C778D8 80240BF8 50400013 */ beql $v0, $zero, .L80240C48 +/* C778DC 80240BFC AE250074 */ sw $a1, 0x74($s1) +/* C778E0 80240C00 08090312 */ j .L80240C48 +/* C778E4 80240C04 00000000 */ nop +.L80240C08: +/* C778E8 80240C08 8E220078 */ lw $v0, 0x78($s1) +/* C778EC 80240C0C 24420001 */ addiu $v0, $v0, 1 +/* C778F0 80240C10 AE220078 */ sw $v0, 0x78($s1) +/* C778F4 80240C14 28420002 */ slti $v0, $v0, 2 +/* C778F8 80240C18 1440000B */ bnez $v0, .L80240C48 +/* C778FC 80240C1C 24020002 */ addiu $v0, $zero, 2 +/* C77900 80240C20 08090312 */ j .L80240C48 +/* C77904 80240C24 AE220070 */ sw $v0, 0x70($s1) +.L80240C28: +/* C77908 80240C28 8E230074 */ lw $v1, 0x74($s1) +/* C7790C 80240C2C 50600001 */ beql $v1, $zero, .L80240C34 +/* C77910 80240C30 24120001 */ addiu $s2, $zero, 1 +.L80240C34: +/* C77914 80240C34 8E220088 */ lw $v0, 0x88($s1) +/* C77918 80240C38 00621023 */ subu $v0, $v1, $v0 +/* C7791C 80240C3C 04410002 */ bgez $v0, .L80240C48 +/* C77920 80240C40 AE220074 */ sw $v0, 0x74($s1) +/* C77924 80240C44 AE200074 */ sw $zero, 0x74($s1) +.L80240C48: +/* C77928 80240C48 C6200074 */ lwc1 $f0, 0x74($s1) +/* C7792C 80240C4C 46800020 */ cvt.s.w $f0, $f0 +/* C77930 80240C50 44050000 */ mfc1 $a1, $f0 +/* C77934 80240C54 0C04DF62 */ jal func_80137D88 +/* C77938 80240C58 24040001 */ addiu $a0, $zero, 1 +/* C7793C 80240C5C 0240102D */ daddu $v0, $s2, $zero +/* C77940 80240C60 8FBF001C */ lw $ra, 0x1c($sp) +/* C77944 80240C64 8FB20018 */ lw $s2, 0x18($sp) +/* C77948 80240C68 8FB10014 */ lw $s1, 0x14($sp) +/* C7794C 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* C77950 80240C70 03E00008 */ jr $ra +/* C77954 80240C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240C78_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240C78_C76CE0.s new file mode 100644 index 0000000000..2df8dfc57d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240C78_C76CE0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_C77958 +/* C77958 80240C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7795C 80240C7C AFBF0018 */ sw $ra, 0x18($sp) +/* C77960 80240C80 0C00EAD2 */ jal get_npc_safe +/* C77964 80240C84 2404FFFC */ addiu $a0, $zero, -4 +/* C77968 80240C88 3C0141F0 */ lui $at, 0x41f0 +/* C7796C 80240C8C 44810000 */ mtc1 $at, $f0 +/* C77970 80240C90 C442003C */ lwc1 $f2, 0x3c($v0) +/* C77974 80240C94 46001080 */ add.s $f2, $f2, $f0 +/* C77978 80240C98 E7A00010 */ swc1 $f0, 0x10($sp) +/* C7797C 80240C9C 8C450038 */ lw $a1, 0x38($v0) +/* C77980 80240CA0 8C470040 */ lw $a3, 0x40($v0) +/* C77984 80240CA4 44061000 */ mfc1 $a2, $f2 +/* C77988 80240CA8 0C01BFBC */ jal func_8006FEF0 +/* C7798C 80240CAC 24040002 */ addiu $a0, $zero, 2 +/* C77990 80240CB0 8FBF0018 */ lw $ra, 0x18($sp) +/* C77994 80240CB4 24020002 */ addiu $v0, $zero, 2 +/* C77998 80240CB8 03E00008 */ jr $ra +/* C7799C 80240CBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240CC0_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240CC0_C76CE0.s new file mode 100644 index 0000000000..edc402908f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240CC0_C76CE0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_C779A0 +/* C779A0 80240CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C779A4 80240CC4 AFBF0018 */ sw $ra, 0x18($sp) +/* C779A8 80240CC8 0C00EAD2 */ jal get_npc_safe +/* C779AC 80240CCC 2404FFFC */ addiu $a0, $zero, -4 +/* C779B0 80240CD0 3C0141F0 */ lui $at, 0x41f0 +/* C779B4 80240CD4 44810000 */ mtc1 $at, $f0 +/* C779B8 80240CD8 C442003C */ lwc1 $f2, 0x3c($v0) +/* C779BC 80240CDC 46001080 */ add.s $f2, $f2, $f0 +/* C779C0 80240CE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* C779C4 80240CE4 8C450038 */ lw $a1, 0x38($v0) +/* C779C8 80240CE8 8C470040 */ lw $a3, 0x40($v0) +/* C779CC 80240CEC 44061000 */ mfc1 $a2, $f2 +/* C779D0 80240CF0 0C01BFBC */ jal func_8006FEF0 +/* C779D4 80240CF4 24040004 */ addiu $a0, $zero, 4 +/* C779D8 80240CF8 8FBF0018 */ lw $ra, 0x18($sp) +/* C779DC 80240CFC 24020002 */ addiu $v0, $zero, 2 +/* C779E0 80240D00 03E00008 */ jr $ra +/* C779E4 80240D04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D08_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D08_C76CE0.s new file mode 100644 index 0000000000..7b4a44fbc1 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D08_C76CE0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08_C779E8 +/* C779E8 80240D08 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C779EC 80240D0C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* C779F0 80240D10 AC800084 */ sw $zero, 0x84($a0) +/* C779F4 80240D14 80620000 */ lb $v0, ($v1) +/* C779F8 80240D18 10400005 */ beqz $v0, .L80240D30 +/* C779FC 80240D1C 24020003 */ addiu $v0, $zero, 3 +/* C77A00 80240D20 80630003 */ lb $v1, 3($v1) +/* C77A04 80240D24 14620002 */ bne $v1, $v0, .L80240D30 +/* C77A08 80240D28 24020001 */ addiu $v0, $zero, 1 +/* C77A0C 80240D2C AC820084 */ sw $v0, 0x84($a0) +.L80240D30: +/* C77A10 80240D30 03E00008 */ jr $ra +/* C77A14 80240D34 24020002 */ addiu $v0, $zero, 2 +/* C77A18 80240D38 00000000 */ nop +/* C77A1C 80240D3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D40_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D40_C76CE0.s new file mode 100644 index 0000000000..7056b6b4bd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240D40_C76CE0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D40_C77A20 +/* C77A20 80240D40 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C77A24 80240D44 AFB1001C */ sw $s1, 0x1c($sp) +/* C77A28 80240D48 0080882D */ daddu $s1, $a0, $zero +/* C77A2C 80240D4C AFBF0020 */ sw $ra, 0x20($sp) +/* C77A30 80240D50 AFB00018 */ sw $s0, 0x18($sp) +/* C77A34 80240D54 8E30000C */ lw $s0, 0xc($s1) +/* C77A38 80240D58 8E020000 */ lw $v0, ($s0) +/* C77A3C 80240D5C 1040001B */ beqz $v0, .L80240DCC +/* C77A40 80240D60 26100004 */ addiu $s0, $s0, 4 +/* C77A44 80240D64 8E050000 */ lw $a1, ($s0) +/* C77A48 80240D68 0C0B1EAF */ jal get_variable +/* C77A4C 80240D6C 26100004 */ addiu $s0, $s0, 4 +/* C77A50 80240D70 AE220070 */ sw $v0, 0x70($s1) +/* C77A54 80240D74 8E050000 */ lw $a1, ($s0) +/* C77A58 80240D78 26100004 */ addiu $s0, $s0, 4 +/* C77A5C 80240D7C 0C0B1EAF */ jal get_variable +/* C77A60 80240D80 0220202D */ daddu $a0, $s1, $zero +/* C77A64 80240D84 AE220074 */ sw $v0, 0x74($s1) +/* C77A68 80240D88 8E050000 */ lw $a1, ($s0) +/* C77A6C 80240D8C 0C0B1EAF */ jal get_variable +/* C77A70 80240D90 0220202D */ daddu $a0, $s1, $zero +/* C77A74 80240D94 24040168 */ addiu $a0, $zero, 0x168 +/* C77A78 80240D98 0000282D */ daddu $a1, $zero, $zero +/* C77A7C 80240D9C C6200070 */ lwc1 $f0, 0x70($s1) +/* C77A80 80240DA0 46800020 */ cvt.s.w $f0, $f0 +/* C77A84 80240DA4 C6220074 */ lwc1 $f2, 0x74($s1) +/* C77A88 80240DA8 468010A0 */ cvt.s.w $f2, $f2 +/* C77A8C 80240DAC 44060000 */ mfc1 $a2, $f0 +/* C77A90 80240DB0 44071000 */ mfc1 $a3, $f2 +/* C77A94 80240DB4 44820000 */ mtc1 $v0, $f0 +/* C77A98 80240DB8 00000000 */ nop +/* C77A9C 80240DBC 46800020 */ cvt.s.w $f0, $f0 +/* C77AA0 80240DC0 AE220078 */ sw $v0, 0x78($s1) +/* C77AA4 80240DC4 0C05267B */ jal func_801499EC +/* C77AA8 80240DC8 E7A00010 */ swc1 $f0, 0x10($sp) +.L80240DCC: +/* C77AAC 80240DCC 8FBF0020 */ lw $ra, 0x20($sp) +/* C77AB0 80240DD0 8FB1001C */ lw $s1, 0x1c($sp) +/* C77AB4 80240DD4 8FB00018 */ lw $s0, 0x18($sp) +/* C77AB8 80240DD8 24020002 */ addiu $v0, $zero, 2 +/* C77ABC 80240DDC 03E00008 */ jr $ra +/* C77AC0 80240DE0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240DE4_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240DE4_C76CE0.s new file mode 100644 index 0000000000..38d799d0d8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240DE4_C76CE0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE4_C77AC4 +/* C77AC4 80240DE4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C77AC8 80240DE8 AFB1001C */ sw $s1, 0x1c($sp) +/* C77ACC 80240DEC 0080882D */ daddu $s1, $a0, $zero +/* C77AD0 80240DF0 AFBF0020 */ sw $ra, 0x20($sp) +/* C77AD4 80240DF4 AFB00018 */ sw $s0, 0x18($sp) +/* C77AD8 80240DF8 8E30000C */ lw $s0, 0xc($s1) +/* C77ADC 80240DFC 8E020000 */ lw $v0, ($s0) +/* C77AE0 80240E00 1040001B */ beqz $v0, .L80240E70 +/* C77AE4 80240E04 26100004 */ addiu $s0, $s0, 4 +/* C77AE8 80240E08 8E050000 */ lw $a1, ($s0) +/* C77AEC 80240E0C 0C0B1EAF */ jal get_variable +/* C77AF0 80240E10 26100004 */ addiu $s0, $s0, 4 +/* C77AF4 80240E14 AE220070 */ sw $v0, 0x70($s1) +/* C77AF8 80240E18 8E050000 */ lw $a1, ($s0) +/* C77AFC 80240E1C 26100004 */ addiu $s0, $s0, 4 +/* C77B00 80240E20 0C0B1EAF */ jal get_variable +/* C77B04 80240E24 0220202D */ daddu $a0, $s1, $zero +/* C77B08 80240E28 AE220074 */ sw $v0, 0x74($s1) +/* C77B0C 80240E2C 8E050000 */ lw $a1, ($s0) +/* C77B10 80240E30 0C0B1EAF */ jal get_variable +/* C77B14 80240E34 0220202D */ daddu $a0, $s1, $zero +/* C77B18 80240E38 24040185 */ addiu $a0, $zero, 0x185 +/* C77B1C 80240E3C 0000282D */ daddu $a1, $zero, $zero +/* C77B20 80240E40 C6200070 */ lwc1 $f0, 0x70($s1) +/* C77B24 80240E44 46800020 */ cvt.s.w $f0, $f0 +/* C77B28 80240E48 C6220074 */ lwc1 $f2, 0x74($s1) +/* C77B2C 80240E4C 468010A0 */ cvt.s.w $f2, $f2 +/* C77B30 80240E50 44060000 */ mfc1 $a2, $f0 +/* C77B34 80240E54 44071000 */ mfc1 $a3, $f2 +/* C77B38 80240E58 44820000 */ mtc1 $v0, $f0 +/* C77B3C 80240E5C 00000000 */ nop +/* C77B40 80240E60 46800020 */ cvt.s.w $f0, $f0 +/* C77B44 80240E64 AE220078 */ sw $v0, 0x78($s1) +/* C77B48 80240E68 0C05267B */ jal func_801499EC +/* C77B4C 80240E6C E7A00010 */ swc1 $f0, 0x10($sp) +.L80240E70: +/* C77B50 80240E70 8FBF0020 */ lw $ra, 0x20($sp) +/* C77B54 80240E74 8FB1001C */ lw $s1, 0x1c($sp) +/* C77B58 80240E78 8FB00018 */ lw $s0, 0x18($sp) +/* C77B5C 80240E7C 24020002 */ addiu $v0, $zero, 2 +/* C77B60 80240E80 03E00008 */ jr $ra +/* C77B64 80240E84 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80240E88.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240E88.s new file mode 100644 index 0000000000..e541877da2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80240E88.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E88 +/* C77B68 80240E88 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C77B6C 80240E8C AFB10014 */ sw $s1, 0x14($sp) +/* C77B70 80240E90 0080882D */ daddu $s1, $a0, $zero +/* C77B74 80240E94 AFBF001C */ sw $ra, 0x1c($sp) +/* C77B78 80240E98 AFB20018 */ sw $s2, 0x18($sp) +/* C77B7C 80240E9C AFB00010 */ sw $s0, 0x10($sp) +/* C77B80 80240EA0 8E22000C */ lw $v0, 0xc($s1) +/* C77B84 80240EA4 0C0B1EAF */ jal get_variable +/* C77B88 80240EA8 8C450000 */ lw $a1, ($v0) +/* C77B8C 80240EAC 8E23013C */ lw $v1, 0x13c($s1) +/* C77B90 80240EB0 8C720000 */ lw $s2, ($v1) +/* C77B94 80240EB4 C646000C */ lwc1 $f6, 0xc($s2) +/* C77B98 80240EB8 C6400000 */ lwc1 $f0, ($s2) +/* C77B9C 80240EBC 46003181 */ sub.s $f6, $f6, $f0 +/* C77BA0 80240EC0 3C01447A */ lui $at, 0x447a +/* C77BA4 80240EC4 44814000 */ mtc1 $at, $f8 +/* C77BA8 80240EC8 C6200084 */ lwc1 $f0, 0x84($s1) +/* C77BAC 80240ECC 46800020 */ cvt.s.w $f0, $f0 +/* C77BB0 80240ED0 46083183 */ div.s $f6, $f6, $f8 +/* C77BB4 80240ED4 46003182 */ mul.s $f6, $f6, $f0 +/* C77BB8 80240ED8 00000000 */ nop +/* C77BBC 80240EDC C6440010 */ lwc1 $f4, 0x10($s2) +/* C77BC0 80240EE0 C6420004 */ lwc1 $f2, 4($s2) +/* C77BC4 80240EE4 46022101 */ sub.s $f4, $f4, $f2 +/* C77BC8 80240EE8 C6420008 */ lwc1 $f2, 8($s2) +/* C77BCC 80240EEC C6400014 */ lwc1 $f0, 0x14($s2) +/* C77BD0 80240EF0 46020001 */ sub.s $f0, $f0, $f2 +/* C77BD4 80240EF4 46082103 */ div.s $f4, $f4, $f8 +/* C77BD8 80240EF8 C6220084 */ lwc1 $f2, 0x84($s1) +/* C77BDC 80240EFC 468010A0 */ cvt.s.w $f2, $f2 +/* C77BE0 80240F00 46022102 */ mul.s $f4, $f4, $f2 +/* C77BE4 80240F04 00000000 */ nop +/* C77BE8 80240F08 46080003 */ div.s $f0, $f0, $f8 +/* C77BEC 80240F0C 46020002 */ mul.s $f0, $f0, $f2 +/* C77BF0 80240F10 00000000 */ nop +/* C77BF4 80240F14 4600328D */ trunc.w.s $f10, $f6 +/* C77BF8 80240F18 E62A0098 */ swc1 $f10, 0x98($s1) +/* C77BFC 80240F1C 4600228D */ trunc.w.s $f10, $f4 +/* C77C00 80240F20 E62A009C */ swc1 $f10, 0x9c($s1) +/* C77C04 80240F24 4600028D */ trunc.w.s $f10, $f0 +/* C77C08 80240F28 1440002E */ bnez $v0, .L80240FE4 +/* C77C0C 80240F2C E62A00A0 */ swc1 $f10, 0xa0($s1) +/* C77C10 80240F30 0C00EAD2 */ jal get_npc_safe +/* C77C14 80240F34 2404FFFC */ addiu $a0, $zero, -4 +/* C77C18 80240F38 8E23008C */ lw $v1, 0x8c($s1) +/* C77C1C 80240F3C 8E240098 */ lw $a0, 0x98($s1) +/* C77C20 80240F40 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* C77C24 80240F44 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* C77C28 80240F48 00641821 */ addu $v1, $v1, $a0 +/* C77C2C 80240F4C 44830000 */ mtc1 $v1, $f0 +/* C77C30 80240F50 00000000 */ nop +/* C77C34 80240F54 46800020 */ cvt.s.w $f0, $f0 +/* C77C38 80240F58 E6000028 */ swc1 $f0, 0x28($s0) +/* C77C3C 80240F5C 8E230090 */ lw $v1, 0x90($s1) +/* C77C40 80240F60 8E24009C */ lw $a0, 0x9c($s1) +/* C77C44 80240F64 00641821 */ addu $v1, $v1, $a0 +/* C77C48 80240F68 44830000 */ mtc1 $v1, $f0 +/* C77C4C 80240F6C 00000000 */ nop +/* C77C50 80240F70 46800020 */ cvt.s.w $f0, $f0 +/* C77C54 80240F74 E600002C */ swc1 $f0, 0x2c($s0) +/* C77C58 80240F78 8E230094 */ lw $v1, 0x94($s1) +/* C77C5C 80240F7C 8E2400A0 */ lw $a0, 0xa0($s1) +/* C77C60 80240F80 00641821 */ addu $v1, $v1, $a0 +/* C77C64 80240F84 44830000 */ mtc1 $v1, $f0 +/* C77C68 80240F88 00000000 */ nop +/* C77C6C 80240F8C 46800020 */ cvt.s.w $f0, $f0 +/* C77C70 80240F90 E6000030 */ swc1 $f0, 0x30($s0) +/* C77C74 80240F94 C64C0000 */ lwc1 $f12, ($s2) +/* C77C78 80240F98 C64E0008 */ lwc1 $f14, 8($s2) +/* C77C7C 80240F9C 8E46000C */ lw $a2, 0xc($s2) +/* C77C80 80240FA0 8E470014 */ lw $a3, 0x14($s2) +/* C77C84 80240FA4 0C00A720 */ jal atan2 +/* C77C88 80240FA8 0040882D */ daddu $s1, $v0, $zero +/* C77C8C 80240FAC C6020028 */ lwc1 $f2, 0x28($s0) +/* C77C90 80240FB0 E6000080 */ swc1 $f0, 0x80($s0) +/* C77C94 80240FB4 E6220038 */ swc1 $f2, 0x38($s1) +/* C77C98 80240FB8 C600002C */ lwc1 $f0, 0x2c($s0) +/* C77C9C 80240FBC 3C014120 */ lui $at, 0x4120 +/* C77CA0 80240FC0 44811000 */ mtc1 $at, $f2 +/* C77CA4 80240FC4 00000000 */ nop +/* C77CA8 80240FC8 46020001 */ sub.s $f0, $f0, $f2 +/* C77CAC 80240FCC 3C0140A0 */ lui $at, 0x40a0 +/* C77CB0 80240FD0 44811000 */ mtc1 $at, $f2 +/* C77CB4 80240FD4 E620003C */ swc1 $f0, 0x3c($s1) +/* C77CB8 80240FD8 C6000030 */ lwc1 $f0, 0x30($s0) +/* C77CBC 80240FDC 46020001 */ sub.s $f0, $f0, $f2 +/* C77CC0 80240FE0 E6200040 */ swc1 $f0, 0x40($s1) +.L80240FE4: +/* C77CC4 80240FE4 8FBF001C */ lw $ra, 0x1c($sp) +/* C77CC8 80240FE8 8FB20018 */ lw $s2, 0x18($sp) +/* C77CCC 80240FEC 8FB10014 */ lw $s1, 0x14($sp) +/* C77CD0 80240FF0 8FB00010 */ lw $s0, 0x10($sp) +/* C77CD4 80240FF4 24020002 */ addiu $v0, $zero, 2 +/* C77CD8 80240FF8 03E00008 */ jr $ra +/* C77CDC 80240FFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80241000_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241000_C76CE0.s new file mode 100644 index 0000000000..fee8db6afe --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241000_C76CE0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241000_C77CE0 +/* C77CE0 80241000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* C77CE4 80241004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* C77CE8 80241008 8C420010 */ lw $v0, 0x10($v0) +/* C77CEC 8024100C 30428000 */ andi $v0, $v0, 0x8000 +/* C77CF0 80241010 AC8200A4 */ sw $v0, 0xa4($a0) +/* C77CF4 80241014 03E00008 */ jr $ra +/* C77CF8 80241018 24020002 */ addiu $v0, $zero, 2 +/* C77CFC 8024101C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80241020_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241020_C76CE0.s new file mode 100644 index 0000000000..ce8d64e920 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241020_C76CE0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241020_C77D00 +/* C77D00 80241020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C77D04 80241024 AFB10014 */ sw $s1, 0x14($sp) +/* C77D08 80241028 0080882D */ daddu $s1, $a0, $zero +/* C77D0C 8024102C AFBF0018 */ sw $ra, 0x18($sp) +/* C77D10 80241030 AFB00010 */ sw $s0, 0x10($sp) +/* C77D14 80241034 8E300148 */ lw $s0, 0x148($s1) +/* C77D18 80241038 0C00EABB */ jal get_npc_unsafe +/* C77D1C 8024103C 86040008 */ lh $a0, 8($s0) +/* C77D20 80241040 24030001 */ addiu $v1, $zero, 1 +/* C77D24 80241044 0040202D */ daddu $a0, $v0, $zero +/* C77D28 80241048 AE03006C */ sw $v1, 0x6c($s0) +/* C77D2C 8024104C 8482008C */ lh $v0, 0x8c($a0) +/* C77D30 80241050 14400009 */ bnez $v0, .L80241078 +/* C77D34 80241054 24020002 */ addiu $v0, $zero, 2 +/* C77D38 80241058 96030072 */ lhu $v1, 0x72($s0) +/* C77D3C 8024105C AE02006C */ sw $v0, 0x6c($s0) +/* C77D40 80241060 A483008E */ sh $v1, 0x8e($a0) +/* C77D44 80241064 8E0200CC */ lw $v0, 0xcc($s0) +/* C77D48 80241068 8C420020 */ lw $v0, 0x20($v0) +/* C77D4C 8024106C AC820028 */ sw $v0, 0x28($a0) +/* C77D50 80241070 2402001F */ addiu $v0, $zero, 0x1f +/* C77D54 80241074 AE220070 */ sw $v0, 0x70($s1) +.L80241078: +/* C77D58 80241078 8FBF0018 */ lw $ra, 0x18($sp) +/* C77D5C 8024107C 8FB10014 */ lw $s1, 0x14($sp) +/* C77D60 80241080 8FB00010 */ lw $s0, 0x10($sp) +/* C77D64 80241084 03E00008 */ jr $ra +/* C77D68 80241088 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024108C_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024108C_C76CE0.s new file mode 100644 index 0000000000..62a8f3ea01 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024108C_C76CE0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024108C_C77D6C +/* C77D6C 8024108C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C77D70 80241090 AFB10014 */ sw $s1, 0x14($sp) +/* C77D74 80241094 0080882D */ daddu $s1, $a0, $zero +/* C77D78 80241098 AFBF0018 */ sw $ra, 0x18($sp) +/* C77D7C 8024109C AFB00010 */ sw $s0, 0x10($sp) +/* C77D80 802410A0 8E300148 */ lw $s0, 0x148($s1) +/* C77D84 802410A4 0C00EABB */ jal get_npc_unsafe +/* C77D88 802410A8 86040008 */ lh $a0, 8($s0) +/* C77D8C 802410AC 0040202D */ daddu $a0, $v0, $zero +/* C77D90 802410B0 9482008E */ lhu $v0, 0x8e($a0) +/* C77D94 802410B4 2442FFFF */ addiu $v0, $v0, -1 +/* C77D98 802410B8 A482008E */ sh $v0, 0x8e($a0) +/* C77D9C 802410BC 00021400 */ sll $v0, $v0, 0x10 +/* C77DA0 802410C0 1C400009 */ bgtz $v0, .L802410E8 +/* C77DA4 802410C4 24020003 */ addiu $v0, $zero, 3 +/* C77DA8 802410C8 96030076 */ lhu $v1, 0x76($s0) +/* C77DAC 802410CC AE02006C */ sw $v0, 0x6c($s0) +/* C77DB0 802410D0 A483008E */ sh $v1, 0x8e($a0) +/* C77DB4 802410D4 8E0200CC */ lw $v0, 0xcc($s0) +/* C77DB8 802410D8 8C420024 */ lw $v0, 0x24($v0) +/* C77DBC 802410DC AC820028 */ sw $v0, 0x28($a0) +/* C77DC0 802410E0 24020020 */ addiu $v0, $zero, 0x20 +/* C77DC4 802410E4 AE220070 */ sw $v0, 0x70($s1) +.L802410E8: +/* C77DC8 802410E8 8FBF0018 */ lw $ra, 0x18($sp) +/* C77DCC 802410EC 8FB10014 */ lw $s1, 0x14($sp) +/* C77DD0 802410F0 8FB00010 */ lw $s0, 0x10($sp) +/* C77DD4 802410F4 03E00008 */ jr $ra +/* C77DD8 802410F8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802410FC_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802410FC_C76CE0.s new file mode 100644 index 0000000000..8be24ee035 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802410FC_C76CE0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410FC_C77DDC +/* C77DDC 802410FC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C77DE0 80241100 AFB10034 */ sw $s1, 0x34($sp) +/* C77DE4 80241104 0080882D */ daddu $s1, $a0, $zero +/* C77DE8 80241108 AFBF0038 */ sw $ra, 0x38($sp) +/* C77DEC 8024110C AFB00030 */ sw $s0, 0x30($sp) +/* C77DF0 80241110 8E300148 */ lw $s0, 0x148($s1) +/* C77DF4 80241114 0C00EABB */ jal get_npc_unsafe +/* C77DF8 80241118 86040008 */ lh $a0, 8($s0) +/* C77DFC 8024111C 0040282D */ daddu $a1, $v0, $zero +/* C77E00 80241120 94A2008E */ lhu $v0, 0x8e($a1) +/* C77E04 80241124 2442FFFF */ addiu $v0, $v0, -1 +/* C77E08 80241128 A4A2008E */ sh $v0, 0x8e($a1) +/* C77E0C 8024112C 00021400 */ sll $v0, $v0, 0x10 +/* C77E10 80241130 1C400023 */ bgtz $v0, .L802411C0 +/* C77E14 80241134 24020004 */ addiu $v0, $zero, 4 +/* C77E18 80241138 8E0300CC */ lw $v1, 0xcc($s0) +/* C77E1C 8024113C AE02006C */ sw $v0, 0x6c($s0) +/* C77E20 80241140 8C620000 */ lw $v0, ($v1) +/* C77E24 80241144 ACA20028 */ sw $v0, 0x28($a1) +/* C77E28 80241148 9602007A */ lhu $v0, 0x7a($s0) +/* C77E2C 8024114C A4A2008E */ sh $v0, 0x8e($a1) +/* C77E30 80241150 8E020078 */ lw $v0, 0x78($s0) +/* C77E34 80241154 28420008 */ slti $v0, $v0, 8 +/* C77E38 80241158 14400018 */ bnez $v0, .L802411BC +/* C77E3C 8024115C 24020021 */ addiu $v0, $zero, 0x21 +/* C77E40 80241160 24040003 */ addiu $a0, $zero, 3 +/* C77E44 80241164 27A30028 */ addiu $v1, $sp, 0x28 +/* C77E48 80241168 84A700A8 */ lh $a3, 0xa8($a1) +/* C77E4C 8024116C 3C013F80 */ lui $at, 0x3f80 +/* C77E50 80241170 44810000 */ mtc1 $at, $f0 +/* C77E54 80241174 3C014000 */ lui $at, 0x4000 +/* C77E58 80241178 44811000 */ mtc1 $at, $f2 +/* C77E5C 8024117C 3C01C1A0 */ lui $at, 0xc1a0 +/* C77E60 80241180 44812000 */ mtc1 $at, $f4 +/* C77E64 80241184 44873000 */ mtc1 $a3, $f6 +/* C77E68 80241188 00000000 */ nop +/* C77E6C 8024118C 468031A0 */ cvt.s.w $f6, $f6 +/* C77E70 80241190 E7A00010 */ swc1 $f0, 0x10($sp) +/* C77E74 80241194 E7A20014 */ swc1 $f2, 0x14($sp) +/* C77E78 80241198 E7A40018 */ swc1 $f4, 0x18($sp) +/* C77E7C 8024119C 8E020078 */ lw $v0, 0x78($s0) +/* C77E80 802411A0 44073000 */ mfc1 $a3, $f6 +/* C77E84 802411A4 0000302D */ daddu $a2, $zero, $zero +/* C77E88 802411A8 AFA30020 */ sw $v1, 0x20($sp) +/* C77E8C 802411AC 2442FFFF */ addiu $v0, $v0, -1 +/* C77E90 802411B0 0C01BFA4 */ jal fx_emote +/* C77E94 802411B4 AFA2001C */ sw $v0, 0x1c($sp) +/* C77E98 802411B8 24020021 */ addiu $v0, $zero, 0x21 +.L802411BC: +/* C77E9C 802411BC AE220070 */ sw $v0, 0x70($s1) +.L802411C0: +/* C77EA0 802411C0 8FBF0038 */ lw $ra, 0x38($sp) +/* C77EA4 802411C4 8FB10034 */ lw $s1, 0x34($sp) +/* C77EA8 802411C8 8FB00030 */ lw $s0, 0x30($sp) +/* C77EAC 802411CC 03E00008 */ jr $ra +/* C77EB0 802411D0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802411D4.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802411D4.s new file mode 100644 index 0000000000..d1c3835fd4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802411D4.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D4 +/* C77EB4 802411D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C77EB8 802411D8 AFB10014 */ sw $s1, 0x14($sp) +/* C77EBC 802411DC 0080882D */ daddu $s1, $a0, $zero +/* C77EC0 802411E0 AFBF0018 */ sw $ra, 0x18($sp) +/* C77EC4 802411E4 AFB00010 */ sw $s0, 0x10($sp) +/* C77EC8 802411E8 8E300148 */ lw $s0, 0x148($s1) +/* C77ECC 802411EC 0C00EABB */ jal get_npc_unsafe +/* C77ED0 802411F0 86040008 */ lh $a0, 8($s0) +/* C77ED4 802411F4 9443008E */ lhu $v1, 0x8e($v0) +/* C77ED8 802411F8 2463FFFF */ addiu $v1, $v1, -1 +/* C77EDC 802411FC A443008E */ sh $v1, 0x8e($v0) +/* C77EE0 80241200 00031C00 */ sll $v1, $v1, 0x10 +/* C77EE4 80241204 1C600003 */ bgtz $v1, .L80241214 +/* C77EE8 80241208 2402000C */ addiu $v0, $zero, 0xc +/* C77EEC 8024120C AE00006C */ sw $zero, 0x6c($s0) +/* C77EF0 80241210 AE220070 */ sw $v0, 0x70($s1) +.L80241214: +/* C77EF4 80241214 8FBF0018 */ lw $ra, 0x18($sp) +/* C77EF8 80241218 8FB10014 */ lw $s1, 0x14($sp) +/* C77EFC 8024121C 8FB00010 */ lw $s0, 0x10($sp) +/* C77F00 80241220 03E00008 */ jr $ra +/* C77F04 80241224 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80241228_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241228_C76CE0.s new file mode 100644 index 0000000000..3f21a55c9f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241228_C76CE0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241228_C77F08 +/* C77F08 80241228 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C77F0C 8024122C AFBF0024 */ sw $ra, 0x24($sp) +/* C77F10 80241230 AFB40020 */ sw $s4, 0x20($sp) +/* C77F14 80241234 AFB3001C */ sw $s3, 0x1c($sp) +/* C77F18 80241238 AFB20018 */ sw $s2, 0x18($sp) +/* C77F1C 8024123C AFB10014 */ sw $s1, 0x14($sp) +/* C77F20 80241240 AFB00010 */ sw $s0, 0x10($sp) +/* C77F24 80241244 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C77F28 80241248 8C900148 */ lw $s0, 0x148($a0) +/* C77F2C 8024124C 86040008 */ lh $a0, 8($s0) +/* C77F30 80241250 0C00EABB */ jal get_npc_unsafe +/* C77F34 80241254 24110001 */ addiu $s1, $zero, 1 +/* C77F38 80241258 86040008 */ lh $a0, 8($s0) +/* C77F3C 8024125C 0040802D */ daddu $s0, $v0, $zero +/* C77F40 80241260 3C05800B */ lui $a1, %hi(gCameras) +/* C77F44 80241264 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C77F48 80241268 3C03800A */ lui $v1, 0x800a +/* C77F4C 8024126C 8463A634 */ lh $v1, -0x59cc($v1) +/* C77F50 80241270 00912021 */ addu $a0, $a0, $s1 +/* C77F54 80241274 00031080 */ sll $v0, $v1, 2 +/* C77F58 80241278 00431021 */ addu $v0, $v0, $v1 +/* C77F5C 8024127C 00021080 */ sll $v0, $v0, 2 +/* C77F60 80241280 00431023 */ subu $v0, $v0, $v1 +/* C77F64 80241284 000218C0 */ sll $v1, $v0, 3 +/* C77F68 80241288 00431021 */ addu $v0, $v0, $v1 +/* C77F6C 8024128C 000210C0 */ sll $v0, $v0, 3 +/* C77F70 80241290 0C00FB3A */ jal get_enemy +/* C77F74 80241294 00459021 */ addu $s2, $v0, $a1 +/* C77F78 80241298 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C77F7C 8024129C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C77F80 802412A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C77F84 802412A4 8E830000 */ lw $v1, ($s4) +/* C77F88 802412A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C77F8C 802412AC 8C660028 */ lw $a2, 0x28($v1) +/* C77F90 802412B0 8C670030 */ lw $a3, 0x30($v1) +/* C77F94 802412B4 0C00A7B5 */ jal dist2D +/* C77F98 802412B8 0040982D */ daddu $s3, $v0, $zero +/* C77F9C 802412BC C6620074 */ lwc1 $f2, 0x74($s3) +/* C77FA0 802412C0 468010A0 */ cvt.s.w $f2, $f2 +/* C77FA4 802412C4 4600103C */ c.lt.s $f2, $f0 +/* C77FA8 802412C8 00000000 */ nop +/* C77FAC 802412CC 45030001 */ bc1tl .L802412D4 +/* C77FB0 802412D0 0000882D */ daddu $s1, $zero, $zero +.L802412D4: +/* C77FB4 802412D4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C77FB8 802412D8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C77FBC 802412DC 3C014387 */ lui $at, 0x4387 +/* C77FC0 802412E0 4481A000 */ mtc1 $at, $f20 +/* C77FC4 802412E4 0C00A70A */ jal get_clamped_angle_diff +/* C77FC8 802412E8 00000000 */ nop +/* C77FCC 802412EC 0C00A6C9 */ jal clamp_angle +/* C77FD0 802412F0 46000306 */ mov.s $f12, $f0 +/* C77FD4 802412F4 3C018024 */ lui $at, 0x8024 +/* C77FD8 802412F8 D4227270 */ ldc1 $f2, 0x7270($at) +/* C77FDC 802412FC 46000021 */ cvt.d.s $f0, $f0 +/* C77FE0 80241300 4622003C */ c.lt.d $f0, $f2 +/* C77FE4 80241304 00000000 */ nop +/* C77FE8 80241308 45000003 */ bc1f .L80241318 +/* C77FEC 8024130C 00000000 */ nop +/* C77FF0 80241310 3C0142B4 */ lui $at, 0x42b4 +/* C77FF4 80241314 4481A000 */ mtc1 $at, $f20 +.L80241318: +/* C77FF8 80241318 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C77FFC 8024131C 8E820000 */ lw $v0, ($s4) +/* C78000 80241320 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C78004 80241324 8C460028 */ lw $a2, 0x28($v0) +/* C78008 80241328 0C00A720 */ jal atan2 +/* C7800C 8024132C 8C470030 */ lw $a3, 0x30($v0) +/* C78010 80241330 4600A306 */ mov.s $f12, $f20 +/* C78014 80241334 0C00A70A */ jal get_clamped_angle_diff +/* C78018 80241338 46000386 */ mov.s $f14, $f0 +/* C7801C 8024133C C6620078 */ lwc1 $f2, 0x78($s3) +/* C78020 80241340 468010A0 */ cvt.s.w $f2, $f2 +/* C78024 80241344 46000005 */ abs.s $f0, $f0 +/* C78028 80241348 4600103C */ c.lt.s $f2, $f0 +/* C7802C 8024134C 00000000 */ nop +/* C78030 80241350 45030001 */ bc1tl .L80241358 +/* C78034 80241354 0000882D */ daddu $s1, $zero, $zero +.L80241358: +/* C78038 80241358 8E820000 */ lw $v0, ($s4) +/* C7803C 8024135C C600003C */ lwc1 $f0, 0x3c($s0) +/* C78040 80241360 C442002C */ lwc1 $f2, 0x2c($v0) +/* C78044 80241364 860200A8 */ lh $v0, 0xa8($s0) +/* C78048 80241368 46020001 */ sub.s $f0, $f0, $f2 +/* C7804C 8024136C 44821000 */ mtc1 $v0, $f2 +/* C78050 80241370 00000000 */ nop +/* C78054 80241374 468010A1 */ cvt.d.w $f2, $f2 +/* C78058 80241378 46221080 */ add.d $f2, $f2, $f2 +/* C7805C 8024137C 46000005 */ abs.s $f0, $f0 +/* C78060 80241380 46000021 */ cvt.d.s $f0, $f0 +/* C78064 80241384 4620103E */ c.le.d $f2, $f0 +/* C78068 80241388 00000000 */ nop +/* C7806C 8024138C 45030001 */ bc1tl .L80241394 +/* C78070 80241390 0000882D */ daddu $s1, $zero, $zero +.L80241394: +/* C78074 80241394 3C038011 */ lui $v1, 0x8011 +/* C78078 80241398 8063EBB3 */ lb $v1, -0x144d($v1) +/* C7807C 8024139C 24020009 */ addiu $v0, $zero, 9 +/* C78080 802413A0 50620001 */ beql $v1, $v0, .L802413A8 +/* C78084 802413A4 0000882D */ daddu $s1, $zero, $zero +.L802413A8: +/* C78088 802413A8 24020007 */ addiu $v0, $zero, 7 +/* C7808C 802413AC 50620001 */ beql $v1, $v0, .L802413B4 +/* C78090 802413B0 0000882D */ daddu $s1, $zero, $zero +.L802413B4: +/* C78094 802413B4 0220102D */ daddu $v0, $s1, $zero +/* C78098 802413B8 8FBF0024 */ lw $ra, 0x24($sp) +/* C7809C 802413BC 8FB40020 */ lw $s4, 0x20($sp) +/* C780A0 802413C0 8FB3001C */ lw $s3, 0x1c($sp) +/* C780A4 802413C4 8FB20018 */ lw $s2, 0x18($sp) +/* C780A8 802413C8 8FB10014 */ lw $s1, 0x14($sp) +/* C780AC 802413CC 8FB00010 */ lw $s0, 0x10($sp) +/* C780B0 802413D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C780B4 802413D4 03E00008 */ jr $ra +/* C780B8 802413D8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802413DC.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802413DC.s new file mode 100644 index 0000000000..fb5f645751 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802413DC.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413DC +/* C780BC 802413DC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C780C0 802413E0 AFB40028 */ sw $s4, 0x28($sp) +/* C780C4 802413E4 0080A02D */ daddu $s4, $a0, $zero +/* C780C8 802413E8 AFBF002C */ sw $ra, 0x2c($sp) +/* C780CC 802413EC AFB30024 */ sw $s3, 0x24($sp) +/* C780D0 802413F0 AFB20020 */ sw $s2, 0x20($sp) +/* C780D4 802413F4 AFB1001C */ sw $s1, 0x1c($sp) +/* C780D8 802413F8 AFB00018 */ sw $s0, 0x18($sp) +/* C780DC 802413FC 8E910148 */ lw $s1, 0x148($s4) +/* C780E0 80241400 86240008 */ lh $a0, 8($s1) +/* C780E4 80241404 0C00EABB */ jal get_npc_unsafe +/* C780E8 80241408 00A0802D */ daddu $s0, $a1, $zero +/* C780EC 8024140C 16000005 */ bnez $s0, .L80241424 +/* C780F0 80241410 0040902D */ daddu $s2, $v0, $zero +/* C780F4 80241414 8E2200B0 */ lw $v0, 0xb0($s1) +/* C780F8 80241418 30420004 */ andi $v0, $v0, 4 +/* C780FC 8024141C 10400015 */ beqz $v0, .L80241474 +/* C78100 80241420 00000000 */ nop +.L80241424: +/* C78104 80241424 AE800070 */ sw $zero, 0x70($s4) +/* C78108 80241428 8E420000 */ lw $v0, ($s2) +/* C7810C 8024142C 3C031F30 */ lui $v1, 0x1f30 +/* C78110 80241430 A640008E */ sh $zero, 0x8e($s2) +/* C78114 80241434 34420102 */ ori $v0, $v0, 0x102 +/* C78118 80241438 AE420000 */ sw $v0, ($s2) +/* C7811C 8024143C 8E220000 */ lw $v0, ($s1) +/* C78120 80241440 3C01C47A */ lui $at, 0xc47a +/* C78124 80241444 44810000 */ mtc1 $at, $f0 +/* C78128 80241448 00431025 */ or $v0, $v0, $v1 +/* C7812C 8024144C AE220000 */ sw $v0, ($s1) +/* C78130 80241450 AE400038 */ sw $zero, 0x38($s2) +/* C78134 80241454 E640003C */ swc1 $f0, 0x3c($s2) +/* C78138 80241458 AE400040 */ sw $zero, 0x40($s2) +/* C7813C 8024145C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C78140 80241460 30620004 */ andi $v0, $v1, 4 +/* C78144 80241464 10400003 */ beqz $v0, .L80241474 +/* C78148 80241468 2402FFFB */ addiu $v0, $zero, -5 +/* C7814C 8024146C 00621024 */ and $v0, $v1, $v0 +/* C78150 80241470 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241474: +/* C78154 80241474 8E930070 */ lw $s3, 0x70($s4) +/* C78158 80241478 12600005 */ beqz $s3, .L80241490 +/* C7815C 8024147C 24020001 */ addiu $v0, $zero, 1 +/* C78160 80241480 12620048 */ beq $s3, $v0, .L802415A4 +/* C78164 80241484 00000000 */ nop +/* C78168 80241488 08090586 */ j .L80241618 +/* C7816C 8024148C 00000000 */ nop +.L80241490: +/* C78170 80241490 86240008 */ lh $a0, 8($s1) +/* C78174 80241494 0C00FB3A */ jal get_enemy +/* C78178 80241498 2484FFFF */ addiu $a0, $a0, -1 +/* C7817C 8024149C 0040802D */ daddu $s0, $v0, $zero +/* C78180 802414A0 0C00EABB */ jal get_npc_unsafe +/* C78184 802414A4 86040008 */ lh $a0, 8($s0) +/* C78188 802414A8 24030001 */ addiu $v1, $zero, 1 +/* C7818C 802414AC 0040982D */ daddu $s3, $v0, $zero +/* C78190 802414B0 A2230007 */ sb $v1, 7($s1) +/* C78194 802414B4 8E03006C */ lw $v1, 0x6c($s0) +/* C78198 802414B8 24020003 */ addiu $v0, $zero, 3 +/* C7819C 802414BC 14620056 */ bne $v1, $v0, .L80241618 +/* C781A0 802414C0 00000000 */ nop +/* C781A4 802414C4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C781A8 802414C8 10A00003 */ beqz $a1, .L802414D8 +/* C781AC 802414CC 0260202D */ daddu $a0, $s3, $zero +/* C781B0 802414D0 0C012530 */ jal func_800494C0 +/* C781B4 802414D4 0000302D */ daddu $a2, $zero, $zero +.L802414D8: +/* C781B8 802414D8 27A40010 */ addiu $a0, $sp, 0x10 +/* C781BC 802414DC C6280070 */ lwc1 $f8, 0x70($s1) +/* C781C0 802414E0 46804220 */ cvt.s.w $f8, $f8 +/* C781C4 802414E4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C781C8 802414E8 3C014387 */ lui $at, 0x4387 +/* C781CC 802414EC 44810000 */ mtc1 $at, $f0 +/* C781D0 802414F0 44064000 */ mfc1 $a2, $f8 +/* C781D4 802414F4 46020001 */ sub.s $f0, $f0, $f2 +/* C781D8 802414F8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C781DC 802414FC C6640040 */ lwc1 $f4, 0x40($s3) +/* C781E0 80241500 44070000 */ mfc1 $a3, $f0 +/* C781E4 80241504 27A50014 */ addiu $a1, $sp, 0x14 +/* C781E8 80241508 E7A60010 */ swc1 $f6, 0x10($sp) +/* C781EC 8024150C 0C00A7E7 */ jal add_vec2D_polar +/* C781F0 80241510 E7A40014 */ swc1 $f4, 0x14($sp) +/* C781F4 80241514 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C781F8 80241518 4600020D */ trunc.w.s $f8, $f0 +/* C781FC 8024151C 44024000 */ mfc1 $v0, $f8 +/* C78200 80241520 E6400038 */ swc1 $f0, 0x38($s2) +/* C78204 80241524 A6220010 */ sh $v0, 0x10($s1) +/* C78208 80241528 C660003C */ lwc1 $f0, 0x3c($s3) +/* C7820C 8024152C C622006C */ lwc1 $f2, 0x6c($s1) +/* C78210 80241530 468010A0 */ cvt.s.w $f2, $f2 +/* C78214 80241534 46020000 */ add.s $f0, $f0, $f2 +/* C78218 80241538 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C7821C 8024153C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C78220 80241540 E640003C */ swc1 $f0, 0x3c($s2) +/* C78224 80241544 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C78228 80241548 4600020D */ trunc.w.s $f8, $f0 +/* C7822C 8024154C 44024000 */ mfc1 $v0, $f8 +/* C78230 80241550 00000000 */ nop +/* C78234 80241554 A6220012 */ sh $v0, 0x12($s1) +/* C78238 80241558 4600120D */ trunc.w.s $f8, $f2 +/* C7823C 8024155C 44024000 */ mfc1 $v0, $f8 +/* C78240 80241560 E6420040 */ swc1 $f2, 0x40($s2) +/* C78244 80241564 A6220014 */ sh $v0, 0x14($s1) +/* C78248 80241568 8C660028 */ lw $a2, 0x28($v1) +/* C7824C 8024156C 8C670030 */ lw $a3, 0x30($v1) +/* C78250 80241570 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C78254 80241574 0C00A720 */ jal atan2 +/* C78258 80241578 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C7825C 8024157C 3C03E0EF */ lui $v1, 0xe0ef +/* C78260 80241580 E640000C */ swc1 $f0, 0xc($s2) +/* C78264 80241584 8E220000 */ lw $v0, ($s1) +/* C78268 80241588 3463FFFF */ ori $v1, $v1, 0xffff +/* C7826C 8024158C 00431024 */ and $v0, $v0, $v1 +/* C78270 80241590 AE220000 */ sw $v0, ($s1) +/* C78274 80241594 24020001 */ addiu $v0, $zero, 1 +/* C78278 80241598 A640008E */ sh $zero, 0x8e($s2) +/* C7827C 8024159C 08090586 */ j .L80241618 +/* C78280 802415A0 AE820070 */ sw $v0, 0x70($s4) +.L802415A4: +/* C78284 802415A4 86240008 */ lh $a0, 8($s1) +/* C78288 802415A8 0C00FB3A */ jal get_enemy +/* C7828C 802415AC 2484FFFF */ addiu $a0, $a0, -1 +/* C78290 802415B0 0040802D */ daddu $s0, $v0, $zero +/* C78294 802415B4 0C00EABB */ jal get_npc_unsafe +/* C78298 802415B8 86040008 */ lh $a0, 8($s0) +/* C7829C 802415BC 9642008E */ lhu $v0, 0x8e($s2) +/* C782A0 802415C0 24420001 */ addiu $v0, $v0, 1 +/* C782A4 802415C4 A642008E */ sh $v0, 0x8e($s2) +/* C782A8 802415C8 00021400 */ sll $v0, $v0, 0x10 +/* C782AC 802415CC 8E23007C */ lw $v1, 0x7c($s1) +/* C782B0 802415D0 00021403 */ sra $v0, $v0, 0x10 +/* C782B4 802415D4 0043102A */ slt $v0, $v0, $v1 +/* C782B8 802415D8 50400001 */ beql $v0, $zero, .L802415E0 +/* C782BC 802415DC A2200007 */ sb $zero, 7($s1) +.L802415E0: +/* C782C0 802415E0 8E03006C */ lw $v1, 0x6c($s0) +/* C782C4 802415E4 24020004 */ addiu $v0, $zero, 4 +/* C782C8 802415E8 1462000B */ bne $v1, $v0, .L80241618 +/* C782CC 802415EC 3C021F10 */ lui $v0, 0x1f10 +/* C782D0 802415F0 8E230000 */ lw $v1, ($s1) +/* C782D4 802415F4 3C01C47A */ lui $at, 0xc47a +/* C782D8 802415F8 44810000 */ mtc1 $at, $f0 +/* C782DC 802415FC 00621825 */ or $v1, $v1, $v0 +/* C782E0 80241600 AE230000 */ sw $v1, ($s1) +/* C782E4 80241604 AE400038 */ sw $zero, 0x38($s2) +/* C782E8 80241608 E640003C */ swc1 $f0, 0x3c($s2) +/* C782EC 8024160C AE400040 */ sw $zero, 0x40($s2) +/* C782F0 80241610 A2330007 */ sb $s3, 7($s1) +/* C782F4 80241614 AE800070 */ sw $zero, 0x70($s4) +.L80241618: +/* C782F8 80241618 8FBF002C */ lw $ra, 0x2c($sp) +/* C782FC 8024161C 8FB40028 */ lw $s4, 0x28($sp) +/* C78300 80241620 8FB30024 */ lw $s3, 0x24($sp) +/* C78304 80241624 8FB20020 */ lw $s2, 0x20($sp) +/* C78308 80241628 8FB1001C */ lw $s1, 0x1c($sp) +/* C7830C 8024162C 8FB00018 */ lw $s0, 0x18($sp) +/* C78310 80241630 0000102D */ daddu $v0, $zero, $zero +/* C78314 80241634 03E00008 */ jr $ra +/* C78318 80241638 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024163C.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024163C.s new file mode 100644 index 0000000000..86bfb6ab26 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024163C.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024163C +/* C7831C 8024163C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C78320 80241640 AFB20038 */ sw $s2, 0x38($sp) +/* C78324 80241644 0080902D */ daddu $s2, $a0, $zero +/* C78328 80241648 AFBF0048 */ sw $ra, 0x48($sp) +/* C7832C 8024164C AFB50044 */ sw $s5, 0x44($sp) +/* C78330 80241650 AFB40040 */ sw $s4, 0x40($sp) +/* C78334 80241654 AFB3003C */ sw $s3, 0x3c($sp) +/* C78338 80241658 AFB10034 */ sw $s1, 0x34($sp) +/* C7833C 8024165C AFB00030 */ sw $s0, 0x30($sp) +/* C78340 80241660 8E510148 */ lw $s1, 0x148($s2) +/* C78344 80241664 86240008 */ lh $a0, 8($s1) +/* C78348 80241668 0C00EABB */ jal get_npc_unsafe +/* C7834C 8024166C 00A0802D */ daddu $s0, $a1, $zero +/* C78350 80241670 8E43000C */ lw $v1, 0xc($s2) +/* C78354 80241674 0240202D */ daddu $a0, $s2, $zero +/* C78358 80241678 8C650000 */ lw $a1, ($v1) +/* C7835C 8024167C 0C0B1EAF */ jal get_variable +/* C78360 80241680 0040A82D */ daddu $s5, $v0, $zero +/* C78364 80241684 AFA00010 */ sw $zero, 0x10($sp) +/* C78368 80241688 8E2300D0 */ lw $v1, 0xd0($s1) +/* C7836C 8024168C 8C630030 */ lw $v1, 0x30($v1) +/* C78370 80241690 AFA30014 */ sw $v1, 0x14($sp) +/* C78374 80241694 8E2300D0 */ lw $v1, 0xd0($s1) +/* C78378 80241698 8C63001C */ lw $v1, 0x1c($v1) +/* C7837C 8024169C AFA30018 */ sw $v1, 0x18($sp) +/* C78380 802416A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C78384 802416A4 8C630024 */ lw $v1, 0x24($v1) +/* C78388 802416A8 AFA3001C */ sw $v1, 0x1c($sp) +/* C7838C 802416AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C78390 802416B0 8C630028 */ lw $v1, 0x28($v1) +/* C78394 802416B4 27B40010 */ addiu $s4, $sp, 0x10 +/* C78398 802416B8 AFA30020 */ sw $v1, 0x20($sp) +/* C7839C 802416BC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C783A0 802416C0 3C014282 */ lui $at, 0x4282 +/* C783A4 802416C4 44810000 */ mtc1 $at, $f0 +/* C783A8 802416C8 8C63002C */ lw $v1, 0x2c($v1) +/* C783AC 802416CC 0040982D */ daddu $s3, $v0, $zero +/* C783B0 802416D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C783B4 802416D4 A7A0002C */ sh $zero, 0x2c($sp) +/* C783B8 802416D8 16000005 */ bnez $s0, .L802416F0 +/* C783BC 802416DC AFA30024 */ sw $v1, 0x24($sp) +/* C783C0 802416E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C783C4 802416E4 30420004 */ andi $v0, $v0, 4 +/* C783C8 802416E8 10400020 */ beqz $v0, .L8024176C +/* C783CC 802416EC 00000000 */ nop +.L802416F0: +/* C783D0 802416F0 2404F7FF */ addiu $a0, $zero, -0x801 +/* C783D4 802416F4 AE400070 */ sw $zero, 0x70($s2) +/* C783D8 802416F8 A6A0008E */ sh $zero, 0x8e($s5) +/* C783DC 802416FC 8E2200CC */ lw $v0, 0xcc($s1) +/* C783E0 80241700 8EA30000 */ lw $v1, ($s5) +/* C783E4 80241704 8C420000 */ lw $v0, ($v0) +/* C783E8 80241708 00641824 */ and $v1, $v1, $a0 +/* C783EC 8024170C AEA30000 */ sw $v1, ($s5) +/* C783F0 80241710 AEA20028 */ sw $v0, 0x28($s5) +/* C783F4 80241714 8E2200D0 */ lw $v0, 0xd0($s1) +/* C783F8 80241718 8C420034 */ lw $v0, 0x34($v0) +/* C783FC 8024171C 54400005 */ bnel $v0, $zero, .L80241734 +/* C78400 80241720 2402FDFF */ addiu $v0, $zero, -0x201 +/* C78404 80241724 34620200 */ ori $v0, $v1, 0x200 +/* C78408 80241728 2403FFF7 */ addiu $v1, $zero, -9 +/* C7840C 8024172C 080905CF */ j .L8024173C +/* C78410 80241730 00431024 */ and $v0, $v0, $v1 +.L80241734: +/* C78414 80241734 00621024 */ and $v0, $v1, $v0 +/* C78418 80241738 34420008 */ ori $v0, $v0, 8 +.L8024173C: +/* C7841C 8024173C AEA20000 */ sw $v0, ($s5) +/* C78420 80241740 8E2200B0 */ lw $v0, 0xb0($s1) +/* C78424 80241744 30420004 */ andi $v0, $v0, 4 +/* C78428 80241748 10400007 */ beqz $v0, .L80241768 +/* C7842C 8024174C 24020063 */ addiu $v0, $zero, 0x63 +/* C78430 80241750 AE420070 */ sw $v0, 0x70($s2) +/* C78434 80241754 AE400074 */ sw $zero, 0x74($s2) +/* C78438 80241758 8E2200B0 */ lw $v0, 0xb0($s1) +/* C7843C 8024175C 2403FFFB */ addiu $v1, $zero, -5 +/* C78440 80241760 00431024 */ and $v0, $v0, $v1 +/* C78444 80241764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241768: +/* C78448 80241768 AE20006C */ sw $zero, 0x6c($s1) +.L8024176C: +/* C7844C 8024176C 8E420070 */ lw $v0, 0x70($s2) +/* C78450 80241770 2842001E */ slti $v0, $v0, 0x1e +/* C78454 80241774 10400009 */ beqz $v0, .L8024179C +/* C78458 80241778 00000000 */ nop +/* C7845C 8024177C 8E22006C */ lw $v0, 0x6c($s1) +/* C78460 80241780 14400006 */ bnez $v0, .L8024179C +/* C78464 80241784 00000000 */ nop +/* C78468 80241788 0C09048A */ jal func_80241228 +/* C7846C 8024178C 0240202D */ daddu $a0, $s2, $zero +/* C78470 80241790 10400002 */ beqz $v0, .L8024179C +/* C78474 80241794 2402001E */ addiu $v0, $zero, 0x1e +/* C78478 80241798 AE420070 */ sw $v0, 0x70($s2) +.L8024179C: +/* C7847C 8024179C 8E430070 */ lw $v1, 0x70($s2) +/* C78480 802417A0 2C620064 */ sltiu $v0, $v1, 0x64 +/* C78484 802417A4 10400048 */ beqz $v0, .L802418C8 +/* C78488 802417A8 00031080 */ sll $v0, $v1, 2 +/* C7848C 802417AC 3C018024 */ lui $at, 0x8024 +/* C78490 802417B0 00220821 */ addu $at, $at, $v0 +/* C78494 802417B4 8C227278 */ lw $v0, 0x7278($at) +/* C78498 802417B8 00400008 */ jr $v0 +/* C7849C 802417BC 00000000 */ nop +/* C784A0 802417C0 0240202D */ daddu $a0, $s2, $zero +/* C784A4 802417C4 0260282D */ daddu $a1, $s3, $zero +/* C784A8 802417C8 0C012568 */ jal func_800495A0 +/* C784AC 802417CC 0280302D */ daddu $a2, $s4, $zero +/* C784B0 802417D0 0240202D */ daddu $a0, $s2, $zero +/* C784B4 802417D4 0260282D */ daddu $a1, $s3, $zero +/* C784B8 802417D8 0C0125AE */ jal func_800496B8 +/* C784BC 802417DC 0280302D */ daddu $a2, $s4, $zero +/* C784C0 802417E0 08090632 */ j .L802418C8 +/* C784C4 802417E4 00000000 */ nop +/* C784C8 802417E8 0240202D */ daddu $a0, $s2, $zero +/* C784CC 802417EC 0260282D */ daddu $a1, $s3, $zero +/* C784D0 802417F0 0C0126D1 */ jal func_80049B44 +/* C784D4 802417F4 0280302D */ daddu $a2, $s4, $zero +/* C784D8 802417F8 0240202D */ daddu $a0, $s2, $zero +/* C784DC 802417FC 0260282D */ daddu $a1, $s3, $zero +/* C784E0 80241800 0C012701 */ jal func_80049C04 +/* C784E4 80241804 0280302D */ daddu $a2, $s4, $zero +/* C784E8 80241808 08090632 */ j .L802418C8 +/* C784EC 8024180C 00000000 */ nop +/* C784F0 80241810 0240202D */ daddu $a0, $s2, $zero +/* C784F4 80241814 0260282D */ daddu $a1, $s3, $zero +/* C784F8 80241818 0C01278F */ jal func_80049E3C +/* C784FC 8024181C 0280302D */ daddu $a2, $s4, $zero +/* C78500 80241820 0240202D */ daddu $a0, $s2, $zero +/* C78504 80241824 0260282D */ daddu $a1, $s3, $zero +/* C78508 80241828 0C0127B3 */ jal func_80049ECC +/* C7850C 8024182C 0280302D */ daddu $a2, $s4, $zero +/* C78510 80241830 08090632 */ j .L802418C8 +/* C78514 80241834 00000000 */ nop +/* C78518 80241838 0240202D */ daddu $a0, $s2, $zero +/* C7851C 8024183C 0260282D */ daddu $a1, $s3, $zero +/* C78520 80241840 0C0127DF */ jal func_80049F7C +/* C78524 80241844 0280302D */ daddu $a2, $s4, $zero +/* C78528 80241848 0240202D */ daddu $a0, $s2, $zero +/* C7852C 8024184C 0260282D */ daddu $a1, $s3, $zero +/* C78530 80241850 0C012849 */ jal func_8004A124 +/* C78534 80241854 0280302D */ daddu $a2, $s4, $zero +/* C78538 80241858 08090632 */ j .L802418C8 +/* C7853C 8024185C 00000000 */ nop +/* C78540 80241860 0240202D */ daddu $a0, $s2, $zero +/* C78544 80241864 0260282D */ daddu $a1, $s3, $zero +/* C78548 80241868 0C0128FA */ jal func_8004A3E8 +/* C7854C 8024186C 0280302D */ daddu $a2, $s4, $zero +/* C78550 80241870 08090632 */ j .L802418C8 +/* C78554 80241874 00000000 */ nop +/* C78558 80241878 0C090408 */ jal func_80241020 +/* C7855C 8024187C 0240202D */ daddu $a0, $s2, $zero +/* C78560 80241880 0C090423 */ jal func_8024108C +/* C78564 80241884 0240202D */ daddu $a0, $s2, $zero +/* C78568 80241888 8E430070 */ lw $v1, 0x70($s2) +/* C7856C 8024188C 24020020 */ addiu $v0, $zero, 0x20 +/* C78570 80241890 1462000D */ bne $v1, $v0, .L802418C8 +/* C78574 80241894 00000000 */ nop +/* C78578 80241898 0C09043F */ jal func_802410FC +/* C7857C 8024189C 0240202D */ daddu $a0, $s2, $zero +/* C78580 802418A0 8E430070 */ lw $v1, 0x70($s2) +/* C78584 802418A4 24020021 */ addiu $v0, $zero, 0x21 +/* C78588 802418A8 14620007 */ bne $v1, $v0, .L802418C8 +/* C7858C 802418AC 00000000 */ nop +/* C78590 802418B0 0C090475 */ jal func_802411D4 +/* C78594 802418B4 0240202D */ daddu $a0, $s2, $zero +/* C78598 802418B8 08090632 */ j .L802418C8 +/* C7859C 802418BC 00000000 */ nop +/* C785A0 802418C0 0C0129CF */ jal func_8004A73C +/* C785A4 802418C4 0240202D */ daddu $a0, $s2, $zero +.L802418C8: +/* C785A8 802418C8 8FBF0048 */ lw $ra, 0x48($sp) +/* C785AC 802418CC 8FB50044 */ lw $s5, 0x44($sp) +/* C785B0 802418D0 8FB40040 */ lw $s4, 0x40($sp) +/* C785B4 802418D4 8FB3003C */ lw $s3, 0x3c($sp) +/* C785B8 802418D8 8FB20038 */ lw $s2, 0x38($sp) +/* C785BC 802418DC 8FB10034 */ lw $s1, 0x34($sp) +/* C785C0 802418E0 8FB00030 */ lw $s0, 0x30($sp) +/* C785C4 802418E4 0000102D */ daddu $v0, $zero, $zero +/* C785C8 802418E8 03E00008 */ jr $ra +/* C785CC 802418EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802418F0_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802418F0_C76CE0.s new file mode 100644 index 0000000000..d36b0144ef --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802418F0_C76CE0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418F0_C785D0 +/* C785D0 802418F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C785D4 802418F4 AFB10014 */ sw $s1, 0x14($sp) +/* C785D8 802418F8 0080882D */ daddu $s1, $a0, $zero +/* C785DC 802418FC AFBF0018 */ sw $ra, 0x18($sp) +/* C785E0 80241900 AFB00010 */ sw $s0, 0x10($sp) +/* C785E4 80241904 8E300148 */ lw $s0, 0x148($s1) +/* C785E8 80241908 0C00EABB */ jal get_npc_unsafe +/* C785EC 8024190C 86040008 */ lh $a0, 8($s0) +/* C785F0 80241910 0040202D */ daddu $a0, $v0, $zero +/* C785F4 80241914 8482008E */ lh $v0, 0x8e($a0) +/* C785F8 80241918 9483008E */ lhu $v1, 0x8e($a0) +/* C785FC 8024191C 18400003 */ blez $v0, .L8024192C +/* C78600 80241920 2462FFFF */ addiu $v0, $v1, -1 +/* C78604 80241924 08090652 */ j .L80241948 +/* C78608 80241928 A482008E */ sh $v0, 0x8e($a0) +.L8024192C: +/* C7860C 8024192C 8E0200CC */ lw $v0, 0xcc($s0) +/* C78610 80241930 AE00006C */ sw $zero, 0x6c($s0) +/* C78614 80241934 8C420000 */ lw $v0, ($v0) +/* C78618 80241938 AC820028 */ sw $v0, 0x28($a0) +/* C7861C 8024193C 24020001 */ addiu $v0, $zero, 1 +/* C78620 80241940 AE200074 */ sw $zero, 0x74($s1) +/* C78624 80241944 AE220070 */ sw $v0, 0x70($s1) +.L80241948: +/* C78628 80241948 8FBF0018 */ lw $ra, 0x18($sp) +/* C7862C 8024194C 8FB10014 */ lw $s1, 0x14($sp) +/* C78630 80241950 8FB00010 */ lw $s0, 0x10($sp) +/* C78634 80241954 03E00008 */ jr $ra +/* C78638 80241958 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024195C.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024195C.s new file mode 100644 index 0000000000..15079f891f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024195C.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024195C +/* C7863C 8024195C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C78640 80241960 AFB3003C */ sw $s3, 0x3c($sp) +/* C78644 80241964 0080982D */ daddu $s3, $a0, $zero +/* C78648 80241968 AFBF0040 */ sw $ra, 0x40($sp) +/* C7864C 8024196C AFB20038 */ sw $s2, 0x38($sp) +/* C78650 80241970 AFB10034 */ sw $s1, 0x34($sp) +/* C78654 80241974 AFB00030 */ sw $s0, 0x30($sp) +/* C78658 80241978 8E720148 */ lw $s2, 0x148($s3) +/* C7865C 8024197C 00A0882D */ daddu $s1, $a1, $zero +/* C78660 80241980 86440008 */ lh $a0, 8($s2) +/* C78664 80241984 0C00EABB */ jal get_npc_unsafe +/* C78668 80241988 00C0802D */ daddu $s0, $a2, $zero +/* C7866C 8024198C 0200202D */ daddu $a0, $s0, $zero +/* C78670 80241990 0240282D */ daddu $a1, $s2, $zero +/* C78674 80241994 AFA00010 */ sw $zero, 0x10($sp) +/* C78678 80241998 8E26000C */ lw $a2, 0xc($s1) +/* C7867C 8024199C 8E270010 */ lw $a3, 0x10($s1) +/* C78680 802419A0 0C01242D */ jal func_800490B4 +/* C78684 802419A4 0040882D */ daddu $s1, $v0, $zero +/* C78688 802419A8 10400024 */ beqz $v0, .L80241A3C +/* C7868C 802419AC 0220202D */ daddu $a0, $s1, $zero +/* C78690 802419B0 24050322 */ addiu $a1, $zero, 0x322 +/* C78694 802419B4 0C012530 */ jal func_800494C0 +/* C78698 802419B8 0000302D */ daddu $a2, $zero, $zero +/* C7869C 802419BC 0000202D */ daddu $a0, $zero, $zero +/* C786A0 802419C0 0220282D */ daddu $a1, $s1, $zero +/* C786A4 802419C4 0000302D */ daddu $a2, $zero, $zero +/* C786A8 802419C8 2410000A */ addiu $s0, $zero, 0xa +/* C786AC 802419CC 862300A8 */ lh $v1, 0xa8($s1) +/* C786B0 802419D0 3C013F80 */ lui $at, 0x3f80 +/* C786B4 802419D4 44810000 */ mtc1 $at, $f0 +/* C786B8 802419D8 3C014000 */ lui $at, 0x4000 +/* C786BC 802419DC 44811000 */ mtc1 $at, $f2 +/* C786C0 802419E0 3C01C1A0 */ lui $at, 0xc1a0 +/* C786C4 802419E4 44812000 */ mtc1 $at, $f4 +/* C786C8 802419E8 44833000 */ mtc1 $v1, $f6 +/* C786CC 802419EC 00000000 */ nop +/* C786D0 802419F0 468031A0 */ cvt.s.w $f6, $f6 +/* C786D4 802419F4 44073000 */ mfc1 $a3, $f6 +/* C786D8 802419F8 27A20028 */ addiu $v0, $sp, 0x28 +/* C786DC 802419FC AFB0001C */ sw $s0, 0x1c($sp) +/* C786E0 80241A00 AFA20020 */ sw $v0, 0x20($sp) +/* C786E4 80241A04 E7A00010 */ swc1 $f0, 0x10($sp) +/* C786E8 80241A08 E7A20014 */ swc1 $f2, 0x14($sp) +/* C786EC 80241A0C 0C01BFA4 */ jal fx_emote +/* C786F0 80241A10 E7A40018 */ swc1 $f4, 0x18($sp) +/* C786F4 80241A14 0220202D */ daddu $a0, $s1, $zero +/* C786F8 80241A18 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C786FC 80241A1C 0C012530 */ jal func_800494C0 +/* C78700 80241A20 3C060020 */ lui $a2, 0x20 +/* C78704 80241A24 8E4200CC */ lw $v0, 0xcc($s2) +/* C78708 80241A28 8C420020 */ lw $v0, 0x20($v0) +/* C7870C 80241A2C AE220028 */ sw $v0, 0x28($s1) +/* C78710 80241A30 9642008E */ lhu $v0, 0x8e($s2) +/* C78714 80241A34 A622008E */ sh $v0, 0x8e($s1) +/* C78718 80241A38 AE700070 */ sw $s0, 0x70($s3) +.L80241A3C: +/* C7871C 80241A3C 8FBF0040 */ lw $ra, 0x40($sp) +/* C78720 80241A40 8FB3003C */ lw $s3, 0x3c($sp) +/* C78724 80241A44 8FB20038 */ lw $s2, 0x38($sp) +/* C78728 80241A48 8FB10034 */ lw $s1, 0x34($sp) +/* C7872C 80241A4C 8FB00030 */ lw $s0, 0x30($sp) +/* C78730 80241A50 03E00008 */ jr $ra +/* C78734 80241A54 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80241A58_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241A58_C76CE0.s new file mode 100644 index 0000000000..fd871418f6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80241A58_C76CE0.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A58_C78738 +/* C78738 80241A58 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C7873C 80241A5C AFBF0064 */ sw $ra, 0x64($sp) +/* C78740 80241A60 AFBE0060 */ sw $fp, 0x60($sp) +/* C78744 80241A64 AFB7005C */ sw $s7, 0x5c($sp) +/* C78748 80241A68 AFB60058 */ sw $s6, 0x58($sp) +/* C7874C 80241A6C AFB50054 */ sw $s5, 0x54($sp) +/* C78750 80241A70 AFB40050 */ sw $s4, 0x50($sp) +/* C78754 80241A74 AFB3004C */ sw $s3, 0x4c($sp) +/* C78758 80241A78 AFB20048 */ sw $s2, 0x48($sp) +/* C7875C 80241A7C AFB10044 */ sw $s1, 0x44($sp) +/* C78760 80241A80 AFB00040 */ sw $s0, 0x40($sp) +/* C78764 80241A84 F7B80078 */ sdc1 $f24, 0x78($sp) +/* C78768 80241A88 F7B60070 */ sdc1 $f22, 0x70($sp) +/* C7876C 80241A8C F7B40068 */ sdc1 $f20, 0x68($sp) +/* C78770 80241A90 AFA40080 */ sw $a0, 0x80($sp) +/* C78774 80241A94 8C960148 */ lw $s6, 0x148($a0) +/* C78778 80241A98 00C0902D */ daddu $s2, $a2, $zero +/* C7877C 80241A9C 86C40008 */ lh $a0, 8($s6) +/* C78780 80241AA0 0C00EABB */ jal get_npc_unsafe +/* C78784 80241AA4 0000B82D */ daddu $s7, $zero, $zero +/* C78788 80241AA8 0040882D */ daddu $s1, $v0, $zero +/* C7878C 80241AAC 9622008E */ lhu $v0, 0x8e($s1) +/* C78790 80241AB0 2442FFFF */ addiu $v0, $v0, -1 +/* C78794 80241AB4 A622008E */ sh $v0, 0x8e($s1) +/* C78798 80241AB8 00021400 */ sll $v0, $v0, 0x10 +/* C7879C 80241ABC 8EC30090 */ lw $v1, 0x90($s6) +/* C787A0 80241AC0 00021403 */ sra $v0, $v0, 0x10 +/* C787A4 80241AC4 0062182A */ slt $v1, $v1, $v0 +/* C787A8 80241AC8 14600005 */ bnez $v1, .L80241AE0 +/* C787AC 80241ACC 02E0F02D */ daddu $fp, $s7, $zero +/* C787B0 80241AD0 8EC20000 */ lw $v0, ($s6) +/* C787B4 80241AD4 3C031F10 */ lui $v1, 0x1f10 +/* C787B8 80241AD8 00431025 */ or $v0, $v0, $v1 +/* C787BC 80241ADC AEC20000 */ sw $v0, ($s6) +.L80241AE0: +/* C787C0 80241AE0 8622008E */ lh $v0, 0x8e($s1) +/* C787C4 80241AE4 1440025D */ bnez $v0, .L8024245C +/* C787C8 80241AE8 00000000 */ nop +/* C787CC 80241AEC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C787D0 80241AF0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C787D4 80241AF4 0C00A6C9 */ jal clamp_angle +/* C787D8 80241AF8 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* C787DC 80241AFC 3C014334 */ lui $at, 0x4334 +/* C787E0 80241B00 44811000 */ mtc1 $at, $f2 +/* C787E4 80241B04 00000000 */ nop +/* C787E8 80241B08 4602003C */ c.lt.s $f0, $f2 +/* C787EC 80241B0C 00000000 */ nop +/* C787F0 80241B10 45000011 */ bc1f .L80241B58 +/* C787F4 80241B14 00000000 */ nop +/* C787F8 80241B18 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C787FC 80241B1C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C78800 80241B20 3C0142B4 */ lui $at, 0x42b4 +/* C78804 80241B24 44816000 */ mtc1 $at, $f12 +/* C78808 80241B28 00031080 */ sll $v0, $v1, 2 +/* C7880C 80241B2C 00431021 */ addu $v0, $v0, $v1 +/* C78810 80241B30 00021080 */ sll $v0, $v0, 2 +/* C78814 80241B34 00431023 */ subu $v0, $v0, $v1 +/* C78818 80241B38 000218C0 */ sll $v1, $v0, 3 +/* C7881C 80241B3C 00431021 */ addu $v0, $v0, $v1 +/* C78820 80241B40 000210C0 */ sll $v0, $v0, 3 +/* C78824 80241B44 3C01800B */ lui $at, 0x800b +/* C78828 80241B48 00220821 */ addu $at, $at, $v0 +/* C7882C 80241B4C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C78830 80241B50 080906E5 */ j .L80241B94 +/* C78834 80241B54 460C0301 */ sub.s $f12, $f0, $f12 +.L80241B58: +/* C78838 80241B58 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C7883C 80241B5C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C78840 80241B60 3C0142B4 */ lui $at, 0x42b4 +/* C78844 80241B64 44816000 */ mtc1 $at, $f12 +/* C78848 80241B68 00031080 */ sll $v0, $v1, 2 +/* C7884C 80241B6C 00431021 */ addu $v0, $v0, $v1 +/* C78850 80241B70 00021080 */ sll $v0, $v0, 2 +/* C78854 80241B74 00431023 */ subu $v0, $v0, $v1 +/* C78858 80241B78 000218C0 */ sll $v1, $v0, 3 +/* C7885C 80241B7C 00431021 */ addu $v0, $v0, $v1 +/* C78860 80241B80 000210C0 */ sll $v0, $v0, 3 +/* C78864 80241B84 3C01800B */ lui $at, 0x800b +/* C78868 80241B88 00220821 */ addu $at, $at, $v0 +/* C7886C 80241B8C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C78870 80241B90 460C0300 */ add.s $f12, $f0, $f12 +.L80241B94: +/* C78874 80241B94 0C00A6C9 */ jal clamp_angle +/* C78878 80241B98 00000000 */ nop +/* C7887C 80241B9C 46000586 */ mov.s $f22, $f0 +/* C78880 80241BA0 3C014334 */ lui $at, 0x4334 +/* C78884 80241BA4 44816000 */ mtc1 $at, $f12 +/* C78888 80241BA8 0C00A6C9 */ jal clamp_angle +/* C7888C 80241BAC 460CB300 */ add.s $f12, $f22, $f12 +/* C78890 80241BB0 8EC20088 */ lw $v0, 0x88($s6) +/* C78894 80241BB4 14400010 */ bnez $v0, .L80241BF8 +/* C78898 80241BB8 46000606 */ mov.s $f24, $f0 +/* C7889C 80241BBC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C788A0 80241BC0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C788A4 80241BC4 804300B4 */ lb $v1, 0xb4($v0) +/* C788A8 80241BC8 3C014200 */ lui $at, 0x4200 +/* C788AC 80241BCC 4481A000 */ mtc1 $at, $f20 +/* C788B0 80241BD0 10600016 */ beqz $v1, .L80241C2C +/* C788B4 80241BD4 24020001 */ addiu $v0, $zero, 1 +/* C788B8 80241BD8 3C0142C8 */ lui $at, 0x42c8 +/* C788BC 80241BDC 4481A000 */ mtc1 $at, $f20 +/* C788C0 80241BE0 14620013 */ bne $v1, $v0, .L80241C30 +/* C788C4 80241BE4 26300038 */ addiu $s0, $s1, 0x38 +/* C788C8 80241BE8 3C0142B4 */ lui $at, 0x42b4 +/* C788CC 80241BEC 4481A000 */ mtc1 $at, $f20 +/* C788D0 80241BF0 0809070D */ j .L80241C34 +/* C788D4 80241BF4 0200202D */ daddu $a0, $s0, $zero +.L80241BF8: +/* C788D8 80241BF8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C788DC 80241BFC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C788E0 80241C00 804300B4 */ lb $v1, 0xb4($v0) +/* C788E4 80241C04 3C014218 */ lui $at, 0x4218 +/* C788E8 80241C08 4481A000 */ mtc1 $at, $f20 +/* C788EC 80241C0C 10600007 */ beqz $v1, .L80241C2C +/* C788F0 80241C10 24020001 */ addiu $v0, $zero, 1 +/* C788F4 80241C14 3C0142B4 */ lui $at, 0x42b4 +/* C788F8 80241C18 4481A000 */ mtc1 $at, $f20 +/* C788FC 80241C1C 14620004 */ bne $v1, $v0, .L80241C30 +/* C78900 80241C20 26300038 */ addiu $s0, $s1, 0x38 +/* C78904 80241C24 3C014296 */ lui $at, 0x4296 +/* C78908 80241C28 4481A000 */ mtc1 $at, $f20 +.L80241C2C: +/* C7890C 80241C2C 26300038 */ addiu $s0, $s1, 0x38 +.L80241C30: +/* C78910 80241C30 0200202D */ daddu $a0, $s0, $zero +.L80241C34: +/* C78914 80241C34 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* C78918 80241C38 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* C7891C 80241C3C 4407C000 */ mfc1 $a3, $f24 +/* C78920 80241C40 862200A6 */ lh $v0, 0xa6($s1) +/* C78924 80241C44 8EA30000 */ lw $v1, ($s5) +/* C78928 80241C48 44824000 */ mtc1 $v0, $f8 +/* C7892C 80241C4C 00000000 */ nop +/* C78930 80241C50 46804220 */ cvt.s.w $f8, $f8 +/* C78934 80241C54 C4600028 */ lwc1 $f0, 0x28($v1) +/* C78938 80241C58 44064000 */ mfc1 $a2, $f8 +/* C7893C 80241C5C 26330040 */ addiu $s3, $s1, 0x40 +/* C78940 80241C60 E6200038 */ swc1 $f0, 0x38($s1) +/* C78944 80241C64 C4600030 */ lwc1 $f0, 0x30($v1) +/* C78948 80241C68 0260282D */ daddu $a1, $s3, $zero +/* C7894C 80241C6C 0C00A7E7 */ jal add_vec2D_polar +/* C78950 80241C70 E6200040 */ swc1 $f0, 0x40($s1) +/* C78954 80241C74 862200A6 */ lh $v0, 0xa6($s1) +/* C78958 80241C78 44820000 */ mtc1 $v0, $f0 +/* C7895C 80241C7C 00000000 */ nop +/* C78960 80241C80 46800020 */ cvt.s.w $f0, $f0 +/* C78964 80241C84 4600A000 */ add.s $f0, $f20, $f0 +/* C78968 80241C88 4406B000 */ mfc1 $a2, $f22 +/* C7896C 80241C8C 44050000 */ mfc1 $a1, $f0 +/* C78970 80241C90 0C00EA95 */ jal npc_move_heading +/* C78974 80241C94 0220202D */ daddu $a0, $s1, $zero +/* C78978 80241C98 8EC20088 */ lw $v0, 0x88($s6) +/* C7897C 80241C9C 1440005D */ bnez $v0, .L80241E14 +/* C78980 80241CA0 00000000 */ nop +/* C78984 80241CA4 C6200038 */ lwc1 $f0, 0x38($s1) +/* C78988 80241CA8 3C018024 */ lui $at, 0x8024 +/* C7898C 80241CAC D4247408 */ ldc1 $f4, 0x7408($at) +/* C78990 80241CB0 46000021 */ cvt.d.s $f0, $f0 +/* C78994 80241CB4 4620203C */ c.lt.d $f4, $f0 +/* C78998 80241CB8 00000000 */ nop +/* C7899C 80241CBC 45000005 */ bc1f .L80241CD4 +/* C789A0 80241CC0 00000000 */ nop +/* C789A4 80241CC4 3C0143BE */ lui $at, 0x43be +/* C789A8 80241CC8 44810000 */ mtc1 $at, $f0 +/* C789AC 80241CCC 00000000 */ nop +/* C789B0 80241CD0 E6200038 */ swc1 $f0, 0x38($s1) +.L80241CD4: +/* C789B4 80241CD4 C6200038 */ lwc1 $f0, 0x38($s1) +/* C789B8 80241CD8 3C018024 */ lui $at, 0x8024 +/* C789BC 80241CDC D4227410 */ ldc1 $f2, 0x7410($at) +/* C789C0 80241CE0 46000021 */ cvt.d.s $f0, $f0 +/* C789C4 80241CE4 4622003C */ c.lt.d $f0, $f2 +/* C789C8 80241CE8 00000000 */ nop +/* C789CC 80241CEC 45000005 */ bc1f .L80241D04 +/* C789D0 80241CF0 00000000 */ nop +/* C789D4 80241CF4 3C01C3BE */ lui $at, 0xc3be +/* C789D8 80241CF8 44810000 */ mtc1 $at, $f0 +/* C789DC 80241CFC 00000000 */ nop +/* C789E0 80241D00 E6200038 */ swc1 $f0, 0x38($s1) +.L80241D04: +/* C789E4 80241D04 C6200040 */ lwc1 $f0, 0x40($s1) +/* C789E8 80241D08 46000021 */ cvt.d.s $f0, $f0 +/* C789EC 80241D0C 4620203C */ c.lt.d $f4, $f0 +/* C789F0 80241D10 00000000 */ nop +/* C789F4 80241D14 45000005 */ bc1f .L80241D2C +/* C789F8 80241D18 00000000 */ nop +/* C789FC 80241D1C 3C0143BE */ lui $at, 0x43be +/* C78A00 80241D20 44810000 */ mtc1 $at, $f0 +/* C78A04 80241D24 00000000 */ nop +/* C78A08 80241D28 E6200040 */ swc1 $f0, 0x40($s1) +.L80241D2C: +/* C78A0C 80241D2C C6200040 */ lwc1 $f0, 0x40($s1) +/* C78A10 80241D30 46000021 */ cvt.d.s $f0, $f0 +/* C78A14 80241D34 4622003C */ c.lt.d $f0, $f2 +/* C78A18 80241D38 00000000 */ nop +/* C78A1C 80241D3C 45000005 */ bc1f .L80241D54 +/* C78A20 80241D40 00000000 */ nop +/* C78A24 80241D44 3C01C3BE */ lui $at, 0xc3be +/* C78A28 80241D48 44810000 */ mtc1 $at, $f0 +/* C78A2C 80241D4C 00000000 */ nop +/* C78A30 80241D50 E6200040 */ swc1 $f0, 0x40($s1) +.L80241D54: +/* C78A34 80241D54 C6220038 */ lwc1 $f2, 0x38($s1) +/* C78A38 80241D58 46021082 */ mul.s $f2, $f2, $f2 +/* C78A3C 80241D5C 00000000 */ nop +/* C78A40 80241D60 C6200040 */ lwc1 $f0, 0x40($s1) +/* C78A44 80241D64 46000002 */ mul.s $f0, $f0, $f0 +/* C78A48 80241D68 00000000 */ nop +/* C78A4C 80241D6C 46001300 */ add.s $f12, $f2, $f0 +/* C78A50 80241D70 46006004 */ sqrt.s $f0, $f12 +/* C78A54 80241D74 46000032 */ c.eq.s $f0, $f0 +/* C78A58 80241D78 00000000 */ nop +/* C78A5C 80241D7C 45010003 */ bc1t .L80241D8C +/* C78A60 80241D80 00000000 */ nop +/* C78A64 80241D84 0C0187BC */ jal sqrtf +/* C78A68 80241D88 00000000 */ nop +.L80241D8C: +/* C78A6C 80241D8C 8E260038 */ lw $a2, 0x38($s1) +/* C78A70 80241D90 8E270040 */ lw $a3, 0x40($s1) +/* C78A74 80241D94 4480A000 */ mtc1 $zero, $f20 +/* C78A78 80241D98 E7A00038 */ swc1 $f0, 0x38($sp) +/* C78A7C 80241D9C 4600A306 */ mov.s $f12, $f20 +/* C78A80 80241DA0 0C00A720 */ jal atan2 +/* C78A84 80241DA4 4600A386 */ mov.s $f14, $f20 +/* C78A88 80241DA8 46000586 */ mov.s $f22, $f0 +/* C78A8C 80241DAC C7A20038 */ lwc1 $f2, 0x38($sp) +/* C78A90 80241DB0 3C018024 */ lui $at, 0x8024 +/* C78A94 80241DB4 D4207418 */ ldc1 $f0, 0x7418($at) +/* C78A98 80241DB8 460010A1 */ cvt.d.s $f2, $f2 +/* C78A9C 80241DBC 4620103C */ c.lt.d $f2, $f0 +/* C78AA0 80241DC0 00000000 */ nop +/* C78AA4 80241DC4 45000004 */ bc1f .L80241DD8 +/* C78AA8 80241DC8 0200202D */ daddu $a0, $s0, $zero +/* C78AAC 80241DCC 3C064398 */ lui $a2, 0x4398 +/* C78AB0 80241DD0 0809077E */ j .L80241DF8 +/* C78AB4 80241DD4 34C68000 */ ori $a2, $a2, 0x8000 +.L80241DD8: +/* C78AB8 80241DD8 3C018024 */ lui $at, 0x8024 +/* C78ABC 80241DDC D4207420 */ ldc1 $f0, 0x7420($at) +/* C78AC0 80241DE0 4622003C */ c.lt.d $f0, $f2 +/* C78AC4 80241DE4 00000000 */ nop +/* C78AC8 80241DE8 450000FA */ bc1f .L802421D4 +/* C78ACC 80241DEC 00000000 */ nop +/* C78AD0 80241DF0 3C0643BB */ lui $a2, 0x43bb +/* C78AD4 80241DF4 34C68000 */ ori $a2, $a2, 0x8000 +.L80241DF8: +/* C78AD8 80241DF8 4407B000 */ mfc1 $a3, $f22 +/* C78ADC 80241DFC 0260282D */ daddu $a1, $s3, $zero +/* C78AE0 80241E00 E6340038 */ swc1 $f20, 0x38($s1) +/* C78AE4 80241E04 0C00A7E7 */ jal add_vec2D_polar +/* C78AE8 80241E08 E6340040 */ swc1 $f20, 0x40($s1) +/* C78AEC 80241E0C 08090875 */ j .L802421D4 +/* C78AF0 80241E10 00000000 */ nop +.L80241E14: +/* C78AF4 80241E14 8E220000 */ lw $v0, ($s1) +/* C78AF8 80241E18 30420040 */ andi $v0, $v0, 0x40 +/* C78AFC 80241E1C 144000B0 */ bnez $v0, .L802420E0 +/* C78B00 80241E20 27A50020 */ addiu $a1, $sp, 0x20 +/* C78B04 80241E24 27B40020 */ addiu $s4, $sp, 0x20 +/* C78B08 80241E28 0280282D */ daddu $a1, $s4, $zero +/* C78B0C 80241E2C 27B30024 */ addiu $s3, $sp, 0x24 +/* C78B10 80241E30 8EA20000 */ lw $v0, ($s5) +/* C78B14 80241E34 3C014032 */ lui $at, 0x4032 +/* C78B18 80241E38 44811800 */ mtc1 $at, $f3 +/* C78B1C 80241E3C 44801000 */ mtc1 $zero, $f2 +/* C78B20 80241E40 C440002C */ lwc1 $f0, 0x2c($v0) +/* C78B24 80241E44 C4460028 */ lwc1 $f6, 0x28($v0) +/* C78B28 80241E48 C4440030 */ lwc1 $f4, 0x30($v0) +/* C78B2C 80241E4C 46000021 */ cvt.d.s $f0, $f0 +/* C78B30 80241E50 46220000 */ add.d $f0, $f0, $f2 +/* C78B34 80241E54 E7A60020 */ swc1 $f6, 0x20($sp) +/* C78B38 80241E58 E7A40028 */ swc1 $f4, 0x28($sp) +/* C78B3C 80241E5C 46200020 */ cvt.s.d $f0, $f0 +/* C78B40 80241E60 E7A00024 */ swc1 $f0, 0x24($sp) +/* C78B44 80241E64 E7B40010 */ swc1 $f20, 0x10($sp) +/* C78B48 80241E68 E7B60014 */ swc1 $f22, 0x14($sp) +/* C78B4C 80241E6C 862200A8 */ lh $v0, 0xa8($s1) +/* C78B50 80241E70 0260302D */ daddu $a2, $s3, $zero +/* C78B54 80241E74 44820000 */ mtc1 $v0, $f0 +/* C78B58 80241E78 00000000 */ nop +/* C78B5C 80241E7C 46800020 */ cvt.s.w $f0, $f0 +/* C78B60 80241E80 E7A00018 */ swc1 $f0, 0x18($sp) +/* C78B64 80241E84 862200A6 */ lh $v0, 0xa6($s1) +/* C78B68 80241E88 27B00028 */ addiu $s0, $sp, 0x28 +/* C78B6C 80241E8C 44820000 */ mtc1 $v0, $f0 +/* C78B70 80241E90 00000000 */ nop +/* C78B74 80241E94 46800020 */ cvt.s.w $f0, $f0 +/* C78B78 80241E98 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C78B7C 80241E9C 8E240080 */ lw $a0, 0x80($s1) +/* C78B80 80241EA0 0C037711 */ jal func_800DDC44 +/* C78B84 80241EA4 0200382D */ daddu $a3, $s0, $zero +/* C78B88 80241EA8 104000CA */ beqz $v0, .L802421D4 +/* C78B8C 80241EAC 0280282D */ daddu $a1, $s4, $zero +/* C78B90 80241EB0 8EA20000 */ lw $v0, ($s5) +/* C78B94 80241EB4 3C018024 */ lui $at, 0x8024 +/* C78B98 80241EB8 D4227428 */ ldc1 $f2, 0x7428($at) +/* C78B9C 80241EBC C440002C */ lwc1 $f0, 0x2c($v0) +/* C78BA0 80241EC0 C4460028 */ lwc1 $f6, 0x28($v0) +/* C78BA4 80241EC4 C4440030 */ lwc1 $f4, 0x30($v0) +/* C78BA8 80241EC8 46000021 */ cvt.d.s $f0, $f0 +/* C78BAC 80241ECC 46220000 */ add.d $f0, $f0, $f2 +/* C78BB0 80241ED0 E7A60020 */ swc1 $f6, 0x20($sp) +/* C78BB4 80241ED4 E7A40028 */ swc1 $f4, 0x28($sp) +/* C78BB8 80241ED8 46200020 */ cvt.s.d $f0, $f0 +/* C78BBC 80241EDC E7A00024 */ swc1 $f0, 0x24($sp) +/* C78BC0 80241EE0 E7B40010 */ swc1 $f20, 0x10($sp) +/* C78BC4 80241EE4 E7B60014 */ swc1 $f22, 0x14($sp) +/* C78BC8 80241EE8 862200A8 */ lh $v0, 0xa8($s1) +/* C78BCC 80241EEC 44820000 */ mtc1 $v0, $f0 +/* C78BD0 80241EF0 00000000 */ nop +/* C78BD4 80241EF4 46800020 */ cvt.s.w $f0, $f0 +/* C78BD8 80241EF8 E7A00018 */ swc1 $f0, 0x18($sp) +/* C78BDC 80241EFC 862200A6 */ lh $v0, 0xa6($s1) +/* C78BE0 80241F00 0260302D */ daddu $a2, $s3, $zero +/* C78BE4 80241F04 44820000 */ mtc1 $v0, $f0 +/* C78BE8 80241F08 00000000 */ nop +/* C78BEC 80241F0C 46800020 */ cvt.s.w $f0, $f0 +/* C78BF0 80241F10 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C78BF4 80241F14 8E240080 */ lw $a0, 0x80($s1) +/* C78BF8 80241F18 0C037711 */ jal func_800DDC44 +/* C78BFC 80241F1C 0200382D */ daddu $a3, $s0, $zero +/* C78C00 80241F20 27A5002C */ addiu $a1, $sp, 0x2c +/* C78C04 80241F24 27A60030 */ addiu $a2, $sp, 0x30 +/* C78C08 80241F28 27A70034 */ addiu $a3, $sp, 0x34 +/* C78C0C 80241F2C 27A30038 */ addiu $v1, $sp, 0x38 +/* C78C10 80241F30 C6220038 */ lwc1 $f2, 0x38($s1) +/* C78C14 80241F34 C620003C */ lwc1 $f0, 0x3c($s1) +/* C78C18 80241F38 3C014348 */ lui $at, 0x4348 +/* C78C1C 80241F3C 44813000 */ mtc1 $at, $f6 +/* C78C20 80241F40 46000021 */ cvt.d.s $f0, $f0 +/* C78C24 80241F44 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C78C28 80241F48 3C014059 */ lui $at, 0x4059 +/* C78C2C 80241F4C 44811800 */ mtc1 $at, $f3 +/* C78C30 80241F50 44801000 */ mtc1 $zero, $f2 +/* C78C34 80241F54 C6240040 */ lwc1 $f4, 0x40($s1) +/* C78C38 80241F58 46220000 */ add.d $f0, $f0, $f2 +/* C78C3C 80241F5C E7A60038 */ swc1 $f6, 0x38($sp) +/* C78C40 80241F60 E7A40034 */ swc1 $f4, 0x34($sp) +/* C78C44 80241F64 46200020 */ cvt.s.d $f0, $f0 +/* C78C48 80241F68 E7A00030 */ swc1 $f0, 0x30($sp) +/* C78C4C 80241F6C AFA30010 */ sw $v1, 0x10($sp) +/* C78C50 80241F70 8E240080 */ lw $a0, 0x80($s1) +/* C78C54 80241F74 0C0372DF */ jal func_800DCB7C +/* C78C58 80241F78 0040802D */ daddu $s0, $v0, $zero +/* C78C5C 80241F7C 1600001C */ bnez $s0, .L80241FF0 +/* C78C60 80241F80 00000000 */ nop +/* C78C64 80241F84 1040001A */ beqz $v0, .L80241FF0 +/* C78C68 80241F88 00000000 */ nop +/* C78C6C 80241F8C C7A20038 */ lwc1 $f2, 0x38($sp) +/* C78C70 80241F90 3C014054 */ lui $at, 0x4054 +/* C78C74 80241F94 44810800 */ mtc1 $at, $f1 +/* C78C78 80241F98 44800000 */ mtc1 $zero, $f0 +/* C78C7C 80241F9C 460010A1 */ cvt.d.s $f2, $f2 +/* C78C80 80241FA0 4622003C */ c.lt.d $f0, $f2 +/* C78C84 80241FA4 00000000 */ nop +/* C78C88 80241FA8 45000011 */ bc1f .L80241FF0 +/* C78C8C 80241FAC 00000000 */ nop +/* C78C90 80241FB0 3C01405E */ lui $at, 0x405e +/* C78C94 80241FB4 44810800 */ mtc1 $at, $f1 +/* C78C98 80241FB8 44800000 */ mtc1 $zero, $f0 +/* C78C9C 80241FBC 00000000 */ nop +/* C78CA0 80241FC0 4620103C */ c.lt.d $f2, $f0 +/* C78CA4 80241FC4 00000000 */ nop +/* C78CA8 80241FC8 45000009 */ bc1f .L80241FF0 +/* C78CAC 80241FCC 00000000 */ nop +/* C78CB0 80241FD0 C622003C */ lwc1 $f2, 0x3c($s1) +/* C78CB4 80241FD4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C78CB8 80241FD8 46001032 */ c.eq.s $f2, $f0 +/* C78CBC 80241FDC 00000000 */ nop +/* C78CC0 80241FE0 45010003 */ bc1t .L80241FF0 +/* C78CC4 80241FE4 00000000 */ nop +/* C78CC8 80241FE8 08090875 */ j .L802421D4 +/* C78CCC 80241FEC 241E0001 */ addiu $fp, $zero, 1 +.L80241FF0: +/* C78CD0 80241FF0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C78CD4 80241FF4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C78CD8 80241FF8 8E020000 */ lw $v0, ($s0) +/* C78CDC 80241FFC 3C014024 */ lui $at, 0x4024 +/* C78CE0 80242000 44811800 */ mtc1 $at, $f3 +/* C78CE4 80242004 44801000 */ mtc1 $zero, $f2 +/* C78CE8 80242008 C440002C */ lwc1 $f0, 0x2c($v0) +/* C78CEC 8024200C C4460028 */ lwc1 $f6, 0x28($v0) +/* C78CF0 80242010 C4440030 */ lwc1 $f4, 0x30($v0) +/* C78CF4 80242014 46000021 */ cvt.d.s $f0, $f0 +/* C78CF8 80242018 46220000 */ add.d $f0, $f0, $f2 +/* C78CFC 8024201C E7A60020 */ swc1 $f6, 0x20($sp) +/* C78D00 80242020 E7A40028 */ swc1 $f4, 0x28($sp) +/* C78D04 80242024 46200020 */ cvt.s.d $f0, $f0 +/* C78D08 80242028 E7A00024 */ swc1 $f0, 0x24($sp) +/* C78D0C 8024202C E7B40010 */ swc1 $f20, 0x10($sp) +/* C78D10 80242030 E7B60014 */ swc1 $f22, 0x14($sp) +/* C78D14 80242034 862200A8 */ lh $v0, 0xa8($s1) +/* C78D18 80242038 27A50020 */ addiu $a1, $sp, 0x20 +/* C78D1C 8024203C 44820000 */ mtc1 $v0, $f0 +/* C78D20 80242040 00000000 */ nop +/* C78D24 80242044 46800020 */ cvt.s.w $f0, $f0 +/* C78D28 80242048 E7A00018 */ swc1 $f0, 0x18($sp) +/* C78D2C 8024204C 862200A6 */ lh $v0, 0xa6($s1) +/* C78D30 80242050 27A60024 */ addiu $a2, $sp, 0x24 +/* C78D34 80242054 44820000 */ mtc1 $v0, $f0 +/* C78D38 80242058 00000000 */ nop +/* C78D3C 8024205C 46800020 */ cvt.s.w $f0, $f0 +/* C78D40 80242060 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C78D44 80242064 8E240080 */ lw $a0, 0x80($s1) +/* C78D48 80242068 0C037711 */ jal func_800DDC44 +/* C78D4C 8024206C 27A70028 */ addiu $a3, $sp, 0x28 +/* C78D50 80242070 8FA60020 */ lw $a2, 0x20($sp) +/* C78D54 80242074 8E020000 */ lw $v0, ($s0) +/* C78D58 80242078 8FA70028 */ lw $a3, 0x28($sp) +/* C78D5C 8024207C C44C0028 */ lwc1 $f12, 0x28($v0) +/* C78D60 80242080 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C78D64 80242084 0C00A7B5 */ jal dist2D +/* C78D68 80242088 24170001 */ addiu $s7, $zero, 1 +/* C78D6C 8024208C 46000506 */ mov.s $f20, $f0 +/* C78D70 80242090 8E030000 */ lw $v1, ($s0) +/* C78D74 80242094 862200A6 */ lh $v0, 0xa6($s1) +/* C78D78 80242098 4407C000 */ mfc1 $a3, $f24 +/* C78D7C 8024209C 44824000 */ mtc1 $v0, $f8 +/* C78D80 802420A0 00000000 */ nop +/* C78D84 802420A4 46804220 */ cvt.s.w $f8, $f8 +/* C78D88 802420A8 C4600028 */ lwc1 $f0, 0x28($v1) +/* C78D8C 802420AC 44064000 */ mfc1 $a2, $f8 +/* C78D90 802420B0 26240038 */ addiu $a0, $s1, 0x38 +/* C78D94 802420B4 E6200038 */ swc1 $f0, 0x38($s1) +/* C78D98 802420B8 C4600030 */ lwc1 $f0, 0x30($v1) +/* C78D9C 802420BC 26250040 */ addiu $a1, $s1, 0x40 +/* C78DA0 802420C0 0C00A7E7 */ jal add_vec2D_polar +/* C78DA4 802420C4 E6200040 */ swc1 $f0, 0x40($s1) +/* C78DA8 802420C8 862200A6 */ lh $v0, 0xa6($s1) +/* C78DAC 802420CC 44820000 */ mtc1 $v0, $f0 +/* C78DB0 802420D0 00000000 */ nop +/* C78DB4 802420D4 46800020 */ cvt.s.w $f0, $f0 +/* C78DB8 802420D8 08090871 */ j .L802421C4 +/* C78DBC 802420DC 4600A500 */ add.s $f20, $f20, $f0 +.L802420E0: +/* C78DC0 802420E0 8EA20000 */ lw $v0, ($s5) +/* C78DC4 802420E4 3C014032 */ lui $at, 0x4032 +/* C78DC8 802420E8 44811800 */ mtc1 $at, $f3 +/* C78DCC 802420EC 44801000 */ mtc1 $zero, $f2 +/* C78DD0 802420F0 C440002C */ lwc1 $f0, 0x2c($v0) +/* C78DD4 802420F4 C4460028 */ lwc1 $f6, 0x28($v0) +/* C78DD8 802420F8 C4440030 */ lwc1 $f4, 0x30($v0) +/* C78DDC 802420FC 46000021 */ cvt.d.s $f0, $f0 +/* C78DE0 80242100 46220000 */ add.d $f0, $f0, $f2 +/* C78DE4 80242104 E7A60020 */ swc1 $f6, 0x20($sp) +/* C78DE8 80242108 E7A40028 */ swc1 $f4, 0x28($sp) +/* C78DEC 8024210C 46200020 */ cvt.s.d $f0, $f0 +/* C78DF0 80242110 E7A00024 */ swc1 $f0, 0x24($sp) +/* C78DF4 80242114 E7B40010 */ swc1 $f20, 0x10($sp) +/* C78DF8 80242118 E7B60014 */ swc1 $f22, 0x14($sp) +/* C78DFC 8024211C 862200A8 */ lh $v0, 0xa8($s1) +/* C78E00 80242120 44820000 */ mtc1 $v0, $f0 +/* C78E04 80242124 00000000 */ nop +/* C78E08 80242128 46800020 */ cvt.s.w $f0, $f0 +/* C78E0C 8024212C E7A00018 */ swc1 $f0, 0x18($sp) +/* C78E10 80242130 862200A6 */ lh $v0, 0xa6($s1) +/* C78E14 80242134 27A60024 */ addiu $a2, $sp, 0x24 +/* C78E18 80242138 44820000 */ mtc1 $v0, $f0 +/* C78E1C 8024213C 00000000 */ nop +/* C78E20 80242140 46800020 */ cvt.s.w $f0, $f0 +/* C78E24 80242144 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C78E28 80242148 8E240080 */ lw $a0, 0x80($s1) +/* C78E2C 8024214C 0C037711 */ jal func_800DDC44 +/* C78E30 80242150 27A70028 */ addiu $a3, $sp, 0x28 +/* C78E34 80242154 1040001F */ beqz $v0, .L802421D4 +/* C78E38 80242158 00000000 */ nop +/* C78E3C 8024215C 8FA60020 */ lw $a2, 0x20($sp) +/* C78E40 80242160 8EA20000 */ lw $v0, ($s5) +/* C78E44 80242164 8FA70028 */ lw $a3, 0x28($sp) +/* C78E48 80242168 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C78E4C 8024216C 0C00A7B5 */ jal dist2D +/* C78E50 80242170 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C78E54 80242174 46000506 */ mov.s $f20, $f0 +/* C78E58 80242178 8EA30000 */ lw $v1, ($s5) +/* C78E5C 8024217C 862200A6 */ lh $v0, 0xa6($s1) +/* C78E60 80242180 4407C000 */ mfc1 $a3, $f24 +/* C78E64 80242184 44824000 */ mtc1 $v0, $f8 +/* C78E68 80242188 00000000 */ nop +/* C78E6C 8024218C 46804220 */ cvt.s.w $f8, $f8 +/* C78E70 80242190 C4600028 */ lwc1 $f0, 0x28($v1) +/* C78E74 80242194 44064000 */ mfc1 $a2, $f8 +/* C78E78 80242198 0200202D */ daddu $a0, $s0, $zero +/* C78E7C 8024219C E6200038 */ swc1 $f0, 0x38($s1) +/* C78E80 802421A0 C4600030 */ lwc1 $f0, 0x30($v1) +/* C78E84 802421A4 0260282D */ daddu $a1, $s3, $zero +/* C78E88 802421A8 0C00A7E7 */ jal add_vec2D_polar +/* C78E8C 802421AC E6200040 */ swc1 $f0, 0x40($s1) +/* C78E90 802421B0 862200A6 */ lh $v0, 0xa6($s1) +/* C78E94 802421B4 44820000 */ mtc1 $v0, $f0 +/* C78E98 802421B8 00000000 */ nop +/* C78E9C 802421BC 46800020 */ cvt.s.w $f0, $f0 +/* C78EA0 802421C0 4600A500 */ add.s $f20, $f20, $f0 +.L802421C4: +/* C78EA4 802421C4 4406B000 */ mfc1 $a2, $f22 +/* C78EA8 802421C8 4405A000 */ mfc1 $a1, $f20 +/* C78EAC 802421CC 0C00EA95 */ jal npc_move_heading +/* C78EB0 802421D0 0220202D */ daddu $a0, $s1, $zero +.L802421D4: +/* C78EB4 802421D4 C6400008 */ lwc1 $f0, 8($s2) +/* C78EB8 802421D8 46800020 */ cvt.s.w $f0, $f0 +/* C78EBC 802421DC 44050000 */ mfc1 $a1, $f0 +/* C78EC0 802421E0 C640000C */ lwc1 $f0, 0xc($s2) +/* C78EC4 802421E4 46800020 */ cvt.s.w $f0, $f0 +/* C78EC8 802421E8 44060000 */ mfc1 $a2, $f0 +/* C78ECC 802421EC C6200040 */ lwc1 $f0, 0x40($s1) +/* C78ED0 802421F0 26300038 */ addiu $s0, $s1, 0x38 +/* C78ED4 802421F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C78ED8 802421F8 C6400010 */ lwc1 $f0, 0x10($s2) +/* C78EDC 802421FC 46800020 */ cvt.s.w $f0, $f0 +/* C78EE0 80242200 E7A00014 */ swc1 $f0, 0x14($sp) +/* C78EE4 80242204 C6400014 */ lwc1 $f0, 0x14($s2) +/* C78EE8 80242208 46800020 */ cvt.s.w $f0, $f0 +/* C78EEC 8024220C E7A00018 */ swc1 $f0, 0x18($sp) +/* C78EF0 80242210 8E440004 */ lw $a0, 4($s2) +/* C78EF4 80242214 8E270038 */ lw $a3, 0x38($s1) +/* C78EF8 80242218 0C0123F5 */ jal is_point_within_region +/* C78EFC 8024221C 26330040 */ addiu $s3, $s1, 0x40 +/* C78F00 80242220 1040005A */ beqz $v0, .L8024238C +/* C78F04 80242224 00000000 */ nop +/* C78F08 80242228 8E430004 */ lw $v1, 4($s2) +/* C78F0C 8024222C 10600005 */ beqz $v1, .L80242244 +/* C78F10 80242230 24020001 */ addiu $v0, $zero, 1 +/* C78F14 80242234 10620029 */ beq $v1, $v0, .L802422DC +/* C78F18 80242238 00000000 */ nop +/* C78F1C 8024223C 080908E3 */ j .L8024238C +/* C78F20 80242240 00000000 */ nop +.L80242244: +/* C78F24 80242244 C6480008 */ lwc1 $f8, 8($s2) +/* C78F28 80242248 46804220 */ cvt.s.w $f8, $f8 +/* C78F2C 8024224C 44064000 */ mfc1 $a2, $f8 +/* C78F30 80242250 C648000C */ lwc1 $f8, 0xc($s2) +/* C78F34 80242254 46804220 */ cvt.s.w $f8, $f8 +/* C78F38 80242258 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C78F3C 8024225C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C78F40 80242260 44074000 */ mfc1 $a3, $f8 +/* C78F44 80242264 0C00A7B5 */ jal dist2D +/* C78F48 80242268 00000000 */ nop +/* C78F4C 8024226C C6420010 */ lwc1 $f2, 0x10($s2) +/* C78F50 80242270 468010A0 */ cvt.s.w $f2, $f2 +/* C78F54 80242274 4600103C */ c.lt.s $f2, $f0 +/* C78F58 80242278 00000000 */ nop +/* C78F5C 8024227C 45000043 */ bc1f .L8024238C +/* C78F60 80242280 E7A00038 */ swc1 $f0, 0x38($sp) +/* C78F64 80242284 C64C0008 */ lwc1 $f12, 8($s2) +/* C78F68 80242288 46806320 */ cvt.s.w $f12, $f12 +/* C78F6C 8024228C 8E260038 */ lw $a2, 0x38($s1) +/* C78F70 80242290 8E270040 */ lw $a3, 0x40($s1) +/* C78F74 80242294 C64E000C */ lwc1 $f14, 0xc($s2) +/* C78F78 80242298 0C00A720 */ jal atan2 +/* C78F7C 8024229C 468073A0 */ cvt.s.w $f14, $f14 +/* C78F80 802422A0 0200202D */ daddu $a0, $s0, $zero +/* C78F84 802422A4 44070000 */ mfc1 $a3, $f0 +/* C78F88 802422A8 C6400008 */ lwc1 $f0, 8($s2) +/* C78F8C 802422AC 46800020 */ cvt.s.w $f0, $f0 +/* C78F90 802422B0 E6200038 */ swc1 $f0, 0x38($s1) +/* C78F94 802422B4 C640000C */ lwc1 $f0, 0xc($s2) +/* C78F98 802422B8 46800020 */ cvt.s.w $f0, $f0 +/* C78F9C 802422BC E6200040 */ swc1 $f0, 0x40($s1) +/* C78FA0 802422C0 C6480010 */ lwc1 $f8, 0x10($s2) +/* C78FA4 802422C4 46804220 */ cvt.s.w $f8, $f8 +/* C78FA8 802422C8 44064000 */ mfc1 $a2, $f8 +/* C78FAC 802422CC 0C00A7E7 */ jal add_vec2D_polar +/* C78FB0 802422D0 0260282D */ daddu $a1, $s3, $zero +/* C78FB4 802422D4 080908E3 */ j .L8024238C +/* C78FB8 802422D8 00000000 */ nop +.L802422DC: +/* C78FBC 802422DC 8E420008 */ lw $v0, 8($s2) +/* C78FC0 802422E0 8E430010 */ lw $v1, 0x10($s2) +/* C78FC4 802422E4 C6200038 */ lwc1 $f0, 0x38($s1) +/* C78FC8 802422E8 00431021 */ addu $v0, $v0, $v1 +/* C78FCC 802422EC 44821000 */ mtc1 $v0, $f2 +/* C78FD0 802422F0 00000000 */ nop +/* C78FD4 802422F4 468010A0 */ cvt.s.w $f2, $f2 +/* C78FD8 802422F8 4600103C */ c.lt.s $f2, $f0 +/* C78FDC 802422FC 00000000 */ nop +/* C78FE0 80242300 45030001 */ bc1tl .L80242308 +/* C78FE4 80242304 E6220038 */ swc1 $f2, 0x38($s1) +.L80242308: +/* C78FE8 80242308 8E420008 */ lw $v0, 8($s2) +/* C78FEC 8024230C 8E430010 */ lw $v1, 0x10($s2) +/* C78FF0 80242310 C6200038 */ lwc1 $f0, 0x38($s1) +/* C78FF4 80242314 00431023 */ subu $v0, $v0, $v1 +/* C78FF8 80242318 44821000 */ mtc1 $v0, $f2 +/* C78FFC 8024231C 00000000 */ nop +/* C79000 80242320 468010A0 */ cvt.s.w $f2, $f2 +/* C79004 80242324 4602003C */ c.lt.s $f0, $f2 +/* C79008 80242328 00000000 */ nop +/* C7900C 8024232C 45030001 */ bc1tl .L80242334 +/* C79010 80242330 E6220038 */ swc1 $f2, 0x38($s1) +.L80242334: +/* C79014 80242334 8E42000C */ lw $v0, 0xc($s2) +/* C79018 80242338 8E430014 */ lw $v1, 0x14($s2) +/* C7901C 8024233C C6200040 */ lwc1 $f0, 0x40($s1) +/* C79020 80242340 00431021 */ addu $v0, $v0, $v1 +/* C79024 80242344 44821000 */ mtc1 $v0, $f2 +/* C79028 80242348 00000000 */ nop +/* C7902C 8024234C 468010A0 */ cvt.s.w $f2, $f2 +/* C79030 80242350 4600103C */ c.lt.s $f2, $f0 +/* C79034 80242354 00000000 */ nop +/* C79038 80242358 45030001 */ bc1tl .L80242360 +/* C7903C 8024235C E6220040 */ swc1 $f2, 0x40($s1) +.L80242360: +/* C79040 80242360 8E42000C */ lw $v0, 0xc($s2) +/* C79044 80242364 8E430014 */ lw $v1, 0x14($s2) +/* C79048 80242368 C6200040 */ lwc1 $f0, 0x40($s1) +/* C7904C 8024236C 00431023 */ subu $v0, $v0, $v1 +/* C79050 80242370 44821000 */ mtc1 $v0, $f2 +/* C79054 80242374 00000000 */ nop +/* C79058 80242378 468010A0 */ cvt.s.w $f2, $f2 +/* C7905C 8024237C 4602003C */ c.lt.s $f0, $f2 +/* C79060 80242380 00000000 */ nop +/* C79064 80242384 45030001 */ bc1tl .L8024238C +/* C79068 80242388 E6220040 */ swc1 $f2, 0x40($s1) +.L8024238C: +/* C7906C 8024238C 16E0001F */ bnez $s7, .L8024240C +/* C79070 80242390 00000000 */ nop +/* C79074 80242394 8E220000 */ lw $v0, ($s1) +/* C79078 80242398 30420008 */ andi $v0, $v0, 8 +/* C7907C 8024239C 10400003 */ beqz $v0, .L802423AC +/* C79080 802423A0 27A50020 */ addiu $a1, $sp, 0x20 +/* C79084 802423A4 13C00019 */ beqz $fp, .L8024240C +/* C79088 802423A8 00000000 */ nop +.L802423AC: +/* C7908C 802423AC 27A60024 */ addiu $a2, $sp, 0x24 +/* C79090 802423B0 27A20038 */ addiu $v0, $sp, 0x38 +/* C79094 802423B4 C6220038 */ lwc1 $f2, 0x38($s1) +/* C79098 802423B8 C620003C */ lwc1 $f0, 0x3c($s1) +/* C7909C 802423BC 3C0143C8 */ lui $at, 0x43c8 +/* C790A0 802423C0 44813000 */ mtc1 $at, $f6 +/* C790A4 802423C4 46000021 */ cvt.d.s $f0, $f0 +/* C790A8 802423C8 E7A20020 */ swc1 $f2, 0x20($sp) +/* C790AC 802423CC 3C018024 */ lui $at, 0x8024 +/* C790B0 802423D0 D4227430 */ ldc1 $f2, 0x7430($at) +/* C790B4 802423D4 C6240040 */ lwc1 $f4, 0x40($s1) +/* C790B8 802423D8 46220000 */ add.d $f0, $f0, $f2 +/* C790BC 802423DC E7A60038 */ swc1 $f6, 0x38($sp) +/* C790C0 802423E0 E7A40028 */ swc1 $f4, 0x28($sp) +/* C790C4 802423E4 46200020 */ cvt.s.d $f0, $f0 +/* C790C8 802423E8 E7A00024 */ swc1 $f0, 0x24($sp) +/* C790CC 802423EC AFA20010 */ sw $v0, 0x10($sp) +/* C790D0 802423F0 8E240080 */ lw $a0, 0x80($s1) +/* C790D4 802423F4 0C0372DF */ jal func_800DCB7C +/* C790D8 802423F8 27A70028 */ addiu $a3, $sp, 0x28 +/* C790DC 802423FC 10400003 */ beqz $v0, .L8024240C +/* C790E0 80242400 00000000 */ nop +/* C790E4 80242404 C7A00024 */ lwc1 $f0, 0x24($sp) +/* C790E8 80242408 E620003C */ swc1 $f0, 0x3c($s1) +.L8024240C: +/* C790EC 8024240C C62C0038 */ lwc1 $f12, 0x38($s1) +/* C790F0 80242410 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C790F4 80242414 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C790F8 80242418 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C790FC 8024241C 8C460028 */ lw $a2, 0x28($v0) +/* C79100 80242420 0C00A720 */ jal atan2 +/* C79104 80242424 8C470030 */ lw $a3, 0x30($v0) +/* C79108 80242428 0220202D */ daddu $a0, $s1, $zero +/* C7910C 8024242C 24050321 */ addiu $a1, $zero, 0x321 +/* C79110 80242430 0000302D */ daddu $a2, $zero, $zero +/* C79114 80242434 0C012530 */ jal func_800494C0 +/* C79118 80242438 E620000C */ swc1 $f0, 0xc($s1) +/* C7911C 8024243C 8EC200CC */ lw $v0, 0xcc($s6) +/* C79120 80242440 8C420024 */ lw $v0, 0x24($v0) +/* C79124 80242444 AE220028 */ sw $v0, 0x28($s1) +/* C79128 80242448 96C20096 */ lhu $v0, 0x96($s6) +/* C7912C 8024244C A622008E */ sh $v0, 0x8e($s1) +/* C79130 80242450 8FA80080 */ lw $t0, 0x80($sp) +/* C79134 80242454 2402000B */ addiu $v0, $zero, 0xb +/* C79138 80242458 AD020070 */ sw $v0, 0x70($t0) +.L8024245C: +/* C7913C 8024245C 8FBF0064 */ lw $ra, 0x64($sp) +/* C79140 80242460 8FBE0060 */ lw $fp, 0x60($sp) +/* C79144 80242464 8FB7005C */ lw $s7, 0x5c($sp) +/* C79148 80242468 8FB60058 */ lw $s6, 0x58($sp) +/* C7914C 8024246C 8FB50054 */ lw $s5, 0x54($sp) +/* C79150 80242470 8FB40050 */ lw $s4, 0x50($sp) +/* C79154 80242474 8FB3004C */ lw $s3, 0x4c($sp) +/* C79158 80242478 8FB20048 */ lw $s2, 0x48($sp) +/* C7915C 8024247C 8FB10044 */ lw $s1, 0x44($sp) +/* C79160 80242480 8FB00040 */ lw $s0, 0x40($sp) +/* C79164 80242484 D7B80078 */ ldc1 $f24, 0x78($sp) +/* C79168 80242488 D7B60070 */ ldc1 $f22, 0x70($sp) +/* C7916C 8024248C D7B40068 */ ldc1 $f20, 0x68($sp) +/* C79170 80242490 03E00008 */ jr $ra +/* C79174 80242494 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242498_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242498_C76CE0.s new file mode 100644 index 0000000000..6ae01c2c8c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242498_C76CE0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242498_C79178 +/* C79178 80242498 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7917C 8024249C AFB10014 */ sw $s1, 0x14($sp) +/* C79180 802424A0 0080882D */ daddu $s1, $a0, $zero +/* C79184 802424A4 AFBF0018 */ sw $ra, 0x18($sp) +/* C79188 802424A8 AFB00010 */ sw $s0, 0x10($sp) +/* C7918C 802424AC 8E300148 */ lw $s0, 0x148($s1) +/* C79190 802424B0 0C00EABB */ jal get_npc_unsafe +/* C79194 802424B4 86040008 */ lh $a0, 8($s0) +/* C79198 802424B8 0040202D */ daddu $a0, $v0, $zero +/* C7919C 802424BC 9482008E */ lhu $v0, 0x8e($a0) +/* C791A0 802424C0 2442FFFF */ addiu $v0, $v0, -1 +/* C791A4 802424C4 A482008E */ sh $v0, 0x8e($a0) +/* C791A8 802424C8 00021400 */ sll $v0, $v0, 0x10 +/* C791AC 802424CC 8E030098 */ lw $v1, 0x98($s0) +/* C791B0 802424D0 00021403 */ sra $v0, $v0, 0x10 +/* C791B4 802424D4 0062182A */ slt $v1, $v1, $v0 +/* C791B8 802424D8 14600005 */ bnez $v1, .L802424F0 +/* C791BC 802424DC 3C03E0EF */ lui $v1, 0xe0ef +/* C791C0 802424E0 8E020000 */ lw $v0, ($s0) +/* C791C4 802424E4 3463FFFF */ ori $v1, $v1, 0xffff +/* C791C8 802424E8 00431024 */ and $v0, $v0, $v1 +/* C791CC 802424EC AE020000 */ sw $v0, ($s0) +.L802424F0: +/* C791D0 802424F0 8482008E */ lh $v0, 0x8e($a0) +/* C791D4 802424F4 14400007 */ bnez $v0, .L80242514 +/* C791D8 802424F8 00000000 */ nop +/* C791DC 802424FC 8E0200CC */ lw $v0, 0xcc($s0) +/* C791E0 80242500 8C420028 */ lw $v0, 0x28($v0) +/* C791E4 80242504 A480008E */ sh $zero, 0x8e($a0) +/* C791E8 80242508 AC820028 */ sw $v0, 0x28($a0) +/* C791EC 8024250C 2402000C */ addiu $v0, $zero, 0xc +/* C791F0 80242510 AE220070 */ sw $v0, 0x70($s1) +.L80242514: +/* C791F4 80242514 8FBF0018 */ lw $ra, 0x18($sp) +/* C791F8 80242518 8FB10014 */ lw $s1, 0x14($sp) +/* C791FC 8024251C 8FB00010 */ lw $s0, 0x10($sp) +/* C79200 80242520 03E00008 */ jr $ra +/* C79204 80242524 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242528_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242528_C76CE0.s new file mode 100644 index 0000000000..edfe000fe6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242528_C76CE0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242528_C79208 +/* C79208 80242528 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C7920C 8024252C AFB10034 */ sw $s1, 0x34($sp) +/* C79210 80242530 0080882D */ daddu $s1, $a0, $zero +/* C79214 80242534 AFBF0038 */ sw $ra, 0x38($sp) +/* C79218 80242538 AFB00030 */ sw $s0, 0x30($sp) +/* C7921C 8024253C 8E300148 */ lw $s0, 0x148($s1) +/* C79220 80242540 0C00EABB */ jal get_npc_unsafe +/* C79224 80242544 86040008 */ lh $a0, 8($s0) +/* C79228 80242548 0040282D */ daddu $a1, $v0, $zero +/* C7922C 8024254C 94A2008E */ lhu $v0, 0x8e($a1) +/* C79230 80242550 24420001 */ addiu $v0, $v0, 1 +/* C79234 80242554 A4A2008E */ sh $v0, 0x8e($a1) +/* C79238 80242558 00021400 */ sll $v0, $v0, 0x10 +/* C7923C 8024255C 8E0300A0 */ lw $v1, 0xa0($s0) +/* C79240 80242560 00021403 */ sra $v0, $v0, 0x10 +/* C79244 80242564 14430004 */ bne $v0, $v1, .L80242578 +/* C79248 80242568 00000000 */ nop +/* C7924C 8024256C 8E0200CC */ lw $v0, 0xcc($s0) +/* C79250 80242570 8C42002C */ lw $v0, 0x2c($v0) +/* C79254 80242574 ACA20028 */ sw $v0, 0x28($a1) +.L80242578: +/* C79258 80242578 84A3008E */ lh $v1, 0x8e($a1) +/* C7925C 8024257C 8E0200A4 */ lw $v0, 0xa4($s0) +/* C79260 80242580 14620002 */ bne $v1, $v0, .L8024258C +/* C79264 80242584 24020003 */ addiu $v0, $zero, 3 +/* C79268 80242588 AE02006C */ sw $v0, 0x6c($s0) +.L8024258C: +/* C7926C 8024258C 84A2008E */ lh $v0, 0x8e($a1) +/* C79270 80242590 8E03009C */ lw $v1, 0x9c($s0) +/* C79274 80242594 0043102A */ slt $v0, $v0, $v1 +/* C79278 80242598 1440001E */ bnez $v0, .L80242614 +/* C7927C 8024259C 24020004 */ addiu $v0, $zero, 4 +/* C79280 802425A0 AE02006C */ sw $v0, 0x6c($s0) +/* C79284 802425A4 24020008 */ addiu $v0, $zero, 8 +/* C79288 802425A8 24040003 */ addiu $a0, $zero, 3 +/* C7928C 802425AC A4A2008E */ sh $v0, 0x8e($a1) +/* C79290 802425B0 8E0200CC */ lw $v0, 0xcc($s0) +/* C79294 802425B4 84A300A8 */ lh $v1, 0xa8($a1) +/* C79298 802425B8 3C013F80 */ lui $at, 0x3f80 +/* C7929C 802425BC 44810000 */ mtc1 $at, $f0 +/* C792A0 802425C0 3C014000 */ lui $at, 0x4000 +/* C792A4 802425C4 44811000 */ mtc1 $at, $f2 +/* C792A8 802425C8 3C01C1A0 */ lui $at, 0xc1a0 +/* C792AC 802425CC 44812000 */ mtc1 $at, $f4 +/* C792B0 802425D0 44833000 */ mtc1 $v1, $f6 +/* C792B4 802425D4 00000000 */ nop +/* C792B8 802425D8 468031A0 */ cvt.s.w $f6, $f6 +/* C792BC 802425DC 8C420000 */ lw $v0, ($v0) +/* C792C0 802425E0 44073000 */ mfc1 $a3, $f6 +/* C792C4 802425E4 0000302D */ daddu $a2, $zero, $zero +/* C792C8 802425E8 ACA20028 */ sw $v0, 0x28($a1) +/* C792CC 802425EC 2402000A */ addiu $v0, $zero, 0xa +/* C792D0 802425F0 AFA2001C */ sw $v0, 0x1c($sp) +/* C792D4 802425F4 27A20028 */ addiu $v0, $sp, 0x28 +/* C792D8 802425F8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C792DC 802425FC E7A20014 */ swc1 $f2, 0x14($sp) +/* C792E0 80242600 E7A40018 */ swc1 $f4, 0x18($sp) +/* C792E4 80242604 0C01BFA4 */ jal fx_emote +/* C792E8 80242608 AFA20020 */ sw $v0, 0x20($sp) +/* C792EC 8024260C 2402000D */ addiu $v0, $zero, 0xd +/* C792F0 80242610 AE220070 */ sw $v0, 0x70($s1) +.L80242614: +/* C792F4 80242614 8FBF0038 */ lw $ra, 0x38($sp) +/* C792F8 80242618 8FB10034 */ lw $s1, 0x34($sp) +/* C792FC 8024261C 8FB00030 */ lw $s0, 0x30($sp) +/* C79300 80242620 03E00008 */ jr $ra +/* C79304 80242624 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242628.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242628.s new file mode 100644 index 0000000000..450f72a6bd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242628.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242628 +/* C79308 80242628 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7930C 8024262C AFB10014 */ sw $s1, 0x14($sp) +/* C79310 80242630 0080882D */ daddu $s1, $a0, $zero +/* C79314 80242634 AFBF0018 */ sw $ra, 0x18($sp) +/* C79318 80242638 AFB00010 */ sw $s0, 0x10($sp) +/* C7931C 8024263C 8E300148 */ lw $s0, 0x148($s1) +/* C79320 80242640 0C00EABB */ jal get_npc_unsafe +/* C79324 80242644 86040008 */ lh $a0, 8($s0) +/* C79328 80242648 0040182D */ daddu $v1, $v0, $zero +/* C7932C 8024264C 9462008E */ lhu $v0, 0x8e($v1) +/* C79330 80242650 2442FFFF */ addiu $v0, $v0, -1 +/* C79334 80242654 A462008E */ sh $v0, 0x8e($v1) +/* C79338 80242658 00021400 */ sll $v0, $v0, 0x10 +/* C7933C 8024265C 14400005 */ bnez $v0, .L80242674 +/* C79340 80242660 00000000 */ nop +/* C79344 80242664 960200AA */ lhu $v0, 0xaa($s0) +/* C79348 80242668 A462008E */ sh $v0, 0x8e($v1) +/* C7934C 8024266C 2402000E */ addiu $v0, $zero, 0xe +/* C79350 80242670 AE220070 */ sw $v0, 0x70($s1) +.L80242674: +/* C79354 80242674 8FBF0018 */ lw $ra, 0x18($sp) +/* C79358 80242678 8FB10014 */ lw $s1, 0x14($sp) +/* C7935C 8024267C 8FB00010 */ lw $s0, 0x10($sp) +/* C79360 80242680 03E00008 */ jr $ra +/* C79364 80242684 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242688.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242688.s new file mode 100644 index 0000000000..d4ee64f023 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242688.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242688 +/* C79368 80242688 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C7936C 8024268C AFB40040 */ sw $s4, 0x40($sp) +/* C79370 80242690 0080A02D */ daddu $s4, $a0, $zero +/* C79374 80242694 AFBF0044 */ sw $ra, 0x44($sp) +/* C79378 80242698 AFB3003C */ sw $s3, 0x3c($sp) +/* C7937C 8024269C AFB20038 */ sw $s2, 0x38($sp) +/* C79380 802426A0 AFB10034 */ sw $s1, 0x34($sp) +/* C79384 802426A4 AFB00030 */ sw $s0, 0x30($sp) +/* C79388 802426A8 8E910148 */ lw $s1, 0x148($s4) +/* C7938C 802426AC 00A0902D */ daddu $s2, $a1, $zero +/* C79390 802426B0 86240008 */ lh $a0, 8($s1) +/* C79394 802426B4 0C00EABB */ jal get_npc_unsafe +/* C79398 802426B8 00C0982D */ daddu $s3, $a2, $zero +/* C7939C 802426BC 0040802D */ daddu $s0, $v0, $zero +/* C793A0 802426C0 9602008E */ lhu $v0, 0x8e($s0) +/* C793A4 802426C4 2442FFFF */ addiu $v0, $v0, -1 +/* C793A8 802426C8 A602008E */ sh $v0, 0x8e($s0) +/* C793AC 802426CC 00021400 */ sll $v0, $v0, 0x10 +/* C793B0 802426D0 14400020 */ bnez $v0, .L80242754 +/* C793B4 802426D4 0260202D */ daddu $a0, $s3, $zero +/* C793B8 802426D8 AFA00010 */ sw $zero, 0x10($sp) +/* C793BC 802426DC 8E46000C */ lw $a2, 0xc($s2) +/* C793C0 802426E0 8E470010 */ lw $a3, 0x10($s2) +/* C793C4 802426E4 0C01242D */ jal func_800490B4 +/* C793C8 802426E8 0220282D */ daddu $a1, $s1, $zero +/* C793CC 802426EC 54400018 */ bnel $v0, $zero, .L80242750 +/* C793D0 802426F0 A600008E */ sh $zero, 0x8e($s0) +/* C793D4 802426F4 24040002 */ addiu $a0, $zero, 2 +/* C793D8 802426F8 0200282D */ daddu $a1, $s0, $zero +/* C793DC 802426FC 0000302D */ daddu $a2, $zero, $zero +/* C793E0 80242700 860300A8 */ lh $v1, 0xa8($s0) +/* C793E4 80242704 3C013F80 */ lui $at, 0x3f80 +/* C793E8 80242708 44810000 */ mtc1 $at, $f0 +/* C793EC 8024270C 3C014000 */ lui $at, 0x4000 +/* C793F0 80242710 44811000 */ mtc1 $at, $f2 +/* C793F4 80242714 3C01C1A0 */ lui $at, 0xc1a0 +/* C793F8 80242718 44812000 */ mtc1 $at, $f4 +/* C793FC 8024271C 2402000F */ addiu $v0, $zero, 0xf +/* C79400 80242720 AFA2001C */ sw $v0, 0x1c($sp) +/* C79404 80242724 44833000 */ mtc1 $v1, $f6 +/* C79408 80242728 00000000 */ nop +/* C7940C 8024272C 468031A0 */ cvt.s.w $f6, $f6 +/* C79410 80242730 44073000 */ mfc1 $a3, $f6 +/* C79414 80242734 27A20028 */ addiu $v0, $sp, 0x28 +/* C79418 80242738 AFA20020 */ sw $v0, 0x20($sp) +/* C7941C 8024273C E7A00010 */ swc1 $f0, 0x10($sp) +/* C79420 80242740 E7A20014 */ swc1 $f2, 0x14($sp) +/* C79424 80242744 0C01BFA4 */ jal fx_emote +/* C79428 80242748 E7A40018 */ swc1 $f4, 0x18($sp) +/* C7942C 8024274C A600008E */ sh $zero, 0x8e($s0) +.L80242750: +/* C79430 80242750 AE800070 */ sw $zero, 0x70($s4) +.L80242754: +/* C79434 80242754 8FBF0044 */ lw $ra, 0x44($sp) +/* C79438 80242758 8FB40040 */ lw $s4, 0x40($sp) +/* C7943C 8024275C 8FB3003C */ lw $s3, 0x3c($sp) +/* C79440 80242760 8FB20038 */ lw $s2, 0x38($sp) +/* C79444 80242764 8FB10034 */ lw $s1, 0x34($sp) +/* C79448 80242768 8FB00030 */ lw $s0, 0x30($sp) +/* C7944C 8024276C 03E00008 */ jr $ra +/* C79450 80242770 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242774.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242774.s new file mode 100644 index 0000000000..42a598f733 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242774.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242774 +/* C79454 80242774 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C79458 80242778 AFB20038 */ sw $s2, 0x38($sp) +/* C7945C 8024277C 0080902D */ daddu $s2, $a0, $zero +/* C79460 80242780 AFBF0048 */ sw $ra, 0x48($sp) +/* C79464 80242784 AFB50044 */ sw $s5, 0x44($sp) +/* C79468 80242788 AFB40040 */ sw $s4, 0x40($sp) +/* C7946C 8024278C AFB3003C */ sw $s3, 0x3c($sp) +/* C79470 80242790 AFB10034 */ sw $s1, 0x34($sp) +/* C79474 80242794 AFB00030 */ sw $s0, 0x30($sp) +/* C79478 80242798 8E510148 */ lw $s1, 0x148($s2) +/* C7947C 8024279C 86240008 */ lh $a0, 8($s1) +/* C79480 802427A0 0C00EABB */ jal get_npc_unsafe +/* C79484 802427A4 00A0802D */ daddu $s0, $a1, $zero +/* C79488 802427A8 8E43000C */ lw $v1, 0xc($s2) +/* C7948C 802427AC 0240202D */ daddu $a0, $s2, $zero +/* C79490 802427B0 8C650000 */ lw $a1, ($v1) +/* C79494 802427B4 0C0B1EAF */ jal get_variable +/* C79498 802427B8 0040A82D */ daddu $s5, $v0, $zero +/* C7949C 802427BC AFA00010 */ sw $zero, 0x10($sp) +/* C794A0 802427C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C794A4 802427C4 8C630030 */ lw $v1, 0x30($v1) +/* C794A8 802427C8 AFA30014 */ sw $v1, 0x14($sp) +/* C794AC 802427CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C794B0 802427D0 8C63001C */ lw $v1, 0x1c($v1) +/* C794B4 802427D4 AFA30018 */ sw $v1, 0x18($sp) +/* C794B8 802427D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C794BC 802427DC 8C630024 */ lw $v1, 0x24($v1) +/* C794C0 802427E0 AFA3001C */ sw $v1, 0x1c($sp) +/* C794C4 802427E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C794C8 802427E8 8C630028 */ lw $v1, 0x28($v1) +/* C794CC 802427EC 27B40010 */ addiu $s4, $sp, 0x10 +/* C794D0 802427F0 AFA30020 */ sw $v1, 0x20($sp) +/* C794D4 802427F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C794D8 802427F8 3C014348 */ lui $at, 0x4348 +/* C794DC 802427FC 44810000 */ mtc1 $at, $f0 +/* C794E0 80242800 8C63002C */ lw $v1, 0x2c($v1) +/* C794E4 80242804 0040982D */ daddu $s3, $v0, $zero +/* C794E8 80242808 E7A00028 */ swc1 $f0, 0x28($sp) +/* C794EC 8024280C A7A0002C */ sh $zero, 0x2c($sp) +/* C794F0 80242810 16000005 */ bnez $s0, .L80242828 +/* C794F4 80242814 AFA30024 */ sw $v1, 0x24($sp) +/* C794F8 80242818 8E2200B0 */ lw $v0, 0xb0($s1) +/* C794FC 8024281C 30420004 */ andi $v0, $v0, 4 +/* C79500 80242820 10400011 */ beqz $v0, .L80242868 +/* C79504 80242824 00000000 */ nop +.L80242828: +/* C79508 80242828 AE400070 */ sw $zero, 0x70($s2) +/* C7950C 8024282C A6A0008E */ sh $zero, 0x8e($s5) +/* C79510 80242830 8E2200CC */ lw $v0, 0xcc($s1) +/* C79514 80242834 8C420000 */ lw $v0, ($v0) +/* C79518 80242838 AEA20028 */ sw $v0, 0x28($s5) +/* C7951C 8024283C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C79520 80242840 30420004 */ andi $v0, $v0, 4 +/* C79524 80242844 10400008 */ beqz $v0, .L80242868 +/* C79528 80242848 AE20006C */ sw $zero, 0x6c($s1) +/* C7952C 8024284C 24020063 */ addiu $v0, $zero, 0x63 +/* C79530 80242850 AE420070 */ sw $v0, 0x70($s2) +/* C79534 80242854 AE400074 */ sw $zero, 0x74($s2) +/* C79538 80242858 8E2200B0 */ lw $v0, 0xb0($s1) +/* C7953C 8024285C 2403FFFB */ addiu $v1, $zero, -5 +/* C79540 80242860 00431024 */ and $v0, $v0, $v1 +/* C79544 80242864 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242868: +/* C79548 80242868 8E430070 */ lw $v1, 0x70($s2) +/* C7954C 8024286C 2410000B */ addiu $s0, $zero, 0xb +/* C79550 80242870 1070002A */ beq $v1, $s0, .L8024291C +/* C79554 80242874 2862000C */ slti $v0, $v1, 0xc +/* C79558 80242878 1040000D */ beqz $v0, .L802428B0 +/* C7955C 8024287C 24020001 */ addiu $v0, $zero, 1 +/* C79560 80242880 1062001A */ beq $v1, $v0, .L802428EC +/* C79564 80242884 28620002 */ slti $v0, $v1, 2 +/* C79568 80242888 10400005 */ beqz $v0, .L802428A0 +/* C7956C 8024288C 2402000A */ addiu $v0, $zero, 0xa +/* C79570 80242890 10600013 */ beqz $v1, .L802428E0 +/* C79574 80242894 0240202D */ daddu $a0, $s2, $zero +/* C79578 80242898 08090A67 */ j .L8024299C +/* C7957C 8024289C 00000000 */ nop +.L802428A0: +/* C79580 802428A0 10620018 */ beq $v1, $v0, .L80242904 +/* C79584 802428A4 0240202D */ daddu $a0, $s2, $zero +/* C79588 802428A8 08090A67 */ j .L8024299C +/* C7958C 802428AC 00000000 */ nop +.L802428B0: +/* C79590 802428B0 2402000D */ addiu $v0, $zero, 0xd +/* C79594 802428B4 10620029 */ beq $v1, $v0, .L8024295C +/* C79598 802428B8 0062102A */ slt $v0, $v1, $v0 +/* C7959C 802428BC 14400020 */ bnez $v0, .L80242940 +/* C795A0 802428C0 0240202D */ daddu $a0, $s2, $zero +/* C795A4 802428C4 2402000E */ addiu $v0, $zero, 0xe +/* C795A8 802428C8 1062002D */ beq $v1, $v0, .L80242980 +/* C795AC 802428CC 24020063 */ addiu $v0, $zero, 0x63 +/* C795B0 802428D0 10620030 */ beq $v1, $v0, .L80242994 +/* C795B4 802428D4 00000000 */ nop +/* C795B8 802428D8 08090A67 */ j .L8024299C +/* C795BC 802428DC 00000000 */ nop +.L802428E0: +/* C795C0 802428E0 0260282D */ daddu $a1, $s3, $zero +/* C795C4 802428E4 0C09063C */ jal func_802418F0 +/* C795C8 802428E8 0280302D */ daddu $a2, $s4, $zero +.L802428EC: +/* C795CC 802428EC 0240202D */ daddu $a0, $s2, $zero +/* C795D0 802428F0 0260282D */ daddu $a1, $s3, $zero +/* C795D4 802428F4 0C090657 */ jal func_8024195C +/* C795D8 802428F8 0280302D */ daddu $a2, $s4, $zero +/* C795DC 802428FC 08090A67 */ j .L8024299C +/* C795E0 80242900 00000000 */ nop +.L80242904: +/* C795E4 80242904 0260282D */ daddu $a1, $s3, $zero +/* C795E8 80242908 0C090696 */ jal func_80241A58 +/* C795EC 8024290C 0280302D */ daddu $a2, $s4, $zero +/* C795F0 80242910 8E420070 */ lw $v0, 0x70($s2) +/* C795F4 80242914 14500021 */ bne $v0, $s0, .L8024299C +/* C795F8 80242918 00000000 */ nop +.L8024291C: +/* C795FC 8024291C 0240202D */ daddu $a0, $s2, $zero +/* C79600 80242920 0260282D */ daddu $a1, $s3, $zero +/* C79604 80242924 0C090926 */ jal func_80242498 +/* C79608 80242928 0280302D */ daddu $a2, $s4, $zero +/* C7960C 8024292C 8E430070 */ lw $v1, 0x70($s2) +/* C79610 80242930 2402000C */ addiu $v0, $zero, 0xc +/* C79614 80242934 14620019 */ bne $v1, $v0, .L8024299C +/* C79618 80242938 00000000 */ nop +/* C7961C 8024293C 0240202D */ daddu $a0, $s2, $zero +.L80242940: +/* C79620 80242940 0260282D */ daddu $a1, $s3, $zero +/* C79624 80242944 0C09094A */ jal func_80242528 +/* C79628 80242948 0280302D */ daddu $a2, $s4, $zero +/* C7962C 8024294C 8E430070 */ lw $v1, 0x70($s2) +/* C79630 80242950 2402000D */ addiu $v0, $zero, 0xd +/* C79634 80242954 14620011 */ bne $v1, $v0, .L8024299C +/* C79638 80242958 00000000 */ nop +.L8024295C: +/* C7963C 8024295C 0240202D */ daddu $a0, $s2, $zero +/* C79640 80242960 0260282D */ daddu $a1, $s3, $zero +/* C79644 80242964 0C09098A */ jal func_80242628 +/* C79648 80242968 0280302D */ daddu $a2, $s4, $zero +/* C7964C 8024296C 8E430070 */ lw $v1, 0x70($s2) +/* C79650 80242970 2402000E */ addiu $v0, $zero, 0xe +/* C79654 80242974 14620009 */ bne $v1, $v0, .L8024299C +/* C79658 80242978 00000000 */ nop +/* C7965C 8024297C 0240202D */ daddu $a0, $s2, $zero +.L80242980: +/* C79660 80242980 0260282D */ daddu $a1, $s3, $zero +/* C79664 80242984 0C0909A2 */ jal func_80242688 +/* C79668 80242988 0280302D */ daddu $a2, $s4, $zero +/* C7966C 8024298C 08090A67 */ j .L8024299C +/* C79670 80242990 00000000 */ nop +.L80242994: +/* C79674 80242994 0C0129CF */ jal func_8004A73C +/* C79678 80242998 0240202D */ daddu $a0, $s2, $zero +.L8024299C: +/* C7967C 8024299C 8FBF0048 */ lw $ra, 0x48($sp) +/* C79680 802429A0 8FB50044 */ lw $s5, 0x44($sp) +/* C79684 802429A4 8FB40040 */ lw $s4, 0x40($sp) +/* C79688 802429A8 8FB3003C */ lw $s3, 0x3c($sp) +/* C7968C 802429AC 8FB20038 */ lw $s2, 0x38($sp) +/* C79690 802429B0 8FB10034 */ lw $s1, 0x34($sp) +/* C79694 802429B4 8FB00030 */ lw $s0, 0x30($sp) +/* C79698 802429B8 0000102D */ daddu $v0, $zero, $zero +/* C7969C 802429BC 03E00008 */ jr $ra +/* C796A0 802429C0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802429C4.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802429C4.s new file mode 100644 index 0000000000..f8f1eb84bc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802429C4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429C4 +/* C796A4 802429C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C796A8 802429C8 AFB20018 */ sw $s2, 0x18($sp) +/* C796AC 802429CC 0080902D */ daddu $s2, $a0, $zero +/* C796B0 802429D0 AFBF001C */ sw $ra, 0x1c($sp) +/* C796B4 802429D4 AFB10014 */ sw $s1, 0x14($sp) +/* C796B8 802429D8 AFB00010 */ sw $s0, 0x10($sp) +/* C796BC 802429DC 8E510148 */ lw $s1, 0x148($s2) +/* C796C0 802429E0 0C00EABB */ jal get_npc_unsafe +/* C796C4 802429E4 86240008 */ lh $a0, 8($s1) +/* C796C8 802429E8 0040802D */ daddu $s0, $v0, $zero +/* C796CC 802429EC 8E2300CC */ lw $v1, 0xcc($s1) +/* C796D0 802429F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C796D4 802429F4 8C630020 */ lw $v1, 0x20($v1) +/* C796D8 802429F8 AE030028 */ sw $v1, 0x28($s0) +/* C796DC 802429FC 96220076 */ lhu $v0, 0x76($s1) +/* C796E0 80242A00 A602008E */ sh $v0, 0x8e($s0) +/* C796E4 80242A04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C796E8 80242A08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C796EC 80242A0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* C796F0 80242A10 8C460028 */ lw $a2, 0x28($v0) +/* C796F4 80242A14 0C00A720 */ jal atan2 +/* C796F8 80242A18 8C470030 */ lw $a3, 0x30($v0) +/* C796FC 80242A1C 2402000D */ addiu $v0, $zero, 0xd +/* C79700 80242A20 E600000C */ swc1 $f0, 0xc($s0) +/* C79704 80242A24 AE420070 */ sw $v0, 0x70($s2) +/* C79708 80242A28 8FBF001C */ lw $ra, 0x1c($sp) +/* C7970C 80242A2C 8FB20018 */ lw $s2, 0x18($sp) +/* C79710 80242A30 8FB10014 */ lw $s1, 0x14($sp) +/* C79714 80242A34 8FB00010 */ lw $s0, 0x10($sp) +/* C79718 80242A38 03E00008 */ jr $ra +/* C7971C 80242A3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242A40.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242A40.s new file mode 100644 index 0000000000..6b1330a868 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242A40.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A40 +/* C79720 80242A40 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C79724 80242A44 AFB3001C */ sw $s3, 0x1c($sp) +/* C79728 80242A48 0080982D */ daddu $s3, $a0, $zero +/* C7972C 80242A4C AFBF0020 */ sw $ra, 0x20($sp) +/* C79730 80242A50 AFB20018 */ sw $s2, 0x18($sp) +/* C79734 80242A54 AFB10014 */ sw $s1, 0x14($sp) +/* C79738 80242A58 AFB00010 */ sw $s0, 0x10($sp) +/* C7973C 80242A5C 8E710148 */ lw $s1, 0x148($s3) +/* C79740 80242A60 86240008 */ lh $a0, 8($s1) +/* C79744 80242A64 0C00EABB */ jal get_npc_unsafe +/* C79748 80242A68 00A0902D */ daddu $s2, $a1, $zero +/* C7974C 80242A6C 0040802D */ daddu $s0, $v0, $zero +/* C79750 80242A70 8602008E */ lh $v0, 0x8e($s0) +/* C79754 80242A74 9603008E */ lhu $v1, 0x8e($s0) +/* C79758 80242A78 18400005 */ blez $v0, .L80242A90 +/* C7975C 80242A7C 2462FFFF */ addiu $v0, $v1, -1 +/* C79760 80242A80 A602008E */ sh $v0, 0x8e($s0) +/* C79764 80242A84 00021400 */ sll $v0, $v0, 0x10 +/* C79768 80242A88 1C400033 */ bgtz $v0, .L80242B58 +/* C7976C 80242A8C 00000000 */ nop +.L80242A90: +/* C79770 80242A90 8602008C */ lh $v0, 0x8c($s0) +/* C79774 80242A94 14400030 */ bnez $v0, .L80242B58 +/* C79778 80242A98 00000000 */ nop +/* C7977C 80242A9C 8E2200CC */ lw $v0, 0xcc($s1) +/* C79780 80242AA0 8C420024 */ lw $v0, 0x24($v0) +/* C79784 80242AA4 AE020028 */ sw $v0, 0x28($s0) +/* C79788 80242AA8 C6400018 */ lwc1 $f0, 0x18($s2) +/* C7978C 80242AAC E6000018 */ swc1 $f0, 0x18($s0) +/* C79790 80242AB0 8E230088 */ lw $v1, 0x88($s1) +/* C79794 80242AB4 24020005 */ addiu $v0, $zero, 5 +/* C79798 80242AB8 10620005 */ beq $v1, $v0, .L80242AD0 +/* C7979C 80242ABC 00000000 */ nop +/* C797A0 80242AC0 10600003 */ beqz $v1, .L80242AD0 +/* C797A4 80242AC4 24020001 */ addiu $v0, $zero, 1 +/* C797A8 80242AC8 14620006 */ bne $v1, $v0, .L80242AE4 +/* C797AC 80242ACC 00000000 */ nop +.L80242AD0: +/* C797B0 80242AD0 8E220084 */ lw $v0, 0x84($s1) +/* C797B4 80242AD4 00021FC2 */ srl $v1, $v0, 0x1f +/* C797B8 80242AD8 00431021 */ addu $v0, $v0, $v1 +/* C797BC 80242ADC 00021043 */ sra $v0, $v0, 1 +/* C797C0 80242AE0 A60200A8 */ sh $v0, 0xa8($s0) +.L80242AE4: +/* C797C4 80242AE4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C797C8 80242AE8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C797CC 80242AEC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C797D0 80242AF0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C797D4 80242AF4 8C460028 */ lw $a2, 0x28($v0) +/* C797D8 80242AF8 0C00A7B5 */ jal dist2D +/* C797DC 80242AFC 8C470030 */ lw $a3, 0x30($v0) +/* C797E0 80242B00 C6020018 */ lwc1 $f2, 0x18($s0) +/* C797E4 80242B04 46020003 */ div.s $f0, $f0, $f2 +/* C797E8 80242B08 3C018024 */ lui $at, 0x8024 +/* C797EC 80242B0C D4227438 */ ldc1 $f2, 0x7438($at) +/* C797F0 80242B10 46000021 */ cvt.d.s $f0, $f0 +/* C797F4 80242B14 46220000 */ add.d $f0, $f0, $f2 +/* C797F8 80242B18 4620010D */ trunc.w.d $f4, $f0 +/* C797FC 80242B1C 44022000 */ mfc1 $v0, $f4 +/* C79800 80242B20 00000000 */ nop +/* C79804 80242B24 A602008E */ sh $v0, 0x8e($s0) +/* C79808 80242B28 00021400 */ sll $v0, $v0, 0x10 +/* C7980C 80242B2C 8E230078 */ lw $v1, 0x78($s1) +/* C79810 80242B30 00021403 */ sra $v0, $v0, 0x10 +/* C79814 80242B34 0043102A */ slt $v0, $v0, $v1 +/* C79818 80242B38 10400003 */ beqz $v0, .L80242B48 +/* C7981C 80242B3C 00000000 */ nop +/* C79820 80242B40 9622007A */ lhu $v0, 0x7a($s1) +/* C79824 80242B44 A602008E */ sh $v0, 0x8e($s0) +.L80242B48: +/* C79828 80242B48 8602008E */ lh $v0, 0x8e($s0) +/* C7982C 80242B4C AE22007C */ sw $v0, 0x7c($s1) +/* C79830 80242B50 2402000E */ addiu $v0, $zero, 0xe +/* C79834 80242B54 AE620070 */ sw $v0, 0x70($s3) +.L80242B58: +/* C79838 80242B58 8FBF0020 */ lw $ra, 0x20($sp) +/* C7983C 80242B5C 8FB3001C */ lw $s3, 0x1c($sp) +/* C79840 80242B60 8FB20018 */ lw $s2, 0x18($sp) +/* C79844 80242B64 8FB10014 */ lw $s1, 0x14($sp) +/* C79848 80242B68 8FB00010 */ lw $s0, 0x10($sp) +/* C7984C 80242B6C 03E00008 */ jr $ra +/* C79850 80242B70 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242B74.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242B74.s new file mode 100644 index 0000000000..a2a855f715 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242B74.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B74 +/* C79854 80242B74 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C79858 80242B78 AFB3003C */ sw $s3, 0x3c($sp) +/* C7985C 80242B7C 0080982D */ daddu $s3, $a0, $zero +/* C79860 80242B80 AFBF0040 */ sw $ra, 0x40($sp) +/* C79864 80242B84 AFB20038 */ sw $s2, 0x38($sp) +/* C79868 80242B88 AFB10034 */ sw $s1, 0x34($sp) +/* C7986C 80242B8C AFB00030 */ sw $s0, 0x30($sp) +/* C79870 80242B90 8E710148 */ lw $s1, 0x148($s3) +/* C79874 80242B94 0C00EABB */ jal get_npc_unsafe +/* C79878 80242B98 86240008 */ lh $a0, 8($s1) +/* C7987C 80242B9C 0040802D */ daddu $s0, $v0, $zero +/* C79880 80242BA0 8E22007C */ lw $v0, 0x7c($s1) +/* C79884 80242BA4 8603008E */ lh $v1, 0x8e($s0) +/* C79888 80242BA8 2442FFFF */ addiu $v0, $v0, -1 +/* C7988C 80242BAC 14620012 */ bne $v1, $v0, .L80242BF8 +/* C79890 80242BB0 00000000 */ nop +/* C79894 80242BB4 C6000038 */ lwc1 $f0, 0x38($s0) +/* C79898 80242BB8 4600020D */ trunc.w.s $f8, $f0 +/* C7989C 80242BBC 44024000 */ mfc1 $v0, $f8 +/* C798A0 80242BC0 00000000 */ nop +/* C798A4 80242BC4 A6220010 */ sh $v0, 0x10($s1) +/* C798A8 80242BC8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C798AC 80242BCC 4600020D */ trunc.w.s $f8, $f0 +/* C798B0 80242BD0 44024000 */ mfc1 $v0, $f8 +/* C798B4 80242BD4 00000000 */ nop +/* C798B8 80242BD8 A6220012 */ sh $v0, 0x12($s1) +/* C798BC 80242BDC C6000040 */ lwc1 $f0, 0x40($s0) +/* C798C0 80242BE0 24020001 */ addiu $v0, $zero, 1 +/* C798C4 80242BE4 A2220007 */ sb $v0, 7($s1) +/* C798C8 80242BE8 4600020D */ trunc.w.s $f8, $f0 +/* C798CC 80242BEC 44024000 */ mfc1 $v0, $f8 +/* C798D0 80242BF0 00000000 */ nop +/* C798D4 80242BF4 A6220014 */ sh $v0, 0x14($s1) +.L80242BF8: +/* C798D8 80242BF8 C6000038 */ lwc1 $f0, 0x38($s0) +/* C798DC 80242BFC C602003C */ lwc1 $f2, 0x3c($s0) +/* C798E0 80242C00 C6040040 */ lwc1 $f4, 0x40($s0) +/* C798E4 80242C04 C6060018 */ lwc1 $f6, 0x18($s0) +/* C798E8 80242C08 E7A00020 */ swc1 $f0, 0x20($sp) +/* C798EC 80242C0C E7A20024 */ swc1 $f2, 0x24($sp) +/* C798F0 80242C10 E7A40028 */ swc1 $f4, 0x28($sp) +/* C798F4 80242C14 E7A60010 */ swc1 $f6, 0x10($sp) +/* C798F8 80242C18 C600000C */ lwc1 $f0, 0xc($s0) +/* C798FC 80242C1C E7A00014 */ swc1 $f0, 0x14($sp) +/* C79900 80242C20 860200A8 */ lh $v0, 0xa8($s0) +/* C79904 80242C24 27A50020 */ addiu $a1, $sp, 0x20 +/* C79908 80242C28 44820000 */ mtc1 $v0, $f0 +/* C7990C 80242C2C 00000000 */ nop +/* C79910 80242C30 46800020 */ cvt.s.w $f0, $f0 +/* C79914 80242C34 E7A00018 */ swc1 $f0, 0x18($sp) +/* C79918 80242C38 860200A6 */ lh $v0, 0xa6($s0) +/* C7991C 80242C3C 27A60024 */ addiu $a2, $sp, 0x24 +/* C79920 80242C40 44820000 */ mtc1 $v0, $f0 +/* C79924 80242C44 00000000 */ nop +/* C79928 80242C48 46800020 */ cvt.s.w $f0, $f0 +/* C7992C 80242C4C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C79930 80242C50 8E040080 */ lw $a0, 0x80($s0) +/* C79934 80242C54 0C037711 */ jal func_800DDC44 +/* C79938 80242C58 27A70028 */ addiu $a3, $sp, 0x28 +/* C7993C 80242C5C 0040902D */ daddu $s2, $v0, $zero +/* C79940 80242C60 16400005 */ bnez $s2, .L80242C78 +/* C79944 80242C64 00000000 */ nop +/* C79948 80242C68 8E050018 */ lw $a1, 0x18($s0) +/* C7994C 80242C6C 8E06000C */ lw $a2, 0xc($s0) +/* C79950 80242C70 0C00EA95 */ jal npc_move_heading +/* C79954 80242C74 0200202D */ daddu $a0, $s0, $zero +.L80242C78: +/* C79958 80242C78 8602008E */ lh $v0, 0x8e($s0) +/* C7995C 80242C7C 9603008E */ lhu $v1, 0x8e($s0) +/* C79960 80242C80 18400007 */ blez $v0, .L80242CA0 +/* C79964 80242C84 2462FFFF */ addiu $v0, $v1, -1 +/* C79968 80242C88 A602008E */ sh $v0, 0x8e($s0) +/* C7996C 80242C8C 00021400 */ sll $v0, $v0, 0x10 +/* C79970 80242C90 18400003 */ blez $v0, .L80242CA0 +/* C79974 80242C94 00000000 */ nop +/* C79978 80242C98 12400008 */ beqz $s2, .L80242CBC +/* C7997C 80242C9C 00000000 */ nop +.L80242CA0: +/* C79980 80242CA0 8E2200CC */ lw $v0, 0xcc($s1) +/* C79984 80242CA4 A2200007 */ sb $zero, 7($s1) +/* C79988 80242CA8 8C420028 */ lw $v0, 0x28($v0) +/* C7998C 80242CAC A600008E */ sh $zero, 0x8e($s0) +/* C79990 80242CB0 AE020028 */ sw $v0, 0x28($s0) +/* C79994 80242CB4 2402000F */ addiu $v0, $zero, 0xf +/* C79998 80242CB8 AE620070 */ sw $v0, 0x70($s3) +.L80242CBC: +/* C7999C 80242CBC 8FBF0040 */ lw $ra, 0x40($sp) +/* C799A0 80242CC0 8FB3003C */ lw $s3, 0x3c($sp) +/* C799A4 80242CC4 8FB20038 */ lw $s2, 0x38($sp) +/* C799A8 80242CC8 8FB10034 */ lw $s1, 0x34($sp) +/* C799AC 80242CCC 8FB00030 */ lw $s0, 0x30($sp) +/* C799B0 80242CD0 03E00008 */ jr $ra +/* C799B4 80242CD4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242CD8.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242CD8.s new file mode 100644 index 0000000000..022f2e7578 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242CD8.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CD8 +/* C799B8 80242CD8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C799BC 80242CDC AFB10014 */ sw $s1, 0x14($sp) +/* C799C0 80242CE0 0080882D */ daddu $s1, $a0, $zero +/* C799C4 80242CE4 AFBF0018 */ sw $ra, 0x18($sp) +/* C799C8 80242CE8 AFB00010 */ sw $s0, 0x10($sp) +/* C799CC 80242CEC 8E300148 */ lw $s0, 0x148($s1) +/* C799D0 80242CF0 0C00EABB */ jal get_npc_unsafe +/* C799D4 80242CF4 86040008 */ lh $a0, 8($s0) +/* C799D8 80242CF8 0040202D */ daddu $a0, $v0, $zero +/* C799DC 80242CFC 9482008E */ lhu $v0, 0x8e($a0) +/* C799E0 80242D00 24030003 */ addiu $v1, $zero, 3 +/* C799E4 80242D04 24420001 */ addiu $v0, $v0, 1 +/* C799E8 80242D08 A482008E */ sh $v0, 0x8e($a0) +/* C799EC 80242D0C 00021400 */ sll $v0, $v0, 0x10 +/* C799F0 80242D10 00021403 */ sra $v0, $v0, 0x10 +/* C799F4 80242D14 14430003 */ bne $v0, $v1, .L80242D24 +/* C799F8 80242D18 00000000 */ nop +/* C799FC 80242D1C 96020086 */ lhu $v0, 0x86($s0) +/* C79A00 80242D20 A48200A8 */ sh $v0, 0xa8($a0) +.L80242D24: +/* C79A04 80242D24 8482008E */ lh $v0, 0x8e($a0) +/* C79A08 80242D28 8E030080 */ lw $v1, 0x80($s0) +/* C79A0C 80242D2C 0043102A */ slt $v0, $v0, $v1 +/* C79A10 80242D30 14400004 */ bnez $v0, .L80242D44 +/* C79A14 80242D34 00000000 */ nop +/* C79A18 80242D38 96020086 */ lhu $v0, 0x86($s0) +/* C79A1C 80242D3C A48200A8 */ sh $v0, 0xa8($a0) +/* C79A20 80242D40 AE200070 */ sw $zero, 0x70($s1) +.L80242D44: +/* C79A24 80242D44 8FBF0018 */ lw $ra, 0x18($sp) +/* C79A28 80242D48 8FB10014 */ lw $s1, 0x14($sp) +/* C79A2C 80242D4C 8FB00010 */ lw $s0, 0x10($sp) +/* C79A30 80242D50 03E00008 */ jr $ra +/* C79A34 80242D54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80242D58.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242D58.s new file mode 100644 index 0000000000..ce032bd700 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80242D58.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D58 +/* C79A38 80242D58 27BDFF90 */ addiu $sp, $sp, -0x70 +/* C79A3C 80242D5C AFB3005C */ sw $s3, 0x5c($sp) +/* C79A40 80242D60 0080982D */ daddu $s3, $a0, $zero +/* C79A44 80242D64 AFBF0068 */ sw $ra, 0x68($sp) +/* C79A48 80242D68 AFB50064 */ sw $s5, 0x64($sp) +/* C79A4C 80242D6C AFB40060 */ sw $s4, 0x60($sp) +/* C79A50 80242D70 AFB20058 */ sw $s2, 0x58($sp) +/* C79A54 80242D74 AFB10054 */ sw $s1, 0x54($sp) +/* C79A58 80242D78 AFB00050 */ sw $s0, 0x50($sp) +/* C79A5C 80242D7C 8E710148 */ lw $s1, 0x148($s3) +/* C79A60 80242D80 86240008 */ lh $a0, 8($s1) +/* C79A64 80242D84 0C00EABB */ jal get_npc_unsafe +/* C79A68 80242D88 00A0802D */ daddu $s0, $a1, $zero +/* C79A6C 80242D8C 8E63000C */ lw $v1, 0xc($s3) +/* C79A70 80242D90 0260202D */ daddu $a0, $s3, $zero +/* C79A74 80242D94 8C650000 */ lw $a1, ($v1) +/* C79A78 80242D98 0C0B1EAF */ jal get_variable +/* C79A7C 80242D9C 0040902D */ daddu $s2, $v0, $zero +/* C79A80 80242DA0 AFA00028 */ sw $zero, 0x28($sp) +/* C79A84 80242DA4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C79A88 80242DA8 8C630030 */ lw $v1, 0x30($v1) +/* C79A8C 80242DAC AFA3002C */ sw $v1, 0x2c($sp) +/* C79A90 80242DB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C79A94 80242DB4 8C63001C */ lw $v1, 0x1c($v1) +/* C79A98 80242DB8 AFA30030 */ sw $v1, 0x30($sp) +/* C79A9C 80242DBC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C79AA0 80242DC0 8C630024 */ lw $v1, 0x24($v1) +/* C79AA4 80242DC4 AFA30034 */ sw $v1, 0x34($sp) +/* C79AA8 80242DC8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C79AAC 80242DCC 8C630028 */ lw $v1, 0x28($v1) +/* C79AB0 80242DD0 27B50028 */ addiu $s5, $sp, 0x28 +/* C79AB4 80242DD4 AFA30038 */ sw $v1, 0x38($sp) +/* C79AB8 80242DD8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C79ABC 80242DDC 3C0142C8 */ lui $at, 0x42c8 +/* C79AC0 80242DE0 44810000 */ mtc1 $at, $f0 +/* C79AC4 80242DE4 8C63002C */ lw $v1, 0x2c($v1) +/* C79AC8 80242DE8 0040A02D */ daddu $s4, $v0, $zero +/* C79ACC 80242DEC E7A00040 */ swc1 $f0, 0x40($sp) +/* C79AD0 80242DF0 A7A00044 */ sh $zero, 0x44($sp) +/* C79AD4 80242DF4 12000009 */ beqz $s0, .L80242E1C +/* C79AD8 80242DF8 AFA3003C */ sw $v1, 0x3c($sp) +/* C79ADC 80242DFC 864300A8 */ lh $v1, 0xa8($s2) +/* C79AE0 80242E00 8E2200B0 */ lw $v0, 0xb0($s1) +/* C79AE4 80242E04 AE20008C */ sw $zero, 0x8c($s1) +/* C79AE8 80242E08 A22000B5 */ sb $zero, 0xb5($s1) +/* C79AEC 80242E0C 34420008 */ ori $v0, $v0, 8 +/* C79AF0 80242E10 AE230084 */ sw $v1, 0x84($s1) +/* C79AF4 80242E14 08090B8B */ j .L80242E2C +/* C79AF8 80242E18 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242E1C: +/* C79AFC 80242E1C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C79B00 80242E20 30420004 */ andi $v0, $v0, 4 +/* C79B04 80242E24 10400047 */ beqz $v0, .L80242F44 +/* C79B08 80242E28 00000000 */ nop +.L80242E2C: +/* C79B0C 80242E2C AE600070 */ sw $zero, 0x70($s3) +/* C79B10 80242E30 A640008E */ sh $zero, 0x8e($s2) +/* C79B14 80242E34 8E2300CC */ lw $v1, 0xcc($s1) +/* C79B18 80242E38 2404F7FF */ addiu $a0, $zero, -0x801 +/* C79B1C 80242E3C A2200007 */ sb $zero, 7($s1) +/* C79B20 80242E40 8E420000 */ lw $v0, ($s2) +/* C79B24 80242E44 8C630000 */ lw $v1, ($v1) +/* C79B28 80242E48 00441024 */ and $v0, $v0, $a0 +/* C79B2C 80242E4C AE420000 */ sw $v0, ($s2) +/* C79B30 80242E50 AE430028 */ sw $v1, 0x28($s2) +/* C79B34 80242E54 96220086 */ lhu $v0, 0x86($s1) +/* C79B38 80242E58 A64200A8 */ sh $v0, 0xa8($s2) +/* C79B3C 80242E5C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C79B40 80242E60 AE200090 */ sw $zero, 0x90($s1) +/* C79B44 80242E64 8C420034 */ lw $v0, 0x34($v0) +/* C79B48 80242E68 14400006 */ bnez $v0, .L80242E84 +/* C79B4C 80242E6C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C79B50 80242E70 8E420000 */ lw $v0, ($s2) +/* C79B54 80242E74 2403FFF7 */ addiu $v1, $zero, -9 +/* C79B58 80242E78 34420200 */ ori $v0, $v0, 0x200 +/* C79B5C 80242E7C 08090BA4 */ j .L80242E90 +/* C79B60 80242E80 00431024 */ and $v0, $v0, $v1 +.L80242E84: +/* C79B64 80242E84 8E420000 */ lw $v0, ($s2) +/* C79B68 80242E88 00431024 */ and $v0, $v0, $v1 +/* C79B6C 80242E8C 34420008 */ ori $v0, $v0, 8 +.L80242E90: +/* C79B70 80242E90 AE420000 */ sw $v0, ($s2) +/* C79B74 80242E94 8E2200B0 */ lw $v0, 0xb0($s1) +/* C79B78 80242E98 30420004 */ andi $v0, $v0, 4 +/* C79B7C 80242E9C 1040001E */ beqz $v0, .L80242F18 +/* C79B80 80242EA0 24040002 */ addiu $a0, $zero, 2 +/* C79B84 80242EA4 0240282D */ daddu $a1, $s2, $zero +/* C79B88 80242EA8 0000302D */ daddu $a2, $zero, $zero +/* C79B8C 80242EAC 24020063 */ addiu $v0, $zero, 0x63 +/* C79B90 80242EB0 AE620070 */ sw $v0, 0x70($s3) +/* C79B94 80242EB4 AE600074 */ sw $zero, 0x74($s3) +/* C79B98 80242EB8 864300A8 */ lh $v1, 0xa8($s2) +/* C79B9C 80242EBC 3C013F80 */ lui $at, 0x3f80 +/* C79BA0 80242EC0 44810000 */ mtc1 $at, $f0 +/* C79BA4 80242EC4 3C014000 */ lui $at, 0x4000 +/* C79BA8 80242EC8 44811000 */ mtc1 $at, $f2 +/* C79BAC 80242ECC 3C01C1A0 */ lui $at, 0xc1a0 +/* C79BB0 80242ED0 44812000 */ mtc1 $at, $f4 +/* C79BB4 80242ED4 24020028 */ addiu $v0, $zero, 0x28 +/* C79BB8 80242ED8 AFA2001C */ sw $v0, 0x1c($sp) +/* C79BBC 80242EDC 44833000 */ mtc1 $v1, $f6 +/* C79BC0 80242EE0 00000000 */ nop +/* C79BC4 80242EE4 468031A0 */ cvt.s.w $f6, $f6 +/* C79BC8 80242EE8 44073000 */ mfc1 $a3, $f6 +/* C79BCC 80242EEC 27A20048 */ addiu $v0, $sp, 0x48 +/* C79BD0 80242EF0 AFA20020 */ sw $v0, 0x20($sp) +/* C79BD4 80242EF4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C79BD8 80242EF8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C79BDC 80242EFC 0C01BFA4 */ jal fx_emote +/* C79BE0 80242F00 E7A40018 */ swc1 $f4, 0x18($sp) +/* C79BE4 80242F04 8E2200B0 */ lw $v0, 0xb0($s1) +/* C79BE8 80242F08 2403FFFB */ addiu $v1, $zero, -5 +/* C79BEC 80242F0C 00431024 */ and $v0, $v0, $v1 +/* C79BF0 80242F10 08090BD1 */ j .L80242F44 +/* C79BF4 80242F14 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242F18: +/* C79BF8 80242F18 8E220000 */ lw $v0, ($s1) +/* C79BFC 80242F1C 3C034000 */ lui $v1, 0x4000 +/* C79C00 80242F20 00431024 */ and $v0, $v0, $v1 +/* C79C04 80242F24 10400007 */ beqz $v0, .L80242F44 +/* C79C08 80242F28 3C03BFFF */ lui $v1, 0xbfff +/* C79C0C 80242F2C 2402000C */ addiu $v0, $zero, 0xc +/* C79C10 80242F30 AE620070 */ sw $v0, 0x70($s3) +/* C79C14 80242F34 8E220000 */ lw $v0, ($s1) +/* C79C18 80242F38 3463FFFF */ ori $v1, $v1, 0xffff +/* C79C1C 80242F3C 00431024 */ and $v0, $v0, $v1 +/* C79C20 80242F40 AE220000 */ sw $v0, ($s1) +.L80242F44: +/* C79C24 80242F44 8E220090 */ lw $v0, 0x90($s1) +/* C79C28 80242F48 1840000C */ blez $v0, .L80242F7C +/* C79C2C 80242F4C 2442FFFF */ addiu $v0, $v0, -1 +/* C79C30 80242F50 14400087 */ bnez $v0, .L80243170 +/* C79C34 80242F54 AE220090 */ sw $v0, 0x90($s1) +/* C79C38 80242F58 3C03FFAA */ lui $v1, 0xffaa +/* C79C3C 80242F5C 8E420028 */ lw $v0, 0x28($s2) +/* C79C40 80242F60 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* C79C44 80242F64 00431021 */ addu $v0, $v0, $v1 +/* C79C48 80242F68 2C420002 */ sltiu $v0, $v0, 2 +/* C79C4C 80242F6C 10400003 */ beqz $v0, .L80242F7C +/* C79C50 80242F70 3C020055 */ lui $v0, 0x55 +/* C79C54 80242F74 3442000C */ ori $v0, $v0, 0xc +/* C79C58 80242F78 AE420028 */ sw $v0, 0x28($s2) +.L80242F7C: +/* C79C5C 80242F7C 8E630070 */ lw $v1, 0x70($s3) +/* C79C60 80242F80 2402000C */ addiu $v0, $zero, 0xc +/* C79C64 80242F84 10620048 */ beq $v1, $v0, .L802430A8 +/* C79C68 80242F88 2862000D */ slti $v0, $v1, 0xd +/* C79C6C 80242F8C 1040000F */ beqz $v0, .L80242FCC +/* C79C70 80242F90 24100001 */ addiu $s0, $zero, 1 +/* C79C74 80242F94 1070001E */ beq $v1, $s0, .L80243010 +/* C79C78 80242F98 28620002 */ slti $v0, $v1, 2 +/* C79C7C 80242F9C 10400005 */ beqz $v0, .L80242FB4 +/* C79C80 80242FA0 24020002 */ addiu $v0, $zero, 2 +/* C79C84 80242FA4 10600015 */ beqz $v1, .L80242FFC +/* C79C88 80242FA8 0260202D */ daddu $a0, $s3, $zero +/* C79C8C 80242FAC 08090C41 */ j .L80243104 +/* C79C90 80242FB0 00000000 */ nop +.L80242FB4: +/* C79C94 80242FB4 1062001C */ beq $v1, $v0, .L80243028 +/* C79C98 80242FB8 24020003 */ addiu $v0, $zero, 3 +/* C79C9C 80242FBC 10620035 */ beq $v1, $v0, .L80243094 +/* C79CA0 80242FC0 0260202D */ daddu $a0, $s3, $zero +/* C79CA4 80242FC4 08090C41 */ j .L80243104 +/* C79CA8 80242FC8 00000000 */ nop +.L80242FCC: +/* C79CAC 80242FCC 2402000E */ addiu $v0, $zero, 0xe +/* C79CB0 80242FD0 1062003F */ beq $v1, $v0, .L802430D0 +/* C79CB4 80242FD4 0062102A */ slt $v0, $v1, $v0 +/* C79CB8 80242FD8 14400038 */ bnez $v0, .L802430BC +/* C79CBC 80242FDC 0260202D */ daddu $a0, $s3, $zero +/* C79CC0 80242FE0 2402000F */ addiu $v0, $zero, 0xf +/* C79CC4 80242FE4 10620040 */ beq $v1, $v0, .L802430E8 +/* C79CC8 80242FE8 24020063 */ addiu $v0, $zero, 0x63 +/* C79CCC 80242FEC 10620043 */ beq $v1, $v0, .L802430FC +/* C79CD0 80242FF0 00000000 */ nop +/* C79CD4 80242FF4 08090C41 */ j .L80243104 +/* C79CD8 80242FF8 00000000 */ nop +.L80242FFC: +/* C79CDC 80242FFC 0280282D */ daddu $a1, $s4, $zero +/* C79CE0 80243000 0C012568 */ jal func_800495A0 +/* C79CE4 80243004 02A0302D */ daddu $a2, $s5, $zero +/* C79CE8 80243008 96220086 */ lhu $v0, 0x86($s1) +/* C79CEC 8024300C A64200A8 */ sh $v0, 0xa8($s2) +.L80243010: +/* C79CF0 80243010 0260202D */ daddu $a0, $s3, $zero +/* C79CF4 80243014 0280282D */ daddu $a1, $s4, $zero +/* C79CF8 80243018 0C0125AE */ jal func_800496B8 +/* C79CFC 8024301C 02A0302D */ daddu $a2, $s5, $zero +/* C79D00 80243020 08090C41 */ j .L80243104 +/* C79D04 80243024 00000000 */ nop +.L80243028: +/* C79D08 80243028 0260202D */ daddu $a0, $s3, $zero +/* C79D0C 8024302C 0280282D */ daddu $a1, $s4, $zero +/* C79D10 80243030 0C0126D1 */ jal func_80049B44 +/* C79D14 80243034 02A0302D */ daddu $a2, $s5, $zero +/* C79D18 80243038 8E230088 */ lw $v1, 0x88($s1) +/* C79D1C 8024303C 24020006 */ addiu $v0, $zero, 6 +/* C79D20 80243040 14620014 */ bne $v1, $v0, .L80243094 +/* C79D24 80243044 0260202D */ daddu $a0, $s3, $zero +/* C79D28 80243048 0C00A67F */ jal rand_int +/* C79D2C 8024304C 24040064 */ addiu $a0, $zero, 0x64 +/* C79D30 80243050 28420021 */ slti $v0, $v0, 0x21 +/* C79D34 80243054 5040000F */ beql $v0, $zero, .L80243094 +/* C79D38 80243058 0260202D */ daddu $a0, $s3, $zero +/* C79D3C 8024305C 8E22008C */ lw $v0, 0x8c($s1) +/* C79D40 80243060 10400005 */ beqz $v0, .L80243078 +/* C79D44 80243064 3C020055 */ lui $v0, 0x55 +/* C79D48 80243068 3442002F */ ori $v0, $v0, 0x2f +/* C79D4C 8024306C AE20008C */ sw $zero, 0x8c($s1) +/* C79D50 80243070 08090C21 */ j .L80243084 +/* C79D54 80243074 A22000B5 */ sb $zero, 0xb5($s1) +.L80243078: +/* C79D58 80243078 3442002E */ ori $v0, $v0, 0x2e +/* C79D5C 8024307C AE30008C */ sw $s0, 0x8c($s1) +/* C79D60 80243080 A23000B5 */ sb $s0, 0xb5($s1) +.L80243084: +/* C79D64 80243084 AE420028 */ sw $v0, 0x28($s2) +/* C79D68 80243088 24020007 */ addiu $v0, $zero, 7 +/* C79D6C 8024308C 08090C5C */ j .L80243170 +/* C79D70 80243090 AE220090 */ sw $v0, 0x90($s1) +.L80243094: +/* C79D74 80243094 0280282D */ daddu $a1, $s4, $zero +/* C79D78 80243098 0C012701 */ jal func_80049C04 +/* C79D7C 8024309C 02A0302D */ daddu $a2, $s5, $zero +/* C79D80 802430A0 08090C41 */ j .L80243104 +/* C79D84 802430A4 00000000 */ nop +.L802430A8: +/* C79D88 802430A8 0260202D */ daddu $a0, $s3, $zero +/* C79D8C 802430AC 0280282D */ daddu $a1, $s4, $zero +/* C79D90 802430B0 0C090A71 */ jal func_802429C4 +/* C79D94 802430B4 02A0302D */ daddu $a2, $s5, $zero +/* C79D98 802430B8 0260202D */ daddu $a0, $s3, $zero +.L802430BC: +/* C79D9C 802430BC 0280282D */ daddu $a1, $s4, $zero +/* C79DA0 802430C0 0C090A90 */ jal func_80242A40 +/* C79DA4 802430C4 02A0302D */ daddu $a2, $s5, $zero +/* C79DA8 802430C8 08090C41 */ j .L80243104 +/* C79DAC 802430CC 00000000 */ nop +.L802430D0: +/* C79DB0 802430D0 0260202D */ daddu $a0, $s3, $zero +/* C79DB4 802430D4 0280282D */ daddu $a1, $s4, $zero +/* C79DB8 802430D8 0C090ADD */ jal func_80242B74 +/* C79DBC 802430DC 02A0302D */ daddu $a2, $s5, $zero +/* C79DC0 802430E0 08090C41 */ j .L80243104 +/* C79DC4 802430E4 00000000 */ nop +.L802430E8: +/* C79DC8 802430E8 0280282D */ daddu $a1, $s4, $zero +/* C79DCC 802430EC 0C090B36 */ jal func_80242CD8 +/* C79DD0 802430F0 02A0302D */ daddu $a2, $s5, $zero +/* C79DD4 802430F4 08090C41 */ j .L80243104 +/* C79DD8 802430F8 00000000 */ nop +.L802430FC: +/* C79DDC 802430FC 0C0129CF */ jal func_8004A73C +/* C79DE0 80243100 0260202D */ daddu $a0, $s3, $zero +.L80243104: +/* C79DE4 80243104 8E230088 */ lw $v1, 0x88($s1) +/* C79DE8 80243108 24020006 */ addiu $v0, $zero, 6 +/* C79DEC 8024310C 14620019 */ bne $v1, $v0, .L80243174 +/* C79DF0 80243110 0000102D */ daddu $v0, $zero, $zero +/* C79DF4 80243114 8E22008C */ lw $v0, 0x8c($s1) +/* C79DF8 80243118 10400003 */ beqz $v0, .L80243128 +/* C79DFC 8024311C 24020001 */ addiu $v0, $zero, 1 +/* C79E00 80243120 08090C4B */ j .L8024312C +/* C79E04 80243124 A22200B5 */ sb $v0, 0xb5($s1) +.L80243128: +/* C79E08 80243128 A22000B5 */ sb $zero, 0xb5($s1) +.L8024312C: +/* C79E0C 8024312C 8E22008C */ lw $v0, 0x8c($s1) +/* C79E10 80243130 1040000F */ beqz $v0, .L80243170 +/* C79E14 80243134 3C03FFAA */ lui $v1, 0xffaa +/* C79E18 80243138 8E420028 */ lw $v0, 0x28($s2) +/* C79E1C 8024313C 3463FFFC */ ori $v1, $v1, 0xfffc +/* C79E20 80243140 00431821 */ addu $v1, $v0, $v1 +/* C79E24 80243144 2C620015 */ sltiu $v0, $v1, 0x15 +/* C79E28 80243148 10400009 */ beqz $v0, .L80243170 +/* C79E2C 8024314C 00031080 */ sll $v0, $v1, 2 +/* C79E30 80243150 3C018024 */ lui $at, 0x8024 +/* C79E34 80243154 00220821 */ addu $at, $at, $v0 +/* C79E38 80243158 8C227440 */ lw $v0, 0x7440($at) +/* C79E3C 8024315C 00400008 */ jr $v0 +/* C79E40 80243160 00000000 */ nop +/* C79E44 80243164 8E420028 */ lw $v0, 0x28($s2) +/* C79E48 80243168 24420001 */ addiu $v0, $v0, 1 +/* C79E4C 8024316C AE420028 */ sw $v0, 0x28($s2) +.L80243170: +/* C79E50 80243170 0000102D */ daddu $v0, $zero, $zero +.L80243174: +/* C79E54 80243174 8FBF0068 */ lw $ra, 0x68($sp) +/* C79E58 80243178 8FB50064 */ lw $s5, 0x64($sp) +/* C79E5C 8024317C 8FB40060 */ lw $s4, 0x60($sp) +/* C79E60 80243180 8FB3005C */ lw $s3, 0x5c($sp) +/* C79E64 80243184 8FB20058 */ lw $s2, 0x58($sp) +/* C79E68 80243188 8FB10054 */ lw $s1, 0x54($sp) +/* C79E6C 8024318C 8FB00050 */ lw $s0, 0x50($sp) +/* C79E70 80243190 03E00008 */ jr $ra +/* C79E74 80243194 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243198_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243198_C76CE0.s new file mode 100644 index 0000000000..069fb5dc2c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243198_C76CE0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243198_C79E78 +/* C79E78 80243198 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C79E7C 8024319C AFBF0010 */ sw $ra, 0x10($sp) +/* C79E80 802431A0 0C00EAD2 */ jal get_npc_safe +/* C79E84 802431A4 8C84014C */ lw $a0, 0x14c($a0) +/* C79E88 802431A8 0040182D */ daddu $v1, $v0, $zero +/* C79E8C 802431AC 846200A8 */ lh $v0, 0xa8($v1) +/* C79E90 802431B0 C462003C */ lwc1 $f2, 0x3c($v1) +/* C79E94 802431B4 906400A9 */ lbu $a0, 0xa9($v1) +/* C79E98 802431B8 44820000 */ mtc1 $v0, $f0 +/* C79E9C 802431BC 00000000 */ nop +/* C79EA0 802431C0 46800020 */ cvt.s.w $f0, $f0 +/* C79EA4 802431C4 46001081 */ sub.s $f2, $f2, $f0 +/* C79EA8 802431C8 A06400AB */ sb $a0, 0xab($v1) +/* C79EAC 802431CC E462003C */ swc1 $f2, 0x3c($v1) +/* C79EB0 802431D0 8FBF0010 */ lw $ra, 0x10($sp) +/* C79EB4 802431D4 24020002 */ addiu $v0, $zero, 2 +/* C79EB8 802431D8 03E00008 */ jr $ra +/* C79EBC 802431DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802431E0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802431E0.s new file mode 100644 index 0000000000..15595f32d8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802431E0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431E0 +/* C79EC0 802431E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C79EC4 802431E4 AFBF0010 */ sw $ra, 0x10($sp) +/* C79EC8 802431E8 0C00EAD2 */ jal get_npc_safe +/* C79ECC 802431EC 8C84014C */ lw $a0, 0x14c($a0) +/* C79ED0 802431F0 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* C79ED4 802431F4 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* C79ED8 802431F8 C44C0038 */ lwc1 $f12, 0x38($v0) +/* C79EDC 802431FC C44E0040 */ lwc1 $f14, 0x40($v0) +/* C79EE0 80243200 8C660028 */ lw $a2, 0x28($v1) +/* C79EE4 80243204 0C00A7B5 */ jal dist2D +/* C79EE8 80243208 8C670030 */ lw $a3, 0x30($v1) +/* C79EEC 8024320C 3C014248 */ lui $at, 0x4248 +/* C79EF0 80243210 44811000 */ mtc1 $at, $f2 +/* C79EF4 80243214 00000000 */ nop +/* C79EF8 80243218 4602003C */ c.lt.s $f0, $f2 +/* C79EFC 8024321C 00000000 */ nop +/* C79F00 80243220 45010002 */ bc1t .L8024322C +/* C79F04 80243224 24020002 */ addiu $v0, $zero, 2 +/* C79F08 80243228 0000102D */ daddu $v0, $zero, $zero +.L8024322C: +/* C79F0C 8024322C 8FBF0010 */ lw $ra, 0x10($sp) +/* C79F10 80243230 03E00008 */ jr $ra +/* C79F14 80243234 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243238_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243238_C76CE0.s new file mode 100644 index 0000000000..958e75b4ea --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243238_C76CE0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243238_C79F18 +/* C79F18 80243238 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C79F1C 8024323C 0080102D */ daddu $v0, $a0, $zero +/* C79F20 80243240 AFB00010 */ sw $s0, 0x10($sp) +/* C79F24 80243244 AFBF0018 */ sw $ra, 0x18($sp) +/* C79F28 80243248 AFB10014 */ sw $s1, 0x14($sp) +/* C79F2C 8024324C 8C44014C */ lw $a0, 0x14c($v0) +/* C79F30 80243250 8C510148 */ lw $s1, 0x148($v0) +/* C79F34 80243254 0C00EAD2 */ jal get_npc_safe +/* C79F38 80243258 00A0802D */ daddu $s0, $a1, $zero +/* C79F3C 8024325C 56000001 */ bnel $s0, $zero, .L80243264 +/* C79F40 80243260 A04000AB */ sb $zero, 0xab($v0) +.L80243264: +/* C79F44 80243264 8C420000 */ lw $v0, ($v0) +/* C79F48 80243268 30421000 */ andi $v0, $v0, 0x1000 +/* C79F4C 8024326C 1040000A */ beqz $v0, .L80243298 +/* C79F50 80243270 0000102D */ daddu $v0, $zero, $zero +/* C79F54 80243274 82220004 */ lb $v0, 4($s1) +/* C79F58 80243278 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* C79F5C 8024327C 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* C79F60 80243280 00021080 */ sll $v0, $v0, 2 +/* C79F64 80243284 00431021 */ addu $v0, $v0, $v1 +/* C79F68 80243288 8C440028 */ lw $a0, 0x28($v0) +/* C79F6C 8024328C 9623006E */ lhu $v1, 0x6e($s1) +/* C79F70 80243290 24020002 */ addiu $v0, $zero, 2 +/* C79F74 80243294 A4830044 */ sh $v1, 0x44($a0) +.L80243298: +/* C79F78 80243298 8FBF0018 */ lw $ra, 0x18($sp) +/* C79F7C 8024329C 8FB10014 */ lw $s1, 0x14($sp) +/* C79F80 802432A0 8FB00010 */ lw $s0, 0x10($sp) +/* C79F84 802432A4 03E00008 */ jr $ra +/* C79F88 802432A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802432AC.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802432AC.s new file mode 100644 index 0000000000..2f7f04ca48 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802432AC.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802432AC +/* C79F8C 802432AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C79F90 802432B0 AFB00010 */ sw $s0, 0x10($sp) +/* C79F94 802432B4 3C108024 */ lui $s0, 0x8024 +/* C79F98 802432B8 26105250 */ addiu $s0, $s0, 0x5250 +/* C79F9C 802432BC AFBF0018 */ sw $ra, 0x18($sp) +/* C79FA0 802432C0 AFB10014 */ sw $s1, 0x14($sp) +/* C79FA4 802432C4 8E020000 */ lw $v0, ($s0) +/* C79FA8 802432C8 14400010 */ bnez $v0, .L8024330C +/* C79FAC 802432CC 0080882D */ daddu $s1, $a0, $zero +/* C79FB0 802432D0 0C00AB39 */ jal heap_malloc +/* C79FB4 802432D4 24040040 */ addiu $a0, $zero, 0x40 +/* C79FB8 802432D8 AE020000 */ sw $v0, ($s0) +/* C79FBC 802432DC 0000182D */ daddu $v1, $zero, $zero +/* C79FC0 802432E0 0040282D */ daddu $a1, $v0, $zero +/* C79FC4 802432E4 0220202D */ daddu $a0, $s1, $zero +.L802432E8: +/* C79FC8 802432E8 8C820084 */ lw $v0, 0x84($a0) +/* C79FCC 802432EC 24840004 */ addiu $a0, $a0, 4 +/* C79FD0 802432F0 24630001 */ addiu $v1, $v1, 1 +/* C79FD4 802432F4 ACA20000 */ sw $v0, ($a1) +/* C79FD8 802432F8 28620010 */ slti $v0, $v1, 0x10 +/* C79FDC 802432FC 1440FFFA */ bnez $v0, .L802432E8 +/* C79FE0 80243300 24A50004 */ addiu $a1, $a1, 4 +/* C79FE4 80243304 08090CD2 */ j .L80243348 +/* C79FE8 80243308 00000000 */ nop +.L8024330C: +/* C79FEC 8024330C 0000182D */ daddu $v1, $zero, $zero +/* C79FF0 80243310 0040282D */ daddu $a1, $v0, $zero +/* C79FF4 80243314 0220202D */ daddu $a0, $s1, $zero +.L80243318: +/* C79FF8 80243318 8CA20000 */ lw $v0, ($a1) +/* C79FFC 8024331C 24A50004 */ addiu $a1, $a1, 4 +/* C7A000 80243320 24630001 */ addiu $v1, $v1, 1 +/* C7A004 80243324 AC820084 */ sw $v0, 0x84($a0) +/* C7A008 80243328 28620010 */ slti $v0, $v1, 0x10 +/* C7A00C 8024332C 1440FFFA */ bnez $v0, .L80243318 +/* C7A010 80243330 24840004 */ addiu $a0, $a0, 4 +/* C7A014 80243334 3C108024 */ lui $s0, 0x8024 +/* C7A018 80243338 26105250 */ addiu $s0, $s0, 0x5250 +/* C7A01C 8024333C 0C00AB4B */ jal heap_free +/* C7A020 80243340 8E040000 */ lw $a0, ($s0) +/* C7A024 80243344 AE000000 */ sw $zero, ($s0) +.L80243348: +/* C7A028 80243348 8FBF0018 */ lw $ra, 0x18($sp) +/* C7A02C 8024334C 8FB10014 */ lw $s1, 0x14($sp) +/* C7A030 80243350 8FB00010 */ lw $s0, 0x10($sp) +/* C7A034 80243354 24020002 */ addiu $v0, $zero, 2 +/* C7A038 80243358 03E00008 */ jr $ra +/* C7A03C 8024335C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243360.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243360.s new file mode 100644 index 0000000000..7a68fe48da --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243360.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243360 +/* C7A040 80243360 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7A044 80243364 AFB00010 */ sw $s0, 0x10($sp) +/* C7A048 80243368 0080802D */ daddu $s0, $a0, $zero +/* C7A04C 8024336C AFBF0018 */ sw $ra, 0x18($sp) +/* C7A050 80243370 AFB10014 */ sw $s1, 0x14($sp) +/* C7A054 80243374 8E02000C */ lw $v0, 0xc($s0) +/* C7A058 80243378 8C510000 */ lw $s1, ($v0) +/* C7A05C 8024337C 0C0B1EAF */ jal get_variable +/* C7A060 80243380 0220282D */ daddu $a1, $s1, $zero +/* C7A064 80243384 3C03FFF0 */ lui $v1, 0xfff0 +/* C7A068 80243388 3463FFFF */ ori $v1, $v1, 0xffff +/* C7A06C 8024338C 0200202D */ daddu $a0, $s0, $zero +/* C7A070 80243390 00431024 */ and $v0, $v0, $v1 +/* C7A074 80243394 00021140 */ sll $v0, $v0, 5 +/* C7A078 80243398 3C068008 */ lui $a2, %hi(gItemTable) +/* C7A07C 8024339C 00C23021 */ addu $a2, $a2, $v0 +/* C7A080 802433A0 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C7A084 802433A4 0C0B2026 */ jal set_variable +/* C7A088 802433A8 0220282D */ daddu $a1, $s1, $zero +/* C7A08C 802433AC 8FBF0018 */ lw $ra, 0x18($sp) +/* C7A090 802433B0 8FB10014 */ lw $s1, 0x14($sp) +/* C7A094 802433B4 8FB00010 */ lw $s0, 0x10($sp) +/* C7A098 802433B8 24020002 */ addiu $v0, $zero, 2 +/* C7A09C 802433BC 03E00008 */ jr $ra +/* C7A0A0 802433C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802433C4_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802433C4_C76CE0.s new file mode 100644 index 0000000000..5df59d251f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802433C4_C76CE0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433C4_C7A0A4 +/* C7A0A4 802433C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7A0A8 802433C8 AFB10014 */ sw $s1, 0x14($sp) +/* C7A0AC 802433CC 0080882D */ daddu $s1, $a0, $zero +/* C7A0B0 802433D0 AFBF0018 */ sw $ra, 0x18($sp) +/* C7A0B4 802433D4 AFB00010 */ sw $s0, 0x10($sp) +/* C7A0B8 802433D8 8E30000C */ lw $s0, 0xc($s1) +/* C7A0BC 802433DC 8E050000 */ lw $a1, ($s0) +/* C7A0C0 802433E0 0C0B1EAF */ jal get_variable +/* C7A0C4 802433E4 26100004 */ addiu $s0, $s0, 4 +/* C7A0C8 802433E8 0C00EAD2 */ jal get_npc_safe +/* C7A0CC 802433EC 0040202D */ daddu $a0, $v0, $zero +/* C7A0D0 802433F0 10400005 */ beqz $v0, .L80243408 +/* C7A0D4 802433F4 00000000 */ nop +/* C7A0D8 802433F8 8E050000 */ lw $a1, ($s0) +/* C7A0DC 802433FC 844600A8 */ lh $a2, 0xa8($v0) +/* C7A0E0 80243400 0C0B2026 */ jal set_variable +/* C7A0E4 80243404 0220202D */ daddu $a0, $s1, $zero +.L80243408: +/* C7A0E8 80243408 8FBF0018 */ lw $ra, 0x18($sp) +/* C7A0EC 8024340C 8FB10014 */ lw $s1, 0x14($sp) +/* C7A0F0 80243410 8FB00010 */ lw $s0, 0x10($sp) +/* C7A0F4 80243414 24020002 */ addiu $v0, $zero, 2 +/* C7A0F8 80243418 03E00008 */ jr $ra +/* C7A0FC 8024341C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243420.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243420.s new file mode 100644 index 0000000000..f7d4b80719 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243420.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243420 +/* C7A100 80243420 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C7A104 80243424 AFB10014 */ sw $s1, 0x14($sp) +/* C7A108 80243428 0080882D */ daddu $s1, $a0, $zero +/* C7A10C 8024342C AFBF0024 */ sw $ra, 0x24($sp) +/* C7A110 80243430 AFB40020 */ sw $s4, 0x20($sp) +/* C7A114 80243434 AFB3001C */ sw $s3, 0x1c($sp) +/* C7A118 80243438 AFB20018 */ sw $s2, 0x18($sp) +/* C7A11C 8024343C AFB00010 */ sw $s0, 0x10($sp) +/* C7A120 80243440 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C7A124 80243444 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C7A128 80243448 F7B80038 */ sdc1 $f24, 0x38($sp) +/* C7A12C 8024344C F7B60030 */ sdc1 $f22, 0x30($sp) +/* C7A130 80243450 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C7A134 80243454 8E30000C */ lw $s0, 0xc($s1) +/* C7A138 80243458 8E130000 */ lw $s3, ($s0) +/* C7A13C 8024345C 26100004 */ addiu $s0, $s0, 4 +/* C7A140 80243460 0C0B1EAF */ jal get_variable +/* C7A144 80243464 0260282D */ daddu $a1, $s3, $zero +/* C7A148 80243468 4482E000 */ mtc1 $v0, $f28 +/* C7A14C 8024346C 00000000 */ nop +/* C7A150 80243470 4680E720 */ cvt.s.w $f28, $f28 +/* C7A154 80243474 8E140000 */ lw $s4, ($s0) +/* C7A158 80243478 26100004 */ addiu $s0, $s0, 4 +/* C7A15C 8024347C 0220202D */ daddu $a0, $s1, $zero +/* C7A160 80243480 0C0B1EAF */ jal get_variable +/* C7A164 80243484 0280282D */ daddu $a1, $s4, $zero +/* C7A168 80243488 4482D000 */ mtc1 $v0, $f26 +/* C7A16C 8024348C 00000000 */ nop +/* C7A170 80243490 4680D6A0 */ cvt.s.w $f26, $f26 +/* C7A174 80243494 8E100000 */ lw $s0, ($s0) +/* C7A178 80243498 0220202D */ daddu $a0, $s1, $zero +/* C7A17C 8024349C 0C0B1EAF */ jal get_variable +/* C7A180 802434A0 0200282D */ daddu $a1, $s0, $zero +/* C7A184 802434A4 4482C000 */ mtc1 $v0, $f24 +/* C7A188 802434A8 00000000 */ nop +/* C7A18C 802434AC 4680C620 */ cvt.s.w $f24, $f24 +/* C7A190 802434B0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C7A194 802434B4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C7A198 802434B8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C7A19C 802434BC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C7A1A0 802434C0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C7A1A4 802434C4 44800000 */ mtc1 $zero, $f0 +/* C7A1A8 802434C8 00031080 */ sll $v0, $v1, 2 +/* C7A1AC 802434CC 00431021 */ addu $v0, $v0, $v1 +/* C7A1B0 802434D0 00021080 */ sll $v0, $v0, 2 +/* C7A1B4 802434D4 00431023 */ subu $v0, $v0, $v1 +/* C7A1B8 802434D8 000218C0 */ sll $v1, $v0, 3 +/* C7A1BC 802434DC 00431021 */ addu $v0, $v0, $v1 +/* C7A1C0 802434E0 000210C0 */ sll $v0, $v0, 3 +/* C7A1C4 802434E4 46001032 */ c.eq.s $f2, $f0 +/* C7A1C8 802434E8 3C01800B */ lui $at, 0x800b +/* C7A1CC 802434EC 00220821 */ addu $at, $at, $v0 +/* C7A1D0 802434F0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C7A1D4 802434F4 45000005 */ bc1f .L8024350C +/* C7A1D8 802434F8 00000000 */ nop +/* C7A1DC 802434FC 3C0142C8 */ lui $at, 0x42c8 +/* C7A1E0 80243500 44810000 */ mtc1 $at, $f0 +/* C7A1E4 80243504 08090D47 */ j .L8024351C +/* C7A1E8 80243508 4600B581 */ sub.s $f22, $f22, $f0 +.L8024350C: +/* C7A1EC 8024350C 3C0142C8 */ lui $at, 0x42c8 +/* C7A1F0 80243510 44810000 */ mtc1 $at, $f0 +/* C7A1F4 80243514 00000000 */ nop +/* C7A1F8 80243518 4600B580 */ add.s $f22, $f22, $f0 +.L8024351C: +/* C7A1FC 8024351C 0C00A6C9 */ jal clamp_angle +/* C7A200 80243520 4600B306 */ mov.s $f12, $f22 +/* C7A204 80243524 46000586 */ mov.s $f22, $f0 +/* C7A208 80243528 3C014170 */ lui $at, 0x4170 +/* C7A20C 8024352C 4481A000 */ mtc1 $at, $f20 +/* C7A210 80243530 0C00A8BB */ jal sin_deg +/* C7A214 80243534 4600B306 */ mov.s $f12, $f22 +/* C7A218 80243538 46140002 */ mul.s $f0, $f0, $f20 +/* C7A21C 8024353C 00000000 */ nop +/* C7A220 80243540 864200B0 */ lh $v0, 0xb0($s2) +/* C7A224 80243544 3C013F00 */ lui $at, 0x3f00 +/* C7A228 80243548 44812000 */ mtc1 $at, $f4 +/* C7A22C 8024354C 44821000 */ mtc1 $v0, $f2 +/* C7A230 80243550 00000000 */ nop +/* C7A234 80243554 468010A0 */ cvt.s.w $f2, $f2 +/* C7A238 80243558 46041082 */ mul.s $f2, $f2, $f4 +/* C7A23C 8024355C 00000000 */ nop +/* C7A240 80243560 4600E700 */ add.s $f28, $f28, $f0 +/* C7A244 80243564 4602D680 */ add.s $f26, $f26, $f2 +/* C7A248 80243568 0C00A8D4 */ jal cos_deg +/* C7A24C 8024356C 4600B306 */ mov.s $f12, $f22 +/* C7A250 80243570 46140002 */ mul.s $f0, $f0, $f20 +/* C7A254 80243574 00000000 */ nop +/* C7A258 80243578 0220202D */ daddu $a0, $s1, $zero +/* C7A25C 8024357C 0260282D */ daddu $a1, $s3, $zero +/* C7A260 80243580 4600E18D */ trunc.w.s $f6, $f28 +/* C7A264 80243584 44063000 */ mfc1 $a2, $f6 +/* C7A268 80243588 0C0B2026 */ jal set_variable +/* C7A26C 8024358C 4600C601 */ sub.s $f24, $f24, $f0 +/* C7A270 80243590 0220202D */ daddu $a0, $s1, $zero +/* C7A274 80243594 4600D18D */ trunc.w.s $f6, $f26 +/* C7A278 80243598 44063000 */ mfc1 $a2, $f6 +/* C7A27C 8024359C 0C0B2026 */ jal set_variable +/* C7A280 802435A0 0280282D */ daddu $a1, $s4, $zero +/* C7A284 802435A4 0220202D */ daddu $a0, $s1, $zero +/* C7A288 802435A8 4600C18D */ trunc.w.s $f6, $f24 +/* C7A28C 802435AC 44063000 */ mfc1 $a2, $f6 +/* C7A290 802435B0 0C0B2026 */ jal set_variable +/* C7A294 802435B4 0200282D */ daddu $a1, $s0, $zero +/* C7A298 802435B8 8FBF0024 */ lw $ra, 0x24($sp) +/* C7A29C 802435BC 8FB40020 */ lw $s4, 0x20($sp) +/* C7A2A0 802435C0 8FB3001C */ lw $s3, 0x1c($sp) +/* C7A2A4 802435C4 8FB20018 */ lw $s2, 0x18($sp) +/* C7A2A8 802435C8 8FB10014 */ lw $s1, 0x14($sp) +/* C7A2AC 802435CC 8FB00010 */ lw $s0, 0x10($sp) +/* C7A2B0 802435D0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C7A2B4 802435D4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C7A2B8 802435D8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* C7A2BC 802435DC D7B60030 */ ldc1 $f22, 0x30($sp) +/* C7A2C0 802435E0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C7A2C4 802435E4 24020002 */ addiu $v0, $zero, 2 +/* C7A2C8 802435E8 03E00008 */ jr $ra +/* C7A2CC 802435EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802435F0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802435F0.s new file mode 100644 index 0000000000..db10acc698 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802435F0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435F0 +/* C7A2D0 802435F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7A2D4 802435F4 AFBF0010 */ sw $ra, 0x10($sp) +/* C7A2D8 802435F8 10A00003 */ beqz $a1, .L80243608 +/* C7A2DC 802435FC 8C86000C */ lw $a2, 0xc($a0) +/* C7A2E0 80243600 3C018024 */ lui $at, 0x8024 +/* C7A2E4 80243604 AC2052B4 */ sw $zero, 0x52b4($at) +.L80243608: +/* C7A2E8 80243608 3C038024 */ lui $v1, 0x8024 +/* C7A2EC 8024360C 246352B4 */ addiu $v1, $v1, 0x52b4 +/* C7A2F0 80243610 8C620000 */ lw $v0, ($v1) +/* C7A2F4 80243614 54400003 */ bnel $v0, $zero, .L80243624 +/* C7A2F8 80243618 AC600000 */ sw $zero, ($v1) +/* C7A2FC 8024361C 08090D8E */ j .L80243638 +/* C7A300 80243620 0000102D */ daddu $v0, $zero, $zero +.L80243624: +/* C7A304 80243624 8CC50000 */ lw $a1, ($a2) +/* C7A308 80243628 3C068024 */ lui $a2, 0x8024 +/* C7A30C 8024362C 0C0B2026 */ jal set_variable +/* C7A310 80243630 8CC652B8 */ lw $a2, 0x52b8($a2) +/* C7A314 80243634 24020002 */ addiu $v0, $zero, 2 +.L80243638: +/* C7A318 80243638 8FBF0010 */ lw $ra, 0x10($sp) +/* C7A31C 8024363C 03E00008 */ jr $ra +/* C7A320 80243640 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243644_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243644_C76CE0.s new file mode 100644 index 0000000000..2afad8b097 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243644_C76CE0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243644_C7A324 +/* C7A324 80243644 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7A328 80243648 AFBF0010 */ sw $ra, 0x10($sp) +/* C7A32C 8024364C 8C82000C */ lw $v0, 0xc($a0) +/* C7A330 80243650 0C0B1EAF */ jal get_variable +/* C7A334 80243654 8C450000 */ lw $a1, ($v0) +/* C7A338 80243658 3C018024 */ lui $at, 0x8024 +/* C7A33C 8024365C AC2252B8 */ sw $v0, 0x52b8($at) +/* C7A340 80243660 24020002 */ addiu $v0, $zero, 2 +/* C7A344 80243664 8FBF0010 */ lw $ra, 0x10($sp) +/* C7A348 80243668 24030001 */ addiu $v1, $zero, 1 +/* C7A34C 8024366C 3C018024 */ lui $at, 0x8024 +/* C7A350 80243670 AC2352B4 */ sw $v1, 0x52b4($at) +/* C7A354 80243674 03E00008 */ jr $ra +/* C7A358 80243678 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_8024367C.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024367C.s new file mode 100644 index 0000000000..8bb893c54e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_8024367C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024367C +/* C7A35C 8024367C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7A360 80243680 AFBF0010 */ sw $ra, 0x10($sp) +/* C7A364 80243684 8C82000C */ lw $v0, 0xc($a0) +/* C7A368 80243688 0C0B1EAF */ jal get_variable +/* C7A36C 8024368C 8C450000 */ lw $a1, ($v0) +/* C7A370 80243690 0040182D */ daddu $v1, $v0, $zero +/* C7A374 80243694 10600012 */ beqz $v1, .L802436E0 +/* C7A378 80243698 0000202D */ daddu $a0, $zero, $zero +/* C7A37C 8024369C 8C620000 */ lw $v0, ($v1) +/* C7A380 802436A0 5040000A */ beql $v0, $zero, .L802436CC +/* C7A384 802436A4 00041080 */ sll $v0, $a0, 2 +/* C7A388 802436A8 3C058024 */ lui $a1, 0x8024 +/* C7A38C 802436AC 24A574A0 */ addiu $a1, $a1, 0x74a0 +.L802436B0: +/* C7A390 802436B0 24630004 */ addiu $v1, $v1, 4 +/* C7A394 802436B4 24840001 */ addiu $a0, $a0, 1 +/* C7A398 802436B8 ACA20000 */ sw $v0, ($a1) +/* C7A39C 802436BC 8C620000 */ lw $v0, ($v1) +/* C7A3A0 802436C0 1440FFFB */ bnez $v0, .L802436B0 +/* C7A3A4 802436C4 24A50004 */ addiu $a1, $a1, 4 +/* C7A3A8 802436C8 00041080 */ sll $v0, $a0, 2 +.L802436CC: +/* C7A3AC 802436CC 3C018024 */ lui $at, 0x8024 +/* C7A3B0 802436D0 00220821 */ addu $at, $at, $v0 +/* C7A3B4 802436D4 AC2074A0 */ sw $zero, 0x74a0($at) +/* C7A3B8 802436D8 08090DC2 */ j .L80243708 +/* C7A3BC 802436DC 00000000 */ nop +.L802436E0: +/* C7A3C0 802436E0 3C038024 */ lui $v1, 0x8024 +/* C7A3C4 802436E4 246374A0 */ addiu $v1, $v1, 0x74a0 +/* C7A3C8 802436E8 0060282D */ daddu $a1, $v1, $zero +.L802436EC: +/* C7A3CC 802436EC 24820010 */ addiu $v0, $a0, 0x10 +/* C7A3D0 802436F0 AC620000 */ sw $v0, ($v1) +/* C7A3D4 802436F4 24630004 */ addiu $v1, $v1, 4 +/* C7A3D8 802436F8 24840001 */ addiu $a0, $a0, 1 +/* C7A3DC 802436FC 28820070 */ slti $v0, $a0, 0x70 +/* C7A3E0 80243700 1440FFFA */ bnez $v0, .L802436EC +/* C7A3E4 80243704 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80243708: +/* C7A3E8 80243708 8FBF0010 */ lw $ra, 0x10($sp) +/* C7A3EC 8024370C 24020002 */ addiu $v0, $zero, 2 +/* C7A3F0 80243710 03E00008 */ jr $ra +/* C7A3F4 80243714 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243718.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243718.s new file mode 100644 index 0000000000..4c1126b9a4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243718.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243718 +/* C7A3F8 80243718 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7A3FC 8024371C AFB10014 */ sw $s1, 0x14($sp) +/* C7A400 80243720 0080882D */ daddu $s1, $a0, $zero +/* C7A404 80243724 AFBF0018 */ sw $ra, 0x18($sp) +/* C7A408 80243728 AFB00010 */ sw $s0, 0x10($sp) +/* C7A40C 8024372C 8E30000C */ lw $s0, 0xc($s1) +/* C7A410 80243730 8E050000 */ lw $a1, ($s0) +/* C7A414 80243734 0C0B1EAF */ jal get_variable +/* C7A418 80243738 26100004 */ addiu $s0, $s0, 4 +/* C7A41C 8024373C AE22008C */ sw $v0, 0x8c($s1) +/* C7A420 80243740 8E050000 */ lw $a1, ($s0) +/* C7A424 80243744 26100004 */ addiu $s0, $s0, 4 +/* C7A428 80243748 0C0B1EAF */ jal get_variable +/* C7A42C 8024374C 0220202D */ daddu $a0, $s1, $zero +/* C7A430 80243750 AE220090 */ sw $v0, 0x90($s1) +/* C7A434 80243754 8E050000 */ lw $a1, ($s0) +/* C7A438 80243758 26100004 */ addiu $s0, $s0, 4 +/* C7A43C 8024375C 0C0B1EAF */ jal get_variable +/* C7A440 80243760 0220202D */ daddu $a0, $s1, $zero +/* C7A444 80243764 AE220094 */ sw $v0, 0x94($s1) +/* C7A448 80243768 8E050000 */ lw $a1, ($s0) +/* C7A44C 8024376C 26100004 */ addiu $s0, $s0, 4 +/* C7A450 80243770 0C0B1EAF */ jal get_variable +/* C7A454 80243774 0220202D */ daddu $a0, $s1, $zero +/* C7A458 80243778 AE220098 */ sw $v0, 0x98($s1) +/* C7A45C 8024377C 8E050000 */ lw $a1, ($s0) +/* C7A460 80243780 26100004 */ addiu $s0, $s0, 4 +/* C7A464 80243784 0C0B1EAF */ jal get_variable +/* C7A468 80243788 0220202D */ daddu $a0, $s1, $zero +/* C7A46C 8024378C AE22009C */ sw $v0, 0x9c($s1) +/* C7A470 80243790 8E050000 */ lw $a1, ($s0) +/* C7A474 80243794 26100004 */ addiu $s0, $s0, 4 +/* C7A478 80243798 0C0B1EAF */ jal get_variable +/* C7A47C 8024379C 0220202D */ daddu $a0, $s1, $zero +/* C7A480 802437A0 AE2200A0 */ sw $v0, 0xa0($s1) +/* C7A484 802437A4 8E050000 */ lw $a1, ($s0) +/* C7A488 802437A8 26100004 */ addiu $s0, $s0, 4 +/* C7A48C 802437AC 0C0B1EAF */ jal get_variable +/* C7A490 802437B0 0220202D */ daddu $a0, $s1, $zero +/* C7A494 802437B4 AE2200A4 */ sw $v0, 0xa4($s1) +/* C7A498 802437B8 8E050000 */ lw $a1, ($s0) +/* C7A49C 802437BC 26100004 */ addiu $s0, $s0, 4 +/* C7A4A0 802437C0 0C0B1EAF */ jal get_variable +/* C7A4A4 802437C4 0220202D */ daddu $a0, $s1, $zero +/* C7A4A8 802437C8 AE2200A8 */ sw $v0, 0xa8($s1) +/* C7A4AC 802437CC 8E050000 */ lw $a1, ($s0) +/* C7A4B0 802437D0 26100004 */ addiu $s0, $s0, 4 +/* C7A4B4 802437D4 0C0B1EAF */ jal get_variable +/* C7A4B8 802437D8 0220202D */ daddu $a0, $s1, $zero +/* C7A4BC 802437DC AE2200AC */ sw $v0, 0xac($s1) +/* C7A4C0 802437E0 8E050000 */ lw $a1, ($s0) +/* C7A4C4 802437E4 0C0B1EAF */ jal get_variable +/* C7A4C8 802437E8 0220202D */ daddu $a0, $s1, $zero +/* C7A4CC 802437EC AE2200B0 */ sw $v0, 0xb0($s1) +/* C7A4D0 802437F0 8FBF0018 */ lw $ra, 0x18($sp) +/* C7A4D4 802437F4 8FB10014 */ lw $s1, 0x14($sp) +/* C7A4D8 802437F8 8FB00010 */ lw $s0, 0x10($sp) +/* C7A4DC 802437FC 24020002 */ addiu $v0, $zero, 2 +/* C7A4E0 80243800 03E00008 */ jr $ra +/* C7A4E4 80243804 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243808.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243808.s new file mode 100644 index 0000000000..f140c49ba0 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243808.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243808 +/* C7A4E8 80243808 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C7A4EC 8024380C AFB1001C */ sw $s1, 0x1c($sp) +/* C7A4F0 80243810 0080882D */ daddu $s1, $a0, $zero +/* C7A4F4 80243814 AFBF0034 */ sw $ra, 0x34($sp) +/* C7A4F8 80243818 AFB60030 */ sw $s6, 0x30($sp) +/* C7A4FC 8024381C AFB5002C */ sw $s5, 0x2c($sp) +/* C7A500 80243820 AFB40028 */ sw $s4, 0x28($sp) +/* C7A504 80243824 AFB30024 */ sw $s3, 0x24($sp) +/* C7A508 80243828 AFB20020 */ sw $s2, 0x20($sp) +/* C7A50C 8024382C AFB00018 */ sw $s0, 0x18($sp) +/* C7A510 80243830 F7B60040 */ sdc1 $f22, 0x40($sp) +/* C7A514 80243834 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C7A518 80243838 8E30000C */ lw $s0, 0xc($s1) +/* C7A51C 8024383C 8E160000 */ lw $s6, ($s0) +/* C7A520 80243840 26100004 */ addiu $s0, $s0, 4 +/* C7A524 80243844 0C0B1EAF */ jal get_variable +/* C7A528 80243848 02C0282D */ daddu $a1, $s6, $zero +/* C7A52C 8024384C 44820000 */ mtc1 $v0, $f0 +/* C7A530 80243850 00000000 */ nop +/* C7A534 80243854 46800020 */ cvt.s.w $f0, $f0 +/* C7A538 80243858 E7A00010 */ swc1 $f0, 0x10($sp) +/* C7A53C 8024385C 8E140000 */ lw $s4, ($s0) +/* C7A540 80243860 26100004 */ addiu $s0, $s0, 4 +/* C7A544 80243864 0220202D */ daddu $a0, $s1, $zero +/* C7A548 80243868 0C0B1EAF */ jal get_variable +/* C7A54C 8024386C 0280282D */ daddu $a1, $s4, $zero +/* C7A550 80243870 0220202D */ daddu $a0, $s1, $zero +/* C7A554 80243874 8E150000 */ lw $s5, ($s0) +/* C7A558 80243878 4482B000 */ mtc1 $v0, $f22 +/* C7A55C 8024387C 00000000 */ nop +/* C7A560 80243880 4680B5A0 */ cvt.s.w $f22, $f22 +/* C7A564 80243884 0C0B1EAF */ jal get_variable +/* C7A568 80243888 02A0282D */ daddu $a1, $s5, $zero +/* C7A56C 8024388C 2404FFFC */ addiu $a0, $zero, -4 +/* C7A570 80243890 44820000 */ mtc1 $v0, $f0 +/* C7A574 80243894 00000000 */ nop +/* C7A578 80243898 46800020 */ cvt.s.w $f0, $f0 +/* C7A57C 8024389C 0C00EABB */ jal get_npc_unsafe +/* C7A580 802438A0 E7A00014 */ swc1 $f0, 0x14($sp) +/* C7A584 802438A4 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C7A588 802438A8 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C7A58C 802438AC 3C014334 */ lui $at, 0x4334 +/* C7A590 802438B0 44816000 */ mtc1 $at, $f12 +/* C7A594 802438B4 00041880 */ sll $v1, $a0, 2 +/* C7A598 802438B8 00641821 */ addu $v1, $v1, $a0 +/* C7A59C 802438BC 00031880 */ sll $v1, $v1, 2 +/* C7A5A0 802438C0 00641823 */ subu $v1, $v1, $a0 +/* C7A5A4 802438C4 000320C0 */ sll $a0, $v1, 3 +/* C7A5A8 802438C8 00641821 */ addu $v1, $v1, $a0 +/* C7A5AC 802438CC 000318C0 */ sll $v1, $v1, 3 +/* C7A5B0 802438D0 3C01800B */ lui $at, 0x800b +/* C7A5B4 802438D4 00230821 */ addu $at, $at, $v1 +/* C7A5B8 802438D8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C7A5BC 802438DC 460C0300 */ add.s $f12, $f0, $f12 +/* C7A5C0 802438E0 0C00A6C9 */ jal clamp_angle +/* C7A5C4 802438E4 0040982D */ daddu $s3, $v0, $zero +/* C7A5C8 802438E8 27B00010 */ addiu $s0, $sp, 0x10 +/* C7A5CC 802438EC 0200202D */ daddu $a0, $s0, $zero +/* C7A5D0 802438F0 27B20014 */ addiu $s2, $sp, 0x14 +/* C7A5D4 802438F4 0240282D */ daddu $a1, $s2, $zero +/* C7A5D8 802438F8 3C064170 */ lui $a2, 0x4170 +/* C7A5DC 802438FC 8E67000C */ lw $a3, 0xc($s3) +/* C7A5E0 80243900 0C00A7E7 */ jal add_vec2D_polar +/* C7A5E4 80243904 46000506 */ mov.s $f20, $f0 +/* C7A5E8 80243908 0200202D */ daddu $a0, $s0, $zero +/* C7A5EC 8024390C 3C064120 */ lui $a2, 0x4120 +/* C7A5F0 80243910 4407A000 */ mfc1 $a3, $f20 +/* C7A5F4 80243914 0C00A7E7 */ jal add_vec2D_polar +/* C7A5F8 80243918 0240282D */ daddu $a1, $s2, $zero +/* C7A5FC 8024391C 0220202D */ daddu $a0, $s1, $zero +/* C7A600 80243920 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C7A604 80243924 4600008D */ trunc.w.s $f2, $f0 +/* C7A608 80243928 44061000 */ mfc1 $a2, $f2 +/* C7A60C 8024392C 0C0B2026 */ jal set_variable +/* C7A610 80243930 02C0282D */ daddu $a1, $s6, $zero +/* C7A614 80243934 0220202D */ daddu $a0, $s1, $zero +/* C7A618 80243938 4600B08D */ trunc.w.s $f2, $f22 +/* C7A61C 8024393C 44061000 */ mfc1 $a2, $f2 +/* C7A620 80243940 0C0B2026 */ jal set_variable +/* C7A624 80243944 0280282D */ daddu $a1, $s4, $zero +/* C7A628 80243948 0220202D */ daddu $a0, $s1, $zero +/* C7A62C 8024394C C7A00014 */ lwc1 $f0, 0x14($sp) +/* C7A630 80243950 4600008D */ trunc.w.s $f2, $f0 +/* C7A634 80243954 44061000 */ mfc1 $a2, $f2 +/* C7A638 80243958 0C0B2026 */ jal set_variable +/* C7A63C 8024395C 02A0282D */ daddu $a1, $s5, $zero +/* C7A640 80243960 8FBF0034 */ lw $ra, 0x34($sp) +/* C7A644 80243964 8FB60030 */ lw $s6, 0x30($sp) +/* C7A648 80243968 8FB5002C */ lw $s5, 0x2c($sp) +/* C7A64C 8024396C 8FB40028 */ lw $s4, 0x28($sp) +/* C7A650 80243970 8FB30024 */ lw $s3, 0x24($sp) +/* C7A654 80243974 8FB20020 */ lw $s2, 0x20($sp) +/* C7A658 80243978 8FB1001C */ lw $s1, 0x1c($sp) +/* C7A65C 8024397C 8FB00018 */ lw $s0, 0x18($sp) +/* C7A660 80243980 D7B60040 */ ldc1 $f22, 0x40($sp) +/* C7A664 80243984 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C7A668 80243988 24020002 */ addiu $v0, $zero, 2 +/* C7A66C 8024398C 03E00008 */ jr $ra +/* C7A670 80243990 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_80243994.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243994.s new file mode 100644 index 0000000000..2f031b276d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_80243994.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243994 +/* C7A674 80243994 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7A678 80243998 AFB00010 */ sw $s0, 0x10($sp) +/* C7A67C 8024399C 0080802D */ daddu $s0, $a0, $zero +/* C7A680 802439A0 AFBF0014 */ sw $ra, 0x14($sp) +/* C7A684 802439A4 0C00EABB */ jal get_npc_unsafe +/* C7A688 802439A8 8E04008C */ lw $a0, 0x8c($s0) +/* C7A68C 802439AC 0040282D */ daddu $a1, $v0, $zero +/* C7A690 802439B0 8E040094 */ lw $a0, 0x94($s0) +/* C7A694 802439B4 8CA30028 */ lw $v1, 0x28($a1) +/* C7A698 802439B8 ACA40028 */ sw $a0, 0x28($a1) +/* C7A69C 802439BC 8FBF0014 */ lw $ra, 0x14($sp) +/* C7A6A0 802439C0 8FB00010 */ lw $s0, 0x10($sp) +/* C7A6A4 802439C4 24020002 */ addiu $v0, $zero, 2 +/* C7A6A8 802439C8 3C018024 */ lui $at, 0x8024 +/* C7A6AC 802439CC AC237664 */ sw $v1, 0x7664($at) +/* C7A6B0 802439D0 03E00008 */ jr $ra +/* C7A6B4 802439D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_09/func_802439D8_C76CE0.s b/asm/nonmatchings/world/area_kzn/kzn_09/func_802439D8_C76CE0.s new file mode 100644 index 0000000000..07cdd2edf4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_09/func_802439D8_C76CE0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439D8_C7A6B8 +/* C7A6B8 802439D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7A6BC 802439DC AFBF0010 */ sw $ra, 0x10($sp) +/* C7A6C0 802439E0 0C00EABB */ jal get_npc_unsafe +/* C7A6C4 802439E4 8C84008C */ lw $a0, 0x8c($a0) +/* C7A6C8 802439E8 3C038024 */ lui $v1, 0x8024 +/* C7A6CC 802439EC 8C637664 */ lw $v1, 0x7664($v1) +/* C7A6D0 802439F0 AC430028 */ sw $v1, 0x28($v0) +/* C7A6D4 802439F4 8FBF0010 */ lw $ra, 0x10($sp) +/* C7A6D8 802439F8 24020002 */ addiu $v0, $zero, 2 +/* C7A6DC 802439FC 03E00008 */ jr $ra +/* C7A6E0 80243A00 27BD0018 */ addiu $sp, $sp, 0x18 +/* C7A6E4 80243A04 00000000 */ nop +/* C7A6E8 80243A08 00000000 */ nop +/* C7A6EC 80243A0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240000_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240000_C7E180.s new file mode 100644 index 0000000000..f928c15019 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240000_C7E180.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C7E180 +/* C7E180 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E184 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C7E188 80240008 0080802D */ daddu $s0, $a0, $zero +/* C7E18C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C7E190 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C7E194 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C7E198 80240018 00621821 */ addu $v1, $v1, $v0 +/* C7E19C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C7E1A0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C7E1A4 80240024 3C020002 */ lui $v0, 2 +/* C7E1A8 80240028 08090010 */ j .L80240040 +/* C7E1AC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C7E1B0 80240030 3C040002 */ lui $a0, 2 +/* C7E1B4 80240034 0083102A */ slt $v0, $a0, $v1 +/* C7E1B8 80240038 10400002 */ beqz $v0, .L80240044 +/* C7E1BC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C7E1C0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C7E1C4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C7E1C8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C7E1CC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C7E1D0 80240050 04610004 */ bgez $v1, .L80240064 +/* C7E1D4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C7E1D8 80240058 3C020002 */ lui $v0, 2 +/* C7E1DC 8024005C 0809001D */ j .L80240074 +/* C7E1E0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C7E1E4 80240064 3C040002 */ lui $a0, 2 +/* C7E1E8 80240068 0083102A */ slt $v0, $a0, $v1 +/* C7E1EC 8024006C 10400002 */ beqz $v0, .L80240078 +/* C7E1F0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C7E1F4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C7E1F8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C7E1FC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C7E200 80240080 00621821 */ addu $v1, $v1, $v0 +/* C7E204 80240084 04610004 */ bgez $v1, .L80240098 +/* C7E208 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C7E20C 8024008C 3C020002 */ lui $v0, 2 +/* C7E210 80240090 0809002A */ j .L802400A8 +/* C7E214 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C7E218 80240098 3C040002 */ lui $a0, 2 +/* C7E21C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C7E220 802400A0 10400002 */ beqz $v0, .L802400AC +/* C7E224 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C7E228 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C7E22C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C7E230 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C7E234 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C7E238 802400B8 04610004 */ bgez $v1, .L802400CC +/* C7E23C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C7E240 802400C0 3C020002 */ lui $v0, 2 +/* C7E244 802400C4 08090037 */ j .L802400DC +/* C7E248 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C7E24C 802400CC 3C040002 */ lui $a0, 2 +/* C7E250 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C7E254 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C7E258 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C7E25C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C7E260 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C7E264 802400E4 0C046F07 */ jal set_main_pan_u +/* C7E268 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C7E26C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C7E270 802400F0 0C046F0D */ jal set_main_pan_v +/* C7E274 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C7E278 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C7E27C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C7E280 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C7E284 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C7E288 80240108 0C046F19 */ jal set_aux_pan_v +/* C7E28C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C7E290 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C7E294 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C7E298 80240118 0000102D */ daddu $v0, $zero, $zero +/* C7E29C 8024011C 03E00008 */ jr $ra +/* C7E2A0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240124_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240124_C7E180.s new file mode 100644 index 0000000000..c2ce55896e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240124_C7E180.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C7E2A4 +/* C7E2A4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E2A8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C7E2AC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C7E2B0 80240130 10A00005 */ beqz $a1, .L80240148 +/* C7E2B4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C7E2B8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C7E2BC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C7E2C0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C7E2C4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C7E2C8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C7E2CC 8024014C 1440000E */ bnez $v0, .L80240188 +/* C7E2D0 80240150 00000000 */ nop +/* C7E2D4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C7E2D8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C7E2DC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C7E2E0 80240160 04610004 */ bgez $v1, .L80240174 +/* C7E2E4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C7E2E8 80240168 3C020002 */ lui $v0, 2 +/* C7E2EC 8024016C 08090061 */ j .L80240184 +/* C7E2F0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C7E2F4 80240174 3C040002 */ lui $a0, 2 +/* C7E2F8 80240178 0083102A */ slt $v0, $a0, $v1 +/* C7E2FC 8024017C 10400002 */ beqz $v0, .L80240188 +/* C7E300 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C7E304 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C7E308 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C7E30C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C7E310 80240190 00000000 */ nop +/* C7E314 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C7E318 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C7E31C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C7E320 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C7E324 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C7E328 802401A8 3C020002 */ lui $v0, 2 +/* C7E32C 802401AC 08090071 */ j .L802401C4 +/* C7E330 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C7E334 802401B4 3C040002 */ lui $a0, 2 +/* C7E338 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C7E33C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C7E340 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C7E344 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C7E348 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C7E34C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C7E350 802401D0 00000000 */ nop +/* C7E354 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C7E358 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C7E35C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C7E360 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C7E364 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C7E368 802401E8 3C020002 */ lui $v0, 2 +/* C7E36C 802401EC 08090081 */ j .L80240204 +/* C7E370 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C7E374 802401F4 3C040002 */ lui $a0, 2 +/* C7E378 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C7E37C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C7E380 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C7E384 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C7E388 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C7E38C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C7E390 80240210 00000000 */ nop +/* C7E394 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C7E398 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C7E39C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C7E3A0 80240220 04610004 */ bgez $v1, .L80240234 +/* C7E3A4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C7E3A8 80240228 3C020002 */ lui $v0, 2 +/* C7E3AC 8024022C 08090091 */ j .L80240244 +/* C7E3B0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C7E3B4 80240234 3C040002 */ lui $a0, 2 +/* C7E3B8 80240238 0083102A */ slt $v0, $a0, $v1 +/* C7E3BC 8024023C 10400002 */ beqz $v0, .L80240248 +/* C7E3C0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C7E3C4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C7E3C8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C7E3CC 8024024C 0C046F07 */ jal set_main_pan_u +/* C7E3D0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C7E3D4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C7E3D8 80240258 0C046F0D */ jal set_main_pan_v +/* C7E3DC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C7E3E0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C7E3E4 80240264 0C046F13 */ jal set_aux_pan_u +/* C7E3E8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C7E3EC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C7E3F0 80240270 0C046F19 */ jal set_aux_pan_v +/* C7E3F4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C7E3F8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C7E3FC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C7E400 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C7E404 80240284 24420001 */ addiu $v0, $v0, 1 +/* C7E408 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C7E40C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C7E410 80240290 24630001 */ addiu $v1, $v1, 1 +/* C7E414 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C7E418 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C7E41C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C7E420 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C7E424 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C7E428 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C7E42C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C7E430 802402B0 14600002 */ bnez $v1, .L802402BC +/* C7E434 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C7E438 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C7E43C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C7E440 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C7E444 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C7E448 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C7E44C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C7E450 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C7E454 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C7E458 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C7E45C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C7E460 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C7E464 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C7E468 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C7E46C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C7E470 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C7E474 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C7E478 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C7E47C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C7E480 80240300 0000102D */ daddu $v0, $zero, $zero +/* C7E484 80240304 03E00008 */ jr $ra +/* C7E488 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_8024030C_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_8024030C_C7E180.s new file mode 100644 index 0000000000..622a90ec75 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_8024030C_C7E180.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_C7E48C +/* C7E48C 8024030C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C7E490 80240310 8C42EFC8 */ lw $v0, %lo(gPlayerStatus)($v0) +/* C7E494 80240314 3C030400 */ lui $v1, 0x400 +/* C7E498 80240318 00431024 */ and $v0, $v0, $v1 +/* C7E49C 8024031C 2C420001 */ sltiu $v0, $v0, 1 +/* C7E4A0 80240320 03E00008 */ jr $ra +/* C7E4A4 80240324 00021040 */ sll $v0, $v0, 1 +/* C7E4A8 80240328 00000000 */ nop +/* C7E4AC 8024032C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240330_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240330_C7E180.s new file mode 100644 index 0000000000..0011ce531f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240330_C7E180.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240330_C7E4B0 +/* C7E4B0 80240330 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E4B4 80240334 AFBF0010 */ sw $ra, 0x10($sp) +/* C7E4B8 80240338 0C03A8CD */ jal subtract_hp +/* C7E4BC 8024033C 24040001 */ addiu $a0, $zero, 1 +/* C7E4C0 80240340 8FBF0010 */ lw $ra, 0x10($sp) +/* C7E4C4 80240344 24020002 */ addiu $v0, $zero, 2 +/* C7E4C8 80240348 03E00008 */ jr $ra +/* C7E4CC 8024034C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240350_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240350_C7E180.s new file mode 100644 index 0000000000..0a6b929bc6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240350_C7E180.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_C7E4D0 +/* C7E4D0 80240350 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C7E4D4 80240354 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* C7E4D8 80240358 80620000 */ lb $v0, ($v1) +/* C7E4DC 8024035C 10400004 */ beqz $v0, .L80240370 +/* C7E4E0 80240360 2402FFFF */ addiu $v0, $zero, -1 +/* C7E4E4 80240364 80620003 */ lb $v0, 3($v1) +/* C7E4E8 80240368 080900DD */ j .L80240374 +/* C7E4EC 8024036C AC820084 */ sw $v0, 0x84($a0) +.L80240370: +/* C7E4F0 80240370 AC820084 */ sw $v0, 0x84($a0) +.L80240374: +/* C7E4F4 80240374 03E00008 */ jr $ra +/* C7E4F8 80240378 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_8024037C_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_8024037C_C7E180.s new file mode 100644 index 0000000000..72cbfa03c8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_8024037C_C7E180.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C_C7E4FC +/* C7E4FC 8024037C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C7E500 80240380 AFB00028 */ sw $s0, 0x28($sp) +/* C7E504 80240384 0080802D */ daddu $s0, $a0, $zero +/* C7E508 80240388 AFBF002C */ sw $ra, 0x2c($sp) +/* C7E50C 8024038C C6000084 */ lwc1 $f0, 0x84($s0) +/* C7E510 80240390 46800020 */ cvt.s.w $f0, $f0 +/* C7E514 80240394 E7A00018 */ swc1 $f0, 0x18($sp) +/* C7E518 80240398 C600008C */ lwc1 $f0, 0x8c($s0) +/* C7E51C 8024039C 46800020 */ cvt.s.w $f0, $f0 +/* C7E520 802403A0 27A20024 */ addiu $v0, $sp, 0x24 +/* C7E524 802403A4 3C040001 */ lui $a0, 1 +/* C7E528 802403A8 27A50018 */ addiu $a1, $sp, 0x18 +/* C7E52C 802403AC 27A6001C */ addiu $a2, $sp, 0x1c +/* C7E530 802403B0 3C0144FA */ lui $at, 0x44fa +/* C7E534 802403B4 44811000 */ mtc1 $at, $f2 +/* C7E538 802403B8 27A70020 */ addiu $a3, $sp, 0x20 +/* C7E53C 802403BC E7A0001C */ swc1 $f0, 0x1c($sp) +/* C7E540 802403C0 AFA00020 */ sw $zero, 0x20($sp) +/* C7E544 802403C4 E7A20024 */ swc1 $f2, 0x24($sp) +/* C7E548 802403C8 0C0372DF */ jal func_800DCB7C +/* C7E54C 802403CC AFA20010 */ sw $v0, 0x10($sp) +/* C7E550 802403D0 1040000B */ beqz $v0, .L80240400 +/* C7E554 802403D4 00000000 */ nop +/* C7E558 802403D8 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C7E55C 802403DC 3C01425C */ lui $at, 0x425c +/* C7E560 802403E0 44810000 */ mtc1 $at, $f0 +/* C7E564 802403E4 00000000 */ nop +/* C7E568 802403E8 46001080 */ add.s $f2, $f2, $f0 +/* C7E56C 802403EC C7A00018 */ lwc1 $f0, 0x18($sp) +/* C7E570 802403F0 4600010D */ trunc.w.s $f4, $f0 +/* C7E574 802403F4 E6040084 */ swc1 $f4, 0x84($s0) +/* C7E578 802403F8 4600110D */ trunc.w.s $f4, $f2 +/* C7E57C 802403FC E604008C */ swc1 $f4, 0x8c($s0) +.L80240400: +/* C7E580 80240400 8FBF002C */ lw $ra, 0x2c($sp) +/* C7E584 80240404 8FB00028 */ lw $s0, 0x28($sp) +/* C7E588 80240408 24020002 */ addiu $v0, $zero, 2 +/* C7E58C 8024040C 03E00008 */ jr $ra +/* C7E590 80240410 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240414_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240414_C7E180.s new file mode 100644 index 0000000000..bd4fd184f9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240414_C7E180.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240414_C7E594 +/* C7E594 80240414 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E598 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* C7E59C 8024041C 0080802D */ daddu $s0, $a0, $zero +/* C7E5A0 80240420 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C7E5A4 80240424 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C7E5A8 80240428 AFBF0014 */ sw $ra, 0x14($sp) +/* C7E5AC 8024042C C4400028 */ lwc1 $f0, 0x28($v0) +/* C7E5B0 80240430 C6020084 */ lwc1 $f2, 0x84($s0) +/* C7E5B4 80240434 468010A0 */ cvt.s.w $f2, $f2 +/* C7E5B8 80240438 46001081 */ sub.s $f2, $f2, $f0 +/* C7E5BC 8024043C 46021082 */ mul.s $f2, $f2, $f2 +/* C7E5C0 80240440 00000000 */ nop +/* C7E5C4 80240444 C440002C */ lwc1 $f0, 0x2c($v0) +/* C7E5C8 80240448 C604008C */ lwc1 $f4, 0x8c($s0) +/* C7E5CC 8024044C 46802120 */ cvt.s.w $f4, $f4 +/* C7E5D0 80240450 46002101 */ sub.s $f4, $f4, $f0 +/* C7E5D4 80240454 46042102 */ mul.s $f4, $f4, $f4 +/* C7E5D8 80240458 00000000 */ nop +/* C7E5DC 8024045C C4460030 */ lwc1 $f6, 0x30($v0) +/* C7E5E0 80240460 44800000 */ mtc1 $zero, $f0 +/* C7E5E4 80240464 00000000 */ nop +/* C7E5E8 80240468 46060001 */ sub.s $f0, $f0, $f6 +/* C7E5EC 8024046C 46000002 */ mul.s $f0, $f0, $f0 +/* C7E5F0 80240470 00000000 */ nop +/* C7E5F4 80240474 46041080 */ add.s $f2, $f2, $f4 +/* C7E5F8 80240478 46001300 */ add.s $f12, $f2, $f0 +/* C7E5FC 8024047C 46006004 */ sqrt.s $f0, $f12 +/* C7E600 80240480 46000032 */ c.eq.s $f0, $f0 +/* C7E604 80240484 00000000 */ nop +/* C7E608 80240488 45010003 */ bc1t .L80240498 +/* C7E60C 8024048C 00000000 */ nop +/* C7E610 80240490 0C0187BC */ jal sqrtf +/* C7E614 80240494 00000000 */ nop +.L80240498: +/* C7E618 80240498 4600020D */ trunc.w.s $f8, $f0 +/* C7E61C 8024049C E6080094 */ swc1 $f8, 0x94($s0) +/* C7E620 802404A0 8FBF0014 */ lw $ra, 0x14($sp) +/* C7E624 802404A4 8FB00010 */ lw $s0, 0x10($sp) +/* C7E628 802404A8 24020002 */ addiu $v0, $zero, 2 +/* C7E62C 802404AC 03E00008 */ jr $ra +/* C7E630 802404B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_802404B4_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_802404B4_C7E180.s new file mode 100644 index 0000000000..30d95df5cc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_802404B4_C7E180.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B4_C7E634 +/* C7E634 802404B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E638 802404B8 AFBF0010 */ sw $ra, 0x10($sp) +/* C7E63C 802404BC 8C82000C */ lw $v0, 0xc($a0) +/* C7E640 802404C0 0C0B1EAF */ jal get_variable +/* C7E644 802404C4 8C450000 */ lw $a1, ($v0) +/* C7E648 802404C8 44820000 */ mtc1 $v0, $f0 +/* C7E64C 802404CC 00000000 */ nop +/* C7E650 802404D0 46800020 */ cvt.s.w $f0, $f0 +/* C7E654 802404D4 8FBF0010 */ lw $ra, 0x10($sp) +/* C7E658 802404D8 24020002 */ addiu $v0, $zero, 2 +/* C7E65C 802404DC 3C018011 */ lui $at, 0x8011 +/* C7E660 802404E0 E420F054 */ swc1 $f0, -0xfac($at) +/* C7E664 802404E4 03E00008 */ jr $ra +/* C7E668 802404E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_802404EC.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_802404EC.s new file mode 100644 index 0000000000..041adb87bf --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_802404EC.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404EC +/* C7E66C 802404EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C7E670 802404F0 AFB00010 */ sw $s0, 0x10($sp) +/* C7E674 802404F4 0080802D */ daddu $s0, $a0, $zero +/* C7E678 802404F8 AFBF0014 */ sw $ra, 0x14($sp) +/* C7E67C 802404FC F7B40018 */ sdc1 $f20, 0x18($sp) +/* C7E680 80240500 C60C0090 */ lwc1 $f12, 0x90($s0) +/* C7E684 80240504 46806320 */ cvt.s.w $f12, $f12 +/* C7E688 80240508 3C018024 */ lui $at, 0x8024 +/* C7E68C 8024050C D4342000 */ ldc1 $f20, 0x2000($at) +/* C7E690 80240510 46006307 */ neg.s $f12, $f12 +/* C7E694 80240514 46006321 */ cvt.d.s $f12, $f12 +/* C7E698 80240518 46346301 */ sub.d $f12, $f12, $f20 +/* C7E69C 8024051C 0C00A8D4 */ jal cos_deg +/* C7E6A0 80240520 46206320 */ cvt.s.d $f12, $f12 +/* C7E6A4 80240524 3C014008 */ lui $at, 0x4008 +/* C7E6A8 80240528 44811800 */ mtc1 $at, $f3 +/* C7E6AC 8024052C 44801000 */ mtc1 $zero, $f2 +/* C7E6B0 80240530 46000021 */ cvt.d.s $f0, $f0 +/* C7E6B4 80240534 46220002 */ mul.d $f0, $f0, $f2 +/* C7E6B8 80240538 00000000 */ nop +/* C7E6BC 8024053C C60C0090 */ lwc1 $f12, 0x90($s0) +/* C7E6C0 80240540 46806320 */ cvt.s.w $f12, $f12 +/* C7E6C4 80240544 46006307 */ neg.s $f12, $f12 +/* C7E6C8 80240548 46006321 */ cvt.d.s $f12, $f12 +/* C7E6CC 8024054C 46346301 */ sub.d $f12, $f12, $f20 +/* C7E6D0 80240550 3C018024 */ lui $at, 0x8024 +/* C7E6D4 80240554 D4222008 */ ldc1 $f2, 0x2008($at) +/* C7E6D8 80240558 46220001 */ sub.d $f0, $f0, $f2 +/* C7E6DC 8024055C 4620010D */ trunc.w.d $f4, $f0 +/* C7E6E0 80240560 E6040098 */ swc1 $f4, 0x98($s0) +/* C7E6E4 80240564 0C00A8BB */ jal sin_deg +/* C7E6E8 80240568 46206320 */ cvt.s.d $f12, $f12 +/* C7E6EC 8024056C 3C014014 */ lui $at, 0x4014 +/* C7E6F0 80240570 44811800 */ mtc1 $at, $f3 +/* C7E6F4 80240574 44801000 */ mtc1 $zero, $f2 +/* C7E6F8 80240578 46000021 */ cvt.d.s $f0, $f0 +/* C7E6FC 8024057C 46220002 */ mul.d $f0, $f0, $f2 +/* C7E700 80240580 00000000 */ nop +/* C7E704 80240584 4620010D */ trunc.w.d $f4, $f0 +/* C7E708 80240588 E604009C */ swc1 $f4, 0x9c($s0) +/* C7E70C 8024058C 8FBF0014 */ lw $ra, 0x14($sp) +/* C7E710 80240590 8FB00010 */ lw $s0, 0x10($sp) +/* C7E714 80240594 D7B40018 */ ldc1 $f20, 0x18($sp) +/* C7E718 80240598 24020002 */ addiu $v0, $zero, 2 +/* C7E71C 8024059C 03E00008 */ jr $ra +/* C7E720 802405A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_802405A4_C7E180.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_802405A4_C7E180.s new file mode 100644 index 0000000000..f24df325c2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_802405A4_C7E180.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4_C7E724 +/* C7E724 802405A4 3C018024 */ lui $at, 0x8024 +/* C7E728 802405A8 D4222010 */ ldc1 $f2, 0x2010($at) +/* C7E72C 802405AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C7E730 802405B0 AFB00010 */ sw $s0, 0x10($sp) +/* C7E734 802405B4 0080802D */ daddu $s0, $a0, $zero +/* C7E738 802405B8 AFBF0014 */ sw $ra, 0x14($sp) +/* C7E73C 802405BC C6000084 */ lwc1 $f0, 0x84($s0) +/* C7E740 802405C0 46800021 */ cvt.d.w $f0, $f0 +/* C7E744 802405C4 46201081 */ sub.d $f2, $f2, $f0 +/* C7E748 802405C8 462010A0 */ cvt.s.d $f2, $f2 +/* C7E74C 802405CC 46021082 */ mul.s $f2, $f2, $f2 +/* C7E750 802405D0 00000000 */ nop +/* C7E754 802405D4 3C014047 */ lui $at, 0x4047 +/* C7E758 802405D8 44810800 */ mtc1 $at, $f1 +/* C7E75C 802405DC 44800000 */ mtc1 $zero, $f0 +/* C7E760 802405E0 C604008C */ lwc1 $f4, 0x8c($s0) +/* C7E764 802405E4 46802121 */ cvt.d.w $f4, $f4 +/* C7E768 802405E8 46240001 */ sub.d $f0, $f0, $f4 +/* C7E76C 802405EC 46200020 */ cvt.s.d $f0, $f0 +/* C7E770 802405F0 46000002 */ mul.s $f0, $f0, $f0 +/* C7E774 802405F4 00000000 */ nop +/* C7E778 802405F8 46001300 */ add.s $f12, $f2, $f0 +/* C7E77C 802405FC 46006004 */ sqrt.s $f0, $f12 +/* C7E780 80240600 46000032 */ c.eq.s $f0, $f0 +/* C7E784 80240604 00000000 */ nop +/* C7E788 80240608 45030004 */ bc1tl .L8024061C +/* C7E78C 8024060C 46000007 */ neg.s $f0, $f0 +/* C7E790 80240610 0C0187BC */ jal sqrtf +/* C7E794 80240614 00000000 */ nop +/* C7E798 80240618 46000007 */ neg.s $f0, $f0 +.L8024061C: +/* C7E79C 8024061C 4600018D */ trunc.w.s $f6, $f0 +/* C7E7A0 80240620 E6060090 */ swc1 $f6, 0x90($s0) +/* C7E7A4 80240624 8FBF0014 */ lw $ra, 0x14($sp) +/* C7E7A8 80240628 8FB00010 */ lw $s0, 0x10($sp) +/* C7E7AC 8024062C 24020002 */ addiu $v0, $zero, 2 +/* C7E7B0 80240630 03E00008 */ jr $ra +/* C7E7B4 80240634 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_10/func_80240638.s b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240638.s new file mode 100644 index 0000000000..08581e3dc6 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_10/func_80240638.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240638 +/* C7E7B8 80240638 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C7E7BC 8024063C AFB1001C */ sw $s1, 0x1c($sp) +/* C7E7C0 80240640 0080882D */ daddu $s1, $a0, $zero +/* C7E7C4 80240644 AFBF0020 */ sw $ra, 0x20($sp) +/* C7E7C8 80240648 AFB00018 */ sw $s0, 0x18($sp) +/* C7E7CC 8024064C 8E30000C */ lw $s0, 0xc($s1) +/* C7E7D0 80240650 8E050000 */ lw $a1, ($s0) +/* C7E7D4 80240654 0C0B1EAF */ jal get_variable +/* C7E7D8 80240658 26100004 */ addiu $s0, $s0, 4 +/* C7E7DC 8024065C AE220070 */ sw $v0, 0x70($s1) +/* C7E7E0 80240660 8E050000 */ lw $a1, ($s0) +/* C7E7E4 80240664 26100004 */ addiu $s0, $s0, 4 +/* C7E7E8 80240668 0C0B1EAF */ jal get_variable +/* C7E7EC 8024066C 0220202D */ daddu $a0, $s1, $zero +/* C7E7F0 80240670 AE220074 */ sw $v0, 0x74($s1) +/* C7E7F4 80240674 8E050000 */ lw $a1, ($s0) +/* C7E7F8 80240678 0C0B1EAF */ jal get_variable +/* C7E7FC 8024067C 0220202D */ daddu $a0, $s1, $zero +/* C7E800 80240680 24040052 */ addiu $a0, $zero, 0x52 +/* C7E804 80240684 0000282D */ daddu $a1, $zero, $zero +/* C7E808 80240688 C6200070 */ lwc1 $f0, 0x70($s1) +/* C7E80C 8024068C 46800020 */ cvt.s.w $f0, $f0 +/* C7E810 80240690 C6220074 */ lwc1 $f2, 0x74($s1) +/* C7E814 80240694 468010A0 */ cvt.s.w $f2, $f2 +/* C7E818 80240698 44060000 */ mfc1 $a2, $f0 +/* C7E81C 8024069C 44071000 */ mfc1 $a3, $f2 +/* C7E820 802406A0 44820000 */ mtc1 $v0, $f0 +/* C7E824 802406A4 00000000 */ nop +/* C7E828 802406A8 46800020 */ cvt.s.w $f0, $f0 +/* C7E82C 802406AC AE220078 */ sw $v0, 0x78($s1) +/* C7E830 802406B0 0C05267B */ jal func_801499EC +/* C7E834 802406B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C7E838 802406B8 8FBF0020 */ lw $ra, 0x20($sp) +/* C7E83C 802406BC 8FB1001C */ lw $s1, 0x1c($sp) +/* C7E840 802406C0 8FB00018 */ lw $s0, 0x18($sp) +/* C7E844 802406C4 24020002 */ addiu $v0, $zero, 2 +/* C7E848 802406C8 03E00008 */ jr $ra +/* C7E84C 802406CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240000_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240000_C801A0.s new file mode 100644 index 0000000000..ce52e0a6dd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240000_C801A0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C801A0 +/* C801A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C801A4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C801A8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C801AC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C801B0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C801B4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C801B8 80240018 00621821 */ addu $v1, $v1, $v0 +/* C801BC 8024001C 04610004 */ bgez $v1, .L80240030 +/* C801C0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C801C4 80240024 3C020002 */ lui $v0, 2 +/* C801C8 80240028 08090010 */ j .L80240040 +/* C801CC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C801D0 80240030 3C040002 */ lui $a0, 2 +/* C801D4 80240034 0083102A */ slt $v0, $a0, $v1 +/* C801D8 80240038 10400002 */ beqz $v0, .L80240044 +/* C801DC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C801E0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C801E4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C801E8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C801EC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C801F0 80240050 04610004 */ bgez $v1, .L80240064 +/* C801F4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C801F8 80240058 3C020002 */ lui $v0, 2 +/* C801FC 8024005C 0809001D */ j .L80240074 +/* C80200 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C80204 80240064 3C040002 */ lui $a0, 2 +/* C80208 80240068 0083102A */ slt $v0, $a0, $v1 +/* C8020C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C80210 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C80214 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C80218 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C8021C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C80220 80240080 00621821 */ addu $v1, $v1, $v0 +/* C80224 80240084 04610004 */ bgez $v1, .L80240098 +/* C80228 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C8022C 8024008C 3C020002 */ lui $v0, 2 +/* C80230 80240090 0809002A */ j .L802400A8 +/* C80234 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C80238 80240098 3C040002 */ lui $a0, 2 +/* C8023C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C80240 802400A0 10400002 */ beqz $v0, .L802400AC +/* C80244 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C80248 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C8024C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C80250 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C80254 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C80258 802400B8 04610004 */ bgez $v1, .L802400CC +/* C8025C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C80260 802400C0 3C020002 */ lui $v0, 2 +/* C80264 802400C4 08090037 */ j .L802400DC +/* C80268 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C8026C 802400CC 3C040002 */ lui $a0, 2 +/* C80270 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C80274 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C80278 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C8027C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C80280 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C80284 802400E4 0C046F07 */ jal set_main_pan_u +/* C80288 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C8028C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C80290 802400F0 0C046F0D */ jal set_main_pan_v +/* C80294 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C80298 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C8029C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C802A0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C802A4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C802A8 80240108 0C046F19 */ jal set_aux_pan_v +/* C802AC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C802B0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C802B4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C802B8 80240118 0000102D */ daddu $v0, $zero, $zero +/* C802BC 8024011C 03E00008 */ jr $ra +/* C802C0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240124_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240124_C801A0.s new file mode 100644 index 0000000000..bbbc3c21b7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240124_C801A0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C802C4 +/* C802C4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C802C8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C802CC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C802D0 80240130 10A00005 */ beqz $a1, .L80240148 +/* C802D4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C802D8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C802DC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C802E0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C802E4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C802E8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C802EC 8024014C 1440000E */ bnez $v0, .L80240188 +/* C802F0 80240150 00000000 */ nop +/* C802F4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C802F8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C802FC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C80300 80240160 04610004 */ bgez $v1, .L80240174 +/* C80304 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C80308 80240168 3C020002 */ lui $v0, 2 +/* C8030C 8024016C 08090061 */ j .L80240184 +/* C80310 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C80314 80240174 3C040002 */ lui $a0, 2 +/* C80318 80240178 0083102A */ slt $v0, $a0, $v1 +/* C8031C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C80320 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C80324 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C80328 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C8032C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C80330 80240190 00000000 */ nop +/* C80334 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C80338 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C8033C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C80340 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C80344 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C80348 802401A8 3C020002 */ lui $v0, 2 +/* C8034C 802401AC 08090071 */ j .L802401C4 +/* C80350 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C80354 802401B4 3C040002 */ lui $a0, 2 +/* C80358 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C8035C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C80360 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C80364 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C80368 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C8036C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C80370 802401D0 00000000 */ nop +/* C80374 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C80378 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C8037C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C80380 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C80384 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C80388 802401E8 3C020002 */ lui $v0, 2 +/* C8038C 802401EC 08090081 */ j .L80240204 +/* C80390 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C80394 802401F4 3C040002 */ lui $a0, 2 +/* C80398 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C8039C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C803A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C803A4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C803A8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C803AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C803B0 80240210 00000000 */ nop +/* C803B4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C803B8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C803BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C803C0 80240220 04610004 */ bgez $v1, .L80240234 +/* C803C4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C803C8 80240228 3C020002 */ lui $v0, 2 +/* C803CC 8024022C 08090091 */ j .L80240244 +/* C803D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C803D4 80240234 3C040002 */ lui $a0, 2 +/* C803D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* C803DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* C803E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C803E4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C803E8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C803EC 8024024C 0C046F07 */ jal set_main_pan_u +/* C803F0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C803F4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C803F8 80240258 0C046F0D */ jal set_main_pan_v +/* C803FC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C80400 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C80404 80240264 0C046F13 */ jal set_aux_pan_u +/* C80408 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C8040C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C80410 80240270 0C046F19 */ jal set_aux_pan_v +/* C80414 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C80418 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C8041C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C80420 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C80424 80240284 24420001 */ addiu $v0, $v0, 1 +/* C80428 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C8042C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C80430 80240290 24630001 */ addiu $v1, $v1, 1 +/* C80434 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C80438 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C8043C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C80440 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C80444 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C80448 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C8044C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C80450 802402B0 14600002 */ bnez $v1, .L802402BC +/* C80454 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C80458 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C8045C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C80460 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C80464 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C80468 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C8046C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C80470 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C80474 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C80478 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C8047C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C80480 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C80484 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C80488 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C8048C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C80490 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C80494 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C80498 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C8049C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C804A0 80240300 0000102D */ daddu $v0, $zero, $zero +/* C804A4 80240304 03E00008 */ jr $ra +/* C804A8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C804AC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240310_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240310_C801A0.s new file mode 100644 index 0000000000..d86f659df5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240310_C801A0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C804B0 +/* C804B0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C804B4 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* C804B8 80240318 0080882D */ daddu $s1, $a0, $zero +/* C804BC 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* C804C0 80240320 AFB20018 */ sw $s2, 0x18($sp) +/* C804C4 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* C804C8 80240328 8E30000C */ lw $s0, 0xc($s1) +/* C804CC 8024032C 8E050000 */ lw $a1, ($s0) +/* C804D0 80240330 0C0B1EAF */ jal get_variable +/* C804D4 80240334 26100004 */ addiu $s0, $s0, 4 +/* C804D8 80240338 8E050000 */ lw $a1, ($s0) +/* C804DC 8024033C 26100004 */ addiu $s0, $s0, 4 +/* C804E0 80240340 0220202D */ daddu $a0, $s1, $zero +/* C804E4 80240344 0C0B1EAF */ jal get_variable +/* C804E8 80240348 0040902D */ daddu $s2, $v0, $zero +/* C804EC 8024034C 0220202D */ daddu $a0, $s1, $zero +/* C804F0 80240350 8E050000 */ lw $a1, ($s0) +/* C804F4 80240354 0C0B1EAF */ jal get_variable +/* C804F8 80240358 0040882D */ daddu $s1, $v0, $zero +/* C804FC 8024035C 0040802D */ daddu $s0, $v0, $zero +/* C80500 80240360 3C028016 */ lui $v0, 0x8016 +/* C80504 80240364 2442A550 */ addiu $v0, $v0, -0x5ab0 +/* C80508 80240368 84430002 */ lh $v1, 2($v0) +/* C8050C 8024036C 10710008 */ beq $v1, $s1, .L80240390 +/* C80510 80240370 00000000 */ nop +/* C80514 80240374 84420004 */ lh $v0, 4($v0) +/* C80518 80240378 10510005 */ beq $v0, $s1, .L80240390 +/* C8051C 8024037C 00000000 */ nop +/* C80520 80240380 10700003 */ beq $v1, $s0, .L80240390 +/* C80524 80240384 00000000 */ nop +/* C80528 80240388 14500007 */ bne $v0, $s0, .L802403A8 +/* C8052C 8024038C 00000000 */ nop +.L80240390: +/* C80530 80240390 44920000 */ mtc1 $s2, $f0 +/* C80534 80240394 00000000 */ nop +/* C80538 80240398 46800020 */ cvt.s.w $f0, $f0 +/* C8053C 8024039C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C80540 802403A0 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C80544 802403A4 E440001C */ swc1 $f0, 0x1c($v0) +.L802403A8: +/* C80548 802403A8 3C028011 */ lui $v0, 0x8011 +/* C8054C 802403AC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* C80550 802403B0 1040000E */ beqz $v0, .L802403EC +/* C80554 802403B4 00000000 */ nop +/* C80558 802403B8 0C00EABB */ jal get_npc_unsafe +/* C8055C 802403BC 2404FFFC */ addiu $a0, $zero, -4 +/* C80560 802403C0 84430084 */ lh $v1, 0x84($v0) +/* C80564 802403C4 10710003 */ beq $v1, $s1, .L802403D4 +/* C80568 802403C8 00000000 */ nop +/* C8056C 802403CC 14700007 */ bne $v1, $s0, .L802403EC +/* C80570 802403D0 00000000 */ nop +.L802403D4: +/* C80574 802403D4 C4400038 */ lwc1 $f0, 0x38($v0) +/* C80578 802403D8 44921000 */ mtc1 $s2, $f2 +/* C8057C 802403DC 00000000 */ nop +/* C80580 802403E0 468010A0 */ cvt.s.w $f2, $f2 +/* C80584 802403E4 46020000 */ add.s $f0, $f0, $f2 +/* C80588 802403E8 E4400038 */ swc1 $f0, 0x38($v0) +.L802403EC: +/* C8058C 802403EC 8FBF001C */ lw $ra, 0x1c($sp) +/* C80590 802403F0 8FB20018 */ lw $s2, 0x18($sp) +/* C80594 802403F4 8FB10014 */ lw $s1, 0x14($sp) +/* C80598 802403F8 8FB00010 */ lw $s0, 0x10($sp) +/* C8059C 802403FC 24020002 */ addiu $v0, $zero, 2 +/* C805A0 80240400 03E00008 */ jr $ra +/* C805A4 80240404 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240408_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240408_C801A0.s new file mode 100644 index 0000000000..f241f65f40 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240408_C801A0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240408_C805A8 +/* C805A8 80240408 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C805AC 8024040C AFBF0010 */ sw $ra, 0x10($sp) +/* C805B0 80240410 8C82000C */ lw $v0, 0xc($a0) +/* C805B4 80240414 3C068016 */ lui $a2, 0x8016 +/* C805B8 80240418 84C6A552 */ lh $a2, -0x5aae($a2) +/* C805BC 8024041C 0C0B2026 */ jal set_variable +/* C805C0 80240420 8C450000 */ lw $a1, ($v0) +/* C805C4 80240424 8FBF0010 */ lw $ra, 0x10($sp) +/* C805C8 80240428 24020002 */ addiu $v0, $zero, 2 +/* C805CC 8024042C 03E00008 */ jr $ra +/* C805D0 80240430 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240434_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240434_C801A0.s new file mode 100644 index 0000000000..326fddf09b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240434_C801A0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_C805D4 +/* C805D4 80240434 3C038011 */ lui $v1, 0x8011 +/* C805D8 80240438 8063EBB3 */ lb $v1, -0x144d($v1) +/* C805DC 8024043C 24020008 */ addiu $v0, $zero, 8 +/* C805E0 80240440 54620003 */ bnel $v1, $v0, .L80240450 +/* C805E4 80240444 AC8000A8 */ sw $zero, 0xa8($a0) +/* C805E8 80240448 24020001 */ addiu $v0, $zero, 1 +/* C805EC 8024044C AC8200A8 */ sw $v0, 0xa8($a0) +.L80240450: +/* C805F0 80240450 03E00008 */ jr $ra +/* C805F4 80240454 24020002 */ addiu $v0, $zero, 2 +/* C805F8 80240458 00000000 */ nop +/* C805FC 8024045C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240460_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240460_C801A0.s new file mode 100644 index 0000000000..d858ba65fa --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240460_C801A0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240460_C80600 +/* C80600 80240460 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C80604 80240464 AFB3002C */ sw $s3, 0x2c($sp) +/* C80608 80240468 0080982D */ daddu $s3, $a0, $zero +/* C8060C 8024046C AFBF0030 */ sw $ra, 0x30($sp) +/* C80610 80240470 AFB20028 */ sw $s2, 0x28($sp) +/* C80614 80240474 AFB10024 */ sw $s1, 0x24($sp) +/* C80618 80240478 AFB00020 */ sw $s0, 0x20($sp) +/* C8061C 8024047C 8E710148 */ lw $s1, 0x148($s3) +/* C80620 80240480 86240008 */ lh $a0, 8($s1) +/* C80624 80240484 0C00EABB */ jal get_npc_unsafe +/* C80628 80240488 00A0902D */ daddu $s2, $a1, $zero +/* C8062C 8024048C 8E440004 */ lw $a0, 4($s2) +/* C80630 80240490 0040802D */ daddu $s0, $v0, $zero +/* C80634 80240494 00041FC2 */ srl $v1, $a0, 0x1f +/* C80638 80240498 00832021 */ addu $a0, $a0, $v1 +/* C8063C 8024049C 00042043 */ sra $a0, $a0, 1 +/* C80640 802404A0 0C00A67F */ jal rand_int +/* C80644 802404A4 24840001 */ addiu $a0, $a0, 1 +/* C80648 802404A8 8E430004 */ lw $v1, 4($s2) +/* C8064C 802404AC 000327C2 */ srl $a0, $v1, 0x1f +/* C80650 802404B0 00641821 */ addu $v1, $v1, $a0 +/* C80654 802404B4 00031843 */ sra $v1, $v1, 1 +/* C80658 802404B8 00621821 */ addu $v1, $v1, $v0 +/* C8065C 802404BC A603008E */ sh $v1, 0x8e($s0) +/* C80660 802404C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C80664 802404C4 C6000040 */ lwc1 $f0, 0x40($s0) +/* C80668 802404C8 C4640000 */ lwc1 $f4, ($v1) +/* C8066C 802404CC 46802120 */ cvt.s.w $f4, $f4 +/* C80670 802404D0 C4620008 */ lwc1 $f2, 8($v1) +/* C80674 802404D4 468010A0 */ cvt.s.w $f2, $f2 +/* C80678 802404D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8067C 802404DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80680 802404E0 44061000 */ mfc1 $a2, $f2 +/* C80684 802404E4 C440000C */ lwc1 $f0, 0xc($v0) +/* C80688 802404E8 46800020 */ cvt.s.w $f0, $f0 +/* C8068C 802404EC E7A00014 */ swc1 $f0, 0x14($sp) +/* C80690 802404F0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80694 802404F4 44052000 */ mfc1 $a1, $f4 +/* C80698 802404F8 C4400010 */ lwc1 $f0, 0x10($v0) +/* C8069C 802404FC 46800020 */ cvt.s.w $f0, $f0 +/* C806A0 80240500 E7A00018 */ swc1 $f0, 0x18($sp) +/* C806A4 80240504 8C640018 */ lw $a0, 0x18($v1) +/* C806A8 80240508 0C0123F5 */ jal is_point_within_region +/* C806AC 8024050C 8E070038 */ lw $a3, 0x38($s0) +/* C806B0 80240510 1040000E */ beqz $v0, .L8024054C +/* C806B4 80240514 00000000 */ nop +/* C806B8 80240518 8E2200D0 */ lw $v0, 0xd0($s1) +/* C806BC 8024051C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C806C0 80240520 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C806C4 80240524 C4460000 */ lwc1 $f6, ($v0) +/* C806C8 80240528 468031A0 */ cvt.s.w $f6, $f6 +/* C806CC 8024052C 44063000 */ mfc1 $a2, $f6 +/* C806D0 80240530 C4460008 */ lwc1 $f6, 8($v0) +/* C806D4 80240534 468031A0 */ cvt.s.w $f6, $f6 +/* C806D8 80240538 44073000 */ mfc1 $a3, $f6 +/* C806DC 8024053C 0C00A720 */ jal atan2 +/* C806E0 80240540 00000000 */ nop +/* C806E4 80240544 0809015F */ j .L8024057C +/* C806E8 80240548 E600000C */ swc1 $f0, 0xc($s0) +.L8024054C: +/* C806EC 8024054C 0C00A67F */ jal rand_int +/* C806F0 80240550 2404003C */ addiu $a0, $zero, 0x3c +/* C806F4 80240554 C60C000C */ lwc1 $f12, 0xc($s0) +/* C806F8 80240558 44820000 */ mtc1 $v0, $f0 +/* C806FC 8024055C 00000000 */ nop +/* C80700 80240560 46800020 */ cvt.s.w $f0, $f0 +/* C80704 80240564 46006300 */ add.s $f12, $f12, $f0 +/* C80708 80240568 3C0141F0 */ lui $at, 0x41f0 +/* C8070C 8024056C 44810000 */ mtc1 $at, $f0 +/* C80710 80240570 0C00A6C9 */ jal clamp_angle +/* C80714 80240574 46006301 */ sub.s $f12, $f12, $f0 +/* C80718 80240578 E600000C */ swc1 $f0, 0xc($s0) +.L8024057C: +/* C8071C 8024057C 8E2200CC */ lw $v0, 0xcc($s1) +/* C80720 80240580 8C420004 */ lw $v0, 4($v0) +/* C80724 80240584 AE020028 */ sw $v0, 0x28($s0) +/* C80728 80240588 AE600074 */ sw $zero, 0x74($s3) +/* C8072C 8024058C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80730 80240590 8C420014 */ lw $v0, 0x14($v0) +/* C80734 80240594 04410004 */ bgez $v0, .L802405A8 +/* C80738 80240598 00000000 */ nop +/* C8073C 8024059C C6400000 */ lwc1 $f0, ($s2) +/* C80740 802405A0 08090172 */ j .L802405C8 +/* C80744 802405A4 E6000018 */ swc1 $f0, 0x18($s0) +.L802405A8: +/* C80748 802405A8 3C018024 */ lui $at, 0x8024 +/* C8074C 802405AC D4225850 */ ldc1 $f2, 0x5850($at) +/* C80750 802405B0 44820000 */ mtc1 $v0, $f0 +/* C80754 802405B4 00000000 */ nop +/* C80758 802405B8 46800021 */ cvt.d.w $f0, $f0 +/* C8075C 802405BC 46220003 */ div.d $f0, $f0, $f2 +/* C80760 802405C0 46200020 */ cvt.s.d $f0, $f0 +/* C80764 802405C4 E6000018 */ swc1 $f0, 0x18($s0) +.L802405C8: +/* C80768 802405C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C8076C 802405CC 3C014059 */ lui $at, 0x4059 +/* C80770 802405D0 44811800 */ mtc1 $at, $f3 +/* C80774 802405D4 44801000 */ mtc1 $zero, $f2 +/* C80778 802405D8 46000021 */ cvt.d.s $f0, $f0 +/* C8077C 802405DC 46220002 */ mul.d $f0, $f0, $f2 +/* C80780 802405E0 00000000 */ nop +/* C80784 802405E4 24020001 */ addiu $v0, $zero, 1 +/* C80788 802405E8 4620018D */ trunc.w.d $f6, $f0 +/* C8078C 802405EC E626007C */ swc1 $f6, 0x7c($s1) +/* C80790 802405F0 AE620070 */ sw $v0, 0x70($s3) +/* C80794 802405F4 8FBF0030 */ lw $ra, 0x30($sp) +/* C80798 802405F8 8FB3002C */ lw $s3, 0x2c($sp) +/* C8079C 802405FC 8FB20028 */ lw $s2, 0x28($sp) +/* C807A0 80240600 8FB10024 */ lw $s1, 0x24($sp) +/* C807A4 80240604 8FB00020 */ lw $s0, 0x20($sp) +/* C807A8 80240608 03E00008 */ jr $ra +/* C807AC 8024060C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240610_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240610_C801A0.s new file mode 100644 index 0000000000..1d686f0729 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240610_C801A0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240610_C807B0 +/* C807B0 80240610 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C807B4 80240614 AFB3004C */ sw $s3, 0x4c($sp) +/* C807B8 80240618 0080982D */ daddu $s3, $a0, $zero +/* C807BC 8024061C AFBF0058 */ sw $ra, 0x58($sp) +/* C807C0 80240620 AFB50054 */ sw $s5, 0x54($sp) +/* C807C4 80240624 AFB40050 */ sw $s4, 0x50($sp) +/* C807C8 80240628 AFB20048 */ sw $s2, 0x48($sp) +/* C807CC 8024062C AFB10044 */ sw $s1, 0x44($sp) +/* C807D0 80240630 AFB00040 */ sw $s0, 0x40($sp) +/* C807D4 80240634 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C807D8 80240638 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C807DC 8024063C F7B60068 */ sdc1 $f22, 0x68($sp) +/* C807E0 80240640 F7B40060 */ sdc1 $f20, 0x60($sp) +/* C807E4 80240644 8E710148 */ lw $s1, 0x148($s3) +/* C807E8 80240648 00A0902D */ daddu $s2, $a1, $zero +/* C807EC 8024064C 86240008 */ lh $a0, 8($s1) +/* C807F0 80240650 0C00EABB */ jal get_npc_unsafe +/* C807F4 80240654 00C0A82D */ daddu $s5, $a2, $zero +/* C807F8 80240658 0040802D */ daddu $s0, $v0, $zero +/* C807FC 8024065C 0000A02D */ daddu $s4, $zero, $zero +/* C80800 80240660 C624007C */ lwc1 $f4, 0x7c($s1) +/* C80804 80240664 46802120 */ cvt.s.w $f4, $f4 +/* C80808 80240668 C6220088 */ lwc1 $f2, 0x88($s1) +/* C8080C 8024066C 468010A0 */ cvt.s.w $f2, $f2 +/* C80810 80240670 460010A1 */ cvt.d.s $f2, $f2 +/* C80814 80240674 46002121 */ cvt.d.s $f4, $f4 +/* C80818 80240678 C600003C */ lwc1 $f0, 0x3c($s0) +/* C8081C 8024067C 3C014059 */ lui $at, 0x4059 +/* C80820 80240680 44813800 */ mtc1 $at, $f7 +/* C80824 80240684 44803000 */ mtc1 $zero, $f6 +/* C80828 80240688 46000021 */ cvt.d.s $f0, $f0 +/* C8082C 8024068C 46260002 */ mul.d $f0, $f0, $f6 +/* C80830 80240690 00000000 */ nop +/* C80834 80240694 24020001 */ addiu $v0, $zero, 1 +/* C80838 80240698 8E24006C */ lw $a0, 0x6c($s1) +/* C8083C 8024069C 46261083 */ div.d $f2, $f2, $f6 +/* C80840 802406A0 462010A0 */ cvt.s.d $f2, $f2 +/* C80844 802406A4 46262103 */ div.d $f4, $f4, $f6 +/* C80848 802406A8 46202520 */ cvt.s.d $f20, $f4 +/* C8084C 802406AC 30830011 */ andi $v1, $a0, 0x11 +/* C80850 802406B0 4620020D */ trunc.w.d $f8, $f0 +/* C80854 802406B4 E628007C */ swc1 $f8, 0x7c($s1) +/* C80858 802406B8 C6200078 */ lwc1 $f0, 0x78($s1) +/* C8085C 802406BC 46800020 */ cvt.s.w $f0, $f0 +/* C80860 802406C0 46000021 */ cvt.d.s $f0, $f0 +/* C80864 802406C4 46260003 */ div.d $f0, $f0, $f6 +/* C80868 802406C8 462006A0 */ cvt.s.d $f26, $f0 +/* C8086C 802406CC C6200070 */ lwc1 $f0, 0x70($s1) +/* C80870 802406D0 46800020 */ cvt.s.w $f0, $f0 +/* C80874 802406D4 46000021 */ cvt.d.s $f0, $f0 +/* C80878 802406D8 46260003 */ div.d $f0, $f0, $f6 +/* C8087C 802406DC 462005A0 */ cvt.s.d $f22, $f0 +/* C80880 802406E0 14620025 */ bne $v1, $v0, .L80240778 +/* C80884 802406E4 4602D600 */ add.s $f24, $f26, $f2 +/* C80888 802406E8 8E020000 */ lw $v0, ($s0) +/* C8088C 802406EC 30420008 */ andi $v0, $v0, 8 +/* C80890 802406F0 10400009 */ beqz $v0, .L80240718 +/* C80894 802406F4 27A50028 */ addiu $a1, $sp, 0x28 +/* C80898 802406F8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C8089C 802406FC 4600C001 */ sub.s $f0, $f24, $f0 +/* C808A0 80240700 4600B03C */ c.lt.s $f22, $f0 +/* C808A4 80240704 00000000 */ nop +/* C808A8 80240708 4500001B */ bc1f .L80240778 +/* C808AC 8024070C 34820010 */ ori $v0, $a0, 0x10 +/* C808B0 80240710 080901DE */ j .L80240778 +/* C808B4 80240714 AE22006C */ sw $v0, 0x6c($s1) +.L80240718: +/* C808B8 80240718 27A6002C */ addiu $a2, $sp, 0x2c +/* C808BC 8024071C C6000038 */ lwc1 $f0, 0x38($s0) +/* C808C0 80240720 C602003C */ lwc1 $f2, 0x3c($s0) +/* C808C4 80240724 C6040040 */ lwc1 $f4, 0x40($s0) +/* C808C8 80240728 3C01447A */ lui $at, 0x447a +/* C808CC 8024072C 44813000 */ mtc1 $at, $f6 +/* C808D0 80240730 27A20034 */ addiu $v0, $sp, 0x34 +/* C808D4 80240734 E7A00028 */ swc1 $f0, 0x28($sp) +/* C808D8 80240738 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C808DC 8024073C E7A40030 */ swc1 $f4, 0x30($sp) +/* C808E0 80240740 E7A60034 */ swc1 $f6, 0x34($sp) +/* C808E4 80240744 AFA20010 */ sw $v0, 0x10($sp) +/* C808E8 80240748 8E040080 */ lw $a0, 0x80($s0) +/* C808EC 8024074C 0C0372DF */ jal func_800DCB7C +/* C808F0 80240750 27A70030 */ addiu $a3, $sp, 0x30 +/* C808F4 80240754 C7A00034 */ lwc1 $f0, 0x34($sp) +/* C808F8 80240758 4600D001 */ sub.s $f0, $f26, $f0 +/* C808FC 8024075C 4600B03C */ c.lt.s $f22, $f0 +/* C80900 80240760 00000000 */ nop +/* C80904 80240764 45000004 */ bc1f .L80240778 +/* C80908 80240768 00000000 */ nop +/* C8090C 8024076C 8E22006C */ lw $v0, 0x6c($s1) +/* C80910 80240770 34420010 */ ori $v0, $v0, 0x10 +/* C80914 80240774 AE22006C */ sw $v0, 0x6c($s1) +.L80240778: +/* C80918 80240778 8E22006C */ lw $v0, 0x6c($s1) +/* C8091C 8024077C 24030011 */ addiu $v1, $zero, 0x11 +/* C80920 80240780 30420011 */ andi $v0, $v0, 0x11 +/* C80924 80240784 14430039 */ bne $v0, $v1, .L8024086C +/* C80928 80240788 00000000 */ nop +/* C8092C 8024078C 8E020000 */ lw $v0, ($s0) +/* C80930 80240790 30420008 */ andi $v0, $v0, 8 +/* C80934 80240794 1040000A */ beqz $v0, .L802407C0 +/* C80938 80240798 4600C106 */ mov.s $f4, $f24 +/* C8093C 8024079C 4614C081 */ sub.s $f2, $f24, $f20 +/* C80940 802407A0 3C018024 */ lui $at, 0x8024 +/* C80944 802407A4 D4205858 */ ldc1 $f0, 0x5858($at) +/* C80948 802407A8 460010A1 */ cvt.d.s $f2, $f2 +/* C8094C 802407AC 46201082 */ mul.d $f2, $f2, $f0 +/* C80950 802407B0 00000000 */ nop +/* C80954 802407B4 4600A021 */ cvt.d.s $f0, $f20 +/* C80958 802407B8 08090209 */ j .L80240824 +/* C8095C 802407BC 46220000 */ add.d $f0, $f0, $f2 +.L802407C0: +/* C80960 802407C0 27A50028 */ addiu $a1, $sp, 0x28 +/* C80964 802407C4 27A6002C */ addiu $a2, $sp, 0x2c +/* C80968 802407C8 C6000038 */ lwc1 $f0, 0x38($s0) +/* C8096C 802407CC C6020040 */ lwc1 $f2, 0x40($s0) +/* C80970 802407D0 3C01447A */ lui $at, 0x447a +/* C80974 802407D4 44812000 */ mtc1 $at, $f4 +/* C80978 802407D8 27A20034 */ addiu $v0, $sp, 0x34 +/* C8097C 802407DC E7B4002C */ swc1 $f20, 0x2c($sp) +/* C80980 802407E0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C80984 802407E4 E7A20030 */ swc1 $f2, 0x30($sp) +/* C80988 802407E8 E7A40034 */ swc1 $f4, 0x34($sp) +/* C8098C 802407EC AFA20010 */ sw $v0, 0x10($sp) +/* C80990 802407F0 8E040080 */ lw $a0, 0x80($s0) +/* C80994 802407F4 0C0372DF */ jal func_800DCB7C +/* C80998 802407F8 27A70030 */ addiu $a3, $sp, 0x30 +/* C8099C 802407FC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* C809A0 80240800 461A2100 */ add.s $f4, $f4, $f26 +/* C809A4 80240804 46142081 */ sub.s $f2, $f4, $f20 +/* C809A8 80240808 3C018024 */ lui $at, 0x8024 +/* C809AC 8024080C D4205860 */ ldc1 $f0, 0x5860($at) +/* C809B0 80240810 460010A1 */ cvt.d.s $f2, $f2 +/* C809B4 80240814 46201082 */ mul.d $f2, $f2, $f0 +/* C809B8 80240818 00000000 */ nop +/* C809BC 8024081C 4600A021 */ cvt.d.s $f0, $f20 +/* C809C0 80240820 46220000 */ add.d $f0, $f0, $f2 +.L80240824: +/* C809C4 80240824 46200020 */ cvt.s.d $f0, $f0 +/* C809C8 80240828 E600003C */ swc1 $f0, 0x3c($s0) +/* C809CC 8024082C C600003C */ lwc1 $f0, 0x3c($s0) +/* C809D0 80240830 46002001 */ sub.s $f0, $f4, $f0 +/* C809D4 80240834 3C013FF0 */ lui $at, 0x3ff0 +/* C809D8 80240838 44811800 */ mtc1 $at, $f3 +/* C809DC 8024083C 44801000 */ mtc1 $zero, $f2 +/* C809E0 80240840 46000005 */ abs.s $f0, $f0 +/* C809E4 80240844 46000021 */ cvt.d.s $f0, $f0 +/* C809E8 80240848 4622003C */ c.lt.d $f0, $f2 +/* C809EC 8024084C 00000000 */ nop +/* C809F0 80240850 45000036 */ bc1f .L8024092C +/* C809F4 80240854 2403FFEF */ addiu $v1, $zero, -0x11 +/* C809F8 80240858 E604003C */ swc1 $f4, 0x3c($s0) +/* C809FC 8024085C 8E22006C */ lw $v0, 0x6c($s1) +/* C80A00 80240860 00431024 */ and $v0, $v0, $v1 +/* C80A04 80240864 0809024B */ j .L8024092C +/* C80A08 80240868 AE22006C */ sw $v0, 0x6c($s1) +.L8024086C: +/* C80A0C 8024086C 8E220070 */ lw $v0, 0x70($s1) +/* C80A10 80240870 1840002E */ blez $v0, .L8024092C +/* C80A14 80240874 00000000 */ nop +/* C80A18 80240878 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C80A1C 8024087C 0C00A8BB */ jal sin_deg +/* C80A20 80240880 46806320 */ cvt.s.w $f12, $f12 +/* C80A24 80240884 8E020000 */ lw $v0, ($s0) +/* C80A28 80240888 30420008 */ andi $v0, $v0, 8 +/* C80A2C 8024088C 10400003 */ beqz $v0, .L8024089C +/* C80A30 80240890 46000506 */ mov.s $f20, $f0 +/* C80A34 80240894 08090237 */ j .L802408DC +/* C80A38 80240898 0000102D */ daddu $v0, $zero, $zero +.L8024089C: +/* C80A3C 8024089C 27A50028 */ addiu $a1, $sp, 0x28 +/* C80A40 802408A0 27A6002C */ addiu $a2, $sp, 0x2c +/* C80A44 802408A4 C6000038 */ lwc1 $f0, 0x38($s0) +/* C80A48 802408A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C80A4C 802408AC C6040040 */ lwc1 $f4, 0x40($s0) +/* C80A50 802408B0 3C01447A */ lui $at, 0x447a +/* C80A54 802408B4 44813000 */ mtc1 $at, $f6 +/* C80A58 802408B8 27A20034 */ addiu $v0, $sp, 0x34 +/* C80A5C 802408BC E7A00028 */ swc1 $f0, 0x28($sp) +/* C80A60 802408C0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C80A64 802408C4 E7A40030 */ swc1 $f4, 0x30($sp) +/* C80A68 802408C8 E7A60034 */ swc1 $f6, 0x34($sp) +/* C80A6C 802408CC AFA20010 */ sw $v0, 0x10($sp) +/* C80A70 802408D0 8E040080 */ lw $a0, 0x80($s0) +/* C80A74 802408D4 0C0372DF */ jal func_800DCB7C +/* C80A78 802408D8 27A70030 */ addiu $a3, $sp, 0x30 +.L802408DC: +/* C80A7C 802408DC 10400007 */ beqz $v0, .L802408FC +/* C80A80 802408E0 00000000 */ nop +/* C80A84 802408E4 4616A082 */ mul.s $f2, $f20, $f22 +/* C80A88 802408E8 00000000 */ nop +/* C80A8C 802408EC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C80A90 802408F0 461A0000 */ add.s $f0, $f0, $f26 +/* C80A94 802408F4 08090242 */ j .L80240908 +/* C80A98 802408F8 46020000 */ add.s $f0, $f0, $f2 +.L802408FC: +/* C80A9C 802408FC 4616A002 */ mul.s $f0, $f20, $f22 +/* C80AA0 80240900 00000000 */ nop +/* C80AA4 80240904 4600C000 */ add.s $f0, $f24, $f0 +.L80240908: +/* C80AA8 80240908 E600003C */ swc1 $f0, 0x3c($s0) +/* C80AAC 8024090C 8E220074 */ lw $v0, 0x74($s1) +/* C80AB0 80240910 2442000A */ addiu $v0, $v0, 0xa +/* C80AB4 80240914 44826000 */ mtc1 $v0, $f12 +/* C80AB8 80240918 00000000 */ nop +/* C80ABC 8024091C 0C00A6C9 */ jal clamp_angle +/* C80AC0 80240920 46806320 */ cvt.s.w $f12, $f12 +/* C80AC4 80240924 4600020D */ trunc.w.s $f8, $f0 +/* C80AC8 80240928 E6280074 */ swc1 $f8, 0x74($s1) +.L8024092C: +/* C80ACC 8024092C 8E220090 */ lw $v0, 0x90($s1) +/* C80AD0 80240930 1C40004A */ bgtz $v0, .L80240A5C +/* C80AD4 80240934 2442FFFF */ addiu $v0, $v0, -1 +/* C80AD8 80240938 8E430014 */ lw $v1, 0x14($s2) +/* C80ADC 8024093C 04600048 */ bltz $v1, .L80240A60 +/* C80AE0 80240940 00000000 */ nop +/* C80AE4 80240944 8E620074 */ lw $v0, 0x74($s3) +/* C80AE8 80240948 1C400042 */ bgtz $v0, .L80240A54 +/* C80AEC 8024094C 2442FFFF */ addiu $v0, $v0, -1 +/* C80AF0 80240950 AE630074 */ sw $v1, 0x74($s3) +/* C80AF4 80240954 860200A8 */ lh $v0, 0xa8($s0) +/* C80AF8 80240958 C602003C */ lwc1 $f2, 0x3c($s0) +/* C80AFC 8024095C 44820000 */ mtc1 $v0, $f0 +/* C80B00 80240960 00000000 */ nop +/* C80B04 80240964 46800020 */ cvt.s.w $f0, $f0 +/* C80B08 80240968 46001080 */ add.s $f2, $f2, $f0 +/* C80B0C 8024096C 3C014024 */ lui $at, 0x4024 +/* C80B10 80240970 44810800 */ mtc1 $at, $f1 +/* C80B14 80240974 44800000 */ mtc1 $zero, $f0 +/* C80B18 80240978 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C80B1C 8024097C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C80B20 80240980 460010A1 */ cvt.d.s $f2, $f2 +/* C80B24 80240984 46201080 */ add.d $f2, $f2, $f0 +/* C80B28 80240988 C440002C */ lwc1 $f0, 0x2c($v0) +/* C80B2C 8024098C 46000021 */ cvt.d.s $f0, $f0 +/* C80B30 80240990 4622003C */ c.lt.d $f0, $f2 +/* C80B34 80240994 00000000 */ nop +/* C80B38 80240998 4500002C */ bc1f .L80240A4C +/* C80B3C 8024099C 02A0202D */ daddu $a0, $s5, $zero +/* C80B40 802409A0 AFA00010 */ sw $zero, 0x10($sp) +/* C80B44 802409A4 8E46000C */ lw $a2, 0xc($s2) +/* C80B48 802409A8 8E470010 */ lw $a3, 0x10($s2) +/* C80B4C 802409AC 0C01242D */ jal func_800490B4 +/* C80B50 802409B0 0220282D */ daddu $a1, $s1, $zero +/* C80B54 802409B4 10400025 */ beqz $v0, .L80240A4C +/* C80B58 802409B8 0000202D */ daddu $a0, $zero, $zero +/* C80B5C 802409BC 0200282D */ daddu $a1, $s0, $zero +/* C80B60 802409C0 0000302D */ daddu $a2, $zero, $zero +/* C80B64 802409C4 2412000C */ addiu $s2, $zero, 0xc +/* C80B68 802409C8 860300A8 */ lh $v1, 0xa8($s0) +/* C80B6C 802409CC 3C013F80 */ lui $at, 0x3f80 +/* C80B70 802409D0 44810000 */ mtc1 $at, $f0 +/* C80B74 802409D4 3C014000 */ lui $at, 0x4000 +/* C80B78 802409D8 44811000 */ mtc1 $at, $f2 +/* C80B7C 802409DC 3C01C1A0 */ lui $at, 0xc1a0 +/* C80B80 802409E0 44812000 */ mtc1 $at, $f4 +/* C80B84 802409E4 44834000 */ mtc1 $v1, $f8 +/* C80B88 802409E8 00000000 */ nop +/* C80B8C 802409EC 46804220 */ cvt.s.w $f8, $f8 +/* C80B90 802409F0 44074000 */ mfc1 $a3, $f8 +/* C80B94 802409F4 27A20038 */ addiu $v0, $sp, 0x38 +/* C80B98 802409F8 AFB2001C */ sw $s2, 0x1c($sp) +/* C80B9C 802409FC AFA20020 */ sw $v0, 0x20($sp) +/* C80BA0 80240A00 E7A00010 */ swc1 $f0, 0x10($sp) +/* C80BA4 80240A04 E7A20014 */ swc1 $f2, 0x14($sp) +/* C80BA8 80240A08 0C01BFA4 */ jal fx_emote +/* C80BAC 80240A0C E7A40018 */ swc1 $f4, 0x18($sp) +/* C80BB0 80240A10 0200202D */ daddu $a0, $s0, $zero +/* C80BB4 80240A14 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C80BB8 80240A18 C480003C */ lwc1 $f0, 0x3c($a0) +/* C80BBC 80240A1C 3C060020 */ lui $a2, 0x20 +/* C80BC0 80240A20 0C012530 */ jal func_800494C0 +/* C80BC4 80240A24 E4800064 */ swc1 $f0, 0x64($a0) +/* C80BC8 80240A28 8E220018 */ lw $v0, 0x18($s1) +/* C80BCC 80240A2C 9442002A */ lhu $v0, 0x2a($v0) +/* C80BD0 80240A30 30420001 */ andi $v0, $v0, 1 +/* C80BD4 80240A34 10400003 */ beqz $v0, .L80240A44 +/* C80BD8 80240A38 2402000A */ addiu $v0, $zero, 0xa +/* C80BDC 80240A3C 08090301 */ j .L80240C04 +/* C80BE0 80240A40 AE620070 */ sw $v0, 0x70($s3) +.L80240A44: +/* C80BE4 80240A44 08090301 */ j .L80240C04 +/* C80BE8 80240A48 AE720070 */ sw $s2, 0x70($s3) +.L80240A4C: +/* C80BEC 80240A4C 8E620074 */ lw $v0, 0x74($s3) +/* C80BF0 80240A50 2442FFFF */ addiu $v0, $v0, -1 +.L80240A54: +/* C80BF4 80240A54 08090298 */ j .L80240A60 +/* C80BF8 80240A58 AE620074 */ sw $v0, 0x74($s3) +.L80240A5C: +/* C80BFC 80240A5C AE220090 */ sw $v0, 0x90($s1) +.L80240A60: +/* C80C00 80240A60 8E2300D0 */ lw $v1, 0xd0($s1) +/* C80C04 80240A64 C6000040 */ lwc1 $f0, 0x40($s0) +/* C80C08 80240A68 C4620000 */ lwc1 $f2, ($v1) +/* C80C0C 80240A6C 468010A0 */ cvt.s.w $f2, $f2 +/* C80C10 80240A70 C4640008 */ lwc1 $f4, 8($v1) +/* C80C14 80240A74 46802120 */ cvt.s.w $f4, $f4 +/* C80C18 80240A78 E7A00010 */ swc1 $f0, 0x10($sp) +/* C80C1C 80240A7C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80C20 80240A80 44051000 */ mfc1 $a1, $f2 +/* C80C24 80240A84 C440000C */ lwc1 $f0, 0xc($v0) +/* C80C28 80240A88 46800020 */ cvt.s.w $f0, $f0 +/* C80C2C 80240A8C E7A00014 */ swc1 $f0, 0x14($sp) +/* C80C30 80240A90 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80C34 80240A94 44062000 */ mfc1 $a2, $f4 +/* C80C38 80240A98 C4400010 */ lwc1 $f0, 0x10($v0) +/* C80C3C 80240A9C 46800020 */ cvt.s.w $f0, $f0 +/* C80C40 80240AA0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C80C44 80240AA4 8C640018 */ lw $a0, 0x18($v1) +/* C80C48 80240AA8 0C0123F5 */ jal is_point_within_region +/* C80C4C 80240AAC 8E070038 */ lw $a3, 0x38($s0) +/* C80C50 80240AB0 1040001A */ beqz $v0, .L80240B1C +/* C80C54 80240AB4 00000000 */ nop +/* C80C58 80240AB8 8E060038 */ lw $a2, 0x38($s0) +/* C80C5C 80240ABC 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80C60 80240AC0 8E070040 */ lw $a3, 0x40($s0) +/* C80C64 80240AC4 C44C0000 */ lwc1 $f12, ($v0) +/* C80C68 80240AC8 46806320 */ cvt.s.w $f12, $f12 +/* C80C6C 80240ACC C44E0008 */ lwc1 $f14, 8($v0) +/* C80C70 80240AD0 0C00A7B5 */ jal dist2D +/* C80C74 80240AD4 468073A0 */ cvt.s.w $f14, $f14 +/* C80C78 80240AD8 C6020018 */ lwc1 $f2, 0x18($s0) +/* C80C7C 80240ADC 4600103C */ c.lt.s $f2, $f0 +/* C80C80 80240AE0 00000000 */ nop +/* C80C84 80240AE4 4500000D */ bc1f .L80240B1C +/* C80C88 80240AE8 E7A00034 */ swc1 $f0, 0x34($sp) +/* C80C8C 80240AEC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C80C90 80240AF0 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80C94 80240AF4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C80C98 80240AF8 C4480000 */ lwc1 $f8, ($v0) +/* C80C9C 80240AFC 46804220 */ cvt.s.w $f8, $f8 +/* C80CA0 80240B00 44064000 */ mfc1 $a2, $f8 +/* C80CA4 80240B04 C4480008 */ lwc1 $f8, 8($v0) +/* C80CA8 80240B08 46804220 */ cvt.s.w $f8, $f8 +/* C80CAC 80240B0C 44074000 */ mfc1 $a3, $f8 +/* C80CB0 80240B10 0C00A720 */ jal atan2 +/* C80CB4 80240B14 24140001 */ addiu $s4, $zero, 1 +/* C80CB8 80240B18 E600000C */ swc1 $f0, 0xc($s0) +.L80240B1C: +/* C80CBC 80240B1C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C80CC0 80240B20 8C43000C */ lw $v1, 0xc($v0) +/* C80CC4 80240B24 8C420010 */ lw $v0, 0x10($v0) +/* C80CC8 80240B28 00621825 */ or $v1, $v1, $v0 +/* C80CCC 80240B2C 00741825 */ or $v1, $v1, $s4 +/* C80CD0 80240B30 10600008 */ beqz $v1, .L80240B54 +/* C80CD4 80240B34 00000000 */ nop +/* C80CD8 80240B38 8602008C */ lh $v0, 0x8c($s0) +/* C80CDC 80240B3C 14400031 */ bnez $v0, .L80240C04 +/* C80CE0 80240B40 00000000 */ nop +/* C80CE4 80240B44 8E050018 */ lw $a1, 0x18($s0) +/* C80CE8 80240B48 8E06000C */ lw $a2, 0xc($s0) +/* C80CEC 80240B4C 0C00EA95 */ jal npc_move_heading +/* C80CF0 80240B50 0200202D */ daddu $a0, $s0, $zero +.L80240B54: +/* C80CF4 80240B54 C600003C */ lwc1 $f0, 0x3c($s0) +/* C80CF8 80240B58 3C014059 */ lui $at, 0x4059 +/* C80CFC 80240B5C 44811800 */ mtc1 $at, $f3 +/* C80D00 80240B60 44801000 */ mtc1 $zero, $f2 +/* C80D04 80240B64 46000021 */ cvt.d.s $f0, $f0 +/* C80D08 80240B68 46220002 */ mul.d $f0, $f0, $f2 +/* C80D0C 80240B6C 00000000 */ nop +/* C80D10 80240B70 4620020D */ trunc.w.d $f8, $f0 +/* C80D14 80240B74 E628007C */ swc1 $f8, 0x7c($s1) +/* C80D18 80240B78 8E420004 */ lw $v0, 4($s2) +/* C80D1C 80240B7C 18400021 */ blez $v0, .L80240C04 +/* C80D20 80240B80 00000000 */ nop +/* C80D24 80240B84 8602008E */ lh $v0, 0x8e($s0) +/* C80D28 80240B88 9603008E */ lhu $v1, 0x8e($s0) +/* C80D2C 80240B8C 18400005 */ blez $v0, .L80240BA4 +/* C80D30 80240B90 2462FFFF */ addiu $v0, $v1, -1 +/* C80D34 80240B94 A602008E */ sh $v0, 0x8e($s0) +/* C80D38 80240B98 00021400 */ sll $v0, $v0, 0x10 +/* C80D3C 80240B9C 1C400019 */ bgtz $v0, .L80240C04 +/* C80D40 80240BA0 00000000 */ nop +.L80240BA4: +/* C80D44 80240BA4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C80D48 80240BA8 24020002 */ addiu $v0, $zero, 2 +/* C80D4C 80240BAC 0C00A67F */ jal rand_int +/* C80D50 80240BB0 AE620070 */ sw $v0, 0x70($s3) +/* C80D54 80240BB4 3C035555 */ lui $v1, 0x5555 +/* C80D58 80240BB8 34635556 */ ori $v1, $v1, 0x5556 +/* C80D5C 80240BBC 00430018 */ mult $v0, $v1 +/* C80D60 80240BC0 000227C3 */ sra $a0, $v0, 0x1f +/* C80D64 80240BC4 00004010 */ mfhi $t0 +/* C80D68 80240BC8 01042023 */ subu $a0, $t0, $a0 +/* C80D6C 80240BCC 00041840 */ sll $v1, $a0, 1 +/* C80D70 80240BD0 00641821 */ addu $v1, $v1, $a0 +/* C80D74 80240BD4 00431023 */ subu $v0, $v0, $v1 +/* C80D78 80240BD8 24430002 */ addiu $v1, $v0, 2 +/* C80D7C 80240BDC AE630074 */ sw $v1, 0x74($s3) +/* C80D80 80240BE0 8E42002C */ lw $v0, 0x2c($s2) +/* C80D84 80240BE4 58400007 */ blezl $v0, .L80240C04 +/* C80D88 80240BE8 AE600070 */ sw $zero, 0x70($s3) +/* C80D8C 80240BEC 8E420008 */ lw $v0, 8($s2) +/* C80D90 80240BF0 18400003 */ blez $v0, .L80240C00 +/* C80D94 80240BF4 28620003 */ slti $v0, $v1, 3 +/* C80D98 80240BF8 10400002 */ beqz $v0, .L80240C04 +/* C80D9C 80240BFC 00000000 */ nop +.L80240C00: +/* C80DA0 80240C00 AE600070 */ sw $zero, 0x70($s3) +.L80240C04: +/* C80DA4 80240C04 8FBF0058 */ lw $ra, 0x58($sp) +/* C80DA8 80240C08 8FB50054 */ lw $s5, 0x54($sp) +/* C80DAC 80240C0C 8FB40050 */ lw $s4, 0x50($sp) +/* C80DB0 80240C10 8FB3004C */ lw $s3, 0x4c($sp) +/* C80DB4 80240C14 8FB20048 */ lw $s2, 0x48($sp) +/* C80DB8 80240C18 8FB10044 */ lw $s1, 0x44($sp) +/* C80DBC 80240C1C 8FB00040 */ lw $s0, 0x40($sp) +/* C80DC0 80240C20 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C80DC4 80240C24 D7B80070 */ ldc1 $f24, 0x70($sp) +/* C80DC8 80240C28 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C80DCC 80240C2C D7B40060 */ ldc1 $f20, 0x60($sp) +/* C80DD0 80240C30 03E00008 */ jr $ra +/* C80DD4 80240C34 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240C38_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240C38_C801A0.s new file mode 100644 index 0000000000..24bbc93d57 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240C38_C801A0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C38_C80DD8 +/* C80DD8 80240C38 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C80DDC 80240C3C AFB3001C */ sw $s3, 0x1c($sp) +/* C80DE0 80240C40 0080982D */ daddu $s3, $a0, $zero +/* C80DE4 80240C44 AFBF0020 */ sw $ra, 0x20($sp) +/* C80DE8 80240C48 AFB20018 */ sw $s2, 0x18($sp) +/* C80DEC 80240C4C AFB10014 */ sw $s1, 0x14($sp) +/* C80DF0 80240C50 AFB00010 */ sw $s0, 0x10($sp) +/* C80DF4 80240C54 8E720148 */ lw $s2, 0x148($s3) +/* C80DF8 80240C58 86440008 */ lh $a0, 8($s2) +/* C80DFC 80240C5C 0C00EABB */ jal get_npc_unsafe +/* C80E00 80240C60 00A0882D */ daddu $s1, $a1, $zero +/* C80E04 80240C64 8E240008 */ lw $a0, 8($s1) +/* C80E08 80240C68 0040802D */ daddu $s0, $v0, $zero +/* C80E0C 80240C6C 00041FC2 */ srl $v1, $a0, 0x1f +/* C80E10 80240C70 00832021 */ addu $a0, $a0, $v1 +/* C80E14 80240C74 00042043 */ sra $a0, $a0, 1 +/* C80E18 80240C78 0C00A67F */ jal rand_int +/* C80E1C 80240C7C 24840001 */ addiu $a0, $a0, 1 +/* C80E20 80240C80 8E230008 */ lw $v1, 8($s1) +/* C80E24 80240C84 240400B4 */ addiu $a0, $zero, 0xb4 +/* C80E28 80240C88 00032FC2 */ srl $a1, $v1, 0x1f +/* C80E2C 80240C8C 00651821 */ addu $v1, $v1, $a1 +/* C80E30 80240C90 00031843 */ sra $v1, $v1, 1 +/* C80E34 80240C94 00621821 */ addu $v1, $v1, $v0 +/* C80E38 80240C98 0C00A67F */ jal rand_int +/* C80E3C 80240C9C A603008E */ sh $v1, 0x8e($s0) +/* C80E40 80240CA0 C60C000C */ lwc1 $f12, 0xc($s0) +/* C80E44 80240CA4 44820000 */ mtc1 $v0, $f0 +/* C80E48 80240CA8 00000000 */ nop +/* C80E4C 80240CAC 46800020 */ cvt.s.w $f0, $f0 +/* C80E50 80240CB0 46006300 */ add.s $f12, $f12, $f0 +/* C80E54 80240CB4 3C0142B4 */ lui $at, 0x42b4 +/* C80E58 80240CB8 44810000 */ mtc1 $at, $f0 +/* C80E5C 80240CBC 0C00A6C9 */ jal clamp_angle +/* C80E60 80240CC0 46006301 */ sub.s $f12, $f12, $f0 +/* C80E64 80240CC4 E600000C */ swc1 $f0, 0xc($s0) +/* C80E68 80240CC8 8E4200CC */ lw $v0, 0xcc($s2) +/* C80E6C 80240CCC 8C420000 */ lw $v0, ($v0) +/* C80E70 80240CD0 AE020028 */ sw $v0, 0x28($s0) +/* C80E74 80240CD4 24020003 */ addiu $v0, $zero, 3 +/* C80E78 80240CD8 AE620070 */ sw $v0, 0x70($s3) +/* C80E7C 80240CDC 8FBF0020 */ lw $ra, 0x20($sp) +/* C80E80 80240CE0 8FB3001C */ lw $s3, 0x1c($sp) +/* C80E84 80240CE4 8FB20018 */ lw $s2, 0x18($sp) +/* C80E88 80240CE8 8FB10014 */ lw $s1, 0x14($sp) +/* C80E8C 80240CEC 8FB00010 */ lw $s0, 0x10($sp) +/* C80E90 80240CF0 03E00008 */ jr $ra +/* C80E94 80240CF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80240CF8_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240CF8_C801A0.s new file mode 100644 index 0000000000..42e744974d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80240CF8_C801A0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF8_C80E98 +/* C80E98 80240CF8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* C80E9C 80240CFC AFB3004C */ sw $s3, 0x4c($sp) +/* C80EA0 80240D00 0080982D */ daddu $s3, $a0, $zero +/* C80EA4 80240D04 AFBF0054 */ sw $ra, 0x54($sp) +/* C80EA8 80240D08 AFB40050 */ sw $s4, 0x50($sp) +/* C80EAC 80240D0C AFB20048 */ sw $s2, 0x48($sp) +/* C80EB0 80240D10 AFB10044 */ sw $s1, 0x44($sp) +/* C80EB4 80240D14 AFB00040 */ sw $s0, 0x40($sp) +/* C80EB8 80240D18 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* C80EBC 80240D1C F7B80068 */ sdc1 $f24, 0x68($sp) +/* C80EC0 80240D20 F7B60060 */ sdc1 $f22, 0x60($sp) +/* C80EC4 80240D24 F7B40058 */ sdc1 $f20, 0x58($sp) +/* C80EC8 80240D28 8E710148 */ lw $s1, 0x148($s3) +/* C80ECC 80240D2C 00A0902D */ daddu $s2, $a1, $zero +/* C80ED0 80240D30 86240008 */ lh $a0, 8($s1) +/* C80ED4 80240D34 0C00EABB */ jal get_npc_unsafe +/* C80ED8 80240D38 00C0A02D */ daddu $s4, $a2, $zero +/* C80EDC 80240D3C 0040802D */ daddu $s0, $v0, $zero +/* C80EE0 80240D40 C6200078 */ lwc1 $f0, 0x78($s1) +/* C80EE4 80240D44 46800020 */ cvt.s.w $f0, $f0 +/* C80EE8 80240D48 46000021 */ cvt.d.s $f0, $f0 +/* C80EEC 80240D4C 3C014059 */ lui $at, 0x4059 +/* C80EF0 80240D50 44811800 */ mtc1 $at, $f3 +/* C80EF4 80240D54 44801000 */ mtc1 $zero, $f2 +/* C80EF8 80240D58 8602008E */ lh $v0, 0x8e($s0) +/* C80EFC 80240D5C 9603008E */ lhu $v1, 0x8e($s0) +/* C80F00 80240D60 46220003 */ div.d $f0, $f0, $f2 +/* C80F04 80240D64 46200620 */ cvt.s.d $f24, $f0 +/* C80F08 80240D68 C6200088 */ lwc1 $f0, 0x88($s1) +/* C80F0C 80240D6C 46800020 */ cvt.s.w $f0, $f0 +/* C80F10 80240D70 46000021 */ cvt.d.s $f0, $f0 +/* C80F14 80240D74 46220003 */ div.d $f0, $f0, $f2 +/* C80F18 80240D78 46200020 */ cvt.s.d $f0, $f0 +/* C80F1C 80240D7C 18400003 */ blez $v0, .L80240D8C +/* C80F20 80240D80 4600C680 */ add.s $f26, $f24, $f0 +/* C80F24 80240D84 2462FFFF */ addiu $v0, $v1, -1 +/* C80F28 80240D88 A602008E */ sh $v0, 0x8e($s0) +.L80240D8C: +/* C80F2C 80240D8C 8E220070 */ lw $v0, 0x70($s1) +/* C80F30 80240D90 18400034 */ blez $v0, .L80240E64 +/* C80F34 80240D94 00000000 */ nop +/* C80F38 80240D98 C62C0074 */ lwc1 $f12, 0x74($s1) +/* C80F3C 80240D9C 46806320 */ cvt.s.w $f12, $f12 +/* C80F40 80240DA0 44820000 */ mtc1 $v0, $f0 +/* C80F44 80240DA4 00000000 */ nop +/* C80F48 80240DA8 46800020 */ cvt.s.w $f0, $f0 +/* C80F4C 80240DAC 46000021 */ cvt.d.s $f0, $f0 +/* C80F50 80240DB0 46220003 */ div.d $f0, $f0, $f2 +/* C80F54 80240DB4 0C00A8BB */ jal sin_deg +/* C80F58 80240DB8 462005A0 */ cvt.s.d $f22, $f0 +/* C80F5C 80240DBC 8E020000 */ lw $v0, ($s0) +/* C80F60 80240DC0 30420008 */ andi $v0, $v0, 8 +/* C80F64 80240DC4 10400003 */ beqz $v0, .L80240DD4 +/* C80F68 80240DC8 46000506 */ mov.s $f20, $f0 +/* C80F6C 80240DCC 08090385 */ j .L80240E14 +/* C80F70 80240DD0 0000102D */ daddu $v0, $zero, $zero +.L80240DD4: +/* C80F74 80240DD4 27A50028 */ addiu $a1, $sp, 0x28 +/* C80F78 80240DD8 27A6002C */ addiu $a2, $sp, 0x2c +/* C80F7C 80240DDC C6000038 */ lwc1 $f0, 0x38($s0) +/* C80F80 80240DE0 C602003C */ lwc1 $f2, 0x3c($s0) +/* C80F84 80240DE4 C6040040 */ lwc1 $f4, 0x40($s0) +/* C80F88 80240DE8 3C01447A */ lui $at, 0x447a +/* C80F8C 80240DEC 44813000 */ mtc1 $at, $f6 +/* C80F90 80240DF0 27A20034 */ addiu $v0, $sp, 0x34 +/* C80F94 80240DF4 E7A00028 */ swc1 $f0, 0x28($sp) +/* C80F98 80240DF8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C80F9C 80240DFC E7A40030 */ swc1 $f4, 0x30($sp) +/* C80FA0 80240E00 E7A60034 */ swc1 $f6, 0x34($sp) +/* C80FA4 80240E04 AFA20010 */ sw $v0, 0x10($sp) +/* C80FA8 80240E08 8E040080 */ lw $a0, 0x80($s0) +/* C80FAC 80240E0C 0C0372DF */ jal func_800DCB7C +/* C80FB0 80240E10 27A70030 */ addiu $a3, $sp, 0x30 +.L80240E14: +/* C80FB4 80240E14 10400007 */ beqz $v0, .L80240E34 +/* C80FB8 80240E18 00000000 */ nop +/* C80FBC 80240E1C 4616A082 */ mul.s $f2, $f20, $f22 +/* C80FC0 80240E20 00000000 */ nop +/* C80FC4 80240E24 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* C80FC8 80240E28 46180000 */ add.s $f0, $f0, $f24 +/* C80FCC 80240E2C 08090390 */ j .L80240E40 +/* C80FD0 80240E30 46020000 */ add.s $f0, $f0, $f2 +.L80240E34: +/* C80FD4 80240E34 4616A002 */ mul.s $f0, $f20, $f22 +/* C80FD8 80240E38 00000000 */ nop +/* C80FDC 80240E3C 4600D000 */ add.s $f0, $f26, $f0 +.L80240E40: +/* C80FE0 80240E40 E600003C */ swc1 $f0, 0x3c($s0) +/* C80FE4 80240E44 8E220074 */ lw $v0, 0x74($s1) +/* C80FE8 80240E48 2442000A */ addiu $v0, $v0, 0xa +/* C80FEC 80240E4C 44826000 */ mtc1 $v0, $f12 +/* C80FF0 80240E50 00000000 */ nop +/* C80FF4 80240E54 0C00A6C9 */ jal clamp_angle +/* C80FF8 80240E58 46806320 */ cvt.s.w $f12, $f12 +/* C80FFC 80240E5C 4600020D */ trunc.w.s $f8, $f0 +/* C81000 80240E60 E6280074 */ swc1 $f8, 0x74($s1) +.L80240E64: +/* C81004 80240E64 8E220090 */ lw $v0, 0x90($s1) +/* C81008 80240E68 1C400040 */ bgtz $v0, .L80240F6C +/* C8100C 80240E6C 2442FFFF */ addiu $v0, $v0, -1 +/* C81010 80240E70 860200A8 */ lh $v0, 0xa8($s0) +/* C81014 80240E74 C600003C */ lwc1 $f0, 0x3c($s0) +/* C81018 80240E78 44821000 */ mtc1 $v0, $f2 +/* C8101C 80240E7C 00000000 */ nop +/* C81020 80240E80 468010A0 */ cvt.s.w $f2, $f2 +/* C81024 80240E84 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81028 80240E88 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C8102C 80240E8C 46020000 */ add.s $f0, $f0, $f2 +/* C81030 80240E90 3C014024 */ lui $at, 0x4024 +/* C81034 80240E94 44812800 */ mtc1 $at, $f5 +/* C81038 80240E98 44802000 */ mtc1 $zero, $f4 +/* C8103C 80240E9C C442002C */ lwc1 $f2, 0x2c($v0) +/* C81040 80240EA0 46000021 */ cvt.d.s $f0, $f0 +/* C81044 80240EA4 46240000 */ add.d $f0, $f0, $f4 +/* C81048 80240EA8 460010A1 */ cvt.d.s $f2, $f2 +/* C8104C 80240EAC 4620103C */ c.lt.d $f2, $f0 +/* C81050 80240EB0 00000000 */ nop +/* C81054 80240EB4 4500002E */ bc1f .L80240F70 +/* C81058 80240EB8 0280202D */ daddu $a0, $s4, $zero +/* C8105C 80240EBC 24020001 */ addiu $v0, $zero, 1 +/* C81060 80240EC0 AFA20010 */ sw $v0, 0x10($sp) +/* C81064 80240EC4 8E460024 */ lw $a2, 0x24($s2) +/* C81068 80240EC8 8E470028 */ lw $a3, 0x28($s2) +/* C8106C 80240ECC 0C01242D */ jal func_800490B4 +/* C81070 80240ED0 0220282D */ daddu $a1, $s1, $zero +/* C81074 80240ED4 10400026 */ beqz $v0, .L80240F70 +/* C81078 80240ED8 0000202D */ daddu $a0, $zero, $zero +/* C8107C 80240EDC 0200282D */ daddu $a1, $s0, $zero +/* C81080 80240EE0 0000302D */ daddu $a2, $zero, $zero +/* C81084 80240EE4 2412000C */ addiu $s2, $zero, 0xc +/* C81088 80240EE8 860300A8 */ lh $v1, 0xa8($s0) +/* C8108C 80240EEC 3C013F80 */ lui $at, 0x3f80 +/* C81090 80240EF0 44810000 */ mtc1 $at, $f0 +/* C81094 80240EF4 3C014000 */ lui $at, 0x4000 +/* C81098 80240EF8 44811000 */ mtc1 $at, $f2 +/* C8109C 80240EFC 3C01C1A0 */ lui $at, 0xc1a0 +/* C810A0 80240F00 44812000 */ mtc1 $at, $f4 +/* C810A4 80240F04 44834000 */ mtc1 $v1, $f8 +/* C810A8 80240F08 00000000 */ nop +/* C810AC 80240F0C 46804220 */ cvt.s.w $f8, $f8 +/* C810B0 80240F10 44074000 */ mfc1 $a3, $f8 +/* C810B4 80240F14 27A20038 */ addiu $v0, $sp, 0x38 +/* C810B8 80240F18 AFB2001C */ sw $s2, 0x1c($sp) +/* C810BC 80240F1C AFA20020 */ sw $v0, 0x20($sp) +/* C810C0 80240F20 E7A00010 */ swc1 $f0, 0x10($sp) +/* C810C4 80240F24 E7A20014 */ swc1 $f2, 0x14($sp) +/* C810C8 80240F28 0C01BFA4 */ jal fx_emote +/* C810CC 80240F2C E7A40018 */ swc1 $f4, 0x18($sp) +/* C810D0 80240F30 0200202D */ daddu $a0, $s0, $zero +/* C810D4 80240F34 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C810D8 80240F38 C480003C */ lwc1 $f0, 0x3c($a0) +/* C810DC 80240F3C 3C060020 */ lui $a2, 0x20 +/* C810E0 80240F40 0C012530 */ jal func_800494C0 +/* C810E4 80240F44 E4800064 */ swc1 $f0, 0x64($a0) +/* C810E8 80240F48 8E220018 */ lw $v0, 0x18($s1) +/* C810EC 80240F4C 9442002A */ lhu $v0, 0x2a($v0) +/* C810F0 80240F50 30420001 */ andi $v0, $v0, 1 +/* C810F4 80240F54 10400003 */ beqz $v0, .L80240F64 +/* C810F8 80240F58 2402000A */ addiu $v0, $zero, 0xa +/* C810FC 80240F5C 08090403 */ j .L8024100C +/* C81100 80240F60 AE620070 */ sw $v0, 0x70($s3) +.L80240F64: +/* C81104 80240F64 08090403 */ j .L8024100C +/* C81108 80240F68 AE720070 */ sw $s2, 0x70($s3) +.L80240F6C: +/* C8110C 80240F6C AE220090 */ sw $v0, 0x90($s1) +.L80240F70: +/* C81110 80240F70 8602008C */ lh $v0, 0x8c($s0) +/* C81114 80240F74 14400025 */ bnez $v0, .L8024100C +/* C81118 80240F78 00000000 */ nop +/* C8111C 80240F7C 8602008E */ lh $v0, 0x8e($s0) +/* C81120 80240F80 1C400022 */ bgtz $v0, .L8024100C +/* C81124 80240F84 00000000 */ nop +/* C81128 80240F88 8E620074 */ lw $v0, 0x74($s3) +/* C8112C 80240F8C 2442FFFF */ addiu $v0, $v0, -1 +/* C81130 80240F90 1840001D */ blez $v0, .L80241008 +/* C81134 80240F94 AE620074 */ sw $v0, 0x74($s3) +/* C81138 80240F98 8E220018 */ lw $v0, 0x18($s1) +/* C8113C 80240F9C 9442002A */ lhu $v0, 0x2a($v0) +/* C81140 80240FA0 30420010 */ andi $v0, $v0, 0x10 +/* C81144 80240FA4 14400007 */ bnez $v0, .L80240FC4 +/* C81148 80240FA8 00000000 */ nop +/* C8114C 80240FAC C600000C */ lwc1 $f0, 0xc($s0) +/* C81150 80240FB0 3C014334 */ lui $at, 0x4334 +/* C81154 80240FB4 44816000 */ mtc1 $at, $f12 +/* C81158 80240FB8 0C00A6C9 */ jal clamp_angle +/* C8115C 80240FBC 460C0300 */ add.s $f12, $f0, $f12 +/* C81160 80240FC0 E600000C */ swc1 $f0, 0xc($s0) +.L80240FC4: +/* C81164 80240FC4 0C00A67F */ jal rand_int +/* C81168 80240FC8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* C8116C 80240FCC 3C032E8B */ lui $v1, 0x2e8b +/* C81170 80240FD0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* C81174 80240FD4 00430018 */ mult $v0, $v1 +/* C81178 80240FD8 00021FC3 */ sra $v1, $v0, 0x1f +/* C8117C 80240FDC 00004010 */ mfhi $t0 +/* C81180 80240FE0 00082043 */ sra $a0, $t0, 1 +/* C81184 80240FE4 00832023 */ subu $a0, $a0, $v1 +/* C81188 80240FE8 00041840 */ sll $v1, $a0, 1 +/* C8118C 80240FEC 00641821 */ addu $v1, $v1, $a0 +/* C81190 80240FF0 00031880 */ sll $v1, $v1, 2 +/* C81194 80240FF4 00641823 */ subu $v1, $v1, $a0 +/* C81198 80240FF8 00431023 */ subu $v0, $v0, $v1 +/* C8119C 80240FFC 24420005 */ addiu $v0, $v0, 5 +/* C811A0 80241000 08090403 */ j .L8024100C +/* C811A4 80241004 A602008E */ sh $v0, 0x8e($s0) +.L80241008: +/* C811A8 80241008 AE600070 */ sw $zero, 0x70($s3) +.L8024100C: +/* C811AC 8024100C 8FBF0054 */ lw $ra, 0x54($sp) +/* C811B0 80241010 8FB40050 */ lw $s4, 0x50($sp) +/* C811B4 80241014 8FB3004C */ lw $s3, 0x4c($sp) +/* C811B8 80241018 8FB20048 */ lw $s2, 0x48($sp) +/* C811BC 8024101C 8FB10044 */ lw $s1, 0x44($sp) +/* C811C0 80241020 8FB00040 */ lw $s0, 0x40($sp) +/* C811C4 80241024 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* C811C8 80241028 D7B80068 */ ldc1 $f24, 0x68($sp) +/* C811CC 8024102C D7B60060 */ ldc1 $f22, 0x60($sp) +/* C811D0 80241030 D7B40058 */ ldc1 $f20, 0x58($sp) +/* C811D4 80241034 03E00008 */ jr $ra +/* C811D8 80241038 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_8024103C.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_8024103C.s new file mode 100644 index 0000000000..af460f6733 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_8024103C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024103C +/* C811DC 8024103C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C811E0 80241040 AFB20018 */ sw $s2, 0x18($sp) +/* C811E4 80241044 0080902D */ daddu $s2, $a0, $zero +/* C811E8 80241048 AFBF001C */ sw $ra, 0x1c($sp) +/* C811EC 8024104C AFB10014 */ sw $s1, 0x14($sp) +/* C811F0 80241050 AFB00010 */ sw $s0, 0x10($sp) +/* C811F4 80241054 8E510148 */ lw $s1, 0x148($s2) +/* C811F8 80241058 0C00EABB */ jal get_npc_unsafe +/* C811FC 8024105C 86240008 */ lh $a0, 8($s1) +/* C81200 80241060 0040802D */ daddu $s0, $v0, $zero +/* C81204 80241064 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81208 80241068 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C8120C 8024106C C60C0038 */ lwc1 $f12, 0x38($s0) +/* C81210 80241070 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C81214 80241074 A600008E */ sh $zero, 0x8e($s0) +/* C81218 80241078 8C460028 */ lw $a2, 0x28($v0) +/* C8121C 8024107C 0C00A720 */ jal atan2 +/* C81220 80241080 8C470030 */ lw $a3, 0x30($v0) +/* C81224 80241084 E600000C */ swc1 $f0, 0xc($s0) +/* C81228 80241088 8E2200CC */ lw $v0, 0xcc($s1) +/* C8122C 8024108C 8C420020 */ lw $v0, 0x20($v0) +/* C81230 80241090 AE020028 */ sw $v0, 0x28($s0) +/* C81234 80241094 2402000B */ addiu $v0, $zero, 0xb +/* C81238 80241098 AE420070 */ sw $v0, 0x70($s2) +/* C8123C 8024109C 8FBF001C */ lw $ra, 0x1c($sp) +/* C81240 802410A0 8FB20018 */ lw $s2, 0x18($sp) +/* C81244 802410A4 8FB10014 */ lw $s1, 0x14($sp) +/* C81248 802410A8 8FB00010 */ lw $s0, 0x10($sp) +/* C8124C 802410AC 03E00008 */ jr $ra +/* C81250 802410B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_802410B4_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_802410B4_C801A0.s new file mode 100644 index 0000000000..b5ee11c593 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_802410B4_C801A0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B4_C81254 +/* C81254 802410B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C81258 802410B8 AFB00010 */ sw $s0, 0x10($sp) +/* C8125C 802410BC 0080802D */ daddu $s0, $a0, $zero +/* C81260 802410C0 AFBF0014 */ sw $ra, 0x14($sp) +/* C81264 802410C4 8E020148 */ lw $v0, 0x148($s0) +/* C81268 802410C8 0C00EABB */ jal get_npc_unsafe +/* C8126C 802410CC 84440008 */ lh $a0, 8($v0) +/* C81270 802410D0 9443008E */ lhu $v1, 0x8e($v0) +/* C81274 802410D4 C440003C */ lwc1 $f0, 0x3c($v0) +/* C81278 802410D8 24640001 */ addiu $a0, $v1, 1 +/* C8127C 802410DC 00031C00 */ sll $v1, $v1, 0x10 +/* C81280 802410E0 00031B83 */ sra $v1, $v1, 0xe +/* C81284 802410E4 A444008E */ sh $a0, 0x8e($v0) +/* C81288 802410E8 3C018024 */ lui $at, 0x8024 +/* C8128C 802410EC 00230821 */ addu $at, $at, $v1 +/* C81290 802410F0 C42236D0 */ lwc1 $f2, 0x36d0($at) +/* C81294 802410F4 8443008E */ lh $v1, 0x8e($v0) +/* C81298 802410F8 46020000 */ add.s $f0, $f0, $f2 +/* C8129C 802410FC 28630005 */ slti $v1, $v1, 5 +/* C812A0 80241100 14600003 */ bnez $v1, .L80241110 +/* C812A4 80241104 E440003C */ swc1 $f0, 0x3c($v0) +/* C812A8 80241108 2402000C */ addiu $v0, $zero, 0xc +/* C812AC 8024110C AE020070 */ sw $v0, 0x70($s0) +.L80241110: +/* C812B0 80241110 8FBF0014 */ lw $ra, 0x14($sp) +/* C812B4 80241114 8FB00010 */ lw $s0, 0x10($sp) +/* C812B8 80241118 03E00008 */ jr $ra +/* C812BC 8024111C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241120_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241120_C801A0.s new file mode 100644 index 0000000000..14f79cc455 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241120_C801A0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241120_C812C0 +/* C812C0 80241120 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C812C4 80241124 AFB3001C */ sw $s3, 0x1c($sp) +/* C812C8 80241128 0080982D */ daddu $s3, $a0, $zero +/* C812CC 8024112C AFBF0020 */ sw $ra, 0x20($sp) +/* C812D0 80241130 AFB20018 */ sw $s2, 0x18($sp) +/* C812D4 80241134 AFB10014 */ sw $s1, 0x14($sp) +/* C812D8 80241138 AFB00010 */ sw $s0, 0x10($sp) +/* C812DC 8024113C 8E720148 */ lw $s2, 0x148($s3) +/* C812E0 80241140 86440008 */ lh $a0, 8($s2) +/* C812E4 80241144 0C00EABB */ jal get_npc_unsafe +/* C812E8 80241148 00A0802D */ daddu $s0, $a1, $zero +/* C812EC 8024114C 0040882D */ daddu $s1, $v0, $zero +/* C812F0 80241150 C6420080 */ lwc1 $f2, 0x80($s2) +/* C812F4 80241154 468010A0 */ cvt.s.w $f2, $f2 +/* C812F8 80241158 460010A1 */ cvt.d.s $f2, $f2 +/* C812FC 8024115C C6400084 */ lwc1 $f0, 0x84($s2) +/* C81300 80241160 46800020 */ cvt.s.w $f0, $f0 +/* C81304 80241164 46000021 */ cvt.d.s $f0, $f0 +/* C81308 80241168 3C014059 */ lui $at, 0x4059 +/* C8130C 8024116C 44812800 */ mtc1 $at, $f5 +/* C81310 80241170 44802000 */ mtc1 $zero, $f4 +/* C81314 80241174 8E4200CC */ lw $v0, 0xcc($s2) +/* C81318 80241178 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C8131C 8024117C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C81320 80241180 46241083 */ div.d $f2, $f2, $f4 +/* C81324 80241184 462010A0 */ cvt.s.d $f2, $f2 +/* C81328 80241188 46240003 */ div.d $f0, $f0, $f4 +/* C8132C 8024118C 8C420020 */ lw $v0, 0x20($v0) +/* C81330 80241190 46200020 */ cvt.s.d $f0, $f0 +/* C81334 80241194 E622001C */ swc1 $f2, 0x1c($s1) +/* C81338 80241198 E6200014 */ swc1 $f0, 0x14($s1) +/* C8133C 8024119C AE220028 */ sw $v0, 0x28($s1) +/* C81340 802411A0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C81344 802411A4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81348 802411A8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C8134C 802411AC E6200018 */ swc1 $f0, 0x18($s1) +/* C81350 802411B0 8C460028 */ lw $a2, 0x28($v0) +/* C81354 802411B4 0C00A720 */ jal atan2 +/* C81358 802411B8 8C470030 */ lw $a3, 0x30($v0) +/* C8135C 802411BC E620000C */ swc1 $f0, 0xc($s1) +/* C81360 802411C0 8E420018 */ lw $v0, 0x18($s2) +/* C81364 802411C4 AE400074 */ sw $zero, 0x74($s2) +/* C81368 802411C8 9442002A */ lhu $v0, 0x2a($v0) +/* C8136C 802411CC 30420002 */ andi $v0, $v0, 2 +/* C81370 802411D0 10400005 */ beqz $v0, .L802411E8 +/* C81374 802411D4 24020003 */ addiu $v0, $zero, 3 +/* C81378 802411D8 A622008E */ sh $v0, 0x8e($s1) +/* C8137C 802411DC 2402000D */ addiu $v0, $zero, 0xd +/* C81380 802411E0 0809048E */ j .L80241238 +/* C81384 802411E4 AE620070 */ sw $v0, 0x70($s3) +.L802411E8: +/* C81388 802411E8 24030001 */ addiu $v1, $zero, 1 +/* C8138C 802411EC 2402000E */ addiu $v0, $zero, 0xe +/* C81390 802411F0 A623008E */ sh $v1, 0x8e($s1) +/* C81394 802411F4 AE620070 */ sw $v0, 0x70($s3) +/* C81398 802411F8 C6200038 */ lwc1 $f0, 0x38($s1) +/* C8139C 802411FC 4600018D */ trunc.w.s $f6, $f0 +/* C813A0 80241200 44023000 */ mfc1 $v0, $f6 +/* C813A4 80241204 00000000 */ nop +/* C813A8 80241208 A6420010 */ sh $v0, 0x10($s2) +/* C813AC 8024120C C620003C */ lwc1 $f0, 0x3c($s1) +/* C813B0 80241210 4600018D */ trunc.w.s $f6, $f0 +/* C813B4 80241214 44023000 */ mfc1 $v0, $f6 +/* C813B8 80241218 00000000 */ nop +/* C813BC 8024121C A6420012 */ sh $v0, 0x12($s2) +/* C813C0 80241220 C6200040 */ lwc1 $f0, 0x40($s1) +/* C813C4 80241224 A2430007 */ sb $v1, 7($s2) +/* C813C8 80241228 4600018D */ trunc.w.s $f6, $f0 +/* C813CC 8024122C 44023000 */ mfc1 $v0, $f6 +/* C813D0 80241230 00000000 */ nop +/* C813D4 80241234 A6420014 */ sh $v0, 0x14($s2) +.L80241238: +/* C813D8 80241238 8FBF0020 */ lw $ra, 0x20($sp) +/* C813DC 8024123C 8FB3001C */ lw $s3, 0x1c($sp) +/* C813E0 80241240 8FB20018 */ lw $s2, 0x18($sp) +/* C813E4 80241244 8FB10014 */ lw $s1, 0x14($sp) +/* C813E8 80241248 8FB00010 */ lw $s0, 0x10($sp) +/* C813EC 8024124C 03E00008 */ jr $ra +/* C813F0 80241250 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241254.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241254.s new file mode 100644 index 0000000000..16e1137bc7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241254.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241254 +/* C813F4 80241254 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C813F8 80241258 AFB00010 */ sw $s0, 0x10($sp) +/* C813FC 8024125C 0080802D */ daddu $s0, $a0, $zero +/* C81400 80241260 AFBF0014 */ sw $ra, 0x14($sp) +/* C81404 80241264 8E020148 */ lw $v0, 0x148($s0) +/* C81408 80241268 0C00EABB */ jal get_npc_unsafe +/* C8140C 8024126C 84440008 */ lh $a0, 8($v0) +/* C81410 80241270 0040202D */ daddu $a0, $v0, $zero +/* C81414 80241274 8482008E */ lh $v0, 0x8e($a0) +/* C81418 80241278 9483008E */ lhu $v1, 0x8e($a0) +/* C8141C 8024127C 18400005 */ blez $v0, .L80241294 +/* C81420 80241280 2462FFFF */ addiu $v0, $v1, -1 +/* C81424 80241284 A482008E */ sh $v0, 0x8e($a0) +/* C81428 80241288 00021400 */ sll $v0, $v0, 0x10 +/* C8142C 8024128C 1C400006 */ bgtz $v0, .L802412A8 +/* C81430 80241290 00000000 */ nop +.L80241294: +/* C81434 80241294 8482008C */ lh $v0, 0x8c($a0) +/* C81438 80241298 14400003 */ bnez $v0, .L802412A8 +/* C8143C 8024129C 2402000E */ addiu $v0, $zero, 0xe +/* C81440 802412A0 A480008E */ sh $zero, 0x8e($a0) +/* C81444 802412A4 AE020070 */ sw $v0, 0x70($s0) +.L802412A8: +/* C81448 802412A8 8FBF0014 */ lw $ra, 0x14($sp) +/* C8144C 802412AC 8FB00010 */ lw $s0, 0x10($sp) +/* C81450 802412B0 03E00008 */ jr $ra +/* C81454 802412B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_802412B8.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_802412B8.s new file mode 100644 index 0000000000..0e9ffd397c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_802412B8.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B8 +/* C81458 802412B8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C8145C 802412BC AFB20030 */ sw $s2, 0x30($sp) +/* C81460 802412C0 0080902D */ daddu $s2, $a0, $zero +/* C81464 802412C4 AFBF0038 */ sw $ra, 0x38($sp) +/* C81468 802412C8 AFB30034 */ sw $s3, 0x34($sp) +/* C8146C 802412CC AFB1002C */ sw $s1, 0x2c($sp) +/* C81470 802412D0 AFB00028 */ sw $s0, 0x28($sp) +/* C81474 802412D4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* C81478 802412D8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C8147C 802412DC 8E510148 */ lw $s1, 0x148($s2) +/* C81480 802412E0 86240008 */ lh $a0, 8($s1) +/* C81484 802412E4 0C00EABB */ jal get_npc_unsafe +/* C81488 802412E8 00A0982D */ daddu $s3, $a1, $zero +/* C8148C 802412EC 0040802D */ daddu $s0, $v0, $zero +/* C81490 802412F0 0200202D */ daddu $a0, $s0, $zero +/* C81494 802412F4 C6220088 */ lwc1 $f2, 0x88($s1) +/* C81498 802412F8 468010A0 */ cvt.s.w $f2, $f2 +/* C8149C 802412FC 460010A1 */ cvt.d.s $f2, $f2 +/* C814A0 80241300 C604001C */ lwc1 $f4, 0x1c($s0) +/* C814A4 80241304 C6000014 */ lwc1 $f0, 0x14($s0) +/* C814A8 80241308 8E050018 */ lw $a1, 0x18($s0) +/* C814AC 8024130C 46002100 */ add.s $f4, $f4, $f0 +/* C814B0 80241310 8E06000C */ lw $a2, 0xc($s0) +/* C814B4 80241314 C6200078 */ lwc1 $f0, 0x78($s1) +/* C814B8 80241318 46800020 */ cvt.s.w $f0, $f0 +/* C814BC 8024131C E604001C */ swc1 $f4, 0x1c($s0) +/* C814C0 80241320 3C014059 */ lui $at, 0x4059 +/* C814C4 80241324 44812800 */ mtc1 $at, $f5 +/* C814C8 80241328 44802000 */ mtc1 $zero, $f4 +/* C814CC 8024132C 46000021 */ cvt.d.s $f0, $f0 +/* C814D0 80241330 46240003 */ div.d $f0, $f0, $f4 +/* C814D4 80241334 46200520 */ cvt.s.d $f20, $f0 +/* C814D8 80241338 46241083 */ div.d $f2, $f2, $f4 +/* C814DC 8024133C 0C00EA95 */ jal npc_move_heading +/* C814E0 80241340 462015A0 */ cvt.s.d $f22, $f2 +/* C814E4 80241344 C604001C */ lwc1 $f4, 0x1c($s0) +/* C814E8 80241348 44801000 */ mtc1 $zero, $f2 +/* C814EC 8024134C 44801800 */ mtc1 $zero, $f3 +/* C814F0 80241350 46002021 */ cvt.d.s $f0, $f4 +/* C814F4 80241354 4620103E */ c.le.d $f2, $f0 +/* C814F8 80241358 00000000 */ nop +/* C814FC 8024135C 45000030 */ bc1f .L80241420 +/* C81500 80241360 00000000 */ nop +/* C81504 80241364 C600003C */ lwc1 $f0, 0x3c($s0) +/* C81508 80241368 46040000 */ add.s $f0, $f0, $f4 +/* C8150C 8024136C E600003C */ swc1 $f0, 0x3c($s0) +/* C81510 80241370 8E2200CC */ lw $v0, 0xcc($s1) +/* C81514 80241374 8C420024 */ lw $v0, 0x24($v0) +/* C81518 80241378 AE020028 */ sw $v0, 0x28($s0) +/* C8151C 8024137C A2200007 */ sb $zero, 7($s1) +/* C81520 80241380 8E020000 */ lw $v0, ($s0) +/* C81524 80241384 30420008 */ andi $v0, $v0, 8 +/* C81528 80241388 14400011 */ bnez $v0, .L802413D0 +/* C8152C 8024138C 0000102D */ daddu $v0, $zero, $zero +/* C81530 80241390 27A50018 */ addiu $a1, $sp, 0x18 +/* C81534 80241394 27A6001C */ addiu $a2, $sp, 0x1c +/* C81538 80241398 C6000038 */ lwc1 $f0, 0x38($s0) +/* C8153C 8024139C C602003C */ lwc1 $f2, 0x3c($s0) +/* C81540 802413A0 C6040040 */ lwc1 $f4, 0x40($s0) +/* C81544 802413A4 3C01447A */ lui $at, 0x447a +/* C81548 802413A8 44813000 */ mtc1 $at, $f6 +/* C8154C 802413AC 27A20024 */ addiu $v0, $sp, 0x24 +/* C81550 802413B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* C81554 802413B4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C81558 802413B8 E7A40020 */ swc1 $f4, 0x20($sp) +/* C8155C 802413BC E7A60024 */ swc1 $f6, 0x24($sp) +/* C81560 802413C0 AFA20010 */ sw $v0, 0x10($sp) +/* C81564 802413C4 8E040080 */ lw $a0, 0x80($s0) +/* C81568 802413C8 0C0372DF */ jal func_800DCB7C +/* C8156C 802413CC 27A70020 */ addiu $a3, $sp, 0x20 +.L802413D0: +/* C81570 802413D0 1040000B */ beqz $v0, .L80241400 +/* C81574 802413D4 00000000 */ nop +/* C81578 802413D8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C8157C 802413DC 46140080 */ add.s $f2, $f0, $f20 +/* C81580 802413E0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C81584 802413E4 4600103E */ c.le.s $f2, $f0 +/* C81588 802413E8 00000000 */ nop +/* C8158C 802413EC 4500008D */ bc1f .L80241624 +/* C81590 802413F0 00000000 */ nop +/* C81594 802413F4 E602003C */ swc1 $f2, 0x3c($s0) +/* C81598 802413F8 08090589 */ j .L80241624 +/* C8159C 802413FC AE400070 */ sw $zero, 0x70($s2) +.L80241400: +/* C815A0 80241400 C602003C */ lwc1 $f2, 0x3c($s0) +/* C815A4 80241404 C6000064 */ lwc1 $f0, 0x64($s0) +/* C815A8 80241408 4602003E */ c.le.s $f0, $f2 +/* C815AC 8024140C 00000000 */ nop +/* C815B0 80241410 45030084 */ bc1tl .L80241624 +/* C815B4 80241414 AE400070 */ sw $zero, 0x70($s2) +/* C815B8 80241418 08090589 */ j .L80241624 +/* C815BC 8024141C 00000000 */ nop +.L80241420: +/* C815C0 80241420 4622003C */ c.lt.d $f0, $f2 +/* C815C4 80241424 00000000 */ nop +/* C815C8 80241428 4500007E */ bc1f .L80241624 +/* C815CC 8024142C 00000000 */ nop +/* C815D0 80241430 9602008E */ lhu $v0, 0x8e($s0) +/* C815D4 80241434 24420001 */ addiu $v0, $v0, 1 +/* C815D8 80241438 A602008E */ sh $v0, 0x8e($s0) +/* C815DC 8024143C 00021400 */ sll $v0, $v0, 0x10 +/* C815E0 80241440 8E630020 */ lw $v1, 0x20($s3) +/* C815E4 80241444 00021403 */ sra $v0, $v0, 0x10 +/* C815E8 80241448 0043102A */ slt $v0, $v0, $v1 +/* C815EC 8024144C 14400026 */ bnez $v0, .L802414E8 +/* C815F0 80241450 00000000 */ nop +/* C815F4 80241454 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C815F8 80241458 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C815FC 8024145C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81600 80241460 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C81604 80241464 A600008E */ sh $zero, 0x8e($s0) +/* C81608 80241468 8C460028 */ lw $a2, 0x28($v0) +/* C8160C 8024146C 0C00A720 */ jal atan2 +/* C81610 80241470 8C470030 */ lw $a3, 0x30($v0) +/* C81614 80241474 46000506 */ mov.s $f20, $f0 +/* C81618 80241478 C60C000C */ lwc1 $f12, 0xc($s0) +/* C8161C 8024147C 0C00A70A */ jal get_clamped_angle_diff +/* C81620 80241480 4600A386 */ mov.s $f14, $f20 +/* C81624 80241484 46000086 */ mov.s $f2, $f0 +/* C81628 80241488 8E62001C */ lw $v0, 0x1c($s3) +/* C8162C 8024148C 46001005 */ abs.s $f0, $f2 +/* C81630 80241490 44822000 */ mtc1 $v0, $f4 +/* C81634 80241494 00000000 */ nop +/* C81638 80241498 46802120 */ cvt.s.w $f4, $f4 +/* C8163C 8024149C 4600203C */ c.lt.s $f4, $f0 +/* C81640 802414A0 00000000 */ nop +/* C81644 802414A4 4500000D */ bc1f .L802414DC +/* C81648 802414A8 00000000 */ nop +/* C8164C 802414AC 44800000 */ mtc1 $zero, $f0 +/* C81650 802414B0 C614000C */ lwc1 $f20, 0xc($s0) +/* C81654 802414B4 4600103C */ c.lt.s $f2, $f0 +/* C81658 802414B8 00000000 */ nop +/* C8165C 802414BC 45000006 */ bc1f .L802414D8 +/* C81660 802414C0 00021023 */ negu $v0, $v0 +/* C81664 802414C4 44820000 */ mtc1 $v0, $f0 +/* C81668 802414C8 00000000 */ nop +/* C8166C 802414CC 46800020 */ cvt.s.w $f0, $f0 +/* C81670 802414D0 08090537 */ j .L802414DC +/* C81674 802414D4 4600A500 */ add.s $f20, $f20, $f0 +.L802414D8: +/* C81678 802414D8 4604A500 */ add.s $f20, $f20, $f4 +.L802414DC: +/* C8167C 802414DC 0C00A6C9 */ jal clamp_angle +/* C81680 802414E0 4600A306 */ mov.s $f12, $f20 +/* C81684 802414E4 E600000C */ swc1 $f0, 0xc($s0) +.L802414E8: +/* C81688 802414E8 8E020000 */ lw $v0, ($s0) +/* C8168C 802414EC 30420008 */ andi $v0, $v0, 8 +/* C81690 802414F0 1040000A */ beqz $v0, .L8024151C +/* C81694 802414F4 27A50018 */ addiu $a1, $sp, 0x18 +/* C81698 802414F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* C8169C 802414FC C600001C */ lwc1 $f0, 0x1c($s0) +/* C816A0 80241500 46001080 */ add.s $f2, $f2, $f0 +/* C816A4 80241504 4616103C */ c.lt.s $f2, $f22 +/* C816A8 80241508 00000000 */ nop +/* C816AC 8024150C 45020045 */ bc1fl .L80241624 +/* C816B0 80241510 E602003C */ swc1 $f2, 0x3c($s0) +/* C816B4 80241514 08090588 */ j .L80241620 +/* C816B8 80241518 E616003C */ swc1 $f22, 0x3c($s0) +.L8024151C: +/* C816BC 8024151C C6000038 */ lwc1 $f0, 0x38($s0) +/* C816C0 80241520 27A6001C */ addiu $a2, $sp, 0x1c +/* C816C4 80241524 E7A00018 */ swc1 $f0, 0x18($sp) +/* C816C8 80241528 860200A8 */ lh $v0, 0xa8($s0) +/* C816CC 8024152C C600001C */ lwc1 $f0, 0x1c($s0) +/* C816D0 80241530 C604003C */ lwc1 $f4, 0x3c($s0) +/* C816D4 80241534 44821000 */ mtc1 $v0, $f2 +/* C816D8 80241538 00000000 */ nop +/* C816DC 8024153C 468010A0 */ cvt.s.w $f2, $f2 +/* C816E0 80241540 46000005 */ abs.s $f0, $f0 +/* C816E4 80241544 46020000 */ add.s $f0, $f0, $f2 +/* C816E8 80241548 C6060040 */ lwc1 $f6, 0x40($s0) +/* C816EC 8024154C 27A20024 */ addiu $v0, $sp, 0x24 +/* C816F0 80241550 46022100 */ add.s $f4, $f4, $f2 +/* C816F4 80241554 3C014024 */ lui $at, 0x4024 +/* C816F8 80241558 44811800 */ mtc1 $at, $f3 +/* C816FC 8024155C 44801000 */ mtc1 $zero, $f2 +/* C81700 80241560 46000021 */ cvt.d.s $f0, $f0 +/* C81704 80241564 46220000 */ add.d $f0, $f0, $f2 +/* C81708 80241568 E7A60020 */ swc1 $f6, 0x20($sp) +/* C8170C 8024156C E7A4001C */ swc1 $f4, 0x1c($sp) +/* C81710 80241570 46200020 */ cvt.s.d $f0, $f0 +/* C81714 80241574 E7A00024 */ swc1 $f0, 0x24($sp) +/* C81718 80241578 AFA20010 */ sw $v0, 0x10($sp) +/* C8171C 8024157C 8E040080 */ lw $a0, 0x80($s0) +/* C81720 80241580 0C0372DF */ jal func_800DCB7C +/* C81724 80241584 27A70020 */ addiu $a3, $sp, 0x20 +/* C81728 80241588 10400015 */ beqz $v0, .L802415E0 +/* C8172C 8024158C 00000000 */ nop +/* C81730 80241590 860200A8 */ lh $v0, 0xa8($s0) +/* C81734 80241594 C604001C */ lwc1 $f4, 0x1c($s0) +/* C81738 80241598 44820000 */ mtc1 $v0, $f0 +/* C8173C 8024159C 00000000 */ nop +/* C81740 802415A0 46800020 */ cvt.s.w $f0, $f0 +/* C81744 802415A4 46002085 */ abs.s $f2, $f4 +/* C81748 802415A8 46020000 */ add.s $f0, $f0, $f2 +/* C8174C 802415AC C7A20024 */ lwc1 $f2, 0x24($sp) +/* C81750 802415B0 4600103E */ c.le.s $f2, $f0 +/* C81754 802415B4 00000000 */ nop +/* C81758 802415B8 45000005 */ bc1f .L802415D0 +/* C8175C 802415BC 00000000 */ nop +/* C81760 802415C0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C81764 802415C4 AE00001C */ sw $zero, 0x1c($s0) +/* C81768 802415C8 08090589 */ j .L80241624 +/* C8176C 802415CC E600003C */ swc1 $f0, 0x3c($s0) +.L802415D0: +/* C81770 802415D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* C81774 802415D4 46040000 */ add.s $f0, $f0, $f4 +/* C81778 802415D8 08090589 */ j .L80241624 +/* C8177C 802415DC E600003C */ swc1 $f0, 0x3c($s0) +.L802415E0: +/* C81780 802415E0 C606003C */ lwc1 $f6, 0x3c($s0) +/* C81784 802415E4 860200A8 */ lh $v0, 0xa8($s0) +/* C81788 802415E8 46163081 */ sub.s $f2, $f6, $f22 +/* C8178C 802415EC 44820000 */ mtc1 $v0, $f0 +/* C81790 802415F0 00000000 */ nop +/* C81794 802415F4 46800020 */ cvt.s.w $f0, $f0 +/* C81798 802415F8 46001080 */ add.s $f2, $f2, $f0 +/* C8179C 802415FC C604001C */ lwc1 $f4, 0x1c($s0) +/* C817A0 80241600 46002005 */ abs.s $f0, $f4 +/* C817A4 80241604 4602003C */ c.lt.s $f0, $f2 +/* C817A8 80241608 00000000 */ nop +/* C817AC 8024160C 45020005 */ bc1fl .L80241624 +/* C817B0 80241610 AE00001C */ sw $zero, 0x1c($s0) +/* C817B4 80241614 46043000 */ add.s $f0, $f6, $f4 +/* C817B8 80241618 08090589 */ j .L80241624 +/* C817BC 8024161C E600003C */ swc1 $f0, 0x3c($s0) +.L80241620: +/* C817C0 80241620 AE00001C */ sw $zero, 0x1c($s0) +.L80241624: +/* C817C4 80241624 8FBF0038 */ lw $ra, 0x38($sp) +/* C817C8 80241628 8FB30034 */ lw $s3, 0x34($sp) +/* C817CC 8024162C 8FB20030 */ lw $s2, 0x30($sp) +/* C817D0 80241630 8FB1002C */ lw $s1, 0x2c($sp) +/* C817D4 80241634 8FB00028 */ lw $s0, 0x28($sp) +/* C817D8 80241638 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C817DC 8024163C D7B40040 */ ldc1 $f20, 0x40($sp) +/* C817E0 80241640 03E00008 */ jr $ra +/* C817E4 80241644 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241648_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241648_C801A0.s new file mode 100644 index 0000000000..6e586fb985 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241648_C801A0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241648_C817E8 +/* C817E8 80241648 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C817EC 8024164C AFB00028 */ sw $s0, 0x28($sp) +/* C817F0 80241650 00A0802D */ daddu $s0, $a1, $zero +/* C817F4 80241654 AFB1002C */ sw $s1, 0x2c($sp) +/* C817F8 80241658 00C0882D */ daddu $s1, $a2, $zero +/* C817FC 8024165C AFBF0034 */ sw $ra, 0x34($sp) +/* C81800 80241660 AFB20030 */ sw $s2, 0x30($sp) +/* C81804 80241664 AE200070 */ sw $zero, 0x70($s1) +/* C81808 80241668 8C830000 */ lw $v1, ($a0) +/* C8180C 8024166C 2402FDFF */ addiu $v0, $zero, -0x201 +/* C81810 80241670 A480008E */ sh $zero, 0x8e($a0) +/* C81814 80241674 00621824 */ and $v1, $v1, $v0 +/* C81818 80241678 34650800 */ ori $a1, $v1, 0x800 +/* C8181C 8024167C AC850000 */ sw $a1, ($a0) +/* C81820 80241680 8E0200D0 */ lw $v0, 0xd0($s0) +/* C81824 80241684 8C420034 */ lw $v0, 0x34($v0) +/* C81828 80241688 10400003 */ beqz $v0, .L80241698 +/* C8182C 8024168C 00E0902D */ daddu $s2, $a3, $zero +/* C81830 80241690 080905A8 */ j .L802416A0 +/* C81834 80241694 34620808 */ ori $v0, $v1, 0x808 +.L80241698: +/* C81838 80241698 2402FFF7 */ addiu $v0, $zero, -9 +/* C8183C 8024169C 00A21024 */ and $v0, $a1, $v0 +.L802416A0: +/* C81840 802416A0 AC820000 */ sw $v0, ($a0) +/* C81844 802416A4 27A20024 */ addiu $v0, $sp, 0x24 +/* C81848 802416A8 27A50018 */ addiu $a1, $sp, 0x18 +/* C8184C 802416AC C4800038 */ lwc1 $f0, 0x38($a0) +/* C81850 802416B0 C482003C */ lwc1 $f2, 0x3c($a0) +/* C81854 802416B4 C4840040 */ lwc1 $f4, 0x40($a0) +/* C81858 802416B8 3C01447A */ lui $at, 0x447a +/* C8185C 802416BC 44813000 */ mtc1 $at, $f6 +/* C81860 802416C0 27A6001C */ addiu $a2, $sp, 0x1c +/* C81864 802416C4 E7A00018 */ swc1 $f0, 0x18($sp) +/* C81868 802416C8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* C8186C 802416CC E7A40020 */ swc1 $f4, 0x20($sp) +/* C81870 802416D0 E7A60024 */ swc1 $f6, 0x24($sp) +/* C81874 802416D4 AFA20010 */ sw $v0, 0x10($sp) +/* C81878 802416D8 8C840080 */ lw $a0, 0x80($a0) +/* C8187C 802416DC 0C0372DF */ jal func_800DCB7C +/* C81880 802416E0 27A70020 */ addiu $a3, $sp, 0x20 +/* C81884 802416E4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* C81888 802416E8 3C014059 */ lui $at, 0x4059 +/* C8188C 802416EC 44812800 */ mtc1 $at, $f5 +/* C81890 802416F0 44802000 */ mtc1 $zero, $f4 +/* C81894 802416F4 460010A1 */ cvt.d.s $f2, $f2 +/* C81898 802416F8 46241082 */ mul.d $f2, $f2, $f4 +/* C8189C 802416FC 00000000 */ nop +/* C818A0 80241700 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* C818A4 80241704 46000021 */ cvt.d.s $f0, $f0 +/* C818A8 80241708 46240002 */ mul.d $f0, $f0, $f4 +/* C818AC 8024170C 00000000 */ nop +/* C818B0 80241710 3C013FE0 */ lui $at, 0x3fe0 +/* C818B4 80241714 44812800 */ mtc1 $at, $f5 +/* C818B8 80241718 44802000 */ mtc1 $zero, $f4 +/* C818BC 8024171C 00000000 */ nop +/* C818C0 80241720 46241080 */ add.d $f2, $f2, $f4 +/* C818C4 80241724 AE000074 */ sw $zero, 0x74($s0) +/* C818C8 80241728 46240000 */ add.d $f0, $f0, $f4 +/* C818CC 8024172C AE000090 */ sw $zero, 0x90($s0) +/* C818D0 80241730 4620120D */ trunc.w.d $f8, $f2 +/* C818D4 80241734 E6080078 */ swc1 $f8, 0x78($s0) +/* C818D8 80241738 4620020D */ trunc.w.d $f8, $f0 +/* C818DC 8024173C E6080088 */ swc1 $f8, 0x88($s0) +/* C818E0 80241740 8E420014 */ lw $v0, 0x14($s2) +/* C818E4 80241744 AE220074 */ sw $v0, 0x74($s1) +/* C818E8 80241748 8E0200B0 */ lw $v0, 0xb0($s0) +/* C818EC 8024174C 34420010 */ ori $v0, $v0, 0x10 +/* C818F0 80241750 AE0200B0 */ sw $v0, 0xb0($s0) +/* C818F4 80241754 8FBF0034 */ lw $ra, 0x34($sp) +/* C818F8 80241758 8FB20030 */ lw $s2, 0x30($sp) +/* C818FC 8024175C 8FB1002C */ lw $s1, 0x2c($sp) +/* C81900 80241760 8FB00028 */ lw $s0, 0x28($sp) +/* C81904 80241764 03E00008 */ jr $ra +/* C81908 80241768 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_8024176C.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_8024176C.s new file mode 100644 index 0000000000..fcbe870ef1 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_8024176C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024176C +/* C8190C 8024176C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C81910 80241770 AFB40040 */ sw $s4, 0x40($sp) +/* C81914 80241774 0080A02D */ daddu $s4, $a0, $zero +/* C81918 80241778 AFBF0048 */ sw $ra, 0x48($sp) +/* C8191C 8024177C AFB50044 */ sw $s5, 0x44($sp) +/* C81920 80241780 AFB3003C */ sw $s3, 0x3c($sp) +/* C81924 80241784 AFB20038 */ sw $s2, 0x38($sp) +/* C81928 80241788 AFB10034 */ sw $s1, 0x34($sp) +/* C8192C 8024178C AFB00030 */ sw $s0, 0x30($sp) +/* C81930 80241790 8E920148 */ lw $s2, 0x148($s4) +/* C81934 80241794 86440008 */ lh $a0, 8($s2) +/* C81938 80241798 8E90000C */ lw $s0, 0xc($s4) +/* C8193C 8024179C 0C00EABB */ jal get_npc_unsafe +/* C81940 802417A0 00A0882D */ daddu $s1, $a1, $zero +/* C81944 802417A4 0280202D */ daddu $a0, $s4, $zero +/* C81948 802417A8 8E050000 */ lw $a1, ($s0) +/* C8194C 802417AC 0C0B1EAF */ jal get_variable +/* C81950 802417B0 0040A82D */ daddu $s5, $v0, $zero +/* C81954 802417B4 AFA00010 */ sw $zero, 0x10($sp) +/* C81958 802417B8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C8195C 802417BC 8C630030 */ lw $v1, 0x30($v1) +/* C81960 802417C0 AFA30014 */ sw $v1, 0x14($sp) +/* C81964 802417C4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81968 802417C8 8C63001C */ lw $v1, 0x1c($v1) +/* C8196C 802417CC AFA30018 */ sw $v1, 0x18($sp) +/* C81970 802417D0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81974 802417D4 8C630024 */ lw $v1, 0x24($v1) +/* C81978 802417D8 AFA3001C */ sw $v1, 0x1c($sp) +/* C8197C 802417DC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81980 802417E0 8C630028 */ lw $v1, 0x28($v1) +/* C81984 802417E4 27B30010 */ addiu $s3, $sp, 0x10 +/* C81988 802417E8 AFA30020 */ sw $v1, 0x20($sp) +/* C8198C 802417EC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81990 802417F0 3C0142F0 */ lui $at, 0x42f0 +/* C81994 802417F4 44810000 */ mtc1 $at, $f0 +/* C81998 802417F8 8C63002C */ lw $v1, 0x2c($v1) +/* C8199C 802417FC 0040802D */ daddu $s0, $v0, $zero +/* C819A0 80241800 E7A00028 */ swc1 $f0, 0x28($sp) +/* C819A4 80241804 A7A0002C */ sh $zero, 0x2c($sp) +/* C819A8 80241808 12200006 */ beqz $s1, .L80241824 +/* C819AC 8024180C AFA30024 */ sw $v1, 0x24($sp) +/* C819B0 80241810 02A0202D */ daddu $a0, $s5, $zero +/* C819B4 80241814 0240282D */ daddu $a1, $s2, $zero +/* C819B8 80241818 0280302D */ daddu $a2, $s4, $zero +/* C819BC 8024181C 0C090592 */ jal func_80241648 +/* C819C0 80241820 0200382D */ daddu $a3, $s0, $zero +.L80241824: +/* C819C4 80241824 2402FFFE */ addiu $v0, $zero, -2 +/* C819C8 80241828 A2A200AB */ sb $v0, 0xab($s5) +/* C819CC 8024182C 8E4300B0 */ lw $v1, 0xb0($s2) +/* C819D0 80241830 30620004 */ andi $v0, $v1, 4 +/* C819D4 80241834 10400007 */ beqz $v0, .L80241854 +/* C819D8 80241838 00000000 */ nop +/* C819DC 8024183C 824200B4 */ lb $v0, 0xb4($s2) +/* C819E0 80241840 1440003C */ bnez $v0, .L80241934 +/* C819E4 80241844 0000102D */ daddu $v0, $zero, $zero +/* C819E8 80241848 2402FFFB */ addiu $v0, $zero, -5 +/* C819EC 8024184C 00621024 */ and $v0, $v1, $v0 +/* C819F0 80241850 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241854: +/* C819F4 80241854 8E830070 */ lw $v1, 0x70($s4) +/* C819F8 80241858 2C62000F */ sltiu $v0, $v1, 0xf +/* C819FC 8024185C 10400034 */ beqz $v0, .L80241930 +/* C81A00 80241860 00031080 */ sll $v0, $v1, 2 +/* C81A04 80241864 3C018024 */ lui $at, 0x8024 +/* C81A08 80241868 00220821 */ addu $at, $at, $v0 +/* C81A0C 8024186C 8C225868 */ lw $v0, 0x5868($at) +/* C81A10 80241870 00400008 */ jr $v0 +/* C81A14 80241874 00000000 */ nop +/* C81A18 80241878 0280202D */ daddu $a0, $s4, $zero +/* C81A1C 8024187C 0200282D */ daddu $a1, $s0, $zero +/* C81A20 80241880 0C090118 */ jal func_80240460 +/* C81A24 80241884 0260302D */ daddu $a2, $s3, $zero +/* C81A28 80241888 0280202D */ daddu $a0, $s4, $zero +/* C81A2C 8024188C 0200282D */ daddu $a1, $s0, $zero +/* C81A30 80241890 0C090184 */ jal func_80240610 +/* C81A34 80241894 0260302D */ daddu $a2, $s3, $zero +/* C81A38 80241898 0809064D */ j .L80241934 +/* C81A3C 8024189C 0000102D */ daddu $v0, $zero, $zero +/* C81A40 802418A0 0280202D */ daddu $a0, $s4, $zero +/* C81A44 802418A4 0200282D */ daddu $a1, $s0, $zero +/* C81A48 802418A8 0C09030E */ jal func_80240C38 +/* C81A4C 802418AC 0260302D */ daddu $a2, $s3, $zero +/* C81A50 802418B0 0280202D */ daddu $a0, $s4, $zero +/* C81A54 802418B4 0200282D */ daddu $a1, $s0, $zero +/* C81A58 802418B8 0C09033E */ jal func_80240CF8 +/* C81A5C 802418BC 0260302D */ daddu $a2, $s3, $zero +/* C81A60 802418C0 0809064D */ j .L80241934 +/* C81A64 802418C4 0000102D */ daddu $v0, $zero, $zero +/* C81A68 802418C8 0280202D */ daddu $a0, $s4, $zero +/* C81A6C 802418CC 0200282D */ daddu $a1, $s0, $zero +/* C81A70 802418D0 0C09040F */ jal func_8024103C +/* C81A74 802418D4 0260302D */ daddu $a2, $s3, $zero +/* C81A78 802418D8 0280202D */ daddu $a0, $s4, $zero +/* C81A7C 802418DC 0200282D */ daddu $a1, $s0, $zero +/* C81A80 802418E0 0C09042D */ jal func_802410B4 +/* C81A84 802418E4 0260302D */ daddu $a2, $s3, $zero +/* C81A88 802418E8 0809064D */ j .L80241934 +/* C81A8C 802418EC 0000102D */ daddu $v0, $zero, $zero +/* C81A90 802418F0 0280202D */ daddu $a0, $s4, $zero +/* C81A94 802418F4 0200282D */ daddu $a1, $s0, $zero +/* C81A98 802418F8 0C090448 */ jal func_80241120 +/* C81A9C 802418FC 0260302D */ daddu $a2, $s3, $zero +/* C81AA0 80241900 0809064D */ j .L80241934 +/* C81AA4 80241904 0000102D */ daddu $v0, $zero, $zero +/* C81AA8 80241908 0280202D */ daddu $a0, $s4, $zero +/* C81AAC 8024190C 0200282D */ daddu $a1, $s0, $zero +/* C81AB0 80241910 0C090495 */ jal func_80241254 +/* C81AB4 80241914 0260302D */ daddu $a2, $s3, $zero +/* C81AB8 80241918 0809064D */ j .L80241934 +/* C81ABC 8024191C 0000102D */ daddu $v0, $zero, $zero +/* C81AC0 80241920 0280202D */ daddu $a0, $s4, $zero +/* C81AC4 80241924 0200282D */ daddu $a1, $s0, $zero +/* C81AC8 80241928 0C0904AE */ jal func_802412B8 +/* C81ACC 8024192C 0260302D */ daddu $a2, $s3, $zero +.L80241930: +/* C81AD0 80241930 0000102D */ daddu $v0, $zero, $zero +.L80241934: +/* C81AD4 80241934 8FBF0048 */ lw $ra, 0x48($sp) +/* C81AD8 80241938 8FB50044 */ lw $s5, 0x44($sp) +/* C81ADC 8024193C 8FB40040 */ lw $s4, 0x40($sp) +/* C81AE0 80241940 8FB3003C */ lw $s3, 0x3c($sp) +/* C81AE4 80241944 8FB20038 */ lw $s2, 0x38($sp) +/* C81AE8 80241948 8FB10034 */ lw $s1, 0x34($sp) +/* C81AEC 8024194C 8FB00030 */ lw $s0, 0x30($sp) +/* C81AF0 80241950 03E00008 */ jr $ra +/* C81AF4 80241954 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241958.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241958.s new file mode 100644 index 0000000000..ed314a781f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241958.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241958 +/* C81AF8 80241958 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C81AFC 8024195C AFB3001C */ sw $s3, 0x1c($sp) +/* C81B00 80241960 0080982D */ daddu $s3, $a0, $zero +/* C81B04 80241964 AFBF0020 */ sw $ra, 0x20($sp) +/* C81B08 80241968 AFB20018 */ sw $s2, 0x18($sp) +/* C81B0C 8024196C AFB10014 */ sw $s1, 0x14($sp) +/* C81B10 80241970 AFB00010 */ sw $s0, 0x10($sp) +/* C81B14 80241974 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C81B18 80241978 8E710148 */ lw $s1, 0x148($s3) +/* C81B1C 8024197C 86240008 */ lh $a0, 8($s1) +/* C81B20 80241980 0C00EABB */ jal get_npc_unsafe +/* C81B24 80241984 00A0802D */ daddu $s0, $a1, $zero +/* C81B28 80241988 8E040020 */ lw $a0, 0x20($s0) +/* C81B2C 8024198C 0040902D */ daddu $s2, $v0, $zero +/* C81B30 80241990 00041FC2 */ srl $v1, $a0, 0x1f +/* C81B34 80241994 00832021 */ addu $a0, $a0, $v1 +/* C81B38 80241998 00042043 */ sra $a0, $a0, 1 +/* C81B3C 8024199C 0C00A67F */ jal rand_int +/* C81B40 802419A0 24840001 */ addiu $a0, $a0, 1 +/* C81B44 802419A4 8E030020 */ lw $v1, 0x20($s0) +/* C81B48 802419A8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C81B4C 802419AC 000327C2 */ srl $a0, $v1, 0x1f +/* C81B50 802419B0 00641821 */ addu $v1, $v1, $a0 +/* C81B54 802419B4 00031843 */ sra $v1, $v1, 1 +/* C81B58 802419B8 00621821 */ addu $v1, $v1, $v0 +/* C81B5C 802419BC A643008E */ sh $v1, 0x8e($s2) +/* C81B60 802419C0 8E2200CC */ lw $v0, 0xcc($s1) +/* C81B64 802419C4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C81B68 802419C8 8C42000C */ lw $v0, 0xc($v0) +/* C81B6C 802419CC AE420028 */ sw $v0, 0x28($s2) +/* C81B70 802419D0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C81B74 802419D4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81B78 802419D8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C81B7C 802419DC E6400018 */ swc1 $f0, 0x18($s2) +/* C81B80 802419E0 8C460028 */ lw $a2, 0x28($v0) +/* C81B84 802419E4 0C00A720 */ jal atan2 +/* C81B88 802419E8 8C470030 */ lw $a3, 0x30($v0) +/* C81B8C 802419EC 46000506 */ mov.s $f20, $f0 +/* C81B90 802419F0 C64C000C */ lwc1 $f12, 0xc($s2) +/* C81B94 802419F4 0C00A70A */ jal get_clamped_angle_diff +/* C81B98 802419F8 4600A386 */ mov.s $f14, $f20 +/* C81B9C 802419FC 46000086 */ mov.s $f2, $f0 +/* C81BA0 80241A00 8E02001C */ lw $v0, 0x1c($s0) +/* C81BA4 80241A04 46001005 */ abs.s $f0, $f2 +/* C81BA8 80241A08 44822000 */ mtc1 $v0, $f4 +/* C81BAC 80241A0C 00000000 */ nop +/* C81BB0 80241A10 46802120 */ cvt.s.w $f4, $f4 +/* C81BB4 80241A14 4600203C */ c.lt.s $f4, $f0 +/* C81BB8 80241A18 00000000 */ nop +/* C81BBC 80241A1C 4500000D */ bc1f .L80241A54 +/* C81BC0 80241A20 00000000 */ nop +/* C81BC4 80241A24 44800000 */ mtc1 $zero, $f0 +/* C81BC8 80241A28 C654000C */ lwc1 $f20, 0xc($s2) +/* C81BCC 80241A2C 4600103C */ c.lt.s $f2, $f0 +/* C81BD0 80241A30 00000000 */ nop +/* C81BD4 80241A34 45000006 */ bc1f .L80241A50 +/* C81BD8 80241A38 00021023 */ negu $v0, $v0 +/* C81BDC 80241A3C 44820000 */ mtc1 $v0, $f0 +/* C81BE0 80241A40 00000000 */ nop +/* C81BE4 80241A44 46800020 */ cvt.s.w $f0, $f0 +/* C81BE8 80241A48 08090695 */ j .L80241A54 +/* C81BEC 80241A4C 4600A500 */ add.s $f20, $f20, $f0 +.L80241A50: +/* C81BF0 80241A50 4604A500 */ add.s $f20, $f20, $f4 +.L80241A54: +/* C81BF4 80241A54 0C00A6C9 */ jal clamp_angle +/* C81BF8 80241A58 4600A306 */ mov.s $f12, $f20 +/* C81BFC 80241A5C 2402000D */ addiu $v0, $zero, 0xd +/* C81C00 80241A60 E640000C */ swc1 $f0, 0xc($s2) +/* C81C04 80241A64 AE620070 */ sw $v0, 0x70($s3) +/* C81C08 80241A68 8FBF0020 */ lw $ra, 0x20($sp) +/* C81C0C 80241A6C 8FB3001C */ lw $s3, 0x1c($sp) +/* C81C10 80241A70 8FB20018 */ lw $s2, 0x18($sp) +/* C81C14 80241A74 8FB10014 */ lw $s1, 0x14($sp) +/* C81C18 80241A78 8FB00010 */ lw $s0, 0x10($sp) +/* C81C1C 80241A7C D7B40028 */ ldc1 $f20, 0x28($sp) +/* C81C20 80241A80 03E00008 */ jr $ra +/* C81C24 80241A84 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241A88.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241A88.s new file mode 100644 index 0000000000..9edbf1d71c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241A88.s @@ -0,0 +1,172 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A88 +/* C81C28 80241A88 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C81C2C 80241A8C AFB3004C */ sw $s3, 0x4c($sp) +/* C81C30 80241A90 0080982D */ daddu $s3, $a0, $zero +/* C81C34 80241A94 AFBF0050 */ sw $ra, 0x50($sp) +/* C81C38 80241A98 AFB20048 */ sw $s2, 0x48($sp) +/* C81C3C 80241A9C AFB10044 */ sw $s1, 0x44($sp) +/* C81C40 80241AA0 AFB00040 */ sw $s0, 0x40($sp) +/* C81C44 80241AA4 8E720148 */ lw $s2, 0x148($s3) +/* C81C48 80241AA8 00A0882D */ daddu $s1, $a1, $zero +/* C81C4C 80241AAC 86440008 */ lh $a0, 8($s2) +/* C81C50 80241AB0 0C00EABB */ jal get_npc_unsafe +/* C81C54 80241AB4 00C0802D */ daddu $s0, $a2, $zero +/* C81C58 80241AB8 0200202D */ daddu $a0, $s0, $zero +/* C81C5C 80241ABC 0240282D */ daddu $a1, $s2, $zero +/* C81C60 80241AC0 24030001 */ addiu $v1, $zero, 1 +/* C81C64 80241AC4 AFA30010 */ sw $v1, 0x10($sp) +/* C81C68 80241AC8 8E260024 */ lw $a2, 0x24($s1) +/* C81C6C 80241ACC 8E270028 */ lw $a3, 0x28($s1) +/* C81C70 80241AD0 0C01242D */ jal func_800490B4 +/* C81C74 80241AD4 0040802D */ daddu $s0, $v0, $zero +/* C81C78 80241AD8 14400020 */ bnez $v0, .L80241B5C +/* C81C7C 80241ADC 24040002 */ addiu $a0, $zero, 2 +/* C81C80 80241AE0 0200282D */ daddu $a1, $s0, $zero +/* C81C84 80241AE4 0000302D */ daddu $a2, $zero, $zero +/* C81C88 80241AE8 860300A8 */ lh $v1, 0xa8($s0) +/* C81C8C 80241AEC 3C013F80 */ lui $at, 0x3f80 +/* C81C90 80241AF0 44810000 */ mtc1 $at, $f0 +/* C81C94 80241AF4 3C014000 */ lui $at, 0x4000 +/* C81C98 80241AF8 44811000 */ mtc1 $at, $f2 +/* C81C9C 80241AFC 3C01C1A0 */ lui $at, 0xc1a0 +/* C81CA0 80241B00 44812000 */ mtc1 $at, $f4 +/* C81CA4 80241B04 2402000F */ addiu $v0, $zero, 0xf +/* C81CA8 80241B08 AFA2001C */ sw $v0, 0x1c($sp) +/* C81CAC 80241B0C 44834000 */ mtc1 $v1, $f8 +/* C81CB0 80241B10 00000000 */ nop +/* C81CB4 80241B14 46804220 */ cvt.s.w $f8, $f8 +/* C81CB8 80241B18 44074000 */ mfc1 $a3, $f8 +/* C81CBC 80241B1C 27A20028 */ addiu $v0, $sp, 0x28 +/* C81CC0 80241B20 AFA20020 */ sw $v0, 0x20($sp) +/* C81CC4 80241B24 E7A00010 */ swc1 $f0, 0x10($sp) +/* C81CC8 80241B28 E7A20014 */ swc1 $f2, 0x14($sp) +/* C81CCC 80241B2C 0C01BFA4 */ jal fx_emote +/* C81CD0 80241B30 E7A40018 */ swc1 $f4, 0x18($sp) +/* C81CD4 80241B34 8E4200CC */ lw $v0, 0xcc($s2) +/* C81CD8 80241B38 8C430000 */ lw $v1, ($v0) +/* C81CDC 80241B3C 2402001E */ addiu $v0, $zero, 0x1e +/* C81CE0 80241B40 A602008E */ sh $v0, 0x8e($s0) +/* C81CE4 80241B44 24020014 */ addiu $v0, $zero, 0x14 +/* C81CE8 80241B48 AE030028 */ sw $v1, 0x28($s0) +/* C81CEC 80241B4C AE620070 */ sw $v0, 0x70($s3) +/* C81CF0 80241B50 2402001E */ addiu $v0, $zero, 0x1e +/* C81CF4 80241B54 0809073B */ j .L80241CEC +/* C81CF8 80241B58 AE420090 */ sw $v0, 0x90($s2) +.L80241B5C: +/* C81CFC 80241B5C 8E050018 */ lw $a1, 0x18($s0) +/* C81D00 80241B60 8E06000C */ lw $a2, 0xc($s0) +/* C81D04 80241B64 0C00EA95 */ jal npc_move_heading +/* C81D08 80241B68 0200202D */ daddu $a0, $s0, $zero +/* C81D0C 80241B6C 8E020000 */ lw $v0, ($s0) +/* C81D10 80241B70 30420008 */ andi $v0, $v0, 8 +/* C81D14 80241B74 14400028 */ bnez $v0, .L80241C18 +/* C81D18 80241B78 0000882D */ daddu $s1, $zero, $zero +/* C81D1C 80241B7C 27A5002C */ addiu $a1, $sp, 0x2c +/* C81D20 80241B80 27A60030 */ addiu $a2, $sp, 0x30 +/* C81D24 80241B84 860200A8 */ lh $v0, 0xa8($s0) +/* C81D28 80241B88 C6000038 */ lwc1 $f0, 0x38($s0) +/* C81D2C 80241B8C 44821000 */ mtc1 $v0, $f2 +/* C81D30 80241B90 00000000 */ nop +/* C81D34 80241B94 468010A0 */ cvt.s.w $f2, $f2 +/* C81D38 80241B98 E7A0002C */ swc1 $f0, 0x2c($sp) +/* C81D3C 80241B9C 860200A8 */ lh $v0, 0xa8($s0) +/* C81D40 80241BA0 C604003C */ lwc1 $f4, 0x3c($s0) +/* C81D44 80241BA4 C6060040 */ lwc1 $f6, 0x40($s0) +/* C81D48 80241BA8 44820000 */ mtc1 $v0, $f0 +/* C81D4C 80241BAC 00000000 */ nop +/* C81D50 80241BB0 46800021 */ cvt.d.w $f0, $f0 +/* C81D54 80241BB4 46022100 */ add.s $f4, $f4, $f2 +/* C81D58 80241BB8 3C014008 */ lui $at, 0x4008 +/* C81D5C 80241BBC 44811800 */ mtc1 $at, $f3 +/* C81D60 80241BC0 44801000 */ mtc1 $zero, $f2 +/* C81D64 80241BC4 27A20038 */ addiu $v0, $sp, 0x38 +/* C81D68 80241BC8 46220000 */ add.d $f0, $f0, $f2 +/* C81D6C 80241BCC E7A60034 */ swc1 $f6, 0x34($sp) +/* C81D70 80241BD0 E7A40030 */ swc1 $f4, 0x30($sp) +/* C81D74 80241BD4 46200020 */ cvt.s.d $f0, $f0 +/* C81D78 80241BD8 E7A00038 */ swc1 $f0, 0x38($sp) +/* C81D7C 80241BDC AFA20010 */ sw $v0, 0x10($sp) +/* C81D80 80241BE0 8E040080 */ lw $a0, 0x80($s0) +/* C81D84 80241BE4 0C0372DF */ jal func_800DCB7C +/* C81D88 80241BE8 27A70034 */ addiu $a3, $sp, 0x34 +/* C81D8C 80241BEC 1040000A */ beqz $v0, .L80241C18 +/* C81D90 80241BF0 00000000 */ nop +/* C81D94 80241BF4 860200A8 */ lh $v0, 0xa8($s0) +/* C81D98 80241BF8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* C81D9C 80241BFC 44820000 */ mtc1 $v0, $f0 +/* C81DA0 80241C00 00000000 */ nop +/* C81DA4 80241C04 46800020 */ cvt.s.w $f0, $f0 +/* C81DA8 80241C08 4600103C */ c.lt.s $f2, $f0 +/* C81DAC 80241C0C 00000000 */ nop +/* C81DB0 80241C10 45030001 */ bc1tl .L80241C18 +/* C81DB4 80241C14 24110001 */ addiu $s1, $zero, 1 +.L80241C18: +/* C81DB8 80241C18 12200008 */ beqz $s1, .L80241C3C +/* C81DBC 80241C1C 00000000 */ nop +/* C81DC0 80241C20 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C81DC4 80241C24 3C013FF0 */ lui $at, 0x3ff0 +/* C81DC8 80241C28 44811800 */ mtc1 $at, $f3 +/* C81DCC 80241C2C 44801000 */ mtc1 $zero, $f2 +/* C81DD0 80241C30 46000021 */ cvt.d.s $f0, $f0 +/* C81DD4 80241C34 08090731 */ j .L80241CC4 +/* C81DD8 80241C38 46220000 */ add.d $f0, $f0, $f2 +.L80241C3C: +/* C81DDC 80241C3C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C81DE0 80241C40 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C81DE4 80241C44 3C014018 */ lui $at, 0x4018 +/* C81DE8 80241C48 44811800 */ mtc1 $at, $f3 +/* C81DEC 80241C4C 44801000 */ mtc1 $zero, $f2 +/* C81DF0 80241C50 C440002C */ lwc1 $f0, 0x2c($v0) +/* C81DF4 80241C54 C604003C */ lwc1 $f4, 0x3c($s0) +/* C81DF8 80241C58 46000021 */ cvt.d.s $f0, $f0 +/* C81DFC 80241C5C 46220000 */ add.d $f0, $f0, $f2 +/* C81E00 80241C60 46002121 */ cvt.d.s $f4, $f4 +/* C81E04 80241C64 46202001 */ sub.d $f0, $f4, $f0 +/* C81E08 80241C68 462001A0 */ cvt.s.d $f6, $f0 +/* C81E0C 80241C6C 44800000 */ mtc1 $zero, $f0 +/* C81E10 80241C70 44800800 */ mtc1 $zero, $f1 +/* C81E14 80241C74 460030A1 */ cvt.d.s $f2, $f6 +/* C81E18 80241C78 4620103C */ c.lt.d $f2, $f0 +/* C81E1C 80241C7C 00000000 */ nop +/* C81E20 80241C80 45010009 */ bc1t .L80241CA8 +/* C81E24 80241C84 00000000 */ nop +/* C81E28 80241C88 3C014010 */ lui $at, 0x4010 +/* C81E2C 80241C8C 44810800 */ mtc1 $at, $f1 +/* C81E30 80241C90 44800000 */ mtc1 $zero, $f0 +/* C81E34 80241C94 00000000 */ nop +/* C81E38 80241C98 4622003C */ c.lt.d $f0, $f2 +/* C81E3C 80241C9C 00000000 */ nop +/* C81E40 80241CA0 4500000A */ bc1f .L80241CCC +/* C81E44 80241CA4 00000000 */ nop +.L80241CA8: +/* C81E48 80241CA8 3C018024 */ lui $at, 0x8024 +/* C81E4C 80241CAC D42258A8 */ ldc1 $f2, 0x58a8($at) +/* C81E50 80241CB0 46003187 */ neg.s $f6, $f6 +/* C81E54 80241CB4 46003021 */ cvt.d.s $f0, $f6 +/* C81E58 80241CB8 46220002 */ mul.d $f0, $f0, $f2 +/* C81E5C 80241CBC 00000000 */ nop +/* C81E60 80241CC0 46202000 */ add.d $f0, $f4, $f0 +.L80241CC4: +/* C81E64 80241CC4 46200020 */ cvt.s.d $f0, $f0 +/* C81E68 80241CC8 E600003C */ swc1 $f0, 0x3c($s0) +.L80241CCC: +/* C81E6C 80241CCC 8602008E */ lh $v0, 0x8e($s0) +/* C81E70 80241CD0 9603008E */ lhu $v1, 0x8e($s0) +/* C81E74 80241CD4 18400003 */ blez $v0, .L80241CE4 +/* C81E78 80241CD8 2462FFFF */ addiu $v0, $v1, -1 +/* C81E7C 80241CDC 0809073B */ j .L80241CEC +/* C81E80 80241CE0 A602008E */ sh $v0, 0x8e($s0) +.L80241CE4: +/* C81E84 80241CE4 2402000C */ addiu $v0, $zero, 0xc +/* C81E88 80241CE8 AE620070 */ sw $v0, 0x70($s3) +.L80241CEC: +/* C81E8C 80241CEC 8FBF0050 */ lw $ra, 0x50($sp) +/* C81E90 80241CF0 8FB3004C */ lw $s3, 0x4c($sp) +/* C81E94 80241CF4 8FB20048 */ lw $s2, 0x48($sp) +/* C81E98 80241CF8 8FB10044 */ lw $s1, 0x44($sp) +/* C81E9C 80241CFC 8FB00040 */ lw $s0, 0x40($sp) +/* C81EA0 80241D00 03E00008 */ jr $ra +/* C81EA4 80241D04 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D08_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D08_C801A0.s new file mode 100644 index 0000000000..5bd4132314 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D08_C801A0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D08_C81EA8 +/* C81EA8 80241D08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C81EAC 80241D0C AFB10014 */ sw $s1, 0x14($sp) +/* C81EB0 80241D10 0080882D */ daddu $s1, $a0, $zero +/* C81EB4 80241D14 AFBF0018 */ sw $ra, 0x18($sp) +/* C81EB8 80241D18 AFB00010 */ sw $s0, 0x10($sp) +/* C81EBC 80241D1C 8E300148 */ lw $s0, 0x148($s1) +/* C81EC0 80241D20 0C00EABB */ jal get_npc_unsafe +/* C81EC4 80241D24 86040008 */ lh $a0, 8($s0) +/* C81EC8 80241D28 0040182D */ daddu $v1, $v0, $zero +/* C81ECC 80241D2C 9462008E */ lhu $v0, 0x8e($v1) +/* C81ED0 80241D30 2442FFFF */ addiu $v0, $v0, -1 +/* C81ED4 80241D34 A462008E */ sh $v0, 0x8e($v1) +/* C81ED8 80241D38 00021400 */ sll $v0, $v0, 0x10 +/* C81EDC 80241D3C 1C400004 */ bgtz $v0, .L80241D50 +/* C81EE0 80241D40 00000000 */ nop +/* C81EE4 80241D44 AE000074 */ sw $zero, 0x74($s0) +/* C81EE8 80241D48 A460008E */ sh $zero, 0x8e($v1) +/* C81EEC 80241D4C AE200070 */ sw $zero, 0x70($s1) +.L80241D50: +/* C81EF0 80241D50 8FBF0018 */ lw $ra, 0x18($sp) +/* C81EF4 80241D54 8FB10014 */ lw $s1, 0x14($sp) +/* C81EF8 80241D58 8FB00010 */ lw $s0, 0x10($sp) +/* C81EFC 80241D5C 03E00008 */ jr $ra +/* C81F00 80241D60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D64.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D64.s new file mode 100644 index 0000000000..90008c2927 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241D64.s @@ -0,0 +1,130 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D64 +/* C81F04 80241D64 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C81F08 80241D68 AFB40040 */ sw $s4, 0x40($sp) +/* C81F0C 80241D6C 0080A02D */ daddu $s4, $a0, $zero +/* C81F10 80241D70 AFBF0048 */ sw $ra, 0x48($sp) +/* C81F14 80241D74 AFB50044 */ sw $s5, 0x44($sp) +/* C81F18 80241D78 AFB3003C */ sw $s3, 0x3c($sp) +/* C81F1C 80241D7C AFB20038 */ sw $s2, 0x38($sp) +/* C81F20 80241D80 AFB10034 */ sw $s1, 0x34($sp) +/* C81F24 80241D84 AFB00030 */ sw $s0, 0x30($sp) +/* C81F28 80241D88 8E920148 */ lw $s2, 0x148($s4) +/* C81F2C 80241D8C 86440008 */ lh $a0, 8($s2) +/* C81F30 80241D90 8E90000C */ lw $s0, 0xc($s4) +/* C81F34 80241D94 0C00EABB */ jal get_npc_unsafe +/* C81F38 80241D98 00A0882D */ daddu $s1, $a1, $zero +/* C81F3C 80241D9C 0280202D */ daddu $a0, $s4, $zero +/* C81F40 80241DA0 8E050000 */ lw $a1, ($s0) +/* C81F44 80241DA4 0C0B1EAF */ jal get_variable +/* C81F48 80241DA8 0040A82D */ daddu $s5, $v0, $zero +/* C81F4C 80241DAC AFA00010 */ sw $zero, 0x10($sp) +/* C81F50 80241DB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81F54 80241DB4 8C630030 */ lw $v1, 0x30($v1) +/* C81F58 80241DB8 AFA30014 */ sw $v1, 0x14($sp) +/* C81F5C 80241DBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81F60 80241DC0 8C63001C */ lw $v1, 0x1c($v1) +/* C81F64 80241DC4 AFA30018 */ sw $v1, 0x18($sp) +/* C81F68 80241DC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81F6C 80241DCC 8C630024 */ lw $v1, 0x24($v1) +/* C81F70 80241DD0 AFA3001C */ sw $v1, 0x1c($sp) +/* C81F74 80241DD4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81F78 80241DD8 8C630028 */ lw $v1, 0x28($v1) +/* C81F7C 80241DDC 27B30010 */ addiu $s3, $sp, 0x10 +/* C81F80 80241DE0 AFA30020 */ sw $v1, 0x20($sp) +/* C81F84 80241DE4 8E4300D0 */ lw $v1, 0xd0($s2) +/* C81F88 80241DE8 3C0142F0 */ lui $at, 0x42f0 +/* C81F8C 80241DEC 44810000 */ mtc1 $at, $f0 +/* C81F90 80241DF0 8C63002C */ lw $v1, 0x2c($v1) +/* C81F94 80241DF4 0040802D */ daddu $s0, $v0, $zero +/* C81F98 80241DF8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C81F9C 80241DFC A7A0002C */ sh $zero, 0x2c($sp) +/* C81FA0 80241E00 12200007 */ beqz $s1, .L80241E20 +/* C81FA4 80241E04 AFA30024 */ sw $v1, 0x24($sp) +/* C81FA8 80241E08 02A0202D */ daddu $a0, $s5, $zero +/* C81FAC 80241E0C 0240282D */ daddu $a1, $s2, $zero +/* C81FB0 80241E10 0280302D */ daddu $a2, $s4, $zero +/* C81FB4 80241E14 0C090592 */ jal func_80241648 +/* C81FB8 80241E18 0200382D */ daddu $a3, $s0, $zero +/* C81FBC 80241E1C AE800070 */ sw $zero, 0x70($s4) +.L80241E20: +/* C81FC0 80241E20 2402FFFE */ addiu $v0, $zero, -2 +/* C81FC4 80241E24 A2A200AB */ sb $v0, 0xab($s5) +/* C81FC8 80241E28 8E4300B0 */ lw $v1, 0xb0($s2) +/* C81FCC 80241E2C 30620004 */ andi $v0, $v1, 4 +/* C81FD0 80241E30 10400007 */ beqz $v0, .L80241E50 +/* C81FD4 80241E34 00000000 */ nop +/* C81FD8 80241E38 824200B4 */ lb $v0, 0xb4($s2) +/* C81FDC 80241E3C 1440003A */ bnez $v0, .L80241F28 +/* C81FE0 80241E40 0000102D */ daddu $v0, $zero, $zero +/* C81FE4 80241E44 2402FFFB */ addiu $v0, $zero, -5 +/* C81FE8 80241E48 00621024 */ and $v0, $v1, $v0 +/* C81FEC 80241E4C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241E50: +/* C81FF0 80241E50 8E830070 */ lw $v1, 0x70($s4) +/* C81FF4 80241E54 2C620015 */ sltiu $v0, $v1, 0x15 +/* C81FF8 80241E58 10400032 */ beqz $v0, .L80241F24 +/* C81FFC 80241E5C 00031080 */ sll $v0, $v1, 2 +/* C82000 80241E60 3C018024 */ lui $at, 0x8024 +/* C82004 80241E64 00220821 */ addu $at, $at, $v0 +/* C82008 80241E68 8C2258B0 */ lw $v0, 0x58b0($at) +/* C8200C 80241E6C 00400008 */ jr $v0 +/* C82010 80241E70 00000000 */ nop +/* C82014 80241E74 0280202D */ daddu $a0, $s4, $zero +/* C82018 80241E78 0200282D */ daddu $a1, $s0, $zero +/* C8201C 80241E7C 0C090118 */ jal func_80240460 +/* C82020 80241E80 0260302D */ daddu $a2, $s3, $zero +/* C82024 80241E84 0280202D */ daddu $a0, $s4, $zero +/* C82028 80241E88 0200282D */ daddu $a1, $s0, $zero +/* C8202C 80241E8C 0C090184 */ jal func_80240610 +/* C82030 80241E90 0260302D */ daddu $a2, $s3, $zero +/* C82034 80241E94 080907CA */ j .L80241F28 +/* C82038 80241E98 0000102D */ daddu $v0, $zero, $zero +/* C8203C 80241E9C 0280202D */ daddu $a0, $s4, $zero +/* C82040 80241EA0 0200282D */ daddu $a1, $s0, $zero +/* C82044 80241EA4 0C09030E */ jal func_80240C38 +/* C82048 80241EA8 0260302D */ daddu $a2, $s3, $zero +/* C8204C 80241EAC 0280202D */ daddu $a0, $s4, $zero +/* C82050 80241EB0 0200282D */ daddu $a1, $s0, $zero +/* C82054 80241EB4 0C09033E */ jal func_80240CF8 +/* C82058 80241EB8 0260302D */ daddu $a2, $s3, $zero +/* C8205C 80241EBC 080907CA */ j .L80241F28 +/* C82060 80241EC0 0000102D */ daddu $v0, $zero, $zero +/* C82064 80241EC4 0280202D */ daddu $a0, $s4, $zero +/* C82068 80241EC8 0200282D */ daddu $a1, $s0, $zero +/* C8206C 80241ECC 0C09040F */ jal func_8024103C +/* C82070 80241ED0 0260302D */ daddu $a2, $s3, $zero +/* C82074 80241ED4 0280202D */ daddu $a0, $s4, $zero +/* C82078 80241ED8 0200282D */ daddu $a1, $s0, $zero +/* C8207C 80241EDC 0C09042D */ jal func_802410B4 +/* C82080 80241EE0 0260302D */ daddu $a2, $s3, $zero +/* C82084 80241EE4 080907CA */ j .L80241F28 +/* C82088 80241EE8 0000102D */ daddu $v0, $zero, $zero +/* C8208C 80241EEC 0280202D */ daddu $a0, $s4, $zero +/* C82090 80241EF0 0200282D */ daddu $a1, $s0, $zero +/* C82094 80241EF4 0C090656 */ jal func_80241958 +/* C82098 80241EF8 0260302D */ daddu $a2, $s3, $zero +/* C8209C 80241EFC 0280202D */ daddu $a0, $s4, $zero +/* C820A0 80241F00 0200282D */ daddu $a1, $s0, $zero +/* C820A4 80241F04 0C0906A2 */ jal func_80241A88 +/* C820A8 80241F08 0260302D */ daddu $a2, $s3, $zero +/* C820AC 80241F0C 080907CA */ j .L80241F28 +/* C820B0 80241F10 0000102D */ daddu $v0, $zero, $zero +/* C820B4 80241F14 0280202D */ daddu $a0, $s4, $zero +/* C820B8 80241F18 0200282D */ daddu $a1, $s0, $zero +/* C820BC 80241F1C 0C090742 */ jal func_80241D08 +/* C820C0 80241F20 0260302D */ daddu $a2, $s3, $zero +.L80241F24: +/* C820C4 80241F24 0000102D */ daddu $v0, $zero, $zero +.L80241F28: +/* C820C8 80241F28 8FBF0048 */ lw $ra, 0x48($sp) +/* C820CC 80241F2C 8FB50044 */ lw $s5, 0x44($sp) +/* C820D0 80241F30 8FB40040 */ lw $s4, 0x40($sp) +/* C820D4 80241F34 8FB3003C */ lw $s3, 0x3c($sp) +/* C820D8 80241F38 8FB20038 */ lw $s2, 0x38($sp) +/* C820DC 80241F3C 8FB10034 */ lw $s1, 0x34($sp) +/* C820E0 80241F40 8FB00030 */ lw $s0, 0x30($sp) +/* C820E4 80241F44 03E00008 */ jr $ra +/* C820E8 80241F48 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80241F4C_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241F4C_C801A0.s new file mode 100644 index 0000000000..155f31cbe9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80241F4C_C801A0.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F4C_C820EC +/* C820EC 80241F4C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* C820F0 80241F50 AFB40028 */ sw $s4, 0x28($sp) +/* C820F4 80241F54 0080A02D */ daddu $s4, $a0, $zero +/* C820F8 80241F58 AFBF0038 */ sw $ra, 0x38($sp) +/* C820FC 80241F5C AFB70034 */ sw $s7, 0x34($sp) +/* C82100 80241F60 AFB60030 */ sw $s6, 0x30($sp) +/* C82104 80241F64 AFB5002C */ sw $s5, 0x2c($sp) +/* C82108 80241F68 AFB30024 */ sw $s3, 0x24($sp) +/* C8210C 80241F6C AFB20020 */ sw $s2, 0x20($sp) +/* C82110 80241F70 AFB1001C */ sw $s1, 0x1c($sp) +/* C82114 80241F74 AFB00018 */ sw $s0, 0x18($sp) +/* C82118 80241F78 F7B80050 */ sdc1 $f24, 0x50($sp) +/* C8211C 80241F7C F7B60048 */ sdc1 $f22, 0x48($sp) +/* C82120 80241F80 F7B40040 */ sdc1 $f20, 0x40($sp) +/* C82124 80241F84 8E82000C */ lw $v0, 0xc($s4) +/* C82128 80241F88 00A0802D */ daddu $s0, $a1, $zero +/* C8212C 80241F8C 8C450000 */ lw $a1, ($v0) +/* C82130 80241F90 0C0B1EAF */ jal get_variable +/* C82134 80241F94 0000A82D */ daddu $s5, $zero, $zero +/* C82138 80241F98 8E830148 */ lw $v1, 0x148($s4) +/* C8213C 80241F9C 84640008 */ lh $a0, 8($v1) +/* C82140 80241FA0 0C00EABB */ jal get_npc_unsafe +/* C82144 80241FA4 0040902D */ daddu $s2, $v0, $zero +/* C82148 80241FA8 0040882D */ daddu $s1, $v0, $zero +/* C8214C 80241FAC 0C00EABB */ jal get_npc_unsafe +/* C82150 80241FB0 2404FFFC */ addiu $a0, $zero, -4 +/* C82154 80241FB4 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* C82158 80241FB8 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* C8215C 80241FBC 3C168011 */ lui $s6, %hi(D_8010EBB0) +/* C82160 80241FC0 26D6EBB0 */ addiu $s6, $s6, %lo(D_8010EBB0) +/* C82164 80241FC4 1200001C */ beqz $s0, .L80242038 +/* C82168 80241FC8 0040B82D */ daddu $s7, $v0, $zero +/* C8216C 80241FCC 0C00AB39 */ jal heap_malloc +/* C82170 80241FD0 24040030 */ addiu $a0, $zero, 0x30 +/* C82174 80241FD4 0040802D */ daddu $s0, $v0, $zero +/* C82178 80241FD8 AE900074 */ sw $s0, 0x74($s4) +/* C8217C 80241FDC AE000000 */ sw $zero, ($s0) +/* C82180 80241FE0 C6400000 */ lwc1 $f0, ($s2) +/* C82184 80241FE4 46800020 */ cvt.s.w $f0, $f0 +/* C82188 80241FE8 E6000004 */ swc1 $f0, 4($s0) +/* C8218C 80241FEC C6400004 */ lwc1 $f0, 4($s2) +/* C82190 80241FF0 46800020 */ cvt.s.w $f0, $f0 +/* C82194 80241FF4 E6000008 */ swc1 $f0, 8($s0) +/* C82198 80241FF8 C6400008 */ lwc1 $f0, 8($s2) +/* C8219C 80241FFC 46800020 */ cvt.s.w $f0, $f0 +/* C821A0 80242000 E600000C */ swc1 $f0, 0xc($s0) +/* C821A4 80242004 C640000C */ lwc1 $f0, 0xc($s2) +/* C821A8 80242008 46800020 */ cvt.s.w $f0, $f0 +/* C821AC 8024200C E6000010 */ swc1 $f0, 0x10($s0) +/* C821B0 80242010 8E420010 */ lw $v0, 0x10($s2) +/* C821B4 80242014 AE020014 */ sw $v0, 0x14($s0) +/* C821B8 80242018 8E420014 */ lw $v0, 0x14($s2) +/* C821BC 8024201C AE020018 */ sw $v0, 0x18($s0) +/* C821C0 80242020 8E420018 */ lw $v0, 0x18($s2) +/* C821C4 80242024 AE000020 */ sw $zero, 0x20($s0) +/* C821C8 80242028 AE000024 */ sw $zero, 0x24($s0) +/* C821CC 8024202C AE000028 */ sw $zero, 0x28($s0) +/* C821D0 80242030 AE12002C */ sw $s2, 0x2c($s0) +/* C821D4 80242034 AE02001C */ sw $v0, 0x1c($s0) +.L80242038: +/* C821D8 80242038 0C009C64 */ jal func_80027190 +/* C821DC 8024203C 00000000 */ nop +/* C821E0 80242040 14400131 */ bnez $v0, .L80242508 +/* C821E4 80242044 0000102D */ daddu $v0, $zero, $zero +/* C821E8 80242048 8E900074 */ lw $s0, 0x74($s4) +/* C821EC 8024204C 8E020018 */ lw $v0, 0x18($s0) +/* C821F0 80242050 02A2102A */ slt $v0, $s5, $v0 +/* C821F4 80242054 10400082 */ beqz $v0, .L80242260 +/* C821F8 80242058 0000902D */ daddu $s2, $zero, $zero +/* C821FC 8024205C 3C013F00 */ lui $at, 0x3f00 +/* C82200 80242060 4481C000 */ mtc1 $at, $f24 +.L80242064: +/* C82204 80242064 8E040014 */ lw $a0, 0x14($s0) +/* C82208 80242068 0C00EABB */ jal get_npc_unsafe +/* C8220C 8024206C 00922021 */ addu $a0, $a0, $s2 +/* C82210 80242070 8E030000 */ lw $v1, ($s0) +/* C82214 80242074 30630001 */ andi $v1, $v1, 1 +/* C82218 80242078 14600020 */ bnez $v1, .L802420FC +/* C8221C 8024207C 0040882D */ daddu $s1, $v0, $zero +/* C82220 80242080 862200A6 */ lh $v0, 0xa6($s1) +/* C82224 80242084 02420018 */ mult $s2, $v0 +/* C82228 80242088 00004012 */ mflo $t0 +/* C8222C 8024208C C6200054 */ lwc1 $f0, 0x54($s1) +/* C82230 80242090 4488A000 */ mtc1 $t0, $f20 +/* C82234 80242094 00000000 */ nop +/* C82238 80242098 4680A520 */ cvt.s.w $f20, $f20 +/* C8223C 8024209C 4600A502 */ mul.s $f20, $f20, $f0 +/* C82240 802420A0 00000000 */ nop +/* C82244 802420A4 0C00A8BB */ jal sin_deg +/* C82248 802420A8 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C8224C 802420AC C60C0028 */ lwc1 $f12, 0x28($s0) +/* C82250 802420B0 4600A582 */ mul.s $f22, $f20, $f0 +/* C82254 802420B4 0C00A8D4 */ jal cos_deg +/* C82258 802420B8 00000000 */ nop +/* C8225C 802420BC C6020004 */ lwc1 $f2, 4($s0) +/* C82260 802420C0 46161080 */ add.s $f2, $f2, $f22 +/* C82264 802420C4 4600A507 */ neg.s $f20, $f20 +/* C82268 802420C8 4600A502 */ mul.s $f20, $f20, $f0 +/* C8226C 802420CC 00000000 */ nop +/* C82270 802420D0 E6220038 */ swc1 $f2, 0x38($s1) +/* C82274 802420D4 C6000008 */ lwc1 $f0, 8($s0) +/* C82278 802420D8 E620003C */ swc1 $f0, 0x3c($s1) +/* C8227C 802420DC C60E000C */ lwc1 $f14, 0xc($s0) +/* C82280 802420E0 46147380 */ add.s $f14, $f14, $f20 +/* C82284 802420E4 E62E0040 */ swc1 $f14, 0x40($s1) +/* C82288 802420E8 8E660028 */ lw $a2, 0x28($s3) +/* C8228C 802420EC 8E670030 */ lw $a3, 0x30($s3) +/* C82290 802420F0 0C00A720 */ jal atan2 +/* C82294 802420F4 46001306 */ mov.s $f12, $f2 +/* C82298 802420F8 E620000C */ swc1 $f0, 0xc($s1) +.L802420FC: +/* C8229C 802420FC 8E020000 */ lw $v0, ($s0) +/* C822A0 80242100 30420002 */ andi $v0, $v0, 2 +/* C822A4 80242104 14400051 */ bnez $v0, .L8024224C +/* C822A8 80242108 00000000 */ nop +/* C822AC 8024210C 8E620000 */ lw $v0, ($s3) +/* C822B0 80242110 30428000 */ andi $v0, $v0, 0x8000 +/* C822B4 80242114 1440004D */ bnez $v0, .L8024224C +/* C822B8 80242118 24020001 */ addiu $v0, $zero, 1 +/* C822BC 8024211C C664002C */ lwc1 $f4, 0x2c($s3) +/* C822C0 80242120 C622003C */ lwc1 $f2, 0x3c($s1) +/* C822C4 80242124 82C30000 */ lb $v1, ($s6) +/* C822C8 80242128 1462000F */ bne $v1, $v0, .L80242168 +/* C822CC 8024212C 46022181 */ sub.s $f6, $f4, $f2 +/* C822D0 80242130 82C30003 */ lb $v1, 3($s6) +/* C822D4 80242134 24020008 */ addiu $v0, $zero, 8 +/* C822D8 80242138 14620004 */ bne $v1, $v0, .L8024214C +/* C822DC 8024213C 24020004 */ addiu $v0, $zero, 4 +/* C822E0 80242140 C6E0003C */ lwc1 $f0, 0x3c($s7) +/* C822E4 80242144 0809085A */ j .L80242168 +/* C822E8 80242148 46020181 */ sub.s $f6, $f0, $f2 +.L8024214C: +/* C822EC 8024214C 14620006 */ bne $v1, $v0, .L80242168 +/* C822F0 80242150 00000000 */ nop +/* C822F4 80242154 3C014120 */ lui $at, 0x4120 +/* C822F8 80242158 44810000 */ mtc1 $at, $f0 +/* C822FC 8024215C 00000000 */ nop +/* C82300 80242160 46002001 */ sub.s $f0, $f4, $f0 +/* C82304 80242164 46020181 */ sub.s $f6, $f0, $f2 +.L80242168: +/* C82308 80242168 862200A8 */ lh $v0, 0xa8($s1) +/* C8230C 8024216C 3C013F4C */ lui $at, 0x3f4c +/* C82310 80242170 3421CCCD */ ori $at, $at, 0xcccd +/* C82314 80242174 44810000 */ mtc1 $at, $f0 +/* C82318 80242178 44822000 */ mtc1 $v0, $f4 +/* C8231C 8024217C 00000000 */ nop +/* C82320 80242180 46802120 */ cvt.s.w $f4, $f4 +/* C82324 80242184 46002102 */ mul.s $f4, $f4, $f0 +/* C82328 80242188 00000000 */ nop +/* C8232C 8024218C C6620028 */ lwc1 $f2, 0x28($s3) +/* C82330 80242190 C6200038 */ lwc1 $f0, 0x38($s1) +/* C82334 80242194 46001581 */ sub.s $f22, $f2, $f0 +/* C82338 80242198 C6620030 */ lwc1 $f2, 0x30($s3) +/* C8233C 8024219C C6200040 */ lwc1 $f0, 0x40($s1) +/* C82340 802421A0 46001501 */ sub.s $f20, $f2, $f0 +/* C82344 802421A4 46003005 */ abs.s $f0, $f6 +/* C82348 802421A8 4604003C */ c.lt.s $f0, $f4 +/* C8234C 802421AC 00000000 */ nop +/* C82350 802421B0 45000026 */ bc1f .L8024224C +/* C82354 802421B4 00000000 */ nop +/* C82358 802421B8 4616B082 */ mul.s $f2, $f22, $f22 +/* C8235C 802421BC 00000000 */ nop +/* C82360 802421C0 4614A002 */ mul.s $f0, $f20, $f20 +/* C82364 802421C4 00000000 */ nop +/* C82368 802421C8 46001300 */ add.s $f12, $f2, $f0 +/* C8236C 802421CC 46006104 */ sqrt.s $f4, $f12 +/* C82370 802421D0 46042032 */ c.eq.s $f4, $f4 +/* C82374 802421D4 00000000 */ nop +/* C82378 802421D8 45010004 */ bc1t .L802421EC +/* C8237C 802421DC 00000000 */ nop +/* C82380 802421E0 0C0187BC */ jal sqrtf +/* C82384 802421E4 00000000 */ nop +/* C82388 802421E8 46000106 */ mov.s $f4, $f0 +.L802421EC: +/* C8238C 802421EC 862200A6 */ lh $v0, 0xa6($s1) +/* C82390 802421F0 44821000 */ mtc1 $v0, $f2 +/* C82394 802421F4 00000000 */ nop +/* C82398 802421F8 468010A0 */ cvt.s.w $f2, $f2 +/* C8239C 802421FC 46181082 */ mul.s $f2, $f2, $f24 +/* C823A0 80242200 00000000 */ nop +/* C823A4 80242204 C6200054 */ lwc1 $f0, 0x54($s1) +/* C823A8 80242208 46001082 */ mul.s $f2, $f2, $f0 +/* C823AC 8024220C 00000000 */ nop +/* C823B0 80242210 866200B2 */ lh $v0, 0xb2($s3) +/* C823B4 80242214 44820000 */ mtc1 $v0, $f0 +/* C823B8 80242218 00000000 */ nop +/* C823BC 8024221C 46800020 */ cvt.s.w $f0, $f0 +/* C823C0 80242220 46180002 */ mul.s $f0, $f0, $f24 +/* C823C4 80242224 00000000 */ nop +/* C823C8 80242228 46181082 */ mul.s $f2, $f2, $f24 +/* C823CC 8024222C 00000000 */ nop +/* C823D0 80242230 46180002 */ mul.s $f0, $f0, $f24 +/* C823D4 80242234 00000000 */ nop +/* C823D8 80242238 46001080 */ add.s $f2, $f2, $f0 +/* C823DC 8024223C 4602203E */ c.le.s $f4, $f2 +/* C823E0 80242240 00000000 */ nop +/* C823E4 80242244 45030001 */ bc1tl .L8024224C +/* C823E8 80242248 24150001 */ addiu $s5, $zero, 1 +.L8024224C: +/* C823EC 8024224C 8E020018 */ lw $v0, 0x18($s0) +/* C823F0 80242250 26520001 */ addiu $s2, $s2, 1 +/* C823F4 80242254 0242102A */ slt $v0, $s2, $v0 +/* C823F8 80242258 1440FF82 */ bnez $v0, .L80242064 +/* C823FC 8024225C 00000000 */ nop +.L80242260: +/* C82400 80242260 8E620000 */ lw $v0, ($s3) +/* C82404 80242264 30428000 */ andi $v0, $v0, 0x8000 +/* C82408 80242268 54400001 */ bnel $v0, $zero, .L80242270 +/* C8240C 8024226C 2415FFFF */ addiu $s5, $zero, -1 +.L80242270: +/* C82410 80242270 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C82414 80242274 C6000010 */ lwc1 $f0, 0x10($s0) +/* C82418 80242278 46006300 */ add.s $f12, $f12, $f0 +/* C8241C 8024227C 0C00A6C9 */ jal clamp_angle +/* C82420 80242280 E60C0028 */ swc1 $f12, 0x28($s0) +/* C82424 80242284 C6020028 */ lwc1 $f2, 0x28($s0) +/* C82428 80242288 46000106 */ mov.s $f4, $f0 +/* C8242C 8024228C 46022032 */ c.eq.s $f4, $f2 +/* C82430 80242290 00000000 */ nop +/* C82434 80242294 4501000D */ bc1t .L802422CC +/* C82438 80242298 00000000 */ nop +/* C8243C 8024229C 8E020020 */ lw $v0, 0x20($s0) +/* C82440 802422A0 C600000C */ lwc1 $f0, 0xc($s0) +/* C82444 802422A4 E6040028 */ swc1 $f4, 0x28($s0) +/* C82448 802422A8 00021080 */ sll $v0, $v0, 2 +/* C8244C 802422AC E7A00010 */ swc1 $f0, 0x10($sp) +/* C82450 802422B0 3C048024 */ lui $a0, 0x8024 +/* C82454 802422B4 00822021 */ addu $a0, $a0, $v0 +/* C82458 802422B8 8C8437B4 */ lw $a0, 0x37b4($a0) +/* C8245C 802422BC 8E060004 */ lw $a2, 4($s0) +/* C82460 802422C0 8E070008 */ lw $a3, 8($s0) +/* C82464 802422C4 0C052757 */ jal play_sound_at_position +/* C82468 802422C8 0000282D */ daddu $a1, $zero, $zero +.L802422CC: +/* C8246C 802422CC C60C0004 */ lwc1 $f12, 4($s0) +/* C82470 802422D0 C60E000C */ lwc1 $f14, 0xc($s0) +/* C82474 802422D4 8E660028 */ lw $a2, 0x28($s3) +/* C82478 802422D8 0C00A7B5 */ jal dist2D +/* C8247C 802422DC 8E670030 */ lw $a3, 0x30($s3) +/* C82480 802422E0 C60C0004 */ lwc1 $f12, 4($s0) +/* C82484 802422E4 C60E000C */ lwc1 $f14, 0xc($s0) +/* C82488 802422E8 8E260038 */ lw $a2, 0x38($s1) +/* C8248C 802422EC 8E270040 */ lw $a3, 0x40($s1) +/* C82490 802422F0 0C00A7B5 */ jal dist2D +/* C82494 802422F4 46000586 */ mov.s $f22, $f0 +/* C82498 802422F8 862200A6 */ lh $v0, 0xa6($s1) +/* C8249C 802422FC 3C013F00 */ lui $at, 0x3f00 +/* C824A0 80242300 44813000 */ mtc1 $at, $f6 +/* C824A4 80242304 44821000 */ mtc1 $v0, $f2 +/* C824A8 80242308 00000000 */ nop +/* C824AC 8024230C 468010A0 */ cvt.s.w $f2, $f2 +/* C824B0 80242310 46061082 */ mul.s $f2, $f2, $f6 +/* C824B4 80242314 00000000 */ nop +/* C824B8 80242318 C6240054 */ lwc1 $f4, 0x54($s1) +/* C824BC 8024231C 46041082 */ mul.s $f2, $f2, $f4 +/* C824C0 80242320 00000000 */ nop +/* C824C4 80242324 866200B2 */ lh $v0, 0xb2($s3) +/* C824C8 80242328 44822000 */ mtc1 $v0, $f4 +/* C824CC 8024232C 00000000 */ nop +/* C824D0 80242330 46802120 */ cvt.s.w $f4, $f4 +/* C824D4 80242334 46062102 */ mul.s $f4, $f4, $f6 +/* C824D8 80242338 00000000 */ nop +/* C824DC 8024233C 46061082 */ mul.s $f2, $f2, $f6 +/* C824E0 80242340 00000000 */ nop +/* C824E4 80242344 46062102 */ mul.s $f4, $f4, $f6 +/* C824E8 80242348 00000000 */ nop +/* C824EC 8024234C C60C0004 */ lwc1 $f12, 4($s0) +/* C824F0 80242350 C60E000C */ lwc1 $f14, 0xc($s0) +/* C824F4 80242354 46020000 */ add.s $f0, $f0, $f2 +/* C824F8 80242358 8E660028 */ lw $a2, 0x28($s3) +/* C824FC 8024235C 8E670030 */ lw $a3, 0x30($s3) +/* C82500 80242360 0C00A720 */ jal atan2 +/* C82504 80242364 46040600 */ add.s $f24, $f0, $f4 +/* C82508 80242368 C60C0004 */ lwc1 $f12, 4($s0) +/* C8250C 8024236C C60E000C */ lwc1 $f14, 0xc($s0) +/* C82510 80242370 8E260038 */ lw $a2, 0x38($s1) +/* C82514 80242374 8E270040 */ lw $a3, 0x40($s1) +/* C82518 80242378 0C00A720 */ jal atan2 +/* C8251C 8024237C 46000506 */ mov.s $f20, $f0 +/* C82520 80242380 4600A306 */ mov.s $f12, $f20 +/* C82524 80242384 0C00A70A */ jal get_clamped_angle_diff +/* C82528 80242388 46000386 */ mov.s $f14, $f0 +/* C8252C 8024238C 1AA0002A */ blez $s5, .L80242438 +/* C82530 80242390 46000506 */ mov.s $f20, $f0 +/* C82534 80242394 826300B4 */ lb $v1, 0xb4($s3) +/* C82538 80242398 24020015 */ addiu $v0, $zero, 0x15 +/* C8253C 8024239C 10620026 */ beq $v1, $v0, .L80242438 +/* C82540 802423A0 0040202D */ daddu $a0, $v0, $zero +/* C82544 802423A4 24020003 */ addiu $v0, $zero, 3 +/* C82548 802423A8 0C039769 */ jal set_action_state +/* C8254C 802423AC A26200BF */ sb $v0, 0xbf($s3) +/* C82550 802423B0 240400E8 */ addiu $a0, $zero, 0xe8 +/* C82554 802423B4 8E660028 */ lw $a2, 0x28($s3) +/* C82558 802423B8 8E67002C */ lw $a3, 0x2c($s3) +/* C8255C 802423BC C6600030 */ lwc1 $f0, 0x30($s3) +/* C82560 802423C0 0000282D */ daddu $a1, $zero, $zero +/* C82564 802423C4 0C052757 */ jal play_sound_at_position +/* C82568 802423C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8256C 802423CC 2402002D */ addiu $v0, $zero, 0x2d +/* C82570 802423D0 3C01800B */ lui $at, 0x800b +/* C82574 802423D4 A0220F1A */ sb $v0, 0xf1a($at) +/* C82578 802423D8 C6600028 */ lwc1 $f0, 0x28($s3) +/* C8257C 802423DC C6620030 */ lwc1 $f2, 0x30($s3) +/* C82580 802423E0 2402002D */ addiu $v0, $zero, 0x2d +/* C82584 802423E4 A6620010 */ sh $v0, 0x10($s3) +/* C82588 802423E8 4600020D */ trunc.w.s $f8, $f0 +/* C8258C 802423EC 44024000 */ mfc1 $v0, $f8 +/* C82590 802423F0 C660002C */ lwc1 $f0, 0x2c($s3) +/* C82594 802423F4 A6620016 */ sh $v0, 0x16($s3) +/* C82598 802423F8 4600020D */ trunc.w.s $f8, $f0 +/* C8259C 802423FC 44024000 */ mfc1 $v0, $f8 +/* C825A0 80242400 00000000 */ nop +/* C825A4 80242404 A6620018 */ sh $v0, 0x18($s3) +/* C825A8 80242408 4600120D */ trunc.w.s $f8, $f2 +/* C825AC 8024240C 44024000 */ mfc1 $v0, $f8 +/* C825B0 80242410 00000000 */ nop +/* C825B4 80242414 A662001A */ sh $v0, 0x1a($s3) +/* C825B8 80242418 8E02001C */ lw $v0, 0x1c($s0) +/* C825BC 8024241C 10400033 */ beqz $v0, .L802424EC +/* C825C0 80242420 AE000020 */ sw $zero, 0x20($s0) +/* C825C4 80242424 0200202D */ daddu $a0, $s0, $zero +/* C825C8 80242428 0040F809 */ jalr $v0 +/* C825CC 8024242C 24050002 */ addiu $a1, $zero, 2 +/* C825D0 80242430 0809093B */ j .L802424EC +/* C825D4 80242434 00000000 */ nop +.L80242438: +/* C825D8 80242438 4618B03C */ c.lt.s $f22, $f24 +/* C825DC 8024243C 00000000 */ nop +/* C825E0 80242440 4500002A */ bc1f .L802424EC +/* C825E4 80242444 00000000 */ nop +/* C825E8 80242448 8E020000 */ lw $v0, ($s0) +/* C825EC 8024244C 30420002 */ andi $v0, $v0, 2 +/* C825F0 80242450 14400026 */ bnez $v0, .L802424EC +/* C825F4 80242454 00000000 */ nop +/* C825F8 80242458 16A00024 */ bnez $s5, .L802424EC +/* C825FC 8024245C 24020015 */ addiu $v0, $zero, 0x15 +/* C82600 80242460 826300B4 */ lb $v1, 0xb4($s3) +/* C82604 80242464 10620021 */ beq $v1, $v0, .L802424EC +/* C82608 80242468 00000000 */ nop +/* C8260C 8024246C C6000010 */ lwc1 $f0, 0x10($s0) +/* C82610 80242470 44801000 */ mtc1 $zero, $f2 +/* C82614 80242474 00000000 */ nop +/* C82618 80242478 4600103C */ c.lt.s $f2, $f0 +/* C8261C 8024247C 00000000 */ nop +/* C82620 80242480 45000009 */ bc1f .L802424A8 +/* C82624 80242484 00000000 */ nop +/* C82628 80242488 C6000024 */ lwc1 $f0, 0x24($s0) +/* C8262C 8024248C 4602003C */ c.lt.s $f0, $f2 +/* C82630 80242490 00000000 */ nop +/* C82634 80242494 45000015 */ bc1f .L802424EC +/* C82638 80242498 00000000 */ nop +/* C8263C 8024249C 4614103C */ c.lt.s $f2, $f20 +/* C82640 802424A0 08090931 */ j .L802424C4 +/* C82644 802424A4 00000000 */ nop +.L802424A8: +/* C82648 802424A8 C6000024 */ lwc1 $f0, 0x24($s0) +/* C8264C 802424AC 4600103C */ c.lt.s $f2, $f0 +/* C82650 802424B0 00000000 */ nop +/* C82654 802424B4 4500000D */ bc1f .L802424EC +/* C82658 802424B8 00000000 */ nop +/* C8265C 802424BC 4602A03C */ c.lt.s $f20, $f2 +/* C82660 802424C0 00000000 */ nop +.L802424C4: +/* C82664 802424C4 45000009 */ bc1f .L802424EC +/* C82668 802424C8 00000000 */ nop +/* C8266C 802424CC 8E020020 */ lw $v0, 0x20($s0) +/* C82670 802424D0 8E03001C */ lw $v1, 0x1c($s0) +/* C82674 802424D4 24420001 */ addiu $v0, $v0, 1 +/* C82678 802424D8 10600004 */ beqz $v1, .L802424EC +/* C8267C 802424DC AE020020 */ sw $v0, 0x20($s0) +/* C82680 802424E0 0200202D */ daddu $a0, $s0, $zero +/* C82684 802424E4 0060F809 */ jalr $v1 +/* C82688 802424E8 24050001 */ addiu $a1, $zero, 1 +.L802424EC: +/* C8268C 802424EC 8E02001C */ lw $v0, 0x1c($s0) +/* C82690 802424F0 10400004 */ beqz $v0, .L80242504 +/* C82694 802424F4 E6140024 */ swc1 $f20, 0x24($s0) +/* C82698 802424F8 0200202D */ daddu $a0, $s0, $zero +/* C8269C 802424FC 0040F809 */ jalr $v0 +/* C826A0 80242500 0000282D */ daddu $a1, $zero, $zero +.L80242504: +/* C826A4 80242504 0000102D */ daddu $v0, $zero, $zero +.L80242508: +/* C826A8 80242508 8FBF0038 */ lw $ra, 0x38($sp) +/* C826AC 8024250C 8FB70034 */ lw $s7, 0x34($sp) +/* C826B0 80242510 8FB60030 */ lw $s6, 0x30($sp) +/* C826B4 80242514 8FB5002C */ lw $s5, 0x2c($sp) +/* C826B8 80242518 8FB40028 */ lw $s4, 0x28($sp) +/* C826BC 8024251C 8FB30024 */ lw $s3, 0x24($sp) +/* C826C0 80242520 8FB20020 */ lw $s2, 0x20($sp) +/* C826C4 80242524 8FB1001C */ lw $s1, 0x1c($sp) +/* C826C8 80242528 8FB00018 */ lw $s0, 0x18($sp) +/* C826CC 8024252C D7B80050 */ ldc1 $f24, 0x50($sp) +/* C826D0 80242530 D7B60048 */ ldc1 $f22, 0x48($sp) +/* C826D4 80242534 D7B40040 */ ldc1 $f20, 0x40($sp) +/* C826D8 80242538 03E00008 */ jr $ra +/* C826DC 8024253C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_kzn/kzn_11/func_80242540_C801A0.s b/asm/nonmatchings/world/area_kzn/kzn_11/func_80242540_C801A0.s new file mode 100644 index 0000000000..b28744e28c --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_11/func_80242540_C801A0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242540_C826E0 +/* C826E0 80242540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C826E4 80242544 AFB00010 */ sw $s0, 0x10($sp) +/* C826E8 80242548 0080802D */ daddu $s0, $a0, $zero +/* C826EC 8024254C 24020001 */ addiu $v0, $zero, 1 +/* C826F0 80242550 10A20019 */ beq $a1, $v0, .L802425B8 +/* C826F4 80242554 AFBF0014 */ sw $ra, 0x14($sp) +/* C826F8 80242558 28A20002 */ slti $v0, $a1, 2 +/* C826FC 8024255C 50400005 */ beql $v0, $zero, .L80242574 +/* C82700 80242560 24020002 */ addiu $v0, $zero, 2 +/* C82704 80242564 10A00007 */ beqz $a1, .L80242584 +/* C82708 80242568 00000000 */ nop +/* C8270C 8024256C 08090993 */ j .L8024264C +/* C82710 80242570 00000000 */ nop +.L80242574: +/* C82714 80242574 10A20028 */ beq $a1, $v0, .L80242618 +/* C82718 80242578 00000000 */ nop +/* C8271C 8024257C 08090993 */ j .L8024264C +/* C82720 80242580 00000000 */ nop +.L80242584: +/* C82724 80242584 8E020000 */ lw $v0, ($s0) +/* C82728 80242588 30420002 */ andi $v0, $v0, 2 +/* C8272C 8024258C 1040002F */ beqz $v0, .L8024264C +/* C82730 80242590 00000000 */ nop +/* C82734 80242594 C6000010 */ lwc1 $f0, 0x10($s0) +/* C82738 80242598 3C013F73 */ lui $at, 0x3f73 +/* C8273C 8024259C 34213333 */ ori $at, $at, 0x3333 +/* C82740 802425A0 44811000 */ mtc1 $at, $f2 +/* C82744 802425A4 00000000 */ nop +/* C82748 802425A8 46020002 */ mul.s $f0, $f0, $f2 +/* C8274C 802425AC 00000000 */ nop +/* C82750 802425B0 08090993 */ j .L8024264C +/* C82754 802425B4 E6000010 */ swc1 $f0, 0x10($s0) +.L802425B8: +/* C82758 802425B8 C6000010 */ lwc1 $f0, 0x10($s0) +/* C8275C 802425BC 3C013F8F */ lui $at, 0x3f8f +/* C82760 802425C0 34215C29 */ ori $at, $at, 0x5c29 +/* C82764 802425C4 44811000 */ mtc1 $at, $f2 +/* C82768 802425C8 00000000 */ nop +/* C8276C 802425CC 46020002 */ mul.s $f0, $f0, $f2 +/* C82770 802425D0 00000000 */ nop +/* C82774 802425D4 8E030020 */ lw $v1, 0x20($s0) +/* C82778 802425D8 2402000A */ addiu $v0, $zero, 0xa +/* C8277C 802425DC 1462001B */ bne $v1, $v0, .L8024264C +/* C82780 802425E0 E6000010 */ swc1 $f0, 0x10($s0) +/* C82784 802425E4 3C048024 */ lui $a0, 0x8024 +/* C82788 802425E8 248437E0 */ addiu $a0, $a0, 0x37e0 +/* C8278C 802425EC 24050001 */ addiu $a1, $zero, 1 +/* C82790 802425F0 0C0B0CF8 */ jal start_script +/* C82794 802425F4 0000302D */ daddu $a2, $zero, $zero +/* C82798 802425F8 8E030014 */ lw $v1, 0x14($s0) +/* C8279C 802425FC AC430084 */ sw $v1, 0x84($v0) +/* C827A0 80242600 8E030018 */ lw $v1, 0x18($s0) +/* C827A4 80242604 AC430088 */ sw $v1, 0x88($v0) +/* C827A8 80242608 8E020000 */ lw $v0, ($s0) +/* C827AC 8024260C 34420002 */ ori $v0, $v0, 2 +/* C827B0 80242610 08090993 */ j .L8024264C +/* C827B4 80242614 AE020000 */ sw $v0, ($s0) +.L80242618: +/* C827B8 80242618 C60C0010 */ lwc1 $f12, 0x10($s0) +/* C827BC 8024261C 0C00A69F */ jal signF +/* C827C0 80242620 46006307 */ neg.s $f12, $f12 +/* C827C4 80242624 8E02002C */ lw $v0, 0x2c($s0) +/* C827C8 80242628 8C42000C */ lw $v0, 0xc($v0) +/* C827CC 8024262C 04420001 */ bltzl $v0, .L80242634 +/* C827D0 80242630 00021023 */ negu $v0, $v0 +.L80242634: +/* C827D4 80242634 44821000 */ mtc1 $v0, $f2 +/* C827D8 80242638 00000000 */ nop +/* C827DC 8024263C 468010A0 */ cvt.s.w $f2, $f2 +/* C827E0 80242640 46001082 */ mul.s $f2, $f2, $f0 +/* C827E4 80242644 00000000 */ nop +/* C827E8 80242648 E6020010 */ swc1 $f2, 0x10($s0) +.L8024264C: +/* C827EC 8024264C 8FBF0014 */ lw $ra, 0x14($sp) +/* C827F0 80242650 8FB00010 */ lw $s0, 0x10($sp) +/* C827F4 80242654 03E00008 */ jr $ra +/* C827F8 80242658 27BD0018 */ addiu $sp, $sp, 0x18 +/* C827FC 8024265C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240000_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240000_C85AB0.s new file mode 100644 index 0000000000..ba622ae758 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240000_C85AB0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C85AB0 +/* C85AB0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C85AB4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C85AB8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C85ABC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C85AC0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C85AC4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C85AC8 80240018 00621821 */ addu $v1, $v1, $v0 +/* C85ACC 8024001C 04610004 */ bgez $v1, .L80240030 +/* C85AD0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C85AD4 80240024 3C020002 */ lui $v0, 2 +/* C85AD8 80240028 08090010 */ j .L80240040 +/* C85ADC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C85AE0 80240030 3C040002 */ lui $a0, 2 +/* C85AE4 80240034 0083102A */ slt $v0, $a0, $v1 +/* C85AE8 80240038 10400002 */ beqz $v0, .L80240044 +/* C85AEC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C85AF0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C85AF4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C85AF8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C85AFC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C85B00 80240050 04610004 */ bgez $v1, .L80240064 +/* C85B04 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C85B08 80240058 3C020002 */ lui $v0, 2 +/* C85B0C 8024005C 0809001D */ j .L80240074 +/* C85B10 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C85B14 80240064 3C040002 */ lui $a0, 2 +/* C85B18 80240068 0083102A */ slt $v0, $a0, $v1 +/* C85B1C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C85B20 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C85B24 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C85B28 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C85B2C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C85B30 80240080 00621821 */ addu $v1, $v1, $v0 +/* C85B34 80240084 04610004 */ bgez $v1, .L80240098 +/* C85B38 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C85B3C 8024008C 3C020002 */ lui $v0, 2 +/* C85B40 80240090 0809002A */ j .L802400A8 +/* C85B44 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C85B48 80240098 3C040002 */ lui $a0, 2 +/* C85B4C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C85B50 802400A0 10400002 */ beqz $v0, .L802400AC +/* C85B54 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C85B58 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C85B5C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C85B60 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C85B64 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C85B68 802400B8 04610004 */ bgez $v1, .L802400CC +/* C85B6C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C85B70 802400C0 3C020002 */ lui $v0, 2 +/* C85B74 802400C4 08090037 */ j .L802400DC +/* C85B78 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C85B7C 802400CC 3C040002 */ lui $a0, 2 +/* C85B80 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C85B84 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C85B88 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C85B8C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C85B90 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C85B94 802400E4 0C046F07 */ jal set_main_pan_u +/* C85B98 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C85B9C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C85BA0 802400F0 0C046F0D */ jal set_main_pan_v +/* C85BA4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C85BA8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C85BAC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C85BB0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C85BB4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C85BB8 80240108 0C046F19 */ jal set_aux_pan_v +/* C85BBC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C85BC0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C85BC4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C85BC8 80240118 0000102D */ daddu $v0, $zero, $zero +/* C85BCC 8024011C 03E00008 */ jr $ra +/* C85BD0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240124_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240124_C85AB0.s new file mode 100644 index 0000000000..f0441dea86 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240124_C85AB0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C85BD4 +/* C85BD4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C85BD8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C85BDC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C85BE0 80240130 10A00005 */ beqz $a1, .L80240148 +/* C85BE4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C85BE8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C85BEC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C85BF0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C85BF4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C85BF8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C85BFC 8024014C 1440000E */ bnez $v0, .L80240188 +/* C85C00 80240150 00000000 */ nop +/* C85C04 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C85C08 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C85C0C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C85C10 80240160 04610004 */ bgez $v1, .L80240174 +/* C85C14 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C85C18 80240168 3C020002 */ lui $v0, 2 +/* C85C1C 8024016C 08090061 */ j .L80240184 +/* C85C20 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C85C24 80240174 3C040002 */ lui $a0, 2 +/* C85C28 80240178 0083102A */ slt $v0, $a0, $v1 +/* C85C2C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C85C30 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C85C34 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C85C38 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C85C3C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C85C40 80240190 00000000 */ nop +/* C85C44 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C85C48 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C85C4C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C85C50 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C85C54 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C85C58 802401A8 3C020002 */ lui $v0, 2 +/* C85C5C 802401AC 08090071 */ j .L802401C4 +/* C85C60 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C85C64 802401B4 3C040002 */ lui $a0, 2 +/* C85C68 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C85C6C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C85C70 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C85C74 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C85C78 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C85C7C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C85C80 802401D0 00000000 */ nop +/* C85C84 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C85C88 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C85C8C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C85C90 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C85C94 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C85C98 802401E8 3C020002 */ lui $v0, 2 +/* C85C9C 802401EC 08090081 */ j .L80240204 +/* C85CA0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C85CA4 802401F4 3C040002 */ lui $a0, 2 +/* C85CA8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C85CAC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C85CB0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C85CB4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C85CB8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C85CBC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C85CC0 80240210 00000000 */ nop +/* C85CC4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C85CC8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C85CCC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C85CD0 80240220 04610004 */ bgez $v1, .L80240234 +/* C85CD4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C85CD8 80240228 3C020002 */ lui $v0, 2 +/* C85CDC 8024022C 08090091 */ j .L80240244 +/* C85CE0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C85CE4 80240234 3C040002 */ lui $a0, 2 +/* C85CE8 80240238 0083102A */ slt $v0, $a0, $v1 +/* C85CEC 8024023C 10400002 */ beqz $v0, .L80240248 +/* C85CF0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C85CF4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C85CF8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C85CFC 8024024C 0C046F07 */ jal set_main_pan_u +/* C85D00 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C85D04 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C85D08 80240258 0C046F0D */ jal set_main_pan_v +/* C85D0C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C85D10 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C85D14 80240264 0C046F13 */ jal set_aux_pan_u +/* C85D18 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C85D1C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C85D20 80240270 0C046F19 */ jal set_aux_pan_v +/* C85D24 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C85D28 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C85D2C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C85D30 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C85D34 80240284 24420001 */ addiu $v0, $v0, 1 +/* C85D38 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C85D3C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C85D40 80240290 24630001 */ addiu $v1, $v1, 1 +/* C85D44 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C85D48 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C85D4C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C85D50 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C85D54 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C85D58 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C85D5C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C85D60 802402B0 14600002 */ bnez $v1, .L802402BC +/* C85D64 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C85D68 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C85D6C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C85D70 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C85D74 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C85D78 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C85D7C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C85D80 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C85D84 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C85D88 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C85D8C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C85D90 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C85D94 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C85D98 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C85D9C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C85DA0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C85DA4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C85DA8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C85DAC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C85DB0 80240300 0000102D */ daddu $v0, $zero, $zero +/* C85DB4 80240304 03E00008 */ jr $ra +/* C85DB8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C85DBC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240310_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240310_C85AB0.s new file mode 100644 index 0000000000..f60311e138 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240310_C85AB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C85DC0 +/* C85DC0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C85DC4 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* C85DC8 80240318 0080882D */ daddu $s1, $a0, $zero +/* C85DCC 8024031C AFBF0018 */ sw $ra, 0x18($sp) +/* C85DD0 80240320 AFB00010 */ sw $s0, 0x10($sp) +/* C85DD4 80240324 8E300148 */ lw $s0, 0x148($s1) +/* C85DD8 80240328 0C00EABB */ jal get_npc_unsafe +/* C85DDC 8024032C 86040008 */ lh $a0, 8($s0) +/* C85DE0 80240330 24030001 */ addiu $v1, $zero, 1 +/* C85DE4 80240334 0040202D */ daddu $a0, $v0, $zero +/* C85DE8 80240338 AE03006C */ sw $v1, 0x6c($s0) +/* C85DEC 8024033C 8482008C */ lh $v0, 0x8c($a0) +/* C85DF0 80240340 14400009 */ bnez $v0, .L80240368 +/* C85DF4 80240344 24020002 */ addiu $v0, $zero, 2 +/* C85DF8 80240348 96030072 */ lhu $v1, 0x72($s0) +/* C85DFC 8024034C AE02006C */ sw $v0, 0x6c($s0) +/* C85E00 80240350 A483008E */ sh $v1, 0x8e($a0) +/* C85E04 80240354 8E0200CC */ lw $v0, 0xcc($s0) +/* C85E08 80240358 8C420020 */ lw $v0, 0x20($v0) +/* C85E0C 8024035C AC820028 */ sw $v0, 0x28($a0) +/* C85E10 80240360 2402001F */ addiu $v0, $zero, 0x1f +/* C85E14 80240364 AE220070 */ sw $v0, 0x70($s1) +.L80240368: +/* C85E18 80240368 8FBF0018 */ lw $ra, 0x18($sp) +/* C85E1C 8024036C 8FB10014 */ lw $s1, 0x14($sp) +/* C85E20 80240370 8FB00010 */ lw $s0, 0x10($sp) +/* C85E24 80240374 03E00008 */ jr $ra +/* C85E28 80240378 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_8024037C_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024037C_C85AB0.s new file mode 100644 index 0000000000..24b9be23a5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024037C_C85AB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C_C85E2C +/* C85E2C 8024037C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C85E30 80240380 AFB10014 */ sw $s1, 0x14($sp) +/* C85E34 80240384 0080882D */ daddu $s1, $a0, $zero +/* C85E38 80240388 AFBF0018 */ sw $ra, 0x18($sp) +/* C85E3C 8024038C AFB00010 */ sw $s0, 0x10($sp) +/* C85E40 80240390 8E300148 */ lw $s0, 0x148($s1) +/* C85E44 80240394 0C00EABB */ jal get_npc_unsafe +/* C85E48 80240398 86040008 */ lh $a0, 8($s0) +/* C85E4C 8024039C 0040202D */ daddu $a0, $v0, $zero +/* C85E50 802403A0 9482008E */ lhu $v0, 0x8e($a0) +/* C85E54 802403A4 2442FFFF */ addiu $v0, $v0, -1 +/* C85E58 802403A8 A482008E */ sh $v0, 0x8e($a0) +/* C85E5C 802403AC 00021400 */ sll $v0, $v0, 0x10 +/* C85E60 802403B0 1C400009 */ bgtz $v0, .L802403D8 +/* C85E64 802403B4 24020003 */ addiu $v0, $zero, 3 +/* C85E68 802403B8 96030076 */ lhu $v1, 0x76($s0) +/* C85E6C 802403BC AE02006C */ sw $v0, 0x6c($s0) +/* C85E70 802403C0 A483008E */ sh $v1, 0x8e($a0) +/* C85E74 802403C4 8E0200CC */ lw $v0, 0xcc($s0) +/* C85E78 802403C8 8C420024 */ lw $v0, 0x24($v0) +/* C85E7C 802403CC AC820028 */ sw $v0, 0x28($a0) +/* C85E80 802403D0 24020020 */ addiu $v0, $zero, 0x20 +/* C85E84 802403D4 AE220070 */ sw $v0, 0x70($s1) +.L802403D8: +/* C85E88 802403D8 8FBF0018 */ lw $ra, 0x18($sp) +/* C85E8C 802403DC 8FB10014 */ lw $s1, 0x14($sp) +/* C85E90 802403E0 8FB00010 */ lw $s0, 0x10($sp) +/* C85E94 802403E4 03E00008 */ jr $ra +/* C85E98 802403E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802403EC.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802403EC.s new file mode 100644 index 0000000000..37d9bf9d26 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802403EC.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403EC +/* C85E9C 802403EC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C85EA0 802403F0 AFB10034 */ sw $s1, 0x34($sp) +/* C85EA4 802403F4 0080882D */ daddu $s1, $a0, $zero +/* C85EA8 802403F8 AFBF0038 */ sw $ra, 0x38($sp) +/* C85EAC 802403FC AFB00030 */ sw $s0, 0x30($sp) +/* C85EB0 80240400 8E300148 */ lw $s0, 0x148($s1) +/* C85EB4 80240404 0C00EABB */ jal get_npc_unsafe +/* C85EB8 80240408 86040008 */ lh $a0, 8($s0) +/* C85EBC 8024040C 0040282D */ daddu $a1, $v0, $zero +/* C85EC0 80240410 94A2008E */ lhu $v0, 0x8e($a1) +/* C85EC4 80240414 2442FFFF */ addiu $v0, $v0, -1 +/* C85EC8 80240418 A4A2008E */ sh $v0, 0x8e($a1) +/* C85ECC 8024041C 00021400 */ sll $v0, $v0, 0x10 +/* C85ED0 80240420 1C400023 */ bgtz $v0, .L802404B0 +/* C85ED4 80240424 24020004 */ addiu $v0, $zero, 4 +/* C85ED8 80240428 8E0300CC */ lw $v1, 0xcc($s0) +/* C85EDC 8024042C AE02006C */ sw $v0, 0x6c($s0) +/* C85EE0 80240430 8C620000 */ lw $v0, ($v1) +/* C85EE4 80240434 ACA20028 */ sw $v0, 0x28($a1) +/* C85EE8 80240438 9602007A */ lhu $v0, 0x7a($s0) +/* C85EEC 8024043C A4A2008E */ sh $v0, 0x8e($a1) +/* C85EF0 80240440 8E020078 */ lw $v0, 0x78($s0) +/* C85EF4 80240444 28420008 */ slti $v0, $v0, 8 +/* C85EF8 80240448 14400018 */ bnez $v0, .L802404AC +/* C85EFC 8024044C 24020021 */ addiu $v0, $zero, 0x21 +/* C85F00 80240450 24040003 */ addiu $a0, $zero, 3 +/* C85F04 80240454 27A30028 */ addiu $v1, $sp, 0x28 +/* C85F08 80240458 84A700A8 */ lh $a3, 0xa8($a1) +/* C85F0C 8024045C 3C013F80 */ lui $at, 0x3f80 +/* C85F10 80240460 44810000 */ mtc1 $at, $f0 +/* C85F14 80240464 3C014000 */ lui $at, 0x4000 +/* C85F18 80240468 44811000 */ mtc1 $at, $f2 +/* C85F1C 8024046C 3C01C1A0 */ lui $at, 0xc1a0 +/* C85F20 80240470 44812000 */ mtc1 $at, $f4 +/* C85F24 80240474 44873000 */ mtc1 $a3, $f6 +/* C85F28 80240478 00000000 */ nop +/* C85F2C 8024047C 468031A0 */ cvt.s.w $f6, $f6 +/* C85F30 80240480 E7A00010 */ swc1 $f0, 0x10($sp) +/* C85F34 80240484 E7A20014 */ swc1 $f2, 0x14($sp) +/* C85F38 80240488 E7A40018 */ swc1 $f4, 0x18($sp) +/* C85F3C 8024048C 8E020078 */ lw $v0, 0x78($s0) +/* C85F40 80240490 44073000 */ mfc1 $a3, $f6 +/* C85F44 80240494 0000302D */ daddu $a2, $zero, $zero +/* C85F48 80240498 AFA30020 */ sw $v1, 0x20($sp) +/* C85F4C 8024049C 2442FFFF */ addiu $v0, $v0, -1 +/* C85F50 802404A0 0C01BFA4 */ jal fx_emote +/* C85F54 802404A4 AFA2001C */ sw $v0, 0x1c($sp) +/* C85F58 802404A8 24020021 */ addiu $v0, $zero, 0x21 +.L802404AC: +/* C85F5C 802404AC AE220070 */ sw $v0, 0x70($s1) +.L802404B0: +/* C85F60 802404B0 8FBF0038 */ lw $ra, 0x38($sp) +/* C85F64 802404B4 8FB10034 */ lw $s1, 0x34($sp) +/* C85F68 802404B8 8FB00030 */ lw $s0, 0x30($sp) +/* C85F6C 802404BC 03E00008 */ jr $ra +/* C85F70 802404C0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802404C4_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802404C4_C85AB0.s new file mode 100644 index 0000000000..128a6e6715 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802404C4_C85AB0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C4_C85F74 +/* C85F74 802404C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C85F78 802404C8 AFB10014 */ sw $s1, 0x14($sp) +/* C85F7C 802404CC 0080882D */ daddu $s1, $a0, $zero +/* C85F80 802404D0 AFBF0018 */ sw $ra, 0x18($sp) +/* C85F84 802404D4 AFB00010 */ sw $s0, 0x10($sp) +/* C85F88 802404D8 8E300148 */ lw $s0, 0x148($s1) +/* C85F8C 802404DC 0C00EABB */ jal get_npc_unsafe +/* C85F90 802404E0 86040008 */ lh $a0, 8($s0) +/* C85F94 802404E4 9443008E */ lhu $v1, 0x8e($v0) +/* C85F98 802404E8 2463FFFF */ addiu $v1, $v1, -1 +/* C85F9C 802404EC A443008E */ sh $v1, 0x8e($v0) +/* C85FA0 802404F0 00031C00 */ sll $v1, $v1, 0x10 +/* C85FA4 802404F4 1C600003 */ bgtz $v1, .L80240504 +/* C85FA8 802404F8 2402000C */ addiu $v0, $zero, 0xc +/* C85FAC 802404FC AE00006C */ sw $zero, 0x6c($s0) +/* C85FB0 80240500 AE220070 */ sw $v0, 0x70($s1) +.L80240504: +/* C85FB4 80240504 8FBF0018 */ lw $ra, 0x18($sp) +/* C85FB8 80240508 8FB10014 */ lw $s1, 0x14($sp) +/* C85FBC 8024050C 8FB00010 */ lw $s0, 0x10($sp) +/* C85FC0 80240510 03E00008 */ jr $ra +/* C85FC4 80240514 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240518_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240518_C85AB0.s new file mode 100644 index 0000000000..df2bee84b8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240518_C85AB0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_C85FC8 +/* C85FC8 80240518 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C85FCC 8024051C AFBF0024 */ sw $ra, 0x24($sp) +/* C85FD0 80240520 AFB40020 */ sw $s4, 0x20($sp) +/* C85FD4 80240524 AFB3001C */ sw $s3, 0x1c($sp) +/* C85FD8 80240528 AFB20018 */ sw $s2, 0x18($sp) +/* C85FDC 8024052C AFB10014 */ sw $s1, 0x14($sp) +/* C85FE0 80240530 AFB00010 */ sw $s0, 0x10($sp) +/* C85FE4 80240534 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C85FE8 80240538 8C900148 */ lw $s0, 0x148($a0) +/* C85FEC 8024053C 86040008 */ lh $a0, 8($s0) +/* C85FF0 80240540 0C00EABB */ jal get_npc_unsafe +/* C85FF4 80240544 24110001 */ addiu $s1, $zero, 1 +/* C85FF8 80240548 86040008 */ lh $a0, 8($s0) +/* C85FFC 8024054C 0040802D */ daddu $s0, $v0, $zero +/* C86000 80240550 3C05800B */ lui $a1, %hi(gCameras) +/* C86004 80240554 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* C86008 80240558 3C03800A */ lui $v1, 0x800a +/* C8600C 8024055C 8463A634 */ lh $v1, -0x59cc($v1) +/* C86010 80240560 00912021 */ addu $a0, $a0, $s1 +/* C86014 80240564 00031080 */ sll $v0, $v1, 2 +/* C86018 80240568 00431021 */ addu $v0, $v0, $v1 +/* C8601C 8024056C 00021080 */ sll $v0, $v0, 2 +/* C86020 80240570 00431023 */ subu $v0, $v0, $v1 +/* C86024 80240574 000218C0 */ sll $v1, $v0, 3 +/* C86028 80240578 00431021 */ addu $v0, $v0, $v1 +/* C8602C 8024057C 000210C0 */ sll $v0, $v0, 3 +/* C86030 80240580 0C00FB3A */ jal get_enemy +/* C86034 80240584 00459021 */ addu $s2, $v0, $a1 +/* C86038 80240588 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* C8603C 8024058C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* C86040 80240590 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C86044 80240594 8E830000 */ lw $v1, ($s4) +/* C86048 80240598 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C8604C 8024059C 8C660028 */ lw $a2, 0x28($v1) +/* C86050 802405A0 8C670030 */ lw $a3, 0x30($v1) +/* C86054 802405A4 0C00A7B5 */ jal dist2D +/* C86058 802405A8 0040982D */ daddu $s3, $v0, $zero +/* C8605C 802405AC C6620074 */ lwc1 $f2, 0x74($s3) +/* C86060 802405B0 468010A0 */ cvt.s.w $f2, $f2 +/* C86064 802405B4 4600103C */ c.lt.s $f2, $f0 +/* C86068 802405B8 00000000 */ nop +/* C8606C 802405BC 45030001 */ bc1tl .L802405C4 +/* C86070 802405C0 0000882D */ daddu $s1, $zero, $zero +.L802405C4: +/* C86074 802405C4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* C86078 802405C8 C60E000C */ lwc1 $f14, 0xc($s0) +/* C8607C 802405CC 3C014387 */ lui $at, 0x4387 +/* C86080 802405D0 4481A000 */ mtc1 $at, $f20 +/* C86084 802405D4 0C00A70A */ jal get_clamped_angle_diff +/* C86088 802405D8 00000000 */ nop +/* C8608C 802405DC 0C00A6C9 */ jal clamp_angle +/* C86090 802405E0 46000306 */ mov.s $f12, $f0 +/* C86094 802405E4 3C018024 */ lui $at, 0x8024 +/* C86098 802405E8 D42263A0 */ ldc1 $f2, 0x63a0($at) +/* C8609C 802405EC 46000021 */ cvt.d.s $f0, $f0 +/* C860A0 802405F0 4622003C */ c.lt.d $f0, $f2 +/* C860A4 802405F4 00000000 */ nop +/* C860A8 802405F8 45000003 */ bc1f .L80240608 +/* C860AC 802405FC 00000000 */ nop +/* C860B0 80240600 3C0142B4 */ lui $at, 0x42b4 +/* C860B4 80240604 4481A000 */ mtc1 $at, $f20 +.L80240608: +/* C860B8 80240608 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C860BC 8024060C 8E820000 */ lw $v0, ($s4) +/* C860C0 80240610 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C860C4 80240614 8C460028 */ lw $a2, 0x28($v0) +/* C860C8 80240618 0C00A720 */ jal atan2 +/* C860CC 8024061C 8C470030 */ lw $a3, 0x30($v0) +/* C860D0 80240620 4600A306 */ mov.s $f12, $f20 +/* C860D4 80240624 0C00A70A */ jal get_clamped_angle_diff +/* C860D8 80240628 46000386 */ mov.s $f14, $f0 +/* C860DC 8024062C C6620078 */ lwc1 $f2, 0x78($s3) +/* C860E0 80240630 468010A0 */ cvt.s.w $f2, $f2 +/* C860E4 80240634 46000005 */ abs.s $f0, $f0 +/* C860E8 80240638 4600103C */ c.lt.s $f2, $f0 +/* C860EC 8024063C 00000000 */ nop +/* C860F0 80240640 45030001 */ bc1tl .L80240648 +/* C860F4 80240644 0000882D */ daddu $s1, $zero, $zero +.L80240648: +/* C860F8 80240648 8E820000 */ lw $v0, ($s4) +/* C860FC 8024064C C600003C */ lwc1 $f0, 0x3c($s0) +/* C86100 80240650 C442002C */ lwc1 $f2, 0x2c($v0) +/* C86104 80240654 860200A8 */ lh $v0, 0xa8($s0) +/* C86108 80240658 46020001 */ sub.s $f0, $f0, $f2 +/* C8610C 8024065C 44821000 */ mtc1 $v0, $f2 +/* C86110 80240660 00000000 */ nop +/* C86114 80240664 468010A1 */ cvt.d.w $f2, $f2 +/* C86118 80240668 46221080 */ add.d $f2, $f2, $f2 +/* C8611C 8024066C 46000005 */ abs.s $f0, $f0 +/* C86120 80240670 46000021 */ cvt.d.s $f0, $f0 +/* C86124 80240674 4620103E */ c.le.d $f2, $f0 +/* C86128 80240678 00000000 */ nop +/* C8612C 8024067C 45030001 */ bc1tl .L80240684 +/* C86130 80240680 0000882D */ daddu $s1, $zero, $zero +.L80240684: +/* C86134 80240684 3C038011 */ lui $v1, 0x8011 +/* C86138 80240688 8063EBB3 */ lb $v1, -0x144d($v1) +/* C8613C 8024068C 24020009 */ addiu $v0, $zero, 9 +/* C86140 80240690 50620001 */ beql $v1, $v0, .L80240698 +/* C86144 80240694 0000882D */ daddu $s1, $zero, $zero +.L80240698: +/* C86148 80240698 24020007 */ addiu $v0, $zero, 7 +/* C8614C 8024069C 50620001 */ beql $v1, $v0, .L802406A4 +/* C86150 802406A0 0000882D */ daddu $s1, $zero, $zero +.L802406A4: +/* C86154 802406A4 0220102D */ daddu $v0, $s1, $zero +/* C86158 802406A8 8FBF0024 */ lw $ra, 0x24($sp) +/* C8615C 802406AC 8FB40020 */ lw $s4, 0x20($sp) +/* C86160 802406B0 8FB3001C */ lw $s3, 0x1c($sp) +/* C86164 802406B4 8FB20018 */ lw $s2, 0x18($sp) +/* C86168 802406B8 8FB10014 */ lw $s1, 0x14($sp) +/* C8616C 802406BC 8FB00010 */ lw $s0, 0x10($sp) +/* C86170 802406C0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C86174 802406C4 03E00008 */ jr $ra +/* C86178 802406C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802406CC_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802406CC_C85AB0.s new file mode 100644 index 0000000000..ba2c57210e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802406CC_C85AB0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406CC_C8617C +/* C8617C 802406CC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C86180 802406D0 AFB40028 */ sw $s4, 0x28($sp) +/* C86184 802406D4 0080A02D */ daddu $s4, $a0, $zero +/* C86188 802406D8 AFBF002C */ sw $ra, 0x2c($sp) +/* C8618C 802406DC AFB30024 */ sw $s3, 0x24($sp) +/* C86190 802406E0 AFB20020 */ sw $s2, 0x20($sp) +/* C86194 802406E4 AFB1001C */ sw $s1, 0x1c($sp) +/* C86198 802406E8 AFB00018 */ sw $s0, 0x18($sp) +/* C8619C 802406EC 8E910148 */ lw $s1, 0x148($s4) +/* C861A0 802406F0 86240008 */ lh $a0, 8($s1) +/* C861A4 802406F4 0C00EABB */ jal get_npc_unsafe +/* C861A8 802406F8 00A0802D */ daddu $s0, $a1, $zero +/* C861AC 802406FC 16000005 */ bnez $s0, .L80240714 +/* C861B0 80240700 0040902D */ daddu $s2, $v0, $zero +/* C861B4 80240704 8E2200B0 */ lw $v0, 0xb0($s1) +/* C861B8 80240708 30420004 */ andi $v0, $v0, 4 +/* C861BC 8024070C 10400015 */ beqz $v0, .L80240764 +/* C861C0 80240710 00000000 */ nop +.L80240714: +/* C861C4 80240714 AE800070 */ sw $zero, 0x70($s4) +/* C861C8 80240718 8E420000 */ lw $v0, ($s2) +/* C861CC 8024071C 3C031F30 */ lui $v1, 0x1f30 +/* C861D0 80240720 A640008E */ sh $zero, 0x8e($s2) +/* C861D4 80240724 34420102 */ ori $v0, $v0, 0x102 +/* C861D8 80240728 AE420000 */ sw $v0, ($s2) +/* C861DC 8024072C 8E220000 */ lw $v0, ($s1) +/* C861E0 80240730 3C01C47A */ lui $at, 0xc47a +/* C861E4 80240734 44810000 */ mtc1 $at, $f0 +/* C861E8 80240738 00431025 */ or $v0, $v0, $v1 +/* C861EC 8024073C AE220000 */ sw $v0, ($s1) +/* C861F0 80240740 AE400038 */ sw $zero, 0x38($s2) +/* C861F4 80240744 E640003C */ swc1 $f0, 0x3c($s2) +/* C861F8 80240748 AE400040 */ sw $zero, 0x40($s2) +/* C861FC 8024074C 8E2300B0 */ lw $v1, 0xb0($s1) +/* C86200 80240750 30620004 */ andi $v0, $v1, 4 +/* C86204 80240754 10400003 */ beqz $v0, .L80240764 +/* C86208 80240758 2402FFFB */ addiu $v0, $zero, -5 +/* C8620C 8024075C 00621024 */ and $v0, $v1, $v0 +/* C86210 80240760 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240764: +/* C86214 80240764 8E930070 */ lw $s3, 0x70($s4) +/* C86218 80240768 12600005 */ beqz $s3, .L80240780 +/* C8621C 8024076C 24020001 */ addiu $v0, $zero, 1 +/* C86220 80240770 12620048 */ beq $s3, $v0, .L80240894 +/* C86224 80240774 00000000 */ nop +/* C86228 80240778 08090242 */ j .L80240908 +/* C8622C 8024077C 00000000 */ nop +.L80240780: +/* C86230 80240780 86240008 */ lh $a0, 8($s1) +/* C86234 80240784 0C00FB3A */ jal get_enemy +/* C86238 80240788 2484FFFF */ addiu $a0, $a0, -1 +/* C8623C 8024078C 0040802D */ daddu $s0, $v0, $zero +/* C86240 80240790 0C00EABB */ jal get_npc_unsafe +/* C86244 80240794 86040008 */ lh $a0, 8($s0) +/* C86248 80240798 24030001 */ addiu $v1, $zero, 1 +/* C8624C 8024079C 0040982D */ daddu $s3, $v0, $zero +/* C86250 802407A0 A2230007 */ sb $v1, 7($s1) +/* C86254 802407A4 8E03006C */ lw $v1, 0x6c($s0) +/* C86258 802407A8 24020003 */ addiu $v0, $zero, 3 +/* C8625C 802407AC 14620056 */ bne $v1, $v0, .L80240908 +/* C86260 802407B0 00000000 */ nop +/* C86264 802407B4 8E2500A8 */ lw $a1, 0xa8($s1) +/* C86268 802407B8 10A00003 */ beqz $a1, .L802407C8 +/* C8626C 802407BC 0260202D */ daddu $a0, $s3, $zero +/* C86270 802407C0 0C012530 */ jal func_800494C0 +/* C86274 802407C4 0000302D */ daddu $a2, $zero, $zero +.L802407C8: +/* C86278 802407C8 27A40010 */ addiu $a0, $sp, 0x10 +/* C8627C 802407CC C6280070 */ lwc1 $f8, 0x70($s1) +/* C86280 802407D0 46804220 */ cvt.s.w $f8, $f8 +/* C86284 802407D4 C6620034 */ lwc1 $f2, 0x34($s3) +/* C86288 802407D8 3C014387 */ lui $at, 0x4387 +/* C8628C 802407DC 44810000 */ mtc1 $at, $f0 +/* C86290 802407E0 44064000 */ mfc1 $a2, $f8 +/* C86294 802407E4 46020001 */ sub.s $f0, $f0, $f2 +/* C86298 802407E8 C6660038 */ lwc1 $f6, 0x38($s3) +/* C8629C 802407EC C6640040 */ lwc1 $f4, 0x40($s3) +/* C862A0 802407F0 44070000 */ mfc1 $a3, $f0 +/* C862A4 802407F4 27A50014 */ addiu $a1, $sp, 0x14 +/* C862A8 802407F8 E7A60010 */ swc1 $f6, 0x10($sp) +/* C862AC 802407FC 0C00A7E7 */ jal add_vec2D_polar +/* C862B0 80240800 E7A40014 */ swc1 $f4, 0x14($sp) +/* C862B4 80240804 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C862B8 80240808 4600020D */ trunc.w.s $f8, $f0 +/* C862BC 8024080C 44024000 */ mfc1 $v0, $f8 +/* C862C0 80240810 E6400038 */ swc1 $f0, 0x38($s2) +/* C862C4 80240814 A6220010 */ sh $v0, 0x10($s1) +/* C862C8 80240818 C660003C */ lwc1 $f0, 0x3c($s3) +/* C862CC 8024081C C622006C */ lwc1 $f2, 0x6c($s1) +/* C862D0 80240820 468010A0 */ cvt.s.w $f2, $f2 +/* C862D4 80240824 46020000 */ add.s $f0, $f0, $f2 +/* C862D8 80240828 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* C862DC 8024082C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* C862E0 80240830 E640003C */ swc1 $f0, 0x3c($s2) +/* C862E4 80240834 C7A20014 */ lwc1 $f2, 0x14($sp) +/* C862E8 80240838 4600020D */ trunc.w.s $f8, $f0 +/* C862EC 8024083C 44024000 */ mfc1 $v0, $f8 +/* C862F0 80240840 00000000 */ nop +/* C862F4 80240844 A6220012 */ sh $v0, 0x12($s1) +/* C862F8 80240848 4600120D */ trunc.w.s $f8, $f2 +/* C862FC 8024084C 44024000 */ mfc1 $v0, $f8 +/* C86300 80240850 E6420040 */ swc1 $f2, 0x40($s2) +/* C86304 80240854 A6220014 */ sh $v0, 0x14($s1) +/* C86308 80240858 8C660028 */ lw $a2, 0x28($v1) +/* C8630C 8024085C 8C670030 */ lw $a3, 0x30($v1) +/* C86310 80240860 C64C0038 */ lwc1 $f12, 0x38($s2) +/* C86314 80240864 0C00A720 */ jal atan2 +/* C86318 80240868 C64E0040 */ lwc1 $f14, 0x40($s2) +/* C8631C 8024086C 3C03E0EF */ lui $v1, 0xe0ef +/* C86320 80240870 E640000C */ swc1 $f0, 0xc($s2) +/* C86324 80240874 8E220000 */ lw $v0, ($s1) +/* C86328 80240878 3463FFFF */ ori $v1, $v1, 0xffff +/* C8632C 8024087C 00431024 */ and $v0, $v0, $v1 +/* C86330 80240880 AE220000 */ sw $v0, ($s1) +/* C86334 80240884 24020001 */ addiu $v0, $zero, 1 +/* C86338 80240888 A640008E */ sh $zero, 0x8e($s2) +/* C8633C 8024088C 08090242 */ j .L80240908 +/* C86340 80240890 AE820070 */ sw $v0, 0x70($s4) +.L80240894: +/* C86344 80240894 86240008 */ lh $a0, 8($s1) +/* C86348 80240898 0C00FB3A */ jal get_enemy +/* C8634C 8024089C 2484FFFF */ addiu $a0, $a0, -1 +/* C86350 802408A0 0040802D */ daddu $s0, $v0, $zero +/* C86354 802408A4 0C00EABB */ jal get_npc_unsafe +/* C86358 802408A8 86040008 */ lh $a0, 8($s0) +/* C8635C 802408AC 9642008E */ lhu $v0, 0x8e($s2) +/* C86360 802408B0 24420001 */ addiu $v0, $v0, 1 +/* C86364 802408B4 A642008E */ sh $v0, 0x8e($s2) +/* C86368 802408B8 00021400 */ sll $v0, $v0, 0x10 +/* C8636C 802408BC 8E23007C */ lw $v1, 0x7c($s1) +/* C86370 802408C0 00021403 */ sra $v0, $v0, 0x10 +/* C86374 802408C4 0043102A */ slt $v0, $v0, $v1 +/* C86378 802408C8 50400001 */ beql $v0, $zero, .L802408D0 +/* C8637C 802408CC A2200007 */ sb $zero, 7($s1) +.L802408D0: +/* C86380 802408D0 8E03006C */ lw $v1, 0x6c($s0) +/* C86384 802408D4 24020004 */ addiu $v0, $zero, 4 +/* C86388 802408D8 1462000B */ bne $v1, $v0, .L80240908 +/* C8638C 802408DC 3C021F10 */ lui $v0, 0x1f10 +/* C86390 802408E0 8E230000 */ lw $v1, ($s1) +/* C86394 802408E4 3C01C47A */ lui $at, 0xc47a +/* C86398 802408E8 44810000 */ mtc1 $at, $f0 +/* C8639C 802408EC 00621825 */ or $v1, $v1, $v0 +/* C863A0 802408F0 AE230000 */ sw $v1, ($s1) +/* C863A4 802408F4 AE400038 */ sw $zero, 0x38($s2) +/* C863A8 802408F8 E640003C */ swc1 $f0, 0x3c($s2) +/* C863AC 802408FC AE400040 */ sw $zero, 0x40($s2) +/* C863B0 80240900 A2330007 */ sb $s3, 7($s1) +/* C863B4 80240904 AE800070 */ sw $zero, 0x70($s4) +.L80240908: +/* C863B8 80240908 8FBF002C */ lw $ra, 0x2c($sp) +/* C863BC 8024090C 8FB40028 */ lw $s4, 0x28($sp) +/* C863C0 80240910 8FB30024 */ lw $s3, 0x24($sp) +/* C863C4 80240914 8FB20020 */ lw $s2, 0x20($sp) +/* C863C8 80240918 8FB1001C */ lw $s1, 0x1c($sp) +/* C863CC 8024091C 8FB00018 */ lw $s0, 0x18($sp) +/* C863D0 80240920 0000102D */ daddu $v0, $zero, $zero +/* C863D4 80240924 03E00008 */ jr $ra +/* C863D8 80240928 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_8024092C_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024092C_C85AB0.s new file mode 100644 index 0000000000..fc4d2fc2c7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024092C_C85AB0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024092C_C863DC +/* C863DC 8024092C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C863E0 80240930 AFB20038 */ sw $s2, 0x38($sp) +/* C863E4 80240934 0080902D */ daddu $s2, $a0, $zero +/* C863E8 80240938 AFBF0048 */ sw $ra, 0x48($sp) +/* C863EC 8024093C AFB50044 */ sw $s5, 0x44($sp) +/* C863F0 80240940 AFB40040 */ sw $s4, 0x40($sp) +/* C863F4 80240944 AFB3003C */ sw $s3, 0x3c($sp) +/* C863F8 80240948 AFB10034 */ sw $s1, 0x34($sp) +/* C863FC 8024094C AFB00030 */ sw $s0, 0x30($sp) +/* C86400 80240950 8E510148 */ lw $s1, 0x148($s2) +/* C86404 80240954 86240008 */ lh $a0, 8($s1) +/* C86408 80240958 0C00EABB */ jal get_npc_unsafe +/* C8640C 8024095C 00A0802D */ daddu $s0, $a1, $zero +/* C86410 80240960 8E43000C */ lw $v1, 0xc($s2) +/* C86414 80240964 0240202D */ daddu $a0, $s2, $zero +/* C86418 80240968 8C650000 */ lw $a1, ($v1) +/* C8641C 8024096C 0C0B1EAF */ jal get_variable +/* C86420 80240970 0040A82D */ daddu $s5, $v0, $zero +/* C86424 80240974 AFA00010 */ sw $zero, 0x10($sp) +/* C86428 80240978 8E2300D0 */ lw $v1, 0xd0($s1) +/* C8642C 8024097C 8C630030 */ lw $v1, 0x30($v1) +/* C86430 80240980 AFA30014 */ sw $v1, 0x14($sp) +/* C86434 80240984 8E2300D0 */ lw $v1, 0xd0($s1) +/* C86438 80240988 8C63001C */ lw $v1, 0x1c($v1) +/* C8643C 8024098C AFA30018 */ sw $v1, 0x18($sp) +/* C86440 80240990 8E2300D0 */ lw $v1, 0xd0($s1) +/* C86444 80240994 8C630024 */ lw $v1, 0x24($v1) +/* C86448 80240998 AFA3001C */ sw $v1, 0x1c($sp) +/* C8644C 8024099C 8E2300D0 */ lw $v1, 0xd0($s1) +/* C86450 802409A0 8C630028 */ lw $v1, 0x28($v1) +/* C86454 802409A4 27B40010 */ addiu $s4, $sp, 0x10 +/* C86458 802409A8 AFA30020 */ sw $v1, 0x20($sp) +/* C8645C 802409AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C86460 802409B0 3C014282 */ lui $at, 0x4282 +/* C86464 802409B4 44810000 */ mtc1 $at, $f0 +/* C86468 802409B8 8C63002C */ lw $v1, 0x2c($v1) +/* C8646C 802409BC 0040982D */ daddu $s3, $v0, $zero +/* C86470 802409C0 E7A00028 */ swc1 $f0, 0x28($sp) +/* C86474 802409C4 A7A0002C */ sh $zero, 0x2c($sp) +/* C86478 802409C8 16000005 */ bnez $s0, .L802409E0 +/* C8647C 802409CC AFA30024 */ sw $v1, 0x24($sp) +/* C86480 802409D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C86484 802409D4 30420004 */ andi $v0, $v0, 4 +/* C86488 802409D8 10400020 */ beqz $v0, .L80240A5C +/* C8648C 802409DC 00000000 */ nop +.L802409E0: +/* C86490 802409E0 2404F7FF */ addiu $a0, $zero, -0x801 +/* C86494 802409E4 AE400070 */ sw $zero, 0x70($s2) +/* C86498 802409E8 A6A0008E */ sh $zero, 0x8e($s5) +/* C8649C 802409EC 8E2200CC */ lw $v0, 0xcc($s1) +/* C864A0 802409F0 8EA30000 */ lw $v1, ($s5) +/* C864A4 802409F4 8C420000 */ lw $v0, ($v0) +/* C864A8 802409F8 00641824 */ and $v1, $v1, $a0 +/* C864AC 802409FC AEA30000 */ sw $v1, ($s5) +/* C864B0 80240A00 AEA20028 */ sw $v0, 0x28($s5) +/* C864B4 80240A04 8E2200D0 */ lw $v0, 0xd0($s1) +/* C864B8 80240A08 8C420034 */ lw $v0, 0x34($v0) +/* C864BC 80240A0C 54400005 */ bnel $v0, $zero, .L80240A24 +/* C864C0 80240A10 2402FDFF */ addiu $v0, $zero, -0x201 +/* C864C4 80240A14 34620200 */ ori $v0, $v1, 0x200 +/* C864C8 80240A18 2403FFF7 */ addiu $v1, $zero, -9 +/* C864CC 80240A1C 0809028B */ j .L80240A2C +/* C864D0 80240A20 00431024 */ and $v0, $v0, $v1 +.L80240A24: +/* C864D4 80240A24 00621024 */ and $v0, $v1, $v0 +/* C864D8 80240A28 34420008 */ ori $v0, $v0, 8 +.L80240A2C: +/* C864DC 80240A2C AEA20000 */ sw $v0, ($s5) +/* C864E0 80240A30 8E2200B0 */ lw $v0, 0xb0($s1) +/* C864E4 80240A34 30420004 */ andi $v0, $v0, 4 +/* C864E8 80240A38 10400007 */ beqz $v0, .L80240A58 +/* C864EC 80240A3C 24020063 */ addiu $v0, $zero, 0x63 +/* C864F0 80240A40 AE420070 */ sw $v0, 0x70($s2) +/* C864F4 80240A44 AE400074 */ sw $zero, 0x74($s2) +/* C864F8 80240A48 8E2200B0 */ lw $v0, 0xb0($s1) +/* C864FC 80240A4C 2403FFFB */ addiu $v1, $zero, -5 +/* C86500 80240A50 00431024 */ and $v0, $v0, $v1 +/* C86504 80240A54 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240A58: +/* C86508 80240A58 AE20006C */ sw $zero, 0x6c($s1) +.L80240A5C: +/* C8650C 80240A5C 8E420070 */ lw $v0, 0x70($s2) +/* C86510 80240A60 2842001E */ slti $v0, $v0, 0x1e +/* C86514 80240A64 10400009 */ beqz $v0, .L80240A8C +/* C86518 80240A68 00000000 */ nop +/* C8651C 80240A6C 8E22006C */ lw $v0, 0x6c($s1) +/* C86520 80240A70 14400006 */ bnez $v0, .L80240A8C +/* C86524 80240A74 00000000 */ nop +/* C86528 80240A78 0C090146 */ jal func_80240518 +/* C8652C 80240A7C 0240202D */ daddu $a0, $s2, $zero +/* C86530 80240A80 10400002 */ beqz $v0, .L80240A8C +/* C86534 80240A84 2402001E */ addiu $v0, $zero, 0x1e +/* C86538 80240A88 AE420070 */ sw $v0, 0x70($s2) +.L80240A8C: +/* C8653C 80240A8C 8E430070 */ lw $v1, 0x70($s2) +/* C86540 80240A90 2C620064 */ sltiu $v0, $v1, 0x64 +/* C86544 80240A94 10400048 */ beqz $v0, .L80240BB8 +/* C86548 80240A98 00031080 */ sll $v0, $v1, 2 +/* C8654C 80240A9C 3C018024 */ lui $at, 0x8024 +/* C86550 80240AA0 00220821 */ addu $at, $at, $v0 +/* C86554 80240AA4 8C2263A8 */ lw $v0, 0x63a8($at) +/* C86558 80240AA8 00400008 */ jr $v0 +/* C8655C 80240AAC 00000000 */ nop +/* C86560 80240AB0 0240202D */ daddu $a0, $s2, $zero +/* C86564 80240AB4 0260282D */ daddu $a1, $s3, $zero +/* C86568 80240AB8 0C012568 */ jal func_800495A0 +/* C8656C 80240ABC 0280302D */ daddu $a2, $s4, $zero +/* C86570 80240AC0 0240202D */ daddu $a0, $s2, $zero +/* C86574 80240AC4 0260282D */ daddu $a1, $s3, $zero +/* C86578 80240AC8 0C0125AE */ jal func_800496B8 +/* C8657C 80240ACC 0280302D */ daddu $a2, $s4, $zero +/* C86580 80240AD0 080902EE */ j .L80240BB8 +/* C86584 80240AD4 00000000 */ nop +/* C86588 80240AD8 0240202D */ daddu $a0, $s2, $zero +/* C8658C 80240ADC 0260282D */ daddu $a1, $s3, $zero +/* C86590 80240AE0 0C0126D1 */ jal func_80049B44 +/* C86594 80240AE4 0280302D */ daddu $a2, $s4, $zero +/* C86598 80240AE8 0240202D */ daddu $a0, $s2, $zero +/* C8659C 80240AEC 0260282D */ daddu $a1, $s3, $zero +/* C865A0 80240AF0 0C012701 */ jal func_80049C04 +/* C865A4 80240AF4 0280302D */ daddu $a2, $s4, $zero +/* C865A8 80240AF8 080902EE */ j .L80240BB8 +/* C865AC 80240AFC 00000000 */ nop +/* C865B0 80240B00 0240202D */ daddu $a0, $s2, $zero +/* C865B4 80240B04 0260282D */ daddu $a1, $s3, $zero +/* C865B8 80240B08 0C01278F */ jal func_80049E3C +/* C865BC 80240B0C 0280302D */ daddu $a2, $s4, $zero +/* C865C0 80240B10 0240202D */ daddu $a0, $s2, $zero +/* C865C4 80240B14 0260282D */ daddu $a1, $s3, $zero +/* C865C8 80240B18 0C0127B3 */ jal func_80049ECC +/* C865CC 80240B1C 0280302D */ daddu $a2, $s4, $zero +/* C865D0 80240B20 080902EE */ j .L80240BB8 +/* C865D4 80240B24 00000000 */ nop +/* C865D8 80240B28 0240202D */ daddu $a0, $s2, $zero +/* C865DC 80240B2C 0260282D */ daddu $a1, $s3, $zero +/* C865E0 80240B30 0C0127DF */ jal func_80049F7C +/* C865E4 80240B34 0280302D */ daddu $a2, $s4, $zero +/* C865E8 80240B38 0240202D */ daddu $a0, $s2, $zero +/* C865EC 80240B3C 0260282D */ daddu $a1, $s3, $zero +/* C865F0 80240B40 0C012849 */ jal func_8004A124 +/* C865F4 80240B44 0280302D */ daddu $a2, $s4, $zero +/* C865F8 80240B48 080902EE */ j .L80240BB8 +/* C865FC 80240B4C 00000000 */ nop +/* C86600 80240B50 0240202D */ daddu $a0, $s2, $zero +/* C86604 80240B54 0260282D */ daddu $a1, $s3, $zero +/* C86608 80240B58 0C0128FA */ jal func_8004A3E8 +/* C8660C 80240B5C 0280302D */ daddu $a2, $s4, $zero +/* C86610 80240B60 080902EE */ j .L80240BB8 +/* C86614 80240B64 00000000 */ nop +/* C86618 80240B68 0C0900C4 */ jal func_80240310 +/* C8661C 80240B6C 0240202D */ daddu $a0, $s2, $zero +/* C86620 80240B70 0C0900DF */ jal func_8024037C +/* C86624 80240B74 0240202D */ daddu $a0, $s2, $zero +/* C86628 80240B78 8E430070 */ lw $v1, 0x70($s2) +/* C8662C 80240B7C 24020020 */ addiu $v0, $zero, 0x20 +/* C86630 80240B80 1462000D */ bne $v1, $v0, .L80240BB8 +/* C86634 80240B84 00000000 */ nop +/* C86638 80240B88 0C0900FB */ jal func_802403EC +/* C8663C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* C86640 80240B90 8E430070 */ lw $v1, 0x70($s2) +/* C86644 80240B94 24020021 */ addiu $v0, $zero, 0x21 +/* C86648 80240B98 14620007 */ bne $v1, $v0, .L80240BB8 +/* C8664C 80240B9C 00000000 */ nop +/* C86650 80240BA0 0C090131 */ jal func_802404C4 +/* C86654 80240BA4 0240202D */ daddu $a0, $s2, $zero +/* C86658 80240BA8 080902EE */ j .L80240BB8 +/* C8665C 80240BAC 00000000 */ nop +/* C86660 80240BB0 0C0129CF */ jal func_8004A73C +/* C86664 80240BB4 0240202D */ daddu $a0, $s2, $zero +.L80240BB8: +/* C86668 80240BB8 8FBF0048 */ lw $ra, 0x48($sp) +/* C8666C 80240BBC 8FB50044 */ lw $s5, 0x44($sp) +/* C86670 80240BC0 8FB40040 */ lw $s4, 0x40($sp) +/* C86674 80240BC4 8FB3003C */ lw $s3, 0x3c($sp) +/* C86678 80240BC8 8FB20038 */ lw $s2, 0x38($sp) +/* C8667C 80240BCC 8FB10034 */ lw $s1, 0x34($sp) +/* C86680 80240BD0 8FB00030 */ lw $s0, 0x30($sp) +/* C86684 80240BD4 0000102D */ daddu $v0, $zero, $zero +/* C86688 80240BD8 03E00008 */ jr $ra +/* C8668C 80240BDC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240BE0_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240BE0_C85AB0.s new file mode 100644 index 0000000000..03e26e7d6d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240BE0_C85AB0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE0_C86690 +/* C86690 80240BE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C86694 80240BE4 AFB10014 */ sw $s1, 0x14($sp) +/* C86698 80240BE8 0080882D */ daddu $s1, $a0, $zero +/* C8669C 80240BEC AFBF0018 */ sw $ra, 0x18($sp) +/* C866A0 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* C866A4 80240BF4 8E300148 */ lw $s0, 0x148($s1) +/* C866A8 80240BF8 0C00EABB */ jal get_npc_unsafe +/* C866AC 80240BFC 86040008 */ lh $a0, 8($s0) +/* C866B0 80240C00 0040202D */ daddu $a0, $v0, $zero +/* C866B4 80240C04 8482008E */ lh $v0, 0x8e($a0) +/* C866B8 80240C08 9483008E */ lhu $v1, 0x8e($a0) +/* C866BC 80240C0C 18400003 */ blez $v0, .L80240C1C +/* C866C0 80240C10 2462FFFF */ addiu $v0, $v1, -1 +/* C866C4 80240C14 0809030E */ j .L80240C38 +/* C866C8 80240C18 A482008E */ sh $v0, 0x8e($a0) +.L80240C1C: +/* C866CC 80240C1C 8E0200CC */ lw $v0, 0xcc($s0) +/* C866D0 80240C20 AE00006C */ sw $zero, 0x6c($s0) +/* C866D4 80240C24 8C420000 */ lw $v0, ($v0) +/* C866D8 80240C28 AC820028 */ sw $v0, 0x28($a0) +/* C866DC 80240C2C 24020001 */ addiu $v0, $zero, 1 +/* C866E0 80240C30 AE200074 */ sw $zero, 0x74($s1) +/* C866E4 80240C34 AE220070 */ sw $v0, 0x70($s1) +.L80240C38: +/* C866E8 80240C38 8FBF0018 */ lw $ra, 0x18($sp) +/* C866EC 80240C3C 8FB10014 */ lw $s1, 0x14($sp) +/* C866F0 80240C40 8FB00010 */ lw $s0, 0x10($sp) +/* C866F4 80240C44 03E00008 */ jr $ra +/* C866F8 80240C48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240C4C_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240C4C_C85AB0.s new file mode 100644 index 0000000000..0bf2cd612d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240C4C_C85AB0.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_C866FC +/* C866FC 80240C4C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C86700 80240C50 AFB3003C */ sw $s3, 0x3c($sp) +/* C86704 80240C54 0080982D */ daddu $s3, $a0, $zero +/* C86708 80240C58 AFBF0040 */ sw $ra, 0x40($sp) +/* C8670C 80240C5C AFB20038 */ sw $s2, 0x38($sp) +/* C86710 80240C60 AFB10034 */ sw $s1, 0x34($sp) +/* C86714 80240C64 AFB00030 */ sw $s0, 0x30($sp) +/* C86718 80240C68 8E720148 */ lw $s2, 0x148($s3) +/* C8671C 80240C6C 00A0882D */ daddu $s1, $a1, $zero +/* C86720 80240C70 86440008 */ lh $a0, 8($s2) +/* C86724 80240C74 0C00EABB */ jal get_npc_unsafe +/* C86728 80240C78 00C0802D */ daddu $s0, $a2, $zero +/* C8672C 80240C7C 0200202D */ daddu $a0, $s0, $zero +/* C86730 80240C80 0240282D */ daddu $a1, $s2, $zero +/* C86734 80240C84 AFA00010 */ sw $zero, 0x10($sp) +/* C86738 80240C88 8E26000C */ lw $a2, 0xc($s1) +/* C8673C 80240C8C 8E270010 */ lw $a3, 0x10($s1) +/* C86740 80240C90 0C01242D */ jal func_800490B4 +/* C86744 80240C94 0040882D */ daddu $s1, $v0, $zero +/* C86748 80240C98 10400024 */ beqz $v0, .L80240D2C +/* C8674C 80240C9C 0220202D */ daddu $a0, $s1, $zero +/* C86750 80240CA0 24050322 */ addiu $a1, $zero, 0x322 +/* C86754 80240CA4 0C012530 */ jal func_800494C0 +/* C86758 80240CA8 0000302D */ daddu $a2, $zero, $zero +/* C8675C 80240CAC 0000202D */ daddu $a0, $zero, $zero +/* C86760 80240CB0 0220282D */ daddu $a1, $s1, $zero +/* C86764 80240CB4 0000302D */ daddu $a2, $zero, $zero +/* C86768 80240CB8 2410000A */ addiu $s0, $zero, 0xa +/* C8676C 80240CBC 862300A8 */ lh $v1, 0xa8($s1) +/* C86770 80240CC0 3C013F80 */ lui $at, 0x3f80 +/* C86774 80240CC4 44810000 */ mtc1 $at, $f0 +/* C86778 80240CC8 3C014000 */ lui $at, 0x4000 +/* C8677C 80240CCC 44811000 */ mtc1 $at, $f2 +/* C86780 80240CD0 3C01C1A0 */ lui $at, 0xc1a0 +/* C86784 80240CD4 44812000 */ mtc1 $at, $f4 +/* C86788 80240CD8 44833000 */ mtc1 $v1, $f6 +/* C8678C 80240CDC 00000000 */ nop +/* C86790 80240CE0 468031A0 */ cvt.s.w $f6, $f6 +/* C86794 80240CE4 44073000 */ mfc1 $a3, $f6 +/* C86798 80240CE8 27A20028 */ addiu $v0, $sp, 0x28 +/* C8679C 80240CEC AFB0001C */ sw $s0, 0x1c($sp) +/* C867A0 80240CF0 AFA20020 */ sw $v0, 0x20($sp) +/* C867A4 80240CF4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C867A8 80240CF8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C867AC 80240CFC 0C01BFA4 */ jal fx_emote +/* C867B0 80240D00 E7A40018 */ swc1 $f4, 0x18($sp) +/* C867B4 80240D04 0220202D */ daddu $a0, $s1, $zero +/* C867B8 80240D08 240502F4 */ addiu $a1, $zero, 0x2f4 +/* C867BC 80240D0C 0C012530 */ jal func_800494C0 +/* C867C0 80240D10 3C060020 */ lui $a2, 0x20 +/* C867C4 80240D14 8E4200CC */ lw $v0, 0xcc($s2) +/* C867C8 80240D18 8C420020 */ lw $v0, 0x20($v0) +/* C867CC 80240D1C AE220028 */ sw $v0, 0x28($s1) +/* C867D0 80240D20 9642008E */ lhu $v0, 0x8e($s2) +/* C867D4 80240D24 A622008E */ sh $v0, 0x8e($s1) +/* C867D8 80240D28 AE700070 */ sw $s0, 0x70($s3) +.L80240D2C: +/* C867DC 80240D2C 8FBF0040 */ lw $ra, 0x40($sp) +/* C867E0 80240D30 8FB3003C */ lw $s3, 0x3c($sp) +/* C867E4 80240D34 8FB20038 */ lw $s2, 0x38($sp) +/* C867E8 80240D38 8FB10034 */ lw $s1, 0x34($sp) +/* C867EC 80240D3C 8FB00030 */ lw $s0, 0x30($sp) +/* C867F0 80240D40 03E00008 */ jr $ra +/* C867F4 80240D44 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80240D48.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240D48.s new file mode 100644 index 0000000000..3f267fdeb3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80240D48.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D48 +/* C867F8 80240D48 27BDFF80 */ addiu $sp, $sp, -0x80 +/* C867FC 80240D4C AFBF0064 */ sw $ra, 0x64($sp) +/* C86800 80240D50 AFBE0060 */ sw $fp, 0x60($sp) +/* C86804 80240D54 AFB7005C */ sw $s7, 0x5c($sp) +/* C86808 80240D58 AFB60058 */ sw $s6, 0x58($sp) +/* C8680C 80240D5C AFB50054 */ sw $s5, 0x54($sp) +/* C86810 80240D60 AFB40050 */ sw $s4, 0x50($sp) +/* C86814 80240D64 AFB3004C */ sw $s3, 0x4c($sp) +/* C86818 80240D68 AFB20048 */ sw $s2, 0x48($sp) +/* C8681C 80240D6C AFB10044 */ sw $s1, 0x44($sp) +/* C86820 80240D70 AFB00040 */ sw $s0, 0x40($sp) +/* C86824 80240D74 F7B80078 */ sdc1 $f24, 0x78($sp) +/* C86828 80240D78 F7B60070 */ sdc1 $f22, 0x70($sp) +/* C8682C 80240D7C F7B40068 */ sdc1 $f20, 0x68($sp) +/* C86830 80240D80 AFA40080 */ sw $a0, 0x80($sp) +/* C86834 80240D84 8C960148 */ lw $s6, 0x148($a0) +/* C86838 80240D88 00C0902D */ daddu $s2, $a2, $zero +/* C8683C 80240D8C 86C40008 */ lh $a0, 8($s6) +/* C86840 80240D90 0C00EABB */ jal get_npc_unsafe +/* C86844 80240D94 0000B82D */ daddu $s7, $zero, $zero +/* C86848 80240D98 0040882D */ daddu $s1, $v0, $zero +/* C8684C 80240D9C 9622008E */ lhu $v0, 0x8e($s1) +/* C86850 80240DA0 2442FFFF */ addiu $v0, $v0, -1 +/* C86854 80240DA4 A622008E */ sh $v0, 0x8e($s1) +/* C86858 80240DA8 00021400 */ sll $v0, $v0, 0x10 +/* C8685C 80240DAC 8EC30090 */ lw $v1, 0x90($s6) +/* C86860 80240DB0 00021403 */ sra $v0, $v0, 0x10 +/* C86864 80240DB4 0062182A */ slt $v1, $v1, $v0 +/* C86868 80240DB8 14600005 */ bnez $v1, .L80240DD0 +/* C8686C 80240DBC 02E0F02D */ daddu $fp, $s7, $zero +/* C86870 80240DC0 8EC20000 */ lw $v0, ($s6) +/* C86874 80240DC4 3C031F10 */ lui $v1, 0x1f10 +/* C86878 80240DC8 00431025 */ or $v0, $v0, $v1 +/* C8687C 80240DCC AEC20000 */ sw $v0, ($s6) +.L80240DD0: +/* C86880 80240DD0 8622008E */ lh $v0, 0x8e($s1) +/* C86884 80240DD4 1440025D */ bnez $v0, .L8024174C +/* C86888 80240DD8 00000000 */ nop +/* C8688C 80240DDC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C86890 80240DE0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C86894 80240DE4 0C00A6C9 */ jal clamp_angle +/* C86898 80240DE8 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* C8689C 80240DEC 3C014334 */ lui $at, 0x4334 +/* C868A0 80240DF0 44811000 */ mtc1 $at, $f2 +/* C868A4 80240DF4 00000000 */ nop +/* C868A8 80240DF8 4602003C */ c.lt.s $f0, $f2 +/* C868AC 80240DFC 00000000 */ nop +/* C868B0 80240E00 45000011 */ bc1f .L80240E48 +/* C868B4 80240E04 00000000 */ nop +/* C868B8 80240E08 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C868BC 80240E0C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C868C0 80240E10 3C0142B4 */ lui $at, 0x42b4 +/* C868C4 80240E14 44816000 */ mtc1 $at, $f12 +/* C868C8 80240E18 00031080 */ sll $v0, $v1, 2 +/* C868CC 80240E1C 00431021 */ addu $v0, $v0, $v1 +/* C868D0 80240E20 00021080 */ sll $v0, $v0, 2 +/* C868D4 80240E24 00431023 */ subu $v0, $v0, $v1 +/* C868D8 80240E28 000218C0 */ sll $v1, $v0, 3 +/* C868DC 80240E2C 00431021 */ addu $v0, $v0, $v1 +/* C868E0 80240E30 000210C0 */ sll $v0, $v0, 3 +/* C868E4 80240E34 3C01800B */ lui $at, 0x800b +/* C868E8 80240E38 00220821 */ addu $at, $at, $v0 +/* C868EC 80240E3C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C868F0 80240E40 080903A1 */ j .L80240E84 +/* C868F4 80240E44 460C0301 */ sub.s $f12, $f0, $f12 +.L80240E48: +/* C868F8 80240E48 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C868FC 80240E4C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C86900 80240E50 3C0142B4 */ lui $at, 0x42b4 +/* C86904 80240E54 44816000 */ mtc1 $at, $f12 +/* C86908 80240E58 00031080 */ sll $v0, $v1, 2 +/* C8690C 80240E5C 00431021 */ addu $v0, $v0, $v1 +/* C86910 80240E60 00021080 */ sll $v0, $v0, 2 +/* C86914 80240E64 00431023 */ subu $v0, $v0, $v1 +/* C86918 80240E68 000218C0 */ sll $v1, $v0, 3 +/* C8691C 80240E6C 00431021 */ addu $v0, $v0, $v1 +/* C86920 80240E70 000210C0 */ sll $v0, $v0, 3 +/* C86924 80240E74 3C01800B */ lui $at, 0x800b +/* C86928 80240E78 00220821 */ addu $at, $at, $v0 +/* C8692C 80240E7C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C86930 80240E80 460C0300 */ add.s $f12, $f0, $f12 +.L80240E84: +/* C86934 80240E84 0C00A6C9 */ jal clamp_angle +/* C86938 80240E88 00000000 */ nop +/* C8693C 80240E8C 46000586 */ mov.s $f22, $f0 +/* C86940 80240E90 3C014334 */ lui $at, 0x4334 +/* C86944 80240E94 44816000 */ mtc1 $at, $f12 +/* C86948 80240E98 0C00A6C9 */ jal clamp_angle +/* C8694C 80240E9C 460CB300 */ add.s $f12, $f22, $f12 +/* C86950 80240EA0 8EC20088 */ lw $v0, 0x88($s6) +/* C86954 80240EA4 14400010 */ bnez $v0, .L80240EE8 +/* C86958 80240EA8 46000606 */ mov.s $f24, $f0 +/* C8695C 80240EAC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C86960 80240EB0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C86964 80240EB4 804300B4 */ lb $v1, 0xb4($v0) +/* C86968 80240EB8 3C014200 */ lui $at, 0x4200 +/* C8696C 80240EBC 4481A000 */ mtc1 $at, $f20 +/* C86970 80240EC0 10600016 */ beqz $v1, .L80240F1C +/* C86974 80240EC4 24020001 */ addiu $v0, $zero, 1 +/* C86978 80240EC8 3C0142C8 */ lui $at, 0x42c8 +/* C8697C 80240ECC 4481A000 */ mtc1 $at, $f20 +/* C86980 80240ED0 14620013 */ bne $v1, $v0, .L80240F20 +/* C86984 80240ED4 26300038 */ addiu $s0, $s1, 0x38 +/* C86988 80240ED8 3C0142B4 */ lui $at, 0x42b4 +/* C8698C 80240EDC 4481A000 */ mtc1 $at, $f20 +/* C86990 80240EE0 080903C9 */ j .L80240F24 +/* C86994 80240EE4 0200202D */ daddu $a0, $s0, $zero +.L80240EE8: +/* C86998 80240EE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C8699C 80240EEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C869A0 80240EF0 804300B4 */ lb $v1, 0xb4($v0) +/* C869A4 80240EF4 3C014218 */ lui $at, 0x4218 +/* C869A8 80240EF8 4481A000 */ mtc1 $at, $f20 +/* C869AC 80240EFC 10600007 */ beqz $v1, .L80240F1C +/* C869B0 80240F00 24020001 */ addiu $v0, $zero, 1 +/* C869B4 80240F04 3C0142B4 */ lui $at, 0x42b4 +/* C869B8 80240F08 4481A000 */ mtc1 $at, $f20 +/* C869BC 80240F0C 14620004 */ bne $v1, $v0, .L80240F20 +/* C869C0 80240F10 26300038 */ addiu $s0, $s1, 0x38 +/* C869C4 80240F14 3C014296 */ lui $at, 0x4296 +/* C869C8 80240F18 4481A000 */ mtc1 $at, $f20 +.L80240F1C: +/* C869CC 80240F1C 26300038 */ addiu $s0, $s1, 0x38 +.L80240F20: +/* C869D0 80240F20 0200202D */ daddu $a0, $s0, $zero +.L80240F24: +/* C869D4 80240F24 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* C869D8 80240F28 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* C869DC 80240F2C 4407C000 */ mfc1 $a3, $f24 +/* C869E0 80240F30 862200A6 */ lh $v0, 0xa6($s1) +/* C869E4 80240F34 8EA30000 */ lw $v1, ($s5) +/* C869E8 80240F38 44824000 */ mtc1 $v0, $f8 +/* C869EC 80240F3C 00000000 */ nop +/* C869F0 80240F40 46804220 */ cvt.s.w $f8, $f8 +/* C869F4 80240F44 C4600028 */ lwc1 $f0, 0x28($v1) +/* C869F8 80240F48 44064000 */ mfc1 $a2, $f8 +/* C869FC 80240F4C 26330040 */ addiu $s3, $s1, 0x40 +/* C86A00 80240F50 E6200038 */ swc1 $f0, 0x38($s1) +/* C86A04 80240F54 C4600030 */ lwc1 $f0, 0x30($v1) +/* C86A08 80240F58 0260282D */ daddu $a1, $s3, $zero +/* C86A0C 80240F5C 0C00A7E7 */ jal add_vec2D_polar +/* C86A10 80240F60 E6200040 */ swc1 $f0, 0x40($s1) +/* C86A14 80240F64 862200A6 */ lh $v0, 0xa6($s1) +/* C86A18 80240F68 44820000 */ mtc1 $v0, $f0 +/* C86A1C 80240F6C 00000000 */ nop +/* C86A20 80240F70 46800020 */ cvt.s.w $f0, $f0 +/* C86A24 80240F74 4600A000 */ add.s $f0, $f20, $f0 +/* C86A28 80240F78 4406B000 */ mfc1 $a2, $f22 +/* C86A2C 80240F7C 44050000 */ mfc1 $a1, $f0 +/* C86A30 80240F80 0C00EA95 */ jal npc_move_heading +/* C86A34 80240F84 0220202D */ daddu $a0, $s1, $zero +/* C86A38 80240F88 8EC20088 */ lw $v0, 0x88($s6) +/* C86A3C 80240F8C 1440005D */ bnez $v0, .L80241104 +/* C86A40 80240F90 00000000 */ nop +/* C86A44 80240F94 C6200038 */ lwc1 $f0, 0x38($s1) +/* C86A48 80240F98 3C018024 */ lui $at, 0x8024 +/* C86A4C 80240F9C D4246538 */ ldc1 $f4, 0x6538($at) +/* C86A50 80240FA0 46000021 */ cvt.d.s $f0, $f0 +/* C86A54 80240FA4 4620203C */ c.lt.d $f4, $f0 +/* C86A58 80240FA8 00000000 */ nop +/* C86A5C 80240FAC 45000005 */ bc1f .L80240FC4 +/* C86A60 80240FB0 00000000 */ nop +/* C86A64 80240FB4 3C0143BE */ lui $at, 0x43be +/* C86A68 80240FB8 44810000 */ mtc1 $at, $f0 +/* C86A6C 80240FBC 00000000 */ nop +/* C86A70 80240FC0 E6200038 */ swc1 $f0, 0x38($s1) +.L80240FC4: +/* C86A74 80240FC4 C6200038 */ lwc1 $f0, 0x38($s1) +/* C86A78 80240FC8 3C018024 */ lui $at, 0x8024 +/* C86A7C 80240FCC D4226540 */ ldc1 $f2, 0x6540($at) +/* C86A80 80240FD0 46000021 */ cvt.d.s $f0, $f0 +/* C86A84 80240FD4 4622003C */ c.lt.d $f0, $f2 +/* C86A88 80240FD8 00000000 */ nop +/* C86A8C 80240FDC 45000005 */ bc1f .L80240FF4 +/* C86A90 80240FE0 00000000 */ nop +/* C86A94 80240FE4 3C01C3BE */ lui $at, 0xc3be +/* C86A98 80240FE8 44810000 */ mtc1 $at, $f0 +/* C86A9C 80240FEC 00000000 */ nop +/* C86AA0 80240FF0 E6200038 */ swc1 $f0, 0x38($s1) +.L80240FF4: +/* C86AA4 80240FF4 C6200040 */ lwc1 $f0, 0x40($s1) +/* C86AA8 80240FF8 46000021 */ cvt.d.s $f0, $f0 +/* C86AAC 80240FFC 4620203C */ c.lt.d $f4, $f0 +/* C86AB0 80241000 00000000 */ nop +/* C86AB4 80241004 45000005 */ bc1f .L8024101C +/* C86AB8 80241008 00000000 */ nop +/* C86ABC 8024100C 3C0143BE */ lui $at, 0x43be +/* C86AC0 80241010 44810000 */ mtc1 $at, $f0 +/* C86AC4 80241014 00000000 */ nop +/* C86AC8 80241018 E6200040 */ swc1 $f0, 0x40($s1) +.L8024101C: +/* C86ACC 8024101C C6200040 */ lwc1 $f0, 0x40($s1) +/* C86AD0 80241020 46000021 */ cvt.d.s $f0, $f0 +/* C86AD4 80241024 4622003C */ c.lt.d $f0, $f2 +/* C86AD8 80241028 00000000 */ nop +/* C86ADC 8024102C 45000005 */ bc1f .L80241044 +/* C86AE0 80241030 00000000 */ nop +/* C86AE4 80241034 3C01C3BE */ lui $at, 0xc3be +/* C86AE8 80241038 44810000 */ mtc1 $at, $f0 +/* C86AEC 8024103C 00000000 */ nop +/* C86AF0 80241040 E6200040 */ swc1 $f0, 0x40($s1) +.L80241044: +/* C86AF4 80241044 C6220038 */ lwc1 $f2, 0x38($s1) +/* C86AF8 80241048 46021082 */ mul.s $f2, $f2, $f2 +/* C86AFC 8024104C 00000000 */ nop +/* C86B00 80241050 C6200040 */ lwc1 $f0, 0x40($s1) +/* C86B04 80241054 46000002 */ mul.s $f0, $f0, $f0 +/* C86B08 80241058 00000000 */ nop +/* C86B0C 8024105C 46001300 */ add.s $f12, $f2, $f0 +/* C86B10 80241060 46006004 */ sqrt.s $f0, $f12 +/* C86B14 80241064 46000032 */ c.eq.s $f0, $f0 +/* C86B18 80241068 00000000 */ nop +/* C86B1C 8024106C 45010003 */ bc1t .L8024107C +/* C86B20 80241070 00000000 */ nop +/* C86B24 80241074 0C0187BC */ jal sqrtf +/* C86B28 80241078 00000000 */ nop +.L8024107C: +/* C86B2C 8024107C 8E260038 */ lw $a2, 0x38($s1) +/* C86B30 80241080 8E270040 */ lw $a3, 0x40($s1) +/* C86B34 80241084 4480A000 */ mtc1 $zero, $f20 +/* C86B38 80241088 E7A00038 */ swc1 $f0, 0x38($sp) +/* C86B3C 8024108C 4600A306 */ mov.s $f12, $f20 +/* C86B40 80241090 0C00A720 */ jal atan2 +/* C86B44 80241094 4600A386 */ mov.s $f14, $f20 +/* C86B48 80241098 46000586 */ mov.s $f22, $f0 +/* C86B4C 8024109C C7A20038 */ lwc1 $f2, 0x38($sp) +/* C86B50 802410A0 3C018024 */ lui $at, 0x8024 +/* C86B54 802410A4 D4206548 */ ldc1 $f0, 0x6548($at) +/* C86B58 802410A8 460010A1 */ cvt.d.s $f2, $f2 +/* C86B5C 802410AC 4620103C */ c.lt.d $f2, $f0 +/* C86B60 802410B0 00000000 */ nop +/* C86B64 802410B4 45000004 */ bc1f .L802410C8 +/* C86B68 802410B8 0200202D */ daddu $a0, $s0, $zero +/* C86B6C 802410BC 3C064398 */ lui $a2, 0x4398 +/* C86B70 802410C0 0809043A */ j .L802410E8 +/* C86B74 802410C4 34C68000 */ ori $a2, $a2, 0x8000 +.L802410C8: +/* C86B78 802410C8 3C018024 */ lui $at, 0x8024 +/* C86B7C 802410CC D4206550 */ ldc1 $f0, 0x6550($at) +/* C86B80 802410D0 4622003C */ c.lt.d $f0, $f2 +/* C86B84 802410D4 00000000 */ nop +/* C86B88 802410D8 450000FA */ bc1f .L802414C4 +/* C86B8C 802410DC 00000000 */ nop +/* C86B90 802410E0 3C0643BB */ lui $a2, 0x43bb +/* C86B94 802410E4 34C68000 */ ori $a2, $a2, 0x8000 +.L802410E8: +/* C86B98 802410E8 4407B000 */ mfc1 $a3, $f22 +/* C86B9C 802410EC 0260282D */ daddu $a1, $s3, $zero +/* C86BA0 802410F0 E6340038 */ swc1 $f20, 0x38($s1) +/* C86BA4 802410F4 0C00A7E7 */ jal add_vec2D_polar +/* C86BA8 802410F8 E6340040 */ swc1 $f20, 0x40($s1) +/* C86BAC 802410FC 08090531 */ j .L802414C4 +/* C86BB0 80241100 00000000 */ nop +.L80241104: +/* C86BB4 80241104 8E220000 */ lw $v0, ($s1) +/* C86BB8 80241108 30420040 */ andi $v0, $v0, 0x40 +/* C86BBC 8024110C 144000B0 */ bnez $v0, .L802413D0 +/* C86BC0 80241110 27A50020 */ addiu $a1, $sp, 0x20 +/* C86BC4 80241114 27B40020 */ addiu $s4, $sp, 0x20 +/* C86BC8 80241118 0280282D */ daddu $a1, $s4, $zero +/* C86BCC 8024111C 27B30024 */ addiu $s3, $sp, 0x24 +/* C86BD0 80241120 8EA20000 */ lw $v0, ($s5) +/* C86BD4 80241124 3C014032 */ lui $at, 0x4032 +/* C86BD8 80241128 44811800 */ mtc1 $at, $f3 +/* C86BDC 8024112C 44801000 */ mtc1 $zero, $f2 +/* C86BE0 80241130 C440002C */ lwc1 $f0, 0x2c($v0) +/* C86BE4 80241134 C4460028 */ lwc1 $f6, 0x28($v0) +/* C86BE8 80241138 C4440030 */ lwc1 $f4, 0x30($v0) +/* C86BEC 8024113C 46000021 */ cvt.d.s $f0, $f0 +/* C86BF0 80241140 46220000 */ add.d $f0, $f0, $f2 +/* C86BF4 80241144 E7A60020 */ swc1 $f6, 0x20($sp) +/* C86BF8 80241148 E7A40028 */ swc1 $f4, 0x28($sp) +/* C86BFC 8024114C 46200020 */ cvt.s.d $f0, $f0 +/* C86C00 80241150 E7A00024 */ swc1 $f0, 0x24($sp) +/* C86C04 80241154 E7B40010 */ swc1 $f20, 0x10($sp) +/* C86C08 80241158 E7B60014 */ swc1 $f22, 0x14($sp) +/* C86C0C 8024115C 862200A8 */ lh $v0, 0xa8($s1) +/* C86C10 80241160 0260302D */ daddu $a2, $s3, $zero +/* C86C14 80241164 44820000 */ mtc1 $v0, $f0 +/* C86C18 80241168 00000000 */ nop +/* C86C1C 8024116C 46800020 */ cvt.s.w $f0, $f0 +/* C86C20 80241170 E7A00018 */ swc1 $f0, 0x18($sp) +/* C86C24 80241174 862200A6 */ lh $v0, 0xa6($s1) +/* C86C28 80241178 27B00028 */ addiu $s0, $sp, 0x28 +/* C86C2C 8024117C 44820000 */ mtc1 $v0, $f0 +/* C86C30 80241180 00000000 */ nop +/* C86C34 80241184 46800020 */ cvt.s.w $f0, $f0 +/* C86C38 80241188 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C86C3C 8024118C 8E240080 */ lw $a0, 0x80($s1) +/* C86C40 80241190 0C037711 */ jal func_800DDC44 +/* C86C44 80241194 0200382D */ daddu $a3, $s0, $zero +/* C86C48 80241198 104000CA */ beqz $v0, .L802414C4 +/* C86C4C 8024119C 0280282D */ daddu $a1, $s4, $zero +/* C86C50 802411A0 8EA20000 */ lw $v0, ($s5) +/* C86C54 802411A4 3C018024 */ lui $at, 0x8024 +/* C86C58 802411A8 D4226558 */ ldc1 $f2, 0x6558($at) +/* C86C5C 802411AC C440002C */ lwc1 $f0, 0x2c($v0) +/* C86C60 802411B0 C4460028 */ lwc1 $f6, 0x28($v0) +/* C86C64 802411B4 C4440030 */ lwc1 $f4, 0x30($v0) +/* C86C68 802411B8 46000021 */ cvt.d.s $f0, $f0 +/* C86C6C 802411BC 46220000 */ add.d $f0, $f0, $f2 +/* C86C70 802411C0 E7A60020 */ swc1 $f6, 0x20($sp) +/* C86C74 802411C4 E7A40028 */ swc1 $f4, 0x28($sp) +/* C86C78 802411C8 46200020 */ cvt.s.d $f0, $f0 +/* C86C7C 802411CC E7A00024 */ swc1 $f0, 0x24($sp) +/* C86C80 802411D0 E7B40010 */ swc1 $f20, 0x10($sp) +/* C86C84 802411D4 E7B60014 */ swc1 $f22, 0x14($sp) +/* C86C88 802411D8 862200A8 */ lh $v0, 0xa8($s1) +/* C86C8C 802411DC 44820000 */ mtc1 $v0, $f0 +/* C86C90 802411E0 00000000 */ nop +/* C86C94 802411E4 46800020 */ cvt.s.w $f0, $f0 +/* C86C98 802411E8 E7A00018 */ swc1 $f0, 0x18($sp) +/* C86C9C 802411EC 862200A6 */ lh $v0, 0xa6($s1) +/* C86CA0 802411F0 0260302D */ daddu $a2, $s3, $zero +/* C86CA4 802411F4 44820000 */ mtc1 $v0, $f0 +/* C86CA8 802411F8 00000000 */ nop +/* C86CAC 802411FC 46800020 */ cvt.s.w $f0, $f0 +/* C86CB0 80241200 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C86CB4 80241204 8E240080 */ lw $a0, 0x80($s1) +/* C86CB8 80241208 0C037711 */ jal func_800DDC44 +/* C86CBC 8024120C 0200382D */ daddu $a3, $s0, $zero +/* C86CC0 80241210 27A5002C */ addiu $a1, $sp, 0x2c +/* C86CC4 80241214 27A60030 */ addiu $a2, $sp, 0x30 +/* C86CC8 80241218 27A70034 */ addiu $a3, $sp, 0x34 +/* C86CCC 8024121C 27A30038 */ addiu $v1, $sp, 0x38 +/* C86CD0 80241220 C6220038 */ lwc1 $f2, 0x38($s1) +/* C86CD4 80241224 C620003C */ lwc1 $f0, 0x3c($s1) +/* C86CD8 80241228 3C014348 */ lui $at, 0x4348 +/* C86CDC 8024122C 44813000 */ mtc1 $at, $f6 +/* C86CE0 80241230 46000021 */ cvt.d.s $f0, $f0 +/* C86CE4 80241234 E7A2002C */ swc1 $f2, 0x2c($sp) +/* C86CE8 80241238 3C014059 */ lui $at, 0x4059 +/* C86CEC 8024123C 44811800 */ mtc1 $at, $f3 +/* C86CF0 80241240 44801000 */ mtc1 $zero, $f2 +/* C86CF4 80241244 C6240040 */ lwc1 $f4, 0x40($s1) +/* C86CF8 80241248 46220000 */ add.d $f0, $f0, $f2 +/* C86CFC 8024124C E7A60038 */ swc1 $f6, 0x38($sp) +/* C86D00 80241250 E7A40034 */ swc1 $f4, 0x34($sp) +/* C86D04 80241254 46200020 */ cvt.s.d $f0, $f0 +/* C86D08 80241258 E7A00030 */ swc1 $f0, 0x30($sp) +/* C86D0C 8024125C AFA30010 */ sw $v1, 0x10($sp) +/* C86D10 80241260 8E240080 */ lw $a0, 0x80($s1) +/* C86D14 80241264 0C0372DF */ jal func_800DCB7C +/* C86D18 80241268 0040802D */ daddu $s0, $v0, $zero +/* C86D1C 8024126C 1600001C */ bnez $s0, .L802412E0 +/* C86D20 80241270 00000000 */ nop +/* C86D24 80241274 1040001A */ beqz $v0, .L802412E0 +/* C86D28 80241278 00000000 */ nop +/* C86D2C 8024127C C7A20038 */ lwc1 $f2, 0x38($sp) +/* C86D30 80241280 3C014054 */ lui $at, 0x4054 +/* C86D34 80241284 44810800 */ mtc1 $at, $f1 +/* C86D38 80241288 44800000 */ mtc1 $zero, $f0 +/* C86D3C 8024128C 460010A1 */ cvt.d.s $f2, $f2 +/* C86D40 80241290 4622003C */ c.lt.d $f0, $f2 +/* C86D44 80241294 00000000 */ nop +/* C86D48 80241298 45000011 */ bc1f .L802412E0 +/* C86D4C 8024129C 00000000 */ nop +/* C86D50 802412A0 3C01405E */ lui $at, 0x405e +/* C86D54 802412A4 44810800 */ mtc1 $at, $f1 +/* C86D58 802412A8 44800000 */ mtc1 $zero, $f0 +/* C86D5C 802412AC 00000000 */ nop +/* C86D60 802412B0 4620103C */ c.lt.d $f2, $f0 +/* C86D64 802412B4 00000000 */ nop +/* C86D68 802412B8 45000009 */ bc1f .L802412E0 +/* C86D6C 802412BC 00000000 */ nop +/* C86D70 802412C0 C622003C */ lwc1 $f2, 0x3c($s1) +/* C86D74 802412C4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* C86D78 802412C8 46001032 */ c.eq.s $f2, $f0 +/* C86D7C 802412CC 00000000 */ nop +/* C86D80 802412D0 45010003 */ bc1t .L802412E0 +/* C86D84 802412D4 00000000 */ nop +/* C86D88 802412D8 08090531 */ j .L802414C4 +/* C86D8C 802412DC 241E0001 */ addiu $fp, $zero, 1 +.L802412E0: +/* C86D90 802412E0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* C86D94 802412E4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* C86D98 802412E8 8E020000 */ lw $v0, ($s0) +/* C86D9C 802412EC 3C014024 */ lui $at, 0x4024 +/* C86DA0 802412F0 44811800 */ mtc1 $at, $f3 +/* C86DA4 802412F4 44801000 */ mtc1 $zero, $f2 +/* C86DA8 802412F8 C440002C */ lwc1 $f0, 0x2c($v0) +/* C86DAC 802412FC C4460028 */ lwc1 $f6, 0x28($v0) +/* C86DB0 80241300 C4440030 */ lwc1 $f4, 0x30($v0) +/* C86DB4 80241304 46000021 */ cvt.d.s $f0, $f0 +/* C86DB8 80241308 46220000 */ add.d $f0, $f0, $f2 +/* C86DBC 8024130C E7A60020 */ swc1 $f6, 0x20($sp) +/* C86DC0 80241310 E7A40028 */ swc1 $f4, 0x28($sp) +/* C86DC4 80241314 46200020 */ cvt.s.d $f0, $f0 +/* C86DC8 80241318 E7A00024 */ swc1 $f0, 0x24($sp) +/* C86DCC 8024131C E7B40010 */ swc1 $f20, 0x10($sp) +/* C86DD0 80241320 E7B60014 */ swc1 $f22, 0x14($sp) +/* C86DD4 80241324 862200A8 */ lh $v0, 0xa8($s1) +/* C86DD8 80241328 27A50020 */ addiu $a1, $sp, 0x20 +/* C86DDC 8024132C 44820000 */ mtc1 $v0, $f0 +/* C86DE0 80241330 00000000 */ nop +/* C86DE4 80241334 46800020 */ cvt.s.w $f0, $f0 +/* C86DE8 80241338 E7A00018 */ swc1 $f0, 0x18($sp) +/* C86DEC 8024133C 862200A6 */ lh $v0, 0xa6($s1) +/* C86DF0 80241340 27A60024 */ addiu $a2, $sp, 0x24 +/* C86DF4 80241344 44820000 */ mtc1 $v0, $f0 +/* C86DF8 80241348 00000000 */ nop +/* C86DFC 8024134C 46800020 */ cvt.s.w $f0, $f0 +/* C86E00 80241350 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C86E04 80241354 8E240080 */ lw $a0, 0x80($s1) +/* C86E08 80241358 0C037711 */ jal func_800DDC44 +/* C86E0C 8024135C 27A70028 */ addiu $a3, $sp, 0x28 +/* C86E10 80241360 8FA60020 */ lw $a2, 0x20($sp) +/* C86E14 80241364 8E020000 */ lw $v0, ($s0) +/* C86E18 80241368 8FA70028 */ lw $a3, 0x28($sp) +/* C86E1C 8024136C C44C0028 */ lwc1 $f12, 0x28($v0) +/* C86E20 80241370 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C86E24 80241374 0C00A7B5 */ jal dist2D +/* C86E28 80241378 24170001 */ addiu $s7, $zero, 1 +/* C86E2C 8024137C 46000506 */ mov.s $f20, $f0 +/* C86E30 80241380 8E030000 */ lw $v1, ($s0) +/* C86E34 80241384 862200A6 */ lh $v0, 0xa6($s1) +/* C86E38 80241388 4407C000 */ mfc1 $a3, $f24 +/* C86E3C 8024138C 44824000 */ mtc1 $v0, $f8 +/* C86E40 80241390 00000000 */ nop +/* C86E44 80241394 46804220 */ cvt.s.w $f8, $f8 +/* C86E48 80241398 C4600028 */ lwc1 $f0, 0x28($v1) +/* C86E4C 8024139C 44064000 */ mfc1 $a2, $f8 +/* C86E50 802413A0 26240038 */ addiu $a0, $s1, 0x38 +/* C86E54 802413A4 E6200038 */ swc1 $f0, 0x38($s1) +/* C86E58 802413A8 C4600030 */ lwc1 $f0, 0x30($v1) +/* C86E5C 802413AC 26250040 */ addiu $a1, $s1, 0x40 +/* C86E60 802413B0 0C00A7E7 */ jal add_vec2D_polar +/* C86E64 802413B4 E6200040 */ swc1 $f0, 0x40($s1) +/* C86E68 802413B8 862200A6 */ lh $v0, 0xa6($s1) +/* C86E6C 802413BC 44820000 */ mtc1 $v0, $f0 +/* C86E70 802413C0 00000000 */ nop +/* C86E74 802413C4 46800020 */ cvt.s.w $f0, $f0 +/* C86E78 802413C8 0809052D */ j .L802414B4 +/* C86E7C 802413CC 4600A500 */ add.s $f20, $f20, $f0 +.L802413D0: +/* C86E80 802413D0 8EA20000 */ lw $v0, ($s5) +/* C86E84 802413D4 3C014032 */ lui $at, 0x4032 +/* C86E88 802413D8 44811800 */ mtc1 $at, $f3 +/* C86E8C 802413DC 44801000 */ mtc1 $zero, $f2 +/* C86E90 802413E0 C440002C */ lwc1 $f0, 0x2c($v0) +/* C86E94 802413E4 C4460028 */ lwc1 $f6, 0x28($v0) +/* C86E98 802413E8 C4440030 */ lwc1 $f4, 0x30($v0) +/* C86E9C 802413EC 46000021 */ cvt.d.s $f0, $f0 +/* C86EA0 802413F0 46220000 */ add.d $f0, $f0, $f2 +/* C86EA4 802413F4 E7A60020 */ swc1 $f6, 0x20($sp) +/* C86EA8 802413F8 E7A40028 */ swc1 $f4, 0x28($sp) +/* C86EAC 802413FC 46200020 */ cvt.s.d $f0, $f0 +/* C86EB0 80241400 E7A00024 */ swc1 $f0, 0x24($sp) +/* C86EB4 80241404 E7B40010 */ swc1 $f20, 0x10($sp) +/* C86EB8 80241408 E7B60014 */ swc1 $f22, 0x14($sp) +/* C86EBC 8024140C 862200A8 */ lh $v0, 0xa8($s1) +/* C86EC0 80241410 44820000 */ mtc1 $v0, $f0 +/* C86EC4 80241414 00000000 */ nop +/* C86EC8 80241418 46800020 */ cvt.s.w $f0, $f0 +/* C86ECC 8024141C E7A00018 */ swc1 $f0, 0x18($sp) +/* C86ED0 80241420 862200A6 */ lh $v0, 0xa6($s1) +/* C86ED4 80241424 27A60024 */ addiu $a2, $sp, 0x24 +/* C86ED8 80241428 44820000 */ mtc1 $v0, $f0 +/* C86EDC 8024142C 00000000 */ nop +/* C86EE0 80241430 46800020 */ cvt.s.w $f0, $f0 +/* C86EE4 80241434 E7A0001C */ swc1 $f0, 0x1c($sp) +/* C86EE8 80241438 8E240080 */ lw $a0, 0x80($s1) +/* C86EEC 8024143C 0C037711 */ jal func_800DDC44 +/* C86EF0 80241440 27A70028 */ addiu $a3, $sp, 0x28 +/* C86EF4 80241444 1040001F */ beqz $v0, .L802414C4 +/* C86EF8 80241448 00000000 */ nop +/* C86EFC 8024144C 8FA60020 */ lw $a2, 0x20($sp) +/* C86F00 80241450 8EA20000 */ lw $v0, ($s5) +/* C86F04 80241454 8FA70028 */ lw $a3, 0x28($sp) +/* C86F08 80241458 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C86F0C 8024145C 0C00A7B5 */ jal dist2D +/* C86F10 80241460 C44E0030 */ lwc1 $f14, 0x30($v0) +/* C86F14 80241464 46000506 */ mov.s $f20, $f0 +/* C86F18 80241468 8EA30000 */ lw $v1, ($s5) +/* C86F1C 8024146C 862200A6 */ lh $v0, 0xa6($s1) +/* C86F20 80241470 4407C000 */ mfc1 $a3, $f24 +/* C86F24 80241474 44824000 */ mtc1 $v0, $f8 +/* C86F28 80241478 00000000 */ nop +/* C86F2C 8024147C 46804220 */ cvt.s.w $f8, $f8 +/* C86F30 80241480 C4600028 */ lwc1 $f0, 0x28($v1) +/* C86F34 80241484 44064000 */ mfc1 $a2, $f8 +/* C86F38 80241488 0200202D */ daddu $a0, $s0, $zero +/* C86F3C 8024148C E6200038 */ swc1 $f0, 0x38($s1) +/* C86F40 80241490 C4600030 */ lwc1 $f0, 0x30($v1) +/* C86F44 80241494 0260282D */ daddu $a1, $s3, $zero +/* C86F48 80241498 0C00A7E7 */ jal add_vec2D_polar +/* C86F4C 8024149C E6200040 */ swc1 $f0, 0x40($s1) +/* C86F50 802414A0 862200A6 */ lh $v0, 0xa6($s1) +/* C86F54 802414A4 44820000 */ mtc1 $v0, $f0 +/* C86F58 802414A8 00000000 */ nop +/* C86F5C 802414AC 46800020 */ cvt.s.w $f0, $f0 +/* C86F60 802414B0 4600A500 */ add.s $f20, $f20, $f0 +.L802414B4: +/* C86F64 802414B4 4406B000 */ mfc1 $a2, $f22 +/* C86F68 802414B8 4405A000 */ mfc1 $a1, $f20 +/* C86F6C 802414BC 0C00EA95 */ jal npc_move_heading +/* C86F70 802414C0 0220202D */ daddu $a0, $s1, $zero +.L802414C4: +/* C86F74 802414C4 C6400008 */ lwc1 $f0, 8($s2) +/* C86F78 802414C8 46800020 */ cvt.s.w $f0, $f0 +/* C86F7C 802414CC 44050000 */ mfc1 $a1, $f0 +/* C86F80 802414D0 C640000C */ lwc1 $f0, 0xc($s2) +/* C86F84 802414D4 46800020 */ cvt.s.w $f0, $f0 +/* C86F88 802414D8 44060000 */ mfc1 $a2, $f0 +/* C86F8C 802414DC C6200040 */ lwc1 $f0, 0x40($s1) +/* C86F90 802414E0 26300038 */ addiu $s0, $s1, 0x38 +/* C86F94 802414E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C86F98 802414E8 C6400010 */ lwc1 $f0, 0x10($s2) +/* C86F9C 802414EC 46800020 */ cvt.s.w $f0, $f0 +/* C86FA0 802414F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* C86FA4 802414F4 C6400014 */ lwc1 $f0, 0x14($s2) +/* C86FA8 802414F8 46800020 */ cvt.s.w $f0, $f0 +/* C86FAC 802414FC E7A00018 */ swc1 $f0, 0x18($sp) +/* C86FB0 80241500 8E440004 */ lw $a0, 4($s2) +/* C86FB4 80241504 8E270038 */ lw $a3, 0x38($s1) +/* C86FB8 80241508 0C0123F5 */ jal is_point_within_region +/* C86FBC 8024150C 26330040 */ addiu $s3, $s1, 0x40 +/* C86FC0 80241510 1040005A */ beqz $v0, .L8024167C +/* C86FC4 80241514 00000000 */ nop +/* C86FC8 80241518 8E430004 */ lw $v1, 4($s2) +/* C86FCC 8024151C 10600005 */ beqz $v1, .L80241534 +/* C86FD0 80241520 24020001 */ addiu $v0, $zero, 1 +/* C86FD4 80241524 10620029 */ beq $v1, $v0, .L802415CC +/* C86FD8 80241528 00000000 */ nop +/* C86FDC 8024152C 0809059F */ j .L8024167C +/* C86FE0 80241530 00000000 */ nop +.L80241534: +/* C86FE4 80241534 C6480008 */ lwc1 $f8, 8($s2) +/* C86FE8 80241538 46804220 */ cvt.s.w $f8, $f8 +/* C86FEC 8024153C 44064000 */ mfc1 $a2, $f8 +/* C86FF0 80241540 C648000C */ lwc1 $f8, 0xc($s2) +/* C86FF4 80241544 46804220 */ cvt.s.w $f8, $f8 +/* C86FF8 80241548 C62C0038 */ lwc1 $f12, 0x38($s1) +/* C86FFC 8024154C C62E0040 */ lwc1 $f14, 0x40($s1) +/* C87000 80241550 44074000 */ mfc1 $a3, $f8 +/* C87004 80241554 0C00A7B5 */ jal dist2D +/* C87008 80241558 00000000 */ nop +/* C8700C 8024155C C6420010 */ lwc1 $f2, 0x10($s2) +/* C87010 80241560 468010A0 */ cvt.s.w $f2, $f2 +/* C87014 80241564 4600103C */ c.lt.s $f2, $f0 +/* C87018 80241568 00000000 */ nop +/* C8701C 8024156C 45000043 */ bc1f .L8024167C +/* C87020 80241570 E7A00038 */ swc1 $f0, 0x38($sp) +/* C87024 80241574 C64C0008 */ lwc1 $f12, 8($s2) +/* C87028 80241578 46806320 */ cvt.s.w $f12, $f12 +/* C8702C 8024157C 8E260038 */ lw $a2, 0x38($s1) +/* C87030 80241580 8E270040 */ lw $a3, 0x40($s1) +/* C87034 80241584 C64E000C */ lwc1 $f14, 0xc($s2) +/* C87038 80241588 0C00A720 */ jal atan2 +/* C8703C 8024158C 468073A0 */ cvt.s.w $f14, $f14 +/* C87040 80241590 0200202D */ daddu $a0, $s0, $zero +/* C87044 80241594 44070000 */ mfc1 $a3, $f0 +/* C87048 80241598 C6400008 */ lwc1 $f0, 8($s2) +/* C8704C 8024159C 46800020 */ cvt.s.w $f0, $f0 +/* C87050 802415A0 E6200038 */ swc1 $f0, 0x38($s1) +/* C87054 802415A4 C640000C */ lwc1 $f0, 0xc($s2) +/* C87058 802415A8 46800020 */ cvt.s.w $f0, $f0 +/* C8705C 802415AC E6200040 */ swc1 $f0, 0x40($s1) +/* C87060 802415B0 C6480010 */ lwc1 $f8, 0x10($s2) +/* C87064 802415B4 46804220 */ cvt.s.w $f8, $f8 +/* C87068 802415B8 44064000 */ mfc1 $a2, $f8 +/* C8706C 802415BC 0C00A7E7 */ jal add_vec2D_polar +/* C87070 802415C0 0260282D */ daddu $a1, $s3, $zero +/* C87074 802415C4 0809059F */ j .L8024167C +/* C87078 802415C8 00000000 */ nop +.L802415CC: +/* C8707C 802415CC 8E420008 */ lw $v0, 8($s2) +/* C87080 802415D0 8E430010 */ lw $v1, 0x10($s2) +/* C87084 802415D4 C6200038 */ lwc1 $f0, 0x38($s1) +/* C87088 802415D8 00431021 */ addu $v0, $v0, $v1 +/* C8708C 802415DC 44821000 */ mtc1 $v0, $f2 +/* C87090 802415E0 00000000 */ nop +/* C87094 802415E4 468010A0 */ cvt.s.w $f2, $f2 +/* C87098 802415E8 4600103C */ c.lt.s $f2, $f0 +/* C8709C 802415EC 00000000 */ nop +/* C870A0 802415F0 45030001 */ bc1tl .L802415F8 +/* C870A4 802415F4 E6220038 */ swc1 $f2, 0x38($s1) +.L802415F8: +/* C870A8 802415F8 8E420008 */ lw $v0, 8($s2) +/* C870AC 802415FC 8E430010 */ lw $v1, 0x10($s2) +/* C870B0 80241600 C6200038 */ lwc1 $f0, 0x38($s1) +/* C870B4 80241604 00431023 */ subu $v0, $v0, $v1 +/* C870B8 80241608 44821000 */ mtc1 $v0, $f2 +/* C870BC 8024160C 00000000 */ nop +/* C870C0 80241610 468010A0 */ cvt.s.w $f2, $f2 +/* C870C4 80241614 4602003C */ c.lt.s $f0, $f2 +/* C870C8 80241618 00000000 */ nop +/* C870CC 8024161C 45030001 */ bc1tl .L80241624 +/* C870D0 80241620 E6220038 */ swc1 $f2, 0x38($s1) +.L80241624: +/* C870D4 80241624 8E42000C */ lw $v0, 0xc($s2) +/* C870D8 80241628 8E430014 */ lw $v1, 0x14($s2) +/* C870DC 8024162C C6200040 */ lwc1 $f0, 0x40($s1) +/* C870E0 80241630 00431021 */ addu $v0, $v0, $v1 +/* C870E4 80241634 44821000 */ mtc1 $v0, $f2 +/* C870E8 80241638 00000000 */ nop +/* C870EC 8024163C 468010A0 */ cvt.s.w $f2, $f2 +/* C870F0 80241640 4600103C */ c.lt.s $f2, $f0 +/* C870F4 80241644 00000000 */ nop +/* C870F8 80241648 45030001 */ bc1tl .L80241650 +/* C870FC 8024164C E6220040 */ swc1 $f2, 0x40($s1) +.L80241650: +/* C87100 80241650 8E42000C */ lw $v0, 0xc($s2) +/* C87104 80241654 8E430014 */ lw $v1, 0x14($s2) +/* C87108 80241658 C6200040 */ lwc1 $f0, 0x40($s1) +/* C8710C 8024165C 00431023 */ subu $v0, $v0, $v1 +/* C87110 80241660 44821000 */ mtc1 $v0, $f2 +/* C87114 80241664 00000000 */ nop +/* C87118 80241668 468010A0 */ cvt.s.w $f2, $f2 +/* C8711C 8024166C 4602003C */ c.lt.s $f0, $f2 +/* C87120 80241670 00000000 */ nop +/* C87124 80241674 45030001 */ bc1tl .L8024167C +/* C87128 80241678 E6220040 */ swc1 $f2, 0x40($s1) +.L8024167C: +/* C8712C 8024167C 16E0001F */ bnez $s7, .L802416FC +/* C87130 80241680 00000000 */ nop +/* C87134 80241684 8E220000 */ lw $v0, ($s1) +/* C87138 80241688 30420008 */ andi $v0, $v0, 8 +/* C8713C 8024168C 10400003 */ beqz $v0, .L8024169C +/* C87140 80241690 27A50020 */ addiu $a1, $sp, 0x20 +/* C87144 80241694 13C00019 */ beqz $fp, .L802416FC +/* C87148 80241698 00000000 */ nop +.L8024169C: +/* C8714C 8024169C 27A60024 */ addiu $a2, $sp, 0x24 +/* C87150 802416A0 27A20038 */ addiu $v0, $sp, 0x38 +/* C87154 802416A4 C6220038 */ lwc1 $f2, 0x38($s1) +/* C87158 802416A8 C620003C */ lwc1 $f0, 0x3c($s1) +/* C8715C 802416AC 3C0143C8 */ lui $at, 0x43c8 +/* C87160 802416B0 44813000 */ mtc1 $at, $f6 +/* C87164 802416B4 46000021 */ cvt.d.s $f0, $f0 +/* C87168 802416B8 E7A20020 */ swc1 $f2, 0x20($sp) +/* C8716C 802416BC 3C018024 */ lui $at, 0x8024 +/* C87170 802416C0 D4226560 */ ldc1 $f2, 0x6560($at) +/* C87174 802416C4 C6240040 */ lwc1 $f4, 0x40($s1) +/* C87178 802416C8 46220000 */ add.d $f0, $f0, $f2 +/* C8717C 802416CC E7A60038 */ swc1 $f6, 0x38($sp) +/* C87180 802416D0 E7A40028 */ swc1 $f4, 0x28($sp) +/* C87184 802416D4 46200020 */ cvt.s.d $f0, $f0 +/* C87188 802416D8 E7A00024 */ swc1 $f0, 0x24($sp) +/* C8718C 802416DC AFA20010 */ sw $v0, 0x10($sp) +/* C87190 802416E0 8E240080 */ lw $a0, 0x80($s1) +/* C87194 802416E4 0C0372DF */ jal func_800DCB7C +/* C87198 802416E8 27A70028 */ addiu $a3, $sp, 0x28 +/* C8719C 802416EC 10400003 */ beqz $v0, .L802416FC +/* C871A0 802416F0 00000000 */ nop +/* C871A4 802416F4 C7A00024 */ lwc1 $f0, 0x24($sp) +/* C871A8 802416F8 E620003C */ swc1 $f0, 0x3c($s1) +.L802416FC: +/* C871AC 802416FC C62C0038 */ lwc1 $f12, 0x38($s1) +/* C871B0 80241700 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C871B4 80241704 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C871B8 80241708 C62E0040 */ lwc1 $f14, 0x40($s1) +/* C871BC 8024170C 8C460028 */ lw $a2, 0x28($v0) +/* C871C0 80241710 0C00A720 */ jal atan2 +/* C871C4 80241714 8C470030 */ lw $a3, 0x30($v0) +/* C871C8 80241718 0220202D */ daddu $a0, $s1, $zero +/* C871CC 8024171C 24050321 */ addiu $a1, $zero, 0x321 +/* C871D0 80241720 0000302D */ daddu $a2, $zero, $zero +/* C871D4 80241724 0C012530 */ jal func_800494C0 +/* C871D8 80241728 E620000C */ swc1 $f0, 0xc($s1) +/* C871DC 8024172C 8EC200CC */ lw $v0, 0xcc($s6) +/* C871E0 80241730 8C420024 */ lw $v0, 0x24($v0) +/* C871E4 80241734 AE220028 */ sw $v0, 0x28($s1) +/* C871E8 80241738 96C20096 */ lhu $v0, 0x96($s6) +/* C871EC 8024173C A622008E */ sh $v0, 0x8e($s1) +/* C871F0 80241740 8FA80080 */ lw $t0, 0x80($sp) +/* C871F4 80241744 2402000B */ addiu $v0, $zero, 0xb +/* C871F8 80241748 AD020070 */ sw $v0, 0x70($t0) +.L8024174C: +/* C871FC 8024174C 8FBF0064 */ lw $ra, 0x64($sp) +/* C87200 80241750 8FBE0060 */ lw $fp, 0x60($sp) +/* C87204 80241754 8FB7005C */ lw $s7, 0x5c($sp) +/* C87208 80241758 8FB60058 */ lw $s6, 0x58($sp) +/* C8720C 8024175C 8FB50054 */ lw $s5, 0x54($sp) +/* C87210 80241760 8FB40050 */ lw $s4, 0x50($sp) +/* C87214 80241764 8FB3004C */ lw $s3, 0x4c($sp) +/* C87218 80241768 8FB20048 */ lw $s2, 0x48($sp) +/* C8721C 8024176C 8FB10044 */ lw $s1, 0x44($sp) +/* C87220 80241770 8FB00040 */ lw $s0, 0x40($sp) +/* C87224 80241774 D7B80078 */ ldc1 $f24, 0x78($sp) +/* C87228 80241778 D7B60070 */ ldc1 $f22, 0x70($sp) +/* C8722C 8024177C D7B40068 */ ldc1 $f20, 0x68($sp) +/* C87230 80241780 03E00008 */ jr $ra +/* C87234 80241784 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241788_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241788_C85AB0.s new file mode 100644 index 0000000000..5636bcef6e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241788_C85AB0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241788_C87238 +/* C87238 80241788 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8723C 8024178C AFB10014 */ sw $s1, 0x14($sp) +/* C87240 80241790 0080882D */ daddu $s1, $a0, $zero +/* C87244 80241794 AFBF0018 */ sw $ra, 0x18($sp) +/* C87248 80241798 AFB00010 */ sw $s0, 0x10($sp) +/* C8724C 8024179C 8E300148 */ lw $s0, 0x148($s1) +/* C87250 802417A0 0C00EABB */ jal get_npc_unsafe +/* C87254 802417A4 86040008 */ lh $a0, 8($s0) +/* C87258 802417A8 0040202D */ daddu $a0, $v0, $zero +/* C8725C 802417AC 9482008E */ lhu $v0, 0x8e($a0) +/* C87260 802417B0 2442FFFF */ addiu $v0, $v0, -1 +/* C87264 802417B4 A482008E */ sh $v0, 0x8e($a0) +/* C87268 802417B8 00021400 */ sll $v0, $v0, 0x10 +/* C8726C 802417BC 8E030098 */ lw $v1, 0x98($s0) +/* C87270 802417C0 00021403 */ sra $v0, $v0, 0x10 +/* C87274 802417C4 0062182A */ slt $v1, $v1, $v0 +/* C87278 802417C8 14600005 */ bnez $v1, .L802417E0 +/* C8727C 802417CC 3C03E0EF */ lui $v1, 0xe0ef +/* C87280 802417D0 8E020000 */ lw $v0, ($s0) +/* C87284 802417D4 3463FFFF */ ori $v1, $v1, 0xffff +/* C87288 802417D8 00431024 */ and $v0, $v0, $v1 +/* C8728C 802417DC AE020000 */ sw $v0, ($s0) +.L802417E0: +/* C87290 802417E0 8482008E */ lh $v0, 0x8e($a0) +/* C87294 802417E4 14400007 */ bnez $v0, .L80241804 +/* C87298 802417E8 00000000 */ nop +/* C8729C 802417EC 8E0200CC */ lw $v0, 0xcc($s0) +/* C872A0 802417F0 8C420028 */ lw $v0, 0x28($v0) +/* C872A4 802417F4 A480008E */ sh $zero, 0x8e($a0) +/* C872A8 802417F8 AC820028 */ sw $v0, 0x28($a0) +/* C872AC 802417FC 2402000C */ addiu $v0, $zero, 0xc +/* C872B0 80241800 AE220070 */ sw $v0, 0x70($s1) +.L80241804: +/* C872B4 80241804 8FBF0018 */ lw $ra, 0x18($sp) +/* C872B8 80241808 8FB10014 */ lw $s1, 0x14($sp) +/* C872BC 8024180C 8FB00010 */ lw $s0, 0x10($sp) +/* C872C0 80241810 03E00008 */ jr $ra +/* C872C4 80241814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241818_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241818_C85AB0.s new file mode 100644 index 0000000000..d9b8a84897 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241818_C85AB0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241818_C872C8 +/* C872C8 80241818 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* C872CC 8024181C AFB10034 */ sw $s1, 0x34($sp) +/* C872D0 80241820 0080882D */ daddu $s1, $a0, $zero +/* C872D4 80241824 AFBF0038 */ sw $ra, 0x38($sp) +/* C872D8 80241828 AFB00030 */ sw $s0, 0x30($sp) +/* C872DC 8024182C 8E300148 */ lw $s0, 0x148($s1) +/* C872E0 80241830 0C00EABB */ jal get_npc_unsafe +/* C872E4 80241834 86040008 */ lh $a0, 8($s0) +/* C872E8 80241838 0040282D */ daddu $a1, $v0, $zero +/* C872EC 8024183C 94A2008E */ lhu $v0, 0x8e($a1) +/* C872F0 80241840 24420001 */ addiu $v0, $v0, 1 +/* C872F4 80241844 A4A2008E */ sh $v0, 0x8e($a1) +/* C872F8 80241848 00021400 */ sll $v0, $v0, 0x10 +/* C872FC 8024184C 8E0300A0 */ lw $v1, 0xa0($s0) +/* C87300 80241850 00021403 */ sra $v0, $v0, 0x10 +/* C87304 80241854 14430004 */ bne $v0, $v1, .L80241868 +/* C87308 80241858 00000000 */ nop +/* C8730C 8024185C 8E0200CC */ lw $v0, 0xcc($s0) +/* C87310 80241860 8C42002C */ lw $v0, 0x2c($v0) +/* C87314 80241864 ACA20028 */ sw $v0, 0x28($a1) +.L80241868: +/* C87318 80241868 84A3008E */ lh $v1, 0x8e($a1) +/* C8731C 8024186C 8E0200A4 */ lw $v0, 0xa4($s0) +/* C87320 80241870 14620002 */ bne $v1, $v0, .L8024187C +/* C87324 80241874 24020003 */ addiu $v0, $zero, 3 +/* C87328 80241878 AE02006C */ sw $v0, 0x6c($s0) +.L8024187C: +/* C8732C 8024187C 84A2008E */ lh $v0, 0x8e($a1) +/* C87330 80241880 8E03009C */ lw $v1, 0x9c($s0) +/* C87334 80241884 0043102A */ slt $v0, $v0, $v1 +/* C87338 80241888 1440001E */ bnez $v0, .L80241904 +/* C8733C 8024188C 24020004 */ addiu $v0, $zero, 4 +/* C87340 80241890 AE02006C */ sw $v0, 0x6c($s0) +/* C87344 80241894 24020008 */ addiu $v0, $zero, 8 +/* C87348 80241898 24040003 */ addiu $a0, $zero, 3 +/* C8734C 8024189C A4A2008E */ sh $v0, 0x8e($a1) +/* C87350 802418A0 8E0200CC */ lw $v0, 0xcc($s0) +/* C87354 802418A4 84A300A8 */ lh $v1, 0xa8($a1) +/* C87358 802418A8 3C013F80 */ lui $at, 0x3f80 +/* C8735C 802418AC 44810000 */ mtc1 $at, $f0 +/* C87360 802418B0 3C014000 */ lui $at, 0x4000 +/* C87364 802418B4 44811000 */ mtc1 $at, $f2 +/* C87368 802418B8 3C01C1A0 */ lui $at, 0xc1a0 +/* C8736C 802418BC 44812000 */ mtc1 $at, $f4 +/* C87370 802418C0 44833000 */ mtc1 $v1, $f6 +/* C87374 802418C4 00000000 */ nop +/* C87378 802418C8 468031A0 */ cvt.s.w $f6, $f6 +/* C8737C 802418CC 8C420000 */ lw $v0, ($v0) +/* C87380 802418D0 44073000 */ mfc1 $a3, $f6 +/* C87384 802418D4 0000302D */ daddu $a2, $zero, $zero +/* C87388 802418D8 ACA20028 */ sw $v0, 0x28($a1) +/* C8738C 802418DC 2402000A */ addiu $v0, $zero, 0xa +/* C87390 802418E0 AFA2001C */ sw $v0, 0x1c($sp) +/* C87394 802418E4 27A20028 */ addiu $v0, $sp, 0x28 +/* C87398 802418E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8739C 802418EC E7A20014 */ swc1 $f2, 0x14($sp) +/* C873A0 802418F0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C873A4 802418F4 0C01BFA4 */ jal fx_emote +/* C873A8 802418F8 AFA20020 */ sw $v0, 0x20($sp) +/* C873AC 802418FC 2402000D */ addiu $v0, $zero, 0xd +/* C873B0 80241900 AE220070 */ sw $v0, 0x70($s1) +.L80241904: +/* C873B4 80241904 8FBF0038 */ lw $ra, 0x38($sp) +/* C873B8 80241908 8FB10034 */ lw $s1, 0x34($sp) +/* C873BC 8024190C 8FB00030 */ lw $s0, 0x30($sp) +/* C873C0 80241910 03E00008 */ jr $ra +/* C873C4 80241914 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241918_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241918_C85AB0.s new file mode 100644 index 0000000000..dae24c4e5f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241918_C85AB0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241918_C873C8 +/* C873C8 80241918 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C873CC 8024191C AFB10014 */ sw $s1, 0x14($sp) +/* C873D0 80241920 0080882D */ daddu $s1, $a0, $zero +/* C873D4 80241924 AFBF0018 */ sw $ra, 0x18($sp) +/* C873D8 80241928 AFB00010 */ sw $s0, 0x10($sp) +/* C873DC 8024192C 8E300148 */ lw $s0, 0x148($s1) +/* C873E0 80241930 0C00EABB */ jal get_npc_unsafe +/* C873E4 80241934 86040008 */ lh $a0, 8($s0) +/* C873E8 80241938 0040182D */ daddu $v1, $v0, $zero +/* C873EC 8024193C 9462008E */ lhu $v0, 0x8e($v1) +/* C873F0 80241940 2442FFFF */ addiu $v0, $v0, -1 +/* C873F4 80241944 A462008E */ sh $v0, 0x8e($v1) +/* C873F8 80241948 00021400 */ sll $v0, $v0, 0x10 +/* C873FC 8024194C 14400005 */ bnez $v0, .L80241964 +/* C87400 80241950 00000000 */ nop +/* C87404 80241954 960200AA */ lhu $v0, 0xaa($s0) +/* C87408 80241958 A462008E */ sh $v0, 0x8e($v1) +/* C8740C 8024195C 2402000E */ addiu $v0, $zero, 0xe +/* C87410 80241960 AE220070 */ sw $v0, 0x70($s1) +.L80241964: +/* C87414 80241964 8FBF0018 */ lw $ra, 0x18($sp) +/* C87418 80241968 8FB10014 */ lw $s1, 0x14($sp) +/* C8741C 8024196C 8FB00010 */ lw $s0, 0x10($sp) +/* C87420 80241970 03E00008 */ jr $ra +/* C87424 80241974 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241978_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241978_C85AB0.s new file mode 100644 index 0000000000..864cd4e624 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241978_C85AB0.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241978_C87428 +/* C87428 80241978 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C8742C 8024197C AFB40040 */ sw $s4, 0x40($sp) +/* C87430 80241980 0080A02D */ daddu $s4, $a0, $zero +/* C87434 80241984 AFBF0044 */ sw $ra, 0x44($sp) +/* C87438 80241988 AFB3003C */ sw $s3, 0x3c($sp) +/* C8743C 8024198C AFB20038 */ sw $s2, 0x38($sp) +/* C87440 80241990 AFB10034 */ sw $s1, 0x34($sp) +/* C87444 80241994 AFB00030 */ sw $s0, 0x30($sp) +/* C87448 80241998 8E910148 */ lw $s1, 0x148($s4) +/* C8744C 8024199C 00A0902D */ daddu $s2, $a1, $zero +/* C87450 802419A0 86240008 */ lh $a0, 8($s1) +/* C87454 802419A4 0C00EABB */ jal get_npc_unsafe +/* C87458 802419A8 00C0982D */ daddu $s3, $a2, $zero +/* C8745C 802419AC 0040802D */ daddu $s0, $v0, $zero +/* C87460 802419B0 9602008E */ lhu $v0, 0x8e($s0) +/* C87464 802419B4 2442FFFF */ addiu $v0, $v0, -1 +/* C87468 802419B8 A602008E */ sh $v0, 0x8e($s0) +/* C8746C 802419BC 00021400 */ sll $v0, $v0, 0x10 +/* C87470 802419C0 14400020 */ bnez $v0, .L80241A44 +/* C87474 802419C4 0260202D */ daddu $a0, $s3, $zero +/* C87478 802419C8 AFA00010 */ sw $zero, 0x10($sp) +/* C8747C 802419CC 8E46000C */ lw $a2, 0xc($s2) +/* C87480 802419D0 8E470010 */ lw $a3, 0x10($s2) +/* C87484 802419D4 0C01242D */ jal func_800490B4 +/* C87488 802419D8 0220282D */ daddu $a1, $s1, $zero +/* C8748C 802419DC 54400018 */ bnel $v0, $zero, .L80241A40 +/* C87490 802419E0 A600008E */ sh $zero, 0x8e($s0) +/* C87494 802419E4 24040002 */ addiu $a0, $zero, 2 +/* C87498 802419E8 0200282D */ daddu $a1, $s0, $zero +/* C8749C 802419EC 0000302D */ daddu $a2, $zero, $zero +/* C874A0 802419F0 860300A8 */ lh $v1, 0xa8($s0) +/* C874A4 802419F4 3C013F80 */ lui $at, 0x3f80 +/* C874A8 802419F8 44810000 */ mtc1 $at, $f0 +/* C874AC 802419FC 3C014000 */ lui $at, 0x4000 +/* C874B0 80241A00 44811000 */ mtc1 $at, $f2 +/* C874B4 80241A04 3C01C1A0 */ lui $at, 0xc1a0 +/* C874B8 80241A08 44812000 */ mtc1 $at, $f4 +/* C874BC 80241A0C 2402000F */ addiu $v0, $zero, 0xf +/* C874C0 80241A10 AFA2001C */ sw $v0, 0x1c($sp) +/* C874C4 80241A14 44833000 */ mtc1 $v1, $f6 +/* C874C8 80241A18 00000000 */ nop +/* C874CC 80241A1C 468031A0 */ cvt.s.w $f6, $f6 +/* C874D0 80241A20 44073000 */ mfc1 $a3, $f6 +/* C874D4 80241A24 27A20028 */ addiu $v0, $sp, 0x28 +/* C874D8 80241A28 AFA20020 */ sw $v0, 0x20($sp) +/* C874DC 80241A2C E7A00010 */ swc1 $f0, 0x10($sp) +/* C874E0 80241A30 E7A20014 */ swc1 $f2, 0x14($sp) +/* C874E4 80241A34 0C01BFA4 */ jal fx_emote +/* C874E8 80241A38 E7A40018 */ swc1 $f4, 0x18($sp) +/* C874EC 80241A3C A600008E */ sh $zero, 0x8e($s0) +.L80241A40: +/* C874F0 80241A40 AE800070 */ sw $zero, 0x70($s4) +.L80241A44: +/* C874F4 80241A44 8FBF0044 */ lw $ra, 0x44($sp) +/* C874F8 80241A48 8FB40040 */ lw $s4, 0x40($sp) +/* C874FC 80241A4C 8FB3003C */ lw $s3, 0x3c($sp) +/* C87500 80241A50 8FB20038 */ lw $s2, 0x38($sp) +/* C87504 80241A54 8FB10034 */ lw $s1, 0x34($sp) +/* C87508 80241A58 8FB00030 */ lw $s0, 0x30($sp) +/* C8750C 80241A5C 03E00008 */ jr $ra +/* C87510 80241A60 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241A64_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241A64_C85AB0.s new file mode 100644 index 0000000000..fc34ece226 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241A64_C85AB0.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A64_C87514 +/* C87514 80241A64 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C87518 80241A68 AFB20038 */ sw $s2, 0x38($sp) +/* C8751C 80241A6C 0080902D */ daddu $s2, $a0, $zero +/* C87520 80241A70 AFBF0048 */ sw $ra, 0x48($sp) +/* C87524 80241A74 AFB50044 */ sw $s5, 0x44($sp) +/* C87528 80241A78 AFB40040 */ sw $s4, 0x40($sp) +/* C8752C 80241A7C AFB3003C */ sw $s3, 0x3c($sp) +/* C87530 80241A80 AFB10034 */ sw $s1, 0x34($sp) +/* C87534 80241A84 AFB00030 */ sw $s0, 0x30($sp) +/* C87538 80241A88 8E510148 */ lw $s1, 0x148($s2) +/* C8753C 80241A8C 86240008 */ lh $a0, 8($s1) +/* C87540 80241A90 0C00EABB */ jal get_npc_unsafe +/* C87544 80241A94 00A0802D */ daddu $s0, $a1, $zero +/* C87548 80241A98 8E43000C */ lw $v1, 0xc($s2) +/* C8754C 80241A9C 0240202D */ daddu $a0, $s2, $zero +/* C87550 80241AA0 8C650000 */ lw $a1, ($v1) +/* C87554 80241AA4 0C0B1EAF */ jal get_variable +/* C87558 80241AA8 0040A82D */ daddu $s5, $v0, $zero +/* C8755C 80241AAC AFA00010 */ sw $zero, 0x10($sp) +/* C87560 80241AB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87564 80241AB4 8C630030 */ lw $v1, 0x30($v1) +/* C87568 80241AB8 AFA30014 */ sw $v1, 0x14($sp) +/* C8756C 80241ABC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87570 80241AC0 8C63001C */ lw $v1, 0x1c($v1) +/* C87574 80241AC4 AFA30018 */ sw $v1, 0x18($sp) +/* C87578 80241AC8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C8757C 80241ACC 8C630024 */ lw $v1, 0x24($v1) +/* C87580 80241AD0 AFA3001C */ sw $v1, 0x1c($sp) +/* C87584 80241AD4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87588 80241AD8 8C630028 */ lw $v1, 0x28($v1) +/* C8758C 80241ADC 27B40010 */ addiu $s4, $sp, 0x10 +/* C87590 80241AE0 AFA30020 */ sw $v1, 0x20($sp) +/* C87594 80241AE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87598 80241AE8 3C014348 */ lui $at, 0x4348 +/* C8759C 80241AEC 44810000 */ mtc1 $at, $f0 +/* C875A0 80241AF0 8C63002C */ lw $v1, 0x2c($v1) +/* C875A4 80241AF4 0040982D */ daddu $s3, $v0, $zero +/* C875A8 80241AF8 E7A00028 */ swc1 $f0, 0x28($sp) +/* C875AC 80241AFC A7A0002C */ sh $zero, 0x2c($sp) +/* C875B0 80241B00 16000005 */ bnez $s0, .L80241B18 +/* C875B4 80241B04 AFA30024 */ sw $v1, 0x24($sp) +/* C875B8 80241B08 8E2200B0 */ lw $v0, 0xb0($s1) +/* C875BC 80241B0C 30420004 */ andi $v0, $v0, 4 +/* C875C0 80241B10 10400011 */ beqz $v0, .L80241B58 +/* C875C4 80241B14 00000000 */ nop +.L80241B18: +/* C875C8 80241B18 AE400070 */ sw $zero, 0x70($s2) +/* C875CC 80241B1C A6A0008E */ sh $zero, 0x8e($s5) +/* C875D0 80241B20 8E2200CC */ lw $v0, 0xcc($s1) +/* C875D4 80241B24 8C420000 */ lw $v0, ($v0) +/* C875D8 80241B28 AEA20028 */ sw $v0, 0x28($s5) +/* C875DC 80241B2C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C875E0 80241B30 30420004 */ andi $v0, $v0, 4 +/* C875E4 80241B34 10400008 */ beqz $v0, .L80241B58 +/* C875E8 80241B38 AE20006C */ sw $zero, 0x6c($s1) +/* C875EC 80241B3C 24020063 */ addiu $v0, $zero, 0x63 +/* C875F0 80241B40 AE420070 */ sw $v0, 0x70($s2) +/* C875F4 80241B44 AE400074 */ sw $zero, 0x74($s2) +/* C875F8 80241B48 8E2200B0 */ lw $v0, 0xb0($s1) +/* C875FC 80241B4C 2403FFFB */ addiu $v1, $zero, -5 +/* C87600 80241B50 00431024 */ and $v0, $v0, $v1 +/* C87604 80241B54 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241B58: +/* C87608 80241B58 8E430070 */ lw $v1, 0x70($s2) +/* C8760C 80241B5C 2410000B */ addiu $s0, $zero, 0xb +/* C87610 80241B60 1070002A */ beq $v1, $s0, .L80241C0C +/* C87614 80241B64 2862000C */ slti $v0, $v1, 0xc +/* C87618 80241B68 1040000D */ beqz $v0, .L80241BA0 +/* C8761C 80241B6C 24020001 */ addiu $v0, $zero, 1 +/* C87620 80241B70 1062001A */ beq $v1, $v0, .L80241BDC +/* C87624 80241B74 28620002 */ slti $v0, $v1, 2 +/* C87628 80241B78 10400005 */ beqz $v0, .L80241B90 +/* C8762C 80241B7C 2402000A */ addiu $v0, $zero, 0xa +/* C87630 80241B80 10600013 */ beqz $v1, .L80241BD0 +/* C87634 80241B84 0240202D */ daddu $a0, $s2, $zero +/* C87638 80241B88 08090723 */ j .L80241C8C +/* C8763C 80241B8C 00000000 */ nop +.L80241B90: +/* C87640 80241B90 10620018 */ beq $v1, $v0, .L80241BF4 +/* C87644 80241B94 0240202D */ daddu $a0, $s2, $zero +/* C87648 80241B98 08090723 */ j .L80241C8C +/* C8764C 80241B9C 00000000 */ nop +.L80241BA0: +/* C87650 80241BA0 2402000D */ addiu $v0, $zero, 0xd +/* C87654 80241BA4 10620029 */ beq $v1, $v0, .L80241C4C +/* C87658 80241BA8 0062102A */ slt $v0, $v1, $v0 +/* C8765C 80241BAC 14400020 */ bnez $v0, .L80241C30 +/* C87660 80241BB0 0240202D */ daddu $a0, $s2, $zero +/* C87664 80241BB4 2402000E */ addiu $v0, $zero, 0xe +/* C87668 80241BB8 1062002D */ beq $v1, $v0, .L80241C70 +/* C8766C 80241BBC 24020063 */ addiu $v0, $zero, 0x63 +/* C87670 80241BC0 10620030 */ beq $v1, $v0, .L80241C84 +/* C87674 80241BC4 00000000 */ nop +/* C87678 80241BC8 08090723 */ j .L80241C8C +/* C8767C 80241BCC 00000000 */ nop +.L80241BD0: +/* C87680 80241BD0 0260282D */ daddu $a1, $s3, $zero +/* C87684 80241BD4 0C0902F8 */ jal func_80240BE0 +/* C87688 80241BD8 0280302D */ daddu $a2, $s4, $zero +.L80241BDC: +/* C8768C 80241BDC 0240202D */ daddu $a0, $s2, $zero +/* C87690 80241BE0 0260282D */ daddu $a1, $s3, $zero +/* C87694 80241BE4 0C090313 */ jal func_80240C4C +/* C87698 80241BE8 0280302D */ daddu $a2, $s4, $zero +/* C8769C 80241BEC 08090723 */ j .L80241C8C +/* C876A0 80241BF0 00000000 */ nop +.L80241BF4: +/* C876A4 80241BF4 0260282D */ daddu $a1, $s3, $zero +/* C876A8 80241BF8 0C090352 */ jal func_80240D48 +/* C876AC 80241BFC 0280302D */ daddu $a2, $s4, $zero +/* C876B0 80241C00 8E420070 */ lw $v0, 0x70($s2) +/* C876B4 80241C04 14500021 */ bne $v0, $s0, .L80241C8C +/* C876B8 80241C08 00000000 */ nop +.L80241C0C: +/* C876BC 80241C0C 0240202D */ daddu $a0, $s2, $zero +/* C876C0 80241C10 0260282D */ daddu $a1, $s3, $zero +/* C876C4 80241C14 0C0905E2 */ jal func_80241788 +/* C876C8 80241C18 0280302D */ daddu $a2, $s4, $zero +/* C876CC 80241C1C 8E430070 */ lw $v1, 0x70($s2) +/* C876D0 80241C20 2402000C */ addiu $v0, $zero, 0xc +/* C876D4 80241C24 14620019 */ bne $v1, $v0, .L80241C8C +/* C876D8 80241C28 00000000 */ nop +/* C876DC 80241C2C 0240202D */ daddu $a0, $s2, $zero +.L80241C30: +/* C876E0 80241C30 0260282D */ daddu $a1, $s3, $zero +/* C876E4 80241C34 0C090606 */ jal func_80241818 +/* C876E8 80241C38 0280302D */ daddu $a2, $s4, $zero +/* C876EC 80241C3C 8E430070 */ lw $v1, 0x70($s2) +/* C876F0 80241C40 2402000D */ addiu $v0, $zero, 0xd +/* C876F4 80241C44 14620011 */ bne $v1, $v0, .L80241C8C +/* C876F8 80241C48 00000000 */ nop +.L80241C4C: +/* C876FC 80241C4C 0240202D */ daddu $a0, $s2, $zero +/* C87700 80241C50 0260282D */ daddu $a1, $s3, $zero +/* C87704 80241C54 0C090646 */ jal func_80241918 +/* C87708 80241C58 0280302D */ daddu $a2, $s4, $zero +/* C8770C 80241C5C 8E430070 */ lw $v1, 0x70($s2) +/* C87710 80241C60 2402000E */ addiu $v0, $zero, 0xe +/* C87714 80241C64 14620009 */ bne $v1, $v0, .L80241C8C +/* C87718 80241C68 00000000 */ nop +/* C8771C 80241C6C 0240202D */ daddu $a0, $s2, $zero +.L80241C70: +/* C87720 80241C70 0260282D */ daddu $a1, $s3, $zero +/* C87724 80241C74 0C09065E */ jal func_80241978 +/* C87728 80241C78 0280302D */ daddu $a2, $s4, $zero +/* C8772C 80241C7C 08090723 */ j .L80241C8C +/* C87730 80241C80 00000000 */ nop +.L80241C84: +/* C87734 80241C84 0C0129CF */ jal func_8004A73C +/* C87738 80241C88 0240202D */ daddu $a0, $s2, $zero +.L80241C8C: +/* C8773C 80241C8C 8FBF0048 */ lw $ra, 0x48($sp) +/* C87740 80241C90 8FB50044 */ lw $s5, 0x44($sp) +/* C87744 80241C94 8FB40040 */ lw $s4, 0x40($sp) +/* C87748 80241C98 8FB3003C */ lw $s3, 0x3c($sp) +/* C8774C 80241C9C 8FB20038 */ lw $s2, 0x38($sp) +/* C87750 80241CA0 8FB10034 */ lw $s1, 0x34($sp) +/* C87754 80241CA4 8FB00030 */ lw $s0, 0x30($sp) +/* C87758 80241CA8 0000102D */ daddu $v0, $zero, $zero +/* C8775C 80241CAC 03E00008 */ jr $ra +/* C87760 80241CB0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241CB4_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241CB4_C85AB0.s new file mode 100644 index 0000000000..2dc6ad0da2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241CB4_C85AB0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CB4_C87764 +/* C87764 80241CB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C87768 80241CB8 AFB20018 */ sw $s2, 0x18($sp) +/* C8776C 80241CBC 0080902D */ daddu $s2, $a0, $zero +/* C87770 80241CC0 AFBF001C */ sw $ra, 0x1c($sp) +/* C87774 80241CC4 AFB10014 */ sw $s1, 0x14($sp) +/* C87778 80241CC8 AFB00010 */ sw $s0, 0x10($sp) +/* C8777C 80241CCC 8E510148 */ lw $s1, 0x148($s2) +/* C87780 80241CD0 0C00EABB */ jal get_npc_unsafe +/* C87784 80241CD4 86240008 */ lh $a0, 8($s1) +/* C87788 80241CD8 0040802D */ daddu $s0, $v0, $zero +/* C8778C 80241CDC 8E2300CC */ lw $v1, 0xcc($s1) +/* C87790 80241CE0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* C87794 80241CE4 8C630020 */ lw $v1, 0x20($v1) +/* C87798 80241CE8 AE030028 */ sw $v1, 0x28($s0) +/* C8779C 80241CEC 96220076 */ lhu $v0, 0x76($s1) +/* C877A0 80241CF0 A602008E */ sh $v0, 0x8e($s0) +/* C877A4 80241CF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C877A8 80241CF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C877AC 80241CFC C60E0040 */ lwc1 $f14, 0x40($s0) +/* C877B0 80241D00 8C460028 */ lw $a2, 0x28($v0) +/* C877B4 80241D04 0C00A720 */ jal atan2 +/* C877B8 80241D08 8C470030 */ lw $a3, 0x30($v0) +/* C877BC 80241D0C 2402000D */ addiu $v0, $zero, 0xd +/* C877C0 80241D10 E600000C */ swc1 $f0, 0xc($s0) +/* C877C4 80241D14 AE420070 */ sw $v0, 0x70($s2) +/* C877C8 80241D18 8FBF001C */ lw $ra, 0x1c($sp) +/* C877CC 80241D1C 8FB20018 */ lw $s2, 0x18($sp) +/* C877D0 80241D20 8FB10014 */ lw $s1, 0x14($sp) +/* C877D4 80241D24 8FB00010 */ lw $s0, 0x10($sp) +/* C877D8 80241D28 03E00008 */ jr $ra +/* C877DC 80241D2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241D30_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241D30_C85AB0.s new file mode 100644 index 0000000000..08e4432322 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241D30_C85AB0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D30_C877E0 +/* C877E0 80241D30 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C877E4 80241D34 AFB3001C */ sw $s3, 0x1c($sp) +/* C877E8 80241D38 0080982D */ daddu $s3, $a0, $zero +/* C877EC 80241D3C AFBF0020 */ sw $ra, 0x20($sp) +/* C877F0 80241D40 AFB20018 */ sw $s2, 0x18($sp) +/* C877F4 80241D44 AFB10014 */ sw $s1, 0x14($sp) +/* C877F8 80241D48 AFB00010 */ sw $s0, 0x10($sp) +/* C877FC 80241D4C 8E710148 */ lw $s1, 0x148($s3) +/* C87800 80241D50 86240008 */ lh $a0, 8($s1) +/* C87804 80241D54 0C00EABB */ jal get_npc_unsafe +/* C87808 80241D58 00A0902D */ daddu $s2, $a1, $zero +/* C8780C 80241D5C 0040802D */ daddu $s0, $v0, $zero +/* C87810 80241D60 8602008E */ lh $v0, 0x8e($s0) +/* C87814 80241D64 9603008E */ lhu $v1, 0x8e($s0) +/* C87818 80241D68 18400005 */ blez $v0, .L80241D80 +/* C8781C 80241D6C 2462FFFF */ addiu $v0, $v1, -1 +/* C87820 80241D70 A602008E */ sh $v0, 0x8e($s0) +/* C87824 80241D74 00021400 */ sll $v0, $v0, 0x10 +/* C87828 80241D78 1C400033 */ bgtz $v0, .L80241E48 +/* C8782C 80241D7C 00000000 */ nop +.L80241D80: +/* C87830 80241D80 8602008C */ lh $v0, 0x8c($s0) +/* C87834 80241D84 14400030 */ bnez $v0, .L80241E48 +/* C87838 80241D88 00000000 */ nop +/* C8783C 80241D8C 8E2200CC */ lw $v0, 0xcc($s1) +/* C87840 80241D90 8C420024 */ lw $v0, 0x24($v0) +/* C87844 80241D94 AE020028 */ sw $v0, 0x28($s0) +/* C87848 80241D98 C6400018 */ lwc1 $f0, 0x18($s2) +/* C8784C 80241D9C E6000018 */ swc1 $f0, 0x18($s0) +/* C87850 80241DA0 8E230088 */ lw $v1, 0x88($s1) +/* C87854 80241DA4 24020005 */ addiu $v0, $zero, 5 +/* C87858 80241DA8 10620005 */ beq $v1, $v0, .L80241DC0 +/* C8785C 80241DAC 00000000 */ nop +/* C87860 80241DB0 10600003 */ beqz $v1, .L80241DC0 +/* C87864 80241DB4 24020001 */ addiu $v0, $zero, 1 +/* C87868 80241DB8 14620006 */ bne $v1, $v0, .L80241DD4 +/* C8786C 80241DBC 00000000 */ nop +.L80241DC0: +/* C87870 80241DC0 8E220084 */ lw $v0, 0x84($s1) +/* C87874 80241DC4 00021FC2 */ srl $v1, $v0, 0x1f +/* C87878 80241DC8 00431021 */ addu $v0, $v0, $v1 +/* C8787C 80241DCC 00021043 */ sra $v0, $v0, 1 +/* C87880 80241DD0 A60200A8 */ sh $v0, 0xa8($s0) +.L80241DD4: +/* C87884 80241DD4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* C87888 80241DD8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* C8788C 80241DDC C60C0038 */ lwc1 $f12, 0x38($s0) +/* C87890 80241DE0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* C87894 80241DE4 8C460028 */ lw $a2, 0x28($v0) +/* C87898 80241DE8 0C00A7B5 */ jal dist2D +/* C8789C 80241DEC 8C470030 */ lw $a3, 0x30($v0) +/* C878A0 80241DF0 C6020018 */ lwc1 $f2, 0x18($s0) +/* C878A4 80241DF4 46020003 */ div.s $f0, $f0, $f2 +/* C878A8 80241DF8 3C018024 */ lui $at, 0x8024 +/* C878AC 80241DFC D4226568 */ ldc1 $f2, 0x6568($at) +/* C878B0 80241E00 46000021 */ cvt.d.s $f0, $f0 +/* C878B4 80241E04 46220000 */ add.d $f0, $f0, $f2 +/* C878B8 80241E08 4620010D */ trunc.w.d $f4, $f0 +/* C878BC 80241E0C 44022000 */ mfc1 $v0, $f4 +/* C878C0 80241E10 00000000 */ nop +/* C878C4 80241E14 A602008E */ sh $v0, 0x8e($s0) +/* C878C8 80241E18 00021400 */ sll $v0, $v0, 0x10 +/* C878CC 80241E1C 8E230078 */ lw $v1, 0x78($s1) +/* C878D0 80241E20 00021403 */ sra $v0, $v0, 0x10 +/* C878D4 80241E24 0043102A */ slt $v0, $v0, $v1 +/* C878D8 80241E28 10400003 */ beqz $v0, .L80241E38 +/* C878DC 80241E2C 00000000 */ nop +/* C878E0 80241E30 9622007A */ lhu $v0, 0x7a($s1) +/* C878E4 80241E34 A602008E */ sh $v0, 0x8e($s0) +.L80241E38: +/* C878E8 80241E38 8602008E */ lh $v0, 0x8e($s0) +/* C878EC 80241E3C AE22007C */ sw $v0, 0x7c($s1) +/* C878F0 80241E40 2402000E */ addiu $v0, $zero, 0xe +/* C878F4 80241E44 AE620070 */ sw $v0, 0x70($s3) +.L80241E48: +/* C878F8 80241E48 8FBF0020 */ lw $ra, 0x20($sp) +/* C878FC 80241E4C 8FB3001C */ lw $s3, 0x1c($sp) +/* C87900 80241E50 8FB20018 */ lw $s2, 0x18($sp) +/* C87904 80241E54 8FB10014 */ lw $s1, 0x14($sp) +/* C87908 80241E58 8FB00010 */ lw $s0, 0x10($sp) +/* C8790C 80241E5C 03E00008 */ jr $ra +/* C87910 80241E60 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241E64.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241E64.s new file mode 100644 index 0000000000..20ce0f3ed8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241E64.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E64 +/* C87914 80241E64 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C87918 80241E68 AFB3003C */ sw $s3, 0x3c($sp) +/* C8791C 80241E6C 0080982D */ daddu $s3, $a0, $zero +/* C87920 80241E70 AFBF0040 */ sw $ra, 0x40($sp) +/* C87924 80241E74 AFB20038 */ sw $s2, 0x38($sp) +/* C87928 80241E78 AFB10034 */ sw $s1, 0x34($sp) +/* C8792C 80241E7C AFB00030 */ sw $s0, 0x30($sp) +/* C87930 80241E80 8E710148 */ lw $s1, 0x148($s3) +/* C87934 80241E84 0C00EABB */ jal get_npc_unsafe +/* C87938 80241E88 86240008 */ lh $a0, 8($s1) +/* C8793C 80241E8C 0040802D */ daddu $s0, $v0, $zero +/* C87940 80241E90 8E22007C */ lw $v0, 0x7c($s1) +/* C87944 80241E94 8603008E */ lh $v1, 0x8e($s0) +/* C87948 80241E98 2442FFFF */ addiu $v0, $v0, -1 +/* C8794C 80241E9C 14620012 */ bne $v1, $v0, .L80241EE8 +/* C87950 80241EA0 00000000 */ nop +/* C87954 80241EA4 C6000038 */ lwc1 $f0, 0x38($s0) +/* C87958 80241EA8 4600020D */ trunc.w.s $f8, $f0 +/* C8795C 80241EAC 44024000 */ mfc1 $v0, $f8 +/* C87960 80241EB0 00000000 */ nop +/* C87964 80241EB4 A6220010 */ sh $v0, 0x10($s1) +/* C87968 80241EB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* C8796C 80241EBC 4600020D */ trunc.w.s $f8, $f0 +/* C87970 80241EC0 44024000 */ mfc1 $v0, $f8 +/* C87974 80241EC4 00000000 */ nop +/* C87978 80241EC8 A6220012 */ sh $v0, 0x12($s1) +/* C8797C 80241ECC C6000040 */ lwc1 $f0, 0x40($s0) +/* C87980 80241ED0 24020001 */ addiu $v0, $zero, 1 +/* C87984 80241ED4 A2220007 */ sb $v0, 7($s1) +/* C87988 80241ED8 4600020D */ trunc.w.s $f8, $f0 +/* C8798C 80241EDC 44024000 */ mfc1 $v0, $f8 +/* C87990 80241EE0 00000000 */ nop +/* C87994 80241EE4 A6220014 */ sh $v0, 0x14($s1) +.L80241EE8: +/* C87998 80241EE8 C6000038 */ lwc1 $f0, 0x38($s0) +/* C8799C 80241EEC C602003C */ lwc1 $f2, 0x3c($s0) +/* C879A0 80241EF0 C6040040 */ lwc1 $f4, 0x40($s0) +/* C879A4 80241EF4 C6060018 */ lwc1 $f6, 0x18($s0) +/* C879A8 80241EF8 E7A00020 */ swc1 $f0, 0x20($sp) +/* C879AC 80241EFC E7A20024 */ swc1 $f2, 0x24($sp) +/* C879B0 80241F00 E7A40028 */ swc1 $f4, 0x28($sp) +/* C879B4 80241F04 E7A60010 */ swc1 $f6, 0x10($sp) +/* C879B8 80241F08 C600000C */ lwc1 $f0, 0xc($s0) +/* C879BC 80241F0C E7A00014 */ swc1 $f0, 0x14($sp) +/* C879C0 80241F10 860200A8 */ lh $v0, 0xa8($s0) +/* C879C4 80241F14 27A50020 */ addiu $a1, $sp, 0x20 +/* C879C8 80241F18 44820000 */ mtc1 $v0, $f0 +/* C879CC 80241F1C 00000000 */ nop +/* C879D0 80241F20 46800020 */ cvt.s.w $f0, $f0 +/* C879D4 80241F24 E7A00018 */ swc1 $f0, 0x18($sp) +/* C879D8 80241F28 860200A6 */ lh $v0, 0xa6($s0) +/* C879DC 80241F2C 27A60024 */ addiu $a2, $sp, 0x24 +/* C879E0 80241F30 44820000 */ mtc1 $v0, $f0 +/* C879E4 80241F34 00000000 */ nop +/* C879E8 80241F38 46800020 */ cvt.s.w $f0, $f0 +/* C879EC 80241F3C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C879F0 80241F40 8E040080 */ lw $a0, 0x80($s0) +/* C879F4 80241F44 0C037711 */ jal func_800DDC44 +/* C879F8 80241F48 27A70028 */ addiu $a3, $sp, 0x28 +/* C879FC 80241F4C 0040902D */ daddu $s2, $v0, $zero +/* C87A00 80241F50 16400005 */ bnez $s2, .L80241F68 +/* C87A04 80241F54 00000000 */ nop +/* C87A08 80241F58 8E050018 */ lw $a1, 0x18($s0) +/* C87A0C 80241F5C 8E06000C */ lw $a2, 0xc($s0) +/* C87A10 80241F60 0C00EA95 */ jal npc_move_heading +/* C87A14 80241F64 0200202D */ daddu $a0, $s0, $zero +.L80241F68: +/* C87A18 80241F68 8602008E */ lh $v0, 0x8e($s0) +/* C87A1C 80241F6C 9603008E */ lhu $v1, 0x8e($s0) +/* C87A20 80241F70 18400007 */ blez $v0, .L80241F90 +/* C87A24 80241F74 2462FFFF */ addiu $v0, $v1, -1 +/* C87A28 80241F78 A602008E */ sh $v0, 0x8e($s0) +/* C87A2C 80241F7C 00021400 */ sll $v0, $v0, 0x10 +/* C87A30 80241F80 18400003 */ blez $v0, .L80241F90 +/* C87A34 80241F84 00000000 */ nop +/* C87A38 80241F88 12400008 */ beqz $s2, .L80241FAC +/* C87A3C 80241F8C 00000000 */ nop +.L80241F90: +/* C87A40 80241F90 8E2200CC */ lw $v0, 0xcc($s1) +/* C87A44 80241F94 A2200007 */ sb $zero, 7($s1) +/* C87A48 80241F98 8C420028 */ lw $v0, 0x28($v0) +/* C87A4C 80241F9C A600008E */ sh $zero, 0x8e($s0) +/* C87A50 80241FA0 AE020028 */ sw $v0, 0x28($s0) +/* C87A54 80241FA4 2402000F */ addiu $v0, $zero, 0xf +/* C87A58 80241FA8 AE620070 */ sw $v0, 0x70($s3) +.L80241FAC: +/* C87A5C 80241FAC 8FBF0040 */ lw $ra, 0x40($sp) +/* C87A60 80241FB0 8FB3003C */ lw $s3, 0x3c($sp) +/* C87A64 80241FB4 8FB20038 */ lw $s2, 0x38($sp) +/* C87A68 80241FB8 8FB10034 */ lw $s1, 0x34($sp) +/* C87A6C 80241FBC 8FB00030 */ lw $s0, 0x30($sp) +/* C87A70 80241FC0 03E00008 */ jr $ra +/* C87A74 80241FC4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80241FC8_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241FC8_C85AB0.s new file mode 100644 index 0000000000..53c1234703 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80241FC8_C85AB0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FC8_C87A78 +/* C87A78 80241FC8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C87A7C 80241FCC AFB10014 */ sw $s1, 0x14($sp) +/* C87A80 80241FD0 0080882D */ daddu $s1, $a0, $zero +/* C87A84 80241FD4 AFBF0018 */ sw $ra, 0x18($sp) +/* C87A88 80241FD8 AFB00010 */ sw $s0, 0x10($sp) +/* C87A8C 80241FDC 8E300148 */ lw $s0, 0x148($s1) +/* C87A90 80241FE0 0C00EABB */ jal get_npc_unsafe +/* C87A94 80241FE4 86040008 */ lh $a0, 8($s0) +/* C87A98 80241FE8 0040202D */ daddu $a0, $v0, $zero +/* C87A9C 80241FEC 9482008E */ lhu $v0, 0x8e($a0) +/* C87AA0 80241FF0 24030003 */ addiu $v1, $zero, 3 +/* C87AA4 80241FF4 24420001 */ addiu $v0, $v0, 1 +/* C87AA8 80241FF8 A482008E */ sh $v0, 0x8e($a0) +/* C87AAC 80241FFC 00021400 */ sll $v0, $v0, 0x10 +/* C87AB0 80242000 00021403 */ sra $v0, $v0, 0x10 +/* C87AB4 80242004 14430003 */ bne $v0, $v1, .L80242014 +/* C87AB8 80242008 00000000 */ nop +/* C87ABC 8024200C 96020086 */ lhu $v0, 0x86($s0) +/* C87AC0 80242010 A48200A8 */ sh $v0, 0xa8($a0) +.L80242014: +/* C87AC4 80242014 8482008E */ lh $v0, 0x8e($a0) +/* C87AC8 80242018 8E030080 */ lw $v1, 0x80($s0) +/* C87ACC 8024201C 0043102A */ slt $v0, $v0, $v1 +/* C87AD0 80242020 14400004 */ bnez $v0, .L80242034 +/* C87AD4 80242024 00000000 */ nop +/* C87AD8 80242028 96020086 */ lhu $v0, 0x86($s0) +/* C87ADC 8024202C A48200A8 */ sh $v0, 0xa8($a0) +/* C87AE0 80242030 AE200070 */ sw $zero, 0x70($s1) +.L80242034: +/* C87AE4 80242034 8FBF0018 */ lw $ra, 0x18($sp) +/* C87AE8 80242038 8FB10014 */ lw $s1, 0x14($sp) +/* C87AEC 8024203C 8FB00010 */ lw $s0, 0x10($sp) +/* C87AF0 80242040 03E00008 */ jr $ra +/* C87AF4 80242044 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242048.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242048.s new file mode 100644 index 0000000000..09812c5ee5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242048.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242048 +/* C87AF8 80242048 27BDFF90 */ addiu $sp, $sp, -0x70 +/* C87AFC 8024204C AFB3005C */ sw $s3, 0x5c($sp) +/* C87B00 80242050 0080982D */ daddu $s3, $a0, $zero +/* C87B04 80242054 AFBF0068 */ sw $ra, 0x68($sp) +/* C87B08 80242058 AFB50064 */ sw $s5, 0x64($sp) +/* C87B0C 8024205C AFB40060 */ sw $s4, 0x60($sp) +/* C87B10 80242060 AFB20058 */ sw $s2, 0x58($sp) +/* C87B14 80242064 AFB10054 */ sw $s1, 0x54($sp) +/* C87B18 80242068 AFB00050 */ sw $s0, 0x50($sp) +/* C87B1C 8024206C 8E710148 */ lw $s1, 0x148($s3) +/* C87B20 80242070 86240008 */ lh $a0, 8($s1) +/* C87B24 80242074 0C00EABB */ jal get_npc_unsafe +/* C87B28 80242078 00A0802D */ daddu $s0, $a1, $zero +/* C87B2C 8024207C 8E63000C */ lw $v1, 0xc($s3) +/* C87B30 80242080 0260202D */ daddu $a0, $s3, $zero +/* C87B34 80242084 8C650000 */ lw $a1, ($v1) +/* C87B38 80242088 0C0B1EAF */ jal get_variable +/* C87B3C 8024208C 0040902D */ daddu $s2, $v0, $zero +/* C87B40 80242090 AFA00028 */ sw $zero, 0x28($sp) +/* C87B44 80242094 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87B48 80242098 8C630030 */ lw $v1, 0x30($v1) +/* C87B4C 8024209C AFA3002C */ sw $v1, 0x2c($sp) +/* C87B50 802420A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87B54 802420A4 8C63001C */ lw $v1, 0x1c($v1) +/* C87B58 802420A8 AFA30030 */ sw $v1, 0x30($sp) +/* C87B5C 802420AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87B60 802420B0 8C630024 */ lw $v1, 0x24($v1) +/* C87B64 802420B4 AFA30034 */ sw $v1, 0x34($sp) +/* C87B68 802420B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87B6C 802420BC 8C630028 */ lw $v1, 0x28($v1) +/* C87B70 802420C0 27B50028 */ addiu $s5, $sp, 0x28 +/* C87B74 802420C4 AFA30038 */ sw $v1, 0x38($sp) +/* C87B78 802420C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* C87B7C 802420CC 3C0142C8 */ lui $at, 0x42c8 +/* C87B80 802420D0 44810000 */ mtc1 $at, $f0 +/* C87B84 802420D4 8C63002C */ lw $v1, 0x2c($v1) +/* C87B88 802420D8 0040A02D */ daddu $s4, $v0, $zero +/* C87B8C 802420DC E7A00040 */ swc1 $f0, 0x40($sp) +/* C87B90 802420E0 A7A00044 */ sh $zero, 0x44($sp) +/* C87B94 802420E4 12000009 */ beqz $s0, .L8024210C +/* C87B98 802420E8 AFA3003C */ sw $v1, 0x3c($sp) +/* C87B9C 802420EC 864300A8 */ lh $v1, 0xa8($s2) +/* C87BA0 802420F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* C87BA4 802420F4 AE20008C */ sw $zero, 0x8c($s1) +/* C87BA8 802420F8 A22000B5 */ sb $zero, 0xb5($s1) +/* C87BAC 802420FC 34420008 */ ori $v0, $v0, 8 +/* C87BB0 80242100 AE230084 */ sw $v1, 0x84($s1) +/* C87BB4 80242104 08090847 */ j .L8024211C +/* C87BB8 80242108 AE2200B0 */ sw $v0, 0xb0($s1) +.L8024210C: +/* C87BBC 8024210C 8E2200B0 */ lw $v0, 0xb0($s1) +/* C87BC0 80242110 30420004 */ andi $v0, $v0, 4 +/* C87BC4 80242114 10400047 */ beqz $v0, .L80242234 +/* C87BC8 80242118 00000000 */ nop +.L8024211C: +/* C87BCC 8024211C AE600070 */ sw $zero, 0x70($s3) +/* C87BD0 80242120 A640008E */ sh $zero, 0x8e($s2) +/* C87BD4 80242124 8E2300CC */ lw $v1, 0xcc($s1) +/* C87BD8 80242128 2404F7FF */ addiu $a0, $zero, -0x801 +/* C87BDC 8024212C A2200007 */ sb $zero, 7($s1) +/* C87BE0 80242130 8E420000 */ lw $v0, ($s2) +/* C87BE4 80242134 8C630000 */ lw $v1, ($v1) +/* C87BE8 80242138 00441024 */ and $v0, $v0, $a0 +/* C87BEC 8024213C AE420000 */ sw $v0, ($s2) +/* C87BF0 80242140 AE430028 */ sw $v1, 0x28($s2) +/* C87BF4 80242144 96220086 */ lhu $v0, 0x86($s1) +/* C87BF8 80242148 A64200A8 */ sh $v0, 0xa8($s2) +/* C87BFC 8024214C 8E2200D0 */ lw $v0, 0xd0($s1) +/* C87C00 80242150 AE200090 */ sw $zero, 0x90($s1) +/* C87C04 80242154 8C420034 */ lw $v0, 0x34($v0) +/* C87C08 80242158 14400006 */ bnez $v0, .L80242174 +/* C87C0C 8024215C 2403FDFF */ addiu $v1, $zero, -0x201 +/* C87C10 80242160 8E420000 */ lw $v0, ($s2) +/* C87C14 80242164 2403FFF7 */ addiu $v1, $zero, -9 +/* C87C18 80242168 34420200 */ ori $v0, $v0, 0x200 +/* C87C1C 8024216C 08090860 */ j .L80242180 +/* C87C20 80242170 00431024 */ and $v0, $v0, $v1 +.L80242174: +/* C87C24 80242174 8E420000 */ lw $v0, ($s2) +/* C87C28 80242178 00431024 */ and $v0, $v0, $v1 +/* C87C2C 8024217C 34420008 */ ori $v0, $v0, 8 +.L80242180: +/* C87C30 80242180 AE420000 */ sw $v0, ($s2) +/* C87C34 80242184 8E2200B0 */ lw $v0, 0xb0($s1) +/* C87C38 80242188 30420004 */ andi $v0, $v0, 4 +/* C87C3C 8024218C 1040001E */ beqz $v0, .L80242208 +/* C87C40 80242190 24040002 */ addiu $a0, $zero, 2 +/* C87C44 80242194 0240282D */ daddu $a1, $s2, $zero +/* C87C48 80242198 0000302D */ daddu $a2, $zero, $zero +/* C87C4C 8024219C 24020063 */ addiu $v0, $zero, 0x63 +/* C87C50 802421A0 AE620070 */ sw $v0, 0x70($s3) +/* C87C54 802421A4 AE600074 */ sw $zero, 0x74($s3) +/* C87C58 802421A8 864300A8 */ lh $v1, 0xa8($s2) +/* C87C5C 802421AC 3C013F80 */ lui $at, 0x3f80 +/* C87C60 802421B0 44810000 */ mtc1 $at, $f0 +/* C87C64 802421B4 3C014000 */ lui $at, 0x4000 +/* C87C68 802421B8 44811000 */ mtc1 $at, $f2 +/* C87C6C 802421BC 3C01C1A0 */ lui $at, 0xc1a0 +/* C87C70 802421C0 44812000 */ mtc1 $at, $f4 +/* C87C74 802421C4 24020028 */ addiu $v0, $zero, 0x28 +/* C87C78 802421C8 AFA2001C */ sw $v0, 0x1c($sp) +/* C87C7C 802421CC 44833000 */ mtc1 $v1, $f6 +/* C87C80 802421D0 00000000 */ nop +/* C87C84 802421D4 468031A0 */ cvt.s.w $f6, $f6 +/* C87C88 802421D8 44073000 */ mfc1 $a3, $f6 +/* C87C8C 802421DC 27A20048 */ addiu $v0, $sp, 0x48 +/* C87C90 802421E0 AFA20020 */ sw $v0, 0x20($sp) +/* C87C94 802421E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* C87C98 802421E8 E7A20014 */ swc1 $f2, 0x14($sp) +/* C87C9C 802421EC 0C01BFA4 */ jal fx_emote +/* C87CA0 802421F0 E7A40018 */ swc1 $f4, 0x18($sp) +/* C87CA4 802421F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* C87CA8 802421F8 2403FFFB */ addiu $v1, $zero, -5 +/* C87CAC 802421FC 00431024 */ and $v0, $v0, $v1 +/* C87CB0 80242200 0809088D */ j .L80242234 +/* C87CB4 80242204 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242208: +/* C87CB8 80242208 8E220000 */ lw $v0, ($s1) +/* C87CBC 8024220C 3C034000 */ lui $v1, 0x4000 +/* C87CC0 80242210 00431024 */ and $v0, $v0, $v1 +/* C87CC4 80242214 10400007 */ beqz $v0, .L80242234 +/* C87CC8 80242218 3C03BFFF */ lui $v1, 0xbfff +/* C87CCC 8024221C 2402000C */ addiu $v0, $zero, 0xc +/* C87CD0 80242220 AE620070 */ sw $v0, 0x70($s3) +/* C87CD4 80242224 8E220000 */ lw $v0, ($s1) +/* C87CD8 80242228 3463FFFF */ ori $v1, $v1, 0xffff +/* C87CDC 8024222C 00431024 */ and $v0, $v0, $v1 +/* C87CE0 80242230 AE220000 */ sw $v0, ($s1) +.L80242234: +/* C87CE4 80242234 8E220090 */ lw $v0, 0x90($s1) +/* C87CE8 80242238 1840000C */ blez $v0, .L8024226C +/* C87CEC 8024223C 2442FFFF */ addiu $v0, $v0, -1 +/* C87CF0 80242240 14400087 */ bnez $v0, .L80242460 +/* C87CF4 80242244 AE220090 */ sw $v0, 0x90($s1) +/* C87CF8 80242248 3C03FFAA */ lui $v1, 0xffaa +/* C87CFC 8024224C 8E420028 */ lw $v0, 0x28($s2) +/* C87D00 80242250 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* C87D04 80242254 00431021 */ addu $v0, $v0, $v1 +/* C87D08 80242258 2C420002 */ sltiu $v0, $v0, 2 +/* C87D0C 8024225C 10400003 */ beqz $v0, .L8024226C +/* C87D10 80242260 3C020055 */ lui $v0, 0x55 +/* C87D14 80242264 3442000C */ ori $v0, $v0, 0xc +/* C87D18 80242268 AE420028 */ sw $v0, 0x28($s2) +.L8024226C: +/* C87D1C 8024226C 8E630070 */ lw $v1, 0x70($s3) +/* C87D20 80242270 2402000C */ addiu $v0, $zero, 0xc +/* C87D24 80242274 10620048 */ beq $v1, $v0, .L80242398 +/* C87D28 80242278 2862000D */ slti $v0, $v1, 0xd +/* C87D2C 8024227C 1040000F */ beqz $v0, .L802422BC +/* C87D30 80242280 24100001 */ addiu $s0, $zero, 1 +/* C87D34 80242284 1070001E */ beq $v1, $s0, .L80242300 +/* C87D38 80242288 28620002 */ slti $v0, $v1, 2 +/* C87D3C 8024228C 10400005 */ beqz $v0, .L802422A4 +/* C87D40 80242290 24020002 */ addiu $v0, $zero, 2 +/* C87D44 80242294 10600015 */ beqz $v1, .L802422EC +/* C87D48 80242298 0260202D */ daddu $a0, $s3, $zero +/* C87D4C 8024229C 080908FD */ j .L802423F4 +/* C87D50 802422A0 00000000 */ nop +.L802422A4: +/* C87D54 802422A4 1062001C */ beq $v1, $v0, .L80242318 +/* C87D58 802422A8 24020003 */ addiu $v0, $zero, 3 +/* C87D5C 802422AC 10620035 */ beq $v1, $v0, .L80242384 +/* C87D60 802422B0 0260202D */ daddu $a0, $s3, $zero +/* C87D64 802422B4 080908FD */ j .L802423F4 +/* C87D68 802422B8 00000000 */ nop +.L802422BC: +/* C87D6C 802422BC 2402000E */ addiu $v0, $zero, 0xe +/* C87D70 802422C0 1062003F */ beq $v1, $v0, .L802423C0 +/* C87D74 802422C4 0062102A */ slt $v0, $v1, $v0 +/* C87D78 802422C8 14400038 */ bnez $v0, .L802423AC +/* C87D7C 802422CC 0260202D */ daddu $a0, $s3, $zero +/* C87D80 802422D0 2402000F */ addiu $v0, $zero, 0xf +/* C87D84 802422D4 10620040 */ beq $v1, $v0, .L802423D8 +/* C87D88 802422D8 24020063 */ addiu $v0, $zero, 0x63 +/* C87D8C 802422DC 10620043 */ beq $v1, $v0, .L802423EC +/* C87D90 802422E0 00000000 */ nop +/* C87D94 802422E4 080908FD */ j .L802423F4 +/* C87D98 802422E8 00000000 */ nop +.L802422EC: +/* C87D9C 802422EC 0280282D */ daddu $a1, $s4, $zero +/* C87DA0 802422F0 0C012568 */ jal func_800495A0 +/* C87DA4 802422F4 02A0302D */ daddu $a2, $s5, $zero +/* C87DA8 802422F8 96220086 */ lhu $v0, 0x86($s1) +/* C87DAC 802422FC A64200A8 */ sh $v0, 0xa8($s2) +.L80242300: +/* C87DB0 80242300 0260202D */ daddu $a0, $s3, $zero +/* C87DB4 80242304 0280282D */ daddu $a1, $s4, $zero +/* C87DB8 80242308 0C0125AE */ jal func_800496B8 +/* C87DBC 8024230C 02A0302D */ daddu $a2, $s5, $zero +/* C87DC0 80242310 080908FD */ j .L802423F4 +/* C87DC4 80242314 00000000 */ nop +.L80242318: +/* C87DC8 80242318 0260202D */ daddu $a0, $s3, $zero +/* C87DCC 8024231C 0280282D */ daddu $a1, $s4, $zero +/* C87DD0 80242320 0C0126D1 */ jal func_80049B44 +/* C87DD4 80242324 02A0302D */ daddu $a2, $s5, $zero +/* C87DD8 80242328 8E230088 */ lw $v1, 0x88($s1) +/* C87DDC 8024232C 24020006 */ addiu $v0, $zero, 6 +/* C87DE0 80242330 14620014 */ bne $v1, $v0, .L80242384 +/* C87DE4 80242334 0260202D */ daddu $a0, $s3, $zero +/* C87DE8 80242338 0C00A67F */ jal rand_int +/* C87DEC 8024233C 24040064 */ addiu $a0, $zero, 0x64 +/* C87DF0 80242340 28420021 */ slti $v0, $v0, 0x21 +/* C87DF4 80242344 5040000F */ beql $v0, $zero, .L80242384 +/* C87DF8 80242348 0260202D */ daddu $a0, $s3, $zero +/* C87DFC 8024234C 8E22008C */ lw $v0, 0x8c($s1) +/* C87E00 80242350 10400005 */ beqz $v0, .L80242368 +/* C87E04 80242354 3C020055 */ lui $v0, 0x55 +/* C87E08 80242358 3442002F */ ori $v0, $v0, 0x2f +/* C87E0C 8024235C AE20008C */ sw $zero, 0x8c($s1) +/* C87E10 80242360 080908DD */ j .L80242374 +/* C87E14 80242364 A22000B5 */ sb $zero, 0xb5($s1) +.L80242368: +/* C87E18 80242368 3442002E */ ori $v0, $v0, 0x2e +/* C87E1C 8024236C AE30008C */ sw $s0, 0x8c($s1) +/* C87E20 80242370 A23000B5 */ sb $s0, 0xb5($s1) +.L80242374: +/* C87E24 80242374 AE420028 */ sw $v0, 0x28($s2) +/* C87E28 80242378 24020007 */ addiu $v0, $zero, 7 +/* C87E2C 8024237C 08090918 */ j .L80242460 +/* C87E30 80242380 AE220090 */ sw $v0, 0x90($s1) +.L80242384: +/* C87E34 80242384 0280282D */ daddu $a1, $s4, $zero +/* C87E38 80242388 0C012701 */ jal func_80049C04 +/* C87E3C 8024238C 02A0302D */ daddu $a2, $s5, $zero +/* C87E40 80242390 080908FD */ j .L802423F4 +/* C87E44 80242394 00000000 */ nop +.L80242398: +/* C87E48 80242398 0260202D */ daddu $a0, $s3, $zero +/* C87E4C 8024239C 0280282D */ daddu $a1, $s4, $zero +/* C87E50 802423A0 0C09072D */ jal func_80241CB4 +/* C87E54 802423A4 02A0302D */ daddu $a2, $s5, $zero +/* C87E58 802423A8 0260202D */ daddu $a0, $s3, $zero +.L802423AC: +/* C87E5C 802423AC 0280282D */ daddu $a1, $s4, $zero +/* C87E60 802423B0 0C09074C */ jal func_80241D30 +/* C87E64 802423B4 02A0302D */ daddu $a2, $s5, $zero +/* C87E68 802423B8 080908FD */ j .L802423F4 +/* C87E6C 802423BC 00000000 */ nop +.L802423C0: +/* C87E70 802423C0 0260202D */ daddu $a0, $s3, $zero +/* C87E74 802423C4 0280282D */ daddu $a1, $s4, $zero +/* C87E78 802423C8 0C090799 */ jal func_80241E64 +/* C87E7C 802423CC 02A0302D */ daddu $a2, $s5, $zero +/* C87E80 802423D0 080908FD */ j .L802423F4 +/* C87E84 802423D4 00000000 */ nop +.L802423D8: +/* C87E88 802423D8 0280282D */ daddu $a1, $s4, $zero +/* C87E8C 802423DC 0C0907F2 */ jal func_80241FC8 +/* C87E90 802423E0 02A0302D */ daddu $a2, $s5, $zero +/* C87E94 802423E4 080908FD */ j .L802423F4 +/* C87E98 802423E8 00000000 */ nop +.L802423EC: +/* C87E9C 802423EC 0C0129CF */ jal func_8004A73C +/* C87EA0 802423F0 0260202D */ daddu $a0, $s3, $zero +.L802423F4: +/* C87EA4 802423F4 8E230088 */ lw $v1, 0x88($s1) +/* C87EA8 802423F8 24020006 */ addiu $v0, $zero, 6 +/* C87EAC 802423FC 14620019 */ bne $v1, $v0, .L80242464 +/* C87EB0 80242400 0000102D */ daddu $v0, $zero, $zero +/* C87EB4 80242404 8E22008C */ lw $v0, 0x8c($s1) +/* C87EB8 80242408 10400003 */ beqz $v0, .L80242418 +/* C87EBC 8024240C 24020001 */ addiu $v0, $zero, 1 +/* C87EC0 80242410 08090907 */ j .L8024241C +/* C87EC4 80242414 A22200B5 */ sb $v0, 0xb5($s1) +.L80242418: +/* C87EC8 80242418 A22000B5 */ sb $zero, 0xb5($s1) +.L8024241C: +/* C87ECC 8024241C 8E22008C */ lw $v0, 0x8c($s1) +/* C87ED0 80242420 1040000F */ beqz $v0, .L80242460 +/* C87ED4 80242424 3C03FFAA */ lui $v1, 0xffaa +/* C87ED8 80242428 8E420028 */ lw $v0, 0x28($s2) +/* C87EDC 8024242C 3463FFFC */ ori $v1, $v1, 0xfffc +/* C87EE0 80242430 00431821 */ addu $v1, $v0, $v1 +/* C87EE4 80242434 2C620015 */ sltiu $v0, $v1, 0x15 +/* C87EE8 80242438 10400009 */ beqz $v0, .L80242460 +/* C87EEC 8024243C 00031080 */ sll $v0, $v1, 2 +/* C87EF0 80242440 3C018024 */ lui $at, 0x8024 +/* C87EF4 80242444 00220821 */ addu $at, $at, $v0 +/* C87EF8 80242448 8C226570 */ lw $v0, 0x6570($at) +/* C87EFC 8024244C 00400008 */ jr $v0 +/* C87F00 80242450 00000000 */ nop +/* C87F04 80242454 8E420028 */ lw $v0, 0x28($s2) +/* C87F08 80242458 24420001 */ addiu $v0, $v0, 1 +/* C87F0C 8024245C AE420028 */ sw $v0, 0x28($s2) +.L80242460: +/* C87F10 80242460 0000102D */ daddu $v0, $zero, $zero +.L80242464: +/* C87F14 80242464 8FBF0068 */ lw $ra, 0x68($sp) +/* C87F18 80242468 8FB50064 */ lw $s5, 0x64($sp) +/* C87F1C 8024246C 8FB40060 */ lw $s4, 0x60($sp) +/* C87F20 80242470 8FB3005C */ lw $s3, 0x5c($sp) +/* C87F24 80242474 8FB20058 */ lw $s2, 0x58($sp) +/* C87F28 80242478 8FB10054 */ lw $s1, 0x54($sp) +/* C87F2C 8024247C 8FB00050 */ lw $s0, 0x50($sp) +/* C87F30 80242480 03E00008 */ jr $ra +/* C87F34 80242484 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242488_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242488_C85AB0.s new file mode 100644 index 0000000000..10b027a330 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242488_C85AB0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242488_C87F38 +/* C87F38 80242488 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C87F3C 8024248C AFBF0010 */ sw $ra, 0x10($sp) +/* C87F40 80242490 0C00EAD2 */ jal get_npc_safe +/* C87F44 80242494 8C84014C */ lw $a0, 0x14c($a0) +/* C87F48 80242498 0040182D */ daddu $v1, $v0, $zero +/* C87F4C 8024249C 846200A8 */ lh $v0, 0xa8($v1) +/* C87F50 802424A0 C462003C */ lwc1 $f2, 0x3c($v1) +/* C87F54 802424A4 906400A9 */ lbu $a0, 0xa9($v1) +/* C87F58 802424A8 44820000 */ mtc1 $v0, $f0 +/* C87F5C 802424AC 00000000 */ nop +/* C87F60 802424B0 46800020 */ cvt.s.w $f0, $f0 +/* C87F64 802424B4 46001081 */ sub.s $f2, $f2, $f0 +/* C87F68 802424B8 A06400AB */ sb $a0, 0xab($v1) +/* C87F6C 802424BC E462003C */ swc1 $f2, 0x3c($v1) +/* C87F70 802424C0 8FBF0010 */ lw $ra, 0x10($sp) +/* C87F74 802424C4 24020002 */ addiu $v0, $zero, 2 +/* C87F78 802424C8 03E00008 */ jr $ra +/* C87F7C 802424CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802424D0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802424D0.s new file mode 100644 index 0000000000..f76e0c54dd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802424D0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424D0 +/* C87F80 802424D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C87F84 802424D4 AFBF0010 */ sw $ra, 0x10($sp) +/* C87F88 802424D8 0C00EAD2 */ jal get_npc_safe +/* C87F8C 802424DC 8C84014C */ lw $a0, 0x14c($a0) +/* C87F90 802424E0 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* C87F94 802424E4 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* C87F98 802424E8 C44C0038 */ lwc1 $f12, 0x38($v0) +/* C87F9C 802424EC C44E0040 */ lwc1 $f14, 0x40($v0) +/* C87FA0 802424F0 8C660028 */ lw $a2, 0x28($v1) +/* C87FA4 802424F4 0C00A7B5 */ jal dist2D +/* C87FA8 802424F8 8C670030 */ lw $a3, 0x30($v1) +/* C87FAC 802424FC 3C014248 */ lui $at, 0x4248 +/* C87FB0 80242500 44811000 */ mtc1 $at, $f2 +/* C87FB4 80242504 00000000 */ nop +/* C87FB8 80242508 4602003C */ c.lt.s $f0, $f2 +/* C87FBC 8024250C 00000000 */ nop +/* C87FC0 80242510 45010002 */ bc1t .L8024251C +/* C87FC4 80242514 24020002 */ addiu $v0, $zero, 2 +/* C87FC8 80242518 0000102D */ daddu $v0, $zero, $zero +.L8024251C: +/* C87FCC 8024251C 8FBF0010 */ lw $ra, 0x10($sp) +/* C87FD0 80242520 03E00008 */ jr $ra +/* C87FD4 80242524 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242528_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242528_C85AB0.s new file mode 100644 index 0000000000..023c8ab5d1 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242528_C85AB0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242528_C87FD8 +/* C87FD8 80242528 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C87FDC 8024252C 0080102D */ daddu $v0, $a0, $zero +/* C87FE0 80242530 AFB00010 */ sw $s0, 0x10($sp) +/* C87FE4 80242534 AFBF0018 */ sw $ra, 0x18($sp) +/* C87FE8 80242538 AFB10014 */ sw $s1, 0x14($sp) +/* C87FEC 8024253C 8C44014C */ lw $a0, 0x14c($v0) +/* C87FF0 80242540 8C510148 */ lw $s1, 0x148($v0) +/* C87FF4 80242544 0C00EAD2 */ jal get_npc_safe +/* C87FF8 80242548 00A0802D */ daddu $s0, $a1, $zero +/* C87FFC 8024254C 56000001 */ bnel $s0, $zero, .L80242554 +/* C88000 80242550 A04000AB */ sb $zero, 0xab($v0) +.L80242554: +/* C88004 80242554 8C420000 */ lw $v0, ($v0) +/* C88008 80242558 30421000 */ andi $v0, $v0, 0x1000 +/* C8800C 8024255C 1040000A */ beqz $v0, .L80242588 +/* C88010 80242560 0000102D */ daddu $v0, $zero, $zero +/* C88014 80242564 82220004 */ lb $v0, 4($s1) +/* C88018 80242568 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* C8801C 8024256C 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* C88020 80242570 00021080 */ sll $v0, $v0, 2 +/* C88024 80242574 00431021 */ addu $v0, $v0, $v1 +/* C88028 80242578 8C440028 */ lw $a0, 0x28($v0) +/* C8802C 8024257C 9623006E */ lhu $v1, 0x6e($s1) +/* C88030 80242580 24020002 */ addiu $v0, $zero, 2 +/* C88034 80242584 A4830044 */ sh $v1, 0x44($a0) +.L80242588: +/* C88038 80242588 8FBF0018 */ lw $ra, 0x18($sp) +/* C8803C 8024258C 8FB10014 */ lw $s1, 0x14($sp) +/* C88040 80242590 8FB00010 */ lw $s0, 0x10($sp) +/* C88044 80242594 03E00008 */ jr $ra +/* C88048 80242598 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_8024259C_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024259C_C85AB0.s new file mode 100644 index 0000000000..583adf9614 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024259C_C85AB0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024259C_C8804C +/* C8804C 8024259C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C88050 802425A0 AFB00010 */ sw $s0, 0x10($sp) +/* C88054 802425A4 3C108024 */ lui $s0, 0x8024 +/* C88058 802425A8 26104074 */ addiu $s0, $s0, 0x4074 +/* C8805C 802425AC AFBF0018 */ sw $ra, 0x18($sp) +/* C88060 802425B0 AFB10014 */ sw $s1, 0x14($sp) +/* C88064 802425B4 8E020000 */ lw $v0, ($s0) +/* C88068 802425B8 14400010 */ bnez $v0, .L802425FC +/* C8806C 802425BC 0080882D */ daddu $s1, $a0, $zero +/* C88070 802425C0 0C00AB39 */ jal heap_malloc +/* C88074 802425C4 24040040 */ addiu $a0, $zero, 0x40 +/* C88078 802425C8 AE020000 */ sw $v0, ($s0) +/* C8807C 802425CC 0000182D */ daddu $v1, $zero, $zero +/* C88080 802425D0 0040282D */ daddu $a1, $v0, $zero +/* C88084 802425D4 0220202D */ daddu $a0, $s1, $zero +.L802425D8: +/* C88088 802425D8 8C820084 */ lw $v0, 0x84($a0) +/* C8808C 802425DC 24840004 */ addiu $a0, $a0, 4 +/* C88090 802425E0 24630001 */ addiu $v1, $v1, 1 +/* C88094 802425E4 ACA20000 */ sw $v0, ($a1) +/* C88098 802425E8 28620010 */ slti $v0, $v1, 0x10 +/* C8809C 802425EC 1440FFFA */ bnez $v0, .L802425D8 +/* C880A0 802425F0 24A50004 */ addiu $a1, $a1, 4 +/* C880A4 802425F4 0809098E */ j .L80242638 +/* C880A8 802425F8 00000000 */ nop +.L802425FC: +/* C880AC 802425FC 0000182D */ daddu $v1, $zero, $zero +/* C880B0 80242600 0040282D */ daddu $a1, $v0, $zero +/* C880B4 80242604 0220202D */ daddu $a0, $s1, $zero +.L80242608: +/* C880B8 80242608 8CA20000 */ lw $v0, ($a1) +/* C880BC 8024260C 24A50004 */ addiu $a1, $a1, 4 +/* C880C0 80242610 24630001 */ addiu $v1, $v1, 1 +/* C880C4 80242614 AC820084 */ sw $v0, 0x84($a0) +/* C880C8 80242618 28620010 */ slti $v0, $v1, 0x10 +/* C880CC 8024261C 1440FFFA */ bnez $v0, .L80242608 +/* C880D0 80242620 24840004 */ addiu $a0, $a0, 4 +/* C880D4 80242624 3C108024 */ lui $s0, 0x8024 +/* C880D8 80242628 26104074 */ addiu $s0, $s0, 0x4074 +/* C880DC 8024262C 0C00AB4B */ jal heap_free +/* C880E0 80242630 8E040000 */ lw $a0, ($s0) +/* C880E4 80242634 AE000000 */ sw $zero, ($s0) +.L80242638: +/* C880E8 80242638 8FBF0018 */ lw $ra, 0x18($sp) +/* C880EC 8024263C 8FB10014 */ lw $s1, 0x14($sp) +/* C880F0 80242640 8FB00010 */ lw $s0, 0x10($sp) +/* C880F4 80242644 24020002 */ addiu $v0, $zero, 2 +/* C880F8 80242648 03E00008 */ jr $ra +/* C880FC 8024264C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242650_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242650_C85AB0.s new file mode 100644 index 0000000000..c37789fcd3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242650_C85AB0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242650_C88100 +/* C88100 80242650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C88104 80242654 AFB00010 */ sw $s0, 0x10($sp) +/* C88108 80242658 0080802D */ daddu $s0, $a0, $zero +/* C8810C 8024265C AFBF0018 */ sw $ra, 0x18($sp) +/* C88110 80242660 AFB10014 */ sw $s1, 0x14($sp) +/* C88114 80242664 8E02000C */ lw $v0, 0xc($s0) +/* C88118 80242668 8C510000 */ lw $s1, ($v0) +/* C8811C 8024266C 0C0B1EAF */ jal get_variable +/* C88120 80242670 0220282D */ daddu $a1, $s1, $zero +/* C88124 80242674 3C03FFF0 */ lui $v1, 0xfff0 +/* C88128 80242678 3463FFFF */ ori $v1, $v1, 0xffff +/* C8812C 8024267C 0200202D */ daddu $a0, $s0, $zero +/* C88130 80242680 00431024 */ and $v0, $v0, $v1 +/* C88134 80242684 00021140 */ sll $v0, $v0, 5 +/* C88138 80242688 3C068008 */ lui $a2, %hi(gItemTable) +/* C8813C 8024268C 00C23021 */ addu $a2, $a2, $v0 +/* C88140 80242690 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C88144 80242694 0C0B2026 */ jal set_variable +/* C88148 80242698 0220282D */ daddu $a1, $s1, $zero +/* C8814C 8024269C 8FBF0018 */ lw $ra, 0x18($sp) +/* C88150 802426A0 8FB10014 */ lw $s1, 0x14($sp) +/* C88154 802426A4 8FB00010 */ lw $s0, 0x10($sp) +/* C88158 802426A8 24020002 */ addiu $v0, $zero, 2 +/* C8815C 802426AC 03E00008 */ jr $ra +/* C88160 802426B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802426B4_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802426B4_C85AB0.s new file mode 100644 index 0000000000..0c0dabb0c2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802426B4_C85AB0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426B4_C88164 +/* C88164 802426B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C88168 802426B8 AFB10014 */ sw $s1, 0x14($sp) +/* C8816C 802426BC 0080882D */ daddu $s1, $a0, $zero +/* C88170 802426C0 AFBF0018 */ sw $ra, 0x18($sp) +/* C88174 802426C4 AFB00010 */ sw $s0, 0x10($sp) +/* C88178 802426C8 8E30000C */ lw $s0, 0xc($s1) +/* C8817C 802426CC 8E050000 */ lw $a1, ($s0) +/* C88180 802426D0 0C0B1EAF */ jal get_variable +/* C88184 802426D4 26100004 */ addiu $s0, $s0, 4 +/* C88188 802426D8 0C00EAD2 */ jal get_npc_safe +/* C8818C 802426DC 0040202D */ daddu $a0, $v0, $zero +/* C88190 802426E0 10400005 */ beqz $v0, .L802426F8 +/* C88194 802426E4 00000000 */ nop +/* C88198 802426E8 8E050000 */ lw $a1, ($s0) +/* C8819C 802426EC 844600A8 */ lh $a2, 0xa8($v0) +/* C881A0 802426F0 0C0B2026 */ jal set_variable +/* C881A4 802426F4 0220202D */ daddu $a0, $s1, $zero +.L802426F8: +/* C881A8 802426F8 8FBF0018 */ lw $ra, 0x18($sp) +/* C881AC 802426FC 8FB10014 */ lw $s1, 0x14($sp) +/* C881B0 80242700 8FB00010 */ lw $s0, 0x10($sp) +/* C881B4 80242704 24020002 */ addiu $v0, $zero, 2 +/* C881B8 80242708 03E00008 */ jr $ra +/* C881BC 8024270C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242710_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242710_C85AB0.s new file mode 100644 index 0000000000..ca10133db9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242710_C85AB0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242710_C881C0 +/* C881C0 80242710 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C881C4 80242714 AFB10014 */ sw $s1, 0x14($sp) +/* C881C8 80242718 0080882D */ daddu $s1, $a0, $zero +/* C881CC 8024271C AFBF0024 */ sw $ra, 0x24($sp) +/* C881D0 80242720 AFB40020 */ sw $s4, 0x20($sp) +/* C881D4 80242724 AFB3001C */ sw $s3, 0x1c($sp) +/* C881D8 80242728 AFB20018 */ sw $s2, 0x18($sp) +/* C881DC 8024272C AFB00010 */ sw $s0, 0x10($sp) +/* C881E0 80242730 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C881E4 80242734 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C881E8 80242738 F7B80038 */ sdc1 $f24, 0x38($sp) +/* C881EC 8024273C F7B60030 */ sdc1 $f22, 0x30($sp) +/* C881F0 80242740 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C881F4 80242744 8E30000C */ lw $s0, 0xc($s1) +/* C881F8 80242748 8E130000 */ lw $s3, ($s0) +/* C881FC 8024274C 26100004 */ addiu $s0, $s0, 4 +/* C88200 80242750 0C0B1EAF */ jal get_variable +/* C88204 80242754 0260282D */ daddu $a1, $s3, $zero +/* C88208 80242758 4482E000 */ mtc1 $v0, $f28 +/* C8820C 8024275C 00000000 */ nop +/* C88210 80242760 4680E720 */ cvt.s.w $f28, $f28 +/* C88214 80242764 8E140000 */ lw $s4, ($s0) +/* C88218 80242768 26100004 */ addiu $s0, $s0, 4 +/* C8821C 8024276C 0220202D */ daddu $a0, $s1, $zero +/* C88220 80242770 0C0B1EAF */ jal get_variable +/* C88224 80242774 0280282D */ daddu $a1, $s4, $zero +/* C88228 80242778 4482D000 */ mtc1 $v0, $f26 +/* C8822C 8024277C 00000000 */ nop +/* C88230 80242780 4680D6A0 */ cvt.s.w $f26, $f26 +/* C88234 80242784 8E100000 */ lw $s0, ($s0) +/* C88238 80242788 0220202D */ daddu $a0, $s1, $zero +/* C8823C 8024278C 0C0B1EAF */ jal get_variable +/* C88240 80242790 0200282D */ daddu $a1, $s0, $zero +/* C88244 80242794 4482C000 */ mtc1 $v0, $f24 +/* C88248 80242798 00000000 */ nop +/* C8824C 8024279C 4680C620 */ cvt.s.w $f24, $f24 +/* C88250 802427A0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C88254 802427A4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C88258 802427A8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C8825C 802427AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C88260 802427B0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C88264 802427B4 44800000 */ mtc1 $zero, $f0 +/* C88268 802427B8 00031080 */ sll $v0, $v1, 2 +/* C8826C 802427BC 00431021 */ addu $v0, $v0, $v1 +/* C88270 802427C0 00021080 */ sll $v0, $v0, 2 +/* C88274 802427C4 00431023 */ subu $v0, $v0, $v1 +/* C88278 802427C8 000218C0 */ sll $v1, $v0, 3 +/* C8827C 802427CC 00431021 */ addu $v0, $v0, $v1 +/* C88280 802427D0 000210C0 */ sll $v0, $v0, 3 +/* C88284 802427D4 46001032 */ c.eq.s $f2, $f0 +/* C88288 802427D8 3C01800B */ lui $at, 0x800b +/* C8828C 802427DC 00220821 */ addu $at, $at, $v0 +/* C88290 802427E0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C88294 802427E4 45000005 */ bc1f .L802427FC +/* C88298 802427E8 00000000 */ nop +/* C8829C 802427EC 3C0142C8 */ lui $at, 0x42c8 +/* C882A0 802427F0 44810000 */ mtc1 $at, $f0 +/* C882A4 802427F4 08090A03 */ j .L8024280C +/* C882A8 802427F8 4600B581 */ sub.s $f22, $f22, $f0 +.L802427FC: +/* C882AC 802427FC 3C0142C8 */ lui $at, 0x42c8 +/* C882B0 80242800 44810000 */ mtc1 $at, $f0 +/* C882B4 80242804 00000000 */ nop +/* C882B8 80242808 4600B580 */ add.s $f22, $f22, $f0 +.L8024280C: +/* C882BC 8024280C 0C00A6C9 */ jal clamp_angle +/* C882C0 80242810 4600B306 */ mov.s $f12, $f22 +/* C882C4 80242814 46000586 */ mov.s $f22, $f0 +/* C882C8 80242818 3C014170 */ lui $at, 0x4170 +/* C882CC 8024281C 4481A000 */ mtc1 $at, $f20 +/* C882D0 80242820 0C00A8BB */ jal sin_deg +/* C882D4 80242824 4600B306 */ mov.s $f12, $f22 +/* C882D8 80242828 46140002 */ mul.s $f0, $f0, $f20 +/* C882DC 8024282C 00000000 */ nop +/* C882E0 80242830 864200B0 */ lh $v0, 0xb0($s2) +/* C882E4 80242834 3C013F00 */ lui $at, 0x3f00 +/* C882E8 80242838 44812000 */ mtc1 $at, $f4 +/* C882EC 8024283C 44821000 */ mtc1 $v0, $f2 +/* C882F0 80242840 00000000 */ nop +/* C882F4 80242844 468010A0 */ cvt.s.w $f2, $f2 +/* C882F8 80242848 46041082 */ mul.s $f2, $f2, $f4 +/* C882FC 8024284C 00000000 */ nop +/* C88300 80242850 4600E700 */ add.s $f28, $f28, $f0 +/* C88304 80242854 4602D680 */ add.s $f26, $f26, $f2 +/* C88308 80242858 0C00A8D4 */ jal cos_deg +/* C8830C 8024285C 4600B306 */ mov.s $f12, $f22 +/* C88310 80242860 46140002 */ mul.s $f0, $f0, $f20 +/* C88314 80242864 00000000 */ nop +/* C88318 80242868 0220202D */ daddu $a0, $s1, $zero +/* C8831C 8024286C 0260282D */ daddu $a1, $s3, $zero +/* C88320 80242870 4600E18D */ trunc.w.s $f6, $f28 +/* C88324 80242874 44063000 */ mfc1 $a2, $f6 +/* C88328 80242878 0C0B2026 */ jal set_variable +/* C8832C 8024287C 4600C601 */ sub.s $f24, $f24, $f0 +/* C88330 80242880 0220202D */ daddu $a0, $s1, $zero +/* C88334 80242884 4600D18D */ trunc.w.s $f6, $f26 +/* C88338 80242888 44063000 */ mfc1 $a2, $f6 +/* C8833C 8024288C 0C0B2026 */ jal set_variable +/* C88340 80242890 0280282D */ daddu $a1, $s4, $zero +/* C88344 80242894 0220202D */ daddu $a0, $s1, $zero +/* C88348 80242898 4600C18D */ trunc.w.s $f6, $f24 +/* C8834C 8024289C 44063000 */ mfc1 $a2, $f6 +/* C88350 802428A0 0C0B2026 */ jal set_variable +/* C88354 802428A4 0200282D */ daddu $a1, $s0, $zero +/* C88358 802428A8 8FBF0024 */ lw $ra, 0x24($sp) +/* C8835C 802428AC 8FB40020 */ lw $s4, 0x20($sp) +/* C88360 802428B0 8FB3001C */ lw $s3, 0x1c($sp) +/* C88364 802428B4 8FB20018 */ lw $s2, 0x18($sp) +/* C88368 802428B8 8FB10014 */ lw $s1, 0x14($sp) +/* C8836C 802428BC 8FB00010 */ lw $s0, 0x10($sp) +/* C88370 802428C0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C88374 802428C4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C88378 802428C8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* C8837C 802428CC D7B60030 */ ldc1 $f22, 0x30($sp) +/* C88380 802428D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C88384 802428D4 24020002 */ addiu $v0, $zero, 2 +/* C88388 802428D8 03E00008 */ jr $ra +/* C8838C 802428DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_802428E0_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_802428E0_C85AB0.s new file mode 100644 index 0000000000..7aba5596e3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_802428E0_C85AB0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428E0_C88390 +/* C88390 802428E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88394 802428E4 AFBF0010 */ sw $ra, 0x10($sp) +/* C88398 802428E8 10A00003 */ beqz $a1, .L802428F8 +/* C8839C 802428EC 8C86000C */ lw $a2, 0xc($a0) +/* C883A0 802428F0 3C018024 */ lui $at, 0x8024 +/* C883A4 802428F4 AC2040D8 */ sw $zero, 0x40d8($at) +.L802428F8: +/* C883A8 802428F8 3C038024 */ lui $v1, 0x8024 +/* C883AC 802428FC 246340D8 */ addiu $v1, $v1, 0x40d8 +/* C883B0 80242900 8C620000 */ lw $v0, ($v1) +/* C883B4 80242904 54400003 */ bnel $v0, $zero, .L80242914 +/* C883B8 80242908 AC600000 */ sw $zero, ($v1) +/* C883BC 8024290C 08090A4A */ j .L80242928 +/* C883C0 80242910 0000102D */ daddu $v0, $zero, $zero +.L80242914: +/* C883C4 80242914 8CC50000 */ lw $a1, ($a2) +/* C883C8 80242918 3C068024 */ lui $a2, 0x8024 +/* C883CC 8024291C 0C0B2026 */ jal set_variable +/* C883D0 80242920 8CC640DC */ lw $a2, 0x40dc($a2) +/* C883D4 80242924 24020002 */ addiu $v0, $zero, 2 +.L80242928: +/* C883D8 80242928 8FBF0010 */ lw $ra, 0x10($sp) +/* C883DC 8024292C 03E00008 */ jr $ra +/* C883E0 80242930 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242934_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242934_C85AB0.s new file mode 100644 index 0000000000..d8f6ab9855 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242934_C85AB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242934_C883E4 +/* C883E4 80242934 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C883E8 80242938 AFBF0010 */ sw $ra, 0x10($sp) +/* C883EC 8024293C 8C82000C */ lw $v0, 0xc($a0) +/* C883F0 80242940 0C0B1EAF */ jal get_variable +/* C883F4 80242944 8C450000 */ lw $a1, ($v0) +/* C883F8 80242948 3C018024 */ lui $at, 0x8024 +/* C883FC 8024294C AC2240DC */ sw $v0, 0x40dc($at) +/* C88400 80242950 24020002 */ addiu $v0, $zero, 2 +/* C88404 80242954 8FBF0010 */ lw $ra, 0x10($sp) +/* C88408 80242958 24030001 */ addiu $v1, $zero, 1 +/* C8840C 8024295C 3C018024 */ lui $at, 0x8024 +/* C88410 80242960 AC2340D8 */ sw $v1, 0x40d8($at) +/* C88414 80242964 03E00008 */ jr $ra +/* C88418 80242968 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_8024296C_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024296C_C85AB0.s new file mode 100644 index 0000000000..86d8b2f529 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_8024296C_C85AB0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024296C_C8841C +/* C8841C 8024296C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88420 80242970 AFBF0010 */ sw $ra, 0x10($sp) +/* C88424 80242974 8C82000C */ lw $v0, 0xc($a0) +/* C88428 80242978 0C0B1EAF */ jal get_variable +/* C8842C 8024297C 8C450000 */ lw $a1, ($v0) +/* C88430 80242980 0040182D */ daddu $v1, $v0, $zero +/* C88434 80242984 10600012 */ beqz $v1, .L802429D0 +/* C88438 80242988 0000202D */ daddu $a0, $zero, $zero +/* C8843C 8024298C 8C620000 */ lw $v0, ($v1) +/* C88440 80242990 5040000A */ beql $v0, $zero, .L802429BC +/* C88444 80242994 00041080 */ sll $v0, $a0, 2 +/* C88448 80242998 3C058024 */ lui $a1, 0x8024 +/* C8844C 8024299C 24A565F0 */ addiu $a1, $a1, 0x65f0 +.L802429A0: +/* C88450 802429A0 24630004 */ addiu $v1, $v1, 4 +/* C88454 802429A4 24840001 */ addiu $a0, $a0, 1 +/* C88458 802429A8 ACA20000 */ sw $v0, ($a1) +/* C8845C 802429AC 8C620000 */ lw $v0, ($v1) +/* C88460 802429B0 1440FFFB */ bnez $v0, .L802429A0 +/* C88464 802429B4 24A50004 */ addiu $a1, $a1, 4 +/* C88468 802429B8 00041080 */ sll $v0, $a0, 2 +.L802429BC: +/* C8846C 802429BC 3C018024 */ lui $at, 0x8024 +/* C88470 802429C0 00220821 */ addu $at, $at, $v0 +/* C88474 802429C4 AC2065F0 */ sw $zero, 0x65f0($at) +/* C88478 802429C8 08090A7E */ j .L802429F8 +/* C8847C 802429CC 00000000 */ nop +.L802429D0: +/* C88480 802429D0 3C038024 */ lui $v1, 0x8024 +/* C88484 802429D4 246365F0 */ addiu $v1, $v1, 0x65f0 +/* C88488 802429D8 0060282D */ daddu $a1, $v1, $zero +.L802429DC: +/* C8848C 802429DC 24820010 */ addiu $v0, $a0, 0x10 +/* C88490 802429E0 AC620000 */ sw $v0, ($v1) +/* C88494 802429E4 24630004 */ addiu $v1, $v1, 4 +/* C88498 802429E8 24840001 */ addiu $a0, $a0, 1 +/* C8849C 802429EC 28820070 */ slti $v0, $a0, 0x70 +/* C884A0 802429F0 1440FFFA */ bnez $v0, .L802429DC +/* C884A4 802429F4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802429F8: +/* C884A8 802429F8 8FBF0010 */ lw $ra, 0x10($sp) +/* C884AC 802429FC 24020002 */ addiu $v0, $zero, 2 +/* C884B0 80242A00 03E00008 */ jr $ra +/* C884B4 80242A04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242A08_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242A08_C85AB0.s new file mode 100644 index 0000000000..e9541fa82f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242A08_C85AB0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A08_C884B8 +/* C884B8 80242A08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C884BC 80242A0C AFB10014 */ sw $s1, 0x14($sp) +/* C884C0 80242A10 0080882D */ daddu $s1, $a0, $zero +/* C884C4 80242A14 AFBF0018 */ sw $ra, 0x18($sp) +/* C884C8 80242A18 AFB00010 */ sw $s0, 0x10($sp) +/* C884CC 80242A1C 8E30000C */ lw $s0, 0xc($s1) +/* C884D0 80242A20 8E050000 */ lw $a1, ($s0) +/* C884D4 80242A24 0C0B1EAF */ jal get_variable +/* C884D8 80242A28 26100004 */ addiu $s0, $s0, 4 +/* C884DC 80242A2C AE22008C */ sw $v0, 0x8c($s1) +/* C884E0 80242A30 8E050000 */ lw $a1, ($s0) +/* C884E4 80242A34 26100004 */ addiu $s0, $s0, 4 +/* C884E8 80242A38 0C0B1EAF */ jal get_variable +/* C884EC 80242A3C 0220202D */ daddu $a0, $s1, $zero +/* C884F0 80242A40 AE220090 */ sw $v0, 0x90($s1) +/* C884F4 80242A44 8E050000 */ lw $a1, ($s0) +/* C884F8 80242A48 26100004 */ addiu $s0, $s0, 4 +/* C884FC 80242A4C 0C0B1EAF */ jal get_variable +/* C88500 80242A50 0220202D */ daddu $a0, $s1, $zero +/* C88504 80242A54 AE220094 */ sw $v0, 0x94($s1) +/* C88508 80242A58 8E050000 */ lw $a1, ($s0) +/* C8850C 80242A5C 26100004 */ addiu $s0, $s0, 4 +/* C88510 80242A60 0C0B1EAF */ jal get_variable +/* C88514 80242A64 0220202D */ daddu $a0, $s1, $zero +/* C88518 80242A68 AE220098 */ sw $v0, 0x98($s1) +/* C8851C 80242A6C 8E050000 */ lw $a1, ($s0) +/* C88520 80242A70 26100004 */ addiu $s0, $s0, 4 +/* C88524 80242A74 0C0B1EAF */ jal get_variable +/* C88528 80242A78 0220202D */ daddu $a0, $s1, $zero +/* C8852C 80242A7C AE22009C */ sw $v0, 0x9c($s1) +/* C88530 80242A80 8E050000 */ lw $a1, ($s0) +/* C88534 80242A84 26100004 */ addiu $s0, $s0, 4 +/* C88538 80242A88 0C0B1EAF */ jal get_variable +/* C8853C 80242A8C 0220202D */ daddu $a0, $s1, $zero +/* C88540 80242A90 AE2200A0 */ sw $v0, 0xa0($s1) +/* C88544 80242A94 8E050000 */ lw $a1, ($s0) +/* C88548 80242A98 26100004 */ addiu $s0, $s0, 4 +/* C8854C 80242A9C 0C0B1EAF */ jal get_variable +/* C88550 80242AA0 0220202D */ daddu $a0, $s1, $zero +/* C88554 80242AA4 AE2200A4 */ sw $v0, 0xa4($s1) +/* C88558 80242AA8 8E050000 */ lw $a1, ($s0) +/* C8855C 80242AAC 26100004 */ addiu $s0, $s0, 4 +/* C88560 80242AB0 0C0B1EAF */ jal get_variable +/* C88564 80242AB4 0220202D */ daddu $a0, $s1, $zero +/* C88568 80242AB8 AE2200A8 */ sw $v0, 0xa8($s1) +/* C8856C 80242ABC 8E050000 */ lw $a1, ($s0) +/* C88570 80242AC0 26100004 */ addiu $s0, $s0, 4 +/* C88574 80242AC4 0C0B1EAF */ jal get_variable +/* C88578 80242AC8 0220202D */ daddu $a0, $s1, $zero +/* C8857C 80242ACC AE2200AC */ sw $v0, 0xac($s1) +/* C88580 80242AD0 8E050000 */ lw $a1, ($s0) +/* C88584 80242AD4 0C0B1EAF */ jal get_variable +/* C88588 80242AD8 0220202D */ daddu $a0, $s1, $zero +/* C8858C 80242ADC AE2200B0 */ sw $v0, 0xb0($s1) +/* C88590 80242AE0 8FBF0018 */ lw $ra, 0x18($sp) +/* C88594 80242AE4 8FB10014 */ lw $s1, 0x14($sp) +/* C88598 80242AE8 8FB00010 */ lw $s0, 0x10($sp) +/* C8859C 80242AEC 24020002 */ addiu $v0, $zero, 2 +/* C885A0 80242AF0 03E00008 */ jr $ra +/* C885A4 80242AF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242AF8_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242AF8_C85AB0.s new file mode 100644 index 0000000000..580fc25257 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242AF8_C85AB0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AF8_C885A8 +/* C885A8 80242AF8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C885AC 80242AFC AFB1001C */ sw $s1, 0x1c($sp) +/* C885B0 80242B00 0080882D */ daddu $s1, $a0, $zero +/* C885B4 80242B04 AFBF0034 */ sw $ra, 0x34($sp) +/* C885B8 80242B08 AFB60030 */ sw $s6, 0x30($sp) +/* C885BC 80242B0C AFB5002C */ sw $s5, 0x2c($sp) +/* C885C0 80242B10 AFB40028 */ sw $s4, 0x28($sp) +/* C885C4 80242B14 AFB30024 */ sw $s3, 0x24($sp) +/* C885C8 80242B18 AFB20020 */ sw $s2, 0x20($sp) +/* C885CC 80242B1C AFB00018 */ sw $s0, 0x18($sp) +/* C885D0 80242B20 F7B60040 */ sdc1 $f22, 0x40($sp) +/* C885D4 80242B24 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C885D8 80242B28 8E30000C */ lw $s0, 0xc($s1) +/* C885DC 80242B2C 8E160000 */ lw $s6, ($s0) +/* C885E0 80242B30 26100004 */ addiu $s0, $s0, 4 +/* C885E4 80242B34 0C0B1EAF */ jal get_variable +/* C885E8 80242B38 02C0282D */ daddu $a1, $s6, $zero +/* C885EC 80242B3C 44820000 */ mtc1 $v0, $f0 +/* C885F0 80242B40 00000000 */ nop +/* C885F4 80242B44 46800020 */ cvt.s.w $f0, $f0 +/* C885F8 80242B48 E7A00010 */ swc1 $f0, 0x10($sp) +/* C885FC 80242B4C 8E140000 */ lw $s4, ($s0) +/* C88600 80242B50 26100004 */ addiu $s0, $s0, 4 +/* C88604 80242B54 0220202D */ daddu $a0, $s1, $zero +/* C88608 80242B58 0C0B1EAF */ jal get_variable +/* C8860C 80242B5C 0280282D */ daddu $a1, $s4, $zero +/* C88610 80242B60 0220202D */ daddu $a0, $s1, $zero +/* C88614 80242B64 8E150000 */ lw $s5, ($s0) +/* C88618 80242B68 4482B000 */ mtc1 $v0, $f22 +/* C8861C 80242B6C 00000000 */ nop +/* C88620 80242B70 4680B5A0 */ cvt.s.w $f22, $f22 +/* C88624 80242B74 0C0B1EAF */ jal get_variable +/* C88628 80242B78 02A0282D */ daddu $a1, $s5, $zero +/* C8862C 80242B7C 2404FFFC */ addiu $a0, $zero, -4 +/* C88630 80242B80 44820000 */ mtc1 $v0, $f0 +/* C88634 80242B84 00000000 */ nop +/* C88638 80242B88 46800020 */ cvt.s.w $f0, $f0 +/* C8863C 80242B8C 0C00EABB */ jal get_npc_unsafe +/* C88640 80242B90 E7A00014 */ swc1 $f0, 0x14($sp) +/* C88644 80242B94 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C88648 80242B98 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C8864C 80242B9C 3C014334 */ lui $at, 0x4334 +/* C88650 80242BA0 44816000 */ mtc1 $at, $f12 +/* C88654 80242BA4 00041880 */ sll $v1, $a0, 2 +/* C88658 80242BA8 00641821 */ addu $v1, $v1, $a0 +/* C8865C 80242BAC 00031880 */ sll $v1, $v1, 2 +/* C88660 80242BB0 00641823 */ subu $v1, $v1, $a0 +/* C88664 80242BB4 000320C0 */ sll $a0, $v1, 3 +/* C88668 80242BB8 00641821 */ addu $v1, $v1, $a0 +/* C8866C 80242BBC 000318C0 */ sll $v1, $v1, 3 +/* C88670 80242BC0 3C01800B */ lui $at, 0x800b +/* C88674 80242BC4 00230821 */ addu $at, $at, $v1 +/* C88678 80242BC8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C8867C 80242BCC 460C0300 */ add.s $f12, $f0, $f12 +/* C88680 80242BD0 0C00A6C9 */ jal clamp_angle +/* C88684 80242BD4 0040982D */ daddu $s3, $v0, $zero +/* C88688 80242BD8 27B00010 */ addiu $s0, $sp, 0x10 +/* C8868C 80242BDC 0200202D */ daddu $a0, $s0, $zero +/* C88690 80242BE0 27B20014 */ addiu $s2, $sp, 0x14 +/* C88694 80242BE4 0240282D */ daddu $a1, $s2, $zero +/* C88698 80242BE8 3C064170 */ lui $a2, 0x4170 +/* C8869C 80242BEC 8E67000C */ lw $a3, 0xc($s3) +/* C886A0 80242BF0 0C00A7E7 */ jal add_vec2D_polar +/* C886A4 80242BF4 46000506 */ mov.s $f20, $f0 +/* C886A8 80242BF8 0200202D */ daddu $a0, $s0, $zero +/* C886AC 80242BFC 3C064120 */ lui $a2, 0x4120 +/* C886B0 80242C00 4407A000 */ mfc1 $a3, $f20 +/* C886B4 80242C04 0C00A7E7 */ jal add_vec2D_polar +/* C886B8 80242C08 0240282D */ daddu $a1, $s2, $zero +/* C886BC 80242C0C 0220202D */ daddu $a0, $s1, $zero +/* C886C0 80242C10 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C886C4 80242C14 4600008D */ trunc.w.s $f2, $f0 +/* C886C8 80242C18 44061000 */ mfc1 $a2, $f2 +/* C886CC 80242C1C 0C0B2026 */ jal set_variable +/* C886D0 80242C20 02C0282D */ daddu $a1, $s6, $zero +/* C886D4 80242C24 0220202D */ daddu $a0, $s1, $zero +/* C886D8 80242C28 4600B08D */ trunc.w.s $f2, $f22 +/* C886DC 80242C2C 44061000 */ mfc1 $a2, $f2 +/* C886E0 80242C30 0C0B2026 */ jal set_variable +/* C886E4 80242C34 0280282D */ daddu $a1, $s4, $zero +/* C886E8 80242C38 0220202D */ daddu $a0, $s1, $zero +/* C886EC 80242C3C C7A00014 */ lwc1 $f0, 0x14($sp) +/* C886F0 80242C40 4600008D */ trunc.w.s $f2, $f0 +/* C886F4 80242C44 44061000 */ mfc1 $a2, $f2 +/* C886F8 80242C48 0C0B2026 */ jal set_variable +/* C886FC 80242C4C 02A0282D */ daddu $a1, $s5, $zero +/* C88700 80242C50 8FBF0034 */ lw $ra, 0x34($sp) +/* C88704 80242C54 8FB60030 */ lw $s6, 0x30($sp) +/* C88708 80242C58 8FB5002C */ lw $s5, 0x2c($sp) +/* C8870C 80242C5C 8FB40028 */ lw $s4, 0x28($sp) +/* C88710 80242C60 8FB30024 */ lw $s3, 0x24($sp) +/* C88714 80242C64 8FB20020 */ lw $s2, 0x20($sp) +/* C88718 80242C68 8FB1001C */ lw $s1, 0x1c($sp) +/* C8871C 80242C6C 8FB00018 */ lw $s0, 0x18($sp) +/* C88720 80242C70 D7B60040 */ ldc1 $f22, 0x40($sp) +/* C88724 80242C74 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C88728 80242C78 24020002 */ addiu $v0, $zero, 2 +/* C8872C 80242C7C 03E00008 */ jr $ra +/* C88730 80242C80 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242C84_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242C84_C85AB0.s new file mode 100644 index 0000000000..9529281c77 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242C84_C85AB0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C84_C88734 +/* C88734 80242C84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88738 80242C88 AFB00010 */ sw $s0, 0x10($sp) +/* C8873C 80242C8C 0080802D */ daddu $s0, $a0, $zero +/* C88740 80242C90 AFBF0014 */ sw $ra, 0x14($sp) +/* C88744 80242C94 0C00EABB */ jal get_npc_unsafe +/* C88748 80242C98 8E04008C */ lw $a0, 0x8c($s0) +/* C8874C 80242C9C 0040282D */ daddu $a1, $v0, $zero +/* C88750 80242CA0 8E040094 */ lw $a0, 0x94($s0) +/* C88754 80242CA4 8CA30028 */ lw $v1, 0x28($a1) +/* C88758 80242CA8 ACA40028 */ sw $a0, 0x28($a1) +/* C8875C 80242CAC 8FBF0014 */ lw $ra, 0x14($sp) +/* C88760 80242CB0 8FB00010 */ lw $s0, 0x10($sp) +/* C88764 80242CB4 24020002 */ addiu $v0, $zero, 2 +/* C88768 80242CB8 3C018024 */ lui $at, 0x8024 +/* C8876C 80242CBC AC2367B4 */ sw $v1, 0x67b4($at) +/* C88770 80242CC0 03E00008 */ jr $ra +/* C88774 80242CC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242CC8_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242CC8_C85AB0.s new file mode 100644 index 0000000000..4d99d87e09 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242CC8_C85AB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CC8_C88778 +/* C88778 80242CC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8877C 80242CCC AFBF0010 */ sw $ra, 0x10($sp) +/* C88780 80242CD0 0C00EABB */ jal get_npc_unsafe +/* C88784 80242CD4 8C84008C */ lw $a0, 0x8c($a0) +/* C88788 80242CD8 3C038024 */ lui $v1, 0x8024 +/* C8878C 80242CDC 8C6367B4 */ lw $v1, 0x67b4($v1) +/* C88790 80242CE0 AC430028 */ sw $v1, 0x28($v0) +/* C88794 80242CE4 8FBF0010 */ lw $ra, 0x10($sp) +/* C88798 80242CE8 24020002 */ addiu $v0, $zero, 2 +/* C8879C 80242CEC 03E00008 */ jr $ra +/* C887A0 80242CF0 27BD0018 */ addiu $sp, $sp, 0x18 +/* C887A4 80242CF4 00000000 */ nop +/* C887A8 80242CF8 00000000 */ nop +/* C887AC 80242CFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D00_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D00_C85AB0.s new file mode 100644 index 0000000000..274e03d9e3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D00_C85AB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D00_C887B0 +/* C887B0 80242D00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C887B4 80242D04 AFBF0010 */ sw $ra, 0x10($sp) +/* C887B8 80242D08 0C03A8CD */ jal subtract_hp +/* C887BC 80242D0C 24040001 */ addiu $a0, $zero, 1 +/* C887C0 80242D10 8FBF0010 */ lw $ra, 0x10($sp) +/* C887C4 80242D14 24020002 */ addiu $v0, $zero, 2 +/* C887C8 80242D18 03E00008 */ jr $ra +/* C887CC 80242D1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D20_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D20_C85AB0.s new file mode 100644 index 0000000000..fa058a0cd3 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D20_C85AB0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D20_C887D0 +/* C887D0 80242D20 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* C887D4 80242D24 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* C887D8 80242D28 80620000 */ lb $v0, ($v1) +/* C887DC 80242D2C 10400004 */ beqz $v0, .L80242D40 +/* C887E0 80242D30 2402FFFF */ addiu $v0, $zero, -1 +/* C887E4 80242D34 80620003 */ lb $v0, 3($v1) +/* C887E8 80242D38 08090B51 */ j .L80242D44 +/* C887EC 80242D3C AC820084 */ sw $v0, 0x84($a0) +.L80242D40: +/* C887F0 80242D40 AC820084 */ sw $v0, 0x84($a0) +.L80242D44: +/* C887F4 80242D44 03E00008 */ jr $ra +/* C887F8 80242D48 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D4C.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D4C.s new file mode 100644 index 0000000000..602e720b87 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242D4C.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D4C +/* C887FC 80242D4C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C88800 80242D50 AFB00028 */ sw $s0, 0x28($sp) +/* C88804 80242D54 0080802D */ daddu $s0, $a0, $zero +/* C88808 80242D58 AFBF002C */ sw $ra, 0x2c($sp) +/* C8880C 80242D5C C6000084 */ lwc1 $f0, 0x84($s0) +/* C88810 80242D60 46800020 */ cvt.s.w $f0, $f0 +/* C88814 80242D64 E7A00018 */ swc1 $f0, 0x18($sp) +/* C88818 80242D68 C600008C */ lwc1 $f0, 0x8c($s0) +/* C8881C 80242D6C 46800020 */ cvt.s.w $f0, $f0 +/* C88820 80242D70 27A20024 */ addiu $v0, $sp, 0x24 +/* C88824 80242D74 3C040001 */ lui $a0, 1 +/* C88828 80242D78 27A50018 */ addiu $a1, $sp, 0x18 +/* C8882C 80242D7C 27A6001C */ addiu $a2, $sp, 0x1c +/* C88830 80242D80 3C0144FA */ lui $at, 0x44fa +/* C88834 80242D84 44811000 */ mtc1 $at, $f2 +/* C88838 80242D88 27A70020 */ addiu $a3, $sp, 0x20 +/* C8883C 80242D8C E7A0001C */ swc1 $f0, 0x1c($sp) +/* C88840 80242D90 AFA00020 */ sw $zero, 0x20($sp) +/* C88844 80242D94 E7A20024 */ swc1 $f2, 0x24($sp) +/* C88848 80242D98 0C0372DF */ jal func_800DCB7C +/* C8884C 80242D9C AFA20010 */ sw $v0, 0x10($sp) +/* C88850 80242DA0 1040000B */ beqz $v0, .L80242DD0 +/* C88854 80242DA4 00000000 */ nop +/* C88858 80242DA8 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* C8885C 80242DAC 3C01425C */ lui $at, 0x425c +/* C88860 80242DB0 44810000 */ mtc1 $at, $f0 +/* C88864 80242DB4 00000000 */ nop +/* C88868 80242DB8 46001080 */ add.s $f2, $f2, $f0 +/* C8886C 80242DBC C7A00018 */ lwc1 $f0, 0x18($sp) +/* C88870 80242DC0 4600010D */ trunc.w.s $f4, $f0 +/* C88874 80242DC4 E6040084 */ swc1 $f4, 0x84($s0) +/* C88878 80242DC8 4600110D */ trunc.w.s $f4, $f2 +/* C8887C 80242DCC E604008C */ swc1 $f4, 0x8c($s0) +.L80242DD0: +/* C88880 80242DD0 8FBF002C */ lw $ra, 0x2c($sp) +/* C88884 80242DD4 8FB00028 */ lw $s0, 0x28($sp) +/* C88888 80242DD8 24020002 */ addiu $v0, $zero, 2 +/* C8888C 80242DDC 03E00008 */ jr $ra +/* C88890 80242DE0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242DE4.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242DE4.s new file mode 100644 index 0000000000..20f0e10e05 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242DE4.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DE4 +/* C88894 80242DE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88898 80242DE8 AFB00010 */ sw $s0, 0x10($sp) +/* C8889C 80242DEC 0080802D */ daddu $s0, $a0, $zero +/* C888A0 80242DF0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C888A4 80242DF4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C888A8 80242DF8 AFBF0014 */ sw $ra, 0x14($sp) +/* C888AC 80242DFC C4400028 */ lwc1 $f0, 0x28($v0) +/* C888B0 80242E00 C6020084 */ lwc1 $f2, 0x84($s0) +/* C888B4 80242E04 468010A0 */ cvt.s.w $f2, $f2 +/* C888B8 80242E08 46001081 */ sub.s $f2, $f2, $f0 +/* C888BC 80242E0C 46021082 */ mul.s $f2, $f2, $f2 +/* C888C0 80242E10 00000000 */ nop +/* C888C4 80242E14 C440002C */ lwc1 $f0, 0x2c($v0) +/* C888C8 80242E18 C604008C */ lwc1 $f4, 0x8c($s0) +/* C888CC 80242E1C 46802120 */ cvt.s.w $f4, $f4 +/* C888D0 80242E20 46002101 */ sub.s $f4, $f4, $f0 +/* C888D4 80242E24 46042102 */ mul.s $f4, $f4, $f4 +/* C888D8 80242E28 00000000 */ nop +/* C888DC 80242E2C C4460030 */ lwc1 $f6, 0x30($v0) +/* C888E0 80242E30 44800000 */ mtc1 $zero, $f0 +/* C888E4 80242E34 00000000 */ nop +/* C888E8 80242E38 46060001 */ sub.s $f0, $f0, $f6 +/* C888EC 80242E3C 46000002 */ mul.s $f0, $f0, $f0 +/* C888F0 80242E40 00000000 */ nop +/* C888F4 80242E44 46041080 */ add.s $f2, $f2, $f4 +/* C888F8 80242E48 46001300 */ add.s $f12, $f2, $f0 +/* C888FC 80242E4C 46006004 */ sqrt.s $f0, $f12 +/* C88900 80242E50 46000032 */ c.eq.s $f0, $f0 +/* C88904 80242E54 00000000 */ nop +/* C88908 80242E58 45010003 */ bc1t .L80242E68 +/* C8890C 80242E5C 00000000 */ nop +/* C88910 80242E60 0C0187BC */ jal sqrtf +/* C88914 80242E64 00000000 */ nop +.L80242E68: +/* C88918 80242E68 4600020D */ trunc.w.s $f8, $f0 +/* C8891C 80242E6C E6080094 */ swc1 $f8, 0x94($s0) +/* C88920 80242E70 8FBF0014 */ lw $ra, 0x14($sp) +/* C88924 80242E74 8FB00010 */ lw $s0, 0x10($sp) +/* C88928 80242E78 24020002 */ addiu $v0, $zero, 2 +/* C8892C 80242E7C 03E00008 */ jr $ra +/* C88930 80242E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242E84_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242E84_C85AB0.s new file mode 100644 index 0000000000..07cf6bf3b4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242E84_C85AB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E84_C88934 +/* C88934 80242E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88938 80242E88 AFBF0010 */ sw $ra, 0x10($sp) +/* C8893C 80242E8C 8C82000C */ lw $v0, 0xc($a0) +/* C88940 80242E90 0C0B1EAF */ jal get_variable +/* C88944 80242E94 8C450000 */ lw $a1, ($v0) +/* C88948 80242E98 44820000 */ mtc1 $v0, $f0 +/* C8894C 80242E9C 00000000 */ nop +/* C88950 80242EA0 46800020 */ cvt.s.w $f0, $f0 +/* C88954 80242EA4 8FBF0010 */ lw $ra, 0x10($sp) +/* C88958 80242EA8 24020002 */ addiu $v0, $zero, 2 +/* C8895C 80242EAC 3C018011 */ lui $at, 0x8011 +/* C88960 80242EB0 E420F054 */ swc1 $f0, -0xfac($at) +/* C88964 80242EB4 03E00008 */ jr $ra +/* C88968 80242EB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242EBC_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242EBC_C85AB0.s new file mode 100644 index 0000000000..78f664db91 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242EBC_C85AB0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EBC_C8896C +/* C8896C 80242EBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C88970 80242EC0 AFB00010 */ sw $s0, 0x10($sp) +/* C88974 80242EC4 0080802D */ daddu $s0, $a0, $zero +/* C88978 80242EC8 AFBF0014 */ sw $ra, 0x14($sp) +/* C8897C 80242ECC F7B40018 */ sdc1 $f20, 0x18($sp) +/* C88980 80242ED0 C60C0090 */ lwc1 $f12, 0x90($s0) +/* C88984 80242ED4 46806320 */ cvt.s.w $f12, $f12 +/* C88988 80242ED8 3C018024 */ lui $at, 0x8024 +/* C8898C 80242EDC D43465D0 */ ldc1 $f20, 0x65d0($at) +/* C88990 80242EE0 46006307 */ neg.s $f12, $f12 +/* C88994 80242EE4 46006321 */ cvt.d.s $f12, $f12 +/* C88998 80242EE8 46346301 */ sub.d $f12, $f12, $f20 +/* C8899C 80242EEC 0C00A8D4 */ jal cos_deg +/* C889A0 80242EF0 46206320 */ cvt.s.d $f12, $f12 +/* C889A4 80242EF4 3C014008 */ lui $at, 0x4008 +/* C889A8 80242EF8 44811800 */ mtc1 $at, $f3 +/* C889AC 80242EFC 44801000 */ mtc1 $zero, $f2 +/* C889B0 80242F00 46000021 */ cvt.d.s $f0, $f0 +/* C889B4 80242F04 46220002 */ mul.d $f0, $f0, $f2 +/* C889B8 80242F08 00000000 */ nop +/* C889BC 80242F0C C60C0090 */ lwc1 $f12, 0x90($s0) +/* C889C0 80242F10 46806320 */ cvt.s.w $f12, $f12 +/* C889C4 80242F14 46006307 */ neg.s $f12, $f12 +/* C889C8 80242F18 46006321 */ cvt.d.s $f12, $f12 +/* C889CC 80242F1C 46346301 */ sub.d $f12, $f12, $f20 +/* C889D0 80242F20 3C018024 */ lui $at, 0x8024 +/* C889D4 80242F24 D42265D8 */ ldc1 $f2, 0x65d8($at) +/* C889D8 80242F28 46220001 */ sub.d $f0, $f0, $f2 +/* C889DC 80242F2C 4620010D */ trunc.w.d $f4, $f0 +/* C889E0 80242F30 E6040098 */ swc1 $f4, 0x98($s0) +/* C889E4 80242F34 0C00A8BB */ jal sin_deg +/* C889E8 80242F38 46206320 */ cvt.s.d $f12, $f12 +/* C889EC 80242F3C 3C014014 */ lui $at, 0x4014 +/* C889F0 80242F40 44811800 */ mtc1 $at, $f3 +/* C889F4 80242F44 44801000 */ mtc1 $zero, $f2 +/* C889F8 80242F48 46000021 */ cvt.d.s $f0, $f0 +/* C889FC 80242F4C 46220002 */ mul.d $f0, $f0, $f2 +/* C88A00 80242F50 00000000 */ nop +/* C88A04 80242F54 4620010D */ trunc.w.d $f4, $f0 +/* C88A08 80242F58 E604009C */ swc1 $f4, 0x9c($s0) +/* C88A0C 80242F5C 8FBF0014 */ lw $ra, 0x14($sp) +/* C88A10 80242F60 8FB00010 */ lw $s0, 0x10($sp) +/* C88A14 80242F64 D7B40018 */ ldc1 $f20, 0x18($sp) +/* C88A18 80242F68 24020002 */ addiu $v0, $zero, 2 +/* C88A1C 80242F6C 03E00008 */ jr $ra +/* C88A20 80242F70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80242F74_C85AB0.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242F74_C85AB0.s new file mode 100644 index 0000000000..b0425e0b4e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80242F74_C85AB0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74_C88A24 +/* C88A24 80242F74 3C018024 */ lui $at, 0x8024 +/* C88A28 80242F78 D42265E0 */ ldc1 $f2, 0x65e0($at) +/* C88A2C 80242F7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C88A30 80242F80 AFB00010 */ sw $s0, 0x10($sp) +/* C88A34 80242F84 0080802D */ daddu $s0, $a0, $zero +/* C88A38 80242F88 AFBF0014 */ sw $ra, 0x14($sp) +/* C88A3C 80242F8C C6000084 */ lwc1 $f0, 0x84($s0) +/* C88A40 80242F90 46800021 */ cvt.d.w $f0, $f0 +/* C88A44 80242F94 46201081 */ sub.d $f2, $f2, $f0 +/* C88A48 80242F98 462010A0 */ cvt.s.d $f2, $f2 +/* C88A4C 80242F9C 46021082 */ mul.s $f2, $f2, $f2 +/* C88A50 80242FA0 00000000 */ nop +/* C88A54 80242FA4 3C018024 */ lui $at, 0x8024 +/* C88A58 80242FA8 D42065E8 */ ldc1 $f0, 0x65e8($at) +/* C88A5C 80242FAC C604008C */ lwc1 $f4, 0x8c($s0) +/* C88A60 80242FB0 46802121 */ cvt.d.w $f4, $f4 +/* C88A64 80242FB4 46240001 */ sub.d $f0, $f0, $f4 +/* C88A68 80242FB8 46200020 */ cvt.s.d $f0, $f0 +/* C88A6C 80242FBC 46000002 */ mul.s $f0, $f0, $f0 +/* C88A70 80242FC0 00000000 */ nop +/* C88A74 80242FC4 46001300 */ add.s $f12, $f2, $f0 +/* C88A78 80242FC8 46006004 */ sqrt.s $f0, $f12 +/* C88A7C 80242FCC 46000032 */ c.eq.s $f0, $f0 +/* C88A80 80242FD0 00000000 */ nop +/* C88A84 80242FD4 45030004 */ bc1tl .L80242FE8 +/* C88A88 80242FD8 46000007 */ neg.s $f0, $f0 +/* C88A8C 80242FDC 0C0187BC */ jal sqrtf +/* C88A90 80242FE0 00000000 */ nop +/* C88A94 80242FE4 46000007 */ neg.s $f0, $f0 +.L80242FE8: +/* C88A98 80242FE8 4600018D */ trunc.w.s $f6, $f0 +/* C88A9C 80242FEC E6060090 */ swc1 $f6, 0x90($s0) +/* C88AA0 80242FF0 8FBF0014 */ lw $ra, 0x14($sp) +/* C88AA4 80242FF4 8FB00010 */ lw $s0, 0x10($sp) +/* C88AA8 80242FF8 24020002 */ addiu $v0, $zero, 2 +/* C88AAC 80242FFC 03E00008 */ jr $ra +/* C88AB0 80243000 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_17/func_80243004.s b/asm/nonmatchings/world/area_kzn/kzn_17/func_80243004.s new file mode 100644 index 0000000000..bef4035f8f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_17/func_80243004.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243004 +/* C88AB4 80243004 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C88AB8 80243008 AFB1001C */ sw $s1, 0x1c($sp) +/* C88ABC 8024300C 0080882D */ daddu $s1, $a0, $zero +/* C88AC0 80243010 AFBF0020 */ sw $ra, 0x20($sp) +/* C88AC4 80243014 AFB00018 */ sw $s0, 0x18($sp) +/* C88AC8 80243018 8E30000C */ lw $s0, 0xc($s1) +/* C88ACC 8024301C 8E050000 */ lw $a1, ($s0) +/* C88AD0 80243020 0C0B1EAF */ jal get_variable +/* C88AD4 80243024 26100004 */ addiu $s0, $s0, 4 +/* C88AD8 80243028 AE220070 */ sw $v0, 0x70($s1) +/* C88ADC 8024302C 8E050000 */ lw $a1, ($s0) +/* C88AE0 80243030 26100004 */ addiu $s0, $s0, 4 +/* C88AE4 80243034 0C0B1EAF */ jal get_variable +/* C88AE8 80243038 0220202D */ daddu $a0, $s1, $zero +/* C88AEC 8024303C AE220074 */ sw $v0, 0x74($s1) +/* C88AF0 80243040 8E050000 */ lw $a1, ($s0) +/* C88AF4 80243044 0C0B1EAF */ jal get_variable +/* C88AF8 80243048 0220202D */ daddu $a0, $s1, $zero +/* C88AFC 8024304C 24040052 */ addiu $a0, $zero, 0x52 +/* C88B00 80243050 0000282D */ daddu $a1, $zero, $zero +/* C88B04 80243054 C6200070 */ lwc1 $f0, 0x70($s1) +/* C88B08 80243058 46800020 */ cvt.s.w $f0, $f0 +/* C88B0C 8024305C C6220074 */ lwc1 $f2, 0x74($s1) +/* C88B10 80243060 468010A0 */ cvt.s.w $f2, $f2 +/* C88B14 80243064 44060000 */ mfc1 $a2, $f0 +/* C88B18 80243068 44071000 */ mfc1 $a3, $f2 +/* C88B1C 8024306C 44820000 */ mtc1 $v0, $f0 +/* C88B20 80243070 00000000 */ nop +/* C88B24 80243074 46800020 */ cvt.s.w $f0, $f0 +/* C88B28 80243078 AE220078 */ sw $v0, 0x78($s1) +/* C88B2C 8024307C 0C05267B */ jal func_801499EC +/* C88B30 80243080 E7A00010 */ swc1 $f0, 0x10($sp) +/* C88B34 80243084 8FBF0020 */ lw $ra, 0x20($sp) +/* C88B38 80243088 8FB1001C */ lw $s1, 0x1c($sp) +/* C88B3C 8024308C 8FB00018 */ lw $s0, 0x18($sp) +/* C88B40 80243090 24020002 */ addiu $v0, $zero, 2 +/* C88B44 80243094 03E00008 */ jr $ra +/* C88B48 80243098 27BD0028 */ addiu $sp, $sp, 0x28 +/* C88B4C 8024309C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_80240000_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240000_C8C0A0.s new file mode 100644 index 0000000000..02a1b8dfdc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240000_C8C0A0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C8C0A0 +/* C8C0A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8C0A4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* C8C0A8 80240008 3C05F5DE */ lui $a1, 0xf5de +/* C8C0AC 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* C8C0B0 80240010 0C0B1EAF */ jal get_variable +/* C8C0B4 80240014 0000202D */ daddu $a0, $zero, $zero +/* C8C0B8 80240018 28430027 */ slti $v1, $v0, 0x27 +/* C8C0BC 8024001C 3C020019 */ lui $v0, 0x19 +/* C8C0C0 80240020 14600003 */ bnez $v1, .L80240030 +/* C8C0C4 80240024 3442010F */ ori $v0, $v0, 0x10f +/* C8C0C8 80240028 3C020019 */ lui $v0, 0x19 +/* C8C0CC 8024002C 34420110 */ ori $v0, $v0, 0x110 +.L80240030: +/* C8C0D0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* C8C0D4 80240034 03E00008 */ jr $ra +/* C8C0D8 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* C8C0DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_80240040_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240040_C8C0A0.s new file mode 100644 index 0000000000..0cadb364a4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240040_C8C0A0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_C8C0E0 +/* C8C0E0 80240040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8C0E4 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* C8C0E8 80240048 0080802D */ daddu $s0, $a0, $zero +/* C8C0EC 8024004C AFBF0014 */ sw $ra, 0x14($sp) +/* C8C0F0 80240050 8E0300A8 */ lw $v1, 0xa8($s0) +/* C8C0F4 80240054 8E020088 */ lw $v0, 0x88($s0) +/* C8C0F8 80240058 00621821 */ addu $v1, $v1, $v0 +/* C8C0FC 8024005C 04610004 */ bgez $v1, .L80240070 +/* C8C100 80240060 AE0300A8 */ sw $v1, 0xa8($s0) +/* C8C104 80240064 3C020002 */ lui $v0, 2 +/* C8C108 80240068 08090020 */ j .L80240080 +/* C8C10C 8024006C 00621021 */ addu $v0, $v1, $v0 +.L80240070: +/* C8C110 80240070 3C040002 */ lui $a0, 2 +/* C8C114 80240074 0083102A */ slt $v0, $a0, $v1 +/* C8C118 80240078 10400002 */ beqz $v0, .L80240084 +/* C8C11C 8024007C 00641023 */ subu $v0, $v1, $a0 +.L80240080: +/* C8C120 80240080 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240084: +/* C8C124 80240084 8E0300AC */ lw $v1, 0xac($s0) +/* C8C128 80240088 8E02008C */ lw $v0, 0x8c($s0) +/* C8C12C 8024008C 00621821 */ addu $v1, $v1, $v0 +/* C8C130 80240090 04610004 */ bgez $v1, .L802400A4 +/* C8C134 80240094 AE0300AC */ sw $v1, 0xac($s0) +/* C8C138 80240098 3C020002 */ lui $v0, 2 +/* C8C13C 8024009C 0809002D */ j .L802400B4 +/* C8C140 802400A0 00621021 */ addu $v0, $v1, $v0 +.L802400A4: +/* C8C144 802400A4 3C040002 */ lui $a0, 2 +/* C8C148 802400A8 0083102A */ slt $v0, $a0, $v1 +/* C8C14C 802400AC 10400002 */ beqz $v0, .L802400B8 +/* C8C150 802400B0 00641023 */ subu $v0, $v1, $a0 +.L802400B4: +/* C8C154 802400B4 AE0200AC */ sw $v0, 0xac($s0) +.L802400B8: +/* C8C158 802400B8 8E0300B0 */ lw $v1, 0xb0($s0) +/* C8C15C 802400BC 8E020090 */ lw $v0, 0x90($s0) +/* C8C160 802400C0 00621821 */ addu $v1, $v1, $v0 +/* C8C164 802400C4 04610004 */ bgez $v1, .L802400D8 +/* C8C168 802400C8 AE0300B0 */ sw $v1, 0xb0($s0) +/* C8C16C 802400CC 3C020002 */ lui $v0, 2 +/* C8C170 802400D0 0809003A */ j .L802400E8 +/* C8C174 802400D4 00621021 */ addu $v0, $v1, $v0 +.L802400D8: +/* C8C178 802400D8 3C040002 */ lui $a0, 2 +/* C8C17C 802400DC 0083102A */ slt $v0, $a0, $v1 +/* C8C180 802400E0 10400002 */ beqz $v0, .L802400EC +/* C8C184 802400E4 00641023 */ subu $v0, $v1, $a0 +.L802400E8: +/* C8C188 802400E8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400EC: +/* C8C18C 802400EC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C8C190 802400F0 8E020094 */ lw $v0, 0x94($s0) +/* C8C194 802400F4 00621821 */ addu $v1, $v1, $v0 +/* C8C198 802400F8 04610004 */ bgez $v1, .L8024010C +/* C8C19C 802400FC AE0300B4 */ sw $v1, 0xb4($s0) +/* C8C1A0 80240100 3C020002 */ lui $v0, 2 +/* C8C1A4 80240104 08090047 */ j .L8024011C +/* C8C1A8 80240108 00621021 */ addu $v0, $v1, $v0 +.L8024010C: +/* C8C1AC 8024010C 3C040002 */ lui $a0, 2 +/* C8C1B0 80240110 0083102A */ slt $v0, $a0, $v1 +/* C8C1B4 80240114 10400002 */ beqz $v0, .L80240120 +/* C8C1B8 80240118 00641023 */ subu $v0, $v1, $a0 +.L8024011C: +/* C8C1BC 8024011C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240120: +/* C8C1C0 80240120 8E040084 */ lw $a0, 0x84($s0) +/* C8C1C4 80240124 0C046F07 */ jal set_main_pan_u +/* C8C1C8 80240128 8E0500A8 */ lw $a1, 0xa8($s0) +/* C8C1CC 8024012C 8E040084 */ lw $a0, 0x84($s0) +/* C8C1D0 80240130 0C046F0D */ jal set_main_pan_v +/* C8C1D4 80240134 8E0500AC */ lw $a1, 0xac($s0) +/* C8C1D8 80240138 8E040084 */ lw $a0, 0x84($s0) +/* C8C1DC 8024013C 0C046F13 */ jal set_aux_pan_u +/* C8C1E0 80240140 8E0500B0 */ lw $a1, 0xb0($s0) +/* C8C1E4 80240144 8E040084 */ lw $a0, 0x84($s0) +/* C8C1E8 80240148 0C046F19 */ jal set_aux_pan_v +/* C8C1EC 8024014C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C8C1F0 80240150 8FBF0014 */ lw $ra, 0x14($sp) +/* C8C1F4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* C8C1F8 80240158 0000102D */ daddu $v0, $zero, $zero +/* C8C1FC 8024015C 03E00008 */ jr $ra +/* C8C200 80240160 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_80240164_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240164_C8C0A0.s new file mode 100644 index 0000000000..dcda292bd8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240164_C8C0A0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_C8C204 +/* C8C204 80240164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8C208 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* C8C20C 8024016C 0080802D */ daddu $s0, $a0, $zero +/* C8C210 80240170 10A00005 */ beqz $a1, .L80240188 +/* C8C214 80240174 AFBF0014 */ sw $ra, 0x14($sp) +/* C8C218 80240178 AE000070 */ sw $zero, 0x70($s0) +/* C8C21C 8024017C AE000074 */ sw $zero, 0x74($s0) +/* C8C220 80240180 AE000078 */ sw $zero, 0x78($s0) +/* C8C224 80240184 AE00007C */ sw $zero, 0x7c($s0) +.L80240188: +/* C8C228 80240188 8E020070 */ lw $v0, 0x70($s0) +/* C8C22C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C8C230 80240190 00000000 */ nop +/* C8C234 80240194 8E0300A8 */ lw $v1, 0xa8($s0) +/* C8C238 80240198 8E020088 */ lw $v0, 0x88($s0) +/* C8C23C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C8C240 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C8C244 802401A4 AE0300A8 */ sw $v1, 0xa8($s0) +/* C8C248 802401A8 3C020002 */ lui $v0, 2 +/* C8C24C 802401AC 08090071 */ j .L802401C4 +/* C8C250 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C8C254 802401B4 3C040002 */ lui $a0, 2 +/* C8C258 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C8C25C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C8C260 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C8C264 802401C4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401C8: +/* C8C268 802401C8 8E020074 */ lw $v0, 0x74($s0) +/* C8C26C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C8C270 802401D0 00000000 */ nop +/* C8C274 802401D4 8E0300AC */ lw $v1, 0xac($s0) +/* C8C278 802401D8 8E02008C */ lw $v0, 0x8c($s0) +/* C8C27C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C8C280 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C8C284 802401E4 AE0300AC */ sw $v1, 0xac($s0) +/* C8C288 802401E8 3C020002 */ lui $v0, 2 +/* C8C28C 802401EC 08090081 */ j .L80240204 +/* C8C290 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C8C294 802401F4 3C040002 */ lui $a0, 2 +/* C8C298 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C8C29C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C8C2A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C8C2A4 80240204 AE0200AC */ sw $v0, 0xac($s0) +.L80240208: +/* C8C2A8 80240208 8E020078 */ lw $v0, 0x78($s0) +/* C8C2AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C8C2B0 80240210 00000000 */ nop +/* C8C2B4 80240214 8E0300B0 */ lw $v1, 0xb0($s0) +/* C8C2B8 80240218 8E020090 */ lw $v0, 0x90($s0) +/* C8C2BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C8C2C0 80240220 04610004 */ bgez $v1, .L80240234 +/* C8C2C4 80240224 AE0300B0 */ sw $v1, 0xb0($s0) +/* C8C2C8 80240228 3C020002 */ lui $v0, 2 +/* C8C2CC 8024022C 08090091 */ j .L80240244 +/* C8C2D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C8C2D4 80240234 3C040002 */ lui $a0, 2 +/* C8C2D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* C8C2DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* C8C2E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C8C2E4 80240244 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240248: +/* C8C2E8 80240248 8E02007C */ lw $v0, 0x7c($s0) +/* C8C2EC 8024024C 1440000E */ bnez $v0, .L80240288 +/* C8C2F0 80240250 00000000 */ nop +/* C8C2F4 80240254 8E0300B4 */ lw $v1, 0xb4($s0) +/* C8C2F8 80240258 8E020094 */ lw $v0, 0x94($s0) +/* C8C2FC 8024025C 00621821 */ addu $v1, $v1, $v0 +/* C8C300 80240260 04610004 */ bgez $v1, .L80240274 +/* C8C304 80240264 AE0300B4 */ sw $v1, 0xb4($s0) +/* C8C308 80240268 3C020002 */ lui $v0, 2 +/* C8C30C 8024026C 080900A1 */ j .L80240284 +/* C8C310 80240270 00621021 */ addu $v0, $v1, $v0 +.L80240274: +/* C8C314 80240274 3C040002 */ lui $a0, 2 +/* C8C318 80240278 0083102A */ slt $v0, $a0, $v1 +/* C8C31C 8024027C 10400002 */ beqz $v0, .L80240288 +/* C8C320 80240280 00641023 */ subu $v0, $v1, $a0 +.L80240284: +/* C8C324 80240284 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240288: +/* C8C328 80240288 8E040084 */ lw $a0, 0x84($s0) +/* C8C32C 8024028C 0C046F07 */ jal set_main_pan_u +/* C8C330 80240290 8E0500A8 */ lw $a1, 0xa8($s0) +/* C8C334 80240294 8E040084 */ lw $a0, 0x84($s0) +/* C8C338 80240298 0C046F0D */ jal set_main_pan_v +/* C8C33C 8024029C 8E0500AC */ lw $a1, 0xac($s0) +/* C8C340 802402A0 8E040084 */ lw $a0, 0x84($s0) +/* C8C344 802402A4 0C046F13 */ jal set_aux_pan_u +/* C8C348 802402A8 8E0500B0 */ lw $a1, 0xb0($s0) +/* C8C34C 802402AC 8E040084 */ lw $a0, 0x84($s0) +/* C8C350 802402B0 0C046F19 */ jal set_aux_pan_v +/* C8C354 802402B4 8E0500B4 */ lw $a1, 0xb4($s0) +/* C8C358 802402B8 8E020070 */ lw $v0, 0x70($s0) +/* C8C35C 802402BC 8E030078 */ lw $v1, 0x78($s0) +/* C8C360 802402C0 8E040098 */ lw $a0, 0x98($s0) +/* C8C364 802402C4 24420001 */ addiu $v0, $v0, 1 +/* C8C368 802402C8 AE020070 */ sw $v0, 0x70($s0) +/* C8C36C 802402CC 8E020074 */ lw $v0, 0x74($s0) +/* C8C370 802402D0 24630001 */ addiu $v1, $v1, 1 +/* C8C374 802402D4 AE030078 */ sw $v1, 0x78($s0) +/* C8C378 802402D8 8E030070 */ lw $v1, 0x70($s0) +/* C8C37C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* C8C380 802402E0 AE020074 */ sw $v0, 0x74($s0) +/* C8C384 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C8C388 802402E8 0064182A */ slt $v1, $v1, $a0 +/* C8C38C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* C8C390 802402F0 14600002 */ bnez $v1, .L802402FC +/* C8C394 802402F4 AE02007C */ sw $v0, 0x7c($s0) +/* C8C398 802402F8 AE000070 */ sw $zero, 0x70($s0) +.L802402FC: +/* C8C39C 802402FC 8E020074 */ lw $v0, 0x74($s0) +/* C8C3A0 80240300 8E03009C */ lw $v1, 0x9c($s0) +/* C8C3A4 80240304 0043102A */ slt $v0, $v0, $v1 +/* C8C3A8 80240308 50400001 */ beql $v0, $zero, .L80240310 +/* C8C3AC 8024030C AE000074 */ sw $zero, 0x74($s0) +.L80240310: +/* C8C3B0 80240310 8E020078 */ lw $v0, 0x78($s0) +/* C8C3B4 80240314 8E0300A0 */ lw $v1, 0xa0($s0) +/* C8C3B8 80240318 0043102A */ slt $v0, $v0, $v1 +/* C8C3BC 8024031C 50400001 */ beql $v0, $zero, .L80240324 +/* C8C3C0 80240320 AE000078 */ sw $zero, 0x78($s0) +.L80240324: +/* C8C3C4 80240324 8E02007C */ lw $v0, 0x7c($s0) +/* C8C3C8 80240328 8E0300A4 */ lw $v1, 0xa4($s0) +/* C8C3CC 8024032C 0043102A */ slt $v0, $v0, $v1 +/* C8C3D0 80240330 50400001 */ beql $v0, $zero, .L80240338 +/* C8C3D4 80240334 AE00007C */ sw $zero, 0x7c($s0) +.L80240338: +/* C8C3D8 80240338 8FBF0014 */ lw $ra, 0x14($sp) +/* C8C3DC 8024033C 8FB00010 */ lw $s0, 0x10($sp) +/* C8C3E0 80240340 0000102D */ daddu $v0, $zero, $zero +/* C8C3E4 80240344 03E00008 */ jr $ra +/* C8C3E8 80240348 27BD0018 */ addiu $sp, $sp, 0x18 +/* C8C3EC 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_80240350_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240350_C8C0A0.s new file mode 100644 index 0000000000..f285d63a8f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240350_C8C0A0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_C8C3F0 +/* C8C3F0 80240350 3C03800B */ lui $v1, %hi(gCameras) +/* C8C3F4 80240354 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* C8C3F8 80240358 94620000 */ lhu $v0, ($v1) +/* C8C3FC 8024035C 34421000 */ ori $v0, $v0, 0x1000 +/* C8C400 80240360 A4620000 */ sh $v0, ($v1) +/* C8C404 80240364 03E00008 */ jr $ra +/* C8C408 80240368 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_8024036C_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_8024036C_C8C0A0.s new file mode 100644 index 0000000000..790947be76 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_8024036C_C8C0A0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_C8C40C +/* C8C40C 8024036C 3C03800B */ lui $v1, %hi(gCameras) +/* C8C410 80240370 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* C8C414 80240374 94620000 */ lhu $v0, ($v1) +/* C8C418 80240378 3042EFFF */ andi $v0, $v0, 0xefff +/* C8C41C 8024037C A4620000 */ sh $v0, ($v1) +/* C8C420 80240380 03E00008 */ jr $ra +/* C8C424 80240384 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_18/func_80240388_C8C0A0.s b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240388_C8C0A0.s new file mode 100644 index 0000000000..4665cbf1fb --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_18/func_80240388_C8C0A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_C8C428 +/* C8C428 80240388 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8C42C 8024038C AFBF0010 */ sw $ra, 0x10($sp) +/* C8C430 80240390 8C82000C */ lw $v0, 0xc($a0) +/* C8C434 80240394 3C068016 */ lui $a2, 0x8016 +/* C8C438 80240398 84C6A552 */ lh $a2, -0x5aae($a2) +/* C8C43C 8024039C 0C0B2026 */ jal set_variable +/* C8C440 802403A0 8C450000 */ lw $a1, ($v0) +/* C8C444 802403A4 8FBF0010 */ lw $ra, 0x10($sp) +/* C8C448 802403A8 24020002 */ addiu $v0, $zero, 2 +/* C8C44C 802403AC 03E00008 */ jr $ra +/* C8C450 802403B0 27BD0018 */ addiu $sp, $sp, 0x18 +/* C8C454 802403B4 00000000 */ nop +/* C8C458 802403B8 00000000 */ nop +/* C8C45C 802403BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240000_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240000_C8DBB0.s new file mode 100644 index 0000000000..28a1148e9d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240000_C8DBB0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C8DBB0 +/* C8DBB0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8DBB4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C8DBB8 80240008 0080802D */ daddu $s0, $a0, $zero +/* C8DBBC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C8DBC0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C8DBC4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C8DBC8 80240018 00621821 */ addu $v1, $v1, $v0 +/* C8DBCC 8024001C 04610004 */ bgez $v1, .L80240030 +/* C8DBD0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C8DBD4 80240024 3C020002 */ lui $v0, 2 +/* C8DBD8 80240028 08090010 */ j .L80240040 +/* C8DBDC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C8DBE0 80240030 3C040002 */ lui $a0, 2 +/* C8DBE4 80240034 0083102A */ slt $v0, $a0, $v1 +/* C8DBE8 80240038 10400002 */ beqz $v0, .L80240044 +/* C8DBEC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C8DBF0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C8DBF4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C8DBF8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C8DBFC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C8DC00 80240050 04610004 */ bgez $v1, .L80240064 +/* C8DC04 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C8DC08 80240058 3C020002 */ lui $v0, 2 +/* C8DC0C 8024005C 0809001D */ j .L80240074 +/* C8DC10 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C8DC14 80240064 3C040002 */ lui $a0, 2 +/* C8DC18 80240068 0083102A */ slt $v0, $a0, $v1 +/* C8DC1C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C8DC20 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C8DC24 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C8DC28 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C8DC2C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C8DC30 80240080 00621821 */ addu $v1, $v1, $v0 +/* C8DC34 80240084 04610004 */ bgez $v1, .L80240098 +/* C8DC38 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C8DC3C 8024008C 3C020002 */ lui $v0, 2 +/* C8DC40 80240090 0809002A */ j .L802400A8 +/* C8DC44 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C8DC48 80240098 3C040002 */ lui $a0, 2 +/* C8DC4C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C8DC50 802400A0 10400002 */ beqz $v0, .L802400AC +/* C8DC54 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C8DC58 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C8DC5C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C8DC60 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C8DC64 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C8DC68 802400B8 04610004 */ bgez $v1, .L802400CC +/* C8DC6C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C8DC70 802400C0 3C020002 */ lui $v0, 2 +/* C8DC74 802400C4 08090037 */ j .L802400DC +/* C8DC78 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C8DC7C 802400CC 3C040002 */ lui $a0, 2 +/* C8DC80 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C8DC84 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C8DC88 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C8DC8C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C8DC90 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C8DC94 802400E4 0C046F07 */ jal set_main_pan_u +/* C8DC98 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C8DC9C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C8DCA0 802400F0 0C046F0D */ jal set_main_pan_v +/* C8DCA4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C8DCA8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C8DCAC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C8DCB0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C8DCB4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C8DCB8 80240108 0C046F19 */ jal set_aux_pan_v +/* C8DCBC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C8DCC0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C8DCC4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C8DCC8 80240118 0000102D */ daddu $v0, $zero, $zero +/* C8DCCC 8024011C 03E00008 */ jr $ra +/* C8DCD0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240124_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240124_C8DBB0.s new file mode 100644 index 0000000000..971fa9a634 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240124_C8DBB0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C8DCD4 +/* C8DCD4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8DCD8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C8DCDC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C8DCE0 80240130 10A00005 */ beqz $a1, .L80240148 +/* C8DCE4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C8DCE8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C8DCEC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C8DCF0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C8DCF4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C8DCF8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C8DCFC 8024014C 1440000E */ bnez $v0, .L80240188 +/* C8DD00 80240150 00000000 */ nop +/* C8DD04 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C8DD08 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C8DD0C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C8DD10 80240160 04610004 */ bgez $v1, .L80240174 +/* C8DD14 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C8DD18 80240168 3C020002 */ lui $v0, 2 +/* C8DD1C 8024016C 08090061 */ j .L80240184 +/* C8DD20 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C8DD24 80240174 3C040002 */ lui $a0, 2 +/* C8DD28 80240178 0083102A */ slt $v0, $a0, $v1 +/* C8DD2C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C8DD30 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C8DD34 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C8DD38 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C8DD3C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C8DD40 80240190 00000000 */ nop +/* C8DD44 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C8DD48 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C8DD4C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C8DD50 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C8DD54 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C8DD58 802401A8 3C020002 */ lui $v0, 2 +/* C8DD5C 802401AC 08090071 */ j .L802401C4 +/* C8DD60 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C8DD64 802401B4 3C040002 */ lui $a0, 2 +/* C8DD68 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C8DD6C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C8DD70 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C8DD74 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C8DD78 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C8DD7C 802401CC 1440000E */ bnez $v0, .L80240208 +/* C8DD80 802401D0 00000000 */ nop +/* C8DD84 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C8DD88 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C8DD8C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C8DD90 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C8DD94 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C8DD98 802401E8 3C020002 */ lui $v0, 2 +/* C8DD9C 802401EC 08090081 */ j .L80240204 +/* C8DDA0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C8DDA4 802401F4 3C040002 */ lui $a0, 2 +/* C8DDA8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C8DDAC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C8DDB0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C8DDB4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C8DDB8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C8DDBC 8024020C 1440000E */ bnez $v0, .L80240248 +/* C8DDC0 80240210 00000000 */ nop +/* C8DDC4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C8DDC8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C8DDCC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C8DDD0 80240220 04610004 */ bgez $v1, .L80240234 +/* C8DDD4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C8DDD8 80240228 3C020002 */ lui $v0, 2 +/* C8DDDC 8024022C 08090091 */ j .L80240244 +/* C8DDE0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C8DDE4 80240234 3C040002 */ lui $a0, 2 +/* C8DDE8 80240238 0083102A */ slt $v0, $a0, $v1 +/* C8DDEC 8024023C 10400002 */ beqz $v0, .L80240248 +/* C8DDF0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C8DDF4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C8DDF8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C8DDFC 8024024C 0C046F07 */ jal set_main_pan_u +/* C8DE00 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C8DE04 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C8DE08 80240258 0C046F0D */ jal set_main_pan_v +/* C8DE0C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C8DE10 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C8DE14 80240264 0C046F13 */ jal set_aux_pan_u +/* C8DE18 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C8DE1C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C8DE20 80240270 0C046F19 */ jal set_aux_pan_v +/* C8DE24 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C8DE28 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C8DE2C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C8DE30 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C8DE34 80240284 24420001 */ addiu $v0, $v0, 1 +/* C8DE38 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C8DE3C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C8DE40 80240290 24630001 */ addiu $v1, $v1, 1 +/* C8DE44 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C8DE48 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C8DE4C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C8DE50 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C8DE54 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C8DE58 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C8DE5C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C8DE60 802402B0 14600002 */ bnez $v1, .L802402BC +/* C8DE64 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C8DE68 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C8DE6C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C8DE70 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C8DE74 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C8DE78 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C8DE7C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C8DE80 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C8DE84 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C8DE88 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C8DE8C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C8DE90 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C8DE94 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C8DE98 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C8DE9C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C8DEA0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C8DEA4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C8DEA8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C8DEAC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C8DEB0 80240300 0000102D */ daddu $v0, $zero, $zero +/* C8DEB4 80240304 03E00008 */ jr $ra +/* C8DEB8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_8024030C_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024030C_C8DBB0.s new file mode 100644 index 0000000000..f59a729b8d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024030C_C8DBB0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_C8DEBC +/* C8DEBC 8024030C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8DEC0 80240310 AFBF001C */ sw $ra, 0x1c($sp) +/* C8DEC4 80240314 AFB00018 */ sw $s0, 0x18($sp) +/* C8DEC8 80240318 8C900084 */ lw $s0, 0x84($a0) +/* C8DECC 8024031C C6000008 */ lwc1 $f0, 8($s0) +/* C8DED0 80240320 240400A2 */ addiu $a0, $zero, 0xa2 +/* C8DED4 80240324 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8DED8 80240328 8E060000 */ lw $a2, ($s0) +/* C8DEDC 8024032C 8E070004 */ lw $a3, 4($s0) +/* C8DEE0 80240330 0C05267B */ jal func_801499EC +/* C8DEE4 80240334 0000282D */ daddu $a1, $zero, $zero +/* C8DEE8 80240338 86020044 */ lh $v0, 0x44($s0) +/* C8DEEC 8024033C 8FBF001C */ lw $ra, 0x1c($sp) +/* C8DEF0 80240340 8FB00018 */ lw $s0, 0x18($sp) +/* C8DEF4 80240344 28420002 */ slti $v0, $v0, 2 +/* C8DEF8 80240348 38420001 */ xori $v0, $v0, 1 +/* C8DEFC 8024034C 00021040 */ sll $v0, $v0, 1 +/* C8DF00 80240350 03E00008 */ jr $ra +/* C8DF04 80240354 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240358_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240358_C8DBB0.s new file mode 100644 index 0000000000..3f9ae9c41e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240358_C8DBB0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240358_C8DF08 +/* C8DF08 80240358 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8DF0C 8024035C AFB20020 */ sw $s2, 0x20($sp) +/* C8DF10 80240360 0080902D */ daddu $s2, $a0, $zero +/* C8DF14 80240364 AFBF0024 */ sw $ra, 0x24($sp) +/* C8DF18 80240368 AFB1001C */ sw $s1, 0x1c($sp) +/* C8DF1C 8024036C AFB00018 */ sw $s0, 0x18($sp) +/* C8DF20 80240370 10A0004A */ beqz $a1, .L8024049C +/* C8DF24 80240374 8E51000C */ lw $s1, 0xc($s2) +/* C8DF28 80240378 0C00AB39 */ jal heap_malloc +/* C8DF2C 8024037C 24040058 */ addiu $a0, $zero, 0x58 +/* C8DF30 80240380 0000202D */ daddu $a0, $zero, $zero +/* C8DF34 80240384 3C05FD05 */ lui $a1, 0xfd05 +/* C8DF38 80240388 34A50F81 */ ori $a1, $a1, 0xf81 +/* C8DF3C 8024038C 0040802D */ daddu $s0, $v0, $zero +/* C8DF40 80240390 0200302D */ daddu $a2, $s0, $zero +/* C8DF44 80240394 0C0B2026 */ jal set_variable +/* C8DF48 80240398 AE500084 */ sw $s0, 0x84($s2) +/* C8DF4C 8024039C 8E250000 */ lw $a1, ($s1) +/* C8DF50 802403A0 26310004 */ addiu $s1, $s1, 4 +/* C8DF54 802403A4 0C0B1EAF */ jal get_variable +/* C8DF58 802403A8 0240202D */ daddu $a0, $s2, $zero +/* C8DF5C 802403AC AE020038 */ sw $v0, 0x38($s0) +/* C8DF60 802403B0 8E250000 */ lw $a1, ($s1) +/* C8DF64 802403B4 26310004 */ addiu $s1, $s1, 4 +/* C8DF68 802403B8 0C0B1EAF */ jal get_variable +/* C8DF6C 802403BC 0240202D */ daddu $a0, $s2, $zero +/* C8DF70 802403C0 AE02003C */ sw $v0, 0x3c($s0) +/* C8DF74 802403C4 8E250000 */ lw $a1, ($s1) +/* C8DF78 802403C8 26310004 */ addiu $s1, $s1, 4 +/* C8DF7C 802403CC 0C0B210B */ jal get_float_variable +/* C8DF80 802403D0 0240202D */ daddu $a0, $s2, $zero +/* C8DF84 802403D4 E600000C */ swc1 $f0, 0xc($s0) +/* C8DF88 802403D8 8E250000 */ lw $a1, ($s1) +/* C8DF8C 802403DC 26310004 */ addiu $s1, $s1, 4 +/* C8DF90 802403E0 0C0B210B */ jal get_float_variable +/* C8DF94 802403E4 0240202D */ daddu $a0, $s2, $zero +/* C8DF98 802403E8 E6000010 */ swc1 $f0, 0x10($s0) +/* C8DF9C 802403EC 8E250000 */ lw $a1, ($s1) +/* C8DFA0 802403F0 26310004 */ addiu $s1, $s1, 4 +/* C8DFA4 802403F4 0C0B210B */ jal get_float_variable +/* C8DFA8 802403F8 0240202D */ daddu $a0, $s2, $zero +/* C8DFAC 802403FC E6000014 */ swc1 $f0, 0x14($s0) +/* C8DFB0 80240400 8E250000 */ lw $a1, ($s1) +/* C8DFB4 80240404 26310004 */ addiu $s1, $s1, 4 +/* C8DFB8 80240408 0C0B210B */ jal get_float_variable +/* C8DFBC 8024040C 0240202D */ daddu $a0, $s2, $zero +/* C8DFC0 80240410 E6000018 */ swc1 $f0, 0x18($s0) +/* C8DFC4 80240414 8E250000 */ lw $a1, ($s1) +/* C8DFC8 80240418 26310004 */ addiu $s1, $s1, 4 +/* C8DFCC 8024041C 0C0B210B */ jal get_float_variable +/* C8DFD0 80240420 0240202D */ daddu $a0, $s2, $zero +/* C8DFD4 80240424 E600001C */ swc1 $f0, 0x1c($s0) +/* C8DFD8 80240428 8E250000 */ lw $a1, ($s1) +/* C8DFDC 8024042C 26310004 */ addiu $s1, $s1, 4 +/* C8DFE0 80240430 0C0B210B */ jal get_float_variable +/* C8DFE4 80240434 0240202D */ daddu $a0, $s2, $zero +/* C8DFE8 80240438 E6000020 */ swc1 $f0, 0x20($s0) +/* C8DFEC 8024043C 8E250000 */ lw $a1, ($s1) +/* C8DFF0 80240440 26310004 */ addiu $s1, $s1, 4 +/* C8DFF4 80240444 0C0B210B */ jal get_float_variable +/* C8DFF8 80240448 0240202D */ daddu $a0, $s2, $zero +/* C8DFFC 8024044C E6000024 */ swc1 $f0, 0x24($s0) +/* C8E000 80240450 8E250000 */ lw $a1, ($s1) +/* C8E004 80240454 0C0B210B */ jal get_float_variable +/* C8E008 80240458 0240202D */ daddu $a0, $s2, $zero +/* C8E00C 8024045C 3C013F80 */ lui $at, 0x3f80 +/* C8E010 80240460 44811000 */ mtc1 $at, $f2 +/* C8E014 80240464 E6000028 */ swc1 $f0, 0x28($s0) +/* C8E018 80240468 AFA00014 */ sw $zero, 0x14($sp) +/* C8E01C 8024046C E7A20010 */ swc1 $f2, 0x10($sp) +/* C8E020 80240470 8E05000C */ lw $a1, 0xc($s0) +/* C8E024 80240474 8E060010 */ lw $a2, 0x10($s0) +/* C8E028 80240478 8E070014 */ lw $a3, 0x14($s0) +/* C8E02C 8024047C 0C01CA6C */ jal func_800729B0 +/* C8E030 80240480 24040002 */ addiu $a0, $zero, 2 +/* C8E034 80240484 AE020050 */ sw $v0, 0x50($s0) +/* C8E038 80240488 A600004E */ sh $zero, 0x4e($s0) +/* C8E03C 8024048C A6000048 */ sh $zero, 0x48($s0) +/* C8E040 80240490 A600004A */ sh $zero, 0x4a($s0) +/* C8E044 80240494 A6000044 */ sh $zero, 0x44($s0) +/* C8E048 80240498 A6000046 */ sh $zero, 0x46($s0) +.L8024049C: +/* C8E04C 8024049C 8FBF0024 */ lw $ra, 0x24($sp) +/* C8E050 802404A0 8FB20020 */ lw $s2, 0x20($sp) +/* C8E054 802404A4 8FB1001C */ lw $s1, 0x1c($sp) +/* C8E058 802404A8 8FB00018 */ lw $s0, 0x18($sp) +/* C8E05C 802404AC 24020002 */ addiu $v0, $zero, 2 +/* C8E060 802404B0 03E00008 */ jr $ra +/* C8E064 802404B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802404B8.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802404B8.s new file mode 100644 index 0000000000..31f94f1a09 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802404B8.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B8 +/* C8E068 802404B8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8E06C 802404BC AFBF0020 */ sw $ra, 0x20($sp) +/* C8E070 802404C0 AFB1001C */ sw $s1, 0x1c($sp) +/* C8E074 802404C4 AFB00018 */ sw $s0, 0x18($sp) +/* C8E078 802404C8 8C910084 */ lw $s1, 0x84($a0) +/* C8E07C 802404CC 86230044 */ lh $v1, 0x44($s1) +/* C8E080 802404D0 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* C8E084 802404D4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* C8E088 802404D8 2C620005 */ sltiu $v0, $v1, 5 +/* C8E08C 802404DC 1040008A */ beqz $v0, .L80240708 +/* C8E090 802404E0 00031080 */ sll $v0, $v1, 2 +/* C8E094 802404E4 3C018025 */ lui $at, 0x8025 +/* C8E098 802404E8 00220821 */ addu $at, $at, $v0 +/* C8E09C 802404EC 8C228340 */ lw $v0, -0x7cc0($at) +/* C8E0A0 802404F0 00400008 */ jr $v0 +/* C8E0A4 802404F4 00000000 */ nop +/* C8E0A8 802404F8 8E22003C */ lw $v0, 0x3c($s1) +/* C8E0AC 802404FC 86270046 */ lh $a3, 0x46($s1) +/* C8E0B0 80240500 AFA20010 */ sw $v0, 0x10($sp) +/* C8E0B4 80240504 8E250010 */ lw $a1, 0x10($s1) +/* C8E0B8 80240508 8E26001C */ lw $a2, 0x1c($s1) +/* C8E0BC 8024050C 0C00A8ED */ jal update_lerp +/* C8E0C0 80240510 24040005 */ addiu $a0, $zero, 5 +/* C8E0C4 80240514 86270046 */ lh $a3, 0x46($s1) +/* C8E0C8 80240518 8E22003C */ lw $v0, 0x3c($s1) +/* C8E0CC 8024051C E6200004 */ swc1 $f0, 4($s1) +/* C8E0D0 80240520 AFA20010 */ sw $v0, 0x10($sp) +/* C8E0D4 80240524 8E25000C */ lw $a1, 0xc($s1) +/* C8E0D8 80240528 8E260018 */ lw $a2, 0x18($s1) +/* C8E0DC 8024052C 0C00A8ED */ jal update_lerp +/* C8E0E0 80240530 0000202D */ daddu $a0, $zero, $zero +/* C8E0E4 80240534 86270046 */ lh $a3, 0x46($s1) +/* C8E0E8 80240538 8E22003C */ lw $v0, 0x3c($s1) +/* C8E0EC 8024053C E6200000 */ swc1 $f0, ($s1) +/* C8E0F0 80240540 AFA20010 */ sw $v0, 0x10($sp) +/* C8E0F4 80240544 8E250014 */ lw $a1, 0x14($s1) +/* C8E0F8 80240548 8E260020 */ lw $a2, 0x20($s1) +/* C8E0FC 8024054C 0C00A8ED */ jal update_lerp +/* C8E100 80240550 0000202D */ daddu $a0, $zero, $zero +/* C8E104 80240554 8E220050 */ lw $v0, 0x50($s1) +/* C8E108 80240558 E6200008 */ swc1 $f0, 8($s1) +/* C8E10C 8024055C C6200000 */ lwc1 $f0, ($s1) +/* C8E110 80240560 8C42000C */ lw $v0, 0xc($v0) +/* C8E114 80240564 E4400008 */ swc1 $f0, 8($v0) +/* C8E118 80240568 8E220050 */ lw $v0, 0x50($s1) +/* C8E11C 8024056C C6200004 */ lwc1 $f0, 4($s1) +/* C8E120 80240570 8C42000C */ lw $v0, 0xc($v0) +/* C8E124 80240574 E440000C */ swc1 $f0, 0xc($v0) +/* C8E128 80240578 8E220050 */ lw $v0, 0x50($s1) +/* C8E12C 8024057C C6200008 */ lwc1 $f0, 8($s1) +/* C8E130 80240580 8C42000C */ lw $v0, 0xc($v0) +/* C8E134 80240584 E4400010 */ swc1 $f0, 0x10($v0) +/* C8E138 80240588 96220046 */ lhu $v0, 0x46($s1) +/* C8E13C 8024058C 8E23003C */ lw $v1, 0x3c($s1) +/* C8E140 80240590 24420001 */ addiu $v0, $v0, 1 +/* C8E144 80240594 A6220046 */ sh $v0, 0x46($s1) +/* C8E148 80240598 00021400 */ sll $v0, $v0, 0x10 +/* C8E14C 8024059C 00021403 */ sra $v0, $v0, 0x10 +/* C8E150 802405A0 0043102A */ slt $v0, $v0, $v1 +/* C8E154 802405A4 14400058 */ bnez $v0, .L80240708 +/* C8E158 802405A8 24020001 */ addiu $v0, $zero, 1 +/* C8E15C 802405AC A6220044 */ sh $v0, 0x44($s1) +/* C8E160 802405B0 080901C2 */ j .L80240708 +/* C8E164 802405B4 A6200046 */ sh $zero, 0x46($s1) +/* C8E168 802405B8 96220046 */ lhu $v0, 0x46($s1) +/* C8E16C 802405BC 24420001 */ addiu $v0, $v0, 1 +/* C8E170 802405C0 A6220046 */ sh $v0, 0x46($s1) +/* C8E174 802405C4 00021400 */ sll $v0, $v0, 0x10 +/* C8E178 802405C8 00021403 */ sra $v0, $v0, 0x10 +/* C8E17C 802405CC 2842003C */ slti $v0, $v0, 0x3c +/* C8E180 802405D0 1440004D */ bnez $v0, .L80240708 +/* C8E184 802405D4 24020002 */ addiu $v0, $zero, 2 +/* C8E188 802405D8 8E230050 */ lw $v1, 0x50($s1) +/* C8E18C 802405DC A6220044 */ sh $v0, 0x44($s1) +/* C8E190 802405E0 A6200046 */ sh $zero, 0x46($s1) +/* C8E194 802405E4 8C63000C */ lw $v1, 0xc($v1) +/* C8E198 802405E8 24020001 */ addiu $v0, $zero, 1 +/* C8E19C 802405EC AC620070 */ sw $v0, 0x70($v1) +/* C8E1A0 802405F0 8E220050 */ lw $v0, 0x50($s1) +/* C8E1A4 802405F4 8C42000C */ lw $v0, 0xc($v0) +/* C8E1A8 802405F8 080901C2 */ j .L80240708 +/* C8E1AC 802405FC AC400074 */ sw $zero, 0x74($v0) +/* C8E1B0 80240600 96220046 */ lhu $v0, 0x46($s1) +/* C8E1B4 80240604 24420001 */ addiu $v0, $v0, 1 +/* C8E1B8 80240608 A6220046 */ sh $v0, 0x46($s1) +/* C8E1BC 8024060C 00021400 */ sll $v0, $v0, 0x10 +/* C8E1C0 80240610 00021403 */ sra $v0, $v0, 0x10 +/* C8E1C4 80240614 2842003C */ slti $v0, $v0, 0x3c +/* C8E1C8 80240618 1440003B */ bnez $v0, .L80240708 +/* C8E1CC 8024061C 00000000 */ nop +/* C8E1D0 80240620 3C013F80 */ lui $at, 0x3f80 +/* C8E1D4 80240624 44810000 */ mtc1 $at, $f0 +/* C8E1D8 80240628 AFA00014 */ sw $zero, 0x14($sp) +/* C8E1DC 8024062C E7A00010 */ swc1 $f0, 0x10($sp) +/* C8E1E0 80240630 8E250018 */ lw $a1, 0x18($s1) +/* C8E1E4 80240634 8E26001C */ lw $a2, 0x1c($s1) +/* C8E1E8 80240638 8E270020 */ lw $a3, 0x20($s1) +/* C8E1EC 8024063C 0C01C9AC */ jal func_800726B0 +/* C8E1F0 80240640 24040001 */ addiu $a0, $zero, 1 +/* C8E1F4 80240644 AE220054 */ sw $v0, 0x54($s1) +/* C8E1F8 80240648 8C43000C */ lw $v1, 0xc($v0) +/* C8E1FC 8024064C 9222003B */ lbu $v0, 0x3b($s1) +/* C8E200 80240650 A0620034 */ sb $v0, 0x34($v1) +/* C8E204 80240654 8E220054 */ lw $v0, 0x54($s1) +/* C8E208 80240658 8C42000C */ lw $v0, 0xc($v0) +/* C8E20C 8024065C AC400020 */ sw $zero, 0x20($v0) +/* C8E210 80240660 8E250018 */ lw $a1, 0x18($s1) +/* C8E214 80240664 8E260028 */ lw $a2, 0x28($s1) +/* C8E218 80240668 8E270020 */ lw $a3, 0x20($s1) +/* C8E21C 8024066C 0C044898 */ jal create_shadow_type +/* C8E220 80240670 0000202D */ daddu $a0, $zero, $zero +/* C8E224 80240674 3C014210 */ lui $at, 0x4210 +/* C8E228 80240678 44810000 */ mtc1 $at, $f0 +/* C8E22C 8024067C AE220040 */ sw $v0, 0x40($s1) +/* C8E230 80240680 24020003 */ addiu $v0, $zero, 3 +/* C8E234 80240684 A6220044 */ sh $v0, 0x44($s1) +/* C8E238 80240688 24020001 */ addiu $v0, $zero, 1 +/* C8E23C 8024068C A6200046 */ sh $zero, 0x46($s1) +/* C8E240 80240690 AE20002C */ sw $zero, 0x2c($s1) +/* C8E244 80240694 A6220048 */ sh $v0, 0x48($s1) +/* C8E248 80240698 080901C2 */ j .L80240708 +/* C8E24C 8024069C E6200030 */ swc1 $f0, 0x30($s1) +/* C8E250 802406A0 0000202D */ daddu $a0, $zero, $zero +/* C8E254 802406A4 3C054210 */ lui $a1, 0x4210 +/* C8E258 802406A8 3C064198 */ lui $a2, 0x4198 +/* C8E25C 802406AC 86270046 */ lh $a3, 0x46($s1) +/* C8E260 802406B0 24020078 */ addiu $v0, $zero, 0x78 +/* C8E264 802406B4 0C00A8ED */ jal update_lerp +/* C8E268 802406B8 AFA20010 */ sw $v0, 0x10($sp) +/* C8E26C 802406BC 96220046 */ lhu $v0, 0x46($s1) +/* C8E270 802406C0 E6200030 */ swc1 $f0, 0x30($s1) +/* C8E274 802406C4 24420001 */ addiu $v0, $v0, 1 +/* C8E278 802406C8 A6220046 */ sh $v0, 0x46($s1) +/* C8E27C 802406CC 00021400 */ sll $v0, $v0, 0x10 +/* C8E280 802406D0 00021403 */ sra $v0, $v0, 0x10 +/* C8E284 802406D4 28420078 */ slti $v0, $v0, 0x78 +/* C8E288 802406D8 1440000B */ bnez $v0, .L80240708 +/* C8E28C 802406DC 24030001 */ addiu $v1, $zero, 1 +/* C8E290 802406E0 C620002C */ lwc1 $f0, 0x2c($s1) +/* C8E294 802406E4 24020002 */ addiu $v0, $zero, 2 +/* C8E298 802406E8 A6220048 */ sh $v0, 0x48($s1) +/* C8E29C 802406EC 24020004 */ addiu $v0, $zero, 4 +/* C8E2A0 802406F0 A620004C */ sh $zero, 0x4c($s1) +/* C8E2A4 802406F4 A623004A */ sh $v1, 0x4a($s1) +/* C8E2A8 802406F8 A623004E */ sh $v1, 0x4e($s1) +/* C8E2AC 802406FC A6220044 */ sh $v0, 0x44($s1) +/* C8E2B0 80240700 A6200046 */ sh $zero, 0x46($s1) +/* C8E2B4 80240704 E6200034 */ swc1 $f0, 0x34($s1) +.L80240708: +/* C8E2B8 80240708 8623004A */ lh $v1, 0x4a($s1) +/* C8E2BC 8024070C 24020001 */ addiu $v0, $zero, 1 +/* C8E2C0 80240710 10620005 */ beq $v1, $v0, .L80240728 +/* C8E2C4 80240714 24020002 */ addiu $v0, $zero, 2 +/* C8E2C8 80240718 1062001E */ beq $v1, $v0, .L80240794 +/* C8E2CC 8024071C 00000000 */ nop +/* C8E2D0 80240720 0809020F */ j .L8024083C +/* C8E2D4 80240724 00000000 */ nop +.L80240728: +/* C8E2D8 80240728 8627004C */ lh $a3, 0x4c($s1) +/* C8E2DC 8024072C 24100078 */ addiu $s0, $zero, 0x78 +/* C8E2E0 80240730 AFB00010 */ sw $s0, 0x10($sp) +/* C8E2E4 80240734 8E250034 */ lw $a1, 0x34($s1) +/* C8E2E8 80240738 3C0644B4 */ lui $a2, 0x44b4 +/* C8E2EC 8024073C 0C00A8ED */ jal update_lerp +/* C8E2F0 80240740 24040004 */ addiu $a0, $zero, 4 +/* C8E2F4 80240744 8627004C */ lh $a3, 0x4c($s1) +/* C8E2F8 80240748 E620002C */ swc1 $f0, 0x2c($s1) +/* C8E2FC 8024074C AFB00010 */ sw $s0, 0x10($sp) +/* C8E300 80240750 8E25001C */ lw $a1, 0x1c($s1) +/* C8E304 80240754 8E260024 */ lw $a2, 0x24($s1) +/* C8E308 80240758 0C00A8ED */ jal update_lerp +/* C8E30C 8024075C 2404000A */ addiu $a0, $zero, 0xa +/* C8E310 80240760 9622004C */ lhu $v0, 0x4c($s1) +/* C8E314 80240764 E6200004 */ swc1 $f0, 4($s1) +/* C8E318 80240768 24420001 */ addiu $v0, $v0, 1 +/* C8E31C 8024076C A622004C */ sh $v0, 0x4c($s1) +/* C8E320 80240770 00021400 */ sll $v0, $v0, 0x10 +/* C8E324 80240774 00021403 */ sra $v0, $v0, 0x10 +/* C8E328 80240778 0050102A */ slt $v0, $v0, $s0 +/* C8E32C 8024077C 1440002F */ bnez $v0, .L8024083C +/* C8E330 80240780 2402010E */ addiu $v0, $zero, 0x10e +/* C8E334 80240784 A622004C */ sh $v0, 0x4c($s1) +/* C8E338 80240788 24020002 */ addiu $v0, $zero, 2 +/* C8E33C 8024078C 0809020E */ j .L80240838 +/* C8E340 80240790 A622004A */ sh $v0, 0x4a($s1) +.L80240794: +/* C8E344 80240794 8622004C */ lh $v0, 0x4c($s1) +/* C8E348 80240798 44826000 */ mtc1 $v0, $f12 +/* C8E34C 8024079C 00000000 */ nop +/* C8E350 802407A0 0C00A8BB */ jal sin_deg +/* C8E354 802407A4 46806320 */ cvt.s.w $f12, $f12 +/* C8E358 802407A8 3C013F80 */ lui $at, 0x3f80 +/* C8E35C 802407AC 44811000 */ mtc1 $at, $f2 +/* C8E360 802407B0 00000000 */ nop +/* C8E364 802407B4 46020000 */ add.s $f0, $f0, $f2 +/* C8E368 802407B8 46000000 */ add.s $f0, $f0, $f0 +/* C8E36C 802407BC C6220024 */ lwc1 $f2, 0x24($s1) +/* C8E370 802407C0 8622004C */ lh $v0, 0x4c($s1) +/* C8E374 802407C4 46001080 */ add.s $f2, $f2, $f0 +/* C8E378 802407C8 24420008 */ addiu $v0, $v0, 8 +/* C8E37C 802407CC 44826000 */ mtc1 $v0, $f12 +/* C8E380 802407D0 00000000 */ nop +/* C8E384 802407D4 46806320 */ cvt.s.w $f12, $f12 +/* C8E388 802407D8 0C00A6C9 */ jal clamp_angle +/* C8E38C 802407DC E6220004 */ swc1 $f2, 4($s1) +/* C8E390 802407E0 4600010D */ trunc.w.s $f4, $f0 +/* C8E394 802407E4 44022000 */ mfc1 $v0, $f4 +/* C8E398 802407E8 C6200004 */ lwc1 $f0, 4($s1) +/* C8E39C 802407EC A622004C */ sh $v0, 0x4c($s1) +/* C8E3A0 802407F0 C60C0028 */ lwc1 $f12, 0x28($s0) +/* C8E3A4 802407F4 8E060030 */ lw $a2, 0x30($s0) +/* C8E3A8 802407F8 3C0141A0 */ lui $at, 0x41a0 +/* C8E3AC 802407FC 44817000 */ mtc1 $at, $f14 +/* C8E3B0 80240800 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8E3B4 80240804 C602002C */ lwc1 $f2, 0x2c($s0) +/* C8E3B8 80240808 C6200008 */ lwc1 $f0, 8($s1) +/* C8E3BC 8024080C E7A00014 */ swc1 $f0, 0x14($sp) +/* C8E3C0 80240810 8E270000 */ lw $a3, ($s1) +/* C8E3C4 80240814 0C00A7CB */ jal dist3D +/* C8E3C8 80240818 460E1380 */ add.s $f14, $f2, $f14 +/* C8E3CC 8024081C 3C0141F0 */ lui $at, 0x41f0 +/* C8E3D0 80240820 44811000 */ mtc1 $at, $f2 +/* C8E3D4 80240824 00000000 */ nop +/* C8E3D8 80240828 4600103C */ c.lt.s $f2, $f0 +/* C8E3DC 8024082C 00000000 */ nop +/* C8E3E0 80240830 45010002 */ bc1t .L8024083C +/* C8E3E4 80240834 24020003 */ addiu $v0, $zero, 3 +.L80240838: +/* C8E3E8 80240838 A622004E */ sh $v0, 0x4e($s1) +.L8024083C: +/* C8E3EC 8024083C 86230048 */ lh $v1, 0x48($s1) +/* C8E3F0 80240840 24020001 */ addiu $v0, $zero, 1 +/* C8E3F4 80240844 10620005 */ beq $v1, $v0, .L8024085C +/* C8E3F8 80240848 24020002 */ addiu $v0, $zero, 2 +/* C8E3FC 8024084C 10620008 */ beq $v1, $v0, .L80240870 +/* C8E400 80240850 00000000 */ nop +/* C8E404 80240854 0809022C */ j .L802408B0 +/* C8E408 80240858 00000000 */ nop +.L8024085C: +/* C8E40C 8024085C C620002C */ lwc1 $f0, 0x2c($s1) +/* C8E410 80240860 C62C0030 */ lwc1 $f12, 0x30($s1) +/* C8E414 80240864 0C00A6C9 */ jal clamp_angle +/* C8E418 80240868 460C0300 */ add.s $f12, $f0, $f12 +/* C8E41C 8024086C E620002C */ swc1 $f0, 0x2c($s1) +.L80240870: +/* C8E420 80240870 8E220054 */ lw $v0, 0x54($s1) +/* C8E424 80240874 C620002C */ lwc1 $f0, 0x2c($s1) +/* C8E428 80240878 8C42000C */ lw $v0, 0xc($v0) +/* C8E42C 8024087C E4400024 */ swc1 $f0, 0x24($v0) +/* C8E430 80240880 8E220054 */ lw $v0, 0x54($s1) +/* C8E434 80240884 C6200018 */ lwc1 $f0, 0x18($s1) +/* C8E438 80240888 8C42000C */ lw $v0, 0xc($v0) +/* C8E43C 8024088C E4400004 */ swc1 $f0, 4($v0) +/* C8E440 80240890 8E220054 */ lw $v0, 0x54($s1) +/* C8E444 80240894 C6200004 */ lwc1 $f0, 4($s1) +/* C8E448 80240898 8C42000C */ lw $v0, 0xc($v0) +/* C8E44C 8024089C E4400008 */ swc1 $f0, 8($v0) +/* C8E450 802408A0 8E220054 */ lw $v0, 0x54($s1) +/* C8E454 802408A4 C6200020 */ lwc1 $f0, 0x20($s1) +/* C8E458 802408A8 8C42000C */ lw $v0, 0xc($v0) +/* C8E45C 802408AC E440000C */ swc1 $f0, 0xc($v0) +.L802408B0: +/* C8E460 802408B0 8FBF0020 */ lw $ra, 0x20($sp) +/* C8E464 802408B4 8FB1001C */ lw $s1, 0x1c($sp) +/* C8E468 802408B8 8FB00018 */ lw $s0, 0x18($sp) +/* C8E46C 802408BC 0000102D */ daddu $v0, $zero, $zero +/* C8E470 802408C0 03E00008 */ jr $ra +/* C8E474 802408C4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802408C8.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802408C8.s new file mode 100644 index 0000000000..3f906face8 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802408C8.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408C8 +/* C8E478 802408C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8E47C 802408CC AFB00010 */ sw $s0, 0x10($sp) +/* C8E480 802408D0 0080802D */ daddu $s0, $a0, $zero +/* C8E484 802408D4 AFBF0014 */ sw $ra, 0x14($sp) +/* C8E488 802408D8 8E02000C */ lw $v0, 0xc($s0) +/* C8E48C 802408DC 0C0B1EAF */ jal get_variable +/* C8E490 802408E0 8C450000 */ lw $a1, ($v0) +/* C8E494 802408E4 8E030084 */ lw $v1, 0x84($s0) +/* C8E498 802408E8 8FBF0014 */ lw $ra, 0x14($sp) +/* C8E49C 802408EC 8463004E */ lh $v1, 0x4e($v1) +/* C8E4A0 802408F0 8FB00010 */ lw $s0, 0x10($sp) +/* C8E4A4 802408F4 00621826 */ xor $v1, $v1, $v0 +/* C8E4A8 802408F8 2C630001 */ sltiu $v1, $v1, 1 +/* C8E4AC 802408FC 00031040 */ sll $v0, $v1, 1 +/* C8E4B0 80240900 03E00008 */ jr $ra +/* C8E4B4 80240904 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240908_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240908_C8DBB0.s new file mode 100644 index 0000000000..3e49effbd2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240908_C8DBB0.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240908_C8E4B8 +/* C8E4B8 80240908 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8E4BC 8024090C AFB20020 */ sw $s2, 0x20($sp) +/* C8E4C0 80240910 0080902D */ daddu $s2, $a0, $zero +/* C8E4C4 80240914 AFBF0024 */ sw $ra, 0x24($sp) +/* C8E4C8 80240918 AFB1001C */ sw $s1, 0x1c($sp) +/* C8E4CC 8024091C AFB00018 */ sw $s0, 0x18($sp) +/* C8E4D0 80240920 10A00035 */ beqz $a1, .L802409F8 +/* C8E4D4 80240924 8E51000C */ lw $s1, 0xc($s2) +/* C8E4D8 80240928 0C00AB39 */ jal heap_malloc +/* C8E4DC 8024092C 24040058 */ addiu $a0, $zero, 0x58 +/* C8E4E0 80240930 0040802D */ daddu $s0, $v0, $zero +/* C8E4E4 80240934 AE500084 */ sw $s0, 0x84($s2) +/* C8E4E8 80240938 8E250000 */ lw $a1, ($s1) +/* C8E4EC 8024093C 26310004 */ addiu $s1, $s1, 4 +/* C8E4F0 80240940 0C0B1EAF */ jal get_variable +/* C8E4F4 80240944 0240202D */ daddu $a0, $s2, $zero +/* C8E4F8 80240948 AE020038 */ sw $v0, 0x38($s0) +/* C8E4FC 8024094C 8E250000 */ lw $a1, ($s1) +/* C8E500 80240950 26310004 */ addiu $s1, $s1, 4 +/* C8E504 80240954 0C0B210B */ jal get_float_variable +/* C8E508 80240958 0240202D */ daddu $a0, $s2, $zero +/* C8E50C 8024095C E6000018 */ swc1 $f0, 0x18($s0) +/* C8E510 80240960 8E250000 */ lw $a1, ($s1) +/* C8E514 80240964 26310004 */ addiu $s1, $s1, 4 +/* C8E518 80240968 0C0B210B */ jal get_float_variable +/* C8E51C 8024096C 0240202D */ daddu $a0, $s2, $zero +/* C8E520 80240970 E6000024 */ swc1 $f0, 0x24($s0) +/* C8E524 80240974 8E250000 */ lw $a1, ($s1) +/* C8E528 80240978 26310004 */ addiu $s1, $s1, 4 +/* C8E52C 8024097C 0C0B210B */ jal get_float_variable +/* C8E530 80240980 0240202D */ daddu $a0, $s2, $zero +/* C8E534 80240984 E6000020 */ swc1 $f0, 0x20($s0) +/* C8E538 80240988 8E250000 */ lw $a1, ($s1) +/* C8E53C 8024098C 0C0B210B */ jal get_float_variable +/* C8E540 80240990 0240202D */ daddu $a0, $s2, $zero +/* C8E544 80240994 3C013F80 */ lui $at, 0x3f80 +/* C8E548 80240998 44811000 */ mtc1 $at, $f2 +/* C8E54C 8024099C E6000028 */ swc1 $f0, 0x28($s0) +/* C8E550 802409A0 AFA00014 */ sw $zero, 0x14($sp) +/* C8E554 802409A4 E7A20010 */ swc1 $f2, 0x10($sp) +/* C8E558 802409A8 8E050018 */ lw $a1, 0x18($s0) +/* C8E55C 802409AC 8E060024 */ lw $a2, 0x24($s0) +/* C8E560 802409B0 8E070020 */ lw $a3, 0x20($s0) +/* C8E564 802409B4 0C01C9AC */ jal func_800726B0 +/* C8E568 802409B8 24040001 */ addiu $a0, $zero, 1 +/* C8E56C 802409BC AE020054 */ sw $v0, 0x54($s0) +/* C8E570 802409C0 8C43000C */ lw $v1, 0xc($v0) +/* C8E574 802409C4 9202003B */ lbu $v0, 0x3b($s0) +/* C8E578 802409C8 A0620034 */ sb $v0, 0x34($v1) +/* C8E57C 802409CC 8E020054 */ lw $v0, 0x54($s0) +/* C8E580 802409D0 8C42000C */ lw $v0, 0xc($v0) +/* C8E584 802409D4 AC400020 */ sw $zero, 0x20($v0) +/* C8E588 802409D8 8E050018 */ lw $a1, 0x18($s0) +/* C8E58C 802409DC 8E060028 */ lw $a2, 0x28($s0) +/* C8E590 802409E0 8E070020 */ lw $a3, 0x20($s0) +/* C8E594 802409E4 0C044898 */ jal create_shadow_type +/* C8E598 802409E8 0000202D */ daddu $a0, $zero, $zero +/* C8E59C 802409EC AE020040 */ sw $v0, 0x40($s0) +/* C8E5A0 802409F0 2402010E */ addiu $v0, $zero, 0x10e +/* C8E5A4 802409F4 A602004C */ sh $v0, 0x4c($s0) +.L802409F8: +/* C8E5A8 802409F8 8FBF0024 */ lw $ra, 0x24($sp) +/* C8E5AC 802409FC 8FB20020 */ lw $s2, 0x20($sp) +/* C8E5B0 80240A00 8FB1001C */ lw $s1, 0x1c($sp) +/* C8E5B4 80240A04 8FB00018 */ lw $s0, 0x18($sp) +/* C8E5B8 80240A08 24020002 */ addiu $v0, $zero, 2 +/* C8E5BC 80240A0C 03E00008 */ jr $ra +/* C8E5C0 80240A10 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240A14_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240A14_C8DBB0.s new file mode 100644 index 0000000000..d6a8fb82a0 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240A14_C8DBB0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A14_C8E5C4 +/* C8E5C4 80240A14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8E5C8 80240A18 AFBF0014 */ sw $ra, 0x14($sp) +/* C8E5CC 80240A1C AFB00010 */ sw $s0, 0x10($sp) +/* C8E5D0 80240A20 8C900084 */ lw $s0, 0x84($a0) +/* C8E5D4 80240A24 8602004C */ lh $v0, 0x4c($s0) +/* C8E5D8 80240A28 44826000 */ mtc1 $v0, $f12 +/* C8E5DC 80240A2C 00000000 */ nop +/* C8E5E0 80240A30 0C00A8BB */ jal sin_deg +/* C8E5E4 80240A34 46806320 */ cvt.s.w $f12, $f12 +/* C8E5E8 80240A38 3C013F80 */ lui $at, 0x3f80 +/* C8E5EC 80240A3C 44811000 */ mtc1 $at, $f2 +/* C8E5F0 80240A40 00000000 */ nop +/* C8E5F4 80240A44 46020000 */ add.s $f0, $f0, $f2 +/* C8E5F8 80240A48 46000000 */ add.s $f0, $f0, $f0 +/* C8E5FC 80240A4C C6020024 */ lwc1 $f2, 0x24($s0) +/* C8E600 80240A50 8602004C */ lh $v0, 0x4c($s0) +/* C8E604 80240A54 46001080 */ add.s $f2, $f2, $f0 +/* C8E608 80240A58 24420008 */ addiu $v0, $v0, 8 +/* C8E60C 80240A5C 44826000 */ mtc1 $v0, $f12 +/* C8E610 80240A60 00000000 */ nop +/* C8E614 80240A64 46806320 */ cvt.s.w $f12, $f12 +/* C8E618 80240A68 0C00A6C9 */ jal clamp_angle +/* C8E61C 80240A6C E6020004 */ swc1 $f2, 4($s0) +/* C8E620 80240A70 4600010D */ trunc.w.s $f4, $f0 +/* C8E624 80240A74 44022000 */ mfc1 $v0, $f4 +/* C8E628 80240A78 00000000 */ nop +/* C8E62C 80240A7C A602004C */ sh $v0, 0x4c($s0) +/* C8E630 80240A80 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* C8E634 80240A84 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* C8E638 80240A88 C44C0028 */ lwc1 $f12, 0x28($v0) +/* C8E63C 80240A8C C44E0030 */ lwc1 $f14, 0x30($v0) +/* C8E640 80240A90 8E060018 */ lw $a2, 0x18($s0) +/* C8E644 80240A94 0C00A7B5 */ jal dist2D +/* C8E648 80240A98 8E070020 */ lw $a3, 0x20($s0) +/* C8E64C 80240A9C 3C0141F0 */ lui $at, 0x41f0 +/* C8E650 80240AA0 44811000 */ mtc1 $at, $f2 +/* C8E654 80240AA4 00000000 */ nop +/* C8E658 80240AA8 4602003E */ c.le.s $f0, $f2 +/* C8E65C 80240AAC 00000000 */ nop +/* C8E660 80240AB0 45000002 */ bc1f .L80240ABC +/* C8E664 80240AB4 24020003 */ addiu $v0, $zero, 3 +/* C8E668 80240AB8 A602004E */ sh $v0, 0x4e($s0) +.L80240ABC: +/* C8E66C 80240ABC 8E020054 */ lw $v0, 0x54($s0) +/* C8E670 80240AC0 C6000018 */ lwc1 $f0, 0x18($s0) +/* C8E674 80240AC4 8C42000C */ lw $v0, 0xc($v0) +/* C8E678 80240AC8 E4400004 */ swc1 $f0, 4($v0) +/* C8E67C 80240ACC 8E020054 */ lw $v0, 0x54($s0) +/* C8E680 80240AD0 C6000004 */ lwc1 $f0, 4($s0) +/* C8E684 80240AD4 8C42000C */ lw $v0, 0xc($v0) +/* C8E688 80240AD8 E4400008 */ swc1 $f0, 8($v0) +/* C8E68C 80240ADC 8E020054 */ lw $v0, 0x54($s0) +/* C8E690 80240AE0 C6000020 */ lwc1 $f0, 0x20($s0) +/* C8E694 80240AE4 8C42000C */ lw $v0, 0xc($v0) +/* C8E698 80240AE8 E440000C */ swc1 $f0, 0xc($v0) +/* C8E69C 80240AEC 8FBF0014 */ lw $ra, 0x14($sp) +/* C8E6A0 80240AF0 8FB00010 */ lw $s0, 0x10($sp) +/* C8E6A4 80240AF4 0000102D */ daddu $v0, $zero, $zero +/* C8E6A8 80240AF8 03E00008 */ jr $ra +/* C8E6AC 80240AFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240B00_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240B00_C8DBB0.s new file mode 100644 index 0000000000..c7f0c6ae8d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240B00_C8DBB0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_C8E6B0 +/* C8E6B0 80240B00 27BDFE60 */ addiu $sp, $sp, -0x1a0 +/* C8E6B4 80240B04 AFB30194 */ sw $s3, 0x194($sp) +/* C8E6B8 80240B08 0080982D */ daddu $s3, $a0, $zero +/* C8E6BC 80240B0C AFB1018C */ sw $s1, 0x18c($sp) +/* C8E6C0 80240B10 27B10010 */ addiu $s1, $sp, 0x10 +/* C8E6C4 80240B14 0220202D */ daddu $a0, $s1, $zero +/* C8E6C8 80240B18 24050001 */ addiu $a1, $zero, 1 +/* C8E6CC 80240B1C AFBF0198 */ sw $ra, 0x198($sp) +/* C8E6D0 80240B20 AFB20190 */ sw $s2, 0x190($sp) +/* C8E6D4 80240B24 AFB00188 */ sw $s0, 0x188($sp) +/* C8E6D8 80240B28 8E630090 */ lw $v1, 0x90($s3) +/* C8E6DC 80240B2C 0000902D */ daddu $s2, $zero, $zero +/* C8E6E0 80240B30 AFB3017C */ sw $s3, 0x17c($sp) +/* C8E6E4 80240B34 00A31004 */ sllv $v0, $v1, $a1 +/* C8E6E8 80240B38 00431021 */ addu $v0, $v0, $v1 +/* C8E6EC 80240B3C AFA20178 */ sw $v0, 0x178($sp) +/* C8E6F0 80240B40 8E630090 */ lw $v1, 0x90($s3) +/* C8E6F4 80240B44 27A20178 */ addiu $v0, $sp, 0x178 +/* C8E6F8 80240B48 AFA00184 */ sw $zero, 0x184($sp) +/* C8E6FC 80240B4C AFA2001C */ sw $v0, 0x1c($sp) +/* C8E700 80240B50 0C0B550C */ jal LoadPath +/* C8E704 80240B54 AFA30180 */ sw $v1, 0x180($sp) +/* C8E708 80240B58 0260802D */ daddu $s0, $s3, $zero +.L80240B5C: +/* C8E70C 80240B5C 0220202D */ daddu $a0, $s1, $zero +/* C8E710 80240B60 0C0B5549 */ jal GetNextPathPos +/* C8E714 80240B64 24050001 */ addiu $a1, $zero, 1 +/* C8E718 80240B68 0220202D */ daddu $a0, $s1, $zero +/* C8E71C 80240B6C 3C05FE36 */ lui $a1, 0xfe36 +/* C8E720 80240B70 0C0B210B */ jal get_float_variable +/* C8E724 80240B74 34A53C81 */ ori $a1, $a1, 0x3c81 +/* C8E728 80240B78 0220202D */ daddu $a0, $s1, $zero +/* C8E72C 80240B7C 3C05FE36 */ lui $a1, 0xfe36 +/* C8E730 80240B80 34A53C82 */ ori $a1, $a1, 0x3c82 +/* C8E734 80240B84 0C0B210B */ jal get_float_variable +/* C8E738 80240B88 E6000098 */ swc1 $f0, 0x98($s0) +/* C8E73C 80240B8C 0220202D */ daddu $a0, $s1, $zero +/* C8E740 80240B90 3C05FE36 */ lui $a1, 0xfe36 +/* C8E744 80240B94 34A53C83 */ ori $a1, $a1, 0x3c83 +/* C8E748 80240B98 0C0B210B */ jal get_float_variable +/* C8E74C 80240B9C E600009C */ swc1 $f0, 0x9c($s0) +/* C8E750 80240BA0 E60000A0 */ swc1 $f0, 0xa0($s0) +/* C8E754 80240BA4 2610000C */ addiu $s0, $s0, 0xc +/* C8E758 80240BA8 8E220084 */ lw $v0, 0x84($s1) +/* C8E75C 80240BAC 1440FFEB */ bnez $v0, .L80240B5C +/* C8E760 80240BB0 26520001 */ addiu $s2, $s2, 1 +/* C8E764 80240BB4 AE7201DC */ sw $s2, 0x1dc($s3) +/* C8E768 80240BB8 8FBF0198 */ lw $ra, 0x198($sp) +/* C8E76C 80240BBC 8FB30194 */ lw $s3, 0x194($sp) +/* C8E770 80240BC0 8FB20190 */ lw $s2, 0x190($sp) +/* C8E774 80240BC4 8FB1018C */ lw $s1, 0x18c($sp) +/* C8E778 80240BC8 8FB00188 */ lw $s0, 0x188($sp) +/* C8E77C 80240BCC 03E00008 */ jr $ra +/* C8E780 80240BD0 27BD01A0 */ addiu $sp, $sp, 0x1a0 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240BD4_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240BD4_C8DBB0.s new file mode 100644 index 0000000000..4adfcaced5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240BD4_C8DBB0.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD4_C8E784 +/* C8E784 80240BD4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8E788 80240BD8 AFB10014 */ sw $s1, 0x14($sp) +/* C8E78C 80240BDC 0080882D */ daddu $s1, $a0, $zero +/* C8E790 80240BE0 AFBF0024 */ sw $ra, 0x24($sp) +/* C8E794 80240BE4 AFB40020 */ sw $s4, 0x20($sp) +/* C8E798 80240BE8 AFB3001C */ sw $s3, 0x1c($sp) +/* C8E79C 80240BEC AFB20018 */ sw $s2, 0x18($sp) +/* C8E7A0 80240BF0 AFB00010 */ sw $s0, 0x10($sp) +/* C8E7A4 80240BF4 8E30000C */ lw $s0, 0xc($s1) +/* C8E7A8 80240BF8 8E050000 */ lw $a1, ($s0) +/* C8E7AC 80240BFC 0C0B1EAF */ jal get_variable +/* C8E7B0 80240C00 26100004 */ addiu $s0, $s0, 4 +/* C8E7B4 80240C04 8E050000 */ lw $a1, ($s0) +/* C8E7B8 80240C08 26100004 */ addiu $s0, $s0, 4 +/* C8E7BC 80240C0C 0220202D */ daddu $a0, $s1, $zero +/* C8E7C0 80240C10 0C0B1EAF */ jal get_variable +/* C8E7C4 80240C14 0040982D */ daddu $s3, $v0, $zero +/* C8E7C8 80240C18 8E050000 */ lw $a1, ($s0) +/* C8E7CC 80240C1C 26100004 */ addiu $s0, $s0, 4 +/* C8E7D0 80240C20 0220202D */ daddu $a0, $s1, $zero +/* C8E7D4 80240C24 0C0B1EAF */ jal get_variable +/* C8E7D8 80240C28 0040902D */ daddu $s2, $v0, $zero +/* C8E7DC 80240C2C 8E050000 */ lw $a1, ($s0) +/* C8E7E0 80240C30 26100004 */ addiu $s0, $s0, 4 +/* C8E7E4 80240C34 0220202D */ daddu $a0, $s1, $zero +/* C8E7E8 80240C38 0C0B1EAF */ jal get_variable +/* C8E7EC 80240C3C 0040A02D */ daddu $s4, $v0, $zero +/* C8E7F0 80240C40 0220202D */ daddu $a0, $s1, $zero +/* C8E7F4 80240C44 8E050000 */ lw $a1, ($s0) +/* C8E7F8 80240C48 0C0B1EAF */ jal get_variable +/* C8E7FC 80240C4C 0040882D */ daddu $s1, $v0, $zero +/* C8E800 80240C50 0000202D */ daddu $a0, $zero, $zero +/* C8E804 80240C54 3C05FD05 */ lui $a1, 0xfd05 +/* C8E808 80240C58 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8E80C 80240C5C 0C0B1EAF */ jal get_variable +/* C8E810 80240C60 0040802D */ daddu $s0, $v0, $zero +/* C8E814 80240C64 00131900 */ sll $v1, $s3, 4 +/* C8E818 80240C68 00731823 */ subu $v1, $v1, $s3 +/* C8E81C 80240C6C 00031940 */ sll $v1, $v1, 5 +/* C8E820 80240C70 00432021 */ addu $a0, $v0, $v1 +/* C8E824 80240C74 24020002 */ addiu $v0, $zero, 2 +/* C8E828 80240C78 00121840 */ sll $v1, $s2, 1 +/* C8E82C 80240C7C 00721821 */ addu $v1, $v1, $s2 +/* C8E830 80240C80 00431804 */ sllv $v1, $v1, $v0 +/* C8E834 80240C84 00832021 */ addu $a0, $a0, $v1 +/* C8E838 80240C88 44940000 */ mtc1 $s4, $f0 +/* C8E83C 80240C8C 00000000 */ nop +/* C8E840 80240C90 46800020 */ cvt.s.w $f0, $f0 +/* C8E844 80240C94 E4800000 */ swc1 $f0, ($a0) +/* C8E848 80240C98 44910000 */ mtc1 $s1, $f0 +/* C8E84C 80240C9C 00000000 */ nop +/* C8E850 80240CA0 46800020 */ cvt.s.w $f0, $f0 +/* C8E854 80240CA4 E4800004 */ swc1 $f0, 4($a0) +/* C8E858 80240CA8 44900000 */ mtc1 $s0, $f0 +/* C8E85C 80240CAC 00000000 */ nop +/* C8E860 80240CB0 46800020 */ cvt.s.w $f0, $f0 +/* C8E864 80240CB4 E4800008 */ swc1 $f0, 8($a0) +/* C8E868 80240CB8 8FBF0024 */ lw $ra, 0x24($sp) +/* C8E86C 80240CBC 8FB40020 */ lw $s4, 0x20($sp) +/* C8E870 80240CC0 8FB3001C */ lw $s3, 0x1c($sp) +/* C8E874 80240CC4 8FB20018 */ lw $s2, 0x18($sp) +/* C8E878 80240CC8 8FB10014 */ lw $s1, 0x14($sp) +/* C8E87C 80240CCC 8FB00010 */ lw $s0, 0x10($sp) +/* C8E880 80240CD0 03E00008 */ jr $ra +/* C8E884 80240CD4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240CD8.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240CD8.s new file mode 100644 index 0000000000..84ac689a98 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240CD8.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD8 +/* C8E888 80240CD8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8E88C 80240CDC AFB10014 */ sw $s1, 0x14($sp) +/* C8E890 80240CE0 0080882D */ daddu $s1, $a0, $zero +/* C8E894 80240CE4 AFBF0020 */ sw $ra, 0x20($sp) +/* C8E898 80240CE8 AFB3001C */ sw $s3, 0x1c($sp) +/* C8E89C 80240CEC AFB20018 */ sw $s2, 0x18($sp) +/* C8E8A0 80240CF0 AFB00010 */ sw $s0, 0x10($sp) +/* C8E8A4 80240CF4 8E30000C */ lw $s0, 0xc($s1) +/* C8E8A8 80240CF8 8E050000 */ lw $a1, ($s0) +/* C8E8AC 80240CFC 0C0B1EAF */ jal get_variable +/* C8E8B0 80240D00 26100004 */ addiu $s0, $s0, 4 +/* C8E8B4 80240D04 8E050000 */ lw $a1, ($s0) +/* C8E8B8 80240D08 26100004 */ addiu $s0, $s0, 4 +/* C8E8BC 80240D0C 0220202D */ daddu $a0, $s1, $zero +/* C8E8C0 80240D10 0C0B1EAF */ jal get_variable +/* C8E8C4 80240D14 0040982D */ daddu $s3, $v0, $zero +/* C8E8C8 80240D18 8E050000 */ lw $a1, ($s0) +/* C8E8CC 80240D1C 26100004 */ addiu $s0, $s0, 4 +/* C8E8D0 80240D20 0220202D */ daddu $a0, $s1, $zero +/* C8E8D4 80240D24 0C0B1EAF */ jal get_variable +/* C8E8D8 80240D28 0040902D */ daddu $s2, $v0, $zero +/* C8E8DC 80240D2C 8E050000 */ lw $a1, ($s0) +/* C8E8E0 80240D30 26100004 */ addiu $s0, $s0, 4 +/* C8E8E4 80240D34 0C0B1EAF */ jal get_variable +/* C8E8E8 80240D38 0220202D */ daddu $a0, $s1, $zero +/* C8E8EC 80240D3C 8E050000 */ lw $a1, ($s0) +/* C8E8F0 80240D40 0C0B1EAF */ jal get_variable +/* C8E8F4 80240D44 0220202D */ daddu $a0, $s1, $zero +/* C8E8F8 80240D48 0000202D */ daddu $a0, $zero, $zero +/* C8E8FC 80240D4C 3C05FD05 */ lui $a1, 0xfd05 +/* C8E900 80240D50 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8E904 80240D54 0C0B1EAF */ jal get_variable +/* C8E908 80240D58 0040802D */ daddu $s0, $v0, $zero +/* C8E90C 80240D5C 00131900 */ sll $v1, $s3, 4 +/* C8E910 80240D60 00731823 */ subu $v1, $v1, $s3 +/* C8E914 80240D64 00031940 */ sll $v1, $v1, 5 +/* C8E918 80240D68 00431821 */ addu $v1, $v0, $v1 +/* C8E91C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* C8E920 80240D70 00529004 */ sllv $s2, $s2, $v0 +/* C8E924 80240D74 00721821 */ addu $v1, $v1, $s2 +/* C8E928 80240D78 44900000 */ mtc1 $s0, $f0 +/* C8E92C 80240D7C 00000000 */ nop +/* C8E930 80240D80 46800020 */ cvt.s.w $f0, $f0 +/* C8E934 80240D84 E460006C */ swc1 $f0, 0x6c($v1) +/* C8E938 80240D88 8FBF0020 */ lw $ra, 0x20($sp) +/* C8E93C 80240D8C 8FB3001C */ lw $s3, 0x1c($sp) +/* C8E940 80240D90 8FB20018 */ lw $s2, 0x18($sp) +/* C8E944 80240D94 8FB10014 */ lw $s1, 0x14($sp) +/* C8E948 80240D98 8FB00010 */ lw $s0, 0x10($sp) +/* C8E94C 80240D9C 03E00008 */ jr $ra +/* C8E950 80240DA0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240DA4_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240DA4_C8DBB0.s new file mode 100644 index 0000000000..e647a8ff58 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240DA4_C8DBB0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA4_C8E954 +/* C8E954 80240DA4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8E958 80240DA8 AFB10014 */ sw $s1, 0x14($sp) +/* C8E95C 80240DAC 0080882D */ daddu $s1, $a0, $zero +/* C8E960 80240DB0 AFBF0018 */ sw $ra, 0x18($sp) +/* C8E964 80240DB4 AFB00010 */ sw $s0, 0x10($sp) +/* C8E968 80240DB8 8E30000C */ lw $s0, 0xc($s1) +/* C8E96C 80240DBC 8E050000 */ lw $a1, ($s0) +/* C8E970 80240DC0 0C0B1EAF */ jal get_variable +/* C8E974 80240DC4 26100004 */ addiu $s0, $s0, 4 +/* C8E978 80240DC8 8E050000 */ lw $a1, ($s0) +/* C8E97C 80240DCC 26100004 */ addiu $s0, $s0, 4 +/* C8E980 80240DD0 0C0B1EAF */ jal get_variable +/* C8E984 80240DD4 0220202D */ daddu $a0, $s1, $zero +/* C8E988 80240DD8 8E050000 */ lw $a1, ($s0) +/* C8E98C 80240DDC 26100004 */ addiu $s0, $s0, 4 +/* C8E990 80240DE0 0C0B1EAF */ jal get_variable +/* C8E994 80240DE4 0220202D */ daddu $a0, $s1, $zero +/* C8E998 80240DE8 8E050000 */ lw $a1, ($s0) +/* C8E99C 80240DEC 26100004 */ addiu $s0, $s0, 4 +/* C8E9A0 80240DF0 0C0B1EAF */ jal get_variable +/* C8E9A4 80240DF4 0220202D */ daddu $a0, $s1, $zero +/* C8E9A8 80240DF8 8E050000 */ lw $a1, ($s0) +/* C8E9AC 80240DFC 0C0B1EAF */ jal get_variable +/* C8E9B0 80240E00 0220202D */ daddu $a0, $s1, $zero +/* C8E9B4 80240E04 0000202D */ daddu $a0, $zero, $zero +/* C8E9B8 80240E08 3C05FD05 */ lui $a1, 0xfd05 +/* C8E9BC 80240E0C 0C0B1EAF */ jal get_variable +/* C8E9C0 80240E10 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8E9C4 80240E14 8FBF0018 */ lw $ra, 0x18($sp) +/* C8E9C8 80240E18 8FB10014 */ lw $s1, 0x14($sp) +/* C8E9CC 80240E1C 8FB00010 */ lw $s0, 0x10($sp) +/* C8E9D0 80240E20 24020002 */ addiu $v0, $zero, 2 +/* C8E9D4 80240E24 03E00008 */ jr $ra +/* C8E9D8 80240E28 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80240E2C.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240E2C.s new file mode 100644 index 0000000000..a96a08115b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80240E2C.s @@ -0,0 +1,385 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E2C +/* C8E9DC 80240E2C 27BDFF70 */ addiu $sp, $sp, -0x90 +/* C8E9E0 80240E30 3C038025 */ lui $v1, 0x8025 +/* C8E9E4 80240E34 8C638380 */ lw $v1, -0x7c80($v1) +/* C8E9E8 80240E38 2402FFFF */ addiu $v0, $zero, -1 +/* C8E9EC 80240E3C AFBF005C */ sw $ra, 0x5c($sp) +/* C8E9F0 80240E40 AFBE0058 */ sw $fp, 0x58($sp) +/* C8E9F4 80240E44 AFB70054 */ sw $s7, 0x54($sp) +/* C8E9F8 80240E48 AFB60050 */ sw $s6, 0x50($sp) +/* C8E9FC 80240E4C AFB5004C */ sw $s5, 0x4c($sp) +/* C8EA00 80240E50 AFB40048 */ sw $s4, 0x48($sp) +/* C8EA04 80240E54 AFB30044 */ sw $s3, 0x44($sp) +/* C8EA08 80240E58 AFB20040 */ sw $s2, 0x40($sp) +/* C8EA0C 80240E5C AFB1003C */ sw $s1, 0x3c($sp) +/* C8EA10 80240E60 AFB00038 */ sw $s0, 0x38($sp) +/* C8EA14 80240E64 F7BE0088 */ sdc1 $f30, 0x88($sp) +/* C8EA18 80240E68 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* C8EA1C 80240E6C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* C8EA20 80240E70 F7B80070 */ sdc1 $f24, 0x70($sp) +/* C8EA24 80240E74 F7B60068 */ sdc1 $f22, 0x68($sp) +/* C8EA28 80240E78 1062013F */ beq $v1, $v0, .L80241378 +/* C8EA2C 80240E7C F7B40060 */ sdc1 $f20, 0x60($sp) +/* C8EA30 80240E80 1460005E */ bnez $v1, .L80240FFC +/* C8EA34 80240E84 0000382D */ daddu $a3, $zero, $zero +/* C8EA38 80240E88 00E0802D */ daddu $s0, $a3, $zero +/* C8EA3C 80240E8C 3C0142B4 */ lui $at, 0x42b4 +/* C8EA40 80240E90 4481E000 */ mtc1 $at, $f28 +/* C8EA44 80240E94 3C014334 */ lui $at, 0x4334 +/* C8EA48 80240E98 4481D000 */ mtc1 $at, $f26 +/* C8EA4C 80240E9C 3C0143B4 */ lui $at, 0x43b4 +/* C8EA50 80240EA0 4481A000 */ mtc1 $at, $f20 +/* C8EA54 80240EA4 3C01C334 */ lui $at, 0xc334 +/* C8EA58 80240EA8 4481B000 */ mtc1 $at, $f22 +.L80240EAC: +/* C8EA5C 80240EAC 0000202D */ daddu $a0, $zero, $zero +/* C8EA60 80240EB0 3C05FD05 */ lui $a1, 0xfd05 +/* C8EA64 80240EB4 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8EA68 80240EB8 0C0B1EAF */ jal get_variable +/* C8EA6C 80240EBC AFA70030 */ sw $a3, 0x30($sp) +/* C8EA70 80240EC0 00502021 */ addu $a0, $v0, $s0 +/* C8EA74 80240EC4 8FA70030 */ lw $a3, 0x30($sp) +/* C8EA78 80240EC8 24020001 */ addiu $v0, $zero, 1 +/* C8EA7C 80240ECC 10E20011 */ beq $a3, $v0, .L80240F14 +/* C8EA80 80240ED0 28E20002 */ slti $v0, $a3, 2 +/* C8EA84 80240ED4 50400005 */ beql $v0, $zero, .L80240EEC +/* C8EA88 80240ED8 24020002 */ addiu $v0, $zero, 2 +/* C8EA8C 80240EDC 10E00009 */ beqz $a3, .L80240F04 +/* C8EA90 80240EE0 00000000 */ nop +/* C8EA94 80240EE4 080904DE */ j .L80241378 +/* C8EA98 80240EE8 00000000 */ nop +.L80240EEC: +/* C8EA9C 80240EEC 10E2000B */ beq $a3, $v0, .L80240F1C +/* C8EAA0 80240EF0 24020003 */ addiu $v0, $zero, 3 +/* C8EAA4 80240EF4 10E2000A */ beq $a3, $v0, .L80240F20 +/* C8EAA8 80240EF8 24140005 */ addiu $s4, $zero, 5 +/* C8EAAC 80240EFC 080904DE */ j .L80241378 +/* C8EAB0 80240F00 00000000 */ nop +.L80240F04: +/* C8EAB4 80240F04 3C014120 */ lui $at, 0x4120 +/* C8EAB8 80240F08 4481C000 */ mtc1 $at, $f24 +/* C8EABC 80240F0C 080903CA */ j .L80240F28 +/* C8EAC0 80240F10 24140009 */ addiu $s4, $zero, 9 +.L80240F14: +/* C8EAC4 80240F14 080903C8 */ j .L80240F20 +/* C8EAC8 80240F18 24140007 */ addiu $s4, $zero, 7 +.L80240F1C: +/* C8EACC 80240F1C 24140007 */ addiu $s4, $zero, 7 +.L80240F20: +/* C8EAD0 80240F20 3C014100 */ lui $at, 0x4100 +/* C8EAD4 80240F24 4481C000 */ mtc1 $at, $f24 +.L80240F28: +/* C8EAD8 80240F28 0000882D */ daddu $s1, $zero, $zero +/* C8EADC 80240F2C AC940090 */ sw $s4, 0x90($a0) +/* C8EAE0 80240F30 1A800027 */ blez $s4, .L80240FD0 +/* C8EAE4 80240F34 E4980094 */ swc1 $f24, 0x94($a0) +/* C8EAE8 80240F38 2686FFFF */ addiu $a2, $s4, -1 +/* C8EAEC 80240F3C 0080182D */ daddu $v1, $a0, $zero +/* C8EAF0 80240F40 24050004 */ addiu $a1, $zero, 4 +/* C8EAF4 80240F44 3C013FE0 */ lui $at, 0x3fe0 +/* C8EAF8 80240F48 44814800 */ mtc1 $at, $f9 +/* C8EAFC 80240F4C 44804000 */ mtc1 $zero, $f8 +/* C8EB00 80240F50 3C018025 */ lui $at, 0x8025 +/* C8EB04 80240F54 D4268370 */ ldc1 $f6, -0x7c90($at) +.L80240F58: +/* C8EB08 80240F58 16260004 */ bne $s1, $a2, .L80240F6C +/* C8EB0C 80240F5C 00851021 */ addu $v0, $a0, $a1 +/* C8EB10 80240F60 C460006C */ lwc1 $f0, 0x6c($v1) +/* C8EB14 80240F64 080903EE */ j .L80240FB8 +/* C8EB18 80240F68 461C0000 */ add.s $f0, $f0, $f28 +.L80240F6C: +/* C8EB1C 80240F6C C460006C */ lwc1 $f0, 0x6c($v1) +/* C8EB20 80240F70 C444006C */ lwc1 $f4, 0x6c($v0) +/* C8EB24 80240F74 46002081 */ sub.s $f2, $f4, $f0 +/* C8EB28 80240F78 4602D03C */ c.lt.s $f26, $f2 +/* C8EB2C 80240F7C 00000000 */ nop +/* C8EB30 80240F80 45000003 */ bc1f .L80240F90 +/* C8EB34 80240F84 00000000 */ nop +/* C8EB38 80240F88 080903E8 */ j .L80240FA0 +/* C8EB3C 80240F8C 46140000 */ add.s $f0, $f0, $f20 +.L80240F90: +/* C8EB40 80240F90 4616103C */ c.lt.s $f2, $f22 +/* C8EB44 80240F94 00000000 */ nop +/* C8EB48 80240F98 45030001 */ bc1tl .L80240FA0 +/* C8EB4C 80240F9C 46142100 */ add.s $f4, $f4, $f20 +.L80240FA0: +/* C8EB50 80240FA0 46040000 */ add.s $f0, $f0, $f4 +/* C8EB54 80240FA4 46000021 */ cvt.d.s $f0, $f0 +/* C8EB58 80240FA8 46280002 */ mul.d $f0, $f0, $f8 +/* C8EB5C 80240FAC 00000000 */ nop +/* C8EB60 80240FB0 46260000 */ add.d $f0, $f0, $f6 +/* C8EB64 80240FB4 46200020 */ cvt.s.d $f0, $f0 +.L80240FB8: +/* C8EB68 80240FB8 E460006C */ swc1 $f0, 0x6c($v1) +/* C8EB6C 80240FBC 24630004 */ addiu $v1, $v1, 4 +/* C8EB70 80240FC0 26310001 */ addiu $s1, $s1, 1 +/* C8EB74 80240FC4 0234102A */ slt $v0, $s1, $s4 +/* C8EB78 80240FC8 1440FFE3 */ bnez $v0, .L80240F58 +/* C8EB7C 80240FCC 24A50004 */ addiu $a1, $a1, 4 +.L80240FD0: +/* C8EB80 80240FD0 0C0902C0 */ jal func_80240B00 +/* C8EB84 80240FD4 AFA70030 */ sw $a3, 0x30($sp) +/* C8EB88 80240FD8 8FA70030 */ lw $a3, 0x30($sp) +/* C8EB8C 80240FDC 24E70001 */ addiu $a3, $a3, 1 +/* C8EB90 80240FE0 28E20004 */ slti $v0, $a3, 4 +/* C8EB94 80240FE4 1440FFB1 */ bnez $v0, .L80240EAC +/* C8EB98 80240FE8 261001E0 */ addiu $s0, $s0, 0x1e0 +/* C8EB9C 80240FEC 24020001 */ addiu $v0, $zero, 1 +/* C8EBA0 80240FF0 3C018025 */ lui $at, 0x8025 +/* C8EBA4 80240FF4 AC228380 */ sw $v0, -0x7c80($at) +/* C8EBA8 80240FF8 0000382D */ daddu $a3, $zero, $zero +.L80240FFC: +/* C8EBAC 80240FFC 3C02800A */ lui $v0, 0x800a +/* C8EBB0 80241000 2442A66C */ addiu $v0, $v0, -0x5994 +/* C8EBB4 80241004 0040402D */ daddu $t0, $v0, $zero +/* C8EBB8 80241008 3C090100 */ lui $t1, 0x100 +/* C8EBBC 8024100C 35294008 */ ori $t1, $t1, 0x4008 +/* C8EBC0 80241010 AFA90018 */ sw $t1, 0x18($sp) +/* C8EBC4 80241014 3C090602 */ lui $t1, 0x602 +/* C8EBC8 80241018 35290004 */ ori $t1, $t1, 4 +/* C8EBCC 8024101C AFA9001C */ sw $t1, 0x1c($sp) +/* C8EBD0 80241020 AFA00020 */ sw $zero, 0x20($sp) +/* C8EBD4 80241024 8D030000 */ lw $v1, ($t0) +/* C8EBD8 80241028 3C02E700 */ lui $v0, 0xe700 +/* C8EBDC 8024102C 0060202D */ daddu $a0, $v1, $zero +/* C8EBE0 80241030 24630008 */ addiu $v1, $v1, 8 +/* C8EBE4 80241034 AD030000 */ sw $v1, ($t0) +/* C8EBE8 80241038 AC820000 */ sw $v0, ($a0) +/* C8EBEC 8024103C 24620008 */ addiu $v0, $v1, 8 +/* C8EBF0 80241040 AC800004 */ sw $zero, 4($a0) +/* C8EBF4 80241044 AD020000 */ sw $v0, ($t0) +/* C8EBF8 80241048 3C02DE00 */ lui $v0, 0xde00 +/* C8EBFC 8024104C AC620000 */ sw $v0, ($v1) +/* C8EC00 80241050 3C028024 */ lui $v0, 0x8024 +/* C8EC04 80241054 24423AD8 */ addiu $v0, $v0, 0x3ad8 +/* C8EC08 80241058 AC620004 */ sw $v0, 4($v1) +.L8024105C: +/* C8EC0C 8024105C 0000202D */ daddu $a0, $zero, $zero +/* C8EC10 80241060 3C05FD05 */ lui $a1, 0xfd05 +/* C8EC14 80241064 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8EC18 80241068 AFA70030 */ sw $a3, 0x30($sp) +/* C8EC1C 8024106C 0C0B1EAF */ jal get_variable +/* C8EC20 80241070 AFA80034 */ sw $t0, 0x34($sp) +/* C8EC24 80241074 0000882D */ daddu $s1, $zero, $zero +/* C8EC28 80241078 8FA90020 */ lw $t1, 0x20($sp) +/* C8EC2C 8024107C 8FA80034 */ lw $t0, 0x34($sp) +/* C8EC30 80241080 0049A821 */ addu $s5, $v0, $t1 +/* C8EC34 80241084 3C02DE01 */ lui $v0, 0xde01 +/* C8EC38 80241088 C6B80094 */ lwc1 $f24, 0x94($s5) +/* C8EC3C 8024108C 8D040000 */ lw $a0, ($t0) +/* C8EC40 80241090 8EB40090 */ lw $s4, 0x90($s5) +/* C8EC44 80241094 24890008 */ addiu $t1, $a0, 8 +/* C8EC48 80241098 AFA90010 */ sw $t1, 0x10($sp) +/* C8EC4C 8024109C 8EA601DC */ lw $a2, 0x1dc($s5) +/* C8EC50 802410A0 AC820000 */ sw $v0, ($a0) +/* C8EC54 802410A4 00061940 */ sll $v1, $a2, 5 +/* C8EC58 802410A8 24620008 */ addiu $v0, $v1, 8 +/* C8EC5C 802410AC 00821021 */ addu $v0, $a0, $v0 +/* C8EC60 802410B0 01231821 */ addu $v1, $t1, $v1 +/* C8EC64 802410B4 AC820004 */ sw $v0, 4($a0) +/* C8EC68 802410B8 AD030000 */ sw $v1, ($t0) +/* C8EC6C 802410BC 8FA70030 */ lw $a3, 0x30($sp) +/* C8EC70 802410C0 18C00088 */ blez $a2, .L802412E4 +/* C8EC74 802410C4 0120982D */ daddu $s3, $t1, $zero +/* C8EC78 802410C8 2682FFFF */ addiu $v0, $s4, -1 +/* C8EC7C 802410CC 00021080 */ sll $v0, $v0, 2 +/* C8EC80 802410D0 02A21021 */ addu $v0, $s5, $v0 +/* C8EC84 802410D4 AFA20014 */ sw $v0, 0x14($sp) +/* C8EC88 802410D8 0220282D */ daddu $a1, $s1, $zero +/* C8EC8C 802410DC 0220F02D */ daddu $fp, $s1, $zero +/* C8EC90 802410E0 0220B82D */ daddu $s7, $s1, $zero +/* C8EC94 802410E4 0220B02D */ daddu $s6, $s1, $zero +/* C8EC98 802410E8 02A0902D */ daddu $s2, $s5, $zero +/* C8EC9C 802410EC 24900016 */ addiu $s0, $a0, 0x16 +.L802410F0: +/* C8ECA0 802410F0 44911000 */ mtc1 $s1, $f2 +/* C8ECA4 802410F4 00000000 */ nop +/* C8ECA8 802410F8 468010A0 */ cvt.s.w $f2, $f2 +/* C8ECAC 802410FC 44940000 */ mtc1 $s4, $f0 +/* C8ECB0 80241100 00000000 */ nop +/* C8ECB4 80241104 46800020 */ cvt.s.w $f0, $f0 +/* C8ECB8 80241108 46001082 */ mul.s $f2, $f2, $f0 +/* C8ECBC 8024110C 00000000 */ nop +/* C8ECC0 80241110 44860000 */ mtc1 $a2, $f0 +/* C8ECC4 80241114 00000000 */ nop +/* C8ECC8 80241118 46800020 */ cvt.s.w $f0, $f0 +/* C8ECCC 8024111C C65A0098 */ lwc1 $f26, 0x98($s2) +/* C8ECD0 80241120 C65C009C */ lwc1 $f28, 0x9c($s2) +/* C8ECD4 80241124 C65E00A0 */ lwc1 $f30, 0xa0($s2) +/* C8ECD8 80241128 46001083 */ div.s $f2, $f2, $f0 +/* C8ECDC 8024112C 4600128D */ trunc.w.s $f10, $f2 +/* C8ECE0 80241130 44045000 */ mfc1 $a0, $f10 +/* C8ECE4 80241134 00000000 */ nop +/* C8ECE8 80241138 44840000 */ mtc1 $a0, $f0 +/* C8ECEC 8024113C 00000000 */ nop +/* C8ECF0 80241140 46800020 */ cvt.s.w $f0, $f0 +/* C8ECF4 80241144 24830001 */ addiu $v1, $a0, 1 +/* C8ECF8 80241148 0074102A */ slt $v0, $v1, $s4 +/* C8ECFC 8024114C 14400005 */ bnez $v0, .L80241164 +/* C8ED00 80241150 46001181 */ sub.s $f6, $f2, $f0 +/* C8ED04 80241154 8FA90014 */ lw $t1, 0x14($sp) +/* C8ED08 80241158 C536006C */ lwc1 $f22, 0x6c($t1) +/* C8ED0C 8024115C 0809047C */ j .L802411F0 +/* C8ED10 80241160 4600B306 */ mov.s $f12, $f22 +.L80241164: +/* C8ED14 80241164 00031080 */ sll $v0, $v1, 2 +/* C8ED18 80241168 02A21021 */ addu $v0, $s5, $v0 +/* C8ED1C 8024116C C444006C */ lwc1 $f4, 0x6c($v0) +/* C8ED20 80241170 00041080 */ sll $v0, $a0, 2 +/* C8ED24 80241174 02A21021 */ addu $v0, $s5, $v0 +/* C8ED28 80241178 C44C006C */ lwc1 $f12, 0x6c($v0) +/* C8ED2C 8024117C 460C2081 */ sub.s $f2, $f4, $f12 +/* C8ED30 80241180 3C014334 */ lui $at, 0x4334 +/* C8ED34 80241184 44810000 */ mtc1 $at, $f0 +/* C8ED38 80241188 00000000 */ nop +/* C8ED3C 8024118C 4602003C */ c.lt.s $f0, $f2 +/* C8ED40 80241190 00000000 */ nop +/* C8ED44 80241194 45000006 */ bc1f .L802411B0 +/* C8ED48 80241198 00000000 */ nop +/* C8ED4C 8024119C 3C0143B4 */ lui $at, 0x43b4 +/* C8ED50 802411A0 44815000 */ mtc1 $at, $f10 +/* C8ED54 802411A4 00000000 */ nop +/* C8ED58 802411A8 460A2101 */ sub.s $f4, $f4, $f10 +/* C8ED5C 802411AC 460C2081 */ sub.s $f2, $f4, $f12 +.L802411B0: +/* C8ED60 802411B0 3C01C334 */ lui $at, 0xc334 +/* C8ED64 802411B4 44810000 */ mtc1 $at, $f0 +/* C8ED68 802411B8 00000000 */ nop +/* C8ED6C 802411BC 4600103C */ c.lt.s $f2, $f0 +/* C8ED70 802411C0 00000000 */ nop +/* C8ED74 802411C4 45020006 */ bc1fl .L802411E0 +/* C8ED78 802411C8 460C2001 */ sub.s $f0, $f4, $f12 +/* C8ED7C 802411CC 3C0143B4 */ lui $at, 0x43b4 +/* C8ED80 802411D0 44815000 */ mtc1 $at, $f10 +/* C8ED84 802411D4 00000000 */ nop +/* C8ED88 802411D8 460A2100 */ add.s $f4, $f4, $f10 +/* C8ED8C 802411DC 460C2001 */ sub.s $f0, $f4, $f12 +.L802411E0: +/* C8ED90 802411E0 46060002 */ mul.s $f0, $f0, $f6 +/* C8ED94 802411E4 00000000 */ nop +/* C8ED98 802411E8 460C0580 */ add.s $f22, $f0, $f12 +/* C8ED9C 802411EC 4600B306 */ mov.s $f12, $f22 +.L802411F0: +/* C8EDA0 802411F0 AFA50028 */ sw $a1, 0x28($sp) +/* C8EDA4 802411F4 AFA6002C */ sw $a2, 0x2c($sp) +/* C8EDA8 802411F8 AFA70030 */ sw $a3, 0x30($sp) +/* C8EDAC 802411FC 0C00A8BB */ jal sin_deg +/* C8EDB0 80241200 AFA80034 */ sw $t0, 0x34($sp) +/* C8EDB4 80241204 46180502 */ mul.s $f20, $f0, $f24 +/* C8EDB8 80241208 00000000 */ nop +/* C8EDBC 8024120C 0C00A8D4 */ jal cos_deg +/* C8EDC0 80241210 4600B306 */ mov.s $f12, $f22 +/* C8EDC4 80241214 46000007 */ neg.s $f0, $f0 +/* C8EDC8 80241218 46180002 */ mul.s $f0, $f0, $f24 +/* C8EDCC 8024121C 00000000 */ nop +/* C8EDD0 80241220 4614D100 */ add.s $f4, $f26, $f20 +/* C8EDD4 80241224 4600E080 */ add.s $f2, $f28, $f0 +/* C8EDD8 80241228 4614D501 */ sub.s $f20, $f26, $f20 +/* C8EDDC 8024122C 2652000C */ addiu $s2, $s2, 0xc +/* C8EDE0 80241230 26310001 */ addiu $s1, $s1, 1 +/* C8EDE4 80241234 4600E001 */ sub.s $f0, $f28, $f0 +/* C8EDE8 80241238 4600228D */ trunc.w.s $f10, $f4 +/* C8EDEC 8024123C 44025000 */ mfc1 $v0, $f10 +/* C8EDF0 80241240 00000000 */ nop +/* C8EDF4 80241244 A6620000 */ sh $v0, ($s3) +/* C8EDF8 80241248 4600128D */ trunc.w.s $f10, $f2 +/* C8EDFC 8024124C 44025000 */ mfc1 $v0, $f10 +/* C8EE00 80241250 4600F28D */ trunc.w.s $f10, $f30 +/* C8EE04 80241254 44035000 */ mfc1 $v1, $f10 +/* C8EE08 80241258 26730010 */ addiu $s3, $s3, 0x10 +/* C8EE0C 8024125C A602FFF4 */ sh $v0, -0xc($s0) +/* C8EE10 80241260 A603FFF6 */ sh $v1, -0xa($s0) +/* C8EE14 80241264 A616FFFA */ sh $s6, -6($s0) +/* C8EE18 80241268 A600FFFC */ sh $zero, -4($s0) +/* C8EE1C 8024126C A217FFFE */ sb $s7, -2($s0) +/* C8EE20 80241270 A21EFFFF */ sb $fp, -1($s0) +/* C8EE24 80241274 8FA50028 */ lw $a1, 0x28($sp) +/* C8EE28 80241278 4600A28D */ trunc.w.s $f10, $f20 +/* C8EE2C 8024127C 44025000 */ mfc1 $v0, $f10 +/* C8EE30 80241280 A2050000 */ sb $a1, ($s0) +/* C8EE34 80241284 26100010 */ addiu $s0, $s0, 0x10 +/* C8EE38 80241288 A6620000 */ sh $v0, ($s3) +/* C8EE3C 8024128C 4600028D */ trunc.w.s $f10, $f0 +/* C8EE40 80241290 44025000 */ mfc1 $v0, $f10 +/* C8EE44 80241294 00000000 */ nop +/* C8EE48 80241298 A602FFF4 */ sh $v0, -0xc($s0) +/* C8EE4C 8024129C 24020400 */ addiu $v0, $zero, 0x400 +/* C8EE50 802412A0 A603FFF6 */ sh $v1, -0xa($s0) +/* C8EE54 802412A4 A616FFFA */ sh $s6, -6($s0) +/* C8EE58 802412A8 A602FFFC */ sh $v0, -4($s0) +/* C8EE5C 802412AC A217FFFE */ sb $s7, -2($s0) +/* C8EE60 802412B0 A21EFFFF */ sb $fp, -1($s0) +/* C8EE64 802412B4 A2050000 */ sb $a1, ($s0) +/* C8EE68 802412B8 26100010 */ addiu $s0, $s0, 0x10 +/* C8EE6C 802412BC 26730010 */ addiu $s3, $s3, 0x10 +/* C8EE70 802412C0 24A5001E */ addiu $a1, $a1, 0x1e +/* C8EE74 802412C4 27DE0078 */ addiu $fp, $fp, 0x78 +/* C8EE78 802412C8 26F70032 */ addiu $s7, $s7, 0x32 +/* C8EE7C 802412CC 8FA6002C */ lw $a2, 0x2c($sp) +/* C8EE80 802412D0 8FA70030 */ lw $a3, 0x30($sp) +/* C8EE84 802412D4 8FA80034 */ lw $t0, 0x34($sp) +/* C8EE88 802412D8 0226102A */ slt $v0, $s1, $a2 +/* C8EE8C 802412DC 1440FF84 */ bnez $v0, .L802410F0 +/* C8EE90 802412E0 26D60140 */ addiu $s6, $s6, 0x140 +.L802412E4: +/* C8EE94 802412E4 24C5FFFF */ addiu $a1, $a2, -1 +/* C8EE98 802412E8 18A00014 */ blez $a1, .L8024133C +/* C8EE9C 802412EC 0000882D */ daddu $s1, $zero, $zero +/* C8EEA0 802412F0 3C060002 */ lui $a2, 2 +/* C8EEA4 802412F4 34C60406 */ ori $a2, $a2, 0x406 +/* C8EEA8 802412F8 8FA40010 */ lw $a0, 0x10($sp) +.L802412FC: +/* C8EEAC 802412FC 8D030000 */ lw $v1, ($t0) +/* C8EEB0 80241300 26310001 */ addiu $s1, $s1, 1 +/* C8EEB4 80241304 0060102D */ daddu $v0, $v1, $zero +/* C8EEB8 80241308 24630008 */ addiu $v1, $v1, 8 +/* C8EEBC 8024130C AC440004 */ sw $a0, 4($v0) +/* C8EEC0 80241310 AD030000 */ sw $v1, ($t0) +/* C8EEC4 80241314 8FA90018 */ lw $t1, 0x18($sp) +/* C8EEC8 80241318 24840020 */ addiu $a0, $a0, 0x20 +/* C8EECC 8024131C AC490000 */ sw $t1, ($v0) +/* C8EED0 80241320 24620008 */ addiu $v0, $v1, 8 +/* C8EED4 80241324 AD020000 */ sw $v0, ($t0) +/* C8EED8 80241328 8FA9001C */ lw $t1, 0x1c($sp) +/* C8EEDC 8024132C 0225102A */ slt $v0, $s1, $a1 +/* C8EEE0 80241330 AC660004 */ sw $a2, 4($v1) +/* C8EEE4 80241334 1440FFF1 */ bnez $v0, .L802412FC +/* C8EEE8 80241338 AC690000 */ sw $t1, ($v1) +.L8024133C: +/* C8EEEC 8024133C 24E70001 */ addiu $a3, $a3, 1 +/* C8EEF0 80241340 8FA90020 */ lw $t1, 0x20($sp) +/* C8EEF4 80241344 28E20004 */ slti $v0, $a3, 4 +/* C8EEF8 80241348 252901E0 */ addiu $t1, $t1, 0x1e0 +/* C8EEFC 8024134C 1440FF43 */ bnez $v0, .L8024105C +/* C8EF00 80241350 AFA90020 */ sw $t1, 0x20($sp) +/* C8EF04 80241354 3C03800A */ lui $v1, 0x800a +/* C8EF08 80241358 2463A66C */ addiu $v1, $v1, -0x5994 +/* C8EF0C 8024135C 8C620000 */ lw $v0, ($v1) +/* C8EF10 80241360 0040202D */ daddu $a0, $v0, $zero +/* C8EF14 80241364 24420008 */ addiu $v0, $v0, 8 +/* C8EF18 80241368 AC620000 */ sw $v0, ($v1) +/* C8EF1C 8024136C 3C02E700 */ lui $v0, 0xe700 +/* C8EF20 80241370 AC820000 */ sw $v0, ($a0) +/* C8EF24 80241374 AC800004 */ sw $zero, 4($a0) +.L80241378: +/* C8EF28 80241378 8FBF005C */ lw $ra, 0x5c($sp) +/* C8EF2C 8024137C 8FBE0058 */ lw $fp, 0x58($sp) +/* C8EF30 80241380 8FB70054 */ lw $s7, 0x54($sp) +/* C8EF34 80241384 8FB60050 */ lw $s6, 0x50($sp) +/* C8EF38 80241388 8FB5004C */ lw $s5, 0x4c($sp) +/* C8EF3C 8024138C 8FB40048 */ lw $s4, 0x48($sp) +/* C8EF40 80241390 8FB30044 */ lw $s3, 0x44($sp) +/* C8EF44 80241394 8FB20040 */ lw $s2, 0x40($sp) +/* C8EF48 80241398 8FB1003C */ lw $s1, 0x3c($sp) +/* C8EF4C 8024139C 8FB00038 */ lw $s0, 0x38($sp) +/* C8EF50 802413A0 D7BE0088 */ ldc1 $f30, 0x88($sp) +/* C8EF54 802413A4 D7BC0080 */ ldc1 $f28, 0x80($sp) +/* C8EF58 802413A8 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* C8EF5C 802413AC D7B80070 */ ldc1 $f24, 0x70($sp) +/* C8EF60 802413B0 D7B60068 */ ldc1 $f22, 0x68($sp) +/* C8EF64 802413B4 D7B40060 */ ldc1 $f20, 0x60($sp) +/* C8EF68 802413B8 03E00008 */ jr $ra +/* C8EF6C 802413BC 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802413C0_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802413C0_C8DBB0.s new file mode 100644 index 0000000000..a1936ef072 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802413C0_C8DBB0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413C0_C8EF70 +/* C8EF70 802413C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* C8EF74 802413C4 3C028024 */ lui $v0, 0x8024 +/* C8EF78 802413C8 24420E2C */ addiu $v0, $v0, 0xe2c +/* C8EF7C 802413CC AFA2001C */ sw $v0, 0x1c($sp) +/* C8EF80 802413D0 2402000A */ addiu $v0, $zero, 0xa +/* C8EF84 802413D4 AFA20014 */ sw $v0, 0x14($sp) +/* C8EF88 802413D8 24020001 */ addiu $v0, $zero, 1 +/* C8EF8C 802413DC 27A40010 */ addiu $a0, $sp, 0x10 +/* C8EF90 802413E0 AFBF0020 */ sw $ra, 0x20($sp) +/* C8EF94 802413E4 AFA00018 */ sw $zero, 0x18($sp) +/* C8EF98 802413E8 0C047644 */ jal queue_render_task +/* C8EF9C 802413EC AFA20010 */ sw $v0, 0x10($sp) +/* C8EFA0 802413F0 8FBF0020 */ lw $ra, 0x20($sp) +/* C8EFA4 802413F4 03E00008 */ jr $ra +/* C8EFA8 802413F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802413FC_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802413FC_C8DBB0.s new file mode 100644 index 0000000000..ab021e08b5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802413FC_C8DBB0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413FC_C8EFAC +/* C8EFAC 802413FC 3C018025 */ lui $at, 0x8025 +/* C8EFB0 80241400 AC208380 */ sw $zero, -0x7c80($at) +/* C8EFB4 80241404 03E00008 */ jr $ra +/* C8EFB8 80241408 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_8024140C.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024140C.s new file mode 100644 index 0000000000..11482248e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024140C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024140C +/* C8EFBC 8024140C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8EFC0 80241410 AFB00010 */ sw $s0, 0x10($sp) +/* C8EFC4 80241414 0080802D */ daddu $s0, $a0, $zero +/* C8EFC8 80241418 AFBF0014 */ sw $ra, 0x14($sp) +/* C8EFCC 8024141C 0C00AB39 */ jal heap_malloc +/* C8EFD0 80241420 24040780 */ addiu $a0, $zero, 0x780 +/* C8EFD4 80241424 0200202D */ daddu $a0, $s0, $zero +/* C8EFD8 80241428 3C05FD05 */ lui $a1, 0xfd05 +/* C8EFDC 8024142C 34A50F80 */ ori $a1, $a1, 0xf80 +/* C8EFE0 80241430 0C0B2026 */ jal set_variable +/* C8EFE4 80241434 0040302D */ daddu $a2, $v0, $zero +/* C8EFE8 80241438 2402FFFF */ addiu $v0, $zero, -1 +/* C8EFEC 8024143C 3C058024 */ lui $a1, 0x8024 +/* C8EFF0 80241440 24A513C0 */ addiu $a1, $a1, 0x13c0 +/* C8EFF4 80241444 3C018025 */ lui $at, 0x8025 +/* C8EFF8 80241448 AC228380 */ sw $v0, -0x7c80($at) +/* C8EFFC 8024144C 0C048C56 */ jal bind_dynamic_entity_3 +/* C8F000 80241450 0000202D */ daddu $a0, $zero, $zero +/* C8F004 80241454 8FBF0014 */ lw $ra, 0x14($sp) +/* C8F008 80241458 8FB00010 */ lw $s0, 0x10($sp) +/* C8F00C 8024145C 24020002 */ addiu $v0, $zero, 2 +/* C8F010 80241460 03E00008 */ jr $ra +/* C8F014 80241464 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241468.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241468.s new file mode 100644 index 0000000000..e75b445fff --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241468.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241468 +/* C8F018 80241468 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8F01C 8024146C AFB00010 */ sw $s0, 0x10($sp) +/* C8F020 80241470 3C108024 */ lui $s0, 0x8024 +/* C8F024 80241474 26103D74 */ addiu $s0, $s0, 0x3d74 +/* C8F028 80241478 AFBF0018 */ sw $ra, 0x18($sp) +/* C8F02C 8024147C AFB10014 */ sw $s1, 0x14($sp) +/* C8F030 80241480 8E020000 */ lw $v0, ($s0) +/* C8F034 80241484 14400010 */ bnez $v0, .L802414C8 +/* C8F038 80241488 0080882D */ daddu $s1, $a0, $zero +/* C8F03C 8024148C 0C00AB39 */ jal heap_malloc +/* C8F040 80241490 24040040 */ addiu $a0, $zero, 0x40 +/* C8F044 80241494 AE020000 */ sw $v0, ($s0) +/* C8F048 80241498 0000182D */ daddu $v1, $zero, $zero +/* C8F04C 8024149C 0040282D */ daddu $a1, $v0, $zero +/* C8F050 802414A0 0220202D */ daddu $a0, $s1, $zero +.L802414A4: +/* C8F054 802414A4 8C820084 */ lw $v0, 0x84($a0) +/* C8F058 802414A8 24840004 */ addiu $a0, $a0, 4 +/* C8F05C 802414AC 24630001 */ addiu $v1, $v1, 1 +/* C8F060 802414B0 ACA20000 */ sw $v0, ($a1) +/* C8F064 802414B4 28620010 */ slti $v0, $v1, 0x10 +/* C8F068 802414B8 1440FFFA */ bnez $v0, .L802414A4 +/* C8F06C 802414BC 24A50004 */ addiu $a1, $a1, 4 +/* C8F070 802414C0 08090541 */ j .L80241504 +/* C8F074 802414C4 00000000 */ nop +.L802414C8: +/* C8F078 802414C8 0000182D */ daddu $v1, $zero, $zero +/* C8F07C 802414CC 0040282D */ daddu $a1, $v0, $zero +/* C8F080 802414D0 0220202D */ daddu $a0, $s1, $zero +.L802414D4: +/* C8F084 802414D4 8CA20000 */ lw $v0, ($a1) +/* C8F088 802414D8 24A50004 */ addiu $a1, $a1, 4 +/* C8F08C 802414DC 24630001 */ addiu $v1, $v1, 1 +/* C8F090 802414E0 AC820084 */ sw $v0, 0x84($a0) +/* C8F094 802414E4 28620010 */ slti $v0, $v1, 0x10 +/* C8F098 802414E8 1440FFFA */ bnez $v0, .L802414D4 +/* C8F09C 802414EC 24840004 */ addiu $a0, $a0, 4 +/* C8F0A0 802414F0 3C108024 */ lui $s0, 0x8024 +/* C8F0A4 802414F4 26103D74 */ addiu $s0, $s0, 0x3d74 +/* C8F0A8 802414F8 0C00AB4B */ jal heap_free +/* C8F0AC 802414FC 8E040000 */ lw $a0, ($s0) +/* C8F0B0 80241500 AE000000 */ sw $zero, ($s0) +.L80241504: +/* C8F0B4 80241504 8FBF0018 */ lw $ra, 0x18($sp) +/* C8F0B8 80241508 8FB10014 */ lw $s1, 0x14($sp) +/* C8F0BC 8024150C 8FB00010 */ lw $s0, 0x10($sp) +/* C8F0C0 80241510 24020002 */ addiu $v0, $zero, 2 +/* C8F0C4 80241514 03E00008 */ jr $ra +/* C8F0C8 80241518 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_8024151C.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024151C.s new file mode 100644 index 0000000000..c990efc3c4 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_8024151C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024151C +/* C8F0CC 8024151C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8F0D0 80241520 AFB00010 */ sw $s0, 0x10($sp) +/* C8F0D4 80241524 0080802D */ daddu $s0, $a0, $zero +/* C8F0D8 80241528 AFBF0018 */ sw $ra, 0x18($sp) +/* C8F0DC 8024152C AFB10014 */ sw $s1, 0x14($sp) +/* C8F0E0 80241530 8E02000C */ lw $v0, 0xc($s0) +/* C8F0E4 80241534 8C510000 */ lw $s1, ($v0) +/* C8F0E8 80241538 0C0B1EAF */ jal get_variable +/* C8F0EC 8024153C 0220282D */ daddu $a1, $s1, $zero +/* C8F0F0 80241540 3C03FFF0 */ lui $v1, 0xfff0 +/* C8F0F4 80241544 3463FFFF */ ori $v1, $v1, 0xffff +/* C8F0F8 80241548 0200202D */ daddu $a0, $s0, $zero +/* C8F0FC 8024154C 00431024 */ and $v0, $v0, $v1 +/* C8F100 80241550 00021140 */ sll $v0, $v0, 5 +/* C8F104 80241554 3C068008 */ lui $a2, %hi(gItemTable) +/* C8F108 80241558 00C23021 */ addu $a2, $a2, $v0 +/* C8F10C 8024155C 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C8F110 80241560 0C0B2026 */ jal set_variable +/* C8F114 80241564 0220282D */ daddu $a1, $s1, $zero +/* C8F118 80241568 8FBF0018 */ lw $ra, 0x18($sp) +/* C8F11C 8024156C 8FB10014 */ lw $s1, 0x14($sp) +/* C8F120 80241570 8FB00010 */ lw $s0, 0x10($sp) +/* C8F124 80241574 24020002 */ addiu $v0, $zero, 2 +/* C8F128 80241578 03E00008 */ jr $ra +/* C8F12C 8024157C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241580.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241580.s new file mode 100644 index 0000000000..82f9305e8e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241580.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241580 +/* C8F130 80241580 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8F134 80241584 AFB10014 */ sw $s1, 0x14($sp) +/* C8F138 80241588 0080882D */ daddu $s1, $a0, $zero +/* C8F13C 8024158C AFBF0018 */ sw $ra, 0x18($sp) +/* C8F140 80241590 AFB00010 */ sw $s0, 0x10($sp) +/* C8F144 80241594 8E30000C */ lw $s0, 0xc($s1) +/* C8F148 80241598 8E050000 */ lw $a1, ($s0) +/* C8F14C 8024159C 0C0B1EAF */ jal get_variable +/* C8F150 802415A0 26100004 */ addiu $s0, $s0, 4 +/* C8F154 802415A4 0C00EAD2 */ jal get_npc_safe +/* C8F158 802415A8 0040202D */ daddu $a0, $v0, $zero +/* C8F15C 802415AC 10400005 */ beqz $v0, .L802415C4 +/* C8F160 802415B0 00000000 */ nop +/* C8F164 802415B4 8E050000 */ lw $a1, ($s0) +/* C8F168 802415B8 844600A8 */ lh $a2, 0xa8($v0) +/* C8F16C 802415BC 0C0B2026 */ jal set_variable +/* C8F170 802415C0 0220202D */ daddu $a0, $s1, $zero +.L802415C4: +/* C8F174 802415C4 8FBF0018 */ lw $ra, 0x18($sp) +/* C8F178 802415C8 8FB10014 */ lw $s1, 0x14($sp) +/* C8F17C 802415CC 8FB00010 */ lw $s0, 0x10($sp) +/* C8F180 802415D0 24020002 */ addiu $v0, $zero, 2 +/* C8F184 802415D4 03E00008 */ jr $ra +/* C8F188 802415D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802415DC.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802415DC.s new file mode 100644 index 0000000000..27d699f5f2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802415DC.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415DC +/* C8F18C 802415DC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C8F190 802415E0 AFB10014 */ sw $s1, 0x14($sp) +/* C8F194 802415E4 0080882D */ daddu $s1, $a0, $zero +/* C8F198 802415E8 AFBF0024 */ sw $ra, 0x24($sp) +/* C8F19C 802415EC AFB40020 */ sw $s4, 0x20($sp) +/* C8F1A0 802415F0 AFB3001C */ sw $s3, 0x1c($sp) +/* C8F1A4 802415F4 AFB20018 */ sw $s2, 0x18($sp) +/* C8F1A8 802415F8 AFB00010 */ sw $s0, 0x10($sp) +/* C8F1AC 802415FC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C8F1B0 80241600 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C8F1B4 80241604 F7B80038 */ sdc1 $f24, 0x38($sp) +/* C8F1B8 80241608 F7B60030 */ sdc1 $f22, 0x30($sp) +/* C8F1BC 8024160C F7B40028 */ sdc1 $f20, 0x28($sp) +/* C8F1C0 80241610 8E30000C */ lw $s0, 0xc($s1) +/* C8F1C4 80241614 8E130000 */ lw $s3, ($s0) +/* C8F1C8 80241618 26100004 */ addiu $s0, $s0, 4 +/* C8F1CC 8024161C 0C0B1EAF */ jal get_variable +/* C8F1D0 80241620 0260282D */ daddu $a1, $s3, $zero +/* C8F1D4 80241624 4482E000 */ mtc1 $v0, $f28 +/* C8F1D8 80241628 00000000 */ nop +/* C8F1DC 8024162C 4680E720 */ cvt.s.w $f28, $f28 +/* C8F1E0 80241630 8E140000 */ lw $s4, ($s0) +/* C8F1E4 80241634 26100004 */ addiu $s0, $s0, 4 +/* C8F1E8 80241638 0220202D */ daddu $a0, $s1, $zero +/* C8F1EC 8024163C 0C0B1EAF */ jal get_variable +/* C8F1F0 80241640 0280282D */ daddu $a1, $s4, $zero +/* C8F1F4 80241644 4482D000 */ mtc1 $v0, $f26 +/* C8F1F8 80241648 00000000 */ nop +/* C8F1FC 8024164C 4680D6A0 */ cvt.s.w $f26, $f26 +/* C8F200 80241650 8E100000 */ lw $s0, ($s0) +/* C8F204 80241654 0220202D */ daddu $a0, $s1, $zero +/* C8F208 80241658 0C0B1EAF */ jal get_variable +/* C8F20C 8024165C 0200282D */ daddu $a1, $s0, $zero +/* C8F210 80241660 4482C000 */ mtc1 $v0, $f24 +/* C8F214 80241664 00000000 */ nop +/* C8F218 80241668 4680C620 */ cvt.s.w $f24, $f24 +/* C8F21C 8024166C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C8F220 80241670 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C8F224 80241674 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C8F228 80241678 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C8F22C 8024167C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C8F230 80241680 44800000 */ mtc1 $zero, $f0 +/* C8F234 80241684 00031080 */ sll $v0, $v1, 2 +/* C8F238 80241688 00431021 */ addu $v0, $v0, $v1 +/* C8F23C 8024168C 00021080 */ sll $v0, $v0, 2 +/* C8F240 80241690 00431023 */ subu $v0, $v0, $v1 +/* C8F244 80241694 000218C0 */ sll $v1, $v0, 3 +/* C8F248 80241698 00431021 */ addu $v0, $v0, $v1 +/* C8F24C 8024169C 000210C0 */ sll $v0, $v0, 3 +/* C8F250 802416A0 46001032 */ c.eq.s $f2, $f0 +/* C8F254 802416A4 3C01800B */ lui $at, 0x800b +/* C8F258 802416A8 00220821 */ addu $at, $at, $v0 +/* C8F25C 802416AC C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C8F260 802416B0 45000005 */ bc1f .L802416C8 +/* C8F264 802416B4 00000000 */ nop +/* C8F268 802416B8 3C0142C8 */ lui $at, 0x42c8 +/* C8F26C 802416BC 44810000 */ mtc1 $at, $f0 +/* C8F270 802416C0 080905B6 */ j .L802416D8 +/* C8F274 802416C4 4600B581 */ sub.s $f22, $f22, $f0 +.L802416C8: +/* C8F278 802416C8 3C0142C8 */ lui $at, 0x42c8 +/* C8F27C 802416CC 44810000 */ mtc1 $at, $f0 +/* C8F280 802416D0 00000000 */ nop +/* C8F284 802416D4 4600B580 */ add.s $f22, $f22, $f0 +.L802416D8: +/* C8F288 802416D8 0C00A6C9 */ jal clamp_angle +/* C8F28C 802416DC 4600B306 */ mov.s $f12, $f22 +/* C8F290 802416E0 46000586 */ mov.s $f22, $f0 +/* C8F294 802416E4 3C014170 */ lui $at, 0x4170 +/* C8F298 802416E8 4481A000 */ mtc1 $at, $f20 +/* C8F29C 802416EC 0C00A8BB */ jal sin_deg +/* C8F2A0 802416F0 4600B306 */ mov.s $f12, $f22 +/* C8F2A4 802416F4 46140002 */ mul.s $f0, $f0, $f20 +/* C8F2A8 802416F8 00000000 */ nop +/* C8F2AC 802416FC 864200B0 */ lh $v0, 0xb0($s2) +/* C8F2B0 80241700 3C013F00 */ lui $at, 0x3f00 +/* C8F2B4 80241704 44812000 */ mtc1 $at, $f4 +/* C8F2B8 80241708 44821000 */ mtc1 $v0, $f2 +/* C8F2BC 8024170C 00000000 */ nop +/* C8F2C0 80241710 468010A0 */ cvt.s.w $f2, $f2 +/* C8F2C4 80241714 46041082 */ mul.s $f2, $f2, $f4 +/* C8F2C8 80241718 00000000 */ nop +/* C8F2CC 8024171C 4600E700 */ add.s $f28, $f28, $f0 +/* C8F2D0 80241720 4602D680 */ add.s $f26, $f26, $f2 +/* C8F2D4 80241724 0C00A8D4 */ jal cos_deg +/* C8F2D8 80241728 4600B306 */ mov.s $f12, $f22 +/* C8F2DC 8024172C 46140002 */ mul.s $f0, $f0, $f20 +/* C8F2E0 80241730 00000000 */ nop +/* C8F2E4 80241734 0220202D */ daddu $a0, $s1, $zero +/* C8F2E8 80241738 0260282D */ daddu $a1, $s3, $zero +/* C8F2EC 8024173C 4600E18D */ trunc.w.s $f6, $f28 +/* C8F2F0 80241740 44063000 */ mfc1 $a2, $f6 +/* C8F2F4 80241744 0C0B2026 */ jal set_variable +/* C8F2F8 80241748 4600C601 */ sub.s $f24, $f24, $f0 +/* C8F2FC 8024174C 0220202D */ daddu $a0, $s1, $zero +/* C8F300 80241750 4600D18D */ trunc.w.s $f6, $f26 +/* C8F304 80241754 44063000 */ mfc1 $a2, $f6 +/* C8F308 80241758 0C0B2026 */ jal set_variable +/* C8F30C 8024175C 0280282D */ daddu $a1, $s4, $zero +/* C8F310 80241760 0220202D */ daddu $a0, $s1, $zero +/* C8F314 80241764 4600C18D */ trunc.w.s $f6, $f24 +/* C8F318 80241768 44063000 */ mfc1 $a2, $f6 +/* C8F31C 8024176C 0C0B2026 */ jal set_variable +/* C8F320 80241770 0200282D */ daddu $a1, $s0, $zero +/* C8F324 80241774 8FBF0024 */ lw $ra, 0x24($sp) +/* C8F328 80241778 8FB40020 */ lw $s4, 0x20($sp) +/* C8F32C 8024177C 8FB3001C */ lw $s3, 0x1c($sp) +/* C8F330 80241780 8FB20018 */ lw $s2, 0x18($sp) +/* C8F334 80241784 8FB10014 */ lw $s1, 0x14($sp) +/* C8F338 80241788 8FB00010 */ lw $s0, 0x10($sp) +/* C8F33C 8024178C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C8F340 80241790 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C8F344 80241794 D7B80038 */ ldc1 $f24, 0x38($sp) +/* C8F348 80241798 D7B60030 */ ldc1 $f22, 0x30($sp) +/* C8F34C 8024179C D7B40028 */ ldc1 $f20, 0x28($sp) +/* C8F350 802417A0 24020002 */ addiu $v0, $zero, 2 +/* C8F354 802417A4 03E00008 */ jr $ra +/* C8F358 802417A8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802417AC_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802417AC_C8DBB0.s new file mode 100644 index 0000000000..163de8e533 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802417AC_C8DBB0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417AC_C8F35C +/* C8F35C 802417AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8F360 802417B0 AFBF0010 */ sw $ra, 0x10($sp) +/* C8F364 802417B4 10A00003 */ beqz $a1, .L802417C4 +/* C8F368 802417B8 8C86000C */ lw $a2, 0xc($a0) +/* C8F36C 802417BC 3C018024 */ lui $at, 0x8024 +/* C8F370 802417C0 AC203DD8 */ sw $zero, 0x3dd8($at) +.L802417C4: +/* C8F374 802417C4 3C038024 */ lui $v1, 0x8024 +/* C8F378 802417C8 24633DD8 */ addiu $v1, $v1, 0x3dd8 +/* C8F37C 802417CC 8C620000 */ lw $v0, ($v1) +/* C8F380 802417D0 54400003 */ bnel $v0, $zero, .L802417E0 +/* C8F384 802417D4 AC600000 */ sw $zero, ($v1) +/* C8F388 802417D8 080905FD */ j .L802417F4 +/* C8F38C 802417DC 0000102D */ daddu $v0, $zero, $zero +.L802417E0: +/* C8F390 802417E0 8CC50000 */ lw $a1, ($a2) +/* C8F394 802417E4 3C068024 */ lui $a2, 0x8024 +/* C8F398 802417E8 0C0B2026 */ jal set_variable +/* C8F39C 802417EC 8CC63DDC */ lw $a2, 0x3ddc($a2) +/* C8F3A0 802417F0 24020002 */ addiu $v0, $zero, 2 +.L802417F4: +/* C8F3A4 802417F4 8FBF0010 */ lw $ra, 0x10($sp) +/* C8F3A8 802417F8 03E00008 */ jr $ra +/* C8F3AC 802417FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241800_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241800_C8DBB0.s new file mode 100644 index 0000000000..77e1012e2f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241800_C8DBB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241800_C8F3B0 +/* C8F3B0 80241800 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8F3B4 80241804 AFBF0010 */ sw $ra, 0x10($sp) +/* C8F3B8 80241808 8C82000C */ lw $v0, 0xc($a0) +/* C8F3BC 8024180C 0C0B1EAF */ jal get_variable +/* C8F3C0 80241810 8C450000 */ lw $a1, ($v0) +/* C8F3C4 80241814 3C018024 */ lui $at, 0x8024 +/* C8F3C8 80241818 AC223DDC */ sw $v0, 0x3ddc($at) +/* C8F3CC 8024181C 24020002 */ addiu $v0, $zero, 2 +/* C8F3D0 80241820 8FBF0010 */ lw $ra, 0x10($sp) +/* C8F3D4 80241824 24030001 */ addiu $v1, $zero, 1 +/* C8F3D8 80241828 3C018024 */ lui $at, 0x8024 +/* C8F3DC 8024182C AC233DD8 */ sw $v1, 0x3dd8($at) +/* C8F3E0 80241830 03E00008 */ jr $ra +/* C8F3E4 80241834 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241838.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241838.s new file mode 100644 index 0000000000..41659d353f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241838.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241838 +/* C8F3E8 80241838 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8F3EC 8024183C AFBF0010 */ sw $ra, 0x10($sp) +/* C8F3F0 80241840 8C82000C */ lw $v0, 0xc($a0) +/* C8F3F4 80241844 0C0B1EAF */ jal get_variable +/* C8F3F8 80241848 8C450000 */ lw $a1, ($v0) +/* C8F3FC 8024184C 0040182D */ daddu $v1, $v0, $zero +/* C8F400 80241850 10600012 */ beqz $v1, .L8024189C +/* C8F404 80241854 0000202D */ daddu $a0, $zero, $zero +/* C8F408 80241858 8C620000 */ lw $v0, ($v1) +/* C8F40C 8024185C 5040000A */ beql $v0, $zero, .L80241888 +/* C8F410 80241860 00041080 */ sll $v0, $a0, 2 +/* C8F414 80241864 3C058025 */ lui $a1, 0x8025 +/* C8F418 80241868 24A58388 */ addiu $a1, $a1, -0x7c78 +.L8024186C: +/* C8F41C 8024186C 24630004 */ addiu $v1, $v1, 4 +/* C8F420 80241870 24840001 */ addiu $a0, $a0, 1 +/* C8F424 80241874 ACA20000 */ sw $v0, ($a1) +/* C8F428 80241878 8C620000 */ lw $v0, ($v1) +/* C8F42C 8024187C 1440FFFB */ bnez $v0, .L8024186C +/* C8F430 80241880 24A50004 */ addiu $a1, $a1, 4 +/* C8F434 80241884 00041080 */ sll $v0, $a0, 2 +.L80241888: +/* C8F438 80241888 3C018025 */ lui $at, 0x8025 +/* C8F43C 8024188C 00220821 */ addu $at, $at, $v0 +/* C8F440 80241890 AC208388 */ sw $zero, -0x7c78($at) +/* C8F444 80241894 08090631 */ j .L802418C4 +/* C8F448 80241898 00000000 */ nop +.L8024189C: +/* C8F44C 8024189C 3C038025 */ lui $v1, 0x8025 +/* C8F450 802418A0 24638388 */ addiu $v1, $v1, -0x7c78 +/* C8F454 802418A4 0060282D */ daddu $a1, $v1, $zero +.L802418A8: +/* C8F458 802418A8 24820010 */ addiu $v0, $a0, 0x10 +/* C8F45C 802418AC AC620000 */ sw $v0, ($v1) +/* C8F460 802418B0 24630004 */ addiu $v1, $v1, 4 +/* C8F464 802418B4 24840001 */ addiu $a0, $a0, 1 +/* C8F468 802418B8 28820070 */ slti $v0, $a0, 0x70 +/* C8F46C 802418BC 1440FFFA */ bnez $v0, .L802418A8 +/* C8F470 802418C0 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802418C4: +/* C8F474 802418C4 8FBF0010 */ lw $ra, 0x10($sp) +/* C8F478 802418C8 24020002 */ addiu $v0, $zero, 2 +/* C8F47C 802418CC 03E00008 */ jr $ra +/* C8F480 802418D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802418D4_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802418D4_C8DBB0.s new file mode 100644 index 0000000000..d0ad0d1938 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802418D4_C8DBB0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418D4_C8F484 +/* C8F484 802418D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8F488 802418D8 AFB10014 */ sw $s1, 0x14($sp) +/* C8F48C 802418DC 0080882D */ daddu $s1, $a0, $zero +/* C8F490 802418E0 AFBF0018 */ sw $ra, 0x18($sp) +/* C8F494 802418E4 AFB00010 */ sw $s0, 0x10($sp) +/* C8F498 802418E8 8E30000C */ lw $s0, 0xc($s1) +/* C8F49C 802418EC 8E050000 */ lw $a1, ($s0) +/* C8F4A0 802418F0 0C0B1EAF */ jal get_variable +/* C8F4A4 802418F4 26100004 */ addiu $s0, $s0, 4 +/* C8F4A8 802418F8 AE22008C */ sw $v0, 0x8c($s1) +/* C8F4AC 802418FC 8E050000 */ lw $a1, ($s0) +/* C8F4B0 80241900 26100004 */ addiu $s0, $s0, 4 +/* C8F4B4 80241904 0C0B1EAF */ jal get_variable +/* C8F4B8 80241908 0220202D */ daddu $a0, $s1, $zero +/* C8F4BC 8024190C AE220090 */ sw $v0, 0x90($s1) +/* C8F4C0 80241910 8E050000 */ lw $a1, ($s0) +/* C8F4C4 80241914 26100004 */ addiu $s0, $s0, 4 +/* C8F4C8 80241918 0C0B1EAF */ jal get_variable +/* C8F4CC 8024191C 0220202D */ daddu $a0, $s1, $zero +/* C8F4D0 80241920 AE220094 */ sw $v0, 0x94($s1) +/* C8F4D4 80241924 8E050000 */ lw $a1, ($s0) +/* C8F4D8 80241928 26100004 */ addiu $s0, $s0, 4 +/* C8F4DC 8024192C 0C0B1EAF */ jal get_variable +/* C8F4E0 80241930 0220202D */ daddu $a0, $s1, $zero +/* C8F4E4 80241934 AE220098 */ sw $v0, 0x98($s1) +/* C8F4E8 80241938 8E050000 */ lw $a1, ($s0) +/* C8F4EC 8024193C 26100004 */ addiu $s0, $s0, 4 +/* C8F4F0 80241940 0C0B1EAF */ jal get_variable +/* C8F4F4 80241944 0220202D */ daddu $a0, $s1, $zero +/* C8F4F8 80241948 AE22009C */ sw $v0, 0x9c($s1) +/* C8F4FC 8024194C 8E050000 */ lw $a1, ($s0) +/* C8F500 80241950 26100004 */ addiu $s0, $s0, 4 +/* C8F504 80241954 0C0B1EAF */ jal get_variable +/* C8F508 80241958 0220202D */ daddu $a0, $s1, $zero +/* C8F50C 8024195C AE2200A0 */ sw $v0, 0xa0($s1) +/* C8F510 80241960 8E050000 */ lw $a1, ($s0) +/* C8F514 80241964 26100004 */ addiu $s0, $s0, 4 +/* C8F518 80241968 0C0B1EAF */ jal get_variable +/* C8F51C 8024196C 0220202D */ daddu $a0, $s1, $zero +/* C8F520 80241970 AE2200A4 */ sw $v0, 0xa4($s1) +/* C8F524 80241974 8E050000 */ lw $a1, ($s0) +/* C8F528 80241978 26100004 */ addiu $s0, $s0, 4 +/* C8F52C 8024197C 0C0B1EAF */ jal get_variable +/* C8F530 80241980 0220202D */ daddu $a0, $s1, $zero +/* C8F534 80241984 AE2200A8 */ sw $v0, 0xa8($s1) +/* C8F538 80241988 8E050000 */ lw $a1, ($s0) +/* C8F53C 8024198C 26100004 */ addiu $s0, $s0, 4 +/* C8F540 80241990 0C0B1EAF */ jal get_variable +/* C8F544 80241994 0220202D */ daddu $a0, $s1, $zero +/* C8F548 80241998 AE2200AC */ sw $v0, 0xac($s1) +/* C8F54C 8024199C 8E050000 */ lw $a1, ($s0) +/* C8F550 802419A0 0C0B1EAF */ jal get_variable +/* C8F554 802419A4 0220202D */ daddu $a0, $s1, $zero +/* C8F558 802419A8 AE2200B0 */ sw $v0, 0xb0($s1) +/* C8F55C 802419AC 8FBF0018 */ lw $ra, 0x18($sp) +/* C8F560 802419B0 8FB10014 */ lw $s1, 0x14($sp) +/* C8F564 802419B4 8FB00010 */ lw $s0, 0x10($sp) +/* C8F568 802419B8 24020002 */ addiu $v0, $zero, 2 +/* C8F56C 802419BC 03E00008 */ jr $ra +/* C8F570 802419C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_802419C4_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_802419C4_C8DBB0.s new file mode 100644 index 0000000000..0430f2e068 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_802419C4_C8DBB0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419C4_C8F574 +/* C8F574 802419C4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C8F578 802419C8 AFB1001C */ sw $s1, 0x1c($sp) +/* C8F57C 802419CC 0080882D */ daddu $s1, $a0, $zero +/* C8F580 802419D0 AFBF0034 */ sw $ra, 0x34($sp) +/* C8F584 802419D4 AFB60030 */ sw $s6, 0x30($sp) +/* C8F588 802419D8 AFB5002C */ sw $s5, 0x2c($sp) +/* C8F58C 802419DC AFB40028 */ sw $s4, 0x28($sp) +/* C8F590 802419E0 AFB30024 */ sw $s3, 0x24($sp) +/* C8F594 802419E4 AFB20020 */ sw $s2, 0x20($sp) +/* C8F598 802419E8 AFB00018 */ sw $s0, 0x18($sp) +/* C8F59C 802419EC F7B60040 */ sdc1 $f22, 0x40($sp) +/* C8F5A0 802419F0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C8F5A4 802419F4 8E30000C */ lw $s0, 0xc($s1) +/* C8F5A8 802419F8 8E160000 */ lw $s6, ($s0) +/* C8F5AC 802419FC 26100004 */ addiu $s0, $s0, 4 +/* C8F5B0 80241A00 0C0B1EAF */ jal get_variable +/* C8F5B4 80241A04 02C0282D */ daddu $a1, $s6, $zero +/* C8F5B8 80241A08 44820000 */ mtc1 $v0, $f0 +/* C8F5BC 80241A0C 00000000 */ nop +/* C8F5C0 80241A10 46800020 */ cvt.s.w $f0, $f0 +/* C8F5C4 80241A14 E7A00010 */ swc1 $f0, 0x10($sp) +/* C8F5C8 80241A18 8E140000 */ lw $s4, ($s0) +/* C8F5CC 80241A1C 26100004 */ addiu $s0, $s0, 4 +/* C8F5D0 80241A20 0220202D */ daddu $a0, $s1, $zero +/* C8F5D4 80241A24 0C0B1EAF */ jal get_variable +/* C8F5D8 80241A28 0280282D */ daddu $a1, $s4, $zero +/* C8F5DC 80241A2C 0220202D */ daddu $a0, $s1, $zero +/* C8F5E0 80241A30 8E150000 */ lw $s5, ($s0) +/* C8F5E4 80241A34 4482B000 */ mtc1 $v0, $f22 +/* C8F5E8 80241A38 00000000 */ nop +/* C8F5EC 80241A3C 4680B5A0 */ cvt.s.w $f22, $f22 +/* C8F5F0 80241A40 0C0B1EAF */ jal get_variable +/* C8F5F4 80241A44 02A0282D */ daddu $a1, $s5, $zero +/* C8F5F8 80241A48 2404FFFC */ addiu $a0, $zero, -4 +/* C8F5FC 80241A4C 44820000 */ mtc1 $v0, $f0 +/* C8F600 80241A50 00000000 */ nop +/* C8F604 80241A54 46800020 */ cvt.s.w $f0, $f0 +/* C8F608 80241A58 0C00EABB */ jal get_npc_unsafe +/* C8F60C 80241A5C E7A00014 */ swc1 $f0, 0x14($sp) +/* C8F610 80241A60 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C8F614 80241A64 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C8F618 80241A68 3C014334 */ lui $at, 0x4334 +/* C8F61C 80241A6C 44816000 */ mtc1 $at, $f12 +/* C8F620 80241A70 00041880 */ sll $v1, $a0, 2 +/* C8F624 80241A74 00641821 */ addu $v1, $v1, $a0 +/* C8F628 80241A78 00031880 */ sll $v1, $v1, 2 +/* C8F62C 80241A7C 00641823 */ subu $v1, $v1, $a0 +/* C8F630 80241A80 000320C0 */ sll $a0, $v1, 3 +/* C8F634 80241A84 00641821 */ addu $v1, $v1, $a0 +/* C8F638 80241A88 000318C0 */ sll $v1, $v1, 3 +/* C8F63C 80241A8C 3C01800B */ lui $at, 0x800b +/* C8F640 80241A90 00230821 */ addu $at, $at, $v1 +/* C8F644 80241A94 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C8F648 80241A98 460C0300 */ add.s $f12, $f0, $f12 +/* C8F64C 80241A9C 0C00A6C9 */ jal clamp_angle +/* C8F650 80241AA0 0040982D */ daddu $s3, $v0, $zero +/* C8F654 80241AA4 27B00010 */ addiu $s0, $sp, 0x10 +/* C8F658 80241AA8 0200202D */ daddu $a0, $s0, $zero +/* C8F65C 80241AAC 27B20014 */ addiu $s2, $sp, 0x14 +/* C8F660 80241AB0 0240282D */ daddu $a1, $s2, $zero +/* C8F664 80241AB4 3C064170 */ lui $a2, 0x4170 +/* C8F668 80241AB8 8E67000C */ lw $a3, 0xc($s3) +/* C8F66C 80241ABC 0C00A7E7 */ jal add_vec2D_polar +/* C8F670 80241AC0 46000506 */ mov.s $f20, $f0 +/* C8F674 80241AC4 0200202D */ daddu $a0, $s0, $zero +/* C8F678 80241AC8 3C064120 */ lui $a2, 0x4120 +/* C8F67C 80241ACC 4407A000 */ mfc1 $a3, $f20 +/* C8F680 80241AD0 0C00A7E7 */ jal add_vec2D_polar +/* C8F684 80241AD4 0240282D */ daddu $a1, $s2, $zero +/* C8F688 80241AD8 0220202D */ daddu $a0, $s1, $zero +/* C8F68C 80241ADC C7A00010 */ lwc1 $f0, 0x10($sp) +/* C8F690 80241AE0 4600008D */ trunc.w.s $f2, $f0 +/* C8F694 80241AE4 44061000 */ mfc1 $a2, $f2 +/* C8F698 80241AE8 0C0B2026 */ jal set_variable +/* C8F69C 80241AEC 02C0282D */ daddu $a1, $s6, $zero +/* C8F6A0 80241AF0 0220202D */ daddu $a0, $s1, $zero +/* C8F6A4 80241AF4 4600B08D */ trunc.w.s $f2, $f22 +/* C8F6A8 80241AF8 44061000 */ mfc1 $a2, $f2 +/* C8F6AC 80241AFC 0C0B2026 */ jal set_variable +/* C8F6B0 80241B00 0280282D */ daddu $a1, $s4, $zero +/* C8F6B4 80241B04 0220202D */ daddu $a0, $s1, $zero +/* C8F6B8 80241B08 C7A00014 */ lwc1 $f0, 0x14($sp) +/* C8F6BC 80241B0C 4600008D */ trunc.w.s $f2, $f0 +/* C8F6C0 80241B10 44061000 */ mfc1 $a2, $f2 +/* C8F6C4 80241B14 0C0B2026 */ jal set_variable +/* C8F6C8 80241B18 02A0282D */ daddu $a1, $s5, $zero +/* C8F6CC 80241B1C 8FBF0034 */ lw $ra, 0x34($sp) +/* C8F6D0 80241B20 8FB60030 */ lw $s6, 0x30($sp) +/* C8F6D4 80241B24 8FB5002C */ lw $s5, 0x2c($sp) +/* C8F6D8 80241B28 8FB40028 */ lw $s4, 0x28($sp) +/* C8F6DC 80241B2C 8FB30024 */ lw $s3, 0x24($sp) +/* C8F6E0 80241B30 8FB20020 */ lw $s2, 0x20($sp) +/* C8F6E4 80241B34 8FB1001C */ lw $s1, 0x1c($sp) +/* C8F6E8 80241B38 8FB00018 */ lw $s0, 0x18($sp) +/* C8F6EC 80241B3C D7B60040 */ ldc1 $f22, 0x40($sp) +/* C8F6F0 80241B40 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C8F6F4 80241B44 24020002 */ addiu $v0, $zero, 2 +/* C8F6F8 80241B48 03E00008 */ jr $ra +/* C8F6FC 80241B4C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B50_C8DBB0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B50_C8DBB0.s new file mode 100644 index 0000000000..5fd7332104 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B50_C8DBB0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B50_C8F700 +/* C8F700 80241B50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8F704 80241B54 AFB00010 */ sw $s0, 0x10($sp) +/* C8F708 80241B58 0080802D */ daddu $s0, $a0, $zero +/* C8F70C 80241B5C AFBF0014 */ sw $ra, 0x14($sp) +/* C8F710 80241B60 0C00EABB */ jal get_npc_unsafe +/* C8F714 80241B64 8E04008C */ lw $a0, 0x8c($s0) +/* C8F718 80241B68 0040282D */ daddu $a1, $v0, $zero +/* C8F71C 80241B6C 8E040094 */ lw $a0, 0x94($s0) +/* C8F720 80241B70 8CA30028 */ lw $v1, 0x28($a1) +/* C8F724 80241B74 ACA40028 */ sw $a0, 0x28($a1) +/* C8F728 80241B78 8FBF0014 */ lw $ra, 0x14($sp) +/* C8F72C 80241B7C 8FB00010 */ lw $s0, 0x10($sp) +/* C8F730 80241B80 24020002 */ addiu $v0, $zero, 2 +/* C8F734 80241B84 3C018025 */ lui $at, 0x8025 +/* C8F738 80241B88 AC23854C */ sw $v1, -0x7ab4($at) +/* C8F73C 80241B8C 03E00008 */ jr $ra +/* C8F740 80241B90 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B94.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B94.s new file mode 100644 index 0000000000..7bb0040c79 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241B94.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B94 +/* C8F744 80241B94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C8F748 80241B98 AFBF0010 */ sw $ra, 0x10($sp) +/* C8F74C 80241B9C 0C00EABB */ jal get_npc_unsafe +/* C8F750 80241BA0 8C84008C */ lw $a0, 0x8c($a0) +/* C8F754 80241BA4 3C038025 */ lui $v1, 0x8025 +/* C8F758 80241BA8 8C63854C */ lw $v1, -0x7ab4($v1) +/* C8F75C 80241BAC AC430028 */ sw $v1, 0x28($v0) +/* C8F760 80241BB0 8FBF0010 */ lw $ra, 0x10($sp) +/* C8F764 80241BB4 24020002 */ addiu $v0, $zero, 2 +/* C8F768 80241BB8 03E00008 */ jr $ra +/* C8F76C 80241BBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/func_80241BC0.s b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241BC0.s new file mode 100644 index 0000000000..070f712f96 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_19/func_80241BC0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BC0 +/* C8F770 80241BC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C8F774 80241BC4 AFB10014 */ sw $s1, 0x14($sp) +/* C8F778 80241BC8 0080882D */ daddu $s1, $a0, $zero +/* C8F77C 80241BCC AFBF0018 */ sw $ra, 0x18($sp) +/* C8F780 80241BD0 AFB00010 */ sw $s0, 0x10($sp) +/* C8F784 80241BD4 8E30000C */ lw $s0, 0xc($s1) +/* C8F788 80241BD8 8E050000 */ lw $a1, ($s0) +/* C8F78C 80241BDC 0C0B1EAF */ jal get_variable +/* C8F790 80241BE0 26100004 */ addiu $s0, $s0, 4 +/* C8F794 80241BE4 0220202D */ daddu $a0, $s1, $zero +/* C8F798 80241BE8 8E050000 */ lw $a1, ($s0) +/* C8F79C 80241BEC 0C0B1EAF */ jal get_variable +/* C8F7A0 80241BF0 0040802D */ daddu $s0, $v0, $zero +/* C8F7A4 80241BF4 0040202D */ daddu $a0, $v0, $zero +/* C8F7A8 80241BF8 24020001 */ addiu $v0, $zero, 1 +/* C8F7AC 80241BFC 12020019 */ beq $s0, $v0, .L80241C64 +/* C8F7B0 80241C00 2A020002 */ slti $v0, $s0, 2 +/* C8F7B4 80241C04 10400005 */ beqz $v0, .L80241C1C +/* C8F7B8 80241C08 24020002 */ addiu $v0, $zero, 2 +/* C8F7BC 80241C0C 12000009 */ beqz $s0, .L80241C34 +/* C8F7C0 80241C10 00041840 */ sll $v1, $a0, 1 +/* C8F7C4 80241C14 08090743 */ j .L80241D0C +/* C8F7C8 80241C18 00000000 */ nop +.L80241C1C: +/* C8F7CC 80241C1C 1202001F */ beq $s0, $v0, .L80241C9C +/* C8F7D0 80241C20 24020003 */ addiu $v0, $zero, 3 +/* C8F7D4 80241C24 1202002B */ beq $s0, $v0, .L80241CD4 +/* C8F7D8 80241C28 3C068020 */ lui $a2, 0x8020 +/* C8F7DC 80241C2C 08090743 */ j .L80241D0C +/* C8F7E0 80241C30 00000000 */ nop +.L80241C34: +/* C8F7E4 80241C34 3C028024 */ lui $v0, 0x8024 +/* C8F7E8 80241C38 24423BB8 */ addiu $v0, $v0, 0x3bb8 +/* C8F7EC 80241C3C 00641821 */ addu $v1, $v1, $a0 +/* C8F7F0 80241C40 00032080 */ sll $a0, $v1, 2 +/* C8F7F4 80241C44 00822021 */ addu $a0, $a0, $v0 +/* C8F7F8 80241C48 24630001 */ addiu $v1, $v1, 1 +/* C8F7FC 80241C4C 00031880 */ sll $v1, $v1, 2 +/* C8F800 80241C50 00621821 */ addu $v1, $v1, $v0 +/* C8F804 80241C54 8C840000 */ lw $a0, ($a0) +/* C8F808 80241C58 8C650000 */ lw $a1, ($v1) +/* C8F80C 80241C5C 08090741 */ j .L80241D04 +/* C8F810 80241C60 3C068020 */ lui $a2, 0x8020 +.L80241C64: +/* C8F814 80241C64 3C068020 */ lui $a2, 0x8020 +/* C8F818 80241C68 3C028024 */ lui $v0, 0x8024 +/* C8F81C 80241C6C 24423BB8 */ addiu $v0, $v0, 0x3bb8 +/* C8F820 80241C70 00041840 */ sll $v1, $a0, 1 +/* C8F824 80241C74 00641821 */ addu $v1, $v1, $a0 +/* C8F828 80241C78 00032080 */ sll $a0, $v1, 2 +/* C8F82C 80241C7C 00822021 */ addu $a0, $a0, $v0 +/* C8F830 80241C80 24630001 */ addiu $v1, $v1, 1 +/* C8F834 80241C84 00031880 */ sll $v1, $v1, 2 +/* C8F838 80241C88 00621821 */ addu $v1, $v1, $v0 +/* C8F83C 80241C8C 8C840000 */ lw $a0, ($a0) +/* C8F840 80241C90 8C650000 */ lw $a1, ($v1) +/* C8F844 80241C94 08090741 */ j .L80241D04 +/* C8F848 80241C98 34C64000 */ ori $a2, $a2, 0x4000 +.L80241C9C: +/* C8F84C 80241C9C 3C068020 */ lui $a2, 0x8020 +/* C8F850 80241CA0 3C028024 */ lui $v0, 0x8024 +/* C8F854 80241CA4 24423BB8 */ addiu $v0, $v0, 0x3bb8 +/* C8F858 80241CA8 00041840 */ sll $v1, $a0, 1 +/* C8F85C 80241CAC 00641821 */ addu $v1, $v1, $a0 +/* C8F860 80241CB0 00032080 */ sll $a0, $v1, 2 +/* C8F864 80241CB4 00822021 */ addu $a0, $a0, $v0 +/* C8F868 80241CB8 24630001 */ addiu $v1, $v1, 1 +/* C8F86C 80241CBC 00031880 */ sll $v1, $v1, 2 +/* C8F870 80241CC0 00621821 */ addu $v1, $v1, $v0 +/* C8F874 80241CC4 8C840000 */ lw $a0, ($a0) +/* C8F878 80241CC8 8C650000 */ lw $a1, ($v1) +/* C8F87C 80241CCC 08090741 */ j .L80241D04 +/* C8F880 80241CD0 34C67000 */ ori $a2, $a2, 0x7000 +.L80241CD4: +/* C8F884 80241CD4 3C028024 */ lui $v0, 0x8024 +/* C8F888 80241CD8 24423BB8 */ addiu $v0, $v0, 0x3bb8 +/* C8F88C 80241CDC 00041840 */ sll $v1, $a0, 1 +/* C8F890 80241CE0 00641821 */ addu $v1, $v1, $a0 +/* C8F894 80241CE4 00032080 */ sll $a0, $v1, 2 +/* C8F898 80241CE8 00822021 */ addu $a0, $a0, $v0 +/* C8F89C 80241CEC 24630001 */ addiu $v1, $v1, 1 +/* C8F8A0 80241CF0 00031880 */ sll $v1, $v1, 2 +/* C8F8A4 80241CF4 00621821 */ addu $v1, $v1, $v0 +/* C8F8A8 80241CF8 8C840000 */ lw $a0, ($a0) +/* C8F8AC 80241CFC 8C650000 */ lw $a1, ($v1) +/* C8F8B0 80241D00 34C6A000 */ ori $a2, $a2, 0xa000 +.L80241D04: +/* C8F8B4 80241D04 0C00A5CF */ jal dma_copy +/* C8F8B8 80241D08 00000000 */ nop +.L80241D0C: +/* C8F8BC 80241D0C 8FBF0018 */ lw $ra, 0x18($sp) +/* C8F8C0 80241D10 8FB10014 */ lw $s1, 0x14($sp) +/* C8F8C4 80241D14 8FB00010 */ lw $s0, 0x10($sp) +/* C8F8C8 80241D18 24020002 */ addiu $v0, $zero, 2 +/* C8F8CC 80241D1C 03E00008 */ jr $ra +/* C8F8D0 80241D20 27BD0020 */ addiu $sp, $sp, 0x20 +/* C8F8D4 80241D24 00000000 */ nop +/* C8F8D8 80241D28 00000000 */ nop +/* C8F8DC 80241D2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240000_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240000_C95F30.s new file mode 100644 index 0000000000..e45bc5be26 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240000_C95F30.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C95F30 +/* C95F30 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C95F34 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C95F38 80240008 0080802D */ daddu $s0, $a0, $zero +/* C95F3C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C95F40 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C95F44 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C95F48 80240018 00621821 */ addu $v1, $v1, $v0 +/* C95F4C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C95F50 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C95F54 80240024 3C020002 */ lui $v0, 2 +/* C95F58 80240028 08090010 */ j .L80240040 +/* C95F5C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C95F60 80240030 3C040002 */ lui $a0, 2 +/* C95F64 80240034 0083102A */ slt $v0, $a0, $v1 +/* C95F68 80240038 10400002 */ beqz $v0, .L80240044 +/* C95F6C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C95F70 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C95F74 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C95F78 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C95F7C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C95F80 80240050 04610004 */ bgez $v1, .L80240064 +/* C95F84 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C95F88 80240058 3C020002 */ lui $v0, 2 +/* C95F8C 8024005C 0809001D */ j .L80240074 +/* C95F90 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C95F94 80240064 3C040002 */ lui $a0, 2 +/* C95F98 80240068 0083102A */ slt $v0, $a0, $v1 +/* C95F9C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C95FA0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C95FA4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C95FA8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C95FAC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C95FB0 80240080 00621821 */ addu $v1, $v1, $v0 +/* C95FB4 80240084 04610004 */ bgez $v1, .L80240098 +/* C95FB8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C95FBC 8024008C 3C020002 */ lui $v0, 2 +/* C95FC0 80240090 0809002A */ j .L802400A8 +/* C95FC4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C95FC8 80240098 3C040002 */ lui $a0, 2 +/* C95FCC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C95FD0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C95FD4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C95FD8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C95FDC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C95FE0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C95FE4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C95FE8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C95FEC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C95FF0 802400C0 3C020002 */ lui $v0, 2 +/* C95FF4 802400C4 08090037 */ j .L802400DC +/* C95FF8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C95FFC 802400CC 3C040002 */ lui $a0, 2 +/* C96000 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C96004 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C96008 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C9600C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C96010 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C96014 802400E4 0C046F07 */ jal set_main_pan_u +/* C96018 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C9601C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C96020 802400F0 0C046F0D */ jal set_main_pan_v +/* C96024 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C96028 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C9602C 802400FC 0C046F13 */ jal set_aux_pan_u +/* C96030 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C96034 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C96038 80240108 0C046F19 */ jal set_aux_pan_v +/* C9603C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C96040 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C96044 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C96048 80240118 0000102D */ daddu $v0, $zero, $zero +/* C9604C 8024011C 03E00008 */ jr $ra +/* C96050 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240124_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240124_C95F30.s new file mode 100644 index 0000000000..1606244805 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240124_C95F30.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C96054 +/* C96054 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C96058 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C9605C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C96060 80240130 10A00005 */ beqz $a1, .L80240148 +/* C96064 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C96068 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C9606C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C96070 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C96074 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C96078 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C9607C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C96080 80240150 00000000 */ nop +/* C96084 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C96088 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C9608C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C96090 80240160 04610004 */ bgez $v1, .L80240174 +/* C96094 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C96098 80240168 3C020002 */ lui $v0, 2 +/* C9609C 8024016C 08090061 */ j .L80240184 +/* C960A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C960A4 80240174 3C040002 */ lui $a0, 2 +/* C960A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* C960AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* C960B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C960B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C960B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C960BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C960C0 80240190 00000000 */ nop +/* C960C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C960C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C960CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C960D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C960D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C960D8 802401A8 3C020002 */ lui $v0, 2 +/* C960DC 802401AC 08090071 */ j .L802401C4 +/* C960E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C960E4 802401B4 3C040002 */ lui $a0, 2 +/* C960E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C960EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C960F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C960F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C960F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C960FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C96100 802401D0 00000000 */ nop +/* C96104 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C96108 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C9610C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C96110 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C96114 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C96118 802401E8 3C020002 */ lui $v0, 2 +/* C9611C 802401EC 08090081 */ j .L80240204 +/* C96120 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C96124 802401F4 3C040002 */ lui $a0, 2 +/* C96128 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C9612C 802401FC 10400002 */ beqz $v0, .L80240208 +/* C96130 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C96134 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C96138 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C9613C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C96140 80240210 00000000 */ nop +/* C96144 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C96148 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C9614C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C96150 80240220 04610004 */ bgez $v1, .L80240234 +/* C96154 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C96158 80240228 3C020002 */ lui $v0, 2 +/* C9615C 8024022C 08090091 */ j .L80240244 +/* C96160 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C96164 80240234 3C040002 */ lui $a0, 2 +/* C96168 80240238 0083102A */ slt $v0, $a0, $v1 +/* C9616C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C96170 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C96174 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C96178 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C9617C 8024024C 0C046F07 */ jal set_main_pan_u +/* C96180 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C96184 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C96188 80240258 0C046F0D */ jal set_main_pan_v +/* C9618C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C96190 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C96194 80240264 0C046F13 */ jal set_aux_pan_u +/* C96198 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C9619C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C961A0 80240270 0C046F19 */ jal set_aux_pan_v +/* C961A4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C961A8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C961AC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C961B0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C961B4 80240284 24420001 */ addiu $v0, $v0, 1 +/* C961B8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C961BC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C961C0 80240290 24630001 */ addiu $v1, $v1, 1 +/* C961C4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C961C8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C961CC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C961D0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C961D4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C961D8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C961DC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C961E0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C961E4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C961E8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C961EC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C961F0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C961F4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C961F8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C961FC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C96200 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C96204 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C96208 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C9620C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C96210 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C96214 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C96218 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C9621C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C96220 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C96224 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C96228 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C9622C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C96230 80240300 0000102D */ daddu $v0, $zero, $zero +/* C96234 80240304 03E00008 */ jr $ra +/* C96238 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C9623C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240310_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240310_C95F30.s new file mode 100644 index 0000000000..78db0247bf --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240310_C95F30.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C96240 +/* C96240 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C96244 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* C96248 80240318 3C108024 */ lui $s0, 0x8024 +/* C9624C 8024031C 26101780 */ addiu $s0, $s0, 0x1780 +/* C96250 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* C96254 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* C96258 80240328 8E020000 */ lw $v0, ($s0) +/* C9625C 8024032C 14400010 */ bnez $v0, .L80240370 +/* C96260 80240330 0080882D */ daddu $s1, $a0, $zero +/* C96264 80240334 0C00AB39 */ jal heap_malloc +/* C96268 80240338 24040040 */ addiu $a0, $zero, 0x40 +/* C9626C 8024033C AE020000 */ sw $v0, ($s0) +/* C96270 80240340 0000182D */ daddu $v1, $zero, $zero +/* C96274 80240344 0040282D */ daddu $a1, $v0, $zero +/* C96278 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* C9627C 8024034C 8C820084 */ lw $v0, 0x84($a0) +/* C96280 80240350 24840004 */ addiu $a0, $a0, 4 +/* C96284 80240354 24630001 */ addiu $v1, $v1, 1 +/* C96288 80240358 ACA20000 */ sw $v0, ($a1) +/* C9628C 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* C96290 80240360 1440FFFA */ bnez $v0, .L8024034C +/* C96294 80240364 24A50004 */ addiu $a1, $a1, 4 +/* C96298 80240368 080900EB */ j .L802403AC +/* C9629C 8024036C 00000000 */ nop +.L80240370: +/* C962A0 80240370 0000182D */ daddu $v1, $zero, $zero +/* C962A4 80240374 0040282D */ daddu $a1, $v0, $zero +/* C962A8 80240378 0220202D */ daddu $a0, $s1, $zero +.L8024037C: +/* C962AC 8024037C 8CA20000 */ lw $v0, ($a1) +/* C962B0 80240380 24A50004 */ addiu $a1, $a1, 4 +/* C962B4 80240384 24630001 */ addiu $v1, $v1, 1 +/* C962B8 80240388 AC820084 */ sw $v0, 0x84($a0) +/* C962BC 8024038C 28620010 */ slti $v0, $v1, 0x10 +/* C962C0 80240390 1440FFFA */ bnez $v0, .L8024037C +/* C962C4 80240394 24840004 */ addiu $a0, $a0, 4 +/* C962C8 80240398 3C108024 */ lui $s0, 0x8024 +/* C962CC 8024039C 26101780 */ addiu $s0, $s0, 0x1780 +/* C962D0 802403A0 0C00AB4B */ jal heap_free +/* C962D4 802403A4 8E040000 */ lw $a0, ($s0) +/* C962D8 802403A8 AE000000 */ sw $zero, ($s0) +.L802403AC: +/* C962DC 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* C962E0 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* C962E4 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* C962E8 802403B8 24020002 */ addiu $v0, $zero, 2 +/* C962EC 802403BC 03E00008 */ jr $ra +/* C962F0 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_802403C4_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_802403C4_C95F30.s new file mode 100644 index 0000000000..c83eba0f10 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_802403C4_C95F30.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_C962F4 +/* C962F4 802403C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C962F8 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* C962FC 802403CC 0080802D */ daddu $s0, $a0, $zero +/* C96300 802403D0 AFBF0018 */ sw $ra, 0x18($sp) +/* C96304 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* C96308 802403D8 8E02000C */ lw $v0, 0xc($s0) +/* C9630C 802403DC 8C510000 */ lw $s1, ($v0) +/* C96310 802403E0 0C0B1EAF */ jal get_variable +/* C96314 802403E4 0220282D */ daddu $a1, $s1, $zero +/* C96318 802403E8 3C03FFF0 */ lui $v1, 0xfff0 +/* C9631C 802403EC 3463FFFF */ ori $v1, $v1, 0xffff +/* C96320 802403F0 0200202D */ daddu $a0, $s0, $zero +/* C96324 802403F4 00431024 */ and $v0, $v0, $v1 +/* C96328 802403F8 00021140 */ sll $v0, $v0, 5 +/* C9632C 802403FC 3C068008 */ lui $a2, %hi(gItemTable) +/* C96330 80240400 00C23021 */ addu $a2, $a2, $v0 +/* C96334 80240404 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* C96338 80240408 0C0B2026 */ jal set_variable +/* C9633C 8024040C 0220282D */ daddu $a1, $s1, $zero +/* C96340 80240410 8FBF0018 */ lw $ra, 0x18($sp) +/* C96344 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* C96348 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* C9634C 8024041C 24020002 */ addiu $v0, $zero, 2 +/* C96350 80240420 03E00008 */ jr $ra +/* C96354 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240428_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240428_C95F30.s new file mode 100644 index 0000000000..7c9d60210b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240428_C95F30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_C96358 +/* C96358 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9635C 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* C96360 80240430 0080882D */ daddu $s1, $a0, $zero +/* C96364 80240434 AFBF0018 */ sw $ra, 0x18($sp) +/* C96368 80240438 AFB00010 */ sw $s0, 0x10($sp) +/* C9636C 8024043C 8E30000C */ lw $s0, 0xc($s1) +/* C96370 80240440 8E050000 */ lw $a1, ($s0) +/* C96374 80240444 0C0B1EAF */ jal get_variable +/* C96378 80240448 26100004 */ addiu $s0, $s0, 4 +/* C9637C 8024044C 0C00EAD2 */ jal get_npc_safe +/* C96380 80240450 0040202D */ daddu $a0, $v0, $zero +/* C96384 80240454 10400005 */ beqz $v0, .L8024046C +/* C96388 80240458 00000000 */ nop +/* C9638C 8024045C 8E050000 */ lw $a1, ($s0) +/* C96390 80240460 844600A8 */ lh $a2, 0xa8($v0) +/* C96394 80240464 0C0B2026 */ jal set_variable +/* C96398 80240468 0220202D */ daddu $a0, $s1, $zero +.L8024046C: +/* C9639C 8024046C 8FBF0018 */ lw $ra, 0x18($sp) +/* C963A0 80240470 8FB10014 */ lw $s1, 0x14($sp) +/* C963A4 80240474 8FB00010 */ lw $s0, 0x10($sp) +/* C963A8 80240478 24020002 */ addiu $v0, $zero, 2 +/* C963AC 8024047C 03E00008 */ jr $ra +/* C963B0 80240480 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240484_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240484_C95F30.s new file mode 100644 index 0000000000..afcbefaf3d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240484_C95F30.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240484_C963B4 +/* C963B4 80240484 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* C963B8 80240488 AFB10014 */ sw $s1, 0x14($sp) +/* C963BC 8024048C 0080882D */ daddu $s1, $a0, $zero +/* C963C0 80240490 AFBF0024 */ sw $ra, 0x24($sp) +/* C963C4 80240494 AFB40020 */ sw $s4, 0x20($sp) +/* C963C8 80240498 AFB3001C */ sw $s3, 0x1c($sp) +/* C963CC 8024049C AFB20018 */ sw $s2, 0x18($sp) +/* C963D0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* C963D4 802404A4 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* C963D8 802404A8 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* C963DC 802404AC F7B80038 */ sdc1 $f24, 0x38($sp) +/* C963E0 802404B0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* C963E4 802404B4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* C963E8 802404B8 8E30000C */ lw $s0, 0xc($s1) +/* C963EC 802404BC 8E130000 */ lw $s3, ($s0) +/* C963F0 802404C0 26100004 */ addiu $s0, $s0, 4 +/* C963F4 802404C4 0C0B1EAF */ jal get_variable +/* C963F8 802404C8 0260282D */ daddu $a1, $s3, $zero +/* C963FC 802404CC 4482E000 */ mtc1 $v0, $f28 +/* C96400 802404D0 00000000 */ nop +/* C96404 802404D4 4680E720 */ cvt.s.w $f28, $f28 +/* C96408 802404D8 8E140000 */ lw $s4, ($s0) +/* C9640C 802404DC 26100004 */ addiu $s0, $s0, 4 +/* C96410 802404E0 0220202D */ daddu $a0, $s1, $zero +/* C96414 802404E4 0C0B1EAF */ jal get_variable +/* C96418 802404E8 0280282D */ daddu $a1, $s4, $zero +/* C9641C 802404EC 4482D000 */ mtc1 $v0, $f26 +/* C96420 802404F0 00000000 */ nop +/* C96424 802404F4 4680D6A0 */ cvt.s.w $f26, $f26 +/* C96428 802404F8 8E100000 */ lw $s0, ($s0) +/* C9642C 802404FC 0220202D */ daddu $a0, $s1, $zero +/* C96430 80240500 0C0B1EAF */ jal get_variable +/* C96434 80240504 0200282D */ daddu $a1, $s0, $zero +/* C96438 80240508 4482C000 */ mtc1 $v0, $f24 +/* C9643C 8024050C 00000000 */ nop +/* C96440 80240510 4680C620 */ cvt.s.w $f24, $f24 +/* C96444 80240514 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* C96448 80240518 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* C9644C 8024051C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* C96450 80240520 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* C96454 80240524 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* C96458 80240528 44800000 */ mtc1 $zero, $f0 +/* C9645C 8024052C 00031080 */ sll $v0, $v1, 2 +/* C96460 80240530 00431021 */ addu $v0, $v0, $v1 +/* C96464 80240534 00021080 */ sll $v0, $v0, 2 +/* C96468 80240538 00431023 */ subu $v0, $v0, $v1 +/* C9646C 8024053C 000218C0 */ sll $v1, $v0, 3 +/* C96470 80240540 00431021 */ addu $v0, $v0, $v1 +/* C96474 80240544 000210C0 */ sll $v0, $v0, 3 +/* C96478 80240548 46001032 */ c.eq.s $f2, $f0 +/* C9647C 8024054C 3C01800B */ lui $at, 0x800b +/* C96480 80240550 00220821 */ addu $at, $at, $v0 +/* C96484 80240554 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* C96488 80240558 45000005 */ bc1f .L80240570 +/* C9648C 8024055C 00000000 */ nop +/* C96490 80240560 3C0142C8 */ lui $at, 0x42c8 +/* C96494 80240564 44810000 */ mtc1 $at, $f0 +/* C96498 80240568 08090160 */ j .L80240580 +/* C9649C 8024056C 4600B581 */ sub.s $f22, $f22, $f0 +.L80240570: +/* C964A0 80240570 3C0142C8 */ lui $at, 0x42c8 +/* C964A4 80240574 44810000 */ mtc1 $at, $f0 +/* C964A8 80240578 00000000 */ nop +/* C964AC 8024057C 4600B580 */ add.s $f22, $f22, $f0 +.L80240580: +/* C964B0 80240580 0C00A6C9 */ jal clamp_angle +/* C964B4 80240584 4600B306 */ mov.s $f12, $f22 +/* C964B8 80240588 46000586 */ mov.s $f22, $f0 +/* C964BC 8024058C 3C014170 */ lui $at, 0x4170 +/* C964C0 80240590 4481A000 */ mtc1 $at, $f20 +/* C964C4 80240594 0C00A8BB */ jal sin_deg +/* C964C8 80240598 4600B306 */ mov.s $f12, $f22 +/* C964CC 8024059C 46140002 */ mul.s $f0, $f0, $f20 +/* C964D0 802405A0 00000000 */ nop +/* C964D4 802405A4 864200B0 */ lh $v0, 0xb0($s2) +/* C964D8 802405A8 3C013F00 */ lui $at, 0x3f00 +/* C964DC 802405AC 44812000 */ mtc1 $at, $f4 +/* C964E0 802405B0 44821000 */ mtc1 $v0, $f2 +/* C964E4 802405B4 00000000 */ nop +/* C964E8 802405B8 468010A0 */ cvt.s.w $f2, $f2 +/* C964EC 802405BC 46041082 */ mul.s $f2, $f2, $f4 +/* C964F0 802405C0 00000000 */ nop +/* C964F4 802405C4 4600E700 */ add.s $f28, $f28, $f0 +/* C964F8 802405C8 4602D680 */ add.s $f26, $f26, $f2 +/* C964FC 802405CC 0C00A8D4 */ jal cos_deg +/* C96500 802405D0 4600B306 */ mov.s $f12, $f22 +/* C96504 802405D4 46140002 */ mul.s $f0, $f0, $f20 +/* C96508 802405D8 00000000 */ nop +/* C9650C 802405DC 0220202D */ daddu $a0, $s1, $zero +/* C96510 802405E0 0260282D */ daddu $a1, $s3, $zero +/* C96514 802405E4 4600E18D */ trunc.w.s $f6, $f28 +/* C96518 802405E8 44063000 */ mfc1 $a2, $f6 +/* C9651C 802405EC 0C0B2026 */ jal set_variable +/* C96520 802405F0 4600C601 */ sub.s $f24, $f24, $f0 +/* C96524 802405F4 0220202D */ daddu $a0, $s1, $zero +/* C96528 802405F8 4600D18D */ trunc.w.s $f6, $f26 +/* C9652C 802405FC 44063000 */ mfc1 $a2, $f6 +/* C96530 80240600 0C0B2026 */ jal set_variable +/* C96534 80240604 0280282D */ daddu $a1, $s4, $zero +/* C96538 80240608 0220202D */ daddu $a0, $s1, $zero +/* C9653C 8024060C 4600C18D */ trunc.w.s $f6, $f24 +/* C96540 80240610 44063000 */ mfc1 $a2, $f6 +/* C96544 80240614 0C0B2026 */ jal set_variable +/* C96548 80240618 0200282D */ daddu $a1, $s0, $zero +/* C9654C 8024061C 8FBF0024 */ lw $ra, 0x24($sp) +/* C96550 80240620 8FB40020 */ lw $s4, 0x20($sp) +/* C96554 80240624 8FB3001C */ lw $s3, 0x1c($sp) +/* C96558 80240628 8FB20018 */ lw $s2, 0x18($sp) +/* C9655C 8024062C 8FB10014 */ lw $s1, 0x14($sp) +/* C96560 80240630 8FB00010 */ lw $s0, 0x10($sp) +/* C96564 80240634 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* C96568 80240638 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* C9656C 8024063C D7B80038 */ ldc1 $f24, 0x38($sp) +/* C96570 80240640 D7B60030 */ ldc1 $f22, 0x30($sp) +/* C96574 80240644 D7B40028 */ ldc1 $f20, 0x28($sp) +/* C96578 80240648 24020002 */ addiu $v0, $zero, 2 +/* C9657C 8024064C 03E00008 */ jr $ra +/* C96580 80240650 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240654_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240654_C95F30.s new file mode 100644 index 0000000000..8ad88f00e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240654_C95F30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240654_C96584 +/* C96584 80240654 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C96588 80240658 AFBF0010 */ sw $ra, 0x10($sp) +/* C9658C 8024065C 10A00003 */ beqz $a1, .L8024066C +/* C96590 80240660 8C86000C */ lw $a2, 0xc($a0) +/* C96594 80240664 3C018024 */ lui $at, 0x8024 +/* C96598 80240668 AC2017E4 */ sw $zero, 0x17e4($at) +.L8024066C: +/* C9659C 8024066C 3C038024 */ lui $v1, 0x8024 +/* C965A0 80240670 246317E4 */ addiu $v1, $v1, 0x17e4 +/* C965A4 80240674 8C620000 */ lw $v0, ($v1) +/* C965A8 80240678 54400003 */ bnel $v0, $zero, .L80240688 +/* C965AC 8024067C AC600000 */ sw $zero, ($v1) +/* C965B0 80240680 080901A7 */ j .L8024069C +/* C965B4 80240684 0000102D */ daddu $v0, $zero, $zero +.L80240688: +/* C965B8 80240688 8CC50000 */ lw $a1, ($a2) +/* C965BC 8024068C 3C068024 */ lui $a2, 0x8024 +/* C965C0 80240690 0C0B2026 */ jal set_variable +/* C965C4 80240694 8CC617E8 */ lw $a2, 0x17e8($a2) +/* C965C8 80240698 24020002 */ addiu $v0, $zero, 2 +.L8024069C: +/* C965CC 8024069C 8FBF0010 */ lw $ra, 0x10($sp) +/* C965D0 802406A0 03E00008 */ jr $ra +/* C965D4 802406A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_802406A8_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_802406A8_C95F30.s new file mode 100644 index 0000000000..71313df522 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_802406A8_C95F30.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A8_C965D8 +/* C965D8 802406A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C965DC 802406AC AFBF0010 */ sw $ra, 0x10($sp) +/* C965E0 802406B0 8C82000C */ lw $v0, 0xc($a0) +/* C965E4 802406B4 0C0B1EAF */ jal get_variable +/* C965E8 802406B8 8C450000 */ lw $a1, ($v0) +/* C965EC 802406BC 3C018024 */ lui $at, 0x8024 +/* C965F0 802406C0 AC2217E8 */ sw $v0, 0x17e8($at) +/* C965F4 802406C4 24020002 */ addiu $v0, $zero, 2 +/* C965F8 802406C8 8FBF0010 */ lw $ra, 0x10($sp) +/* C965FC 802406CC 24030001 */ addiu $v1, $zero, 1 +/* C96600 802406D0 3C018024 */ lui $at, 0x8024 +/* C96604 802406D4 AC2317E4 */ sw $v1, 0x17e4($at) +/* C96608 802406D8 03E00008 */ jr $ra +/* C9660C 802406DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_802406E0_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_802406E0_C95F30.s new file mode 100644 index 0000000000..81e80d8a0f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_802406E0_C95F30.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_C96610 +/* C96610 802406E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C96614 802406E4 AFBF0010 */ sw $ra, 0x10($sp) +/* C96618 802406E8 8C82000C */ lw $v0, 0xc($a0) +/* C9661C 802406EC 0C0B1EAF */ jal get_variable +/* C96620 802406F0 8C450000 */ lw $a1, ($v0) +/* C96624 802406F4 0040182D */ daddu $v1, $v0, $zero +/* C96628 802406F8 10600012 */ beqz $v1, .L80240744 +/* C9662C 802406FC 0000202D */ daddu $a0, $zero, $zero +/* C96630 80240700 8C620000 */ lw $v0, ($v1) +/* C96634 80240704 5040000A */ beql $v0, $zero, .L80240730 +/* C96638 80240708 00041080 */ sll $v0, $a0, 2 +/* C9663C 8024070C 3C058024 */ lui $a1, 0x8024 +/* C96640 80240710 24A542D0 */ addiu $a1, $a1, 0x42d0 +.L80240714: +/* C96644 80240714 24630004 */ addiu $v1, $v1, 4 +/* C96648 80240718 24840001 */ addiu $a0, $a0, 1 +/* C9664C 8024071C ACA20000 */ sw $v0, ($a1) +/* C96650 80240720 8C620000 */ lw $v0, ($v1) +/* C96654 80240724 1440FFFB */ bnez $v0, .L80240714 +/* C96658 80240728 24A50004 */ addiu $a1, $a1, 4 +/* C9665C 8024072C 00041080 */ sll $v0, $a0, 2 +.L80240730: +/* C96660 80240730 3C018024 */ lui $at, 0x8024 +/* C96664 80240734 00220821 */ addu $at, $at, $v0 +/* C96668 80240738 AC2042D0 */ sw $zero, 0x42d0($at) +/* C9666C 8024073C 080901DB */ j .L8024076C +/* C96670 80240740 00000000 */ nop +.L80240744: +/* C96674 80240744 3C038024 */ lui $v1, 0x8024 +/* C96678 80240748 246342D0 */ addiu $v1, $v1, 0x42d0 +/* C9667C 8024074C 0060282D */ daddu $a1, $v1, $zero +.L80240750: +/* C96680 80240750 24820010 */ addiu $v0, $a0, 0x10 +/* C96684 80240754 AC620000 */ sw $v0, ($v1) +/* C96688 80240758 24630004 */ addiu $v1, $v1, 4 +/* C9668C 8024075C 24840001 */ addiu $a0, $a0, 1 +/* C96690 80240760 28820070 */ slti $v0, $a0, 0x70 +/* C96694 80240764 1440FFFA */ bnez $v0, .L80240750 +/* C96698 80240768 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024076C: +/* C9669C 8024076C 8FBF0010 */ lw $ra, 0x10($sp) +/* C966A0 80240770 24020002 */ addiu $v0, $zero, 2 +/* C966A4 80240774 03E00008 */ jr $ra +/* C966A8 80240778 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_8024077C_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_8024077C_C95F30.s new file mode 100644 index 0000000000..84f90ea99a --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_8024077C_C95F30.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024077C_C966AC +/* C966AC 8024077C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C966B0 80240780 AFB10014 */ sw $s1, 0x14($sp) +/* C966B4 80240784 0080882D */ daddu $s1, $a0, $zero +/* C966B8 80240788 AFBF0018 */ sw $ra, 0x18($sp) +/* C966BC 8024078C AFB00010 */ sw $s0, 0x10($sp) +/* C966C0 80240790 8E30000C */ lw $s0, 0xc($s1) +/* C966C4 80240794 8E050000 */ lw $a1, ($s0) +/* C966C8 80240798 0C0B1EAF */ jal get_variable +/* C966CC 8024079C 26100004 */ addiu $s0, $s0, 4 +/* C966D0 802407A0 AE22008C */ sw $v0, 0x8c($s1) +/* C966D4 802407A4 8E050000 */ lw $a1, ($s0) +/* C966D8 802407A8 26100004 */ addiu $s0, $s0, 4 +/* C966DC 802407AC 0C0B1EAF */ jal get_variable +/* C966E0 802407B0 0220202D */ daddu $a0, $s1, $zero +/* C966E4 802407B4 AE220090 */ sw $v0, 0x90($s1) +/* C966E8 802407B8 8E050000 */ lw $a1, ($s0) +/* C966EC 802407BC 26100004 */ addiu $s0, $s0, 4 +/* C966F0 802407C0 0C0B1EAF */ jal get_variable +/* C966F4 802407C4 0220202D */ daddu $a0, $s1, $zero +/* C966F8 802407C8 AE220094 */ sw $v0, 0x94($s1) +/* C966FC 802407CC 8E050000 */ lw $a1, ($s0) +/* C96700 802407D0 26100004 */ addiu $s0, $s0, 4 +/* C96704 802407D4 0C0B1EAF */ jal get_variable +/* C96708 802407D8 0220202D */ daddu $a0, $s1, $zero +/* C9670C 802407DC AE220098 */ sw $v0, 0x98($s1) +/* C96710 802407E0 8E050000 */ lw $a1, ($s0) +/* C96714 802407E4 26100004 */ addiu $s0, $s0, 4 +/* C96718 802407E8 0C0B1EAF */ jal get_variable +/* C9671C 802407EC 0220202D */ daddu $a0, $s1, $zero +/* C96720 802407F0 AE22009C */ sw $v0, 0x9c($s1) +/* C96724 802407F4 8E050000 */ lw $a1, ($s0) +/* C96728 802407F8 26100004 */ addiu $s0, $s0, 4 +/* C9672C 802407FC 0C0B1EAF */ jal get_variable +/* C96730 80240800 0220202D */ daddu $a0, $s1, $zero +/* C96734 80240804 AE2200A0 */ sw $v0, 0xa0($s1) +/* C96738 80240808 8E050000 */ lw $a1, ($s0) +/* C9673C 8024080C 26100004 */ addiu $s0, $s0, 4 +/* C96740 80240810 0C0B1EAF */ jal get_variable +/* C96744 80240814 0220202D */ daddu $a0, $s1, $zero +/* C96748 80240818 AE2200A4 */ sw $v0, 0xa4($s1) +/* C9674C 8024081C 8E050000 */ lw $a1, ($s0) +/* C96750 80240820 26100004 */ addiu $s0, $s0, 4 +/* C96754 80240824 0C0B1EAF */ jal get_variable +/* C96758 80240828 0220202D */ daddu $a0, $s1, $zero +/* C9675C 8024082C AE2200A8 */ sw $v0, 0xa8($s1) +/* C96760 80240830 8E050000 */ lw $a1, ($s0) +/* C96764 80240834 26100004 */ addiu $s0, $s0, 4 +/* C96768 80240838 0C0B1EAF */ jal get_variable +/* C9676C 8024083C 0220202D */ daddu $a0, $s1, $zero +/* C96770 80240840 AE2200AC */ sw $v0, 0xac($s1) +/* C96774 80240844 8E050000 */ lw $a1, ($s0) +/* C96778 80240848 0C0B1EAF */ jal get_variable +/* C9677C 8024084C 0220202D */ daddu $a0, $s1, $zero +/* C96780 80240850 AE2200B0 */ sw $v0, 0xb0($s1) +/* C96784 80240854 8FBF0018 */ lw $ra, 0x18($sp) +/* C96788 80240858 8FB10014 */ lw $s1, 0x14($sp) +/* C9678C 8024085C 8FB00010 */ lw $s0, 0x10($sp) +/* C96790 80240860 24020002 */ addiu $v0, $zero, 2 +/* C96794 80240864 03E00008 */ jr $ra +/* C96798 80240868 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_8024086C_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_8024086C_C95F30.s new file mode 100644 index 0000000000..dec2ac5fe2 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_8024086C_C95F30.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C_C9679C +/* C9679C 8024086C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* C967A0 80240870 AFB1001C */ sw $s1, 0x1c($sp) +/* C967A4 80240874 0080882D */ daddu $s1, $a0, $zero +/* C967A8 80240878 AFBF0034 */ sw $ra, 0x34($sp) +/* C967AC 8024087C AFB60030 */ sw $s6, 0x30($sp) +/* C967B0 80240880 AFB5002C */ sw $s5, 0x2c($sp) +/* C967B4 80240884 AFB40028 */ sw $s4, 0x28($sp) +/* C967B8 80240888 AFB30024 */ sw $s3, 0x24($sp) +/* C967BC 8024088C AFB20020 */ sw $s2, 0x20($sp) +/* C967C0 80240890 AFB00018 */ sw $s0, 0x18($sp) +/* C967C4 80240894 F7B60040 */ sdc1 $f22, 0x40($sp) +/* C967C8 80240898 F7B40038 */ sdc1 $f20, 0x38($sp) +/* C967CC 8024089C 8E30000C */ lw $s0, 0xc($s1) +/* C967D0 802408A0 8E160000 */ lw $s6, ($s0) +/* C967D4 802408A4 26100004 */ addiu $s0, $s0, 4 +/* C967D8 802408A8 0C0B1EAF */ jal get_variable +/* C967DC 802408AC 02C0282D */ daddu $a1, $s6, $zero +/* C967E0 802408B0 44820000 */ mtc1 $v0, $f0 +/* C967E4 802408B4 00000000 */ nop +/* C967E8 802408B8 46800020 */ cvt.s.w $f0, $f0 +/* C967EC 802408BC E7A00010 */ swc1 $f0, 0x10($sp) +/* C967F0 802408C0 8E140000 */ lw $s4, ($s0) +/* C967F4 802408C4 26100004 */ addiu $s0, $s0, 4 +/* C967F8 802408C8 0220202D */ daddu $a0, $s1, $zero +/* C967FC 802408CC 0C0B1EAF */ jal get_variable +/* C96800 802408D0 0280282D */ daddu $a1, $s4, $zero +/* C96804 802408D4 0220202D */ daddu $a0, $s1, $zero +/* C96808 802408D8 8E150000 */ lw $s5, ($s0) +/* C9680C 802408DC 4482B000 */ mtc1 $v0, $f22 +/* C96810 802408E0 00000000 */ nop +/* C96814 802408E4 4680B5A0 */ cvt.s.w $f22, $f22 +/* C96818 802408E8 0C0B1EAF */ jal get_variable +/* C9681C 802408EC 02A0282D */ daddu $a1, $s5, $zero +/* C96820 802408F0 2404FFFC */ addiu $a0, $zero, -4 +/* C96824 802408F4 44820000 */ mtc1 $v0, $f0 +/* C96828 802408F8 00000000 */ nop +/* C9682C 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* C96830 80240900 0C00EABB */ jal get_npc_unsafe +/* C96834 80240904 E7A00014 */ swc1 $f0, 0x14($sp) +/* C96838 80240908 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* C9683C 8024090C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* C96840 80240910 3C014334 */ lui $at, 0x4334 +/* C96844 80240914 44816000 */ mtc1 $at, $f12 +/* C96848 80240918 00041880 */ sll $v1, $a0, 2 +/* C9684C 8024091C 00641821 */ addu $v1, $v1, $a0 +/* C96850 80240920 00031880 */ sll $v1, $v1, 2 +/* C96854 80240924 00641823 */ subu $v1, $v1, $a0 +/* C96858 80240928 000320C0 */ sll $a0, $v1, 3 +/* C9685C 8024092C 00641821 */ addu $v1, $v1, $a0 +/* C96860 80240930 000318C0 */ sll $v1, $v1, 3 +/* C96864 80240934 3C01800B */ lui $at, 0x800b +/* C96868 80240938 00230821 */ addu $at, $at, $v1 +/* C9686C 8024093C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* C96870 80240940 460C0300 */ add.s $f12, $f0, $f12 +/* C96874 80240944 0C00A6C9 */ jal clamp_angle +/* C96878 80240948 0040982D */ daddu $s3, $v0, $zero +/* C9687C 8024094C 27B00010 */ addiu $s0, $sp, 0x10 +/* C96880 80240950 0200202D */ daddu $a0, $s0, $zero +/* C96884 80240954 27B20014 */ addiu $s2, $sp, 0x14 +/* C96888 80240958 0240282D */ daddu $a1, $s2, $zero +/* C9688C 8024095C 3C064170 */ lui $a2, 0x4170 +/* C96890 80240960 8E67000C */ lw $a3, 0xc($s3) +/* C96894 80240964 0C00A7E7 */ jal add_vec2D_polar +/* C96898 80240968 46000506 */ mov.s $f20, $f0 +/* C9689C 8024096C 0200202D */ daddu $a0, $s0, $zero +/* C968A0 80240970 3C064120 */ lui $a2, 0x4120 +/* C968A4 80240974 4407A000 */ mfc1 $a3, $f20 +/* C968A8 80240978 0C00A7E7 */ jal add_vec2D_polar +/* C968AC 8024097C 0240282D */ daddu $a1, $s2, $zero +/* C968B0 80240980 0220202D */ daddu $a0, $s1, $zero +/* C968B4 80240984 C7A00010 */ lwc1 $f0, 0x10($sp) +/* C968B8 80240988 4600008D */ trunc.w.s $f2, $f0 +/* C968BC 8024098C 44061000 */ mfc1 $a2, $f2 +/* C968C0 80240990 0C0B2026 */ jal set_variable +/* C968C4 80240994 02C0282D */ daddu $a1, $s6, $zero +/* C968C8 80240998 0220202D */ daddu $a0, $s1, $zero +/* C968CC 8024099C 4600B08D */ trunc.w.s $f2, $f22 +/* C968D0 802409A0 44061000 */ mfc1 $a2, $f2 +/* C968D4 802409A4 0C0B2026 */ jal set_variable +/* C968D8 802409A8 0280282D */ daddu $a1, $s4, $zero +/* C968DC 802409AC 0220202D */ daddu $a0, $s1, $zero +/* C968E0 802409B0 C7A00014 */ lwc1 $f0, 0x14($sp) +/* C968E4 802409B4 4600008D */ trunc.w.s $f2, $f0 +/* C968E8 802409B8 44061000 */ mfc1 $a2, $f2 +/* C968EC 802409BC 0C0B2026 */ jal set_variable +/* C968F0 802409C0 02A0282D */ daddu $a1, $s5, $zero +/* C968F4 802409C4 8FBF0034 */ lw $ra, 0x34($sp) +/* C968F8 802409C8 8FB60030 */ lw $s6, 0x30($sp) +/* C968FC 802409CC 8FB5002C */ lw $s5, 0x2c($sp) +/* C96900 802409D0 8FB40028 */ lw $s4, 0x28($sp) +/* C96904 802409D4 8FB30024 */ lw $s3, 0x24($sp) +/* C96908 802409D8 8FB20020 */ lw $s2, 0x20($sp) +/* C9690C 802409DC 8FB1001C */ lw $s1, 0x1c($sp) +/* C96910 802409E0 8FB00018 */ lw $s0, 0x18($sp) +/* C96914 802409E4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* C96918 802409E8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* C9691C 802409EC 24020002 */ addiu $v0, $zero, 2 +/* C96920 802409F0 03E00008 */ jr $ra +/* C96924 802409F4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_802409F8_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_802409F8_C95F30.s new file mode 100644 index 0000000000..12f5e78621 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_802409F8_C95F30.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F8_C96928 +/* C96928 802409F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9692C 802409FC AFB00010 */ sw $s0, 0x10($sp) +/* C96930 80240A00 0080802D */ daddu $s0, $a0, $zero +/* C96934 80240A04 AFBF0014 */ sw $ra, 0x14($sp) +/* C96938 80240A08 0C00EABB */ jal get_npc_unsafe +/* C9693C 80240A0C 8E04008C */ lw $a0, 0x8c($s0) +/* C96940 80240A10 0040282D */ daddu $a1, $v0, $zero +/* C96944 80240A14 8E040094 */ lw $a0, 0x94($s0) +/* C96948 80240A18 8CA30028 */ lw $v1, 0x28($a1) +/* C9694C 80240A1C ACA40028 */ sw $a0, 0x28($a1) +/* C96950 80240A20 8FBF0014 */ lw $ra, 0x14($sp) +/* C96954 80240A24 8FB00010 */ lw $s0, 0x10($sp) +/* C96958 80240A28 24020002 */ addiu $v0, $zero, 2 +/* C9695C 80240A2C 3C018024 */ lui $at, 0x8024 +/* C96960 80240A30 AC234494 */ sw $v1, 0x4494($at) +/* C96964 80240A34 03E00008 */ jr $ra +/* C96968 80240A38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A3C_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A3C_C95F30.s new file mode 100644 index 0000000000..49c7f10d66 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A3C_C95F30.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A3C_C9696C +/* C9696C 80240A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C96970 80240A40 AFBF0010 */ sw $ra, 0x10($sp) +/* C96974 80240A44 0C00EABB */ jal get_npc_unsafe +/* C96978 80240A48 8C84008C */ lw $a0, 0x8c($a0) +/* C9697C 80240A4C 3C038024 */ lui $v1, 0x8024 +/* C96980 80240A50 8C634494 */ lw $v1, 0x4494($v1) +/* C96984 80240A54 AC430028 */ sw $v1, 0x28($v0) +/* C96988 80240A58 8FBF0010 */ lw $ra, 0x10($sp) +/* C9698C 80240A5C 24020002 */ addiu $v0, $zero, 2 +/* C96990 80240A60 03E00008 */ jr $ra +/* C96994 80240A64 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A68_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A68_C95F30.s new file mode 100644 index 0000000000..f125c1c398 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A68_C95F30.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A68_C96998 +/* C96998 80240A68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9699C 80240A6C 0000202D */ daddu $a0, $zero, $zero +/* C969A0 80240A70 AFBF0010 */ sw $ra, 0x10($sp) +/* C969A4 80240A74 0C015586 */ jal func_80055618 +/* C969A8 80240A78 24050001 */ addiu $a1, $zero, 1 +/* C969AC 80240A7C 8FBF0010 */ lw $ra, 0x10($sp) +/* C969B0 80240A80 24020002 */ addiu $v0, $zero, 2 +/* C969B4 80240A84 03E00008 */ jr $ra +/* C969B8 80240A88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A8C_C95F30.s b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A8C_C95F30.s new file mode 100644 index 0000000000..af76b8e4fd --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_20/func_80240A8C_C95F30.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A8C_C969BC +/* C969BC 80240A8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C969C0 80240A90 AFBF0010 */ sw $ra, 0x10($sp) +/* C969C4 80240A94 8C82000C */ lw $v0, 0xc($a0) +/* C969C8 80240A98 3C068016 */ lui $a2, 0x8016 +/* C969CC 80240A9C 84C6A552 */ lh $a2, -0x5aae($a2) +/* C969D0 80240AA0 0C0B2026 */ jal set_variable +/* C969D4 80240AA4 8C450000 */ lw $a1, ($v0) +/* C969D8 80240AA8 8FBF0010 */ lw $ra, 0x10($sp) +/* C969DC 80240AAC 24020002 */ addiu $v0, $zero, 2 +/* C969E0 80240AB0 03E00008 */ jr $ra +/* C969E4 80240AB4 27BD0018 */ addiu $sp, $sp, 0x18 +/* C969E8 80240AB8 00000000 */ nop +/* C969EC 80240ABC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_22/func_80240000_C9A200.s b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240000_C9A200.s new file mode 100644 index 0000000000..70554763dc --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240000_C9A200.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C9A200 +/* C9A200 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9A204 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C9A208 80240008 0080802D */ daddu $s0, $a0, $zero +/* C9A20C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C9A210 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C9A214 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C9A218 80240018 00621821 */ addu $v1, $v1, $v0 +/* C9A21C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C9A220 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C9A224 80240024 3C020002 */ lui $v0, 2 +/* C9A228 80240028 08090010 */ j .L80240040 +/* C9A22C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C9A230 80240030 3C040002 */ lui $a0, 2 +/* C9A234 80240034 0083102A */ slt $v0, $a0, $v1 +/* C9A238 80240038 10400002 */ beqz $v0, .L80240044 +/* C9A23C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C9A240 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C9A244 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C9A248 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C9A24C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C9A250 80240050 04610004 */ bgez $v1, .L80240064 +/* C9A254 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C9A258 80240058 3C020002 */ lui $v0, 2 +/* C9A25C 8024005C 0809001D */ j .L80240074 +/* C9A260 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C9A264 80240064 3C040002 */ lui $a0, 2 +/* C9A268 80240068 0083102A */ slt $v0, $a0, $v1 +/* C9A26C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C9A270 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C9A274 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C9A278 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C9A27C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C9A280 80240080 00621821 */ addu $v1, $v1, $v0 +/* C9A284 80240084 04610004 */ bgez $v1, .L80240098 +/* C9A288 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C9A28C 8024008C 3C020002 */ lui $v0, 2 +/* C9A290 80240090 0809002A */ j .L802400A8 +/* C9A294 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C9A298 80240098 3C040002 */ lui $a0, 2 +/* C9A29C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C9A2A0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C9A2A4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C9A2A8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C9A2AC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C9A2B0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C9A2B4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C9A2B8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C9A2BC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C9A2C0 802400C0 3C020002 */ lui $v0, 2 +/* C9A2C4 802400C4 08090037 */ j .L802400DC +/* C9A2C8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C9A2CC 802400CC 3C040002 */ lui $a0, 2 +/* C9A2D0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C9A2D4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C9A2D8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C9A2DC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C9A2E0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C9A2E4 802400E4 0C046F07 */ jal set_main_pan_u +/* C9A2E8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C9A2EC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C9A2F0 802400F0 0C046F0D */ jal set_main_pan_v +/* C9A2F4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C9A2F8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C9A2FC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C9A300 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C9A304 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C9A308 80240108 0C046F19 */ jal set_aux_pan_v +/* C9A30C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C9A310 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C9A314 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C9A318 80240118 0000102D */ daddu $v0, $zero, $zero +/* C9A31C 8024011C 03E00008 */ jr $ra +/* C9A320 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_22/func_80240124_C9A200.s b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240124_C9A200.s new file mode 100644 index 0000000000..768d492cff --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240124_C9A200.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C9A324 +/* C9A324 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9A328 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C9A32C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C9A330 80240130 10A00005 */ beqz $a1, .L80240148 +/* C9A334 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C9A338 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C9A33C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C9A340 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C9A344 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C9A348 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C9A34C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C9A350 80240150 00000000 */ nop +/* C9A354 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C9A358 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C9A35C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C9A360 80240160 04610004 */ bgez $v1, .L80240174 +/* C9A364 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C9A368 80240168 3C020002 */ lui $v0, 2 +/* C9A36C 8024016C 08090061 */ j .L80240184 +/* C9A370 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C9A374 80240174 3C040002 */ lui $a0, 2 +/* C9A378 80240178 0083102A */ slt $v0, $a0, $v1 +/* C9A37C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C9A380 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C9A384 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C9A388 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C9A38C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C9A390 80240190 00000000 */ nop +/* C9A394 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C9A398 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C9A39C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C9A3A0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C9A3A4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C9A3A8 802401A8 3C020002 */ lui $v0, 2 +/* C9A3AC 802401AC 08090071 */ j .L802401C4 +/* C9A3B0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C9A3B4 802401B4 3C040002 */ lui $a0, 2 +/* C9A3B8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C9A3BC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C9A3C0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C9A3C4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C9A3C8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C9A3CC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C9A3D0 802401D0 00000000 */ nop +/* C9A3D4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C9A3D8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C9A3DC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C9A3E0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C9A3E4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C9A3E8 802401E8 3C020002 */ lui $v0, 2 +/* C9A3EC 802401EC 08090081 */ j .L80240204 +/* C9A3F0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C9A3F4 802401F4 3C040002 */ lui $a0, 2 +/* C9A3F8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C9A3FC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C9A400 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C9A404 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C9A408 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C9A40C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C9A410 80240210 00000000 */ nop +/* C9A414 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C9A418 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C9A41C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C9A420 80240220 04610004 */ bgez $v1, .L80240234 +/* C9A424 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C9A428 80240228 3C020002 */ lui $v0, 2 +/* C9A42C 8024022C 08090091 */ j .L80240244 +/* C9A430 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C9A434 80240234 3C040002 */ lui $a0, 2 +/* C9A438 80240238 0083102A */ slt $v0, $a0, $v1 +/* C9A43C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C9A440 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C9A444 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C9A448 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C9A44C 8024024C 0C046F07 */ jal set_main_pan_u +/* C9A450 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C9A454 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C9A458 80240258 0C046F0D */ jal set_main_pan_v +/* C9A45C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C9A460 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C9A464 80240264 0C046F13 */ jal set_aux_pan_u +/* C9A468 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C9A46C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C9A470 80240270 0C046F19 */ jal set_aux_pan_v +/* C9A474 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C9A478 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C9A47C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C9A480 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C9A484 80240284 24420001 */ addiu $v0, $v0, 1 +/* C9A488 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C9A48C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C9A490 80240290 24630001 */ addiu $v1, $v1, 1 +/* C9A494 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C9A498 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C9A49C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C9A4A0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C9A4A4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C9A4A8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C9A4AC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C9A4B0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C9A4B4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C9A4B8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C9A4BC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C9A4C0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C9A4C4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C9A4C8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C9A4CC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C9A4D0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C9A4D4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C9A4D8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C9A4DC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C9A4E0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C9A4E4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C9A4E8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C9A4EC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C9A4F0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C9A4F4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C9A4F8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C9A4FC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C9A500 80240300 0000102D */ daddu $v0, $zero, $zero +/* C9A504 80240304 03E00008 */ jr $ra +/* C9A508 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_22/func_8024030C_C9A200.s b/asm/nonmatchings/world/area_kzn/kzn_22/func_8024030C_C9A200.s new file mode 100644 index 0000000000..8ce4e1fd6d --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_22/func_8024030C_C9A200.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_C9A50C +/* C9A50C 8024030C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9A510 80240310 AFBF0010 */ sw $ra, 0x10($sp) +/* C9A514 80240314 8C82000C */ lw $v0, 0xc($a0) +/* C9A518 80240318 3C068016 */ lui $a2, 0x8016 +/* C9A51C 8024031C 84C6A552 */ lh $a2, -0x5aae($a2) +/* C9A520 80240320 0C0B2026 */ jal set_variable +/* C9A524 80240324 8C450000 */ lw $a1, ($v0) +/* C9A528 80240328 8FBF0010 */ lw $ra, 0x10($sp) +/* C9A52C 8024032C 24020002 */ addiu $v0, $zero, 2 +/* C9A530 80240330 03E00008 */ jr $ra +/* C9A534 80240334 27BD0018 */ addiu $sp, $sp, 0x18 +/* C9A538 80240338 00000000 */ nop +/* C9A53C 8024033C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_22/func_80240340_C9A200.s b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240340_C9A200.s new file mode 100644 index 0000000000..daec3900e7 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_22/func_80240340_C9A200.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_C9A540 +/* C9A540 80240340 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9A544 80240344 AFBF0010 */ sw $ra, 0x10($sp) +/* C9A548 80240348 8C82000C */ lw $v0, 0xc($a0) +/* C9A54C 8024034C 3C068016 */ lui $a2, 0x8016 +/* C9A550 80240350 84C6A552 */ lh $a2, -0x5aae($a2) +/* C9A554 80240354 0C0B2026 */ jal set_variable +/* C9A558 80240358 8C450000 */ lw $a1, ($v0) +/* C9A55C 8024035C 8FBF0010 */ lw $ra, 0x10($sp) +/* C9A560 80240360 24020002 */ addiu $v0, $zero, 2 +/* C9A564 80240364 03E00008 */ jr $ra +/* C9A568 80240368 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_22/func_8024036C_C9A200.s b/asm/nonmatchings/world/area_kzn/kzn_22/func_8024036C_C9A200.s new file mode 100644 index 0000000000..4df4300b5f --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_22/func_8024036C_C9A200.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_C9A56C +/* C9A56C 8024036C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9A570 80240370 0000202D */ daddu $a0, $zero, $zero +/* C9A574 80240374 AFBF0010 */ sw $ra, 0x10($sp) +/* C9A578 80240378 0C015586 */ jal func_80055618 +/* C9A57C 8024037C 24050001 */ addiu $a1, $zero, 1 +/* C9A580 80240380 8FBF0010 */ lw $ra, 0x10($sp) +/* C9A584 80240384 24020002 */ addiu $v0, $zero, 2 +/* C9A588 80240388 03E00008 */ jr $ra +/* C9A58C 8024038C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240000_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240000_C9C300.s new file mode 100644 index 0000000000..c17d099432 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240000_C9C300.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_C9C300 +/* C9C300 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9C304 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* C9C308 80240008 0080802D */ daddu $s0, $a0, $zero +/* C9C30C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* C9C310 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* C9C314 80240014 8E020088 */ lw $v0, 0x88($s0) +/* C9C318 80240018 00621821 */ addu $v1, $v1, $v0 +/* C9C31C 8024001C 04610004 */ bgez $v1, .L80240030 +/* C9C320 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* C9C324 80240024 3C020002 */ lui $v0, 2 +/* C9C328 80240028 08090010 */ j .L80240040 +/* C9C32C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* C9C330 80240030 3C040002 */ lui $a0, 2 +/* C9C334 80240034 0083102A */ slt $v0, $a0, $v1 +/* C9C338 80240038 10400002 */ beqz $v0, .L80240044 +/* C9C33C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* C9C340 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* C9C344 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* C9C348 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* C9C34C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* C9C350 80240050 04610004 */ bgez $v1, .L80240064 +/* C9C354 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* C9C358 80240058 3C020002 */ lui $v0, 2 +/* C9C35C 8024005C 0809001D */ j .L80240074 +/* C9C360 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* C9C364 80240064 3C040002 */ lui $a0, 2 +/* C9C368 80240068 0083102A */ slt $v0, $a0, $v1 +/* C9C36C 8024006C 10400002 */ beqz $v0, .L80240078 +/* C9C370 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* C9C374 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* C9C378 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* C9C37C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* C9C380 80240080 00621821 */ addu $v1, $v1, $v0 +/* C9C384 80240084 04610004 */ bgez $v1, .L80240098 +/* C9C388 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* C9C38C 8024008C 3C020002 */ lui $v0, 2 +/* C9C390 80240090 0809002A */ j .L802400A8 +/* C9C394 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* C9C398 80240098 3C040002 */ lui $a0, 2 +/* C9C39C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* C9C3A0 802400A0 10400002 */ beqz $v0, .L802400AC +/* C9C3A4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* C9C3A8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* C9C3AC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* C9C3B0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* C9C3B4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* C9C3B8 802400B8 04610004 */ bgez $v1, .L802400CC +/* C9C3BC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* C9C3C0 802400C0 3C020002 */ lui $v0, 2 +/* C9C3C4 802400C4 08090037 */ j .L802400DC +/* C9C3C8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* C9C3CC 802400CC 3C040002 */ lui $a0, 2 +/* C9C3D0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* C9C3D4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* C9C3D8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* C9C3DC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* C9C3E0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* C9C3E4 802400E4 0C046F07 */ jal set_main_pan_u +/* C9C3E8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* C9C3EC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* C9C3F0 802400F0 0C046F0D */ jal set_main_pan_v +/* C9C3F4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* C9C3F8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* C9C3FC 802400FC 0C046F13 */ jal set_aux_pan_u +/* C9C400 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* C9C404 80240104 8E040084 */ lw $a0, 0x84($s0) +/* C9C408 80240108 0C046F19 */ jal set_aux_pan_v +/* C9C40C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* C9C410 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* C9C414 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* C9C418 80240118 0000102D */ daddu $v0, $zero, $zero +/* C9C41C 8024011C 03E00008 */ jr $ra +/* C9C420 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240124_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240124_C9C300.s new file mode 100644 index 0000000000..956ce672b9 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240124_C9C300.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_C9C424 +/* C9C424 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* C9C428 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* C9C42C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* C9C430 80240130 10A00005 */ beqz $a1, .L80240148 +/* C9C434 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* C9C438 80240138 AE000070 */ sw $zero, 0x70($s0) +/* C9C43C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* C9C440 80240140 AE000078 */ sw $zero, 0x78($s0) +/* C9C444 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* C9C448 80240148 8E020070 */ lw $v0, 0x70($s0) +/* C9C44C 8024014C 1440000E */ bnez $v0, .L80240188 +/* C9C450 80240150 00000000 */ nop +/* C9C454 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* C9C458 80240158 8E020088 */ lw $v0, 0x88($s0) +/* C9C45C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* C9C460 80240160 04610004 */ bgez $v1, .L80240174 +/* C9C464 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* C9C468 80240168 3C020002 */ lui $v0, 2 +/* C9C46C 8024016C 08090061 */ j .L80240184 +/* C9C470 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* C9C474 80240174 3C040002 */ lui $a0, 2 +/* C9C478 80240178 0083102A */ slt $v0, $a0, $v1 +/* C9C47C 8024017C 10400002 */ beqz $v0, .L80240188 +/* C9C480 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* C9C484 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* C9C488 80240188 8E020074 */ lw $v0, 0x74($s0) +/* C9C48C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* C9C490 80240190 00000000 */ nop +/* C9C494 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* C9C498 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* C9C49C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* C9C4A0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* C9C4A4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* C9C4A8 802401A8 3C020002 */ lui $v0, 2 +/* C9C4AC 802401AC 08090071 */ j .L802401C4 +/* C9C4B0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* C9C4B4 802401B4 3C040002 */ lui $a0, 2 +/* C9C4B8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* C9C4BC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* C9C4C0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* C9C4C4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* C9C4C8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* C9C4CC 802401CC 1440000E */ bnez $v0, .L80240208 +/* C9C4D0 802401D0 00000000 */ nop +/* C9C4D4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* C9C4D8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* C9C4DC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* C9C4E0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* C9C4E4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* C9C4E8 802401E8 3C020002 */ lui $v0, 2 +/* C9C4EC 802401EC 08090081 */ j .L80240204 +/* C9C4F0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* C9C4F4 802401F4 3C040002 */ lui $a0, 2 +/* C9C4F8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* C9C4FC 802401FC 10400002 */ beqz $v0, .L80240208 +/* C9C500 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* C9C504 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* C9C508 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* C9C50C 8024020C 1440000E */ bnez $v0, .L80240248 +/* C9C510 80240210 00000000 */ nop +/* C9C514 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* C9C518 80240218 8E020094 */ lw $v0, 0x94($s0) +/* C9C51C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* C9C520 80240220 04610004 */ bgez $v1, .L80240234 +/* C9C524 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* C9C528 80240228 3C020002 */ lui $v0, 2 +/* C9C52C 8024022C 08090091 */ j .L80240244 +/* C9C530 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* C9C534 80240234 3C040002 */ lui $a0, 2 +/* C9C538 80240238 0083102A */ slt $v0, $a0, $v1 +/* C9C53C 8024023C 10400002 */ beqz $v0, .L80240248 +/* C9C540 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* C9C544 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* C9C548 80240248 8E040084 */ lw $a0, 0x84($s0) +/* C9C54C 8024024C 0C046F07 */ jal set_main_pan_u +/* C9C550 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* C9C554 80240254 8E040084 */ lw $a0, 0x84($s0) +/* C9C558 80240258 0C046F0D */ jal set_main_pan_v +/* C9C55C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* C9C560 80240260 8E040084 */ lw $a0, 0x84($s0) +/* C9C564 80240264 0C046F13 */ jal set_aux_pan_u +/* C9C568 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* C9C56C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* C9C570 80240270 0C046F19 */ jal set_aux_pan_v +/* C9C574 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* C9C578 80240278 8E020070 */ lw $v0, 0x70($s0) +/* C9C57C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* C9C580 80240280 8E040098 */ lw $a0, 0x98($s0) +/* C9C584 80240284 24420001 */ addiu $v0, $v0, 1 +/* C9C588 80240288 AE020070 */ sw $v0, 0x70($s0) +/* C9C58C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* C9C590 80240290 24630001 */ addiu $v1, $v1, 1 +/* C9C594 80240294 AE030078 */ sw $v1, 0x78($s0) +/* C9C598 80240298 8E030070 */ lw $v1, 0x70($s0) +/* C9C59C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* C9C5A0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* C9C5A4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* C9C5A8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* C9C5AC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* C9C5B0 802402B0 14600002 */ bnez $v1, .L802402BC +/* C9C5B4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* C9C5B8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* C9C5BC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* C9C5C0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* C9C5C4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* C9C5C8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* C9C5CC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* C9C5D0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* C9C5D4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* C9C5D8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* C9C5DC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* C9C5E0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* C9C5E4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* C9C5E8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* C9C5EC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* C9C5F0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* C9C5F4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* C9C5F8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* C9C5FC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* C9C600 80240300 0000102D */ daddu $v0, $zero, $zero +/* C9C604 80240304 03E00008 */ jr $ra +/* C9C608 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* C9C60C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240310_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240310_C9C300.s new file mode 100644 index 0000000000..7009a18a0b --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240310_C9C300.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_C9C610 +/* C9C610 80240310 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* C9C614 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* C9C618 80240318 0080882D */ daddu $s1, $a0, $zero +/* C9C61C 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* C9C620 80240320 AFB20018 */ sw $s2, 0x18($sp) +/* C9C624 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* C9C628 80240328 F7B80030 */ sdc1 $f24, 0x30($sp) +/* C9C62C 8024032C F7B60028 */ sdc1 $f22, 0x28($sp) +/* C9C630 80240330 F7B40020 */ sdc1 $f20, 0x20($sp) +/* C9C634 80240334 8E30000C */ lw $s0, 0xc($s1) +/* C9C638 80240338 8E050000 */ lw $a1, ($s0) +/* C9C63C 8024033C 0C0B1EAF */ jal get_variable +/* C9C640 80240340 26100004 */ addiu $s0, $s0, 4 +/* C9C644 80240344 8E050000 */ lw $a1, ($s0) +/* C9C648 80240348 26100004 */ addiu $s0, $s0, 4 +/* C9C64C 8024034C 0220202D */ daddu $a0, $s1, $zero +/* C9C650 80240350 0C0B1EAF */ jal get_variable +/* C9C654 80240354 0040902D */ daddu $s2, $v0, $zero +/* C9C658 80240358 8E050000 */ lw $a1, ($s0) +/* C9C65C 8024035C 26100004 */ addiu $s0, $s0, 4 +/* C9C660 80240360 4482C000 */ mtc1 $v0, $f24 +/* C9C664 80240364 00000000 */ nop +/* C9C668 80240368 4680C620 */ cvt.s.w $f24, $f24 +/* C9C66C 8024036C 0C0B1EAF */ jal get_variable +/* C9C670 80240370 0220202D */ daddu $a0, $s1, $zero +/* C9C674 80240374 8E050000 */ lw $a1, ($s0) +/* C9C678 80240378 4482B000 */ mtc1 $v0, $f22 +/* C9C67C 8024037C 00000000 */ nop +/* C9C680 80240380 4680B5A0 */ cvt.s.w $f22, $f22 +/* C9C684 80240384 0C0B1EAF */ jal get_variable +/* C9C688 80240388 0220202D */ daddu $a0, $s1, $zero +/* C9C68C 8024038C 4482A000 */ mtc1 $v0, $f20 +/* C9C690 80240390 00000000 */ nop +/* C9C694 80240394 4680A520 */ cvt.s.w $f20, $f20 +/* C9C698 80240398 0C04417A */ jal get_entity_by_index +/* C9C69C 8024039C 0240202D */ daddu $a0, $s2, $zero +/* C9C6A0 802403A0 0040182D */ daddu $v1, $v0, $zero +/* C9C6A4 802403A4 E4780048 */ swc1 $f24, 0x48($v1) +/* C9C6A8 802403A8 E476004C */ swc1 $f22, 0x4c($v1) +/* C9C6AC 802403AC E4740050 */ swc1 $f20, 0x50($v1) +/* C9C6B0 802403B0 8FBF001C */ lw $ra, 0x1c($sp) +/* C9C6B4 802403B4 8FB20018 */ lw $s2, 0x18($sp) +/* C9C6B8 802403B8 8FB10014 */ lw $s1, 0x14($sp) +/* C9C6BC 802403BC 8FB00010 */ lw $s0, 0x10($sp) +/* C9C6C0 802403C0 D7B80030 */ ldc1 $f24, 0x30($sp) +/* C9C6C4 802403C4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* C9C6C8 802403C8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* C9C6CC 802403CC 24020002 */ addiu $v0, $zero, 2 +/* C9C6D0 802403D0 03E00008 */ jr $ra +/* C9C6D4 802403D4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_802403D8_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_802403D8_C9C300.s new file mode 100644 index 0000000000..4802aef01e --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_802403D8_C9C300.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D8_C9C6D8 +/* C9C6D8 802403D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9C6DC 802403DC AFB20018 */ sw $s2, 0x18($sp) +/* C9C6E0 802403E0 0080902D */ daddu $s2, $a0, $zero +/* C9C6E4 802403E4 AFBF001C */ sw $ra, 0x1c($sp) +/* C9C6E8 802403E8 AFB10014 */ sw $s1, 0x14($sp) +/* C9C6EC 802403EC AFB00010 */ sw $s0, 0x10($sp) +/* C9C6F0 802403F0 8E50000C */ lw $s0, 0xc($s2) +/* C9C6F4 802403F4 8E050000 */ lw $a1, ($s0) +/* C9C6F8 802403F8 0C0B1EAF */ jal get_variable +/* C9C6FC 802403FC 26100004 */ addiu $s0, $s0, 4 +/* C9C700 80240400 0C04417A */ jal get_entity_by_index +/* C9C704 80240404 0040202D */ daddu $a0, $v0, $zero +/* C9C708 80240408 8E050000 */ lw $a1, ($s0) +/* C9C70C 8024040C 26100004 */ addiu $s0, $s0, 4 +/* C9C710 80240410 0040882D */ daddu $s1, $v0, $zero +/* C9C714 80240414 C6200048 */ lwc1 $f0, 0x48($s1) +/* C9C718 80240418 4600008D */ trunc.w.s $f2, $f0 +/* C9C71C 8024041C 44061000 */ mfc1 $a2, $f2 +/* C9C720 80240420 0C0B2026 */ jal set_variable +/* C9C724 80240424 0240202D */ daddu $a0, $s2, $zero +/* C9C728 80240428 8E050000 */ lw $a1, ($s0) +/* C9C72C 8024042C 26100004 */ addiu $s0, $s0, 4 +/* C9C730 80240430 C620004C */ lwc1 $f0, 0x4c($s1) +/* C9C734 80240434 4600008D */ trunc.w.s $f2, $f0 +/* C9C738 80240438 44061000 */ mfc1 $a2, $f2 +/* C9C73C 8024043C 0C0B2026 */ jal set_variable +/* C9C740 80240440 0240202D */ daddu $a0, $s2, $zero +/* C9C744 80240444 C6200050 */ lwc1 $f0, 0x50($s1) +/* C9C748 80240448 8E050000 */ lw $a1, ($s0) +/* C9C74C 8024044C 4600008D */ trunc.w.s $f2, $f0 +/* C9C750 80240450 44061000 */ mfc1 $a2, $f2 +/* C9C754 80240454 0C0B2026 */ jal set_variable +/* C9C758 80240458 0240202D */ daddu $a0, $s2, $zero +/* C9C75C 8024045C 8FBF001C */ lw $ra, 0x1c($sp) +/* C9C760 80240460 8FB20018 */ lw $s2, 0x18($sp) +/* C9C764 80240464 8FB10014 */ lw $s1, 0x14($sp) +/* C9C768 80240468 8FB00010 */ lw $s0, 0x10($sp) +/* C9C76C 8024046C 24020002 */ addiu $v0, $zero, 2 +/* C9C770 80240470 03E00008 */ jr $ra +/* C9C774 80240474 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240478_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240478_C9C300.s new file mode 100644 index 0000000000..07b8d69c25 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240478_C9C300.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240478_C9C778 +/* C9C778 80240478 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* C9C77C 8024047C AFB10014 */ sw $s1, 0x14($sp) +/* C9C780 80240480 0080882D */ daddu $s1, $a0, $zero +/* C9C784 80240484 AFBF0018 */ sw $ra, 0x18($sp) +/* C9C788 80240488 AFB00010 */ sw $s0, 0x10($sp) +/* C9C78C 8024048C F7B60028 */ sdc1 $f22, 0x28($sp) +/* C9C790 80240490 F7B40020 */ sdc1 $f20, 0x20($sp) +/* C9C794 80240494 8E30000C */ lw $s0, 0xc($s1) +/* C9C798 80240498 8E050000 */ lw $a1, ($s0) +/* C9C79C 8024049C 0C0B210B */ jal get_float_variable +/* C9C7A0 802404A0 26100004 */ addiu $s0, $s0, 4 +/* C9C7A4 802404A4 8E050000 */ lw $a1, ($s0) +/* C9C7A8 802404A8 26100004 */ addiu $s0, $s0, 4 +/* C9C7AC 802404AC 0220202D */ daddu $a0, $s1, $zero +/* C9C7B0 802404B0 0C0B210B */ jal get_float_variable +/* C9C7B4 802404B4 46000586 */ mov.s $f22, $f0 +/* C9C7B8 802404B8 0220202D */ daddu $a0, $s1, $zero +/* C9C7BC 802404BC 8E050000 */ lw $a1, ($s0) +/* C9C7C0 802404C0 0C0B210B */ jal get_float_variable +/* C9C7C4 802404C4 46000506 */ mov.s $f20, $f0 +/* C9C7C8 802404C8 8E2300BC */ lw $v1, 0xbc($s1) +/* C9C7CC 802404CC 8C62000C */ lw $v0, 0xc($v1) +/* C9C7D0 802404D0 E4560038 */ swc1 $f22, 0x38($v0) +/* C9C7D4 802404D4 8C62000C */ lw $v0, 0xc($v1) +/* C9C7D8 802404D8 E454003C */ swc1 $f20, 0x3c($v0) +/* C9C7DC 802404DC 8C62000C */ lw $v0, 0xc($v1) +/* C9C7E0 802404E0 E4400040 */ swc1 $f0, 0x40($v0) +/* C9C7E4 802404E4 8FBF0018 */ lw $ra, 0x18($sp) +/* C9C7E8 802404E8 8FB10014 */ lw $s1, 0x14($sp) +/* C9C7EC 802404EC 8FB00010 */ lw $s0, 0x10($sp) +/* C9C7F0 802404F0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* C9C7F4 802404F4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* C9C7F8 802404F8 24020002 */ addiu $v0, $zero, 2 +/* C9C7FC 802404FC 03E00008 */ jr $ra +/* C9C800 80240500 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240504.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240504.s new file mode 100644 index 0000000000..b3ba9c7ce5 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240504.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240504 +/* C9C804 80240504 3C03800B */ lui $v1, %hi(gCameras) +/* C9C808 80240508 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* C9C80C 8024050C 94620002 */ lhu $v0, 2($v1) +/* C9C810 80240510 3042FFFE */ andi $v0, $v0, 0xfffe +/* C9C814 80240514 A4620002 */ sh $v0, 2($v1) +/* C9C818 80240518 03E00008 */ jr $ra +/* C9C81C 8024051C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_kzn/kzn_23/func_80240520_C9C300.s b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240520_C9C300.s new file mode 100644 index 0000000000..3378152538 --- /dev/null +++ b/asm/nonmatchings/world/area_kzn/kzn_23/func_80240520_C9C300.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240520_C9C820 +/* C9C820 80240520 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* C9C824 80240524 AFB20018 */ sw $s2, 0x18($sp) +/* C9C828 80240528 0080902D */ daddu $s2, $a0, $zero +/* C9C82C 8024052C AFBF001C */ sw $ra, 0x1c($sp) +/* C9C830 80240530 AFB10014 */ sw $s1, 0x14($sp) +/* C9C834 80240534 AFB00010 */ sw $s0, 0x10($sp) +/* C9C838 80240538 8E4400AC */ lw $a0, 0xac($s2) +/* C9C83C 8024053C 0C04417A */ jal get_entity_by_index +/* C9C840 80240540 00A0802D */ daddu $s0, $a1, $zero +/* C9C844 80240544 12000004 */ beqz $s0, .L80240558 +/* C9C848 80240548 0040882D */ daddu $s1, $v0, $zero +/* C9C84C 8024054C 2402003C */ addiu $v0, $zero, 0x3c +/* C9C850 80240550 AE400070 */ sw $zero, 0x70($s2) +/* C9C854 80240554 AE420074 */ sw $v0, 0x74($s2) +.L80240558: +/* C9C858 80240558 C6400074 */ lwc1 $f0, 0x74($s2) +/* C9C85C 8024055C 46800020 */ cvt.s.w $f0, $f0 +/* C9C860 80240560 3C014270 */ lui $at, 0x4270 +/* C9C864 80240564 44811000 */ mtc1 $at, $f2 +/* C9C868 80240568 3C014049 */ lui $at, 0x4049 +/* C9C86C 8024056C 34210FD8 */ ori $at, $at, 0xfd8 +/* C9C870 80240570 44816000 */ mtc1 $at, $f12 +/* C9C874 80240574 46020003 */ div.s $f0, $f0, $f2 +/* C9C878 80240578 E6200054 */ swc1 $f0, 0x54($s1) +/* C9C87C 8024057C C6400074 */ lwc1 $f0, 0x74($s2) +/* C9C880 80240580 46800020 */ cvt.s.w $f0, $f0 +/* C9C884 80240584 46020003 */ div.s $f0, $f0, $f2 +/* C9C888 80240588 460C0302 */ mul.s $f12, $f0, $f12 +/* C9C88C 8024058C 00000000 */ nop +/* C9C890 80240590 E6200058 */ swc1 $f0, 0x58($s1) +/* C9C894 80240594 C6400074 */ lwc1 $f0, 0x74($s2) +/* C9C898 80240598 46800020 */ cvt.s.w $f0, $f0 +/* C9C89C 8024059C 46020003 */ div.s $f0, $f0, $f2 +/* C9C8A0 802405A0 0C00A874 */ jal cos_rad +/* C9C8A4 802405A4 E620005C */ swc1 $f0, 0x5c($s1) +/* C9C8A8 802405A8 3C013F80 */ lui $at, 0x3f80 +/* C9C8AC 802405AC 44811000 */ mtc1 $at, $f2 +/* C9C8B0 802405B0 00000000 */ nop +/* C9C8B4 802405B4 46001081 */ sub.s $f2, $f2, $f0 +/* C9C8B8 802405B8 3C018024 */ lui $at, 0x8024 +/* C9C8BC 802405BC D4201C10 */ ldc1 $f0, 0x1c10($at) +/* C9C8C0 802405C0 460010A1 */ cvt.d.s $f2, $f2 +/* C9C8C4 802405C4 46201082 */ mul.d $f2, $f2, $f0 +/* C9C8C8 802405C8 00000000 */ nop +/* C9C8CC 802405CC 3C013FE0 */ lui $at, 0x3fe0 +/* C9C8D0 802405D0 44810800 */ mtc1 $at, $f1 +/* C9C8D4 802405D4 44800000 */ mtc1 $zero, $f0 +/* C9C8D8 802405D8 00000000 */ nop +/* C9C8DC 802405DC 46201082 */ mul.d $f2, $f2, $f0 +/* C9C8E0 802405E0 00000000 */ nop +/* C9C8E4 802405E4 462010A0 */ cvt.s.d $f2, $f2 +/* C9C8E8 802405E8 E6220064 */ swc1 $f2, 0x64($s1) +/* C9C8EC 802405EC 8E430074 */ lw $v1, 0x74($s2) +/* C9C8F0 802405F0 2463FFFF */ addiu $v1, $v1, -1 +/* C9C8F4 802405F4 00031027 */ nor $v0, $zero, $v1 +/* C9C8F8 802405F8 2C420001 */ sltiu $v0, $v0, 1 +/* C9C8FC 802405FC AE430074 */ sw $v1, 0x74($s2) +/* C9C900 80240600 8FBF001C */ lw $ra, 0x1c($sp) +/* C9C904 80240604 8FB20018 */ lw $s2, 0x18($sp) +/* C9C908 80240608 8FB10014 */ lw $s1, 0x14($sp) +/* C9C90C 8024060C 8FB00010 */ lw $s0, 0x10($sp) +/* C9C910 80240610 00021040 */ sll $v0, $v0, 1 +/* C9C914 80240614 03E00008 */ jr $ra +/* C9C918 80240618 27BD0020 */ addiu $sp, $sp, 0x20 +/* C9C91C 8024061C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240000_7EAD10.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240000_7EAD10.s new file mode 100644 index 0000000000..41925b16d9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240000_7EAD10.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_7EAD10 +/* 7EAD10 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 7EAD14 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 7EAD18 80240008 8C430004 */ lw $v1, 4($v0) +/* 7EAD1C 8024000C 3C040010 */ lui $a0, 0x10 +/* 7EAD20 80240010 00641825 */ or $v1, $v1, $a0 +/* 7EAD24 80240014 AC430004 */ sw $v1, 4($v0) +/* 7EAD28 80240018 03E00008 */ jr $ra +/* 7EAD2C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240020.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240020.s new file mode 100644 index 0000000000..2eca48214c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240020.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020 +/* 7EAD30 80240020 3C028016 */ lui $v0, 0x8016 +/* 7EAD34 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 7EAD38 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 7EAD3C 8024002C 03E00008 */ jr $ra +/* 7EAD40 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240034.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240034.s new file mode 100644 index 0000000000..eba7758b4b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240034.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034 +/* 7EAD44 80240034 3C038016 */ lui $v1, 0x8016 +/* 7EAD48 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 7EAD4C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EAD50 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 7EAD54 80240044 0080802D */ daddu $s0, $a0, $zero +/* 7EAD58 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EAD5C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 7EAD60 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 7EAD64 80240054 24020002 */ addiu $v0, $zero, 2 +/* 7EAD68 80240058 08090038 */ j .L802400E0 +/* 7EAD6C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 7EAD70 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 7EAD74 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 7EAD78 80240068 80620040 */ lb $v0, 0x40($v1) +/* 7EAD7C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 7EAD80 80240070 04420001 */ bltzl $v0, .L80240078 +/* 7EAD84 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 7EAD88 80240078 14400003 */ bnez $v0, .L80240088 +/* 7EAD8C 8024007C 00000000 */ nop +/* 7EAD90 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 7EAD94 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 7EAD98 80240088 44822000 */ mtc1 $v0, $f4 +/* 7EAD9C 8024008C 00000000 */ nop +/* 7EADA0 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 7EADA4 80240094 44062000 */ mfc1 $a2, $f4 +/* 7EADA8 80240098 44872000 */ mtc1 $a3, $f4 +/* 7EADAC 8024009C 00000000 */ nop +/* 7EADB0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 7EADB4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 7EADB8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 7EADBC 802400AC 0C00A720 */ jal atan2 +/* 7EADC0 802400B0 46006386 */ mov.s $f14, $f12 +/* 7EADC4 802400B4 3C014270 */ lui $at, 0x4270 +/* 7EADC8 802400B8 44811000 */ mtc1 $at, $f2 +/* 7EADCC 802400BC 00000000 */ nop +/* 7EADD0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 7EADD4 802400C4 00000000 */ nop +/* 7EADD8 802400C8 45000004 */ bc1f .L802400DC +/* 7EADDC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 7EADE0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 7EADE4 802400D4 08090038 */ j .L802400E0 +/* 7EADE8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 7EADEC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 7EADF0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EADF4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 7EADF8 802400E8 03E00008 */ jr $ra +/* 7EADFC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802400F0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802400F0.s new file mode 100644 index 0000000000..97b1bb56fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802400F0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0 +/* 7EAE00 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EAE04 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EAE08 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 7EAE0C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 7EAE10 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 7EAE14 80240104 0C016AFA */ jal get_current_map_header +/* 7EAE18 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 7EAE1C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 7EAE20 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAE24 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 7EAE28 80240118 0C0B1EAF */ jal get_variable +/* 7EAE2C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 7EAE30 80240120 0220202D */ daddu $a0, $s1, $zero +/* 7EAE34 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAE38 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 7EAE3C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 7EAE40 80240130 02031821 */ addu $v1, $s0, $v1 +/* 7EAE44 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 7EAE48 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 7EAE4C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 7EAE50 80240140 0C0B2026 */ jal set_variable +/* 7EAE54 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 7EAE58 80240148 0220202D */ daddu $a0, $s1, $zero +/* 7EAE5C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 7EAE60 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAE64 80240154 02021021 */ addu $v0, $s0, $v0 +/* 7EAE68 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 7EAE6C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 7EAE70 80240160 44061000 */ mfc1 $a2, $f2 +/* 7EAE74 80240164 0C0B2026 */ jal set_variable +/* 7EAE78 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 7EAE7C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 7EAE80 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 7EAE84 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAE88 80240178 02021021 */ addu $v0, $s0, $v0 +/* 7EAE8C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 7EAE90 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 7EAE94 80240184 44061000 */ mfc1 $a2, $f2 +/* 7EAE98 80240188 0C0B2026 */ jal set_variable +/* 7EAE9C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 7EAEA0 80240190 0220202D */ daddu $a0, $s1, $zero +/* 7EAEA4 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 7EAEA8 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAEAC 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 7EAEB0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 7EAEB4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 7EAEB8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 7EAEBC 802401AC 0C0B2026 */ jal set_variable +/* 7EAEC0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 7EAEC4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 7EAEC8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 7EAECC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 7EAED0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 7EAED4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 7EAED8 802401C8 03E00008 */ jr $ra +/* 7EAEDC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802401D0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802401D0.s new file mode 100644 index 0000000000..1f1cf7cfe0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802401D0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0 +/* 7EAEE0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 7EAEE4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 7EAEE8 802401D8 3C014334 */ lui $at, 0x4334 +/* 7EAEEC 802401DC 44816000 */ mtc1 $at, $f12 +/* 7EAEF0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EAEF4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EAEF8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 7EAEFC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 7EAF00 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 7EAF04 802401F4 00021080 */ sll $v0, $v0, 2 +/* 7EAF08 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 7EAF0C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 7EAF10 80240200 00431021 */ addu $v0, $v0, $v1 +/* 7EAF14 80240204 000210C0 */ sll $v0, $v0, 3 +/* 7EAF18 80240208 3C01800B */ lui $at, 0x800b +/* 7EAF1C 8024020C 00220821 */ addu $at, $at, $v0 +/* 7EAF20 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 7EAF24 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 7EAF28 80240218 0C00A6C9 */ jal clamp_angle +/* 7EAF2C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 7EAF30 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 7EAF34 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 7EAF38 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EAF3C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 7EAF40 80240230 24020002 */ addiu $v0, $zero, 2 +/* 7EAF44 80240234 03E00008 */ jr $ra +/* 7EAF48 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024023C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024023C.s new file mode 100644 index 0000000000..97aa294043 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024023C.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C +/* 7EAF4C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7EAF50 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 7EAF54 80240244 0080802D */ daddu $s0, $a0, $zero +/* 7EAF58 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 7EAF5C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 7EAF60 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 7EAF64 80240254 0C0B210B */ jal get_float_variable +/* 7EAF68 80240258 8C450000 */ lw $a1, ($v0) +/* 7EAF6C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 7EAF70 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 7EAF74 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 7EAF78 80240268 44060000 */ mfc1 $a2, $f0 +/* 7EAF7C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 7EAF80 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 7EAF84 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 7EAF88 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 7EAF8C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 7EAF90 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 7EAF94 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 7EAF98 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 7EAF9C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 7EAFA0 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAFA4 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 7EAFA8 80240298 0C0B2190 */ jal set_float_variable +/* 7EAFAC 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 7EAFB0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 7EAFB4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAFB8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 7EAFBC 802402AC 0C0B2190 */ jal set_float_variable +/* 7EAFC0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 7EAFC4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 7EAFC8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 7EAFCC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 7EAFD0 802402C0 0C0B2190 */ jal set_float_variable +/* 7EAFD4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 7EAFD8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 7EAFDC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 7EAFE0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 7EAFE4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 7EAFE8 802402D8 03E00008 */ jr $ra +/* 7EAFEC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802402E0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802402E0.s new file mode 100644 index 0000000000..05992c97ad --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802402E0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0 +/* 7EAFF0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EAFF4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 7EAFF8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 7EAFFC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 7EB000 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 7EB004 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 7EB008 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 7EB00C 802402FC 04610004 */ bgez $v1, .L80240310 +/* 7EB010 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 7EB014 80240304 3C020002 */ lui $v0, 2 +/* 7EB018 80240308 080900C8 */ j .L80240320 +/* 7EB01C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 7EB020 80240310 3C040002 */ lui $a0, 2 +/* 7EB024 80240314 0083102A */ slt $v0, $a0, $v1 +/* 7EB028 80240318 10400002 */ beqz $v0, .L80240324 +/* 7EB02C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 7EB030 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 7EB034 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 7EB038 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 7EB03C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 7EB040 80240330 04610004 */ bgez $v1, .L80240344 +/* 7EB044 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 7EB048 80240338 3C020002 */ lui $v0, 2 +/* 7EB04C 8024033C 080900D5 */ j .L80240354 +/* 7EB050 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 7EB054 80240344 3C040002 */ lui $a0, 2 +/* 7EB058 80240348 0083102A */ slt $v0, $a0, $v1 +/* 7EB05C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 7EB060 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 7EB064 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 7EB068 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 7EB06C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 7EB070 80240360 00621821 */ addu $v1, $v1, $v0 +/* 7EB074 80240364 04610004 */ bgez $v1, .L80240378 +/* 7EB078 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 7EB07C 8024036C 3C020002 */ lui $v0, 2 +/* 7EB080 80240370 080900E2 */ j .L80240388 +/* 7EB084 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 7EB088 80240378 3C040002 */ lui $a0, 2 +/* 7EB08C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 7EB090 80240380 10400002 */ beqz $v0, .L8024038C +/* 7EB094 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 7EB098 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 7EB09C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 7EB0A0 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 7EB0A4 80240394 00621821 */ addu $v1, $v1, $v0 +/* 7EB0A8 80240398 04610004 */ bgez $v1, .L802403AC +/* 7EB0AC 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 7EB0B0 802403A0 3C020002 */ lui $v0, 2 +/* 7EB0B4 802403A4 080900EF */ j .L802403BC +/* 7EB0B8 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 7EB0BC 802403AC 3C040002 */ lui $a0, 2 +/* 7EB0C0 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 7EB0C4 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 7EB0C8 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 7EB0CC 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 7EB0D0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 7EB0D4 802403C4 0C046F07 */ jal set_main_pan_u +/* 7EB0D8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 7EB0DC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 7EB0E0 802403D0 0C046F0D */ jal set_main_pan_v +/* 7EB0E4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 7EB0E8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 7EB0EC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 7EB0F0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 7EB0F4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 7EB0F8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 7EB0FC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 7EB100 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EB104 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB108 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 7EB10C 802403FC 03E00008 */ jr $ra +/* 7EB110 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240404.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240404.s new file mode 100644 index 0000000000..a4a7ed83c3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240404.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404 +/* 7EB114 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EB118 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 7EB11C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 7EB120 80240410 10A00005 */ beqz $a1, .L80240428 +/* 7EB124 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EB128 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 7EB12C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 7EB130 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 7EB134 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 7EB138 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 7EB13C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 7EB140 80240430 00000000 */ nop +/* 7EB144 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 7EB148 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 7EB14C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 7EB150 80240440 04610004 */ bgez $v1, .L80240454 +/* 7EB154 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 7EB158 80240448 3C020002 */ lui $v0, 2 +/* 7EB15C 8024044C 08090119 */ j .L80240464 +/* 7EB160 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 7EB164 80240454 3C040002 */ lui $a0, 2 +/* 7EB168 80240458 0083102A */ slt $v0, $a0, $v1 +/* 7EB16C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 7EB170 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 7EB174 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 7EB178 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 7EB17C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 7EB180 80240470 00000000 */ nop +/* 7EB184 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 7EB188 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 7EB18C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 7EB190 80240480 04610004 */ bgez $v1, .L80240494 +/* 7EB194 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 7EB198 80240488 3C020002 */ lui $v0, 2 +/* 7EB19C 8024048C 08090129 */ j .L802404A4 +/* 7EB1A0 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 7EB1A4 80240494 3C040002 */ lui $a0, 2 +/* 7EB1A8 80240498 0083102A */ slt $v0, $a0, $v1 +/* 7EB1AC 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 7EB1B0 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 7EB1B4 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 7EB1B8 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 7EB1BC 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 7EB1C0 802404B0 00000000 */ nop +/* 7EB1C4 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 7EB1C8 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 7EB1CC 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 7EB1D0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 7EB1D4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 7EB1D8 802404C8 3C020002 */ lui $v0, 2 +/* 7EB1DC 802404CC 08090139 */ j .L802404E4 +/* 7EB1E0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 7EB1E4 802404D4 3C040002 */ lui $a0, 2 +/* 7EB1E8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 7EB1EC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 7EB1F0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 7EB1F4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 7EB1F8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 7EB1FC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 7EB200 802404F0 00000000 */ nop +/* 7EB204 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 7EB208 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 7EB20C 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 7EB210 80240500 04610004 */ bgez $v1, .L80240514 +/* 7EB214 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 7EB218 80240508 3C020002 */ lui $v0, 2 +/* 7EB21C 8024050C 08090149 */ j .L80240524 +/* 7EB220 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 7EB224 80240514 3C040002 */ lui $a0, 2 +/* 7EB228 80240518 0083102A */ slt $v0, $a0, $v1 +/* 7EB22C 8024051C 10400002 */ beqz $v0, .L80240528 +/* 7EB230 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 7EB234 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 7EB238 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 7EB23C 8024052C 0C046F07 */ jal set_main_pan_u +/* 7EB240 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 7EB244 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 7EB248 80240538 0C046F0D */ jal set_main_pan_v +/* 7EB24C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 7EB250 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 7EB254 80240544 0C046F13 */ jal set_aux_pan_u +/* 7EB258 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 7EB25C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 7EB260 80240550 0C046F19 */ jal set_aux_pan_v +/* 7EB264 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 7EB268 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 7EB26C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 7EB270 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 7EB274 80240564 24420001 */ addiu $v0, $v0, 1 +/* 7EB278 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 7EB27C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 7EB280 80240570 24630001 */ addiu $v1, $v1, 1 +/* 7EB284 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 7EB288 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 7EB28C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 7EB290 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 7EB294 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 7EB298 80240588 0064182A */ slt $v1, $v1, $a0 +/* 7EB29C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 7EB2A0 80240590 14600002 */ bnez $v1, .L8024059C +/* 7EB2A4 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 7EB2A8 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 7EB2AC 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 7EB2B0 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 7EB2B4 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 7EB2B8 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 7EB2BC 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 7EB2C0 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 7EB2C4 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 7EB2C8 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 7EB2CC 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 7EB2D0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 7EB2D4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 7EB2D8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 7EB2DC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 7EB2E0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 7EB2E4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 7EB2E8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EB2EC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB2F0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 7EB2F4 802405E4 03E00008 */ jr $ra +/* 7EB2F8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802405EC.s b/asm/nonmatchings/world/area_mac/mac_00/func_802405EC.s new file mode 100644 index 0000000000..e1e0b961e6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802405EC.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC +/* 7EB2FC 802405EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7EB300 802405F0 AFBF0020 */ sw $ra, 0x20($sp) +/* 7EB304 802405F4 8C82000C */ lw $v0, 0xc($a0) +/* 7EB308 802405F8 0C0B1EAF */ jal get_variable +/* 7EB30C 802405FC 8C450000 */ lw $a1, ($v0) +/* 7EB310 80240600 0040202D */ daddu $a0, $v0, $zero +/* 7EB314 80240604 27A50010 */ addiu $a1, $sp, 0x10 +/* 7EB318 80240608 27A60014 */ addiu $a2, $sp, 0x14 +/* 7EB31C 8024060C 0C016F84 */ jal get_collider_center +/* 7EB320 80240610 27A70018 */ addiu $a3, $sp, 0x18 +/* 7EB324 80240614 8FBF0020 */ lw $ra, 0x20($sp) +/* 7EB328 80240618 24020002 */ addiu $v0, $zero, 2 +/* 7EB32C 8024061C 03E00008 */ jr $ra +/* 7EB330 80240620 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240624.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240624.s new file mode 100644 index 0000000000..1627aee442 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240624.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624 +/* 7EB334 80240624 03E00008 */ jr $ra +/* 7EB338 80240628 24020002 */ addiu $v0, $zero, 2 +/* 7EB33C 8024062C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240630.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240630.s new file mode 100644 index 0000000000..2b967d3c6e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240630.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240630 +/* 7EB340 80240630 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EB344 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* 7EB348 80240638 3C108024 */ lui $s0, 0x8024 +/* 7EB34C 8024063C 26105DC0 */ addiu $s0, $s0, 0x5dc0 +/* 7EB350 80240640 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EB354 80240644 AFB10014 */ sw $s1, 0x14($sp) +/* 7EB358 80240648 8E020000 */ lw $v0, ($s0) +/* 7EB35C 8024064C 14400010 */ bnez $v0, .L80240690 +/* 7EB360 80240650 0080882D */ daddu $s1, $a0, $zero +/* 7EB364 80240654 0C00AB39 */ jal heap_malloc +/* 7EB368 80240658 24040040 */ addiu $a0, $zero, 0x40 +/* 7EB36C 8024065C AE020000 */ sw $v0, ($s0) +/* 7EB370 80240660 0000182D */ daddu $v1, $zero, $zero +/* 7EB374 80240664 0040282D */ daddu $a1, $v0, $zero +/* 7EB378 80240668 0220202D */ daddu $a0, $s1, $zero +.L8024066C: +/* 7EB37C 8024066C 8C820084 */ lw $v0, 0x84($a0) +/* 7EB380 80240670 24840004 */ addiu $a0, $a0, 4 +/* 7EB384 80240674 24630001 */ addiu $v1, $v1, 1 +/* 7EB388 80240678 ACA20000 */ sw $v0, ($a1) +/* 7EB38C 8024067C 28620010 */ slti $v0, $v1, 0x10 +/* 7EB390 80240680 1440FFFA */ bnez $v0, .L8024066C +/* 7EB394 80240684 24A50004 */ addiu $a1, $a1, 4 +/* 7EB398 80240688 080901B3 */ j .L802406CC +/* 7EB39C 8024068C 00000000 */ nop +.L80240690: +/* 7EB3A0 80240690 0000182D */ daddu $v1, $zero, $zero +/* 7EB3A4 80240694 0040282D */ daddu $a1, $v0, $zero +/* 7EB3A8 80240698 0220202D */ daddu $a0, $s1, $zero +.L8024069C: +/* 7EB3AC 8024069C 8CA20000 */ lw $v0, ($a1) +/* 7EB3B0 802406A0 24A50004 */ addiu $a1, $a1, 4 +/* 7EB3B4 802406A4 24630001 */ addiu $v1, $v1, 1 +/* 7EB3B8 802406A8 AC820084 */ sw $v0, 0x84($a0) +/* 7EB3BC 802406AC 28620010 */ slti $v0, $v1, 0x10 +/* 7EB3C0 802406B0 1440FFFA */ bnez $v0, .L8024069C +/* 7EB3C4 802406B4 24840004 */ addiu $a0, $a0, 4 +/* 7EB3C8 802406B8 3C108024 */ lui $s0, 0x8024 +/* 7EB3CC 802406BC 26105DC0 */ addiu $s0, $s0, 0x5dc0 +/* 7EB3D0 802406C0 0C00AB4B */ jal heap_free +/* 7EB3D4 802406C4 8E040000 */ lw $a0, ($s0) +/* 7EB3D8 802406C8 AE000000 */ sw $zero, ($s0) +.L802406CC: +/* 7EB3DC 802406CC 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EB3E0 802406D0 8FB10014 */ lw $s1, 0x14($sp) +/* 7EB3E4 802406D4 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB3E8 802406D8 24020002 */ addiu $v0, $zero, 2 +/* 7EB3EC 802406DC 03E00008 */ jr $ra +/* 7EB3F0 802406E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802406E4.s b/asm/nonmatchings/world/area_mac/mac_00/func_802406E4.s new file mode 100644 index 0000000000..ee209fa678 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802406E4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E4 +/* 7EB3F4 802406E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EB3F8 802406E8 AFB00010 */ sw $s0, 0x10($sp) +/* 7EB3FC 802406EC 0080802D */ daddu $s0, $a0, $zero +/* 7EB400 802406F0 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EB404 802406F4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EB408 802406F8 8E02000C */ lw $v0, 0xc($s0) +/* 7EB40C 802406FC 8C510000 */ lw $s1, ($v0) +/* 7EB410 80240700 0C0B1EAF */ jal get_variable +/* 7EB414 80240704 0220282D */ daddu $a1, $s1, $zero +/* 7EB418 80240708 3C03FFF0 */ lui $v1, 0xfff0 +/* 7EB41C 8024070C 3463FFFF */ ori $v1, $v1, 0xffff +/* 7EB420 80240710 0200202D */ daddu $a0, $s0, $zero +/* 7EB424 80240714 00431024 */ and $v0, $v0, $v1 +/* 7EB428 80240718 00021140 */ sll $v0, $v0, 5 +/* 7EB42C 8024071C 3C068008 */ lui $a2, %hi(gItemTable) +/* 7EB430 80240720 00C23021 */ addu $a2, $a2, $v0 +/* 7EB434 80240724 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 7EB438 80240728 0C0B2026 */ jal set_variable +/* 7EB43C 8024072C 0220282D */ daddu $a1, $s1, $zero +/* 7EB440 80240730 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EB444 80240734 8FB10014 */ lw $s1, 0x14($sp) +/* 7EB448 80240738 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB44C 8024073C 24020002 */ addiu $v0, $zero, 2 +/* 7EB450 80240740 03E00008 */ jr $ra +/* 7EB454 80240744 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240748.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240748.s new file mode 100644 index 0000000000..e31039568b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240748.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240748 +/* 7EB458 80240748 24020001 */ addiu $v0, $zero, 1 +/* 7EB45C 8024074C 3C018015 */ lui $at, %hi(D_80151310) +/* 7EB460 80240750 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 7EB464 80240754 03E00008 */ jr $ra +/* 7EB468 80240758 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024075C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024075C.s new file mode 100644 index 0000000000..94929c6020 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024075C.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024075C +/* 7EB46C 8024075C 3C018015 */ lui $at, %hi(D_80151310) +/* 7EB470 80240760 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 7EB474 80240764 03E00008 */ jr $ra +/* 7EB478 80240768 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024076C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024076C.s new file mode 100644 index 0000000000..c2167ba35b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024076C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024076C +/* 7EB47C 8024076C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7EB480 80240770 AFB10024 */ sw $s1, 0x24($sp) +/* 7EB484 80240774 0080882D */ daddu $s1, $a0, $zero +/* 7EB488 80240778 3C05F840 */ lui $a1, 0xf840 +/* 7EB48C 8024077C AFBF0044 */ sw $ra, 0x44($sp) +/* 7EB490 80240780 AFBE0040 */ sw $fp, 0x40($sp) +/* 7EB494 80240784 AFB7003C */ sw $s7, 0x3c($sp) +/* 7EB498 80240788 AFB60038 */ sw $s6, 0x38($sp) +/* 7EB49C 8024078C AFB50034 */ sw $s5, 0x34($sp) +/* 7EB4A0 80240790 AFB40030 */ sw $s4, 0x30($sp) +/* 7EB4A4 80240794 AFB3002C */ sw $s3, 0x2c($sp) +/* 7EB4A8 80240798 AFB20028 */ sw $s2, 0x28($sp) +/* 7EB4AC 8024079C AFB00020 */ sw $s0, 0x20($sp) +/* 7EB4B0 802407A0 8E3E0148 */ lw $fp, 0x148($s1) +/* 7EB4B4 802407A4 0C0B1EAF */ jal get_variable +/* 7EB4B8 802407A8 34A56268 */ ori $a1, $a1, 0x6268 +/* 7EB4BC 802407AC 0040802D */ daddu $s0, $v0, $zero +/* 7EB4C0 802407B0 0220202D */ daddu $a0, $s1, $zero +/* 7EB4C4 802407B4 3C05F840 */ lui $a1, 0xf840 +/* 7EB4C8 802407B8 0C0B1EAF */ jal get_variable +/* 7EB4CC 802407BC 34A56269 */ ori $a1, $a1, 0x6269 +/* 7EB4D0 802407C0 0040B82D */ daddu $s7, $v0, $zero +/* 7EB4D4 802407C4 0220202D */ daddu $a0, $s1, $zero +/* 7EB4D8 802407C8 3C05F5DE */ lui $a1, 0xf5de +/* 7EB4DC 802407CC 0C0B1EAF */ jal get_variable +/* 7EB4E0 802407D0 34A502DE */ ori $a1, $a1, 0x2de +/* 7EB4E4 802407D4 0040B02D */ daddu $s6, $v0, $zero +/* 7EB4E8 802407D8 0220202D */ daddu $a0, $s1, $zero +/* 7EB4EC 802407DC 3C05F5DE */ lui $a1, 0xf5de +/* 7EB4F0 802407E0 0C0B1EAF */ jal get_variable +/* 7EB4F4 802407E4 34A502DF */ ori $a1, $a1, 0x2df +/* 7EB4F8 802407E8 0040A82D */ daddu $s5, $v0, $zero +/* 7EB4FC 802407EC 93D3006D */ lbu $s3, 0x6d($fp) +/* 7EB500 802407F0 32C2FFFF */ andi $v0, $s6, 0xffff +/* 7EB504 802407F4 A7B30010 */ sh $s3, 0x10($sp) +/* 7EB508 802407F8 93D2006E */ lbu $s2, 0x6e($fp) +/* 7EB50C 802407FC 93C7006F */ lbu $a3, 0x6f($fp) +/* 7EB510 80240800 3274FFFF */ andi $s4, $s3, 0xffff +/* 7EB514 80240804 12820003 */ beq $s4, $v0, .L80240814 +/* 7EB518 80240808 A7A7001E */ sh $a3, 0x1e($sp) +/* 7EB51C 8024080C 0000B82D */ daddu $s7, $zero, $zero +/* 7EB520 80240810 02E0802D */ daddu $s0, $s7, $zero +.L80240814: +/* 7EB524 80240814 3202FFFF */ andi $v0, $s0, 0xffff +/* 7EB528 80240818 14400016 */ bnez $v0, .L80240874 +/* 7EB52C 8024081C 0220202D */ daddu $a0, $s1, $zero +/* 7EB530 80240820 0C00A67F */ jal rand_int +/* 7EB534 80240824 24040064 */ addiu $a0, $zero, 0x64 +/* 7EB538 80240828 2842001E */ slti $v0, $v0, 0x1e +/* 7EB53C 8024082C 10400011 */ beqz $v0, .L80240874 +/* 7EB540 80240830 0220202D */ daddu $a0, $s1, $zero +/* 7EB544 80240834 0C00A67F */ jal rand_int +/* 7EB548 80240838 2644FFFF */ addiu $a0, $s2, -1 +/* 7EB54C 8024083C 0040A82D */ daddu $s5, $v0, $zero +/* 7EB550 80240840 0260B02D */ daddu $s6, $s3, $zero +/* 7EB554 80240844 0220202D */ daddu $a0, $s1, $zero +/* 7EB558 80240848 3C05F5DE */ lui $a1, 0xf5de +/* 7EB55C 8024084C 34A502DE */ ori $a1, $a1, 0x2de +/* 7EB560 80240850 0C0B2026 */ jal set_variable +/* 7EB564 80240854 0280302D */ daddu $a2, $s4, $zero +/* 7EB568 80240858 0220202D */ daddu $a0, $s1, $zero +/* 7EB56C 8024085C 3C05F5DE */ lui $a1, 0xf5de +/* 7EB570 80240860 34A502DF */ ori $a1, $a1, 0x2df +/* 7EB574 80240864 0C0B2026 */ jal set_variable +/* 7EB578 80240868 32A6FFFF */ andi $a2, $s5, 0xffff +/* 7EB57C 8024086C 24100001 */ addiu $s0, $zero, 1 +/* 7EB580 80240870 0220202D */ daddu $a0, $s1, $zero +.L80240874: +/* 7EB584 80240874 3C05F840 */ lui $a1, 0xf840 +/* 7EB588 80240878 34A56268 */ ori $a1, $a1, 0x6268 +/* 7EB58C 8024087C 0C0B2026 */ jal set_variable +/* 7EB590 80240880 3206FFFF */ andi $a2, $s0, 0xffff +/* 7EB594 80240884 0220202D */ daddu $a0, $s1, $zero +/* 7EB598 80240888 3C05F840 */ lui $a1, 0xf840 +/* 7EB59C 8024088C 34A56269 */ ori $a1, $a1, 0x6269 +/* 7EB5A0 80240890 0C0B2026 */ jal set_variable +/* 7EB5A4 80240894 32E6FFFF */ andi $a2, $s7, 0xffff +/* 7EB5A8 80240898 0000202D */ daddu $a0, $zero, $zero +/* 7EB5AC 8024089C 3C05F5DE */ lui $a1, 0xf5de +/* 7EB5B0 802408A0 0C0B1EAF */ jal get_variable +/* 7EB5B4 802408A4 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 7EB5B8 802408A8 0000202D */ daddu $a0, $zero, $zero +/* 7EB5BC 802408AC 3C05F5DE */ lui $a1, 0xf5de +/* 7EB5C0 802408B0 34A50180 */ ori $a1, $a1, 0x180 +/* 7EB5C4 802408B4 0C0B1EAF */ jal get_variable +/* 7EB5C8 802408B8 0040802D */ daddu $s0, $v0, $zero +/* 7EB5CC 802408BC 0040282D */ daddu $a1, $v0, $zero +/* 7EB5D0 802408C0 0000182D */ daddu $v1, $zero, $zero +/* 7EB5D4 802408C4 3C068024 */ lui $a2, 0x8024 +/* 7EB5D8 802408C8 24C65E64 */ addiu $a2, $a2, 0x5e64 +/* 7EB5DC 802408CC 00C0202D */ daddu $a0, $a2, $zero +.L802408D0: +/* 7EB5E0 802408D0 8C820000 */ lw $v0, ($a0) +/* 7EB5E4 802408D4 00A2102A */ slt $v0, $a1, $v0 +/* 7EB5E8 802408D8 14400006 */ bnez $v0, .L802408F4 +/* 7EB5EC 802408DC 000310C0 */ sll $v0, $v1, 3 +/* 7EB5F0 802408E0 24630001 */ addiu $v1, $v1, 1 +/* 7EB5F4 802408E4 28620008 */ slti $v0, $v1, 8 +/* 7EB5F8 802408E8 1440FFF9 */ bnez $v0, .L802408D0 +/* 7EB5FC 802408EC 24840008 */ addiu $a0, $a0, 8 +/* 7EB600 802408F0 000310C0 */ sll $v0, $v1, 3 +.L802408F4: +/* 7EB604 802408F4 00461021 */ addu $v0, $v0, $a2 +/* 7EB608 802408F8 8C420004 */ lw $v0, 4($v0) +/* 7EB60C 802408FC 97A30010 */ lhu $v1, 0x10($sp) +/* 7EB610 80240900 0202202A */ slt $a0, $s0, $v0 +/* 7EB614 80240904 32C2FFFF */ andi $v0, $s6, 0xffff +/* 7EB618 80240908 14620008 */ bne $v1, $v0, .L8024092C +/* 7EB61C 8024090C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 7EB620 80240910 97A7001E */ lhu $a3, 0x1e($sp) +/* 7EB624 80240914 14E20005 */ bne $a3, $v0, .L8024092C +/* 7EB628 80240918 32E2FFFF */ andi $v0, $s7, 0xffff +/* 7EB62C 8024091C 14400003 */ bnez $v0, .L8024092C +/* 7EB630 80240920 00000000 */ nop +/* 7EB634 80240924 14800008 */ bnez $a0, .L80240948 +/* 7EB638 80240928 24020001 */ addiu $v0, $zero, 1 +.L8024092C: +/* 7EB63C 8024092C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 7EB640 80240930 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 7EB644 80240934 80420075 */ lb $v0, 0x75($v0) +/* 7EB648 80240938 10400005 */ beqz $v0, .L80240950 +/* 7EB64C 8024093C 00000000 */ nop +/* 7EB650 80240940 10800003 */ beqz $a0, .L80240950 +/* 7EB654 80240944 24020001 */ addiu $v0, $zero, 1 +.L80240948: +/* 7EB658 80240948 08090257 */ j .L8024095C +/* 7EB65C 8024094C AE220084 */ sw $v0, 0x84($s1) +.L80240950: +/* 7EB660 80240950 0C00F9EB */ jal kill_enemy +/* 7EB664 80240954 03C0202D */ daddu $a0, $fp, $zero +/* 7EB668 80240958 AE200084 */ sw $zero, 0x84($s1) +.L8024095C: +/* 7EB66C 8024095C 8FBF0044 */ lw $ra, 0x44($sp) +/* 7EB670 80240960 8FBE0040 */ lw $fp, 0x40($sp) +/* 7EB674 80240964 8FB7003C */ lw $s7, 0x3c($sp) +/* 7EB678 80240968 8FB60038 */ lw $s6, 0x38($sp) +/* 7EB67C 8024096C 8FB50034 */ lw $s5, 0x34($sp) +/* 7EB680 80240970 8FB40030 */ lw $s4, 0x30($sp) +/* 7EB684 80240974 8FB3002C */ lw $s3, 0x2c($sp) +/* 7EB688 80240978 8FB20028 */ lw $s2, 0x28($sp) +/* 7EB68C 8024097C 8FB10024 */ lw $s1, 0x24($sp) +/* 7EB690 80240980 8FB00020 */ lw $s0, 0x20($sp) +/* 7EB694 80240984 24020002 */ addiu $v0, $zero, 2 +/* 7EB698 80240988 03E00008 */ jr $ra +/* 7EB69C 8024098C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240990.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240990.s new file mode 100644 index 0000000000..a0488032b9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240990.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240990 +/* 7EB6A0 80240990 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EB6A4 80240994 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EB6A8 80240998 AFB00010 */ sw $s0, 0x10($sp) +/* 7EB6AC 8024099C 0C00EABB */ jal get_npc_unsafe +/* 7EB6B0 802409A0 8C84014C */ lw $a0, 0x14c($a0) +/* 7EB6B4 802409A4 24040008 */ addiu $a0, $zero, 8 +/* 7EB6B8 802409A8 0040802D */ daddu $s0, $v0, $zero +/* 7EB6BC 802409AC 3C028024 */ lui $v0, 0x8024 +/* 7EB6C0 802409B0 244209FC */ addiu $v0, $v0, 0x9fc +/* 7EB6C4 802409B4 0C00AB39 */ jal heap_malloc +/* 7EB6C8 802409B8 AE020008 */ sw $v0, 8($s0) +/* 7EB6CC 802409BC 0040182D */ daddu $v1, $v0, $zero +/* 7EB6D0 802409C0 AE030020 */ sw $v1, 0x20($s0) +/* 7EB6D4 802409C4 AC600000 */ sw $zero, ($v1) +/* 7EB6D8 802409C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EB6DC 802409CC 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB6E0 802409D0 24020001 */ addiu $v0, $zero, 1 +/* 7EB6E4 802409D4 03E00008 */ jr $ra +/* 7EB6E8 802409D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802409DC.s b/asm/nonmatchings/world/area_mac/mac_00/func_802409DC.s new file mode 100644 index 0000000000..8dc0c582df --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802409DC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409DC +/* 7EB6EC 802409DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EB6F0 802409E0 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EB6F4 802409E4 0C00EABB */ jal get_npc_unsafe +/* 7EB6F8 802409E8 8C84014C */ lw $a0, 0x14c($a0) +/* 7EB6FC 802409EC 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EB700 802409F0 0000102D */ daddu $v0, $zero, $zero +/* 7EB704 802409F4 03E00008 */ jr $ra +/* 7EB708 802409F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802409FC.s b/asm/nonmatchings/world/area_mac/mac_00/func_802409FC.s new file mode 100644 index 0000000000..e48caf4b61 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802409FC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409FC +/* 7EB70C 802409FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EB710 80240A00 3C03800A */ lui $v1, 0x800a +/* 7EB714 80240A04 8463A634 */ lh $v1, -0x59cc($v1) +/* 7EB718 80240A08 3C05800B */ lui $a1, %hi(gCameras) +/* 7EB71C 80240A0C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 7EB720 80240A10 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EB724 80240A14 00031080 */ sll $v0, $v1, 2 +/* 7EB728 80240A18 00431021 */ addu $v0, $v0, $v1 +/* 7EB72C 80240A1C 00021080 */ sll $v0, $v0, 2 +/* 7EB730 80240A20 00431023 */ subu $v0, $v0, $v1 +/* 7EB734 80240A24 000218C0 */ sll $v1, $v0, 3 +/* 7EB738 80240A28 00431021 */ addu $v0, $v0, $v1 +/* 7EB73C 80240A2C 8C830020 */ lw $v1, 0x20($a0) +/* 7EB740 80240A30 000210C0 */ sll $v0, $v0, 3 +/* 7EB744 80240A34 8C630000 */ lw $v1, ($v1) +/* 7EB748 80240A38 30630001 */ andi $v1, $v1, 1 +/* 7EB74C 80240A3C 10600004 */ beqz $v1, .L80240A50 +/* 7EB750 80240A40 00451021 */ addu $v0, $v0, $a1 +/* 7EB754 80240A44 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 7EB758 80240A48 0C00A6C9 */ jal clamp_angle +/* 7EB75C 80240A4C 46006307 */ neg.s $f12, $f12 +.L80240A50: +/* 7EB760 80240A50 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EB764 80240A54 03E00008 */ jr $ra +/* 7EB768 80240A58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240A5C.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240A5C.s new file mode 100644 index 0000000000..6e92a3e238 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240A5C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A5C +/* 7EB76C 80240A5C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7EB770 80240A60 AFB10014 */ sw $s1, 0x14($sp) +/* 7EB774 80240A64 0080882D */ daddu $s1, $a0, $zero +/* 7EB778 80240A68 AFBF0024 */ sw $ra, 0x24($sp) +/* 7EB77C 80240A6C AFB40020 */ sw $s4, 0x20($sp) +/* 7EB780 80240A70 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EB784 80240A74 AFB20018 */ sw $s2, 0x18($sp) +/* 7EB788 80240A78 10A00033 */ beqz $a1, .L80240B48 +/* 7EB78C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* 7EB790 80240A80 0C04760B */ jal func_8011D82C +/* 7EB794 80240A84 24040001 */ addiu $a0, $zero, 1 +/* 7EB798 80240A88 0000202D */ daddu $a0, $zero, $zero +/* 7EB79C 80240A8C 0080282D */ daddu $a1, $a0, $zero +/* 7EB7A0 80240A90 0080302D */ daddu $a2, $a0, $zero +/* 7EB7A4 80240A94 0080382D */ daddu $a3, $a0, $zero +/* 7EB7A8 80240A98 0080802D */ daddu $s0, $a0, $zero +/* 7EB7AC 80240A9C 2414FFFC */ addiu $s4, $zero, -4 +/* 7EB7B0 80240AA0 24130006 */ addiu $s3, $zero, 6 +/* 7EB7B4 80240AA4 3C120080 */ lui $s2, 0x80 +/* 7EB7B8 80240AA8 3C038015 */ lui $v1, 0x8015 +/* 7EB7BC 80240AAC 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 7EB7C0 80240AB0 24020001 */ addiu $v0, $zero, 1 +/* 7EB7C4 80240AB4 0C046F97 */ jal set_background_color_blend +/* 7EB7C8 80240AB8 A0620000 */ sb $v0, ($v1) +.L80240ABC: +/* 7EB7CC 80240ABC 0C00E2B7 */ jal get_npc_by_index +/* 7EB7D0 80240AC0 0200202D */ daddu $a0, $s0, $zero +/* 7EB7D4 80240AC4 0040202D */ daddu $a0, $v0, $zero +/* 7EB7D8 80240AC8 5080000B */ beql $a0, $zero, .L80240AF8 +/* 7EB7DC 80240ACC 26100001 */ addiu $s0, $s0, 1 +/* 7EB7E0 80240AD0 8C820000 */ lw $v0, ($a0) +/* 7EB7E4 80240AD4 50400008 */ beql $v0, $zero, .L80240AF8 +/* 7EB7E8 80240AD8 26100001 */ addiu $s0, $s0, 1 +/* 7EB7EC 80240ADC 808300A4 */ lb $v1, 0xa4($a0) +/* 7EB7F0 80240AE0 10740005 */ beq $v1, $s4, .L80240AF8 +/* 7EB7F4 80240AE4 26100001 */ addiu $s0, $s0, 1 +/* 7EB7F8 80240AE8 10730003 */ beq $v1, $s3, .L80240AF8 +/* 7EB7FC 80240AEC 00000000 */ nop +/* 7EB800 80240AF0 00521025 */ or $v0, $v0, $s2 +/* 7EB804 80240AF4 AC820000 */ sw $v0, ($a0) +.L80240AF8: +/* 7EB808 80240AF8 2A020040 */ slti $v0, $s0, 0x40 +/* 7EB80C 80240AFC 1440FFEF */ bnez $v0, .L80240ABC +/* 7EB810 80240B00 00000000 */ nop +/* 7EB814 80240B04 0000802D */ daddu $s0, $zero, $zero +/* 7EB818 80240B08 3C120800 */ lui $s2, 0x800 +.L80240B0C: +/* 7EB81C 80240B0C 0C04C3D6 */ jal get_item_entity +/* 7EB820 80240B10 0200202D */ daddu $a0, $s0, $zero +/* 7EB824 80240B14 0040182D */ daddu $v1, $v0, $zero +/* 7EB828 80240B18 10600007 */ beqz $v1, .L80240B38 +/* 7EB82C 80240B1C 26100001 */ addiu $s0, $s0, 1 +/* 7EB830 80240B20 8C640000 */ lw $a0, ($v1) +/* 7EB834 80240B24 30820010 */ andi $v0, $a0, 0x10 +/* 7EB838 80240B28 10400003 */ beqz $v0, .L80240B38 +/* 7EB83C 80240B2C 00000000 */ nop +/* 7EB840 80240B30 00921025 */ or $v0, $a0, $s2 +/* 7EB844 80240B34 AC620000 */ sw $v0, ($v1) +.L80240B38: +/* 7EB848 80240B38 2A020100 */ slti $v0, $s0, 0x100 +/* 7EB84C 80240B3C 1440FFF3 */ bnez $v0, .L80240B0C +/* 7EB850 80240B40 00000000 */ nop +/* 7EB854 80240B44 AE200070 */ sw $zero, 0x70($s1) +.L80240B48: +/* 7EB858 80240B48 8E220070 */ lw $v0, 0x70($s1) +/* 7EB85C 80240B4C 24420008 */ addiu $v0, $v0, 8 +/* 7EB860 80240B50 AE220070 */ sw $v0, 0x70($s1) +/* 7EB864 80240B54 28420100 */ slti $v0, $v0, 0x100 +/* 7EB868 80240B58 14400003 */ bnez $v0, .L80240B68 +/* 7EB86C 80240B5C 0000202D */ daddu $a0, $zero, $zero +/* 7EB870 80240B60 240200FF */ addiu $v0, $zero, 0xff +/* 7EB874 80240B64 AE220070 */ sw $v0, 0x70($s1) +.L80240B68: +/* 7EB878 80240B68 0080282D */ daddu $a1, $a0, $zero +/* 7EB87C 80240B6C 92270073 */ lbu $a3, 0x73($s1) +/* 7EB880 80240B70 0C046F97 */ jal set_background_color_blend +/* 7EB884 80240B74 0080302D */ daddu $a2, $a0, $zero +/* 7EB888 80240B78 8E220070 */ lw $v0, 0x70($s1) +/* 7EB88C 80240B7C 8FBF0024 */ lw $ra, 0x24($sp) +/* 7EB890 80240B80 8FB40020 */ lw $s4, 0x20($sp) +/* 7EB894 80240B84 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EB898 80240B88 8FB20018 */ lw $s2, 0x18($sp) +/* 7EB89C 80240B8C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EB8A0 80240B90 8FB00010 */ lw $s0, 0x10($sp) +/* 7EB8A4 80240B94 384200FF */ xori $v0, $v0, 0xff +/* 7EB8A8 80240B98 2C420001 */ sltiu $v0, $v0, 1 +/* 7EB8AC 80240B9C 00021040 */ sll $v0, $v0, 1 +/* 7EB8B0 80240BA0 03E00008 */ jr $ra +/* 7EB8B4 80240BA4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240BA8.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240BA8.s new file mode 100644 index 0000000000..346a0b274e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240BA8.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA8 +/* 7EB8B8 80240BA8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7EB8BC 80240BAC AFB00010 */ sw $s0, 0x10($sp) +/* 7EB8C0 80240BB0 0080802D */ daddu $s0, $a0, $zero +/* 7EB8C4 80240BB4 AFBF0020 */ sw $ra, 0x20($sp) +/* 7EB8C8 80240BB8 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EB8CC 80240BBC AFB20018 */ sw $s2, 0x18($sp) +/* 7EB8D0 80240BC0 10A00009 */ beqz $a1, .L80240BE8 +/* 7EB8D4 80240BC4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EB8D8 80240BC8 0000202D */ daddu $a0, $zero, $zero +/* 7EB8DC 80240BCC 0080282D */ daddu $a1, $a0, $zero +/* 7EB8E0 80240BD0 0080302D */ daddu $a2, $a0, $zero +/* 7EB8E4 80240BD4 0C046F97 */ jal set_background_color_blend +/* 7EB8E8 80240BD8 240700FF */ addiu $a3, $zero, 0xff +/* 7EB8EC 80240BDC 240200FF */ addiu $v0, $zero, 0xff +/* 7EB8F0 80240BE0 AE020070 */ sw $v0, 0x70($s0) +/* 7EB8F4 80240BE4 AE000074 */ sw $zero, 0x74($s0) +.L80240BE8: +/* 7EB8F8 80240BE8 8E020070 */ lw $v0, 0x70($s0) +/* 7EB8FC 80240BEC 2442FFF8 */ addiu $v0, $v0, -8 +/* 7EB900 80240BF0 04410002 */ bgez $v0, .L80240BFC +/* 7EB904 80240BF4 AE020070 */ sw $v0, 0x70($s0) +/* 7EB908 80240BF8 AE000070 */ sw $zero, 0x70($s0) +.L80240BFC: +/* 7EB90C 80240BFC 0000202D */ daddu $a0, $zero, $zero +/* 7EB910 80240C00 0080282D */ daddu $a1, $a0, $zero +/* 7EB914 80240C04 92070073 */ lbu $a3, 0x73($s0) +/* 7EB918 80240C08 0C046F97 */ jal set_background_color_blend +/* 7EB91C 80240C0C 0080302D */ daddu $a2, $a0, $zero +/* 7EB920 80240C10 8E020070 */ lw $v0, 0x70($s0) +/* 7EB924 80240C14 14400006 */ bnez $v0, .L80240C30 +/* 7EB928 80240C18 00000000 */ nop +/* 7EB92C 80240C1C 8E020074 */ lw $v0, 0x74($s0) +/* 7EB930 80240C20 14400003 */ bnez $v0, .L80240C30 +/* 7EB934 80240C24 24020001 */ addiu $v0, $zero, 1 +/* 7EB938 80240C28 0809033F */ j .L80240CFC +/* 7EB93C 80240C2C AE020074 */ sw $v0, 0x74($s0) +.L80240C30: +/* 7EB940 80240C30 8E030074 */ lw $v1, 0x74($s0) +/* 7EB944 80240C34 24020001 */ addiu $v0, $zero, 1 +/* 7EB948 80240C38 14620031 */ bne $v1, $v0, .L80240D00 +/* 7EB94C 80240C3C 0000102D */ daddu $v0, $zero, $zero +/* 7EB950 80240C40 0C04760B */ jal func_8011D82C +/* 7EB954 80240C44 0000202D */ daddu $a0, $zero, $zero +/* 7EB958 80240C48 0000802D */ daddu $s0, $zero, $zero +/* 7EB95C 80240C4C 2413FFFC */ addiu $s3, $zero, -4 +/* 7EB960 80240C50 24120006 */ addiu $s2, $zero, 6 +/* 7EB964 80240C54 3C11FF7F */ lui $s1, 0xff7f +/* 7EB968 80240C58 3C028015 */ lui $v0, 0x8015 +/* 7EB96C 80240C5C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 7EB970 80240C60 3631FFFF */ ori $s1, $s1, 0xffff +/* 7EB974 80240C64 A0400000 */ sb $zero, ($v0) +.L80240C68: +/* 7EB978 80240C68 0C00E2B7 */ jal get_npc_by_index +/* 7EB97C 80240C6C 0200202D */ daddu $a0, $s0, $zero +/* 7EB980 80240C70 0040202D */ daddu $a0, $v0, $zero +/* 7EB984 80240C74 5080000B */ beql $a0, $zero, .L80240CA4 +/* 7EB988 80240C78 26100001 */ addiu $s0, $s0, 1 +/* 7EB98C 80240C7C 8C820000 */ lw $v0, ($a0) +/* 7EB990 80240C80 50400008 */ beql $v0, $zero, .L80240CA4 +/* 7EB994 80240C84 26100001 */ addiu $s0, $s0, 1 +/* 7EB998 80240C88 808300A4 */ lb $v1, 0xa4($a0) +/* 7EB99C 80240C8C 10730005 */ beq $v1, $s3, .L80240CA4 +/* 7EB9A0 80240C90 26100001 */ addiu $s0, $s0, 1 +/* 7EB9A4 80240C94 10720003 */ beq $v1, $s2, .L80240CA4 +/* 7EB9A8 80240C98 00000000 */ nop +/* 7EB9AC 80240C9C 00511024 */ and $v0, $v0, $s1 +/* 7EB9B0 80240CA0 AC820000 */ sw $v0, ($a0) +.L80240CA4: +/* 7EB9B4 80240CA4 2A020040 */ slti $v0, $s0, 0x40 +/* 7EB9B8 80240CA8 1440FFEF */ bnez $v0, .L80240C68 +/* 7EB9BC 80240CAC 00000000 */ nop +/* 7EB9C0 80240CB0 0000802D */ daddu $s0, $zero, $zero +/* 7EB9C4 80240CB4 3C11F7FF */ lui $s1, 0xf7ff +/* 7EB9C8 80240CB8 3631FFFF */ ori $s1, $s1, 0xffff +.L80240CBC: +/* 7EB9CC 80240CBC 0C04C3D6 */ jal get_item_entity +/* 7EB9D0 80240CC0 0200202D */ daddu $a0, $s0, $zero +/* 7EB9D4 80240CC4 0040182D */ daddu $v1, $v0, $zero +/* 7EB9D8 80240CC8 10600007 */ beqz $v1, .L80240CE8 +/* 7EB9DC 80240CCC 26100001 */ addiu $s0, $s0, 1 +/* 7EB9E0 80240CD0 8C640000 */ lw $a0, ($v1) +/* 7EB9E4 80240CD4 30820010 */ andi $v0, $a0, 0x10 +/* 7EB9E8 80240CD8 10400003 */ beqz $v0, .L80240CE8 +/* 7EB9EC 80240CDC 00000000 */ nop +/* 7EB9F0 80240CE0 00911024 */ and $v0, $a0, $s1 +/* 7EB9F4 80240CE4 AC620000 */ sw $v0, ($v1) +.L80240CE8: +/* 7EB9F8 80240CE8 2A020100 */ slti $v0, $s0, 0x100 +/* 7EB9FC 80240CEC 1440FFF3 */ bnez $v0, .L80240CBC +/* 7EBA00 80240CF0 24020002 */ addiu $v0, $zero, 2 +/* 7EBA04 80240CF4 08090340 */ j .L80240D00 +/* 7EBA08 80240CF8 00000000 */ nop +.L80240CFC: +/* 7EBA0C 80240CFC 0000102D */ daddu $v0, $zero, $zero +.L80240D00: +/* 7EBA10 80240D00 8FBF0020 */ lw $ra, 0x20($sp) +/* 7EBA14 80240D04 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EBA18 80240D08 8FB20018 */ lw $s2, 0x18($sp) +/* 7EBA1C 80240D0C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EBA20 80240D10 8FB00010 */ lw $s0, 0x10($sp) +/* 7EBA24 80240D14 03E00008 */ jr $ra +/* 7EBA28 80240D18 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240D1C.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240D1C.s new file mode 100644 index 0000000000..51ce9f43d8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240D1C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D1C +/* 7EBA2C 80240D1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EBA30 80240D20 AFB00010 */ sw $s0, 0x10($sp) +/* 7EBA34 80240D24 3C108011 */ lui $s0, %hi(gPlayerData) +/* 7EBA38 80240D28 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 7EBA3C 80240D2C AFBF0018 */ sw $ra, 0x18($sp) +/* 7EBA40 80240D30 AFB10014 */ sw $s1, 0x14($sp) +/* 7EBA44 80240D34 960302C0 */ lhu $v1, 0x2c0($s0) +/* 7EBA48 80240D38 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 7EBA4C 80240D3C 10400003 */ beqz $v0, .L80240D4C +/* 7EBA50 80240D40 0080882D */ daddu $s1, $a0, $zero +/* 7EBA54 80240D44 24620001 */ addiu $v0, $v1, 1 +/* 7EBA58 80240D48 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240D4C: +/* 7EBA5C 80240D4C 3C05F5DE */ lui $a1, 0xf5de +/* 7EBA60 80240D50 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 7EBA64 80240D54 0C0B1EAF */ jal get_variable +/* 7EBA68 80240D58 0000202D */ daddu $a0, $zero, $zero +/* 7EBA6C 80240D5C 3C038024 */ lui $v1, 0x8024 +/* 7EBA70 80240D60 00621821 */ addu $v1, $v1, $v0 +/* 7EBA74 80240D64 90635E24 */ lbu $v1, 0x5e24($v1) +/* 7EBA78 80240D68 8E220084 */ lw $v0, 0x84($s1) +/* 7EBA7C 80240D6C 54430006 */ bnel $v0, $v1, .L80240D88 +/* 7EBA80 80240D70 AE200084 */ sw $zero, 0x84($s1) +/* 7EBA84 80240D74 24020001 */ addiu $v0, $zero, 1 +/* 7EBA88 80240D78 AE220084 */ sw $v0, 0x84($s1) +/* 7EBA8C 80240D7C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 7EBA90 80240D80 24420001 */ addiu $v0, $v0, 1 +/* 7EBA94 80240D84 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240D88: +/* 7EBA98 80240D88 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EBA9C 80240D8C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EBAA0 80240D90 8FB00010 */ lw $s0, 0x10($sp) +/* 7EBAA4 80240D94 24020002 */ addiu $v0, $zero, 2 +/* 7EBAA8 80240D98 03E00008 */ jr $ra +/* 7EBAAC 80240D9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240DA0.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240DA0.s new file mode 100644 index 0000000000..11e965cb2b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240DA0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA0 +/* 7EBAB0 80240DA0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 7EBAB4 80240DA4 AFB1001C */ sw $s1, 0x1c($sp) +/* 7EBAB8 80240DA8 AFBF0020 */ sw $ra, 0x20($sp) +/* 7EBABC 80240DAC AFB00018 */ sw $s0, 0x18($sp) +/* 7EBAC0 80240DB0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 7EBAC4 80240DB4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 7EBAC8 80240DB8 10A00060 */ beqz $a1, .L80240F3C +/* 7EBACC 80240DBC 0080882D */ daddu $s1, $a0, $zero +/* 7EBAD0 80240DC0 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBAD4 80240DC4 0C0B1EAF */ jal get_variable +/* 7EBAD8 80240DC8 34A5D481 */ ori $a1, $a1, 0xd481 +/* 7EBADC 80240DCC 0220202D */ daddu $a0, $s1, $zero +/* 7EBAE0 80240DD0 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBAE4 80240DD4 4482B000 */ mtc1 $v0, $f22 +/* 7EBAE8 80240DD8 00000000 */ nop +/* 7EBAEC 80240DDC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EBAF0 80240DE0 0C0B1EAF */ jal get_variable +/* 7EBAF4 80240DE4 34A5D482 */ ori $a1, $a1, 0xd482 +/* 7EBAF8 80240DE8 0220202D */ daddu $a0, $s1, $zero +/* 7EBAFC 80240DEC 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBB00 80240DF0 4482A000 */ mtc1 $v0, $f20 +/* 7EBB04 80240DF4 00000000 */ nop +/* 7EBB08 80240DF8 4680A520 */ cvt.s.w $f20, $f20 +/* 7EBB0C 80240DFC 0C0B1EAF */ jal get_variable +/* 7EBB10 80240E00 34A5D483 */ ori $a1, $a1, 0xd483 +/* 7EBB14 80240E04 44821000 */ mtc1 $v0, $f2 +/* 7EBB18 80240E08 00000000 */ nop +/* 7EBB1C 80240E0C 468010A0 */ cvt.s.w $f2, $f2 +/* 7EBB20 80240E10 4405B000 */ mfc1 $a1, $f22 +/* 7EBB24 80240E14 4406A000 */ mfc1 $a2, $f20 +/* 7EBB28 80240E18 44071000 */ mfc1 $a3, $f2 +/* 7EBB2C 80240E1C 0C01C574 */ jal func_800715D0 +/* 7EBB30 80240E20 0000202D */ daddu $a0, $zero, $zero +/* 7EBB34 80240E24 0220202D */ daddu $a0, $s1, $zero +/* 7EBB38 80240E28 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBB3C 80240E2C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 7EBB40 80240E30 3C108025 */ lui $s0, 0x8025 +/* 7EBB44 80240E34 26105B90 */ addiu $s0, $s0, 0x5b90 +/* 7EBB48 80240E38 0C0B1EAF */ jal get_variable +/* 7EBB4C 80240E3C AE020000 */ sw $v0, ($s0) +/* 7EBB50 80240E40 0220202D */ daddu $a0, $s1, $zero +/* 7EBB54 80240E44 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBB58 80240E48 4482B000 */ mtc1 $v0, $f22 +/* 7EBB5C 80240E4C 00000000 */ nop +/* 7EBB60 80240E50 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EBB64 80240E54 0C0B1EAF */ jal get_variable +/* 7EBB68 80240E58 34A5D482 */ ori $a1, $a1, 0xd482 +/* 7EBB6C 80240E5C 0220202D */ daddu $a0, $s1, $zero +/* 7EBB70 80240E60 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBB74 80240E64 4482A000 */ mtc1 $v0, $f20 +/* 7EBB78 80240E68 00000000 */ nop +/* 7EBB7C 80240E6C 4680A520 */ cvt.s.w $f20, $f20 +/* 7EBB80 80240E70 0C0B1EAF */ jal get_variable +/* 7EBB84 80240E74 34A5D483 */ ori $a1, $a1, 0xd483 +/* 7EBB88 80240E78 44821000 */ mtc1 $v0, $f2 +/* 7EBB8C 80240E7C 00000000 */ nop +/* 7EBB90 80240E80 468010A0 */ cvt.s.w $f2, $f2 +/* 7EBB94 80240E84 4405B000 */ mfc1 $a1, $f22 +/* 7EBB98 80240E88 4406A000 */ mfc1 $a2, $f20 +/* 7EBB9C 80240E8C 44071000 */ mfc1 $a3, $f2 +/* 7EBBA0 80240E90 0C01C604 */ jal func_80071810 +/* 7EBBA4 80240E94 0000202D */ daddu $a0, $zero, $zero +/* 7EBBA8 80240E98 0220202D */ daddu $a0, $s1, $zero +/* 7EBBAC 80240E9C 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBBB0 80240EA0 3C018025 */ lui $at, 0x8025 +/* 7EBBB4 80240EA4 AC225B94 */ sw $v0, 0x5b94($at) +/* 7EBBB8 80240EA8 0C0B1EAF */ jal get_variable +/* 7EBBBC 80240EAC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 7EBBC0 80240EB0 0220202D */ daddu $a0, $s1, $zero +/* 7EBBC4 80240EB4 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBBC8 80240EB8 4482B000 */ mtc1 $v0, $f22 +/* 7EBBCC 80240EBC 00000000 */ nop +/* 7EBBD0 80240EC0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EBBD4 80240EC4 0C0B1EAF */ jal get_variable +/* 7EBBD8 80240EC8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 7EBBDC 80240ECC 0220202D */ daddu $a0, $s1, $zero +/* 7EBBE0 80240ED0 3C05F4AC */ lui $a1, 0xf4ac +/* 7EBBE4 80240ED4 4482A000 */ mtc1 $v0, $f20 +/* 7EBBE8 80240ED8 00000000 */ nop +/* 7EBBEC 80240EDC 4680A520 */ cvt.s.w $f20, $f20 +/* 7EBBF0 80240EE0 0C0B1EAF */ jal get_variable +/* 7EBBF4 80240EE4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 7EBBF8 80240EE8 44821000 */ mtc1 $v0, $f2 +/* 7EBBFC 80240EEC 00000000 */ nop +/* 7EBC00 80240EF0 468010A0 */ cvt.s.w $f2, $f2 +/* 7EBC04 80240EF4 4405B000 */ mfc1 $a1, $f22 +/* 7EBC08 80240EF8 4406A000 */ mfc1 $a2, $f20 +/* 7EBC0C 80240EFC 3C013F80 */ lui $at, 0x3f80 +/* 7EBC10 80240F00 44810000 */ mtc1 $at, $f0 +/* 7EBC14 80240F04 44071000 */ mfc1 $a3, $f2 +/* 7EBC18 80240F08 0000202D */ daddu $a0, $zero, $zero +/* 7EBC1C 80240F0C AFA00014 */ sw $zero, 0x14($sp) +/* 7EBC20 80240F10 0C01CA24 */ jal func_80072890 +/* 7EBC24 80240F14 E7A00010 */ swc1 $f0, 0x10($sp) +/* 7EBC28 80240F18 8E030000 */ lw $v1, ($s0) +/* 7EBC2C 80240F1C 8C64000C */ lw $a0, 0xc($v1) +/* 7EBC30 80240F20 3C018025 */ lui $at, 0x8025 +/* 7EBC34 80240F24 AC225B98 */ sw $v0, 0x5b98($at) +/* 7EBC38 80240F28 AC800018 */ sw $zero, 0x18($a0) +/* 7EBC3C 80240F2C AC800020 */ sw $zero, 0x20($a0) +/* 7EBC40 80240F30 AC800024 */ sw $zero, 0x24($a0) +/* 7EBC44 80240F34 AC800028 */ sw $zero, 0x28($a0) +/* 7EBC48 80240F38 AC80001C */ sw $zero, 0x1c($a0) +.L80240F3C: +/* 7EBC4C 80240F3C 3C028025 */ lui $v0, 0x8025 +/* 7EBC50 80240F40 8C425B90 */ lw $v0, 0x5b90($v0) +/* 7EBC54 80240F44 8C44000C */ lw $a0, 0xc($v0) +/* 7EBC58 80240F48 8C820020 */ lw $v0, 0x20($a0) +/* 7EBC5C 80240F4C 8C830028 */ lw $v1, 0x28($a0) +/* 7EBC60 80240F50 2442000A */ addiu $v0, $v0, 0xa +/* 7EBC64 80240F54 AC820020 */ sw $v0, 0x20($a0) +/* 7EBC68 80240F58 8C820024 */ lw $v0, 0x24($a0) +/* 7EBC6C 80240F5C 2463000A */ addiu $v1, $v1, 0xa +/* 7EBC70 80240F60 AC830028 */ sw $v1, 0x28($a0) +/* 7EBC74 80240F64 8C830018 */ lw $v1, 0x18($a0) +/* 7EBC78 80240F68 2442000A */ addiu $v0, $v0, 0xa +/* 7EBC7C 80240F6C AC820024 */ sw $v0, 0x24($a0) +/* 7EBC80 80240F70 8C82001C */ lw $v0, 0x1c($a0) +/* 7EBC84 80240F74 2463000A */ addiu $v1, $v1, 0xa +/* 7EBC88 80240F78 AC830018 */ sw $v1, 0x18($a0) +/* 7EBC8C 80240F7C 286300FF */ slti $v1, $v1, 0xff +/* 7EBC90 80240F80 2442000A */ addiu $v0, $v0, 0xa +/* 7EBC94 80240F84 AC82001C */ sw $v0, 0x1c($a0) +/* 7EBC98 80240F88 14600004 */ bnez $v1, .L80240F9C +/* 7EBC9C 80240F8C 0000102D */ daddu $v0, $zero, $zero +/* 7EBCA0 80240F90 240200FF */ addiu $v0, $zero, 0xff +/* 7EBCA4 80240F94 AC820018 */ sw $v0, 0x18($a0) +/* 7EBCA8 80240F98 24020002 */ addiu $v0, $zero, 2 +.L80240F9C: +/* 7EBCAC 80240F9C 8FBF0020 */ lw $ra, 0x20($sp) +/* 7EBCB0 80240FA0 8FB1001C */ lw $s1, 0x1c($sp) +/* 7EBCB4 80240FA4 8FB00018 */ lw $s0, 0x18($sp) +/* 7EBCB8 80240FA8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 7EBCBC 80240FAC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 7EBCC0 80240FB0 03E00008 */ jr $ra +/* 7EBCC4 80240FB4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80240FB8.s b/asm/nonmatchings/world/area_mac/mac_00/func_80240FB8.s new file mode 100644 index 0000000000..cfb7958307 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80240FB8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB8 +/* 7EBCC8 80240FB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EBCCC 80240FBC 10A0000B */ beqz $a1, .L80240FEC +/* 7EBCD0 80240FC0 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EBCD4 80240FC4 3C038025 */ lui $v1, 0x8025 +/* 7EBCD8 80240FC8 8C635B94 */ lw $v1, 0x5b94($v1) +/* 7EBCDC 80240FCC 8C620000 */ lw $v0, ($v1) +/* 7EBCE0 80240FD0 3C048025 */ lui $a0, 0x8025 +/* 7EBCE4 80240FD4 8C845B98 */ lw $a0, 0x5b98($a0) +/* 7EBCE8 80240FD8 34420010 */ ori $v0, $v0, 0x10 +/* 7EBCEC 80240FDC AC620000 */ sw $v0, ($v1) +/* 7EBCF0 80240FE0 8C820000 */ lw $v0, ($a0) +/* 7EBCF4 80240FE4 34420010 */ ori $v0, $v0, 0x10 +/* 7EBCF8 80240FE8 AC820000 */ sw $v0, ($a0) +.L80240FEC: +/* 7EBCFC 80240FEC 3C048025 */ lui $a0, 0x8025 +/* 7EBD00 80240FF0 8C845B90 */ lw $a0, 0x5b90($a0) +/* 7EBD04 80240FF4 8C85000C */ lw $a1, 0xc($a0) +/* 7EBD08 80240FF8 8CA20018 */ lw $v0, 0x18($a1) +/* 7EBD0C 80240FFC 8CA30020 */ lw $v1, 0x20($a1) +/* 7EBD10 80241000 2442FFF6 */ addiu $v0, $v0, -0xa +/* 7EBD14 80241004 ACA20018 */ sw $v0, 0x18($a1) +/* 7EBD18 80241008 8CA20024 */ lw $v0, 0x24($a1) +/* 7EBD1C 8024100C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 7EBD20 80241010 ACA30020 */ sw $v1, 0x20($a1) +/* 7EBD24 80241014 8CA30028 */ lw $v1, 0x28($a1) +/* 7EBD28 80241018 2442FFF6 */ addiu $v0, $v0, -0xa +/* 7EBD2C 8024101C ACA20024 */ sw $v0, 0x24($a1) +/* 7EBD30 80241020 8CA2001C */ lw $v0, 0x1c($a1) +/* 7EBD34 80241024 2463FFF6 */ addiu $v1, $v1, -0xa +/* 7EBD38 80241028 ACA30028 */ sw $v1, 0x28($a1) +/* 7EBD3C 8024102C 8CA30018 */ lw $v1, 0x18($a1) +/* 7EBD40 80241030 2442FFF6 */ addiu $v0, $v0, -0xa +/* 7EBD44 80241034 18600003 */ blez $v1, .L80241044 +/* 7EBD48 80241038 ACA2001C */ sw $v0, 0x1c($a1) +/* 7EBD4C 8024103C 08090418 */ j .L80241060 +/* 7EBD50 80241040 0000102D */ daddu $v0, $zero, $zero +.L80241044: +/* 7EBD54 80241044 0C016914 */ jal remove_effect +/* 7EBD58 80241048 ACA00018 */ sw $zero, 0x18($a1) +/* 7EBD5C 8024104C 3C048025 */ lui $a0, 0x8025 +/* 7EBD60 80241050 8C845B70 */ lw $a0, 0x5b70($a0) +/* 7EBD64 80241054 0C048D70 */ jal func_801235C0 +/* 7EBD68 80241058 00000000 */ nop +/* 7EBD6C 8024105C 24020002 */ addiu $v0, $zero, 2 +.L80241060: +/* 7EBD70 80241060 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EBD74 80241064 03E00008 */ jr $ra +/* 7EBD78 80241068 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024106C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024106C.s new file mode 100644 index 0000000000..407eee6329 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024106C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024106C +/* 7EBD7C 8024106C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EBD80 80241070 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EBD84 80241074 8C82000C */ lw $v0, 0xc($a0) +/* 7EBD88 80241078 0C0B1EAF */ jal get_variable +/* 7EBD8C 8024107C 8C450000 */ lw $a1, ($v0) +/* 7EBD90 80241080 3C038025 */ lui $v1, 0x8025 +/* 7EBD94 80241084 8C635B90 */ lw $v1, 0x5b90($v1) +/* 7EBD98 80241088 8C63000C */ lw $v1, 0xc($v1) +/* 7EBD9C 8024108C AC620034 */ sw $v0, 0x34($v1) +/* 7EBDA0 80241090 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EBDA4 80241094 24020002 */ addiu $v0, $zero, 2 +/* 7EBDA8 80241098 03E00008 */ jr $ra +/* 7EBDAC 8024109C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802410A0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802410A0.s new file mode 100644 index 0000000000..12ddfe6b53 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802410A0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410A0 +/* 7EBDB0 802410A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EBDB4 802410A4 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EBDB8 802410A8 8C82000C */ lw $v0, 0xc($a0) +/* 7EBDBC 802410AC 0C0B1EAF */ jal get_variable +/* 7EBDC0 802410B0 8C450000 */ lw $a1, ($v0) +/* 7EBDC4 802410B4 0040202D */ daddu $a0, $v0, $zero +/* 7EBDC8 802410B8 3C028025 */ lui $v0, 0x8025 +/* 7EBDCC 802410BC 8C425B90 */ lw $v0, 0x5b90($v0) +/* 7EBDD0 802410C0 24030001 */ addiu $v1, $zero, 1 +/* 7EBDD4 802410C4 8C45000C */ lw $a1, 0xc($v0) +/* 7EBDD8 802410C8 1083000D */ beq $a0, $v1, .L80241100 +/* 7EBDDC 802410CC 28820002 */ slti $v0, $a0, 2 +/* 7EBDE0 802410D0 10400005 */ beqz $v0, .L802410E8 +/* 7EBDE4 802410D4 24020002 */ addiu $v0, $zero, 2 +/* 7EBDE8 802410D8 10800007 */ beqz $a0, .L802410F8 +/* 7EBDEC 802410DC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 7EBDF0 802410E0 08090444 */ j .L80241110 +/* 7EBDF4 802410E4 ACA00038 */ sw $zero, 0x38($a1) +.L802410E8: +/* 7EBDF8 802410E8 10820008 */ beq $a0, $v0, .L8024110C +/* 7EBDFC 802410EC 24020040 */ addiu $v0, $zero, 0x40 +/* 7EBE00 802410F0 08090444 */ j .L80241110 +/* 7EBE04 802410F4 ACA00038 */ sw $zero, 0x38($a1) +.L802410F8: +/* 7EBE08 802410F8 08090444 */ j .L80241110 +/* 7EBE0C 802410FC ACA20038 */ sw $v0, 0x38($a1) +.L80241100: +/* 7EBE10 80241100 24020080 */ addiu $v0, $zero, 0x80 +/* 7EBE14 80241104 08090444 */ j .L80241110 +/* 7EBE18 80241108 ACA20038 */ sw $v0, 0x38($a1) +.L8024110C: +/* 7EBE1C 8024110C ACA20038 */ sw $v0, 0x38($a1) +.L80241110: +/* 7EBE20 80241110 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EBE24 80241114 24020002 */ addiu $v0, $zero, 2 +/* 7EBE28 80241118 03E00008 */ jr $ra +/* 7EBE2C 8024111C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241120.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241120.s new file mode 100644 index 0000000000..fd47a525a6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241120.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241120 +/* 7EBE30 80241120 3C028025 */ lui $v0, 0x8025 +/* 7EBE34 80241124 8C425B98 */ lw $v0, 0x5b98($v0) +/* 7EBE38 80241128 8C42000C */ lw $v0, 0xc($v0) +/* 7EBE3C 8024112C AC40001C */ sw $zero, 0x1c($v0) +/* 7EBE40 80241130 03E00008 */ jr $ra +/* 7EBE44 80241134 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241138.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241138.s new file mode 100644 index 0000000000..68c8472f5c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241138.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241138 +/* 7EBE48 80241138 3C028025 */ lui $v0, 0x8025 +/* 7EBE4C 8024113C 8C425B98 */ lw $v0, 0x5b98($v0) +/* 7EBE50 80241140 8C43000C */ lw $v1, 0xc($v0) +/* 7EBE54 80241144 24020001 */ addiu $v0, $zero, 1 +/* 7EBE58 80241148 AC62001C */ sw $v0, 0x1c($v1) +/* 7EBE5C 8024114C 03E00008 */ jr $ra +/* 7EBE60 80241150 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241154.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241154.s new file mode 100644 index 0000000000..2a3332e723 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241154.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241154 +/* 7EBE64 80241154 3C028025 */ lui $v0, 0x8025 +/* 7EBE68 80241158 8C425B98 */ lw $v0, 0x5b98($v0) +/* 7EBE6C 8024115C 8C43000C */ lw $v1, 0xc($v0) +/* 7EBE70 80241160 24020002 */ addiu $v0, $zero, 2 +/* 7EBE74 80241164 03E00008 */ jr $ra +/* 7EBE78 80241168 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024116C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024116C.s new file mode 100644 index 0000000000..20f72298c5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024116C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024116C +/* 7EBE7C 8024116C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EBE80 80241170 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 7EBE84 80241174 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 7EBE88 80241178 3C05FE36 */ lui $a1, 0xfe36 +/* 7EBE8C 8024117C AFBF0010 */ sw $ra, 0x10($sp) +/* 7EBE90 80241180 80460075 */ lb $a2, 0x75($v0) +/* 7EBE94 80241184 0C0B2026 */ jal set_variable +/* 7EBE98 80241188 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 7EBE9C 8024118C 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EBEA0 80241190 24020002 */ addiu $v0, $zero, 2 +/* 7EBEA4 80241194 03E00008 */ jr $ra +/* 7EBEA8 80241198 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024119C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024119C.s new file mode 100644 index 0000000000..9c92466858 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024119C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024119C +/* 7EBEAC 8024119C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EBEB0 802411A0 AFB10014 */ sw $s1, 0x14($sp) +/* 7EBEB4 802411A4 0080882D */ daddu $s1, $a0, $zero +/* 7EBEB8 802411A8 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EBEBC 802411AC AFB00010 */ sw $s0, 0x10($sp) +/* 7EBEC0 802411B0 8E30000C */ lw $s0, 0xc($s1) +/* 7EBEC4 802411B4 8E050000 */ lw $a1, ($s0) +/* 7EBEC8 802411B8 0C0B1EAF */ jal get_variable +/* 7EBECC 802411BC 26100004 */ addiu $s0, $s0, 4 +/* 7EBED0 802411C0 0220202D */ daddu $a0, $s1, $zero +/* 7EBED4 802411C4 8E050000 */ lw $a1, ($s0) +/* 7EBED8 802411C8 0C0B210B */ jal get_float_variable +/* 7EBEDC 802411CC 0040802D */ daddu $s0, $v0, $zero +/* 7EBEE0 802411D0 24020002 */ addiu $v0, $zero, 2 +/* 7EBEE4 802411D4 00501804 */ sllv $v1, $s0, $v0 +/* 7EBEE8 802411D8 00701821 */ addu $v1, $v1, $s0 +/* 7EBEEC 802411DC 00431804 */ sllv $v1, $v1, $v0 +/* 7EBEF0 802411E0 00701823 */ subu $v1, $v1, $s0 +/* 7EBEF4 802411E4 000320C0 */ sll $a0, $v1, 3 +/* 7EBEF8 802411E8 00641821 */ addu $v1, $v1, $a0 +/* 7EBEFC 802411EC 000318C0 */ sll $v1, $v1, 3 +/* 7EBF00 802411F0 3C01800B */ lui $at, 0x800b +/* 7EBF04 802411F4 00230821 */ addu $at, $at, $v1 +/* 7EBF08 802411F8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 7EBF0C 802411FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EBF10 80241200 8FB10014 */ lw $s1, 0x14($sp) +/* 7EBF14 80241204 8FB00010 */ lw $s0, 0x10($sp) +/* 7EBF18 80241208 03E00008 */ jr $ra +/* 7EBF1C 8024120C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241210.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241210.s new file mode 100644 index 0000000000..e5f6878ad0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241210.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241210 +/* 7EBF20 80241210 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EBF24 80241214 AFB10014 */ sw $s1, 0x14($sp) +/* 7EBF28 80241218 0080882D */ daddu $s1, $a0, $zero +/* 7EBF2C 8024121C AFBF0018 */ sw $ra, 0x18($sp) +/* 7EBF30 80241220 AFB00010 */ sw $s0, 0x10($sp) +/* 7EBF34 80241224 8E30000C */ lw $s0, 0xc($s1) +/* 7EBF38 80241228 8E050000 */ lw $a1, ($s0) +/* 7EBF3C 8024122C 0C0B1EAF */ jal get_variable +/* 7EBF40 80241230 26100004 */ addiu $s0, $s0, 4 +/* 7EBF44 80241234 00021880 */ sll $v1, $v0, 2 +/* 7EBF48 80241238 00621821 */ addu $v1, $v1, $v0 +/* 7EBF4C 8024123C 00031880 */ sll $v1, $v1, 2 +/* 7EBF50 80241240 00621823 */ subu $v1, $v1, $v0 +/* 7EBF54 80241244 000310C0 */ sll $v0, $v1, 3 +/* 7EBF58 80241248 00621821 */ addu $v1, $v1, $v0 +/* 7EBF5C 8024124C 000318C0 */ sll $v1, $v1, 3 +/* 7EBF60 80241250 3C01800B */ lui $at, 0x800b +/* 7EBF64 80241254 00230821 */ addu $at, $at, $v1 +/* 7EBF68 80241258 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 7EBF6C 8024125C 3C014480 */ lui $at, 0x4480 +/* 7EBF70 80241260 44810000 */ mtc1 $at, $f0 +/* 7EBF74 80241264 00000000 */ nop +/* 7EBF78 80241268 46001082 */ mul.s $f2, $f2, $f0 +/* 7EBF7C 8024126C 00000000 */ nop +/* 7EBF80 80241270 3C01CD5B */ lui $at, 0xcd5b +/* 7EBF84 80241274 34215858 */ ori $at, $at, 0x5858 +/* 7EBF88 80241278 44810000 */ mtc1 $at, $f0 +/* 7EBF8C 8024127C 00000000 */ nop +/* 7EBF90 80241280 46001080 */ add.s $f2, $f2, $f0 +/* 7EBF94 80241284 8E050000 */ lw $a1, ($s0) +/* 7EBF98 80241288 4600110D */ trunc.w.s $f4, $f2 +/* 7EBF9C 8024128C 44062000 */ mfc1 $a2, $f4 +/* 7EBFA0 80241290 0C0B2026 */ jal set_variable +/* 7EBFA4 80241294 0220202D */ daddu $a0, $s1, $zero +/* 7EBFA8 80241298 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EBFAC 8024129C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EBFB0 802412A0 8FB00010 */ lw $s0, 0x10($sp) +/* 7EBFB4 802412A4 24020002 */ addiu $v0, $zero, 2 +/* 7EBFB8 802412A8 03E00008 */ jr $ra +/* 7EBFBC 802412AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802412B0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802412B0.s new file mode 100644 index 0000000000..f0f074b686 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802412B0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B0 +/* 7EBFC0 802412B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7EBFC4 802412B4 AFB20018 */ sw $s2, 0x18($sp) +/* 7EBFC8 802412B8 0080902D */ daddu $s2, $a0, $zero +/* 7EBFCC 802412BC AFBF0030 */ sw $ra, 0x30($sp) +/* 7EBFD0 802412C0 AFB7002C */ sw $s7, 0x2c($sp) +/* 7EBFD4 802412C4 AFB60028 */ sw $s6, 0x28($sp) +/* 7EBFD8 802412C8 AFB50024 */ sw $s5, 0x24($sp) +/* 7EBFDC 802412CC AFB40020 */ sw $s4, 0x20($sp) +/* 7EBFE0 802412D0 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EBFE4 802412D4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EBFE8 802412D8 AFB00010 */ sw $s0, 0x10($sp) +/* 7EBFEC 802412DC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 7EBFF0 802412E0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 7EBFF4 802412E4 8E50000C */ lw $s0, 0xc($s2) +/* 7EBFF8 802412E8 8E050000 */ lw $a1, ($s0) +/* 7EBFFC 802412EC 0C0B1EAF */ jal get_variable +/* 7EC000 802412F0 26100004 */ addiu $s0, $s0, 4 +/* 7EC004 802412F4 8E050000 */ lw $a1, ($s0) +/* 7EC008 802412F8 26100004 */ addiu $s0, $s0, 4 +/* 7EC00C 802412FC 0240202D */ daddu $a0, $s2, $zero +/* 7EC010 80241300 0C0B1EAF */ jal get_variable +/* 7EC014 80241304 0040B82D */ daddu $s7, $v0, $zero +/* 7EC018 80241308 8E050000 */ lw $a1, ($s0) +/* 7EC01C 8024130C 26100004 */ addiu $s0, $s0, 4 +/* 7EC020 80241310 0240202D */ daddu $a0, $s2, $zero +/* 7EC024 80241314 0C0B1EAF */ jal get_variable +/* 7EC028 80241318 0040B02D */ daddu $s6, $v0, $zero +/* 7EC02C 8024131C 0240202D */ daddu $a0, $s2, $zero +/* 7EC030 80241320 3C05F4AC */ lui $a1, 0xf4ac +/* 7EC034 80241324 34A5D481 */ ori $a1, $a1, 0xd481 +/* 7EC038 80241328 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 7EC03C 8024132C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 7EC040 80241330 8E140000 */ lw $s4, ($s0) +/* 7EC044 80241334 00061880 */ sll $v1, $a2, 2 +/* 7EC048 80241338 00661821 */ addu $v1, $v1, $a2 +/* 7EC04C 8024133C 00031880 */ sll $v1, $v1, 2 +/* 7EC050 80241340 00661823 */ subu $v1, $v1, $a2 +/* 7EC054 80241344 000330C0 */ sll $a2, $v1, 3 +/* 7EC058 80241348 00661821 */ addu $v1, $v1, $a2 +/* 7EC05C 8024134C 000318C0 */ sll $v1, $v1, 3 +/* 7EC060 80241350 3C01800B */ lui $at, 0x800b +/* 7EC064 80241354 00230821 */ addu $at, $at, $v1 +/* 7EC068 80241358 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 7EC06C 8024135C 8E150004 */ lw $s5, 4($s0) +/* 7EC070 80241360 4600010D */ trunc.w.s $f4, $f0 +/* 7EC074 80241364 44112000 */ mfc1 $s1, $f4 +/* 7EC078 80241368 0C0B1EAF */ jal get_variable +/* 7EC07C 8024136C 0040982D */ daddu $s3, $v0, $zero +/* 7EC080 80241370 4491B000 */ mtc1 $s1, $f22 +/* 7EC084 80241374 00000000 */ nop +/* 7EC088 80241378 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EC08C 8024137C 4600B306 */ mov.s $f12, $f22 +/* 7EC090 80241380 0C00A8D4 */ jal cos_deg +/* 7EC094 80241384 0040802D */ daddu $s0, $v0, $zero +/* 7EC098 80241388 4493A000 */ mtc1 $s3, $f20 +/* 7EC09C 8024138C 00000000 */ nop +/* 7EC0A0 80241390 4680A520 */ cvt.s.w $f20, $f20 +/* 7EC0A4 80241394 4600A002 */ mul.s $f0, $f20, $f0 +/* 7EC0A8 80241398 00000000 */ nop +/* 7EC0AC 8024139C 0240202D */ daddu $a0, $s2, $zero +/* 7EC0B0 802413A0 44901000 */ mtc1 $s0, $f2 +/* 7EC0B4 802413A4 00000000 */ nop +/* 7EC0B8 802413A8 468010A0 */ cvt.s.w $f2, $f2 +/* 7EC0BC 802413AC 46001081 */ sub.s $f2, $f2, $f0 +/* 7EC0C0 802413B0 3C05F4AC */ lui $a1, 0xf4ac +/* 7EC0C4 802413B4 4600110D */ trunc.w.s $f4, $f2 +/* 7EC0C8 802413B8 44102000 */ mfc1 $s0, $f4 +/* 7EC0CC 802413BC 0C0B1EAF */ jal get_variable +/* 7EC0D0 802413C0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 7EC0D4 802413C4 4600B306 */ mov.s $f12, $f22 +/* 7EC0D8 802413C8 0C00A8BB */ jal sin_deg +/* 7EC0DC 802413CC 0040882D */ daddu $s1, $v0, $zero +/* 7EC0E0 802413D0 4600A502 */ mul.s $f20, $f20, $f0 +/* 7EC0E4 802413D4 00000000 */ nop +/* 7EC0E8 802413D8 0240202D */ daddu $a0, $s2, $zero +/* 7EC0EC 802413DC 44910000 */ mtc1 $s1, $f0 +/* 7EC0F0 802413E0 00000000 */ nop +/* 7EC0F4 802413E4 46800020 */ cvt.s.w $f0, $f0 +/* 7EC0F8 802413E8 46140001 */ sub.s $f0, $f0, $f20 +/* 7EC0FC 802413EC 0280282D */ daddu $a1, $s4, $zero +/* 7EC100 802413F0 02173023 */ subu $a2, $s0, $s7 +/* 7EC104 802413F4 4600010D */ trunc.w.s $f4, $f0 +/* 7EC108 802413F8 44102000 */ mfc1 $s0, $f4 +/* 7EC10C 802413FC 0C0B2026 */ jal set_variable +/* 7EC110 80241400 02168023 */ subu $s0, $s0, $s6 +/* 7EC114 80241404 0240202D */ daddu $a0, $s2, $zero +/* 7EC118 80241408 02A0282D */ daddu $a1, $s5, $zero +/* 7EC11C 8024140C 0C0B2026 */ jal set_variable +/* 7EC120 80241410 0200302D */ daddu $a2, $s0, $zero +/* 7EC124 80241414 8FBF0030 */ lw $ra, 0x30($sp) +/* 7EC128 80241418 8FB7002C */ lw $s7, 0x2c($sp) +/* 7EC12C 8024141C 8FB60028 */ lw $s6, 0x28($sp) +/* 7EC130 80241420 8FB50024 */ lw $s5, 0x24($sp) +/* 7EC134 80241424 8FB40020 */ lw $s4, 0x20($sp) +/* 7EC138 80241428 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EC13C 8024142C 8FB20018 */ lw $s2, 0x18($sp) +/* 7EC140 80241430 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC144 80241434 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC148 80241438 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 7EC14C 8024143C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 7EC150 80241440 24020002 */ addiu $v0, $zero, 2 +/* 7EC154 80241444 03E00008 */ jr $ra +/* 7EC158 80241448 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024144C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024144C.s new file mode 100644 index 0000000000..d8948daed4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024144C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024144C +/* 7EC15C 8024144C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 7EC160 80241450 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 7EC164 80241454 10A00002 */ beqz $a1, .L80241460 +/* 7EC168 80241458 2402003C */ addiu $v0, $zero, 0x3c +/* 7EC16C 8024145C AC820070 */ sw $v0, 0x70($a0) +.L80241460: +/* 7EC170 80241460 C4620080 */ lwc1 $f2, 0x80($v1) +/* 7EC174 80241464 3C0141F0 */ lui $at, 0x41f0 +/* 7EC178 80241468 44810000 */ mtc1 $at, $f0 +/* 7EC17C 8024146C 00000000 */ nop +/* 7EC180 80241470 46001000 */ add.s $f0, $f2, $f0 +/* 7EC184 80241474 3C0143B4 */ lui $at, 0x43b4 +/* 7EC188 80241478 44811000 */ mtc1 $at, $f2 +/* 7EC18C 8024147C 00000000 */ nop +/* 7EC190 80241480 4600103E */ c.le.s $f2, $f0 +/* 7EC194 80241484 00000000 */ nop +/* 7EC198 80241488 45000003 */ bc1f .L80241498 +/* 7EC19C 8024148C E4600080 */ swc1 $f0, 0x80($v1) +/* 7EC1A0 80241490 46020001 */ sub.s $f0, $f0, $f2 +/* 7EC1A4 80241494 E4600080 */ swc1 $f0, 0x80($v1) +.L80241498: +/* 7EC1A8 80241498 8C820070 */ lw $v0, 0x70($a0) +/* 7EC1AC 8024149C 2442FFFF */ addiu $v0, $v0, -1 +/* 7EC1B0 802414A0 AC820070 */ sw $v0, 0x70($a0) +/* 7EC1B4 802414A4 000217C3 */ sra $v0, $v0, 0x1f +/* 7EC1B8 802414A8 03E00008 */ jr $ra +/* 7EC1BC 802414AC 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802414B0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802414B0.s new file mode 100644 index 0000000000..b5f053e679 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802414B0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414B0 +/* 7EC1C0 802414B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EC1C4 802414B4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EC1C8 802414B8 0080882D */ daddu $s1, $a0, $zero +/* 7EC1CC 802414BC AFB00010 */ sw $s0, 0x10($sp) +/* 7EC1D0 802414C0 00A0802D */ daddu $s0, $a1, $zero +/* 7EC1D4 802414C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EC1D8 802414C8 0C00EABB */ jal get_npc_unsafe +/* 7EC1DC 802414CC 2404FFFC */ addiu $a0, $zero, -4 +/* 7EC1E0 802414D0 12000003 */ beqz $s0, .L802414E0 +/* 7EC1E4 802414D4 0040182D */ daddu $v1, $v0, $zero +/* 7EC1E8 802414D8 2402003C */ addiu $v0, $zero, 0x3c +/* 7EC1EC 802414DC AE220070 */ sw $v0, 0x70($s1) +.L802414E0: +/* 7EC1F0 802414E0 C462000C */ lwc1 $f2, 0xc($v1) +/* 7EC1F4 802414E4 3C0141F0 */ lui $at, 0x41f0 +/* 7EC1F8 802414E8 44810000 */ mtc1 $at, $f0 +/* 7EC1FC 802414EC 00000000 */ nop +/* 7EC200 802414F0 46001000 */ add.s $f0, $f2, $f0 +/* 7EC204 802414F4 3C0143B4 */ lui $at, 0x43b4 +/* 7EC208 802414F8 44811000 */ mtc1 $at, $f2 +/* 7EC20C 802414FC 00000000 */ nop +/* 7EC210 80241500 4600103E */ c.le.s $f2, $f0 +/* 7EC214 80241504 00000000 */ nop +/* 7EC218 80241508 45000003 */ bc1f .L80241518 +/* 7EC21C 8024150C E460000C */ swc1 $f0, 0xc($v1) +/* 7EC220 80241510 46020001 */ sub.s $f0, $f0, $f2 +/* 7EC224 80241514 E460000C */ swc1 $f0, 0xc($v1) +.L80241518: +/* 7EC228 80241518 8E230070 */ lw $v1, 0x70($s1) +/* 7EC22C 8024151C 2463FFFF */ addiu $v1, $v1, -1 +/* 7EC230 80241520 000317C3 */ sra $v0, $v1, 0x1f +/* 7EC234 80241524 AE230070 */ sw $v1, 0x70($s1) +/* 7EC238 80241528 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EC23C 8024152C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC240 80241530 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC244 80241534 30420002 */ andi $v0, $v0, 2 +/* 7EC248 80241538 03E00008 */ jr $ra +/* 7EC24C 8024153C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241540.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241540.s new file mode 100644 index 0000000000..5fd7a1bf82 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241540.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241540 +/* 7EC250 80241540 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7EC254 80241544 AFB10014 */ sw $s1, 0x14($sp) +/* 7EC258 80241548 0080882D */ daddu $s1, $a0, $zero +/* 7EC25C 8024154C AFB00010 */ sw $s0, 0x10($sp) +/* 7EC260 80241550 00A0802D */ daddu $s0, $a1, $zero +/* 7EC264 80241554 AFBF001C */ sw $ra, 0x1c($sp) +/* 7EC268 80241558 AFB20018 */ sw $s2, 0x18($sp) +/* 7EC26C 8024155C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 7EC270 80241560 0C00EABB */ jal get_npc_unsafe +/* 7EC274 80241564 2404FFFC */ addiu $a0, $zero, -4 +/* 7EC278 80241568 12000017 */ beqz $s0, .L802415C8 +/* 7EC27C 8024156C 0040902D */ daddu $s2, $v0, $zero +/* 7EC280 80241570 0220202D */ daddu $a0, $s1, $zero +/* 7EC284 80241574 3C05FE36 */ lui $a1, 0xfe36 +/* 7EC288 80241578 0C0B210B */ jal get_float_variable +/* 7EC28C 8024157C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 7EC290 80241580 0220202D */ daddu $a0, $s1, $zero +/* 7EC294 80241584 3C05FE36 */ lui $a1, 0xfe36 +/* 7EC298 80241588 3C014270 */ lui $at, 0x4270 +/* 7EC29C 8024158C 4481A000 */ mtc1 $at, $f20 +/* 7EC2A0 80241590 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 7EC2A4 80241594 46140003 */ div.s $f0, $f0, $f20 +/* 7EC2A8 80241598 0C0B210B */ jal get_float_variable +/* 7EC2AC 8024159C E6200074 */ swc1 $f0, 0x74($s1) +/* 7EC2B0 802415A0 0220202D */ daddu $a0, $s1, $zero +/* 7EC2B4 802415A4 3C05FE36 */ lui $a1, 0xfe36 +/* 7EC2B8 802415A8 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 7EC2BC 802415AC 46140003 */ div.s $f0, $f0, $f20 +/* 7EC2C0 802415B0 0C0B210B */ jal get_float_variable +/* 7EC2C4 802415B4 E6200078 */ swc1 $f0, 0x78($s1) +/* 7EC2C8 802415B8 46140003 */ div.s $f0, $f0, $f20 +/* 7EC2CC 802415BC 2402003C */ addiu $v0, $zero, 0x3c +/* 7EC2D0 802415C0 E620007C */ swc1 $f0, 0x7c($s1) +/* 7EC2D4 802415C4 AE220070 */ sw $v0, 0x70($s1) +.L802415C8: +/* 7EC2D8 802415C8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 7EC2DC 802415CC C6220074 */ lwc1 $f2, 0x74($s1) +/* 7EC2E0 802415D0 46020000 */ add.s $f0, $f0, $f2 +/* 7EC2E4 802415D4 E6400038 */ swc1 $f0, 0x38($s2) +/* 7EC2E8 802415D8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 7EC2EC 802415DC C6220078 */ lwc1 $f2, 0x78($s1) +/* 7EC2F0 802415E0 46020000 */ add.s $f0, $f0, $f2 +/* 7EC2F4 802415E4 E640003C */ swc1 $f0, 0x3c($s2) +/* 7EC2F8 802415E8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 7EC2FC 802415EC C622007C */ lwc1 $f2, 0x7c($s1) +/* 7EC300 802415F0 46020000 */ add.s $f0, $f0, $f2 +/* 7EC304 802415F4 E6400040 */ swc1 $f0, 0x40($s2) +/* 7EC308 802415F8 8E230070 */ lw $v1, 0x70($s1) +/* 7EC30C 802415FC 2463FFFF */ addiu $v1, $v1, -1 +/* 7EC310 80241600 2C620001 */ sltiu $v0, $v1, 1 +/* 7EC314 80241604 AE230070 */ sw $v1, 0x70($s1) +/* 7EC318 80241608 8FBF001C */ lw $ra, 0x1c($sp) +/* 7EC31C 8024160C 8FB20018 */ lw $s2, 0x18($sp) +/* 7EC320 80241610 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC324 80241614 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC328 80241618 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 7EC32C 8024161C 00021040 */ sll $v0, $v0, 1 +/* 7EC330 80241620 03E00008 */ jr $ra +/* 7EC334 80241624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241628.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241628.s new file mode 100644 index 0000000000..acad20b4dd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241628.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241628 +/* 7EC338 80241628 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC33C 8024162C 3C058025 */ lui $a1, 0x8025 +/* 7EC340 80241630 8CA55B88 */ lw $a1, 0x5b88($a1) +/* 7EC344 80241634 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC348 80241638 0C0B1EAF */ jal get_variable +/* 7EC34C 8024163C 0000202D */ daddu $a0, $zero, $zero +/* 7EC350 80241640 0040182D */ daddu $v1, $v0, $zero +/* 7EC354 80241644 24020001 */ addiu $v0, $zero, 1 +/* 7EC358 80241648 14620006 */ bne $v1, $v0, .L80241664 +/* 7EC35C 8024164C 24020002 */ addiu $v0, $zero, 2 +/* 7EC360 80241650 44800000 */ mtc1 $zero, $f0 +/* 7EC364 80241654 00000000 */ nop +/* 7EC368 80241658 44050000 */ mfc1 $a1, $f0 +/* 7EC36C 8024165C 0809059F */ j .L8024167C +/* 7EC370 80241660 0000202D */ daddu $a0, $zero, $zero +.L80241664: +/* 7EC374 80241664 14620008 */ bne $v1, $v0, .L80241688 +/* 7EC378 80241668 24040001 */ addiu $a0, $zero, 1 +/* 7EC37C 8024166C 44800000 */ mtc1 $zero, $f0 +/* 7EC380 80241670 00000000 */ nop +/* 7EC384 80241674 44050000 */ mfc1 $a1, $f0 +/* 7EC388 80241678 00000000 */ nop +.L8024167C: +/* 7EC38C 8024167C 00A0302D */ daddu $a2, $a1, $zero +/* 7EC390 80241680 0C01C5A4 */ jal func_80071690 +/* 7EC394 80241684 00A0382D */ daddu $a3, $a1, $zero +.L80241688: +/* 7EC398 80241688 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC39C 8024168C 03E00008 */ jr $ra +/* 7EC3A0 80241690 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241694.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241694.s new file mode 100644 index 0000000000..ebf78a077a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241694.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241694 +/* 7EC3A4 80241694 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC3A8 80241698 3C058024 */ lui $a1, 0x8024 +/* 7EC3AC 8024169C 24A51628 */ addiu $a1, $a1, 0x1628 +/* 7EC3B0 802416A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC3B4 802416A4 0C048C8F */ jal bind_dynamic_entity_7 +/* 7EC3B8 802416A8 0000202D */ daddu $a0, $zero, $zero +/* 7EC3BC 802416AC 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC3C0 802416B0 3C018025 */ lui $at, 0x8025 +/* 7EC3C4 802416B4 AC225B70 */ sw $v0, 0x5b70($at) +/* 7EC3C8 802416B8 24020002 */ addiu $v0, $zero, 2 +/* 7EC3CC 802416BC 03E00008 */ jr $ra +/* 7EC3D0 802416C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802416C4.s b/asm/nonmatchings/world/area_mac/mac_00/func_802416C4.s new file mode 100644 index 0000000000..95557f0fce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802416C4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C4 +/* 7EC3D4 802416C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EC3D8 802416C8 AFB10014 */ sw $s1, 0x14($sp) +/* 7EC3DC 802416CC 0080882D */ daddu $s1, $a0, $zero +/* 7EC3E0 802416D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EC3E4 802416D4 AFB00010 */ sw $s0, 0x10($sp) +/* 7EC3E8 802416D8 8E30000C */ lw $s0, 0xc($s1) +/* 7EC3EC 802416DC 8E050000 */ lw $a1, ($s0) +/* 7EC3F0 802416E0 0C0B1EAF */ jal get_variable +/* 7EC3F4 802416E4 26100004 */ addiu $s0, $s0, 4 +/* 7EC3F8 802416E8 0C00EAD2 */ jal get_npc_safe +/* 7EC3FC 802416EC 0040202D */ daddu $a0, $v0, $zero +/* 7EC400 802416F0 10400005 */ beqz $v0, .L80241708 +/* 7EC404 802416F4 00000000 */ nop +/* 7EC408 802416F8 8E050000 */ lw $a1, ($s0) +/* 7EC40C 802416FC 844600A8 */ lh $a2, 0xa8($v0) +/* 7EC410 80241700 0C0B2026 */ jal set_variable +/* 7EC414 80241704 0220202D */ daddu $a0, $s1, $zero +.L80241708: +/* 7EC418 80241708 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EC41C 8024170C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC420 80241710 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC424 80241714 24020002 */ addiu $v0, $zero, 2 +/* 7EC428 80241718 03E00008 */ jr $ra +/* 7EC42C 8024171C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241720.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241720.s new file mode 100644 index 0000000000..86390ce0b3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241720.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241720 +/* 7EC430 80241720 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 7EC434 80241724 AFB10014 */ sw $s1, 0x14($sp) +/* 7EC438 80241728 0080882D */ daddu $s1, $a0, $zero +/* 7EC43C 8024172C AFBF0024 */ sw $ra, 0x24($sp) +/* 7EC440 80241730 AFB40020 */ sw $s4, 0x20($sp) +/* 7EC444 80241734 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EC448 80241738 AFB20018 */ sw $s2, 0x18($sp) +/* 7EC44C 8024173C AFB00010 */ sw $s0, 0x10($sp) +/* 7EC450 80241740 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 7EC454 80241744 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 7EC458 80241748 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 7EC45C 8024174C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 7EC460 80241750 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 7EC464 80241754 8E30000C */ lw $s0, 0xc($s1) +/* 7EC468 80241758 8E130000 */ lw $s3, ($s0) +/* 7EC46C 8024175C 26100004 */ addiu $s0, $s0, 4 +/* 7EC470 80241760 0C0B1EAF */ jal get_variable +/* 7EC474 80241764 0260282D */ daddu $a1, $s3, $zero +/* 7EC478 80241768 4482E000 */ mtc1 $v0, $f28 +/* 7EC47C 8024176C 00000000 */ nop +/* 7EC480 80241770 4680E720 */ cvt.s.w $f28, $f28 +/* 7EC484 80241774 8E140000 */ lw $s4, ($s0) +/* 7EC488 80241778 26100004 */ addiu $s0, $s0, 4 +/* 7EC48C 8024177C 0220202D */ daddu $a0, $s1, $zero +/* 7EC490 80241780 0C0B1EAF */ jal get_variable +/* 7EC494 80241784 0280282D */ daddu $a1, $s4, $zero +/* 7EC498 80241788 4482D000 */ mtc1 $v0, $f26 +/* 7EC49C 8024178C 00000000 */ nop +/* 7EC4A0 80241790 4680D6A0 */ cvt.s.w $f26, $f26 +/* 7EC4A4 80241794 8E100000 */ lw $s0, ($s0) +/* 7EC4A8 80241798 0220202D */ daddu $a0, $s1, $zero +/* 7EC4AC 8024179C 0C0B1EAF */ jal get_variable +/* 7EC4B0 802417A0 0200282D */ daddu $a1, $s0, $zero +/* 7EC4B4 802417A4 4482C000 */ mtc1 $v0, $f24 +/* 7EC4B8 802417A8 00000000 */ nop +/* 7EC4BC 802417AC 4680C620 */ cvt.s.w $f24, $f24 +/* 7EC4C0 802417B0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 7EC4C4 802417B4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 7EC4C8 802417B8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 7EC4CC 802417BC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 7EC4D0 802417C0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 7EC4D4 802417C4 44800000 */ mtc1 $zero, $f0 +/* 7EC4D8 802417C8 00031080 */ sll $v0, $v1, 2 +/* 7EC4DC 802417CC 00431021 */ addu $v0, $v0, $v1 +/* 7EC4E0 802417D0 00021080 */ sll $v0, $v0, 2 +/* 7EC4E4 802417D4 00431023 */ subu $v0, $v0, $v1 +/* 7EC4E8 802417D8 000218C0 */ sll $v1, $v0, 3 +/* 7EC4EC 802417DC 00431021 */ addu $v0, $v0, $v1 +/* 7EC4F0 802417E0 000210C0 */ sll $v0, $v0, 3 +/* 7EC4F4 802417E4 46001032 */ c.eq.s $f2, $f0 +/* 7EC4F8 802417E8 3C01800B */ lui $at, 0x800b +/* 7EC4FC 802417EC 00220821 */ addu $at, $at, $v0 +/* 7EC500 802417F0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 7EC504 802417F4 45000005 */ bc1f .L8024180C +/* 7EC508 802417F8 00000000 */ nop +/* 7EC50C 802417FC 3C0142C8 */ lui $at, 0x42c8 +/* 7EC510 80241800 44810000 */ mtc1 $at, $f0 +/* 7EC514 80241804 08090607 */ j .L8024181C +/* 7EC518 80241808 4600B581 */ sub.s $f22, $f22, $f0 +.L8024180C: +/* 7EC51C 8024180C 3C0142C8 */ lui $at, 0x42c8 +/* 7EC520 80241810 44810000 */ mtc1 $at, $f0 +/* 7EC524 80241814 00000000 */ nop +/* 7EC528 80241818 4600B580 */ add.s $f22, $f22, $f0 +.L8024181C: +/* 7EC52C 8024181C 0C00A6C9 */ jal clamp_angle +/* 7EC530 80241820 4600B306 */ mov.s $f12, $f22 +/* 7EC534 80241824 46000586 */ mov.s $f22, $f0 +/* 7EC538 80241828 3C014170 */ lui $at, 0x4170 +/* 7EC53C 8024182C 4481A000 */ mtc1 $at, $f20 +/* 7EC540 80241830 0C00A8BB */ jal sin_deg +/* 7EC544 80241834 4600B306 */ mov.s $f12, $f22 +/* 7EC548 80241838 46140002 */ mul.s $f0, $f0, $f20 +/* 7EC54C 8024183C 00000000 */ nop +/* 7EC550 80241840 864200B0 */ lh $v0, 0xb0($s2) +/* 7EC554 80241844 3C013F00 */ lui $at, 0x3f00 +/* 7EC558 80241848 44812000 */ mtc1 $at, $f4 +/* 7EC55C 8024184C 44821000 */ mtc1 $v0, $f2 +/* 7EC560 80241850 00000000 */ nop +/* 7EC564 80241854 468010A0 */ cvt.s.w $f2, $f2 +/* 7EC568 80241858 46041082 */ mul.s $f2, $f2, $f4 +/* 7EC56C 8024185C 00000000 */ nop +/* 7EC570 80241860 4600E700 */ add.s $f28, $f28, $f0 +/* 7EC574 80241864 4602D680 */ add.s $f26, $f26, $f2 +/* 7EC578 80241868 0C00A8D4 */ jal cos_deg +/* 7EC57C 8024186C 4600B306 */ mov.s $f12, $f22 +/* 7EC580 80241870 46140002 */ mul.s $f0, $f0, $f20 +/* 7EC584 80241874 00000000 */ nop +/* 7EC588 80241878 0220202D */ daddu $a0, $s1, $zero +/* 7EC58C 8024187C 0260282D */ daddu $a1, $s3, $zero +/* 7EC590 80241880 4600E18D */ trunc.w.s $f6, $f28 +/* 7EC594 80241884 44063000 */ mfc1 $a2, $f6 +/* 7EC598 80241888 0C0B2026 */ jal set_variable +/* 7EC59C 8024188C 4600C601 */ sub.s $f24, $f24, $f0 +/* 7EC5A0 80241890 0220202D */ daddu $a0, $s1, $zero +/* 7EC5A4 80241894 4600D18D */ trunc.w.s $f6, $f26 +/* 7EC5A8 80241898 44063000 */ mfc1 $a2, $f6 +/* 7EC5AC 8024189C 0C0B2026 */ jal set_variable +/* 7EC5B0 802418A0 0280282D */ daddu $a1, $s4, $zero +/* 7EC5B4 802418A4 0220202D */ daddu $a0, $s1, $zero +/* 7EC5B8 802418A8 4600C18D */ trunc.w.s $f6, $f24 +/* 7EC5BC 802418AC 44063000 */ mfc1 $a2, $f6 +/* 7EC5C0 802418B0 0C0B2026 */ jal set_variable +/* 7EC5C4 802418B4 0200282D */ daddu $a1, $s0, $zero +/* 7EC5C8 802418B8 8FBF0024 */ lw $ra, 0x24($sp) +/* 7EC5CC 802418BC 8FB40020 */ lw $s4, 0x20($sp) +/* 7EC5D0 802418C0 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EC5D4 802418C4 8FB20018 */ lw $s2, 0x18($sp) +/* 7EC5D8 802418C8 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC5DC 802418CC 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC5E0 802418D0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 7EC5E4 802418D4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 7EC5E8 802418D8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 7EC5EC 802418DC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 7EC5F0 802418E0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 7EC5F4 802418E4 24020002 */ addiu $v0, $zero, 2 +/* 7EC5F8 802418E8 03E00008 */ jr $ra +/* 7EC5FC 802418EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802418F0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802418F0.s new file mode 100644 index 0000000000..d4c501c6fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802418F0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418F0 +/* 7EC600 802418F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC604 802418F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC608 802418F8 10A00003 */ beqz $a1, .L80241908 +/* 7EC60C 802418FC 8C86000C */ lw $a2, 0xc($a0) +/* 7EC610 80241900 3C018025 */ lui $at, 0x8025 +/* 7EC614 80241904 AC2083E8 */ sw $zero, -0x7c18($at) +.L80241908: +/* 7EC618 80241908 3C038025 */ lui $v1, 0x8025 +/* 7EC61C 8024190C 246383E8 */ addiu $v1, $v1, -0x7c18 +/* 7EC620 80241910 8C620000 */ lw $v0, ($v1) +/* 7EC624 80241914 54400003 */ bnel $v0, $zero, .L80241924 +/* 7EC628 80241918 AC600000 */ sw $zero, ($v1) +/* 7EC62C 8024191C 0809064E */ j .L80241938 +/* 7EC630 80241920 0000102D */ daddu $v0, $zero, $zero +.L80241924: +/* 7EC634 80241924 8CC50000 */ lw $a1, ($a2) +/* 7EC638 80241928 3C068025 */ lui $a2, 0x8025 +/* 7EC63C 8024192C 0C0B2026 */ jal set_variable +/* 7EC640 80241930 8CC683EC */ lw $a2, -0x7c14($a2) +/* 7EC644 80241934 24020002 */ addiu $v0, $zero, 2 +.L80241938: +/* 7EC648 80241938 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC64C 8024193C 03E00008 */ jr $ra +/* 7EC650 80241940 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241944.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241944.s new file mode 100644 index 0000000000..516fdfd2d5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241944.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241944 +/* 7EC654 80241944 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC658 80241948 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC65C 8024194C 8C82000C */ lw $v0, 0xc($a0) +/* 7EC660 80241950 0C0B1EAF */ jal get_variable +/* 7EC664 80241954 8C450000 */ lw $a1, ($v0) +/* 7EC668 80241958 3C018025 */ lui $at, 0x8025 +/* 7EC66C 8024195C AC2283EC */ sw $v0, -0x7c14($at) +/* 7EC670 80241960 24020002 */ addiu $v0, $zero, 2 +/* 7EC674 80241964 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC678 80241968 24030001 */ addiu $v1, $zero, 1 +/* 7EC67C 8024196C 3C018025 */ lui $at, 0x8025 +/* 7EC680 80241970 AC2383E8 */ sw $v1, -0x7c18($at) +/* 7EC684 80241974 03E00008 */ jr $ra +/* 7EC688 80241978 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024197C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024197C.s new file mode 100644 index 0000000000..11ad0a1c2f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024197C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024197C +/* 7EC68C 8024197C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC690 80241980 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC694 80241984 8C82000C */ lw $v0, 0xc($a0) +/* 7EC698 80241988 0C0B1EAF */ jal get_variable +/* 7EC69C 8024198C 8C450000 */ lw $a1, ($v0) +/* 7EC6A0 80241990 0040182D */ daddu $v1, $v0, $zero +/* 7EC6A4 80241994 10600012 */ beqz $v1, .L802419E0 +/* 7EC6A8 80241998 0000202D */ daddu $a0, $zero, $zero +/* 7EC6AC 8024199C 8C620000 */ lw $v0, ($v1) +/* 7EC6B0 802419A0 5040000A */ beql $v0, $zero, .L802419CC +/* 7EC6B4 802419A4 00041080 */ sll $v0, $a0, 2 +/* 7EC6B8 802419A8 3C058025 */ lui $a1, 0x8025 +/* 7EC6BC 802419AC 24A55BA0 */ addiu $a1, $a1, 0x5ba0 +.L802419B0: +/* 7EC6C0 802419B0 24630004 */ addiu $v1, $v1, 4 +/* 7EC6C4 802419B4 24840001 */ addiu $a0, $a0, 1 +/* 7EC6C8 802419B8 ACA20000 */ sw $v0, ($a1) +/* 7EC6CC 802419BC 8C620000 */ lw $v0, ($v1) +/* 7EC6D0 802419C0 1440FFFB */ bnez $v0, .L802419B0 +/* 7EC6D4 802419C4 24A50004 */ addiu $a1, $a1, 4 +/* 7EC6D8 802419C8 00041080 */ sll $v0, $a0, 2 +.L802419CC: +/* 7EC6DC 802419CC 3C018025 */ lui $at, 0x8025 +/* 7EC6E0 802419D0 00220821 */ addu $at, $at, $v0 +/* 7EC6E4 802419D4 AC205BA0 */ sw $zero, 0x5ba0($at) +/* 7EC6E8 802419D8 08090682 */ j .L80241A08 +/* 7EC6EC 802419DC 00000000 */ nop +.L802419E0: +/* 7EC6F0 802419E0 3C038025 */ lui $v1, 0x8025 +/* 7EC6F4 802419E4 24635BA0 */ addiu $v1, $v1, 0x5ba0 +/* 7EC6F8 802419E8 0060282D */ daddu $a1, $v1, $zero +.L802419EC: +/* 7EC6FC 802419EC 24820010 */ addiu $v0, $a0, 0x10 +/* 7EC700 802419F0 AC620000 */ sw $v0, ($v1) +/* 7EC704 802419F4 24630004 */ addiu $v1, $v1, 4 +/* 7EC708 802419F8 24840001 */ addiu $a0, $a0, 1 +/* 7EC70C 802419FC 28820070 */ slti $v0, $a0, 0x70 +/* 7EC710 80241A00 1440FFFA */ bnez $v0, .L802419EC +/* 7EC714 80241A04 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241A08: +/* 7EC718 80241A08 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC71C 80241A0C 24020002 */ addiu $v0, $zero, 2 +/* 7EC720 80241A10 03E00008 */ jr $ra +/* 7EC724 80241A14 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241A18.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241A18.s new file mode 100644 index 0000000000..e1be7d2951 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241A18.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A18 +/* 7EC728 80241A18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EC72C 80241A1C AFBF0010 */ sw $ra, 0x10($sp) +/* 7EC730 80241A20 8C82000C */ lw $v0, 0xc($a0) +/* 7EC734 80241A24 0C0B1EAF */ jal get_variable +/* 7EC738 80241A28 8C450000 */ lw $a1, ($v0) +/* 7EC73C 80241A2C 0040182D */ daddu $v1, $v0, $zero +/* 7EC740 80241A30 10600012 */ beqz $v1, .L80241A7C +/* 7EC744 80241A34 0000202D */ daddu $a0, $zero, $zero +/* 7EC748 80241A38 8C620000 */ lw $v0, ($v1) +/* 7EC74C 80241A3C 5040000A */ beql $v0, $zero, .L80241A68 +/* 7EC750 80241A40 00041080 */ sll $v0, $a0, 2 +/* 7EC754 80241A44 3C058025 */ lui $a1, 0x8025 +/* 7EC758 80241A48 24A55D68 */ addiu $a1, $a1, 0x5d68 +.L80241A4C: +/* 7EC75C 80241A4C 24630004 */ addiu $v1, $v1, 4 +/* 7EC760 80241A50 24840001 */ addiu $a0, $a0, 1 +/* 7EC764 80241A54 ACA20000 */ sw $v0, ($a1) +/* 7EC768 80241A58 8C620000 */ lw $v0, ($v1) +/* 7EC76C 80241A5C 1440FFFB */ bnez $v0, .L80241A4C +/* 7EC770 80241A60 24A50004 */ addiu $a1, $a1, 4 +/* 7EC774 80241A64 00041080 */ sll $v0, $a0, 2 +.L80241A68: +/* 7EC778 80241A68 3C018025 */ lui $at, 0x8025 +/* 7EC77C 80241A6C 00220821 */ addu $at, $at, $v0 +/* 7EC780 80241A70 AC205D68 */ sw $zero, 0x5d68($at) +/* 7EC784 80241A74 080906A9 */ j .L80241AA4 +/* 7EC788 80241A78 00000000 */ nop +.L80241A7C: +/* 7EC78C 80241A7C 3C038025 */ lui $v1, 0x8025 +/* 7EC790 80241A80 24635D68 */ addiu $v1, $v1, 0x5d68 +/* 7EC794 80241A84 0060282D */ daddu $a1, $v1, $zero +.L80241A88: +/* 7EC798 80241A88 24820080 */ addiu $v0, $a0, 0x80 +/* 7EC79C 80241A8C AC620000 */ sw $v0, ($v1) +/* 7EC7A0 80241A90 24630004 */ addiu $v1, $v1, 4 +/* 7EC7A4 80241A94 24840001 */ addiu $a0, $a0, 1 +/* 7EC7A8 80241A98 2882005B */ slti $v0, $a0, 0x5b +/* 7EC7AC 80241A9C 1440FFFA */ bnez $v0, .L80241A88 +/* 7EC7B0 80241AA0 ACA0016C */ sw $zero, 0x16c($a1) +.L80241AA4: +/* 7EC7B4 80241AA4 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EC7B8 80241AA8 24020002 */ addiu $v0, $zero, 2 +/* 7EC7BC 80241AAC 03E00008 */ jr $ra +/* 7EC7C0 80241AB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241AB4.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241AB4.s new file mode 100644 index 0000000000..f5f8374848 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241AB4.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AB4 +/* 7EC7C4 80241AB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EC7C8 80241AB8 AFB10014 */ sw $s1, 0x14($sp) +/* 7EC7CC 80241ABC 0080882D */ daddu $s1, $a0, $zero +/* 7EC7D0 80241AC0 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EC7D4 80241AC4 AFB00010 */ sw $s0, 0x10($sp) +/* 7EC7D8 80241AC8 8E30000C */ lw $s0, 0xc($s1) +/* 7EC7DC 80241ACC 8E050000 */ lw $a1, ($s0) +/* 7EC7E0 80241AD0 0C0B1EAF */ jal get_variable +/* 7EC7E4 80241AD4 26100004 */ addiu $s0, $s0, 4 +/* 7EC7E8 80241AD8 AE22008C */ sw $v0, 0x8c($s1) +/* 7EC7EC 80241ADC 8E050000 */ lw $a1, ($s0) +/* 7EC7F0 80241AE0 26100004 */ addiu $s0, $s0, 4 +/* 7EC7F4 80241AE4 0C0B1EAF */ jal get_variable +/* 7EC7F8 80241AE8 0220202D */ daddu $a0, $s1, $zero +/* 7EC7FC 80241AEC AE220090 */ sw $v0, 0x90($s1) +/* 7EC800 80241AF0 8E050000 */ lw $a1, ($s0) +/* 7EC804 80241AF4 26100004 */ addiu $s0, $s0, 4 +/* 7EC808 80241AF8 0C0B1EAF */ jal get_variable +/* 7EC80C 80241AFC 0220202D */ daddu $a0, $s1, $zero +/* 7EC810 80241B00 AE220094 */ sw $v0, 0x94($s1) +/* 7EC814 80241B04 8E050000 */ lw $a1, ($s0) +/* 7EC818 80241B08 26100004 */ addiu $s0, $s0, 4 +/* 7EC81C 80241B0C 0C0B1EAF */ jal get_variable +/* 7EC820 80241B10 0220202D */ daddu $a0, $s1, $zero +/* 7EC824 80241B14 AE220098 */ sw $v0, 0x98($s1) +/* 7EC828 80241B18 8E050000 */ lw $a1, ($s0) +/* 7EC82C 80241B1C 26100004 */ addiu $s0, $s0, 4 +/* 7EC830 80241B20 0C0B1EAF */ jal get_variable +/* 7EC834 80241B24 0220202D */ daddu $a0, $s1, $zero +/* 7EC838 80241B28 AE22009C */ sw $v0, 0x9c($s1) +/* 7EC83C 80241B2C 8E050000 */ lw $a1, ($s0) +/* 7EC840 80241B30 26100004 */ addiu $s0, $s0, 4 +/* 7EC844 80241B34 0C0B1EAF */ jal get_variable +/* 7EC848 80241B38 0220202D */ daddu $a0, $s1, $zero +/* 7EC84C 80241B3C AE2200A0 */ sw $v0, 0xa0($s1) +/* 7EC850 80241B40 8E050000 */ lw $a1, ($s0) +/* 7EC854 80241B44 26100004 */ addiu $s0, $s0, 4 +/* 7EC858 80241B48 0C0B1EAF */ jal get_variable +/* 7EC85C 80241B4C 0220202D */ daddu $a0, $s1, $zero +/* 7EC860 80241B50 AE2200A4 */ sw $v0, 0xa4($s1) +/* 7EC864 80241B54 8E050000 */ lw $a1, ($s0) +/* 7EC868 80241B58 26100004 */ addiu $s0, $s0, 4 +/* 7EC86C 80241B5C 0C0B1EAF */ jal get_variable +/* 7EC870 80241B60 0220202D */ daddu $a0, $s1, $zero +/* 7EC874 80241B64 AE2200A8 */ sw $v0, 0xa8($s1) +/* 7EC878 80241B68 8E050000 */ lw $a1, ($s0) +/* 7EC87C 80241B6C 26100004 */ addiu $s0, $s0, 4 +/* 7EC880 80241B70 0C0B1EAF */ jal get_variable +/* 7EC884 80241B74 0220202D */ daddu $a0, $s1, $zero +/* 7EC888 80241B78 AE2200AC */ sw $v0, 0xac($s1) +/* 7EC88C 80241B7C 8E050000 */ lw $a1, ($s0) +/* 7EC890 80241B80 0C0B1EAF */ jal get_variable +/* 7EC894 80241B84 0220202D */ daddu $a0, $s1, $zero +/* 7EC898 80241B88 AE2200B0 */ sw $v0, 0xb0($s1) +/* 7EC89C 80241B8C 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EC8A0 80241B90 8FB10014 */ lw $s1, 0x14($sp) +/* 7EC8A4 80241B94 8FB00010 */ lw $s0, 0x10($sp) +/* 7EC8A8 80241B98 24020002 */ addiu $v0, $zero, 2 +/* 7EC8AC 80241B9C 03E00008 */ jr $ra +/* 7EC8B0 80241BA0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241BA4.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241BA4.s new file mode 100644 index 0000000000..f3ecfe1c82 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241BA4.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BA4 +/* 7EC8B4 80241BA4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7EC8B8 80241BA8 AFB1001C */ sw $s1, 0x1c($sp) +/* 7EC8BC 80241BAC 0080882D */ daddu $s1, $a0, $zero +/* 7EC8C0 80241BB0 AFBF0034 */ sw $ra, 0x34($sp) +/* 7EC8C4 80241BB4 AFB60030 */ sw $s6, 0x30($sp) +/* 7EC8C8 80241BB8 AFB5002C */ sw $s5, 0x2c($sp) +/* 7EC8CC 80241BBC AFB40028 */ sw $s4, 0x28($sp) +/* 7EC8D0 80241BC0 AFB30024 */ sw $s3, 0x24($sp) +/* 7EC8D4 80241BC4 AFB20020 */ sw $s2, 0x20($sp) +/* 7EC8D8 80241BC8 AFB00018 */ sw $s0, 0x18($sp) +/* 7EC8DC 80241BCC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 7EC8E0 80241BD0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 7EC8E4 80241BD4 8E30000C */ lw $s0, 0xc($s1) +/* 7EC8E8 80241BD8 8E160000 */ lw $s6, ($s0) +/* 7EC8EC 80241BDC 26100004 */ addiu $s0, $s0, 4 +/* 7EC8F0 80241BE0 0C0B1EAF */ jal get_variable +/* 7EC8F4 80241BE4 02C0282D */ daddu $a1, $s6, $zero +/* 7EC8F8 80241BE8 44820000 */ mtc1 $v0, $f0 +/* 7EC8FC 80241BEC 00000000 */ nop +/* 7EC900 80241BF0 46800020 */ cvt.s.w $f0, $f0 +/* 7EC904 80241BF4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 7EC908 80241BF8 8E140000 */ lw $s4, ($s0) +/* 7EC90C 80241BFC 26100004 */ addiu $s0, $s0, 4 +/* 7EC910 80241C00 0220202D */ daddu $a0, $s1, $zero +/* 7EC914 80241C04 0C0B1EAF */ jal get_variable +/* 7EC918 80241C08 0280282D */ daddu $a1, $s4, $zero +/* 7EC91C 80241C0C 0220202D */ daddu $a0, $s1, $zero +/* 7EC920 80241C10 8E150000 */ lw $s5, ($s0) +/* 7EC924 80241C14 4482B000 */ mtc1 $v0, $f22 +/* 7EC928 80241C18 00000000 */ nop +/* 7EC92C 80241C1C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EC930 80241C20 0C0B1EAF */ jal get_variable +/* 7EC934 80241C24 02A0282D */ daddu $a1, $s5, $zero +/* 7EC938 80241C28 2404FFFC */ addiu $a0, $zero, -4 +/* 7EC93C 80241C2C 44820000 */ mtc1 $v0, $f0 +/* 7EC940 80241C30 00000000 */ nop +/* 7EC944 80241C34 46800020 */ cvt.s.w $f0, $f0 +/* 7EC948 80241C38 0C00EABB */ jal get_npc_unsafe +/* 7EC94C 80241C3C E7A00014 */ swc1 $f0, 0x14($sp) +/* 7EC950 80241C40 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 7EC954 80241C44 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 7EC958 80241C48 3C014334 */ lui $at, 0x4334 +/* 7EC95C 80241C4C 44816000 */ mtc1 $at, $f12 +/* 7EC960 80241C50 00041880 */ sll $v1, $a0, 2 +/* 7EC964 80241C54 00641821 */ addu $v1, $v1, $a0 +/* 7EC968 80241C58 00031880 */ sll $v1, $v1, 2 +/* 7EC96C 80241C5C 00641823 */ subu $v1, $v1, $a0 +/* 7EC970 80241C60 000320C0 */ sll $a0, $v1, 3 +/* 7EC974 80241C64 00641821 */ addu $v1, $v1, $a0 +/* 7EC978 80241C68 000318C0 */ sll $v1, $v1, 3 +/* 7EC97C 80241C6C 3C01800B */ lui $at, 0x800b +/* 7EC980 80241C70 00230821 */ addu $at, $at, $v1 +/* 7EC984 80241C74 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 7EC988 80241C78 460C0300 */ add.s $f12, $f0, $f12 +/* 7EC98C 80241C7C 0C00A6C9 */ jal clamp_angle +/* 7EC990 80241C80 0040982D */ daddu $s3, $v0, $zero +/* 7EC994 80241C84 27B00010 */ addiu $s0, $sp, 0x10 +/* 7EC998 80241C88 0200202D */ daddu $a0, $s0, $zero +/* 7EC99C 80241C8C 27B20014 */ addiu $s2, $sp, 0x14 +/* 7EC9A0 80241C90 0240282D */ daddu $a1, $s2, $zero +/* 7EC9A4 80241C94 3C064170 */ lui $a2, 0x4170 +/* 7EC9A8 80241C98 8E67000C */ lw $a3, 0xc($s3) +/* 7EC9AC 80241C9C 0C00A7E7 */ jal add_vec2D_polar +/* 7EC9B0 80241CA0 46000506 */ mov.s $f20, $f0 +/* 7EC9B4 80241CA4 0200202D */ daddu $a0, $s0, $zero +/* 7EC9B8 80241CA8 3C064120 */ lui $a2, 0x4120 +/* 7EC9BC 80241CAC 4407A000 */ mfc1 $a3, $f20 +/* 7EC9C0 80241CB0 0C00A7E7 */ jal add_vec2D_polar +/* 7EC9C4 80241CB4 0240282D */ daddu $a1, $s2, $zero +/* 7EC9C8 80241CB8 0220202D */ daddu $a0, $s1, $zero +/* 7EC9CC 80241CBC C7A00010 */ lwc1 $f0, 0x10($sp) +/* 7EC9D0 80241CC0 4600008D */ trunc.w.s $f2, $f0 +/* 7EC9D4 80241CC4 44061000 */ mfc1 $a2, $f2 +/* 7EC9D8 80241CC8 0C0B2026 */ jal set_variable +/* 7EC9DC 80241CCC 02C0282D */ daddu $a1, $s6, $zero +/* 7EC9E0 80241CD0 0220202D */ daddu $a0, $s1, $zero +/* 7EC9E4 80241CD4 4600B08D */ trunc.w.s $f2, $f22 +/* 7EC9E8 80241CD8 44061000 */ mfc1 $a2, $f2 +/* 7EC9EC 80241CDC 0C0B2026 */ jal set_variable +/* 7EC9F0 80241CE0 0280282D */ daddu $a1, $s4, $zero +/* 7EC9F4 80241CE4 0220202D */ daddu $a0, $s1, $zero +/* 7EC9F8 80241CE8 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 7EC9FC 80241CEC 4600008D */ trunc.w.s $f2, $f0 +/* 7ECA00 80241CF0 44061000 */ mfc1 $a2, $f2 +/* 7ECA04 80241CF4 0C0B2026 */ jal set_variable +/* 7ECA08 80241CF8 02A0282D */ daddu $a1, $s5, $zero +/* 7ECA0C 80241CFC 8FBF0034 */ lw $ra, 0x34($sp) +/* 7ECA10 80241D00 8FB60030 */ lw $s6, 0x30($sp) +/* 7ECA14 80241D04 8FB5002C */ lw $s5, 0x2c($sp) +/* 7ECA18 80241D08 8FB40028 */ lw $s4, 0x28($sp) +/* 7ECA1C 80241D0C 8FB30024 */ lw $s3, 0x24($sp) +/* 7ECA20 80241D10 8FB20020 */ lw $s2, 0x20($sp) +/* 7ECA24 80241D14 8FB1001C */ lw $s1, 0x1c($sp) +/* 7ECA28 80241D18 8FB00018 */ lw $s0, 0x18($sp) +/* 7ECA2C 80241D1C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 7ECA30 80241D20 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 7ECA34 80241D24 24020002 */ addiu $v0, $zero, 2 +/* 7ECA38 80241D28 03E00008 */ jr $ra +/* 7ECA3C 80241D2C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241D30.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241D30.s new file mode 100644 index 0000000000..31edb247d7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241D30.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D30 +/* 7ECA40 80241D30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECA44 80241D34 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECA48 80241D38 0080802D */ daddu $s0, $a0, $zero +/* 7ECA4C 80241D3C AFBF0014 */ sw $ra, 0x14($sp) +/* 7ECA50 80241D40 0C00EABB */ jal get_npc_unsafe +/* 7ECA54 80241D44 8E04008C */ lw $a0, 0x8c($s0) +/* 7ECA58 80241D48 0040282D */ daddu $a1, $v0, $zero +/* 7ECA5C 80241D4C 8E040094 */ lw $a0, 0x94($s0) +/* 7ECA60 80241D50 8CA30028 */ lw $v1, 0x28($a1) +/* 7ECA64 80241D54 ACA40028 */ sw $a0, 0x28($a1) +/* 7ECA68 80241D58 8FBF0014 */ lw $ra, 0x14($sp) +/* 7ECA6C 80241D5C 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECA70 80241D60 24020002 */ addiu $v0, $zero, 2 +/* 7ECA74 80241D64 3C018025 */ lui $at, 0x8025 +/* 7ECA78 80241D68 AC235ED8 */ sw $v1, 0x5ed8($at) +/* 7ECA7C 80241D6C 03E00008 */ jr $ra +/* 7ECA80 80241D70 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241D74.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241D74.s new file mode 100644 index 0000000000..9613d7b0e6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241D74.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D74 +/* 7ECA84 80241D74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECA88 80241D78 AFBF0010 */ sw $ra, 0x10($sp) +/* 7ECA8C 80241D7C 0C00EABB */ jal get_npc_unsafe +/* 7ECA90 80241D80 8C84008C */ lw $a0, 0x8c($a0) +/* 7ECA94 80241D84 3C038025 */ lui $v1, 0x8025 +/* 7ECA98 80241D88 8C635ED8 */ lw $v1, 0x5ed8($v1) +/* 7ECA9C 80241D8C AC430028 */ sw $v1, 0x28($v0) +/* 7ECAA0 80241D90 8FBF0010 */ lw $ra, 0x10($sp) +/* 7ECAA4 80241D94 24020002 */ addiu $v0, $zero, 2 +/* 7ECAA8 80241D98 03E00008 */ jr $ra +/* 7ECAAC 80241D9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241DA0.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241DA0.s new file mode 100644 index 0000000000..563c490b07 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241DA0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DA0 +/* 7ECAB0 80241DA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7ECAB4 80241DA4 AFB20018 */ sw $s2, 0x18($sp) +/* 7ECAB8 80241DA8 0080902D */ daddu $s2, $a0, $zero +/* 7ECABC 80241DAC AFB10014 */ sw $s1, 0x14($sp) +/* 7ECAC0 80241DB0 3C118025 */ lui $s1, 0x8025 +/* 7ECAC4 80241DB4 26318F18 */ addiu $s1, $s1, -0x70e8 +/* 7ECAC8 80241DB8 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECACC 80241DBC 0000802D */ daddu $s0, $zero, $zero +/* 7ECAD0 80241DC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 7ECAD4 80241DC4 26100001 */ addiu $s0, $s0, 1 +.L80241DC8: +/* 7ECAD8 80241DC8 8E250010 */ lw $a1, 0x10($s1) +/* 7ECADC 80241DCC 26310014 */ addiu $s1, $s1, 0x14 +/* 7ECAE0 80241DD0 0240202D */ daddu $a0, $s2, $zero +/* 7ECAE4 80241DD4 0C0B2026 */ jal set_variable +/* 7ECAE8 80241DD8 0000302D */ daddu $a2, $zero, $zero +/* 7ECAEC 80241DDC 2E020024 */ sltiu $v0, $s0, 0x24 +/* 7ECAF0 80241DE0 1440FFF9 */ bnez $v0, .L80241DC8 +/* 7ECAF4 80241DE4 26100001 */ addiu $s0, $s0, 1 +/* 7ECAF8 80241DE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 7ECAFC 80241DEC 8FB20018 */ lw $s2, 0x18($sp) +/* 7ECB00 80241DF0 8FB10014 */ lw $s1, 0x14($sp) +/* 7ECB04 80241DF4 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECB08 80241DF8 24020002 */ addiu $v0, $zero, 2 +/* 7ECB0C 80241DFC 03E00008 */ jr $ra +/* 7ECB10 80241E00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241E04.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241E04.s new file mode 100644 index 0000000000..49bb7adee2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241E04.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E04 +/* 7ECB14 80241E04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7ECB18 80241E08 AFB20018 */ sw $s2, 0x18($sp) +/* 7ECB1C 80241E0C 0080902D */ daddu $s2, $a0, $zero +/* 7ECB20 80241E10 AFB10014 */ sw $s1, 0x14($sp) +/* 7ECB24 80241E14 0000882D */ daddu $s1, $zero, $zero +/* 7ECB28 80241E18 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECB2C 80241E1C 3C108025 */ lui $s0, 0x8025 +/* 7ECB30 80241E20 26108F20 */ addiu $s0, $s0, -0x70e0 +/* 7ECB34 80241E24 AFBF001C */ sw $ra, 0x1c($sp) +/* 7ECB38 80241E28 0240202D */ daddu $a0, $s2, $zero +.L80241E2C: +/* 7ECB3C 80241E2C 3C05F5DE */ lui $a1, 0xf5de +/* 7ECB40 80241E30 0C0B1EAF */ jal get_variable +/* 7ECB44 80241E34 34A50180 */ ori $a1, $a1, 0x180 +/* 7ECB48 80241E38 0240202D */ daddu $a0, $s2, $zero +/* 7ECB4C 80241E3C 26310001 */ addiu $s1, $s1, 1 +/* 7ECB50 80241E40 8E050000 */ lw $a1, ($s0) +/* 7ECB54 80241E44 8E03FFFC */ lw $v1, -4($s0) +/* 7ECB58 80241E48 26100014 */ addiu $s0, $s0, 0x14 +/* 7ECB5C 80241E4C 0043102A */ slt $v0, $v0, $v1 +/* 7ECB60 80241E50 0C0B2026 */ jal set_variable +/* 7ECB64 80241E54 38460001 */ xori $a2, $v0, 1 +/* 7ECB68 80241E58 2E220024 */ sltiu $v0, $s1, 0x24 +/* 7ECB6C 80241E5C 1440FFF3 */ bnez $v0, .L80241E2C +/* 7ECB70 80241E60 0240202D */ daddu $a0, $s2, $zero +/* 7ECB74 80241E64 8FBF001C */ lw $ra, 0x1c($sp) +/* 7ECB78 80241E68 8FB20018 */ lw $s2, 0x18($sp) +/* 7ECB7C 80241E6C 8FB10014 */ lw $s1, 0x14($sp) +/* 7ECB80 80241E70 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECB84 80241E74 24020002 */ addiu $v0, $zero, 2 +/* 7ECB88 80241E78 03E00008 */ jr $ra +/* 7ECB8C 80241E7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241E80.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241E80.s new file mode 100644 index 0000000000..2edc75247d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241E80.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E80 +/* 7ECB90 80241E80 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 7ECB94 80241E84 AFB40020 */ sw $s4, 0x20($sp) +/* 7ECB98 80241E88 0080A02D */ daddu $s4, $a0, $zero +/* 7ECB9C 80241E8C AFB3001C */ sw $s3, 0x1c($sp) +/* 7ECBA0 80241E90 3C138025 */ lui $s3, 0x8025 +/* 7ECBA4 80241E94 26738F18 */ addiu $s3, $s3, -0x70e8 +/* 7ECBA8 80241E98 AFB50024 */ sw $s5, 0x24($sp) +/* 7ECBAC 80241E9C 0000A82D */ daddu $s5, $zero, $zero +/* 7ECBB0 80241EA0 AFB20018 */ sw $s2, 0x18($sp) +/* 7ECBB4 80241EA4 02A0902D */ daddu $s2, $s5, $zero +/* 7ECBB8 80241EA8 AFB10014 */ sw $s1, 0x14($sp) +/* 7ECBBC 80241EAC 02A0882D */ daddu $s1, $s5, $zero +/* 7ECBC0 80241EB0 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECBC4 80241EB4 26700010 */ addiu $s0, $s3, 0x10 +/* 7ECBC8 80241EB8 AFBF002C */ sw $ra, 0x2c($sp) +/* 7ECBCC 80241EBC AFB60028 */ sw $s6, 0x28($sp) +.L80241EC0: +/* 7ECBD0 80241EC0 8E05FFF8 */ lw $a1, -8($s0) +/* 7ECBD4 80241EC4 0C0B1EAF */ jal get_variable +/* 7ECBD8 80241EC8 0280202D */ daddu $a0, $s4, $zero +/* 7ECBDC 80241ECC 5040000E */ beql $v0, $zero, .L80241F08 +/* 7ECBE0 80241ED0 26310001 */ addiu $s1, $s1, 1 +/* 7ECBE4 80241ED4 8E05FFFC */ lw $a1, -4($s0) +/* 7ECBE8 80241ED8 0C0B1EAF */ jal get_variable +/* 7ECBEC 80241EDC 0280202D */ daddu $a0, $s4, $zero +/* 7ECBF0 80241EE0 14400003 */ bnez $v0, .L80241EF0 +/* 7ECBF4 80241EE4 00000000 */ nop +/* 7ECBF8 80241EE8 080907C6 */ j .L80241F18 +/* 7ECBFC 80241EEC 24150001 */ addiu $s5, $zero, 1 +.L80241EF0: +/* 7ECC00 80241EF0 8E050000 */ lw $a1, ($s0) +/* 7ECC04 80241EF4 0C0B1EAF */ jal get_variable +/* 7ECC08 80241EF8 0280202D */ daddu $a0, $s4, $zero +/* 7ECC0C 80241EFC 50400001 */ beql $v0, $zero, .L80241F04 +/* 7ECC10 80241F00 26520001 */ addiu $s2, $s2, 1 +.L80241F04: +/* 7ECC14 80241F04 26310001 */ addiu $s1, $s1, 1 +.L80241F08: +/* 7ECC18 80241F08 26100014 */ addiu $s0, $s0, 0x14 +/* 7ECC1C 80241F0C 2E220024 */ sltiu $v0, $s1, 0x24 +/* 7ECC20 80241F10 1440FFEB */ bnez $v0, .L80241EC0 +/* 7ECC24 80241F14 26730014 */ addiu $s3, $s3, 0x14 +.L80241F18: +/* 7ECC28 80241F18 56A0001F */ bnel $s5, $zero, .L80241F98 +/* 7ECC2C 80241F1C AE910084 */ sw $s1, 0x84($s4) +/* 7ECC30 80241F20 3C138025 */ lui $s3, 0x8025 +/* 7ECC34 80241F24 26738F18 */ addiu $s3, $s3, -0x70e8 +/* 7ECC38 80241F28 1240001A */ beqz $s2, .L80241F94 +/* 7ECC3C 80241F2C 0000882D */ daddu $s1, $zero, $zero +/* 7ECC40 80241F30 0C00A67F */ jal rand_int +/* 7ECC44 80241F34 2644FFFF */ addiu $a0, $s2, -1 +/* 7ECC48 80241F38 0040B02D */ daddu $s6, $v0, $zero +/* 7ECC4C 80241F3C 0220902D */ daddu $s2, $s1, $zero +/* 7ECC50 80241F40 02A0882D */ daddu $s1, $s5, $zero +/* 7ECC54 80241F44 26700010 */ addiu $s0, $s3, 0x10 +.L80241F48: +/* 7ECC58 80241F48 8E05FFF8 */ lw $a1, -8($s0) +/* 7ECC5C 80241F4C 0C0B1EAF */ jal get_variable +/* 7ECC60 80241F50 0280202D */ daddu $a0, $s4, $zero +/* 7ECC64 80241F54 5040000B */ beql $v0, $zero, .L80241F84 +/* 7ECC68 80241F58 26310001 */ addiu $s1, $s1, 1 +/* 7ECC6C 80241F5C 8E050000 */ lw $a1, ($s0) +/* 7ECC70 80241F60 0C0B1EAF */ jal get_variable +/* 7ECC74 80241F64 0280202D */ daddu $a0, $s4, $zero +/* 7ECC78 80241F68 54400006 */ bnel $v0, $zero, .L80241F84 +/* 7ECC7C 80241F6C 26310001 */ addiu $s1, $s1, 1 +/* 7ECC80 80241F70 0240102D */ daddu $v0, $s2, $zero +/* 7ECC84 80241F74 0056102A */ slt $v0, $v0, $s6 +/* 7ECC88 80241F78 10400006 */ beqz $v0, .L80241F94 +/* 7ECC8C 80241F7C 26520001 */ addiu $s2, $s2, 1 +/* 7ECC90 80241F80 26310001 */ addiu $s1, $s1, 1 +.L80241F84: +/* 7ECC94 80241F84 26100014 */ addiu $s0, $s0, 0x14 +/* 7ECC98 80241F88 2E220024 */ sltiu $v0, $s1, 0x24 +/* 7ECC9C 80241F8C 1440FFEE */ bnez $v0, .L80241F48 +/* 7ECCA0 80241F90 26730014 */ addiu $s3, $s3, 0x14 +.L80241F94: +/* 7ECCA4 80241F94 AE910084 */ sw $s1, 0x84($s4) +.L80241F98: +/* 7ECCA8 80241F98 8E620000 */ lw $v0, ($s3) +/* 7ECCAC 80241F9C 0280202D */ daddu $a0, $s4, $zero +/* 7ECCB0 80241FA0 AE95008C */ sw $s5, 0x8c($s4) +/* 7ECCB4 80241FA4 AE820088 */ sw $v0, 0x88($s4) +/* 7ECCB8 80241FA8 8E65000C */ lw $a1, 0xc($s3) +/* 7ECCBC 80241FAC 0C0B2026 */ jal set_variable +/* 7ECCC0 80241FB0 24060001 */ addiu $a2, $zero, 1 +/* 7ECCC4 80241FB4 0280202D */ daddu $a0, $s4, $zero +/* 7ECCC8 80241FB8 8E650010 */ lw $a1, 0x10($s3) +/* 7ECCCC 80241FBC 0C0B2026 */ jal set_variable +/* 7ECCD0 80241FC0 24060001 */ addiu $a2, $zero, 1 +/* 7ECCD4 80241FC4 8FBF002C */ lw $ra, 0x2c($sp) +/* 7ECCD8 80241FC8 8FB60028 */ lw $s6, 0x28($sp) +/* 7ECCDC 80241FCC 8FB50024 */ lw $s5, 0x24($sp) +/* 7ECCE0 80241FD0 8FB40020 */ lw $s4, 0x20($sp) +/* 7ECCE4 80241FD4 8FB3001C */ lw $s3, 0x1c($sp) +/* 7ECCE8 80241FD8 8FB20018 */ lw $s2, 0x18($sp) +/* 7ECCEC 80241FDC 8FB10014 */ lw $s1, 0x14($sp) +/* 7ECCF0 80241FE0 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECCF4 80241FE4 24020002 */ addiu $v0, $zero, 2 +/* 7ECCF8 80241FE8 03E00008 */ jr $ra +/* 7ECCFC 80241FEC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80241FF0.s b/asm/nonmatchings/world/area_mac/mac_00/func_80241FF0.s new file mode 100644 index 0000000000..6fe4d558c5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80241FF0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FF0 +/* 7ECD00 80241FF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7ECD04 80241FF4 AFB3001C */ sw $s3, 0x1c($sp) +/* 7ECD08 80241FF8 0080982D */ daddu $s3, $a0, $zero +/* 7ECD0C 80241FFC AFB20018 */ sw $s2, 0x18($sp) +/* 7ECD10 80242000 0000902D */ daddu $s2, $zero, $zero +/* 7ECD14 80242004 AFB10014 */ sw $s1, 0x14($sp) +/* 7ECD18 80242008 0240882D */ daddu $s1, $s2, $zero +/* 7ECD1C 8024200C AFB00010 */ sw $s0, 0x10($sp) +/* 7ECD20 80242010 3C108025 */ lui $s0, 0x8025 +/* 7ECD24 80242014 26108F28 */ addiu $s0, $s0, -0x70d8 +/* 7ECD28 80242018 AFBF0020 */ sw $ra, 0x20($sp) +.L8024201C: +/* 7ECD2C 8024201C 8E05FFF8 */ lw $a1, -8($s0) +/* 7ECD30 80242020 0C0B1EAF */ jal get_variable +/* 7ECD34 80242024 0260202D */ daddu $a0, $s3, $zero +/* 7ECD38 80242028 50400007 */ beql $v0, $zero, .L80242048 +/* 7ECD3C 8024202C 26310001 */ addiu $s1, $s1, 1 +/* 7ECD40 80242030 8E050000 */ lw $a1, ($s0) +/* 7ECD44 80242034 0C0B1EAF */ jal get_variable +/* 7ECD48 80242038 0260202D */ daddu $a0, $s3, $zero +/* 7ECD4C 8024203C 50400001 */ beql $v0, $zero, .L80242044 +/* 7ECD50 80242040 26520001 */ addiu $s2, $s2, 1 +.L80242044: +/* 7ECD54 80242044 26310001 */ addiu $s1, $s1, 1 +.L80242048: +/* 7ECD58 80242048 2E220024 */ sltiu $v0, $s1, 0x24 +/* 7ECD5C 8024204C 1440FFF3 */ bnez $v0, .L8024201C +/* 7ECD60 80242050 26100014 */ addiu $s0, $s0, 0x14 +/* 7ECD64 80242054 AE720084 */ sw $s2, 0x84($s3) +/* 7ECD68 80242058 8FBF0020 */ lw $ra, 0x20($sp) +/* 7ECD6C 8024205C 8FB3001C */ lw $s3, 0x1c($sp) +/* 7ECD70 80242060 8FB20018 */ lw $s2, 0x18($sp) +/* 7ECD74 80242064 8FB10014 */ lw $s1, 0x14($sp) +/* 7ECD78 80242068 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECD7C 8024206C 24020002 */ addiu $v0, $zero, 2 +/* 7ECD80 80242070 03E00008 */ jr $ra +/* 7ECD84 80242074 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242078.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242078.s new file mode 100644 index 0000000000..2ebd247b31 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242078.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242078 +/* 7ECD88 80242078 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 7ECD8C 8024207C AFB10014 */ sw $s1, 0x14($sp) +/* 7ECD90 80242080 0080882D */ daddu $s1, $a0, $zero +/* 7ECD94 80242084 AFBF0018 */ sw $ra, 0x18($sp) +/* 7ECD98 80242088 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECD9C 8024208C F7B80030 */ sdc1 $f24, 0x30($sp) +/* 7ECDA0 80242090 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 7ECDA4 80242094 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 7ECDA8 80242098 8E30000C */ lw $s0, 0xc($s1) +/* 7ECDAC 8024209C 8E050000 */ lw $a1, ($s0) +/* 7ECDB0 802420A0 0C0B1EAF */ jal get_variable +/* 7ECDB4 802420A4 26100004 */ addiu $s0, $s0, 4 +/* 7ECDB8 802420A8 8E050000 */ lw $a1, ($s0) +/* 7ECDBC 802420AC 26100004 */ addiu $s0, $s0, 4 +/* 7ECDC0 802420B0 4482C000 */ mtc1 $v0, $f24 +/* 7ECDC4 802420B4 00000000 */ nop +/* 7ECDC8 802420B8 4680C620 */ cvt.s.w $f24, $f24 +/* 7ECDCC 802420BC 0C0B1EAF */ jal get_variable +/* 7ECDD0 802420C0 0220202D */ daddu $a0, $s1, $zero +/* 7ECDD4 802420C4 8E050000 */ lw $a1, ($s0) +/* 7ECDD8 802420C8 26100004 */ addiu $s0, $s0, 4 +/* 7ECDDC 802420CC 4482B000 */ mtc1 $v0, $f22 +/* 7ECDE0 802420D0 00000000 */ nop +/* 7ECDE4 802420D4 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7ECDE8 802420D8 0C0B1EAF */ jal get_variable +/* 7ECDEC 802420DC 0220202D */ daddu $a0, $s1, $zero +/* 7ECDF0 802420E0 8E050000 */ lw $a1, ($s0) +/* 7ECDF4 802420E4 4482A000 */ mtc1 $v0, $f20 +/* 7ECDF8 802420E8 00000000 */ nop +/* 7ECDFC 802420EC 4680A520 */ cvt.s.w $f20, $f20 +/* 7ECE00 802420F0 0C0B1EAF */ jal get_variable +/* 7ECE04 802420F4 0220202D */ daddu $a0, $s1, $zero +/* 7ECE08 802420F8 44820000 */ mtc1 $v0, $f0 +/* 7ECE0C 802420FC 00000000 */ nop +/* 7ECE10 80242100 46800020 */ cvt.s.w $f0, $f0 +/* 7ECE14 80242104 46160001 */ sub.s $f0, $f0, $f22 +/* 7ECE18 80242108 4618A501 */ sub.s $f20, $f20, $f24 +/* 7ECE1C 8024210C 46140003 */ div.s $f0, $f0, $f20 +/* 7ECE20 80242110 46180602 */ mul.s $f24, $f0, $f24 +/* 7ECE24 80242114 00000000 */ nop +/* 7ECE28 80242118 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 7ECE2C 8024211C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 7ECE30 80242120 C4420028 */ lwc1 $f2, 0x28($v0) +/* 7ECE34 80242124 46020002 */ mul.s $f0, $f0, $f2 +/* 7ECE38 80242128 00000000 */ nop +/* 7ECE3C 8024212C 4618B581 */ sub.s $f22, $f22, $f24 +/* 7ECE40 80242130 46160000 */ add.s $f0, $f0, $f22 +/* 7ECE44 80242134 C4420030 */ lwc1 $f2, 0x30($v0) +/* 7ECE48 80242138 4600103C */ c.lt.s $f2, $f0 +/* 7ECE4C 8024213C 00000000 */ nop +/* 7ECE50 80242140 45000003 */ bc1f .L80242150 +/* 7ECE54 80242144 24020001 */ addiu $v0, $zero, 1 +/* 7ECE58 80242148 08090855 */ j .L80242154 +/* 7ECE5C 8024214C AE200084 */ sw $zero, 0x84($s1) +.L80242150: +/* 7ECE60 80242150 AE220084 */ sw $v0, 0x84($s1) +.L80242154: +/* 7ECE64 80242154 8FBF0018 */ lw $ra, 0x18($sp) +/* 7ECE68 80242158 8FB10014 */ lw $s1, 0x14($sp) +/* 7ECE6C 8024215C 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECE70 80242160 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 7ECE74 80242164 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 7ECE78 80242168 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 7ECE7C 8024216C 24020002 */ addiu $v0, $zero, 2 +/* 7ECE80 80242170 03E00008 */ jr $ra +/* 7ECE84 80242174 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242178.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242178.s new file mode 100644 index 0000000000..cb2c4a97e5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242178.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242178 +/* 7ECE88 80242178 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECE8C 8024217C 3C05F5DE */ lui $a1, 0xf5de +/* 7ECE90 80242180 AFBF0014 */ sw $ra, 0x14($sp) +/* 7ECE94 80242184 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECE98 80242188 8C900148 */ lw $s0, 0x148($a0) +/* 7ECE9C 8024218C 0C0B1EAF */ jal get_variable +/* 7ECEA0 80242190 34A5019C */ ori $a1, $a1, 0x19c +/* 7ECEA4 80242194 82030004 */ lb $v1, 4($s0) +/* 7ECEA8 80242198 00021080 */ sll $v0, $v0, 2 +/* 7ECEAC 8024219C 00031880 */ sll $v1, $v1, 2 +/* 7ECEB0 802421A0 3C04800B */ lui $a0, 0x800b +/* 7ECEB4 802421A4 00832021 */ addu $a0, $a0, $v1 +/* 7ECEB8 802421A8 8C840F38 */ lw $a0, 0xf38($a0) +/* 7ECEBC 802421AC 3C038025 */ lui $v1, 0x8025 +/* 7ECEC0 802421B0 00621821 */ addu $v1, $v1, $v0 +/* 7ECEC4 802421B4 9463A632 */ lhu $v1, -0x59ce($v1) +/* 7ECEC8 802421B8 A4830044 */ sh $v1, 0x44($a0) +/* 7ECECC 802421BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 7ECED0 802421C0 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECED4 802421C4 24020002 */ addiu $v0, $zero, 2 +/* 7ECED8 802421C8 03E00008 */ jr $ra +/* 7ECEDC 802421CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802421D0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802421D0.s new file mode 100644 index 0000000000..ba56f52681 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802421D0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421D0 +/* 7ECEE0 802421D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECEE4 802421D4 2404008A */ addiu $a0, $zero, 0x8a +/* 7ECEE8 802421D8 2405FFFF */ addiu $a1, $zero, -1 +/* 7ECEEC 802421DC 24060001 */ addiu $a2, $zero, 1 +/* 7ECEF0 802421E0 AFBF0010 */ sw $ra, 0x10($sp) +/* 7ECEF4 802421E4 0C046E54 */ jal func_8011B950 +/* 7ECEF8 802421E8 00C0382D */ daddu $a3, $a2, $zero +/* 7ECEFC 802421EC 0000202D */ daddu $a0, $zero, $zero +/* 7ECF00 802421F0 0080282D */ daddu $a1, $a0, $zero +/* 7ECF04 802421F4 0080302D */ daddu $a2, $a0, $zero +/* 7ECF08 802421F8 0C046F97 */ jal set_background_color_blend +/* 7ECF0C 802421FC 240700FF */ addiu $a3, $zero, 0xff +/* 7ECF10 80242200 3C02800B */ lui $v0, %hi(gCameras) +/* 7ECF14 80242204 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 7ECF18 80242208 A440002C */ sh $zero, 0x2c($v0) +/* 7ECF1C 8024220C A440002E */ sh $zero, 0x2e($v0) +/* 7ECF20 80242210 A4400030 */ sh $zero, 0x30($v0) +/* 7ECF24 80242214 8FBF0010 */ lw $ra, 0x10($sp) +/* 7ECF28 80242218 24020002 */ addiu $v0, $zero, 2 +/* 7ECF2C 8024221C 03E00008 */ jr $ra +/* 7ECF30 80242220 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242224.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242224.s new file mode 100644 index 0000000000..ec6f65c5fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242224.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242224 +/* 7ECF34 80242224 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECF38 80242228 24020001 */ addiu $v0, $zero, 1 +/* 7ECF3C 8024222C AFBF0010 */ sw $ra, 0x10($sp) +/* 7ECF40 80242230 3C018011 */ lui $at, 0x8011 +/* 7ECF44 80242234 A022F292 */ sb $v0, -0xd6e($at) +/* 7ECF48 80242238 0C03A6DB */ jal sync_status_menu +/* 7ECF4C 8024223C 00000000 */ nop +/* 7ECF50 80242240 8FBF0010 */ lw $ra, 0x10($sp) +/* 7ECF54 80242244 24020002 */ addiu $v0, $zero, 2 +/* 7ECF58 80242248 03E00008 */ jr $ra +/* 7ECF5C 8024224C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242250.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242250.s new file mode 100644 index 0000000000..5286173967 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242250.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242250 +/* 7ECF60 80242250 3C038011 */ lui $v1, %hi(gPlayerData) +/* 7ECF64 80242254 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 7ECF68 80242258 8C6202BC */ lw $v0, 0x2bc($v1) +/* 7ECF6C 8024225C 8C630324 */ lw $v1, 0x324($v1) +/* 7ECF70 80242260 00431023 */ subu $v0, $v0, $v1 +/* 7ECF74 80242264 3C0391A2 */ lui $v1, 0x91a2 +/* 7ECF78 80242268 3463B3C5 */ ori $v1, $v1, 0xb3c5 +/* 7ECF7C 8024226C 00430019 */ multu $v0, $v1 +/* 7ECF80 80242270 8C830084 */ lw $v1, 0x84($a0) +/* 7ECF84 80242274 00002810 */ mfhi $a1 +/* 7ECF88 80242278 000512C2 */ srl $v0, $a1, 0xb +/* 7ECF8C 8024227C 0043102A */ slt $v0, $v0, $v1 +/* 7ECF90 80242280 AC820084 */ sw $v0, 0x84($a0) +/* 7ECF94 80242284 03E00008 */ jr $ra +/* 7ECF98 80242288 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024228C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024228C.s new file mode 100644 index 0000000000..0c983d891d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024228C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024228C +/* 7ECF9C 8024228C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7ECFA0 80242290 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECFA4 80242294 AFBF0014 */ sw $ra, 0x14($sp) +/* 7ECFA8 80242298 0C039D7B */ jal get_item_count +/* 7ECFAC 8024229C 0080802D */ daddu $s0, $a0, $zero +/* 7ECFB0 802422A0 AE020084 */ sw $v0, 0x84($s0) +/* 7ECFB4 802422A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 7ECFB8 802422A8 8FB00010 */ lw $s0, 0x10($sp) +/* 7ECFBC 802422AC 24020002 */ addiu $v0, $zero, 2 +/* 7ECFC0 802422B0 03E00008 */ jr $ra +/* 7ECFC4 802422B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 7ECFC8 802422B8 00000000 */ nop +/* 7ECFCC 802422BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802422C0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802422C0.s new file mode 100644 index 0000000000..77f370f26a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802422C0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C0 +/* 7ECFD0 802422C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7ECFD4 802422C4 AFB00010 */ sw $s0, 0x10($sp) +/* 7ECFD8 802422C8 0080802D */ daddu $s0, $a0, $zero +/* 7ECFDC 802422CC AFB20018 */ sw $s2, 0x18($sp) +/* 7ECFE0 802422D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 7ECFE4 802422D4 AFB10014 */ sw $s1, 0x14($sp) +/* 7ECFE8 802422D8 8E02000C */ lw $v0, 0xc($s0) +/* 7ECFEC 802422DC 10A00008 */ beqz $a1, .L80242300 +/* 7ECFF0 802422E0 0000902D */ daddu $s2, $zero, $zero +/* 7ECFF4 802422E4 8C450000 */ lw $a1, ($v0) +/* 7ECFF8 802422E8 0C0B1EAF */ jal get_variable +/* 7ECFFC 802422EC 00000000 */ nop +/* 7ED000 802422F0 AE020070 */ sw $v0, 0x70($s0) +/* 7ED004 802422F4 AE000074 */ sw $zero, 0x74($s0) +/* 7ED008 802422F8 8C420014 */ lw $v0, 0x14($v0) +/* 7ED00C 802422FC AE020078 */ sw $v0, 0x78($s0) +.L80242300: +/* 7ED010 80242300 8E050078 */ lw $a1, 0x78($s0) +/* 7ED014 80242304 8E110070 */ lw $s1, 0x70($s0) +/* 7ED018 80242308 0C0B1EAF */ jal get_variable +/* 7ED01C 8024230C 0200202D */ daddu $a0, $s0, $zero +/* 7ED020 80242310 10400006 */ beqz $v0, .L8024232C +/* 7ED024 80242314 24030002 */ addiu $v1, $zero, 2 +/* 7ED028 80242318 8E020074 */ lw $v0, 0x74($s0) +/* 7ED02C 8024231C 10430027 */ beq $v0, $v1, .L802423BC +/* 7ED030 80242320 00000000 */ nop +/* 7ED034 80242324 080908EE */ j .L802423B8 +/* 7ED038 80242328 AE030074 */ sw $v1, 0x74($s0) +.L8024232C: +/* 7ED03C 8024232C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 7ED040 80242330 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 7ED044 80242334 8E260000 */ lw $a2, ($s1) +/* 7ED048 80242338 8E270004 */ lw $a3, 4($s1) +/* 7ED04C 8024233C C44C0028 */ lwc1 $f12, 0x28($v0) +/* 7ED050 80242340 0C00A7B5 */ jal dist2D +/* 7ED054 80242344 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 7ED058 80242348 8E030074 */ lw $v1, 0x74($s0) +/* 7ED05C 8024234C 24040001 */ addiu $a0, $zero, 1 +/* 7ED060 80242350 10640013 */ beq $v1, $a0, .L802423A0 +/* 7ED064 80242354 46000086 */ mov.s $f2, $f0 +/* 7ED068 80242358 28620002 */ slti $v0, $v1, 2 +/* 7ED06C 8024235C 50400005 */ beql $v0, $zero, .L80242374 +/* 7ED070 80242360 24020002 */ addiu $v0, $zero, 2 +/* 7ED074 80242364 10600007 */ beqz $v1, .L80242384 +/* 7ED078 80242368 00000000 */ nop +/* 7ED07C 8024236C 080908EF */ j .L802423BC +/* 7ED080 80242370 00000000 */ nop +.L80242374: +/* 7ED084 80242374 50620010 */ beql $v1, $v0, .L802423B8 +/* 7ED088 80242378 AE040074 */ sw $a0, 0x74($s0) +/* 7ED08C 8024237C 080908EF */ j .L802423BC +/* 7ED090 80242380 00000000 */ nop +.L80242384: +/* 7ED094 80242384 C6200008 */ lwc1 $f0, 8($s1) +/* 7ED098 80242388 4600103C */ c.lt.s $f2, $f0 +/* 7ED09C 8024238C 00000000 */ nop +/* 7ED0A0 80242390 4500000A */ bc1f .L802423BC +/* 7ED0A4 80242394 00000000 */ nop +/* 7ED0A8 80242398 080908EE */ j .L802423B8 +/* 7ED0AC 8024239C AE040074 */ sw $a0, 0x74($s0) +.L802423A0: +/* 7ED0B0 802423A0 C620000C */ lwc1 $f0, 0xc($s1) +/* 7ED0B4 802423A4 4602003C */ c.lt.s $f0, $f2 +/* 7ED0B8 802423A8 00000000 */ nop +/* 7ED0BC 802423AC 45000003 */ bc1f .L802423BC +/* 7ED0C0 802423B0 00000000 */ nop +/* 7ED0C4 802423B4 AE000074 */ sw $zero, 0x74($s0) +.L802423B8: +/* 7ED0C8 802423B8 24120001 */ addiu $s2, $zero, 1 +.L802423BC: +/* 7ED0CC 802423BC 12400005 */ beqz $s2, .L802423D4 +/* 7ED0D0 802423C0 00000000 */ nop +/* 7ED0D4 802423C4 8E250010 */ lw $a1, 0x10($s1) +/* 7ED0D8 802423C8 86060076 */ lh $a2, 0x76($s0) +/* 7ED0DC 802423CC 0C052A95 */ jal func_8014AA54 +/* 7ED0E0 802423D0 0000202D */ daddu $a0, $zero, $zero +.L802423D4: +/* 7ED0E4 802423D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 7ED0E8 802423D8 8FB20018 */ lw $s2, 0x18($sp) +/* 7ED0EC 802423DC 8FB10014 */ lw $s1, 0x14($sp) +/* 7ED0F0 802423E0 8FB00010 */ lw $s0, 0x10($sp) +/* 7ED0F4 802423E4 0000102D */ daddu $v0, $zero, $zero +/* 7ED0F8 802423E8 03E00008 */ jr $ra +/* 7ED0FC 802423EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802423F0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802423F0.s new file mode 100644 index 0000000000..368a827593 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802423F0.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423F0 +/* 7ED100 802423F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7ED104 802423F4 AFB20018 */ sw $s2, 0x18($sp) +/* 7ED108 802423F8 3C12E200 */ lui $s2, 0xe200 +/* 7ED10C 802423FC 36521D00 */ ori $s2, $s2, 0x1d00 +/* 7ED110 80242400 AFB3001C */ sw $s3, 0x1c($sp) +/* 7ED114 80242404 3C13E200 */ lui $s3, 0xe200 +/* 7ED118 80242408 3673001C */ ori $s3, $s3, 0x1c +/* 7ED11C 8024240C 3C060F0A */ lui $a2, 0xf0a +/* 7ED120 80242410 34C64010 */ ori $a2, $a2, 0x4010 +/* 7ED124 80242414 3C08FCFF */ lui $t0, 0xfcff +/* 7ED128 80242418 3508FFFF */ ori $t0, $t0, 0xffff +/* 7ED12C 8024241C 3C07FFFD */ lui $a3, 0xfffd +/* 7ED130 80242420 34E7FEFF */ ori $a3, $a3, 0xfeff +/* 7ED134 80242424 AFB00010 */ sw $s0, 0x10($sp) +/* 7ED138 80242428 3C10800A */ lui $s0, 0x800a +/* 7ED13C 8024242C 2610A66C */ addiu $s0, $s0, -0x5994 +/* 7ED140 80242430 240400D6 */ addiu $a0, $zero, 0xd6 +/* 7ED144 80242434 24030004 */ addiu $v1, $zero, 4 +/* 7ED148 80242438 AFBF0020 */ sw $ra, 0x20($sp) +/* 7ED14C 8024243C AFB10014 */ sw $s1, 0x14($sp) +/* 7ED150 80242440 8E020000 */ lw $v0, ($s0) +/* 7ED154 80242444 3C11E700 */ lui $s1, 0xe700 +/* 7ED158 80242448 0040282D */ daddu $a1, $v0, $zero +/* 7ED15C 8024244C 24420008 */ addiu $v0, $v0, 8 +/* 7ED160 80242450 AE020000 */ sw $v0, ($s0) +/* 7ED164 80242454 ACA30004 */ sw $v1, 4($a1) +/* 7ED168 80242458 24430008 */ addiu $v1, $v0, 8 +/* 7ED16C 8024245C ACB20000 */ sw $s2, ($a1) +/* 7ED170 80242460 AE030000 */ sw $v1, ($s0) +/* 7ED174 80242464 3C03EE00 */ lui $v1, 0xee00 +/* 7ED178 80242468 AC430000 */ sw $v1, ($v0) +/* 7ED17C 8024246C 3C037FF0 */ lui $v1, 0x7ff0 +/* 7ED180 80242470 AC430004 */ sw $v1, 4($v0) +/* 7ED184 80242474 24430010 */ addiu $v1, $v0, 0x10 +/* 7ED188 80242478 AE030000 */ sw $v1, ($s0) +/* 7ED18C 8024247C 24430018 */ addiu $v1, $v0, 0x18 +/* 7ED190 80242480 AC530008 */ sw $s3, 8($v0) +/* 7ED194 80242484 AC46000C */ sw $a2, 0xc($v0) +/* 7ED198 80242488 AE030000 */ sw $v1, ($s0) +/* 7ED19C 8024248C 24430020 */ addiu $v1, $v0, 0x20 +/* 7ED1A0 80242490 AC480010 */ sw $t0, 0x10($v0) +/* 7ED1A4 80242494 AC470014 */ sw $a3, 0x14($v0) +/* 7ED1A8 80242498 AE030000 */ sw $v1, ($s0) +/* 7ED1AC 8024249C 3C03FA00 */ lui $v1, 0xfa00 +/* 7ED1B0 802424A0 AC430018 */ sw $v1, 0x18($v0) +/* 7ED1B4 802424A4 34038000 */ ori $v1, $zero, 0x8000 +/* 7ED1B8 802424A8 AC43001C */ sw $v1, 0x1c($v0) +/* 7ED1BC 802424AC 24430028 */ addiu $v1, $v0, 0x28 +/* 7ED1C0 802424B0 AE030000 */ sw $v1, ($s0) +/* 7ED1C4 802424B4 AC510020 */ sw $s1, 0x20($v0) +/* 7ED1C8 802424B8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 7ED1CC 802424BC AC400024 */ sw $zero, 0x24($v0) +/* 7ED1D0 802424C0 0C046B4C */ jal get_model_from_list_index +/* 7ED1D4 802424C4 0040202D */ daddu $a0, $v0, $zero +/* 7ED1D8 802424C8 3C07E300 */ lui $a3, 0xe300 +/* 7ED1DC 802424CC 34E70A01 */ ori $a3, $a3, 0xa01 +/* 7ED1E0 802424D0 3C080C18 */ lui $t0, 0xc18 +/* 7ED1E4 802424D4 350849D8 */ ori $t0, $t0, 0x49d8 +/* 7ED1E8 802424D8 0200202D */ daddu $a0, $s0, $zero +/* 7ED1EC 802424DC 8E030000 */ lw $v1, ($s0) +/* 7ED1F0 802424E0 3C05DE00 */ lui $a1, 0xde00 +/* 7ED1F4 802424E4 0060302D */ daddu $a2, $v1, $zero +/* 7ED1F8 802424E8 24630008 */ addiu $v1, $v1, 8 +/* 7ED1FC 802424EC AC830000 */ sw $v1, ($a0) +/* 7ED200 802424F0 ACC50000 */ sw $a1, ($a2) +/* 7ED204 802424F4 24650008 */ addiu $a1, $v1, 8 +/* 7ED208 802424F8 AC850000 */ sw $a1, ($a0) +/* 7ED20C 802424FC 8C450008 */ lw $a1, 8($v0) +/* 7ED210 80242500 24620010 */ addiu $v0, $v1, 0x10 +/* 7ED214 80242504 AC820000 */ sw $v0, ($a0) +/* 7ED218 80242508 8CA50004 */ lw $a1, 4($a1) +/* 7ED21C 8024250C 24620018 */ addiu $v0, $v1, 0x18 +/* 7ED220 80242510 AC820000 */ sw $v0, ($a0) +/* 7ED224 80242514 8CA50000 */ lw $a1, ($a1) +/* 7ED228 80242518 24620020 */ addiu $v0, $v1, 0x20 +/* 7ED22C 8024251C AC820000 */ sw $v0, ($a0) +/* 7ED230 80242520 3C020010 */ lui $v0, 0x10 +/* 7ED234 80242524 ACC50004 */ sw $a1, 4($a2) +/* 7ED238 80242528 240500D6 */ addiu $a1, $zero, 0xd6 +/* 7ED23C 8024252C AC710000 */ sw $s1, ($v1) +/* 7ED240 80242530 AC600004 */ sw $zero, 4($v1) +/* 7ED244 80242534 AC670008 */ sw $a3, 8($v1) +/* 7ED248 80242538 AC62000C */ sw $v0, 0xc($v1) +/* 7ED24C 8024253C AC720010 */ sw $s2, 0x10($v1) +/* 7ED250 80242540 AC600014 */ sw $zero, 0x14($v1) +/* 7ED254 80242544 AC730018 */ sw $s3, 0x18($v1) +/* 7ED258 80242548 0C0475CB */ jal func_8011D72C +/* 7ED25C 8024254C AC68001C */ sw $t0, 0x1c($v1) +/* 7ED260 80242550 8FBF0020 */ lw $ra, 0x20($sp) +/* 7ED264 80242554 8FB3001C */ lw $s3, 0x1c($sp) +/* 7ED268 80242558 8FB20018 */ lw $s2, 0x18($sp) +/* 7ED26C 8024255C 8FB10014 */ lw $s1, 0x14($sp) +/* 7ED270 80242560 8FB00010 */ lw $s0, 0x10($sp) +/* 7ED274 80242564 03E00008 */ jr $ra +/* 7ED278 80242568 27BD0028 */ addiu $sp, $sp, 0x28 +/* 7ED27C 8024256C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242570.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242570.s new file mode 100644 index 0000000000..9c1debb197 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242570.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242570 +/* 7ED280 80242570 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7ED284 80242574 AFB50024 */ sw $s5, 0x24($sp) +/* 7ED288 80242578 0080A82D */ daddu $s5, $a0, $zero +/* 7ED28C 8024257C AFBF002C */ sw $ra, 0x2c($sp) +/* 7ED290 80242580 AFB60028 */ sw $s6, 0x28($sp) +/* 7ED294 80242584 AFB40020 */ sw $s4, 0x20($sp) +/* 7ED298 80242588 AFB3001C */ sw $s3, 0x1c($sp) +/* 7ED29C 8024258C AFB20018 */ sw $s2, 0x18($sp) +/* 7ED2A0 80242590 AFB10014 */ sw $s1, 0x14($sp) +/* 7ED2A4 80242594 AFB00010 */ sw $s0, 0x10($sp) +/* 7ED2A8 80242598 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 7ED2AC 8024259C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 7ED2B0 802425A0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 7ED2B4 802425A4 8EB30148 */ lw $s3, 0x148($s5) +/* 7ED2B8 802425A8 86640008 */ lh $a0, 8($s3) +/* 7ED2BC 802425AC 0C00EABB */ jal get_npc_unsafe +/* 7ED2C0 802425B0 00A0B02D */ daddu $s6, $a1, $zero +/* 7ED2C4 802425B4 0040A02D */ daddu $s4, $v0, $zero +/* 7ED2C8 802425B8 AEA00074 */ sw $zero, 0x74($s5) +/* 7ED2CC 802425BC C6980038 */ lwc1 $f24, 0x38($s4) +/* 7ED2D0 802425C0 C6960040 */ lwc1 $f22, 0x40($s4) +/* 7ED2D4 802425C4 0000902D */ daddu $s2, $zero, $zero +/* 7ED2D8 802425C8 AEA00078 */ sw $zero, 0x78($s5) +/* 7ED2DC 802425CC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 7ED2E0 802425D0 8C620000 */ lw $v0, ($v1) +/* 7ED2E4 802425D4 3C0146FF */ lui $at, 0x46ff +/* 7ED2E8 802425D8 3421FE00 */ ori $at, $at, 0xfe00 +/* 7ED2EC 802425DC 4481A000 */ mtc1 $at, $f20 +/* 7ED2F0 802425E0 18400018 */ blez $v0, .L80242644 +/* 7ED2F4 802425E4 0240802D */ daddu $s0, $s2, $zero +/* 7ED2F8 802425E8 0240882D */ daddu $s1, $s2, $zero +.L802425EC: +/* 7ED2FC 802425EC 02231021 */ addu $v0, $s1, $v1 +/* 7ED300 802425F0 4600C306 */ mov.s $f12, $f24 +/* 7ED304 802425F4 C4440004 */ lwc1 $f4, 4($v0) +/* 7ED308 802425F8 46802120 */ cvt.s.w $f4, $f4 +/* 7ED30C 802425FC 44062000 */ mfc1 $a2, $f4 +/* 7ED310 80242600 C444000C */ lwc1 $f4, 0xc($v0) +/* 7ED314 80242604 46802120 */ cvt.s.w $f4, $f4 +/* 7ED318 80242608 44072000 */ mfc1 $a3, $f4 +/* 7ED31C 8024260C 0C00A7B5 */ jal dist2D +/* 7ED320 80242610 4600B386 */ mov.s $f14, $f22 +/* 7ED324 80242614 4614003C */ c.lt.s $f0, $f20 +/* 7ED328 80242618 00000000 */ nop +/* 7ED32C 8024261C 45000003 */ bc1f .L8024262C +/* 7ED330 80242620 2631000C */ addiu $s1, $s1, 0xc +/* 7ED334 80242624 46000506 */ mov.s $f20, $f0 +/* 7ED338 80242628 AEB20078 */ sw $s2, 0x78($s5) +.L8024262C: +/* 7ED33C 8024262C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 7ED340 80242630 26100001 */ addiu $s0, $s0, 1 +/* 7ED344 80242634 8C620000 */ lw $v0, ($v1) +/* 7ED348 80242638 0202102A */ slt $v0, $s0, $v0 +/* 7ED34C 8024263C 1440FFEB */ bnez $v0, .L802425EC +/* 7ED350 80242640 26520001 */ addiu $s2, $s2, 1 +.L80242644: +/* 7ED354 80242644 8E6200CC */ lw $v0, 0xcc($s3) +/* 7ED358 80242648 8C420004 */ lw $v0, 4($v0) +/* 7ED35C 8024264C AE820028 */ sw $v0, 0x28($s4) +/* 7ED360 80242650 8E6200D0 */ lw $v0, 0xd0($s3) +/* 7ED364 80242654 8C42007C */ lw $v0, 0x7c($v0) +/* 7ED368 80242658 04410004 */ bgez $v0, .L8024266C +/* 7ED36C 8024265C 00000000 */ nop +/* 7ED370 80242660 C6C00000 */ lwc1 $f0, ($s6) +/* 7ED374 80242664 080909A3 */ j .L8024268C +/* 7ED378 80242668 E6800018 */ swc1 $f0, 0x18($s4) +.L8024266C: +/* 7ED37C 8024266C 3C018025 */ lui $at, 0x8025 +/* 7ED380 80242670 D42259C0 */ ldc1 $f2, 0x59c0($at) +/* 7ED384 80242674 44820000 */ mtc1 $v0, $f0 +/* 7ED388 80242678 00000000 */ nop +/* 7ED38C 8024267C 46800021 */ cvt.d.w $f0, $f0 +/* 7ED390 80242680 46220003 */ div.d $f0, $f0, $f2 +/* 7ED394 80242684 46200020 */ cvt.s.d $f0, $f0 +/* 7ED398 80242688 E6800018 */ swc1 $f0, 0x18($s4) +.L8024268C: +/* 7ED39C 8024268C 24020001 */ addiu $v0, $zero, 1 +/* 7ED3A0 80242690 AEA20070 */ sw $v0, 0x70($s5) +/* 7ED3A4 80242694 8FBF002C */ lw $ra, 0x2c($sp) +/* 7ED3A8 80242698 8FB60028 */ lw $s6, 0x28($sp) +/* 7ED3AC 8024269C 8FB50024 */ lw $s5, 0x24($sp) +/* 7ED3B0 802426A0 8FB40020 */ lw $s4, 0x20($sp) +/* 7ED3B4 802426A4 8FB3001C */ lw $s3, 0x1c($sp) +/* 7ED3B8 802426A8 8FB20018 */ lw $s2, 0x18($sp) +/* 7ED3BC 802426AC 8FB10014 */ lw $s1, 0x14($sp) +/* 7ED3C0 802426B0 8FB00010 */ lw $s0, 0x10($sp) +/* 7ED3C4 802426B4 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 7ED3C8 802426B8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 7ED3CC 802426BC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 7ED3D0 802426C0 03E00008 */ jr $ra +/* 7ED3D4 802426C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802426C8.s b/asm/nonmatchings/world/area_mac/mac_00/func_802426C8.s new file mode 100644 index 0000000000..3a355692f4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802426C8.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426C8 +/* 7ED3D8 802426C8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 7ED3DC 802426CC AFB20038 */ sw $s2, 0x38($sp) +/* 7ED3E0 802426D0 0080902D */ daddu $s2, $a0, $zero +/* 7ED3E4 802426D4 AFBF0044 */ sw $ra, 0x44($sp) +/* 7ED3E8 802426D8 AFB40040 */ sw $s4, 0x40($sp) +/* 7ED3EC 802426DC AFB3003C */ sw $s3, 0x3c($sp) +/* 7ED3F0 802426E0 AFB10034 */ sw $s1, 0x34($sp) +/* 7ED3F4 802426E4 AFB00030 */ sw $s0, 0x30($sp) +/* 7ED3F8 802426E8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 7ED3FC 802426EC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 7ED400 802426F0 8E510148 */ lw $s1, 0x148($s2) +/* 7ED404 802426F4 00A0982D */ daddu $s3, $a1, $zero +/* 7ED408 802426F8 86240008 */ lh $a0, 8($s1) +/* 7ED40C 802426FC 0C00EABB */ jal get_npc_unsafe +/* 7ED410 80242700 00C0A02D */ daddu $s4, $a2, $zero +/* 7ED414 80242704 8E630014 */ lw $v1, 0x14($s3) +/* 7ED418 80242708 04600030 */ bltz $v1, .L802427CC +/* 7ED41C 8024270C 0040802D */ daddu $s0, $v0, $zero +/* 7ED420 80242710 8E420074 */ lw $v0, 0x74($s2) +/* 7ED424 80242714 1C40002C */ bgtz $v0, .L802427C8 +/* 7ED428 80242718 2442FFFF */ addiu $v0, $v0, -1 +/* 7ED42C 8024271C 0280202D */ daddu $a0, $s4, $zero +/* 7ED430 80242720 AE430074 */ sw $v1, 0x74($s2) +/* 7ED434 80242724 AFA00010 */ sw $zero, 0x10($sp) +/* 7ED438 80242728 8E66000C */ lw $a2, 0xc($s3) +/* 7ED43C 8024272C 8E670010 */ lw $a3, 0x10($s3) +/* 7ED440 80242730 0C01242D */ jal func_800490B4 +/* 7ED444 80242734 0220282D */ daddu $a1, $s1, $zero +/* 7ED448 80242738 10400021 */ beqz $v0, .L802427C0 +/* 7ED44C 8024273C 0000202D */ daddu $a0, $zero, $zero +/* 7ED450 80242740 0200282D */ daddu $a1, $s0, $zero +/* 7ED454 80242744 0000302D */ daddu $a2, $zero, $zero +/* 7ED458 80242748 860300A8 */ lh $v1, 0xa8($s0) +/* 7ED45C 8024274C 3C013F80 */ lui $at, 0x3f80 +/* 7ED460 80242750 44810000 */ mtc1 $at, $f0 +/* 7ED464 80242754 3C014000 */ lui $at, 0x4000 +/* 7ED468 80242758 44811000 */ mtc1 $at, $f2 +/* 7ED46C 8024275C 3C01C1A0 */ lui $at, 0xc1a0 +/* 7ED470 80242760 44812000 */ mtc1 $at, $f4 +/* 7ED474 80242764 2402000F */ addiu $v0, $zero, 0xf +/* 7ED478 80242768 AFA2001C */ sw $v0, 0x1c($sp) +/* 7ED47C 8024276C 44833000 */ mtc1 $v1, $f6 +/* 7ED480 80242770 00000000 */ nop +/* 7ED484 80242774 468031A0 */ cvt.s.w $f6, $f6 +/* 7ED488 80242778 44073000 */ mfc1 $a3, $f6 +/* 7ED48C 8024277C 27A20028 */ addiu $v0, $sp, 0x28 +/* 7ED490 80242780 AFA20020 */ sw $v0, 0x20($sp) +/* 7ED494 80242784 E7A00010 */ swc1 $f0, 0x10($sp) +/* 7ED498 80242788 E7A20014 */ swc1 $f2, 0x14($sp) +/* 7ED49C 8024278C 0C01BFA4 */ jal fx_emote +/* 7ED4A0 80242790 E7A40018 */ swc1 $f4, 0x18($sp) +/* 7ED4A4 80242794 0200202D */ daddu $a0, $s0, $zero +/* 7ED4A8 80242798 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 7ED4AC 8024279C 0C012530 */ jal func_800494C0 +/* 7ED4B0 802427A0 3C060020 */ lui $a2, 0x20 +/* 7ED4B4 802427A4 8E220018 */ lw $v0, 0x18($s1) +/* 7ED4B8 802427A8 9442002A */ lhu $v0, 0x2a($v0) +/* 7ED4BC 802427AC 30420001 */ andi $v0, $v0, 1 +/* 7ED4C0 802427B0 14400064 */ bnez $v0, .L80242944 +/* 7ED4C4 802427B4 2402000A */ addiu $v0, $zero, 0xa +/* 7ED4C8 802427B8 08090A51 */ j .L80242944 +/* 7ED4CC 802427BC 2402000C */ addiu $v0, $zero, 0xc +.L802427C0: +/* 7ED4D0 802427C0 8E420074 */ lw $v0, 0x74($s2) +/* 7ED4D4 802427C4 2442FFFF */ addiu $v0, $v0, -1 +.L802427C8: +/* 7ED4D8 802427C8 AE420074 */ sw $v0, 0x74($s2) +.L802427CC: +/* 7ED4DC 802427CC 8602008C */ lh $v0, 0x8c($s0) +/* 7ED4E0 802427D0 1440005D */ bnez $v0, .L80242948 +/* 7ED4E4 802427D4 00000000 */ nop +/* 7ED4E8 802427D8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 7ED4EC 802427DC 3C014010 */ lui $at, 0x4010 +/* 7ED4F0 802427E0 44811800 */ mtc1 $at, $f3 +/* 7ED4F4 802427E4 44801000 */ mtc1 $zero, $f2 +/* 7ED4F8 802427E8 46000021 */ cvt.d.s $f0, $f0 +/* 7ED4FC 802427EC 4622003C */ c.lt.d $f0, $f2 +/* 7ED500 802427F0 00000000 */ nop +/* 7ED504 802427F4 45000003 */ bc1f .L80242804 +/* 7ED508 802427F8 0200202D */ daddu $a0, $s0, $zero +/* 7ED50C 802427FC 08090A02 */ j .L80242808 +/* 7ED510 80242800 0000282D */ daddu $a1, $zero, $zero +.L80242804: +/* 7ED514 80242804 24050001 */ addiu $a1, $zero, 1 +.L80242808: +/* 7ED518 80242808 0C00F598 */ jal func_8003D660 +/* 7ED51C 8024280C 00000000 */ nop +/* 7ED520 80242810 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 7ED524 80242814 8E430078 */ lw $v1, 0x78($s2) +/* 7ED528 80242818 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 7ED52C 8024281C 00031040 */ sll $v0, $v1, 1 +/* 7ED530 80242820 00431021 */ addu $v0, $v0, $v1 +/* 7ED534 80242824 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7ED538 80242828 00021080 */ sll $v0, $v0, 2 +/* 7ED53C 8024282C 00431021 */ addu $v0, $v0, $v1 +/* 7ED540 80242830 C4560004 */ lwc1 $f22, 4($v0) +/* 7ED544 80242834 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7ED548 80242838 C454000C */ lwc1 $f20, 0xc($v0) +/* 7ED54C 8024283C 4680A520 */ cvt.s.w $f20, $f20 +/* 7ED550 80242840 4406B000 */ mfc1 $a2, $f22 +/* 7ED554 80242844 4407A000 */ mfc1 $a3, $f20 +/* 7ED558 80242848 0C00A720 */ jal atan2 +/* 7ED55C 8024284C 00000000 */ nop +/* 7ED560 80242850 8E050018 */ lw $a1, 0x18($s0) +/* 7ED564 80242854 44060000 */ mfc1 $a2, $f0 +/* 7ED568 80242858 0200202D */ daddu $a0, $s0, $zero +/* 7ED56C 8024285C 0C00EA95 */ jal npc_move_heading +/* 7ED570 80242860 AE06000C */ sw $a2, 0xc($s0) +/* 7ED574 80242864 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 7ED578 80242868 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 7ED57C 8024286C 4406B000 */ mfc1 $a2, $f22 +/* 7ED580 80242870 4407A000 */ mfc1 $a3, $f20 +/* 7ED584 80242874 0C00A7B5 */ jal dist2D +/* 7ED588 80242878 00000000 */ nop +/* 7ED58C 8024287C C6020018 */ lwc1 $f2, 0x18($s0) +/* 7ED590 80242880 4602003E */ c.le.s $f0, $f2 +/* 7ED594 80242884 00000000 */ nop +/* 7ED598 80242888 4500002F */ bc1f .L80242948 +/* 7ED59C 8024288C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 7ED5A0 80242890 24020002 */ addiu $v0, $zero, 2 +/* 7ED5A4 80242894 0C00A67F */ jal rand_int +/* 7ED5A8 80242898 AE420070 */ sw $v0, 0x70($s2) +/* 7ED5AC 8024289C 3C035555 */ lui $v1, 0x5555 +/* 7ED5B0 802428A0 34635556 */ ori $v1, $v1, 0x5556 +/* 7ED5B4 802428A4 00430018 */ mult $v0, $v1 +/* 7ED5B8 802428A8 000227C3 */ sra $a0, $v0, 0x1f +/* 7ED5BC 802428AC 00004010 */ mfhi $t0 +/* 7ED5C0 802428B0 01042023 */ subu $a0, $t0, $a0 +/* 7ED5C4 802428B4 00041840 */ sll $v1, $a0, 1 +/* 7ED5C8 802428B8 00641821 */ addu $v1, $v1, $a0 +/* 7ED5CC 802428BC 00431023 */ subu $v0, $v0, $v1 +/* 7ED5D0 802428C0 24430002 */ addiu $v1, $v0, 2 +/* 7ED5D4 802428C4 AE430074 */ sw $v1, 0x74($s2) +/* 7ED5D8 802428C8 8E62002C */ lw $v0, 0x2c($s3) +/* 7ED5DC 802428CC 18400009 */ blez $v0, .L802428F4 +/* 7ED5E0 802428D0 24020004 */ addiu $v0, $zero, 4 +/* 7ED5E4 802428D4 8E620004 */ lw $v0, 4($s3) +/* 7ED5E8 802428D8 18400006 */ blez $v0, .L802428F4 +/* 7ED5EC 802428DC 24020004 */ addiu $v0, $zero, 4 +/* 7ED5F0 802428E0 8E620008 */ lw $v0, 8($s3) +/* 7ED5F4 802428E4 18400003 */ blez $v0, .L802428F4 +/* 7ED5F8 802428E8 24020004 */ addiu $v0, $zero, 4 +/* 7ED5FC 802428EC 14600002 */ bnez $v1, .L802428F8 +/* 7ED600 802428F0 00000000 */ nop +.L802428F4: +/* 7ED604 802428F4 AE420070 */ sw $v0, 0x70($s2) +.L802428F8: +/* 7ED608 802428F8 0C00A67F */ jal rand_int +/* 7ED60C 802428FC 24042710 */ addiu $a0, $zero, 0x2710 +/* 7ED610 80242900 3C0351EB */ lui $v1, 0x51eb +/* 7ED614 80242904 3463851F */ ori $v1, $v1, 0x851f +/* 7ED618 80242908 00430018 */ mult $v0, $v1 +/* 7ED61C 8024290C 00021FC3 */ sra $v1, $v0, 0x1f +/* 7ED620 80242910 00004010 */ mfhi $t0 +/* 7ED624 80242914 00082143 */ sra $a0, $t0, 5 +/* 7ED628 80242918 00832023 */ subu $a0, $a0, $v1 +/* 7ED62C 8024291C 00041840 */ sll $v1, $a0, 1 +/* 7ED630 80242920 00641821 */ addu $v1, $v1, $a0 +/* 7ED634 80242924 000318C0 */ sll $v1, $v1, 3 +/* 7ED638 80242928 00641821 */ addu $v1, $v1, $a0 +/* 7ED63C 8024292C 00031880 */ sll $v1, $v1, 2 +/* 7ED640 80242930 8E640004 */ lw $a0, 4($s3) +/* 7ED644 80242934 00431023 */ subu $v0, $v0, $v1 +/* 7ED648 80242938 0044102A */ slt $v0, $v0, $a0 +/* 7ED64C 8024293C 10400002 */ beqz $v0, .L80242948 +/* 7ED650 80242940 24020004 */ addiu $v0, $zero, 4 +.L80242944: +/* 7ED654 80242944 AE420070 */ sw $v0, 0x70($s2) +.L80242948: +/* 7ED658 80242948 8FBF0044 */ lw $ra, 0x44($sp) +/* 7ED65C 8024294C 8FB40040 */ lw $s4, 0x40($sp) +/* 7ED660 80242950 8FB3003C */ lw $s3, 0x3c($sp) +/* 7ED664 80242954 8FB20038 */ lw $s2, 0x38($sp) +/* 7ED668 80242958 8FB10034 */ lw $s1, 0x34($sp) +/* 7ED66C 8024295C 8FB00030 */ lw $s0, 0x30($sp) +/* 7ED670 80242960 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 7ED674 80242964 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 7ED678 80242968 03E00008 */ jr $ra +/* 7ED67C 8024296C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242970.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242970.s new file mode 100644 index 0000000000..70f8f48c3c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242970.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242970 +/* 7ED680 80242970 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 7ED684 80242974 AFB3001C */ sw $s3, 0x1c($sp) +/* 7ED688 80242978 0080982D */ daddu $s3, $a0, $zero +/* 7ED68C 8024297C AFBF0020 */ sw $ra, 0x20($sp) +/* 7ED690 80242980 AFB20018 */ sw $s2, 0x18($sp) +/* 7ED694 80242984 AFB10014 */ sw $s1, 0x14($sp) +/* 7ED698 80242988 AFB00010 */ sw $s0, 0x10($sp) +/* 7ED69C 8024298C 8E720148 */ lw $s2, 0x148($s3) +/* 7ED6A0 80242990 86440008 */ lh $a0, 8($s2) +/* 7ED6A4 80242994 0C00EABB */ jal get_npc_unsafe +/* 7ED6A8 80242998 00A0882D */ daddu $s1, $a1, $zero +/* 7ED6AC 8024299C 8E240008 */ lw $a0, 8($s1) +/* 7ED6B0 802429A0 0040802D */ daddu $s0, $v0, $zero +/* 7ED6B4 802429A4 00041FC2 */ srl $v1, $a0, 0x1f +/* 7ED6B8 802429A8 00832021 */ addu $a0, $a0, $v1 +/* 7ED6BC 802429AC 00042043 */ sra $a0, $a0, 1 +/* 7ED6C0 802429B0 0C00A67F */ jal rand_int +/* 7ED6C4 802429B4 24840001 */ addiu $a0, $a0, 1 +/* 7ED6C8 802429B8 8E230008 */ lw $v1, 8($s1) +/* 7ED6CC 802429BC 240400B4 */ addiu $a0, $zero, 0xb4 +/* 7ED6D0 802429C0 00032FC2 */ srl $a1, $v1, 0x1f +/* 7ED6D4 802429C4 00651821 */ addu $v1, $v1, $a1 +/* 7ED6D8 802429C8 00031843 */ sra $v1, $v1, 1 +/* 7ED6DC 802429CC 00621821 */ addu $v1, $v1, $v0 +/* 7ED6E0 802429D0 0C00A67F */ jal rand_int +/* 7ED6E4 802429D4 A603008E */ sh $v1, 0x8e($s0) +/* 7ED6E8 802429D8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 7ED6EC 802429DC 44820000 */ mtc1 $v0, $f0 +/* 7ED6F0 802429E0 00000000 */ nop +/* 7ED6F4 802429E4 46800020 */ cvt.s.w $f0, $f0 +/* 7ED6F8 802429E8 46006300 */ add.s $f12, $f12, $f0 +/* 7ED6FC 802429EC 3C0142B4 */ lui $at, 0x42b4 +/* 7ED700 802429F0 44810000 */ mtc1 $at, $f0 +/* 7ED704 802429F4 0C00A6C9 */ jal clamp_angle +/* 7ED708 802429F8 46006301 */ sub.s $f12, $f12, $f0 +/* 7ED70C 802429FC E600000C */ swc1 $f0, 0xc($s0) +/* 7ED710 80242A00 8E4200CC */ lw $v0, 0xcc($s2) +/* 7ED714 80242A04 8C420000 */ lw $v0, ($v0) +/* 7ED718 80242A08 AE020028 */ sw $v0, 0x28($s0) +/* 7ED71C 80242A0C 24020003 */ addiu $v0, $zero, 3 +/* 7ED720 80242A10 AE620070 */ sw $v0, 0x70($s3) +/* 7ED724 80242A14 8FBF0020 */ lw $ra, 0x20($sp) +/* 7ED728 80242A18 8FB3001C */ lw $s3, 0x1c($sp) +/* 7ED72C 80242A1C 8FB20018 */ lw $s2, 0x18($sp) +/* 7ED730 80242A20 8FB10014 */ lw $s1, 0x14($sp) +/* 7ED734 80242A24 8FB00010 */ lw $s0, 0x10($sp) +/* 7ED738 80242A28 03E00008 */ jr $ra +/* 7ED73C 80242A2C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242A30.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242A30.s new file mode 100644 index 0000000000..8ab40a9d8f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242A30.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A30 +/* 7ED740 80242A30 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7ED744 80242A34 AFB40040 */ sw $s4, 0x40($sp) +/* 7ED748 80242A38 0080A02D */ daddu $s4, $a0, $zero +/* 7ED74C 80242A3C AFBF0044 */ sw $ra, 0x44($sp) +/* 7ED750 80242A40 AFB3003C */ sw $s3, 0x3c($sp) +/* 7ED754 80242A44 AFB20038 */ sw $s2, 0x38($sp) +/* 7ED758 80242A48 AFB10034 */ sw $s1, 0x34($sp) +/* 7ED75C 80242A4C AFB00030 */ sw $s0, 0x30($sp) +/* 7ED760 80242A50 8E910148 */ lw $s1, 0x148($s4) +/* 7ED764 80242A54 00A0902D */ daddu $s2, $a1, $zero +/* 7ED768 80242A58 86240008 */ lh $a0, 8($s1) +/* 7ED76C 80242A5C 0C00EABB */ jal get_npc_unsafe +/* 7ED770 80242A60 00C0982D */ daddu $s3, $a2, $zero +/* 7ED774 80242A64 8E430014 */ lw $v1, 0x14($s2) +/* 7ED778 80242A68 04600031 */ bltz $v1, .L80242B30 +/* 7ED77C 80242A6C 0040802D */ daddu $s0, $v0, $zero +/* 7ED780 80242A70 0260202D */ daddu $a0, $s3, $zero +/* 7ED784 80242A74 AFA00010 */ sw $zero, 0x10($sp) +/* 7ED788 80242A78 8E460024 */ lw $a2, 0x24($s2) +/* 7ED78C 80242A7C 8E470028 */ lw $a3, 0x28($s2) +/* 7ED790 80242A80 0C01242D */ jal func_800490B4 +/* 7ED794 80242A84 0220282D */ daddu $a1, $s1, $zero +/* 7ED798 80242A88 10400029 */ beqz $v0, .L80242B30 +/* 7ED79C 80242A8C 0000202D */ daddu $a0, $zero, $zero +/* 7ED7A0 80242A90 0200282D */ daddu $a1, $s0, $zero +/* 7ED7A4 80242A94 0000302D */ daddu $a2, $zero, $zero +/* 7ED7A8 80242A98 860300A8 */ lh $v1, 0xa8($s0) +/* 7ED7AC 80242A9C 3C013F80 */ lui $at, 0x3f80 +/* 7ED7B0 80242AA0 44810000 */ mtc1 $at, $f0 +/* 7ED7B4 80242AA4 3C014000 */ lui $at, 0x4000 +/* 7ED7B8 80242AA8 44811000 */ mtc1 $at, $f2 +/* 7ED7BC 80242AAC 3C01C1A0 */ lui $at, 0xc1a0 +/* 7ED7C0 80242AB0 44812000 */ mtc1 $at, $f4 +/* 7ED7C4 80242AB4 2402000F */ addiu $v0, $zero, 0xf +/* 7ED7C8 80242AB8 AFA2001C */ sw $v0, 0x1c($sp) +/* 7ED7CC 80242ABC 44833000 */ mtc1 $v1, $f6 +/* 7ED7D0 80242AC0 00000000 */ nop +/* 7ED7D4 80242AC4 468031A0 */ cvt.s.w $f6, $f6 +/* 7ED7D8 80242AC8 44073000 */ mfc1 $a3, $f6 +/* 7ED7DC 80242ACC 27A20028 */ addiu $v0, $sp, 0x28 +/* 7ED7E0 80242AD0 AFA20020 */ sw $v0, 0x20($sp) +/* 7ED7E4 80242AD4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 7ED7E8 80242AD8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 7ED7EC 80242ADC 0C01BFA4 */ jal fx_emote +/* 7ED7F0 80242AE0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 7ED7F4 80242AE4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 7ED7F8 80242AE8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 7ED7FC 80242AEC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 7ED800 80242AF0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 7ED804 80242AF4 8C460028 */ lw $a2, 0x28($v0) +/* 7ED808 80242AF8 0C00A720 */ jal atan2 +/* 7ED80C 80242AFC 8C470030 */ lw $a3, 0x30($v0) +/* 7ED810 80242B00 0200202D */ daddu $a0, $s0, $zero +/* 7ED814 80242B04 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 7ED818 80242B08 3C060020 */ lui $a2, 0x20 +/* 7ED81C 80242B0C 0C012530 */ jal func_800494C0 +/* 7ED820 80242B10 E480000C */ swc1 $f0, 0xc($a0) +/* 7ED824 80242B14 8E220018 */ lw $v0, 0x18($s1) +/* 7ED828 80242B18 9442002A */ lhu $v0, 0x2a($v0) +/* 7ED82C 80242B1C 30420001 */ andi $v0, $v0, 1 +/* 7ED830 80242B20 14400029 */ bnez $v0, .L80242BC8 +/* 7ED834 80242B24 2402000A */ addiu $v0, $zero, 0xa +/* 7ED838 80242B28 08090AF2 */ j .L80242BC8 +/* 7ED83C 80242B2C 2402000C */ addiu $v0, $zero, 0xc +.L80242B30: +/* 7ED840 80242B30 8602008C */ lh $v0, 0x8c($s0) +/* 7ED844 80242B34 14400025 */ bnez $v0, .L80242BCC +/* 7ED848 80242B38 00000000 */ nop +/* 7ED84C 80242B3C 9602008E */ lhu $v0, 0x8e($s0) +/* 7ED850 80242B40 2442FFFF */ addiu $v0, $v0, -1 +/* 7ED854 80242B44 A602008E */ sh $v0, 0x8e($s0) +/* 7ED858 80242B48 00021400 */ sll $v0, $v0, 0x10 +/* 7ED85C 80242B4C 1440001F */ bnez $v0, .L80242BCC +/* 7ED860 80242B50 00000000 */ nop +/* 7ED864 80242B54 8E820074 */ lw $v0, 0x74($s4) +/* 7ED868 80242B58 2442FFFF */ addiu $v0, $v0, -1 +/* 7ED86C 80242B5C 10400019 */ beqz $v0, .L80242BC4 +/* 7ED870 80242B60 AE820074 */ sw $v0, 0x74($s4) +/* 7ED874 80242B64 8E220018 */ lw $v0, 0x18($s1) +/* 7ED878 80242B68 9442002A */ lhu $v0, 0x2a($v0) +/* 7ED87C 80242B6C 30420010 */ andi $v0, $v0, 0x10 +/* 7ED880 80242B70 14400007 */ bnez $v0, .L80242B90 +/* 7ED884 80242B74 00000000 */ nop +/* 7ED888 80242B78 C600000C */ lwc1 $f0, 0xc($s0) +/* 7ED88C 80242B7C 3C014334 */ lui $at, 0x4334 +/* 7ED890 80242B80 44816000 */ mtc1 $at, $f12 +/* 7ED894 80242B84 0C00A6C9 */ jal clamp_angle +/* 7ED898 80242B88 460C0300 */ add.s $f12, $f0, $f12 +/* 7ED89C 80242B8C E600000C */ swc1 $f0, 0xc($s0) +.L80242B90: +/* 7ED8A0 80242B90 8E440008 */ lw $a0, 8($s2) +/* 7ED8A4 80242B94 000417C2 */ srl $v0, $a0, 0x1f +/* 7ED8A8 80242B98 00822021 */ addu $a0, $a0, $v0 +/* 7ED8AC 80242B9C 00042043 */ sra $a0, $a0, 1 +/* 7ED8B0 80242BA0 0C00A67F */ jal rand_int +/* 7ED8B4 80242BA4 24840001 */ addiu $a0, $a0, 1 +/* 7ED8B8 80242BA8 8E430008 */ lw $v1, 8($s2) +/* 7ED8BC 80242BAC 000327C2 */ srl $a0, $v1, 0x1f +/* 7ED8C0 80242BB0 00641821 */ addu $v1, $v1, $a0 +/* 7ED8C4 80242BB4 00031843 */ sra $v1, $v1, 1 +/* 7ED8C8 80242BB8 00621821 */ addu $v1, $v1, $v0 +/* 7ED8CC 80242BBC 08090AF3 */ j .L80242BCC +/* 7ED8D0 80242BC0 A603008E */ sh $v1, 0x8e($s0) +.L80242BC4: +/* 7ED8D4 80242BC4 24020004 */ addiu $v0, $zero, 4 +.L80242BC8: +/* 7ED8D8 80242BC8 AE820070 */ sw $v0, 0x70($s4) +.L80242BCC: +/* 7ED8DC 80242BCC 8FBF0044 */ lw $ra, 0x44($sp) +/* 7ED8E0 80242BD0 8FB40040 */ lw $s4, 0x40($sp) +/* 7ED8E4 80242BD4 8FB3003C */ lw $s3, 0x3c($sp) +/* 7ED8E8 80242BD8 8FB20038 */ lw $s2, 0x38($sp) +/* 7ED8EC 80242BDC 8FB10034 */ lw $s1, 0x34($sp) +/* 7ED8F0 80242BE0 8FB00030 */ lw $s0, 0x30($sp) +/* 7ED8F4 80242BE4 03E00008 */ jr $ra +/* 7ED8F8 80242BE8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242BEC.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242BEC.s new file mode 100644 index 0000000000..d716f512ff --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242BEC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BEC +/* 7ED8FC 80242BEC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7ED900 80242BF0 AFB10014 */ sw $s1, 0x14($sp) +/* 7ED904 80242BF4 0080882D */ daddu $s1, $a0, $zero +/* 7ED908 80242BF8 AFBF001C */ sw $ra, 0x1c($sp) +/* 7ED90C 80242BFC AFB20018 */ sw $s2, 0x18($sp) +/* 7ED910 80242C00 AFB00010 */ sw $s0, 0x10($sp) +/* 7ED914 80242C04 8E300148 */ lw $s0, 0x148($s1) +/* 7ED918 80242C08 86040008 */ lh $a0, 8($s0) +/* 7ED91C 80242C0C 0C00EABB */ jal get_npc_unsafe +/* 7ED920 80242C10 00A0902D */ daddu $s2, $a1, $zero +/* 7ED924 80242C14 8E230078 */ lw $v1, 0x78($s1) +/* 7ED928 80242C18 24630001 */ addiu $v1, $v1, 1 +/* 7ED92C 80242C1C AE230078 */ sw $v1, 0x78($s1) +/* 7ED930 80242C20 8E0400D0 */ lw $a0, 0xd0($s0) +/* 7ED934 80242C24 8C840000 */ lw $a0, ($a0) +/* 7ED938 80242C28 0064182A */ slt $v1, $v1, $a0 +/* 7ED93C 80242C2C 14600002 */ bnez $v1, .L80242C38 +/* 7ED940 80242C30 0040282D */ daddu $a1, $v0, $zero +/* 7ED944 80242C34 AE200078 */ sw $zero, 0x78($s1) +.L80242C38: +/* 7ED948 80242C38 8E0200CC */ lw $v0, 0xcc($s0) +/* 7ED94C 80242C3C 8C420004 */ lw $v0, 4($v0) +/* 7ED950 80242C40 ACA20028 */ sw $v0, 0x28($a1) +/* 7ED954 80242C44 8E0200D0 */ lw $v0, 0xd0($s0) +/* 7ED958 80242C48 8C42007C */ lw $v0, 0x7c($v0) +/* 7ED95C 80242C4C 04410004 */ bgez $v0, .L80242C60 +/* 7ED960 80242C50 00000000 */ nop +/* 7ED964 80242C54 C6400000 */ lwc1 $f0, ($s2) +/* 7ED968 80242C58 08090B20 */ j .L80242C80 +/* 7ED96C 80242C5C E4A00018 */ swc1 $f0, 0x18($a1) +.L80242C60: +/* 7ED970 80242C60 3C018025 */ lui $at, 0x8025 +/* 7ED974 80242C64 D42259C8 */ ldc1 $f2, 0x59c8($at) +/* 7ED978 80242C68 44820000 */ mtc1 $v0, $f0 +/* 7ED97C 80242C6C 00000000 */ nop +/* 7ED980 80242C70 46800021 */ cvt.d.w $f0, $f0 +/* 7ED984 80242C74 46220003 */ div.d $f0, $f0, $f2 +/* 7ED988 80242C78 46200020 */ cvt.s.d $f0, $f0 +/* 7ED98C 80242C7C E4A00018 */ swc1 $f0, 0x18($a1) +.L80242C80: +/* 7ED990 80242C80 24020001 */ addiu $v0, $zero, 1 +/* 7ED994 80242C84 AE220070 */ sw $v0, 0x70($s1) +/* 7ED998 80242C88 8FBF001C */ lw $ra, 0x1c($sp) +/* 7ED99C 80242C8C 8FB20018 */ lw $s2, 0x18($sp) +/* 7ED9A0 80242C90 8FB10014 */ lw $s1, 0x14($sp) +/* 7ED9A4 80242C94 8FB00010 */ lw $s0, 0x10($sp) +/* 7ED9A8 80242C98 03E00008 */ jr $ra +/* 7ED9AC 80242C9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242CA0.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242CA0.s new file mode 100644 index 0000000000..78cd3836e9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242CA0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CA0 +/* 7ED9B0 80242CA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7ED9B4 80242CA4 AFB10014 */ sw $s1, 0x14($sp) +/* 7ED9B8 80242CA8 0080882D */ daddu $s1, $a0, $zero +/* 7ED9BC 80242CAC AFBF0018 */ sw $ra, 0x18($sp) +/* 7ED9C0 80242CB0 AFB00010 */ sw $s0, 0x10($sp) +/* 7ED9C4 80242CB4 8E300148 */ lw $s0, 0x148($s1) +/* 7ED9C8 80242CB8 0C00EABB */ jal get_npc_unsafe +/* 7ED9CC 80242CBC 86040008 */ lh $a0, 8($s0) +/* 7ED9D0 80242CC0 8E0300CC */ lw $v1, 0xcc($s0) +/* 7ED9D4 80242CC4 3C014120 */ lui $at, 0x4120 +/* 7ED9D8 80242CC8 44812000 */ mtc1 $at, $f4 +/* 7ED9DC 80242CCC 3C014000 */ lui $at, 0x4000 +/* 7ED9E0 80242CD0 44810000 */ mtc1 $at, $f0 +/* 7ED9E4 80242CD4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 7ED9E8 80242CD8 8C640010 */ lw $a0, 0x10($v1) +/* 7ED9EC 80242CDC 8C430000 */ lw $v1, ($v0) +/* 7ED9F0 80242CE0 E444001C */ swc1 $f4, 0x1c($v0) +/* 7ED9F4 80242CE4 E4400014 */ swc1 $f0, 0x14($v0) +/* 7ED9F8 80242CE8 E4420064 */ swc1 $f2, 0x64($v0) +/* 7ED9FC 80242CEC 34630800 */ ori $v1, $v1, 0x800 +/* 7EDA00 80242CF0 AC430000 */ sw $v1, ($v0) +/* 7EDA04 80242CF4 AC440028 */ sw $a0, 0x28($v0) +/* 7EDA08 80242CF8 2402000B */ addiu $v0, $zero, 0xb +/* 7EDA0C 80242CFC AE220070 */ sw $v0, 0x70($s1) +/* 7EDA10 80242D00 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EDA14 80242D04 8FB10014 */ lw $s1, 0x14($sp) +/* 7EDA18 80242D08 8FB00010 */ lw $s0, 0x10($sp) +/* 7EDA1C 80242D0C 03E00008 */ jr $ra +/* 7EDA20 80242D10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242D14.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242D14.s new file mode 100644 index 0000000000..a4c222c417 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242D14.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D14 +/* 7EDA24 80242D14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EDA28 80242D18 AFB00010 */ sw $s0, 0x10($sp) +/* 7EDA2C 80242D1C 0080802D */ daddu $s0, $a0, $zero +/* 7EDA30 80242D20 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EDA34 80242D24 8E020148 */ lw $v0, 0x148($s0) +/* 7EDA38 80242D28 0C00EABB */ jal get_npc_unsafe +/* 7EDA3C 80242D2C 84440008 */ lh $a0, 8($v0) +/* 7EDA40 80242D30 0040202D */ daddu $a0, $v0, $zero +/* 7EDA44 80242D34 C482003C */ lwc1 $f2, 0x3c($a0) +/* 7EDA48 80242D38 C480001C */ lwc1 $f0, 0x1c($a0) +/* 7EDA4C 80242D3C 46001080 */ add.s $f2, $f2, $f0 +/* 7EDA50 80242D40 C4840014 */ lwc1 $f4, 0x14($a0) +/* 7EDA54 80242D44 46040001 */ sub.s $f0, $f0, $f4 +/* 7EDA58 80242D48 C4840064 */ lwc1 $f4, 0x64($a0) +/* 7EDA5C 80242D4C 4602203C */ c.lt.s $f4, $f2 +/* 7EDA60 80242D50 E482003C */ swc1 $f2, 0x3c($a0) +/* 7EDA64 80242D54 45010009 */ bc1t .L80242D7C +/* 7EDA68 80242D58 E480001C */ swc1 $f0, 0x1c($a0) +/* 7EDA6C 80242D5C 8C820000 */ lw $v0, ($a0) +/* 7EDA70 80242D60 2403F7FF */ addiu $v1, $zero, -0x801 +/* 7EDA74 80242D64 E484003C */ swc1 $f4, 0x3c($a0) +/* 7EDA78 80242D68 AC80001C */ sw $zero, 0x1c($a0) +/* 7EDA7C 80242D6C 00431024 */ and $v0, $v0, $v1 +/* 7EDA80 80242D70 AC820000 */ sw $v0, ($a0) +/* 7EDA84 80242D74 2402000C */ addiu $v0, $zero, 0xc +/* 7EDA88 80242D78 AE020070 */ sw $v0, 0x70($s0) +.L80242D7C: +/* 7EDA8C 80242D7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EDA90 80242D80 8FB00010 */ lw $s0, 0x10($sp) +/* 7EDA94 80242D84 03E00008 */ jr $ra +/* 7EDA98 80242D88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242D8C.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242D8C.s new file mode 100644 index 0000000000..1e432f37ad --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242D8C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D8C +/* 7EDA9C 80242D8C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 7EDAA0 80242D90 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EDAA4 80242D94 0080982D */ daddu $s3, $a0, $zero +/* 7EDAA8 80242D98 AFBF0020 */ sw $ra, 0x20($sp) +/* 7EDAAC 80242D9C AFB20018 */ sw $s2, 0x18($sp) +/* 7EDAB0 80242DA0 AFB10014 */ sw $s1, 0x14($sp) +/* 7EDAB4 80242DA4 AFB00010 */ sw $s0, 0x10($sp) +/* 7EDAB8 80242DA8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 7EDABC 80242DAC 8E710148 */ lw $s1, 0x148($s3) +/* 7EDAC0 80242DB0 86240008 */ lh $a0, 8($s1) +/* 7EDAC4 80242DB4 0C00EABB */ jal get_npc_unsafe +/* 7EDAC8 80242DB8 00A0802D */ daddu $s0, $a1, $zero +/* 7EDACC 80242DBC 8E040020 */ lw $a0, 0x20($s0) +/* 7EDAD0 80242DC0 0040902D */ daddu $s2, $v0, $zero +/* 7EDAD4 80242DC4 00041FC2 */ srl $v1, $a0, 0x1f +/* 7EDAD8 80242DC8 00832021 */ addu $a0, $a0, $v1 +/* 7EDADC 80242DCC 00042043 */ sra $a0, $a0, 1 +/* 7EDAE0 80242DD0 0C00A67F */ jal rand_int +/* 7EDAE4 80242DD4 24840001 */ addiu $a0, $a0, 1 +/* 7EDAE8 80242DD8 8E030020 */ lw $v1, 0x20($s0) +/* 7EDAEC 80242DDC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 7EDAF0 80242DE0 000327C2 */ srl $a0, $v1, 0x1f +/* 7EDAF4 80242DE4 00641821 */ addu $v1, $v1, $a0 +/* 7EDAF8 80242DE8 00031843 */ sra $v1, $v1, 1 +/* 7EDAFC 80242DEC 00621821 */ addu $v1, $v1, $v0 +/* 7EDB00 80242DF0 A643008E */ sh $v1, 0x8e($s2) +/* 7EDB04 80242DF4 8E2200CC */ lw $v0, 0xcc($s1) +/* 7EDB08 80242DF8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 7EDB0C 80242DFC 8C42000C */ lw $v0, 0xc($v0) +/* 7EDB10 80242E00 AE420028 */ sw $v0, 0x28($s2) +/* 7EDB14 80242E04 C6000018 */ lwc1 $f0, 0x18($s0) +/* 7EDB18 80242E08 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 7EDB1C 80242E0C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 7EDB20 80242E10 E6400018 */ swc1 $f0, 0x18($s2) +/* 7EDB24 80242E14 8C460028 */ lw $a2, 0x28($v0) +/* 7EDB28 80242E18 0C00A720 */ jal atan2 +/* 7EDB2C 80242E1C 8C470030 */ lw $a3, 0x30($v0) +/* 7EDB30 80242E20 46000506 */ mov.s $f20, $f0 +/* 7EDB34 80242E24 C64C000C */ lwc1 $f12, 0xc($s2) +/* 7EDB38 80242E28 0C00A70A */ jal get_clamped_angle_diff +/* 7EDB3C 80242E2C 4600A386 */ mov.s $f14, $f20 +/* 7EDB40 80242E30 46000086 */ mov.s $f2, $f0 +/* 7EDB44 80242E34 8E02001C */ lw $v0, 0x1c($s0) +/* 7EDB48 80242E38 46001005 */ abs.s $f0, $f2 +/* 7EDB4C 80242E3C 44822000 */ mtc1 $v0, $f4 +/* 7EDB50 80242E40 00000000 */ nop +/* 7EDB54 80242E44 46802120 */ cvt.s.w $f4, $f4 +/* 7EDB58 80242E48 4600203C */ c.lt.s $f4, $f0 +/* 7EDB5C 80242E4C 00000000 */ nop +/* 7EDB60 80242E50 4500000D */ bc1f .L80242E88 +/* 7EDB64 80242E54 00000000 */ nop +/* 7EDB68 80242E58 44800000 */ mtc1 $zero, $f0 +/* 7EDB6C 80242E5C C654000C */ lwc1 $f20, 0xc($s2) +/* 7EDB70 80242E60 4600103C */ c.lt.s $f2, $f0 +/* 7EDB74 80242E64 00000000 */ nop +/* 7EDB78 80242E68 45000006 */ bc1f .L80242E84 +/* 7EDB7C 80242E6C 00021023 */ negu $v0, $v0 +/* 7EDB80 80242E70 44820000 */ mtc1 $v0, $f0 +/* 7EDB84 80242E74 00000000 */ nop +/* 7EDB88 80242E78 46800020 */ cvt.s.w $f0, $f0 +/* 7EDB8C 80242E7C 08090BA2 */ j .L80242E88 +/* 7EDB90 80242E80 4600A500 */ add.s $f20, $f20, $f0 +.L80242E84: +/* 7EDB94 80242E84 4604A500 */ add.s $f20, $f20, $f4 +.L80242E88: +/* 7EDB98 80242E88 0C00A6C9 */ jal clamp_angle +/* 7EDB9C 80242E8C 4600A306 */ mov.s $f12, $f20 +/* 7EDBA0 80242E90 2402000D */ addiu $v0, $zero, 0xd +/* 7EDBA4 80242E94 E640000C */ swc1 $f0, 0xc($s2) +/* 7EDBA8 80242E98 AE620070 */ sw $v0, 0x70($s3) +/* 7EDBAC 80242E9C 8FBF0020 */ lw $ra, 0x20($sp) +/* 7EDBB0 80242EA0 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EDBB4 80242EA4 8FB20018 */ lw $s2, 0x18($sp) +/* 7EDBB8 80242EA8 8FB10014 */ lw $s1, 0x14($sp) +/* 7EDBBC 80242EAC 8FB00010 */ lw $s0, 0x10($sp) +/* 7EDBC0 80242EB0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 7EDBC4 80242EB4 03E00008 */ jr $ra +/* 7EDBC8 80242EB8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242EBC.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242EBC.s new file mode 100644 index 0000000000..21c8cda638 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242EBC.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EBC +/* 7EDBCC 80242EBC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7EDBD0 80242EC0 AFB3003C */ sw $s3, 0x3c($sp) +/* 7EDBD4 80242EC4 0080982D */ daddu $s3, $a0, $zero +/* 7EDBD8 80242EC8 AFBF0040 */ sw $ra, 0x40($sp) +/* 7EDBDC 80242ECC AFB20038 */ sw $s2, 0x38($sp) +/* 7EDBE0 80242ED0 AFB10034 */ sw $s1, 0x34($sp) +/* 7EDBE4 80242ED4 AFB00030 */ sw $s0, 0x30($sp) +/* 7EDBE8 80242ED8 8E720148 */ lw $s2, 0x148($s3) +/* 7EDBEC 80242EDC 00A0882D */ daddu $s1, $a1, $zero +/* 7EDBF0 80242EE0 86440008 */ lh $a0, 8($s2) +/* 7EDBF4 80242EE4 0C00EABB */ jal get_npc_unsafe +/* 7EDBF8 80242EE8 00C0802D */ daddu $s0, $a2, $zero +/* 7EDBFC 80242EEC 0200202D */ daddu $a0, $s0, $zero +/* 7EDC00 80242EF0 0240282D */ daddu $a1, $s2, $zero +/* 7EDC04 80242EF4 24030001 */ addiu $v1, $zero, 1 +/* 7EDC08 80242EF8 AFA30010 */ sw $v1, 0x10($sp) +/* 7EDC0C 80242EFC 8E260024 */ lw $a2, 0x24($s1) +/* 7EDC10 80242F00 8E270028 */ lw $a3, 0x28($s1) +/* 7EDC14 80242F04 0C01242D */ jal func_800490B4 +/* 7EDC18 80242F08 0040802D */ daddu $s0, $v0, $zero +/* 7EDC1C 80242F0C 1440001E */ bnez $v0, .L80242F88 +/* 7EDC20 80242F10 0200202D */ daddu $a0, $s0, $zero +/* 7EDC24 80242F14 24040002 */ addiu $a0, $zero, 2 +/* 7EDC28 80242F18 0200282D */ daddu $a1, $s0, $zero +/* 7EDC2C 80242F1C 0000302D */ daddu $a2, $zero, $zero +/* 7EDC30 80242F20 860300A8 */ lh $v1, 0xa8($s0) +/* 7EDC34 80242F24 3C013F80 */ lui $at, 0x3f80 +/* 7EDC38 80242F28 44810000 */ mtc1 $at, $f0 +/* 7EDC3C 80242F2C 3C014000 */ lui $at, 0x4000 +/* 7EDC40 80242F30 44811000 */ mtc1 $at, $f2 +/* 7EDC44 80242F34 3C01C1A0 */ lui $at, 0xc1a0 +/* 7EDC48 80242F38 44812000 */ mtc1 $at, $f4 +/* 7EDC4C 80242F3C 2402000F */ addiu $v0, $zero, 0xf +/* 7EDC50 80242F40 AFA2001C */ sw $v0, 0x1c($sp) +/* 7EDC54 80242F44 44833000 */ mtc1 $v1, $f6 +/* 7EDC58 80242F48 00000000 */ nop +/* 7EDC5C 80242F4C 468031A0 */ cvt.s.w $f6, $f6 +/* 7EDC60 80242F50 44073000 */ mfc1 $a3, $f6 +/* 7EDC64 80242F54 27A20028 */ addiu $v0, $sp, 0x28 +/* 7EDC68 80242F58 AFA20020 */ sw $v0, 0x20($sp) +/* 7EDC6C 80242F5C E7A00010 */ swc1 $f0, 0x10($sp) +/* 7EDC70 80242F60 E7A20014 */ swc1 $f2, 0x14($sp) +/* 7EDC74 80242F64 0C01BFA4 */ jal fx_emote +/* 7EDC78 80242F68 E7A40018 */ swc1 $f4, 0x18($sp) +/* 7EDC7C 80242F6C 8E4200CC */ lw $v0, 0xcc($s2) +/* 7EDC80 80242F70 8C430000 */ lw $v1, ($v0) +/* 7EDC84 80242F74 24020019 */ addiu $v0, $zero, 0x19 +/* 7EDC88 80242F78 A602008E */ sh $v0, 0x8e($s0) +/* 7EDC8C 80242F7C 2402000E */ addiu $v0, $zero, 0xe +/* 7EDC90 80242F80 08090BEF */ j .L80242FBC +/* 7EDC94 80242F84 AE030028 */ sw $v1, 0x28($s0) +.L80242F88: +/* 7EDC98 80242F88 0C00F598 */ jal func_8003D660 +/* 7EDC9C 80242F8C 24050001 */ addiu $a1, $zero, 1 +/* 7EDCA0 80242F90 8E050018 */ lw $a1, 0x18($s0) +/* 7EDCA4 80242F94 8E06000C */ lw $a2, 0xc($s0) +/* 7EDCA8 80242F98 0C00EA95 */ jal npc_move_heading +/* 7EDCAC 80242F9C 0200202D */ daddu $a0, $s0, $zero +/* 7EDCB0 80242FA0 8602008E */ lh $v0, 0x8e($s0) +/* 7EDCB4 80242FA4 9603008E */ lhu $v1, 0x8e($s0) +/* 7EDCB8 80242FA8 18400003 */ blez $v0, .L80242FB8 +/* 7EDCBC 80242FAC 2462FFFF */ addiu $v0, $v1, -1 +/* 7EDCC0 80242FB0 08090BF0 */ j .L80242FC0 +/* 7EDCC4 80242FB4 A602008E */ sh $v0, 0x8e($s0) +.L80242FB8: +/* 7EDCC8 80242FB8 2402000C */ addiu $v0, $zero, 0xc +.L80242FBC: +/* 7EDCCC 80242FBC AE620070 */ sw $v0, 0x70($s3) +.L80242FC0: +/* 7EDCD0 80242FC0 8FBF0040 */ lw $ra, 0x40($sp) +/* 7EDCD4 80242FC4 8FB3003C */ lw $s3, 0x3c($sp) +/* 7EDCD8 80242FC8 8FB20038 */ lw $s2, 0x38($sp) +/* 7EDCDC 80242FCC 8FB10034 */ lw $s1, 0x34($sp) +/* 7EDCE0 80242FD0 8FB00030 */ lw $s0, 0x30($sp) +/* 7EDCE4 80242FD4 03E00008 */ jr $ra +/* 7EDCE8 80242FD8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80242FDC.s b/asm/nonmatchings/world/area_mac/mac_00/func_80242FDC.s new file mode 100644 index 0000000000..fcf984e498 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80242FDC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FDC +/* 7EDCEC 80242FDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EDCF0 80242FE0 AFB10014 */ sw $s1, 0x14($sp) +/* 7EDCF4 80242FE4 0080882D */ daddu $s1, $a0, $zero +/* 7EDCF8 80242FE8 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EDCFC 80242FEC AFB00010 */ sw $s0, 0x10($sp) +/* 7EDD00 80242FF0 8E300148 */ lw $s0, 0x148($s1) +/* 7EDD04 80242FF4 0C00EABB */ jal get_npc_unsafe +/* 7EDD08 80242FF8 86040008 */ lh $a0, 8($s0) +/* 7EDD0C 80242FFC 9443008E */ lhu $v1, 0x8e($v0) +/* 7EDD10 80243000 2463FFFF */ addiu $v1, $v1, -1 +/* 7EDD14 80243004 A443008E */ sh $v1, 0x8e($v0) +/* 7EDD18 80243008 00031C00 */ sll $v1, $v1, 0x10 +/* 7EDD1C 8024300C 14600008 */ bnez $v1, .L80243030 +/* 7EDD20 80243010 00000000 */ nop +/* 7EDD24 80243014 8E0200B0 */ lw $v0, 0xb0($s0) +/* 7EDD28 80243018 30420080 */ andi $v0, $v0, 0x80 +/* 7EDD2C 8024301C 10400003 */ beqz $v0, .L8024302C +/* 7EDD30 80243020 2402000F */ addiu $v0, $zero, 0xf +/* 7EDD34 80243024 08090C0C */ j .L80243030 +/* 7EDD38 80243028 AE220070 */ sw $v0, 0x70($s1) +.L8024302C: +/* 7EDD3C 8024302C AE200070 */ sw $zero, 0x70($s1) +.L80243030: +/* 7EDD40 80243030 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EDD44 80243034 8FB10014 */ lw $s1, 0x14($sp) +/* 7EDD48 80243038 8FB00010 */ lw $s0, 0x10($sp) +/* 7EDD4C 8024303C 03E00008 */ jr $ra +/* 7EDD50 80243040 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243044.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243044.s new file mode 100644 index 0000000000..2a86a460c8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243044.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243044 +/* 7EDD54 80243044 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EDD58 80243048 AFB10014 */ sw $s1, 0x14($sp) +/* 7EDD5C 8024304C 0080882D */ daddu $s1, $a0, $zero +/* 7EDD60 80243050 AFBF001C */ sw $ra, 0x1c($sp) +/* 7EDD64 80243054 AFB20018 */ sw $s2, 0x18($sp) +/* 7EDD68 80243058 AFB00010 */ sw $s0, 0x10($sp) +/* 7EDD6C 8024305C 8E300148 */ lw $s0, 0x148($s1) +/* 7EDD70 80243060 86040008 */ lh $a0, 8($s0) +/* 7EDD74 80243064 0C00EABB */ jal get_npc_unsafe +/* 7EDD78 80243068 00A0902D */ daddu $s2, $a1, $zero +/* 7EDD7C 8024306C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 7EDD80 80243070 8E240078 */ lw $a0, 0x78($s1) +/* 7EDD84 80243074 8C630000 */ lw $v1, ($v1) +/* 7EDD88 80243078 0083182A */ slt $v1, $a0, $v1 +/* 7EDD8C 8024307C 10600013 */ beqz $v1, .L802430CC +/* 7EDD90 80243080 0040302D */ daddu $a2, $v0, $zero +/* 7EDD94 80243084 00041040 */ sll $v0, $a0, 1 +/* 7EDD98 80243088 00441021 */ addu $v0, $v0, $a0 +/* 7EDD9C 8024308C 00022880 */ sll $a1, $v0, 2 +.L80243090: +/* 7EDDA0 80243090 8E0300D0 */ lw $v1, 0xd0($s0) +/* 7EDDA4 80243094 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 7EDDA8 80243098 00A31021 */ addu $v0, $a1, $v1 +/* 7EDDAC 8024309C C4400008 */ lwc1 $f0, 8($v0) +/* 7EDDB0 802430A0 46800020 */ cvt.s.w $f0, $f0 +/* 7EDDB4 802430A4 4602003E */ c.le.s $f0, $f2 +/* 7EDDB8 802430A8 00000000 */ nop +/* 7EDDBC 802430AC 45020003 */ bc1fl .L802430BC +/* 7EDDC0 802430B0 24840001 */ addiu $a0, $a0, 1 +/* 7EDDC4 802430B4 08090C33 */ j .L802430CC +/* 7EDDC8 802430B8 AE240078 */ sw $a0, 0x78($s1) +.L802430BC: +/* 7EDDCC 802430BC 8C620000 */ lw $v0, ($v1) +/* 7EDDD0 802430C0 0082102A */ slt $v0, $a0, $v0 +/* 7EDDD4 802430C4 1440FFF2 */ bnez $v0, .L80243090 +/* 7EDDD8 802430C8 24A5000C */ addiu $a1, $a1, 0xc +.L802430CC: +/* 7EDDDC 802430CC C6400000 */ lwc1 $f0, ($s2) +/* 7EDDE0 802430D0 E4C00018 */ swc1 $f0, 0x18($a2) +/* 7EDDE4 802430D4 8E0200CC */ lw $v0, 0xcc($s0) +/* 7EDDE8 802430D8 8C420004 */ lw $v0, 4($v0) +/* 7EDDEC 802430DC ACC20028 */ sw $v0, 0x28($a2) +/* 7EDDF0 802430E0 24020001 */ addiu $v0, $zero, 1 +/* 7EDDF4 802430E4 AE200074 */ sw $zero, 0x74($s1) +/* 7EDDF8 802430E8 AE220070 */ sw $v0, 0x70($s1) +/* 7EDDFC 802430EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 7EDE00 802430F0 8FB20018 */ lw $s2, 0x18($sp) +/* 7EDE04 802430F4 8FB10014 */ lw $s1, 0x14($sp) +/* 7EDE08 802430F8 8FB00010 */ lw $s0, 0x10($sp) +/* 7EDE0C 802430FC 03E00008 */ jr $ra +/* 7EDE10 80243100 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243104.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243104.s new file mode 100644 index 0000000000..8591720f35 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243104.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243104 +/* 7EDE14 80243104 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 7EDE18 80243108 AFB40058 */ sw $s4, 0x58($sp) +/* 7EDE1C 8024310C 0080A02D */ daddu $s4, $a0, $zero +/* 7EDE20 80243110 AFBF0060 */ sw $ra, 0x60($sp) +/* 7EDE24 80243114 AFB5005C */ sw $s5, 0x5c($sp) +/* 7EDE28 80243118 AFB30054 */ sw $s3, 0x54($sp) +/* 7EDE2C 8024311C AFB20050 */ sw $s2, 0x50($sp) +/* 7EDE30 80243120 AFB1004C */ sw $s1, 0x4c($sp) +/* 7EDE34 80243124 AFB00048 */ sw $s0, 0x48($sp) +/* 7EDE38 80243128 8E910148 */ lw $s1, 0x148($s4) +/* 7EDE3C 8024312C 86240008 */ lh $a0, 8($s1) +/* 7EDE40 80243130 0C00EABB */ jal get_npc_unsafe +/* 7EDE44 80243134 00A0802D */ daddu $s0, $a1, $zero +/* 7EDE48 80243138 8E83000C */ lw $v1, 0xc($s4) +/* 7EDE4C 8024313C 0280202D */ daddu $a0, $s4, $zero +/* 7EDE50 80243140 8C650000 */ lw $a1, ($v1) +/* 7EDE54 80243144 0C0B1EAF */ jal get_variable +/* 7EDE58 80243148 0040902D */ daddu $s2, $v0, $zero +/* 7EDE5C 8024314C AFA00018 */ sw $zero, 0x18($sp) +/* 7EDE60 80243150 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7EDE64 80243154 8C630094 */ lw $v1, 0x94($v1) +/* 7EDE68 80243158 AFA3001C */ sw $v1, 0x1c($sp) +/* 7EDE6C 8024315C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7EDE70 80243160 8C630080 */ lw $v1, 0x80($v1) +/* 7EDE74 80243164 AFA30020 */ sw $v1, 0x20($sp) +/* 7EDE78 80243168 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7EDE7C 8024316C 8C630088 */ lw $v1, 0x88($v1) +/* 7EDE80 80243170 AFA30024 */ sw $v1, 0x24($sp) +/* 7EDE84 80243174 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7EDE88 80243178 8C63008C */ lw $v1, 0x8c($v1) +/* 7EDE8C 8024317C 27B50018 */ addiu $s5, $sp, 0x18 +/* 7EDE90 80243180 AFA30028 */ sw $v1, 0x28($sp) +/* 7EDE94 80243184 8E2300D0 */ lw $v1, 0xd0($s1) +/* 7EDE98 80243188 3C014282 */ lui $at, 0x4282 +/* 7EDE9C 8024318C 44810000 */ mtc1 $at, $f0 +/* 7EDEA0 80243190 8C630090 */ lw $v1, 0x90($v1) +/* 7EDEA4 80243194 0040982D */ daddu $s3, $v0, $zero +/* 7EDEA8 80243198 E7A00030 */ swc1 $f0, 0x30($sp) +/* 7EDEAC 8024319C A7A00034 */ sh $zero, 0x34($sp) +/* 7EDEB0 802431A0 16000005 */ bnez $s0, .L802431B8 +/* 7EDEB4 802431A4 AFA3002C */ sw $v1, 0x2c($sp) +/* 7EDEB8 802431A8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 7EDEBC 802431AC 30420004 */ andi $v0, $v0, 4 +/* 7EDEC0 802431B0 10400044 */ beqz $v0, .L802432C4 +/* 7EDEC4 802431B4 00000000 */ nop +.L802431B8: +/* 7EDEC8 802431B8 2404F7FF */ addiu $a0, $zero, -0x801 +/* 7EDECC 802431BC AE800070 */ sw $zero, 0x70($s4) +/* 7EDED0 802431C0 A640008E */ sh $zero, 0x8e($s2) +/* 7EDED4 802431C4 8E2200CC */ lw $v0, 0xcc($s1) +/* 7EDED8 802431C8 8E430000 */ lw $v1, ($s2) +/* 7EDEDC 802431CC 8C420000 */ lw $v0, ($v0) +/* 7EDEE0 802431D0 00641824 */ and $v1, $v1, $a0 +/* 7EDEE4 802431D4 AE430000 */ sw $v1, ($s2) +/* 7EDEE8 802431D8 AE420028 */ sw $v0, 0x28($s2) +/* 7EDEEC 802431DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 7EDEF0 802431E0 8C420098 */ lw $v0, 0x98($v0) +/* 7EDEF4 802431E4 54400005 */ bnel $v0, $zero, .L802431FC +/* 7EDEF8 802431E8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 7EDEFC 802431EC 34620200 */ ori $v0, $v1, 0x200 +/* 7EDF00 802431F0 2403FFF7 */ addiu $v1, $zero, -9 +/* 7EDF04 802431F4 08090C81 */ j .L80243204 +/* 7EDF08 802431F8 00431024 */ and $v0, $v0, $v1 +.L802431FC: +/* 7EDF0C 802431FC 00621024 */ and $v0, $v1, $v0 +/* 7EDF10 80243200 34420008 */ ori $v0, $v0, 8 +.L80243204: +/* 7EDF14 80243204 AE420000 */ sw $v0, ($s2) +/* 7EDF18 80243208 8E2200B0 */ lw $v0, 0xb0($s1) +/* 7EDF1C 8024320C 30420004 */ andi $v0, $v0, 4 +/* 7EDF20 80243210 10400008 */ beqz $v0, .L80243234 +/* 7EDF24 80243214 24020063 */ addiu $v0, $zero, 0x63 +/* 7EDF28 80243218 AE820070 */ sw $v0, 0x70($s4) +/* 7EDF2C 8024321C AE800074 */ sw $zero, 0x74($s4) +/* 7EDF30 80243220 8E2200B0 */ lw $v0, 0xb0($s1) +/* 7EDF34 80243224 2403FFFB */ addiu $v1, $zero, -5 +/* 7EDF38 80243228 00431024 */ and $v0, $v0, $v1 +/* 7EDF3C 8024322C 08090C98 */ j .L80243260 +/* 7EDF40 80243230 AE2200B0 */ sw $v0, 0xb0($s1) +.L80243234: +/* 7EDF44 80243234 8E220000 */ lw $v0, ($s1) +/* 7EDF48 80243238 3C034000 */ lui $v1, 0x4000 +/* 7EDF4C 8024323C 00431024 */ and $v0, $v0, $v1 +/* 7EDF50 80243240 10400007 */ beqz $v0, .L80243260 +/* 7EDF54 80243244 3C03BFFF */ lui $v1, 0xbfff +/* 7EDF58 80243248 2402000C */ addiu $v0, $zero, 0xc +/* 7EDF5C 8024324C AE820070 */ sw $v0, 0x70($s4) +/* 7EDF60 80243250 8E220000 */ lw $v0, ($s1) +/* 7EDF64 80243254 3463FFFF */ ori $v1, $v1, 0xffff +/* 7EDF68 80243258 00431024 */ and $v0, $v0, $v1 +/* 7EDF6C 8024325C AE220000 */ sw $v0, ($s1) +.L80243260: +/* 7EDF70 80243260 27A50038 */ addiu $a1, $sp, 0x38 +/* 7EDF74 80243264 27A6003C */ addiu $a2, $sp, 0x3c +/* 7EDF78 80243268 C6400038 */ lwc1 $f0, 0x38($s2) +/* 7EDF7C 8024326C 864200A8 */ lh $v0, 0xa8($s2) +/* 7EDF80 80243270 3C0142C8 */ lui $at, 0x42c8 +/* 7EDF84 80243274 44812000 */ mtc1 $at, $f4 +/* 7EDF88 80243278 44823000 */ mtc1 $v0, $f6 +/* 7EDF8C 8024327C 00000000 */ nop +/* 7EDF90 80243280 468031A0 */ cvt.s.w $f6, $f6 +/* 7EDF94 80243284 27A20044 */ addiu $v0, $sp, 0x44 +/* 7EDF98 80243288 E7A00038 */ swc1 $f0, 0x38($sp) +/* 7EDF9C 8024328C C640003C */ lwc1 $f0, 0x3c($s2) +/* 7EDFA0 80243290 C6420040 */ lwc1 $f2, 0x40($s2) +/* 7EDFA4 80243294 46060000 */ add.s $f0, $f0, $f6 +/* 7EDFA8 80243298 E7A40044 */ swc1 $f4, 0x44($sp) +/* 7EDFAC 8024329C E7A20040 */ swc1 $f2, 0x40($sp) +/* 7EDFB0 802432A0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 7EDFB4 802432A4 AFA20010 */ sw $v0, 0x10($sp) +/* 7EDFB8 802432A8 8E440080 */ lw $a0, 0x80($s2) +/* 7EDFBC 802432AC 0C0372DF */ jal func_800DCB7C +/* 7EDFC0 802432B0 27A70040 */ addiu $a3, $sp, 0x40 +/* 7EDFC4 802432B4 10400003 */ beqz $v0, .L802432C4 +/* 7EDFC8 802432B8 00000000 */ nop +/* 7EDFCC 802432BC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 7EDFD0 802432C0 E640003C */ swc1 $f0, 0x3c($s2) +.L802432C4: +/* 7EDFD4 802432C4 8E830070 */ lw $v1, 0x70($s4) +/* 7EDFD8 802432C8 2C620064 */ sltiu $v0, $v1, 0x64 +/* 7EDFDC 802432CC 10400042 */ beqz $v0, .L802433D8 +/* 7EDFE0 802432D0 00031080 */ sll $v0, $v1, 2 +/* 7EDFE4 802432D4 3C018025 */ lui $at, 0x8025 +/* 7EDFE8 802432D8 00220821 */ addu $at, $at, $v0 +/* 7EDFEC 802432DC 8C2259D0 */ lw $v0, 0x59d0($at) +/* 7EDFF0 802432E0 00400008 */ jr $v0 +/* 7EDFF4 802432E4 00000000 */ nop +/* 7EDFF8 802432E8 0280202D */ daddu $a0, $s4, $zero +/* 7EDFFC 802432EC 0260282D */ daddu $a1, $s3, $zero +/* 7EE000 802432F0 0C09095C */ jal func_80242570 +/* 7EE004 802432F4 02A0302D */ daddu $a2, $s5, $zero +/* 7EE008 802432F8 0280202D */ daddu $a0, $s4, $zero +/* 7EE00C 802432FC 0260282D */ daddu $a1, $s3, $zero +/* 7EE010 80243300 0C0909B2 */ jal func_802426C8 +/* 7EE014 80243304 02A0302D */ daddu $a2, $s5, $zero +/* 7EE018 80243308 08090CF6 */ j .L802433D8 +/* 7EE01C 8024330C 00000000 */ nop +/* 7EE020 80243310 0280202D */ daddu $a0, $s4, $zero +/* 7EE024 80243314 0260282D */ daddu $a1, $s3, $zero +/* 7EE028 80243318 0C090A5C */ jal func_80242970 +/* 7EE02C 8024331C 02A0302D */ daddu $a2, $s5, $zero +/* 7EE030 80243320 0280202D */ daddu $a0, $s4, $zero +/* 7EE034 80243324 0260282D */ daddu $a1, $s3, $zero +/* 7EE038 80243328 0C090A8C */ jal func_80242A30 +/* 7EE03C 8024332C 02A0302D */ daddu $a2, $s5, $zero +/* 7EE040 80243330 08090CF6 */ j .L802433D8 +/* 7EE044 80243334 00000000 */ nop +/* 7EE048 80243338 0280202D */ daddu $a0, $s4, $zero +/* 7EE04C 8024333C 0260282D */ daddu $a1, $s3, $zero +/* 7EE050 80243340 0C090AFB */ jal func_80242BEC +/* 7EE054 80243344 02A0302D */ daddu $a2, $s5, $zero +/* 7EE058 80243348 08090CF6 */ j .L802433D8 +/* 7EE05C 8024334C 00000000 */ nop +/* 7EE060 80243350 0280202D */ daddu $a0, $s4, $zero +/* 7EE064 80243354 0260282D */ daddu $a1, $s3, $zero +/* 7EE068 80243358 0C090B28 */ jal func_80242CA0 +/* 7EE06C 8024335C 02A0302D */ daddu $a2, $s5, $zero +/* 7EE070 80243360 0280202D */ daddu $a0, $s4, $zero +/* 7EE074 80243364 0260282D */ daddu $a1, $s3, $zero +/* 7EE078 80243368 0C090B45 */ jal func_80242D14 +/* 7EE07C 8024336C 02A0302D */ daddu $a2, $s5, $zero +/* 7EE080 80243370 08090CF6 */ j .L802433D8 +/* 7EE084 80243374 00000000 */ nop +/* 7EE088 80243378 0280202D */ daddu $a0, $s4, $zero +/* 7EE08C 8024337C 0260282D */ daddu $a1, $s3, $zero +/* 7EE090 80243380 0C090B63 */ jal func_80242D8C +/* 7EE094 80243384 02A0302D */ daddu $a2, $s5, $zero +/* 7EE098 80243388 0280202D */ daddu $a0, $s4, $zero +/* 7EE09C 8024338C 0260282D */ daddu $a1, $s3, $zero +/* 7EE0A0 80243390 0C090BAF */ jal func_80242EBC +/* 7EE0A4 80243394 02A0302D */ daddu $a2, $s5, $zero +/* 7EE0A8 80243398 08090CF6 */ j .L802433D8 +/* 7EE0AC 8024339C 00000000 */ nop +/* 7EE0B0 802433A0 0280202D */ daddu $a0, $s4, $zero +/* 7EE0B4 802433A4 0260282D */ daddu $a1, $s3, $zero +/* 7EE0B8 802433A8 0C090BF7 */ jal func_80242FDC +/* 7EE0BC 802433AC 02A0302D */ daddu $a2, $s5, $zero +/* 7EE0C0 802433B0 08090CF6 */ j .L802433D8 +/* 7EE0C4 802433B4 00000000 */ nop +/* 7EE0C8 802433B8 0280202D */ daddu $a0, $s4, $zero +/* 7EE0CC 802433BC 0260282D */ daddu $a1, $s3, $zero +/* 7EE0D0 802433C0 0C090C11 */ jal func_80243044 +/* 7EE0D4 802433C4 02A0302D */ daddu $a2, $s5, $zero +/* 7EE0D8 802433C8 08090CF6 */ j .L802433D8 +/* 7EE0DC 802433CC 00000000 */ nop +/* 7EE0E0 802433D0 0C0129CF */ jal func_8004A73C +/* 7EE0E4 802433D4 0280202D */ daddu $a0, $s4, $zero +.L802433D8: +/* 7EE0E8 802433D8 8FBF0060 */ lw $ra, 0x60($sp) +/* 7EE0EC 802433DC 8FB5005C */ lw $s5, 0x5c($sp) +/* 7EE0F0 802433E0 8FB40058 */ lw $s4, 0x58($sp) +/* 7EE0F4 802433E4 8FB30054 */ lw $s3, 0x54($sp) +/* 7EE0F8 802433E8 8FB20050 */ lw $s2, 0x50($sp) +/* 7EE0FC 802433EC 8FB1004C */ lw $s1, 0x4c($sp) +/* 7EE100 802433F0 8FB00048 */ lw $s0, 0x48($sp) +/* 7EE104 802433F4 0000102D */ daddu $v0, $zero, $zero +/* 7EE108 802433F8 03E00008 */ jr $ra +/* 7EE10C 802433FC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243400.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243400.s new file mode 100644 index 0000000000..a7bd815a15 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243400.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243400 +/* 7EE110 80243400 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EE114 80243404 AFB00010 */ sw $s0, 0x10($sp) +/* 7EE118 80243408 3C108025 */ lui $s0, 0x8025 +/* 7EE11C 8024340C 2610ECE8 */ addiu $s0, $s0, -0x1318 +/* 7EE120 80243410 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EE124 80243414 AFB10014 */ sw $s1, 0x14($sp) +/* 7EE128 80243418 8E020000 */ lw $v0, ($s0) +/* 7EE12C 8024341C 14400010 */ bnez $v0, .L80243460 +/* 7EE130 80243420 0080882D */ daddu $s1, $a0, $zero +/* 7EE134 80243424 0C00AB39 */ jal heap_malloc +/* 7EE138 80243428 24040040 */ addiu $a0, $zero, 0x40 +/* 7EE13C 8024342C AE020000 */ sw $v0, ($s0) +/* 7EE140 80243430 0000182D */ daddu $v1, $zero, $zero +/* 7EE144 80243434 0040282D */ daddu $a1, $v0, $zero +/* 7EE148 80243438 0220202D */ daddu $a0, $s1, $zero +.L8024343C: +/* 7EE14C 8024343C 8C820084 */ lw $v0, 0x84($a0) +/* 7EE150 80243440 24840004 */ addiu $a0, $a0, 4 +/* 7EE154 80243444 24630001 */ addiu $v1, $v1, 1 +/* 7EE158 80243448 ACA20000 */ sw $v0, ($a1) +/* 7EE15C 8024344C 28620010 */ slti $v0, $v1, 0x10 +/* 7EE160 80243450 1440FFFA */ bnez $v0, .L8024343C +/* 7EE164 80243454 24A50004 */ addiu $a1, $a1, 4 +/* 7EE168 80243458 08090D27 */ j .L8024349C +/* 7EE16C 8024345C 00000000 */ nop +.L80243460: +/* 7EE170 80243460 0000182D */ daddu $v1, $zero, $zero +/* 7EE174 80243464 0040282D */ daddu $a1, $v0, $zero +/* 7EE178 80243468 0220202D */ daddu $a0, $s1, $zero +.L8024346C: +/* 7EE17C 8024346C 8CA20000 */ lw $v0, ($a1) +/* 7EE180 80243470 24A50004 */ addiu $a1, $a1, 4 +/* 7EE184 80243474 24630001 */ addiu $v1, $v1, 1 +/* 7EE188 80243478 AC820084 */ sw $v0, 0x84($a0) +/* 7EE18C 8024347C 28620010 */ slti $v0, $v1, 0x10 +/* 7EE190 80243480 1440FFFA */ bnez $v0, .L8024346C +/* 7EE194 80243484 24840004 */ addiu $a0, $a0, 4 +/* 7EE198 80243488 3C108025 */ lui $s0, 0x8025 +/* 7EE19C 8024348C 2610ECE8 */ addiu $s0, $s0, -0x1318 +/* 7EE1A0 80243490 0C00AB4B */ jal heap_free +/* 7EE1A4 80243494 8E040000 */ lw $a0, ($s0) +/* 7EE1A8 80243498 AE000000 */ sw $zero, ($s0) +.L8024349C: +/* 7EE1AC 8024349C 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EE1B0 802434A0 8FB10014 */ lw $s1, 0x14($sp) +/* 7EE1B4 802434A4 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE1B8 802434A8 24020002 */ addiu $v0, $zero, 2 +/* 7EE1BC 802434AC 03E00008 */ jr $ra +/* 7EE1C0 802434B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802434B4.s b/asm/nonmatchings/world/area_mac/mac_00/func_802434B4.s new file mode 100644 index 0000000000..5ee985bf6a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802434B4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434B4 +/* 7EE1C4 802434B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EE1C8 802434B8 AFB00010 */ sw $s0, 0x10($sp) +/* 7EE1CC 802434BC 0080802D */ daddu $s0, $a0, $zero +/* 7EE1D0 802434C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EE1D4 802434C4 AFB10014 */ sw $s1, 0x14($sp) +/* 7EE1D8 802434C8 8E02000C */ lw $v0, 0xc($s0) +/* 7EE1DC 802434CC 8C510000 */ lw $s1, ($v0) +/* 7EE1E0 802434D0 0C0B1EAF */ jal get_variable +/* 7EE1E4 802434D4 0220282D */ daddu $a1, $s1, $zero +/* 7EE1E8 802434D8 3C03FFF0 */ lui $v1, 0xfff0 +/* 7EE1EC 802434DC 3463FFFF */ ori $v1, $v1, 0xffff +/* 7EE1F0 802434E0 0200202D */ daddu $a0, $s0, $zero +/* 7EE1F4 802434E4 00431024 */ and $v0, $v0, $v1 +/* 7EE1F8 802434E8 00021140 */ sll $v0, $v0, 5 +/* 7EE1FC 802434EC 3C068008 */ lui $a2, %hi(gItemTable) +/* 7EE200 802434F0 00C23021 */ addu $a2, $a2, $v0 +/* 7EE204 802434F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 7EE208 802434F8 0C0B2026 */ jal set_variable +/* 7EE20C 802434FC 0220282D */ daddu $a1, $s1, $zero +/* 7EE210 80243500 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EE214 80243504 8FB10014 */ lw $s1, 0x14($sp) +/* 7EE218 80243508 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE21C 8024350C 24020002 */ addiu $v0, $zero, 2 +/* 7EE220 80243510 03E00008 */ jr $ra +/* 7EE224 80243514 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243518.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243518.s new file mode 100644 index 0000000000..7dec22c4a5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243518.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243518 +/* 7EE228 80243518 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EE22C 8024351C AFB10014 */ sw $s1, 0x14($sp) +/* 7EE230 80243520 0080882D */ daddu $s1, $a0, $zero +/* 7EE234 80243524 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EE238 80243528 AFB00010 */ sw $s0, 0x10($sp) +/* 7EE23C 8024352C 8E30000C */ lw $s0, 0xc($s1) +/* 7EE240 80243530 8E050000 */ lw $a1, ($s0) +/* 7EE244 80243534 0C0B1EAF */ jal get_variable +/* 7EE248 80243538 26100004 */ addiu $s0, $s0, 4 +/* 7EE24C 8024353C 0C00EAD2 */ jal get_npc_safe +/* 7EE250 80243540 0040202D */ daddu $a0, $v0, $zero +/* 7EE254 80243544 10400005 */ beqz $v0, .L8024355C +/* 7EE258 80243548 00000000 */ nop +/* 7EE25C 8024354C 8E050000 */ lw $a1, ($s0) +/* 7EE260 80243550 844600A8 */ lh $a2, 0xa8($v0) +/* 7EE264 80243554 0C0B2026 */ jal set_variable +/* 7EE268 80243558 0220202D */ daddu $a0, $s1, $zero +.L8024355C: +/* 7EE26C 8024355C 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EE270 80243560 8FB10014 */ lw $s1, 0x14($sp) +/* 7EE274 80243564 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE278 80243568 24020002 */ addiu $v0, $zero, 2 +/* 7EE27C 8024356C 03E00008 */ jr $ra +/* 7EE280 80243570 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243574.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243574.s new file mode 100644 index 0000000000..52b8f3e1c7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243574.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243574 +/* 7EE284 80243574 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 7EE288 80243578 AFB10014 */ sw $s1, 0x14($sp) +/* 7EE28C 8024357C 0080882D */ daddu $s1, $a0, $zero +/* 7EE290 80243580 AFBF0024 */ sw $ra, 0x24($sp) +/* 7EE294 80243584 AFB40020 */ sw $s4, 0x20($sp) +/* 7EE298 80243588 AFB3001C */ sw $s3, 0x1c($sp) +/* 7EE29C 8024358C AFB20018 */ sw $s2, 0x18($sp) +/* 7EE2A0 80243590 AFB00010 */ sw $s0, 0x10($sp) +/* 7EE2A4 80243594 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 7EE2A8 80243598 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 7EE2AC 8024359C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 7EE2B0 802435A0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 7EE2B4 802435A4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 7EE2B8 802435A8 8E30000C */ lw $s0, 0xc($s1) +/* 7EE2BC 802435AC 8E130000 */ lw $s3, ($s0) +/* 7EE2C0 802435B0 26100004 */ addiu $s0, $s0, 4 +/* 7EE2C4 802435B4 0C0B1EAF */ jal get_variable +/* 7EE2C8 802435B8 0260282D */ daddu $a1, $s3, $zero +/* 7EE2CC 802435BC 4482E000 */ mtc1 $v0, $f28 +/* 7EE2D0 802435C0 00000000 */ nop +/* 7EE2D4 802435C4 4680E720 */ cvt.s.w $f28, $f28 +/* 7EE2D8 802435C8 8E140000 */ lw $s4, ($s0) +/* 7EE2DC 802435CC 26100004 */ addiu $s0, $s0, 4 +/* 7EE2E0 802435D0 0220202D */ daddu $a0, $s1, $zero +/* 7EE2E4 802435D4 0C0B1EAF */ jal get_variable +/* 7EE2E8 802435D8 0280282D */ daddu $a1, $s4, $zero +/* 7EE2EC 802435DC 4482D000 */ mtc1 $v0, $f26 +/* 7EE2F0 802435E0 00000000 */ nop +/* 7EE2F4 802435E4 4680D6A0 */ cvt.s.w $f26, $f26 +/* 7EE2F8 802435E8 8E100000 */ lw $s0, ($s0) +/* 7EE2FC 802435EC 0220202D */ daddu $a0, $s1, $zero +/* 7EE300 802435F0 0C0B1EAF */ jal get_variable +/* 7EE304 802435F4 0200282D */ daddu $a1, $s0, $zero +/* 7EE308 802435F8 4482C000 */ mtc1 $v0, $f24 +/* 7EE30C 802435FC 00000000 */ nop +/* 7EE310 80243600 4680C620 */ cvt.s.w $f24, $f24 +/* 7EE314 80243604 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 7EE318 80243608 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 7EE31C 8024360C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 7EE320 80243610 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 7EE324 80243614 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 7EE328 80243618 44800000 */ mtc1 $zero, $f0 +/* 7EE32C 8024361C 00031080 */ sll $v0, $v1, 2 +/* 7EE330 80243620 00431021 */ addu $v0, $v0, $v1 +/* 7EE334 80243624 00021080 */ sll $v0, $v0, 2 +/* 7EE338 80243628 00431023 */ subu $v0, $v0, $v1 +/* 7EE33C 8024362C 000218C0 */ sll $v1, $v0, 3 +/* 7EE340 80243630 00431021 */ addu $v0, $v0, $v1 +/* 7EE344 80243634 000210C0 */ sll $v0, $v0, 3 +/* 7EE348 80243638 46001032 */ c.eq.s $f2, $f0 +/* 7EE34C 8024363C 3C01800B */ lui $at, 0x800b +/* 7EE350 80243640 00220821 */ addu $at, $at, $v0 +/* 7EE354 80243644 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 7EE358 80243648 45000005 */ bc1f .L80243660 +/* 7EE35C 8024364C 00000000 */ nop +/* 7EE360 80243650 3C0142C8 */ lui $at, 0x42c8 +/* 7EE364 80243654 44810000 */ mtc1 $at, $f0 +/* 7EE368 80243658 08090D9C */ j .L80243670 +/* 7EE36C 8024365C 4600B581 */ sub.s $f22, $f22, $f0 +.L80243660: +/* 7EE370 80243660 3C0142C8 */ lui $at, 0x42c8 +/* 7EE374 80243664 44810000 */ mtc1 $at, $f0 +/* 7EE378 80243668 00000000 */ nop +/* 7EE37C 8024366C 4600B580 */ add.s $f22, $f22, $f0 +.L80243670: +/* 7EE380 80243670 0C00A6C9 */ jal clamp_angle +/* 7EE384 80243674 4600B306 */ mov.s $f12, $f22 +/* 7EE388 80243678 46000586 */ mov.s $f22, $f0 +/* 7EE38C 8024367C 3C014170 */ lui $at, 0x4170 +/* 7EE390 80243680 4481A000 */ mtc1 $at, $f20 +/* 7EE394 80243684 0C00A8BB */ jal sin_deg +/* 7EE398 80243688 4600B306 */ mov.s $f12, $f22 +/* 7EE39C 8024368C 46140002 */ mul.s $f0, $f0, $f20 +/* 7EE3A0 80243690 00000000 */ nop +/* 7EE3A4 80243694 864200B0 */ lh $v0, 0xb0($s2) +/* 7EE3A8 80243698 3C013F00 */ lui $at, 0x3f00 +/* 7EE3AC 8024369C 44812000 */ mtc1 $at, $f4 +/* 7EE3B0 802436A0 44821000 */ mtc1 $v0, $f2 +/* 7EE3B4 802436A4 00000000 */ nop +/* 7EE3B8 802436A8 468010A0 */ cvt.s.w $f2, $f2 +/* 7EE3BC 802436AC 46041082 */ mul.s $f2, $f2, $f4 +/* 7EE3C0 802436B0 00000000 */ nop +/* 7EE3C4 802436B4 4600E700 */ add.s $f28, $f28, $f0 +/* 7EE3C8 802436B8 4602D680 */ add.s $f26, $f26, $f2 +/* 7EE3CC 802436BC 0C00A8D4 */ jal cos_deg +/* 7EE3D0 802436C0 4600B306 */ mov.s $f12, $f22 +/* 7EE3D4 802436C4 46140002 */ mul.s $f0, $f0, $f20 +/* 7EE3D8 802436C8 00000000 */ nop +/* 7EE3DC 802436CC 0220202D */ daddu $a0, $s1, $zero +/* 7EE3E0 802436D0 0260282D */ daddu $a1, $s3, $zero +/* 7EE3E4 802436D4 4600E18D */ trunc.w.s $f6, $f28 +/* 7EE3E8 802436D8 44063000 */ mfc1 $a2, $f6 +/* 7EE3EC 802436DC 0C0B2026 */ jal set_variable +/* 7EE3F0 802436E0 4600C601 */ sub.s $f24, $f24, $f0 +/* 7EE3F4 802436E4 0220202D */ daddu $a0, $s1, $zero +/* 7EE3F8 802436E8 4600D18D */ trunc.w.s $f6, $f26 +/* 7EE3FC 802436EC 44063000 */ mfc1 $a2, $f6 +/* 7EE400 802436F0 0C0B2026 */ jal set_variable +/* 7EE404 802436F4 0280282D */ daddu $a1, $s4, $zero +/* 7EE408 802436F8 0220202D */ daddu $a0, $s1, $zero +/* 7EE40C 802436FC 4600C18D */ trunc.w.s $f6, $f24 +/* 7EE410 80243700 44063000 */ mfc1 $a2, $f6 +/* 7EE414 80243704 0C0B2026 */ jal set_variable +/* 7EE418 80243708 0200282D */ daddu $a1, $s0, $zero +/* 7EE41C 8024370C 8FBF0024 */ lw $ra, 0x24($sp) +/* 7EE420 80243710 8FB40020 */ lw $s4, 0x20($sp) +/* 7EE424 80243714 8FB3001C */ lw $s3, 0x1c($sp) +/* 7EE428 80243718 8FB20018 */ lw $s2, 0x18($sp) +/* 7EE42C 8024371C 8FB10014 */ lw $s1, 0x14($sp) +/* 7EE430 80243720 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE434 80243724 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 7EE438 80243728 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 7EE43C 8024372C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 7EE440 80243730 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 7EE444 80243734 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 7EE448 80243738 24020002 */ addiu $v0, $zero, 2 +/* 7EE44C 8024373C 03E00008 */ jr $ra +/* 7EE450 80243740 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243744.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243744.s new file mode 100644 index 0000000000..95502c50e7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243744.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243744 +/* 7EE454 80243744 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EE458 80243748 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EE45C 8024374C 10A00003 */ beqz $a1, .L8024375C +/* 7EE460 80243750 8C86000C */ lw $a2, 0xc($a0) +/* 7EE464 80243754 3C018025 */ lui $at, 0x8025 +/* 7EE468 80243758 AC20ED4C */ sw $zero, -0x12b4($at) +.L8024375C: +/* 7EE46C 8024375C 3C038025 */ lui $v1, 0x8025 +/* 7EE470 80243760 2463ED4C */ addiu $v1, $v1, -0x12b4 +/* 7EE474 80243764 8C620000 */ lw $v0, ($v1) +/* 7EE478 80243768 54400003 */ bnel $v0, $zero, .L80243778 +/* 7EE47C 8024376C AC600000 */ sw $zero, ($v1) +/* 7EE480 80243770 08090DE3 */ j .L8024378C +/* 7EE484 80243774 0000102D */ daddu $v0, $zero, $zero +.L80243778: +/* 7EE488 80243778 8CC50000 */ lw $a1, ($a2) +/* 7EE48C 8024377C 3C068025 */ lui $a2, 0x8025 +/* 7EE490 80243780 0C0B2026 */ jal set_variable +/* 7EE494 80243784 8CC6ED50 */ lw $a2, -0x12b0($a2) +/* 7EE498 80243788 24020002 */ addiu $v0, $zero, 2 +.L8024378C: +/* 7EE49C 8024378C 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EE4A0 80243790 03E00008 */ jr $ra +/* 7EE4A4 80243794 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243798.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243798.s new file mode 100644 index 0000000000..b94b748f72 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243798.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243798 +/* 7EE4A8 80243798 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EE4AC 8024379C AFBF0010 */ sw $ra, 0x10($sp) +/* 7EE4B0 802437A0 8C82000C */ lw $v0, 0xc($a0) +/* 7EE4B4 802437A4 0C0B1EAF */ jal get_variable +/* 7EE4B8 802437A8 8C450000 */ lw $a1, ($v0) +/* 7EE4BC 802437AC 3C018025 */ lui $at, 0x8025 +/* 7EE4C0 802437B0 AC22ED50 */ sw $v0, -0x12b0($at) +/* 7EE4C4 802437B4 24020002 */ addiu $v0, $zero, 2 +/* 7EE4C8 802437B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EE4CC 802437BC 24030001 */ addiu $v1, $zero, 1 +/* 7EE4D0 802437C0 3C018025 */ lui $at, 0x8025 +/* 7EE4D4 802437C4 AC23ED4C */ sw $v1, -0x12b4($at) +/* 7EE4D8 802437C8 03E00008 */ jr $ra +/* 7EE4DC 802437CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_802437D0.s b/asm/nonmatchings/world/area_mac/mac_00/func_802437D0.s new file mode 100644 index 0000000000..1d81d21a60 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_802437D0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802437D0 +/* 7EE4E0 802437D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EE4E4 802437D4 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EE4E8 802437D8 8C82000C */ lw $v0, 0xc($a0) +/* 7EE4EC 802437DC 0C0B1EAF */ jal get_variable +/* 7EE4F0 802437E0 8C450000 */ lw $a1, ($v0) +/* 7EE4F4 802437E4 0040182D */ daddu $v1, $v0, $zero +/* 7EE4F8 802437E8 10600012 */ beqz $v1, .L80243834 +/* 7EE4FC 802437EC 0000202D */ daddu $a0, $zero, $zero +/* 7EE500 802437F0 8C620000 */ lw $v0, ($v1) +/* 7EE504 802437F4 5040000A */ beql $v0, $zero, .L80243820 +/* 7EE508 802437F8 00041080 */ sll $v0, $a0, 2 +/* 7EE50C 802437FC 3C058025 */ lui $a1, 0x8025 +/* 7EE510 80243800 24A55EE0 */ addiu $a1, $a1, 0x5ee0 +.L80243804: +/* 7EE514 80243804 24630004 */ addiu $v1, $v1, 4 +/* 7EE518 80243808 24840001 */ addiu $a0, $a0, 1 +/* 7EE51C 8024380C ACA20000 */ sw $v0, ($a1) +/* 7EE520 80243810 8C620000 */ lw $v0, ($v1) +/* 7EE524 80243814 1440FFFB */ bnez $v0, .L80243804 +/* 7EE528 80243818 24A50004 */ addiu $a1, $a1, 4 +/* 7EE52C 8024381C 00041080 */ sll $v0, $a0, 2 +.L80243820: +/* 7EE530 80243820 3C018025 */ lui $at, 0x8025 +/* 7EE534 80243824 00220821 */ addu $at, $at, $v0 +/* 7EE538 80243828 AC205EE0 */ sw $zero, 0x5ee0($at) +/* 7EE53C 8024382C 08090E17 */ j .L8024385C +/* 7EE540 80243830 00000000 */ nop +.L80243834: +/* 7EE544 80243834 3C038025 */ lui $v1, 0x8025 +/* 7EE548 80243838 24635EE0 */ addiu $v1, $v1, 0x5ee0 +/* 7EE54C 8024383C 0060282D */ daddu $a1, $v1, $zero +.L80243840: +/* 7EE550 80243840 24820010 */ addiu $v0, $a0, 0x10 +/* 7EE554 80243844 AC620000 */ sw $v0, ($v1) +/* 7EE558 80243848 24630004 */ addiu $v1, $v1, 4 +/* 7EE55C 8024384C 24840001 */ addiu $a0, $a0, 1 +/* 7EE560 80243850 28820070 */ slti $v0, $a0, 0x70 +/* 7EE564 80243854 1440FFFA */ bnez $v0, .L80243840 +/* 7EE568 80243858 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024385C: +/* 7EE56C 8024385C 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EE570 80243860 24020002 */ addiu $v0, $zero, 2 +/* 7EE574 80243864 03E00008 */ jr $ra +/* 7EE578 80243868 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024386C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024386C.s new file mode 100644 index 0000000000..255cf4bc9b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024386C.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024386C +/* 7EE57C 8024386C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7EE580 80243870 AFB10014 */ sw $s1, 0x14($sp) +/* 7EE584 80243874 0080882D */ daddu $s1, $a0, $zero +/* 7EE588 80243878 AFBF0018 */ sw $ra, 0x18($sp) +/* 7EE58C 8024387C AFB00010 */ sw $s0, 0x10($sp) +/* 7EE590 80243880 8E30000C */ lw $s0, 0xc($s1) +/* 7EE594 80243884 8E050000 */ lw $a1, ($s0) +/* 7EE598 80243888 0C0B1EAF */ jal get_variable +/* 7EE59C 8024388C 26100004 */ addiu $s0, $s0, 4 +/* 7EE5A0 80243890 AE22008C */ sw $v0, 0x8c($s1) +/* 7EE5A4 80243894 8E050000 */ lw $a1, ($s0) +/* 7EE5A8 80243898 26100004 */ addiu $s0, $s0, 4 +/* 7EE5AC 8024389C 0C0B1EAF */ jal get_variable +/* 7EE5B0 802438A0 0220202D */ daddu $a0, $s1, $zero +/* 7EE5B4 802438A4 AE220090 */ sw $v0, 0x90($s1) +/* 7EE5B8 802438A8 8E050000 */ lw $a1, ($s0) +/* 7EE5BC 802438AC 26100004 */ addiu $s0, $s0, 4 +/* 7EE5C0 802438B0 0C0B1EAF */ jal get_variable +/* 7EE5C4 802438B4 0220202D */ daddu $a0, $s1, $zero +/* 7EE5C8 802438B8 AE220094 */ sw $v0, 0x94($s1) +/* 7EE5CC 802438BC 8E050000 */ lw $a1, ($s0) +/* 7EE5D0 802438C0 26100004 */ addiu $s0, $s0, 4 +/* 7EE5D4 802438C4 0C0B1EAF */ jal get_variable +/* 7EE5D8 802438C8 0220202D */ daddu $a0, $s1, $zero +/* 7EE5DC 802438CC AE220098 */ sw $v0, 0x98($s1) +/* 7EE5E0 802438D0 8E050000 */ lw $a1, ($s0) +/* 7EE5E4 802438D4 26100004 */ addiu $s0, $s0, 4 +/* 7EE5E8 802438D8 0C0B1EAF */ jal get_variable +/* 7EE5EC 802438DC 0220202D */ daddu $a0, $s1, $zero +/* 7EE5F0 802438E0 AE22009C */ sw $v0, 0x9c($s1) +/* 7EE5F4 802438E4 8E050000 */ lw $a1, ($s0) +/* 7EE5F8 802438E8 26100004 */ addiu $s0, $s0, 4 +/* 7EE5FC 802438EC 0C0B1EAF */ jal get_variable +/* 7EE600 802438F0 0220202D */ daddu $a0, $s1, $zero +/* 7EE604 802438F4 AE2200A0 */ sw $v0, 0xa0($s1) +/* 7EE608 802438F8 8E050000 */ lw $a1, ($s0) +/* 7EE60C 802438FC 26100004 */ addiu $s0, $s0, 4 +/* 7EE610 80243900 0C0B1EAF */ jal get_variable +/* 7EE614 80243904 0220202D */ daddu $a0, $s1, $zero +/* 7EE618 80243908 AE2200A4 */ sw $v0, 0xa4($s1) +/* 7EE61C 8024390C 8E050000 */ lw $a1, ($s0) +/* 7EE620 80243910 26100004 */ addiu $s0, $s0, 4 +/* 7EE624 80243914 0C0B1EAF */ jal get_variable +/* 7EE628 80243918 0220202D */ daddu $a0, $s1, $zero +/* 7EE62C 8024391C AE2200A8 */ sw $v0, 0xa8($s1) +/* 7EE630 80243920 8E050000 */ lw $a1, ($s0) +/* 7EE634 80243924 26100004 */ addiu $s0, $s0, 4 +/* 7EE638 80243928 0C0B1EAF */ jal get_variable +/* 7EE63C 8024392C 0220202D */ daddu $a0, $s1, $zero +/* 7EE640 80243930 AE2200AC */ sw $v0, 0xac($s1) +/* 7EE644 80243934 8E050000 */ lw $a1, ($s0) +/* 7EE648 80243938 0C0B1EAF */ jal get_variable +/* 7EE64C 8024393C 0220202D */ daddu $a0, $s1, $zero +/* 7EE650 80243940 AE2200B0 */ sw $v0, 0xb0($s1) +/* 7EE654 80243944 8FBF0018 */ lw $ra, 0x18($sp) +/* 7EE658 80243948 8FB10014 */ lw $s1, 0x14($sp) +/* 7EE65C 8024394C 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE660 80243950 24020002 */ addiu $v0, $zero, 2 +/* 7EE664 80243954 03E00008 */ jr $ra +/* 7EE668 80243958 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_8024395C.s b/asm/nonmatchings/world/area_mac/mac_00/func_8024395C.s new file mode 100644 index 0000000000..a2b8cd5f94 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_8024395C.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024395C +/* 7EE66C 8024395C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 7EE670 80243960 AFB1001C */ sw $s1, 0x1c($sp) +/* 7EE674 80243964 0080882D */ daddu $s1, $a0, $zero +/* 7EE678 80243968 AFBF0034 */ sw $ra, 0x34($sp) +/* 7EE67C 8024396C AFB60030 */ sw $s6, 0x30($sp) +/* 7EE680 80243970 AFB5002C */ sw $s5, 0x2c($sp) +/* 7EE684 80243974 AFB40028 */ sw $s4, 0x28($sp) +/* 7EE688 80243978 AFB30024 */ sw $s3, 0x24($sp) +/* 7EE68C 8024397C AFB20020 */ sw $s2, 0x20($sp) +/* 7EE690 80243980 AFB00018 */ sw $s0, 0x18($sp) +/* 7EE694 80243984 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 7EE698 80243988 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 7EE69C 8024398C 8E30000C */ lw $s0, 0xc($s1) +/* 7EE6A0 80243990 8E160000 */ lw $s6, ($s0) +/* 7EE6A4 80243994 26100004 */ addiu $s0, $s0, 4 +/* 7EE6A8 80243998 0C0B1EAF */ jal get_variable +/* 7EE6AC 8024399C 02C0282D */ daddu $a1, $s6, $zero +/* 7EE6B0 802439A0 44820000 */ mtc1 $v0, $f0 +/* 7EE6B4 802439A4 00000000 */ nop +/* 7EE6B8 802439A8 46800020 */ cvt.s.w $f0, $f0 +/* 7EE6BC 802439AC E7A00010 */ swc1 $f0, 0x10($sp) +/* 7EE6C0 802439B0 8E140000 */ lw $s4, ($s0) +/* 7EE6C4 802439B4 26100004 */ addiu $s0, $s0, 4 +/* 7EE6C8 802439B8 0220202D */ daddu $a0, $s1, $zero +/* 7EE6CC 802439BC 0C0B1EAF */ jal get_variable +/* 7EE6D0 802439C0 0280282D */ daddu $a1, $s4, $zero +/* 7EE6D4 802439C4 0220202D */ daddu $a0, $s1, $zero +/* 7EE6D8 802439C8 8E150000 */ lw $s5, ($s0) +/* 7EE6DC 802439CC 4482B000 */ mtc1 $v0, $f22 +/* 7EE6E0 802439D0 00000000 */ nop +/* 7EE6E4 802439D4 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7EE6E8 802439D8 0C0B1EAF */ jal get_variable +/* 7EE6EC 802439DC 02A0282D */ daddu $a1, $s5, $zero +/* 7EE6F0 802439E0 2404FFFC */ addiu $a0, $zero, -4 +/* 7EE6F4 802439E4 44820000 */ mtc1 $v0, $f0 +/* 7EE6F8 802439E8 00000000 */ nop +/* 7EE6FC 802439EC 46800020 */ cvt.s.w $f0, $f0 +/* 7EE700 802439F0 0C00EABB */ jal get_npc_unsafe +/* 7EE704 802439F4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 7EE708 802439F8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 7EE70C 802439FC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 7EE710 80243A00 3C014334 */ lui $at, 0x4334 +/* 7EE714 80243A04 44816000 */ mtc1 $at, $f12 +/* 7EE718 80243A08 00041880 */ sll $v1, $a0, 2 +/* 7EE71C 80243A0C 00641821 */ addu $v1, $v1, $a0 +/* 7EE720 80243A10 00031880 */ sll $v1, $v1, 2 +/* 7EE724 80243A14 00641823 */ subu $v1, $v1, $a0 +/* 7EE728 80243A18 000320C0 */ sll $a0, $v1, 3 +/* 7EE72C 80243A1C 00641821 */ addu $v1, $v1, $a0 +/* 7EE730 80243A20 000318C0 */ sll $v1, $v1, 3 +/* 7EE734 80243A24 3C01800B */ lui $at, 0x800b +/* 7EE738 80243A28 00230821 */ addu $at, $at, $v1 +/* 7EE73C 80243A2C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 7EE740 80243A30 460C0300 */ add.s $f12, $f0, $f12 +/* 7EE744 80243A34 0C00A6C9 */ jal clamp_angle +/* 7EE748 80243A38 0040982D */ daddu $s3, $v0, $zero +/* 7EE74C 80243A3C 27B00010 */ addiu $s0, $sp, 0x10 +/* 7EE750 80243A40 0200202D */ daddu $a0, $s0, $zero +/* 7EE754 80243A44 27B20014 */ addiu $s2, $sp, 0x14 +/* 7EE758 80243A48 0240282D */ daddu $a1, $s2, $zero +/* 7EE75C 80243A4C 3C064170 */ lui $a2, 0x4170 +/* 7EE760 80243A50 8E67000C */ lw $a3, 0xc($s3) +/* 7EE764 80243A54 0C00A7E7 */ jal add_vec2D_polar +/* 7EE768 80243A58 46000506 */ mov.s $f20, $f0 +/* 7EE76C 80243A5C 0200202D */ daddu $a0, $s0, $zero +/* 7EE770 80243A60 3C064120 */ lui $a2, 0x4120 +/* 7EE774 80243A64 4407A000 */ mfc1 $a3, $f20 +/* 7EE778 80243A68 0C00A7E7 */ jal add_vec2D_polar +/* 7EE77C 80243A6C 0240282D */ daddu $a1, $s2, $zero +/* 7EE780 80243A70 0220202D */ daddu $a0, $s1, $zero +/* 7EE784 80243A74 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 7EE788 80243A78 4600008D */ trunc.w.s $f2, $f0 +/* 7EE78C 80243A7C 44061000 */ mfc1 $a2, $f2 +/* 7EE790 80243A80 0C0B2026 */ jal set_variable +/* 7EE794 80243A84 02C0282D */ daddu $a1, $s6, $zero +/* 7EE798 80243A88 0220202D */ daddu $a0, $s1, $zero +/* 7EE79C 80243A8C 4600B08D */ trunc.w.s $f2, $f22 +/* 7EE7A0 80243A90 44061000 */ mfc1 $a2, $f2 +/* 7EE7A4 80243A94 0C0B2026 */ jal set_variable +/* 7EE7A8 80243A98 0280282D */ daddu $a1, $s4, $zero +/* 7EE7AC 80243A9C 0220202D */ daddu $a0, $s1, $zero +/* 7EE7B0 80243AA0 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 7EE7B4 80243AA4 4600008D */ trunc.w.s $f2, $f0 +/* 7EE7B8 80243AA8 44061000 */ mfc1 $a2, $f2 +/* 7EE7BC 80243AAC 0C0B2026 */ jal set_variable +/* 7EE7C0 80243AB0 02A0282D */ daddu $a1, $s5, $zero +/* 7EE7C4 80243AB4 8FBF0034 */ lw $ra, 0x34($sp) +/* 7EE7C8 80243AB8 8FB60030 */ lw $s6, 0x30($sp) +/* 7EE7CC 80243ABC 8FB5002C */ lw $s5, 0x2c($sp) +/* 7EE7D0 80243AC0 8FB40028 */ lw $s4, 0x28($sp) +/* 7EE7D4 80243AC4 8FB30024 */ lw $s3, 0x24($sp) +/* 7EE7D8 80243AC8 8FB20020 */ lw $s2, 0x20($sp) +/* 7EE7DC 80243ACC 8FB1001C */ lw $s1, 0x1c($sp) +/* 7EE7E0 80243AD0 8FB00018 */ lw $s0, 0x18($sp) +/* 7EE7E4 80243AD4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 7EE7E8 80243AD8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 7EE7EC 80243ADC 24020002 */ addiu $v0, $zero, 2 +/* 7EE7F0 80243AE0 03E00008 */ jr $ra +/* 7EE7F4 80243AE4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243AE8.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243AE8.s new file mode 100644 index 0000000000..c51b595339 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243AE8.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243AE8 +/* 7EE7F8 80243AE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EE7FC 80243AEC AFB00010 */ sw $s0, 0x10($sp) +/* 7EE800 80243AF0 0080802D */ daddu $s0, $a0, $zero +/* 7EE804 80243AF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 7EE808 80243AF8 0C00EABB */ jal get_npc_unsafe +/* 7EE80C 80243AFC 8E04008C */ lw $a0, 0x8c($s0) +/* 7EE810 80243B00 0040282D */ daddu $a1, $v0, $zero +/* 7EE814 80243B04 8E040094 */ lw $a0, 0x94($s0) +/* 7EE818 80243B08 8CA30028 */ lw $v1, 0x28($a1) +/* 7EE81C 80243B0C ACA40028 */ sw $a0, 0x28($a1) +/* 7EE820 80243B10 8FBF0014 */ lw $ra, 0x14($sp) +/* 7EE824 80243B14 8FB00010 */ lw $s0, 0x10($sp) +/* 7EE828 80243B18 24020002 */ addiu $v0, $zero, 2 +/* 7EE82C 80243B1C 3C018025 */ lui $at, 0x8025 +/* 7EE830 80243B20 AC2360A4 */ sw $v1, 0x60a4($at) +/* 7EE834 80243B24 03E00008 */ jr $ra +/* 7EE838 80243B28 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_00/func_80243B2C.s b/asm/nonmatchings/world/area_mac/mac_00/func_80243B2C.s new file mode 100644 index 0000000000..70c9763750 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_00/func_80243B2C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243B2C +/* 7EE83C 80243B2C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7EE840 80243B30 AFBF0010 */ sw $ra, 0x10($sp) +/* 7EE844 80243B34 0C00EABB */ jal get_npc_unsafe +/* 7EE848 80243B38 8C84008C */ lw $a0, 0x8c($a0) +/* 7EE84C 80243B3C 3C038025 */ lui $v1, 0x8025 +/* 7EE850 80243B40 8C6360A4 */ lw $v1, 0x60a4($v1) +/* 7EE854 80243B44 AC430028 */ sw $v1, 0x28($v0) +/* 7EE858 80243B48 8FBF0010 */ lw $ra, 0x10($sp) +/* 7EE85C 80243B4C 24020002 */ addiu $v0, $zero, 2 +/* 7EE860 80243B50 03E00008 */ jr $ra +/* 7EE864 80243B54 27BD0018 */ addiu $sp, $sp, 0x18 +/* 7EE868 80243B58 00000000 */ nop +/* 7EE86C 80243B5C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240000_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240000_800880.s new file mode 100644 index 0000000000..00ed9945be --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240000_800880.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_800880 +/* 800880 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 800884 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 800888 80240008 8C82000C */ lw $v0, 0xc($a0) +/* 80088C 8024000C 0C0B1EAF */ jal get_variable +/* 800890 80240010 8C450000 */ lw $a1, ($v0) +/* 800894 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 800898 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 80089C 8024001C 8C630140 */ lw $v1, 0x140($v1) +/* 8008A0 80240020 00021100 */ sll $v0, $v0, 4 +/* 8008A4 80240024 00431021 */ addu $v0, $v0, $v1 +/* 8008A8 80240028 8C440000 */ lw $a0, ($v0) +/* 8008AC 8024002C 0C04D052 */ jal set_item_entity_flags +/* 8008B0 80240030 24050040 */ addiu $a1, $zero, 0x40 +/* 8008B4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* 8008B8 80240038 24020002 */ addiu $v0, $zero, 2 +/* 8008BC 8024003C 03E00008 */ jr $ra +/* 8008C0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240044.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240044.s new file mode 100644 index 0000000000..1bd34c5163 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240044.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240044 +/* 8008C4 80240044 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8008C8 80240048 AFBF0018 */ sw $ra, 0x18($sp) +/* 8008CC 8024004C AFB10014 */ sw $s1, 0x14($sp) +/* 8008D0 80240050 AFB00010 */ sw $s0, 0x10($sp) +/* 8008D4 80240054 8C82000C */ lw $v0, 0xc($a0) +/* 8008D8 80240058 0C0B1EAF */ jal get_variable +/* 8008DC 8024005C 8C450000 */ lw $a1, ($v0) +/* 8008E0 80240060 0000202D */ daddu $a0, $zero, $zero +/* 8008E4 80240064 3C05FD05 */ lui $a1, 0xfd05 +/* 8008E8 80240068 34A50F82 */ ori $a1, $a1, 0xf82 +/* 8008EC 8024006C 0C0B1EAF */ jal get_variable +/* 8008F0 80240070 0040802D */ daddu $s0, $v0, $zero +/* 8008F4 80240074 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8008F8 80240078 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8008FC 8024007C 24050040 */ addiu $a1, $zero, 0x40 +/* 800900 80240080 8C640140 */ lw $a0, 0x140($v1) +/* 800904 80240084 00101900 */ sll $v1, $s0, 4 +/* 800908 80240088 00641821 */ addu $v1, $v1, $a0 +/* 80090C 8024008C 8C640000 */ lw $a0, ($v1) +/* 800910 80240090 0C04D052 */ jal set_item_entity_flags +/* 800914 80240094 0040882D */ daddu $s1, $v0, $zero +/* 800918 80240098 0000202D */ daddu $a0, $zero, $zero +/* 80091C 8024009C 00108080 */ sll $s0, $s0, 2 +/* 800920 802400A0 02118021 */ addu $s0, $s0, $s1 +/* 800924 802400A4 8E050000 */ lw $a1, ($s0) +/* 800928 802400A8 0C0B2026 */ jal set_variable +/* 80092C 802400AC 24060001 */ addiu $a2, $zero, 1 +/* 800930 802400B0 8FBF0018 */ lw $ra, 0x18($sp) +/* 800934 802400B4 8FB10014 */ lw $s1, 0x14($sp) +/* 800938 802400B8 8FB00010 */ lw $s0, 0x10($sp) +/* 80093C 802400BC 24020002 */ addiu $v0, $zero, 2 +/* 800940 802400C0 03E00008 */ jr $ra +/* 800944 802400C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802400C8_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_802400C8_800880.s new file mode 100644 index 0000000000..b8e9d9dd73 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802400C8_800880.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C8_800948 +/* 800948 802400C8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 80094C 802400CC AFBE0078 */ sw $fp, 0x78($sp) +/* 800950 802400D0 0080F02D */ daddu $fp, $a0, $zero +/* 800954 802400D4 AFB5006C */ sw $s5, 0x6c($sp) +/* 800958 802400D8 3C15F840 */ lui $s5, 0xf840 +/* 80095C 802400DC 36B55C05 */ ori $s5, $s5, 0x5c05 +/* 800960 802400E0 3C07F840 */ lui $a3, 0xf840 +/* 800964 802400E4 34E76200 */ ori $a3, $a3, 0x6200 +/* 800968 802400E8 24040030 */ addiu $a0, $zero, 0x30 +/* 80096C 802400EC AFBF007C */ sw $ra, 0x7c($sp) +/* 800970 802400F0 AFB70074 */ sw $s7, 0x74($sp) +/* 800974 802400F4 AFB60070 */ sw $s6, 0x70($sp) +/* 800978 802400F8 AFB40068 */ sw $s4, 0x68($sp) +/* 80097C 802400FC AFB30064 */ sw $s3, 0x64($sp) +/* 800980 80240100 AFB20060 */ sw $s2, 0x60($sp) +/* 800984 80240104 AFB1005C */ sw $s1, 0x5c($sp) +/* 800988 80240108 AFB00058 */ sw $s0, 0x58($sp) +/* 80098C 8024010C 0C00AB39 */ jal heap_malloc +/* 800990 80240110 AFA70050 */ sw $a3, 0x50($sp) +/* 800994 80240114 2404000C */ addiu $a0, $zero, 0xc +/* 800998 80240118 0C00AB39 */ jal heap_malloc +/* 80099C 8024011C 0040B82D */ daddu $s7, $v0, $zero +/* 8009A0 80240120 03C0202D */ daddu $a0, $fp, $zero +/* 8009A4 80240124 3C05F840 */ lui $a1, 0xf840 +/* 8009A8 80240128 AFA20054 */ sw $v0, 0x54($sp) +/* 8009AC 8024012C AC400000 */ sw $zero, ($v0) +/* 8009B0 80240130 8FA70054 */ lw $a3, 0x54($sp) +/* 8009B4 80240134 34A55C87 */ ori $a1, $a1, 0x5c87 +/* 8009B8 80240138 ACE00004 */ sw $zero, 4($a3) +/* 8009BC 8024013C ACE00008 */ sw $zero, 8($a3) +/* 8009C0 80240140 AEE00000 */ sw $zero, ($s7) +/* 8009C4 80240144 AEE0000C */ sw $zero, 0xc($s7) +/* 8009C8 80240148 AEE00018 */ sw $zero, 0x18($s7) +/* 8009CC 8024014C 0C0B1EAF */ jal get_variable +/* 8009D0 80240150 AEE00024 */ sw $zero, 0x24($s7) +/* 8009D4 80240154 1440005E */ bnez $v0, .L802402D0 +/* 8009D8 80240158 03C0202D */ daddu $a0, $fp, $zero +/* 8009DC 8024015C 0000982D */ daddu $s3, $zero, $zero +/* 8009E0 80240160 0260882D */ daddu $s1, $s3, $zero +/* 8009E4 80240164 24140001 */ addiu $s4, $zero, 1 +/* 8009E8 80240168 27B20010 */ addiu $s2, $sp, 0x10 +/* 8009EC 8024016C 0000202D */ daddu $a0, $zero, $zero +.L80240170: +/* 8009F0 80240170 0C0B1EAF */ jal get_variable +/* 8009F4 80240174 02B12821 */ addu $a1, $s5, $s1 +/* 8009F8 80240178 0000202D */ daddu $a0, $zero, $zero +/* 8009FC 8024017C 8FA70050 */ lw $a3, 0x50($sp) +/* 800A00 80240180 0040802D */ daddu $s0, $v0, $zero +/* 800A04 80240184 0C0B1EAF */ jal get_variable +/* 800A08 80240188 00F12821 */ addu $a1, $a3, $s1 +/* 800A0C 8024018C 56140007 */ bnel $s0, $s4, .L802401AC +/* 800A10 80240190 26310001 */ addiu $s1, $s1, 1 +/* 800A14 80240194 54400005 */ bnel $v0, $zero, .L802401AC +/* 800A18 80240198 26310001 */ addiu $s1, $s1, 1 +/* 800A1C 8024019C AE510000 */ sw $s1, ($s2) +/* 800A20 802401A0 26520004 */ addiu $s2, $s2, 4 +/* 800A24 802401A4 26730001 */ addiu $s3, $s3, 1 +/* 800A28 802401A8 26310001 */ addiu $s1, $s1, 1 +.L802401AC: +/* 800A2C 802401AC 2E220010 */ sltiu $v0, $s1, 0x10 +/* 800A30 802401B0 1440FFEF */ bnez $v0, .L80240170 +/* 800A34 802401B4 0000202D */ daddu $a0, $zero, $zero +/* 800A38 802401B8 12600039 */ beqz $s3, .L802402A0 +/* 800A3C 802401BC 0000A82D */ daddu $s5, $zero, $zero +/* 800A40 802401C0 27B40010 */ addiu $s4, $sp, 0x10 +/* 800A44 802401C4 2672FFFF */ addiu $s2, $s3, -1 +/* 800A48 802401C8 8FB60054 */ lw $s6, 0x54($sp) +/* 800A4C 802401CC 02E0802D */ daddu $s0, $s7, $zero +.L802401D0: +/* 800A50 802401D0 0C00A67F */ jal rand_int +/* 800A54 802401D4 0240202D */ daddu $a0, $s2, $zero +/* 800A58 802401D8 3C05F5DE */ lui $a1, 0xf5de +/* 800A5C 802401DC 34A501A9 */ ori $a1, $a1, 0x1a9 +/* 800A60 802401E0 0040882D */ daddu $s1, $v0, $zero +/* 800A64 802401E4 00111080 */ sll $v0, $s1, 2 +/* 800A68 802401E8 02821021 */ addu $v0, $s4, $v0 +/* 800A6C 802401EC 8C460000 */ lw $a2, ($v0) +/* 800A70 802401F0 3C078024 */ lui $a3, 0x8024 +/* 800A74 802401F4 24E77F88 */ addiu $a3, $a3, 0x7f88 +/* 800A78 802401F8 00061840 */ sll $v1, $a2, 1 +/* 800A7C 802401FC 00661821 */ addu $v1, $v1, $a2 +/* 800A80 80240200 00031880 */ sll $v1, $v1, 2 +/* 800A84 80240204 00671821 */ addu $v1, $v1, $a3 +/* 800A88 80240208 8C620000 */ lw $v0, ($v1) +/* 800A8C 8024020C 3C078008 */ lui $a3, %hi(gItemTable) +/* 800A90 80240210 24E778E0 */ addiu $a3, $a3, %lo(gItemTable) +/* 800A94 80240214 AE020000 */ sw $v0, ($s0) +/* 800A98 80240218 00021140 */ sll $v0, $v0, 5 +/* 800A9C 8024021C 00471021 */ addu $v0, $v0, $a3 +/* 800AA0 80240220 8442000C */ lh $v0, 0xc($v0) +/* 800AA4 80240224 03C0202D */ daddu $a0, $fp, $zero +/* 800AA8 80240228 AE020004 */ sw $v0, 4($s0) +/* 800AAC 8024022C 8C620008 */ lw $v0, 8($v1) +/* 800AB0 80240230 02A52821 */ addu $a1, $s5, $a1 +/* 800AB4 80240234 AE020008 */ sw $v0, 8($s0) +/* 800AB8 80240238 8FA70050 */ lw $a3, 0x50($sp) +/* 800ABC 8024023C 26B50001 */ addiu $s5, $s5, 1 +/* 800AC0 80240240 00E61021 */ addu $v0, $a3, $a2 +/* 800AC4 80240244 0C0B2026 */ jal set_variable +/* 800AC8 80240248 AEC20000 */ sw $v0, ($s6) +/* 800ACC 8024024C 26D60004 */ addiu $s6, $s6, 4 +/* 800AD0 80240250 2AA20003 */ slti $v0, $s5, 3 +/* 800AD4 80240254 10400012 */ beqz $v0, .L802402A0 +/* 800AD8 80240258 2610000C */ addiu $s0, $s0, 0xc +/* 800ADC 8024025C 0232102A */ slt $v0, $s1, $s2 +/* 800AE0 80240260 1040000C */ beqz $v0, .L80240294 +/* 800AE4 80240264 0240202D */ daddu $a0, $s2, $zero +/* 800AE8 80240268 00111880 */ sll $v1, $s1, 2 +.L8024026C: +/* 800AEC 8024026C 26220001 */ addiu $v0, $s1, 1 +/* 800AF0 80240270 0040882D */ daddu $s1, $v0, $zero +/* 800AF4 80240274 00111080 */ sll $v0, $s1, 2 +/* 800AF8 80240278 02821021 */ addu $v0, $s4, $v0 +/* 800AFC 8024027C 8C420000 */ lw $v0, ($v0) +/* 800B00 80240280 02831821 */ addu $v1, $s4, $v1 +/* 800B04 80240284 AC620000 */ sw $v0, ($v1) +/* 800B08 80240288 0224102A */ slt $v0, $s1, $a0 +/* 800B0C 8024028C 1440FFF7 */ bnez $v0, .L8024026C +/* 800B10 80240290 00111880 */ sll $v1, $s1, 2 +.L80240294: +/* 800B14 80240294 2673FFFF */ addiu $s3, $s3, -1 +/* 800B18 80240298 1660FFCD */ bnez $s3, .L802401D0 +/* 800B1C 8024029C 2652FFFF */ addiu $s2, $s2, -1 +.L802402A0: +/* 800B20 802402A0 03C0202D */ daddu $a0, $fp, $zero +/* 800B24 802402A4 3C05F5DE */ lui $a1, 0xf5de +/* 800B28 802402A8 34A501AC */ ori $a1, $a1, 0x1ac +/* 800B2C 802402AC 0C0B2026 */ jal set_variable +/* 800B30 802402B0 02A0302D */ daddu $a2, $s5, $zero +/* 800B34 802402B4 03C0202D */ daddu $a0, $fp, $zero +/* 800B38 802402B8 3C05F840 */ lui $a1, 0xf840 +/* 800B3C 802402BC 34A55C87 */ ori $a1, $a1, 0x5c87 +/* 800B40 802402C0 0C0B2026 */ jal set_variable +/* 800B44 802402C4 24060001 */ addiu $a2, $zero, 1 +/* 800B48 802402C8 080900DC */ j .L80240370 +/* 800B4C 802402CC AFC00090 */ sw $zero, 0x90($fp) +.L802402D0: +/* 800B50 802402D0 3C05F5DE */ lui $a1, 0xf5de +/* 800B54 802402D4 0C0B1EAF */ jal get_variable +/* 800B58 802402D8 34A501AC */ ori $a1, $a1, 0x1ac +/* 800B5C 802402DC 0040A82D */ daddu $s5, $v0, $zero +/* 800B60 802402E0 1AA00021 */ blez $s5, .L80240368 +/* 800B64 802402E4 0000882D */ daddu $s1, $zero, $zero +/* 800B68 802402E8 3C13F5DE */ lui $s3, 0xf5de +/* 800B6C 802402EC 367301A9 */ ori $s3, $s3, 0x1a9 +/* 800B70 802402F0 3C168024 */ lui $s6, 0x8024 +/* 800B74 802402F4 26D67F88 */ addiu $s6, $s6, 0x7f88 +/* 800B78 802402F8 3C148008 */ lui $s4, %hi(gItemTable) +/* 800B7C 802402FC 269478E0 */ addiu $s4, $s4, %lo(gItemTable) +/* 800B80 80240300 8FB20054 */ lw $s2, 0x54($sp) +/* 800B84 80240304 02E0802D */ daddu $s0, $s7, $zero +.L80240308: +/* 800B88 80240308 03C0202D */ daddu $a0, $fp, $zero +/* 800B8C 8024030C 0C0B1EAF */ jal get_variable +/* 800B90 80240310 02332821 */ addu $a1, $s1, $s3 +/* 800B94 80240314 0040302D */ daddu $a2, $v0, $zero +/* 800B98 80240318 00061840 */ sll $v1, $a2, 1 +/* 800B9C 8024031C 00661821 */ addu $v1, $v1, $a2 +/* 800BA0 80240320 00031880 */ sll $v1, $v1, 2 +/* 800BA4 80240324 00761821 */ addu $v1, $v1, $s6 +/* 800BA8 80240328 8C620000 */ lw $v0, ($v1) +/* 800BAC 8024032C AE020000 */ sw $v0, ($s0) +/* 800BB0 80240330 00021140 */ sll $v0, $v0, 5 +/* 800BB4 80240334 00541021 */ addu $v0, $v0, $s4 +/* 800BB8 80240338 8442000C */ lh $v0, 0xc($v0) +/* 800BBC 8024033C AE020004 */ sw $v0, 4($s0) +/* 800BC0 80240340 8C620008 */ lw $v0, 8($v1) +/* 800BC4 80240344 26310001 */ addiu $s1, $s1, 1 +/* 800BC8 80240348 AE020008 */ sw $v0, 8($s0) +/* 800BCC 8024034C 8FA70050 */ lw $a3, 0x50($sp) +/* 800BD0 80240350 2610000C */ addiu $s0, $s0, 0xc +/* 800BD4 80240354 00E61021 */ addu $v0, $a3, $a2 +/* 800BD8 80240358 AE420000 */ sw $v0, ($s2) +/* 800BDC 8024035C 0235102A */ slt $v0, $s1, $s5 +/* 800BE0 80240360 1440FFE9 */ bnez $v0, .L80240308 +/* 800BE4 80240364 26520004 */ addiu $s2, $s2, 4 +.L80240368: +/* 800BE8 80240368 24020001 */ addiu $v0, $zero, 1 +/* 800BEC 8024036C AFC20090 */ sw $v0, 0x90($fp) +.L80240370: +/* 800BF0 80240370 AFD50084 */ sw $s5, 0x84($fp) +/* 800BF4 80240374 8FA70054 */ lw $a3, 0x54($sp) +/* 800BF8 80240378 AFC70088 */ sw $a3, 0x88($fp) +/* 800BFC 8024037C AFD7008C */ sw $s7, 0x8c($fp) +/* 800C00 80240380 8FBF007C */ lw $ra, 0x7c($sp) +/* 800C04 80240384 8FBE0078 */ lw $fp, 0x78($sp) +/* 800C08 80240388 8FB70074 */ lw $s7, 0x74($sp) +/* 800C0C 8024038C 8FB60070 */ lw $s6, 0x70($sp) +/* 800C10 80240390 8FB5006C */ lw $s5, 0x6c($sp) +/* 800C14 80240394 8FB40068 */ lw $s4, 0x68($sp) +/* 800C18 80240398 8FB30064 */ lw $s3, 0x64($sp) +/* 800C1C 8024039C 8FB20060 */ lw $s2, 0x60($sp) +/* 800C20 802403A0 8FB1005C */ lw $s1, 0x5c($sp) +/* 800C24 802403A4 8FB00058 */ lw $s0, 0x58($sp) +/* 800C28 802403A8 24020002 */ addiu $v0, $zero, 2 +/* 800C2C 802403AC 03E00008 */ jr $ra +/* 800C30 802403B0 27BD0080 */ addiu $sp, $sp, 0x80 +/* 800C34 802403B4 00000000 */ nop +/* 800C38 802403B8 00000000 */ nop +/* 800C3C 802403BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802403C0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802403C0.s new file mode 100644 index 0000000000..7dda338dfd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802403C0.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C0 +/* 800C40 802403C0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 800C44 802403C4 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* 800C48 802403C8 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* 800C4C 802403CC 3C01C248 */ lui $at, 0xc248 +/* 800C50 802403D0 44813000 */ mtc1 $at, $f6 +/* 800C54 802403D4 3C01427C */ lui $at, 0x427c +/* 800C58 802403D8 44811000 */ mtc1 $at, $f2 +/* 800C5C 802403DC 3C0142BE */ lui $at, 0x42be +/* 800C60 802403E0 44812000 */ mtc1 $at, $f4 +/* 800C64 802403E4 3C0141F8 */ lui $at, 0x41f8 +/* 800C68 802403E8 44814000 */ mtc1 $at, $f8 +/* 800C6C 802403EC 3C04800B */ lui $a0, %hi(gCameras) +/* 800C70 802403F0 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* 800C74 802403F4 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 800C78 802403F8 AFB000B0 */ sw $s0, 0xb0($sp) +/* 800C7C 802403FC 00021880 */ sll $v1, $v0, 2 +/* 800C80 80240400 00621821 */ addu $v1, $v1, $v0 +/* 800C84 80240404 00031880 */ sll $v1, $v1, 2 +/* 800C88 80240408 00621823 */ subu $v1, $v1, $v0 +/* 800C8C 8024040C 000310C0 */ sll $v0, $v1, 3 +/* 800C90 80240410 00621821 */ addu $v1, $v1, $v0 +/* 800C94 80240414 000318C0 */ sll $v1, $v1, 3 +/* 800C98 80240418 00641821 */ addu $v1, $v1, $a0 +/* 800C9C 8024041C C4600040 */ lwc1 $f0, 0x40($v1) +/* 800CA0 80240420 E7A00010 */ swc1 $f0, 0x10($sp) +/* 800CA4 80240424 C4600044 */ lwc1 $f0, 0x44($v1) +/* 800CA8 80240428 3C10800A */ lui $s0, 0x800a +/* 800CAC 8024042C 2610A674 */ addiu $s0, $s0, -0x598c +/* 800CB0 80240430 E7A00014 */ swc1 $f0, 0x14($sp) +/* 800CB4 80240434 C4600048 */ lwc1 $f0, 0x48($v1) +/* 800CB8 80240438 27A50090 */ addiu $a1, $sp, 0x90 +/* 800CBC 8024043C E7A00018 */ swc1 $f0, 0x18($sp) +/* 800CC0 80240440 C460004C */ lwc1 $f0, 0x4c($v1) +/* 800CC4 80240444 3C048025 */ lui $a0, 0x8025 +/* 800CC8 80240448 24848420 */ addiu $a0, $a0, -0x7be0 +/* 800CCC 8024044C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 800CD0 80240450 8C820000 */ lw $v0, ($a0) +/* 800CD4 80240454 C46A0050 */ lwc1 $f10, 0x50($v1) +/* 800CD8 80240458 3C013F80 */ lui $at, 0x3f80 +/* 800CDC 8024045C 44810000 */ mtc1 $at, $f0 +/* 800CE0 80240460 24420001 */ addiu $v0, $v0, 1 +/* 800CE4 80240464 AC820000 */ sw $v0, ($a0) +/* 800CE8 80240468 24020040 */ addiu $v0, $zero, 0x40 +/* 800CEC 8024046C 27A40050 */ addiu $a0, $sp, 0x50 +/* 800CF0 80240470 AFA00024 */ sw $zero, 0x24($sp) +/* 800CF4 80240474 E7A00028 */ swc1 $f0, 0x28($sp) +/* 800CF8 80240478 AFA0002C */ sw $zero, 0x2c($sp) +/* 800CFC 8024047C E7A60030 */ swc1 $f6, 0x30($sp) +/* 800D00 80240480 E7A20034 */ swc1 $f2, 0x34($sp) +/* 800D04 80240484 E7A40038 */ swc1 $f4, 0x38($sp) +/* 800D08 80240488 E7A8003C */ swc1 $f8, 0x3c($sp) +/* 800D0C 8024048C E7A20040 */ swc1 $f2, 0x40($sp) +/* 800D10 80240490 E7A40044 */ swc1 $f4, 0x44($sp) +/* 800D14 80240494 AFA20048 */ sw $v0, 0x48($sp) +/* 800D18 80240498 AFA2004C */ sw $v0, 0x4c($sp) +/* 800D1C 8024049C E7AA0020 */ swc1 $f10, 0x20($sp) +/* 800D20 802404A0 8E060000 */ lw $a2, ($s0) +/* 800D24 802404A4 8C67003C */ lw $a3, 0x3c($v1) +/* 800D28 802404A8 0C018A30 */ jal guLookAtHiliteF +/* 800D2C 802404AC 24C60020 */ addiu $a2, $a2, 0x20 +/* 800D30 802404B0 3C03DC08 */ lui $v1, 0xdc08 +/* 800D34 802404B4 3463000A */ ori $v1, $v1, 0xa +/* 800D38 802404B8 3C07DC08 */ lui $a3, 0xdc08 +/* 800D3C 802404BC 34E7030A */ ori $a3, $a3, 0x30a +/* 800D40 802404C0 3C0AD700 */ lui $t2, 0xd700 +/* 800D44 802404C4 354A0002 */ ori $t2, $t2, 2 +/* 800D48 802404C8 3C091000 */ lui $t1, 0x1000 +/* 800D4C 802404CC 35291000 */ ori $t1, $t1, 0x1000 +/* 800D50 802404D0 3C08D9FF */ lui $t0, 0xd9ff +/* 800D54 802404D4 3C06800A */ lui $a2, 0x800a +/* 800D58 802404D8 24C6A66C */ addiu $a2, $a2, -0x5994 +/* 800D5C 802404DC 3508FFFF */ ori $t0, $t0, 0xffff +/* 800D60 802404E0 8CC50000 */ lw $a1, ($a2) +/* 800D64 802404E4 8E040000 */ lw $a0, ($s0) +/* 800D68 802404E8 00A0102D */ daddu $v0, $a1, $zero +/* 800D6C 802404EC 24A50008 */ addiu $a1, $a1, 8 +/* 800D70 802404F0 ACC50000 */ sw $a1, ($a2) +/* 800D74 802404F4 AC430000 */ sw $v1, ($v0) +/* 800D78 802404F8 AC440004 */ sw $a0, 4($v0) +/* 800D7C 802404FC 24A20008 */ addiu $v0, $a1, 8 +/* 800D80 80240500 ACC20000 */ sw $v0, ($a2) +/* 800D84 80240504 24820010 */ addiu $v0, $a0, 0x10 +/* 800D88 80240508 24A30010 */ addiu $v1, $a1, 0x10 +/* 800D8C 8024050C ACA70000 */ sw $a3, ($a1) +/* 800D90 80240510 ACA20004 */ sw $v0, 4($a1) +/* 800D94 80240514 8C820020 */ lw $v0, 0x20($a0) +/* 800D98 80240518 3C07F200 */ lui $a3, 0xf200 +/* 800D9C 8024051C ACC30000 */ sw $v1, ($a2) +/* 800DA0 80240520 8C830024 */ lw $v1, 0x24($a0) +/* 800DA4 80240524 30420FFF */ andi $v0, $v0, 0xfff +/* 800DA8 80240528 00021300 */ sll $v0, $v0, 0xc +/* 800DAC 8024052C 30630FFF */ andi $v1, $v1, 0xfff +/* 800DB0 80240530 00671825 */ or $v1, $v1, $a3 +/* 800DB4 80240534 00431025 */ or $v0, $v0, $v1 +/* 800DB8 80240538 ACA20008 */ sw $v0, 8($a1) +/* 800DBC 8024053C 8C820020 */ lw $v0, 0x20($a0) +/* 800DC0 80240540 24A30018 */ addiu $v1, $a1, 0x18 +/* 800DC4 80240544 ACC30000 */ sw $v1, ($a2) +/* 800DC8 80240548 8C830024 */ lw $v1, 0x24($a0) +/* 800DCC 8024054C 244200FC */ addiu $v0, $v0, 0xfc +/* 800DD0 80240550 30420FFF */ andi $v0, $v0, 0xfff +/* 800DD4 80240554 00021300 */ sll $v0, $v0, 0xc +/* 800DD8 80240558 246300FC */ addiu $v1, $v1, 0xfc +/* 800DDC 8024055C 30630FFF */ andi $v1, $v1, 0xfff +/* 800DE0 80240560 00431025 */ or $v0, $v0, $v1 +/* 800DE4 80240564 ACA2000C */ sw $v0, 0xc($a1) +/* 800DE8 80240568 8C830028 */ lw $v1, 0x28($a0) +/* 800DEC 8024056C 24A20020 */ addiu $v0, $a1, 0x20 +/* 800DF0 80240570 ACC20000 */ sw $v0, ($a2) +/* 800DF4 80240574 8C82002C */ lw $v0, 0x2c($a0) +/* 800DF8 80240578 30630FFF */ andi $v1, $v1, 0xfff +/* 800DFC 8024057C 00031B00 */ sll $v1, $v1, 0xc +/* 800E00 80240580 30420FFF */ andi $v0, $v0, 0xfff +/* 800E04 80240584 00471025 */ or $v0, $v0, $a3 +/* 800E08 80240588 00621825 */ or $v1, $v1, $v0 +/* 800E0C 8024058C ACA30010 */ sw $v1, 0x10($a1) +/* 800E10 80240590 8C830028 */ lw $v1, 0x28($a0) +/* 800E14 80240594 8C84002C */ lw $a0, 0x2c($a0) +/* 800E18 80240598 24A20028 */ addiu $v0, $a1, 0x28 +/* 800E1C 8024059C ACC20000 */ sw $v0, ($a2) +/* 800E20 802405A0 3C020004 */ lui $v0, 4 +/* 800E24 802405A4 ACA20024 */ sw $v0, 0x24($a1) +/* 800E28 802405A8 3C020100 */ lui $v0, 0x100 +/* 800E2C 802405AC ACAA0018 */ sw $t2, 0x18($a1) +/* 800E30 802405B0 ACA9001C */ sw $t1, 0x1c($a1) +/* 800E34 802405B4 ACA80020 */ sw $t0, 0x20($a1) +/* 800E38 802405B8 246300FC */ addiu $v1, $v1, 0xfc +/* 800E3C 802405BC 30630FFF */ andi $v1, $v1, 0xfff +/* 800E40 802405C0 00031B00 */ sll $v1, $v1, 0xc +/* 800E44 802405C4 248400FC */ addiu $a0, $a0, 0xfc +/* 800E48 802405C8 30840FFF */ andi $a0, $a0, 0xfff +/* 800E4C 802405CC 00822025 */ or $a0, $a0, $v0 +/* 800E50 802405D0 00641825 */ or $v1, $v1, $a0 +/* 800E54 802405D4 ACA30014 */ sw $v1, 0x14($a1) +/* 800E58 802405D8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 800E5C 802405DC 8FB000B0 */ lw $s0, 0xb0($sp) +/* 800E60 802405E0 03E00008 */ jr $ra +/* 800E64 802405E4 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802405E8.s b/asm/nonmatchings/world/area_mac/mac_01/func_802405E8.s new file mode 100644 index 0000000000..2eb58860f7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802405E8.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E8 +/* 800E68 802405E8 3C05D9FB */ lui $a1, 0xd9fb +/* 800E6C 802405EC 3C04800A */ lui $a0, 0x800a +/* 800E70 802405F0 2484A66C */ addiu $a0, $a0, -0x5994 +/* 800E74 802405F4 8C820000 */ lw $v0, ($a0) +/* 800E78 802405F8 34A5FFFF */ ori $a1, $a1, 0xffff +/* 800E7C 802405FC 0040182D */ daddu $v1, $v0, $zero +/* 800E80 80240600 24420008 */ addiu $v0, $v0, 8 +/* 800E84 80240604 AC820000 */ sw $v0, ($a0) +/* 800E88 80240608 AC650000 */ sw $a1, ($v1) +/* 800E8C 8024060C AC600004 */ sw $zero, 4($v1) +/* 800E90 80240610 24430008 */ addiu $v1, $v0, 8 +/* 800E94 80240614 AC830000 */ sw $v1, ($a0) +/* 800E98 80240618 3C03DF00 */ lui $v1, 0xdf00 +/* 800E9C 8024061C AC430000 */ sw $v1, ($v0) +/* 800EA0 80240620 03E00008 */ jr $ra +/* 800EA4 80240624 AC400004 */ sw $zero, 4($v0) diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240628.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240628.s new file mode 100644 index 0000000000..bd419a1b75 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240628.s @@ -0,0 +1,557 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628 +/* 800EA8 80240628 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 800EAC 8024062C 2404002F */ addiu $a0, $zero, 0x2f +/* 800EB0 80240630 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 800EB4 80240634 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 800EB8 80240638 3C05800B */ lui $a1, %hi(gCameras) +/* 800EBC 8024063C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 800EC0 80240640 AFBF005C */ sw $ra, 0x5c($sp) +/* 800EC4 80240644 AFBE0058 */ sw $fp, 0x58($sp) +/* 800EC8 80240648 AFB70054 */ sw $s7, 0x54($sp) +/* 800ECC 8024064C AFB60050 */ sw $s6, 0x50($sp) +/* 800ED0 80240650 AFB5004C */ sw $s5, 0x4c($sp) +/* 800ED4 80240654 AFB40048 */ sw $s4, 0x48($sp) +/* 800ED8 80240658 AFB30044 */ sw $s3, 0x44($sp) +/* 800EDC 8024065C AFB20040 */ sw $s2, 0x40($sp) +/* 800EE0 80240660 AFB1003C */ sw $s1, 0x3c($sp) +/* 800EE4 80240664 AFB00038 */ sw $s0, 0x38($sp) +/* 800EE8 80240668 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 800EEC 8024066C F7B40060 */ sdc1 $f20, 0x60($sp) +/* 800EF0 80240670 00031080 */ sll $v0, $v1, 2 +/* 800EF4 80240674 00431021 */ addu $v0, $v0, $v1 +/* 800EF8 80240678 00021080 */ sll $v0, $v0, 2 +/* 800EFC 8024067C 00431023 */ subu $v0, $v0, $v1 +/* 800F00 80240680 000218C0 */ sll $v1, $v0, 3 +/* 800F04 80240684 00431021 */ addu $v0, $v0, $v1 +/* 800F08 80240688 000210C0 */ sll $v0, $v0, 3 +/* 800F0C 8024068C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 800F10 80240690 00458021 */ addu $s0, $v0, $a1 +/* 800F14 80240694 0C046B4C */ jal get_model_from_list_index +/* 800F18 80240698 0040202D */ daddu $a0, $v0, $zero +/* 800F1C 8024069C 27A30028 */ addiu $v1, $sp, 0x28 +/* 800F20 802406A0 AFA30014 */ sw $v1, 0x14($sp) +/* 800F24 802406A4 27A3002C */ addiu $v1, $sp, 0x2c +/* 800F28 802406A8 AFA30018 */ sw $v1, 0x18($sp) +/* 800F2C 802406AC 27A30030 */ addiu $v1, $sp, 0x30 +/* 800F30 802406B0 AFA3001C */ sw $v1, 0x1c($sp) +/* 800F34 802406B4 27A30034 */ addiu $v1, $sp, 0x34 +/* 800F38 802406B8 3C013F80 */ lui $at, 0x3f80 +/* 800F3C 802406BC 4481A000 */ mtc1 $at, $f20 +/* 800F40 802406C0 0040A82D */ daddu $s5, $v0, $zero +/* 800F44 802406C4 AFA30020 */ sw $v1, 0x20($sp) +/* 800F48 802406C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 800F4C 802406CC 8EA50098 */ lw $a1, 0x98($s5) +/* 800F50 802406D0 8EA6009C */ lw $a2, 0x9c($s5) +/* 800F54 802406D4 8EA700A0 */ lw $a3, 0xa0($s5) +/* 800F58 802406D8 0C00A588 */ jal transform_point +/* 800F5C 802406DC 260400D4 */ addiu $a0, $s0, 0xd4 +/* 800F60 802406E0 C7A40034 */ lwc1 $f4, 0x34($sp) +/* 800F64 802406E4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 800F68 802406E8 4604A103 */ div.s $f4, $f20, $f4 +/* 800F6C 802406EC 46040002 */ mul.s $f0, $f0, $f4 +/* 800F70 802406F0 00000000 */ nop +/* 800F74 802406F4 46140000 */ add.s $f0, $f0, $f20 +/* 800F78 802406F8 3C013FE0 */ lui $at, 0x3fe0 +/* 800F7C 802406FC 44811800 */ mtc1 $at, $f3 +/* 800F80 80240700 44801000 */ mtc1 $zero, $f2 +/* 800F84 80240704 46000021 */ cvt.d.s $f0, $f0 +/* 800F88 80240708 46220002 */ mul.d $f0, $f0, $f2 +/* 800F8C 8024070C 00000000 */ nop +/* 800F90 80240710 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 800F94 80240714 46041282 */ mul.s $f10, $f2, $f4 +/* 800F98 80240718 00000000 */ nop +/* 800F9C 8024071C C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 800FA0 80240720 46002087 */ neg.s $f2, $f4 +/* 800FA4 80240724 46023182 */ mul.s $f6, $f6, $f2 +/* 800FA8 80240728 00000000 */ nop +/* 800FAC 8024072C 44804000 */ mtc1 $zero, $f8 +/* 800FB0 80240730 E7A40034 */ swc1 $f4, 0x34($sp) +/* 800FB4 80240734 E7AA0028 */ swc1 $f10, 0x28($sp) +/* 800FB8 80240738 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 800FBC 8024073C 46200020 */ cvt.s.d $f0, $f0 +/* 800FC0 80240740 4600403C */ c.lt.s $f8, $f0 +/* 800FC4 80240744 00000000 */ nop +/* 800FC8 80240748 450001BD */ bc1f .L80240E40 +/* 800FCC 8024074C E7A00030 */ swc1 $f0, 0x30($sp) +/* 800FD0 80240750 8603000A */ lh $v1, 0xa($s0) +/* 800FD4 80240754 44831000 */ mtc1 $v1, $f2 +/* 800FD8 80240758 00000000 */ nop +/* 800FDC 8024075C 468010A0 */ cvt.s.w $f2, $f2 +/* 800FE0 80240760 46025002 */ mul.s $f0, $f10, $f2 +/* 800FE4 80240764 00000000 */ nop +/* 800FE8 80240768 46020000 */ add.s $f0, $f0, $f2 +/* 800FEC 8024076C 3C013F00 */ lui $at, 0x3f00 +/* 800FF0 80240770 44812000 */ mtc1 $at, $f4 +/* 800FF4 80240774 00000000 */ nop +/* 800FF8 80240778 46040502 */ mul.s $f20, $f0, $f4 +/* 800FFC 8024077C 00000000 */ nop +/* 801000 80240780 8604000C */ lh $a0, 0xc($s0) +/* 801004 80240784 44841000 */ mtc1 $a0, $f2 +/* 801008 80240788 00000000 */ nop +/* 80100C 8024078C 468010A0 */ cvt.s.w $f2, $f2 +/* 801010 80240790 46023002 */ mul.s $f0, $f6, $f2 +/* 801014 80240794 00000000 */ nop +/* 801018 80240798 46020000 */ add.s $f0, $f0, $f2 +/* 80101C 8024079C 46040582 */ mul.s $f22, $f0, $f4 +/* 801020 802407A0 00000000 */ nop +/* 801024 802407A4 4600A086 */ mov.s $f2, $f20 +/* 801028 802407A8 4608A03C */ c.lt.s $f20, $f8 +/* 80102C 802407AC 00000000 */ nop +/* 801030 802407B0 45000002 */ bc1f .L802407BC +/* 801034 802407B4 4600B106 */ mov.s $f4, $f22 +/* 801038 802407B8 46004506 */ mov.s $f20, $f8 +.L802407BC: +/* 80103C 802407BC 3C014080 */ lui $at, 0x4080 +/* 801040 802407C0 44810000 */ mtc1 $at, $f0 +/* 801044 802407C4 00000000 */ nop +/* 801048 802407C8 4600103C */ c.lt.s $f2, $f0 +/* 80104C 802407CC 00000000 */ nop +/* 801050 802407D0 45030001 */ bc1tl .L802407D8 +/* 801054 802407D4 46000086 */ mov.s $f2, $f0 +.L802407D8: +/* 801058 802407D8 4608B03C */ c.lt.s $f22, $f8 +/* 80105C 802407DC 00000000 */ nop +/* 801060 802407E0 45030001 */ bc1tl .L802407E8 +/* 801064 802407E4 46004586 */ mov.s $f22, $f8 +.L802407E8: +/* 801068 802407E8 4600203C */ c.lt.s $f4, $f0 +/* 80106C 802407EC 00000000 */ nop +/* 801070 802407F0 45030001 */ bc1tl .L802407F8 +/* 801074 802407F4 46000106 */ mov.s $f4, $f0 +.L802407F8: +/* 801078 802407F8 2462FFFC */ addiu $v0, $v1, -4 +/* 80107C 802407FC 44820000 */ mtc1 $v0, $f0 +/* 801080 80240800 00000000 */ nop +/* 801084 80240804 46800020 */ cvt.s.w $f0, $f0 +/* 801088 80240808 4614003E */ c.le.s $f0, $f20 +/* 80108C 8024080C 00000000 */ nop +/* 801090 80240810 45000004 */ bc1f .L80240824 +/* 801094 80240814 2462FFFB */ addiu $v0, $v1, -5 +/* 801098 80240818 4482A000 */ mtc1 $v0, $f20 +/* 80109C 8024081C 00000000 */ nop +/* 8010A0 80240820 4680A520 */ cvt.s.w $f20, $f20 +.L80240824: +/* 8010A4 80240824 2482FFFC */ addiu $v0, $a0, -4 +/* 8010A8 80240828 44820000 */ mtc1 $v0, $f0 +/* 8010AC 8024082C 00000000 */ nop +/* 8010B0 80240830 46800020 */ cvt.s.w $f0, $f0 +/* 8010B4 80240834 4616003E */ c.le.s $f0, $f22 +/* 8010B8 80240838 00000000 */ nop +/* 8010BC 8024083C 45000004 */ bc1f .L80240850 +/* 8010C0 80240840 2482FFFB */ addiu $v0, $a0, -5 +/* 8010C4 80240844 4482B000 */ mtc1 $v0, $f22 +/* 8010C8 80240848 00000000 */ nop +/* 8010CC 8024084C 4680B5A0 */ cvt.s.w $f22, $f22 +.L80240850: +/* 8010D0 80240850 3C05E300 */ lui $a1, 0xe300 +/* 8010D4 80240854 34A50A01 */ ori $a1, $a1, 0xa01 +/* 8010D8 80240858 3C13E200 */ lui $s3, 0xe200 +/* 8010DC 8024085C 3673001C */ ori $s3, $s3, 0x1c +/* 8010E0 80240860 3C060F0A */ lui $a2, 0xf0a +/* 8010E4 80240864 34C64010 */ ori $a2, $a2, 0x4010 +/* 8010E8 80240868 3C12FF10 */ lui $s2, 0xff10 +/* 8010EC 8024086C 3652013F */ ori $s2, $s2, 0x13f +/* 8010F0 80240870 3C17FCFF */ lui $s7, 0xfcff +/* 8010F4 80240874 36F7FFFF */ ori $s7, $s7, 0xffff +/* 8010F8 80240878 3C14800A */ lui $s4, 0x800a +/* 8010FC 8024087C 2694A66C */ addiu $s4, $s4, -0x5994 +/* 801100 80240880 8E910000 */ lw $s1, ($s4) +/* 801104 80240884 8602000E */ lh $v0, 0xe($s0) +/* 801108 80240888 3C04800A */ lui $a0, %hi(nuGfxZBuffer) +/* 80110C 8024088C 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0) +/* 801110 80240890 44820000 */ mtc1 $v0, $f0 +/* 801114 80240894 00000000 */ nop +/* 801118 80240898 46800020 */ cvt.s.w $f0, $f0 +/* 80111C 8024089C 0220182D */ daddu $v1, $s1, $zero +/* 801120 802408A0 26310008 */ addiu $s1, $s1, 8 +/* 801124 802408A4 86020010 */ lh $v0, 0x10($s0) +/* 801128 802408A8 4600A500 */ add.s $f20, $f20, $f0 +/* 80112C 802408AC AE910000 */ sw $s1, ($s4) +/* 801130 802408B0 AC650000 */ sw $a1, ($v1) +/* 801134 802408B4 AC600004 */ sw $zero, 4($v1) +/* 801138 802408B8 44820000 */ mtc1 $v0, $f0 +/* 80113C 802408BC 00000000 */ nop +/* 801140 802408C0 46800020 */ cvt.s.w $f0, $f0 +/* 801144 802408C4 26220008 */ addiu $v0, $s1, 8 +/* 801148 802408C8 AE820000 */ sw $v0, ($s4) +/* 80114C 802408CC 26220010 */ addiu $v0, $s1, 0x10 +/* 801150 802408D0 4600B580 */ add.s $f22, $f22, $f0 +/* 801154 802408D4 AE330000 */ sw $s3, ($s1) +/* 801158 802408D8 AE260004 */ sw $a2, 4($s1) +/* 80115C 802408DC AE820000 */ sw $v0, ($s4) +/* 801160 802408E0 0C0187A4 */ jal osVirtualToPhysical +/* 801164 802408E4 AE320008 */ sw $s2, 8($s1) +/* 801168 802408E8 3C03FFFD */ lui $v1, 0xfffd +/* 80116C 802408EC 3463FEFF */ ori $v1, $v1, 0xfeff +/* 801170 802408F0 3C05F8F0 */ lui $a1, 0xf8f0 +/* 801174 802408F4 3C1E800A */ lui $fp, 0x800a +/* 801178 802408F8 27DEA64C */ addiu $fp, $fp, -0x59b4 +/* 80117C 802408FC 34A5F000 */ ori $a1, $a1, 0xf000 +/* 801180 80240900 8E900000 */ lw $s0, ($s4) +/* 801184 80240904 8FC40000 */ lw $a0, ($fp) +/* 801188 80240908 3C16E700 */ lui $s6, 0xe700 +/* 80118C 8024090C AE22000C */ sw $v0, 0xc($s1) +/* 801190 80240910 0200102D */ daddu $v0, $s0, $zero +/* 801194 80240914 26100008 */ addiu $s0, $s0, 8 +/* 801198 80240918 AE900000 */ sw $s0, ($s4) +/* 80119C 8024091C AC570000 */ sw $s7, ($v0) +/* 8011A0 80240920 AC430004 */ sw $v1, 4($v0) +/* 8011A4 80240924 26020008 */ addiu $v0, $s0, 8 +/* 8011A8 80240928 AE820000 */ sw $v0, ($s4) +/* 8011AC 8024092C 3C02FA00 */ lui $v0, 0xfa00 +/* 8011B0 80240930 AE020000 */ sw $v0, ($s0) +/* 8011B4 80240934 26020010 */ addiu $v0, $s0, 0x10 +/* 8011B8 80240938 AE050004 */ sw $a1, 4($s0) +/* 8011BC 8024093C AE820000 */ sw $v0, ($s4) +/* 8011C0 80240940 3C02DE00 */ lui $v0, 0xde00 +/* 8011C4 80240944 AE160008 */ sw $s6, 8($s0) +/* 8011C8 80240948 AE00000C */ sw $zero, 0xc($s0) +/* 8011CC 8024094C AE020010 */ sw $v0, 0x10($s0) +/* 8011D0 80240950 8EA30008 */ lw $v1, 8($s5) +/* 8011D4 80240954 26020018 */ addiu $v0, $s0, 0x18 +/* 8011D8 80240958 AE820000 */ sw $v0, ($s4) +/* 8011DC 8024095C 8C630004 */ lw $v1, 4($v1) +/* 8011E0 80240960 26020020 */ addiu $v0, $s0, 0x20 +/* 8011E4 80240964 AE820000 */ sw $v0, ($s4) +/* 8011E8 80240968 8C630000 */ lw $v1, ($v1) +/* 8011EC 8024096C 26020028 */ addiu $v0, $s0, 0x28 +/* 8011F0 80240970 AE820000 */ sw $v0, ($s4) +/* 8011F4 80240974 AE160018 */ sw $s6, 0x18($s0) +/* 8011F8 80240978 AE00001C */ sw $zero, 0x1c($s0) +/* 8011FC 8024097C AE120020 */ sw $s2, 0x20($s0) +/* 801200 80240980 0C0187A4 */ jal osVirtualToPhysical +/* 801204 80240984 AE030014 */ sw $v1, 0x14($s0) +/* 801208 80240988 3C04E200 */ lui $a0, 0xe200 +/* 80120C 8024098C 34841D00 */ ori $a0, $a0, 0x1d00 +/* 801210 80240990 3C050055 */ lui $a1, 0x55 +/* 801214 80240994 34A52E10 */ ori $a1, $a1, 0x2e10 +/* 801218 80240998 3C06E300 */ lui $a2, 0xe300 +/* 80121C 8024099C 34C61201 */ ori $a2, $a2, 0x1201 +/* 801220 802409A0 3C07E300 */ lui $a3, 0xe300 +/* 801224 802409A4 34E70C00 */ ori $a3, $a3, 0xc00 +/* 801228 802409A8 3C08D700 */ lui $t0, 0xd700 +/* 80122C 802409AC 35080002 */ ori $t0, $t0, 2 +/* 801230 802409B0 3C09E300 */ lui $t1, 0xe300 +/* 801234 802409B4 35291001 */ ori $t1, $t1, 0x1001 +/* 801238 802409B8 3C0AE300 */ lui $t2, 0xe300 +/* 80123C 802409BC 354A0D01 */ ori $t2, $t2, 0xd01 +/* 801240 802409C0 3C0BE300 */ lui $t3, 0xe300 +/* 801244 802409C4 8E910000 */ lw $s1, ($s4) +/* 801248 802409C8 356B0F00 */ ori $t3, $t3, 0xf00 +/* 80124C 802409CC AE020024 */ sw $v0, 0x24($s0) +/* 801250 802409D0 24020004 */ addiu $v0, $zero, 4 +/* 801254 802409D4 3C013D00 */ lui $at, 0x3d00 +/* 801258 802409D8 44810000 */ mtc1 $at, $f0 +/* 80125C 802409DC 3C014200 */ lui $at, 0x4200 +/* 801260 802409E0 44811000 */ mtc1 $at, $f2 +/* 801264 802409E4 0220182D */ daddu $v1, $s1, $zero +/* 801268 802409E8 26310008 */ addiu $s1, $s1, 8 +/* 80126C 802409EC AE910000 */ sw $s1, ($s4) +/* 801270 802409F0 AC620004 */ sw $v0, 4($v1) +/* 801274 802409F4 26220008 */ addiu $v0, $s1, 8 +/* 801278 802409F8 AC640000 */ sw $a0, ($v1) +/* 80127C 802409FC AE820000 */ sw $v0, ($s4) +/* 801280 80240A00 3C02EE00 */ lui $v0, 0xee00 +/* 801284 80240A04 AE220000 */ sw $v0, ($s1) +/* 801288 80240A08 3C027FDE */ lui $v0, 0x7fde +/* 80128C 80240A0C AE220004 */ sw $v0, 4($s1) +/* 801290 80240A10 26220010 */ addiu $v0, $s1, 0x10 +/* 801294 80240A14 AE820000 */ sw $v0, ($s4) +/* 801298 80240A18 26220018 */ addiu $v0, $s1, 0x18 +/* 80129C 80240A1C AE330008 */ sw $s3, 8($s1) +/* 8012A0 80240A20 AE25000C */ sw $a1, 0xc($s1) +/* 8012A4 80240A24 AE820000 */ sw $v0, ($s4) +/* 8012A8 80240A28 26220020 */ addiu $v0, $s1, 0x20 +/* 8012AC 80240A2C AE260010 */ sw $a2, 0x10($s1) +/* 8012B0 80240A30 AE200014 */ sw $zero, 0x14($s1) +/* 8012B4 80240A34 AE820000 */ sw $v0, ($s4) +/* 8012B8 80240A38 26220028 */ addiu $v0, $s1, 0x28 +/* 8012BC 80240A3C 4600A102 */ mul.s $f4, $f20, $f0 +/* 8012C0 80240A40 00000000 */ nop +/* 8012C4 80240A44 AE270018 */ sw $a3, 0x18($s1) +/* 8012C8 80240A48 AE20001C */ sw $zero, 0x1c($s1) +/* 8012CC 80240A4C AE820000 */ sw $v0, ($s4) +/* 8012D0 80240A50 2402FFFF */ addiu $v0, $zero, -1 +/* 8012D4 80240A54 AE220024 */ sw $v0, 0x24($s1) +/* 8012D8 80240A58 26220030 */ addiu $v0, $s1, 0x30 +/* 8012DC 80240A5C 4600B002 */ mul.s $f0, $f22, $f0 +/* 8012E0 80240A60 00000000 */ nop +/* 8012E4 80240A64 AE280020 */ sw $t0, 0x20($s1) +/* 8012E8 80240A68 AE820000 */ sw $v0, ($s4) +/* 8012EC 80240A6C 26220038 */ addiu $v0, $s1, 0x38 +/* 8012F0 80240A70 AE290028 */ sw $t1, 0x28($s1) +/* 8012F4 80240A74 AE20002C */ sw $zero, 0x2c($s1) +/* 8012F8 80240A78 AE820000 */ sw $v0, ($s4) +/* 8012FC 80240A7C 46022102 */ mul.s $f4, $f4, $f2 +/* 801300 80240A80 00000000 */ nop +/* 801304 80240A84 26220040 */ addiu $v0, $s1, 0x40 +/* 801308 80240A88 AE2A0030 */ sw $t2, 0x30($s1) +/* 80130C 80240A8C AE200034 */ sw $zero, 0x34($s1) +/* 801310 80240A90 AE820000 */ sw $v0, ($s4) +/* 801314 80240A94 46020002 */ mul.s $f0, $f0, $f2 +/* 801318 80240A98 00000000 */ nop +/* 80131C 80240A9C 3C014100 */ lui $at, 0x4100 +/* 801320 80240AA0 44811000 */ mtc1 $at, $f2 +/* 801324 80240AA4 26220048 */ addiu $v0, $s1, 0x48 +/* 801328 80240AA8 AE2B0038 */ sw $t3, 0x38($s1) +/* 80132C 80240AAC AE20003C */ sw $zero, 0x3c($s1) +/* 801330 80240AB0 46022101 */ sub.s $f4, $f4, $f2 +/* 801334 80240AB4 AE820000 */ sw $v0, ($s4) +/* 801338 80240AB8 AE360040 */ sw $s6, 0x40($s1) +/* 80133C 80240ABC 46020001 */ sub.s $f0, $f0, $f2 +/* 801340 80240AC0 4600230D */ trunc.w.s $f12, $f4 +/* 801344 80240AC4 44106000 */ mfc1 $s0, $f12 +/* 801348 80240AC8 4600030D */ trunc.w.s $f12, $f0 +/* 80134C 80240ACC 44126000 */ mfc1 $s2, $f12 +/* 801350 80240AD0 060000AF */ bltz $s0, .L80240D90 +/* 801354 80240AD4 AE200044 */ sw $zero, 0x44($s1) +/* 801358 80240AD8 064000AD */ bltz $s2, .L80240D90 +/* 80135C 80240ADC 26020028 */ addiu $v0, $s0, 0x28 +/* 801360 80240AE0 28420140 */ slti $v0, $v0, 0x140 +/* 801364 80240AE4 104000AA */ beqz $v0, .L80240D90 +/* 801368 80240AE8 26420028 */ addiu $v0, $s2, 0x28 +/* 80136C 80240AEC 284200F0 */ slti $v0, $v0, 0xf0 +/* 801370 80240AF0 104000A7 */ beqz $v0, .L80240D90 +/* 801374 80240AF4 3C03FD10 */ lui $v1, 0xfd10 +/* 801378 80240AF8 3463013F */ ori $v1, $v1, 0x13f +/* 80137C 80240AFC 8FC40000 */ lw $a0, ($fp) +/* 801380 80240B00 26220050 */ addiu $v0, $s1, 0x50 +/* 801384 80240B04 AE820000 */ sw $v0, ($s4) +/* 801388 80240B08 0C0187A4 */ jal osVirtualToPhysical +/* 80138C 80240B0C AE230048 */ sw $v1, 0x48($s1) +/* 801390 80240B10 3C08F510 */ lui $t0, 0xf510 +/* 801394 80240B14 35081000 */ ori $t0, $t0, 0x1000 +/* 801398 80240B18 3C040701 */ lui $a0, 0x701 +/* 80139C 80240B1C 34844050 */ ori $a0, $a0, 0x4050 +/* 8013A0 80240B20 3C090001 */ lui $t1, 1 +/* 8013A4 80240B24 35294050 */ ori $t1, $t1, 0x4050 +/* 8013A8 80240B28 3C0AFFFC */ lui $t2, 0xfffc +/* 8013AC 80240B2C 354AFE7F */ ori $t2, $t2, 0xfe7f +/* 8013B0 80240B30 00102880 */ sll $a1, $s0, 2 +/* 8013B4 80240B34 30A50FFF */ andi $a1, $a1, 0xfff +/* 8013B8 80240B38 00052B00 */ sll $a1, $a1, 0xc +/* 8013BC 80240B3C 00123880 */ sll $a3, $s2, 2 +/* 8013C0 80240B40 30E70FFF */ andi $a3, $a3, 0xfff +/* 8013C4 80240B44 2646001F */ addiu $a2, $s2, 0x1f +/* 8013C8 80240B48 00063080 */ sll $a2, $a2, 2 +/* 8013CC 80240B4C 8E830000 */ lw $v1, ($s4) +/* 8013D0 80240B50 30C60FFF */ andi $a2, $a2, 0xfff +/* 8013D4 80240B54 AE22004C */ sw $v0, 0x4c($s1) +/* 8013D8 80240B58 0060102D */ daddu $v0, $v1, $zero +/* 8013DC 80240B5C 24630008 */ addiu $v1, $v1, 8 +/* 8013E0 80240B60 AE830000 */ sw $v1, ($s4) +/* 8013E4 80240B64 AC480000 */ sw $t0, ($v0) +/* 8013E8 80240B68 AC440004 */ sw $a0, 4($v0) +/* 8013EC 80240B6C 24620008 */ addiu $v0, $v1, 8 +/* 8013F0 80240B70 AE820000 */ sw $v0, ($s4) +/* 8013F4 80240B74 3C02E600 */ lui $v0, 0xe600 +/* 8013F8 80240B78 AC620000 */ sw $v0, ($v1) +/* 8013FC 80240B7C 24620010 */ addiu $v0, $v1, 0x10 +/* 801400 80240B80 AC600004 */ sw $zero, 4($v1) +/* 801404 80240B84 AE820000 */ sw $v0, ($s4) +/* 801408 80240B88 3C02F400 */ lui $v0, 0xf400 +/* 80140C 80240B8C 00E21025 */ or $v0, $a3, $v0 +/* 801410 80240B90 00A21025 */ or $v0, $a1, $v0 +/* 801414 80240B94 2604001F */ addiu $a0, $s0, 0x1f +/* 801418 80240B98 00042080 */ sll $a0, $a0, 2 +/* 80141C 80240B9C 30840FFF */ andi $a0, $a0, 0xfff +/* 801420 80240BA0 00042300 */ sll $a0, $a0, 0xc +/* 801424 80240BA4 AC620008 */ sw $v0, 8($v1) +/* 801428 80240BA8 3C020700 */ lui $v0, 0x700 +/* 80142C 80240BAC 00C21025 */ or $v0, $a2, $v0 +/* 801430 80240BB0 00821025 */ or $v0, $a0, $v0 +/* 801434 80240BB4 AC62000C */ sw $v0, 0xc($v1) +/* 801438 80240BB8 24620018 */ addiu $v0, $v1, 0x18 +/* 80143C 80240BBC AE820000 */ sw $v0, ($s4) +/* 801440 80240BC0 24620020 */ addiu $v0, $v1, 0x20 +/* 801444 80240BC4 AC760010 */ sw $s6, 0x10($v1) +/* 801448 80240BC8 AC600014 */ sw $zero, 0x14($v1) +/* 80144C 80240BCC AE820000 */ sw $v0, ($s4) +/* 801450 80240BD0 24620028 */ addiu $v0, $v1, 0x28 +/* 801454 80240BD4 AC680018 */ sw $t0, 0x18($v1) +/* 801458 80240BD8 AC69001C */ sw $t1, 0x1c($v1) +/* 80145C 80240BDC AE820000 */ sw $v0, ($s4) +/* 801460 80240BE0 3C02F200 */ lui $v0, 0xf200 +/* 801464 80240BE4 00E23825 */ or $a3, $a3, $v0 +/* 801468 80240BE8 00A72825 */ or $a1, $a1, $a3 +/* 80146C 80240BEC 00862025 */ or $a0, $a0, $a2 +/* 801470 80240BF0 24620030 */ addiu $v0, $v1, 0x30 +/* 801474 80240BF4 AC650020 */ sw $a1, 0x20($v1) +/* 801478 80240BF8 AC640024 */ sw $a0, 0x24($v1) +/* 80147C 80240BFC AE820000 */ sw $v0, ($s4) +/* 801480 80240C00 AC770028 */ sw $s7, 0x28($v1) +/* 801484 80240C04 AC6A002C */ sw $t2, 0x2c($v1) +/* 801488 80240C08 24630038 */ addiu $v1, $v1, 0x38 +/* 80148C 80240C0C 0040202D */ daddu $a0, $v0, $zero +/* 801490 80240C10 26020018 */ addiu $v0, $s0, 0x18 +/* 801494 80240C14 00021480 */ sll $v0, $v0, 0x12 +/* 801498 80240C18 00021403 */ sra $v0, $v0, 0x10 +/* 80149C 80240C1C 18400006 */ blez $v0, .L80240C38 +/* 8014A0 80240C20 AE830000 */ sw $v1, ($s4) +/* 8014A4 80240C24 30420FFF */ andi $v0, $v0, 0xfff +/* 8014A8 80240C28 00021300 */ sll $v0, $v0, 0xc +/* 8014AC 80240C2C 3C03E400 */ lui $v1, 0xe400 +/* 8014B0 80240C30 0809030F */ j .L80240C3C +/* 8014B4 80240C34 00431825 */ or $v1, $v0, $v1 +.L80240C38: +/* 8014B8 80240C38 3C03E400 */ lui $v1, 0xe400 +.L80240C3C: +/* 8014BC 80240C3C 26420018 */ addiu $v0, $s2, 0x18 +/* 8014C0 80240C40 00021480 */ sll $v0, $v0, 0x12 +/* 8014C4 80240C44 00021403 */ sra $v0, $v0, 0x10 +/* 8014C8 80240C48 18400004 */ blez $v0, .L80240C5C +/* 8014CC 80240C4C AC830000 */ sw $v1, ($a0) +/* 8014D0 80240C50 30420FFF */ andi $v0, $v0, 0xfff +/* 8014D4 80240C54 00621025 */ or $v0, $v1, $v0 +/* 8014D8 80240C58 AC820000 */ sw $v0, ($a0) +.L80240C5C: +/* 8014DC 80240C5C 2602FFF8 */ addiu $v0, $s0, -8 +/* 8014E0 80240C60 00021480 */ sll $v0, $v0, 0x12 +/* 8014E4 80240C64 00021403 */ sra $v0, $v0, 0x10 +/* 8014E8 80240C68 18400004 */ blez $v0, .L80240C7C +/* 8014EC 80240C6C 24840004 */ addiu $a0, $a0, 4 +/* 8014F0 80240C70 30420FFF */ andi $v0, $v0, 0xfff +/* 8014F4 80240C74 08090320 */ j .L80240C80 +/* 8014F8 80240C78 00021B00 */ sll $v1, $v0, 0xc +.L80240C7C: +/* 8014FC 80240C7C 0000182D */ daddu $v1, $zero, $zero +.L80240C80: +/* 801500 80240C80 2642FFF8 */ addiu $v0, $s2, -8 +/* 801504 80240C84 00021480 */ sll $v0, $v0, 0x12 +/* 801508 80240C88 00021403 */ sra $v0, $v0, 0x10 +/* 80150C 80240C8C 18400004 */ blez $v0, .L80240CA0 +/* 801510 80240C90 AC830000 */ sw $v1, ($a0) +/* 801514 80240C94 30420FFF */ andi $v0, $v0, 0xfff +/* 801518 80240C98 00621025 */ or $v0, $v1, $v0 +/* 80151C 80240C9C AC820000 */ sw $v0, ($a0) +.L80240CA0: +/* 801520 80240CA0 3C03800A */ lui $v1, 0x800a +/* 801524 80240CA4 2463A66C */ addiu $v1, $v1, -0x5994 +/* 801528 80240CA8 8C620000 */ lw $v0, ($v1) +/* 80152C 80240CAC 0040202D */ daddu $a0, $v0, $zero +/* 801530 80240CB0 24420008 */ addiu $v0, $v0, 8 +/* 801534 80240CB4 AC620000 */ sw $v0, ($v1) +/* 801538 80240CB8 3C02E100 */ lui $v0, 0xe100 +/* 80153C 80240CBC AC820000 */ sw $v0, ($a0) +/* 801540 80240CC0 3242001F */ andi $v0, $s2, 0x1f +/* 801544 80240CC4 00023140 */ sll $a2, $v0, 5 +/* 801548 80240CC8 3202001F */ andi $v0, $s0, 0x1f +/* 80154C 80240CCC 00022940 */ sll $a1, $v0, 5 +/* 801550 80240CD0 2602FFF8 */ addiu $v0, $s0, -8 +/* 801554 80240CD4 00021480 */ sll $v0, $v0, 0x12 +/* 801558 80240CD8 00021C03 */ sra $v1, $v0, 0x10 +/* 80155C 80240CDC 0461000D */ bgez $v1, .L80240D14 +/* 801560 80240CE0 24840004 */ addiu $a0, $a0, 4 +/* 801564 80240CE4 00031040 */ sll $v0, $v1, 1 +/* 801568 80240CE8 00431021 */ addu $v0, $v0, $v1 +/* 80156C 80240CEC 00021080 */ sll $v0, $v0, 2 +/* 801570 80240CF0 00431023 */ subu $v0, $v0, $v1 +/* 801574 80240CF4 00021100 */ sll $v0, $v0, 4 +/* 801578 80240CF8 00431023 */ subu $v0, $v0, $v1 +/* 80157C 80240CFC 00021143 */ sra $v0, $v0, 5 +/* 801580 80240D00 5C400001 */ bgtzl $v0, .L80240D08 +/* 801584 80240D04 0000102D */ daddu $v0, $zero, $zero +.L80240D08: +/* 801588 80240D08 00A21023 */ subu $v0, $a1, $v0 +/* 80158C 80240D0C 08090346 */ j .L80240D18 +/* 801590 80240D10 00022C00 */ sll $a1, $v0, 0x10 +.L80240D14: +/* 801594 80240D14 00052C00 */ sll $a1, $a1, 0x10 +.L80240D18: +/* 801598 80240D18 2643FFF8 */ addiu $v1, $s2, -8 +/* 80159C 80240D1C 00031080 */ sll $v0, $v1, 2 +/* 8015A0 80240D20 0441000F */ bgez $v0, .L80240D60 +/* 8015A4 80240D24 00A61025 */ or $v0, $a1, $a2 +/* 8015A8 80240D28 00031C80 */ sll $v1, $v1, 0x12 +/* 8015AC 80240D2C 00031C03 */ sra $v1, $v1, 0x10 +/* 8015B0 80240D30 00031040 */ sll $v0, $v1, 1 +/* 8015B4 80240D34 00431021 */ addu $v0, $v0, $v1 +/* 8015B8 80240D38 00021080 */ sll $v0, $v0, 2 +/* 8015BC 80240D3C 00431023 */ subu $v0, $v0, $v1 +/* 8015C0 80240D40 00021100 */ sll $v0, $v0, 4 +/* 8015C4 80240D44 00431023 */ subu $v0, $v0, $v1 +/* 8015C8 80240D48 00021143 */ sra $v0, $v0, 5 +/* 8015CC 80240D4C 5C400001 */ bgtzl $v0, .L80240D54 +/* 8015D0 80240D50 0000102D */ daddu $v0, $zero, $zero +.L80240D54: +/* 8015D4 80240D54 00C21023 */ subu $v0, $a2, $v0 +/* 8015D8 80240D58 3042FFFF */ andi $v0, $v0, 0xffff +/* 8015DC 80240D5C 00A21025 */ or $v0, $a1, $v0 +.L80240D60: +/* 8015E0 80240D60 AC820000 */ sw $v0, ($a0) +/* 8015E4 80240D64 3C0502BC */ lui $a1, 0x2bc +/* 8015E8 80240D68 3C03800A */ lui $v1, 0x800a +/* 8015EC 80240D6C 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8015F0 80240D70 8C620000 */ lw $v0, ($v1) +/* 8015F4 80240D74 34A502BC */ ori $a1, $a1, 0x2bc +/* 8015F8 80240D78 0040202D */ daddu $a0, $v0, $zero +/* 8015FC 80240D7C 24420008 */ addiu $v0, $v0, 8 +/* 801600 80240D80 AC620000 */ sw $v0, ($v1) +/* 801604 80240D84 3C02F100 */ lui $v0, 0xf100 +/* 801608 80240D88 AC820000 */ sw $v0, ($a0) +/* 80160C 80240D8C AC850004 */ sw $a1, 4($a0) +.L80240D90: +/* 801610 80240D90 3C06E200 */ lui $a2, 0xe200 +/* 801614 80240D94 34C61D00 */ ori $a2, $a2, 0x1d00 +/* 801618 80240D98 3C09E200 */ lui $t1, 0xe200 +/* 80161C 80240D9C 3529001C */ ori $t1, $t1, 0x1c +/* 801620 80240DA0 3C070050 */ lui $a3, 0x50 +/* 801624 80240DA4 34E749D8 */ ori $a3, $a3, 0x49d8 +/* 801628 80240DA8 3C0AFCFF */ lui $t2, 0xfcff +/* 80162C 80240DAC 354AFFFF */ ori $t2, $t2, 0xffff +/* 801630 80240DB0 3C08FFFE */ lui $t0, 0xfffe +/* 801634 80240DB4 3508793C */ ori $t0, $t0, 0x793c +/* 801638 80240DB8 3C0BE300 */ lui $t3, 0xe300 +/* 80163C 80240DBC 3C04800A */ lui $a0, 0x800a +/* 801640 80240DC0 2484A66C */ addiu $a0, $a0, -0x5994 +/* 801644 80240DC4 356B0C00 */ ori $t3, $t3, 0xc00 +/* 801648 80240DC8 8C820000 */ lw $v0, ($a0) +/* 80164C 80240DCC 3C03E700 */ lui $v1, 0xe700 +/* 801650 80240DD0 0040282D */ daddu $a1, $v0, $zero +/* 801654 80240DD4 24420008 */ addiu $v0, $v0, 8 +/* 801658 80240DD8 AC820000 */ sw $v0, ($a0) +/* 80165C 80240DDC ACA30000 */ sw $v1, ($a1) +/* 801660 80240DE0 24430008 */ addiu $v1, $v0, 8 +/* 801664 80240DE4 ACA00004 */ sw $zero, 4($a1) +/* 801668 80240DE8 AC830000 */ sw $v1, ($a0) +/* 80166C 80240DEC 24430010 */ addiu $v1, $v0, 0x10 +/* 801670 80240DF0 AC460000 */ sw $a2, ($v0) +/* 801674 80240DF4 AC400004 */ sw $zero, 4($v0) +/* 801678 80240DF8 AC830000 */ sw $v1, ($a0) +/* 80167C 80240DFC 24430018 */ addiu $v1, $v0, 0x18 +/* 801680 80240E00 AC490008 */ sw $t1, 8($v0) +/* 801684 80240E04 AC47000C */ sw $a3, 0xc($v0) +/* 801688 80240E08 AC830000 */ sw $v1, ($a0) +/* 80168C 80240E0C 24430020 */ addiu $v1, $v0, 0x20 +/* 801690 80240E10 AC4A0010 */ sw $t2, 0x10($v0) +/* 801694 80240E14 AC480014 */ sw $t0, 0x14($v0) +/* 801698 80240E18 AC830000 */ sw $v1, ($a0) +/* 80169C 80240E1C 3C030008 */ lui $v1, 8 +/* 8016A0 80240E20 AC43001C */ sw $v1, 0x1c($v0) +/* 8016A4 80240E24 24430028 */ addiu $v1, $v0, 0x28 +/* 8016A8 80240E28 AC4B0018 */ sw $t3, 0x18($v0) +/* 8016AC 80240E2C AC830000 */ sw $v1, ($a0) +/* 8016B0 80240E30 3C03D700 */ lui $v1, 0xd700 +/* 8016B4 80240E34 AC430020 */ sw $v1, 0x20($v0) +/* 8016B8 80240E38 2403FFFF */ addiu $v1, $zero, -1 +/* 8016BC 80240E3C AC430024 */ sw $v1, 0x24($v0) +.L80240E40: +/* 8016C0 80240E40 8FBF005C */ lw $ra, 0x5c($sp) +/* 8016C4 80240E44 8FBE0058 */ lw $fp, 0x58($sp) +/* 8016C8 80240E48 8FB70054 */ lw $s7, 0x54($sp) +/* 8016CC 80240E4C 8FB60050 */ lw $s6, 0x50($sp) +/* 8016D0 80240E50 8FB5004C */ lw $s5, 0x4c($sp) +/* 8016D4 80240E54 8FB40048 */ lw $s4, 0x48($sp) +/* 8016D8 80240E58 8FB30044 */ lw $s3, 0x44($sp) +/* 8016DC 80240E5C 8FB20040 */ lw $s2, 0x40($sp) +/* 8016E0 80240E60 8FB1003C */ lw $s1, 0x3c($sp) +/* 8016E4 80240E64 8FB00038 */ lw $s0, 0x38($sp) +/* 8016E8 80240E68 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 8016EC 80240E6C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 8016F0 80240E70 03E00008 */ jr $ra +/* 8016F4 80240E74 27BD0070 */ addiu $sp, $sp, 0x70 +/* 8016F8 80240E78 00000000 */ nop +/* 8016FC 80240E7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240E80.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240E80.s new file mode 100644 index 0000000000..390f3e16ce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240E80.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80 +/* 801700 80240E80 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 801704 80240E84 AFB00010 */ sw $s0, 0x10($sp) +/* 801708 80240E88 0080802D */ daddu $s0, $a0, $zero +/* 80170C 80240E8C 3C05F5DE */ lui $a1, 0xf5de +/* 801710 80240E90 AFBF0014 */ sw $ra, 0x14($sp) +/* 801714 80240E94 0C0B1EAF */ jal get_variable +/* 801718 80240E98 34A502DD */ ori $a1, $a1, 0x2dd +/* 80171C 80240E9C 3C048025 */ lui $a0, 0x8025 +/* 801720 80240EA0 248485E8 */ addiu $a0, $a0, -0x7a18 +/* 801724 80240EA4 00021840 */ sll $v1, $v0, 1 +/* 801728 80240EA8 00621821 */ addu $v1, $v1, $v0 +/* 80172C 80240EAC 00031880 */ sll $v1, $v1, 2 +/* 801730 80240EB0 00641821 */ addu $v1, $v1, $a0 +/* 801734 80240EB4 8C620000 */ lw $v0, ($v1) +/* 801738 80240EB8 AE020084 */ sw $v0, 0x84($s0) +/* 80173C 80240EBC 8C630004 */ lw $v1, 4($v1) +/* 801740 80240EC0 AE030088 */ sw $v1, 0x88($s0) +/* 801744 80240EC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 801748 80240EC8 8FB00010 */ lw $s0, 0x10($sp) +/* 80174C 80240ECC 24020002 */ addiu $v0, $zero, 2 +/* 801750 80240ED0 03E00008 */ jr $ra +/* 801754 80240ED4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240ED8.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240ED8.s new file mode 100644 index 0000000000..c598bf5178 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240ED8.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ED8 +/* 801758 80240ED8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 80175C 80240EDC AFB00010 */ sw $s0, 0x10($sp) +/* 801760 80240EE0 0080802D */ daddu $s0, $a0, $zero +/* 801764 80240EE4 3C05F5DE */ lui $a1, 0xf5de +/* 801768 80240EE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 80176C 80240EEC 0C0B1EAF */ jal get_variable +/* 801770 80240EF0 34A50180 */ ori $a1, $a1, 0x180 +/* 801774 80240EF4 0040202D */ daddu $a0, $v0, $zero +/* 801778 80240EF8 3C038025 */ lui $v1, 0x8025 +/* 80177C 80240EFC 24638714 */ addiu $v1, $v1, -0x78ec +/* 801780 80240F00 24060019 */ addiu $a2, $zero, 0x19 +.L80240F04: +/* 801784 80240F04 8C620008 */ lw $v0, 8($v1) +/* 801788 80240F08 0082102A */ slt $v0, $a0, $v0 +/* 80178C 80240F0C 50400005 */ beql $v0, $zero, .L80240F24 +/* 801790 80240F10 0200202D */ daddu $a0, $s0, $zero +/* 801794 80240F14 24C6FFFF */ addiu $a2, $a2, -1 +/* 801798 80240F18 04C1FFFA */ bgez $a2, .L80240F04 +/* 80179C 80240F1C 2463FFF4 */ addiu $v1, $v1, -0xc +/* 8017A0 80240F20 0200202D */ daddu $a0, $s0, $zero +.L80240F24: +/* 8017A4 80240F24 3C05F5DE */ lui $a1, 0xf5de +/* 8017A8 80240F28 0C0B2026 */ jal set_variable +/* 8017AC 80240F2C 34A502DD */ ori $a1, $a1, 0x2dd +/* 8017B0 80240F30 8FBF0014 */ lw $ra, 0x14($sp) +/* 8017B4 80240F34 8FB00010 */ lw $s0, 0x10($sp) +/* 8017B8 80240F38 24020002 */ addiu $v0, $zero, 2 +/* 8017BC 80240F3C 03E00008 */ jr $ra +/* 8017C0 80240F40 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8017C4 80240F44 00000000 */ nop +/* 8017C8 80240F48 00000000 */ nop +/* 8017CC 80240F4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80240F50.s b/asm/nonmatchings/world/area_mac/mac_01/func_80240F50.s new file mode 100644 index 0000000000..229f3c8429 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80240F50.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50 +/* 8017D0 80240F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8017D4 80240F54 AFB00010 */ sw $s0, 0x10($sp) +/* 8017D8 80240F58 0080802D */ daddu $s0, $a0, $zero +/* 8017DC 80240F5C AFB20018 */ sw $s2, 0x18($sp) +/* 8017E0 80240F60 AFBF001C */ sw $ra, 0x1c($sp) +/* 8017E4 80240F64 AFB10014 */ sw $s1, 0x14($sp) +/* 8017E8 80240F68 8E02000C */ lw $v0, 0xc($s0) +/* 8017EC 80240F6C 10A00008 */ beqz $a1, .L80240F90 +/* 8017F0 80240F70 0000902D */ daddu $s2, $zero, $zero +/* 8017F4 80240F74 8C450000 */ lw $a1, ($v0) +/* 8017F8 80240F78 0C0B1EAF */ jal get_variable +/* 8017FC 80240F7C 00000000 */ nop +/* 801800 80240F80 AE020070 */ sw $v0, 0x70($s0) +/* 801804 80240F84 AE000074 */ sw $zero, 0x74($s0) +/* 801808 80240F88 8C420014 */ lw $v0, 0x14($v0) +/* 80180C 80240F8C AE020078 */ sw $v0, 0x78($s0) +.L80240F90: +/* 801810 80240F90 8E050078 */ lw $a1, 0x78($s0) +/* 801814 80240F94 8E110070 */ lw $s1, 0x70($s0) +/* 801818 80240F98 0C0B1EAF */ jal get_variable +/* 80181C 80240F9C 0200202D */ daddu $a0, $s0, $zero +/* 801820 80240FA0 10400006 */ beqz $v0, .L80240FBC +/* 801824 80240FA4 24030002 */ addiu $v1, $zero, 2 +/* 801828 80240FA8 8E020074 */ lw $v0, 0x74($s0) +/* 80182C 80240FAC 10430027 */ beq $v0, $v1, .L8024104C +/* 801830 80240FB0 00000000 */ nop +/* 801834 80240FB4 08090412 */ j .L80241048 +/* 801838 80240FB8 AE030074 */ sw $v1, 0x74($s0) +.L80240FBC: +/* 80183C 80240FBC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 801840 80240FC0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 801844 80240FC4 8E260000 */ lw $a2, ($s1) +/* 801848 80240FC8 8E270004 */ lw $a3, 4($s1) +/* 80184C 80240FCC C44C0028 */ lwc1 $f12, 0x28($v0) +/* 801850 80240FD0 0C00A7B5 */ jal dist2D +/* 801854 80240FD4 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 801858 80240FD8 8E030074 */ lw $v1, 0x74($s0) +/* 80185C 80240FDC 24040001 */ addiu $a0, $zero, 1 +/* 801860 80240FE0 10640013 */ beq $v1, $a0, .L80241030 +/* 801864 80240FE4 46000086 */ mov.s $f2, $f0 +/* 801868 80240FE8 28620002 */ slti $v0, $v1, 2 +/* 80186C 80240FEC 50400005 */ beql $v0, $zero, .L80241004 +/* 801870 80240FF0 24020002 */ addiu $v0, $zero, 2 +/* 801874 80240FF4 10600007 */ beqz $v1, .L80241014 +/* 801878 80240FF8 00000000 */ nop +/* 80187C 80240FFC 08090413 */ j .L8024104C +/* 801880 80241000 00000000 */ nop +.L80241004: +/* 801884 80241004 50620010 */ beql $v1, $v0, .L80241048 +/* 801888 80241008 AE040074 */ sw $a0, 0x74($s0) +/* 80188C 8024100C 08090413 */ j .L8024104C +/* 801890 80241010 00000000 */ nop +.L80241014: +/* 801894 80241014 C6200008 */ lwc1 $f0, 8($s1) +/* 801898 80241018 4600103C */ c.lt.s $f2, $f0 +/* 80189C 8024101C 00000000 */ nop +/* 8018A0 80241020 4500000A */ bc1f .L8024104C +/* 8018A4 80241024 00000000 */ nop +/* 8018A8 80241028 08090412 */ j .L80241048 +/* 8018AC 8024102C AE040074 */ sw $a0, 0x74($s0) +.L80241030: +/* 8018B0 80241030 C620000C */ lwc1 $f0, 0xc($s1) +/* 8018B4 80241034 4602003C */ c.lt.s $f0, $f2 +/* 8018B8 80241038 00000000 */ nop +/* 8018BC 8024103C 45000003 */ bc1f .L8024104C +/* 8018C0 80241040 00000000 */ nop +/* 8018C4 80241044 AE000074 */ sw $zero, 0x74($s0) +.L80241048: +/* 8018C8 80241048 24120001 */ addiu $s2, $zero, 1 +.L8024104C: +/* 8018CC 8024104C 12400005 */ beqz $s2, .L80241064 +/* 8018D0 80241050 00000000 */ nop +/* 8018D4 80241054 8E250010 */ lw $a1, 0x10($s1) +/* 8018D8 80241058 86060076 */ lh $a2, 0x76($s0) +/* 8018DC 8024105C 0C052A95 */ jal func_8014AA54 +/* 8018E0 80241060 0000202D */ daddu $a0, $zero, $zero +.L80241064: +/* 8018E4 80241064 8FBF001C */ lw $ra, 0x1c($sp) +/* 8018E8 80241068 8FB20018 */ lw $s2, 0x18($sp) +/* 8018EC 8024106C 8FB10014 */ lw $s1, 0x14($sp) +/* 8018F0 80241070 8FB00010 */ lw $s0, 0x10($sp) +/* 8018F4 80241074 0000102D */ daddu $v0, $zero, $zero +/* 8018F8 80241078 03E00008 */ jr $ra +/* 8018FC 8024107C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241080.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241080.s new file mode 100644 index 0000000000..4263e1cffe --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241080.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241080 +/* 801900 80241080 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 801904 80241084 AFB50024 */ sw $s5, 0x24($sp) +/* 801908 80241088 0080A82D */ daddu $s5, $a0, $zero +/* 80190C 8024108C AFBF002C */ sw $ra, 0x2c($sp) +/* 801910 80241090 AFB60028 */ sw $s6, 0x28($sp) +/* 801914 80241094 AFB40020 */ sw $s4, 0x20($sp) +/* 801918 80241098 AFB3001C */ sw $s3, 0x1c($sp) +/* 80191C 8024109C AFB20018 */ sw $s2, 0x18($sp) +/* 801920 802410A0 AFB10014 */ sw $s1, 0x14($sp) +/* 801924 802410A4 AFB00010 */ sw $s0, 0x10($sp) +/* 801928 802410A8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 80192C 802410AC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 801930 802410B0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 801934 802410B4 8EB30148 */ lw $s3, 0x148($s5) +/* 801938 802410B8 86640008 */ lh $a0, 8($s3) +/* 80193C 802410BC 0C00EABB */ jal get_npc_unsafe +/* 801940 802410C0 00A0B02D */ daddu $s6, $a1, $zero +/* 801944 802410C4 0040A02D */ daddu $s4, $v0, $zero +/* 801948 802410C8 AEA00074 */ sw $zero, 0x74($s5) +/* 80194C 802410CC C6980038 */ lwc1 $f24, 0x38($s4) +/* 801950 802410D0 C6960040 */ lwc1 $f22, 0x40($s4) +/* 801954 802410D4 0000902D */ daddu $s2, $zero, $zero +/* 801958 802410D8 AEA00078 */ sw $zero, 0x78($s5) +/* 80195C 802410DC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 801960 802410E0 8C620000 */ lw $v0, ($v1) +/* 801964 802410E4 3C0146FF */ lui $at, 0x46ff +/* 801968 802410E8 3421FE00 */ ori $at, $at, 0xfe00 +/* 80196C 802410EC 4481A000 */ mtc1 $at, $f20 +/* 801970 802410F0 18400018 */ blez $v0, .L80241154 +/* 801974 802410F4 0240802D */ daddu $s0, $s2, $zero +/* 801978 802410F8 0240882D */ daddu $s1, $s2, $zero +.L802410FC: +/* 80197C 802410FC 02231021 */ addu $v0, $s1, $v1 +/* 801980 80241100 4600C306 */ mov.s $f12, $f24 +/* 801984 80241104 C4440004 */ lwc1 $f4, 4($v0) +/* 801988 80241108 46802120 */ cvt.s.w $f4, $f4 +/* 80198C 8024110C 44062000 */ mfc1 $a2, $f4 +/* 801990 80241110 C444000C */ lwc1 $f4, 0xc($v0) +/* 801994 80241114 46802120 */ cvt.s.w $f4, $f4 +/* 801998 80241118 44072000 */ mfc1 $a3, $f4 +/* 80199C 8024111C 0C00A7B5 */ jal dist2D +/* 8019A0 80241120 4600B386 */ mov.s $f14, $f22 +/* 8019A4 80241124 4614003C */ c.lt.s $f0, $f20 +/* 8019A8 80241128 00000000 */ nop +/* 8019AC 8024112C 45000003 */ bc1f .L8024113C +/* 8019B0 80241130 2631000C */ addiu $s1, $s1, 0xc +/* 8019B4 80241134 46000506 */ mov.s $f20, $f0 +/* 8019B8 80241138 AEB20078 */ sw $s2, 0x78($s5) +.L8024113C: +/* 8019BC 8024113C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 8019C0 80241140 26100001 */ addiu $s0, $s0, 1 +/* 8019C4 80241144 8C620000 */ lw $v0, ($v1) +/* 8019C8 80241148 0202102A */ slt $v0, $s0, $v0 +/* 8019CC 8024114C 1440FFEB */ bnez $v0, .L802410FC +/* 8019D0 80241150 26520001 */ addiu $s2, $s2, 1 +.L80241154: +/* 8019D4 80241154 8E6200CC */ lw $v0, 0xcc($s3) +/* 8019D8 80241158 8C420004 */ lw $v0, 4($v0) +/* 8019DC 8024115C AE820028 */ sw $v0, 0x28($s4) +/* 8019E0 80241160 8E6200D0 */ lw $v0, 0xd0($s3) +/* 8019E4 80241164 8C42007C */ lw $v0, 0x7c($v0) +/* 8019E8 80241168 04410004 */ bgez $v0, .L8024117C +/* 8019EC 8024116C 00000000 */ nop +/* 8019F0 80241170 C6C00000 */ lwc1 $f0, ($s6) +/* 8019F4 80241174 08090467 */ j .L8024119C +/* 8019F8 80241178 E6800018 */ swc1 $f0, 0x18($s4) +.L8024117C: +/* 8019FC 8024117C 3C018026 */ lui $at, 0x8026 +/* 801A00 80241180 D42226E0 */ ldc1 $f2, 0x26e0($at) +/* 801A04 80241184 44820000 */ mtc1 $v0, $f0 +/* 801A08 80241188 00000000 */ nop +/* 801A0C 8024118C 46800021 */ cvt.d.w $f0, $f0 +/* 801A10 80241190 46220003 */ div.d $f0, $f0, $f2 +/* 801A14 80241194 46200020 */ cvt.s.d $f0, $f0 +/* 801A18 80241198 E6800018 */ swc1 $f0, 0x18($s4) +.L8024119C: +/* 801A1C 8024119C 24020001 */ addiu $v0, $zero, 1 +/* 801A20 802411A0 AEA20070 */ sw $v0, 0x70($s5) +/* 801A24 802411A4 8FBF002C */ lw $ra, 0x2c($sp) +/* 801A28 802411A8 8FB60028 */ lw $s6, 0x28($sp) +/* 801A2C 802411AC 8FB50024 */ lw $s5, 0x24($sp) +/* 801A30 802411B0 8FB40020 */ lw $s4, 0x20($sp) +/* 801A34 802411B4 8FB3001C */ lw $s3, 0x1c($sp) +/* 801A38 802411B8 8FB20018 */ lw $s2, 0x18($sp) +/* 801A3C 802411BC 8FB10014 */ lw $s1, 0x14($sp) +/* 801A40 802411C0 8FB00010 */ lw $s0, 0x10($sp) +/* 801A44 802411C4 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 801A48 802411C8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 801A4C 802411CC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 801A50 802411D0 03E00008 */ jr $ra +/* 801A54 802411D4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802411D8.s b/asm/nonmatchings/world/area_mac/mac_01/func_802411D8.s new file mode 100644 index 0000000000..86db40ab4c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802411D8.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D8 +/* 801A58 802411D8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 801A5C 802411DC AFB20038 */ sw $s2, 0x38($sp) +/* 801A60 802411E0 0080902D */ daddu $s2, $a0, $zero +/* 801A64 802411E4 AFBF0044 */ sw $ra, 0x44($sp) +/* 801A68 802411E8 AFB40040 */ sw $s4, 0x40($sp) +/* 801A6C 802411EC AFB3003C */ sw $s3, 0x3c($sp) +/* 801A70 802411F0 AFB10034 */ sw $s1, 0x34($sp) +/* 801A74 802411F4 AFB00030 */ sw $s0, 0x30($sp) +/* 801A78 802411F8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 801A7C 802411FC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 801A80 80241200 8E510148 */ lw $s1, 0x148($s2) +/* 801A84 80241204 00A0982D */ daddu $s3, $a1, $zero +/* 801A88 80241208 86240008 */ lh $a0, 8($s1) +/* 801A8C 8024120C 0C00EABB */ jal get_npc_unsafe +/* 801A90 80241210 00C0A02D */ daddu $s4, $a2, $zero +/* 801A94 80241214 8E630014 */ lw $v1, 0x14($s3) +/* 801A98 80241218 04600030 */ bltz $v1, .L802412DC +/* 801A9C 8024121C 0040802D */ daddu $s0, $v0, $zero +/* 801AA0 80241220 8E420074 */ lw $v0, 0x74($s2) +/* 801AA4 80241224 1C40002C */ bgtz $v0, .L802412D8 +/* 801AA8 80241228 2442FFFF */ addiu $v0, $v0, -1 +/* 801AAC 8024122C 0280202D */ daddu $a0, $s4, $zero +/* 801AB0 80241230 AE430074 */ sw $v1, 0x74($s2) +/* 801AB4 80241234 AFA00010 */ sw $zero, 0x10($sp) +/* 801AB8 80241238 8E66000C */ lw $a2, 0xc($s3) +/* 801ABC 8024123C 8E670010 */ lw $a3, 0x10($s3) +/* 801AC0 80241240 0C01242D */ jal func_800490B4 +/* 801AC4 80241244 0220282D */ daddu $a1, $s1, $zero +/* 801AC8 80241248 10400021 */ beqz $v0, .L802412D0 +/* 801ACC 8024124C 0000202D */ daddu $a0, $zero, $zero +/* 801AD0 80241250 0200282D */ daddu $a1, $s0, $zero +/* 801AD4 80241254 0000302D */ daddu $a2, $zero, $zero +/* 801AD8 80241258 860300A8 */ lh $v1, 0xa8($s0) +/* 801ADC 8024125C 3C013F80 */ lui $at, 0x3f80 +/* 801AE0 80241260 44810000 */ mtc1 $at, $f0 +/* 801AE4 80241264 3C014000 */ lui $at, 0x4000 +/* 801AE8 80241268 44811000 */ mtc1 $at, $f2 +/* 801AEC 8024126C 3C01C1A0 */ lui $at, 0xc1a0 +/* 801AF0 80241270 44812000 */ mtc1 $at, $f4 +/* 801AF4 80241274 2402000F */ addiu $v0, $zero, 0xf +/* 801AF8 80241278 AFA2001C */ sw $v0, 0x1c($sp) +/* 801AFC 8024127C 44833000 */ mtc1 $v1, $f6 +/* 801B00 80241280 00000000 */ nop +/* 801B04 80241284 468031A0 */ cvt.s.w $f6, $f6 +/* 801B08 80241288 44073000 */ mfc1 $a3, $f6 +/* 801B0C 8024128C 27A20028 */ addiu $v0, $sp, 0x28 +/* 801B10 80241290 AFA20020 */ sw $v0, 0x20($sp) +/* 801B14 80241294 E7A00010 */ swc1 $f0, 0x10($sp) +/* 801B18 80241298 E7A20014 */ swc1 $f2, 0x14($sp) +/* 801B1C 8024129C 0C01BFA4 */ jal fx_emote +/* 801B20 802412A0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 801B24 802412A4 0200202D */ daddu $a0, $s0, $zero +/* 801B28 802412A8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 801B2C 802412AC 0C012530 */ jal func_800494C0 +/* 801B30 802412B0 3C060020 */ lui $a2, 0x20 +/* 801B34 802412B4 8E220018 */ lw $v0, 0x18($s1) +/* 801B38 802412B8 9442002A */ lhu $v0, 0x2a($v0) +/* 801B3C 802412BC 30420001 */ andi $v0, $v0, 1 +/* 801B40 802412C0 14400064 */ bnez $v0, .L80241454 +/* 801B44 802412C4 2402000A */ addiu $v0, $zero, 0xa +/* 801B48 802412C8 08090515 */ j .L80241454 +/* 801B4C 802412CC 2402000C */ addiu $v0, $zero, 0xc +.L802412D0: +/* 801B50 802412D0 8E420074 */ lw $v0, 0x74($s2) +/* 801B54 802412D4 2442FFFF */ addiu $v0, $v0, -1 +.L802412D8: +/* 801B58 802412D8 AE420074 */ sw $v0, 0x74($s2) +.L802412DC: +/* 801B5C 802412DC 8602008C */ lh $v0, 0x8c($s0) +/* 801B60 802412E0 1440005D */ bnez $v0, .L80241458 +/* 801B64 802412E4 00000000 */ nop +/* 801B68 802412E8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 801B6C 802412EC 3C014010 */ lui $at, 0x4010 +/* 801B70 802412F0 44811800 */ mtc1 $at, $f3 +/* 801B74 802412F4 44801000 */ mtc1 $zero, $f2 +/* 801B78 802412F8 46000021 */ cvt.d.s $f0, $f0 +/* 801B7C 802412FC 4622003C */ c.lt.d $f0, $f2 +/* 801B80 80241300 00000000 */ nop +/* 801B84 80241304 45000003 */ bc1f .L80241314 +/* 801B88 80241308 0200202D */ daddu $a0, $s0, $zero +/* 801B8C 8024130C 080904C6 */ j .L80241318 +/* 801B90 80241310 0000282D */ daddu $a1, $zero, $zero +.L80241314: +/* 801B94 80241314 24050001 */ addiu $a1, $zero, 1 +.L80241318: +/* 801B98 80241318 0C00F598 */ jal func_8003D660 +/* 801B9C 8024131C 00000000 */ nop +/* 801BA0 80241320 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 801BA4 80241324 8E430078 */ lw $v1, 0x78($s2) +/* 801BA8 80241328 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 801BAC 8024132C 00031040 */ sll $v0, $v1, 1 +/* 801BB0 80241330 00431021 */ addu $v0, $v0, $v1 +/* 801BB4 80241334 8E2300D0 */ lw $v1, 0xd0($s1) +/* 801BB8 80241338 00021080 */ sll $v0, $v0, 2 +/* 801BBC 8024133C 00431021 */ addu $v0, $v0, $v1 +/* 801BC0 80241340 C4560004 */ lwc1 $f22, 4($v0) +/* 801BC4 80241344 4680B5A0 */ cvt.s.w $f22, $f22 +/* 801BC8 80241348 C454000C */ lwc1 $f20, 0xc($v0) +/* 801BCC 8024134C 4680A520 */ cvt.s.w $f20, $f20 +/* 801BD0 80241350 4406B000 */ mfc1 $a2, $f22 +/* 801BD4 80241354 4407A000 */ mfc1 $a3, $f20 +/* 801BD8 80241358 0C00A720 */ jal atan2 +/* 801BDC 8024135C 00000000 */ nop +/* 801BE0 80241360 8E050018 */ lw $a1, 0x18($s0) +/* 801BE4 80241364 44060000 */ mfc1 $a2, $f0 +/* 801BE8 80241368 0200202D */ daddu $a0, $s0, $zero +/* 801BEC 8024136C 0C00EA95 */ jal npc_move_heading +/* 801BF0 80241370 AE06000C */ sw $a2, 0xc($s0) +/* 801BF4 80241374 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 801BF8 80241378 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 801BFC 8024137C 4406B000 */ mfc1 $a2, $f22 +/* 801C00 80241380 4407A000 */ mfc1 $a3, $f20 +/* 801C04 80241384 0C00A7B5 */ jal dist2D +/* 801C08 80241388 00000000 */ nop +/* 801C0C 8024138C C6020018 */ lwc1 $f2, 0x18($s0) +/* 801C10 80241390 4602003E */ c.le.s $f0, $f2 +/* 801C14 80241394 00000000 */ nop +/* 801C18 80241398 4500002F */ bc1f .L80241458 +/* 801C1C 8024139C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 801C20 802413A0 24020002 */ addiu $v0, $zero, 2 +/* 801C24 802413A4 0C00A67F */ jal rand_int +/* 801C28 802413A8 AE420070 */ sw $v0, 0x70($s2) +/* 801C2C 802413AC 3C035555 */ lui $v1, 0x5555 +/* 801C30 802413B0 34635556 */ ori $v1, $v1, 0x5556 +/* 801C34 802413B4 00430018 */ mult $v0, $v1 +/* 801C38 802413B8 000227C3 */ sra $a0, $v0, 0x1f +/* 801C3C 802413BC 00004010 */ mfhi $t0 +/* 801C40 802413C0 01042023 */ subu $a0, $t0, $a0 +/* 801C44 802413C4 00041840 */ sll $v1, $a0, 1 +/* 801C48 802413C8 00641821 */ addu $v1, $v1, $a0 +/* 801C4C 802413CC 00431023 */ subu $v0, $v0, $v1 +/* 801C50 802413D0 24430002 */ addiu $v1, $v0, 2 +/* 801C54 802413D4 AE430074 */ sw $v1, 0x74($s2) +/* 801C58 802413D8 8E62002C */ lw $v0, 0x2c($s3) +/* 801C5C 802413DC 18400009 */ blez $v0, .L80241404 +/* 801C60 802413E0 24020004 */ addiu $v0, $zero, 4 +/* 801C64 802413E4 8E620004 */ lw $v0, 4($s3) +/* 801C68 802413E8 18400006 */ blez $v0, .L80241404 +/* 801C6C 802413EC 24020004 */ addiu $v0, $zero, 4 +/* 801C70 802413F0 8E620008 */ lw $v0, 8($s3) +/* 801C74 802413F4 18400003 */ blez $v0, .L80241404 +/* 801C78 802413F8 24020004 */ addiu $v0, $zero, 4 +/* 801C7C 802413FC 14600002 */ bnez $v1, .L80241408 +/* 801C80 80241400 00000000 */ nop +.L80241404: +/* 801C84 80241404 AE420070 */ sw $v0, 0x70($s2) +.L80241408: +/* 801C88 80241408 0C00A67F */ jal rand_int +/* 801C8C 8024140C 24042710 */ addiu $a0, $zero, 0x2710 +/* 801C90 80241410 3C0351EB */ lui $v1, 0x51eb +/* 801C94 80241414 3463851F */ ori $v1, $v1, 0x851f +/* 801C98 80241418 00430018 */ mult $v0, $v1 +/* 801C9C 8024141C 00021FC3 */ sra $v1, $v0, 0x1f +/* 801CA0 80241420 00004010 */ mfhi $t0 +/* 801CA4 80241424 00082143 */ sra $a0, $t0, 5 +/* 801CA8 80241428 00832023 */ subu $a0, $a0, $v1 +/* 801CAC 8024142C 00041840 */ sll $v1, $a0, 1 +/* 801CB0 80241430 00641821 */ addu $v1, $v1, $a0 +/* 801CB4 80241434 000318C0 */ sll $v1, $v1, 3 +/* 801CB8 80241438 00641821 */ addu $v1, $v1, $a0 +/* 801CBC 8024143C 00031880 */ sll $v1, $v1, 2 +/* 801CC0 80241440 8E640004 */ lw $a0, 4($s3) +/* 801CC4 80241444 00431023 */ subu $v0, $v0, $v1 +/* 801CC8 80241448 0044102A */ slt $v0, $v0, $a0 +/* 801CCC 8024144C 10400002 */ beqz $v0, .L80241458 +/* 801CD0 80241450 24020004 */ addiu $v0, $zero, 4 +.L80241454: +/* 801CD4 80241454 AE420070 */ sw $v0, 0x70($s2) +.L80241458: +/* 801CD8 80241458 8FBF0044 */ lw $ra, 0x44($sp) +/* 801CDC 8024145C 8FB40040 */ lw $s4, 0x40($sp) +/* 801CE0 80241460 8FB3003C */ lw $s3, 0x3c($sp) +/* 801CE4 80241464 8FB20038 */ lw $s2, 0x38($sp) +/* 801CE8 80241468 8FB10034 */ lw $s1, 0x34($sp) +/* 801CEC 8024146C 8FB00030 */ lw $s0, 0x30($sp) +/* 801CF0 80241470 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 801CF4 80241474 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 801CF8 80241478 03E00008 */ jr $ra +/* 801CFC 8024147C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241480.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241480.s new file mode 100644 index 0000000000..c761ba3c49 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241480.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241480 +/* 801D00 80241480 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 801D04 80241484 AFB3001C */ sw $s3, 0x1c($sp) +/* 801D08 80241488 0080982D */ daddu $s3, $a0, $zero +/* 801D0C 8024148C AFBF0020 */ sw $ra, 0x20($sp) +/* 801D10 80241490 AFB20018 */ sw $s2, 0x18($sp) +/* 801D14 80241494 AFB10014 */ sw $s1, 0x14($sp) +/* 801D18 80241498 AFB00010 */ sw $s0, 0x10($sp) +/* 801D1C 8024149C 8E720148 */ lw $s2, 0x148($s3) +/* 801D20 802414A0 86440008 */ lh $a0, 8($s2) +/* 801D24 802414A4 0C00EABB */ jal get_npc_unsafe +/* 801D28 802414A8 00A0882D */ daddu $s1, $a1, $zero +/* 801D2C 802414AC 8E240008 */ lw $a0, 8($s1) +/* 801D30 802414B0 0040802D */ daddu $s0, $v0, $zero +/* 801D34 802414B4 00041FC2 */ srl $v1, $a0, 0x1f +/* 801D38 802414B8 00832021 */ addu $a0, $a0, $v1 +/* 801D3C 802414BC 00042043 */ sra $a0, $a0, 1 +/* 801D40 802414C0 0C00A67F */ jal rand_int +/* 801D44 802414C4 24840001 */ addiu $a0, $a0, 1 +/* 801D48 802414C8 8E230008 */ lw $v1, 8($s1) +/* 801D4C 802414CC 240400B4 */ addiu $a0, $zero, 0xb4 +/* 801D50 802414D0 00032FC2 */ srl $a1, $v1, 0x1f +/* 801D54 802414D4 00651821 */ addu $v1, $v1, $a1 +/* 801D58 802414D8 00031843 */ sra $v1, $v1, 1 +/* 801D5C 802414DC 00621821 */ addu $v1, $v1, $v0 +/* 801D60 802414E0 0C00A67F */ jal rand_int +/* 801D64 802414E4 A603008E */ sh $v1, 0x8e($s0) +/* 801D68 802414E8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 801D6C 802414EC 44820000 */ mtc1 $v0, $f0 +/* 801D70 802414F0 00000000 */ nop +/* 801D74 802414F4 46800020 */ cvt.s.w $f0, $f0 +/* 801D78 802414F8 46006300 */ add.s $f12, $f12, $f0 +/* 801D7C 802414FC 3C0142B4 */ lui $at, 0x42b4 +/* 801D80 80241500 44810000 */ mtc1 $at, $f0 +/* 801D84 80241504 0C00A6C9 */ jal clamp_angle +/* 801D88 80241508 46006301 */ sub.s $f12, $f12, $f0 +/* 801D8C 8024150C E600000C */ swc1 $f0, 0xc($s0) +/* 801D90 80241510 8E4200CC */ lw $v0, 0xcc($s2) +/* 801D94 80241514 8C420000 */ lw $v0, ($v0) +/* 801D98 80241518 AE020028 */ sw $v0, 0x28($s0) +/* 801D9C 8024151C 24020003 */ addiu $v0, $zero, 3 +/* 801DA0 80241520 AE620070 */ sw $v0, 0x70($s3) +/* 801DA4 80241524 8FBF0020 */ lw $ra, 0x20($sp) +/* 801DA8 80241528 8FB3001C */ lw $s3, 0x1c($sp) +/* 801DAC 8024152C 8FB20018 */ lw $s2, 0x18($sp) +/* 801DB0 80241530 8FB10014 */ lw $s1, 0x14($sp) +/* 801DB4 80241534 8FB00010 */ lw $s0, 0x10($sp) +/* 801DB8 80241538 03E00008 */ jr $ra +/* 801DBC 8024153C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241540_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241540_800880.s new file mode 100644 index 0000000000..7d4c910b32 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241540_800880.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241540_801DC0 +/* 801DC0 80241540 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 801DC4 80241544 AFB40040 */ sw $s4, 0x40($sp) +/* 801DC8 80241548 0080A02D */ daddu $s4, $a0, $zero +/* 801DCC 8024154C AFBF0044 */ sw $ra, 0x44($sp) +/* 801DD0 80241550 AFB3003C */ sw $s3, 0x3c($sp) +/* 801DD4 80241554 AFB20038 */ sw $s2, 0x38($sp) +/* 801DD8 80241558 AFB10034 */ sw $s1, 0x34($sp) +/* 801DDC 8024155C AFB00030 */ sw $s0, 0x30($sp) +/* 801DE0 80241560 8E910148 */ lw $s1, 0x148($s4) +/* 801DE4 80241564 00A0902D */ daddu $s2, $a1, $zero +/* 801DE8 80241568 86240008 */ lh $a0, 8($s1) +/* 801DEC 8024156C 0C00EABB */ jal get_npc_unsafe +/* 801DF0 80241570 00C0982D */ daddu $s3, $a2, $zero +/* 801DF4 80241574 8E430014 */ lw $v1, 0x14($s2) +/* 801DF8 80241578 04600031 */ bltz $v1, .L80241640 +/* 801DFC 8024157C 0040802D */ daddu $s0, $v0, $zero +/* 801E00 80241580 0260202D */ daddu $a0, $s3, $zero +/* 801E04 80241584 AFA00010 */ sw $zero, 0x10($sp) +/* 801E08 80241588 8E460024 */ lw $a2, 0x24($s2) +/* 801E0C 8024158C 8E470028 */ lw $a3, 0x28($s2) +/* 801E10 80241590 0C01242D */ jal func_800490B4 +/* 801E14 80241594 0220282D */ daddu $a1, $s1, $zero +/* 801E18 80241598 10400029 */ beqz $v0, .L80241640 +/* 801E1C 8024159C 0000202D */ daddu $a0, $zero, $zero +/* 801E20 802415A0 0200282D */ daddu $a1, $s0, $zero +/* 801E24 802415A4 0000302D */ daddu $a2, $zero, $zero +/* 801E28 802415A8 860300A8 */ lh $v1, 0xa8($s0) +/* 801E2C 802415AC 3C013F80 */ lui $at, 0x3f80 +/* 801E30 802415B0 44810000 */ mtc1 $at, $f0 +/* 801E34 802415B4 3C014000 */ lui $at, 0x4000 +/* 801E38 802415B8 44811000 */ mtc1 $at, $f2 +/* 801E3C 802415BC 3C01C1A0 */ lui $at, 0xc1a0 +/* 801E40 802415C0 44812000 */ mtc1 $at, $f4 +/* 801E44 802415C4 2402000F */ addiu $v0, $zero, 0xf +/* 801E48 802415C8 AFA2001C */ sw $v0, 0x1c($sp) +/* 801E4C 802415CC 44833000 */ mtc1 $v1, $f6 +/* 801E50 802415D0 00000000 */ nop +/* 801E54 802415D4 468031A0 */ cvt.s.w $f6, $f6 +/* 801E58 802415D8 44073000 */ mfc1 $a3, $f6 +/* 801E5C 802415DC 27A20028 */ addiu $v0, $sp, 0x28 +/* 801E60 802415E0 AFA20020 */ sw $v0, 0x20($sp) +/* 801E64 802415E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 801E68 802415E8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 801E6C 802415EC 0C01BFA4 */ jal fx_emote +/* 801E70 802415F0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 801E74 802415F4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 801E78 802415F8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 801E7C 802415FC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 801E80 80241600 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 801E84 80241604 8C460028 */ lw $a2, 0x28($v0) +/* 801E88 80241608 0C00A720 */ jal atan2 +/* 801E8C 8024160C 8C470030 */ lw $a3, 0x30($v0) +/* 801E90 80241610 0200202D */ daddu $a0, $s0, $zero +/* 801E94 80241614 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 801E98 80241618 3C060020 */ lui $a2, 0x20 +/* 801E9C 8024161C 0C012530 */ jal func_800494C0 +/* 801EA0 80241620 E480000C */ swc1 $f0, 0xc($a0) +/* 801EA4 80241624 8E220018 */ lw $v0, 0x18($s1) +/* 801EA8 80241628 9442002A */ lhu $v0, 0x2a($v0) +/* 801EAC 8024162C 30420001 */ andi $v0, $v0, 1 +/* 801EB0 80241630 14400029 */ bnez $v0, .L802416D8 +/* 801EB4 80241634 2402000A */ addiu $v0, $zero, 0xa +/* 801EB8 80241638 080905B6 */ j .L802416D8 +/* 801EBC 8024163C 2402000C */ addiu $v0, $zero, 0xc +.L80241640: +/* 801EC0 80241640 8602008C */ lh $v0, 0x8c($s0) +/* 801EC4 80241644 14400025 */ bnez $v0, .L802416DC +/* 801EC8 80241648 00000000 */ nop +/* 801ECC 8024164C 9602008E */ lhu $v0, 0x8e($s0) +/* 801ED0 80241650 2442FFFF */ addiu $v0, $v0, -1 +/* 801ED4 80241654 A602008E */ sh $v0, 0x8e($s0) +/* 801ED8 80241658 00021400 */ sll $v0, $v0, 0x10 +/* 801EDC 8024165C 1440001F */ bnez $v0, .L802416DC +/* 801EE0 80241660 00000000 */ nop +/* 801EE4 80241664 8E820074 */ lw $v0, 0x74($s4) +/* 801EE8 80241668 2442FFFF */ addiu $v0, $v0, -1 +/* 801EEC 8024166C 10400019 */ beqz $v0, .L802416D4 +/* 801EF0 80241670 AE820074 */ sw $v0, 0x74($s4) +/* 801EF4 80241674 8E220018 */ lw $v0, 0x18($s1) +/* 801EF8 80241678 9442002A */ lhu $v0, 0x2a($v0) +/* 801EFC 8024167C 30420010 */ andi $v0, $v0, 0x10 +/* 801F00 80241680 14400007 */ bnez $v0, .L802416A0 +/* 801F04 80241684 00000000 */ nop +/* 801F08 80241688 C600000C */ lwc1 $f0, 0xc($s0) +/* 801F0C 8024168C 3C014334 */ lui $at, 0x4334 +/* 801F10 80241690 44816000 */ mtc1 $at, $f12 +/* 801F14 80241694 0C00A6C9 */ jal clamp_angle +/* 801F18 80241698 460C0300 */ add.s $f12, $f0, $f12 +/* 801F1C 8024169C E600000C */ swc1 $f0, 0xc($s0) +.L802416A0: +/* 801F20 802416A0 8E440008 */ lw $a0, 8($s2) +/* 801F24 802416A4 000417C2 */ srl $v0, $a0, 0x1f +/* 801F28 802416A8 00822021 */ addu $a0, $a0, $v0 +/* 801F2C 802416AC 00042043 */ sra $a0, $a0, 1 +/* 801F30 802416B0 0C00A67F */ jal rand_int +/* 801F34 802416B4 24840001 */ addiu $a0, $a0, 1 +/* 801F38 802416B8 8E430008 */ lw $v1, 8($s2) +/* 801F3C 802416BC 000327C2 */ srl $a0, $v1, 0x1f +/* 801F40 802416C0 00641821 */ addu $v1, $v1, $a0 +/* 801F44 802416C4 00031843 */ sra $v1, $v1, 1 +/* 801F48 802416C8 00621821 */ addu $v1, $v1, $v0 +/* 801F4C 802416CC 080905B7 */ j .L802416DC +/* 801F50 802416D0 A603008E */ sh $v1, 0x8e($s0) +.L802416D4: +/* 801F54 802416D4 24020004 */ addiu $v0, $zero, 4 +.L802416D8: +/* 801F58 802416D8 AE820070 */ sw $v0, 0x70($s4) +.L802416DC: +/* 801F5C 802416DC 8FBF0044 */ lw $ra, 0x44($sp) +/* 801F60 802416E0 8FB40040 */ lw $s4, 0x40($sp) +/* 801F64 802416E4 8FB3003C */ lw $s3, 0x3c($sp) +/* 801F68 802416E8 8FB20038 */ lw $s2, 0x38($sp) +/* 801F6C 802416EC 8FB10034 */ lw $s1, 0x34($sp) +/* 801F70 802416F0 8FB00030 */ lw $s0, 0x30($sp) +/* 801F74 802416F4 03E00008 */ jr $ra +/* 801F78 802416F8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802416FC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802416FC.s new file mode 100644 index 0000000000..9146ac018a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802416FC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416FC +/* 801F7C 802416FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 801F80 80241700 AFB10014 */ sw $s1, 0x14($sp) +/* 801F84 80241704 0080882D */ daddu $s1, $a0, $zero +/* 801F88 80241708 AFBF001C */ sw $ra, 0x1c($sp) +/* 801F8C 8024170C AFB20018 */ sw $s2, 0x18($sp) +/* 801F90 80241710 AFB00010 */ sw $s0, 0x10($sp) +/* 801F94 80241714 8E300148 */ lw $s0, 0x148($s1) +/* 801F98 80241718 86040008 */ lh $a0, 8($s0) +/* 801F9C 8024171C 0C00EABB */ jal get_npc_unsafe +/* 801FA0 80241720 00A0902D */ daddu $s2, $a1, $zero +/* 801FA4 80241724 8E230078 */ lw $v1, 0x78($s1) +/* 801FA8 80241728 24630001 */ addiu $v1, $v1, 1 +/* 801FAC 8024172C AE230078 */ sw $v1, 0x78($s1) +/* 801FB0 80241730 8E0400D0 */ lw $a0, 0xd0($s0) +/* 801FB4 80241734 8C840000 */ lw $a0, ($a0) +/* 801FB8 80241738 0064182A */ slt $v1, $v1, $a0 +/* 801FBC 8024173C 14600002 */ bnez $v1, .L80241748 +/* 801FC0 80241740 0040282D */ daddu $a1, $v0, $zero +/* 801FC4 80241744 AE200078 */ sw $zero, 0x78($s1) +.L80241748: +/* 801FC8 80241748 8E0200CC */ lw $v0, 0xcc($s0) +/* 801FCC 8024174C 8C420004 */ lw $v0, 4($v0) +/* 801FD0 80241750 ACA20028 */ sw $v0, 0x28($a1) +/* 801FD4 80241754 8E0200D0 */ lw $v0, 0xd0($s0) +/* 801FD8 80241758 8C42007C */ lw $v0, 0x7c($v0) +/* 801FDC 8024175C 04410004 */ bgez $v0, .L80241770 +/* 801FE0 80241760 00000000 */ nop +/* 801FE4 80241764 C6400000 */ lwc1 $f0, ($s2) +/* 801FE8 80241768 080905E4 */ j .L80241790 +/* 801FEC 8024176C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241770: +/* 801FF0 80241770 3C018026 */ lui $at, 0x8026 +/* 801FF4 80241774 D42226E8 */ ldc1 $f2, 0x26e8($at) +/* 801FF8 80241778 44820000 */ mtc1 $v0, $f0 +/* 801FFC 8024177C 00000000 */ nop +/* 802000 80241780 46800021 */ cvt.d.w $f0, $f0 +/* 802004 80241784 46220003 */ div.d $f0, $f0, $f2 +/* 802008 80241788 46200020 */ cvt.s.d $f0, $f0 +/* 80200C 8024178C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241790: +/* 802010 80241790 24020001 */ addiu $v0, $zero, 1 +/* 802014 80241794 AE220070 */ sw $v0, 0x70($s1) +/* 802018 80241798 8FBF001C */ lw $ra, 0x1c($sp) +/* 80201C 8024179C 8FB20018 */ lw $s2, 0x18($sp) +/* 802020 802417A0 8FB10014 */ lw $s1, 0x14($sp) +/* 802024 802417A4 8FB00010 */ lw $s0, 0x10($sp) +/* 802028 802417A8 03E00008 */ jr $ra +/* 80202C 802417AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802417B0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802417B0.s new file mode 100644 index 0000000000..a161b6b8b2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802417B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417B0 +/* 802030 802417B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 802034 802417B4 AFB10014 */ sw $s1, 0x14($sp) +/* 802038 802417B8 0080882D */ daddu $s1, $a0, $zero +/* 80203C 802417BC AFBF0018 */ sw $ra, 0x18($sp) +/* 802040 802417C0 AFB00010 */ sw $s0, 0x10($sp) +/* 802044 802417C4 8E300148 */ lw $s0, 0x148($s1) +/* 802048 802417C8 0C00EABB */ jal get_npc_unsafe +/* 80204C 802417CC 86040008 */ lh $a0, 8($s0) +/* 802050 802417D0 8E0300CC */ lw $v1, 0xcc($s0) +/* 802054 802417D4 3C014120 */ lui $at, 0x4120 +/* 802058 802417D8 44812000 */ mtc1 $at, $f4 +/* 80205C 802417DC 3C014000 */ lui $at, 0x4000 +/* 802060 802417E0 44810000 */ mtc1 $at, $f0 +/* 802064 802417E4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 802068 802417E8 8C640010 */ lw $a0, 0x10($v1) +/* 80206C 802417EC 8C430000 */ lw $v1, ($v0) +/* 802070 802417F0 E444001C */ swc1 $f4, 0x1c($v0) +/* 802074 802417F4 E4400014 */ swc1 $f0, 0x14($v0) +/* 802078 802417F8 E4420064 */ swc1 $f2, 0x64($v0) +/* 80207C 802417FC 34630800 */ ori $v1, $v1, 0x800 +/* 802080 80241800 AC430000 */ sw $v1, ($v0) +/* 802084 80241804 AC440028 */ sw $a0, 0x28($v0) +/* 802088 80241808 2402000B */ addiu $v0, $zero, 0xb +/* 80208C 8024180C AE220070 */ sw $v0, 0x70($s1) +/* 802090 80241810 8FBF0018 */ lw $ra, 0x18($sp) +/* 802094 80241814 8FB10014 */ lw $s1, 0x14($sp) +/* 802098 80241818 8FB00010 */ lw $s0, 0x10($sp) +/* 80209C 8024181C 03E00008 */ jr $ra +/* 8020A0 80241820 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241824.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241824.s new file mode 100644 index 0000000000..b97cfadf83 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241824.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241824 +/* 8020A4 80241824 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8020A8 80241828 AFB00010 */ sw $s0, 0x10($sp) +/* 8020AC 8024182C 0080802D */ daddu $s0, $a0, $zero +/* 8020B0 80241830 AFBF0014 */ sw $ra, 0x14($sp) +/* 8020B4 80241834 8E020148 */ lw $v0, 0x148($s0) +/* 8020B8 80241838 0C00EABB */ jal get_npc_unsafe +/* 8020BC 8024183C 84440008 */ lh $a0, 8($v0) +/* 8020C0 80241840 0040202D */ daddu $a0, $v0, $zero +/* 8020C4 80241844 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8020C8 80241848 C480001C */ lwc1 $f0, 0x1c($a0) +/* 8020CC 8024184C 46001080 */ add.s $f2, $f2, $f0 +/* 8020D0 80241850 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8020D4 80241854 46040001 */ sub.s $f0, $f0, $f4 +/* 8020D8 80241858 C4840064 */ lwc1 $f4, 0x64($a0) +/* 8020DC 8024185C 4602203C */ c.lt.s $f4, $f2 +/* 8020E0 80241860 E482003C */ swc1 $f2, 0x3c($a0) +/* 8020E4 80241864 45010009 */ bc1t .L8024188C +/* 8020E8 80241868 E480001C */ swc1 $f0, 0x1c($a0) +/* 8020EC 8024186C 8C820000 */ lw $v0, ($a0) +/* 8020F0 80241870 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8020F4 80241874 E484003C */ swc1 $f4, 0x3c($a0) +/* 8020F8 80241878 AC80001C */ sw $zero, 0x1c($a0) +/* 8020FC 8024187C 00431024 */ and $v0, $v0, $v1 +/* 802100 80241880 AC820000 */ sw $v0, ($a0) +/* 802104 80241884 2402000C */ addiu $v0, $zero, 0xc +/* 802108 80241888 AE020070 */ sw $v0, 0x70($s0) +.L8024188C: +/* 80210C 8024188C 8FBF0014 */ lw $ra, 0x14($sp) +/* 802110 80241890 8FB00010 */ lw $s0, 0x10($sp) +/* 802114 80241894 03E00008 */ jr $ra +/* 802118 80241898 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024189C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024189C.s new file mode 100644 index 0000000000..20014fcdbc --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024189C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024189C +/* 80211C 8024189C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 802120 802418A0 AFB3001C */ sw $s3, 0x1c($sp) +/* 802124 802418A4 0080982D */ daddu $s3, $a0, $zero +/* 802128 802418A8 AFBF0020 */ sw $ra, 0x20($sp) +/* 80212C 802418AC AFB20018 */ sw $s2, 0x18($sp) +/* 802130 802418B0 AFB10014 */ sw $s1, 0x14($sp) +/* 802134 802418B4 AFB00010 */ sw $s0, 0x10($sp) +/* 802138 802418B8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 80213C 802418BC 8E710148 */ lw $s1, 0x148($s3) +/* 802140 802418C0 86240008 */ lh $a0, 8($s1) +/* 802144 802418C4 0C00EABB */ jal get_npc_unsafe +/* 802148 802418C8 00A0802D */ daddu $s0, $a1, $zero +/* 80214C 802418CC 8E040020 */ lw $a0, 0x20($s0) +/* 802150 802418D0 0040902D */ daddu $s2, $v0, $zero +/* 802154 802418D4 00041FC2 */ srl $v1, $a0, 0x1f +/* 802158 802418D8 00832021 */ addu $a0, $a0, $v1 +/* 80215C 802418DC 00042043 */ sra $a0, $a0, 1 +/* 802160 802418E0 0C00A67F */ jal rand_int +/* 802164 802418E4 24840001 */ addiu $a0, $a0, 1 +/* 802168 802418E8 8E030020 */ lw $v1, 0x20($s0) +/* 80216C 802418EC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 802170 802418F0 000327C2 */ srl $a0, $v1, 0x1f +/* 802174 802418F4 00641821 */ addu $v1, $v1, $a0 +/* 802178 802418F8 00031843 */ sra $v1, $v1, 1 +/* 80217C 802418FC 00621821 */ addu $v1, $v1, $v0 +/* 802180 80241900 A643008E */ sh $v1, 0x8e($s2) +/* 802184 80241904 8E2200CC */ lw $v0, 0xcc($s1) +/* 802188 80241908 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 80218C 8024190C 8C42000C */ lw $v0, 0xc($v0) +/* 802190 80241910 AE420028 */ sw $v0, 0x28($s2) +/* 802194 80241914 C6000018 */ lwc1 $f0, 0x18($s0) +/* 802198 80241918 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 80219C 8024191C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8021A0 80241920 E6400018 */ swc1 $f0, 0x18($s2) +/* 8021A4 80241924 8C460028 */ lw $a2, 0x28($v0) +/* 8021A8 80241928 0C00A720 */ jal atan2 +/* 8021AC 8024192C 8C470030 */ lw $a3, 0x30($v0) +/* 8021B0 80241930 46000506 */ mov.s $f20, $f0 +/* 8021B4 80241934 C64C000C */ lwc1 $f12, 0xc($s2) +/* 8021B8 80241938 0C00A70A */ jal get_clamped_angle_diff +/* 8021BC 8024193C 4600A386 */ mov.s $f14, $f20 +/* 8021C0 80241940 46000086 */ mov.s $f2, $f0 +/* 8021C4 80241944 8E02001C */ lw $v0, 0x1c($s0) +/* 8021C8 80241948 46001005 */ abs.s $f0, $f2 +/* 8021CC 8024194C 44822000 */ mtc1 $v0, $f4 +/* 8021D0 80241950 00000000 */ nop +/* 8021D4 80241954 46802120 */ cvt.s.w $f4, $f4 +/* 8021D8 80241958 4600203C */ c.lt.s $f4, $f0 +/* 8021DC 8024195C 00000000 */ nop +/* 8021E0 80241960 4500000D */ bc1f .L80241998 +/* 8021E4 80241964 00000000 */ nop +/* 8021E8 80241968 44800000 */ mtc1 $zero, $f0 +/* 8021EC 8024196C C654000C */ lwc1 $f20, 0xc($s2) +/* 8021F0 80241970 4600103C */ c.lt.s $f2, $f0 +/* 8021F4 80241974 00000000 */ nop +/* 8021F8 80241978 45000006 */ bc1f .L80241994 +/* 8021FC 8024197C 00021023 */ negu $v0, $v0 +/* 802200 80241980 44820000 */ mtc1 $v0, $f0 +/* 802204 80241984 00000000 */ nop +/* 802208 80241988 46800020 */ cvt.s.w $f0, $f0 +/* 80220C 8024198C 08090666 */ j .L80241998 +/* 802210 80241990 4600A500 */ add.s $f20, $f20, $f0 +.L80241994: +/* 802214 80241994 4604A500 */ add.s $f20, $f20, $f4 +.L80241998: +/* 802218 80241998 0C00A6C9 */ jal clamp_angle +/* 80221C 8024199C 4600A306 */ mov.s $f12, $f20 +/* 802220 802419A0 2402000D */ addiu $v0, $zero, 0xd +/* 802224 802419A4 E640000C */ swc1 $f0, 0xc($s2) +/* 802228 802419A8 AE620070 */ sw $v0, 0x70($s3) +/* 80222C 802419AC 8FBF0020 */ lw $ra, 0x20($sp) +/* 802230 802419B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 802234 802419B4 8FB20018 */ lw $s2, 0x18($sp) +/* 802238 802419B8 8FB10014 */ lw $s1, 0x14($sp) +/* 80223C 802419BC 8FB00010 */ lw $s0, 0x10($sp) +/* 802240 802419C0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 802244 802419C4 03E00008 */ jr $ra +/* 802248 802419C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802419CC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802419CC.s new file mode 100644 index 0000000000..dbd9860aa2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802419CC.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419CC +/* 80224C 802419CC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 802250 802419D0 AFB3003C */ sw $s3, 0x3c($sp) +/* 802254 802419D4 0080982D */ daddu $s3, $a0, $zero +/* 802258 802419D8 AFBF0040 */ sw $ra, 0x40($sp) +/* 80225C 802419DC AFB20038 */ sw $s2, 0x38($sp) +/* 802260 802419E0 AFB10034 */ sw $s1, 0x34($sp) +/* 802264 802419E4 AFB00030 */ sw $s0, 0x30($sp) +/* 802268 802419E8 8E720148 */ lw $s2, 0x148($s3) +/* 80226C 802419EC 00A0882D */ daddu $s1, $a1, $zero +/* 802270 802419F0 86440008 */ lh $a0, 8($s2) +/* 802274 802419F4 0C00EABB */ jal get_npc_unsafe +/* 802278 802419F8 00C0802D */ daddu $s0, $a2, $zero +/* 80227C 802419FC 0200202D */ daddu $a0, $s0, $zero +/* 802280 80241A00 0240282D */ daddu $a1, $s2, $zero +/* 802284 80241A04 24030001 */ addiu $v1, $zero, 1 +/* 802288 80241A08 AFA30010 */ sw $v1, 0x10($sp) +/* 80228C 80241A0C 8E260024 */ lw $a2, 0x24($s1) +/* 802290 80241A10 8E270028 */ lw $a3, 0x28($s1) +/* 802294 80241A14 0C01242D */ jal func_800490B4 +/* 802298 80241A18 0040802D */ daddu $s0, $v0, $zero +/* 80229C 80241A1C 1440001E */ bnez $v0, .L80241A98 +/* 8022A0 80241A20 0200202D */ daddu $a0, $s0, $zero +/* 8022A4 80241A24 24040002 */ addiu $a0, $zero, 2 +/* 8022A8 80241A28 0200282D */ daddu $a1, $s0, $zero +/* 8022AC 80241A2C 0000302D */ daddu $a2, $zero, $zero +/* 8022B0 80241A30 860300A8 */ lh $v1, 0xa8($s0) +/* 8022B4 80241A34 3C013F80 */ lui $at, 0x3f80 +/* 8022B8 80241A38 44810000 */ mtc1 $at, $f0 +/* 8022BC 80241A3C 3C014000 */ lui $at, 0x4000 +/* 8022C0 80241A40 44811000 */ mtc1 $at, $f2 +/* 8022C4 80241A44 3C01C1A0 */ lui $at, 0xc1a0 +/* 8022C8 80241A48 44812000 */ mtc1 $at, $f4 +/* 8022CC 80241A4C 2402000F */ addiu $v0, $zero, 0xf +/* 8022D0 80241A50 AFA2001C */ sw $v0, 0x1c($sp) +/* 8022D4 80241A54 44833000 */ mtc1 $v1, $f6 +/* 8022D8 80241A58 00000000 */ nop +/* 8022DC 80241A5C 468031A0 */ cvt.s.w $f6, $f6 +/* 8022E0 80241A60 44073000 */ mfc1 $a3, $f6 +/* 8022E4 80241A64 27A20028 */ addiu $v0, $sp, 0x28 +/* 8022E8 80241A68 AFA20020 */ sw $v0, 0x20($sp) +/* 8022EC 80241A6C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8022F0 80241A70 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8022F4 80241A74 0C01BFA4 */ jal fx_emote +/* 8022F8 80241A78 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8022FC 80241A7C 8E4200CC */ lw $v0, 0xcc($s2) +/* 802300 80241A80 8C430000 */ lw $v1, ($v0) +/* 802304 80241A84 24020019 */ addiu $v0, $zero, 0x19 +/* 802308 80241A88 A602008E */ sh $v0, 0x8e($s0) +/* 80230C 80241A8C 2402000E */ addiu $v0, $zero, 0xe +/* 802310 80241A90 080906B3 */ j .L80241ACC +/* 802314 80241A94 AE030028 */ sw $v1, 0x28($s0) +.L80241A98: +/* 802318 80241A98 0C00F598 */ jal func_8003D660 +/* 80231C 80241A9C 24050001 */ addiu $a1, $zero, 1 +/* 802320 80241AA0 8E050018 */ lw $a1, 0x18($s0) +/* 802324 80241AA4 8E06000C */ lw $a2, 0xc($s0) +/* 802328 80241AA8 0C00EA95 */ jal npc_move_heading +/* 80232C 80241AAC 0200202D */ daddu $a0, $s0, $zero +/* 802330 80241AB0 8602008E */ lh $v0, 0x8e($s0) +/* 802334 80241AB4 9603008E */ lhu $v1, 0x8e($s0) +/* 802338 80241AB8 18400003 */ blez $v0, .L80241AC8 +/* 80233C 80241ABC 2462FFFF */ addiu $v0, $v1, -1 +/* 802340 80241AC0 080906B4 */ j .L80241AD0 +/* 802344 80241AC4 A602008E */ sh $v0, 0x8e($s0) +.L80241AC8: +/* 802348 80241AC8 2402000C */ addiu $v0, $zero, 0xc +.L80241ACC: +/* 80234C 80241ACC AE620070 */ sw $v0, 0x70($s3) +.L80241AD0: +/* 802350 80241AD0 8FBF0040 */ lw $ra, 0x40($sp) +/* 802354 80241AD4 8FB3003C */ lw $s3, 0x3c($sp) +/* 802358 80241AD8 8FB20038 */ lw $s2, 0x38($sp) +/* 80235C 80241ADC 8FB10034 */ lw $s1, 0x34($sp) +/* 802360 80241AE0 8FB00030 */ lw $s0, 0x30($sp) +/* 802364 80241AE4 03E00008 */ jr $ra +/* 802368 80241AE8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241AEC.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241AEC.s new file mode 100644 index 0000000000..ffbd8facf6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241AEC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AEC +/* 80236C 80241AEC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 802370 80241AF0 AFB10014 */ sw $s1, 0x14($sp) +/* 802374 80241AF4 0080882D */ daddu $s1, $a0, $zero +/* 802378 80241AF8 AFBF0018 */ sw $ra, 0x18($sp) +/* 80237C 80241AFC AFB00010 */ sw $s0, 0x10($sp) +/* 802380 80241B00 8E300148 */ lw $s0, 0x148($s1) +/* 802384 80241B04 0C00EABB */ jal get_npc_unsafe +/* 802388 80241B08 86040008 */ lh $a0, 8($s0) +/* 80238C 80241B0C 9443008E */ lhu $v1, 0x8e($v0) +/* 802390 80241B10 2463FFFF */ addiu $v1, $v1, -1 +/* 802394 80241B14 A443008E */ sh $v1, 0x8e($v0) +/* 802398 80241B18 00031C00 */ sll $v1, $v1, 0x10 +/* 80239C 80241B1C 14600008 */ bnez $v1, .L80241B40 +/* 8023A0 80241B20 00000000 */ nop +/* 8023A4 80241B24 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8023A8 80241B28 30420080 */ andi $v0, $v0, 0x80 +/* 8023AC 80241B2C 10400003 */ beqz $v0, .L80241B3C +/* 8023B0 80241B30 2402000F */ addiu $v0, $zero, 0xf +/* 8023B4 80241B34 080906D0 */ j .L80241B40 +/* 8023B8 80241B38 AE220070 */ sw $v0, 0x70($s1) +.L80241B3C: +/* 8023BC 80241B3C AE200070 */ sw $zero, 0x70($s1) +.L80241B40: +/* 8023C0 80241B40 8FBF0018 */ lw $ra, 0x18($sp) +/* 8023C4 80241B44 8FB10014 */ lw $s1, 0x14($sp) +/* 8023C8 80241B48 8FB00010 */ lw $s0, 0x10($sp) +/* 8023CC 80241B4C 03E00008 */ jr $ra +/* 8023D0 80241B50 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241B54.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241B54.s new file mode 100644 index 0000000000..465809f4c7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241B54.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B54 +/* 8023D4 80241B54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8023D8 80241B58 AFB10014 */ sw $s1, 0x14($sp) +/* 8023DC 80241B5C 0080882D */ daddu $s1, $a0, $zero +/* 8023E0 80241B60 AFBF001C */ sw $ra, 0x1c($sp) +/* 8023E4 80241B64 AFB20018 */ sw $s2, 0x18($sp) +/* 8023E8 80241B68 AFB00010 */ sw $s0, 0x10($sp) +/* 8023EC 80241B6C 8E300148 */ lw $s0, 0x148($s1) +/* 8023F0 80241B70 86040008 */ lh $a0, 8($s0) +/* 8023F4 80241B74 0C00EABB */ jal get_npc_unsafe +/* 8023F8 80241B78 00A0902D */ daddu $s2, $a1, $zero +/* 8023FC 80241B7C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 802400 80241B80 8E240078 */ lw $a0, 0x78($s1) +/* 802404 80241B84 8C630000 */ lw $v1, ($v1) +/* 802408 80241B88 0083182A */ slt $v1, $a0, $v1 +/* 80240C 80241B8C 10600013 */ beqz $v1, .L80241BDC +/* 802410 80241B90 0040302D */ daddu $a2, $v0, $zero +/* 802414 80241B94 00041040 */ sll $v0, $a0, 1 +/* 802418 80241B98 00441021 */ addu $v0, $v0, $a0 +/* 80241C 80241B9C 00022880 */ sll $a1, $v0, 2 +.L80241BA0: +/* 802420 80241BA0 8E0300D0 */ lw $v1, 0xd0($s0) +/* 802424 80241BA4 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 802428 80241BA8 00A31021 */ addu $v0, $a1, $v1 +/* 80242C 80241BAC C4400008 */ lwc1 $f0, 8($v0) +/* 802430 80241BB0 46800020 */ cvt.s.w $f0, $f0 +/* 802434 80241BB4 4602003E */ c.le.s $f0, $f2 +/* 802438 80241BB8 00000000 */ nop +/* 80243C 80241BBC 45020003 */ bc1fl .L80241BCC +/* 802440 80241BC0 24840001 */ addiu $a0, $a0, 1 +/* 802444 80241BC4 080906F7 */ j .L80241BDC +/* 802448 80241BC8 AE240078 */ sw $a0, 0x78($s1) +.L80241BCC: +/* 80244C 80241BCC 8C620000 */ lw $v0, ($v1) +/* 802450 80241BD0 0082102A */ slt $v0, $a0, $v0 +/* 802454 80241BD4 1440FFF2 */ bnez $v0, .L80241BA0 +/* 802458 80241BD8 24A5000C */ addiu $a1, $a1, 0xc +.L80241BDC: +/* 80245C 80241BDC C6400000 */ lwc1 $f0, ($s2) +/* 802460 80241BE0 E4C00018 */ swc1 $f0, 0x18($a2) +/* 802464 80241BE4 8E0200CC */ lw $v0, 0xcc($s0) +/* 802468 80241BE8 8C420004 */ lw $v0, 4($v0) +/* 80246C 80241BEC ACC20028 */ sw $v0, 0x28($a2) +/* 802470 80241BF0 24020001 */ addiu $v0, $zero, 1 +/* 802474 80241BF4 AE200074 */ sw $zero, 0x74($s1) +/* 802478 80241BF8 AE220070 */ sw $v0, 0x70($s1) +/* 80247C 80241BFC 8FBF001C */ lw $ra, 0x1c($sp) +/* 802480 80241C00 8FB20018 */ lw $s2, 0x18($sp) +/* 802484 80241C04 8FB10014 */ lw $s1, 0x14($sp) +/* 802488 80241C08 8FB00010 */ lw $s0, 0x10($sp) +/* 80248C 80241C0C 03E00008 */ jr $ra +/* 802490 80241C10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241C14.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241C14.s new file mode 100644 index 0000000000..0aad724a49 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241C14.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C14 +/* 802494 80241C14 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 802498 80241C18 AFB40058 */ sw $s4, 0x58($sp) +/* 80249C 80241C1C 0080A02D */ daddu $s4, $a0, $zero +/* 8024A0 80241C20 AFBF0060 */ sw $ra, 0x60($sp) +/* 8024A4 80241C24 AFB5005C */ sw $s5, 0x5c($sp) +/* 8024A8 80241C28 AFB30054 */ sw $s3, 0x54($sp) +/* 8024AC 80241C2C AFB20050 */ sw $s2, 0x50($sp) +/* 8024B0 80241C30 AFB1004C */ sw $s1, 0x4c($sp) +/* 8024B4 80241C34 AFB00048 */ sw $s0, 0x48($sp) +/* 8024B8 80241C38 8E910148 */ lw $s1, 0x148($s4) +/* 8024BC 80241C3C 86240008 */ lh $a0, 8($s1) +/* 8024C0 80241C40 0C00EABB */ jal get_npc_unsafe +/* 8024C4 80241C44 00A0802D */ daddu $s0, $a1, $zero +/* 8024C8 80241C48 8E83000C */ lw $v1, 0xc($s4) +/* 8024CC 80241C4C 0280202D */ daddu $a0, $s4, $zero +/* 8024D0 80241C50 8C650000 */ lw $a1, ($v1) +/* 8024D4 80241C54 0C0B1EAF */ jal get_variable +/* 8024D8 80241C58 0040902D */ daddu $s2, $v0, $zero +/* 8024DC 80241C5C AFA00018 */ sw $zero, 0x18($sp) +/* 8024E0 80241C60 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8024E4 80241C64 8C630094 */ lw $v1, 0x94($v1) +/* 8024E8 80241C68 AFA3001C */ sw $v1, 0x1c($sp) +/* 8024EC 80241C6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8024F0 80241C70 8C630080 */ lw $v1, 0x80($v1) +/* 8024F4 80241C74 AFA30020 */ sw $v1, 0x20($sp) +/* 8024F8 80241C78 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8024FC 80241C7C 8C630088 */ lw $v1, 0x88($v1) +/* 802500 80241C80 AFA30024 */ sw $v1, 0x24($sp) +/* 802504 80241C84 8E2300D0 */ lw $v1, 0xd0($s1) +/* 802508 80241C88 8C63008C */ lw $v1, 0x8c($v1) +/* 80250C 80241C8C 27B50018 */ addiu $s5, $sp, 0x18 +/* 802510 80241C90 AFA30028 */ sw $v1, 0x28($sp) +/* 802514 80241C94 8E2300D0 */ lw $v1, 0xd0($s1) +/* 802518 80241C98 3C014282 */ lui $at, 0x4282 +/* 80251C 80241C9C 44810000 */ mtc1 $at, $f0 +/* 802520 80241CA0 8C630090 */ lw $v1, 0x90($v1) +/* 802524 80241CA4 0040982D */ daddu $s3, $v0, $zero +/* 802528 80241CA8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 80252C 80241CAC A7A00034 */ sh $zero, 0x34($sp) +/* 802530 80241CB0 16000005 */ bnez $s0, .L80241CC8 +/* 802534 80241CB4 AFA3002C */ sw $v1, 0x2c($sp) +/* 802538 80241CB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 80253C 80241CBC 30420004 */ andi $v0, $v0, 4 +/* 802540 80241CC0 10400044 */ beqz $v0, .L80241DD4 +/* 802544 80241CC4 00000000 */ nop +.L80241CC8: +/* 802548 80241CC8 2404F7FF */ addiu $a0, $zero, -0x801 +/* 80254C 80241CCC AE800070 */ sw $zero, 0x70($s4) +/* 802550 80241CD0 A640008E */ sh $zero, 0x8e($s2) +/* 802554 80241CD4 8E2200CC */ lw $v0, 0xcc($s1) +/* 802558 80241CD8 8E430000 */ lw $v1, ($s2) +/* 80255C 80241CDC 8C420000 */ lw $v0, ($v0) +/* 802560 80241CE0 00641824 */ and $v1, $v1, $a0 +/* 802564 80241CE4 AE430000 */ sw $v1, ($s2) +/* 802568 80241CE8 AE420028 */ sw $v0, 0x28($s2) +/* 80256C 80241CEC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 802570 80241CF0 8C420098 */ lw $v0, 0x98($v0) +/* 802574 80241CF4 54400005 */ bnel $v0, $zero, .L80241D0C +/* 802578 80241CF8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 80257C 80241CFC 34620200 */ ori $v0, $v1, 0x200 +/* 802580 80241D00 2403FFF7 */ addiu $v1, $zero, -9 +/* 802584 80241D04 08090745 */ j .L80241D14 +/* 802588 80241D08 00431024 */ and $v0, $v0, $v1 +.L80241D0C: +/* 80258C 80241D0C 00621024 */ and $v0, $v1, $v0 +/* 802590 80241D10 34420008 */ ori $v0, $v0, 8 +.L80241D14: +/* 802594 80241D14 AE420000 */ sw $v0, ($s2) +/* 802598 80241D18 8E2200B0 */ lw $v0, 0xb0($s1) +/* 80259C 80241D1C 30420004 */ andi $v0, $v0, 4 +/* 8025A0 80241D20 10400008 */ beqz $v0, .L80241D44 +/* 8025A4 80241D24 24020063 */ addiu $v0, $zero, 0x63 +/* 8025A8 80241D28 AE820070 */ sw $v0, 0x70($s4) +/* 8025AC 80241D2C AE800074 */ sw $zero, 0x74($s4) +/* 8025B0 80241D30 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8025B4 80241D34 2403FFFB */ addiu $v1, $zero, -5 +/* 8025B8 80241D38 00431024 */ and $v0, $v0, $v1 +/* 8025BC 80241D3C 0809075C */ j .L80241D70 +/* 8025C0 80241D40 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241D44: +/* 8025C4 80241D44 8E220000 */ lw $v0, ($s1) +/* 8025C8 80241D48 3C034000 */ lui $v1, 0x4000 +/* 8025CC 80241D4C 00431024 */ and $v0, $v0, $v1 +/* 8025D0 80241D50 10400007 */ beqz $v0, .L80241D70 +/* 8025D4 80241D54 3C03BFFF */ lui $v1, 0xbfff +/* 8025D8 80241D58 2402000C */ addiu $v0, $zero, 0xc +/* 8025DC 80241D5C AE820070 */ sw $v0, 0x70($s4) +/* 8025E0 80241D60 8E220000 */ lw $v0, ($s1) +/* 8025E4 80241D64 3463FFFF */ ori $v1, $v1, 0xffff +/* 8025E8 80241D68 00431024 */ and $v0, $v0, $v1 +/* 8025EC 80241D6C AE220000 */ sw $v0, ($s1) +.L80241D70: +/* 8025F0 80241D70 27A50038 */ addiu $a1, $sp, 0x38 +/* 8025F4 80241D74 27A6003C */ addiu $a2, $sp, 0x3c +/* 8025F8 80241D78 C6400038 */ lwc1 $f0, 0x38($s2) +/* 8025FC 80241D7C 864200A8 */ lh $v0, 0xa8($s2) +/* 802600 80241D80 3C0142C8 */ lui $at, 0x42c8 +/* 802604 80241D84 44812000 */ mtc1 $at, $f4 +/* 802608 80241D88 44823000 */ mtc1 $v0, $f6 +/* 80260C 80241D8C 00000000 */ nop +/* 802610 80241D90 468031A0 */ cvt.s.w $f6, $f6 +/* 802614 80241D94 27A20044 */ addiu $v0, $sp, 0x44 +/* 802618 80241D98 E7A00038 */ swc1 $f0, 0x38($sp) +/* 80261C 80241D9C C640003C */ lwc1 $f0, 0x3c($s2) +/* 802620 80241DA0 C6420040 */ lwc1 $f2, 0x40($s2) +/* 802624 80241DA4 46060000 */ add.s $f0, $f0, $f6 +/* 802628 80241DA8 E7A40044 */ swc1 $f4, 0x44($sp) +/* 80262C 80241DAC E7A20040 */ swc1 $f2, 0x40($sp) +/* 802630 80241DB0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 802634 80241DB4 AFA20010 */ sw $v0, 0x10($sp) +/* 802638 80241DB8 8E440080 */ lw $a0, 0x80($s2) +/* 80263C 80241DBC 0C0372DF */ jal func_800DCB7C +/* 802640 80241DC0 27A70040 */ addiu $a3, $sp, 0x40 +/* 802644 80241DC4 10400003 */ beqz $v0, .L80241DD4 +/* 802648 80241DC8 00000000 */ nop +/* 80264C 80241DCC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 802650 80241DD0 E640003C */ swc1 $f0, 0x3c($s2) +.L80241DD4: +/* 802654 80241DD4 8E830070 */ lw $v1, 0x70($s4) +/* 802658 80241DD8 2C620064 */ sltiu $v0, $v1, 0x64 +/* 80265C 80241DDC 10400042 */ beqz $v0, .L80241EE8 +/* 802660 80241DE0 00031080 */ sll $v0, $v1, 2 +/* 802664 80241DE4 3C018026 */ lui $at, 0x8026 +/* 802668 80241DE8 00220821 */ addu $at, $at, $v0 +/* 80266C 80241DEC 8C2226F0 */ lw $v0, 0x26f0($at) +/* 802670 80241DF0 00400008 */ jr $v0 +/* 802674 80241DF4 00000000 */ nop +/* 802678 80241DF8 0280202D */ daddu $a0, $s4, $zero +/* 80267C 80241DFC 0260282D */ daddu $a1, $s3, $zero +/* 802680 80241E00 0C090420 */ jal func_80241080 +/* 802684 80241E04 02A0302D */ daddu $a2, $s5, $zero +/* 802688 80241E08 0280202D */ daddu $a0, $s4, $zero +/* 80268C 80241E0C 0260282D */ daddu $a1, $s3, $zero +/* 802690 80241E10 0C090476 */ jal func_802411D8 +/* 802694 80241E14 02A0302D */ daddu $a2, $s5, $zero +/* 802698 80241E18 080907BA */ j .L80241EE8 +/* 80269C 80241E1C 00000000 */ nop +/* 8026A0 80241E20 0280202D */ daddu $a0, $s4, $zero +/* 8026A4 80241E24 0260282D */ daddu $a1, $s3, $zero +/* 8026A8 80241E28 0C090520 */ jal func_80241480 +/* 8026AC 80241E2C 02A0302D */ daddu $a2, $s5, $zero +/* 8026B0 80241E30 0280202D */ daddu $a0, $s4, $zero +/* 8026B4 80241E34 0260282D */ daddu $a1, $s3, $zero +/* 8026B8 80241E38 0C090550 */ jal func_80241540 +/* 8026BC 80241E3C 02A0302D */ daddu $a2, $s5, $zero +/* 8026C0 80241E40 080907BA */ j .L80241EE8 +/* 8026C4 80241E44 00000000 */ nop +/* 8026C8 80241E48 0280202D */ daddu $a0, $s4, $zero +/* 8026CC 80241E4C 0260282D */ daddu $a1, $s3, $zero +/* 8026D0 80241E50 0C0905BF */ jal func_802416FC +/* 8026D4 80241E54 02A0302D */ daddu $a2, $s5, $zero +/* 8026D8 80241E58 080907BA */ j .L80241EE8 +/* 8026DC 80241E5C 00000000 */ nop +/* 8026E0 80241E60 0280202D */ daddu $a0, $s4, $zero +/* 8026E4 80241E64 0260282D */ daddu $a1, $s3, $zero +/* 8026E8 80241E68 0C0905EC */ jal func_802417B0 +/* 8026EC 80241E6C 02A0302D */ daddu $a2, $s5, $zero +/* 8026F0 80241E70 0280202D */ daddu $a0, $s4, $zero +/* 8026F4 80241E74 0260282D */ daddu $a1, $s3, $zero +/* 8026F8 80241E78 0C090609 */ jal func_80241824 +/* 8026FC 80241E7C 02A0302D */ daddu $a2, $s5, $zero +/* 802700 80241E80 080907BA */ j .L80241EE8 +/* 802704 80241E84 00000000 */ nop +/* 802708 80241E88 0280202D */ daddu $a0, $s4, $zero +/* 80270C 80241E8C 0260282D */ daddu $a1, $s3, $zero +/* 802710 80241E90 0C090627 */ jal func_8024189C +/* 802714 80241E94 02A0302D */ daddu $a2, $s5, $zero +/* 802718 80241E98 0280202D */ daddu $a0, $s4, $zero +/* 80271C 80241E9C 0260282D */ daddu $a1, $s3, $zero +/* 802720 80241EA0 0C090673 */ jal func_802419CC +/* 802724 80241EA4 02A0302D */ daddu $a2, $s5, $zero +/* 802728 80241EA8 080907BA */ j .L80241EE8 +/* 80272C 80241EAC 00000000 */ nop +/* 802730 80241EB0 0280202D */ daddu $a0, $s4, $zero +/* 802734 80241EB4 0260282D */ daddu $a1, $s3, $zero +/* 802738 80241EB8 0C0906BB */ jal func_80241AEC +/* 80273C 80241EBC 02A0302D */ daddu $a2, $s5, $zero +/* 802740 80241EC0 080907BA */ j .L80241EE8 +/* 802744 80241EC4 00000000 */ nop +/* 802748 80241EC8 0280202D */ daddu $a0, $s4, $zero +/* 80274C 80241ECC 0260282D */ daddu $a1, $s3, $zero +/* 802750 80241ED0 0C0906D5 */ jal func_80241B54 +/* 802754 80241ED4 02A0302D */ daddu $a2, $s5, $zero +/* 802758 80241ED8 080907BA */ j .L80241EE8 +/* 80275C 80241EDC 00000000 */ nop +/* 802760 80241EE0 0C0129CF */ jal func_8004A73C +/* 802764 80241EE4 0280202D */ daddu $a0, $s4, $zero +.L80241EE8: +/* 802768 80241EE8 8FBF0060 */ lw $ra, 0x60($sp) +/* 80276C 80241EEC 8FB5005C */ lw $s5, 0x5c($sp) +/* 802770 80241EF0 8FB40058 */ lw $s4, 0x58($sp) +/* 802774 80241EF4 8FB30054 */ lw $s3, 0x54($sp) +/* 802778 80241EF8 8FB20050 */ lw $s2, 0x50($sp) +/* 80277C 80241EFC 8FB1004C */ lw $s1, 0x4c($sp) +/* 802780 80241F00 8FB00048 */ lw $s0, 0x48($sp) +/* 802784 80241F04 0000102D */ daddu $v0, $zero, $zero +/* 802788 80241F08 03E00008 */ jr $ra +/* 80278C 80241F0C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241F10.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241F10.s new file mode 100644 index 0000000000..deea3353e1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241F10.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F10 +/* 802790 80241F10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 802794 80241F14 AFB00010 */ sw $s0, 0x10($sp) +/* 802798 80241F18 3C108025 */ lui $s0, 0x8025 +/* 80279C 80241F1C 26108C30 */ addiu $s0, $s0, -0x73d0 +/* 8027A0 80241F20 AFBF0018 */ sw $ra, 0x18($sp) +/* 8027A4 80241F24 AFB10014 */ sw $s1, 0x14($sp) +/* 8027A8 80241F28 8E020000 */ lw $v0, ($s0) +/* 8027AC 80241F2C 14400010 */ bnez $v0, .L80241F70 +/* 8027B0 80241F30 0080882D */ daddu $s1, $a0, $zero +/* 8027B4 80241F34 0C00AB39 */ jal heap_malloc +/* 8027B8 80241F38 24040040 */ addiu $a0, $zero, 0x40 +/* 8027BC 80241F3C AE020000 */ sw $v0, ($s0) +/* 8027C0 80241F40 0000182D */ daddu $v1, $zero, $zero +/* 8027C4 80241F44 0040282D */ daddu $a1, $v0, $zero +/* 8027C8 80241F48 0220202D */ daddu $a0, $s1, $zero +.L80241F4C: +/* 8027CC 80241F4C 8C820084 */ lw $v0, 0x84($a0) +/* 8027D0 80241F50 24840004 */ addiu $a0, $a0, 4 +/* 8027D4 80241F54 24630001 */ addiu $v1, $v1, 1 +/* 8027D8 80241F58 ACA20000 */ sw $v0, ($a1) +/* 8027DC 80241F5C 28620010 */ slti $v0, $v1, 0x10 +/* 8027E0 80241F60 1440FFFA */ bnez $v0, .L80241F4C +/* 8027E4 80241F64 24A50004 */ addiu $a1, $a1, 4 +/* 8027E8 80241F68 080907EB */ j .L80241FAC +/* 8027EC 80241F6C 00000000 */ nop +.L80241F70: +/* 8027F0 80241F70 0000182D */ daddu $v1, $zero, $zero +/* 8027F4 80241F74 0040282D */ daddu $a1, $v0, $zero +/* 8027F8 80241F78 0220202D */ daddu $a0, $s1, $zero +.L80241F7C: +/* 8027FC 80241F7C 8CA20000 */ lw $v0, ($a1) +/* 802800 80241F80 24A50004 */ addiu $a1, $a1, 4 +/* 802804 80241F84 24630001 */ addiu $v1, $v1, 1 +/* 802808 80241F88 AC820084 */ sw $v0, 0x84($a0) +/* 80280C 80241F8C 28620010 */ slti $v0, $v1, 0x10 +/* 802810 80241F90 1440FFFA */ bnez $v0, .L80241F7C +/* 802814 80241F94 24840004 */ addiu $a0, $a0, 4 +/* 802818 80241F98 3C108025 */ lui $s0, 0x8025 +/* 80281C 80241F9C 26108C30 */ addiu $s0, $s0, -0x73d0 +/* 802820 80241FA0 0C00AB4B */ jal heap_free +/* 802824 80241FA4 8E040000 */ lw $a0, ($s0) +/* 802828 80241FA8 AE000000 */ sw $zero, ($s0) +.L80241FAC: +/* 80282C 80241FAC 8FBF0018 */ lw $ra, 0x18($sp) +/* 802830 80241FB0 8FB10014 */ lw $s1, 0x14($sp) +/* 802834 80241FB4 8FB00010 */ lw $s0, 0x10($sp) +/* 802838 80241FB8 24020002 */ addiu $v0, $zero, 2 +/* 80283C 80241FBC 03E00008 */ jr $ra +/* 802840 80241FC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80241FC4.s b/asm/nonmatchings/world/area_mac/mac_01/func_80241FC4.s new file mode 100644 index 0000000000..ce49bc1ea9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80241FC4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FC4 +/* 802844 80241FC4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 802848 80241FC8 AFB00010 */ sw $s0, 0x10($sp) +/* 80284C 80241FCC 0080802D */ daddu $s0, $a0, $zero +/* 802850 80241FD0 AFBF0018 */ sw $ra, 0x18($sp) +/* 802854 80241FD4 AFB10014 */ sw $s1, 0x14($sp) +/* 802858 80241FD8 8E02000C */ lw $v0, 0xc($s0) +/* 80285C 80241FDC 8C510000 */ lw $s1, ($v0) +/* 802860 80241FE0 0C0B1EAF */ jal get_variable +/* 802864 80241FE4 0220282D */ daddu $a1, $s1, $zero +/* 802868 80241FE8 3C03FFF0 */ lui $v1, 0xfff0 +/* 80286C 80241FEC 3463FFFF */ ori $v1, $v1, 0xffff +/* 802870 80241FF0 0200202D */ daddu $a0, $s0, $zero +/* 802874 80241FF4 00431024 */ and $v0, $v0, $v1 +/* 802878 80241FF8 00021140 */ sll $v0, $v0, 5 +/* 80287C 80241FFC 3C068008 */ lui $a2, %hi(gItemTable) +/* 802880 80242000 00C23021 */ addu $a2, $a2, $v0 +/* 802884 80242004 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 802888 80242008 0C0B2026 */ jal set_variable +/* 80288C 8024200C 0220282D */ daddu $a1, $s1, $zero +/* 802890 80242010 8FBF0018 */ lw $ra, 0x18($sp) +/* 802894 80242014 8FB10014 */ lw $s1, 0x14($sp) +/* 802898 80242018 8FB00010 */ lw $s0, 0x10($sp) +/* 80289C 8024201C 24020002 */ addiu $v0, $zero, 2 +/* 8028A0 80242020 03E00008 */ jr $ra +/* 8028A4 80242024 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242028.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242028.s new file mode 100644 index 0000000000..c210aee5d1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242028.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242028 +/* 8028A8 80242028 24020001 */ addiu $v0, $zero, 1 +/* 8028AC 8024202C 3C018015 */ lui $at, %hi(D_80151310) +/* 8028B0 80242030 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 8028B4 80242034 03E00008 */ jr $ra +/* 8028B8 80242038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024203C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024203C.s new file mode 100644 index 0000000000..ef7790fa75 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024203C.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024203C +/* 8028BC 8024203C 3C018015 */ lui $at, %hi(D_80151310) +/* 8028C0 80242040 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 8028C4 80242044 03E00008 */ jr $ra +/* 8028C8 80242048 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024204C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024204C.s new file mode 100644 index 0000000000..c3d797feee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024204C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024204C +/* 8028CC 8024204C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8028D0 80242050 AFB10024 */ sw $s1, 0x24($sp) +/* 8028D4 80242054 0080882D */ daddu $s1, $a0, $zero +/* 8028D8 80242058 3C05F840 */ lui $a1, 0xf840 +/* 8028DC 8024205C AFBF0044 */ sw $ra, 0x44($sp) +/* 8028E0 80242060 AFBE0040 */ sw $fp, 0x40($sp) +/* 8028E4 80242064 AFB7003C */ sw $s7, 0x3c($sp) +/* 8028E8 80242068 AFB60038 */ sw $s6, 0x38($sp) +/* 8028EC 8024206C AFB50034 */ sw $s5, 0x34($sp) +/* 8028F0 80242070 AFB40030 */ sw $s4, 0x30($sp) +/* 8028F4 80242074 AFB3002C */ sw $s3, 0x2c($sp) +/* 8028F8 80242078 AFB20028 */ sw $s2, 0x28($sp) +/* 8028FC 8024207C AFB00020 */ sw $s0, 0x20($sp) +/* 802900 80242080 8E3E0148 */ lw $fp, 0x148($s1) +/* 802904 80242084 0C0B1EAF */ jal get_variable +/* 802908 80242088 34A56268 */ ori $a1, $a1, 0x6268 +/* 80290C 8024208C 0040802D */ daddu $s0, $v0, $zero +/* 802910 80242090 0220202D */ daddu $a0, $s1, $zero +/* 802914 80242094 3C05F840 */ lui $a1, 0xf840 +/* 802918 80242098 0C0B1EAF */ jal get_variable +/* 80291C 8024209C 34A56269 */ ori $a1, $a1, 0x6269 +/* 802920 802420A0 0040B82D */ daddu $s7, $v0, $zero +/* 802924 802420A4 0220202D */ daddu $a0, $s1, $zero +/* 802928 802420A8 3C05F5DE */ lui $a1, 0xf5de +/* 80292C 802420AC 0C0B1EAF */ jal get_variable +/* 802930 802420B0 34A502DE */ ori $a1, $a1, 0x2de +/* 802934 802420B4 0040B02D */ daddu $s6, $v0, $zero +/* 802938 802420B8 0220202D */ daddu $a0, $s1, $zero +/* 80293C 802420BC 3C05F5DE */ lui $a1, 0xf5de +/* 802940 802420C0 0C0B1EAF */ jal get_variable +/* 802944 802420C4 34A502DF */ ori $a1, $a1, 0x2df +/* 802948 802420C8 0040A82D */ daddu $s5, $v0, $zero +/* 80294C 802420CC 93D3006D */ lbu $s3, 0x6d($fp) +/* 802950 802420D0 32C2FFFF */ andi $v0, $s6, 0xffff +/* 802954 802420D4 A7B30010 */ sh $s3, 0x10($sp) +/* 802958 802420D8 93D2006E */ lbu $s2, 0x6e($fp) +/* 80295C 802420DC 93C7006F */ lbu $a3, 0x6f($fp) +/* 802960 802420E0 3274FFFF */ andi $s4, $s3, 0xffff +/* 802964 802420E4 12820003 */ beq $s4, $v0, .L802420F4 +/* 802968 802420E8 A7A7001E */ sh $a3, 0x1e($sp) +/* 80296C 802420EC 0000B82D */ daddu $s7, $zero, $zero +/* 802970 802420F0 02E0802D */ daddu $s0, $s7, $zero +.L802420F4: +/* 802974 802420F4 3202FFFF */ andi $v0, $s0, 0xffff +/* 802978 802420F8 14400016 */ bnez $v0, .L80242154 +/* 80297C 802420FC 0220202D */ daddu $a0, $s1, $zero +/* 802980 80242100 0C00A67F */ jal rand_int +/* 802984 80242104 24040064 */ addiu $a0, $zero, 0x64 +/* 802988 80242108 2842001E */ slti $v0, $v0, 0x1e +/* 80298C 8024210C 10400011 */ beqz $v0, .L80242154 +/* 802990 80242110 0220202D */ daddu $a0, $s1, $zero +/* 802994 80242114 0C00A67F */ jal rand_int +/* 802998 80242118 2644FFFF */ addiu $a0, $s2, -1 +/* 80299C 8024211C 0040A82D */ daddu $s5, $v0, $zero +/* 8029A0 80242120 0260B02D */ daddu $s6, $s3, $zero +/* 8029A4 80242124 0220202D */ daddu $a0, $s1, $zero +/* 8029A8 80242128 3C05F5DE */ lui $a1, 0xf5de +/* 8029AC 8024212C 34A502DE */ ori $a1, $a1, 0x2de +/* 8029B0 80242130 0C0B2026 */ jal set_variable +/* 8029B4 80242134 0280302D */ daddu $a2, $s4, $zero +/* 8029B8 80242138 0220202D */ daddu $a0, $s1, $zero +/* 8029BC 8024213C 3C05F5DE */ lui $a1, 0xf5de +/* 8029C0 80242140 34A502DF */ ori $a1, $a1, 0x2df +/* 8029C4 80242144 0C0B2026 */ jal set_variable +/* 8029C8 80242148 32A6FFFF */ andi $a2, $s5, 0xffff +/* 8029CC 8024214C 24100001 */ addiu $s0, $zero, 1 +/* 8029D0 80242150 0220202D */ daddu $a0, $s1, $zero +.L80242154: +/* 8029D4 80242154 3C05F840 */ lui $a1, 0xf840 +/* 8029D8 80242158 34A56268 */ ori $a1, $a1, 0x6268 +/* 8029DC 8024215C 0C0B2026 */ jal set_variable +/* 8029E0 80242160 3206FFFF */ andi $a2, $s0, 0xffff +/* 8029E4 80242164 0220202D */ daddu $a0, $s1, $zero +/* 8029E8 80242168 3C05F840 */ lui $a1, 0xf840 +/* 8029EC 8024216C 34A56269 */ ori $a1, $a1, 0x6269 +/* 8029F0 80242170 0C0B2026 */ jal set_variable +/* 8029F4 80242174 32E6FFFF */ andi $a2, $s7, 0xffff +/* 8029F8 80242178 0000202D */ daddu $a0, $zero, $zero +/* 8029FC 8024217C 3C05F5DE */ lui $a1, 0xf5de +/* 802A00 80242180 0C0B1EAF */ jal get_variable +/* 802A04 80242184 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 802A08 80242188 0000202D */ daddu $a0, $zero, $zero +/* 802A0C 8024218C 3C05F5DE */ lui $a1, 0xf5de +/* 802A10 80242190 34A50180 */ ori $a1, $a1, 0x180 +/* 802A14 80242194 0C0B1EAF */ jal get_variable +/* 802A18 80242198 0040802D */ daddu $s0, $v0, $zero +/* 802A1C 8024219C 0040282D */ daddu $a1, $v0, $zero +/* 802A20 802421A0 0000182D */ daddu $v1, $zero, $zero +/* 802A24 802421A4 3C068025 */ lui $a2, 0x8025 +/* 802A28 802421A8 24C68CD4 */ addiu $a2, $a2, -0x732c +/* 802A2C 802421AC 00C0202D */ daddu $a0, $a2, $zero +.L802421B0: +/* 802A30 802421B0 8C820000 */ lw $v0, ($a0) +/* 802A34 802421B4 00A2102A */ slt $v0, $a1, $v0 +/* 802A38 802421B8 14400006 */ bnez $v0, .L802421D4 +/* 802A3C 802421BC 000310C0 */ sll $v0, $v1, 3 +/* 802A40 802421C0 24630001 */ addiu $v1, $v1, 1 +/* 802A44 802421C4 28620008 */ slti $v0, $v1, 8 +/* 802A48 802421C8 1440FFF9 */ bnez $v0, .L802421B0 +/* 802A4C 802421CC 24840008 */ addiu $a0, $a0, 8 +/* 802A50 802421D0 000310C0 */ sll $v0, $v1, 3 +.L802421D4: +/* 802A54 802421D4 00461021 */ addu $v0, $v0, $a2 +/* 802A58 802421D8 8C420004 */ lw $v0, 4($v0) +/* 802A5C 802421DC 97A30010 */ lhu $v1, 0x10($sp) +/* 802A60 802421E0 0202202A */ slt $a0, $s0, $v0 +/* 802A64 802421E4 32C2FFFF */ andi $v0, $s6, 0xffff +/* 802A68 802421E8 14620008 */ bne $v1, $v0, .L8024220C +/* 802A6C 802421EC 32A2FFFF */ andi $v0, $s5, 0xffff +/* 802A70 802421F0 97A7001E */ lhu $a3, 0x1e($sp) +/* 802A74 802421F4 14E20005 */ bne $a3, $v0, .L8024220C +/* 802A78 802421F8 32E2FFFF */ andi $v0, $s7, 0xffff +/* 802A7C 802421FC 14400003 */ bnez $v0, .L8024220C +/* 802A80 80242200 00000000 */ nop +/* 802A84 80242204 14800008 */ bnez $a0, .L80242228 +/* 802A88 80242208 24020001 */ addiu $v0, $zero, 1 +.L8024220C: +/* 802A8C 8024220C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 802A90 80242210 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 802A94 80242214 80420075 */ lb $v0, 0x75($v0) +/* 802A98 80242218 10400005 */ beqz $v0, .L80242230 +/* 802A9C 8024221C 00000000 */ nop +/* 802AA0 80242220 10800003 */ beqz $a0, .L80242230 +/* 802AA4 80242224 24020001 */ addiu $v0, $zero, 1 +.L80242228: +/* 802AA8 80242228 0809088F */ j .L8024223C +/* 802AAC 8024222C AE220084 */ sw $v0, 0x84($s1) +.L80242230: +/* 802AB0 80242230 0C00F9EB */ jal kill_enemy +/* 802AB4 80242234 03C0202D */ daddu $a0, $fp, $zero +/* 802AB8 80242238 AE200084 */ sw $zero, 0x84($s1) +.L8024223C: +/* 802ABC 8024223C 8FBF0044 */ lw $ra, 0x44($sp) +/* 802AC0 80242240 8FBE0040 */ lw $fp, 0x40($sp) +/* 802AC4 80242244 8FB7003C */ lw $s7, 0x3c($sp) +/* 802AC8 80242248 8FB60038 */ lw $s6, 0x38($sp) +/* 802ACC 8024224C 8FB50034 */ lw $s5, 0x34($sp) +/* 802AD0 80242250 8FB40030 */ lw $s4, 0x30($sp) +/* 802AD4 80242254 8FB3002C */ lw $s3, 0x2c($sp) +/* 802AD8 80242258 8FB20028 */ lw $s2, 0x28($sp) +/* 802ADC 8024225C 8FB10024 */ lw $s1, 0x24($sp) +/* 802AE0 80242260 8FB00020 */ lw $s0, 0x20($sp) +/* 802AE4 80242264 24020002 */ addiu $v0, $zero, 2 +/* 802AE8 80242268 03E00008 */ jr $ra +/* 802AEC 8024226C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242270.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242270.s new file mode 100644 index 0000000000..d7a112358a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242270.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242270 +/* 802AF0 80242270 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 802AF4 80242274 AFBF0014 */ sw $ra, 0x14($sp) +/* 802AF8 80242278 AFB00010 */ sw $s0, 0x10($sp) +/* 802AFC 8024227C 0C00EABB */ jal get_npc_unsafe +/* 802B00 80242280 8C84014C */ lw $a0, 0x14c($a0) +/* 802B04 80242284 24040008 */ addiu $a0, $zero, 8 +/* 802B08 80242288 0040802D */ daddu $s0, $v0, $zero +/* 802B0C 8024228C 3C028024 */ lui $v0, 0x8024 +/* 802B10 80242290 244222DC */ addiu $v0, $v0, 0x22dc +/* 802B14 80242294 0C00AB39 */ jal heap_malloc +/* 802B18 80242298 AE020008 */ sw $v0, 8($s0) +/* 802B1C 8024229C 0040182D */ daddu $v1, $v0, $zero +/* 802B20 802422A0 AE030020 */ sw $v1, 0x20($s0) +/* 802B24 802422A4 AC600000 */ sw $zero, ($v1) +/* 802B28 802422A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 802B2C 802422AC 8FB00010 */ lw $s0, 0x10($sp) +/* 802B30 802422B0 24020001 */ addiu $v0, $zero, 1 +/* 802B34 802422B4 03E00008 */ jr $ra +/* 802B38 802422B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802422BC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802422BC.s new file mode 100644 index 0000000000..956ba24e03 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802422BC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422BC +/* 802B3C 802422BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 802B40 802422C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 802B44 802422C4 0C00EABB */ jal get_npc_unsafe +/* 802B48 802422C8 8C84014C */ lw $a0, 0x14c($a0) +/* 802B4C 802422CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 802B50 802422D0 0000102D */ daddu $v0, $zero, $zero +/* 802B54 802422D4 03E00008 */ jr $ra +/* 802B58 802422D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802422DC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802422DC.s new file mode 100644 index 0000000000..79623bf576 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802422DC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422DC +/* 802B5C 802422DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 802B60 802422E0 3C03800A */ lui $v1, 0x800a +/* 802B64 802422E4 8463A634 */ lh $v1, -0x59cc($v1) +/* 802B68 802422E8 3C05800B */ lui $a1, %hi(gCameras) +/* 802B6C 802422EC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 802B70 802422F0 AFBF0010 */ sw $ra, 0x10($sp) +/* 802B74 802422F4 00031080 */ sll $v0, $v1, 2 +/* 802B78 802422F8 00431021 */ addu $v0, $v0, $v1 +/* 802B7C 802422FC 00021080 */ sll $v0, $v0, 2 +/* 802B80 80242300 00431023 */ subu $v0, $v0, $v1 +/* 802B84 80242304 000218C0 */ sll $v1, $v0, 3 +/* 802B88 80242308 00431021 */ addu $v0, $v0, $v1 +/* 802B8C 8024230C 8C830020 */ lw $v1, 0x20($a0) +/* 802B90 80242310 000210C0 */ sll $v0, $v0, 3 +/* 802B94 80242314 8C630000 */ lw $v1, ($v1) +/* 802B98 80242318 30630001 */ andi $v1, $v1, 1 +/* 802B9C 8024231C 10600004 */ beqz $v1, .L80242330 +/* 802BA0 80242320 00451021 */ addu $v0, $v0, $a1 +/* 802BA4 80242324 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 802BA8 80242328 0C00A6C9 */ jal clamp_angle +/* 802BAC 8024232C 46006307 */ neg.s $f12, $f12 +.L80242330: +/* 802BB0 80242330 8FBF0010 */ lw $ra, 0x10($sp) +/* 802BB4 80242334 03E00008 */ jr $ra +/* 802BB8 80242338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024233C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024233C.s new file mode 100644 index 0000000000..0d83414633 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024233C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024233C +/* 802BBC 8024233C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 802BC0 80242340 AFB10014 */ sw $s1, 0x14($sp) +/* 802BC4 80242344 0080882D */ daddu $s1, $a0, $zero +/* 802BC8 80242348 AFBF0024 */ sw $ra, 0x24($sp) +/* 802BCC 8024234C AFB40020 */ sw $s4, 0x20($sp) +/* 802BD0 80242350 AFB3001C */ sw $s3, 0x1c($sp) +/* 802BD4 80242354 AFB20018 */ sw $s2, 0x18($sp) +/* 802BD8 80242358 10A00033 */ beqz $a1, .L80242428 +/* 802BDC 8024235C AFB00010 */ sw $s0, 0x10($sp) +/* 802BE0 80242360 0C04760B */ jal func_8011D82C +/* 802BE4 80242364 24040001 */ addiu $a0, $zero, 1 +/* 802BE8 80242368 0000202D */ daddu $a0, $zero, $zero +/* 802BEC 8024236C 0080282D */ daddu $a1, $a0, $zero +/* 802BF0 80242370 0080302D */ daddu $a2, $a0, $zero +/* 802BF4 80242374 0080382D */ daddu $a3, $a0, $zero +/* 802BF8 80242378 0080802D */ daddu $s0, $a0, $zero +/* 802BFC 8024237C 2414FFFC */ addiu $s4, $zero, -4 +/* 802C00 80242380 24130005 */ addiu $s3, $zero, 5 +/* 802C04 80242384 3C120080 */ lui $s2, 0x80 +/* 802C08 80242388 3C038015 */ lui $v1, 0x8015 +/* 802C0C 8024238C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 802C10 80242390 24020001 */ addiu $v0, $zero, 1 +/* 802C14 80242394 0C046F97 */ jal set_background_color_blend +/* 802C18 80242398 A0620000 */ sb $v0, ($v1) +.L8024239C: +/* 802C1C 8024239C 0C00E2B7 */ jal get_npc_by_index +/* 802C20 802423A0 0200202D */ daddu $a0, $s0, $zero +/* 802C24 802423A4 0040202D */ daddu $a0, $v0, $zero +/* 802C28 802423A8 5080000B */ beql $a0, $zero, .L802423D8 +/* 802C2C 802423AC 26100001 */ addiu $s0, $s0, 1 +/* 802C30 802423B0 8C820000 */ lw $v0, ($a0) +/* 802C34 802423B4 50400008 */ beql $v0, $zero, .L802423D8 +/* 802C38 802423B8 26100001 */ addiu $s0, $s0, 1 +/* 802C3C 802423BC 808300A4 */ lb $v1, 0xa4($a0) +/* 802C40 802423C0 10740005 */ beq $v1, $s4, .L802423D8 +/* 802C44 802423C4 26100001 */ addiu $s0, $s0, 1 +/* 802C48 802423C8 10730003 */ beq $v1, $s3, .L802423D8 +/* 802C4C 802423CC 00000000 */ nop +/* 802C50 802423D0 00521025 */ or $v0, $v0, $s2 +/* 802C54 802423D4 AC820000 */ sw $v0, ($a0) +.L802423D8: +/* 802C58 802423D8 2A020040 */ slti $v0, $s0, 0x40 +/* 802C5C 802423DC 1440FFEF */ bnez $v0, .L8024239C +/* 802C60 802423E0 00000000 */ nop +/* 802C64 802423E4 0000802D */ daddu $s0, $zero, $zero +/* 802C68 802423E8 3C120800 */ lui $s2, 0x800 +.L802423EC: +/* 802C6C 802423EC 0C04C3D6 */ jal get_item_entity +/* 802C70 802423F0 0200202D */ daddu $a0, $s0, $zero +/* 802C74 802423F4 0040182D */ daddu $v1, $v0, $zero +/* 802C78 802423F8 10600007 */ beqz $v1, .L80242418 +/* 802C7C 802423FC 26100001 */ addiu $s0, $s0, 1 +/* 802C80 80242400 8C640000 */ lw $a0, ($v1) +/* 802C84 80242404 30820010 */ andi $v0, $a0, 0x10 +/* 802C88 80242408 10400003 */ beqz $v0, .L80242418 +/* 802C8C 8024240C 00000000 */ nop +/* 802C90 80242410 00921025 */ or $v0, $a0, $s2 +/* 802C94 80242414 AC620000 */ sw $v0, ($v1) +.L80242418: +/* 802C98 80242418 2A020100 */ slti $v0, $s0, 0x100 +/* 802C9C 8024241C 1440FFF3 */ bnez $v0, .L802423EC +/* 802CA0 80242420 00000000 */ nop +/* 802CA4 80242424 AE200070 */ sw $zero, 0x70($s1) +.L80242428: +/* 802CA8 80242428 8E220070 */ lw $v0, 0x70($s1) +/* 802CAC 8024242C 24420008 */ addiu $v0, $v0, 8 +/* 802CB0 80242430 AE220070 */ sw $v0, 0x70($s1) +/* 802CB4 80242434 28420100 */ slti $v0, $v0, 0x100 +/* 802CB8 80242438 14400003 */ bnez $v0, .L80242448 +/* 802CBC 8024243C 0000202D */ daddu $a0, $zero, $zero +/* 802CC0 80242440 240200FF */ addiu $v0, $zero, 0xff +/* 802CC4 80242444 AE220070 */ sw $v0, 0x70($s1) +.L80242448: +/* 802CC8 80242448 0080282D */ daddu $a1, $a0, $zero +/* 802CCC 8024244C 92270073 */ lbu $a3, 0x73($s1) +/* 802CD0 80242450 0C046F97 */ jal set_background_color_blend +/* 802CD4 80242454 0080302D */ daddu $a2, $a0, $zero +/* 802CD8 80242458 8E220070 */ lw $v0, 0x70($s1) +/* 802CDC 8024245C 8FBF0024 */ lw $ra, 0x24($sp) +/* 802CE0 80242460 8FB40020 */ lw $s4, 0x20($sp) +/* 802CE4 80242464 8FB3001C */ lw $s3, 0x1c($sp) +/* 802CE8 80242468 8FB20018 */ lw $s2, 0x18($sp) +/* 802CEC 8024246C 8FB10014 */ lw $s1, 0x14($sp) +/* 802CF0 80242470 8FB00010 */ lw $s0, 0x10($sp) +/* 802CF4 80242474 384200FF */ xori $v0, $v0, 0xff +/* 802CF8 80242478 2C420001 */ sltiu $v0, $v0, 1 +/* 802CFC 8024247C 00021040 */ sll $v0, $v0, 1 +/* 802D00 80242480 03E00008 */ jr $ra +/* 802D04 80242484 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242488.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242488.s new file mode 100644 index 0000000000..11a386d45e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242488.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242488 +/* 802D08 80242488 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 802D0C 8024248C AFB00010 */ sw $s0, 0x10($sp) +/* 802D10 80242490 0080802D */ daddu $s0, $a0, $zero +/* 802D14 80242494 AFBF0020 */ sw $ra, 0x20($sp) +/* 802D18 80242498 AFB3001C */ sw $s3, 0x1c($sp) +/* 802D1C 8024249C AFB20018 */ sw $s2, 0x18($sp) +/* 802D20 802424A0 10A00009 */ beqz $a1, .L802424C8 +/* 802D24 802424A4 AFB10014 */ sw $s1, 0x14($sp) +/* 802D28 802424A8 0000202D */ daddu $a0, $zero, $zero +/* 802D2C 802424AC 0080282D */ daddu $a1, $a0, $zero +/* 802D30 802424B0 0080302D */ daddu $a2, $a0, $zero +/* 802D34 802424B4 0C046F97 */ jal set_background_color_blend +/* 802D38 802424B8 240700FF */ addiu $a3, $zero, 0xff +/* 802D3C 802424BC 240200FF */ addiu $v0, $zero, 0xff +/* 802D40 802424C0 AE020070 */ sw $v0, 0x70($s0) +/* 802D44 802424C4 AE000074 */ sw $zero, 0x74($s0) +.L802424C8: +/* 802D48 802424C8 8E020070 */ lw $v0, 0x70($s0) +/* 802D4C 802424CC 2442FFF8 */ addiu $v0, $v0, -8 +/* 802D50 802424D0 04410002 */ bgez $v0, .L802424DC +/* 802D54 802424D4 AE020070 */ sw $v0, 0x70($s0) +/* 802D58 802424D8 AE000070 */ sw $zero, 0x70($s0) +.L802424DC: +/* 802D5C 802424DC 0000202D */ daddu $a0, $zero, $zero +/* 802D60 802424E0 0080282D */ daddu $a1, $a0, $zero +/* 802D64 802424E4 92070073 */ lbu $a3, 0x73($s0) +/* 802D68 802424E8 0C046F97 */ jal set_background_color_blend +/* 802D6C 802424EC 0080302D */ daddu $a2, $a0, $zero +/* 802D70 802424F0 8E020070 */ lw $v0, 0x70($s0) +/* 802D74 802424F4 14400006 */ bnez $v0, .L80242510 +/* 802D78 802424F8 00000000 */ nop +/* 802D7C 802424FC 8E020074 */ lw $v0, 0x74($s0) +/* 802D80 80242500 14400003 */ bnez $v0, .L80242510 +/* 802D84 80242504 24020001 */ addiu $v0, $zero, 1 +/* 802D88 80242508 08090977 */ j .L802425DC +/* 802D8C 8024250C AE020074 */ sw $v0, 0x74($s0) +.L80242510: +/* 802D90 80242510 8E030074 */ lw $v1, 0x74($s0) +/* 802D94 80242514 24020001 */ addiu $v0, $zero, 1 +/* 802D98 80242518 14620031 */ bne $v1, $v0, .L802425E0 +/* 802D9C 8024251C 0000102D */ daddu $v0, $zero, $zero +/* 802DA0 80242520 0C04760B */ jal func_8011D82C +/* 802DA4 80242524 0000202D */ daddu $a0, $zero, $zero +/* 802DA8 80242528 0000802D */ daddu $s0, $zero, $zero +/* 802DAC 8024252C 2413FFFC */ addiu $s3, $zero, -4 +/* 802DB0 80242530 24120005 */ addiu $s2, $zero, 5 +/* 802DB4 80242534 3C11FF7F */ lui $s1, 0xff7f +/* 802DB8 80242538 3C028015 */ lui $v0, 0x8015 +/* 802DBC 8024253C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 802DC0 80242540 3631FFFF */ ori $s1, $s1, 0xffff +/* 802DC4 80242544 A0400000 */ sb $zero, ($v0) +.L80242548: +/* 802DC8 80242548 0C00E2B7 */ jal get_npc_by_index +/* 802DCC 8024254C 0200202D */ daddu $a0, $s0, $zero +/* 802DD0 80242550 0040202D */ daddu $a0, $v0, $zero +/* 802DD4 80242554 5080000B */ beql $a0, $zero, .L80242584 +/* 802DD8 80242558 26100001 */ addiu $s0, $s0, 1 +/* 802DDC 8024255C 8C820000 */ lw $v0, ($a0) +/* 802DE0 80242560 50400008 */ beql $v0, $zero, .L80242584 +/* 802DE4 80242564 26100001 */ addiu $s0, $s0, 1 +/* 802DE8 80242568 808300A4 */ lb $v1, 0xa4($a0) +/* 802DEC 8024256C 10730005 */ beq $v1, $s3, .L80242584 +/* 802DF0 80242570 26100001 */ addiu $s0, $s0, 1 +/* 802DF4 80242574 10720003 */ beq $v1, $s2, .L80242584 +/* 802DF8 80242578 00000000 */ nop +/* 802DFC 8024257C 00511024 */ and $v0, $v0, $s1 +/* 802E00 80242580 AC820000 */ sw $v0, ($a0) +.L80242584: +/* 802E04 80242584 2A020040 */ slti $v0, $s0, 0x40 +/* 802E08 80242588 1440FFEF */ bnez $v0, .L80242548 +/* 802E0C 8024258C 00000000 */ nop +/* 802E10 80242590 0000802D */ daddu $s0, $zero, $zero +/* 802E14 80242594 3C11F7FF */ lui $s1, 0xf7ff +/* 802E18 80242598 3631FFFF */ ori $s1, $s1, 0xffff +.L8024259C: +/* 802E1C 8024259C 0C04C3D6 */ jal get_item_entity +/* 802E20 802425A0 0200202D */ daddu $a0, $s0, $zero +/* 802E24 802425A4 0040182D */ daddu $v1, $v0, $zero +/* 802E28 802425A8 10600007 */ beqz $v1, .L802425C8 +/* 802E2C 802425AC 26100001 */ addiu $s0, $s0, 1 +/* 802E30 802425B0 8C640000 */ lw $a0, ($v1) +/* 802E34 802425B4 30820010 */ andi $v0, $a0, 0x10 +/* 802E38 802425B8 10400003 */ beqz $v0, .L802425C8 +/* 802E3C 802425BC 00000000 */ nop +/* 802E40 802425C0 00911024 */ and $v0, $a0, $s1 +/* 802E44 802425C4 AC620000 */ sw $v0, ($v1) +.L802425C8: +/* 802E48 802425C8 2A020100 */ slti $v0, $s0, 0x100 +/* 802E4C 802425CC 1440FFF3 */ bnez $v0, .L8024259C +/* 802E50 802425D0 24020002 */ addiu $v0, $zero, 2 +/* 802E54 802425D4 08090978 */ j .L802425E0 +/* 802E58 802425D8 00000000 */ nop +.L802425DC: +/* 802E5C 802425DC 0000102D */ daddu $v0, $zero, $zero +.L802425E0: +/* 802E60 802425E0 8FBF0020 */ lw $ra, 0x20($sp) +/* 802E64 802425E4 8FB3001C */ lw $s3, 0x1c($sp) +/* 802E68 802425E8 8FB20018 */ lw $s2, 0x18($sp) +/* 802E6C 802425EC 8FB10014 */ lw $s1, 0x14($sp) +/* 802E70 802425F0 8FB00010 */ lw $s0, 0x10($sp) +/* 802E74 802425F4 03E00008 */ jr $ra +/* 802E78 802425F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802425FC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802425FC.s new file mode 100644 index 0000000000..c70cb2099a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802425FC.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425FC +/* 802E7C 802425FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 802E80 80242600 AFB00010 */ sw $s0, 0x10($sp) +/* 802E84 80242604 3C108011 */ lui $s0, %hi(gPlayerData) +/* 802E88 80242608 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 802E8C 8024260C AFBF0018 */ sw $ra, 0x18($sp) +/* 802E90 80242610 AFB10014 */ sw $s1, 0x14($sp) +/* 802E94 80242614 960302C0 */ lhu $v1, 0x2c0($s0) +/* 802E98 80242618 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 802E9C 8024261C 10400003 */ beqz $v0, .L8024262C +/* 802EA0 80242620 0080882D */ daddu $s1, $a0, $zero +/* 802EA4 80242624 24620001 */ addiu $v0, $v1, 1 +/* 802EA8 80242628 A60202C0 */ sh $v0, 0x2c0($s0) +.L8024262C: +/* 802EAC 8024262C 3C05F5DE */ lui $a1, 0xf5de +/* 802EB0 80242630 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 802EB4 80242634 0C0B1EAF */ jal get_variable +/* 802EB8 80242638 0000202D */ daddu $a0, $zero, $zero +/* 802EBC 8024263C 3C038025 */ lui $v1, 0x8025 +/* 802EC0 80242640 00621821 */ addu $v1, $v1, $v0 +/* 802EC4 80242644 90638C94 */ lbu $v1, -0x736c($v1) +/* 802EC8 80242648 8E220084 */ lw $v0, 0x84($s1) +/* 802ECC 8024264C 54430006 */ bnel $v0, $v1, .L80242668 +/* 802ED0 80242650 AE200084 */ sw $zero, 0x84($s1) +/* 802ED4 80242654 24020001 */ addiu $v0, $zero, 1 +/* 802ED8 80242658 AE220084 */ sw $v0, 0x84($s1) +/* 802EDC 8024265C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 802EE0 80242660 24420001 */ addiu $v0, $v0, 1 +/* 802EE4 80242664 A60202C2 */ sh $v0, 0x2c2($s0) +.L80242668: +/* 802EE8 80242668 8FBF0018 */ lw $ra, 0x18($sp) +/* 802EEC 8024266C 8FB10014 */ lw $s1, 0x14($sp) +/* 802EF0 80242670 8FB00010 */ lw $s0, 0x10($sp) +/* 802EF4 80242674 24020002 */ addiu $v0, $zero, 2 +/* 802EF8 80242678 03E00008 */ jr $ra +/* 802EFC 8024267C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242680.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242680.s new file mode 100644 index 0000000000..86cdccbf88 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242680.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242680 +/* 802F00 80242680 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 802F04 80242684 AFB1001C */ sw $s1, 0x1c($sp) +/* 802F08 80242688 AFBF0020 */ sw $ra, 0x20($sp) +/* 802F0C 8024268C AFB00018 */ sw $s0, 0x18($sp) +/* 802F10 80242690 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 802F14 80242694 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 802F18 80242698 10A00060 */ beqz $a1, .L8024281C +/* 802F1C 8024269C 0080882D */ daddu $s1, $a0, $zero +/* 802F20 802426A0 3C05F4AC */ lui $a1, 0xf4ac +/* 802F24 802426A4 0C0B1EAF */ jal get_variable +/* 802F28 802426A8 34A5D481 */ ori $a1, $a1, 0xd481 +/* 802F2C 802426AC 0220202D */ daddu $a0, $s1, $zero +/* 802F30 802426B0 3C05F4AC */ lui $a1, 0xf4ac +/* 802F34 802426B4 4482B000 */ mtc1 $v0, $f22 +/* 802F38 802426B8 00000000 */ nop +/* 802F3C 802426BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 802F40 802426C0 0C0B1EAF */ jal get_variable +/* 802F44 802426C4 34A5D482 */ ori $a1, $a1, 0xd482 +/* 802F48 802426C8 0220202D */ daddu $a0, $s1, $zero +/* 802F4C 802426CC 3C05F4AC */ lui $a1, 0xf4ac +/* 802F50 802426D0 4482A000 */ mtc1 $v0, $f20 +/* 802F54 802426D4 00000000 */ nop +/* 802F58 802426D8 4680A520 */ cvt.s.w $f20, $f20 +/* 802F5C 802426DC 0C0B1EAF */ jal get_variable +/* 802F60 802426E0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 802F64 802426E4 44821000 */ mtc1 $v0, $f2 +/* 802F68 802426E8 00000000 */ nop +/* 802F6C 802426EC 468010A0 */ cvt.s.w $f2, $f2 +/* 802F70 802426F0 4405B000 */ mfc1 $a1, $f22 +/* 802F74 802426F4 4406A000 */ mfc1 $a2, $f20 +/* 802F78 802426F8 44071000 */ mfc1 $a3, $f2 +/* 802F7C 802426FC 0C01C574 */ jal func_800715D0 +/* 802F80 80242700 0000202D */ daddu $a0, $zero, $zero +/* 802F84 80242704 0220202D */ daddu $a0, $s1, $zero +/* 802F88 80242708 3C05F4AC */ lui $a1, 0xf4ac +/* 802F8C 8024270C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 802F90 80242710 3C108026 */ lui $s0, 0x8026 +/* 802F94 80242714 26102A60 */ addiu $s0, $s0, 0x2a60 +/* 802F98 80242718 0C0B1EAF */ jal get_variable +/* 802F9C 8024271C AE020000 */ sw $v0, ($s0) +/* 802FA0 80242720 0220202D */ daddu $a0, $s1, $zero +/* 802FA4 80242724 3C05F4AC */ lui $a1, 0xf4ac +/* 802FA8 80242728 4482B000 */ mtc1 $v0, $f22 +/* 802FAC 8024272C 00000000 */ nop +/* 802FB0 80242730 4680B5A0 */ cvt.s.w $f22, $f22 +/* 802FB4 80242734 0C0B1EAF */ jal get_variable +/* 802FB8 80242738 34A5D482 */ ori $a1, $a1, 0xd482 +/* 802FBC 8024273C 0220202D */ daddu $a0, $s1, $zero +/* 802FC0 80242740 3C05F4AC */ lui $a1, 0xf4ac +/* 802FC4 80242744 4482A000 */ mtc1 $v0, $f20 +/* 802FC8 80242748 00000000 */ nop +/* 802FCC 8024274C 4680A520 */ cvt.s.w $f20, $f20 +/* 802FD0 80242750 0C0B1EAF */ jal get_variable +/* 802FD4 80242754 34A5D483 */ ori $a1, $a1, 0xd483 +/* 802FD8 80242758 44821000 */ mtc1 $v0, $f2 +/* 802FDC 8024275C 00000000 */ nop +/* 802FE0 80242760 468010A0 */ cvt.s.w $f2, $f2 +/* 802FE4 80242764 4405B000 */ mfc1 $a1, $f22 +/* 802FE8 80242768 4406A000 */ mfc1 $a2, $f20 +/* 802FEC 8024276C 44071000 */ mfc1 $a3, $f2 +/* 802FF0 80242770 0C01C604 */ jal func_80071810 +/* 802FF4 80242774 0000202D */ daddu $a0, $zero, $zero +/* 802FF8 80242778 0220202D */ daddu $a0, $s1, $zero +/* 802FFC 8024277C 3C05F4AC */ lui $a1, 0xf4ac +/* 803000 80242780 3C018026 */ lui $at, 0x8026 +/* 803004 80242784 AC222A64 */ sw $v0, 0x2a64($at) +/* 803008 80242788 0C0B1EAF */ jal get_variable +/* 80300C 8024278C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 803010 80242790 0220202D */ daddu $a0, $s1, $zero +/* 803014 80242794 3C05F4AC */ lui $a1, 0xf4ac +/* 803018 80242798 4482B000 */ mtc1 $v0, $f22 +/* 80301C 8024279C 00000000 */ nop +/* 803020 802427A0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 803024 802427A4 0C0B1EAF */ jal get_variable +/* 803028 802427A8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 80302C 802427AC 0220202D */ daddu $a0, $s1, $zero +/* 803030 802427B0 3C05F4AC */ lui $a1, 0xf4ac +/* 803034 802427B4 4482A000 */ mtc1 $v0, $f20 +/* 803038 802427B8 00000000 */ nop +/* 80303C 802427BC 4680A520 */ cvt.s.w $f20, $f20 +/* 803040 802427C0 0C0B1EAF */ jal get_variable +/* 803044 802427C4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 803048 802427C8 44821000 */ mtc1 $v0, $f2 +/* 80304C 802427CC 00000000 */ nop +/* 803050 802427D0 468010A0 */ cvt.s.w $f2, $f2 +/* 803054 802427D4 4405B000 */ mfc1 $a1, $f22 +/* 803058 802427D8 4406A000 */ mfc1 $a2, $f20 +/* 80305C 802427DC 3C013F80 */ lui $at, 0x3f80 +/* 803060 802427E0 44810000 */ mtc1 $at, $f0 +/* 803064 802427E4 44071000 */ mfc1 $a3, $f2 +/* 803068 802427E8 0000202D */ daddu $a0, $zero, $zero +/* 80306C 802427EC AFA00014 */ sw $zero, 0x14($sp) +/* 803070 802427F0 0C01CA24 */ jal func_80072890 +/* 803074 802427F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 803078 802427F8 8E030000 */ lw $v1, ($s0) +/* 80307C 802427FC 8C64000C */ lw $a0, 0xc($v1) +/* 803080 80242800 3C018026 */ lui $at, 0x8026 +/* 803084 80242804 AC222A68 */ sw $v0, 0x2a68($at) +/* 803088 80242808 AC800018 */ sw $zero, 0x18($a0) +/* 80308C 8024280C AC800020 */ sw $zero, 0x20($a0) +/* 803090 80242810 AC800024 */ sw $zero, 0x24($a0) +/* 803094 80242814 AC800028 */ sw $zero, 0x28($a0) +/* 803098 80242818 AC80001C */ sw $zero, 0x1c($a0) +.L8024281C: +/* 80309C 8024281C 3C028026 */ lui $v0, 0x8026 +/* 8030A0 80242820 8C422A60 */ lw $v0, 0x2a60($v0) +/* 8030A4 80242824 8C44000C */ lw $a0, 0xc($v0) +/* 8030A8 80242828 8C820020 */ lw $v0, 0x20($a0) +/* 8030AC 8024282C 8C830028 */ lw $v1, 0x28($a0) +/* 8030B0 80242830 2442000A */ addiu $v0, $v0, 0xa +/* 8030B4 80242834 AC820020 */ sw $v0, 0x20($a0) +/* 8030B8 80242838 8C820024 */ lw $v0, 0x24($a0) +/* 8030BC 8024283C 2463000A */ addiu $v1, $v1, 0xa +/* 8030C0 80242840 AC830028 */ sw $v1, 0x28($a0) +/* 8030C4 80242844 8C830018 */ lw $v1, 0x18($a0) +/* 8030C8 80242848 2442000A */ addiu $v0, $v0, 0xa +/* 8030CC 8024284C AC820024 */ sw $v0, 0x24($a0) +/* 8030D0 80242850 8C82001C */ lw $v0, 0x1c($a0) +/* 8030D4 80242854 2463000A */ addiu $v1, $v1, 0xa +/* 8030D8 80242858 AC830018 */ sw $v1, 0x18($a0) +/* 8030DC 8024285C 286300FF */ slti $v1, $v1, 0xff +/* 8030E0 80242860 2442000A */ addiu $v0, $v0, 0xa +/* 8030E4 80242864 AC82001C */ sw $v0, 0x1c($a0) +/* 8030E8 80242868 14600004 */ bnez $v1, .L8024287C +/* 8030EC 8024286C 0000102D */ daddu $v0, $zero, $zero +/* 8030F0 80242870 240200FF */ addiu $v0, $zero, 0xff +/* 8030F4 80242874 AC820018 */ sw $v0, 0x18($a0) +/* 8030F8 80242878 24020002 */ addiu $v0, $zero, 2 +.L8024287C: +/* 8030FC 8024287C 8FBF0020 */ lw $ra, 0x20($sp) +/* 803100 80242880 8FB1001C */ lw $s1, 0x1c($sp) +/* 803104 80242884 8FB00018 */ lw $s0, 0x18($sp) +/* 803108 80242888 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 80310C 8024288C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 803110 80242890 03E00008 */ jr $ra +/* 803114 80242894 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242898.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242898.s new file mode 100644 index 0000000000..d224d62e6c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242898.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242898 +/* 803118 80242898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 80311C 8024289C 10A0000B */ beqz $a1, .L802428CC +/* 803120 802428A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 803124 802428A4 3C038026 */ lui $v1, 0x8026 +/* 803128 802428A8 8C632A64 */ lw $v1, 0x2a64($v1) +/* 80312C 802428AC 8C620000 */ lw $v0, ($v1) +/* 803130 802428B0 3C048026 */ lui $a0, 0x8026 +/* 803134 802428B4 8C842A68 */ lw $a0, 0x2a68($a0) +/* 803138 802428B8 34420010 */ ori $v0, $v0, 0x10 +/* 80313C 802428BC AC620000 */ sw $v0, ($v1) +/* 803140 802428C0 8C820000 */ lw $v0, ($a0) +/* 803144 802428C4 34420010 */ ori $v0, $v0, 0x10 +/* 803148 802428C8 AC820000 */ sw $v0, ($a0) +.L802428CC: +/* 80314C 802428CC 3C048026 */ lui $a0, 0x8026 +/* 803150 802428D0 8C842A60 */ lw $a0, 0x2a60($a0) +/* 803154 802428D4 8C85000C */ lw $a1, 0xc($a0) +/* 803158 802428D8 8CA20018 */ lw $v0, 0x18($a1) +/* 80315C 802428DC 8CA30020 */ lw $v1, 0x20($a1) +/* 803160 802428E0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 803164 802428E4 ACA20018 */ sw $v0, 0x18($a1) +/* 803168 802428E8 8CA20024 */ lw $v0, 0x24($a1) +/* 80316C 802428EC 2463FFF6 */ addiu $v1, $v1, -0xa +/* 803170 802428F0 ACA30020 */ sw $v1, 0x20($a1) +/* 803174 802428F4 8CA30028 */ lw $v1, 0x28($a1) +/* 803178 802428F8 2442FFF6 */ addiu $v0, $v0, -0xa +/* 80317C 802428FC ACA20024 */ sw $v0, 0x24($a1) +/* 803180 80242900 8CA2001C */ lw $v0, 0x1c($a1) +/* 803184 80242904 2463FFF6 */ addiu $v1, $v1, -0xa +/* 803188 80242908 ACA30028 */ sw $v1, 0x28($a1) +/* 80318C 8024290C 8CA30018 */ lw $v1, 0x18($a1) +/* 803190 80242910 2442FFF6 */ addiu $v0, $v0, -0xa +/* 803194 80242914 18600003 */ blez $v1, .L80242924 +/* 803198 80242918 ACA2001C */ sw $v0, 0x1c($a1) +/* 80319C 8024291C 08090A50 */ j .L80242940 +/* 8031A0 80242920 0000102D */ daddu $v0, $zero, $zero +.L80242924: +/* 8031A4 80242924 0C016914 */ jal remove_effect +/* 8031A8 80242928 ACA00018 */ sw $zero, 0x18($a1) +/* 8031AC 8024292C 3C048026 */ lui $a0, 0x8026 +/* 8031B0 80242930 8C842A40 */ lw $a0, 0x2a40($a0) +/* 8031B4 80242934 0C048D70 */ jal func_801235C0 +/* 8031B8 80242938 00000000 */ nop +/* 8031BC 8024293C 24020002 */ addiu $v0, $zero, 2 +.L80242940: +/* 8031C0 80242940 8FBF0010 */ lw $ra, 0x10($sp) +/* 8031C4 80242944 03E00008 */ jr $ra +/* 8031C8 80242948 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024294C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024294C.s new file mode 100644 index 0000000000..35d91a5b2c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024294C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024294C +/* 8031CC 8024294C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8031D0 80242950 AFBF0010 */ sw $ra, 0x10($sp) +/* 8031D4 80242954 8C82000C */ lw $v0, 0xc($a0) +/* 8031D8 80242958 0C0B1EAF */ jal get_variable +/* 8031DC 8024295C 8C450000 */ lw $a1, ($v0) +/* 8031E0 80242960 3C038026 */ lui $v1, 0x8026 +/* 8031E4 80242964 8C632A60 */ lw $v1, 0x2a60($v1) +/* 8031E8 80242968 8C63000C */ lw $v1, 0xc($v1) +/* 8031EC 8024296C AC620034 */ sw $v0, 0x34($v1) +/* 8031F0 80242970 8FBF0010 */ lw $ra, 0x10($sp) +/* 8031F4 80242974 24020002 */ addiu $v0, $zero, 2 +/* 8031F8 80242978 03E00008 */ jr $ra +/* 8031FC 8024297C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242980.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242980.s new file mode 100644 index 0000000000..ceec8575d8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242980.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242980 +/* 803200 80242980 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 803204 80242984 AFBF0010 */ sw $ra, 0x10($sp) +/* 803208 80242988 8C82000C */ lw $v0, 0xc($a0) +/* 80320C 8024298C 0C0B1EAF */ jal get_variable +/* 803210 80242990 8C450000 */ lw $a1, ($v0) +/* 803214 80242994 0040202D */ daddu $a0, $v0, $zero +/* 803218 80242998 3C028026 */ lui $v0, 0x8026 +/* 80321C 8024299C 8C422A60 */ lw $v0, 0x2a60($v0) +/* 803220 802429A0 24030001 */ addiu $v1, $zero, 1 +/* 803224 802429A4 8C45000C */ lw $a1, 0xc($v0) +/* 803228 802429A8 1083000D */ beq $a0, $v1, .L802429E0 +/* 80322C 802429AC 28820002 */ slti $v0, $a0, 2 +/* 803230 802429B0 10400005 */ beqz $v0, .L802429C8 +/* 803234 802429B4 24020002 */ addiu $v0, $zero, 2 +/* 803238 802429B8 10800007 */ beqz $a0, .L802429D8 +/* 80323C 802429BC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 803240 802429C0 08090A7C */ j .L802429F0 +/* 803244 802429C4 ACA00038 */ sw $zero, 0x38($a1) +.L802429C8: +/* 803248 802429C8 10820008 */ beq $a0, $v0, .L802429EC +/* 80324C 802429CC 24020040 */ addiu $v0, $zero, 0x40 +/* 803250 802429D0 08090A7C */ j .L802429F0 +/* 803254 802429D4 ACA00038 */ sw $zero, 0x38($a1) +.L802429D8: +/* 803258 802429D8 08090A7C */ j .L802429F0 +/* 80325C 802429DC ACA20038 */ sw $v0, 0x38($a1) +.L802429E0: +/* 803260 802429E0 24020080 */ addiu $v0, $zero, 0x80 +/* 803264 802429E4 08090A7C */ j .L802429F0 +/* 803268 802429E8 ACA20038 */ sw $v0, 0x38($a1) +.L802429EC: +/* 80326C 802429EC ACA20038 */ sw $v0, 0x38($a1) +.L802429F0: +/* 803270 802429F0 8FBF0010 */ lw $ra, 0x10($sp) +/* 803274 802429F4 24020002 */ addiu $v0, $zero, 2 +/* 803278 802429F8 03E00008 */ jr $ra +/* 80327C 802429FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242A00.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242A00.s new file mode 100644 index 0000000000..1fdb47b3a7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242A00.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A00 +/* 803280 80242A00 3C028026 */ lui $v0, 0x8026 +/* 803284 80242A04 8C422A68 */ lw $v0, 0x2a68($v0) +/* 803288 80242A08 8C42000C */ lw $v0, 0xc($v0) +/* 80328C 80242A0C AC40001C */ sw $zero, 0x1c($v0) +/* 803290 80242A10 03E00008 */ jr $ra +/* 803294 80242A14 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242A18.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242A18.s new file mode 100644 index 0000000000..c8d941f07c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242A18.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A18 +/* 803298 80242A18 3C028026 */ lui $v0, 0x8026 +/* 80329C 80242A1C 8C422A68 */ lw $v0, 0x2a68($v0) +/* 8032A0 80242A20 8C43000C */ lw $v1, 0xc($v0) +/* 8032A4 80242A24 24020001 */ addiu $v0, $zero, 1 +/* 8032A8 80242A28 AC62001C */ sw $v0, 0x1c($v1) +/* 8032AC 80242A2C 03E00008 */ jr $ra +/* 8032B0 80242A30 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242A34.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242A34.s new file mode 100644 index 0000000000..4674fec0f9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242A34.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A34 +/* 8032B4 80242A34 3C028026 */ lui $v0, 0x8026 +/* 8032B8 80242A38 8C422A68 */ lw $v0, 0x2a68($v0) +/* 8032BC 80242A3C 8C43000C */ lw $v1, 0xc($v0) +/* 8032C0 80242A40 24020002 */ addiu $v0, $zero, 2 +/* 8032C4 80242A44 03E00008 */ jr $ra +/* 8032C8 80242A48 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242A4C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242A4C.s new file mode 100644 index 0000000000..d9a4ef2b4e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242A4C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A4C +/* 8032CC 80242A4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8032D0 80242A50 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8032D4 80242A54 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8032D8 80242A58 3C05FE36 */ lui $a1, 0xfe36 +/* 8032DC 80242A5C AFBF0010 */ sw $ra, 0x10($sp) +/* 8032E0 80242A60 80460075 */ lb $a2, 0x75($v0) +/* 8032E4 80242A64 0C0B2026 */ jal set_variable +/* 8032E8 80242A68 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8032EC 80242A6C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8032F0 80242A70 24020002 */ addiu $v0, $zero, 2 +/* 8032F4 80242A74 03E00008 */ jr $ra +/* 8032F8 80242A78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242A7C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242A7C.s new file mode 100644 index 0000000000..7ea1740a88 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242A7C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A7C +/* 8032FC 80242A7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803300 80242A80 AFB10014 */ sw $s1, 0x14($sp) +/* 803304 80242A84 0080882D */ daddu $s1, $a0, $zero +/* 803308 80242A88 AFBF0018 */ sw $ra, 0x18($sp) +/* 80330C 80242A8C AFB00010 */ sw $s0, 0x10($sp) +/* 803310 80242A90 8E30000C */ lw $s0, 0xc($s1) +/* 803314 80242A94 8E050000 */ lw $a1, ($s0) +/* 803318 80242A98 0C0B1EAF */ jal get_variable +/* 80331C 80242A9C 26100004 */ addiu $s0, $s0, 4 +/* 803320 80242AA0 0220202D */ daddu $a0, $s1, $zero +/* 803324 80242AA4 8E050000 */ lw $a1, ($s0) +/* 803328 80242AA8 0C0B210B */ jal get_float_variable +/* 80332C 80242AAC 0040802D */ daddu $s0, $v0, $zero +/* 803330 80242AB0 24020002 */ addiu $v0, $zero, 2 +/* 803334 80242AB4 00501804 */ sllv $v1, $s0, $v0 +/* 803338 80242AB8 00701821 */ addu $v1, $v1, $s0 +/* 80333C 80242ABC 00431804 */ sllv $v1, $v1, $v0 +/* 803340 80242AC0 00701823 */ subu $v1, $v1, $s0 +/* 803344 80242AC4 000320C0 */ sll $a0, $v1, 3 +/* 803348 80242AC8 00641821 */ addu $v1, $v1, $a0 +/* 80334C 80242ACC 000318C0 */ sll $v1, $v1, 3 +/* 803350 80242AD0 3C01800B */ lui $at, 0x800b +/* 803354 80242AD4 00230821 */ addu $at, $at, $v1 +/* 803358 80242AD8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 80335C 80242ADC 8FBF0018 */ lw $ra, 0x18($sp) +/* 803360 80242AE0 8FB10014 */ lw $s1, 0x14($sp) +/* 803364 80242AE4 8FB00010 */ lw $s0, 0x10($sp) +/* 803368 80242AE8 03E00008 */ jr $ra +/* 80336C 80242AEC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242AF0.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242AF0.s new file mode 100644 index 0000000000..7afabc274f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242AF0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AF0 +/* 803370 80242AF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803374 80242AF4 AFB10014 */ sw $s1, 0x14($sp) +/* 803378 80242AF8 0080882D */ daddu $s1, $a0, $zero +/* 80337C 80242AFC AFBF0018 */ sw $ra, 0x18($sp) +/* 803380 80242B00 AFB00010 */ sw $s0, 0x10($sp) +/* 803384 80242B04 8E30000C */ lw $s0, 0xc($s1) +/* 803388 80242B08 8E050000 */ lw $a1, ($s0) +/* 80338C 80242B0C 0C0B1EAF */ jal get_variable +/* 803390 80242B10 26100004 */ addiu $s0, $s0, 4 +/* 803394 80242B14 00021880 */ sll $v1, $v0, 2 +/* 803398 80242B18 00621821 */ addu $v1, $v1, $v0 +/* 80339C 80242B1C 00031880 */ sll $v1, $v1, 2 +/* 8033A0 80242B20 00621823 */ subu $v1, $v1, $v0 +/* 8033A4 80242B24 000310C0 */ sll $v0, $v1, 3 +/* 8033A8 80242B28 00621821 */ addu $v1, $v1, $v0 +/* 8033AC 80242B2C 000318C0 */ sll $v1, $v1, 3 +/* 8033B0 80242B30 3C01800B */ lui $at, 0x800b +/* 8033B4 80242B34 00230821 */ addu $at, $at, $v1 +/* 8033B8 80242B38 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 8033BC 80242B3C 3C014480 */ lui $at, 0x4480 +/* 8033C0 80242B40 44810000 */ mtc1 $at, $f0 +/* 8033C4 80242B44 00000000 */ nop +/* 8033C8 80242B48 46001082 */ mul.s $f2, $f2, $f0 +/* 8033CC 80242B4C 00000000 */ nop +/* 8033D0 80242B50 3C01CD5B */ lui $at, 0xcd5b +/* 8033D4 80242B54 34215858 */ ori $at, $at, 0x5858 +/* 8033D8 80242B58 44810000 */ mtc1 $at, $f0 +/* 8033DC 80242B5C 00000000 */ nop +/* 8033E0 80242B60 46001080 */ add.s $f2, $f2, $f0 +/* 8033E4 80242B64 8E050000 */ lw $a1, ($s0) +/* 8033E8 80242B68 4600110D */ trunc.w.s $f4, $f2 +/* 8033EC 80242B6C 44062000 */ mfc1 $a2, $f4 +/* 8033F0 80242B70 0C0B2026 */ jal set_variable +/* 8033F4 80242B74 0220202D */ daddu $a0, $s1, $zero +/* 8033F8 80242B78 8FBF0018 */ lw $ra, 0x18($sp) +/* 8033FC 80242B7C 8FB10014 */ lw $s1, 0x14($sp) +/* 803400 80242B80 8FB00010 */ lw $s0, 0x10($sp) +/* 803404 80242B84 24020002 */ addiu $v0, $zero, 2 +/* 803408 80242B88 03E00008 */ jr $ra +/* 80340C 80242B8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242B90.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242B90.s new file mode 100644 index 0000000000..fcd9113dca --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242B90.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B90 +/* 803410 80242B90 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 803414 80242B94 AFB20018 */ sw $s2, 0x18($sp) +/* 803418 80242B98 0080902D */ daddu $s2, $a0, $zero +/* 80341C 80242B9C AFBF0030 */ sw $ra, 0x30($sp) +/* 803420 80242BA0 AFB7002C */ sw $s7, 0x2c($sp) +/* 803424 80242BA4 AFB60028 */ sw $s6, 0x28($sp) +/* 803428 80242BA8 AFB50024 */ sw $s5, 0x24($sp) +/* 80342C 80242BAC AFB40020 */ sw $s4, 0x20($sp) +/* 803430 80242BB0 AFB3001C */ sw $s3, 0x1c($sp) +/* 803434 80242BB4 AFB10014 */ sw $s1, 0x14($sp) +/* 803438 80242BB8 AFB00010 */ sw $s0, 0x10($sp) +/* 80343C 80242BBC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 803440 80242BC0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 803444 80242BC4 8E50000C */ lw $s0, 0xc($s2) +/* 803448 80242BC8 8E050000 */ lw $a1, ($s0) +/* 80344C 80242BCC 0C0B1EAF */ jal get_variable +/* 803450 80242BD0 26100004 */ addiu $s0, $s0, 4 +/* 803454 80242BD4 8E050000 */ lw $a1, ($s0) +/* 803458 80242BD8 26100004 */ addiu $s0, $s0, 4 +/* 80345C 80242BDC 0240202D */ daddu $a0, $s2, $zero +/* 803460 80242BE0 0C0B1EAF */ jal get_variable +/* 803464 80242BE4 0040B82D */ daddu $s7, $v0, $zero +/* 803468 80242BE8 8E050000 */ lw $a1, ($s0) +/* 80346C 80242BEC 26100004 */ addiu $s0, $s0, 4 +/* 803470 80242BF0 0240202D */ daddu $a0, $s2, $zero +/* 803474 80242BF4 0C0B1EAF */ jal get_variable +/* 803478 80242BF8 0040B02D */ daddu $s6, $v0, $zero +/* 80347C 80242BFC 0240202D */ daddu $a0, $s2, $zero +/* 803480 80242C00 3C05F4AC */ lui $a1, 0xf4ac +/* 803484 80242C04 34A5D481 */ ori $a1, $a1, 0xd481 +/* 803488 80242C08 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 80348C 80242C0C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 803490 80242C10 8E140000 */ lw $s4, ($s0) +/* 803494 80242C14 00061880 */ sll $v1, $a2, 2 +/* 803498 80242C18 00661821 */ addu $v1, $v1, $a2 +/* 80349C 80242C1C 00031880 */ sll $v1, $v1, 2 +/* 8034A0 80242C20 00661823 */ subu $v1, $v1, $a2 +/* 8034A4 80242C24 000330C0 */ sll $a2, $v1, 3 +/* 8034A8 80242C28 00661821 */ addu $v1, $v1, $a2 +/* 8034AC 80242C2C 000318C0 */ sll $v1, $v1, 3 +/* 8034B0 80242C30 3C01800B */ lui $at, 0x800b +/* 8034B4 80242C34 00230821 */ addu $at, $at, $v1 +/* 8034B8 80242C38 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8034BC 80242C3C 8E150004 */ lw $s5, 4($s0) +/* 8034C0 80242C40 4600010D */ trunc.w.s $f4, $f0 +/* 8034C4 80242C44 44112000 */ mfc1 $s1, $f4 +/* 8034C8 80242C48 0C0B1EAF */ jal get_variable +/* 8034CC 80242C4C 0040982D */ daddu $s3, $v0, $zero +/* 8034D0 80242C50 4491B000 */ mtc1 $s1, $f22 +/* 8034D4 80242C54 00000000 */ nop +/* 8034D8 80242C58 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8034DC 80242C5C 4600B306 */ mov.s $f12, $f22 +/* 8034E0 80242C60 0C00A8D4 */ jal cos_deg +/* 8034E4 80242C64 0040802D */ daddu $s0, $v0, $zero +/* 8034E8 80242C68 4493A000 */ mtc1 $s3, $f20 +/* 8034EC 80242C6C 00000000 */ nop +/* 8034F0 80242C70 4680A520 */ cvt.s.w $f20, $f20 +/* 8034F4 80242C74 4600A002 */ mul.s $f0, $f20, $f0 +/* 8034F8 80242C78 00000000 */ nop +/* 8034FC 80242C7C 0240202D */ daddu $a0, $s2, $zero +/* 803500 80242C80 44901000 */ mtc1 $s0, $f2 +/* 803504 80242C84 00000000 */ nop +/* 803508 80242C88 468010A0 */ cvt.s.w $f2, $f2 +/* 80350C 80242C8C 46001081 */ sub.s $f2, $f2, $f0 +/* 803510 80242C90 3C05F4AC */ lui $a1, 0xf4ac +/* 803514 80242C94 4600110D */ trunc.w.s $f4, $f2 +/* 803518 80242C98 44102000 */ mfc1 $s0, $f4 +/* 80351C 80242C9C 0C0B1EAF */ jal get_variable +/* 803520 80242CA0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 803524 80242CA4 4600B306 */ mov.s $f12, $f22 +/* 803528 80242CA8 0C00A8BB */ jal sin_deg +/* 80352C 80242CAC 0040882D */ daddu $s1, $v0, $zero +/* 803530 80242CB0 4600A502 */ mul.s $f20, $f20, $f0 +/* 803534 80242CB4 00000000 */ nop +/* 803538 80242CB8 0240202D */ daddu $a0, $s2, $zero +/* 80353C 80242CBC 44910000 */ mtc1 $s1, $f0 +/* 803540 80242CC0 00000000 */ nop +/* 803544 80242CC4 46800020 */ cvt.s.w $f0, $f0 +/* 803548 80242CC8 46140001 */ sub.s $f0, $f0, $f20 +/* 80354C 80242CCC 0280282D */ daddu $a1, $s4, $zero +/* 803550 80242CD0 02173023 */ subu $a2, $s0, $s7 +/* 803554 80242CD4 4600010D */ trunc.w.s $f4, $f0 +/* 803558 80242CD8 44102000 */ mfc1 $s0, $f4 +/* 80355C 80242CDC 0C0B2026 */ jal set_variable +/* 803560 80242CE0 02168023 */ subu $s0, $s0, $s6 +/* 803564 80242CE4 0240202D */ daddu $a0, $s2, $zero +/* 803568 80242CE8 02A0282D */ daddu $a1, $s5, $zero +/* 80356C 80242CEC 0C0B2026 */ jal set_variable +/* 803570 80242CF0 0200302D */ daddu $a2, $s0, $zero +/* 803574 80242CF4 8FBF0030 */ lw $ra, 0x30($sp) +/* 803578 80242CF8 8FB7002C */ lw $s7, 0x2c($sp) +/* 80357C 80242CFC 8FB60028 */ lw $s6, 0x28($sp) +/* 803580 80242D00 8FB50024 */ lw $s5, 0x24($sp) +/* 803584 80242D04 8FB40020 */ lw $s4, 0x20($sp) +/* 803588 80242D08 8FB3001C */ lw $s3, 0x1c($sp) +/* 80358C 80242D0C 8FB20018 */ lw $s2, 0x18($sp) +/* 803590 80242D10 8FB10014 */ lw $s1, 0x14($sp) +/* 803594 80242D14 8FB00010 */ lw $s0, 0x10($sp) +/* 803598 80242D18 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 80359C 80242D1C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8035A0 80242D20 24020002 */ addiu $v0, $zero, 2 +/* 8035A4 80242D24 03E00008 */ jr $ra +/* 8035A8 80242D28 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242D2C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242D2C.s new file mode 100644 index 0000000000..ed377a7092 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242D2C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D2C +/* 8035AC 80242D2C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8035B0 80242D30 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8035B4 80242D34 10A00002 */ beqz $a1, .L80242D40 +/* 8035B8 80242D38 2402003C */ addiu $v0, $zero, 0x3c +/* 8035BC 80242D3C AC820070 */ sw $v0, 0x70($a0) +.L80242D40: +/* 8035C0 80242D40 C4620080 */ lwc1 $f2, 0x80($v1) +/* 8035C4 80242D44 3C0141F0 */ lui $at, 0x41f0 +/* 8035C8 80242D48 44810000 */ mtc1 $at, $f0 +/* 8035CC 80242D4C 00000000 */ nop +/* 8035D0 80242D50 46001000 */ add.s $f0, $f2, $f0 +/* 8035D4 80242D54 3C0143B4 */ lui $at, 0x43b4 +/* 8035D8 80242D58 44811000 */ mtc1 $at, $f2 +/* 8035DC 80242D5C 00000000 */ nop +/* 8035E0 80242D60 4600103E */ c.le.s $f2, $f0 +/* 8035E4 80242D64 00000000 */ nop +/* 8035E8 80242D68 45000003 */ bc1f .L80242D78 +/* 8035EC 80242D6C E4600080 */ swc1 $f0, 0x80($v1) +/* 8035F0 80242D70 46020001 */ sub.s $f0, $f0, $f2 +/* 8035F4 80242D74 E4600080 */ swc1 $f0, 0x80($v1) +.L80242D78: +/* 8035F8 80242D78 8C820070 */ lw $v0, 0x70($a0) +/* 8035FC 80242D7C 2442FFFF */ addiu $v0, $v0, -1 +/* 803600 80242D80 AC820070 */ sw $v0, 0x70($a0) +/* 803604 80242D84 000217C3 */ sra $v0, $v0, 0x1f +/* 803608 80242D88 03E00008 */ jr $ra +/* 80360C 80242D8C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242D90.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242D90.s new file mode 100644 index 0000000000..732e97f368 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242D90.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242D90 +/* 803610 80242D90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803614 80242D94 AFB10014 */ sw $s1, 0x14($sp) +/* 803618 80242D98 0080882D */ daddu $s1, $a0, $zero +/* 80361C 80242D9C AFB00010 */ sw $s0, 0x10($sp) +/* 803620 80242DA0 00A0802D */ daddu $s0, $a1, $zero +/* 803624 80242DA4 AFBF0018 */ sw $ra, 0x18($sp) +/* 803628 80242DA8 0C00EABB */ jal get_npc_unsafe +/* 80362C 80242DAC 2404FFFC */ addiu $a0, $zero, -4 +/* 803630 80242DB0 12000003 */ beqz $s0, .L80242DC0 +/* 803634 80242DB4 0040182D */ daddu $v1, $v0, $zero +/* 803638 80242DB8 2402003C */ addiu $v0, $zero, 0x3c +/* 80363C 80242DBC AE220070 */ sw $v0, 0x70($s1) +.L80242DC0: +/* 803640 80242DC0 C462000C */ lwc1 $f2, 0xc($v1) +/* 803644 80242DC4 3C0141F0 */ lui $at, 0x41f0 +/* 803648 80242DC8 44810000 */ mtc1 $at, $f0 +/* 80364C 80242DCC 00000000 */ nop +/* 803650 80242DD0 46001000 */ add.s $f0, $f2, $f0 +/* 803654 80242DD4 3C0143B4 */ lui $at, 0x43b4 +/* 803658 80242DD8 44811000 */ mtc1 $at, $f2 +/* 80365C 80242DDC 00000000 */ nop +/* 803660 80242DE0 4600103E */ c.le.s $f2, $f0 +/* 803664 80242DE4 00000000 */ nop +/* 803668 80242DE8 45000003 */ bc1f .L80242DF8 +/* 80366C 80242DEC E460000C */ swc1 $f0, 0xc($v1) +/* 803670 80242DF0 46020001 */ sub.s $f0, $f0, $f2 +/* 803674 80242DF4 E460000C */ swc1 $f0, 0xc($v1) +.L80242DF8: +/* 803678 80242DF8 8E230070 */ lw $v1, 0x70($s1) +/* 80367C 80242DFC 2463FFFF */ addiu $v1, $v1, -1 +/* 803680 80242E00 000317C3 */ sra $v0, $v1, 0x1f +/* 803684 80242E04 AE230070 */ sw $v1, 0x70($s1) +/* 803688 80242E08 8FBF0018 */ lw $ra, 0x18($sp) +/* 80368C 80242E0C 8FB10014 */ lw $s1, 0x14($sp) +/* 803690 80242E10 8FB00010 */ lw $s0, 0x10($sp) +/* 803694 80242E14 30420002 */ andi $v0, $v0, 2 +/* 803698 80242E18 03E00008 */ jr $ra +/* 80369C 80242E1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242E20.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242E20.s new file mode 100644 index 0000000000..f6c9f972dc --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242E20.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E20 +/* 8036A0 80242E20 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8036A4 80242E24 AFB10014 */ sw $s1, 0x14($sp) +/* 8036A8 80242E28 0080882D */ daddu $s1, $a0, $zero +/* 8036AC 80242E2C AFB00010 */ sw $s0, 0x10($sp) +/* 8036B0 80242E30 00A0802D */ daddu $s0, $a1, $zero +/* 8036B4 80242E34 AFBF001C */ sw $ra, 0x1c($sp) +/* 8036B8 80242E38 AFB20018 */ sw $s2, 0x18($sp) +/* 8036BC 80242E3C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8036C0 80242E40 0C00EABB */ jal get_npc_unsafe +/* 8036C4 80242E44 2404FFFC */ addiu $a0, $zero, -4 +/* 8036C8 80242E48 12000017 */ beqz $s0, .L80242EA8 +/* 8036CC 80242E4C 0040902D */ daddu $s2, $v0, $zero +/* 8036D0 80242E50 0220202D */ daddu $a0, $s1, $zero +/* 8036D4 80242E54 3C05FE36 */ lui $a1, 0xfe36 +/* 8036D8 80242E58 0C0B210B */ jal get_float_variable +/* 8036DC 80242E5C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8036E0 80242E60 0220202D */ daddu $a0, $s1, $zero +/* 8036E4 80242E64 3C05FE36 */ lui $a1, 0xfe36 +/* 8036E8 80242E68 3C014270 */ lui $at, 0x4270 +/* 8036EC 80242E6C 4481A000 */ mtc1 $at, $f20 +/* 8036F0 80242E70 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 8036F4 80242E74 46140003 */ div.s $f0, $f0, $f20 +/* 8036F8 80242E78 0C0B210B */ jal get_float_variable +/* 8036FC 80242E7C E6200074 */ swc1 $f0, 0x74($s1) +/* 803700 80242E80 0220202D */ daddu $a0, $s1, $zero +/* 803704 80242E84 3C05FE36 */ lui $a1, 0xfe36 +/* 803708 80242E88 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 80370C 80242E8C 46140003 */ div.s $f0, $f0, $f20 +/* 803710 80242E90 0C0B210B */ jal get_float_variable +/* 803714 80242E94 E6200078 */ swc1 $f0, 0x78($s1) +/* 803718 80242E98 46140003 */ div.s $f0, $f0, $f20 +/* 80371C 80242E9C 2402003C */ addiu $v0, $zero, 0x3c +/* 803720 80242EA0 E620007C */ swc1 $f0, 0x7c($s1) +/* 803724 80242EA4 AE220070 */ sw $v0, 0x70($s1) +.L80242EA8: +/* 803728 80242EA8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 80372C 80242EAC C6220074 */ lwc1 $f2, 0x74($s1) +/* 803730 80242EB0 46020000 */ add.s $f0, $f0, $f2 +/* 803734 80242EB4 E6400038 */ swc1 $f0, 0x38($s2) +/* 803738 80242EB8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 80373C 80242EBC C6220078 */ lwc1 $f2, 0x78($s1) +/* 803740 80242EC0 46020000 */ add.s $f0, $f0, $f2 +/* 803744 80242EC4 E640003C */ swc1 $f0, 0x3c($s2) +/* 803748 80242EC8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 80374C 80242ECC C622007C */ lwc1 $f2, 0x7c($s1) +/* 803750 80242ED0 46020000 */ add.s $f0, $f0, $f2 +/* 803754 80242ED4 E6400040 */ swc1 $f0, 0x40($s2) +/* 803758 80242ED8 8E230070 */ lw $v1, 0x70($s1) +/* 80375C 80242EDC 2463FFFF */ addiu $v1, $v1, -1 +/* 803760 80242EE0 2C620001 */ sltiu $v0, $v1, 1 +/* 803764 80242EE4 AE230070 */ sw $v1, 0x70($s1) +/* 803768 80242EE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 80376C 80242EEC 8FB20018 */ lw $s2, 0x18($sp) +/* 803770 80242EF0 8FB10014 */ lw $s1, 0x14($sp) +/* 803774 80242EF4 8FB00010 */ lw $s0, 0x10($sp) +/* 803778 80242EF8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 80377C 80242EFC 00021040 */ sll $v0, $v0, 1 +/* 803780 80242F00 03E00008 */ jr $ra +/* 803784 80242F04 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242F08.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242F08.s new file mode 100644 index 0000000000..51087330f4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242F08.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F08 +/* 803788 80242F08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 80378C 80242F0C 3C058026 */ lui $a1, 0x8026 +/* 803790 80242F10 8CA52A58 */ lw $a1, 0x2a58($a1) +/* 803794 80242F14 AFBF0010 */ sw $ra, 0x10($sp) +/* 803798 80242F18 0C0B1EAF */ jal get_variable +/* 80379C 80242F1C 0000202D */ daddu $a0, $zero, $zero +/* 8037A0 80242F20 0040182D */ daddu $v1, $v0, $zero +/* 8037A4 80242F24 24020001 */ addiu $v0, $zero, 1 +/* 8037A8 80242F28 14620006 */ bne $v1, $v0, .L80242F44 +/* 8037AC 80242F2C 24020002 */ addiu $v0, $zero, 2 +/* 8037B0 80242F30 44800000 */ mtc1 $zero, $f0 +/* 8037B4 80242F34 00000000 */ nop +/* 8037B8 80242F38 44050000 */ mfc1 $a1, $f0 +/* 8037BC 80242F3C 08090BD7 */ j .L80242F5C +/* 8037C0 80242F40 0000202D */ daddu $a0, $zero, $zero +.L80242F44: +/* 8037C4 80242F44 14620008 */ bne $v1, $v0, .L80242F68 +/* 8037C8 80242F48 24040001 */ addiu $a0, $zero, 1 +/* 8037CC 80242F4C 44800000 */ mtc1 $zero, $f0 +/* 8037D0 80242F50 00000000 */ nop +/* 8037D4 80242F54 44050000 */ mfc1 $a1, $f0 +/* 8037D8 80242F58 00000000 */ nop +.L80242F5C: +/* 8037DC 80242F5C 00A0302D */ daddu $a2, $a1, $zero +/* 8037E0 80242F60 0C01C5A4 */ jal func_80071690 +/* 8037E4 80242F64 00A0382D */ daddu $a3, $a1, $zero +.L80242F68: +/* 8037E8 80242F68 8FBF0010 */ lw $ra, 0x10($sp) +/* 8037EC 80242F6C 03E00008 */ jr $ra +/* 8037F0 80242F70 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242F74.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242F74.s new file mode 100644 index 0000000000..7038623428 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242F74.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74 +/* 8037F4 80242F74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8037F8 80242F78 3C058024 */ lui $a1, 0x8024 +/* 8037FC 80242F7C 24A52F08 */ addiu $a1, $a1, 0x2f08 +/* 803800 80242F80 AFBF0010 */ sw $ra, 0x10($sp) +/* 803804 80242F84 0C048C8F */ jal bind_dynamic_entity_7 +/* 803808 80242F88 0000202D */ daddu $a0, $zero, $zero +/* 80380C 80242F8C 8FBF0010 */ lw $ra, 0x10($sp) +/* 803810 80242F90 3C018026 */ lui $at, 0x8026 +/* 803814 80242F94 AC222A40 */ sw $v0, 0x2a40($at) +/* 803818 80242F98 24020002 */ addiu $v0, $zero, 2 +/* 80381C 80242F9C 03E00008 */ jr $ra +/* 803820 80242FA0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80242FA4.s b/asm/nonmatchings/world/area_mac/mac_01/func_80242FA4.s new file mode 100644 index 0000000000..2780f4f13f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80242FA4.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FA4 +/* 803824 80242FA4 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 803828 80242FA8 0000202D */ daddu $a0, $zero, $zero +/* 80382C 80242FAC 3C05FD05 */ lui $a1, 0xfd05 +/* 803830 80242FB0 AFBF00DC */ sw $ra, 0xdc($sp) +/* 803834 80242FB4 AFB600D8 */ sw $s6, 0xd8($sp) +/* 803838 80242FB8 AFB500D4 */ sw $s5, 0xd4($sp) +/* 80383C 80242FBC AFB400D0 */ sw $s4, 0xd0($sp) +/* 803840 80242FC0 AFB300CC */ sw $s3, 0xcc($sp) +/* 803844 80242FC4 AFB200C8 */ sw $s2, 0xc8($sp) +/* 803848 80242FC8 AFB100C4 */ sw $s1, 0xc4($sp) +/* 80384C 80242FCC AFB000C0 */ sw $s0, 0xc0($sp) +/* 803850 80242FD0 F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* 803854 80242FD4 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* 803858 80242FD8 0C0B1EAF */ jal get_variable +/* 80385C 80242FDC 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803860 80242FE0 3C07E300 */ lui $a3, 0xe300 +/* 803864 80242FE4 34E70A01 */ ori $a3, $a3, 0xa01 +/* 803868 80242FE8 3C08D9C0 */ lui $t0, 0xd9c0 +/* 80386C 80242FEC 3508F9FB */ ori $t0, $t0, 0xf9fb +/* 803870 80242FF0 3C0AD9FF */ lui $t2, 0xd9ff +/* 803874 80242FF4 354AFFFF */ ori $t2, $t2, 0xffff +/* 803878 80242FF8 3C090020 */ lui $t1, 0x20 +/* 80387C 80242FFC 35290005 */ ori $t1, $t1, 5 +/* 803880 80243000 3C0BD700 */ lui $t3, 0xd700 +/* 803884 80243004 356B0002 */ ori $t3, $t3, 2 +/* 803888 80243008 3C0CE300 */ lui $t4, 0xe300 +/* 80388C 8024300C 358C0F00 */ ori $t4, $t4, 0xf00 +/* 803890 80243010 3C0DE300 */ lui $t5, 0xe300 +/* 803894 80243014 35AD0C00 */ ori $t5, $t5, 0xc00 +/* 803898 80243018 3C0EE300 */ lui $t6, 0xe300 +/* 80389C 8024301C 35CE1201 */ ori $t6, $t6, 0x1201 +/* 8038A0 80243020 3C0FE300 */ lui $t7, 0xe300 +/* 8038A4 80243024 35EF1801 */ ori $t7, $t7, 0x1801 +/* 8038A8 80243028 3C10E300 */ lui $s0, 0xe300 +/* 8038AC 8024302C 36100D01 */ ori $s0, $s0, 0xd01 +/* 8038B0 80243030 3C12E300 */ lui $s2, 0xe300 +/* 8038B4 80243034 36521402 */ ori $s2, $s2, 0x1402 +/* 8038B8 80243038 3C14E300 */ lui $s4, 0xe300 +/* 8038BC 8024303C 36941700 */ ori $s4, $s4, 0x1700 +/* 8038C0 80243040 3C15E200 */ lui $s5, 0xe200 +/* 8038C4 80243044 36B51E01 */ ori $s5, $s5, 0x1e01 +/* 8038C8 80243048 27B30040 */ addiu $s3, $sp, 0x40 +/* 8038CC 8024304C 0260202D */ daddu $a0, $s3, $zero +/* 8038D0 80243050 3C160001 */ lui $s6, 1 +/* 8038D4 80243054 3C11800A */ lui $s1, 0x800a +/* 8038D8 80243058 2631A66C */ addiu $s1, $s1, -0x5994 +/* 8038DC 8024305C 36D61630 */ ori $s6, $s6, 0x1630 +/* 8038E0 80243060 3C05E700 */ lui $a1, 0xe700 +/* 8038E4 80243064 8E230000 */ lw $v1, ($s1) +/* 8038E8 80243068 4480A000 */ mtc1 $zero, $f20 +/* 8038EC 8024306C 0060302D */ daddu $a2, $v1, $zero +/* 8038F0 80243070 24630008 */ addiu $v1, $v1, 8 +/* 8038F4 80243074 AE230000 */ sw $v1, ($s1) +/* 8038F8 80243078 ACC50000 */ sw $a1, ($a2) +/* 8038FC 8024307C 24650008 */ addiu $a1, $v1, 8 +/* 803900 80243080 ACC00004 */ sw $zero, 4($a2) +/* 803904 80243084 AE250000 */ sw $a1, ($s1) +/* 803908 80243088 24650010 */ addiu $a1, $v1, 0x10 +/* 80390C 8024308C AC670000 */ sw $a3, ($v1) +/* 803910 80243090 AC600004 */ sw $zero, 4($v1) +/* 803914 80243094 AE250000 */ sw $a1, ($s1) +/* 803918 80243098 24650018 */ addiu $a1, $v1, 0x18 +/* 80391C 8024309C AC680008 */ sw $t0, 8($v1) +/* 803920 802430A0 AC60000C */ sw $zero, 0xc($v1) +/* 803924 802430A4 AE250000 */ sw $a1, ($s1) +/* 803928 802430A8 24650020 */ addiu $a1, $v1, 0x20 +/* 80392C 802430AC AC6A0010 */ sw $t2, 0x10($v1) +/* 803930 802430B0 AC690014 */ sw $t1, 0x14($v1) +/* 803934 802430B4 AE250000 */ sw $a1, ($s1) +/* 803938 802430B8 2405FFFF */ addiu $a1, $zero, -1 +/* 80393C 802430BC AC65001C */ sw $a1, 0x1c($v1) +/* 803940 802430C0 24650028 */ addiu $a1, $v1, 0x28 +/* 803944 802430C4 AC6B0018 */ sw $t3, 0x18($v1) +/* 803948 802430C8 AE250000 */ sw $a1, ($s1) +/* 80394C 802430CC 24650030 */ addiu $a1, $v1, 0x30 +/* 803950 802430D0 AC6C0020 */ sw $t4, 0x20($v1) +/* 803954 802430D4 AC600024 */ sw $zero, 0x24($v1) +/* 803958 802430D8 AE250000 */ sw $a1, ($s1) +/* 80395C 802430DC 3C050008 */ lui $a1, 8 +/* 803960 802430E0 AC65002C */ sw $a1, 0x2c($v1) +/* 803964 802430E4 24650038 */ addiu $a1, $v1, 0x38 +/* 803968 802430E8 AC6D0028 */ sw $t5, 0x28($v1) +/* 80396C 802430EC AE250000 */ sw $a1, ($s1) +/* 803970 802430F0 24052000 */ addiu $a1, $zero, 0x2000 +/* 803974 802430F4 AC650034 */ sw $a1, 0x34($v1) +/* 803978 802430F8 24650040 */ addiu $a1, $v1, 0x40 +/* 80397C 802430FC AC6E0030 */ sw $t6, 0x30($v1) +/* 803980 80243100 AE250000 */ sw $a1, ($s1) +/* 803984 80243104 240500C0 */ addiu $a1, $zero, 0xc0 +/* 803988 80243108 AC65003C */ sw $a1, 0x3c($v1) +/* 80398C 8024310C 24650048 */ addiu $a1, $v1, 0x48 +/* 803990 80243110 AC6F0038 */ sw $t7, 0x38($v1) +/* 803994 80243114 AE250000 */ sw $a1, ($s1) +/* 803998 80243118 24650050 */ addiu $a1, $v1, 0x50 +/* 80399C 8024311C AC700040 */ sw $s0, 0x40($v1) +/* 8039A0 80243120 AC600044 */ sw $zero, 0x44($v1) +/* 8039A4 80243124 AE250000 */ sw $a1, ($s1) +/* 8039A8 80243128 24050C00 */ addiu $a1, $zero, 0xc00 +/* 8039AC 8024312C AC720048 */ sw $s2, 0x48($v1) +/* 8039B0 80243130 0040902D */ daddu $s2, $v0, $zero +/* 8039B4 80243134 24620058 */ addiu $v0, $v1, 0x58 +/* 8039B8 80243138 AC65004C */ sw $a1, 0x4c($v1) +/* 8039BC 8024313C AC740050 */ sw $s4, 0x50($v1) +/* 8039C0 80243140 AC600054 */ sw $zero, 0x54($v1) +/* 8039C4 80243144 AC750058 */ sw $s5, 0x58($v1) +/* 8039C8 80243148 AC60005C */ sw $zero, 0x5c($v1) +/* 8039CC 8024314C 8E450010 */ lw $a1, 0x10($s2) +/* 8039D0 80243150 8E460014 */ lw $a2, 0x14($s2) +/* 8039D4 80243154 8E470018 */ lw $a3, 0x18($s2) +/* 8039D8 80243158 24630060 */ addiu $v1, $v1, 0x60 +/* 8039DC 8024315C AE220000 */ sw $v0, ($s1) +/* 8039E0 80243160 0C019E40 */ jal guTranslateF +/* 8039E4 80243164 AE230000 */ sw $v1, ($s1) +/* 8039E8 80243168 27B00080 */ addiu $s0, $sp, 0x80 +/* 8039EC 8024316C E7B40010 */ swc1 $f20, 0x10($sp) +/* 8039F0 80243170 8E450020 */ lw $a1, 0x20($s2) +/* 8039F4 80243174 3C013F80 */ lui $at, 0x3f80 +/* 8039F8 80243178 4481B000 */ mtc1 $at, $f22 +/* 8039FC 8024317C 4406A000 */ mfc1 $a2, $f20 +/* 803A00 80243180 4407B000 */ mfc1 $a3, $f22 +/* 803A04 80243184 0C019EC8 */ jal guRotateF +/* 803A08 80243188 0200202D */ daddu $a0, $s0, $zero +/* 803A0C 8024318C 0200202D */ daddu $a0, $s0, $zero +/* 803A10 80243190 0260282D */ daddu $a1, $s3, $zero +/* 803A14 80243194 0C019D80 */ jal guMtxCatF +/* 803A18 80243198 0260302D */ daddu $a2, $s3, $zero +/* 803A1C 8024319C E7B60010 */ swc1 $f22, 0x10($sp) +/* 803A20 802431A0 8E450024 */ lw $a1, 0x24($s2) +/* 803A24 802431A4 4406A000 */ mfc1 $a2, $f20 +/* 803A28 802431A8 4407A000 */ mfc1 $a3, $f20 +/* 803A2C 802431AC 0C019EC8 */ jal guRotateF +/* 803A30 802431B0 0200202D */ daddu $a0, $s0, $zero +/* 803A34 802431B4 0200202D */ daddu $a0, $s0, $zero +/* 803A38 802431B8 0260282D */ daddu $a1, $s3, $zero +/* 803A3C 802431BC 0C019D80 */ jal guMtxCatF +/* 803A40 802431C0 0260302D */ daddu $a2, $s3, $zero +/* 803A44 802431C4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 803A48 802431C8 8E45001C */ lw $a1, 0x1c($s2) +/* 803A4C 802431CC 4406B000 */ mfc1 $a2, $f22 +/* 803A50 802431D0 4407A000 */ mfc1 $a3, $f20 +/* 803A54 802431D4 0C019EC8 */ jal guRotateF +/* 803A58 802431D8 0200202D */ daddu $a0, $s0, $zero +/* 803A5C 802431DC 0200202D */ daddu $a0, $s0, $zero +/* 803A60 802431E0 0260282D */ daddu $a1, $s3, $zero +/* 803A64 802431E4 0C019D80 */ jal guMtxCatF +/* 803A68 802431E8 0260302D */ daddu $a2, $s3, $zero +/* 803A6C 802431EC 8E450028 */ lw $a1, 0x28($s2) +/* 803A70 802431F0 8E46002C */ lw $a2, 0x2c($s2) +/* 803A74 802431F4 8E470030 */ lw $a3, 0x30($s2) +/* 803A78 802431F8 0C019DF0 */ jal guScaleF +/* 803A7C 802431FC 0200202D */ daddu $a0, $s0, $zero +/* 803A80 80243200 0200202D */ daddu $a0, $s0, $zero +/* 803A84 80243204 0260282D */ daddu $a1, $s3, $zero +/* 803A88 80243208 0C019D80 */ jal guMtxCatF +/* 803A8C 8024320C 0260302D */ daddu $a2, $s3, $zero +/* 803A90 80243210 0260202D */ daddu $a0, $s3, $zero +/* 803A94 80243214 3C108007 */ lui $s0, 0x8007 +/* 803A98 80243218 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 803A9C 8024321C 3C14800A */ lui $s4, 0x800a +/* 803AA0 80243220 2694A674 */ addiu $s4, $s4, -0x598c +/* 803AA4 80243224 96050000 */ lhu $a1, ($s0) +/* 803AA8 80243228 8E820000 */ lw $v0, ($s4) +/* 803AAC 8024322C 00052980 */ sll $a1, $a1, 6 +/* 803AB0 80243230 00B62821 */ addu $a1, $a1, $s6 +/* 803AB4 80243234 0C019D40 */ jal guMtxF2L +/* 803AB8 80243238 00452821 */ addu $a1, $v0, $a1 +/* 803ABC 8024323C 3C02DA38 */ lui $v0, 0xda38 +/* 803AC0 80243240 34420002 */ ori $v0, $v0, 2 +/* 803AC4 80243244 27A40030 */ addiu $a0, $sp, 0x30 +/* 803AC8 80243248 8E270000 */ lw $a3, ($s1) +/* 803ACC 8024324C 96080000 */ lhu $t0, ($s0) +/* 803AD0 80243250 00E0282D */ daddu $a1, $a3, $zero +/* 803AD4 80243254 ACA20000 */ sw $v0, ($a1) +/* 803AD8 80243258 3102FFFF */ andi $v0, $t0, 0xffff +/* 803ADC 8024325C 00021180 */ sll $v0, $v0, 6 +/* 803AE0 80243260 00561021 */ addu $v0, $v0, $s6 +/* 803AE4 80243264 8E830000 */ lw $v1, ($s4) +/* 803AE8 80243268 24E70008 */ addiu $a3, $a3, 8 +/* 803AEC 8024326C 00621821 */ addu $v1, $v1, $v0 +/* 803AF0 80243270 3C028000 */ lui $v0, 0x8000 +/* 803AF4 80243274 00621821 */ addu $v1, $v1, $v0 +/* 803AF8 80243278 ACA30004 */ sw $v1, 4($a1) +/* 803AFC 8024327C 8E450008 */ lw $a1, 8($s2) +/* 803B00 80243280 8E46000C */ lw $a2, 0xc($s2) +/* 803B04 80243284 25080001 */ addiu $t0, $t0, 1 +/* 803B08 80243288 AE270000 */ sw $a3, ($s1) +/* 803B0C 8024328C 0C0B7811 */ jal func_802DE044 +/* 803B10 80243290 A6080000 */ sh $t0, ($s0) +/* 803B14 80243294 8FA30030 */ lw $v1, 0x30($sp) +/* 803B18 80243298 8FA40034 */ lw $a0, 0x34($sp) +/* 803B1C 8024329C 97A2003A */ lhu $v0, 0x3a($sp) +/* 803B20 802432A0 3C013F00 */ lui $at, 0x3f00 +/* 803B24 802432A4 44811000 */ mtc1 $at, $f2 +/* 803B28 802432A8 27A50018 */ addiu $a1, $sp, 0x18 +/* 803B2C 802432AC A7A20020 */ sh $v0, 0x20($sp) +/* 803B30 802432B0 3042FFFF */ andi $v0, $v0, 0xffff +/* 803B34 802432B4 44820000 */ mtc1 $v0, $f0 +/* 803B38 802432B8 00000000 */ nop +/* 803B3C 802432BC 46800020 */ cvt.s.w $f0, $f0 +/* 803B40 802432C0 AFA30018 */ sw $v1, 0x18($sp) +/* 803B44 802432C4 AFA4001C */ sw $a0, 0x1c($sp) +/* 803B48 802432C8 E6400034 */ swc1 $f0, 0x34($s2) +/* 803B4C 802432CC 97A2003E */ lhu $v0, 0x3e($sp) +/* 803B50 802432D0 0000302D */ daddu $a2, $zero, $zero +/* 803B54 802432D4 A7A20022 */ sh $v0, 0x22($sp) +/* 803B58 802432D8 3042FFFF */ andi $v0, $v0, 0xffff +/* 803B5C 802432DC 44820000 */ mtc1 $v0, $f0 +/* 803B60 802432E0 00000000 */ nop +/* 803B64 802432E4 46800020 */ cvt.s.w $f0, $f0 +/* 803B68 802432E8 E6400038 */ swc1 $f0, 0x38($s2) +/* 803B6C 802432EC C7A00038 */ lwc1 $f0, 0x38($sp) +/* 803B70 802432F0 46800020 */ cvt.s.w $f0, $f0 +/* 803B74 802432F4 46020002 */ mul.s $f0, $f0, $f2 +/* 803B78 802432F8 00000000 */ nop +/* 803B7C 802432FC 97A3003E */ lhu $v1, 0x3e($sp) +/* 803B80 80243300 240200FF */ addiu $v0, $zero, 0xff +/* 803B84 80243304 A3A20028 */ sb $v0, 0x28($sp) +/* 803B88 80243308 A7A30026 */ sh $v1, 0x26($sp) +/* 803B8C 8024330C 4600010D */ trunc.w.s $f4, $f0 +/* 803B90 80243310 44022000 */ mfc1 $v0, $f4 +/* 803B94 80243314 00000000 */ nop +/* 803B98 80243318 00021023 */ negu $v0, $v0 +/* 803B9C 8024331C A7A20024 */ sh $v0, 0x24($sp) +/* 803BA0 80243320 8E440000 */ lw $a0, ($s2) +/* 803BA4 80243324 0C04EBDC */ jal func_8013AF70 +/* 803BA8 80243328 0260382D */ daddu $a3, $s3, $zero +/* 803BAC 8024332C 3C04D838 */ lui $a0, 0xd838 +/* 803BB0 80243330 8E220000 */ lw $v0, ($s1) +/* 803BB4 80243334 34840002 */ ori $a0, $a0, 2 +/* 803BB8 80243338 0040182D */ daddu $v1, $v0, $zero +/* 803BBC 8024333C 24420008 */ addiu $v0, $v0, 8 +/* 803BC0 80243340 AE220000 */ sw $v0, ($s1) +/* 803BC4 80243344 24020040 */ addiu $v0, $zero, 0x40 +/* 803BC8 80243348 AC640000 */ sw $a0, ($v1) +/* 803BCC 8024334C AC620004 */ sw $v0, 4($v1) +/* 803BD0 80243350 8FBF00DC */ lw $ra, 0xdc($sp) +/* 803BD4 80243354 8FB600D8 */ lw $s6, 0xd8($sp) +/* 803BD8 80243358 8FB500D4 */ lw $s5, 0xd4($sp) +/* 803BDC 8024335C 8FB400D0 */ lw $s4, 0xd0($sp) +/* 803BE0 80243360 8FB300CC */ lw $s3, 0xcc($sp) +/* 803BE4 80243364 8FB200C8 */ lw $s2, 0xc8($sp) +/* 803BE8 80243368 8FB100C4 */ lw $s1, 0xc4($sp) +/* 803BEC 8024336C 8FB000C0 */ lw $s0, 0xc0($sp) +/* 803BF0 80243370 D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* 803BF4 80243374 D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* 803BF8 80243378 03E00008 */ jr $ra +/* 803BFC 8024337C 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243380_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243380_800880.s new file mode 100644 index 0000000000..d0f1950f46 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243380_800880.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243380_803C00 +/* 803C00 80243380 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 803C04 80243384 AFB3001C */ sw $s3, 0x1c($sp) +/* 803C08 80243388 0080982D */ daddu $s3, $a0, $zero +/* 803C0C 8024338C AFBF0020 */ sw $ra, 0x20($sp) +/* 803C10 80243390 AFB20018 */ sw $s2, 0x18($sp) +/* 803C14 80243394 AFB10014 */ sw $s1, 0x14($sp) +/* 803C18 80243398 AFB00010 */ sw $s0, 0x10($sp) +/* 803C1C 8024339C 8E70000C */ lw $s0, 0xc($s3) +/* 803C20 802433A0 8E050000 */ lw $a1, ($s0) +/* 803C24 802433A4 0C0B1EAF */ jal get_variable +/* 803C28 802433A8 26100004 */ addiu $s0, $s0, 4 +/* 803C2C 802433AC 0260202D */ daddu $a0, $s3, $zero +/* 803C30 802433B0 8E050000 */ lw $a1, ($s0) +/* 803C34 802433B4 0C0B1EAF */ jal get_variable +/* 803C38 802433B8 0040902D */ daddu $s2, $v0, $zero +/* 803C3C 802433BC 2404003C */ addiu $a0, $zero, 0x3c +/* 803C40 802433C0 0C00AB39 */ jal heap_malloc +/* 803C44 802433C4 0040882D */ daddu $s1, $v0, $zero +/* 803C48 802433C8 0040802D */ daddu $s0, $v0, $zero +/* 803C4C 802433CC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 803C50 802433D0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 803C54 802433D4 AE120008 */ sw $s2, 8($s0) +/* 803C58 802433D8 AE11000C */ sw $s1, 0xc($s0) +/* 803C5C 802433DC 846200B0 */ lh $v0, 0xb0($v1) +/* 803C60 802433E0 44820000 */ mtc1 $v0, $f0 +/* 803C64 802433E4 00000000 */ nop +/* 803C68 802433E8 46800020 */ cvt.s.w $f0, $f0 +/* 803C6C 802433EC E6000034 */ swc1 $f0, 0x34($s0) +/* 803C70 802433F0 846200B2 */ lh $v0, 0xb2($v1) +/* 803C74 802433F4 44820000 */ mtc1 $v0, $f0 +/* 803C78 802433F8 00000000 */ nop +/* 803C7C 802433FC 46800020 */ cvt.s.w $f0, $f0 +/* 803C80 80243400 E6000038 */ swc1 $f0, 0x38($s0) +/* 803C84 80243404 C4600028 */ lwc1 $f0, 0x28($v1) +/* 803C88 80243408 E6000010 */ swc1 $f0, 0x10($s0) +/* 803C8C 8024340C C460002C */ lwc1 $f0, 0x2c($v1) +/* 803C90 80243410 E6000014 */ swc1 $f0, 0x14($s0) +/* 803C94 80243414 C4620030 */ lwc1 $f2, 0x30($v1) +/* 803C98 80243418 3C013F36 */ lui $at, 0x3f36 +/* 803C9C 8024341C 3421DB6E */ ori $at, $at, 0xdb6e +/* 803CA0 80243420 44810000 */ mtc1 $at, $f0 +/* 803CA4 80243424 24040001 */ addiu $a0, $zero, 1 +/* 803CA8 80243428 AE00001C */ sw $zero, 0x1c($s0) +/* 803CAC 8024342C AE000020 */ sw $zero, 0x20($s0) +/* 803CB0 80243430 AE000024 */ sw $zero, 0x24($s0) +/* 803CB4 80243434 E6000028 */ swc1 $f0, 0x28($s0) +/* 803CB8 80243438 E600002C */ swc1 $f0, 0x2c($s0) +/* 803CBC 8024343C E6000030 */ swc1 $f0, 0x30($s0) +/* 803CC0 80243440 0C04E9C1 */ jal func_8013A704 +/* 803CC4 80243444 E6020018 */ swc1 $f2, 0x18($s0) +/* 803CC8 80243448 0000202D */ daddu $a0, $zero, $zero +/* 803CCC 8024344C 3C058024 */ lui $a1, 0x8024 +/* 803CD0 80243450 24A52FA4 */ addiu $a1, $a1, 0x2fa4 +/* 803CD4 80243454 0C048C56 */ jal bind_dynamic_entity_3 +/* 803CD8 80243458 AE020000 */ sw $v0, ($s0) +/* 803CDC 8024345C 0260202D */ daddu $a0, $s3, $zero +/* 803CE0 80243460 3C05FD05 */ lui $a1, 0xfd05 +/* 803CE4 80243464 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803CE8 80243468 0200302D */ daddu $a2, $s0, $zero +/* 803CEC 8024346C 0C0B2026 */ jal set_variable +/* 803CF0 80243470 AE020004 */ sw $v0, 4($s0) +/* 803CF4 80243474 8FBF0020 */ lw $ra, 0x20($sp) +/* 803CF8 80243478 8FB3001C */ lw $s3, 0x1c($sp) +/* 803CFC 8024347C 8FB20018 */ lw $s2, 0x18($sp) +/* 803D00 80243480 8FB10014 */ lw $s1, 0x14($sp) +/* 803D04 80243484 8FB00010 */ lw $s0, 0x10($sp) +/* 803D08 80243488 24020002 */ addiu $v0, $zero, 2 +/* 803D0C 8024348C 03E00008 */ jr $ra +/* 803D10 80243490 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243494.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243494.s new file mode 100644 index 0000000000..e337eb0af9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243494.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243494 +/* 803D14 80243494 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803D18 80243498 AFB10014 */ sw $s1, 0x14($sp) +/* 803D1C 8024349C 0080882D */ daddu $s1, $a0, $zero +/* 803D20 802434A0 0000202D */ daddu $a0, $zero, $zero +/* 803D24 802434A4 3C05FD05 */ lui $a1, 0xfd05 +/* 803D28 802434A8 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803D2C 802434AC AFBF0018 */ sw $ra, 0x18($sp) +/* 803D30 802434B0 0C0B1EAF */ jal get_variable +/* 803D34 802434B4 AFB00010 */ sw $s0, 0x10($sp) +/* 803D38 802434B8 0040802D */ daddu $s0, $v0, $zero +/* 803D3C 802434BC 0C04EA15 */ jal func_8013A854 +/* 803D40 802434C0 8E040000 */ lw $a0, ($s0) +/* 803D44 802434C4 0C048D70 */ jal func_801235C0 +/* 803D48 802434C8 8E040004 */ lw $a0, 4($s0) +/* 803D4C 802434CC 0C00AB4B */ jal heap_free +/* 803D50 802434D0 0200202D */ daddu $a0, $s0, $zero +/* 803D54 802434D4 0220202D */ daddu $a0, $s1, $zero +/* 803D58 802434D8 3C05FD05 */ lui $a1, 0xfd05 +/* 803D5C 802434DC 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803D60 802434E0 0C0B2026 */ jal set_variable +/* 803D64 802434E4 0000302D */ daddu $a2, $zero, $zero +/* 803D68 802434E8 8FBF0018 */ lw $ra, 0x18($sp) +/* 803D6C 802434EC 8FB10014 */ lw $s1, 0x14($sp) +/* 803D70 802434F0 8FB00010 */ lw $s0, 0x10($sp) +/* 803D74 802434F4 24020002 */ addiu $v0, $zero, 2 +/* 803D78 802434F8 03E00008 */ jr $ra +/* 803D7C 802434FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243500.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243500.s new file mode 100644 index 0000000000..d0df79af7c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243500.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243500 +/* 803D80 80243500 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803D84 80243504 AFB10014 */ sw $s1, 0x14($sp) +/* 803D88 80243508 0080882D */ daddu $s1, $a0, $zero +/* 803D8C 8024350C AFBF001C */ sw $ra, 0x1c($sp) +/* 803D90 80243510 AFB20018 */ sw $s2, 0x18($sp) +/* 803D94 80243514 AFB00010 */ sw $s0, 0x10($sp) +/* 803D98 80243518 8E30000C */ lw $s0, 0xc($s1) +/* 803D9C 8024351C 8E050000 */ lw $a1, ($s0) +/* 803DA0 80243520 0C0B210B */ jal get_float_variable +/* 803DA4 80243524 26100004 */ addiu $s0, $s0, 4 +/* 803DA8 80243528 8E050000 */ lw $a1, ($s0) +/* 803DAC 8024352C 26100004 */ addiu $s0, $s0, 4 +/* 803DB0 80243530 4600008D */ trunc.w.s $f2, $f0 +/* 803DB4 80243534 44121000 */ mfc1 $s2, $f2 +/* 803DB8 80243538 0C0B210B */ jal get_float_variable +/* 803DBC 8024353C 0220202D */ daddu $a0, $s1, $zero +/* 803DC0 80243540 0220202D */ daddu $a0, $s1, $zero +/* 803DC4 80243544 8E050000 */ lw $a1, ($s0) +/* 803DC8 80243548 4600008D */ trunc.w.s $f2, $f0 +/* 803DCC 8024354C 44111000 */ mfc1 $s1, $f2 +/* 803DD0 80243550 0C0B210B */ jal get_float_variable +/* 803DD4 80243554 00000000 */ nop +/* 803DD8 80243558 0000202D */ daddu $a0, $zero, $zero +/* 803DDC 8024355C 3C05FD05 */ lui $a1, 0xfd05 +/* 803DE0 80243560 4600008D */ trunc.w.s $f2, $f0 +/* 803DE4 80243564 44101000 */ mfc1 $s0, $f2 +/* 803DE8 80243568 0C0B1EAF */ jal get_variable +/* 803DEC 8024356C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803DF0 80243570 0040182D */ daddu $v1, $v0, $zero +/* 803DF4 80243574 44920000 */ mtc1 $s2, $f0 +/* 803DF8 80243578 00000000 */ nop +/* 803DFC 8024357C 46800020 */ cvt.s.w $f0, $f0 +/* 803E00 80243580 E4600010 */ swc1 $f0, 0x10($v1) +/* 803E04 80243584 44910000 */ mtc1 $s1, $f0 +/* 803E08 80243588 00000000 */ nop +/* 803E0C 8024358C 46800020 */ cvt.s.w $f0, $f0 +/* 803E10 80243590 E4600014 */ swc1 $f0, 0x14($v1) +/* 803E14 80243594 44900000 */ mtc1 $s0, $f0 +/* 803E18 80243598 00000000 */ nop +/* 803E1C 8024359C 46800020 */ cvt.s.w $f0, $f0 +/* 803E20 802435A0 E4600018 */ swc1 $f0, 0x18($v1) +/* 803E24 802435A4 8FBF001C */ lw $ra, 0x1c($sp) +/* 803E28 802435A8 8FB20018 */ lw $s2, 0x18($sp) +/* 803E2C 802435AC 8FB10014 */ lw $s1, 0x14($sp) +/* 803E30 802435B0 8FB00010 */ lw $s0, 0x10($sp) +/* 803E34 802435B4 24020002 */ addiu $v0, $zero, 2 +/* 803E38 802435B8 03E00008 */ jr $ra +/* 803E3C 802435BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802435C0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802435C0.s new file mode 100644 index 0000000000..00b7a93e8c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802435C0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435C0 +/* 803E40 802435C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803E44 802435C4 AFB10014 */ sw $s1, 0x14($sp) +/* 803E48 802435C8 0080882D */ daddu $s1, $a0, $zero +/* 803E4C 802435CC AFBF001C */ sw $ra, 0x1c($sp) +/* 803E50 802435D0 AFB20018 */ sw $s2, 0x18($sp) +/* 803E54 802435D4 AFB00010 */ sw $s0, 0x10($sp) +/* 803E58 802435D8 8E30000C */ lw $s0, 0xc($s1) +/* 803E5C 802435DC 8E050000 */ lw $a1, ($s0) +/* 803E60 802435E0 0C0B210B */ jal get_float_variable +/* 803E64 802435E4 26100004 */ addiu $s0, $s0, 4 +/* 803E68 802435E8 8E050000 */ lw $a1, ($s0) +/* 803E6C 802435EC 26100004 */ addiu $s0, $s0, 4 +/* 803E70 802435F0 4600008D */ trunc.w.s $f2, $f0 +/* 803E74 802435F4 44121000 */ mfc1 $s2, $f2 +/* 803E78 802435F8 0C0B210B */ jal get_float_variable +/* 803E7C 802435FC 0220202D */ daddu $a0, $s1, $zero +/* 803E80 80243600 0220202D */ daddu $a0, $s1, $zero +/* 803E84 80243604 8E050000 */ lw $a1, ($s0) +/* 803E88 80243608 4600008D */ trunc.w.s $f2, $f0 +/* 803E8C 8024360C 44111000 */ mfc1 $s1, $f2 +/* 803E90 80243610 0C0B210B */ jal get_float_variable +/* 803E94 80243614 00000000 */ nop +/* 803E98 80243618 0000202D */ daddu $a0, $zero, $zero +/* 803E9C 8024361C 3C05FD05 */ lui $a1, 0xfd05 +/* 803EA0 80243620 4600008D */ trunc.w.s $f2, $f0 +/* 803EA4 80243624 44101000 */ mfc1 $s0, $f2 +/* 803EA8 80243628 0C0B1EAF */ jal get_variable +/* 803EAC 8024362C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803EB0 80243630 0040182D */ daddu $v1, $v0, $zero +/* 803EB4 80243634 44920000 */ mtc1 $s2, $f0 +/* 803EB8 80243638 00000000 */ nop +/* 803EBC 8024363C 46800020 */ cvt.s.w $f0, $f0 +/* 803EC0 80243640 E460001C */ swc1 $f0, 0x1c($v1) +/* 803EC4 80243644 44910000 */ mtc1 $s1, $f0 +/* 803EC8 80243648 00000000 */ nop +/* 803ECC 8024364C 46800020 */ cvt.s.w $f0, $f0 +/* 803ED0 80243650 E4600020 */ swc1 $f0, 0x20($v1) +/* 803ED4 80243654 44900000 */ mtc1 $s0, $f0 +/* 803ED8 80243658 00000000 */ nop +/* 803EDC 8024365C 46800020 */ cvt.s.w $f0, $f0 +/* 803EE0 80243660 E4600024 */ swc1 $f0, 0x24($v1) +/* 803EE4 80243664 8FBF001C */ lw $ra, 0x1c($sp) +/* 803EE8 80243668 8FB20018 */ lw $s2, 0x18($sp) +/* 803EEC 8024366C 8FB10014 */ lw $s1, 0x14($sp) +/* 803EF0 80243670 8FB00010 */ lw $s0, 0x10($sp) +/* 803EF4 80243674 24020002 */ addiu $v0, $zero, 2 +/* 803EF8 80243678 03E00008 */ jr $ra +/* 803EFC 8024367C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243680.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243680.s new file mode 100644 index 0000000000..08efbe6f08 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243680.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243680 +/* 803F00 80243680 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803F04 80243684 AFB10014 */ sw $s1, 0x14($sp) +/* 803F08 80243688 0080882D */ daddu $s1, $a0, $zero +/* 803F0C 8024368C AFBF001C */ sw $ra, 0x1c($sp) +/* 803F10 80243690 AFB20018 */ sw $s2, 0x18($sp) +/* 803F14 80243694 AFB00010 */ sw $s0, 0x10($sp) +/* 803F18 80243698 8E30000C */ lw $s0, 0xc($s1) +/* 803F1C 8024369C 8E050000 */ lw $a1, ($s0) +/* 803F20 802436A0 0C0B210B */ jal get_float_variable +/* 803F24 802436A4 26100004 */ addiu $s0, $s0, 4 +/* 803F28 802436A8 8E050000 */ lw $a1, ($s0) +/* 803F2C 802436AC 26100004 */ addiu $s0, $s0, 4 +/* 803F30 802436B0 4600008D */ trunc.w.s $f2, $f0 +/* 803F34 802436B4 44121000 */ mfc1 $s2, $f2 +/* 803F38 802436B8 0C0B210B */ jal get_float_variable +/* 803F3C 802436BC 0220202D */ daddu $a0, $s1, $zero +/* 803F40 802436C0 0220202D */ daddu $a0, $s1, $zero +/* 803F44 802436C4 8E050000 */ lw $a1, ($s0) +/* 803F48 802436C8 4600008D */ trunc.w.s $f2, $f0 +/* 803F4C 802436CC 44111000 */ mfc1 $s1, $f2 +/* 803F50 802436D0 0C0B210B */ jal get_float_variable +/* 803F54 802436D4 00000000 */ nop +/* 803F58 802436D8 0000202D */ daddu $a0, $zero, $zero +/* 803F5C 802436DC 3C05FD05 */ lui $a1, 0xfd05 +/* 803F60 802436E0 4600008D */ trunc.w.s $f2, $f0 +/* 803F64 802436E4 44101000 */ mfc1 $s0, $f2 +/* 803F68 802436E8 0C0B1EAF */ jal get_variable +/* 803F6C 802436EC 34A50F8A */ ori $a1, $a1, 0xf8a +/* 803F70 802436F0 0040182D */ daddu $v1, $v0, $zero +/* 803F74 802436F4 44920000 */ mtc1 $s2, $f0 +/* 803F78 802436F8 00000000 */ nop +/* 803F7C 802436FC 46800020 */ cvt.s.w $f0, $f0 +/* 803F80 80243700 E4600028 */ swc1 $f0, 0x28($v1) +/* 803F84 80243704 44910000 */ mtc1 $s1, $f0 +/* 803F88 80243708 00000000 */ nop +/* 803F8C 8024370C 46800020 */ cvt.s.w $f0, $f0 +/* 803F90 80243710 E460002C */ swc1 $f0, 0x2c($v1) +/* 803F94 80243714 44900000 */ mtc1 $s0, $f0 +/* 803F98 80243718 00000000 */ nop +/* 803F9C 8024371C 46800020 */ cvt.s.w $f0, $f0 +/* 803FA0 80243720 E4600030 */ swc1 $f0, 0x30($v1) +/* 803FA4 80243724 8FBF001C */ lw $ra, 0x1c($sp) +/* 803FA8 80243728 8FB20018 */ lw $s2, 0x18($sp) +/* 803FAC 8024372C 8FB10014 */ lw $s1, 0x14($sp) +/* 803FB0 80243730 8FB00010 */ lw $s0, 0x10($sp) +/* 803FB4 80243734 24020002 */ addiu $v0, $zero, 2 +/* 803FB8 80243738 03E00008 */ jr $ra +/* 803FBC 8024373C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243740.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243740.s new file mode 100644 index 0000000000..cb3cf27404 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243740.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243740 +/* 803FC0 80243740 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 803FC4 80243744 AFB10014 */ sw $s1, 0x14($sp) +/* 803FC8 80243748 0080882D */ daddu $s1, $a0, $zero +/* 803FCC 8024374C AFBF0018 */ sw $ra, 0x18($sp) +/* 803FD0 80243750 AFB00010 */ sw $s0, 0x10($sp) +/* 803FD4 80243754 8E30000C */ lw $s0, 0xc($s1) +/* 803FD8 80243758 8E050000 */ lw $a1, ($s0) +/* 803FDC 8024375C 0C0B1EAF */ jal get_variable +/* 803FE0 80243760 26100004 */ addiu $s0, $s0, 4 +/* 803FE4 80243764 0220202D */ daddu $a0, $s1, $zero +/* 803FE8 80243768 8E050000 */ lw $a1, ($s0) +/* 803FEC 8024376C 0C0B1EAF */ jal get_variable +/* 803FF0 80243770 0040882D */ daddu $s1, $v0, $zero +/* 803FF4 80243774 0000202D */ daddu $a0, $zero, $zero +/* 803FF8 80243778 3C05FD05 */ lui $a1, 0xfd05 +/* 803FFC 8024377C 34A50F8A */ ori $a1, $a1, 0xf8a +/* 804000 80243780 0C0B1EAF */ jal get_variable +/* 804004 80243784 0040802D */ daddu $s0, $v0, $zero +/* 804008 80243788 0040182D */ daddu $v1, $v0, $zero +/* 80400C 8024378C AC710008 */ sw $s1, 8($v1) +/* 804010 80243790 AC70000C */ sw $s0, 0xc($v1) +/* 804014 80243794 8FBF0018 */ lw $ra, 0x18($sp) +/* 804018 80243798 8FB10014 */ lw $s1, 0x14($sp) +/* 80401C 8024379C 8FB00010 */ lw $s0, 0x10($sp) +/* 804020 802437A0 24020002 */ addiu $v0, $zero, 2 +/* 804024 802437A4 03E00008 */ jr $ra +/* 804028 802437A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802437AC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802437AC.s new file mode 100644 index 0000000000..193721161e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802437AC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802437AC +/* 80402C 802437AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804030 802437B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 804034 802437B4 0C03A625 */ jal func_800E9894 +/* 804038 802437B8 00000000 */ nop +/* 80403C 802437BC 8FBF0010 */ lw $ra, 0x10($sp) +/* 804040 802437C0 24020002 */ addiu $v0, $zero, 2 +/* 804044 802437C4 03E00008 */ jr $ra +/* 804048 802437C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802437CC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802437CC.s new file mode 100644 index 0000000000..0cde9b431a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802437CC.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802437CC +/* 80404C 802437CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804050 802437D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 804054 802437D4 0C03A631 */ jal func_800E98C4 +/* 804058 802437D8 00000000 */ nop +/* 80405C 802437DC 0C03A6DB */ jal sync_status_menu +/* 804060 802437E0 00000000 */ nop +/* 804064 802437E4 8FBF0010 */ lw $ra, 0x10($sp) +/* 804068 802437E8 24020002 */ addiu $v0, $zero, 2 +/* 80406C 802437EC 03E00008 */ jr $ra +/* 804070 802437F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243870.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243870.s new file mode 100644 index 0000000000..4b07a3bfdf --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243870.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243870 +/* 8040F0 80243870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8040F4 80243874 AFB10014 */ sw $s1, 0x14($sp) +/* 8040F8 80243878 0080882D */ daddu $s1, $a0, $zero +/* 8040FC 8024387C AFBF0018 */ sw $ra, 0x18($sp) +/* 804100 80243880 AFB00010 */ sw $s0, 0x10($sp) +/* 804104 80243884 8E30000C */ lw $s0, 0xc($s1) +/* 804108 80243888 8E050000 */ lw $a1, ($s0) +/* 80410C 8024388C 0C0B1EAF */ jal get_variable +/* 804110 80243890 26100004 */ addiu $s0, $s0, 4 +/* 804114 80243894 0220202D */ daddu $a0, $s1, $zero +/* 804118 80243898 8E050000 */ lw $a1, ($s0) +/* 80411C 8024389C 0C0B1EAF */ jal get_variable +/* 804120 802438A0 0040802D */ daddu $s0, $v0, $zero +/* 804124 802438A4 44820000 */ mtc1 $v0, $f0 +/* 804128 802438A8 00000000 */ nop +/* 80412C 802438AC 46800020 */ cvt.s.w $f0, $f0 +/* 804130 802438B0 24020002 */ addiu $v0, $zero, 2 +/* 804134 802438B4 00501804 */ sllv $v1, $s0, $v0 +/* 804138 802438B8 00701821 */ addu $v1, $v1, $s0 +/* 80413C 802438BC 00431804 */ sllv $v1, $v1, $v0 +/* 804140 802438C0 00701823 */ subu $v1, $v1, $s0 +/* 804144 802438C4 000320C0 */ sll $a0, $v1, 3 +/* 804148 802438C8 00641821 */ addu $v1, $v1, $a0 +/* 80414C 802438CC 000318C0 */ sll $v1, $v1, 3 +/* 804150 802438D0 3C01800B */ lui $at, 0x800b +/* 804154 802438D4 00230821 */ addu $at, $at, $v1 +/* 804158 802438D8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 80415C 802438DC 8FBF0018 */ lw $ra, 0x18($sp) +/* 804160 802438E0 8FB10014 */ lw $s1, 0x14($sp) +/* 804164 802438E4 8FB00010 */ lw $s0, 0x10($sp) +/* 804168 802438E8 03E00008 */ jr $ra +/* 80416C 802438EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802438F0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802438F0.s new file mode 100644 index 0000000000..01940b5005 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802438F0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802438F0 +/* 804170 802438F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804174 802438F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 804178 802438F8 8C82000C */ lw $v0, 0xc($a0) +/* 80417C 802438FC 0C0B1EAF */ jal get_variable +/* 804180 80243900 8C450000 */ lw $a1, ($v0) +/* 804184 80243904 0C0B1059 */ jal does_script_exist +/* 804188 80243908 0040202D */ daddu $a0, $v0, $zero +/* 80418C 8024390C 2C420001 */ sltiu $v0, $v0, 1 +/* 804190 80243910 8FBF0010 */ lw $ra, 0x10($sp) +/* 804194 80243914 00021040 */ sll $v0, $v0, 1 +/* 804198 80243918 03E00008 */ jr $ra +/* 80419C 8024391C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243920.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243920.s new file mode 100644 index 0000000000..25fb039f2c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243920.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243920 +/* 8041A0 80243920 3C028011 */ lui $v0, 0x8011 +/* 8041A4 80243924 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 8041A8 80243928 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8041AC 8024392C 10400003 */ beqz $v0, .L8024393C +/* 8041B0 80243930 AFBF0010 */ sw $ra, 0x10($sp) +/* 8041B4 80243934 0C03AE06 */ jal partner_suspend_ability_script +/* 8041B8 80243938 00000000 */ nop +.L8024393C: +/* 8041BC 8024393C 24020002 */ addiu $v0, $zero, 2 +/* 8041C0 80243940 8FBF0010 */ lw $ra, 0x10($sp) +/* 8041C4 80243944 03E00008 */ jr $ra +/* 8041C8 80243948 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024394C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024394C.s new file mode 100644 index 0000000000..cf5d942dd4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024394C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024394C +/* 8041CC 8024394C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8041D0 80243950 AFBF0010 */ sw $ra, 0x10($sp) +/* 8041D4 80243954 0C03AE18 */ jal partner_resume_ability_script +/* 8041D8 80243958 00000000 */ nop +/* 8041DC 8024395C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8041E0 80243960 24020002 */ addiu $v0, $zero, 2 +/* 8041E4 80243964 03E00008 */ jr $ra +/* 8041E8 80243968 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024396C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024396C.s new file mode 100644 index 0000000000..1ee14e9043 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024396C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024396C +/* 8041EC 8024396C 3C058011 */ lui $a1, %hi(gPlayerData) +/* 8041F0 80243970 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 8041F4 80243974 AC800088 */ sw $zero, 0x88($a0) +/* 8041F8 80243978 80A30003 */ lb $v1, 3($a1) +/* 8041FC 8024397C 80A20002 */ lb $v0, 2($a1) +/* 804200 80243980 1462000B */ bne $v1, $v0, .L802439B0 +/* 804204 80243984 00A0302D */ daddu $a2, $a1, $zero +/* 804208 80243988 80A30006 */ lb $v1, 6($a1) +/* 80420C 8024398C 80A20005 */ lb $v0, 5($a1) +/* 804210 80243990 14620007 */ bne $v1, $v0, .L802439B0 +/* 804214 80243994 00000000 */ nop +/* 804218 80243998 80C2028E */ lb $v0, 0x28e($a2) +/* 80421C 8024399C 84C30290 */ lh $v1, 0x290($a2) +/* 804220 802439A0 00021200 */ sll $v0, $v0, 8 +/* 804224 802439A4 14620004 */ bne $v1, $v0, .L802439B8 +/* 804228 802439A8 24020001 */ addiu $v0, $zero, 1 +/* 80422C 802439AC AC820088 */ sw $v0, 0x88($a0) +.L802439B0: +/* 804230 802439B0 03E00008 */ jr $ra +/* 804234 802439B4 24020002 */ addiu $v0, $zero, 2 +.L802439B8: +/* 804238 802439B8 03E00008 */ jr $ra +/* 80423C 802439BC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802439C0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802439C0.s new file mode 100644 index 0000000000..81149160ee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802439C0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439C0 +/* 804240 802439C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804244 802439C4 AFB10014 */ sw $s1, 0x14($sp) +/* 804248 802439C8 0080882D */ daddu $s1, $a0, $zero +/* 80424C 802439CC AFBF001C */ sw $ra, 0x1c($sp) +/* 804250 802439D0 AFB20018 */ sw $s2, 0x18($sp) +/* 804254 802439D4 AFB00010 */ sw $s0, 0x10($sp) +/* 804258 802439D8 8E30000C */ lw $s0, 0xc($s1) +/* 80425C 802439DC 8E050000 */ lw $a1, ($s0) +/* 804260 802439E0 0C0B1EAF */ jal get_variable +/* 804264 802439E4 26100004 */ addiu $s0, $s0, 4 +/* 804268 802439E8 8E050000 */ lw $a1, ($s0) +/* 80426C 802439EC 26100004 */ addiu $s0, $s0, 4 +/* 804270 802439F0 0220202D */ daddu $a0, $s1, $zero +/* 804274 802439F4 0C0B1EAF */ jal get_variable +/* 804278 802439F8 0040902D */ daddu $s2, $v0, $zero +/* 80427C 802439FC 0220202D */ daddu $a0, $s1, $zero +/* 804280 80243A00 8E050000 */ lw $a1, ($s0) +/* 804284 80243A04 0C0B1EAF */ jal get_variable +/* 804288 80243A08 0040802D */ daddu $s0, $v0, $zero +/* 80428C 80243A0C 0000202D */ daddu $a0, $zero, $zero +/* 804290 80243A10 324500FF */ andi $a1, $s2, 0xff +/* 804294 80243A14 320600FF */ andi $a2, $s0, 0xff +/* 804298 80243A18 0C04DF84 */ jal func_80137E10 +/* 80429C 80243A1C 304700FF */ andi $a3, $v0, 0xff +/* 8042A0 80243A20 8FBF001C */ lw $ra, 0x1c($sp) +/* 8042A4 80243A24 8FB20018 */ lw $s2, 0x18($sp) +/* 8042A8 80243A28 8FB10014 */ lw $s1, 0x14($sp) +/* 8042AC 80243A2C 8FB00010 */ lw $s0, 0x10($sp) +/* 8042B0 80243A30 24020002 */ addiu $v0, $zero, 2 +/* 8042B4 80243A34 03E00008 */ jr $ra +/* 8042B8 80243A38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243A3C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243A3C.s new file mode 100644 index 0000000000..51a43c093c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243A3C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243A3C +/* 8042BC 80243A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8042C0 80243A40 AFBF0010 */ sw $ra, 0x10($sp) +/* 8042C4 80243A44 8C82000C */ lw $v0, 0xc($a0) +/* 8042C8 80243A48 3C068011 */ lui $a2, 0x8011 +/* 8042CC 80243A4C 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* 8042D0 80243A50 0C0B2026 */ jal set_variable +/* 8042D4 80243A54 8C450000 */ lw $a1, ($v0) +/* 8042D8 80243A58 0C03AC5A */ jal func_800EB168 +/* 8042DC 80243A5C 0000202D */ daddu $a0, $zero, $zero +/* 8042E0 80243A60 8FBF0010 */ lw $ra, 0x10($sp) +/* 8042E4 80243A64 24020002 */ addiu $v0, $zero, 2 +/* 8042E8 80243A68 03E00008 */ jr $ra +/* 8042EC 80243A6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243A70.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243A70.s new file mode 100644 index 0000000000..c3fa20b742 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243A70.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243A70 +/* 8042F0 80243A70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8042F4 80243A74 AFBF0010 */ sw $ra, 0x10($sp) +/* 8042F8 80243A78 8C82000C */ lw $v0, 0xc($a0) +/* 8042FC 80243A7C 0C0B1EAF */ jal get_variable +/* 804300 80243A80 8C450000 */ lw $a1, ($v0) +/* 804304 80243A84 00021600 */ sll $v0, $v0, 0x18 +/* 804308 80243A88 0C03AC5A */ jal func_800EB168 +/* 80430C 80243A8C 00022603 */ sra $a0, $v0, 0x18 +/* 804310 80243A90 8FBF0010 */ lw $ra, 0x10($sp) +/* 804314 80243A94 24020002 */ addiu $v0, $zero, 2 +/* 804318 80243A98 03E00008 */ jr $ra +/* 80431C 80243A9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243AA0.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243AA0.s new file mode 100644 index 0000000000..2868102017 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243AA0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243AA0 +/* 804320 80243AA0 03E00008 */ jr $ra +/* 804324 80243AA4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243AA8.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243AA8.s new file mode 100644 index 0000000000..128243a079 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243AA8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243AA8 +/* 804328 80243AA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 80432C 80243AAC AFB10014 */ sw $s1, 0x14($sp) +/* 804330 80243AB0 0080882D */ daddu $s1, $a0, $zero +/* 804334 80243AB4 AFBF0018 */ sw $ra, 0x18($sp) +/* 804338 80243AB8 AFB00010 */ sw $s0, 0x10($sp) +/* 80433C 80243ABC 8E30000C */ lw $s0, 0xc($s1) +/* 804340 80243AC0 8E050000 */ lw $a1, ($s0) +/* 804344 80243AC4 0C0B1EAF */ jal get_variable +/* 804348 80243AC8 26100004 */ addiu $s0, $s0, 4 +/* 80434C 80243ACC 0C00EAD2 */ jal get_npc_safe +/* 804350 80243AD0 0040202D */ daddu $a0, $v0, $zero +/* 804354 80243AD4 10400005 */ beqz $v0, .L80243AEC +/* 804358 80243AD8 00000000 */ nop +/* 80435C 80243ADC 8E050000 */ lw $a1, ($s0) +/* 804360 80243AE0 844600A8 */ lh $a2, 0xa8($v0) +/* 804364 80243AE4 0C0B2026 */ jal set_variable +/* 804368 80243AE8 0220202D */ daddu $a0, $s1, $zero +.L80243AEC: +/* 80436C 80243AEC 8FBF0018 */ lw $ra, 0x18($sp) +/* 804370 80243AF0 8FB10014 */ lw $s1, 0x14($sp) +/* 804374 80243AF4 8FB00010 */ lw $s0, 0x10($sp) +/* 804378 80243AF8 24020002 */ addiu $v0, $zero, 2 +/* 80437C 80243AFC 03E00008 */ jr $ra +/* 804380 80243B00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243B04.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243B04.s new file mode 100644 index 0000000000..ee1c2cf565 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243B04.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243B04 +/* 804384 80243B04 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 804388 80243B08 AFB10014 */ sw $s1, 0x14($sp) +/* 80438C 80243B0C 0080882D */ daddu $s1, $a0, $zero +/* 804390 80243B10 AFBF0024 */ sw $ra, 0x24($sp) +/* 804394 80243B14 AFB40020 */ sw $s4, 0x20($sp) +/* 804398 80243B18 AFB3001C */ sw $s3, 0x1c($sp) +/* 80439C 80243B1C AFB20018 */ sw $s2, 0x18($sp) +/* 8043A0 80243B20 AFB00010 */ sw $s0, 0x10($sp) +/* 8043A4 80243B24 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 8043A8 80243B28 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8043AC 80243B2C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8043B0 80243B30 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8043B4 80243B34 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8043B8 80243B38 8E30000C */ lw $s0, 0xc($s1) +/* 8043BC 80243B3C 8E130000 */ lw $s3, ($s0) +/* 8043C0 80243B40 26100004 */ addiu $s0, $s0, 4 +/* 8043C4 80243B44 0C0B1EAF */ jal get_variable +/* 8043C8 80243B48 0260282D */ daddu $a1, $s3, $zero +/* 8043CC 80243B4C 4482E000 */ mtc1 $v0, $f28 +/* 8043D0 80243B50 00000000 */ nop +/* 8043D4 80243B54 4680E720 */ cvt.s.w $f28, $f28 +/* 8043D8 80243B58 8E140000 */ lw $s4, ($s0) +/* 8043DC 80243B5C 26100004 */ addiu $s0, $s0, 4 +/* 8043E0 80243B60 0220202D */ daddu $a0, $s1, $zero +/* 8043E4 80243B64 0C0B1EAF */ jal get_variable +/* 8043E8 80243B68 0280282D */ daddu $a1, $s4, $zero +/* 8043EC 80243B6C 4482D000 */ mtc1 $v0, $f26 +/* 8043F0 80243B70 00000000 */ nop +/* 8043F4 80243B74 4680D6A0 */ cvt.s.w $f26, $f26 +/* 8043F8 80243B78 8E100000 */ lw $s0, ($s0) +/* 8043FC 80243B7C 0220202D */ daddu $a0, $s1, $zero +/* 804400 80243B80 0C0B1EAF */ jal get_variable +/* 804404 80243B84 0200282D */ daddu $a1, $s0, $zero +/* 804408 80243B88 4482C000 */ mtc1 $v0, $f24 +/* 80440C 80243B8C 00000000 */ nop +/* 804410 80243B90 4680C620 */ cvt.s.w $f24, $f24 +/* 804414 80243B94 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 804418 80243B98 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 80441C 80243B9C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 804420 80243BA0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 804424 80243BA4 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 804428 80243BA8 44800000 */ mtc1 $zero, $f0 +/* 80442C 80243BAC 00031080 */ sll $v0, $v1, 2 +/* 804430 80243BB0 00431021 */ addu $v0, $v0, $v1 +/* 804434 80243BB4 00021080 */ sll $v0, $v0, 2 +/* 804438 80243BB8 00431023 */ subu $v0, $v0, $v1 +/* 80443C 80243BBC 000218C0 */ sll $v1, $v0, 3 +/* 804440 80243BC0 00431021 */ addu $v0, $v0, $v1 +/* 804444 80243BC4 000210C0 */ sll $v0, $v0, 3 +/* 804448 80243BC8 46001032 */ c.eq.s $f2, $f0 +/* 80444C 80243BCC 3C01800B */ lui $at, 0x800b +/* 804450 80243BD0 00220821 */ addu $at, $at, $v0 +/* 804454 80243BD4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 804458 80243BD8 45000005 */ bc1f .L80243BF0 +/* 80445C 80243BDC 00000000 */ nop +/* 804460 80243BE0 3C0142C8 */ lui $at, 0x42c8 +/* 804464 80243BE4 44810000 */ mtc1 $at, $f0 +/* 804468 80243BE8 08090F00 */ j .L80243C00 +/* 80446C 80243BEC 4600B581 */ sub.s $f22, $f22, $f0 +.L80243BF0: +/* 804470 80243BF0 3C0142C8 */ lui $at, 0x42c8 +/* 804474 80243BF4 44810000 */ mtc1 $at, $f0 +/* 804478 80243BF8 00000000 */ nop +/* 80447C 80243BFC 4600B580 */ add.s $f22, $f22, $f0 +.L80243C00: +/* 804480 80243C00 0C00A6C9 */ jal clamp_angle +/* 804484 80243C04 4600B306 */ mov.s $f12, $f22 +/* 804488 80243C08 46000586 */ mov.s $f22, $f0 +/* 80448C 80243C0C 3C014170 */ lui $at, 0x4170 +/* 804490 80243C10 4481A000 */ mtc1 $at, $f20 +/* 804494 80243C14 0C00A8BB */ jal sin_deg +/* 804498 80243C18 4600B306 */ mov.s $f12, $f22 +/* 80449C 80243C1C 46140002 */ mul.s $f0, $f0, $f20 +/* 8044A0 80243C20 00000000 */ nop +/* 8044A4 80243C24 864200B0 */ lh $v0, 0xb0($s2) +/* 8044A8 80243C28 3C013F00 */ lui $at, 0x3f00 +/* 8044AC 80243C2C 44812000 */ mtc1 $at, $f4 +/* 8044B0 80243C30 44821000 */ mtc1 $v0, $f2 +/* 8044B4 80243C34 00000000 */ nop +/* 8044B8 80243C38 468010A0 */ cvt.s.w $f2, $f2 +/* 8044BC 80243C3C 46041082 */ mul.s $f2, $f2, $f4 +/* 8044C0 80243C40 00000000 */ nop +/* 8044C4 80243C44 4600E700 */ add.s $f28, $f28, $f0 +/* 8044C8 80243C48 4602D680 */ add.s $f26, $f26, $f2 +/* 8044CC 80243C4C 0C00A8D4 */ jal cos_deg +/* 8044D0 80243C50 4600B306 */ mov.s $f12, $f22 +/* 8044D4 80243C54 46140002 */ mul.s $f0, $f0, $f20 +/* 8044D8 80243C58 00000000 */ nop +/* 8044DC 80243C5C 0220202D */ daddu $a0, $s1, $zero +/* 8044E0 80243C60 0260282D */ daddu $a1, $s3, $zero +/* 8044E4 80243C64 4600E18D */ trunc.w.s $f6, $f28 +/* 8044E8 80243C68 44063000 */ mfc1 $a2, $f6 +/* 8044EC 80243C6C 0C0B2026 */ jal set_variable +/* 8044F0 80243C70 4600C601 */ sub.s $f24, $f24, $f0 +/* 8044F4 80243C74 0220202D */ daddu $a0, $s1, $zero +/* 8044F8 80243C78 4600D18D */ trunc.w.s $f6, $f26 +/* 8044FC 80243C7C 44063000 */ mfc1 $a2, $f6 +/* 804500 80243C80 0C0B2026 */ jal set_variable +/* 804504 80243C84 0280282D */ daddu $a1, $s4, $zero +/* 804508 80243C88 0220202D */ daddu $a0, $s1, $zero +/* 80450C 80243C8C 4600C18D */ trunc.w.s $f6, $f24 +/* 804510 80243C90 44063000 */ mfc1 $a2, $f6 +/* 804514 80243C94 0C0B2026 */ jal set_variable +/* 804518 80243C98 0200282D */ daddu $a1, $s0, $zero +/* 80451C 80243C9C 8FBF0024 */ lw $ra, 0x24($sp) +/* 804520 80243CA0 8FB40020 */ lw $s4, 0x20($sp) +/* 804524 80243CA4 8FB3001C */ lw $s3, 0x1c($sp) +/* 804528 80243CA8 8FB20018 */ lw $s2, 0x18($sp) +/* 80452C 80243CAC 8FB10014 */ lw $s1, 0x14($sp) +/* 804530 80243CB0 8FB00010 */ lw $s0, 0x10($sp) +/* 804534 80243CB4 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 804538 80243CB8 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 80453C 80243CBC D7B80038 */ ldc1 $f24, 0x38($sp) +/* 804540 80243CC0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 804544 80243CC4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 804548 80243CC8 24020002 */ addiu $v0, $zero, 2 +/* 80454C 80243CCC 03E00008 */ jr $ra +/* 804550 80243CD0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243CD4.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243CD4.s new file mode 100644 index 0000000000..7416a79ba3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243CD4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243CD4 +/* 804554 80243CD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804558 80243CD8 AFBF0010 */ sw $ra, 0x10($sp) +/* 80455C 80243CDC 10A00003 */ beqz $a1, .L80243CEC +/* 804560 80243CE0 8C86000C */ lw $a2, 0xc($a0) +/* 804564 80243CE4 3C018025 */ lui $at, 0x8025 +/* 804568 80243CE8 AC20D944 */ sw $zero, -0x26bc($at) +.L80243CEC: +/* 80456C 80243CEC 3C038025 */ lui $v1, 0x8025 +/* 804570 80243CF0 2463D944 */ addiu $v1, $v1, -0x26bc +/* 804574 80243CF4 8C620000 */ lw $v0, ($v1) +/* 804578 80243CF8 54400003 */ bnel $v0, $zero, .L80243D08 +/* 80457C 80243CFC AC600000 */ sw $zero, ($v1) +/* 804580 80243D00 08090F47 */ j .L80243D1C +/* 804584 80243D04 0000102D */ daddu $v0, $zero, $zero +.L80243D08: +/* 804588 80243D08 8CC50000 */ lw $a1, ($a2) +/* 80458C 80243D0C 3C068025 */ lui $a2, 0x8025 +/* 804590 80243D10 0C0B2026 */ jal set_variable +/* 804594 80243D14 8CC6D948 */ lw $a2, -0x26b8($a2) +/* 804598 80243D18 24020002 */ addiu $v0, $zero, 2 +.L80243D1C: +/* 80459C 80243D1C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8045A0 80243D20 03E00008 */ jr $ra +/* 8045A4 80243D24 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243D28.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243D28.s new file mode 100644 index 0000000000..4dad0694cd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243D28.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243D28 +/* 8045A8 80243D28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8045AC 80243D2C AFBF0010 */ sw $ra, 0x10($sp) +/* 8045B0 80243D30 8C82000C */ lw $v0, 0xc($a0) +/* 8045B4 80243D34 0C0B1EAF */ jal get_variable +/* 8045B8 80243D38 8C450000 */ lw $a1, ($v0) +/* 8045BC 80243D3C 3C018025 */ lui $at, 0x8025 +/* 8045C0 80243D40 AC22D948 */ sw $v0, -0x26b8($at) +/* 8045C4 80243D44 24020002 */ addiu $v0, $zero, 2 +/* 8045C8 80243D48 8FBF0010 */ lw $ra, 0x10($sp) +/* 8045CC 80243D4C 24030001 */ addiu $v1, $zero, 1 +/* 8045D0 80243D50 3C018025 */ lui $at, 0x8025 +/* 8045D4 80243D54 AC23D944 */ sw $v1, -0x26bc($at) +/* 8045D8 80243D58 03E00008 */ jr $ra +/* 8045DC 80243D5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243D60.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243D60.s new file mode 100644 index 0000000000..b7bff50cb2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243D60.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243D60 +/* 8045E0 80243D60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8045E4 80243D64 AFBF0010 */ sw $ra, 0x10($sp) +/* 8045E8 80243D68 8C82000C */ lw $v0, 0xc($a0) +/* 8045EC 80243D6C 0C0B1EAF */ jal get_variable +/* 8045F0 80243D70 8C450000 */ lw $a1, ($v0) +/* 8045F4 80243D74 0040182D */ daddu $v1, $v0, $zero +/* 8045F8 80243D78 10600012 */ beqz $v1, .L80243DC4 +/* 8045FC 80243D7C 0000202D */ daddu $a0, $zero, $zero +/* 804600 80243D80 8C620000 */ lw $v0, ($v1) +/* 804604 80243D84 5040000A */ beql $v0, $zero, .L80243DB0 +/* 804608 80243D88 00041080 */ sll $v0, $a0, 2 +/* 80460C 80243D8C 3C058026 */ lui $a1, 0x8026 +/* 804610 80243D90 24A52A70 */ addiu $a1, $a1, 0x2a70 +.L80243D94: +/* 804614 80243D94 24630004 */ addiu $v1, $v1, 4 +/* 804618 80243D98 24840001 */ addiu $a0, $a0, 1 +/* 80461C 80243D9C ACA20000 */ sw $v0, ($a1) +/* 804620 80243DA0 8C620000 */ lw $v0, ($v1) +/* 804624 80243DA4 1440FFFB */ bnez $v0, .L80243D94 +/* 804628 80243DA8 24A50004 */ addiu $a1, $a1, 4 +/* 80462C 80243DAC 00041080 */ sll $v0, $a0, 2 +.L80243DB0: +/* 804630 80243DB0 3C018026 */ lui $at, 0x8026 +/* 804634 80243DB4 00220821 */ addu $at, $at, $v0 +/* 804638 80243DB8 AC202A70 */ sw $zero, 0x2a70($at) +/* 80463C 80243DBC 08090F7B */ j .L80243DEC +/* 804640 80243DC0 00000000 */ nop +.L80243DC4: +/* 804644 80243DC4 3C038026 */ lui $v1, 0x8026 +/* 804648 80243DC8 24632A70 */ addiu $v1, $v1, 0x2a70 +/* 80464C 80243DCC 0060282D */ daddu $a1, $v1, $zero +.L80243DD0: +/* 804650 80243DD0 24820010 */ addiu $v0, $a0, 0x10 +/* 804654 80243DD4 AC620000 */ sw $v0, ($v1) +/* 804658 80243DD8 24630004 */ addiu $v1, $v1, 4 +/* 80465C 80243DDC 24840001 */ addiu $a0, $a0, 1 +/* 804660 80243DE0 28820070 */ slti $v0, $a0, 0x70 +/* 804664 80243DE4 1440FFFA */ bnez $v0, .L80243DD0 +/* 804668 80243DE8 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80243DEC: +/* 80466C 80243DEC 8FBF0010 */ lw $ra, 0x10($sp) +/* 804670 80243DF0 24020002 */ addiu $v0, $zero, 2 +/* 804674 80243DF4 03E00008 */ jr $ra +/* 804678 80243DF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243DFC.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243DFC.s new file mode 100644 index 0000000000..815e846b69 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243DFC.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243DFC +/* 80467C 80243DFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804680 80243E00 AFB10014 */ sw $s1, 0x14($sp) +/* 804684 80243E04 0080882D */ daddu $s1, $a0, $zero +/* 804688 80243E08 AFBF0018 */ sw $ra, 0x18($sp) +/* 80468C 80243E0C AFB00010 */ sw $s0, 0x10($sp) +/* 804690 80243E10 8E30000C */ lw $s0, 0xc($s1) +/* 804694 80243E14 8E050000 */ lw $a1, ($s0) +/* 804698 80243E18 0C0B1EAF */ jal get_variable +/* 80469C 80243E1C 26100004 */ addiu $s0, $s0, 4 +/* 8046A0 80243E20 AE22008C */ sw $v0, 0x8c($s1) +/* 8046A4 80243E24 8E050000 */ lw $a1, ($s0) +/* 8046A8 80243E28 26100004 */ addiu $s0, $s0, 4 +/* 8046AC 80243E2C 0C0B1EAF */ jal get_variable +/* 8046B0 80243E30 0220202D */ daddu $a0, $s1, $zero +/* 8046B4 80243E34 AE220090 */ sw $v0, 0x90($s1) +/* 8046B8 80243E38 8E050000 */ lw $a1, ($s0) +/* 8046BC 80243E3C 26100004 */ addiu $s0, $s0, 4 +/* 8046C0 80243E40 0C0B1EAF */ jal get_variable +/* 8046C4 80243E44 0220202D */ daddu $a0, $s1, $zero +/* 8046C8 80243E48 AE220094 */ sw $v0, 0x94($s1) +/* 8046CC 80243E4C 8E050000 */ lw $a1, ($s0) +/* 8046D0 80243E50 26100004 */ addiu $s0, $s0, 4 +/* 8046D4 80243E54 0C0B1EAF */ jal get_variable +/* 8046D8 80243E58 0220202D */ daddu $a0, $s1, $zero +/* 8046DC 80243E5C AE220098 */ sw $v0, 0x98($s1) +/* 8046E0 80243E60 8E050000 */ lw $a1, ($s0) +/* 8046E4 80243E64 26100004 */ addiu $s0, $s0, 4 +/* 8046E8 80243E68 0C0B1EAF */ jal get_variable +/* 8046EC 80243E6C 0220202D */ daddu $a0, $s1, $zero +/* 8046F0 80243E70 AE22009C */ sw $v0, 0x9c($s1) +/* 8046F4 80243E74 8E050000 */ lw $a1, ($s0) +/* 8046F8 80243E78 26100004 */ addiu $s0, $s0, 4 +/* 8046FC 80243E7C 0C0B1EAF */ jal get_variable +/* 804700 80243E80 0220202D */ daddu $a0, $s1, $zero +/* 804704 80243E84 AE2200A0 */ sw $v0, 0xa0($s1) +/* 804708 80243E88 8E050000 */ lw $a1, ($s0) +/* 80470C 80243E8C 26100004 */ addiu $s0, $s0, 4 +/* 804710 80243E90 0C0B1EAF */ jal get_variable +/* 804714 80243E94 0220202D */ daddu $a0, $s1, $zero +/* 804718 80243E98 AE2200A4 */ sw $v0, 0xa4($s1) +/* 80471C 80243E9C 8E050000 */ lw $a1, ($s0) +/* 804720 80243EA0 26100004 */ addiu $s0, $s0, 4 +/* 804724 80243EA4 0C0B1EAF */ jal get_variable +/* 804728 80243EA8 0220202D */ daddu $a0, $s1, $zero +/* 80472C 80243EAC AE2200A8 */ sw $v0, 0xa8($s1) +/* 804730 80243EB0 8E050000 */ lw $a1, ($s0) +/* 804734 80243EB4 26100004 */ addiu $s0, $s0, 4 +/* 804738 80243EB8 0C0B1EAF */ jal get_variable +/* 80473C 80243EBC 0220202D */ daddu $a0, $s1, $zero +/* 804740 80243EC0 AE2200AC */ sw $v0, 0xac($s1) +/* 804744 80243EC4 8E050000 */ lw $a1, ($s0) +/* 804748 80243EC8 0C0B1EAF */ jal get_variable +/* 80474C 80243ECC 0220202D */ daddu $a0, $s1, $zero +/* 804750 80243ED0 AE2200B0 */ sw $v0, 0xb0($s1) +/* 804754 80243ED4 8FBF0018 */ lw $ra, 0x18($sp) +/* 804758 80243ED8 8FB10014 */ lw $s1, 0x14($sp) +/* 80475C 80243EDC 8FB00010 */ lw $s0, 0x10($sp) +/* 804760 80243EE0 24020002 */ addiu $v0, $zero, 2 +/* 804764 80243EE4 03E00008 */ jr $ra +/* 804768 80243EE8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80243EEC_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_80243EEC_800880.s new file mode 100644 index 0000000000..89937430de --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80243EEC_800880.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243EEC_80476C +/* 80476C 80243EEC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 804770 80243EF0 AFB1001C */ sw $s1, 0x1c($sp) +/* 804774 80243EF4 0080882D */ daddu $s1, $a0, $zero +/* 804778 80243EF8 AFBF0034 */ sw $ra, 0x34($sp) +/* 80477C 80243EFC AFB60030 */ sw $s6, 0x30($sp) +/* 804780 80243F00 AFB5002C */ sw $s5, 0x2c($sp) +/* 804784 80243F04 AFB40028 */ sw $s4, 0x28($sp) +/* 804788 80243F08 AFB30024 */ sw $s3, 0x24($sp) +/* 80478C 80243F0C AFB20020 */ sw $s2, 0x20($sp) +/* 804790 80243F10 AFB00018 */ sw $s0, 0x18($sp) +/* 804794 80243F14 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 804798 80243F18 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 80479C 80243F1C 8E30000C */ lw $s0, 0xc($s1) +/* 8047A0 80243F20 8E160000 */ lw $s6, ($s0) +/* 8047A4 80243F24 26100004 */ addiu $s0, $s0, 4 +/* 8047A8 80243F28 0C0B1EAF */ jal get_variable +/* 8047AC 80243F2C 02C0282D */ daddu $a1, $s6, $zero +/* 8047B0 80243F30 44820000 */ mtc1 $v0, $f0 +/* 8047B4 80243F34 00000000 */ nop +/* 8047B8 80243F38 46800020 */ cvt.s.w $f0, $f0 +/* 8047BC 80243F3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8047C0 80243F40 8E140000 */ lw $s4, ($s0) +/* 8047C4 80243F44 26100004 */ addiu $s0, $s0, 4 +/* 8047C8 80243F48 0220202D */ daddu $a0, $s1, $zero +/* 8047CC 80243F4C 0C0B1EAF */ jal get_variable +/* 8047D0 80243F50 0280282D */ daddu $a1, $s4, $zero +/* 8047D4 80243F54 0220202D */ daddu $a0, $s1, $zero +/* 8047D8 80243F58 8E150000 */ lw $s5, ($s0) +/* 8047DC 80243F5C 4482B000 */ mtc1 $v0, $f22 +/* 8047E0 80243F60 00000000 */ nop +/* 8047E4 80243F64 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8047E8 80243F68 0C0B1EAF */ jal get_variable +/* 8047EC 80243F6C 02A0282D */ daddu $a1, $s5, $zero +/* 8047F0 80243F70 2404FFFC */ addiu $a0, $zero, -4 +/* 8047F4 80243F74 44820000 */ mtc1 $v0, $f0 +/* 8047F8 80243F78 00000000 */ nop +/* 8047FC 80243F7C 46800020 */ cvt.s.w $f0, $f0 +/* 804800 80243F80 0C00EABB */ jal get_npc_unsafe +/* 804804 80243F84 E7A00014 */ swc1 $f0, 0x14($sp) +/* 804808 80243F88 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 80480C 80243F8C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 804810 80243F90 3C014334 */ lui $at, 0x4334 +/* 804814 80243F94 44816000 */ mtc1 $at, $f12 +/* 804818 80243F98 00041880 */ sll $v1, $a0, 2 +/* 80481C 80243F9C 00641821 */ addu $v1, $v1, $a0 +/* 804820 80243FA0 00031880 */ sll $v1, $v1, 2 +/* 804824 80243FA4 00641823 */ subu $v1, $v1, $a0 +/* 804828 80243FA8 000320C0 */ sll $a0, $v1, 3 +/* 80482C 80243FAC 00641821 */ addu $v1, $v1, $a0 +/* 804830 80243FB0 000318C0 */ sll $v1, $v1, 3 +/* 804834 80243FB4 3C01800B */ lui $at, 0x800b +/* 804838 80243FB8 00230821 */ addu $at, $at, $v1 +/* 80483C 80243FBC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 804840 80243FC0 460C0300 */ add.s $f12, $f0, $f12 +/* 804844 80243FC4 0C00A6C9 */ jal clamp_angle +/* 804848 80243FC8 0040982D */ daddu $s3, $v0, $zero +/* 80484C 80243FCC 27B00010 */ addiu $s0, $sp, 0x10 +/* 804850 80243FD0 0200202D */ daddu $a0, $s0, $zero +/* 804854 80243FD4 27B20014 */ addiu $s2, $sp, 0x14 +/* 804858 80243FD8 0240282D */ daddu $a1, $s2, $zero +/* 80485C 80243FDC 3C064170 */ lui $a2, 0x4170 +/* 804860 80243FE0 8E67000C */ lw $a3, 0xc($s3) +/* 804864 80243FE4 0C00A7E7 */ jal add_vec2D_polar +/* 804868 80243FE8 46000506 */ mov.s $f20, $f0 +/* 80486C 80243FEC 0200202D */ daddu $a0, $s0, $zero +/* 804870 80243FF0 3C064120 */ lui $a2, 0x4120 +/* 804874 80243FF4 4407A000 */ mfc1 $a3, $f20 +/* 804878 80243FF8 0C00A7E7 */ jal add_vec2D_polar +/* 80487C 80243FFC 0240282D */ daddu $a1, $s2, $zero +/* 804880 80244000 0220202D */ daddu $a0, $s1, $zero +/* 804884 80244004 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 804888 80244008 4600008D */ trunc.w.s $f2, $f0 +/* 80488C 8024400C 44061000 */ mfc1 $a2, $f2 +/* 804890 80244010 0C0B2026 */ jal set_variable +/* 804894 80244014 02C0282D */ daddu $a1, $s6, $zero +/* 804898 80244018 0220202D */ daddu $a0, $s1, $zero +/* 80489C 8024401C 4600B08D */ trunc.w.s $f2, $f22 +/* 8048A0 80244020 44061000 */ mfc1 $a2, $f2 +/* 8048A4 80244024 0C0B2026 */ jal set_variable +/* 8048A8 80244028 0280282D */ daddu $a1, $s4, $zero +/* 8048AC 8024402C 0220202D */ daddu $a0, $s1, $zero +/* 8048B0 80244030 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 8048B4 80244034 4600008D */ trunc.w.s $f2, $f0 +/* 8048B8 80244038 44061000 */ mfc1 $a2, $f2 +/* 8048BC 8024403C 0C0B2026 */ jal set_variable +/* 8048C0 80244040 02A0282D */ daddu $a1, $s5, $zero +/* 8048C4 80244044 8FBF0034 */ lw $ra, 0x34($sp) +/* 8048C8 80244048 8FB60030 */ lw $s6, 0x30($sp) +/* 8048CC 8024404C 8FB5002C */ lw $s5, 0x2c($sp) +/* 8048D0 80244050 8FB40028 */ lw $s4, 0x28($sp) +/* 8048D4 80244054 8FB30024 */ lw $s3, 0x24($sp) +/* 8048D8 80244058 8FB20020 */ lw $s2, 0x20($sp) +/* 8048DC 8024405C 8FB1001C */ lw $s1, 0x1c($sp) +/* 8048E0 80244060 8FB00018 */ lw $s0, 0x18($sp) +/* 8048E4 80244064 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 8048E8 80244068 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8048EC 8024406C 24020002 */ addiu $v0, $zero, 2 +/* 8048F0 80244070 03E00008 */ jr $ra +/* 8048F4 80244074 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244078.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244078.s new file mode 100644 index 0000000000..d9c5341c99 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244078.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244078 +/* 8048F8 80244078 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8048FC 8024407C AFB00010 */ sw $s0, 0x10($sp) +/* 804900 80244080 0080802D */ daddu $s0, $a0, $zero +/* 804904 80244084 AFBF0014 */ sw $ra, 0x14($sp) +/* 804908 80244088 0C00EABB */ jal get_npc_unsafe +/* 80490C 8024408C 8E04008C */ lw $a0, 0x8c($s0) +/* 804910 80244090 0040282D */ daddu $a1, $v0, $zero +/* 804914 80244094 8E040094 */ lw $a0, 0x94($s0) +/* 804918 80244098 8CA30028 */ lw $v1, 0x28($a1) +/* 80491C 8024409C ACA40028 */ sw $a0, 0x28($a1) +/* 804920 802440A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 804924 802440A4 8FB00010 */ lw $s0, 0x10($sp) +/* 804928 802440A8 24020002 */ addiu $v0, $zero, 2 +/* 80492C 802440AC 3C018026 */ lui $at, 0x8026 +/* 804930 802440B0 AC232C34 */ sw $v1, 0x2c34($at) +/* 804934 802440B4 03E00008 */ jr $ra +/* 804938 802440B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802440BC_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_802440BC_800880.s new file mode 100644 index 0000000000..e63f70c4cd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802440BC_800880.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802440BC_80493C +/* 80493C 802440BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804940 802440C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 804944 802440C4 0C00EABB */ jal get_npc_unsafe +/* 804948 802440C8 8C84008C */ lw $a0, 0x8c($a0) +/* 80494C 802440CC 3C038026 */ lui $v1, 0x8026 +/* 804950 802440D0 8C632C34 */ lw $v1, 0x2c34($v1) +/* 804954 802440D4 AC430028 */ sw $v1, 0x28($v0) +/* 804958 802440D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 80495C 802440DC 24020002 */ addiu $v0, $zero, 2 +/* 804960 802440E0 03E00008 */ jr $ra +/* 804964 802440E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802440E8.s b/asm/nonmatchings/world/area_mac/mac_01/func_802440E8.s new file mode 100644 index 0000000000..9a188c5520 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802440E8.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802440E8 +/* 804968 802440E8 3C028011 */ lui $v0, 0x8011 +/* 80496C 802440EC 8442F29C */ lh $v0, -0xd64($v0) +/* 804970 802440F0 AC820084 */ sw $v0, 0x84($a0) +/* 804974 802440F4 03E00008 */ jr $ra +/* 804978 802440F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802440FC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802440FC.s new file mode 100644 index 0000000000..4da49bdab6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802440FC.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802440FC +/* 80497C 802440FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804980 80244100 AFB00018 */ sw $s0, 0x18($sp) +/* 804984 80244104 0080802D */ daddu $s0, $a0, $zero +/* 804988 80244108 10A00022 */ beqz $a1, .L80244194 +/* 80498C 8024410C AFBF001C */ sw $ra, 0x1c($sp) +/* 804990 80244110 0C046C04 */ jal get_model_list_index_from_tree_index +/* 804994 80244114 2404002B */ addiu $a0, $zero, 0x2b +/* 804998 80244118 0C046B4C */ jal get_model_from_list_index +/* 80499C 8024411C 0040202D */ daddu $a0, $v0, $zero +/* 8049A0 80244120 0040202D */ daddu $a0, $v0, $zero +/* 8049A4 80244124 2405FFFF */ addiu $a1, $zero, -1 +/* 8049A8 80244128 0C046F1F */ jal func_8011BC7C +/* 8049AC 8024412C 24060003 */ addiu $a2, $zero, 3 +/* 8049B0 80244130 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8049B4 80244134 2404002A */ addiu $a0, $zero, 0x2a +/* 8049B8 80244138 0C046B4C */ jal get_model_from_list_index +/* 8049BC 8024413C 0040202D */ daddu $a0, $v0, $zero +/* 8049C0 80244140 0040202D */ daddu $a0, $v0, $zero +/* 8049C4 80244144 2405FFFF */ addiu $a1, $zero, -1 +/* 8049C8 80244148 0C046F1F */ jal func_8011BC7C +/* 8049CC 8024414C 24060003 */ addiu $a2, $zero, 3 +/* 8049D0 80244150 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8049D4 80244154 24040029 */ addiu $a0, $zero, 0x29 +/* 8049D8 80244158 0C046B4C */ jal get_model_from_list_index +/* 8049DC 8024415C 0040202D */ daddu $a0, $v0, $zero +/* 8049E0 80244160 0040202D */ daddu $a0, $v0, $zero +/* 8049E4 80244164 2405FFFF */ addiu $a1, $zero, -1 +/* 8049E8 80244168 0C046F1F */ jal func_8011BC7C +/* 8049EC 8024416C 24060003 */ addiu $a2, $zero, 3 +/* 8049F0 80244170 240400FF */ addiu $a0, $zero, 0xff +/* 8049F4 80244174 0080282D */ daddu $a1, $a0, $zero +/* 8049F8 80244178 0080302D */ daddu $a2, $a0, $zero +/* 8049FC 8024417C 0000382D */ daddu $a3, $zero, $zero +/* 804A00 80244180 AFA00010 */ sw $zero, 0x10($sp) +/* 804A04 80244184 0C046FE6 */ jal func_8011BF98 +/* 804A08 80244188 AFA00014 */ sw $zero, 0x14($sp) +/* 804A0C 8024418C 240200FF */ addiu $v0, $zero, 0xff +/* 804A10 80244190 AE020070 */ sw $v0, 0x70($s0) +.L80244194: +/* 804A14 80244194 8E020070 */ lw $v0, 0x70($s0) +/* 804A18 80244198 2442FFFC */ addiu $v0, $v0, -4 +/* 804A1C 8024419C AE020070 */ sw $v0, 0x70($s0) +/* 804A20 802441A0 28420040 */ slti $v0, $v0, 0x40 +/* 804A24 802441A4 10400002 */ beqz $v0, .L802441B0 +/* 804A28 802441A8 24020040 */ addiu $v0, $zero, 0x40 +/* 804A2C 802441AC AE020070 */ sw $v0, 0x70($s0) +.L802441B0: +/* 804A30 802441B0 92040073 */ lbu $a0, 0x73($s0) +/* 804A34 802441B4 0000382D */ daddu $a3, $zero, $zero +/* 804A38 802441B8 AFA00010 */ sw $zero, 0x10($sp) +/* 804A3C 802441BC AFA00014 */ sw $zero, 0x14($sp) +/* 804A40 802441C0 0080282D */ daddu $a1, $a0, $zero +/* 804A44 802441C4 0C046FE6 */ jal func_8011BF98 +/* 804A48 802441C8 0080302D */ daddu $a2, $a0, $zero +/* 804A4C 802441CC 8E020070 */ lw $v0, 0x70($s0) +/* 804A50 802441D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 804A54 802441D4 8FB00018 */ lw $s0, 0x18($sp) +/* 804A58 802441D8 38420040 */ xori $v0, $v0, 0x40 +/* 804A5C 802441DC 2C420001 */ sltiu $v0, $v0, 1 +/* 804A60 802441E0 00021040 */ sll $v0, $v0, 1 +/* 804A64 802441E4 03E00008 */ jr $ra +/* 804A68 802441E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802441EC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802441EC.s new file mode 100644 index 0000000000..790aa1c8c0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802441EC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802441EC +/* 804A6C 802441EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804A70 802441F0 AFB00018 */ sw $s0, 0x18($sp) +/* 804A74 802441F4 0080802D */ daddu $s0, $a0, $zero +/* 804A78 802441F8 10A00005 */ beqz $a1, .L80244210 +/* 804A7C 802441FC AFBF001C */ sw $ra, 0x1c($sp) +/* 804A80 80244200 24020040 */ addiu $v0, $zero, 0x40 +/* 804A84 80244204 AE020070 */ sw $v0, 0x70($s0) +/* 804A88 80244208 AE020078 */ sw $v0, 0x78($s0) +/* 804A8C 8024420C AE000074 */ sw $zero, 0x74($s0) +.L80244210: +/* 804A90 80244210 8E020074 */ lw $v0, 0x74($s0) +/* 804A94 80244214 1440001A */ bnez $v0, .L80244280 +/* 804A98 80244218 00000000 */ nop +/* 804A9C 8024421C 8E020070 */ lw $v0, 0x70($s0) +/* 804AA0 80244220 24420004 */ addiu $v0, $v0, 4 +/* 804AA4 80244224 AE020070 */ sw $v0, 0x70($s0) +/* 804AA8 80244228 8E020078 */ lw $v0, 0x78($s0) +/* 804AAC 8024422C 8E030070 */ lw $v1, 0x70($s0) +/* 804AB0 80244230 24420004 */ addiu $v0, $v0, 4 +/* 804AB4 80244234 28630080 */ slti $v1, $v1, 0x80 +/* 804AB8 80244238 14600003 */ bnez $v1, .L80244248 +/* 804ABC 8024423C AE020078 */ sw $v0, 0x78($s0) +/* 804AC0 80244240 2402007F */ addiu $v0, $zero, 0x7f +/* 804AC4 80244244 AE020070 */ sw $v0, 0x70($s0) +.L80244248: +/* 804AC8 80244248 8E020078 */ lw $v0, 0x78($s0) +/* 804ACC 8024424C 28420080 */ slti $v0, $v0, 0x80 +/* 804AD0 80244250 14400002 */ bnez $v0, .L8024425C +/* 804AD4 80244254 2402007F */ addiu $v0, $zero, 0x7f +/* 804AD8 80244258 AE020078 */ sw $v0, 0x78($s0) +.L8024425C: +/* 804ADC 8024425C 8E030070 */ lw $v1, 0x70($s0) +/* 804AE0 80244260 2402007F */ addiu $v0, $zero, 0x7f +/* 804AE4 80244264 14620014 */ bne $v1, $v0, .L802442B8 +/* 804AE8 80244268 00000000 */ nop +/* 804AEC 8024426C 8E020078 */ lw $v0, 0x78($s0) +/* 804AF0 80244270 14430011 */ bne $v0, $v1, .L802442B8 +/* 804AF4 80244274 24020001 */ addiu $v0, $zero, 1 +/* 804AF8 80244278 080910AE */ j .L802442B8 +/* 804AFC 8024427C AE020074 */ sw $v0, 0x74($s0) +.L80244280: +/* 804B00 80244280 8E020070 */ lw $v0, 0x70($s0) +/* 804B04 80244284 2442FFFC */ addiu $v0, $v0, -4 +/* 804B08 80244288 AE020070 */ sw $v0, 0x70($s0) +/* 804B0C 8024428C 8E020078 */ lw $v0, 0x78($s0) +/* 804B10 80244290 8E030070 */ lw $v1, 0x70($s0) +/* 804B14 80244294 2442FFFC */ addiu $v0, $v0, -4 +/* 804B18 80244298 28630040 */ slti $v1, $v1, 0x40 +/* 804B1C 8024429C 10600003 */ beqz $v1, .L802442AC +/* 804B20 802442A0 AE020078 */ sw $v0, 0x78($s0) +/* 804B24 802442A4 24020040 */ addiu $v0, $zero, 0x40 +/* 804B28 802442A8 AE020070 */ sw $v0, 0x70($s0) +.L802442AC: +/* 804B2C 802442AC 8E020078 */ lw $v0, 0x78($s0) +/* 804B30 802442B0 04420001 */ bltzl $v0, .L802442B8 +/* 804B34 802442B4 AE000078 */ sw $zero, 0x78($s0) +.L802442B8: +/* 804B38 802442B8 92040073 */ lbu $a0, 0x73($s0) +/* 804B3C 802442BC 9207007B */ lbu $a3, 0x7b($s0) +/* 804B40 802442C0 0080282D */ daddu $a1, $a0, $zero +/* 804B44 802442C4 AFA70010 */ sw $a3, 0x10($sp) +/* 804B48 802442C8 9202007B */ lbu $v0, 0x7b($s0) +/* 804B4C 802442CC 0080302D */ daddu $a2, $a0, $zero +/* 804B50 802442D0 0C046FE6 */ jal func_8011BF98 +/* 804B54 802442D4 AFA20014 */ sw $v0, 0x14($sp) +/* 804B58 802442D8 8E030070 */ lw $v1, 0x70($s0) +/* 804B5C 802442DC 24020040 */ addiu $v0, $zero, 0x40 +/* 804B60 802442E0 14620005 */ bne $v1, $v0, .L802442F8 +/* 804B64 802442E4 0000102D */ daddu $v0, $zero, $zero +/* 804B68 802442E8 8E030078 */ lw $v1, 0x78($s0) +/* 804B6C 802442EC 10600002 */ beqz $v1, .L802442F8 +/* 804B70 802442F0 24020002 */ addiu $v0, $zero, 2 +/* 804B74 802442F4 0000102D */ daddu $v0, $zero, $zero +.L802442F8: +/* 804B78 802442F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 804B7C 802442FC 8FB00018 */ lw $s0, 0x18($sp) +/* 804B80 80244300 03E00008 */ jr $ra +/* 804B84 80244304 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244308.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244308.s new file mode 100644 index 0000000000..57320f48be --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244308.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244308 +/* 804B88 80244308 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804B8C 8024430C AFB00018 */ sw $s0, 0x18($sp) +/* 804B90 80244310 0080802D */ daddu $s0, $a0, $zero +/* 804B94 80244314 10A00003 */ beqz $a1, .L80244324 +/* 804B98 80244318 AFBF001C */ sw $ra, 0x1c($sp) +/* 804B9C 8024431C 24020040 */ addiu $v0, $zero, 0x40 +/* 804BA0 80244320 AE020070 */ sw $v0, 0x70($s0) +.L80244324: +/* 804BA4 80244324 8E020070 */ lw $v0, 0x70($s0) +/* 804BA8 80244328 24420004 */ addiu $v0, $v0, 4 +/* 804BAC 8024432C AE020070 */ sw $v0, 0x70($s0) +/* 804BB0 80244330 28420100 */ slti $v0, $v0, 0x100 +/* 804BB4 80244334 14400002 */ bnez $v0, .L80244340 +/* 804BB8 80244338 240200FF */ addiu $v0, $zero, 0xff +/* 804BBC 8024433C AE020070 */ sw $v0, 0x70($s0) +.L80244340: +/* 804BC0 80244340 92040073 */ lbu $a0, 0x73($s0) +/* 804BC4 80244344 0000382D */ daddu $a3, $zero, $zero +/* 804BC8 80244348 AFA00010 */ sw $zero, 0x10($sp) +/* 804BCC 8024434C AFA00014 */ sw $zero, 0x14($sp) +/* 804BD0 80244350 0080282D */ daddu $a1, $a0, $zero +/* 804BD4 80244354 0C046FE6 */ jal func_8011BF98 +/* 804BD8 80244358 0080302D */ daddu $a2, $a0, $zero +/* 804BDC 8024435C 8E030070 */ lw $v1, 0x70($s0) +/* 804BE0 80244360 240200FF */ addiu $v0, $zero, 0xff +/* 804BE4 80244364 1462001A */ bne $v1, $v0, .L802443D0 +/* 804BE8 80244368 0000102D */ daddu $v0, $zero, $zero +/* 804BEC 8024436C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 804BF0 80244370 2404002B */ addiu $a0, $zero, 0x2b +/* 804BF4 80244374 0C046B4C */ jal get_model_from_list_index +/* 804BF8 80244378 0040202D */ daddu $a0, $v0, $zero +/* 804BFC 8024437C 0040202D */ daddu $a0, $v0, $zero +/* 804C00 80244380 2405FFFF */ addiu $a1, $zero, -1 +/* 804C04 80244384 0C046F1F */ jal func_8011BC7C +/* 804C08 80244388 0000302D */ daddu $a2, $zero, $zero +/* 804C0C 8024438C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 804C10 80244390 2404002A */ addiu $a0, $zero, 0x2a +/* 804C14 80244394 0C046B4C */ jal get_model_from_list_index +/* 804C18 80244398 0040202D */ daddu $a0, $v0, $zero +/* 804C1C 8024439C 0040202D */ daddu $a0, $v0, $zero +/* 804C20 802443A0 2405FFFF */ addiu $a1, $zero, -1 +/* 804C24 802443A4 0C046F1F */ jal func_8011BC7C +/* 804C28 802443A8 0000302D */ daddu $a2, $zero, $zero +/* 804C2C 802443AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 804C30 802443B0 24040029 */ addiu $a0, $zero, 0x29 +/* 804C34 802443B4 0C046B4C */ jal get_model_from_list_index +/* 804C38 802443B8 0040202D */ daddu $a0, $v0, $zero +/* 804C3C 802443BC 0040202D */ daddu $a0, $v0, $zero +/* 804C40 802443C0 2405FFFF */ addiu $a1, $zero, -1 +/* 804C44 802443C4 0C046F1F */ jal func_8011BC7C +/* 804C48 802443C8 0000302D */ daddu $a2, $zero, $zero +/* 804C4C 802443CC 24020002 */ addiu $v0, $zero, 2 +.L802443D0: +/* 804C50 802443D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 804C54 802443D4 8FB00018 */ lw $s0, 0x18($sp) +/* 804C58 802443D8 03E00008 */ jr $ra +/* 804C5C 802443DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802443E0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802443E0.s new file mode 100644 index 0000000000..0960662630 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802443E0.s @@ -0,0 +1,189 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802443E0 +/* 804C60 802443E0 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 804C64 802443E4 AFB300B4 */ sw $s3, 0xb4($sp) +/* 804C68 802443E8 AFBF00C0 */ sw $ra, 0xc0($sp) +/* 804C6C 802443EC AFB500BC */ sw $s5, 0xbc($sp) +/* 804C70 802443F0 AFB400B8 */ sw $s4, 0xb8($sp) +/* 804C74 802443F4 AFB200B0 */ sw $s2, 0xb0($sp) +/* 804C78 802443F8 AFB100AC */ sw $s1, 0xac($sp) +/* 804C7C 802443FC AFB000A8 */ sw $s0, 0xa8($sp) +/* 804C80 80244400 F7BE00F0 */ sdc1 $f30, 0xf0($sp) +/* 804C84 80244404 F7BC00E8 */ sdc1 $f28, 0xe8($sp) +/* 804C88 80244408 F7BA00E0 */ sdc1 $f26, 0xe0($sp) +/* 804C8C 8024440C F7B800D8 */ sdc1 $f24, 0xd8($sp) +/* 804C90 80244410 F7B600D0 */ sdc1 $f22, 0xd0($sp) +/* 804C94 80244414 F7B400C8 */ sdc1 $f20, 0xc8($sp) +/* 804C98 80244418 10A00011 */ beqz $a1, .L80244460 +/* 804C9C 8024441C 0080982D */ daddu $s3, $a0, $zero +/* 804CA0 80244420 3C05F4AC */ lui $a1, 0xf4ac +/* 804CA4 80244424 34A5D483 */ ori $a1, $a1, 0xd483 +/* 804CA8 80244428 240200B4 */ addiu $v0, $zero, 0xb4 +/* 804CAC 8024442C 0C0B1EAF */ jal get_variable +/* 804CB0 80244430 AE620070 */ sw $v0, 0x70($s3) +/* 804CB4 80244434 0260202D */ daddu $a0, $s3, $zero +/* 804CB8 80244438 3C05F4AC */ lui $a1, 0xf4ac +/* 804CBC 8024443C 34A5D484 */ ori $a1, $a1, 0xd484 +/* 804CC0 80244440 0C0B1EAF */ jal get_variable +/* 804CC4 80244444 AE620074 */ sw $v0, 0x74($s3) +/* 804CC8 80244448 0260202D */ daddu $a0, $s3, $zero +/* 804CCC 8024444C 3C05F4AC */ lui $a1, 0xf4ac +/* 804CD0 80244450 34A5D485 */ ori $a1, $a1, 0xd485 +/* 804CD4 80244454 0C0B1EAF */ jal get_variable +/* 804CD8 80244458 AE620078 */ sw $v0, 0x78($s3) +/* 804CDC 8024445C AE62007C */ sw $v0, 0x7c($s3) +.L80244460: +/* 804CE0 80244460 0000882D */ daddu $s1, $zero, $zero +/* 804CE4 80244464 8E620074 */ lw $v0, 0x74($s3) +/* 804CE8 80244468 3C014120 */ lui $at, 0x4120 +/* 804CEC 8024446C 4481A000 */ mtc1 $at, $f20 +/* 804CF0 80244470 27B00028 */ addiu $s0, $sp, 0x28 +/* 804CF4 80244474 AFA20018 */ sw $v0, 0x18($sp) +/* 804CF8 80244478 8E620078 */ lw $v0, 0x78($s3) +/* 804CFC 8024447C 3C15800B */ lui $s5, %hi(gCameras) +/* 804D00 80244480 26B51D80 */ addiu $s5, $s5, %lo(gCameras) +/* 804D04 80244484 AFA2001C */ sw $v0, 0x1c($sp) +/* 804D08 80244488 8E62007C */ lw $v0, 0x7c($s3) +/* 804D0C 8024448C AFA20020 */ sw $v0, 0x20($sp) +/* 804D10 80244490 C66C0070 */ lwc1 $f12, 0x70($s3) +/* 804D14 80244494 46806320 */ cvt.s.w $f12, $f12 +/* 804D18 80244498 0C00A8BB */ jal sin_deg +/* 804D1C 8024449C 27B20068 */ addiu $s2, $sp, 0x68 +/* 804D20 802444A0 46140002 */ mul.s $f0, $f0, $f20 +/* 804D24 802444A4 00000000 */ nop +/* 804D28 802444A8 0220A02D */ daddu $s4, $s1, $zero +/* 804D2C 802444AC C66C0070 */ lwc1 $f12, 0x70($s3) +/* 804D30 802444B0 46806320 */ cvt.s.w $f12, $f12 +/* 804D34 802444B4 4480B000 */ mtc1 $zero, $f22 +/* 804D38 802444B8 3C013F80 */ lui $at, 0x3f80 +/* 804D3C 802444BC 4481D000 */ mtc1 $at, $f26 +/* 804D40 802444C0 0C00A8BB */ jal sin_deg +/* 804D44 802444C4 46140780 */ add.s $f30, $f0, $f20 +/* 804D48 802444C8 3C0141C8 */ lui $at, 0x41c8 +/* 804D4C 802444CC 44811000 */ mtc1 $at, $f2 +/* 804D50 802444D0 8E630070 */ lw $v1, 0x70($s3) +/* 804D54 802444D4 46020002 */ mul.s $f0, $f0, $f2 +/* 804D58 802444D8 00000000 */ nop +/* 804D5C 802444DC 00031080 */ sll $v0, $v1, 2 +/* 804D60 802444E0 00431021 */ addu $v0, $v0, $v1 +/* 804D64 802444E4 00021040 */ sll $v0, $v0, 1 +/* 804D68 802444E8 4482C000 */ mtc1 $v0, $f24 +/* 804D6C 802444EC 00000000 */ nop +/* 804D70 802444F0 4680C620 */ cvt.s.w $f24, $f24 +/* 804D74 802444F4 46140700 */ add.s $f28, $f0, $f20 +.L802444F8: +/* 804D78 802444F8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 804D7C 802444FC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 804D80 80244500 4406B000 */ mfc1 $a2, $f22 +/* 804D84 80244504 00031080 */ sll $v0, $v1, 2 +/* 804D88 80244508 00431021 */ addu $v0, $v0, $v1 +/* 804D8C 8024450C 00021080 */ sll $v0, $v0, 2 +/* 804D90 80244510 00431023 */ subu $v0, $v0, $v1 +/* 804D94 80244514 000218C0 */ sll $v1, $v0, 3 +/* 804D98 80244518 00431021 */ addu $v0, $v0, $v1 +/* 804D9C 8024451C 000210C0 */ sll $v0, $v0, 3 +/* 804DA0 80244520 00551021 */ addu $v0, $v0, $s5 +/* 804DA4 80244524 C440006C */ lwc1 $f0, 0x6c($v0) +/* 804DA8 80244528 4407D000 */ mfc1 $a3, $f26 +/* 804DAC 8024452C 46000007 */ neg.s $f0, $f0 +/* 804DB0 80244530 44050000 */ mfc1 $a1, $f0 +/* 804DB4 80244534 0200202D */ daddu $a0, $s0, $zero +/* 804DB8 80244538 0C019EC8 */ jal guRotateF +/* 804DBC 8024453C E7B60010 */ swc1 $f22, 0x10($sp) +/* 804DC0 80244540 44942000 */ mtc1 $s4, $f4 +/* 804DC4 80244544 00000000 */ nop +/* 804DC8 80244548 46802120 */ cvt.s.w $f4, $f4 +/* 804DCC 8024454C 4406B000 */ mfc1 $a2, $f22 +/* 804DD0 80244550 4407B000 */ mfc1 $a3, $f22 +/* 804DD4 80244554 44052000 */ mfc1 $a1, $f4 +/* 804DD8 80244558 0240202D */ daddu $a0, $s2, $zero +/* 804DDC 8024455C 0C019EC8 */ jal guRotateF +/* 804DE0 80244560 E7BA0010 */ swc1 $f26, 0x10($sp) +/* 804DE4 80244564 0240202D */ daddu $a0, $s2, $zero +/* 804DE8 80244568 0200282D */ daddu $a1, $s0, $zero +/* 804DEC 8024456C 0C019D80 */ jal guMtxCatF +/* 804DF0 80244570 0200302D */ daddu $a2, $s0, $zero +/* 804DF4 80244574 0C00A8BB */ jal sin_deg +/* 804DF8 80244578 4600C306 */ mov.s $f12, $f24 +/* 804DFC 8024457C 4600F502 */ mul.s $f20, $f30, $f0 +/* 804E00 80244580 00000000 */ nop +/* 804E04 80244584 0C00A8D4 */ jal cos_deg +/* 804E08 80244588 4600C306 */ mov.s $f12, $f24 +/* 804E0C 8024458C 4600E002 */ mul.s $f0, $f28, $f0 +/* 804E10 80244590 00000000 */ nop +/* 804E14 80244594 4407B000 */ mfc1 $a3, $f22 +/* 804E18 80244598 44060000 */ mfc1 $a2, $f0 +/* 804E1C 8024459C 4405A000 */ mfc1 $a1, $f20 +/* 804E20 802445A0 0C019E40 */ jal guTranslateF +/* 804E24 802445A4 0240202D */ daddu $a0, $s2, $zero +/* 804E28 802445A8 0240202D */ daddu $a0, $s2, $zero +/* 804E2C 802445AC 0200282D */ daddu $a1, $s0, $zero +/* 804E30 802445B0 0C019D80 */ jal guMtxCatF +/* 804E34 802445B4 0200302D */ daddu $a2, $s0, $zero +/* 804E38 802445B8 00111880 */ sll $v1, $s1, 2 +/* 804E3C 802445BC 27A40018 */ addiu $a0, $sp, 0x18 +/* 804E40 802445C0 00831821 */ addu $v1, $a0, $v1 +/* 804E44 802445C4 8C620000 */ lw $v0, ($v1) +/* 804E48 802445C8 C7A00058 */ lwc1 $f0, 0x58($sp) +/* 804E4C 802445CC 8C42000C */ lw $v0, 0xc($v0) +/* 804E50 802445D0 E4400010 */ swc1 $f0, 0x10($v0) +/* 804E54 802445D4 8C620000 */ lw $v0, ($v1) +/* 804E58 802445D8 C7A0005C */ lwc1 $f0, 0x5c($sp) +/* 804E5C 802445DC 8C42000C */ lw $v0, 0xc($v0) +/* 804E60 802445E0 E4400014 */ swc1 $f0, 0x14($v0) +/* 804E64 802445E4 8C620000 */ lw $v0, ($v1) +/* 804E68 802445E8 C7A00060 */ lwc1 $f0, 0x60($sp) +/* 804E6C 802445EC 8C42000C */ lw $v0, 0xc($v0) +/* 804E70 802445F0 26310001 */ addiu $s1, $s1, 1 +/* 804E74 802445F4 E4400018 */ swc1 $f0, 0x18($v0) +/* 804E78 802445F8 2A220003 */ slti $v0, $s1, 3 +/* 804E7C 802445FC 1440FFBE */ bnez $v0, .L802444F8 +/* 804E80 80244600 26940078 */ addiu $s4, $s4, 0x78 +/* 804E84 80244604 8E620070 */ lw $v0, 0x70($s3) +/* 804E88 80244608 2442FFFF */ addiu $v0, $v0, -1 +/* 804E8C 8024460C AE620070 */ sw $v0, 0x70($s3) +/* 804E90 80244610 28420010 */ slti $v0, $v0, 0x10 +/* 804E94 80244614 1040000A */ beqz $v0, .L80244640 +/* 804E98 80244618 00000000 */ nop +/* 804E9C 8024461C 0000882D */ daddu $s1, $zero, $zero +.L80244620: +/* 804EA0 80244620 8C820000 */ lw $v0, ($a0) +/* 804EA4 80244624 8C43000C */ lw $v1, 0xc($v0) +/* 804EA8 80244628 8E620070 */ lw $v0, 0x70($s3) +/* 804EAC 8024462C 26310001 */ addiu $s1, $s1, 1 +/* 804EB0 80244630 AC62004C */ sw $v0, 0x4c($v1) +/* 804EB4 80244634 2A220003 */ slti $v0, $s1, 3 +/* 804EB8 80244638 1440FFF9 */ bnez $v0, .L80244620 +/* 804EBC 8024463C 24840004 */ addiu $a0, $a0, 4 +.L80244640: +/* 804EC0 80244640 8E620070 */ lw $v0, 0x70($s3) +/* 804EC4 80244644 0441000A */ bgez $v0, .L80244670 +/* 804EC8 80244648 0000102D */ daddu $v0, $zero, $zero +/* 804ECC 8024464C 0000882D */ daddu $s1, $zero, $zero +/* 804ED0 80244650 27B00018 */ addiu $s0, $sp, 0x18 +.L80244654: +/* 804ED4 80244654 8E040000 */ lw $a0, ($s0) +/* 804ED8 80244658 26100004 */ addiu $s0, $s0, 4 +/* 804EDC 8024465C 0C016914 */ jal remove_effect +/* 804EE0 80244660 26310001 */ addiu $s1, $s1, 1 +/* 804EE4 80244664 2A220003 */ slti $v0, $s1, 3 +/* 804EE8 80244668 1440FFFA */ bnez $v0, .L80244654 +/* 804EEC 8024466C 24020002 */ addiu $v0, $zero, 2 +.L80244670: +/* 804EF0 80244670 8FBF00C0 */ lw $ra, 0xc0($sp) +/* 804EF4 80244674 8FB500BC */ lw $s5, 0xbc($sp) +/* 804EF8 80244678 8FB400B8 */ lw $s4, 0xb8($sp) +/* 804EFC 8024467C 8FB300B4 */ lw $s3, 0xb4($sp) +/* 804F00 80244680 8FB200B0 */ lw $s2, 0xb0($sp) +/* 804F04 80244684 8FB100AC */ lw $s1, 0xac($sp) +/* 804F08 80244688 8FB000A8 */ lw $s0, 0xa8($sp) +/* 804F0C 8024468C D7BE00F0 */ ldc1 $f30, 0xf0($sp) +/* 804F10 80244690 D7BC00E8 */ ldc1 $f28, 0xe8($sp) +/* 804F14 80244694 D7BA00E0 */ ldc1 $f26, 0xe0($sp) +/* 804F18 80244698 D7B800D8 */ ldc1 $f24, 0xd8($sp) +/* 804F1C 8024469C D7B600D0 */ ldc1 $f22, 0xd0($sp) +/* 804F20 802446A0 D7B400C8 */ ldc1 $f20, 0xc8($sp) +/* 804F24 802446A4 03E00008 */ jr $ra +/* 804F28 802446A8 27BD00F8 */ addiu $sp, $sp, 0xf8 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802446AC.s b/asm/nonmatchings/world/area_mac/mac_01/func_802446AC.s new file mode 100644 index 0000000000..a53d3dbba9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802446AC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802446AC +/* 804F2C 802446AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 804F30 802446B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 804F34 802446B4 8C82000C */ lw $v0, 0xc($a0) +/* 804F38 802446B8 0C0B1EAF */ jal get_variable +/* 804F3C 802446BC 8C450000 */ lw $a1, ($v0) +/* 804F40 802446C0 8C44000C */ lw $a0, 0xc($v0) +/* 804F44 802446C4 8C83001C */ lw $v1, 0x1c($a0) +/* 804F48 802446C8 24630001 */ addiu $v1, $v1, 1 +/* 804F4C 802446CC AC83001C */ sw $v1, 0x1c($a0) +/* 804F50 802446D0 8FBF0010 */ lw $ra, 0x10($sp) +/* 804F54 802446D4 24020002 */ addiu $v0, $zero, 2 +/* 804F58 802446D8 03E00008 */ jr $ra +/* 804F5C 802446DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802446E0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802446E0.s new file mode 100644 index 0000000000..2ba36f7254 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802446E0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802446E0 +/* 804F60 802446E0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 804F64 802446E4 AFB10014 */ sw $s1, 0x14($sp) +/* 804F68 802446E8 0080882D */ daddu $s1, $a0, $zero +/* 804F6C 802446EC AFBF0018 */ sw $ra, 0x18($sp) +/* 804F70 802446F0 AFB00010 */ sw $s0, 0x10($sp) +/* 804F74 802446F4 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 804F78 802446F8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 804F7C 802446FC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 804F80 80244700 8E30000C */ lw $s0, 0xc($s1) +/* 804F84 80244704 8E050000 */ lw $a1, ($s0) +/* 804F88 80244708 0C0B1EAF */ jal get_variable +/* 804F8C 8024470C 26100004 */ addiu $s0, $s0, 4 +/* 804F90 80244710 8E050000 */ lw $a1, ($s0) +/* 804F94 80244714 26100004 */ addiu $s0, $s0, 4 +/* 804F98 80244718 4482C000 */ mtc1 $v0, $f24 +/* 804F9C 8024471C 00000000 */ nop +/* 804FA0 80244720 4680C620 */ cvt.s.w $f24, $f24 +/* 804FA4 80244724 0C0B1EAF */ jal get_variable +/* 804FA8 80244728 0220202D */ daddu $a0, $s1, $zero +/* 804FAC 8024472C 8E050000 */ lw $a1, ($s0) +/* 804FB0 80244730 26100004 */ addiu $s0, $s0, 4 +/* 804FB4 80244734 4482B000 */ mtc1 $v0, $f22 +/* 804FB8 80244738 00000000 */ nop +/* 804FBC 8024473C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 804FC0 80244740 0C0B1EAF */ jal get_variable +/* 804FC4 80244744 0220202D */ daddu $a0, $s1, $zero +/* 804FC8 80244748 8E050000 */ lw $a1, ($s0) +/* 804FCC 8024474C 4482A000 */ mtc1 $v0, $f20 +/* 804FD0 80244750 00000000 */ nop +/* 804FD4 80244754 4680A520 */ cvt.s.w $f20, $f20 +/* 804FD8 80244758 0C0B1EAF */ jal get_variable +/* 804FDC 8024475C 0220202D */ daddu $a0, $s1, $zero +/* 804FE0 80244760 44820000 */ mtc1 $v0, $f0 +/* 804FE4 80244764 00000000 */ nop +/* 804FE8 80244768 46800020 */ cvt.s.w $f0, $f0 +/* 804FEC 8024476C 46160001 */ sub.s $f0, $f0, $f22 +/* 804FF0 80244770 4618A501 */ sub.s $f20, $f20, $f24 +/* 804FF4 80244774 46140003 */ div.s $f0, $f0, $f20 +/* 804FF8 80244778 46180602 */ mul.s $f24, $f0, $f24 +/* 804FFC 8024477C 00000000 */ nop +/* 805000 80244780 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 805004 80244784 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 805008 80244788 C4420028 */ lwc1 $f2, 0x28($v0) +/* 80500C 8024478C 46020002 */ mul.s $f0, $f0, $f2 +/* 805010 80244790 00000000 */ nop +/* 805014 80244794 4618B581 */ sub.s $f22, $f22, $f24 +/* 805018 80244798 46160000 */ add.s $f0, $f0, $f22 +/* 80501C 8024479C C4420030 */ lwc1 $f2, 0x30($v0) +/* 805020 802447A0 4600103C */ c.lt.s $f2, $f0 +/* 805024 802447A4 00000000 */ nop +/* 805028 802447A8 45000003 */ bc1f .L802447B8 +/* 80502C 802447AC 24020001 */ addiu $v0, $zero, 1 +/* 805030 802447B0 080911EF */ j .L802447BC +/* 805034 802447B4 AE200084 */ sw $zero, 0x84($s1) +.L802447B8: +/* 805038 802447B8 AE220084 */ sw $v0, 0x84($s1) +.L802447BC: +/* 80503C 802447BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 805040 802447C0 8FB10014 */ lw $s1, 0x14($sp) +/* 805044 802447C4 8FB00010 */ lw $s0, 0x10($sp) +/* 805048 802447C8 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 80504C 802447CC D7B60028 */ ldc1 $f22, 0x28($sp) +/* 805050 802447D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 805054 802447D4 24020002 */ addiu $v0, $zero, 2 +/* 805058 802447D8 03E00008 */ jr $ra +/* 80505C 802447DC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802447E0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802447E0.s new file mode 100644 index 0000000000..bd34db3635 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802447E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802447E0 +/* 805060 802447E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805064 802447E4 AFB00010 */ sw $s0, 0x10($sp) +/* 805068 802447E8 0080802D */ daddu $s0, $a0, $zero +/* 80506C 802447EC 10A00002 */ beqz $a1, .L802447F8 +/* 805070 802447F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 805074 802447F4 AE000074 */ sw $zero, 0x74($s0) +.L802447F8: +/* 805078 802447F8 8E020074 */ lw $v0, 0x74($s0) +/* 80507C 802447FC 2442000A */ addiu $v0, $v0, 0xa +/* 805080 80244800 AE020074 */ sw $v0, 0x74($s0) +/* 805084 80244804 28420100 */ slti $v0, $v0, 0x100 +/* 805088 80244808 14400002 */ bnez $v0, .L80244814 +/* 80508C 8024480C 240200FF */ addiu $v0, $zero, 0xff +/* 805090 80244810 AE020074 */ sw $v0, 0x74($s0) +.L80244814: +/* 805094 80244814 C6000074 */ lwc1 $f0, 0x74($s0) +/* 805098 80244818 46800020 */ cvt.s.w $f0, $f0 +/* 80509C 8024481C 44050000 */ mfc1 $a1, $f0 +/* 8050A0 80244820 0C04DF62 */ jal func_80137D88 +/* 8050A4 80244824 0000202D */ daddu $a0, $zero, $zero +/* 8050A8 80244828 8E020074 */ lw $v0, 0x74($s0) +/* 8050AC 8024482C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8050B0 80244830 8FB00010 */ lw $s0, 0x10($sp) +/* 8050B4 80244834 384200FF */ xori $v0, $v0, 0xff +/* 8050B8 80244838 2C420001 */ sltiu $v0, $v0, 1 +/* 8050BC 8024483C 00021040 */ sll $v0, $v0, 1 +/* 8050C0 80244840 03E00008 */ jr $ra +/* 8050C4 80244844 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244848.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244848.s new file mode 100644 index 0000000000..9023759692 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244848.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244848 +/* 8050C8 80244848 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8050CC 8024484C 10A00003 */ beqz $a1, .L8024485C +/* 8050D0 80244850 AFBF0010 */ sw $ra, 0x10($sp) +/* 8050D4 80244854 240200FF */ addiu $v0, $zero, 0xff +/* 8050D8 80244858 AC820074 */ sw $v0, 0x74($a0) +.L8024485C: +/* 8050DC 8024485C 8C820074 */ lw $v0, 0x74($a0) +/* 8050E0 80244860 2442FFF6 */ addiu $v0, $v0, -0xa +/* 8050E4 80244864 18400009 */ blez $v0, .L8024488C +/* 8050E8 80244868 AC820074 */ sw $v0, 0x74($a0) +/* 8050EC 8024486C 44820000 */ mtc1 $v0, $f0 +/* 8050F0 80244870 00000000 */ nop +/* 8050F4 80244874 46800020 */ cvt.s.w $f0, $f0 +/* 8050F8 80244878 44050000 */ mfc1 $a1, $f0 +/* 8050FC 8024487C 0C04DF62 */ jal func_80137D88 +/* 805100 80244880 0000202D */ daddu $a0, $zero, $zero +/* 805104 80244884 08091225 */ j .L80244894 +/* 805108 80244888 0000102D */ daddu $v0, $zero, $zero +.L8024488C: +/* 80510C 8024488C AC800074 */ sw $zero, 0x74($a0) +/* 805110 80244890 24020002 */ addiu $v0, $zero, 2 +.L80244894: +/* 805114 80244894 8FBF0010 */ lw $ra, 0x10($sp) +/* 805118 80244898 03E00008 */ jr $ra +/* 80511C 8024489C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802448A0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802448A0.s new file mode 100644 index 0000000000..832d9e60dc --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802448A0.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802448A0 +/* 805120 802448A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805124 802448A4 AFB00010 */ sw $s0, 0x10($sp) +/* 805128 802448A8 0080802D */ daddu $s0, $a0, $zero +/* 80512C 802448AC 10A0000A */ beqz $a1, .L802448D8 +/* 805130 802448B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 805134 802448B4 8E020084 */ lw $v0, 0x84($s0) +/* 805138 802448B8 54400007 */ bnel $v0, $zero, .L802448D8 +/* 80513C 802448BC AE000070 */ sw $zero, 0x70($s0) +/* 805140 802448C0 960400C2 */ lhu $a0, 0xc2($s0) +/* 805144 802448C4 2405FFFF */ addiu $a1, $zero, -1 +/* 805148 802448C8 24060001 */ addiu $a2, $zero, 1 +/* 80514C 802448CC 0C046E54 */ jal func_8011B950 +/* 805150 802448D0 00C0382D */ daddu $a3, $a2, $zero +/* 805154 802448D4 AE000070 */ sw $zero, 0x70($s0) +.L802448D8: +/* 805158 802448D8 8E020070 */ lw $v0, 0x70($s0) +/* 80515C 802448DC 24420020 */ addiu $v0, $v0, 0x20 +/* 805160 802448E0 AE020070 */ sw $v0, 0x70($s0) +/* 805164 802448E4 28420100 */ slti $v0, $v0, 0x100 +/* 805168 802448E8 14400002 */ bnez $v0, .L802448F4 +/* 80516C 802448EC 240200FF */ addiu $v0, $zero, 0xff +/* 805170 802448F0 AE020070 */ sw $v0, 0x70($s0) +.L802448F4: +/* 805174 802448F4 8E020084 */ lw $v0, 0x84($s0) +/* 805178 802448F8 14400004 */ bnez $v0, .L8024490C +/* 80517C 802448FC 240200FF */ addiu $v0, $zero, 0xff +/* 805180 80244900 8E020070 */ lw $v0, 0x70($s0) +/* 805184 80244904 08091246 */ j .L80244918 +/* 805188 80244908 0000202D */ daddu $a0, $zero, $zero +.L8024490C: +/* 80518C 8024490C 8E030070 */ lw $v1, 0x70($s0) +/* 805190 80244910 00431023 */ subu $v0, $v0, $v1 +/* 805194 80244914 0000202D */ daddu $a0, $zero, $zero +.L80244918: +/* 805198 80244918 0080282D */ daddu $a1, $a0, $zero +/* 80519C 8024491C 0080302D */ daddu $a2, $a0, $zero +/* 8051A0 80244920 0C046F97 */ jal set_background_color_blend +/* 8051A4 80244924 304700FF */ andi $a3, $v0, 0xff +/* 8051A8 80244928 3C02800B */ lui $v0, %hi(gCameras) +/* 8051AC 8024492C 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 8051B0 80244930 A440002C */ sh $zero, 0x2c($v0) +/* 8051B4 80244934 A440002E */ sh $zero, 0x2e($v0) +/* 8051B8 80244938 A4400030 */ sh $zero, 0x30($v0) +/* 8051BC 8024493C 8E020070 */ lw $v0, 0x70($s0) +/* 8051C0 80244940 284200FF */ slti $v0, $v0, 0xff +/* 8051C4 80244944 1440000B */ bnez $v0, .L80244974 +/* 8051C8 80244948 0000102D */ daddu $v0, $zero, $zero +/* 8051CC 8024494C 8E030084 */ lw $v1, 0x84($s0) +/* 8051D0 80244950 24020003 */ addiu $v0, $zero, 3 +/* 8051D4 80244954 14620007 */ bne $v1, $v0, .L80244974 +/* 8051D8 80244958 24020002 */ addiu $v0, $zero, 2 +/* 8051DC 8024495C 960400C2 */ lhu $a0, 0xc2($s0) +/* 8051E0 80244960 2405FFFF */ addiu $a1, $zero, -1 +/* 8051E4 80244964 0000302D */ daddu $a2, $zero, $zero +/* 8051E8 80244968 0C046E54 */ jal func_8011B950 +/* 8051EC 8024496C 24070001 */ addiu $a3, $zero, 1 +/* 8051F0 80244970 24020002 */ addiu $v0, $zero, 2 +.L80244974: +/* 8051F4 80244974 8FBF0014 */ lw $ra, 0x14($sp) +/* 8051F8 80244978 8FB00010 */ lw $s0, 0x10($sp) +/* 8051FC 8024497C 03E00008 */ jr $ra +/* 805200 80244980 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244984.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244984.s new file mode 100644 index 0000000000..42fe6c4f2e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244984.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244984 +/* 805204 80244984 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 805208 80244988 AFB3001C */ sw $s3, 0x1c($sp) +/* 80520C 8024498C 0080982D */ daddu $s3, $a0, $zero +/* 805210 80244990 AFB20018 */ sw $s2, 0x18($sp) +/* 805214 80244994 3C12F840 */ lui $s2, 0xf840 +/* 805218 80244998 36526200 */ ori $s2, $s2, 0x6200 +/* 80521C 8024499C AFB10014 */ sw $s1, 0x14($sp) +/* 805220 802449A0 0000882D */ daddu $s1, $zero, $zero +/* 805224 802449A4 AFB00010 */ sw $s0, 0x10($sp) +/* 805228 802449A8 0220802D */ daddu $s0, $s1, $zero +/* 80522C 802449AC AFBF0020 */ sw $ra, 0x20($sp) +/* 805230 802449B0 0000202D */ daddu $a0, $zero, $zero +.L802449B4: +/* 805234 802449B4 0C0B1EAF */ jal get_variable +/* 805238 802449B8 02502821 */ addu $a1, $s2, $s0 +/* 80523C 802449BC 50400001 */ beql $v0, $zero, .L802449C4 +/* 805240 802449C0 26310001 */ addiu $s1, $s1, 1 +.L802449C4: +/* 805244 802449C4 26100001 */ addiu $s0, $s0, 1 +/* 805248 802449C8 2A020010 */ slti $v0, $s0, 0x10 +/* 80524C 802449CC 1440FFF9 */ bnez $v0, .L802449B4 +/* 805250 802449D0 0000202D */ daddu $a0, $zero, $zero +/* 805254 802449D4 AE710084 */ sw $s1, 0x84($s3) +/* 805258 802449D8 8FBF0020 */ lw $ra, 0x20($sp) +/* 80525C 802449DC 8FB3001C */ lw $s3, 0x1c($sp) +/* 805260 802449E0 8FB20018 */ lw $s2, 0x18($sp) +/* 805264 802449E4 8FB10014 */ lw $s1, 0x14($sp) +/* 805268 802449E8 8FB00010 */ lw $s0, 0x10($sp) +/* 80526C 802449EC 24020002 */ addiu $v0, $zero, 2 +/* 805270 802449F0 03E00008 */ jr $ra +/* 805274 802449F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802449F8.s b/asm/nonmatchings/world/area_mac/mac_01/func_802449F8.s new file mode 100644 index 0000000000..4ad9eb8b8b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802449F8.s @@ -0,0 +1,113 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802449F8 +/* 805278 802449F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 80527C 802449FC AFB00010 */ sw $s0, 0x10($sp) +/* 805280 80244A00 0080802D */ daddu $s0, $a0, $zero +/* 805284 80244A04 0000202D */ daddu $a0, $zero, $zero +/* 805288 80244A08 3C05FD05 */ lui $a1, 0xfd05 +/* 80528C 80244A0C AFBF0024 */ sw $ra, 0x24($sp) +/* 805290 80244A10 AFB40020 */ sw $s4, 0x20($sp) +/* 805294 80244A14 AFB3001C */ sw $s3, 0x1c($sp) +/* 805298 80244A18 AFB20018 */ sw $s2, 0x18($sp) +/* 80529C 80244A1C AFB10014 */ sw $s1, 0x14($sp) +/* 8052A0 80244A20 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8052A4 80244A24 0C0B1EAF */ jal get_variable +/* 8052A8 80244A28 34A50F81 */ ori $a1, $a1, 0xf81 +/* 8052AC 80244A2C 0000202D */ daddu $a0, $zero, $zero +/* 8052B0 80244A30 3C05FD05 */ lui $a1, 0xfd05 +/* 8052B4 80244A34 34A50F80 */ ori $a1, $a1, 0xf80 +/* 8052B8 80244A38 0C0B1EAF */ jal get_variable +/* 8052BC 80244A3C 00029823 */ negu $s3, $v0 +/* 8052C0 80244A40 24040002 */ addiu $a0, $zero, 2 +/* 8052C4 80244A44 8E1100A0 */ lw $s1, 0xa0($s0) +/* 8052C8 80244A48 0C00FB3A */ jal get_enemy +/* 8052CC 80244A4C 0040A02D */ daddu $s4, $v0, $zero +/* 8052D0 80244A50 4493A000 */ mtc1 $s3, $f20 +/* 8052D4 80244A54 00000000 */ nop +/* 8052D8 80244A58 4680A520 */ cvt.s.w $f20, $f20 +/* 8052DC 80244A5C 3C014334 */ lui $at, 0x4334 +/* 8052E0 80244A60 44810000 */ mtc1 $at, $f0 +/* 8052E4 80244A64 3C014049 */ lui $at, 0x4049 +/* 8052E8 80244A68 34210FD8 */ ori $at, $at, 0xfd8 +/* 8052EC 80244A6C 44811000 */ mtc1 $at, $f2 +/* 8052F0 80244A70 4600A503 */ div.s $f20, $f20, $f0 +/* 8052F4 80244A74 4602A502 */ mul.s $f20, $f20, $f2 +/* 8052F8 80244A78 00000000 */ nop +/* 8052FC 80244A7C 0040902D */ daddu $s2, $v0, $zero +/* 805300 80244A80 0C00A85B */ jal sin_rad +/* 805304 80244A84 4600A306 */ mov.s $f12, $f20 +/* 805308 80244A88 4600A306 */ mov.s $f12, $f20 +/* 80530C 80244A8C 0C00A874 */ jal cos_rad +/* 805310 80244A90 46000506 */ mov.s $f20, $f0 +/* 805314 80244A94 C6060084 */ lwc1 $f6, 0x84($s0) +/* 805318 80244A98 468031A0 */ cvt.s.w $f6, $f6 +/* 80531C 80244A9C 46003102 */ mul.s $f4, $f6, $f0 +/* 805320 80244AA0 00000000 */ nop +/* 805324 80244AA4 C6020088 */ lwc1 $f2, 0x88($s0) +/* 805328 80244AA8 468010A0 */ cvt.s.w $f2, $f2 +/* 80532C 80244AAC 46141202 */ mul.s $f8, $f2, $f20 +/* 805330 80244AB0 00000000 */ nop +/* 805334 80244AB4 46143182 */ mul.s $f6, $f6, $f20 +/* 805338 80244AB8 00000000 */ nop +/* 80533C 80244ABC 46001082 */ mul.s $f2, $f2, $f0 +/* 805340 80244AC0 00000000 */ nop +/* 805344 80244AC4 46082101 */ sub.s $f4, $f4, $f8 +/* 805348 80244AC8 8E02008C */ lw $v0, 0x8c($s0) +/* 80534C 80244ACC 46023180 */ add.s $f6, $f6, $f2 +/* 805350 80244AD0 4600228D */ trunc.w.s $f10, $f4 +/* 805354 80244AD4 44035000 */ mfc1 $v1, $f10 +/* 805358 80244AD8 00000000 */ nop +/* 80535C 80244ADC 00431021 */ addu $v0, $v0, $v1 +/* 805360 80244AE0 AE020094 */ sw $v0, 0x94($s0) +/* 805364 80244AE4 8E020090 */ lw $v0, 0x90($s0) +/* 805368 80244AE8 4600328D */ trunc.w.s $f10, $f6 +/* 80536C 80244AEC 44035000 */ mfc1 $v1, $f10 +/* 805370 80244AF0 00000000 */ nop +/* 805374 80244AF4 00431021 */ addu $v0, $v0, $v1 +/* 805378 80244AF8 16600009 */ bnez $s3, .L80244B20 +/* 80537C 80244AFC AE020098 */ sw $v0, 0x98($s0) +/* 805380 80244B00 3C0200A7 */ lui $v0, 0xa7 +/* 805384 80244B04 34420001 */ ori $v0, $v0, 1 +/* 805388 80244B08 3C03F7FF */ lui $v1, 0xf7ff +/* 80538C 80244B0C AE220028 */ sw $v0, 0x28($s1) +/* 805390 80244B10 8E420000 */ lw $v0, ($s2) +/* 805394 80244B14 3463FFFF */ ori $v1, $v1, 0xffff +/* 805398 80244B18 080912CE */ j .L80244B38 +/* 80539C 80244B1C 00431024 */ and $v0, $v0, $v1 +.L80244B20: +/* 8053A0 80244B20 3C0200A7 */ lui $v0, 0xa7 +/* 8053A4 80244B24 34420002 */ ori $v0, $v0, 2 +/* 8053A8 80244B28 AE220028 */ sw $v0, 0x28($s1) +/* 8053AC 80244B2C 8E420000 */ lw $v0, ($s2) +/* 8053B0 80244B30 3C030800 */ lui $v1, 0x800 +/* 8053B4 80244B34 00431025 */ or $v0, $v0, $v1 +.L80244B38: +/* 8053B8 80244B38 AE420000 */ sw $v0, ($s2) +/* 8053BC 80244B3C 2402FFC4 */ addiu $v0, $zero, -0x3c +/* 8053C0 80244B40 16620004 */ bne $s3, $v0, .L80244B54 +/* 8053C4 80244B44 2403FFFD */ addiu $v1, $zero, -3 +/* 8053C8 80244B48 8E220000 */ lw $v0, ($s1) +/* 8053CC 80244B4C 080912D7 */ j .L80244B5C +/* 8053D0 80244B50 34420002 */ ori $v0, $v0, 2 +.L80244B54: +/* 8053D4 80244B54 8E220000 */ lw $v0, ($s1) +/* 8053D8 80244B58 00431024 */ and $v0, $v0, $v1 +.L80244B5C: +/* 8053DC 80244B5C 12800004 */ beqz $s4, .L80244B70 +/* 8053E0 80244B60 AE220000 */ sw $v0, ($s1) +/* 8053E4 80244B64 3C0200A7 */ lui $v0, 0xa7 +/* 8053E8 80244B68 34420006 */ ori $v0, $v0, 6 +/* 8053EC 80244B6C AE220028 */ sw $v0, 0x28($s1) +.L80244B70: +/* 8053F0 80244B70 8FBF0024 */ lw $ra, 0x24($sp) +/* 8053F4 80244B74 8FB40020 */ lw $s4, 0x20($sp) +/* 8053F8 80244B78 8FB3001C */ lw $s3, 0x1c($sp) +/* 8053FC 80244B7C 8FB20018 */ lw $s2, 0x18($sp) +/* 805400 80244B80 8FB10014 */ lw $s1, 0x14($sp) +/* 805404 80244B84 8FB00010 */ lw $s0, 0x10($sp) +/* 805408 80244B88 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 80540C 80244B8C 24020002 */ addiu $v0, $zero, 2 +/* 805410 80244B90 03E00008 */ jr $ra +/* 805414 80244B94 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244D68.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244D68.s new file mode 100644 index 0000000000..e713baf942 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244D68.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244D68 +/* 8055E8 80244D68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8055EC 80244D6C AFBF0010 */ sw $ra, 0x10($sp) +/* 8055F0 80244D70 0000202D */ daddu $a0, $zero, $zero +/* 8055F4 80244D74 3C05F840 */ lui $a1, 0xf840 +/* 8055F8 80244D78 0C0B1EAF */ jal get_variable +/* 8055FC 80244D7C 34A55C84 */ ori $a1, $a1, 0x5c84 +/* 805600 80244D80 14400008 */ bnez $v0, .L80244DA4 +/* 805604 80244D84 0000202D */ daddu $a0, $zero, $zero +/* 805608 80244D88 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 80560C 80244D8C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 805610 80244D90 8C420140 */ lw $v0, 0x140($v0) +/* 805614 80244D94 8C440000 */ lw $a0, ($v0) +/* 805618 80244D98 0C04D052 */ jal set_item_entity_flags +/* 80561C 80244D9C 24050040 */ addiu $a1, $zero, 0x40 +/* 805620 80244DA0 0000202D */ daddu $a0, $zero, $zero +.L80244DA4: +/* 805624 80244DA4 3C05F840 */ lui $a1, 0xf840 +/* 805628 80244DA8 0C0B1EAF */ jal get_variable +/* 80562C 80244DAC 34A55C85 */ ori $a1, $a1, 0x5c85 +/* 805630 80244DB0 14400008 */ bnez $v0, .L80244DD4 +/* 805634 80244DB4 0000202D */ daddu $a0, $zero, $zero +/* 805638 80244DB8 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 80563C 80244DBC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 805640 80244DC0 8C420140 */ lw $v0, 0x140($v0) +/* 805644 80244DC4 8C440010 */ lw $a0, 0x10($v0) +/* 805648 80244DC8 0C04D052 */ jal set_item_entity_flags +/* 80564C 80244DCC 24050040 */ addiu $a1, $zero, 0x40 +/* 805650 80244DD0 0000202D */ daddu $a0, $zero, $zero +.L80244DD4: +/* 805654 80244DD4 3C05F840 */ lui $a1, 0xf840 +/* 805658 80244DD8 0C0B1EAF */ jal get_variable +/* 80565C 80244DDC 34A55C86 */ ori $a1, $a1, 0x5c86 +/* 805660 80244DE0 14400007 */ bnez $v0, .L80244E00 +/* 805664 80244DE4 00000000 */ nop +/* 805668 80244DE8 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 80566C 80244DEC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 805670 80244DF0 8C420140 */ lw $v0, 0x140($v0) +/* 805674 80244DF4 8C440020 */ lw $a0, 0x20($v0) +/* 805678 80244DF8 0C04D052 */ jal set_item_entity_flags +/* 80567C 80244DFC 24050040 */ addiu $a1, $zero, 0x40 +.L80244E00: +/* 805680 80244E00 8FBF0010 */ lw $ra, 0x10($sp) +/* 805684 80244E04 24020002 */ addiu $v0, $zero, 2 +/* 805688 80244E08 03E00008 */ jr $ra +/* 80568C 80244E0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244E10.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244E10.s new file mode 100644 index 0000000000..1774fbb425 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244E10.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244E10 +/* 805690 80244E10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805694 80244E14 AFB00010 */ sw $s0, 0x10($sp) +/* 805698 80244E18 0080802D */ daddu $s0, $a0, $zero +/* 80569C 80244E1C AFBF0014 */ sw $ra, 0x14($sp) +/* 8056A0 80244E20 8E02000C */ lw $v0, 0xc($s0) +/* 8056A4 80244E24 0C0B1EAF */ jal get_variable +/* 8056A8 80244E28 8C450000 */ lw $a1, ($v0) +/* 8056AC 80244E2C C6000084 */ lwc1 $f0, 0x84($s0) +/* 8056B0 80244E30 46800020 */ cvt.s.w $f0, $f0 +/* 8056B4 80244E34 00021100 */ sll $v0, $v0, 4 +/* 8056B8 80244E38 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8056BC 80244E3C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8056C0 80244E40 44050000 */ mfc1 $a1, $f0 +/* 8056C4 80244E44 C6000088 */ lwc1 $f0, 0x88($s0) +/* 8056C8 80244E48 46800020 */ cvt.s.w $f0, $f0 +/* 8056CC 80244E4C 8C630140 */ lw $v1, 0x140($v1) +/* 8056D0 80244E50 44060000 */ mfc1 $a2, $f0 +/* 8056D4 80244E54 00431021 */ addu $v0, $v0, $v1 +/* 8056D8 80244E58 8E03008C */ lw $v1, 0x8c($s0) +/* 8056DC 80244E5C 8C440000 */ lw $a0, ($v0) +/* 8056E0 80244E60 24630006 */ addiu $v1, $v1, 6 +/* 8056E4 80244E64 44830000 */ mtc1 $v1, $f0 +/* 8056E8 80244E68 00000000 */ nop +/* 8056EC 80244E6C 46800020 */ cvt.s.w $f0, $f0 +/* 8056F0 80244E70 44070000 */ mfc1 $a3, $f0 +/* 8056F4 80244E74 0C04D083 */ jal set_item_entity_position +/* 8056F8 80244E78 00000000 */ nop +/* 8056FC 80244E7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 805700 80244E80 8FB00010 */ lw $s0, 0x10($sp) +/* 805704 80244E84 24020002 */ addiu $v0, $zero, 2 +/* 805708 80244E88 03E00008 */ jr $ra +/* 80570C 80244E8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244E90.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244E90.s new file mode 100644 index 0000000000..70accc0ac3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244E90.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244E90 +/* 805710 80244E90 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 805714 80244E94 AFB60028 */ sw $s6, 0x28($sp) +/* 805718 80244E98 0080B02D */ daddu $s6, $a0, $zero +/* 80571C 80244E9C AFB50024 */ sw $s5, 0x24($sp) +/* 805720 80244EA0 3C158011 */ lui $s5, %hi(gPlayerData) +/* 805724 80244EA4 26B5F290 */ addiu $s5, $s5, %lo(gPlayerData) +/* 805728 80244EA8 AFB20018 */ sw $s2, 0x18($sp) +/* 80572C 80244EAC 2412FFFF */ addiu $s2, $zero, -1 +/* 805730 80244EB0 AFB00010 */ sw $s0, 0x10($sp) +/* 805734 80244EB4 0000802D */ daddu $s0, $zero, $zero +/* 805738 80244EB8 AFB40020 */ sw $s4, 0x20($sp) +/* 80573C 80244EBC 3C14F840 */ lui $s4, 0xf840 +/* 805740 80244EC0 36945C19 */ ori $s4, $s4, 0x5c19 +/* 805744 80244EC4 AFB3001C */ sw $s3, 0x1c($sp) +/* 805748 80244EC8 3C13F840 */ lui $s3, 0xf840 +/* 80574C 80244ECC 36735C2C */ ori $s3, $s3, 0x5c2c +/* 805750 80244ED0 AFB10014 */ sw $s1, 0x14($sp) +/* 805754 80244ED4 3C118025 */ lui $s1, 0x8025 +/* 805758 80244ED8 26316ADC */ addiu $s1, $s1, 0x6adc +/* 80575C 80244EDC AFBF002C */ sw $ra, 0x2c($sp) +.L80244EE0: +/* 805760 80244EE0 8E220000 */ lw $v0, ($s1) +/* 805764 80244EE4 000210C0 */ sll $v0, $v0, 3 +/* 805768 80244EE8 02A21021 */ addu $v0, $s5, $v0 +/* 80576C 80244EEC 90420014 */ lbu $v0, 0x14($v0) +/* 805770 80244EF0 1040000A */ beqz $v0, .L80244F1C +/* 805774 80244EF4 0000202D */ daddu $a0, $zero, $zero +/* 805778 80244EF8 0C0B1EAF */ jal get_variable +/* 80577C 80244EFC 02142821 */ addu $a1, $s0, $s4 +/* 805780 80244F00 10400006 */ beqz $v0, .L80244F1C +/* 805784 80244F04 0000202D */ daddu $a0, $zero, $zero +/* 805788 80244F08 0C0B1EAF */ jal get_variable +/* 80578C 80244F0C 02132821 */ addu $a1, $s0, $s3 +/* 805790 80244F10 10400006 */ beqz $v0, .L80244F2C +/* 805794 80244F14 24120001 */ addiu $s2, $zero, 1 +/* 805798 80244F18 0000902D */ daddu $s2, $zero, $zero +.L80244F1C: +/* 80579C 80244F1C 26100001 */ addiu $s0, $s0, 1 +/* 8057A0 80244F20 2E020013 */ sltiu $v0, $s0, 0x13 +/* 8057A4 80244F24 1440FFEE */ bnez $v0, .L80244EE0 +/* 8057A8 80244F28 26310014 */ addiu $s1, $s1, 0x14 +.L80244F2C: +/* 8057AC 80244F2C AED20084 */ sw $s2, 0x84($s6) +/* 8057B0 80244F30 8FBF002C */ lw $ra, 0x2c($sp) +/* 8057B4 80244F34 8FB60028 */ lw $s6, 0x28($sp) +/* 8057B8 80244F38 8FB50024 */ lw $s5, 0x24($sp) +/* 8057BC 80244F3C 8FB40020 */ lw $s4, 0x20($sp) +/* 8057C0 80244F40 8FB3001C */ lw $s3, 0x1c($sp) +/* 8057C4 80244F44 8FB20018 */ lw $s2, 0x18($sp) +/* 8057C8 80244F48 8FB10014 */ lw $s1, 0x14($sp) +/* 8057CC 80244F4C 8FB00010 */ lw $s0, 0x10($sp) +/* 8057D0 80244F50 24020002 */ addiu $v0, $zero, 2 +/* 8057D4 80244F54 03E00008 */ jr $ra +/* 8057D8 80244F58 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80244F5C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80244F5C.s new file mode 100644 index 0000000000..30e2750c1d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80244F5C.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244F5C +/* 8057DC 80244F5C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8057E0 80244F60 AFB50024 */ sw $s5, 0x24($sp) +/* 8057E4 80244F64 0080A82D */ daddu $s5, $a0, $zero +/* 8057E8 80244F68 AFB10014 */ sw $s1, 0x14($sp) +/* 8057EC 80244F6C 0000882D */ daddu $s1, $zero, $zero +/* 8057F0 80244F70 AFB00010 */ sw $s0, 0x10($sp) +/* 8057F4 80244F74 0220802D */ daddu $s0, $s1, $zero +/* 8057F8 80244F78 AFB40020 */ sw $s4, 0x20($sp) +/* 8057FC 80244F7C 3C14F840 */ lui $s4, 0xf840 +/* 805800 80244F80 36945C19 */ ori $s4, $s4, 0x5c19 +/* 805804 80244F84 AFB3001C */ sw $s3, 0x1c($sp) +/* 805808 80244F88 3C13F840 */ lui $s3, 0xf840 +/* 80580C 80244F8C 36735C2C */ ori $s3, $s3, 0x5c2c +/* 805810 80244F90 AFB20018 */ sw $s2, 0x18($sp) +/* 805814 80244F94 3C128025 */ lui $s2, 0x8025 +/* 805818 80244F98 26526ADC */ addiu $s2, $s2, 0x6adc +/* 80581C 80244F9C AFBF0028 */ sw $ra, 0x28($sp) +.L80244FA0: +/* 805820 80244FA0 8E420000 */ lw $v0, ($s2) +/* 805824 80244FA4 5455000F */ bnel $v0, $s5, .L80244FE4 +/* 805828 80244FA8 26100001 */ addiu $s0, $s0, 1 +/* 80582C 80244FAC 0000202D */ daddu $a0, $zero, $zero +/* 805830 80244FB0 0C0B1EAF */ jal get_variable +/* 805834 80244FB4 02142821 */ addu $a1, $s0, $s4 +/* 805838 80244FB8 5040000A */ beql $v0, $zero, .L80244FE4 +/* 80583C 80244FBC 26100001 */ addiu $s0, $s0, 1 +/* 805840 80244FC0 52200001 */ beql $s1, $zero, .L80244FC8 +/* 805844 80244FC4 24110001 */ addiu $s1, $zero, 1 +.L80244FC8: +/* 805848 80244FC8 0000202D */ daddu $a0, $zero, $zero +/* 80584C 80244FCC 0C0B1EAF */ jal get_variable +/* 805850 80244FD0 02132821 */ addu $a1, $s0, $s3 +/* 805854 80244FD4 14400003 */ bnez $v0, .L80244FE4 +/* 805858 80244FD8 26100001 */ addiu $s0, $s0, 1 +/* 80585C 80244FDC 080913FC */ j .L80244FF0 +/* 805860 80244FE0 24110002 */ addiu $s1, $zero, 2 +.L80244FE4: +/* 805864 80244FE4 2E020013 */ sltiu $v0, $s0, 0x13 +/* 805868 80244FE8 1440FFED */ bnez $v0, .L80244FA0 +/* 80586C 80244FEC 26520014 */ addiu $s2, $s2, 0x14 +.L80244FF0: +/* 805870 80244FF0 0220102D */ daddu $v0, $s1, $zero +/* 805874 80244FF4 8FBF0028 */ lw $ra, 0x28($sp) +/* 805878 80244FF8 8FB50024 */ lw $s5, 0x24($sp) +/* 80587C 80244FFC 8FB40020 */ lw $s4, 0x20($sp) +/* 805880 80245000 8FB3001C */ lw $s3, 0x1c($sp) +/* 805884 80245004 8FB20018 */ lw $s2, 0x18($sp) +/* 805888 80245008 8FB10014 */ lw $s1, 0x14($sp) +/* 80588C 8024500C 8FB00010 */ lw $s0, 0x10($sp) +/* 805890 80245010 03E00008 */ jr $ra +/* 805894 80245014 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245018.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245018.s new file mode 100644 index 0000000000..43c5d57eea --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245018.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245018 +/* 805898 80245018 3C018026 */ lui $at, 0x8026 +/* 80589C 8024501C AC202F68 */ sw $zero, 0x2f68($at) +/* 8058A0 80245020 03E00008 */ jr $ra +/* 8058A4 80245024 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245028.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245028.s new file mode 100644 index 0000000000..064fdce949 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245028.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245028 +/* 8058A8 80245028 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8058AC 8024502C AFB70034 */ sw $s7, 0x34($sp) +/* 8058B0 80245030 0080B82D */ daddu $s7, $a0, $zero +/* 8058B4 80245034 AFBE0038 */ sw $fp, 0x38($sp) +/* 8058B8 80245038 3C1E8026 */ lui $fp, 0x8026 +/* 8058BC 8024503C 27DE2C38 */ addiu $fp, $fp, 0x2c38 +/* 8058C0 80245040 AFBF003C */ sw $ra, 0x3c($sp) +/* 8058C4 80245044 AFB60030 */ sw $s6, 0x30($sp) +/* 8058C8 80245048 AFB5002C */ sw $s5, 0x2c($sp) +/* 8058CC 8024504C AFB40028 */ sw $s4, 0x28($sp) +/* 8058D0 80245050 AFB30024 */ sw $s3, 0x24($sp) +/* 8058D4 80245054 AFB20020 */ sw $s2, 0x20($sp) +/* 8058D8 80245058 AFB1001C */ sw $s1, 0x1c($sp) +/* 8058DC 8024505C 10A00045 */ beqz $a1, .L80245174 +/* 8058E0 80245060 AFB00018 */ sw $s0, 0x18($sp) +/* 8058E4 80245064 0000B02D */ daddu $s6, $zero, $zero +/* 8058E8 80245068 24150001 */ addiu $s5, $zero, 1 +/* 8058EC 8024506C 02A0282D */ daddu $a1, $s5, $zero +/* 8058F0 80245070 3C148009 */ lui $s4, 0x8009 +/* 8058F4 80245074 2694EEC4 */ addiu $s4, $s4, -0x113c +/* 8058F8 80245078 03C0882D */ daddu $s1, $fp, $zero +.L8024507C: +/* 8058FC 8024507C 8E900000 */ lw $s0, ($s4) +/* 805900 80245080 3C068011 */ lui $a2, %hi(gPlayerData) +/* 805904 80245084 24C6F290 */ addiu $a2, $a2, %lo(gPlayerData) +/* 805908 80245088 001010C0 */ sll $v0, $s0, 3 +/* 80590C 8024508C 00C29821 */ addu $s3, $a2, $v0 +/* 805910 80245090 92620014 */ lbu $v0, 0x14($s3) +/* 805914 80245094 50400027 */ beql $v0, $zero, .L80245134 +/* 805918 80245098 26B50001 */ addiu $s5, $s5, 1 +/* 80591C 8024509C 24060005 */ addiu $a2, $zero, 5 +/* 805920 802450A0 52060024 */ beql $s0, $a2, .L80245134 +/* 805924 802450A4 26B50001 */ addiu $s5, $s5, 1 +/* 805928 802450A8 0200202D */ daddu $a0, $s0, $zero +/* 80592C 802450AC 00101100 */ sll $v0, $s0, 4 +/* 805930 802450B0 3C068009 */ lui $a2, 0x8009 +/* 805934 802450B4 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 805938 802450B8 00469021 */ addu $s2, $v0, $a2 +/* 80593C 802450BC 0C0913D7 */ jal func_80244F5C +/* 805940 802450C0 AFA50010 */ sw $a1, 0x10($sp) +/* 805944 802450C4 0040182D */ daddu $v1, $v0, $zero +/* 805948 802450C8 8FA50010 */ lw $a1, 0x10($sp) +/* 80594C 802450CC 50600019 */ beql $v1, $zero, .L80245134 +/* 805950 802450D0 26B50001 */ addiu $s5, $s5, 1 +/* 805954 802450D4 00102080 */ sll $a0, $s0, 2 +/* 805958 802450D8 3C06800F */ lui $a2, 0x800f +/* 80595C 802450DC 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 805960 802450E0 00861021 */ addu $v0, $a0, $a2 +/* 805964 802450E4 8C420000 */ lw $v0, ($v0) +/* 805968 802450E8 AE300108 */ sw $s0, 0x108($s1) +/* 80596C 802450EC AE25018C */ sw $a1, 0x18c($s1) +/* 805970 802450F0 AE220000 */ sw $v0, ($s1) +/* 805974 802450F4 8E420000 */ lw $v0, ($s2) +/* 805978 802450F8 AE220084 */ sw $v0, 0x84($s1) +/* 80597C 802450FC 8E420008 */ lw $v0, 8($s2) +/* 805980 80245100 AE220294 */ sw $v0, 0x294($s1) +/* 805984 80245104 82620015 */ lb $v0, 0x15($s3) +/* 805988 80245108 14650007 */ bne $v1, $a1, .L80245128 +/* 80598C 8024510C AE220210 */ sw $v0, 0x210($s1) +/* 805990 80245110 3C06800F */ lui $a2, 0x800f +/* 805994 80245114 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 805998 80245118 00861021 */ addu $v0, $a0, $a2 +/* 80599C 8024511C AE20018C */ sw $zero, 0x18c($s1) +/* 8059A0 80245120 8C420000 */ lw $v0, ($v0) +/* 8059A4 80245124 AE220000 */ sw $v0, ($s1) +.L80245128: +/* 8059A8 80245128 26310004 */ addiu $s1, $s1, 4 +/* 8059AC 8024512C 26D60001 */ addiu $s6, $s6, 1 +/* 8059B0 80245130 26B50001 */ addiu $s5, $s5, 1 +.L80245134: +/* 8059B4 80245134 2AA2000C */ slti $v0, $s5, 0xc +/* 8059B8 80245138 1440FFD0 */ bnez $v0, .L8024507C +/* 8059BC 8024513C 26940004 */ addiu $s4, $s4, 4 +/* 8059C0 80245140 03C0202D */ daddu $a0, $fp, $zero +/* 8059C4 80245144 3C038026 */ lui $v1, 0x8026 +/* 8059C8 80245148 8C632F68 */ lw $v1, 0x2f68($v1) +/* 8059CC 8024514C 2402000D */ addiu $v0, $zero, 0xd +/* 8059D0 80245150 AFC20318 */ sw $v0, 0x318($fp) +/* 8059D4 80245154 AFD60324 */ sw $s6, 0x324($fp) +/* 8059D8 80245158 0C03D390 */ jal func_800F4E40 +/* 8059DC 8024515C AFC30328 */ sw $v1, 0x328($fp) +/* 8059E0 80245160 0C03A631 */ jal func_800E98C4 +/* 8059E4 80245164 00000000 */ nop +/* 8059E8 80245168 0C03A5EE */ jal func_800E97B8 +/* 8059EC 8024516C 00000000 */ nop +/* 8059F0 80245170 AEE00070 */ sw $zero, 0x70($s7) +.L80245174: +/* 8059F4 80245174 8EE20070 */ lw $v0, 0x70($s7) +/* 8059F8 80245178 14400008 */ bnez $v0, .L8024519C +/* 8059FC 8024517C 24420001 */ addiu $v0, $v0, 1 +/* 805A00 80245180 87C2032C */ lh $v0, 0x32c($fp) +/* 805A04 80245184 10400009 */ beqz $v0, .L802451AC +/* 805A08 80245188 AEE20074 */ sw $v0, 0x74($s7) +/* 805A0C 8024518C 0C03C4EC */ jal func_800F13B0 +/* 805A10 80245190 00000000 */ nop +/* 805A14 80245194 8EE20070 */ lw $v0, 0x70($s7) +/* 805A18 80245198 24420001 */ addiu $v0, $v0, 1 +.L8024519C: +/* 805A1C 8024519C AEE20070 */ sw $v0, 0x70($s7) +/* 805A20 802451A0 28420014 */ slti $v0, $v0, 0x14 +/* 805A24 802451A4 10400003 */ beqz $v0, .L802451B4 +/* 805A28 802451A8 00000000 */ nop +.L802451AC: +/* 805A2C 802451AC 0809147F */ j .L802451FC +/* 805A30 802451B0 0000102D */ daddu $v0, $zero, $zero +.L802451B4: +/* 805A34 802451B4 0C03C54E */ jal func_800F1538 +/* 805A38 802451B8 00000000 */ nop +/* 805A3C 802451BC 8EE30074 */ lw $v1, 0x74($s7) +/* 805A40 802451C0 240200FF */ addiu $v0, $zero, 0xff +/* 805A44 802451C4 1062000A */ beq $v1, $v0, .L802451F0 +/* 805A48 802451C8 2462FFFF */ addiu $v0, $v1, -1 +/* 805A4C 802451CC 00021080 */ sll $v0, $v0, 2 +/* 805A50 802451D0 03C21021 */ addu $v0, $fp, $v0 +/* 805A54 802451D4 8C500108 */ lw $s0, 0x108($v0) +/* 805A58 802451D8 24020002 */ addiu $v0, $zero, 2 +/* 805A5C 802451DC 2463FFFF */ addiu $v1, $v1, -1 +/* 805A60 802451E0 3C018026 */ lui $at, 0x8026 +/* 805A64 802451E4 AC232F68 */ sw $v1, 0x2f68($at) +/* 805A68 802451E8 0809147F */ j .L802451FC +/* 805A6C 802451EC AEF00088 */ sw $s0, 0x88($s7) +.L802451F0: +/* 805A70 802451F0 2402FFFF */ addiu $v0, $zero, -1 +/* 805A74 802451F4 AEE20088 */ sw $v0, 0x88($s7) +/* 805A78 802451F8 24020002 */ addiu $v0, $zero, 2 +.L802451FC: +/* 805A7C 802451FC 8FBF003C */ lw $ra, 0x3c($sp) +/* 805A80 80245200 8FBE0038 */ lw $fp, 0x38($sp) +/* 805A84 80245204 8FB70034 */ lw $s7, 0x34($sp) +/* 805A88 80245208 8FB60030 */ lw $s6, 0x30($sp) +/* 805A8C 8024520C 8FB5002C */ lw $s5, 0x2c($sp) +/* 805A90 80245210 8FB40028 */ lw $s4, 0x28($sp) +/* 805A94 80245214 8FB30024 */ lw $s3, 0x24($sp) +/* 805A98 80245218 8FB20020 */ lw $s2, 0x20($sp) +/* 805A9C 8024521C 8FB1001C */ lw $s1, 0x1c($sp) +/* 805AA0 80245220 8FB00018 */ lw $s0, 0x18($sp) +/* 805AA4 80245224 03E00008 */ jr $ra +/* 805AA8 80245228 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024522C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024522C.s new file mode 100644 index 0000000000..316e1fa0b9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024522C.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024522C +/* 805AAC 8024522C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 805AB0 80245230 AFB5002C */ sw $s5, 0x2c($sp) +/* 805AB4 80245234 0080A82D */ daddu $s5, $a0, $zero +/* 805AB8 80245238 AFBF003C */ sw $ra, 0x3c($sp) +/* 805ABC 8024523C AFBE0038 */ sw $fp, 0x38($sp) +/* 805AC0 80245240 AFB70034 */ sw $s7, 0x34($sp) +/* 805AC4 80245244 AFB60030 */ sw $s6, 0x30($sp) +/* 805AC8 80245248 AFB40028 */ sw $s4, 0x28($sp) +/* 805ACC 8024524C AFB30024 */ sw $s3, 0x24($sp) +/* 805AD0 80245250 AFB20020 */ sw $s2, 0x20($sp) +/* 805AD4 80245254 AFB1001C */ sw $s1, 0x1c($sp) +/* 805AD8 80245258 AFB00018 */ sw $s0, 0x18($sp) +/* 805ADC 8024525C 8EA700AC */ lw $a3, 0xac($s5) +/* 805AE0 80245260 3C168026 */ lui $s6, 0x8026 +/* 805AE4 80245264 26D62C38 */ addiu $s6, $s6, 0x2c38 +/* 805AE8 80245268 10A0003D */ beqz $a1, .L80245360 +/* 805AEC 8024526C AFA70010 */ sw $a3, 0x10($sp) +/* 805AF0 80245270 0000A02D */ daddu $s4, $zero, $zero +/* 805AF4 80245274 0280982D */ daddu $s3, $s4, $zero +/* 805AF8 80245278 3C1EF840 */ lui $fp, 0xf840 +/* 805AFC 8024527C 37DE5C19 */ ori $fp, $fp, 0x5c19 +/* 805B00 80245280 3C17F840 */ lui $s7, 0xf840 +/* 805B04 80245284 36F75C2C */ ori $s7, $s7, 0x5c2c +/* 805B08 80245288 3C128025 */ lui $s2, 0x8025 +/* 805B0C 8024528C 26526ADC */ addiu $s2, $s2, 0x6adc +/* 805B10 80245290 02C0882D */ daddu $s1, $s6, $zero +.L80245294: +/* 805B14 80245294 0000202D */ daddu $a0, $zero, $zero +/* 805B18 80245298 0C0B1EAF */ jal get_variable +/* 805B1C 8024529C 027E2821 */ addu $a1, $s3, $fp +/* 805B20 802452A0 0000202D */ daddu $a0, $zero, $zero +/* 805B24 802452A4 02772821 */ addu $a1, $s3, $s7 +/* 805B28 802452A8 0C0B1EAF */ jal get_variable +/* 805B2C 802452AC 0040802D */ daddu $s0, $v0, $zero +/* 805B30 802452B0 1200001C */ beqz $s0, .L80245324 +/* 805B34 802452B4 0040202D */ daddu $a0, $v0, $zero +/* 805B38 802452B8 8E420000 */ lw $v0, ($s2) +/* 805B3C 802452BC 8FA70010 */ lw $a3, 0x10($sp) +/* 805B40 802452C0 54E20019 */ bnel $a3, $v0, .L80245328 +/* 805B44 802452C4 26730001 */ addiu $s3, $s3, 1 +/* 805B48 802452C8 3C028009 */ lui $v0, 0x8009 +/* 805B4C 802452CC 84428364 */ lh $v0, -0x7c9c($v0) +/* 805B50 802452D0 3C078009 */ lui $a3, 0x8009 +/* 805B54 802452D4 24E7A680 */ addiu $a3, $a3, -0x5980 +/* 805B58 802452D8 AE330108 */ sw $s3, 0x108($s1) +/* 805B5C 802452DC 8E430008 */ lw $v1, 8($s2) +/* 805B60 802452E0 000210C0 */ sll $v0, $v0, 3 +/* 805B64 802452E4 AE230084 */ sw $v1, 0x84($s1) +/* 805B68 802452E8 8E43000C */ lw $v1, 0xc($s2) +/* 805B6C 802452EC 00471021 */ addu $v0, $v0, $a3 +/* 805B70 802452F0 AE200210 */ sw $zero, 0x210($s1) +/* 805B74 802452F4 10800005 */ beqz $a0, .L8024530C +/* 805B78 802452F8 AE230294 */ sw $v1, 0x294($s1) +/* 805B7C 802452FC 8C420004 */ lw $v0, 4($v0) +/* 805B80 80245300 AE20018C */ sw $zero, 0x18c($s1) +/* 805B84 80245304 080914C7 */ j .L8024531C +/* 805B88 80245308 AE220000 */ sw $v0, ($s1) +.L8024530C: +/* 805B8C 8024530C 8C430000 */ lw $v1, ($v0) +/* 805B90 80245310 24020001 */ addiu $v0, $zero, 1 +/* 805B94 80245314 AE22018C */ sw $v0, 0x18c($s1) +/* 805B98 80245318 AE230000 */ sw $v1, ($s1) +.L8024531C: +/* 805B9C 8024531C 26310004 */ addiu $s1, $s1, 4 +/* 805BA0 80245320 26940001 */ addiu $s4, $s4, 1 +.L80245324: +/* 805BA4 80245324 26730001 */ addiu $s3, $s3, 1 +.L80245328: +/* 805BA8 80245328 2E620013 */ sltiu $v0, $s3, 0x13 +/* 805BAC 8024532C 1440FFD9 */ bnez $v0, .L80245294 +/* 805BB0 80245330 26520014 */ addiu $s2, $s2, 0x14 +/* 805BB4 80245334 02C0202D */ daddu $a0, $s6, $zero +/* 805BB8 80245338 24020008 */ addiu $v0, $zero, 8 +/* 805BBC 8024533C AEC20318 */ sw $v0, 0x318($s6) +/* 805BC0 80245340 AED40324 */ sw $s4, 0x324($s6) +/* 805BC4 80245344 0C03D390 */ jal func_800F4E40 +/* 805BC8 80245348 AEC00328 */ sw $zero, 0x328($s6) +/* 805BCC 8024534C 0C03A631 */ jal func_800E98C4 +/* 805BD0 80245350 00000000 */ nop +/* 805BD4 80245354 0C03A5EE */ jal func_800E97B8 +/* 805BD8 80245358 00000000 */ nop +/* 805BDC 8024535C AEA00070 */ sw $zero, 0x70($s5) +.L80245360: +/* 805BE0 80245360 8EA20070 */ lw $v0, 0x70($s5) +/* 805BE4 80245364 14400008 */ bnez $v0, .L80245388 +/* 805BE8 80245368 24420001 */ addiu $v0, $v0, 1 +/* 805BEC 8024536C 86C2032C */ lh $v0, 0x32c($s6) +/* 805BF0 80245370 10400009 */ beqz $v0, .L80245398 +/* 805BF4 80245374 AEA20074 */ sw $v0, 0x74($s5) +/* 805BF8 80245378 0C03C4EC */ jal func_800F13B0 +/* 805BFC 8024537C 00000000 */ nop +/* 805C00 80245380 8EA20070 */ lw $v0, 0x70($s5) +/* 805C04 80245384 24420001 */ addiu $v0, $v0, 1 +.L80245388: +/* 805C08 80245388 AEA20070 */ sw $v0, 0x70($s5) +/* 805C0C 8024538C 28420014 */ slti $v0, $v0, 0x14 +/* 805C10 80245390 10400003 */ beqz $v0, .L802453A0 +/* 805C14 80245394 00000000 */ nop +.L80245398: +/* 805C18 80245398 08091504 */ j .L80245410 +/* 805C1C 8024539C 0000102D */ daddu $v0, $zero, $zero +.L802453A0: +/* 805C20 802453A0 0C03C54E */ jal func_800F1538 +/* 805C24 802453A4 00000000 */ nop +/* 805C28 802453A8 8EA40074 */ lw $a0, 0x74($s5) +/* 805C2C 802453AC 240200FF */ addiu $v0, $zero, 0xff +/* 805C30 802453B0 10820014 */ beq $a0, $v0, .L80245404 +/* 805C34 802453B4 3C03F840 */ lui $v1, 0xf840 +/* 805C38 802453B8 34635C2C */ ori $v1, $v1, 0x5c2c +/* 805C3C 802453BC 2482FFFF */ addiu $v0, $a0, -1 +/* 805C40 802453C0 00021080 */ sll $v0, $v0, 2 +/* 805C44 802453C4 02C21021 */ addu $v0, $s6, $v0 +/* 805C48 802453C8 0000202D */ daddu $a0, $zero, $zero +/* 805C4C 802453CC 8C450108 */ lw $a1, 0x108($v0) +/* 805C50 802453D0 24060001 */ addiu $a2, $zero, 1 +/* 805C54 802453D4 00051080 */ sll $v0, $a1, 2 +/* 805C58 802453D8 00451021 */ addu $v0, $v0, $a1 +/* 805C5C 802453DC 00021080 */ sll $v0, $v0, 2 +/* 805C60 802453E0 AEA50088 */ sw $a1, 0x88($s5) +/* 805C64 802453E4 3C018025 */ lui $at, 0x8025 +/* 805C68 802453E8 00220821 */ addu $at, $at, $v0 +/* 805C6C 802453EC 8C226AEC */ lw $v0, 0x6aec($at) +/* 805C70 802453F0 00A32821 */ addu $a1, $a1, $v1 +/* 805C74 802453F4 0C0B2026 */ jal set_variable +/* 805C78 802453F8 AEA20084 */ sw $v0, 0x84($s5) +/* 805C7C 802453FC 08091504 */ j .L80245410 +/* 805C80 80245400 24020002 */ addiu $v0, $zero, 2 +.L80245404: +/* 805C84 80245404 2402FFFF */ addiu $v0, $zero, -1 +/* 805C88 80245408 AEA20088 */ sw $v0, 0x88($s5) +/* 805C8C 8024540C 24020002 */ addiu $v0, $zero, 2 +.L80245410: +/* 805C90 80245410 8FBF003C */ lw $ra, 0x3c($sp) +/* 805C94 80245414 8FBE0038 */ lw $fp, 0x38($sp) +/* 805C98 80245418 8FB70034 */ lw $s7, 0x34($sp) +/* 805C9C 8024541C 8FB60030 */ lw $s6, 0x30($sp) +/* 805CA0 80245420 8FB5002C */ lw $s5, 0x2c($sp) +/* 805CA4 80245424 8FB40028 */ lw $s4, 0x28($sp) +/* 805CA8 80245428 8FB30024 */ lw $s3, 0x24($sp) +/* 805CAC 8024542C 8FB20020 */ lw $s2, 0x20($sp) +/* 805CB0 80245430 8FB1001C */ lw $s1, 0x1c($sp) +/* 805CB4 80245434 8FB00018 */ lw $s0, 0x18($sp) +/* 805CB8 80245438 03E00008 */ jr $ra +/* 805CBC 8024543C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245440_800880.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245440_800880.s new file mode 100644 index 0000000000..fd0bbefcb5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245440_800880.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245440_805CC0 +/* 805CC0 80245440 3C028011 */ lui $v0, 0x8011 +/* 805CC4 80245444 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 805CC8 80245448 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805CCC 8024544C AFB00010 */ sw $s0, 0x10($sp) +/* 805CD0 80245450 0080802D */ daddu $s0, $a0, $zero +/* 805CD4 80245454 AFBF0014 */ sw $ra, 0x14($sp) +/* 805CD8 80245458 8E0400AC */ lw $a0, 0xac($s0) +/* 805CDC 8024545C 50440005 */ beql $v0, $a0, .L80245474 +/* 805CE0 80245460 AE000088 */ sw $zero, 0x88($s0) +/* 805CE4 80245464 0C03AC5A */ jal func_800EB168 +/* 805CE8 80245468 00000000 */ nop +/* 805CEC 8024546C 24020001 */ addiu $v0, $zero, 1 +/* 805CF0 80245470 AE020088 */ sw $v0, 0x88($s0) +.L80245474: +/* 805CF4 80245474 24020002 */ addiu $v0, $zero, 2 +/* 805CF8 80245478 8FBF0014 */ lw $ra, 0x14($sp) +/* 805CFC 8024547C 8FB00010 */ lw $s0, 0x10($sp) +/* 805D00 80245480 03E00008 */ jr $ra +/* 805D04 80245484 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245488.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245488.s new file mode 100644 index 0000000000..9fc942e730 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245488.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245488 +/* 805D08 80245488 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805D0C 8024548C AFBF0010 */ sw $ra, 0x10($sp) +/* 805D10 80245490 8C82000C */ lw $v0, 0xc($a0) +/* 805D14 80245494 0C0B1EAF */ jal get_variable +/* 805D18 80245498 8C450000 */ lw $a1, ($v0) +/* 805D1C 8024549C 8FBF0010 */ lw $ra, 0x10($sp) +/* 805D20 802454A0 3C018026 */ lui $at, 0x8026 +/* 805D24 802454A4 AC228404 */ sw $v0, -0x7bfc($at) +/* 805D28 802454A8 24020002 */ addiu $v0, $zero, 2 +/* 805D2C 802454AC 03E00008 */ jr $ra +/* 805D30 802454B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802454B4.s b/asm/nonmatchings/world/area_mac/mac_01/func_802454B4.s new file mode 100644 index 0000000000..505484d3ee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802454B4.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802454B4 +/* 805D34 802454B4 3C06FCFF */ lui $a2, 0xfcff +/* 805D38 802454B8 34C6C7FF */ ori $a2, $a2, 0xc7ff +/* 805D3C 802454BC 3C05FF8F */ lui $a1, 0xff8f +/* 805D40 802454C0 3C04800A */ lui $a0, 0x800a +/* 805D44 802454C4 2484A66C */ addiu $a0, $a0, -0x5994 +/* 805D48 802454C8 8C820000 */ lw $v0, ($a0) +/* 805D4C 802454CC 34A57FBF */ ori $a1, $a1, 0x7fbf +/* 805D50 802454D0 0040182D */ daddu $v1, $v0, $zero +/* 805D54 802454D4 24420008 */ addiu $v0, $v0, 8 +/* 805D58 802454D8 AC820000 */ sw $v0, ($a0) +/* 805D5C 802454DC AC660000 */ sw $a2, ($v1) +/* 805D60 802454E0 AC650004 */ sw $a1, 4($v1) +/* 805D64 802454E4 24430008 */ addiu $v1, $v0, 8 +/* 805D68 802454E8 AC830000 */ sw $v1, ($a0) +/* 805D6C 802454EC 3C048026 */ lui $a0, 0x8026 +/* 805D70 802454F0 90848407 */ lbu $a0, -0x7bf9($a0) +/* 805D74 802454F4 3C03FA00 */ lui $v1, 0xfa00 +/* 805D78 802454F8 AC430000 */ sw $v1, ($v0) +/* 805D7C 802454FC 03E00008 */ jr $ra +/* 805D80 80245500 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245504.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245504.s new file mode 100644 index 0000000000..154423b75c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245504.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245504 +/* 805D84 80245504 3C0141A0 */ lui $at, 0x41a0 +/* 805D88 80245508 44816000 */ mtc1 $at, $f12 +/* 805D8C 8024550C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805D90 80245510 AFBF0010 */ sw $ra, 0x10($sp) +/* 805D94 80245514 0C03BCE5 */ jal func_800EF394 +/* 805D98 80245518 00000000 */ nop +/* 805D9C 8024551C 8FBF0010 */ lw $ra, 0x10($sp) +/* 805DA0 80245520 24020002 */ addiu $v0, $zero, 2 +/* 805DA4 80245524 03E00008 */ jr $ra +/* 805DA8 80245528 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_8024552C.s b/asm/nonmatchings/world/area_mac/mac_01/func_8024552C.s new file mode 100644 index 0000000000..c1002423b2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_8024552C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024552C +/* 805DAC 8024552C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805DB0 80245530 AFBF0010 */ sw $ra, 0x10($sp) +/* 805DB4 80245534 0C03BCE9 */ jal func_800EF3A4 +/* 805DB8 80245538 00000000 */ nop +/* 805DBC 8024553C 8FBF0010 */ lw $ra, 0x10($sp) +/* 805DC0 80245540 24020002 */ addiu $v0, $zero, 2 +/* 805DC4 80245544 03E00008 */ jr $ra +/* 805DC8 80245548 27BD0018 */ addiu $sp, $sp, 0x18 +/* 805DCC 8024554C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245550.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245550.s new file mode 100644 index 0000000000..af324f043a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245550.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245550 +/* 805DD0 80245550 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 805DD4 80245554 AFB50024 */ sw $s5, 0x24($sp) +/* 805DD8 80245558 0080A82D */ daddu $s5, $a0, $zero +/* 805DDC 8024555C AFBF002C */ sw $ra, 0x2c($sp) +/* 805DE0 80245560 AFB60028 */ sw $s6, 0x28($sp) +/* 805DE4 80245564 AFB40020 */ sw $s4, 0x20($sp) +/* 805DE8 80245568 AFB3001C */ sw $s3, 0x1c($sp) +/* 805DEC 8024556C AFB20018 */ sw $s2, 0x18($sp) +/* 805DF0 80245570 AFB10014 */ sw $s1, 0x14($sp) +/* 805DF4 80245574 AFB00010 */ sw $s0, 0x10($sp) +/* 805DF8 80245578 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 805DFC 8024557C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 805E00 80245580 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 805E04 80245584 8EB30148 */ lw $s3, 0x148($s5) +/* 805E08 80245588 86640008 */ lh $a0, 8($s3) +/* 805E0C 8024558C 0C00EABB */ jal get_npc_unsafe +/* 805E10 80245590 00A0B02D */ daddu $s6, $a1, $zero +/* 805E14 80245594 0040A02D */ daddu $s4, $v0, $zero +/* 805E18 80245598 AEA00074 */ sw $zero, 0x74($s5) +/* 805E1C 8024559C C6980038 */ lwc1 $f24, 0x38($s4) +/* 805E20 802455A0 C6960040 */ lwc1 $f22, 0x40($s4) +/* 805E24 802455A4 0000902D */ daddu $s2, $zero, $zero +/* 805E28 802455A8 AEA00078 */ sw $zero, 0x78($s5) +/* 805E2C 802455AC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 805E30 802455B0 8C620000 */ lw $v0, ($v1) +/* 805E34 802455B4 3C0146FF */ lui $at, 0x46ff +/* 805E38 802455B8 3421FE00 */ ori $at, $at, 0xfe00 +/* 805E3C 802455BC 4481A000 */ mtc1 $at, $f20 +/* 805E40 802455C0 18400018 */ blez $v0, .L80245624 +/* 805E44 802455C4 0240802D */ daddu $s0, $s2, $zero +/* 805E48 802455C8 0240882D */ daddu $s1, $s2, $zero +.L802455CC: +/* 805E4C 802455CC 02231021 */ addu $v0, $s1, $v1 +/* 805E50 802455D0 4600C306 */ mov.s $f12, $f24 +/* 805E54 802455D4 C4440004 */ lwc1 $f4, 4($v0) +/* 805E58 802455D8 46802120 */ cvt.s.w $f4, $f4 +/* 805E5C 802455DC 44062000 */ mfc1 $a2, $f4 +/* 805E60 802455E0 C444000C */ lwc1 $f4, 0xc($v0) +/* 805E64 802455E4 46802120 */ cvt.s.w $f4, $f4 +/* 805E68 802455E8 44072000 */ mfc1 $a3, $f4 +/* 805E6C 802455EC 0C00A7B5 */ jal dist2D +/* 805E70 802455F0 4600B386 */ mov.s $f14, $f22 +/* 805E74 802455F4 4614003C */ c.lt.s $f0, $f20 +/* 805E78 802455F8 00000000 */ nop +/* 805E7C 802455FC 45000003 */ bc1f .L8024560C +/* 805E80 80245600 2631000C */ addiu $s1, $s1, 0xc +/* 805E84 80245604 46000506 */ mov.s $f20, $f0 +/* 805E88 80245608 AEB20078 */ sw $s2, 0x78($s5) +.L8024560C: +/* 805E8C 8024560C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 805E90 80245610 26100001 */ addiu $s0, $s0, 1 +/* 805E94 80245614 8C620000 */ lw $v0, ($v1) +/* 805E98 80245618 0202102A */ slt $v0, $s0, $v0 +/* 805E9C 8024561C 1440FFEB */ bnez $v0, .L802455CC +/* 805EA0 80245620 26520001 */ addiu $s2, $s2, 1 +.L80245624: +/* 805EA4 80245624 8E6200CC */ lw $v0, 0xcc($s3) +/* 805EA8 80245628 8C420004 */ lw $v0, 4($v0) +/* 805EAC 8024562C AE820028 */ sw $v0, 0x28($s4) +/* 805EB0 80245630 8E6200D0 */ lw $v0, 0xd0($s3) +/* 805EB4 80245634 8C42007C */ lw $v0, 0x7c($v0) +/* 805EB8 80245638 04410004 */ bgez $v0, .L8024564C +/* 805EBC 8024563C 00000000 */ nop +/* 805EC0 80245640 C6C00000 */ lwc1 $f0, ($s6) +/* 805EC4 80245644 0809159B */ j .L8024566C +/* 805EC8 80245648 E6800018 */ swc1 $f0, 0x18($s4) +.L8024564C: +/* 805ECC 8024564C 3C018026 */ lui $at, 0x8026 +/* 805ED0 80245650 D4222890 */ ldc1 $f2, 0x2890($at) +/* 805ED4 80245654 44820000 */ mtc1 $v0, $f0 +/* 805ED8 80245658 00000000 */ nop +/* 805EDC 8024565C 46800021 */ cvt.d.w $f0, $f0 +/* 805EE0 80245660 46220003 */ div.d $f0, $f0, $f2 +/* 805EE4 80245664 46200020 */ cvt.s.d $f0, $f0 +/* 805EE8 80245668 E6800018 */ swc1 $f0, 0x18($s4) +.L8024566C: +/* 805EEC 8024566C 24020001 */ addiu $v0, $zero, 1 +/* 805EF0 80245670 AEA20070 */ sw $v0, 0x70($s5) +/* 805EF4 80245674 8FBF002C */ lw $ra, 0x2c($sp) +/* 805EF8 80245678 8FB60028 */ lw $s6, 0x28($sp) +/* 805EFC 8024567C 8FB50024 */ lw $s5, 0x24($sp) +/* 805F00 80245680 8FB40020 */ lw $s4, 0x20($sp) +/* 805F04 80245684 8FB3001C */ lw $s3, 0x1c($sp) +/* 805F08 80245688 8FB20018 */ lw $s2, 0x18($sp) +/* 805F0C 8024568C 8FB10014 */ lw $s1, 0x14($sp) +/* 805F10 80245690 8FB00010 */ lw $s0, 0x10($sp) +/* 805F14 80245694 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 805F18 80245698 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 805F1C 8024569C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 805F20 802456A0 03E00008 */ jr $ra +/* 805F24 802456A4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802456A8.s b/asm/nonmatchings/world/area_mac/mac_01/func_802456A8.s new file mode 100644 index 0000000000..8f027d149d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802456A8.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802456A8 +/* 805F28 802456A8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 805F2C 802456AC AFB20038 */ sw $s2, 0x38($sp) +/* 805F30 802456B0 0080902D */ daddu $s2, $a0, $zero +/* 805F34 802456B4 AFBF0044 */ sw $ra, 0x44($sp) +/* 805F38 802456B8 AFB40040 */ sw $s4, 0x40($sp) +/* 805F3C 802456BC AFB3003C */ sw $s3, 0x3c($sp) +/* 805F40 802456C0 AFB10034 */ sw $s1, 0x34($sp) +/* 805F44 802456C4 AFB00030 */ sw $s0, 0x30($sp) +/* 805F48 802456C8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 805F4C 802456CC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 805F50 802456D0 8E510148 */ lw $s1, 0x148($s2) +/* 805F54 802456D4 00A0982D */ daddu $s3, $a1, $zero +/* 805F58 802456D8 86240008 */ lh $a0, 8($s1) +/* 805F5C 802456DC 0C00EABB */ jal get_npc_unsafe +/* 805F60 802456E0 00C0A02D */ daddu $s4, $a2, $zero +/* 805F64 802456E4 8E630014 */ lw $v1, 0x14($s3) +/* 805F68 802456E8 04600030 */ bltz $v1, .L802457AC +/* 805F6C 802456EC 0040802D */ daddu $s0, $v0, $zero +/* 805F70 802456F0 8E420074 */ lw $v0, 0x74($s2) +/* 805F74 802456F4 1C40002C */ bgtz $v0, .L802457A8 +/* 805F78 802456F8 2442FFFF */ addiu $v0, $v0, -1 +/* 805F7C 802456FC 0280202D */ daddu $a0, $s4, $zero +/* 805F80 80245700 AE430074 */ sw $v1, 0x74($s2) +/* 805F84 80245704 AFA00010 */ sw $zero, 0x10($sp) +/* 805F88 80245708 8E66000C */ lw $a2, 0xc($s3) +/* 805F8C 8024570C 8E670010 */ lw $a3, 0x10($s3) +/* 805F90 80245710 0C01242D */ jal func_800490B4 +/* 805F94 80245714 0220282D */ daddu $a1, $s1, $zero +/* 805F98 80245718 10400021 */ beqz $v0, .L802457A0 +/* 805F9C 8024571C 0000202D */ daddu $a0, $zero, $zero +/* 805FA0 80245720 0200282D */ daddu $a1, $s0, $zero +/* 805FA4 80245724 0000302D */ daddu $a2, $zero, $zero +/* 805FA8 80245728 860300A8 */ lh $v1, 0xa8($s0) +/* 805FAC 8024572C 3C013F80 */ lui $at, 0x3f80 +/* 805FB0 80245730 44810000 */ mtc1 $at, $f0 +/* 805FB4 80245734 3C014000 */ lui $at, 0x4000 +/* 805FB8 80245738 44811000 */ mtc1 $at, $f2 +/* 805FBC 8024573C 3C01C1A0 */ lui $at, 0xc1a0 +/* 805FC0 80245740 44812000 */ mtc1 $at, $f4 +/* 805FC4 80245744 2402000F */ addiu $v0, $zero, 0xf +/* 805FC8 80245748 AFA2001C */ sw $v0, 0x1c($sp) +/* 805FCC 8024574C 44833000 */ mtc1 $v1, $f6 +/* 805FD0 80245750 00000000 */ nop +/* 805FD4 80245754 468031A0 */ cvt.s.w $f6, $f6 +/* 805FD8 80245758 44073000 */ mfc1 $a3, $f6 +/* 805FDC 8024575C 27A20028 */ addiu $v0, $sp, 0x28 +/* 805FE0 80245760 AFA20020 */ sw $v0, 0x20($sp) +/* 805FE4 80245764 E7A00010 */ swc1 $f0, 0x10($sp) +/* 805FE8 80245768 E7A20014 */ swc1 $f2, 0x14($sp) +/* 805FEC 8024576C 0C01BFA4 */ jal fx_emote +/* 805FF0 80245770 E7A40018 */ swc1 $f4, 0x18($sp) +/* 805FF4 80245774 0200202D */ daddu $a0, $s0, $zero +/* 805FF8 80245778 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 805FFC 8024577C 0C012530 */ jal func_800494C0 +/* 806000 80245780 3C060020 */ lui $a2, 0x20 +/* 806004 80245784 8E220018 */ lw $v0, 0x18($s1) +/* 806008 80245788 9442002A */ lhu $v0, 0x2a($v0) +/* 80600C 8024578C 30420001 */ andi $v0, $v0, 1 +/* 806010 80245790 14400064 */ bnez $v0, .L80245924 +/* 806014 80245794 2402000A */ addiu $v0, $zero, 0xa +/* 806018 80245798 08091649 */ j .L80245924 +/* 80601C 8024579C 2402000C */ addiu $v0, $zero, 0xc +.L802457A0: +/* 806020 802457A0 8E420074 */ lw $v0, 0x74($s2) +/* 806024 802457A4 2442FFFF */ addiu $v0, $v0, -1 +.L802457A8: +/* 806028 802457A8 AE420074 */ sw $v0, 0x74($s2) +.L802457AC: +/* 80602C 802457AC 8602008C */ lh $v0, 0x8c($s0) +/* 806030 802457B0 1440005D */ bnez $v0, .L80245928 +/* 806034 802457B4 00000000 */ nop +/* 806038 802457B8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 80603C 802457BC 3C014010 */ lui $at, 0x4010 +/* 806040 802457C0 44811800 */ mtc1 $at, $f3 +/* 806044 802457C4 44801000 */ mtc1 $zero, $f2 +/* 806048 802457C8 46000021 */ cvt.d.s $f0, $f0 +/* 80604C 802457CC 4622003C */ c.lt.d $f0, $f2 +/* 806050 802457D0 00000000 */ nop +/* 806054 802457D4 45000003 */ bc1f .L802457E4 +/* 806058 802457D8 0200202D */ daddu $a0, $s0, $zero +/* 80605C 802457DC 080915FA */ j .L802457E8 +/* 806060 802457E0 0000282D */ daddu $a1, $zero, $zero +.L802457E4: +/* 806064 802457E4 24050001 */ addiu $a1, $zero, 1 +.L802457E8: +/* 806068 802457E8 0C00F598 */ jal func_8003D660 +/* 80606C 802457EC 00000000 */ nop +/* 806070 802457F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 806074 802457F4 8E430078 */ lw $v1, 0x78($s2) +/* 806078 802457F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 80607C 802457FC 00031040 */ sll $v0, $v1, 1 +/* 806080 80245800 00431021 */ addu $v0, $v0, $v1 +/* 806084 80245804 8E2300D0 */ lw $v1, 0xd0($s1) +/* 806088 80245808 00021080 */ sll $v0, $v0, 2 +/* 80608C 8024580C 00431021 */ addu $v0, $v0, $v1 +/* 806090 80245810 C4560004 */ lwc1 $f22, 4($v0) +/* 806094 80245814 4680B5A0 */ cvt.s.w $f22, $f22 +/* 806098 80245818 C454000C */ lwc1 $f20, 0xc($v0) +/* 80609C 8024581C 4680A520 */ cvt.s.w $f20, $f20 +/* 8060A0 80245820 4406B000 */ mfc1 $a2, $f22 +/* 8060A4 80245824 4407A000 */ mfc1 $a3, $f20 +/* 8060A8 80245828 0C00A720 */ jal atan2 +/* 8060AC 8024582C 00000000 */ nop +/* 8060B0 80245830 8E050018 */ lw $a1, 0x18($s0) +/* 8060B4 80245834 44060000 */ mfc1 $a2, $f0 +/* 8060B8 80245838 0200202D */ daddu $a0, $s0, $zero +/* 8060BC 8024583C 0C00EA95 */ jal npc_move_heading +/* 8060C0 80245840 AE06000C */ sw $a2, 0xc($s0) +/* 8060C4 80245844 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8060C8 80245848 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8060CC 8024584C 4406B000 */ mfc1 $a2, $f22 +/* 8060D0 80245850 4407A000 */ mfc1 $a3, $f20 +/* 8060D4 80245854 0C00A7B5 */ jal dist2D +/* 8060D8 80245858 00000000 */ nop +/* 8060DC 8024585C C6020018 */ lwc1 $f2, 0x18($s0) +/* 8060E0 80245860 4602003E */ c.le.s $f0, $f2 +/* 8060E4 80245864 00000000 */ nop +/* 8060E8 80245868 4500002F */ bc1f .L80245928 +/* 8060EC 8024586C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 8060F0 80245870 24020002 */ addiu $v0, $zero, 2 +/* 8060F4 80245874 0C00A67F */ jal rand_int +/* 8060F8 80245878 AE420070 */ sw $v0, 0x70($s2) +/* 8060FC 8024587C 3C035555 */ lui $v1, 0x5555 +/* 806100 80245880 34635556 */ ori $v1, $v1, 0x5556 +/* 806104 80245884 00430018 */ mult $v0, $v1 +/* 806108 80245888 000227C3 */ sra $a0, $v0, 0x1f +/* 80610C 8024588C 00004010 */ mfhi $t0 +/* 806110 80245890 01042023 */ subu $a0, $t0, $a0 +/* 806114 80245894 00041840 */ sll $v1, $a0, 1 +/* 806118 80245898 00641821 */ addu $v1, $v1, $a0 +/* 80611C 8024589C 00431023 */ subu $v0, $v0, $v1 +/* 806120 802458A0 24430002 */ addiu $v1, $v0, 2 +/* 806124 802458A4 AE430074 */ sw $v1, 0x74($s2) +/* 806128 802458A8 8E62002C */ lw $v0, 0x2c($s3) +/* 80612C 802458AC 18400009 */ blez $v0, .L802458D4 +/* 806130 802458B0 24020004 */ addiu $v0, $zero, 4 +/* 806134 802458B4 8E620004 */ lw $v0, 4($s3) +/* 806138 802458B8 18400006 */ blez $v0, .L802458D4 +/* 80613C 802458BC 24020004 */ addiu $v0, $zero, 4 +/* 806140 802458C0 8E620008 */ lw $v0, 8($s3) +/* 806144 802458C4 18400003 */ blez $v0, .L802458D4 +/* 806148 802458C8 24020004 */ addiu $v0, $zero, 4 +/* 80614C 802458CC 14600002 */ bnez $v1, .L802458D8 +/* 806150 802458D0 00000000 */ nop +.L802458D4: +/* 806154 802458D4 AE420070 */ sw $v0, 0x70($s2) +.L802458D8: +/* 806158 802458D8 0C00A67F */ jal rand_int +/* 80615C 802458DC 24042710 */ addiu $a0, $zero, 0x2710 +/* 806160 802458E0 3C0351EB */ lui $v1, 0x51eb +/* 806164 802458E4 3463851F */ ori $v1, $v1, 0x851f +/* 806168 802458E8 00430018 */ mult $v0, $v1 +/* 80616C 802458EC 00021FC3 */ sra $v1, $v0, 0x1f +/* 806170 802458F0 00004010 */ mfhi $t0 +/* 806174 802458F4 00082143 */ sra $a0, $t0, 5 +/* 806178 802458F8 00832023 */ subu $a0, $a0, $v1 +/* 80617C 802458FC 00041840 */ sll $v1, $a0, 1 +/* 806180 80245900 00641821 */ addu $v1, $v1, $a0 +/* 806184 80245904 000318C0 */ sll $v1, $v1, 3 +/* 806188 80245908 00641821 */ addu $v1, $v1, $a0 +/* 80618C 8024590C 00031880 */ sll $v1, $v1, 2 +/* 806190 80245910 8E640004 */ lw $a0, 4($s3) +/* 806194 80245914 00431023 */ subu $v0, $v0, $v1 +/* 806198 80245918 0044102A */ slt $v0, $v0, $a0 +/* 80619C 8024591C 10400002 */ beqz $v0, .L80245928 +/* 8061A0 80245920 24020004 */ addiu $v0, $zero, 4 +.L80245924: +/* 8061A4 80245924 AE420070 */ sw $v0, 0x70($s2) +.L80245928: +/* 8061A8 80245928 8FBF0044 */ lw $ra, 0x44($sp) +/* 8061AC 8024592C 8FB40040 */ lw $s4, 0x40($sp) +/* 8061B0 80245930 8FB3003C */ lw $s3, 0x3c($sp) +/* 8061B4 80245934 8FB20038 */ lw $s2, 0x38($sp) +/* 8061B8 80245938 8FB10034 */ lw $s1, 0x34($sp) +/* 8061BC 8024593C 8FB00030 */ lw $s0, 0x30($sp) +/* 8061C0 80245940 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 8061C4 80245944 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 8061C8 80245948 03E00008 */ jr $ra +/* 8061CC 8024594C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245950.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245950.s new file mode 100644 index 0000000000..9b0e7e4639 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245950.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245950 +/* 8061D0 80245950 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8061D4 80245954 AFB3001C */ sw $s3, 0x1c($sp) +/* 8061D8 80245958 0080982D */ daddu $s3, $a0, $zero +/* 8061DC 8024595C AFBF0020 */ sw $ra, 0x20($sp) +/* 8061E0 80245960 AFB20018 */ sw $s2, 0x18($sp) +/* 8061E4 80245964 AFB10014 */ sw $s1, 0x14($sp) +/* 8061E8 80245968 AFB00010 */ sw $s0, 0x10($sp) +/* 8061EC 8024596C 8E720148 */ lw $s2, 0x148($s3) +/* 8061F0 80245970 86440008 */ lh $a0, 8($s2) +/* 8061F4 80245974 0C00EABB */ jal get_npc_unsafe +/* 8061F8 80245978 00A0882D */ daddu $s1, $a1, $zero +/* 8061FC 8024597C 8E240008 */ lw $a0, 8($s1) +/* 806200 80245980 0040802D */ daddu $s0, $v0, $zero +/* 806204 80245984 00041FC2 */ srl $v1, $a0, 0x1f +/* 806208 80245988 00832021 */ addu $a0, $a0, $v1 +/* 80620C 8024598C 00042043 */ sra $a0, $a0, 1 +/* 806210 80245990 0C00A67F */ jal rand_int +/* 806214 80245994 24840001 */ addiu $a0, $a0, 1 +/* 806218 80245998 8E230008 */ lw $v1, 8($s1) +/* 80621C 8024599C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 806220 802459A0 00032FC2 */ srl $a1, $v1, 0x1f +/* 806224 802459A4 00651821 */ addu $v1, $v1, $a1 +/* 806228 802459A8 00031843 */ sra $v1, $v1, 1 +/* 80622C 802459AC 00621821 */ addu $v1, $v1, $v0 +/* 806230 802459B0 0C00A67F */ jal rand_int +/* 806234 802459B4 A603008E */ sh $v1, 0x8e($s0) +/* 806238 802459B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 80623C 802459BC 44820000 */ mtc1 $v0, $f0 +/* 806240 802459C0 00000000 */ nop +/* 806244 802459C4 46800020 */ cvt.s.w $f0, $f0 +/* 806248 802459C8 46006300 */ add.s $f12, $f12, $f0 +/* 80624C 802459CC 3C0142B4 */ lui $at, 0x42b4 +/* 806250 802459D0 44810000 */ mtc1 $at, $f0 +/* 806254 802459D4 0C00A6C9 */ jal clamp_angle +/* 806258 802459D8 46006301 */ sub.s $f12, $f12, $f0 +/* 80625C 802459DC E600000C */ swc1 $f0, 0xc($s0) +/* 806260 802459E0 8E4200CC */ lw $v0, 0xcc($s2) +/* 806264 802459E4 8C420000 */ lw $v0, ($v0) +/* 806268 802459E8 AE020028 */ sw $v0, 0x28($s0) +/* 80626C 802459EC 24020003 */ addiu $v0, $zero, 3 +/* 806270 802459F0 AE620070 */ sw $v0, 0x70($s3) +/* 806274 802459F4 8FBF0020 */ lw $ra, 0x20($sp) +/* 806278 802459F8 8FB3001C */ lw $s3, 0x1c($sp) +/* 80627C 802459FC 8FB20018 */ lw $s2, 0x18($sp) +/* 806280 80245A00 8FB10014 */ lw $s1, 0x14($sp) +/* 806284 80245A04 8FB00010 */ lw $s0, 0x10($sp) +/* 806288 80245A08 03E00008 */ jr $ra +/* 80628C 80245A0C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245A10.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245A10.s new file mode 100644 index 0000000000..a25cb34e66 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245A10.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245A10 +/* 806290 80245A10 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 806294 80245A14 AFB40040 */ sw $s4, 0x40($sp) +/* 806298 80245A18 0080A02D */ daddu $s4, $a0, $zero +/* 80629C 80245A1C AFBF0044 */ sw $ra, 0x44($sp) +/* 8062A0 80245A20 AFB3003C */ sw $s3, 0x3c($sp) +/* 8062A4 80245A24 AFB20038 */ sw $s2, 0x38($sp) +/* 8062A8 80245A28 AFB10034 */ sw $s1, 0x34($sp) +/* 8062AC 80245A2C AFB00030 */ sw $s0, 0x30($sp) +/* 8062B0 80245A30 8E910148 */ lw $s1, 0x148($s4) +/* 8062B4 80245A34 00A0902D */ daddu $s2, $a1, $zero +/* 8062B8 80245A38 86240008 */ lh $a0, 8($s1) +/* 8062BC 80245A3C 0C00EABB */ jal get_npc_unsafe +/* 8062C0 80245A40 00C0982D */ daddu $s3, $a2, $zero +/* 8062C4 80245A44 8E430014 */ lw $v1, 0x14($s2) +/* 8062C8 80245A48 04600031 */ bltz $v1, .L80245B10 +/* 8062CC 80245A4C 0040802D */ daddu $s0, $v0, $zero +/* 8062D0 80245A50 0260202D */ daddu $a0, $s3, $zero +/* 8062D4 80245A54 AFA00010 */ sw $zero, 0x10($sp) +/* 8062D8 80245A58 8E460024 */ lw $a2, 0x24($s2) +/* 8062DC 80245A5C 8E470028 */ lw $a3, 0x28($s2) +/* 8062E0 80245A60 0C01242D */ jal func_800490B4 +/* 8062E4 80245A64 0220282D */ daddu $a1, $s1, $zero +/* 8062E8 80245A68 10400029 */ beqz $v0, .L80245B10 +/* 8062EC 80245A6C 0000202D */ daddu $a0, $zero, $zero +/* 8062F0 80245A70 0200282D */ daddu $a1, $s0, $zero +/* 8062F4 80245A74 0000302D */ daddu $a2, $zero, $zero +/* 8062F8 80245A78 860300A8 */ lh $v1, 0xa8($s0) +/* 8062FC 80245A7C 3C013F80 */ lui $at, 0x3f80 +/* 806300 80245A80 44810000 */ mtc1 $at, $f0 +/* 806304 80245A84 3C014000 */ lui $at, 0x4000 +/* 806308 80245A88 44811000 */ mtc1 $at, $f2 +/* 80630C 80245A8C 3C01C1A0 */ lui $at, 0xc1a0 +/* 806310 80245A90 44812000 */ mtc1 $at, $f4 +/* 806314 80245A94 2402000F */ addiu $v0, $zero, 0xf +/* 806318 80245A98 AFA2001C */ sw $v0, 0x1c($sp) +/* 80631C 80245A9C 44833000 */ mtc1 $v1, $f6 +/* 806320 80245AA0 00000000 */ nop +/* 806324 80245AA4 468031A0 */ cvt.s.w $f6, $f6 +/* 806328 80245AA8 44073000 */ mfc1 $a3, $f6 +/* 80632C 80245AAC 27A20028 */ addiu $v0, $sp, 0x28 +/* 806330 80245AB0 AFA20020 */ sw $v0, 0x20($sp) +/* 806334 80245AB4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 806338 80245AB8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 80633C 80245ABC 0C01BFA4 */ jal fx_emote +/* 806340 80245AC0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 806344 80245AC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 806348 80245AC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 80634C 80245ACC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 806350 80245AD0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 806354 80245AD4 8C460028 */ lw $a2, 0x28($v0) +/* 806358 80245AD8 0C00A720 */ jal atan2 +/* 80635C 80245ADC 8C470030 */ lw $a3, 0x30($v0) +/* 806360 80245AE0 0200202D */ daddu $a0, $s0, $zero +/* 806364 80245AE4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 806368 80245AE8 3C060020 */ lui $a2, 0x20 +/* 80636C 80245AEC 0C012530 */ jal func_800494C0 +/* 806370 80245AF0 E480000C */ swc1 $f0, 0xc($a0) +/* 806374 80245AF4 8E220018 */ lw $v0, 0x18($s1) +/* 806378 80245AF8 9442002A */ lhu $v0, 0x2a($v0) +/* 80637C 80245AFC 30420001 */ andi $v0, $v0, 1 +/* 806380 80245B00 14400029 */ bnez $v0, .L80245BA8 +/* 806384 80245B04 2402000A */ addiu $v0, $zero, 0xa +/* 806388 80245B08 080916EA */ j .L80245BA8 +/* 80638C 80245B0C 2402000C */ addiu $v0, $zero, 0xc +.L80245B10: +/* 806390 80245B10 8602008C */ lh $v0, 0x8c($s0) +/* 806394 80245B14 14400025 */ bnez $v0, .L80245BAC +/* 806398 80245B18 00000000 */ nop +/* 80639C 80245B1C 9602008E */ lhu $v0, 0x8e($s0) +/* 8063A0 80245B20 2442FFFF */ addiu $v0, $v0, -1 +/* 8063A4 80245B24 A602008E */ sh $v0, 0x8e($s0) +/* 8063A8 80245B28 00021400 */ sll $v0, $v0, 0x10 +/* 8063AC 80245B2C 1440001F */ bnez $v0, .L80245BAC +/* 8063B0 80245B30 00000000 */ nop +/* 8063B4 80245B34 8E820074 */ lw $v0, 0x74($s4) +/* 8063B8 80245B38 2442FFFF */ addiu $v0, $v0, -1 +/* 8063BC 80245B3C 10400019 */ beqz $v0, .L80245BA4 +/* 8063C0 80245B40 AE820074 */ sw $v0, 0x74($s4) +/* 8063C4 80245B44 8E220018 */ lw $v0, 0x18($s1) +/* 8063C8 80245B48 9442002A */ lhu $v0, 0x2a($v0) +/* 8063CC 80245B4C 30420010 */ andi $v0, $v0, 0x10 +/* 8063D0 80245B50 14400007 */ bnez $v0, .L80245B70 +/* 8063D4 80245B54 00000000 */ nop +/* 8063D8 80245B58 C600000C */ lwc1 $f0, 0xc($s0) +/* 8063DC 80245B5C 3C014334 */ lui $at, 0x4334 +/* 8063E0 80245B60 44816000 */ mtc1 $at, $f12 +/* 8063E4 80245B64 0C00A6C9 */ jal clamp_angle +/* 8063E8 80245B68 460C0300 */ add.s $f12, $f0, $f12 +/* 8063EC 80245B6C E600000C */ swc1 $f0, 0xc($s0) +.L80245B70: +/* 8063F0 80245B70 8E440008 */ lw $a0, 8($s2) +/* 8063F4 80245B74 000417C2 */ srl $v0, $a0, 0x1f +/* 8063F8 80245B78 00822021 */ addu $a0, $a0, $v0 +/* 8063FC 80245B7C 00042043 */ sra $a0, $a0, 1 +/* 806400 80245B80 0C00A67F */ jal rand_int +/* 806404 80245B84 24840001 */ addiu $a0, $a0, 1 +/* 806408 80245B88 8E430008 */ lw $v1, 8($s2) +/* 80640C 80245B8C 000327C2 */ srl $a0, $v1, 0x1f +/* 806410 80245B90 00641821 */ addu $v1, $v1, $a0 +/* 806414 80245B94 00031843 */ sra $v1, $v1, 1 +/* 806418 80245B98 00621821 */ addu $v1, $v1, $v0 +/* 80641C 80245B9C 080916EB */ j .L80245BAC +/* 806420 80245BA0 A603008E */ sh $v1, 0x8e($s0) +.L80245BA4: +/* 806424 80245BA4 24020004 */ addiu $v0, $zero, 4 +.L80245BA8: +/* 806428 80245BA8 AE820070 */ sw $v0, 0x70($s4) +.L80245BAC: +/* 80642C 80245BAC 8FBF0044 */ lw $ra, 0x44($sp) +/* 806430 80245BB0 8FB40040 */ lw $s4, 0x40($sp) +/* 806434 80245BB4 8FB3003C */ lw $s3, 0x3c($sp) +/* 806438 80245BB8 8FB20038 */ lw $s2, 0x38($sp) +/* 80643C 80245BBC 8FB10034 */ lw $s1, 0x34($sp) +/* 806440 80245BC0 8FB00030 */ lw $s0, 0x30($sp) +/* 806444 80245BC4 03E00008 */ jr $ra +/* 806448 80245BC8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245BCC.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245BCC.s new file mode 100644 index 0000000000..4fc8fa7491 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245BCC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245BCC +/* 80644C 80245BCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 806450 80245BD0 AFB10014 */ sw $s1, 0x14($sp) +/* 806454 80245BD4 0080882D */ daddu $s1, $a0, $zero +/* 806458 80245BD8 AFBF001C */ sw $ra, 0x1c($sp) +/* 80645C 80245BDC AFB20018 */ sw $s2, 0x18($sp) +/* 806460 80245BE0 AFB00010 */ sw $s0, 0x10($sp) +/* 806464 80245BE4 8E300148 */ lw $s0, 0x148($s1) +/* 806468 80245BE8 86040008 */ lh $a0, 8($s0) +/* 80646C 80245BEC 0C00EABB */ jal get_npc_unsafe +/* 806470 80245BF0 00A0902D */ daddu $s2, $a1, $zero +/* 806474 80245BF4 8E230078 */ lw $v1, 0x78($s1) +/* 806478 80245BF8 24630001 */ addiu $v1, $v1, 1 +/* 80647C 80245BFC AE230078 */ sw $v1, 0x78($s1) +/* 806480 80245C00 8E0400D0 */ lw $a0, 0xd0($s0) +/* 806484 80245C04 8C840000 */ lw $a0, ($a0) +/* 806488 80245C08 0064182A */ slt $v1, $v1, $a0 +/* 80648C 80245C0C 14600002 */ bnez $v1, .L80245C18 +/* 806490 80245C10 0040282D */ daddu $a1, $v0, $zero +/* 806494 80245C14 AE200078 */ sw $zero, 0x78($s1) +.L80245C18: +/* 806498 80245C18 8E0200CC */ lw $v0, 0xcc($s0) +/* 80649C 80245C1C 8C420004 */ lw $v0, 4($v0) +/* 8064A0 80245C20 ACA20028 */ sw $v0, 0x28($a1) +/* 8064A4 80245C24 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8064A8 80245C28 8C42007C */ lw $v0, 0x7c($v0) +/* 8064AC 80245C2C 04410004 */ bgez $v0, .L80245C40 +/* 8064B0 80245C30 00000000 */ nop +/* 8064B4 80245C34 C6400000 */ lwc1 $f0, ($s2) +/* 8064B8 80245C38 08091718 */ j .L80245C60 +/* 8064BC 80245C3C E4A00018 */ swc1 $f0, 0x18($a1) +.L80245C40: +/* 8064C0 80245C40 3C018026 */ lui $at, 0x8026 +/* 8064C4 80245C44 D4222898 */ ldc1 $f2, 0x2898($at) +/* 8064C8 80245C48 44820000 */ mtc1 $v0, $f0 +/* 8064CC 80245C4C 00000000 */ nop +/* 8064D0 80245C50 46800021 */ cvt.d.w $f0, $f0 +/* 8064D4 80245C54 46220003 */ div.d $f0, $f0, $f2 +/* 8064D8 80245C58 46200020 */ cvt.s.d $f0, $f0 +/* 8064DC 80245C5C E4A00018 */ swc1 $f0, 0x18($a1) +.L80245C60: +/* 8064E0 80245C60 24020001 */ addiu $v0, $zero, 1 +/* 8064E4 80245C64 AE220070 */ sw $v0, 0x70($s1) +/* 8064E8 80245C68 8FBF001C */ lw $ra, 0x1c($sp) +/* 8064EC 80245C6C 8FB20018 */ lw $s2, 0x18($sp) +/* 8064F0 80245C70 8FB10014 */ lw $s1, 0x14($sp) +/* 8064F4 80245C74 8FB00010 */ lw $s0, 0x10($sp) +/* 8064F8 80245C78 03E00008 */ jr $ra +/* 8064FC 80245C7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245C80.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245C80.s new file mode 100644 index 0000000000..9bfa1eda5c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245C80.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245C80 +/* 806500 80245C80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 806504 80245C84 AFB10014 */ sw $s1, 0x14($sp) +/* 806508 80245C88 0080882D */ daddu $s1, $a0, $zero +/* 80650C 80245C8C AFBF0018 */ sw $ra, 0x18($sp) +/* 806510 80245C90 AFB00010 */ sw $s0, 0x10($sp) +/* 806514 80245C94 8E300148 */ lw $s0, 0x148($s1) +/* 806518 80245C98 0C00EABB */ jal get_npc_unsafe +/* 80651C 80245C9C 86040008 */ lh $a0, 8($s0) +/* 806520 80245CA0 8E0300CC */ lw $v1, 0xcc($s0) +/* 806524 80245CA4 3C014120 */ lui $at, 0x4120 +/* 806528 80245CA8 44812000 */ mtc1 $at, $f4 +/* 80652C 80245CAC 3C014000 */ lui $at, 0x4000 +/* 806530 80245CB0 44810000 */ mtc1 $at, $f0 +/* 806534 80245CB4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 806538 80245CB8 8C640010 */ lw $a0, 0x10($v1) +/* 80653C 80245CBC 8C430000 */ lw $v1, ($v0) +/* 806540 80245CC0 E444001C */ swc1 $f4, 0x1c($v0) +/* 806544 80245CC4 E4400014 */ swc1 $f0, 0x14($v0) +/* 806548 80245CC8 E4420064 */ swc1 $f2, 0x64($v0) +/* 80654C 80245CCC 34630800 */ ori $v1, $v1, 0x800 +/* 806550 80245CD0 AC430000 */ sw $v1, ($v0) +/* 806554 80245CD4 AC440028 */ sw $a0, 0x28($v0) +/* 806558 80245CD8 2402000B */ addiu $v0, $zero, 0xb +/* 80655C 80245CDC AE220070 */ sw $v0, 0x70($s1) +/* 806560 80245CE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 806564 80245CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 806568 80245CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 80656C 80245CEC 03E00008 */ jr $ra +/* 806570 80245CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245CF4.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245CF4.s new file mode 100644 index 0000000000..d4614faa65 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245CF4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245CF4 +/* 806574 80245CF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 806578 80245CF8 AFB00010 */ sw $s0, 0x10($sp) +/* 80657C 80245CFC 0080802D */ daddu $s0, $a0, $zero +/* 806580 80245D00 AFBF0014 */ sw $ra, 0x14($sp) +/* 806584 80245D04 8E020148 */ lw $v0, 0x148($s0) +/* 806588 80245D08 0C00EABB */ jal get_npc_unsafe +/* 80658C 80245D0C 84440008 */ lh $a0, 8($v0) +/* 806590 80245D10 0040202D */ daddu $a0, $v0, $zero +/* 806594 80245D14 C482003C */ lwc1 $f2, 0x3c($a0) +/* 806598 80245D18 C480001C */ lwc1 $f0, 0x1c($a0) +/* 80659C 80245D1C 46001080 */ add.s $f2, $f2, $f0 +/* 8065A0 80245D20 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8065A4 80245D24 46040001 */ sub.s $f0, $f0, $f4 +/* 8065A8 80245D28 C4840064 */ lwc1 $f4, 0x64($a0) +/* 8065AC 80245D2C 4602203C */ c.lt.s $f4, $f2 +/* 8065B0 80245D30 E482003C */ swc1 $f2, 0x3c($a0) +/* 8065B4 80245D34 45010009 */ bc1t .L80245D5C +/* 8065B8 80245D38 E480001C */ swc1 $f0, 0x1c($a0) +/* 8065BC 80245D3C 8C820000 */ lw $v0, ($a0) +/* 8065C0 80245D40 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8065C4 80245D44 E484003C */ swc1 $f4, 0x3c($a0) +/* 8065C8 80245D48 AC80001C */ sw $zero, 0x1c($a0) +/* 8065CC 80245D4C 00431024 */ and $v0, $v0, $v1 +/* 8065D0 80245D50 AC820000 */ sw $v0, ($a0) +/* 8065D4 80245D54 2402000C */ addiu $v0, $zero, 0xc +/* 8065D8 80245D58 AE020070 */ sw $v0, 0x70($s0) +.L80245D5C: +/* 8065DC 80245D5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8065E0 80245D60 8FB00010 */ lw $s0, 0x10($sp) +/* 8065E4 80245D64 03E00008 */ jr $ra +/* 8065E8 80245D68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245D6C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245D6C.s new file mode 100644 index 0000000000..eead033281 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245D6C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245D6C +/* 8065EC 80245D6C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8065F0 80245D70 AFB3001C */ sw $s3, 0x1c($sp) +/* 8065F4 80245D74 0080982D */ daddu $s3, $a0, $zero +/* 8065F8 80245D78 AFBF0020 */ sw $ra, 0x20($sp) +/* 8065FC 80245D7C AFB20018 */ sw $s2, 0x18($sp) +/* 806600 80245D80 AFB10014 */ sw $s1, 0x14($sp) +/* 806604 80245D84 AFB00010 */ sw $s0, 0x10($sp) +/* 806608 80245D88 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 80660C 80245D8C 8E710148 */ lw $s1, 0x148($s3) +/* 806610 80245D90 86240008 */ lh $a0, 8($s1) +/* 806614 80245D94 0C00EABB */ jal get_npc_unsafe +/* 806618 80245D98 00A0802D */ daddu $s0, $a1, $zero +/* 80661C 80245D9C 8E040020 */ lw $a0, 0x20($s0) +/* 806620 80245DA0 0040902D */ daddu $s2, $v0, $zero +/* 806624 80245DA4 00041FC2 */ srl $v1, $a0, 0x1f +/* 806628 80245DA8 00832021 */ addu $a0, $a0, $v1 +/* 80662C 80245DAC 00042043 */ sra $a0, $a0, 1 +/* 806630 80245DB0 0C00A67F */ jal rand_int +/* 806634 80245DB4 24840001 */ addiu $a0, $a0, 1 +/* 806638 80245DB8 8E030020 */ lw $v1, 0x20($s0) +/* 80663C 80245DBC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 806640 80245DC0 000327C2 */ srl $a0, $v1, 0x1f +/* 806644 80245DC4 00641821 */ addu $v1, $v1, $a0 +/* 806648 80245DC8 00031843 */ sra $v1, $v1, 1 +/* 80664C 80245DCC 00621821 */ addu $v1, $v1, $v0 +/* 806650 80245DD0 A643008E */ sh $v1, 0x8e($s2) +/* 806654 80245DD4 8E2200CC */ lw $v0, 0xcc($s1) +/* 806658 80245DD8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 80665C 80245DDC 8C42000C */ lw $v0, 0xc($v0) +/* 806660 80245DE0 AE420028 */ sw $v0, 0x28($s2) +/* 806664 80245DE4 C6000018 */ lwc1 $f0, 0x18($s0) +/* 806668 80245DE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 80666C 80245DEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 806670 80245DF0 E6400018 */ swc1 $f0, 0x18($s2) +/* 806674 80245DF4 8C460028 */ lw $a2, 0x28($v0) +/* 806678 80245DF8 0C00A720 */ jal atan2 +/* 80667C 80245DFC 8C470030 */ lw $a3, 0x30($v0) +/* 806680 80245E00 46000506 */ mov.s $f20, $f0 +/* 806684 80245E04 C64C000C */ lwc1 $f12, 0xc($s2) +/* 806688 80245E08 0C00A70A */ jal get_clamped_angle_diff +/* 80668C 80245E0C 4600A386 */ mov.s $f14, $f20 +/* 806690 80245E10 46000086 */ mov.s $f2, $f0 +/* 806694 80245E14 8E02001C */ lw $v0, 0x1c($s0) +/* 806698 80245E18 46001005 */ abs.s $f0, $f2 +/* 80669C 80245E1C 44822000 */ mtc1 $v0, $f4 +/* 8066A0 80245E20 00000000 */ nop +/* 8066A4 80245E24 46802120 */ cvt.s.w $f4, $f4 +/* 8066A8 80245E28 4600203C */ c.lt.s $f4, $f0 +/* 8066AC 80245E2C 00000000 */ nop +/* 8066B0 80245E30 4500000D */ bc1f .L80245E68 +/* 8066B4 80245E34 00000000 */ nop +/* 8066B8 80245E38 44800000 */ mtc1 $zero, $f0 +/* 8066BC 80245E3C C654000C */ lwc1 $f20, 0xc($s2) +/* 8066C0 80245E40 4600103C */ c.lt.s $f2, $f0 +/* 8066C4 80245E44 00000000 */ nop +/* 8066C8 80245E48 45000006 */ bc1f .L80245E64 +/* 8066CC 80245E4C 00021023 */ negu $v0, $v0 +/* 8066D0 80245E50 44820000 */ mtc1 $v0, $f0 +/* 8066D4 80245E54 00000000 */ nop +/* 8066D8 80245E58 46800020 */ cvt.s.w $f0, $f0 +/* 8066DC 80245E5C 0809179A */ j .L80245E68 +/* 8066E0 80245E60 4600A500 */ add.s $f20, $f20, $f0 +.L80245E64: +/* 8066E4 80245E64 4604A500 */ add.s $f20, $f20, $f4 +.L80245E68: +/* 8066E8 80245E68 0C00A6C9 */ jal clamp_angle +/* 8066EC 80245E6C 4600A306 */ mov.s $f12, $f20 +/* 8066F0 80245E70 2402000D */ addiu $v0, $zero, 0xd +/* 8066F4 80245E74 E640000C */ swc1 $f0, 0xc($s2) +/* 8066F8 80245E78 AE620070 */ sw $v0, 0x70($s3) +/* 8066FC 80245E7C 8FBF0020 */ lw $ra, 0x20($sp) +/* 806700 80245E80 8FB3001C */ lw $s3, 0x1c($sp) +/* 806704 80245E84 8FB20018 */ lw $s2, 0x18($sp) +/* 806708 80245E88 8FB10014 */ lw $s1, 0x14($sp) +/* 80670C 80245E8C 8FB00010 */ lw $s0, 0x10($sp) +/* 806710 80245E90 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 806714 80245E94 03E00008 */ jr $ra +/* 806718 80245E98 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245E9C.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245E9C.s new file mode 100644 index 0000000000..cfaabc2763 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245E9C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245E9C +/* 80671C 80245E9C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 806720 80245EA0 AFB3003C */ sw $s3, 0x3c($sp) +/* 806724 80245EA4 0080982D */ daddu $s3, $a0, $zero +/* 806728 80245EA8 AFBF0040 */ sw $ra, 0x40($sp) +/* 80672C 80245EAC AFB20038 */ sw $s2, 0x38($sp) +/* 806730 80245EB0 AFB10034 */ sw $s1, 0x34($sp) +/* 806734 80245EB4 AFB00030 */ sw $s0, 0x30($sp) +/* 806738 80245EB8 8E720148 */ lw $s2, 0x148($s3) +/* 80673C 80245EBC 00A0882D */ daddu $s1, $a1, $zero +/* 806740 80245EC0 86440008 */ lh $a0, 8($s2) +/* 806744 80245EC4 0C00EABB */ jal get_npc_unsafe +/* 806748 80245EC8 00C0802D */ daddu $s0, $a2, $zero +/* 80674C 80245ECC 0200202D */ daddu $a0, $s0, $zero +/* 806750 80245ED0 0240282D */ daddu $a1, $s2, $zero +/* 806754 80245ED4 24030001 */ addiu $v1, $zero, 1 +/* 806758 80245ED8 AFA30010 */ sw $v1, 0x10($sp) +/* 80675C 80245EDC 8E260024 */ lw $a2, 0x24($s1) +/* 806760 80245EE0 8E270028 */ lw $a3, 0x28($s1) +/* 806764 80245EE4 0C01242D */ jal func_800490B4 +/* 806768 80245EE8 0040802D */ daddu $s0, $v0, $zero +/* 80676C 80245EEC 1440001E */ bnez $v0, .L80245F68 +/* 806770 80245EF0 0200202D */ daddu $a0, $s0, $zero +/* 806774 80245EF4 24040002 */ addiu $a0, $zero, 2 +/* 806778 80245EF8 0200282D */ daddu $a1, $s0, $zero +/* 80677C 80245EFC 0000302D */ daddu $a2, $zero, $zero +/* 806780 80245F00 860300A8 */ lh $v1, 0xa8($s0) +/* 806784 80245F04 3C013F80 */ lui $at, 0x3f80 +/* 806788 80245F08 44810000 */ mtc1 $at, $f0 +/* 80678C 80245F0C 3C014000 */ lui $at, 0x4000 +/* 806790 80245F10 44811000 */ mtc1 $at, $f2 +/* 806794 80245F14 3C01C1A0 */ lui $at, 0xc1a0 +/* 806798 80245F18 44812000 */ mtc1 $at, $f4 +/* 80679C 80245F1C 2402000F */ addiu $v0, $zero, 0xf +/* 8067A0 80245F20 AFA2001C */ sw $v0, 0x1c($sp) +/* 8067A4 80245F24 44833000 */ mtc1 $v1, $f6 +/* 8067A8 80245F28 00000000 */ nop +/* 8067AC 80245F2C 468031A0 */ cvt.s.w $f6, $f6 +/* 8067B0 80245F30 44073000 */ mfc1 $a3, $f6 +/* 8067B4 80245F34 27A20028 */ addiu $v0, $sp, 0x28 +/* 8067B8 80245F38 AFA20020 */ sw $v0, 0x20($sp) +/* 8067BC 80245F3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8067C0 80245F40 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8067C4 80245F44 0C01BFA4 */ jal fx_emote +/* 8067C8 80245F48 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8067CC 80245F4C 8E4200CC */ lw $v0, 0xcc($s2) +/* 8067D0 80245F50 8C430000 */ lw $v1, ($v0) +/* 8067D4 80245F54 24020019 */ addiu $v0, $zero, 0x19 +/* 8067D8 80245F58 A602008E */ sh $v0, 0x8e($s0) +/* 8067DC 80245F5C 2402000E */ addiu $v0, $zero, 0xe +/* 8067E0 80245F60 080917E7 */ j .L80245F9C +/* 8067E4 80245F64 AE030028 */ sw $v1, 0x28($s0) +.L80245F68: +/* 8067E8 80245F68 0C00F598 */ jal func_8003D660 +/* 8067EC 80245F6C 24050001 */ addiu $a1, $zero, 1 +/* 8067F0 80245F70 8E050018 */ lw $a1, 0x18($s0) +/* 8067F4 80245F74 8E06000C */ lw $a2, 0xc($s0) +/* 8067F8 80245F78 0C00EA95 */ jal npc_move_heading +/* 8067FC 80245F7C 0200202D */ daddu $a0, $s0, $zero +/* 806800 80245F80 8602008E */ lh $v0, 0x8e($s0) +/* 806804 80245F84 9603008E */ lhu $v1, 0x8e($s0) +/* 806808 80245F88 18400003 */ blez $v0, .L80245F98 +/* 80680C 80245F8C 2462FFFF */ addiu $v0, $v1, -1 +/* 806810 80245F90 080917E8 */ j .L80245FA0 +/* 806814 80245F94 A602008E */ sh $v0, 0x8e($s0) +.L80245F98: +/* 806818 80245F98 2402000C */ addiu $v0, $zero, 0xc +.L80245F9C: +/* 80681C 80245F9C AE620070 */ sw $v0, 0x70($s3) +.L80245FA0: +/* 806820 80245FA0 8FBF0040 */ lw $ra, 0x40($sp) +/* 806824 80245FA4 8FB3003C */ lw $s3, 0x3c($sp) +/* 806828 80245FA8 8FB20038 */ lw $s2, 0x38($sp) +/* 80682C 80245FAC 8FB10034 */ lw $s1, 0x34($sp) +/* 806830 80245FB0 8FB00030 */ lw $s0, 0x30($sp) +/* 806834 80245FB4 03E00008 */ jr $ra +/* 806838 80245FB8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80245FBC.s b/asm/nonmatchings/world/area_mac/mac_01/func_80245FBC.s new file mode 100644 index 0000000000..39dd38cfee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80245FBC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80245FBC +/* 80683C 80245FBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 806840 80245FC0 AFB10014 */ sw $s1, 0x14($sp) +/* 806844 80245FC4 0080882D */ daddu $s1, $a0, $zero +/* 806848 80245FC8 AFBF0018 */ sw $ra, 0x18($sp) +/* 80684C 80245FCC AFB00010 */ sw $s0, 0x10($sp) +/* 806850 80245FD0 8E300148 */ lw $s0, 0x148($s1) +/* 806854 80245FD4 0C00EABB */ jal get_npc_unsafe +/* 806858 80245FD8 86040008 */ lh $a0, 8($s0) +/* 80685C 80245FDC 9443008E */ lhu $v1, 0x8e($v0) +/* 806860 80245FE0 2463FFFF */ addiu $v1, $v1, -1 +/* 806864 80245FE4 A443008E */ sh $v1, 0x8e($v0) +/* 806868 80245FE8 00031C00 */ sll $v1, $v1, 0x10 +/* 80686C 80245FEC 14600008 */ bnez $v1, .L80246010 +/* 806870 80245FF0 00000000 */ nop +/* 806874 80245FF4 8E0200B0 */ lw $v0, 0xb0($s0) +/* 806878 80245FF8 30420080 */ andi $v0, $v0, 0x80 +/* 80687C 80245FFC 10400003 */ beqz $v0, .L8024600C +/* 806880 80246000 2402000F */ addiu $v0, $zero, 0xf +/* 806884 80246004 08091804 */ j .L80246010 +/* 806888 80246008 AE220070 */ sw $v0, 0x70($s1) +.L8024600C: +/* 80688C 8024600C AE200070 */ sw $zero, 0x70($s1) +.L80246010: +/* 806890 80246010 8FBF0018 */ lw $ra, 0x18($sp) +/* 806894 80246014 8FB10014 */ lw $s1, 0x14($sp) +/* 806898 80246018 8FB00010 */ lw $s0, 0x10($sp) +/* 80689C 8024601C 03E00008 */ jr $ra +/* 8068A0 80246020 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80246024.s b/asm/nonmatchings/world/area_mac/mac_01/func_80246024.s new file mode 100644 index 0000000000..96987d4e97 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80246024.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80246024 +/* 8068A4 80246024 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8068A8 80246028 AFB10014 */ sw $s1, 0x14($sp) +/* 8068AC 8024602C 0080882D */ daddu $s1, $a0, $zero +/* 8068B0 80246030 AFBF001C */ sw $ra, 0x1c($sp) +/* 8068B4 80246034 AFB20018 */ sw $s2, 0x18($sp) +/* 8068B8 80246038 AFB00010 */ sw $s0, 0x10($sp) +/* 8068BC 8024603C 8E300148 */ lw $s0, 0x148($s1) +/* 8068C0 80246040 86040008 */ lh $a0, 8($s0) +/* 8068C4 80246044 0C00EABB */ jal get_npc_unsafe +/* 8068C8 80246048 00A0902D */ daddu $s2, $a1, $zero +/* 8068CC 8024604C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 8068D0 80246050 8E240078 */ lw $a0, 0x78($s1) +/* 8068D4 80246054 8C630000 */ lw $v1, ($v1) +/* 8068D8 80246058 0083182A */ slt $v1, $a0, $v1 +/* 8068DC 8024605C 10600013 */ beqz $v1, .L802460AC +/* 8068E0 80246060 0040302D */ daddu $a2, $v0, $zero +/* 8068E4 80246064 00041040 */ sll $v0, $a0, 1 +/* 8068E8 80246068 00441021 */ addu $v0, $v0, $a0 +/* 8068EC 8024606C 00022880 */ sll $a1, $v0, 2 +.L80246070: +/* 8068F0 80246070 8E0300D0 */ lw $v1, 0xd0($s0) +/* 8068F4 80246074 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 8068F8 80246078 00A31021 */ addu $v0, $a1, $v1 +/* 8068FC 8024607C C4400008 */ lwc1 $f0, 8($v0) +/* 806900 80246080 46800020 */ cvt.s.w $f0, $f0 +/* 806904 80246084 4602003E */ c.le.s $f0, $f2 +/* 806908 80246088 00000000 */ nop +/* 80690C 8024608C 45020003 */ bc1fl .L8024609C +/* 806910 80246090 24840001 */ addiu $a0, $a0, 1 +/* 806914 80246094 0809182B */ j .L802460AC +/* 806918 80246098 AE240078 */ sw $a0, 0x78($s1) +.L8024609C: +/* 80691C 8024609C 8C620000 */ lw $v0, ($v1) +/* 806920 802460A0 0082102A */ slt $v0, $a0, $v0 +/* 806924 802460A4 1440FFF2 */ bnez $v0, .L80246070 +/* 806928 802460A8 24A5000C */ addiu $a1, $a1, 0xc +.L802460AC: +/* 80692C 802460AC C6400000 */ lwc1 $f0, ($s2) +/* 806930 802460B0 E4C00018 */ swc1 $f0, 0x18($a2) +/* 806934 802460B4 8E0200CC */ lw $v0, 0xcc($s0) +/* 806938 802460B8 8C420004 */ lw $v0, 4($v0) +/* 80693C 802460BC ACC20028 */ sw $v0, 0x28($a2) +/* 806940 802460C0 24020001 */ addiu $v0, $zero, 1 +/* 806944 802460C4 AE200074 */ sw $zero, 0x74($s1) +/* 806948 802460C8 AE220070 */ sw $v0, 0x70($s1) +/* 80694C 802460CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 806950 802460D0 8FB20018 */ lw $s2, 0x18($sp) +/* 806954 802460D4 8FB10014 */ lw $s1, 0x14($sp) +/* 806958 802460D8 8FB00010 */ lw $s0, 0x10($sp) +/* 80695C 802460DC 03E00008 */ jr $ra +/* 806960 802460E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802460E4.s b/asm/nonmatchings/world/area_mac/mac_01/func_802460E4.s new file mode 100644 index 0000000000..a252116bc1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802460E4.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802460E4 +/* 806964 802460E4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 806968 802460E8 AFB40058 */ sw $s4, 0x58($sp) +/* 80696C 802460EC 0080A02D */ daddu $s4, $a0, $zero +/* 806970 802460F0 AFBF0060 */ sw $ra, 0x60($sp) +/* 806974 802460F4 AFB5005C */ sw $s5, 0x5c($sp) +/* 806978 802460F8 AFB30054 */ sw $s3, 0x54($sp) +/* 80697C 802460FC AFB20050 */ sw $s2, 0x50($sp) +/* 806980 80246100 AFB1004C */ sw $s1, 0x4c($sp) +/* 806984 80246104 AFB00048 */ sw $s0, 0x48($sp) +/* 806988 80246108 8E910148 */ lw $s1, 0x148($s4) +/* 80698C 8024610C 86240008 */ lh $a0, 8($s1) +/* 806990 80246110 0C00EABB */ jal get_npc_unsafe +/* 806994 80246114 00A0802D */ daddu $s0, $a1, $zero +/* 806998 80246118 8E83000C */ lw $v1, 0xc($s4) +/* 80699C 8024611C 0280202D */ daddu $a0, $s4, $zero +/* 8069A0 80246120 8C650000 */ lw $a1, ($v1) +/* 8069A4 80246124 0C0B1EAF */ jal get_variable +/* 8069A8 80246128 0040902D */ daddu $s2, $v0, $zero +/* 8069AC 8024612C AFA00018 */ sw $zero, 0x18($sp) +/* 8069B0 80246130 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8069B4 80246134 8C630094 */ lw $v1, 0x94($v1) +/* 8069B8 80246138 AFA3001C */ sw $v1, 0x1c($sp) +/* 8069BC 8024613C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8069C0 80246140 8C630080 */ lw $v1, 0x80($v1) +/* 8069C4 80246144 AFA30020 */ sw $v1, 0x20($sp) +/* 8069C8 80246148 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8069CC 8024614C 8C630088 */ lw $v1, 0x88($v1) +/* 8069D0 80246150 AFA30024 */ sw $v1, 0x24($sp) +/* 8069D4 80246154 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8069D8 80246158 8C63008C */ lw $v1, 0x8c($v1) +/* 8069DC 8024615C 27B50018 */ addiu $s5, $sp, 0x18 +/* 8069E0 80246160 AFA30028 */ sw $v1, 0x28($sp) +/* 8069E4 80246164 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8069E8 80246168 3C014282 */ lui $at, 0x4282 +/* 8069EC 8024616C 44810000 */ mtc1 $at, $f0 +/* 8069F0 80246170 8C630090 */ lw $v1, 0x90($v1) +/* 8069F4 80246174 0040982D */ daddu $s3, $v0, $zero +/* 8069F8 80246178 E7A00030 */ swc1 $f0, 0x30($sp) +/* 8069FC 8024617C A7A00034 */ sh $zero, 0x34($sp) +/* 806A00 80246180 16000005 */ bnez $s0, .L80246198 +/* 806A04 80246184 AFA3002C */ sw $v1, 0x2c($sp) +/* 806A08 80246188 8E2200B0 */ lw $v0, 0xb0($s1) +/* 806A0C 8024618C 30420004 */ andi $v0, $v0, 4 +/* 806A10 80246190 10400044 */ beqz $v0, .L802462A4 +/* 806A14 80246194 00000000 */ nop +.L80246198: +/* 806A18 80246198 2404F7FF */ addiu $a0, $zero, -0x801 +/* 806A1C 8024619C AE800070 */ sw $zero, 0x70($s4) +/* 806A20 802461A0 A640008E */ sh $zero, 0x8e($s2) +/* 806A24 802461A4 8E2200CC */ lw $v0, 0xcc($s1) +/* 806A28 802461A8 8E430000 */ lw $v1, ($s2) +/* 806A2C 802461AC 8C420000 */ lw $v0, ($v0) +/* 806A30 802461B0 00641824 */ and $v1, $v1, $a0 +/* 806A34 802461B4 AE430000 */ sw $v1, ($s2) +/* 806A38 802461B8 AE420028 */ sw $v0, 0x28($s2) +/* 806A3C 802461BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 806A40 802461C0 8C420098 */ lw $v0, 0x98($v0) +/* 806A44 802461C4 54400005 */ bnel $v0, $zero, .L802461DC +/* 806A48 802461C8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 806A4C 802461CC 34620200 */ ori $v0, $v1, 0x200 +/* 806A50 802461D0 2403FFF7 */ addiu $v1, $zero, -9 +/* 806A54 802461D4 08091879 */ j .L802461E4 +/* 806A58 802461D8 00431024 */ and $v0, $v0, $v1 +.L802461DC: +/* 806A5C 802461DC 00621024 */ and $v0, $v1, $v0 +/* 806A60 802461E0 34420008 */ ori $v0, $v0, 8 +.L802461E4: +/* 806A64 802461E4 AE420000 */ sw $v0, ($s2) +/* 806A68 802461E8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 806A6C 802461EC 30420004 */ andi $v0, $v0, 4 +/* 806A70 802461F0 10400008 */ beqz $v0, .L80246214 +/* 806A74 802461F4 24020063 */ addiu $v0, $zero, 0x63 +/* 806A78 802461F8 AE820070 */ sw $v0, 0x70($s4) +/* 806A7C 802461FC AE800074 */ sw $zero, 0x74($s4) +/* 806A80 80246200 8E2200B0 */ lw $v0, 0xb0($s1) +/* 806A84 80246204 2403FFFB */ addiu $v1, $zero, -5 +/* 806A88 80246208 00431024 */ and $v0, $v0, $v1 +/* 806A8C 8024620C 08091890 */ j .L80246240 +/* 806A90 80246210 AE2200B0 */ sw $v0, 0xb0($s1) +.L80246214: +/* 806A94 80246214 8E220000 */ lw $v0, ($s1) +/* 806A98 80246218 3C034000 */ lui $v1, 0x4000 +/* 806A9C 8024621C 00431024 */ and $v0, $v0, $v1 +/* 806AA0 80246220 10400007 */ beqz $v0, .L80246240 +/* 806AA4 80246224 3C03BFFF */ lui $v1, 0xbfff +/* 806AA8 80246228 2402000C */ addiu $v0, $zero, 0xc +/* 806AAC 8024622C AE820070 */ sw $v0, 0x70($s4) +/* 806AB0 80246230 8E220000 */ lw $v0, ($s1) +/* 806AB4 80246234 3463FFFF */ ori $v1, $v1, 0xffff +/* 806AB8 80246238 00431024 */ and $v0, $v0, $v1 +/* 806ABC 8024623C AE220000 */ sw $v0, ($s1) +.L80246240: +/* 806AC0 80246240 27A50038 */ addiu $a1, $sp, 0x38 +/* 806AC4 80246244 27A6003C */ addiu $a2, $sp, 0x3c +/* 806AC8 80246248 C6400038 */ lwc1 $f0, 0x38($s2) +/* 806ACC 8024624C 864200A8 */ lh $v0, 0xa8($s2) +/* 806AD0 80246250 3C0142C8 */ lui $at, 0x42c8 +/* 806AD4 80246254 44812000 */ mtc1 $at, $f4 +/* 806AD8 80246258 44823000 */ mtc1 $v0, $f6 +/* 806ADC 8024625C 00000000 */ nop +/* 806AE0 80246260 468031A0 */ cvt.s.w $f6, $f6 +/* 806AE4 80246264 27A20044 */ addiu $v0, $sp, 0x44 +/* 806AE8 80246268 E7A00038 */ swc1 $f0, 0x38($sp) +/* 806AEC 8024626C C640003C */ lwc1 $f0, 0x3c($s2) +/* 806AF0 80246270 C6420040 */ lwc1 $f2, 0x40($s2) +/* 806AF4 80246274 46060000 */ add.s $f0, $f0, $f6 +/* 806AF8 80246278 E7A40044 */ swc1 $f4, 0x44($sp) +/* 806AFC 8024627C E7A20040 */ swc1 $f2, 0x40($sp) +/* 806B00 80246280 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 806B04 80246284 AFA20010 */ sw $v0, 0x10($sp) +/* 806B08 80246288 8E440080 */ lw $a0, 0x80($s2) +/* 806B0C 8024628C 0C0372DF */ jal func_800DCB7C +/* 806B10 80246290 27A70040 */ addiu $a3, $sp, 0x40 +/* 806B14 80246294 10400003 */ beqz $v0, .L802462A4 +/* 806B18 80246298 00000000 */ nop +/* 806B1C 8024629C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 806B20 802462A0 E640003C */ swc1 $f0, 0x3c($s2) +.L802462A4: +/* 806B24 802462A4 8E830070 */ lw $v1, 0x70($s4) +/* 806B28 802462A8 2C620064 */ sltiu $v0, $v1, 0x64 +/* 806B2C 802462AC 10400042 */ beqz $v0, .L802463B8 +/* 806B30 802462B0 00031080 */ sll $v0, $v1, 2 +/* 806B34 802462B4 3C018026 */ lui $at, 0x8026 +/* 806B38 802462B8 00220821 */ addu $at, $at, $v0 +/* 806B3C 802462BC 8C2228A0 */ lw $v0, 0x28a0($at) +/* 806B40 802462C0 00400008 */ jr $v0 +/* 806B44 802462C4 00000000 */ nop +/* 806B48 802462C8 0280202D */ daddu $a0, $s4, $zero +/* 806B4C 802462CC 0260282D */ daddu $a1, $s3, $zero +/* 806B50 802462D0 0C091554 */ jal func_80245550 +/* 806B54 802462D4 02A0302D */ daddu $a2, $s5, $zero +/* 806B58 802462D8 0280202D */ daddu $a0, $s4, $zero +/* 806B5C 802462DC 0260282D */ daddu $a1, $s3, $zero +/* 806B60 802462E0 0C0915AA */ jal func_802456A8 +/* 806B64 802462E4 02A0302D */ daddu $a2, $s5, $zero +/* 806B68 802462E8 080918EE */ j .L802463B8 +/* 806B6C 802462EC 00000000 */ nop +/* 806B70 802462F0 0280202D */ daddu $a0, $s4, $zero +/* 806B74 802462F4 0260282D */ daddu $a1, $s3, $zero +/* 806B78 802462F8 0C091654 */ jal func_80245950 +/* 806B7C 802462FC 02A0302D */ daddu $a2, $s5, $zero +/* 806B80 80246300 0280202D */ daddu $a0, $s4, $zero +/* 806B84 80246304 0260282D */ daddu $a1, $s3, $zero +/* 806B88 80246308 0C091684 */ jal func_80245A10 +/* 806B8C 8024630C 02A0302D */ daddu $a2, $s5, $zero +/* 806B90 80246310 080918EE */ j .L802463B8 +/* 806B94 80246314 00000000 */ nop +/* 806B98 80246318 0280202D */ daddu $a0, $s4, $zero +/* 806B9C 8024631C 0260282D */ daddu $a1, $s3, $zero +/* 806BA0 80246320 0C0916F3 */ jal func_80245BCC +/* 806BA4 80246324 02A0302D */ daddu $a2, $s5, $zero +/* 806BA8 80246328 080918EE */ j .L802463B8 +/* 806BAC 8024632C 00000000 */ nop +/* 806BB0 80246330 0280202D */ daddu $a0, $s4, $zero +/* 806BB4 80246334 0260282D */ daddu $a1, $s3, $zero +/* 806BB8 80246338 0C091720 */ jal func_80245C80 +/* 806BBC 8024633C 02A0302D */ daddu $a2, $s5, $zero +/* 806BC0 80246340 0280202D */ daddu $a0, $s4, $zero +/* 806BC4 80246344 0260282D */ daddu $a1, $s3, $zero +/* 806BC8 80246348 0C09173D */ jal func_80245CF4 +/* 806BCC 8024634C 02A0302D */ daddu $a2, $s5, $zero +/* 806BD0 80246350 080918EE */ j .L802463B8 +/* 806BD4 80246354 00000000 */ nop +/* 806BD8 80246358 0280202D */ daddu $a0, $s4, $zero +/* 806BDC 8024635C 0260282D */ daddu $a1, $s3, $zero +/* 806BE0 80246360 0C09175B */ jal func_80245D6C +/* 806BE4 80246364 02A0302D */ daddu $a2, $s5, $zero +/* 806BE8 80246368 0280202D */ daddu $a0, $s4, $zero +/* 806BEC 8024636C 0260282D */ daddu $a1, $s3, $zero +/* 806BF0 80246370 0C0917A7 */ jal func_80245E9C +/* 806BF4 80246374 02A0302D */ daddu $a2, $s5, $zero +/* 806BF8 80246378 080918EE */ j .L802463B8 +/* 806BFC 8024637C 00000000 */ nop +/* 806C00 80246380 0280202D */ daddu $a0, $s4, $zero +/* 806C04 80246384 0260282D */ daddu $a1, $s3, $zero +/* 806C08 80246388 0C0917EF */ jal func_80245FBC +/* 806C0C 8024638C 02A0302D */ daddu $a2, $s5, $zero +/* 806C10 80246390 080918EE */ j .L802463B8 +/* 806C14 80246394 00000000 */ nop +/* 806C18 80246398 0280202D */ daddu $a0, $s4, $zero +/* 806C1C 8024639C 0260282D */ daddu $a1, $s3, $zero +/* 806C20 802463A0 0C091809 */ jal func_80246024 +/* 806C24 802463A4 02A0302D */ daddu $a2, $s5, $zero +/* 806C28 802463A8 080918EE */ j .L802463B8 +/* 806C2C 802463AC 00000000 */ nop +/* 806C30 802463B0 0C0129CF */ jal func_8004A73C +/* 806C34 802463B4 0280202D */ daddu $a0, $s4, $zero +.L802463B8: +/* 806C38 802463B8 8FBF0060 */ lw $ra, 0x60($sp) +/* 806C3C 802463BC 8FB5005C */ lw $s5, 0x5c($sp) +/* 806C40 802463C0 8FB40058 */ lw $s4, 0x58($sp) +/* 806C44 802463C4 8FB30054 */ lw $s3, 0x54($sp) +/* 806C48 802463C8 8FB20050 */ lw $s2, 0x50($sp) +/* 806C4C 802463CC 8FB1004C */ lw $s1, 0x4c($sp) +/* 806C50 802463D0 8FB00048 */ lw $s0, 0x48($sp) +/* 806C54 802463D4 0000102D */ daddu $v0, $zero, $zero +/* 806C58 802463D8 03E00008 */ jr $ra +/* 806C5C 802463DC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_802463E0.s b/asm/nonmatchings/world/area_mac/mac_01/func_802463E0.s new file mode 100644 index 0000000000..8034623e83 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_802463E0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802463E0 +/* 806C60 802463E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 806C64 802463E4 AFBF0010 */ sw $ra, 0x10($sp) +/* 806C68 802463E8 0000202D */ daddu $a0, $zero, $zero +/* 806C6C 802463EC 3C05F840 */ lui $a1, 0xf840 +/* 806C70 802463F0 0C0B1EAF */ jal get_variable +/* 806C74 802463F4 34A55C84 */ ori $a1, $a1, 0x5c84 +/* 806C78 802463F8 14400008 */ bnez $v0, .L8024641C +/* 806C7C 802463FC 0000202D */ daddu $a0, $zero, $zero +/* 806C80 80246400 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 806C84 80246404 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 806C88 80246408 8C420140 */ lw $v0, 0x140($v0) +/* 806C8C 8024640C 8C440000 */ lw $a0, ($v0) +/* 806C90 80246410 0C04D052 */ jal set_item_entity_flags +/* 806C94 80246414 24050040 */ addiu $a1, $zero, 0x40 +/* 806C98 80246418 0000202D */ daddu $a0, $zero, $zero +.L8024641C: +/* 806C9C 8024641C 3C05F840 */ lui $a1, 0xf840 +/* 806CA0 80246420 0C0B1EAF */ jal get_variable +/* 806CA4 80246424 34A55C85 */ ori $a1, $a1, 0x5c85 +/* 806CA8 80246428 14400008 */ bnez $v0, .L8024644C +/* 806CAC 8024642C 0000202D */ daddu $a0, $zero, $zero +/* 806CB0 80246430 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 806CB4 80246434 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 806CB8 80246438 8C420140 */ lw $v0, 0x140($v0) +/* 806CBC 8024643C 8C440010 */ lw $a0, 0x10($v0) +/* 806CC0 80246440 0C04D052 */ jal set_item_entity_flags +/* 806CC4 80246444 24050040 */ addiu $a1, $zero, 0x40 +/* 806CC8 80246448 0000202D */ daddu $a0, $zero, $zero +.L8024644C: +/* 806CCC 8024644C 3C05F840 */ lui $a1, 0xf840 +/* 806CD0 80246450 0C0B1EAF */ jal get_variable +/* 806CD4 80246454 34A55C86 */ ori $a1, $a1, 0x5c86 +/* 806CD8 80246458 14400007 */ bnez $v0, .L80246478 +/* 806CDC 8024645C 00000000 */ nop +/* 806CE0 80246460 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 806CE4 80246464 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 806CE8 80246468 8C420140 */ lw $v0, 0x140($v0) +/* 806CEC 8024646C 8C440020 */ lw $a0, 0x20($v0) +/* 806CF0 80246470 0C04D052 */ jal set_item_entity_flags +/* 806CF4 80246474 24050040 */ addiu $a1, $zero, 0x40 +.L80246478: +/* 806CF8 80246478 8FBF0010 */ lw $ra, 0x10($sp) +/* 806CFC 8024647C 24020002 */ addiu $v0, $zero, 2 +/* 806D00 80246480 03E00008 */ jr $ra +/* 806D04 80246484 27BD0018 */ addiu $sp, $sp, 0x18 +/* 806D08 80246488 00000000 */ nop +/* 806D0C 8024648C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80246490.s b/asm/nonmatchings/world/area_mac/mac_01/func_80246490.s new file mode 100644 index 0000000000..289550a6c8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80246490.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80246490 +/* 806D10 80246490 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 806D14 80246494 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 806D18 80246498 4485A000 */ mtc1 $a1, $f20 +/* 806D1C 8024649C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 806D20 802464A0 4486B000 */ mtc1 $a2, $f22 +/* 806D24 802464A4 AFB00010 */ sw $s0, 0x10($sp) +/* 806D28 802464A8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 806D2C 802464AC 4487C000 */ mtc1 $a3, $f24 +/* 806D30 802464B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 806D34 802464B4 0C019D28 */ jal guMtxIdentF +/* 806D38 802464B8 0080802D */ daddu $s0, $a0, $zero +/* 806D3C 802464BC 4616A582 */ mul.s $f22, $f20, $f22 +/* 806D40 802464C0 00000000 */ nop +/* 806D44 802464C4 4618A502 */ mul.s $f20, $f20, $f24 +/* 806D48 802464C8 00000000 */ nop +/* 806D4C 802464CC 3C013F80 */ lui $at, 0x3f80 +/* 806D50 802464D0 44810000 */ mtc1 $at, $f0 +/* 806D54 802464D4 00000000 */ nop +/* 806D58 802464D8 E6000014 */ swc1 $f0, 0x14($s0) +/* 806D5C 802464DC E6160010 */ swc1 $f22, 0x10($s0) +/* 806D60 802464E0 E6140018 */ swc1 $f20, 0x18($s0) +/* 806D64 802464E4 8FBF0014 */ lw $ra, 0x14($sp) +/* 806D68 802464E8 8FB00010 */ lw $s0, 0x10($sp) +/* 806D6C 802464EC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 806D70 802464F0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 806D74 802464F4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 806D78 802464F8 03E00008 */ jr $ra +/* 806D7C 802464FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_01/func_80246500.s b/asm/nonmatchings/world/area_mac/mac_01/func_80246500.s new file mode 100644 index 0000000000..ec645dc659 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/func_80246500.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80246500 +/* 806D80 80246500 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 806D84 80246504 AFB10054 */ sw $s1, 0x54($sp) +/* 806D88 80246508 0080882D */ daddu $s1, $a0, $zero +/* 806D8C 8024650C AFBF005C */ sw $ra, 0x5c($sp) +/* 806D90 80246510 AFB20058 */ sw $s2, 0x58($sp) +/* 806D94 80246514 AFB00050 */ sw $s0, 0x50($sp) +/* 806D98 80246518 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 806D9C 8024651C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 806DA0 80246520 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 806DA4 80246524 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 806DA8 80246528 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 806DAC 8024652C 8E30000C */ lw $s0, 0xc($s1) +/* 806DB0 80246530 8E050000 */ lw $a1, ($s0) +/* 806DB4 80246534 0C0B1EAF */ jal get_variable +/* 806DB8 80246538 26100004 */ addiu $s0, $s0, 4 +/* 806DBC 8024653C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 806DC0 80246540 0040202D */ daddu $a0, $v0, $zero +/* 806DC4 80246544 8E050000 */ lw $a1, ($s0) +/* 806DC8 80246548 26100004 */ addiu $s0, $s0, 4 +/* 806DCC 8024654C 0220202D */ daddu $a0, $s1, $zero +/* 806DD0 80246550 0C0B210B */ jal get_float_variable +/* 806DD4 80246554 0040902D */ daddu $s2, $v0, $zero +/* 806DD8 80246558 8E050000 */ lw $a1, ($s0) +/* 806DDC 8024655C 26100004 */ addiu $s0, $s0, 4 +/* 806DE0 80246560 0220202D */ daddu $a0, $s1, $zero +/* 806DE4 80246564 0C0B210B */ jal get_float_variable +/* 806DE8 80246568 46000706 */ mov.s $f28, $f0 +/* 806DEC 8024656C 8E050000 */ lw $a1, ($s0) +/* 806DF0 80246570 26100004 */ addiu $s0, $s0, 4 +/* 806DF4 80246574 0220202D */ daddu $a0, $s1, $zero +/* 806DF8 80246578 0C0B210B */ jal get_float_variable +/* 806DFC 8024657C 46000686 */ mov.s $f26, $f0 +/* 806E00 80246580 0220202D */ daddu $a0, $s1, $zero +/* 806E04 80246584 8E050000 */ lw $a1, ($s0) +/* 806E08 80246588 0C0B210B */ jal get_float_variable +/* 806E0C 8024658C 46000586 */ mov.s $f22, $f0 +/* 806E10 80246590 0240202D */ daddu $a0, $s2, $zero +/* 806E14 80246594 0C046B4C */ jal get_model_from_list_index +/* 806E18 80246598 46000606 */ mov.s $f24, $f0 +/* 806E1C 8024659C 0040882D */ daddu $s1, $v0, $zero +/* 806E20 802465A0 96220000 */ lhu $v0, ($s1) +/* 806E24 802465A4 30420400 */ andi $v0, $v0, 0x400 +/* 806E28 802465A8 1440001E */ bnez $v0, .L80246624 +/* 806E2C 802465AC 26300058 */ addiu $s0, $s1, 0x58 +/* 806E30 802465B0 4480A000 */ mtc1 $zero, $f20 +/* 806E34 802465B4 4406B000 */ mfc1 $a2, $f22 +/* 806E38 802465B8 4405A000 */ mfc1 $a1, $f20 +/* 806E3C 802465BC 4407A000 */ mfc1 $a3, $f20 +/* 806E40 802465C0 0C019E40 */ jal guTranslateF +/* 806E44 802465C4 0200202D */ daddu $a0, $s0, $zero +/* 806E48 802465C8 4405E000 */ mfc1 $a1, $f28 +/* 806E4C 802465CC 4406D000 */ mfc1 $a2, $f26 +/* 806E50 802465D0 4407C000 */ mfc1 $a3, $f24 +/* 806E54 802465D4 0C091924 */ jal func_80246490 +/* 806E58 802465D8 27A40010 */ addiu $a0, $sp, 0x10 +/* 806E5C 802465DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 806E60 802465E0 0200282D */ daddu $a1, $s0, $zero +/* 806E64 802465E4 0C019D80 */ jal guMtxCatF +/* 806E68 802465E8 0200302D */ daddu $a2, $s0, $zero +/* 806E6C 802465EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 806E70 802465F0 4600B587 */ neg.s $f22, $f22 +/* 806E74 802465F4 4405A000 */ mfc1 $a1, $f20 +/* 806E78 802465F8 4406B000 */ mfc1 $a2, $f22 +/* 806E7C 802465FC 0C019E40 */ jal guTranslateF +/* 806E80 80246600 00A0382D */ daddu $a3, $a1, $zero +/* 806E84 80246604 27A40010 */ addiu $a0, $sp, 0x10 +/* 806E88 80246608 0200282D */ daddu $a1, $s0, $zero +/* 806E8C 8024660C 0C019D80 */ jal guMtxCatF +/* 806E90 80246610 00A0302D */ daddu $a2, $a1, $zero +/* 806E94 80246614 96220000 */ lhu $v0, ($s1) +/* 806E98 80246618 34421400 */ ori $v0, $v0, 0x1400 +/* 806E9C 8024661C 080919A7 */ j .L8024669C +/* 806EA0 80246620 A6220000 */ sh $v0, ($s1) +.L80246624: +/* 806EA4 80246624 4480A000 */ mtc1 $zero, $f20 +/* 806EA8 80246628 4406B000 */ mfc1 $a2, $f22 +/* 806EAC 8024662C 4405A000 */ mfc1 $a1, $f20 +/* 806EB0 80246630 4407A000 */ mfc1 $a3, $f20 +/* 806EB4 80246634 0C019E40 */ jal guTranslateF +/* 806EB8 80246638 27A40010 */ addiu $a0, $sp, 0x10 +/* 806EBC 8024663C 27A40010 */ addiu $a0, $sp, 0x10 +/* 806EC0 80246640 26300058 */ addiu $s0, $s1, 0x58 +/* 806EC4 80246644 0200282D */ daddu $a1, $s0, $zero +/* 806EC8 80246648 0C019D80 */ jal guMtxCatF +/* 806ECC 8024664C 0200302D */ daddu $a2, $s0, $zero +/* 806ED0 80246650 4405E000 */ mfc1 $a1, $f28 +/* 806ED4 80246654 4406D000 */ mfc1 $a2, $f26 +/* 806ED8 80246658 4407C000 */ mfc1 $a3, $f24 +/* 806EDC 8024665C 0C091924 */ jal func_80246490 +/* 806EE0 80246660 27A40010 */ addiu $a0, $sp, 0x10 +/* 806EE4 80246664 27A40010 */ addiu $a0, $sp, 0x10 +/* 806EE8 80246668 0200282D */ daddu $a1, $s0, $zero +/* 806EEC 8024666C 0C019D80 */ jal guMtxCatF +/* 806EF0 80246670 0200302D */ daddu $a2, $s0, $zero +/* 806EF4 80246674 27A40010 */ addiu $a0, $sp, 0x10 +/* 806EF8 80246678 4600B587 */ neg.s $f22, $f22 +/* 806EFC 8024667C 4405A000 */ mfc1 $a1, $f20 +/* 806F00 80246680 4406B000 */ mfc1 $a2, $f22 +/* 806F04 80246684 0C019E40 */ jal guTranslateF +/* 806F08 80246688 00A0382D */ daddu $a3, $a1, $zero +/* 806F0C 8024668C 27A40010 */ addiu $a0, $sp, 0x10 +/* 806F10 80246690 0200282D */ daddu $a1, $s0, $zero +/* 806F14 80246694 0C019D80 */ jal guMtxCatF +/* 806F18 80246698 00A0302D */ daddu $a2, $a1, $zero +.L8024669C: +/* 806F1C 8024669C 8FBF005C */ lw $ra, 0x5c($sp) +/* 806F20 802466A0 8FB20058 */ lw $s2, 0x58($sp) +/* 806F24 802466A4 8FB10054 */ lw $s1, 0x54($sp) +/* 806F28 802466A8 8FB00050 */ lw $s0, 0x50($sp) +/* 806F2C 802466AC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 806F30 802466B0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 806F34 802466B4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 806F38 802466B8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 806F3C 802466BC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 806F40 802466C0 24020002 */ addiu $v0, $zero, 2 +/* 806F44 802466C4 03E00008 */ jr $ra +/* 806F48 802466C8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 806F4C 802466CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_badges_800880.s b/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_badges_800880.s new file mode 100644 index 0000000000..e3372695d1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_badges_800880.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_tabs_draw_badges_805540 +/* 805540 80244CC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 805544 80244CC4 AFBF0010 */ sw $ra, 0x10($sp) +/* 805548 80244CC8 0000202D */ daddu $a0, $zero, $zero +/* 80554C 80244CCC 3C05F840 */ lui $a1, 0xf840 +/* 805550 80244CD0 0C0B1EAF */ jal get_variable +/* 805554 80244CD4 34A55C84 */ ori $a1, $a1, 0x5c84 +/* 805558 80244CD8 14400008 */ bnez $v0, .L80244CFC +/* 80555C 80244CDC 0000202D */ daddu $a0, $zero, $zero +/* 805560 80244CE0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 805564 80244CE4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 805568 80244CE8 8C420140 */ lw $v0, 0x140($v0) +/* 80556C 80244CEC 8C440000 */ lw $a0, ($v0) +/* 805570 80244CF0 0C04D062 */ jal clear_item_entity_flags +/* 805574 80244CF4 24050040 */ addiu $a1, $zero, 0x40 +/* 805578 80244CF8 0000202D */ daddu $a0, $zero, $zero +.L80244CFC: +/* 80557C 80244CFC 3C05F840 */ lui $a1, 0xf840 +/* 805580 80244D00 0C0B1EAF */ jal get_variable +/* 805584 80244D04 34A55C85 */ ori $a1, $a1, 0x5c85 +/* 805588 80244D08 14400008 */ bnez $v0, .L80244D2C +/* 80558C 80244D0C 0000202D */ daddu $a0, $zero, $zero +/* 805590 80244D10 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 805594 80244D14 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 805598 80244D18 8C420140 */ lw $v0, 0x140($v0) +/* 80559C 80244D1C 8C440010 */ lw $a0, 0x10($v0) +/* 8055A0 80244D20 0C04D062 */ jal clear_item_entity_flags +/* 8055A4 80244D24 24050040 */ addiu $a1, $zero, 0x40 +/* 8055A8 80244D28 0000202D */ daddu $a0, $zero, $zero +.L80244D2C: +/* 8055AC 80244D2C 3C05F840 */ lui $a1, 0xf840 +/* 8055B0 80244D30 0C0B1EAF */ jal get_variable +/* 8055B4 80244D34 34A55C86 */ ori $a1, $a1, 0x5c86 +/* 8055B8 80244D38 14400007 */ bnez $v0, .L80244D58 +/* 8055BC 80244D3C 00000000 */ nop +/* 8055C0 80244D40 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8055C4 80244D44 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8055C8 80244D48 8C420140 */ lw $v0, 0x140($v0) +/* 8055CC 80244D4C 8C440020 */ lw $a0, 0x20($v0) +/* 8055D0 80244D50 0C04D062 */ jal clear_item_entity_flags +/* 8055D4 80244D54 24050040 */ addiu $a1, $zero, 0x40 +.L80244D58: +/* 8055D8 80244D58 8FBF0010 */ lw $ra, 0x10($sp) +/* 8055DC 80244D5C 24020002 */ addiu $v0, $zero, 2 +/* 8055E0 80244D60 03E00008 */ jr $ra +/* 8055E4 80244D64 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_stats_800880.s b/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_stats_800880.s new file mode 100644 index 0000000000..79e7ff693f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/pause_tabs_draw_stats_800880.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_tabs_draw_stats_805418 +/* 805418 80244B98 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 80541C 80244B9C 0000202D */ daddu $a0, $zero, $zero +/* 805420 80244BA0 3C05FD05 */ lui $a1, 0xfd05 +/* 805424 80244BA4 34A50F80 */ ori $a1, $a1, 0xf80 +/* 805428 80244BA8 AFBF0024 */ sw $ra, 0x24($sp) +/* 80542C 80244BAC 0C0B1EAF */ jal get_variable +/* 805430 80244BB0 AFB00020 */ sw $s0, 0x20($sp) +/* 805434 80244BB4 0000202D */ daddu $a0, $zero, $zero +/* 805438 80244BB8 27A50010 */ addiu $a1, $sp, 0x10 +/* 80543C 80244BBC 0040802D */ daddu $s0, $v0, $zero +/* 805440 80244BC0 27A60014 */ addiu $a2, $sp, 0x14 +/* 805444 80244BC4 0C0470AC */ jal func_8011C2B0 +/* 805448 80244BC8 27A70018 */ addiu $a3, $sp, 0x18 +/* 80544C 80244BCC 8FA20018 */ lw $v0, 0x18($sp) +/* 805450 80244BD0 1840002C */ blez $v0, .L80244C84 +/* 805454 80244BD4 0000302D */ daddu $a2, $zero, $zero +/* 805458 80244BD8 240AFFB2 */ addiu $t2, $zero, -0x4e +/* 80545C 80244BDC 2409FFF0 */ addiu $t1, $zero, -0x10 +/* 805460 80244BE0 0040402D */ daddu $t0, $v0, $zero +/* 805464 80244BE4 8FA70014 */ lw $a3, 0x14($sp) +/* 805468 80244BE8 8FA50010 */ lw $a1, 0x10($sp) +.L80244BEC: +/* 80546C 80244BEC 84A20000 */ lh $v0, ($a1) +/* 805470 80244BF0 144A000F */ bne $v0, $t2, .L80244C30 +/* 805474 80244BF4 00061900 */ sll $v1, $a2, 4 +/* 805478 80244BF8 00E32021 */ addu $a0, $a3, $v1 +/* 80547C 80244BFC 84A20002 */ lh $v0, 2($a1) +/* 805480 80244C00 14400007 */ bnez $v0, .L80244C20 +/* 805484 80244C04 94A30002 */ lhu $v1, 2($a1) +/* 805488 80244C08 06010002 */ bgez $s0, .L80244C14 +/* 80548C 80244C0C 0200102D */ daddu $v0, $s0, $zero +/* 805490 80244C10 26020003 */ addiu $v0, $s0, 3 +.L80244C14: +/* 805494 80244C14 00021083 */ sra $v0, $v0, 2 +/* 805498 80244C18 0809131C */ j .L80244C70 +/* 80549C 80244C1C 00621023 */ subu $v0, $v1, $v0 +.L80244C20: +/* 8054A0 80244C20 06010011 */ bgez $s0, .L80244C68 +/* 8054A4 80244C24 0200102D */ daddu $v0, $s0, $zero +/* 8054A8 80244C28 0809131A */ j .L80244C68 +/* 8054AC 80244C2C 26020003 */ addiu $v0, $s0, 3 +.L80244C30: +/* 8054B0 80244C30 54490011 */ bnel $v0, $t1, .L80244C78 +/* 8054B4 80244C34 24C60001 */ addiu $a2, $a2, 1 +/* 8054B8 80244C38 00E32021 */ addu $a0, $a3, $v1 +/* 8054BC 80244C3C 84A20002 */ lh $v0, 2($a1) +/* 8054C0 80244C40 94A30002 */ lhu $v1, 2($a1) +/* 8054C4 80244C44 14400006 */ bnez $v0, .L80244C60 +/* 8054C8 80244C48 0200102D */ daddu $v0, $s0, $zero +/* 8054CC 80244C4C 06020001 */ bltzl $s0, .L80244C54 +/* 8054D0 80244C50 26020003 */ addiu $v0, $s0, 3 +.L80244C54: +/* 8054D4 80244C54 00021083 */ sra $v0, $v0, 2 +/* 8054D8 80244C58 0809131C */ j .L80244C70 +/* 8054DC 80244C5C 00621023 */ subu $v0, $v1, $v0 +.L80244C60: +/* 8054E0 80244C60 04420001 */ bltzl $v0, .L80244C68 +/* 8054E4 80244C64 24420003 */ addiu $v0, $v0, 3 +.L80244C68: +/* 8054E8 80244C68 00021083 */ sra $v0, $v0, 2 +/* 8054EC 80244C6C 00621021 */ addu $v0, $v1, $v0 +.L80244C70: +/* 8054F0 80244C70 A4820002 */ sh $v0, 2($a0) +/* 8054F4 80244C74 24C60001 */ addiu $a2, $a2, 1 +.L80244C78: +/* 8054F8 80244C78 00C8102A */ slt $v0, $a2, $t0 +/* 8054FC 80244C7C 1440FFDB */ bnez $v0, .L80244BEC +/* 805500 80244C80 24A50010 */ addiu $a1, $a1, 0x10 +.L80244C84: +/* 805504 80244C84 3C03800A */ lui $v1, 0x800a +/* 805508 80244C88 2463A66C */ addiu $v1, $v1, -0x5994 +/* 80550C 80244C8C 8C620000 */ lw $v0, ($v1) +/* 805510 80244C90 0000202D */ daddu $a0, $zero, $zero +/* 805514 80244C94 0040802D */ daddu $s0, $v0, $zero +/* 805518 80244C98 24420008 */ addiu $v0, $v0, 8 +/* 80551C 80244C9C AC620000 */ sw $v0, ($v1) +/* 805520 80244CA0 3C02DE00 */ lui $v0, 0xde00 +/* 805524 80244CA4 0C0470BB */ jal func_8011C2EC +/* 805528 80244CA8 AE020000 */ sw $v0, ($s0) +/* 80552C 80244CAC AE020004 */ sw $v0, 4($s0) +/* 805530 80244CB0 8FBF0024 */ lw $ra, 0x24($sp) +/* 805534 80244CB4 8FB00020 */ lw $s0, 0x20($sp) +/* 805538 80244CB8 03E00008 */ jr $ra +/* 80553C 80244CBC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_01/pause_tutorial_draw_contents_800880.s b/asm/nonmatchings/world/area_mac/mac_01/pause_tutorial_draw_contents_800880.s new file mode 100644 index 0000000000..3506f1ead3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_01/pause_tutorial_draw_contents_800880.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_tutorial_draw_contents_804074 +/* 804074 802437F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 804078 802437F8 AFB10014 */ sw $s1, 0x14($sp) +/* 80407C 802437FC 0080882D */ daddu $s1, $a0, $zero +/* 804080 80243800 AFBF0018 */ sw $ra, 0x18($sp) +/* 804084 80243804 AFB00010 */ sw $s0, 0x10($sp) +/* 804088 80243808 8E30000C */ lw $s0, 0xc($s1) +/* 80408C 8024380C 8E050000 */ lw $a1, ($s0) +/* 804090 80243810 0C0B1EAF */ jal get_variable +/* 804094 80243814 26100004 */ addiu $s0, $s0, 4 +/* 804098 80243818 0220202D */ daddu $a0, $s1, $zero +/* 80409C 8024381C 8E050000 */ lw $a1, ($s0) +/* 8040A0 80243820 0C0B1EAF */ jal get_variable +/* 8040A4 80243824 0040882D */ daddu $s1, $v0, $zero +/* 8040A8 80243828 0000202D */ daddu $a0, $zero, $zero +/* 8040AC 8024382C 0080282D */ daddu $a1, $a0, $zero +/* 8040B0 80243830 0040802D */ daddu $s0, $v0, $zero +/* 8040B4 80243834 240600BE */ addiu $a2, $zero, 0xbe +/* 8040B8 80243838 0C04DF93 */ jal func_80137E4C +/* 8040BC 8024383C 24070091 */ addiu $a3, $zero, 0x91 +/* 8040C0 80243840 44900000 */ mtc1 $s0, $f0 +/* 8040C4 80243844 00000000 */ nop +/* 8040C8 80243848 46800020 */ cvt.s.w $f0, $f0 +/* 8040CC 8024384C 44050000 */ mfc1 $a1, $f0 +/* 8040D0 80243850 0C04DF62 */ jal func_80137D88 +/* 8040D4 80243854 322400FF */ andi $a0, $s1, 0xff +/* 8040D8 80243858 8FBF0018 */ lw $ra, 0x18($sp) +/* 8040DC 8024385C 8FB10014 */ lw $s1, 0x14($sp) +/* 8040E0 80243860 8FB00010 */ lw $s0, 0x10($sp) +/* 8040E4 80243864 24020002 */ addiu $v0, $zero, 2 +/* 8040E8 80243868 03E00008 */ jr $ra +/* 8040EC 8024386C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240000_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240000_8232C0.s new file mode 100644 index 0000000000..76bf8c7974 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240000_8232C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8232C0 +/* 8232C0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8232C4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8232C8 80240008 8C430004 */ lw $v1, 4($v0) +/* 8232CC 8024000C 3C040010 */ lui $a0, 0x10 +/* 8232D0 80240010 00641825 */ or $v1, $v1, $a0 +/* 8232D4 80240014 AC430004 */ sw $v1, 4($v0) +/* 8232D8 80240018 03E00008 */ jr $ra +/* 8232DC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240020_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240020_8232C0.s new file mode 100644 index 0000000000..b953280293 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240020_8232C0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_8232E0 +/* 8232E0 80240020 3C028016 */ lui $v0, 0x8016 +/* 8232E4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 8232E8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 8232EC 8024002C 03E00008 */ jr $ra +/* 8232F0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240034_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240034_8232C0.s new file mode 100644 index 0000000000..5def5d2817 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240034_8232C0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_8232F4 +/* 8232F4 80240034 3C038016 */ lui $v1, 0x8016 +/* 8232F8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 8232FC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 823300 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 823304 80240044 0080802D */ daddu $s0, $a0, $zero +/* 823308 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 82330C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 823310 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 823314 80240054 24020002 */ addiu $v0, $zero, 2 +/* 823318 80240058 08090038 */ j .L802400E0 +/* 82331C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 823320 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 823324 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 823328 80240068 80620040 */ lb $v0, 0x40($v1) +/* 82332C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 823330 80240070 04420001 */ bltzl $v0, .L80240078 +/* 823334 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 823338 80240078 14400003 */ bnez $v0, .L80240088 +/* 82333C 8024007C 00000000 */ nop +/* 823340 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 823344 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 823348 80240088 44822000 */ mtc1 $v0, $f4 +/* 82334C 8024008C 00000000 */ nop +/* 823350 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 823354 80240094 44062000 */ mfc1 $a2, $f4 +/* 823358 80240098 44872000 */ mtc1 $a3, $f4 +/* 82335C 8024009C 00000000 */ nop +/* 823360 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 823364 802400A4 44806000 */ mtc1 $zero, $f12 +/* 823368 802400A8 44072000 */ mfc1 $a3, $f4 +/* 82336C 802400AC 0C00A720 */ jal atan2 +/* 823370 802400B0 46006386 */ mov.s $f14, $f12 +/* 823374 802400B4 3C014270 */ lui $at, 0x4270 +/* 823378 802400B8 44811000 */ mtc1 $at, $f2 +/* 82337C 802400BC 00000000 */ nop +/* 823380 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 823384 802400C4 00000000 */ nop +/* 823388 802400C8 45000004 */ bc1f .L802400DC +/* 82338C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 823390 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 823394 802400D4 08090038 */ j .L802400E0 +/* 823398 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 82339C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8233A0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8233A4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8233A8 802400E8 03E00008 */ jr $ra +/* 8233AC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802400F0_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802400F0_8232C0.s new file mode 100644 index 0000000000..c39f666487 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802400F0_8232C0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8233B0 +/* 8233B0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8233B4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8233B8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8233BC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 8233C0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 8233C4 80240104 0C016AFA */ jal get_current_map_header +/* 8233C8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 8233CC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 8233D0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 8233D4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8233D8 80240118 0C0B1EAF */ jal get_variable +/* 8233DC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 8233E0 80240120 0220202D */ daddu $a0, $s1, $zero +/* 8233E4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 8233E8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 8233EC 8024012C 00028100 */ sll $s0, $v0, 4 +/* 8233F0 80240130 02031821 */ addu $v1, $s0, $v1 +/* 8233F4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 8233F8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 8233FC 8024013C 44061000 */ mfc1 $a2, $f2 +/* 823400 80240140 0C0B2026 */ jal set_variable +/* 823404 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 823408 80240148 0220202D */ daddu $a0, $s1, $zero +/* 82340C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 823410 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 823414 80240154 02021021 */ addu $v0, $s0, $v0 +/* 823418 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 82341C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 823420 80240160 44061000 */ mfc1 $a2, $f2 +/* 823424 80240164 0C0B2026 */ jal set_variable +/* 823428 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 82342C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 823430 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 823434 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 823438 80240178 02021021 */ addu $v0, $s0, $v0 +/* 82343C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 823440 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 823444 80240184 44061000 */ mfc1 $a2, $f2 +/* 823448 80240188 0C0B2026 */ jal set_variable +/* 82344C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 823450 80240190 0220202D */ daddu $a0, $s1, $zero +/* 823454 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 823458 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 82345C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 823460 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 823464 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 823468 802401A8 44061000 */ mfc1 $a2, $f2 +/* 82346C 802401AC 0C0B2026 */ jal set_variable +/* 823470 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 823474 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 823478 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 82347C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 823480 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 823484 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 823488 802401C8 03E00008 */ jr $ra +/* 82348C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802401D0_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802401D0_8232C0.s new file mode 100644 index 0000000000..77b30abaea --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802401D0_8232C0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_823490 +/* 823490 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 823494 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 823498 802401D8 3C014334 */ lui $at, 0x4334 +/* 82349C 802401DC 44816000 */ mtc1 $at, $f12 +/* 8234A0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8234A4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8234A8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8234AC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8234B0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8234B4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8234B8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8234BC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8234C0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8234C4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8234C8 80240208 3C01800B */ lui $at, 0x800b +/* 8234CC 8024020C 00220821 */ addu $at, $at, $v0 +/* 8234D0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8234D4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8234D8 80240218 0C00A6C9 */ jal clamp_angle +/* 8234DC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 8234E0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 8234E4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 8234E8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 8234EC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 8234F0 80240230 24020002 */ addiu $v0, $zero, 2 +/* 8234F4 80240234 03E00008 */ jr $ra +/* 8234F8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_8024023C_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_8024023C_8232C0.s new file mode 100644 index 0000000000..b1394b64e3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_8024023C_8232C0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_8234FC +/* 8234FC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 823500 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 823504 80240244 0080802D */ daddu $s0, $a0, $zero +/* 823508 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 82350C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 823510 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 823514 80240254 0C0B210B */ jal get_float_variable +/* 823518 80240258 8C450000 */ lw $a1, ($v0) +/* 82351C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 823520 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 823524 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 823528 80240268 44060000 */ mfc1 $a2, $f0 +/* 82352C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 823530 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 823534 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 823538 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 82353C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 823540 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 823544 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 823548 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 82354C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 823550 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 823554 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 823558 80240298 0C0B2190 */ jal set_float_variable +/* 82355C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 823560 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 823564 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 823568 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 82356C 802402AC 0C0B2190 */ jal set_float_variable +/* 823570 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 823574 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 823578 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 82357C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 823580 802402C0 0C0B2190 */ jal set_float_variable +/* 823584 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 823588 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 82358C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 823590 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 823594 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 823598 802402D8 03E00008 */ jr $ra +/* 82359C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802402E0_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802402E0_8232C0.s new file mode 100644 index 0000000000..6fafadbd55 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802402E0_8232C0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8235A0 +/* 8235A0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8235A4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8235A8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 8235AC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8235B0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8235B4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 8235B8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 8235BC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 8235C0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8235C4 80240304 3C020002 */ lui $v0, 2 +/* 8235C8 80240308 080900C8 */ j .L80240320 +/* 8235CC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 8235D0 80240310 3C040002 */ lui $a0, 2 +/* 8235D4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 8235D8 80240318 10400002 */ beqz $v0, .L80240324 +/* 8235DC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 8235E0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 8235E4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 8235E8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 8235EC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 8235F0 80240330 04610004 */ bgez $v1, .L80240344 +/* 8235F4 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 8235F8 80240338 3C020002 */ lui $v0, 2 +/* 8235FC 8024033C 080900D5 */ j .L80240354 +/* 823600 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 823604 80240344 3C040002 */ lui $a0, 2 +/* 823608 80240348 0083102A */ slt $v0, $a0, $v1 +/* 82360C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 823610 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 823614 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 823618 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 82361C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 823620 80240360 00621821 */ addu $v1, $v1, $v0 +/* 823624 80240364 04610004 */ bgez $v1, .L80240378 +/* 823628 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 82362C 8024036C 3C020002 */ lui $v0, 2 +/* 823630 80240370 080900E2 */ j .L80240388 +/* 823634 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 823638 80240378 3C040002 */ lui $a0, 2 +/* 82363C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 823640 80240380 10400002 */ beqz $v0, .L8024038C +/* 823644 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 823648 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 82364C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 823650 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 823654 80240394 00621821 */ addu $v1, $v1, $v0 +/* 823658 80240398 04610004 */ bgez $v1, .L802403AC +/* 82365C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 823660 802403A0 3C020002 */ lui $v0, 2 +/* 823664 802403A4 080900EF */ j .L802403BC +/* 823668 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 82366C 802403AC 3C040002 */ lui $a0, 2 +/* 823670 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 823674 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 823678 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 82367C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 823680 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 823684 802403C4 0C046F07 */ jal set_main_pan_u +/* 823688 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 82368C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 823690 802403D0 0C046F0D */ jal set_main_pan_v +/* 823694 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 823698 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 82369C 802403DC 0C046F13 */ jal set_aux_pan_u +/* 8236A0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8236A4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 8236A8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 8236AC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8236B0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8236B4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 8236B8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 8236BC 802403FC 03E00008 */ jr $ra +/* 8236C0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240404_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240404_8232C0.s new file mode 100644 index 0000000000..5e95e0e9b1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240404_8232C0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_8236C4 +/* 8236C4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8236C8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 8236CC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 8236D0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 8236D4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 8236D8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 8236DC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 8236E0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 8236E4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 8236E8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 8236EC 8024042C 1440000E */ bnez $v0, .L80240468 +/* 8236F0 80240430 00000000 */ nop +/* 8236F4 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8236F8 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 8236FC 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 823700 80240440 04610004 */ bgez $v1, .L80240454 +/* 823704 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 823708 80240448 3C020002 */ lui $v0, 2 +/* 82370C 8024044C 08090119 */ j .L80240464 +/* 823710 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 823714 80240454 3C040002 */ lui $a0, 2 +/* 823718 80240458 0083102A */ slt $v0, $a0, $v1 +/* 82371C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 823720 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 823724 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 823728 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 82372C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 823730 80240470 00000000 */ nop +/* 823734 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 823738 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 82373C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 823740 80240480 04610004 */ bgez $v1, .L80240494 +/* 823744 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 823748 80240488 3C020002 */ lui $v0, 2 +/* 82374C 8024048C 08090129 */ j .L802404A4 +/* 823750 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 823754 80240494 3C040002 */ lui $a0, 2 +/* 823758 80240498 0083102A */ slt $v0, $a0, $v1 +/* 82375C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 823760 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 823764 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 823768 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 82376C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 823770 802404B0 00000000 */ nop +/* 823774 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 823778 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 82377C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 823780 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 823784 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 823788 802404C8 3C020002 */ lui $v0, 2 +/* 82378C 802404CC 08090139 */ j .L802404E4 +/* 823790 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 823794 802404D4 3C040002 */ lui $a0, 2 +/* 823798 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 82379C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 8237A0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 8237A4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 8237A8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 8237AC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 8237B0 802404F0 00000000 */ nop +/* 8237B4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8237B8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 8237BC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8237C0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8237C4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8237C8 80240508 3C020002 */ lui $v0, 2 +/* 8237CC 8024050C 08090149 */ j .L80240524 +/* 8237D0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8237D4 80240514 3C040002 */ lui $a0, 2 +/* 8237D8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8237DC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 8237E0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 8237E4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 8237E8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 8237EC 8024052C 0C046F07 */ jal set_main_pan_u +/* 8237F0 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8237F4 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 8237F8 80240538 0C046F0D */ jal set_main_pan_v +/* 8237FC 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 823800 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 823804 80240544 0C046F13 */ jal set_aux_pan_u +/* 823808 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 82380C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 823810 80240550 0C046F19 */ jal set_aux_pan_v +/* 823814 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 823818 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 82381C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 823820 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 823824 80240564 24420001 */ addiu $v0, $v0, 1 +/* 823828 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 82382C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 823830 80240570 24630001 */ addiu $v1, $v1, 1 +/* 823834 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 823838 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 82383C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 823840 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 823844 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 823848 80240588 0064182A */ slt $v1, $v1, $a0 +/* 82384C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 823850 80240590 14600002 */ bnez $v1, .L8024059C +/* 823854 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 823858 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 82385C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 823860 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 823864 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 823868 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 82386C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 823870 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 823874 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 823878 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 82387C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 823880 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 823884 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 823888 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 82388C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 823890 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 823894 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 823898 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 82389C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 8238A0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 8238A4 802405E4 03E00008 */ jr $ra +/* 8238A8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8238AC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802405F0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802405F0.s new file mode 100644 index 0000000000..84132943ad --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802405F0.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0 +/* 8238B0 802405F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8238B4 802405F4 24040047 */ addiu $a0, $zero, 0x47 +/* 8238B8 802405F8 2405FFFF */ addiu $a1, $zero, -1 +/* 8238BC 802405FC 24060001 */ addiu $a2, $zero, 1 +/* 8238C0 80240600 00C0382D */ daddu $a3, $a2, $zero +/* 8238C4 80240604 AFBF001C */ sw $ra, 0x1c($sp) +/* 8238C8 80240608 AFB20018 */ sw $s2, 0x18($sp) +/* 8238CC 8024060C AFB10014 */ sw $s1, 0x14($sp) +/* 8238D0 80240610 0C046E54 */ jal func_8011B950 +/* 8238D4 80240614 AFB00010 */ sw $s0, 0x10($sp) +/* 8238D8 80240618 0000202D */ daddu $a0, $zero, $zero +/* 8238DC 8024061C 0080282D */ daddu $a1, $a0, $zero +/* 8238E0 80240620 0080302D */ daddu $a2, $a0, $zero +/* 8238E4 80240624 0C046F97 */ jal set_background_color_blend +/* 8238E8 80240628 240700FF */ addiu $a3, $zero, 0xff +/* 8238EC 8024062C 0000802D */ daddu $s0, $zero, $zero +/* 8238F0 80240630 2412FFFC */ addiu $s2, $zero, -4 +/* 8238F4 80240634 3C110080 */ lui $s1, 0x80 +/* 8238F8 80240638 3C02800B */ lui $v0, %hi(gCameras) +/* 8238FC 8024063C 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* 823900 80240640 A440002C */ sh $zero, 0x2c($v0) +/* 823904 80240644 A440002E */ sh $zero, 0x2e($v0) +/* 823908 80240648 A4400030 */ sh $zero, 0x30($v0) +.L8024064C: +/* 82390C 8024064C 0C00E2B7 */ jal get_npc_by_index +/* 823910 80240650 0200202D */ daddu $a0, $s0, $zero +/* 823914 80240654 0040182D */ daddu $v1, $v0, $zero +/* 823918 80240658 50600009 */ beql $v1, $zero, .L80240680 +/* 82391C 8024065C 26100001 */ addiu $s0, $s0, 1 +/* 823920 80240660 8C640000 */ lw $a0, ($v1) +/* 823924 80240664 10800006 */ beqz $a0, .L80240680 +/* 823928 80240668 26100001 */ addiu $s0, $s0, 1 +/* 82392C 8024066C 806200A4 */ lb $v0, 0xa4($v1) +/* 823930 80240670 10520003 */ beq $v0, $s2, .L80240680 +/* 823934 80240674 00000000 */ nop +/* 823938 80240678 00911025 */ or $v0, $a0, $s1 +/* 82393C 8024067C AC620000 */ sw $v0, ($v1) +.L80240680: +/* 823940 80240680 2A020040 */ slti $v0, $s0, 0x40 +/* 823944 80240684 1440FFF1 */ bnez $v0, .L8024064C +/* 823948 80240688 24020002 */ addiu $v0, $zero, 2 +/* 82394C 8024068C 8FBF001C */ lw $ra, 0x1c($sp) +/* 823950 80240690 8FB20018 */ lw $s2, 0x18($sp) +/* 823954 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* 823958 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* 82395C 8024069C 03E00008 */ jr $ra +/* 823960 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 823964 802406A4 00000000 */ nop +/* 823968 802406A8 00000000 */ nop +/* 82396C 802406AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802406B0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802406B0.s new file mode 100644 index 0000000000..21588f7b03 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802406B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406B0 +/* 823970 802406B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 823974 802406B4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 823978 802406B8 4485A000 */ mtc1 $a1, $f20 +/* 82397C 802406BC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 823980 802406C0 4486B000 */ mtc1 $a2, $f22 +/* 823984 802406C4 AFB00010 */ sw $s0, 0x10($sp) +/* 823988 802406C8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 82398C 802406CC 4487C000 */ mtc1 $a3, $f24 +/* 823990 802406D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 823994 802406D4 0C019D28 */ jal guMtxIdentF +/* 823998 802406D8 0080802D */ daddu $s0, $a0, $zero +/* 82399C 802406DC 4616A582 */ mul.s $f22, $f20, $f22 +/* 8239A0 802406E0 00000000 */ nop +/* 8239A4 802406E4 4618A502 */ mul.s $f20, $f20, $f24 +/* 8239A8 802406E8 00000000 */ nop +/* 8239AC 802406EC 3C013F80 */ lui $at, 0x3f80 +/* 8239B0 802406F0 44810000 */ mtc1 $at, $f0 +/* 8239B4 802406F4 00000000 */ nop +/* 8239B8 802406F8 E6000014 */ swc1 $f0, 0x14($s0) +/* 8239BC 802406FC E6160010 */ swc1 $f22, 0x10($s0) +/* 8239C0 80240700 E6140018 */ swc1 $f20, 0x18($s0) +/* 8239C4 80240704 8FBF0014 */ lw $ra, 0x14($sp) +/* 8239C8 80240708 8FB00010 */ lw $s0, 0x10($sp) +/* 8239CC 8024070C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 8239D0 80240710 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 8239D4 80240714 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 8239D8 80240718 03E00008 */ jr $ra +/* 8239DC 8024071C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240720.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240720.s new file mode 100644 index 0000000000..e8fbf17ed5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240720.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240720 +/* 8239E0 80240720 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 8239E4 80240724 AFB10054 */ sw $s1, 0x54($sp) +/* 8239E8 80240728 0080882D */ daddu $s1, $a0, $zero +/* 8239EC 8024072C AFBF005C */ sw $ra, 0x5c($sp) +/* 8239F0 80240730 AFB20058 */ sw $s2, 0x58($sp) +/* 8239F4 80240734 AFB00050 */ sw $s0, 0x50($sp) +/* 8239F8 80240738 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 8239FC 8024073C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 823A00 80240740 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 823A04 80240744 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 823A08 80240748 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 823A0C 8024074C 8E30000C */ lw $s0, 0xc($s1) +/* 823A10 80240750 8E050000 */ lw $a1, ($s0) +/* 823A14 80240754 0C0B1EAF */ jal get_variable +/* 823A18 80240758 26100004 */ addiu $s0, $s0, 4 +/* 823A1C 8024075C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 823A20 80240760 0040202D */ daddu $a0, $v0, $zero +/* 823A24 80240764 8E050000 */ lw $a1, ($s0) +/* 823A28 80240768 26100004 */ addiu $s0, $s0, 4 +/* 823A2C 8024076C 0220202D */ daddu $a0, $s1, $zero +/* 823A30 80240770 0C0B210B */ jal get_float_variable +/* 823A34 80240774 0040902D */ daddu $s2, $v0, $zero +/* 823A38 80240778 8E050000 */ lw $a1, ($s0) +/* 823A3C 8024077C 26100004 */ addiu $s0, $s0, 4 +/* 823A40 80240780 0220202D */ daddu $a0, $s1, $zero +/* 823A44 80240784 0C0B210B */ jal get_float_variable +/* 823A48 80240788 46000706 */ mov.s $f28, $f0 +/* 823A4C 8024078C 8E050000 */ lw $a1, ($s0) +/* 823A50 80240790 26100004 */ addiu $s0, $s0, 4 +/* 823A54 80240794 0220202D */ daddu $a0, $s1, $zero +/* 823A58 80240798 0C0B210B */ jal get_float_variable +/* 823A5C 8024079C 46000686 */ mov.s $f26, $f0 +/* 823A60 802407A0 0220202D */ daddu $a0, $s1, $zero +/* 823A64 802407A4 8E050000 */ lw $a1, ($s0) +/* 823A68 802407A8 0C0B210B */ jal get_float_variable +/* 823A6C 802407AC 46000586 */ mov.s $f22, $f0 +/* 823A70 802407B0 0240202D */ daddu $a0, $s2, $zero +/* 823A74 802407B4 0C046B4C */ jal get_model_from_list_index +/* 823A78 802407B8 46000606 */ mov.s $f24, $f0 +/* 823A7C 802407BC 0040882D */ daddu $s1, $v0, $zero +/* 823A80 802407C0 96220000 */ lhu $v0, ($s1) +/* 823A84 802407C4 30420400 */ andi $v0, $v0, 0x400 +/* 823A88 802407C8 1440001E */ bnez $v0, .L80240844 +/* 823A8C 802407CC 26300058 */ addiu $s0, $s1, 0x58 +/* 823A90 802407D0 4480A000 */ mtc1 $zero, $f20 +/* 823A94 802407D4 4406B000 */ mfc1 $a2, $f22 +/* 823A98 802407D8 4405A000 */ mfc1 $a1, $f20 +/* 823A9C 802407DC 4407A000 */ mfc1 $a3, $f20 +/* 823AA0 802407E0 0C019E40 */ jal guTranslateF +/* 823AA4 802407E4 0200202D */ daddu $a0, $s0, $zero +/* 823AA8 802407E8 4405E000 */ mfc1 $a1, $f28 +/* 823AAC 802407EC 4406D000 */ mfc1 $a2, $f26 +/* 823AB0 802407F0 4407C000 */ mfc1 $a3, $f24 +/* 823AB4 802407F4 0C0901AC */ jal func_802406B0 +/* 823AB8 802407F8 27A40010 */ addiu $a0, $sp, 0x10 +/* 823ABC 802407FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 823AC0 80240800 0200282D */ daddu $a1, $s0, $zero +/* 823AC4 80240804 0C019D80 */ jal guMtxCatF +/* 823AC8 80240808 0200302D */ daddu $a2, $s0, $zero +/* 823ACC 8024080C 27A40010 */ addiu $a0, $sp, 0x10 +/* 823AD0 80240810 4600B587 */ neg.s $f22, $f22 +/* 823AD4 80240814 4405A000 */ mfc1 $a1, $f20 +/* 823AD8 80240818 4406B000 */ mfc1 $a2, $f22 +/* 823ADC 8024081C 0C019E40 */ jal guTranslateF +/* 823AE0 80240820 00A0382D */ daddu $a3, $a1, $zero +/* 823AE4 80240824 27A40010 */ addiu $a0, $sp, 0x10 +/* 823AE8 80240828 0200282D */ daddu $a1, $s0, $zero +/* 823AEC 8024082C 0C019D80 */ jal guMtxCatF +/* 823AF0 80240830 00A0302D */ daddu $a2, $a1, $zero +/* 823AF4 80240834 96220000 */ lhu $v0, ($s1) +/* 823AF8 80240838 34421400 */ ori $v0, $v0, 0x1400 +/* 823AFC 8024083C 0809022F */ j .L802408BC +/* 823B00 80240840 A6220000 */ sh $v0, ($s1) +.L80240844: +/* 823B04 80240844 4480A000 */ mtc1 $zero, $f20 +/* 823B08 80240848 4406B000 */ mfc1 $a2, $f22 +/* 823B0C 8024084C 4405A000 */ mfc1 $a1, $f20 +/* 823B10 80240850 4407A000 */ mfc1 $a3, $f20 +/* 823B14 80240854 0C019E40 */ jal guTranslateF +/* 823B18 80240858 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B1C 8024085C 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B20 80240860 26300058 */ addiu $s0, $s1, 0x58 +/* 823B24 80240864 0200282D */ daddu $a1, $s0, $zero +/* 823B28 80240868 0C019D80 */ jal guMtxCatF +/* 823B2C 8024086C 0200302D */ daddu $a2, $s0, $zero +/* 823B30 80240870 4405E000 */ mfc1 $a1, $f28 +/* 823B34 80240874 4406D000 */ mfc1 $a2, $f26 +/* 823B38 80240878 4407C000 */ mfc1 $a3, $f24 +/* 823B3C 8024087C 0C0901AC */ jal func_802406B0 +/* 823B40 80240880 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B44 80240884 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B48 80240888 0200282D */ daddu $a1, $s0, $zero +/* 823B4C 8024088C 0C019D80 */ jal guMtxCatF +/* 823B50 80240890 0200302D */ daddu $a2, $s0, $zero +/* 823B54 80240894 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B58 80240898 4600B587 */ neg.s $f22, $f22 +/* 823B5C 8024089C 4405A000 */ mfc1 $a1, $f20 +/* 823B60 802408A0 4406B000 */ mfc1 $a2, $f22 +/* 823B64 802408A4 0C019E40 */ jal guTranslateF +/* 823B68 802408A8 00A0382D */ daddu $a3, $a1, $zero +/* 823B6C 802408AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 823B70 802408B0 0200282D */ daddu $a1, $s0, $zero +/* 823B74 802408B4 0C019D80 */ jal guMtxCatF +/* 823B78 802408B8 00A0302D */ daddu $a2, $a1, $zero +.L802408BC: +/* 823B7C 802408BC 8FBF005C */ lw $ra, 0x5c($sp) +/* 823B80 802408C0 8FB20058 */ lw $s2, 0x58($sp) +/* 823B84 802408C4 8FB10054 */ lw $s1, 0x54($sp) +/* 823B88 802408C8 8FB00050 */ lw $s0, 0x50($sp) +/* 823B8C 802408CC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 823B90 802408D0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 823B94 802408D4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 823B98 802408D8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 823B9C 802408DC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 823BA0 802408E0 24020002 */ addiu $v0, $zero, 2 +/* 823BA4 802408E4 03E00008 */ jr $ra +/* 823BA8 802408E8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 823BAC 802408EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802408F0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802408F0.s new file mode 100644 index 0000000000..cd405107eb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802408F0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F0 +/* 823BB0 802408F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 823BB4 802408F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 823BB8 802408F8 0C04417A */ jal get_entity_by_index +/* 823BBC 802408FC 8C840084 */ lw $a0, 0x84($a0) +/* 823BC0 80240900 0040182D */ daddu $v1, $v0, $zero +/* 823BC4 80240904 8C640000 */ lw $a0, ($v1) +/* 823BC8 80240908 3C050010 */ lui $a1, 0x10 +/* 823BCC 8024090C 00852025 */ or $a0, $a0, $a1 +/* 823BD0 80240910 AC640000 */ sw $a0, ($v1) +/* 823BD4 80240914 8FBF0010 */ lw $ra, 0x10($sp) +/* 823BD8 80240918 24020002 */ addiu $v0, $zero, 2 +/* 823BDC 8024091C 03E00008 */ jr $ra +/* 823BE0 80240920 27BD0018 */ addiu $sp, $sp, 0x18 +/* 823BE4 80240924 00000000 */ nop +/* 823BE8 80240928 00000000 */ nop +/* 823BEC 8024092C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240930.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240930.s new file mode 100644 index 0000000000..76fc387541 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240930.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240930 +/* 823BF0 80240930 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 823BF4 80240934 AFB50024 */ sw $s5, 0x24($sp) +/* 823BF8 80240938 0080A82D */ daddu $s5, $a0, $zero +/* 823BFC 8024093C AFBF002C */ sw $ra, 0x2c($sp) +/* 823C00 80240940 AFB60028 */ sw $s6, 0x28($sp) +/* 823C04 80240944 AFB40020 */ sw $s4, 0x20($sp) +/* 823C08 80240948 AFB3001C */ sw $s3, 0x1c($sp) +/* 823C0C 8024094C AFB20018 */ sw $s2, 0x18($sp) +/* 823C10 80240950 AFB10014 */ sw $s1, 0x14($sp) +/* 823C14 80240954 AFB00010 */ sw $s0, 0x10($sp) +/* 823C18 80240958 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 823C1C 8024095C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 823C20 80240960 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 823C24 80240964 8EB30148 */ lw $s3, 0x148($s5) +/* 823C28 80240968 86640008 */ lh $a0, 8($s3) +/* 823C2C 8024096C 0C00EABB */ jal get_npc_unsafe +/* 823C30 80240970 00A0B02D */ daddu $s6, $a1, $zero +/* 823C34 80240974 0040A02D */ daddu $s4, $v0, $zero +/* 823C38 80240978 AEA00074 */ sw $zero, 0x74($s5) +/* 823C3C 8024097C C6980038 */ lwc1 $f24, 0x38($s4) +/* 823C40 80240980 C6960040 */ lwc1 $f22, 0x40($s4) +/* 823C44 80240984 0000902D */ daddu $s2, $zero, $zero +/* 823C48 80240988 AEA00078 */ sw $zero, 0x78($s5) +/* 823C4C 8024098C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 823C50 80240990 8C620000 */ lw $v0, ($v1) +/* 823C54 80240994 3C0146FF */ lui $at, 0x46ff +/* 823C58 80240998 3421FE00 */ ori $at, $at, 0xfe00 +/* 823C5C 8024099C 4481A000 */ mtc1 $at, $f20 +/* 823C60 802409A0 18400018 */ blez $v0, .L80240A04 +/* 823C64 802409A4 0240802D */ daddu $s0, $s2, $zero +/* 823C68 802409A8 0240882D */ daddu $s1, $s2, $zero +.L802409AC: +/* 823C6C 802409AC 02231021 */ addu $v0, $s1, $v1 +/* 823C70 802409B0 4600C306 */ mov.s $f12, $f24 +/* 823C74 802409B4 C4440004 */ lwc1 $f4, 4($v0) +/* 823C78 802409B8 46802120 */ cvt.s.w $f4, $f4 +/* 823C7C 802409BC 44062000 */ mfc1 $a2, $f4 +/* 823C80 802409C0 C444000C */ lwc1 $f4, 0xc($v0) +/* 823C84 802409C4 46802120 */ cvt.s.w $f4, $f4 +/* 823C88 802409C8 44072000 */ mfc1 $a3, $f4 +/* 823C8C 802409CC 0C00A7B5 */ jal dist2D +/* 823C90 802409D0 4600B386 */ mov.s $f14, $f22 +/* 823C94 802409D4 4614003C */ c.lt.s $f0, $f20 +/* 823C98 802409D8 00000000 */ nop +/* 823C9C 802409DC 45000003 */ bc1f .L802409EC +/* 823CA0 802409E0 2631000C */ addiu $s1, $s1, 0xc +/* 823CA4 802409E4 46000506 */ mov.s $f20, $f0 +/* 823CA8 802409E8 AEB20078 */ sw $s2, 0x78($s5) +.L802409EC: +/* 823CAC 802409EC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 823CB0 802409F0 26100001 */ addiu $s0, $s0, 1 +/* 823CB4 802409F4 8C620000 */ lw $v0, ($v1) +/* 823CB8 802409F8 0202102A */ slt $v0, $s0, $v0 +/* 823CBC 802409FC 1440FFEB */ bnez $v0, .L802409AC +/* 823CC0 80240A00 26520001 */ addiu $s2, $s2, 1 +.L80240A04: +/* 823CC4 80240A04 8E6200CC */ lw $v0, 0xcc($s3) +/* 823CC8 80240A08 8C420004 */ lw $v0, 4($v0) +/* 823CCC 80240A0C AE820028 */ sw $v0, 0x28($s4) +/* 823CD0 80240A10 8E6200D0 */ lw $v0, 0xd0($s3) +/* 823CD4 80240A14 8C42007C */ lw $v0, 0x7c($v0) +/* 823CD8 80240A18 04410004 */ bgez $v0, .L80240A2C +/* 823CDC 80240A1C 00000000 */ nop +/* 823CE0 80240A20 C6C00000 */ lwc1 $f0, ($s6) +/* 823CE4 80240A24 08090293 */ j .L80240A4C +/* 823CE8 80240A28 E6800018 */ swc1 $f0, 0x18($s4) +.L80240A2C: +/* 823CEC 80240A2C 3C018025 */ lui $at, 0x8025 +/* 823CF0 80240A30 D422E200 */ ldc1 $f2, -0x1e00($at) +/* 823CF4 80240A34 44820000 */ mtc1 $v0, $f0 +/* 823CF8 80240A38 00000000 */ nop +/* 823CFC 80240A3C 46800021 */ cvt.d.w $f0, $f0 +/* 823D00 80240A40 46220003 */ div.d $f0, $f0, $f2 +/* 823D04 80240A44 46200020 */ cvt.s.d $f0, $f0 +/* 823D08 80240A48 E6800018 */ swc1 $f0, 0x18($s4) +.L80240A4C: +/* 823D0C 80240A4C 24020001 */ addiu $v0, $zero, 1 +/* 823D10 80240A50 AEA20070 */ sw $v0, 0x70($s5) +/* 823D14 80240A54 8FBF002C */ lw $ra, 0x2c($sp) +/* 823D18 80240A58 8FB60028 */ lw $s6, 0x28($sp) +/* 823D1C 80240A5C 8FB50024 */ lw $s5, 0x24($sp) +/* 823D20 80240A60 8FB40020 */ lw $s4, 0x20($sp) +/* 823D24 80240A64 8FB3001C */ lw $s3, 0x1c($sp) +/* 823D28 80240A68 8FB20018 */ lw $s2, 0x18($sp) +/* 823D2C 80240A6C 8FB10014 */ lw $s1, 0x14($sp) +/* 823D30 80240A70 8FB00010 */ lw $s0, 0x10($sp) +/* 823D34 80240A74 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 823D38 80240A78 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 823D3C 80240A7C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 823D40 80240A80 03E00008 */ jr $ra +/* 823D44 80240A84 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240A88.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240A88.s new file mode 100644 index 0000000000..83822eef5a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240A88.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A88 +/* 823D48 80240A88 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 823D4C 80240A8C AFB20038 */ sw $s2, 0x38($sp) +/* 823D50 80240A90 0080902D */ daddu $s2, $a0, $zero +/* 823D54 80240A94 AFBF0044 */ sw $ra, 0x44($sp) +/* 823D58 80240A98 AFB40040 */ sw $s4, 0x40($sp) +/* 823D5C 80240A9C AFB3003C */ sw $s3, 0x3c($sp) +/* 823D60 80240AA0 AFB10034 */ sw $s1, 0x34($sp) +/* 823D64 80240AA4 AFB00030 */ sw $s0, 0x30($sp) +/* 823D68 80240AA8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 823D6C 80240AAC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 823D70 80240AB0 8E510148 */ lw $s1, 0x148($s2) +/* 823D74 80240AB4 00A0982D */ daddu $s3, $a1, $zero +/* 823D78 80240AB8 86240008 */ lh $a0, 8($s1) +/* 823D7C 80240ABC 0C00EABB */ jal get_npc_unsafe +/* 823D80 80240AC0 00C0A02D */ daddu $s4, $a2, $zero +/* 823D84 80240AC4 8E630014 */ lw $v1, 0x14($s3) +/* 823D88 80240AC8 04600030 */ bltz $v1, .L80240B8C +/* 823D8C 80240ACC 0040802D */ daddu $s0, $v0, $zero +/* 823D90 80240AD0 8E420074 */ lw $v0, 0x74($s2) +/* 823D94 80240AD4 1C40002C */ bgtz $v0, .L80240B88 +/* 823D98 80240AD8 2442FFFF */ addiu $v0, $v0, -1 +/* 823D9C 80240ADC 0280202D */ daddu $a0, $s4, $zero +/* 823DA0 80240AE0 AE430074 */ sw $v1, 0x74($s2) +/* 823DA4 80240AE4 AFA00010 */ sw $zero, 0x10($sp) +/* 823DA8 80240AE8 8E66000C */ lw $a2, 0xc($s3) +/* 823DAC 80240AEC 8E670010 */ lw $a3, 0x10($s3) +/* 823DB0 80240AF0 0C01242D */ jal func_800490B4 +/* 823DB4 80240AF4 0220282D */ daddu $a1, $s1, $zero +/* 823DB8 80240AF8 10400021 */ beqz $v0, .L80240B80 +/* 823DBC 80240AFC 0000202D */ daddu $a0, $zero, $zero +/* 823DC0 80240B00 0200282D */ daddu $a1, $s0, $zero +/* 823DC4 80240B04 0000302D */ daddu $a2, $zero, $zero +/* 823DC8 80240B08 860300A8 */ lh $v1, 0xa8($s0) +/* 823DCC 80240B0C 3C013F80 */ lui $at, 0x3f80 +/* 823DD0 80240B10 44810000 */ mtc1 $at, $f0 +/* 823DD4 80240B14 3C014000 */ lui $at, 0x4000 +/* 823DD8 80240B18 44811000 */ mtc1 $at, $f2 +/* 823DDC 80240B1C 3C01C1A0 */ lui $at, 0xc1a0 +/* 823DE0 80240B20 44812000 */ mtc1 $at, $f4 +/* 823DE4 80240B24 2402000F */ addiu $v0, $zero, 0xf +/* 823DE8 80240B28 AFA2001C */ sw $v0, 0x1c($sp) +/* 823DEC 80240B2C 44833000 */ mtc1 $v1, $f6 +/* 823DF0 80240B30 00000000 */ nop +/* 823DF4 80240B34 468031A0 */ cvt.s.w $f6, $f6 +/* 823DF8 80240B38 44073000 */ mfc1 $a3, $f6 +/* 823DFC 80240B3C 27A20028 */ addiu $v0, $sp, 0x28 +/* 823E00 80240B40 AFA20020 */ sw $v0, 0x20($sp) +/* 823E04 80240B44 E7A00010 */ swc1 $f0, 0x10($sp) +/* 823E08 80240B48 E7A20014 */ swc1 $f2, 0x14($sp) +/* 823E0C 80240B4C 0C01BFA4 */ jal fx_emote +/* 823E10 80240B50 E7A40018 */ swc1 $f4, 0x18($sp) +/* 823E14 80240B54 0200202D */ daddu $a0, $s0, $zero +/* 823E18 80240B58 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 823E1C 80240B5C 0C012530 */ jal func_800494C0 +/* 823E20 80240B60 3C060020 */ lui $a2, 0x20 +/* 823E24 80240B64 8E220018 */ lw $v0, 0x18($s1) +/* 823E28 80240B68 9442002A */ lhu $v0, 0x2a($v0) +/* 823E2C 80240B6C 30420001 */ andi $v0, $v0, 1 +/* 823E30 80240B70 14400064 */ bnez $v0, .L80240D04 +/* 823E34 80240B74 2402000A */ addiu $v0, $zero, 0xa +/* 823E38 80240B78 08090341 */ j .L80240D04 +/* 823E3C 80240B7C 2402000C */ addiu $v0, $zero, 0xc +.L80240B80: +/* 823E40 80240B80 8E420074 */ lw $v0, 0x74($s2) +/* 823E44 80240B84 2442FFFF */ addiu $v0, $v0, -1 +.L80240B88: +/* 823E48 80240B88 AE420074 */ sw $v0, 0x74($s2) +.L80240B8C: +/* 823E4C 80240B8C 8602008C */ lh $v0, 0x8c($s0) +/* 823E50 80240B90 1440005D */ bnez $v0, .L80240D08 +/* 823E54 80240B94 00000000 */ nop +/* 823E58 80240B98 C6000018 */ lwc1 $f0, 0x18($s0) +/* 823E5C 80240B9C 3C014010 */ lui $at, 0x4010 +/* 823E60 80240BA0 44811800 */ mtc1 $at, $f3 +/* 823E64 80240BA4 44801000 */ mtc1 $zero, $f2 +/* 823E68 80240BA8 46000021 */ cvt.d.s $f0, $f0 +/* 823E6C 80240BAC 4622003C */ c.lt.d $f0, $f2 +/* 823E70 80240BB0 00000000 */ nop +/* 823E74 80240BB4 45000003 */ bc1f .L80240BC4 +/* 823E78 80240BB8 0200202D */ daddu $a0, $s0, $zero +/* 823E7C 80240BBC 080902F2 */ j .L80240BC8 +/* 823E80 80240BC0 0000282D */ daddu $a1, $zero, $zero +.L80240BC4: +/* 823E84 80240BC4 24050001 */ addiu $a1, $zero, 1 +.L80240BC8: +/* 823E88 80240BC8 0C00F598 */ jal func_8003D660 +/* 823E8C 80240BCC 00000000 */ nop +/* 823E90 80240BD0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 823E94 80240BD4 8E430078 */ lw $v1, 0x78($s2) +/* 823E98 80240BD8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 823E9C 80240BDC 00031040 */ sll $v0, $v1, 1 +/* 823EA0 80240BE0 00431021 */ addu $v0, $v0, $v1 +/* 823EA4 80240BE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 823EA8 80240BE8 00021080 */ sll $v0, $v0, 2 +/* 823EAC 80240BEC 00431021 */ addu $v0, $v0, $v1 +/* 823EB0 80240BF0 C4560004 */ lwc1 $f22, 4($v0) +/* 823EB4 80240BF4 4680B5A0 */ cvt.s.w $f22, $f22 +/* 823EB8 80240BF8 C454000C */ lwc1 $f20, 0xc($v0) +/* 823EBC 80240BFC 4680A520 */ cvt.s.w $f20, $f20 +/* 823EC0 80240C00 4406B000 */ mfc1 $a2, $f22 +/* 823EC4 80240C04 4407A000 */ mfc1 $a3, $f20 +/* 823EC8 80240C08 0C00A720 */ jal atan2 +/* 823ECC 80240C0C 00000000 */ nop +/* 823ED0 80240C10 8E050018 */ lw $a1, 0x18($s0) +/* 823ED4 80240C14 44060000 */ mfc1 $a2, $f0 +/* 823ED8 80240C18 0200202D */ daddu $a0, $s0, $zero +/* 823EDC 80240C1C 0C00EA95 */ jal npc_move_heading +/* 823EE0 80240C20 AE06000C */ sw $a2, 0xc($s0) +/* 823EE4 80240C24 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 823EE8 80240C28 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 823EEC 80240C2C 4406B000 */ mfc1 $a2, $f22 +/* 823EF0 80240C30 4407A000 */ mfc1 $a3, $f20 +/* 823EF4 80240C34 0C00A7B5 */ jal dist2D +/* 823EF8 80240C38 00000000 */ nop +/* 823EFC 80240C3C C6020018 */ lwc1 $f2, 0x18($s0) +/* 823F00 80240C40 4602003E */ c.le.s $f0, $f2 +/* 823F04 80240C44 00000000 */ nop +/* 823F08 80240C48 4500002F */ bc1f .L80240D08 +/* 823F0C 80240C4C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 823F10 80240C50 24020002 */ addiu $v0, $zero, 2 +/* 823F14 80240C54 0C00A67F */ jal rand_int +/* 823F18 80240C58 AE420070 */ sw $v0, 0x70($s2) +/* 823F1C 80240C5C 3C035555 */ lui $v1, 0x5555 +/* 823F20 80240C60 34635556 */ ori $v1, $v1, 0x5556 +/* 823F24 80240C64 00430018 */ mult $v0, $v1 +/* 823F28 80240C68 000227C3 */ sra $a0, $v0, 0x1f +/* 823F2C 80240C6C 00004010 */ mfhi $t0 +/* 823F30 80240C70 01042023 */ subu $a0, $t0, $a0 +/* 823F34 80240C74 00041840 */ sll $v1, $a0, 1 +/* 823F38 80240C78 00641821 */ addu $v1, $v1, $a0 +/* 823F3C 80240C7C 00431023 */ subu $v0, $v0, $v1 +/* 823F40 80240C80 24430002 */ addiu $v1, $v0, 2 +/* 823F44 80240C84 AE430074 */ sw $v1, 0x74($s2) +/* 823F48 80240C88 8E62002C */ lw $v0, 0x2c($s3) +/* 823F4C 80240C8C 18400009 */ blez $v0, .L80240CB4 +/* 823F50 80240C90 24020004 */ addiu $v0, $zero, 4 +/* 823F54 80240C94 8E620004 */ lw $v0, 4($s3) +/* 823F58 80240C98 18400006 */ blez $v0, .L80240CB4 +/* 823F5C 80240C9C 24020004 */ addiu $v0, $zero, 4 +/* 823F60 80240CA0 8E620008 */ lw $v0, 8($s3) +/* 823F64 80240CA4 18400003 */ blez $v0, .L80240CB4 +/* 823F68 80240CA8 24020004 */ addiu $v0, $zero, 4 +/* 823F6C 80240CAC 14600002 */ bnez $v1, .L80240CB8 +/* 823F70 80240CB0 00000000 */ nop +.L80240CB4: +/* 823F74 80240CB4 AE420070 */ sw $v0, 0x70($s2) +.L80240CB8: +/* 823F78 80240CB8 0C00A67F */ jal rand_int +/* 823F7C 80240CBC 24042710 */ addiu $a0, $zero, 0x2710 +/* 823F80 80240CC0 3C0351EB */ lui $v1, 0x51eb +/* 823F84 80240CC4 3463851F */ ori $v1, $v1, 0x851f +/* 823F88 80240CC8 00430018 */ mult $v0, $v1 +/* 823F8C 80240CCC 00021FC3 */ sra $v1, $v0, 0x1f +/* 823F90 80240CD0 00004010 */ mfhi $t0 +/* 823F94 80240CD4 00082143 */ sra $a0, $t0, 5 +/* 823F98 80240CD8 00832023 */ subu $a0, $a0, $v1 +/* 823F9C 80240CDC 00041840 */ sll $v1, $a0, 1 +/* 823FA0 80240CE0 00641821 */ addu $v1, $v1, $a0 +/* 823FA4 80240CE4 000318C0 */ sll $v1, $v1, 3 +/* 823FA8 80240CE8 00641821 */ addu $v1, $v1, $a0 +/* 823FAC 80240CEC 00031880 */ sll $v1, $v1, 2 +/* 823FB0 80240CF0 8E640004 */ lw $a0, 4($s3) +/* 823FB4 80240CF4 00431023 */ subu $v0, $v0, $v1 +/* 823FB8 80240CF8 0044102A */ slt $v0, $v0, $a0 +/* 823FBC 80240CFC 10400002 */ beqz $v0, .L80240D08 +/* 823FC0 80240D00 24020004 */ addiu $v0, $zero, 4 +.L80240D04: +/* 823FC4 80240D04 AE420070 */ sw $v0, 0x70($s2) +.L80240D08: +/* 823FC8 80240D08 8FBF0044 */ lw $ra, 0x44($sp) +/* 823FCC 80240D0C 8FB40040 */ lw $s4, 0x40($sp) +/* 823FD0 80240D10 8FB3003C */ lw $s3, 0x3c($sp) +/* 823FD4 80240D14 8FB20038 */ lw $s2, 0x38($sp) +/* 823FD8 80240D18 8FB10034 */ lw $s1, 0x34($sp) +/* 823FDC 80240D1C 8FB00030 */ lw $s0, 0x30($sp) +/* 823FE0 80240D20 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 823FE4 80240D24 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 823FE8 80240D28 03E00008 */ jr $ra +/* 823FEC 80240D2C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240D30.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240D30.s new file mode 100644 index 0000000000..39403955fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240D30.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30 +/* 823FF0 80240D30 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 823FF4 80240D34 AFB3001C */ sw $s3, 0x1c($sp) +/* 823FF8 80240D38 0080982D */ daddu $s3, $a0, $zero +/* 823FFC 80240D3C AFBF0020 */ sw $ra, 0x20($sp) +/* 824000 80240D40 AFB20018 */ sw $s2, 0x18($sp) +/* 824004 80240D44 AFB10014 */ sw $s1, 0x14($sp) +/* 824008 80240D48 AFB00010 */ sw $s0, 0x10($sp) +/* 82400C 80240D4C 8E720148 */ lw $s2, 0x148($s3) +/* 824010 80240D50 86440008 */ lh $a0, 8($s2) +/* 824014 80240D54 0C00EABB */ jal get_npc_unsafe +/* 824018 80240D58 00A0882D */ daddu $s1, $a1, $zero +/* 82401C 80240D5C 8E240008 */ lw $a0, 8($s1) +/* 824020 80240D60 0040802D */ daddu $s0, $v0, $zero +/* 824024 80240D64 00041FC2 */ srl $v1, $a0, 0x1f +/* 824028 80240D68 00832021 */ addu $a0, $a0, $v1 +/* 82402C 80240D6C 00042043 */ sra $a0, $a0, 1 +/* 824030 80240D70 0C00A67F */ jal rand_int +/* 824034 80240D74 24840001 */ addiu $a0, $a0, 1 +/* 824038 80240D78 8E230008 */ lw $v1, 8($s1) +/* 82403C 80240D7C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 824040 80240D80 00032FC2 */ srl $a1, $v1, 0x1f +/* 824044 80240D84 00651821 */ addu $v1, $v1, $a1 +/* 824048 80240D88 00031843 */ sra $v1, $v1, 1 +/* 82404C 80240D8C 00621821 */ addu $v1, $v1, $v0 +/* 824050 80240D90 0C00A67F */ jal rand_int +/* 824054 80240D94 A603008E */ sh $v1, 0x8e($s0) +/* 824058 80240D98 C60C000C */ lwc1 $f12, 0xc($s0) +/* 82405C 80240D9C 44820000 */ mtc1 $v0, $f0 +/* 824060 80240DA0 00000000 */ nop +/* 824064 80240DA4 46800020 */ cvt.s.w $f0, $f0 +/* 824068 80240DA8 46006300 */ add.s $f12, $f12, $f0 +/* 82406C 80240DAC 3C0142B4 */ lui $at, 0x42b4 +/* 824070 80240DB0 44810000 */ mtc1 $at, $f0 +/* 824074 80240DB4 0C00A6C9 */ jal clamp_angle +/* 824078 80240DB8 46006301 */ sub.s $f12, $f12, $f0 +/* 82407C 80240DBC E600000C */ swc1 $f0, 0xc($s0) +/* 824080 80240DC0 8E4200CC */ lw $v0, 0xcc($s2) +/* 824084 80240DC4 8C420000 */ lw $v0, ($v0) +/* 824088 80240DC8 AE020028 */ sw $v0, 0x28($s0) +/* 82408C 80240DCC 24020003 */ addiu $v0, $zero, 3 +/* 824090 80240DD0 AE620070 */ sw $v0, 0x70($s3) +/* 824094 80240DD4 8FBF0020 */ lw $ra, 0x20($sp) +/* 824098 80240DD8 8FB3001C */ lw $s3, 0x1c($sp) +/* 82409C 80240DDC 8FB20018 */ lw $s2, 0x18($sp) +/* 8240A0 80240DE0 8FB10014 */ lw $s1, 0x14($sp) +/* 8240A4 80240DE4 8FB00010 */ lw $s0, 0x10($sp) +/* 8240A8 80240DE8 03E00008 */ jr $ra +/* 8240AC 80240DEC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240DF0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240DF0.s new file mode 100644 index 0000000000..851465a57a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240DF0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF0 +/* 8240B0 80240DF0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8240B4 80240DF4 AFB40040 */ sw $s4, 0x40($sp) +/* 8240B8 80240DF8 0080A02D */ daddu $s4, $a0, $zero +/* 8240BC 80240DFC AFBF0044 */ sw $ra, 0x44($sp) +/* 8240C0 80240E00 AFB3003C */ sw $s3, 0x3c($sp) +/* 8240C4 80240E04 AFB20038 */ sw $s2, 0x38($sp) +/* 8240C8 80240E08 AFB10034 */ sw $s1, 0x34($sp) +/* 8240CC 80240E0C AFB00030 */ sw $s0, 0x30($sp) +/* 8240D0 80240E10 8E910148 */ lw $s1, 0x148($s4) +/* 8240D4 80240E14 00A0902D */ daddu $s2, $a1, $zero +/* 8240D8 80240E18 86240008 */ lh $a0, 8($s1) +/* 8240DC 80240E1C 0C00EABB */ jal get_npc_unsafe +/* 8240E0 80240E20 00C0982D */ daddu $s3, $a2, $zero +/* 8240E4 80240E24 8E430014 */ lw $v1, 0x14($s2) +/* 8240E8 80240E28 04600031 */ bltz $v1, .L80240EF0 +/* 8240EC 80240E2C 0040802D */ daddu $s0, $v0, $zero +/* 8240F0 80240E30 0260202D */ daddu $a0, $s3, $zero +/* 8240F4 80240E34 AFA00010 */ sw $zero, 0x10($sp) +/* 8240F8 80240E38 8E460024 */ lw $a2, 0x24($s2) +/* 8240FC 80240E3C 8E470028 */ lw $a3, 0x28($s2) +/* 824100 80240E40 0C01242D */ jal func_800490B4 +/* 824104 80240E44 0220282D */ daddu $a1, $s1, $zero +/* 824108 80240E48 10400029 */ beqz $v0, .L80240EF0 +/* 82410C 80240E4C 0000202D */ daddu $a0, $zero, $zero +/* 824110 80240E50 0200282D */ daddu $a1, $s0, $zero +/* 824114 80240E54 0000302D */ daddu $a2, $zero, $zero +/* 824118 80240E58 860300A8 */ lh $v1, 0xa8($s0) +/* 82411C 80240E5C 3C013F80 */ lui $at, 0x3f80 +/* 824120 80240E60 44810000 */ mtc1 $at, $f0 +/* 824124 80240E64 3C014000 */ lui $at, 0x4000 +/* 824128 80240E68 44811000 */ mtc1 $at, $f2 +/* 82412C 80240E6C 3C01C1A0 */ lui $at, 0xc1a0 +/* 824130 80240E70 44812000 */ mtc1 $at, $f4 +/* 824134 80240E74 2402000F */ addiu $v0, $zero, 0xf +/* 824138 80240E78 AFA2001C */ sw $v0, 0x1c($sp) +/* 82413C 80240E7C 44833000 */ mtc1 $v1, $f6 +/* 824140 80240E80 00000000 */ nop +/* 824144 80240E84 468031A0 */ cvt.s.w $f6, $f6 +/* 824148 80240E88 44073000 */ mfc1 $a3, $f6 +/* 82414C 80240E8C 27A20028 */ addiu $v0, $sp, 0x28 +/* 824150 80240E90 AFA20020 */ sw $v0, 0x20($sp) +/* 824154 80240E94 E7A00010 */ swc1 $f0, 0x10($sp) +/* 824158 80240E98 E7A20014 */ swc1 $f2, 0x14($sp) +/* 82415C 80240E9C 0C01BFA4 */ jal fx_emote +/* 824160 80240EA0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 824164 80240EA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 824168 80240EA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 82416C 80240EAC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 824170 80240EB0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 824174 80240EB4 8C460028 */ lw $a2, 0x28($v0) +/* 824178 80240EB8 0C00A720 */ jal atan2 +/* 82417C 80240EBC 8C470030 */ lw $a3, 0x30($v0) +/* 824180 80240EC0 0200202D */ daddu $a0, $s0, $zero +/* 824184 80240EC4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 824188 80240EC8 3C060020 */ lui $a2, 0x20 +/* 82418C 80240ECC 0C012530 */ jal func_800494C0 +/* 824190 80240ED0 E480000C */ swc1 $f0, 0xc($a0) +/* 824194 80240ED4 8E220018 */ lw $v0, 0x18($s1) +/* 824198 80240ED8 9442002A */ lhu $v0, 0x2a($v0) +/* 82419C 80240EDC 30420001 */ andi $v0, $v0, 1 +/* 8241A0 80240EE0 14400029 */ bnez $v0, .L80240F88 +/* 8241A4 80240EE4 2402000A */ addiu $v0, $zero, 0xa +/* 8241A8 80240EE8 080903E2 */ j .L80240F88 +/* 8241AC 80240EEC 2402000C */ addiu $v0, $zero, 0xc +.L80240EF0: +/* 8241B0 80240EF0 8602008C */ lh $v0, 0x8c($s0) +/* 8241B4 80240EF4 14400025 */ bnez $v0, .L80240F8C +/* 8241B8 80240EF8 00000000 */ nop +/* 8241BC 80240EFC 9602008E */ lhu $v0, 0x8e($s0) +/* 8241C0 80240F00 2442FFFF */ addiu $v0, $v0, -1 +/* 8241C4 80240F04 A602008E */ sh $v0, 0x8e($s0) +/* 8241C8 80240F08 00021400 */ sll $v0, $v0, 0x10 +/* 8241CC 80240F0C 1440001F */ bnez $v0, .L80240F8C +/* 8241D0 80240F10 00000000 */ nop +/* 8241D4 80240F14 8E820074 */ lw $v0, 0x74($s4) +/* 8241D8 80240F18 2442FFFF */ addiu $v0, $v0, -1 +/* 8241DC 80240F1C 10400019 */ beqz $v0, .L80240F84 +/* 8241E0 80240F20 AE820074 */ sw $v0, 0x74($s4) +/* 8241E4 80240F24 8E220018 */ lw $v0, 0x18($s1) +/* 8241E8 80240F28 9442002A */ lhu $v0, 0x2a($v0) +/* 8241EC 80240F2C 30420010 */ andi $v0, $v0, 0x10 +/* 8241F0 80240F30 14400007 */ bnez $v0, .L80240F50 +/* 8241F4 80240F34 00000000 */ nop +/* 8241F8 80240F38 C600000C */ lwc1 $f0, 0xc($s0) +/* 8241FC 80240F3C 3C014334 */ lui $at, 0x4334 +/* 824200 80240F40 44816000 */ mtc1 $at, $f12 +/* 824204 80240F44 0C00A6C9 */ jal clamp_angle +/* 824208 80240F48 460C0300 */ add.s $f12, $f0, $f12 +/* 82420C 80240F4C E600000C */ swc1 $f0, 0xc($s0) +.L80240F50: +/* 824210 80240F50 8E440008 */ lw $a0, 8($s2) +/* 824214 80240F54 000417C2 */ srl $v0, $a0, 0x1f +/* 824218 80240F58 00822021 */ addu $a0, $a0, $v0 +/* 82421C 80240F5C 00042043 */ sra $a0, $a0, 1 +/* 824220 80240F60 0C00A67F */ jal rand_int +/* 824224 80240F64 24840001 */ addiu $a0, $a0, 1 +/* 824228 80240F68 8E430008 */ lw $v1, 8($s2) +/* 82422C 80240F6C 000327C2 */ srl $a0, $v1, 0x1f +/* 824230 80240F70 00641821 */ addu $v1, $v1, $a0 +/* 824234 80240F74 00031843 */ sra $v1, $v1, 1 +/* 824238 80240F78 00621821 */ addu $v1, $v1, $v0 +/* 82423C 80240F7C 080903E3 */ j .L80240F8C +/* 824240 80240F80 A603008E */ sh $v1, 0x8e($s0) +.L80240F84: +/* 824244 80240F84 24020004 */ addiu $v0, $zero, 4 +.L80240F88: +/* 824248 80240F88 AE820070 */ sw $v0, 0x70($s4) +.L80240F8C: +/* 82424C 80240F8C 8FBF0044 */ lw $ra, 0x44($sp) +/* 824250 80240F90 8FB40040 */ lw $s4, 0x40($sp) +/* 824254 80240F94 8FB3003C */ lw $s3, 0x3c($sp) +/* 824258 80240F98 8FB20038 */ lw $s2, 0x38($sp) +/* 82425C 80240F9C 8FB10034 */ lw $s1, 0x34($sp) +/* 824260 80240FA0 8FB00030 */ lw $s0, 0x30($sp) +/* 824264 80240FA4 03E00008 */ jr $ra +/* 824268 80240FA8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80240FAC.s b/asm/nonmatchings/world/area_mac/mac_02/func_80240FAC.s new file mode 100644 index 0000000000..5d33772164 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80240FAC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FAC +/* 82426C 80240FAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 824270 80240FB0 AFB10014 */ sw $s1, 0x14($sp) +/* 824274 80240FB4 0080882D */ daddu $s1, $a0, $zero +/* 824278 80240FB8 AFBF001C */ sw $ra, 0x1c($sp) +/* 82427C 80240FBC AFB20018 */ sw $s2, 0x18($sp) +/* 824280 80240FC0 AFB00010 */ sw $s0, 0x10($sp) +/* 824284 80240FC4 8E300148 */ lw $s0, 0x148($s1) +/* 824288 80240FC8 86040008 */ lh $a0, 8($s0) +/* 82428C 80240FCC 0C00EABB */ jal get_npc_unsafe +/* 824290 80240FD0 00A0902D */ daddu $s2, $a1, $zero +/* 824294 80240FD4 8E230078 */ lw $v1, 0x78($s1) +/* 824298 80240FD8 24630001 */ addiu $v1, $v1, 1 +/* 82429C 80240FDC AE230078 */ sw $v1, 0x78($s1) +/* 8242A0 80240FE0 8E0400D0 */ lw $a0, 0xd0($s0) +/* 8242A4 80240FE4 8C840000 */ lw $a0, ($a0) +/* 8242A8 80240FE8 0064182A */ slt $v1, $v1, $a0 +/* 8242AC 80240FEC 14600002 */ bnez $v1, .L80240FF8 +/* 8242B0 80240FF0 0040282D */ daddu $a1, $v0, $zero +/* 8242B4 80240FF4 AE200078 */ sw $zero, 0x78($s1) +.L80240FF8: +/* 8242B8 80240FF8 8E0200CC */ lw $v0, 0xcc($s0) +/* 8242BC 80240FFC 8C420004 */ lw $v0, 4($v0) +/* 8242C0 80241000 ACA20028 */ sw $v0, 0x28($a1) +/* 8242C4 80241004 8E0200D0 */ lw $v0, 0xd0($s0) +/* 8242C8 80241008 8C42007C */ lw $v0, 0x7c($v0) +/* 8242CC 8024100C 04410004 */ bgez $v0, .L80241020 +/* 8242D0 80241010 00000000 */ nop +/* 8242D4 80241014 C6400000 */ lwc1 $f0, ($s2) +/* 8242D8 80241018 08090410 */ j .L80241040 +/* 8242DC 8024101C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241020: +/* 8242E0 80241020 3C018025 */ lui $at, 0x8025 +/* 8242E4 80241024 D422E208 */ ldc1 $f2, -0x1df8($at) +/* 8242E8 80241028 44820000 */ mtc1 $v0, $f0 +/* 8242EC 8024102C 00000000 */ nop +/* 8242F0 80241030 46800021 */ cvt.d.w $f0, $f0 +/* 8242F4 80241034 46220003 */ div.d $f0, $f0, $f2 +/* 8242F8 80241038 46200020 */ cvt.s.d $f0, $f0 +/* 8242FC 8024103C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241040: +/* 824300 80241040 24020001 */ addiu $v0, $zero, 1 +/* 824304 80241044 AE220070 */ sw $v0, 0x70($s1) +/* 824308 80241048 8FBF001C */ lw $ra, 0x1c($sp) +/* 82430C 8024104C 8FB20018 */ lw $s2, 0x18($sp) +/* 824310 80241050 8FB10014 */ lw $s1, 0x14($sp) +/* 824314 80241054 8FB00010 */ lw $s0, 0x10($sp) +/* 824318 80241058 03E00008 */ jr $ra +/* 82431C 8024105C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241060.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241060.s new file mode 100644 index 0000000000..c646c62d21 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241060.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241060 +/* 824320 80241060 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 824324 80241064 AFB10014 */ sw $s1, 0x14($sp) +/* 824328 80241068 0080882D */ daddu $s1, $a0, $zero +/* 82432C 8024106C AFBF0018 */ sw $ra, 0x18($sp) +/* 824330 80241070 AFB00010 */ sw $s0, 0x10($sp) +/* 824334 80241074 8E300148 */ lw $s0, 0x148($s1) +/* 824338 80241078 0C00EABB */ jal get_npc_unsafe +/* 82433C 8024107C 86040008 */ lh $a0, 8($s0) +/* 824340 80241080 8E0300CC */ lw $v1, 0xcc($s0) +/* 824344 80241084 3C014120 */ lui $at, 0x4120 +/* 824348 80241088 44812000 */ mtc1 $at, $f4 +/* 82434C 8024108C 3C014000 */ lui $at, 0x4000 +/* 824350 80241090 44810000 */ mtc1 $at, $f0 +/* 824354 80241094 C442003C */ lwc1 $f2, 0x3c($v0) +/* 824358 80241098 8C640010 */ lw $a0, 0x10($v1) +/* 82435C 8024109C 8C430000 */ lw $v1, ($v0) +/* 824360 802410A0 E444001C */ swc1 $f4, 0x1c($v0) +/* 824364 802410A4 E4400014 */ swc1 $f0, 0x14($v0) +/* 824368 802410A8 E4420064 */ swc1 $f2, 0x64($v0) +/* 82436C 802410AC 34630800 */ ori $v1, $v1, 0x800 +/* 824370 802410B0 AC430000 */ sw $v1, ($v0) +/* 824374 802410B4 AC440028 */ sw $a0, 0x28($v0) +/* 824378 802410B8 2402000B */ addiu $v0, $zero, 0xb +/* 82437C 802410BC AE220070 */ sw $v0, 0x70($s1) +/* 824380 802410C0 8FBF0018 */ lw $ra, 0x18($sp) +/* 824384 802410C4 8FB10014 */ lw $s1, 0x14($sp) +/* 824388 802410C8 8FB00010 */ lw $s0, 0x10($sp) +/* 82438C 802410CC 03E00008 */ jr $ra +/* 824390 802410D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802410D4.s b/asm/nonmatchings/world/area_mac/mac_02/func_802410D4.s new file mode 100644 index 0000000000..26c036fcb6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802410D4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410D4 +/* 824394 802410D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 824398 802410D8 AFB00010 */ sw $s0, 0x10($sp) +/* 82439C 802410DC 0080802D */ daddu $s0, $a0, $zero +/* 8243A0 802410E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8243A4 802410E4 8E020148 */ lw $v0, 0x148($s0) +/* 8243A8 802410E8 0C00EABB */ jal get_npc_unsafe +/* 8243AC 802410EC 84440008 */ lh $a0, 8($v0) +/* 8243B0 802410F0 0040202D */ daddu $a0, $v0, $zero +/* 8243B4 802410F4 C482003C */ lwc1 $f2, 0x3c($a0) +/* 8243B8 802410F8 C480001C */ lwc1 $f0, 0x1c($a0) +/* 8243BC 802410FC 46001080 */ add.s $f2, $f2, $f0 +/* 8243C0 80241100 C4840014 */ lwc1 $f4, 0x14($a0) +/* 8243C4 80241104 46040001 */ sub.s $f0, $f0, $f4 +/* 8243C8 80241108 C4840064 */ lwc1 $f4, 0x64($a0) +/* 8243CC 8024110C 4602203C */ c.lt.s $f4, $f2 +/* 8243D0 80241110 E482003C */ swc1 $f2, 0x3c($a0) +/* 8243D4 80241114 45010009 */ bc1t .L8024113C +/* 8243D8 80241118 E480001C */ swc1 $f0, 0x1c($a0) +/* 8243DC 8024111C 8C820000 */ lw $v0, ($a0) +/* 8243E0 80241120 2403F7FF */ addiu $v1, $zero, -0x801 +/* 8243E4 80241124 E484003C */ swc1 $f4, 0x3c($a0) +/* 8243E8 80241128 AC80001C */ sw $zero, 0x1c($a0) +/* 8243EC 8024112C 00431024 */ and $v0, $v0, $v1 +/* 8243F0 80241130 AC820000 */ sw $v0, ($a0) +/* 8243F4 80241134 2402000C */ addiu $v0, $zero, 0xc +/* 8243F8 80241138 AE020070 */ sw $v0, 0x70($s0) +.L8024113C: +/* 8243FC 8024113C 8FBF0014 */ lw $ra, 0x14($sp) +/* 824400 80241140 8FB00010 */ lw $s0, 0x10($sp) +/* 824404 80241144 03E00008 */ jr $ra +/* 824408 80241148 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_8024114C.s b/asm/nonmatchings/world/area_mac/mac_02/func_8024114C.s new file mode 100644 index 0000000000..f64e8a03cb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_8024114C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024114C +/* 82440C 8024114C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 824410 80241150 AFB3001C */ sw $s3, 0x1c($sp) +/* 824414 80241154 0080982D */ daddu $s3, $a0, $zero +/* 824418 80241158 AFBF0020 */ sw $ra, 0x20($sp) +/* 82441C 8024115C AFB20018 */ sw $s2, 0x18($sp) +/* 824420 80241160 AFB10014 */ sw $s1, 0x14($sp) +/* 824424 80241164 AFB00010 */ sw $s0, 0x10($sp) +/* 824428 80241168 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 82442C 8024116C 8E710148 */ lw $s1, 0x148($s3) +/* 824430 80241170 86240008 */ lh $a0, 8($s1) +/* 824434 80241174 0C00EABB */ jal get_npc_unsafe +/* 824438 80241178 00A0802D */ daddu $s0, $a1, $zero +/* 82443C 8024117C 8E040020 */ lw $a0, 0x20($s0) +/* 824440 80241180 0040902D */ daddu $s2, $v0, $zero +/* 824444 80241184 00041FC2 */ srl $v1, $a0, 0x1f +/* 824448 80241188 00832021 */ addu $a0, $a0, $v1 +/* 82444C 8024118C 00042043 */ sra $a0, $a0, 1 +/* 824450 80241190 0C00A67F */ jal rand_int +/* 824454 80241194 24840001 */ addiu $a0, $a0, 1 +/* 824458 80241198 8E030020 */ lw $v1, 0x20($s0) +/* 82445C 8024119C C64C0038 */ lwc1 $f12, 0x38($s2) +/* 824460 802411A0 000327C2 */ srl $a0, $v1, 0x1f +/* 824464 802411A4 00641821 */ addu $v1, $v1, $a0 +/* 824468 802411A8 00031843 */ sra $v1, $v1, 1 +/* 82446C 802411AC 00621821 */ addu $v1, $v1, $v0 +/* 824470 802411B0 A643008E */ sh $v1, 0x8e($s2) +/* 824474 802411B4 8E2200CC */ lw $v0, 0xcc($s1) +/* 824478 802411B8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 82447C 802411BC 8C42000C */ lw $v0, 0xc($v0) +/* 824480 802411C0 AE420028 */ sw $v0, 0x28($s2) +/* 824484 802411C4 C6000018 */ lwc1 $f0, 0x18($s0) +/* 824488 802411C8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 82448C 802411CC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 824490 802411D0 E6400018 */ swc1 $f0, 0x18($s2) +/* 824494 802411D4 8C460028 */ lw $a2, 0x28($v0) +/* 824498 802411D8 0C00A720 */ jal atan2 +/* 82449C 802411DC 8C470030 */ lw $a3, 0x30($v0) +/* 8244A0 802411E0 46000506 */ mov.s $f20, $f0 +/* 8244A4 802411E4 C64C000C */ lwc1 $f12, 0xc($s2) +/* 8244A8 802411E8 0C00A70A */ jal get_clamped_angle_diff +/* 8244AC 802411EC 4600A386 */ mov.s $f14, $f20 +/* 8244B0 802411F0 46000086 */ mov.s $f2, $f0 +/* 8244B4 802411F4 8E02001C */ lw $v0, 0x1c($s0) +/* 8244B8 802411F8 46001005 */ abs.s $f0, $f2 +/* 8244BC 802411FC 44822000 */ mtc1 $v0, $f4 +/* 8244C0 80241200 00000000 */ nop +/* 8244C4 80241204 46802120 */ cvt.s.w $f4, $f4 +/* 8244C8 80241208 4600203C */ c.lt.s $f4, $f0 +/* 8244CC 8024120C 00000000 */ nop +/* 8244D0 80241210 4500000D */ bc1f .L80241248 +/* 8244D4 80241214 00000000 */ nop +/* 8244D8 80241218 44800000 */ mtc1 $zero, $f0 +/* 8244DC 8024121C C654000C */ lwc1 $f20, 0xc($s2) +/* 8244E0 80241220 4600103C */ c.lt.s $f2, $f0 +/* 8244E4 80241224 00000000 */ nop +/* 8244E8 80241228 45000006 */ bc1f .L80241244 +/* 8244EC 8024122C 00021023 */ negu $v0, $v0 +/* 8244F0 80241230 44820000 */ mtc1 $v0, $f0 +/* 8244F4 80241234 00000000 */ nop +/* 8244F8 80241238 46800020 */ cvt.s.w $f0, $f0 +/* 8244FC 8024123C 08090492 */ j .L80241248 +/* 824500 80241240 4600A500 */ add.s $f20, $f20, $f0 +.L80241244: +/* 824504 80241244 4604A500 */ add.s $f20, $f20, $f4 +.L80241248: +/* 824508 80241248 0C00A6C9 */ jal clamp_angle +/* 82450C 8024124C 4600A306 */ mov.s $f12, $f20 +/* 824510 80241250 2402000D */ addiu $v0, $zero, 0xd +/* 824514 80241254 E640000C */ swc1 $f0, 0xc($s2) +/* 824518 80241258 AE620070 */ sw $v0, 0x70($s3) +/* 82451C 8024125C 8FBF0020 */ lw $ra, 0x20($sp) +/* 824520 80241260 8FB3001C */ lw $s3, 0x1c($sp) +/* 824524 80241264 8FB20018 */ lw $s2, 0x18($sp) +/* 824528 80241268 8FB10014 */ lw $s1, 0x14($sp) +/* 82452C 8024126C 8FB00010 */ lw $s0, 0x10($sp) +/* 824530 80241270 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 824534 80241274 03E00008 */ jr $ra +/* 824538 80241278 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_8024127C.s b/asm/nonmatchings/world/area_mac/mac_02/func_8024127C.s new file mode 100644 index 0000000000..b4882eb198 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_8024127C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024127C +/* 82453C 8024127C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 824540 80241280 AFB3003C */ sw $s3, 0x3c($sp) +/* 824544 80241284 0080982D */ daddu $s3, $a0, $zero +/* 824548 80241288 AFBF0040 */ sw $ra, 0x40($sp) +/* 82454C 8024128C AFB20038 */ sw $s2, 0x38($sp) +/* 824550 80241290 AFB10034 */ sw $s1, 0x34($sp) +/* 824554 80241294 AFB00030 */ sw $s0, 0x30($sp) +/* 824558 80241298 8E720148 */ lw $s2, 0x148($s3) +/* 82455C 8024129C 00A0882D */ daddu $s1, $a1, $zero +/* 824560 802412A0 86440008 */ lh $a0, 8($s2) +/* 824564 802412A4 0C00EABB */ jal get_npc_unsafe +/* 824568 802412A8 00C0802D */ daddu $s0, $a2, $zero +/* 82456C 802412AC 0200202D */ daddu $a0, $s0, $zero +/* 824570 802412B0 0240282D */ daddu $a1, $s2, $zero +/* 824574 802412B4 24030001 */ addiu $v1, $zero, 1 +/* 824578 802412B8 AFA30010 */ sw $v1, 0x10($sp) +/* 82457C 802412BC 8E260024 */ lw $a2, 0x24($s1) +/* 824580 802412C0 8E270028 */ lw $a3, 0x28($s1) +/* 824584 802412C4 0C01242D */ jal func_800490B4 +/* 824588 802412C8 0040802D */ daddu $s0, $v0, $zero +/* 82458C 802412CC 1440001E */ bnez $v0, .L80241348 +/* 824590 802412D0 0200202D */ daddu $a0, $s0, $zero +/* 824594 802412D4 24040002 */ addiu $a0, $zero, 2 +/* 824598 802412D8 0200282D */ daddu $a1, $s0, $zero +/* 82459C 802412DC 0000302D */ daddu $a2, $zero, $zero +/* 8245A0 802412E0 860300A8 */ lh $v1, 0xa8($s0) +/* 8245A4 802412E4 3C013F80 */ lui $at, 0x3f80 +/* 8245A8 802412E8 44810000 */ mtc1 $at, $f0 +/* 8245AC 802412EC 3C014000 */ lui $at, 0x4000 +/* 8245B0 802412F0 44811000 */ mtc1 $at, $f2 +/* 8245B4 802412F4 3C01C1A0 */ lui $at, 0xc1a0 +/* 8245B8 802412F8 44812000 */ mtc1 $at, $f4 +/* 8245BC 802412FC 2402000F */ addiu $v0, $zero, 0xf +/* 8245C0 80241300 AFA2001C */ sw $v0, 0x1c($sp) +/* 8245C4 80241304 44833000 */ mtc1 $v1, $f6 +/* 8245C8 80241308 00000000 */ nop +/* 8245CC 8024130C 468031A0 */ cvt.s.w $f6, $f6 +/* 8245D0 80241310 44073000 */ mfc1 $a3, $f6 +/* 8245D4 80241314 27A20028 */ addiu $v0, $sp, 0x28 +/* 8245D8 80241318 AFA20020 */ sw $v0, 0x20($sp) +/* 8245DC 8024131C E7A00010 */ swc1 $f0, 0x10($sp) +/* 8245E0 80241320 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8245E4 80241324 0C01BFA4 */ jal fx_emote +/* 8245E8 80241328 E7A40018 */ swc1 $f4, 0x18($sp) +/* 8245EC 8024132C 8E4200CC */ lw $v0, 0xcc($s2) +/* 8245F0 80241330 8C430000 */ lw $v1, ($v0) +/* 8245F4 80241334 24020019 */ addiu $v0, $zero, 0x19 +/* 8245F8 80241338 A602008E */ sh $v0, 0x8e($s0) +/* 8245FC 8024133C 2402000E */ addiu $v0, $zero, 0xe +/* 824600 80241340 080904DF */ j .L8024137C +/* 824604 80241344 AE030028 */ sw $v1, 0x28($s0) +.L80241348: +/* 824608 80241348 0C00F598 */ jal func_8003D660 +/* 82460C 8024134C 24050001 */ addiu $a1, $zero, 1 +/* 824610 80241350 8E050018 */ lw $a1, 0x18($s0) +/* 824614 80241354 8E06000C */ lw $a2, 0xc($s0) +/* 824618 80241358 0C00EA95 */ jal npc_move_heading +/* 82461C 8024135C 0200202D */ daddu $a0, $s0, $zero +/* 824620 80241360 8602008E */ lh $v0, 0x8e($s0) +/* 824624 80241364 9603008E */ lhu $v1, 0x8e($s0) +/* 824628 80241368 18400003 */ blez $v0, .L80241378 +/* 82462C 8024136C 2462FFFF */ addiu $v0, $v1, -1 +/* 824630 80241370 080904E0 */ j .L80241380 +/* 824634 80241374 A602008E */ sh $v0, 0x8e($s0) +.L80241378: +/* 824638 80241378 2402000C */ addiu $v0, $zero, 0xc +.L8024137C: +/* 82463C 8024137C AE620070 */ sw $v0, 0x70($s3) +.L80241380: +/* 824640 80241380 8FBF0040 */ lw $ra, 0x40($sp) +/* 824644 80241384 8FB3003C */ lw $s3, 0x3c($sp) +/* 824648 80241388 8FB20038 */ lw $s2, 0x38($sp) +/* 82464C 8024138C 8FB10034 */ lw $s1, 0x34($sp) +/* 824650 80241390 8FB00030 */ lw $s0, 0x30($sp) +/* 824654 80241394 03E00008 */ jr $ra +/* 824658 80241398 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_8024139C.s b/asm/nonmatchings/world/area_mac/mac_02/func_8024139C.s new file mode 100644 index 0000000000..4e968c00ce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_8024139C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024139C +/* 82465C 8024139C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 824660 802413A0 AFB10014 */ sw $s1, 0x14($sp) +/* 824664 802413A4 0080882D */ daddu $s1, $a0, $zero +/* 824668 802413A8 AFBF0018 */ sw $ra, 0x18($sp) +/* 82466C 802413AC AFB00010 */ sw $s0, 0x10($sp) +/* 824670 802413B0 8E300148 */ lw $s0, 0x148($s1) +/* 824674 802413B4 0C00EABB */ jal get_npc_unsafe +/* 824678 802413B8 86040008 */ lh $a0, 8($s0) +/* 82467C 802413BC 9443008E */ lhu $v1, 0x8e($v0) +/* 824680 802413C0 2463FFFF */ addiu $v1, $v1, -1 +/* 824684 802413C4 A443008E */ sh $v1, 0x8e($v0) +/* 824688 802413C8 00031C00 */ sll $v1, $v1, 0x10 +/* 82468C 802413CC 14600008 */ bnez $v1, .L802413F0 +/* 824690 802413D0 00000000 */ nop +/* 824694 802413D4 8E0200B0 */ lw $v0, 0xb0($s0) +/* 824698 802413D8 30420080 */ andi $v0, $v0, 0x80 +/* 82469C 802413DC 10400003 */ beqz $v0, .L802413EC +/* 8246A0 802413E0 2402000F */ addiu $v0, $zero, 0xf +/* 8246A4 802413E4 080904FC */ j .L802413F0 +/* 8246A8 802413E8 AE220070 */ sw $v0, 0x70($s1) +.L802413EC: +/* 8246AC 802413EC AE200070 */ sw $zero, 0x70($s1) +.L802413F0: +/* 8246B0 802413F0 8FBF0018 */ lw $ra, 0x18($sp) +/* 8246B4 802413F4 8FB10014 */ lw $s1, 0x14($sp) +/* 8246B8 802413F8 8FB00010 */ lw $s0, 0x10($sp) +/* 8246BC 802413FC 03E00008 */ jr $ra +/* 8246C0 80241400 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241404.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241404.s new file mode 100644 index 0000000000..8b125d1e61 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241404.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241404 +/* 8246C4 80241404 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8246C8 80241408 AFB10014 */ sw $s1, 0x14($sp) +/* 8246CC 8024140C 0080882D */ daddu $s1, $a0, $zero +/* 8246D0 80241410 AFBF001C */ sw $ra, 0x1c($sp) +/* 8246D4 80241414 AFB20018 */ sw $s2, 0x18($sp) +/* 8246D8 80241418 AFB00010 */ sw $s0, 0x10($sp) +/* 8246DC 8024141C 8E300148 */ lw $s0, 0x148($s1) +/* 8246E0 80241420 86040008 */ lh $a0, 8($s0) +/* 8246E4 80241424 0C00EABB */ jal get_npc_unsafe +/* 8246E8 80241428 00A0902D */ daddu $s2, $a1, $zero +/* 8246EC 8024142C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 8246F0 80241430 8E240078 */ lw $a0, 0x78($s1) +/* 8246F4 80241434 8C630000 */ lw $v1, ($v1) +/* 8246F8 80241438 0083182A */ slt $v1, $a0, $v1 +/* 8246FC 8024143C 10600013 */ beqz $v1, .L8024148C +/* 824700 80241440 0040302D */ daddu $a2, $v0, $zero +/* 824704 80241444 00041040 */ sll $v0, $a0, 1 +/* 824708 80241448 00441021 */ addu $v0, $v0, $a0 +/* 82470C 8024144C 00022880 */ sll $a1, $v0, 2 +.L80241450: +/* 824710 80241450 8E0300D0 */ lw $v1, 0xd0($s0) +/* 824714 80241454 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 824718 80241458 00A31021 */ addu $v0, $a1, $v1 +/* 82471C 8024145C C4400008 */ lwc1 $f0, 8($v0) +/* 824720 80241460 46800020 */ cvt.s.w $f0, $f0 +/* 824724 80241464 4602003E */ c.le.s $f0, $f2 +/* 824728 80241468 00000000 */ nop +/* 82472C 8024146C 45020003 */ bc1fl .L8024147C +/* 824730 80241470 24840001 */ addiu $a0, $a0, 1 +/* 824734 80241474 08090523 */ j .L8024148C +/* 824738 80241478 AE240078 */ sw $a0, 0x78($s1) +.L8024147C: +/* 82473C 8024147C 8C620000 */ lw $v0, ($v1) +/* 824740 80241480 0082102A */ slt $v0, $a0, $v0 +/* 824744 80241484 1440FFF2 */ bnez $v0, .L80241450 +/* 824748 80241488 24A5000C */ addiu $a1, $a1, 0xc +.L8024148C: +/* 82474C 8024148C C6400000 */ lwc1 $f0, ($s2) +/* 824750 80241490 E4C00018 */ swc1 $f0, 0x18($a2) +/* 824754 80241494 8E0200CC */ lw $v0, 0xcc($s0) +/* 824758 80241498 8C420004 */ lw $v0, 4($v0) +/* 82475C 8024149C ACC20028 */ sw $v0, 0x28($a2) +/* 824760 802414A0 24020001 */ addiu $v0, $zero, 1 +/* 824764 802414A4 AE200074 */ sw $zero, 0x74($s1) +/* 824768 802414A8 AE220070 */ sw $v0, 0x70($s1) +/* 82476C 802414AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 824770 802414B0 8FB20018 */ lw $s2, 0x18($sp) +/* 824774 802414B4 8FB10014 */ lw $s1, 0x14($sp) +/* 824778 802414B8 8FB00010 */ lw $s0, 0x10($sp) +/* 82477C 802414BC 03E00008 */ jr $ra +/* 824780 802414C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802414C4.s b/asm/nonmatchings/world/area_mac/mac_02/func_802414C4.s new file mode 100644 index 0000000000..5c07b014c5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802414C4.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C4 +/* 824784 802414C4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 824788 802414C8 AFB40058 */ sw $s4, 0x58($sp) +/* 82478C 802414CC 0080A02D */ daddu $s4, $a0, $zero +/* 824790 802414D0 AFBF0060 */ sw $ra, 0x60($sp) +/* 824794 802414D4 AFB5005C */ sw $s5, 0x5c($sp) +/* 824798 802414D8 AFB30054 */ sw $s3, 0x54($sp) +/* 82479C 802414DC AFB20050 */ sw $s2, 0x50($sp) +/* 8247A0 802414E0 AFB1004C */ sw $s1, 0x4c($sp) +/* 8247A4 802414E4 AFB00048 */ sw $s0, 0x48($sp) +/* 8247A8 802414E8 8E910148 */ lw $s1, 0x148($s4) +/* 8247AC 802414EC 86240008 */ lh $a0, 8($s1) +/* 8247B0 802414F0 0C00EABB */ jal get_npc_unsafe +/* 8247B4 802414F4 00A0802D */ daddu $s0, $a1, $zero +/* 8247B8 802414F8 8E83000C */ lw $v1, 0xc($s4) +/* 8247BC 802414FC 0280202D */ daddu $a0, $s4, $zero +/* 8247C0 80241500 8C650000 */ lw $a1, ($v1) +/* 8247C4 80241504 0C0B1EAF */ jal get_variable +/* 8247C8 80241508 0040902D */ daddu $s2, $v0, $zero +/* 8247CC 8024150C AFA00018 */ sw $zero, 0x18($sp) +/* 8247D0 80241510 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8247D4 80241514 8C630094 */ lw $v1, 0x94($v1) +/* 8247D8 80241518 AFA3001C */ sw $v1, 0x1c($sp) +/* 8247DC 8024151C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8247E0 80241520 8C630080 */ lw $v1, 0x80($v1) +/* 8247E4 80241524 AFA30020 */ sw $v1, 0x20($sp) +/* 8247E8 80241528 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8247EC 8024152C 8C630088 */ lw $v1, 0x88($v1) +/* 8247F0 80241530 AFA30024 */ sw $v1, 0x24($sp) +/* 8247F4 80241534 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8247F8 80241538 8C63008C */ lw $v1, 0x8c($v1) +/* 8247FC 8024153C 27B50018 */ addiu $s5, $sp, 0x18 +/* 824800 80241540 AFA30028 */ sw $v1, 0x28($sp) +/* 824804 80241544 8E2300D0 */ lw $v1, 0xd0($s1) +/* 824808 80241548 3C014282 */ lui $at, 0x4282 +/* 82480C 8024154C 44810000 */ mtc1 $at, $f0 +/* 824810 80241550 8C630090 */ lw $v1, 0x90($v1) +/* 824814 80241554 0040982D */ daddu $s3, $v0, $zero +/* 824818 80241558 E7A00030 */ swc1 $f0, 0x30($sp) +/* 82481C 8024155C A7A00034 */ sh $zero, 0x34($sp) +/* 824820 80241560 16000005 */ bnez $s0, .L80241578 +/* 824824 80241564 AFA3002C */ sw $v1, 0x2c($sp) +/* 824828 80241568 8E2200B0 */ lw $v0, 0xb0($s1) +/* 82482C 8024156C 30420004 */ andi $v0, $v0, 4 +/* 824830 80241570 10400044 */ beqz $v0, .L80241684 +/* 824834 80241574 00000000 */ nop +.L80241578: +/* 824838 80241578 2404F7FF */ addiu $a0, $zero, -0x801 +/* 82483C 8024157C AE800070 */ sw $zero, 0x70($s4) +/* 824840 80241580 A640008E */ sh $zero, 0x8e($s2) +/* 824844 80241584 8E2200CC */ lw $v0, 0xcc($s1) +/* 824848 80241588 8E430000 */ lw $v1, ($s2) +/* 82484C 8024158C 8C420000 */ lw $v0, ($v0) +/* 824850 80241590 00641824 */ and $v1, $v1, $a0 +/* 824854 80241594 AE430000 */ sw $v1, ($s2) +/* 824858 80241598 AE420028 */ sw $v0, 0x28($s2) +/* 82485C 8024159C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 824860 802415A0 8C420098 */ lw $v0, 0x98($v0) +/* 824864 802415A4 54400005 */ bnel $v0, $zero, .L802415BC +/* 824868 802415A8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 82486C 802415AC 34620200 */ ori $v0, $v1, 0x200 +/* 824870 802415B0 2403FFF7 */ addiu $v1, $zero, -9 +/* 824874 802415B4 08090571 */ j .L802415C4 +/* 824878 802415B8 00431024 */ and $v0, $v0, $v1 +.L802415BC: +/* 82487C 802415BC 00621024 */ and $v0, $v1, $v0 +/* 824880 802415C0 34420008 */ ori $v0, $v0, 8 +.L802415C4: +/* 824884 802415C4 AE420000 */ sw $v0, ($s2) +/* 824888 802415C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 82488C 802415CC 30420004 */ andi $v0, $v0, 4 +/* 824890 802415D0 10400008 */ beqz $v0, .L802415F4 +/* 824894 802415D4 24020063 */ addiu $v0, $zero, 0x63 +/* 824898 802415D8 AE820070 */ sw $v0, 0x70($s4) +/* 82489C 802415DC AE800074 */ sw $zero, 0x74($s4) +/* 8248A0 802415E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8248A4 802415E4 2403FFFB */ addiu $v1, $zero, -5 +/* 8248A8 802415E8 00431024 */ and $v0, $v0, $v1 +/* 8248AC 802415EC 08090588 */ j .L80241620 +/* 8248B0 802415F0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802415F4: +/* 8248B4 802415F4 8E220000 */ lw $v0, ($s1) +/* 8248B8 802415F8 3C034000 */ lui $v1, 0x4000 +/* 8248BC 802415FC 00431024 */ and $v0, $v0, $v1 +/* 8248C0 80241600 10400007 */ beqz $v0, .L80241620 +/* 8248C4 80241604 3C03BFFF */ lui $v1, 0xbfff +/* 8248C8 80241608 2402000C */ addiu $v0, $zero, 0xc +/* 8248CC 8024160C AE820070 */ sw $v0, 0x70($s4) +/* 8248D0 80241610 8E220000 */ lw $v0, ($s1) +/* 8248D4 80241614 3463FFFF */ ori $v1, $v1, 0xffff +/* 8248D8 80241618 00431024 */ and $v0, $v0, $v1 +/* 8248DC 8024161C AE220000 */ sw $v0, ($s1) +.L80241620: +/* 8248E0 80241620 27A50038 */ addiu $a1, $sp, 0x38 +/* 8248E4 80241624 27A6003C */ addiu $a2, $sp, 0x3c +/* 8248E8 80241628 C6400038 */ lwc1 $f0, 0x38($s2) +/* 8248EC 8024162C 864200A8 */ lh $v0, 0xa8($s2) +/* 8248F0 80241630 3C0142C8 */ lui $at, 0x42c8 +/* 8248F4 80241634 44812000 */ mtc1 $at, $f4 +/* 8248F8 80241638 44823000 */ mtc1 $v0, $f6 +/* 8248FC 8024163C 00000000 */ nop +/* 824900 80241640 468031A0 */ cvt.s.w $f6, $f6 +/* 824904 80241644 27A20044 */ addiu $v0, $sp, 0x44 +/* 824908 80241648 E7A00038 */ swc1 $f0, 0x38($sp) +/* 82490C 8024164C C640003C */ lwc1 $f0, 0x3c($s2) +/* 824910 80241650 C6420040 */ lwc1 $f2, 0x40($s2) +/* 824914 80241654 46060000 */ add.s $f0, $f0, $f6 +/* 824918 80241658 E7A40044 */ swc1 $f4, 0x44($sp) +/* 82491C 8024165C E7A20040 */ swc1 $f2, 0x40($sp) +/* 824920 80241660 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 824924 80241664 AFA20010 */ sw $v0, 0x10($sp) +/* 824928 80241668 8E440080 */ lw $a0, 0x80($s2) +/* 82492C 8024166C 0C0372DF */ jal func_800DCB7C +/* 824930 80241670 27A70040 */ addiu $a3, $sp, 0x40 +/* 824934 80241674 10400003 */ beqz $v0, .L80241684 +/* 824938 80241678 00000000 */ nop +/* 82493C 8024167C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 824940 80241680 E640003C */ swc1 $f0, 0x3c($s2) +.L80241684: +/* 824944 80241684 8E830070 */ lw $v1, 0x70($s4) +/* 824948 80241688 2C620064 */ sltiu $v0, $v1, 0x64 +/* 82494C 8024168C 10400042 */ beqz $v0, .L80241798 +/* 824950 80241690 00031080 */ sll $v0, $v1, 2 +/* 824954 80241694 3C018025 */ lui $at, 0x8025 +/* 824958 80241698 00220821 */ addu $at, $at, $v0 +/* 82495C 8024169C 8C22E210 */ lw $v0, -0x1df0($at) +/* 824960 802416A0 00400008 */ jr $v0 +/* 824964 802416A4 00000000 */ nop +/* 824968 802416A8 0280202D */ daddu $a0, $s4, $zero +/* 82496C 802416AC 0260282D */ daddu $a1, $s3, $zero +/* 824970 802416B0 0C09024C */ jal func_80240930 +/* 824974 802416B4 02A0302D */ daddu $a2, $s5, $zero +/* 824978 802416B8 0280202D */ daddu $a0, $s4, $zero +/* 82497C 802416BC 0260282D */ daddu $a1, $s3, $zero +/* 824980 802416C0 0C0902A2 */ jal func_80240A88 +/* 824984 802416C4 02A0302D */ daddu $a2, $s5, $zero +/* 824988 802416C8 080905E6 */ j .L80241798 +/* 82498C 802416CC 00000000 */ nop +/* 824990 802416D0 0280202D */ daddu $a0, $s4, $zero +/* 824994 802416D4 0260282D */ daddu $a1, $s3, $zero +/* 824998 802416D8 0C09034C */ jal func_80240D30 +/* 82499C 802416DC 02A0302D */ daddu $a2, $s5, $zero +/* 8249A0 802416E0 0280202D */ daddu $a0, $s4, $zero +/* 8249A4 802416E4 0260282D */ daddu $a1, $s3, $zero +/* 8249A8 802416E8 0C09037C */ jal func_80240DF0 +/* 8249AC 802416EC 02A0302D */ daddu $a2, $s5, $zero +/* 8249B0 802416F0 080905E6 */ j .L80241798 +/* 8249B4 802416F4 00000000 */ nop +/* 8249B8 802416F8 0280202D */ daddu $a0, $s4, $zero +/* 8249BC 802416FC 0260282D */ daddu $a1, $s3, $zero +/* 8249C0 80241700 0C0903EB */ jal func_80240FAC +/* 8249C4 80241704 02A0302D */ daddu $a2, $s5, $zero +/* 8249C8 80241708 080905E6 */ j .L80241798 +/* 8249CC 8024170C 00000000 */ nop +/* 8249D0 80241710 0280202D */ daddu $a0, $s4, $zero +/* 8249D4 80241714 0260282D */ daddu $a1, $s3, $zero +/* 8249D8 80241718 0C090418 */ jal func_80241060 +/* 8249DC 8024171C 02A0302D */ daddu $a2, $s5, $zero +/* 8249E0 80241720 0280202D */ daddu $a0, $s4, $zero +/* 8249E4 80241724 0260282D */ daddu $a1, $s3, $zero +/* 8249E8 80241728 0C090435 */ jal func_802410D4 +/* 8249EC 8024172C 02A0302D */ daddu $a2, $s5, $zero +/* 8249F0 80241730 080905E6 */ j .L80241798 +/* 8249F4 80241734 00000000 */ nop +/* 8249F8 80241738 0280202D */ daddu $a0, $s4, $zero +/* 8249FC 8024173C 0260282D */ daddu $a1, $s3, $zero +/* 824A00 80241740 0C090453 */ jal func_8024114C +/* 824A04 80241744 02A0302D */ daddu $a2, $s5, $zero +/* 824A08 80241748 0280202D */ daddu $a0, $s4, $zero +/* 824A0C 8024174C 0260282D */ daddu $a1, $s3, $zero +/* 824A10 80241750 0C09049F */ jal func_8024127C +/* 824A14 80241754 02A0302D */ daddu $a2, $s5, $zero +/* 824A18 80241758 080905E6 */ j .L80241798 +/* 824A1C 8024175C 00000000 */ nop +/* 824A20 80241760 0280202D */ daddu $a0, $s4, $zero +/* 824A24 80241764 0260282D */ daddu $a1, $s3, $zero +/* 824A28 80241768 0C0904E7 */ jal func_8024139C +/* 824A2C 8024176C 02A0302D */ daddu $a2, $s5, $zero +/* 824A30 80241770 080905E6 */ j .L80241798 +/* 824A34 80241774 00000000 */ nop +/* 824A38 80241778 0280202D */ daddu $a0, $s4, $zero +/* 824A3C 8024177C 0260282D */ daddu $a1, $s3, $zero +/* 824A40 80241780 0C090501 */ jal func_80241404 +/* 824A44 80241784 02A0302D */ daddu $a2, $s5, $zero +/* 824A48 80241788 080905E6 */ j .L80241798 +/* 824A4C 8024178C 00000000 */ nop +/* 824A50 80241790 0C0129CF */ jal func_8004A73C +/* 824A54 80241794 0280202D */ daddu $a0, $s4, $zero +.L80241798: +/* 824A58 80241798 8FBF0060 */ lw $ra, 0x60($sp) +/* 824A5C 8024179C 8FB5005C */ lw $s5, 0x5c($sp) +/* 824A60 802417A0 8FB40058 */ lw $s4, 0x58($sp) +/* 824A64 802417A4 8FB30054 */ lw $s3, 0x54($sp) +/* 824A68 802417A8 8FB20050 */ lw $s2, 0x50($sp) +/* 824A6C 802417AC 8FB1004C */ lw $s1, 0x4c($sp) +/* 824A70 802417B0 8FB00048 */ lw $s0, 0x48($sp) +/* 824A74 802417B4 0000102D */ daddu $v0, $zero, $zero +/* 824A78 802417B8 03E00008 */ jr $ra +/* 824A7C 802417BC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802417C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802417C0.s new file mode 100644 index 0000000000..f6da952a29 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802417C0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C0 +/* 824A80 802417C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 824A84 802417C4 AFB00010 */ sw $s0, 0x10($sp) +/* 824A88 802417C8 3C108024 */ lui $s0, 0x8024 +/* 824A8C 802417CC 26106150 */ addiu $s0, $s0, 0x6150 +/* 824A90 802417D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 824A94 802417D4 AFB10014 */ sw $s1, 0x14($sp) +/* 824A98 802417D8 8E020000 */ lw $v0, ($s0) +/* 824A9C 802417DC 14400010 */ bnez $v0, .L80241820 +/* 824AA0 802417E0 0080882D */ daddu $s1, $a0, $zero +/* 824AA4 802417E4 0C00AB39 */ jal heap_malloc +/* 824AA8 802417E8 24040040 */ addiu $a0, $zero, 0x40 +/* 824AAC 802417EC AE020000 */ sw $v0, ($s0) +/* 824AB0 802417F0 0000182D */ daddu $v1, $zero, $zero +/* 824AB4 802417F4 0040282D */ daddu $a1, $v0, $zero +/* 824AB8 802417F8 0220202D */ daddu $a0, $s1, $zero +.L802417FC: +/* 824ABC 802417FC 8C820084 */ lw $v0, 0x84($a0) +/* 824AC0 80241800 24840004 */ addiu $a0, $a0, 4 +/* 824AC4 80241804 24630001 */ addiu $v1, $v1, 1 +/* 824AC8 80241808 ACA20000 */ sw $v0, ($a1) +/* 824ACC 8024180C 28620010 */ slti $v0, $v1, 0x10 +/* 824AD0 80241810 1440FFFA */ bnez $v0, .L802417FC +/* 824AD4 80241814 24A50004 */ addiu $a1, $a1, 4 +/* 824AD8 80241818 08090617 */ j .L8024185C +/* 824ADC 8024181C 00000000 */ nop +.L80241820: +/* 824AE0 80241820 0000182D */ daddu $v1, $zero, $zero +/* 824AE4 80241824 0040282D */ daddu $a1, $v0, $zero +/* 824AE8 80241828 0220202D */ daddu $a0, $s1, $zero +.L8024182C: +/* 824AEC 8024182C 8CA20000 */ lw $v0, ($a1) +/* 824AF0 80241830 24A50004 */ addiu $a1, $a1, 4 +/* 824AF4 80241834 24630001 */ addiu $v1, $v1, 1 +/* 824AF8 80241838 AC820084 */ sw $v0, 0x84($a0) +/* 824AFC 8024183C 28620010 */ slti $v0, $v1, 0x10 +/* 824B00 80241840 1440FFFA */ bnez $v0, .L8024182C +/* 824B04 80241844 24840004 */ addiu $a0, $a0, 4 +/* 824B08 80241848 3C108024 */ lui $s0, 0x8024 +/* 824B0C 8024184C 26106150 */ addiu $s0, $s0, 0x6150 +/* 824B10 80241850 0C00AB4B */ jal heap_free +/* 824B14 80241854 8E040000 */ lw $a0, ($s0) +/* 824B18 80241858 AE000000 */ sw $zero, ($s0) +.L8024185C: +/* 824B1C 8024185C 8FBF0018 */ lw $ra, 0x18($sp) +/* 824B20 80241860 8FB10014 */ lw $s1, 0x14($sp) +/* 824B24 80241864 8FB00010 */ lw $s0, 0x10($sp) +/* 824B28 80241868 24020002 */ addiu $v0, $zero, 2 +/* 824B2C 8024186C 03E00008 */ jr $ra +/* 824B30 80241870 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241874.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241874.s new file mode 100644 index 0000000000..587427fe9b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241874.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241874 +/* 824B34 80241874 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 824B38 80241878 AFB00010 */ sw $s0, 0x10($sp) +/* 824B3C 8024187C 0080802D */ daddu $s0, $a0, $zero +/* 824B40 80241880 AFBF0018 */ sw $ra, 0x18($sp) +/* 824B44 80241884 AFB10014 */ sw $s1, 0x14($sp) +/* 824B48 80241888 8E02000C */ lw $v0, 0xc($s0) +/* 824B4C 8024188C 8C510000 */ lw $s1, ($v0) +/* 824B50 80241890 0C0B1EAF */ jal get_variable +/* 824B54 80241894 0220282D */ daddu $a1, $s1, $zero +/* 824B58 80241898 3C03FFF0 */ lui $v1, 0xfff0 +/* 824B5C 8024189C 3463FFFF */ ori $v1, $v1, 0xffff +/* 824B60 802418A0 0200202D */ daddu $a0, $s0, $zero +/* 824B64 802418A4 00431024 */ and $v0, $v0, $v1 +/* 824B68 802418A8 00021140 */ sll $v0, $v0, 5 +/* 824B6C 802418AC 3C068008 */ lui $a2, %hi(gItemTable) +/* 824B70 802418B0 00C23021 */ addu $a2, $a2, $v0 +/* 824B74 802418B4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 824B78 802418B8 0C0B2026 */ jal set_variable +/* 824B7C 802418BC 0220282D */ daddu $a1, $s1, $zero +/* 824B80 802418C0 8FBF0018 */ lw $ra, 0x18($sp) +/* 824B84 802418C4 8FB10014 */ lw $s1, 0x14($sp) +/* 824B88 802418C8 8FB00010 */ lw $s0, 0x10($sp) +/* 824B8C 802418CC 24020002 */ addiu $v0, $zero, 2 +/* 824B90 802418D0 03E00008 */ jr $ra +/* 824B94 802418D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802418D8.s b/asm/nonmatchings/world/area_mac/mac_02/func_802418D8.s new file mode 100644 index 0000000000..3faa0cf932 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802418D8.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418D8 +/* 824B98 802418D8 24020001 */ addiu $v0, $zero, 1 +/* 824B9C 802418DC 3C018015 */ lui $at, %hi(D_80151310) +/* 824BA0 802418E0 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 824BA4 802418E4 03E00008 */ jr $ra +/* 824BA8 802418E8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802418EC.s b/asm/nonmatchings/world/area_mac/mac_02/func_802418EC.s new file mode 100644 index 0000000000..2e281d4a15 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802418EC.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418EC +/* 824BAC 802418EC 3C018015 */ lui $at, %hi(D_80151310) +/* 824BB0 802418F0 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 824BB4 802418F4 03E00008 */ jr $ra +/* 824BB8 802418F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802418FC.s b/asm/nonmatchings/world/area_mac/mac_02/func_802418FC.s new file mode 100644 index 0000000000..1f8f1874f5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802418FC.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418FC +/* 824BBC 802418FC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 824BC0 80241900 AFB10024 */ sw $s1, 0x24($sp) +/* 824BC4 80241904 0080882D */ daddu $s1, $a0, $zero +/* 824BC8 80241908 3C05F840 */ lui $a1, 0xf840 +/* 824BCC 8024190C AFBF0044 */ sw $ra, 0x44($sp) +/* 824BD0 80241910 AFBE0040 */ sw $fp, 0x40($sp) +/* 824BD4 80241914 AFB7003C */ sw $s7, 0x3c($sp) +/* 824BD8 80241918 AFB60038 */ sw $s6, 0x38($sp) +/* 824BDC 8024191C AFB50034 */ sw $s5, 0x34($sp) +/* 824BE0 80241920 AFB40030 */ sw $s4, 0x30($sp) +/* 824BE4 80241924 AFB3002C */ sw $s3, 0x2c($sp) +/* 824BE8 80241928 AFB20028 */ sw $s2, 0x28($sp) +/* 824BEC 8024192C AFB00020 */ sw $s0, 0x20($sp) +/* 824BF0 80241930 8E3E0148 */ lw $fp, 0x148($s1) +/* 824BF4 80241934 0C0B1EAF */ jal get_variable +/* 824BF8 80241938 34A56268 */ ori $a1, $a1, 0x6268 +/* 824BFC 8024193C 0040802D */ daddu $s0, $v0, $zero +/* 824C00 80241940 0220202D */ daddu $a0, $s1, $zero +/* 824C04 80241944 3C05F840 */ lui $a1, 0xf840 +/* 824C08 80241948 0C0B1EAF */ jal get_variable +/* 824C0C 8024194C 34A56269 */ ori $a1, $a1, 0x6269 +/* 824C10 80241950 0040B82D */ daddu $s7, $v0, $zero +/* 824C14 80241954 0220202D */ daddu $a0, $s1, $zero +/* 824C18 80241958 3C05F5DE */ lui $a1, 0xf5de +/* 824C1C 8024195C 0C0B1EAF */ jal get_variable +/* 824C20 80241960 34A502DE */ ori $a1, $a1, 0x2de +/* 824C24 80241964 0040B02D */ daddu $s6, $v0, $zero +/* 824C28 80241968 0220202D */ daddu $a0, $s1, $zero +/* 824C2C 8024196C 3C05F5DE */ lui $a1, 0xf5de +/* 824C30 80241970 0C0B1EAF */ jal get_variable +/* 824C34 80241974 34A502DF */ ori $a1, $a1, 0x2df +/* 824C38 80241978 0040A82D */ daddu $s5, $v0, $zero +/* 824C3C 8024197C 93D3006D */ lbu $s3, 0x6d($fp) +/* 824C40 80241980 32C2FFFF */ andi $v0, $s6, 0xffff +/* 824C44 80241984 A7B30010 */ sh $s3, 0x10($sp) +/* 824C48 80241988 93D2006E */ lbu $s2, 0x6e($fp) +/* 824C4C 8024198C 93C7006F */ lbu $a3, 0x6f($fp) +/* 824C50 80241990 3274FFFF */ andi $s4, $s3, 0xffff +/* 824C54 80241994 12820003 */ beq $s4, $v0, .L802419A4 +/* 824C58 80241998 A7A7001E */ sh $a3, 0x1e($sp) +/* 824C5C 8024199C 0000B82D */ daddu $s7, $zero, $zero +/* 824C60 802419A0 02E0802D */ daddu $s0, $s7, $zero +.L802419A4: +/* 824C64 802419A4 3202FFFF */ andi $v0, $s0, 0xffff +/* 824C68 802419A8 14400016 */ bnez $v0, .L80241A04 +/* 824C6C 802419AC 0220202D */ daddu $a0, $s1, $zero +/* 824C70 802419B0 0C00A67F */ jal rand_int +/* 824C74 802419B4 24040064 */ addiu $a0, $zero, 0x64 +/* 824C78 802419B8 2842001E */ slti $v0, $v0, 0x1e +/* 824C7C 802419BC 10400011 */ beqz $v0, .L80241A04 +/* 824C80 802419C0 0220202D */ daddu $a0, $s1, $zero +/* 824C84 802419C4 0C00A67F */ jal rand_int +/* 824C88 802419C8 2644FFFF */ addiu $a0, $s2, -1 +/* 824C8C 802419CC 0040A82D */ daddu $s5, $v0, $zero +/* 824C90 802419D0 0260B02D */ daddu $s6, $s3, $zero +/* 824C94 802419D4 0220202D */ daddu $a0, $s1, $zero +/* 824C98 802419D8 3C05F5DE */ lui $a1, 0xf5de +/* 824C9C 802419DC 34A502DE */ ori $a1, $a1, 0x2de +/* 824CA0 802419E0 0C0B2026 */ jal set_variable +/* 824CA4 802419E4 0280302D */ daddu $a2, $s4, $zero +/* 824CA8 802419E8 0220202D */ daddu $a0, $s1, $zero +/* 824CAC 802419EC 3C05F5DE */ lui $a1, 0xf5de +/* 824CB0 802419F0 34A502DF */ ori $a1, $a1, 0x2df +/* 824CB4 802419F4 0C0B2026 */ jal set_variable +/* 824CB8 802419F8 32A6FFFF */ andi $a2, $s5, 0xffff +/* 824CBC 802419FC 24100001 */ addiu $s0, $zero, 1 +/* 824CC0 80241A00 0220202D */ daddu $a0, $s1, $zero +.L80241A04: +/* 824CC4 80241A04 3C05F840 */ lui $a1, 0xf840 +/* 824CC8 80241A08 34A56268 */ ori $a1, $a1, 0x6268 +/* 824CCC 80241A0C 0C0B2026 */ jal set_variable +/* 824CD0 80241A10 3206FFFF */ andi $a2, $s0, 0xffff +/* 824CD4 80241A14 0220202D */ daddu $a0, $s1, $zero +/* 824CD8 80241A18 3C05F840 */ lui $a1, 0xf840 +/* 824CDC 80241A1C 34A56269 */ ori $a1, $a1, 0x6269 +/* 824CE0 80241A20 0C0B2026 */ jal set_variable +/* 824CE4 80241A24 32E6FFFF */ andi $a2, $s7, 0xffff +/* 824CE8 80241A28 0000202D */ daddu $a0, $zero, $zero +/* 824CEC 80241A2C 3C05F5DE */ lui $a1, 0xf5de +/* 824CF0 80241A30 0C0B1EAF */ jal get_variable +/* 824CF4 80241A34 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 824CF8 80241A38 0000202D */ daddu $a0, $zero, $zero +/* 824CFC 80241A3C 3C05F5DE */ lui $a1, 0xf5de +/* 824D00 80241A40 34A50180 */ ori $a1, $a1, 0x180 +/* 824D04 80241A44 0C0B1EAF */ jal get_variable +/* 824D08 80241A48 0040802D */ daddu $s0, $v0, $zero +/* 824D0C 80241A4C 0040282D */ daddu $a1, $v0, $zero +/* 824D10 80241A50 0000182D */ daddu $v1, $zero, $zero +/* 824D14 80241A54 3C068024 */ lui $a2, 0x8024 +/* 824D18 80241A58 24C661F4 */ addiu $a2, $a2, 0x61f4 +/* 824D1C 80241A5C 00C0202D */ daddu $a0, $a2, $zero +.L80241A60: +/* 824D20 80241A60 8C820000 */ lw $v0, ($a0) +/* 824D24 80241A64 00A2102A */ slt $v0, $a1, $v0 +/* 824D28 80241A68 14400006 */ bnez $v0, .L80241A84 +/* 824D2C 80241A6C 000310C0 */ sll $v0, $v1, 3 +/* 824D30 80241A70 24630001 */ addiu $v1, $v1, 1 +/* 824D34 80241A74 28620008 */ slti $v0, $v1, 8 +/* 824D38 80241A78 1440FFF9 */ bnez $v0, .L80241A60 +/* 824D3C 80241A7C 24840008 */ addiu $a0, $a0, 8 +/* 824D40 80241A80 000310C0 */ sll $v0, $v1, 3 +.L80241A84: +/* 824D44 80241A84 00461021 */ addu $v0, $v0, $a2 +/* 824D48 80241A88 8C420004 */ lw $v0, 4($v0) +/* 824D4C 80241A8C 97A30010 */ lhu $v1, 0x10($sp) +/* 824D50 80241A90 0202202A */ slt $a0, $s0, $v0 +/* 824D54 80241A94 32C2FFFF */ andi $v0, $s6, 0xffff +/* 824D58 80241A98 14620008 */ bne $v1, $v0, .L80241ABC +/* 824D5C 80241A9C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 824D60 80241AA0 97A7001E */ lhu $a3, 0x1e($sp) +/* 824D64 80241AA4 14E20005 */ bne $a3, $v0, .L80241ABC +/* 824D68 80241AA8 32E2FFFF */ andi $v0, $s7, 0xffff +/* 824D6C 80241AAC 14400003 */ bnez $v0, .L80241ABC +/* 824D70 80241AB0 00000000 */ nop +/* 824D74 80241AB4 14800008 */ bnez $a0, .L80241AD8 +/* 824D78 80241AB8 24020001 */ addiu $v0, $zero, 1 +.L80241ABC: +/* 824D7C 80241ABC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 824D80 80241AC0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 824D84 80241AC4 80420075 */ lb $v0, 0x75($v0) +/* 824D88 80241AC8 10400005 */ beqz $v0, .L80241AE0 +/* 824D8C 80241ACC 00000000 */ nop +/* 824D90 80241AD0 10800003 */ beqz $a0, .L80241AE0 +/* 824D94 80241AD4 24020001 */ addiu $v0, $zero, 1 +.L80241AD8: +/* 824D98 80241AD8 080906BB */ j .L80241AEC +/* 824D9C 80241ADC AE220084 */ sw $v0, 0x84($s1) +.L80241AE0: +/* 824DA0 80241AE0 0C00F9EB */ jal kill_enemy +/* 824DA4 80241AE4 03C0202D */ daddu $a0, $fp, $zero +/* 824DA8 80241AE8 AE200084 */ sw $zero, 0x84($s1) +.L80241AEC: +/* 824DAC 80241AEC 8FBF0044 */ lw $ra, 0x44($sp) +/* 824DB0 80241AF0 8FBE0040 */ lw $fp, 0x40($sp) +/* 824DB4 80241AF4 8FB7003C */ lw $s7, 0x3c($sp) +/* 824DB8 80241AF8 8FB60038 */ lw $s6, 0x38($sp) +/* 824DBC 80241AFC 8FB50034 */ lw $s5, 0x34($sp) +/* 824DC0 80241B00 8FB40030 */ lw $s4, 0x30($sp) +/* 824DC4 80241B04 8FB3002C */ lw $s3, 0x2c($sp) +/* 824DC8 80241B08 8FB20028 */ lw $s2, 0x28($sp) +/* 824DCC 80241B0C 8FB10024 */ lw $s1, 0x24($sp) +/* 824DD0 80241B10 8FB00020 */ lw $s0, 0x20($sp) +/* 824DD4 80241B14 24020002 */ addiu $v0, $zero, 2 +/* 824DD8 80241B18 03E00008 */ jr $ra +/* 824DDC 80241B1C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241B20.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241B20.s new file mode 100644 index 0000000000..3898db4405 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241B20.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B20 +/* 824DE0 80241B20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 824DE4 80241B24 AFBF0014 */ sw $ra, 0x14($sp) +/* 824DE8 80241B28 AFB00010 */ sw $s0, 0x10($sp) +/* 824DEC 80241B2C 0C00EABB */ jal get_npc_unsafe +/* 824DF0 80241B30 8C84014C */ lw $a0, 0x14c($a0) +/* 824DF4 80241B34 24040008 */ addiu $a0, $zero, 8 +/* 824DF8 80241B38 0040802D */ daddu $s0, $v0, $zero +/* 824DFC 80241B3C 3C028024 */ lui $v0, 0x8024 +/* 824E00 80241B40 24421B8C */ addiu $v0, $v0, 0x1b8c +/* 824E04 80241B44 0C00AB39 */ jal heap_malloc +/* 824E08 80241B48 AE020008 */ sw $v0, 8($s0) +/* 824E0C 80241B4C 0040182D */ daddu $v1, $v0, $zero +/* 824E10 80241B50 AE030020 */ sw $v1, 0x20($s0) +/* 824E14 80241B54 AC600000 */ sw $zero, ($v1) +/* 824E18 80241B58 8FBF0014 */ lw $ra, 0x14($sp) +/* 824E1C 80241B5C 8FB00010 */ lw $s0, 0x10($sp) +/* 824E20 80241B60 24020001 */ addiu $v0, $zero, 1 +/* 824E24 80241B64 03E00008 */ jr $ra +/* 824E28 80241B68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241B6C.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241B6C.s new file mode 100644 index 0000000000..96b33a7eff --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241B6C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B6C +/* 824E2C 80241B6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 824E30 80241B70 AFBF0010 */ sw $ra, 0x10($sp) +/* 824E34 80241B74 0C00EABB */ jal get_npc_unsafe +/* 824E38 80241B78 8C84014C */ lw $a0, 0x14c($a0) +/* 824E3C 80241B7C 8FBF0010 */ lw $ra, 0x10($sp) +/* 824E40 80241B80 0000102D */ daddu $v0, $zero, $zero +/* 824E44 80241B84 03E00008 */ jr $ra +/* 824E48 80241B88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241B8C.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241B8C.s new file mode 100644 index 0000000000..a518554c91 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241B8C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B8C +/* 824E4C 80241B8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 824E50 80241B90 3C03800A */ lui $v1, 0x800a +/* 824E54 80241B94 8463A634 */ lh $v1, -0x59cc($v1) +/* 824E58 80241B98 3C05800B */ lui $a1, %hi(gCameras) +/* 824E5C 80241B9C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 824E60 80241BA0 AFBF0010 */ sw $ra, 0x10($sp) +/* 824E64 80241BA4 00031080 */ sll $v0, $v1, 2 +/* 824E68 80241BA8 00431021 */ addu $v0, $v0, $v1 +/* 824E6C 80241BAC 00021080 */ sll $v0, $v0, 2 +/* 824E70 80241BB0 00431023 */ subu $v0, $v0, $v1 +/* 824E74 80241BB4 000218C0 */ sll $v1, $v0, 3 +/* 824E78 80241BB8 00431021 */ addu $v0, $v0, $v1 +/* 824E7C 80241BBC 8C830020 */ lw $v1, 0x20($a0) +/* 824E80 80241BC0 000210C0 */ sll $v0, $v0, 3 +/* 824E84 80241BC4 8C630000 */ lw $v1, ($v1) +/* 824E88 80241BC8 30630001 */ andi $v1, $v1, 1 +/* 824E8C 80241BCC 10600004 */ beqz $v1, .L80241BE0 +/* 824E90 80241BD0 00451021 */ addu $v0, $v0, $a1 +/* 824E94 80241BD4 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 824E98 80241BD8 0C00A6C9 */ jal clamp_angle +/* 824E9C 80241BDC 46006307 */ neg.s $f12, $f12 +.L80241BE0: +/* 824EA0 80241BE0 8FBF0010 */ lw $ra, 0x10($sp) +/* 824EA4 80241BE4 03E00008 */ jr $ra +/* 824EA8 80241BE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241BEC.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241BEC.s new file mode 100644 index 0000000000..a4d6f480de --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241BEC.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BEC +/* 824EAC 80241BEC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 824EB0 80241BF0 AFB10014 */ sw $s1, 0x14($sp) +/* 824EB4 80241BF4 0080882D */ daddu $s1, $a0, $zero +/* 824EB8 80241BF8 AFBF0024 */ sw $ra, 0x24($sp) +/* 824EBC 80241BFC AFB40020 */ sw $s4, 0x20($sp) +/* 824EC0 80241C00 AFB3001C */ sw $s3, 0x1c($sp) +/* 824EC4 80241C04 AFB20018 */ sw $s2, 0x18($sp) +/* 824EC8 80241C08 10A00033 */ beqz $a1, .L80241CD8 +/* 824ECC 80241C0C AFB00010 */ sw $s0, 0x10($sp) +/* 824ED0 80241C10 0C04760B */ jal func_8011D82C +/* 824ED4 80241C14 24040001 */ addiu $a0, $zero, 1 +/* 824ED8 80241C18 0000202D */ daddu $a0, $zero, $zero +/* 824EDC 80241C1C 0080282D */ daddu $a1, $a0, $zero +/* 824EE0 80241C20 0080302D */ daddu $a2, $a0, $zero +/* 824EE4 80241C24 0080382D */ daddu $a3, $a0, $zero +/* 824EE8 80241C28 0080802D */ daddu $s0, $a0, $zero +/* 824EEC 80241C2C 2414FFFC */ addiu $s4, $zero, -4 +/* 824EF0 80241C30 2413000C */ addiu $s3, $zero, 0xc +/* 824EF4 80241C34 3C120080 */ lui $s2, 0x80 +/* 824EF8 80241C38 3C038015 */ lui $v1, 0x8015 +/* 824EFC 80241C3C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 824F00 80241C40 24020001 */ addiu $v0, $zero, 1 +/* 824F04 80241C44 0C046F97 */ jal set_background_color_blend +/* 824F08 80241C48 A0620000 */ sb $v0, ($v1) +.L80241C4C: +/* 824F0C 80241C4C 0C00E2B7 */ jal get_npc_by_index +/* 824F10 80241C50 0200202D */ daddu $a0, $s0, $zero +/* 824F14 80241C54 0040202D */ daddu $a0, $v0, $zero +/* 824F18 80241C58 5080000B */ beql $a0, $zero, .L80241C88 +/* 824F1C 80241C5C 26100001 */ addiu $s0, $s0, 1 +/* 824F20 80241C60 8C820000 */ lw $v0, ($a0) +/* 824F24 80241C64 50400008 */ beql $v0, $zero, .L80241C88 +/* 824F28 80241C68 26100001 */ addiu $s0, $s0, 1 +/* 824F2C 80241C6C 808300A4 */ lb $v1, 0xa4($a0) +/* 824F30 80241C70 10740005 */ beq $v1, $s4, .L80241C88 +/* 824F34 80241C74 26100001 */ addiu $s0, $s0, 1 +/* 824F38 80241C78 10730003 */ beq $v1, $s3, .L80241C88 +/* 824F3C 80241C7C 00000000 */ nop +/* 824F40 80241C80 00521025 */ or $v0, $v0, $s2 +/* 824F44 80241C84 AC820000 */ sw $v0, ($a0) +.L80241C88: +/* 824F48 80241C88 2A020040 */ slti $v0, $s0, 0x40 +/* 824F4C 80241C8C 1440FFEF */ bnez $v0, .L80241C4C +/* 824F50 80241C90 00000000 */ nop +/* 824F54 80241C94 0000802D */ daddu $s0, $zero, $zero +/* 824F58 80241C98 3C120800 */ lui $s2, 0x800 +.L80241C9C: +/* 824F5C 80241C9C 0C04C3D6 */ jal get_item_entity +/* 824F60 80241CA0 0200202D */ daddu $a0, $s0, $zero +/* 824F64 80241CA4 0040182D */ daddu $v1, $v0, $zero +/* 824F68 80241CA8 10600007 */ beqz $v1, .L80241CC8 +/* 824F6C 80241CAC 26100001 */ addiu $s0, $s0, 1 +/* 824F70 80241CB0 8C640000 */ lw $a0, ($v1) +/* 824F74 80241CB4 30820010 */ andi $v0, $a0, 0x10 +/* 824F78 80241CB8 10400003 */ beqz $v0, .L80241CC8 +/* 824F7C 80241CBC 00000000 */ nop +/* 824F80 80241CC0 00921025 */ or $v0, $a0, $s2 +/* 824F84 80241CC4 AC620000 */ sw $v0, ($v1) +.L80241CC8: +/* 824F88 80241CC8 2A020100 */ slti $v0, $s0, 0x100 +/* 824F8C 80241CCC 1440FFF3 */ bnez $v0, .L80241C9C +/* 824F90 80241CD0 00000000 */ nop +/* 824F94 80241CD4 AE200070 */ sw $zero, 0x70($s1) +.L80241CD8: +/* 824F98 80241CD8 8E220070 */ lw $v0, 0x70($s1) +/* 824F9C 80241CDC 24420008 */ addiu $v0, $v0, 8 +/* 824FA0 80241CE0 AE220070 */ sw $v0, 0x70($s1) +/* 824FA4 80241CE4 28420100 */ slti $v0, $v0, 0x100 +/* 824FA8 80241CE8 14400003 */ bnez $v0, .L80241CF8 +/* 824FAC 80241CEC 0000202D */ daddu $a0, $zero, $zero +/* 824FB0 80241CF0 240200FF */ addiu $v0, $zero, 0xff +/* 824FB4 80241CF4 AE220070 */ sw $v0, 0x70($s1) +.L80241CF8: +/* 824FB8 80241CF8 0080282D */ daddu $a1, $a0, $zero +/* 824FBC 80241CFC 92270073 */ lbu $a3, 0x73($s1) +/* 824FC0 80241D00 0C046F97 */ jal set_background_color_blend +/* 824FC4 80241D04 0080302D */ daddu $a2, $a0, $zero +/* 824FC8 80241D08 8E220070 */ lw $v0, 0x70($s1) +/* 824FCC 80241D0C 8FBF0024 */ lw $ra, 0x24($sp) +/* 824FD0 80241D10 8FB40020 */ lw $s4, 0x20($sp) +/* 824FD4 80241D14 8FB3001C */ lw $s3, 0x1c($sp) +/* 824FD8 80241D18 8FB20018 */ lw $s2, 0x18($sp) +/* 824FDC 80241D1C 8FB10014 */ lw $s1, 0x14($sp) +/* 824FE0 80241D20 8FB00010 */ lw $s0, 0x10($sp) +/* 824FE4 80241D24 384200FF */ xori $v0, $v0, 0xff +/* 824FE8 80241D28 2C420001 */ sltiu $v0, $v0, 1 +/* 824FEC 80241D2C 00021040 */ sll $v0, $v0, 1 +/* 824FF0 80241D30 03E00008 */ jr $ra +/* 824FF4 80241D34 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241D38.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241D38.s new file mode 100644 index 0000000000..3a7dbc135b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241D38.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D38 +/* 824FF8 80241D38 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 824FFC 80241D3C AFB00010 */ sw $s0, 0x10($sp) +/* 825000 80241D40 0080802D */ daddu $s0, $a0, $zero +/* 825004 80241D44 AFBF0020 */ sw $ra, 0x20($sp) +/* 825008 80241D48 AFB3001C */ sw $s3, 0x1c($sp) +/* 82500C 80241D4C AFB20018 */ sw $s2, 0x18($sp) +/* 825010 80241D50 10A00009 */ beqz $a1, .L80241D78 +/* 825014 80241D54 AFB10014 */ sw $s1, 0x14($sp) +/* 825018 80241D58 0000202D */ daddu $a0, $zero, $zero +/* 82501C 80241D5C 0080282D */ daddu $a1, $a0, $zero +/* 825020 80241D60 0080302D */ daddu $a2, $a0, $zero +/* 825024 80241D64 0C046F97 */ jal set_background_color_blend +/* 825028 80241D68 240700FF */ addiu $a3, $zero, 0xff +/* 82502C 80241D6C 240200FF */ addiu $v0, $zero, 0xff +/* 825030 80241D70 AE020070 */ sw $v0, 0x70($s0) +/* 825034 80241D74 AE000074 */ sw $zero, 0x74($s0) +.L80241D78: +/* 825038 80241D78 8E020070 */ lw $v0, 0x70($s0) +/* 82503C 80241D7C 2442FFF8 */ addiu $v0, $v0, -8 +/* 825040 80241D80 04410002 */ bgez $v0, .L80241D8C +/* 825044 80241D84 AE020070 */ sw $v0, 0x70($s0) +/* 825048 80241D88 AE000070 */ sw $zero, 0x70($s0) +.L80241D8C: +/* 82504C 80241D8C 0000202D */ daddu $a0, $zero, $zero +/* 825050 80241D90 0080282D */ daddu $a1, $a0, $zero +/* 825054 80241D94 92070073 */ lbu $a3, 0x73($s0) +/* 825058 80241D98 0C046F97 */ jal set_background_color_blend +/* 82505C 80241D9C 0080302D */ daddu $a2, $a0, $zero +/* 825060 80241DA0 8E020070 */ lw $v0, 0x70($s0) +/* 825064 80241DA4 14400006 */ bnez $v0, .L80241DC0 +/* 825068 80241DA8 00000000 */ nop +/* 82506C 80241DAC 8E020074 */ lw $v0, 0x74($s0) +/* 825070 80241DB0 14400003 */ bnez $v0, .L80241DC0 +/* 825074 80241DB4 24020001 */ addiu $v0, $zero, 1 +/* 825078 80241DB8 080907A3 */ j .L80241E8C +/* 82507C 80241DBC AE020074 */ sw $v0, 0x74($s0) +.L80241DC0: +/* 825080 80241DC0 8E030074 */ lw $v1, 0x74($s0) +/* 825084 80241DC4 24020001 */ addiu $v0, $zero, 1 +/* 825088 80241DC8 14620031 */ bne $v1, $v0, .L80241E90 +/* 82508C 80241DCC 0000102D */ daddu $v0, $zero, $zero +/* 825090 80241DD0 0C04760B */ jal func_8011D82C +/* 825094 80241DD4 0000202D */ daddu $a0, $zero, $zero +/* 825098 80241DD8 0000802D */ daddu $s0, $zero, $zero +/* 82509C 80241DDC 2413FFFC */ addiu $s3, $zero, -4 +/* 8250A0 80241DE0 2412000C */ addiu $s2, $zero, 0xc +/* 8250A4 80241DE4 3C11FF7F */ lui $s1, 0xff7f +/* 8250A8 80241DE8 3C028015 */ lui $v0, 0x8015 +/* 8250AC 80241DEC 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 8250B0 80241DF0 3631FFFF */ ori $s1, $s1, 0xffff +/* 8250B4 80241DF4 A0400000 */ sb $zero, ($v0) +.L80241DF8: +/* 8250B8 80241DF8 0C00E2B7 */ jal get_npc_by_index +/* 8250BC 80241DFC 0200202D */ daddu $a0, $s0, $zero +/* 8250C0 80241E00 0040202D */ daddu $a0, $v0, $zero +/* 8250C4 80241E04 5080000B */ beql $a0, $zero, .L80241E34 +/* 8250C8 80241E08 26100001 */ addiu $s0, $s0, 1 +/* 8250CC 80241E0C 8C820000 */ lw $v0, ($a0) +/* 8250D0 80241E10 50400008 */ beql $v0, $zero, .L80241E34 +/* 8250D4 80241E14 26100001 */ addiu $s0, $s0, 1 +/* 8250D8 80241E18 808300A4 */ lb $v1, 0xa4($a0) +/* 8250DC 80241E1C 10730005 */ beq $v1, $s3, .L80241E34 +/* 8250E0 80241E20 26100001 */ addiu $s0, $s0, 1 +/* 8250E4 80241E24 10720003 */ beq $v1, $s2, .L80241E34 +/* 8250E8 80241E28 00000000 */ nop +/* 8250EC 80241E2C 00511024 */ and $v0, $v0, $s1 +/* 8250F0 80241E30 AC820000 */ sw $v0, ($a0) +.L80241E34: +/* 8250F4 80241E34 2A020040 */ slti $v0, $s0, 0x40 +/* 8250F8 80241E38 1440FFEF */ bnez $v0, .L80241DF8 +/* 8250FC 80241E3C 00000000 */ nop +/* 825100 80241E40 0000802D */ daddu $s0, $zero, $zero +/* 825104 80241E44 3C11F7FF */ lui $s1, 0xf7ff +/* 825108 80241E48 3631FFFF */ ori $s1, $s1, 0xffff +.L80241E4C: +/* 82510C 80241E4C 0C04C3D6 */ jal get_item_entity +/* 825110 80241E50 0200202D */ daddu $a0, $s0, $zero +/* 825114 80241E54 0040182D */ daddu $v1, $v0, $zero +/* 825118 80241E58 10600007 */ beqz $v1, .L80241E78 +/* 82511C 80241E5C 26100001 */ addiu $s0, $s0, 1 +/* 825120 80241E60 8C640000 */ lw $a0, ($v1) +/* 825124 80241E64 30820010 */ andi $v0, $a0, 0x10 +/* 825128 80241E68 10400003 */ beqz $v0, .L80241E78 +/* 82512C 80241E6C 00000000 */ nop +/* 825130 80241E70 00911024 */ and $v0, $a0, $s1 +/* 825134 80241E74 AC620000 */ sw $v0, ($v1) +.L80241E78: +/* 825138 80241E78 2A020100 */ slti $v0, $s0, 0x100 +/* 82513C 80241E7C 1440FFF3 */ bnez $v0, .L80241E4C +/* 825140 80241E80 24020002 */ addiu $v0, $zero, 2 +/* 825144 80241E84 080907A4 */ j .L80241E90 +/* 825148 80241E88 00000000 */ nop +.L80241E8C: +/* 82514C 80241E8C 0000102D */ daddu $v0, $zero, $zero +.L80241E90: +/* 825150 80241E90 8FBF0020 */ lw $ra, 0x20($sp) +/* 825154 80241E94 8FB3001C */ lw $s3, 0x1c($sp) +/* 825158 80241E98 8FB20018 */ lw $s2, 0x18($sp) +/* 82515C 80241E9C 8FB10014 */ lw $s1, 0x14($sp) +/* 825160 80241EA0 8FB00010 */ lw $s0, 0x10($sp) +/* 825164 80241EA4 03E00008 */ jr $ra +/* 825168 80241EA8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241EAC.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241EAC.s new file mode 100644 index 0000000000..a3d59e50d8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241EAC.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EAC +/* 82516C 80241EAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 825170 80241EB0 AFB00010 */ sw $s0, 0x10($sp) +/* 825174 80241EB4 3C108011 */ lui $s0, %hi(gPlayerData) +/* 825178 80241EB8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 82517C 80241EBC AFBF0018 */ sw $ra, 0x18($sp) +/* 825180 80241EC0 AFB10014 */ sw $s1, 0x14($sp) +/* 825184 80241EC4 960302C0 */ lhu $v1, 0x2c0($s0) +/* 825188 80241EC8 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 82518C 80241ECC 10400003 */ beqz $v0, .L80241EDC +/* 825190 80241ED0 0080882D */ daddu $s1, $a0, $zero +/* 825194 80241ED4 24620001 */ addiu $v0, $v1, 1 +/* 825198 80241ED8 A60202C0 */ sh $v0, 0x2c0($s0) +.L80241EDC: +/* 82519C 80241EDC 3C05F5DE */ lui $a1, 0xf5de +/* 8251A0 80241EE0 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 8251A4 80241EE4 0C0B1EAF */ jal get_variable +/* 8251A8 80241EE8 0000202D */ daddu $a0, $zero, $zero +/* 8251AC 80241EEC 3C038024 */ lui $v1, 0x8024 +/* 8251B0 80241EF0 00621821 */ addu $v1, $v1, $v0 +/* 8251B4 80241EF4 906361B4 */ lbu $v1, 0x61b4($v1) +/* 8251B8 80241EF8 8E220084 */ lw $v0, 0x84($s1) +/* 8251BC 80241EFC 54430006 */ bnel $v0, $v1, .L80241F18 +/* 8251C0 80241F00 AE200084 */ sw $zero, 0x84($s1) +/* 8251C4 80241F04 24020001 */ addiu $v0, $zero, 1 +/* 8251C8 80241F08 AE220084 */ sw $v0, 0x84($s1) +/* 8251CC 80241F0C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 8251D0 80241F10 24420001 */ addiu $v0, $v0, 1 +/* 8251D4 80241F14 A60202C2 */ sh $v0, 0x2c2($s0) +.L80241F18: +/* 8251D8 80241F18 8FBF0018 */ lw $ra, 0x18($sp) +/* 8251DC 80241F1C 8FB10014 */ lw $s1, 0x14($sp) +/* 8251E0 80241F20 8FB00010 */ lw $s0, 0x10($sp) +/* 8251E4 80241F24 24020002 */ addiu $v0, $zero, 2 +/* 8251E8 80241F28 03E00008 */ jr $ra +/* 8251EC 80241F2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80241F30.s b/asm/nonmatchings/world/area_mac/mac_02/func_80241F30.s new file mode 100644 index 0000000000..e89b31d89b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80241F30.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F30 +/* 8251F0 80241F30 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8251F4 80241F34 AFB1001C */ sw $s1, 0x1c($sp) +/* 8251F8 80241F38 AFBF0020 */ sw $ra, 0x20($sp) +/* 8251FC 80241F3C AFB00018 */ sw $s0, 0x18($sp) +/* 825200 80241F40 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 825204 80241F44 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 825208 80241F48 10A00060 */ beqz $a1, .L802420CC +/* 82520C 80241F4C 0080882D */ daddu $s1, $a0, $zero +/* 825210 80241F50 3C05F4AC */ lui $a1, 0xf4ac +/* 825214 80241F54 0C0B1EAF */ jal get_variable +/* 825218 80241F58 34A5D481 */ ori $a1, $a1, 0xd481 +/* 82521C 80241F5C 0220202D */ daddu $a0, $s1, $zero +/* 825220 80241F60 3C05F4AC */ lui $a1, 0xf4ac +/* 825224 80241F64 4482B000 */ mtc1 $v0, $f22 +/* 825228 80241F68 00000000 */ nop +/* 82522C 80241F6C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 825230 80241F70 0C0B1EAF */ jal get_variable +/* 825234 80241F74 34A5D482 */ ori $a1, $a1, 0xd482 +/* 825238 80241F78 0220202D */ daddu $a0, $s1, $zero +/* 82523C 80241F7C 3C05F4AC */ lui $a1, 0xf4ac +/* 825240 80241F80 4482A000 */ mtc1 $v0, $f20 +/* 825244 80241F84 00000000 */ nop +/* 825248 80241F88 4680A520 */ cvt.s.w $f20, $f20 +/* 82524C 80241F8C 0C0B1EAF */ jal get_variable +/* 825250 80241F90 34A5D483 */ ori $a1, $a1, 0xd483 +/* 825254 80241F94 44821000 */ mtc1 $v0, $f2 +/* 825258 80241F98 00000000 */ nop +/* 82525C 80241F9C 468010A0 */ cvt.s.w $f2, $f2 +/* 825260 80241FA0 4405B000 */ mfc1 $a1, $f22 +/* 825264 80241FA4 4406A000 */ mfc1 $a2, $f20 +/* 825268 80241FA8 44071000 */ mfc1 $a3, $f2 +/* 82526C 80241FAC 0C01C574 */ jal func_800715D0 +/* 825270 80241FB0 0000202D */ daddu $a0, $zero, $zero +/* 825274 80241FB4 0220202D */ daddu $a0, $s1, $zero +/* 825278 80241FB8 3C05F4AC */ lui $a1, 0xf4ac +/* 82527C 80241FBC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 825280 80241FC0 3C108025 */ lui $s0, 0x8025 +/* 825284 80241FC4 2610E560 */ addiu $s0, $s0, -0x1aa0 +/* 825288 80241FC8 0C0B1EAF */ jal get_variable +/* 82528C 80241FCC AE020000 */ sw $v0, ($s0) +/* 825290 80241FD0 0220202D */ daddu $a0, $s1, $zero +/* 825294 80241FD4 3C05F4AC */ lui $a1, 0xf4ac +/* 825298 80241FD8 4482B000 */ mtc1 $v0, $f22 +/* 82529C 80241FDC 00000000 */ nop +/* 8252A0 80241FE0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8252A4 80241FE4 0C0B1EAF */ jal get_variable +/* 8252A8 80241FE8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8252AC 80241FEC 0220202D */ daddu $a0, $s1, $zero +/* 8252B0 80241FF0 3C05F4AC */ lui $a1, 0xf4ac +/* 8252B4 80241FF4 4482A000 */ mtc1 $v0, $f20 +/* 8252B8 80241FF8 00000000 */ nop +/* 8252BC 80241FFC 4680A520 */ cvt.s.w $f20, $f20 +/* 8252C0 80242000 0C0B1EAF */ jal get_variable +/* 8252C4 80242004 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8252C8 80242008 44821000 */ mtc1 $v0, $f2 +/* 8252CC 8024200C 00000000 */ nop +/* 8252D0 80242010 468010A0 */ cvt.s.w $f2, $f2 +/* 8252D4 80242014 4405B000 */ mfc1 $a1, $f22 +/* 8252D8 80242018 4406A000 */ mfc1 $a2, $f20 +/* 8252DC 8024201C 44071000 */ mfc1 $a3, $f2 +/* 8252E0 80242020 0C01C604 */ jal func_80071810 +/* 8252E4 80242024 0000202D */ daddu $a0, $zero, $zero +/* 8252E8 80242028 0220202D */ daddu $a0, $s1, $zero +/* 8252EC 8024202C 3C05F4AC */ lui $a1, 0xf4ac +/* 8252F0 80242030 3C018025 */ lui $at, 0x8025 +/* 8252F4 80242034 AC22E564 */ sw $v0, -0x1a9c($at) +/* 8252F8 80242038 0C0B1EAF */ jal get_variable +/* 8252FC 8024203C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 825300 80242040 0220202D */ daddu $a0, $s1, $zero +/* 825304 80242044 3C05F4AC */ lui $a1, 0xf4ac +/* 825308 80242048 4482B000 */ mtc1 $v0, $f22 +/* 82530C 8024204C 00000000 */ nop +/* 825310 80242050 4680B5A0 */ cvt.s.w $f22, $f22 +/* 825314 80242054 0C0B1EAF */ jal get_variable +/* 825318 80242058 34A5D482 */ ori $a1, $a1, 0xd482 +/* 82531C 8024205C 0220202D */ daddu $a0, $s1, $zero +/* 825320 80242060 3C05F4AC */ lui $a1, 0xf4ac +/* 825324 80242064 4482A000 */ mtc1 $v0, $f20 +/* 825328 80242068 00000000 */ nop +/* 82532C 8024206C 4680A520 */ cvt.s.w $f20, $f20 +/* 825330 80242070 0C0B1EAF */ jal get_variable +/* 825334 80242074 34A5D483 */ ori $a1, $a1, 0xd483 +/* 825338 80242078 44821000 */ mtc1 $v0, $f2 +/* 82533C 8024207C 00000000 */ nop +/* 825340 80242080 468010A0 */ cvt.s.w $f2, $f2 +/* 825344 80242084 4405B000 */ mfc1 $a1, $f22 +/* 825348 80242088 4406A000 */ mfc1 $a2, $f20 +/* 82534C 8024208C 3C013F80 */ lui $at, 0x3f80 +/* 825350 80242090 44810000 */ mtc1 $at, $f0 +/* 825354 80242094 44071000 */ mfc1 $a3, $f2 +/* 825358 80242098 0000202D */ daddu $a0, $zero, $zero +/* 82535C 8024209C AFA00014 */ sw $zero, 0x14($sp) +/* 825360 802420A0 0C01CA24 */ jal func_80072890 +/* 825364 802420A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 825368 802420A8 8E030000 */ lw $v1, ($s0) +/* 82536C 802420AC 8C64000C */ lw $a0, 0xc($v1) +/* 825370 802420B0 3C018025 */ lui $at, 0x8025 +/* 825374 802420B4 AC22E568 */ sw $v0, -0x1a98($at) +/* 825378 802420B8 AC800018 */ sw $zero, 0x18($a0) +/* 82537C 802420BC AC800020 */ sw $zero, 0x20($a0) +/* 825380 802420C0 AC800024 */ sw $zero, 0x24($a0) +/* 825384 802420C4 AC800028 */ sw $zero, 0x28($a0) +/* 825388 802420C8 AC80001C */ sw $zero, 0x1c($a0) +.L802420CC: +/* 82538C 802420CC 3C028025 */ lui $v0, 0x8025 +/* 825390 802420D0 8C42E560 */ lw $v0, -0x1aa0($v0) +/* 825394 802420D4 8C44000C */ lw $a0, 0xc($v0) +/* 825398 802420D8 8C820020 */ lw $v0, 0x20($a0) +/* 82539C 802420DC 8C830028 */ lw $v1, 0x28($a0) +/* 8253A0 802420E0 2442000A */ addiu $v0, $v0, 0xa +/* 8253A4 802420E4 AC820020 */ sw $v0, 0x20($a0) +/* 8253A8 802420E8 8C820024 */ lw $v0, 0x24($a0) +/* 8253AC 802420EC 2463000A */ addiu $v1, $v1, 0xa +/* 8253B0 802420F0 AC830028 */ sw $v1, 0x28($a0) +/* 8253B4 802420F4 8C830018 */ lw $v1, 0x18($a0) +/* 8253B8 802420F8 2442000A */ addiu $v0, $v0, 0xa +/* 8253BC 802420FC AC820024 */ sw $v0, 0x24($a0) +/* 8253C0 80242100 8C82001C */ lw $v0, 0x1c($a0) +/* 8253C4 80242104 2463000A */ addiu $v1, $v1, 0xa +/* 8253C8 80242108 AC830018 */ sw $v1, 0x18($a0) +/* 8253CC 8024210C 286300FF */ slti $v1, $v1, 0xff +/* 8253D0 80242110 2442000A */ addiu $v0, $v0, 0xa +/* 8253D4 80242114 AC82001C */ sw $v0, 0x1c($a0) +/* 8253D8 80242118 14600004 */ bnez $v1, .L8024212C +/* 8253DC 8024211C 0000102D */ daddu $v0, $zero, $zero +/* 8253E0 80242120 240200FF */ addiu $v0, $zero, 0xff +/* 8253E4 80242124 AC820018 */ sw $v0, 0x18($a0) +/* 8253E8 80242128 24020002 */ addiu $v0, $zero, 2 +.L8024212C: +/* 8253EC 8024212C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8253F0 80242130 8FB1001C */ lw $s1, 0x1c($sp) +/* 8253F4 80242134 8FB00018 */ lw $s0, 0x18($sp) +/* 8253F8 80242138 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8253FC 8024213C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 825400 80242140 03E00008 */ jr $ra +/* 825404 80242144 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242148.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242148.s new file mode 100644 index 0000000000..4174e5aa4f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242148.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242148 +/* 825408 80242148 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 82540C 8024214C 10A0000B */ beqz $a1, .L8024217C +/* 825410 80242150 AFBF0010 */ sw $ra, 0x10($sp) +/* 825414 80242154 3C038025 */ lui $v1, 0x8025 +/* 825418 80242158 8C63E564 */ lw $v1, -0x1a9c($v1) +/* 82541C 8024215C 8C620000 */ lw $v0, ($v1) +/* 825420 80242160 3C048025 */ lui $a0, 0x8025 +/* 825424 80242164 8C84E568 */ lw $a0, -0x1a98($a0) +/* 825428 80242168 34420010 */ ori $v0, $v0, 0x10 +/* 82542C 8024216C AC620000 */ sw $v0, ($v1) +/* 825430 80242170 8C820000 */ lw $v0, ($a0) +/* 825434 80242174 34420010 */ ori $v0, $v0, 0x10 +/* 825438 80242178 AC820000 */ sw $v0, ($a0) +.L8024217C: +/* 82543C 8024217C 3C048025 */ lui $a0, 0x8025 +/* 825440 80242180 8C84E560 */ lw $a0, -0x1aa0($a0) +/* 825444 80242184 8C85000C */ lw $a1, 0xc($a0) +/* 825448 80242188 8CA20018 */ lw $v0, 0x18($a1) +/* 82544C 8024218C 8CA30020 */ lw $v1, 0x20($a1) +/* 825450 80242190 2442FFF6 */ addiu $v0, $v0, -0xa +/* 825454 80242194 ACA20018 */ sw $v0, 0x18($a1) +/* 825458 80242198 8CA20024 */ lw $v0, 0x24($a1) +/* 82545C 8024219C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 825460 802421A0 ACA30020 */ sw $v1, 0x20($a1) +/* 825464 802421A4 8CA30028 */ lw $v1, 0x28($a1) +/* 825468 802421A8 2442FFF6 */ addiu $v0, $v0, -0xa +/* 82546C 802421AC ACA20024 */ sw $v0, 0x24($a1) +/* 825470 802421B0 8CA2001C */ lw $v0, 0x1c($a1) +/* 825474 802421B4 2463FFF6 */ addiu $v1, $v1, -0xa +/* 825478 802421B8 ACA30028 */ sw $v1, 0x28($a1) +/* 82547C 802421BC 8CA30018 */ lw $v1, 0x18($a1) +/* 825480 802421C0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 825484 802421C4 18600003 */ blez $v1, .L802421D4 +/* 825488 802421C8 ACA2001C */ sw $v0, 0x1c($a1) +/* 82548C 802421CC 0809087C */ j .L802421F0 +/* 825490 802421D0 0000102D */ daddu $v0, $zero, $zero +.L802421D4: +/* 825494 802421D4 0C016914 */ jal remove_effect +/* 825498 802421D8 ACA00018 */ sw $zero, 0x18($a1) +/* 82549C 802421DC 3C048025 */ lui $a0, 0x8025 +/* 8254A0 802421E0 8C84E540 */ lw $a0, -0x1ac0($a0) +/* 8254A4 802421E4 0C048D70 */ jal func_801235C0 +/* 8254A8 802421E8 00000000 */ nop +/* 8254AC 802421EC 24020002 */ addiu $v0, $zero, 2 +.L802421F0: +/* 8254B0 802421F0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8254B4 802421F4 03E00008 */ jr $ra +/* 8254B8 802421F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802421FC.s b/asm/nonmatchings/world/area_mac/mac_02/func_802421FC.s new file mode 100644 index 0000000000..2a319516e2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802421FC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421FC +/* 8254BC 802421FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8254C0 80242200 AFBF0010 */ sw $ra, 0x10($sp) +/* 8254C4 80242204 8C82000C */ lw $v0, 0xc($a0) +/* 8254C8 80242208 0C0B1EAF */ jal get_variable +/* 8254CC 8024220C 8C450000 */ lw $a1, ($v0) +/* 8254D0 80242210 3C038025 */ lui $v1, 0x8025 +/* 8254D4 80242214 8C63E560 */ lw $v1, -0x1aa0($v1) +/* 8254D8 80242218 8C63000C */ lw $v1, 0xc($v1) +/* 8254DC 8024221C AC620034 */ sw $v0, 0x34($v1) +/* 8254E0 80242220 8FBF0010 */ lw $ra, 0x10($sp) +/* 8254E4 80242224 24020002 */ addiu $v0, $zero, 2 +/* 8254E8 80242228 03E00008 */ jr $ra +/* 8254EC 8024222C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242230.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242230.s new file mode 100644 index 0000000000..e41d896613 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242230.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242230 +/* 8254F0 80242230 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8254F4 80242234 AFBF0010 */ sw $ra, 0x10($sp) +/* 8254F8 80242238 8C82000C */ lw $v0, 0xc($a0) +/* 8254FC 8024223C 0C0B1EAF */ jal get_variable +/* 825500 80242240 8C450000 */ lw $a1, ($v0) +/* 825504 80242244 0040202D */ daddu $a0, $v0, $zero +/* 825508 80242248 3C028025 */ lui $v0, 0x8025 +/* 82550C 8024224C 8C42E560 */ lw $v0, -0x1aa0($v0) +/* 825510 80242250 24030001 */ addiu $v1, $zero, 1 +/* 825514 80242254 8C45000C */ lw $a1, 0xc($v0) +/* 825518 80242258 1083000D */ beq $a0, $v1, .L80242290 +/* 82551C 8024225C 28820002 */ slti $v0, $a0, 2 +/* 825520 80242260 10400005 */ beqz $v0, .L80242278 +/* 825524 80242264 24020002 */ addiu $v0, $zero, 2 +/* 825528 80242268 10800007 */ beqz $a0, .L80242288 +/* 82552C 8024226C 240200C0 */ addiu $v0, $zero, 0xc0 +/* 825530 80242270 080908A8 */ j .L802422A0 +/* 825534 80242274 ACA00038 */ sw $zero, 0x38($a1) +.L80242278: +/* 825538 80242278 10820008 */ beq $a0, $v0, .L8024229C +/* 82553C 8024227C 24020040 */ addiu $v0, $zero, 0x40 +/* 825540 80242280 080908A8 */ j .L802422A0 +/* 825544 80242284 ACA00038 */ sw $zero, 0x38($a1) +.L80242288: +/* 825548 80242288 080908A8 */ j .L802422A0 +/* 82554C 8024228C ACA20038 */ sw $v0, 0x38($a1) +.L80242290: +/* 825550 80242290 24020080 */ addiu $v0, $zero, 0x80 +/* 825554 80242294 080908A8 */ j .L802422A0 +/* 825558 80242298 ACA20038 */ sw $v0, 0x38($a1) +.L8024229C: +/* 82555C 8024229C ACA20038 */ sw $v0, 0x38($a1) +.L802422A0: +/* 825560 802422A0 8FBF0010 */ lw $ra, 0x10($sp) +/* 825564 802422A4 24020002 */ addiu $v0, $zero, 2 +/* 825568 802422A8 03E00008 */ jr $ra +/* 82556C 802422AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802422B0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802422B0.s new file mode 100644 index 0000000000..64af921c5b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802422B0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422B0 +/* 825570 802422B0 3C028025 */ lui $v0, 0x8025 +/* 825574 802422B4 8C42E568 */ lw $v0, -0x1a98($v0) +/* 825578 802422B8 8C42000C */ lw $v0, 0xc($v0) +/* 82557C 802422BC AC40001C */ sw $zero, 0x1c($v0) +/* 825580 802422C0 03E00008 */ jr $ra +/* 825584 802422C4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802422C8.s b/asm/nonmatchings/world/area_mac/mac_02/func_802422C8.s new file mode 100644 index 0000000000..f8e7e07af2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802422C8.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C8 +/* 825588 802422C8 3C028025 */ lui $v0, 0x8025 +/* 82558C 802422CC 8C42E568 */ lw $v0, -0x1a98($v0) +/* 825590 802422D0 8C43000C */ lw $v1, 0xc($v0) +/* 825594 802422D4 24020001 */ addiu $v0, $zero, 1 +/* 825598 802422D8 AC62001C */ sw $v0, 0x1c($v1) +/* 82559C 802422DC 03E00008 */ jr $ra +/* 8255A0 802422E0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802422E4.s b/asm/nonmatchings/world/area_mac/mac_02/func_802422E4.s new file mode 100644 index 0000000000..56c8a52edf --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802422E4.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422E4 +/* 8255A4 802422E4 3C028025 */ lui $v0, 0x8025 +/* 8255A8 802422E8 8C42E568 */ lw $v0, -0x1a98($v0) +/* 8255AC 802422EC 8C43000C */ lw $v1, 0xc($v0) +/* 8255B0 802422F0 24020002 */ addiu $v0, $zero, 2 +/* 8255B4 802422F4 03E00008 */ jr $ra +/* 8255B8 802422F8 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802422FC.s b/asm/nonmatchings/world/area_mac/mac_02/func_802422FC.s new file mode 100644 index 0000000000..73b9d900dd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802422FC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422FC +/* 8255BC 802422FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8255C0 80242300 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8255C4 80242304 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8255C8 80242308 3C05FE36 */ lui $a1, 0xfe36 +/* 8255CC 8024230C AFBF0010 */ sw $ra, 0x10($sp) +/* 8255D0 80242310 80460075 */ lb $a2, 0x75($v0) +/* 8255D4 80242314 0C0B2026 */ jal set_variable +/* 8255D8 80242318 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8255DC 8024231C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8255E0 80242320 24020002 */ addiu $v0, $zero, 2 +/* 8255E4 80242324 03E00008 */ jr $ra +/* 8255E8 80242328 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_8024232C.s b/asm/nonmatchings/world/area_mac/mac_02/func_8024232C.s new file mode 100644 index 0000000000..93bf6143f6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_8024232C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024232C +/* 8255EC 8024232C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8255F0 80242330 AFB10014 */ sw $s1, 0x14($sp) +/* 8255F4 80242334 0080882D */ daddu $s1, $a0, $zero +/* 8255F8 80242338 AFBF0018 */ sw $ra, 0x18($sp) +/* 8255FC 8024233C AFB00010 */ sw $s0, 0x10($sp) +/* 825600 80242340 8E30000C */ lw $s0, 0xc($s1) +/* 825604 80242344 8E050000 */ lw $a1, ($s0) +/* 825608 80242348 0C0B1EAF */ jal get_variable +/* 82560C 8024234C 26100004 */ addiu $s0, $s0, 4 +/* 825610 80242350 0220202D */ daddu $a0, $s1, $zero +/* 825614 80242354 8E050000 */ lw $a1, ($s0) +/* 825618 80242358 0C0B210B */ jal get_float_variable +/* 82561C 8024235C 0040802D */ daddu $s0, $v0, $zero +/* 825620 80242360 24020002 */ addiu $v0, $zero, 2 +/* 825624 80242364 00501804 */ sllv $v1, $s0, $v0 +/* 825628 80242368 00701821 */ addu $v1, $v1, $s0 +/* 82562C 8024236C 00431804 */ sllv $v1, $v1, $v0 +/* 825630 80242370 00701823 */ subu $v1, $v1, $s0 +/* 825634 80242374 000320C0 */ sll $a0, $v1, 3 +/* 825638 80242378 00641821 */ addu $v1, $v1, $a0 +/* 82563C 8024237C 000318C0 */ sll $v1, $v1, 3 +/* 825640 80242380 3C01800B */ lui $at, 0x800b +/* 825644 80242384 00230821 */ addu $at, $at, $v1 +/* 825648 80242388 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 82564C 8024238C 8FBF0018 */ lw $ra, 0x18($sp) +/* 825650 80242390 8FB10014 */ lw $s1, 0x14($sp) +/* 825654 80242394 8FB00010 */ lw $s0, 0x10($sp) +/* 825658 80242398 03E00008 */ jr $ra +/* 82565C 8024239C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802423A0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802423A0.s new file mode 100644 index 0000000000..486bb1e560 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802423A0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423A0 +/* 825660 802423A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 825664 802423A4 AFB10014 */ sw $s1, 0x14($sp) +/* 825668 802423A8 0080882D */ daddu $s1, $a0, $zero +/* 82566C 802423AC AFBF0018 */ sw $ra, 0x18($sp) +/* 825670 802423B0 AFB00010 */ sw $s0, 0x10($sp) +/* 825674 802423B4 8E30000C */ lw $s0, 0xc($s1) +/* 825678 802423B8 8E050000 */ lw $a1, ($s0) +/* 82567C 802423BC 0C0B1EAF */ jal get_variable +/* 825680 802423C0 26100004 */ addiu $s0, $s0, 4 +/* 825684 802423C4 00021880 */ sll $v1, $v0, 2 +/* 825688 802423C8 00621821 */ addu $v1, $v1, $v0 +/* 82568C 802423CC 00031880 */ sll $v1, $v1, 2 +/* 825690 802423D0 00621823 */ subu $v1, $v1, $v0 +/* 825694 802423D4 000310C0 */ sll $v0, $v1, 3 +/* 825698 802423D8 00621821 */ addu $v1, $v1, $v0 +/* 82569C 802423DC 000318C0 */ sll $v1, $v1, 3 +/* 8256A0 802423E0 3C01800B */ lui $at, 0x800b +/* 8256A4 802423E4 00230821 */ addu $at, $at, $v1 +/* 8256A8 802423E8 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 8256AC 802423EC 3C014480 */ lui $at, 0x4480 +/* 8256B0 802423F0 44810000 */ mtc1 $at, $f0 +/* 8256B4 802423F4 00000000 */ nop +/* 8256B8 802423F8 46001082 */ mul.s $f2, $f2, $f0 +/* 8256BC 802423FC 00000000 */ nop +/* 8256C0 80242400 3C01CD5B */ lui $at, 0xcd5b +/* 8256C4 80242404 34215858 */ ori $at, $at, 0x5858 +/* 8256C8 80242408 44810000 */ mtc1 $at, $f0 +/* 8256CC 8024240C 00000000 */ nop +/* 8256D0 80242410 46001080 */ add.s $f2, $f2, $f0 +/* 8256D4 80242414 8E050000 */ lw $a1, ($s0) +/* 8256D8 80242418 4600110D */ trunc.w.s $f4, $f2 +/* 8256DC 8024241C 44062000 */ mfc1 $a2, $f4 +/* 8256E0 80242420 0C0B2026 */ jal set_variable +/* 8256E4 80242424 0220202D */ daddu $a0, $s1, $zero +/* 8256E8 80242428 8FBF0018 */ lw $ra, 0x18($sp) +/* 8256EC 8024242C 8FB10014 */ lw $s1, 0x14($sp) +/* 8256F0 80242430 8FB00010 */ lw $s0, 0x10($sp) +/* 8256F4 80242434 24020002 */ addiu $v0, $zero, 2 +/* 8256F8 80242438 03E00008 */ jr $ra +/* 8256FC 8024243C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242440.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242440.s new file mode 100644 index 0000000000..c7417c2385 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242440.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242440 +/* 825700 80242440 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 825704 80242444 AFB20018 */ sw $s2, 0x18($sp) +/* 825708 80242448 0080902D */ daddu $s2, $a0, $zero +/* 82570C 8024244C AFBF0030 */ sw $ra, 0x30($sp) +/* 825710 80242450 AFB7002C */ sw $s7, 0x2c($sp) +/* 825714 80242454 AFB60028 */ sw $s6, 0x28($sp) +/* 825718 80242458 AFB50024 */ sw $s5, 0x24($sp) +/* 82571C 8024245C AFB40020 */ sw $s4, 0x20($sp) +/* 825720 80242460 AFB3001C */ sw $s3, 0x1c($sp) +/* 825724 80242464 AFB10014 */ sw $s1, 0x14($sp) +/* 825728 80242468 AFB00010 */ sw $s0, 0x10($sp) +/* 82572C 8024246C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 825730 80242470 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 825734 80242474 8E50000C */ lw $s0, 0xc($s2) +/* 825738 80242478 8E050000 */ lw $a1, ($s0) +/* 82573C 8024247C 0C0B1EAF */ jal get_variable +/* 825740 80242480 26100004 */ addiu $s0, $s0, 4 +/* 825744 80242484 8E050000 */ lw $a1, ($s0) +/* 825748 80242488 26100004 */ addiu $s0, $s0, 4 +/* 82574C 8024248C 0240202D */ daddu $a0, $s2, $zero +/* 825750 80242490 0C0B1EAF */ jal get_variable +/* 825754 80242494 0040B82D */ daddu $s7, $v0, $zero +/* 825758 80242498 8E050000 */ lw $a1, ($s0) +/* 82575C 8024249C 26100004 */ addiu $s0, $s0, 4 +/* 825760 802424A0 0240202D */ daddu $a0, $s2, $zero +/* 825764 802424A4 0C0B1EAF */ jal get_variable +/* 825768 802424A8 0040B02D */ daddu $s6, $v0, $zero +/* 82576C 802424AC 0240202D */ daddu $a0, $s2, $zero +/* 825770 802424B0 3C05F4AC */ lui $a1, 0xf4ac +/* 825774 802424B4 34A5D481 */ ori $a1, $a1, 0xd481 +/* 825778 802424B8 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 82577C 802424BC 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 825780 802424C0 8E140000 */ lw $s4, ($s0) +/* 825784 802424C4 00061880 */ sll $v1, $a2, 2 +/* 825788 802424C8 00661821 */ addu $v1, $v1, $a2 +/* 82578C 802424CC 00031880 */ sll $v1, $v1, 2 +/* 825790 802424D0 00661823 */ subu $v1, $v1, $a2 +/* 825794 802424D4 000330C0 */ sll $a2, $v1, 3 +/* 825798 802424D8 00661821 */ addu $v1, $v1, $a2 +/* 82579C 802424DC 000318C0 */ sll $v1, $v1, 3 +/* 8257A0 802424E0 3C01800B */ lui $at, 0x800b +/* 8257A4 802424E4 00230821 */ addu $at, $at, $v1 +/* 8257A8 802424E8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8257AC 802424EC 8E150004 */ lw $s5, 4($s0) +/* 8257B0 802424F0 4600010D */ trunc.w.s $f4, $f0 +/* 8257B4 802424F4 44112000 */ mfc1 $s1, $f4 +/* 8257B8 802424F8 0C0B1EAF */ jal get_variable +/* 8257BC 802424FC 0040982D */ daddu $s3, $v0, $zero +/* 8257C0 80242500 4491B000 */ mtc1 $s1, $f22 +/* 8257C4 80242504 00000000 */ nop +/* 8257C8 80242508 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8257CC 8024250C 4600B306 */ mov.s $f12, $f22 +/* 8257D0 80242510 0C00A8D4 */ jal cos_deg +/* 8257D4 80242514 0040802D */ daddu $s0, $v0, $zero +/* 8257D8 80242518 4493A000 */ mtc1 $s3, $f20 +/* 8257DC 8024251C 00000000 */ nop +/* 8257E0 80242520 4680A520 */ cvt.s.w $f20, $f20 +/* 8257E4 80242524 4600A002 */ mul.s $f0, $f20, $f0 +/* 8257E8 80242528 00000000 */ nop +/* 8257EC 8024252C 0240202D */ daddu $a0, $s2, $zero +/* 8257F0 80242530 44901000 */ mtc1 $s0, $f2 +/* 8257F4 80242534 00000000 */ nop +/* 8257F8 80242538 468010A0 */ cvt.s.w $f2, $f2 +/* 8257FC 8024253C 46001081 */ sub.s $f2, $f2, $f0 +/* 825800 80242540 3C05F4AC */ lui $a1, 0xf4ac +/* 825804 80242544 4600110D */ trunc.w.s $f4, $f2 +/* 825808 80242548 44102000 */ mfc1 $s0, $f4 +/* 82580C 8024254C 0C0B1EAF */ jal get_variable +/* 825810 80242550 34A5D483 */ ori $a1, $a1, 0xd483 +/* 825814 80242554 4600B306 */ mov.s $f12, $f22 +/* 825818 80242558 0C00A8BB */ jal sin_deg +/* 82581C 8024255C 0040882D */ daddu $s1, $v0, $zero +/* 825820 80242560 4600A502 */ mul.s $f20, $f20, $f0 +/* 825824 80242564 00000000 */ nop +/* 825828 80242568 0240202D */ daddu $a0, $s2, $zero +/* 82582C 8024256C 44910000 */ mtc1 $s1, $f0 +/* 825830 80242570 00000000 */ nop +/* 825834 80242574 46800020 */ cvt.s.w $f0, $f0 +/* 825838 80242578 46140001 */ sub.s $f0, $f0, $f20 +/* 82583C 8024257C 0280282D */ daddu $a1, $s4, $zero +/* 825840 80242580 02173023 */ subu $a2, $s0, $s7 +/* 825844 80242584 4600010D */ trunc.w.s $f4, $f0 +/* 825848 80242588 44102000 */ mfc1 $s0, $f4 +/* 82584C 8024258C 0C0B2026 */ jal set_variable +/* 825850 80242590 02168023 */ subu $s0, $s0, $s6 +/* 825854 80242594 0240202D */ daddu $a0, $s2, $zero +/* 825858 80242598 02A0282D */ daddu $a1, $s5, $zero +/* 82585C 8024259C 0C0B2026 */ jal set_variable +/* 825860 802425A0 0200302D */ daddu $a2, $s0, $zero +/* 825864 802425A4 8FBF0030 */ lw $ra, 0x30($sp) +/* 825868 802425A8 8FB7002C */ lw $s7, 0x2c($sp) +/* 82586C 802425AC 8FB60028 */ lw $s6, 0x28($sp) +/* 825870 802425B0 8FB50024 */ lw $s5, 0x24($sp) +/* 825874 802425B4 8FB40020 */ lw $s4, 0x20($sp) +/* 825878 802425B8 8FB3001C */ lw $s3, 0x1c($sp) +/* 82587C 802425BC 8FB20018 */ lw $s2, 0x18($sp) +/* 825880 802425C0 8FB10014 */ lw $s1, 0x14($sp) +/* 825884 802425C4 8FB00010 */ lw $s0, 0x10($sp) +/* 825888 802425C8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 82588C 802425CC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 825890 802425D0 24020002 */ addiu $v0, $zero, 2 +/* 825894 802425D4 03E00008 */ jr $ra +/* 825898 802425D8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802425DC.s b/asm/nonmatchings/world/area_mac/mac_02/func_802425DC.s new file mode 100644 index 0000000000..919dfc8690 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802425DC.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425DC +/* 82589C 802425DC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8258A0 802425E0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8258A4 802425E4 10A00002 */ beqz $a1, .L802425F0 +/* 8258A8 802425E8 2402003C */ addiu $v0, $zero, 0x3c +/* 8258AC 802425EC AC820070 */ sw $v0, 0x70($a0) +.L802425F0: +/* 8258B0 802425F0 C4620080 */ lwc1 $f2, 0x80($v1) +/* 8258B4 802425F4 3C0141F0 */ lui $at, 0x41f0 +/* 8258B8 802425F8 44810000 */ mtc1 $at, $f0 +/* 8258BC 802425FC 00000000 */ nop +/* 8258C0 80242600 46001000 */ add.s $f0, $f2, $f0 +/* 8258C4 80242604 3C0143B4 */ lui $at, 0x43b4 +/* 8258C8 80242608 44811000 */ mtc1 $at, $f2 +/* 8258CC 8024260C 00000000 */ nop +/* 8258D0 80242610 4600103E */ c.le.s $f2, $f0 +/* 8258D4 80242614 00000000 */ nop +/* 8258D8 80242618 45000003 */ bc1f .L80242628 +/* 8258DC 8024261C E4600080 */ swc1 $f0, 0x80($v1) +/* 8258E0 80242620 46020001 */ sub.s $f0, $f0, $f2 +/* 8258E4 80242624 E4600080 */ swc1 $f0, 0x80($v1) +.L80242628: +/* 8258E8 80242628 8C820070 */ lw $v0, 0x70($a0) +/* 8258EC 8024262C 2442FFFF */ addiu $v0, $v0, -1 +/* 8258F0 80242630 AC820070 */ sw $v0, 0x70($a0) +/* 8258F4 80242634 000217C3 */ sra $v0, $v0, 0x1f +/* 8258F8 80242638 03E00008 */ jr $ra +/* 8258FC 8024263C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242640.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242640.s new file mode 100644 index 0000000000..e810a12b2a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242640.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242640 +/* 825900 80242640 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 825904 80242644 AFB10014 */ sw $s1, 0x14($sp) +/* 825908 80242648 0080882D */ daddu $s1, $a0, $zero +/* 82590C 8024264C AFB00010 */ sw $s0, 0x10($sp) +/* 825910 80242650 00A0802D */ daddu $s0, $a1, $zero +/* 825914 80242654 AFBF0018 */ sw $ra, 0x18($sp) +/* 825918 80242658 0C00EABB */ jal get_npc_unsafe +/* 82591C 8024265C 2404FFFC */ addiu $a0, $zero, -4 +/* 825920 80242660 12000003 */ beqz $s0, .L80242670 +/* 825924 80242664 0040182D */ daddu $v1, $v0, $zero +/* 825928 80242668 2402003C */ addiu $v0, $zero, 0x3c +/* 82592C 8024266C AE220070 */ sw $v0, 0x70($s1) +.L80242670: +/* 825930 80242670 C462000C */ lwc1 $f2, 0xc($v1) +/* 825934 80242674 3C0141F0 */ lui $at, 0x41f0 +/* 825938 80242678 44810000 */ mtc1 $at, $f0 +/* 82593C 8024267C 00000000 */ nop +/* 825940 80242680 46001000 */ add.s $f0, $f2, $f0 +/* 825944 80242684 3C0143B4 */ lui $at, 0x43b4 +/* 825948 80242688 44811000 */ mtc1 $at, $f2 +/* 82594C 8024268C 00000000 */ nop +/* 825950 80242690 4600103E */ c.le.s $f2, $f0 +/* 825954 80242694 00000000 */ nop +/* 825958 80242698 45000003 */ bc1f .L802426A8 +/* 82595C 8024269C E460000C */ swc1 $f0, 0xc($v1) +/* 825960 802426A0 46020001 */ sub.s $f0, $f0, $f2 +/* 825964 802426A4 E460000C */ swc1 $f0, 0xc($v1) +.L802426A8: +/* 825968 802426A8 8E230070 */ lw $v1, 0x70($s1) +/* 82596C 802426AC 2463FFFF */ addiu $v1, $v1, -1 +/* 825970 802426B0 000317C3 */ sra $v0, $v1, 0x1f +/* 825974 802426B4 AE230070 */ sw $v1, 0x70($s1) +/* 825978 802426B8 8FBF0018 */ lw $ra, 0x18($sp) +/* 82597C 802426BC 8FB10014 */ lw $s1, 0x14($sp) +/* 825980 802426C0 8FB00010 */ lw $s0, 0x10($sp) +/* 825984 802426C4 30420002 */ andi $v0, $v0, 2 +/* 825988 802426C8 03E00008 */ jr $ra +/* 82598C 802426CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802426D0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802426D0.s new file mode 100644 index 0000000000..5812b212ce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802426D0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426D0 +/* 825990 802426D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 825994 802426D4 AFB10014 */ sw $s1, 0x14($sp) +/* 825998 802426D8 0080882D */ daddu $s1, $a0, $zero +/* 82599C 802426DC AFB00010 */ sw $s0, 0x10($sp) +/* 8259A0 802426E0 00A0802D */ daddu $s0, $a1, $zero +/* 8259A4 802426E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 8259A8 802426E8 AFB20018 */ sw $s2, 0x18($sp) +/* 8259AC 802426EC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8259B0 802426F0 0C00EABB */ jal get_npc_unsafe +/* 8259B4 802426F4 2404FFFC */ addiu $a0, $zero, -4 +/* 8259B8 802426F8 12000017 */ beqz $s0, .L80242758 +/* 8259BC 802426FC 0040902D */ daddu $s2, $v0, $zero +/* 8259C0 80242700 0220202D */ daddu $a0, $s1, $zero +/* 8259C4 80242704 3C05FE36 */ lui $a1, 0xfe36 +/* 8259C8 80242708 0C0B210B */ jal get_float_variable +/* 8259CC 8024270C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8259D0 80242710 0220202D */ daddu $a0, $s1, $zero +/* 8259D4 80242714 3C05FE36 */ lui $a1, 0xfe36 +/* 8259D8 80242718 3C014270 */ lui $at, 0x4270 +/* 8259DC 8024271C 4481A000 */ mtc1 $at, $f20 +/* 8259E0 80242720 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 8259E4 80242724 46140003 */ div.s $f0, $f0, $f20 +/* 8259E8 80242728 0C0B210B */ jal get_float_variable +/* 8259EC 8024272C E6200074 */ swc1 $f0, 0x74($s1) +/* 8259F0 80242730 0220202D */ daddu $a0, $s1, $zero +/* 8259F4 80242734 3C05FE36 */ lui $a1, 0xfe36 +/* 8259F8 80242738 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8259FC 8024273C 46140003 */ div.s $f0, $f0, $f20 +/* 825A00 80242740 0C0B210B */ jal get_float_variable +/* 825A04 80242744 E6200078 */ swc1 $f0, 0x78($s1) +/* 825A08 80242748 46140003 */ div.s $f0, $f0, $f20 +/* 825A0C 8024274C 2402003C */ addiu $v0, $zero, 0x3c +/* 825A10 80242750 E620007C */ swc1 $f0, 0x7c($s1) +/* 825A14 80242754 AE220070 */ sw $v0, 0x70($s1) +.L80242758: +/* 825A18 80242758 C6400038 */ lwc1 $f0, 0x38($s2) +/* 825A1C 8024275C C6220074 */ lwc1 $f2, 0x74($s1) +/* 825A20 80242760 46020000 */ add.s $f0, $f0, $f2 +/* 825A24 80242764 E6400038 */ swc1 $f0, 0x38($s2) +/* 825A28 80242768 C640003C */ lwc1 $f0, 0x3c($s2) +/* 825A2C 8024276C C6220078 */ lwc1 $f2, 0x78($s1) +/* 825A30 80242770 46020000 */ add.s $f0, $f0, $f2 +/* 825A34 80242774 E640003C */ swc1 $f0, 0x3c($s2) +/* 825A38 80242778 C6400040 */ lwc1 $f0, 0x40($s2) +/* 825A3C 8024277C C622007C */ lwc1 $f2, 0x7c($s1) +/* 825A40 80242780 46020000 */ add.s $f0, $f0, $f2 +/* 825A44 80242784 E6400040 */ swc1 $f0, 0x40($s2) +/* 825A48 80242788 8E230070 */ lw $v1, 0x70($s1) +/* 825A4C 8024278C 2463FFFF */ addiu $v1, $v1, -1 +/* 825A50 80242790 2C620001 */ sltiu $v0, $v1, 1 +/* 825A54 80242794 AE230070 */ sw $v1, 0x70($s1) +/* 825A58 80242798 8FBF001C */ lw $ra, 0x1c($sp) +/* 825A5C 8024279C 8FB20018 */ lw $s2, 0x18($sp) +/* 825A60 802427A0 8FB10014 */ lw $s1, 0x14($sp) +/* 825A64 802427A4 8FB00010 */ lw $s0, 0x10($sp) +/* 825A68 802427A8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 825A6C 802427AC 00021040 */ sll $v0, $v0, 1 +/* 825A70 802427B0 03E00008 */ jr $ra +/* 825A74 802427B4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802427B8.s b/asm/nonmatchings/world/area_mac/mac_02/func_802427B8.s new file mode 100644 index 0000000000..128507b42d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802427B8.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427B8 +/* 825A78 802427B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825A7C 802427BC 3C058025 */ lui $a1, 0x8025 +/* 825A80 802427C0 8CA5E558 */ lw $a1, -0x1aa8($a1) +/* 825A84 802427C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 825A88 802427C8 0C0B1EAF */ jal get_variable +/* 825A8C 802427CC 0000202D */ daddu $a0, $zero, $zero +/* 825A90 802427D0 0040182D */ daddu $v1, $v0, $zero +/* 825A94 802427D4 24020001 */ addiu $v0, $zero, 1 +/* 825A98 802427D8 14620006 */ bne $v1, $v0, .L802427F4 +/* 825A9C 802427DC 24020002 */ addiu $v0, $zero, 2 +/* 825AA0 802427E0 44800000 */ mtc1 $zero, $f0 +/* 825AA4 802427E4 00000000 */ nop +/* 825AA8 802427E8 44050000 */ mfc1 $a1, $f0 +/* 825AAC 802427EC 08090A03 */ j .L8024280C +/* 825AB0 802427F0 0000202D */ daddu $a0, $zero, $zero +.L802427F4: +/* 825AB4 802427F4 14620008 */ bne $v1, $v0, .L80242818 +/* 825AB8 802427F8 24040001 */ addiu $a0, $zero, 1 +/* 825ABC 802427FC 44800000 */ mtc1 $zero, $f0 +/* 825AC0 80242800 00000000 */ nop +/* 825AC4 80242804 44050000 */ mfc1 $a1, $f0 +/* 825AC8 80242808 00000000 */ nop +.L8024280C: +/* 825ACC 8024280C 00A0302D */ daddu $a2, $a1, $zero +/* 825AD0 80242810 0C01C5A4 */ jal func_80071690 +/* 825AD4 80242814 00A0382D */ daddu $a3, $a1, $zero +.L80242818: +/* 825AD8 80242818 8FBF0010 */ lw $ra, 0x10($sp) +/* 825ADC 8024281C 03E00008 */ jr $ra +/* 825AE0 80242820 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242824.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242824.s new file mode 100644 index 0000000000..47856a50e0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242824.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242824 +/* 825AE4 80242824 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825AE8 80242828 3C058024 */ lui $a1, 0x8024 +/* 825AEC 8024282C 24A527B8 */ addiu $a1, $a1, 0x27b8 +/* 825AF0 80242830 AFBF0010 */ sw $ra, 0x10($sp) +/* 825AF4 80242834 0C048C8F */ jal bind_dynamic_entity_7 +/* 825AF8 80242838 0000202D */ daddu $a0, $zero, $zero +/* 825AFC 8024283C 8FBF0010 */ lw $ra, 0x10($sp) +/* 825B00 80242840 3C018025 */ lui $at, 0x8025 +/* 825B04 80242844 AC22E540 */ sw $v0, -0x1ac0($at) +/* 825B08 80242848 24020002 */ addiu $v0, $zero, 2 +/* 825B0C 8024284C 03E00008 */ jr $ra +/* 825B10 80242850 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242854.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242854.s new file mode 100644 index 0000000000..4305b5a184 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242854.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242854 +/* 825B14 80242854 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 825B18 80242858 AFB10014 */ sw $s1, 0x14($sp) +/* 825B1C 8024285C 0080882D */ daddu $s1, $a0, $zero +/* 825B20 80242860 AFBF0018 */ sw $ra, 0x18($sp) +/* 825B24 80242864 AFB00010 */ sw $s0, 0x10($sp) +/* 825B28 80242868 8E30000C */ lw $s0, 0xc($s1) +/* 825B2C 8024286C 8E050000 */ lw $a1, ($s0) +/* 825B30 80242870 0C0B1EAF */ jal get_variable +/* 825B34 80242874 26100004 */ addiu $s0, $s0, 4 +/* 825B38 80242878 0C00EAD2 */ jal get_npc_safe +/* 825B3C 8024287C 0040202D */ daddu $a0, $v0, $zero +/* 825B40 80242880 10400005 */ beqz $v0, .L80242898 +/* 825B44 80242884 00000000 */ nop +/* 825B48 80242888 8E050000 */ lw $a1, ($s0) +/* 825B4C 8024288C 844600A8 */ lh $a2, 0xa8($v0) +/* 825B50 80242890 0C0B2026 */ jal set_variable +/* 825B54 80242894 0220202D */ daddu $a0, $s1, $zero +.L80242898: +/* 825B58 80242898 8FBF0018 */ lw $ra, 0x18($sp) +/* 825B5C 8024289C 8FB10014 */ lw $s1, 0x14($sp) +/* 825B60 802428A0 8FB00010 */ lw $s0, 0x10($sp) +/* 825B64 802428A4 24020002 */ addiu $v0, $zero, 2 +/* 825B68 802428A8 03E00008 */ jr $ra +/* 825B6C 802428AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802428B0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802428B0.s new file mode 100644 index 0000000000..06272db4ef --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802428B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428B0 +/* 825B70 802428B0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 825B74 802428B4 AFB10014 */ sw $s1, 0x14($sp) +/* 825B78 802428B8 0080882D */ daddu $s1, $a0, $zero +/* 825B7C 802428BC AFBF0024 */ sw $ra, 0x24($sp) +/* 825B80 802428C0 AFB40020 */ sw $s4, 0x20($sp) +/* 825B84 802428C4 AFB3001C */ sw $s3, 0x1c($sp) +/* 825B88 802428C8 AFB20018 */ sw $s2, 0x18($sp) +/* 825B8C 802428CC AFB00010 */ sw $s0, 0x10($sp) +/* 825B90 802428D0 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 825B94 802428D4 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 825B98 802428D8 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 825B9C 802428DC F7B60030 */ sdc1 $f22, 0x30($sp) +/* 825BA0 802428E0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 825BA4 802428E4 8E30000C */ lw $s0, 0xc($s1) +/* 825BA8 802428E8 8E130000 */ lw $s3, ($s0) +/* 825BAC 802428EC 26100004 */ addiu $s0, $s0, 4 +/* 825BB0 802428F0 0C0B1EAF */ jal get_variable +/* 825BB4 802428F4 0260282D */ daddu $a1, $s3, $zero +/* 825BB8 802428F8 4482E000 */ mtc1 $v0, $f28 +/* 825BBC 802428FC 00000000 */ nop +/* 825BC0 80242900 4680E720 */ cvt.s.w $f28, $f28 +/* 825BC4 80242904 8E140000 */ lw $s4, ($s0) +/* 825BC8 80242908 26100004 */ addiu $s0, $s0, 4 +/* 825BCC 8024290C 0220202D */ daddu $a0, $s1, $zero +/* 825BD0 80242910 0C0B1EAF */ jal get_variable +/* 825BD4 80242914 0280282D */ daddu $a1, $s4, $zero +/* 825BD8 80242918 4482D000 */ mtc1 $v0, $f26 +/* 825BDC 8024291C 00000000 */ nop +/* 825BE0 80242920 4680D6A0 */ cvt.s.w $f26, $f26 +/* 825BE4 80242924 8E100000 */ lw $s0, ($s0) +/* 825BE8 80242928 0220202D */ daddu $a0, $s1, $zero +/* 825BEC 8024292C 0C0B1EAF */ jal get_variable +/* 825BF0 80242930 0200282D */ daddu $a1, $s0, $zero +/* 825BF4 80242934 4482C000 */ mtc1 $v0, $f24 +/* 825BF8 80242938 00000000 */ nop +/* 825BFC 8024293C 4680C620 */ cvt.s.w $f24, $f24 +/* 825C00 80242940 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 825C04 80242944 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 825C08 80242948 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 825C0C 8024294C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 825C10 80242950 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 825C14 80242954 44800000 */ mtc1 $zero, $f0 +/* 825C18 80242958 00031080 */ sll $v0, $v1, 2 +/* 825C1C 8024295C 00431021 */ addu $v0, $v0, $v1 +/* 825C20 80242960 00021080 */ sll $v0, $v0, 2 +/* 825C24 80242964 00431023 */ subu $v0, $v0, $v1 +/* 825C28 80242968 000218C0 */ sll $v1, $v0, 3 +/* 825C2C 8024296C 00431021 */ addu $v0, $v0, $v1 +/* 825C30 80242970 000210C0 */ sll $v0, $v0, 3 +/* 825C34 80242974 46001032 */ c.eq.s $f2, $f0 +/* 825C38 80242978 3C01800B */ lui $at, 0x800b +/* 825C3C 8024297C 00220821 */ addu $at, $at, $v0 +/* 825C40 80242980 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 825C44 80242984 45000005 */ bc1f .L8024299C +/* 825C48 80242988 00000000 */ nop +/* 825C4C 8024298C 3C0142C8 */ lui $at, 0x42c8 +/* 825C50 80242990 44810000 */ mtc1 $at, $f0 +/* 825C54 80242994 08090A6B */ j .L802429AC +/* 825C58 80242998 4600B581 */ sub.s $f22, $f22, $f0 +.L8024299C: +/* 825C5C 8024299C 3C0142C8 */ lui $at, 0x42c8 +/* 825C60 802429A0 44810000 */ mtc1 $at, $f0 +/* 825C64 802429A4 00000000 */ nop +/* 825C68 802429A8 4600B580 */ add.s $f22, $f22, $f0 +.L802429AC: +/* 825C6C 802429AC 0C00A6C9 */ jal clamp_angle +/* 825C70 802429B0 4600B306 */ mov.s $f12, $f22 +/* 825C74 802429B4 46000586 */ mov.s $f22, $f0 +/* 825C78 802429B8 3C014170 */ lui $at, 0x4170 +/* 825C7C 802429BC 4481A000 */ mtc1 $at, $f20 +/* 825C80 802429C0 0C00A8BB */ jal sin_deg +/* 825C84 802429C4 4600B306 */ mov.s $f12, $f22 +/* 825C88 802429C8 46140002 */ mul.s $f0, $f0, $f20 +/* 825C8C 802429CC 00000000 */ nop +/* 825C90 802429D0 864200B0 */ lh $v0, 0xb0($s2) +/* 825C94 802429D4 3C013F00 */ lui $at, 0x3f00 +/* 825C98 802429D8 44812000 */ mtc1 $at, $f4 +/* 825C9C 802429DC 44821000 */ mtc1 $v0, $f2 +/* 825CA0 802429E0 00000000 */ nop +/* 825CA4 802429E4 468010A0 */ cvt.s.w $f2, $f2 +/* 825CA8 802429E8 46041082 */ mul.s $f2, $f2, $f4 +/* 825CAC 802429EC 00000000 */ nop +/* 825CB0 802429F0 4600E700 */ add.s $f28, $f28, $f0 +/* 825CB4 802429F4 4602D680 */ add.s $f26, $f26, $f2 +/* 825CB8 802429F8 0C00A8D4 */ jal cos_deg +/* 825CBC 802429FC 4600B306 */ mov.s $f12, $f22 +/* 825CC0 80242A00 46140002 */ mul.s $f0, $f0, $f20 +/* 825CC4 80242A04 00000000 */ nop +/* 825CC8 80242A08 0220202D */ daddu $a0, $s1, $zero +/* 825CCC 80242A0C 0260282D */ daddu $a1, $s3, $zero +/* 825CD0 80242A10 4600E18D */ trunc.w.s $f6, $f28 +/* 825CD4 80242A14 44063000 */ mfc1 $a2, $f6 +/* 825CD8 80242A18 0C0B2026 */ jal set_variable +/* 825CDC 80242A1C 4600C601 */ sub.s $f24, $f24, $f0 +/* 825CE0 80242A20 0220202D */ daddu $a0, $s1, $zero +/* 825CE4 80242A24 4600D18D */ trunc.w.s $f6, $f26 +/* 825CE8 80242A28 44063000 */ mfc1 $a2, $f6 +/* 825CEC 80242A2C 0C0B2026 */ jal set_variable +/* 825CF0 80242A30 0280282D */ daddu $a1, $s4, $zero +/* 825CF4 80242A34 0220202D */ daddu $a0, $s1, $zero +/* 825CF8 80242A38 4600C18D */ trunc.w.s $f6, $f24 +/* 825CFC 80242A3C 44063000 */ mfc1 $a2, $f6 +/* 825D00 80242A40 0C0B2026 */ jal set_variable +/* 825D04 80242A44 0200282D */ daddu $a1, $s0, $zero +/* 825D08 80242A48 8FBF0024 */ lw $ra, 0x24($sp) +/* 825D0C 80242A4C 8FB40020 */ lw $s4, 0x20($sp) +/* 825D10 80242A50 8FB3001C */ lw $s3, 0x1c($sp) +/* 825D14 80242A54 8FB20018 */ lw $s2, 0x18($sp) +/* 825D18 80242A58 8FB10014 */ lw $s1, 0x14($sp) +/* 825D1C 80242A5C 8FB00010 */ lw $s0, 0x10($sp) +/* 825D20 80242A60 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 825D24 80242A64 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 825D28 80242A68 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 825D2C 80242A6C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 825D30 80242A70 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 825D34 80242A74 24020002 */ addiu $v0, $zero, 2 +/* 825D38 80242A78 03E00008 */ jr $ra +/* 825D3C 80242A7C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242A80.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242A80.s new file mode 100644 index 0000000000..ce2ab913f2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242A80.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A80 +/* 825D40 80242A80 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825D44 80242A84 AFBF0010 */ sw $ra, 0x10($sp) +/* 825D48 80242A88 10A00003 */ beqz $a1, .L80242A98 +/* 825D4C 80242A8C 8C86000C */ lw $a2, 0xc($a0) +/* 825D50 80242A90 3C018025 */ lui $at, 0x8025 +/* 825D54 80242A94 AC208778 */ sw $zero, -0x7888($at) +.L80242A98: +/* 825D58 80242A98 3C038025 */ lui $v1, 0x8025 +/* 825D5C 80242A9C 24638778 */ addiu $v1, $v1, -0x7888 +/* 825D60 80242AA0 8C620000 */ lw $v0, ($v1) +/* 825D64 80242AA4 54400003 */ bnel $v0, $zero, .L80242AB4 +/* 825D68 80242AA8 AC600000 */ sw $zero, ($v1) +/* 825D6C 80242AAC 08090AB2 */ j .L80242AC8 +/* 825D70 80242AB0 0000102D */ daddu $v0, $zero, $zero +.L80242AB4: +/* 825D74 80242AB4 8CC50000 */ lw $a1, ($a2) +/* 825D78 80242AB8 3C068025 */ lui $a2, 0x8025 +/* 825D7C 80242ABC 0C0B2026 */ jal set_variable +/* 825D80 80242AC0 8CC6877C */ lw $a2, -0x7884($a2) +/* 825D84 80242AC4 24020002 */ addiu $v0, $zero, 2 +.L80242AC8: +/* 825D88 80242AC8 8FBF0010 */ lw $ra, 0x10($sp) +/* 825D8C 80242ACC 03E00008 */ jr $ra +/* 825D90 80242AD0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242AD4.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242AD4.s new file mode 100644 index 0000000000..15c6755ed3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242AD4.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AD4 +/* 825D94 80242AD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825D98 80242AD8 AFBF0010 */ sw $ra, 0x10($sp) +/* 825D9C 80242ADC 8C82000C */ lw $v0, 0xc($a0) +/* 825DA0 80242AE0 0C0B1EAF */ jal get_variable +/* 825DA4 80242AE4 8C450000 */ lw $a1, ($v0) +/* 825DA8 80242AE8 3C018025 */ lui $at, 0x8025 +/* 825DAC 80242AEC AC22877C */ sw $v0, -0x7884($at) +/* 825DB0 80242AF0 24020002 */ addiu $v0, $zero, 2 +/* 825DB4 80242AF4 8FBF0010 */ lw $ra, 0x10($sp) +/* 825DB8 80242AF8 24030001 */ addiu $v1, $zero, 1 +/* 825DBC 80242AFC 3C018025 */ lui $at, 0x8025 +/* 825DC0 80242B00 AC238778 */ sw $v1, -0x7888($at) +/* 825DC4 80242B04 03E00008 */ jr $ra +/* 825DC8 80242B08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242B0C.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242B0C.s new file mode 100644 index 0000000000..3d9d5ecb39 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242B0C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B0C +/* 825DCC 80242B0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825DD0 80242B10 AFBF0010 */ sw $ra, 0x10($sp) +/* 825DD4 80242B14 8C82000C */ lw $v0, 0xc($a0) +/* 825DD8 80242B18 0C0B1EAF */ jal get_variable +/* 825DDC 80242B1C 8C450000 */ lw $a1, ($v0) +/* 825DE0 80242B20 0040182D */ daddu $v1, $v0, $zero +/* 825DE4 80242B24 10600012 */ beqz $v1, .L80242B70 +/* 825DE8 80242B28 0000202D */ daddu $a0, $zero, $zero +/* 825DEC 80242B2C 8C620000 */ lw $v0, ($v1) +/* 825DF0 80242B30 5040000A */ beql $v0, $zero, .L80242B5C +/* 825DF4 80242B34 00041080 */ sll $v0, $a0, 2 +/* 825DF8 80242B38 3C058025 */ lui $a1, 0x8025 +/* 825DFC 80242B3C 24A5E570 */ addiu $a1, $a1, -0x1a90 +.L80242B40: +/* 825E00 80242B40 24630004 */ addiu $v1, $v1, 4 +/* 825E04 80242B44 24840001 */ addiu $a0, $a0, 1 +/* 825E08 80242B48 ACA20000 */ sw $v0, ($a1) +/* 825E0C 80242B4C 8C620000 */ lw $v0, ($v1) +/* 825E10 80242B50 1440FFFB */ bnez $v0, .L80242B40 +/* 825E14 80242B54 24A50004 */ addiu $a1, $a1, 4 +/* 825E18 80242B58 00041080 */ sll $v0, $a0, 2 +.L80242B5C: +/* 825E1C 80242B5C 3C018025 */ lui $at, 0x8025 +/* 825E20 80242B60 00220821 */ addu $at, $at, $v0 +/* 825E24 80242B64 AC20E570 */ sw $zero, -0x1a90($at) +/* 825E28 80242B68 08090AE6 */ j .L80242B98 +/* 825E2C 80242B6C 00000000 */ nop +.L80242B70: +/* 825E30 80242B70 3C038025 */ lui $v1, 0x8025 +/* 825E34 80242B74 2463E570 */ addiu $v1, $v1, -0x1a90 +/* 825E38 80242B78 0060282D */ daddu $a1, $v1, $zero +.L80242B7C: +/* 825E3C 80242B7C 24820010 */ addiu $v0, $a0, 0x10 +/* 825E40 80242B80 AC620000 */ sw $v0, ($v1) +/* 825E44 80242B84 24630004 */ addiu $v1, $v1, 4 +/* 825E48 80242B88 24840001 */ addiu $a0, $a0, 1 +/* 825E4C 80242B8C 28820070 */ slti $v0, $a0, 0x70 +/* 825E50 80242B90 1440FFFA */ bnez $v0, .L80242B7C +/* 825E54 80242B94 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242B98: +/* 825E58 80242B98 8FBF0010 */ lw $ra, 0x10($sp) +/* 825E5C 80242B9C 24020002 */ addiu $v0, $zero, 2 +/* 825E60 80242BA0 03E00008 */ jr $ra +/* 825E64 80242BA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242BA8_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242BA8_8232C0.s new file mode 100644 index 0000000000..2c55c7f12d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242BA8_8232C0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BA8_825E68 +/* 825E68 80242BA8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 825E6C 80242BAC AFBF0010 */ sw $ra, 0x10($sp) +/* 825E70 80242BB0 8C82000C */ lw $v0, 0xc($a0) +/* 825E74 80242BB4 0C0B1EAF */ jal get_variable +/* 825E78 80242BB8 8C450000 */ lw $a1, ($v0) +/* 825E7C 80242BBC 0040182D */ daddu $v1, $v0, $zero +/* 825E80 80242BC0 10600012 */ beqz $v1, .L80242C0C +/* 825E84 80242BC4 0000202D */ daddu $a0, $zero, $zero +/* 825E88 80242BC8 8C620000 */ lw $v0, ($v1) +/* 825E8C 80242BCC 5040000A */ beql $v0, $zero, .L80242BF8 +/* 825E90 80242BD0 00041080 */ sll $v0, $a0, 2 +/* 825E94 80242BD4 3C058025 */ lui $a1, 0x8025 +/* 825E98 80242BD8 24A5E738 */ addiu $a1, $a1, -0x18c8 +.L80242BDC: +/* 825E9C 80242BDC 24630004 */ addiu $v1, $v1, 4 +/* 825EA0 80242BE0 24840001 */ addiu $a0, $a0, 1 +/* 825EA4 80242BE4 ACA20000 */ sw $v0, ($a1) +/* 825EA8 80242BE8 8C620000 */ lw $v0, ($v1) +/* 825EAC 80242BEC 1440FFFB */ bnez $v0, .L80242BDC +/* 825EB0 80242BF0 24A50004 */ addiu $a1, $a1, 4 +/* 825EB4 80242BF4 00041080 */ sll $v0, $a0, 2 +.L80242BF8: +/* 825EB8 80242BF8 3C018025 */ lui $at, 0x8025 +/* 825EBC 80242BFC 00220821 */ addu $at, $at, $v0 +/* 825EC0 80242C00 AC20E738 */ sw $zero, -0x18c8($at) +/* 825EC4 80242C04 08090B0D */ j .L80242C34 +/* 825EC8 80242C08 00000000 */ nop +.L80242C0C: +/* 825ECC 80242C0C 3C038025 */ lui $v1, 0x8025 +/* 825ED0 80242C10 2463E738 */ addiu $v1, $v1, -0x18c8 +/* 825ED4 80242C14 0060282D */ daddu $a1, $v1, $zero +.L80242C18: +/* 825ED8 80242C18 24820080 */ addiu $v0, $a0, 0x80 +/* 825EDC 80242C1C AC620000 */ sw $v0, ($v1) +/* 825EE0 80242C20 24630004 */ addiu $v1, $v1, 4 +/* 825EE4 80242C24 24840001 */ addiu $a0, $a0, 1 +/* 825EE8 80242C28 2882005B */ slti $v0, $a0, 0x5b +/* 825EEC 80242C2C 1440FFFA */ bnez $v0, .L80242C18 +/* 825EF0 80242C30 ACA0016C */ sw $zero, 0x16c($a1) +.L80242C34: +/* 825EF4 80242C34 8FBF0010 */ lw $ra, 0x10($sp) +/* 825EF8 80242C38 24020002 */ addiu $v0, $zero, 2 +/* 825EFC 80242C3C 03E00008 */ jr $ra +/* 825F00 80242C40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242C44.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242C44.s new file mode 100644 index 0000000000..44170f389e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242C44.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C44 +/* 825F04 80242C44 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 825F08 80242C48 AFB10014 */ sw $s1, 0x14($sp) +/* 825F0C 80242C4C 0080882D */ daddu $s1, $a0, $zero +/* 825F10 80242C50 AFBF0020 */ sw $ra, 0x20($sp) +/* 825F14 80242C54 AFB3001C */ sw $s3, 0x1c($sp) +/* 825F18 80242C58 AFB20018 */ sw $s2, 0x18($sp) +/* 825F1C 80242C5C AFB00010 */ sw $s0, 0x10($sp) +/* 825F20 80242C60 8E30000C */ lw $s0, 0xc($s1) +/* 825F24 80242C64 8E120000 */ lw $s2, ($s0) +/* 825F28 80242C68 26100004 */ addiu $s0, $s0, 4 +/* 825F2C 80242C6C 8E130000 */ lw $s3, ($s0) +/* 825F30 80242C70 26100004 */ addiu $s0, $s0, 4 +/* 825F34 80242C74 8E050000 */ lw $a1, ($s0) +/* 825F38 80242C78 0C0B1EAF */ jal get_variable +/* 825F3C 80242C7C 26100004 */ addiu $s0, $s0, 4 +/* 825F40 80242C80 0220202D */ daddu $a0, $s1, $zero +/* 825F44 80242C84 8E050000 */ lw $a1, ($s0) +/* 825F48 80242C88 0C0B1EAF */ jal get_variable +/* 825F4C 80242C8C 0040802D */ daddu $s0, $v0, $zero +/* 825F50 80242C90 0040282D */ daddu $a1, $v0, $zero +/* 825F54 80242C94 24020096 */ addiu $v0, $zero, 0x96 +/* 825F58 80242C98 1602001E */ bne $s0, $v0, .L80242D14 +/* 825F5C 80242C9C 0000202D */ daddu $a0, $zero, $zero +/* 825F60 80242CA0 0C00A67F */ jal rand_int +/* 825F64 80242CA4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 825F68 80242CA8 284201F4 */ slti $v0, $v0, 0x1f4 +/* 825F6C 80242CAC 10400003 */ beqz $v0, .L80242CBC +/* 825F70 80242CB0 0000802D */ daddu $s0, $zero, $zero +/* 825F74 80242CB4 08090B60 */ j .L80242D80 +/* 825F78 80242CB8 240600C2 */ addiu $a2, $zero, 0xc2 +.L80242CBC: +/* 825F7C 80242CBC 0C00A67F */ jal rand_int +/* 825F80 80242CC0 24042710 */ addiu $a0, $zero, 0x2710 +/* 825F84 80242CC4 3C03B216 */ lui $v1, 0xb216 +/* 825F88 80242CC8 346342C9 */ ori $v1, $v1, 0x42c9 +/* 825F8C 80242CCC 00430018 */ mult $v0, $v1 +/* 825F90 80242CD0 24100004 */ addiu $s0, $zero, 4 +/* 825F94 80242CD4 000227C3 */ sra $a0, $v0, 0x1f +/* 825F98 80242CD8 00003810 */ mfhi $a3 +/* 825F9C 80242CDC 00E21821 */ addu $v1, $a3, $v0 +/* 825FA0 80242CE0 02031807 */ srav $v1, $v1, $s0 +/* 825FA4 80242CE4 00642023 */ subu $a0, $v1, $a0 +/* 825FA8 80242CE8 00041840 */ sll $v1, $a0, 1 +/* 825FAC 80242CEC 00641821 */ addu $v1, $v1, $a0 +/* 825FB0 80242CF0 000318C0 */ sll $v1, $v1, 3 +/* 825FB4 80242CF4 00641823 */ subu $v1, $v1, $a0 +/* 825FB8 80242CF8 00432023 */ subu $a0, $v0, $v1 +/* 825FBC 80242CFC 00041080 */ sll $v0, $a0, 2 +/* 825FC0 80242D00 3C068025 */ lui $a2, 0x8025 +/* 825FC4 80242D04 00C23021 */ addu $a2, $a2, $v0 +/* 825FC8 80242D08 8CC6909C */ lw $a2, -0x6f64($a2) +/* 825FCC 80242D0C 08090B61 */ j .L80242D84 +/* 825FD0 80242D10 0220202D */ daddu $a0, $s1, $zero +.L80242D14: +/* 825FD4 80242D14 3C038025 */ lui $v1, 0x8025 +/* 825FD8 80242D18 24638A98 */ addiu $v1, $v1, -0x7568 +.L80242D1C: +/* 825FDC 80242D1C 8C620000 */ lw $v0, ($v1) +/* 825FE0 80242D20 10500006 */ beq $v0, $s0, .L80242D3C +/* 825FE4 80242D24 2882001D */ slti $v0, $a0, 0x1d +/* 825FE8 80242D28 24840001 */ addiu $a0, $a0, 1 +/* 825FEC 80242D2C 2882001D */ slti $v0, $a0, 0x1d +/* 825FF0 80242D30 1440FFFA */ bnez $v0, .L80242D1C +/* 825FF4 80242D34 24630004 */ addiu $v1, $v1, 4 +/* 825FF8 80242D38 2882001D */ slti $v0, $a0, 0x1d +.L80242D3C: +/* 825FFC 80242D3C 5040000A */ beql $v0, $zero, .L80242D68 +/* 826000 80242D40 0000202D */ daddu $a0, $zero, $zero +/* 826004 80242D44 10A00005 */ beqz $a1, .L80242D5C +/* 826008 80242D48 00000000 */ nop +/* 82600C 80242D4C 3C018025 */ lui $at, 0x8025 +/* 826010 80242D50 00240821 */ addu $at, $at, $a0 +/* 826014 80242D54 08090B5A */ j .L80242D68 +/* 826018 80242D58 80248CD0 */ lb $a0, -0x7330($at) +.L80242D5C: +/* 82601C 80242D5C 3C018025 */ lui $at, 0x8025 +/* 826020 80242D60 00240821 */ addu $at, $at, $a0 +/* 826024 80242D64 80248CB0 */ lb $a0, -0x7350($at) +.L80242D68: +/* 826028 80242D68 3C038025 */ lui $v1, 0x8025 +/* 82602C 80242D6C 24638B10 */ addiu $v1, $v1, -0x74f0 +/* 826030 80242D70 000410C0 */ sll $v0, $a0, 3 +/* 826034 80242D74 00431021 */ addu $v0, $v0, $v1 +/* 826038 80242D78 8C500000 */ lw $s0, ($v0) +/* 82603C 80242D7C 8C460004 */ lw $a2, 4($v0) +.L80242D80: +/* 826040 80242D80 0220202D */ daddu $a0, $s1, $zero +.L80242D84: +/* 826044 80242D84 0C0B2026 */ jal set_variable +/* 826048 80242D88 0240282D */ daddu $a1, $s2, $zero +/* 82604C 80242D8C 0220202D */ daddu $a0, $s1, $zero +/* 826050 80242D90 0260282D */ daddu $a1, $s3, $zero +/* 826054 80242D94 0C0B2026 */ jal set_variable +/* 826058 80242D98 0200302D */ daddu $a2, $s0, $zero +/* 82605C 80242D9C 8FBF0020 */ lw $ra, 0x20($sp) +/* 826060 80242DA0 8FB3001C */ lw $s3, 0x1c($sp) +/* 826064 80242DA4 8FB20018 */ lw $s2, 0x18($sp) +/* 826068 80242DA8 8FB10014 */ lw $s1, 0x14($sp) +/* 82606C 80242DAC 8FB00010 */ lw $s0, 0x10($sp) +/* 826070 80242DB0 24020002 */ addiu $v0, $zero, 2 +/* 826074 80242DB4 03E00008 */ jr $ra +/* 826078 80242DB8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242DBC.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242DBC.s new file mode 100644 index 0000000000..7a34a21926 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242DBC.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DBC +/* 82607C 80242DBC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 826080 80242DC0 AFB10014 */ sw $s1, 0x14($sp) +/* 826084 80242DC4 0080882D */ daddu $s1, $a0, $zero +/* 826088 80242DC8 AFBF0020 */ sw $ra, 0x20($sp) +/* 82608C 80242DCC AFB3001C */ sw $s3, 0x1c($sp) +/* 826090 80242DD0 AFB20018 */ sw $s2, 0x18($sp) +/* 826094 80242DD4 AFB00010 */ sw $s0, 0x10($sp) +/* 826098 80242DD8 8E30000C */ lw $s0, 0xc($s1) +/* 82609C 80242DDC 8E120000 */ lw $s2, ($s0) +/* 8260A0 80242DE0 26100004 */ addiu $s0, $s0, 4 +/* 8260A4 80242DE4 8E130000 */ lw $s3, ($s0) +/* 8260A8 80242DE8 26100004 */ addiu $s0, $s0, 4 +/* 8260AC 80242DEC 8E050000 */ lw $a1, ($s0) +/* 8260B0 80242DF0 0C0B1EAF */ jal get_variable +/* 8260B4 80242DF4 26100004 */ addiu $s0, $s0, 4 +/* 8260B8 80242DF8 0220202D */ daddu $a0, $s1, $zero +/* 8260BC 80242DFC 8E050000 */ lw $a1, ($s0) +/* 8260C0 80242E00 0C0B1EAF */ jal get_variable +/* 8260C4 80242E04 0040802D */ daddu $s0, $v0, $zero +/* 8260C8 80242E08 0040302D */ daddu $a2, $v0, $zero +/* 8260CC 80242E0C 0000282D */ daddu $a1, $zero, $zero +/* 8260D0 80242E10 3C038025 */ lui $v1, 0x8025 +/* 8260D4 80242E14 24638A98 */ addiu $v1, $v1, -0x7568 +.L80242E18: +/* 8260D8 80242E18 8C620000 */ lw $v0, ($v1) +/* 8260DC 80242E1C 10500006 */ beq $v0, $s0, .L80242E38 +/* 8260E0 80242E20 0000202D */ daddu $a0, $zero, $zero +/* 8260E4 80242E24 24A50001 */ addiu $a1, $a1, 1 +/* 8260E8 80242E28 28A2001D */ slti $v0, $a1, 0x1d +/* 8260EC 80242E2C 1440FFFA */ bnez $v0, .L80242E18 +/* 8260F0 80242E30 24630004 */ addiu $v1, $v1, 4 +/* 8260F4 80242E34 0000202D */ daddu $a0, $zero, $zero +.L80242E38: +/* 8260F8 80242E38 3C038025 */ lui $v1, 0x8025 +/* 8260FC 80242E3C 24638A98 */ addiu $v1, $v1, -0x7568 +.L80242E40: +/* 826100 80242E40 8C620000 */ lw $v0, ($v1) +/* 826104 80242E44 10460006 */ beq $v0, $a2, .L80242E60 +/* 826108 80242E48 28A2001D */ slti $v0, $a1, 0x1d +/* 82610C 80242E4C 24840001 */ addiu $a0, $a0, 1 +/* 826110 80242E50 2882001D */ slti $v0, $a0, 0x1d +/* 826114 80242E54 1440FFFA */ bnez $v0, .L80242E40 +/* 826118 80242E58 24630004 */ addiu $v1, $v1, 4 +/* 82611C 80242E5C 28A2001D */ slti $v0, $a1, 0x1d +.L80242E60: +/* 826120 80242E60 10400013 */ beqz $v0, .L80242EB0 +/* 826124 80242E64 0000182D */ daddu $v1, $zero, $zero +/* 826128 80242E68 2882001D */ slti $v0, $a0, 0x1d +/* 82612C 80242E6C 10400010 */ beqz $v0, .L80242EB0 +/* 826130 80242E70 00A4102A */ slt $v0, $a1, $a0 +/* 826134 80242E74 10400006 */ beqz $v0, .L80242E90 +/* 826138 80242E78 000510C0 */ sll $v0, $a1, 3 +/* 82613C 80242E7C 00451023 */ subu $v0, $v0, $a1 +/* 826140 80242E80 00021080 */ sll $v0, $v0, 2 +/* 826144 80242E84 00451021 */ addu $v0, $v0, $a1 +/* 826148 80242E88 08090BA9 */ j .L80242EA4 +/* 82614C 80242E8C 00821021 */ addu $v0, $a0, $v0 +.L80242E90: +/* 826150 80242E90 000410C0 */ sll $v0, $a0, 3 +/* 826154 80242E94 00441023 */ subu $v0, $v0, $a0 +/* 826158 80242E98 00021080 */ sll $v0, $v0, 2 +/* 82615C 80242E9C 00441021 */ addu $v0, $v0, $a0 +/* 826160 80242EA0 00A21021 */ addu $v0, $a1, $v0 +.L80242EA4: +/* 826164 80242EA4 3C038025 */ lui $v1, 0x8025 +/* 826168 80242EA8 00621821 */ addu $v1, $v1, $v0 +/* 82616C 80242EAC 80638CF0 */ lb $v1, -0x7310($v1) +.L80242EB0: +/* 826170 80242EB0 04620001 */ bltzl $v1, .L80242EB8 +/* 826174 80242EB4 0000182D */ daddu $v1, $zero, $zero +.L80242EB8: +/* 826178 80242EB8 14600015 */ bnez $v1, .L80242F10 +/* 82617C 80242EBC 0220202D */ daddu $a0, $s1, $zero +/* 826180 80242EC0 3C048025 */ lui $a0, 0x8025 +/* 826184 80242EC4 2484903C */ addiu $a0, $a0, -0x6fc4 +/* 826188 80242EC8 24870060 */ addiu $a3, $a0, 0x60 +.L80242ECC: +/* 82618C 80242ECC 8C850000 */ lw $a1, ($a0) +/* 826190 80242ED0 14B00004 */ bne $a1, $s0, .L80242EE4 +/* 826194 80242ED4 00000000 */ nop +/* 826198 80242ED8 8C820004 */ lw $v0, 4($a0) +/* 82619C 80242EDC 10460006 */ beq $v0, $a2, .L80242EF8 +/* 8261A0 80242EE0 00000000 */ nop +.L80242EE4: +/* 8261A4 80242EE4 54A60006 */ bnel $a1, $a2, .L80242F00 +/* 8261A8 80242EE8 2484000C */ addiu $a0, $a0, 0xc +/* 8261AC 80242EEC 8C820004 */ lw $v0, 4($a0) +/* 8261B0 80242EF0 54500003 */ bnel $v0, $s0, .L80242F00 +/* 8261B4 80242EF4 2484000C */ addiu $a0, $a0, 0xc +.L80242EF8: +/* 8261B8 80242EF8 8C830008 */ lw $v1, 8($a0) +/* 8261BC 80242EFC 2484000C */ addiu $a0, $a0, 0xc +.L80242F00: +/* 8261C0 80242F00 0087102A */ slt $v0, $a0, $a3 +/* 8261C4 80242F04 1440FFF1 */ bnez $v0, .L80242ECC +/* 8261C8 80242F08 00000000 */ nop +/* 8261CC 80242F0C 0220202D */ daddu $a0, $s1, $zero +.L80242F10: +/* 8261D0 80242F10 3C028025 */ lui $v0, 0x8025 +/* 8261D4 80242F14 24428B10 */ addiu $v0, $v0, -0x74f0 +/* 8261D8 80242F18 000318C0 */ sll $v1, $v1, 3 +/* 8261DC 80242F1C 00621821 */ addu $v1, $v1, $v0 +/* 8261E0 80242F20 8C660004 */ lw $a2, 4($v1) +/* 8261E4 80242F24 8C700000 */ lw $s0, ($v1) +/* 8261E8 80242F28 0C0B2026 */ jal set_variable +/* 8261EC 80242F2C 0240282D */ daddu $a1, $s2, $zero +/* 8261F0 80242F30 0220202D */ daddu $a0, $s1, $zero +/* 8261F4 80242F34 0260282D */ daddu $a1, $s3, $zero +/* 8261F8 80242F38 0C0B2026 */ jal set_variable +/* 8261FC 80242F3C 0200302D */ daddu $a2, $s0, $zero +/* 826200 80242F40 8FBF0020 */ lw $ra, 0x20($sp) +/* 826204 80242F44 8FB3001C */ lw $s3, 0x1c($sp) +/* 826208 80242F48 8FB20018 */ lw $s2, 0x18($sp) +/* 82620C 80242F4C 8FB10014 */ lw $s1, 0x14($sp) +/* 826210 80242F50 8FB00010 */ lw $s0, 0x10($sp) +/* 826214 80242F54 24020002 */ addiu $v0, $zero, 2 +/* 826218 80242F58 03E00008 */ jr $ra +/* 82621C 80242F5C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80242F60.s b/asm/nonmatchings/world/area_mac/mac_02/func_80242F60.s new file mode 100644 index 0000000000..3e7b0dbeee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80242F60.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F60 +/* 826220 80242F60 27BDFE48 */ addiu $sp, $sp, -0x1b8 +/* 826224 80242F64 AFBF01B0 */ sw $ra, 0x1b0($sp) +/* 826228 80242F68 8C82000C */ lw $v0, 0xc($a0) +/* 82622C 80242F6C 0C0B1EAF */ jal get_variable +/* 826230 80242F70 8C450000 */ lw $a1, ($v0) +/* 826234 80242F74 0040302D */ daddu $a2, $v0, $zero +/* 826238 80242F78 27A30010 */ addiu $v1, $sp, 0x10 +/* 82623C 80242F7C 3C028025 */ lui $v0, 0x8025 +/* 826240 80242F80 2442E3A0 */ addiu $v0, $v0, -0x1c60 +/* 826244 80242F84 244400D0 */ addiu $a0, $v0, 0xd0 +.L80242F88: +/* 826248 80242F88 8C470000 */ lw $a3, ($v0) +/* 82624C 80242F8C 8C480004 */ lw $t0, 4($v0) +/* 826250 80242F90 8C490008 */ lw $t1, 8($v0) +/* 826254 80242F94 8C4A000C */ lw $t2, 0xc($v0) +/* 826258 80242F98 AC670000 */ sw $a3, ($v1) +/* 82625C 80242F9C AC680004 */ sw $t0, 4($v1) +/* 826260 80242FA0 AC690008 */ sw $t1, 8($v1) +/* 826264 80242FA4 AC6A000C */ sw $t2, 0xc($v1) +/* 826268 80242FA8 24420010 */ addiu $v0, $v0, 0x10 +/* 82626C 80242FAC 1444FFF6 */ bne $v0, $a0, .L80242F88 +/* 826270 80242FB0 24630010 */ addiu $v1, $v1, 0x10 +/* 826274 80242FB4 27A300E0 */ addiu $v1, $sp, 0xe0 +/* 826278 80242FB8 3C028025 */ lui $v0, 0x8025 +/* 82627C 80242FBC 2442E470 */ addiu $v0, $v0, -0x1b90 +/* 826280 80242FC0 244400D0 */ addiu $a0, $v0, 0xd0 +.L80242FC4: +/* 826284 80242FC4 8C470000 */ lw $a3, ($v0) +/* 826288 80242FC8 8C480004 */ lw $t0, 4($v0) +/* 82628C 80242FCC 8C490008 */ lw $t1, 8($v0) +/* 826290 80242FD0 8C4A000C */ lw $t2, 0xc($v0) +/* 826294 80242FD4 AC670000 */ sw $a3, ($v1) +/* 826298 80242FD8 AC680004 */ sw $t0, 4($v1) +/* 82629C 80242FDC AC690008 */ sw $t1, 8($v1) +/* 8262A0 80242FE0 AC6A000C */ sw $t2, 0xc($v1) +/* 8262A4 80242FE4 24420010 */ addiu $v0, $v0, 0x10 +/* 8262A8 80242FE8 1444FFF6 */ bne $v0, $a0, .L80242FC4 +/* 8262AC 80242FEC 24630010 */ addiu $v1, $v1, 0x10 +/* 8262B0 80242FF0 0000202D */ daddu $a0, $zero, $zero +/* 8262B4 80242FF4 27A500E0 */ addiu $a1, $sp, 0xe0 +/* 8262B8 80242FF8 27A30010 */ addiu $v1, $sp, 0x10 +.L80242FFC: +/* 8262BC 80242FFC 8C620000 */ lw $v0, ($v1) +/* 8262C0 80243000 54C20007 */ bnel $a2, $v0, .L80243020 +/* 8262C4 80243004 24A50004 */ addiu $a1, $a1, 4 +/* 8262C8 80243008 0000202D */ daddu $a0, $zero, $zero +/* 8262CC 8024300C 8CA50000 */ lw $a1, ($a1) +/* 8262D0 80243010 0C0B2026 */ jal set_variable +/* 8262D4 80243014 24060001 */ addiu $a2, $zero, 1 +/* 8262D8 80243018 08090C0C */ j .L80243030 +/* 8262DC 8024301C 00000000 */ nop +.L80243020: +/* 8262E0 80243020 24840001 */ addiu $a0, $a0, 1 +/* 8262E4 80243024 28820034 */ slti $v0, $a0, 0x34 +/* 8262E8 80243028 1440FFF4 */ bnez $v0, .L80242FFC +/* 8262EC 8024302C 24630004 */ addiu $v1, $v1, 4 +.L80243030: +/* 8262F0 80243030 8FBF01B0 */ lw $ra, 0x1b0($sp) +/* 8262F4 80243034 24020002 */ addiu $v0, $zero, 2 +/* 8262F8 80243038 03E00008 */ jr $ra +/* 8262FC 8024303C 27BD01B8 */ addiu $sp, $sp, 0x1b8 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80243040.s b/asm/nonmatchings/world/area_mac/mac_02/func_80243040.s new file mode 100644 index 0000000000..e15691782e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80243040.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243040 +/* 826300 80243040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 826304 80243044 AFB00010 */ sw $s0, 0x10($sp) +/* 826308 80243048 0080802D */ daddu $s0, $a0, $zero +/* 82630C 8024304C AFBF0018 */ sw $ra, 0x18($sp) +/* 826310 80243050 AFB10014 */ sw $s1, 0x14($sp) +/* 826314 80243054 8E02000C */ lw $v0, 0xc($s0) +/* 826318 80243058 0C039D7B */ jal get_item_count +/* 82631C 8024305C 8C510000 */ lw $s1, ($v0) +/* 826320 80243060 0200202D */ daddu $a0, $s0, $zero +/* 826324 80243064 0040302D */ daddu $a2, $v0, $zero +/* 826328 80243068 0C0B2026 */ jal set_variable +/* 82632C 8024306C 0220282D */ daddu $a1, $s1, $zero +/* 826330 80243070 8FBF0018 */ lw $ra, 0x18($sp) +/* 826334 80243074 8FB10014 */ lw $s1, 0x14($sp) +/* 826338 80243078 8FB00010 */ lw $s0, 0x10($sp) +/* 82633C 8024307C 24020002 */ addiu $v0, $zero, 2 +/* 826340 80243080 03E00008 */ jr $ra +/* 826344 80243084 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80243088.s b/asm/nonmatchings/world/area_mac/mac_02/func_80243088.s new file mode 100644 index 0000000000..97bca3ec21 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80243088.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243088 +/* 826348 80243088 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 82634C 8024308C AFB00010 */ sw $s0, 0x10($sp) +/* 826350 80243090 0080802D */ daddu $s0, $a0, $zero +/* 826354 80243094 AFBF0018 */ sw $ra, 0x18($sp) +/* 826358 80243098 AFB10014 */ sw $s1, 0x14($sp) +/* 82635C 8024309C 8E02000C */ lw $v0, 0xc($s0) +/* 826360 802430A0 0C039D88 */ jal get_item_empty_count +/* 826364 802430A4 8C510000 */ lw $s1, ($v0) +/* 826368 802430A8 0200202D */ daddu $a0, $s0, $zero +/* 82636C 802430AC 0040302D */ daddu $a2, $v0, $zero +/* 826370 802430B0 0C0B2026 */ jal set_variable +/* 826374 802430B4 0220282D */ daddu $a1, $s1, $zero +/* 826378 802430B8 8FBF0018 */ lw $ra, 0x18($sp) +/* 82637C 802430BC 8FB10014 */ lw $s1, 0x14($sp) +/* 826380 802430C0 8FB00010 */ lw $s0, 0x10($sp) +/* 826384 802430C4 24020002 */ addiu $v0, $zero, 2 +/* 826388 802430C8 03E00008 */ jr $ra +/* 82638C 802430CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802430D0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802430D0.s new file mode 100644 index 0000000000..326df4e379 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802430D0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430D0 +/* 826390 802430D0 2404005A */ addiu $a0, $zero, 0x5a +/* 826394 802430D4 3C038025 */ lui $v1, 0x8025 +/* 826398 802430D8 2463EA10 */ addiu $v1, $v1, -0x15f0 +/* 82639C 802430DC 240200DA */ addiu $v0, $zero, 0xda +.L802430E0: +/* 8263A0 802430E0 AC620000 */ sw $v0, ($v1) +/* 8263A4 802430E4 2463FFFC */ addiu $v1, $v1, -4 +/* 8263A8 802430E8 2484FFFF */ addiu $a0, $a0, -1 +/* 8263AC 802430EC 0481FFFC */ bgez $a0, .L802430E0 +/* 8263B0 802430F0 2442FFFF */ addiu $v0, $v0, -1 +/* 8263B4 802430F4 3C018025 */ lui $at, 0x8025 +/* 8263B8 802430F8 AC20EA14 */ sw $zero, -0x15ec($at) +/* 8263BC 802430FC 03E00008 */ jr $ra +/* 8263C0 80243100 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80243104_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80243104_8232C0.s new file mode 100644 index 0000000000..f35d9a9c0c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80243104_8232C0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243104_8263C4 +/* 8263C4 80243104 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8263C8 80243108 AFB10014 */ sw $s1, 0x14($sp) +/* 8263CC 8024310C 0080882D */ daddu $s1, $a0, $zero +/* 8263D0 80243110 AFBF0018 */ sw $ra, 0x18($sp) +/* 8263D4 80243114 AFB00010 */ sw $s0, 0x10($sp) +/* 8263D8 80243118 8E30000C */ lw $s0, 0xc($s1) +/* 8263DC 8024311C 8E050000 */ lw $a1, ($s0) +/* 8263E0 80243120 0C0B1EAF */ jal get_variable +/* 8263E4 80243124 26100004 */ addiu $s0, $s0, 4 +/* 8263E8 80243128 AE22008C */ sw $v0, 0x8c($s1) +/* 8263EC 8024312C 8E050000 */ lw $a1, ($s0) +/* 8263F0 80243130 26100004 */ addiu $s0, $s0, 4 +/* 8263F4 80243134 0C0B1EAF */ jal get_variable +/* 8263F8 80243138 0220202D */ daddu $a0, $s1, $zero +/* 8263FC 8024313C AE220090 */ sw $v0, 0x90($s1) +/* 826400 80243140 8E050000 */ lw $a1, ($s0) +/* 826404 80243144 26100004 */ addiu $s0, $s0, 4 +/* 826408 80243148 0C0B1EAF */ jal get_variable +/* 82640C 8024314C 0220202D */ daddu $a0, $s1, $zero +/* 826410 80243150 AE220094 */ sw $v0, 0x94($s1) +/* 826414 80243154 8E050000 */ lw $a1, ($s0) +/* 826418 80243158 26100004 */ addiu $s0, $s0, 4 +/* 82641C 8024315C 0C0B1EAF */ jal get_variable +/* 826420 80243160 0220202D */ daddu $a0, $s1, $zero +/* 826424 80243164 AE220098 */ sw $v0, 0x98($s1) +/* 826428 80243168 8E050000 */ lw $a1, ($s0) +/* 82642C 8024316C 26100004 */ addiu $s0, $s0, 4 +/* 826430 80243170 0C0B1EAF */ jal get_variable +/* 826434 80243174 0220202D */ daddu $a0, $s1, $zero +/* 826438 80243178 AE22009C */ sw $v0, 0x9c($s1) +/* 82643C 8024317C 8E050000 */ lw $a1, ($s0) +/* 826440 80243180 26100004 */ addiu $s0, $s0, 4 +/* 826444 80243184 0C0B1EAF */ jal get_variable +/* 826448 80243188 0220202D */ daddu $a0, $s1, $zero +/* 82644C 8024318C AE2200A0 */ sw $v0, 0xa0($s1) +/* 826450 80243190 8E050000 */ lw $a1, ($s0) +/* 826454 80243194 26100004 */ addiu $s0, $s0, 4 +/* 826458 80243198 0C0B1EAF */ jal get_variable +/* 82645C 8024319C 0220202D */ daddu $a0, $s1, $zero +/* 826460 802431A0 AE2200A4 */ sw $v0, 0xa4($s1) +/* 826464 802431A4 8E050000 */ lw $a1, ($s0) +/* 826468 802431A8 26100004 */ addiu $s0, $s0, 4 +/* 82646C 802431AC 0C0B1EAF */ jal get_variable +/* 826470 802431B0 0220202D */ daddu $a0, $s1, $zero +/* 826474 802431B4 AE2200A8 */ sw $v0, 0xa8($s1) +/* 826478 802431B8 8E050000 */ lw $a1, ($s0) +/* 82647C 802431BC 26100004 */ addiu $s0, $s0, 4 +/* 826480 802431C0 0C0B1EAF */ jal get_variable +/* 826484 802431C4 0220202D */ daddu $a0, $s1, $zero +/* 826488 802431C8 AE2200AC */ sw $v0, 0xac($s1) +/* 82648C 802431CC 8E050000 */ lw $a1, ($s0) +/* 826490 802431D0 0C0B1EAF */ jal get_variable +/* 826494 802431D4 0220202D */ daddu $a0, $s1, $zero +/* 826498 802431D8 AE2200B0 */ sw $v0, 0xb0($s1) +/* 82649C 802431DC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8264A0 802431E0 8FB10014 */ lw $s1, 0x14($sp) +/* 8264A4 802431E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8264A8 802431E8 24020002 */ addiu $v0, $zero, 2 +/* 8264AC 802431EC 03E00008 */ jr $ra +/* 8264B0 802431F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802431F4.s b/asm/nonmatchings/world/area_mac/mac_02/func_802431F4.s new file mode 100644 index 0000000000..4affccbb8b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802431F4.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431F4 +/* 8264B4 802431F4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8264B8 802431F8 AFB1001C */ sw $s1, 0x1c($sp) +/* 8264BC 802431FC 0080882D */ daddu $s1, $a0, $zero +/* 8264C0 80243200 AFBF0034 */ sw $ra, 0x34($sp) +/* 8264C4 80243204 AFB60030 */ sw $s6, 0x30($sp) +/* 8264C8 80243208 AFB5002C */ sw $s5, 0x2c($sp) +/* 8264CC 8024320C AFB40028 */ sw $s4, 0x28($sp) +/* 8264D0 80243210 AFB30024 */ sw $s3, 0x24($sp) +/* 8264D4 80243214 AFB20020 */ sw $s2, 0x20($sp) +/* 8264D8 80243218 AFB00018 */ sw $s0, 0x18($sp) +/* 8264DC 8024321C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8264E0 80243220 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8264E4 80243224 8E30000C */ lw $s0, 0xc($s1) +/* 8264E8 80243228 8E160000 */ lw $s6, ($s0) +/* 8264EC 8024322C 26100004 */ addiu $s0, $s0, 4 +/* 8264F0 80243230 0C0B1EAF */ jal get_variable +/* 8264F4 80243234 02C0282D */ daddu $a1, $s6, $zero +/* 8264F8 80243238 44820000 */ mtc1 $v0, $f0 +/* 8264FC 8024323C 00000000 */ nop +/* 826500 80243240 46800020 */ cvt.s.w $f0, $f0 +/* 826504 80243244 E7A00010 */ swc1 $f0, 0x10($sp) +/* 826508 80243248 8E140000 */ lw $s4, ($s0) +/* 82650C 8024324C 26100004 */ addiu $s0, $s0, 4 +/* 826510 80243250 0220202D */ daddu $a0, $s1, $zero +/* 826514 80243254 0C0B1EAF */ jal get_variable +/* 826518 80243258 0280282D */ daddu $a1, $s4, $zero +/* 82651C 8024325C 0220202D */ daddu $a0, $s1, $zero +/* 826520 80243260 8E150000 */ lw $s5, ($s0) +/* 826524 80243264 4482B000 */ mtc1 $v0, $f22 +/* 826528 80243268 00000000 */ nop +/* 82652C 8024326C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 826530 80243270 0C0B1EAF */ jal get_variable +/* 826534 80243274 02A0282D */ daddu $a1, $s5, $zero +/* 826538 80243278 2404FFFC */ addiu $a0, $zero, -4 +/* 82653C 8024327C 44820000 */ mtc1 $v0, $f0 +/* 826540 80243280 00000000 */ nop +/* 826544 80243284 46800020 */ cvt.s.w $f0, $f0 +/* 826548 80243288 0C00EABB */ jal get_npc_unsafe +/* 82654C 8024328C E7A00014 */ swc1 $f0, 0x14($sp) +/* 826550 80243290 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 826554 80243294 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 826558 80243298 3C014334 */ lui $at, 0x4334 +/* 82655C 8024329C 44816000 */ mtc1 $at, $f12 +/* 826560 802432A0 00041880 */ sll $v1, $a0, 2 +/* 826564 802432A4 00641821 */ addu $v1, $v1, $a0 +/* 826568 802432A8 00031880 */ sll $v1, $v1, 2 +/* 82656C 802432AC 00641823 */ subu $v1, $v1, $a0 +/* 826570 802432B0 000320C0 */ sll $a0, $v1, 3 +/* 826574 802432B4 00641821 */ addu $v1, $v1, $a0 +/* 826578 802432B8 000318C0 */ sll $v1, $v1, 3 +/* 82657C 802432BC 3C01800B */ lui $at, 0x800b +/* 826580 802432C0 00230821 */ addu $at, $at, $v1 +/* 826584 802432C4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 826588 802432C8 460C0300 */ add.s $f12, $f0, $f12 +/* 82658C 802432CC 0C00A6C9 */ jal clamp_angle +/* 826590 802432D0 0040982D */ daddu $s3, $v0, $zero +/* 826594 802432D4 27B00010 */ addiu $s0, $sp, 0x10 +/* 826598 802432D8 0200202D */ daddu $a0, $s0, $zero +/* 82659C 802432DC 27B20014 */ addiu $s2, $sp, 0x14 +/* 8265A0 802432E0 0240282D */ daddu $a1, $s2, $zero +/* 8265A4 802432E4 3C064170 */ lui $a2, 0x4170 +/* 8265A8 802432E8 8E67000C */ lw $a3, 0xc($s3) +/* 8265AC 802432EC 0C00A7E7 */ jal add_vec2D_polar +/* 8265B0 802432F0 46000506 */ mov.s $f20, $f0 +/* 8265B4 802432F4 0200202D */ daddu $a0, $s0, $zero +/* 8265B8 802432F8 3C064120 */ lui $a2, 0x4120 +/* 8265BC 802432FC 4407A000 */ mfc1 $a3, $f20 +/* 8265C0 80243300 0C00A7E7 */ jal add_vec2D_polar +/* 8265C4 80243304 0240282D */ daddu $a1, $s2, $zero +/* 8265C8 80243308 0220202D */ daddu $a0, $s1, $zero +/* 8265CC 8024330C C7A00010 */ lwc1 $f0, 0x10($sp) +/* 8265D0 80243310 4600008D */ trunc.w.s $f2, $f0 +/* 8265D4 80243314 44061000 */ mfc1 $a2, $f2 +/* 8265D8 80243318 0C0B2026 */ jal set_variable +/* 8265DC 8024331C 02C0282D */ daddu $a1, $s6, $zero +/* 8265E0 80243320 0220202D */ daddu $a0, $s1, $zero +/* 8265E4 80243324 4600B08D */ trunc.w.s $f2, $f22 +/* 8265E8 80243328 44061000 */ mfc1 $a2, $f2 +/* 8265EC 8024332C 0C0B2026 */ jal set_variable +/* 8265F0 80243330 0280282D */ daddu $a1, $s4, $zero +/* 8265F4 80243334 0220202D */ daddu $a0, $s1, $zero +/* 8265F8 80243338 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 8265FC 8024333C 4600008D */ trunc.w.s $f2, $f0 +/* 826600 80243340 44061000 */ mfc1 $a2, $f2 +/* 826604 80243344 0C0B2026 */ jal set_variable +/* 826608 80243348 02A0282D */ daddu $a1, $s5, $zero +/* 82660C 8024334C 8FBF0034 */ lw $ra, 0x34($sp) +/* 826610 80243350 8FB60030 */ lw $s6, 0x30($sp) +/* 826614 80243354 8FB5002C */ lw $s5, 0x2c($sp) +/* 826618 80243358 8FB40028 */ lw $s4, 0x28($sp) +/* 82661C 8024335C 8FB30024 */ lw $s3, 0x24($sp) +/* 826620 80243360 8FB20020 */ lw $s2, 0x20($sp) +/* 826624 80243364 8FB1001C */ lw $s1, 0x1c($sp) +/* 826628 80243368 8FB00018 */ lw $s0, 0x18($sp) +/* 82662C 8024336C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 826630 80243370 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 826634 80243374 24020002 */ addiu $v0, $zero, 2 +/* 826638 80243378 03E00008 */ jr $ra +/* 82663C 8024337C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_80243380_8232C0.s b/asm/nonmatchings/world/area_mac/mac_02/func_80243380_8232C0.s new file mode 100644 index 0000000000..1aba243679 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_80243380_8232C0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243380_826640 +/* 826640 80243380 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 826644 80243384 AFB00010 */ sw $s0, 0x10($sp) +/* 826648 80243388 0080802D */ daddu $s0, $a0, $zero +/* 82664C 8024338C AFBF0014 */ sw $ra, 0x14($sp) +/* 826650 80243390 0C00EABB */ jal get_npc_unsafe +/* 826654 80243394 8E04008C */ lw $a0, 0x8c($s0) +/* 826658 80243398 0040282D */ daddu $a1, $v0, $zero +/* 82665C 8024339C 8E040094 */ lw $a0, 0x94($s0) +/* 826660 802433A0 8CA30028 */ lw $v1, 0x28($a1) +/* 826664 802433A4 ACA40028 */ sw $a0, 0x28($a1) +/* 826668 802433A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 82666C 802433AC 8FB00010 */ lw $s0, 0x10($sp) +/* 826670 802433B0 24020002 */ addiu $v0, $zero, 2 +/* 826674 802433B4 3C018025 */ lui $at, 0x8025 +/* 826678 802433B8 AC23EA18 */ sw $v1, -0x15e8($at) +/* 82667C 802433BC 03E00008 */ jr $ra +/* 826680 802433C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802433C4.s b/asm/nonmatchings/world/area_mac/mac_02/func_802433C4.s new file mode 100644 index 0000000000..61230fb7aa --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802433C4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433C4 +/* 826684 802433C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 826688 802433C8 AFBF0010 */ sw $ra, 0x10($sp) +/* 82668C 802433CC 0C00EABB */ jal get_npc_unsafe +/* 826690 802433D0 8C84008C */ lw $a0, 0x8c($a0) +/* 826694 802433D4 3C038025 */ lui $v1, 0x8025 +/* 826698 802433D8 8C63EA18 */ lw $v1, -0x15e8($v1) +/* 82669C 802433DC AC430028 */ sw $v1, 0x28($v0) +/* 8266A0 802433E0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8266A4 802433E4 24020002 */ addiu $v0, $zero, 2 +/* 8266A8 802433E8 03E00008 */ jr $ra +/* 8266AC 802433EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_02/func_802433F0.s b/asm/nonmatchings/world/area_mac/mac_02/func_802433F0.s new file mode 100644 index 0000000000..6f08051143 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_02/func_802433F0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433F0 +/* 8266B0 802433F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8266B4 802433F4 AFB00010 */ sw $s0, 0x10($sp) +/* 8266B8 802433F8 0080802D */ daddu $s0, $a0, $zero +/* 8266BC 802433FC AFB20018 */ sw $s2, 0x18($sp) +/* 8266C0 80243400 AFBF001C */ sw $ra, 0x1c($sp) +/* 8266C4 80243404 AFB10014 */ sw $s1, 0x14($sp) +/* 8266C8 80243408 8E02000C */ lw $v0, 0xc($s0) +/* 8266CC 8024340C 10A00008 */ beqz $a1, .L80243430 +/* 8266D0 80243410 0000902D */ daddu $s2, $zero, $zero +/* 8266D4 80243414 8C450000 */ lw $a1, ($v0) +/* 8266D8 80243418 0C0B1EAF */ jal get_variable +/* 8266DC 8024341C 00000000 */ nop +/* 8266E0 80243420 AE020070 */ sw $v0, 0x70($s0) +/* 8266E4 80243424 AE000074 */ sw $zero, 0x74($s0) +/* 8266E8 80243428 8C420014 */ lw $v0, 0x14($v0) +/* 8266EC 8024342C AE020078 */ sw $v0, 0x78($s0) +.L80243430: +/* 8266F0 80243430 8E050078 */ lw $a1, 0x78($s0) +/* 8266F4 80243434 8E110070 */ lw $s1, 0x70($s0) +/* 8266F8 80243438 0C0B1EAF */ jal get_variable +/* 8266FC 8024343C 0200202D */ daddu $a0, $s0, $zero +/* 826700 80243440 10400006 */ beqz $v0, .L8024345C +/* 826704 80243444 24030002 */ addiu $v1, $zero, 2 +/* 826708 80243448 8E020074 */ lw $v0, 0x74($s0) +/* 82670C 8024344C 10430027 */ beq $v0, $v1, .L802434EC +/* 826710 80243450 00000000 */ nop +/* 826714 80243454 08090D3A */ j .L802434E8 +/* 826718 80243458 AE030074 */ sw $v1, 0x74($s0) +.L8024345C: +/* 82671C 8024345C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 826720 80243460 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 826724 80243464 8E260000 */ lw $a2, ($s1) +/* 826728 80243468 8E270004 */ lw $a3, 4($s1) +/* 82672C 8024346C C44C0028 */ lwc1 $f12, 0x28($v0) +/* 826730 80243470 0C00A7B5 */ jal dist2D +/* 826734 80243474 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 826738 80243478 8E030074 */ lw $v1, 0x74($s0) +/* 82673C 8024347C 24040001 */ addiu $a0, $zero, 1 +/* 826740 80243480 10640013 */ beq $v1, $a0, .L802434D0 +/* 826744 80243484 46000086 */ mov.s $f2, $f0 +/* 826748 80243488 28620002 */ slti $v0, $v1, 2 +/* 82674C 8024348C 50400005 */ beql $v0, $zero, .L802434A4 +/* 826750 80243490 24020002 */ addiu $v0, $zero, 2 +/* 826754 80243494 10600007 */ beqz $v1, .L802434B4 +/* 826758 80243498 00000000 */ nop +/* 82675C 8024349C 08090D3B */ j .L802434EC +/* 826760 802434A0 00000000 */ nop +.L802434A4: +/* 826764 802434A4 50620010 */ beql $v1, $v0, .L802434E8 +/* 826768 802434A8 AE040074 */ sw $a0, 0x74($s0) +/* 82676C 802434AC 08090D3B */ j .L802434EC +/* 826770 802434B0 00000000 */ nop +.L802434B4: +/* 826774 802434B4 C6200008 */ lwc1 $f0, 8($s1) +/* 826778 802434B8 4600103C */ c.lt.s $f2, $f0 +/* 82677C 802434BC 00000000 */ nop +/* 826780 802434C0 4500000A */ bc1f .L802434EC +/* 826784 802434C4 00000000 */ nop +/* 826788 802434C8 08090D3A */ j .L802434E8 +/* 82678C 802434CC AE040074 */ sw $a0, 0x74($s0) +.L802434D0: +/* 826790 802434D0 C620000C */ lwc1 $f0, 0xc($s1) +/* 826794 802434D4 4602003C */ c.lt.s $f0, $f2 +/* 826798 802434D8 00000000 */ nop +/* 82679C 802434DC 45000003 */ bc1f .L802434EC +/* 8267A0 802434E0 00000000 */ nop +/* 8267A4 802434E4 AE000074 */ sw $zero, 0x74($s0) +.L802434E8: +/* 8267A8 802434E8 24120001 */ addiu $s2, $zero, 1 +.L802434EC: +/* 8267AC 802434EC 12400005 */ beqz $s2, .L80243504 +/* 8267B0 802434F0 00000000 */ nop +/* 8267B4 802434F4 8E250010 */ lw $a1, 0x10($s1) +/* 8267B8 802434F8 86060076 */ lh $a2, 0x76($s0) +/* 8267BC 802434FC 0C052A95 */ jal func_8014AA54 +/* 8267C0 80243500 0000202D */ daddu $a0, $zero, $zero +.L80243504: +/* 8267C4 80243504 8FBF001C */ lw $ra, 0x1c($sp) +/* 8267C8 80243508 8FB20018 */ lw $s2, 0x18($sp) +/* 8267CC 8024350C 8FB10014 */ lw $s1, 0x14($sp) +/* 8267D0 80243510 8FB00010 */ lw $s0, 0x10($sp) +/* 8267D4 80243514 0000102D */ daddu $v0, $zero, $zero +/* 8267D8 80243518 03E00008 */ jr $ra +/* 8267DC 8024351C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240000_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240000_831800.s new file mode 100644 index 0000000000..5e91076a5d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240000_831800.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_831800 +/* 831800 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 831804 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 831808 80240008 8C430004 */ lw $v1, 4($v0) +/* 83180C 8024000C 3C040010 */ lui $a0, 0x10 +/* 831810 80240010 00641825 */ or $v1, $v1, $a0 +/* 831814 80240014 AC430004 */ sw $v1, 4($v0) +/* 831818 80240018 03E00008 */ jr $ra +/* 83181C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240020_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240020_831800.s new file mode 100644 index 0000000000..1a22ff08da --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240020_831800.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_831820 +/* 831820 80240020 3C028016 */ lui $v0, 0x8016 +/* 831824 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 831828 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 83182C 8024002C 03E00008 */ jr $ra +/* 831830 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240034_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240034_831800.s new file mode 100644 index 0000000000..1f464b34d9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240034_831800.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_831834 +/* 831834 80240034 3C038016 */ lui $v1, 0x8016 +/* 831838 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 83183C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 831840 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 831844 80240044 0080802D */ daddu $s0, $a0, $zero +/* 831848 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 83184C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 831850 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 831854 80240054 24020002 */ addiu $v0, $zero, 2 +/* 831858 80240058 08090038 */ j .L802400E0 +/* 83185C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 831860 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 831864 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 831868 80240068 80620040 */ lb $v0, 0x40($v1) +/* 83186C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 831870 80240070 04420001 */ bltzl $v0, .L80240078 +/* 831874 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 831878 80240078 14400003 */ bnez $v0, .L80240088 +/* 83187C 8024007C 00000000 */ nop +/* 831880 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 831884 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 831888 80240088 44822000 */ mtc1 $v0, $f4 +/* 83188C 8024008C 00000000 */ nop +/* 831890 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 831894 80240094 44062000 */ mfc1 $a2, $f4 +/* 831898 80240098 44872000 */ mtc1 $a3, $f4 +/* 83189C 8024009C 00000000 */ nop +/* 8318A0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 8318A4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 8318A8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 8318AC 802400AC 0C00A720 */ jal atan2 +/* 8318B0 802400B0 46006386 */ mov.s $f14, $f12 +/* 8318B4 802400B4 3C014270 */ lui $at, 0x4270 +/* 8318B8 802400B8 44811000 */ mtc1 $at, $f2 +/* 8318BC 802400BC 00000000 */ nop +/* 8318C0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 8318C4 802400C4 00000000 */ nop +/* 8318C8 802400C8 45000004 */ bc1f .L802400DC +/* 8318CC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 8318D0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 8318D4 802400D4 08090038 */ j .L802400E0 +/* 8318D8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 8318DC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8318E0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8318E4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8318E8 802400E8 03E00008 */ jr $ra +/* 8318EC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802400F0_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_802400F0_831800.s new file mode 100644 index 0000000000..2c1f4cda97 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802400F0_831800.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8318F0 +/* 8318F0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8318F4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8318F8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8318FC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 831900 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 831904 80240104 0C016AFA */ jal get_current_map_header +/* 831908 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 83190C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 831910 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 831914 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 831918 80240118 0C0B1EAF */ jal get_variable +/* 83191C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 831920 80240120 0220202D */ daddu $a0, $s1, $zero +/* 831924 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 831928 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 83192C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 831930 80240130 02031821 */ addu $v1, $s0, $v1 +/* 831934 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 831938 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 83193C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 831940 80240140 0C0B2026 */ jal set_variable +/* 831944 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 831948 80240148 0220202D */ daddu $a0, $s1, $zero +/* 83194C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 831950 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 831954 80240154 02021021 */ addu $v0, $s0, $v0 +/* 831958 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 83195C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 831960 80240160 44061000 */ mfc1 $a2, $f2 +/* 831964 80240164 0C0B2026 */ jal set_variable +/* 831968 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 83196C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 831970 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 831974 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 831978 80240178 02021021 */ addu $v0, $s0, $v0 +/* 83197C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 831980 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 831984 80240184 44061000 */ mfc1 $a2, $f2 +/* 831988 80240188 0C0B2026 */ jal set_variable +/* 83198C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 831990 80240190 0220202D */ daddu $a0, $s1, $zero +/* 831994 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 831998 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 83199C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 8319A0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8319A4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 8319A8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 8319AC 802401AC 0C0B2026 */ jal set_variable +/* 8319B0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8319B4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8319B8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 8319BC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 8319C0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 8319C4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 8319C8 802401C8 03E00008 */ jr $ra +/* 8319CC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802401D0_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_802401D0_831800.s new file mode 100644 index 0000000000..10898df856 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802401D0_831800.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_8319D0 +/* 8319D0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8319D4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8319D8 802401D8 3C014334 */ lui $at, 0x4334 +/* 8319DC 802401DC 44816000 */ mtc1 $at, $f12 +/* 8319E0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8319E4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8319E8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8319EC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8319F0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8319F4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8319F8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8319FC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 831A00 80240200 00431021 */ addu $v0, $v0, $v1 +/* 831A04 80240204 000210C0 */ sll $v0, $v0, 3 +/* 831A08 80240208 3C01800B */ lui $at, 0x800b +/* 831A0C 8024020C 00220821 */ addu $at, $at, $v0 +/* 831A10 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 831A14 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 831A18 80240218 0C00A6C9 */ jal clamp_angle +/* 831A1C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 831A20 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 831A24 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 831A28 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 831A2C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 831A30 80240230 24020002 */ addiu $v0, $zero, 2 +/* 831A34 80240234 03E00008 */ jr $ra +/* 831A38 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_8024023C_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_8024023C_831800.s new file mode 100644 index 0000000000..184078e93c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_8024023C_831800.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_831A3C +/* 831A3C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 831A40 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 831A44 80240244 0080802D */ daddu $s0, $a0, $zero +/* 831A48 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 831A4C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 831A50 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 831A54 80240254 0C0B210B */ jal get_float_variable +/* 831A58 80240258 8C450000 */ lw $a1, ($v0) +/* 831A5C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 831A60 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 831A64 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 831A68 80240268 44060000 */ mfc1 $a2, $f0 +/* 831A6C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 831A70 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 831A74 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 831A78 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 831A7C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 831A80 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 831A84 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 831A88 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 831A8C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 831A90 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 831A94 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 831A98 80240298 0C0B2190 */ jal set_float_variable +/* 831A9C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 831AA0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 831AA4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 831AA8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 831AAC 802402AC 0C0B2190 */ jal set_float_variable +/* 831AB0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 831AB4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 831AB8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 831ABC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 831AC0 802402C0 0C0B2190 */ jal set_float_variable +/* 831AC4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 831AC8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 831ACC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 831AD0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 831AD4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 831AD8 802402D8 03E00008 */ jr $ra +/* 831ADC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802402E0_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_802402E0_831800.s new file mode 100644 index 0000000000..5c4cbd99dc --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802402E0_831800.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_831AE0 +/* 831AE0 802402E0 8C8200C0 */ lw $v0, 0xc0($a0) +/* 831AE4 802402E4 284202D1 */ slti $v0, $v0, 0x2d1 +/* 831AE8 802402E8 50400001 */ beql $v0, $zero, .L802402F0 +/* 831AEC 802402EC AC8000C0 */ sw $zero, 0xc0($a0) +.L802402F0: +/* 831AF0 802402F0 8C8300C0 */ lw $v1, 0xc0($a0) +/* 831AF4 802402F4 00031040 */ sll $v0, $v1, 1 +/* 831AF8 802402F8 00431021 */ addu $v0, $v0, $v1 +/* 831AFC 802402FC 00021040 */ sll $v0, $v0, 1 +/* 831B00 80240300 AC820084 */ sw $v0, 0x84($a0) +/* 831B04 80240304 000317C2 */ srl $v0, $v1, 0x1f +/* 831B08 80240308 00621821 */ addu $v1, $v1, $v0 +/* 831B0C 8024030C 00031843 */ sra $v1, $v1, 1 +/* 831B10 80240310 24020002 */ addiu $v0, $zero, 2 +/* 831B14 80240314 03E00008 */ jr $ra +/* 831B18 80240318 AC830088 */ sw $v1, 0x88($a0) +/* 831B1C 8024031C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240320.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240320.s new file mode 100644 index 0000000000..1f6e628453 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240320.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320 +/* 831B20 80240320 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 831B24 80240324 AFB20018 */ sw $s2, 0x18($sp) +/* 831B28 80240328 0080902D */ daddu $s2, $a0, $zero +/* 831B2C 8024032C AFBF0028 */ sw $ra, 0x28($sp) +/* 831B30 80240330 AFB50024 */ sw $s5, 0x24($sp) +/* 831B34 80240334 AFB40020 */ sw $s4, 0x20($sp) +/* 831B38 80240338 AFB3001C */ sw $s3, 0x1c($sp) +/* 831B3C 8024033C AFB10014 */ sw $s1, 0x14($sp) +/* 831B40 80240340 AFB00010 */ sw $s0, 0x10($sp) +/* 831B44 80240344 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 831B48 80240348 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 831B4C 8024034C F7B40030 */ sdc1 $f20, 0x30($sp) +/* 831B50 80240350 8E50000C */ lw $s0, 0xc($s2) +/* 831B54 80240354 8E140000 */ lw $s4, ($s0) +/* 831B58 80240358 26100004 */ addiu $s0, $s0, 4 +/* 831B5C 8024035C 0C0B1EAF */ jal get_variable +/* 831B60 80240360 0280282D */ daddu $a1, $s4, $zero +/* 831B64 80240364 0040982D */ daddu $s3, $v0, $zero +/* 831B68 80240368 8E150000 */ lw $s5, ($s0) +/* 831B6C 8024036C 26100004 */ addiu $s0, $s0, 4 +/* 831B70 80240370 8E050000 */ lw $a1, ($s0) +/* 831B74 80240374 26100004 */ addiu $s0, $s0, 4 +/* 831B78 80240378 0C0B210B */ jal get_float_variable +/* 831B7C 8024037C 0240202D */ daddu $a0, $s2, $zero +/* 831B80 80240380 8E050000 */ lw $a1, ($s0) +/* 831B84 80240384 26100004 */ addiu $s0, $s0, 4 +/* 831B88 80240388 0240202D */ daddu $a0, $s2, $zero +/* 831B8C 8024038C 0C0B210B */ jal get_float_variable +/* 831B90 80240390 46000606 */ mov.s $f24, $f0 +/* 831B94 80240394 8E050000 */ lw $a1, ($s0) +/* 831B98 80240398 26100004 */ addiu $s0, $s0, 4 +/* 831B9C 8024039C 0240202D */ daddu $a0, $s2, $zero +/* 831BA0 802403A0 0C0B1EAF */ jal get_variable +/* 831BA4 802403A4 46000506 */ mov.s $f20, $f0 +/* 831BA8 802403A8 8E050000 */ lw $a1, ($s0) +/* 831BAC 802403AC 26100004 */ addiu $s0, $s0, 4 +/* 831BB0 802403B0 0240202D */ daddu $a0, $s2, $zero +/* 831BB4 802403B4 0C0B1EAF */ jal get_variable +/* 831BB8 802403B8 0040882D */ daddu $s1, $v0, $zero +/* 831BBC 802403BC 0240202D */ daddu $a0, $s2, $zero +/* 831BC0 802403C0 8E050000 */ lw $a1, ($s0) +/* 831BC4 802403C4 0C0B210B */ jal get_float_variable +/* 831BC8 802403C8 0040802D */ daddu $s0, $v0, $zero +/* 831BCC 802403CC 3C014334 */ lui $at, 0x4334 +/* 831BD0 802403D0 44811000 */ mtc1 $at, $f2 +/* 831BD4 802403D4 3C014049 */ lui $at, 0x4049 +/* 831BD8 802403D8 34210FD8 */ ori $at, $at, 0xfd8 +/* 831BDC 802403DC 44812000 */ mtc1 $at, $f4 +/* 831BE0 802403E0 46020003 */ div.s $f0, $f0, $f2 +/* 831BE4 802403E4 46040582 */ mul.s $f22, $f0, $f4 +/* 831BE8 802403E8 00000000 */ nop +/* 831BEC 802403EC 4618A501 */ sub.s $f20, $f20, $f24 +/* 831BF0 802403F0 3C013F00 */ lui $at, 0x3f00 +/* 831BF4 802403F4 44810000 */ mtc1 $at, $f0 +/* 831BF8 802403F8 00000000 */ nop +/* 831BFC 802403FC 4600A502 */ mul.s $f20, $f20, $f0 +/* 831C00 80240400 00000000 */ nop +/* 831C04 80240404 12000007 */ beqz $s0, .L80240424 +/* 831C08 80240408 0233102A */ slt $v0, $s1, $s3 +/* 831C0C 8024040C 10400005 */ beqz $v0, .L80240424 +/* 831C10 80240410 0240202D */ daddu $a0, $s2, $zero +/* 831C14 80240414 0220982D */ daddu $s3, $s1, $zero +/* 831C18 80240418 0280282D */ daddu $a1, $s4, $zero +/* 831C1C 8024041C 0C0B2026 */ jal set_variable +/* 831C20 80240420 0220302D */ daddu $a2, $s1, $zero +.L80240424: +/* 831C24 80240424 3C014049 */ lui $at, 0x4049 +/* 831C28 80240428 34210FD8 */ ori $at, $at, 0xfd8 +/* 831C2C 8024042C 44810000 */ mtc1 $at, $f0 +/* 831C30 80240430 44936000 */ mtc1 $s3, $f12 +/* 831C34 80240434 00000000 */ nop +/* 831C38 80240438 46806320 */ cvt.s.w $f12, $f12 +/* 831C3C 8024043C 46006302 */ mul.s $f12, $f12, $f0 +/* 831C40 80240440 00000000 */ nop +/* 831C44 80240444 44910000 */ mtc1 $s1, $f0 +/* 831C48 80240448 00000000 */ nop +/* 831C4C 8024044C 46800020 */ cvt.s.w $f0, $f0 +/* 831C50 80240450 46006303 */ div.s $f12, $f12, $f0 +/* 831C54 80240454 0C00A874 */ jal cos_rad +/* 831C58 80240458 46166300 */ add.s $f12, $f12, $f22 +/* 831C5C 8024045C 4600A002 */ mul.s $f0, $f20, $f0 +/* 831C60 80240460 00000000 */ nop +/* 831C64 80240464 4614C080 */ add.s $f2, $f24, $f20 +/* 831C68 80240468 46001081 */ sub.s $f2, $f2, $f0 +/* 831C6C 8024046C 0240202D */ daddu $a0, $s2, $zero +/* 831C70 80240470 44061000 */ mfc1 $a2, $f2 +/* 831C74 80240474 0C0B2190 */ jal set_float_variable +/* 831C78 80240478 02A0282D */ daddu $a1, $s5, $zero +/* 831C7C 8024047C 8FBF0028 */ lw $ra, 0x28($sp) +/* 831C80 80240480 8FB50024 */ lw $s5, 0x24($sp) +/* 831C84 80240484 8FB40020 */ lw $s4, 0x20($sp) +/* 831C88 80240488 8FB3001C */ lw $s3, 0x1c($sp) +/* 831C8C 8024048C 8FB20018 */ lw $s2, 0x18($sp) +/* 831C90 80240490 8FB10014 */ lw $s1, 0x14($sp) +/* 831C94 80240494 8FB00010 */ lw $s0, 0x10($sp) +/* 831C98 80240498 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 831C9C 8024049C D7B60038 */ ldc1 $f22, 0x38($sp) +/* 831CA0 802404A0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 831CA4 802404A4 24020002 */ addiu $v0, $zero, 2 +/* 831CA8 802404A8 03E00008 */ jr $ra +/* 831CAC 802404AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802404B0_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_802404B0_831800.s new file mode 100644 index 0000000000..dcba09f277 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802404B0_831800.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0_831CB0 +/* 831CB0 802404B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 831CB4 802404B4 AFB00010 */ sw $s0, 0x10($sp) +/* 831CB8 802404B8 3C108024 */ lui $s0, 0x8024 +/* 831CBC 802404BC 26106644 */ addiu $s0, $s0, 0x6644 +/* 831CC0 802404C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 831CC4 802404C4 AFB10014 */ sw $s1, 0x14($sp) +/* 831CC8 802404C8 8E020000 */ lw $v0, ($s0) +/* 831CCC 802404CC 14400010 */ bnez $v0, .L80240510 +/* 831CD0 802404D0 0080882D */ daddu $s1, $a0, $zero +/* 831CD4 802404D4 0C00AB39 */ jal heap_malloc +/* 831CD8 802404D8 24040040 */ addiu $a0, $zero, 0x40 +/* 831CDC 802404DC AE020000 */ sw $v0, ($s0) +/* 831CE0 802404E0 0000182D */ daddu $v1, $zero, $zero +/* 831CE4 802404E4 0040282D */ daddu $a1, $v0, $zero +/* 831CE8 802404E8 0220202D */ daddu $a0, $s1, $zero +.L802404EC: +/* 831CEC 802404EC 8C820084 */ lw $v0, 0x84($a0) +/* 831CF0 802404F0 24840004 */ addiu $a0, $a0, 4 +/* 831CF4 802404F4 24630001 */ addiu $v1, $v1, 1 +/* 831CF8 802404F8 ACA20000 */ sw $v0, ($a1) +/* 831CFC 802404FC 28620010 */ slti $v0, $v1, 0x10 +/* 831D00 80240500 1440FFFA */ bnez $v0, .L802404EC +/* 831D04 80240504 24A50004 */ addiu $a1, $a1, 4 +/* 831D08 80240508 08090153 */ j .L8024054C +/* 831D0C 8024050C 00000000 */ nop +.L80240510: +/* 831D10 80240510 0000182D */ daddu $v1, $zero, $zero +/* 831D14 80240514 0040282D */ daddu $a1, $v0, $zero +/* 831D18 80240518 0220202D */ daddu $a0, $s1, $zero +.L8024051C: +/* 831D1C 8024051C 8CA20000 */ lw $v0, ($a1) +/* 831D20 80240520 24A50004 */ addiu $a1, $a1, 4 +/* 831D24 80240524 24630001 */ addiu $v1, $v1, 1 +/* 831D28 80240528 AC820084 */ sw $v0, 0x84($a0) +/* 831D2C 8024052C 28620010 */ slti $v0, $v1, 0x10 +/* 831D30 80240530 1440FFFA */ bnez $v0, .L8024051C +/* 831D34 80240534 24840004 */ addiu $a0, $a0, 4 +/* 831D38 80240538 3C108024 */ lui $s0, 0x8024 +/* 831D3C 8024053C 26106644 */ addiu $s0, $s0, 0x6644 +/* 831D40 80240540 0C00AB4B */ jal heap_free +/* 831D44 80240544 8E040000 */ lw $a0, ($s0) +/* 831D48 80240548 AE000000 */ sw $zero, ($s0) +.L8024054C: +/* 831D4C 8024054C 8FBF0018 */ lw $ra, 0x18($sp) +/* 831D50 80240550 8FB10014 */ lw $s1, 0x14($sp) +/* 831D54 80240554 8FB00010 */ lw $s0, 0x10($sp) +/* 831D58 80240558 24020002 */ addiu $v0, $zero, 2 +/* 831D5C 8024055C 03E00008 */ jr $ra +/* 831D60 80240560 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240564.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240564.s new file mode 100644 index 0000000000..a3731db6ef --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240564.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240564 +/* 831D64 80240564 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 831D68 80240568 AFB00010 */ sw $s0, 0x10($sp) +/* 831D6C 8024056C 0080802D */ daddu $s0, $a0, $zero +/* 831D70 80240570 AFBF0018 */ sw $ra, 0x18($sp) +/* 831D74 80240574 AFB10014 */ sw $s1, 0x14($sp) +/* 831D78 80240578 8E02000C */ lw $v0, 0xc($s0) +/* 831D7C 8024057C 8C510000 */ lw $s1, ($v0) +/* 831D80 80240580 0C0B1EAF */ jal get_variable +/* 831D84 80240584 0220282D */ daddu $a1, $s1, $zero +/* 831D88 80240588 3C03FFF0 */ lui $v1, 0xfff0 +/* 831D8C 8024058C 3463FFFF */ ori $v1, $v1, 0xffff +/* 831D90 80240590 0200202D */ daddu $a0, $s0, $zero +/* 831D94 80240594 00431024 */ and $v0, $v0, $v1 +/* 831D98 80240598 00021140 */ sll $v0, $v0, 5 +/* 831D9C 8024059C 3C068008 */ lui $a2, %hi(gItemTable) +/* 831DA0 802405A0 00C23021 */ addu $a2, $a2, $v0 +/* 831DA4 802405A4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 831DA8 802405A8 0C0B2026 */ jal set_variable +/* 831DAC 802405AC 0220282D */ daddu $a1, $s1, $zero +/* 831DB0 802405B0 8FBF0018 */ lw $ra, 0x18($sp) +/* 831DB4 802405B4 8FB10014 */ lw $s1, 0x14($sp) +/* 831DB8 802405B8 8FB00010 */ lw $s0, 0x10($sp) +/* 831DBC 802405BC 24020002 */ addiu $v0, $zero, 2 +/* 831DC0 802405C0 03E00008 */ jr $ra +/* 831DC4 802405C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802405C8.s b/asm/nonmatchings/world/area_mac/mac_03/func_802405C8.s new file mode 100644 index 0000000000..20b873d5ae --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802405C8.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C8 +/* 831DC8 802405C8 24020001 */ addiu $v0, $zero, 1 +/* 831DCC 802405CC 3C018015 */ lui $at, %hi(D_80151310) +/* 831DD0 802405D0 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 831DD4 802405D4 03E00008 */ jr $ra +/* 831DD8 802405D8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802405DC.s b/asm/nonmatchings/world/area_mac/mac_03/func_802405DC.s new file mode 100644 index 0000000000..12a1cc9e9b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802405DC.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405DC +/* 831DDC 802405DC 3C018015 */ lui $at, %hi(D_80151310) +/* 831DE0 802405E0 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 831DE4 802405E4 03E00008 */ jr $ra +/* 831DE8 802405E8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802405EC_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_802405EC_831800.s new file mode 100644 index 0000000000..689c44cf40 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802405EC_831800.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_831DEC +/* 831DEC 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 831DF0 802405F0 AFB10024 */ sw $s1, 0x24($sp) +/* 831DF4 802405F4 0080882D */ daddu $s1, $a0, $zero +/* 831DF8 802405F8 3C05F840 */ lui $a1, 0xf840 +/* 831DFC 802405FC AFBF0044 */ sw $ra, 0x44($sp) +/* 831E00 80240600 AFBE0040 */ sw $fp, 0x40($sp) +/* 831E04 80240604 AFB7003C */ sw $s7, 0x3c($sp) +/* 831E08 80240608 AFB60038 */ sw $s6, 0x38($sp) +/* 831E0C 8024060C AFB50034 */ sw $s5, 0x34($sp) +/* 831E10 80240610 AFB40030 */ sw $s4, 0x30($sp) +/* 831E14 80240614 AFB3002C */ sw $s3, 0x2c($sp) +/* 831E18 80240618 AFB20028 */ sw $s2, 0x28($sp) +/* 831E1C 8024061C AFB00020 */ sw $s0, 0x20($sp) +/* 831E20 80240620 8E3E0148 */ lw $fp, 0x148($s1) +/* 831E24 80240624 0C0B1EAF */ jal get_variable +/* 831E28 80240628 34A56268 */ ori $a1, $a1, 0x6268 +/* 831E2C 8024062C 0040802D */ daddu $s0, $v0, $zero +/* 831E30 80240630 0220202D */ daddu $a0, $s1, $zero +/* 831E34 80240634 3C05F840 */ lui $a1, 0xf840 +/* 831E38 80240638 0C0B1EAF */ jal get_variable +/* 831E3C 8024063C 34A56269 */ ori $a1, $a1, 0x6269 +/* 831E40 80240640 0040B82D */ daddu $s7, $v0, $zero +/* 831E44 80240644 0220202D */ daddu $a0, $s1, $zero +/* 831E48 80240648 3C05F5DE */ lui $a1, 0xf5de +/* 831E4C 8024064C 0C0B1EAF */ jal get_variable +/* 831E50 80240650 34A502DE */ ori $a1, $a1, 0x2de +/* 831E54 80240654 0040B02D */ daddu $s6, $v0, $zero +/* 831E58 80240658 0220202D */ daddu $a0, $s1, $zero +/* 831E5C 8024065C 3C05F5DE */ lui $a1, 0xf5de +/* 831E60 80240660 0C0B1EAF */ jal get_variable +/* 831E64 80240664 34A502DF */ ori $a1, $a1, 0x2df +/* 831E68 80240668 0040A82D */ daddu $s5, $v0, $zero +/* 831E6C 8024066C 93D3006D */ lbu $s3, 0x6d($fp) +/* 831E70 80240670 32C2FFFF */ andi $v0, $s6, 0xffff +/* 831E74 80240674 A7B30010 */ sh $s3, 0x10($sp) +/* 831E78 80240678 93D2006E */ lbu $s2, 0x6e($fp) +/* 831E7C 8024067C 93C7006F */ lbu $a3, 0x6f($fp) +/* 831E80 80240680 3274FFFF */ andi $s4, $s3, 0xffff +/* 831E84 80240684 12820003 */ beq $s4, $v0, .L80240694 +/* 831E88 80240688 A7A7001E */ sh $a3, 0x1e($sp) +/* 831E8C 8024068C 0000B82D */ daddu $s7, $zero, $zero +/* 831E90 80240690 02E0802D */ daddu $s0, $s7, $zero +.L80240694: +/* 831E94 80240694 3202FFFF */ andi $v0, $s0, 0xffff +/* 831E98 80240698 14400016 */ bnez $v0, .L802406F4 +/* 831E9C 8024069C 0220202D */ daddu $a0, $s1, $zero +/* 831EA0 802406A0 0C00A67F */ jal rand_int +/* 831EA4 802406A4 24040064 */ addiu $a0, $zero, 0x64 +/* 831EA8 802406A8 2842001E */ slti $v0, $v0, 0x1e +/* 831EAC 802406AC 10400011 */ beqz $v0, .L802406F4 +/* 831EB0 802406B0 0220202D */ daddu $a0, $s1, $zero +/* 831EB4 802406B4 0C00A67F */ jal rand_int +/* 831EB8 802406B8 2644FFFF */ addiu $a0, $s2, -1 +/* 831EBC 802406BC 0040A82D */ daddu $s5, $v0, $zero +/* 831EC0 802406C0 0260B02D */ daddu $s6, $s3, $zero +/* 831EC4 802406C4 0220202D */ daddu $a0, $s1, $zero +/* 831EC8 802406C8 3C05F5DE */ lui $a1, 0xf5de +/* 831ECC 802406CC 34A502DE */ ori $a1, $a1, 0x2de +/* 831ED0 802406D0 0C0B2026 */ jal set_variable +/* 831ED4 802406D4 0280302D */ daddu $a2, $s4, $zero +/* 831ED8 802406D8 0220202D */ daddu $a0, $s1, $zero +/* 831EDC 802406DC 3C05F5DE */ lui $a1, 0xf5de +/* 831EE0 802406E0 34A502DF */ ori $a1, $a1, 0x2df +/* 831EE4 802406E4 0C0B2026 */ jal set_variable +/* 831EE8 802406E8 32A6FFFF */ andi $a2, $s5, 0xffff +/* 831EEC 802406EC 24100001 */ addiu $s0, $zero, 1 +/* 831EF0 802406F0 0220202D */ daddu $a0, $s1, $zero +.L802406F4: +/* 831EF4 802406F4 3C05F840 */ lui $a1, 0xf840 +/* 831EF8 802406F8 34A56268 */ ori $a1, $a1, 0x6268 +/* 831EFC 802406FC 0C0B2026 */ jal set_variable +/* 831F00 80240700 3206FFFF */ andi $a2, $s0, 0xffff +/* 831F04 80240704 0220202D */ daddu $a0, $s1, $zero +/* 831F08 80240708 3C05F840 */ lui $a1, 0xf840 +/* 831F0C 8024070C 34A56269 */ ori $a1, $a1, 0x6269 +/* 831F10 80240710 0C0B2026 */ jal set_variable +/* 831F14 80240714 32E6FFFF */ andi $a2, $s7, 0xffff +/* 831F18 80240718 0000202D */ daddu $a0, $zero, $zero +/* 831F1C 8024071C 3C05F5DE */ lui $a1, 0xf5de +/* 831F20 80240720 0C0B1EAF */ jal get_variable +/* 831F24 80240724 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 831F28 80240728 0000202D */ daddu $a0, $zero, $zero +/* 831F2C 8024072C 3C05F5DE */ lui $a1, 0xf5de +/* 831F30 80240730 34A50180 */ ori $a1, $a1, 0x180 +/* 831F34 80240734 0C0B1EAF */ jal get_variable +/* 831F38 80240738 0040802D */ daddu $s0, $v0, $zero +/* 831F3C 8024073C 0040282D */ daddu $a1, $v0, $zero +/* 831F40 80240740 0000182D */ daddu $v1, $zero, $zero +/* 831F44 80240744 3C068024 */ lui $a2, 0x8024 +/* 831F48 80240748 24C666E8 */ addiu $a2, $a2, 0x66e8 +/* 831F4C 8024074C 00C0202D */ daddu $a0, $a2, $zero +.L80240750: +/* 831F50 80240750 8C820000 */ lw $v0, ($a0) +/* 831F54 80240754 00A2102A */ slt $v0, $a1, $v0 +/* 831F58 80240758 14400006 */ bnez $v0, .L80240774 +/* 831F5C 8024075C 000310C0 */ sll $v0, $v1, 3 +/* 831F60 80240760 24630001 */ addiu $v1, $v1, 1 +/* 831F64 80240764 28620008 */ slti $v0, $v1, 8 +/* 831F68 80240768 1440FFF9 */ bnez $v0, .L80240750 +/* 831F6C 8024076C 24840008 */ addiu $a0, $a0, 8 +/* 831F70 80240770 000310C0 */ sll $v0, $v1, 3 +.L80240774: +/* 831F74 80240774 00461021 */ addu $v0, $v0, $a2 +/* 831F78 80240778 8C420004 */ lw $v0, 4($v0) +/* 831F7C 8024077C 97A30010 */ lhu $v1, 0x10($sp) +/* 831F80 80240780 0202202A */ slt $a0, $s0, $v0 +/* 831F84 80240784 32C2FFFF */ andi $v0, $s6, 0xffff +/* 831F88 80240788 14620008 */ bne $v1, $v0, .L802407AC +/* 831F8C 8024078C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 831F90 80240790 97A7001E */ lhu $a3, 0x1e($sp) +/* 831F94 80240794 14E20005 */ bne $a3, $v0, .L802407AC +/* 831F98 80240798 32E2FFFF */ andi $v0, $s7, 0xffff +/* 831F9C 8024079C 14400003 */ bnez $v0, .L802407AC +/* 831FA0 802407A0 00000000 */ nop +/* 831FA4 802407A4 14800008 */ bnez $a0, .L802407C8 +/* 831FA8 802407A8 24020001 */ addiu $v0, $zero, 1 +.L802407AC: +/* 831FAC 802407AC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 831FB0 802407B0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 831FB4 802407B4 80420075 */ lb $v0, 0x75($v0) +/* 831FB8 802407B8 10400005 */ beqz $v0, .L802407D0 +/* 831FBC 802407BC 00000000 */ nop +/* 831FC0 802407C0 10800003 */ beqz $a0, .L802407D0 +/* 831FC4 802407C4 24020001 */ addiu $v0, $zero, 1 +.L802407C8: +/* 831FC8 802407C8 080901F7 */ j .L802407DC +/* 831FCC 802407CC AE220084 */ sw $v0, 0x84($s1) +.L802407D0: +/* 831FD0 802407D0 0C00F9EB */ jal kill_enemy +/* 831FD4 802407D4 03C0202D */ daddu $a0, $fp, $zero +/* 831FD8 802407D8 AE200084 */ sw $zero, 0x84($s1) +.L802407DC: +/* 831FDC 802407DC 8FBF0044 */ lw $ra, 0x44($sp) +/* 831FE0 802407E0 8FBE0040 */ lw $fp, 0x40($sp) +/* 831FE4 802407E4 8FB7003C */ lw $s7, 0x3c($sp) +/* 831FE8 802407E8 8FB60038 */ lw $s6, 0x38($sp) +/* 831FEC 802407EC 8FB50034 */ lw $s5, 0x34($sp) +/* 831FF0 802407F0 8FB40030 */ lw $s4, 0x30($sp) +/* 831FF4 802407F4 8FB3002C */ lw $s3, 0x2c($sp) +/* 831FF8 802407F8 8FB20028 */ lw $s2, 0x28($sp) +/* 831FFC 802407FC 8FB10024 */ lw $s1, 0x24($sp) +/* 832000 80240800 8FB00020 */ lw $s0, 0x20($sp) +/* 832004 80240804 24020002 */ addiu $v0, $zero, 2 +/* 832008 80240808 03E00008 */ jr $ra +/* 83200C 8024080C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240810.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240810.s new file mode 100644 index 0000000000..9ac6701f6c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240810.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240810 +/* 832010 80240810 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832014 80240814 AFBF0014 */ sw $ra, 0x14($sp) +/* 832018 80240818 AFB00010 */ sw $s0, 0x10($sp) +/* 83201C 8024081C 0C00EABB */ jal get_npc_unsafe +/* 832020 80240820 8C84014C */ lw $a0, 0x14c($a0) +/* 832024 80240824 24040008 */ addiu $a0, $zero, 8 +/* 832028 80240828 0040802D */ daddu $s0, $v0, $zero +/* 83202C 8024082C 3C028024 */ lui $v0, 0x8024 +/* 832030 80240830 2442087C */ addiu $v0, $v0, 0x87c +/* 832034 80240834 0C00AB39 */ jal heap_malloc +/* 832038 80240838 AE020008 */ sw $v0, 8($s0) +/* 83203C 8024083C 0040182D */ daddu $v1, $v0, $zero +/* 832040 80240840 AE030020 */ sw $v1, 0x20($s0) +/* 832044 80240844 AC600000 */ sw $zero, ($v1) +/* 832048 80240848 8FBF0014 */ lw $ra, 0x14($sp) +/* 83204C 8024084C 8FB00010 */ lw $s0, 0x10($sp) +/* 832050 80240850 24020001 */ addiu $v0, $zero, 1 +/* 832054 80240854 03E00008 */ jr $ra +/* 832058 80240858 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_8024085C.s b/asm/nonmatchings/world/area_mac/mac_03/func_8024085C.s new file mode 100644 index 0000000000..415638c681 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_8024085C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024085C +/* 83205C 8024085C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832060 80240860 AFBF0010 */ sw $ra, 0x10($sp) +/* 832064 80240864 0C00EABB */ jal get_npc_unsafe +/* 832068 80240868 8C84014C */ lw $a0, 0x14c($a0) +/* 83206C 8024086C 8FBF0010 */ lw $ra, 0x10($sp) +/* 832070 80240870 0000102D */ daddu $v0, $zero, $zero +/* 832074 80240874 03E00008 */ jr $ra +/* 832078 80240878 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_8024087C.s b/asm/nonmatchings/world/area_mac/mac_03/func_8024087C.s new file mode 100644 index 0000000000..cba5f2c0b3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_8024087C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024087C +/* 83207C 8024087C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832080 80240880 3C03800A */ lui $v1, 0x800a +/* 832084 80240884 8463A634 */ lh $v1, -0x59cc($v1) +/* 832088 80240888 3C05800B */ lui $a1, %hi(gCameras) +/* 83208C 8024088C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 832090 80240890 AFBF0010 */ sw $ra, 0x10($sp) +/* 832094 80240894 00031080 */ sll $v0, $v1, 2 +/* 832098 80240898 00431021 */ addu $v0, $v0, $v1 +/* 83209C 8024089C 00021080 */ sll $v0, $v0, 2 +/* 8320A0 802408A0 00431023 */ subu $v0, $v0, $v1 +/* 8320A4 802408A4 000218C0 */ sll $v1, $v0, 3 +/* 8320A8 802408A8 00431021 */ addu $v0, $v0, $v1 +/* 8320AC 802408AC 8C830020 */ lw $v1, 0x20($a0) +/* 8320B0 802408B0 000210C0 */ sll $v0, $v0, 3 +/* 8320B4 802408B4 8C630000 */ lw $v1, ($v1) +/* 8320B8 802408B8 30630001 */ andi $v1, $v1, 1 +/* 8320BC 802408BC 10600004 */ beqz $v1, .L802408D0 +/* 8320C0 802408C0 00451021 */ addu $v0, $v0, $a1 +/* 8320C4 802408C4 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 8320C8 802408C8 0C00A6C9 */ jal clamp_angle +/* 8320CC 802408CC 46006307 */ neg.s $f12, $f12 +.L802408D0: +/* 8320D0 802408D0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8320D4 802408D4 03E00008 */ jr $ra +/* 8320D8 802408D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802408DC.s b/asm/nonmatchings/world/area_mac/mac_03/func_802408DC.s new file mode 100644 index 0000000000..a68bd81b4b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802408DC.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408DC +/* 8320DC 802408DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8320E0 802408E0 AFB10014 */ sw $s1, 0x14($sp) +/* 8320E4 802408E4 0080882D */ daddu $s1, $a0, $zero +/* 8320E8 802408E8 AFBF0024 */ sw $ra, 0x24($sp) +/* 8320EC 802408EC AFB40020 */ sw $s4, 0x20($sp) +/* 8320F0 802408F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8320F4 802408F4 AFB20018 */ sw $s2, 0x18($sp) +/* 8320F8 802408F8 10A00033 */ beqz $a1, .L802409C8 +/* 8320FC 802408FC AFB00010 */ sw $s0, 0x10($sp) +/* 832100 80240900 0C04760B */ jal func_8011D82C +/* 832104 80240904 24040001 */ addiu $a0, $zero, 1 +/* 832108 80240908 0000202D */ daddu $a0, $zero, $zero +/* 83210C 8024090C 0080282D */ daddu $a1, $a0, $zero +/* 832110 80240910 0080302D */ daddu $a2, $a0, $zero +/* 832114 80240914 0080382D */ daddu $a3, $a0, $zero +/* 832118 80240918 0080802D */ daddu $s0, $a0, $zero +/* 83211C 8024091C 2414FFFC */ addiu $s4, $zero, -4 +/* 832120 80240920 24130017 */ addiu $s3, $zero, 0x17 +/* 832124 80240924 3C120080 */ lui $s2, 0x80 +/* 832128 80240928 3C038015 */ lui $v1, 0x8015 +/* 83212C 8024092C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 832130 80240930 24020001 */ addiu $v0, $zero, 1 +/* 832134 80240934 0C046F97 */ jal set_background_color_blend +/* 832138 80240938 A0620000 */ sb $v0, ($v1) +.L8024093C: +/* 83213C 8024093C 0C00E2B7 */ jal get_npc_by_index +/* 832140 80240940 0200202D */ daddu $a0, $s0, $zero +/* 832144 80240944 0040202D */ daddu $a0, $v0, $zero +/* 832148 80240948 5080000B */ beql $a0, $zero, .L80240978 +/* 83214C 8024094C 26100001 */ addiu $s0, $s0, 1 +/* 832150 80240950 8C820000 */ lw $v0, ($a0) +/* 832154 80240954 50400008 */ beql $v0, $zero, .L80240978 +/* 832158 80240958 26100001 */ addiu $s0, $s0, 1 +/* 83215C 8024095C 808300A4 */ lb $v1, 0xa4($a0) +/* 832160 80240960 10740005 */ beq $v1, $s4, .L80240978 +/* 832164 80240964 26100001 */ addiu $s0, $s0, 1 +/* 832168 80240968 10730003 */ beq $v1, $s3, .L80240978 +/* 83216C 8024096C 00000000 */ nop +/* 832170 80240970 00521025 */ or $v0, $v0, $s2 +/* 832174 80240974 AC820000 */ sw $v0, ($a0) +.L80240978: +/* 832178 80240978 2A020040 */ slti $v0, $s0, 0x40 +/* 83217C 8024097C 1440FFEF */ bnez $v0, .L8024093C +/* 832180 80240980 00000000 */ nop +/* 832184 80240984 0000802D */ daddu $s0, $zero, $zero +/* 832188 80240988 3C120800 */ lui $s2, 0x800 +.L8024098C: +/* 83218C 8024098C 0C04C3D6 */ jal get_item_entity +/* 832190 80240990 0200202D */ daddu $a0, $s0, $zero +/* 832194 80240994 0040182D */ daddu $v1, $v0, $zero +/* 832198 80240998 10600007 */ beqz $v1, .L802409B8 +/* 83219C 8024099C 26100001 */ addiu $s0, $s0, 1 +/* 8321A0 802409A0 8C640000 */ lw $a0, ($v1) +/* 8321A4 802409A4 30820010 */ andi $v0, $a0, 0x10 +/* 8321A8 802409A8 10400003 */ beqz $v0, .L802409B8 +/* 8321AC 802409AC 00000000 */ nop +/* 8321B0 802409B0 00921025 */ or $v0, $a0, $s2 +/* 8321B4 802409B4 AC620000 */ sw $v0, ($v1) +.L802409B8: +/* 8321B8 802409B8 2A020100 */ slti $v0, $s0, 0x100 +/* 8321BC 802409BC 1440FFF3 */ bnez $v0, .L8024098C +/* 8321C0 802409C0 00000000 */ nop +/* 8321C4 802409C4 AE200070 */ sw $zero, 0x70($s1) +.L802409C8: +/* 8321C8 802409C8 8E220070 */ lw $v0, 0x70($s1) +/* 8321CC 802409CC 24420008 */ addiu $v0, $v0, 8 +/* 8321D0 802409D0 AE220070 */ sw $v0, 0x70($s1) +/* 8321D4 802409D4 28420100 */ slti $v0, $v0, 0x100 +/* 8321D8 802409D8 14400003 */ bnez $v0, .L802409E8 +/* 8321DC 802409DC 0000202D */ daddu $a0, $zero, $zero +/* 8321E0 802409E0 240200FF */ addiu $v0, $zero, 0xff +/* 8321E4 802409E4 AE220070 */ sw $v0, 0x70($s1) +.L802409E8: +/* 8321E8 802409E8 0080282D */ daddu $a1, $a0, $zero +/* 8321EC 802409EC 92270073 */ lbu $a3, 0x73($s1) +/* 8321F0 802409F0 0C046F97 */ jal set_background_color_blend +/* 8321F4 802409F4 0080302D */ daddu $a2, $a0, $zero +/* 8321F8 802409F8 8E220070 */ lw $v0, 0x70($s1) +/* 8321FC 802409FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 832200 80240A00 8FB40020 */ lw $s4, 0x20($sp) +/* 832204 80240A04 8FB3001C */ lw $s3, 0x1c($sp) +/* 832208 80240A08 8FB20018 */ lw $s2, 0x18($sp) +/* 83220C 80240A0C 8FB10014 */ lw $s1, 0x14($sp) +/* 832210 80240A10 8FB00010 */ lw $s0, 0x10($sp) +/* 832214 80240A14 384200FF */ xori $v0, $v0, 0xff +/* 832218 80240A18 2C420001 */ sltiu $v0, $v0, 1 +/* 83221C 80240A1C 00021040 */ sll $v0, $v0, 1 +/* 832220 80240A20 03E00008 */ jr $ra +/* 832224 80240A24 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240A28.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240A28.s new file mode 100644 index 0000000000..52ce58c3d8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240A28.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A28 +/* 832228 80240A28 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 83222C 80240A2C AFB00010 */ sw $s0, 0x10($sp) +/* 832230 80240A30 0080802D */ daddu $s0, $a0, $zero +/* 832234 80240A34 AFBF0020 */ sw $ra, 0x20($sp) +/* 832238 80240A38 AFB3001C */ sw $s3, 0x1c($sp) +/* 83223C 80240A3C AFB20018 */ sw $s2, 0x18($sp) +/* 832240 80240A40 10A00009 */ beqz $a1, .L80240A68 +/* 832244 80240A44 AFB10014 */ sw $s1, 0x14($sp) +/* 832248 80240A48 0000202D */ daddu $a0, $zero, $zero +/* 83224C 80240A4C 0080282D */ daddu $a1, $a0, $zero +/* 832250 80240A50 0080302D */ daddu $a2, $a0, $zero +/* 832254 80240A54 0C046F97 */ jal set_background_color_blend +/* 832258 80240A58 240700FF */ addiu $a3, $zero, 0xff +/* 83225C 80240A5C 240200FF */ addiu $v0, $zero, 0xff +/* 832260 80240A60 AE020070 */ sw $v0, 0x70($s0) +/* 832264 80240A64 AE000074 */ sw $zero, 0x74($s0) +.L80240A68: +/* 832268 80240A68 8E020070 */ lw $v0, 0x70($s0) +/* 83226C 80240A6C 2442FFF8 */ addiu $v0, $v0, -8 +/* 832270 80240A70 04410002 */ bgez $v0, .L80240A7C +/* 832274 80240A74 AE020070 */ sw $v0, 0x70($s0) +/* 832278 80240A78 AE000070 */ sw $zero, 0x70($s0) +.L80240A7C: +/* 83227C 80240A7C 0000202D */ daddu $a0, $zero, $zero +/* 832280 80240A80 0080282D */ daddu $a1, $a0, $zero +/* 832284 80240A84 92070073 */ lbu $a3, 0x73($s0) +/* 832288 80240A88 0C046F97 */ jal set_background_color_blend +/* 83228C 80240A8C 0080302D */ daddu $a2, $a0, $zero +/* 832290 80240A90 8E020070 */ lw $v0, 0x70($s0) +/* 832294 80240A94 14400006 */ bnez $v0, .L80240AB0 +/* 832298 80240A98 00000000 */ nop +/* 83229C 80240A9C 8E020074 */ lw $v0, 0x74($s0) +/* 8322A0 80240AA0 14400003 */ bnez $v0, .L80240AB0 +/* 8322A4 80240AA4 24020001 */ addiu $v0, $zero, 1 +/* 8322A8 80240AA8 080902DF */ j .L80240B7C +/* 8322AC 80240AAC AE020074 */ sw $v0, 0x74($s0) +.L80240AB0: +/* 8322B0 80240AB0 8E030074 */ lw $v1, 0x74($s0) +/* 8322B4 80240AB4 24020001 */ addiu $v0, $zero, 1 +/* 8322B8 80240AB8 14620031 */ bne $v1, $v0, .L80240B80 +/* 8322BC 80240ABC 0000102D */ daddu $v0, $zero, $zero +/* 8322C0 80240AC0 0C04760B */ jal func_8011D82C +/* 8322C4 80240AC4 0000202D */ daddu $a0, $zero, $zero +/* 8322C8 80240AC8 0000802D */ daddu $s0, $zero, $zero +/* 8322CC 80240ACC 2413FFFC */ addiu $s3, $zero, -4 +/* 8322D0 80240AD0 24120017 */ addiu $s2, $zero, 0x17 +/* 8322D4 80240AD4 3C11FF7F */ lui $s1, 0xff7f +/* 8322D8 80240AD8 3C028015 */ lui $v0, 0x8015 +/* 8322DC 80240ADC 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 8322E0 80240AE0 3631FFFF */ ori $s1, $s1, 0xffff +/* 8322E4 80240AE4 A0400000 */ sb $zero, ($v0) +.L80240AE8: +/* 8322E8 80240AE8 0C00E2B7 */ jal get_npc_by_index +/* 8322EC 80240AEC 0200202D */ daddu $a0, $s0, $zero +/* 8322F0 80240AF0 0040202D */ daddu $a0, $v0, $zero +/* 8322F4 80240AF4 5080000B */ beql $a0, $zero, .L80240B24 +/* 8322F8 80240AF8 26100001 */ addiu $s0, $s0, 1 +/* 8322FC 80240AFC 8C820000 */ lw $v0, ($a0) +/* 832300 80240B00 50400008 */ beql $v0, $zero, .L80240B24 +/* 832304 80240B04 26100001 */ addiu $s0, $s0, 1 +/* 832308 80240B08 808300A4 */ lb $v1, 0xa4($a0) +/* 83230C 80240B0C 10730005 */ beq $v1, $s3, .L80240B24 +/* 832310 80240B10 26100001 */ addiu $s0, $s0, 1 +/* 832314 80240B14 10720003 */ beq $v1, $s2, .L80240B24 +/* 832318 80240B18 00000000 */ nop +/* 83231C 80240B1C 00511024 */ and $v0, $v0, $s1 +/* 832320 80240B20 AC820000 */ sw $v0, ($a0) +.L80240B24: +/* 832324 80240B24 2A020040 */ slti $v0, $s0, 0x40 +/* 832328 80240B28 1440FFEF */ bnez $v0, .L80240AE8 +/* 83232C 80240B2C 00000000 */ nop +/* 832330 80240B30 0000802D */ daddu $s0, $zero, $zero +/* 832334 80240B34 3C11F7FF */ lui $s1, 0xf7ff +/* 832338 80240B38 3631FFFF */ ori $s1, $s1, 0xffff +.L80240B3C: +/* 83233C 80240B3C 0C04C3D6 */ jal get_item_entity +/* 832340 80240B40 0200202D */ daddu $a0, $s0, $zero +/* 832344 80240B44 0040182D */ daddu $v1, $v0, $zero +/* 832348 80240B48 10600007 */ beqz $v1, .L80240B68 +/* 83234C 80240B4C 26100001 */ addiu $s0, $s0, 1 +/* 832350 80240B50 8C640000 */ lw $a0, ($v1) +/* 832354 80240B54 30820010 */ andi $v0, $a0, 0x10 +/* 832358 80240B58 10400003 */ beqz $v0, .L80240B68 +/* 83235C 80240B5C 00000000 */ nop +/* 832360 80240B60 00911024 */ and $v0, $a0, $s1 +/* 832364 80240B64 AC620000 */ sw $v0, ($v1) +.L80240B68: +/* 832368 80240B68 2A020100 */ slti $v0, $s0, 0x100 +/* 83236C 80240B6C 1440FFF3 */ bnez $v0, .L80240B3C +/* 832370 80240B70 24020002 */ addiu $v0, $zero, 2 +/* 832374 80240B74 080902E0 */ j .L80240B80 +/* 832378 80240B78 00000000 */ nop +.L80240B7C: +/* 83237C 80240B7C 0000102D */ daddu $v0, $zero, $zero +.L80240B80: +/* 832380 80240B80 8FBF0020 */ lw $ra, 0x20($sp) +/* 832384 80240B84 8FB3001C */ lw $s3, 0x1c($sp) +/* 832388 80240B88 8FB20018 */ lw $s2, 0x18($sp) +/* 83238C 80240B8C 8FB10014 */ lw $s1, 0x14($sp) +/* 832390 80240B90 8FB00010 */ lw $s0, 0x10($sp) +/* 832394 80240B94 03E00008 */ jr $ra +/* 832398 80240B98 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240B9C.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240B9C.s new file mode 100644 index 0000000000..56367eaa98 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240B9C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B9C +/* 83239C 80240B9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8323A0 80240BA0 AFB00010 */ sw $s0, 0x10($sp) +/* 8323A4 80240BA4 3C108011 */ lui $s0, %hi(gPlayerData) +/* 8323A8 80240BA8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 8323AC 80240BAC AFBF0018 */ sw $ra, 0x18($sp) +/* 8323B0 80240BB0 AFB10014 */ sw $s1, 0x14($sp) +/* 8323B4 80240BB4 960302C0 */ lhu $v1, 0x2c0($s0) +/* 8323B8 80240BB8 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 8323BC 80240BBC 10400003 */ beqz $v0, .L80240BCC +/* 8323C0 80240BC0 0080882D */ daddu $s1, $a0, $zero +/* 8323C4 80240BC4 24620001 */ addiu $v0, $v1, 1 +/* 8323C8 80240BC8 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240BCC: +/* 8323CC 80240BCC 3C05F5DE */ lui $a1, 0xf5de +/* 8323D0 80240BD0 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 8323D4 80240BD4 0C0B1EAF */ jal get_variable +/* 8323D8 80240BD8 0000202D */ daddu $a0, $zero, $zero +/* 8323DC 80240BDC 3C038024 */ lui $v1, 0x8024 +/* 8323E0 80240BE0 00621821 */ addu $v1, $v1, $v0 +/* 8323E4 80240BE4 906366A8 */ lbu $v1, 0x66a8($v1) +/* 8323E8 80240BE8 8E220084 */ lw $v0, 0x84($s1) +/* 8323EC 80240BEC 54430006 */ bnel $v0, $v1, .L80240C08 +/* 8323F0 80240BF0 AE200084 */ sw $zero, 0x84($s1) +/* 8323F4 80240BF4 24020001 */ addiu $v0, $zero, 1 +/* 8323F8 80240BF8 AE220084 */ sw $v0, 0x84($s1) +/* 8323FC 80240BFC 960202C2 */ lhu $v0, 0x2c2($s0) +/* 832400 80240C00 24420001 */ addiu $v0, $v0, 1 +/* 832404 80240C04 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240C08: +/* 832408 80240C08 8FBF0018 */ lw $ra, 0x18($sp) +/* 83240C 80240C0C 8FB10014 */ lw $s1, 0x14($sp) +/* 832410 80240C10 8FB00010 */ lw $s0, 0x10($sp) +/* 832414 80240C14 24020002 */ addiu $v0, $zero, 2 +/* 832418 80240C18 03E00008 */ jr $ra +/* 83241C 80240C1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240C20.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240C20.s new file mode 100644 index 0000000000..5693c0c9ec --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240C20.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C20 +/* 832420 80240C20 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 832424 80240C24 AFB1001C */ sw $s1, 0x1c($sp) +/* 832428 80240C28 AFBF0020 */ sw $ra, 0x20($sp) +/* 83242C 80240C2C AFB00018 */ sw $s0, 0x18($sp) +/* 832430 80240C30 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 832434 80240C34 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 832438 80240C38 10A00060 */ beqz $a1, .L80240DBC +/* 83243C 80240C3C 0080882D */ daddu $s1, $a0, $zero +/* 832440 80240C40 3C05F4AC */ lui $a1, 0xf4ac +/* 832444 80240C44 0C0B1EAF */ jal get_variable +/* 832448 80240C48 34A5D481 */ ori $a1, $a1, 0xd481 +/* 83244C 80240C4C 0220202D */ daddu $a0, $s1, $zero +/* 832450 80240C50 3C05F4AC */ lui $a1, 0xf4ac +/* 832454 80240C54 4482B000 */ mtc1 $v0, $f22 +/* 832458 80240C58 00000000 */ nop +/* 83245C 80240C5C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 832460 80240C60 0C0B1EAF */ jal get_variable +/* 832464 80240C64 34A5D482 */ ori $a1, $a1, 0xd482 +/* 832468 80240C68 0220202D */ daddu $a0, $s1, $zero +/* 83246C 80240C6C 3C05F4AC */ lui $a1, 0xf4ac +/* 832470 80240C70 4482A000 */ mtc1 $v0, $f20 +/* 832474 80240C74 00000000 */ nop +/* 832478 80240C78 4680A520 */ cvt.s.w $f20, $f20 +/* 83247C 80240C7C 0C0B1EAF */ jal get_variable +/* 832480 80240C80 34A5D483 */ ori $a1, $a1, 0xd483 +/* 832484 80240C84 44821000 */ mtc1 $v0, $f2 +/* 832488 80240C88 00000000 */ nop +/* 83248C 80240C8C 468010A0 */ cvt.s.w $f2, $f2 +/* 832490 80240C90 4405B000 */ mfc1 $a1, $f22 +/* 832494 80240C94 4406A000 */ mfc1 $a2, $f20 +/* 832498 80240C98 44071000 */ mfc1 $a3, $f2 +/* 83249C 80240C9C 0C01C574 */ jal func_800715D0 +/* 8324A0 80240CA0 0000202D */ daddu $a0, $zero, $zero +/* 8324A4 80240CA4 0220202D */ daddu $a0, $s1, $zero +/* 8324A8 80240CA8 3C05F4AC */ lui $a1, 0xf4ac +/* 8324AC 80240CAC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8324B0 80240CB0 3C108025 */ lui $s0, %hi(ForceCloseMessageBox) +/* 8324B4 80240CB4 261013F0 */ addiu $s0, $s0, %lo(ForceCloseMessageBox) +/* 8324B8 80240CB8 0C0B1EAF */ jal get_variable +/* 8324BC 80240CBC AE020000 */ sw $v0, ($s0) +/* 8324C0 80240CC0 0220202D */ daddu $a0, $s1, $zero +/* 8324C4 80240CC4 3C05F4AC */ lui $a1, 0xf4ac +/* 8324C8 80240CC8 4482B000 */ mtc1 $v0, $f22 +/* 8324CC 80240CCC 00000000 */ nop +/* 8324D0 80240CD0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8324D4 80240CD4 0C0B1EAF */ jal get_variable +/* 8324D8 80240CD8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8324DC 80240CDC 0220202D */ daddu $a0, $s1, $zero +/* 8324E0 80240CE0 3C05F4AC */ lui $a1, 0xf4ac +/* 8324E4 80240CE4 4482A000 */ mtc1 $v0, $f20 +/* 8324E8 80240CE8 00000000 */ nop +/* 8324EC 80240CEC 4680A520 */ cvt.s.w $f20, $f20 +/* 8324F0 80240CF0 0C0B1EAF */ jal get_variable +/* 8324F4 80240CF4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8324F8 80240CF8 44821000 */ mtc1 $v0, $f2 +/* 8324FC 80240CFC 00000000 */ nop +/* 832500 80240D00 468010A0 */ cvt.s.w $f2, $f2 +/* 832504 80240D04 4405B000 */ mfc1 $a1, $f22 +/* 832508 80240D08 4406A000 */ mfc1 $a2, $f20 +/* 83250C 80240D0C 44071000 */ mfc1 $a3, $f2 +/* 832510 80240D10 0C01C604 */ jal func_80071810 +/* 832514 80240D14 0000202D */ daddu $a0, $zero, $zero +/* 832518 80240D18 0220202D */ daddu $a0, $s1, $zero +/* 83251C 80240D1C 3C05F4AC */ lui $a1, 0xf4ac +/* 832520 80240D20 3C018025 */ lui $at, 0x8025 +/* 832524 80240D24 AC2213F4 */ sw $v0, 0x13f4($at) +/* 832528 80240D28 0C0B1EAF */ jal get_variable +/* 83252C 80240D2C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 832530 80240D30 0220202D */ daddu $a0, $s1, $zero +/* 832534 80240D34 3C05F4AC */ lui $a1, 0xf4ac +/* 832538 80240D38 4482B000 */ mtc1 $v0, $f22 +/* 83253C 80240D3C 00000000 */ nop +/* 832540 80240D40 4680B5A0 */ cvt.s.w $f22, $f22 +/* 832544 80240D44 0C0B1EAF */ jal get_variable +/* 832548 80240D48 34A5D482 */ ori $a1, $a1, 0xd482 +/* 83254C 80240D4C 0220202D */ daddu $a0, $s1, $zero +/* 832550 80240D50 3C05F4AC */ lui $a1, 0xf4ac +/* 832554 80240D54 4482A000 */ mtc1 $v0, $f20 +/* 832558 80240D58 00000000 */ nop +/* 83255C 80240D5C 4680A520 */ cvt.s.w $f20, $f20 +/* 832560 80240D60 0C0B1EAF */ jal get_variable +/* 832564 80240D64 34A5D483 */ ori $a1, $a1, 0xd483 +/* 832568 80240D68 44821000 */ mtc1 $v0, $f2 +/* 83256C 80240D6C 00000000 */ nop +/* 832570 80240D70 468010A0 */ cvt.s.w $f2, $f2 +/* 832574 80240D74 4405B000 */ mfc1 $a1, $f22 +/* 832578 80240D78 4406A000 */ mfc1 $a2, $f20 +/* 83257C 80240D7C 3C013F80 */ lui $at, 0x3f80 +/* 832580 80240D80 44810000 */ mtc1 $at, $f0 +/* 832584 80240D84 44071000 */ mfc1 $a3, $f2 +/* 832588 80240D88 0000202D */ daddu $a0, $zero, $zero +/* 83258C 80240D8C AFA00014 */ sw $zero, 0x14($sp) +/* 832590 80240D90 0C01CA24 */ jal func_80072890 +/* 832594 80240D94 E7A00010 */ swc1 $f0, 0x10($sp) +/* 832598 80240D98 8E030000 */ lw $v1, ($s0) +/* 83259C 80240D9C 8C64000C */ lw $a0, 0xc($v1) +/* 8325A0 80240DA0 3C018025 */ lui $at, 0x8025 +/* 8325A4 80240DA4 AC2213F8 */ sw $v0, 0x13f8($at) +/* 8325A8 80240DA8 AC800018 */ sw $zero, 0x18($a0) +/* 8325AC 80240DAC AC800020 */ sw $zero, 0x20($a0) +/* 8325B0 80240DB0 AC800024 */ sw $zero, 0x24($a0) +/* 8325B4 80240DB4 AC800028 */ sw $zero, 0x28($a0) +/* 8325B8 80240DB8 AC80001C */ sw $zero, 0x1c($a0) +.L80240DBC: +/* 8325BC 80240DBC 3C028025 */ lui $v0, %hi(ForceCloseMessageBox) +/* 8325C0 80240DC0 8C4213F0 */ lw $v0, %lo(ForceCloseMessageBox)($v0) +/* 8325C4 80240DC4 8C44000C */ lw $a0, 0xc($v0) +/* 8325C8 80240DC8 8C820020 */ lw $v0, 0x20($a0) +/* 8325CC 80240DCC 8C830028 */ lw $v1, 0x28($a0) +/* 8325D0 80240DD0 2442000A */ addiu $v0, $v0, 0xa +/* 8325D4 80240DD4 AC820020 */ sw $v0, 0x20($a0) +/* 8325D8 80240DD8 8C820024 */ lw $v0, 0x24($a0) +/* 8325DC 80240DDC 2463000A */ addiu $v1, $v1, 0xa +/* 8325E0 80240DE0 AC830028 */ sw $v1, 0x28($a0) +/* 8325E4 80240DE4 8C830018 */ lw $v1, 0x18($a0) +/* 8325E8 80240DE8 2442000A */ addiu $v0, $v0, 0xa +/* 8325EC 80240DEC AC820024 */ sw $v0, 0x24($a0) +/* 8325F0 80240DF0 8C82001C */ lw $v0, 0x1c($a0) +/* 8325F4 80240DF4 2463000A */ addiu $v1, $v1, 0xa +/* 8325F8 80240DF8 AC830018 */ sw $v1, 0x18($a0) +/* 8325FC 80240DFC 286300FF */ slti $v1, $v1, 0xff +/* 832600 80240E00 2442000A */ addiu $v0, $v0, 0xa +/* 832604 80240E04 AC82001C */ sw $v0, 0x1c($a0) +/* 832608 80240E08 14600004 */ bnez $v1, .L80240E1C +/* 83260C 80240E0C 0000102D */ daddu $v0, $zero, $zero +/* 832610 80240E10 240200FF */ addiu $v0, $zero, 0xff +/* 832614 80240E14 AC820018 */ sw $v0, 0x18($a0) +/* 832618 80240E18 24020002 */ addiu $v0, $zero, 2 +.L80240E1C: +/* 83261C 80240E1C 8FBF0020 */ lw $ra, 0x20($sp) +/* 832620 80240E20 8FB1001C */ lw $s1, 0x1c($sp) +/* 832624 80240E24 8FB00018 */ lw $s0, 0x18($sp) +/* 832628 80240E28 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 83262C 80240E2C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 832630 80240E30 03E00008 */ jr $ra +/* 832634 80240E34 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240E38.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240E38.s new file mode 100644 index 0000000000..f16fd35b36 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240E38.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E38 +/* 832638 80240E38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 83263C 80240E3C 10A0000B */ beqz $a1, .L80240E6C +/* 832640 80240E40 AFBF0010 */ sw $ra, 0x10($sp) +/* 832644 80240E44 3C038025 */ lui $v1, 0x8025 +/* 832648 80240E48 8C6313F4 */ lw $v1, 0x13f4($v1) +/* 83264C 80240E4C 8C620000 */ lw $v0, ($v1) +/* 832650 80240E50 3C048025 */ lui $a0, 0x8025 +/* 832654 80240E54 8C8413F8 */ lw $a0, 0x13f8($a0) +/* 832658 80240E58 34420010 */ ori $v0, $v0, 0x10 +/* 83265C 80240E5C AC620000 */ sw $v0, ($v1) +/* 832660 80240E60 8C820000 */ lw $v0, ($a0) +/* 832664 80240E64 34420010 */ ori $v0, $v0, 0x10 +/* 832668 80240E68 AC820000 */ sw $v0, ($a0) +.L80240E6C: +/* 83266C 80240E6C 3C048025 */ lui $a0, %hi(ForceCloseMessageBox) +/* 832670 80240E70 8C8413F0 */ lw $a0, %lo(ForceCloseMessageBox)($a0) +/* 832674 80240E74 8C85000C */ lw $a1, 0xc($a0) +/* 832678 80240E78 8CA20018 */ lw $v0, 0x18($a1) +/* 83267C 80240E7C 8CA30020 */ lw $v1, 0x20($a1) +/* 832680 80240E80 2442FFF6 */ addiu $v0, $v0, -0xa +/* 832684 80240E84 ACA20018 */ sw $v0, 0x18($a1) +/* 832688 80240E88 8CA20024 */ lw $v0, 0x24($a1) +/* 83268C 80240E8C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 832690 80240E90 ACA30020 */ sw $v1, 0x20($a1) +/* 832694 80240E94 8CA30028 */ lw $v1, 0x28($a1) +/* 832698 80240E98 2442FFF6 */ addiu $v0, $v0, -0xa +/* 83269C 80240E9C ACA20024 */ sw $v0, 0x24($a1) +/* 8326A0 80240EA0 8CA2001C */ lw $v0, 0x1c($a1) +/* 8326A4 80240EA4 2463FFF6 */ addiu $v1, $v1, -0xa +/* 8326A8 80240EA8 ACA30028 */ sw $v1, 0x28($a1) +/* 8326AC 80240EAC 8CA30018 */ lw $v1, 0x18($a1) +/* 8326B0 80240EB0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 8326B4 80240EB4 18600003 */ blez $v1, .L80240EC4 +/* 8326B8 80240EB8 ACA2001C */ sw $v0, 0x1c($a1) +/* 8326BC 80240EBC 080903B8 */ j .L80240EE0 +/* 8326C0 80240EC0 0000102D */ daddu $v0, $zero, $zero +.L80240EC4: +/* 8326C4 80240EC4 0C016914 */ jal remove_effect +/* 8326C8 80240EC8 ACA00018 */ sw $zero, 0x18($a1) +/* 8326CC 80240ECC 3C048025 */ lui $a0, 0x8025 +/* 8326D0 80240ED0 8C8413D0 */ lw $a0, 0x13d0($a0) +/* 8326D4 80240ED4 0C048D70 */ jal func_801235C0 +/* 8326D8 80240ED8 00000000 */ nop +/* 8326DC 80240EDC 24020002 */ addiu $v0, $zero, 2 +.L80240EE0: +/* 8326E0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* 8326E4 80240EE4 03E00008 */ jr $ra +/* 8326E8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240EEC.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240EEC.s new file mode 100644 index 0000000000..c4ae2e07e2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240EEC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC +/* 8326EC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8326F0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8326F4 80240EF4 8C82000C */ lw $v0, 0xc($a0) +/* 8326F8 80240EF8 0C0B1EAF */ jal get_variable +/* 8326FC 80240EFC 8C450000 */ lw $a1, ($v0) +/* 832700 80240F00 3C038025 */ lui $v1, %hi(ForceCloseMessageBox) +/* 832704 80240F04 8C6313F0 */ lw $v1, %lo(ForceCloseMessageBox)($v1) +/* 832708 80240F08 8C63000C */ lw $v1, 0xc($v1) +/* 83270C 80240F0C AC620034 */ sw $v0, 0x34($v1) +/* 832710 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* 832714 80240F14 24020002 */ addiu $v0, $zero, 2 +/* 832718 80240F18 03E00008 */ jr $ra +/* 83271C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240F20.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240F20.s new file mode 100644 index 0000000000..c9ef3b1e29 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240F20.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20 +/* 832720 80240F20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832724 80240F24 AFBF0010 */ sw $ra, 0x10($sp) +/* 832728 80240F28 8C82000C */ lw $v0, 0xc($a0) +/* 83272C 80240F2C 0C0B1EAF */ jal get_variable +/* 832730 80240F30 8C450000 */ lw $a1, ($v0) +/* 832734 80240F34 0040202D */ daddu $a0, $v0, $zero +/* 832738 80240F38 3C028025 */ lui $v0, %hi(ForceCloseMessageBox) +/* 83273C 80240F3C 8C4213F0 */ lw $v0, %lo(ForceCloseMessageBox)($v0) +/* 832740 80240F40 24030001 */ addiu $v1, $zero, 1 +/* 832744 80240F44 8C45000C */ lw $a1, 0xc($v0) +/* 832748 80240F48 1083000D */ beq $a0, $v1, .L80240F80 +/* 83274C 80240F4C 28820002 */ slti $v0, $a0, 2 +/* 832750 80240F50 10400005 */ beqz $v0, .L80240F68 +/* 832754 80240F54 24020002 */ addiu $v0, $zero, 2 +/* 832758 80240F58 10800007 */ beqz $a0, .L80240F78 +/* 83275C 80240F5C 240200C0 */ addiu $v0, $zero, 0xc0 +/* 832760 80240F60 080903E4 */ j .L80240F90 +/* 832764 80240F64 ACA00038 */ sw $zero, 0x38($a1) +.L80240F68: +/* 832768 80240F68 10820008 */ beq $a0, $v0, .L80240F8C +/* 83276C 80240F6C 24020040 */ addiu $v0, $zero, 0x40 +/* 832770 80240F70 080903E4 */ j .L80240F90 +/* 832774 80240F74 ACA00038 */ sw $zero, 0x38($a1) +.L80240F78: +/* 832778 80240F78 080903E4 */ j .L80240F90 +/* 83277C 80240F7C ACA20038 */ sw $v0, 0x38($a1) +.L80240F80: +/* 832780 80240F80 24020080 */ addiu $v0, $zero, 0x80 +/* 832784 80240F84 080903E4 */ j .L80240F90 +/* 832788 80240F88 ACA20038 */ sw $v0, 0x38($a1) +.L80240F8C: +/* 83278C 80240F8C ACA20038 */ sw $v0, 0x38($a1) +.L80240F90: +/* 832790 80240F90 8FBF0010 */ lw $ra, 0x10($sp) +/* 832794 80240F94 24020002 */ addiu $v0, $zero, 2 +/* 832798 80240F98 03E00008 */ jr $ra +/* 83279C 80240F9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240FA0.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240FA0.s new file mode 100644 index 0000000000..ddf7c30f22 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240FA0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA0 +/* 8327A0 80240FA0 3C028025 */ lui $v0, 0x8025 +/* 8327A4 80240FA4 8C4213F8 */ lw $v0, 0x13f8($v0) +/* 8327A8 80240FA8 8C42000C */ lw $v0, 0xc($v0) +/* 8327AC 80240FAC AC40001C */ sw $zero, 0x1c($v0) +/* 8327B0 80240FB0 03E00008 */ jr $ra +/* 8327B4 80240FB4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240FB8_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240FB8_831800.s new file mode 100644 index 0000000000..35d47c46a5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240FB8_831800.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB8_8327B8 +/* 8327B8 80240FB8 3C028025 */ lui $v0, 0x8025 +/* 8327BC 80240FBC 8C4213F8 */ lw $v0, 0x13f8($v0) +/* 8327C0 80240FC0 8C43000C */ lw $v1, 0xc($v0) +/* 8327C4 80240FC4 24020001 */ addiu $v0, $zero, 1 +/* 8327C8 80240FC8 AC62001C */ sw $v0, 0x1c($v1) +/* 8327CC 80240FCC 03E00008 */ jr $ra +/* 8327D0 80240FD0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240FD4.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240FD4.s new file mode 100644 index 0000000000..cbecddb616 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240FD4.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD4 +/* 8327D4 80240FD4 3C028025 */ lui $v0, 0x8025 +/* 8327D8 80240FD8 8C4213F8 */ lw $v0, 0x13f8($v0) +/* 8327DC 80240FDC 8C43000C */ lw $v1, 0xc($v0) +/* 8327E0 80240FE0 24020002 */ addiu $v0, $zero, 2 +/* 8327E4 80240FE4 03E00008 */ jr $ra +/* 8327E8 80240FE8 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80240FEC.s b/asm/nonmatchings/world/area_mac/mac_03/func_80240FEC.s new file mode 100644 index 0000000000..a394c4b7b3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80240FEC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FEC +/* 8327EC 80240FEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8327F0 80240FF0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8327F4 80240FF4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8327F8 80240FF8 3C05FE36 */ lui $a1, 0xfe36 +/* 8327FC 80240FFC AFBF0010 */ sw $ra, 0x10($sp) +/* 832800 80241000 80460075 */ lb $a2, 0x75($v0) +/* 832804 80241004 0C0B2026 */ jal set_variable +/* 832808 80241008 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 83280C 8024100C 8FBF0010 */ lw $ra, 0x10($sp) +/* 832810 80241010 24020002 */ addiu $v0, $zero, 2 +/* 832814 80241014 03E00008 */ jr $ra +/* 832818 80241018 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_8024101C.s b/asm/nonmatchings/world/area_mac/mac_03/func_8024101C.s new file mode 100644 index 0000000000..a78f171586 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_8024101C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024101C +/* 83281C 8024101C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 832820 80241020 AFB10014 */ sw $s1, 0x14($sp) +/* 832824 80241024 0080882D */ daddu $s1, $a0, $zero +/* 832828 80241028 AFBF0018 */ sw $ra, 0x18($sp) +/* 83282C 8024102C AFB00010 */ sw $s0, 0x10($sp) +/* 832830 80241030 8E30000C */ lw $s0, 0xc($s1) +/* 832834 80241034 8E050000 */ lw $a1, ($s0) +/* 832838 80241038 0C0B1EAF */ jal get_variable +/* 83283C 8024103C 26100004 */ addiu $s0, $s0, 4 +/* 832840 80241040 0220202D */ daddu $a0, $s1, $zero +/* 832844 80241044 8E050000 */ lw $a1, ($s0) +/* 832848 80241048 0C0B210B */ jal get_float_variable +/* 83284C 8024104C 0040802D */ daddu $s0, $v0, $zero +/* 832850 80241050 24020002 */ addiu $v0, $zero, 2 +/* 832854 80241054 00501804 */ sllv $v1, $s0, $v0 +/* 832858 80241058 00701821 */ addu $v1, $v1, $s0 +/* 83285C 8024105C 00431804 */ sllv $v1, $v1, $v0 +/* 832860 80241060 00701823 */ subu $v1, $v1, $s0 +/* 832864 80241064 000320C0 */ sll $a0, $v1, 3 +/* 832868 80241068 00641821 */ addu $v1, $v1, $a0 +/* 83286C 8024106C 000318C0 */ sll $v1, $v1, 3 +/* 832870 80241070 3C01800B */ lui $at, 0x800b +/* 832874 80241074 00230821 */ addu $at, $at, $v1 +/* 832878 80241078 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 83287C 8024107C 8FBF0018 */ lw $ra, 0x18($sp) +/* 832880 80241080 8FB10014 */ lw $s1, 0x14($sp) +/* 832884 80241084 8FB00010 */ lw $s0, 0x10($sp) +/* 832888 80241088 03E00008 */ jr $ra +/* 83288C 8024108C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241090.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241090.s new file mode 100644 index 0000000000..e2330f632b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241090.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241090 +/* 832890 80241090 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 832894 80241094 AFB10014 */ sw $s1, 0x14($sp) +/* 832898 80241098 0080882D */ daddu $s1, $a0, $zero +/* 83289C 8024109C AFBF0018 */ sw $ra, 0x18($sp) +/* 8328A0 802410A0 AFB00010 */ sw $s0, 0x10($sp) +/* 8328A4 802410A4 8E30000C */ lw $s0, 0xc($s1) +/* 8328A8 802410A8 8E050000 */ lw $a1, ($s0) +/* 8328AC 802410AC 0C0B1EAF */ jal get_variable +/* 8328B0 802410B0 26100004 */ addiu $s0, $s0, 4 +/* 8328B4 802410B4 00021880 */ sll $v1, $v0, 2 +/* 8328B8 802410B8 00621821 */ addu $v1, $v1, $v0 +/* 8328BC 802410BC 00031880 */ sll $v1, $v1, 2 +/* 8328C0 802410C0 00621823 */ subu $v1, $v1, $v0 +/* 8328C4 802410C4 000310C0 */ sll $v0, $v1, 3 +/* 8328C8 802410C8 00621821 */ addu $v1, $v1, $v0 +/* 8328CC 802410CC 000318C0 */ sll $v1, $v1, 3 +/* 8328D0 802410D0 3C01800B */ lui $at, 0x800b +/* 8328D4 802410D4 00230821 */ addu $at, $at, $v1 +/* 8328D8 802410D8 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 8328DC 802410DC 3C014480 */ lui $at, 0x4480 +/* 8328E0 802410E0 44810000 */ mtc1 $at, $f0 +/* 8328E4 802410E4 00000000 */ nop +/* 8328E8 802410E8 46001082 */ mul.s $f2, $f2, $f0 +/* 8328EC 802410EC 00000000 */ nop +/* 8328F0 802410F0 3C01CD5B */ lui $at, 0xcd5b +/* 8328F4 802410F4 34215858 */ ori $at, $at, 0x5858 +/* 8328F8 802410F8 44810000 */ mtc1 $at, $f0 +/* 8328FC 802410FC 00000000 */ nop +/* 832900 80241100 46001080 */ add.s $f2, $f2, $f0 +/* 832904 80241104 8E050000 */ lw $a1, ($s0) +/* 832908 80241108 4600110D */ trunc.w.s $f4, $f2 +/* 83290C 8024110C 44062000 */ mfc1 $a2, $f4 +/* 832910 80241110 0C0B2026 */ jal set_variable +/* 832914 80241114 0220202D */ daddu $a0, $s1, $zero +/* 832918 80241118 8FBF0018 */ lw $ra, 0x18($sp) +/* 83291C 8024111C 8FB10014 */ lw $s1, 0x14($sp) +/* 832920 80241120 8FB00010 */ lw $s0, 0x10($sp) +/* 832924 80241124 24020002 */ addiu $v0, $zero, 2 +/* 832928 80241128 03E00008 */ jr $ra +/* 83292C 8024112C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241130.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241130.s new file mode 100644 index 0000000000..b47e749da1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241130.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241130 +/* 832930 80241130 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 832934 80241134 AFB20018 */ sw $s2, 0x18($sp) +/* 832938 80241138 0080902D */ daddu $s2, $a0, $zero +/* 83293C 8024113C AFBF0030 */ sw $ra, 0x30($sp) +/* 832940 80241140 AFB7002C */ sw $s7, 0x2c($sp) +/* 832944 80241144 AFB60028 */ sw $s6, 0x28($sp) +/* 832948 80241148 AFB50024 */ sw $s5, 0x24($sp) +/* 83294C 8024114C AFB40020 */ sw $s4, 0x20($sp) +/* 832950 80241150 AFB3001C */ sw $s3, 0x1c($sp) +/* 832954 80241154 AFB10014 */ sw $s1, 0x14($sp) +/* 832958 80241158 AFB00010 */ sw $s0, 0x10($sp) +/* 83295C 8024115C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 832960 80241160 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 832964 80241164 8E50000C */ lw $s0, 0xc($s2) +/* 832968 80241168 8E050000 */ lw $a1, ($s0) +/* 83296C 8024116C 0C0B1EAF */ jal get_variable +/* 832970 80241170 26100004 */ addiu $s0, $s0, 4 +/* 832974 80241174 8E050000 */ lw $a1, ($s0) +/* 832978 80241178 26100004 */ addiu $s0, $s0, 4 +/* 83297C 8024117C 0240202D */ daddu $a0, $s2, $zero +/* 832980 80241180 0C0B1EAF */ jal get_variable +/* 832984 80241184 0040B82D */ daddu $s7, $v0, $zero +/* 832988 80241188 8E050000 */ lw $a1, ($s0) +/* 83298C 8024118C 26100004 */ addiu $s0, $s0, 4 +/* 832990 80241190 0240202D */ daddu $a0, $s2, $zero +/* 832994 80241194 0C0B1EAF */ jal get_variable +/* 832998 80241198 0040B02D */ daddu $s6, $v0, $zero +/* 83299C 8024119C 0240202D */ daddu $a0, $s2, $zero +/* 8329A0 802411A0 3C05F4AC */ lui $a1, 0xf4ac +/* 8329A4 802411A4 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8329A8 802411A8 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 8329AC 802411AC 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 8329B0 802411B0 8E140000 */ lw $s4, ($s0) +/* 8329B4 802411B4 00061880 */ sll $v1, $a2, 2 +/* 8329B8 802411B8 00661821 */ addu $v1, $v1, $a2 +/* 8329BC 802411BC 00031880 */ sll $v1, $v1, 2 +/* 8329C0 802411C0 00661823 */ subu $v1, $v1, $a2 +/* 8329C4 802411C4 000330C0 */ sll $a2, $v1, 3 +/* 8329C8 802411C8 00661821 */ addu $v1, $v1, $a2 +/* 8329CC 802411CC 000318C0 */ sll $v1, $v1, 3 +/* 8329D0 802411D0 3C01800B */ lui $at, 0x800b +/* 8329D4 802411D4 00230821 */ addu $at, $at, $v1 +/* 8329D8 802411D8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8329DC 802411DC 8E150004 */ lw $s5, 4($s0) +/* 8329E0 802411E0 4600010D */ trunc.w.s $f4, $f0 +/* 8329E4 802411E4 44112000 */ mfc1 $s1, $f4 +/* 8329E8 802411E8 0C0B1EAF */ jal get_variable +/* 8329EC 802411EC 0040982D */ daddu $s3, $v0, $zero +/* 8329F0 802411F0 4491B000 */ mtc1 $s1, $f22 +/* 8329F4 802411F4 00000000 */ nop +/* 8329F8 802411F8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8329FC 802411FC 4600B306 */ mov.s $f12, $f22 +/* 832A00 80241200 0C00A8D4 */ jal cos_deg +/* 832A04 80241204 0040802D */ daddu $s0, $v0, $zero +/* 832A08 80241208 4493A000 */ mtc1 $s3, $f20 +/* 832A0C 8024120C 00000000 */ nop +/* 832A10 80241210 4680A520 */ cvt.s.w $f20, $f20 +/* 832A14 80241214 4600A002 */ mul.s $f0, $f20, $f0 +/* 832A18 80241218 00000000 */ nop +/* 832A1C 8024121C 0240202D */ daddu $a0, $s2, $zero +/* 832A20 80241220 44901000 */ mtc1 $s0, $f2 +/* 832A24 80241224 00000000 */ nop +/* 832A28 80241228 468010A0 */ cvt.s.w $f2, $f2 +/* 832A2C 8024122C 46001081 */ sub.s $f2, $f2, $f0 +/* 832A30 80241230 3C05F4AC */ lui $a1, 0xf4ac +/* 832A34 80241234 4600110D */ trunc.w.s $f4, $f2 +/* 832A38 80241238 44102000 */ mfc1 $s0, $f4 +/* 832A3C 8024123C 0C0B1EAF */ jal get_variable +/* 832A40 80241240 34A5D483 */ ori $a1, $a1, 0xd483 +/* 832A44 80241244 4600B306 */ mov.s $f12, $f22 +/* 832A48 80241248 0C00A8BB */ jal sin_deg +/* 832A4C 8024124C 0040882D */ daddu $s1, $v0, $zero +/* 832A50 80241250 4600A502 */ mul.s $f20, $f20, $f0 +/* 832A54 80241254 00000000 */ nop +/* 832A58 80241258 0240202D */ daddu $a0, $s2, $zero +/* 832A5C 8024125C 44910000 */ mtc1 $s1, $f0 +/* 832A60 80241260 00000000 */ nop +/* 832A64 80241264 46800020 */ cvt.s.w $f0, $f0 +/* 832A68 80241268 46140001 */ sub.s $f0, $f0, $f20 +/* 832A6C 8024126C 0280282D */ daddu $a1, $s4, $zero +/* 832A70 80241270 02173023 */ subu $a2, $s0, $s7 +/* 832A74 80241274 4600010D */ trunc.w.s $f4, $f0 +/* 832A78 80241278 44102000 */ mfc1 $s0, $f4 +/* 832A7C 8024127C 0C0B2026 */ jal set_variable +/* 832A80 80241280 02168023 */ subu $s0, $s0, $s6 +/* 832A84 80241284 0240202D */ daddu $a0, $s2, $zero +/* 832A88 80241288 02A0282D */ daddu $a1, $s5, $zero +/* 832A8C 8024128C 0C0B2026 */ jal set_variable +/* 832A90 80241290 0200302D */ daddu $a2, $s0, $zero +/* 832A94 80241294 8FBF0030 */ lw $ra, 0x30($sp) +/* 832A98 80241298 8FB7002C */ lw $s7, 0x2c($sp) +/* 832A9C 8024129C 8FB60028 */ lw $s6, 0x28($sp) +/* 832AA0 802412A0 8FB50024 */ lw $s5, 0x24($sp) +/* 832AA4 802412A4 8FB40020 */ lw $s4, 0x20($sp) +/* 832AA8 802412A8 8FB3001C */ lw $s3, 0x1c($sp) +/* 832AAC 802412AC 8FB20018 */ lw $s2, 0x18($sp) +/* 832AB0 802412B0 8FB10014 */ lw $s1, 0x14($sp) +/* 832AB4 802412B4 8FB00010 */ lw $s0, 0x10($sp) +/* 832AB8 802412B8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 832ABC 802412BC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 832AC0 802412C0 24020002 */ addiu $v0, $zero, 2 +/* 832AC4 802412C4 03E00008 */ jr $ra +/* 832AC8 802412C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802412CC.s b/asm/nonmatchings/world/area_mac/mac_03/func_802412CC.s new file mode 100644 index 0000000000..f4590db1b1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802412CC.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412CC +/* 832ACC 802412CC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 832AD0 802412D0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 832AD4 802412D4 10A00002 */ beqz $a1, .L802412E0 +/* 832AD8 802412D8 2402003C */ addiu $v0, $zero, 0x3c +/* 832ADC 802412DC AC820070 */ sw $v0, 0x70($a0) +.L802412E0: +/* 832AE0 802412E0 C4620080 */ lwc1 $f2, 0x80($v1) +/* 832AE4 802412E4 3C0141F0 */ lui $at, 0x41f0 +/* 832AE8 802412E8 44810000 */ mtc1 $at, $f0 +/* 832AEC 802412EC 00000000 */ nop +/* 832AF0 802412F0 46001000 */ add.s $f0, $f2, $f0 +/* 832AF4 802412F4 3C0143B4 */ lui $at, 0x43b4 +/* 832AF8 802412F8 44811000 */ mtc1 $at, $f2 +/* 832AFC 802412FC 00000000 */ nop +/* 832B00 80241300 4600103E */ c.le.s $f2, $f0 +/* 832B04 80241304 00000000 */ nop +/* 832B08 80241308 45000003 */ bc1f .L80241318 +/* 832B0C 8024130C E4600080 */ swc1 $f0, 0x80($v1) +/* 832B10 80241310 46020001 */ sub.s $f0, $f0, $f2 +/* 832B14 80241314 E4600080 */ swc1 $f0, 0x80($v1) +.L80241318: +/* 832B18 80241318 8C820070 */ lw $v0, 0x70($a0) +/* 832B1C 8024131C 2442FFFF */ addiu $v0, $v0, -1 +/* 832B20 80241320 AC820070 */ sw $v0, 0x70($a0) +/* 832B24 80241324 000217C3 */ sra $v0, $v0, 0x1f +/* 832B28 80241328 03E00008 */ jr $ra +/* 832B2C 8024132C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241330.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241330.s new file mode 100644 index 0000000000..ea91392b2d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241330.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241330 +/* 832B30 80241330 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 832B34 80241334 AFB10014 */ sw $s1, 0x14($sp) +/* 832B38 80241338 0080882D */ daddu $s1, $a0, $zero +/* 832B3C 8024133C AFB00010 */ sw $s0, 0x10($sp) +/* 832B40 80241340 00A0802D */ daddu $s0, $a1, $zero +/* 832B44 80241344 AFBF0018 */ sw $ra, 0x18($sp) +/* 832B48 80241348 0C00EABB */ jal get_npc_unsafe +/* 832B4C 8024134C 2404FFFC */ addiu $a0, $zero, -4 +/* 832B50 80241350 12000003 */ beqz $s0, .L80241360 +/* 832B54 80241354 0040182D */ daddu $v1, $v0, $zero +/* 832B58 80241358 2402003C */ addiu $v0, $zero, 0x3c +/* 832B5C 8024135C AE220070 */ sw $v0, 0x70($s1) +.L80241360: +/* 832B60 80241360 C462000C */ lwc1 $f2, 0xc($v1) +/* 832B64 80241364 3C0141F0 */ lui $at, 0x41f0 +/* 832B68 80241368 44810000 */ mtc1 $at, $f0 +/* 832B6C 8024136C 00000000 */ nop +/* 832B70 80241370 46001000 */ add.s $f0, $f2, $f0 +/* 832B74 80241374 3C0143B4 */ lui $at, 0x43b4 +/* 832B78 80241378 44811000 */ mtc1 $at, $f2 +/* 832B7C 8024137C 00000000 */ nop +/* 832B80 80241380 4600103E */ c.le.s $f2, $f0 +/* 832B84 80241384 00000000 */ nop +/* 832B88 80241388 45000003 */ bc1f .L80241398 +/* 832B8C 8024138C E460000C */ swc1 $f0, 0xc($v1) +/* 832B90 80241390 46020001 */ sub.s $f0, $f0, $f2 +/* 832B94 80241394 E460000C */ swc1 $f0, 0xc($v1) +.L80241398: +/* 832B98 80241398 8E230070 */ lw $v1, 0x70($s1) +/* 832B9C 8024139C 2463FFFF */ addiu $v1, $v1, -1 +/* 832BA0 802413A0 000317C3 */ sra $v0, $v1, 0x1f +/* 832BA4 802413A4 AE230070 */ sw $v1, 0x70($s1) +/* 832BA8 802413A8 8FBF0018 */ lw $ra, 0x18($sp) +/* 832BAC 802413AC 8FB10014 */ lw $s1, 0x14($sp) +/* 832BB0 802413B0 8FB00010 */ lw $s0, 0x10($sp) +/* 832BB4 802413B4 30420002 */ andi $v0, $v0, 2 +/* 832BB8 802413B8 03E00008 */ jr $ra +/* 832BBC 802413BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802413C0.s b/asm/nonmatchings/world/area_mac/mac_03/func_802413C0.s new file mode 100644 index 0000000000..12a6455820 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802413C0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413C0 +/* 832BC0 802413C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 832BC4 802413C4 AFB10014 */ sw $s1, 0x14($sp) +/* 832BC8 802413C8 0080882D */ daddu $s1, $a0, $zero +/* 832BCC 802413CC AFB00010 */ sw $s0, 0x10($sp) +/* 832BD0 802413D0 00A0802D */ daddu $s0, $a1, $zero +/* 832BD4 802413D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 832BD8 802413D8 AFB20018 */ sw $s2, 0x18($sp) +/* 832BDC 802413DC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 832BE0 802413E0 0C00EABB */ jal get_npc_unsafe +/* 832BE4 802413E4 2404FFFC */ addiu $a0, $zero, -4 +/* 832BE8 802413E8 12000017 */ beqz $s0, .L80241448 +/* 832BEC 802413EC 0040902D */ daddu $s2, $v0, $zero +/* 832BF0 802413F0 0220202D */ daddu $a0, $s1, $zero +/* 832BF4 802413F4 3C05FE36 */ lui $a1, 0xfe36 +/* 832BF8 802413F8 0C0B210B */ jal get_float_variable +/* 832BFC 802413FC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 832C00 80241400 0220202D */ daddu $a0, $s1, $zero +/* 832C04 80241404 3C05FE36 */ lui $a1, 0xfe36 +/* 832C08 80241408 3C014270 */ lui $at, 0x4270 +/* 832C0C 8024140C 4481A000 */ mtc1 $at, $f20 +/* 832C10 80241410 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 832C14 80241414 46140003 */ div.s $f0, $f0, $f20 +/* 832C18 80241418 0C0B210B */ jal get_float_variable +/* 832C1C 8024141C E6200074 */ swc1 $f0, 0x74($s1) +/* 832C20 80241420 0220202D */ daddu $a0, $s1, $zero +/* 832C24 80241424 3C05FE36 */ lui $a1, 0xfe36 +/* 832C28 80241428 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 832C2C 8024142C 46140003 */ div.s $f0, $f0, $f20 +/* 832C30 80241430 0C0B210B */ jal get_float_variable +/* 832C34 80241434 E6200078 */ swc1 $f0, 0x78($s1) +/* 832C38 80241438 46140003 */ div.s $f0, $f0, $f20 +/* 832C3C 8024143C 2402003C */ addiu $v0, $zero, 0x3c +/* 832C40 80241440 E620007C */ swc1 $f0, 0x7c($s1) +/* 832C44 80241444 AE220070 */ sw $v0, 0x70($s1) +.L80241448: +/* 832C48 80241448 C6400038 */ lwc1 $f0, 0x38($s2) +/* 832C4C 8024144C C6220074 */ lwc1 $f2, 0x74($s1) +/* 832C50 80241450 46020000 */ add.s $f0, $f0, $f2 +/* 832C54 80241454 E6400038 */ swc1 $f0, 0x38($s2) +/* 832C58 80241458 C640003C */ lwc1 $f0, 0x3c($s2) +/* 832C5C 8024145C C6220078 */ lwc1 $f2, 0x78($s1) +/* 832C60 80241460 46020000 */ add.s $f0, $f0, $f2 +/* 832C64 80241464 E640003C */ swc1 $f0, 0x3c($s2) +/* 832C68 80241468 C6400040 */ lwc1 $f0, 0x40($s2) +/* 832C6C 8024146C C622007C */ lwc1 $f2, 0x7c($s1) +/* 832C70 80241470 46020000 */ add.s $f0, $f0, $f2 +/* 832C74 80241474 E6400040 */ swc1 $f0, 0x40($s2) +/* 832C78 80241478 8E230070 */ lw $v1, 0x70($s1) +/* 832C7C 8024147C 2463FFFF */ addiu $v1, $v1, -1 +/* 832C80 80241480 2C620001 */ sltiu $v0, $v1, 1 +/* 832C84 80241484 AE230070 */ sw $v1, 0x70($s1) +/* 832C88 80241488 8FBF001C */ lw $ra, 0x1c($sp) +/* 832C8C 8024148C 8FB20018 */ lw $s2, 0x18($sp) +/* 832C90 80241490 8FB10014 */ lw $s1, 0x14($sp) +/* 832C94 80241494 8FB00010 */ lw $s0, 0x10($sp) +/* 832C98 80241498 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 832C9C 8024149C 00021040 */ sll $v0, $v0, 1 +/* 832CA0 802414A0 03E00008 */ jr $ra +/* 832CA4 802414A4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802414A8.s b/asm/nonmatchings/world/area_mac/mac_03/func_802414A8.s new file mode 100644 index 0000000000..d1e88ca54a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802414A8.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414A8 +/* 832CA8 802414A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832CAC 802414AC 3C058025 */ lui $a1, 0x8025 +/* 832CB0 802414B0 8CA513E8 */ lw $a1, 0x13e8($a1) +/* 832CB4 802414B4 AFBF0010 */ sw $ra, 0x10($sp) +/* 832CB8 802414B8 0C0B1EAF */ jal get_variable +/* 832CBC 802414BC 0000202D */ daddu $a0, $zero, $zero +/* 832CC0 802414C0 0040182D */ daddu $v1, $v0, $zero +/* 832CC4 802414C4 24020001 */ addiu $v0, $zero, 1 +/* 832CC8 802414C8 14620006 */ bne $v1, $v0, .L802414E4 +/* 832CCC 802414CC 24020002 */ addiu $v0, $zero, 2 +/* 832CD0 802414D0 44800000 */ mtc1 $zero, $f0 +/* 832CD4 802414D4 00000000 */ nop +/* 832CD8 802414D8 44050000 */ mfc1 $a1, $f0 +/* 832CDC 802414DC 0809053F */ j .L802414FC +/* 832CE0 802414E0 0000202D */ daddu $a0, $zero, $zero +.L802414E4: +/* 832CE4 802414E4 14620008 */ bne $v1, $v0, .L80241508 +/* 832CE8 802414E8 24040001 */ addiu $a0, $zero, 1 +/* 832CEC 802414EC 44800000 */ mtc1 $zero, $f0 +/* 832CF0 802414F0 00000000 */ nop +/* 832CF4 802414F4 44050000 */ mfc1 $a1, $f0 +/* 832CF8 802414F8 00000000 */ nop +.L802414FC: +/* 832CFC 802414FC 00A0302D */ daddu $a2, $a1, $zero +/* 832D00 80241500 0C01C5A4 */ jal func_80071690 +/* 832D04 80241504 00A0382D */ daddu $a3, $a1, $zero +.L80241508: +/* 832D08 80241508 8FBF0010 */ lw $ra, 0x10($sp) +/* 832D0C 8024150C 03E00008 */ jr $ra +/* 832D10 80241510 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241514.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241514.s new file mode 100644 index 0000000000..63bfd1c4ea --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241514.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241514 +/* 832D14 80241514 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832D18 80241518 3C058024 */ lui $a1, 0x8024 +/* 832D1C 8024151C 24A514A8 */ addiu $a1, $a1, 0x14a8 +/* 832D20 80241520 AFBF0010 */ sw $ra, 0x10($sp) +/* 832D24 80241524 0C048C8F */ jal bind_dynamic_entity_7 +/* 832D28 80241528 0000202D */ daddu $a0, $zero, $zero +/* 832D2C 8024152C 8FBF0010 */ lw $ra, 0x10($sp) +/* 832D30 80241530 3C018025 */ lui $at, 0x8025 +/* 832D34 80241534 AC2213D0 */ sw $v0, 0x13d0($at) +/* 832D38 80241538 24020002 */ addiu $v0, $zero, 2 +/* 832D3C 8024153C 03E00008 */ jr $ra +/* 832D40 80241540 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241544.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241544.s new file mode 100644 index 0000000000..c24e4ffacd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241544.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241544 +/* 832D44 80241544 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 832D48 80241548 AFB10014 */ sw $s1, 0x14($sp) +/* 832D4C 8024154C 0080882D */ daddu $s1, $a0, $zero +/* 832D50 80241550 AFBF0018 */ sw $ra, 0x18($sp) +/* 832D54 80241554 AFB00010 */ sw $s0, 0x10($sp) +/* 832D58 80241558 8E30000C */ lw $s0, 0xc($s1) +/* 832D5C 8024155C 8E050000 */ lw $a1, ($s0) +/* 832D60 80241560 0C0B1EAF */ jal get_variable +/* 832D64 80241564 26100004 */ addiu $s0, $s0, 4 +/* 832D68 80241568 0C00EAD2 */ jal get_npc_safe +/* 832D6C 8024156C 0040202D */ daddu $a0, $v0, $zero +/* 832D70 80241570 10400005 */ beqz $v0, .L80241588 +/* 832D74 80241574 00000000 */ nop +/* 832D78 80241578 8E050000 */ lw $a1, ($s0) +/* 832D7C 8024157C 844600A8 */ lh $a2, 0xa8($v0) +/* 832D80 80241580 0C0B2026 */ jal set_variable +/* 832D84 80241584 0220202D */ daddu $a0, $s1, $zero +.L80241588: +/* 832D88 80241588 8FBF0018 */ lw $ra, 0x18($sp) +/* 832D8C 8024158C 8FB10014 */ lw $s1, 0x14($sp) +/* 832D90 80241590 8FB00010 */ lw $s0, 0x10($sp) +/* 832D94 80241594 24020002 */ addiu $v0, $zero, 2 +/* 832D98 80241598 03E00008 */ jr $ra +/* 832D9C 8024159C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802415A0.s b/asm/nonmatchings/world/area_mac/mac_03/func_802415A0.s new file mode 100644 index 0000000000..ea67f3a752 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802415A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415A0 +/* 832DA0 802415A0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 832DA4 802415A4 AFB10014 */ sw $s1, 0x14($sp) +/* 832DA8 802415A8 0080882D */ daddu $s1, $a0, $zero +/* 832DAC 802415AC AFBF0024 */ sw $ra, 0x24($sp) +/* 832DB0 802415B0 AFB40020 */ sw $s4, 0x20($sp) +/* 832DB4 802415B4 AFB3001C */ sw $s3, 0x1c($sp) +/* 832DB8 802415B8 AFB20018 */ sw $s2, 0x18($sp) +/* 832DBC 802415BC AFB00010 */ sw $s0, 0x10($sp) +/* 832DC0 802415C0 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 832DC4 802415C4 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 832DC8 802415C8 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 832DCC 802415CC F7B60030 */ sdc1 $f22, 0x30($sp) +/* 832DD0 802415D0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 832DD4 802415D4 8E30000C */ lw $s0, 0xc($s1) +/* 832DD8 802415D8 8E130000 */ lw $s3, ($s0) +/* 832DDC 802415DC 26100004 */ addiu $s0, $s0, 4 +/* 832DE0 802415E0 0C0B1EAF */ jal get_variable +/* 832DE4 802415E4 0260282D */ daddu $a1, $s3, $zero +/* 832DE8 802415E8 4482E000 */ mtc1 $v0, $f28 +/* 832DEC 802415EC 00000000 */ nop +/* 832DF0 802415F0 4680E720 */ cvt.s.w $f28, $f28 +/* 832DF4 802415F4 8E140000 */ lw $s4, ($s0) +/* 832DF8 802415F8 26100004 */ addiu $s0, $s0, 4 +/* 832DFC 802415FC 0220202D */ daddu $a0, $s1, $zero +/* 832E00 80241600 0C0B1EAF */ jal get_variable +/* 832E04 80241604 0280282D */ daddu $a1, $s4, $zero +/* 832E08 80241608 4482D000 */ mtc1 $v0, $f26 +/* 832E0C 8024160C 00000000 */ nop +/* 832E10 80241610 4680D6A0 */ cvt.s.w $f26, $f26 +/* 832E14 80241614 8E100000 */ lw $s0, ($s0) +/* 832E18 80241618 0220202D */ daddu $a0, $s1, $zero +/* 832E1C 8024161C 0C0B1EAF */ jal get_variable +/* 832E20 80241620 0200282D */ daddu $a1, $s0, $zero +/* 832E24 80241624 4482C000 */ mtc1 $v0, $f24 +/* 832E28 80241628 00000000 */ nop +/* 832E2C 8024162C 4680C620 */ cvt.s.w $f24, $f24 +/* 832E30 80241630 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 832E34 80241634 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 832E38 80241638 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 832E3C 8024163C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 832E40 80241640 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 832E44 80241644 44800000 */ mtc1 $zero, $f0 +/* 832E48 80241648 00031080 */ sll $v0, $v1, 2 +/* 832E4C 8024164C 00431021 */ addu $v0, $v0, $v1 +/* 832E50 80241650 00021080 */ sll $v0, $v0, 2 +/* 832E54 80241654 00431023 */ subu $v0, $v0, $v1 +/* 832E58 80241658 000218C0 */ sll $v1, $v0, 3 +/* 832E5C 8024165C 00431021 */ addu $v0, $v0, $v1 +/* 832E60 80241660 000210C0 */ sll $v0, $v0, 3 +/* 832E64 80241664 46001032 */ c.eq.s $f2, $f0 +/* 832E68 80241668 3C01800B */ lui $at, 0x800b +/* 832E6C 8024166C 00220821 */ addu $at, $at, $v0 +/* 832E70 80241670 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 832E74 80241674 45000005 */ bc1f .L8024168C +/* 832E78 80241678 00000000 */ nop +/* 832E7C 8024167C 3C0142C8 */ lui $at, 0x42c8 +/* 832E80 80241680 44810000 */ mtc1 $at, $f0 +/* 832E84 80241684 080905A7 */ j .L8024169C +/* 832E88 80241688 4600B581 */ sub.s $f22, $f22, $f0 +.L8024168C: +/* 832E8C 8024168C 3C0142C8 */ lui $at, 0x42c8 +/* 832E90 80241690 44810000 */ mtc1 $at, $f0 +/* 832E94 80241694 00000000 */ nop +/* 832E98 80241698 4600B580 */ add.s $f22, $f22, $f0 +.L8024169C: +/* 832E9C 8024169C 0C00A6C9 */ jal clamp_angle +/* 832EA0 802416A0 4600B306 */ mov.s $f12, $f22 +/* 832EA4 802416A4 46000586 */ mov.s $f22, $f0 +/* 832EA8 802416A8 3C014170 */ lui $at, 0x4170 +/* 832EAC 802416AC 4481A000 */ mtc1 $at, $f20 +/* 832EB0 802416B0 0C00A8BB */ jal sin_deg +/* 832EB4 802416B4 4600B306 */ mov.s $f12, $f22 +/* 832EB8 802416B8 46140002 */ mul.s $f0, $f0, $f20 +/* 832EBC 802416BC 00000000 */ nop +/* 832EC0 802416C0 864200B0 */ lh $v0, 0xb0($s2) +/* 832EC4 802416C4 3C013F00 */ lui $at, 0x3f00 +/* 832EC8 802416C8 44812000 */ mtc1 $at, $f4 +/* 832ECC 802416CC 44821000 */ mtc1 $v0, $f2 +/* 832ED0 802416D0 00000000 */ nop +/* 832ED4 802416D4 468010A0 */ cvt.s.w $f2, $f2 +/* 832ED8 802416D8 46041082 */ mul.s $f2, $f2, $f4 +/* 832EDC 802416DC 00000000 */ nop +/* 832EE0 802416E0 4600E700 */ add.s $f28, $f28, $f0 +/* 832EE4 802416E4 4602D680 */ add.s $f26, $f26, $f2 +/* 832EE8 802416E8 0C00A8D4 */ jal cos_deg +/* 832EEC 802416EC 4600B306 */ mov.s $f12, $f22 +/* 832EF0 802416F0 46140002 */ mul.s $f0, $f0, $f20 +/* 832EF4 802416F4 00000000 */ nop +/* 832EF8 802416F8 0220202D */ daddu $a0, $s1, $zero +/* 832EFC 802416FC 0260282D */ daddu $a1, $s3, $zero +/* 832F00 80241700 4600E18D */ trunc.w.s $f6, $f28 +/* 832F04 80241704 44063000 */ mfc1 $a2, $f6 +/* 832F08 80241708 0C0B2026 */ jal set_variable +/* 832F0C 8024170C 4600C601 */ sub.s $f24, $f24, $f0 +/* 832F10 80241710 0220202D */ daddu $a0, $s1, $zero +/* 832F14 80241714 4600D18D */ trunc.w.s $f6, $f26 +/* 832F18 80241718 44063000 */ mfc1 $a2, $f6 +/* 832F1C 8024171C 0C0B2026 */ jal set_variable +/* 832F20 80241720 0280282D */ daddu $a1, $s4, $zero +/* 832F24 80241724 0220202D */ daddu $a0, $s1, $zero +/* 832F28 80241728 4600C18D */ trunc.w.s $f6, $f24 +/* 832F2C 8024172C 44063000 */ mfc1 $a2, $f6 +/* 832F30 80241730 0C0B2026 */ jal set_variable +/* 832F34 80241734 0200282D */ daddu $a1, $s0, $zero +/* 832F38 80241738 8FBF0024 */ lw $ra, 0x24($sp) +/* 832F3C 8024173C 8FB40020 */ lw $s4, 0x20($sp) +/* 832F40 80241740 8FB3001C */ lw $s3, 0x1c($sp) +/* 832F44 80241744 8FB20018 */ lw $s2, 0x18($sp) +/* 832F48 80241748 8FB10014 */ lw $s1, 0x14($sp) +/* 832F4C 8024174C 8FB00010 */ lw $s0, 0x10($sp) +/* 832F50 80241750 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 832F54 80241754 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 832F58 80241758 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 832F5C 8024175C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 832F60 80241760 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 832F64 80241764 24020002 */ addiu $v0, $zero, 2 +/* 832F68 80241768 03E00008 */ jr $ra +/* 832F6C 8024176C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241770.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241770.s new file mode 100644 index 0000000000..418f54fe93 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241770.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241770 +/* 832F70 80241770 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832F74 80241774 AFBF0010 */ sw $ra, 0x10($sp) +/* 832F78 80241778 10A00003 */ beqz $a1, .L80241788 +/* 832F7C 8024177C 8C86000C */ lw $a2, 0xc($a0) +/* 832F80 80241780 3C018025 */ lui $at, 0x8025 +/* 832F84 80241784 AC208C6C */ sw $zero, -0x7394($at) +.L80241788: +/* 832F88 80241788 3C038025 */ lui $v1, 0x8025 +/* 832F8C 8024178C 24638C6C */ addiu $v1, $v1, -0x7394 +/* 832F90 80241790 8C620000 */ lw $v0, ($v1) +/* 832F94 80241794 54400003 */ bnel $v0, $zero, .L802417A4 +/* 832F98 80241798 AC600000 */ sw $zero, ($v1) +/* 832F9C 8024179C 080905EE */ j .L802417B8 +/* 832FA0 802417A0 0000102D */ daddu $v0, $zero, $zero +.L802417A4: +/* 832FA4 802417A4 8CC50000 */ lw $a1, ($a2) +/* 832FA8 802417A8 3C068025 */ lui $a2, 0x8025 +/* 832FAC 802417AC 0C0B2026 */ jal set_variable +/* 832FB0 802417B0 8CC68C70 */ lw $a2, -0x7390($a2) +/* 832FB4 802417B4 24020002 */ addiu $v0, $zero, 2 +.L802417B8: +/* 832FB8 802417B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 832FBC 802417BC 03E00008 */ jr $ra +/* 832FC0 802417C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802417C4.s b/asm/nonmatchings/world/area_mac/mac_03/func_802417C4.s new file mode 100644 index 0000000000..351f23c426 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802417C4.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C4 +/* 832FC4 802417C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 832FC8 802417C8 AFBF0010 */ sw $ra, 0x10($sp) +/* 832FCC 802417CC 8C82000C */ lw $v0, 0xc($a0) +/* 832FD0 802417D0 0C0B1EAF */ jal get_variable +/* 832FD4 802417D4 8C450000 */ lw $a1, ($v0) +/* 832FD8 802417D8 3C018025 */ lui $at, 0x8025 +/* 832FDC 802417DC AC228C70 */ sw $v0, -0x7390($at) +/* 832FE0 802417E0 24020002 */ addiu $v0, $zero, 2 +/* 832FE4 802417E4 8FBF0010 */ lw $ra, 0x10($sp) +/* 832FE8 802417E8 24030001 */ addiu $v1, $zero, 1 +/* 832FEC 802417EC 3C018025 */ lui $at, 0x8025 +/* 832FF0 802417F0 AC238C6C */ sw $v1, -0x7394($at) +/* 832FF4 802417F4 03E00008 */ jr $ra +/* 832FF8 802417F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802417FC.s b/asm/nonmatchings/world/area_mac/mac_03/func_802417FC.s new file mode 100644 index 0000000000..bd0a149bdb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802417FC.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417FC +/* 832FFC 802417FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833000 80241800 AFBF0010 */ sw $ra, 0x10($sp) +/* 833004 80241804 8C82000C */ lw $v0, 0xc($a0) +/* 833008 80241808 0C0B1EAF */ jal get_variable +/* 83300C 8024180C 8C450000 */ lw $a1, ($v0) +/* 833010 80241810 0040182D */ daddu $v1, $v0, $zero +/* 833014 80241814 10600012 */ beqz $v1, .L80241860 +/* 833018 80241818 0000202D */ daddu $a0, $zero, $zero +/* 83301C 8024181C 8C620000 */ lw $v0, ($v1) +/* 833020 80241820 5040000A */ beql $v0, $zero, .L8024184C +/* 833024 80241824 00041080 */ sll $v0, $a0, 2 +/* 833028 80241828 3C058025 */ lui $a1, 0x8025 +/* 83302C 8024182C 24A51400 */ addiu $a1, $a1, 0x1400 +.L80241830: +/* 833030 80241830 24630004 */ addiu $v1, $v1, 4 +/* 833034 80241834 24840001 */ addiu $a0, $a0, 1 +/* 833038 80241838 ACA20000 */ sw $v0, ($a1) +/* 83303C 8024183C 8C620000 */ lw $v0, ($v1) +/* 833040 80241840 1440FFFB */ bnez $v0, .L80241830 +/* 833044 80241844 24A50004 */ addiu $a1, $a1, 4 +/* 833048 80241848 00041080 */ sll $v0, $a0, 2 +.L8024184C: +/* 83304C 8024184C 3C018025 */ lui $at, 0x8025 +/* 833050 80241850 00220821 */ addu $at, $at, $v0 +/* 833054 80241854 AC201400 */ sw $zero, 0x1400($at) +/* 833058 80241858 08090622 */ j .L80241888 +/* 83305C 8024185C 00000000 */ nop +.L80241860: +/* 833060 80241860 3C038025 */ lui $v1, 0x8025 +/* 833064 80241864 24631400 */ addiu $v1, $v1, 0x1400 +/* 833068 80241868 0060282D */ daddu $a1, $v1, $zero +.L8024186C: +/* 83306C 8024186C 24820010 */ addiu $v0, $a0, 0x10 +/* 833070 80241870 AC620000 */ sw $v0, ($v1) +/* 833074 80241874 24630004 */ addiu $v1, $v1, 4 +/* 833078 80241878 24840001 */ addiu $a0, $a0, 1 +/* 83307C 8024187C 28820070 */ slti $v0, $a0, 0x70 +/* 833080 80241880 1440FFFA */ bnez $v0, .L8024186C +/* 833084 80241884 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241888: +/* 833088 80241888 8FBF0010 */ lw $ra, 0x10($sp) +/* 83308C 8024188C 24020002 */ addiu $v0, $zero, 2 +/* 833090 80241890 03E00008 */ jr $ra +/* 833094 80241894 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241898.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241898.s new file mode 100644 index 0000000000..296afc840b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241898.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898 +/* 833098 80241898 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 83309C 8024189C AFB10014 */ sw $s1, 0x14($sp) +/* 8330A0 802418A0 0080882D */ daddu $s1, $a0, $zero +/* 8330A4 802418A4 AFBF0018 */ sw $ra, 0x18($sp) +/* 8330A8 802418A8 AFB00010 */ sw $s0, 0x10($sp) +/* 8330AC 802418AC 8E30000C */ lw $s0, 0xc($s1) +/* 8330B0 802418B0 8E050000 */ lw $a1, ($s0) +/* 8330B4 802418B4 0C0B1EAF */ jal get_variable +/* 8330B8 802418B8 26100004 */ addiu $s0, $s0, 4 +/* 8330BC 802418BC AE22008C */ sw $v0, 0x8c($s1) +/* 8330C0 802418C0 8E050000 */ lw $a1, ($s0) +/* 8330C4 802418C4 26100004 */ addiu $s0, $s0, 4 +/* 8330C8 802418C8 0C0B1EAF */ jal get_variable +/* 8330CC 802418CC 0220202D */ daddu $a0, $s1, $zero +/* 8330D0 802418D0 AE220090 */ sw $v0, 0x90($s1) +/* 8330D4 802418D4 8E050000 */ lw $a1, ($s0) +/* 8330D8 802418D8 26100004 */ addiu $s0, $s0, 4 +/* 8330DC 802418DC 0C0B1EAF */ jal get_variable +/* 8330E0 802418E0 0220202D */ daddu $a0, $s1, $zero +/* 8330E4 802418E4 AE220094 */ sw $v0, 0x94($s1) +/* 8330E8 802418E8 8E050000 */ lw $a1, ($s0) +/* 8330EC 802418EC 26100004 */ addiu $s0, $s0, 4 +/* 8330F0 802418F0 0C0B1EAF */ jal get_variable +/* 8330F4 802418F4 0220202D */ daddu $a0, $s1, $zero +/* 8330F8 802418F8 AE220098 */ sw $v0, 0x98($s1) +/* 8330FC 802418FC 8E050000 */ lw $a1, ($s0) +/* 833100 80241900 26100004 */ addiu $s0, $s0, 4 +/* 833104 80241904 0C0B1EAF */ jal get_variable +/* 833108 80241908 0220202D */ daddu $a0, $s1, $zero +/* 83310C 8024190C AE22009C */ sw $v0, 0x9c($s1) +/* 833110 80241910 8E050000 */ lw $a1, ($s0) +/* 833114 80241914 26100004 */ addiu $s0, $s0, 4 +/* 833118 80241918 0C0B1EAF */ jal get_variable +/* 83311C 8024191C 0220202D */ daddu $a0, $s1, $zero +/* 833120 80241920 AE2200A0 */ sw $v0, 0xa0($s1) +/* 833124 80241924 8E050000 */ lw $a1, ($s0) +/* 833128 80241928 26100004 */ addiu $s0, $s0, 4 +/* 83312C 8024192C 0C0B1EAF */ jal get_variable +/* 833130 80241930 0220202D */ daddu $a0, $s1, $zero +/* 833134 80241934 AE2200A4 */ sw $v0, 0xa4($s1) +/* 833138 80241938 8E050000 */ lw $a1, ($s0) +/* 83313C 8024193C 26100004 */ addiu $s0, $s0, 4 +/* 833140 80241940 0C0B1EAF */ jal get_variable +/* 833144 80241944 0220202D */ daddu $a0, $s1, $zero +/* 833148 80241948 AE2200A8 */ sw $v0, 0xa8($s1) +/* 83314C 8024194C 8E050000 */ lw $a1, ($s0) +/* 833150 80241950 26100004 */ addiu $s0, $s0, 4 +/* 833154 80241954 0C0B1EAF */ jal get_variable +/* 833158 80241958 0220202D */ daddu $a0, $s1, $zero +/* 83315C 8024195C AE2200AC */ sw $v0, 0xac($s1) +/* 833160 80241960 8E050000 */ lw $a1, ($s0) +/* 833164 80241964 0C0B1EAF */ jal get_variable +/* 833168 80241968 0220202D */ daddu $a0, $s1, $zero +/* 83316C 8024196C AE2200B0 */ sw $v0, 0xb0($s1) +/* 833170 80241970 8FBF0018 */ lw $ra, 0x18($sp) +/* 833174 80241974 8FB10014 */ lw $s1, 0x14($sp) +/* 833178 80241978 8FB00010 */ lw $s0, 0x10($sp) +/* 83317C 8024197C 24020002 */ addiu $v0, $zero, 2 +/* 833180 80241980 03E00008 */ jr $ra +/* 833184 80241984 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241988.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241988.s new file mode 100644 index 0000000000..2df681c1fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241988.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241988 +/* 833188 80241988 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 83318C 8024198C AFB1001C */ sw $s1, 0x1c($sp) +/* 833190 80241990 0080882D */ daddu $s1, $a0, $zero +/* 833194 80241994 AFBF0034 */ sw $ra, 0x34($sp) +/* 833198 80241998 AFB60030 */ sw $s6, 0x30($sp) +/* 83319C 8024199C AFB5002C */ sw $s5, 0x2c($sp) +/* 8331A0 802419A0 AFB40028 */ sw $s4, 0x28($sp) +/* 8331A4 802419A4 AFB30024 */ sw $s3, 0x24($sp) +/* 8331A8 802419A8 AFB20020 */ sw $s2, 0x20($sp) +/* 8331AC 802419AC AFB00018 */ sw $s0, 0x18($sp) +/* 8331B0 802419B0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8331B4 802419B4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8331B8 802419B8 8E30000C */ lw $s0, 0xc($s1) +/* 8331BC 802419BC 8E160000 */ lw $s6, ($s0) +/* 8331C0 802419C0 26100004 */ addiu $s0, $s0, 4 +/* 8331C4 802419C4 0C0B1EAF */ jal get_variable +/* 8331C8 802419C8 02C0282D */ daddu $a1, $s6, $zero +/* 8331CC 802419CC 44820000 */ mtc1 $v0, $f0 +/* 8331D0 802419D0 00000000 */ nop +/* 8331D4 802419D4 46800020 */ cvt.s.w $f0, $f0 +/* 8331D8 802419D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8331DC 802419DC 8E140000 */ lw $s4, ($s0) +/* 8331E0 802419E0 26100004 */ addiu $s0, $s0, 4 +/* 8331E4 802419E4 0220202D */ daddu $a0, $s1, $zero +/* 8331E8 802419E8 0C0B1EAF */ jal get_variable +/* 8331EC 802419EC 0280282D */ daddu $a1, $s4, $zero +/* 8331F0 802419F0 0220202D */ daddu $a0, $s1, $zero +/* 8331F4 802419F4 8E150000 */ lw $s5, ($s0) +/* 8331F8 802419F8 4482B000 */ mtc1 $v0, $f22 +/* 8331FC 802419FC 00000000 */ nop +/* 833200 80241A00 4680B5A0 */ cvt.s.w $f22, $f22 +/* 833204 80241A04 0C0B1EAF */ jal get_variable +/* 833208 80241A08 02A0282D */ daddu $a1, $s5, $zero +/* 83320C 80241A0C 2404FFFC */ addiu $a0, $zero, -4 +/* 833210 80241A10 44820000 */ mtc1 $v0, $f0 +/* 833214 80241A14 00000000 */ nop +/* 833218 80241A18 46800020 */ cvt.s.w $f0, $f0 +/* 83321C 80241A1C 0C00EABB */ jal get_npc_unsafe +/* 833220 80241A20 E7A00014 */ swc1 $f0, 0x14($sp) +/* 833224 80241A24 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 833228 80241A28 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 83322C 80241A2C 3C014334 */ lui $at, 0x4334 +/* 833230 80241A30 44816000 */ mtc1 $at, $f12 +/* 833234 80241A34 00041880 */ sll $v1, $a0, 2 +/* 833238 80241A38 00641821 */ addu $v1, $v1, $a0 +/* 83323C 80241A3C 00031880 */ sll $v1, $v1, 2 +/* 833240 80241A40 00641823 */ subu $v1, $v1, $a0 +/* 833244 80241A44 000320C0 */ sll $a0, $v1, 3 +/* 833248 80241A48 00641821 */ addu $v1, $v1, $a0 +/* 83324C 80241A4C 000318C0 */ sll $v1, $v1, 3 +/* 833250 80241A50 3C01800B */ lui $at, 0x800b +/* 833254 80241A54 00230821 */ addu $at, $at, $v1 +/* 833258 80241A58 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 83325C 80241A5C 460C0300 */ add.s $f12, $f0, $f12 +/* 833260 80241A60 0C00A6C9 */ jal clamp_angle +/* 833264 80241A64 0040982D */ daddu $s3, $v0, $zero +/* 833268 80241A68 27B00010 */ addiu $s0, $sp, 0x10 +/* 83326C 80241A6C 0200202D */ daddu $a0, $s0, $zero +/* 833270 80241A70 27B20014 */ addiu $s2, $sp, 0x14 +/* 833274 80241A74 0240282D */ daddu $a1, $s2, $zero +/* 833278 80241A78 3C064170 */ lui $a2, 0x4170 +/* 83327C 80241A7C 8E67000C */ lw $a3, 0xc($s3) +/* 833280 80241A80 0C00A7E7 */ jal add_vec2D_polar +/* 833284 80241A84 46000506 */ mov.s $f20, $f0 +/* 833288 80241A88 0200202D */ daddu $a0, $s0, $zero +/* 83328C 80241A8C 3C064120 */ lui $a2, 0x4120 +/* 833290 80241A90 4407A000 */ mfc1 $a3, $f20 +/* 833294 80241A94 0C00A7E7 */ jal add_vec2D_polar +/* 833298 80241A98 0240282D */ daddu $a1, $s2, $zero +/* 83329C 80241A9C 0220202D */ daddu $a0, $s1, $zero +/* 8332A0 80241AA0 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 8332A4 80241AA4 4600008D */ trunc.w.s $f2, $f0 +/* 8332A8 80241AA8 44061000 */ mfc1 $a2, $f2 +/* 8332AC 80241AAC 0C0B2026 */ jal set_variable +/* 8332B0 80241AB0 02C0282D */ daddu $a1, $s6, $zero +/* 8332B4 80241AB4 0220202D */ daddu $a0, $s1, $zero +/* 8332B8 80241AB8 4600B08D */ trunc.w.s $f2, $f22 +/* 8332BC 80241ABC 44061000 */ mfc1 $a2, $f2 +/* 8332C0 80241AC0 0C0B2026 */ jal set_variable +/* 8332C4 80241AC4 0280282D */ daddu $a1, $s4, $zero +/* 8332C8 80241AC8 0220202D */ daddu $a0, $s1, $zero +/* 8332CC 80241ACC C7A00014 */ lwc1 $f0, 0x14($sp) +/* 8332D0 80241AD0 4600008D */ trunc.w.s $f2, $f0 +/* 8332D4 80241AD4 44061000 */ mfc1 $a2, $f2 +/* 8332D8 80241AD8 0C0B2026 */ jal set_variable +/* 8332DC 80241ADC 02A0282D */ daddu $a1, $s5, $zero +/* 8332E0 80241AE0 8FBF0034 */ lw $ra, 0x34($sp) +/* 8332E4 80241AE4 8FB60030 */ lw $s6, 0x30($sp) +/* 8332E8 80241AE8 8FB5002C */ lw $s5, 0x2c($sp) +/* 8332EC 80241AEC 8FB40028 */ lw $s4, 0x28($sp) +/* 8332F0 80241AF0 8FB30024 */ lw $s3, 0x24($sp) +/* 8332F4 80241AF4 8FB20020 */ lw $s2, 0x20($sp) +/* 8332F8 80241AF8 8FB1001C */ lw $s1, 0x1c($sp) +/* 8332FC 80241AFC 8FB00018 */ lw $s0, 0x18($sp) +/* 833300 80241B00 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 833304 80241B04 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 833308 80241B08 24020002 */ addiu $v0, $zero, 2 +/* 83330C 80241B0C 03E00008 */ jr $ra +/* 833310 80241B10 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241B14_831800.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241B14_831800.s new file mode 100644 index 0000000000..d3389c39b4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241B14_831800.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B14_833314 +/* 833314 80241B14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833318 80241B18 AFB00010 */ sw $s0, 0x10($sp) +/* 83331C 80241B1C 0080802D */ daddu $s0, $a0, $zero +/* 833320 80241B20 AFBF0014 */ sw $ra, 0x14($sp) +/* 833324 80241B24 0C00EABB */ jal get_npc_unsafe +/* 833328 80241B28 8E04008C */ lw $a0, 0x8c($s0) +/* 83332C 80241B2C 0040282D */ daddu $a1, $v0, $zero +/* 833330 80241B30 8E040094 */ lw $a0, 0x94($s0) +/* 833334 80241B34 8CA30028 */ lw $v1, 0x28($a1) +/* 833338 80241B38 ACA40028 */ sw $a0, 0x28($a1) +/* 83333C 80241B3C 8FBF0014 */ lw $ra, 0x14($sp) +/* 833340 80241B40 8FB00010 */ lw $s0, 0x10($sp) +/* 833344 80241B44 24020002 */ addiu $v0, $zero, 2 +/* 833348 80241B48 3C018025 */ lui $at, 0x8025 +/* 83334C 80241B4C AC2315C4 */ sw $v1, 0x15c4($at) +/* 833350 80241B50 03E00008 */ jr $ra +/* 833354 80241B54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241B58.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241B58.s new file mode 100644 index 0000000000..82205df1ea --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241B58.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B58 +/* 833358 80241B58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 83335C 80241B5C AFBF0010 */ sw $ra, 0x10($sp) +/* 833360 80241B60 0C00EABB */ jal get_npc_unsafe +/* 833364 80241B64 8C84008C */ lw $a0, 0x8c($a0) +/* 833368 80241B68 3C038025 */ lui $v1, 0x8025 +/* 83336C 80241B6C 8C6315C4 */ lw $v1, 0x15c4($v1) +/* 833370 80241B70 AC430028 */ sw $v1, 0x28($v0) +/* 833374 80241B74 8FBF0010 */ lw $ra, 0x10($sp) +/* 833378 80241B78 24020002 */ addiu $v0, $zero, 2 +/* 83337C 80241B7C 03E00008 */ jr $ra +/* 833380 80241B80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241B84.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241B84.s new file mode 100644 index 0000000000..f161074cb0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241B84.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B84 +/* 833384 80241B84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833388 80241B88 AFB00010 */ sw $s0, 0x10($sp) +/* 83338C 80241B8C 0080802D */ daddu $s0, $a0, $zero +/* 833390 80241B90 3C05F5DE */ lui $a1, 0xf5de +/* 833394 80241B94 AFBF0014 */ sw $ra, 0x14($sp) +/* 833398 80241B98 0C0B1EAF */ jal get_variable +/* 83339C 80241B9C 34A5019D */ ori $a1, $a1, 0x19d +/* 8333A0 80241BA0 54400003 */ bnel $v0, $zero, .L80241BB0 +/* 8333A4 80241BA4 3C05F5DE */ lui $a1, 0xf5de +/* 8333A8 80241BA8 080906F0 */ j .L80241BC0 +/* 8333AC 80241BAC 2402FFFF */ addiu $v0, $zero, -1 +.L80241BB0: +/* 8333B0 80241BB0 34A5019D */ ori $a1, $a1, 0x19d +/* 8333B4 80241BB4 0200202D */ daddu $a0, $s0, $zero +/* 8333B8 80241BB8 0C0B1EAF */ jal get_variable +/* 8333BC 80241BBC 00452821 */ addu $a1, $v0, $a1 +.L80241BC0: +/* 8333C0 80241BC0 AE020084 */ sw $v0, 0x84($s0) +/* 8333C4 80241BC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 8333C8 80241BC8 8FB00010 */ lw $s0, 0x10($sp) +/* 8333CC 80241BCC 24020002 */ addiu $v0, $zero, 2 +/* 8333D0 80241BD0 03E00008 */ jr $ra +/* 8333D4 80241BD4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241BD8.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241BD8.s new file mode 100644 index 0000000000..d87d37f9a2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241BD8.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BD8 +/* 8333D8 80241BD8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8333DC 80241BDC AFB10014 */ sw $s1, 0x14($sp) +/* 8333E0 80241BE0 0080882D */ daddu $s1, $a0, $zero +/* 8333E4 80241BE4 3C05FD05 */ lui $a1, 0xfd05 +/* 8333E8 80241BE8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8333EC 80241BEC AFB3001C */ sw $s3, 0x1c($sp) +/* 8333F0 80241BF0 AFB20018 */ sw $s2, 0x18($sp) +/* 8333F4 80241BF4 AFB00010 */ sw $s0, 0x10($sp) +/* 8333F8 80241BF8 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8333FC 80241BFC F7B60030 */ sdc1 $f22, 0x30($sp) +/* 833400 80241C00 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 833404 80241C04 0C0B1EAF */ jal get_variable +/* 833408 80241C08 34A50F82 */ ori $a1, $a1, 0xf82 +/* 83340C 80241C0C 0220202D */ daddu $a0, $s1, $zero +/* 833410 80241C10 8E30000C */ lw $s0, 0xc($s1) +/* 833414 80241C14 0040982D */ daddu $s3, $v0, $zero +/* 833418 80241C18 8E050000 */ lw $a1, ($s0) +/* 83341C 80241C1C 0C0B1EAF */ jal get_variable +/* 833420 80241C20 26100004 */ addiu $s0, $s0, 4 +/* 833424 80241C24 8E050000 */ lw $a1, ($s0) +/* 833428 80241C28 26100004 */ addiu $s0, $s0, 4 +/* 83342C 80241C2C 0220202D */ daddu $a0, $s1, $zero +/* 833430 80241C30 0C0B1EAF */ jal get_variable +/* 833434 80241C34 0040902D */ daddu $s2, $v0, $zero +/* 833438 80241C38 8E050000 */ lw $a1, ($s0) +/* 83343C 80241C3C 26100004 */ addiu $s0, $s0, 4 +/* 833440 80241C40 4482C000 */ mtc1 $v0, $f24 +/* 833444 80241C44 00000000 */ nop +/* 833448 80241C48 4680C620 */ cvt.s.w $f24, $f24 +/* 83344C 80241C4C 0C0B1EAF */ jal get_variable +/* 833450 80241C50 0220202D */ daddu $a0, $s1, $zero +/* 833454 80241C54 8E050000 */ lw $a1, ($s0) +/* 833458 80241C58 26100004 */ addiu $s0, $s0, 4 +/* 83345C 80241C5C 4482B000 */ mtc1 $v0, $f22 +/* 833460 80241C60 00000000 */ nop +/* 833464 80241C64 4680B5A0 */ cvt.s.w $f22, $f22 +/* 833468 80241C68 0C0B1EAF */ jal get_variable +/* 83346C 80241C6C 0220202D */ daddu $a0, $s1, $zero +/* 833470 80241C70 8E050000 */ lw $a1, ($s0) +/* 833474 80241C74 4482A000 */ mtc1 $v0, $f20 +/* 833478 80241C78 00000000 */ nop +/* 83347C 80241C7C 4680A520 */ cvt.s.w $f20, $f20 +/* 833480 80241C80 0C0B1EAF */ jal get_variable +/* 833484 80241C84 0220202D */ daddu $a0, $s1, $zero +/* 833488 80241C88 8E63000C */ lw $v1, 0xc($s3) +/* 83348C 80241C8C 00129080 */ sll $s2, $s2, 2 +/* 833490 80241C90 00721821 */ addu $v1, $v1, $s2 +/* 833494 80241C94 E4780034 */ swc1 $f24, 0x34($v1) +/* 833498 80241C98 8E63000C */ lw $v1, 0xc($s3) +/* 83349C 80241C9C 00721821 */ addu $v1, $v1, $s2 +/* 8334A0 80241CA0 E4760060 */ swc1 $f22, 0x60($v1) +/* 8334A4 80241CA4 8E63000C */ lw $v1, 0xc($s3) +/* 8334A8 80241CA8 00721821 */ addu $v1, $v1, $s2 +/* 8334AC 80241CAC E474008C */ swc1 $f20, 0x8c($v1) +/* 8334B0 80241CB0 8E63000C */ lw $v1, 0xc($s3) +/* 8334B4 80241CB4 44820000 */ mtc1 $v0, $f0 +/* 8334B8 80241CB8 00000000 */ nop +/* 8334BC 80241CBC 46800020 */ cvt.s.w $f0, $f0 +/* 8334C0 80241CC0 00721821 */ addu $v1, $v1, $s2 +/* 8334C4 80241CC4 E46000B8 */ swc1 $f0, 0xb8($v1) +/* 8334C8 80241CC8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8334CC 80241CCC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8334D0 80241CD0 8FB20018 */ lw $s2, 0x18($sp) +/* 8334D4 80241CD4 8FB10014 */ lw $s1, 0x14($sp) +/* 8334D8 80241CD8 8FB00010 */ lw $s0, 0x10($sp) +/* 8334DC 80241CDC D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8334E0 80241CE0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8334E4 80241CE4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8334E8 80241CE8 24020002 */ addiu $v0, $zero, 2 +/* 8334EC 80241CEC 03E00008 */ jr $ra +/* 8334F0 80241CF0 27BD0040 */ addiu $sp, $sp, 0x40 +/* 8334F4 80241CF4 00000000 */ nop +/* 8334F8 80241CF8 00000000 */ nop +/* 8334FC 80241CFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241D00.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241D00.s new file mode 100644 index 0000000000..36d920a8fa --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241D00.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D00 +/* 833500 80241D00 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 833504 80241D04 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 833508 80241D08 4485A000 */ mtc1 $a1, $f20 +/* 83350C 80241D0C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 833510 80241D10 4486B000 */ mtc1 $a2, $f22 +/* 833514 80241D14 AFB00010 */ sw $s0, 0x10($sp) +/* 833518 80241D18 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 83351C 80241D1C 4487C000 */ mtc1 $a3, $f24 +/* 833520 80241D20 AFBF0014 */ sw $ra, 0x14($sp) +/* 833524 80241D24 0C019D28 */ jal guMtxIdentF +/* 833528 80241D28 0080802D */ daddu $s0, $a0, $zero +/* 83352C 80241D2C 4616A582 */ mul.s $f22, $f20, $f22 +/* 833530 80241D30 00000000 */ nop +/* 833534 80241D34 4618A502 */ mul.s $f20, $f20, $f24 +/* 833538 80241D38 00000000 */ nop +/* 83353C 80241D3C 3C013F80 */ lui $at, 0x3f80 +/* 833540 80241D40 44810000 */ mtc1 $at, $f0 +/* 833544 80241D44 00000000 */ nop +/* 833548 80241D48 E6000014 */ swc1 $f0, 0x14($s0) +/* 83354C 80241D4C E6160010 */ swc1 $f22, 0x10($s0) +/* 833550 80241D50 E6140018 */ swc1 $f20, 0x18($s0) +/* 833554 80241D54 8FBF0014 */ lw $ra, 0x14($sp) +/* 833558 80241D58 8FB00010 */ lw $s0, 0x10($sp) +/* 83355C 80241D5C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 833560 80241D60 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 833564 80241D64 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 833568 80241D68 03E00008 */ jr $ra +/* 83356C 80241D6C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241D70.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241D70.s new file mode 100644 index 0000000000..e59ce46d54 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241D70.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D70 +/* 833570 80241D70 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 833574 80241D74 AFB10054 */ sw $s1, 0x54($sp) +/* 833578 80241D78 0080882D */ daddu $s1, $a0, $zero +/* 83357C 80241D7C AFBF005C */ sw $ra, 0x5c($sp) +/* 833580 80241D80 AFB20058 */ sw $s2, 0x58($sp) +/* 833584 80241D84 AFB00050 */ sw $s0, 0x50($sp) +/* 833588 80241D88 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 83358C 80241D8C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 833590 80241D90 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 833594 80241D94 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 833598 80241D98 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 83359C 80241D9C 8E30000C */ lw $s0, 0xc($s1) +/* 8335A0 80241DA0 8E050000 */ lw $a1, ($s0) +/* 8335A4 80241DA4 0C0B1EAF */ jal get_variable +/* 8335A8 80241DA8 26100004 */ addiu $s0, $s0, 4 +/* 8335AC 80241DAC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8335B0 80241DB0 0040202D */ daddu $a0, $v0, $zero +/* 8335B4 80241DB4 8E050000 */ lw $a1, ($s0) +/* 8335B8 80241DB8 26100004 */ addiu $s0, $s0, 4 +/* 8335BC 80241DBC 0220202D */ daddu $a0, $s1, $zero +/* 8335C0 80241DC0 0C0B210B */ jal get_float_variable +/* 8335C4 80241DC4 0040902D */ daddu $s2, $v0, $zero +/* 8335C8 80241DC8 8E050000 */ lw $a1, ($s0) +/* 8335CC 80241DCC 26100004 */ addiu $s0, $s0, 4 +/* 8335D0 80241DD0 0220202D */ daddu $a0, $s1, $zero +/* 8335D4 80241DD4 0C0B210B */ jal get_float_variable +/* 8335D8 80241DD8 46000706 */ mov.s $f28, $f0 +/* 8335DC 80241DDC 8E050000 */ lw $a1, ($s0) +/* 8335E0 80241DE0 26100004 */ addiu $s0, $s0, 4 +/* 8335E4 80241DE4 0220202D */ daddu $a0, $s1, $zero +/* 8335E8 80241DE8 0C0B210B */ jal get_float_variable +/* 8335EC 80241DEC 46000686 */ mov.s $f26, $f0 +/* 8335F0 80241DF0 0220202D */ daddu $a0, $s1, $zero +/* 8335F4 80241DF4 8E050000 */ lw $a1, ($s0) +/* 8335F8 80241DF8 0C0B210B */ jal get_float_variable +/* 8335FC 80241DFC 46000586 */ mov.s $f22, $f0 +/* 833600 80241E00 0240202D */ daddu $a0, $s2, $zero +/* 833604 80241E04 0C046B4C */ jal get_model_from_list_index +/* 833608 80241E08 46000606 */ mov.s $f24, $f0 +/* 83360C 80241E0C 0040882D */ daddu $s1, $v0, $zero +/* 833610 80241E10 96220000 */ lhu $v0, ($s1) +/* 833614 80241E14 30420400 */ andi $v0, $v0, 0x400 +/* 833618 80241E18 1440001E */ bnez $v0, .L80241E94 +/* 83361C 80241E1C 26300058 */ addiu $s0, $s1, 0x58 +/* 833620 80241E20 4480A000 */ mtc1 $zero, $f20 +/* 833624 80241E24 4406B000 */ mfc1 $a2, $f22 +/* 833628 80241E28 4405A000 */ mfc1 $a1, $f20 +/* 83362C 80241E2C 4407A000 */ mfc1 $a3, $f20 +/* 833630 80241E30 0C019E40 */ jal guTranslateF +/* 833634 80241E34 0200202D */ daddu $a0, $s0, $zero +/* 833638 80241E38 4405E000 */ mfc1 $a1, $f28 +/* 83363C 80241E3C 4406D000 */ mfc1 $a2, $f26 +/* 833640 80241E40 4407C000 */ mfc1 $a3, $f24 +/* 833644 80241E44 0C090740 */ jal func_80241D00 +/* 833648 80241E48 27A40010 */ addiu $a0, $sp, 0x10 +/* 83364C 80241E4C 27A40010 */ addiu $a0, $sp, 0x10 +/* 833650 80241E50 0200282D */ daddu $a1, $s0, $zero +/* 833654 80241E54 0C019D80 */ jal guMtxCatF +/* 833658 80241E58 0200302D */ daddu $a2, $s0, $zero +/* 83365C 80241E5C 27A40010 */ addiu $a0, $sp, 0x10 +/* 833660 80241E60 4600B587 */ neg.s $f22, $f22 +/* 833664 80241E64 4405A000 */ mfc1 $a1, $f20 +/* 833668 80241E68 4406B000 */ mfc1 $a2, $f22 +/* 83366C 80241E6C 0C019E40 */ jal guTranslateF +/* 833670 80241E70 00A0382D */ daddu $a3, $a1, $zero +/* 833674 80241E74 27A40010 */ addiu $a0, $sp, 0x10 +/* 833678 80241E78 0200282D */ daddu $a1, $s0, $zero +/* 83367C 80241E7C 0C019D80 */ jal guMtxCatF +/* 833680 80241E80 00A0302D */ daddu $a2, $a1, $zero +/* 833684 80241E84 96220000 */ lhu $v0, ($s1) +/* 833688 80241E88 34421400 */ ori $v0, $v0, 0x1400 +/* 83368C 80241E8C 080907C3 */ j .L80241F0C +/* 833690 80241E90 A6220000 */ sh $v0, ($s1) +.L80241E94: +/* 833694 80241E94 4480A000 */ mtc1 $zero, $f20 +/* 833698 80241E98 4406B000 */ mfc1 $a2, $f22 +/* 83369C 80241E9C 4405A000 */ mfc1 $a1, $f20 +/* 8336A0 80241EA0 4407A000 */ mfc1 $a3, $f20 +/* 8336A4 80241EA4 0C019E40 */ jal guTranslateF +/* 8336A8 80241EA8 27A40010 */ addiu $a0, $sp, 0x10 +/* 8336AC 80241EAC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8336B0 80241EB0 26300058 */ addiu $s0, $s1, 0x58 +/* 8336B4 80241EB4 0200282D */ daddu $a1, $s0, $zero +/* 8336B8 80241EB8 0C019D80 */ jal guMtxCatF +/* 8336BC 80241EBC 0200302D */ daddu $a2, $s0, $zero +/* 8336C0 80241EC0 4405E000 */ mfc1 $a1, $f28 +/* 8336C4 80241EC4 4406D000 */ mfc1 $a2, $f26 +/* 8336C8 80241EC8 4407C000 */ mfc1 $a3, $f24 +/* 8336CC 80241ECC 0C090740 */ jal func_80241D00 +/* 8336D0 80241ED0 27A40010 */ addiu $a0, $sp, 0x10 +/* 8336D4 80241ED4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8336D8 80241ED8 0200282D */ daddu $a1, $s0, $zero +/* 8336DC 80241EDC 0C019D80 */ jal guMtxCatF +/* 8336E0 80241EE0 0200302D */ daddu $a2, $s0, $zero +/* 8336E4 80241EE4 27A40010 */ addiu $a0, $sp, 0x10 +/* 8336E8 80241EE8 4600B587 */ neg.s $f22, $f22 +/* 8336EC 80241EEC 4405A000 */ mfc1 $a1, $f20 +/* 8336F0 80241EF0 4406B000 */ mfc1 $a2, $f22 +/* 8336F4 80241EF4 0C019E40 */ jal guTranslateF +/* 8336F8 80241EF8 00A0382D */ daddu $a3, $a1, $zero +/* 8336FC 80241EFC 27A40010 */ addiu $a0, $sp, 0x10 +/* 833700 80241F00 0200282D */ daddu $a1, $s0, $zero +/* 833704 80241F04 0C019D80 */ jal guMtxCatF +/* 833708 80241F08 00A0302D */ daddu $a2, $a1, $zero +.L80241F0C: +/* 83370C 80241F0C 8FBF005C */ lw $ra, 0x5c($sp) +/* 833710 80241F10 8FB20058 */ lw $s2, 0x58($sp) +/* 833714 80241F14 8FB10054 */ lw $s1, 0x54($sp) +/* 833718 80241F18 8FB00050 */ lw $s0, 0x50($sp) +/* 83371C 80241F1C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 833720 80241F20 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 833724 80241F24 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 833728 80241F28 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 83372C 80241F2C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 833730 80241F30 24020002 */ addiu $v0, $zero, 2 +/* 833734 80241F34 03E00008 */ jr $ra +/* 833738 80241F38 27BD0088 */ addiu $sp, $sp, 0x88 +/* 83373C 80241F3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241F40.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241F40.s new file mode 100644 index 0000000000..159eb4ec3f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241F40.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F40 +/* 833740 80241F40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833744 80241F44 AFBF0010 */ sw $ra, 0x10($sp) +/* 833748 80241F48 8C82000C */ lw $v0, 0xc($a0) +/* 83374C 80241F4C 3C068016 */ lui $a2, 0x8016 +/* 833750 80241F50 84C6A552 */ lh $a2, -0x5aae($a2) +/* 833754 80241F54 0C0B2026 */ jal set_variable +/* 833758 80241F58 8C450000 */ lw $a1, ($v0) +/* 83375C 80241F5C 8FBF0010 */ lw $ra, 0x10($sp) +/* 833760 80241F60 24020002 */ addiu $v0, $zero, 2 +/* 833764 80241F64 03E00008 */ jr $ra +/* 833768 80241F68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241F6C.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241F6C.s new file mode 100644 index 0000000000..3d496755b9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241F6C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F6C +/* 83376C 80241F6C 3C028011 */ lui $v0, 0x8011 +/* 833770 80241F70 8442F29C */ lh $v0, -0xd64($v0) +/* 833774 80241F74 AC820084 */ sw $v0, 0x84($a0) +/* 833778 80241F78 03E00008 */ jr $ra +/* 83377C 80241F7C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241F80.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241F80.s new file mode 100644 index 0000000000..b7836bd755 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241F80.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F80 +/* 833780 80241F80 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833784 80241F84 AFBF0010 */ sw $ra, 0x10($sp) +/* 833788 80241F88 0C03A5B2 */ jal func_800E96C8 +/* 83378C 80241F8C 00000000 */ nop +/* 833790 80241F90 8FBF0010 */ lw $ra, 0x10($sp) +/* 833794 80241F94 24020002 */ addiu $v0, $zero, 2 +/* 833798 80241F98 03E00008 */ jr $ra +/* 83379C 80241F9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80241FA0.s b/asm/nonmatchings/world/area_mac/mac_03/func_80241FA0.s new file mode 100644 index 0000000000..1b0a839023 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80241FA0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FA0 +/* 8337A0 80241FA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8337A4 80241FA4 AFB00010 */ sw $s0, 0x10($sp) +/* 8337A8 80241FA8 0080802D */ daddu $s0, $a0, $zero +/* 8337AC 80241FAC 3C030DB5 */ lui $v1, 0xdb5 +/* 8337B0 80241FB0 34638580 */ ori $v1, $v1, 0x8580 +/* 8337B4 80241FB4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8337B8 80241FB8 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 8337BC 80241FBC F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8337C0 80241FC0 8E02008C */ lw $v0, 0x8c($s0) +/* 8337C4 80241FC4 3C013A80 */ lui $at, 0x3a80 +/* 8337C8 80241FC8 44816000 */ mtc1 $at, $f12 +/* 8337CC 80241FCC 00431021 */ addu $v0, $v0, $v1 +/* 8337D0 80241FD0 4482B000 */ mtc1 $v0, $f22 +/* 8337D4 80241FD4 00000000 */ nop +/* 8337D8 80241FD8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8337DC 80241FDC 460CB302 */ mul.s $f12, $f22, $f12 +/* 8337E0 80241FE0 0C00A6C9 */ jal clamp_angle +/* 8337E4 80241FE4 00000000 */ nop +/* 8337E8 80241FE8 46000586 */ mov.s $f22, $f0 +/* 8337EC 80241FEC 3C0142DC */ lui $at, 0x42dc +/* 8337F0 80241FF0 4481A000 */ mtc1 $at, $f20 +/* 8337F4 80241FF4 0C00A8BB */ jal sin_deg +/* 8337F8 80241FF8 4600B306 */ mov.s $f12, $f22 +/* 8337FC 80241FFC 46140002 */ mul.s $f0, $f0, $f20 +/* 833800 80242000 00000000 */ nop +/* 833804 80242004 3C014327 */ lui $at, 0x4327 +/* 833808 80242008 44811000 */ mtc1 $at, $f2 +/* 83380C 8024200C 00000000 */ nop +/* 833810 80242010 46020000 */ add.s $f0, $f0, $f2 +/* 833814 80242014 24020055 */ addiu $v0, $zero, 0x55 +/* 833818 80242018 AE020090 */ sw $v0, 0x90($s0) +/* 83381C 8024201C 4600010D */ trunc.w.s $f4, $f0 +/* 833820 80242020 E604008C */ swc1 $f4, 0x8c($s0) +/* 833824 80242024 0C00A8D4 */ jal cos_deg +/* 833828 80242028 4600B306 */ mov.s $f12, $f22 +/* 83382C 8024202C 46140002 */ mul.s $f0, $f0, $f20 +/* 833830 80242030 00000000 */ nop +/* 833834 80242034 3C01C3AB */ lui $at, 0xc3ab +/* 833838 80242038 3421E000 */ ori $at, $at, 0xe000 +/* 83383C 8024203C 44811000 */ mtc1 $at, $f2 +/* 833840 80242040 00000000 */ nop +/* 833844 80242044 46001081 */ sub.s $f2, $f2, $f0 +/* 833848 80242048 4600110D */ trunc.w.s $f4, $f2 +/* 83384C 8024204C E6040094 */ swc1 $f4, 0x94($s0) +/* 833850 80242050 8FBF0014 */ lw $ra, 0x14($sp) +/* 833854 80242054 8FB00010 */ lw $s0, 0x10($sp) +/* 833858 80242058 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 83385C 8024205C D7B40018 */ ldc1 $f20, 0x18($sp) +/* 833860 80242060 24020002 */ addiu $v0, $zero, 2 +/* 833864 80242064 03E00008 */ jr $ra +/* 833868 80242068 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_8024206C.s b/asm/nonmatchings/world/area_mac/mac_03/func_8024206C.s new file mode 100644 index 0000000000..9cfe1e28eb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_8024206C.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024206C +/* 83386C 8024206C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 833870 80242070 AFB00018 */ sw $s0, 0x18($sp) +/* 833874 80242074 0080802D */ daddu $s0, $a0, $zero +/* 833878 80242078 AFB40028 */ sw $s4, 0x28($sp) +/* 83387C 8024207C 3C14F5DE */ lui $s4, 0xf5de +/* 833880 80242080 3694019E */ ori $s4, $s4, 0x19e +/* 833884 80242084 0000202D */ daddu $a0, $zero, $zero +/* 833888 80242088 3C05F5DE */ lui $a1, 0xf5de +/* 83388C 8024208C AFBF0030 */ sw $ra, 0x30($sp) +/* 833890 80242090 AFB5002C */ sw $s5, 0x2c($sp) +/* 833894 80242094 AFB30024 */ sw $s3, 0x24($sp) +/* 833898 80242098 AFB20020 */ sw $s2, 0x20($sp) +/* 83389C 8024209C AFB1001C */ sw $s1, 0x1c($sp) +/* 8338A0 802420A0 F7B80048 */ sdc1 $f24, 0x48($sp) +/* 8338A4 802420A4 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8338A8 802420A8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8338AC 802420AC 0C0B1EAF */ jal get_variable +/* 8338B0 802420B0 34A5019D */ ori $a1, $a1, 0x19d +/* 8338B4 802420B4 0000202D */ daddu $a0, $zero, $zero +/* 8338B8 802420B8 44800000 */ mtc1 $zero, $f0 +/* 8338BC 802420BC 0080882D */ daddu $s1, $a0, $zero +/* 8338C0 802420C0 44050000 */ mfc1 $a1, $f0 +/* 8338C4 802420C4 0040982D */ daddu $s3, $v0, $zero +/* 8338C8 802420C8 AFA00014 */ sw $zero, 0x14($sp) +/* 8338CC 802420CC 00A0302D */ daddu $a2, $a1, $zero +/* 8338D0 802420D0 00A0382D */ daddu $a3, $a1, $zero +/* 8338D4 802420D4 0C01C9C4 */ jal func_80072710 +/* 8338D8 802420D8 AFA50010 */ sw $a1, 0x10($sp) +/* 8338DC 802420DC 0200202D */ daddu $a0, $s0, $zero +/* 8338E0 802420E0 3C05FD05 */ lui $a1, 0xfd05 +/* 8338E4 802420E4 34A50F82 */ ori $a1, $a1, 0xf82 +/* 8338E8 802420E8 0040802D */ daddu $s0, $v0, $zero +/* 8338EC 802420EC 0C0B2026 */ jal set_variable +/* 8338F0 802420F0 0200302D */ daddu $a2, $s0, $zero +/* 8338F4 802420F4 1A60002F */ blez $s3, .L802421B4 +/* 8338F8 802420F8 24150002 */ addiu $s5, $zero, 2 +/* 8338FC 802420FC 2412012C */ addiu $s2, $zero, 0x12c +/* 833900 80242100 3C0141A0 */ lui $at, 0x41a0 +/* 833904 80242104 4481C000 */ mtc1 $at, $f24 +/* 833908 80242108 3C01C334 */ lui $at, 0xc334 +/* 83390C 8024210C 4481B000 */ mtc1 $at, $f22 +/* 833910 80242110 3C014387 */ lui $at, 0x4387 +/* 833914 80242114 4481A000 */ mtc1 $at, $f20 +.L80242118: +/* 833918 80242118 0000202D */ daddu $a0, $zero, $zero +/* 83391C 8024211C 0C0B1EAF */ jal get_variable +/* 833920 80242120 02912821 */ addu $a1, $s4, $s1 +/* 833924 80242124 8E03000C */ lw $v1, 0xc($s0) +/* 833928 80242128 00112080 */ sll $a0, $s1, 2 +/* 83392C 8024212C 00711821 */ addu $v1, $v1, $s1 +/* 833930 80242130 A06200E4 */ sb $v0, 0xe4($v1) +/* 833934 80242134 8E02000C */ lw $v0, 0xc($s0) +/* 833938 80242138 44920000 */ mtc1 $s2, $f0 +/* 83393C 8024213C 00000000 */ nop +/* 833940 80242140 46800020 */ cvt.s.w $f0, $f0 +/* 833944 80242144 00441021 */ addu $v0, $v0, $a0 +/* 833948 80242148 E4400034 */ swc1 $f0, 0x34($v0) +/* 83394C 8024214C 8E02000C */ lw $v0, 0xc($s0) +/* 833950 80242150 00441021 */ addu $v0, $v0, $a0 +/* 833954 80242154 E4580060 */ swc1 $f24, 0x60($v0) +/* 833958 80242158 8E02000C */ lw $v0, 0xc($s0) +/* 83395C 8024215C 00441021 */ addu $v0, $v0, $a0 +/* 833960 80242160 E456008C */ swc1 $f22, 0x8c($v0) +/* 833964 80242164 8E02000C */ lw $v0, 0xc($s0) +/* 833968 80242168 00441021 */ addu $v0, $v0, $a0 +/* 83396C 8024216C E45400B8 */ swc1 $f20, 0xb8($v0) +/* 833970 80242170 8E03000C */ lw $v1, 0xc($s0) +/* 833974 80242174 00641821 */ addu $v1, $v1, $a0 +/* 833978 80242178 8C620008 */ lw $v0, 8($v1) +/* 83397C 8024217C 34420001 */ ori $v0, $v0, 1 +/* 833980 80242180 AC620008 */ sw $v0, 8($v1) +/* 833984 80242184 8E03000C */ lw $v1, 0xc($s0) +/* 833988 80242188 00641821 */ addu $v1, $v1, $a0 +/* 83398C 8024218C 8C620008 */ lw $v0, 8($v1) +/* 833990 80242190 34420002 */ ori $v0, $v0, 2 +/* 833994 80242194 AC620008 */ sw $v0, 8($v1) +/* 833998 80242198 8E02000C */ lw $v0, 0xc($s0) +/* 83399C 8024219C 00511021 */ addu $v0, $v0, $s1 +/* 8339A0 802421A0 26310001 */ addiu $s1, $s1, 1 +/* 8339A4 802421A4 A05500EF */ sb $s5, 0xef($v0) +/* 8339A8 802421A8 0233102A */ slt $v0, $s1, $s3 +/* 8339AC 802421AC 1440FFDA */ bnez $v0, .L80242118 +/* 8339B0 802421B0 2652001E */ addiu $s2, $s2, 0x1e +.L802421B4: +/* 8339B4 802421B4 8FBF0030 */ lw $ra, 0x30($sp) +/* 8339B8 802421B8 8FB5002C */ lw $s5, 0x2c($sp) +/* 8339BC 802421BC 8FB40028 */ lw $s4, 0x28($sp) +/* 8339C0 802421C0 8FB30024 */ lw $s3, 0x24($sp) +/* 8339C4 802421C4 8FB20020 */ lw $s2, 0x20($sp) +/* 8339C8 802421C8 8FB1001C */ lw $s1, 0x1c($sp) +/* 8339CC 802421CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8339D0 802421D0 D7B80048 */ ldc1 $f24, 0x48($sp) +/* 8339D4 802421D4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 8339D8 802421D8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8339DC 802421DC 24020002 */ addiu $v0, $zero, 2 +/* 8339E0 802421E0 03E00008 */ jr $ra +/* 8339E4 802421E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802421E8.s b/asm/nonmatchings/world/area_mac/mac_03/func_802421E8.s new file mode 100644 index 0000000000..6f2f97ac21 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802421E8.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421E8 +/* 8339E8 802421E8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8339EC 802421EC AFB20018 */ sw $s2, 0x18($sp) +/* 8339F0 802421F0 0080902D */ daddu $s2, $a0, $zero +/* 8339F4 802421F4 3C05FD05 */ lui $a1, 0xfd05 +/* 8339F8 802421F8 AFBF0024 */ sw $ra, 0x24($sp) +/* 8339FC 802421FC AFB40020 */ sw $s4, 0x20($sp) +/* 833A00 80242200 AFB3001C */ sw $s3, 0x1c($sp) +/* 833A04 80242204 AFB10014 */ sw $s1, 0x14($sp) +/* 833A08 80242208 AFB00010 */ sw $s0, 0x10($sp) +/* 833A0C 8024220C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 833A10 80242210 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 833A14 80242214 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 833A18 80242218 0C0B1EAF */ jal get_variable +/* 833A1C 8024221C 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833A20 80242220 0240202D */ daddu $a0, $s2, $zero +/* 833A24 80242224 8E50000C */ lw $s0, 0xc($s2) +/* 833A28 80242228 0040882D */ daddu $s1, $v0, $zero +/* 833A2C 8024222C 8E050000 */ lw $a1, ($s0) +/* 833A30 80242230 0C0B1EAF */ jal get_variable +/* 833A34 80242234 26100004 */ addiu $s0, $s0, 4 +/* 833A38 80242238 8E050000 */ lw $a1, ($s0) +/* 833A3C 8024223C 26100004 */ addiu $s0, $s0, 4 +/* 833A40 80242240 0240202D */ daddu $a0, $s2, $zero +/* 833A44 80242244 0C0B1EAF */ jal get_variable +/* 833A48 80242248 0040982D */ daddu $s3, $v0, $zero +/* 833A4C 8024224C 8E050000 */ lw $a1, ($s0) +/* 833A50 80242250 26100004 */ addiu $s0, $s0, 4 +/* 833A54 80242254 0240202D */ daddu $a0, $s2, $zero +/* 833A58 80242258 0C0B1EAF */ jal get_variable +/* 833A5C 8024225C 0040A02D */ daddu $s4, $v0, $zero +/* 833A60 80242260 8E050000 */ lw $a1, ($s0) +/* 833A64 80242264 26100004 */ addiu $s0, $s0, 4 +/* 833A68 80242268 4482C000 */ mtc1 $v0, $f24 +/* 833A6C 8024226C 00000000 */ nop +/* 833A70 80242270 4680C620 */ cvt.s.w $f24, $f24 +/* 833A74 80242274 0C0B1EAF */ jal get_variable +/* 833A78 80242278 0240202D */ daddu $a0, $s2, $zero +/* 833A7C 8024227C 8E050000 */ lw $a1, ($s0) +/* 833A80 80242280 26100004 */ addiu $s0, $s0, 4 +/* 833A84 80242284 4482B000 */ mtc1 $v0, $f22 +/* 833A88 80242288 00000000 */ nop +/* 833A8C 8024228C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 833A90 80242290 0C0B1EAF */ jal get_variable +/* 833A94 80242294 0240202D */ daddu $a0, $s2, $zero +/* 833A98 80242298 8E050000 */ lw $a1, ($s0) +/* 833A9C 8024229C 4482A000 */ mtc1 $v0, $f20 +/* 833AA0 802422A0 00000000 */ nop +/* 833AA4 802422A4 4680A520 */ cvt.s.w $f20, $f20 +/* 833AA8 802422A8 0C0B1EAF */ jal get_variable +/* 833AAC 802422AC 0240202D */ daddu $a0, $s2, $zero +/* 833AB0 802422B0 8E23000C */ lw $v1, 0xc($s1) +/* 833AB4 802422B4 00731821 */ addu $v1, $v1, $s3 +/* 833AB8 802422B8 A07400E4 */ sb $s4, 0xe4($v1) +/* 833ABC 802422BC 8E23000C */ lw $v1, 0xc($s1) +/* 833AC0 802422C0 00132080 */ sll $a0, $s3, 2 +/* 833AC4 802422C4 00641821 */ addu $v1, $v1, $a0 +/* 833AC8 802422C8 E4780034 */ swc1 $f24, 0x34($v1) +/* 833ACC 802422CC 8E23000C */ lw $v1, 0xc($s1) +/* 833AD0 802422D0 00641821 */ addu $v1, $v1, $a0 +/* 833AD4 802422D4 E4760060 */ swc1 $f22, 0x60($v1) +/* 833AD8 802422D8 8E23000C */ lw $v1, 0xc($s1) +/* 833ADC 802422DC 00641821 */ addu $v1, $v1, $a0 +/* 833AE0 802422E0 E474008C */ swc1 $f20, 0x8c($v1) +/* 833AE4 802422E4 8E23000C */ lw $v1, 0xc($s1) +/* 833AE8 802422E8 44820000 */ mtc1 $v0, $f0 +/* 833AEC 802422EC 00000000 */ nop +/* 833AF0 802422F0 46800020 */ cvt.s.w $f0, $f0 +/* 833AF4 802422F4 00641821 */ addu $v1, $v1, $a0 +/* 833AF8 802422F8 E46000B8 */ swc1 $f0, 0xb8($v1) +/* 833AFC 802422FC 8E23000C */ lw $v1, 0xc($s1) +/* 833B00 80242300 00641821 */ addu $v1, $v1, $a0 +/* 833B04 80242304 8C620008 */ lw $v0, 8($v1) +/* 833B08 80242308 34420001 */ ori $v0, $v0, 1 +/* 833B0C 8024230C AC620008 */ sw $v0, 8($v1) +/* 833B10 80242310 2402000A */ addiu $v0, $zero, 0xa +/* 833B14 80242314 1262000F */ beq $s3, $v0, .L80242354 +/* 833B18 80242318 3C05F5DE */ lui $a1, 0xf5de +/* 833B1C 8024231C 34A5019E */ ori $a1, $a1, 0x19e +/* 833B20 80242320 02652821 */ addu $a1, $s3, $a1 +/* 833B24 80242324 8E23000C */ lw $v1, 0xc($s1) +/* 833B28 80242328 0280302D */ daddu $a2, $s4, $zero +/* 833B2C 8024232C 00641821 */ addu $v1, $v1, $a0 +/* 833B30 80242330 8C620008 */ lw $v0, 8($v1) +/* 833B34 80242334 0240202D */ daddu $a0, $s2, $zero +/* 833B38 80242338 34420002 */ ori $v0, $v0, 2 +/* 833B3C 8024233C AC620008 */ sw $v0, 8($v1) +/* 833B40 80242340 8E22000C */ lw $v0, 0xc($s1) +/* 833B44 80242344 24030002 */ addiu $v1, $zero, 2 +/* 833B48 80242348 00531021 */ addu $v0, $v0, $s3 +/* 833B4C 8024234C 0C0B2026 */ jal set_variable +/* 833B50 80242350 A04300EF */ sb $v1, 0xef($v0) +.L80242354: +/* 833B54 80242354 8FBF0024 */ lw $ra, 0x24($sp) +/* 833B58 80242358 8FB40020 */ lw $s4, 0x20($sp) +/* 833B5C 8024235C 8FB3001C */ lw $s3, 0x1c($sp) +/* 833B60 80242360 8FB20018 */ lw $s2, 0x18($sp) +/* 833B64 80242364 8FB10014 */ lw $s1, 0x14($sp) +/* 833B68 80242368 8FB00010 */ lw $s0, 0x10($sp) +/* 833B6C 8024236C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 833B70 80242370 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 833B74 80242374 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 833B78 80242378 24020002 */ addiu $v0, $zero, 2 +/* 833B7C 8024237C 03E00008 */ jr $ra +/* 833B80 80242380 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80242384.s b/asm/nonmatchings/world/area_mac/mac_03/func_80242384.s new file mode 100644 index 0000000000..70ae0eab7b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80242384.s @@ -0,0 +1,75 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242384 +/* 833B84 80242384 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 833B88 80242388 AFB10014 */ sw $s1, 0x14($sp) +/* 833B8C 8024238C 0080882D */ daddu $s1, $a0, $zero +/* 833B90 80242390 3C05FD05 */ lui $a1, 0xfd05 +/* 833B94 80242394 AFBF0020 */ sw $ra, 0x20($sp) +/* 833B98 80242398 AFB3001C */ sw $s3, 0x1c($sp) +/* 833B9C 8024239C AFB20018 */ sw $s2, 0x18($sp) +/* 833BA0 802423A0 AFB00010 */ sw $s0, 0x10($sp) +/* 833BA4 802423A4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 833BA8 802423A8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 833BAC 802423AC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 833BB0 802423B0 0C0B1EAF */ jal get_variable +/* 833BB4 802423B4 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833BB8 802423B8 0220202D */ daddu $a0, $s1, $zero +/* 833BBC 802423BC 8E30000C */ lw $s0, 0xc($s1) +/* 833BC0 802423C0 0040982D */ daddu $s3, $v0, $zero +/* 833BC4 802423C4 8E050000 */ lw $a1, ($s0) +/* 833BC8 802423C8 0C0B1EAF */ jal get_variable +/* 833BCC 802423CC 26100004 */ addiu $s0, $s0, 4 +/* 833BD0 802423D0 8E050000 */ lw $a1, ($s0) +/* 833BD4 802423D4 26100004 */ addiu $s0, $s0, 4 +/* 833BD8 802423D8 0220202D */ daddu $a0, $s1, $zero +/* 833BDC 802423DC 0C0B1EAF */ jal get_variable +/* 833BE0 802423E0 0040902D */ daddu $s2, $v0, $zero +/* 833BE4 802423E4 8E050000 */ lw $a1, ($s0) +/* 833BE8 802423E8 26100004 */ addiu $s0, $s0, 4 +/* 833BEC 802423EC 4482C000 */ mtc1 $v0, $f24 +/* 833BF0 802423F0 00000000 */ nop +/* 833BF4 802423F4 4680C620 */ cvt.s.w $f24, $f24 +/* 833BF8 802423F8 0C0B1EAF */ jal get_variable +/* 833BFC 802423FC 0220202D */ daddu $a0, $s1, $zero +/* 833C00 80242400 8E050000 */ lw $a1, ($s0) +/* 833C04 80242404 26100004 */ addiu $s0, $s0, 4 +/* 833C08 80242408 4482B000 */ mtc1 $v0, $f22 +/* 833C0C 8024240C 00000000 */ nop +/* 833C10 80242410 4680B5A0 */ cvt.s.w $f22, $f22 +/* 833C14 80242414 0C0B1EAF */ jal get_variable +/* 833C18 80242418 0220202D */ daddu $a0, $s1, $zero +/* 833C1C 8024241C 8E050000 */ lw $a1, ($s0) +/* 833C20 80242420 4482A000 */ mtc1 $v0, $f20 +/* 833C24 80242424 00000000 */ nop +/* 833C28 80242428 4680A520 */ cvt.s.w $f20, $f20 +/* 833C2C 8024242C 0C0B1EAF */ jal get_variable +/* 833C30 80242430 0220202D */ daddu $a0, $s1, $zero +/* 833C34 80242434 8E63000C */ lw $v1, 0xc($s3) +/* 833C38 80242438 00129080 */ sll $s2, $s2, 2 +/* 833C3C 8024243C 00721821 */ addu $v1, $v1, $s2 +/* 833C40 80242440 E4780034 */ swc1 $f24, 0x34($v1) +/* 833C44 80242444 8E63000C */ lw $v1, 0xc($s3) +/* 833C48 80242448 00721821 */ addu $v1, $v1, $s2 +/* 833C4C 8024244C E4760060 */ swc1 $f22, 0x60($v1) +/* 833C50 80242450 8E63000C */ lw $v1, 0xc($s3) +/* 833C54 80242454 00721821 */ addu $v1, $v1, $s2 +/* 833C58 80242458 E474008C */ swc1 $f20, 0x8c($v1) +/* 833C5C 8024245C 8E63000C */ lw $v1, 0xc($s3) +/* 833C60 80242460 44820000 */ mtc1 $v0, $f0 +/* 833C64 80242464 00000000 */ nop +/* 833C68 80242468 46800020 */ cvt.s.w $f0, $f0 +/* 833C6C 8024246C 00721821 */ addu $v1, $v1, $s2 +/* 833C70 80242470 E46000B8 */ swc1 $f0, 0xb8($v1) +/* 833C74 80242474 8FBF0020 */ lw $ra, 0x20($sp) +/* 833C78 80242478 8FB3001C */ lw $s3, 0x1c($sp) +/* 833C7C 8024247C 8FB20018 */ lw $s2, 0x18($sp) +/* 833C80 80242480 8FB10014 */ lw $s1, 0x14($sp) +/* 833C84 80242484 8FB00010 */ lw $s0, 0x10($sp) +/* 833C88 80242488 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 833C8C 8024248C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 833C90 80242490 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 833C94 80242494 24020002 */ addiu $v0, $zero, 2 +/* 833C98 80242498 03E00008 */ jr $ra +/* 833C9C 8024249C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802424A0.s b/asm/nonmatchings/world/area_mac/mac_03/func_802424A0.s new file mode 100644 index 0000000000..7205c6ac5e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802424A0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424A0 +/* 833CA0 802424A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 833CA4 802424A4 AFB10014 */ sw $s1, 0x14($sp) +/* 833CA8 802424A8 0080882D */ daddu $s1, $a0, $zero +/* 833CAC 802424AC 3C05FD05 */ lui $a1, 0xfd05 +/* 833CB0 802424B0 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833CB4 802424B4 AFBF0028 */ sw $ra, 0x28($sp) +/* 833CB8 802424B8 AFB50024 */ sw $s5, 0x24($sp) +/* 833CBC 802424BC AFB40020 */ sw $s4, 0x20($sp) +/* 833CC0 802424C0 AFB3001C */ sw $s3, 0x1c($sp) +/* 833CC4 802424C4 AFB20018 */ sw $s2, 0x18($sp) +/* 833CC8 802424C8 0C0B1EAF */ jal get_variable +/* 833CCC 802424CC AFB00010 */ sw $s0, 0x10($sp) +/* 833CD0 802424D0 0220202D */ daddu $a0, $s1, $zero +/* 833CD4 802424D4 8E30000C */ lw $s0, 0xc($s1) +/* 833CD8 802424D8 0040982D */ daddu $s3, $v0, $zero +/* 833CDC 802424DC 8E050000 */ lw $a1, ($s0) +/* 833CE0 802424E0 0C0B1EAF */ jal get_variable +/* 833CE4 802424E4 26100004 */ addiu $s0, $s0, 4 +/* 833CE8 802424E8 8E050000 */ lw $a1, ($s0) +/* 833CEC 802424EC 26100004 */ addiu $s0, $s0, 4 +/* 833CF0 802424F0 8E150000 */ lw $s5, ($s0) +/* 833CF4 802424F4 26100004 */ addiu $s0, $s0, 4 +/* 833CF8 802424F8 00029080 */ sll $s2, $v0, 2 +/* 833CFC 802424FC 8E63000C */ lw $v1, 0xc($s3) +/* 833D00 80242500 8E140000 */ lw $s4, ($s0) +/* 833D04 80242504 00721821 */ addu $v1, $v1, $s2 +/* 833D08 80242508 C4600034 */ lwc1 $f0, 0x34($v1) +/* 833D0C 8024250C 8E100004 */ lw $s0, 4($s0) +/* 833D10 80242510 4600008D */ trunc.w.s $f2, $f0 +/* 833D14 80242514 44061000 */ mfc1 $a2, $f2 +/* 833D18 80242518 0C0B2026 */ jal set_variable +/* 833D1C 8024251C 0220202D */ daddu $a0, $s1, $zero +/* 833D20 80242520 8E62000C */ lw $v0, 0xc($s3) +/* 833D24 80242524 0220202D */ daddu $a0, $s1, $zero +/* 833D28 80242528 00521021 */ addu $v0, $v0, $s2 +/* 833D2C 8024252C C4400060 */ lwc1 $f0, 0x60($v0) +/* 833D30 80242530 4600008D */ trunc.w.s $f2, $f0 +/* 833D34 80242534 44061000 */ mfc1 $a2, $f2 +/* 833D38 80242538 0C0B2026 */ jal set_variable +/* 833D3C 8024253C 02A0282D */ daddu $a1, $s5, $zero +/* 833D40 80242540 8E62000C */ lw $v0, 0xc($s3) +/* 833D44 80242544 0220202D */ daddu $a0, $s1, $zero +/* 833D48 80242548 00521021 */ addu $v0, $v0, $s2 +/* 833D4C 8024254C C440008C */ lwc1 $f0, 0x8c($v0) +/* 833D50 80242550 4600008D */ trunc.w.s $f2, $f0 +/* 833D54 80242554 44061000 */ mfc1 $a2, $f2 +/* 833D58 80242558 0C0B2026 */ jal set_variable +/* 833D5C 8024255C 0280282D */ daddu $a1, $s4, $zero +/* 833D60 80242560 8E62000C */ lw $v0, 0xc($s3) +/* 833D64 80242564 0220202D */ daddu $a0, $s1, $zero +/* 833D68 80242568 00521021 */ addu $v0, $v0, $s2 +/* 833D6C 8024256C C44000B8 */ lwc1 $f0, 0xb8($v0) +/* 833D70 80242570 4600008D */ trunc.w.s $f2, $f0 +/* 833D74 80242574 44061000 */ mfc1 $a2, $f2 +/* 833D78 80242578 0C0B2026 */ jal set_variable +/* 833D7C 8024257C 0200282D */ daddu $a1, $s0, $zero +/* 833D80 80242580 8FBF0028 */ lw $ra, 0x28($sp) +/* 833D84 80242584 8FB50024 */ lw $s5, 0x24($sp) +/* 833D88 80242588 8FB40020 */ lw $s4, 0x20($sp) +/* 833D8C 8024258C 8FB3001C */ lw $s3, 0x1c($sp) +/* 833D90 80242590 8FB20018 */ lw $s2, 0x18($sp) +/* 833D94 80242594 8FB10014 */ lw $s1, 0x14($sp) +/* 833D98 80242598 8FB00010 */ lw $s0, 0x10($sp) +/* 833D9C 8024259C 24020002 */ addiu $v0, $zero, 2 +/* 833DA0 802425A0 03E00008 */ jr $ra +/* 833DA4 802425A4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802425A8.s b/asm/nonmatchings/world/area_mac/mac_03/func_802425A8.s new file mode 100644 index 0000000000..5398803f31 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802425A8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425A8 +/* 833DA8 802425A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 833DAC 802425AC AFB00010 */ sw $s0, 0x10($sp) +/* 833DB0 802425B0 0080802D */ daddu $s0, $a0, $zero +/* 833DB4 802425B4 3C05FD05 */ lui $a1, 0xfd05 +/* 833DB8 802425B8 AFBF0014 */ sw $ra, 0x14($sp) +/* 833DBC 802425BC 0C0B1EAF */ jal get_variable +/* 833DC0 802425C0 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833DC4 802425C4 8E03000C */ lw $v1, 0xc($s0) +/* 833DC8 802425C8 0200202D */ daddu $a0, $s0, $zero +/* 833DCC 802425CC 8C650000 */ lw $a1, ($v1) +/* 833DD0 802425D0 0C0B1EAF */ jal get_variable +/* 833DD4 802425D4 0040802D */ daddu $s0, $v0, $zero +/* 833DD8 802425D8 8E05000C */ lw $a1, 0xc($s0) +/* 833DDC 802425DC 00021880 */ sll $v1, $v0, 2 +/* 833DE0 802425E0 00A32821 */ addu $a1, $a1, $v1 +/* 833DE4 802425E4 8CA30008 */ lw $v1, 8($a1) +/* 833DE8 802425E8 2404FFFE */ addiu $a0, $zero, -2 +/* 833DEC 802425EC 00641824 */ and $v1, $v1, $a0 +/* 833DF0 802425F0 ACA30008 */ sw $v1, 8($a1) +/* 833DF4 802425F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 833DF8 802425F8 8FB00010 */ lw $s0, 0x10($sp) +/* 833DFC 802425FC 24020002 */ addiu $v0, $zero, 2 +/* 833E00 80242600 03E00008 */ jr $ra +/* 833E04 80242604 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80242608.s b/asm/nonmatchings/world/area_mac/mac_03/func_80242608.s new file mode 100644 index 0000000000..fa70b4c5ce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80242608.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242608 +/* 833E08 80242608 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 833E0C 8024260C AFB10014 */ sw $s1, 0x14($sp) +/* 833E10 80242610 0080882D */ daddu $s1, $a0, $zero +/* 833E14 80242614 3C05FD05 */ lui $a1, 0xfd05 +/* 833E18 80242618 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833E1C 8024261C AFBF001C */ sw $ra, 0x1c($sp) +/* 833E20 80242620 AFB20018 */ sw $s2, 0x18($sp) +/* 833E24 80242624 0C0B1EAF */ jal get_variable +/* 833E28 80242628 AFB00010 */ sw $s0, 0x10($sp) +/* 833E2C 8024262C 0220202D */ daddu $a0, $s1, $zero +/* 833E30 80242630 8E30000C */ lw $s0, 0xc($s1) +/* 833E34 80242634 0040902D */ daddu $s2, $v0, $zero +/* 833E38 80242638 8E050000 */ lw $a1, ($s0) +/* 833E3C 8024263C 0C0B1EAF */ jal get_variable +/* 833E40 80242640 26100004 */ addiu $s0, $s0, 4 +/* 833E44 80242644 0220202D */ daddu $a0, $s1, $zero +/* 833E48 80242648 8E050000 */ lw $a1, ($s0) +/* 833E4C 8024264C 0C0B1EAF */ jal get_variable +/* 833E50 80242650 0040802D */ daddu $s0, $v0, $zero +/* 833E54 80242654 8E44000C */ lw $a0, 0xc($s2) +/* 833E58 80242658 00101880 */ sll $v1, $s0, 2 +/* 833E5C 8024265C 00832021 */ addu $a0, $a0, $v1 +/* 833E60 80242660 8C830008 */ lw $v1, 8($a0) +/* 833E64 80242664 34630002 */ ori $v1, $v1, 2 +/* 833E68 80242668 AC830008 */ sw $v1, 8($a0) +/* 833E6C 8024266C 8E43000C */ lw $v1, 0xc($s2) +/* 833E70 80242670 00701821 */ addu $v1, $v1, $s0 +/* 833E74 80242674 A06200EF */ sb $v0, 0xef($v1) +/* 833E78 80242678 8FBF001C */ lw $ra, 0x1c($sp) +/* 833E7C 8024267C 8FB20018 */ lw $s2, 0x18($sp) +/* 833E80 80242680 8FB10014 */ lw $s1, 0x14($sp) +/* 833E84 80242684 8FB00010 */ lw $s0, 0x10($sp) +/* 833E88 80242688 24020002 */ addiu $v0, $zero, 2 +/* 833E8C 8024268C 03E00008 */ jr $ra +/* 833E90 80242690 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_80242694.s b/asm/nonmatchings/world/area_mac/mac_03/func_80242694.s new file mode 100644 index 0000000000..6633497433 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_80242694.s @@ -0,0 +1,84 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242694 +/* 833E94 80242694 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 833E98 80242698 AFB40020 */ sw $s4, 0x20($sp) +/* 833E9C 8024269C 0080A02D */ daddu $s4, $a0, $zero +/* 833EA0 802426A0 3C05FD05 */ lui $a1, 0xfd05 +/* 833EA4 802426A4 34A50F82 */ ori $a1, $a1, 0xf82 +/* 833EA8 802426A8 AFBF002C */ sw $ra, 0x2c($sp) +/* 833EAC 802426AC AFB60028 */ sw $s6, 0x28($sp) +/* 833EB0 802426B0 AFB50024 */ sw $s5, 0x24($sp) +/* 833EB4 802426B4 AFB3001C */ sw $s3, 0x1c($sp) +/* 833EB8 802426B8 AFB20018 */ sw $s2, 0x18($sp) +/* 833EBC 802426BC AFB10014 */ sw $s1, 0x14($sp) +/* 833EC0 802426C0 0C0B1EAF */ jal get_variable +/* 833EC4 802426C4 AFB00010 */ sw $s0, 0x10($sp) +/* 833EC8 802426C8 0040982D */ daddu $s3, $v0, $zero +/* 833ECC 802426CC 24120001 */ addiu $s2, $zero, 1 +/* 833ED0 802426D0 3C16F5DE */ lui $s6, 0xf5de +/* 833ED4 802426D4 36D6019E */ ori $s6, $s6, 0x19e +/* 833ED8 802426D8 3C15F5DE */ lui $s5, 0xf5de +/* 833EDC 802426DC 36B5019D */ ori $s5, $s5, 0x19d +/* 833EE0 802426E0 0000882D */ daddu $s1, $zero, $zero +.L802426E4: +/* 833EE4 802426E4 0280202D */ daddu $a0, $s4, $zero +/* 833EE8 802426E8 0C0B1EAF */ jal get_variable +/* 833EEC 802426EC 02562821 */ addu $a1, $s2, $s6 +/* 833EF0 802426F0 0280202D */ daddu $a0, $s4, $zero +/* 833EF4 802426F4 02552821 */ addu $a1, $s2, $s5 +/* 833EF8 802426F8 0040802D */ daddu $s0, $v0, $zero +/* 833EFC 802426FC 0C0B2026 */ jal set_variable +/* 833F00 80242700 0200302D */ daddu $a2, $s0, $zero +/* 833F04 80242704 8E63000C */ lw $v1, 0xc($s3) +/* 833F08 80242708 00121080 */ sll $v0, $s2, 2 +/* 833F0C 8024270C 00621021 */ addu $v0, $v1, $v0 +/* 833F10 80242710 C4400034 */ lwc1 $f0, 0x34($v0) +/* 833F14 80242714 C4420060 */ lwc1 $f2, 0x60($v0) +/* 833F18 80242718 C444008C */ lwc1 $f4, 0x8c($v0) +/* 833F1C 8024271C C44600B8 */ lwc1 $f6, 0xb8($v0) +/* 833F20 80242720 02431821 */ addu $v1, $s2, $v1 +/* 833F24 80242724 A07000E3 */ sb $s0, 0xe3($v1) +/* 833F28 80242728 8E62000C */ lw $v0, 0xc($s3) +/* 833F2C 8024272C 00511021 */ addu $v0, $v0, $s1 +/* 833F30 80242730 E4400034 */ swc1 $f0, 0x34($v0) +/* 833F34 80242734 8E62000C */ lw $v0, 0xc($s3) +/* 833F38 80242738 00511021 */ addu $v0, $v0, $s1 +/* 833F3C 8024273C E4420060 */ swc1 $f2, 0x60($v0) +/* 833F40 80242740 8E62000C */ lw $v0, 0xc($s3) +/* 833F44 80242744 00511021 */ addu $v0, $v0, $s1 +/* 833F48 80242748 E444008C */ swc1 $f4, 0x8c($v0) +/* 833F4C 8024274C 8E62000C */ lw $v0, 0xc($s3) +/* 833F50 80242750 00511021 */ addu $v0, $v0, $s1 +/* 833F54 80242754 E44600B8 */ swc1 $f6, 0xb8($v0) +/* 833F58 80242758 8E63000C */ lw $v1, 0xc($s3) +/* 833F5C 8024275C 26520001 */ addiu $s2, $s2, 1 +/* 833F60 80242760 00711821 */ addu $v1, $v1, $s1 +/* 833F64 80242764 8C620008 */ lw $v0, 8($v1) +/* 833F68 80242768 34420001 */ ori $v0, $v0, 1 +/* 833F6C 8024276C AC620008 */ sw $v0, 8($v1) +/* 833F70 80242770 2A42000A */ slti $v0, $s2, 0xa +/* 833F74 80242774 1440FFDB */ bnez $v0, .L802426E4 +/* 833F78 80242778 26310004 */ addiu $s1, $s1, 4 +/* 833F7C 8024277C 0280202D */ daddu $a0, $s4, $zero +/* 833F80 80242780 3C05F5DE */ lui $a1, 0xf5de +/* 833F84 80242784 34A5019D */ ori $a1, $a1, 0x19d +/* 833F88 80242788 8E62000C */ lw $v0, 0xc($s3) +/* 833F8C 8024278C 24060009 */ addiu $a2, $zero, 9 +/* 833F90 80242790 8C43002C */ lw $v1, 0x2c($v0) +/* 833F94 80242794 2407FFFE */ addiu $a3, $zero, -2 +/* 833F98 80242798 00671824 */ and $v1, $v1, $a3 +/* 833F9C 8024279C 0C0B2026 */ jal set_variable +/* 833FA0 802427A0 AC43002C */ sw $v1, 0x2c($v0) +/* 833FA4 802427A4 8FBF002C */ lw $ra, 0x2c($sp) +/* 833FA8 802427A8 8FB60028 */ lw $s6, 0x28($sp) +/* 833FAC 802427AC 8FB50024 */ lw $s5, 0x24($sp) +/* 833FB0 802427B0 8FB40020 */ lw $s4, 0x20($sp) +/* 833FB4 802427B4 8FB3001C */ lw $s3, 0x1c($sp) +/* 833FB8 802427B8 8FB20018 */ lw $s2, 0x18($sp) +/* 833FBC 802427BC 8FB10014 */ lw $s1, 0x14($sp) +/* 833FC0 802427C0 8FB00010 */ lw $s0, 0x10($sp) +/* 833FC4 802427C4 24020002 */ addiu $v0, $zero, 2 +/* 833FC8 802427C8 03E00008 */ jr $ra +/* 833FCC 802427CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_03/func_802427D0.s b/asm/nonmatchings/world/area_mac/mac_03/func_802427D0.s new file mode 100644 index 0000000000..cab03dad36 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_03/func_802427D0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427D0 +/* 833FD0 802427D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 833FD4 802427D4 AFB20018 */ sw $s2, 0x18($sp) +/* 833FD8 802427D8 0080902D */ daddu $s2, $a0, $zero +/* 833FDC 802427DC 3C05F5DE */ lui $a1, 0xf5de +/* 833FE0 802427E0 AFBF0020 */ sw $ra, 0x20($sp) +/* 833FE4 802427E4 AFB3001C */ sw $s3, 0x1c($sp) +/* 833FE8 802427E8 AFB10014 */ sw $s1, 0x14($sp) +/* 833FEC 802427EC AFB00010 */ sw $s0, 0x10($sp) +/* 833FF0 802427F0 8E51000C */ lw $s1, 0xc($s2) +/* 833FF4 802427F4 0C0B1EAF */ jal get_variable +/* 833FF8 802427F8 34A5019E */ ori $a1, $a1, 0x19e +/* 833FFC 802427FC 3C038025 */ lui $v1, 0x8025 +/* 834000 80242800 2463F800 */ addiu $v1, $v1, -0x800 +/* 834004 80242804 00028040 */ sll $s0, $v0, 1 +/* 834008 80242808 02028021 */ addu $s0, $s0, $v0 +/* 83400C 8024280C 00108080 */ sll $s0, $s0, 2 +/* 834010 80242810 02038021 */ addu $s0, $s0, $v1 +/* 834014 80242814 8E060000 */ lw $a2, ($s0) +/* 834018 80242818 8E250000 */ lw $a1, ($s1) +/* 83401C 8024281C 26310004 */ addiu $s1, $s1, 4 +/* 834020 80242820 8E330000 */ lw $s3, ($s1) +/* 834024 80242824 8E310004 */ lw $s1, 4($s1) +/* 834028 80242828 0C0B2026 */ jal set_variable +/* 83402C 8024282C 0240202D */ daddu $a0, $s2, $zero +/* 834030 80242830 0240202D */ daddu $a0, $s2, $zero +/* 834034 80242834 8E060004 */ lw $a2, 4($s0) +/* 834038 80242838 0C0B2026 */ jal set_variable +/* 83403C 8024283C 0260282D */ daddu $a1, $s3, $zero +/* 834040 80242840 0240202D */ daddu $a0, $s2, $zero +/* 834044 80242844 8E060008 */ lw $a2, 8($s0) +/* 834048 80242848 0C0B2026 */ jal set_variable +/* 83404C 8024284C 0220282D */ daddu $a1, $s1, $zero +/* 834050 80242850 8FBF0020 */ lw $ra, 0x20($sp) +/* 834054 80242854 8FB3001C */ lw $s3, 0x1c($sp) +/* 834058 80242858 8FB20018 */ lw $s2, 0x18($sp) +/* 83405C 8024285C 8FB10014 */ lw $s1, 0x14($sp) +/* 834060 80242860 8FB00010 */ lw $s0, 0x10($sp) +/* 834064 80242864 24020002 */ addiu $v0, $zero, 2 +/* 834068 80242868 03E00008 */ jr $ra +/* 83406C 8024286C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240000_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240000_842BD0.s new file mode 100644 index 0000000000..0e76e23f17 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240000_842BD0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_842BD0 +/* 842BD0 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 842BD4 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 842BD8 80240008 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 842BDC 8024000C AFBF0010 */ sw $ra, 0x10($sp) +/* 842BE0 80240010 8443008E */ lh $v1, 0x8e($v0) +/* 842BE4 80240014 24020004 */ addiu $v0, $zero, 4 +/* 842BE8 80240018 14620006 */ bne $v1, $v0, .L80240034 +/* 842BEC 8024001C 00000000 */ nop +/* 842BF0 80240020 3C04800E */ lui $a0, 0x800e +/* 842BF4 80240024 24849668 */ addiu $a0, $a0, -0x6998 +/* 842BF8 80240028 3C058025 */ lui $a1, 0x8025 +/* 842BFC 8024002C 0C01953C */ jal sprintf +/* 842C00 80240030 24A5F550 */ addiu $a1, $a1, -0xab0 +.L80240034: +/* 842C04 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* 842C08 80240038 0000102D */ daddu $v0, $zero, $zero +/* 842C0C 8024003C 03E00008 */ jr $ra +/* 842C10 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* 842C14 80240044 00000000 */ nop +/* 842C18 80240048 00000000 */ nop +/* 842C1C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240050.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240050.s new file mode 100644 index 0000000000..408f2e2e2f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240050.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050 +/* 842C20 80240050 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 842C24 80240054 AFB1002C */ sw $s1, 0x2c($sp) +/* 842C28 80240058 0080882D */ daddu $s1, $a0, $zero +/* 842C2C 8024005C AFBF004C */ sw $ra, 0x4c($sp) +/* 842C30 80240060 AFBE0048 */ sw $fp, 0x48($sp) +/* 842C34 80240064 AFB70044 */ sw $s7, 0x44($sp) +/* 842C38 80240068 AFB60040 */ sw $s6, 0x40($sp) +/* 842C3C 8024006C AFB5003C */ sw $s5, 0x3c($sp) +/* 842C40 80240070 AFB40038 */ sw $s4, 0x38($sp) +/* 842C44 80240074 AFB30034 */ sw $s3, 0x34($sp) +/* 842C48 80240078 AFB20030 */ sw $s2, 0x30($sp) +/* 842C4C 8024007C AFB00028 */ sw $s0, 0x28($sp) +/* 842C50 80240080 8E30000C */ lw $s0, 0xc($s1) +/* 842C54 80240084 8E050000 */ lw $a1, ($s0) +/* 842C58 80240088 0C0B1EAF */ jal get_variable +/* 842C5C 8024008C 26100004 */ addiu $s0, $s0, 4 +/* 842C60 80240090 8E050000 */ lw $a1, ($s0) +/* 842C64 80240094 26100004 */ addiu $s0, $s0, 4 +/* 842C68 80240098 0220202D */ daddu $a0, $s1, $zero +/* 842C6C 8024009C 0C0B1EAF */ jal get_variable +/* 842C70 802400A0 0040F02D */ daddu $fp, $v0, $zero +/* 842C74 802400A4 8E050000 */ lw $a1, ($s0) +/* 842C78 802400A8 26100004 */ addiu $s0, $s0, 4 +/* 842C7C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* 842C80 802400B0 0C0B1EAF */ jal get_variable +/* 842C84 802400B4 0040B02D */ daddu $s6, $v0, $zero +/* 842C88 802400B8 8E050000 */ lw $a1, ($s0) +/* 842C8C 802400BC 26100004 */ addiu $s0, $s0, 4 +/* 842C90 802400C0 0220202D */ daddu $a0, $s1, $zero +/* 842C94 802400C4 0C0B1EAF */ jal get_variable +/* 842C98 802400C8 0040B82D */ daddu $s7, $v0, $zero +/* 842C9C 802400CC 8E050000 */ lw $a1, ($s0) +/* 842CA0 802400D0 26100004 */ addiu $s0, $s0, 4 +/* 842CA4 802400D4 0220202D */ daddu $a0, $s1, $zero +/* 842CA8 802400D8 0C0B1EAF */ jal get_variable +/* 842CAC 802400DC 0040A82D */ daddu $s5, $v0, $zero +/* 842CB0 802400E0 8E050000 */ lw $a1, ($s0) +/* 842CB4 802400E4 26100004 */ addiu $s0, $s0, 4 +/* 842CB8 802400E8 0220202D */ daddu $a0, $s1, $zero +/* 842CBC 802400EC 0C0B1EAF */ jal get_variable +/* 842CC0 802400F0 0040A02D */ daddu $s4, $v0, $zero +/* 842CC4 802400F4 8E050000 */ lw $a1, ($s0) +/* 842CC8 802400F8 26100004 */ addiu $s0, $s0, 4 +/* 842CCC 802400FC 0220202D */ daddu $a0, $s1, $zero +/* 842CD0 80240100 0C0B1EAF */ jal get_variable +/* 842CD4 80240104 0040982D */ daddu $s3, $v0, $zero +/* 842CD8 80240108 8E050000 */ lw $a1, ($s0) +/* 842CDC 8024010C 26100004 */ addiu $s0, $s0, 4 +/* 842CE0 80240110 0220202D */ daddu $a0, $s1, $zero +/* 842CE4 80240114 0C0B1EAF */ jal get_variable +/* 842CE8 80240118 0040902D */ daddu $s2, $v0, $zero +/* 842CEC 8024011C 0220202D */ daddu $a0, $s1, $zero +/* 842CF0 80240120 8E050000 */ lw $a1, ($s0) +/* 842CF4 80240124 0C0B1EAF */ jal get_variable +/* 842CF8 80240128 0040802D */ daddu $s0, $v0, $zero +/* 842CFC 8024012C 33C400FF */ andi $a0, $fp, 0xff +/* 842D00 80240130 32C500FF */ andi $a1, $s6, 0xff +/* 842D04 80240134 329400FF */ andi $s4, $s4, 0xff +/* 842D08 80240138 327300FF */ andi $s3, $s3, 0xff +/* 842D0C 8024013C 325200FF */ andi $s2, $s2, 0xff +/* 842D10 80240140 32E600FF */ andi $a2, $s7, 0xff +/* 842D14 80240144 32A700FF */ andi $a3, $s5, 0xff +/* 842D18 80240148 AFB40010 */ sw $s4, 0x10($sp) +/* 842D1C 8024014C AFB30014 */ sw $s3, 0x14($sp) +/* 842D20 80240150 AFB20018 */ sw $s2, 0x18($sp) +/* 842D24 80240154 AFB0001C */ sw $s0, 0x1c($sp) +/* 842D28 80240158 0C046FAD */ jal func_8011BEB4 +/* 842D2C 8024015C AFA20020 */ sw $v0, 0x20($sp) +/* 842D30 80240160 8FBF004C */ lw $ra, 0x4c($sp) +/* 842D34 80240164 8FBE0048 */ lw $fp, 0x48($sp) +/* 842D38 80240168 8FB70044 */ lw $s7, 0x44($sp) +/* 842D3C 8024016C 8FB60040 */ lw $s6, 0x40($sp) +/* 842D40 80240170 8FB5003C */ lw $s5, 0x3c($sp) +/* 842D44 80240174 8FB40038 */ lw $s4, 0x38($sp) +/* 842D48 80240178 8FB30034 */ lw $s3, 0x34($sp) +/* 842D4C 8024017C 8FB20030 */ lw $s2, 0x30($sp) +/* 842D50 80240180 8FB1002C */ lw $s1, 0x2c($sp) +/* 842D54 80240184 8FB00028 */ lw $s0, 0x28($sp) +/* 842D58 80240188 24020002 */ addiu $v0, $zero, 2 +/* 842D5C 8024018C 03E00008 */ jr $ra +/* 842D60 80240190 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240194.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240194.s new file mode 100644 index 0000000000..d93c37eb60 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240194.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240194 +/* 842D64 80240194 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 842D68 80240198 AFBF0010 */ sw $ra, 0x10($sp) +/* 842D6C 8024019C 0C04760B */ jal func_8011D82C +/* 842D70 802401A0 24040003 */ addiu $a0, $zero, 3 +/* 842D74 802401A4 8FBF0010 */ lw $ra, 0x10($sp) +/* 842D78 802401A8 24020002 */ addiu $v0, $zero, 2 +/* 842D7C 802401AC 03E00008 */ jr $ra +/* 842D80 802401B0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 842D84 802401B4 00000000 */ nop +/* 842D88 802401B8 00000000 */ nop +/* 842D8C 802401BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802401C0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802401C0.s new file mode 100644 index 0000000000..f5d750314a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802401C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401C0 +/* 842D90 802401C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 842D94 802401C4 2404009E */ addiu $a0, $zero, 0x9e +/* 842D98 802401C8 2405FFFF */ addiu $a1, $zero, -1 +/* 842D9C 802401CC 24060001 */ addiu $a2, $zero, 1 +/* 842DA0 802401D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 842DA4 802401D4 0C046E54 */ jal func_8011B950 +/* 842DA8 802401D8 00C0382D */ daddu $a3, $a2, $zero +/* 842DAC 802401DC 0000202D */ daddu $a0, $zero, $zero +/* 842DB0 802401E0 0080282D */ daddu $a1, $a0, $zero +/* 842DB4 802401E4 0080302D */ daddu $a2, $a0, $zero +/* 842DB8 802401E8 0C046F97 */ jal set_background_color_blend +/* 842DBC 802401EC 240700FF */ addiu $a3, $zero, 0xff +/* 842DC0 802401F0 3C03800B */ lui $v1, %hi(gCameras) +/* 842DC4 802401F4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 842DC8 802401F8 A460002C */ sh $zero, 0x2c($v1) +/* 842DCC 802401FC A460002E */ sh $zero, 0x2e($v1) +/* 842DD0 80240200 A4600030 */ sh $zero, 0x30($v1) +/* 842DD4 80240204 8FBF0010 */ lw $ra, 0x10($sp) +/* 842DD8 80240208 24020002 */ addiu $v0, $zero, 2 +/* 842DDC 8024020C 03E00008 */ jr $ra +/* 842DE0 80240210 27BD0018 */ addiu $sp, $sp, 0x18 +/* 842DE4 80240214 00000000 */ nop +/* 842DE8 80240218 00000000 */ nop +/* 842DEC 8024021C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240220.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240220.s new file mode 100644 index 0000000000..2d82909798 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240220.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240220 +/* 842DF0 80240220 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 842DF4 80240224 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 842DF8 80240228 4485A000 */ mtc1 $a1, $f20 +/* 842DFC 8024022C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 842E00 80240230 4486B000 */ mtc1 $a2, $f22 +/* 842E04 80240234 AFB00010 */ sw $s0, 0x10($sp) +/* 842E08 80240238 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 842E0C 8024023C 4487C000 */ mtc1 $a3, $f24 +/* 842E10 80240240 AFBF0014 */ sw $ra, 0x14($sp) +/* 842E14 80240244 0C019D28 */ jal guMtxIdentF +/* 842E18 80240248 0080802D */ daddu $s0, $a0, $zero +/* 842E1C 8024024C 4616A582 */ mul.s $f22, $f20, $f22 +/* 842E20 80240250 00000000 */ nop +/* 842E24 80240254 4618A502 */ mul.s $f20, $f20, $f24 +/* 842E28 80240258 00000000 */ nop +/* 842E2C 8024025C 3C013F80 */ lui $at, 0x3f80 +/* 842E30 80240260 44810000 */ mtc1 $at, $f0 +/* 842E34 80240264 00000000 */ nop +/* 842E38 80240268 E6000014 */ swc1 $f0, 0x14($s0) +/* 842E3C 8024026C E6160010 */ swc1 $f22, 0x10($s0) +/* 842E40 80240270 E6140018 */ swc1 $f20, 0x18($s0) +/* 842E44 80240274 8FBF0014 */ lw $ra, 0x14($sp) +/* 842E48 80240278 8FB00010 */ lw $s0, 0x10($sp) +/* 842E4C 8024027C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 842E50 80240280 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 842E54 80240284 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 842E58 80240288 03E00008 */ jr $ra +/* 842E5C 8024028C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240290.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240290.s new file mode 100644 index 0000000000..0940baaaef --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240290.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290 +/* 842E60 80240290 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 842E64 80240294 AFB10054 */ sw $s1, 0x54($sp) +/* 842E68 80240298 0080882D */ daddu $s1, $a0, $zero +/* 842E6C 8024029C AFBF005C */ sw $ra, 0x5c($sp) +/* 842E70 802402A0 AFB20058 */ sw $s2, 0x58($sp) +/* 842E74 802402A4 AFB00050 */ sw $s0, 0x50($sp) +/* 842E78 802402A8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 842E7C 802402AC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 842E80 802402B0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 842E84 802402B4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 842E88 802402B8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 842E8C 802402BC 8E30000C */ lw $s0, 0xc($s1) +/* 842E90 802402C0 8E050000 */ lw $a1, ($s0) +/* 842E94 802402C4 0C0B1EAF */ jal get_variable +/* 842E98 802402C8 26100004 */ addiu $s0, $s0, 4 +/* 842E9C 802402CC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 842EA0 802402D0 0040202D */ daddu $a0, $v0, $zero +/* 842EA4 802402D4 8E050000 */ lw $a1, ($s0) +/* 842EA8 802402D8 26100004 */ addiu $s0, $s0, 4 +/* 842EAC 802402DC 0220202D */ daddu $a0, $s1, $zero +/* 842EB0 802402E0 0C0B210B */ jal get_float_variable +/* 842EB4 802402E4 0040902D */ daddu $s2, $v0, $zero +/* 842EB8 802402E8 8E050000 */ lw $a1, ($s0) +/* 842EBC 802402EC 26100004 */ addiu $s0, $s0, 4 +/* 842EC0 802402F0 0220202D */ daddu $a0, $s1, $zero +/* 842EC4 802402F4 0C0B210B */ jal get_float_variable +/* 842EC8 802402F8 46000706 */ mov.s $f28, $f0 +/* 842ECC 802402FC 8E050000 */ lw $a1, ($s0) +/* 842ED0 80240300 26100004 */ addiu $s0, $s0, 4 +/* 842ED4 80240304 0220202D */ daddu $a0, $s1, $zero +/* 842ED8 80240308 0C0B210B */ jal get_float_variable +/* 842EDC 8024030C 46000686 */ mov.s $f26, $f0 +/* 842EE0 80240310 0220202D */ daddu $a0, $s1, $zero +/* 842EE4 80240314 8E050000 */ lw $a1, ($s0) +/* 842EE8 80240318 0C0B210B */ jal get_float_variable +/* 842EEC 8024031C 46000586 */ mov.s $f22, $f0 +/* 842EF0 80240320 0240202D */ daddu $a0, $s2, $zero +/* 842EF4 80240324 0C046B4C */ jal get_model_from_list_index +/* 842EF8 80240328 46000606 */ mov.s $f24, $f0 +/* 842EFC 8024032C 0040882D */ daddu $s1, $v0, $zero +/* 842F00 80240330 96220000 */ lhu $v0, ($s1) +/* 842F04 80240334 30420400 */ andi $v0, $v0, 0x400 +/* 842F08 80240338 1440001E */ bnez $v0, .L802403B4 +/* 842F0C 8024033C 26300058 */ addiu $s0, $s1, 0x58 +/* 842F10 80240340 4480A000 */ mtc1 $zero, $f20 +/* 842F14 80240344 4406B000 */ mfc1 $a2, $f22 +/* 842F18 80240348 4405A000 */ mfc1 $a1, $f20 +/* 842F1C 8024034C 4407A000 */ mfc1 $a3, $f20 +/* 842F20 80240350 0C019E40 */ jal guTranslateF +/* 842F24 80240354 0200202D */ daddu $a0, $s0, $zero +/* 842F28 80240358 4405E000 */ mfc1 $a1, $f28 +/* 842F2C 8024035C 4406D000 */ mfc1 $a2, $f26 +/* 842F30 80240360 4407C000 */ mfc1 $a3, $f24 +/* 842F34 80240364 0C090088 */ jal func_80240220 +/* 842F38 80240368 27A40010 */ addiu $a0, $sp, 0x10 +/* 842F3C 8024036C 27A40010 */ addiu $a0, $sp, 0x10 +/* 842F40 80240370 0200282D */ daddu $a1, $s0, $zero +/* 842F44 80240374 0C019D80 */ jal guMtxCatF +/* 842F48 80240378 0200302D */ daddu $a2, $s0, $zero +/* 842F4C 8024037C 27A40010 */ addiu $a0, $sp, 0x10 +/* 842F50 80240380 4600B587 */ neg.s $f22, $f22 +/* 842F54 80240384 4405A000 */ mfc1 $a1, $f20 +/* 842F58 80240388 4406B000 */ mfc1 $a2, $f22 +/* 842F5C 8024038C 0C019E40 */ jal guTranslateF +/* 842F60 80240390 00A0382D */ daddu $a3, $a1, $zero +/* 842F64 80240394 27A40010 */ addiu $a0, $sp, 0x10 +/* 842F68 80240398 0200282D */ daddu $a1, $s0, $zero +/* 842F6C 8024039C 0C019D80 */ jal guMtxCatF +/* 842F70 802403A0 00A0302D */ daddu $a2, $a1, $zero +/* 842F74 802403A4 96220000 */ lhu $v0, ($s1) +/* 842F78 802403A8 34421400 */ ori $v0, $v0, 0x1400 +/* 842F7C 802403AC 0809010B */ j .L8024042C +/* 842F80 802403B0 A6220000 */ sh $v0, ($s1) +.L802403B4: +/* 842F84 802403B4 4480A000 */ mtc1 $zero, $f20 +/* 842F88 802403B8 4406B000 */ mfc1 $a2, $f22 +/* 842F8C 802403BC 4405A000 */ mfc1 $a1, $f20 +/* 842F90 802403C0 4407A000 */ mfc1 $a3, $f20 +/* 842F94 802403C4 0C019E40 */ jal guTranslateF +/* 842F98 802403C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 842F9C 802403CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 842FA0 802403D0 26300058 */ addiu $s0, $s1, 0x58 +/* 842FA4 802403D4 0200282D */ daddu $a1, $s0, $zero +/* 842FA8 802403D8 0C019D80 */ jal guMtxCatF +/* 842FAC 802403DC 0200302D */ daddu $a2, $s0, $zero +/* 842FB0 802403E0 4405E000 */ mfc1 $a1, $f28 +/* 842FB4 802403E4 4406D000 */ mfc1 $a2, $f26 +/* 842FB8 802403E8 4407C000 */ mfc1 $a3, $f24 +/* 842FBC 802403EC 0C090088 */ jal func_80240220 +/* 842FC0 802403F0 27A40010 */ addiu $a0, $sp, 0x10 +/* 842FC4 802403F4 27A40010 */ addiu $a0, $sp, 0x10 +/* 842FC8 802403F8 0200282D */ daddu $a1, $s0, $zero +/* 842FCC 802403FC 0C019D80 */ jal guMtxCatF +/* 842FD0 80240400 0200302D */ daddu $a2, $s0, $zero +/* 842FD4 80240404 27A40010 */ addiu $a0, $sp, 0x10 +/* 842FD8 80240408 4600B587 */ neg.s $f22, $f22 +/* 842FDC 8024040C 4405A000 */ mfc1 $a1, $f20 +/* 842FE0 80240410 4406B000 */ mfc1 $a2, $f22 +/* 842FE4 80240414 0C019E40 */ jal guTranslateF +/* 842FE8 80240418 00A0382D */ daddu $a3, $a1, $zero +/* 842FEC 8024041C 27A40010 */ addiu $a0, $sp, 0x10 +/* 842FF0 80240420 0200282D */ daddu $a1, $s0, $zero +/* 842FF4 80240424 0C019D80 */ jal guMtxCatF +/* 842FF8 80240428 00A0302D */ daddu $a2, $a1, $zero +.L8024042C: +/* 842FFC 8024042C 8FBF005C */ lw $ra, 0x5c($sp) +/* 843000 80240430 8FB20058 */ lw $s2, 0x58($sp) +/* 843004 80240434 8FB10054 */ lw $s1, 0x54($sp) +/* 843008 80240438 8FB00050 */ lw $s0, 0x50($sp) +/* 84300C 8024043C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 843010 80240440 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 843014 80240444 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 843018 80240448 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 84301C 8024044C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 843020 80240450 24020002 */ addiu $v0, $zero, 2 +/* 843024 80240454 03E00008 */ jr $ra +/* 843028 80240458 27BD0088 */ addiu $sp, $sp, 0x88 +/* 84302C 8024045C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240460.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240460.s new file mode 100644 index 0000000000..6fcd24f808 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240460.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240460 +/* 843030 80240460 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 843034 80240464 AFB00010 */ sw $s0, 0x10($sp) +/* 843038 80240468 3C108024 */ lui $s0, 0x8024 +/* 84303C 8024046C 26103FE8 */ addiu $s0, $s0, 0x3fe8 +/* 843040 80240470 AFBF0018 */ sw $ra, 0x18($sp) +/* 843044 80240474 AFB10014 */ sw $s1, 0x14($sp) +/* 843048 80240478 8E020000 */ lw $v0, ($s0) +/* 84304C 8024047C 14400010 */ bnez $v0, .L802404C0 +/* 843050 80240480 0080882D */ daddu $s1, $a0, $zero +/* 843054 80240484 0C00AB39 */ jal heap_malloc +/* 843058 80240488 24040040 */ addiu $a0, $zero, 0x40 +/* 84305C 8024048C AE020000 */ sw $v0, ($s0) +/* 843060 80240490 0000182D */ daddu $v1, $zero, $zero +/* 843064 80240494 0040282D */ daddu $a1, $v0, $zero +/* 843068 80240498 0220202D */ daddu $a0, $s1, $zero +.L8024049C: +/* 84306C 8024049C 8C820084 */ lw $v0, 0x84($a0) +/* 843070 802404A0 24840004 */ addiu $a0, $a0, 4 +/* 843074 802404A4 24630001 */ addiu $v1, $v1, 1 +/* 843078 802404A8 ACA20000 */ sw $v0, ($a1) +/* 84307C 802404AC 28620010 */ slti $v0, $v1, 0x10 +/* 843080 802404B0 1440FFFA */ bnez $v0, .L8024049C +/* 843084 802404B4 24A50004 */ addiu $a1, $a1, 4 +/* 843088 802404B8 0809013F */ j .L802404FC +/* 84308C 802404BC 00000000 */ nop +.L802404C0: +/* 843090 802404C0 0000182D */ daddu $v1, $zero, $zero +/* 843094 802404C4 0040282D */ daddu $a1, $v0, $zero +/* 843098 802404C8 0220202D */ daddu $a0, $s1, $zero +.L802404CC: +/* 84309C 802404CC 8CA20000 */ lw $v0, ($a1) +/* 8430A0 802404D0 24A50004 */ addiu $a1, $a1, 4 +/* 8430A4 802404D4 24630001 */ addiu $v1, $v1, 1 +/* 8430A8 802404D8 AC820084 */ sw $v0, 0x84($a0) +/* 8430AC 802404DC 28620010 */ slti $v0, $v1, 0x10 +/* 8430B0 802404E0 1440FFFA */ bnez $v0, .L802404CC +/* 8430B4 802404E4 24840004 */ addiu $a0, $a0, 4 +/* 8430B8 802404E8 3C108024 */ lui $s0, 0x8024 +/* 8430BC 802404EC 26103FE8 */ addiu $s0, $s0, 0x3fe8 +/* 8430C0 802404F0 0C00AB4B */ jal heap_free +/* 8430C4 802404F4 8E040000 */ lw $a0, ($s0) +/* 8430C8 802404F8 AE000000 */ sw $zero, ($s0) +.L802404FC: +/* 8430CC 802404FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8430D0 80240500 8FB10014 */ lw $s1, 0x14($sp) +/* 8430D4 80240504 8FB00010 */ lw $s0, 0x10($sp) +/* 8430D8 80240508 24020002 */ addiu $v0, $zero, 2 +/* 8430DC 8024050C 03E00008 */ jr $ra +/* 8430E0 80240510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240514.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240514.s new file mode 100644 index 0000000000..c6d5c7c747 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240514.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240514 +/* 8430E4 80240514 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8430E8 80240518 AFB00010 */ sw $s0, 0x10($sp) +/* 8430EC 8024051C 0080802D */ daddu $s0, $a0, $zero +/* 8430F0 80240520 AFBF0018 */ sw $ra, 0x18($sp) +/* 8430F4 80240524 AFB10014 */ sw $s1, 0x14($sp) +/* 8430F8 80240528 8E02000C */ lw $v0, 0xc($s0) +/* 8430FC 8024052C 8C510000 */ lw $s1, ($v0) +/* 843100 80240530 0C0B1EAF */ jal get_variable +/* 843104 80240534 0220282D */ daddu $a1, $s1, $zero +/* 843108 80240538 3C03FFF0 */ lui $v1, 0xfff0 +/* 84310C 8024053C 3463FFFF */ ori $v1, $v1, 0xffff +/* 843110 80240540 0200202D */ daddu $a0, $s0, $zero +/* 843114 80240544 00431024 */ and $v0, $v0, $v1 +/* 843118 80240548 00021140 */ sll $v0, $v0, 5 +/* 84311C 8024054C 3C068008 */ lui $a2, %hi(gItemTable) +/* 843120 80240550 00C23021 */ addu $a2, $a2, $v0 +/* 843124 80240554 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 843128 80240558 0C0B2026 */ jal set_variable +/* 84312C 8024055C 0220282D */ daddu $a1, $s1, $zero +/* 843130 80240560 8FBF0018 */ lw $ra, 0x18($sp) +/* 843134 80240564 8FB10014 */ lw $s1, 0x14($sp) +/* 843138 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* 84313C 8024056C 24020002 */ addiu $v0, $zero, 2 +/* 843140 80240570 03E00008 */ jr $ra +/* 843144 80240574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240578.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240578.s new file mode 100644 index 0000000000..b46fcbdfe1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240578.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240578 +/* 843148 80240578 24020001 */ addiu $v0, $zero, 1 +/* 84314C 8024057C 3C018015 */ lui $at, %hi(D_80151310) +/* 843150 80240580 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 843154 80240584 03E00008 */ jr $ra +/* 843158 80240588 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024058C.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024058C.s new file mode 100644 index 0000000000..f8a2733eb3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024058C.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024058C +/* 84315C 8024058C 3C018015 */ lui $at, %hi(D_80151310) +/* 843160 80240590 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 843164 80240594 03E00008 */ jr $ra +/* 843168 80240598 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024059C.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024059C.s new file mode 100644 index 0000000000..153cfb5a07 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024059C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024059C +/* 84316C 8024059C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 843170 802405A0 AFB10024 */ sw $s1, 0x24($sp) +/* 843174 802405A4 0080882D */ daddu $s1, $a0, $zero +/* 843178 802405A8 3C05F840 */ lui $a1, 0xf840 +/* 84317C 802405AC AFBF0044 */ sw $ra, 0x44($sp) +/* 843180 802405B0 AFBE0040 */ sw $fp, 0x40($sp) +/* 843184 802405B4 AFB7003C */ sw $s7, 0x3c($sp) +/* 843188 802405B8 AFB60038 */ sw $s6, 0x38($sp) +/* 84318C 802405BC AFB50034 */ sw $s5, 0x34($sp) +/* 843190 802405C0 AFB40030 */ sw $s4, 0x30($sp) +/* 843194 802405C4 AFB3002C */ sw $s3, 0x2c($sp) +/* 843198 802405C8 AFB20028 */ sw $s2, 0x28($sp) +/* 84319C 802405CC AFB00020 */ sw $s0, 0x20($sp) +/* 8431A0 802405D0 8E3E0148 */ lw $fp, 0x148($s1) +/* 8431A4 802405D4 0C0B1EAF */ jal get_variable +/* 8431A8 802405D8 34A56268 */ ori $a1, $a1, 0x6268 +/* 8431AC 802405DC 0040802D */ daddu $s0, $v0, $zero +/* 8431B0 802405E0 0220202D */ daddu $a0, $s1, $zero +/* 8431B4 802405E4 3C05F840 */ lui $a1, 0xf840 +/* 8431B8 802405E8 0C0B1EAF */ jal get_variable +/* 8431BC 802405EC 34A56269 */ ori $a1, $a1, 0x6269 +/* 8431C0 802405F0 0040B82D */ daddu $s7, $v0, $zero +/* 8431C4 802405F4 0220202D */ daddu $a0, $s1, $zero +/* 8431C8 802405F8 3C05F5DE */ lui $a1, 0xf5de +/* 8431CC 802405FC 0C0B1EAF */ jal get_variable +/* 8431D0 80240600 34A502DE */ ori $a1, $a1, 0x2de +/* 8431D4 80240604 0040B02D */ daddu $s6, $v0, $zero +/* 8431D8 80240608 0220202D */ daddu $a0, $s1, $zero +/* 8431DC 8024060C 3C05F5DE */ lui $a1, 0xf5de +/* 8431E0 80240610 0C0B1EAF */ jal get_variable +/* 8431E4 80240614 34A502DF */ ori $a1, $a1, 0x2df +/* 8431E8 80240618 0040A82D */ daddu $s5, $v0, $zero +/* 8431EC 8024061C 93D3006D */ lbu $s3, 0x6d($fp) +/* 8431F0 80240620 32C2FFFF */ andi $v0, $s6, 0xffff +/* 8431F4 80240624 A7B30010 */ sh $s3, 0x10($sp) +/* 8431F8 80240628 93D2006E */ lbu $s2, 0x6e($fp) +/* 8431FC 8024062C 93C7006F */ lbu $a3, 0x6f($fp) +/* 843200 80240630 3274FFFF */ andi $s4, $s3, 0xffff +/* 843204 80240634 12820003 */ beq $s4, $v0, .L80240644 +/* 843208 80240638 A7A7001E */ sh $a3, 0x1e($sp) +/* 84320C 8024063C 0000B82D */ daddu $s7, $zero, $zero +/* 843210 80240640 02E0802D */ daddu $s0, $s7, $zero +.L80240644: +/* 843214 80240644 3202FFFF */ andi $v0, $s0, 0xffff +/* 843218 80240648 14400016 */ bnez $v0, .L802406A4 +/* 84321C 8024064C 0220202D */ daddu $a0, $s1, $zero +/* 843220 80240650 0C00A67F */ jal rand_int +/* 843224 80240654 24040064 */ addiu $a0, $zero, 0x64 +/* 843228 80240658 2842001E */ slti $v0, $v0, 0x1e +/* 84322C 8024065C 10400011 */ beqz $v0, .L802406A4 +/* 843230 80240660 0220202D */ daddu $a0, $s1, $zero +/* 843234 80240664 0C00A67F */ jal rand_int +/* 843238 80240668 2644FFFF */ addiu $a0, $s2, -1 +/* 84323C 8024066C 0040A82D */ daddu $s5, $v0, $zero +/* 843240 80240670 0260B02D */ daddu $s6, $s3, $zero +/* 843244 80240674 0220202D */ daddu $a0, $s1, $zero +/* 843248 80240678 3C05F5DE */ lui $a1, 0xf5de +/* 84324C 8024067C 34A502DE */ ori $a1, $a1, 0x2de +/* 843250 80240680 0C0B2026 */ jal set_variable +/* 843254 80240684 0280302D */ daddu $a2, $s4, $zero +/* 843258 80240688 0220202D */ daddu $a0, $s1, $zero +/* 84325C 8024068C 3C05F5DE */ lui $a1, 0xf5de +/* 843260 80240690 34A502DF */ ori $a1, $a1, 0x2df +/* 843264 80240694 0C0B2026 */ jal set_variable +/* 843268 80240698 32A6FFFF */ andi $a2, $s5, 0xffff +/* 84326C 8024069C 24100001 */ addiu $s0, $zero, 1 +/* 843270 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* 843274 802406A4 3C05F840 */ lui $a1, 0xf840 +/* 843278 802406A8 34A56268 */ ori $a1, $a1, 0x6268 +/* 84327C 802406AC 0C0B2026 */ jal set_variable +/* 843280 802406B0 3206FFFF */ andi $a2, $s0, 0xffff +/* 843284 802406B4 0220202D */ daddu $a0, $s1, $zero +/* 843288 802406B8 3C05F840 */ lui $a1, 0xf840 +/* 84328C 802406BC 34A56269 */ ori $a1, $a1, 0x6269 +/* 843290 802406C0 0C0B2026 */ jal set_variable +/* 843294 802406C4 32E6FFFF */ andi $a2, $s7, 0xffff +/* 843298 802406C8 0000202D */ daddu $a0, $zero, $zero +/* 84329C 802406CC 3C05F5DE */ lui $a1, 0xf5de +/* 8432A0 802406D0 0C0B1EAF */ jal get_variable +/* 8432A4 802406D4 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 8432A8 802406D8 0000202D */ daddu $a0, $zero, $zero +/* 8432AC 802406DC 3C05F5DE */ lui $a1, 0xf5de +/* 8432B0 802406E0 34A50180 */ ori $a1, $a1, 0x180 +/* 8432B4 802406E4 0C0B1EAF */ jal get_variable +/* 8432B8 802406E8 0040802D */ daddu $s0, $v0, $zero +/* 8432BC 802406EC 0040282D */ daddu $a1, $v0, $zero +/* 8432C0 802406F0 0000182D */ daddu $v1, $zero, $zero +/* 8432C4 802406F4 3C068024 */ lui $a2, 0x8024 +/* 8432C8 802406F8 24C6408C */ addiu $a2, $a2, 0x408c +/* 8432CC 802406FC 00C0202D */ daddu $a0, $a2, $zero +.L80240700: +/* 8432D0 80240700 8C820000 */ lw $v0, ($a0) +/* 8432D4 80240704 00A2102A */ slt $v0, $a1, $v0 +/* 8432D8 80240708 14400006 */ bnez $v0, .L80240724 +/* 8432DC 8024070C 000310C0 */ sll $v0, $v1, 3 +/* 8432E0 80240710 24630001 */ addiu $v1, $v1, 1 +/* 8432E4 80240714 28620008 */ slti $v0, $v1, 8 +/* 8432E8 80240718 1440FFF9 */ bnez $v0, .L80240700 +/* 8432EC 8024071C 24840008 */ addiu $a0, $a0, 8 +/* 8432F0 80240720 000310C0 */ sll $v0, $v1, 3 +.L80240724: +/* 8432F4 80240724 00461021 */ addu $v0, $v0, $a2 +/* 8432F8 80240728 8C420004 */ lw $v0, 4($v0) +/* 8432FC 8024072C 97A30010 */ lhu $v1, 0x10($sp) +/* 843300 80240730 0202202A */ slt $a0, $s0, $v0 +/* 843304 80240734 32C2FFFF */ andi $v0, $s6, 0xffff +/* 843308 80240738 14620008 */ bne $v1, $v0, .L8024075C +/* 84330C 8024073C 32A2FFFF */ andi $v0, $s5, 0xffff +/* 843310 80240740 97A7001E */ lhu $a3, 0x1e($sp) +/* 843314 80240744 14E20005 */ bne $a3, $v0, .L8024075C +/* 843318 80240748 32E2FFFF */ andi $v0, $s7, 0xffff +/* 84331C 8024074C 14400003 */ bnez $v0, .L8024075C +/* 843320 80240750 00000000 */ nop +/* 843324 80240754 14800008 */ bnez $a0, .L80240778 +/* 843328 80240758 24020001 */ addiu $v0, $zero, 1 +.L8024075C: +/* 84332C 8024075C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 843330 80240760 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 843334 80240764 80420075 */ lb $v0, 0x75($v0) +/* 843338 80240768 10400005 */ beqz $v0, .L80240780 +/* 84333C 8024076C 00000000 */ nop +/* 843340 80240770 10800003 */ beqz $a0, .L80240780 +/* 843344 80240774 24020001 */ addiu $v0, $zero, 1 +.L80240778: +/* 843348 80240778 080901E3 */ j .L8024078C +/* 84334C 8024077C AE220084 */ sw $v0, 0x84($s1) +.L80240780: +/* 843350 80240780 0C00F9EB */ jal kill_enemy +/* 843354 80240784 03C0202D */ daddu $a0, $fp, $zero +/* 843358 80240788 AE200084 */ sw $zero, 0x84($s1) +.L8024078C: +/* 84335C 8024078C 8FBF0044 */ lw $ra, 0x44($sp) +/* 843360 80240790 8FBE0040 */ lw $fp, 0x40($sp) +/* 843364 80240794 8FB7003C */ lw $s7, 0x3c($sp) +/* 843368 80240798 8FB60038 */ lw $s6, 0x38($sp) +/* 84336C 8024079C 8FB50034 */ lw $s5, 0x34($sp) +/* 843370 802407A0 8FB40030 */ lw $s4, 0x30($sp) +/* 843374 802407A4 8FB3002C */ lw $s3, 0x2c($sp) +/* 843378 802407A8 8FB20028 */ lw $s2, 0x28($sp) +/* 84337C 802407AC 8FB10024 */ lw $s1, 0x24($sp) +/* 843380 802407B0 8FB00020 */ lw $s0, 0x20($sp) +/* 843384 802407B4 24020002 */ addiu $v0, $zero, 2 +/* 843388 802407B8 03E00008 */ jr $ra +/* 84338C 802407BC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802407C0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802407C0.s new file mode 100644 index 0000000000..1c3dccb920 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802407C0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407C0 +/* 843390 802407C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 843394 802407C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 843398 802407C8 AFB00010 */ sw $s0, 0x10($sp) +/* 84339C 802407CC 0C00EABB */ jal get_npc_unsafe +/* 8433A0 802407D0 8C84014C */ lw $a0, 0x14c($a0) +/* 8433A4 802407D4 24040008 */ addiu $a0, $zero, 8 +/* 8433A8 802407D8 0040802D */ daddu $s0, $v0, $zero +/* 8433AC 802407DC 3C028024 */ lui $v0, 0x8024 +/* 8433B0 802407E0 2442082C */ addiu $v0, $v0, 0x82c +/* 8433B4 802407E4 0C00AB39 */ jal heap_malloc +/* 8433B8 802407E8 AE020008 */ sw $v0, 8($s0) +/* 8433BC 802407EC 0040182D */ daddu $v1, $v0, $zero +/* 8433C0 802407F0 AE030020 */ sw $v1, 0x20($s0) +/* 8433C4 802407F4 AC600000 */ sw $zero, ($v1) +/* 8433C8 802407F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8433CC 802407FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8433D0 80240800 24020001 */ addiu $v0, $zero, 1 +/* 8433D4 80240804 03E00008 */ jr $ra +/* 8433D8 80240808 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024080C.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024080C.s new file mode 100644 index 0000000000..f1b2faeba0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024080C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024080C +/* 8433DC 8024080C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8433E0 80240810 AFBF0010 */ sw $ra, 0x10($sp) +/* 8433E4 80240814 0C00EABB */ jal get_npc_unsafe +/* 8433E8 80240818 8C84014C */ lw $a0, 0x14c($a0) +/* 8433EC 8024081C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8433F0 80240820 0000102D */ daddu $v0, $zero, $zero +/* 8433F4 80240824 03E00008 */ jr $ra +/* 8433F8 80240828 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024082C.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024082C.s new file mode 100644 index 0000000000..c72855c9fe --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024082C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024082C +/* 8433FC 8024082C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 843400 80240830 3C03800A */ lui $v1, 0x800a +/* 843404 80240834 8463A634 */ lh $v1, -0x59cc($v1) +/* 843408 80240838 3C05800B */ lui $a1, %hi(gCameras) +/* 84340C 8024083C 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 843410 80240840 AFBF0010 */ sw $ra, 0x10($sp) +/* 843414 80240844 00031080 */ sll $v0, $v1, 2 +/* 843418 80240848 00431021 */ addu $v0, $v0, $v1 +/* 84341C 8024084C 00021080 */ sll $v0, $v0, 2 +/* 843420 80240850 00431023 */ subu $v0, $v0, $v1 +/* 843424 80240854 000218C0 */ sll $v1, $v0, 3 +/* 843428 80240858 00431021 */ addu $v0, $v0, $v1 +/* 84342C 8024085C 8C830020 */ lw $v1, 0x20($a0) +/* 843430 80240860 000210C0 */ sll $v0, $v0, 3 +/* 843434 80240864 8C630000 */ lw $v1, ($v1) +/* 843438 80240868 30630001 */ andi $v1, $v1, 1 +/* 84343C 8024086C 10600004 */ beqz $v1, .L80240880 +/* 843440 80240870 00451021 */ addu $v0, $v0, $a1 +/* 843444 80240874 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 843448 80240878 0C00A6C9 */ jal clamp_angle +/* 84344C 8024087C 46006307 */ neg.s $f12, $f12 +.L80240880: +/* 843450 80240880 8FBF0010 */ lw $ra, 0x10($sp) +/* 843454 80240884 03E00008 */ jr $ra +/* 843458 80240888 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024088C.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024088C.s new file mode 100644 index 0000000000..ef50e45286 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024088C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024088C +/* 84345C 8024088C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 843460 80240890 AFB10014 */ sw $s1, 0x14($sp) +/* 843464 80240894 0080882D */ daddu $s1, $a0, $zero +/* 843468 80240898 AFBF0024 */ sw $ra, 0x24($sp) +/* 84346C 8024089C AFB40020 */ sw $s4, 0x20($sp) +/* 843470 802408A0 AFB3001C */ sw $s3, 0x1c($sp) +/* 843474 802408A4 AFB20018 */ sw $s2, 0x18($sp) +/* 843478 802408A8 10A00033 */ beqz $a1, .L80240978 +/* 84347C 802408AC AFB00010 */ sw $s0, 0x10($sp) +/* 843480 802408B0 0C04760B */ jal func_8011D82C +/* 843484 802408B4 24040001 */ addiu $a0, $zero, 1 +/* 843488 802408B8 0000202D */ daddu $a0, $zero, $zero +/* 84348C 802408BC 0080282D */ daddu $a1, $a0, $zero +/* 843490 802408C0 0080302D */ daddu $a2, $a0, $zero +/* 843494 802408C4 0080382D */ daddu $a3, $a0, $zero +/* 843498 802408C8 0080802D */ daddu $s0, $a0, $zero +/* 84349C 802408CC 2414FFFC */ addiu $s4, $zero, -4 +/* 8434A0 802408D0 24130014 */ addiu $s3, $zero, 0x14 +/* 8434A4 802408D4 3C120080 */ lui $s2, 0x80 +/* 8434A8 802408D8 3C038015 */ lui $v1, 0x8015 +/* 8434AC 802408DC 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 8434B0 802408E0 24020001 */ addiu $v0, $zero, 1 +/* 8434B4 802408E4 0C046F97 */ jal set_background_color_blend +/* 8434B8 802408E8 A0620000 */ sb $v0, ($v1) +.L802408EC: +/* 8434BC 802408EC 0C00E2B7 */ jal get_npc_by_index +/* 8434C0 802408F0 0200202D */ daddu $a0, $s0, $zero +/* 8434C4 802408F4 0040202D */ daddu $a0, $v0, $zero +/* 8434C8 802408F8 5080000B */ beql $a0, $zero, .L80240928 +/* 8434CC 802408FC 26100001 */ addiu $s0, $s0, 1 +/* 8434D0 80240900 8C820000 */ lw $v0, ($a0) +/* 8434D4 80240904 50400008 */ beql $v0, $zero, .L80240928 +/* 8434D8 80240908 26100001 */ addiu $s0, $s0, 1 +/* 8434DC 8024090C 808300A4 */ lb $v1, 0xa4($a0) +/* 8434E0 80240910 10740005 */ beq $v1, $s4, .L80240928 +/* 8434E4 80240914 26100001 */ addiu $s0, $s0, 1 +/* 8434E8 80240918 10730003 */ beq $v1, $s3, .L80240928 +/* 8434EC 8024091C 00000000 */ nop +/* 8434F0 80240920 00521025 */ or $v0, $v0, $s2 +/* 8434F4 80240924 AC820000 */ sw $v0, ($a0) +.L80240928: +/* 8434F8 80240928 2A020040 */ slti $v0, $s0, 0x40 +/* 8434FC 8024092C 1440FFEF */ bnez $v0, .L802408EC +/* 843500 80240930 00000000 */ nop +/* 843504 80240934 0000802D */ daddu $s0, $zero, $zero +/* 843508 80240938 3C120800 */ lui $s2, 0x800 +.L8024093C: +/* 84350C 8024093C 0C04C3D6 */ jal get_item_entity +/* 843510 80240940 0200202D */ daddu $a0, $s0, $zero +/* 843514 80240944 0040182D */ daddu $v1, $v0, $zero +/* 843518 80240948 10600007 */ beqz $v1, .L80240968 +/* 84351C 8024094C 26100001 */ addiu $s0, $s0, 1 +/* 843520 80240950 8C640000 */ lw $a0, ($v1) +/* 843524 80240954 30820010 */ andi $v0, $a0, 0x10 +/* 843528 80240958 10400003 */ beqz $v0, .L80240968 +/* 84352C 8024095C 00000000 */ nop +/* 843530 80240960 00921025 */ or $v0, $a0, $s2 +/* 843534 80240964 AC620000 */ sw $v0, ($v1) +.L80240968: +/* 843538 80240968 2A020100 */ slti $v0, $s0, 0x100 +/* 84353C 8024096C 1440FFF3 */ bnez $v0, .L8024093C +/* 843540 80240970 00000000 */ nop +/* 843544 80240974 AE200070 */ sw $zero, 0x70($s1) +.L80240978: +/* 843548 80240978 8E220070 */ lw $v0, 0x70($s1) +/* 84354C 8024097C 24420008 */ addiu $v0, $v0, 8 +/* 843550 80240980 AE220070 */ sw $v0, 0x70($s1) +/* 843554 80240984 28420100 */ slti $v0, $v0, 0x100 +/* 843558 80240988 14400003 */ bnez $v0, .L80240998 +/* 84355C 8024098C 0000202D */ daddu $a0, $zero, $zero +/* 843560 80240990 240200FF */ addiu $v0, $zero, 0xff +/* 843564 80240994 AE220070 */ sw $v0, 0x70($s1) +.L80240998: +/* 843568 80240998 0080282D */ daddu $a1, $a0, $zero +/* 84356C 8024099C 92270073 */ lbu $a3, 0x73($s1) +/* 843570 802409A0 0C046F97 */ jal set_background_color_blend +/* 843574 802409A4 0080302D */ daddu $a2, $a0, $zero +/* 843578 802409A8 8E220070 */ lw $v0, 0x70($s1) +/* 84357C 802409AC 8FBF0024 */ lw $ra, 0x24($sp) +/* 843580 802409B0 8FB40020 */ lw $s4, 0x20($sp) +/* 843584 802409B4 8FB3001C */ lw $s3, 0x1c($sp) +/* 843588 802409B8 8FB20018 */ lw $s2, 0x18($sp) +/* 84358C 802409BC 8FB10014 */ lw $s1, 0x14($sp) +/* 843590 802409C0 8FB00010 */ lw $s0, 0x10($sp) +/* 843594 802409C4 384200FF */ xori $v0, $v0, 0xff +/* 843598 802409C8 2C420001 */ sltiu $v0, $v0, 1 +/* 84359C 802409CC 00021040 */ sll $v0, $v0, 1 +/* 8435A0 802409D0 03E00008 */ jr $ra +/* 8435A4 802409D4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802409D8.s b/asm/nonmatchings/world/area_mac/mac_04/func_802409D8.s new file mode 100644 index 0000000000..dd532b0591 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802409D8.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D8 +/* 8435A8 802409D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8435AC 802409DC AFB00010 */ sw $s0, 0x10($sp) +/* 8435B0 802409E0 0080802D */ daddu $s0, $a0, $zero +/* 8435B4 802409E4 AFBF0020 */ sw $ra, 0x20($sp) +/* 8435B8 802409E8 AFB3001C */ sw $s3, 0x1c($sp) +/* 8435BC 802409EC AFB20018 */ sw $s2, 0x18($sp) +/* 8435C0 802409F0 10A00009 */ beqz $a1, .L80240A18 +/* 8435C4 802409F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8435C8 802409F8 0000202D */ daddu $a0, $zero, $zero +/* 8435CC 802409FC 0080282D */ daddu $a1, $a0, $zero +/* 8435D0 80240A00 0080302D */ daddu $a2, $a0, $zero +/* 8435D4 80240A04 0C046F97 */ jal set_background_color_blend +/* 8435D8 80240A08 240700FF */ addiu $a3, $zero, 0xff +/* 8435DC 80240A0C 240200FF */ addiu $v0, $zero, 0xff +/* 8435E0 80240A10 AE020070 */ sw $v0, 0x70($s0) +/* 8435E4 80240A14 AE000074 */ sw $zero, 0x74($s0) +.L80240A18: +/* 8435E8 80240A18 8E020070 */ lw $v0, 0x70($s0) +/* 8435EC 80240A1C 2442FFF8 */ addiu $v0, $v0, -8 +/* 8435F0 80240A20 04410002 */ bgez $v0, .L80240A2C +/* 8435F4 80240A24 AE020070 */ sw $v0, 0x70($s0) +/* 8435F8 80240A28 AE000070 */ sw $zero, 0x70($s0) +.L80240A2C: +/* 8435FC 80240A2C 0000202D */ daddu $a0, $zero, $zero +/* 843600 80240A30 0080282D */ daddu $a1, $a0, $zero +/* 843604 80240A34 92070073 */ lbu $a3, 0x73($s0) +/* 843608 80240A38 0C046F97 */ jal set_background_color_blend +/* 84360C 80240A3C 0080302D */ daddu $a2, $a0, $zero +/* 843610 80240A40 8E020070 */ lw $v0, 0x70($s0) +/* 843614 80240A44 14400006 */ bnez $v0, .L80240A60 +/* 843618 80240A48 00000000 */ nop +/* 84361C 80240A4C 8E020074 */ lw $v0, 0x74($s0) +/* 843620 80240A50 14400003 */ bnez $v0, .L80240A60 +/* 843624 80240A54 24020001 */ addiu $v0, $zero, 1 +/* 843628 80240A58 080902CB */ j .L80240B2C +/* 84362C 80240A5C AE020074 */ sw $v0, 0x74($s0) +.L80240A60: +/* 843630 80240A60 8E030074 */ lw $v1, 0x74($s0) +/* 843634 80240A64 24020001 */ addiu $v0, $zero, 1 +/* 843638 80240A68 14620031 */ bne $v1, $v0, .L80240B30 +/* 84363C 80240A6C 0000102D */ daddu $v0, $zero, $zero +/* 843640 80240A70 0C04760B */ jal func_8011D82C +/* 843644 80240A74 0000202D */ daddu $a0, $zero, $zero +/* 843648 80240A78 0000802D */ daddu $s0, $zero, $zero +/* 84364C 80240A7C 2413FFFC */ addiu $s3, $zero, -4 +/* 843650 80240A80 24120014 */ addiu $s2, $zero, 0x14 +/* 843654 80240A84 3C11FF7F */ lui $s1, 0xff7f +/* 843658 80240A88 3C028015 */ lui $v0, 0x8015 +/* 84365C 80240A8C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 843660 80240A90 3631FFFF */ ori $s1, $s1, 0xffff +/* 843664 80240A94 A0400000 */ sb $zero, ($v0) +.L80240A98: +/* 843668 80240A98 0C00E2B7 */ jal get_npc_by_index +/* 84366C 80240A9C 0200202D */ daddu $a0, $s0, $zero +/* 843670 80240AA0 0040202D */ daddu $a0, $v0, $zero +/* 843674 80240AA4 5080000B */ beql $a0, $zero, .L80240AD4 +/* 843678 80240AA8 26100001 */ addiu $s0, $s0, 1 +/* 84367C 80240AAC 8C820000 */ lw $v0, ($a0) +/* 843680 80240AB0 50400008 */ beql $v0, $zero, .L80240AD4 +/* 843684 80240AB4 26100001 */ addiu $s0, $s0, 1 +/* 843688 80240AB8 808300A4 */ lb $v1, 0xa4($a0) +/* 84368C 80240ABC 10730005 */ beq $v1, $s3, .L80240AD4 +/* 843690 80240AC0 26100001 */ addiu $s0, $s0, 1 +/* 843694 80240AC4 10720003 */ beq $v1, $s2, .L80240AD4 +/* 843698 80240AC8 00000000 */ nop +/* 84369C 80240ACC 00511024 */ and $v0, $v0, $s1 +/* 8436A0 80240AD0 AC820000 */ sw $v0, ($a0) +.L80240AD4: +/* 8436A4 80240AD4 2A020040 */ slti $v0, $s0, 0x40 +/* 8436A8 80240AD8 1440FFEF */ bnez $v0, .L80240A98 +/* 8436AC 80240ADC 00000000 */ nop +/* 8436B0 80240AE0 0000802D */ daddu $s0, $zero, $zero +/* 8436B4 80240AE4 3C11F7FF */ lui $s1, 0xf7ff +/* 8436B8 80240AE8 3631FFFF */ ori $s1, $s1, 0xffff +.L80240AEC: +/* 8436BC 80240AEC 0C04C3D6 */ jal get_item_entity +/* 8436C0 80240AF0 0200202D */ daddu $a0, $s0, $zero +/* 8436C4 80240AF4 0040182D */ daddu $v1, $v0, $zero +/* 8436C8 80240AF8 10600007 */ beqz $v1, .L80240B18 +/* 8436CC 80240AFC 26100001 */ addiu $s0, $s0, 1 +/* 8436D0 80240B00 8C640000 */ lw $a0, ($v1) +/* 8436D4 80240B04 30820010 */ andi $v0, $a0, 0x10 +/* 8436D8 80240B08 10400003 */ beqz $v0, .L80240B18 +/* 8436DC 80240B0C 00000000 */ nop +/* 8436E0 80240B10 00911024 */ and $v0, $a0, $s1 +/* 8436E4 80240B14 AC620000 */ sw $v0, ($v1) +.L80240B18: +/* 8436E8 80240B18 2A020100 */ slti $v0, $s0, 0x100 +/* 8436EC 80240B1C 1440FFF3 */ bnez $v0, .L80240AEC +/* 8436F0 80240B20 24020002 */ addiu $v0, $zero, 2 +/* 8436F4 80240B24 080902CC */ j .L80240B30 +/* 8436F8 80240B28 00000000 */ nop +.L80240B2C: +/* 8436FC 80240B2C 0000102D */ daddu $v0, $zero, $zero +.L80240B30: +/* 843700 80240B30 8FBF0020 */ lw $ra, 0x20($sp) +/* 843704 80240B34 8FB3001C */ lw $s3, 0x1c($sp) +/* 843708 80240B38 8FB20018 */ lw $s2, 0x18($sp) +/* 84370C 80240B3C 8FB10014 */ lw $s1, 0x14($sp) +/* 843710 80240B40 8FB00010 */ lw $s0, 0x10($sp) +/* 843714 80240B44 03E00008 */ jr $ra +/* 843718 80240B48 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240B4C.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240B4C.s new file mode 100644 index 0000000000..da52257e94 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240B4C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B4C +/* 84371C 80240B4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 843720 80240B50 AFB00010 */ sw $s0, 0x10($sp) +/* 843724 80240B54 3C108011 */ lui $s0, %hi(gPlayerData) +/* 843728 80240B58 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 84372C 80240B5C AFBF0018 */ sw $ra, 0x18($sp) +/* 843730 80240B60 AFB10014 */ sw $s1, 0x14($sp) +/* 843734 80240B64 960302C0 */ lhu $v1, 0x2c0($s0) +/* 843738 80240B68 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 84373C 80240B6C 10400003 */ beqz $v0, .L80240B7C +/* 843740 80240B70 0080882D */ daddu $s1, $a0, $zero +/* 843744 80240B74 24620001 */ addiu $v0, $v1, 1 +/* 843748 80240B78 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240B7C: +/* 84374C 80240B7C 3C05F5DE */ lui $a1, 0xf5de +/* 843750 80240B80 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 843754 80240B84 0C0B1EAF */ jal get_variable +/* 843758 80240B88 0000202D */ daddu $a0, $zero, $zero +/* 84375C 80240B8C 3C038024 */ lui $v1, 0x8024 +/* 843760 80240B90 00621821 */ addu $v1, $v1, $v0 +/* 843764 80240B94 9063404C */ lbu $v1, 0x404c($v1) +/* 843768 80240B98 8E220084 */ lw $v0, 0x84($s1) +/* 84376C 80240B9C 54430006 */ bnel $v0, $v1, .L80240BB8 +/* 843770 80240BA0 AE200084 */ sw $zero, 0x84($s1) +/* 843774 80240BA4 24020001 */ addiu $v0, $zero, 1 +/* 843778 80240BA8 AE220084 */ sw $v0, 0x84($s1) +/* 84377C 80240BAC 960202C2 */ lhu $v0, 0x2c2($s0) +/* 843780 80240BB0 24420001 */ addiu $v0, $v0, 1 +/* 843784 80240BB4 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240BB8: +/* 843788 80240BB8 8FBF0018 */ lw $ra, 0x18($sp) +/* 84378C 80240BBC 8FB10014 */ lw $s1, 0x14($sp) +/* 843790 80240BC0 8FB00010 */ lw $s0, 0x10($sp) +/* 843794 80240BC4 24020002 */ addiu $v0, $zero, 2 +/* 843798 80240BC8 03E00008 */ jr $ra +/* 84379C 80240BCC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240BD0.s new file mode 100644 index 0000000000..8701f6b166 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240BD0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD0 +/* 8437A0 80240BD0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8437A4 80240BD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 8437A8 80240BD8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8437AC 80240BDC AFB00018 */ sw $s0, 0x18($sp) +/* 8437B0 80240BE0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8437B4 80240BE4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8437B8 80240BE8 10A00060 */ beqz $a1, .L80240D6C +/* 8437BC 80240BEC 0080882D */ daddu $s1, $a0, $zero +/* 8437C0 80240BF0 3C05F4AC */ lui $a1, 0xf4ac +/* 8437C4 80240BF4 0C0B1EAF */ jal get_variable +/* 8437C8 80240BF8 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8437CC 80240BFC 0220202D */ daddu $a0, $s1, $zero +/* 8437D0 80240C00 3C05F4AC */ lui $a1, 0xf4ac +/* 8437D4 80240C04 4482B000 */ mtc1 $v0, $f22 +/* 8437D8 80240C08 00000000 */ nop +/* 8437DC 80240C0C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8437E0 80240C10 0C0B1EAF */ jal get_variable +/* 8437E4 80240C14 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8437E8 80240C18 0220202D */ daddu $a0, $s1, $zero +/* 8437EC 80240C1C 3C05F4AC */ lui $a1, 0xf4ac +/* 8437F0 80240C20 4482A000 */ mtc1 $v0, $f20 +/* 8437F4 80240C24 00000000 */ nop +/* 8437F8 80240C28 4680A520 */ cvt.s.w $f20, $f20 +/* 8437FC 80240C2C 0C0B1EAF */ jal get_variable +/* 843800 80240C30 34A5D483 */ ori $a1, $a1, 0xd483 +/* 843804 80240C34 44821000 */ mtc1 $v0, $f2 +/* 843808 80240C38 00000000 */ nop +/* 84380C 80240C3C 468010A0 */ cvt.s.w $f2, $f2 +/* 843810 80240C40 4405B000 */ mfc1 $a1, $f22 +/* 843814 80240C44 4406A000 */ mfc1 $a2, $f20 +/* 843818 80240C48 44071000 */ mfc1 $a3, $f2 +/* 84381C 80240C4C 0C01C574 */ jal func_800715D0 +/* 843820 80240C50 0000202D */ daddu $a0, $zero, $zero +/* 843824 80240C54 0220202D */ daddu $a0, $s1, $zero +/* 843828 80240C58 3C05F4AC */ lui $a1, 0xf4ac +/* 84382C 80240C5C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 843830 80240C60 3C108025 */ lui $s0, 0x8025 +/* 843834 80240C64 2610F5C0 */ addiu $s0, $s0, -0xa40 +/* 843838 80240C68 0C0B1EAF */ jal get_variable +/* 84383C 80240C6C AE020000 */ sw $v0, ($s0) +/* 843840 80240C70 0220202D */ daddu $a0, $s1, $zero +/* 843844 80240C74 3C05F4AC */ lui $a1, 0xf4ac +/* 843848 80240C78 4482B000 */ mtc1 $v0, $f22 +/* 84384C 80240C7C 00000000 */ nop +/* 843850 80240C80 4680B5A0 */ cvt.s.w $f22, $f22 +/* 843854 80240C84 0C0B1EAF */ jal get_variable +/* 843858 80240C88 34A5D482 */ ori $a1, $a1, 0xd482 +/* 84385C 80240C8C 0220202D */ daddu $a0, $s1, $zero +/* 843860 80240C90 3C05F4AC */ lui $a1, 0xf4ac +/* 843864 80240C94 4482A000 */ mtc1 $v0, $f20 +/* 843868 80240C98 00000000 */ nop +/* 84386C 80240C9C 4680A520 */ cvt.s.w $f20, $f20 +/* 843870 80240CA0 0C0B1EAF */ jal get_variable +/* 843874 80240CA4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 843878 80240CA8 44821000 */ mtc1 $v0, $f2 +/* 84387C 80240CAC 00000000 */ nop +/* 843880 80240CB0 468010A0 */ cvt.s.w $f2, $f2 +/* 843884 80240CB4 4405B000 */ mfc1 $a1, $f22 +/* 843888 80240CB8 4406A000 */ mfc1 $a2, $f20 +/* 84388C 80240CBC 44071000 */ mfc1 $a3, $f2 +/* 843890 80240CC0 0C01C604 */ jal func_80071810 +/* 843894 80240CC4 0000202D */ daddu $a0, $zero, $zero +/* 843898 80240CC8 0220202D */ daddu $a0, $s1, $zero +/* 84389C 80240CCC 3C05F4AC */ lui $a1, 0xf4ac +/* 8438A0 80240CD0 3C018025 */ lui $at, 0x8025 +/* 8438A4 80240CD4 AC22F5C4 */ sw $v0, -0xa3c($at) +/* 8438A8 80240CD8 0C0B1EAF */ jal get_variable +/* 8438AC 80240CDC 34A5D481 */ ori $a1, $a1, 0xd481 +/* 8438B0 80240CE0 0220202D */ daddu $a0, $s1, $zero +/* 8438B4 80240CE4 3C05F4AC */ lui $a1, 0xf4ac +/* 8438B8 80240CE8 4482B000 */ mtc1 $v0, $f22 +/* 8438BC 80240CEC 00000000 */ nop +/* 8438C0 80240CF0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8438C4 80240CF4 0C0B1EAF */ jal get_variable +/* 8438C8 80240CF8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 8438CC 80240CFC 0220202D */ daddu $a0, $s1, $zero +/* 8438D0 80240D00 3C05F4AC */ lui $a1, 0xf4ac +/* 8438D4 80240D04 4482A000 */ mtc1 $v0, $f20 +/* 8438D8 80240D08 00000000 */ nop +/* 8438DC 80240D0C 4680A520 */ cvt.s.w $f20, $f20 +/* 8438E0 80240D10 0C0B1EAF */ jal get_variable +/* 8438E4 80240D14 34A5D483 */ ori $a1, $a1, 0xd483 +/* 8438E8 80240D18 44821000 */ mtc1 $v0, $f2 +/* 8438EC 80240D1C 00000000 */ nop +/* 8438F0 80240D20 468010A0 */ cvt.s.w $f2, $f2 +/* 8438F4 80240D24 4405B000 */ mfc1 $a1, $f22 +/* 8438F8 80240D28 4406A000 */ mfc1 $a2, $f20 +/* 8438FC 80240D2C 3C013F80 */ lui $at, 0x3f80 +/* 843900 80240D30 44810000 */ mtc1 $at, $f0 +/* 843904 80240D34 44071000 */ mfc1 $a3, $f2 +/* 843908 80240D38 0000202D */ daddu $a0, $zero, $zero +/* 84390C 80240D3C AFA00014 */ sw $zero, 0x14($sp) +/* 843910 80240D40 0C01CA24 */ jal func_80072890 +/* 843914 80240D44 E7A00010 */ swc1 $f0, 0x10($sp) +/* 843918 80240D48 8E030000 */ lw $v1, ($s0) +/* 84391C 80240D4C 8C64000C */ lw $a0, 0xc($v1) +/* 843920 80240D50 3C018025 */ lui $at, 0x8025 +/* 843924 80240D54 AC22F5C8 */ sw $v0, -0xa38($at) +/* 843928 80240D58 AC800018 */ sw $zero, 0x18($a0) +/* 84392C 80240D5C AC800020 */ sw $zero, 0x20($a0) +/* 843930 80240D60 AC800024 */ sw $zero, 0x24($a0) +/* 843934 80240D64 AC800028 */ sw $zero, 0x28($a0) +/* 843938 80240D68 AC80001C */ sw $zero, 0x1c($a0) +.L80240D6C: +/* 84393C 80240D6C 3C028025 */ lui $v0, 0x8025 +/* 843940 80240D70 8C42F5C0 */ lw $v0, -0xa40($v0) +/* 843944 80240D74 8C44000C */ lw $a0, 0xc($v0) +/* 843948 80240D78 8C820020 */ lw $v0, 0x20($a0) +/* 84394C 80240D7C 8C830028 */ lw $v1, 0x28($a0) +/* 843950 80240D80 2442000A */ addiu $v0, $v0, 0xa +/* 843954 80240D84 AC820020 */ sw $v0, 0x20($a0) +/* 843958 80240D88 8C820024 */ lw $v0, 0x24($a0) +/* 84395C 80240D8C 2463000A */ addiu $v1, $v1, 0xa +/* 843960 80240D90 AC830028 */ sw $v1, 0x28($a0) +/* 843964 80240D94 8C830018 */ lw $v1, 0x18($a0) +/* 843968 80240D98 2442000A */ addiu $v0, $v0, 0xa +/* 84396C 80240D9C AC820024 */ sw $v0, 0x24($a0) +/* 843970 80240DA0 8C82001C */ lw $v0, 0x1c($a0) +/* 843974 80240DA4 2463000A */ addiu $v1, $v1, 0xa +/* 843978 80240DA8 AC830018 */ sw $v1, 0x18($a0) +/* 84397C 80240DAC 286300FF */ slti $v1, $v1, 0xff +/* 843980 80240DB0 2442000A */ addiu $v0, $v0, 0xa +/* 843984 80240DB4 AC82001C */ sw $v0, 0x1c($a0) +/* 843988 80240DB8 14600004 */ bnez $v1, .L80240DCC +/* 84398C 80240DBC 0000102D */ daddu $v0, $zero, $zero +/* 843990 80240DC0 240200FF */ addiu $v0, $zero, 0xff +/* 843994 80240DC4 AC820018 */ sw $v0, 0x18($a0) +/* 843998 80240DC8 24020002 */ addiu $v0, $zero, 2 +.L80240DCC: +/* 84399C 80240DCC 8FBF0020 */ lw $ra, 0x20($sp) +/* 8439A0 80240DD0 8FB1001C */ lw $s1, 0x1c($sp) +/* 8439A4 80240DD4 8FB00018 */ lw $s0, 0x18($sp) +/* 8439A8 80240DD8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8439AC 80240DDC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8439B0 80240DE0 03E00008 */ jr $ra +/* 8439B4 80240DE4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240DE8.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240DE8.s new file mode 100644 index 0000000000..7150970f01 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240DE8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE8 +/* 8439B8 80240DE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8439BC 80240DEC 10A0000B */ beqz $a1, .L80240E1C +/* 8439C0 80240DF0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8439C4 80240DF4 3C038025 */ lui $v1, 0x8025 +/* 8439C8 80240DF8 8C63F5C4 */ lw $v1, -0xa3c($v1) +/* 8439CC 80240DFC 8C620000 */ lw $v0, ($v1) +/* 8439D0 80240E00 3C048025 */ lui $a0, 0x8025 +/* 8439D4 80240E04 8C84F5C8 */ lw $a0, -0xa38($a0) +/* 8439D8 80240E08 34420010 */ ori $v0, $v0, 0x10 +/* 8439DC 80240E0C AC620000 */ sw $v0, ($v1) +/* 8439E0 80240E10 8C820000 */ lw $v0, ($a0) +/* 8439E4 80240E14 34420010 */ ori $v0, $v0, 0x10 +/* 8439E8 80240E18 AC820000 */ sw $v0, ($a0) +.L80240E1C: +/* 8439EC 80240E1C 3C048025 */ lui $a0, 0x8025 +/* 8439F0 80240E20 8C84F5C0 */ lw $a0, -0xa40($a0) +/* 8439F4 80240E24 8C85000C */ lw $a1, 0xc($a0) +/* 8439F8 80240E28 8CA20018 */ lw $v0, 0x18($a1) +/* 8439FC 80240E2C 8CA30020 */ lw $v1, 0x20($a1) +/* 843A00 80240E30 2442FFF6 */ addiu $v0, $v0, -0xa +/* 843A04 80240E34 ACA20018 */ sw $v0, 0x18($a1) +/* 843A08 80240E38 8CA20024 */ lw $v0, 0x24($a1) +/* 843A0C 80240E3C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 843A10 80240E40 ACA30020 */ sw $v1, 0x20($a1) +/* 843A14 80240E44 8CA30028 */ lw $v1, 0x28($a1) +/* 843A18 80240E48 2442FFF6 */ addiu $v0, $v0, -0xa +/* 843A1C 80240E4C ACA20024 */ sw $v0, 0x24($a1) +/* 843A20 80240E50 8CA2001C */ lw $v0, 0x1c($a1) +/* 843A24 80240E54 2463FFF6 */ addiu $v1, $v1, -0xa +/* 843A28 80240E58 ACA30028 */ sw $v1, 0x28($a1) +/* 843A2C 80240E5C 8CA30018 */ lw $v1, 0x18($a1) +/* 843A30 80240E60 2442FFF6 */ addiu $v0, $v0, -0xa +/* 843A34 80240E64 18600003 */ blez $v1, .L80240E74 +/* 843A38 80240E68 ACA2001C */ sw $v0, 0x1c($a1) +/* 843A3C 80240E6C 080903A4 */ j .L80240E90 +/* 843A40 80240E70 0000102D */ daddu $v0, $zero, $zero +.L80240E74: +/* 843A44 80240E74 0C016914 */ jal remove_effect +/* 843A48 80240E78 ACA00018 */ sw $zero, 0x18($a1) +/* 843A4C 80240E7C 3C048025 */ lui $a0, 0x8025 +/* 843A50 80240E80 8C84F5A0 */ lw $a0, -0xa60($a0) +/* 843A54 80240E84 0C048D70 */ jal func_801235C0 +/* 843A58 80240E88 00000000 */ nop +/* 843A5C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* 843A60 80240E90 8FBF0010 */ lw $ra, 0x10($sp) +/* 843A64 80240E94 03E00008 */ jr $ra +/* 843A68 80240E98 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240E9C.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240E9C.s new file mode 100644 index 0000000000..469974a0ec --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240E9C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E9C +/* 843A6C 80240E9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 843A70 80240EA0 AFBF0010 */ sw $ra, 0x10($sp) +/* 843A74 80240EA4 8C82000C */ lw $v0, 0xc($a0) +/* 843A78 80240EA8 0C0B1EAF */ jal get_variable +/* 843A7C 80240EAC 8C450000 */ lw $a1, ($v0) +/* 843A80 80240EB0 3C038025 */ lui $v1, 0x8025 +/* 843A84 80240EB4 8C63F5C0 */ lw $v1, -0xa40($v1) +/* 843A88 80240EB8 8C63000C */ lw $v1, 0xc($v1) +/* 843A8C 80240EBC AC620034 */ sw $v0, 0x34($v1) +/* 843A90 80240EC0 8FBF0010 */ lw $ra, 0x10($sp) +/* 843A94 80240EC4 24020002 */ addiu $v0, $zero, 2 +/* 843A98 80240EC8 03E00008 */ jr $ra +/* 843A9C 80240ECC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240ED0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240ED0.s new file mode 100644 index 0000000000..d205dc2662 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240ED0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ED0 +/* 843AA0 80240ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 843AA4 80240ED4 AFBF0010 */ sw $ra, 0x10($sp) +/* 843AA8 80240ED8 8C82000C */ lw $v0, 0xc($a0) +/* 843AAC 80240EDC 0C0B1EAF */ jal get_variable +/* 843AB0 80240EE0 8C450000 */ lw $a1, ($v0) +/* 843AB4 80240EE4 0040202D */ daddu $a0, $v0, $zero +/* 843AB8 80240EE8 3C028025 */ lui $v0, 0x8025 +/* 843ABC 80240EEC 8C42F5C0 */ lw $v0, -0xa40($v0) +/* 843AC0 80240EF0 24030001 */ addiu $v1, $zero, 1 +/* 843AC4 80240EF4 8C45000C */ lw $a1, 0xc($v0) +/* 843AC8 80240EF8 1083000D */ beq $a0, $v1, .L80240F30 +/* 843ACC 80240EFC 28820002 */ slti $v0, $a0, 2 +/* 843AD0 80240F00 10400005 */ beqz $v0, .L80240F18 +/* 843AD4 80240F04 24020002 */ addiu $v0, $zero, 2 +/* 843AD8 80240F08 10800007 */ beqz $a0, .L80240F28 +/* 843ADC 80240F0C 240200C0 */ addiu $v0, $zero, 0xc0 +/* 843AE0 80240F10 080903D0 */ j .L80240F40 +/* 843AE4 80240F14 ACA00038 */ sw $zero, 0x38($a1) +.L80240F18: +/* 843AE8 80240F18 10820008 */ beq $a0, $v0, .L80240F3C +/* 843AEC 80240F1C 24020040 */ addiu $v0, $zero, 0x40 +/* 843AF0 80240F20 080903D0 */ j .L80240F40 +/* 843AF4 80240F24 ACA00038 */ sw $zero, 0x38($a1) +.L80240F28: +/* 843AF8 80240F28 080903D0 */ j .L80240F40 +/* 843AFC 80240F2C ACA20038 */ sw $v0, 0x38($a1) +.L80240F30: +/* 843B00 80240F30 24020080 */ addiu $v0, $zero, 0x80 +/* 843B04 80240F34 080903D0 */ j .L80240F40 +/* 843B08 80240F38 ACA20038 */ sw $v0, 0x38($a1) +.L80240F3C: +/* 843B0C 80240F3C ACA20038 */ sw $v0, 0x38($a1) +.L80240F40: +/* 843B10 80240F40 8FBF0010 */ lw $ra, 0x10($sp) +/* 843B14 80240F44 24020002 */ addiu $v0, $zero, 2 +/* 843B18 80240F48 03E00008 */ jr $ra +/* 843B1C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240F50_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240F50_842BD0.s new file mode 100644 index 0000000000..3cc3506b0b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240F50_842BD0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_843B20 +/* 843B20 80240F50 3C028025 */ lui $v0, 0x8025 +/* 843B24 80240F54 8C42F5C8 */ lw $v0, -0xa38($v0) +/* 843B28 80240F58 8C42000C */ lw $v0, 0xc($v0) +/* 843B2C 80240F5C AC40001C */ sw $zero, 0x1c($v0) +/* 843B30 80240F60 03E00008 */ jr $ra +/* 843B34 80240F64 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240F68.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240F68.s new file mode 100644 index 0000000000..8af59e70fd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240F68.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F68 +/* 843B38 80240F68 3C028025 */ lui $v0, 0x8025 +/* 843B3C 80240F6C 8C42F5C8 */ lw $v0, -0xa38($v0) +/* 843B40 80240F70 8C43000C */ lw $v1, 0xc($v0) +/* 843B44 80240F74 24020001 */ addiu $v0, $zero, 1 +/* 843B48 80240F78 AC62001C */ sw $v0, 0x1c($v1) +/* 843B4C 80240F7C 03E00008 */ jr $ra +/* 843B50 80240F80 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240F84.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240F84.s new file mode 100644 index 0000000000..e067007281 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240F84.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F84 +/* 843B54 80240F84 3C028025 */ lui $v0, 0x8025 +/* 843B58 80240F88 8C42F5C8 */ lw $v0, -0xa38($v0) +/* 843B5C 80240F8C 8C43000C */ lw $v1, 0xc($v0) +/* 843B60 80240F90 24020002 */ addiu $v0, $zero, 2 +/* 843B64 80240F94 03E00008 */ jr $ra +/* 843B68 80240F98 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240F9C.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240F9C.s new file mode 100644 index 0000000000..df966a183c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240F9C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F9C +/* 843B6C 80240F9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 843B70 80240FA0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 843B74 80240FA4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 843B78 80240FA8 3C05FE36 */ lui $a1, 0xfe36 +/* 843B7C 80240FAC AFBF0010 */ sw $ra, 0x10($sp) +/* 843B80 80240FB0 80460075 */ lb $a2, 0x75($v0) +/* 843B84 80240FB4 0C0B2026 */ jal set_variable +/* 843B88 80240FB8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 843B8C 80240FBC 8FBF0010 */ lw $ra, 0x10($sp) +/* 843B90 80240FC0 24020002 */ addiu $v0, $zero, 2 +/* 843B94 80240FC4 03E00008 */ jr $ra +/* 843B98 80240FC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80240FCC.s b/asm/nonmatchings/world/area_mac/mac_04/func_80240FCC.s new file mode 100644 index 0000000000..67e454c808 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80240FCC.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FCC +/* 843B9C 80240FCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 843BA0 80240FD0 AFB10014 */ sw $s1, 0x14($sp) +/* 843BA4 80240FD4 0080882D */ daddu $s1, $a0, $zero +/* 843BA8 80240FD8 AFBF0018 */ sw $ra, 0x18($sp) +/* 843BAC 80240FDC AFB00010 */ sw $s0, 0x10($sp) +/* 843BB0 80240FE0 8E30000C */ lw $s0, 0xc($s1) +/* 843BB4 80240FE4 8E050000 */ lw $a1, ($s0) +/* 843BB8 80240FE8 0C0B1EAF */ jal get_variable +/* 843BBC 80240FEC 26100004 */ addiu $s0, $s0, 4 +/* 843BC0 80240FF0 0220202D */ daddu $a0, $s1, $zero +/* 843BC4 80240FF4 8E050000 */ lw $a1, ($s0) +/* 843BC8 80240FF8 0C0B210B */ jal get_float_variable +/* 843BCC 80240FFC 0040802D */ daddu $s0, $v0, $zero +/* 843BD0 80241000 24020002 */ addiu $v0, $zero, 2 +/* 843BD4 80241004 00501804 */ sllv $v1, $s0, $v0 +/* 843BD8 80241008 00701821 */ addu $v1, $v1, $s0 +/* 843BDC 8024100C 00431804 */ sllv $v1, $v1, $v0 +/* 843BE0 80241010 00701823 */ subu $v1, $v1, $s0 +/* 843BE4 80241014 000320C0 */ sll $a0, $v1, 3 +/* 843BE8 80241018 00641821 */ addu $v1, $v1, $a0 +/* 843BEC 8024101C 000318C0 */ sll $v1, $v1, 3 +/* 843BF0 80241020 3C01800B */ lui $at, 0x800b +/* 843BF4 80241024 00230821 */ addu $at, $at, $v1 +/* 843BF8 80241028 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 843BFC 8024102C 8FBF0018 */ lw $ra, 0x18($sp) +/* 843C00 80241030 8FB10014 */ lw $s1, 0x14($sp) +/* 843C04 80241034 8FB00010 */ lw $s0, 0x10($sp) +/* 843C08 80241038 03E00008 */ jr $ra +/* 843C0C 8024103C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241040.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241040.s new file mode 100644 index 0000000000..3a5155e40d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241040.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241040 +/* 843C10 80241040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 843C14 80241044 AFB10014 */ sw $s1, 0x14($sp) +/* 843C18 80241048 0080882D */ daddu $s1, $a0, $zero +/* 843C1C 8024104C AFBF0018 */ sw $ra, 0x18($sp) +/* 843C20 80241050 AFB00010 */ sw $s0, 0x10($sp) +/* 843C24 80241054 8E30000C */ lw $s0, 0xc($s1) +/* 843C28 80241058 8E050000 */ lw $a1, ($s0) +/* 843C2C 8024105C 0C0B1EAF */ jal get_variable +/* 843C30 80241060 26100004 */ addiu $s0, $s0, 4 +/* 843C34 80241064 00021880 */ sll $v1, $v0, 2 +/* 843C38 80241068 00621821 */ addu $v1, $v1, $v0 +/* 843C3C 8024106C 00031880 */ sll $v1, $v1, 2 +/* 843C40 80241070 00621823 */ subu $v1, $v1, $v0 +/* 843C44 80241074 000310C0 */ sll $v0, $v1, 3 +/* 843C48 80241078 00621821 */ addu $v1, $v1, $v0 +/* 843C4C 8024107C 000318C0 */ sll $v1, $v1, 3 +/* 843C50 80241080 3C01800B */ lui $at, 0x800b +/* 843C54 80241084 00230821 */ addu $at, $at, $v1 +/* 843C58 80241088 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 843C5C 8024108C 3C014480 */ lui $at, 0x4480 +/* 843C60 80241090 44810000 */ mtc1 $at, $f0 +/* 843C64 80241094 00000000 */ nop +/* 843C68 80241098 46001082 */ mul.s $f2, $f2, $f0 +/* 843C6C 8024109C 00000000 */ nop +/* 843C70 802410A0 3C01CD5B */ lui $at, 0xcd5b +/* 843C74 802410A4 34215858 */ ori $at, $at, 0x5858 +/* 843C78 802410A8 44810000 */ mtc1 $at, $f0 +/* 843C7C 802410AC 00000000 */ nop +/* 843C80 802410B0 46001080 */ add.s $f2, $f2, $f0 +/* 843C84 802410B4 8E050000 */ lw $a1, ($s0) +/* 843C88 802410B8 4600110D */ trunc.w.s $f4, $f2 +/* 843C8C 802410BC 44062000 */ mfc1 $a2, $f4 +/* 843C90 802410C0 0C0B2026 */ jal set_variable +/* 843C94 802410C4 0220202D */ daddu $a0, $s1, $zero +/* 843C98 802410C8 8FBF0018 */ lw $ra, 0x18($sp) +/* 843C9C 802410CC 8FB10014 */ lw $s1, 0x14($sp) +/* 843CA0 802410D0 8FB00010 */ lw $s0, 0x10($sp) +/* 843CA4 802410D4 24020002 */ addiu $v0, $zero, 2 +/* 843CA8 802410D8 03E00008 */ jr $ra +/* 843CAC 802410DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802410E0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802410E0.s new file mode 100644 index 0000000000..de7b46944a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802410E0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410E0 +/* 843CB0 802410E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 843CB4 802410E4 AFB20018 */ sw $s2, 0x18($sp) +/* 843CB8 802410E8 0080902D */ daddu $s2, $a0, $zero +/* 843CBC 802410EC AFBF0030 */ sw $ra, 0x30($sp) +/* 843CC0 802410F0 AFB7002C */ sw $s7, 0x2c($sp) +/* 843CC4 802410F4 AFB60028 */ sw $s6, 0x28($sp) +/* 843CC8 802410F8 AFB50024 */ sw $s5, 0x24($sp) +/* 843CCC 802410FC AFB40020 */ sw $s4, 0x20($sp) +/* 843CD0 80241100 AFB3001C */ sw $s3, 0x1c($sp) +/* 843CD4 80241104 AFB10014 */ sw $s1, 0x14($sp) +/* 843CD8 80241108 AFB00010 */ sw $s0, 0x10($sp) +/* 843CDC 8024110C F7B60040 */ sdc1 $f22, 0x40($sp) +/* 843CE0 80241110 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 843CE4 80241114 8E50000C */ lw $s0, 0xc($s2) +/* 843CE8 80241118 8E050000 */ lw $a1, ($s0) +/* 843CEC 8024111C 0C0B1EAF */ jal get_variable +/* 843CF0 80241120 26100004 */ addiu $s0, $s0, 4 +/* 843CF4 80241124 8E050000 */ lw $a1, ($s0) +/* 843CF8 80241128 26100004 */ addiu $s0, $s0, 4 +/* 843CFC 8024112C 0240202D */ daddu $a0, $s2, $zero +/* 843D00 80241130 0C0B1EAF */ jal get_variable +/* 843D04 80241134 0040B82D */ daddu $s7, $v0, $zero +/* 843D08 80241138 8E050000 */ lw $a1, ($s0) +/* 843D0C 8024113C 26100004 */ addiu $s0, $s0, 4 +/* 843D10 80241140 0240202D */ daddu $a0, $s2, $zero +/* 843D14 80241144 0C0B1EAF */ jal get_variable +/* 843D18 80241148 0040B02D */ daddu $s6, $v0, $zero +/* 843D1C 8024114C 0240202D */ daddu $a0, $s2, $zero +/* 843D20 80241150 3C05F4AC */ lui $a1, 0xf4ac +/* 843D24 80241154 34A5D481 */ ori $a1, $a1, 0xd481 +/* 843D28 80241158 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 843D2C 8024115C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 843D30 80241160 8E140000 */ lw $s4, ($s0) +/* 843D34 80241164 00061880 */ sll $v1, $a2, 2 +/* 843D38 80241168 00661821 */ addu $v1, $v1, $a2 +/* 843D3C 8024116C 00031880 */ sll $v1, $v1, 2 +/* 843D40 80241170 00661823 */ subu $v1, $v1, $a2 +/* 843D44 80241174 000330C0 */ sll $a2, $v1, 3 +/* 843D48 80241178 00661821 */ addu $v1, $v1, $a2 +/* 843D4C 8024117C 000318C0 */ sll $v1, $v1, 3 +/* 843D50 80241180 3C01800B */ lui $at, 0x800b +/* 843D54 80241184 00230821 */ addu $at, $at, $v1 +/* 843D58 80241188 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 843D5C 8024118C 8E150004 */ lw $s5, 4($s0) +/* 843D60 80241190 4600010D */ trunc.w.s $f4, $f0 +/* 843D64 80241194 44112000 */ mfc1 $s1, $f4 +/* 843D68 80241198 0C0B1EAF */ jal get_variable +/* 843D6C 8024119C 0040982D */ daddu $s3, $v0, $zero +/* 843D70 802411A0 4491B000 */ mtc1 $s1, $f22 +/* 843D74 802411A4 00000000 */ nop +/* 843D78 802411A8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 843D7C 802411AC 4600B306 */ mov.s $f12, $f22 +/* 843D80 802411B0 0C00A8D4 */ jal cos_deg +/* 843D84 802411B4 0040802D */ daddu $s0, $v0, $zero +/* 843D88 802411B8 4493A000 */ mtc1 $s3, $f20 +/* 843D8C 802411BC 00000000 */ nop +/* 843D90 802411C0 4680A520 */ cvt.s.w $f20, $f20 +/* 843D94 802411C4 4600A002 */ mul.s $f0, $f20, $f0 +/* 843D98 802411C8 00000000 */ nop +/* 843D9C 802411CC 0240202D */ daddu $a0, $s2, $zero +/* 843DA0 802411D0 44901000 */ mtc1 $s0, $f2 +/* 843DA4 802411D4 00000000 */ nop +/* 843DA8 802411D8 468010A0 */ cvt.s.w $f2, $f2 +/* 843DAC 802411DC 46001081 */ sub.s $f2, $f2, $f0 +/* 843DB0 802411E0 3C05F4AC */ lui $a1, 0xf4ac +/* 843DB4 802411E4 4600110D */ trunc.w.s $f4, $f2 +/* 843DB8 802411E8 44102000 */ mfc1 $s0, $f4 +/* 843DBC 802411EC 0C0B1EAF */ jal get_variable +/* 843DC0 802411F0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 843DC4 802411F4 4600B306 */ mov.s $f12, $f22 +/* 843DC8 802411F8 0C00A8BB */ jal sin_deg +/* 843DCC 802411FC 0040882D */ daddu $s1, $v0, $zero +/* 843DD0 80241200 4600A502 */ mul.s $f20, $f20, $f0 +/* 843DD4 80241204 00000000 */ nop +/* 843DD8 80241208 0240202D */ daddu $a0, $s2, $zero +/* 843DDC 8024120C 44910000 */ mtc1 $s1, $f0 +/* 843DE0 80241210 00000000 */ nop +/* 843DE4 80241214 46800020 */ cvt.s.w $f0, $f0 +/* 843DE8 80241218 46140001 */ sub.s $f0, $f0, $f20 +/* 843DEC 8024121C 0280282D */ daddu $a1, $s4, $zero +/* 843DF0 80241220 02173023 */ subu $a2, $s0, $s7 +/* 843DF4 80241224 4600010D */ trunc.w.s $f4, $f0 +/* 843DF8 80241228 44102000 */ mfc1 $s0, $f4 +/* 843DFC 8024122C 0C0B2026 */ jal set_variable +/* 843E00 80241230 02168023 */ subu $s0, $s0, $s6 +/* 843E04 80241234 0240202D */ daddu $a0, $s2, $zero +/* 843E08 80241238 02A0282D */ daddu $a1, $s5, $zero +/* 843E0C 8024123C 0C0B2026 */ jal set_variable +/* 843E10 80241240 0200302D */ daddu $a2, $s0, $zero +/* 843E14 80241244 8FBF0030 */ lw $ra, 0x30($sp) +/* 843E18 80241248 8FB7002C */ lw $s7, 0x2c($sp) +/* 843E1C 8024124C 8FB60028 */ lw $s6, 0x28($sp) +/* 843E20 80241250 8FB50024 */ lw $s5, 0x24($sp) +/* 843E24 80241254 8FB40020 */ lw $s4, 0x20($sp) +/* 843E28 80241258 8FB3001C */ lw $s3, 0x1c($sp) +/* 843E2C 8024125C 8FB20018 */ lw $s2, 0x18($sp) +/* 843E30 80241260 8FB10014 */ lw $s1, 0x14($sp) +/* 843E34 80241264 8FB00010 */ lw $s0, 0x10($sp) +/* 843E38 80241268 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 843E3C 8024126C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 843E40 80241270 24020002 */ addiu $v0, $zero, 2 +/* 843E44 80241274 03E00008 */ jr $ra +/* 843E48 80241278 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_8024127C_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_8024127C_842BD0.s new file mode 100644 index 0000000000..8d546c52ff --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_8024127C_842BD0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024127C_843E4C +/* 843E4C 8024127C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 843E50 80241280 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 843E54 80241284 10A00002 */ beqz $a1, .L80241290 +/* 843E58 80241288 2402003C */ addiu $v0, $zero, 0x3c +/* 843E5C 8024128C AC820070 */ sw $v0, 0x70($a0) +.L80241290: +/* 843E60 80241290 C4620080 */ lwc1 $f2, 0x80($v1) +/* 843E64 80241294 3C0141F0 */ lui $at, 0x41f0 +/* 843E68 80241298 44810000 */ mtc1 $at, $f0 +/* 843E6C 8024129C 00000000 */ nop +/* 843E70 802412A0 46001000 */ add.s $f0, $f2, $f0 +/* 843E74 802412A4 3C0143B4 */ lui $at, 0x43b4 +/* 843E78 802412A8 44811000 */ mtc1 $at, $f2 +/* 843E7C 802412AC 00000000 */ nop +/* 843E80 802412B0 4600103E */ c.le.s $f2, $f0 +/* 843E84 802412B4 00000000 */ nop +/* 843E88 802412B8 45000003 */ bc1f .L802412C8 +/* 843E8C 802412BC E4600080 */ swc1 $f0, 0x80($v1) +/* 843E90 802412C0 46020001 */ sub.s $f0, $f0, $f2 +/* 843E94 802412C4 E4600080 */ swc1 $f0, 0x80($v1) +.L802412C8: +/* 843E98 802412C8 8C820070 */ lw $v0, 0x70($a0) +/* 843E9C 802412CC 2442FFFF */ addiu $v0, $v0, -1 +/* 843EA0 802412D0 AC820070 */ sw $v0, 0x70($a0) +/* 843EA4 802412D4 000217C3 */ sra $v0, $v0, 0x1f +/* 843EA8 802412D8 03E00008 */ jr $ra +/* 843EAC 802412DC 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802412E0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802412E0.s new file mode 100644 index 0000000000..94b31d4f26 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802412E0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E0 +/* 843EB0 802412E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 843EB4 802412E4 AFB10014 */ sw $s1, 0x14($sp) +/* 843EB8 802412E8 0080882D */ daddu $s1, $a0, $zero +/* 843EBC 802412EC AFB00010 */ sw $s0, 0x10($sp) +/* 843EC0 802412F0 00A0802D */ daddu $s0, $a1, $zero +/* 843EC4 802412F4 AFBF0018 */ sw $ra, 0x18($sp) +/* 843EC8 802412F8 0C00EABB */ jal get_npc_unsafe +/* 843ECC 802412FC 2404FFFC */ addiu $a0, $zero, -4 +/* 843ED0 80241300 12000003 */ beqz $s0, .L80241310 +/* 843ED4 80241304 0040182D */ daddu $v1, $v0, $zero +/* 843ED8 80241308 2402003C */ addiu $v0, $zero, 0x3c +/* 843EDC 8024130C AE220070 */ sw $v0, 0x70($s1) +.L80241310: +/* 843EE0 80241310 C462000C */ lwc1 $f2, 0xc($v1) +/* 843EE4 80241314 3C0141F0 */ lui $at, 0x41f0 +/* 843EE8 80241318 44810000 */ mtc1 $at, $f0 +/* 843EEC 8024131C 00000000 */ nop +/* 843EF0 80241320 46001000 */ add.s $f0, $f2, $f0 +/* 843EF4 80241324 3C0143B4 */ lui $at, 0x43b4 +/* 843EF8 80241328 44811000 */ mtc1 $at, $f2 +/* 843EFC 8024132C 00000000 */ nop +/* 843F00 80241330 4600103E */ c.le.s $f2, $f0 +/* 843F04 80241334 00000000 */ nop +/* 843F08 80241338 45000003 */ bc1f .L80241348 +/* 843F0C 8024133C E460000C */ swc1 $f0, 0xc($v1) +/* 843F10 80241340 46020001 */ sub.s $f0, $f0, $f2 +/* 843F14 80241344 E460000C */ swc1 $f0, 0xc($v1) +.L80241348: +/* 843F18 80241348 8E230070 */ lw $v1, 0x70($s1) +/* 843F1C 8024134C 2463FFFF */ addiu $v1, $v1, -1 +/* 843F20 80241350 000317C3 */ sra $v0, $v1, 0x1f +/* 843F24 80241354 AE230070 */ sw $v1, 0x70($s1) +/* 843F28 80241358 8FBF0018 */ lw $ra, 0x18($sp) +/* 843F2C 8024135C 8FB10014 */ lw $s1, 0x14($sp) +/* 843F30 80241360 8FB00010 */ lw $s0, 0x10($sp) +/* 843F34 80241364 30420002 */ andi $v0, $v0, 2 +/* 843F38 80241368 03E00008 */ jr $ra +/* 843F3C 8024136C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241370.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241370.s new file mode 100644 index 0000000000..ef455969f7 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241370.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241370 +/* 843F40 80241370 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 843F44 80241374 AFB10014 */ sw $s1, 0x14($sp) +/* 843F48 80241378 0080882D */ daddu $s1, $a0, $zero +/* 843F4C 8024137C AFB00010 */ sw $s0, 0x10($sp) +/* 843F50 80241380 00A0802D */ daddu $s0, $a1, $zero +/* 843F54 80241384 AFBF001C */ sw $ra, 0x1c($sp) +/* 843F58 80241388 AFB20018 */ sw $s2, 0x18($sp) +/* 843F5C 8024138C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 843F60 80241390 0C00EABB */ jal get_npc_unsafe +/* 843F64 80241394 2404FFFC */ addiu $a0, $zero, -4 +/* 843F68 80241398 12000017 */ beqz $s0, .L802413F8 +/* 843F6C 8024139C 0040902D */ daddu $s2, $v0, $zero +/* 843F70 802413A0 0220202D */ daddu $a0, $s1, $zero +/* 843F74 802413A4 3C05FE36 */ lui $a1, 0xfe36 +/* 843F78 802413A8 0C0B210B */ jal get_float_variable +/* 843F7C 802413AC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 843F80 802413B0 0220202D */ daddu $a0, $s1, $zero +/* 843F84 802413B4 3C05FE36 */ lui $a1, 0xfe36 +/* 843F88 802413B8 3C014270 */ lui $at, 0x4270 +/* 843F8C 802413BC 4481A000 */ mtc1 $at, $f20 +/* 843F90 802413C0 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 843F94 802413C4 46140003 */ div.s $f0, $f0, $f20 +/* 843F98 802413C8 0C0B210B */ jal get_float_variable +/* 843F9C 802413CC E6200074 */ swc1 $f0, 0x74($s1) +/* 843FA0 802413D0 0220202D */ daddu $a0, $s1, $zero +/* 843FA4 802413D4 3C05FE36 */ lui $a1, 0xfe36 +/* 843FA8 802413D8 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 843FAC 802413DC 46140003 */ div.s $f0, $f0, $f20 +/* 843FB0 802413E0 0C0B210B */ jal get_float_variable +/* 843FB4 802413E4 E6200078 */ swc1 $f0, 0x78($s1) +/* 843FB8 802413E8 46140003 */ div.s $f0, $f0, $f20 +/* 843FBC 802413EC 2402003C */ addiu $v0, $zero, 0x3c +/* 843FC0 802413F0 E620007C */ swc1 $f0, 0x7c($s1) +/* 843FC4 802413F4 AE220070 */ sw $v0, 0x70($s1) +.L802413F8: +/* 843FC8 802413F8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 843FCC 802413FC C6220074 */ lwc1 $f2, 0x74($s1) +/* 843FD0 80241400 46020000 */ add.s $f0, $f0, $f2 +/* 843FD4 80241404 E6400038 */ swc1 $f0, 0x38($s2) +/* 843FD8 80241408 C640003C */ lwc1 $f0, 0x3c($s2) +/* 843FDC 8024140C C6220078 */ lwc1 $f2, 0x78($s1) +/* 843FE0 80241410 46020000 */ add.s $f0, $f0, $f2 +/* 843FE4 80241414 E640003C */ swc1 $f0, 0x3c($s2) +/* 843FE8 80241418 C6400040 */ lwc1 $f0, 0x40($s2) +/* 843FEC 8024141C C622007C */ lwc1 $f2, 0x7c($s1) +/* 843FF0 80241420 46020000 */ add.s $f0, $f0, $f2 +/* 843FF4 80241424 E6400040 */ swc1 $f0, 0x40($s2) +/* 843FF8 80241428 8E230070 */ lw $v1, 0x70($s1) +/* 843FFC 8024142C 2463FFFF */ addiu $v1, $v1, -1 +/* 844000 80241430 2C620001 */ sltiu $v0, $v1, 1 +/* 844004 80241434 AE230070 */ sw $v1, 0x70($s1) +/* 844008 80241438 8FBF001C */ lw $ra, 0x1c($sp) +/* 84400C 8024143C 8FB20018 */ lw $s2, 0x18($sp) +/* 844010 80241440 8FB10014 */ lw $s1, 0x14($sp) +/* 844014 80241444 8FB00010 */ lw $s0, 0x10($sp) +/* 844018 80241448 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 84401C 8024144C 00021040 */ sll $v0, $v0, 1 +/* 844020 80241450 03E00008 */ jr $ra +/* 844024 80241454 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241458.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241458.s new file mode 100644 index 0000000000..0f474de1f0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241458.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241458 +/* 844028 80241458 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 84402C 8024145C 3C058025 */ lui $a1, 0x8025 +/* 844030 80241460 8CA5F5B8 */ lw $a1, -0xa48($a1) +/* 844034 80241464 AFBF0010 */ sw $ra, 0x10($sp) +/* 844038 80241468 0C0B1EAF */ jal get_variable +/* 84403C 8024146C 0000202D */ daddu $a0, $zero, $zero +/* 844040 80241470 0040182D */ daddu $v1, $v0, $zero +/* 844044 80241474 24020001 */ addiu $v0, $zero, 1 +/* 844048 80241478 14620006 */ bne $v1, $v0, .L80241494 +/* 84404C 8024147C 24020002 */ addiu $v0, $zero, 2 +/* 844050 80241480 44800000 */ mtc1 $zero, $f0 +/* 844054 80241484 00000000 */ nop +/* 844058 80241488 44050000 */ mfc1 $a1, $f0 +/* 84405C 8024148C 0809052B */ j .L802414AC +/* 844060 80241490 0000202D */ daddu $a0, $zero, $zero +.L80241494: +/* 844064 80241494 14620008 */ bne $v1, $v0, .L802414B8 +/* 844068 80241498 24040001 */ addiu $a0, $zero, 1 +/* 84406C 8024149C 44800000 */ mtc1 $zero, $f0 +/* 844070 802414A0 00000000 */ nop +/* 844074 802414A4 44050000 */ mfc1 $a1, $f0 +/* 844078 802414A8 00000000 */ nop +.L802414AC: +/* 84407C 802414AC 00A0302D */ daddu $a2, $a1, $zero +/* 844080 802414B0 0C01C5A4 */ jal func_80071690 +/* 844084 802414B4 00A0382D */ daddu $a3, $a1, $zero +.L802414B8: +/* 844088 802414B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 84408C 802414BC 03E00008 */ jr $ra +/* 844090 802414C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802414C4_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802414C4_842BD0.s new file mode 100644 index 0000000000..e89262db0c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802414C4_842BD0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C4_844094 +/* 844094 802414C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844098 802414C8 3C058024 */ lui $a1, 0x8024 +/* 84409C 802414CC 24A51458 */ addiu $a1, $a1, 0x1458 +/* 8440A0 802414D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 8440A4 802414D4 0C048C8F */ jal bind_dynamic_entity_7 +/* 8440A8 802414D8 0000202D */ daddu $a0, $zero, $zero +/* 8440AC 802414DC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8440B0 802414E0 3C018025 */ lui $at, 0x8025 +/* 8440B4 802414E4 AC22F5A0 */ sw $v0, -0xa60($at) +/* 8440B8 802414E8 24020002 */ addiu $v0, $zero, 2 +/* 8440BC 802414EC 03E00008 */ jr $ra +/* 8440C0 802414F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802414F4.s b/asm/nonmatchings/world/area_mac/mac_04/func_802414F4.s new file mode 100644 index 0000000000..9d545b6ffe --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802414F4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F4 +/* 8440C4 802414F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8440C8 802414F8 AFB10014 */ sw $s1, 0x14($sp) +/* 8440CC 802414FC 0080882D */ daddu $s1, $a0, $zero +/* 8440D0 80241500 AFBF0018 */ sw $ra, 0x18($sp) +/* 8440D4 80241504 AFB00010 */ sw $s0, 0x10($sp) +/* 8440D8 80241508 8E30000C */ lw $s0, 0xc($s1) +/* 8440DC 8024150C 8E050000 */ lw $a1, ($s0) +/* 8440E0 80241510 0C0B1EAF */ jal get_variable +/* 8440E4 80241514 26100004 */ addiu $s0, $s0, 4 +/* 8440E8 80241518 0C00EAD2 */ jal get_npc_safe +/* 8440EC 8024151C 0040202D */ daddu $a0, $v0, $zero +/* 8440F0 80241520 10400005 */ beqz $v0, .L80241538 +/* 8440F4 80241524 00000000 */ nop +/* 8440F8 80241528 8E050000 */ lw $a1, ($s0) +/* 8440FC 8024152C 844600A8 */ lh $a2, 0xa8($v0) +/* 844100 80241530 0C0B2026 */ jal set_variable +/* 844104 80241534 0220202D */ daddu $a0, $s1, $zero +.L80241538: +/* 844108 80241538 8FBF0018 */ lw $ra, 0x18($sp) +/* 84410C 8024153C 8FB10014 */ lw $s1, 0x14($sp) +/* 844110 80241540 8FB00010 */ lw $s0, 0x10($sp) +/* 844114 80241544 24020002 */ addiu $v0, $zero, 2 +/* 844118 80241548 03E00008 */ jr $ra +/* 84411C 8024154C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241550.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241550.s new file mode 100644 index 0000000000..f8e5a44f60 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241550.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241550 +/* 844120 80241550 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 844124 80241554 AFB10014 */ sw $s1, 0x14($sp) +/* 844128 80241558 0080882D */ daddu $s1, $a0, $zero +/* 84412C 8024155C AFBF0024 */ sw $ra, 0x24($sp) +/* 844130 80241560 AFB40020 */ sw $s4, 0x20($sp) +/* 844134 80241564 AFB3001C */ sw $s3, 0x1c($sp) +/* 844138 80241568 AFB20018 */ sw $s2, 0x18($sp) +/* 84413C 8024156C AFB00010 */ sw $s0, 0x10($sp) +/* 844140 80241570 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 844144 80241574 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 844148 80241578 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 84414C 8024157C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 844150 80241580 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 844154 80241584 8E30000C */ lw $s0, 0xc($s1) +/* 844158 80241588 8E130000 */ lw $s3, ($s0) +/* 84415C 8024158C 26100004 */ addiu $s0, $s0, 4 +/* 844160 80241590 0C0B1EAF */ jal get_variable +/* 844164 80241594 0260282D */ daddu $a1, $s3, $zero +/* 844168 80241598 4482E000 */ mtc1 $v0, $f28 +/* 84416C 8024159C 00000000 */ nop +/* 844170 802415A0 4680E720 */ cvt.s.w $f28, $f28 +/* 844174 802415A4 8E140000 */ lw $s4, ($s0) +/* 844178 802415A8 26100004 */ addiu $s0, $s0, 4 +/* 84417C 802415AC 0220202D */ daddu $a0, $s1, $zero +/* 844180 802415B0 0C0B1EAF */ jal get_variable +/* 844184 802415B4 0280282D */ daddu $a1, $s4, $zero +/* 844188 802415B8 4482D000 */ mtc1 $v0, $f26 +/* 84418C 802415BC 00000000 */ nop +/* 844190 802415C0 4680D6A0 */ cvt.s.w $f26, $f26 +/* 844194 802415C4 8E100000 */ lw $s0, ($s0) +/* 844198 802415C8 0220202D */ daddu $a0, $s1, $zero +/* 84419C 802415CC 0C0B1EAF */ jal get_variable +/* 8441A0 802415D0 0200282D */ daddu $a1, $s0, $zero +/* 8441A4 802415D4 4482C000 */ mtc1 $v0, $f24 +/* 8441A8 802415D8 00000000 */ nop +/* 8441AC 802415DC 4680C620 */ cvt.s.w $f24, $f24 +/* 8441B0 802415E0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 8441B4 802415E4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 8441B8 802415E8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8441BC 802415EC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8441C0 802415F0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 8441C4 802415F4 44800000 */ mtc1 $zero, $f0 +/* 8441C8 802415F8 00031080 */ sll $v0, $v1, 2 +/* 8441CC 802415FC 00431021 */ addu $v0, $v0, $v1 +/* 8441D0 80241600 00021080 */ sll $v0, $v0, 2 +/* 8441D4 80241604 00431023 */ subu $v0, $v0, $v1 +/* 8441D8 80241608 000218C0 */ sll $v1, $v0, 3 +/* 8441DC 8024160C 00431021 */ addu $v0, $v0, $v1 +/* 8441E0 80241610 000210C0 */ sll $v0, $v0, 3 +/* 8441E4 80241614 46001032 */ c.eq.s $f2, $f0 +/* 8441E8 80241618 3C01800B */ lui $at, 0x800b +/* 8441EC 8024161C 00220821 */ addu $at, $at, $v0 +/* 8441F0 80241620 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 8441F4 80241624 45000005 */ bc1f .L8024163C +/* 8441F8 80241628 00000000 */ nop +/* 8441FC 8024162C 3C0142C8 */ lui $at, 0x42c8 +/* 844200 80241630 44810000 */ mtc1 $at, $f0 +/* 844204 80241634 08090593 */ j .L8024164C +/* 844208 80241638 4600B581 */ sub.s $f22, $f22, $f0 +.L8024163C: +/* 84420C 8024163C 3C0142C8 */ lui $at, 0x42c8 +/* 844210 80241640 44810000 */ mtc1 $at, $f0 +/* 844214 80241644 00000000 */ nop +/* 844218 80241648 4600B580 */ add.s $f22, $f22, $f0 +.L8024164C: +/* 84421C 8024164C 0C00A6C9 */ jal clamp_angle +/* 844220 80241650 4600B306 */ mov.s $f12, $f22 +/* 844224 80241654 46000586 */ mov.s $f22, $f0 +/* 844228 80241658 3C014170 */ lui $at, 0x4170 +/* 84422C 8024165C 4481A000 */ mtc1 $at, $f20 +/* 844230 80241660 0C00A8BB */ jal sin_deg +/* 844234 80241664 4600B306 */ mov.s $f12, $f22 +/* 844238 80241668 46140002 */ mul.s $f0, $f0, $f20 +/* 84423C 8024166C 00000000 */ nop +/* 844240 80241670 864200B0 */ lh $v0, 0xb0($s2) +/* 844244 80241674 3C013F00 */ lui $at, 0x3f00 +/* 844248 80241678 44812000 */ mtc1 $at, $f4 +/* 84424C 8024167C 44821000 */ mtc1 $v0, $f2 +/* 844250 80241680 00000000 */ nop +/* 844254 80241684 468010A0 */ cvt.s.w $f2, $f2 +/* 844258 80241688 46041082 */ mul.s $f2, $f2, $f4 +/* 84425C 8024168C 00000000 */ nop +/* 844260 80241690 4600E700 */ add.s $f28, $f28, $f0 +/* 844264 80241694 4602D680 */ add.s $f26, $f26, $f2 +/* 844268 80241698 0C00A8D4 */ jal cos_deg +/* 84426C 8024169C 4600B306 */ mov.s $f12, $f22 +/* 844270 802416A0 46140002 */ mul.s $f0, $f0, $f20 +/* 844274 802416A4 00000000 */ nop +/* 844278 802416A8 0220202D */ daddu $a0, $s1, $zero +/* 84427C 802416AC 0260282D */ daddu $a1, $s3, $zero +/* 844280 802416B0 4600E18D */ trunc.w.s $f6, $f28 +/* 844284 802416B4 44063000 */ mfc1 $a2, $f6 +/* 844288 802416B8 0C0B2026 */ jal set_variable +/* 84428C 802416BC 4600C601 */ sub.s $f24, $f24, $f0 +/* 844290 802416C0 0220202D */ daddu $a0, $s1, $zero +/* 844294 802416C4 4600D18D */ trunc.w.s $f6, $f26 +/* 844298 802416C8 44063000 */ mfc1 $a2, $f6 +/* 84429C 802416CC 0C0B2026 */ jal set_variable +/* 8442A0 802416D0 0280282D */ daddu $a1, $s4, $zero +/* 8442A4 802416D4 0220202D */ daddu $a0, $s1, $zero +/* 8442A8 802416D8 4600C18D */ trunc.w.s $f6, $f24 +/* 8442AC 802416DC 44063000 */ mfc1 $a2, $f6 +/* 8442B0 802416E0 0C0B2026 */ jal set_variable +/* 8442B4 802416E4 0200282D */ daddu $a1, $s0, $zero +/* 8442B8 802416E8 8FBF0024 */ lw $ra, 0x24($sp) +/* 8442BC 802416EC 8FB40020 */ lw $s4, 0x20($sp) +/* 8442C0 802416F0 8FB3001C */ lw $s3, 0x1c($sp) +/* 8442C4 802416F4 8FB20018 */ lw $s2, 0x18($sp) +/* 8442C8 802416F8 8FB10014 */ lw $s1, 0x14($sp) +/* 8442CC 802416FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8442D0 80241700 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 8442D4 80241704 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8442D8 80241708 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8442DC 8024170C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8442E0 80241710 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8442E4 80241714 24020002 */ addiu $v0, $zero, 2 +/* 8442E8 80241718 03E00008 */ jr $ra +/* 8442EC 8024171C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241720_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241720_842BD0.s new file mode 100644 index 0000000000..afb00658eb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241720_842BD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241720_8442F0 +/* 8442F0 80241720 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8442F4 80241724 AFBF0010 */ sw $ra, 0x10($sp) +/* 8442F8 80241728 10A00003 */ beqz $a1, .L80241738 +/* 8442FC 8024172C 8C86000C */ lw $a2, 0xc($a0) +/* 844300 80241730 3C018024 */ lui $at, 0x8024 +/* 844304 80241734 AC206610 */ sw $zero, 0x6610($at) +.L80241738: +/* 844308 80241738 3C038024 */ lui $v1, 0x8024 +/* 84430C 8024173C 24636610 */ addiu $v1, $v1, 0x6610 +/* 844310 80241740 8C620000 */ lw $v0, ($v1) +/* 844314 80241744 54400003 */ bnel $v0, $zero, .L80241754 +/* 844318 80241748 AC600000 */ sw $zero, ($v1) +/* 84431C 8024174C 080905DA */ j .L80241768 +/* 844320 80241750 0000102D */ daddu $v0, $zero, $zero +.L80241754: +/* 844324 80241754 8CC50000 */ lw $a1, ($a2) +/* 844328 80241758 3C068024 */ lui $a2, 0x8024 +/* 84432C 8024175C 0C0B2026 */ jal set_variable +/* 844330 80241760 8CC66614 */ lw $a2, 0x6614($a2) +/* 844334 80241764 24020002 */ addiu $v0, $zero, 2 +.L80241768: +/* 844338 80241768 8FBF0010 */ lw $ra, 0x10($sp) +/* 84433C 8024176C 03E00008 */ jr $ra +/* 844340 80241770 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241774.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241774.s new file mode 100644 index 0000000000..7a4a96f742 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241774.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241774 +/* 844344 80241774 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844348 80241778 AFBF0010 */ sw $ra, 0x10($sp) +/* 84434C 8024177C 8C82000C */ lw $v0, 0xc($a0) +/* 844350 80241780 0C0B1EAF */ jal get_variable +/* 844354 80241784 8C450000 */ lw $a1, ($v0) +/* 844358 80241788 3C018024 */ lui $at, 0x8024 +/* 84435C 8024178C AC226614 */ sw $v0, 0x6614($at) +/* 844360 80241790 24020002 */ addiu $v0, $zero, 2 +/* 844364 80241794 8FBF0010 */ lw $ra, 0x10($sp) +/* 844368 80241798 24030001 */ addiu $v1, $zero, 1 +/* 84436C 8024179C 3C018024 */ lui $at, 0x8024 +/* 844370 802417A0 AC236610 */ sw $v1, 0x6610($at) +/* 844374 802417A4 03E00008 */ jr $ra +/* 844378 802417A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802417AC.s b/asm/nonmatchings/world/area_mac/mac_04/func_802417AC.s new file mode 100644 index 0000000000..aa9bdd48e0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802417AC.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417AC +/* 84437C 802417AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844380 802417B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 844384 802417B4 8C82000C */ lw $v0, 0xc($a0) +/* 844388 802417B8 0C0B1EAF */ jal get_variable +/* 84438C 802417BC 8C450000 */ lw $a1, ($v0) +/* 844390 802417C0 0040182D */ daddu $v1, $v0, $zero +/* 844394 802417C4 10600012 */ beqz $v1, .L80241810 +/* 844398 802417C8 0000202D */ daddu $a0, $zero, $zero +/* 84439C 802417CC 8C620000 */ lw $v0, ($v1) +/* 8443A0 802417D0 5040000A */ beql $v0, $zero, .L802417FC +/* 8443A4 802417D4 00041080 */ sll $v0, $a0, 2 +/* 8443A8 802417D8 3C058025 */ lui $a1, 0x8025 +/* 8443AC 802417DC 24A5F5D0 */ addiu $a1, $a1, -0xa30 +.L802417E0: +/* 8443B0 802417E0 24630004 */ addiu $v1, $v1, 4 +/* 8443B4 802417E4 24840001 */ addiu $a0, $a0, 1 +/* 8443B8 802417E8 ACA20000 */ sw $v0, ($a1) +/* 8443BC 802417EC 8C620000 */ lw $v0, ($v1) +/* 8443C0 802417F0 1440FFFB */ bnez $v0, .L802417E0 +/* 8443C4 802417F4 24A50004 */ addiu $a1, $a1, 4 +/* 8443C8 802417F8 00041080 */ sll $v0, $a0, 2 +.L802417FC: +/* 8443CC 802417FC 3C018025 */ lui $at, 0x8025 +/* 8443D0 80241800 00220821 */ addu $at, $at, $v0 +/* 8443D4 80241804 AC20F5D0 */ sw $zero, -0xa30($at) +/* 8443D8 80241808 0809060E */ j .L80241838 +/* 8443DC 8024180C 00000000 */ nop +.L80241810: +/* 8443E0 80241810 3C038025 */ lui $v1, 0x8025 +/* 8443E4 80241814 2463F5D0 */ addiu $v1, $v1, -0xa30 +/* 8443E8 80241818 0060282D */ daddu $a1, $v1, $zero +.L8024181C: +/* 8443EC 8024181C 24820010 */ addiu $v0, $a0, 0x10 +/* 8443F0 80241820 AC620000 */ sw $v0, ($v1) +/* 8443F4 80241824 24630004 */ addiu $v1, $v1, 4 +/* 8443F8 80241828 24840001 */ addiu $a0, $a0, 1 +/* 8443FC 8024182C 28820070 */ slti $v0, $a0, 0x70 +/* 844400 80241830 1440FFFA */ bnez $v0, .L8024181C +/* 844404 80241834 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241838: +/* 844408 80241838 8FBF0010 */ lw $ra, 0x10($sp) +/* 84440C 8024183C 24020002 */ addiu $v0, $zero, 2 +/* 844410 80241840 03E00008 */ jr $ra +/* 844414 80241844 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241848.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241848.s new file mode 100644 index 0000000000..f637286bd0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241848.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241848 +/* 844418 80241848 0000302D */ daddu $a2, $zero, $zero +/* 84441C 8024184C 00C0282D */ daddu $a1, $a2, $zero +/* 844420 80241850 3C088008 */ lui $t0, %hi(gItemTable) +/* 844424 80241854 250878E0 */ addiu $t0, $t0, %lo(gItemTable) +/* 844428 80241858 3C078009 */ lui $a3, 0x8009 +/* 84442C 8024185C 24E7F060 */ addiu $a3, $a3, -0xfa0 +/* 844430 80241860 3C048011 */ lui $a0, %hi(gPlayerData) +/* 844434 80241864 2484F290 */ addiu $a0, $a0, %lo(gPlayerData) +.L80241868: +/* 844438 80241868 84820208 */ lh $v0, 0x208($a0) +/* 84443C 8024186C 1040000A */ beqz $v0, .L80241898 +/* 844440 80241870 24A50001 */ addiu $a1, $a1, 1 +/* 844444 80241874 00021140 */ sll $v0, $v0, 5 +/* 844448 80241878 00481021 */ addu $v0, $v0, $t0 +/* 84444C 8024187C 9043001A */ lbu $v1, 0x1a($v0) +/* 844450 80241880 00031080 */ sll $v0, $v1, 2 +/* 844454 80241884 00431021 */ addu $v0, $v0, $v1 +/* 844458 80241888 00021080 */ sll $v0, $v0, 2 +/* 84445C 8024188C 00471021 */ addu $v0, $v0, $a3 +/* 844460 80241890 80420012 */ lb $v0, 0x12($v0) +/* 844464 80241894 00C23021 */ addu $a2, $a2, $v0 +.L80241898: +/* 844468 80241898 28A20040 */ slti $v0, $a1, 0x40 +/* 84446C 8024189C 1440FFF2 */ bnez $v0, .L80241868 +/* 844470 802418A0 24840002 */ addiu $a0, $a0, 2 +/* 844474 802418A4 03E00008 */ jr $ra +/* 844478 802418A8 00C0102D */ daddu $v0, $a2, $zero diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802418AC.s b/asm/nonmatchings/world/area_mac/mac_04/func_802418AC.s new file mode 100644 index 0000000000..4ca1a04658 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802418AC.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418AC +/* 84447C 802418AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 844480 802418B0 AFB00010 */ sw $s0, 0x10($sp) +/* 844484 802418B4 0080802D */ daddu $s0, $a0, $zero +/* 844488 802418B8 AFBF001C */ sw $ra, 0x1c($sp) +/* 84448C 802418BC AFB20018 */ sw $s2, 0x18($sp) +/* 844490 802418C0 AFB10014 */ sw $s1, 0x14($sp) +/* 844494 802418C4 8E02000C */ lw $v0, 0xc($s0) +/* 844498 802418C8 0C090612 */ jal func_80241848 +/* 84449C 802418CC 8C520000 */ lw $s2, ($v0) +/* 8444A0 802418D0 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8444A4 802418D4 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8444A8 802418D8 82230008 */ lb $v1, 8($s1) +/* 8444AC 802418DC 0062182A */ slt $v1, $v1, $v0 +/* 8444B0 802418E0 14600005 */ bnez $v1, .L802418F8 +/* 8444B4 802418E4 2403003F */ addiu $v1, $zero, 0x3f +/* 8444B8 802418E8 0200202D */ daddu $a0, $s0, $zero +/* 8444BC 802418EC 0240282D */ daddu $a1, $s2, $zero +/* 8444C0 802418F0 08090648 */ j .L80241920 +/* 8444C4 802418F4 0000302D */ daddu $a2, $zero, $zero +.L802418F8: +/* 8444C8 802418F8 26220286 */ addiu $v0, $s1, 0x286 +.L802418FC: +/* 8444CC 802418FC A4400000 */ sh $zero, ($v0) +/* 8444D0 80241900 2463FFFF */ addiu $v1, $v1, -1 +/* 8444D4 80241904 0461FFFD */ bgez $v1, .L802418FC +/* 8444D8 80241908 2442FFFE */ addiu $v0, $v0, -2 +/* 8444DC 8024190C 0C039E1B */ jal enforce_hpfp_limits +/* 8444E0 80241910 00000000 */ nop +/* 8444E4 80241914 0200202D */ daddu $a0, $s0, $zero +/* 8444E8 80241918 0240282D */ daddu $a1, $s2, $zero +/* 8444EC 8024191C 24060001 */ addiu $a2, $zero, 1 +.L80241920: +/* 8444F0 80241920 0C0B2026 */ jal set_variable +/* 8444F4 80241924 00000000 */ nop +/* 8444F8 80241928 24020002 */ addiu $v0, $zero, 2 +/* 8444FC 8024192C 8FBF001C */ lw $ra, 0x1c($sp) +/* 844500 80241930 8FB20018 */ lw $s2, 0x18($sp) +/* 844504 80241934 8FB10014 */ lw $s1, 0x14($sp) +/* 844508 80241938 8FB00010 */ lw $s0, 0x10($sp) +/* 84450C 8024193C 03E00008 */ jr $ra +/* 844510 80241940 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241944_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241944_842BD0.s new file mode 100644 index 0000000000..88db0fe7dd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241944_842BD0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241944_844514 +/* 844514 80241944 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844518 80241948 AFBF0010 */ sw $ra, 0x10($sp) +/* 84451C 8024194C 0C03A876 */ jal set_max_SP +/* 844520 80241950 24040004 */ addiu $a0, $zero, 4 +/* 844524 80241954 3C028011 */ lui $v0, %hi(gPlayerData) +/* 844528 80241958 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 84452C 8024195C 90430003 */ lbu $v1, 3($v0) +/* 844530 80241960 90440006 */ lbu $a0, 6($v0) +/* 844534 80241964 A0430002 */ sb $v1, 2($v0) +/* 844538 80241968 0C03A6DB */ jal sync_status_menu +/* 84453C 8024196C A0440005 */ sb $a0, 5($v0) +/* 844540 80241970 8FBF0010 */ lw $ra, 0x10($sp) +/* 844544 80241974 24020002 */ addiu $v0, $zero, 2 +/* 844548 80241978 03E00008 */ jr $ra +/* 84454C 8024197C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241980.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241980.s new file mode 100644 index 0000000000..1e9903858b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241980.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241980 +/* 844550 80241980 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844554 80241984 AFBF0010 */ sw $ra, 0x10($sp) +/* 844558 80241988 8C82000C */ lw $v0, 0xc($a0) +/* 84455C 8024198C 3C068016 */ lui $a2, 0x8016 +/* 844560 80241990 84C6A552 */ lh $a2, -0x5aae($a2) +/* 844564 80241994 0C0B2026 */ jal set_variable +/* 844568 80241998 8C450000 */ lw $a1, ($v0) +/* 84456C 8024199C 8FBF0010 */ lw $ra, 0x10($sp) +/* 844570 802419A0 24020002 */ addiu $v0, $zero, 2 +/* 844574 802419A4 03E00008 */ jr $ra +/* 844578 802419A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802419AC.s b/asm/nonmatchings/world/area_mac/mac_04/func_802419AC.s new file mode 100644 index 0000000000..9b58ff8883 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802419AC.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419AC +/* 84457C 802419AC 3C038011 */ lui $v1, 0x8011 +/* 844580 802419B0 8063EBB3 */ lb $v1, -0x144d($v1) +/* 844584 802419B4 24020009 */ addiu $v0, $zero, 9 +/* 844588 802419B8 54620003 */ bnel $v1, $v0, .L802419C8 +/* 84458C 802419BC AC800084 */ sw $zero, 0x84($a0) +/* 844590 802419C0 24020001 */ addiu $v0, $zero, 1 +/* 844594 802419C4 AC820084 */ sw $v0, 0x84($a0) +.L802419C8: +/* 844598 802419C8 03E00008 */ jr $ra +/* 84459C 802419CC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802419D0.s b/asm/nonmatchings/world/area_mac/mac_04/func_802419D0.s new file mode 100644 index 0000000000..4e59af6d02 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802419D0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D0 +/* 8445A0 802419D0 3C028011 */ lui $v0, 0x8011 +/* 8445A4 802419D4 8442F29C */ lh $v0, -0xd64($v0) +/* 8445A8 802419D8 AC820084 */ sw $v0, 0x84($a0) +/* 8445AC 802419DC 03E00008 */ jr $ra +/* 8445B0 802419E0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_802419E4.s b/asm/nonmatchings/world/area_mac/mac_04/func_802419E4.s new file mode 100644 index 0000000000..37a111da8b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_802419E4.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419E4 +/* 8445B4 802419E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8445B8 802419E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8445BC 802419EC 0080802D */ daddu $s0, $a0, $zero +/* 8445C0 802419F0 AFB10014 */ sw $s1, 0x14($sp) +/* 8445C4 802419F4 3C118011 */ lui $s1, %hi(gPlayerData) +/* 8445C8 802419F8 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* 8445CC 802419FC AFBF0020 */ sw $ra, 0x20($sp) +/* 8445D0 80241A00 AFB3001C */ sw $s3, 0x1c($sp) +/* 8445D4 80241A04 AFB20018 */ sw $s2, 0x18($sp) +/* 8445D8 80241A08 8E02000C */ lw $v0, 0xc($s0) +/* 8445DC 80241A0C 82260004 */ lb $a2, 4($s1) +/* 8445E0 80241A10 8C450000 */ lw $a1, ($v0) +/* 8445E4 80241A14 24420004 */ addiu $v0, $v0, 4 +/* 8445E8 80241A18 8C520000 */ lw $s2, ($v0) +/* 8445EC 80241A1C 0C0B2026 */ jal set_variable +/* 8445F0 80241A20 8C530004 */ lw $s3, 4($v0) +/* 8445F4 80241A24 0200202D */ daddu $a0, $s0, $zero +/* 8445F8 80241A28 82260007 */ lb $a2, 7($s1) +/* 8445FC 80241A2C 0C0B2026 */ jal set_variable +/* 844600 80241A30 0240282D */ daddu $a1, $s2, $zero +/* 844604 80241A34 0200202D */ daddu $a0, $s0, $zero +/* 844608 80241A38 82260008 */ lb $a2, 8($s1) +/* 84460C 80241A3C 0C0B2026 */ jal set_variable +/* 844610 80241A40 0260282D */ daddu $a1, $s3, $zero +/* 844614 80241A44 8FBF0020 */ lw $ra, 0x20($sp) +/* 844618 80241A48 8FB3001C */ lw $s3, 0x1c($sp) +/* 84461C 80241A4C 8FB20018 */ lw $s2, 0x18($sp) +/* 844620 80241A50 8FB10014 */ lw $s1, 0x14($sp) +/* 844624 80241A54 8FB00010 */ lw $s0, 0x10($sp) +/* 844628 80241A58 24020002 */ addiu $v0, $zero, 2 +/* 84462C 80241A5C 03E00008 */ jr $ra +/* 844630 80241A60 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241A64.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241A64.s new file mode 100644 index 0000000000..a6849850ce --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241A64.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A64 +/* 844634 80241A64 0000402D */ daddu $t0, $zero, $zero +/* 844638 80241A68 0100382D */ daddu $a3, $t0, $zero +/* 84463C 80241A6C 3C058011 */ lui $a1, %hi(gPlayerData) +/* 844640 80241A70 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 844644 80241A74 8C8300AC */ lw $v1, 0xac($a0) +/* 844648 80241A78 24020001 */ addiu $v0, $zero, 1 +/* 84464C 80241A7C 1062000F */ beq $v1, $v0, .L80241ABC +/* 844650 80241A80 0100302D */ daddu $a2, $t0, $zero +/* 844654 80241A84 28620002 */ slti $v0, $v1, 2 +/* 844658 80241A88 10400005 */ beqz $v0, .L80241AA0 +/* 84465C 80241A8C 24020002 */ addiu $v0, $zero, 2 +/* 844660 80241A90 50600007 */ beql $v1, $zero, .L80241AB0 +/* 844664 80241A94 2406000A */ addiu $a2, $zero, 0xa +/* 844668 80241A98 080906B5 */ j .L80241AD4 +/* 84466C 80241A9C 00000000 */ nop +.L80241AA0: +/* 844670 80241AA0 5062000A */ beql $v1, $v0, .L80241ACC +/* 844674 80241AA4 2406FFFB */ addiu $a2, $zero, -5 +/* 844678 80241AA8 080906B5 */ j .L80241AD4 +/* 84467C 80241AAC 00000000 */ nop +.L80241AB0: +/* 844680 80241AB0 2407FFFB */ addiu $a3, $zero, -5 +/* 844684 80241AB4 080906B5 */ j .L80241AD4 +/* 844688 80241AB8 2408FFFD */ addiu $t0, $zero, -3 +.L80241ABC: +/* 84468C 80241ABC 2406FFFB */ addiu $a2, $zero, -5 +/* 844690 80241AC0 2407000A */ addiu $a3, $zero, 0xa +/* 844694 80241AC4 080906B5 */ j .L80241AD4 +/* 844698 80241AC8 2408FFFD */ addiu $t0, $zero, -3 +.L80241ACC: +/* 84469C 80241ACC 00C0382D */ daddu $a3, $a2, $zero +/* 8446A0 80241AD0 24080006 */ addiu $t0, $zero, 6 +.L80241AD4: +/* 8446A4 80241AD4 90A30004 */ lbu $v1, 4($a1) +/* 8446A8 80241AD8 90A20003 */ lbu $v0, 3($a1) +/* 8446AC 80241ADC 00661821 */ addu $v1, $v1, $a2 +/* 8446B0 80241AE0 00461021 */ addu $v0, $v0, $a2 +/* 8446B4 80241AE4 A0A20003 */ sb $v0, 3($a1) +/* 8446B8 80241AE8 00021600 */ sll $v0, $v0, 0x18 +/* 8446BC 80241AEC 00021603 */ sra $v0, $v0, 0x18 +/* 8446C0 80241AF0 2842004C */ slti $v0, $v0, 0x4c +/* 8446C4 80241AF4 14400003 */ bnez $v0, .L80241B04 +/* 8446C8 80241AF8 A0A30004 */ sb $v1, 4($a1) +/* 8446CC 80241AFC 2402004B */ addiu $v0, $zero, 0x4b +/* 8446D0 80241B00 A0A20003 */ sb $v0, 3($a1) +.L80241B04: +/* 8446D4 80241B04 80A30002 */ lb $v1, 2($a1) +/* 8446D8 80241B08 80A20003 */ lb $v0, 3($a1) +/* 8446DC 80241B0C 0043102A */ slt $v0, $v0, $v1 +/* 8446E0 80241B10 90A30003 */ lbu $v1, 3($a1) +/* 8446E4 80241B14 54400001 */ bnel $v0, $zero, .L80241B1C +/* 8446E8 80241B18 A0A30002 */ sb $v1, 2($a1) +.L80241B1C: +/* 8446EC 80241B1C 90A30007 */ lbu $v1, 7($a1) +/* 8446F0 80241B20 90A20006 */ lbu $v0, 6($a1) +/* 8446F4 80241B24 00671821 */ addu $v1, $v1, $a3 +/* 8446F8 80241B28 00471021 */ addu $v0, $v0, $a3 +/* 8446FC 80241B2C A0A20006 */ sb $v0, 6($a1) +/* 844700 80241B30 00021600 */ sll $v0, $v0, 0x18 +/* 844704 80241B34 00021603 */ sra $v0, $v0, 0x18 +/* 844708 80241B38 2842004C */ slti $v0, $v0, 0x4c +/* 84470C 80241B3C 14400003 */ bnez $v0, .L80241B4C +/* 844710 80241B40 A0A30007 */ sb $v1, 7($a1) +/* 844714 80241B44 2402004B */ addiu $v0, $zero, 0x4b +/* 844718 80241B48 A0A20006 */ sb $v0, 6($a1) +.L80241B4C: +/* 84471C 80241B4C 80A30005 */ lb $v1, 5($a1) +/* 844720 80241B50 80A20006 */ lb $v0, 6($a1) +/* 844724 80241B54 0043102A */ slt $v0, $v0, $v1 +/* 844728 80241B58 90A30006 */ lbu $v1, 6($a1) +/* 84472C 80241B5C 54400001 */ bnel $v0, $zero, .L80241B64 +/* 844730 80241B60 A0A30005 */ sb $v1, 5($a1) +.L80241B64: +/* 844734 80241B64 90A20008 */ lbu $v0, 8($a1) +/* 844738 80241B68 00481021 */ addu $v0, $v0, $t0 +/* 84473C 80241B6C A0A20008 */ sb $v0, 8($a1) +/* 844740 80241B70 00021600 */ sll $v0, $v0, 0x18 +/* 844744 80241B74 00021603 */ sra $v0, $v0, 0x18 +/* 844748 80241B78 2842001F */ slti $v0, $v0, 0x1f +/* 84474C 80241B7C 14400002 */ bnez $v0, .L80241B88 +/* 844750 80241B80 2402001E */ addiu $v0, $zero, 0x1e +/* 844754 80241B84 A0A20008 */ sb $v0, 8($a1) +.L80241B88: +/* 844758 80241B88 03E00008 */ jr $ra +/* 84475C 80241B8C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241B90.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241B90.s new file mode 100644 index 0000000000..d01f4aa2d3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241B90.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B90 +/* 844760 80241B90 3C038011 */ lui $v1, %hi(gPlayerData) +/* 844764 80241B94 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 844768 80241B98 80620003 */ lb $v0, 3($v1) +/* 84476C 80241B9C AC820084 */ sw $v0, 0x84($a0) +/* 844770 80241BA0 80620006 */ lb $v0, 6($v1) +/* 844774 80241BA4 AC820088 */ sw $v0, 0x88($a0) +/* 844778 80241BA8 80620008 */ lb $v0, 8($v1) +/* 84477C 80241BAC AC82008C */ sw $v0, 0x8c($a0) +/* 844780 80241BB0 03E00008 */ jr $ra +/* 844784 80241BB4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241BB8.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241BB8.s new file mode 100644 index 0000000000..d0e3917808 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241BB8.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BB8 +/* 844788 80241BB8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 84478C 80241BBC AFB10014 */ sw $s1, 0x14($sp) +/* 844790 80241BC0 0080882D */ daddu $s1, $a0, $zero +/* 844794 80241BC4 AFBF0018 */ sw $ra, 0x18($sp) +/* 844798 80241BC8 AFB00010 */ sw $s0, 0x10($sp) +/* 84479C 80241BCC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8447A0 80241BD0 8E30000C */ lw $s0, 0xc($s1) +/* 8447A4 80241BD4 8E050000 */ lw $a1, ($s0) +/* 8447A8 80241BD8 0C0B1EAF */ jal get_variable +/* 8447AC 80241BDC 26100004 */ addiu $s0, $s0, 4 +/* 8447B0 80241BE0 0220202D */ daddu $a0, $s1, $zero +/* 8447B4 80241BE4 8E050000 */ lw $a1, ($s0) +/* 8447B8 80241BE8 0C0B210B */ jal get_float_variable +/* 8447BC 80241BEC 0040802D */ daddu $s0, $v0, $zero +/* 8447C0 80241BF0 0220202D */ daddu $a0, $s1, $zero +/* 8447C4 80241BF4 0200282D */ daddu $a1, $s0, $zero +/* 8447C8 80241BF8 0C0B36B0 */ jal resolve_npc +/* 8447CC 80241BFC 46000506 */ mov.s $f20, $f0 +/* 8447D0 80241C00 E454007C */ swc1 $f20, 0x7c($v0) +/* 8447D4 80241C04 8FBF0018 */ lw $ra, 0x18($sp) +/* 8447D8 80241C08 8FB10014 */ lw $s1, 0x14($sp) +/* 8447DC 80241C0C 8FB00010 */ lw $s0, 0x10($sp) +/* 8447E0 80241C10 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8447E4 80241C14 24020002 */ addiu $v0, $zero, 2 +/* 8447E8 80241C18 03E00008 */ jr $ra +/* 8447EC 80241C1C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241C20.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241C20.s new file mode 100644 index 0000000000..099b3546f4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241C20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C20 +/* 8447F0 80241C20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8447F4 80241C24 AFBF0010 */ sw $ra, 0x10($sp) +/* 8447F8 80241C28 0C03A625 */ jal func_800E9894 +/* 8447FC 80241C2C 00000000 */ nop +/* 844800 80241C30 8FBF0010 */ lw $ra, 0x10($sp) +/* 844804 80241C34 24020002 */ addiu $v0, $zero, 2 +/* 844808 80241C38 03E00008 */ jr $ra +/* 84480C 80241C3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241C40.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241C40.s new file mode 100644 index 0000000000..e32acbdec6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241C40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C40 +/* 844810 80241C40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844814 80241C44 AFBF0010 */ sw $ra, 0x10($sp) +/* 844818 80241C48 0C03A631 */ jal func_800E98C4 +/* 84481C 80241C4C 00000000 */ nop +/* 844820 80241C50 8FBF0010 */ lw $ra, 0x10($sp) +/* 844824 80241C54 24020002 */ addiu $v0, $zero, 2 +/* 844828 80241C58 03E00008 */ jr $ra +/* 84482C 80241C5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241C60.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241C60.s new file mode 100644 index 0000000000..99a898385e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241C60.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C60 +/* 844830 80241C60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844834 80241C64 AFBF0010 */ sw $ra, 0x10($sp) +/* 844838 80241C68 0C03A631 */ jal func_800E98C4 +/* 84483C 80241C6C 00000000 */ nop +/* 844840 80241C70 0C03A5D8 */ jal open_status_menu_long +/* 844844 80241C74 00000000 */ nop +/* 844848 80241C78 8FBF0010 */ lw $ra, 0x10($sp) +/* 84484C 80241C7C 24020002 */ addiu $v0, $zero, 2 +/* 844850 80241C80 03E00008 */ jr $ra +/* 844854 80241C84 27BD0018 */ addiu $sp, $sp, 0x18 +/* 844858 80241C88 00000000 */ nop +/* 84485C 80241C8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241C90.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241C90.s new file mode 100644 index 0000000000..d3fb812737 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241C90.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C90 +/* 844860 80241C90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844864 80241C94 AFB00010 */ sw $s0, 0x10($sp) +/* 844868 80241C98 0080802D */ daddu $s0, $a0, $zero +/* 84486C 80241C9C 0000202D */ daddu $a0, $zero, $zero +/* 844870 80241CA0 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 844874 80241CA4 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 844878 80241CA8 AFBF0014 */ sw $ra, 0x14($sp) +/* 84487C 80241CAC 8C620004 */ lw $v0, 4($v1) +/* 844880 80241CB0 3C058024 */ lui $a1, 0x8024 +/* 844884 80241CB4 24A51D30 */ addiu $a1, $a1, 0x1d30 +/* 844888 80241CB8 34422000 */ ori $v0, $v0, 0x2000 +/* 84488C 80241CBC 0C048C56 */ jal bind_dynamic_entity_3 +/* 844890 80241CC0 AC620004 */ sw $v0, 4($v1) +/* 844894 80241CC4 0200202D */ daddu $a0, $s0, $zero +/* 844898 80241CC8 3C05FD05 */ lui $a1, 0xfd05 +/* 84489C 80241CCC 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8448A0 80241CD0 0C0B2026 */ jal set_variable +/* 8448A4 80241CD4 0040302D */ daddu $a2, $v0, $zero +/* 8448A8 80241CD8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8448AC 80241CDC 8FB00010 */ lw $s0, 0x10($sp) +/* 8448B0 80241CE0 24020002 */ addiu $v0, $zero, 2 +/* 8448B4 80241CE4 03E00008 */ jr $ra +/* 8448B8 80241CE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241CEC.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241CEC.s new file mode 100644 index 0000000000..94e75e67f3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241CEC.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CEC +/* 8448BC 80241CEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8448C0 80241CF0 3C05FD05 */ lui $a1, 0xfd05 +/* 8448C4 80241CF4 AFBF0010 */ sw $ra, 0x10($sp) +/* 8448C8 80241CF8 0C0B1EAF */ jal get_variable +/* 8448CC 80241CFC 34A50F8B */ ori $a1, $a1, 0xf8b +/* 8448D0 80241D00 0040202D */ daddu $a0, $v0, $zero +/* 8448D4 80241D04 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8448D8 80241D08 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8448DC 80241D0C 8C430004 */ lw $v1, 4($v0) +/* 8448E0 80241D10 2405DFFF */ addiu $a1, $zero, -0x2001 +/* 8448E4 80241D14 00651824 */ and $v1, $v1, $a1 +/* 8448E8 80241D18 0C048D70 */ jal func_801235C0 +/* 8448EC 80241D1C AC430004 */ sw $v1, 4($v0) +/* 8448F0 80241D20 8FBF0010 */ lw $ra, 0x10($sp) +/* 8448F4 80241D24 24020002 */ addiu $v0, $zero, 2 +/* 8448F8 80241D28 03E00008 */ jr $ra +/* 8448FC 80241D2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241D30_842BD0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241D30_842BD0.s new file mode 100644 index 0000000000..866f054a7c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241D30_842BD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D30_844900 +/* 844900 80241D30 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 844904 80241D34 3C04800A */ lui $a0, 0x800a +/* 844908 80241D38 8484A634 */ lh $a0, -0x59cc($a0) +/* 84490C 80241D3C 27A20030 */ addiu $v0, $sp, 0x30 +/* 844910 80241D40 AFA20010 */ sw $v0, 0x10($sp) +/* 844914 80241D44 27A20034 */ addiu $v0, $sp, 0x34 +/* 844918 80241D48 AFA20014 */ sw $v0, 0x14($sp) +/* 84491C 80241D4C 27A20038 */ addiu $v0, $sp, 0x38 +/* 844920 80241D50 AFB00040 */ sw $s0, 0x40($sp) +/* 844924 80241D54 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 844928 80241D58 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 84492C 80241D5C AFBF0044 */ sw $ra, 0x44($sp) +/* 844930 80241D60 AFA20018 */ sw $v0, 0x18($sp) +/* 844934 80241D64 8E050028 */ lw $a1, 0x28($s0) +/* 844938 80241D68 8E06002C */ lw $a2, 0x2c($s0) +/* 84493C 80241D6C 0C00B94E */ jal get_screen_coords +/* 844940 80241D70 8E070030 */ lw $a3, 0x30($s0) +/* 844944 80241D74 27A40020 */ addiu $a0, $sp, 0x20 +/* 844948 80241D78 AFB00028 */ sw $s0, 0x28($sp) +/* 84494C 80241D7C 820300BE */ lb $v1, 0xbe($s0) +/* 844950 80241D80 8FA50038 */ lw $a1, 0x38($sp) +/* 844954 80241D84 3C028024 */ lui $v0, 0x8024 +/* 844958 80241D88 24421DAC */ addiu $v0, $v0, 0x1dac +/* 84495C 80241D8C AFA2002C */ sw $v0, 0x2c($sp) +/* 844960 80241D90 AFA30020 */ sw $v1, 0x20($sp) +/* 844964 80241D94 0C047644 */ jal queue_render_task +/* 844968 80241D98 AFA50024 */ sw $a1, 0x24($sp) +/* 84496C 80241D9C 8FBF0044 */ lw $ra, 0x44($sp) +/* 844970 80241DA0 8FB00040 */ lw $s0, 0x40($sp) +/* 844974 80241DA4 03E00008 */ jr $ra +/* 844978 80241DA8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241DAC.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241DAC.s new file mode 100644 index 0000000000..0d86e9e35a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241DAC.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DAC +/* 84497C 80241DAC 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 844980 80241DB0 AFB1009C */ sw $s1, 0x9c($sp) +/* 844984 80241DB4 0080882D */ daddu $s1, $a0, $zero +/* 844988 80241DB8 0000202D */ daddu $a0, $zero, $zero +/* 84498C 80241DBC 3C05FD05 */ lui $a1, 0xfd05 +/* 844990 80241DC0 AFBF00A0 */ sw $ra, 0xa0($sp) +/* 844994 80241DC4 AFB00098 */ sw $s0, 0x98($sp) +/* 844998 80241DC8 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* 84499C 80241DCC F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* 8449A0 80241DD0 0C0B210B */ jal get_float_variable +/* 8449A4 80241DD4 34A50F8A */ ori $a1, $a1, 0xf8a +/* 8449A8 80241DD8 44801000 */ mtc1 $zero, $f2 +/* 8449AC 80241DDC 3C013F80 */ lui $at, 0x3f80 +/* 8449B0 80241DE0 4481B000 */ mtc1 $at, $f22 +/* 8449B4 80241DE4 27A40018 */ addiu $a0, $sp, 0x18 +/* 8449B8 80241DE8 E7A20010 */ swc1 $f2, 0x10($sp) +/* 8449BC 80241DEC 8E2500A8 */ lw $a1, 0xa8($s1) +/* 8449C0 80241DF0 44061000 */ mfc1 $a2, $f2 +/* 8449C4 80241DF4 4407B000 */ mfc1 $a3, $f22 +/* 8449C8 80241DF8 0C019EC8 */ jal guRotateF +/* 8449CC 80241DFC 46000506 */ mov.s $f20, $f0 +/* 8449D0 80241E00 3C018025 */ lui $at, 0x8025 +/* 8449D4 80241E04 D420F580 */ ldc1 $f0, -0xa80($at) +/* 8449D8 80241E08 4600A521 */ cvt.d.s $f20, $f20 +/* 8449DC 80241E0C 4620A502 */ mul.d $f20, $f20, $f0 +/* 8449E0 80241E10 00000000 */ nop +/* 8449E4 80241E14 27B00058 */ addiu $s0, $sp, 0x58 +/* 8449E8 80241E18 4620A520 */ cvt.s.d $f20, $f20 +/* 8449EC 80241E1C 4405A000 */ mfc1 $a1, $f20 +/* 8449F0 80241E20 0200202D */ daddu $a0, $s0, $zero +/* 8449F4 80241E24 00A0302D */ daddu $a2, $a1, $zero +/* 8449F8 80241E28 0C019DF0 */ jal guScaleF +/* 8449FC 80241E2C 00A0382D */ daddu $a3, $a1, $zero +/* 844A00 80241E30 27A40018 */ addiu $a0, $sp, 0x18 +/* 844A04 80241E34 0200282D */ daddu $a1, $s0, $zero +/* 844A08 80241E38 0C019D80 */ jal guMtxCatF +/* 844A0C 80241E3C 0080302D */ daddu $a2, $a0, $zero +/* 844A10 80241E40 8E250028 */ lw $a1, 0x28($s1) +/* 844A14 80241E44 8E26002C */ lw $a2, 0x2c($s1) +/* 844A18 80241E48 8E270030 */ lw $a3, 0x30($s1) +/* 844A1C 80241E4C 0C019E40 */ jal guTranslateF +/* 844A20 80241E50 0200202D */ daddu $a0, $s0, $zero +/* 844A24 80241E54 27A40018 */ addiu $a0, $sp, 0x18 +/* 844A28 80241E58 0200282D */ daddu $a1, $s0, $zero +/* 844A2C 80241E5C 0C019D80 */ jal guMtxCatF +/* 844A30 80241E60 0080302D */ daddu $a2, $a0, $zero +/* 844A34 80241E64 8E2500A4 */ lw $a1, 0xa4($s1) +/* 844A38 80241E68 4406B000 */ mfc1 $a2, $f22 +/* 844A3C 80241E6C 0C0B76A3 */ jal func_802DDA8C +/* 844A40 80241E70 0000202D */ daddu $a0, $zero, $zero +/* 844A44 80241E74 0000202D */ daddu $a0, $zero, $zero +/* 844A48 80241E78 0080282D */ daddu $a1, $a0, $zero +/* 844A4C 80241E7C 0080302D */ daddu $a2, $a0, $zero +/* 844A50 80241E80 0080382D */ daddu $a3, $a0, $zero +/* 844A54 80241E84 A62200BC */ sh $v0, 0xbc($s1) +/* 844A58 80241E88 27A20018 */ addiu $v0, $sp, 0x18 +/* 844A5C 80241E8C 0C0B7710 */ jal render_sprite +/* 844A60 80241E90 AFA20010 */ sw $v0, 0x10($sp) +/* 844A64 80241E94 8FBF00A0 */ lw $ra, 0xa0($sp) +/* 844A68 80241E98 8FB1009C */ lw $s1, 0x9c($sp) +/* 844A6C 80241E9C 8FB00098 */ lw $s0, 0x98($sp) +/* 844A70 80241EA0 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* 844A74 80241EA4 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* 844A78 80241EA8 03E00008 */ jr $ra +/* 844A7C 80241EAC 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241EB0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241EB0.s new file mode 100644 index 0000000000..1ebe3cffe9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241EB0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EB0 +/* 844A80 80241EB0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 844A84 80241EB4 AFBF0010 */ sw $ra, 0x10($sp) +/* 844A88 80241EB8 0C04417A */ jal get_entity_by_index +/* 844A8C 80241EBC 8C840084 */ lw $a0, 0x84($a0) +/* 844A90 80241EC0 0040182D */ daddu $v1, $v0, $zero +/* 844A94 80241EC4 8C640000 */ lw $a0, ($v1) +/* 844A98 80241EC8 3C050010 */ lui $a1, 0x10 +/* 844A9C 80241ECC 00852025 */ or $a0, $a0, $a1 +/* 844AA0 80241ED0 AC640000 */ sw $a0, ($v1) +/* 844AA4 80241ED4 8FBF0010 */ lw $ra, 0x10($sp) +/* 844AA8 80241ED8 24020002 */ addiu $v0, $zero, 2 +/* 844AAC 80241EDC 03E00008 */ jr $ra +/* 844AB0 80241EE0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 844AB4 80241EE4 00000000 */ nop +/* 844AB8 80241EE8 00000000 */ nop +/* 844ABC 80241EEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_04/func_80241EF0.s b/asm/nonmatchings/world/area_mac/mac_04/func_80241EF0.s new file mode 100644 index 0000000000..e5aa12cbee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_04/func_80241EF0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EF0 +/* 844AC0 80241EF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 844AC4 80241EF4 AFB00010 */ sw $s0, 0x10($sp) +/* 844AC8 80241EF8 0080802D */ daddu $s0, $a0, $zero +/* 844ACC 80241EFC AFB20018 */ sw $s2, 0x18($sp) +/* 844AD0 80241F00 AFBF001C */ sw $ra, 0x1c($sp) +/* 844AD4 80241F04 AFB10014 */ sw $s1, 0x14($sp) +/* 844AD8 80241F08 8E02000C */ lw $v0, 0xc($s0) +/* 844ADC 80241F0C 10A00008 */ beqz $a1, .L80241F30 +/* 844AE0 80241F10 0000902D */ daddu $s2, $zero, $zero +/* 844AE4 80241F14 8C450000 */ lw $a1, ($v0) +/* 844AE8 80241F18 0C0B1EAF */ jal get_variable +/* 844AEC 80241F1C 00000000 */ nop +/* 844AF0 80241F20 AE020070 */ sw $v0, 0x70($s0) +/* 844AF4 80241F24 AE000074 */ sw $zero, 0x74($s0) +/* 844AF8 80241F28 8C420014 */ lw $v0, 0x14($v0) +/* 844AFC 80241F2C AE020078 */ sw $v0, 0x78($s0) +.L80241F30: +/* 844B00 80241F30 8E050078 */ lw $a1, 0x78($s0) +/* 844B04 80241F34 8E110070 */ lw $s1, 0x70($s0) +/* 844B08 80241F38 0C0B1EAF */ jal get_variable +/* 844B0C 80241F3C 0200202D */ daddu $a0, $s0, $zero +/* 844B10 80241F40 10400006 */ beqz $v0, .L80241F5C +/* 844B14 80241F44 24030002 */ addiu $v1, $zero, 2 +/* 844B18 80241F48 8E020074 */ lw $v0, 0x74($s0) +/* 844B1C 80241F4C 10430027 */ beq $v0, $v1, .L80241FEC +/* 844B20 80241F50 00000000 */ nop +/* 844B24 80241F54 080907FA */ j .L80241FE8 +/* 844B28 80241F58 AE030074 */ sw $v1, 0x74($s0) +.L80241F5C: +/* 844B2C 80241F5C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 844B30 80241F60 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 844B34 80241F64 8E260000 */ lw $a2, ($s1) +/* 844B38 80241F68 8E270004 */ lw $a3, 4($s1) +/* 844B3C 80241F6C C44C0028 */ lwc1 $f12, 0x28($v0) +/* 844B40 80241F70 0C00A7B5 */ jal dist2D +/* 844B44 80241F74 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 844B48 80241F78 8E030074 */ lw $v1, 0x74($s0) +/* 844B4C 80241F7C 24040001 */ addiu $a0, $zero, 1 +/* 844B50 80241F80 10640013 */ beq $v1, $a0, .L80241FD0 +/* 844B54 80241F84 46000086 */ mov.s $f2, $f0 +/* 844B58 80241F88 28620002 */ slti $v0, $v1, 2 +/* 844B5C 80241F8C 50400005 */ beql $v0, $zero, .L80241FA4 +/* 844B60 80241F90 24020002 */ addiu $v0, $zero, 2 +/* 844B64 80241F94 10600007 */ beqz $v1, .L80241FB4 +/* 844B68 80241F98 00000000 */ nop +/* 844B6C 80241F9C 080907FB */ j .L80241FEC +/* 844B70 80241FA0 00000000 */ nop +.L80241FA4: +/* 844B74 80241FA4 50620010 */ beql $v1, $v0, .L80241FE8 +/* 844B78 80241FA8 AE040074 */ sw $a0, 0x74($s0) +/* 844B7C 80241FAC 080907FB */ j .L80241FEC +/* 844B80 80241FB0 00000000 */ nop +.L80241FB4: +/* 844B84 80241FB4 C6200008 */ lwc1 $f0, 8($s1) +/* 844B88 80241FB8 4600103C */ c.lt.s $f2, $f0 +/* 844B8C 80241FBC 00000000 */ nop +/* 844B90 80241FC0 4500000A */ bc1f .L80241FEC +/* 844B94 80241FC4 00000000 */ nop +/* 844B98 80241FC8 080907FA */ j .L80241FE8 +/* 844B9C 80241FCC AE040074 */ sw $a0, 0x74($s0) +.L80241FD0: +/* 844BA0 80241FD0 C620000C */ lwc1 $f0, 0xc($s1) +/* 844BA4 80241FD4 4602003C */ c.lt.s $f0, $f2 +/* 844BA8 80241FD8 00000000 */ nop +/* 844BAC 80241FDC 45000003 */ bc1f .L80241FEC +/* 844BB0 80241FE0 00000000 */ nop +/* 844BB4 80241FE4 AE000074 */ sw $zero, 0x74($s0) +.L80241FE8: +/* 844BB8 80241FE8 24120001 */ addiu $s2, $zero, 1 +.L80241FEC: +/* 844BBC 80241FEC 12400005 */ beqz $s2, .L80242004 +/* 844BC0 80241FF0 00000000 */ nop +/* 844BC4 80241FF4 8E250010 */ lw $a1, 0x10($s1) +/* 844BC8 80241FF8 86060076 */ lh $a2, 0x76($s0) +/* 844BCC 80241FFC 0C052A95 */ jal func_8014AA54 +/* 844BD0 80242000 0000202D */ daddu $a0, $zero, $zero +.L80242004: +/* 844BD4 80242004 8FBF001C */ lw $ra, 0x1c($sp) +/* 844BD8 80242008 8FB20018 */ lw $s2, 0x18($sp) +/* 844BDC 8024200C 8FB10014 */ lw $s1, 0x14($sp) +/* 844BE0 80242010 8FB00010 */ lw $s0, 0x10($sp) +/* 844BE4 80242014 0000102D */ daddu $v0, $zero, $zero +/* 844BE8 80242018 03E00008 */ jr $ra +/* 844BEC 8024201C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240000_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240000_852170.s new file mode 100644 index 0000000000..4ea7010271 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240000_852170.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_852170 +/* 852170 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 852174 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 852178 80240008 0080802D */ daddu $s0, $a0, $zero +/* 85217C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 852180 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 852184 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 852188 80240018 00621821 */ addu $v1, $v1, $v0 +/* 85218C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 852190 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 852194 80240024 3C020002 */ lui $v0, 2 +/* 852198 80240028 08090010 */ j .L80240040 +/* 85219C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 8521A0 80240030 3C040002 */ lui $a0, 2 +/* 8521A4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 8521A8 80240038 10400002 */ beqz $v0, .L80240044 +/* 8521AC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 8521B0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 8521B4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 8521B8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 8521BC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 8521C0 80240050 04610004 */ bgez $v1, .L80240064 +/* 8521C4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 8521C8 80240058 3C020002 */ lui $v0, 2 +/* 8521CC 8024005C 0809001D */ j .L80240074 +/* 8521D0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 8521D4 80240064 3C040002 */ lui $a0, 2 +/* 8521D8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 8521DC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 8521E0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 8521E4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 8521E8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8521EC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 8521F0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 8521F4 80240084 04610004 */ bgez $v1, .L80240098 +/* 8521F8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8521FC 8024008C 3C020002 */ lui $v0, 2 +/* 852200 80240090 0809002A */ j .L802400A8 +/* 852204 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 852208 80240098 3C040002 */ lui $a0, 2 +/* 85220C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 852210 802400A0 10400002 */ beqz $v0, .L802400AC +/* 852214 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 852218 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 85221C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 852220 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 852224 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 852228 802400B8 04610004 */ bgez $v1, .L802400CC +/* 85222C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 852230 802400C0 3C020002 */ lui $v0, 2 +/* 852234 802400C4 08090037 */ j .L802400DC +/* 852238 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 85223C 802400CC 3C040002 */ lui $a0, 2 +/* 852240 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 852244 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 852248 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 85224C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 852250 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 852254 802400E4 0C046F07 */ jal set_main_pan_u +/* 852258 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 85225C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 852260 802400F0 0C046F0D */ jal set_main_pan_v +/* 852264 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 852268 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 85226C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 852270 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 852274 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 852278 80240108 0C046F19 */ jal set_aux_pan_v +/* 85227C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 852280 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 852284 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 852288 80240118 0000102D */ daddu $v0, $zero, $zero +/* 85228C 8024011C 03E00008 */ jr $ra +/* 852290 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240124.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240124.s new file mode 100644 index 0000000000..73f1bb4b52 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240124.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124 +/* 852294 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 852298 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 85229C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 8522A0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 8522A4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 8522A8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 8522AC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 8522B0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 8522B4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 8522B8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 8522BC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 8522C0 80240150 00000000 */ nop +/* 8522C4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8522C8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 8522CC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 8522D0 80240160 04610004 */ bgez $v1, .L80240174 +/* 8522D4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8522D8 80240168 3C020002 */ lui $v0, 2 +/* 8522DC 8024016C 08090061 */ j .L80240184 +/* 8522E0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 8522E4 80240174 3C040002 */ lui $a0, 2 +/* 8522E8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 8522EC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 8522F0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 8522F4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 8522F8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 8522FC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 852300 80240190 00000000 */ nop +/* 852304 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 852308 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 85230C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 852310 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 852314 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 852318 802401A8 3C020002 */ lui $v0, 2 +/* 85231C 802401AC 08090071 */ j .L802401C4 +/* 852320 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 852324 802401B4 3C040002 */ lui $a0, 2 +/* 852328 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 85232C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 852330 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 852334 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 852338 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 85233C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 852340 802401D0 00000000 */ nop +/* 852344 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 852348 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 85234C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 852350 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 852354 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 852358 802401E8 3C020002 */ lui $v0, 2 +/* 85235C 802401EC 08090081 */ j .L80240204 +/* 852360 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 852364 802401F4 3C040002 */ lui $a0, 2 +/* 852368 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 85236C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 852370 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 852374 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 852378 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 85237C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 852380 80240210 00000000 */ nop +/* 852384 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 852388 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 85238C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 852390 80240220 04610004 */ bgez $v1, .L80240234 +/* 852394 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 852398 80240228 3C020002 */ lui $v0, 2 +/* 85239C 8024022C 08090091 */ j .L80240244 +/* 8523A0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 8523A4 80240234 3C040002 */ lui $a0, 2 +/* 8523A8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 8523AC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 8523B0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 8523B4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 8523B8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 8523BC 8024024C 0C046F07 */ jal set_main_pan_u +/* 8523C0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8523C4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 8523C8 80240258 0C046F0D */ jal set_main_pan_v +/* 8523CC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 8523D0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 8523D4 80240264 0C046F13 */ jal set_aux_pan_u +/* 8523D8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8523DC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 8523E0 80240270 0C046F19 */ jal set_aux_pan_v +/* 8523E4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8523E8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 8523EC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 8523F0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 8523F4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 8523F8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 8523FC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 852400 80240290 24630001 */ addiu $v1, $v1, 1 +/* 852404 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 852408 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 85240C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 852410 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 852414 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 852418 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 85241C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 852420 802402B0 14600002 */ bnez $v1, .L802402BC +/* 852424 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 852428 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 85242C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 852430 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 852434 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 852438 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 85243C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 852440 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 852444 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 852448 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 85244C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 852450 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 852454 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 852458 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 85245C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 852460 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 852464 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 852468 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 85246C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 852470 80240300 0000102D */ daddu $v0, $zero, $zero +/* 852474 80240304 03E00008 */ jr $ra +/* 852478 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024030C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024030C.s new file mode 100644 index 0000000000..2e1fa48e85 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024030C.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C +/* 85247C 8024030C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 852480 80240310 AFB20018 */ sw $s2, 0x18($sp) +/* 852484 80240314 0080902D */ daddu $s2, $a0, $zero +/* 852488 80240318 AFBF0028 */ sw $ra, 0x28($sp) +/* 85248C 8024031C AFB50024 */ sw $s5, 0x24($sp) +/* 852490 80240320 AFB40020 */ sw $s4, 0x20($sp) +/* 852494 80240324 AFB3001C */ sw $s3, 0x1c($sp) +/* 852498 80240328 AFB10014 */ sw $s1, 0x14($sp) +/* 85249C 8024032C AFB00010 */ sw $s0, 0x10($sp) +/* 8524A0 80240330 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 8524A4 80240334 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 8524A8 80240338 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 8524AC 8024033C 8E50000C */ lw $s0, 0xc($s2) +/* 8524B0 80240340 8E140000 */ lw $s4, ($s0) +/* 8524B4 80240344 26100004 */ addiu $s0, $s0, 4 +/* 8524B8 80240348 0C0B1EAF */ jal get_variable +/* 8524BC 8024034C 0280282D */ daddu $a1, $s4, $zero +/* 8524C0 80240350 0040982D */ daddu $s3, $v0, $zero +/* 8524C4 80240354 8E150000 */ lw $s5, ($s0) +/* 8524C8 80240358 26100004 */ addiu $s0, $s0, 4 +/* 8524CC 8024035C 8E050000 */ lw $a1, ($s0) +/* 8524D0 80240360 26100004 */ addiu $s0, $s0, 4 +/* 8524D4 80240364 0C0B210B */ jal get_float_variable +/* 8524D8 80240368 0240202D */ daddu $a0, $s2, $zero +/* 8524DC 8024036C 8E050000 */ lw $a1, ($s0) +/* 8524E0 80240370 26100004 */ addiu $s0, $s0, 4 +/* 8524E4 80240374 0240202D */ daddu $a0, $s2, $zero +/* 8524E8 80240378 0C0B210B */ jal get_float_variable +/* 8524EC 8024037C 46000606 */ mov.s $f24, $f0 +/* 8524F0 80240380 8E050000 */ lw $a1, ($s0) +/* 8524F4 80240384 26100004 */ addiu $s0, $s0, 4 +/* 8524F8 80240388 0240202D */ daddu $a0, $s2, $zero +/* 8524FC 8024038C 0C0B1EAF */ jal get_variable +/* 852500 80240390 46000506 */ mov.s $f20, $f0 +/* 852504 80240394 8E050000 */ lw $a1, ($s0) +/* 852508 80240398 26100004 */ addiu $s0, $s0, 4 +/* 85250C 8024039C 0240202D */ daddu $a0, $s2, $zero +/* 852510 802403A0 0C0B1EAF */ jal get_variable +/* 852514 802403A4 0040882D */ daddu $s1, $v0, $zero +/* 852518 802403A8 0240202D */ daddu $a0, $s2, $zero +/* 85251C 802403AC 8E050000 */ lw $a1, ($s0) +/* 852520 802403B0 0C0B210B */ jal get_float_variable +/* 852524 802403B4 0040802D */ daddu $s0, $v0, $zero +/* 852528 802403B8 4618A501 */ sub.s $f20, $f20, $f24 +/* 85252C 802403BC 3C013F00 */ lui $at, 0x3f00 +/* 852530 802403C0 44811000 */ mtc1 $at, $f2 +/* 852534 802403C4 00000000 */ nop +/* 852538 802403C8 4602A502 */ mul.s $f20, $f20, $f2 +/* 85253C 802403CC 00000000 */ nop +/* 852540 802403D0 12000008 */ beqz $s0, .L802403F4 +/* 852544 802403D4 46000586 */ mov.s $f22, $f0 +/* 852548 802403D8 0233102A */ slt $v0, $s1, $s3 +/* 85254C 802403DC 10400005 */ beqz $v0, .L802403F4 +/* 852550 802403E0 0240202D */ daddu $a0, $s2, $zero +/* 852554 802403E4 0220982D */ daddu $s3, $s1, $zero +/* 852558 802403E8 0280282D */ daddu $a1, $s4, $zero +/* 85255C 802403EC 0C0B2026 */ jal set_variable +/* 852560 802403F0 0220302D */ daddu $a2, $s1, $zero +.L802403F4: +/* 852564 802403F4 3C014334 */ lui $at, 0x4334 +/* 852568 802403F8 44810000 */ mtc1 $at, $f0 +/* 85256C 802403FC 44936000 */ mtc1 $s3, $f12 +/* 852570 80240400 00000000 */ nop +/* 852574 80240404 46806320 */ cvt.s.w $f12, $f12 +/* 852578 80240408 46006302 */ mul.s $f12, $f12, $f0 +/* 85257C 8024040C 00000000 */ nop +/* 852580 80240410 44910000 */ mtc1 $s1, $f0 +/* 852584 80240414 00000000 */ nop +/* 852588 80240418 46800020 */ cvt.s.w $f0, $f0 +/* 85258C 8024041C 46006303 */ div.s $f12, $f12, $f0 +/* 852590 80240420 0C00A8D4 */ jal cos_deg +/* 852594 80240424 46166300 */ add.s $f12, $f12, $f22 +/* 852598 80240428 4600A002 */ mul.s $f0, $f20, $f0 +/* 85259C 8024042C 00000000 */ nop +/* 8525A0 80240430 4614C080 */ add.s $f2, $f24, $f20 +/* 8525A4 80240434 46001081 */ sub.s $f2, $f2, $f0 +/* 8525A8 80240438 0240202D */ daddu $a0, $s2, $zero +/* 8525AC 8024043C 44061000 */ mfc1 $a2, $f2 +/* 8525B0 80240440 0C0B2190 */ jal set_float_variable +/* 8525B4 80240444 02A0282D */ daddu $a1, $s5, $zero +/* 8525B8 80240448 8FBF0028 */ lw $ra, 0x28($sp) +/* 8525BC 8024044C 8FB50024 */ lw $s5, 0x24($sp) +/* 8525C0 80240450 8FB40020 */ lw $s4, 0x20($sp) +/* 8525C4 80240454 8FB3001C */ lw $s3, 0x1c($sp) +/* 8525C8 80240458 8FB20018 */ lw $s2, 0x18($sp) +/* 8525CC 8024045C 8FB10014 */ lw $s1, 0x14($sp) +/* 8525D0 80240460 8FB00010 */ lw $s0, 0x10($sp) +/* 8525D4 80240464 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 8525D8 80240468 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 8525DC 8024046C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 8525E0 80240470 24020002 */ addiu $v0, $zero, 2 +/* 8525E4 80240474 03E00008 */ jr $ra +/* 8525E8 80240478 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024047C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024047C.s new file mode 100644 index 0000000000..08c7ae24ee --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024047C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024047C +/* 8525EC 8024047C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 8525F0 80240480 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 8525F4 80240484 AC400094 */ sw $zero, 0x94($v0) +/* 8525F8 80240488 03E00008 */ jr $ra +/* 8525FC 8024048C 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240490.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240490.s new file mode 100644 index 0000000000..4fbea5ba23 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240490.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240490 +/* 852600 80240490 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 852604 80240494 AFB50024 */ sw $s5, 0x24($sp) +/* 852608 80240498 0080A82D */ daddu $s5, $a0, $zero +/* 85260C 8024049C AFBF002C */ sw $ra, 0x2c($sp) +/* 852610 802404A0 AFB60028 */ sw $s6, 0x28($sp) +/* 852614 802404A4 AFB40020 */ sw $s4, 0x20($sp) +/* 852618 802404A8 AFB3001C */ sw $s3, 0x1c($sp) +/* 85261C 802404AC AFB20018 */ sw $s2, 0x18($sp) +/* 852620 802404B0 AFB10014 */ sw $s1, 0x14($sp) +/* 852624 802404B4 AFB00010 */ sw $s0, 0x10($sp) +/* 852628 802404B8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 85262C 802404BC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 852630 802404C0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 852634 802404C4 8EB30148 */ lw $s3, 0x148($s5) +/* 852638 802404C8 86640008 */ lh $a0, 8($s3) +/* 85263C 802404CC 0C00EABB */ jal get_npc_unsafe +/* 852640 802404D0 00A0B02D */ daddu $s6, $a1, $zero +/* 852644 802404D4 0040A02D */ daddu $s4, $v0, $zero +/* 852648 802404D8 AEA00074 */ sw $zero, 0x74($s5) +/* 85264C 802404DC C6980038 */ lwc1 $f24, 0x38($s4) +/* 852650 802404E0 C6960040 */ lwc1 $f22, 0x40($s4) +/* 852654 802404E4 0000902D */ daddu $s2, $zero, $zero +/* 852658 802404E8 AEA00078 */ sw $zero, 0x78($s5) +/* 85265C 802404EC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 852660 802404F0 8C620000 */ lw $v0, ($v1) +/* 852664 802404F4 3C0146FF */ lui $at, 0x46ff +/* 852668 802404F8 3421FE00 */ ori $at, $at, 0xfe00 +/* 85266C 802404FC 4481A000 */ mtc1 $at, $f20 +/* 852670 80240500 18400018 */ blez $v0, .L80240564 +/* 852674 80240504 0240802D */ daddu $s0, $s2, $zero +/* 852678 80240508 0240882D */ daddu $s1, $s2, $zero +.L8024050C: +/* 85267C 8024050C 02231021 */ addu $v0, $s1, $v1 +/* 852680 80240510 4600C306 */ mov.s $f12, $f24 +/* 852684 80240514 C4440004 */ lwc1 $f4, 4($v0) +/* 852688 80240518 46802120 */ cvt.s.w $f4, $f4 +/* 85268C 8024051C 44062000 */ mfc1 $a2, $f4 +/* 852690 80240520 C444000C */ lwc1 $f4, 0xc($v0) +/* 852694 80240524 46802120 */ cvt.s.w $f4, $f4 +/* 852698 80240528 44072000 */ mfc1 $a3, $f4 +/* 85269C 8024052C 0C00A7B5 */ jal dist2D +/* 8526A0 80240530 4600B386 */ mov.s $f14, $f22 +/* 8526A4 80240534 4614003C */ c.lt.s $f0, $f20 +/* 8526A8 80240538 00000000 */ nop +/* 8526AC 8024053C 45000003 */ bc1f .L8024054C +/* 8526B0 80240540 2631000C */ addiu $s1, $s1, 0xc +/* 8526B4 80240544 46000506 */ mov.s $f20, $f0 +/* 8526B8 80240548 AEB20078 */ sw $s2, 0x78($s5) +.L8024054C: +/* 8526BC 8024054C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 8526C0 80240550 26100001 */ addiu $s0, $s0, 1 +/* 8526C4 80240554 8C620000 */ lw $v0, ($v1) +/* 8526C8 80240558 0202102A */ slt $v0, $s0, $v0 +/* 8526CC 8024055C 1440FFEB */ bnez $v0, .L8024050C +/* 8526D0 80240560 26520001 */ addiu $s2, $s2, 1 +.L80240564: +/* 8526D4 80240564 8E6200CC */ lw $v0, 0xcc($s3) +/* 8526D8 80240568 8C420004 */ lw $v0, 4($v0) +/* 8526DC 8024056C AE820028 */ sw $v0, 0x28($s4) +/* 8526E0 80240570 8E6200D0 */ lw $v0, 0xd0($s3) +/* 8526E4 80240574 8C42007C */ lw $v0, 0x7c($v0) +/* 8526E8 80240578 04410004 */ bgez $v0, .L8024058C +/* 8526EC 8024057C 00000000 */ nop +/* 8526F0 80240580 C6C00000 */ lwc1 $f0, ($s6) +/* 8526F4 80240584 0809016B */ j .L802405AC +/* 8526F8 80240588 E6800018 */ swc1 $f0, 0x18($s4) +.L8024058C: +/* 8526FC 8024058C 3C018025 */ lui $at, 0x8025 +/* 852700 80240590 D42227B0 */ ldc1 $f2, 0x27b0($at) +/* 852704 80240594 44820000 */ mtc1 $v0, $f0 +/* 852708 80240598 00000000 */ nop +/* 85270C 8024059C 46800021 */ cvt.d.w $f0, $f0 +/* 852710 802405A0 46220003 */ div.d $f0, $f0, $f2 +/* 852714 802405A4 46200020 */ cvt.s.d $f0, $f0 +/* 852718 802405A8 E6800018 */ swc1 $f0, 0x18($s4) +.L802405AC: +/* 85271C 802405AC 24020001 */ addiu $v0, $zero, 1 +/* 852720 802405B0 AEA20070 */ sw $v0, 0x70($s5) +/* 852724 802405B4 8FBF002C */ lw $ra, 0x2c($sp) +/* 852728 802405B8 8FB60028 */ lw $s6, 0x28($sp) +/* 85272C 802405BC 8FB50024 */ lw $s5, 0x24($sp) +/* 852730 802405C0 8FB40020 */ lw $s4, 0x20($sp) +/* 852734 802405C4 8FB3001C */ lw $s3, 0x1c($sp) +/* 852738 802405C8 8FB20018 */ lw $s2, 0x18($sp) +/* 85273C 802405CC 8FB10014 */ lw $s1, 0x14($sp) +/* 852740 802405D0 8FB00010 */ lw $s0, 0x10($sp) +/* 852744 802405D4 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 852748 802405D8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 85274C 802405DC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 852750 802405E0 03E00008 */ jr $ra +/* 852754 802405E4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802405E8_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_802405E8_852170.s new file mode 100644 index 0000000000..d498b1573d --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802405E8_852170.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405E8_852758 +/* 852758 802405E8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 85275C 802405EC AFB20038 */ sw $s2, 0x38($sp) +/* 852760 802405F0 0080902D */ daddu $s2, $a0, $zero +/* 852764 802405F4 AFBF0044 */ sw $ra, 0x44($sp) +/* 852768 802405F8 AFB40040 */ sw $s4, 0x40($sp) +/* 85276C 802405FC AFB3003C */ sw $s3, 0x3c($sp) +/* 852770 80240600 AFB10034 */ sw $s1, 0x34($sp) +/* 852774 80240604 AFB00030 */ sw $s0, 0x30($sp) +/* 852778 80240608 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 85277C 8024060C F7B40048 */ sdc1 $f20, 0x48($sp) +/* 852780 80240610 8E510148 */ lw $s1, 0x148($s2) +/* 852784 80240614 00A0982D */ daddu $s3, $a1, $zero +/* 852788 80240618 86240008 */ lh $a0, 8($s1) +/* 85278C 8024061C 0C00EABB */ jal get_npc_unsafe +/* 852790 80240620 00C0A02D */ daddu $s4, $a2, $zero +/* 852794 80240624 8E630014 */ lw $v1, 0x14($s3) +/* 852798 80240628 04600030 */ bltz $v1, .L802406EC +/* 85279C 8024062C 0040802D */ daddu $s0, $v0, $zero +/* 8527A0 80240630 8E420074 */ lw $v0, 0x74($s2) +/* 8527A4 80240634 1C40002C */ bgtz $v0, .L802406E8 +/* 8527A8 80240638 2442FFFF */ addiu $v0, $v0, -1 +/* 8527AC 8024063C 0280202D */ daddu $a0, $s4, $zero +/* 8527B0 80240640 AE430074 */ sw $v1, 0x74($s2) +/* 8527B4 80240644 AFA00010 */ sw $zero, 0x10($sp) +/* 8527B8 80240648 8E66000C */ lw $a2, 0xc($s3) +/* 8527BC 8024064C 8E670010 */ lw $a3, 0x10($s3) +/* 8527C0 80240650 0C01242D */ jal func_800490B4 +/* 8527C4 80240654 0220282D */ daddu $a1, $s1, $zero +/* 8527C8 80240658 10400021 */ beqz $v0, .L802406E0 +/* 8527CC 8024065C 0000202D */ daddu $a0, $zero, $zero +/* 8527D0 80240660 0200282D */ daddu $a1, $s0, $zero +/* 8527D4 80240664 0000302D */ daddu $a2, $zero, $zero +/* 8527D8 80240668 860300A8 */ lh $v1, 0xa8($s0) +/* 8527DC 8024066C 3C013F80 */ lui $at, 0x3f80 +/* 8527E0 80240670 44810000 */ mtc1 $at, $f0 +/* 8527E4 80240674 3C014000 */ lui $at, 0x4000 +/* 8527E8 80240678 44811000 */ mtc1 $at, $f2 +/* 8527EC 8024067C 3C01C1A0 */ lui $at, 0xc1a0 +/* 8527F0 80240680 44812000 */ mtc1 $at, $f4 +/* 8527F4 80240684 2402000F */ addiu $v0, $zero, 0xf +/* 8527F8 80240688 AFA2001C */ sw $v0, 0x1c($sp) +/* 8527FC 8024068C 44833000 */ mtc1 $v1, $f6 +/* 852800 80240690 00000000 */ nop +/* 852804 80240694 468031A0 */ cvt.s.w $f6, $f6 +/* 852808 80240698 44073000 */ mfc1 $a3, $f6 +/* 85280C 8024069C 27A20028 */ addiu $v0, $sp, 0x28 +/* 852810 802406A0 AFA20020 */ sw $v0, 0x20($sp) +/* 852814 802406A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 852818 802406A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 85281C 802406AC 0C01BFA4 */ jal fx_emote +/* 852820 802406B0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 852824 802406B4 0200202D */ daddu $a0, $s0, $zero +/* 852828 802406B8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 85282C 802406BC 0C012530 */ jal func_800494C0 +/* 852830 802406C0 3C060020 */ lui $a2, 0x20 +/* 852834 802406C4 8E220018 */ lw $v0, 0x18($s1) +/* 852838 802406C8 9442002A */ lhu $v0, 0x2a($v0) +/* 85283C 802406CC 30420001 */ andi $v0, $v0, 1 +/* 852840 802406D0 14400064 */ bnez $v0, .L80240864 +/* 852844 802406D4 2402000A */ addiu $v0, $zero, 0xa +/* 852848 802406D8 08090219 */ j .L80240864 +/* 85284C 802406DC 2402000C */ addiu $v0, $zero, 0xc +.L802406E0: +/* 852850 802406E0 8E420074 */ lw $v0, 0x74($s2) +/* 852854 802406E4 2442FFFF */ addiu $v0, $v0, -1 +.L802406E8: +/* 852858 802406E8 AE420074 */ sw $v0, 0x74($s2) +.L802406EC: +/* 85285C 802406EC 8602008C */ lh $v0, 0x8c($s0) +/* 852860 802406F0 1440005D */ bnez $v0, .L80240868 +/* 852864 802406F4 00000000 */ nop +/* 852868 802406F8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 85286C 802406FC 3C014010 */ lui $at, 0x4010 +/* 852870 80240700 44811800 */ mtc1 $at, $f3 +/* 852874 80240704 44801000 */ mtc1 $zero, $f2 +/* 852878 80240708 46000021 */ cvt.d.s $f0, $f0 +/* 85287C 8024070C 4622003C */ c.lt.d $f0, $f2 +/* 852880 80240710 00000000 */ nop +/* 852884 80240714 45000003 */ bc1f .L80240724 +/* 852888 80240718 0200202D */ daddu $a0, $s0, $zero +/* 85288C 8024071C 080901CA */ j .L80240728 +/* 852890 80240720 0000282D */ daddu $a1, $zero, $zero +.L80240724: +/* 852894 80240724 24050001 */ addiu $a1, $zero, 1 +.L80240728: +/* 852898 80240728 0C00F598 */ jal func_8003D660 +/* 85289C 8024072C 00000000 */ nop +/* 8528A0 80240730 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8528A4 80240734 8E430078 */ lw $v1, 0x78($s2) +/* 8528A8 80240738 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8528AC 8024073C 00031040 */ sll $v0, $v1, 1 +/* 8528B0 80240740 00431021 */ addu $v0, $v0, $v1 +/* 8528B4 80240744 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8528B8 80240748 00021080 */ sll $v0, $v0, 2 +/* 8528BC 8024074C 00431021 */ addu $v0, $v0, $v1 +/* 8528C0 80240750 C4560004 */ lwc1 $f22, 4($v0) +/* 8528C4 80240754 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8528C8 80240758 C454000C */ lwc1 $f20, 0xc($v0) +/* 8528CC 8024075C 4680A520 */ cvt.s.w $f20, $f20 +/* 8528D0 80240760 4406B000 */ mfc1 $a2, $f22 +/* 8528D4 80240764 4407A000 */ mfc1 $a3, $f20 +/* 8528D8 80240768 0C00A720 */ jal atan2 +/* 8528DC 8024076C 00000000 */ nop +/* 8528E0 80240770 8E050018 */ lw $a1, 0x18($s0) +/* 8528E4 80240774 44060000 */ mfc1 $a2, $f0 +/* 8528E8 80240778 0200202D */ daddu $a0, $s0, $zero +/* 8528EC 8024077C 0C00EA95 */ jal npc_move_heading +/* 8528F0 80240780 AE06000C */ sw $a2, 0xc($s0) +/* 8528F4 80240784 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8528F8 80240788 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8528FC 8024078C 4406B000 */ mfc1 $a2, $f22 +/* 852900 80240790 4407A000 */ mfc1 $a3, $f20 +/* 852904 80240794 0C00A7B5 */ jal dist2D +/* 852908 80240798 00000000 */ nop +/* 85290C 8024079C C6020018 */ lwc1 $f2, 0x18($s0) +/* 852910 802407A0 4602003E */ c.le.s $f0, $f2 +/* 852914 802407A4 00000000 */ nop +/* 852918 802407A8 4500002F */ bc1f .L80240868 +/* 85291C 802407AC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 852920 802407B0 24020002 */ addiu $v0, $zero, 2 +/* 852924 802407B4 0C00A67F */ jal rand_int +/* 852928 802407B8 AE420070 */ sw $v0, 0x70($s2) +/* 85292C 802407BC 3C035555 */ lui $v1, 0x5555 +/* 852930 802407C0 34635556 */ ori $v1, $v1, 0x5556 +/* 852934 802407C4 00430018 */ mult $v0, $v1 +/* 852938 802407C8 000227C3 */ sra $a0, $v0, 0x1f +/* 85293C 802407CC 00004010 */ mfhi $t0 +/* 852940 802407D0 01042023 */ subu $a0, $t0, $a0 +/* 852944 802407D4 00041840 */ sll $v1, $a0, 1 +/* 852948 802407D8 00641821 */ addu $v1, $v1, $a0 +/* 85294C 802407DC 00431023 */ subu $v0, $v0, $v1 +/* 852950 802407E0 24430002 */ addiu $v1, $v0, 2 +/* 852954 802407E4 AE430074 */ sw $v1, 0x74($s2) +/* 852958 802407E8 8E62002C */ lw $v0, 0x2c($s3) +/* 85295C 802407EC 18400009 */ blez $v0, .L80240814 +/* 852960 802407F0 24020004 */ addiu $v0, $zero, 4 +/* 852964 802407F4 8E620004 */ lw $v0, 4($s3) +/* 852968 802407F8 18400006 */ blez $v0, .L80240814 +/* 85296C 802407FC 24020004 */ addiu $v0, $zero, 4 +/* 852970 80240800 8E620008 */ lw $v0, 8($s3) +/* 852974 80240804 18400003 */ blez $v0, .L80240814 +/* 852978 80240808 24020004 */ addiu $v0, $zero, 4 +/* 85297C 8024080C 14600002 */ bnez $v1, .L80240818 +/* 852980 80240810 00000000 */ nop +.L80240814: +/* 852984 80240814 AE420070 */ sw $v0, 0x70($s2) +.L80240818: +/* 852988 80240818 0C00A67F */ jal rand_int +/* 85298C 8024081C 24042710 */ addiu $a0, $zero, 0x2710 +/* 852990 80240820 3C0351EB */ lui $v1, 0x51eb +/* 852994 80240824 3463851F */ ori $v1, $v1, 0x851f +/* 852998 80240828 00430018 */ mult $v0, $v1 +/* 85299C 8024082C 00021FC3 */ sra $v1, $v0, 0x1f +/* 8529A0 80240830 00004010 */ mfhi $t0 +/* 8529A4 80240834 00082143 */ sra $a0, $t0, 5 +/* 8529A8 80240838 00832023 */ subu $a0, $a0, $v1 +/* 8529AC 8024083C 00041840 */ sll $v1, $a0, 1 +/* 8529B0 80240840 00641821 */ addu $v1, $v1, $a0 +/* 8529B4 80240844 000318C0 */ sll $v1, $v1, 3 +/* 8529B8 80240848 00641821 */ addu $v1, $v1, $a0 +/* 8529BC 8024084C 00031880 */ sll $v1, $v1, 2 +/* 8529C0 80240850 8E640004 */ lw $a0, 4($s3) +/* 8529C4 80240854 00431023 */ subu $v0, $v0, $v1 +/* 8529C8 80240858 0044102A */ slt $v0, $v0, $a0 +/* 8529CC 8024085C 10400002 */ beqz $v0, .L80240868 +/* 8529D0 80240860 24020004 */ addiu $v0, $zero, 4 +.L80240864: +/* 8529D4 80240864 AE420070 */ sw $v0, 0x70($s2) +.L80240868: +/* 8529D8 80240868 8FBF0044 */ lw $ra, 0x44($sp) +/* 8529DC 8024086C 8FB40040 */ lw $s4, 0x40($sp) +/* 8529E0 80240870 8FB3003C */ lw $s3, 0x3c($sp) +/* 8529E4 80240874 8FB20038 */ lw $s2, 0x38($sp) +/* 8529E8 80240878 8FB10034 */ lw $s1, 0x34($sp) +/* 8529EC 8024087C 8FB00030 */ lw $s0, 0x30($sp) +/* 8529F0 80240880 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 8529F4 80240884 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 8529F8 80240888 03E00008 */ jr $ra +/* 8529FC 8024088C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240890.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240890.s new file mode 100644 index 0000000000..4e8f92bacb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240890.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240890 +/* 852A00 80240890 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 852A04 80240894 AFB3001C */ sw $s3, 0x1c($sp) +/* 852A08 80240898 0080982D */ daddu $s3, $a0, $zero +/* 852A0C 8024089C AFBF0020 */ sw $ra, 0x20($sp) +/* 852A10 802408A0 AFB20018 */ sw $s2, 0x18($sp) +/* 852A14 802408A4 AFB10014 */ sw $s1, 0x14($sp) +/* 852A18 802408A8 AFB00010 */ sw $s0, 0x10($sp) +/* 852A1C 802408AC 8E720148 */ lw $s2, 0x148($s3) +/* 852A20 802408B0 86440008 */ lh $a0, 8($s2) +/* 852A24 802408B4 0C00EABB */ jal get_npc_unsafe +/* 852A28 802408B8 00A0882D */ daddu $s1, $a1, $zero +/* 852A2C 802408BC 8E240008 */ lw $a0, 8($s1) +/* 852A30 802408C0 0040802D */ daddu $s0, $v0, $zero +/* 852A34 802408C4 00041FC2 */ srl $v1, $a0, 0x1f +/* 852A38 802408C8 00832021 */ addu $a0, $a0, $v1 +/* 852A3C 802408CC 00042043 */ sra $a0, $a0, 1 +/* 852A40 802408D0 0C00A67F */ jal rand_int +/* 852A44 802408D4 24840001 */ addiu $a0, $a0, 1 +/* 852A48 802408D8 8E230008 */ lw $v1, 8($s1) +/* 852A4C 802408DC 240400B4 */ addiu $a0, $zero, 0xb4 +/* 852A50 802408E0 00032FC2 */ srl $a1, $v1, 0x1f +/* 852A54 802408E4 00651821 */ addu $v1, $v1, $a1 +/* 852A58 802408E8 00031843 */ sra $v1, $v1, 1 +/* 852A5C 802408EC 00621821 */ addu $v1, $v1, $v0 +/* 852A60 802408F0 0C00A67F */ jal rand_int +/* 852A64 802408F4 A603008E */ sh $v1, 0x8e($s0) +/* 852A68 802408F8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 852A6C 802408FC 44820000 */ mtc1 $v0, $f0 +/* 852A70 80240900 00000000 */ nop +/* 852A74 80240904 46800020 */ cvt.s.w $f0, $f0 +/* 852A78 80240908 46006300 */ add.s $f12, $f12, $f0 +/* 852A7C 8024090C 3C0142B4 */ lui $at, 0x42b4 +/* 852A80 80240910 44810000 */ mtc1 $at, $f0 +/* 852A84 80240914 0C00A6C9 */ jal clamp_angle +/* 852A88 80240918 46006301 */ sub.s $f12, $f12, $f0 +/* 852A8C 8024091C E600000C */ swc1 $f0, 0xc($s0) +/* 852A90 80240920 8E4200CC */ lw $v0, 0xcc($s2) +/* 852A94 80240924 8C420000 */ lw $v0, ($v0) +/* 852A98 80240928 AE020028 */ sw $v0, 0x28($s0) +/* 852A9C 8024092C 24020003 */ addiu $v0, $zero, 3 +/* 852AA0 80240930 AE620070 */ sw $v0, 0x70($s3) +/* 852AA4 80240934 8FBF0020 */ lw $ra, 0x20($sp) +/* 852AA8 80240938 8FB3001C */ lw $s3, 0x1c($sp) +/* 852AAC 8024093C 8FB20018 */ lw $s2, 0x18($sp) +/* 852AB0 80240940 8FB10014 */ lw $s1, 0x14($sp) +/* 852AB4 80240944 8FB00010 */ lw $s0, 0x10($sp) +/* 852AB8 80240948 03E00008 */ jr $ra +/* 852ABC 8024094C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240950.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240950.s new file mode 100644 index 0000000000..429e72f524 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240950.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240950 +/* 852AC0 80240950 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 852AC4 80240954 AFB40040 */ sw $s4, 0x40($sp) +/* 852AC8 80240958 0080A02D */ daddu $s4, $a0, $zero +/* 852ACC 8024095C AFBF0044 */ sw $ra, 0x44($sp) +/* 852AD0 80240960 AFB3003C */ sw $s3, 0x3c($sp) +/* 852AD4 80240964 AFB20038 */ sw $s2, 0x38($sp) +/* 852AD8 80240968 AFB10034 */ sw $s1, 0x34($sp) +/* 852ADC 8024096C AFB00030 */ sw $s0, 0x30($sp) +/* 852AE0 80240970 8E910148 */ lw $s1, 0x148($s4) +/* 852AE4 80240974 00A0902D */ daddu $s2, $a1, $zero +/* 852AE8 80240978 86240008 */ lh $a0, 8($s1) +/* 852AEC 8024097C 0C00EABB */ jal get_npc_unsafe +/* 852AF0 80240980 00C0982D */ daddu $s3, $a2, $zero +/* 852AF4 80240984 8E430014 */ lw $v1, 0x14($s2) +/* 852AF8 80240988 04600031 */ bltz $v1, .L80240A50 +/* 852AFC 8024098C 0040802D */ daddu $s0, $v0, $zero +/* 852B00 80240990 0260202D */ daddu $a0, $s3, $zero +/* 852B04 80240994 AFA00010 */ sw $zero, 0x10($sp) +/* 852B08 80240998 8E460024 */ lw $a2, 0x24($s2) +/* 852B0C 8024099C 8E470028 */ lw $a3, 0x28($s2) +/* 852B10 802409A0 0C01242D */ jal func_800490B4 +/* 852B14 802409A4 0220282D */ daddu $a1, $s1, $zero +/* 852B18 802409A8 10400029 */ beqz $v0, .L80240A50 +/* 852B1C 802409AC 0000202D */ daddu $a0, $zero, $zero +/* 852B20 802409B0 0200282D */ daddu $a1, $s0, $zero +/* 852B24 802409B4 0000302D */ daddu $a2, $zero, $zero +/* 852B28 802409B8 860300A8 */ lh $v1, 0xa8($s0) +/* 852B2C 802409BC 3C013F80 */ lui $at, 0x3f80 +/* 852B30 802409C0 44810000 */ mtc1 $at, $f0 +/* 852B34 802409C4 3C014000 */ lui $at, 0x4000 +/* 852B38 802409C8 44811000 */ mtc1 $at, $f2 +/* 852B3C 802409CC 3C01C1A0 */ lui $at, 0xc1a0 +/* 852B40 802409D0 44812000 */ mtc1 $at, $f4 +/* 852B44 802409D4 2402000F */ addiu $v0, $zero, 0xf +/* 852B48 802409D8 AFA2001C */ sw $v0, 0x1c($sp) +/* 852B4C 802409DC 44833000 */ mtc1 $v1, $f6 +/* 852B50 802409E0 00000000 */ nop +/* 852B54 802409E4 468031A0 */ cvt.s.w $f6, $f6 +/* 852B58 802409E8 44073000 */ mfc1 $a3, $f6 +/* 852B5C 802409EC 27A20028 */ addiu $v0, $sp, 0x28 +/* 852B60 802409F0 AFA20020 */ sw $v0, 0x20($sp) +/* 852B64 802409F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 852B68 802409F8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 852B6C 802409FC 0C01BFA4 */ jal fx_emote +/* 852B70 80240A00 E7A40018 */ swc1 $f4, 0x18($sp) +/* 852B74 80240A04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 852B78 80240A08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 852B7C 80240A0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 852B80 80240A10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 852B84 80240A14 8C460028 */ lw $a2, 0x28($v0) +/* 852B88 80240A18 0C00A720 */ jal atan2 +/* 852B8C 80240A1C 8C470030 */ lw $a3, 0x30($v0) +/* 852B90 80240A20 0200202D */ daddu $a0, $s0, $zero +/* 852B94 80240A24 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 852B98 80240A28 3C060020 */ lui $a2, 0x20 +/* 852B9C 80240A2C 0C012530 */ jal func_800494C0 +/* 852BA0 80240A30 E480000C */ swc1 $f0, 0xc($a0) +/* 852BA4 80240A34 8E220018 */ lw $v0, 0x18($s1) +/* 852BA8 80240A38 9442002A */ lhu $v0, 0x2a($v0) +/* 852BAC 80240A3C 30420001 */ andi $v0, $v0, 1 +/* 852BB0 80240A40 14400029 */ bnez $v0, .L80240AE8 +/* 852BB4 80240A44 2402000A */ addiu $v0, $zero, 0xa +/* 852BB8 80240A48 080902BA */ j .L80240AE8 +/* 852BBC 80240A4C 2402000C */ addiu $v0, $zero, 0xc +.L80240A50: +/* 852BC0 80240A50 8602008C */ lh $v0, 0x8c($s0) +/* 852BC4 80240A54 14400025 */ bnez $v0, .L80240AEC +/* 852BC8 80240A58 00000000 */ nop +/* 852BCC 80240A5C 9602008E */ lhu $v0, 0x8e($s0) +/* 852BD0 80240A60 2442FFFF */ addiu $v0, $v0, -1 +/* 852BD4 80240A64 A602008E */ sh $v0, 0x8e($s0) +/* 852BD8 80240A68 00021400 */ sll $v0, $v0, 0x10 +/* 852BDC 80240A6C 1440001F */ bnez $v0, .L80240AEC +/* 852BE0 80240A70 00000000 */ nop +/* 852BE4 80240A74 8E820074 */ lw $v0, 0x74($s4) +/* 852BE8 80240A78 2442FFFF */ addiu $v0, $v0, -1 +/* 852BEC 80240A7C 10400019 */ beqz $v0, .L80240AE4 +/* 852BF0 80240A80 AE820074 */ sw $v0, 0x74($s4) +/* 852BF4 80240A84 8E220018 */ lw $v0, 0x18($s1) +/* 852BF8 80240A88 9442002A */ lhu $v0, 0x2a($v0) +/* 852BFC 80240A8C 30420010 */ andi $v0, $v0, 0x10 +/* 852C00 80240A90 14400007 */ bnez $v0, .L80240AB0 +/* 852C04 80240A94 00000000 */ nop +/* 852C08 80240A98 C600000C */ lwc1 $f0, 0xc($s0) +/* 852C0C 80240A9C 3C014334 */ lui $at, 0x4334 +/* 852C10 80240AA0 44816000 */ mtc1 $at, $f12 +/* 852C14 80240AA4 0C00A6C9 */ jal clamp_angle +/* 852C18 80240AA8 460C0300 */ add.s $f12, $f0, $f12 +/* 852C1C 80240AAC E600000C */ swc1 $f0, 0xc($s0) +.L80240AB0: +/* 852C20 80240AB0 8E440008 */ lw $a0, 8($s2) +/* 852C24 80240AB4 000417C2 */ srl $v0, $a0, 0x1f +/* 852C28 80240AB8 00822021 */ addu $a0, $a0, $v0 +/* 852C2C 80240ABC 00042043 */ sra $a0, $a0, 1 +/* 852C30 80240AC0 0C00A67F */ jal rand_int +/* 852C34 80240AC4 24840001 */ addiu $a0, $a0, 1 +/* 852C38 80240AC8 8E430008 */ lw $v1, 8($s2) +/* 852C3C 80240ACC 000327C2 */ srl $a0, $v1, 0x1f +/* 852C40 80240AD0 00641821 */ addu $v1, $v1, $a0 +/* 852C44 80240AD4 00031843 */ sra $v1, $v1, 1 +/* 852C48 80240AD8 00621821 */ addu $v1, $v1, $v0 +/* 852C4C 80240ADC 080902BB */ j .L80240AEC +/* 852C50 80240AE0 A603008E */ sh $v1, 0x8e($s0) +.L80240AE4: +/* 852C54 80240AE4 24020004 */ addiu $v0, $zero, 4 +.L80240AE8: +/* 852C58 80240AE8 AE820070 */ sw $v0, 0x70($s4) +.L80240AEC: +/* 852C5C 80240AEC 8FBF0044 */ lw $ra, 0x44($sp) +/* 852C60 80240AF0 8FB40040 */ lw $s4, 0x40($sp) +/* 852C64 80240AF4 8FB3003C */ lw $s3, 0x3c($sp) +/* 852C68 80240AF8 8FB20038 */ lw $s2, 0x38($sp) +/* 852C6C 80240AFC 8FB10034 */ lw $s1, 0x34($sp) +/* 852C70 80240B00 8FB00030 */ lw $s0, 0x30($sp) +/* 852C74 80240B04 03E00008 */ jr $ra +/* 852C78 80240B08 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240B0C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240B0C.s new file mode 100644 index 0000000000..f6f95edba8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240B0C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B0C +/* 852C7C 80240B0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 852C80 80240B10 AFB10014 */ sw $s1, 0x14($sp) +/* 852C84 80240B14 0080882D */ daddu $s1, $a0, $zero +/* 852C88 80240B18 AFBF001C */ sw $ra, 0x1c($sp) +/* 852C8C 80240B1C AFB20018 */ sw $s2, 0x18($sp) +/* 852C90 80240B20 AFB00010 */ sw $s0, 0x10($sp) +/* 852C94 80240B24 8E300148 */ lw $s0, 0x148($s1) +/* 852C98 80240B28 86040008 */ lh $a0, 8($s0) +/* 852C9C 80240B2C 0C00EABB */ jal get_npc_unsafe +/* 852CA0 80240B30 00A0902D */ daddu $s2, $a1, $zero +/* 852CA4 80240B34 8E230078 */ lw $v1, 0x78($s1) +/* 852CA8 80240B38 24630001 */ addiu $v1, $v1, 1 +/* 852CAC 80240B3C AE230078 */ sw $v1, 0x78($s1) +/* 852CB0 80240B40 8E0400D0 */ lw $a0, 0xd0($s0) +/* 852CB4 80240B44 8C840000 */ lw $a0, ($a0) +/* 852CB8 80240B48 0064182A */ slt $v1, $v1, $a0 +/* 852CBC 80240B4C 14600002 */ bnez $v1, .L80240B58 +/* 852CC0 80240B50 0040282D */ daddu $a1, $v0, $zero +/* 852CC4 80240B54 AE200078 */ sw $zero, 0x78($s1) +.L80240B58: +/* 852CC8 80240B58 8E0200CC */ lw $v0, 0xcc($s0) +/* 852CCC 80240B5C 8C420004 */ lw $v0, 4($v0) +/* 852CD0 80240B60 ACA20028 */ sw $v0, 0x28($a1) +/* 852CD4 80240B64 8E0200D0 */ lw $v0, 0xd0($s0) +/* 852CD8 80240B68 8C42007C */ lw $v0, 0x7c($v0) +/* 852CDC 80240B6C 04410004 */ bgez $v0, .L80240B80 +/* 852CE0 80240B70 00000000 */ nop +/* 852CE4 80240B74 C6400000 */ lwc1 $f0, ($s2) +/* 852CE8 80240B78 080902E8 */ j .L80240BA0 +/* 852CEC 80240B7C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240B80: +/* 852CF0 80240B80 3C018025 */ lui $at, 0x8025 +/* 852CF4 80240B84 D42227B8 */ ldc1 $f2, 0x27b8($at) +/* 852CF8 80240B88 44820000 */ mtc1 $v0, $f0 +/* 852CFC 80240B8C 00000000 */ nop +/* 852D00 80240B90 46800021 */ cvt.d.w $f0, $f0 +/* 852D04 80240B94 46220003 */ div.d $f0, $f0, $f2 +/* 852D08 80240B98 46200020 */ cvt.s.d $f0, $f0 +/* 852D0C 80240B9C E4A00018 */ swc1 $f0, 0x18($a1) +.L80240BA0: +/* 852D10 80240BA0 24020001 */ addiu $v0, $zero, 1 +/* 852D14 80240BA4 AE220070 */ sw $v0, 0x70($s1) +/* 852D18 80240BA8 8FBF001C */ lw $ra, 0x1c($sp) +/* 852D1C 80240BAC 8FB20018 */ lw $s2, 0x18($sp) +/* 852D20 80240BB0 8FB10014 */ lw $s1, 0x14($sp) +/* 852D24 80240BB4 8FB00010 */ lw $s0, 0x10($sp) +/* 852D28 80240BB8 03E00008 */ jr $ra +/* 852D2C 80240BBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240BC0.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240BC0.s new file mode 100644 index 0000000000..94a48451cd --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240BC0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BC0 +/* 852D30 80240BC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 852D34 80240BC4 AFB10014 */ sw $s1, 0x14($sp) +/* 852D38 80240BC8 0080882D */ daddu $s1, $a0, $zero +/* 852D3C 80240BCC AFBF0018 */ sw $ra, 0x18($sp) +/* 852D40 80240BD0 AFB00010 */ sw $s0, 0x10($sp) +/* 852D44 80240BD4 8E300148 */ lw $s0, 0x148($s1) +/* 852D48 80240BD8 0C00EABB */ jal get_npc_unsafe +/* 852D4C 80240BDC 86040008 */ lh $a0, 8($s0) +/* 852D50 80240BE0 8E0300CC */ lw $v1, 0xcc($s0) +/* 852D54 80240BE4 3C014120 */ lui $at, 0x4120 +/* 852D58 80240BE8 44812000 */ mtc1 $at, $f4 +/* 852D5C 80240BEC 3C014000 */ lui $at, 0x4000 +/* 852D60 80240BF0 44810000 */ mtc1 $at, $f0 +/* 852D64 80240BF4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 852D68 80240BF8 8C640010 */ lw $a0, 0x10($v1) +/* 852D6C 80240BFC 8C430000 */ lw $v1, ($v0) +/* 852D70 80240C00 E444001C */ swc1 $f4, 0x1c($v0) +/* 852D74 80240C04 E4400014 */ swc1 $f0, 0x14($v0) +/* 852D78 80240C08 E4420064 */ swc1 $f2, 0x64($v0) +/* 852D7C 80240C0C 34630800 */ ori $v1, $v1, 0x800 +/* 852D80 80240C10 AC430000 */ sw $v1, ($v0) +/* 852D84 80240C14 AC440028 */ sw $a0, 0x28($v0) +/* 852D88 80240C18 2402000B */ addiu $v0, $zero, 0xb +/* 852D8C 80240C1C AE220070 */ sw $v0, 0x70($s1) +/* 852D90 80240C20 8FBF0018 */ lw $ra, 0x18($sp) +/* 852D94 80240C24 8FB10014 */ lw $s1, 0x14($sp) +/* 852D98 80240C28 8FB00010 */ lw $s0, 0x10($sp) +/* 852D9C 80240C2C 03E00008 */ jr $ra +/* 852DA0 80240C30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240C34.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240C34.s new file mode 100644 index 0000000000..6105c76c3e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240C34.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C34 +/* 852DA4 80240C34 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 852DA8 80240C38 AFB00010 */ sw $s0, 0x10($sp) +/* 852DAC 80240C3C 0080802D */ daddu $s0, $a0, $zero +/* 852DB0 80240C40 AFBF0014 */ sw $ra, 0x14($sp) +/* 852DB4 80240C44 8E020148 */ lw $v0, 0x148($s0) +/* 852DB8 80240C48 0C00EABB */ jal get_npc_unsafe +/* 852DBC 80240C4C 84440008 */ lh $a0, 8($v0) +/* 852DC0 80240C50 0040202D */ daddu $a0, $v0, $zero +/* 852DC4 80240C54 C482003C */ lwc1 $f2, 0x3c($a0) +/* 852DC8 80240C58 C480001C */ lwc1 $f0, 0x1c($a0) +/* 852DCC 80240C5C 46001080 */ add.s $f2, $f2, $f0 +/* 852DD0 80240C60 C4840014 */ lwc1 $f4, 0x14($a0) +/* 852DD4 80240C64 46040001 */ sub.s $f0, $f0, $f4 +/* 852DD8 80240C68 C4840064 */ lwc1 $f4, 0x64($a0) +/* 852DDC 80240C6C 4602203C */ c.lt.s $f4, $f2 +/* 852DE0 80240C70 E482003C */ swc1 $f2, 0x3c($a0) +/* 852DE4 80240C74 45010009 */ bc1t .L80240C9C +/* 852DE8 80240C78 E480001C */ swc1 $f0, 0x1c($a0) +/* 852DEC 80240C7C 8C820000 */ lw $v0, ($a0) +/* 852DF0 80240C80 2403F7FF */ addiu $v1, $zero, -0x801 +/* 852DF4 80240C84 E484003C */ swc1 $f4, 0x3c($a0) +/* 852DF8 80240C88 AC80001C */ sw $zero, 0x1c($a0) +/* 852DFC 80240C8C 00431024 */ and $v0, $v0, $v1 +/* 852E00 80240C90 AC820000 */ sw $v0, ($a0) +/* 852E04 80240C94 2402000C */ addiu $v0, $zero, 0xc +/* 852E08 80240C98 AE020070 */ sw $v0, 0x70($s0) +.L80240C9C: +/* 852E0C 80240C9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 852E10 80240CA0 8FB00010 */ lw $s0, 0x10($sp) +/* 852E14 80240CA4 03E00008 */ jr $ra +/* 852E18 80240CA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240CAC.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240CAC.s new file mode 100644 index 0000000000..ad9ea0f290 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240CAC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CAC +/* 852E1C 80240CAC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 852E20 80240CB0 AFB3001C */ sw $s3, 0x1c($sp) +/* 852E24 80240CB4 0080982D */ daddu $s3, $a0, $zero +/* 852E28 80240CB8 AFBF0020 */ sw $ra, 0x20($sp) +/* 852E2C 80240CBC AFB20018 */ sw $s2, 0x18($sp) +/* 852E30 80240CC0 AFB10014 */ sw $s1, 0x14($sp) +/* 852E34 80240CC4 AFB00010 */ sw $s0, 0x10($sp) +/* 852E38 80240CC8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 852E3C 80240CCC 8E710148 */ lw $s1, 0x148($s3) +/* 852E40 80240CD0 86240008 */ lh $a0, 8($s1) +/* 852E44 80240CD4 0C00EABB */ jal get_npc_unsafe +/* 852E48 80240CD8 00A0802D */ daddu $s0, $a1, $zero +/* 852E4C 80240CDC 8E040020 */ lw $a0, 0x20($s0) +/* 852E50 80240CE0 0040902D */ daddu $s2, $v0, $zero +/* 852E54 80240CE4 00041FC2 */ srl $v1, $a0, 0x1f +/* 852E58 80240CE8 00832021 */ addu $a0, $a0, $v1 +/* 852E5C 80240CEC 00042043 */ sra $a0, $a0, 1 +/* 852E60 80240CF0 0C00A67F */ jal rand_int +/* 852E64 80240CF4 24840001 */ addiu $a0, $a0, 1 +/* 852E68 80240CF8 8E030020 */ lw $v1, 0x20($s0) +/* 852E6C 80240CFC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 852E70 80240D00 000327C2 */ srl $a0, $v1, 0x1f +/* 852E74 80240D04 00641821 */ addu $v1, $v1, $a0 +/* 852E78 80240D08 00031843 */ sra $v1, $v1, 1 +/* 852E7C 80240D0C 00621821 */ addu $v1, $v1, $v0 +/* 852E80 80240D10 A643008E */ sh $v1, 0x8e($s2) +/* 852E84 80240D14 8E2200CC */ lw $v0, 0xcc($s1) +/* 852E88 80240D18 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 852E8C 80240D1C 8C42000C */ lw $v0, 0xc($v0) +/* 852E90 80240D20 AE420028 */ sw $v0, 0x28($s2) +/* 852E94 80240D24 C6000018 */ lwc1 $f0, 0x18($s0) +/* 852E98 80240D28 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 852E9C 80240D2C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 852EA0 80240D30 E6400018 */ swc1 $f0, 0x18($s2) +/* 852EA4 80240D34 8C460028 */ lw $a2, 0x28($v0) +/* 852EA8 80240D38 0C00A720 */ jal atan2 +/* 852EAC 80240D3C 8C470030 */ lw $a3, 0x30($v0) +/* 852EB0 80240D40 46000506 */ mov.s $f20, $f0 +/* 852EB4 80240D44 C64C000C */ lwc1 $f12, 0xc($s2) +/* 852EB8 80240D48 0C00A70A */ jal get_clamped_angle_diff +/* 852EBC 80240D4C 4600A386 */ mov.s $f14, $f20 +/* 852EC0 80240D50 46000086 */ mov.s $f2, $f0 +/* 852EC4 80240D54 8E02001C */ lw $v0, 0x1c($s0) +/* 852EC8 80240D58 46001005 */ abs.s $f0, $f2 +/* 852ECC 80240D5C 44822000 */ mtc1 $v0, $f4 +/* 852ED0 80240D60 00000000 */ nop +/* 852ED4 80240D64 46802120 */ cvt.s.w $f4, $f4 +/* 852ED8 80240D68 4600203C */ c.lt.s $f4, $f0 +/* 852EDC 80240D6C 00000000 */ nop +/* 852EE0 80240D70 4500000D */ bc1f .L80240DA8 +/* 852EE4 80240D74 00000000 */ nop +/* 852EE8 80240D78 44800000 */ mtc1 $zero, $f0 +/* 852EEC 80240D7C C654000C */ lwc1 $f20, 0xc($s2) +/* 852EF0 80240D80 4600103C */ c.lt.s $f2, $f0 +/* 852EF4 80240D84 00000000 */ nop +/* 852EF8 80240D88 45000006 */ bc1f .L80240DA4 +/* 852EFC 80240D8C 00021023 */ negu $v0, $v0 +/* 852F00 80240D90 44820000 */ mtc1 $v0, $f0 +/* 852F04 80240D94 00000000 */ nop +/* 852F08 80240D98 46800020 */ cvt.s.w $f0, $f0 +/* 852F0C 80240D9C 0809036A */ j .L80240DA8 +/* 852F10 80240DA0 4600A500 */ add.s $f20, $f20, $f0 +.L80240DA4: +/* 852F14 80240DA4 4604A500 */ add.s $f20, $f20, $f4 +.L80240DA8: +/* 852F18 80240DA8 0C00A6C9 */ jal clamp_angle +/* 852F1C 80240DAC 4600A306 */ mov.s $f12, $f20 +/* 852F20 80240DB0 2402000D */ addiu $v0, $zero, 0xd +/* 852F24 80240DB4 E640000C */ swc1 $f0, 0xc($s2) +/* 852F28 80240DB8 AE620070 */ sw $v0, 0x70($s3) +/* 852F2C 80240DBC 8FBF0020 */ lw $ra, 0x20($sp) +/* 852F30 80240DC0 8FB3001C */ lw $s3, 0x1c($sp) +/* 852F34 80240DC4 8FB20018 */ lw $s2, 0x18($sp) +/* 852F38 80240DC8 8FB10014 */ lw $s1, 0x14($sp) +/* 852F3C 80240DCC 8FB00010 */ lw $s0, 0x10($sp) +/* 852F40 80240DD0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 852F44 80240DD4 03E00008 */ jr $ra +/* 852F48 80240DD8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240DDC.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240DDC.s new file mode 100644 index 0000000000..02023a95c8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240DDC.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DDC +/* 852F4C 80240DDC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 852F50 80240DE0 AFB3003C */ sw $s3, 0x3c($sp) +/* 852F54 80240DE4 0080982D */ daddu $s3, $a0, $zero +/* 852F58 80240DE8 AFBF0040 */ sw $ra, 0x40($sp) +/* 852F5C 80240DEC AFB20038 */ sw $s2, 0x38($sp) +/* 852F60 80240DF0 AFB10034 */ sw $s1, 0x34($sp) +/* 852F64 80240DF4 AFB00030 */ sw $s0, 0x30($sp) +/* 852F68 80240DF8 8E720148 */ lw $s2, 0x148($s3) +/* 852F6C 80240DFC 00A0882D */ daddu $s1, $a1, $zero +/* 852F70 80240E00 86440008 */ lh $a0, 8($s2) +/* 852F74 80240E04 0C00EABB */ jal get_npc_unsafe +/* 852F78 80240E08 00C0802D */ daddu $s0, $a2, $zero +/* 852F7C 80240E0C 0200202D */ daddu $a0, $s0, $zero +/* 852F80 80240E10 0240282D */ daddu $a1, $s2, $zero +/* 852F84 80240E14 24030001 */ addiu $v1, $zero, 1 +/* 852F88 80240E18 AFA30010 */ sw $v1, 0x10($sp) +/* 852F8C 80240E1C 8E260024 */ lw $a2, 0x24($s1) +/* 852F90 80240E20 8E270028 */ lw $a3, 0x28($s1) +/* 852F94 80240E24 0C01242D */ jal func_800490B4 +/* 852F98 80240E28 0040802D */ daddu $s0, $v0, $zero +/* 852F9C 80240E2C 1440001E */ bnez $v0, .L80240EA8 +/* 852FA0 80240E30 0200202D */ daddu $a0, $s0, $zero +/* 852FA4 80240E34 24040002 */ addiu $a0, $zero, 2 +/* 852FA8 80240E38 0200282D */ daddu $a1, $s0, $zero +/* 852FAC 80240E3C 0000302D */ daddu $a2, $zero, $zero +/* 852FB0 80240E40 860300A8 */ lh $v1, 0xa8($s0) +/* 852FB4 80240E44 3C013F80 */ lui $at, 0x3f80 +/* 852FB8 80240E48 44810000 */ mtc1 $at, $f0 +/* 852FBC 80240E4C 3C014000 */ lui $at, 0x4000 +/* 852FC0 80240E50 44811000 */ mtc1 $at, $f2 +/* 852FC4 80240E54 3C01C1A0 */ lui $at, 0xc1a0 +/* 852FC8 80240E58 44812000 */ mtc1 $at, $f4 +/* 852FCC 80240E5C 2402000F */ addiu $v0, $zero, 0xf +/* 852FD0 80240E60 AFA2001C */ sw $v0, 0x1c($sp) +/* 852FD4 80240E64 44833000 */ mtc1 $v1, $f6 +/* 852FD8 80240E68 00000000 */ nop +/* 852FDC 80240E6C 468031A0 */ cvt.s.w $f6, $f6 +/* 852FE0 80240E70 44073000 */ mfc1 $a3, $f6 +/* 852FE4 80240E74 27A20028 */ addiu $v0, $sp, 0x28 +/* 852FE8 80240E78 AFA20020 */ sw $v0, 0x20($sp) +/* 852FEC 80240E7C E7A00010 */ swc1 $f0, 0x10($sp) +/* 852FF0 80240E80 E7A20014 */ swc1 $f2, 0x14($sp) +/* 852FF4 80240E84 0C01BFA4 */ jal fx_emote +/* 852FF8 80240E88 E7A40018 */ swc1 $f4, 0x18($sp) +/* 852FFC 80240E8C 8E4200CC */ lw $v0, 0xcc($s2) +/* 853000 80240E90 8C430000 */ lw $v1, ($v0) +/* 853004 80240E94 24020019 */ addiu $v0, $zero, 0x19 +/* 853008 80240E98 A602008E */ sh $v0, 0x8e($s0) +/* 85300C 80240E9C 2402000E */ addiu $v0, $zero, 0xe +/* 853010 80240EA0 080903B7 */ j .L80240EDC +/* 853014 80240EA4 AE030028 */ sw $v1, 0x28($s0) +.L80240EA8: +/* 853018 80240EA8 0C00F598 */ jal func_8003D660 +/* 85301C 80240EAC 24050001 */ addiu $a1, $zero, 1 +/* 853020 80240EB0 8E050018 */ lw $a1, 0x18($s0) +/* 853024 80240EB4 8E06000C */ lw $a2, 0xc($s0) +/* 853028 80240EB8 0C00EA95 */ jal npc_move_heading +/* 85302C 80240EBC 0200202D */ daddu $a0, $s0, $zero +/* 853030 80240EC0 8602008E */ lh $v0, 0x8e($s0) +/* 853034 80240EC4 9603008E */ lhu $v1, 0x8e($s0) +/* 853038 80240EC8 18400003 */ blez $v0, .L80240ED8 +/* 85303C 80240ECC 2462FFFF */ addiu $v0, $v1, -1 +/* 853040 80240ED0 080903B8 */ j .L80240EE0 +/* 853044 80240ED4 A602008E */ sh $v0, 0x8e($s0) +.L80240ED8: +/* 853048 80240ED8 2402000C */ addiu $v0, $zero, 0xc +.L80240EDC: +/* 85304C 80240EDC AE620070 */ sw $v0, 0x70($s3) +.L80240EE0: +/* 853050 80240EE0 8FBF0040 */ lw $ra, 0x40($sp) +/* 853054 80240EE4 8FB3003C */ lw $s3, 0x3c($sp) +/* 853058 80240EE8 8FB20038 */ lw $s2, 0x38($sp) +/* 85305C 80240EEC 8FB10034 */ lw $s1, 0x34($sp) +/* 853060 80240EF0 8FB00030 */ lw $s0, 0x30($sp) +/* 853064 80240EF4 03E00008 */ jr $ra +/* 853068 80240EF8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240EFC.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240EFC.s new file mode 100644 index 0000000000..203ca0f4fb --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240EFC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EFC +/* 85306C 80240EFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 853070 80240F00 AFB10014 */ sw $s1, 0x14($sp) +/* 853074 80240F04 0080882D */ daddu $s1, $a0, $zero +/* 853078 80240F08 AFBF0018 */ sw $ra, 0x18($sp) +/* 85307C 80240F0C AFB00010 */ sw $s0, 0x10($sp) +/* 853080 80240F10 8E300148 */ lw $s0, 0x148($s1) +/* 853084 80240F14 0C00EABB */ jal get_npc_unsafe +/* 853088 80240F18 86040008 */ lh $a0, 8($s0) +/* 85308C 80240F1C 9443008E */ lhu $v1, 0x8e($v0) +/* 853090 80240F20 2463FFFF */ addiu $v1, $v1, -1 +/* 853094 80240F24 A443008E */ sh $v1, 0x8e($v0) +/* 853098 80240F28 00031C00 */ sll $v1, $v1, 0x10 +/* 85309C 80240F2C 14600008 */ bnez $v1, .L80240F50 +/* 8530A0 80240F30 00000000 */ nop +/* 8530A4 80240F34 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8530A8 80240F38 30420080 */ andi $v0, $v0, 0x80 +/* 8530AC 80240F3C 10400003 */ beqz $v0, .L80240F4C +/* 8530B0 80240F40 2402000F */ addiu $v0, $zero, 0xf +/* 8530B4 80240F44 080903D4 */ j .L80240F50 +/* 8530B8 80240F48 AE220070 */ sw $v0, 0x70($s1) +.L80240F4C: +/* 8530BC 80240F4C AE200070 */ sw $zero, 0x70($s1) +.L80240F50: +/* 8530C0 80240F50 8FBF0018 */ lw $ra, 0x18($sp) +/* 8530C4 80240F54 8FB10014 */ lw $s1, 0x14($sp) +/* 8530C8 80240F58 8FB00010 */ lw $s0, 0x10($sp) +/* 8530CC 80240F5C 03E00008 */ jr $ra +/* 8530D0 80240F60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80240F64.s b/asm/nonmatchings/world/area_mac/mac_05/func_80240F64.s new file mode 100644 index 0000000000..3cfc2eba6c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80240F64.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F64 +/* 8530D4 80240F64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8530D8 80240F68 AFB10014 */ sw $s1, 0x14($sp) +/* 8530DC 80240F6C 0080882D */ daddu $s1, $a0, $zero +/* 8530E0 80240F70 AFBF001C */ sw $ra, 0x1c($sp) +/* 8530E4 80240F74 AFB20018 */ sw $s2, 0x18($sp) +/* 8530E8 80240F78 AFB00010 */ sw $s0, 0x10($sp) +/* 8530EC 80240F7C 8E300148 */ lw $s0, 0x148($s1) +/* 8530F0 80240F80 86040008 */ lh $a0, 8($s0) +/* 8530F4 80240F84 0C00EABB */ jal get_npc_unsafe +/* 8530F8 80240F88 00A0902D */ daddu $s2, $a1, $zero +/* 8530FC 80240F8C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 853100 80240F90 8E240078 */ lw $a0, 0x78($s1) +/* 853104 80240F94 8C630000 */ lw $v1, ($v1) +/* 853108 80240F98 0083182A */ slt $v1, $a0, $v1 +/* 85310C 80240F9C 10600013 */ beqz $v1, .L80240FEC +/* 853110 80240FA0 0040302D */ daddu $a2, $v0, $zero +/* 853114 80240FA4 00041040 */ sll $v0, $a0, 1 +/* 853118 80240FA8 00441021 */ addu $v0, $v0, $a0 +/* 85311C 80240FAC 00022880 */ sll $a1, $v0, 2 +.L80240FB0: +/* 853120 80240FB0 8E0300D0 */ lw $v1, 0xd0($s0) +/* 853124 80240FB4 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 853128 80240FB8 00A31021 */ addu $v0, $a1, $v1 +/* 85312C 80240FBC C4400008 */ lwc1 $f0, 8($v0) +/* 853130 80240FC0 46800020 */ cvt.s.w $f0, $f0 +/* 853134 80240FC4 4602003E */ c.le.s $f0, $f2 +/* 853138 80240FC8 00000000 */ nop +/* 85313C 80240FCC 45020003 */ bc1fl .L80240FDC +/* 853140 80240FD0 24840001 */ addiu $a0, $a0, 1 +/* 853144 80240FD4 080903FB */ j .L80240FEC +/* 853148 80240FD8 AE240078 */ sw $a0, 0x78($s1) +.L80240FDC: +/* 85314C 80240FDC 8C620000 */ lw $v0, ($v1) +/* 853150 80240FE0 0082102A */ slt $v0, $a0, $v0 +/* 853154 80240FE4 1440FFF2 */ bnez $v0, .L80240FB0 +/* 853158 80240FE8 24A5000C */ addiu $a1, $a1, 0xc +.L80240FEC: +/* 85315C 80240FEC C6400000 */ lwc1 $f0, ($s2) +/* 853160 80240FF0 E4C00018 */ swc1 $f0, 0x18($a2) +/* 853164 80240FF4 8E0200CC */ lw $v0, 0xcc($s0) +/* 853168 80240FF8 8C420004 */ lw $v0, 4($v0) +/* 85316C 80240FFC ACC20028 */ sw $v0, 0x28($a2) +/* 853170 80241000 24020001 */ addiu $v0, $zero, 1 +/* 853174 80241004 AE200074 */ sw $zero, 0x74($s1) +/* 853178 80241008 AE220070 */ sw $v0, 0x70($s1) +/* 85317C 8024100C 8FBF001C */ lw $ra, 0x1c($sp) +/* 853180 80241010 8FB20018 */ lw $s2, 0x18($sp) +/* 853184 80241014 8FB10014 */ lw $s1, 0x14($sp) +/* 853188 80241018 8FB00010 */ lw $s0, 0x10($sp) +/* 85318C 8024101C 03E00008 */ jr $ra +/* 853190 80241020 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241024.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241024.s new file mode 100644 index 0000000000..cb6ac4cd36 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241024.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241024 +/* 853194 80241024 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 853198 80241028 AFB40058 */ sw $s4, 0x58($sp) +/* 85319C 8024102C 0080A02D */ daddu $s4, $a0, $zero +/* 8531A0 80241030 AFBF0060 */ sw $ra, 0x60($sp) +/* 8531A4 80241034 AFB5005C */ sw $s5, 0x5c($sp) +/* 8531A8 80241038 AFB30054 */ sw $s3, 0x54($sp) +/* 8531AC 8024103C AFB20050 */ sw $s2, 0x50($sp) +/* 8531B0 80241040 AFB1004C */ sw $s1, 0x4c($sp) +/* 8531B4 80241044 AFB00048 */ sw $s0, 0x48($sp) +/* 8531B8 80241048 8E910148 */ lw $s1, 0x148($s4) +/* 8531BC 8024104C 86240008 */ lh $a0, 8($s1) +/* 8531C0 80241050 0C00EABB */ jal get_npc_unsafe +/* 8531C4 80241054 00A0802D */ daddu $s0, $a1, $zero +/* 8531C8 80241058 8E83000C */ lw $v1, 0xc($s4) +/* 8531CC 8024105C 0280202D */ daddu $a0, $s4, $zero +/* 8531D0 80241060 8C650000 */ lw $a1, ($v1) +/* 8531D4 80241064 0C0B1EAF */ jal get_variable +/* 8531D8 80241068 0040902D */ daddu $s2, $v0, $zero +/* 8531DC 8024106C AFA00018 */ sw $zero, 0x18($sp) +/* 8531E0 80241070 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8531E4 80241074 8C630094 */ lw $v1, 0x94($v1) +/* 8531E8 80241078 AFA3001C */ sw $v1, 0x1c($sp) +/* 8531EC 8024107C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8531F0 80241080 8C630080 */ lw $v1, 0x80($v1) +/* 8531F4 80241084 AFA30020 */ sw $v1, 0x20($sp) +/* 8531F8 80241088 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8531FC 8024108C 8C630088 */ lw $v1, 0x88($v1) +/* 853200 80241090 AFA30024 */ sw $v1, 0x24($sp) +/* 853204 80241094 8E2300D0 */ lw $v1, 0xd0($s1) +/* 853208 80241098 8C63008C */ lw $v1, 0x8c($v1) +/* 85320C 8024109C 27B50018 */ addiu $s5, $sp, 0x18 +/* 853210 802410A0 AFA30028 */ sw $v1, 0x28($sp) +/* 853214 802410A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 853218 802410A8 3C014282 */ lui $at, 0x4282 +/* 85321C 802410AC 44810000 */ mtc1 $at, $f0 +/* 853220 802410B0 8C630090 */ lw $v1, 0x90($v1) +/* 853224 802410B4 0040982D */ daddu $s3, $v0, $zero +/* 853228 802410B8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 85322C 802410BC A7A00034 */ sh $zero, 0x34($sp) +/* 853230 802410C0 16000005 */ bnez $s0, .L802410D8 +/* 853234 802410C4 AFA3002C */ sw $v1, 0x2c($sp) +/* 853238 802410C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 85323C 802410CC 30420004 */ andi $v0, $v0, 4 +/* 853240 802410D0 10400044 */ beqz $v0, .L802411E4 +/* 853244 802410D4 00000000 */ nop +.L802410D8: +/* 853248 802410D8 2404F7FF */ addiu $a0, $zero, -0x801 +/* 85324C 802410DC AE800070 */ sw $zero, 0x70($s4) +/* 853250 802410E0 A640008E */ sh $zero, 0x8e($s2) +/* 853254 802410E4 8E2200CC */ lw $v0, 0xcc($s1) +/* 853258 802410E8 8E430000 */ lw $v1, ($s2) +/* 85325C 802410EC 8C420000 */ lw $v0, ($v0) +/* 853260 802410F0 00641824 */ and $v1, $v1, $a0 +/* 853264 802410F4 AE430000 */ sw $v1, ($s2) +/* 853268 802410F8 AE420028 */ sw $v0, 0x28($s2) +/* 85326C 802410FC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 853270 80241100 8C420098 */ lw $v0, 0x98($v0) +/* 853274 80241104 54400005 */ bnel $v0, $zero, .L8024111C +/* 853278 80241108 2402FDFF */ addiu $v0, $zero, -0x201 +/* 85327C 8024110C 34620200 */ ori $v0, $v1, 0x200 +/* 853280 80241110 2403FFF7 */ addiu $v1, $zero, -9 +/* 853284 80241114 08090449 */ j .L80241124 +/* 853288 80241118 00431024 */ and $v0, $v0, $v1 +.L8024111C: +/* 85328C 8024111C 00621024 */ and $v0, $v1, $v0 +/* 853290 80241120 34420008 */ ori $v0, $v0, 8 +.L80241124: +/* 853294 80241124 AE420000 */ sw $v0, ($s2) +/* 853298 80241128 8E2200B0 */ lw $v0, 0xb0($s1) +/* 85329C 8024112C 30420004 */ andi $v0, $v0, 4 +/* 8532A0 80241130 10400008 */ beqz $v0, .L80241154 +/* 8532A4 80241134 24020063 */ addiu $v0, $zero, 0x63 +/* 8532A8 80241138 AE820070 */ sw $v0, 0x70($s4) +/* 8532AC 8024113C AE800074 */ sw $zero, 0x74($s4) +/* 8532B0 80241140 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8532B4 80241144 2403FFFB */ addiu $v1, $zero, -5 +/* 8532B8 80241148 00431024 */ and $v0, $v0, $v1 +/* 8532BC 8024114C 08090460 */ j .L80241180 +/* 8532C0 80241150 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241154: +/* 8532C4 80241154 8E220000 */ lw $v0, ($s1) +/* 8532C8 80241158 3C034000 */ lui $v1, 0x4000 +/* 8532CC 8024115C 00431024 */ and $v0, $v0, $v1 +/* 8532D0 80241160 10400007 */ beqz $v0, .L80241180 +/* 8532D4 80241164 3C03BFFF */ lui $v1, 0xbfff +/* 8532D8 80241168 2402000C */ addiu $v0, $zero, 0xc +/* 8532DC 8024116C AE820070 */ sw $v0, 0x70($s4) +/* 8532E0 80241170 8E220000 */ lw $v0, ($s1) +/* 8532E4 80241174 3463FFFF */ ori $v1, $v1, 0xffff +/* 8532E8 80241178 00431024 */ and $v0, $v0, $v1 +/* 8532EC 8024117C AE220000 */ sw $v0, ($s1) +.L80241180: +/* 8532F0 80241180 27A50038 */ addiu $a1, $sp, 0x38 +/* 8532F4 80241184 27A6003C */ addiu $a2, $sp, 0x3c +/* 8532F8 80241188 C6400038 */ lwc1 $f0, 0x38($s2) +/* 8532FC 8024118C 864200A8 */ lh $v0, 0xa8($s2) +/* 853300 80241190 3C0142C8 */ lui $at, 0x42c8 +/* 853304 80241194 44812000 */ mtc1 $at, $f4 +/* 853308 80241198 44823000 */ mtc1 $v0, $f6 +/* 85330C 8024119C 00000000 */ nop +/* 853310 802411A0 468031A0 */ cvt.s.w $f6, $f6 +/* 853314 802411A4 27A20044 */ addiu $v0, $sp, 0x44 +/* 853318 802411A8 E7A00038 */ swc1 $f0, 0x38($sp) +/* 85331C 802411AC C640003C */ lwc1 $f0, 0x3c($s2) +/* 853320 802411B0 C6420040 */ lwc1 $f2, 0x40($s2) +/* 853324 802411B4 46060000 */ add.s $f0, $f0, $f6 +/* 853328 802411B8 E7A40044 */ swc1 $f4, 0x44($sp) +/* 85332C 802411BC E7A20040 */ swc1 $f2, 0x40($sp) +/* 853330 802411C0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 853334 802411C4 AFA20010 */ sw $v0, 0x10($sp) +/* 853338 802411C8 8E440080 */ lw $a0, 0x80($s2) +/* 85333C 802411CC 0C0372DF */ jal func_800DCB7C +/* 853340 802411D0 27A70040 */ addiu $a3, $sp, 0x40 +/* 853344 802411D4 10400003 */ beqz $v0, .L802411E4 +/* 853348 802411D8 00000000 */ nop +/* 85334C 802411DC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 853350 802411E0 E640003C */ swc1 $f0, 0x3c($s2) +.L802411E4: +/* 853354 802411E4 8E830070 */ lw $v1, 0x70($s4) +/* 853358 802411E8 2C620064 */ sltiu $v0, $v1, 0x64 +/* 85335C 802411EC 10400042 */ beqz $v0, .L802412F8 +/* 853360 802411F0 00031080 */ sll $v0, $v1, 2 +/* 853364 802411F4 3C018025 */ lui $at, 0x8025 +/* 853368 802411F8 00220821 */ addu $at, $at, $v0 +/* 85336C 802411FC 8C2227C0 */ lw $v0, 0x27c0($at) +/* 853370 80241200 00400008 */ jr $v0 +/* 853374 80241204 00000000 */ nop +/* 853378 80241208 0280202D */ daddu $a0, $s4, $zero +/* 85337C 8024120C 0260282D */ daddu $a1, $s3, $zero +/* 853380 80241210 0C090124 */ jal func_80240490 +/* 853384 80241214 02A0302D */ daddu $a2, $s5, $zero +/* 853388 80241218 0280202D */ daddu $a0, $s4, $zero +/* 85338C 8024121C 0260282D */ daddu $a1, $s3, $zero +/* 853390 80241220 0C09017A */ jal func_802405E8 +/* 853394 80241224 02A0302D */ daddu $a2, $s5, $zero +/* 853398 80241228 080904BE */ j .L802412F8 +/* 85339C 8024122C 00000000 */ nop +/* 8533A0 80241230 0280202D */ daddu $a0, $s4, $zero +/* 8533A4 80241234 0260282D */ daddu $a1, $s3, $zero +/* 8533A8 80241238 0C090224 */ jal func_80240890 +/* 8533AC 8024123C 02A0302D */ daddu $a2, $s5, $zero +/* 8533B0 80241240 0280202D */ daddu $a0, $s4, $zero +/* 8533B4 80241244 0260282D */ daddu $a1, $s3, $zero +/* 8533B8 80241248 0C090254 */ jal func_80240950 +/* 8533BC 8024124C 02A0302D */ daddu $a2, $s5, $zero +/* 8533C0 80241250 080904BE */ j .L802412F8 +/* 8533C4 80241254 00000000 */ nop +/* 8533C8 80241258 0280202D */ daddu $a0, $s4, $zero +/* 8533CC 8024125C 0260282D */ daddu $a1, $s3, $zero +/* 8533D0 80241260 0C0902C3 */ jal func_80240B0C +/* 8533D4 80241264 02A0302D */ daddu $a2, $s5, $zero +/* 8533D8 80241268 080904BE */ j .L802412F8 +/* 8533DC 8024126C 00000000 */ nop +/* 8533E0 80241270 0280202D */ daddu $a0, $s4, $zero +/* 8533E4 80241274 0260282D */ daddu $a1, $s3, $zero +/* 8533E8 80241278 0C0902F0 */ jal func_80240BC0 +/* 8533EC 8024127C 02A0302D */ daddu $a2, $s5, $zero +/* 8533F0 80241280 0280202D */ daddu $a0, $s4, $zero +/* 8533F4 80241284 0260282D */ daddu $a1, $s3, $zero +/* 8533F8 80241288 0C09030D */ jal func_80240C34 +/* 8533FC 8024128C 02A0302D */ daddu $a2, $s5, $zero +/* 853400 80241290 080904BE */ j .L802412F8 +/* 853404 80241294 00000000 */ nop +/* 853408 80241298 0280202D */ daddu $a0, $s4, $zero +/* 85340C 8024129C 0260282D */ daddu $a1, $s3, $zero +/* 853410 802412A0 0C09032B */ jal func_80240CAC +/* 853414 802412A4 02A0302D */ daddu $a2, $s5, $zero +/* 853418 802412A8 0280202D */ daddu $a0, $s4, $zero +/* 85341C 802412AC 0260282D */ daddu $a1, $s3, $zero +/* 853420 802412B0 0C090377 */ jal func_80240DDC +/* 853424 802412B4 02A0302D */ daddu $a2, $s5, $zero +/* 853428 802412B8 080904BE */ j .L802412F8 +/* 85342C 802412BC 00000000 */ nop +/* 853430 802412C0 0280202D */ daddu $a0, $s4, $zero +/* 853434 802412C4 0260282D */ daddu $a1, $s3, $zero +/* 853438 802412C8 0C0903BF */ jal func_80240EFC +/* 85343C 802412CC 02A0302D */ daddu $a2, $s5, $zero +/* 853440 802412D0 080904BE */ j .L802412F8 +/* 853444 802412D4 00000000 */ nop +/* 853448 802412D8 0280202D */ daddu $a0, $s4, $zero +/* 85344C 802412DC 0260282D */ daddu $a1, $s3, $zero +/* 853450 802412E0 0C0903D9 */ jal func_80240F64 +/* 853454 802412E4 02A0302D */ daddu $a2, $s5, $zero +/* 853458 802412E8 080904BE */ j .L802412F8 +/* 85345C 802412EC 00000000 */ nop +/* 853460 802412F0 0C0129CF */ jal func_8004A73C +/* 853464 802412F4 0280202D */ daddu $a0, $s4, $zero +.L802412F8: +/* 853468 802412F8 8FBF0060 */ lw $ra, 0x60($sp) +/* 85346C 802412FC 8FB5005C */ lw $s5, 0x5c($sp) +/* 853470 80241300 8FB40058 */ lw $s4, 0x58($sp) +/* 853474 80241304 8FB30054 */ lw $s3, 0x54($sp) +/* 853478 80241308 8FB20050 */ lw $s2, 0x50($sp) +/* 85347C 8024130C 8FB1004C */ lw $s1, 0x4c($sp) +/* 853480 80241310 8FB00048 */ lw $s0, 0x48($sp) +/* 853484 80241314 0000102D */ daddu $v0, $zero, $zero +/* 853488 80241318 03E00008 */ jr $ra +/* 85348C 8024131C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241320.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241320.s new file mode 100644 index 0000000000..9645b38fa6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241320.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241320 +/* 853490 80241320 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 853494 80241324 AFB00010 */ sw $s0, 0x10($sp) +/* 853498 80241328 3C108024 */ lui $s0, 0x8024 +/* 85349C 8024132C 261050B0 */ addiu $s0, $s0, 0x50b0 +/* 8534A0 80241330 AFBF0018 */ sw $ra, 0x18($sp) +/* 8534A4 80241334 AFB10014 */ sw $s1, 0x14($sp) +/* 8534A8 80241338 8E020000 */ lw $v0, ($s0) +/* 8534AC 8024133C 14400010 */ bnez $v0, .L80241380 +/* 8534B0 80241340 0080882D */ daddu $s1, $a0, $zero +/* 8534B4 80241344 0C00AB39 */ jal heap_malloc +/* 8534B8 80241348 24040040 */ addiu $a0, $zero, 0x40 +/* 8534BC 8024134C AE020000 */ sw $v0, ($s0) +/* 8534C0 80241350 0000182D */ daddu $v1, $zero, $zero +/* 8534C4 80241354 0040282D */ daddu $a1, $v0, $zero +/* 8534C8 80241358 0220202D */ daddu $a0, $s1, $zero +.L8024135C: +/* 8534CC 8024135C 8C820084 */ lw $v0, 0x84($a0) +/* 8534D0 80241360 24840004 */ addiu $a0, $a0, 4 +/* 8534D4 80241364 24630001 */ addiu $v1, $v1, 1 +/* 8534D8 80241368 ACA20000 */ sw $v0, ($a1) +/* 8534DC 8024136C 28620010 */ slti $v0, $v1, 0x10 +/* 8534E0 80241370 1440FFFA */ bnez $v0, .L8024135C +/* 8534E4 80241374 24A50004 */ addiu $a1, $a1, 4 +/* 8534E8 80241378 080904EF */ j .L802413BC +/* 8534EC 8024137C 00000000 */ nop +.L80241380: +/* 8534F0 80241380 0000182D */ daddu $v1, $zero, $zero +/* 8534F4 80241384 0040282D */ daddu $a1, $v0, $zero +/* 8534F8 80241388 0220202D */ daddu $a0, $s1, $zero +.L8024138C: +/* 8534FC 8024138C 8CA20000 */ lw $v0, ($a1) +/* 853500 80241390 24A50004 */ addiu $a1, $a1, 4 +/* 853504 80241394 24630001 */ addiu $v1, $v1, 1 +/* 853508 80241398 AC820084 */ sw $v0, 0x84($a0) +/* 85350C 8024139C 28620010 */ slti $v0, $v1, 0x10 +/* 853510 802413A0 1440FFFA */ bnez $v0, .L8024138C +/* 853514 802413A4 24840004 */ addiu $a0, $a0, 4 +/* 853518 802413A8 3C108024 */ lui $s0, 0x8024 +/* 85351C 802413AC 261050B0 */ addiu $s0, $s0, 0x50b0 +/* 853520 802413B0 0C00AB4B */ jal heap_free +/* 853524 802413B4 8E040000 */ lw $a0, ($s0) +/* 853528 802413B8 AE000000 */ sw $zero, ($s0) +.L802413BC: +/* 85352C 802413BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 853530 802413C0 8FB10014 */ lw $s1, 0x14($sp) +/* 853534 802413C4 8FB00010 */ lw $s0, 0x10($sp) +/* 853538 802413C8 24020002 */ addiu $v0, $zero, 2 +/* 85353C 802413CC 03E00008 */ jr $ra +/* 853540 802413D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802413D4.s b/asm/nonmatchings/world/area_mac/mac_05/func_802413D4.s new file mode 100644 index 0000000000..7d5de81c02 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802413D4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D4 +/* 853544 802413D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 853548 802413D8 AFB00010 */ sw $s0, 0x10($sp) +/* 85354C 802413DC 0080802D */ daddu $s0, $a0, $zero +/* 853550 802413E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 853554 802413E4 AFB10014 */ sw $s1, 0x14($sp) +/* 853558 802413E8 8E02000C */ lw $v0, 0xc($s0) +/* 85355C 802413EC 8C510000 */ lw $s1, ($v0) +/* 853560 802413F0 0C0B1EAF */ jal get_variable +/* 853564 802413F4 0220282D */ daddu $a1, $s1, $zero +/* 853568 802413F8 3C03FFF0 */ lui $v1, 0xfff0 +/* 85356C 802413FC 3463FFFF */ ori $v1, $v1, 0xffff +/* 853570 80241400 0200202D */ daddu $a0, $s0, $zero +/* 853574 80241404 00431024 */ and $v0, $v0, $v1 +/* 853578 80241408 00021140 */ sll $v0, $v0, 5 +/* 85357C 8024140C 3C068008 */ lui $a2, %hi(gItemTable) +/* 853580 80241410 00C23021 */ addu $a2, $a2, $v0 +/* 853584 80241414 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 853588 80241418 0C0B2026 */ jal set_variable +/* 85358C 8024141C 0220282D */ daddu $a1, $s1, $zero +/* 853590 80241420 8FBF0018 */ lw $ra, 0x18($sp) +/* 853594 80241424 8FB10014 */ lw $s1, 0x14($sp) +/* 853598 80241428 8FB00010 */ lw $s0, 0x10($sp) +/* 85359C 8024142C 24020002 */ addiu $v0, $zero, 2 +/* 8535A0 80241430 03E00008 */ jr $ra +/* 8535A4 80241434 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241438.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241438.s new file mode 100644 index 0000000000..fc55459d24 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241438.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241438 +/* 8535A8 80241438 24020001 */ addiu $v0, $zero, 1 +/* 8535AC 8024143C 3C018015 */ lui $at, %hi(D_80151310) +/* 8535B0 80241440 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 8535B4 80241444 03E00008 */ jr $ra +/* 8535B8 80241448 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024144C_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024144C_852170.s new file mode 100644 index 0000000000..fb3ec316b1 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024144C_852170.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024144C_8535BC +/* 8535BC 8024144C 3C018015 */ lui $at, %hi(D_80151310) +/* 8535C0 80241450 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 8535C4 80241454 03E00008 */ jr $ra +/* 8535C8 80241458 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024145C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024145C.s new file mode 100644 index 0000000000..fb5ec08f86 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024145C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024145C +/* 8535CC 8024145C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8535D0 80241460 AFB10024 */ sw $s1, 0x24($sp) +/* 8535D4 80241464 0080882D */ daddu $s1, $a0, $zero +/* 8535D8 80241468 3C05F840 */ lui $a1, 0xf840 +/* 8535DC 8024146C AFBF0044 */ sw $ra, 0x44($sp) +/* 8535E0 80241470 AFBE0040 */ sw $fp, 0x40($sp) +/* 8535E4 80241474 AFB7003C */ sw $s7, 0x3c($sp) +/* 8535E8 80241478 AFB60038 */ sw $s6, 0x38($sp) +/* 8535EC 8024147C AFB50034 */ sw $s5, 0x34($sp) +/* 8535F0 80241480 AFB40030 */ sw $s4, 0x30($sp) +/* 8535F4 80241484 AFB3002C */ sw $s3, 0x2c($sp) +/* 8535F8 80241488 AFB20028 */ sw $s2, 0x28($sp) +/* 8535FC 8024148C AFB00020 */ sw $s0, 0x20($sp) +/* 853600 80241490 8E3E0148 */ lw $fp, 0x148($s1) +/* 853604 80241494 0C0B1EAF */ jal get_variable +/* 853608 80241498 34A56268 */ ori $a1, $a1, 0x6268 +/* 85360C 8024149C 0040802D */ daddu $s0, $v0, $zero +/* 853610 802414A0 0220202D */ daddu $a0, $s1, $zero +/* 853614 802414A4 3C05F840 */ lui $a1, 0xf840 +/* 853618 802414A8 0C0B1EAF */ jal get_variable +/* 85361C 802414AC 34A56269 */ ori $a1, $a1, 0x6269 +/* 853620 802414B0 0040B82D */ daddu $s7, $v0, $zero +/* 853624 802414B4 0220202D */ daddu $a0, $s1, $zero +/* 853628 802414B8 3C05F5DE */ lui $a1, 0xf5de +/* 85362C 802414BC 0C0B1EAF */ jal get_variable +/* 853630 802414C0 34A502DE */ ori $a1, $a1, 0x2de +/* 853634 802414C4 0040B02D */ daddu $s6, $v0, $zero +/* 853638 802414C8 0220202D */ daddu $a0, $s1, $zero +/* 85363C 802414CC 3C05F5DE */ lui $a1, 0xf5de +/* 853640 802414D0 0C0B1EAF */ jal get_variable +/* 853644 802414D4 34A502DF */ ori $a1, $a1, 0x2df +/* 853648 802414D8 0040A82D */ daddu $s5, $v0, $zero +/* 85364C 802414DC 93D3006D */ lbu $s3, 0x6d($fp) +/* 853650 802414E0 32C2FFFF */ andi $v0, $s6, 0xffff +/* 853654 802414E4 A7B30010 */ sh $s3, 0x10($sp) +/* 853658 802414E8 93D2006E */ lbu $s2, 0x6e($fp) +/* 85365C 802414EC 93C7006F */ lbu $a3, 0x6f($fp) +/* 853660 802414F0 3274FFFF */ andi $s4, $s3, 0xffff +/* 853664 802414F4 12820003 */ beq $s4, $v0, .L80241504 +/* 853668 802414F8 A7A7001E */ sh $a3, 0x1e($sp) +/* 85366C 802414FC 0000B82D */ daddu $s7, $zero, $zero +/* 853670 80241500 02E0802D */ daddu $s0, $s7, $zero +.L80241504: +/* 853674 80241504 3202FFFF */ andi $v0, $s0, 0xffff +/* 853678 80241508 14400016 */ bnez $v0, .L80241564 +/* 85367C 8024150C 0220202D */ daddu $a0, $s1, $zero +/* 853680 80241510 0C00A67F */ jal rand_int +/* 853684 80241514 24040064 */ addiu $a0, $zero, 0x64 +/* 853688 80241518 2842001E */ slti $v0, $v0, 0x1e +/* 85368C 8024151C 10400011 */ beqz $v0, .L80241564 +/* 853690 80241520 0220202D */ daddu $a0, $s1, $zero +/* 853694 80241524 0C00A67F */ jal rand_int +/* 853698 80241528 2644FFFF */ addiu $a0, $s2, -1 +/* 85369C 8024152C 0040A82D */ daddu $s5, $v0, $zero +/* 8536A0 80241530 0260B02D */ daddu $s6, $s3, $zero +/* 8536A4 80241534 0220202D */ daddu $a0, $s1, $zero +/* 8536A8 80241538 3C05F5DE */ lui $a1, 0xf5de +/* 8536AC 8024153C 34A502DE */ ori $a1, $a1, 0x2de +/* 8536B0 80241540 0C0B2026 */ jal set_variable +/* 8536B4 80241544 0280302D */ daddu $a2, $s4, $zero +/* 8536B8 80241548 0220202D */ daddu $a0, $s1, $zero +/* 8536BC 8024154C 3C05F5DE */ lui $a1, 0xf5de +/* 8536C0 80241550 34A502DF */ ori $a1, $a1, 0x2df +/* 8536C4 80241554 0C0B2026 */ jal set_variable +/* 8536C8 80241558 32A6FFFF */ andi $a2, $s5, 0xffff +/* 8536CC 8024155C 24100001 */ addiu $s0, $zero, 1 +/* 8536D0 80241560 0220202D */ daddu $a0, $s1, $zero +.L80241564: +/* 8536D4 80241564 3C05F840 */ lui $a1, 0xf840 +/* 8536D8 80241568 34A56268 */ ori $a1, $a1, 0x6268 +/* 8536DC 8024156C 0C0B2026 */ jal set_variable +/* 8536E0 80241570 3206FFFF */ andi $a2, $s0, 0xffff +/* 8536E4 80241574 0220202D */ daddu $a0, $s1, $zero +/* 8536E8 80241578 3C05F840 */ lui $a1, 0xf840 +/* 8536EC 8024157C 34A56269 */ ori $a1, $a1, 0x6269 +/* 8536F0 80241580 0C0B2026 */ jal set_variable +/* 8536F4 80241584 32E6FFFF */ andi $a2, $s7, 0xffff +/* 8536F8 80241588 0000202D */ daddu $a0, $zero, $zero +/* 8536FC 8024158C 3C05F5DE */ lui $a1, 0xf5de +/* 853700 80241590 0C0B1EAF */ jal get_variable +/* 853704 80241594 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 853708 80241598 0000202D */ daddu $a0, $zero, $zero +/* 85370C 8024159C 3C05F5DE */ lui $a1, 0xf5de +/* 853710 802415A0 34A50180 */ ori $a1, $a1, 0x180 +/* 853714 802415A4 0C0B1EAF */ jal get_variable +/* 853718 802415A8 0040802D */ daddu $s0, $v0, $zero +/* 85371C 802415AC 0040282D */ daddu $a1, $v0, $zero +/* 853720 802415B0 0000182D */ daddu $v1, $zero, $zero +/* 853724 802415B4 3C068024 */ lui $a2, 0x8024 +/* 853728 802415B8 24C65154 */ addiu $a2, $a2, 0x5154 +/* 85372C 802415BC 00C0202D */ daddu $a0, $a2, $zero +.L802415C0: +/* 853730 802415C0 8C820000 */ lw $v0, ($a0) +/* 853734 802415C4 00A2102A */ slt $v0, $a1, $v0 +/* 853738 802415C8 14400006 */ bnez $v0, .L802415E4 +/* 85373C 802415CC 000310C0 */ sll $v0, $v1, 3 +/* 853740 802415D0 24630001 */ addiu $v1, $v1, 1 +/* 853744 802415D4 28620008 */ slti $v0, $v1, 8 +/* 853748 802415D8 1440FFF9 */ bnez $v0, .L802415C0 +/* 85374C 802415DC 24840008 */ addiu $a0, $a0, 8 +/* 853750 802415E0 000310C0 */ sll $v0, $v1, 3 +.L802415E4: +/* 853754 802415E4 00461021 */ addu $v0, $v0, $a2 +/* 853758 802415E8 8C420004 */ lw $v0, 4($v0) +/* 85375C 802415EC 97A30010 */ lhu $v1, 0x10($sp) +/* 853760 802415F0 0202202A */ slt $a0, $s0, $v0 +/* 853764 802415F4 32C2FFFF */ andi $v0, $s6, 0xffff +/* 853768 802415F8 14620008 */ bne $v1, $v0, .L8024161C +/* 85376C 802415FC 32A2FFFF */ andi $v0, $s5, 0xffff +/* 853770 80241600 97A7001E */ lhu $a3, 0x1e($sp) +/* 853774 80241604 14E20005 */ bne $a3, $v0, .L8024161C +/* 853778 80241608 32E2FFFF */ andi $v0, $s7, 0xffff +/* 85377C 8024160C 14400003 */ bnez $v0, .L8024161C +/* 853780 80241610 00000000 */ nop +/* 853784 80241614 14800008 */ bnez $a0, .L80241638 +/* 853788 80241618 24020001 */ addiu $v0, $zero, 1 +.L8024161C: +/* 85378C 8024161C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 853790 80241620 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 853794 80241624 80420075 */ lb $v0, 0x75($v0) +/* 853798 80241628 10400005 */ beqz $v0, .L80241640 +/* 85379C 8024162C 00000000 */ nop +/* 8537A0 80241630 10800003 */ beqz $a0, .L80241640 +/* 8537A4 80241634 24020001 */ addiu $v0, $zero, 1 +.L80241638: +/* 8537A8 80241638 08090593 */ j .L8024164C +/* 8537AC 8024163C AE220084 */ sw $v0, 0x84($s1) +.L80241640: +/* 8537B0 80241640 0C00F9EB */ jal kill_enemy +/* 8537B4 80241644 03C0202D */ daddu $a0, $fp, $zero +/* 8537B8 80241648 AE200084 */ sw $zero, 0x84($s1) +.L8024164C: +/* 8537BC 8024164C 8FBF0044 */ lw $ra, 0x44($sp) +/* 8537C0 80241650 8FBE0040 */ lw $fp, 0x40($sp) +/* 8537C4 80241654 8FB7003C */ lw $s7, 0x3c($sp) +/* 8537C8 80241658 8FB60038 */ lw $s6, 0x38($sp) +/* 8537CC 8024165C 8FB50034 */ lw $s5, 0x34($sp) +/* 8537D0 80241660 8FB40030 */ lw $s4, 0x30($sp) +/* 8537D4 80241664 8FB3002C */ lw $s3, 0x2c($sp) +/* 8537D8 80241668 8FB20028 */ lw $s2, 0x28($sp) +/* 8537DC 8024166C 8FB10024 */ lw $s1, 0x24($sp) +/* 8537E0 80241670 8FB00020 */ lw $s0, 0x20($sp) +/* 8537E4 80241674 24020002 */ addiu $v0, $zero, 2 +/* 8537E8 80241678 03E00008 */ jr $ra +/* 8537EC 8024167C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241680.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241680.s new file mode 100644 index 0000000000..1866d79a16 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241680.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241680 +/* 8537F0 80241680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8537F4 80241684 AFBF0014 */ sw $ra, 0x14($sp) +/* 8537F8 80241688 AFB00010 */ sw $s0, 0x10($sp) +/* 8537FC 8024168C 0C00EABB */ jal get_npc_unsafe +/* 853800 80241690 8C84014C */ lw $a0, 0x14c($a0) +/* 853804 80241694 24040008 */ addiu $a0, $zero, 8 +/* 853808 80241698 0040802D */ daddu $s0, $v0, $zero +/* 85380C 8024169C 3C028024 */ lui $v0, 0x8024 +/* 853810 802416A0 244216EC */ addiu $v0, $v0, 0x16ec +/* 853814 802416A4 0C00AB39 */ jal heap_malloc +/* 853818 802416A8 AE020008 */ sw $v0, 8($s0) +/* 85381C 802416AC 0040182D */ daddu $v1, $v0, $zero +/* 853820 802416B0 AE030020 */ sw $v1, 0x20($s0) +/* 853824 802416B4 AC600000 */ sw $zero, ($v1) +/* 853828 802416B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 85382C 802416BC 8FB00010 */ lw $s0, 0x10($sp) +/* 853830 802416C0 24020001 */ addiu $v0, $zero, 1 +/* 853834 802416C4 03E00008 */ jr $ra +/* 853838 802416C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802416CC.s b/asm/nonmatchings/world/area_mac/mac_05/func_802416CC.s new file mode 100644 index 0000000000..15c6517e8f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802416CC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416CC +/* 85383C 802416CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853840 802416D0 AFBF0010 */ sw $ra, 0x10($sp) +/* 853844 802416D4 0C00EABB */ jal get_npc_unsafe +/* 853848 802416D8 8C84014C */ lw $a0, 0x14c($a0) +/* 85384C 802416DC 8FBF0010 */ lw $ra, 0x10($sp) +/* 853850 802416E0 0000102D */ daddu $v0, $zero, $zero +/* 853854 802416E4 03E00008 */ jr $ra +/* 853858 802416E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802416EC.s b/asm/nonmatchings/world/area_mac/mac_05/func_802416EC.s new file mode 100644 index 0000000000..6e3f915cb3 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802416EC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416EC +/* 85385C 802416EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853860 802416F0 3C03800A */ lui $v1, 0x800a +/* 853864 802416F4 8463A634 */ lh $v1, -0x59cc($v1) +/* 853868 802416F8 3C05800B */ lui $a1, %hi(gCameras) +/* 85386C 802416FC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 853870 80241700 AFBF0010 */ sw $ra, 0x10($sp) +/* 853874 80241704 00031080 */ sll $v0, $v1, 2 +/* 853878 80241708 00431021 */ addu $v0, $v0, $v1 +/* 85387C 8024170C 00021080 */ sll $v0, $v0, 2 +/* 853880 80241710 00431023 */ subu $v0, $v0, $v1 +/* 853884 80241714 000218C0 */ sll $v1, $v0, 3 +/* 853888 80241718 00431021 */ addu $v0, $v0, $v1 +/* 85388C 8024171C 8C830020 */ lw $v1, 0x20($a0) +/* 853890 80241720 000210C0 */ sll $v0, $v0, 3 +/* 853894 80241724 8C630000 */ lw $v1, ($v1) +/* 853898 80241728 30630001 */ andi $v1, $v1, 1 +/* 85389C 8024172C 10600004 */ beqz $v1, .L80241740 +/* 8538A0 80241730 00451021 */ addu $v0, $v0, $a1 +/* 8538A4 80241734 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 8538A8 80241738 0C00A6C9 */ jal clamp_angle +/* 8538AC 8024173C 46006307 */ neg.s $f12, $f12 +.L80241740: +/* 8538B0 80241740 8FBF0010 */ lw $ra, 0x10($sp) +/* 8538B4 80241744 03E00008 */ jr $ra +/* 8538B8 80241748 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024174C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024174C.s new file mode 100644 index 0000000000..62d38393d4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024174C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024174C +/* 8538BC 8024174C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8538C0 80241750 AFB10014 */ sw $s1, 0x14($sp) +/* 8538C4 80241754 0080882D */ daddu $s1, $a0, $zero +/* 8538C8 80241758 AFBF0024 */ sw $ra, 0x24($sp) +/* 8538CC 8024175C AFB40020 */ sw $s4, 0x20($sp) +/* 8538D0 80241760 AFB3001C */ sw $s3, 0x1c($sp) +/* 8538D4 80241764 AFB20018 */ sw $s2, 0x18($sp) +/* 8538D8 80241768 10A00033 */ beqz $a1, .L80241838 +/* 8538DC 8024176C AFB00010 */ sw $s0, 0x10($sp) +/* 8538E0 80241770 0C04760B */ jal func_8011D82C +/* 8538E4 80241774 24040001 */ addiu $a0, $zero, 1 +/* 8538E8 80241778 0000202D */ daddu $a0, $zero, $zero +/* 8538EC 8024177C 0080282D */ daddu $a1, $a0, $zero +/* 8538F0 80241780 0080302D */ daddu $a2, $a0, $zero +/* 8538F4 80241784 0080382D */ daddu $a3, $a0, $zero +/* 8538F8 80241788 0080802D */ daddu $s0, $a0, $zero +/* 8538FC 8024178C 2414FFFC */ addiu $s4, $zero, -4 +/* 853900 80241790 24130006 */ addiu $s3, $zero, 6 +/* 853904 80241794 3C120080 */ lui $s2, 0x80 +/* 853908 80241798 3C038015 */ lui $v1, 0x8015 +/* 85390C 8024179C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 853910 802417A0 24020001 */ addiu $v0, $zero, 1 +/* 853914 802417A4 0C046F97 */ jal set_background_color_blend +/* 853918 802417A8 A0620000 */ sb $v0, ($v1) +.L802417AC: +/* 85391C 802417AC 0C00E2B7 */ jal get_npc_by_index +/* 853920 802417B0 0200202D */ daddu $a0, $s0, $zero +/* 853924 802417B4 0040202D */ daddu $a0, $v0, $zero +/* 853928 802417B8 5080000B */ beql $a0, $zero, .L802417E8 +/* 85392C 802417BC 26100001 */ addiu $s0, $s0, 1 +/* 853930 802417C0 8C820000 */ lw $v0, ($a0) +/* 853934 802417C4 50400008 */ beql $v0, $zero, .L802417E8 +/* 853938 802417C8 26100001 */ addiu $s0, $s0, 1 +/* 85393C 802417CC 808300A4 */ lb $v1, 0xa4($a0) +/* 853940 802417D0 10740005 */ beq $v1, $s4, .L802417E8 +/* 853944 802417D4 26100001 */ addiu $s0, $s0, 1 +/* 853948 802417D8 10730003 */ beq $v1, $s3, .L802417E8 +/* 85394C 802417DC 00000000 */ nop +/* 853950 802417E0 00521025 */ or $v0, $v0, $s2 +/* 853954 802417E4 AC820000 */ sw $v0, ($a0) +.L802417E8: +/* 853958 802417E8 2A020040 */ slti $v0, $s0, 0x40 +/* 85395C 802417EC 1440FFEF */ bnez $v0, .L802417AC +/* 853960 802417F0 00000000 */ nop +/* 853964 802417F4 0000802D */ daddu $s0, $zero, $zero +/* 853968 802417F8 3C120800 */ lui $s2, 0x800 +.L802417FC: +/* 85396C 802417FC 0C04C3D6 */ jal get_item_entity +/* 853970 80241800 0200202D */ daddu $a0, $s0, $zero +/* 853974 80241804 0040182D */ daddu $v1, $v0, $zero +/* 853978 80241808 10600007 */ beqz $v1, .L80241828 +/* 85397C 8024180C 26100001 */ addiu $s0, $s0, 1 +/* 853980 80241810 8C640000 */ lw $a0, ($v1) +/* 853984 80241814 30820010 */ andi $v0, $a0, 0x10 +/* 853988 80241818 10400003 */ beqz $v0, .L80241828 +/* 85398C 8024181C 00000000 */ nop +/* 853990 80241820 00921025 */ or $v0, $a0, $s2 +/* 853994 80241824 AC620000 */ sw $v0, ($v1) +.L80241828: +/* 853998 80241828 2A020100 */ slti $v0, $s0, 0x100 +/* 85399C 8024182C 1440FFF3 */ bnez $v0, .L802417FC +/* 8539A0 80241830 00000000 */ nop +/* 8539A4 80241834 AE200070 */ sw $zero, 0x70($s1) +.L80241838: +/* 8539A8 80241838 8E220070 */ lw $v0, 0x70($s1) +/* 8539AC 8024183C 24420008 */ addiu $v0, $v0, 8 +/* 8539B0 80241840 AE220070 */ sw $v0, 0x70($s1) +/* 8539B4 80241844 28420100 */ slti $v0, $v0, 0x100 +/* 8539B8 80241848 14400003 */ bnez $v0, .L80241858 +/* 8539BC 8024184C 0000202D */ daddu $a0, $zero, $zero +/* 8539C0 80241850 240200FF */ addiu $v0, $zero, 0xff +/* 8539C4 80241854 AE220070 */ sw $v0, 0x70($s1) +.L80241858: +/* 8539C8 80241858 0080282D */ daddu $a1, $a0, $zero +/* 8539CC 8024185C 92270073 */ lbu $a3, 0x73($s1) +/* 8539D0 80241860 0C046F97 */ jal set_background_color_blend +/* 8539D4 80241864 0080302D */ daddu $a2, $a0, $zero +/* 8539D8 80241868 8E220070 */ lw $v0, 0x70($s1) +/* 8539DC 8024186C 8FBF0024 */ lw $ra, 0x24($sp) +/* 8539E0 80241870 8FB40020 */ lw $s4, 0x20($sp) +/* 8539E4 80241874 8FB3001C */ lw $s3, 0x1c($sp) +/* 8539E8 80241878 8FB20018 */ lw $s2, 0x18($sp) +/* 8539EC 8024187C 8FB10014 */ lw $s1, 0x14($sp) +/* 8539F0 80241880 8FB00010 */ lw $s0, 0x10($sp) +/* 8539F4 80241884 384200FF */ xori $v0, $v0, 0xff +/* 8539F8 80241888 2C420001 */ sltiu $v0, $v0, 1 +/* 8539FC 8024188C 00021040 */ sll $v0, $v0, 1 +/* 853A00 80241890 03E00008 */ jr $ra +/* 853A04 80241894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241898_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241898_852170.s new file mode 100644 index 0000000000..9f88e678b0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241898_852170.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898_853A08 +/* 853A08 80241898 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 853A0C 8024189C AFB00010 */ sw $s0, 0x10($sp) +/* 853A10 802418A0 0080802D */ daddu $s0, $a0, $zero +/* 853A14 802418A4 AFBF0020 */ sw $ra, 0x20($sp) +/* 853A18 802418A8 AFB3001C */ sw $s3, 0x1c($sp) +/* 853A1C 802418AC AFB20018 */ sw $s2, 0x18($sp) +/* 853A20 802418B0 10A00009 */ beqz $a1, .L802418D8 +/* 853A24 802418B4 AFB10014 */ sw $s1, 0x14($sp) +/* 853A28 802418B8 0000202D */ daddu $a0, $zero, $zero +/* 853A2C 802418BC 0080282D */ daddu $a1, $a0, $zero +/* 853A30 802418C0 0080302D */ daddu $a2, $a0, $zero +/* 853A34 802418C4 0C046F97 */ jal set_background_color_blend +/* 853A38 802418C8 240700FF */ addiu $a3, $zero, 0xff +/* 853A3C 802418CC 240200FF */ addiu $v0, $zero, 0xff +/* 853A40 802418D0 AE020070 */ sw $v0, 0x70($s0) +/* 853A44 802418D4 AE000074 */ sw $zero, 0x74($s0) +.L802418D8: +/* 853A48 802418D8 8E020070 */ lw $v0, 0x70($s0) +/* 853A4C 802418DC 2442FFF8 */ addiu $v0, $v0, -8 +/* 853A50 802418E0 04410002 */ bgez $v0, .L802418EC +/* 853A54 802418E4 AE020070 */ sw $v0, 0x70($s0) +/* 853A58 802418E8 AE000070 */ sw $zero, 0x70($s0) +.L802418EC: +/* 853A5C 802418EC 0000202D */ daddu $a0, $zero, $zero +/* 853A60 802418F0 0080282D */ daddu $a1, $a0, $zero +/* 853A64 802418F4 92070073 */ lbu $a3, 0x73($s0) +/* 853A68 802418F8 0C046F97 */ jal set_background_color_blend +/* 853A6C 802418FC 0080302D */ daddu $a2, $a0, $zero +/* 853A70 80241900 8E020070 */ lw $v0, 0x70($s0) +/* 853A74 80241904 14400006 */ bnez $v0, .L80241920 +/* 853A78 80241908 00000000 */ nop +/* 853A7C 8024190C 8E020074 */ lw $v0, 0x74($s0) +/* 853A80 80241910 14400003 */ bnez $v0, .L80241920 +/* 853A84 80241914 24020001 */ addiu $v0, $zero, 1 +/* 853A88 80241918 0809067B */ j .L802419EC +/* 853A8C 8024191C AE020074 */ sw $v0, 0x74($s0) +.L80241920: +/* 853A90 80241920 8E030074 */ lw $v1, 0x74($s0) +/* 853A94 80241924 24020001 */ addiu $v0, $zero, 1 +/* 853A98 80241928 14620031 */ bne $v1, $v0, .L802419F0 +/* 853A9C 8024192C 0000102D */ daddu $v0, $zero, $zero +/* 853AA0 80241930 0C04760B */ jal func_8011D82C +/* 853AA4 80241934 0000202D */ daddu $a0, $zero, $zero +/* 853AA8 80241938 0000802D */ daddu $s0, $zero, $zero +/* 853AAC 8024193C 2413FFFC */ addiu $s3, $zero, -4 +/* 853AB0 80241940 24120006 */ addiu $s2, $zero, 6 +/* 853AB4 80241944 3C11FF7F */ lui $s1, 0xff7f +/* 853AB8 80241948 3C028015 */ lui $v0, 0x8015 +/* 853ABC 8024194C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 853AC0 80241950 3631FFFF */ ori $s1, $s1, 0xffff +/* 853AC4 80241954 A0400000 */ sb $zero, ($v0) +.L80241958: +/* 853AC8 80241958 0C00E2B7 */ jal get_npc_by_index +/* 853ACC 8024195C 0200202D */ daddu $a0, $s0, $zero +/* 853AD0 80241960 0040202D */ daddu $a0, $v0, $zero +/* 853AD4 80241964 5080000B */ beql $a0, $zero, .L80241994 +/* 853AD8 80241968 26100001 */ addiu $s0, $s0, 1 +/* 853ADC 8024196C 8C820000 */ lw $v0, ($a0) +/* 853AE0 80241970 50400008 */ beql $v0, $zero, .L80241994 +/* 853AE4 80241974 26100001 */ addiu $s0, $s0, 1 +/* 853AE8 80241978 808300A4 */ lb $v1, 0xa4($a0) +/* 853AEC 8024197C 10730005 */ beq $v1, $s3, .L80241994 +/* 853AF0 80241980 26100001 */ addiu $s0, $s0, 1 +/* 853AF4 80241984 10720003 */ beq $v1, $s2, .L80241994 +/* 853AF8 80241988 00000000 */ nop +/* 853AFC 8024198C 00511024 */ and $v0, $v0, $s1 +/* 853B00 80241990 AC820000 */ sw $v0, ($a0) +.L80241994: +/* 853B04 80241994 2A020040 */ slti $v0, $s0, 0x40 +/* 853B08 80241998 1440FFEF */ bnez $v0, .L80241958 +/* 853B0C 8024199C 00000000 */ nop +/* 853B10 802419A0 0000802D */ daddu $s0, $zero, $zero +/* 853B14 802419A4 3C11F7FF */ lui $s1, 0xf7ff +/* 853B18 802419A8 3631FFFF */ ori $s1, $s1, 0xffff +.L802419AC: +/* 853B1C 802419AC 0C04C3D6 */ jal get_item_entity +/* 853B20 802419B0 0200202D */ daddu $a0, $s0, $zero +/* 853B24 802419B4 0040182D */ daddu $v1, $v0, $zero +/* 853B28 802419B8 10600007 */ beqz $v1, .L802419D8 +/* 853B2C 802419BC 26100001 */ addiu $s0, $s0, 1 +/* 853B30 802419C0 8C640000 */ lw $a0, ($v1) +/* 853B34 802419C4 30820010 */ andi $v0, $a0, 0x10 +/* 853B38 802419C8 10400003 */ beqz $v0, .L802419D8 +/* 853B3C 802419CC 00000000 */ nop +/* 853B40 802419D0 00911024 */ and $v0, $a0, $s1 +/* 853B44 802419D4 AC620000 */ sw $v0, ($v1) +.L802419D8: +/* 853B48 802419D8 2A020100 */ slti $v0, $s0, 0x100 +/* 853B4C 802419DC 1440FFF3 */ bnez $v0, .L802419AC +/* 853B50 802419E0 24020002 */ addiu $v0, $zero, 2 +/* 853B54 802419E4 0809067C */ j .L802419F0 +/* 853B58 802419E8 00000000 */ nop +.L802419EC: +/* 853B5C 802419EC 0000102D */ daddu $v0, $zero, $zero +.L802419F0: +/* 853B60 802419F0 8FBF0020 */ lw $ra, 0x20($sp) +/* 853B64 802419F4 8FB3001C */ lw $s3, 0x1c($sp) +/* 853B68 802419F8 8FB20018 */ lw $s2, 0x18($sp) +/* 853B6C 802419FC 8FB10014 */ lw $s1, 0x14($sp) +/* 853B70 80241A00 8FB00010 */ lw $s0, 0x10($sp) +/* 853B74 80241A04 03E00008 */ jr $ra +/* 853B78 80241A08 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241A0C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241A0C.s new file mode 100644 index 0000000000..debbbaf445 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241A0C.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A0C +/* 853B7C 80241A0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 853B80 80241A10 AFB00010 */ sw $s0, 0x10($sp) +/* 853B84 80241A14 3C108011 */ lui $s0, %hi(gPlayerData) +/* 853B88 80241A18 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 853B8C 80241A1C AFBF0018 */ sw $ra, 0x18($sp) +/* 853B90 80241A20 AFB10014 */ sw $s1, 0x14($sp) +/* 853B94 80241A24 960302C0 */ lhu $v1, 0x2c0($s0) +/* 853B98 80241A28 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 853B9C 80241A2C 10400003 */ beqz $v0, .L80241A3C +/* 853BA0 80241A30 0080882D */ daddu $s1, $a0, $zero +/* 853BA4 80241A34 24620001 */ addiu $v0, $v1, 1 +/* 853BA8 80241A38 A60202C0 */ sh $v0, 0x2c0($s0) +.L80241A3C: +/* 853BAC 80241A3C 3C05F5DE */ lui $a1, 0xf5de +/* 853BB0 80241A40 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 853BB4 80241A44 0C0B1EAF */ jal get_variable +/* 853BB8 80241A48 0000202D */ daddu $a0, $zero, $zero +/* 853BBC 80241A4C 3C038024 */ lui $v1, 0x8024 +/* 853BC0 80241A50 00621821 */ addu $v1, $v1, $v0 +/* 853BC4 80241A54 90635114 */ lbu $v1, 0x5114($v1) +/* 853BC8 80241A58 8E220084 */ lw $v0, 0x84($s1) +/* 853BCC 80241A5C 54430006 */ bnel $v0, $v1, .L80241A78 +/* 853BD0 80241A60 AE200084 */ sw $zero, 0x84($s1) +/* 853BD4 80241A64 24020001 */ addiu $v0, $zero, 1 +/* 853BD8 80241A68 AE220084 */ sw $v0, 0x84($s1) +/* 853BDC 80241A6C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 853BE0 80241A70 24420001 */ addiu $v0, $v0, 1 +/* 853BE4 80241A74 A60202C2 */ sh $v0, 0x2c2($s0) +.L80241A78: +/* 853BE8 80241A78 8FBF0018 */ lw $ra, 0x18($sp) +/* 853BEC 80241A7C 8FB10014 */ lw $s1, 0x14($sp) +/* 853BF0 80241A80 8FB00010 */ lw $s0, 0x10($sp) +/* 853BF4 80241A84 24020002 */ addiu $v0, $zero, 2 +/* 853BF8 80241A88 03E00008 */ jr $ra +/* 853BFC 80241A8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241A90.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241A90.s new file mode 100644 index 0000000000..84d429bb1b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241A90.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A90 +/* 853C00 80241A90 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 853C04 80241A94 AFB1001C */ sw $s1, 0x1c($sp) +/* 853C08 80241A98 AFBF0020 */ sw $ra, 0x20($sp) +/* 853C0C 80241A9C AFB00018 */ sw $s0, 0x18($sp) +/* 853C10 80241AA0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 853C14 80241AA4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 853C18 80241AA8 10A00060 */ beqz $a1, .L80241C2C +/* 853C1C 80241AAC 0080882D */ daddu $s1, $a0, $zero +/* 853C20 80241AB0 3C05F4AC */ lui $a1, 0xf4ac +/* 853C24 80241AB4 0C0B1EAF */ jal get_variable +/* 853C28 80241AB8 34A5D481 */ ori $a1, $a1, 0xd481 +/* 853C2C 80241ABC 0220202D */ daddu $a0, $s1, $zero +/* 853C30 80241AC0 3C05F4AC */ lui $a1, 0xf4ac +/* 853C34 80241AC4 4482B000 */ mtc1 $v0, $f22 +/* 853C38 80241AC8 00000000 */ nop +/* 853C3C 80241ACC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 853C40 80241AD0 0C0B1EAF */ jal get_variable +/* 853C44 80241AD4 34A5D482 */ ori $a1, $a1, 0xd482 +/* 853C48 80241AD8 0220202D */ daddu $a0, $s1, $zero +/* 853C4C 80241ADC 3C05F4AC */ lui $a1, 0xf4ac +/* 853C50 80241AE0 4482A000 */ mtc1 $v0, $f20 +/* 853C54 80241AE4 00000000 */ nop +/* 853C58 80241AE8 4680A520 */ cvt.s.w $f20, $f20 +/* 853C5C 80241AEC 0C0B1EAF */ jal get_variable +/* 853C60 80241AF0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 853C64 80241AF4 44821000 */ mtc1 $v0, $f2 +/* 853C68 80241AF8 00000000 */ nop +/* 853C6C 80241AFC 468010A0 */ cvt.s.w $f2, $f2 +/* 853C70 80241B00 4405B000 */ mfc1 $a1, $f22 +/* 853C74 80241B04 4406A000 */ mfc1 $a2, $f20 +/* 853C78 80241B08 44071000 */ mfc1 $a3, $f2 +/* 853C7C 80241B0C 0C01C574 */ jal func_800715D0 +/* 853C80 80241B10 0000202D */ daddu $a0, $zero, $zero +/* 853C84 80241B14 0220202D */ daddu $a0, $s1, $zero +/* 853C88 80241B18 3C05F4AC */ lui $a1, 0xf4ac +/* 853C8C 80241B1C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 853C90 80241B20 3C108025 */ lui $s0, 0x8025 +/* 853C94 80241B24 261029F0 */ addiu $s0, $s0, 0x29f0 +/* 853C98 80241B28 0C0B1EAF */ jal get_variable +/* 853C9C 80241B2C AE020000 */ sw $v0, ($s0) +/* 853CA0 80241B30 0220202D */ daddu $a0, $s1, $zero +/* 853CA4 80241B34 3C05F4AC */ lui $a1, 0xf4ac +/* 853CA8 80241B38 4482B000 */ mtc1 $v0, $f22 +/* 853CAC 80241B3C 00000000 */ nop +/* 853CB0 80241B40 4680B5A0 */ cvt.s.w $f22, $f22 +/* 853CB4 80241B44 0C0B1EAF */ jal get_variable +/* 853CB8 80241B48 34A5D482 */ ori $a1, $a1, 0xd482 +/* 853CBC 80241B4C 0220202D */ daddu $a0, $s1, $zero +/* 853CC0 80241B50 3C05F4AC */ lui $a1, 0xf4ac +/* 853CC4 80241B54 4482A000 */ mtc1 $v0, $f20 +/* 853CC8 80241B58 00000000 */ nop +/* 853CCC 80241B5C 4680A520 */ cvt.s.w $f20, $f20 +/* 853CD0 80241B60 0C0B1EAF */ jal get_variable +/* 853CD4 80241B64 34A5D483 */ ori $a1, $a1, 0xd483 +/* 853CD8 80241B68 44821000 */ mtc1 $v0, $f2 +/* 853CDC 80241B6C 00000000 */ nop +/* 853CE0 80241B70 468010A0 */ cvt.s.w $f2, $f2 +/* 853CE4 80241B74 4405B000 */ mfc1 $a1, $f22 +/* 853CE8 80241B78 4406A000 */ mfc1 $a2, $f20 +/* 853CEC 80241B7C 44071000 */ mfc1 $a3, $f2 +/* 853CF0 80241B80 0C01C604 */ jal func_80071810 +/* 853CF4 80241B84 0000202D */ daddu $a0, $zero, $zero +/* 853CF8 80241B88 0220202D */ daddu $a0, $s1, $zero +/* 853CFC 80241B8C 3C05F4AC */ lui $a1, 0xf4ac +/* 853D00 80241B90 3C018025 */ lui $at, 0x8025 +/* 853D04 80241B94 AC2229F4 */ sw $v0, 0x29f4($at) +/* 853D08 80241B98 0C0B1EAF */ jal get_variable +/* 853D0C 80241B9C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 853D10 80241BA0 0220202D */ daddu $a0, $s1, $zero +/* 853D14 80241BA4 3C05F4AC */ lui $a1, 0xf4ac +/* 853D18 80241BA8 4482B000 */ mtc1 $v0, $f22 +/* 853D1C 80241BAC 00000000 */ nop +/* 853D20 80241BB0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 853D24 80241BB4 0C0B1EAF */ jal get_variable +/* 853D28 80241BB8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 853D2C 80241BBC 0220202D */ daddu $a0, $s1, $zero +/* 853D30 80241BC0 3C05F4AC */ lui $a1, 0xf4ac +/* 853D34 80241BC4 4482A000 */ mtc1 $v0, $f20 +/* 853D38 80241BC8 00000000 */ nop +/* 853D3C 80241BCC 4680A520 */ cvt.s.w $f20, $f20 +/* 853D40 80241BD0 0C0B1EAF */ jal get_variable +/* 853D44 80241BD4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 853D48 80241BD8 44821000 */ mtc1 $v0, $f2 +/* 853D4C 80241BDC 00000000 */ nop +/* 853D50 80241BE0 468010A0 */ cvt.s.w $f2, $f2 +/* 853D54 80241BE4 4405B000 */ mfc1 $a1, $f22 +/* 853D58 80241BE8 4406A000 */ mfc1 $a2, $f20 +/* 853D5C 80241BEC 3C013F80 */ lui $at, 0x3f80 +/* 853D60 80241BF0 44810000 */ mtc1 $at, $f0 +/* 853D64 80241BF4 44071000 */ mfc1 $a3, $f2 +/* 853D68 80241BF8 0000202D */ daddu $a0, $zero, $zero +/* 853D6C 80241BFC AFA00014 */ sw $zero, 0x14($sp) +/* 853D70 80241C00 0C01CA24 */ jal func_80072890 +/* 853D74 80241C04 E7A00010 */ swc1 $f0, 0x10($sp) +/* 853D78 80241C08 8E030000 */ lw $v1, ($s0) +/* 853D7C 80241C0C 8C64000C */ lw $a0, 0xc($v1) +/* 853D80 80241C10 3C018025 */ lui $at, 0x8025 +/* 853D84 80241C14 AC2229F8 */ sw $v0, 0x29f8($at) +/* 853D88 80241C18 AC800018 */ sw $zero, 0x18($a0) +/* 853D8C 80241C1C AC800020 */ sw $zero, 0x20($a0) +/* 853D90 80241C20 AC800024 */ sw $zero, 0x24($a0) +/* 853D94 80241C24 AC800028 */ sw $zero, 0x28($a0) +/* 853D98 80241C28 AC80001C */ sw $zero, 0x1c($a0) +.L80241C2C: +/* 853D9C 80241C2C 3C028025 */ lui $v0, 0x8025 +/* 853DA0 80241C30 8C4229F0 */ lw $v0, 0x29f0($v0) +/* 853DA4 80241C34 8C44000C */ lw $a0, 0xc($v0) +/* 853DA8 80241C38 8C820020 */ lw $v0, 0x20($a0) +/* 853DAC 80241C3C 8C830028 */ lw $v1, 0x28($a0) +/* 853DB0 80241C40 2442000A */ addiu $v0, $v0, 0xa +/* 853DB4 80241C44 AC820020 */ sw $v0, 0x20($a0) +/* 853DB8 80241C48 8C820024 */ lw $v0, 0x24($a0) +/* 853DBC 80241C4C 2463000A */ addiu $v1, $v1, 0xa +/* 853DC0 80241C50 AC830028 */ sw $v1, 0x28($a0) +/* 853DC4 80241C54 8C830018 */ lw $v1, 0x18($a0) +/* 853DC8 80241C58 2442000A */ addiu $v0, $v0, 0xa +/* 853DCC 80241C5C AC820024 */ sw $v0, 0x24($a0) +/* 853DD0 80241C60 8C82001C */ lw $v0, 0x1c($a0) +/* 853DD4 80241C64 2463000A */ addiu $v1, $v1, 0xa +/* 853DD8 80241C68 AC830018 */ sw $v1, 0x18($a0) +/* 853DDC 80241C6C 286300FF */ slti $v1, $v1, 0xff +/* 853DE0 80241C70 2442000A */ addiu $v0, $v0, 0xa +/* 853DE4 80241C74 AC82001C */ sw $v0, 0x1c($a0) +/* 853DE8 80241C78 14600004 */ bnez $v1, .L80241C8C +/* 853DEC 80241C7C 0000102D */ daddu $v0, $zero, $zero +/* 853DF0 80241C80 240200FF */ addiu $v0, $zero, 0xff +/* 853DF4 80241C84 AC820018 */ sw $v0, 0x18($a0) +/* 853DF8 80241C88 24020002 */ addiu $v0, $zero, 2 +.L80241C8C: +/* 853DFC 80241C8C 8FBF0020 */ lw $ra, 0x20($sp) +/* 853E00 80241C90 8FB1001C */ lw $s1, 0x1c($sp) +/* 853E04 80241C94 8FB00018 */ lw $s0, 0x18($sp) +/* 853E08 80241C98 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 853E0C 80241C9C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 853E10 80241CA0 03E00008 */ jr $ra +/* 853E14 80241CA4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241CA8.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241CA8.s new file mode 100644 index 0000000000..76f165a800 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241CA8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CA8 +/* 853E18 80241CA8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853E1C 80241CAC 10A0000B */ beqz $a1, .L80241CDC +/* 853E20 80241CB0 AFBF0010 */ sw $ra, 0x10($sp) +/* 853E24 80241CB4 3C038025 */ lui $v1, 0x8025 +/* 853E28 80241CB8 8C6329F4 */ lw $v1, 0x29f4($v1) +/* 853E2C 80241CBC 8C620000 */ lw $v0, ($v1) +/* 853E30 80241CC0 3C048025 */ lui $a0, 0x8025 +/* 853E34 80241CC4 8C8429F8 */ lw $a0, 0x29f8($a0) +/* 853E38 80241CC8 34420010 */ ori $v0, $v0, 0x10 +/* 853E3C 80241CCC AC620000 */ sw $v0, ($v1) +/* 853E40 80241CD0 8C820000 */ lw $v0, ($a0) +/* 853E44 80241CD4 34420010 */ ori $v0, $v0, 0x10 +/* 853E48 80241CD8 AC820000 */ sw $v0, ($a0) +.L80241CDC: +/* 853E4C 80241CDC 3C048025 */ lui $a0, 0x8025 +/* 853E50 80241CE0 8C8429F0 */ lw $a0, 0x29f0($a0) +/* 853E54 80241CE4 8C85000C */ lw $a1, 0xc($a0) +/* 853E58 80241CE8 8CA20018 */ lw $v0, 0x18($a1) +/* 853E5C 80241CEC 8CA30020 */ lw $v1, 0x20($a1) +/* 853E60 80241CF0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 853E64 80241CF4 ACA20018 */ sw $v0, 0x18($a1) +/* 853E68 80241CF8 8CA20024 */ lw $v0, 0x24($a1) +/* 853E6C 80241CFC 2463FFF6 */ addiu $v1, $v1, -0xa +/* 853E70 80241D00 ACA30020 */ sw $v1, 0x20($a1) +/* 853E74 80241D04 8CA30028 */ lw $v1, 0x28($a1) +/* 853E78 80241D08 2442FFF6 */ addiu $v0, $v0, -0xa +/* 853E7C 80241D0C ACA20024 */ sw $v0, 0x24($a1) +/* 853E80 80241D10 8CA2001C */ lw $v0, 0x1c($a1) +/* 853E84 80241D14 2463FFF6 */ addiu $v1, $v1, -0xa +/* 853E88 80241D18 ACA30028 */ sw $v1, 0x28($a1) +/* 853E8C 80241D1C 8CA30018 */ lw $v1, 0x18($a1) +/* 853E90 80241D20 2442FFF6 */ addiu $v0, $v0, -0xa +/* 853E94 80241D24 18600003 */ blez $v1, .L80241D34 +/* 853E98 80241D28 ACA2001C */ sw $v0, 0x1c($a1) +/* 853E9C 80241D2C 08090754 */ j .L80241D50 +/* 853EA0 80241D30 0000102D */ daddu $v0, $zero, $zero +.L80241D34: +/* 853EA4 80241D34 0C016914 */ jal remove_effect +/* 853EA8 80241D38 ACA00018 */ sw $zero, 0x18($a1) +/* 853EAC 80241D3C 3C048025 */ lui $a0, 0x8025 +/* 853EB0 80241D40 8C8429D0 */ lw $a0, 0x29d0($a0) +/* 853EB4 80241D44 0C048D70 */ jal func_801235C0 +/* 853EB8 80241D48 00000000 */ nop +/* 853EBC 80241D4C 24020002 */ addiu $v0, $zero, 2 +.L80241D50: +/* 853EC0 80241D50 8FBF0010 */ lw $ra, 0x10($sp) +/* 853EC4 80241D54 03E00008 */ jr $ra +/* 853EC8 80241D58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241D5C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241D5C.s new file mode 100644 index 0000000000..ae499c148b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241D5C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D5C +/* 853ECC 80241D5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853ED0 80241D60 AFBF0010 */ sw $ra, 0x10($sp) +/* 853ED4 80241D64 8C82000C */ lw $v0, 0xc($a0) +/* 853ED8 80241D68 0C0B1EAF */ jal get_variable +/* 853EDC 80241D6C 8C450000 */ lw $a1, ($v0) +/* 853EE0 80241D70 3C038025 */ lui $v1, 0x8025 +/* 853EE4 80241D74 8C6329F0 */ lw $v1, 0x29f0($v1) +/* 853EE8 80241D78 8C63000C */ lw $v1, 0xc($v1) +/* 853EEC 80241D7C AC620034 */ sw $v0, 0x34($v1) +/* 853EF0 80241D80 8FBF0010 */ lw $ra, 0x10($sp) +/* 853EF4 80241D84 24020002 */ addiu $v0, $zero, 2 +/* 853EF8 80241D88 03E00008 */ jr $ra +/* 853EFC 80241D8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241D90.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241D90.s new file mode 100644 index 0000000000..1946b5111f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241D90.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D90 +/* 853F00 80241D90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853F04 80241D94 AFBF0010 */ sw $ra, 0x10($sp) +/* 853F08 80241D98 8C82000C */ lw $v0, 0xc($a0) +/* 853F0C 80241D9C 0C0B1EAF */ jal get_variable +/* 853F10 80241DA0 8C450000 */ lw $a1, ($v0) +/* 853F14 80241DA4 0040202D */ daddu $a0, $v0, $zero +/* 853F18 80241DA8 3C028025 */ lui $v0, 0x8025 +/* 853F1C 80241DAC 8C4229F0 */ lw $v0, 0x29f0($v0) +/* 853F20 80241DB0 24030001 */ addiu $v1, $zero, 1 +/* 853F24 80241DB4 8C45000C */ lw $a1, 0xc($v0) +/* 853F28 80241DB8 1083000D */ beq $a0, $v1, .L80241DF0 +/* 853F2C 80241DBC 28820002 */ slti $v0, $a0, 2 +/* 853F30 80241DC0 10400005 */ beqz $v0, .L80241DD8 +/* 853F34 80241DC4 24020002 */ addiu $v0, $zero, 2 +/* 853F38 80241DC8 10800007 */ beqz $a0, .L80241DE8 +/* 853F3C 80241DCC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 853F40 80241DD0 08090780 */ j .L80241E00 +/* 853F44 80241DD4 ACA00038 */ sw $zero, 0x38($a1) +.L80241DD8: +/* 853F48 80241DD8 10820008 */ beq $a0, $v0, .L80241DFC +/* 853F4C 80241DDC 24020040 */ addiu $v0, $zero, 0x40 +/* 853F50 80241DE0 08090780 */ j .L80241E00 +/* 853F54 80241DE4 ACA00038 */ sw $zero, 0x38($a1) +.L80241DE8: +/* 853F58 80241DE8 08090780 */ j .L80241E00 +/* 853F5C 80241DEC ACA20038 */ sw $v0, 0x38($a1) +.L80241DF0: +/* 853F60 80241DF0 24020080 */ addiu $v0, $zero, 0x80 +/* 853F64 80241DF4 08090780 */ j .L80241E00 +/* 853F68 80241DF8 ACA20038 */ sw $v0, 0x38($a1) +.L80241DFC: +/* 853F6C 80241DFC ACA20038 */ sw $v0, 0x38($a1) +.L80241E00: +/* 853F70 80241E00 8FBF0010 */ lw $ra, 0x10($sp) +/* 853F74 80241E04 24020002 */ addiu $v0, $zero, 2 +/* 853F78 80241E08 03E00008 */ jr $ra +/* 853F7C 80241E0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241E10.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241E10.s new file mode 100644 index 0000000000..af61329298 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241E10.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E10 +/* 853F80 80241E10 3C028025 */ lui $v0, 0x8025 +/* 853F84 80241E14 8C4229F8 */ lw $v0, 0x29f8($v0) +/* 853F88 80241E18 8C42000C */ lw $v0, 0xc($v0) +/* 853F8C 80241E1C AC40001C */ sw $zero, 0x1c($v0) +/* 853F90 80241E20 03E00008 */ jr $ra +/* 853F94 80241E24 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241E28.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241E28.s new file mode 100644 index 0000000000..7771b00195 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241E28.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E28 +/* 853F98 80241E28 3C028025 */ lui $v0, 0x8025 +/* 853F9C 80241E2C 8C4229F8 */ lw $v0, 0x29f8($v0) +/* 853FA0 80241E30 8C43000C */ lw $v1, 0xc($v0) +/* 853FA4 80241E34 24020001 */ addiu $v0, $zero, 1 +/* 853FA8 80241E38 AC62001C */ sw $v0, 0x1c($v1) +/* 853FAC 80241E3C 03E00008 */ jr $ra +/* 853FB0 80241E40 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241E44.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241E44.s new file mode 100644 index 0000000000..1edda6cdc5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241E44.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E44 +/* 853FB4 80241E44 3C028025 */ lui $v0, 0x8025 +/* 853FB8 80241E48 8C4229F8 */ lw $v0, 0x29f8($v0) +/* 853FBC 80241E4C 8C43000C */ lw $v1, 0xc($v0) +/* 853FC0 80241E50 24020002 */ addiu $v0, $zero, 2 +/* 853FC4 80241E54 03E00008 */ jr $ra +/* 853FC8 80241E58 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241E5C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241E5C.s new file mode 100644 index 0000000000..2450fe63ea --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241E5C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E5C +/* 853FCC 80241E5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 853FD0 80241E60 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 853FD4 80241E64 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 853FD8 80241E68 3C05FE36 */ lui $a1, 0xfe36 +/* 853FDC 80241E6C AFBF0010 */ sw $ra, 0x10($sp) +/* 853FE0 80241E70 80460075 */ lb $a2, 0x75($v0) +/* 853FE4 80241E74 0C0B2026 */ jal set_variable +/* 853FE8 80241E78 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 853FEC 80241E7C 8FBF0010 */ lw $ra, 0x10($sp) +/* 853FF0 80241E80 24020002 */ addiu $v0, $zero, 2 +/* 853FF4 80241E84 03E00008 */ jr $ra +/* 853FF8 80241E88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241E8C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241E8C.s new file mode 100644 index 0000000000..9840678013 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241E8C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E8C +/* 853FFC 80241E8C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 854000 80241E90 AFB10014 */ sw $s1, 0x14($sp) +/* 854004 80241E94 0080882D */ daddu $s1, $a0, $zero +/* 854008 80241E98 AFBF0018 */ sw $ra, 0x18($sp) +/* 85400C 80241E9C AFB00010 */ sw $s0, 0x10($sp) +/* 854010 80241EA0 8E30000C */ lw $s0, 0xc($s1) +/* 854014 80241EA4 8E050000 */ lw $a1, ($s0) +/* 854018 80241EA8 0C0B1EAF */ jal get_variable +/* 85401C 80241EAC 26100004 */ addiu $s0, $s0, 4 +/* 854020 80241EB0 0220202D */ daddu $a0, $s1, $zero +/* 854024 80241EB4 8E050000 */ lw $a1, ($s0) +/* 854028 80241EB8 0C0B210B */ jal get_float_variable +/* 85402C 80241EBC 0040802D */ daddu $s0, $v0, $zero +/* 854030 80241EC0 24020002 */ addiu $v0, $zero, 2 +/* 854034 80241EC4 00501804 */ sllv $v1, $s0, $v0 +/* 854038 80241EC8 00701821 */ addu $v1, $v1, $s0 +/* 85403C 80241ECC 00431804 */ sllv $v1, $v1, $v0 +/* 854040 80241ED0 00701823 */ subu $v1, $v1, $s0 +/* 854044 80241ED4 000320C0 */ sll $a0, $v1, 3 +/* 854048 80241ED8 00641821 */ addu $v1, $v1, $a0 +/* 85404C 80241EDC 000318C0 */ sll $v1, $v1, 3 +/* 854050 80241EE0 3C01800B */ lui $at, 0x800b +/* 854054 80241EE4 00230821 */ addu $at, $at, $v1 +/* 854058 80241EE8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 85405C 80241EEC 8FBF0018 */ lw $ra, 0x18($sp) +/* 854060 80241EF0 8FB10014 */ lw $s1, 0x14($sp) +/* 854064 80241EF4 8FB00010 */ lw $s0, 0x10($sp) +/* 854068 80241EF8 03E00008 */ jr $ra +/* 85406C 80241EFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241F00.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241F00.s new file mode 100644 index 0000000000..74c1635f0b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241F00.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F00 +/* 854070 80241F00 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 854074 80241F04 AFB10014 */ sw $s1, 0x14($sp) +/* 854078 80241F08 0080882D */ daddu $s1, $a0, $zero +/* 85407C 80241F0C AFBF0018 */ sw $ra, 0x18($sp) +/* 854080 80241F10 AFB00010 */ sw $s0, 0x10($sp) +/* 854084 80241F14 8E30000C */ lw $s0, 0xc($s1) +/* 854088 80241F18 8E050000 */ lw $a1, ($s0) +/* 85408C 80241F1C 0C0B1EAF */ jal get_variable +/* 854090 80241F20 26100004 */ addiu $s0, $s0, 4 +/* 854094 80241F24 00021880 */ sll $v1, $v0, 2 +/* 854098 80241F28 00621821 */ addu $v1, $v1, $v0 +/* 85409C 80241F2C 00031880 */ sll $v1, $v1, 2 +/* 8540A0 80241F30 00621823 */ subu $v1, $v1, $v0 +/* 8540A4 80241F34 000310C0 */ sll $v0, $v1, 3 +/* 8540A8 80241F38 00621821 */ addu $v1, $v1, $v0 +/* 8540AC 80241F3C 000318C0 */ sll $v1, $v1, 3 +/* 8540B0 80241F40 3C01800B */ lui $at, 0x800b +/* 8540B4 80241F44 00230821 */ addu $at, $at, $v1 +/* 8540B8 80241F48 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 8540BC 80241F4C 3C014480 */ lui $at, 0x4480 +/* 8540C0 80241F50 44810000 */ mtc1 $at, $f0 +/* 8540C4 80241F54 00000000 */ nop +/* 8540C8 80241F58 46001082 */ mul.s $f2, $f2, $f0 +/* 8540CC 80241F5C 00000000 */ nop +/* 8540D0 80241F60 3C01CD5B */ lui $at, 0xcd5b +/* 8540D4 80241F64 34215858 */ ori $at, $at, 0x5858 +/* 8540D8 80241F68 44810000 */ mtc1 $at, $f0 +/* 8540DC 80241F6C 00000000 */ nop +/* 8540E0 80241F70 46001080 */ add.s $f2, $f2, $f0 +/* 8540E4 80241F74 8E050000 */ lw $a1, ($s0) +/* 8540E8 80241F78 4600110D */ trunc.w.s $f4, $f2 +/* 8540EC 80241F7C 44062000 */ mfc1 $a2, $f4 +/* 8540F0 80241F80 0C0B2026 */ jal set_variable +/* 8540F4 80241F84 0220202D */ daddu $a0, $s1, $zero +/* 8540F8 80241F88 8FBF0018 */ lw $ra, 0x18($sp) +/* 8540FC 80241F8C 8FB10014 */ lw $s1, 0x14($sp) +/* 854100 80241F90 8FB00010 */ lw $s0, 0x10($sp) +/* 854104 80241F94 24020002 */ addiu $v0, $zero, 2 +/* 854108 80241F98 03E00008 */ jr $ra +/* 85410C 80241F9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80241FA0_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80241FA0_852170.s new file mode 100644 index 0000000000..07ecacde2e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80241FA0_852170.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FA0_854110 +/* 854110 80241FA0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 854114 80241FA4 AFB20018 */ sw $s2, 0x18($sp) +/* 854118 80241FA8 0080902D */ daddu $s2, $a0, $zero +/* 85411C 80241FAC AFBF0030 */ sw $ra, 0x30($sp) +/* 854120 80241FB0 AFB7002C */ sw $s7, 0x2c($sp) +/* 854124 80241FB4 AFB60028 */ sw $s6, 0x28($sp) +/* 854128 80241FB8 AFB50024 */ sw $s5, 0x24($sp) +/* 85412C 80241FBC AFB40020 */ sw $s4, 0x20($sp) +/* 854130 80241FC0 AFB3001C */ sw $s3, 0x1c($sp) +/* 854134 80241FC4 AFB10014 */ sw $s1, 0x14($sp) +/* 854138 80241FC8 AFB00010 */ sw $s0, 0x10($sp) +/* 85413C 80241FCC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 854140 80241FD0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 854144 80241FD4 8E50000C */ lw $s0, 0xc($s2) +/* 854148 80241FD8 8E050000 */ lw $a1, ($s0) +/* 85414C 80241FDC 0C0B1EAF */ jal get_variable +/* 854150 80241FE0 26100004 */ addiu $s0, $s0, 4 +/* 854154 80241FE4 8E050000 */ lw $a1, ($s0) +/* 854158 80241FE8 26100004 */ addiu $s0, $s0, 4 +/* 85415C 80241FEC 0240202D */ daddu $a0, $s2, $zero +/* 854160 80241FF0 0C0B1EAF */ jal get_variable +/* 854164 80241FF4 0040B82D */ daddu $s7, $v0, $zero +/* 854168 80241FF8 8E050000 */ lw $a1, ($s0) +/* 85416C 80241FFC 26100004 */ addiu $s0, $s0, 4 +/* 854170 80242000 0240202D */ daddu $a0, $s2, $zero +/* 854174 80242004 0C0B1EAF */ jal get_variable +/* 854178 80242008 0040B02D */ daddu $s6, $v0, $zero +/* 85417C 8024200C 0240202D */ daddu $a0, $s2, $zero +/* 854180 80242010 3C05F4AC */ lui $a1, 0xf4ac +/* 854184 80242014 34A5D481 */ ori $a1, $a1, 0xd481 +/* 854188 80242018 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 85418C 8024201C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 854190 80242020 8E140000 */ lw $s4, ($s0) +/* 854194 80242024 00061880 */ sll $v1, $a2, 2 +/* 854198 80242028 00661821 */ addu $v1, $v1, $a2 +/* 85419C 8024202C 00031880 */ sll $v1, $v1, 2 +/* 8541A0 80242030 00661823 */ subu $v1, $v1, $a2 +/* 8541A4 80242034 000330C0 */ sll $a2, $v1, 3 +/* 8541A8 80242038 00661821 */ addu $v1, $v1, $a2 +/* 8541AC 8024203C 000318C0 */ sll $v1, $v1, 3 +/* 8541B0 80242040 3C01800B */ lui $at, 0x800b +/* 8541B4 80242044 00230821 */ addu $at, $at, $v1 +/* 8541B8 80242048 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8541BC 8024204C 8E150004 */ lw $s5, 4($s0) +/* 8541C0 80242050 4600010D */ trunc.w.s $f4, $f0 +/* 8541C4 80242054 44112000 */ mfc1 $s1, $f4 +/* 8541C8 80242058 0C0B1EAF */ jal get_variable +/* 8541CC 8024205C 0040982D */ daddu $s3, $v0, $zero +/* 8541D0 80242060 4491B000 */ mtc1 $s1, $f22 +/* 8541D4 80242064 00000000 */ nop +/* 8541D8 80242068 4680B5A0 */ cvt.s.w $f22, $f22 +/* 8541DC 8024206C 4600B306 */ mov.s $f12, $f22 +/* 8541E0 80242070 0C00A8D4 */ jal cos_deg +/* 8541E4 80242074 0040802D */ daddu $s0, $v0, $zero +/* 8541E8 80242078 4493A000 */ mtc1 $s3, $f20 +/* 8541EC 8024207C 00000000 */ nop +/* 8541F0 80242080 4680A520 */ cvt.s.w $f20, $f20 +/* 8541F4 80242084 4600A002 */ mul.s $f0, $f20, $f0 +/* 8541F8 80242088 00000000 */ nop +/* 8541FC 8024208C 0240202D */ daddu $a0, $s2, $zero +/* 854200 80242090 44901000 */ mtc1 $s0, $f2 +/* 854204 80242094 00000000 */ nop +/* 854208 80242098 468010A0 */ cvt.s.w $f2, $f2 +/* 85420C 8024209C 46001081 */ sub.s $f2, $f2, $f0 +/* 854210 802420A0 3C05F4AC */ lui $a1, 0xf4ac +/* 854214 802420A4 4600110D */ trunc.w.s $f4, $f2 +/* 854218 802420A8 44102000 */ mfc1 $s0, $f4 +/* 85421C 802420AC 0C0B1EAF */ jal get_variable +/* 854220 802420B0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 854224 802420B4 4600B306 */ mov.s $f12, $f22 +/* 854228 802420B8 0C00A8BB */ jal sin_deg +/* 85422C 802420BC 0040882D */ daddu $s1, $v0, $zero +/* 854230 802420C0 4600A502 */ mul.s $f20, $f20, $f0 +/* 854234 802420C4 00000000 */ nop +/* 854238 802420C8 0240202D */ daddu $a0, $s2, $zero +/* 85423C 802420CC 44910000 */ mtc1 $s1, $f0 +/* 854240 802420D0 00000000 */ nop +/* 854244 802420D4 46800020 */ cvt.s.w $f0, $f0 +/* 854248 802420D8 46140001 */ sub.s $f0, $f0, $f20 +/* 85424C 802420DC 0280282D */ daddu $a1, $s4, $zero +/* 854250 802420E0 02173023 */ subu $a2, $s0, $s7 +/* 854254 802420E4 4600010D */ trunc.w.s $f4, $f0 +/* 854258 802420E8 44102000 */ mfc1 $s0, $f4 +/* 85425C 802420EC 0C0B2026 */ jal set_variable +/* 854260 802420F0 02168023 */ subu $s0, $s0, $s6 +/* 854264 802420F4 0240202D */ daddu $a0, $s2, $zero +/* 854268 802420F8 02A0282D */ daddu $a1, $s5, $zero +/* 85426C 802420FC 0C0B2026 */ jal set_variable +/* 854270 80242100 0200302D */ daddu $a2, $s0, $zero +/* 854274 80242104 8FBF0030 */ lw $ra, 0x30($sp) +/* 854278 80242108 8FB7002C */ lw $s7, 0x2c($sp) +/* 85427C 8024210C 8FB60028 */ lw $s6, 0x28($sp) +/* 854280 80242110 8FB50024 */ lw $s5, 0x24($sp) +/* 854284 80242114 8FB40020 */ lw $s4, 0x20($sp) +/* 854288 80242118 8FB3001C */ lw $s3, 0x1c($sp) +/* 85428C 8024211C 8FB20018 */ lw $s2, 0x18($sp) +/* 854290 80242120 8FB10014 */ lw $s1, 0x14($sp) +/* 854294 80242124 8FB00010 */ lw $s0, 0x10($sp) +/* 854298 80242128 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 85429C 8024212C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 8542A0 80242130 24020002 */ addiu $v0, $zero, 2 +/* 8542A4 80242134 03E00008 */ jr $ra +/* 8542A8 80242138 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024213C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024213C.s new file mode 100644 index 0000000000..78165b0a7a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024213C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024213C +/* 8542AC 8024213C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8542B0 80242140 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8542B4 80242144 10A00002 */ beqz $a1, .L80242150 +/* 8542B8 80242148 2402003C */ addiu $v0, $zero, 0x3c +/* 8542BC 8024214C AC820070 */ sw $v0, 0x70($a0) +.L80242150: +/* 8542C0 80242150 C4620080 */ lwc1 $f2, 0x80($v1) +/* 8542C4 80242154 3C0141F0 */ lui $at, 0x41f0 +/* 8542C8 80242158 44810000 */ mtc1 $at, $f0 +/* 8542CC 8024215C 00000000 */ nop +/* 8542D0 80242160 46001000 */ add.s $f0, $f2, $f0 +/* 8542D4 80242164 3C0143B4 */ lui $at, 0x43b4 +/* 8542D8 80242168 44811000 */ mtc1 $at, $f2 +/* 8542DC 8024216C 00000000 */ nop +/* 8542E0 80242170 4600103E */ c.le.s $f2, $f0 +/* 8542E4 80242174 00000000 */ nop +/* 8542E8 80242178 45000003 */ bc1f .L80242188 +/* 8542EC 8024217C E4600080 */ swc1 $f0, 0x80($v1) +/* 8542F0 80242180 46020001 */ sub.s $f0, $f0, $f2 +/* 8542F4 80242184 E4600080 */ swc1 $f0, 0x80($v1) +.L80242188: +/* 8542F8 80242188 8C820070 */ lw $v0, 0x70($a0) +/* 8542FC 8024218C 2442FFFF */ addiu $v0, $v0, -1 +/* 854300 80242190 AC820070 */ sw $v0, 0x70($a0) +/* 854304 80242194 000217C3 */ sra $v0, $v0, 0x1f +/* 854308 80242198 03E00008 */ jr $ra +/* 85430C 8024219C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802421A0.s b/asm/nonmatchings/world/area_mac/mac_05/func_802421A0.s new file mode 100644 index 0000000000..a861eb54c6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802421A0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421A0 +/* 854310 802421A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 854314 802421A4 AFB10014 */ sw $s1, 0x14($sp) +/* 854318 802421A8 0080882D */ daddu $s1, $a0, $zero +/* 85431C 802421AC AFB00010 */ sw $s0, 0x10($sp) +/* 854320 802421B0 00A0802D */ daddu $s0, $a1, $zero +/* 854324 802421B4 AFBF0018 */ sw $ra, 0x18($sp) +/* 854328 802421B8 0C00EABB */ jal get_npc_unsafe +/* 85432C 802421BC 2404FFFC */ addiu $a0, $zero, -4 +/* 854330 802421C0 12000003 */ beqz $s0, .L802421D0 +/* 854334 802421C4 0040182D */ daddu $v1, $v0, $zero +/* 854338 802421C8 2402003C */ addiu $v0, $zero, 0x3c +/* 85433C 802421CC AE220070 */ sw $v0, 0x70($s1) +.L802421D0: +/* 854340 802421D0 C462000C */ lwc1 $f2, 0xc($v1) +/* 854344 802421D4 3C0141F0 */ lui $at, 0x41f0 +/* 854348 802421D8 44810000 */ mtc1 $at, $f0 +/* 85434C 802421DC 00000000 */ nop +/* 854350 802421E0 46001000 */ add.s $f0, $f2, $f0 +/* 854354 802421E4 3C0143B4 */ lui $at, 0x43b4 +/* 854358 802421E8 44811000 */ mtc1 $at, $f2 +/* 85435C 802421EC 00000000 */ nop +/* 854360 802421F0 4600103E */ c.le.s $f2, $f0 +/* 854364 802421F4 00000000 */ nop +/* 854368 802421F8 45000003 */ bc1f .L80242208 +/* 85436C 802421FC E460000C */ swc1 $f0, 0xc($v1) +/* 854370 80242200 46020001 */ sub.s $f0, $f0, $f2 +/* 854374 80242204 E460000C */ swc1 $f0, 0xc($v1) +.L80242208: +/* 854378 80242208 8E230070 */ lw $v1, 0x70($s1) +/* 85437C 8024220C 2463FFFF */ addiu $v1, $v1, -1 +/* 854380 80242210 000317C3 */ sra $v0, $v1, 0x1f +/* 854384 80242214 AE230070 */ sw $v1, 0x70($s1) +/* 854388 80242218 8FBF0018 */ lw $ra, 0x18($sp) +/* 85438C 8024221C 8FB10014 */ lw $s1, 0x14($sp) +/* 854390 80242220 8FB00010 */ lw $s0, 0x10($sp) +/* 854394 80242224 30420002 */ andi $v0, $v0, 2 +/* 854398 80242228 03E00008 */ jr $ra +/* 85439C 8024222C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242230_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242230_852170.s new file mode 100644 index 0000000000..0cb1bb647a --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242230_852170.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242230_8543A0 +/* 8543A0 80242230 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8543A4 80242234 AFB10014 */ sw $s1, 0x14($sp) +/* 8543A8 80242238 0080882D */ daddu $s1, $a0, $zero +/* 8543AC 8024223C AFB00010 */ sw $s0, 0x10($sp) +/* 8543B0 80242240 00A0802D */ daddu $s0, $a1, $zero +/* 8543B4 80242244 AFBF001C */ sw $ra, 0x1c($sp) +/* 8543B8 80242248 AFB20018 */ sw $s2, 0x18($sp) +/* 8543BC 8024224C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8543C0 80242250 0C00EABB */ jal get_npc_unsafe +/* 8543C4 80242254 2404FFFC */ addiu $a0, $zero, -4 +/* 8543C8 80242258 12000017 */ beqz $s0, .L802422B8 +/* 8543CC 8024225C 0040902D */ daddu $s2, $v0, $zero +/* 8543D0 80242260 0220202D */ daddu $a0, $s1, $zero +/* 8543D4 80242264 3C05FE36 */ lui $a1, 0xfe36 +/* 8543D8 80242268 0C0B210B */ jal get_float_variable +/* 8543DC 8024226C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8543E0 80242270 0220202D */ daddu $a0, $s1, $zero +/* 8543E4 80242274 3C05FE36 */ lui $a1, 0xfe36 +/* 8543E8 80242278 3C014270 */ lui $at, 0x4270 +/* 8543EC 8024227C 4481A000 */ mtc1 $at, $f20 +/* 8543F0 80242280 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 8543F4 80242284 46140003 */ div.s $f0, $f0, $f20 +/* 8543F8 80242288 0C0B210B */ jal get_float_variable +/* 8543FC 8024228C E6200074 */ swc1 $f0, 0x74($s1) +/* 854400 80242290 0220202D */ daddu $a0, $s1, $zero +/* 854404 80242294 3C05FE36 */ lui $a1, 0xfe36 +/* 854408 80242298 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 85440C 8024229C 46140003 */ div.s $f0, $f0, $f20 +/* 854410 802422A0 0C0B210B */ jal get_float_variable +/* 854414 802422A4 E6200078 */ swc1 $f0, 0x78($s1) +/* 854418 802422A8 46140003 */ div.s $f0, $f0, $f20 +/* 85441C 802422AC 2402003C */ addiu $v0, $zero, 0x3c +/* 854420 802422B0 E620007C */ swc1 $f0, 0x7c($s1) +/* 854424 802422B4 AE220070 */ sw $v0, 0x70($s1) +.L802422B8: +/* 854428 802422B8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 85442C 802422BC C6220074 */ lwc1 $f2, 0x74($s1) +/* 854430 802422C0 46020000 */ add.s $f0, $f0, $f2 +/* 854434 802422C4 E6400038 */ swc1 $f0, 0x38($s2) +/* 854438 802422C8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 85443C 802422CC C6220078 */ lwc1 $f2, 0x78($s1) +/* 854440 802422D0 46020000 */ add.s $f0, $f0, $f2 +/* 854444 802422D4 E640003C */ swc1 $f0, 0x3c($s2) +/* 854448 802422D8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 85444C 802422DC C622007C */ lwc1 $f2, 0x7c($s1) +/* 854450 802422E0 46020000 */ add.s $f0, $f0, $f2 +/* 854454 802422E4 E6400040 */ swc1 $f0, 0x40($s2) +/* 854458 802422E8 8E230070 */ lw $v1, 0x70($s1) +/* 85445C 802422EC 2463FFFF */ addiu $v1, $v1, -1 +/* 854460 802422F0 2C620001 */ sltiu $v0, $v1, 1 +/* 854464 802422F4 AE230070 */ sw $v1, 0x70($s1) +/* 854468 802422F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 85446C 802422FC 8FB20018 */ lw $s2, 0x18($sp) +/* 854470 80242300 8FB10014 */ lw $s1, 0x14($sp) +/* 854474 80242304 8FB00010 */ lw $s0, 0x10($sp) +/* 854478 80242308 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 85447C 8024230C 00021040 */ sll $v0, $v0, 1 +/* 854480 80242310 03E00008 */ jr $ra +/* 854484 80242314 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242318.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242318.s new file mode 100644 index 0000000000..aade2b8494 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242318.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242318 +/* 854488 80242318 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 85448C 8024231C 3C058025 */ lui $a1, 0x8025 +/* 854490 80242320 8CA529E8 */ lw $a1, 0x29e8($a1) +/* 854494 80242324 AFBF0010 */ sw $ra, 0x10($sp) +/* 854498 80242328 0C0B1EAF */ jal get_variable +/* 85449C 8024232C 0000202D */ daddu $a0, $zero, $zero +/* 8544A0 80242330 0040182D */ daddu $v1, $v0, $zero +/* 8544A4 80242334 24020001 */ addiu $v0, $zero, 1 +/* 8544A8 80242338 14620006 */ bne $v1, $v0, .L80242354 +/* 8544AC 8024233C 24020002 */ addiu $v0, $zero, 2 +/* 8544B0 80242340 44800000 */ mtc1 $zero, $f0 +/* 8544B4 80242344 00000000 */ nop +/* 8544B8 80242348 44050000 */ mfc1 $a1, $f0 +/* 8544BC 8024234C 080908DB */ j .L8024236C +/* 8544C0 80242350 0000202D */ daddu $a0, $zero, $zero +.L80242354: +/* 8544C4 80242354 14620008 */ bne $v1, $v0, .L80242378 +/* 8544C8 80242358 24040001 */ addiu $a0, $zero, 1 +/* 8544CC 8024235C 44800000 */ mtc1 $zero, $f0 +/* 8544D0 80242360 00000000 */ nop +/* 8544D4 80242364 44050000 */ mfc1 $a1, $f0 +/* 8544D8 80242368 00000000 */ nop +.L8024236C: +/* 8544DC 8024236C 00A0302D */ daddu $a2, $a1, $zero +/* 8544E0 80242370 0C01C5A4 */ jal func_80071690 +/* 8544E4 80242374 00A0382D */ daddu $a3, $a1, $zero +.L80242378: +/* 8544E8 80242378 8FBF0010 */ lw $ra, 0x10($sp) +/* 8544EC 8024237C 03E00008 */ jr $ra +/* 8544F0 80242380 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242384_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242384_852170.s new file mode 100644 index 0000000000..a1a8389835 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242384_852170.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242384_8544F4 +/* 8544F4 80242384 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8544F8 80242388 3C058024 */ lui $a1, 0x8024 +/* 8544FC 8024238C 24A52318 */ addiu $a1, $a1, 0x2318 +/* 854500 80242390 AFBF0010 */ sw $ra, 0x10($sp) +/* 854504 80242394 0C048C8F */ jal bind_dynamic_entity_7 +/* 854508 80242398 0000202D */ daddu $a0, $zero, $zero +/* 85450C 8024239C 8FBF0010 */ lw $ra, 0x10($sp) +/* 854510 802423A0 3C018025 */ lui $at, 0x8025 +/* 854514 802423A4 AC2229D0 */ sw $v0, 0x29d0($at) +/* 854518 802423A8 24020002 */ addiu $v0, $zero, 2 +/* 85451C 802423AC 03E00008 */ jr $ra +/* 854520 802423B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802423B4.s b/asm/nonmatchings/world/area_mac/mac_05/func_802423B4.s new file mode 100644 index 0000000000..8f43119e62 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802423B4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423B4 +/* 854524 802423B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 854528 802423B8 AFB10014 */ sw $s1, 0x14($sp) +/* 85452C 802423BC 0080882D */ daddu $s1, $a0, $zero +/* 854530 802423C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 854534 802423C4 AFB00010 */ sw $s0, 0x10($sp) +/* 854538 802423C8 8E30000C */ lw $s0, 0xc($s1) +/* 85453C 802423CC 8E050000 */ lw $a1, ($s0) +/* 854540 802423D0 0C0B1EAF */ jal get_variable +/* 854544 802423D4 26100004 */ addiu $s0, $s0, 4 +/* 854548 802423D8 0C00EAD2 */ jal get_npc_safe +/* 85454C 802423DC 0040202D */ daddu $a0, $v0, $zero +/* 854550 802423E0 10400005 */ beqz $v0, .L802423F8 +/* 854554 802423E4 00000000 */ nop +/* 854558 802423E8 8E050000 */ lw $a1, ($s0) +/* 85455C 802423EC 844600A8 */ lh $a2, 0xa8($v0) +/* 854560 802423F0 0C0B2026 */ jal set_variable +/* 854564 802423F4 0220202D */ daddu $a0, $s1, $zero +.L802423F8: +/* 854568 802423F8 8FBF0018 */ lw $ra, 0x18($sp) +/* 85456C 802423FC 8FB10014 */ lw $s1, 0x14($sp) +/* 854570 80242400 8FB00010 */ lw $s0, 0x10($sp) +/* 854574 80242404 24020002 */ addiu $v0, $zero, 2 +/* 854578 80242408 03E00008 */ jr $ra +/* 85457C 8024240C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242410.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242410.s new file mode 100644 index 0000000000..5b5e07e83f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242410.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242410 +/* 854580 80242410 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 854584 80242414 AFB10014 */ sw $s1, 0x14($sp) +/* 854588 80242418 0080882D */ daddu $s1, $a0, $zero +/* 85458C 8024241C AFBF0024 */ sw $ra, 0x24($sp) +/* 854590 80242420 AFB40020 */ sw $s4, 0x20($sp) +/* 854594 80242424 AFB3001C */ sw $s3, 0x1c($sp) +/* 854598 80242428 AFB20018 */ sw $s2, 0x18($sp) +/* 85459C 8024242C AFB00010 */ sw $s0, 0x10($sp) +/* 8545A0 80242430 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 8545A4 80242434 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8545A8 80242438 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8545AC 8024243C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8545B0 80242440 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8545B4 80242444 8E30000C */ lw $s0, 0xc($s1) +/* 8545B8 80242448 8E130000 */ lw $s3, ($s0) +/* 8545BC 8024244C 26100004 */ addiu $s0, $s0, 4 +/* 8545C0 80242450 0C0B1EAF */ jal get_variable +/* 8545C4 80242454 0260282D */ daddu $a1, $s3, $zero +/* 8545C8 80242458 4482E000 */ mtc1 $v0, $f28 +/* 8545CC 8024245C 00000000 */ nop +/* 8545D0 80242460 4680E720 */ cvt.s.w $f28, $f28 +/* 8545D4 80242464 8E140000 */ lw $s4, ($s0) +/* 8545D8 80242468 26100004 */ addiu $s0, $s0, 4 +/* 8545DC 8024246C 0220202D */ daddu $a0, $s1, $zero +/* 8545E0 80242470 0C0B1EAF */ jal get_variable +/* 8545E4 80242474 0280282D */ daddu $a1, $s4, $zero +/* 8545E8 80242478 4482D000 */ mtc1 $v0, $f26 +/* 8545EC 8024247C 00000000 */ nop +/* 8545F0 80242480 4680D6A0 */ cvt.s.w $f26, $f26 +/* 8545F4 80242484 8E100000 */ lw $s0, ($s0) +/* 8545F8 80242488 0220202D */ daddu $a0, $s1, $zero +/* 8545FC 8024248C 0C0B1EAF */ jal get_variable +/* 854600 80242490 0200282D */ daddu $a1, $s0, $zero +/* 854604 80242494 4482C000 */ mtc1 $v0, $f24 +/* 854608 80242498 00000000 */ nop +/* 85460C 8024249C 4680C620 */ cvt.s.w $f24, $f24 +/* 854610 802424A0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 854614 802424A4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 854618 802424A8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 85461C 802424AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 854620 802424B0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 854624 802424B4 44800000 */ mtc1 $zero, $f0 +/* 854628 802424B8 00031080 */ sll $v0, $v1, 2 +/* 85462C 802424BC 00431021 */ addu $v0, $v0, $v1 +/* 854630 802424C0 00021080 */ sll $v0, $v0, 2 +/* 854634 802424C4 00431023 */ subu $v0, $v0, $v1 +/* 854638 802424C8 000218C0 */ sll $v1, $v0, 3 +/* 85463C 802424CC 00431021 */ addu $v0, $v0, $v1 +/* 854640 802424D0 000210C0 */ sll $v0, $v0, 3 +/* 854644 802424D4 46001032 */ c.eq.s $f2, $f0 +/* 854648 802424D8 3C01800B */ lui $at, 0x800b +/* 85464C 802424DC 00220821 */ addu $at, $at, $v0 +/* 854650 802424E0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 854654 802424E4 45000005 */ bc1f .L802424FC +/* 854658 802424E8 00000000 */ nop +/* 85465C 802424EC 3C0142C8 */ lui $at, 0x42c8 +/* 854660 802424F0 44810000 */ mtc1 $at, $f0 +/* 854664 802424F4 08090943 */ j .L8024250C +/* 854668 802424F8 4600B581 */ sub.s $f22, $f22, $f0 +.L802424FC: +/* 85466C 802424FC 3C0142C8 */ lui $at, 0x42c8 +/* 854670 80242500 44810000 */ mtc1 $at, $f0 +/* 854674 80242504 00000000 */ nop +/* 854678 80242508 4600B580 */ add.s $f22, $f22, $f0 +.L8024250C: +/* 85467C 8024250C 0C00A6C9 */ jal clamp_angle +/* 854680 80242510 4600B306 */ mov.s $f12, $f22 +/* 854684 80242514 46000586 */ mov.s $f22, $f0 +/* 854688 80242518 3C014170 */ lui $at, 0x4170 +/* 85468C 8024251C 4481A000 */ mtc1 $at, $f20 +/* 854690 80242520 0C00A8BB */ jal sin_deg +/* 854694 80242524 4600B306 */ mov.s $f12, $f22 +/* 854698 80242528 46140002 */ mul.s $f0, $f0, $f20 +/* 85469C 8024252C 00000000 */ nop +/* 8546A0 80242530 864200B0 */ lh $v0, 0xb0($s2) +/* 8546A4 80242534 3C013F00 */ lui $at, 0x3f00 +/* 8546A8 80242538 44812000 */ mtc1 $at, $f4 +/* 8546AC 8024253C 44821000 */ mtc1 $v0, $f2 +/* 8546B0 80242540 00000000 */ nop +/* 8546B4 80242544 468010A0 */ cvt.s.w $f2, $f2 +/* 8546B8 80242548 46041082 */ mul.s $f2, $f2, $f4 +/* 8546BC 8024254C 00000000 */ nop +/* 8546C0 80242550 4600E700 */ add.s $f28, $f28, $f0 +/* 8546C4 80242554 4602D680 */ add.s $f26, $f26, $f2 +/* 8546C8 80242558 0C00A8D4 */ jal cos_deg +/* 8546CC 8024255C 4600B306 */ mov.s $f12, $f22 +/* 8546D0 80242560 46140002 */ mul.s $f0, $f0, $f20 +/* 8546D4 80242564 00000000 */ nop +/* 8546D8 80242568 0220202D */ daddu $a0, $s1, $zero +/* 8546DC 8024256C 0260282D */ daddu $a1, $s3, $zero +/* 8546E0 80242570 4600E18D */ trunc.w.s $f6, $f28 +/* 8546E4 80242574 44063000 */ mfc1 $a2, $f6 +/* 8546E8 80242578 0C0B2026 */ jal set_variable +/* 8546EC 8024257C 4600C601 */ sub.s $f24, $f24, $f0 +/* 8546F0 80242580 0220202D */ daddu $a0, $s1, $zero +/* 8546F4 80242584 4600D18D */ trunc.w.s $f6, $f26 +/* 8546F8 80242588 44063000 */ mfc1 $a2, $f6 +/* 8546FC 8024258C 0C0B2026 */ jal set_variable +/* 854700 80242590 0280282D */ daddu $a1, $s4, $zero +/* 854704 80242594 0220202D */ daddu $a0, $s1, $zero +/* 854708 80242598 4600C18D */ trunc.w.s $f6, $f24 +/* 85470C 8024259C 44063000 */ mfc1 $a2, $f6 +/* 854710 802425A0 0C0B2026 */ jal set_variable +/* 854714 802425A4 0200282D */ daddu $a1, $s0, $zero +/* 854718 802425A8 8FBF0024 */ lw $ra, 0x24($sp) +/* 85471C 802425AC 8FB40020 */ lw $s4, 0x20($sp) +/* 854720 802425B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 854724 802425B4 8FB20018 */ lw $s2, 0x18($sp) +/* 854728 802425B8 8FB10014 */ lw $s1, 0x14($sp) +/* 85472C 802425BC 8FB00010 */ lw $s0, 0x10($sp) +/* 854730 802425C0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 854734 802425C4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 854738 802425C8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 85473C 802425CC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 854740 802425D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 854744 802425D4 24020002 */ addiu $v0, $zero, 2 +/* 854748 802425D8 03E00008 */ jr $ra +/* 85474C 802425DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802425E0.s b/asm/nonmatchings/world/area_mac/mac_05/func_802425E0.s new file mode 100644 index 0000000000..955c63fb65 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802425E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425E0 +/* 854750 802425E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 854754 802425E4 AFBF0010 */ sw $ra, 0x10($sp) +/* 854758 802425E8 10A00003 */ beqz $a1, .L802425F8 +/* 85475C 802425EC 8C86000C */ lw $a2, 0xc($a0) +/* 854760 802425F0 3C018024 */ lui $at, 0x8024 +/* 854764 802425F4 AC2076D8 */ sw $zero, 0x76d8($at) +.L802425F8: +/* 854768 802425F8 3C038024 */ lui $v1, 0x8024 +/* 85476C 802425FC 246376D8 */ addiu $v1, $v1, 0x76d8 +/* 854770 80242600 8C620000 */ lw $v0, ($v1) +/* 854774 80242604 54400003 */ bnel $v0, $zero, .L80242614 +/* 854778 80242608 AC600000 */ sw $zero, ($v1) +/* 85477C 8024260C 0809098A */ j .L80242628 +/* 854780 80242610 0000102D */ daddu $v0, $zero, $zero +.L80242614: +/* 854784 80242614 8CC50000 */ lw $a1, ($a2) +/* 854788 80242618 3C068024 */ lui $a2, 0x8024 +/* 85478C 8024261C 0C0B2026 */ jal set_variable +/* 854790 80242620 8CC676DC */ lw $a2, 0x76dc($a2) +/* 854794 80242624 24020002 */ addiu $v0, $zero, 2 +.L80242628: +/* 854798 80242628 8FBF0010 */ lw $ra, 0x10($sp) +/* 85479C 8024262C 03E00008 */ jr $ra +/* 8547A0 80242630 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242634.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242634.s new file mode 100644 index 0000000000..edf73949b0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242634.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242634 +/* 8547A4 80242634 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8547A8 80242638 AFBF0010 */ sw $ra, 0x10($sp) +/* 8547AC 8024263C 8C82000C */ lw $v0, 0xc($a0) +/* 8547B0 80242640 0C0B1EAF */ jal get_variable +/* 8547B4 80242644 8C450000 */ lw $a1, ($v0) +/* 8547B8 80242648 3C018024 */ lui $at, 0x8024 +/* 8547BC 8024264C AC2276DC */ sw $v0, 0x76dc($at) +/* 8547C0 80242650 24020002 */ addiu $v0, $zero, 2 +/* 8547C4 80242654 8FBF0010 */ lw $ra, 0x10($sp) +/* 8547C8 80242658 24030001 */ addiu $v1, $zero, 1 +/* 8547CC 8024265C 3C018024 */ lui $at, 0x8024 +/* 8547D0 80242660 AC2376D8 */ sw $v1, 0x76d8($at) +/* 8547D4 80242664 03E00008 */ jr $ra +/* 8547D8 80242668 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024266C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024266C.s new file mode 100644 index 0000000000..734d877795 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024266C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024266C +/* 8547DC 8024266C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8547E0 80242670 AFBF0010 */ sw $ra, 0x10($sp) +/* 8547E4 80242674 8C82000C */ lw $v0, 0xc($a0) +/* 8547E8 80242678 0C0B1EAF */ jal get_variable +/* 8547EC 8024267C 8C450000 */ lw $a1, ($v0) +/* 8547F0 80242680 0040182D */ daddu $v1, $v0, $zero +/* 8547F4 80242684 10600012 */ beqz $v1, .L802426D0 +/* 8547F8 80242688 0000202D */ daddu $a0, $zero, $zero +/* 8547FC 8024268C 8C620000 */ lw $v0, ($v1) +/* 854800 80242690 5040000A */ beql $v0, $zero, .L802426BC +/* 854804 80242694 00041080 */ sll $v0, $a0, 2 +/* 854808 80242698 3C058025 */ lui $a1, 0x8025 +/* 85480C 8024269C 24A52A00 */ addiu $a1, $a1, 0x2a00 +.L802426A0: +/* 854810 802426A0 24630004 */ addiu $v1, $v1, 4 +/* 854814 802426A4 24840001 */ addiu $a0, $a0, 1 +/* 854818 802426A8 ACA20000 */ sw $v0, ($a1) +/* 85481C 802426AC 8C620000 */ lw $v0, ($v1) +/* 854820 802426B0 1440FFFB */ bnez $v0, .L802426A0 +/* 854824 802426B4 24A50004 */ addiu $a1, $a1, 4 +/* 854828 802426B8 00041080 */ sll $v0, $a0, 2 +.L802426BC: +/* 85482C 802426BC 3C018025 */ lui $at, 0x8025 +/* 854830 802426C0 00220821 */ addu $at, $at, $v0 +/* 854834 802426C4 AC202A00 */ sw $zero, 0x2a00($at) +/* 854838 802426C8 080909BE */ j .L802426F8 +/* 85483C 802426CC 00000000 */ nop +.L802426D0: +/* 854840 802426D0 3C038025 */ lui $v1, 0x8025 +/* 854844 802426D4 24632A00 */ addiu $v1, $v1, 0x2a00 +/* 854848 802426D8 0060282D */ daddu $a1, $v1, $zero +.L802426DC: +/* 85484C 802426DC 24820010 */ addiu $v0, $a0, 0x10 +/* 854850 802426E0 AC620000 */ sw $v0, ($v1) +/* 854854 802426E4 24630004 */ addiu $v1, $v1, 4 +/* 854858 802426E8 24840001 */ addiu $a0, $a0, 1 +/* 85485C 802426EC 28820070 */ slti $v0, $a0, 0x70 +/* 854860 802426F0 1440FFFA */ bnez $v0, .L802426DC +/* 854864 802426F4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802426F8: +/* 854868 802426F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 85486C 802426FC 24020002 */ addiu $v0, $zero, 2 +/* 854870 80242700 03E00008 */ jr $ra +/* 854874 80242704 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242708.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242708.s new file mode 100644 index 0000000000..dc8b39c413 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242708.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242708 +/* 854878 80242708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 85487C 8024270C AFBF0010 */ sw $ra, 0x10($sp) +/* 854880 80242710 8C82000C */ lw $v0, 0xc($a0) +/* 854884 80242714 0C0B1EAF */ jal get_variable +/* 854888 80242718 8C450000 */ lw $a1, ($v0) +/* 85488C 8024271C 0040182D */ daddu $v1, $v0, $zero +/* 854890 80242720 10600012 */ beqz $v1, .L8024276C +/* 854894 80242724 0000202D */ daddu $a0, $zero, $zero +/* 854898 80242728 8C620000 */ lw $v0, ($v1) +/* 85489C 8024272C 5040000A */ beql $v0, $zero, .L80242758 +/* 8548A0 80242730 00041080 */ sll $v0, $a0, 2 +/* 8548A4 80242734 3C058025 */ lui $a1, 0x8025 +/* 8548A8 80242738 24A52BC8 */ addiu $a1, $a1, 0x2bc8 +.L8024273C: +/* 8548AC 8024273C 24630004 */ addiu $v1, $v1, 4 +/* 8548B0 80242740 24840001 */ addiu $a0, $a0, 1 +/* 8548B4 80242744 ACA20000 */ sw $v0, ($a1) +/* 8548B8 80242748 8C620000 */ lw $v0, ($v1) +/* 8548BC 8024274C 1440FFFB */ bnez $v0, .L8024273C +/* 8548C0 80242750 24A50004 */ addiu $a1, $a1, 4 +/* 8548C4 80242754 00041080 */ sll $v0, $a0, 2 +.L80242758: +/* 8548C8 80242758 3C018025 */ lui $at, 0x8025 +/* 8548CC 8024275C 00220821 */ addu $at, $at, $v0 +/* 8548D0 80242760 AC202BC8 */ sw $zero, 0x2bc8($at) +/* 8548D4 80242764 080909E5 */ j .L80242794 +/* 8548D8 80242768 00000000 */ nop +.L8024276C: +/* 8548DC 8024276C 3C038025 */ lui $v1, 0x8025 +/* 8548E0 80242770 24632BC8 */ addiu $v1, $v1, 0x2bc8 +/* 8548E4 80242774 0060282D */ daddu $a1, $v1, $zero +.L80242778: +/* 8548E8 80242778 24820080 */ addiu $v0, $a0, 0x80 +/* 8548EC 8024277C AC620000 */ sw $v0, ($v1) +/* 8548F0 80242780 24630004 */ addiu $v1, $v1, 4 +/* 8548F4 80242784 24840001 */ addiu $a0, $a0, 1 +/* 8548F8 80242788 2882005B */ slti $v0, $a0, 0x5b +/* 8548FC 8024278C 1440FFFA */ bnez $v0, .L80242778 +/* 854900 80242790 ACA0016C */ sw $zero, 0x16c($a1) +.L80242794: +/* 854904 80242794 8FBF0010 */ lw $ra, 0x10($sp) +/* 854908 80242798 24020002 */ addiu $v0, $zero, 2 +/* 85490C 8024279C 03E00008 */ jr $ra +/* 854910 802427A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802427A4.s b/asm/nonmatchings/world/area_mac/mac_05/func_802427A4.s new file mode 100644 index 0000000000..8a4436388f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802427A4.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427A4 +/* 854914 802427A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 854918 802427A8 AFB10014 */ sw $s1, 0x14($sp) +/* 85491C 802427AC 0080882D */ daddu $s1, $a0, $zero +/* 854920 802427B0 AFBF0018 */ sw $ra, 0x18($sp) +/* 854924 802427B4 AFB00010 */ sw $s0, 0x10($sp) +/* 854928 802427B8 8E30000C */ lw $s0, 0xc($s1) +/* 85492C 802427BC 8E050000 */ lw $a1, ($s0) +/* 854930 802427C0 0C0B1EAF */ jal get_variable +/* 854934 802427C4 26100004 */ addiu $s0, $s0, 4 +/* 854938 802427C8 AE22008C */ sw $v0, 0x8c($s1) +/* 85493C 802427CC 8E050000 */ lw $a1, ($s0) +/* 854940 802427D0 26100004 */ addiu $s0, $s0, 4 +/* 854944 802427D4 0C0B1EAF */ jal get_variable +/* 854948 802427D8 0220202D */ daddu $a0, $s1, $zero +/* 85494C 802427DC AE220090 */ sw $v0, 0x90($s1) +/* 854950 802427E0 8E050000 */ lw $a1, ($s0) +/* 854954 802427E4 26100004 */ addiu $s0, $s0, 4 +/* 854958 802427E8 0C0B1EAF */ jal get_variable +/* 85495C 802427EC 0220202D */ daddu $a0, $s1, $zero +/* 854960 802427F0 AE220094 */ sw $v0, 0x94($s1) +/* 854964 802427F4 8E050000 */ lw $a1, ($s0) +/* 854968 802427F8 26100004 */ addiu $s0, $s0, 4 +/* 85496C 802427FC 0C0B1EAF */ jal get_variable +/* 854970 80242800 0220202D */ daddu $a0, $s1, $zero +/* 854974 80242804 AE220098 */ sw $v0, 0x98($s1) +/* 854978 80242808 8E050000 */ lw $a1, ($s0) +/* 85497C 8024280C 26100004 */ addiu $s0, $s0, 4 +/* 854980 80242810 0C0B1EAF */ jal get_variable +/* 854984 80242814 0220202D */ daddu $a0, $s1, $zero +/* 854988 80242818 AE22009C */ sw $v0, 0x9c($s1) +/* 85498C 8024281C 8E050000 */ lw $a1, ($s0) +/* 854990 80242820 26100004 */ addiu $s0, $s0, 4 +/* 854994 80242824 0C0B1EAF */ jal get_variable +/* 854998 80242828 0220202D */ daddu $a0, $s1, $zero +/* 85499C 8024282C AE2200A0 */ sw $v0, 0xa0($s1) +/* 8549A0 80242830 8E050000 */ lw $a1, ($s0) +/* 8549A4 80242834 26100004 */ addiu $s0, $s0, 4 +/* 8549A8 80242838 0C0B1EAF */ jal get_variable +/* 8549AC 8024283C 0220202D */ daddu $a0, $s1, $zero +/* 8549B0 80242840 AE2200A4 */ sw $v0, 0xa4($s1) +/* 8549B4 80242844 8E050000 */ lw $a1, ($s0) +/* 8549B8 80242848 26100004 */ addiu $s0, $s0, 4 +/* 8549BC 8024284C 0C0B1EAF */ jal get_variable +/* 8549C0 80242850 0220202D */ daddu $a0, $s1, $zero +/* 8549C4 80242854 AE2200A8 */ sw $v0, 0xa8($s1) +/* 8549C8 80242858 8E050000 */ lw $a1, ($s0) +/* 8549CC 8024285C 26100004 */ addiu $s0, $s0, 4 +/* 8549D0 80242860 0C0B1EAF */ jal get_variable +/* 8549D4 80242864 0220202D */ daddu $a0, $s1, $zero +/* 8549D8 80242868 AE2200AC */ sw $v0, 0xac($s1) +/* 8549DC 8024286C 8E050000 */ lw $a1, ($s0) +/* 8549E0 80242870 0C0B1EAF */ jal get_variable +/* 8549E4 80242874 0220202D */ daddu $a0, $s1, $zero +/* 8549E8 80242878 AE2200B0 */ sw $v0, 0xb0($s1) +/* 8549EC 8024287C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8549F0 80242880 8FB10014 */ lw $s1, 0x14($sp) +/* 8549F4 80242884 8FB00010 */ lw $s0, 0x10($sp) +/* 8549F8 80242888 24020002 */ addiu $v0, $zero, 2 +/* 8549FC 8024288C 03E00008 */ jr $ra +/* 854A00 80242890 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242894.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242894.s new file mode 100644 index 0000000000..18c00442a5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242894.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242894 +/* 854A04 80242894 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 854A08 80242898 AFB1001C */ sw $s1, 0x1c($sp) +/* 854A0C 8024289C 0080882D */ daddu $s1, $a0, $zero +/* 854A10 802428A0 AFBF0034 */ sw $ra, 0x34($sp) +/* 854A14 802428A4 AFB60030 */ sw $s6, 0x30($sp) +/* 854A18 802428A8 AFB5002C */ sw $s5, 0x2c($sp) +/* 854A1C 802428AC AFB40028 */ sw $s4, 0x28($sp) +/* 854A20 802428B0 AFB30024 */ sw $s3, 0x24($sp) +/* 854A24 802428B4 AFB20020 */ sw $s2, 0x20($sp) +/* 854A28 802428B8 AFB00018 */ sw $s0, 0x18($sp) +/* 854A2C 802428BC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 854A30 802428C0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 854A34 802428C4 8E30000C */ lw $s0, 0xc($s1) +/* 854A38 802428C8 8E160000 */ lw $s6, ($s0) +/* 854A3C 802428CC 26100004 */ addiu $s0, $s0, 4 +/* 854A40 802428D0 0C0B1EAF */ jal get_variable +/* 854A44 802428D4 02C0282D */ daddu $a1, $s6, $zero +/* 854A48 802428D8 44820000 */ mtc1 $v0, $f0 +/* 854A4C 802428DC 00000000 */ nop +/* 854A50 802428E0 46800020 */ cvt.s.w $f0, $f0 +/* 854A54 802428E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 854A58 802428E8 8E140000 */ lw $s4, ($s0) +/* 854A5C 802428EC 26100004 */ addiu $s0, $s0, 4 +/* 854A60 802428F0 0220202D */ daddu $a0, $s1, $zero +/* 854A64 802428F4 0C0B1EAF */ jal get_variable +/* 854A68 802428F8 0280282D */ daddu $a1, $s4, $zero +/* 854A6C 802428FC 0220202D */ daddu $a0, $s1, $zero +/* 854A70 80242900 8E150000 */ lw $s5, ($s0) +/* 854A74 80242904 4482B000 */ mtc1 $v0, $f22 +/* 854A78 80242908 00000000 */ nop +/* 854A7C 8024290C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 854A80 80242910 0C0B1EAF */ jal get_variable +/* 854A84 80242914 02A0282D */ daddu $a1, $s5, $zero +/* 854A88 80242918 2404FFFC */ addiu $a0, $zero, -4 +/* 854A8C 8024291C 44820000 */ mtc1 $v0, $f0 +/* 854A90 80242920 00000000 */ nop +/* 854A94 80242924 46800020 */ cvt.s.w $f0, $f0 +/* 854A98 80242928 0C00EABB */ jal get_npc_unsafe +/* 854A9C 8024292C E7A00014 */ swc1 $f0, 0x14($sp) +/* 854AA0 80242930 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 854AA4 80242934 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 854AA8 80242938 3C014334 */ lui $at, 0x4334 +/* 854AAC 8024293C 44816000 */ mtc1 $at, $f12 +/* 854AB0 80242940 00041880 */ sll $v1, $a0, 2 +/* 854AB4 80242944 00641821 */ addu $v1, $v1, $a0 +/* 854AB8 80242948 00031880 */ sll $v1, $v1, 2 +/* 854ABC 8024294C 00641823 */ subu $v1, $v1, $a0 +/* 854AC0 80242950 000320C0 */ sll $a0, $v1, 3 +/* 854AC4 80242954 00641821 */ addu $v1, $v1, $a0 +/* 854AC8 80242958 000318C0 */ sll $v1, $v1, 3 +/* 854ACC 8024295C 3C01800B */ lui $at, 0x800b +/* 854AD0 80242960 00230821 */ addu $at, $at, $v1 +/* 854AD4 80242964 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 854AD8 80242968 460C0300 */ add.s $f12, $f0, $f12 +/* 854ADC 8024296C 0C00A6C9 */ jal clamp_angle +/* 854AE0 80242970 0040982D */ daddu $s3, $v0, $zero +/* 854AE4 80242974 27B00010 */ addiu $s0, $sp, 0x10 +/* 854AE8 80242978 0200202D */ daddu $a0, $s0, $zero +/* 854AEC 8024297C 27B20014 */ addiu $s2, $sp, 0x14 +/* 854AF0 80242980 0240282D */ daddu $a1, $s2, $zero +/* 854AF4 80242984 3C064170 */ lui $a2, 0x4170 +/* 854AF8 80242988 8E67000C */ lw $a3, 0xc($s3) +/* 854AFC 8024298C 0C00A7E7 */ jal add_vec2D_polar +/* 854B00 80242990 46000506 */ mov.s $f20, $f0 +/* 854B04 80242994 0200202D */ daddu $a0, $s0, $zero +/* 854B08 80242998 3C064120 */ lui $a2, 0x4120 +/* 854B0C 8024299C 4407A000 */ mfc1 $a3, $f20 +/* 854B10 802429A0 0C00A7E7 */ jal add_vec2D_polar +/* 854B14 802429A4 0240282D */ daddu $a1, $s2, $zero +/* 854B18 802429A8 0220202D */ daddu $a0, $s1, $zero +/* 854B1C 802429AC C7A00010 */ lwc1 $f0, 0x10($sp) +/* 854B20 802429B0 4600008D */ trunc.w.s $f2, $f0 +/* 854B24 802429B4 44061000 */ mfc1 $a2, $f2 +/* 854B28 802429B8 0C0B2026 */ jal set_variable +/* 854B2C 802429BC 02C0282D */ daddu $a1, $s6, $zero +/* 854B30 802429C0 0220202D */ daddu $a0, $s1, $zero +/* 854B34 802429C4 4600B08D */ trunc.w.s $f2, $f22 +/* 854B38 802429C8 44061000 */ mfc1 $a2, $f2 +/* 854B3C 802429CC 0C0B2026 */ jal set_variable +/* 854B40 802429D0 0280282D */ daddu $a1, $s4, $zero +/* 854B44 802429D4 0220202D */ daddu $a0, $s1, $zero +/* 854B48 802429D8 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 854B4C 802429DC 4600008D */ trunc.w.s $f2, $f0 +/* 854B50 802429E0 44061000 */ mfc1 $a2, $f2 +/* 854B54 802429E4 0C0B2026 */ jal set_variable +/* 854B58 802429E8 02A0282D */ daddu $a1, $s5, $zero +/* 854B5C 802429EC 8FBF0034 */ lw $ra, 0x34($sp) +/* 854B60 802429F0 8FB60030 */ lw $s6, 0x30($sp) +/* 854B64 802429F4 8FB5002C */ lw $s5, 0x2c($sp) +/* 854B68 802429F8 8FB40028 */ lw $s4, 0x28($sp) +/* 854B6C 802429FC 8FB30024 */ lw $s3, 0x24($sp) +/* 854B70 80242A00 8FB20020 */ lw $s2, 0x20($sp) +/* 854B74 80242A04 8FB1001C */ lw $s1, 0x1c($sp) +/* 854B78 80242A08 8FB00018 */ lw $s0, 0x18($sp) +/* 854B7C 80242A0C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 854B80 80242A10 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 854B84 80242A14 24020002 */ addiu $v0, $zero, 2 +/* 854B88 80242A18 03E00008 */ jr $ra +/* 854B8C 80242A1C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242A20.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242A20.s new file mode 100644 index 0000000000..619cebad0b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242A20.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A20 +/* 854B90 80242A20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 854B94 80242A24 AFB00010 */ sw $s0, 0x10($sp) +/* 854B98 80242A28 0080802D */ daddu $s0, $a0, $zero +/* 854B9C 80242A2C AFBF0014 */ sw $ra, 0x14($sp) +/* 854BA0 80242A30 0C00EABB */ jal get_npc_unsafe +/* 854BA4 80242A34 8E04008C */ lw $a0, 0x8c($s0) +/* 854BA8 80242A38 0040282D */ daddu $a1, $v0, $zero +/* 854BAC 80242A3C 8E040094 */ lw $a0, 0x94($s0) +/* 854BB0 80242A40 8CA30028 */ lw $v1, 0x28($a1) +/* 854BB4 80242A44 ACA40028 */ sw $a0, 0x28($a1) +/* 854BB8 80242A48 8FBF0014 */ lw $ra, 0x14($sp) +/* 854BBC 80242A4C 8FB00010 */ lw $s0, 0x10($sp) +/* 854BC0 80242A50 24020002 */ addiu $v0, $zero, 2 +/* 854BC4 80242A54 3C018025 */ lui $at, 0x8025 +/* 854BC8 80242A58 AC232D38 */ sw $v1, 0x2d38($at) +/* 854BCC 80242A5C 03E00008 */ jr $ra +/* 854BD0 80242A60 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242A64.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242A64.s new file mode 100644 index 0000000000..46c6134511 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242A64.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A64 +/* 854BD4 80242A64 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 854BD8 80242A68 AFBF0010 */ sw $ra, 0x10($sp) +/* 854BDC 80242A6C 0C00EABB */ jal get_npc_unsafe +/* 854BE0 80242A70 8C84008C */ lw $a0, 0x8c($a0) +/* 854BE4 80242A74 3C038025 */ lui $v1, 0x8025 +/* 854BE8 80242A78 8C632D38 */ lw $v1, 0x2d38($v1) +/* 854BEC 80242A7C AC430028 */ sw $v1, 0x28($v0) +/* 854BF0 80242A80 8FBF0010 */ lw $ra, 0x10($sp) +/* 854BF4 80242A84 24020002 */ addiu $v0, $zero, 2 +/* 854BF8 80242A88 03E00008 */ jr $ra +/* 854BFC 80242A8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242A90.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242A90.s new file mode 100644 index 0000000000..566d8e8c1e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242A90.s @@ -0,0 +1,129 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A90 +/* 854C00 80242A90 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 854C04 80242A94 AFB20018 */ sw $s2, 0x18($sp) +/* 854C08 80242A98 0080902D */ daddu $s2, $a0, $zero +/* 854C0C 80242A9C AFBF0028 */ sw $ra, 0x28($sp) +/* 854C10 80242AA0 AFB50024 */ sw $s5, 0x24($sp) +/* 854C14 80242AA4 AFB40020 */ sw $s4, 0x20($sp) +/* 854C18 80242AA8 AFB3001C */ sw $s3, 0x1c($sp) +/* 854C1C 80242AAC AFB10014 */ sw $s1, 0x14($sp) +/* 854C20 80242AB0 AFB00010 */ sw $s0, 0x10($sp) +/* 854C24 80242AB4 F7BA0048 */ sdc1 $f26, 0x48($sp) +/* 854C28 80242AB8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 854C2C 80242ABC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 854C30 80242AC0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 854C34 80242AC4 8E50000C */ lw $s0, 0xc($s2) +/* 854C38 80242AC8 8E050000 */ lw $a1, ($s0) +/* 854C3C 80242ACC 0C0B1EAF */ jal get_variable +/* 854C40 80242AD0 26100004 */ addiu $s0, $s0, 4 +/* 854C44 80242AD4 8E130000 */ lw $s3, ($s0) +/* 854C48 80242AD8 26100004 */ addiu $s0, $s0, 4 +/* 854C4C 80242ADC 0000202D */ daddu $a0, $zero, $zero +/* 854C50 80242AE0 8E140000 */ lw $s4, ($s0) +/* 854C54 80242AE4 8E150004 */ lw $s5, 4($s0) +/* 854C58 80242AE8 0C00EAD2 */ jal get_npc_safe +/* 854C5C 80242AEC 0040882D */ daddu $s1, $v0, $zero +/* 854C60 80242AF0 0040802D */ daddu $s0, $v0, $zero +/* 854C64 80242AF4 2E220005 */ sltiu $v0, $s1, 5 +/* 854C68 80242AF8 10400024 */ beqz $v0, .L80242B8C +/* 854C6C 80242AFC 00111080 */ sll $v0, $s1, 2 +/* 854C70 80242B00 3C018025 */ lui $at, 0x8025 +/* 854C74 80242B04 00220821 */ addu $at, $at, $v0 +/* 854C78 80242B08 8C222950 */ lw $v0, 0x2950($at) +/* 854C7C 80242B0C 00400008 */ jr $v0 +/* 854C80 80242B10 00000000 */ nop +/* 854C84 80242B14 3C01425C */ lui $at, 0x425c +/* 854C88 80242B18 4481D000 */ mtc1 $at, $f26 +/* 854C8C 80242B1C 08090AEB */ j .L80242BAC +/* 854C90 80242B20 2A220003 */ slti $v0, $s1, 3 +/* 854C94 80242B24 3C0142AA */ lui $at, 0x42aa +/* 854C98 80242B28 4481D000 */ mtc1 $at, $f26 +/* 854C9C 80242B2C 08090AEB */ j .L80242BAC +/* 854CA0 80242B30 2A220003 */ slti $v0, $s1, 3 +/* 854CA4 80242B34 3C0141C8 */ lui $at, 0x41c8 +/* 854CA8 80242B38 4481D000 */ mtc1 $at, $f26 +/* 854CAC 80242B3C 08090AEB */ j .L80242BAC +/* 854CB0 80242B40 2A220003 */ slti $v0, $s1, 3 +/* 854CB4 80242B44 3C01C393 */ lui $at, 0xc393 +/* 854CB8 80242B48 34218000 */ ori $at, $at, 0x8000 +/* 854CBC 80242B4C 4481C000 */ mtc1 $at, $f24 +/* 854CC0 80242B50 3C01C120 */ lui $at, 0xc120 +/* 854CC4 80242B54 4481B000 */ mtc1 $at, $f22 +/* 854CC8 80242B58 3C0143C8 */ lui $at, 0x43c8 +/* 854CCC 80242B5C 4481A000 */ mtc1 $at, $f20 +/* 854CD0 80242B60 08090AEB */ j .L80242BAC +/* 854CD4 80242B64 2A220003 */ slti $v0, $s1, 3 +/* 854CD8 80242B68 3C01C38E */ lui $at, 0xc38e +/* 854CDC 80242B6C 34218000 */ ori $at, $at, 0x8000 +/* 854CE0 80242B70 4481C000 */ mtc1 $at, $f24 +/* 854CE4 80242B74 3C01C120 */ lui $at, 0xc120 +/* 854CE8 80242B78 4481B000 */ mtc1 $at, $f22 +/* 854CEC 80242B7C 3C0143BE */ lui $at, 0x43be +/* 854CF0 80242B80 4481A000 */ mtc1 $at, $f20 +/* 854CF4 80242B84 08090AEB */ j .L80242BAC +/* 854CF8 80242B88 2A220003 */ slti $v0, $s1, 3 +.L80242B8C: +/* 854CFC 80242B8C 3C01C393 */ lui $at, 0xc393 +/* 854D00 80242B90 34218000 */ ori $at, $at, 0x8000 +/* 854D04 80242B94 4481C000 */ mtc1 $at, $f24 +/* 854D08 80242B98 3C01C120 */ lui $at, 0xc120 +/* 854D0C 80242B9C 4481B000 */ mtc1 $at, $f22 +/* 854D10 80242BA0 3C0143D2 */ lui $at, 0x43d2 +/* 854D14 80242BA4 4481A000 */ mtc1 $at, $f20 +/* 854D18 80242BA8 2A220003 */ slti $v0, $s1, 3 +.L80242BAC: +/* 854D1C 80242BAC 10400019 */ beqz $v0, .L80242C14 +/* 854D20 80242BB0 0240202D */ daddu $a0, $s2, $zero +/* 854D24 80242BB4 C614000C */ lwc1 $f20, 0xc($s0) +/* 854D28 80242BB8 4600A507 */ neg.s $f20, $f20 +/* 854D2C 80242BBC 0C00A8BB */ jal sin_deg +/* 854D30 80242BC0 4600A306 */ mov.s $f12, $f20 +/* 854D34 80242BC4 461A0002 */ mul.s $f0, $f0, $f26 +/* 854D38 80242BC8 00000000 */ nop +/* 854D3C 80242BCC C6020038 */ lwc1 $f2, 0x38($s0) +/* 854D40 80242BD0 3C0141F0 */ lui $at, 0x41f0 +/* 854D44 80242BD4 44812000 */ mtc1 $at, $f4 +/* 854D48 80242BD8 00000000 */ nop +/* 854D4C 80242BDC 46041080 */ add.s $f2, $f2, $f4 +/* 854D50 80242BE0 46001600 */ add.s $f24, $f2, $f0 +/* 854D54 80242BE4 0C00A8D4 */ jal cos_deg +/* 854D58 80242BE8 4600A306 */ mov.s $f12, $f20 +/* 854D5C 80242BEC 461A0002 */ mul.s $f0, $f0, $f26 +/* 854D60 80242BF0 00000000 */ nop +/* 854D64 80242BF4 C604003C */ lwc1 $f4, 0x3c($s0) +/* 854D68 80242BF8 3C014248 */ lui $at, 0x4248 +/* 854D6C 80242BFC 44811000 */ mtc1 $at, $f2 +/* 854D70 80242C00 00000000 */ nop +/* 854D74 80242C04 46022580 */ add.s $f22, $f4, $f2 +/* 854D78 80242C08 C6020040 */ lwc1 $f2, 0x40($s0) +/* 854D7C 80242C0C 46001500 */ add.s $f20, $f2, $f0 +/* 854D80 80242C10 0240202D */ daddu $a0, $s2, $zero +.L80242C14: +/* 854D84 80242C14 4406C000 */ mfc1 $a2, $f24 +/* 854D88 80242C18 0C0B2190 */ jal set_float_variable +/* 854D8C 80242C1C 0260282D */ daddu $a1, $s3, $zero +/* 854D90 80242C20 0240202D */ daddu $a0, $s2, $zero +/* 854D94 80242C24 4406B000 */ mfc1 $a2, $f22 +/* 854D98 80242C28 0C0B2190 */ jal set_float_variable +/* 854D9C 80242C2C 0280282D */ daddu $a1, $s4, $zero +/* 854DA0 80242C30 0240202D */ daddu $a0, $s2, $zero +/* 854DA4 80242C34 4406A000 */ mfc1 $a2, $f20 +/* 854DA8 80242C38 0C0B2190 */ jal set_float_variable +/* 854DAC 80242C3C 02A0282D */ daddu $a1, $s5, $zero +/* 854DB0 80242C40 8FBF0028 */ lw $ra, 0x28($sp) +/* 854DB4 80242C44 8FB50024 */ lw $s5, 0x24($sp) +/* 854DB8 80242C48 8FB40020 */ lw $s4, 0x20($sp) +/* 854DBC 80242C4C 8FB3001C */ lw $s3, 0x1c($sp) +/* 854DC0 80242C50 8FB20018 */ lw $s2, 0x18($sp) +/* 854DC4 80242C54 8FB10014 */ lw $s1, 0x14($sp) +/* 854DC8 80242C58 8FB00010 */ lw $s0, 0x10($sp) +/* 854DCC 80242C5C D7BA0048 */ ldc1 $f26, 0x48($sp) +/* 854DD0 80242C60 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 854DD4 80242C64 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 854DD8 80242C68 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 854DDC 80242C6C 24020002 */ addiu $v0, $zero, 2 +/* 854DE0 80242C70 03E00008 */ jr $ra +/* 854DE4 80242C74 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242C78.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242C78.s new file mode 100644 index 0000000000..9304db0a05 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242C78.s @@ -0,0 +1,146 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C78 +/* 854DE8 80242C78 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 854DEC 80242C7C AFB3001C */ sw $s3, 0x1c($sp) +/* 854DF0 80242C80 0080982D */ daddu $s3, $a0, $zero +/* 854DF4 80242C84 AFB00010 */ sw $s0, 0x10($sp) +/* 854DF8 80242C88 00A0802D */ daddu $s0, $a1, $zero +/* 854DFC 80242C8C AFBF0020 */ sw $ra, 0x20($sp) +/* 854E00 80242C90 AFB20018 */ sw $s2, 0x18($sp) +/* 854E04 80242C94 AFB10014 */ sw $s1, 0x14($sp) +/* 854E08 80242C98 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 854E0C 80242C9C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 854E10 80242CA0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 854E14 80242CA4 8E72000C */ lw $s2, 0xc($s3) +/* 854E18 80242CA8 0C00EAD2 */ jal get_npc_safe +/* 854E1C 80242CAC 0000202D */ daddu $a0, $zero, $zero +/* 854E20 80242CB0 12000010 */ beqz $s0, .L80242CF4 +/* 854E24 80242CB4 0040882D */ daddu $s1, $v0, $zero +/* 854E28 80242CB8 8E450000 */ lw $a1, ($s2) +/* 854E2C 80242CBC 0C0B1EAF */ jal get_variable +/* 854E30 80242CC0 0260202D */ daddu $a0, $s3, $zero +/* 854E34 80242CC4 0040182D */ daddu $v1, $v0, $zero +/* 854E38 80242CC8 10600006 */ beqz $v1, .L80242CE4 +/* 854E3C 80242CCC AE630070 */ sw $v1, 0x70($s3) +/* 854E40 80242CD0 24020001 */ addiu $v0, $zero, 1 +/* 854E44 80242CD4 10620005 */ beq $v1, $v0, .L80242CEC +/* 854E48 80242CD8 24020019 */ addiu $v0, $zero, 0x19 +/* 854E4C 80242CDC 08090B3D */ j .L80242CF4 +/* 854E50 80242CE0 AE620074 */ sw $v0, 0x74($s3) +.L80242CE4: +/* 854E54 80242CE4 08090B3C */ j .L80242CF0 +/* 854E58 80242CE8 24020037 */ addiu $v0, $zero, 0x37 +.L80242CEC: +/* 854E5C 80242CEC 24020055 */ addiu $v0, $zero, 0x55 +.L80242CF0: +/* 854E60 80242CF0 AE620074 */ sw $v0, 0x74($s3) +.L80242CF4: +/* 854E64 80242CF4 C634000C */ lwc1 $f20, 0xc($s1) +/* 854E68 80242CF8 C6760074 */ lwc1 $f22, 0x74($s3) +/* 854E6C 80242CFC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 854E70 80242D00 4600A507 */ neg.s $f20, $f20 +/* 854E74 80242D04 0C00A8BB */ jal sin_deg +/* 854E78 80242D08 4600A306 */ mov.s $f12, $f20 +/* 854E7C 80242D0C 46160002 */ mul.s $f0, $f0, $f22 +/* 854E80 80242D10 00000000 */ nop +/* 854E84 80242D14 C6220038 */ lwc1 $f2, 0x38($s1) +/* 854E88 80242D18 3C0141F0 */ lui $at, 0x41f0 +/* 854E8C 80242D1C 44812000 */ mtc1 $at, $f4 +/* 854E90 80242D20 00000000 */ nop +/* 854E94 80242D24 46041080 */ add.s $f2, $f2, $f4 +/* 854E98 80242D28 46001600 */ add.s $f24, $f2, $f0 +/* 854E9C 80242D2C 0C00A8D4 */ jal cos_deg +/* 854EA0 80242D30 4600A306 */ mov.s $f12, $f20 +/* 854EA4 80242D34 46160002 */ mul.s $f0, $f0, $f22 +/* 854EA8 80242D38 00000000 */ nop +/* 854EAC 80242D3C 24020001 */ addiu $v0, $zero, 1 +/* 854EB0 80242D40 C6220040 */ lwc1 $f2, 0x40($s1) +/* 854EB4 80242D44 C624003C */ lwc1 $f4, 0x3c($s1) +/* 854EB8 80242D48 46001580 */ add.s $f22, $f2, $f0 +/* 854EBC 80242D4C 3C014248 */ lui $at, 0x4248 +/* 854EC0 80242D50 44810000 */ mtc1 $at, $f0 +/* 854EC4 80242D54 8E640070 */ lw $a0, 0x70($s3) +/* 854EC8 80242D58 1082001C */ beq $a0, $v0, .L80242DCC +/* 854ECC 80242D5C 46002500 */ add.s $f20, $f4, $f0 +/* 854ED0 80242D60 28820002 */ slti $v0, $a0, 2 +/* 854ED4 80242D64 10400005 */ beqz $v0, .L80242D7C +/* 854ED8 80242D68 24020002 */ addiu $v0, $zero, 2 +/* 854EDC 80242D6C 10800007 */ beqz $a0, .L80242D8C +/* 854EE0 80242D70 0000102D */ daddu $v0, $zero, $zero +/* 854EE4 80242D74 08090B97 */ j .L80242E5C +/* 854EE8 80242D78 00000000 */ nop +.L80242D7C: +/* 854EEC 80242D7C 10820027 */ beq $a0, $v0, .L80242E1C +/* 854EF0 80242D80 0000102D */ daddu $v0, $zero, $zero +/* 854EF4 80242D84 08090B97 */ j .L80242E5C +/* 854EF8 80242D88 00000000 */ nop +.L80242D8C: +/* 854EFC 80242D8C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 854F00 80242D90 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 854F04 80242D94 3C030001 */ lui $v1, 1 +/* 854F08 80242D98 E4580028 */ swc1 $f24, 0x28($v0) +/* 854F0C 80242D9C E454002C */ swc1 $f20, 0x2c($v0) +/* 854F10 80242DA0 E4560030 */ swc1 $f22, 0x30($v0) +/* 854F14 80242DA4 C6200038 */ lwc1 $f0, 0x38($s1) +/* 854F18 80242DA8 C622003C */ lwc1 $f2, 0x3c($s1) +/* 854F1C 80242DAC 8E220000 */ lw $v0, ($s1) +/* 854F20 80242DB0 C6240040 */ lwc1 $f4, 0x40($s1) +/* 854F24 80242DB4 00431025 */ or $v0, $v0, $v1 +/* 854F28 80242DB8 E620006C */ swc1 $f0, 0x6c($s1) +/* 854F2C 80242DBC E6220070 */ swc1 $f2, 0x70($s1) +/* 854F30 80242DC0 E6240074 */ swc1 $f4, 0x74($s1) +/* 854F34 80242DC4 08090B96 */ j .L80242E58 +/* 854F38 80242DC8 AE220000 */ sw $v0, ($s1) +.L80242DCC: +/* 854F3C 80242DCC 0C00EAD2 */ jal get_npc_safe +/* 854F40 80242DD0 2404FFFC */ addiu $a0, $zero, -4 +/* 854F44 80242DD4 0040202D */ daddu $a0, $v0, $zero +/* 854F48 80242DD8 54800003 */ bnel $a0, $zero, .L80242DE8 +/* 854F4C 80242DDC E4980038 */ swc1 $f24, 0x38($a0) +/* 854F50 80242DE0 08090B97 */ j .L80242E5C +/* 854F54 80242DE4 24020002 */ addiu $v0, $zero, 2 +.L80242DE8: +/* 854F58 80242DE8 4600C006 */ mov.s $f0, $f24 +/* 854F5C 80242DEC E494003C */ swc1 $f20, 0x3c($a0) +/* 854F60 80242DF0 4600A086 */ mov.s $f2, $f20 +/* 854F64 80242DF4 E4960040 */ swc1 $f22, 0x40($a0) +/* 854F68 80242DF8 4600B106 */ mov.s $f4, $f22 +/* 854F6C 80242DFC 8C820000 */ lw $v0, ($a0) +/* 854F70 80242E00 3C030001 */ lui $v1, 1 +/* 854F74 80242E04 E480006C */ swc1 $f0, 0x6c($a0) +/* 854F78 80242E08 E4820070 */ swc1 $f2, 0x70($a0) +/* 854F7C 80242E0C E4840074 */ swc1 $f4, 0x74($a0) +/* 854F80 80242E10 00431025 */ or $v0, $v0, $v1 +/* 854F84 80242E14 08090B96 */ j .L80242E58 +/* 854F88 80242E18 AC820000 */ sw $v0, ($a0) +.L80242E1C: +/* 854F8C 80242E1C 0C00EAD2 */ jal get_npc_safe +/* 854F90 80242E20 24040001 */ addiu $a0, $zero, 1 +/* 854F94 80242E24 E4580038 */ swc1 $f24, 0x38($v0) +/* 854F98 80242E28 4600C006 */ mov.s $f0, $f24 +/* 854F9C 80242E2C E454003C */ swc1 $f20, 0x3c($v0) +/* 854FA0 80242E30 4600A086 */ mov.s $f2, $f20 +/* 854FA4 80242E34 E4560040 */ swc1 $f22, 0x40($v0) +/* 854FA8 80242E38 4600B106 */ mov.s $f4, $f22 +/* 854FAC 80242E3C 8C430000 */ lw $v1, ($v0) +/* 854FB0 80242E40 3C040001 */ lui $a0, 1 +/* 854FB4 80242E44 E440006C */ swc1 $f0, 0x6c($v0) +/* 854FB8 80242E48 E4420070 */ swc1 $f2, 0x70($v0) +/* 854FBC 80242E4C E4440074 */ swc1 $f4, 0x74($v0) +/* 854FC0 80242E50 00641825 */ or $v1, $v1, $a0 +/* 854FC4 80242E54 AC430000 */ sw $v1, ($v0) +.L80242E58: +/* 854FC8 80242E58 0000102D */ daddu $v0, $zero, $zero +.L80242E5C: +/* 854FCC 80242E5C 8FBF0020 */ lw $ra, 0x20($sp) +/* 854FD0 80242E60 8FB3001C */ lw $s3, 0x1c($sp) +/* 854FD4 80242E64 8FB20018 */ lw $s2, 0x18($sp) +/* 854FD8 80242E68 8FB10014 */ lw $s1, 0x14($sp) +/* 854FDC 80242E6C 8FB00010 */ lw $s0, 0x10($sp) +/* 854FE0 80242E70 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 854FE4 80242E74 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 854FE8 80242E78 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 854FEC 80242E7C 03E00008 */ jr $ra +/* 854FF0 80242E80 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80242E84.s b/asm/nonmatchings/world/area_mac/mac_05/func_80242E84.s new file mode 100644 index 0000000000..d49a7fbf34 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80242E84.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E84 +/* 854FF4 80242E84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 854FF8 80242E88 AFB20018 */ sw $s2, 0x18($sp) +/* 854FFC 80242E8C 0080902D */ daddu $s2, $a0, $zero +/* 855000 80242E90 AFB00010 */ sw $s0, 0x10($sp) +/* 855004 80242E94 00A0802D */ daddu $s0, $a1, $zero +/* 855008 80242E98 AFBF0020 */ sw $ra, 0x20($sp) +/* 85500C 80242E9C AFB3001C */ sw $s3, 0x1c($sp) +/* 855010 80242EA0 AFB10014 */ sw $s1, 0x14($sp) +/* 855014 80242EA4 8E53000C */ lw $s3, 0xc($s2) +/* 855018 80242EA8 0C00EAD2 */ jal get_npc_safe +/* 85501C 80242EAC 0000202D */ daddu $a0, $zero, $zero +/* 855020 80242EB0 12000018 */ beqz $s0, .L80242F14 +/* 855024 80242EB4 0040882D */ daddu $s1, $v0, $zero +/* 855028 80242EB8 8E650000 */ lw $a1, ($s3) +/* 85502C 80242EBC 0C0B1EAF */ jal get_variable +/* 855030 80242EC0 0240202D */ daddu $a0, $s2, $zero +/* 855034 80242EC4 14400005 */ bnez $v0, .L80242EDC +/* 855038 80242EC8 AE420070 */ sw $v0, 0x70($s2) +/* 85503C 80242ECC 2402005A */ addiu $v0, $zero, 0x5a +/* 855040 80242ED0 AE400078 */ sw $zero, 0x78($s2) +/* 855044 80242ED4 08090BC5 */ j .L80242F14 +/* 855048 80242ED8 AE420074 */ sw $v0, 0x74($s2) +.L80242EDC: +/* 85504C 80242EDC 3C014422 */ lui $at, 0x4422 +/* 855050 80242EE0 34218000 */ ori $at, $at, 0x8000 +/* 855054 80242EE4 44810000 */ mtc1 $at, $f0 +/* 855058 80242EE8 3C01C1F0 */ lui $at, 0xc1f0 +/* 85505C 80242EEC 44811000 */ mtc1 $at, $f2 +/* 855060 80242EF0 3C0143BA */ lui $at, 0x43ba +/* 855064 80242EF4 44812000 */ mtc1 $at, $f4 +/* 855068 80242EF8 2402000A */ addiu $v0, $zero, 0xa +/* 85506C 80242EFC AE420078 */ sw $v0, 0x78($s2) +/* 855070 80242F00 24020122 */ addiu $v0, $zero, 0x122 +/* 855074 80242F04 AE420074 */ sw $v0, 0x74($s2) +/* 855078 80242F08 E6200038 */ swc1 $f0, 0x38($s1) +/* 85507C 80242F0C E622003C */ swc1 $f2, 0x3c($s1) +/* 855080 80242F10 E6240040 */ swc1 $f4, 0x40($s1) +.L80242F14: +/* 855084 80242F14 8E430078 */ lw $v1, 0x78($s2) +/* 855088 80242F18 24040001 */ addiu $a0, $zero, 1 +/* 85508C 80242F1C 10640022 */ beq $v1, $a0, .L80242FA8 +/* 855090 80242F20 28620002 */ slti $v0, $v1, 2 +/* 855094 80242F24 10400005 */ beqz $v0, .L80242F3C +/* 855098 80242F28 2402000A */ addiu $v0, $zero, 0xa +/* 85509C 80242F2C 10600009 */ beqz $v1, .L80242F54 +/* 8550A0 80242F30 0000102D */ daddu $v0, $zero, $zero +/* 8550A4 80242F34 08090C1B */ j .L8024306C +/* 8550A8 80242F38 00000000 */ nop +.L80242F3C: +/* 8550AC 80242F3C 1062002C */ beq $v1, $v0, .L80242FF0 +/* 8550B0 80242F40 2402000B */ addiu $v0, $zero, 0xb +/* 8550B4 80242F44 1062003D */ beq $v1, $v0, .L8024303C +/* 8550B8 80242F48 0000102D */ daddu $v0, $zero, $zero +/* 8550BC 80242F4C 08090C1B */ j .L8024306C +/* 8550C0 80242F50 00000000 */ nop +.L80242F54: +/* 8550C4 80242F54 3C0200B6 */ lui $v0, 0xb6 +/* 8550C8 80242F58 C624000C */ lwc1 $f4, 0xc($s1) +/* 8550CC 80242F5C 3C013F80 */ lui $at, 0x3f80 +/* 8550D0 80242F60 44810000 */ mtc1 $at, $f0 +/* 8550D4 80242F64 3C014040 */ lui $at, 0x4040 +/* 8550D8 80242F68 44811000 */ mtc1 $at, $f2 +/* 8550DC 80242F6C 46002101 */ sub.s $f4, $f4, $f0 +/* 8550E0 80242F70 C6200038 */ lwc1 $f0, 0x38($s1) +/* 8550E4 80242F74 34420001 */ ori $v0, $v0, 1 +/* 8550E8 80242F78 46020000 */ add.s $f0, $f0, $f2 +/* 8550EC 80242F7C AE220028 */ sw $v0, 0x28($s1) +/* 8550F0 80242F80 E624000C */ swc1 $f4, 0xc($s1) +/* 8550F4 80242F84 E6200038 */ swc1 $f0, 0x38($s1) +/* 8550F8 80242F88 8E420074 */ lw $v0, 0x74($s2) +/* 8550FC 80242F8C 2442FFFF */ addiu $v0, $v0, -1 +/* 855100 80242F90 1C400035 */ bgtz $v0, .L80243068 +/* 855104 80242F94 AE420074 */ sw $v0, 0x74($s2) +/* 855108 80242F98 240200C8 */ addiu $v0, $zero, 0xc8 +/* 85510C 80242F9C AE440078 */ sw $a0, 0x78($s2) +/* 855110 80242FA0 08090C1A */ j .L80243068 +/* 855114 80242FA4 AE420074 */ sw $v0, 0x74($s2) +.L80242FA8: +/* 855118 80242FA8 0000202D */ daddu $a0, $zero, $zero +/* 85511C 80242FAC 3C05FAA2 */ lui $a1, 0xfaa2 +/* 855120 80242FB0 0C0B1EAF */ jal get_variable +/* 855124 80242FB4 34A5B581 */ ori $a1, $a1, 0xb581 +/* 855128 80242FB8 1040002C */ beqz $v0, .L8024306C +/* 85512C 80242FBC 0000102D */ daddu $v0, $zero, $zero +/* 855130 80242FC0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 855134 80242FC4 3C014040 */ lui $at, 0x4040 +/* 855138 80242FC8 44811000 */ mtc1 $at, $f2 +/* 85513C 80242FCC 00000000 */ nop +/* 855140 80242FD0 46020000 */ add.s $f0, $f0, $f2 +/* 855144 80242FD4 E6200038 */ swc1 $f0, 0x38($s1) +/* 855148 80242FD8 8E420074 */ lw $v0, 0x74($s2) +/* 85514C 80242FDC 2442FFFF */ addiu $v0, $v0, -1 +/* 855150 80242FE0 1C400021 */ bgtz $v0, .L80243068 +/* 855154 80242FE4 AE420074 */ sw $v0, 0x74($s2) +/* 855158 80242FE8 08090C1B */ j .L8024306C +/* 85515C 80242FEC 24020001 */ addiu $v0, $zero, 1 +.L80242FF0: +/* 855160 80242FF0 C6220038 */ lwc1 $f2, 0x38($s1) +/* 855164 80242FF4 3C014040 */ lui $at, 0x4040 +/* 855168 80242FF8 44810000 */ mtc1 $at, $f0 +/* 85516C 80242FFC 00000000 */ nop +/* 855170 80243000 46001081 */ sub.s $f2, $f2, $f0 +/* 855174 80243004 3C014387 */ lui $at, 0x4387 +/* 855178 80243008 44810000 */ mtc1 $at, $f0 +/* 85517C 8024300C 00000000 */ nop +/* 855180 80243010 E620000C */ swc1 $f0, 0xc($s1) +/* 855184 80243014 E6220038 */ swc1 $f2, 0x38($s1) +/* 855188 80243018 8E420074 */ lw $v0, 0x74($s2) +/* 85518C 8024301C 2442FFFF */ addiu $v0, $v0, -1 +/* 855190 80243020 1C400011 */ bgtz $v0, .L80243068 +/* 855194 80243024 AE420074 */ sw $v0, 0x74($s2) +/* 855198 80243028 2402000B */ addiu $v0, $zero, 0xb +/* 85519C 8024302C AE420078 */ sw $v0, 0x78($s2) +/* 8551A0 80243030 2402005A */ addiu $v0, $zero, 0x5a +/* 8551A4 80243034 08090C1A */ j .L80243068 +/* 8551A8 80243038 AE420074 */ sw $v0, 0x74($s2) +.L8024303C: +/* 8551AC 8024303C C620000C */ lwc1 $f0, 0xc($s1) +/* 8551B0 80243040 3C013F80 */ lui $at, 0x3f80 +/* 8551B4 80243044 44811000 */ mtc1 $at, $f2 +/* 8551B8 80243048 00000000 */ nop +/* 8551BC 8024304C 46020001 */ sub.s $f0, $f0, $f2 +/* 8551C0 80243050 E620000C */ swc1 $f0, 0xc($s1) +/* 8551C4 80243054 8E430074 */ lw $v1, 0x74($s2) +/* 8551C8 80243058 24020001 */ addiu $v0, $zero, 1 +/* 8551CC 8024305C 2463FFFF */ addiu $v1, $v1, -1 +/* 8551D0 80243060 18600002 */ blez $v1, .L8024306C +/* 8551D4 80243064 AE430074 */ sw $v1, 0x74($s2) +.L80243068: +/* 8551D8 80243068 0000102D */ daddu $v0, $zero, $zero +.L8024306C: +/* 8551DC 8024306C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8551E0 80243070 8FB3001C */ lw $s3, 0x1c($sp) +/* 8551E4 80243074 8FB20018 */ lw $s2, 0x18($sp) +/* 8551E8 80243078 8FB10014 */ lw $s1, 0x14($sp) +/* 8551EC 8024307C 8FB00010 */ lw $s0, 0x10($sp) +/* 8551F0 80243080 03E00008 */ jr $ra +/* 8551F4 80243084 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243088_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243088_852170.s new file mode 100644 index 0000000000..b76d36a544 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243088_852170.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243088_8551F8 +/* 8551F8 80243088 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8551FC 8024308C AFBF0010 */ sw $ra, 0x10($sp) +/* 855200 80243090 8C82000C */ lw $v0, 0xc($a0) +/* 855204 80243094 3C068016 */ lui $a2, 0x8016 +/* 855208 80243098 84C6A552 */ lh $a2, -0x5aae($a2) +/* 85520C 8024309C 0C0B2026 */ jal set_variable +/* 855210 802430A0 8C450000 */ lw $a1, ($v0) +/* 855214 802430A4 8FBF0010 */ lw $ra, 0x10($sp) +/* 855218 802430A8 24020002 */ addiu $v0, $zero, 2 +/* 85521C 802430AC 03E00008 */ jr $ra +/* 855220 802430B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802430B4.s b/asm/nonmatchings/world/area_mac/mac_05/func_802430B4.s new file mode 100644 index 0000000000..47f3bf8969 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802430B4.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430B4 +/* 855224 802430B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 855228 802430B8 AFB20038 */ sw $s2, 0x38($sp) +/* 85522C 802430BC 0080902D */ daddu $s2, $a0, $zero +/* 855230 802430C0 AFBF003C */ sw $ra, 0x3c($sp) +/* 855234 802430C4 AFB10034 */ sw $s1, 0x34($sp) +/* 855238 802430C8 AFB00030 */ sw $s0, 0x30($sp) +/* 85523C 802430CC F7B40040 */ sdc1 $f20, 0x40($sp) +/* 855240 802430D0 8E51000C */ lw $s1, 0xc($s2) +/* 855244 802430D4 0C00EAD2 */ jal get_npc_safe +/* 855248 802430D8 2404FFFC */ addiu $a0, $zero, -4 +/* 85524C 802430DC 2410FFFF */ addiu $s0, $zero, -1 +/* 855250 802430E0 3C038016 */ lui $v1, 0x8016 +/* 855254 802430E4 8463A568 */ lh $v1, -0x5a98($v1) +/* 855258 802430E8 04600025 */ bltz $v1, .L80243180 +/* 85525C 802430EC 0040202D */ daddu $a0, $v0, $zero +/* 855260 802430F0 3C014130 */ lui $at, 0x4130 +/* 855264 802430F4 44812000 */ mtc1 $at, $f4 +/* 855268 802430F8 C4800038 */ lwc1 $f0, 0x38($a0) +/* 85526C 802430FC 3C014140 */ lui $at, 0x4140 +/* 855270 80243100 4481A000 */ mtc1 $at, $f20 +/* 855274 80243104 27A2002C */ addiu $v0, $sp, 0x2c +/* 855278 80243108 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 85527C 8024310C E7A00020 */ swc1 $f0, 0x20($sp) +/* 855280 80243110 C480003C */ lwc1 $f0, 0x3c($a0) +/* 855284 80243114 C4820040 */ lwc1 $f2, 0x40($a0) +/* 855288 80243118 46040000 */ add.s $f0, $f0, $f4 +/* 85528C 8024311C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 855290 80243120 E7A20028 */ swc1 $f2, 0x28($sp) +/* 855294 80243124 E7A00024 */ swc1 $f0, 0x24($sp) +/* 855298 80243128 AFA20010 */ sw $v0, 0x10($sp) +/* 85529C 8024312C C480000C */ lwc1 $f0, 0xc($a0) +/* 8552A0 80243130 27A50020 */ addiu $a1, $sp, 0x20 +/* 8552A4 80243134 E7A00014 */ swc1 $f0, 0x14($sp) +/* 8552A8 80243138 848200A6 */ lh $v0, 0xa6($a0) +/* 8552AC 8024313C 27A60024 */ addiu $a2, $sp, 0x24 +/* 8552B0 80243140 44820000 */ mtc1 $v0, $f0 +/* 8552B4 80243144 00000000 */ nop +/* 8552B8 80243148 46800020 */ cvt.s.w $f0, $f0 +/* 8552BC 8024314C E7A00018 */ swc1 $f0, 0x18($sp) +/* 8552C0 80243150 8C840080 */ lw $a0, 0x80($a0) +/* 8552C4 80243154 0C0371DE */ jal func_800DC778 +/* 8552C8 80243158 27A70028 */ addiu $a3, $sp, 0x28 +/* 8552CC 8024315C 10400009 */ beqz $v0, .L80243184 +/* 8552D0 80243160 0240202D */ daddu $a0, $s2, $zero +/* 8552D4 80243164 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8552D8 80243168 4614003E */ c.le.s $f0, $f20 +/* 8552DC 8024316C 00000000 */ nop +/* 8552E0 80243170 45000004 */ bc1f .L80243184 +/* 8552E4 80243174 00000000 */ nop +/* 8552E8 80243178 3C108011 */ lui $s0, 0x8011 +/* 8552EC 8024317C 8E10C978 */ lw $s0, -0x3688($s0) +.L80243180: +/* 8552F0 80243180 0240202D */ daddu $a0, $s2, $zero +.L80243184: +/* 8552F4 80243184 8E250000 */ lw $a1, ($s1) +/* 8552F8 80243188 0C0B2026 */ jal set_variable +/* 8552FC 8024318C 0200302D */ daddu $a2, $s0, $zero +/* 855300 80243190 8FBF003C */ lw $ra, 0x3c($sp) +/* 855304 80243194 8FB20038 */ lw $s2, 0x38($sp) +/* 855308 80243198 8FB10034 */ lw $s1, 0x34($sp) +/* 85530C 8024319C 8FB00030 */ lw $s0, 0x30($sp) +/* 855310 802431A0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 855314 802431A4 24020002 */ addiu $v0, $zero, 2 +/* 855318 802431A8 03E00008 */ jr $ra +/* 85531C 802431AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802431B0.s b/asm/nonmatchings/world/area_mac/mac_05/func_802431B0.s new file mode 100644 index 0000000000..f6f447477b --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802431B0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431B0 +/* 855320 802431B0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 855324 802431B4 AFBF0018 */ sw $ra, 0x18($sp) +/* 855328 802431B8 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 85532C 802431BC F7B60028 */ sdc1 $f22, 0x28($sp) +/* 855330 802431C0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 855334 802431C4 0C00EAD2 */ jal get_npc_safe +/* 855338 802431C8 24040004 */ addiu $a0, $zero, 4 +/* 85533C 802431CC C4420038 */ lwc1 $f2, 0x38($v0) +/* 855340 802431D0 3C0141A0 */ lui $at, 0x41a0 +/* 855344 802431D4 44810000 */ mtc1 $at, $f0 +/* 855348 802431D8 00000000 */ nop +/* 85534C 802431DC 46001580 */ add.s $f22, $f2, $f0 +/* 855350 802431E0 C4420040 */ lwc1 $f2, 0x40($v0) +/* 855354 802431E4 3C014170 */ lui $at, 0x4170 +/* 855358 802431E8 44810000 */ mtc1 $at, $f0 +/* 85535C 802431EC C454003C */ lwc1 $f20, 0x3c($v0) +/* 855360 802431F0 46001601 */ sub.s $f24, $f2, $f0 +/* 855364 802431F4 44800000 */ mtc1 $zero, $f0 +/* 855368 802431F8 00000000 */ nop +/* 85536C 802431FC 4600A03C */ c.lt.s $f20, $f0 +/* 855370 80243200 00000000 */ nop +/* 855374 80243204 4500000C */ bc1f .L80243238 +/* 855378 80243208 0000202D */ daddu $a0, $zero, $zero +/* 85537C 8024320C 4405B000 */ mfc1 $a1, $f22 +/* 855380 80243210 4406A000 */ mfc1 $a2, $f20 +/* 855384 80243214 4407C000 */ mfc1 $a3, $f24 +/* 855388 80243218 0C01C16C */ jal func_800705B0 +/* 85538C 8024321C E7A00010 */ swc1 $f0, 0x10($sp) +/* 855390 80243220 24040046 */ addiu $a0, $zero, 0x46 +/* 855394 80243224 4406B000 */ mfc1 $a2, $f22 +/* 855398 80243228 4407A000 */ mfc1 $a3, $f20 +/* 85539C 8024322C 0000282D */ daddu $a1, $zero, $zero +/* 8553A0 80243230 0C05267B */ jal func_801499EC +/* 8553A4 80243234 E7B80010 */ swc1 $f24, 0x10($sp) +.L80243238: +/* 8553A8 80243238 8FBF0018 */ lw $ra, 0x18($sp) +/* 8553AC 8024323C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8553B0 80243240 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8553B4 80243244 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8553B8 80243248 24020002 */ addiu $v0, $zero, 2 +/* 8553BC 8024324C 03E00008 */ jr $ra +/* 8553C0 80243250 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243254.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243254.s new file mode 100644 index 0000000000..9eadbcd3c6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243254.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243254 +/* 8553C4 80243254 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8553C8 80243258 AFB10014 */ sw $s1, 0x14($sp) +/* 8553CC 8024325C 0080882D */ daddu $s1, $a0, $zero +/* 8553D0 80243260 AFBF0020 */ sw $ra, 0x20($sp) +/* 8553D4 80243264 AFB3001C */ sw $s3, 0x1c($sp) +/* 8553D8 80243268 AFB20018 */ sw $s2, 0x18($sp) +/* 8553DC 8024326C AFB00010 */ sw $s0, 0x10($sp) +/* 8553E0 80243270 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8553E4 80243274 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8553E8 80243278 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8553EC 8024327C 8E30000C */ lw $s0, 0xc($s1) +/* 8553F0 80243280 8E050000 */ lw $a1, ($s0) +/* 8553F4 80243284 0C0B1EAF */ jal get_variable +/* 8553F8 80243288 26100004 */ addiu $s0, $s0, 4 +/* 8553FC 8024328C 0220202D */ daddu $a0, $s1, $zero +/* 855400 80243290 8E120000 */ lw $s2, ($s0) +/* 855404 80243294 8E130004 */ lw $s3, 4($s0) +/* 855408 80243298 0C0B36B0 */ jal resolve_npc +/* 85540C 8024329C 0040282D */ daddu $a1, $v0, $zero +/* 855410 802432A0 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 855414 802432A4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 855418 802432A8 50400022 */ beql $v0, $zero, .L80243334 +/* 85541C 802432AC 24020002 */ addiu $v0, $zero, 2 +/* 855420 802432B0 C60C0028 */ lwc1 $f12, 0x28($s0) +/* 855424 802432B4 8C460038 */ lw $a2, 0x38($v0) +/* 855428 802432B8 C60E0030 */ lwc1 $f14, 0x30($s0) +/* 85542C 802432BC 0C00A720 */ jal atan2 +/* 855430 802432C0 8C470040 */ lw $a3, 0x40($v0) +/* 855434 802432C4 0C00A6C9 */ jal clamp_angle +/* 855438 802432C8 46000306 */ mov.s $f12, $f0 +/* 85543C 802432CC 46000506 */ mov.s $f20, $f0 +/* 855440 802432D0 3C014220 */ lui $at, 0x4220 +/* 855444 802432D4 4481C000 */ mtc1 $at, $f24 +/* 855448 802432D8 0C00A8BB */ jal sin_deg +/* 85544C 802432DC 4600A306 */ mov.s $f12, $f20 +/* 855450 802432E0 46180002 */ mul.s $f0, $f0, $f24 +/* 855454 802432E4 00000000 */ nop +/* 855458 802432E8 C6160028 */ lwc1 $f22, 0x28($s0) +/* 85545C 802432EC 4600B580 */ add.s $f22, $f22, $f0 +/* 855460 802432F0 0C00A8D4 */ jal cos_deg +/* 855464 802432F4 4600A306 */ mov.s $f12, $f20 +/* 855468 802432F8 46180002 */ mul.s $f0, $f0, $f24 +/* 85546C 802432FC 00000000 */ nop +/* 855470 80243300 0220202D */ daddu $a0, $s1, $zero +/* 855474 80243304 0240282D */ daddu $a1, $s2, $zero +/* 855478 80243308 C6140030 */ lwc1 $f20, 0x30($s0) +/* 85547C 8024330C 4600B08D */ trunc.w.s $f2, $f22 +/* 855480 80243310 44061000 */ mfc1 $a2, $f2 +/* 855484 80243314 0C0B2026 */ jal set_variable +/* 855488 80243318 4600A501 */ sub.s $f20, $f20, $f0 +/* 85548C 8024331C 0220202D */ daddu $a0, $s1, $zero +/* 855490 80243320 4600A08D */ trunc.w.s $f2, $f20 +/* 855494 80243324 44061000 */ mfc1 $a2, $f2 +/* 855498 80243328 0C0B2026 */ jal set_variable +/* 85549C 8024332C 0260282D */ daddu $a1, $s3, $zero +/* 8554A0 80243330 24020002 */ addiu $v0, $zero, 2 +.L80243334: +/* 8554A4 80243334 8FBF0020 */ lw $ra, 0x20($sp) +/* 8554A8 80243338 8FB3001C */ lw $s3, 0x1c($sp) +/* 8554AC 8024333C 8FB20018 */ lw $s2, 0x18($sp) +/* 8554B0 80243340 8FB10014 */ lw $s1, 0x14($sp) +/* 8554B4 80243344 8FB00010 */ lw $s0, 0x10($sp) +/* 8554B8 80243348 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8554BC 8024334C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8554C0 80243350 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8554C4 80243354 03E00008 */ jr $ra +/* 8554C8 80243358 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024335C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024335C.s new file mode 100644 index 0000000000..ddaf2fc6bc --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024335C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024335C +/* 8554CC 8024335C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8554D0 80243360 AFBF0010 */ sw $ra, 0x10($sp) +/* 8554D4 80243364 0C052B50 */ jal func_8014AD40 +/* 8554D8 80243368 00000000 */ nop +/* 8554DC 8024336C 2C420001 */ sltiu $v0, $v0, 1 +/* 8554E0 80243370 8FBF0010 */ lw $ra, 0x10($sp) +/* 8554E4 80243374 00021040 */ sll $v0, $v0, 1 +/* 8554E8 80243378 03E00008 */ jr $ra +/* 8554EC 8024337C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243380_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243380_852170.s new file mode 100644 index 0000000000..c1cbcd0104 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243380_852170.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243380_8554F0 +/* 8554F0 80243380 3C038011 */ lui $v1, %hi(gPlayerData) +/* 8554F4 80243384 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 8554F8 80243388 8C6202BC */ lw $v0, 0x2bc($v1) +/* 8554FC 8024338C 8C630324 */ lw $v1, 0x324($v1) +/* 855500 80243390 00431023 */ subu $v0, $v0, $v1 +/* 855504 80243394 3C0391A2 */ lui $v1, 0x91a2 +/* 855508 80243398 3463B3C5 */ ori $v1, $v1, 0xb3c5 +/* 85550C 8024339C 00430019 */ multu $v0, $v1 +/* 855510 802433A0 8C830084 */ lw $v1, 0x84($a0) +/* 855514 802433A4 00002810 */ mfhi $a1 +/* 855518 802433A8 000512C2 */ srl $v0, $a1, 0xb +/* 85551C 802433AC 0043102A */ slt $v0, $v0, $v1 +/* 855520 802433B0 AC820084 */ sw $v0, 0x84($a0) +/* 855524 802433B4 03E00008 */ jr $ra +/* 855528 802433B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802433BC.s b/asm/nonmatchings/world/area_mac/mac_05/func_802433BC.s new file mode 100644 index 0000000000..7e642425d0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802433BC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433BC +/* 85552C 802433BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 855530 802433C0 AFB00010 */ sw $s0, 0x10($sp) +/* 855534 802433C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 855538 802433C8 0C039D7B */ jal get_item_count +/* 85553C 802433CC 0080802D */ daddu $s0, $a0, $zero +/* 855540 802433D0 AE020084 */ sw $v0, 0x84($s0) +/* 855544 802433D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 855548 802433D8 8FB00010 */ lw $s0, 0x10($sp) +/* 85554C 802433DC 24020002 */ addiu $v0, $zero, 2 +/* 855550 802433E0 03E00008 */ jr $ra +/* 855554 802433E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 855558 802433E8 00000000 */ nop +/* 85555C 802433EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802433F0_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_802433F0_852170.s new file mode 100644 index 0000000000..c026e134c4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802433F0_852170.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433F0_855560 +/* 855560 802433F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 855564 802433F4 0080182D */ daddu $v1, $a0, $zero +/* 855568 802433F8 00A0202D */ daddu $a0, $a1, $zero +/* 85556C 802433FC 2402FFFF */ addiu $v0, $zero, -1 +/* 855570 80243400 14820004 */ bne $a0, $v0, .L80243414 +/* 855574 80243404 AFBF0010 */ sw $ra, 0x10($sp) +/* 855578 80243408 8C64014C */ lw $a0, 0x14c($v1) +/* 85557C 8024340C 08090D0A */ j .L80243428 +/* 855580 80243410 00000000 */ nop +.L80243414: +/* 855584 80243414 3C02EFE8 */ lui $v0, 0xefe8 +/* 855588 80243418 34422080 */ ori $v0, $v0, 0x2080 +/* 85558C 8024341C 0082102A */ slt $v0, $a0, $v0 +/* 855590 80243420 14400003 */ bnez $v0, .L80243430 +/* 855594 80243424 0080102D */ daddu $v0, $a0, $zero +.L80243428: +/* 855598 80243428 0C00EAD2 */ jal get_npc_safe +/* 85559C 8024342C 00000000 */ nop +.L80243430: +/* 8555A0 80243430 8FBF0010 */ lw $ra, 0x10($sp) +/* 8555A4 80243434 03E00008 */ jr $ra +/* 8555A8 80243438 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_8024343C.s b/asm/nonmatchings/world/area_mac/mac_05/func_8024343C.s new file mode 100644 index 0000000000..f9adbdfa51 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_8024343C.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024343C +/* 8555AC 8024343C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8555B0 80243440 AFB10014 */ sw $s1, 0x14($sp) +/* 8555B4 80243444 0080882D */ daddu $s1, $a0, $zero +/* 8555B8 80243448 AFBF0024 */ sw $ra, 0x24($sp) +/* 8555BC 8024344C AFB40020 */ sw $s4, 0x20($sp) +/* 8555C0 80243450 AFB3001C */ sw $s3, 0x1c($sp) +/* 8555C4 80243454 AFB20018 */ sw $s2, 0x18($sp) +/* 8555C8 80243458 AFB00010 */ sw $s0, 0x10($sp) +/* 8555CC 8024345C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8555D0 80243460 8E30000C */ lw $s0, 0xc($s1) +/* 8555D4 80243464 8E050000 */ lw $a1, ($s0) +/* 8555D8 80243468 0C0B1EAF */ jal get_variable +/* 8555DC 8024346C 26100004 */ addiu $s0, $s0, 4 +/* 8555E0 80243470 8E120000 */ lw $s2, ($s0) +/* 8555E4 80243474 26100004 */ addiu $s0, $s0, 4 +/* 8555E8 80243478 0220202D */ daddu $a0, $s1, $zero +/* 8555EC 8024347C 8E130000 */ lw $s3, ($s0) +/* 8555F0 80243480 8E140004 */ lw $s4, 4($s0) +/* 8555F4 80243484 0C090CFC */ jal func_802433F0 +/* 8555F8 80243488 0040282D */ daddu $a1, $v0, $zero +/* 8555FC 8024348C 0040802D */ daddu $s0, $v0, $zero +/* 855600 80243490 12000034 */ beqz $s0, .L80243564 +/* 855604 80243494 24020002 */ addiu $v0, $zero, 2 +/* 855608 80243498 3C038025 */ lui $v1, 0x8025 +/* 85560C 8024349C 24630A50 */ addiu $v1, $v1, 0xa50 +/* 855610 802434A0 8C640000 */ lw $a0, ($v1) +/* 855614 802434A4 24820004 */ addiu $v0, $a0, 4 +/* 855618 802434A8 AC620000 */ sw $v0, ($v1) +/* 85561C 802434AC 2C420168 */ sltiu $v0, $v0, 0x168 +/* 855620 802434B0 14400004 */ bnez $v0, .L802434C4 +/* 855624 802434B4 3C0200B6 */ lui $v0, 0xb6 +/* 855628 802434B8 2482FE9C */ addiu $v0, $a0, -0x164 +/* 85562C 802434BC AC620000 */ sw $v0, ($v1) +/* 855630 802434C0 3C0200B6 */ lui $v0, 0xb6 +.L802434C4: +/* 855634 802434C4 8E030028 */ lw $v1, 0x28($s0) +/* 855638 802434C8 C614003C */ lwc1 $f20, 0x3c($s0) +/* 85563C 802434CC 10620009 */ beq $v1, $v0, .L802434F4 +/* 855640 802434D0 34420004 */ ori $v0, $v0, 4 +/* 855644 802434D4 10620007 */ beq $v1, $v0, .L802434F4 +/* 855648 802434D8 3C0200B6 */ lui $v0, 0xb6 +/* 85564C 802434DC 34420008 */ ori $v0, $v0, 8 +/* 855650 802434E0 10620004 */ beq $v1, $v0, .L802434F4 +/* 855654 802434E4 3C0200B6 */ lui $v0, 0xb6 +/* 855658 802434E8 3442000C */ ori $v0, $v0, 0xc +/* 85565C 802434EC 14620011 */ bne $v1, $v0, .L80243534 +/* 855660 802434F0 0220202D */ daddu $a0, $s1, $zero +.L802434F4: +/* 855664 802434F4 3C028025 */ lui $v0, 0x8025 +/* 855668 802434F8 8C420A50 */ lw $v0, 0xa50($v0) +/* 85566C 802434FC 44826000 */ mtc1 $v0, $f12 +/* 855670 80243500 00000000 */ nop +/* 855674 80243504 04410006 */ bgez $v0, .L80243520 +/* 855678 80243508 46806321 */ cvt.d.w $f12, $f12 +/* 85567C 8024350C 3C0141F0 */ lui $at, 0x41f0 +/* 855680 80243510 44810800 */ mtc1 $at, $f1 +/* 855684 80243514 44800000 */ mtc1 $zero, $f0 +/* 855688 80243518 00000000 */ nop +/* 85568C 8024351C 46206300 */ add.d $f12, $f12, $f0 +.L80243520: +/* 855690 80243520 0C00A8BB */ jal sin_deg +/* 855694 80243524 46206320 */ cvt.s.d $f12, $f12 +/* 855698 80243528 46000000 */ add.s $f0, $f0, $f0 +/* 85569C 8024352C 4600A500 */ add.s $f20, $f20, $f0 +/* 8556A0 80243530 0220202D */ daddu $a0, $s1, $zero +.L80243534: +/* 8556A4 80243534 8E060038 */ lw $a2, 0x38($s0) +/* 8556A8 80243538 0C0B2190 */ jal set_float_variable +/* 8556AC 8024353C 0240282D */ daddu $a1, $s2, $zero +/* 8556B0 80243540 0220202D */ daddu $a0, $s1, $zero +/* 8556B4 80243544 4406A000 */ mfc1 $a2, $f20 +/* 8556B8 80243548 0C0B2190 */ jal set_float_variable +/* 8556BC 8024354C 0260282D */ daddu $a1, $s3, $zero +/* 8556C0 80243550 0220202D */ daddu $a0, $s1, $zero +/* 8556C4 80243554 8E060040 */ lw $a2, 0x40($s0) +/* 8556C8 80243558 0C0B2190 */ jal set_float_variable +/* 8556CC 8024355C 0280282D */ daddu $a1, $s4, $zero +/* 8556D0 80243560 24020002 */ addiu $v0, $zero, 2 +.L80243564: +/* 8556D4 80243564 8FBF0024 */ lw $ra, 0x24($sp) +/* 8556D8 80243568 8FB40020 */ lw $s4, 0x20($sp) +/* 8556DC 8024356C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8556E0 80243570 8FB20018 */ lw $s2, 0x18($sp) +/* 8556E4 80243574 8FB10014 */ lw $s1, 0x14($sp) +/* 8556E8 80243578 8FB00010 */ lw $s0, 0x10($sp) +/* 8556EC 8024357C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8556F0 80243580 03E00008 */ jr $ra +/* 8556F4 80243584 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243588.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243588.s new file mode 100644 index 0000000000..f2b1620ad6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243588.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243588 +/* 8556F8 80243588 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 8556FC 8024358C AFB20018 */ sw $s2, 0x18($sp) +/* 855700 80243590 0080902D */ daddu $s2, $a0, $zero +/* 855704 80243594 AFB10014 */ sw $s1, 0x14($sp) +/* 855708 80243598 00A0882D */ daddu $s1, $a1, $zero +/* 85570C 8024359C AFB7002C */ sw $s7, 0x2c($sp) +/* 855710 802435A0 00C0B82D */ daddu $s7, $a2, $zero +/* 855714 802435A4 AFB00010 */ sw $s0, 0x10($sp) +/* 855718 802435A8 00E0802D */ daddu $s0, $a3, $zero +/* 85571C 802435AC AFBF0030 */ sw $ra, 0x30($sp) +/* 855720 802435B0 AFB60028 */ sw $s6, 0x28($sp) +/* 855724 802435B4 AFB50024 */ sw $s5, 0x24($sp) +/* 855728 802435B8 AFB40020 */ sw $s4, 0x20($sp) +/* 85572C 802435BC AFB3001C */ sw $s3, 0x1c($sp) +/* 855730 802435C0 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 855734 802435C4 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 855738 802435C8 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 85573C 802435CC F7B80048 */ sdc1 $f24, 0x48($sp) +/* 855740 802435D0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 855744 802435D4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 855748 802435D8 8E160000 */ lw $s6, ($s0) +/* 85574C 802435DC 0C00EAD2 */ jal get_npc_safe +/* 855750 802435E0 0000202D */ daddu $a0, $zero, $zero +/* 855754 802435E4 8C420028 */ lw $v0, 0x28($v0) +/* 855758 802435E8 3C03FF4A */ lui $v1, 0xff4a +/* 85575C 802435EC 00431821 */ addu $v1, $v0, $v1 +/* 855760 802435F0 2C62000D */ sltiu $v0, $v1, 0xd +/* 855764 802435F4 1040000B */ beqz $v0, .L80243624 +/* 855768 802435F8 00031080 */ sll $v0, $v1, 2 +/* 85576C 802435FC 3C018025 */ lui $at, 0x8025 +/* 855770 80243600 00220821 */ addu $at, $at, $v0 +/* 855774 80243604 8C222970 */ lw $v0, 0x2970($at) +/* 855778 80243608 00400008 */ jr $v0 +/* 85577C 8024360C 00000000 */ nop +/* 855780 80243610 8E020000 */ lw $v0, ($s0) +/* 855784 80243614 04410003 */ bgez $v0, .L80243624 +/* 855788 80243618 00000000 */ nop +/* 85578C 8024361C 0000B02D */ daddu $s6, $zero, $zero +/* 855790 80243620 AE000000 */ sw $zero, ($s0) +.L80243624: +/* 855794 80243624 1AE00065 */ blez $s7, .L802437BC +/* 855798 80243628 0000A02D */ daddu $s4, $zero, $zero +/* 85579C 8024362C 0220982D */ daddu $s3, $s1, $zero +/* 8557A0 80243630 3C014220 */ lui $at, 0x4220 +/* 8557A4 80243634 4481F000 */ mtc1 $at, $f30 +/* 8557A8 80243638 3C014120 */ lui $at, 0x4120 +/* 8557AC 8024363C 4481E000 */ mtc1 $at, $f28 +.L80243640: +/* 8557B0 80243640 86440000 */ lh $a0, ($s2) +/* 8557B4 80243644 2882001F */ slti $v0, $a0, 0x1f +/* 8557B8 80243648 54400058 */ bnel $v0, $zero, .L802437AC +/* 8557BC 8024364C 26730010 */ addiu $s3, $s3, 0x10 +/* 8557C0 80243650 3C026666 */ lui $v0, 0x6666 +/* 8557C4 80243654 34426667 */ ori $v0, $v0, 0x6667 +/* 8557C8 80243658 2483FFE2 */ addiu $v1, $a0, -0x1e +/* 8557CC 8024365C 00620018 */ mult $v1, $v0 +/* 8557D0 80243660 4480C000 */ mtc1 $zero, $f24 +/* 8557D4 80243664 0000802D */ daddu $s0, $zero, $zero +/* 8557D8 80243668 00031FC3 */ sra $v1, $v1, 0x1f +/* 8557DC 8024366C 4600C686 */ mov.s $f26, $f24 +/* 8557E0 80243670 00004010 */ mfhi $t0 +/* 8557E4 80243674 00081083 */ sra $v0, $t0, 2 +/* 8557E8 80243678 00438823 */ subu $s1, $v0, $v1 +/* 8557EC 8024367C 00111080 */ sll $v0, $s1, 2 +/* 8557F0 80243680 00511021 */ addu $v0, $v0, $s1 +/* 8557F4 80243684 00021040 */ sll $v0, $v0, 1 +/* 8557F8 80243688 2442001E */ addiu $v0, $v0, 0x1e +/* 8557FC 8024368C 1A20001D */ blez $s1, .L80243704 +/* 855800 80243690 0082A823 */ subu $s5, $a0, $v0 +.L80243694: +/* 855804 80243694 44966000 */ mtc1 $s6, $f12 +/* 855808 80243698 00000000 */ nop +/* 85580C 8024369C 0C00A8BB */ jal sin_deg +/* 855810 802436A0 46806320 */ cvt.s.w $f12, $f12 +/* 855814 802436A4 44902000 */ mtc1 $s0, $f4 +/* 855818 802436A8 00000000 */ nop +/* 85581C 802436AC 46802120 */ cvt.s.w $f4, $f4 +/* 855820 802436B0 461E2083 */ div.s $f2, $f4, $f30 +/* 855824 802436B4 46001082 */ mul.s $f2, $f2, $f0 +/* 855828 802436B8 00000000 */ nop +/* 85582C 802436BC 3C014170 */ lui $at, 0x4170 +/* 855830 802436C0 44813000 */ mtc1 $at, $f6 +/* 855834 802436C4 00000000 */ nop +/* 855838 802436C8 46062103 */ div.s $f4, $f4, $f6 +/* 85583C 802436CC 46022580 */ add.s $f22, $f4, $f2 +/* 855840 802436D0 0C00A874 */ jal cos_rad +/* 855844 802436D4 4600B306 */ mov.s $f12, $f22 +/* 855848 802436D8 461C0002 */ mul.s $f0, $f0, $f28 +/* 85584C 802436DC 00000000 */ nop +/* 855850 802436E0 4600D680 */ add.s $f26, $f26, $f0 +/* 855854 802436E4 0C00A85B */ jal sin_rad +/* 855858 802436E8 4600B306 */ mov.s $f12, $f22 +/* 85585C 802436EC 461C0002 */ mul.s $f0, $f0, $f28 +/* 855860 802436F0 00000000 */ nop +/* 855864 802436F4 26100001 */ addiu $s0, $s0, 1 +/* 855868 802436F8 0211102A */ slt $v0, $s0, $s1 +/* 85586C 802436FC 1440FFE5 */ bnez $v0, .L80243694 +/* 855870 80243700 4600C600 */ add.s $f24, $f24, $f0 +.L80243704: +/* 855874 80243704 44966000 */ mtc1 $s6, $f12 +/* 855878 80243708 00000000 */ nop +/* 85587C 8024370C 0C00A8BB */ jal sin_deg +/* 855880 80243710 46806320 */ cvt.s.w $f12, $f12 +/* 855884 80243714 44902000 */ mtc1 $s0, $f4 +/* 855888 80243718 00000000 */ nop +/* 85588C 8024371C 46802120 */ cvt.s.w $f4, $f4 +/* 855890 80243720 461E2083 */ div.s $f2, $f4, $f30 +/* 855894 80243724 46001082 */ mul.s $f2, $f2, $f0 +/* 855898 80243728 00000000 */ nop +/* 85589C 8024372C 3C014170 */ lui $at, 0x4170 +/* 8558A0 80243730 44813000 */ mtc1 $at, $f6 +/* 8558A4 80243734 00000000 */ nop +/* 8558A8 80243738 46062103 */ div.s $f4, $f4, $f6 +/* 8558AC 8024373C 46022580 */ add.s $f22, $f4, $f2 +/* 8558B0 80243740 0C00A874 */ jal cos_rad +/* 8558B4 80243744 4600B306 */ mov.s $f12, $f22 +/* 8558B8 80243748 4495A000 */ mtc1 $s5, $f20 +/* 8558BC 8024374C 00000000 */ nop +/* 8558C0 80243750 4680A520 */ cvt.s.w $f20, $f20 +/* 8558C4 80243754 4600A002 */ mul.s $f0, $f20, $f0 +/* 8558C8 80243758 00000000 */ nop +/* 8558CC 8024375C 4600D680 */ add.s $f26, $f26, $f0 +/* 8558D0 80243760 0C00A85B */ jal sin_rad +/* 8558D4 80243764 4600B306 */ mov.s $f12, $f22 +/* 8558D8 80243768 4600A502 */ mul.s $f20, $f20, $f0 +/* 8558DC 8024376C 00000000 */ nop +/* 8558E0 80243770 4600D18D */ trunc.w.s $f6, $f26 +/* 8558E4 80243774 44023000 */ mfc1 $v0, $f6 +/* 8558E8 80243778 00000000 */ nop +/* 8558EC 8024377C A6620000 */ sh $v0, ($s3) +/* 8558F0 80243780 86420002 */ lh $v0, 2($s2) +/* 8558F4 80243784 4614C600 */ add.s $f24, $f24, $f20 +/* 8558F8 80243788 44820000 */ mtc1 $v0, $f0 +/* 8558FC 8024378C 00000000 */ nop +/* 855900 80243790 46800020 */ cvt.s.w $f0, $f0 +/* 855904 80243794 46180000 */ add.s $f0, $f0, $f24 +/* 855908 80243798 4600018D */ trunc.w.s $f6, $f0 +/* 85590C 8024379C 44023000 */ mfc1 $v0, $f6 +/* 855910 802437A0 00000000 */ nop +/* 855914 802437A4 A6620002 */ sh $v0, 2($s3) +/* 855918 802437A8 26730010 */ addiu $s3, $s3, 0x10 +.L802437AC: +/* 85591C 802437AC 26940001 */ addiu $s4, $s4, 1 +/* 855920 802437B0 0297102A */ slt $v0, $s4, $s7 +/* 855924 802437B4 1440FFA2 */ bnez $v0, .L80243640 +/* 855928 802437B8 26520010 */ addiu $s2, $s2, 0x10 +.L802437BC: +/* 85592C 802437BC 8FBF0030 */ lw $ra, 0x30($sp) +/* 855930 802437C0 8FB7002C */ lw $s7, 0x2c($sp) +/* 855934 802437C4 8FB60028 */ lw $s6, 0x28($sp) +/* 855938 802437C8 8FB50024 */ lw $s5, 0x24($sp) +/* 85593C 802437CC 8FB40020 */ lw $s4, 0x20($sp) +/* 855940 802437D0 8FB3001C */ lw $s3, 0x1c($sp) +/* 855944 802437D4 8FB20018 */ lw $s2, 0x18($sp) +/* 855948 802437D8 8FB10014 */ lw $s1, 0x14($sp) +/* 85594C 802437DC 8FB00010 */ lw $s0, 0x10($sp) +/* 855950 802437E0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 855954 802437E4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 855958 802437E8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 85595C 802437EC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 855960 802437F0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 855964 802437F4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 855968 802437F8 03E00008 */ jr $ra +/* 85596C 802437FC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243800.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243800.s new file mode 100644 index 0000000000..d6b1ecac43 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243800.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243800 +/* 855970 80243800 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 855974 80243804 24040001 */ addiu $a0, $zero, 1 +/* 855978 80243808 27A50010 */ addiu $a1, $sp, 0x10 +/* 85597C 8024380C 27A60014 */ addiu $a2, $sp, 0x14 +/* 855980 80243810 27A70018 */ addiu $a3, $sp, 0x18 +/* 855984 80243814 AFBF0028 */ sw $ra, 0x28($sp) +/* 855988 80243818 AFB10024 */ sw $s1, 0x24($sp) +/* 85598C 8024381C 0C0470AC */ jal func_8011C2B0 +/* 855990 80243820 AFB00020 */ sw $s0, 0x20($sp) +/* 855994 80243824 3C118025 */ lui $s1, 0x8025 +/* 855998 80243828 26310A54 */ addiu $s1, $s1, 0xa54 +/* 85599C 8024382C 8FA40010 */ lw $a0, 0x10($sp) +/* 8559A0 80243830 8FA50014 */ lw $a1, 0x14($sp) +/* 8559A4 80243834 8FA60018 */ lw $a2, 0x18($sp) +/* 8559A8 80243838 0C090D62 */ jal func_80243588 +/* 8559AC 8024383C 0220382D */ daddu $a3, $s1, $zero +/* 8559B0 80243840 3C03800A */ lui $v1, 0x800a +/* 8559B4 80243844 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8559B8 80243848 8C620000 */ lw $v0, ($v1) +/* 8559BC 8024384C 24040001 */ addiu $a0, $zero, 1 +/* 8559C0 80243850 0040802D */ daddu $s0, $v0, $zero +/* 8559C4 80243854 24420008 */ addiu $v0, $v0, 8 +/* 8559C8 80243858 AC620000 */ sw $v0, ($v1) +/* 8559CC 8024385C 3C02DE00 */ lui $v0, 0xde00 +/* 8559D0 80243860 0C0470BB */ jal func_8011C2EC +/* 8559D4 80243864 AE020000 */ sw $v0, ($s0) +/* 8559D8 80243868 8E230000 */ lw $v1, ($s1) +/* 8559DC 8024386C 04600003 */ bltz $v1, .L8024387C +/* 8559E0 80243870 AE020004 */ sw $v0, 4($s0) +/* 8559E4 80243874 24620004 */ addiu $v0, $v1, 4 +/* 8559E8 80243878 AE220000 */ sw $v0, ($s1) +.L8024387C: +/* 8559EC 8024387C 8E220000 */ lw $v0, ($s1) +/* 8559F0 80243880 28420168 */ slti $v0, $v0, 0x168 +/* 8559F4 80243884 14400002 */ bnez $v0, .L80243890 +/* 8559F8 80243888 2402FFFF */ addiu $v0, $zero, -1 +/* 8559FC 8024388C AE220000 */ sw $v0, ($s1) +.L80243890: +/* 855A00 80243890 8FBF0028 */ lw $ra, 0x28($sp) +/* 855A04 80243894 8FB10024 */ lw $s1, 0x24($sp) +/* 855A08 80243898 8FB00020 */ lw $s0, 0x20($sp) +/* 855A0C 8024389C 03E00008 */ jr $ra +/* 855A10 802438A0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_802438A4.s b/asm/nonmatchings/world/area_mac/mac_05/func_802438A4.s new file mode 100644 index 0000000000..c043f6b505 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_802438A4.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802438A4 +/* 855A14 802438A4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 855A18 802438A8 24040002 */ addiu $a0, $zero, 2 +/* 855A1C 802438AC 27A50010 */ addiu $a1, $sp, 0x10 +/* 855A20 802438B0 27A60014 */ addiu $a2, $sp, 0x14 +/* 855A24 802438B4 27A70018 */ addiu $a3, $sp, 0x18 +/* 855A28 802438B8 AFBF0028 */ sw $ra, 0x28($sp) +/* 855A2C 802438BC AFB10024 */ sw $s1, 0x24($sp) +/* 855A30 802438C0 0C0470AC */ jal func_8011C2B0 +/* 855A34 802438C4 AFB00020 */ sw $s0, 0x20($sp) +/* 855A38 802438C8 3C118025 */ lui $s1, 0x8025 +/* 855A3C 802438CC 26310A58 */ addiu $s1, $s1, 0xa58 +/* 855A40 802438D0 8FA40010 */ lw $a0, 0x10($sp) +/* 855A44 802438D4 8FA50014 */ lw $a1, 0x14($sp) +/* 855A48 802438D8 8FA60018 */ lw $a2, 0x18($sp) +/* 855A4C 802438DC 0C090D62 */ jal func_80243588 +/* 855A50 802438E0 0220382D */ daddu $a3, $s1, $zero +/* 855A54 802438E4 3C03800A */ lui $v1, 0x800a +/* 855A58 802438E8 2463A66C */ addiu $v1, $v1, -0x5994 +/* 855A5C 802438EC 8C620000 */ lw $v0, ($v1) +/* 855A60 802438F0 24040002 */ addiu $a0, $zero, 2 +/* 855A64 802438F4 0040802D */ daddu $s0, $v0, $zero +/* 855A68 802438F8 24420008 */ addiu $v0, $v0, 8 +/* 855A6C 802438FC AC620000 */ sw $v0, ($v1) +/* 855A70 80243900 3C02DE00 */ lui $v0, 0xde00 +/* 855A74 80243904 0C0470BB */ jal func_8011C2EC +/* 855A78 80243908 AE020000 */ sw $v0, ($s0) +/* 855A7C 8024390C 8E230000 */ lw $v1, ($s1) +/* 855A80 80243910 04600003 */ bltz $v1, .L80243920 +/* 855A84 80243914 AE020004 */ sw $v0, 4($s0) +/* 855A88 80243918 24620004 */ addiu $v0, $v1, 4 +/* 855A8C 8024391C AE220000 */ sw $v0, ($s1) +.L80243920: +/* 855A90 80243920 8E220000 */ lw $v0, ($s1) +/* 855A94 80243924 28420168 */ slti $v0, $v0, 0x168 +/* 855A98 80243928 14400002 */ bnez $v0, .L80243934 +/* 855A9C 8024392C 2402FFFF */ addiu $v0, $zero, -1 +/* 855AA0 80243930 AE220000 */ sw $v0, ($s1) +.L80243934: +/* 855AA4 80243934 8FBF0028 */ lw $ra, 0x28($sp) +/* 855AA8 80243938 8FB10024 */ lw $s1, 0x24($sp) +/* 855AAC 8024393C 8FB00020 */ lw $s0, 0x20($sp) +/* 855AB0 80243940 03E00008 */ jr $ra +/* 855AB4 80243944 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243948.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243948.s new file mode 100644 index 0000000000..f3be8c7563 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243948.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243948 +/* 855AB8 80243948 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 855ABC 8024394C AFB20018 */ sw $s2, 0x18($sp) +/* 855AC0 80243950 0080902D */ daddu $s2, $a0, $zero +/* 855AC4 80243954 AFBF0028 */ sw $ra, 0x28($sp) +/* 855AC8 80243958 AFB50024 */ sw $s5, 0x24($sp) +/* 855ACC 8024395C AFB40020 */ sw $s4, 0x20($sp) +/* 855AD0 80243960 AFB3001C */ sw $s3, 0x1c($sp) +/* 855AD4 80243964 AFB10014 */ sw $s1, 0x14($sp) +/* 855AD8 80243968 AFB00010 */ sw $s0, 0x10($sp) +/* 855ADC 8024396C F7B80040 */ sdc1 $f24, 0x40($sp) +/* 855AE0 80243970 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 855AE4 80243974 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 855AE8 80243978 8E50000C */ lw $s0, 0xc($s2) +/* 855AEC 8024397C 8E140000 */ lw $s4, ($s0) +/* 855AF0 80243980 26100004 */ addiu $s0, $s0, 4 +/* 855AF4 80243984 0C0B1EAF */ jal get_variable +/* 855AF8 80243988 0280282D */ daddu $a1, $s4, $zero +/* 855AFC 8024398C 0040982D */ daddu $s3, $v0, $zero +/* 855B00 80243990 8E150000 */ lw $s5, ($s0) +/* 855B04 80243994 26100004 */ addiu $s0, $s0, 4 +/* 855B08 80243998 8E050000 */ lw $a1, ($s0) +/* 855B0C 8024399C 26100004 */ addiu $s0, $s0, 4 +/* 855B10 802439A0 0C0B210B */ jal get_float_variable +/* 855B14 802439A4 0240202D */ daddu $a0, $s2, $zero +/* 855B18 802439A8 8E050000 */ lw $a1, ($s0) +/* 855B1C 802439AC 26100004 */ addiu $s0, $s0, 4 +/* 855B20 802439B0 0240202D */ daddu $a0, $s2, $zero +/* 855B24 802439B4 0C0B210B */ jal get_float_variable +/* 855B28 802439B8 46000606 */ mov.s $f24, $f0 +/* 855B2C 802439BC 8E050000 */ lw $a1, ($s0) +/* 855B30 802439C0 26100004 */ addiu $s0, $s0, 4 +/* 855B34 802439C4 0240202D */ daddu $a0, $s2, $zero +/* 855B38 802439C8 0C0B1EAF */ jal get_variable +/* 855B3C 802439CC 46000506 */ mov.s $f20, $f0 +/* 855B40 802439D0 8E050000 */ lw $a1, ($s0) +/* 855B44 802439D4 26100004 */ addiu $s0, $s0, 4 +/* 855B48 802439D8 0240202D */ daddu $a0, $s2, $zero +/* 855B4C 802439DC 0C0B1EAF */ jal get_variable +/* 855B50 802439E0 0040882D */ daddu $s1, $v0, $zero +/* 855B54 802439E4 0240202D */ daddu $a0, $s2, $zero +/* 855B58 802439E8 8E050000 */ lw $a1, ($s0) +/* 855B5C 802439EC 0C0B210B */ jal get_float_variable +/* 855B60 802439F0 0040802D */ daddu $s0, $v0, $zero +/* 855B64 802439F4 4618A501 */ sub.s $f20, $f20, $f24 +/* 855B68 802439F8 3C013F00 */ lui $at, 0x3f00 +/* 855B6C 802439FC 44811000 */ mtc1 $at, $f2 +/* 855B70 80243A00 00000000 */ nop +/* 855B74 80243A04 4602A502 */ mul.s $f20, $f20, $f2 +/* 855B78 80243A08 00000000 */ nop +/* 855B7C 80243A0C 12000008 */ beqz $s0, .L80243A30 +/* 855B80 80243A10 46000586 */ mov.s $f22, $f0 +/* 855B84 80243A14 0233102A */ slt $v0, $s1, $s3 +/* 855B88 80243A18 10400005 */ beqz $v0, .L80243A30 +/* 855B8C 80243A1C 0240202D */ daddu $a0, $s2, $zero +/* 855B90 80243A20 0220982D */ daddu $s3, $s1, $zero +/* 855B94 80243A24 0280282D */ daddu $a1, $s4, $zero +/* 855B98 80243A28 0C0B2026 */ jal set_variable +/* 855B9C 80243A2C 0220302D */ daddu $a2, $s1, $zero +.L80243A30: +/* 855BA0 80243A30 3C014334 */ lui $at, 0x4334 +/* 855BA4 80243A34 44810000 */ mtc1 $at, $f0 +/* 855BA8 80243A38 44936000 */ mtc1 $s3, $f12 +/* 855BAC 80243A3C 00000000 */ nop +/* 855BB0 80243A40 46806320 */ cvt.s.w $f12, $f12 +/* 855BB4 80243A44 46006302 */ mul.s $f12, $f12, $f0 +/* 855BB8 80243A48 00000000 */ nop +/* 855BBC 80243A4C 44910000 */ mtc1 $s1, $f0 +/* 855BC0 80243A50 00000000 */ nop +/* 855BC4 80243A54 46800020 */ cvt.s.w $f0, $f0 +/* 855BC8 80243A58 46006303 */ div.s $f12, $f12, $f0 +/* 855BCC 80243A5C 0C00A8D4 */ jal cos_deg +/* 855BD0 80243A60 46166300 */ add.s $f12, $f12, $f22 +/* 855BD4 80243A64 4600A002 */ mul.s $f0, $f20, $f0 +/* 855BD8 80243A68 00000000 */ nop +/* 855BDC 80243A6C 4614C080 */ add.s $f2, $f24, $f20 +/* 855BE0 80243A70 46001081 */ sub.s $f2, $f2, $f0 +/* 855BE4 80243A74 0240202D */ daddu $a0, $s2, $zero +/* 855BE8 80243A78 44061000 */ mfc1 $a2, $f2 +/* 855BEC 80243A7C 0C0B2190 */ jal set_float_variable +/* 855BF0 80243A80 02A0282D */ daddu $a1, $s5, $zero +/* 855BF4 80243A84 8FBF0028 */ lw $ra, 0x28($sp) +/* 855BF8 80243A88 8FB50024 */ lw $s5, 0x24($sp) +/* 855BFC 80243A8C 8FB40020 */ lw $s4, 0x20($sp) +/* 855C00 80243A90 8FB3001C */ lw $s3, 0x1c($sp) +/* 855C04 80243A94 8FB20018 */ lw $s2, 0x18($sp) +/* 855C08 80243A98 8FB10014 */ lw $s1, 0x14($sp) +/* 855C0C 80243A9C 8FB00010 */ lw $s0, 0x10($sp) +/* 855C10 80243AA0 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 855C14 80243AA4 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 855C18 80243AA8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 855C1C 80243AAC 24020002 */ addiu $v0, $zero, 2 +/* 855C20 80243AB0 03E00008 */ jr $ra +/* 855C24 80243AB4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243AB8.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243AB8.s new file mode 100644 index 0000000000..8dbb956e25 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243AB8.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243AB8 +/* 855C28 80243AB8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 855C2C 80243ABC AFB10014 */ sw $s1, 0x14($sp) +/* 855C30 80243AC0 0080882D */ daddu $s1, $a0, $zero +/* 855C34 80243AC4 AFBF0018 */ sw $ra, 0x18($sp) +/* 855C38 80243AC8 AFB00010 */ sw $s0, 0x10($sp) +/* 855C3C 80243ACC F7B80030 */ sdc1 $f24, 0x30($sp) +/* 855C40 80243AD0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 855C44 80243AD4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 855C48 80243AD8 0C00EAD2 */ jal get_npc_safe +/* 855C4C 80243ADC 0000202D */ daddu $a0, $zero, $zero +/* 855C50 80243AE0 0040802D */ daddu $s0, $v0, $zero +/* 855C54 80243AE4 C614000C */ lwc1 $f20, 0xc($s0) +/* 855C58 80243AE8 3C01428C */ lui $at, 0x428c +/* 855C5C 80243AEC 4481C000 */ mtc1 $at, $f24 +/* 855C60 80243AF0 4600A507 */ neg.s $f20, $f20 +/* 855C64 80243AF4 0C00A8BB */ jal sin_deg +/* 855C68 80243AF8 4600A306 */ mov.s $f12, $f20 +/* 855C6C 80243AFC 46180002 */ mul.s $f0, $f0, $f24 +/* 855C70 80243B00 00000000 */ nop +/* 855C74 80243B04 C6160038 */ lwc1 $f22, 0x38($s0) +/* 855C78 80243B08 3C0141F0 */ lui $at, 0x41f0 +/* 855C7C 80243B0C 44811000 */ mtc1 $at, $f2 +/* 855C80 80243B10 00000000 */ nop +/* 855C84 80243B14 4602B580 */ add.s $f22, $f22, $f2 +/* 855C88 80243B18 4600A306 */ mov.s $f12, $f20 +/* 855C8C 80243B1C 0C00A8D4 */ jal cos_deg +/* 855C90 80243B20 4600B580 */ add.s $f22, $f22, $f0 +/* 855C94 80243B24 0220202D */ daddu $a0, $s1, $zero +/* 855C98 80243B28 46180002 */ mul.s $f0, $f0, $f24 +/* 855C9C 80243B2C 00000000 */ nop +/* 855CA0 80243B30 3C05FE36 */ lui $a1, 0xfe36 +/* 855CA4 80243B34 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 855CA8 80243B38 C6180040 */ lwc1 $f24, 0x40($s0) +/* 855CAC 80243B3C C614003C */ lwc1 $f20, 0x3c($s0) +/* 855CB0 80243B40 4600C600 */ add.s $f24, $f24, $f0 +/* 855CB4 80243B44 3C014248 */ lui $at, 0x4248 +/* 855CB8 80243B48 44810000 */ mtc1 $at, $f0 +/* 855CBC 80243B4C 4406B000 */ mfc1 $a2, $f22 +/* 855CC0 80243B50 0C0B2190 */ jal set_float_variable +/* 855CC4 80243B54 4600A500 */ add.s $f20, $f20, $f0 +/* 855CC8 80243B58 0220202D */ daddu $a0, $s1, $zero +/* 855CCC 80243B5C 3C05FE36 */ lui $a1, 0xfe36 +/* 855CD0 80243B60 4406A000 */ mfc1 $a2, $f20 +/* 855CD4 80243B64 0C0B2190 */ jal set_float_variable +/* 855CD8 80243B68 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 855CDC 80243B6C 0220202D */ daddu $a0, $s1, $zero +/* 855CE0 80243B70 3C05FE36 */ lui $a1, 0xfe36 +/* 855CE4 80243B74 4406C000 */ mfc1 $a2, $f24 +/* 855CE8 80243B78 0C0B2190 */ jal set_float_variable +/* 855CEC 80243B7C 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 855CF0 80243B80 8FBF0018 */ lw $ra, 0x18($sp) +/* 855CF4 80243B84 8FB10014 */ lw $s1, 0x14($sp) +/* 855CF8 80243B88 8FB00010 */ lw $s0, 0x10($sp) +/* 855CFC 80243B8C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 855D00 80243B90 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 855D04 80243B94 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 855D08 80243B98 24020002 */ addiu $v0, $zero, 2 +/* 855D0C 80243B9C 03E00008 */ jr $ra +/* 855D10 80243BA0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243BA4.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243BA4.s new file mode 100644 index 0000000000..68f488f98c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243BA4.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243BA4 +/* 855D14 80243BA4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 855D18 80243BA8 AFB10034 */ sw $s1, 0x34($sp) +/* 855D1C 80243BAC 0080882D */ daddu $s1, $a0, $zero +/* 855D20 80243BB0 AFBF003C */ sw $ra, 0x3c($sp) +/* 855D24 80243BB4 AFB20038 */ sw $s2, 0x38($sp) +/* 855D28 80243BB8 AFB00030 */ sw $s0, 0x30($sp) +/* 855D2C 80243BBC F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 855D30 80243BC0 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 855D34 80243BC4 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 855D38 80243BC8 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 855D3C 80243BCC F7B60048 */ sdc1 $f22, 0x48($sp) +/* 855D40 80243BD0 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 855D44 80243BD4 8E30000C */ lw $s0, 0xc($s1) +/* 855D48 80243BD8 8E050000 */ lw $a1, ($s0) +/* 855D4C 80243BDC 0C0B1EAF */ jal get_variable +/* 855D50 80243BE0 26100004 */ addiu $s0, $s0, 4 +/* 855D54 80243BE4 8E050000 */ lw $a1, ($s0) +/* 855D58 80243BE8 26100004 */ addiu $s0, $s0, 4 +/* 855D5C 80243BEC 0220202D */ daddu $a0, $s1, $zero +/* 855D60 80243BF0 0C0B210B */ jal get_float_variable +/* 855D64 80243BF4 0040902D */ daddu $s2, $v0, $zero +/* 855D68 80243BF8 8E050000 */ lw $a1, ($s0) +/* 855D6C 80243BFC 26100004 */ addiu $s0, $s0, 4 +/* 855D70 80243C00 0220202D */ daddu $a0, $s1, $zero +/* 855D74 80243C04 0C0B210B */ jal get_float_variable +/* 855D78 80243C08 46000706 */ mov.s $f28, $f0 +/* 855D7C 80243C0C 8E050000 */ lw $a1, ($s0) +/* 855D80 80243C10 26100004 */ addiu $s0, $s0, 4 +/* 855D84 80243C14 0220202D */ daddu $a0, $s1, $zero +/* 855D88 80243C18 0C0B210B */ jal get_float_variable +/* 855D8C 80243C1C 46000786 */ mov.s $f30, $f0 +/* 855D90 80243C20 8E050000 */ lw $a1, ($s0) +/* 855D94 80243C24 26100004 */ addiu $s0, $s0, 4 +/* 855D98 80243C28 0220202D */ daddu $a0, $s1, $zero +/* 855D9C 80243C2C 0C0B210B */ jal get_float_variable +/* 855DA0 80243C30 46000686 */ mov.s $f26, $f0 +/* 855DA4 80243C34 8E050000 */ lw $a1, ($s0) +/* 855DA8 80243C38 26100004 */ addiu $s0, $s0, 4 +/* 855DAC 80243C3C 0220202D */ daddu $a0, $s1, $zero +/* 855DB0 80243C40 0C0B210B */ jal get_float_variable +/* 855DB4 80243C44 46000606 */ mov.s $f24, $f0 +/* 855DB8 80243C48 8E050000 */ lw $a1, ($s0) +/* 855DBC 80243C4C 26100004 */ addiu $s0, $s0, 4 +/* 855DC0 80243C50 0220202D */ daddu $a0, $s1, $zero +/* 855DC4 80243C54 0C0B210B */ jal get_float_variable +/* 855DC8 80243C58 46000586 */ mov.s $f22, $f0 +/* 855DCC 80243C5C 0220202D */ daddu $a0, $s1, $zero +/* 855DD0 80243C60 8E050000 */ lw $a1, ($s0) +/* 855DD4 80243C64 0C0B1EAF */ jal get_variable +/* 855DD8 80243C68 46000506 */ mov.s $f20, $f0 +/* 855DDC 80243C6C 4405E000 */ mfc1 $a1, $f28 +/* 855DE0 80243C70 4406F000 */ mfc1 $a2, $f30 +/* 855DE4 80243C74 4407D000 */ mfc1 $a3, $f26 +/* 855DE8 80243C78 0240202D */ daddu $a0, $s2, $zero +/* 855DEC 80243C7C AFA2001C */ sw $v0, 0x1c($sp) +/* 855DF0 80243C80 27A20028 */ addiu $v0, $sp, 0x28 +/* 855DF4 80243C84 E7B80010 */ swc1 $f24, 0x10($sp) +/* 855DF8 80243C88 E7B60014 */ swc1 $f22, 0x14($sp) +/* 855DFC 80243C8C E7B40018 */ swc1 $f20, 0x18($sp) +/* 855E00 80243C90 0C01C3DC */ jal func_80070F70 +/* 855E04 80243C94 AFA20020 */ sw $v0, 0x20($sp) +/* 855E08 80243C98 8FA30028 */ lw $v1, 0x28($sp) +/* 855E0C 80243C9C AE230084 */ sw $v1, 0x84($s1) +/* 855E10 80243CA0 8FBF003C */ lw $ra, 0x3c($sp) +/* 855E14 80243CA4 8FB20038 */ lw $s2, 0x38($sp) +/* 855E18 80243CA8 8FB10034 */ lw $s1, 0x34($sp) +/* 855E1C 80243CAC 8FB00030 */ lw $s0, 0x30($sp) +/* 855E20 80243CB0 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 855E24 80243CB4 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 855E28 80243CB8 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 855E2C 80243CBC D7B80050 */ ldc1 $f24, 0x50($sp) +/* 855E30 80243CC0 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 855E34 80243CC4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 855E38 80243CC8 24020002 */ addiu $v0, $zero, 2 +/* 855E3C 80243CCC 03E00008 */ jr $ra +/* 855E40 80243CD0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243CD4_852170.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243CD4_852170.s new file mode 100644 index 0000000000..27a28326e9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243CD4_852170.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243CD4_855E44 +/* 855E44 80243CD4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 855E48 80243CD8 AFB10014 */ sw $s1, 0x14($sp) +/* 855E4C 80243CDC 0080882D */ daddu $s1, $a0, $zero +/* 855E50 80243CE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 855E54 80243CE4 AFB20018 */ sw $s2, 0x18($sp) +/* 855E58 80243CE8 AFB00010 */ sw $s0, 0x10($sp) +/* 855E5C 80243CEC F7B60028 */ sdc1 $f22, 0x28($sp) +/* 855E60 80243CF0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 855E64 80243CF4 8E30000C */ lw $s0, 0xc($s1) +/* 855E68 80243CF8 8E050000 */ lw $a1, ($s0) +/* 855E6C 80243CFC 0C0B1EAF */ jal get_variable +/* 855E70 80243D00 26100004 */ addiu $s0, $s0, 4 +/* 855E74 80243D04 8E050000 */ lw $a1, ($s0) +/* 855E78 80243D08 26100004 */ addiu $s0, $s0, 4 +/* 855E7C 80243D0C 0220202D */ daddu $a0, $s1, $zero +/* 855E80 80243D10 0C0B210B */ jal get_float_variable +/* 855E84 80243D14 0040902D */ daddu $s2, $v0, $zero +/* 855E88 80243D18 8E050000 */ lw $a1, ($s0) +/* 855E8C 80243D1C 26100004 */ addiu $s0, $s0, 4 +/* 855E90 80243D20 0220202D */ daddu $a0, $s1, $zero +/* 855E94 80243D24 0C0B210B */ jal get_float_variable +/* 855E98 80243D28 46000586 */ mov.s $f22, $f0 +/* 855E9C 80243D2C 0220202D */ daddu $a0, $s1, $zero +/* 855EA0 80243D30 8E050000 */ lw $a1, ($s0) +/* 855EA4 80243D34 0C0B210B */ jal get_float_variable +/* 855EA8 80243D38 46000506 */ mov.s $f20, $f0 +/* 855EAC 80243D3C 8E42000C */ lw $v0, 0xc($s2) +/* 855EB0 80243D40 E4560008 */ swc1 $f22, 8($v0) +/* 855EB4 80243D44 8E42000C */ lw $v0, 0xc($s2) +/* 855EB8 80243D48 E454000C */ swc1 $f20, 0xc($v0) +/* 855EBC 80243D4C 8E43000C */ lw $v1, 0xc($s2) +/* 855EC0 80243D50 E4600010 */ swc1 $f0, 0x10($v1) +/* 855EC4 80243D54 8FBF001C */ lw $ra, 0x1c($sp) +/* 855EC8 80243D58 8FB20018 */ lw $s2, 0x18($sp) +/* 855ECC 80243D5C 8FB10014 */ lw $s1, 0x14($sp) +/* 855ED0 80243D60 8FB00010 */ lw $s0, 0x10($sp) +/* 855ED4 80243D64 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 855ED8 80243D68 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 855EDC 80243D6C 24020002 */ addiu $v0, $zero, 2 +/* 855EE0 80243D70 03E00008 */ jr $ra +/* 855EE4 80243D74 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243D78.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243D78.s new file mode 100644 index 0000000000..f000f2b251 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243D78.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243D78 +/* 855EE8 80243D78 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 855EEC 80243D7C AFBF0010 */ sw $ra, 0x10($sp) +/* 855EF0 80243D80 8C82000C */ lw $v0, 0xc($a0) +/* 855EF4 80243D84 0C0B1EAF */ jal get_variable +/* 855EF8 80243D88 8C450000 */ lw $a1, ($v0) +/* 855EFC 80243D8C 8C44000C */ lw $a0, 0xc($v0) +/* 855F00 80243D90 24030001 */ addiu $v1, $zero, 1 +/* 855F04 80243D94 AC830004 */ sw $v1, 4($a0) +/* 855F08 80243D98 8FBF0010 */ lw $ra, 0x10($sp) +/* 855F0C 80243D9C 24020002 */ addiu $v0, $zero, 2 +/* 855F10 80243DA0 03E00008 */ jr $ra +/* 855F14 80243DA4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 855F18 80243DA8 00000000 */ nop +/* 855F1C 80243DAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243DB0.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243DB0.s new file mode 100644 index 0000000000..e8dd89baa0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243DB0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243DB0 +/* 855F20 80243DB0 44862000 */ mtc1 $a2, $f4 +/* 855F24 80243DB4 3C013F00 */ lui $at, 0x3f00 +/* 855F28 80243DB8 44810000 */ mtc1 $at, $f0 +/* 855F2C 80243DBC 8FA40010 */ lw $a0, 0x10($sp) +/* 855F30 80243DC0 8FA50014 */ lw $a1, 0x14($sp) +/* 855F34 80243DC4 4600203E */ c.le.s $f4, $f0 +/* 855F38 80243DC8 00000000 */ nop +/* 855F3C 80243DCC 45020008 */ bc1fl .L80243DF0 +/* 855F40 80243DD0 460E2000 */ add.s $f0, $f4, $f14 +/* 855F44 80243DD4 460020A1 */ cvt.d.s $f2, $f4 +/* 855F48 80243DD8 46007021 */ cvt.d.s $f0, $f14 +/* 855F4C 80243DDC 46220002 */ mul.d $f0, $f0, $f2 +/* 855F50 80243DE0 00000000 */ nop +/* 855F54 80243DE4 46220000 */ add.d $f0, $f0, $f2 +/* 855F58 80243DE8 08090F7F */ j .L80243DFC +/* 855F5C 80243DEC 462001A0 */ cvt.s.d $f6, $f0 +.L80243DF0: +/* 855F60 80243DF0 460E2082 */ mul.s $f2, $f4, $f14 +/* 855F64 80243DF4 00000000 */ nop +/* 855F68 80243DF8 46020181 */ sub.s $f6, $f0, $f2 +.L80243DFC: +/* 855F6C 80243DFC 44800000 */ mtc1 $zero, $f0 +/* 855F70 80243E00 00000000 */ nop +/* 855F74 80243E04 46003032 */ c.eq.s $f6, $f0 +/* 855F78 80243E08 00000000 */ nop +/* 855F7C 80243E0C 45000005 */ bc1f .L80243E24 +/* 855F80 80243E10 00000000 */ nop +/* 855F84 80243E14 E4A00000 */ swc1 $f0, ($a1) +/* 855F88 80243E18 E4800000 */ swc1 $f0, ($a0) +/* 855F8C 80243E1C 03E00008 */ jr $ra +/* 855F90 80243E20 E4E00000 */ swc1 $f0, ($a3) +.L80243E24: +/* 855F94 80243E24 3C0140C0 */ lui $at, 0x40c0 +/* 855F98 80243E28 44810000 */ mtc1 $at, $f0 +/* 855F9C 80243E2C 00000000 */ nop +/* 855FA0 80243E30 46006302 */ mul.s $f12, $f12, $f0 +/* 855FA4 80243E34 00000000 */ nop +/* 855FA8 80243E38 46042000 */ add.s $f0, $f4, $f4 +/* 855FAC 80243E3C 46060201 */ sub.s $f8, $f0, $f6 +/* 855FB0 80243E40 46083001 */ sub.s $f0, $f6, $f8 +/* 855FB4 80243E44 46060003 */ div.s $f0, $f0, $f6 +/* 855FB8 80243E48 46003002 */ mul.s $f0, $f6, $f0 +/* 855FBC 80243E4C 00000000 */ nop +/* 855FC0 80243E50 4600628D */ trunc.w.s $f10, $f12 +/* 855FC4 80243E54 44025000 */ mfc1 $v0, $f10 +/* 855FC8 80243E58 00000000 */ nop +/* 855FCC 80243E5C 44822000 */ mtc1 $v0, $f4 +/* 855FD0 80243E60 00000000 */ nop +/* 855FD4 80243E64 46802120 */ cvt.s.w $f4, $f4 +/* 855FD8 80243E68 46046081 */ sub.s $f2, $f12, $f4 +/* 855FDC 80243E6C 46020002 */ mul.s $f0, $f0, $f2 +/* 855FE0 80243E70 00000000 */ nop +/* 855FE4 80243E74 46004080 */ add.s $f2, $f8, $f0 +/* 855FE8 80243E78 4600228D */ trunc.w.s $f10, $f4 +/* 855FEC 80243E7C 44035000 */ mfc1 $v1, $f10 +/* 855FF0 80243E80 00000000 */ nop +/* 855FF4 80243E84 2C620006 */ sltiu $v0, $v1, 6 +/* 855FF8 80243E88 1040001E */ beqz $v0, .L80243F04 +/* 855FFC 80243E8C 46003001 */ sub.s $f0, $f6, $f0 +/* 856000 80243E90 00031080 */ sll $v0, $v1, 2 +/* 856004 80243E94 3C018025 */ lui $at, 0x8025 +/* 856008 80243E98 00220821 */ addu $at, $at, $v0 +/* 85600C 80243E9C 8C2229B0 */ lw $v0, 0x29b0($at) +/* 856010 80243EA0 00400008 */ jr $v0 +/* 856014 80243EA4 00000000 */ nop +/* 856018 80243EA8 E4E60000 */ swc1 $f6, ($a3) +/* 85601C 80243EAC E4820000 */ swc1 $f2, ($a0) +/* 856020 80243EB0 03E00008 */ jr $ra +/* 856024 80243EB4 E4A80000 */ swc1 $f8, ($a1) +/* 856028 80243EB8 E4E00000 */ swc1 $f0, ($a3) +/* 85602C 80243EBC E4860000 */ swc1 $f6, ($a0) +/* 856030 80243EC0 03E00008 */ jr $ra +/* 856034 80243EC4 E4A80000 */ swc1 $f8, ($a1) +/* 856038 80243EC8 E4E80000 */ swc1 $f8, ($a3) +/* 85603C 80243ECC E4860000 */ swc1 $f6, ($a0) +/* 856040 80243ED0 03E00008 */ jr $ra +/* 856044 80243ED4 E4A20000 */ swc1 $f2, ($a1) +/* 856048 80243ED8 E4E80000 */ swc1 $f8, ($a3) +/* 85604C 80243EDC E4800000 */ swc1 $f0, ($a0) +/* 856050 80243EE0 03E00008 */ jr $ra +/* 856054 80243EE4 E4A60000 */ swc1 $f6, ($a1) +/* 856058 80243EE8 E4E20000 */ swc1 $f2, ($a3) +/* 85605C 80243EEC E4880000 */ swc1 $f8, ($a0) +/* 856060 80243EF0 03E00008 */ jr $ra +/* 856064 80243EF4 E4A60000 */ swc1 $f6, ($a1) +/* 856068 80243EF8 E4E60000 */ swc1 $f6, ($a3) +/* 85606C 80243EFC E4880000 */ swc1 $f8, ($a0) +/* 856070 80243F00 E4A00000 */ swc1 $f0, ($a1) +.L80243F04: +/* 856074 80243F04 03E00008 */ jr $ra +/* 856078 80243F08 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_05/func_80243F0C.s b/asm/nonmatchings/world/area_mac/mac_05/func_80243F0C.s new file mode 100644 index 0000000000..5e207b4df4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_05/func_80243F0C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243F0C +/* 85607C 80243F0C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 856080 80243F10 24040003 */ addiu $a0, $zero, 3 +/* 856084 80243F14 27A6001C */ addiu $a2, $sp, 0x1c +/* 856088 80243F18 27A70020 */ addiu $a3, $sp, 0x20 +/* 85608C 80243F1C AFBF003C */ sw $ra, 0x3c($sp) +/* 856090 80243F20 AFB20038 */ sw $s2, 0x38($sp) +/* 856094 80243F24 AFB10034 */ sw $s1, 0x34($sp) +/* 856098 80243F28 AFB00030 */ sw $s0, 0x30($sp) +/* 85609C 80243F2C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 8560A0 80243F30 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 8560A4 80243F34 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 8560A8 80243F38 0C0470AC */ jal func_8011C2B0 +/* 8560AC 80243F3C 27A50018 */ addiu $a1, $sp, 0x18 +/* 8560B0 80243F40 8FA30020 */ lw $v1, 0x20($sp) +/* 8560B4 80243F44 1860005D */ blez $v1, .L802440BC +/* 8560B8 80243F48 0000882D */ daddu $s1, $zero, $zero +/* 8560BC 80243F4C 3C128000 */ lui $s2, 0x8000 +/* 8560C0 80243F50 3C013FF0 */ lui $at, 0x3ff0 +/* 8560C4 80243F54 4481B800 */ mtc1 $at, $f23 +/* 8560C8 80243F58 4480B000 */ mtc1 $zero, $f22 +/* 8560CC 80243F5C 3C01437F */ lui $at, 0x437f +/* 8560D0 80243F60 4481C000 */ mtc1 $at, $f24 +/* 8560D4 80243F64 3C014F00 */ lui $at, 0x4f00 +/* 8560D8 80243F68 4481A000 */ mtc1 $at, $f20 +.L80243F6C: +/* 8560DC 80243F6C 44910000 */ mtc1 $s1, $f0 +/* 8560E0 80243F70 00000000 */ nop +/* 8560E4 80243F74 46800020 */ cvt.s.w $f0, $f0 +/* 8560E8 80243F78 44831000 */ mtc1 $v1, $f2 +/* 8560EC 80243F7C 00000000 */ nop +/* 8560F0 80243F80 468010A0 */ cvt.s.w $f2, $f2 +/* 8560F4 80243F84 46020003 */ div.s $f0, $f0, $f2 +/* 8560F8 80243F88 00111900 */ sll $v1, $s1, 4 +/* 8560FC 80243F8C 3C018025 */ lui $at, 0x8025 +/* 856100 80243F90 C4242744 */ lwc1 $f4, 0x2744($at) +/* 856104 80243F94 8FA2001C */ lw $v0, 0x1c($sp) +/* 856108 80243F98 46002300 */ add.s $f12, $f4, $f0 +/* 85610C 80243F9C 00431021 */ addu $v0, $v0, $v1 +/* 856110 80243FA0 46006021 */ cvt.d.s $f0, $f12 +/* 856114 80243FA4 4620B03C */ c.lt.d $f22, $f0 +/* 856118 80243FA8 00000000 */ nop +/* 85611C 80243FAC 45000003 */ bc1f .L80243FBC +/* 856120 80243FB0 2450000C */ addiu $s0, $v0, 0xc +/* 856124 80243FB4 46360001 */ sub.d $f0, $f0, $f22 +/* 856128 80243FB8 46200320 */ cvt.s.d $f12, $f0 +.L80243FBC: +/* 85612C 80243FBC 27A70024 */ addiu $a3, $sp, 0x24 +/* 856130 80243FC0 3C063F00 */ lui $a2, 0x3f00 +/* 856134 80243FC4 3C013F80 */ lui $at, 0x3f80 +/* 856138 80243FC8 44817000 */ mtc1 $at, $f14 +/* 85613C 80243FCC 27A20028 */ addiu $v0, $sp, 0x28 +/* 856140 80243FD0 AFA20010 */ sw $v0, 0x10($sp) +/* 856144 80243FD4 27A2002C */ addiu $v0, $sp, 0x2c +/* 856148 80243FD8 0C090F6C */ jal func_80243DB0 +/* 85614C 80243FDC AFA20014 */ sw $v0, 0x14($sp) +/* 856150 80243FE0 C7A00024 */ lwc1 $f0, 0x24($sp) +/* 856154 80243FE4 46180002 */ mul.s $f0, $f0, $f24 +/* 856158 80243FE8 00000000 */ nop +/* 85615C 80243FEC 4600A03E */ c.le.s $f20, $f0 +/* 856160 80243FF0 00000000 */ nop +/* 856164 80243FF4 45030005 */ bc1tl .L8024400C +/* 856168 80243FF8 46140001 */ sub.s $f0, $f0, $f20 +/* 85616C 80243FFC 4600018D */ trunc.w.s $f6, $f0 +/* 856170 80244000 44023000 */ mfc1 $v0, $f6 +/* 856174 80244004 08091008 */ j .L80244020 +/* 856178 80244008 A2020000 */ sb $v0, ($s0) +.L8024400C: +/* 85617C 8024400C 4600018D */ trunc.w.s $f6, $f0 +/* 856180 80244010 44023000 */ mfc1 $v0, $f6 +/* 856184 80244014 00000000 */ nop +/* 856188 80244018 00521025 */ or $v0, $v0, $s2 +/* 85618C 8024401C A2020000 */ sb $v0, ($s0) +.L80244020: +/* 856190 80244020 C7A00028 */ lwc1 $f0, 0x28($sp) +/* 856194 80244024 46180002 */ mul.s $f0, $f0, $f24 +/* 856198 80244028 00000000 */ nop +/* 85619C 8024402C 4600A03E */ c.le.s $f20, $f0 +/* 8561A0 80244030 00000000 */ nop +/* 8561A4 80244034 45010005 */ bc1t .L8024404C +/* 8561A8 80244038 26030001 */ addiu $v1, $s0, 1 +/* 8561AC 8024403C 4600018D */ trunc.w.s $f6, $f0 +/* 8561B0 80244040 44023000 */ mfc1 $v0, $f6 +/* 8561B4 80244044 08091019 */ j .L80244064 +/* 8561B8 80244048 A0620000 */ sb $v0, ($v1) +.L8024404C: +/* 8561BC 8024404C 46140001 */ sub.s $f0, $f0, $f20 +/* 8561C0 80244050 4600018D */ trunc.w.s $f6, $f0 +/* 8561C4 80244054 44023000 */ mfc1 $v0, $f6 +/* 8561C8 80244058 00000000 */ nop +/* 8561CC 8024405C 00521025 */ or $v0, $v0, $s2 +/* 8561D0 80244060 A0620000 */ sb $v0, ($v1) +.L80244064: +/* 8561D4 80244064 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 8561D8 80244068 46180002 */ mul.s $f0, $f0, $f24 +/* 8561DC 8024406C 00000000 */ nop +/* 8561E0 80244070 4600A03E */ c.le.s $f20, $f0 +/* 8561E4 80244074 00000000 */ nop +/* 8561E8 80244078 45010005 */ bc1t .L80244090 +/* 8561EC 8024407C 26020002 */ addiu $v0, $s0, 2 +/* 8561F0 80244080 4600018D */ trunc.w.s $f6, $f0 +/* 8561F4 80244084 44033000 */ mfc1 $v1, $f6 +/* 8561F8 80244088 0809102A */ j .L802440A8 +/* 8561FC 8024408C A0430000 */ sb $v1, ($v0) +.L80244090: +/* 856200 80244090 46140001 */ sub.s $f0, $f0, $f20 +/* 856204 80244094 4600018D */ trunc.w.s $f6, $f0 +/* 856208 80244098 44033000 */ mfc1 $v1, $f6 +/* 85620C 8024409C 00000000 */ nop +/* 856210 802440A0 00721825 */ or $v1, $v1, $s2 +/* 856214 802440A4 A0430000 */ sb $v1, ($v0) +.L802440A8: +/* 856218 802440A8 8FA30020 */ lw $v1, 0x20($sp) +/* 85621C 802440AC 26310001 */ addiu $s1, $s1, 1 +/* 856220 802440B0 0223102A */ slt $v0, $s1, $v1 +/* 856224 802440B4 1440FFAD */ bnez $v0, .L80243F6C +/* 856228 802440B8 00000000 */ nop +.L802440BC: +/* 85622C 802440BC 3C03800A */ lui $v1, 0x800a +/* 856230 802440C0 2463A66C */ addiu $v1, $v1, -0x5994 +/* 856234 802440C4 8C620000 */ lw $v0, ($v1) +/* 856238 802440C8 24040003 */ addiu $a0, $zero, 3 +/* 85623C 802440CC 0040802D */ daddu $s0, $v0, $zero +/* 856240 802440D0 24420008 */ addiu $v0, $v0, 8 +/* 856244 802440D4 AC620000 */ sw $v0, ($v1) +/* 856248 802440D8 3C02DE00 */ lui $v0, 0xde00 +/* 85624C 802440DC 0C0470BB */ jal func_8011C2EC +/* 856250 802440E0 AE020000 */ sw $v0, ($s0) +/* 856254 802440E4 3C038025 */ lui $v1, 0x8025 +/* 856258 802440E8 24632744 */ addiu $v1, $v1, 0x2744 +/* 85625C 802440EC C4600000 */ lwc1 $f0, ($v1) +/* 856260 802440F0 3C018025 */ lui $at, 0x8025 +/* 856264 802440F4 D42229C8 */ ldc1 $f2, 0x29c8($at) +/* 856268 802440F8 46000021 */ cvt.d.s $f0, $f0 +/* 85626C 802440FC 46220000 */ add.d $f0, $f0, $f2 +/* 856270 80244100 AE020004 */ sw $v0, 4($s0) +/* 856274 80244104 3C013FF0 */ lui $at, 0x3ff0 +/* 856278 80244108 44811800 */ mtc1 $at, $f3 +/* 85627C 8024410C 44801000 */ mtc1 $zero, $f2 +/* 856280 80244110 46200120 */ cvt.s.d $f4, $f0 +/* 856284 80244114 46002021 */ cvt.d.s $f0, $f4 +/* 856288 80244118 4620103C */ c.lt.d $f2, $f0 +/* 85628C 8024411C 00000000 */ nop +/* 856290 80244120 45000006 */ bc1f .L8024413C +/* 856294 80244124 E4640000 */ swc1 $f4, ($v1) +/* 856298 80244128 3C013F80 */ lui $at, 0x3f80 +/* 85629C 8024412C 44810000 */ mtc1 $at, $f0 +/* 8562A0 80244130 00000000 */ nop +/* 8562A4 80244134 46002001 */ sub.s $f0, $f4, $f0 +/* 8562A8 80244138 E4600000 */ swc1 $f0, ($v1) +.L8024413C: +/* 8562AC 8024413C 8FBF003C */ lw $ra, 0x3c($sp) +/* 8562B0 80244140 8FB20038 */ lw $s2, 0x38($sp) +/* 8562B4 80244144 8FB10034 */ lw $s1, 0x34($sp) +/* 8562B8 80244148 8FB00030 */ lw $s0, 0x30($sp) +/* 8562BC 8024414C D7B80050 */ ldc1 $f24, 0x50($sp) +/* 8562C0 80244150 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 8562C4 80244154 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 8562C8 80244158 03E00008 */ jr $ra +/* 8562CC 8024415C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240000_864B40.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240000_864B40.s new file mode 100644 index 0000000000..eed746156f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240000_864B40.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_864B40 +/* 864B40 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 864B44 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 864B48 80240008 0080802D */ daddu $s0, $a0, $zero +/* 864B4C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 864B50 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 864B54 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 864B58 80240018 00621821 */ addu $v1, $v1, $v0 +/* 864B5C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 864B60 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 864B64 80240024 3C020002 */ lui $v0, 2 +/* 864B68 80240028 08090010 */ j .L80240040 +/* 864B6C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 864B70 80240030 3C040002 */ lui $a0, 2 +/* 864B74 80240034 0083102A */ slt $v0, $a0, $v1 +/* 864B78 80240038 10400002 */ beqz $v0, .L80240044 +/* 864B7C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 864B80 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 864B84 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 864B88 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 864B8C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 864B90 80240050 04610004 */ bgez $v1, .L80240064 +/* 864B94 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 864B98 80240058 3C020002 */ lui $v0, 2 +/* 864B9C 8024005C 0809001D */ j .L80240074 +/* 864BA0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 864BA4 80240064 3C040002 */ lui $a0, 2 +/* 864BA8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 864BAC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 864BB0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 864BB4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 864BB8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 864BBC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 864BC0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 864BC4 80240084 04610004 */ bgez $v1, .L80240098 +/* 864BC8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 864BCC 8024008C 3C020002 */ lui $v0, 2 +/* 864BD0 80240090 0809002A */ j .L802400A8 +/* 864BD4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 864BD8 80240098 3C040002 */ lui $a0, 2 +/* 864BDC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 864BE0 802400A0 10400002 */ beqz $v0, .L802400AC +/* 864BE4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 864BE8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 864BEC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 864BF0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 864BF4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 864BF8 802400B8 04610004 */ bgez $v1, .L802400CC +/* 864BFC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 864C00 802400C0 3C020002 */ lui $v0, 2 +/* 864C04 802400C4 08090037 */ j .L802400DC +/* 864C08 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 864C0C 802400CC 3C040002 */ lui $a0, 2 +/* 864C10 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 864C14 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 864C18 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 864C1C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 864C20 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 864C24 802400E4 0C046F07 */ jal set_main_pan_u +/* 864C28 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 864C2C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 864C30 802400F0 0C046F0D */ jal set_main_pan_v +/* 864C34 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 864C38 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 864C3C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 864C40 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 864C44 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 864C48 80240108 0C046F19 */ jal set_aux_pan_v +/* 864C4C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 864C50 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 864C54 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 864C58 80240118 0000102D */ daddu $v0, $zero, $zero +/* 864C5C 8024011C 03E00008 */ jr $ra +/* 864C60 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240124_864B40.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240124_864B40.s new file mode 100644 index 0000000000..fbd40a6f91 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240124_864B40.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_864C64 +/* 864C64 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 864C68 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 864C6C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 864C70 80240130 10A00005 */ beqz $a1, .L80240148 +/* 864C74 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 864C78 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 864C7C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 864C80 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 864C84 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 864C88 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 864C8C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 864C90 80240150 00000000 */ nop +/* 864C94 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 864C98 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 864C9C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 864CA0 80240160 04610004 */ bgez $v1, .L80240174 +/* 864CA4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 864CA8 80240168 3C020002 */ lui $v0, 2 +/* 864CAC 8024016C 08090061 */ j .L80240184 +/* 864CB0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 864CB4 80240174 3C040002 */ lui $a0, 2 +/* 864CB8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 864CBC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 864CC0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 864CC4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 864CC8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 864CCC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 864CD0 80240190 00000000 */ nop +/* 864CD4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 864CD8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 864CDC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 864CE0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 864CE4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 864CE8 802401A8 3C020002 */ lui $v0, 2 +/* 864CEC 802401AC 08090071 */ j .L802401C4 +/* 864CF0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 864CF4 802401B4 3C040002 */ lui $a0, 2 +/* 864CF8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 864CFC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 864D00 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 864D04 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 864D08 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 864D0C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 864D10 802401D0 00000000 */ nop +/* 864D14 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 864D18 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 864D1C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 864D20 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 864D24 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 864D28 802401E8 3C020002 */ lui $v0, 2 +/* 864D2C 802401EC 08090081 */ j .L80240204 +/* 864D30 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 864D34 802401F4 3C040002 */ lui $a0, 2 +/* 864D38 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 864D3C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 864D40 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 864D44 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 864D48 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 864D4C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 864D50 80240210 00000000 */ nop +/* 864D54 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 864D58 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 864D5C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 864D60 80240220 04610004 */ bgez $v1, .L80240234 +/* 864D64 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 864D68 80240228 3C020002 */ lui $v0, 2 +/* 864D6C 8024022C 08090091 */ j .L80240244 +/* 864D70 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 864D74 80240234 3C040002 */ lui $a0, 2 +/* 864D78 80240238 0083102A */ slt $v0, $a0, $v1 +/* 864D7C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 864D80 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 864D84 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 864D88 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 864D8C 8024024C 0C046F07 */ jal set_main_pan_u +/* 864D90 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 864D94 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 864D98 80240258 0C046F0D */ jal set_main_pan_v +/* 864D9C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 864DA0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 864DA4 80240264 0C046F13 */ jal set_aux_pan_u +/* 864DA8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 864DAC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 864DB0 80240270 0C046F19 */ jal set_aux_pan_v +/* 864DB4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 864DB8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 864DBC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 864DC0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 864DC4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 864DC8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 864DCC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 864DD0 80240290 24630001 */ addiu $v1, $v1, 1 +/* 864DD4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 864DD8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 864DDC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 864DE0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 864DE4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 864DE8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 864DEC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 864DF0 802402B0 14600002 */ bnez $v1, .L802402BC +/* 864DF4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 864DF8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 864DFC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 864E00 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 864E04 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 864E08 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 864E0C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 864E10 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 864E14 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 864E18 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 864E1C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 864E20 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 864E24 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 864E28 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 864E2C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 864E30 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 864E34 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 864E38 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 864E3C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 864E40 80240300 0000102D */ daddu $v0, $zero, $zero +/* 864E44 80240304 03E00008 */ jr $ra +/* 864E48 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_8024030C_864B40.s b/asm/nonmatchings/world/area_mac/mac_06/func_8024030C_864B40.s new file mode 100644 index 0000000000..6201c8ff08 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_8024030C_864B40.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_864E4C +/* 864E4C 8024030C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 864E50 80240310 AFB20018 */ sw $s2, 0x18($sp) +/* 864E54 80240314 0080902D */ daddu $s2, $a0, $zero +/* 864E58 80240318 AFBF0028 */ sw $ra, 0x28($sp) +/* 864E5C 8024031C AFB50024 */ sw $s5, 0x24($sp) +/* 864E60 80240320 AFB40020 */ sw $s4, 0x20($sp) +/* 864E64 80240324 AFB3001C */ sw $s3, 0x1c($sp) +/* 864E68 80240328 AFB10014 */ sw $s1, 0x14($sp) +/* 864E6C 8024032C AFB00010 */ sw $s0, 0x10($sp) +/* 864E70 80240330 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 864E74 80240334 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 864E78 80240338 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 864E7C 8024033C 8E50000C */ lw $s0, 0xc($s2) +/* 864E80 80240340 8E140000 */ lw $s4, ($s0) +/* 864E84 80240344 26100004 */ addiu $s0, $s0, 4 +/* 864E88 80240348 0C0B1EAF */ jal get_variable +/* 864E8C 8024034C 0280282D */ daddu $a1, $s4, $zero +/* 864E90 80240350 0040982D */ daddu $s3, $v0, $zero +/* 864E94 80240354 8E150000 */ lw $s5, ($s0) +/* 864E98 80240358 26100004 */ addiu $s0, $s0, 4 +/* 864E9C 8024035C 8E050000 */ lw $a1, ($s0) +/* 864EA0 80240360 26100004 */ addiu $s0, $s0, 4 +/* 864EA4 80240364 0C0B210B */ jal get_float_variable +/* 864EA8 80240368 0240202D */ daddu $a0, $s2, $zero +/* 864EAC 8024036C 8E050000 */ lw $a1, ($s0) +/* 864EB0 80240370 26100004 */ addiu $s0, $s0, 4 +/* 864EB4 80240374 0240202D */ daddu $a0, $s2, $zero +/* 864EB8 80240378 0C0B210B */ jal get_float_variable +/* 864EBC 8024037C 46000606 */ mov.s $f24, $f0 +/* 864EC0 80240380 8E050000 */ lw $a1, ($s0) +/* 864EC4 80240384 26100004 */ addiu $s0, $s0, 4 +/* 864EC8 80240388 0240202D */ daddu $a0, $s2, $zero +/* 864ECC 8024038C 0C0B1EAF */ jal get_variable +/* 864ED0 80240390 46000506 */ mov.s $f20, $f0 +/* 864ED4 80240394 8E050000 */ lw $a1, ($s0) +/* 864ED8 80240398 26100004 */ addiu $s0, $s0, 4 +/* 864EDC 8024039C 0240202D */ daddu $a0, $s2, $zero +/* 864EE0 802403A0 0C0B1EAF */ jal get_variable +/* 864EE4 802403A4 0040882D */ daddu $s1, $v0, $zero +/* 864EE8 802403A8 0240202D */ daddu $a0, $s2, $zero +/* 864EEC 802403AC 8E050000 */ lw $a1, ($s0) +/* 864EF0 802403B0 0C0B210B */ jal get_float_variable +/* 864EF4 802403B4 0040802D */ daddu $s0, $v0, $zero +/* 864EF8 802403B8 4618A501 */ sub.s $f20, $f20, $f24 +/* 864EFC 802403BC 3C013F00 */ lui $at, 0x3f00 +/* 864F00 802403C0 44811000 */ mtc1 $at, $f2 +/* 864F04 802403C4 00000000 */ nop +/* 864F08 802403C8 4602A502 */ mul.s $f20, $f20, $f2 +/* 864F0C 802403CC 00000000 */ nop +/* 864F10 802403D0 12000008 */ beqz $s0, .L802403F4 +/* 864F14 802403D4 46000586 */ mov.s $f22, $f0 +/* 864F18 802403D8 0233102A */ slt $v0, $s1, $s3 +/* 864F1C 802403DC 10400005 */ beqz $v0, .L802403F4 +/* 864F20 802403E0 0240202D */ daddu $a0, $s2, $zero +/* 864F24 802403E4 0220982D */ daddu $s3, $s1, $zero +/* 864F28 802403E8 0280282D */ daddu $a1, $s4, $zero +/* 864F2C 802403EC 0C0B2026 */ jal set_variable +/* 864F30 802403F0 0220302D */ daddu $a2, $s1, $zero +.L802403F4: +/* 864F34 802403F4 3C014334 */ lui $at, 0x4334 +/* 864F38 802403F8 44810000 */ mtc1 $at, $f0 +/* 864F3C 802403FC 44936000 */ mtc1 $s3, $f12 +/* 864F40 80240400 00000000 */ nop +/* 864F44 80240404 46806320 */ cvt.s.w $f12, $f12 +/* 864F48 80240408 46006302 */ mul.s $f12, $f12, $f0 +/* 864F4C 8024040C 00000000 */ nop +/* 864F50 80240410 44910000 */ mtc1 $s1, $f0 +/* 864F54 80240414 00000000 */ nop +/* 864F58 80240418 46800020 */ cvt.s.w $f0, $f0 +/* 864F5C 8024041C 46006303 */ div.s $f12, $f12, $f0 +/* 864F60 80240420 0C00A8D4 */ jal cos_deg +/* 864F64 80240424 46166300 */ add.s $f12, $f12, $f22 +/* 864F68 80240428 4600A002 */ mul.s $f0, $f20, $f0 +/* 864F6C 8024042C 00000000 */ nop +/* 864F70 80240430 4614C080 */ add.s $f2, $f24, $f20 +/* 864F74 80240434 46001081 */ sub.s $f2, $f2, $f0 +/* 864F78 80240438 0240202D */ daddu $a0, $s2, $zero +/* 864F7C 8024043C 44061000 */ mfc1 $a2, $f2 +/* 864F80 80240440 0C0B2190 */ jal set_float_variable +/* 864F84 80240444 02A0282D */ daddu $a1, $s5, $zero +/* 864F88 80240448 8FBF0028 */ lw $ra, 0x28($sp) +/* 864F8C 8024044C 8FB50024 */ lw $s5, 0x24($sp) +/* 864F90 80240450 8FB40020 */ lw $s4, 0x20($sp) +/* 864F94 80240454 8FB3001C */ lw $s3, 0x1c($sp) +/* 864F98 80240458 8FB20018 */ lw $s2, 0x18($sp) +/* 864F9C 8024045C 8FB10014 */ lw $s1, 0x14($sp) +/* 864FA0 80240460 8FB00010 */ lw $s0, 0x10($sp) +/* 864FA4 80240464 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 864FA8 80240468 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 864FAC 8024046C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 864FB0 80240470 24020002 */ addiu $v0, $zero, 2 +/* 864FB4 80240474 03E00008 */ jr $ra +/* 864FB8 80240478 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_8024047C_864B40.s b/asm/nonmatchings/world/area_mac/mac_06/func_8024047C_864B40.s new file mode 100644 index 0000000000..6d8e22ca67 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_8024047C_864B40.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024047C_864FBC +/* 864FBC 8024047C 44800000 */ mtc1 $zero, $f0 +/* 864FC0 80240480 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 864FC4 80240484 44050000 */ mfc1 $a1, $f0 +/* 864FC8 80240488 0000202D */ daddu $a0, $zero, $zero +/* 864FCC 8024048C AFBF0018 */ sw $ra, 0x18($sp) +/* 864FD0 80240490 AFA00014 */ sw $zero, 0x14($sp) +/* 864FD4 80240494 E7A00010 */ swc1 $f0, 0x10($sp) +/* 864FD8 80240498 00A0302D */ daddu $a2, $a1, $zero +/* 864FDC 8024049C 0C01CA54 */ jal func_80072950 +/* 864FE0 802404A0 00A0382D */ daddu $a3, $a1, $zero +/* 864FE4 802404A4 8FBF0018 */ lw $ra, 0x18($sp) +/* 864FE8 802404A8 24020002 */ addiu $v0, $zero, 2 +/* 864FEC 802404AC 03E00008 */ jr $ra +/* 864FF0 802404B0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 864FF4 802404B4 00000000 */ nop +/* 864FF8 802404B8 00000000 */ nop +/* 864FFC 802404BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_802404C0.s b/asm/nonmatchings/world/area_mac/mac_06/func_802404C0.s new file mode 100644 index 0000000000..7608e2cb2e --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_802404C0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0 +/* 865000 802404C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 865004 802404C4 0080182D */ daddu $v1, $a0, $zero +/* 865008 802404C8 00A0202D */ daddu $a0, $a1, $zero +/* 86500C 802404CC 2402FFFF */ addiu $v0, $zero, -1 +/* 865010 802404D0 14820004 */ bne $a0, $v0, .L802404E4 +/* 865014 802404D4 AFBF0010 */ sw $ra, 0x10($sp) +/* 865018 802404D8 8C64014C */ lw $a0, 0x14c($v1) +/* 86501C 802404DC 0809013E */ j .L802404F8 +/* 865020 802404E0 00000000 */ nop +.L802404E4: +/* 865024 802404E4 3C02EFE8 */ lui $v0, 0xefe8 +/* 865028 802404E8 34422080 */ ori $v0, $v0, 0x2080 +/* 86502C 802404EC 0082102A */ slt $v0, $a0, $v0 +/* 865030 802404F0 14400003 */ bnez $v0, .L80240500 +/* 865034 802404F4 0080102D */ daddu $v0, $a0, $zero +.L802404F8: +/* 865038 802404F8 0C00EAD2 */ jal get_npc_safe +/* 86503C 802404FC 00000000 */ nop +.L80240500: +/* 865040 80240500 8FBF0010 */ lw $ra, 0x10($sp) +/* 865044 80240504 03E00008 */ jr $ra +/* 865048 80240508 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_8024050C.s b/asm/nonmatchings/world/area_mac/mac_06/func_8024050C.s new file mode 100644 index 0000000000..70f6e0607f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_8024050C.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024050C +/* 86504C 8024050C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 865050 80240510 AFB10014 */ sw $s1, 0x14($sp) +/* 865054 80240514 0080882D */ daddu $s1, $a0, $zero +/* 865058 80240518 AFBF0024 */ sw $ra, 0x24($sp) +/* 86505C 8024051C AFB40020 */ sw $s4, 0x20($sp) +/* 865060 80240520 AFB3001C */ sw $s3, 0x1c($sp) +/* 865064 80240524 AFB20018 */ sw $s2, 0x18($sp) +/* 865068 80240528 AFB00010 */ sw $s0, 0x10($sp) +/* 86506C 8024052C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 865070 80240530 8E30000C */ lw $s0, 0xc($s1) +/* 865074 80240534 8E050000 */ lw $a1, ($s0) +/* 865078 80240538 0C0B1EAF */ jal get_variable +/* 86507C 8024053C 26100004 */ addiu $s0, $s0, 4 +/* 865080 80240540 8E120000 */ lw $s2, ($s0) +/* 865084 80240544 26100004 */ addiu $s0, $s0, 4 +/* 865088 80240548 0220202D */ daddu $a0, $s1, $zero +/* 86508C 8024054C 8E130000 */ lw $s3, ($s0) +/* 865090 80240550 8E140004 */ lw $s4, 4($s0) +/* 865094 80240554 0C090130 */ jal func_802404C0 +/* 865098 80240558 0040282D */ daddu $a1, $v0, $zero +/* 86509C 8024055C 0040802D */ daddu $s0, $v0, $zero +/* 8650A0 80240560 12000034 */ beqz $s0, .L80240634 +/* 8650A4 80240564 24020002 */ addiu $v0, $zero, 2 +/* 8650A8 80240568 3C038024 */ lui $v1, 0x8024 +/* 8650AC 8024056C 24631B60 */ addiu $v1, $v1, 0x1b60 +/* 8650B0 80240570 8C640000 */ lw $a0, ($v1) +/* 8650B4 80240574 24820004 */ addiu $v0, $a0, 4 +/* 8650B8 80240578 AC620000 */ sw $v0, ($v1) +/* 8650BC 8024057C 2C420168 */ sltiu $v0, $v0, 0x168 +/* 8650C0 80240580 14400004 */ bnez $v0, .L80240594 +/* 8650C4 80240584 3C0200B6 */ lui $v0, 0xb6 +/* 8650C8 80240588 2482FE9C */ addiu $v0, $a0, -0x164 +/* 8650CC 8024058C AC620000 */ sw $v0, ($v1) +/* 8650D0 80240590 3C0200B6 */ lui $v0, 0xb6 +.L80240594: +/* 8650D4 80240594 8E030028 */ lw $v1, 0x28($s0) +/* 8650D8 80240598 C614003C */ lwc1 $f20, 0x3c($s0) +/* 8650DC 8024059C 10620009 */ beq $v1, $v0, .L802405C4 +/* 8650E0 802405A0 34420004 */ ori $v0, $v0, 4 +/* 8650E4 802405A4 10620007 */ beq $v1, $v0, .L802405C4 +/* 8650E8 802405A8 3C0200B6 */ lui $v0, 0xb6 +/* 8650EC 802405AC 34420008 */ ori $v0, $v0, 8 +/* 8650F0 802405B0 10620004 */ beq $v1, $v0, .L802405C4 +/* 8650F4 802405B4 3C0200B6 */ lui $v0, 0xb6 +/* 8650F8 802405B8 3442000C */ ori $v0, $v0, 0xc +/* 8650FC 802405BC 14620011 */ bne $v1, $v0, .L80240604 +/* 865100 802405C0 0220202D */ daddu $a0, $s1, $zero +.L802405C4: +/* 865104 802405C4 3C028024 */ lui $v0, 0x8024 +/* 865108 802405C8 8C421B60 */ lw $v0, 0x1b60($v0) +/* 86510C 802405CC 44826000 */ mtc1 $v0, $f12 +/* 865110 802405D0 00000000 */ nop +/* 865114 802405D4 04410006 */ bgez $v0, .L802405F0 +/* 865118 802405D8 46806321 */ cvt.d.w $f12, $f12 +/* 86511C 802405DC 3C0141F0 */ lui $at, 0x41f0 +/* 865120 802405E0 44810800 */ mtc1 $at, $f1 +/* 865124 802405E4 44800000 */ mtc1 $zero, $f0 +/* 865128 802405E8 00000000 */ nop +/* 86512C 802405EC 46206300 */ add.d $f12, $f12, $f0 +.L802405F0: +/* 865130 802405F0 0C00A8BB */ jal sin_deg +/* 865134 802405F4 46206320 */ cvt.s.d $f12, $f12 +/* 865138 802405F8 46000000 */ add.s $f0, $f0, $f0 +/* 86513C 802405FC 4600A500 */ add.s $f20, $f20, $f0 +/* 865140 80240600 0220202D */ daddu $a0, $s1, $zero +.L80240604: +/* 865144 80240604 8E060038 */ lw $a2, 0x38($s0) +/* 865148 80240608 0C0B2190 */ jal set_float_variable +/* 86514C 8024060C 0240282D */ daddu $a1, $s2, $zero +/* 865150 80240610 0220202D */ daddu $a0, $s1, $zero +/* 865154 80240614 4406A000 */ mfc1 $a2, $f20 +/* 865158 80240618 0C0B2190 */ jal set_float_variable +/* 86515C 8024061C 0260282D */ daddu $a1, $s3, $zero +/* 865160 80240620 0220202D */ daddu $a0, $s1, $zero +/* 865164 80240624 8E060040 */ lw $a2, 0x40($s0) +/* 865168 80240628 0C0B2190 */ jal set_float_variable +/* 86516C 8024062C 0280282D */ daddu $a1, $s4, $zero +/* 865170 80240630 24020002 */ addiu $v0, $zero, 2 +.L80240634: +/* 865174 80240634 8FBF0024 */ lw $ra, 0x24($sp) +/* 865178 80240638 8FB40020 */ lw $s4, 0x20($sp) +/* 86517C 8024063C 8FB3001C */ lw $s3, 0x1c($sp) +/* 865180 80240640 8FB20018 */ lw $s2, 0x18($sp) +/* 865184 80240644 8FB10014 */ lw $s1, 0x14($sp) +/* 865188 80240648 8FB00010 */ lw $s0, 0x10($sp) +/* 86518C 8024064C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 865190 80240650 03E00008 */ jr $ra +/* 865194 80240654 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240658.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240658.s new file mode 100644 index 0000000000..1ca9dbb0de --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240658.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240658 +/* 865198 80240658 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 86519C 8024065C AFB20018 */ sw $s2, 0x18($sp) +/* 8651A0 80240660 0080902D */ daddu $s2, $a0, $zero +/* 8651A4 80240664 AFB10014 */ sw $s1, 0x14($sp) +/* 8651A8 80240668 00A0882D */ daddu $s1, $a1, $zero +/* 8651AC 8024066C AFB7002C */ sw $s7, 0x2c($sp) +/* 8651B0 80240670 00C0B82D */ daddu $s7, $a2, $zero +/* 8651B4 80240674 AFB00010 */ sw $s0, 0x10($sp) +/* 8651B8 80240678 00E0802D */ daddu $s0, $a3, $zero +/* 8651BC 8024067C AFBF0030 */ sw $ra, 0x30($sp) +/* 8651C0 80240680 AFB60028 */ sw $s6, 0x28($sp) +/* 8651C4 80240684 AFB50024 */ sw $s5, 0x24($sp) +/* 8651C8 80240688 AFB40020 */ sw $s4, 0x20($sp) +/* 8651CC 8024068C AFB3001C */ sw $s3, 0x1c($sp) +/* 8651D0 80240690 F7BE0060 */ sdc1 $f30, 0x60($sp) +/* 8651D4 80240694 F7BC0058 */ sdc1 $f28, 0x58($sp) +/* 8651D8 80240698 F7BA0050 */ sdc1 $f26, 0x50($sp) +/* 8651DC 8024069C F7B80048 */ sdc1 $f24, 0x48($sp) +/* 8651E0 802406A0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 8651E4 802406A4 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 8651E8 802406A8 8E160000 */ lw $s6, ($s0) +/* 8651EC 802406AC 0C00EAD2 */ jal get_npc_safe +/* 8651F0 802406B0 0000202D */ daddu $a0, $zero, $zero +/* 8651F4 802406B4 8C420028 */ lw $v0, 0x28($v0) +/* 8651F8 802406B8 3C03FF4A */ lui $v1, 0xff4a +/* 8651FC 802406BC 00431821 */ addu $v1, $v0, $v1 +/* 865200 802406C0 2C62000D */ sltiu $v0, $v1, 0xd +/* 865204 802406C4 1040000B */ beqz $v0, .L802406F4 +/* 865208 802406C8 00031080 */ sll $v0, $v1, 2 +/* 86520C 802406CC 3C018024 */ lui $at, 0x8024 +/* 865210 802406D0 00220821 */ addu $at, $at, $v0 +/* 865214 802406D4 8C224910 */ lw $v0, 0x4910($at) +/* 865218 802406D8 00400008 */ jr $v0 +/* 86521C 802406DC 00000000 */ nop +/* 865220 802406E0 8E020000 */ lw $v0, ($s0) +/* 865224 802406E4 04410003 */ bgez $v0, .L802406F4 +/* 865228 802406E8 00000000 */ nop +/* 86522C 802406EC 0000B02D */ daddu $s6, $zero, $zero +/* 865230 802406F0 AE000000 */ sw $zero, ($s0) +.L802406F4: +/* 865234 802406F4 1AE00065 */ blez $s7, .L8024088C +/* 865238 802406F8 0000A02D */ daddu $s4, $zero, $zero +/* 86523C 802406FC 0220982D */ daddu $s3, $s1, $zero +/* 865240 80240700 3C014220 */ lui $at, 0x4220 +/* 865244 80240704 4481F000 */ mtc1 $at, $f30 +/* 865248 80240708 3C014120 */ lui $at, 0x4120 +/* 86524C 8024070C 4481E000 */ mtc1 $at, $f28 +.L80240710: +/* 865250 80240710 86440000 */ lh $a0, ($s2) +/* 865254 80240714 2882001F */ slti $v0, $a0, 0x1f +/* 865258 80240718 54400058 */ bnel $v0, $zero, .L8024087C +/* 86525C 8024071C 26730010 */ addiu $s3, $s3, 0x10 +/* 865260 80240720 3C026666 */ lui $v0, 0x6666 +/* 865264 80240724 34426667 */ ori $v0, $v0, 0x6667 +/* 865268 80240728 2483FFE2 */ addiu $v1, $a0, -0x1e +/* 86526C 8024072C 00620018 */ mult $v1, $v0 +/* 865270 80240730 4480C000 */ mtc1 $zero, $f24 +/* 865274 80240734 0000802D */ daddu $s0, $zero, $zero +/* 865278 80240738 00031FC3 */ sra $v1, $v1, 0x1f +/* 86527C 8024073C 4600C686 */ mov.s $f26, $f24 +/* 865280 80240740 00004010 */ mfhi $t0 +/* 865284 80240744 00081083 */ sra $v0, $t0, 2 +/* 865288 80240748 00438823 */ subu $s1, $v0, $v1 +/* 86528C 8024074C 00111080 */ sll $v0, $s1, 2 +/* 865290 80240750 00511021 */ addu $v0, $v0, $s1 +/* 865294 80240754 00021040 */ sll $v0, $v0, 1 +/* 865298 80240758 2442001E */ addiu $v0, $v0, 0x1e +/* 86529C 8024075C 1A20001D */ blez $s1, .L802407D4 +/* 8652A0 80240760 0082A823 */ subu $s5, $a0, $v0 +.L80240764: +/* 8652A4 80240764 44966000 */ mtc1 $s6, $f12 +/* 8652A8 80240768 00000000 */ nop +/* 8652AC 8024076C 0C00A8BB */ jal sin_deg +/* 8652B0 80240770 46806320 */ cvt.s.w $f12, $f12 +/* 8652B4 80240774 44902000 */ mtc1 $s0, $f4 +/* 8652B8 80240778 00000000 */ nop +/* 8652BC 8024077C 46802120 */ cvt.s.w $f4, $f4 +/* 8652C0 80240780 461E2083 */ div.s $f2, $f4, $f30 +/* 8652C4 80240784 46001082 */ mul.s $f2, $f2, $f0 +/* 8652C8 80240788 00000000 */ nop +/* 8652CC 8024078C 3C014170 */ lui $at, 0x4170 +/* 8652D0 80240790 44813000 */ mtc1 $at, $f6 +/* 8652D4 80240794 00000000 */ nop +/* 8652D8 80240798 46062103 */ div.s $f4, $f4, $f6 +/* 8652DC 8024079C 46022580 */ add.s $f22, $f4, $f2 +/* 8652E0 802407A0 0C00A874 */ jal cos_rad +/* 8652E4 802407A4 4600B306 */ mov.s $f12, $f22 +/* 8652E8 802407A8 461C0002 */ mul.s $f0, $f0, $f28 +/* 8652EC 802407AC 00000000 */ nop +/* 8652F0 802407B0 4600D680 */ add.s $f26, $f26, $f0 +/* 8652F4 802407B4 0C00A85B */ jal sin_rad +/* 8652F8 802407B8 4600B306 */ mov.s $f12, $f22 +/* 8652FC 802407BC 461C0002 */ mul.s $f0, $f0, $f28 +/* 865300 802407C0 00000000 */ nop +/* 865304 802407C4 26100001 */ addiu $s0, $s0, 1 +/* 865308 802407C8 0211102A */ slt $v0, $s0, $s1 +/* 86530C 802407CC 1440FFE5 */ bnez $v0, .L80240764 +/* 865310 802407D0 4600C600 */ add.s $f24, $f24, $f0 +.L802407D4: +/* 865314 802407D4 44966000 */ mtc1 $s6, $f12 +/* 865318 802407D8 00000000 */ nop +/* 86531C 802407DC 0C00A8BB */ jal sin_deg +/* 865320 802407E0 46806320 */ cvt.s.w $f12, $f12 +/* 865324 802407E4 44902000 */ mtc1 $s0, $f4 +/* 865328 802407E8 00000000 */ nop +/* 86532C 802407EC 46802120 */ cvt.s.w $f4, $f4 +/* 865330 802407F0 461E2083 */ div.s $f2, $f4, $f30 +/* 865334 802407F4 46001082 */ mul.s $f2, $f2, $f0 +/* 865338 802407F8 00000000 */ nop +/* 86533C 802407FC 3C014170 */ lui $at, 0x4170 +/* 865340 80240800 44813000 */ mtc1 $at, $f6 +/* 865344 80240804 00000000 */ nop +/* 865348 80240808 46062103 */ div.s $f4, $f4, $f6 +/* 86534C 8024080C 46022580 */ add.s $f22, $f4, $f2 +/* 865350 80240810 0C00A874 */ jal cos_rad +/* 865354 80240814 4600B306 */ mov.s $f12, $f22 +/* 865358 80240818 4495A000 */ mtc1 $s5, $f20 +/* 86535C 8024081C 00000000 */ nop +/* 865360 80240820 4680A520 */ cvt.s.w $f20, $f20 +/* 865364 80240824 4600A002 */ mul.s $f0, $f20, $f0 +/* 865368 80240828 00000000 */ nop +/* 86536C 8024082C 4600D680 */ add.s $f26, $f26, $f0 +/* 865370 80240830 0C00A85B */ jal sin_rad +/* 865374 80240834 4600B306 */ mov.s $f12, $f22 +/* 865378 80240838 4600A502 */ mul.s $f20, $f20, $f0 +/* 86537C 8024083C 00000000 */ nop +/* 865380 80240840 4600D18D */ trunc.w.s $f6, $f26 +/* 865384 80240844 44023000 */ mfc1 $v0, $f6 +/* 865388 80240848 00000000 */ nop +/* 86538C 8024084C A6620000 */ sh $v0, ($s3) +/* 865390 80240850 86420002 */ lh $v0, 2($s2) +/* 865394 80240854 4614C600 */ add.s $f24, $f24, $f20 +/* 865398 80240858 44820000 */ mtc1 $v0, $f0 +/* 86539C 8024085C 00000000 */ nop +/* 8653A0 80240860 46800020 */ cvt.s.w $f0, $f0 +/* 8653A4 80240864 46180000 */ add.s $f0, $f0, $f24 +/* 8653A8 80240868 4600018D */ trunc.w.s $f6, $f0 +/* 8653AC 8024086C 44023000 */ mfc1 $v0, $f6 +/* 8653B0 80240870 00000000 */ nop +/* 8653B4 80240874 A6620002 */ sh $v0, 2($s3) +/* 8653B8 80240878 26730010 */ addiu $s3, $s3, 0x10 +.L8024087C: +/* 8653BC 8024087C 26940001 */ addiu $s4, $s4, 1 +/* 8653C0 80240880 0297102A */ slt $v0, $s4, $s7 +/* 8653C4 80240884 1440FFA2 */ bnez $v0, .L80240710 +/* 8653C8 80240888 26520010 */ addiu $s2, $s2, 0x10 +.L8024088C: +/* 8653CC 8024088C 8FBF0030 */ lw $ra, 0x30($sp) +/* 8653D0 80240890 8FB7002C */ lw $s7, 0x2c($sp) +/* 8653D4 80240894 8FB60028 */ lw $s6, 0x28($sp) +/* 8653D8 80240898 8FB50024 */ lw $s5, 0x24($sp) +/* 8653DC 8024089C 8FB40020 */ lw $s4, 0x20($sp) +/* 8653E0 802408A0 8FB3001C */ lw $s3, 0x1c($sp) +/* 8653E4 802408A4 8FB20018 */ lw $s2, 0x18($sp) +/* 8653E8 802408A8 8FB10014 */ lw $s1, 0x14($sp) +/* 8653EC 802408AC 8FB00010 */ lw $s0, 0x10($sp) +/* 8653F0 802408B0 D7BE0060 */ ldc1 $f30, 0x60($sp) +/* 8653F4 802408B4 D7BC0058 */ ldc1 $f28, 0x58($sp) +/* 8653F8 802408B8 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* 8653FC 802408BC D7B80048 */ ldc1 $f24, 0x48($sp) +/* 865400 802408C0 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 865404 802408C4 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 865408 802408C8 03E00008 */ jr $ra +/* 86540C 802408CC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_802408D0.s b/asm/nonmatchings/world/area_mac/mac_06/func_802408D0.s new file mode 100644 index 0000000000..bb85aabaa5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_802408D0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0 +/* 865410 802408D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 865414 802408D4 24040001 */ addiu $a0, $zero, 1 +/* 865418 802408D8 27A50010 */ addiu $a1, $sp, 0x10 +/* 86541C 802408DC 27A60014 */ addiu $a2, $sp, 0x14 +/* 865420 802408E0 27A70018 */ addiu $a3, $sp, 0x18 +/* 865424 802408E4 AFBF0028 */ sw $ra, 0x28($sp) +/* 865428 802408E8 AFB10024 */ sw $s1, 0x24($sp) +/* 86542C 802408EC 0C0470AC */ jal func_8011C2B0 +/* 865430 802408F0 AFB00020 */ sw $s0, 0x20($sp) +/* 865434 802408F4 3C118024 */ lui $s1, 0x8024 +/* 865438 802408F8 26311B64 */ addiu $s1, $s1, 0x1b64 +/* 86543C 802408FC 8FA40010 */ lw $a0, 0x10($sp) +/* 865440 80240900 8FA50014 */ lw $a1, 0x14($sp) +/* 865444 80240904 8FA60018 */ lw $a2, 0x18($sp) +/* 865448 80240908 0C090196 */ jal func_80240658 +/* 86544C 8024090C 0220382D */ daddu $a3, $s1, $zero +/* 865450 80240910 3C03800A */ lui $v1, 0x800a +/* 865454 80240914 2463A66C */ addiu $v1, $v1, -0x5994 +/* 865458 80240918 8C620000 */ lw $v0, ($v1) +/* 86545C 8024091C 24040001 */ addiu $a0, $zero, 1 +/* 865460 80240920 0040802D */ daddu $s0, $v0, $zero +/* 865464 80240924 24420008 */ addiu $v0, $v0, 8 +/* 865468 80240928 AC620000 */ sw $v0, ($v1) +/* 86546C 8024092C 3C02DE00 */ lui $v0, 0xde00 +/* 865470 80240930 0C0470BB */ jal func_8011C2EC +/* 865474 80240934 AE020000 */ sw $v0, ($s0) +/* 865478 80240938 8E230000 */ lw $v1, ($s1) +/* 86547C 8024093C 04600003 */ bltz $v1, .L8024094C +/* 865480 80240940 AE020004 */ sw $v0, 4($s0) +/* 865484 80240944 24620004 */ addiu $v0, $v1, 4 +/* 865488 80240948 AE220000 */ sw $v0, ($s1) +.L8024094C: +/* 86548C 8024094C 8E220000 */ lw $v0, ($s1) +/* 865490 80240950 28420168 */ slti $v0, $v0, 0x168 +/* 865494 80240954 14400002 */ bnez $v0, .L80240960 +/* 865498 80240958 2402FFFF */ addiu $v0, $zero, -1 +/* 86549C 8024095C AE220000 */ sw $v0, ($s1) +.L80240960: +/* 8654A0 80240960 8FBF0028 */ lw $ra, 0x28($sp) +/* 8654A4 80240964 8FB10024 */ lw $s1, 0x24($sp) +/* 8654A8 80240968 8FB00020 */ lw $s0, 0x20($sp) +/* 8654AC 8024096C 03E00008 */ jr $ra +/* 8654B0 80240970 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240974.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240974.s new file mode 100644 index 0000000000..4ef03c69e9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240974.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240974 +/* 8654B4 80240974 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8654B8 80240978 24040002 */ addiu $a0, $zero, 2 +/* 8654BC 8024097C 27A50010 */ addiu $a1, $sp, 0x10 +/* 8654C0 80240980 27A60014 */ addiu $a2, $sp, 0x14 +/* 8654C4 80240984 27A70018 */ addiu $a3, $sp, 0x18 +/* 8654C8 80240988 AFBF0028 */ sw $ra, 0x28($sp) +/* 8654CC 8024098C AFB10024 */ sw $s1, 0x24($sp) +/* 8654D0 80240990 0C0470AC */ jal func_8011C2B0 +/* 8654D4 80240994 AFB00020 */ sw $s0, 0x20($sp) +/* 8654D8 80240998 3C118024 */ lui $s1, 0x8024 +/* 8654DC 8024099C 26311B68 */ addiu $s1, $s1, 0x1b68 +/* 8654E0 802409A0 8FA40010 */ lw $a0, 0x10($sp) +/* 8654E4 802409A4 8FA50014 */ lw $a1, 0x14($sp) +/* 8654E8 802409A8 8FA60018 */ lw $a2, 0x18($sp) +/* 8654EC 802409AC 0C090196 */ jal func_80240658 +/* 8654F0 802409B0 0220382D */ daddu $a3, $s1, $zero +/* 8654F4 802409B4 3C03800A */ lui $v1, 0x800a +/* 8654F8 802409B8 2463A66C */ addiu $v1, $v1, -0x5994 +/* 8654FC 802409BC 8C620000 */ lw $v0, ($v1) +/* 865500 802409C0 24040002 */ addiu $a0, $zero, 2 +/* 865504 802409C4 0040802D */ daddu $s0, $v0, $zero +/* 865508 802409C8 24420008 */ addiu $v0, $v0, 8 +/* 86550C 802409CC AC620000 */ sw $v0, ($v1) +/* 865510 802409D0 3C02DE00 */ lui $v0, 0xde00 +/* 865514 802409D4 0C0470BB */ jal func_8011C2EC +/* 865518 802409D8 AE020000 */ sw $v0, ($s0) +/* 86551C 802409DC 8E230000 */ lw $v1, ($s1) +/* 865520 802409E0 04600003 */ bltz $v1, .L802409F0 +/* 865524 802409E4 AE020004 */ sw $v0, 4($s0) +/* 865528 802409E8 24620004 */ addiu $v0, $v1, 4 +/* 86552C 802409EC AE220000 */ sw $v0, ($s1) +.L802409F0: +/* 865530 802409F0 8E220000 */ lw $v0, ($s1) +/* 865534 802409F4 28420168 */ slti $v0, $v0, 0x168 +/* 865538 802409F8 14400002 */ bnez $v0, .L80240A04 +/* 86553C 802409FC 2402FFFF */ addiu $v0, $zero, -1 +/* 865540 80240A00 AE220000 */ sw $v0, ($s1) +.L80240A04: +/* 865544 80240A04 8FBF0028 */ lw $ra, 0x28($sp) +/* 865548 80240A08 8FB10024 */ lw $s1, 0x24($sp) +/* 86554C 80240A0C 8FB00020 */ lw $s0, 0x20($sp) +/* 865550 80240A10 03E00008 */ jr $ra +/* 865554 80240A14 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240A18.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240A18.s new file mode 100644 index 0000000000..22906522c4 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240A18.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A18 +/* 865558 80240A18 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 86555C 80240A1C AFB20018 */ sw $s2, 0x18($sp) +/* 865560 80240A20 0080902D */ daddu $s2, $a0, $zero +/* 865564 80240A24 AFBF0028 */ sw $ra, 0x28($sp) +/* 865568 80240A28 AFB50024 */ sw $s5, 0x24($sp) +/* 86556C 80240A2C AFB40020 */ sw $s4, 0x20($sp) +/* 865570 80240A30 AFB3001C */ sw $s3, 0x1c($sp) +/* 865574 80240A34 AFB10014 */ sw $s1, 0x14($sp) +/* 865578 80240A38 AFB00010 */ sw $s0, 0x10($sp) +/* 86557C 80240A3C F7B80040 */ sdc1 $f24, 0x40($sp) +/* 865580 80240A40 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 865584 80240A44 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 865588 80240A48 8E50000C */ lw $s0, 0xc($s2) +/* 86558C 80240A4C 8E140000 */ lw $s4, ($s0) +/* 865590 80240A50 26100004 */ addiu $s0, $s0, 4 +/* 865594 80240A54 0C0B1EAF */ jal get_variable +/* 865598 80240A58 0280282D */ daddu $a1, $s4, $zero +/* 86559C 80240A5C 0040982D */ daddu $s3, $v0, $zero +/* 8655A0 80240A60 8E150000 */ lw $s5, ($s0) +/* 8655A4 80240A64 26100004 */ addiu $s0, $s0, 4 +/* 8655A8 80240A68 8E050000 */ lw $a1, ($s0) +/* 8655AC 80240A6C 26100004 */ addiu $s0, $s0, 4 +/* 8655B0 80240A70 0C0B210B */ jal get_float_variable +/* 8655B4 80240A74 0240202D */ daddu $a0, $s2, $zero +/* 8655B8 80240A78 8E050000 */ lw $a1, ($s0) +/* 8655BC 80240A7C 26100004 */ addiu $s0, $s0, 4 +/* 8655C0 80240A80 0240202D */ daddu $a0, $s2, $zero +/* 8655C4 80240A84 0C0B210B */ jal get_float_variable +/* 8655C8 80240A88 46000606 */ mov.s $f24, $f0 +/* 8655CC 80240A8C 8E050000 */ lw $a1, ($s0) +/* 8655D0 80240A90 26100004 */ addiu $s0, $s0, 4 +/* 8655D4 80240A94 0240202D */ daddu $a0, $s2, $zero +/* 8655D8 80240A98 0C0B1EAF */ jal get_variable +/* 8655DC 80240A9C 46000506 */ mov.s $f20, $f0 +/* 8655E0 80240AA0 8E050000 */ lw $a1, ($s0) +/* 8655E4 80240AA4 26100004 */ addiu $s0, $s0, 4 +/* 8655E8 80240AA8 0240202D */ daddu $a0, $s2, $zero +/* 8655EC 80240AAC 0C0B1EAF */ jal get_variable +/* 8655F0 80240AB0 0040882D */ daddu $s1, $v0, $zero +/* 8655F4 80240AB4 0240202D */ daddu $a0, $s2, $zero +/* 8655F8 80240AB8 8E050000 */ lw $a1, ($s0) +/* 8655FC 80240ABC 0C0B210B */ jal get_float_variable +/* 865600 80240AC0 0040802D */ daddu $s0, $v0, $zero +/* 865604 80240AC4 4618A501 */ sub.s $f20, $f20, $f24 +/* 865608 80240AC8 3C013F00 */ lui $at, 0x3f00 +/* 86560C 80240ACC 44811000 */ mtc1 $at, $f2 +/* 865610 80240AD0 00000000 */ nop +/* 865614 80240AD4 4602A502 */ mul.s $f20, $f20, $f2 +/* 865618 80240AD8 00000000 */ nop +/* 86561C 80240ADC 12000008 */ beqz $s0, .L80240B00 +/* 865620 80240AE0 46000586 */ mov.s $f22, $f0 +/* 865624 80240AE4 0233102A */ slt $v0, $s1, $s3 +/* 865628 80240AE8 10400005 */ beqz $v0, .L80240B00 +/* 86562C 80240AEC 0240202D */ daddu $a0, $s2, $zero +/* 865630 80240AF0 0220982D */ daddu $s3, $s1, $zero +/* 865634 80240AF4 0280282D */ daddu $a1, $s4, $zero +/* 865638 80240AF8 0C0B2026 */ jal set_variable +/* 86563C 80240AFC 0220302D */ daddu $a2, $s1, $zero +.L80240B00: +/* 865640 80240B00 3C014334 */ lui $at, 0x4334 +/* 865644 80240B04 44810000 */ mtc1 $at, $f0 +/* 865648 80240B08 44936000 */ mtc1 $s3, $f12 +/* 86564C 80240B0C 00000000 */ nop +/* 865650 80240B10 46806320 */ cvt.s.w $f12, $f12 +/* 865654 80240B14 46006302 */ mul.s $f12, $f12, $f0 +/* 865658 80240B18 00000000 */ nop +/* 86565C 80240B1C 44910000 */ mtc1 $s1, $f0 +/* 865660 80240B20 00000000 */ nop +/* 865664 80240B24 46800020 */ cvt.s.w $f0, $f0 +/* 865668 80240B28 46006303 */ div.s $f12, $f12, $f0 +/* 86566C 80240B2C 0C00A8D4 */ jal cos_deg +/* 865670 80240B30 46166300 */ add.s $f12, $f12, $f22 +/* 865674 80240B34 4600A002 */ mul.s $f0, $f20, $f0 +/* 865678 80240B38 00000000 */ nop +/* 86567C 80240B3C 4614C080 */ add.s $f2, $f24, $f20 +/* 865680 80240B40 46001081 */ sub.s $f2, $f2, $f0 +/* 865684 80240B44 0240202D */ daddu $a0, $s2, $zero +/* 865688 80240B48 44061000 */ mfc1 $a2, $f2 +/* 86568C 80240B4C 0C0B2190 */ jal set_float_variable +/* 865690 80240B50 02A0282D */ daddu $a1, $s5, $zero +/* 865694 80240B54 8FBF0028 */ lw $ra, 0x28($sp) +/* 865698 80240B58 8FB50024 */ lw $s5, 0x24($sp) +/* 86569C 80240B5C 8FB40020 */ lw $s4, 0x20($sp) +/* 8656A0 80240B60 8FB3001C */ lw $s3, 0x1c($sp) +/* 8656A4 80240B64 8FB20018 */ lw $s2, 0x18($sp) +/* 8656A8 80240B68 8FB10014 */ lw $s1, 0x14($sp) +/* 8656AC 80240B6C 8FB00010 */ lw $s0, 0x10($sp) +/* 8656B0 80240B70 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 8656B4 80240B74 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 8656B8 80240B78 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 8656BC 80240B7C 24020002 */ addiu $v0, $zero, 2 +/* 8656C0 80240B80 03E00008 */ jr $ra +/* 8656C4 80240B84 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240B88.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240B88.s new file mode 100644 index 0000000000..0cff3b4976 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240B88.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B88 +/* 8656C8 80240B88 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 8656CC 80240B8C AFB10014 */ sw $s1, 0x14($sp) +/* 8656D0 80240B90 0080882D */ daddu $s1, $a0, $zero +/* 8656D4 80240B94 AFBF0018 */ sw $ra, 0x18($sp) +/* 8656D8 80240B98 AFB00010 */ sw $s0, 0x10($sp) +/* 8656DC 80240B9C F7B80030 */ sdc1 $f24, 0x30($sp) +/* 8656E0 80240BA0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 8656E4 80240BA4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8656E8 80240BA8 0C00EAD2 */ jal get_npc_safe +/* 8656EC 80240BAC 0000202D */ daddu $a0, $zero, $zero +/* 8656F0 80240BB0 0040802D */ daddu $s0, $v0, $zero +/* 8656F4 80240BB4 C614000C */ lwc1 $f20, 0xc($s0) +/* 8656F8 80240BB8 3C01428C */ lui $at, 0x428c +/* 8656FC 80240BBC 4481C000 */ mtc1 $at, $f24 +/* 865700 80240BC0 4600A507 */ neg.s $f20, $f20 +/* 865704 80240BC4 0C00A8BB */ jal sin_deg +/* 865708 80240BC8 4600A306 */ mov.s $f12, $f20 +/* 86570C 80240BCC 46180002 */ mul.s $f0, $f0, $f24 +/* 865710 80240BD0 00000000 */ nop +/* 865714 80240BD4 C6160038 */ lwc1 $f22, 0x38($s0) +/* 865718 80240BD8 3C0141F0 */ lui $at, 0x41f0 +/* 86571C 80240BDC 44811000 */ mtc1 $at, $f2 +/* 865720 80240BE0 00000000 */ nop +/* 865724 80240BE4 4602B580 */ add.s $f22, $f22, $f2 +/* 865728 80240BE8 4600A306 */ mov.s $f12, $f20 +/* 86572C 80240BEC 0C00A8D4 */ jal cos_deg +/* 865730 80240BF0 4600B580 */ add.s $f22, $f22, $f0 +/* 865734 80240BF4 0220202D */ daddu $a0, $s1, $zero +/* 865738 80240BF8 46180002 */ mul.s $f0, $f0, $f24 +/* 86573C 80240BFC 00000000 */ nop +/* 865740 80240C00 3C05FE36 */ lui $a1, 0xfe36 +/* 865744 80240C04 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 865748 80240C08 C6180040 */ lwc1 $f24, 0x40($s0) +/* 86574C 80240C0C C614003C */ lwc1 $f20, 0x3c($s0) +/* 865750 80240C10 4600C600 */ add.s $f24, $f24, $f0 +/* 865754 80240C14 3C014248 */ lui $at, 0x4248 +/* 865758 80240C18 44810000 */ mtc1 $at, $f0 +/* 86575C 80240C1C 4406B000 */ mfc1 $a2, $f22 +/* 865760 80240C20 0C0B2190 */ jal set_float_variable +/* 865764 80240C24 4600A500 */ add.s $f20, $f20, $f0 +/* 865768 80240C28 0220202D */ daddu $a0, $s1, $zero +/* 86576C 80240C2C 3C05FE36 */ lui $a1, 0xfe36 +/* 865770 80240C30 4406A000 */ mfc1 $a2, $f20 +/* 865774 80240C34 0C0B2190 */ jal set_float_variable +/* 865778 80240C38 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 86577C 80240C3C 0220202D */ daddu $a0, $s1, $zero +/* 865780 80240C40 3C05FE36 */ lui $a1, 0xfe36 +/* 865784 80240C44 4406C000 */ mfc1 $a2, $f24 +/* 865788 80240C48 0C0B2190 */ jal set_float_variable +/* 86578C 80240C4C 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 865790 80240C50 8FBF0018 */ lw $ra, 0x18($sp) +/* 865794 80240C54 8FB10014 */ lw $s1, 0x14($sp) +/* 865798 80240C58 8FB00010 */ lw $s0, 0x10($sp) +/* 86579C 80240C5C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8657A0 80240C60 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8657A4 80240C64 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8657A8 80240C68 24020002 */ addiu $v0, $zero, 2 +/* 8657AC 80240C6C 03E00008 */ jr $ra +/* 8657B0 80240C70 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240C74.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240C74.s new file mode 100644 index 0000000000..a92c8e8dde --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240C74.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74 +/* 8657B4 80240C74 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 8657B8 80240C78 AFB10034 */ sw $s1, 0x34($sp) +/* 8657BC 80240C7C 0080882D */ daddu $s1, $a0, $zero +/* 8657C0 80240C80 AFBF003C */ sw $ra, 0x3c($sp) +/* 8657C4 80240C84 AFB20038 */ sw $s2, 0x38($sp) +/* 8657C8 80240C88 AFB00030 */ sw $s0, 0x30($sp) +/* 8657CC 80240C8C F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 8657D0 80240C90 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 8657D4 80240C94 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 8657D8 80240C98 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 8657DC 80240C9C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 8657E0 80240CA0 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 8657E4 80240CA4 8E30000C */ lw $s0, 0xc($s1) +/* 8657E8 80240CA8 8E050000 */ lw $a1, ($s0) +/* 8657EC 80240CAC 0C0B1EAF */ jal get_variable +/* 8657F0 80240CB0 26100004 */ addiu $s0, $s0, 4 +/* 8657F4 80240CB4 8E050000 */ lw $a1, ($s0) +/* 8657F8 80240CB8 26100004 */ addiu $s0, $s0, 4 +/* 8657FC 80240CBC 0220202D */ daddu $a0, $s1, $zero +/* 865800 80240CC0 0C0B210B */ jal get_float_variable +/* 865804 80240CC4 0040902D */ daddu $s2, $v0, $zero +/* 865808 80240CC8 8E050000 */ lw $a1, ($s0) +/* 86580C 80240CCC 26100004 */ addiu $s0, $s0, 4 +/* 865810 80240CD0 0220202D */ daddu $a0, $s1, $zero +/* 865814 80240CD4 0C0B210B */ jal get_float_variable +/* 865818 80240CD8 46000706 */ mov.s $f28, $f0 +/* 86581C 80240CDC 8E050000 */ lw $a1, ($s0) +/* 865820 80240CE0 26100004 */ addiu $s0, $s0, 4 +/* 865824 80240CE4 0220202D */ daddu $a0, $s1, $zero +/* 865828 80240CE8 0C0B210B */ jal get_float_variable +/* 86582C 80240CEC 46000786 */ mov.s $f30, $f0 +/* 865830 80240CF0 8E050000 */ lw $a1, ($s0) +/* 865834 80240CF4 26100004 */ addiu $s0, $s0, 4 +/* 865838 80240CF8 0220202D */ daddu $a0, $s1, $zero +/* 86583C 80240CFC 0C0B210B */ jal get_float_variable +/* 865840 80240D00 46000686 */ mov.s $f26, $f0 +/* 865844 80240D04 8E050000 */ lw $a1, ($s0) +/* 865848 80240D08 26100004 */ addiu $s0, $s0, 4 +/* 86584C 80240D0C 0220202D */ daddu $a0, $s1, $zero +/* 865850 80240D10 0C0B210B */ jal get_float_variable +/* 865854 80240D14 46000606 */ mov.s $f24, $f0 +/* 865858 80240D18 8E050000 */ lw $a1, ($s0) +/* 86585C 80240D1C 26100004 */ addiu $s0, $s0, 4 +/* 865860 80240D20 0220202D */ daddu $a0, $s1, $zero +/* 865864 80240D24 0C0B210B */ jal get_float_variable +/* 865868 80240D28 46000586 */ mov.s $f22, $f0 +/* 86586C 80240D2C 0220202D */ daddu $a0, $s1, $zero +/* 865870 80240D30 8E050000 */ lw $a1, ($s0) +/* 865874 80240D34 0C0B1EAF */ jal get_variable +/* 865878 80240D38 46000506 */ mov.s $f20, $f0 +/* 86587C 80240D3C 4405E000 */ mfc1 $a1, $f28 +/* 865880 80240D40 4406F000 */ mfc1 $a2, $f30 +/* 865884 80240D44 4407D000 */ mfc1 $a3, $f26 +/* 865888 80240D48 0240202D */ daddu $a0, $s2, $zero +/* 86588C 80240D4C AFA2001C */ sw $v0, 0x1c($sp) +/* 865890 80240D50 27A20028 */ addiu $v0, $sp, 0x28 +/* 865894 80240D54 E7B80010 */ swc1 $f24, 0x10($sp) +/* 865898 80240D58 E7B60014 */ swc1 $f22, 0x14($sp) +/* 86589C 80240D5C E7B40018 */ swc1 $f20, 0x18($sp) +/* 8658A0 80240D60 0C01C3DC */ jal func_80070F70 +/* 8658A4 80240D64 AFA20020 */ sw $v0, 0x20($sp) +/* 8658A8 80240D68 8FA30028 */ lw $v1, 0x28($sp) +/* 8658AC 80240D6C AE230084 */ sw $v1, 0x84($s1) +/* 8658B0 80240D70 8FBF003C */ lw $ra, 0x3c($sp) +/* 8658B4 80240D74 8FB20038 */ lw $s2, 0x38($sp) +/* 8658B8 80240D78 8FB10034 */ lw $s1, 0x34($sp) +/* 8658BC 80240D7C 8FB00030 */ lw $s0, 0x30($sp) +/* 8658C0 80240D80 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 8658C4 80240D84 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 8658C8 80240D88 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 8658CC 80240D8C D7B80050 */ ldc1 $f24, 0x50($sp) +/* 8658D0 80240D90 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 8658D4 80240D94 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 8658D8 80240D98 24020002 */ addiu $v0, $zero, 2 +/* 8658DC 80240D9C 03E00008 */ jr $ra +/* 8658E0 80240DA0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240DA4.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240DA4.s new file mode 100644 index 0000000000..85c375659c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240DA4.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA4 +/* 8658E4 80240DA4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 8658E8 80240DA8 AFB10014 */ sw $s1, 0x14($sp) +/* 8658EC 80240DAC 0080882D */ daddu $s1, $a0, $zero +/* 8658F0 80240DB0 AFBF001C */ sw $ra, 0x1c($sp) +/* 8658F4 80240DB4 AFB20018 */ sw $s2, 0x18($sp) +/* 8658F8 80240DB8 AFB00010 */ sw $s0, 0x10($sp) +/* 8658FC 80240DBC F7B60028 */ sdc1 $f22, 0x28($sp) +/* 865900 80240DC0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 865904 80240DC4 8E30000C */ lw $s0, 0xc($s1) +/* 865908 80240DC8 8E050000 */ lw $a1, ($s0) +/* 86590C 80240DCC 0C0B1EAF */ jal get_variable +/* 865910 80240DD0 26100004 */ addiu $s0, $s0, 4 +/* 865914 80240DD4 8E050000 */ lw $a1, ($s0) +/* 865918 80240DD8 26100004 */ addiu $s0, $s0, 4 +/* 86591C 80240DDC 0220202D */ daddu $a0, $s1, $zero +/* 865920 80240DE0 0C0B210B */ jal get_float_variable +/* 865924 80240DE4 0040902D */ daddu $s2, $v0, $zero +/* 865928 80240DE8 8E050000 */ lw $a1, ($s0) +/* 86592C 80240DEC 26100004 */ addiu $s0, $s0, 4 +/* 865930 80240DF0 0220202D */ daddu $a0, $s1, $zero +/* 865934 80240DF4 0C0B210B */ jal get_float_variable +/* 865938 80240DF8 46000586 */ mov.s $f22, $f0 +/* 86593C 80240DFC 0220202D */ daddu $a0, $s1, $zero +/* 865940 80240E00 8E050000 */ lw $a1, ($s0) +/* 865944 80240E04 0C0B210B */ jal get_float_variable +/* 865948 80240E08 46000506 */ mov.s $f20, $f0 +/* 86594C 80240E0C 8E42000C */ lw $v0, 0xc($s2) +/* 865950 80240E10 E4560008 */ swc1 $f22, 8($v0) +/* 865954 80240E14 8E42000C */ lw $v0, 0xc($s2) +/* 865958 80240E18 E454000C */ swc1 $f20, 0xc($v0) +/* 86595C 80240E1C 8E43000C */ lw $v1, 0xc($s2) +/* 865960 80240E20 E4600010 */ swc1 $f0, 0x10($v1) +/* 865964 80240E24 8FBF001C */ lw $ra, 0x1c($sp) +/* 865968 80240E28 8FB20018 */ lw $s2, 0x18($sp) +/* 86596C 80240E2C 8FB10014 */ lw $s1, 0x14($sp) +/* 865970 80240E30 8FB00010 */ lw $s0, 0x10($sp) +/* 865974 80240E34 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 865978 80240E38 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 86597C 80240E3C 24020002 */ addiu $v0, $zero, 2 +/* 865980 80240E40 03E00008 */ jr $ra +/* 865984 80240E44 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240E48.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240E48.s new file mode 100644 index 0000000000..cafac2654f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240E48.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E48 +/* 865988 80240E48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86598C 80240E4C AFBF0010 */ sw $ra, 0x10($sp) +/* 865990 80240E50 8C82000C */ lw $v0, 0xc($a0) +/* 865994 80240E54 0C0B1EAF */ jal get_variable +/* 865998 80240E58 8C450000 */ lw $a1, ($v0) +/* 86599C 80240E5C 8C44000C */ lw $a0, 0xc($v0) +/* 8659A0 80240E60 24030001 */ addiu $v1, $zero, 1 +/* 8659A4 80240E64 AC830004 */ sw $v1, 4($a0) +/* 8659A8 80240E68 8FBF0010 */ lw $ra, 0x10($sp) +/* 8659AC 80240E6C 24020002 */ addiu $v0, $zero, 2 +/* 8659B0 80240E70 03E00008 */ jr $ra +/* 8659B4 80240E74 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8659B8 80240E78 00000000 */ nop +/* 8659BC 80240E7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80240E80_864B40.s b/asm/nonmatchings/world/area_mac/mac_06/func_80240E80_864B40.s new file mode 100644 index 0000000000..cf4ad8e0f6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80240E80_864B40.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80_8659C0 +/* 8659C0 80240E80 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8659C4 80240E84 AFB3001C */ sw $s3, 0x1c($sp) +/* 8659C8 80240E88 0080982D */ daddu $s3, $a0, $zero +/* 8659CC 80240E8C AFB00010 */ sw $s0, 0x10($sp) +/* 8659D0 80240E90 00A0802D */ daddu $s0, $a1, $zero +/* 8659D4 80240E94 AFBF0020 */ sw $ra, 0x20($sp) +/* 8659D8 80240E98 AFB20018 */ sw $s2, 0x18($sp) +/* 8659DC 80240E9C AFB10014 */ sw $s1, 0x14($sp) +/* 8659E0 80240EA0 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8659E4 80240EA4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8659E8 80240EA8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8659EC 80240EAC 8E72000C */ lw $s2, 0xc($s3) +/* 8659F0 80240EB0 0C00EAD2 */ jal get_npc_safe +/* 8659F4 80240EB4 0000202D */ daddu $a0, $zero, $zero +/* 8659F8 80240EB8 12000010 */ beqz $s0, .L80240EFC +/* 8659FC 80240EBC 0040882D */ daddu $s1, $v0, $zero +/* 865A00 80240EC0 8E450000 */ lw $a1, ($s2) +/* 865A04 80240EC4 0C0B1EAF */ jal get_variable +/* 865A08 80240EC8 0260202D */ daddu $a0, $s3, $zero +/* 865A0C 80240ECC 0040182D */ daddu $v1, $v0, $zero +/* 865A10 80240ED0 10600006 */ beqz $v1, .L80240EEC +/* 865A14 80240ED4 AE630070 */ sw $v1, 0x70($s3) +/* 865A18 80240ED8 24020001 */ addiu $v0, $zero, 1 +/* 865A1C 80240EDC 10620005 */ beq $v1, $v0, .L80240EF4 +/* 865A20 80240EE0 24020028 */ addiu $v0, $zero, 0x28 +/* 865A24 80240EE4 080903BF */ j .L80240EFC +/* 865A28 80240EE8 AE620074 */ sw $v0, 0x74($s3) +.L80240EEC: +/* 865A2C 80240EEC 080903BE */ j .L80240EF8 +/* 865A30 80240EF0 24020046 */ addiu $v0, $zero, 0x46 +.L80240EF4: +/* 865A34 80240EF4 24020064 */ addiu $v0, $zero, 0x64 +.L80240EF8: +/* 865A38 80240EF8 AE620074 */ sw $v0, 0x74($s3) +.L80240EFC: +/* 865A3C 80240EFC C634000C */ lwc1 $f20, 0xc($s1) +/* 865A40 80240F00 C6760074 */ lwc1 $f22, 0x74($s3) +/* 865A44 80240F04 4680B5A0 */ cvt.s.w $f22, $f22 +/* 865A48 80240F08 4600A507 */ neg.s $f20, $f20 +/* 865A4C 80240F0C 0C00A8BB */ jal sin_deg +/* 865A50 80240F10 4600A306 */ mov.s $f12, $f20 +/* 865A54 80240F14 46160002 */ mul.s $f0, $f0, $f22 +/* 865A58 80240F18 00000000 */ nop +/* 865A5C 80240F1C C6220038 */ lwc1 $f2, 0x38($s1) +/* 865A60 80240F20 3C0141F0 */ lui $at, 0x41f0 +/* 865A64 80240F24 44812000 */ mtc1 $at, $f4 +/* 865A68 80240F28 00000000 */ nop +/* 865A6C 80240F2C 46041080 */ add.s $f2, $f2, $f4 +/* 865A70 80240F30 46001600 */ add.s $f24, $f2, $f0 +/* 865A74 80240F34 0C00A8D4 */ jal cos_deg +/* 865A78 80240F38 4600A306 */ mov.s $f12, $f20 +/* 865A7C 80240F3C 46160002 */ mul.s $f0, $f0, $f22 +/* 865A80 80240F40 00000000 */ nop +/* 865A84 80240F44 24020001 */ addiu $v0, $zero, 1 +/* 865A88 80240F48 C6220040 */ lwc1 $f2, 0x40($s1) +/* 865A8C 80240F4C C624003C */ lwc1 $f4, 0x3c($s1) +/* 865A90 80240F50 46001580 */ add.s $f22, $f2, $f0 +/* 865A94 80240F54 3C014248 */ lui $at, 0x4248 +/* 865A98 80240F58 44810000 */ mtc1 $at, $f0 +/* 865A9C 80240F5C 8E640070 */ lw $a0, 0x70($s3) +/* 865AA0 80240F60 1082001F */ beq $a0, $v0, .L80240FE0 +/* 865AA4 80240F64 46002500 */ add.s $f20, $f4, $f0 +/* 865AA8 80240F68 28820002 */ slti $v0, $a0, 2 +/* 865AAC 80240F6C 10400005 */ beqz $v0, .L80240F84 +/* 865AB0 80240F70 24020002 */ addiu $v0, $zero, 2 +/* 865AB4 80240F74 10800007 */ beqz $a0, .L80240F94 +/* 865AB8 80240F78 0000102D */ daddu $v0, $zero, $zero +/* 865ABC 80240F7C 0809041C */ j .L80241070 +/* 865AC0 80240F80 00000000 */ nop +.L80240F84: +/* 865AC4 80240F84 1082002A */ beq $a0, $v0, .L80241030 +/* 865AC8 80240F88 0000102D */ daddu $v0, $zero, $zero +/* 865ACC 80240F8C 0809041C */ j .L80241070 +/* 865AD0 80240F90 00000000 */ nop +.L80240F94: +/* 865AD4 80240F94 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 865AD8 80240F98 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 865ADC 80240F9C 3C018024 */ lui $at, 0x8024 +/* 865AE0 80240FA0 C4203434 */ lwc1 $f0, 0x3434($at) +/* 865AE4 80240FA4 3C030001 */ lui $v1, 1 +/* 865AE8 80240FA8 4600A000 */ add.s $f0, $f20, $f0 +/* 865AEC 80240FAC E4580028 */ swc1 $f24, 0x28($v0) +/* 865AF0 80240FB0 E4560030 */ swc1 $f22, 0x30($v0) +/* 865AF4 80240FB4 E440002C */ swc1 $f0, 0x2c($v0) +/* 865AF8 80240FB8 C6200038 */ lwc1 $f0, 0x38($s1) +/* 865AFC 80240FBC C622003C */ lwc1 $f2, 0x3c($s1) +/* 865B00 80240FC0 8E220000 */ lw $v0, ($s1) +/* 865B04 80240FC4 C6240040 */ lwc1 $f4, 0x40($s1) +/* 865B08 80240FC8 00431025 */ or $v0, $v0, $v1 +/* 865B0C 80240FCC E620006C */ swc1 $f0, 0x6c($s1) +/* 865B10 80240FD0 E6220070 */ swc1 $f2, 0x70($s1) +/* 865B14 80240FD4 E6240074 */ swc1 $f4, 0x74($s1) +/* 865B18 80240FD8 0809041B */ j .L8024106C +/* 865B1C 80240FDC AE220000 */ sw $v0, ($s1) +.L80240FE0: +/* 865B20 80240FE0 0C00EAD2 */ jal get_npc_safe +/* 865B24 80240FE4 2404FFFC */ addiu $a0, $zero, -4 +/* 865B28 80240FE8 0040202D */ daddu $a0, $v0, $zero +/* 865B2C 80240FEC 54800003 */ bnel $a0, $zero, .L80240FFC +/* 865B30 80240FF0 E4980038 */ swc1 $f24, 0x38($a0) +/* 865B34 80240FF4 0809041C */ j .L80241070 +/* 865B38 80240FF8 24020002 */ addiu $v0, $zero, 2 +.L80240FFC: +/* 865B3C 80240FFC 4600C006 */ mov.s $f0, $f24 +/* 865B40 80241000 E494003C */ swc1 $f20, 0x3c($a0) +/* 865B44 80241004 4600A086 */ mov.s $f2, $f20 +/* 865B48 80241008 E4960040 */ swc1 $f22, 0x40($a0) +/* 865B4C 8024100C 4600B106 */ mov.s $f4, $f22 +/* 865B50 80241010 8C820000 */ lw $v0, ($a0) +/* 865B54 80241014 3C030001 */ lui $v1, 1 +/* 865B58 80241018 E480006C */ swc1 $f0, 0x6c($a0) +/* 865B5C 8024101C E4820070 */ swc1 $f2, 0x70($a0) +/* 865B60 80241020 E4840074 */ swc1 $f4, 0x74($a0) +/* 865B64 80241024 00431025 */ or $v0, $v0, $v1 +/* 865B68 80241028 0809041B */ j .L8024106C +/* 865B6C 8024102C AC820000 */ sw $v0, ($a0) +.L80241030: +/* 865B70 80241030 0C00EAD2 */ jal get_npc_safe +/* 865B74 80241034 24040002 */ addiu $a0, $zero, 2 +/* 865B78 80241038 E4580038 */ swc1 $f24, 0x38($v0) +/* 865B7C 8024103C 4600C006 */ mov.s $f0, $f24 +/* 865B80 80241040 E454003C */ swc1 $f20, 0x3c($v0) +/* 865B84 80241044 4600A086 */ mov.s $f2, $f20 +/* 865B88 80241048 E4560040 */ swc1 $f22, 0x40($v0) +/* 865B8C 8024104C 4600B106 */ mov.s $f4, $f22 +/* 865B90 80241050 8C430000 */ lw $v1, ($v0) +/* 865B94 80241054 3C040001 */ lui $a0, 1 +/* 865B98 80241058 E440006C */ swc1 $f0, 0x6c($v0) +/* 865B9C 8024105C E4420070 */ swc1 $f2, 0x70($v0) +/* 865BA0 80241060 E4440074 */ swc1 $f4, 0x74($v0) +/* 865BA4 80241064 00641825 */ or $v1, $v1, $a0 +/* 865BA8 80241068 AC430000 */ sw $v1, ($v0) +.L8024106C: +/* 865BAC 8024106C 0000102D */ daddu $v0, $zero, $zero +.L80241070: +/* 865BB0 80241070 8FBF0020 */ lw $ra, 0x20($sp) +/* 865BB4 80241074 8FB3001C */ lw $s3, 0x1c($sp) +/* 865BB8 80241078 8FB20018 */ lw $s2, 0x18($sp) +/* 865BBC 8024107C 8FB10014 */ lw $s1, 0x14($sp) +/* 865BC0 80241080 8FB00010 */ lw $s0, 0x10($sp) +/* 865BC4 80241084 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 865BC8 80241088 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 865BCC 8024108C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 865BD0 80241090 03E00008 */ jr $ra +/* 865BD4 80241094 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80241098.s b/asm/nonmatchings/world/area_mac/mac_06/func_80241098.s new file mode 100644 index 0000000000..439b9ec2df --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80241098.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241098 +/* 865BD8 80241098 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 865BDC 8024109C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 865BE0 802410A0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 865BE4 802410A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 865BE8 802410A8 AFB00010 */ sw $s0, 0x10($sp) +/* 865BEC 802410AC 8C500010 */ lw $s0, 0x10($v0) +/* 865BF0 802410B0 0C00EAD2 */ jal get_npc_safe +/* 865BF4 802410B4 0000202D */ daddu $a0, $zero, $zero +/* 865BF8 802410B8 3C048024 */ lui $a0, 0x8024 +/* 865BFC 802410BC 2484343C */ addiu $a0, $a0, 0x343c +/* 865C00 802410C0 8C830000 */ lw $v1, ($a0) +/* 865C04 802410C4 1060000E */ beqz $v1, .L80241100 +/* 865C08 802410C8 0040282D */ daddu $a1, $v0, $zero +/* 865C0C 802410CC 0460006B */ bltz $v1, .L8024127C +/* 865C10 802410D0 2402000A */ addiu $v0, $zero, 0xa +/* 865C14 802410D4 10620019 */ beq $v1, $v0, .L8024113C +/* 865C18 802410D8 0062102A */ slt $v0, $v1, $v0 +/* 865C1C 802410DC 14400068 */ bnez $v0, .L80241280 +/* 865C20 802410E0 0000102D */ daddu $v0, $zero, $zero +/* 865C24 802410E4 2402000B */ addiu $v0, $zero, 0xb +/* 865C28 802410E8 10620021 */ beq $v1, $v0, .L80241170 +/* 865C2C 802410EC 2402000C */ addiu $v0, $zero, 0xc +/* 865C30 802410F0 1062004D */ beq $v1, $v0, .L80241228 +/* 865C34 802410F4 0000102D */ daddu $v0, $zero, $zero +/* 865C38 802410F8 080904A0 */ j .L80241280 +/* 865C3C 802410FC 00000000 */ nop +.L80241100: +/* 865C40 80241100 32028000 */ andi $v0, $s0, 0x8000 +/* 865C44 80241104 10400003 */ beqz $v0, .L80241114 +/* 865C48 80241108 2402000A */ addiu $v0, $zero, 0xa +/* 865C4C 8024110C 0809049F */ j .L8024127C +/* 865C50 80241110 AC820000 */ sw $v0, ($a0) +.L80241114: +/* 865C54 80241114 3C048024 */ lui $a0, 0x8024 +/* 865C58 80241118 24843440 */ addiu $a0, $a0, 0x3440 +/* 865C5C 8024111C 8C830000 */ lw $v1, ($a0) +/* 865C60 80241120 28620096 */ slti $v0, $v1, 0x96 +/* 865C64 80241124 14400003 */ bnez $v0, .L80241134 +/* 865C68 80241128 24620001 */ addiu $v0, $v1, 1 +/* 865C6C 8024112C 080904A0 */ j .L80241280 +/* 865C70 80241130 24020002 */ addiu $v0, $zero, 2 +.L80241134: +/* 865C74 80241134 0809049F */ j .L8024127C +/* 865C78 80241138 AC820000 */ sw $v0, ($a0) +.L8024113C: +/* 865C7C 8024113C 3C0200B6 */ lui $v0, 0xb6 +/* 865C80 80241140 3C0140A0 */ lui $at, 0x40a0 +/* 865C84 80241144 44810000 */ mtc1 $at, $f0 +/* 865C88 80241148 34420009 */ ori $v0, $v0, 9 +/* 865C8C 8024114C ACA20028 */ sw $v0, 0x28($a1) +/* 865C90 80241150 2402000B */ addiu $v0, $zero, 0xb +/* 865C94 80241154 3C018024 */ lui $at, 0x8024 +/* 865C98 80241158 AC203434 */ sw $zero, 0x3434($at) +/* 865C9C 8024115C AC820000 */ sw $v0, ($a0) +/* 865CA0 80241160 3C018024 */ lui $at, 0x8024 +/* 865CA4 80241164 E4203438 */ swc1 $f0, 0x3438($at) +/* 865CA8 80241168 080904A0 */ j .L80241280 +/* 865CAC 8024116C 0000102D */ daddu $v0, $zero, $zero +.L80241170: +/* 865CB0 80241170 3C028024 */ lui $v0, 0x8024 +/* 865CB4 80241174 24423434 */ addiu $v0, $v0, 0x3434 +/* 865CB8 80241178 3C038024 */ lui $v1, 0x8024 +/* 865CBC 8024117C 24633438 */ addiu $v1, $v1, 0x3438 +/* 865CC0 80241180 C4400000 */ lwc1 $f0, ($v0) +/* 865CC4 80241184 C4640000 */ lwc1 $f4, ($v1) +/* 865CC8 80241188 46040000 */ add.s $f0, $f0, $f4 +/* 865CCC 8024118C 3C01428C */ lui $at, 0x428c +/* 865CD0 80241190 44811000 */ mtc1 $at, $f2 +/* 865CD4 80241194 00000000 */ nop +/* 865CD8 80241198 4602003C */ c.lt.s $f0, $f2 +/* 865CDC 8024119C 00000000 */ nop +/* 865CE0 802411A0 4500000D */ bc1f .L802411D8 +/* 865CE4 802411A4 E4400000 */ swc1 $f0, ($v0) +/* 865CE8 802411A8 3C014080 */ lui $at, 0x4080 +/* 865CEC 802411AC 44810000 */ mtc1 $at, $f0 +/* 865CF0 802411B0 00000000 */ nop +/* 865CF4 802411B4 4600203C */ c.lt.s $f4, $f0 +/* 865CF8 802411B8 00000000 */ nop +/* 865CFC 802411BC 45030001 */ bc1tl .L802411C4 +/* 865D00 802411C0 E4600000 */ swc1 $f0, ($v1) +.L802411C4: +/* 865D04 802411C4 C4600000 */ lwc1 $f0, ($v1) +/* 865D08 802411C8 3C013F80 */ lui $at, 0x3f80 +/* 865D0C 802411CC 44811000 */ mtc1 $at, $f2 +/* 865D10 802411D0 0809047A */ j .L802411E8 +/* 865D14 802411D4 46020000 */ add.s $f0, $f0, $f2 +.L802411D8: +/* 865D18 802411D8 3C014000 */ lui $at, 0x4000 +/* 865D1C 802411DC 44810000 */ mtc1 $at, $f0 +/* 865D20 802411E0 00000000 */ nop +/* 865D24 802411E4 46002001 */ sub.s $f0, $f4, $f0 +.L802411E8: +/* 865D28 802411E8 E4600000 */ swc1 $f0, ($v1) +/* 865D2C 802411EC 3C0300B6 */ lui $v1, 0xb6 +/* 865D30 802411F0 8CA20028 */ lw $v0, 0x28($a1) +/* 865D34 802411F4 34630001 */ ori $v1, $v1, 1 +/* 865D38 802411F8 14430021 */ bne $v0, $v1, .L80241280 +/* 865D3C 802411FC 0000102D */ daddu $v0, $zero, $zero +/* 865D40 80241200 3C038024 */ lui $v1, 0x8024 +/* 865D44 80241204 2463343C */ addiu $v1, $v1, 0x343c +/* 865D48 80241208 8C620000 */ lw $v0, ($v1) +/* 865D4C 8024120C 3C014080 */ lui $at, 0x4080 +/* 865D50 80241210 44810000 */ mtc1 $at, $f0 +/* 865D54 80241214 24420001 */ addiu $v0, $v0, 1 +/* 865D58 80241218 3C018024 */ lui $at, 0x8024 +/* 865D5C 8024121C E4203438 */ swc1 $f0, 0x3438($at) +/* 865D60 80241220 0809049F */ j .L8024127C +/* 865D64 80241224 AC620000 */ sw $v0, ($v1) +.L80241228: +/* 865D68 80241228 3C028024 */ lui $v0, 0x8024 +/* 865D6C 8024122C 24423434 */ addiu $v0, $v0, 0x3434 +/* 865D70 80241230 3C038024 */ lui $v1, 0x8024 +/* 865D74 80241234 24633438 */ addiu $v1, $v1, 0x3438 +/* 865D78 80241238 C4400000 */ lwc1 $f0, ($v0) +/* 865D7C 8024123C C4620000 */ lwc1 $f2, ($v1) +/* 865D80 80241240 46020001 */ sub.s $f0, $f0, $f2 +/* 865D84 80241244 44802000 */ mtc1 $zero, $f4 +/* 865D88 80241248 00000000 */ nop +/* 865D8C 8024124C 4604003C */ c.lt.s $f0, $f4 +/* 865D90 80241250 00000000 */ nop +/* 865D94 80241254 45000004 */ bc1f .L80241268 +/* 865D98 80241258 E4400000 */ swc1 $f0, ($v0) +/* 865D9C 8024125C E4440000 */ swc1 $f4, ($v0) +/* 865DA0 80241260 080904A0 */ j .L80241280 +/* 865DA4 80241264 24020002 */ addiu $v0, $zero, 2 +.L80241268: +/* 865DA8 80241268 3C013F80 */ lui $at, 0x3f80 +/* 865DAC 8024126C 44810000 */ mtc1 $at, $f0 +/* 865DB0 80241270 00000000 */ nop +/* 865DB4 80241274 46001000 */ add.s $f0, $f2, $f0 +/* 865DB8 80241278 E4600000 */ swc1 $f0, ($v1) +.L8024127C: +/* 865DBC 8024127C 0000102D */ daddu $v0, $zero, $zero +.L80241280: +/* 865DC0 80241280 8FBF0014 */ lw $ra, 0x14($sp) +/* 865DC4 80241284 8FB00010 */ lw $s0, 0x10($sp) +/* 865DC8 80241288 03E00008 */ jr $ra +/* 865DCC 8024128C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80241290.s b/asm/nonmatchings/world/area_mac/mac_06/func_80241290.s new file mode 100644 index 0000000000..1a1aeaa2ba --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80241290.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241290 +/* 865DD0 80241290 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 865DD4 80241294 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 865DD8 80241298 8C420010 */ lw $v0, 0x10($v0) +/* 865DDC 8024129C 30424000 */ andi $v0, $v0, 0x4000 +/* 865DE0 802412A0 0002102B */ sltu $v0, $zero, $v0 +/* 865DE4 802412A4 03E00008 */ jr $ra +/* 865DE8 802412A8 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_802412AC.s b/asm/nonmatchings/world/area_mac/mac_06/func_802412AC.s new file mode 100644 index 0000000000..49b3145916 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_802412AC.s @@ -0,0 +1,61 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412AC +/* 865DEC 802412AC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 865DF0 802412B0 AFB10014 */ sw $s1, 0x14($sp) +/* 865DF4 802412B4 0080882D */ daddu $s1, $a0, $zero +/* 865DF8 802412B8 AFBF0020 */ sw $ra, 0x20($sp) +/* 865DFC 802412BC AFB3001C */ sw $s3, 0x1c($sp) +/* 865E00 802412C0 AFB20018 */ sw $s2, 0x18($sp) +/* 865E04 802412C4 AFB00010 */ sw $s0, 0x10($sp) +/* 865E08 802412C8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 865E0C 802412CC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 865E10 802412D0 8E30000C */ lw $s0, 0xc($s1) +/* 865E14 802412D4 8E050000 */ lw $a1, ($s0) +/* 865E18 802412D8 0C0B1EAF */ jal get_variable +/* 865E1C 802412DC 26100004 */ addiu $s0, $s0, 4 +/* 865E20 802412E0 8E120000 */ lw $s2, ($s0) +/* 865E24 802412E4 26100004 */ addiu $s0, $s0, 4 +/* 865E28 802412E8 8E130000 */ lw $s3, ($s0) +/* 865E2C 802412EC 8E100004 */ lw $s0, 4($s0) +/* 865E30 802412F0 0C046C04 */ jal get_model_list_index_from_tree_index +/* 865E34 802412F4 0040202D */ daddu $a0, $v0, $zero +/* 865E38 802412F8 0C046B4C */ jal get_model_from_list_index +/* 865E3C 802412FC 0040202D */ daddu $a0, $v0, $zero +/* 865E40 80241300 0040302D */ daddu $a2, $v0, $zero +/* 865E44 80241304 94C20000 */ lhu $v0, ($a2) +/* 865E48 80241308 30420400 */ andi $v0, $v0, 0x400 +/* 865E4C 8024130C 10400005 */ beqz $v0, .L80241324 +/* 865E50 80241310 0220202D */ daddu $a0, $s1, $zero +/* 865E54 80241314 C4C00088 */ lwc1 $f0, 0x88($a2) +/* 865E58 80241318 C4D6008C */ lwc1 $f22, 0x8c($a2) +/* 865E5C 8024131C 080904CD */ j .L80241334 +/* 865E60 80241320 C4D40090 */ lwc1 $f20, 0x90($a2) +.L80241324: +/* 865E64 80241324 4480A000 */ mtc1 $zero, $f20 +/* 865E68 80241328 00000000 */ nop +/* 865E6C 8024132C 4600A586 */ mov.s $f22, $f20 +/* 865E70 80241330 4600A006 */ mov.s $f0, $f20 +.L80241334: +/* 865E74 80241334 44060000 */ mfc1 $a2, $f0 +/* 865E78 80241338 0C0B2190 */ jal set_float_variable +/* 865E7C 8024133C 0240282D */ daddu $a1, $s2, $zero +/* 865E80 80241340 0220202D */ daddu $a0, $s1, $zero +/* 865E84 80241344 4406B000 */ mfc1 $a2, $f22 +/* 865E88 80241348 0C0B2190 */ jal set_float_variable +/* 865E8C 8024134C 0260282D */ daddu $a1, $s3, $zero +/* 865E90 80241350 0220202D */ daddu $a0, $s1, $zero +/* 865E94 80241354 4406A000 */ mfc1 $a2, $f20 +/* 865E98 80241358 0C0B2190 */ jal set_float_variable +/* 865E9C 8024135C 0200282D */ daddu $a1, $s0, $zero +/* 865EA0 80241360 8FBF0020 */ lw $ra, 0x20($sp) +/* 865EA4 80241364 8FB3001C */ lw $s3, 0x1c($sp) +/* 865EA8 80241368 8FB20018 */ lw $s2, 0x18($sp) +/* 865EAC 8024136C 8FB10014 */ lw $s1, 0x14($sp) +/* 865EB0 80241370 8FB00010 */ lw $s0, 0x10($sp) +/* 865EB4 80241374 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 865EB8 80241378 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 865EBC 8024137C 24020002 */ addiu $v0, $zero, 2 +/* 865EC0 80241380 03E00008 */ jr $ra +/* 865EC4 80241384 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_80241388.s b/asm/nonmatchings/world/area_mac/mac_06/func_80241388.s new file mode 100644 index 0000000000..809f71ed72 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_80241388.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241388 +/* 865EC8 80241388 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 865ECC 8024138C AFB00010 */ sw $s0, 0x10($sp) +/* 865ED0 80241390 0080802D */ daddu $s0, $a0, $zero +/* 865ED4 80241394 3C05FE36 */ lui $a1, 0xfe36 +/* 865ED8 80241398 AFBF0014 */ sw $ra, 0x14($sp) +/* 865EDC 8024139C F7BC0038 */ sdc1 $f28, 0x38($sp) +/* 865EE0 802413A0 F7BA0030 */ sdc1 $f26, 0x30($sp) +/* 865EE4 802413A4 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 865EE8 802413A8 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 865EEC 802413AC F7B40018 */ sdc1 $f20, 0x18($sp) +/* 865EF0 802413B0 0C0B210B */ jal get_float_variable +/* 865EF4 802413B4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 865EF8 802413B8 0200202D */ daddu $a0, $s0, $zero +/* 865EFC 802413BC 3C05FE36 */ lui $a1, 0xfe36 +/* 865F00 802413C0 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 865F04 802413C4 0C0B210B */ jal get_float_variable +/* 865F08 802413C8 46000706 */ mov.s $f28, $f0 +/* 865F0C 802413CC 0200202D */ daddu $a0, $s0, $zero +/* 865F10 802413D0 3C05FE36 */ lui $a1, 0xfe36 +/* 865F14 802413D4 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 865F18 802413D8 0C0B210B */ jal get_float_variable +/* 865F1C 802413DC 46000606 */ mov.s $f24, $f0 +/* 865F20 802413E0 0200202D */ daddu $a0, $s0, $zero +/* 865F24 802413E4 3C05FE36 */ lui $a1, 0xfe36 +/* 865F28 802413E8 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 865F2C 802413EC 0C0B210B */ jal get_float_variable +/* 865F30 802413F0 46000686 */ mov.s $f26, $f0 +/* 865F34 802413F4 0200202D */ daddu $a0, $s0, $zero +/* 865F38 802413F8 3C05FE36 */ lui $a1, 0xfe36 +/* 865F3C 802413FC 34A53C87 */ ori $a1, $a1, 0x3c87 +/* 865F40 80241400 0C0B210B */ jal get_float_variable +/* 865F44 80241404 46000506 */ mov.s $f20, $f0 +/* 865F48 80241408 46000586 */ mov.s $f22, $f0 +/* 865F4C 8024140C 0200202D */ daddu $a0, $s0, $zero +/* 865F50 80241410 3C05FBD3 */ lui $a1, 0xfbd3 +/* 865F54 80241414 0C0B1EAF */ jal get_variable +/* 865F58 80241418 34A5E280 */ ori $a1, $a1, 0xe280 +/* 865F5C 8024141C 10400017 */ beqz $v0, .L8024147C +/* 865F60 80241420 0200202D */ daddu $a0, $s0, $zero +/* 865F64 80241424 4480A000 */ mtc1 $zero, $f20 +/* 865F68 80241428 3C05FE36 */ lui $a1, 0xfe36 +/* 865F6C 8024142C 4406A000 */ mfc1 $a2, $f20 +/* 865F70 80241430 0C0B2190 */ jal set_float_variable +/* 865F74 80241434 34A53C86 */ ori $a1, $a1, 0x3c86 +/* 865F78 80241438 0200202D */ daddu $a0, $s0, $zero +/* 865F7C 8024143C 3C05FE36 */ lui $a1, 0xfe36 +/* 865F80 80241440 4406A000 */ mfc1 $a2, $f20 +/* 865F84 80241444 0C0B2190 */ jal set_float_variable +/* 865F88 80241448 34A53C87 */ ori $a1, $a1, 0x3c87 +/* 865F8C 8024144C 0200202D */ daddu $a0, $s0, $zero +/* 865F90 80241450 3C05FBD3 */ lui $a1, 0xfbd3 +/* 865F94 80241454 34A5E280 */ ori $a1, $a1, 0xe280 +/* 865F98 80241458 0C0B2026 */ jal set_variable +/* 865F9C 8024145C 0000302D */ daddu $a2, $zero, $zero +/* 865FA0 80241460 0200202D */ daddu $a0, $s0, $zero +/* 865FA4 80241464 3C05FBD3 */ lui $a1, 0xfbd3 +/* 865FA8 80241468 34A5E281 */ ori $a1, $a1, 0xe281 +/* 865FAC 8024146C 0C0B2026 */ jal set_variable +/* 865FB0 80241470 24060001 */ addiu $a2, $zero, 1 +/* 865FB4 80241474 08090576 */ j .L802415D8 +/* 865FB8 80241478 24020002 */ addiu $v0, $zero, 2 +.L8024147C: +/* 865FBC 8024147C 461AE032 */ c.eq.s $f28, $f26 +/* 865FC0 80241480 00000000 */ nop +/* 865FC4 80241484 45000007 */ bc1f .L802414A4 +/* 865FC8 80241488 3C05FBD3 */ lui $a1, 0xfbd3 +/* 865FCC 8024148C 4614C032 */ c.eq.s $f24, $f20 +/* 865FD0 80241490 00000000 */ nop +/* 865FD4 80241494 45010050 */ bc1t .L802415D8 +/* 865FD8 80241498 24020002 */ addiu $v0, $zero, 2 +/* 865FDC 8024149C 0200202D */ daddu $a0, $s0, $zero +/* 865FE0 802414A0 3C05FBD3 */ lui $a1, 0xfbd3 +.L802414A4: +/* 865FE4 802414A4 0C0B1EAF */ jal get_variable +/* 865FE8 802414A8 34A5E281 */ ori $a1, $a1, 0xe281 +/* 865FEC 802414AC 10400018 */ beqz $v0, .L80241510 +/* 865FF0 802414B0 4600C386 */ mov.s $f14, $f24 +/* 865FF4 802414B4 4600D687 */ neg.s $f26, $f26 +/* 865FF8 802414B8 4407A000 */ mfc1 $a3, $f20 +/* 865FFC 802414BC 4406D000 */ mfc1 $a2, $f26 +/* 866000 802414C0 0C00A720 */ jal atan2 +/* 866004 802414C4 4600E307 */ neg.s $f12, $f28 +/* 866008 802414C8 46000506 */ mov.s $f20, $f0 +/* 86600C 802414CC 0200202D */ daddu $a0, $s0, $zero +/* 866010 802414D0 3C05FE36 */ lui $a1, 0xfe36 +/* 866014 802414D4 4406A000 */ mfc1 $a2, $f20 +/* 866018 802414D8 0C0B2190 */ jal set_float_variable +/* 86601C 802414DC 34A53C86 */ ori $a1, $a1, 0x3c86 +/* 866020 802414E0 0200202D */ daddu $a0, $s0, $zero +/* 866024 802414E4 3C05FE36 */ lui $a1, 0xfe36 +/* 866028 802414E8 4406A000 */ mfc1 $a2, $f20 +/* 86602C 802414EC 0C0B2190 */ jal set_float_variable +/* 866030 802414F0 34A53C87 */ ori $a1, $a1, 0x3c87 +/* 866034 802414F4 0200202D */ daddu $a0, $s0, $zero +/* 866038 802414F8 3C05FBD3 */ lui $a1, 0xfbd3 +/* 86603C 802414FC 34A5E281 */ ori $a1, $a1, 0xe281 +/* 866040 80241500 0C0B2026 */ jal set_variable +/* 866044 80241504 0000302D */ daddu $a2, $zero, $zero +/* 866048 80241508 08090576 */ j .L802415D8 +/* 86604C 8024150C 24020002 */ addiu $v0, $zero, 2 +.L80241510: +/* 866050 80241510 4407A000 */ mfc1 $a3, $f20 +/* 866054 80241514 4600D687 */ neg.s $f26, $f26 +/* 866058 80241518 4406D000 */ mfc1 $a2, $f26 +/* 86605C 8024151C 0C00A720 */ jal atan2 +/* 866060 80241520 4600E307 */ neg.s $f12, $f28 +/* 866064 80241524 0C00A6C9 */ jal clamp_angle +/* 866068 80241528 46000306 */ mov.s $f12, $f0 +/* 86606C 8024152C 46000506 */ mov.s $f20, $f0 +/* 866070 80241530 0200202D */ daddu $a0, $s0, $zero +/* 866074 80241534 3C05FE36 */ lui $a1, 0xfe36 +/* 866078 80241538 4406A000 */ mfc1 $a2, $f20 +/* 86607C 8024153C 0C0B2190 */ jal set_float_variable +/* 866080 80241540 34A53C86 */ ori $a1, $a1, 0x3c86 +/* 866084 80241544 4614B081 */ sub.s $f2, $f22, $f20 +/* 866088 80241548 3C014334 */ lui $at, 0x4334 +/* 86608C 8024154C 44810000 */ mtc1 $at, $f0 +/* 866090 80241550 00000000 */ nop +/* 866094 80241554 4602003E */ c.le.s $f0, $f2 +/* 866098 80241558 00000000 */ nop +/* 86609C 8024155C 45000005 */ bc1f .L80241574 +/* 8660A0 80241560 00000000 */ nop +/* 8660A4 80241564 3C0143B4 */ lui $at, 0x43b4 +/* 8660A8 80241568 44810000 */ mtc1 $at, $f0 +/* 8660AC 8024156C 08090568 */ j .L802415A0 +/* 8660B0 80241570 4600B581 */ sub.s $f22, $f22, $f0 +.L80241574: +/* 8660B4 80241574 3C01C334 */ lui $at, 0xc334 +/* 8660B8 80241578 44810000 */ mtc1 $at, $f0 +/* 8660BC 8024157C 00000000 */ nop +/* 8660C0 80241580 4600103E */ c.le.s $f2, $f0 +/* 8660C4 80241584 00000000 */ nop +/* 8660C8 80241588 45020006 */ bc1fl .L802415A4 +/* 8660CC 8024158C 4616A001 */ sub.s $f0, $f20, $f22 +/* 8660D0 80241590 3C0143B4 */ lui $at, 0x43b4 +/* 8660D4 80241594 44810000 */ mtc1 $at, $f0 +/* 8660D8 80241598 00000000 */ nop +/* 8660DC 8024159C 4600B580 */ add.s $f22, $f22, $f0 +.L802415A0: +/* 8660E0 802415A0 4616A001 */ sub.s $f0, $f20, $f22 +.L802415A4: +/* 8660E4 802415A4 3C018024 */ lui $at, 0x8024 +/* 8660E8 802415A8 D4224968 */ ldc1 $f2, 0x4968($at) +/* 8660EC 802415AC 46000021 */ cvt.d.s $f0, $f0 +/* 8660F0 802415B0 46220002 */ mul.d $f0, $f0, $f2 +/* 8660F4 802415B4 00000000 */ nop +/* 8660F8 802415B8 46200020 */ cvt.s.d $f0, $f0 +/* 8660FC 802415BC 4600B580 */ add.s $f22, $f22, $f0 +/* 866100 802415C0 0200202D */ daddu $a0, $s0, $zero +/* 866104 802415C4 3C05FE36 */ lui $a1, 0xfe36 +/* 866108 802415C8 4406B000 */ mfc1 $a2, $f22 +/* 86610C 802415CC 0C0B2190 */ jal set_float_variable +/* 866110 802415D0 34A53C87 */ ori $a1, $a1, 0x3c87 +/* 866114 802415D4 24020002 */ addiu $v0, $zero, 2 +.L802415D8: +/* 866118 802415D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 86611C 802415DC 8FB00010 */ lw $s0, 0x10($sp) +/* 866120 802415E0 D7BC0038 */ ldc1 $f28, 0x38($sp) +/* 866124 802415E4 D7BA0030 */ ldc1 $f26, 0x30($sp) +/* 866128 802415E8 D7B80028 */ ldc1 $f24, 0x28($sp) +/* 86612C 802415EC D7B60020 */ ldc1 $f22, 0x20($sp) +/* 866130 802415F0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 866134 802415F4 03E00008 */ jr $ra +/* 866138 802415F8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/mac_06/func_802415FC.s b/asm/nonmatchings/world/area_mac/mac_06/func_802415FC.s new file mode 100644 index 0000000000..c827535fd0 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/mac_06/func_802415FC.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415FC +/* 86613C 802415FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 866140 80241600 AFBF0018 */ sw $ra, 0x18($sp) +/* 866144 80241604 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 866148 80241608 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 86614C 8024160C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 866150 80241610 0C00EAD2 */ jal get_npc_safe +/* 866154 80241614 24040003 */ addiu $a0, $zero, 3 +/* 866158 80241618 C4420038 */ lwc1 $f2, 0x38($v0) +/* 86615C 8024161C 3C014120 */ lui $at, 0x4120 +/* 866160 80241620 44810000 */ mtc1 $at, $f0 +/* 866164 80241624 C454003C */ lwc1 $f20, 0x3c($v0) +/* 866168 80241628 46001600 */ add.s $f24, $f2, $f0 +/* 86616C 8024162C 44800000 */ mtc1 $zero, $f0 +/* 866170 80241630 C4560040 */ lwc1 $f22, 0x40($v0) +/* 866174 80241634 4600A03C */ c.lt.s $f20, $f0 +/* 866178 80241638 00000000 */ nop +/* 86617C 8024163C 4500000C */ bc1f .L80241670 +/* 866180 80241640 0000202D */ daddu $a0, $zero, $zero +/* 866184 80241644 4405C000 */ mfc1 $a1, $f24 +/* 866188 80241648 4406A000 */ mfc1 $a2, $f20 +/* 86618C 8024164C 4407B000 */ mfc1 $a3, $f22 +/* 866190 80241650 0C01C16C */ jal func_800705B0 +/* 866194 80241654 E7A00010 */ swc1 $f0, 0x10($sp) +/* 866198 80241658 24040046 */ addiu $a0, $zero, 0x46 +/* 86619C 8024165C 4406C000 */ mfc1 $a2, $f24 +/* 8661A0 80241660 4407A000 */ mfc1 $a3, $f20 +/* 8661A4 80241664 0000282D */ daddu $a1, $zero, $zero +/* 8661A8 80241668 0C05267B */ jal func_801499EC +/* 8661AC 8024166C E7B60010 */ swc1 $f22, 0x10($sp) +.L80241670: +/* 8661B0 80241670 8FBF0018 */ lw $ra, 0x18($sp) +/* 8661B4 80241674 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 8661B8 80241678 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 8661BC 8024167C D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8661C0 80241680 24020002 */ addiu $v0, $zero, 2 +/* 8661C4 80241684 03E00008 */ jr $ra +/* 8661C8 80241688 27BD0038 */ addiu $sp, $sp, 0x38 +/* 8661CC 8024168C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240000.s b/asm/nonmatchings/world/area_mac/machi/func_80240000.s new file mode 100644 index 0000000000..bd0fa4a84c --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240000.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000 +/* 7E73A0 80240000 3C038024 */ lui $v1, 0x8024 +/* 7E73A4 80240004 246307E0 */ addiu $v1, $v1, 0x7e0 +.L80240008: +/* 7E73A8 80240008 8C620000 */ lw $v0, ($v1) +/* 7E73AC 8024000C 1440FFFE */ bnez $v0, .L80240008 +/* 7E73B0 80240010 24630010 */ addiu $v1, $v1, 0x10 +/* 7E73B4 80240014 3C038024 */ lui $v1, 0x8024 +/* 7E73B8 80240018 246309F0 */ addiu $v1, $v1, 0x9f0 +.L8024001C: +/* 7E73BC 8024001C 8C620000 */ lw $v0, ($v1) +/* 7E73C0 80240020 1440FFFE */ bnez $v0, .L8024001C +/* 7E73C4 80240024 24630010 */ addiu $v1, $v1, 0x10 +/* 7E73C8 80240028 03E00008 */ jr $ra +/* 7E73CC 8024002C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240030.s b/asm/nonmatchings/world/area_mac/machi/func_80240030.s new file mode 100644 index 0000000000..6186d70e24 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240030.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030 +/* 7E73D0 80240030 03E00008 */ jr $ra +/* 7E73D4 80240034 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240038.s b/asm/nonmatchings/world/area_mac/machi/func_80240038.s new file mode 100644 index 0000000000..05c23ad366 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240038.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240038 +/* 7E73D8 80240038 03E00008 */ jr $ra +/* 7E73DC 8024003C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240040.s b/asm/nonmatchings/world/area_mac/machi/func_80240040.s new file mode 100644 index 0000000000..ac98dc54b9 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240040.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040 +/* 7E73E0 80240040 03E00008 */ jr $ra +/* 7E73E4 80240044 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240048.s b/asm/nonmatchings/world/area_mac/machi/func_80240048.s new file mode 100644 index 0000000000..956810bb12 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240048.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240048 +/* 7E73E8 80240048 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7E73EC 8024004C AFB00010 */ sw $s0, 0x10($sp) +/* 7E73F0 80240050 0080802D */ daddu $s0, $a0, $zero +/* 7E73F4 80240054 10A00008 */ beqz $a1, .L80240078 +/* 7E73F8 80240058 AFBF0014 */ sw $ra, 0x14($sp) +/* 7E73FC 8024005C 3C03800A */ lui $v1, %hi(D_8009A650) +/* 7E7400 80240060 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 7E7404 80240064 8C620000 */ lw $v0, ($v1) +/* 7E7408 80240068 AE000070 */ sw $zero, 0x70($s0) +/* 7E740C 8024006C AE000074 */ sw $zero, 0x74($s0) +/* 7E7410 80240070 34420010 */ ori $v0, $v0, 0x10 +/* 7E7414 80240074 AC620000 */ sw $v0, ($v1) +.L80240078: +/* 7E7418 80240078 C6000074 */ lwc1 $f0, 0x74($s0) +/* 7E741C 8024007C 46800020 */ cvt.s.w $f0, $f0 +/* 7E7420 80240080 44050000 */ mfc1 $a1, $f0 +/* 7E7424 80240084 0C04DF62 */ jal func_80137D88 +/* 7E7428 80240088 0000202D */ daddu $a0, $zero, $zero +/* 7E742C 8024008C 8E020074 */ lw $v0, 0x74($s0) +/* 7E7430 80240090 240300FF */ addiu $v1, $zero, 0xff +/* 7E7434 80240094 14430003 */ bne $v0, $v1, .L802400A4 +/* 7E7438 80240098 2442000A */ addiu $v0, $v0, 0xa +/* 7E743C 8024009C 0809002E */ j .L802400B8 +/* 7E7440 802400A0 24020002 */ addiu $v0, $zero, 2 +.L802400A4: +/* 7E7444 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* 7E7448 802400A8 28420100 */ slti $v0, $v0, 0x100 +/* 7E744C 802400AC 50400001 */ beql $v0, $zero, .L802400B4 +/* 7E7450 802400B0 AE030074 */ sw $v1, 0x74($s0) +.L802400B4: +/* 7E7454 802400B4 0000102D */ daddu $v0, $zero, $zero +.L802400B8: +/* 7E7458 802400B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 7E745C 802400BC 8FB00010 */ lw $s0, 0x10($sp) +/* 7E7460 802400C0 03E00008 */ jr $ra +/* 7E7464 802400C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/machi/func_802400C8.s b/asm/nonmatchings/world/area_mac/machi/func_802400C8.s new file mode 100644 index 0000000000..dd8a558dd6 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_802400C8.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C8 +/* 7E7468 802400C8 8C820084 */ lw $v0, 0x84($a0) +/* 7E746C 802400CC 3C058011 */ lui $a1, %hi(gPlayerData) +/* 7E7470 802400D0 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 7E7474 802400D4 24420001 */ addiu $v0, $v0, 1 +/* 7E7478 802400D8 000210C0 */ sll $v0, $v0, 3 +/* 7E747C 802400DC 00451021 */ addu $v0, $v0, $a1 +/* 7E7480 802400E0 90430015 */ lbu $v1, 0x15($v0) +/* 7E7484 802400E4 24630001 */ addiu $v1, $v1, 1 +/* 7E7488 802400E8 A0430015 */ sb $v1, 0x15($v0) +/* 7E748C 802400EC AC800084 */ sw $zero, 0x84($a0) +/* 7E7490 802400F0 80A2001D */ lb $v0, 0x1d($a1) +/* 7E7494 802400F4 28420003 */ slti $v0, $v0, 3 +/* 7E7498 802400F8 14400004 */ bnez $v0, .L8024010C +/* 7E749C 802400FC 24020002 */ addiu $v0, $zero, 2 +/* 7E74A0 80240100 A0A2001D */ sb $v0, 0x1d($a1) +/* 7E74A4 80240104 24020001 */ addiu $v0, $zero, 1 +/* 7E74A8 80240108 AC820084 */ sw $v0, 0x84($a0) +.L8024010C: +/* 7E74AC 8024010C 03E00008 */ jr $ra +/* 7E74B0 80240110 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240114.s b/asm/nonmatchings/world/area_mac/machi/func_80240114.s new file mode 100644 index 0000000000..77273b33a2 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240114.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240114 +/* 7E74B4 80240114 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7E74B8 80240118 AFB00010 */ sw $s0, 0x10($sp) +/* 7E74BC 8024011C 0080802D */ daddu $s0, $a0, $zero +/* 7E74C0 80240120 10A00009 */ beqz $a1, .L80240148 +/* 7E74C4 80240124 AFBF0014 */ sw $ra, 0x14($sp) +/* 7E74C8 80240128 3C02800A */ lui $v0, %hi(D_8009A650) +/* 7E74CC 8024012C 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 7E74D0 80240130 AE000070 */ sw $zero, 0x70($s0) +/* 7E74D4 80240134 8C430000 */ lw $v1, ($v0) +/* 7E74D8 80240138 240400FF */ addiu $a0, $zero, 0xff +/* 7E74DC 8024013C AE040074 */ sw $a0, 0x74($s0) +/* 7E74E0 80240140 34630010 */ ori $v1, $v1, 0x10 +/* 7E74E4 80240144 AC430000 */ sw $v1, ($v0) +.L80240148: +/* 7E74E8 80240148 C6000074 */ lwc1 $f0, 0x74($s0) +/* 7E74EC 8024014C 46800020 */ cvt.s.w $f0, $f0 +/* 7E74F0 80240150 44050000 */ mfc1 $a1, $f0 +/* 7E74F4 80240154 0C04DF62 */ jal func_80137D88 +/* 7E74F8 80240158 0000202D */ daddu $a0, $zero, $zero +/* 7E74FC 8024015C 8E020074 */ lw $v0, 0x74($s0) +/* 7E7500 80240160 14400009 */ bnez $v0, .L80240188 +/* 7E7504 80240164 2442FFF6 */ addiu $v0, $v0, -0xa +/* 7E7508 80240168 24020002 */ addiu $v0, $zero, 2 +/* 7E750C 8024016C 3C03800A */ lui $v1, %hi(D_8009A650) +/* 7E7510 80240170 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 7E7514 80240174 8C640000 */ lw $a0, ($v1) +/* 7E7518 80240178 2405FFEF */ addiu $a1, $zero, -0x11 +/* 7E751C 8024017C 00852024 */ and $a0, $a0, $a1 +/* 7E7520 80240180 08090066 */ j .L80240198 +/* 7E7524 80240184 AC640000 */ sw $a0, ($v1) +.L80240188: +/* 7E7528 80240188 04410002 */ bgez $v0, .L80240194 +/* 7E752C 8024018C AE020074 */ sw $v0, 0x74($s0) +/* 7E7530 80240190 AE000074 */ sw $zero, 0x74($s0) +.L80240194: +/* 7E7534 80240194 0000102D */ daddu $v0, $zero, $zero +.L80240198: +/* 7E7538 80240198 8FBF0014 */ lw $ra, 0x14($sp) +/* 7E753C 8024019C 8FB00010 */ lw $s0, 0x10($sp) +/* 7E7540 802401A0 03E00008 */ jr $ra +/* 7E7544 802401A4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 7E7548 802401A8 00000000 */ nop +/* 7E754C 802401AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/machi/func_802401B0.s b/asm/nonmatchings/world/area_mac/machi/func_802401B0.s new file mode 100644 index 0000000000..426a52bb68 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_802401B0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0 +/* 7E7550 802401B0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 7E7554 802401B4 AFBF002C */ sw $ra, 0x2c($sp) +/* 7E7558 802401B8 AFB20028 */ sw $s2, 0x28($sp) +/* 7E755C 802401BC AFB10024 */ sw $s1, 0x24($sp) +/* 7E7560 802401C0 AFB00020 */ sw $s0, 0x20($sp) +/* 7E7564 802401C4 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 7E7568 802401C8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 7E756C 802401CC 8C820148 */ lw $v0, 0x148($a0) +/* 7E7570 802401D0 0C00EABB */ jal get_npc_unsafe +/* 7E7574 802401D4 84440008 */ lh $a0, 8($v0) +/* 7E7578 802401D8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 7E757C 802401DC 0C00A67F */ jal rand_int +/* 7E7580 802401E0 0040902D */ daddu $s2, $v0, $zero +/* 7E7584 802401E4 284201F4 */ slti $v0, $v0, 0x1f4 +/* 7E7588 802401E8 10400019 */ beqz $v0, .L80240250 +/* 7E758C 802401EC 00000000 */ nop +/* 7E7590 802401F0 0C00A67F */ jal rand_int +/* 7E7594 802401F4 24040004 */ addiu $a0, $zero, 4 +/* 7E7598 802401F8 24420001 */ addiu $v0, $v0, 1 +/* 7E759C 802401FC 4482B000 */ mtc1 $v0, $f22 +/* 7E75A0 80240200 00000000 */ nop +/* 7E75A4 80240204 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7E75A8 80240208 0C00A67F */ jal rand_int +/* 7E75AC 8024020C 24040003 */ addiu $a0, $zero, 3 +/* 7E75B0 80240210 24420005 */ addiu $v0, $v0, 5 +/* 7E75B4 80240214 4482A000 */ mtc1 $v0, $f20 +/* 7E75B8 80240218 00000000 */ nop +/* 7E75BC 8024021C 4680A520 */ cvt.s.w $f20, $f20 +/* 7E75C0 80240220 0C00A67F */ jal rand_int +/* 7E75C4 80240224 24040032 */ addiu $a0, $zero, 0x32 +/* 7E75C8 80240228 24040064 */ addiu $a0, $zero, 0x64 +/* 7E75CC 8024022C 0C00A67F */ jal rand_int +/* 7E75D0 80240230 24500032 */ addiu $s0, $v0, 0x32 +/* 7E75D4 80240234 0240202D */ daddu $a0, $s2, $zero +/* 7E75D8 80240238 2405FFFF */ addiu $a1, $zero, -1 +/* 7E75DC 8024023C 3C068024 */ lui $a2, 0x8024 +/* 7E75E0 80240240 24C61180 */ addiu $a2, $a2, 0x1180 +/* 7E75E4 80240244 4407B000 */ mfc1 $a3, $f22 +/* 7E75E8 80240248 080900AE */ j .L802402B8 +/* 7E75EC 8024024C 24420064 */ addiu $v0, $v0, 0x64 +.L80240250: +/* 7E75F0 80240250 0C00A67F */ jal rand_int +/* 7E75F4 80240254 24040003 */ addiu $a0, $zero, 3 +/* 7E75F8 80240258 24040004 */ addiu $a0, $zero, 4 +/* 7E75FC 8024025C 0C00A67F */ jal rand_int +/* 7E7600 80240260 2451000A */ addiu $s1, $v0, 0xa +/* 7E7604 80240264 24420001 */ addiu $v0, $v0, 1 +/* 7E7608 80240268 4482B000 */ mtc1 $v0, $f22 +/* 7E760C 8024026C 00000000 */ nop +/* 7E7610 80240270 4680B5A0 */ cvt.s.w $f22, $f22 +/* 7E7614 80240274 0C00A67F */ jal rand_int +/* 7E7618 80240278 24040003 */ addiu $a0, $zero, 3 +/* 7E761C 8024027C 24420005 */ addiu $v0, $v0, 5 +/* 7E7620 80240280 4482A000 */ mtc1 $v0, $f20 +/* 7E7624 80240284 00000000 */ nop +/* 7E7628 80240288 4680A520 */ cvt.s.w $f20, $f20 +/* 7E762C 8024028C 0C00A67F */ jal rand_int +/* 7E7630 80240290 24040032 */ addiu $a0, $zero, 0x32 +/* 7E7634 80240294 24040064 */ addiu $a0, $zero, 0x64 +/* 7E7638 80240298 0C00A67F */ jal rand_int +/* 7E763C 8024029C 24500032 */ addiu $s0, $v0, 0x32 +/* 7E7640 802402A0 0240202D */ daddu $a0, $s2, $zero +/* 7E7644 802402A4 0220282D */ daddu $a1, $s1, $zero +/* 7E7648 802402A8 3C068024 */ lui $a2, 0x8024 +/* 7E764C 802402AC 24C61180 */ addiu $a2, $a2, 0x1180 +/* 7E7650 802402B0 4407B000 */ mfc1 $a3, $f22 +/* 7E7654 802402B4 2442000A */ addiu $v0, $v0, 0xa +.L802402B8: +/* 7E7658 802402B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* 7E765C 802402BC AFB00014 */ sw $s0, 0x14($sp) +/* 7E7660 802402C0 0C0177B3 */ jal func_8005DECC +/* 7E7664 802402C4 AFA20018 */ sw $v0, 0x18($sp) +/* 7E7668 802402C8 8FBF002C */ lw $ra, 0x2c($sp) +/* 7E766C 802402CC 8FB20028 */ lw $s2, 0x28($sp) +/* 7E7670 802402D0 8FB10024 */ lw $s1, 0x24($sp) +/* 7E7674 802402D4 8FB00020 */ lw $s0, 0x20($sp) +/* 7E7678 802402D8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 7E767C 802402DC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 7E7680 802402E0 24020002 */ addiu $v0, $zero, 2 +/* 7E7684 802402E4 03E00008 */ jr $ra +/* 7E7688 802402E8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mac/machi/func_802402EC.s b/asm/nonmatchings/world/area_mac/machi/func_802402EC.s new file mode 100644 index 0000000000..ebb344bc4f --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_802402EC.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402EC +/* 7E768C 802402EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7E7690 802402F0 AFBF0010 */ sw $ra, 0x10($sp) +/* 7E7694 802402F4 8C820148 */ lw $v0, 0x148($a0) +/* 7E7698 802402F8 0C00EABB */ jal get_npc_unsafe +/* 7E769C 802402FC 84440008 */ lh $a0, 8($v0) +/* 7E76A0 80240300 0C0177F5 */ jal func_8005DFD4 +/* 7E76A4 80240304 0040202D */ daddu $a0, $v0, $zero +/* 7E76A8 80240308 8FBF0010 */ lw $ra, 0x10($sp) +/* 7E76AC 8024030C 24020002 */ addiu $v0, $zero, 2 +/* 7E76B0 80240310 03E00008 */ jr $ra +/* 7E76B4 80240314 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240318.s b/asm/nonmatchings/world/area_mac/machi/func_80240318.s new file mode 100644 index 0000000000..2902a03fc8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240318.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240318 +/* 7E76B8 80240318 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7E76BC 8024031C AFBF0010 */ sw $ra, 0x10($sp) +/* 7E76C0 80240320 8C820148 */ lw $v0, 0x148($a0) +/* 7E76C4 80240324 0C00EABB */ jal get_npc_unsafe +/* 7E76C8 80240328 84440008 */ lh $a0, 8($v0) +/* 7E76CC 8024032C 0C01784B */ jal func_8005E12C +/* 7E76D0 80240330 0040202D */ daddu $a0, $v0, $zero +/* 7E76D4 80240334 8FBF0010 */ lw $ra, 0x10($sp) +/* 7E76D8 80240338 24020002 */ addiu $v0, $zero, 2 +/* 7E76DC 8024033C 03E00008 */ jr $ra +/* 7E76E0 80240340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240344.s b/asm/nonmatchings/world/area_mac/machi/func_80240344.s new file mode 100644 index 0000000000..12742262e8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240344.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344 +/* 7E76E4 80240344 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 7E76E8 80240348 2405000B */ addiu $a1, $zero, 0xb +/* 7E76EC 8024034C 3C028011 */ lui $v0, %hi(gPlayerData) +/* 7E76F0 80240350 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 7E76F4 80240354 24440058 */ addiu $a0, $v0, 0x58 +/* 7E76F8 80240358 24030005 */ addiu $v1, $zero, 5 +/* 7E76FC 8024035C AFBF0010 */ sw $ra, 0x10($sp) +/* 7E7700 80240360 A0430002 */ sb $v1, 2($v0) +/* 7E7704 80240364 A0430003 */ sb $v1, 3($v0) +/* 7E7708 80240368 2403FFFF */ addiu $v1, $zero, -1 +/* 7E770C 8024036C A0400000 */ sb $zero, ($v0) +/* 7E7710 80240370 A0430001 */ sb $v1, 1($v0) +/* 7E7714 80240374 A040000E */ sb $zero, 0xe($v0) +.L80240378: +/* 7E7718 80240378 A0800014 */ sb $zero, 0x14($a0) +/* 7E771C 8024037C 24A5FFFF */ addiu $a1, $a1, -1 +/* 7E7720 80240380 04A1FFFD */ bgez $a1, .L80240378 +/* 7E7724 80240384 2484FFF8 */ addiu $a0, $a0, -8 +/* 7E7728 80240388 0C03AC5A */ jal func_800EB168 +/* 7E772C 8024038C 0000202D */ daddu $a0, $zero, $zero +/* 7E7730 80240390 8FBF0010 */ lw $ra, 0x10($sp) +/* 7E7734 80240394 24020002 */ addiu $v0, $zero, 2 +/* 7E7738 80240398 03E00008 */ jr $ra +/* 7E773C 8024039C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mac/machi/func_802403A0.s b/asm/nonmatchings/world/area_mac/machi/func_802403A0.s new file mode 100644 index 0000000000..f16fc0bb44 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_802403A0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0 +/* 7E7740 802403A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7E7744 802403A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 7E7748 802403A8 AFB00018 */ sw $s0, 0x18($sp) +/* 7E774C 802403AC 8C820148 */ lw $v0, 0x148($a0) +/* 7E7750 802403B0 0C00EABB */ jal get_npc_unsafe +/* 7E7754 802403B4 84440008 */ lh $a0, 8($v0) +/* 7E7758 802403B8 0040802D */ daddu $s0, $v0, $zero +/* 7E775C 802403BC 0200202D */ daddu $a0, $s0, $zero +/* 7E7760 802403C0 0C00ECF4 */ jal func_8003B3D0 +/* 7E7764 802403C4 24050003 */ addiu $a1, $zero, 3 +/* 7E7768 802403C8 0200202D */ daddu $a0, $s0, $zero +/* 7E776C 802403CC 0000282D */ daddu $a1, $zero, $zero +/* 7E7770 802403D0 24060001 */ addiu $a2, $zero, 1 +/* 7E7774 802403D4 2407001E */ addiu $a3, $zero, 0x1e +/* 7E7778 802403D8 2402000A */ addiu $v0, $zero, 0xa +/* 7E777C 802403DC 0C00ED13 */ jal func_8003B44C +/* 7E7780 802403E0 AFA20010 */ sw $v0, 0x10($sp) +/* 7E7784 802403E4 0200202D */ daddu $a0, $s0, $zero +/* 7E7788 802403E8 2405003C */ addiu $a1, $zero, 0x3c +/* 7E778C 802403EC 24060014 */ addiu $a2, $zero, 0x14 +/* 7E7790 802403F0 0000382D */ daddu $a3, $zero, $zero +/* 7E7794 802403F4 0C00ED19 */ jal func_8003B464 +/* 7E7798 802403F8 AFA00010 */ sw $zero, 0x10($sp) +/* 7E779C 802403FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 7E77A0 80240400 8FB00018 */ lw $s0, 0x18($sp) +/* 7E77A4 80240404 24020002 */ addiu $v0, $zero, 2 +/* 7E77A8 80240408 03E00008 */ jr $ra +/* 7E77AC 8024040C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mac/machi/func_80240410.s b/asm/nonmatchings/world/area_mac/machi/func_80240410.s new file mode 100644 index 0000000000..e633b4f405 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_80240410.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410 +/* 7E77B0 80240410 24050001 */ addiu $a1, $zero, 1 +/* 7E77B4 80240414 3C028011 */ lui $v0, %hi(gPlayerData) +/* 7E77B8 80240418 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 7E77BC 8024041C 24440008 */ addiu $a0, $v0, 8 +/* 7E77C0 80240420 24030008 */ addiu $v1, $zero, 8 +/* 7E77C4 80240424 A0430002 */ sb $v1, 2($v0) +/* 7E77C8 80240428 A0430003 */ sb $v1, 3($v0) +/* 7E77CC 8024042C 00A0182D */ daddu $v1, $a1, $zero +/* 7E77D0 80240430 A0400000 */ sb $zero, ($v0) +/* 7E77D4 80240434 A0400001 */ sb $zero, 1($v0) +/* 7E77D8 80240438 A040000E */ sb $zero, 0xe($v0) +/* 7E77DC 8024043C A0430014 */ sb $v1, 0x14($v0) +.L80240440: +/* 7E77E0 80240440 A0800014 */ sb $zero, 0x14($a0) +/* 7E77E4 80240444 24A50001 */ addiu $a1, $a1, 1 +/* 7E77E8 80240448 28A2000C */ slti $v0, $a1, 0xc +/* 7E77EC 8024044C 1440FFFC */ bnez $v0, .L80240440 +/* 7E77F0 80240450 24840008 */ addiu $a0, $a0, 8 +/* 7E77F4 80240454 03E00008 */ jr $ra +/* 7E77F8 80240458 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mac/machi/func_8024045C.s b/asm/nonmatchings/world/area_mac/machi/func_8024045C.s new file mode 100644 index 0000000000..8b0556b2d8 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_8024045C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024045C +/* 7E77FC 8024045C 2404000B */ addiu $a0, $zero, 0xb +/* 7E7800 80240460 3C058011 */ lui $a1, %hi(gPlayerData) +/* 7E7804 80240464 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 7E7808 80240468 24A30058 */ addiu $v1, $a1, 0x58 +/* 7E780C 8024046C 0080102D */ daddu $v0, $a0, $zero +/* 7E7810 80240470 A0A20002 */ sb $v0, 2($a1) +/* 7E7814 80240474 A0A20003 */ sb $v0, 3($a1) +/* 7E7818 80240478 A0A00000 */ sb $zero, ($a1) +/* 7E781C 8024047C A0A00001 */ sb $zero, 1($a1) +/* 7E7820 80240480 A0A0000E */ sb $zero, 0xe($a1) +.L80240484: +/* 7E7824 80240484 A0600014 */ sb $zero, 0x14($v1) +/* 7E7828 80240488 2484FFFF */ addiu $a0, $a0, -1 +/* 7E782C 8024048C 0481FFFD */ bgez $a0, .L80240484 +/* 7E7830 80240490 2463FFF8 */ addiu $v1, $v1, -8 +/* 7E7834 80240494 24020001 */ addiu $v0, $zero, 1 +/* 7E7838 80240498 A0A20014 */ sb $v0, 0x14($a1) +/* 7E783C 8024049C A0A2001C */ sb $v0, 0x1c($a1) +/* 7E7840 802404A0 A0A2002C */ sb $v0, 0x2c($a1) +/* 7E7844 802404A4 03E00008 */ jr $ra +/* 7E7848 802404A8 24020002 */ addiu $v0, $zero, 2 +/* 7E784C 802404AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/machi/func_802404B0.s b/asm/nonmatchings/world/area_mac/machi/func_802404B0.s new file mode 100644 index 0000000000..27a5fe29e5 --- /dev/null +++ b/asm/nonmatchings/world/area_mac/machi/func_802404B0.s @@ -0,0 +1,129 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0 +/* 7E7850 802404B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 7E7854 802404B4 AFB10014 */ sw $s1, 0x14($sp) +/* 7E7858 802404B8 0080882D */ daddu $s1, $a0, $zero +/* 7E785C 802404BC AFB00010 */ sw $s0, 0x10($sp) +/* 7E7860 802404C0 00A0802D */ daddu $s0, $a1, $zero +/* 7E7864 802404C4 AFBF0018 */ sw $ra, 0x18($sp) +/* 7E7868 802404C8 0C00EABB */ jal get_npc_unsafe +/* 7E786C 802404CC 24040037 */ addiu $a0, $zero, 0x37 +/* 7E7870 802404D0 12000002 */ beqz $s0, .L802404DC +/* 7E7874 802404D4 0040202D */ daddu $a0, $v0, $zero +/* 7E7878 802404D8 AE200070 */ sw $zero, 0x70($s1) +.L802404DC: +/* 7E787C 802404DC 8E230070 */ lw $v1, 0x70($s1) +/* 7E7880 802404E0 10600005 */ beqz $v1, .L802404F8 +/* 7E7884 802404E4 24020001 */ addiu $v0, $zero, 1 +/* 7E7888 802404E8 1062003C */ beq $v1, $v0, .L802405DC +/* 7E788C 802404EC 0000102D */ daddu $v0, $zero, $zero +/* 7E7890 802404F0 0809019E */ j .L80240678 +/* 7E7894 802404F4 00000000 */ nop +.L802404F8: +/* 7E7898 802404F8 C4800038 */ lwc1 $f0, 0x38($a0) +/* 7E789C 802404FC 3C0143FA */ lui $at, 0x43fa +/* 7E78A0 80240500 44814000 */ mtc1 $at, $f8 +/* 7E78A4 80240504 00000000 */ nop +/* 7E78A8 80240508 46080000 */ add.s $f0, $f0, $f8 +/* 7E78AC 8024050C C482003C */ lwc1 $f2, 0x3c($a0) +/* 7E78B0 80240510 E4800060 */ swc1 $f0, 0x60($a0) +/* 7E78B4 80240514 3C0142F0 */ lui $at, 0x42f0 +/* 7E78B8 80240518 44810000 */ mtc1 $at, $f0 +/* 7E78BC 8024051C C4860038 */ lwc1 $f6, 0x38($a0) +/* 7E78C0 80240520 46001080 */ add.s $f2, $f2, $f0 +/* 7E78C4 80240524 C4800040 */ lwc1 $f0, 0x40($a0) +/* 7E78C8 80240528 24020014 */ addiu $v0, $zero, 0x14 +/* 7E78CC 8024052C A482008E */ sh $v0, 0x8e($a0) +/* 7E78D0 80240530 46080001 */ sub.s $f0, $f0, $f8 +/* 7E78D4 80240534 C4840060 */ lwc1 $f4, 0x60($a0) +/* 7E78D8 80240538 8483008E */ lh $v1, 0x8e($a0) +/* 7E78DC 8024053C 46062101 */ sub.s $f4, $f4, $f6 +/* 7E78E0 80240540 E4800068 */ swc1 $f0, 0x68($a0) +/* 7E78E4 80240544 C480003C */ lwc1 $f0, 0x3c($a0) +/* 7E78E8 80240548 24020064 */ addiu $v0, $zero, 0x64 +/* 7E78EC 8024054C E4820064 */ swc1 $f2, 0x64($a0) +/* 7E78F0 80240550 46001081 */ sub.s $f2, $f2, $f0 +/* 7E78F4 80240554 3C0141A0 */ lui $at, 0x41a0 +/* 7E78F8 80240558 44813000 */ mtc1 $at, $f6 +/* 7E78FC 8024055C 44830000 */ mtc1 $v1, $f0 +/* 7E7900 80240560 00000000 */ nop +/* 7E7904 80240564 46800020 */ cvt.s.w $f0, $f0 +/* 7E7908 80240568 46001083 */ div.s $f2, $f2, $f0 +/* 7E790C 8024056C C4800068 */ lwc1 $f0, 0x68($a0) +/* 7E7910 80240570 0060282D */ daddu $a1, $v1, $zero +/* 7E7914 80240574 A482008E */ sh $v0, 0x8e($a0) +/* 7E7918 80240578 E4820064 */ swc1 $f2, 0x64($a0) +/* 7E791C 8024057C C4820040 */ lwc1 $f2, 0x40($a0) +/* 7E7920 80240580 46062103 */ div.s $f4, $f4, $f6 +/* 7E7924 80240584 E4840060 */ swc1 $f4, 0x60($a0) +/* 7E7928 80240588 46020001 */ sub.s $f0, $f0, $f2 +/* 7E792C 8024058C 46002086 */ mov.s $f2, $f4 +/* 7E7930 80240590 3C014120 */ lui $at, 0x4120 +/* 7E7934 80240594 44812000 */ mtc1 $at, $f4 +/* 7E7938 80240598 44853000 */ mtc1 $a1, $f6 +/* 7E793C 8024059C 00000000 */ nop +/* 7E7940 802405A0 468031A0 */ cvt.s.w $f6, $f6 +/* 7E7944 802405A4 46041083 */ div.s $f2, $f2, $f4 +/* 7E7948 802405A8 E4820060 */ swc1 $f2, 0x60($a0) +/* 7E794C 802405AC 46060003 */ div.s $f0, $f0, $f6 +/* 7E7950 802405B0 E4800068 */ swc1 $f0, 0x68($a0) +/* 7E7954 802405B4 C4800064 */ lwc1 $f0, 0x64($a0) +/* 7E7958 802405B8 C4820068 */ lwc1 $f2, 0x68($a0) +/* 7E795C 802405BC 46040003 */ div.s $f0, $f0, $f4 +/* 7E7960 802405C0 46041083 */ div.s $f2, $f2, $f4 +/* 7E7964 802405C4 E4800064 */ swc1 $f0, 0x64($a0) +/* 7E7968 802405C8 0C00EB49 */ jal enable_npc_blur +/* 7E796C 802405CC E4820068 */ swc1 $f2, 0x68($a0) +/* 7E7970 802405D0 24020001 */ addiu $v0, $zero, 1 +/* 7E7974 802405D4 0809019D */ j .L80240674 +/* 7E7978 802405D8 AE220070 */ sw $v0, 0x70($s1) +.L802405DC: +/* 7E797C 802405DC C4840060 */ lwc1 $f4, 0x60($a0) +/* 7E7980 802405E0 3C018024 */ lui $at, 0x8024 +/* 7E7984 802405E4 D42A3960 */ ldc1 $f10, 0x3960($at) +/* 7E7988 802405E8 46002121 */ cvt.d.s $f4, $f4 +/* 7E798C 802405EC 462A2102 */ mul.d $f4, $f4, $f10 +/* 7E7990 802405F0 00000000 */ nop +/* 7E7994 802405F4 C4820064 */ lwc1 $f2, 0x64($a0) +/* 7E7998 802405F8 460010A1 */ cvt.d.s $f2, $f2 +/* 7E799C 802405FC 462A1082 */ mul.d $f2, $f2, $f10 +/* 7E79A0 80240600 00000000 */ nop +/* 7E79A4 80240604 24020001 */ addiu $v0, $zero, 1 +/* 7E79A8 80240608 C48E0038 */ lwc1 $f14, 0x38($a0) +/* 7E79AC 8024060C C4800060 */ lwc1 $f0, 0x60($a0) +/* 7E79B0 80240610 C48C003C */ lwc1 $f12, 0x3c($a0) +/* 7E79B4 80240614 9483008E */ lhu $v1, 0x8e($a0) +/* 7E79B8 80240618 C4880040 */ lwc1 $f8, 0x40($a0) +/* 7E79BC 8024061C C4860068 */ lwc1 $f6, 0x68($a0) +/* 7E79C0 80240620 46007380 */ add.s $f14, $f14, $f0 +/* 7E79C4 80240624 2463FFFF */ addiu $v1, $v1, -1 +/* 7E79C8 80240628 C4800064 */ lwc1 $f0, 0x64($a0) +/* 7E79CC 8024062C 46064200 */ add.s $f8, $f8, $f6 +/* 7E79D0 80240630 A483008E */ sh $v1, 0x8e($a0) +/* 7E79D4 80240634 00031C00 */ sll $v1, $v1, 0x10 +/* 7E79D8 80240638 46006300 */ add.s $f12, $f12, $f0 +/* 7E79DC 8024063C 46003006 */ mov.s $f0, $f6 +/* 7E79E0 80240640 46000021 */ cvt.d.s $f0, $f0 +/* 7E79E4 80240644 462A0002 */ mul.d $f0, $f0, $f10 +/* 7E79E8 80240648 00000000 */ nop +/* 7E79EC 8024064C E48E0038 */ swc1 $f14, 0x38($a0) +/* 7E79F0 80240650 E4880040 */ swc1 $f8, 0x40($a0) +/* 7E79F4 80240654 E48C003C */ swc1 $f12, 0x3c($a0) +/* 7E79F8 80240658 46202120 */ cvt.s.d $f4, $f4 +/* 7E79FC 8024065C 462010A0 */ cvt.s.d $f2, $f2 +/* 7E7A00 80240660 E4840060 */ swc1 $f4, 0x60($a0) +/* 7E7A04 80240664 E4820064 */ swc1 $f2, 0x64($a0) +/* 7E7A08 80240668 46200020 */ cvt.s.d $f0, $f0 +/* 7E7A0C 8024066C 10600002 */ beqz $v1, .L80240678 +/* 7E7A10 80240670 E4800068 */ swc1 $f0, 0x68($a0) +.L80240674: +/* 7E7A14 80240674 0000102D */ daddu $v0, $zero, $zero +.L80240678: +/* 7E7A18 80240678 8FBF0018 */ lw $ra, 0x18($sp) +/* 7E7A1C 8024067C 8FB10014 */ lw $s1, 0x14($sp) +/* 7E7A20 80240680 8FB00010 */ lw $s0, 0x10($sp) +/* 7E7A24 80240684 03E00008 */ jr $ra +/* 7E7A28 80240688 27BD0020 */ addiu $sp, $sp, 0x20 +/* 7E7A2C 8024068C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240000_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240000_E0E7A0.s new file mode 100644 index 0000000000..06a76711f2 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240000_E0E7A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_E0E7A0 +/* E0E7A0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E0E7A4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E0E7A8 80240008 8C430004 */ lw $v1, 4($v0) +/* E0E7AC 8024000C 3C040010 */ lui $a0, 0x10 +/* E0E7B0 80240010 00641825 */ or $v1, $v1, $a0 +/* E0E7B4 80240014 AC430004 */ sw $v1, 4($v0) +/* E0E7B8 80240018 03E00008 */ jr $ra +/* E0E7BC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240020_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240020_E0E7A0.s new file mode 100644 index 0000000000..44765d72ce --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240020_E0E7A0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_E0E7C0 +/* E0E7C0 80240020 3C028016 */ lui $v0, 0x8016 +/* E0E7C4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* E0E7C8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* E0E7CC 8024002C 03E00008 */ jr $ra +/* E0E7D0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240034_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240034_E0E7A0.s new file mode 100644 index 0000000000..52656af611 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240034_E0E7A0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_E0E7D4 +/* E0E7D4 80240034 3C038016 */ lui $v1, 0x8016 +/* E0E7D8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* E0E7DC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E0E7E0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* E0E7E4 80240044 0080802D */ daddu $s0, $a0, $zero +/* E0E7E8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* E0E7EC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* E0E7F0 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* E0E7F4 80240054 24020002 */ addiu $v0, $zero, 2 +/* E0E7F8 80240058 08090038 */ j .L802400E0 +/* E0E7FC 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* E0E800 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* E0E804 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* E0E808 80240068 80620040 */ lb $v0, 0x40($v1) +/* E0E80C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* E0E810 80240070 04420001 */ bltzl $v0, .L80240078 +/* E0E814 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* E0E818 80240078 14400003 */ bnez $v0, .L80240088 +/* E0E81C 8024007C 00000000 */ nop +/* E0E820 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* E0E824 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* E0E828 80240088 44822000 */ mtc1 $v0, $f4 +/* E0E82C 8024008C 00000000 */ nop +/* E0E830 80240090 46802120 */ cvt.s.w $f4, $f4 +/* E0E834 80240094 44062000 */ mfc1 $a2, $f4 +/* E0E838 80240098 44872000 */ mtc1 $a3, $f4 +/* E0E83C 8024009C 00000000 */ nop +/* E0E840 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* E0E844 802400A4 44806000 */ mtc1 $zero, $f12 +/* E0E848 802400A8 44072000 */ mfc1 $a3, $f4 +/* E0E84C 802400AC 0C00A720 */ jal atan2 +/* E0E850 802400B0 46006386 */ mov.s $f14, $f12 +/* E0E854 802400B4 3C014270 */ lui $at, 0x4270 +/* E0E858 802400B8 44811000 */ mtc1 $at, $f2 +/* E0E85C 802400BC 00000000 */ nop +/* E0E860 802400C0 4602003C */ c.lt.s $f0, $f2 +/* E0E864 802400C4 00000000 */ nop +/* E0E868 802400C8 45000004 */ bc1f .L802400DC +/* E0E86C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* E0E870 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* E0E874 802400D4 08090038 */ j .L802400E0 +/* E0E878 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* E0E87C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* E0E880 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* E0E884 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* E0E888 802400E8 03E00008 */ jr $ra +/* E0E88C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802400F0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802400F0_E0E7A0.s new file mode 100644 index 0000000000..d508313413 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802400F0_E0E7A0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_E0E890 +/* E0E890 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0E894 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* E0E898 802400F8 0080882D */ daddu $s1, $a0, $zero +/* E0E89C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* E0E8A0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* E0E8A4 80240104 0C016AFA */ jal get_current_map_header +/* E0E8A8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* E0E8AC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* E0E8B0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* E0E8B4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E0E8B8 80240118 0C0B1EAF */ jal get_variable +/* E0E8BC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* E0E8C0 80240120 0220202D */ daddu $a0, $s1, $zero +/* E0E8C4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* E0E8C8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* E0E8CC 8024012C 00028100 */ sll $s0, $v0, 4 +/* E0E8D0 80240130 02031821 */ addu $v1, $s0, $v1 +/* E0E8D4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* E0E8D8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* E0E8DC 8024013C 44061000 */ mfc1 $a2, $f2 +/* E0E8E0 80240140 0C0B2026 */ jal set_variable +/* E0E8E4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E0E8E8 80240148 0220202D */ daddu $a0, $s1, $zero +/* E0E8EC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* E0E8F0 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* E0E8F4 80240154 02021021 */ addu $v0, $s0, $v0 +/* E0E8F8 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* E0E8FC 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* E0E900 80240160 44061000 */ mfc1 $a2, $f2 +/* E0E904 80240164 0C0B2026 */ jal set_variable +/* E0E908 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E0E90C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* E0E910 80240170 8E420014 */ lw $v0, 0x14($s2) +/* E0E914 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* E0E918 80240178 02021021 */ addu $v0, $s0, $v0 +/* E0E91C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* E0E920 80240180 4600008D */ trunc.w.s $f2, $f0 +/* E0E924 80240184 44061000 */ mfc1 $a2, $f2 +/* E0E928 80240188 0C0B2026 */ jal set_variable +/* E0E92C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E0E930 80240190 0220202D */ daddu $a0, $s1, $zero +/* E0E934 80240194 8E420014 */ lw $v0, 0x14($s2) +/* E0E938 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* E0E93C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* E0E940 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* E0E944 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* E0E948 802401A8 44061000 */ mfc1 $a2, $f2 +/* E0E94C 802401AC 0C0B2026 */ jal set_variable +/* E0E950 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* E0E954 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* E0E958 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* E0E95C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* E0E960 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* E0E964 802401C4 24020002 */ addiu $v0, $zero, 2 +/* E0E968 802401C8 03E00008 */ jr $ra +/* E0E96C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802401D0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802401D0_E0E7A0.s new file mode 100644 index 0000000000..69847dc83e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802401D0_E0E7A0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_E0E970 +/* E0E970 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* E0E974 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* E0E978 802401D8 3C014334 */ lui $at, 0x4334 +/* E0E97C 802401DC 44816000 */ mtc1 $at, $f12 +/* E0E980 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E0E984 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* E0E988 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* E0E98C 802401EC 00031080 */ sll $v0, $v1, 2 +/* E0E990 802401F0 00431021 */ addu $v0, $v0, $v1 +/* E0E994 802401F4 00021080 */ sll $v0, $v0, 2 +/* E0E998 802401F8 00431023 */ subu $v0, $v0, $v1 +/* E0E99C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* E0E9A0 80240200 00431021 */ addu $v0, $v0, $v1 +/* E0E9A4 80240204 000210C0 */ sll $v0, $v0, 3 +/* E0E9A8 80240208 3C01800B */ lui $at, 0x800b +/* E0E9AC 8024020C 00220821 */ addu $at, $at, $v0 +/* E0E9B0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* E0E9B4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* E0E9B8 80240218 0C00A6C9 */ jal clamp_angle +/* E0E9BC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* E0E9C0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* E0E9C4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* E0E9C8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* E0E9CC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* E0E9D0 80240230 24020002 */ addiu $v0, $zero, 2 +/* E0E9D4 80240234 03E00008 */ jr $ra +/* E0E9D8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_8024023C_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_8024023C_E0E7A0.s new file mode 100644 index 0000000000..ae700c7939 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_8024023C_E0E7A0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_E0E9DC +/* E0E9DC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E0E9E0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* E0E9E4 80240244 0080802D */ daddu $s0, $a0, $zero +/* E0E9E8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* E0E9EC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* E0E9F0 80240250 8E02000C */ lw $v0, 0xc($s0) +/* E0E9F4 80240254 0C0B210B */ jal get_float_variable +/* E0E9F8 80240258 8C450000 */ lw $a1, ($v0) +/* E0E9FC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* E0EA00 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* E0EA04 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* E0EA08 80240268 44060000 */ mfc1 $a2, $f0 +/* E0EA0C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* E0EA10 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* E0EA14 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* E0EA18 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* E0EA1C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* E0EA20 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* E0EA24 80240284 0C00A7E7 */ jal add_vec2D_polar +/* E0EA28 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* E0EA2C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* E0EA30 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* E0EA34 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* E0EA38 80240298 0C0B2190 */ jal set_float_variable +/* E0EA3C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E0EA40 802402A0 0200202D */ daddu $a0, $s0, $zero +/* E0EA44 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* E0EA48 802402A8 4406A000 */ mfc1 $a2, $f20 +/* E0EA4C 802402AC 0C0B2190 */ jal set_float_variable +/* E0EA50 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E0EA54 802402B4 0200202D */ daddu $a0, $s0, $zero +/* E0EA58 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* E0EA5C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* E0EA60 802402C0 0C0B2190 */ jal set_float_variable +/* E0EA64 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E0EA68 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* E0EA6C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* E0EA70 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* E0EA74 802402D4 24020002 */ addiu $v0, $zero, 2 +/* E0EA78 802402D8 03E00008 */ jr $ra +/* E0EA7C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802402E0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802402E0_E0E7A0.s new file mode 100644 index 0000000000..a7013eb69c --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802402E0_E0E7A0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_E0EA80 +/* E0EA80 802402E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* E0EA84 802402E4 AFB50024 */ sw $s5, 0x24($sp) +/* E0EA88 802402E8 0080A82D */ daddu $s5, $a0, $zero +/* E0EA8C 802402EC AFBF002C */ sw $ra, 0x2c($sp) +/* E0EA90 802402F0 AFB60028 */ sw $s6, 0x28($sp) +/* E0EA94 802402F4 AFB40020 */ sw $s4, 0x20($sp) +/* E0EA98 802402F8 AFB3001C */ sw $s3, 0x1c($sp) +/* E0EA9C 802402FC AFB20018 */ sw $s2, 0x18($sp) +/* E0EAA0 80240300 AFB10014 */ sw $s1, 0x14($sp) +/* E0EAA4 80240304 AFB00010 */ sw $s0, 0x10($sp) +/* E0EAA8 80240308 F7B80040 */ sdc1 $f24, 0x40($sp) +/* E0EAAC 8024030C F7B60038 */ sdc1 $f22, 0x38($sp) +/* E0EAB0 80240310 F7B40030 */ sdc1 $f20, 0x30($sp) +/* E0EAB4 80240314 8EB30148 */ lw $s3, 0x148($s5) +/* E0EAB8 80240318 86640008 */ lh $a0, 8($s3) +/* E0EABC 8024031C 0C00EABB */ jal get_npc_unsafe +/* E0EAC0 80240320 00A0B02D */ daddu $s6, $a1, $zero +/* E0EAC4 80240324 0040A02D */ daddu $s4, $v0, $zero +/* E0EAC8 80240328 AEA00074 */ sw $zero, 0x74($s5) +/* E0EACC 8024032C C6980038 */ lwc1 $f24, 0x38($s4) +/* E0EAD0 80240330 C6960040 */ lwc1 $f22, 0x40($s4) +/* E0EAD4 80240334 0000902D */ daddu $s2, $zero, $zero +/* E0EAD8 80240338 AEA00078 */ sw $zero, 0x78($s5) +/* E0EADC 8024033C 8E6300D0 */ lw $v1, 0xd0($s3) +/* E0EAE0 80240340 8C620000 */ lw $v0, ($v1) +/* E0EAE4 80240344 3C0146FF */ lui $at, 0x46ff +/* E0EAE8 80240348 3421FE00 */ ori $at, $at, 0xfe00 +/* E0EAEC 8024034C 4481A000 */ mtc1 $at, $f20 +/* E0EAF0 80240350 18400018 */ blez $v0, .L802403B4 +/* E0EAF4 80240354 0240802D */ daddu $s0, $s2, $zero +/* E0EAF8 80240358 0240882D */ daddu $s1, $s2, $zero +.L8024035C: +/* E0EAFC 8024035C 02231021 */ addu $v0, $s1, $v1 +/* E0EB00 80240360 4600C306 */ mov.s $f12, $f24 +/* E0EB04 80240364 C4440004 */ lwc1 $f4, 4($v0) +/* E0EB08 80240368 46802120 */ cvt.s.w $f4, $f4 +/* E0EB0C 8024036C 44062000 */ mfc1 $a2, $f4 +/* E0EB10 80240370 C444000C */ lwc1 $f4, 0xc($v0) +/* E0EB14 80240374 46802120 */ cvt.s.w $f4, $f4 +/* E0EB18 80240378 44072000 */ mfc1 $a3, $f4 +/* E0EB1C 8024037C 0C00A7B5 */ jal dist2D +/* E0EB20 80240380 4600B386 */ mov.s $f14, $f22 +/* E0EB24 80240384 4614003C */ c.lt.s $f0, $f20 +/* E0EB28 80240388 00000000 */ nop +/* E0EB2C 8024038C 45000003 */ bc1f .L8024039C +/* E0EB30 80240390 2631000C */ addiu $s1, $s1, 0xc +/* E0EB34 80240394 46000506 */ mov.s $f20, $f0 +/* E0EB38 80240398 AEB20078 */ sw $s2, 0x78($s5) +.L8024039C: +/* E0EB3C 8024039C 8E6300D0 */ lw $v1, 0xd0($s3) +/* E0EB40 802403A0 26100001 */ addiu $s0, $s0, 1 +/* E0EB44 802403A4 8C620000 */ lw $v0, ($v1) +/* E0EB48 802403A8 0202102A */ slt $v0, $s0, $v0 +/* E0EB4C 802403AC 1440FFEB */ bnez $v0, .L8024035C +/* E0EB50 802403B0 26520001 */ addiu $s2, $s2, 1 +.L802403B4: +/* E0EB54 802403B4 8E6200CC */ lw $v0, 0xcc($s3) +/* E0EB58 802403B8 8C420004 */ lw $v0, 4($v0) +/* E0EB5C 802403BC AE820028 */ sw $v0, 0x28($s4) +/* E0EB60 802403C0 8E6200D0 */ lw $v0, 0xd0($s3) +/* E0EB64 802403C4 8C42007C */ lw $v0, 0x7c($v0) +/* E0EB68 802403C8 04410004 */ bgez $v0, .L802403DC +/* E0EB6C 802403CC 00000000 */ nop +/* E0EB70 802403D0 C6C00000 */ lwc1 $f0, ($s6) +/* E0EB74 802403D4 080900FF */ j .L802403FC +/* E0EB78 802403D8 E6800018 */ swc1 $f0, 0x18($s4) +.L802403DC: +/* E0EB7C 802403DC 3C018024 */ lui $at, 0x8024 +/* E0EB80 802403E0 D4223DF0 */ ldc1 $f2, 0x3df0($at) +/* E0EB84 802403E4 44820000 */ mtc1 $v0, $f0 +/* E0EB88 802403E8 00000000 */ nop +/* E0EB8C 802403EC 46800021 */ cvt.d.w $f0, $f0 +/* E0EB90 802403F0 46220003 */ div.d $f0, $f0, $f2 +/* E0EB94 802403F4 46200020 */ cvt.s.d $f0, $f0 +/* E0EB98 802403F8 E6800018 */ swc1 $f0, 0x18($s4) +.L802403FC: +/* E0EB9C 802403FC 24020001 */ addiu $v0, $zero, 1 +/* E0EBA0 80240400 AEA20070 */ sw $v0, 0x70($s5) +/* E0EBA4 80240404 8FBF002C */ lw $ra, 0x2c($sp) +/* E0EBA8 80240408 8FB60028 */ lw $s6, 0x28($sp) +/* E0EBAC 8024040C 8FB50024 */ lw $s5, 0x24($sp) +/* E0EBB0 80240410 8FB40020 */ lw $s4, 0x20($sp) +/* E0EBB4 80240414 8FB3001C */ lw $s3, 0x1c($sp) +/* E0EBB8 80240418 8FB20018 */ lw $s2, 0x18($sp) +/* E0EBBC 8024041C 8FB10014 */ lw $s1, 0x14($sp) +/* E0EBC0 80240420 8FB00010 */ lw $s0, 0x10($sp) +/* E0EBC4 80240424 D7B80040 */ ldc1 $f24, 0x40($sp) +/* E0EBC8 80240428 D7B60038 */ ldc1 $f22, 0x38($sp) +/* E0EBCC 8024042C D7B40030 */ ldc1 $f20, 0x30($sp) +/* E0EBD0 80240430 03E00008 */ jr $ra +/* E0EBD4 80240434 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240438_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240438_E0E7A0.s new file mode 100644 index 0000000000..1c3a3a3985 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240438_E0E7A0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240438_E0EBD8 +/* E0EBD8 80240438 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* E0EBDC 8024043C AFB20038 */ sw $s2, 0x38($sp) +/* E0EBE0 80240440 0080902D */ daddu $s2, $a0, $zero +/* E0EBE4 80240444 AFBF0044 */ sw $ra, 0x44($sp) +/* E0EBE8 80240448 AFB40040 */ sw $s4, 0x40($sp) +/* E0EBEC 8024044C AFB3003C */ sw $s3, 0x3c($sp) +/* E0EBF0 80240450 AFB10034 */ sw $s1, 0x34($sp) +/* E0EBF4 80240454 AFB00030 */ sw $s0, 0x30($sp) +/* E0EBF8 80240458 F7B60050 */ sdc1 $f22, 0x50($sp) +/* E0EBFC 8024045C F7B40048 */ sdc1 $f20, 0x48($sp) +/* E0EC00 80240460 8E510148 */ lw $s1, 0x148($s2) +/* E0EC04 80240464 00A0982D */ daddu $s3, $a1, $zero +/* E0EC08 80240468 86240008 */ lh $a0, 8($s1) +/* E0EC0C 8024046C 0C00EABB */ jal get_npc_unsafe +/* E0EC10 80240470 00C0A02D */ daddu $s4, $a2, $zero +/* E0EC14 80240474 8E630014 */ lw $v1, 0x14($s3) +/* E0EC18 80240478 04600030 */ bltz $v1, .L8024053C +/* E0EC1C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* E0EC20 80240480 8E420074 */ lw $v0, 0x74($s2) +/* E0EC24 80240484 1C40002C */ bgtz $v0, .L80240538 +/* E0EC28 80240488 2442FFFF */ addiu $v0, $v0, -1 +/* E0EC2C 8024048C 0280202D */ daddu $a0, $s4, $zero +/* E0EC30 80240490 AE430074 */ sw $v1, 0x74($s2) +/* E0EC34 80240494 AFA00010 */ sw $zero, 0x10($sp) +/* E0EC38 80240498 8E66000C */ lw $a2, 0xc($s3) +/* E0EC3C 8024049C 8E670010 */ lw $a3, 0x10($s3) +/* E0EC40 802404A0 0C01242D */ jal func_800490B4 +/* E0EC44 802404A4 0220282D */ daddu $a1, $s1, $zero +/* E0EC48 802404A8 10400021 */ beqz $v0, .L80240530 +/* E0EC4C 802404AC 0000202D */ daddu $a0, $zero, $zero +/* E0EC50 802404B0 0200282D */ daddu $a1, $s0, $zero +/* E0EC54 802404B4 0000302D */ daddu $a2, $zero, $zero +/* E0EC58 802404B8 860300A8 */ lh $v1, 0xa8($s0) +/* E0EC5C 802404BC 3C013F80 */ lui $at, 0x3f80 +/* E0EC60 802404C0 44810000 */ mtc1 $at, $f0 +/* E0EC64 802404C4 3C014000 */ lui $at, 0x4000 +/* E0EC68 802404C8 44811000 */ mtc1 $at, $f2 +/* E0EC6C 802404CC 3C01C1A0 */ lui $at, 0xc1a0 +/* E0EC70 802404D0 44812000 */ mtc1 $at, $f4 +/* E0EC74 802404D4 2402000F */ addiu $v0, $zero, 0xf +/* E0EC78 802404D8 AFA2001C */ sw $v0, 0x1c($sp) +/* E0EC7C 802404DC 44833000 */ mtc1 $v1, $f6 +/* E0EC80 802404E0 00000000 */ nop +/* E0EC84 802404E4 468031A0 */ cvt.s.w $f6, $f6 +/* E0EC88 802404E8 44073000 */ mfc1 $a3, $f6 +/* E0EC8C 802404EC 27A20028 */ addiu $v0, $sp, 0x28 +/* E0EC90 802404F0 AFA20020 */ sw $v0, 0x20($sp) +/* E0EC94 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* E0EC98 802404F8 E7A20014 */ swc1 $f2, 0x14($sp) +/* E0EC9C 802404FC 0C01BFA4 */ jal fx_emote +/* E0ECA0 80240500 E7A40018 */ swc1 $f4, 0x18($sp) +/* E0ECA4 80240504 0200202D */ daddu $a0, $s0, $zero +/* E0ECA8 80240508 240502F4 */ addiu $a1, $zero, 0x2f4 +/* E0ECAC 8024050C 0C012530 */ jal func_800494C0 +/* E0ECB0 80240510 3C060020 */ lui $a2, 0x20 +/* E0ECB4 80240514 8E220018 */ lw $v0, 0x18($s1) +/* E0ECB8 80240518 9442002A */ lhu $v0, 0x2a($v0) +/* E0ECBC 8024051C 30420001 */ andi $v0, $v0, 1 +/* E0ECC0 80240520 14400064 */ bnez $v0, .L802406B4 +/* E0ECC4 80240524 2402000A */ addiu $v0, $zero, 0xa +/* E0ECC8 80240528 080901AD */ j .L802406B4 +/* E0ECCC 8024052C 2402000C */ addiu $v0, $zero, 0xc +.L80240530: +/* E0ECD0 80240530 8E420074 */ lw $v0, 0x74($s2) +/* E0ECD4 80240534 2442FFFF */ addiu $v0, $v0, -1 +.L80240538: +/* E0ECD8 80240538 AE420074 */ sw $v0, 0x74($s2) +.L8024053C: +/* E0ECDC 8024053C 8602008C */ lh $v0, 0x8c($s0) +/* E0ECE0 80240540 1440005D */ bnez $v0, .L802406B8 +/* E0ECE4 80240544 00000000 */ nop +/* E0ECE8 80240548 C6000018 */ lwc1 $f0, 0x18($s0) +/* E0ECEC 8024054C 3C014010 */ lui $at, 0x4010 +/* E0ECF0 80240550 44811800 */ mtc1 $at, $f3 +/* E0ECF4 80240554 44801000 */ mtc1 $zero, $f2 +/* E0ECF8 80240558 46000021 */ cvt.d.s $f0, $f0 +/* E0ECFC 8024055C 4622003C */ c.lt.d $f0, $f2 +/* E0ED00 80240560 00000000 */ nop +/* E0ED04 80240564 45000003 */ bc1f .L80240574 +/* E0ED08 80240568 0200202D */ daddu $a0, $s0, $zero +/* E0ED0C 8024056C 0809015E */ j .L80240578 +/* E0ED10 80240570 0000282D */ daddu $a1, $zero, $zero +.L80240574: +/* E0ED14 80240574 24050001 */ addiu $a1, $zero, 1 +.L80240578: +/* E0ED18 80240578 0C00F598 */ jal func_8003D660 +/* E0ED1C 8024057C 00000000 */ nop +/* E0ED20 80240580 C60C0038 */ lwc1 $f12, 0x38($s0) +/* E0ED24 80240584 8E430078 */ lw $v1, 0x78($s2) +/* E0ED28 80240588 C60E0040 */ lwc1 $f14, 0x40($s0) +/* E0ED2C 8024058C 00031040 */ sll $v0, $v1, 1 +/* E0ED30 80240590 00431021 */ addu $v0, $v0, $v1 +/* E0ED34 80240594 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0ED38 80240598 00021080 */ sll $v0, $v0, 2 +/* E0ED3C 8024059C 00431021 */ addu $v0, $v0, $v1 +/* E0ED40 802405A0 C4560004 */ lwc1 $f22, 4($v0) +/* E0ED44 802405A4 4680B5A0 */ cvt.s.w $f22, $f22 +/* E0ED48 802405A8 C454000C */ lwc1 $f20, 0xc($v0) +/* E0ED4C 802405AC 4680A520 */ cvt.s.w $f20, $f20 +/* E0ED50 802405B0 4406B000 */ mfc1 $a2, $f22 +/* E0ED54 802405B4 4407A000 */ mfc1 $a3, $f20 +/* E0ED58 802405B8 0C00A720 */ jal atan2 +/* E0ED5C 802405BC 00000000 */ nop +/* E0ED60 802405C0 8E050018 */ lw $a1, 0x18($s0) +/* E0ED64 802405C4 44060000 */ mfc1 $a2, $f0 +/* E0ED68 802405C8 0200202D */ daddu $a0, $s0, $zero +/* E0ED6C 802405CC 0C00EA95 */ jal npc_move_heading +/* E0ED70 802405D0 AE06000C */ sw $a2, 0xc($s0) +/* E0ED74 802405D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* E0ED78 802405D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* E0ED7C 802405DC 4406B000 */ mfc1 $a2, $f22 +/* E0ED80 802405E0 4407A000 */ mfc1 $a3, $f20 +/* E0ED84 802405E4 0C00A7B5 */ jal dist2D +/* E0ED88 802405E8 00000000 */ nop +/* E0ED8C 802405EC C6020018 */ lwc1 $f2, 0x18($s0) +/* E0ED90 802405F0 4602003E */ c.le.s $f0, $f2 +/* E0ED94 802405F4 00000000 */ nop +/* E0ED98 802405F8 4500002F */ bc1f .L802406B8 +/* E0ED9C 802405FC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* E0EDA0 80240600 24020002 */ addiu $v0, $zero, 2 +/* E0EDA4 80240604 0C00A67F */ jal rand_int +/* E0EDA8 80240608 AE420070 */ sw $v0, 0x70($s2) +/* E0EDAC 8024060C 3C035555 */ lui $v1, 0x5555 +/* E0EDB0 80240610 34635556 */ ori $v1, $v1, 0x5556 +/* E0EDB4 80240614 00430018 */ mult $v0, $v1 +/* E0EDB8 80240618 000227C3 */ sra $a0, $v0, 0x1f +/* E0EDBC 8024061C 00004010 */ mfhi $t0 +/* E0EDC0 80240620 01042023 */ subu $a0, $t0, $a0 +/* E0EDC4 80240624 00041840 */ sll $v1, $a0, 1 +/* E0EDC8 80240628 00641821 */ addu $v1, $v1, $a0 +/* E0EDCC 8024062C 00431023 */ subu $v0, $v0, $v1 +/* E0EDD0 80240630 24430002 */ addiu $v1, $v0, 2 +/* E0EDD4 80240634 AE430074 */ sw $v1, 0x74($s2) +/* E0EDD8 80240638 8E62002C */ lw $v0, 0x2c($s3) +/* E0EDDC 8024063C 18400009 */ blez $v0, .L80240664 +/* E0EDE0 80240640 24020004 */ addiu $v0, $zero, 4 +/* E0EDE4 80240644 8E620004 */ lw $v0, 4($s3) +/* E0EDE8 80240648 18400006 */ blez $v0, .L80240664 +/* E0EDEC 8024064C 24020004 */ addiu $v0, $zero, 4 +/* E0EDF0 80240650 8E620008 */ lw $v0, 8($s3) +/* E0EDF4 80240654 18400003 */ blez $v0, .L80240664 +/* E0EDF8 80240658 24020004 */ addiu $v0, $zero, 4 +/* E0EDFC 8024065C 14600002 */ bnez $v1, .L80240668 +/* E0EE00 80240660 00000000 */ nop +.L80240664: +/* E0EE04 80240664 AE420070 */ sw $v0, 0x70($s2) +.L80240668: +/* E0EE08 80240668 0C00A67F */ jal rand_int +/* E0EE0C 8024066C 24042710 */ addiu $a0, $zero, 0x2710 +/* E0EE10 80240670 3C0351EB */ lui $v1, 0x51eb +/* E0EE14 80240674 3463851F */ ori $v1, $v1, 0x851f +/* E0EE18 80240678 00430018 */ mult $v0, $v1 +/* E0EE1C 8024067C 00021FC3 */ sra $v1, $v0, 0x1f +/* E0EE20 80240680 00004010 */ mfhi $t0 +/* E0EE24 80240684 00082143 */ sra $a0, $t0, 5 +/* E0EE28 80240688 00832023 */ subu $a0, $a0, $v1 +/* E0EE2C 8024068C 00041840 */ sll $v1, $a0, 1 +/* E0EE30 80240690 00641821 */ addu $v1, $v1, $a0 +/* E0EE34 80240694 000318C0 */ sll $v1, $v1, 3 +/* E0EE38 80240698 00641821 */ addu $v1, $v1, $a0 +/* E0EE3C 8024069C 00031880 */ sll $v1, $v1, 2 +/* E0EE40 802406A0 8E640004 */ lw $a0, 4($s3) +/* E0EE44 802406A4 00431023 */ subu $v0, $v0, $v1 +/* E0EE48 802406A8 0044102A */ slt $v0, $v0, $a0 +/* E0EE4C 802406AC 10400002 */ beqz $v0, .L802406B8 +/* E0EE50 802406B0 24020004 */ addiu $v0, $zero, 4 +.L802406B4: +/* E0EE54 802406B4 AE420070 */ sw $v0, 0x70($s2) +.L802406B8: +/* E0EE58 802406B8 8FBF0044 */ lw $ra, 0x44($sp) +/* E0EE5C 802406BC 8FB40040 */ lw $s4, 0x40($sp) +/* E0EE60 802406C0 8FB3003C */ lw $s3, 0x3c($sp) +/* E0EE64 802406C4 8FB20038 */ lw $s2, 0x38($sp) +/* E0EE68 802406C8 8FB10034 */ lw $s1, 0x34($sp) +/* E0EE6C 802406CC 8FB00030 */ lw $s0, 0x30($sp) +/* E0EE70 802406D0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* E0EE74 802406D4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* E0EE78 802406D8 03E00008 */ jr $ra +/* E0EE7C 802406DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802406E0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802406E0_E0E7A0.s new file mode 100644 index 0000000000..3e80b5fc57 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802406E0_E0E7A0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_E0EE80 +/* E0EE80 802406E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E0EE84 802406E4 AFB3001C */ sw $s3, 0x1c($sp) +/* E0EE88 802406E8 0080982D */ daddu $s3, $a0, $zero +/* E0EE8C 802406EC AFBF0020 */ sw $ra, 0x20($sp) +/* E0EE90 802406F0 AFB20018 */ sw $s2, 0x18($sp) +/* E0EE94 802406F4 AFB10014 */ sw $s1, 0x14($sp) +/* E0EE98 802406F8 AFB00010 */ sw $s0, 0x10($sp) +/* E0EE9C 802406FC 8E720148 */ lw $s2, 0x148($s3) +/* E0EEA0 80240700 86440008 */ lh $a0, 8($s2) +/* E0EEA4 80240704 0C00EABB */ jal get_npc_unsafe +/* E0EEA8 80240708 00A0882D */ daddu $s1, $a1, $zero +/* E0EEAC 8024070C 8E240008 */ lw $a0, 8($s1) +/* E0EEB0 80240710 0040802D */ daddu $s0, $v0, $zero +/* E0EEB4 80240714 00041FC2 */ srl $v1, $a0, 0x1f +/* E0EEB8 80240718 00832021 */ addu $a0, $a0, $v1 +/* E0EEBC 8024071C 00042043 */ sra $a0, $a0, 1 +/* E0EEC0 80240720 0C00A67F */ jal rand_int +/* E0EEC4 80240724 24840001 */ addiu $a0, $a0, 1 +/* E0EEC8 80240728 8E230008 */ lw $v1, 8($s1) +/* E0EECC 8024072C 240400B4 */ addiu $a0, $zero, 0xb4 +/* E0EED0 80240730 00032FC2 */ srl $a1, $v1, 0x1f +/* E0EED4 80240734 00651821 */ addu $v1, $v1, $a1 +/* E0EED8 80240738 00031843 */ sra $v1, $v1, 1 +/* E0EEDC 8024073C 00621821 */ addu $v1, $v1, $v0 +/* E0EEE0 80240740 0C00A67F */ jal rand_int +/* E0EEE4 80240744 A603008E */ sh $v1, 0x8e($s0) +/* E0EEE8 80240748 C60C000C */ lwc1 $f12, 0xc($s0) +/* E0EEEC 8024074C 44820000 */ mtc1 $v0, $f0 +/* E0EEF0 80240750 00000000 */ nop +/* E0EEF4 80240754 46800020 */ cvt.s.w $f0, $f0 +/* E0EEF8 80240758 46006300 */ add.s $f12, $f12, $f0 +/* E0EEFC 8024075C 3C0142B4 */ lui $at, 0x42b4 +/* E0EF00 80240760 44810000 */ mtc1 $at, $f0 +/* E0EF04 80240764 0C00A6C9 */ jal clamp_angle +/* E0EF08 80240768 46006301 */ sub.s $f12, $f12, $f0 +/* E0EF0C 8024076C E600000C */ swc1 $f0, 0xc($s0) +/* E0EF10 80240770 8E4200CC */ lw $v0, 0xcc($s2) +/* E0EF14 80240774 8C420000 */ lw $v0, ($v0) +/* E0EF18 80240778 AE020028 */ sw $v0, 0x28($s0) +/* E0EF1C 8024077C 24020003 */ addiu $v0, $zero, 3 +/* E0EF20 80240780 AE620070 */ sw $v0, 0x70($s3) +/* E0EF24 80240784 8FBF0020 */ lw $ra, 0x20($sp) +/* E0EF28 80240788 8FB3001C */ lw $s3, 0x1c($sp) +/* E0EF2C 8024078C 8FB20018 */ lw $s2, 0x18($sp) +/* E0EF30 80240790 8FB10014 */ lw $s1, 0x14($sp) +/* E0EF34 80240794 8FB00010 */ lw $s0, 0x10($sp) +/* E0EF38 80240798 03E00008 */ jr $ra +/* E0EF3C 8024079C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802407A0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802407A0_E0E7A0.s new file mode 100644 index 0000000000..e32dd35cd1 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802407A0_E0E7A0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_E0EF40 +/* E0EF40 802407A0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* E0EF44 802407A4 AFB40040 */ sw $s4, 0x40($sp) +/* E0EF48 802407A8 0080A02D */ daddu $s4, $a0, $zero +/* E0EF4C 802407AC AFBF0044 */ sw $ra, 0x44($sp) +/* E0EF50 802407B0 AFB3003C */ sw $s3, 0x3c($sp) +/* E0EF54 802407B4 AFB20038 */ sw $s2, 0x38($sp) +/* E0EF58 802407B8 AFB10034 */ sw $s1, 0x34($sp) +/* E0EF5C 802407BC AFB00030 */ sw $s0, 0x30($sp) +/* E0EF60 802407C0 8E910148 */ lw $s1, 0x148($s4) +/* E0EF64 802407C4 00A0902D */ daddu $s2, $a1, $zero +/* E0EF68 802407C8 86240008 */ lh $a0, 8($s1) +/* E0EF6C 802407CC 0C00EABB */ jal get_npc_unsafe +/* E0EF70 802407D0 00C0982D */ daddu $s3, $a2, $zero +/* E0EF74 802407D4 8E430014 */ lw $v1, 0x14($s2) +/* E0EF78 802407D8 04600031 */ bltz $v1, .L802408A0 +/* E0EF7C 802407DC 0040802D */ daddu $s0, $v0, $zero +/* E0EF80 802407E0 0260202D */ daddu $a0, $s3, $zero +/* E0EF84 802407E4 AFA00010 */ sw $zero, 0x10($sp) +/* E0EF88 802407E8 8E460024 */ lw $a2, 0x24($s2) +/* E0EF8C 802407EC 8E470028 */ lw $a3, 0x28($s2) +/* E0EF90 802407F0 0C01242D */ jal func_800490B4 +/* E0EF94 802407F4 0220282D */ daddu $a1, $s1, $zero +/* E0EF98 802407F8 10400029 */ beqz $v0, .L802408A0 +/* E0EF9C 802407FC 0000202D */ daddu $a0, $zero, $zero +/* E0EFA0 80240800 0200282D */ daddu $a1, $s0, $zero +/* E0EFA4 80240804 0000302D */ daddu $a2, $zero, $zero +/* E0EFA8 80240808 860300A8 */ lh $v1, 0xa8($s0) +/* E0EFAC 8024080C 3C013F80 */ lui $at, 0x3f80 +/* E0EFB0 80240810 44810000 */ mtc1 $at, $f0 +/* E0EFB4 80240814 3C014000 */ lui $at, 0x4000 +/* E0EFB8 80240818 44811000 */ mtc1 $at, $f2 +/* E0EFBC 8024081C 3C01C1A0 */ lui $at, 0xc1a0 +/* E0EFC0 80240820 44812000 */ mtc1 $at, $f4 +/* E0EFC4 80240824 2402000F */ addiu $v0, $zero, 0xf +/* E0EFC8 80240828 AFA2001C */ sw $v0, 0x1c($sp) +/* E0EFCC 8024082C 44833000 */ mtc1 $v1, $f6 +/* E0EFD0 80240830 00000000 */ nop +/* E0EFD4 80240834 468031A0 */ cvt.s.w $f6, $f6 +/* E0EFD8 80240838 44073000 */ mfc1 $a3, $f6 +/* E0EFDC 8024083C 27A20028 */ addiu $v0, $sp, 0x28 +/* E0EFE0 80240840 AFA20020 */ sw $v0, 0x20($sp) +/* E0EFE4 80240844 E7A00010 */ swc1 $f0, 0x10($sp) +/* E0EFE8 80240848 E7A20014 */ swc1 $f2, 0x14($sp) +/* E0EFEC 8024084C 0C01BFA4 */ jal fx_emote +/* E0EFF0 80240850 E7A40018 */ swc1 $f4, 0x18($sp) +/* E0EFF4 80240854 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E0EFF8 80240858 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E0EFFC 8024085C C60C0038 */ lwc1 $f12, 0x38($s0) +/* E0F000 80240860 C60E0040 */ lwc1 $f14, 0x40($s0) +/* E0F004 80240864 8C460028 */ lw $a2, 0x28($v0) +/* E0F008 80240868 0C00A720 */ jal atan2 +/* E0F00C 8024086C 8C470030 */ lw $a3, 0x30($v0) +/* E0F010 80240870 0200202D */ daddu $a0, $s0, $zero +/* E0F014 80240874 240502F4 */ addiu $a1, $zero, 0x2f4 +/* E0F018 80240878 3C060020 */ lui $a2, 0x20 +/* E0F01C 8024087C 0C012530 */ jal func_800494C0 +/* E0F020 80240880 E480000C */ swc1 $f0, 0xc($a0) +/* E0F024 80240884 8E220018 */ lw $v0, 0x18($s1) +/* E0F028 80240888 9442002A */ lhu $v0, 0x2a($v0) +/* E0F02C 8024088C 30420001 */ andi $v0, $v0, 1 +/* E0F030 80240890 14400029 */ bnez $v0, .L80240938 +/* E0F034 80240894 2402000A */ addiu $v0, $zero, 0xa +/* E0F038 80240898 0809024E */ j .L80240938 +/* E0F03C 8024089C 2402000C */ addiu $v0, $zero, 0xc +.L802408A0: +/* E0F040 802408A0 8602008C */ lh $v0, 0x8c($s0) +/* E0F044 802408A4 14400025 */ bnez $v0, .L8024093C +/* E0F048 802408A8 00000000 */ nop +/* E0F04C 802408AC 9602008E */ lhu $v0, 0x8e($s0) +/* E0F050 802408B0 2442FFFF */ addiu $v0, $v0, -1 +/* E0F054 802408B4 A602008E */ sh $v0, 0x8e($s0) +/* E0F058 802408B8 00021400 */ sll $v0, $v0, 0x10 +/* E0F05C 802408BC 1440001F */ bnez $v0, .L8024093C +/* E0F060 802408C0 00000000 */ nop +/* E0F064 802408C4 8E820074 */ lw $v0, 0x74($s4) +/* E0F068 802408C8 2442FFFF */ addiu $v0, $v0, -1 +/* E0F06C 802408CC 10400019 */ beqz $v0, .L80240934 +/* E0F070 802408D0 AE820074 */ sw $v0, 0x74($s4) +/* E0F074 802408D4 8E220018 */ lw $v0, 0x18($s1) +/* E0F078 802408D8 9442002A */ lhu $v0, 0x2a($v0) +/* E0F07C 802408DC 30420010 */ andi $v0, $v0, 0x10 +/* E0F080 802408E0 14400007 */ bnez $v0, .L80240900 +/* E0F084 802408E4 00000000 */ nop +/* E0F088 802408E8 C600000C */ lwc1 $f0, 0xc($s0) +/* E0F08C 802408EC 3C014334 */ lui $at, 0x4334 +/* E0F090 802408F0 44816000 */ mtc1 $at, $f12 +/* E0F094 802408F4 0C00A6C9 */ jal clamp_angle +/* E0F098 802408F8 460C0300 */ add.s $f12, $f0, $f12 +/* E0F09C 802408FC E600000C */ swc1 $f0, 0xc($s0) +.L80240900: +/* E0F0A0 80240900 8E440008 */ lw $a0, 8($s2) +/* E0F0A4 80240904 000417C2 */ srl $v0, $a0, 0x1f +/* E0F0A8 80240908 00822021 */ addu $a0, $a0, $v0 +/* E0F0AC 8024090C 00042043 */ sra $a0, $a0, 1 +/* E0F0B0 80240910 0C00A67F */ jal rand_int +/* E0F0B4 80240914 24840001 */ addiu $a0, $a0, 1 +/* E0F0B8 80240918 8E430008 */ lw $v1, 8($s2) +/* E0F0BC 8024091C 000327C2 */ srl $a0, $v1, 0x1f +/* E0F0C0 80240920 00641821 */ addu $v1, $v1, $a0 +/* E0F0C4 80240924 00031843 */ sra $v1, $v1, 1 +/* E0F0C8 80240928 00621821 */ addu $v1, $v1, $v0 +/* E0F0CC 8024092C 0809024F */ j .L8024093C +/* E0F0D0 80240930 A603008E */ sh $v1, 0x8e($s0) +.L80240934: +/* E0F0D4 80240934 24020004 */ addiu $v0, $zero, 4 +.L80240938: +/* E0F0D8 80240938 AE820070 */ sw $v0, 0x70($s4) +.L8024093C: +/* E0F0DC 8024093C 8FBF0044 */ lw $ra, 0x44($sp) +/* E0F0E0 80240940 8FB40040 */ lw $s4, 0x40($sp) +/* E0F0E4 80240944 8FB3003C */ lw $s3, 0x3c($sp) +/* E0F0E8 80240948 8FB20038 */ lw $s2, 0x38($sp) +/* E0F0EC 8024094C 8FB10034 */ lw $s1, 0x34($sp) +/* E0F0F0 80240950 8FB00030 */ lw $s0, 0x30($sp) +/* E0F0F4 80240954 03E00008 */ jr $ra +/* E0F0F8 80240958 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_8024095C_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_8024095C_E0E7A0.s new file mode 100644 index 0000000000..c04453147c --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_8024095C_E0E7A0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_E0F0FC +/* E0F0FC 8024095C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0F100 80240960 AFB10014 */ sw $s1, 0x14($sp) +/* E0F104 80240964 0080882D */ daddu $s1, $a0, $zero +/* E0F108 80240968 AFBF001C */ sw $ra, 0x1c($sp) +/* E0F10C 8024096C AFB20018 */ sw $s2, 0x18($sp) +/* E0F110 80240970 AFB00010 */ sw $s0, 0x10($sp) +/* E0F114 80240974 8E300148 */ lw $s0, 0x148($s1) +/* E0F118 80240978 86040008 */ lh $a0, 8($s0) +/* E0F11C 8024097C 0C00EABB */ jal get_npc_unsafe +/* E0F120 80240980 00A0902D */ daddu $s2, $a1, $zero +/* E0F124 80240984 8E230078 */ lw $v1, 0x78($s1) +/* E0F128 80240988 24630001 */ addiu $v1, $v1, 1 +/* E0F12C 8024098C AE230078 */ sw $v1, 0x78($s1) +/* E0F130 80240990 8E0400D0 */ lw $a0, 0xd0($s0) +/* E0F134 80240994 8C840000 */ lw $a0, ($a0) +/* E0F138 80240998 0064182A */ slt $v1, $v1, $a0 +/* E0F13C 8024099C 14600002 */ bnez $v1, .L802409A8 +/* E0F140 802409A0 0040282D */ daddu $a1, $v0, $zero +/* E0F144 802409A4 AE200078 */ sw $zero, 0x78($s1) +.L802409A8: +/* E0F148 802409A8 8E0200CC */ lw $v0, 0xcc($s0) +/* E0F14C 802409AC 8C420004 */ lw $v0, 4($v0) +/* E0F150 802409B0 ACA20028 */ sw $v0, 0x28($a1) +/* E0F154 802409B4 8E0200D0 */ lw $v0, 0xd0($s0) +/* E0F158 802409B8 8C42007C */ lw $v0, 0x7c($v0) +/* E0F15C 802409BC 04410004 */ bgez $v0, .L802409D0 +/* E0F160 802409C0 00000000 */ nop +/* E0F164 802409C4 C6400000 */ lwc1 $f0, ($s2) +/* E0F168 802409C8 0809027C */ j .L802409F0 +/* E0F16C 802409CC E4A00018 */ swc1 $f0, 0x18($a1) +.L802409D0: +/* E0F170 802409D0 3C018024 */ lui $at, 0x8024 +/* E0F174 802409D4 D4223DF8 */ ldc1 $f2, 0x3df8($at) +/* E0F178 802409D8 44820000 */ mtc1 $v0, $f0 +/* E0F17C 802409DC 00000000 */ nop +/* E0F180 802409E0 46800021 */ cvt.d.w $f0, $f0 +/* E0F184 802409E4 46220003 */ div.d $f0, $f0, $f2 +/* E0F188 802409E8 46200020 */ cvt.s.d $f0, $f0 +/* E0F18C 802409EC E4A00018 */ swc1 $f0, 0x18($a1) +.L802409F0: +/* E0F190 802409F0 24020001 */ addiu $v0, $zero, 1 +/* E0F194 802409F4 AE220070 */ sw $v0, 0x70($s1) +/* E0F198 802409F8 8FBF001C */ lw $ra, 0x1c($sp) +/* E0F19C 802409FC 8FB20018 */ lw $s2, 0x18($sp) +/* E0F1A0 80240A00 8FB10014 */ lw $s1, 0x14($sp) +/* E0F1A4 80240A04 8FB00010 */ lw $s0, 0x10($sp) +/* E0F1A8 80240A08 03E00008 */ jr $ra +/* E0F1AC 80240A0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A10_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A10_E0E7A0.s new file mode 100644 index 0000000000..ddfa46214b --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A10_E0E7A0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A10_E0F1B0 +/* E0F1B0 80240A10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0F1B4 80240A14 AFB10014 */ sw $s1, 0x14($sp) +/* E0F1B8 80240A18 0080882D */ daddu $s1, $a0, $zero +/* E0F1BC 80240A1C AFBF0018 */ sw $ra, 0x18($sp) +/* E0F1C0 80240A20 AFB00010 */ sw $s0, 0x10($sp) +/* E0F1C4 80240A24 8E300148 */ lw $s0, 0x148($s1) +/* E0F1C8 80240A28 0C00EABB */ jal get_npc_unsafe +/* E0F1CC 80240A2C 86040008 */ lh $a0, 8($s0) +/* E0F1D0 80240A30 8E0300CC */ lw $v1, 0xcc($s0) +/* E0F1D4 80240A34 3C014120 */ lui $at, 0x4120 +/* E0F1D8 80240A38 44812000 */ mtc1 $at, $f4 +/* E0F1DC 80240A3C 3C014000 */ lui $at, 0x4000 +/* E0F1E0 80240A40 44810000 */ mtc1 $at, $f0 +/* E0F1E4 80240A44 C442003C */ lwc1 $f2, 0x3c($v0) +/* E0F1E8 80240A48 8C640010 */ lw $a0, 0x10($v1) +/* E0F1EC 80240A4C 8C430000 */ lw $v1, ($v0) +/* E0F1F0 80240A50 E444001C */ swc1 $f4, 0x1c($v0) +/* E0F1F4 80240A54 E4400014 */ swc1 $f0, 0x14($v0) +/* E0F1F8 80240A58 E4420064 */ swc1 $f2, 0x64($v0) +/* E0F1FC 80240A5C 34630800 */ ori $v1, $v1, 0x800 +/* E0F200 80240A60 AC430000 */ sw $v1, ($v0) +/* E0F204 80240A64 AC440028 */ sw $a0, 0x28($v0) +/* E0F208 80240A68 2402000B */ addiu $v0, $zero, 0xb +/* E0F20C 80240A6C AE220070 */ sw $v0, 0x70($s1) +/* E0F210 80240A70 8FBF0018 */ lw $ra, 0x18($sp) +/* E0F214 80240A74 8FB10014 */ lw $s1, 0x14($sp) +/* E0F218 80240A78 8FB00010 */ lw $s0, 0x10($sp) +/* E0F21C 80240A7C 03E00008 */ jr $ra +/* E0F220 80240A80 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A84_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A84_E0E7A0.s new file mode 100644 index 0000000000..faba66310b --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240A84_E0E7A0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A84_E0F224 +/* E0F224 80240A84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E0F228 80240A88 AFB00010 */ sw $s0, 0x10($sp) +/* E0F22C 80240A8C 0080802D */ daddu $s0, $a0, $zero +/* E0F230 80240A90 AFBF0014 */ sw $ra, 0x14($sp) +/* E0F234 80240A94 8E020148 */ lw $v0, 0x148($s0) +/* E0F238 80240A98 0C00EABB */ jal get_npc_unsafe +/* E0F23C 80240A9C 84440008 */ lh $a0, 8($v0) +/* E0F240 80240AA0 0040202D */ daddu $a0, $v0, $zero +/* E0F244 80240AA4 C482003C */ lwc1 $f2, 0x3c($a0) +/* E0F248 80240AA8 C480001C */ lwc1 $f0, 0x1c($a0) +/* E0F24C 80240AAC 46001080 */ add.s $f2, $f2, $f0 +/* E0F250 80240AB0 C4840014 */ lwc1 $f4, 0x14($a0) +/* E0F254 80240AB4 46040001 */ sub.s $f0, $f0, $f4 +/* E0F258 80240AB8 C4840064 */ lwc1 $f4, 0x64($a0) +/* E0F25C 80240ABC 4602203C */ c.lt.s $f4, $f2 +/* E0F260 80240AC0 E482003C */ swc1 $f2, 0x3c($a0) +/* E0F264 80240AC4 45010009 */ bc1t .L80240AEC +/* E0F268 80240AC8 E480001C */ swc1 $f0, 0x1c($a0) +/* E0F26C 80240ACC 8C820000 */ lw $v0, ($a0) +/* E0F270 80240AD0 2403F7FF */ addiu $v1, $zero, -0x801 +/* E0F274 80240AD4 E484003C */ swc1 $f4, 0x3c($a0) +/* E0F278 80240AD8 AC80001C */ sw $zero, 0x1c($a0) +/* E0F27C 80240ADC 00431024 */ and $v0, $v0, $v1 +/* E0F280 80240AE0 AC820000 */ sw $v0, ($a0) +/* E0F284 80240AE4 2402000C */ addiu $v0, $zero, 0xc +/* E0F288 80240AE8 AE020070 */ sw $v0, 0x70($s0) +.L80240AEC: +/* E0F28C 80240AEC 8FBF0014 */ lw $ra, 0x14($sp) +/* E0F290 80240AF0 8FB00010 */ lw $s0, 0x10($sp) +/* E0F294 80240AF4 03E00008 */ jr $ra +/* E0F298 80240AF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240AFC.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240AFC.s new file mode 100644 index 0000000000..9d56371a05 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240AFC.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AFC +/* E0F29C 80240AFC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* E0F2A0 80240B00 AFB3001C */ sw $s3, 0x1c($sp) +/* E0F2A4 80240B04 0080982D */ daddu $s3, $a0, $zero +/* E0F2A8 80240B08 AFBF0020 */ sw $ra, 0x20($sp) +/* E0F2AC 80240B0C AFB20018 */ sw $s2, 0x18($sp) +/* E0F2B0 80240B10 AFB10014 */ sw $s1, 0x14($sp) +/* E0F2B4 80240B14 AFB00010 */ sw $s0, 0x10($sp) +/* E0F2B8 80240B18 F7B40028 */ sdc1 $f20, 0x28($sp) +/* E0F2BC 80240B1C 8E710148 */ lw $s1, 0x148($s3) +/* E0F2C0 80240B20 86240008 */ lh $a0, 8($s1) +/* E0F2C4 80240B24 0C00EABB */ jal get_npc_unsafe +/* E0F2C8 80240B28 00A0802D */ daddu $s0, $a1, $zero +/* E0F2CC 80240B2C 8E040020 */ lw $a0, 0x20($s0) +/* E0F2D0 80240B30 0040902D */ daddu $s2, $v0, $zero +/* E0F2D4 80240B34 00041FC2 */ srl $v1, $a0, 0x1f +/* E0F2D8 80240B38 00832021 */ addu $a0, $a0, $v1 +/* E0F2DC 80240B3C 00042043 */ sra $a0, $a0, 1 +/* E0F2E0 80240B40 0C00A67F */ jal rand_int +/* E0F2E4 80240B44 24840001 */ addiu $a0, $a0, 1 +/* E0F2E8 80240B48 8E030020 */ lw $v1, 0x20($s0) +/* E0F2EC 80240B4C C64C0038 */ lwc1 $f12, 0x38($s2) +/* E0F2F0 80240B50 000327C2 */ srl $a0, $v1, 0x1f +/* E0F2F4 80240B54 00641821 */ addu $v1, $v1, $a0 +/* E0F2F8 80240B58 00031843 */ sra $v1, $v1, 1 +/* E0F2FC 80240B5C 00621821 */ addu $v1, $v1, $v0 +/* E0F300 80240B60 A643008E */ sh $v1, 0x8e($s2) +/* E0F304 80240B64 8E2200CC */ lw $v0, 0xcc($s1) +/* E0F308 80240B68 C64E0040 */ lwc1 $f14, 0x40($s2) +/* E0F30C 80240B6C 8C42000C */ lw $v0, 0xc($v0) +/* E0F310 80240B70 AE420028 */ sw $v0, 0x28($s2) +/* E0F314 80240B74 C6000018 */ lwc1 $f0, 0x18($s0) +/* E0F318 80240B78 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E0F31C 80240B7C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E0F320 80240B80 E6400018 */ swc1 $f0, 0x18($s2) +/* E0F324 80240B84 8C460028 */ lw $a2, 0x28($v0) +/* E0F328 80240B88 0C00A720 */ jal atan2 +/* E0F32C 80240B8C 8C470030 */ lw $a3, 0x30($v0) +/* E0F330 80240B90 46000506 */ mov.s $f20, $f0 +/* E0F334 80240B94 C64C000C */ lwc1 $f12, 0xc($s2) +/* E0F338 80240B98 0C00A70A */ jal get_clamped_angle_diff +/* E0F33C 80240B9C 4600A386 */ mov.s $f14, $f20 +/* E0F340 80240BA0 46000086 */ mov.s $f2, $f0 +/* E0F344 80240BA4 8E02001C */ lw $v0, 0x1c($s0) +/* E0F348 80240BA8 46001005 */ abs.s $f0, $f2 +/* E0F34C 80240BAC 44822000 */ mtc1 $v0, $f4 +/* E0F350 80240BB0 00000000 */ nop +/* E0F354 80240BB4 46802120 */ cvt.s.w $f4, $f4 +/* E0F358 80240BB8 4600203C */ c.lt.s $f4, $f0 +/* E0F35C 80240BBC 00000000 */ nop +/* E0F360 80240BC0 4500000D */ bc1f .L80240BF8 +/* E0F364 80240BC4 00000000 */ nop +/* E0F368 80240BC8 44800000 */ mtc1 $zero, $f0 +/* E0F36C 80240BCC C654000C */ lwc1 $f20, 0xc($s2) +/* E0F370 80240BD0 4600103C */ c.lt.s $f2, $f0 +/* E0F374 80240BD4 00000000 */ nop +/* E0F378 80240BD8 45000006 */ bc1f .L80240BF4 +/* E0F37C 80240BDC 00021023 */ negu $v0, $v0 +/* E0F380 80240BE0 44820000 */ mtc1 $v0, $f0 +/* E0F384 80240BE4 00000000 */ nop +/* E0F388 80240BE8 46800020 */ cvt.s.w $f0, $f0 +/* E0F38C 80240BEC 080902FE */ j .L80240BF8 +/* E0F390 80240BF0 4600A500 */ add.s $f20, $f20, $f0 +.L80240BF4: +/* E0F394 80240BF4 4604A500 */ add.s $f20, $f20, $f4 +.L80240BF8: +/* E0F398 80240BF8 0C00A6C9 */ jal clamp_angle +/* E0F39C 80240BFC 4600A306 */ mov.s $f12, $f20 +/* E0F3A0 80240C00 2402000D */ addiu $v0, $zero, 0xd +/* E0F3A4 80240C04 E640000C */ swc1 $f0, 0xc($s2) +/* E0F3A8 80240C08 AE620070 */ sw $v0, 0x70($s3) +/* E0F3AC 80240C0C 8FBF0020 */ lw $ra, 0x20($sp) +/* E0F3B0 80240C10 8FB3001C */ lw $s3, 0x1c($sp) +/* E0F3B4 80240C14 8FB20018 */ lw $s2, 0x18($sp) +/* E0F3B8 80240C18 8FB10014 */ lw $s1, 0x14($sp) +/* E0F3BC 80240C1C 8FB00010 */ lw $s0, 0x10($sp) +/* E0F3C0 80240C20 D7B40028 */ ldc1 $f20, 0x28($sp) +/* E0F3C4 80240C24 03E00008 */ jr $ra +/* E0F3C8 80240C28 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240C2C_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240C2C_E0E7A0.s new file mode 100644 index 0000000000..7a17d014d0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240C2C_E0E7A0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C2C_E0F3CC +/* E0F3CC 80240C2C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* E0F3D0 80240C30 AFB3003C */ sw $s3, 0x3c($sp) +/* E0F3D4 80240C34 0080982D */ daddu $s3, $a0, $zero +/* E0F3D8 80240C38 AFBF0040 */ sw $ra, 0x40($sp) +/* E0F3DC 80240C3C AFB20038 */ sw $s2, 0x38($sp) +/* E0F3E0 80240C40 AFB10034 */ sw $s1, 0x34($sp) +/* E0F3E4 80240C44 AFB00030 */ sw $s0, 0x30($sp) +/* E0F3E8 80240C48 8E720148 */ lw $s2, 0x148($s3) +/* E0F3EC 80240C4C 00A0882D */ daddu $s1, $a1, $zero +/* E0F3F0 80240C50 86440008 */ lh $a0, 8($s2) +/* E0F3F4 80240C54 0C00EABB */ jal get_npc_unsafe +/* E0F3F8 80240C58 00C0802D */ daddu $s0, $a2, $zero +/* E0F3FC 80240C5C 0200202D */ daddu $a0, $s0, $zero +/* E0F400 80240C60 0240282D */ daddu $a1, $s2, $zero +/* E0F404 80240C64 24030001 */ addiu $v1, $zero, 1 +/* E0F408 80240C68 AFA30010 */ sw $v1, 0x10($sp) +/* E0F40C 80240C6C 8E260024 */ lw $a2, 0x24($s1) +/* E0F410 80240C70 8E270028 */ lw $a3, 0x28($s1) +/* E0F414 80240C74 0C01242D */ jal func_800490B4 +/* E0F418 80240C78 0040802D */ daddu $s0, $v0, $zero +/* E0F41C 80240C7C 1440001E */ bnez $v0, .L80240CF8 +/* E0F420 80240C80 0200202D */ daddu $a0, $s0, $zero +/* E0F424 80240C84 24040002 */ addiu $a0, $zero, 2 +/* E0F428 80240C88 0200282D */ daddu $a1, $s0, $zero +/* E0F42C 80240C8C 0000302D */ daddu $a2, $zero, $zero +/* E0F430 80240C90 860300A8 */ lh $v1, 0xa8($s0) +/* E0F434 80240C94 3C013F80 */ lui $at, 0x3f80 +/* E0F438 80240C98 44810000 */ mtc1 $at, $f0 +/* E0F43C 80240C9C 3C014000 */ lui $at, 0x4000 +/* E0F440 80240CA0 44811000 */ mtc1 $at, $f2 +/* E0F444 80240CA4 3C01C1A0 */ lui $at, 0xc1a0 +/* E0F448 80240CA8 44812000 */ mtc1 $at, $f4 +/* E0F44C 80240CAC 2402000F */ addiu $v0, $zero, 0xf +/* E0F450 80240CB0 AFA2001C */ sw $v0, 0x1c($sp) +/* E0F454 80240CB4 44833000 */ mtc1 $v1, $f6 +/* E0F458 80240CB8 00000000 */ nop +/* E0F45C 80240CBC 468031A0 */ cvt.s.w $f6, $f6 +/* E0F460 80240CC0 44073000 */ mfc1 $a3, $f6 +/* E0F464 80240CC4 27A20028 */ addiu $v0, $sp, 0x28 +/* E0F468 80240CC8 AFA20020 */ sw $v0, 0x20($sp) +/* E0F46C 80240CCC E7A00010 */ swc1 $f0, 0x10($sp) +/* E0F470 80240CD0 E7A20014 */ swc1 $f2, 0x14($sp) +/* E0F474 80240CD4 0C01BFA4 */ jal fx_emote +/* E0F478 80240CD8 E7A40018 */ swc1 $f4, 0x18($sp) +/* E0F47C 80240CDC 8E4200CC */ lw $v0, 0xcc($s2) +/* E0F480 80240CE0 8C430000 */ lw $v1, ($v0) +/* E0F484 80240CE4 24020019 */ addiu $v0, $zero, 0x19 +/* E0F488 80240CE8 A602008E */ sh $v0, 0x8e($s0) +/* E0F48C 80240CEC 2402000E */ addiu $v0, $zero, 0xe +/* E0F490 80240CF0 0809034B */ j .L80240D2C +/* E0F494 80240CF4 AE030028 */ sw $v1, 0x28($s0) +.L80240CF8: +/* E0F498 80240CF8 0C00F598 */ jal func_8003D660 +/* E0F49C 80240CFC 24050001 */ addiu $a1, $zero, 1 +/* E0F4A0 80240D00 8E050018 */ lw $a1, 0x18($s0) +/* E0F4A4 80240D04 8E06000C */ lw $a2, 0xc($s0) +/* E0F4A8 80240D08 0C00EA95 */ jal npc_move_heading +/* E0F4AC 80240D0C 0200202D */ daddu $a0, $s0, $zero +/* E0F4B0 80240D10 8602008E */ lh $v0, 0x8e($s0) +/* E0F4B4 80240D14 9603008E */ lhu $v1, 0x8e($s0) +/* E0F4B8 80240D18 18400003 */ blez $v0, .L80240D28 +/* E0F4BC 80240D1C 2462FFFF */ addiu $v0, $v1, -1 +/* E0F4C0 80240D20 0809034C */ j .L80240D30 +/* E0F4C4 80240D24 A602008E */ sh $v0, 0x8e($s0) +.L80240D28: +/* E0F4C8 80240D28 2402000C */ addiu $v0, $zero, 0xc +.L80240D2C: +/* E0F4CC 80240D2C AE620070 */ sw $v0, 0x70($s3) +.L80240D30: +/* E0F4D0 80240D30 8FBF0040 */ lw $ra, 0x40($sp) +/* E0F4D4 80240D34 8FB3003C */ lw $s3, 0x3c($sp) +/* E0F4D8 80240D38 8FB20038 */ lw $s2, 0x38($sp) +/* E0F4DC 80240D3C 8FB10034 */ lw $s1, 0x34($sp) +/* E0F4E0 80240D40 8FB00030 */ lw $s0, 0x30($sp) +/* E0F4E4 80240D44 03E00008 */ jr $ra +/* E0F4E8 80240D48 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240D4C.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240D4C.s new file mode 100644 index 0000000000..e1219400fd --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240D4C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D4C +/* E0F4EC 80240D4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0F4F0 80240D50 AFB10014 */ sw $s1, 0x14($sp) +/* E0F4F4 80240D54 0080882D */ daddu $s1, $a0, $zero +/* E0F4F8 80240D58 AFBF0018 */ sw $ra, 0x18($sp) +/* E0F4FC 80240D5C AFB00010 */ sw $s0, 0x10($sp) +/* E0F500 80240D60 8E300148 */ lw $s0, 0x148($s1) +/* E0F504 80240D64 0C00EABB */ jal get_npc_unsafe +/* E0F508 80240D68 86040008 */ lh $a0, 8($s0) +/* E0F50C 80240D6C 9443008E */ lhu $v1, 0x8e($v0) +/* E0F510 80240D70 2463FFFF */ addiu $v1, $v1, -1 +/* E0F514 80240D74 A443008E */ sh $v1, 0x8e($v0) +/* E0F518 80240D78 00031C00 */ sll $v1, $v1, 0x10 +/* E0F51C 80240D7C 14600008 */ bnez $v1, .L80240DA0 +/* E0F520 80240D80 00000000 */ nop +/* E0F524 80240D84 8E0200B0 */ lw $v0, 0xb0($s0) +/* E0F528 80240D88 30420080 */ andi $v0, $v0, 0x80 +/* E0F52C 80240D8C 10400003 */ beqz $v0, .L80240D9C +/* E0F530 80240D90 2402000F */ addiu $v0, $zero, 0xf +/* E0F534 80240D94 08090368 */ j .L80240DA0 +/* E0F538 80240D98 AE220070 */ sw $v0, 0x70($s1) +.L80240D9C: +/* E0F53C 80240D9C AE200070 */ sw $zero, 0x70($s1) +.L80240DA0: +/* E0F540 80240DA0 8FBF0018 */ lw $ra, 0x18($sp) +/* E0F544 80240DA4 8FB10014 */ lw $s1, 0x14($sp) +/* E0F548 80240DA8 8FB00010 */ lw $s0, 0x10($sp) +/* E0F54C 80240DAC 03E00008 */ jr $ra +/* E0F550 80240DB0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240DB4.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240DB4.s new file mode 100644 index 0000000000..5248a4aa62 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240DB4.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DB4 +/* E0F554 80240DB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0F558 80240DB8 AFB10014 */ sw $s1, 0x14($sp) +/* E0F55C 80240DBC 0080882D */ daddu $s1, $a0, $zero +/* E0F560 80240DC0 AFBF001C */ sw $ra, 0x1c($sp) +/* E0F564 80240DC4 AFB20018 */ sw $s2, 0x18($sp) +/* E0F568 80240DC8 AFB00010 */ sw $s0, 0x10($sp) +/* E0F56C 80240DCC 8E300148 */ lw $s0, 0x148($s1) +/* E0F570 80240DD0 86040008 */ lh $a0, 8($s0) +/* E0F574 80240DD4 0C00EABB */ jal get_npc_unsafe +/* E0F578 80240DD8 00A0902D */ daddu $s2, $a1, $zero +/* E0F57C 80240DDC 8E0300D0 */ lw $v1, 0xd0($s0) +/* E0F580 80240DE0 8E240078 */ lw $a0, 0x78($s1) +/* E0F584 80240DE4 8C630000 */ lw $v1, ($v1) +/* E0F588 80240DE8 0083182A */ slt $v1, $a0, $v1 +/* E0F58C 80240DEC 10600013 */ beqz $v1, .L80240E3C +/* E0F590 80240DF0 0040302D */ daddu $a2, $v0, $zero +/* E0F594 80240DF4 00041040 */ sll $v0, $a0, 1 +/* E0F598 80240DF8 00441021 */ addu $v0, $v0, $a0 +/* E0F59C 80240DFC 00022880 */ sll $a1, $v0, 2 +.L80240E00: +/* E0F5A0 80240E00 8E0300D0 */ lw $v1, 0xd0($s0) +/* E0F5A4 80240E04 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* E0F5A8 80240E08 00A31021 */ addu $v0, $a1, $v1 +/* E0F5AC 80240E0C C4400008 */ lwc1 $f0, 8($v0) +/* E0F5B0 80240E10 46800020 */ cvt.s.w $f0, $f0 +/* E0F5B4 80240E14 4602003E */ c.le.s $f0, $f2 +/* E0F5B8 80240E18 00000000 */ nop +/* E0F5BC 80240E1C 45020003 */ bc1fl .L80240E2C +/* E0F5C0 80240E20 24840001 */ addiu $a0, $a0, 1 +/* E0F5C4 80240E24 0809038F */ j .L80240E3C +/* E0F5C8 80240E28 AE240078 */ sw $a0, 0x78($s1) +.L80240E2C: +/* E0F5CC 80240E2C 8C620000 */ lw $v0, ($v1) +/* E0F5D0 80240E30 0082102A */ slt $v0, $a0, $v0 +/* E0F5D4 80240E34 1440FFF2 */ bnez $v0, .L80240E00 +/* E0F5D8 80240E38 24A5000C */ addiu $a1, $a1, 0xc +.L80240E3C: +/* E0F5DC 80240E3C C6400000 */ lwc1 $f0, ($s2) +/* E0F5E0 80240E40 E4C00018 */ swc1 $f0, 0x18($a2) +/* E0F5E4 80240E44 8E0200CC */ lw $v0, 0xcc($s0) +/* E0F5E8 80240E48 8C420004 */ lw $v0, 4($v0) +/* E0F5EC 80240E4C ACC20028 */ sw $v0, 0x28($a2) +/* E0F5F0 80240E50 24020001 */ addiu $v0, $zero, 1 +/* E0F5F4 80240E54 AE200074 */ sw $zero, 0x74($s1) +/* E0F5F8 80240E58 AE220070 */ sw $v0, 0x70($s1) +/* E0F5FC 80240E5C 8FBF001C */ lw $ra, 0x1c($sp) +/* E0F600 80240E60 8FB20018 */ lw $s2, 0x18($sp) +/* E0F604 80240E64 8FB10014 */ lw $s1, 0x14($sp) +/* E0F608 80240E68 8FB00010 */ lw $s0, 0x10($sp) +/* E0F60C 80240E6C 03E00008 */ jr $ra +/* E0F610 80240E70 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80240E74.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240E74.s new file mode 100644 index 0000000000..92bc6ee08e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80240E74.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E74 +/* E0F614 80240E74 27BDFF98 */ addiu $sp, $sp, -0x68 +/* E0F618 80240E78 AFB40058 */ sw $s4, 0x58($sp) +/* E0F61C 80240E7C 0080A02D */ daddu $s4, $a0, $zero +/* E0F620 80240E80 AFBF0060 */ sw $ra, 0x60($sp) +/* E0F624 80240E84 AFB5005C */ sw $s5, 0x5c($sp) +/* E0F628 80240E88 AFB30054 */ sw $s3, 0x54($sp) +/* E0F62C 80240E8C AFB20050 */ sw $s2, 0x50($sp) +/* E0F630 80240E90 AFB1004C */ sw $s1, 0x4c($sp) +/* E0F634 80240E94 AFB00048 */ sw $s0, 0x48($sp) +/* E0F638 80240E98 8E910148 */ lw $s1, 0x148($s4) +/* E0F63C 80240E9C 86240008 */ lh $a0, 8($s1) +/* E0F640 80240EA0 0C00EABB */ jal get_npc_unsafe +/* E0F644 80240EA4 00A0802D */ daddu $s0, $a1, $zero +/* E0F648 80240EA8 8E83000C */ lw $v1, 0xc($s4) +/* E0F64C 80240EAC 0280202D */ daddu $a0, $s4, $zero +/* E0F650 80240EB0 8C650000 */ lw $a1, ($v1) +/* E0F654 80240EB4 0C0B1EAF */ jal get_variable +/* E0F658 80240EB8 0040902D */ daddu $s2, $v0, $zero +/* E0F65C 80240EBC AFA00018 */ sw $zero, 0x18($sp) +/* E0F660 80240EC0 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0F664 80240EC4 8C630094 */ lw $v1, 0x94($v1) +/* E0F668 80240EC8 AFA3001C */ sw $v1, 0x1c($sp) +/* E0F66C 80240ECC 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0F670 80240ED0 8C630080 */ lw $v1, 0x80($v1) +/* E0F674 80240ED4 AFA30020 */ sw $v1, 0x20($sp) +/* E0F678 80240ED8 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0F67C 80240EDC 8C630088 */ lw $v1, 0x88($v1) +/* E0F680 80240EE0 AFA30024 */ sw $v1, 0x24($sp) +/* E0F684 80240EE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0F688 80240EE8 8C63008C */ lw $v1, 0x8c($v1) +/* E0F68C 80240EEC 27B50018 */ addiu $s5, $sp, 0x18 +/* E0F690 80240EF0 AFA30028 */ sw $v1, 0x28($sp) +/* E0F694 80240EF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* E0F698 80240EF8 3C014282 */ lui $at, 0x4282 +/* E0F69C 80240EFC 44810000 */ mtc1 $at, $f0 +/* E0F6A0 80240F00 8C630090 */ lw $v1, 0x90($v1) +/* E0F6A4 80240F04 0040982D */ daddu $s3, $v0, $zero +/* E0F6A8 80240F08 E7A00030 */ swc1 $f0, 0x30($sp) +/* E0F6AC 80240F0C A7A00034 */ sh $zero, 0x34($sp) +/* E0F6B0 80240F10 16000005 */ bnez $s0, .L80240F28 +/* E0F6B4 80240F14 AFA3002C */ sw $v1, 0x2c($sp) +/* E0F6B8 80240F18 8E2200B0 */ lw $v0, 0xb0($s1) +/* E0F6BC 80240F1C 30420004 */ andi $v0, $v0, 4 +/* E0F6C0 80240F20 10400044 */ beqz $v0, .L80241034 +/* E0F6C4 80240F24 00000000 */ nop +.L80240F28: +/* E0F6C8 80240F28 2404F7FF */ addiu $a0, $zero, -0x801 +/* E0F6CC 80240F2C AE800070 */ sw $zero, 0x70($s4) +/* E0F6D0 80240F30 A640008E */ sh $zero, 0x8e($s2) +/* E0F6D4 80240F34 8E2200CC */ lw $v0, 0xcc($s1) +/* E0F6D8 80240F38 8E430000 */ lw $v1, ($s2) +/* E0F6DC 80240F3C 8C420000 */ lw $v0, ($v0) +/* E0F6E0 80240F40 00641824 */ and $v1, $v1, $a0 +/* E0F6E4 80240F44 AE430000 */ sw $v1, ($s2) +/* E0F6E8 80240F48 AE420028 */ sw $v0, 0x28($s2) +/* E0F6EC 80240F4C 8E2200D0 */ lw $v0, 0xd0($s1) +/* E0F6F0 80240F50 8C420098 */ lw $v0, 0x98($v0) +/* E0F6F4 80240F54 54400005 */ bnel $v0, $zero, .L80240F6C +/* E0F6F8 80240F58 2402FDFF */ addiu $v0, $zero, -0x201 +/* E0F6FC 80240F5C 34620200 */ ori $v0, $v1, 0x200 +/* E0F700 80240F60 2403FFF7 */ addiu $v1, $zero, -9 +/* E0F704 80240F64 080903DD */ j .L80240F74 +/* E0F708 80240F68 00431024 */ and $v0, $v0, $v1 +.L80240F6C: +/* E0F70C 80240F6C 00621024 */ and $v0, $v1, $v0 +/* E0F710 80240F70 34420008 */ ori $v0, $v0, 8 +.L80240F74: +/* E0F714 80240F74 AE420000 */ sw $v0, ($s2) +/* E0F718 80240F78 8E2200B0 */ lw $v0, 0xb0($s1) +/* E0F71C 80240F7C 30420004 */ andi $v0, $v0, 4 +/* E0F720 80240F80 10400008 */ beqz $v0, .L80240FA4 +/* E0F724 80240F84 24020063 */ addiu $v0, $zero, 0x63 +/* E0F728 80240F88 AE820070 */ sw $v0, 0x70($s4) +/* E0F72C 80240F8C AE800074 */ sw $zero, 0x74($s4) +/* E0F730 80240F90 8E2200B0 */ lw $v0, 0xb0($s1) +/* E0F734 80240F94 2403FFFB */ addiu $v1, $zero, -5 +/* E0F738 80240F98 00431024 */ and $v0, $v0, $v1 +/* E0F73C 80240F9C 080903F4 */ j .L80240FD0 +/* E0F740 80240FA0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240FA4: +/* E0F744 80240FA4 8E220000 */ lw $v0, ($s1) +/* E0F748 80240FA8 3C034000 */ lui $v1, 0x4000 +/* E0F74C 80240FAC 00431024 */ and $v0, $v0, $v1 +/* E0F750 80240FB0 10400007 */ beqz $v0, .L80240FD0 +/* E0F754 80240FB4 3C03BFFF */ lui $v1, 0xbfff +/* E0F758 80240FB8 2402000C */ addiu $v0, $zero, 0xc +/* E0F75C 80240FBC AE820070 */ sw $v0, 0x70($s4) +/* E0F760 80240FC0 8E220000 */ lw $v0, ($s1) +/* E0F764 80240FC4 3463FFFF */ ori $v1, $v1, 0xffff +/* E0F768 80240FC8 00431024 */ and $v0, $v0, $v1 +/* E0F76C 80240FCC AE220000 */ sw $v0, ($s1) +.L80240FD0: +/* E0F770 80240FD0 27A50038 */ addiu $a1, $sp, 0x38 +/* E0F774 80240FD4 27A6003C */ addiu $a2, $sp, 0x3c +/* E0F778 80240FD8 C6400038 */ lwc1 $f0, 0x38($s2) +/* E0F77C 80240FDC 864200A8 */ lh $v0, 0xa8($s2) +/* E0F780 80240FE0 3C0142C8 */ lui $at, 0x42c8 +/* E0F784 80240FE4 44812000 */ mtc1 $at, $f4 +/* E0F788 80240FE8 44823000 */ mtc1 $v0, $f6 +/* E0F78C 80240FEC 00000000 */ nop +/* E0F790 80240FF0 468031A0 */ cvt.s.w $f6, $f6 +/* E0F794 80240FF4 27A20044 */ addiu $v0, $sp, 0x44 +/* E0F798 80240FF8 E7A00038 */ swc1 $f0, 0x38($sp) +/* E0F79C 80240FFC C640003C */ lwc1 $f0, 0x3c($s2) +/* E0F7A0 80241000 C6420040 */ lwc1 $f2, 0x40($s2) +/* E0F7A4 80241004 46060000 */ add.s $f0, $f0, $f6 +/* E0F7A8 80241008 E7A40044 */ swc1 $f4, 0x44($sp) +/* E0F7AC 8024100C E7A20040 */ swc1 $f2, 0x40($sp) +/* E0F7B0 80241010 E7A0003C */ swc1 $f0, 0x3c($sp) +/* E0F7B4 80241014 AFA20010 */ sw $v0, 0x10($sp) +/* E0F7B8 80241018 8E440080 */ lw $a0, 0x80($s2) +/* E0F7BC 8024101C 0C0372DF */ jal func_800DCB7C +/* E0F7C0 80241020 27A70040 */ addiu $a3, $sp, 0x40 +/* E0F7C4 80241024 10400003 */ beqz $v0, .L80241034 +/* E0F7C8 80241028 00000000 */ nop +/* E0F7CC 8024102C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* E0F7D0 80241030 E640003C */ swc1 $f0, 0x3c($s2) +.L80241034: +/* E0F7D4 80241034 8E830070 */ lw $v1, 0x70($s4) +/* E0F7D8 80241038 2C620064 */ sltiu $v0, $v1, 0x64 +/* E0F7DC 8024103C 10400042 */ beqz $v0, .L80241148 +/* E0F7E0 80241040 00031080 */ sll $v0, $v1, 2 +/* E0F7E4 80241044 3C018024 */ lui $at, 0x8024 +/* E0F7E8 80241048 00220821 */ addu $at, $at, $v0 +/* E0F7EC 8024104C 8C223E00 */ lw $v0, 0x3e00($at) +/* E0F7F0 80241050 00400008 */ jr $v0 +/* E0F7F4 80241054 00000000 */ nop +/* E0F7F8 80241058 0280202D */ daddu $a0, $s4, $zero +/* E0F7FC 8024105C 0260282D */ daddu $a1, $s3, $zero +/* E0F800 80241060 0C0900B8 */ jal func_802402E0 +/* E0F804 80241064 02A0302D */ daddu $a2, $s5, $zero +/* E0F808 80241068 0280202D */ daddu $a0, $s4, $zero +/* E0F80C 8024106C 0260282D */ daddu $a1, $s3, $zero +/* E0F810 80241070 0C09010E */ jal func_80240438 +/* E0F814 80241074 02A0302D */ daddu $a2, $s5, $zero +/* E0F818 80241078 08090452 */ j .L80241148 +/* E0F81C 8024107C 00000000 */ nop +/* E0F820 80241080 0280202D */ daddu $a0, $s4, $zero +/* E0F824 80241084 0260282D */ daddu $a1, $s3, $zero +/* E0F828 80241088 0C0901B8 */ jal func_802406E0 +/* E0F82C 8024108C 02A0302D */ daddu $a2, $s5, $zero +/* E0F830 80241090 0280202D */ daddu $a0, $s4, $zero +/* E0F834 80241094 0260282D */ daddu $a1, $s3, $zero +/* E0F838 80241098 0C0901E8 */ jal func_802407A0 +/* E0F83C 8024109C 02A0302D */ daddu $a2, $s5, $zero +/* E0F840 802410A0 08090452 */ j .L80241148 +/* E0F844 802410A4 00000000 */ nop +/* E0F848 802410A8 0280202D */ daddu $a0, $s4, $zero +/* E0F84C 802410AC 0260282D */ daddu $a1, $s3, $zero +/* E0F850 802410B0 0C090257 */ jal func_8024095C +/* E0F854 802410B4 02A0302D */ daddu $a2, $s5, $zero +/* E0F858 802410B8 08090452 */ j .L80241148 +/* E0F85C 802410BC 00000000 */ nop +/* E0F860 802410C0 0280202D */ daddu $a0, $s4, $zero +/* E0F864 802410C4 0260282D */ daddu $a1, $s3, $zero +/* E0F868 802410C8 0C090284 */ jal func_80240A10 +/* E0F86C 802410CC 02A0302D */ daddu $a2, $s5, $zero +/* E0F870 802410D0 0280202D */ daddu $a0, $s4, $zero +/* E0F874 802410D4 0260282D */ daddu $a1, $s3, $zero +/* E0F878 802410D8 0C0902A1 */ jal func_80240A84 +/* E0F87C 802410DC 02A0302D */ daddu $a2, $s5, $zero +/* E0F880 802410E0 08090452 */ j .L80241148 +/* E0F884 802410E4 00000000 */ nop +/* E0F888 802410E8 0280202D */ daddu $a0, $s4, $zero +/* E0F88C 802410EC 0260282D */ daddu $a1, $s3, $zero +/* E0F890 802410F0 0C0902BF */ jal func_80240AFC +/* E0F894 802410F4 02A0302D */ daddu $a2, $s5, $zero +/* E0F898 802410F8 0280202D */ daddu $a0, $s4, $zero +/* E0F89C 802410FC 0260282D */ daddu $a1, $s3, $zero +/* E0F8A0 80241100 0C09030B */ jal func_80240C2C +/* E0F8A4 80241104 02A0302D */ daddu $a2, $s5, $zero +/* E0F8A8 80241108 08090452 */ j .L80241148 +/* E0F8AC 8024110C 00000000 */ nop +/* E0F8B0 80241110 0280202D */ daddu $a0, $s4, $zero +/* E0F8B4 80241114 0260282D */ daddu $a1, $s3, $zero +/* E0F8B8 80241118 0C090353 */ jal func_80240D4C +/* E0F8BC 8024111C 02A0302D */ daddu $a2, $s5, $zero +/* E0F8C0 80241120 08090452 */ j .L80241148 +/* E0F8C4 80241124 00000000 */ nop +/* E0F8C8 80241128 0280202D */ daddu $a0, $s4, $zero +/* E0F8CC 8024112C 0260282D */ daddu $a1, $s3, $zero +/* E0F8D0 80241130 0C09036D */ jal func_80240DB4 +/* E0F8D4 80241134 02A0302D */ daddu $a2, $s5, $zero +/* E0F8D8 80241138 08090452 */ j .L80241148 +/* E0F8DC 8024113C 00000000 */ nop +/* E0F8E0 80241140 0C0129CF */ jal func_8004A73C +/* E0F8E4 80241144 0280202D */ daddu $a0, $s4, $zero +.L80241148: +/* E0F8E8 80241148 8FBF0060 */ lw $ra, 0x60($sp) +/* E0F8EC 8024114C 8FB5005C */ lw $s5, 0x5c($sp) +/* E0F8F0 80241150 8FB40058 */ lw $s4, 0x58($sp) +/* E0F8F4 80241154 8FB30054 */ lw $s3, 0x54($sp) +/* E0F8F8 80241158 8FB20050 */ lw $s2, 0x50($sp) +/* E0F8FC 8024115C 8FB1004C */ lw $s1, 0x4c($sp) +/* E0F900 80241160 8FB00048 */ lw $s0, 0x48($sp) +/* E0F904 80241164 0000102D */ daddu $v0, $zero, $zero +/* E0F908 80241168 03E00008 */ jr $ra +/* E0F90C 8024116C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80241170_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80241170_E0E7A0.s new file mode 100644 index 0000000000..f2522bb485 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80241170_E0E7A0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170_E0F910 +/* E0F910 80241170 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0F914 80241174 AFB10014 */ sw $s1, 0x14($sp) +/* E0F918 80241178 0080882D */ daddu $s1, $a0, $zero +/* E0F91C 8024117C AFB00010 */ sw $s0, 0x10($sp) +/* E0F920 80241180 0000802D */ daddu $s0, $zero, $zero +/* E0F924 80241184 AFBF0018 */ sw $ra, 0x18($sp) +/* E0F928 80241188 0C039D91 */ jal find_item +/* E0F92C 8024118C 2404007C */ addiu $a0, $zero, 0x7c +/* E0F930 80241190 04400003 */ bltz $v0, .L802411A0 +/* E0F934 80241194 00000000 */ nop +/* E0F938 80241198 0809046C */ j .L802411B0 +/* E0F93C 8024119C 24100002 */ addiu $s0, $zero, 2 +.L802411A0: +/* E0F940 802411A0 0C039D91 */ jal find_item +/* E0F944 802411A4 2404007B */ addiu $a0, $zero, 0x7b +/* E0F948 802411A8 04430001 */ bgezl $v0, .L802411B0 +/* E0F94C 802411AC 24100001 */ addiu $s0, $zero, 1 +.L802411B0: +/* E0F950 802411B0 0220202D */ daddu $a0, $s1, $zero +/* E0F954 802411B4 3C05FE36 */ lui $a1, 0xfe36 +/* E0F958 802411B8 34A53C85 */ ori $a1, $a1, 0x3c85 +/* E0F95C 802411BC 0C0B2026 */ jal set_variable +/* E0F960 802411C0 0200302D */ daddu $a2, $s0, $zero +/* E0F964 802411C4 8FBF0018 */ lw $ra, 0x18($sp) +/* E0F968 802411C8 8FB10014 */ lw $s1, 0x14($sp) +/* E0F96C 802411CC 8FB00010 */ lw $s0, 0x10($sp) +/* E0F970 802411D0 24020002 */ addiu $v0, $zero, 2 +/* E0F974 802411D4 03E00008 */ jr $ra +/* E0F978 802411D8 27BD0020 */ addiu $sp, $sp, 0x20 +/* E0F97C 802411DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802411E0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802411E0.s new file mode 100644 index 0000000000..dbb49abd16 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802411E0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411E0 +/* E0F980 802411E0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* E0F984 802411E4 AFB1002C */ sw $s1, 0x2c($sp) +/* E0F988 802411E8 0080882D */ daddu $s1, $a0, $zero +/* E0F98C 802411EC AFB20030 */ sw $s2, 0x30($sp) +/* E0F990 802411F0 00A0902D */ daddu $s2, $a1, $zero +/* E0F994 802411F4 AFBF0034 */ sw $ra, 0x34($sp) +/* E0F998 802411F8 1A4000CB */ blez $s2, .L80241528 +/* E0F99C 802411FC AFB00028 */ sw $s0, 0x28($sp) +/* E0F9A0 80241200 3C04800A */ lui $a0, 0x800a +/* E0F9A4 80241204 2484A66C */ addiu $a0, $a0, -0x5994 +/* E0F9A8 80241208 3C02DE00 */ lui $v0, 0xde00 +/* E0F9AC 8024120C 44920000 */ mtc1 $s2, $f0 +/* E0F9B0 80241210 00000000 */ nop +/* E0F9B4 80241214 46800021 */ cvt.d.w $f0, $f0 +/* E0F9B8 80241218 8C830000 */ lw $v1, ($a0) +/* E0F9BC 8024121C 3C018024 */ lui $at, 0x8024 +/* E0F9C0 80241220 D4223F90 */ ldc1 $f2, 0x3f90($at) +/* E0F9C4 80241224 0060282D */ daddu $a1, $v1, $zero +/* E0F9C8 80241228 24630008 */ addiu $v1, $v1, 8 +/* E0F9CC 8024122C AC830000 */ sw $v1, ($a0) +/* E0F9D0 80241230 ACA20000 */ sw $v0, ($a1) +/* E0F9D4 80241234 3C028024 */ lui $v0, 0x8024 +/* E0F9D8 80241238 24423C50 */ addiu $v0, $v0, 0x3c50 +/* E0F9DC 8024123C ACA20004 */ sw $v0, 4($a1) +/* E0F9E0 80241240 24620008 */ addiu $v0, $v1, 8 +/* E0F9E4 80241244 AC820000 */ sw $v0, ($a0) +/* E0F9E8 80241248 3C02E700 */ lui $v0, 0xe700 +/* E0F9EC 8024124C 46220002 */ mul.d $f0, $f0, $f2 +/* E0F9F0 80241250 00000000 */ nop +/* E0F9F4 80241254 AC620000 */ sw $v0, ($v1) +/* E0F9F8 80241258 24620010 */ addiu $v0, $v1, 0x10 +/* E0F9FC 8024125C AC600004 */ sw $zero, 4($v1) +/* E0FA00 80241260 AC820000 */ sw $v0, ($a0) +/* E0FA04 80241264 3C02FA00 */ lui $v0, 0xfa00 +/* E0FA08 80241268 3C0141E0 */ lui $at, 0x41e0 +/* E0FA0C 8024126C 44811800 */ mtc1 $at, $f3 +/* E0FA10 80241270 44801000 */ mtc1 $zero, $f2 +/* E0FA14 80241274 246D000C */ addiu $t5, $v1, 0xc +/* E0FA18 80241278 4620103E */ c.le.d $f2, $f0 +/* E0FA1C 8024127C 00000000 */ nop +/* E0FA20 80241280 45010005 */ bc1t .L80241298 +/* E0FA24 80241284 AC620008 */ sw $v0, 8($v1) +/* E0FA28 80241288 4620010D */ trunc.w.d $f4, $f0 +/* E0FA2C 8024128C 440C2000 */ mfc1 $t4, $f4 +/* E0FA30 80241290 080904AD */ j .L802412B4 +/* E0FA34 80241294 3C091078 */ lui $t1, 0x1078 +.L80241298: +/* E0FA38 80241298 46220001 */ sub.d $f0, $f0, $f2 +/* E0FA3C 8024129C 3C028000 */ lui $v0, 0x8000 +/* E0FA40 802412A0 4620010D */ trunc.w.d $f4, $f0 +/* E0FA44 802412A4 440C2000 */ mfc1 $t4, $f4 +/* E0FA48 802412A8 00000000 */ nop +/* E0FA4C 802412AC 01826025 */ or $t4, $t4, $v0 +/* E0FA50 802412B0 3C091078 */ lui $t1, 0x1078 +.L802412B4: +/* E0FA54 802412B4 35291800 */ ori $t1, $t1, 0x1800 +/* E0FA58 802412B8 3C0BF644 */ lui $t3, 0xf644 +/* E0FA5C 802412BC 356B0204 */ ori $t3, $t3, 0x204 +/* E0FA60 802412C0 3C0A000C */ lui $t2, 0xc +/* E0FA64 802412C4 354A00D4 */ ori $t2, $t2, 0xd4 +/* E0FA68 802412C8 2404002D */ addiu $a0, $zero, 0x2d +/* E0FA6C 802412CC 24050032 */ addiu $a1, $zero, 0x32 +/* E0FA70 802412D0 240600E6 */ addiu $a2, $zero, 0xe6 +/* E0FA74 802412D4 3C08800A */ lui $t0, 0x800a +/* E0FA78 802412D8 2508A66C */ addiu $t0, $t0, -0x5994 +/* E0FA7C 802412DC 318200FF */ andi $v0, $t4, 0xff +/* E0FA80 802412E0 00491025 */ or $v0, $v0, $t1 +/* E0FA84 802412E4 44921000 */ mtc1 $s2, $f2 +/* E0FA88 802412E8 00000000 */ nop +/* E0FA8C 802412EC 468010A1 */ cvt.d.w $f2, $f2 +/* E0FA90 802412F0 8D030000 */ lw $v1, ($t0) +/* E0FA94 802412F4 3C018024 */ lui $at, 0x8024 +/* E0FA98 802412F8 D4203F98 */ ldc1 $f0, 0x3f98($at) +/* E0FA9C 802412FC 24100001 */ addiu $s0, $zero, 1 +/* E0FAA0 80241300 ADA20000 */ sw $v0, ($t5) +/* E0FAA4 80241304 0060102D */ daddu $v0, $v1, $zero +/* E0FAA8 80241308 24630008 */ addiu $v1, $v1, 8 +/* E0FAAC 8024130C AD030000 */ sw $v1, ($t0) +/* E0FAB0 80241310 AC4B0000 */ sw $t3, ($v0) +/* E0FAB4 80241314 AC4A0004 */ sw $t2, 4($v0) +/* E0FAB8 80241318 24620008 */ addiu $v0, $v1, 8 +/* E0FABC 8024131C AD020000 */ sw $v0, ($t0) +/* E0FAC0 80241320 3C02E700 */ lui $v0, 0xe700 +/* E0FAC4 80241324 46201082 */ mul.d $f2, $f2, $f0 +/* E0FAC8 80241328 00000000 */ nop +/* E0FACC 8024132C AC620000 */ sw $v0, ($v1) +/* E0FAD0 80241330 24020006 */ addiu $v0, $zero, 6 +/* E0FAD4 80241334 AC600004 */ sw $zero, 4($v1) +/* E0FAD8 80241338 AFA20010 */ sw $v0, 0x10($sp) +/* E0FADC 8024133C AFA00014 */ sw $zero, 0x14($sp) +/* E0FAE0 80241340 AFB00018 */ sw $s0, 0x18($sp) +/* E0FAE4 80241344 AFB20020 */ sw $s2, 0x20($sp) +/* E0FAE8 80241348 4620110D */ trunc.w.d $f4, $f2 +/* E0FAEC 8024134C E7A4001C */ swc1 $f4, 0x1c($sp) +/* E0FAF0 80241350 0C04B6D6 */ jal func_8012DB58 +/* E0FAF4 80241354 24070052 */ addiu $a3, $zero, 0x52 +/* E0FAF8 80241358 8E220008 */ lw $v0, 8($s1) +/* E0FAFC 8024135C 1450001F */ bne $v0, $s0, .L802413DC +/* E0FB00 80241360 3C040008 */ lui $a0, 8 +/* E0FB04 80241364 3484001C */ ori $a0, $a0, 0x1c +/* E0FB08 80241368 24050042 */ addiu $a1, $zero, 0x42 +/* E0FB0C 8024136C 24060039 */ addiu $a2, $zero, 0x39 +/* E0FB10 80241370 0240382D */ daddu $a3, $s2, $zero +/* E0FB14 80241374 AFB00010 */ sw $s0, 0x10($sp) +/* E0FB18 80241378 0C04993B */ jal draw_string +/* E0FB1C 8024137C AFA00014 */ sw $zero, 0x14($sp) +/* E0FB20 80241380 240500DB */ addiu $a1, $zero, 0xdb +/* E0FB24 80241384 2406004E */ addiu $a2, $zero, 0x4e +/* E0FB28 80241388 0200382D */ daddu $a3, $s0, $zero +/* E0FB2C 8024138C 3C108011 */ lui $s0, %hi(gPlayerData) +/* E0FB30 80241390 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* E0FB34 80241394 AFA00010 */ sw $zero, 0x10($sp) +/* E0FB38 80241398 AFB20014 */ sw $s2, 0x14($sp) +/* E0FB3C 8024139C 9604032E */ lhu $a0, 0x32e($s0) +/* E0FB40 802413A0 24110003 */ addiu $s1, $zero, 3 +/* E0FB44 802413A4 0C049DA7 */ jal draw_number +/* E0FB48 802413A8 AFB10018 */ sw $s1, 0x18($sp) +/* E0FB4C 802413AC 240500DB */ addiu $a1, $zero, 0xdb +/* E0FB50 802413B0 2406005D */ addiu $a2, $zero, 0x5d +/* E0FB54 802413B4 8E040330 */ lw $a0, 0x330($s0) +/* E0FB58 802413B8 24070001 */ addiu $a3, $zero, 1 +/* E0FB5C 802413BC AFA00010 */ sw $zero, 0x10($sp) +/* E0FB60 802413C0 AFB20014 */ sw $s2, 0x14($sp) +/* E0FB64 802413C4 0C049DA7 */ jal draw_number +/* E0FB68 802413C8 AFB10018 */ sw $s1, 0x18($sp) +/* E0FB6C 802413CC 240500DB */ addiu $a1, $zero, 0xdb +/* E0FB70 802413D0 96040334 */ lhu $a0, 0x334($s0) +/* E0FB74 802413D4 08090514 */ j .L80241450 +/* E0FB78 802413D8 2406006C */ addiu $a2, $zero, 0x6c +.L802413DC: +/* E0FB7C 802413DC 3484001D */ ori $a0, $a0, 0x1d +/* E0FB80 802413E0 24050040 */ addiu $a1, $zero, 0x40 +/* E0FB84 802413E4 24060039 */ addiu $a2, $zero, 0x39 +/* E0FB88 802413E8 0240382D */ daddu $a3, $s2, $zero +/* E0FB8C 802413EC AFB00010 */ sw $s0, 0x10($sp) +/* E0FB90 802413F0 0C04993B */ jal draw_string +/* E0FB94 802413F4 AFA00014 */ sw $zero, 0x14($sp) +/* E0FB98 802413F8 240500DB */ addiu $a1, $zero, 0xdb +/* E0FB9C 802413FC 2406004E */ addiu $a2, $zero, 0x4e +/* E0FBA0 80241400 24070001 */ addiu $a3, $zero, 1 +/* E0FBA4 80241404 3C108011 */ lui $s0, %hi(gPlayerData) +/* E0FBA8 80241408 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* E0FBAC 8024140C AFA00010 */ sw $zero, 0x10($sp) +/* E0FBB0 80241410 AFB20014 */ sw $s2, 0x14($sp) +/* E0FBB4 80241414 96040336 */ lhu $a0, 0x336($s0) +/* E0FBB8 80241418 24110003 */ addiu $s1, $zero, 3 +/* E0FBBC 8024141C 0C049DA7 */ jal draw_number +/* E0FBC0 80241420 AFB10018 */ sw $s1, 0x18($sp) +/* E0FBC4 80241424 240500DB */ addiu $a1, $zero, 0xdb +/* E0FBC8 80241428 2406005D */ addiu $a2, $zero, 0x5d +/* E0FBCC 8024142C 8E040338 */ lw $a0, 0x338($s0) +/* E0FBD0 80241430 24070001 */ addiu $a3, $zero, 1 +/* E0FBD4 80241434 AFA00010 */ sw $zero, 0x10($sp) +/* E0FBD8 80241438 AFB20014 */ sw $s2, 0x14($sp) +/* E0FBDC 8024143C 0C049DA7 */ jal draw_number +/* E0FBE0 80241440 AFB10018 */ sw $s1, 0x18($sp) +/* E0FBE4 80241444 240500DB */ addiu $a1, $zero, 0xdb +/* E0FBE8 80241448 2406006C */ addiu $a2, $zero, 0x6c +/* E0FBEC 8024144C 9604033C */ lhu $a0, 0x33c($s0) +.L80241450: +/* E0FBF0 80241450 24070001 */ addiu $a3, $zero, 1 +/* E0FBF4 80241454 AFA00010 */ sw $zero, 0x10($sp) +/* E0FBF8 80241458 AFB20014 */ sw $s2, 0x14($sp) +/* E0FBFC 8024145C 0C049DA7 */ jal draw_number +/* E0FC00 80241460 AFB10018 */ sw $s1, 0x18($sp) +/* E0FC04 80241464 3C040008 */ lui $a0, 8 +/* E0FC08 80241468 3484001E */ ori $a0, $a0, 0x1e +/* E0FC0C 8024146C 2405003A */ addiu $a1, $zero, 0x3a +/* E0FC10 80241470 2406004E */ addiu $a2, $zero, 0x4e +/* E0FC14 80241474 0240382D */ daddu $a3, $s2, $zero +/* E0FC18 80241478 24100001 */ addiu $s0, $zero, 1 +/* E0FC1C 8024147C AFA00010 */ sw $zero, 0x10($sp) +/* E0FC20 80241480 0C04993B */ jal draw_string +/* E0FC24 80241484 AFB00014 */ sw $s0, 0x14($sp) +/* E0FC28 80241488 3C040008 */ lui $a0, 8 +/* E0FC2C 8024148C 34840023 */ ori $a0, $a0, 0x23 +/* E0FC30 80241490 240500DF */ addiu $a1, $zero, 0xdf +/* E0FC34 80241494 2406004E */ addiu $a2, $zero, 0x4e +/* E0FC38 80241498 0240382D */ daddu $a3, $s2, $zero +/* E0FC3C 8024149C AFA00010 */ sw $zero, 0x10($sp) +/* E0FC40 802414A0 0C04993B */ jal draw_string +/* E0FC44 802414A4 AFB00014 */ sw $s0, 0x14($sp) +/* E0FC48 802414A8 3C040008 */ lui $a0, 8 +/* E0FC4C 802414AC 3484001F */ ori $a0, $a0, 0x1f +/* E0FC50 802414B0 2405003A */ addiu $a1, $zero, 0x3a +/* E0FC54 802414B4 2406005D */ addiu $a2, $zero, 0x5d +/* E0FC58 802414B8 0240382D */ daddu $a3, $s2, $zero +/* E0FC5C 802414BC AFA00010 */ sw $zero, 0x10($sp) +/* E0FC60 802414C0 0C04993B */ jal draw_string +/* E0FC64 802414C4 AFB00014 */ sw $s0, 0x14($sp) +/* E0FC68 802414C8 3C040008 */ lui $a0, 8 +/* E0FC6C 802414CC 34840021 */ ori $a0, $a0, 0x21 +/* E0FC70 802414D0 240500DF */ addiu $a1, $zero, 0xdf +/* E0FC74 802414D4 2406005D */ addiu $a2, $zero, 0x5d +/* E0FC78 802414D8 0240382D */ daddu $a3, $s2, $zero +/* E0FC7C 802414DC AFA00010 */ sw $zero, 0x10($sp) +/* E0FC80 802414E0 0C04993B */ jal draw_string +/* E0FC84 802414E4 AFB00014 */ sw $s0, 0x14($sp) +/* E0FC88 802414E8 3C040008 */ lui $a0, 8 +/* E0FC8C 802414EC 34840020 */ ori $a0, $a0, 0x20 +/* E0FC90 802414F0 2405003A */ addiu $a1, $zero, 0x3a +/* E0FC94 802414F4 2406006C */ addiu $a2, $zero, 0x6c +/* E0FC98 802414F8 0240382D */ daddu $a3, $s2, $zero +/* E0FC9C 802414FC AFA00010 */ sw $zero, 0x10($sp) +/* E0FCA0 80241500 0C04993B */ jal draw_string +/* E0FCA4 80241504 AFB00014 */ sw $s0, 0x14($sp) +/* E0FCA8 80241508 3C040008 */ lui $a0, 8 +/* E0FCAC 8024150C 34840021 */ ori $a0, $a0, 0x21 +/* E0FCB0 80241510 240500DF */ addiu $a1, $zero, 0xdf +/* E0FCB4 80241514 2406006C */ addiu $a2, $zero, 0x6c +/* E0FCB8 80241518 0240382D */ daddu $a3, $s2, $zero +/* E0FCBC 8024151C AFA00010 */ sw $zero, 0x10($sp) +/* E0FCC0 80241520 0C04993B */ jal draw_string +/* E0FCC4 80241524 AFB00014 */ sw $s0, 0x14($sp) +.L80241528: +/* E0FCC8 80241528 8FBF0034 */ lw $ra, 0x34($sp) +/* E0FCCC 8024152C 8FB20030 */ lw $s2, 0x30($sp) +/* E0FCD0 80241530 8FB1002C */ lw $s1, 0x2c($sp) +/* E0FCD4 80241534 8FB00028 */ lw $s0, 0x28($sp) +/* E0FCD8 80241538 03E00008 */ jr $ra +/* E0FCDC 8024153C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_80241540_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_80241540_E0E7A0.s new file mode 100644 index 0000000000..c60e4cd0f0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_80241540_E0E7A0.s @@ -0,0 +1,102 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241540_E0FCE0 +/* E0FCE0 80241540 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E0FCE4 80241544 0000202D */ daddu $a0, $zero, $zero +/* E0FCE8 80241548 3C05FD05 */ lui $a1, 0xfd05 +/* E0FCEC 8024154C 34A50F8A */ ori $a1, $a1, 0xf8a +/* E0FCF0 80241550 AFBF0020 */ sw $ra, 0x20($sp) +/* E0FCF4 80241554 AFB1001C */ sw $s1, 0x1c($sp) +/* E0FCF8 80241558 0C0B1EAF */ jal get_variable +/* E0FCFC 8024155C AFB00018 */ sw $s0, 0x18($sp) +/* E0FD00 80241560 0040802D */ daddu $s0, $v0, $zero +/* E0FD04 80241564 8E030000 */ lw $v1, ($s0) +/* E0FD08 80241568 2C620005 */ sltiu $v0, $v1, 5 +/* E0FD0C 8024156C 1040004C */ beqz $v0, .L802416A0 +/* E0FD10 80241570 00031080 */ sll $v0, $v1, 2 +/* E0FD14 80241574 3C018024 */ lui $at, 0x8024 +/* E0FD18 80241578 00220821 */ addu $at, $at, $v0 +/* E0FD1C 8024157C 8C223FA0 */ lw $v0, 0x3fa0($at) +/* E0FD20 80241580 00400008 */ jr $v0 +/* E0FD24 80241584 00000000 */ nop +/* E0FD28 80241588 2404021C */ addiu $a0, $zero, 0x21c +/* E0FD2C 8024158C 0000282D */ daddu $a1, $zero, $zero +/* E0FD30 80241590 00A0302D */ daddu $a2, $a1, $zero +/* E0FD34 80241594 24020001 */ addiu $v0, $zero, 1 +/* E0FD38 80241598 AE000004 */ sw $zero, 4($s0) +/* E0FD3C 8024159C 0C015478 */ jal func_800551E0 +/* E0FD40 802415A0 AE020000 */ sw $v0, ($s0) +/* E0FD44 802415A4 3C054200 */ lui $a1, 0x4200 +/* E0FD48 802415A8 8E020004 */ lw $v0, 4($s0) +/* E0FD4C 802415AC 3C06437F */ lui $a2, 0x437f +/* E0FD50 802415B0 24420001 */ addiu $v0, $v0, 1 +/* E0FD54 802415B4 AE020004 */ sw $v0, 4($s0) +/* E0FD58 802415B8 24020005 */ addiu $v0, $zero, 5 +/* E0FD5C 802415BC AFA20010 */ sw $v0, 0x10($sp) +/* E0FD60 802415C0 8E070004 */ lw $a3, 4($s0) +/* E0FD64 802415C4 0C00A8ED */ jal update_lerp +/* E0FD68 802415C8 0000202D */ daddu $a0, $zero, $zero +/* E0FD6C 802415CC 8E020004 */ lw $v0, 4($s0) +/* E0FD70 802415D0 4600008D */ trunc.w.s $f2, $f0 +/* E0FD74 802415D4 44031000 */ mfc1 $v1, $f2 +/* E0FD78 802415D8 00000000 */ nop +/* E0FD7C 802415DC AE03000C */ sw $v1, 0xc($s0) +/* E0FD80 802415E0 28420005 */ slti $v0, $v0, 5 +/* E0FD84 802415E4 1440002E */ bnez $v0, .L802416A0 +/* E0FD88 802415E8 AE030010 */ sw $v1, 0x10($s0) +/* E0FD8C 802415EC 24020002 */ addiu $v0, $zero, 2 +/* E0FD90 802415F0 AE020000 */ sw $v0, ($s0) +/* E0FD94 802415F4 240200FF */ addiu $v0, $zero, 0xff +/* E0FD98 802415F8 AE02000C */ sw $v0, 0xc($s0) +/* E0FD9C 802415FC 080905A8 */ j .L802416A0 +/* E0FDA0 80241600 AE020010 */ sw $v0, 0x10($s0) +/* E0FDA4 80241604 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* E0FDA8 80241608 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* E0FDAC 8024160C 240200FF */ addiu $v0, $zero, 0xff +/* E0FDB0 80241610 AE02000C */ sw $v0, 0xc($s0) +/* E0FDB4 80241614 AE020010 */ sw $v0, 0x10($s0) +/* E0FDB8 80241618 8C620000 */ lw $v0, ($v1) +/* E0FDBC 8024161C 3042C000 */ andi $v0, $v0, 0xc000 +/* E0FDC0 80241620 10400002 */ beqz $v0, .L8024162C +/* E0FDC4 80241624 24020003 */ addiu $v0, $zero, 3 +/* E0FDC8 80241628 AE020000 */ sw $v0, ($s0) +.L8024162C: +/* E0FDCC 8024162C 8E030000 */ lw $v1, ($s0) +/* E0FDD0 80241630 24020003 */ addiu $v0, $zero, 3 +/* E0FDD4 80241634 1462001A */ bne $v1, $v0, .L802416A0 +/* E0FDD8 80241638 00000000 */ nop +/* E0FDDC 8024163C 240400CA */ addiu $a0, $zero, 0xca +/* E0FDE0 80241640 0000282D */ daddu $a1, $zero, $zero +/* E0FDE4 80241644 00A0302D */ daddu $a2, $a1, $zero +/* E0FDE8 80241648 24020004 */ addiu $v0, $zero, 4 +/* E0FDEC 8024164C AE000004 */ sw $zero, 4($s0) +/* E0FDF0 80241650 0C015478 */ jal func_800551E0 +/* E0FDF4 80241654 AE020000 */ sw $v0, ($s0) +/* E0FDF8 80241658 0000202D */ daddu $a0, $zero, $zero +/* E0FDFC 8024165C C6000010 */ lwc1 $f0, 0x10($s0) +/* E0FE00 80241660 46800020 */ cvt.s.w $f0, $f0 +/* E0FE04 80241664 24110005 */ addiu $s1, $zero, 5 +/* E0FE08 80241668 8E020004 */ lw $v0, 4($s0) +/* E0FE0C 8024166C 44050000 */ mfc1 $a1, $f0 +/* E0FE10 80241670 24420001 */ addiu $v0, $v0, 1 +/* E0FE14 80241674 AE020004 */ sw $v0, 4($s0) +/* E0FE18 80241678 AFB10010 */ sw $s1, 0x10($sp) +/* E0FE1C 8024167C 8E070004 */ lw $a3, 4($s0) +/* E0FE20 80241680 0C00A8ED */ jal update_lerp +/* E0FE24 80241684 0000302D */ daddu $a2, $zero, $zero +/* E0FE28 80241688 8E020004 */ lw $v0, 4($s0) +/* E0FE2C 8024168C 4600008D */ trunc.w.s $f2, $f0 +/* E0FE30 80241690 E602000C */ swc1 $f2, 0xc($s0) +/* E0FE34 80241694 0051102A */ slt $v0, $v0, $s1 +/* E0FE38 80241698 50400001 */ beql $v0, $zero, .L802416A0 +/* E0FE3C 8024169C AE110000 */ sw $s1, ($s0) +.L802416A0: +/* E0FE40 802416A0 8E05000C */ lw $a1, 0xc($s0) +/* E0FE44 802416A4 0C090478 */ jal func_802411E0 +/* E0FE48 802416A8 0200202D */ daddu $a0, $s0, $zero +/* E0FE4C 802416AC 8FBF0020 */ lw $ra, 0x20($sp) +/* E0FE50 802416B0 8FB1001C */ lw $s1, 0x1c($sp) +/* E0FE54 802416B4 8FB00018 */ lw $s0, 0x18($sp) +/* E0FE58 802416B8 03E00008 */ jr $ra +/* E0FE5C 802416BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802416C0_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802416C0_E0E7A0.s new file mode 100644 index 0000000000..95b0cc2f47 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802416C0_E0E7A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C0_E0FE60 +/* E0FE60 802416C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E0FE64 802416C4 2402002D */ addiu $v0, $zero, 0x2d +/* E0FE68 802416C8 AFA20010 */ sw $v0, 0x10($sp) +/* E0FE6C 802416CC 3C028024 */ lui $v0, 0x8024 +/* E0FE70 802416D0 24421540 */ addiu $v0, $v0, 0x1540 +/* E0FE74 802416D4 27A40010 */ addiu $a0, $sp, 0x10 +/* E0FE78 802416D8 AFBF0020 */ sw $ra, 0x20($sp) +/* E0FE7C 802416DC AFA00018 */ sw $zero, 0x18($sp) +/* E0FE80 802416E0 AFA2001C */ sw $v0, 0x1c($sp) +/* E0FE84 802416E4 0C047644 */ jal queue_render_task +/* E0FE88 802416E8 AFA00014 */ sw $zero, 0x14($sp) +/* E0FE8C 802416EC 8FBF0020 */ lw $ra, 0x20($sp) +/* E0FE90 802416F0 03E00008 */ jr $ra +/* E0FE94 802416F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_00/func_802416F8_E0E7A0.s b/asm/nonmatchings/world/area_mgm/mgm_00/func_802416F8_E0E7A0.s new file mode 100644 index 0000000000..964ba79493 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_00/func_802416F8_E0E7A0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8_E0FE98 +/* E0FE98 802416F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E0FE9C 802416FC AFB10014 */ sw $s1, 0x14($sp) +/* E0FEA0 80241700 0080882D */ daddu $s1, $a0, $zero +/* E0FEA4 80241704 AFBF001C */ sw $ra, 0x1c($sp) +/* E0FEA8 80241708 AFB20018 */ sw $s2, 0x18($sp) +/* E0FEAC 8024170C AFB00010 */ sw $s0, 0x10($sp) +/* E0FEB0 80241710 8E22000C */ lw $v0, 0xc($s1) +/* E0FEB4 80241714 00A0802D */ daddu $s0, $a1, $zero +/* E0FEB8 80241718 0C0B1EAF */ jal get_variable +/* E0FEBC 8024171C 8C450000 */ lw $a1, ($v0) +/* E0FEC0 80241720 12000013 */ beqz $s0, .L80241770 +/* E0FEC4 80241724 0040902D */ daddu $s2, $v0, $zero +/* E0FEC8 80241728 0C00AB39 */ jal heap_malloc +/* E0FECC 8024172C 24040018 */ addiu $a0, $zero, 0x18 +/* E0FED0 80241730 0040802D */ daddu $s0, $v0, $zero +/* E0FED4 80241734 0000202D */ daddu $a0, $zero, $zero +/* E0FED8 80241738 3C058024 */ lui $a1, 0x8024 +/* E0FEDC 8024173C 24A516C0 */ addiu $a1, $a1, 0x16c0 +/* E0FEE0 80241740 240200FF */ addiu $v0, $zero, 0xff +/* E0FEE4 80241744 AE300070 */ sw $s0, 0x70($s1) +/* E0FEE8 80241748 AE000000 */ sw $zero, ($s0) +/* E0FEEC 8024174C 0C048C56 */ jal bind_dynamic_entity_3 +/* E0FEF0 80241750 AE02000C */ sw $v0, 0xc($s0) +/* E0FEF4 80241754 0220202D */ daddu $a0, $s1, $zero +/* E0FEF8 80241758 3C05FD05 */ lui $a1, 0xfd05 +/* E0FEFC 8024175C 34A50F8A */ ori $a1, $a1, 0xf8a +/* E0FF00 80241760 0200302D */ daddu $a2, $s0, $zero +/* E0FF04 80241764 AE020014 */ sw $v0, 0x14($s0) +/* E0FF08 80241768 0C0B2026 */ jal set_variable +/* E0FF0C 8024176C AE120008 */ sw $s2, 8($s0) +.L80241770: +/* E0FF10 80241770 8E300070 */ lw $s0, 0x70($s1) +/* E0FF14 80241774 8E030000 */ lw $v1, ($s0) +/* E0FF18 80241778 24020005 */ addiu $v0, $zero, 5 +/* E0FF1C 8024177C 14620007 */ bne $v1, $v0, .L8024179C +/* E0FF20 80241780 0000102D */ daddu $v0, $zero, $zero +/* E0FF24 80241784 8E040014 */ lw $a0, 0x14($s0) +/* E0FF28 80241788 0C048D70 */ jal func_801235C0 +/* E0FF2C 8024178C 00000000 */ nop +/* E0FF30 80241790 0C00AB4B */ jal heap_free +/* E0FF34 80241794 0200202D */ daddu $a0, $s0, $zero +/* E0FF38 80241798 24020001 */ addiu $v0, $zero, 1 +.L8024179C: +/* E0FF3C 8024179C 8FBF001C */ lw $ra, 0x1c($sp) +/* E0FF40 802417A0 8FB20018 */ lw $s2, 0x18($sp) +/* E0FF44 802417A4 8FB10014 */ lw $s1, 0x14($sp) +/* E0FF48 802417A8 8FB00010 */ lw $s0, 0x10($sp) +/* E0FF4C 802417AC 03E00008 */ jr $ra +/* E0FF50 802417B0 27BD0020 */ addiu $sp, $sp, 0x20 +/* E0FF54 802417B4 00000000 */ nop +/* E0FF58 802417B8 00000000 */ nop +/* E0FF5C 802417BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240000_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240000_E12760.s new file mode 100644 index 0000000000..b7d7e2c9ae --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240000_E12760.s @@ -0,0 +1,124 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_E12760 +/* E12760 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* E12764 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* E12768 80240008 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* E1276C 8024000C 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* E12770 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* E12774 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* E12778 80240018 F7B80030 */ sdc1 $f24, 0x30($sp) +/* E1277C 8024001C F7B60028 */ sdc1 $f22, 0x28($sp) +/* E12780 80240020 F7B40020 */ sdc1 $f20, 0x20($sp) +/* E12784 80240024 8E260000 */ lw $a2, ($s1) +/* E12788 80240028 C4C40028 */ lwc1 $f4, 0x28($a2) +/* E1278C 8024002C 3C018024 */ lui $at, 0x8024 +/* E12790 80240030 D42235B0 */ ldc1 $f2, 0x35b0($at) +/* E12794 80240034 46002021 */ cvt.d.s $f0, $f4 +/* E12798 80240038 4622003C */ c.lt.d $f0, $f2 +/* E1279C 8024003C 00000000 */ nop +/* E127A0 80240040 45000003 */ bc1f .L80240050 +/* E127A4 80240044 0080802D */ daddu $s0, $a0, $zero +/* E127A8 80240048 3C01C2BE */ lui $at, 0xc2be +/* E127AC 8024004C 44812000 */ mtc1 $at, $f4 +.L80240050: +/* E127B0 80240050 3C018024 */ lui $at, 0x8024 +/* E127B4 80240054 D42235B8 */ ldc1 $f2, 0x35b8($at) +/* E127B8 80240058 46002021 */ cvt.d.s $f0, $f4 +/* E127BC 8024005C 4620103C */ c.lt.d $f2, $f0 +/* E127C0 80240060 00000000 */ nop +/* E127C4 80240064 45000003 */ bc1f .L80240074 +/* E127C8 80240068 00000000 */ nop +/* E127CC 8024006C 3C0142BE */ lui $at, 0x42be +/* E127D0 80240070 44812000 */ mtc1 $at, $f4 +.L80240074: +/* E127D4 80240074 C4D80030 */ lwc1 $f24, 0x30($a2) +/* E127D8 80240078 3C01C054 */ lui $at, 0xc054 +/* E127DC 8024007C 44811800 */ mtc1 $at, $f3 +/* E127E0 80240080 44801000 */ mtc1 $zero, $f2 +/* E127E4 80240084 4600C021 */ cvt.d.s $f0, $f24 +/* E127E8 80240088 4622003C */ c.lt.d $f0, $f2 +/* E127EC 8024008C 00000000 */ nop +/* E127F0 80240090 45000003 */ bc1f .L802400A0 +/* E127F4 80240094 00000000 */ nop +/* E127F8 80240098 3C01C2A0 */ lui $at, 0xc2a0 +/* E127FC 8024009C 4481C000 */ mtc1 $at, $f24 +.L802400A0: +/* E12800 802400A0 3C014054 */ lui $at, 0x4054 +/* E12804 802400A4 44811800 */ mtc1 $at, $f3 +/* E12808 802400A8 44801000 */ mtc1 $zero, $f2 +/* E1280C 802400AC 4600C021 */ cvt.d.s $f0, $f24 +/* E12810 802400B0 4620103C */ c.lt.d $f2, $f0 +/* E12814 802400B4 00000000 */ nop +/* E12818 802400B8 45000003 */ bc1f .L802400C8 +/* E1281C 802400BC 00000000 */ nop +/* E12820 802400C0 3C0142A0 */ lui $at, 0x42a0 +/* E12824 802400C4 4481C000 */ mtc1 $at, $f24 +.L802400C8: +/* E12828 802400C8 3C018024 */ lui $at, 0x8024 +/* E1282C 802400CC D42035C0 */ ldc1 $f0, 0x35c0($at) +/* E12830 802400D0 4600C521 */ cvt.d.s $f20, $f24 +/* E12834 802400D4 4620A502 */ mul.d $f20, $f20, $f0 +/* E12838 802400D8 00000000 */ nop +/* E1283C 802400DC 3C018024 */ lui $at, 0x8024 +/* E12840 802400E0 D42035C8 */ ldc1 $f0, 0x35c8($at) +/* E12844 802400E4 4620A502 */ mul.d $f20, $f20, $f0 +/* E12848 802400E8 00000000 */ nop +/* E1284C 802400EC 3C018024 */ lui $at, 0x8024 +/* E12850 802400F0 D42035D0 */ ldc1 $f0, 0x35d0($at) +/* E12854 802400F4 460025A1 */ cvt.d.s $f22, $f4 +/* E12858 802400F8 4620B582 */ mul.d $f22, $f22, $f0 +/* E1285C 802400FC 00000000 */ nop +/* E12860 80240100 0200202D */ daddu $a0, $s0, $zero +/* E12864 80240104 3C05FE36 */ lui $a1, 0xfe36 +/* E12868 80240108 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E1286C 8024010C 44062000 */ mfc1 $a2, $f4 +/* E12870 80240110 4620A520 */ cvt.s.d $f20, $f20 +/* E12874 80240114 0C0B2190 */ jal set_float_variable +/* E12878 80240118 4620B5A0 */ cvt.s.d $f22, $f22 +/* E1287C 8024011C 0200202D */ daddu $a0, $s0, $zero +/* E12880 80240120 3C05FE36 */ lui $a1, 0xfe36 +/* E12884 80240124 4406C000 */ mfc1 $a2, $f24 +/* E12888 80240128 0C0B2190 */ jal set_float_variable +/* E1288C 8024012C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E12890 80240130 0200202D */ daddu $a0, $s0, $zero +/* E12894 80240134 3C05FE36 */ lui $a1, 0xfe36 +/* E12898 80240138 4406A000 */ mfc1 $a2, $f20 +/* E1289C 8024013C 0C0B2190 */ jal set_float_variable +/* E128A0 80240140 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E128A4 80240144 0200202D */ daddu $a0, $s0, $zero +/* E128A8 80240148 3C05FE36 */ lui $a1, 0xfe36 +/* E128AC 8024014C 4406B000 */ mfc1 $a2, $f22 +/* E128B0 80240150 0C0B2190 */ jal set_float_variable +/* E128B4 80240154 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E128B8 80240158 8E230000 */ lw $v1, ($s1) +/* E128BC 8024015C C4600028 */ lwc1 $f0, 0x28($v1) +/* E128C0 80240160 3C018024 */ lui $at, 0x8024 +/* E128C4 80240164 D42235D8 */ ldc1 $f2, 0x35d8($at) +/* E128C8 80240168 46000021 */ cvt.d.s $f0, $f0 +/* E128CC 8024016C 46220002 */ mul.d $f0, $f0, $f2 +/* E128D0 80240170 00000000 */ nop +/* E128D4 80240174 3C028015 */ lui $v0, %hi(D_80151328) +/* E128D8 80240178 8C421328 */ lw $v0, %lo(D_80151328)($v0) +/* E128DC 8024017C 3C0142A0 */ lui $at, 0x42a0 +/* E128E0 80240180 44811000 */ mtc1 $at, $f2 +/* E128E4 80240184 00000000 */ nop +/* E128E8 80240188 E442000C */ swc1 $f2, 0xc($v0) +/* E128EC 8024018C 3C014248 */ lui $at, 0x4248 +/* E128F0 80240190 44811000 */ mtc1 $at, $f2 +/* E128F4 80240194 46200020 */ cvt.s.d $f0, $f0 +/* E128F8 80240198 E4400008 */ swc1 $f0, 8($v0) +/* E128FC 8024019C C4600030 */ lwc1 $f0, 0x30($v1) +/* E12900 802401A0 46020000 */ add.s $f0, $f0, $f2 +/* E12904 802401A4 E4400010 */ swc1 $f0, 0x10($v0) +/* E12908 802401A8 8FBF0018 */ lw $ra, 0x18($sp) +/* E1290C 802401AC 8FB10014 */ lw $s1, 0x14($sp) +/* E12910 802401B0 8FB00010 */ lw $s0, 0x10($sp) +/* E12914 802401B4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* E12918 802401B8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* E1291C 802401BC D7B40020 */ ldc1 $f20, 0x20($sp) +/* E12920 802401C0 24020002 */ addiu $v0, $zero, 2 +/* E12924 802401C4 03E00008 */ jr $ra +/* E12928 802401C8 27BD0038 */ addiu $sp, $sp, 0x38 +/* E1292C 802401CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802401D0_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802401D0_E12760.s new file mode 100644 index 0000000000..4c69a80aaa --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802401D0_E12760.s @@ -0,0 +1,141 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_E12930 +/* E12930 802401D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* E12934 802401D4 0000202D */ daddu $a0, $zero, $zero +/* E12938 802401D8 AFBF0058 */ sw $ra, 0x58($sp) +/* E1293C 802401DC AFB10054 */ sw $s1, 0x54($sp) +/* E12940 802401E0 0C00FB3A */ jal get_enemy +/* E12944 802401E4 AFB00050 */ sw $s0, 0x50($sp) +/* E12948 802401E8 2404FFFF */ addiu $a0, $zero, -1 +/* E1294C 802401EC 8C430074 */ lw $v1, 0x74($v0) +/* E12950 802401F0 1464000B */ bne $v1, $a0, .L80240220 +/* E12954 802401F4 8C510080 */ lw $s1, 0x80($v0) +/* E12958 802401F8 8E230014 */ lw $v1, 0x14($s1) +/* E1295C 802401FC 28620141 */ slti $v0, $v1, 0x141 +/* E12960 80240200 1040006B */ beqz $v0, .L802403B0 +/* E12964 80240204 2462000A */ addiu $v0, $v1, 0xa +/* E12968 80240208 AE220014 */ sw $v0, 0x14($s1) +/* E1296C 8024020C 28420142 */ slti $v0, $v0, 0x142 +/* E12970 80240210 1440000C */ bnez $v0, .L80240244 +/* E12974 80240214 24020141 */ addiu $v0, $zero, 0x141 +/* E12978 80240218 08090091 */ j .L80240244 +/* E1297C 8024021C AE220014 */ sw $v0, 0x14($s1) +.L80240220: +/* E12980 80240220 8E230014 */ lw $v1, 0x14($s1) +/* E12984 80240224 286200DD */ slti $v0, $v1, 0xdd +/* E12988 80240228 14400006 */ bnez $v0, .L80240244 +/* E1298C 8024022C 2462FFF6 */ addiu $v0, $v1, -0xa +/* E12990 80240230 AE220014 */ sw $v0, 0x14($s1) +/* E12994 80240234 284200DC */ slti $v0, $v0, 0xdc +/* E12998 80240238 10400002 */ beqz $v0, .L80240244 +/* E1299C 8024023C 240200DC */ addiu $v0, $zero, 0xdc +/* E129A0 80240240 AE220014 */ sw $v0, 0x14($s1) +.L80240244: +/* E129A4 80240244 8E220014 */ lw $v0, 0x14($s1) +/* E129A8 80240248 28420141 */ slti $v0, $v0, 0x141 +/* E129AC 8024024C 10400058 */ beqz $v0, .L802403B0 +/* E129B0 80240250 0000202D */ daddu $a0, $zero, $zero +/* E129B4 80240254 24050009 */ addiu $a1, $zero, 9 +/* E129B8 80240258 24020048 */ addiu $v0, $zero, 0x48 +/* E129BC 8024025C AFA20014 */ sw $v0, 0x14($sp) +/* E129C0 80240260 24020014 */ addiu $v0, $zero, 0x14 +/* E129C4 80240264 AFA20018 */ sw $v0, 0x18($sp) +/* E129C8 80240268 240200FF */ addiu $v0, $zero, 0xff +/* E129CC 8024026C AFA2001C */ sw $v0, 0x1c($sp) +/* E129D0 80240270 24020140 */ addiu $v0, $zero, 0x140 +/* E129D4 80240274 AFA20044 */ sw $v0, 0x44($sp) +/* E129D8 80240278 240200F0 */ addiu $v0, $zero, 0xf0 +/* E129DC 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* E129E0 80240280 AFA00020 */ sw $zero, 0x20($sp) +/* E129E4 80240284 AFA00024 */ sw $zero, 0x24($sp) +/* E129E8 80240288 AFA00028 */ sw $zero, 0x28($sp) +/* E129EC 8024028C AFA0002C */ sw $zero, 0x2c($sp) +/* E129F0 80240290 AFA00030 */ sw $zero, 0x30($sp) +/* E129F4 80240294 AFA00034 */ sw $zero, 0x34($sp) +/* E129F8 80240298 AFA00038 */ sw $zero, 0x38($sp) +/* E129FC 8024029C AFA0003C */ sw $zero, 0x3c($sp) +/* E12A00 802402A0 AFA00040 */ sw $zero, 0x40($sp) +/* E12A04 802402A4 AFA20048 */ sw $v0, 0x48($sp) +/* E12A08 802402A8 AFA0004C */ sw $zero, 0x4c($sp) +/* E12A0C 802402AC 8E260014 */ lw $a2, 0x14($s1) +/* E12A10 802402B0 0C03D4B8 */ jal draw_box +/* E12A14 802402B4 2407001C */ addiu $a3, $zero, 0x1c +/* E12A18 802402B8 24060027 */ addiu $a2, $zero, 0x27 +/* E12A1C 802402BC 8E300004 */ lw $s0, 4($s1) +/* E12A20 802402C0 8E250014 */ lw $a1, 0x14($s1) +/* E12A24 802402C4 0200202D */ daddu $a0, $s0, $zero +/* E12A28 802402C8 0C051261 */ jal set_icon_render_pos +/* E12A2C 802402CC 24A5000F */ addiu $a1, $a1, 0xf +/* E12A30 802402D0 0C0511EA */ jal draw_icon_0 +/* E12A34 802402D4 0200202D */ daddu $a0, $s0, $zero +/* E12A38 802402D8 8E24000C */ lw $a0, 0xc($s1) +/* E12A3C 802402DC 8E230010 */ lw $v1, 0x10($s1) +/* E12A40 802402E0 0064102A */ slt $v0, $v1, $a0 +/* E12A44 802402E4 10400003 */ beqz $v0, .L802402F4 +/* E12A48 802402E8 0083102A */ slt $v0, $a0, $v1 +/* E12A4C 802402EC 080900E1 */ j .L80240384 +/* E12A50 802402F0 AE23000C */ sw $v1, 0xc($s1) +.L802402F4: +/* E12A54 802402F4 10400023 */ beqz $v0, .L80240384 +/* E12A58 802402F8 00641823 */ subu $v1, $v1, $a0 +/* E12A5C 802402FC 28620065 */ slti $v0, $v1, 0x65 +/* E12A60 80240300 14400003 */ bnez $v0, .L80240310 +/* E12A64 80240304 2862004C */ slti $v0, $v1, 0x4c +/* E12A68 80240308 080900DB */ j .L8024036C +/* E12A6C 8024030C 24820028 */ addiu $v0, $a0, 0x28 +.L80240310: +/* E12A70 80240310 14400003 */ bnez $v0, .L80240320 +/* E12A74 80240314 28620033 */ slti $v0, $v1, 0x33 +/* E12A78 80240318 080900DB */ j .L8024036C +/* E12A7C 8024031C 24820023 */ addiu $v0, $a0, 0x23 +.L80240320: +/* E12A80 80240320 14400003 */ bnez $v0, .L80240330 +/* E12A84 80240324 2862001F */ slti $v0, $v1, 0x1f +/* E12A88 80240328 080900DB */ j .L8024036C +/* E12A8C 8024032C 2482001E */ addiu $v0, $a0, 0x1e +.L80240330: +/* E12A90 80240330 14400003 */ bnez $v0, .L80240340 +/* E12A94 80240334 28620015 */ slti $v0, $v1, 0x15 +/* E12A98 80240338 080900DB */ j .L8024036C +/* E12A9C 8024033C 24820014 */ addiu $v0, $a0, 0x14 +.L80240340: +/* E12AA0 80240340 14400003 */ bnez $v0, .L80240350 +/* E12AA4 80240344 2862000B */ slti $v0, $v1, 0xb +/* E12AA8 80240348 080900DB */ j .L8024036C +/* E12AAC 8024034C 2482000A */ addiu $v0, $a0, 0xa +.L80240350: +/* E12AB0 80240350 14400003 */ bnez $v0, .L80240360 +/* E12AB4 80240354 28620006 */ slti $v0, $v1, 6 +/* E12AB8 80240358 080900DB */ j .L8024036C +/* E12ABC 8024035C 24820005 */ addiu $v0, $a0, 5 +.L80240360: +/* E12AC0 80240360 14400002 */ bnez $v0, .L8024036C +/* E12AC4 80240364 24820001 */ addiu $v0, $a0, 1 +/* E12AC8 80240368 24820002 */ addiu $v0, $a0, 2 +.L8024036C: +/* E12ACC 8024036C AE22000C */ sw $v0, 0xc($s1) +/* E12AD0 80240370 24040211 */ addiu $a0, $zero, 0x211 +/* E12AD4 80240374 0000282D */ daddu $a1, $zero, $zero +/* E12AD8 80240378 24060040 */ addiu $a2, $zero, 0x40 +/* E12ADC 8024037C 0C0526AE */ jal _play_sound +/* E12AE0 80240380 24070032 */ addiu $a3, $zero, 0x32 +.L80240384: +/* E12AE4 80240384 24060020 */ addiu $a2, $zero, 0x20 +/* E12AE8 80240388 24070001 */ addiu $a3, $zero, 1 +/* E12AEC 8024038C 8E250014 */ lw $a1, 0x14($s1) +/* E12AF0 80240390 240200FF */ addiu $v0, $zero, 0xff +/* E12AF4 80240394 AFA20014 */ sw $v0, 0x14($sp) +/* E12AF8 80240398 24020003 */ addiu $v0, $zero, 3 +/* E12AFC 8024039C AFA00010 */ sw $zero, 0x10($sp) +/* E12B00 802403A0 AFA20018 */ sw $v0, 0x18($sp) +/* E12B04 802403A4 8E24000C */ lw $a0, 0xc($s1) +/* E12B08 802403A8 0C049DA7 */ jal draw_number +/* E12B0C 802403AC 24A5003F */ addiu $a1, $a1, 0x3f +.L802403B0: +/* E12B10 802403B0 8FBF0058 */ lw $ra, 0x58($sp) +/* E12B14 802403B4 8FB10054 */ lw $s1, 0x54($sp) +/* E12B18 802403B8 8FB00050 */ lw $s0, 0x50($sp) +/* E12B1C 802403BC 03E00008 */ jr $ra +/* E12B20 802403C0 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802403C4_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802403C4_E12760.s new file mode 100644 index 0000000000..2bcbd7aae1 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802403C4_E12760.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_E12B24 +/* E12B24 802403C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E12B28 802403C8 2402002D */ addiu $v0, $zero, 0x2d +/* E12B2C 802403CC AFA20010 */ sw $v0, 0x10($sp) +/* E12B30 802403D0 3C028024 */ lui $v0, 0x8024 +/* E12B34 802403D4 244201D0 */ addiu $v0, $v0, 0x1d0 +/* E12B38 802403D8 27A40010 */ addiu $a0, $sp, 0x10 +/* E12B3C 802403DC AFBF0020 */ sw $ra, 0x20($sp) +/* E12B40 802403E0 AFA00018 */ sw $zero, 0x18($sp) +/* E12B44 802403E4 AFA2001C */ sw $v0, 0x1c($sp) +/* E12B48 802403E8 0C047644 */ jal queue_render_task +/* E12B4C 802403EC AFA00014 */ sw $zero, 0x14($sp) +/* E12B50 802403F0 8FBF0020 */ lw $ra, 0x20($sp) +/* E12B54 802403F4 03E00008 */ jr $ra +/* E12B58 802403F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802403FC_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802403FC_E12760.s new file mode 100644 index 0000000000..4dc0143567 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802403FC_E12760.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC_E12B5C +/* E12B5C 802403FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E12B60 80240400 3C02800A */ lui $v0, %hi(D_8009A650) +/* E12B64 80240404 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* E12B68 80240408 AFBF0010 */ sw $ra, 0x10($sp) +/* E12B6C 8024040C 8C430000 */ lw $v1, ($v0) +/* E12B70 80240410 3C040004 */ lui $a0, 4 +/* E12B74 80240414 00641825 */ or $v1, $v1, $a0 +/* E12B78 80240418 0C03A625 */ jal func_800E9894 +/* E12B7C 8024041C AC430000 */ sw $v1, ($v0) +/* E12B80 80240420 0C03A5EE */ jal func_800E97B8 +/* E12B84 80240424 00000000 */ nop +/* E12B88 80240428 8FBF0010 */ lw $ra, 0x10($sp) +/* E12B8C 8024042C 24020002 */ addiu $v0, $zero, 2 +/* E12B90 80240430 03E00008 */ jr $ra +/* E12B94 80240434 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240438_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240438_E12760.s new file mode 100644 index 0000000000..ba91a71738 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240438_E12760.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240438_E12B98 +/* E12B98 80240438 3C04FFFB */ lui $a0, 0xfffb +/* E12B9C 8024043C 3C03800A */ lui $v1, %hi(D_8009A650) +/* E12BA0 80240440 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* E12BA4 80240444 8C620000 */ lw $v0, ($v1) +/* E12BA8 80240448 3484FFFF */ ori $a0, $a0, 0xffff +/* E12BAC 8024044C 00441024 */ and $v0, $v0, $a0 +/* E12BB0 80240450 AC620000 */ sw $v0, ($v1) +/* E12BB4 80240454 03E00008 */ jr $ra +/* E12BB8 80240458 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_8024045C_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024045C_E12760.s new file mode 100644 index 0000000000..26cfd21b8d --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024045C_E12760.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024045C_E12BBC +/* E12BBC 8024045C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E12BC0 80240460 AFB10014 */ sw $s1, 0x14($sp) +/* E12BC4 80240464 0080882D */ daddu $s1, $a0, $zero +/* E12BC8 80240468 0000202D */ daddu $a0, $zero, $zero +/* E12BCC 8024046C AFBF0018 */ sw $ra, 0x18($sp) +/* E12BD0 80240470 0C00FB3A */ jal get_enemy +/* E12BD4 80240474 AFB00010 */ sw $s0, 0x10($sp) +/* E12BD8 80240478 8E23000C */ lw $v1, 0xc($s1) +/* E12BDC 8024047C 8C650000 */ lw $a1, ($v1) +/* E12BE0 80240480 8C500080 */ lw $s0, 0x80($v0) +/* E12BE4 80240484 0C0B1EAF */ jal get_variable +/* E12BE8 80240488 0220202D */ daddu $a0, $s1, $zero +/* E12BEC 8024048C 0220202D */ daddu $a0, $s1, $zero +/* E12BF0 80240490 3C05FE36 */ lui $a1, 0xfe36 +/* E12BF4 80240494 00021840 */ sll $v1, $v0, 1 +/* E12BF8 80240498 00621821 */ addu $v1, $v1, $v0 +/* E12BFC 8024049C 000318C0 */ sll $v1, $v1, 3 +/* E12C00 802404A0 00621823 */ subu $v1, $v1, $v0 +/* E12C04 802404A4 00031880 */ sll $v1, $v1, 2 +/* E12C08 802404A8 02038021 */ addu $s0, $s0, $v1 +/* E12C0C 802404AC 8E060074 */ lw $a2, 0x74($s0) +/* E12C10 802404B0 0C0B2026 */ jal set_variable +/* E12C14 802404B4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E12C18 802404B8 0220202D */ daddu $a0, $s1, $zero +/* E12C1C 802404BC 3C05FE36 */ lui $a1, 0xfe36 +/* E12C20 802404C0 8E060078 */ lw $a2, 0x78($s0) +/* E12C24 802404C4 0C0B2026 */ jal set_variable +/* E12C28 802404C8 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E12C2C 802404CC 0220202D */ daddu $a0, $s1, $zero +/* E12C30 802404D0 3C05FE36 */ lui $a1, 0xfe36 +/* E12C34 802404D4 8E06007C */ lw $a2, 0x7c($s0) +/* E12C38 802404D8 0C0B2026 */ jal set_variable +/* E12C3C 802404DC 34A53C82 */ ori $a1, $a1, 0x3c82 +/* E12C40 802404E0 0220202D */ daddu $a0, $s1, $zero +/* E12C44 802404E4 3C05FE36 */ lui $a1, 0xfe36 +/* E12C48 802404E8 8E060084 */ lw $a2, 0x84($s0) +/* E12C4C 802404EC 0C0B2026 */ jal set_variable +/* E12C50 802404F0 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E12C54 802404F4 8FBF0018 */ lw $ra, 0x18($sp) +/* E12C58 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* E12C5C 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* E12C60 80240500 24020002 */ addiu $v0, $zero, 2 +/* E12C64 80240504 03E00008 */ jr $ra +/* E12C68 80240508 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_8024050C_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024050C_E12760.s new file mode 100644 index 0000000000..3e74c820e6 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024050C_E12760.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024050C_E12C6C +/* E12C6C 8024050C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E12C70 80240510 AFB10014 */ sw $s1, 0x14($sp) +/* E12C74 80240514 0080882D */ daddu $s1, $a0, $zero +/* E12C78 80240518 0000202D */ daddu $a0, $zero, $zero +/* E12C7C 8024051C AFBF001C */ sw $ra, 0x1c($sp) +/* E12C80 80240520 AFB20018 */ sw $s2, 0x18($sp) +/* E12C84 80240524 0C00FB3A */ jal get_enemy +/* E12C88 80240528 AFB00010 */ sw $s0, 0x10($sp) +/* E12C8C 8024052C 0220202D */ daddu $a0, $s1, $zero +/* E12C90 80240530 8E30000C */ lw $s0, 0xc($s1) +/* E12C94 80240534 8C520080 */ lw $s2, 0x80($v0) +/* E12C98 80240538 8E050000 */ lw $a1, ($s0) +/* E12C9C 8024053C 0C0B1EAF */ jal get_variable +/* E12CA0 80240540 26100004 */ addiu $s0, $s0, 4 +/* E12CA4 80240544 0220202D */ daddu $a0, $s1, $zero +/* E12CA8 80240548 8E050000 */ lw $a1, ($s0) +/* E12CAC 8024054C 0C0B1EAF */ jal get_variable +/* E12CB0 80240550 0040802D */ daddu $s0, $v0, $zero +/* E12CB4 80240554 00101840 */ sll $v1, $s0, 1 +/* E12CB8 80240558 00701821 */ addu $v1, $v1, $s0 +/* E12CBC 8024055C 000318C0 */ sll $v1, $v1, 3 +/* E12CC0 80240560 00701823 */ subu $v1, $v1, $s0 +/* E12CC4 80240564 00031880 */ sll $v1, $v1, 2 +/* E12CC8 80240568 02439021 */ addu $s2, $s2, $v1 +/* E12CCC 8024056C AE420074 */ sw $v0, 0x74($s2) +/* E12CD0 80240570 8FBF001C */ lw $ra, 0x1c($sp) +/* E12CD4 80240574 8FB20018 */ lw $s2, 0x18($sp) +/* E12CD8 80240578 8FB10014 */ lw $s1, 0x14($sp) +/* E12CDC 8024057C 8FB00010 */ lw $s0, 0x10($sp) +/* E12CE0 80240580 24020002 */ addiu $v0, $zero, 2 +/* E12CE4 80240584 03E00008 */ jr $ra +/* E12CE8 80240588 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_8024058C_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024058C_E12760.s new file mode 100644 index 0000000000..41f233445f --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024058C_E12760.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024058C_E12CEC +/* E12CEC 8024058C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E12CF0 80240590 AFB00010 */ sw $s0, 0x10($sp) +/* E12CF4 80240594 0080802D */ daddu $s0, $a0, $zero +/* E12CF8 80240598 AFBF0014 */ sw $ra, 0x14($sp) +/* E12CFC 8024059C 0C00FB3A */ jal get_enemy +/* E12D00 802405A0 0000202D */ daddu $a0, $zero, $zero +/* E12D04 802405A4 8E03000C */ lw $v1, 0xc($s0) +/* E12D08 802405A8 0200202D */ daddu $a0, $s0, $zero +/* E12D0C 802405AC 8C650000 */ lw $a1, ($v1) +/* E12D10 802405B0 0C0B1EAF */ jal get_variable +/* E12D14 802405B4 8C500080 */ lw $s0, 0x80($v0) +/* E12D18 802405B8 00021840 */ sll $v1, $v0, 1 +/* E12D1C 802405BC 00621821 */ addu $v1, $v1, $v0 +/* E12D20 802405C0 000318C0 */ sll $v1, $v1, 3 +/* E12D24 802405C4 00621823 */ subu $v1, $v1, $v0 +/* E12D28 802405C8 00031880 */ sll $v1, $v1, 2 +/* E12D2C 802405CC 02038021 */ addu $s0, $s0, $v1 +/* E12D30 802405D0 8E030080 */ lw $v1, 0x80($s0) +/* E12D34 802405D4 24020005 */ addiu $v0, $zero, 5 +/* E12D38 802405D8 AE00008C */ sw $zero, 0x8c($s0) +/* E12D3C 802405DC AE020090 */ sw $v0, 0x90($s0) +/* E12D40 802405E0 3C028024 */ lui $v0, 0x8024 +/* E12D44 802405E4 00431021 */ addu $v0, $v0, $v1 +/* E12D48 802405E8 80421AC8 */ lb $v0, 0x1ac8($v0) +/* E12D4C 802405EC 44820000 */ mtc1 $v0, $f0 +/* E12D50 802405F0 00000000 */ nop +/* E12D54 802405F4 46800020 */ cvt.s.w $f0, $f0 +/* E12D58 802405F8 E6000094 */ swc1 $f0, 0x94($s0) +/* E12D5C 802405FC 3C028024 */ lui $v0, 0x8024 +/* E12D60 80240600 00431021 */ addu $v0, $v0, $v1 +/* E12D64 80240604 80421AD4 */ lb $v0, 0x1ad4($v0) +/* E12D68 80240608 3C01402E */ lui $at, 0x402e +/* E12D6C 8024060C 44811800 */ mtc1 $at, $f3 +/* E12D70 80240610 44801000 */ mtc1 $zero, $f2 +/* E12D74 80240614 44820000 */ mtc1 $v0, $f0 +/* E12D78 80240618 00000000 */ nop +/* E12D7C 8024061C 46800021 */ cvt.d.w $f0, $f0 +/* E12D80 80240620 46220000 */ add.d $f0, $f0, $f2 +/* E12D84 80240624 3C014000 */ lui $at, 0x4000 +/* E12D88 80240628 44813000 */ mtc1 $at, $f6 +/* E12D8C 8024062C C6020094 */ lwc1 $f2, 0x94($s0) +/* E12D90 80240630 46200020 */ cvt.s.d $f0, $f0 +/* E12D94 80240634 E6000098 */ swc1 $f0, 0x98($s0) +/* E12D98 80240638 3C018024 */ lui $at, 0x8024 +/* E12D9C 8024063C 00230821 */ addu $at, $at, $v1 +/* E12DA0 80240640 80231AE0 */ lb $v1, 0x1ae0($at) +/* E12DA4 80240644 3C013F80 */ lui $at, 0x3f80 +/* E12DA8 80240648 44810000 */ mtc1 $at, $f0 +/* E12DAC 8024064C 46001106 */ mov.s $f4, $f2 +/* E12DB0 80240650 E60400AC */ swc1 $f4, 0xac($s0) +/* E12DB4 80240654 C6040098 */ lwc1 $f4, 0x98($s0) +/* E12DB8 80240658 E60200A0 */ swc1 $f2, 0xa0($s0) +/* E12DBC 8024065C AE0000B8 */ sw $zero, 0xb8($s0) +/* E12DC0 80240660 E60600CC */ swc1 $f6, 0xcc($s0) +/* E12DC4 80240664 2463000C */ addiu $v1, $v1, 0xc +/* E12DC8 80240668 E60000C4 */ swc1 $f0, 0xc4($s0) +/* E12DCC 8024066C E60000C8 */ swc1 $f0, 0xc8($s0) +/* E12DD0 80240670 46002006 */ mov.s $f0, $f4 +/* E12DD4 80240674 44831000 */ mtc1 $v1, $f2 +/* E12DD8 80240678 00000000 */ nop +/* E12DDC 8024067C 468010A0 */ cvt.s.w $f2, $f2 +/* E12DE0 80240680 E602009C */ swc1 $f2, 0x9c($s0) +/* E12DE4 80240684 46001186 */ mov.s $f6, $f2 +/* E12DE8 80240688 3C018024 */ lui $at, 0x8024 +/* E12DEC 8024068C D42235E0 */ ldc1 $f2, 0x35e0($at) +/* E12DF0 80240690 46000021 */ cvt.d.s $f0, $f0 +/* E12DF4 80240694 E60400A4 */ swc1 $f4, 0xa4($s0) +/* E12DF8 80240698 46003106 */ mov.s $f4, $f6 +/* E12DFC 8024069C 46220000 */ add.d $f0, $f0, $f2 +/* E12E00 802406A0 E60600A8 */ swc1 $f6, 0xa8($s0) +/* E12E04 802406A4 E60400B4 */ swc1 $f4, 0xb4($s0) +/* E12E08 802406A8 46200020 */ cvt.s.d $f0, $f0 +/* E12E0C 802406AC E60000B0 */ swc1 $f0, 0xb0($s0) +/* E12E10 802406B0 8FBF0014 */ lw $ra, 0x14($sp) +/* E12E14 802406B4 8FB00010 */ lw $s0, 0x10($sp) +/* E12E18 802406B8 24020002 */ addiu $v0, $zero, 2 +/* E12E1C 802406BC 03E00008 */ jr $ra +/* E12E20 802406C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802406C4_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802406C4_E12760.s new file mode 100644 index 0000000000..2979b8c327 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802406C4_E12760.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4_E12E24 +/* E12E24 802406C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E12E28 802406C8 AFB1001C */ sw $s1, 0x1c($sp) +/* E12E2C 802406CC 0080882D */ daddu $s1, $a0, $zero +/* E12E30 802406D0 0000202D */ daddu $a0, $zero, $zero +/* E12E34 802406D4 AFBF0020 */ sw $ra, 0x20($sp) +/* E12E38 802406D8 0C00FB3A */ jal get_enemy +/* E12E3C 802406DC AFB00018 */ sw $s0, 0x18($sp) +/* E12E40 802406E0 8E23000C */ lw $v1, 0xc($s1) +/* E12E44 802406E4 8C650000 */ lw $a1, ($v1) +/* E12E48 802406E8 8C500080 */ lw $s0, 0x80($v0) +/* E12E4C 802406EC 0C0B1EAF */ jal get_variable +/* E12E50 802406F0 0220202D */ daddu $a0, $s1, $zero +/* E12E54 802406F4 00021840 */ sll $v1, $v0, 1 +/* E12E58 802406F8 00621821 */ addu $v1, $v1, $v0 +/* E12E5C 802406FC 000318C0 */ sll $v1, $v1, 3 +/* E12E60 80240700 00621823 */ subu $v1, $v1, $v0 +/* E12E64 80240704 00031880 */ sll $v1, $v1, 2 +/* E12E68 80240708 02038021 */ addu $s0, $s0, $v1 +/* E12E6C 8024070C 8E020090 */ lw $v0, 0x90($s0) +/* E12E70 80240710 AFA20010 */ sw $v0, 0x10($sp) +/* E12E74 80240714 8E0500A0 */ lw $a1, 0xa0($s0) +/* E12E78 80240718 8E0600AC */ lw $a2, 0xac($s0) +/* E12E7C 8024071C 8E07008C */ lw $a3, 0x8c($s0) +/* E12E80 80240720 0C00A8ED */ jal update_lerp +/* E12E84 80240724 24040004 */ addiu $a0, $zero, 4 +/* E12E88 80240728 8E020090 */ lw $v0, 0x90($s0) +/* E12E8C 8024072C E6000094 */ swc1 $f0, 0x94($s0) +/* E12E90 80240730 AFA20010 */ sw $v0, 0x10($sp) +/* E12E94 80240734 8E0500A4 */ lw $a1, 0xa4($s0) +/* E12E98 80240738 8E0600B0 */ lw $a2, 0xb0($s0) +/* E12E9C 8024073C 8E07008C */ lw $a3, 0x8c($s0) +/* E12EA0 80240740 0C00A8ED */ jal update_lerp +/* E12EA4 80240744 24040004 */ addiu $a0, $zero, 4 +/* E12EA8 80240748 8E020090 */ lw $v0, 0x90($s0) +/* E12EAC 8024074C E6000098 */ swc1 $f0, 0x98($s0) +/* E12EB0 80240750 AFA20010 */ sw $v0, 0x10($sp) +/* E12EB4 80240754 8E0500A8 */ lw $a1, 0xa8($s0) +/* E12EB8 80240758 8E0600B4 */ lw $a2, 0xb4($s0) +/* E12EBC 8024075C 8E07008C */ lw $a3, 0x8c($s0) +/* E12EC0 80240760 0C00A8ED */ jal update_lerp +/* E12EC4 80240764 24040004 */ addiu $a0, $zero, 4 +/* E12EC8 80240768 8E020090 */ lw $v0, 0x90($s0) +/* E12ECC 8024076C E600009C */ swc1 $f0, 0x9c($s0) +/* E12ED0 80240770 AFA20010 */ sw $v0, 0x10($sp) +/* E12ED4 80240774 8E0500C8 */ lw $a1, 0xc8($s0) +/* E12ED8 80240778 8E0600CC */ lw $a2, 0xcc($s0) +/* E12EDC 8024077C 8E07008C */ lw $a3, 0x8c($s0) +/* E12EE0 80240780 0C00A8ED */ jal update_lerp +/* E12EE4 80240784 0000202D */ daddu $a0, $zero, $zero +/* E12EE8 80240788 8E02008C */ lw $v0, 0x8c($s0) +/* E12EEC 8024078C 8E030090 */ lw $v1, 0x90($s0) +/* E12EF0 80240790 E60000C4 */ swc1 $f0, 0xc4($s0) +/* E12EF4 80240794 24420001 */ addiu $v0, $v0, 1 +/* E12EF8 80240798 AE02008C */ sw $v0, 0x8c($s0) +/* E12EFC 8024079C 0043102A */ slt $v0, $v0, $v1 +/* E12F00 802407A0 14400005 */ bnez $v0, .L802407B8 +/* E12F04 802407A4 0220202D */ daddu $a0, $s1, $zero +/* E12F08 802407A8 3C05FE36 */ lui $a1, 0xfe36 +/* E12F0C 802407AC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E12F10 802407B0 080901F1 */ j .L802407C4 +/* E12F14 802407B4 24060001 */ addiu $a2, $zero, 1 +.L802407B8: +/* E12F18 802407B8 3C05FE36 */ lui $a1, 0xfe36 +/* E12F1C 802407BC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E12F20 802407C0 0000302D */ daddu $a2, $zero, $zero +.L802407C4: +/* E12F24 802407C4 0C0B2026 */ jal set_variable +/* E12F28 802407C8 00000000 */ nop +/* E12F2C 802407CC 8FBF0020 */ lw $ra, 0x20($sp) +/* E12F30 802407D0 8FB1001C */ lw $s1, 0x1c($sp) +/* E12F34 802407D4 8FB00018 */ lw $s0, 0x18($sp) +/* E12F38 802407D8 24020002 */ addiu $v0, $zero, 2 +/* E12F3C 802407DC 03E00008 */ jr $ra +/* E12F40 802407E0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802407E4_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802407E4_E12760.s new file mode 100644 index 0000000000..68d2a731c2 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802407E4_E12760.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407E4_E12F44 +/* E12F44 802407E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E12F48 802407E8 AFB00010 */ sw $s0, 0x10($sp) +/* E12F4C 802407EC 0080802D */ daddu $s0, $a0, $zero +/* E12F50 802407F0 AFBF0014 */ sw $ra, 0x14($sp) +/* E12F54 802407F4 0C00FB3A */ jal get_enemy +/* E12F58 802407F8 0000202D */ daddu $a0, $zero, $zero +/* E12F5C 802407FC 8E03000C */ lw $v1, 0xc($s0) +/* E12F60 80240800 0200202D */ daddu $a0, $s0, $zero +/* E12F64 80240804 8C650000 */ lw $a1, ($v1) +/* E12F68 80240808 0C0B1EAF */ jal get_variable +/* E12F6C 8024080C 8C500080 */ lw $s0, 0x80($v0) +/* E12F70 80240810 0040202D */ daddu $a0, $v0, $zero +/* E12F74 80240814 24020002 */ addiu $v0, $zero, 2 +/* E12F78 80240818 00041840 */ sll $v1, $a0, 1 +/* E12F7C 8024081C 00641821 */ addu $v1, $v1, $a0 +/* E12F80 80240820 000318C0 */ sll $v1, $v1, 3 +/* E12F84 80240824 00641823 */ subu $v1, $v1, $a0 +/* E12F88 80240828 00431804 */ sllv $v1, $v1, $v0 +/* E12F8C 8024082C 02038021 */ addu $s0, $s0, $v1 +/* E12F90 80240830 2403000A */ addiu $v1, $zero, 0xa +/* E12F94 80240834 AE00008C */ sw $zero, 0x8c($s0) +/* E12F98 80240838 AE030090 */ sw $v1, 0x90($s0) +/* E12F9C 8024083C 8FBF0014 */ lw $ra, 0x14($sp) +/* E12FA0 80240840 8FB00010 */ lw $s0, 0x10($sp) +/* E12FA4 80240844 03E00008 */ jr $ra +/* E12FA8 80240848 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_8024084C_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024084C_E12760.s new file mode 100644 index 0000000000..f90434d41d --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_8024084C_E12760.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024084C_E12FAC +/* E12FAC 8024084C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E12FB0 80240850 AFB10014 */ sw $s1, 0x14($sp) +/* E12FB4 80240854 0080882D */ daddu $s1, $a0, $zero +/* E12FB8 80240858 0000202D */ daddu $a0, $zero, $zero +/* E12FBC 8024085C AFBF0018 */ sw $ra, 0x18($sp) +/* E12FC0 80240860 0C00FB3A */ jal get_enemy +/* E12FC4 80240864 AFB00010 */ sw $s0, 0x10($sp) +/* E12FC8 80240868 8E23000C */ lw $v1, 0xc($s1) +/* E12FCC 8024086C 8C650000 */ lw $a1, ($v1) +/* E12FD0 80240870 8C500080 */ lw $s0, 0x80($v0) +/* E12FD4 80240874 0C0B1EAF */ jal get_variable +/* E12FD8 80240878 0220202D */ daddu $a0, $s1, $zero +/* E12FDC 8024087C 00021840 */ sll $v1, $v0, 1 +/* E12FE0 80240880 00621821 */ addu $v1, $v1, $v0 +/* E12FE4 80240884 000318C0 */ sll $v1, $v1, 3 +/* E12FE8 80240888 00621823 */ subu $v1, $v1, $v0 +/* E12FEC 8024088C 00031880 */ sll $v1, $v1, 2 +/* E12FF0 80240890 02038021 */ addu $s0, $s0, $v1 +/* E12FF4 80240894 8E02008C */ lw $v0, 0x8c($s0) +/* E12FF8 80240898 8E030090 */ lw $v1, 0x90($s0) +/* E12FFC 8024089C 24420001 */ addiu $v0, $v0, 1 +/* E13000 802408A0 AE02008C */ sw $v0, 0x8c($s0) +/* E13004 802408A4 0043102A */ slt $v0, $v0, $v1 +/* E13008 802408A8 14400005 */ bnez $v0, .L802408C0 +/* E1300C 802408AC 0220202D */ daddu $a0, $s1, $zero +/* E13010 802408B0 3C05FE36 */ lui $a1, 0xfe36 +/* E13014 802408B4 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E13018 802408B8 08090233 */ j .L802408CC +/* E1301C 802408BC 24060001 */ addiu $a2, $zero, 1 +.L802408C0: +/* E13020 802408C0 3C05FE36 */ lui $a1, 0xfe36 +/* E13024 802408C4 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E13028 802408C8 0000302D */ daddu $a2, $zero, $zero +.L802408CC: +/* E1302C 802408CC 0C0B2026 */ jal set_variable +/* E13030 802408D0 00000000 */ nop +/* E13034 802408D4 8FBF0018 */ lw $ra, 0x18($sp) +/* E13038 802408D8 8FB10014 */ lw $s1, 0x14($sp) +/* E1303C 802408DC 8FB00010 */ lw $s0, 0x10($sp) +/* E13040 802408E0 24020002 */ addiu $v0, $zero, 2 +/* E13044 802408E4 03E00008 */ jr $ra +/* E13048 802408E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802408EC.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802408EC.s new file mode 100644 index 0000000000..9caa93a3f0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802408EC.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408EC +/* E1304C 802408EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E13050 802408F0 AFB00018 */ sw $s0, 0x18($sp) +/* E13054 802408F4 0080802D */ daddu $s0, $a0, $zero +/* E13058 802408F8 AFBF001C */ sw $ra, 0x1c($sp) +/* E1305C 802408FC 0C00FB3A */ jal get_enemy +/* E13060 80240900 0000202D */ daddu $a0, $zero, $zero +/* E13064 80240904 8E03000C */ lw $v1, 0xc($s0) +/* E13068 80240908 0200202D */ daddu $a0, $s0, $zero +/* E1306C 8024090C 8C650000 */ lw $a1, ($v1) +/* E13070 80240910 0C0B1EAF */ jal get_variable +/* E13074 80240914 8C500080 */ lw $s0, 0x80($v0) +/* E13078 80240918 0040282D */ daddu $a1, $v0, $zero +/* E1307C 8024091C 00051040 */ sll $v0, $a1, 1 +/* E13080 80240920 00451021 */ addu $v0, $v0, $a1 +/* E13084 80240924 000210C0 */ sll $v0, $v0, 3 +/* E13088 80240928 00451023 */ subu $v0, $v0, $a1 +/* E1308C 8024092C 00021080 */ sll $v0, $v0, 2 +/* E13090 80240930 02022021 */ addu $a0, $s0, $v0 +/* E13094 80240934 C4800094 */ lwc1 $f0, 0x94($a0) +/* E13098 80240938 C4820098 */ lwc1 $f2, 0x98($a0) +/* E1309C 8024093C C484009C */ lwc1 $f4, 0x9c($a0) +/* E130A0 80240940 C48600C4 */ lwc1 $f6, 0xc4($a0) +/* E130A4 80240944 8C83007C */ lw $v1, 0x7c($a0) +/* E130A8 80240948 24020003 */ addiu $v0, $zero, 3 +/* E130AC 8024094C AC80008C */ sw $zero, 0x8c($a0) +/* E130B0 80240950 AC8000B8 */ sw $zero, 0xb8($a0) +/* E130B4 80240954 AC8000BC */ sw $zero, 0xbc($a0) +/* E130B8 80240958 E48000A0 */ swc1 $f0, 0xa0($a0) +/* E130BC 8024095C E48200A4 */ swc1 $f2, 0xa4($a0) +/* E130C0 80240960 E48400A8 */ swc1 $f4, 0xa8($a0) +/* E130C4 80240964 10620017 */ beq $v1, $v0, .L802409C4 +/* E130C8 80240968 E48600C8 */ swc1 $f6, 0xc8($a0) +/* E130CC 8024096C 8C820084 */ lw $v0, 0x84($a0) +/* E130D0 80240970 3C0142DC */ lui $at, 0x42dc +/* E130D4 80240974 44812000 */ mtc1 $at, $f4 +/* E130D8 80240978 00021080 */ sll $v0, $v0, 2 +/* E130DC 8024097C 3C018024 */ lui $at, 0x8024 +/* E130E0 80240980 00220821 */ addu $at, $at, $v0 +/* E130E4 80240984 C4201AEC */ lwc1 $f0, 0x1aec($at) +/* E130E8 80240988 8C820084 */ lw $v0, 0x84($a0) +/* E130EC 8024098C 3C013F80 */ lui $at, 0x3f80 +/* E130F0 80240990 44811000 */ mtc1 $at, $f2 +/* E130F4 80240994 00021080 */ sll $v0, $v0, 2 +/* E130F8 80240998 E48000AC */ swc1 $f0, 0xac($a0) +/* E130FC 8024099C 3C018024 */ lui $at, 0x8024 +/* E13100 802409A0 00220821 */ addu $at, $at, $v0 +/* E13104 802409A4 C4261B18 */ lwc1 $f6, 0x1b18($at) +/* E13108 802409A8 3C0143B4 */ lui $at, 0x43b4 +/* E1310C 802409AC 44810000 */ mtc1 $at, $f0 +/* E13110 802409B0 E48400B4 */ swc1 $f4, 0xb4($a0) +/* E13114 802409B4 E48200CC */ swc1 $f2, 0xcc($a0) +/* E13118 802409B8 E48000C0 */ swc1 $f0, 0xc0($a0) +/* E1311C 802409BC 0809027E */ j .L802409F8 +/* E13120 802409C0 E48600B0 */ swc1 $f6, 0xb0($a0) +.L802409C4: +/* E13124 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* E13128 802409C8 44810000 */ mtc1 $at, $f0 +/* E1312C 802409CC 3C0142F0 */ lui $at, 0x42f0 +/* E13130 802409D0 44811000 */ mtc1 $at, $f2 +/* E13134 802409D4 3C014434 */ lui $at, 0x4434 +/* E13138 802409D8 44812000 */ mtc1 $at, $f4 +/* E1313C 802409DC 3C014080 */ lui $at, 0x4080 +/* E13140 802409E0 44813000 */ mtc1 $at, $f6 +/* E13144 802409E4 AC8000AC */ sw $zero, 0xac($a0) +/* E13148 802409E8 E48000B0 */ swc1 $f0, 0xb0($a0) +/* E1314C 802409EC E48200B4 */ swc1 $f2, 0xb4($a0) +/* E13150 802409F0 E48400C0 */ swc1 $f4, 0xc0($a0) +/* E13154 802409F4 E48600CC */ swc1 $f6, 0xcc($a0) +.L802409F8: +/* E13158 802409F8 00051040 */ sll $v0, $a1, 1 +/* E1315C 802409FC 00451021 */ addu $v0, $v0, $a1 +/* E13160 80240A00 000210C0 */ sll $v0, $v0, 3 +/* E13164 80240A04 00451023 */ subu $v0, $v0, $a1 +/* E13168 80240A08 00021080 */ sll $v0, $v0, 2 +/* E1316C 80240A0C 02028021 */ addu $s0, $s0, $v0 +/* E13170 80240A10 C60000B0 */ lwc1 $f0, 0xb0($s0) +/* E13174 80240A14 E7A00010 */ swc1 $f0, 0x10($sp) +/* E13178 80240A18 C60000B4 */ lwc1 $f0, 0xb4($s0) +/* E1317C 80240A1C E7A00014 */ swc1 $f0, 0x14($sp) +/* E13180 80240A20 C60C00A0 */ lwc1 $f12, 0xa0($s0) +/* E13184 80240A24 C60E00A4 */ lwc1 $f14, 0xa4($s0) +/* E13188 80240A28 8E0600A8 */ lw $a2, 0xa8($s0) +/* E1318C 80240A2C 0C00A7CB */ jal dist3D +/* E13190 80240A30 8E0700AC */ lw $a3, 0xac($s0) +/* E13194 80240A34 8E03007C */ lw $v1, 0x7c($s0) +/* E13198 80240A38 24020003 */ addiu $v0, $zero, 3 +/* E1319C 80240A3C 1062000C */ beq $v1, $v0, .L80240A70 +/* E131A0 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* E131A4 80240A44 3C013FC0 */ lui $at, 0x3fc0 +/* E131A8 80240A48 44811800 */ mtc1 $at, $f3 +/* E131AC 80240A4C 44801000 */ mtc1 $zero, $f2 +/* E131B0 80240A50 00000000 */ nop +/* E131B4 80240A54 46220002 */ mul.d $f0, $f0, $f2 +/* E131B8 80240A58 00000000 */ nop +/* E131BC 80240A5C 3C013FE0 */ lui $at, 0x3fe0 +/* E131C0 80240A60 44811800 */ mtc1 $at, $f3 +/* E131C4 80240A64 44801000 */ mtc1 $zero, $f2 +/* E131C8 80240A68 080902A4 */ j .L80240A90 +/* E131CC 80240A6C 46220000 */ add.d $f0, $f0, $f2 +.L80240A70: +/* E131D0 80240A70 3C014014 */ lui $at, 0x4014 +/* E131D4 80240A74 44811800 */ mtc1 $at, $f3 +/* E131D8 80240A78 44801000 */ mtc1 $zero, $f2 +/* E131DC 80240A7C 3C013FE0 */ lui $at, 0x3fe0 +/* E131E0 80240A80 44812800 */ mtc1 $at, $f5 +/* E131E4 80240A84 44802000 */ mtc1 $zero, $f4 +/* E131E8 80240A88 46220003 */ div.d $f0, $f0, $f2 +/* E131EC 80240A8C 46240000 */ add.d $f0, $f0, $f4 +.L80240A90: +/* E131F0 80240A90 4620020D */ trunc.w.d $f8, $f0 +/* E131F4 80240A94 E6080090 */ swc1 $f8, 0x90($s0) +/* E131F8 80240A98 8FBF001C */ lw $ra, 0x1c($sp) +/* E131FC 80240A9C 8FB00018 */ lw $s0, 0x18($sp) +/* E13200 80240AA0 24020002 */ addiu $v0, $zero, 2 +/* E13204 80240AA4 03E00008 */ jr $ra +/* E13208 80240AA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240AAC_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240AAC_E12760.s new file mode 100644 index 0000000000..5e92276f86 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240AAC_E12760.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_E1320C +/* E1320C 80240AAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E13210 80240AB0 AFB1001C */ sw $s1, 0x1c($sp) +/* E13214 80240AB4 0080882D */ daddu $s1, $a0, $zero +/* E13218 80240AB8 0000202D */ daddu $a0, $zero, $zero +/* E1321C 80240ABC AFBF0020 */ sw $ra, 0x20($sp) +/* E13220 80240AC0 0C00FB3A */ jal get_enemy +/* E13224 80240AC4 AFB00018 */ sw $s0, 0x18($sp) +/* E13228 80240AC8 8E23000C */ lw $v1, 0xc($s1) +/* E1322C 80240ACC 8C650000 */ lw $a1, ($v1) +/* E13230 80240AD0 8C500080 */ lw $s0, 0x80($v0) +/* E13234 80240AD4 0C0B1EAF */ jal get_variable +/* E13238 80240AD8 0220202D */ daddu $a0, $s1, $zero +/* E1323C 80240ADC 00021840 */ sll $v1, $v0, 1 +/* E13240 80240AE0 00621821 */ addu $v1, $v1, $v0 +/* E13244 80240AE4 000318C0 */ sll $v1, $v1, 3 +/* E13248 80240AE8 00621823 */ subu $v1, $v1, $v0 +/* E1324C 80240AEC 00031880 */ sll $v1, $v1, 2 +/* E13250 80240AF0 02038021 */ addu $s0, $s0, $v1 +/* E13254 80240AF4 8E02008C */ lw $v0, 0x8c($s0) +/* E13258 80240AF8 8E030090 */ lw $v1, 0x90($s0) +/* E1325C 80240AFC 24420001 */ addiu $v0, $v0, 1 +/* E13260 80240B00 AE02008C */ sw $v0, 0x8c($s0) +/* E13264 80240B04 AFA30010 */ sw $v1, 0x10($sp) +/* E13268 80240B08 8E0500A0 */ lw $a1, 0xa0($s0) +/* E1326C 80240B0C 8E0600AC */ lw $a2, 0xac($s0) +/* E13270 80240B10 8E07008C */ lw $a3, 0x8c($s0) +/* E13274 80240B14 0C00A8ED */ jal update_lerp +/* E13278 80240B18 24040004 */ addiu $a0, $zero, 4 +/* E1327C 80240B1C 8E020090 */ lw $v0, 0x90($s0) +/* E13280 80240B20 E6000094 */ swc1 $f0, 0x94($s0) +/* E13284 80240B24 AFA20010 */ sw $v0, 0x10($sp) +/* E13288 80240B28 8E0500A4 */ lw $a1, 0xa4($s0) +/* E1328C 80240B2C 8E0600B0 */ lw $a2, 0xb0($s0) +/* E13290 80240B30 8E07008C */ lw $a3, 0x8c($s0) +/* E13294 80240B34 0C00A8ED */ jal update_lerp +/* E13298 80240B38 24040004 */ addiu $a0, $zero, 4 +/* E1329C 80240B3C 8E020090 */ lw $v0, 0x90($s0) +/* E132A0 80240B40 E6000098 */ swc1 $f0, 0x98($s0) +/* E132A4 80240B44 AFA20010 */ sw $v0, 0x10($sp) +/* E132A8 80240B48 8E0500A8 */ lw $a1, 0xa8($s0) +/* E132AC 80240B4C 8E0600B4 */ lw $a2, 0xb4($s0) +/* E132B0 80240B50 8E07008C */ lw $a3, 0x8c($s0) +/* E132B4 80240B54 0C00A8ED */ jal update_lerp +/* E132B8 80240B58 0000202D */ daddu $a0, $zero, $zero +/* E132BC 80240B5C 8E020090 */ lw $v0, 0x90($s0) +/* E132C0 80240B60 E600009C */ swc1 $f0, 0x9c($s0) +/* E132C4 80240B64 AFA20010 */ sw $v0, 0x10($sp) +/* E132C8 80240B68 8E0500BC */ lw $a1, 0xbc($s0) +/* E132CC 80240B6C 8E0600C0 */ lw $a2, 0xc0($s0) +/* E132D0 80240B70 8E07008C */ lw $a3, 0x8c($s0) +/* E132D4 80240B74 0C00A8ED */ jal update_lerp +/* E132D8 80240B78 0000202D */ daddu $a0, $zero, $zero +/* E132DC 80240B7C 8E020090 */ lw $v0, 0x90($s0) +/* E132E0 80240B80 E60000B8 */ swc1 $f0, 0xb8($s0) +/* E132E4 80240B84 AFA20010 */ sw $v0, 0x10($sp) +/* E132E8 80240B88 8E0500C8 */ lw $a1, 0xc8($s0) +/* E132EC 80240B8C 8E0600CC */ lw $a2, 0xcc($s0) +/* E132F0 80240B90 8E07008C */ lw $a3, 0x8c($s0) +/* E132F4 80240B94 0C00A8ED */ jal update_lerp +/* E132F8 80240B98 0000202D */ daddu $a0, $zero, $zero +/* E132FC 80240B9C 8E02008C */ lw $v0, 0x8c($s0) +/* E13300 80240BA0 8E030090 */ lw $v1, 0x90($s0) +/* E13304 80240BA4 0043102A */ slt $v0, $v0, $v1 +/* E13308 80240BA8 14400006 */ bnez $v0, .L80240BC4 +/* E1330C 80240BAC E60000C4 */ swc1 $f0, 0xc4($s0) +/* E13310 80240BB0 0220202D */ daddu $a0, $s1, $zero +/* E13314 80240BB4 3C05FE36 */ lui $a1, 0xfe36 +/* E13318 80240BB8 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E1331C 80240BBC 080902F5 */ j .L80240BD4 +/* E13320 80240BC0 24060001 */ addiu $a2, $zero, 1 +.L80240BC4: +/* E13324 80240BC4 0220202D */ daddu $a0, $s1, $zero +/* E13328 80240BC8 3C05FE36 */ lui $a1, 0xfe36 +/* E1332C 80240BCC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* E13330 80240BD0 0000302D */ daddu $a2, $zero, $zero +.L80240BD4: +/* E13334 80240BD4 0C0B2026 */ jal set_variable +/* E13338 80240BD8 00000000 */ nop +/* E1333C 80240BDC 8FBF0020 */ lw $ra, 0x20($sp) +/* E13340 80240BE0 8FB1001C */ lw $s1, 0x1c($sp) +/* E13344 80240BE4 8FB00018 */ lw $s0, 0x18($sp) +/* E13348 80240BE8 24020002 */ addiu $v0, $zero, 2 +/* E1334C 80240BEC 03E00008 */ jr $ra +/* E13350 80240BF0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240BF4_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240BF4_E12760.s new file mode 100644 index 0000000000..f1d68d827c --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240BF4_E12760.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF4_E13354 +/* E13354 80240BF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13358 80240BF8 AFB00010 */ sw $s0, 0x10($sp) +/* E1335C 80240BFC 0080802D */ daddu $s0, $a0, $zero +/* E13360 80240C00 AFBF0014 */ sw $ra, 0x14($sp) +/* E13364 80240C04 0C00FB3A */ jal get_enemy +/* E13368 80240C08 0000202D */ daddu $a0, $zero, $zero +/* E1336C 80240C0C 8E03000C */ lw $v1, 0xc($s0) +/* E13370 80240C10 0200202D */ daddu $a0, $s0, $zero +/* E13374 80240C14 8C650000 */ lw $a1, ($v1) +/* E13378 80240C18 0C0B1EAF */ jal get_variable +/* E1337C 80240C1C 8C500080 */ lw $s0, 0x80($v0) +/* E13380 80240C20 0040202D */ daddu $a0, $v0, $zero +/* E13384 80240C24 24020002 */ addiu $v0, $zero, 2 +/* E13388 80240C28 00041840 */ sll $v1, $a0, 1 +/* E1338C 80240C2C 00641821 */ addu $v1, $v1, $a0 +/* E13390 80240C30 000318C0 */ sll $v1, $v1, 3 +/* E13394 80240C34 00641823 */ subu $v1, $v1, $a0 +/* E13398 80240C38 00431804 */ sllv $v1, $v1, $v0 +/* E1339C 80240C3C 02038021 */ addu $s0, $s0, $v1 +/* E133A0 80240C40 AE0000B8 */ sw $zero, 0xb8($s0) +/* E133A4 80240C44 8FBF0014 */ lw $ra, 0x14($sp) +/* E133A8 80240C48 8FB00010 */ lw $s0, 0x10($sp) +/* E133AC 80240C4C 03E00008 */ jr $ra +/* E133B0 80240C50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240C54_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240C54_E12760.s new file mode 100644 index 0000000000..c394ad9a0c --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240C54_E12760.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C54_E133B4 +/* E133B4 80240C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E133B8 80240C58 AFBF0010 */ sw $ra, 0x10($sp) +/* E133BC 80240C5C 0C00FB3A */ jal get_enemy +/* E133C0 80240C60 0000202D */ daddu $a0, $zero, $zero +/* E133C4 80240C64 3C060001 */ lui $a2, 1 +/* E133C8 80240C68 3C058011 */ lui $a1, %hi(gPlayerData) +/* E133CC 80240C6C 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* E133D0 80240C70 34C6869F */ ori $a2, $a2, 0x869f +/* E133D4 80240C74 8C440080 */ lw $a0, 0x80($v0) +/* E133D8 80240C78 8CA20330 */ lw $v0, 0x330($a1) +/* E133DC 80240C7C 8C83000C */ lw $v1, 0xc($a0) +/* E133E0 80240C80 00431021 */ addu $v0, $v0, $v1 +/* E133E4 80240C84 ACA20330 */ sw $v0, 0x330($a1) +/* E133E8 80240C88 00C2102B */ sltu $v0, $a2, $v0 +/* E133EC 80240C8C 10400002 */ beqz $v0, .L80240C98 +/* E133F0 80240C90 00A0382D */ daddu $a3, $a1, $zero +/* E133F4 80240C94 ACA60330 */ sw $a2, 0x330($a1) +.L80240C98: +/* E133F8 80240C98 94E20334 */ lhu $v0, 0x334($a3) +/* E133FC 80240C9C 8C83000C */ lw $v1, 0xc($a0) +/* E13400 80240CA0 0043102A */ slt $v0, $v0, $v1 +/* E13404 80240CA4 10400003 */ beqz $v0, .L80240CB4 +/* E13408 80240CA8 00000000 */ nop +/* E1340C 80240CAC 9482000E */ lhu $v0, 0xe($a0) +/* E13410 80240CB0 A4E20334 */ sh $v0, 0x334($a3) +.L80240CB4: +/* E13414 80240CB4 8C84000C */ lw $a0, 0xc($a0) +/* E13418 80240CB8 0C0496FA */ jal set_message_value +/* E1341C 80240CBC 0000282D */ daddu $a1, $zero, $zero +/* E13420 80240CC0 8FBF0010 */ lw $ra, 0x10($sp) +/* E13424 80240CC4 24020002 */ addiu $v0, $zero, 2 +/* E13428 80240CC8 03E00008 */ jr $ra +/* E1342C 80240CCC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240CD0_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240CD0_E12760.s new file mode 100644 index 0000000000..c6c3a06f53 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240CD0_E12760.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD0_E13430 +/* E13430 80240CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13434 80240CD4 0000202D */ daddu $a0, $zero, $zero +/* E13438 80240CD8 AFBF0014 */ sw $ra, 0x14($sp) +/* E1343C 80240CDC 0C00FB3A */ jal get_enemy +/* E13440 80240CE0 AFB00010 */ sw $s0, 0x10($sp) +/* E13444 80240CE4 8C500080 */ lw $s0, 0x80($v0) +/* E13448 80240CE8 8E03000C */ lw $v1, 0xc($s0) +/* E1344C 80240CEC 28620065 */ slti $v0, $v1, 0x65 +/* E13450 80240CF0 14400003 */ bnez $v0, .L80240D00 +/* E13454 80240CF4 2862004C */ slti $v0, $v1, 0x4c +/* E13458 80240CF8 08090352 */ j .L80240D48 +/* E1345C 80240CFC 24040028 */ addiu $a0, $zero, 0x28 +.L80240D00: +/* E13460 80240D00 14400003 */ bnez $v0, .L80240D10 +/* E13464 80240D04 28620033 */ slti $v0, $v1, 0x33 +/* E13468 80240D08 08090352 */ j .L80240D48 +/* E1346C 80240D0C 24040023 */ addiu $a0, $zero, 0x23 +.L80240D10: +/* E13470 80240D10 14400003 */ bnez $v0, .L80240D20 +/* E13474 80240D14 2862001F */ slti $v0, $v1, 0x1f +/* E13478 80240D18 08090352 */ j .L80240D48 +/* E1347C 80240D1C 2404001E */ addiu $a0, $zero, 0x1e +.L80240D20: +/* E13480 80240D20 14400003 */ bnez $v0, .L80240D30 +/* E13484 80240D24 28620015 */ slti $v0, $v1, 0x15 +/* E13488 80240D28 08090352 */ j .L80240D48 +/* E1348C 80240D2C 2404000A */ addiu $a0, $zero, 0xa +.L80240D30: +/* E13490 80240D30 10400005 */ beqz $v0, .L80240D48 +/* E13494 80240D34 24040005 */ addiu $a0, $zero, 5 +/* E13498 80240D38 2862000B */ slti $v0, $v1, 0xb +/* E1349C 80240D3C 14400002 */ bnez $v0, .L80240D48 +/* E134A0 80240D40 24040001 */ addiu $a0, $zero, 1 +/* E134A4 80240D44 24040002 */ addiu $a0, $zero, 2 +.L80240D48: +/* E134A8 80240D48 8E02000C */ lw $v0, 0xc($s0) +/* E134AC 80240D4C 00441023 */ subu $v0, $v0, $a0 +/* E134B0 80240D50 0C03A830 */ jal add_coins +/* E134B4 80240D54 AE02000C */ sw $v0, 0xc($s0) +/* E134B8 80240D58 8E02000C */ lw $v0, 0xc($s0) +/* E134BC 80240D5C 24040211 */ addiu $a0, $zero, 0x211 +/* E134C0 80240D60 0C05272D */ jal play_sound +/* E134C4 80240D64 AE020010 */ sw $v0, 0x10($s0) +/* E134C8 80240D68 8E02000C */ lw $v0, 0xc($s0) +/* E134CC 80240D6C 8FBF0014 */ lw $ra, 0x14($sp) +/* E134D0 80240D70 8FB00010 */ lw $s0, 0x10($sp) +/* E134D4 80240D74 28420001 */ slti $v0, $v0, 1 +/* E134D8 80240D78 00021040 */ sll $v0, $v0, 1 +/* E134DC 80240D7C 03E00008 */ jr $ra +/* E134E0 80240D80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240D84_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240D84_E12760.s new file mode 100644 index 0000000000..35d1627214 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240D84_E12760.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D84_E134E4 +/* E134E4 80240D84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E134E8 80240D88 AFBF0010 */ sw $ra, 0x10($sp) +/* E134EC 80240D8C 0C00FB3A */ jal get_enemy +/* E134F0 80240D90 0000202D */ daddu $a0, $zero, $zero +/* E134F4 80240D94 8C440080 */ lw $a0, 0x80($v0) +/* E134F8 80240D98 8C83000C */ lw $v1, 0xc($a0) +/* E134FC 80240D9C 00031840 */ sll $v1, $v1, 1 +/* E13500 80240DA0 AC83000C */ sw $v1, 0xc($a0) +/* E13504 80240DA4 AC830010 */ sw $v1, 0x10($a0) +/* E13508 80240DA8 8FBF0010 */ lw $ra, 0x10($sp) +/* E1350C 80240DAC 24020002 */ addiu $v0, $zero, 2 +/* E13510 80240DB0 03E00008 */ jr $ra +/* E13514 80240DB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240DB8.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240DB8.s new file mode 100644 index 0000000000..e9215129c8 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240DB8.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DB8 +/* E13518 80240DB8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E1351C 80240DBC AFB10014 */ sw $s1, 0x14($sp) +/* E13520 80240DC0 0080882D */ daddu $s1, $a0, $zero +/* E13524 80240DC4 0000202D */ daddu $a0, $zero, $zero +/* E13528 80240DC8 AFBF0018 */ sw $ra, 0x18($sp) +/* E1352C 80240DCC 0C00FB3A */ jal get_enemy +/* E13530 80240DD0 AFB00010 */ sw $s0, 0x10($sp) +/* E13534 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* E13538 80240DD8 24070003 */ addiu $a3, $zero, 3 +/* E1353C 80240DDC 8C460080 */ lw $a2, 0x80($v0) +/* E13540 80240DE0 24040009 */ addiu $a0, $zero, 9 +/* E13544 80240DE4 00C0182D */ daddu $v1, $a2, $zero +.L80240DE8: +/* E13548 80240DE8 8C62007C */ lw $v0, 0x7c($v1) +/* E1354C 80240DEC 54470005 */ bnel $v0, $a3, .L80240E04 +/* E13550 80240DF0 24A50001 */ addiu $a1, $a1, 1 +/* E13554 80240DF4 8C620074 */ lw $v0, 0x74($v1) +/* E13558 80240DF8 50440006 */ beql $v0, $a0, .L80240E14 +/* E1355C 80240DFC 0220202D */ daddu $a0, $s1, $zero +/* E13560 80240E00 24A50001 */ addiu $a1, $a1, 1 +.L80240E04: +/* E13564 80240E04 28A2000B */ slti $v0, $a1, 0xb +/* E13568 80240E08 1440FFF7 */ bnez $v0, .L80240DE8 +/* E1356C 80240E0C 2463005C */ addiu $v1, $v1, 0x5c +/* E13570 80240E10 0220202D */ daddu $a0, $s1, $zero +.L80240E14: +/* E13574 80240E14 00058040 */ sll $s0, $a1, 1 +/* E13578 80240E18 02058021 */ addu $s0, $s0, $a1 +/* E1357C 80240E1C 001080C0 */ sll $s0, $s0, 3 +/* E13580 80240E20 02058023 */ subu $s0, $s0, $a1 +/* E13584 80240E24 00108080 */ sll $s0, $s0, 2 +/* E13588 80240E28 00D08021 */ addu $s0, $a2, $s0 +/* E1358C 80240E2C 8E020084 */ lw $v0, 0x84($s0) +/* E13590 80240E30 3C05FE36 */ lui $a1, 0xfe36 +/* E13594 80240E34 00021080 */ sll $v0, $v0, 2 +/* E13598 80240E38 3C018024 */ lui $at, 0x8024 +/* E1359C 80240E3C 00220821 */ addu $at, $at, $v0 +/* E135A0 80240E40 C4201AEC */ lwc1 $f0, 0x1aec($at) +/* E135A4 80240E44 8E020084 */ lw $v0, 0x84($s0) +/* E135A8 80240E48 8E060078 */ lw $a2, 0x78($s0) +/* E135AC 80240E4C 00021080 */ sll $v0, $v0, 2 +/* E135B0 80240E50 E6000094 */ swc1 $f0, 0x94($s0) +/* E135B4 80240E54 3C018024 */ lui $at, 0x8024 +/* E135B8 80240E58 00220821 */ addu $at, $at, $v0 +/* E135BC 80240E5C C4221B18 */ lwc1 $f2, 0x1b18($at) +/* E135C0 80240E60 3C0142DC */ lui $at, 0x42dc +/* E135C4 80240E64 44810000 */ mtc1 $at, $f0 +/* E135C8 80240E68 34A53C81 */ ori $a1, $a1, 0x3c81 +/* E135CC 80240E6C E600009C */ swc1 $f0, 0x9c($s0) +/* E135D0 80240E70 0C0B2026 */ jal set_variable +/* E135D4 80240E74 E6020098 */ swc1 $f2, 0x98($s0) +/* E135D8 80240E78 0220202D */ daddu $a0, $s1, $zero +/* E135DC 80240E7C 3C05FE36 */ lui $a1, 0xfe36 +/* E135E0 80240E80 8E060094 */ lw $a2, 0x94($s0) +/* E135E4 80240E84 0C0B2190 */ jal set_float_variable +/* E135E8 80240E88 34A53C85 */ ori $a1, $a1, 0x3c85 +/* E135EC 80240E8C 0220202D */ daddu $a0, $s1, $zero +/* E135F0 80240E90 3C05FE36 */ lui $a1, 0xfe36 +/* E135F4 80240E94 8E060098 */ lw $a2, 0x98($s0) +/* E135F8 80240E98 0C0B2190 */ jal set_float_variable +/* E135FC 80240E9C 34A53C86 */ ori $a1, $a1, 0x3c86 +/* E13600 80240EA0 0220202D */ daddu $a0, $s1, $zero +/* E13604 80240EA4 3C05FE36 */ lui $a1, 0xfe36 +/* E13608 80240EA8 8E06009C */ lw $a2, 0x9c($s0) +/* E1360C 80240EAC 0C0B2190 */ jal set_float_variable +/* E13610 80240EB0 34A53C87 */ ori $a1, $a1, 0x3c87 +/* E13614 80240EB4 8FBF0018 */ lw $ra, 0x18($sp) +/* E13618 80240EB8 8FB10014 */ lw $s1, 0x14($sp) +/* E1361C 80240EBC 8FB00010 */ lw $s0, 0x10($sp) +/* E13620 80240EC0 24020002 */ addiu $v0, $zero, 2 +/* E13624 80240EC4 03E00008 */ jr $ra +/* E13628 80240EC8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240ECC_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240ECC_E12760.s new file mode 100644 index 0000000000..6e1df13ec2 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240ECC_E12760.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ECC_E1362C +/* E1362C 80240ECC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E13630 80240ED0 AFB10014 */ sw $s1, 0x14($sp) +/* E13634 80240ED4 0080882D */ daddu $s1, $a0, $zero +/* E13638 80240ED8 0000202D */ daddu $a0, $zero, $zero +/* E1363C 80240EDC AFBF0018 */ sw $ra, 0x18($sp) +/* E13640 80240EE0 0C00FB3A */ jal get_enemy +/* E13644 80240EE4 AFB00010 */ sw $s0, 0x10($sp) +/* E13648 80240EE8 8E23000C */ lw $v1, 0xc($s1) +/* E1364C 80240EEC 8C650000 */ lw $a1, ($v1) +/* E13650 80240EF0 8C500080 */ lw $s0, 0x80($v0) +/* E13654 80240EF4 0C0B1EAF */ jal get_variable +/* E13658 80240EF8 0220202D */ daddu $a0, $s1, $zero +/* E1365C 80240EFC 0220202D */ daddu $a0, $s1, $zero +/* E13660 80240F00 3C05FE36 */ lui $a1, 0xfe36 +/* E13664 80240F04 00021840 */ sll $v1, $v0, 1 +/* E13668 80240F08 00621821 */ addu $v1, $v1, $v0 +/* E1366C 80240F0C 000318C0 */ sll $v1, $v1, 3 +/* E13670 80240F10 00621823 */ subu $v1, $v1, $v0 +/* E13674 80240F14 00031880 */ sll $v1, $v1, 2 +/* E13678 80240F18 02038021 */ addu $s0, $s0, $v1 +/* E1367C 80240F1C 8E060094 */ lw $a2, 0x94($s0) +/* E13680 80240F20 0C0B2190 */ jal set_float_variable +/* E13684 80240F24 34A53C85 */ ori $a1, $a1, 0x3c85 +/* E13688 80240F28 0220202D */ daddu $a0, $s1, $zero +/* E1368C 80240F2C 3C05FE36 */ lui $a1, 0xfe36 +/* E13690 80240F30 8E060098 */ lw $a2, 0x98($s0) +/* E13694 80240F34 0C0B2190 */ jal set_float_variable +/* E13698 80240F38 34A53C86 */ ori $a1, $a1, 0x3c86 +/* E1369C 80240F3C 0220202D */ daddu $a0, $s1, $zero +/* E136A0 80240F40 3C05FE36 */ lui $a1, 0xfe36 +/* E136A4 80240F44 8E06009C */ lw $a2, 0x9c($s0) +/* E136A8 80240F48 0C0B2190 */ jal set_float_variable +/* E136AC 80240F4C 34A53C87 */ ori $a1, $a1, 0x3c87 +/* E136B0 80240F50 0220202D */ daddu $a0, $s1, $zero +/* E136B4 80240F54 3C05FE36 */ lui $a1, 0xfe36 +/* E136B8 80240F58 8E0600B8 */ lw $a2, 0xb8($s0) +/* E136BC 80240F5C 0C0B2190 */ jal set_float_variable +/* E136C0 80240F60 34A53C88 */ ori $a1, $a1, 0x3c88 +/* E136C4 80240F64 0220202D */ daddu $a0, $s1, $zero +/* E136C8 80240F68 3C05FE36 */ lui $a1, 0xfe36 +/* E136CC 80240F6C 8E0600C4 */ lw $a2, 0xc4($s0) +/* E136D0 80240F70 0C0B2190 */ jal set_float_variable +/* E136D4 80240F74 34A53C89 */ ori $a1, $a1, 0x3c89 +/* E136D8 80240F78 8FBF0018 */ lw $ra, 0x18($sp) +/* E136DC 80240F7C 8FB10014 */ lw $s1, 0x14($sp) +/* E136E0 80240F80 8FB00010 */ lw $s0, 0x10($sp) +/* E136E4 80240F84 24020002 */ addiu $v0, $zero, 2 +/* E136E8 80240F88 03E00008 */ jr $ra +/* E136EC 80240F8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80240F90_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240F90_E12760.s new file mode 100644 index 0000000000..6af066f472 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80240F90_E12760.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F90_E136F0 +/* E136F0 80240F90 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* E136F4 80240F94 0000202D */ daddu $a0, $zero, $zero +/* E136F8 80240F98 AFBF002C */ sw $ra, 0x2c($sp) +/* E136FC 80240F9C AFB40028 */ sw $s4, 0x28($sp) +/* E13700 80240FA0 AFB30024 */ sw $s3, 0x24($sp) +/* E13704 80240FA4 AFB20020 */ sw $s2, 0x20($sp) +/* E13708 80240FA8 AFB1001C */ sw $s1, 0x1c($sp) +/* E1370C 80240FAC 0C00FB3A */ jal get_enemy +/* E13710 80240FB0 AFB00018 */ sw $s0, 0x18($sp) +/* E13714 80240FB4 0000802D */ daddu $s0, $zero, $zero +/* E13718 80240FB8 3C148024 */ lui $s4, 0x8024 +/* E1371C 80240FBC 26941AC8 */ addiu $s4, $s4, 0x1ac8 +/* E13720 80240FC0 3C138024 */ lui $s3, 0x8024 +/* E13724 80240FC4 26731AD4 */ addiu $s3, $s3, 0x1ad4 +/* E13728 80240FC8 3C128024 */ lui $s2, 0x8024 +/* E1372C 80240FCC 26521AE0 */ addiu $s2, $s2, 0x1ae0 +/* E13730 80240FD0 8C510080 */ lw $s1, 0x80($v0) +.L80240FD4: +/* E13734 80240FD4 8E220088 */ lw $v0, 0x88($s1) +/* E13738 80240FD8 0440001B */ bltz $v0, .L80241048 +/* E1373C 80240FDC 02141021 */ addu $v0, $s0, $s4 +/* E13740 80240FE0 02131821 */ addu $v1, $s0, $s3 +/* E13744 80240FE4 02122021 */ addu $a0, $s0, $s2 +/* E13748 80240FE8 80450000 */ lb $a1, ($v0) +/* E1374C 80240FEC 80620000 */ lb $v0, ($v1) +/* E13750 80240FF0 80830000 */ lb $v1, ($a0) +/* E13754 80240FF4 44850000 */ mtc1 $a1, $f0 +/* E13758 80240FF8 00000000 */ nop +/* E1375C 80240FFC 46800020 */ cvt.s.w $f0, $f0 +/* E13760 80241000 2442000D */ addiu $v0, $v0, 0xd +/* E13764 80241004 44050000 */ mfc1 $a1, $f0 +/* E13768 80241008 44820000 */ mtc1 $v0, $f0 +/* E1376C 8024100C 00000000 */ nop +/* E13770 80241010 46800020 */ cvt.s.w $f0, $f0 +/* E13774 80241014 24630005 */ addiu $v1, $v1, 5 +/* E13778 80241018 44060000 */ mfc1 $a2, $f0 +/* E1377C 8024101C 44830000 */ mtc1 $v1, $f0 +/* E13780 80241020 00000000 */ nop +/* E13784 80241024 46800020 */ cvt.s.w $f0, $f0 +/* E13788 80241028 44070000 */ mfc1 $a3, $f0 +/* E1378C 8024102C 24040001 */ addiu $a0, $zero, 1 +/* E13790 80241030 AFA00010 */ sw $zero, 0x10($sp) +/* E13794 80241034 0C01BECC */ jal fx_walk_normal +/* E13798 80241038 AFA00014 */ sw $zero, 0x14($sp) +/* E1379C 8024103C 8E240088 */ lw $a0, 0x88($s1) +/* E137A0 80241040 0C0441B4 */ jal delete_entity +/* E137A4 80241044 00000000 */ nop +.L80241048: +/* E137A8 80241048 26100001 */ addiu $s0, $s0, 1 +/* E137AC 8024104C 2A02000B */ slti $v0, $s0, 0xb +/* E137B0 80241050 1440FFE0 */ bnez $v0, .L80240FD4 +/* E137B4 80241054 2631005C */ addiu $s1, $s1, 0x5c +/* E137B8 80241058 24040283 */ addiu $a0, $zero, 0x283 +/* E137BC 8024105C 24050050 */ addiu $a1, $zero, 0x50 +/* E137C0 80241060 0000302D */ daddu $a2, $zero, $zero +/* E137C4 80241064 0C0526AE */ jal _play_sound +/* E137C8 80241068 00C0382D */ daddu $a3, $a2, $zero +/* E137CC 8024106C 8FBF002C */ lw $ra, 0x2c($sp) +/* E137D0 80241070 8FB40028 */ lw $s4, 0x28($sp) +/* E137D4 80241074 8FB30024 */ lw $s3, 0x24($sp) +/* E137D8 80241078 8FB20020 */ lw $s2, 0x20($sp) +/* E137DC 8024107C 8FB1001C */ lw $s1, 0x1c($sp) +/* E137E0 80241080 8FB00018 */ lw $s0, 0x18($sp) +/* E137E4 80241084 24020002 */ addiu $v0, $zero, 2 +/* E137E8 80241088 03E00008 */ jr $ra +/* E137EC 8024108C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241090_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241090_E12760.s new file mode 100644 index 0000000000..0de47dc5f0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241090_E12760.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241090_E137F0 +/* E137F0 80241090 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* E137F4 80241094 AFB00010 */ sw $s0, 0x10($sp) +/* E137F8 80241098 0080802D */ daddu $s0, $a0, $zero +/* E137FC 8024109C 0000202D */ daddu $a0, $zero, $zero +/* E13800 802410A0 AFBF0034 */ sw $ra, 0x34($sp) +/* E13804 802410A4 AFBE0030 */ sw $fp, 0x30($sp) +/* E13808 802410A8 AFB7002C */ sw $s7, 0x2c($sp) +/* E1380C 802410AC AFB60028 */ sw $s6, 0x28($sp) +/* E13810 802410B0 AFB50024 */ sw $s5, 0x24($sp) +/* E13814 802410B4 AFB40020 */ sw $s4, 0x20($sp) +/* E13818 802410B8 AFB3001C */ sw $s3, 0x1c($sp) +/* E1381C 802410BC AFB20018 */ sw $s2, 0x18($sp) +/* E13820 802410C0 0C00FB3A */ jal get_enemy +/* E13824 802410C4 AFB10014 */ sw $s1, 0x14($sp) +/* E13828 802410C8 0200202D */ daddu $a0, $s0, $zero +/* E1382C 802410CC 8C83000C */ lw $v1, 0xc($a0) +/* E13830 802410D0 0040B02D */ daddu $s6, $v0, $zero +/* E13834 802410D4 8C650000 */ lw $a1, ($v1) +/* E13838 802410D8 8ED20080 */ lw $s2, 0x80($s6) +/* E1383C 802410DC 0C0B1EAF */ jal get_variable +/* E13840 802410E0 0000802D */ daddu $s0, $zero, $zero +/* E13844 802410E4 0040982D */ daddu $s3, $v0, $zero +/* E13848 802410E8 00131880 */ sll $v1, $s3, 2 +/* E1384C 802410EC 02431821 */ addu $v1, $s2, $v1 +/* E13850 802410F0 8ED40074 */ lw $s4, 0x74($s6) +/* E13854 802410F4 8C75001C */ lw $s5, 0x1c($v1) +/* E13858 802410F8 2403FFFF */ addiu $v1, $zero, -1 +/* E1385C 802410FC 00141080 */ sll $v0, $s4, 2 +/* E13860 80241100 02421021 */ addu $v0, $s2, $v0 +/* E13864 80241104 AC550048 */ sw $s5, 0x48($v0) +/* E13868 80241108 00131040 */ sll $v0, $s3, 1 +/* E1386C 8024110C 00531021 */ addu $v0, $v0, $s3 +/* E13870 80241110 000210C0 */ sll $v0, $v0, 3 +/* E13874 80241114 00531023 */ subu $v0, $v0, $s3 +/* E13878 80241118 00021080 */ sll $v0, $v0, 2 +/* E1387C 8024111C 02421021 */ addu $v0, $s2, $v0 +/* E13880 80241120 AC430088 */ sw $v1, 0x88($v0) +/* E13884 80241124 26820001 */ addiu $v0, $s4, 1 +/* E13888 80241128 18400020 */ blez $v0, .L802411AC +/* E1388C 8024112C 0200202D */ daddu $a0, $s0, $zero +/* E13890 80241130 241E0003 */ addiu $fp, $zero, 3 +/* E13894 80241134 0040B82D */ daddu $s7, $v0, $zero +/* E13898 80241138 0240882D */ daddu $s1, $s2, $zero +.L8024113C: +/* E1389C 8024113C 8E230048 */ lw $v1, 0x48($s1) +/* E138A0 80241140 24060001 */ addiu $a2, $zero, 1 +/* E138A4 80241144 1066000D */ beq $v1, $a2, .L8024117C +/* E138A8 80241148 28620002 */ slti $v0, $v1, 2 +/* E138AC 8024114C 50400005 */ beql $v0, $zero, .L80241164 +/* E138B0 80241150 24060002 */ addiu $a2, $zero, 2 +/* E138B4 80241154 50600010 */ beql $v1, $zero, .L80241198 +/* E138B8 80241158 24840001 */ addiu $a0, $a0, 1 +/* E138BC 8024115C 08090467 */ j .L8024119C +/* E138C0 80241160 26310004 */ addiu $s1, $s1, 4 +.L80241164: +/* E138C4 80241164 10660007 */ beq $v1, $a2, .L80241184 +/* E138C8 80241168 00041080 */ sll $v0, $a0, 2 +/* E138CC 8024116C 107E0007 */ beq $v1, $fp, .L8024118C +/* E138D0 80241170 00000000 */ nop +/* E138D4 80241174 08090467 */ j .L8024119C +/* E138D8 80241178 26310004 */ addiu $s1, $s1, 4 +.L8024117C: +/* E138DC 8024117C 08090466 */ j .L80241198 +/* E138E0 80241180 24840005 */ addiu $a0, $a0, 5 +.L80241184: +/* E138E4 80241184 08090466 */ j .L80241198 +/* E138E8 80241188 00822021 */ addu $a0, $a0, $v0 +.L8024118C: +/* E138EC 8024118C 0C05272D */ jal play_sound +/* E138F0 80241190 2404021D */ addiu $a0, $zero, 0x21d +/* E138F4 80241194 0000202D */ daddu $a0, $zero, $zero +.L80241198: +/* E138F8 80241198 26310004 */ addiu $s1, $s1, 4 +.L8024119C: +/* E138FC 8024119C 26100001 */ addiu $s0, $s0, 1 +/* E13900 802411A0 0217102A */ slt $v0, $s0, $s7 +/* E13904 802411A4 1440FFE5 */ bnez $v0, .L8024113C +/* E13908 802411A8 00000000 */ nop +.L802411AC: +/* E1390C 802411AC AE440010 */ sw $a0, 0x10($s2) +/* E13910 802411B0 0000802D */ daddu $s0, $zero, $zero +/* E13914 802411B4 24040001 */ addiu $a0, $zero, 1 +/* E13918 802411B8 24050002 */ addiu $a1, $zero, 2 +/* E1391C 802411BC 0240182D */ daddu $v1, $s2, $zero +.L802411C0: +/* E13920 802411C0 8C62007C */ lw $v0, 0x7c($v1) +/* E13924 802411C4 16A20008 */ bne $s5, $v0, .L802411E8 +/* E13928 802411C8 26100001 */ addiu $s0, $s0, 1 +/* E1392C 802411CC 8C620074 */ lw $v0, 0x74($v1) +/* E13930 802411D0 14440006 */ bne $v0, $a0, .L802411EC +/* E13934 802411D4 2A02000B */ slti $v0, $s0, 0xb +/* E13938 802411D8 AC650074 */ sw $a1, 0x74($v1) +/* E1393C 802411DC AC730080 */ sw $s3, 0x80($v1) +/* E13940 802411E0 0809047D */ j .L802411F4 +/* E13944 802411E4 AC740084 */ sw $s4, 0x84($v1) +.L802411E8: +/* E13948 802411E8 2A02000B */ slti $v0, $s0, 0xb +.L802411EC: +/* E1394C 802411EC 1440FFF4 */ bnez $v0, .L802411C0 +/* E13950 802411F0 2463005C */ addiu $v1, $v1, 0x5c +.L802411F4: +/* E13954 802411F4 8EC30074 */ lw $v1, 0x74($s6) +/* E13958 802411F8 24630001 */ addiu $v1, $v1, 1 +/* E1395C 802411FC AEC30074 */ sw $v1, 0x74($s6) +/* E13960 80241200 8FBF0034 */ lw $ra, 0x34($sp) +/* E13964 80241204 8FBE0030 */ lw $fp, 0x30($sp) +/* E13968 80241208 8FB7002C */ lw $s7, 0x2c($sp) +/* E1396C 8024120C 8FB60028 */ lw $s6, 0x28($sp) +/* E13970 80241210 8FB50024 */ lw $s5, 0x24($sp) +/* E13974 80241214 8FB40020 */ lw $s4, 0x20($sp) +/* E13978 80241218 8FB3001C */ lw $s3, 0x1c($sp) +/* E1397C 8024121C 8FB20018 */ lw $s2, 0x18($sp) +/* E13980 80241220 8FB10014 */ lw $s1, 0x14($sp) +/* E13984 80241224 8FB00010 */ lw $s0, 0x10($sp) +/* E13988 80241228 24020002 */ addiu $v0, $zero, 2 +/* E1398C 8024122C 03E00008 */ jr $ra +/* E13990 80241230 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241234.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241234.s new file mode 100644 index 0000000000..f0dea1db8b --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241234.s @@ -0,0 +1,194 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241234 +/* E13994 80241234 27BDFF88 */ addiu $sp, $sp, -0x78 +/* E13998 80241238 AFB5006C */ sw $s5, 0x6c($sp) +/* E1399C 8024123C 0080A82D */ daddu $s5, $a0, $zero +/* E139A0 80241240 AFB00058 */ sw $s0, 0x58($sp) +/* E139A4 80241244 00A0802D */ daddu $s0, $a1, $zero +/* E139A8 80241248 0000202D */ daddu $a0, $zero, $zero +/* E139AC 8024124C AFBF0070 */ sw $ra, 0x70($sp) +/* E139B0 80241250 AFB40068 */ sw $s4, 0x68($sp) +/* E139B4 80241254 AFB30064 */ sw $s3, 0x64($sp) +/* E139B8 80241258 AFB20060 */ sw $s2, 0x60($sp) +/* E139BC 8024125C 0C00FB3A */ jal get_enemy +/* E139C0 80241260 AFB1005C */ sw $s1, 0x5c($sp) +/* E139C4 80241264 27A30028 */ addiu $v1, $sp, 0x28 +/* E139C8 80241268 8C540080 */ lw $s4, 0x80($v0) +/* E139CC 8024126C 3C028024 */ lui $v0, 0x8024 +/* E139D0 80241270 244235E8 */ addiu $v0, $v0, 0x35e8 +/* E139D4 80241274 24440020 */ addiu $a0, $v0, 0x20 +.L80241278: +/* E139D8 80241278 8C480000 */ lw $t0, ($v0) +/* E139DC 8024127C 8C490004 */ lw $t1, 4($v0) +/* E139E0 80241280 8C4A0008 */ lw $t2, 8($v0) +/* E139E4 80241284 8C4B000C */ lw $t3, 0xc($v0) +/* E139E8 80241288 AC680000 */ sw $t0, ($v1) +/* E139EC 8024128C AC690004 */ sw $t1, 4($v1) +/* E139F0 80241290 AC6A0008 */ sw $t2, 8($v1) +/* E139F4 80241294 AC6B000C */ sw $t3, 0xc($v1) +/* E139F8 80241298 24420010 */ addiu $v0, $v0, 0x10 +/* E139FC 8024129C 1444FFF6 */ bne $v0, $a0, .L80241278 +/* E13A00 802412A0 24630010 */ addiu $v1, $v1, 0x10 +/* E13A04 802412A4 8C480000 */ lw $t0, ($v0) +/* E13A08 802412A8 8C490004 */ lw $t1, 4($v0) +/* E13A0C 802412AC 8C4A0008 */ lw $t2, 8($v0) +/* E13A10 802412B0 AC680000 */ sw $t0, ($v1) +/* E13A14 802412B4 AC690004 */ sw $t1, 4($v1) +/* E13A18 802412B8 12000044 */ beqz $s0, .L802413CC +/* E13A1C 802412BC AC6A0008 */ sw $t2, 8($v1) +/* E13A20 802412C0 0C00A67F */ jal rand_int +/* E13A24 802412C4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* E13A28 802412C8 0040182D */ daddu $v1, $v0, $zero +/* E13A2C 802412CC 04620001 */ bltzl $v1, .L802412D4 +/* E13A30 802412D0 24620003 */ addiu $v0, $v1, 3 +.L802412D4: +/* E13A34 802412D4 00022083 */ sra $a0, $v0, 2 +/* E13A38 802412D8 00041080 */ sll $v0, $a0, 2 +/* E13A3C 802412DC 00622023 */ subu $a0, $v1, $v0 +/* E13A40 802412E0 0000882D */ daddu $s1, $zero, $zero +/* E13A44 802412E4 3C058024 */ lui $a1, 0x8024 +/* E13A48 802412E8 24A51B9C */ addiu $a1, $a1, 0x1b9c +/* E13A4C 802412EC 00041040 */ sll $v0, $a0, 1 +/* E13A50 802412F0 00441021 */ addu $v0, $v0, $a0 +/* E13A54 802412F4 00021080 */ sll $v0, $v0, 2 +/* E13A58 802412F8 00441023 */ subu $v0, $v0, $a0 +/* E13A5C 802412FC 00022080 */ sll $a0, $v0, 2 +/* E13A60 80241300 0280182D */ daddu $v1, $s4, $zero +.L80241304: +/* E13A64 80241304 00851021 */ addu $v0, $a0, $a1 +/* E13A68 80241308 24840004 */ addiu $a0, $a0, 4 +/* E13A6C 8024130C 8C420000 */ lw $v0, ($v0) +/* E13A70 80241310 26310001 */ addiu $s1, $s1, 1 +/* E13A74 80241314 AC62001C */ sw $v0, 0x1c($v1) +/* E13A78 80241318 2A22000B */ slti $v0, $s1, 0xb +/* E13A7C 8024131C 1440FFF9 */ bnez $v0, .L80241304 +/* E13A80 80241320 24630004 */ addiu $v1, $v1, 4 +/* E13A84 80241324 0000882D */ daddu $s1, $zero, $zero +/* E13A88 80241328 3C122E8B */ lui $s2, 0x2e8b +/* E13A8C 8024132C 3652A2E9 */ ori $s2, $s2, 0xa2e9 +.L80241330: +/* E13A90 80241330 0C00A67F */ jal rand_int +/* E13A94 80241334 24042710 */ addiu $a0, $zero, 0x2710 +/* E13A98 80241338 00520018 */ mult $v0, $s2 +/* E13A9C 8024133C 24042710 */ addiu $a0, $zero, 0x2710 +/* E13AA0 80241340 00021FC3 */ sra $v1, $v0, 0x1f +/* E13AA4 80241344 00004010 */ mfhi $t0 +/* E13AA8 80241348 00082843 */ sra $a1, $t0, 1 +/* E13AAC 8024134C 00A38023 */ subu $s0, $a1, $v1 +/* E13AB0 80241350 00101840 */ sll $v1, $s0, 1 +/* E13AB4 80241354 00701821 */ addu $v1, $v1, $s0 +/* E13AB8 80241358 00031880 */ sll $v1, $v1, 2 +/* E13ABC 8024135C 00701823 */ subu $v1, $v1, $s0 +/* E13AC0 80241360 0C00A67F */ jal rand_int +/* E13AC4 80241364 00438023 */ subu $s0, $v0, $v1 +/* E13AC8 80241368 00520018 */ mult $v0, $s2 +/* E13ACC 8024136C 00021FC3 */ sra $v1, $v0, 0x1f +/* E13AD0 80241370 00004010 */ mfhi $t0 +/* E13AD4 80241374 00082043 */ sra $a0, $t0, 1 +/* E13AD8 80241378 00832023 */ subu $a0, $a0, $v1 +/* E13ADC 8024137C 00041840 */ sll $v1, $a0, 1 +/* E13AE0 80241380 00641821 */ addu $v1, $v1, $a0 +/* E13AE4 80241384 00031880 */ sll $v1, $v1, 2 +/* E13AE8 80241388 00641823 */ subu $v1, $v1, $a0 +/* E13AEC 8024138C 00432023 */ subu $a0, $v0, $v1 +/* E13AF0 80241390 12040009 */ beq $s0, $a0, .L802413B8 +/* E13AF4 80241394 26310001 */ addiu $s1, $s1, 1 +/* E13AF8 80241398 00041880 */ sll $v1, $a0, 2 +/* E13AFC 8024139C 02831821 */ addu $v1, $s4, $v1 +/* E13B00 802413A0 00101080 */ sll $v0, $s0, 2 +/* E13B04 802413A4 02821021 */ addu $v0, $s4, $v0 +/* E13B08 802413A8 8C44001C */ lw $a0, 0x1c($v0) +/* E13B0C 802413AC 8C65001C */ lw $a1, 0x1c($v1) +/* E13B10 802413B0 AC64001C */ sw $a0, 0x1c($v1) +/* E13B14 802413B4 AC45001C */ sw $a1, 0x1c($v0) +.L802413B8: +/* E13B18 802413B8 2A2203E8 */ slti $v0, $s1, 0x3e8 +/* E13B1C 802413BC 1440FFDC */ bnez $v0, .L80241330 +/* E13B20 802413C0 00000000 */ nop +/* E13B24 802413C4 AEA00070 */ sw $zero, 0x70($s5) +/* E13B28 802413C8 AEA00074 */ sw $zero, 0x74($s5) +.L802413CC: +/* E13B2C 802413CC 8EA20070 */ lw $v0, 0x70($s5) +/* E13B30 802413D0 2442FFFF */ addiu $v0, $v0, -1 +/* E13B34 802413D4 1C400041 */ bgtz $v0, .L802414DC +/* E13B38 802413D8 AEA20070 */ sw $v0, 0x70($s5) +/* E13B3C 802413DC 3C138024 */ lui $s3, 0x8024 +/* E13B40 802413E0 26731AC8 */ addiu $s3, $s3, 0x1ac8 +/* E13B44 802413E4 3C128024 */ lui $s2, 0x8024 +/* E13B48 802413E8 26521AD4 */ addiu $s2, $s2, 0x1ad4 +/* E13B4C 802413EC 3C118024 */ lui $s1, 0x8024 +/* E13B50 802413F0 26311AE0 */ addiu $s1, $s1, 0x1ae0 +/* E13B54 802413F4 8EB00074 */ lw $s0, 0x74($s5) +/* E13B58 802413F8 3C04802F */ lui $a0, 0x802f +/* E13B5C 802413FC 2484A0C4 */ addiu $a0, $a0, -0x5f3c +/* E13B60 80241400 02139821 */ addu $s3, $s0, $s3 +/* E13B64 80241404 02129021 */ addu $s2, $s0, $s2 +/* E13B68 80241408 02118821 */ addu $s1, $s0, $s1 +/* E13B6C 8024140C 82650000 */ lb $a1, ($s3) +/* E13B70 80241410 82460000 */ lb $a2, ($s2) +/* E13B74 80241414 82270000 */ lb $a3, ($s1) +/* E13B78 80241418 3C028000 */ lui $v0, 0x8000 +/* E13B7C 8024141C AFA00010 */ sw $zero, 0x10($sp) +/* E13B80 80241420 AFA00014 */ sw $zero, 0x14($sp) +/* E13B84 80241424 AFA00018 */ sw $zero, 0x18($sp) +/* E13B88 80241428 AFA0001C */ sw $zero, 0x1c($sp) +/* E13B8C 8024142C 0C044631 */ jal create_entity +/* E13B90 80241430 AFA20020 */ sw $v0, 0x20($sp) +/* E13B94 80241434 0040202D */ daddu $a0, $v0, $zero +/* E13B98 80241438 00101040 */ sll $v0, $s0, 1 +/* E13B9C 8024143C 00501021 */ addu $v0, $v0, $s0 +/* E13BA0 80241440 000210C0 */ sll $v0, $v0, 3 +/* E13BA4 80241444 00501023 */ subu $v0, $v0, $s0 +/* E13BA8 80241448 00021080 */ sll $v0, $v0, 2 +/* E13BAC 8024144C 02821021 */ addu $v0, $s4, $v0 +/* E13BB0 80241450 0C04417A */ jal get_entity_by_index +/* E13BB4 80241454 AC440088 */ sw $a0, 0x88($v0) +/* E13BB8 80241458 00108080 */ sll $s0, $s0, 2 +/* E13BBC 8024145C 03B01821 */ addu $v1, $sp, $s0 +/* E13BC0 80241460 8C630028 */ lw $v1, 0x28($v1) +/* E13BC4 80241464 3C0141B8 */ lui $at, 0x41b8 +/* E13BC8 80241468 44810000 */ mtc1 $at, $f0 +/* E13BCC 8024146C AC430028 */ sw $v1, 0x28($v0) +/* E13BD0 80241470 82650000 */ lb $a1, ($s3) +/* E13BD4 80241474 82420000 */ lb $v0, ($s2) +/* E13BD8 80241478 82230000 */ lb $v1, ($s1) +/* E13BDC 8024147C 44851000 */ mtc1 $a1, $f2 +/* E13BE0 80241480 00000000 */ nop +/* E13BE4 80241484 468010A0 */ cvt.s.w $f2, $f2 +/* E13BE8 80241488 2442000D */ addiu $v0, $v0, 0xd +/* E13BEC 8024148C 44051000 */ mfc1 $a1, $f2 +/* E13BF0 80241490 44821000 */ mtc1 $v0, $f2 +/* E13BF4 80241494 00000000 */ nop +/* E13BF8 80241498 468010A0 */ cvt.s.w $f2, $f2 +/* E13BFC 8024149C 24630005 */ addiu $v1, $v1, 5 +/* E13C00 802414A0 44061000 */ mfc1 $a2, $f2 +/* E13C04 802414A4 44831000 */ mtc1 $v1, $f2 +/* E13C08 802414A8 00000000 */ nop +/* E13C0C 802414AC 468010A0 */ cvt.s.w $f2, $f2 +/* E13C10 802414B0 44071000 */ mfc1 $a3, $f2 +/* E13C14 802414B4 24040003 */ addiu $a0, $zero, 3 +/* E13C18 802414B8 0C01BFBC */ jal func_8006FEF0 +/* E13C1C 802414BC E7A00010 */ swc1 $f0, 0x10($sp) +/* E13C20 802414C0 0C05272D */ jal play_sound +/* E13C24 802414C4 24040213 */ addiu $a0, $zero, 0x213 +/* E13C28 802414C8 8EA20074 */ lw $v0, 0x74($s5) +/* E13C2C 802414CC 24030003 */ addiu $v1, $zero, 3 +/* E13C30 802414D0 AEA30070 */ sw $v1, 0x70($s5) +/* E13C34 802414D4 24420001 */ addiu $v0, $v0, 1 +/* E13C38 802414D8 AEA20074 */ sw $v0, 0x74($s5) +.L802414DC: +/* E13C3C 802414DC 8EA20074 */ lw $v0, 0x74($s5) +/* E13C40 802414E0 8FBF0070 */ lw $ra, 0x70($sp) +/* E13C44 802414E4 8FB5006C */ lw $s5, 0x6c($sp) +/* E13C48 802414E8 8FB40068 */ lw $s4, 0x68($sp) +/* E13C4C 802414EC 8FB30064 */ lw $s3, 0x64($sp) +/* E13C50 802414F0 8FB20060 */ lw $s2, 0x60($sp) +/* E13C54 802414F4 8FB1005C */ lw $s1, 0x5c($sp) +/* E13C58 802414F8 8FB00058 */ lw $s0, 0x58($sp) +/* E13C5C 802414FC 2842000B */ slti $v0, $v0, 0xb +/* E13C60 80241500 38420001 */ xori $v0, $v0, 1 +/* E13C64 80241504 00021040 */ sll $v0, $v0, 1 +/* E13C68 80241508 03E00008 */ jr $ra +/* E13C6C 8024150C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241510_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241510_E12760.s new file mode 100644 index 0000000000..ef894878a0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241510_E12760.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241510_E13C70 +/* E13C70 80241510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13C74 80241514 AFB00010 */ sw $s0, 0x10($sp) +/* E13C78 80241518 0080802D */ daddu $s0, $a0, $zero +/* E13C7C 8024151C 3C038011 */ lui $v1, %hi(gPlayerData) +/* E13C80 80241520 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* E13C84 80241524 10A00005 */ beqz $a1, .L8024153C +/* E13C88 80241528 AFBF0014 */ sw $ra, 0x14($sp) +/* E13C8C 8024152C 9462032E */ lhu $v0, 0x32e($v1) +/* E13C90 80241530 24420001 */ addiu $v0, $v0, 1 +/* E13C94 80241534 A462032E */ sh $v0, 0x32e($v1) +/* E13C98 80241538 AE000070 */ sw $zero, 0x70($s0) +.L8024153C: +/* E13C9C 8024153C 0C03A830 */ jal add_coins +/* E13CA0 80241540 2404FFFF */ addiu $a0, $zero, -1 +/* E13CA4 80241544 0C05272D */ jal play_sound +/* E13CA8 80241548 24040211 */ addiu $a0, $zero, 0x211 +/* E13CAC 8024154C 8E030070 */ lw $v1, 0x70($s0) +/* E13CB0 80241550 24630001 */ addiu $v1, $v1, 1 +/* E13CB4 80241554 3862000A */ xori $v0, $v1, 0xa +/* E13CB8 80241558 2C420001 */ sltiu $v0, $v0, 1 +/* E13CBC 8024155C AE030070 */ sw $v1, 0x70($s0) +/* E13CC0 80241560 8FBF0014 */ lw $ra, 0x14($sp) +/* E13CC4 80241564 8FB00010 */ lw $s0, 0x10($sp) +/* E13CC8 80241568 00021040 */ sll $v0, $v0, 1 +/* E13CCC 8024156C 03E00008 */ jr $ra +/* E13CD0 80241570 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241574_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241574_E12760.s new file mode 100644 index 0000000000..7f6c2ab07d --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241574_E12760.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241574_E13CD4 +/* E13CD4 80241574 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13CD8 80241578 AFBF0010 */ sw $ra, 0x10($sp) +/* E13CDC 8024157C 0C00FB3A */ jal get_enemy +/* E13CE0 80241580 0000202D */ daddu $a0, $zero, $zero +/* E13CE4 80241584 0000302D */ daddu $a2, $zero, $zero +/* E13CE8 80241588 2407FFFF */ addiu $a3, $zero, -1 +/* E13CEC 8024158C 3C058024 */ lui $a1, 0x8024 +/* E13CF0 80241590 24A51B70 */ addiu $a1, $a1, 0x1b70 +/* E13CF4 80241594 8C420080 */ lw $v0, 0x80($v0) +/* E13CF8 80241598 3C048024 */ lui $a0, 0x8024 +/* E13CFC 8024159C 24841B44 */ addiu $a0, $a0, 0x1b44 +/* E13D00 802415A0 0040182D */ daddu $v1, $v0, $zero +/* E13D04 802415A4 AC60000C */ sw $zero, 0xc($v1) +/* E13D08 802415A8 AC600010 */ sw $zero, 0x10($v1) +.L802415AC: +/* E13D0C 802415AC AC600074 */ sw $zero, 0x74($v1) +/* E13D10 802415B0 8C820000 */ lw $v0, ($a0) +/* E13D14 802415B4 24840004 */ addiu $a0, $a0, 4 +/* E13D18 802415B8 24C60001 */ addiu $a2, $a2, 1 +/* E13D1C 802415BC AC620078 */ sw $v0, 0x78($v1) +/* E13D20 802415C0 8CA20000 */ lw $v0, ($a1) +/* E13D24 802415C4 24A50004 */ addiu $a1, $a1, 4 +/* E13D28 802415C8 AC670084 */ sw $a3, 0x84($v1) +/* E13D2C 802415CC AC62007C */ sw $v0, 0x7c($v1) +/* E13D30 802415D0 28C2000B */ slti $v0, $a2, 0xb +/* E13D34 802415D4 1440FFF5 */ bnez $v0, .L802415AC +/* E13D38 802415D8 2463005C */ addiu $v1, $v1, 0x5c +/* E13D3C 802415DC 8FBF0010 */ lw $ra, 0x10($sp) +/* E13D40 802415E0 24020002 */ addiu $v0, $zero, 2 +/* E13D44 802415E4 03E00008 */ jr $ra +/* E13D48 802415E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802415EC_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802415EC_E12760.s new file mode 100644 index 0000000000..7c037489bf --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802415EC_E12760.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415EC_E13D4C +/* E13D4C 802415EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E13D50 802415F0 0000202D */ daddu $a0, $zero, $zero +/* E13D54 802415F4 AFBF0018 */ sw $ra, 0x18($sp) +/* E13D58 802415F8 AFB10014 */ sw $s1, 0x14($sp) +/* E13D5C 802415FC 0C00FB3A */ jal get_enemy +/* E13D60 80241600 AFB00010 */ sw $s0, 0x10($sp) +/* E13D64 80241604 24040468 */ addiu $a0, $zero, 0x468 +/* E13D68 80241608 0C00AB0A */ jal general_heap_malloc +/* E13D6C 8024160C 0040882D */ daddu $s1, $v0, $zero +/* E13D70 80241610 0000202D */ daddu $a0, $zero, $zero +/* E13D74 80241614 3C058024 */ lui $a1, 0x8024 +/* E13D78 80241618 24A503C4 */ addiu $a1, $a1, 0x3c4 +/* E13D7C 8024161C 0040802D */ daddu $s0, $v0, $zero +/* E13D80 80241620 0C048C56 */ jal bind_dynamic_entity_3 +/* E13D84 80241624 AE300080 */ sw $s0, 0x80($s1) +/* E13D88 80241628 3C048011 */ lui $a0, %hi(D_80108558) +/* E13D8C 8024162C 24848558 */ addiu $a0, $a0, %lo(D_80108558) +/* E13D90 80241630 0C050529 */ jal create_icon +/* E13D94 80241634 AE020000 */ sw $v0, ($s0) +/* E13D98 80241638 0040202D */ daddu $a0, $v0, $zero +/* E13D9C 8024163C 24050080 */ addiu $a1, $zero, 0x80 +/* E13DA0 80241640 0C051280 */ jal set_icon_flags +/* E13DA4 80241644 AE040004 */ sw $a0, 4($s0) +/* E13DA8 80241648 240500FF */ addiu $a1, $zero, 0xff +/* E13DAC 8024164C 00A0302D */ daddu $a2, $a1, $zero +/* E13DB0 80241650 8E040004 */ lw $a0, 4($s0) +/* E13DB4 80241654 0C0513BF */ jal icon_set_tint +/* E13DB8 80241658 00A0382D */ daddu $a3, $a1, $zero +/* E13DBC 8024165C 24020141 */ addiu $v0, $zero, 0x141 +/* E13DC0 80241660 AE020014 */ sw $v0, 0x14($s0) +/* E13DC4 80241664 2402001C */ addiu $v0, $zero, 0x1c +/* E13DC8 80241668 0C03A625 */ jal func_800E9894 +/* E13DCC 8024166C AE020018 */ sw $v0, 0x18($s0) +/* E13DD0 80241670 0C03A5EE */ jal func_800E97B8 +/* E13DD4 80241674 00000000 */ nop +/* E13DD8 80241678 8FBF0018 */ lw $ra, 0x18($sp) +/* E13DDC 8024167C 8FB10014 */ lw $s1, 0x14($sp) +/* E13DE0 80241680 8FB00010 */ lw $s0, 0x10($sp) +/* E13DE4 80241684 24020002 */ addiu $v0, $zero, 2 +/* E13DE8 80241688 03E00008 */ jr $ra +/* E13DEC 8024168C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241690_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241690_E12760.s new file mode 100644 index 0000000000..aea6264fa5 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241690_E12760.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241690_E13DF0 +/* E13DF0 80241690 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13DF4 80241694 0000202D */ daddu $a0, $zero, $zero +/* E13DF8 80241698 AFBF0014 */ sw $ra, 0x14($sp) +/* E13DFC 8024169C 0C00FB3A */ jal get_enemy +/* E13E00 802416A0 AFB00010 */ sw $s0, 0x10($sp) +/* E13E04 802416A4 8C500080 */ lw $s0, 0x80($v0) +/* E13E08 802416A8 0C048D70 */ jal func_801235C0 +/* E13E0C 802416AC 8E040000 */ lw $a0, ($s0) +/* E13E10 802416B0 0C05123D */ jal free_icon +/* E13E14 802416B4 8E040004 */ lw $a0, 4($s0) +/* E13E18 802416B8 8FBF0014 */ lw $ra, 0x14($sp) +/* E13E1C 802416BC 8FB00010 */ lw $s0, 0x10($sp) +/* E13E20 802416C0 24020002 */ addiu $v0, $zero, 2 +/* E13E24 802416C4 03E00008 */ jr $ra +/* E13E28 802416C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802416CC_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802416CC_E12760.s new file mode 100644 index 0000000000..9fe30cc31d --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802416CC_E12760.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416CC_E13E2C +/* E13E2C 802416CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13E30 802416D0 3C05FE36 */ lui $a1, 0xfe36 +/* E13E34 802416D4 3C068011 */ lui $a2, 0x8011 +/* E13E38 802416D8 84C6F29C */ lh $a2, -0xd64($a2) +/* E13E3C 802416DC AFBF0010 */ sw $ra, 0x10($sp) +/* E13E40 802416E0 0C0B2026 */ jal set_variable +/* E13E44 802416E4 34A53C8A */ ori $a1, $a1, 0x3c8a +/* E13E48 802416E8 8FBF0010 */ lw $ra, 0x10($sp) +/* E13E4C 802416EC 24020002 */ addiu $v0, $zero, 2 +/* E13E50 802416F0 03E00008 */ jr $ra +/* E13E54 802416F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_802416F8_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_802416F8_E12760.s new file mode 100644 index 0000000000..a4161e932f --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_802416F8_E12760.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8_E13E58 +/* E13E58 802416F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13E5C 802416FC 0000202D */ daddu $a0, $zero, $zero +/* E13E60 80241700 AFBF0014 */ sw $ra, 0x14($sp) +/* E13E64 80241704 0C00FB3A */ jal get_enemy +/* E13E68 80241708 AFB00010 */ sw $s0, 0x10($sp) +/* E13E6C 8024170C 8C50007C */ lw $s0, 0x7c($v0) +/* E13E70 80241710 8C420074 */ lw $v0, 0x74($v0) +/* E13E74 80241714 0000282D */ daddu $a1, $zero, $zero +/* E13E78 80241718 02028023 */ subu $s0, $s0, $v0 +/* E13E7C 8024171C 26100001 */ addiu $s0, $s0, 1 +/* E13E80 80241720 0C0496FA */ jal set_message_value +/* E13E84 80241724 0200202D */ daddu $a0, $s0, $zero +/* E13E88 80241728 3C048015 */ lui $a0, 0x8015 +/* E13E8C 8024172C 2484C290 */ addiu $a0, $a0, -0x3d70 +/* E13E90 80241730 24020001 */ addiu $v0, $zero, 1 +/* E13E94 80241734 16020003 */ bne $s0, $v0, .L80241744 +/* E13E98 80241738 00000000 */ nop +/* E13E9C 8024173C 3C048015 */ lui $a0, 0x8015 +/* E13EA0 80241740 2484C294 */ addiu $a0, $a0, -0x3d6c +.L80241744: +/* E13EA4 80241744 0C0496CF */ jal set_message_string +/* E13EA8 80241748 24050001 */ addiu $a1, $zero, 1 +/* E13EAC 8024174C 8FBF0014 */ lw $ra, 0x14($sp) +/* E13EB0 80241750 8FB00010 */ lw $s0, 0x10($sp) +/* E13EB4 80241754 24020002 */ addiu $v0, $zero, 2 +/* E13EB8 80241758 03E00008 */ jr $ra +/* E13EBC 8024175C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241760_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241760_E12760.s new file mode 100644 index 0000000000..431a5dbe42 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241760_E12760.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241760_E13EC0 +/* E13EC0 80241760 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13EC4 80241764 AFBF0010 */ sw $ra, 0x10($sp) +/* E13EC8 80241768 0C03A5B2 */ jal func_800E96C8 +/* E13ECC 8024176C 00000000 */ nop +/* E13ED0 80241770 8FBF0010 */ lw $ra, 0x10($sp) +/* E13ED4 80241774 24020002 */ addiu $v0, $zero, 2 +/* E13ED8 80241778 03E00008 */ jr $ra +/* E13EDC 8024177C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_01/func_80241780_E12760.s b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241780_E12760.s new file mode 100644 index 0000000000..a8bd896ba2 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_01/func_80241780_E12760.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241780_E13EE0 +/* E13EE0 80241780 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E13EE4 80241784 3C048024 */ lui $a0, 0x8024 +/* E13EE8 80241788 24843560 */ addiu $a0, $a0, 0x3560 +/* E13EEC 8024178C AFBF0010 */ sw $ra, 0x10($sp) +/* E13EF0 80241790 0C0496CB */ jal set_message_images +/* E13EF4 80241794 00000000 */ nop +/* E13EF8 80241798 8FBF0010 */ lw $ra, 0x10($sp) +/* E13EFC 8024179C 24020002 */ addiu $v0, $zero, 2 +/* E13F00 802417A0 03E00008 */ jr $ra +/* E13F04 802417A4 27BD0018 */ addiu $sp, $sp, 0x18 +/* E13F08 802417A8 00000000 */ nop +/* E13F0C 802417AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240000_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240000_E15D80.s new file mode 100644 index 0000000000..99057470e6 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240000_E15D80.s @@ -0,0 +1,281 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_E15D80 +/* E15D80 80240000 27BDFF90 */ addiu $sp, $sp, -0x70 +/* E15D84 80240004 0000202D */ daddu $a0, $zero, $zero +/* E15D88 80240008 AFBF006C */ sw $ra, 0x6c($sp) +/* E15D8C 8024000C AFB60068 */ sw $s6, 0x68($sp) +/* E15D90 80240010 AFB50064 */ sw $s5, 0x64($sp) +/* E15D94 80240014 AFB40060 */ sw $s4, 0x60($sp) +/* E15D98 80240018 AFB3005C */ sw $s3, 0x5c($sp) +/* E15D9C 8024001C AFB20058 */ sw $s2, 0x58($sp) +/* E15DA0 80240020 AFB10054 */ sw $s1, 0x54($sp) +/* E15DA4 80240024 0C00FB3A */ jal get_enemy +/* E15DA8 80240028 AFB00050 */ sw $s0, 0x50($sp) +/* E15DAC 8024002C 0040882D */ daddu $s1, $v0, $zero +/* E15DB0 80240030 8E32006C */ lw $s2, 0x6c($s1) +/* E15DB4 80240034 8E420028 */ lw $v0, 0x28($s2) +/* E15DB8 80240038 30420004 */ andi $v0, $v0, 4 +/* E15DBC 8024003C 1040002A */ beqz $v0, .L802400E8 +/* E15DC0 80240040 2405005A */ addiu $a1, $zero, 0x5a +/* E15DC4 80240044 8E50000C */ lw $s0, 0xc($s2) +/* E15DC8 80240048 00A0302D */ daddu $a2, $a1, $zero +/* E15DCC 8024004C 0C051261 */ jal set_icon_render_pos +/* E15DD0 80240050 0200202D */ daddu $a0, $s0, $zero +/* E15DD4 80240054 0C0511EA */ jal draw_icon_0 +/* E15DD8 80240058 0200202D */ daddu $a0, $s0, $zero +/* E15DDC 8024005C 2405005A */ addiu $a1, $zero, 0x5a +/* E15DE0 80240060 8E500010 */ lw $s0, 0x10($s2) +/* E15DE4 80240064 24060078 */ addiu $a2, $zero, 0x78 +/* E15DE8 80240068 0C051261 */ jal set_icon_render_pos +/* E15DEC 8024006C 0200202D */ daddu $a0, $s0, $zero +/* E15DF0 80240070 0C0511EA */ jal draw_icon_0 +/* E15DF4 80240074 0200202D */ daddu $a0, $s0, $zero +/* E15DF8 80240078 2404003E */ addiu $a0, $zero, 0x3e +/* E15DFC 8024007C 24050074 */ addiu $a1, $zero, 0x74 +/* E15E00 80240080 24070079 */ addiu $a3, $zero, 0x79 +/* E15E04 80240084 C6400024 */ lwc1 $f0, 0x24($s2) +/* E15E08 80240088 46800020 */ cvt.s.w $f0, $f0 +/* E15E0C 8024008C 46000021 */ cvt.d.s $f0, $f0 +/* E15E10 80240090 3C014028 */ lui $at, 0x4028 +/* E15E14 80240094 44811800 */ mtc1 $at, $f3 +/* E15E18 80240098 44801000 */ mtc1 $zero, $f2 +/* E15E1C 8024009C 3C018025 */ lui $at, 0x8025 +/* E15E20 802400A0 D42484E0 */ ldc1 $f4, -0x7b20($at) +/* E15E24 802400A4 46220003 */ div.d $f0, $f0, $f2 +/* E15E28 802400A8 46240002 */ mul.d $f0, $f0, $f4 +/* E15E2C 802400AC 00000000 */ nop +/* E15E30 802400B0 240200E4 */ addiu $v0, $zero, 0xe4 +/* E15E34 802400B4 AFA20014 */ sw $v0, 0x14($sp) +/* E15E38 802400B8 24020086 */ addiu $v0, $zero, 0x86 +/* E15E3C 802400BC AFA20018 */ sw $v0, 0x18($sp) +/* E15E40 802400C0 240200FF */ addiu $v0, $zero, 0xff +/* E15E44 802400C4 AFA00010 */ sw $zero, 0x10($sp) +/* E15E48 802400C8 AFA2001C */ sw $v0, 0x1c($sp) +/* E15E4C 802400CC 4620018D */ trunc.w.d $f6, $f0 +/* E15E50 802400D0 44063000 */ mfc1 $a2, $f6 +/* E15E54 802400D4 00000000 */ nop +/* E15E58 802400D8 00C43021 */ addu $a2, $a2, $a0 +/* E15E5C 802400DC 00063400 */ sll $a2, $a2, 0x10 +/* E15E60 802400E0 0C00AAB1 */ jal func_8002AAC4 +/* E15E64 802400E4 00063403 */ sra $a2, $a2, 0x10 +.L802400E8: +/* E15E68 802400E8 8E220078 */ lw $v0, 0x78($s1) +/* E15E6C 802400EC 10400003 */ beqz $v0, .L802400FC +/* E15E70 802400F0 28420004 */ slti $v0, $v0, 4 +/* E15E74 802400F4 1440000B */ bnez $v0, .L80240124 +/* E15E78 802400F8 00000000 */ nop +.L802400FC: +/* E15E7C 802400FC 8E430014 */ lw $v1, 0x14($s2) +/* E15E80 80240100 2862FFB1 */ slti $v0, $v1, -0x4f +/* E15E84 80240104 14400010 */ bnez $v0, .L80240148 +/* E15E88 80240108 2462FFF6 */ addiu $v0, $v1, -0xa +/* E15E8C 8024010C AE420014 */ sw $v0, 0x14($s2) +/* E15E90 80240110 2842FFB0 */ slti $v0, $v0, -0x50 +/* E15E94 80240114 1040000C */ beqz $v0, .L80240148 +/* E15E98 80240118 2402FFB0 */ addiu $v0, $zero, -0x50 +/* E15E9C 8024011C 08090052 */ j .L80240148 +/* E15EA0 80240120 AE420014 */ sw $v0, 0x14($s2) +.L80240124: +/* E15EA4 80240124 8E430014 */ lw $v1, 0x14($s2) +/* E15EA8 80240128 28620017 */ slti $v0, $v1, 0x17 +/* E15EAC 8024012C 10400006 */ beqz $v0, .L80240148 +/* E15EB0 80240130 2462000A */ addiu $v0, $v1, 0xa +/* E15EB4 80240134 AE420014 */ sw $v0, 0x14($s2) +/* E15EB8 80240138 28420018 */ slti $v0, $v0, 0x18 +/* E15EBC 8024013C 14400002 */ bnez $v0, .L80240148 +/* E15EC0 80240140 24020017 */ addiu $v0, $zero, 0x17 +/* E15EC4 80240144 AE420014 */ sw $v0, 0x14($s2) +.L80240148: +/* E15EC8 80240148 8E220078 */ lw $v0, 0x78($s1) +/* E15ECC 8024014C 1440000B */ bnez $v0, .L8024017C +/* E15ED0 80240150 00000000 */ nop +/* E15ED4 80240154 8E430018 */ lw $v1, 0x18($s2) +/* E15ED8 80240158 28620140 */ slti $v0, $v1, 0x140 +/* E15EDC 8024015C 10400011 */ beqz $v0, .L802401A4 +/* E15EE0 80240160 2462000A */ addiu $v0, $v1, 0xa +/* E15EE4 80240164 AE420018 */ sw $v0, 0x18($s2) +/* E15EE8 80240168 28420141 */ slti $v0, $v0, 0x141 +/* E15EEC 8024016C 1440000E */ bnez $v0, .L802401A8 +/* E15EF0 80240170 0000202D */ daddu $a0, $zero, $zero +/* E15EF4 80240174 08090068 */ j .L802401A0 +/* E15EF8 80240178 24020140 */ addiu $v0, $zero, 0x140 +.L8024017C: +/* E15EFC 8024017C 8E430018 */ lw $v1, 0x18($s2) +/* E15F00 80240180 286200E2 */ slti $v0, $v1, 0xe2 +/* E15F04 80240184 14400008 */ bnez $v0, .L802401A8 +/* E15F08 80240188 0000202D */ daddu $a0, $zero, $zero +/* E15F0C 8024018C 2462FFF6 */ addiu $v0, $v1, -0xa +/* E15F10 80240190 AE420018 */ sw $v0, 0x18($s2) +/* E15F14 80240194 284200E1 */ slti $v0, $v0, 0xe1 +/* E15F18 80240198 10400003 */ beqz $v0, .L802401A8 +/* E15F1C 8024019C 240200E1 */ addiu $v0, $zero, 0xe1 +.L802401A0: +/* E15F20 802401A0 AE420018 */ sw $v0, 0x18($s2) +.L802401A4: +/* E15F24 802401A4 0000202D */ daddu $a0, $zero, $zero +.L802401A8: +/* E15F28 802401A8 24050009 */ addiu $a1, $zero, 9 +/* E15F2C 802401AC 24020050 */ addiu $v0, $zero, 0x50 +/* E15F30 802401B0 AFA20014 */ sw $v0, 0x14($sp) +/* E15F34 802401B4 24020026 */ addiu $v0, $zero, 0x26 +/* E15F38 802401B8 241100B4 */ addiu $s1, $zero, 0xb4 +/* E15F3C 802401BC 24160140 */ addiu $s6, $zero, 0x140 +/* E15F40 802401C0 241500F0 */ addiu $s5, $zero, 0xf0 +/* E15F44 802401C4 AFA00010 */ sw $zero, 0x10($sp) +/* E15F48 802401C8 AFA20018 */ sw $v0, 0x18($sp) +/* E15F4C 802401CC AFB1001C */ sw $s1, 0x1c($sp) +/* E15F50 802401D0 AFA00020 */ sw $zero, 0x20($sp) +/* E15F54 802401D4 AFA00024 */ sw $zero, 0x24($sp) +/* E15F58 802401D8 AFA00028 */ sw $zero, 0x28($sp) +/* E15F5C 802401DC AFA0002C */ sw $zero, 0x2c($sp) +/* E15F60 802401E0 AFA00030 */ sw $zero, 0x30($sp) +/* E15F64 802401E4 AFA00034 */ sw $zero, 0x34($sp) +/* E15F68 802401E8 AFA00038 */ sw $zero, 0x38($sp) +/* E15F6C 802401EC AFA0003C */ sw $zero, 0x3c($sp) +/* E15F70 802401F0 AFA00040 */ sw $zero, 0x40($sp) +/* E15F74 802401F4 AFB60044 */ sw $s6, 0x44($sp) +/* E15F78 802401F8 AFB50048 */ sw $s5, 0x48($sp) +/* E15F7C 802401FC AFA0004C */ sw $zero, 0x4c($sp) +/* E15F80 80240200 8E460014 */ lw $a2, 0x14($s2) +/* E15F84 80240204 0C03D4B8 */ jal draw_box +/* E15F88 80240208 24070017 */ addiu $a3, $zero, 0x17 +/* E15F8C 8024020C 3C040008 */ lui $a0, 8 +/* E15F90 80240210 34840047 */ ori $a0, $a0, 0x47 +/* E15F94 80240214 2406001C */ addiu $a2, $zero, 0x1c +/* E15F98 80240218 8E450014 */ lw $a1, 0x14($s2) +/* E15F9C 8024021C 240700FF */ addiu $a3, $zero, 0xff +/* E15FA0 80240220 AFA00010 */ sw $zero, 0x10($sp) +/* E15FA4 80240224 AFA00014 */ sw $zero, 0x14($sp) +/* E15FA8 80240228 0C04993B */ jal draw_string +/* E15FAC 8024022C 24A5002A */ addiu $a1, $a1, 0x2a +/* E15FB0 80240230 2406002B */ addiu $a2, $zero, 0x2b +/* E15FB4 80240234 24070001 */ addiu $a3, $zero, 1 +/* E15FB8 80240238 241300FF */ addiu $s3, $zero, 0xff +/* E15FBC 8024023C 24140003 */ addiu $s4, $zero, 3 +/* E15FC0 80240240 8E440004 */ lw $a0, 4($s2) +/* E15FC4 80240244 8E450014 */ lw $a1, 0x14($s2) +/* E15FC8 80240248 2410000A */ addiu $s0, $zero, 0xa +/* E15FCC 8024024C AFA00010 */ sw $zero, 0x10($sp) +/* E15FD0 80240250 AFB30014 */ sw $s3, 0x14($sp) +/* E15FD4 80240254 AFB40018 */ sw $s4, 0x18($sp) +/* E15FD8 80240258 02042023 */ subu $a0, $s0, $a0 +/* E15FDC 8024025C 0C049DA7 */ jal draw_number +/* E15FE0 80240260 24A50041 */ addiu $a1, $a1, 0x41 +/* E15FE4 80240264 3C048025 */ lui $a0, 0x8025 +/* E15FE8 80240268 248482A0 */ addiu $a0, $a0, -0x7d60 +/* E15FEC 8024026C 24050020 */ addiu $a1, $zero, 0x20 +/* E15FF0 80240270 00A0302D */ daddu $a2, $a1, $zero +/* E15FF4 80240274 24070002 */ addiu $a3, $zero, 2 +/* E15FF8 80240278 3C028025 */ lui $v0, 0x8025 +/* E15FFC 8024027C 244284A0 */ addiu $v0, $v0, -0x7b60 +/* E16000 80240280 AFA00010 */ sw $zero, 0x10($sp) +/* E16004 80240284 AFA20014 */ sw $v0, 0x14($sp) +/* E16008 80240288 96430016 */ lhu $v1, 0x16($s2) +/* E1600C 8024028C 2402001A */ addiu $v0, $zero, 0x1a +/* E16010 80240290 AFB00020 */ sw $s0, 0x20($sp) +/* E16014 80240294 24100014 */ addiu $s0, $zero, 0x14 +/* E16018 80240298 AFA2001C */ sw $v0, 0x1c($sp) +/* E1601C 8024029C 2402012C */ addiu $v0, $zero, 0x12c +/* E16020 802402A0 AFA20028 */ sw $v0, 0x28($sp) +/* E16024 802402A4 240200C8 */ addiu $v0, $zero, 0xc8 +/* E16028 802402A8 AFB00024 */ sw $s0, 0x24($sp) +/* E1602C 802402AC AFA2002C */ sw $v0, 0x2c($sp) +/* E16030 802402B0 AFB30030 */ sw $s3, 0x30($sp) +/* E16034 802402B4 24630005 */ addiu $v1, $v1, 5 +/* E16038 802402B8 00031C00 */ sll $v1, $v1, 0x10 +/* E1603C 802402BC 00031C03 */ sra $v1, $v1, 0x10 +/* E16040 802402C0 0C04BA68 */ jal func_8012E9A0 +/* E16044 802402C4 AFA30018 */ sw $v1, 0x18($sp) +/* E16048 802402C8 8E460008 */ lw $a2, 8($s2) +/* E1604C 802402CC 28C20385 */ slti $v0, $a2, 0x385 +/* E16050 802402D0 50400001 */ beql $v0, $zero, .L802402D8 +/* E16054 802402D4 24060384 */ addiu $a2, $zero, 0x384 +.L802402D8: +/* E16058 802402D8 3C038888 */ lui $v1, 0x8888 +/* E1605C 802402DC 34638889 */ ori $v1, $v1, 0x8889 +/* E16060 802402E0 0000202D */ daddu $a0, $zero, $zero +/* E16064 802402E4 2405000B */ addiu $a1, $zero, 0xb +/* E16068 802402E8 2402003C */ addiu $v0, $zero, 0x3c +/* E1606C 802402EC AFA20014 */ sw $v0, 0x14($sp) +/* E16070 802402F0 000617C3 */ sra $v0, $a2, 0x1f +/* E16074 802402F4 3C014024 */ lui $at, 0x4024 +/* E16078 802402F8 44811800 */ mtc1 $at, $f3 +/* E1607C 802402FC 44801000 */ mtc1 $zero, $f2 +/* E16080 80240300 00C30018 */ mult $a2, $v1 +/* E16084 80240304 AFA00010 */ sw $zero, 0x10($sp) +/* E16088 80240308 AFB00018 */ sw $s0, 0x18($sp) +/* E1608C 8024030C AFB1001C */ sw $s1, 0x1c($sp) +/* E16090 80240310 AFA00020 */ sw $zero, 0x20($sp) +/* E16094 80240314 AFA00024 */ sw $zero, 0x24($sp) +/* E16098 80240318 AFA00028 */ sw $zero, 0x28($sp) +/* E1609C 8024031C AFA0002C */ sw $zero, 0x2c($sp) +/* E160A0 80240320 AFA00030 */ sw $zero, 0x30($sp) +/* E160A4 80240324 AFA00034 */ sw $zero, 0x34($sp) +/* E160A8 80240328 AFA00038 */ sw $zero, 0x38($sp) +/* E160AC 8024032C 00004010 */ mfhi $t0 +/* E160B0 80240330 01068021 */ addu $s0, $t0, $a2 +/* E160B4 80240334 00108103 */ sra $s0, $s0, 4 +/* E160B8 80240338 02028023 */ subu $s0, $s0, $v0 +/* E160BC 8024033C 00101100 */ sll $v0, $s0, 4 +/* E160C0 80240340 00501023 */ subu $v0, $v0, $s0 +/* E160C4 80240344 00021040 */ sll $v0, $v0, 1 +/* E160C8 80240348 00C21023 */ subu $v0, $a2, $v0 +/* E160CC 8024034C 44820000 */ mtc1 $v0, $f0 +/* E160D0 80240350 00000000 */ nop +/* E160D4 80240354 46800020 */ cvt.s.w $f0, $f0 +/* E160D8 80240358 46000021 */ cvt.d.s $f0, $f0 +/* E160DC 8024035C 46220002 */ mul.d $f0, $f0, $f2 +/* E160E0 80240360 00000000 */ nop +/* E160E4 80240364 AFA0003C */ sw $zero, 0x3c($sp) +/* E160E8 80240368 AFA00040 */ sw $zero, 0x40($sp) +/* E160EC 8024036C AFB60044 */ sw $s6, 0x44($sp) +/* E160F0 80240370 AFB50048 */ sw $s5, 0x48($sp) +/* E160F4 80240374 AFA0004C */ sw $zero, 0x4c($sp) +/* E160F8 80240378 3C01403E */ lui $at, 0x403e +/* E160FC 8024037C 44811800 */ mtc1 $at, $f3 +/* E16100 80240380 44801000 */ mtc1 $zero, $f2 +/* E16104 80240384 8E460018 */ lw $a2, 0x18($s2) +/* E16108 80240388 46220003 */ div.d $f0, $f0, $f2 +/* E1610C 8024038C 4620018D */ trunc.w.d $f6, $f0 +/* E16110 80240390 44113000 */ mfc1 $s1, $f6 +/* E16114 80240394 0C03D4B8 */ jal draw_box +/* E16118 80240398 2407001B */ addiu $a3, $zero, 0x1b +/* E1611C 8024039C 0200202D */ daddu $a0, $s0, $zero +/* E16120 802403A0 2406001F */ addiu $a2, $zero, 0x1f +/* E16124 802403A4 8E450018 */ lw $a1, 0x18($s2) +/* E16128 802403A8 24070001 */ addiu $a3, $zero, 1 +/* E1612C 802403AC AFA00010 */ sw $zero, 0x10($sp) +/* E16130 802403B0 AFB30014 */ sw $s3, 0x14($sp) +/* E16134 802403B4 AFB40018 */ sw $s4, 0x18($sp) +/* E16138 802403B8 0C049DA7 */ jal draw_number +/* E1613C 802403BC 24A5001D */ addiu $a1, $a1, 0x1d +/* E16140 802403C0 0220202D */ daddu $a0, $s1, $zero +/* E16144 802403C4 2406001F */ addiu $a2, $zero, 0x1f +/* E16148 802403C8 8E450018 */ lw $a1, 0x18($s2) +/* E1614C 802403CC 24070001 */ addiu $a3, $zero, 1 +/* E16150 802403D0 AFA00010 */ sw $zero, 0x10($sp) +/* E16154 802403D4 AFB30014 */ sw $s3, 0x14($sp) +/* E16158 802403D8 AFA00018 */ sw $zero, 0x18($sp) +/* E1615C 802403DC 0C049DA7 */ jal draw_number +/* E16160 802403E0 24A50028 */ addiu $a1, $a1, 0x28 +/* E16164 802403E4 3C040008 */ lui $a0, 8 +/* E16168 802403E8 34840024 */ ori $a0, $a0, 0x24 +/* E1616C 802403EC 2406001D */ addiu $a2, $zero, 0x1d +/* E16170 802403F0 8E450018 */ lw $a1, 0x18($s2) +/* E16174 802403F4 240700FF */ addiu $a3, $zero, 0xff +/* E16178 802403F8 AFA00010 */ sw $zero, 0x10($sp) +/* E1617C 802403FC AFA00014 */ sw $zero, 0x14($sp) +/* E16180 80240400 0C04993B */ jal draw_string +/* E16184 80240404 24A5001E */ addiu $a1, $a1, 0x1e +/* E16188 80240408 8FBF006C */ lw $ra, 0x6c($sp) +/* E1618C 8024040C 8FB60068 */ lw $s6, 0x68($sp) +/* E16190 80240410 8FB50064 */ lw $s5, 0x64($sp) +/* E16194 80240414 8FB40060 */ lw $s4, 0x60($sp) +/* E16198 80240418 8FB3005C */ lw $s3, 0x5c($sp) +/* E1619C 8024041C 8FB20058 */ lw $s2, 0x58($sp) +/* E161A0 80240420 8FB10054 */ lw $s1, 0x54($sp) +/* E161A4 80240424 8FB00050 */ lw $s0, 0x50($sp) +/* E161A8 80240428 03E00008 */ jr $ra +/* E161AC 8024042C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240430_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240430_E15D80.s new file mode 100644 index 0000000000..7da7001eaa --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240430_E15D80.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240430_E161B0 +/* E161B0 80240430 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E161B4 80240434 2402002D */ addiu $v0, $zero, 0x2d +/* E161B8 80240438 AFA20010 */ sw $v0, 0x10($sp) +/* E161BC 8024043C 3C028024 */ lui $v0, 0x8024 +/* E161C0 80240440 24420000 */ addiu $v0, $v0, 0 +/* E161C4 80240444 27A40010 */ addiu $a0, $sp, 0x10 +/* E161C8 80240448 AFBF0020 */ sw $ra, 0x20($sp) +/* E161CC 8024044C AFA00018 */ sw $zero, 0x18($sp) +/* E161D0 80240450 AFA2001C */ sw $v0, 0x1c($sp) +/* E161D4 80240454 0C047644 */ jal queue_render_task +/* E161D8 80240458 AFA00014 */ sw $zero, 0x14($sp) +/* E161DC 8024045C 8FBF0020 */ lw $ra, 0x20($sp) +/* E161E0 80240460 03E00008 */ jr $ra +/* E161E4 80240464 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240468_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240468_E15D80.s new file mode 100644 index 0000000000..8208bf8c9e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240468_E15D80.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240468_E161E8 +/* E161E8 80240468 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E161EC 8024046C AFB00010 */ sw $s0, 0x10($sp) +/* E161F0 80240470 00A0802D */ daddu $s0, $a1, $zero +/* E161F4 80240474 0000202D */ daddu $a0, $zero, $zero +/* E161F8 80240478 AFBF001C */ sw $ra, 0x1c($sp) +/* E161FC 8024047C AFB20018 */ sw $s2, 0x18($sp) +/* E16200 80240480 0C00FB3A */ jal get_enemy +/* E16204 80240484 AFB10014 */ sw $s1, 0x14($sp) +/* E16208 80240488 8C52006C */ lw $s2, 0x6c($v0) +/* E1620C 8024048C 12000026 */ beqz $s0, .L80240528 +/* E16210 80240490 00000000 */ nop +/* E16214 80240494 3C058024 */ lui $a1, 0x8024 +/* E16218 80240498 24A50430 */ addiu $a1, $a1, 0x430 +/* E1621C 8024049C 0C048C56 */ jal bind_dynamic_entity_3 +/* E16220 802404A0 0000202D */ daddu $a0, $zero, $zero +/* E16224 802404A4 3C118011 */ lui $s1, 0x8011 +/* E16228 802404A8 26318B28 */ addiu $s1, $s1, -0x74d8 +/* E1622C 802404AC 0220202D */ daddu $a0, $s1, $zero +/* E16230 802404B0 0C050529 */ jal create_icon +/* E16234 802404B4 AE420000 */ sw $v0, ($s2) +/* E16238 802404B8 0040802D */ daddu $s0, $v0, $zero +/* E1623C 802404BC 0200202D */ daddu $a0, $s0, $zero +/* E16240 802404C0 0000282D */ daddu $a1, $zero, $zero +/* E16244 802404C4 0C051277 */ jal func_801449DC +/* E16248 802404C8 AE50000C */ sw $s0, 0xc($s2) +/* E1624C 802404CC 0200202D */ daddu $a0, $s0, $zero +/* E16250 802404D0 0C051280 */ jal set_icon_flags +/* E16254 802404D4 24050080 */ addiu $a1, $zero, 0x80 +/* E16258 802404D8 0200202D */ daddu $a0, $s0, $zero +/* E1625C 802404DC 240500FF */ addiu $a1, $zero, 0xff +/* E16260 802404E0 00A0302D */ daddu $a2, $a1, $zero +/* E16264 802404E4 0C0513BF */ jal icon_set_tint +/* E16268 802404E8 00A0382D */ daddu $a3, $a1, $zero +/* E1626C 802404EC 0200202D */ daddu $a0, $s0, $zero +/* E16270 802404F0 0C0511FF */ jal set_menu_icon_script +/* E16274 802404F4 0220282D */ daddu $a1, $s1, $zero +/* E16278 802404F8 3C048011 */ lui $a0, 0x8011 +/* E1627C 802404FC 24848AFC */ addiu $a0, $a0, -0x7504 +/* E16280 80240500 0C050529 */ jal create_icon +/* E16284 80240504 00000000 */ nop +/* E16288 80240508 0040802D */ daddu $s0, $v0, $zero +/* E1628C 8024050C 0200202D */ daddu $a0, $s0, $zero +/* E16290 80240510 0000282D */ daddu $a1, $zero, $zero +/* E16294 80240514 0C051277 */ jal func_801449DC +/* E16298 80240518 AE500010 */ sw $s0, 0x10($s2) +/* E1629C 8024051C 0200202D */ daddu $a0, $s0, $zero +/* E162A0 80240520 0C051280 */ jal set_icon_flags +/* E162A4 80240524 24050080 */ addiu $a1, $zero, 0x80 +.L80240528: +/* E162A8 80240528 8FBF001C */ lw $ra, 0x1c($sp) +/* E162AC 8024052C 8FB20018 */ lw $s2, 0x18($sp) +/* E162B0 80240530 8FB10014 */ lw $s1, 0x14($sp) +/* E162B4 80240534 8FB00010 */ lw $s0, 0x10($sp) +/* E162B8 80240538 0000102D */ daddu $v0, $zero, $zero +/* E162BC 8024053C 03E00008 */ jr $ra +/* E162C0 80240540 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240544_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240544_E15D80.s new file mode 100644 index 0000000000..88d93e4035 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240544_E15D80.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_E162C4 +/* E162C4 80240544 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E162C8 80240548 3C02800A */ lui $v0, %hi(D_8009A650) +/* E162CC 8024054C 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* E162D0 80240550 AFBF0010 */ sw $ra, 0x10($sp) +/* E162D4 80240554 8C430000 */ lw $v1, ($v0) +/* E162D8 80240558 3C040004 */ lui $a0, 4 +/* E162DC 8024055C 00641825 */ or $v1, $v1, $a0 +/* E162E0 80240560 0C03A625 */ jal func_800E9894 +/* E162E4 80240564 AC430000 */ sw $v1, ($v0) +/* E162E8 80240568 0C03A5EE */ jal func_800E97B8 +/* E162EC 8024056C 00000000 */ nop +/* E162F0 80240570 8FBF0010 */ lw $ra, 0x10($sp) +/* E162F4 80240574 24020002 */ addiu $v0, $zero, 2 +/* E162F8 80240578 03E00008 */ jr $ra +/* E162FC 8024057C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240580_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240580_E15D80.s new file mode 100644 index 0000000000..d18696c29f --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240580_E15D80.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240580_E16300 +/* E16300 80240580 3C04FFFB */ lui $a0, 0xfffb +/* E16304 80240584 3C03800A */ lui $v1, %hi(D_8009A650) +/* E16308 80240588 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* E1630C 8024058C 8C620000 */ lw $v0, ($v1) +/* E16310 80240590 3484FFFF */ ori $a0, $a0, 0xffff +/* E16314 80240594 00441024 */ and $v0, $v0, $a0 +/* E16318 80240598 AC620000 */ sw $v0, ($v1) +/* E1631C 8024059C 03E00008 */ jr $ra +/* E16320 802405A0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_802405A4_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_802405A4_E15D80.s new file mode 100644 index 0000000000..3bdfdd9b89 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_802405A4_E15D80.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4_E16324 +/* E16324 802405A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E16328 802405A8 AFBF0010 */ sw $ra, 0x10($sp) +/* E1632C 802405AC 0C00FB3A */ jal get_enemy +/* E16330 802405B0 0000202D */ daddu $a0, $zero, $zero +/* E16334 802405B4 8C42006C */ lw $v0, 0x6c($v0) +/* E16338 802405B8 0C0441B4 */ jal delete_entity +/* E1633C 802405BC 8C44001C */ lw $a0, 0x1c($v0) +/* E16340 802405C0 8FBF0010 */ lw $ra, 0x10($sp) +/* E16344 802405C4 24020002 */ addiu $v0, $zero, 2 +/* E16348 802405C8 03E00008 */ jr $ra +/* E1634C 802405CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_802405D0_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_802405D0_E15D80.s new file mode 100644 index 0000000000..76f0a5816e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_802405D0_E15D80.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0_E16350 +/* E16350 802405D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* E16354 802405D4 0000202D */ daddu $a0, $zero, $zero +/* E16358 802405D8 AFBF002C */ sw $ra, 0x2c($sp) +/* E1635C 802405DC 0C00FB3A */ jal get_enemy +/* E16360 802405E0 AFB00028 */ sw $s0, 0x28($sp) +/* E16364 802405E4 3C04802F */ lui $a0, 0x802f +/* E16368 802405E8 2484AFDC */ addiu $a0, $a0, -0x5024 +/* E1636C 802405EC 8C50006C */ lw $s0, 0x6c($v0) +/* E16370 802405F0 3C028000 */ lui $v0, 0x8000 +/* E16374 802405F4 24050163 */ addiu $a1, $zero, 0x163 +/* E16378 802405F8 24060014 */ addiu $a2, $zero, 0x14 +/* E1637C 802405FC 2407FF4C */ addiu $a3, $zero, -0xb4 +/* E16380 80240600 AFA00010 */ sw $zero, 0x10($sp) +/* E16384 80240604 AFA00014 */ sw $zero, 0x14($sp) +/* E16388 80240608 AFA00018 */ sw $zero, 0x18($sp) +/* E1638C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* E16390 80240610 0C044631 */ jal create_entity +/* E16394 80240614 AFA20020 */ sw $v0, 0x20($sp) +/* E16398 80240618 0040202D */ daddu $a0, $v0, $zero +/* E1639C 8024061C 0C04417A */ jal get_entity_by_index +/* E163A0 80240620 AE04001C */ sw $a0, 0x1c($s0) +/* E163A4 80240624 3C038024 */ lui $v1, 0x8024 +/* E163A8 80240628 24632A3C */ addiu $v1, $v1, 0x2a3c +/* E163AC 8024062C AC430028 */ sw $v1, 0x28($v0) +/* E163B0 80240630 8FBF002C */ lw $ra, 0x2c($sp) +/* E163B4 80240634 8FB00028 */ lw $s0, 0x28($sp) +/* E163B8 80240638 24020002 */ addiu $v0, $zero, 2 +/* E163BC 8024063C 03E00008 */ jr $ra +/* E163C0 80240640 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240644_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240644_E15D80.s new file mode 100644 index 0000000000..2d28fcb059 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240644_E15D80.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240644_E163C4 +/* E163C4 80240644 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* E163C8 80240648 AFB20018 */ sw $s2, 0x18($sp) +/* E163CC 8024064C 0080902D */ daddu $s2, $a0, $zero +/* E163D0 80240650 0000202D */ daddu $a0, $zero, $zero +/* E163D4 80240654 AFBF001C */ sw $ra, 0x1c($sp) +/* E163D8 80240658 AFB10014 */ sw $s1, 0x14($sp) +/* E163DC 8024065C 0C00FB3A */ jal get_enemy +/* E163E0 80240660 AFB00010 */ sw $s0, 0x10($sp) +/* E163E4 80240664 0240202D */ daddu $a0, $s2, $zero +/* E163E8 80240668 3C05FE36 */ lui $a1, 0xfe36 +/* E163EC 8024066C 8C51006C */ lw $s1, 0x6c($v0) +/* E163F0 80240670 0C0B1EAF */ jal get_variable +/* E163F4 80240674 34A53C8A */ ori $a1, $a1, 0x3c8a +/* E163F8 80240678 0240202D */ daddu $a0, $s2, $zero +/* E163FC 8024067C 3C05FE36 */ lui $a1, 0xfe36 +/* E16400 80240680 34A53C8B */ ori $a1, $a1, 0x3c8b +/* E16404 80240684 0C0B1EAF */ jal get_variable +/* E16408 80240688 0040802D */ daddu $s0, $v0, $zero +/* E1640C 8024068C 0000182D */ daddu $v1, $zero, $zero +/* E16410 80240690 0220202D */ daddu $a0, $s1, $zero +.L80240694: +/* E16414 80240694 8C820038 */ lw $v0, 0x38($a0) +/* E16418 80240698 52020006 */ beql $s0, $v0, .L802406B4 +/* E1641C 8024069C 0240202D */ daddu $a0, $s2, $zero +/* E16420 802406A0 24630001 */ addiu $v1, $v1, 1 +/* E16424 802406A4 28620023 */ slti $v0, $v1, 0x23 +/* E16428 802406A8 1440FFFA */ bnez $v0, .L80240694 +/* E1642C 802406AC 2484001C */ addiu $a0, $a0, 0x1c +/* E16430 802406B0 0240202D */ daddu $a0, $s2, $zero +.L802406B4: +/* E16434 802406B4 3C05FE36 */ lui $a1, 0xfe36 +/* E16438 802406B8 000310C0 */ sll $v0, $v1, 3 +/* E1643C 802406BC 00431023 */ subu $v0, $v0, $v1 +/* E16440 802406C0 00021080 */ sll $v0, $v0, 2 +/* E16444 802406C4 02228021 */ addu $s0, $s1, $v0 +/* E16448 802406C8 8E060034 */ lw $a2, 0x34($s0) +/* E1644C 802406CC 0C0B2026 */ jal set_variable +/* E16450 802406D0 34A53C8C */ ori $a1, $a1, 0x3c8c +/* E16454 802406D4 8E030034 */ lw $v1, 0x34($s0) +/* E16458 802406D8 24020001 */ addiu $v0, $zero, 1 +/* E1645C 802406DC 10620013 */ beq $v1, $v0, .L8024072C +/* E16460 802406E0 28620002 */ slti $v0, $v1, 2 +/* E16464 802406E4 10400005 */ beqz $v0, .L802406FC +/* E16468 802406E8 24020002 */ addiu $v0, $zero, 2 +/* E1646C 802406EC 10600009 */ beqz $v1, .L80240714 +/* E16470 802406F0 0240202D */ daddu $a0, $s2, $zero +/* E16474 802406F4 080901DD */ j .L80240774 +/* E16478 802406F8 00000000 */ nop +.L802406FC: +/* E1647C 802406FC 10620018 */ beq $v1, $v0, .L80240760 +/* E16480 80240700 24020003 */ addiu $v0, $zero, 3 +/* E16484 80240704 10620010 */ beq $v1, $v0, .L80240748 +/* E16488 80240708 0240202D */ daddu $a0, $s2, $zero +/* E1648C 8024070C 080901DD */ j .L80240774 +/* E16490 80240710 00000000 */ nop +.L80240714: +/* E16494 80240714 3C05FE36 */ lui $a1, 0xfe36 +/* E16498 80240718 8E060040 */ lw $a2, 0x40($s0) +/* E1649C 8024071C 0C0B2026 */ jal set_variable +/* E164A0 80240720 34A53C8D */ ori $a1, $a1, 0x3c8d +/* E164A4 80240724 080901DC */ j .L80240770 +/* E164A8 80240728 2402000D */ addiu $v0, $zero, 0xd +.L8024072C: +/* E164AC 8024072C 0240202D */ daddu $a0, $s2, $zero +/* E164B0 80240730 3C05FE36 */ lui $a1, 0xfe36 +/* E164B4 80240734 8E060040 */ lw $a2, 0x40($s0) +/* E164B8 80240738 0C0B2026 */ jal set_variable +/* E164BC 8024073C 34A53C8D */ ori $a1, $a1, 0x3c8d +/* E164C0 80240740 080901DC */ j .L80240770 +/* E164C4 80240744 24020021 */ addiu $v0, $zero, 0x21 +.L80240748: +/* E164C8 80240748 3C05FE36 */ lui $a1, 0xfe36 +/* E164CC 8024074C 8E060040 */ lw $a2, 0x40($s0) +/* E164D0 80240750 0C0B2026 */ jal set_variable +/* E164D4 80240754 34A53C8D */ ori $a1, $a1, 0x3c8d +/* E164D8 80240758 080901DC */ j .L80240770 +/* E164DC 8024075C 24020034 */ addiu $v0, $zero, 0x34 +.L80240760: +/* E164E0 80240760 8E220004 */ lw $v0, 4($s1) +/* E164E4 80240764 24420001 */ addiu $v0, $v0, 1 +/* E164E8 80240768 AE220004 */ sw $v0, 4($s1) +/* E164EC 8024076C 24020049 */ addiu $v0, $zero, 0x49 +.L80240770: +/* E164F0 80240770 AE02002C */ sw $v0, 0x2c($s0) +.L80240774: +/* E164F4 80240774 8FBF001C */ lw $ra, 0x1c($sp) +/* E164F8 80240778 8FB20018 */ lw $s2, 0x18($sp) +/* E164FC 8024077C 8FB10014 */ lw $s1, 0x14($sp) +/* E16500 80240780 8FB00010 */ lw $s0, 0x10($sp) +/* E16504 80240784 24020002 */ addiu $v0, $zero, 2 +/* E16508 80240788 03E00008 */ jr $ra +/* E1650C 8024078C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240790_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240790_E15D80.s new file mode 100644 index 0000000000..838e69023e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240790_E15D80.s @@ -0,0 +1,292 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790_E16510 +/* E16510 80240790 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* E16514 80240794 0000202D */ daddu $a0, $zero, $zero +/* E16518 80240798 AFBF00BC */ sw $ra, 0xbc($sp) +/* E1651C 8024079C AFB600B8 */ sw $s6, 0xb8($sp) +/* E16520 802407A0 AFB500B4 */ sw $s5, 0xb4($sp) +/* E16524 802407A4 AFB400B0 */ sw $s4, 0xb0($sp) +/* E16528 802407A8 AFB300AC */ sw $s3, 0xac($sp) +/* E1652C 802407AC AFB200A8 */ sw $s2, 0xa8($sp) +/* E16530 802407B0 AFB100A4 */ sw $s1, 0xa4($sp) +/* E16534 802407B4 0C00FB3A */ jal get_enemy +/* E16538 802407B8 AFB000A0 */ sw $s0, 0xa0($sp) +/* E1653C 802407BC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* E16540 802407C0 8C55006C */ lw $s5, 0x6c($v0) +/* E16544 802407C4 2402038E */ addiu $v0, $zero, 0x38e +/* E16548 802407C8 AEA00004 */ sw $zero, 4($s5) +/* E1654C 802407CC AEA20008 */ sw $v0, 8($s5) +/* E16550 802407D0 AEA00020 */ sw $zero, 0x20($s5) +/* E16554 802407D4 AEA00024 */ sw $zero, 0x24($s5) +/* E16558 802407D8 0C00A67F */ jal rand_int +/* E1655C 802407DC AEA00028 */ sw $zero, 0x28($s5) +/* E16560 802407E0 3C035555 */ lui $v1, 0x5555 +/* E16564 802407E4 34635556 */ ori $v1, $v1, 0x5556 +/* E16568 802407E8 00430018 */ mult $v0, $v1 +/* E1656C 802407EC 0000802D */ daddu $s0, $zero, $zero +/* E16570 802407F0 3C068024 */ lui $a2, 0x8024 +/* E16574 802407F4 24C6273C */ addiu $a2, $a2, 0x273c +/* E16578 802407F8 27A50010 */ addiu $a1, $sp, 0x10 +/* E1657C 802407FC 00021FC3 */ sra $v1, $v0, 0x1f +/* E16580 80240800 00004010 */ mfhi $t0 +/* E16584 80240804 01032023 */ subu $a0, $t0, $v1 +/* E16588 80240808 00041840 */ sll $v1, $a0, 1 +/* E1658C 8024080C 00641821 */ addu $v1, $v1, $a0 +/* E16590 80240810 00432023 */ subu $a0, $v0, $v1 +/* E16594 80240814 000410C0 */ sll $v0, $a0, 3 +/* E16598 80240818 00441021 */ addu $v0, $v0, $a0 +/* E1659C 8024081C 00021080 */ sll $v0, $v0, 2 +/* E165A0 80240820 00441023 */ subu $v0, $v0, $a0 +/* E165A4 80240824 00021880 */ sll $v1, $v0, 2 +.L80240828: +/* E165A8 80240828 00661021 */ addu $v0, $v1, $a2 +/* E165AC 8024082C 24630004 */ addiu $v1, $v1, 4 +/* E165B0 80240830 8C420000 */ lw $v0, ($v0) +/* E165B4 80240834 26100001 */ addiu $s0, $s0, 1 +/* E165B8 80240838 ACA20000 */ sw $v0, ($a1) +/* E165BC 8024083C 2A020023 */ slti $v0, $s0, 0x23 +/* E165C0 80240840 1440FFF9 */ bnez $v0, .L80240828 +/* E165C4 80240844 24A50004 */ addiu $a1, $a1, 4 +/* E165C8 80240848 0000802D */ daddu $s0, $zero, $zero +/* E165CC 8024084C 3C13EA0E */ lui $s3, 0xea0e +/* E165D0 80240850 3673A0EB */ ori $s3, $s3, 0xa0eb +/* E165D4 80240854 27B20010 */ addiu $s2, $sp, 0x10 +.L80240858: +/* E165D8 80240858 0C00A67F */ jal rand_int +/* E165DC 8024085C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* E165E0 80240860 00530018 */ mult $v0, $s3 +/* E165E4 80240864 240403E8 */ addiu $a0, $zero, 0x3e8 +/* E165E8 80240868 00022FC3 */ sra $a1, $v0, 0x1f +/* E165EC 8024086C 00004010 */ mfhi $t0 +/* E165F0 80240870 01021821 */ addu $v1, $t0, $v0 +/* E165F4 80240874 00031943 */ sra $v1, $v1, 5 +/* E165F8 80240878 00658823 */ subu $s1, $v1, $a1 +/* E165FC 8024087C 001118C0 */ sll $v1, $s1, 3 +/* E16600 80240880 00711821 */ addu $v1, $v1, $s1 +/* E16604 80240884 00031880 */ sll $v1, $v1, 2 +/* E16608 80240888 00711823 */ subu $v1, $v1, $s1 +/* E1660C 8024088C 0C00A67F */ jal rand_int +/* E16610 80240890 00438823 */ subu $s1, $v0, $v1 +/* E16614 80240894 00530018 */ mult $v0, $s3 +/* E16618 80240898 000227C3 */ sra $a0, $v0, 0x1f +/* E1661C 8024089C 00004010 */ mfhi $t0 +/* E16620 802408A0 01021821 */ addu $v1, $t0, $v0 +/* E16624 802408A4 00031943 */ sra $v1, $v1, 5 +/* E16628 802408A8 00642023 */ subu $a0, $v1, $a0 +/* E1662C 802408AC 000418C0 */ sll $v1, $a0, 3 +/* E16630 802408B0 00641821 */ addu $v1, $v1, $a0 +/* E16634 802408B4 00031880 */ sll $v1, $v1, 2 +/* E16638 802408B8 00641823 */ subu $v1, $v1, $a0 +/* E1663C 802408BC 00432023 */ subu $a0, $v0, $v1 +/* E16640 802408C0 12240009 */ beq $s1, $a0, .L802408E8 +/* E16644 802408C4 26100001 */ addiu $s0, $s0, 1 +/* E16648 802408C8 00041880 */ sll $v1, $a0, 2 +/* E1664C 802408CC 02431821 */ addu $v1, $s2, $v1 +/* E16650 802408D0 00111080 */ sll $v0, $s1, 2 +/* E16654 802408D4 02421021 */ addu $v0, $s2, $v0 +/* E16658 802408D8 8C440000 */ lw $a0, ($v0) +/* E1665C 802408DC 8C650000 */ lw $a1, ($v1) +/* E16660 802408E0 AC640000 */ sw $a0, ($v1) +/* E16664 802408E4 AC450000 */ sw $a1, ($v0) +.L802408E8: +/* E16668 802408E8 2A022710 */ slti $v0, $s0, 0x2710 +/* E1666C 802408EC 1440FFDA */ bnez $v0, .L80240858 +/* E16670 802408F0 2407FFFF */ addiu $a3, $zero, -1 +/* E16674 802408F4 0000802D */ daddu $s0, $zero, $zero +/* E16678 802408F8 3C068024 */ lui $a2, 0x8024 +/* E1667C 802408FC 24C6296C */ addiu $a2, $a2, 0x296c +/* E16680 80240900 3C058024 */ lui $a1, 0x8024 +/* E16684 80240904 24A528E0 */ addiu $a1, $a1, 0x28e0 +/* E16688 80240908 27A40010 */ addiu $a0, $sp, 0x10 +/* E1668C 8024090C 02A0182D */ daddu $v1, $s5, $zero +.L80240910: +/* E16690 80240910 AC67002C */ sw $a3, 0x2c($v1) +/* E16694 80240914 AC600030 */ sw $zero, 0x30($v1) +/* E16698 80240918 8C820000 */ lw $v0, ($a0) +/* E1669C 8024091C 24840004 */ addiu $a0, $a0, 4 +/* E166A0 80240920 26100001 */ addiu $s0, $s0, 1 +/* E166A4 80240924 AC620034 */ sw $v0, 0x34($v1) +/* E166A8 80240928 8CA20000 */ lw $v0, ($a1) +/* E166AC 8024092C 24A50004 */ addiu $a1, $a1, 4 +/* E166B0 80240930 AC620038 */ sw $v0, 0x38($v1) +/* E166B4 80240934 8CC20000 */ lw $v0, ($a2) +/* E166B8 80240938 24C60004 */ addiu $a2, $a2, 4 +/* E166BC 8024093C AC670040 */ sw $a3, 0x40($v1) +/* E166C0 80240940 AC670044 */ sw $a3, 0x44($v1) +/* E166C4 80240944 AC62003C */ sw $v0, 0x3c($v1) +/* E166C8 80240948 2A020023 */ slti $v0, $s0, 0x23 +/* E166CC 8024094C 1440FFF0 */ bnez $v0, .L80240910 +/* E166D0 80240950 2463001C */ addiu $v1, $v1, 0x1c +/* E166D4 80240954 2410000A */ addiu $s0, $zero, 0xa +.L80240958: +/* E166D8 80240958 0C00FB3A */ jal get_enemy +/* E166DC 8024095C 0200202D */ daddu $a0, $s0, $zero +/* E166E0 80240960 AC40006C */ sw $zero, 0x6c($v0) +/* E166E4 80240964 26100001 */ addiu $s0, $s0, 1 +/* E166E8 80240968 2A02000F */ slti $v0, $s0, 0xf +/* E166EC 8024096C 1440FFFA */ bnez $v0, .L80240958 +/* E166F0 80240970 00000000 */ nop +/* E166F4 80240974 2410001E */ addiu $s0, $zero, 0x1e +.L80240978: +/* E166F8 80240978 0C00FB3A */ jal get_enemy +/* E166FC 8024097C 0200202D */ daddu $a0, $s0, $zero +/* E16700 80240980 AC40006C */ sw $zero, 0x6c($v0) +/* E16704 80240984 26100001 */ addiu $s0, $s0, 1 +/* E16708 80240988 2A020023 */ slti $v0, $s0, 0x23 +/* E1670C 8024098C 1440FFFA */ bnez $v0, .L80240978 +/* E16710 80240990 00000000 */ nop +/* E16714 80240994 24100064 */ addiu $s0, $zero, 0x64 +.L80240998: +/* E16718 80240998 0C00FB3A */ jal get_enemy +/* E1671C 8024099C 0200202D */ daddu $a0, $s0, $zero +/* E16720 802409A0 AC40006C */ sw $zero, 0x6c($v0) +/* E16724 802409A4 26100001 */ addiu $s0, $s0, 1 +/* E16728 802409A8 2A02006E */ slti $v0, $s0, 0x6e +/* E1672C 802409AC 1440FFFA */ bnez $v0, .L80240998 +/* E16730 802409B0 00000000 */ nop +/* E16734 802409B4 24100009 */ addiu $s0, $zero, 9 +/* E16738 802409B8 3C028025 */ lui $v0, 0x8025 +/* E1673C 802409BC 24428624 */ addiu $v0, $v0, -0x79dc +.L802409C0: +/* E16740 802409C0 AC400000 */ sw $zero, ($v0) +/* E16744 802409C4 2610FFFF */ addiu $s0, $s0, -1 +/* E16748 802409C8 0601FFFD */ bgez $s0, .L802409C0 +/* E1674C 802409CC 2442FFFC */ addiu $v0, $v0, -4 +/* E16750 802409D0 24140001 */ addiu $s4, $zero, 1 +/* E16754 802409D4 3C168025 */ lui $s6, 0x8025 +/* E16758 802409D8 26D68600 */ addiu $s6, $s6, -0x7a00 +/* E1675C 802409DC 02A0982D */ daddu $s3, $s5, $zero +.L802409E0: +/* E16760 802409E0 8E630034 */ lw $v1, 0x34($s3) +/* E16764 802409E4 1074001B */ beq $v1, $s4, .L80240A54 +/* E16768 802409E8 28620002 */ slti $v0, $v1, 2 +/* E1676C 802409EC 10400005 */ beqz $v0, .L80240A04 +/* E16770 802409F0 24020002 */ addiu $v0, $zero, 2 +/* E16774 802409F4 10600009 */ beqz $v1, .L80240A1C +/* E16778 802409F8 2402000A */ addiu $v0, $zero, 0xa +/* E1677C 802409FC 080902DD */ j .L80240B74 +/* E16780 80240A00 2673001C */ addiu $s3, $s3, 0x1c +.L80240A04: +/* E16784 80240A04 1062002E */ beq $v1, $v0, .L80240AC0 +/* E16788 80240A08 24020003 */ addiu $v0, $zero, 3 +/* E1678C 80240A0C 10620057 */ beq $v1, $v0, .L80240B6C +/* E16790 80240A10 24020032 */ addiu $v0, $zero, 0x32 +/* E16794 80240A14 080902DD */ j .L80240B74 +/* E16798 80240A18 2673001C */ addiu $s3, $s3, 0x1c +.L80240A1C: +/* E1679C 80240A1C AE62002C */ sw $v0, 0x2c($s3) +/* E167A0 80240A20 0040882D */ daddu $s1, $v0, $zero +.L80240A24: +/* E167A4 80240A24 0C00FB3A */ jal get_enemy +/* E167A8 80240A28 0220202D */ daddu $a0, $s1, $zero +/* E167AC 80240A2C 0040802D */ daddu $s0, $v0, $zero +/* E167B0 80240A30 8E02006C */ lw $v0, 0x6c($s0) +/* E167B4 80240A34 1040003B */ beqz $v0, .L80240B24 +/* E167B8 80240A38 00000000 */ nop +/* E167BC 80240A3C 26310001 */ addiu $s1, $s1, 1 +/* E167C0 80240A40 2A22000F */ slti $v0, $s1, 0xf +/* E167C4 80240A44 1440FFF7 */ bnez $v0, .L80240A24 +/* E167C8 80240A48 00000000 */ nop +/* E167CC 80240A4C 080902DD */ j .L80240B74 +/* E167D0 80240A50 2673001C */ addiu $s3, $s3, 0x1c +.L80240A54: +/* E167D4 80240A54 2402001E */ addiu $v0, $zero, 0x1e +/* E167D8 80240A58 AE62002C */ sw $v0, 0x2c($s3) +/* E167DC 80240A5C 0040882D */ daddu $s1, $v0, $zero +.L80240A60: +/* E167E0 80240A60 0C00FB3A */ jal get_enemy +/* E167E4 80240A64 0220202D */ daddu $a0, $s1, $zero +/* E167E8 80240A68 0040802D */ daddu $s0, $v0, $zero +/* E167EC 80240A6C 8E02006C */ lw $v0, 0x6c($s0) +/* E167F0 80240A70 1040002C */ beqz $v0, .L80240B24 +/* E167F4 80240A74 00000000 */ nop +/* E167F8 80240A78 26310001 */ addiu $s1, $s1, 1 +/* E167FC 80240A7C 2A220023 */ slti $v0, $s1, 0x23 +/* E16800 80240A80 1440FFF7 */ bnez $v0, .L80240A60 +/* E16804 80240A84 00000000 */ nop +/* E16808 80240A88 080902DD */ j .L80240B74 +/* E1680C 80240A8C 2673001C */ addiu $s3, $s3, 0x1c +.L80240A90: +/* E16810 80240A90 86040008 */ lh $a0, 8($s0) +/* E16814 80240A94 0C00EABB */ jal get_npc_unsafe +/* E16818 80240A98 00000000 */ nop +/* E1681C 80240A9C 0040902D */ daddu $s2, $v0, $zero +/* E16820 80240AA0 0040202D */ daddu $a0, $v0, $zero +/* E16824 80240AA4 AE14006C */ sw $s4, 0x6c($s0) +/* E16828 80240AA8 0C00EAFF */ jal disable_npc_shadow +/* E1682C 80240AAC AE710040 */ sw $s1, 0x40($s3) +/* E16830 80240AB0 8E420000 */ lw $v0, ($s2) +/* E16834 80240AB4 34420002 */ ori $v0, $v0, 2 +/* E16838 80240AB8 080902BD */ j .L80240AF4 +/* E1683C 80240ABC AE420000 */ sw $v0, ($s2) +.L80240AC0: +/* E16840 80240AC0 24020046 */ addiu $v0, $zero, 0x46 +/* E16844 80240AC4 AE62002C */ sw $v0, 0x2c($s3) +/* E16848 80240AC8 24110064 */ addiu $s1, $zero, 0x64 +.L80240ACC: +/* E1684C 80240ACC 0C00FB3A */ jal get_enemy +/* E16850 80240AD0 0220202D */ daddu $a0, $s1, $zero +/* E16854 80240AD4 0040802D */ daddu $s0, $v0, $zero +/* E16858 80240AD8 8E02006C */ lw $v0, 0x6c($s0) +/* E1685C 80240ADC 1040FFEC */ beqz $v0, .L80240A90 +/* E16860 80240AE0 00000000 */ nop +/* E16864 80240AE4 26310001 */ addiu $s1, $s1, 1 +/* E16868 80240AE8 2A22006E */ slti $v0, $s1, 0x6e +/* E1686C 80240AEC 1440FFF7 */ bnez $v0, .L80240ACC +/* E16870 80240AF0 00000000 */ nop +.L80240AF4: +/* E16874 80240AF4 0000882D */ daddu $s1, $zero, $zero +/* E16878 80240AF8 02C0202D */ daddu $a0, $s6, $zero +.L80240AFC: +/* E1687C 80240AFC 0080182D */ daddu $v1, $a0, $zero +/* E16880 80240B00 8C620000 */ lw $v0, ($v1) +/* E16884 80240B04 10400013 */ beqz $v0, .L80240B54 +/* E16888 80240B08 00112880 */ sll $a1, $s1, 2 +/* E1688C 80240B0C 26310001 */ addiu $s1, $s1, 1 +/* E16890 80240B10 2A22000B */ slti $v0, $s1, 0xb +/* E16894 80240B14 1440FFF9 */ bnez $v0, .L80240AFC +/* E16898 80240B18 24640004 */ addiu $a0, $v1, 4 +/* E1689C 80240B1C 080902DD */ j .L80240B74 +/* E168A0 80240B20 2673001C */ addiu $s3, $s3, 0x1c +.L80240B24: +/* E168A4 80240B24 86040008 */ lh $a0, 8($s0) +/* E168A8 80240B28 0C00EABB */ jal get_npc_unsafe +/* E168AC 80240B2C 00000000 */ nop +/* E168B0 80240B30 0040902D */ daddu $s2, $v0, $zero +/* E168B4 80240B34 0240202D */ daddu $a0, $s2, $zero +/* E168B8 80240B38 AE14006C */ sw $s4, 0x6c($s0) +/* E168BC 80240B3C 0C00EAFF */ jal disable_npc_shadow +/* E168C0 80240B40 AE710040 */ sw $s1, 0x40($s3) +/* E168C4 80240B44 8E420000 */ lw $v0, ($s2) +/* E168C8 80240B48 34420002 */ ori $v0, $v0, 2 +/* E168CC 80240B4C 080902DC */ j .L80240B70 +/* E168D0 80240B50 AE420000 */ sw $v0, ($s2) +.L80240B54: +/* E168D4 80240B54 AC940000 */ sw $s4, ($a0) +/* E168D8 80240B58 3C028024 */ lui $v0, 0x8024 +/* E168DC 80240B5C 00451021 */ addu $v0, $v0, $a1 +/* E168E0 80240B60 8C4229F8 */ lw $v0, 0x29f8($v0) +/* E168E4 80240B64 080902DC */ j .L80240B70 +/* E168E8 80240B68 AE620044 */ sw $v0, 0x44($s3) +.L80240B6C: +/* E168EC 80240B6C AE62002C */ sw $v0, 0x2c($s3) +.L80240B70: +/* E168F0 80240B70 2673001C */ addiu $s3, $s3, 0x1c +.L80240B74: +/* E168F4 80240B74 26A203D4 */ addiu $v0, $s5, 0x3d4 +/* E168F8 80240B78 0262102A */ slt $v0, $s3, $v0 +/* E168FC 80240B7C 1440FF98 */ bnez $v0, .L802409E0 +/* E16900 80240B80 00000000 */ nop +/* E16904 80240B84 8FBF00BC */ lw $ra, 0xbc($sp) +/* E16908 80240B88 8FB600B8 */ lw $s6, 0xb8($sp) +/* E1690C 80240B8C 8FB500B4 */ lw $s5, 0xb4($sp) +/* E16910 80240B90 8FB400B0 */ lw $s4, 0xb0($sp) +/* E16914 80240B94 8FB300AC */ lw $s3, 0xac($sp) +/* E16918 80240B98 8FB200A8 */ lw $s2, 0xa8($sp) +/* E1691C 80240B9C 8FB100A4 */ lw $s1, 0xa4($sp) +/* E16920 80240BA0 8FB000A0 */ lw $s0, 0xa0($sp) +/* E16924 80240BA4 24020002 */ addiu $v0, $zero, 2 +/* E16928 80240BA8 03E00008 */ jr $ra +/* E1692C 80240BAC 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80240BB0_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240BB0_E15D80.s new file mode 100644 index 0000000000..2c53b126e8 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80240BB0_E15D80.s @@ -0,0 +1,1208 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB0_E16930 +/* E16930 80240BB0 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* E16934 80240BB4 0000202D */ daddu $a0, $zero, $zero +/* E16938 80240BB8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* E1693C 80240BBC AFBE00B0 */ sw $fp, 0xb0($sp) +/* E16940 80240BC0 AFB700AC */ sw $s7, 0xac($sp) +/* E16944 80240BC4 AFB600A8 */ sw $s6, 0xa8($sp) +/* E16948 80240BC8 AFB500A4 */ sw $s5, 0xa4($sp) +/* E1694C 80240BCC AFB400A0 */ sw $s4, 0xa0($sp) +/* E16950 80240BD0 AFB3009C */ sw $s3, 0x9c($sp) +/* E16954 80240BD4 AFB20098 */ sw $s2, 0x98($sp) +/* E16958 80240BD8 AFB10094 */ sw $s1, 0x94($sp) +/* E1695C 80240BDC AFB00090 */ sw $s0, 0x90($sp) +/* E16960 80240BE0 F7BE00E0 */ sdc1 $f30, 0xe0($sp) +/* E16964 80240BE4 F7BC00D8 */ sdc1 $f28, 0xd8($sp) +/* E16968 80240BE8 F7BA00D0 */ sdc1 $f26, 0xd0($sp) +/* E1696C 80240BEC F7B800C8 */ sdc1 $f24, 0xc8($sp) +/* E16970 80240BF0 F7B600C0 */ sdc1 $f22, 0xc0($sp) +/* E16974 80240BF4 F7B400B8 */ sdc1 $f20, 0xb8($sp) +/* E16978 80240BF8 AFA00084 */ sw $zero, 0x84($sp) +/* E1697C 80240BFC 0C00FB3A */ jal get_enemy +/* E16980 80240C00 AFA00088 */ sw $zero, 0x88($sp) +/* E16984 80240C04 27BE0074 */ addiu $fp, $sp, 0x74 +/* E16988 80240C08 27B60078 */ addiu $s6, $sp, 0x78 +/* E1698C 80240C0C 27B7007C */ addiu $s7, $sp, 0x7c +/* E16990 80240C10 3C01C47A */ lui $at, 0xc47a +/* E16994 80240C14 4481D000 */ mtc1 $at, $f26 +/* E16998 80240C18 3C014000 */ lui $at, 0x4000 +/* E1699C 80240C1C 4481C800 */ mtc1 $at, $f25 +/* E169A0 80240C20 4480C000 */ mtc1 $zero, $f24 +/* E169A4 80240C24 4480E000 */ mtc1 $zero, $f28 +/* E169A8 80240C28 3C014000 */ lui $at, 0x4000 +/* E169AC 80240C2C 4481F000 */ mtc1 $at, $f30 +/* E169B0 80240C30 3C014120 */ lui $at, 0x4120 +/* E169B4 80240C34 4481B000 */ mtc1 $at, $f22 +/* E169B8 80240C38 8C55006C */ lw $s5, 0x6c($v0) +/* E169BC 80240C3C 3C014024 */ lui $at, 0x4024 +/* E169C0 80240C40 4481A800 */ mtc1 $at, $f21 +/* E169C4 80240C44 4480A000 */ mtc1 $zero, $f20 +/* E169C8 80240C48 02A0A02D */ daddu $s4, $s5, $zero +.L80240C4C: +/* E169CC 80240C4C 8E840040 */ lw $a0, 0x40($s4) +/* E169D0 80240C50 2402FFFF */ addiu $v0, $zero, -1 +/* E169D4 80240C54 108203B2 */ beq $a0, $v0, .L80241B20 +/* E169D8 80240C58 24020032 */ addiu $v0, $zero, 0x32 +/* E169DC 80240C5C 0C00FB3A */ jal get_enemy +/* E169E0 80240C60 00000000 */ nop +/* E169E4 80240C64 84440008 */ lh $a0, 8($v0) +/* E169E8 80240C68 0C00EABB */ jal get_npc_unsafe +/* E169EC 80240C6C 0040802D */ daddu $s0, $v0, $zero +/* E169F0 80240C70 8E83002C */ lw $v1, 0x2c($s4) +/* E169F4 80240C74 0040982D */ daddu $s3, $v0, $zero +/* E169F8 80240C78 2463FFF6 */ addiu $v1, $v1, -0xa +/* E169FC 80240C7C 2C620042 */ sltiu $v0, $v1, 0x42 +/* E16A00 80240C80 104003AD */ beqz $v0, .L80241B38 +/* E16A04 80240C84 00031080 */ sll $v0, $v1, 2 +/* E16A08 80240C88 3C018025 */ lui $at, 0x8025 +/* E16A0C 80240C8C 00220821 */ addu $at, $at, $v0 +/* E16A10 80240C90 8C2284E8 */ lw $v0, -0x7b18($at) +/* E16A14 80240C94 00400008 */ jr $v0 +/* E16A18 80240C98 00000000 */ nop +/* E16A1C 80240C9C 240400D2 */ addiu $a0, $zero, 0xd2 +/* E16A20 80240CA0 2402000B */ addiu $v0, $zero, 0xb +/* E16A24 80240CA4 0C00A67F */ jal rand_int +/* E16A28 80240CA8 AE82002C */ sw $v0, 0x2c($s4) +/* E16A2C 80240CAC 0260202D */ daddu $a0, $s3, $zero +/* E16A30 80240CB0 AE820030 */ sw $v0, 0x30($s4) +/* E16A34 80240CB4 8E620000 */ lw $v0, ($s3) +/* E16A38 80240CB8 2403FFFD */ addiu $v1, $zero, -3 +/* E16A3C 80240CBC E67A003C */ swc1 $f26, 0x3c($s3) +/* E16A40 80240CC0 00431024 */ and $v0, $v0, $v1 +/* E16A44 80240CC4 0C00EAFF */ jal disable_npc_shadow +/* E16A48 80240CC8 AE620000 */ sw $v0, ($s3) +/* E16A4C 80240CCC 8E820030 */ lw $v0, 0x30($s4) +/* E16A50 80240CD0 2442FFFF */ addiu $v0, $v0, -1 +/* E16A54 80240CD4 1C400398 */ bgtz $v0, .L80241B38 +/* E16A58 80240CD8 AE820030 */ sw $v0, 0x30($s4) +/* E16A5C 80240CDC 3C02002B */ lui $v0, 0x2b +/* E16A60 80240CE0 34420002 */ ori $v0, $v0, 2 +/* E16A64 80240CE4 AE620028 */ sw $v0, 0x28($s3) +/* E16A68 80240CE8 2402000C */ addiu $v0, $zero, 0xc +/* E16A6C 80240CEC AE82002C */ sw $v0, 0x2c($s4) +/* E16A70 80240CF0 C6600040 */ lwc1 $f0, 0x40($s3) +/* E16A74 80240CF4 E7A00010 */ swc1 $f0, 0x10($sp) +/* E16A78 80240CF8 8E04008C */ lw $a0, 0x8c($s0) +/* E16A7C 80240CFC 8E660038 */ lw $a2, 0x38($s3) +/* E16A80 80240D00 8E67003C */ lw $a3, 0x3c($s3) +/* E16A84 80240D04 0C052757 */ jal play_sound_at_position +/* E16A88 80240D08 3C050010 */ lui $a1, 0x10 +/* E16A8C 80240D0C 27A50068 */ addiu $a1, $sp, 0x68 +/* E16A90 80240D10 27A6006C */ addiu $a2, $sp, 0x6c +/* E16A94 80240D14 9684003A */ lhu $a0, 0x3a($s4) +/* E16A98 80240D18 27A70070 */ addiu $a3, $sp, 0x70 +/* E16A9C 80240D1C AFBE0010 */ sw $fp, 0x10($sp) +/* E16AA0 80240D20 AFB60014 */ sw $s6, 0x14($sp) +/* E16AA4 80240D24 0C046C3B */ jal get_model_center_and_size +/* E16AA8 80240D28 AFB70018 */ sw $s7, 0x18($sp) +/* E16AAC 80240D2C 3C014128 */ lui $at, 0x4128 +/* E16AB0 80240D30 44810000 */ mtc1 $at, $f0 +/* E16AB4 80240D34 C7A40068 */ lwc1 $f4, 0x68($sp) +/* E16AB8 80240D38 C7A2006C */ lwc1 $f2, 0x6c($sp) +/* E16ABC 80240D3C E660001C */ swc1 $f0, 0x1c($s3) +/* E16AC0 80240D40 3C014029 */ lui $at, 0x4029 +/* E16AC4 80240D44 44810800 */ mtc1 $at, $f1 +/* E16AC8 80240D48 44800000 */ mtc1 $zero, $f0 +/* E16ACC 80240D4C 460010A1 */ cvt.d.s $f2, $f2 +/* E16AD0 80240D50 E6640038 */ swc1 $f4, 0x38($s3) +/* E16AD4 80240D54 3C013FC0 */ lui $at, 0x3fc0 +/* E16AD8 80240D58 44812000 */ mtc1 $at, $f4 +/* E16ADC 80240D5C 46201081 */ sub.d $f2, $f2, $f0 +/* E16AE0 80240D60 E6640014 */ swc1 $f4, 0x14($s3) +/* E16AE4 80240D64 C7A00070 */ lwc1 $f0, 0x70($sp) +/* E16AE8 80240D68 46000021 */ cvt.d.s $f0, $f0 +/* E16AEC 80240D6C 46380000 */ add.d $f0, $f0, $f24 +/* E16AF0 80240D70 462010A0 */ cvt.s.d $f2, $f2 +/* E16AF4 80240D74 E662003C */ swc1 $f2, 0x3c($s3) +/* E16AF8 80240D78 E6620064 */ swc1 $f2, 0x64($s3) +/* E16AFC 80240D7C 46200020 */ cvt.s.d $f0, $f0 +/* E16B00 80240D80 080906CD */ j .L80241B34 +/* E16B04 80240D84 E6600040 */ swc1 $f0, 0x40($s3) +/* E16B08 80240D88 8E820030 */ lw $v0, 0x30($s4) +/* E16B0C 80240D8C 24420001 */ addiu $v0, $v0, 1 +/* E16B10 80240D90 AE820030 */ sw $v0, 0x30($s4) +/* E16B14 80240D94 C660001C */ lwc1 $f0, 0x1c($s3) +/* E16B18 80240D98 C664003C */ lwc1 $f4, 0x3c($s3) +/* E16B1C 80240D9C 46000186 */ mov.s $f6, $f0 +/* E16B20 80240DA0 46002100 */ add.s $f4, $f4, $f0 +/* E16B24 80240DA4 C6600014 */ lwc1 $f0, 0x14($s3) +/* E16B28 80240DA8 3C0141A0 */ lui $at, 0x41a0 +/* E16B2C 80240DAC 44811000 */ mtc1 $at, $f2 +/* E16B30 80240DB0 46003181 */ sub.s $f6, $f6, $f0 +/* E16B34 80240DB4 C6600064 */ lwc1 $f0, 0x64($s3) +/* E16B38 80240DB8 46020000 */ add.s $f0, $f0, $f2 +/* E16B3C 80240DBC E664003C */ swc1 $f4, 0x3c($s3) +/* E16B40 80240DC0 46002086 */ mov.s $f2, $f4 +/* E16B44 80240DC4 4602003C */ c.lt.s $f0, $f2 +/* E16B48 80240DC8 00000000 */ nop +/* E16B4C 80240DCC 45000005 */ bc1f .L80240DE4 +/* E16B50 80240DD0 E666001C */ swc1 $f6, 0x1c($s3) +/* E16B54 80240DD4 0C00EAE8 */ jal enable_npc_shadow +/* E16B58 80240DD8 0260202D */ daddu $a0, $s3, $zero +/* E16B5C 80240DDC 0809037B */ j .L80240DEC +/* E16B60 80240DE0 00000000 */ nop +.L80240DE4: +/* E16B64 80240DE4 0C00EAFF */ jal disable_npc_shadow +/* E16B68 80240DE8 0260202D */ daddu $a0, $s3, $zero +.L80240DEC: +/* E16B6C 80240DEC C660001C */ lwc1 $f0, 0x1c($s3) +/* E16B70 80240DF0 44801000 */ mtc1 $zero, $f2 +/* E16B74 80240DF4 44801800 */ mtc1 $zero, $f3 +/* E16B78 80240DF8 46000021 */ cvt.d.s $f0, $f0 +/* E16B7C 80240DFC 4622003C */ c.lt.d $f0, $f2 +/* E16B80 80240E00 00000000 */ nop +/* E16B84 80240E04 4502034D */ bc1fl .L80241B3C +/* E16B88 80240E08 2694001C */ addiu $s4, $s4, 0x1c +/* E16B8C 80240E0C C662003C */ lwc1 $f2, 0x3c($s3) +/* E16B90 80240E10 C6600064 */ lwc1 $f0, 0x64($s3) +/* E16B94 80240E14 4600103E */ c.le.s $f2, $f0 +/* E16B98 80240E18 00000000 */ nop +/* E16B9C 80240E1C 45000346 */ bc1f .L80241B38 +/* E16BA0 80240E20 2404014A */ addiu $a0, $zero, 0x14a +/* E16BA4 80240E24 2402000B */ addiu $v0, $zero, 0xb +/* E16BA8 80240E28 0C00A67F */ jal rand_int +/* E16BAC 80240E2C AE82002C */ sw $v0, 0x2c($s4) +/* E16BB0 80240E30 24040064 */ addiu $a0, $zero, 0x64 +/* E16BB4 80240E34 2442005A */ addiu $v0, $v0, 0x5a +/* E16BB8 80240E38 AE820030 */ sw $v0, 0x30($s4) +/* E16BBC 80240E3C 0C00A67F */ jal rand_int +/* E16BC0 80240E40 E67A003C */ swc1 $f26, 0x3c($s3) +/* E16BC4 80240E44 28420032 */ slti $v0, $v0, 0x32 +/* E16BC8 80240E48 104001B0 */ beqz $v0, .L8024150C +/* E16BCC 80240E4C 00000000 */ nop +/* E16BD0 80240E50 3C014387 */ lui $at, 0x4387 +/* E16BD4 80240E54 44810000 */ mtc1 $at, $f0 +/* E16BD8 80240E58 08090547 */ j .L8024151C +/* E16BDC 80240E5C E660000C */ swc1 $f0, 0xc($s3) +/* E16BE0 80240E60 8EA4000C */ lw $a0, 0xc($s5) +/* E16BE4 80240E64 3C058011 */ lui $a1, 0x8011 +/* E16BE8 80240E68 24A58B28 */ addiu $a1, $a1, -0x74d8 +/* E16BEC 80240E6C 0C0511FF */ jal set_menu_icon_script +/* E16BF0 80240E70 00000000 */ nop +/* E16BF4 80240E74 8EA4000C */ lw $a0, 0xc($s5) +/* E16BF8 80240E78 0C0513AC */ jal icon_set_opacity +/* E16BFC 80240E7C 240500A0 */ addiu $a1, $zero, 0xa0 +/* E16C00 80240E80 8EA40010 */ lw $a0, 0x10($s5) +/* E16C04 80240E84 0C0513AC */ jal icon_set_opacity +/* E16C08 80240E88 240500A0 */ addiu $a1, $zero, 0xa0 +/* E16C0C 80240E8C 8EA20028 */ lw $v0, 0x28($s5) +/* E16C10 80240E90 0260202D */ daddu $a0, $s3, $zero +/* E16C14 80240E94 AEA00024 */ sw $zero, 0x24($s5) +/* E16C18 80240E98 34420004 */ ori $v0, $v0, 4 +/* E16C1C 80240E9C 0C00EAE8 */ jal enable_npc_shadow +/* E16C20 80240EA0 AEA20028 */ sw $v0, 0x28($s5) +/* E16C24 80240EA4 8EA20028 */ lw $v0, 0x28($s5) +/* E16C28 80240EA8 34420003 */ ori $v0, $v0, 3 +/* E16C2C 80240EAC AEA20028 */ sw $v0, 0x28($s5) +/* E16C30 80240EB0 24020008 */ addiu $v0, $zero, 8 +/* E16C34 80240EB4 A662008E */ sh $v0, 0x8e($s3) +/* E16C38 80240EB8 0C05272D */ jal play_sound +/* E16C3C 80240EBC 8E04008C */ lw $a0, 0x8c($s0) +/* E16C40 80240EC0 3C070001 */ lui $a3, 1 +/* E16C44 80240EC4 34E70001 */ ori $a3, $a3, 1 +/* E16C48 80240EC8 3C04002B */ lui $a0, 0x2b +/* E16C4C 80240ECC 34840003 */ ori $a0, $a0, 3 +/* E16C50 80240ED0 27A50068 */ addiu $a1, $sp, 0x68 +/* E16C54 80240ED4 27A6006C */ addiu $a2, $sp, 0x6c +/* E16C58 80240ED8 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* E16C5C 80240EDC 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* E16C60 80240EE0 2402000E */ addiu $v0, $zero, 0xe +/* E16C64 80240EE4 AE82002C */ sw $v0, 0x2c($s4) +/* E16C68 80240EE8 AC6700B8 */ sw $a3, 0xb8($v1) +/* E16C6C 80240EEC AE640028 */ sw $a0, 0x28($s3) +/* E16C70 80240EF0 9684003A */ lhu $a0, 0x3a($s4) +/* E16C74 80240EF4 27A70070 */ addiu $a3, $sp, 0x70 +/* E16C78 80240EF8 AFBE0010 */ sw $fp, 0x10($sp) +/* E16C7C 80240EFC AFB60014 */ sw $s6, 0x14($sp) +/* E16C80 80240F00 0C046C3B */ jal get_model_center_and_size +/* E16C84 80240F04 AFB70018 */ sw $s7, 0x18($sp) +/* E16C88 80240F08 0000202D */ daddu $a0, $zero, $zero +/* E16C8C 80240F0C 0260282D */ daddu $a1, $s3, $zero +/* E16C90 80240F10 4406E000 */ mfc1 $a2, $f28 +/* E16C94 80240F14 C7A20068 */ lwc1 $f2, 0x68($sp) +/* E16C98 80240F18 C7A00070 */ lwc1 $f0, 0x70($sp) +/* E16C9C 80240F1C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E16CA0 80240F20 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E16CA4 80240F24 3C014128 */ lui $at, 0x4128 +/* E16CA8 80240F28 44812000 */ mtc1 $at, $f4 +/* E16CAC 80240F2C 46000021 */ cvt.d.s $f0, $f0 +/* E16CB0 80240F30 E6620038 */ swc1 $f2, 0x38($s3) +/* E16CB4 80240F34 C7A2006C */ lwc1 $f2, 0x6c($sp) +/* E16CB8 80240F38 46380000 */ add.d $f0, $f0, $f24 +/* E16CBC 80240F3C E662003C */ swc1 $f2, 0x3c($s3) +/* E16CC0 80240F40 3C01420C */ lui $at, 0x420c +/* E16CC4 80240F44 44811000 */ mtc1 $at, $f2 +/* E16CC8 80240F48 46200020 */ cvt.s.d $f0, $f0 +/* E16CCC 80240F4C E6600040 */ swc1 $f0, 0x40($s3) +/* E16CD0 80240F50 C440002C */ lwc1 $f0, 0x2c($v0) +/* E16CD4 80240F54 3C013FC0 */ lui $at, 0x3fc0 +/* E16CD8 80240F58 44813000 */ mtc1 $at, $f6 +/* E16CDC 80240F5C 46020000 */ add.s $f0, $f0, $f2 +/* E16CE0 80240F60 E664001C */ swc1 $f4, 0x1c($s3) +/* E16CE4 80240F64 E6660014 */ swc1 $f6, 0x14($s3) +/* E16CE8 80240F68 E6600064 */ swc1 $f0, 0x64($s3) +/* E16CEC 80240F6C AE800030 */ sw $zero, 0x30($s4) +/* E16CF0 80240F70 866300A8 */ lh $v1, 0xa8($s3) +/* E16CF4 80240F74 3C013F80 */ lui $at, 0x3f80 +/* E16CF8 80240F78 44810000 */ mtc1 $at, $f0 +/* E16CFC 80240F7C 2402000A */ addiu $v0, $zero, 0xa +/* E16D00 80240F80 AFA2001C */ sw $v0, 0x1c($sp) +/* E16D04 80240F84 44834000 */ mtc1 $v1, $f8 +/* E16D08 80240F88 00000000 */ nop +/* E16D0C 80240F8C 46804220 */ cvt.s.w $f8, $f8 +/* E16D10 80240F90 44074000 */ mfc1 $a3, $f8 +/* E16D14 80240F94 27A20080 */ addiu $v0, $sp, 0x80 +/* E16D18 80240F98 E7BE0014 */ swc1 $f30, 0x14($sp) +/* E16D1C 80240F9C E7BC0018 */ swc1 $f28, 0x18($sp) +/* E16D20 80240FA0 AFA20020 */ sw $v0, 0x20($sp) +/* E16D24 80240FA4 0C01BFA4 */ jal fx_emote +/* E16D28 80240FA8 E7A00010 */ swc1 $f0, 0x10($sp) +/* E16D2C 80240FAC C6600038 */ lwc1 $f0, 0x38($s3) +/* E16D30 80240FB0 46160002 */ mul.s $f0, $f0, $f22 +/* E16D34 80240FB4 00000000 */ nop +/* E16D38 80240FB8 4600020D */ trunc.w.s $f8, $f0 +/* E16D3C 80240FBC E6080070 */ swc1 $f8, 0x70($s0) +/* E16D40 80240FC0 C660003C */ lwc1 $f0, 0x3c($s3) +/* E16D44 80240FC4 46160002 */ mul.s $f0, $f0, $f22 +/* E16D48 80240FC8 00000000 */ nop +/* E16D4C 80240FCC 4600020D */ trunc.w.s $f8, $f0 +/* E16D50 80240FD0 E6080074 */ swc1 $f8, 0x74($s0) +/* E16D54 80240FD4 C6600040 */ lwc1 $f0, 0x40($s3) +/* E16D58 80240FD8 46160002 */ mul.s $f0, $f0, $f22 +/* E16D5C 80240FDC 00000000 */ nop +/* E16D60 80240FE0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E16D64 80240FE4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E16D68 80240FE8 4600020D */ trunc.w.s $f8, $f0 +/* E16D6C 80240FEC E6080078 */ swc1 $f8, 0x78($s0) +/* E16D70 80240FF0 C4400028 */ lwc1 $f0, 0x28($v0) +/* E16D74 80240FF4 46160002 */ mul.s $f0, $f0, $f22 +/* E16D78 80240FF8 00000000 */ nop +/* E16D7C 80240FFC 3C0141E0 */ lui $at, 0x41e0 +/* E16D80 80241000 44811000 */ mtc1 $at, $f2 +/* E16D84 80241004 4600020D */ trunc.w.s $f8, $f0 +/* E16D88 80241008 E608007C */ swc1 $f8, 0x7c($s0) +/* E16D8C 8024100C C440002C */ lwc1 $f0, 0x2c($v0) +/* E16D90 80241010 46020000 */ add.s $f0, $f0, $f2 +/* E16D94 80241014 46160002 */ mul.s $f0, $f0, $f22 +/* E16D98 80241018 00000000 */ nop +/* E16D9C 8024101C 4600020D */ trunc.w.s $f8, $f0 +/* E16DA0 80241020 E6080080 */ swc1 $f8, 0x80($s0) +/* E16DA4 80241024 C4400030 */ lwc1 $f0, 0x30($v0) +/* E16DA8 80241028 461E0000 */ add.s $f0, $f0, $f30 +/* E16DAC 8024102C 46160002 */ mul.s $f0, $f0, $f22 +/* E16DB0 80241030 00000000 */ nop +/* E16DB4 80241034 AE000088 */ sw $zero, 0x88($s0) +/* E16DB8 80241038 4600020D */ trunc.w.s $f8, $f0 +/* E16DBC 8024103C E6080084 */ swc1 $f8, 0x84($s0) +/* E16DC0 80241040 080906CF */ j .L80241B3C +/* E16DC4 80241044 2694001C */ addiu $s4, $s4, 0x1c +/* E16DC8 80241048 C6000070 */ lwc1 $f0, 0x70($s0) +/* E16DCC 8024104C 46800020 */ cvt.s.w $f0, $f0 +/* E16DD0 80241050 46000021 */ cvt.d.s $f0, $f0 +/* E16DD4 80241054 46340003 */ div.d $f0, $f0, $f20 +/* E16DD8 80241058 46200020 */ cvt.s.d $f0, $f0 +/* E16DDC 8024105C 44050000 */ mfc1 $a1, $f0 +/* E16DE0 80241060 C600007C */ lwc1 $f0, 0x7c($s0) +/* E16DE4 80241064 46800020 */ cvt.s.w $f0, $f0 +/* E16DE8 80241068 46000021 */ cvt.d.s $f0, $f0 +/* E16DEC 8024106C 46340003 */ div.d $f0, $f0, $f20 +/* E16DF0 80241070 46200020 */ cvt.s.d $f0, $f0 +/* E16DF4 80241074 8E020088 */ lw $v0, 0x88($s0) +/* E16DF8 80241078 44060000 */ mfc1 $a2, $f0 +/* E16DFC 8024107C 24420001 */ addiu $v0, $v0, 1 +/* E16E00 80241080 AE020088 */ sw $v0, 0x88($s0) +/* E16E04 80241084 24080008 */ addiu $t0, $zero, 8 +/* E16E08 80241088 AFA80010 */ sw $t0, 0x10($sp) +/* E16E0C 8024108C 8E070088 */ lw $a3, 0x88($s0) +/* E16E10 80241090 0C00A8ED */ jal update_lerp +/* E16E14 80241094 0000202D */ daddu $a0, $zero, $zero +/* E16E18 80241098 E6600038 */ swc1 $f0, 0x38($s3) +/* E16E1C 8024109C C6000074 */ lwc1 $f0, 0x74($s0) +/* E16E20 802410A0 46800020 */ cvt.s.w $f0, $f0 +/* E16E24 802410A4 46000021 */ cvt.d.s $f0, $f0 +/* E16E28 802410A8 46340003 */ div.d $f0, $f0, $f20 +/* E16E2C 802410AC 46200020 */ cvt.s.d $f0, $f0 +/* E16E30 802410B0 44050000 */ mfc1 $a1, $f0 +/* E16E34 802410B4 C6000080 */ lwc1 $f0, 0x80($s0) +/* E16E38 802410B8 46800020 */ cvt.s.w $f0, $f0 +/* E16E3C 802410BC 24080008 */ addiu $t0, $zero, 8 +/* E16E40 802410C0 46000021 */ cvt.d.s $f0, $f0 +/* E16E44 802410C4 46340003 */ div.d $f0, $f0, $f20 +/* E16E48 802410C8 46200020 */ cvt.s.d $f0, $f0 +/* E16E4C 802410CC AFA80010 */ sw $t0, 0x10($sp) +/* E16E50 802410D0 8E070088 */ lw $a3, 0x88($s0) +/* E16E54 802410D4 44060000 */ mfc1 $a2, $f0 +/* E16E58 802410D8 0C00A8ED */ jal update_lerp +/* E16E5C 802410DC 0000202D */ daddu $a0, $zero, $zero +/* E16E60 802410E0 E660003C */ swc1 $f0, 0x3c($s3) +/* E16E64 802410E4 C6000078 */ lwc1 $f0, 0x78($s0) +/* E16E68 802410E8 46800020 */ cvt.s.w $f0, $f0 +/* E16E6C 802410EC 46000021 */ cvt.d.s $f0, $f0 +/* E16E70 802410F0 46340003 */ div.d $f0, $f0, $f20 +/* E16E74 802410F4 46200020 */ cvt.s.d $f0, $f0 +/* E16E78 802410F8 44050000 */ mfc1 $a1, $f0 +/* E16E7C 802410FC C6000084 */ lwc1 $f0, 0x84($s0) +/* E16E80 80241100 46800020 */ cvt.s.w $f0, $f0 +/* E16E84 80241104 24080008 */ addiu $t0, $zero, 8 +/* E16E88 80241108 46000021 */ cvt.d.s $f0, $f0 +/* E16E8C 8024110C 46340003 */ div.d $f0, $f0, $f20 +/* E16E90 80241110 46200020 */ cvt.s.d $f0, $f0 +/* E16E94 80241114 AFA80010 */ sw $t0, 0x10($sp) +/* E16E98 80241118 8E070088 */ lw $a3, 0x88($s0) +/* E16E9C 8024111C 44060000 */ mfc1 $a2, $f0 +/* E16EA0 80241120 0C00A8ED */ jal update_lerp +/* E16EA4 80241124 0000202D */ daddu $a0, $zero, $zero +/* E16EA8 80241128 3C020001 */ lui $v0, 1 +/* E16EAC 8024112C 3C04800F */ lui $a0, %hi(gPlayerStatusPtr) +/* E16EB0 80241130 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0) +/* E16EB4 80241134 34420001 */ ori $v0, $v0, 1 +/* E16EB8 80241138 E6600040 */ swc1 $f0, 0x40($s3) +/* E16EBC 8024113C AC8200B8 */ sw $v0, 0xb8($a0) +/* E16EC0 80241140 9662008E */ lhu $v0, 0x8e($s3) +/* E16EC4 80241144 2442FFFF */ addiu $v0, $v0, -1 +/* E16EC8 80241148 A662008E */ sh $v0, 0x8e($s3) +/* E16ECC 8024114C 00021400 */ sll $v0, $v0, 0x10 +/* E16ED0 80241150 5C40027A */ bgtzl $v0, .L80241B3C +/* E16ED4 80241154 2694001C */ addiu $s4, $s4, 0x1c +/* E16ED8 80241158 3C03002B */ lui $v1, 0x2b +/* E16EDC 8024115C 3463000F */ ori $v1, $v1, 0xf +/* E16EE0 80241160 3C020001 */ lui $v0, 1 +/* E16EE4 80241164 3442001B */ ori $v0, $v0, 0x1b +/* E16EE8 80241168 AE630028 */ sw $v1, 0x28($s3) +/* E16EEC 8024116C AC8200B8 */ sw $v0, 0xb8($a0) +/* E16EF0 80241170 AEA00024 */ sw $zero, 0x24($s5) +/* E16EF4 80241174 C4800028 */ lwc1 $f0, 0x28($a0) +/* E16EF8 80241178 E6600038 */ swc1 $f0, 0x38($s3) +/* E16EFC 8024117C C480002C */ lwc1 $f0, 0x2c($a0) +/* E16F00 80241180 3C01403C */ lui $at, 0x403c +/* E16F04 80241184 44811800 */ mtc1 $at, $f3 +/* E16F08 80241188 44801000 */ mtc1 $zero, $f2 +/* E16F0C 8024118C 46000021 */ cvt.d.s $f0, $f0 +/* E16F10 80241190 46220000 */ add.d $f0, $f0, $f2 +/* E16F14 80241194 46200020 */ cvt.s.d $f0, $f0 +/* E16F18 80241198 E660003C */ swc1 $f0, 0x3c($s3) +/* E16F1C 8024119C C4800030 */ lwc1 $f0, 0x30($a0) +/* E16F20 802411A0 46000021 */ cvt.d.s $f0, $f0 +/* E16F24 802411A4 46380000 */ add.d $f0, $f0, $f24 +/* E16F28 802411A8 46200020 */ cvt.s.d $f0, $f0 +/* E16F2C 802411AC E6600040 */ swc1 $f0, 0x40($s3) +/* E16F30 802411B0 8EA4000C */ lw $a0, 0xc($s5) +/* E16F34 802411B4 3C058011 */ lui $a1, 0x8011 +/* E16F38 802411B8 24A58B80 */ addiu $a1, $a1, -0x7480 +/* E16F3C 802411BC 0C0511FF */ jal set_menu_icon_script +/* E16F40 802411C0 00000000 */ nop +/* E16F44 802411C4 8EA4000C */ lw $a0, 0xc($s5) +/* E16F48 802411C8 0C0513AC */ jal icon_set_opacity +/* E16F4C 802411CC 240500FF */ addiu $a1, $zero, 0xff +/* E16F50 802411D0 8EA40010 */ lw $a0, 0x10($s5) +/* E16F54 802411D4 0C0513AC */ jal icon_set_opacity +/* E16F58 802411D8 240500FF */ addiu $a1, $zero, 0xff +/* E16F5C 802411DC 2402000F */ addiu $v0, $zero, 0xf +/* E16F60 802411E0 080906CE */ j .L80241B38 +/* E16F64 802411E4 AE82002C */ sw $v0, 0x2c($s4) +/* E16F68 802411E8 3C040001 */ lui $a0, 1 +/* E16F6C 802411EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E16F70 802411F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E16F74 802411F4 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* E16F78 802411F8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* E16F7C 802411FC 3484001B */ ori $a0, $a0, 0x1b +/* E16F80 80241200 AC4400B8 */ sw $a0, 0xb8($v0) +/* E16F84 80241204 8C620010 */ lw $v0, 0x10($v1) +/* E16F88 80241208 30428000 */ andi $v0, $v0, 0x8000 +/* E16F8C 8024120C 10400004 */ beqz $v0, .L80241220 +/* E16F90 80241210 00000000 */ nop +/* E16F94 80241214 8EA20024 */ lw $v0, 0x24($s5) +/* E16F98 80241218 24420001 */ addiu $v0, $v0, 1 +/* E16F9C 8024121C AEA20024 */ sw $v0, 0x24($s5) +.L80241220: +/* E16FA0 80241220 8EA20024 */ lw $v0, 0x24($s5) +/* E16FA4 80241224 2842000C */ slti $v0, $v0, 0xc +/* E16FA8 80241228 54400244 */ bnel $v0, $zero, .L80241B3C +/* E16FAC 8024122C 2694001C */ addiu $s4, $s4, 0x1c +/* E16FB0 80241230 3C030001 */ lui $v1, 1 +/* E16FB4 80241234 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E16FB8 80241238 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E16FBC 8024123C 34630002 */ ori $v1, $v1, 2 +/* E16FC0 80241240 AC4300B8 */ sw $v1, 0xb8($v0) +/* E16FC4 80241244 8EA20028 */ lw $v0, 0x28($s5) +/* E16FC8 80241248 2403FFFE */ addiu $v1, $zero, -2 +/* E16FCC 8024124C 00431024 */ and $v0, $v0, $v1 +/* E16FD0 80241250 34420002 */ ori $v0, $v0, 2 +/* E16FD4 80241254 AEA20028 */ sw $v0, 0x28($s5) +/* E16FD8 80241258 24020010 */ addiu $v0, $zero, 0x10 +/* E16FDC 8024125C AE82002C */ sw $v0, 0x2c($s4) +/* E16FE0 80241260 2402000A */ addiu $v0, $zero, 0xa +/* E16FE4 80241264 A662008E */ sh $v0, 0x8e($s3) +/* E16FE8 80241268 8EA4000C */ lw $a0, 0xc($s5) +/* E16FEC 8024126C 3C058011 */ lui $a1, 0x8011 +/* E16FF0 80241270 24A58B28 */ addiu $a1, $a1, -0x74d8 +/* E16FF4 80241274 0C0511FF */ jal set_menu_icon_script +/* E16FF8 80241278 2694001C */ addiu $s4, $s4, 0x1c +/* E16FFC 8024127C 8EA4000C */ lw $a0, 0xc($s5) +/* E17000 80241280 0C0513AC */ jal icon_set_opacity +/* E17004 80241284 240500A0 */ addiu $a1, $zero, 0xa0 +/* E17008 80241288 8EA40010 */ lw $a0, 0x10($s5) +/* E1700C 8024128C 0C0513AC */ jal icon_set_opacity +/* E17010 80241290 240500A0 */ addiu $a1, $zero, 0xa0 +/* E17014 80241294 3C02002B */ lui $v0, 0x2b +/* E17018 80241298 C660003C */ lwc1 $f0, 0x3c($s3) +/* E1701C 8024129C 3C014008 */ lui $at, 0x4008 +/* E17020 802412A0 44811800 */ mtc1 $at, $f3 +/* E17024 802412A4 44801000 */ mtc1 $zero, $f2 +/* E17028 802412A8 46000021 */ cvt.d.s $f0, $f0 +/* E1702C 802412AC 46220000 */ add.d $f0, $f0, $f2 +/* E17030 802412B0 34420008 */ ori $v0, $v0, 8 +/* E17034 802412B4 AE620028 */ sw $v0, 0x28($s3) +/* E17038 802412B8 46200020 */ cvt.s.d $f0, $f0 +/* E1703C 802412BC 080906CF */ j .L80241B3C +/* E17040 802412C0 E660003C */ swc1 $f0, 0x3c($s3) +/* E17044 802412C4 9662008E */ lhu $v0, 0x8e($s3) +/* E17048 802412C8 24080008 */ addiu $t0, $zero, 8 +/* E1704C 802412CC 2442FFFF */ addiu $v0, $v0, -1 +/* E17050 802412D0 A662008E */ sh $v0, 0x8e($s3) +/* E17054 802412D4 00021400 */ sll $v0, $v0, 0x10 +/* E17058 802412D8 00021403 */ sra $v0, $v0, 0x10 +/* E1705C 802412DC 14480004 */ bne $v0, $t0, .L802412F0 +/* E17060 802412E0 2403FFFB */ addiu $v1, $zero, -5 +/* E17064 802412E4 8EA20028 */ lw $v0, 0x28($s5) +/* E17068 802412E8 00431024 */ and $v0, $v0, $v1 +/* E1706C 802412EC AEA20028 */ sw $v0, 0x28($s5) +.L802412F0: +/* E17070 802412F0 8662008E */ lh $v0, 0x8e($s3) +/* E17074 802412F4 5C400211 */ bgtzl $v0, .L80241B3C +/* E17078 802412F8 2694001C */ addiu $s4, $s4, 0x1c +/* E1707C 802412FC 0260202D */ daddu $a0, $s3, $zero +/* E17080 80241300 24020011 */ addiu $v0, $zero, 0x11 +/* E17084 80241304 0C00EAFF */ jal disable_npc_shadow +/* E17088 80241308 AE82002C */ sw $v0, 0x2c($s4) +/* E1708C 8024130C C660003C */ lwc1 $f0, 0x3c($s3) +/* E17090 80241310 46160000 */ add.s $f0, $f0, $f22 +/* E17094 80241314 C6620040 */ lwc1 $f2, 0x40($s3) +/* E17098 80241318 8E620000 */ lw $v0, ($s3) +/* E1709C 8024131C 44060000 */ mfc1 $a2, $f0 +/* E170A0 80241320 3C013F80 */ lui $at, 0x3f80 +/* E170A4 80241324 44810000 */ mtc1 $at, $f0 +/* E170A8 80241328 34420002 */ ori $v0, $v0, 2 +/* E170AC 8024132C AE620000 */ sw $v0, ($s3) +/* E170B0 80241330 AFA00010 */ sw $zero, 0x10($sp) +/* E170B4 80241334 46001080 */ add.s $f2, $f2, $f0 +/* E170B8 80241338 AFA00014 */ sw $zero, 0x14($sp) +/* E170BC 8024133C 8E650038 */ lw $a1, 0x38($s3) +/* E170C0 80241340 44071000 */ mfc1 $a3, $f2 +/* E170C4 80241344 0C01BECC */ jal fx_walk_normal +/* E170C8 80241348 24040001 */ addiu $a0, $zero, 1 +/* E170CC 8024134C 080906CF */ j .L80241B3C +/* E170D0 80241350 2694001C */ addiu $s4, $s4, 0x1c +/* E170D4 80241354 240400D2 */ addiu $a0, $zero, 0xd2 +/* E170D8 80241358 2402001F */ addiu $v0, $zero, 0x1f +/* E170DC 8024135C 0C00A67F */ jal rand_int +/* E170E0 80241360 AE82002C */ sw $v0, 0x2c($s4) +/* E170E4 80241364 0260202D */ daddu $a0, $s3, $zero +/* E170E8 80241368 AE820030 */ sw $v0, 0x30($s4) +/* E170EC 8024136C 0C00EAFF */ jal disable_npc_shadow +/* E170F0 80241370 E67A003C */ swc1 $f26, 0x3c($s3) +/* E170F4 80241374 8E620000 */ lw $v0, ($s3) +/* E170F8 80241378 2403FFFD */ addiu $v1, $zero, -3 +/* E170FC 8024137C 00431024 */ and $v0, $v0, $v1 +/* E17100 80241380 AE620000 */ sw $v0, ($s3) +/* E17104 80241384 8E820030 */ lw $v0, 0x30($s4) +/* E17108 80241388 2442FFFF */ addiu $v0, $v0, -1 +/* E1710C 8024138C 1C4001EA */ bgtz $v0, .L80241B38 +/* E17110 80241390 AE820030 */ sw $v0, 0x30($s4) +/* E17114 80241394 24020020 */ addiu $v0, $zero, 0x20 +/* E17118 80241398 AE82002C */ sw $v0, 0x2c($s4) +/* E1711C 8024139C C6600040 */ lwc1 $f0, 0x40($s3) +/* E17120 802413A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* E17124 802413A4 8E04008C */ lw $a0, 0x8c($s0) +/* E17128 802413A8 8E660038 */ lw $a2, 0x38($s3) +/* E1712C 802413AC 8E67003C */ lw $a3, 0x3c($s3) +/* E17130 802413B0 0C052757 */ jal play_sound_at_position +/* E17134 802413B4 3C050010 */ lui $a1, 0x10 +/* E17138 802413B8 27A50068 */ addiu $a1, $sp, 0x68 +/* E1713C 802413BC 27A6006C */ addiu $a2, $sp, 0x6c +/* E17140 802413C0 9684003A */ lhu $a0, 0x3a($s4) +/* E17144 802413C4 27A70070 */ addiu $a3, $sp, 0x70 +/* E17148 802413C8 AFBE0010 */ sw $fp, 0x10($sp) +/* E1714C 802413CC AFB60014 */ sw $s6, 0x14($sp) +/* E17150 802413D0 0C046C3B */ jal get_model_center_and_size +/* E17154 802413D4 AFB70018 */ sw $s7, 0x18($sp) +/* E17158 802413D8 3C014128 */ lui $at, 0x4128 +/* E1715C 802413DC 44810000 */ mtc1 $at, $f0 +/* E17160 802413E0 C7A40068 */ lwc1 $f4, 0x68($sp) +/* E17164 802413E4 C7A2006C */ lwc1 $f2, 0x6c($sp) +/* E17168 802413E8 E660001C */ swc1 $f0, 0x1c($s3) +/* E1716C 802413EC 3C014029 */ lui $at, 0x4029 +/* E17170 802413F0 44810800 */ mtc1 $at, $f1 +/* E17174 802413F4 44800000 */ mtc1 $zero, $f0 +/* E17178 802413F8 460010A1 */ cvt.d.s $f2, $f2 +/* E1717C 802413FC E6640038 */ swc1 $f4, 0x38($s3) +/* E17180 80241400 3C013FC0 */ lui $at, 0x3fc0 +/* E17184 80241404 44812000 */ mtc1 $at, $f4 +/* E17188 80241408 46201081 */ sub.d $f2, $f2, $f0 +/* E1718C 8024140C E6640014 */ swc1 $f4, 0x14($s3) +/* E17190 80241410 C7A00070 */ lwc1 $f0, 0x70($sp) +/* E17194 80241414 46000021 */ cvt.d.s $f0, $f0 +/* E17198 80241418 46380000 */ add.d $f0, $f0, $f24 +/* E1719C 8024141C 462010A0 */ cvt.s.d $f2, $f2 +/* E171A0 80241420 E662003C */ swc1 $f2, 0x3c($s3) +/* E171A4 80241424 E6620064 */ swc1 $f2, 0x64($s3) +/* E171A8 80241428 46200020 */ cvt.s.d $f0, $f0 +/* E171AC 8024142C 080906CD */ j .L80241B34 +/* E171B0 80241430 E6600040 */ swc1 $f0, 0x40($s3) +/* E171B4 80241434 8E820030 */ lw $v0, 0x30($s4) +/* E171B8 80241438 24420001 */ addiu $v0, $v0, 1 +/* E171BC 8024143C AE820030 */ sw $v0, 0x30($s4) +/* E171C0 80241440 C660001C */ lwc1 $f0, 0x1c($s3) +/* E171C4 80241444 C664003C */ lwc1 $f4, 0x3c($s3) +/* E171C8 80241448 46000186 */ mov.s $f6, $f0 +/* E171CC 8024144C 46002100 */ add.s $f4, $f4, $f0 +/* E171D0 80241450 C6600014 */ lwc1 $f0, 0x14($s3) +/* E171D4 80241454 3C0141A0 */ lui $at, 0x41a0 +/* E171D8 80241458 44811000 */ mtc1 $at, $f2 +/* E171DC 8024145C 46003181 */ sub.s $f6, $f6, $f0 +/* E171E0 80241460 C6600064 */ lwc1 $f0, 0x64($s3) +/* E171E4 80241464 46020000 */ add.s $f0, $f0, $f2 +/* E171E8 80241468 E664003C */ swc1 $f4, 0x3c($s3) +/* E171EC 8024146C 46002086 */ mov.s $f2, $f4 +/* E171F0 80241470 4602003C */ c.lt.s $f0, $f2 +/* E171F4 80241474 00000000 */ nop +/* E171F8 80241478 45000005 */ bc1f .L80241490 +/* E171FC 8024147C E666001C */ swc1 $f6, 0x1c($s3) +/* E17200 80241480 0C00EAE8 */ jal enable_npc_shadow +/* E17204 80241484 0260202D */ daddu $a0, $s3, $zero +/* E17208 80241488 08090526 */ j .L80241498 +/* E1720C 8024148C 00000000 */ nop +.L80241490: +/* E17210 80241490 0C00EAFF */ jal disable_npc_shadow +/* E17214 80241494 0260202D */ daddu $a0, $s3, $zero +.L80241498: +/* E17218 80241498 C660001C */ lwc1 $f0, 0x1c($s3) +/* E1721C 8024149C 44801000 */ mtc1 $zero, $f2 +/* E17220 802414A0 44801800 */ mtc1 $zero, $f3 +/* E17224 802414A4 46000021 */ cvt.d.s $f0, $f0 +/* E17228 802414A8 4622003C */ c.lt.d $f0, $f2 +/* E1722C 802414AC 00000000 */ nop +/* E17230 802414B0 450201A2 */ bc1fl .L80241B3C +/* E17234 802414B4 2694001C */ addiu $s4, $s4, 0x1c +/* E17238 802414B8 C662003C */ lwc1 $f2, 0x3c($s3) +/* E1723C 802414BC C6600064 */ lwc1 $f0, 0x64($s3) +/* E17240 802414C0 4600103E */ c.le.s $f2, $f0 +/* E17244 802414C4 00000000 */ nop +/* E17248 802414C8 4500019B */ bc1f .L80241B38 +/* E1724C 802414CC 2404014A */ addiu $a0, $zero, 0x14a +/* E17250 802414D0 2402001F */ addiu $v0, $zero, 0x1f +/* E17254 802414D4 0C00A67F */ jal rand_int +/* E17258 802414D8 AE82002C */ sw $v0, 0x2c($s4) +/* E1725C 802414DC 24040064 */ addiu $a0, $zero, 0x64 +/* E17260 802414E0 2442005A */ addiu $v0, $v0, 0x5a +/* E17264 802414E4 AE820030 */ sw $v0, 0x30($s4) +/* E17268 802414E8 0C00A67F */ jal rand_int +/* E1726C 802414EC E67A003C */ swc1 $f26, 0x3c($s3) +/* E17270 802414F0 28420032 */ slti $v0, $v0, 0x32 +/* E17274 802414F4 10400005 */ beqz $v0, .L8024150C +/* E17278 802414F8 00000000 */ nop +/* E1727C 802414FC 3C014387 */ lui $at, 0x4387 +/* E17280 80241500 44810000 */ mtc1 $at, $f0 +/* E17284 80241504 08090547 */ j .L8024151C +/* E17288 80241508 E660000C */ swc1 $f0, 0xc($s3) +.L8024150C: +/* E1728C 8024150C 3C0142B4 */ lui $at, 0x42b4 +/* E17290 80241510 44810000 */ mtc1 $at, $f0 +/* E17294 80241514 00000000 */ nop +/* E17298 80241518 E660000C */ swc1 $f0, 0xc($s3) +.L8024151C: +/* E1729C 8024151C 0C00EAFF */ jal disable_npc_shadow +/* E172A0 80241520 0260202D */ daddu $a0, $s3, $zero +/* E172A4 80241524 080906CF */ j .L80241B3C +/* E172A8 80241528 2694001C */ addiu $s4, $s4, 0x1c +/* E172AC 8024152C 0C00EAE8 */ jal enable_npc_shadow +/* E172B0 80241530 0260202D */ daddu $a0, $s3, $zero +/* E172B4 80241534 3C03002C */ lui $v1, 0x2c +/* E172B8 80241538 34630005 */ ori $v1, $v1, 5 +/* E172BC 8024153C 27A50068 */ addiu $a1, $sp, 0x68 +/* E172C0 80241540 27A6006C */ addiu $a2, $sp, 0x6c +/* E172C4 80241544 2402000F */ addiu $v0, $zero, 0xf +/* E172C8 80241548 A662008E */ sh $v0, 0x8e($s3) +/* E172CC 8024154C AE630028 */ sw $v1, 0x28($s3) +/* E172D0 80241550 8EA20028 */ lw $v0, 0x28($s5) +/* E172D4 80241554 27A70070 */ addiu $a3, $sp, 0x70 +/* E172D8 80241558 34420003 */ ori $v0, $v0, 3 +/* E172DC 8024155C AEA20028 */ sw $v0, 0x28($s5) +/* E172E0 80241560 9684003A */ lhu $a0, 0x3a($s4) +/* E172E4 80241564 24020022 */ addiu $v0, $zero, 0x22 +/* E172E8 80241568 AE82002C */ sw $v0, 0x2c($s4) +/* E172EC 8024156C AFBE0010 */ sw $fp, 0x10($sp) +/* E172F0 80241570 AFB60014 */ sw $s6, 0x14($sp) +/* E172F4 80241574 0C046C3B */ jal get_model_center_and_size +/* E172F8 80241578 AFB70018 */ sw $s7, 0x18($sp) +/* E172FC 8024157C 0000202D */ daddu $a0, $zero, $zero +/* E17300 80241580 0260282D */ daddu $a1, $s3, $zero +/* E17304 80241584 4406E000 */ mfc1 $a2, $f28 +/* E17308 80241588 C7A00068 */ lwc1 $f0, 0x68($sp) +/* E1730C 8024158C 866200A8 */ lh $v0, 0xa8($s3) +/* E17310 80241590 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* E17314 80241594 3C014020 */ lui $at, 0x4020 +/* E17318 80241598 44811800 */ mtc1 $at, $f3 +/* E1731C 8024159C 44801000 */ mtc1 $zero, $f2 +/* E17320 802415A0 44824000 */ mtc1 $v0, $f8 +/* E17324 802415A4 00000000 */ nop +/* E17328 802415A8 46804220 */ cvt.s.w $f8, $f8 +/* E1732C 802415AC 46162101 */ sub.s $f4, $f4, $f22 +/* E17330 802415B0 E6600038 */ swc1 $f0, 0x38($s3) +/* E17334 802415B4 C7A00070 */ lwc1 $f0, 0x70($sp) +/* E17338 802415B8 44074000 */ mfc1 $a3, $f8 +/* E1733C 802415BC 46000021 */ cvt.d.s $f0, $f0 +/* E17340 802415C0 46220000 */ add.d $f0, $f0, $f2 +/* E17344 802415C4 3C013F80 */ lui $at, 0x3f80 +/* E17348 802415C8 44811000 */ mtc1 $at, $f2 +/* E1734C 802415CC 2402000A */ addiu $v0, $zero, 0xa +/* E17350 802415D0 E664003C */ swc1 $f4, 0x3c($s3) +/* E17354 802415D4 46200020 */ cvt.s.d $f0, $f0 +/* E17358 802415D8 E6600040 */ swc1 $f0, 0x40($s3) +/* E1735C 802415DC AFA2001C */ sw $v0, 0x1c($sp) +/* E17360 802415E0 27A20080 */ addiu $v0, $sp, 0x80 +/* E17364 802415E4 E7A20010 */ swc1 $f2, 0x10($sp) +/* E17368 802415E8 E7BE0014 */ swc1 $f30, 0x14($sp) +/* E1736C 802415EC E7BC0018 */ swc1 $f28, 0x18($sp) +/* E17370 802415F0 0C01BFA4 */ jal fx_emote +/* E17374 802415F4 AFA20020 */ sw $v0, 0x20($sp) +/* E17378 802415F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E1737C 802415FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E17380 80241600 C6620038 */ lwc1 $f2, 0x38($s3) +/* E17384 80241604 C4400028 */ lwc1 $f0, 0x28($v0) +/* E17388 80241608 4602003C */ c.lt.s $f0, $f2 +/* E1738C 8024160C 00000000 */ nop +/* E17390 80241610 45000007 */ bc1f .L80241630 +/* E17394 80241614 00000000 */ nop +/* E17398 80241618 3C014387 */ lui $at, 0x4387 +/* E1739C 8024161C 44810000 */ mtc1 $at, $f0 +/* E173A0 80241620 3C0142BE */ lui $at, 0x42be +/* E173A4 80241624 44811000 */ mtc1 $at, $f2 +/* E173A8 80241628 08090592 */ j .L80241648 +/* E173AC 8024162C E660000C */ swc1 $f0, 0xc($s3) +.L80241630: +/* E173B0 80241630 3C0142B4 */ lui $at, 0x42b4 +/* E173B4 80241634 44810000 */ mtc1 $at, $f0 +/* E173B8 80241638 3C014384 */ lui $at, 0x4384 +/* E173BC 8024163C 34218000 */ ori $at, $at, 0x8000 +/* E173C0 80241640 44811000 */ mtc1 $at, $f2 +/* E173C4 80241644 E660000C */ swc1 $f0, 0xc($s3) +.L80241648: +/* E173C8 80241648 E4420080 */ swc1 $f2, 0x80($v0) +/* E173CC 8024164C 3C030001 */ lui $v1, 1 +/* E173D0 80241650 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E173D4 80241654 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E173D8 80241658 34630001 */ ori $v1, $v1, 1 +/* E173DC 8024165C AC4300B8 */ sw $v1, 0xb8($v0) +/* E173E0 80241660 9662008E */ lhu $v0, 0x8e($s3) +/* E173E4 80241664 2442FFFF */ addiu $v0, $v0, -1 +/* E173E8 80241668 A662008E */ sh $v0, 0x8e($s3) +/* E173EC 8024166C 00021400 */ sll $v0, $v0, 0x10 +/* E173F0 80241670 5C400132 */ bgtzl $v0, .L80241B3C +/* E173F4 80241674 2694001C */ addiu $s4, $s4, 0x1c +/* E173F8 80241678 C6620040 */ lwc1 $f2, 0x40($s3) +/* E173FC 8024167C 3C013F80 */ lui $at, 0x3f80 +/* E17400 80241680 44810000 */ mtc1 $at, $f0 +/* E17404 80241684 00000000 */ nop +/* E17408 80241688 46001080 */ add.s $f2, $f2, $f0 +/* E1740C 8024168C 8E650038 */ lw $a1, 0x38($s3) +/* E17410 80241690 8E66003C */ lw $a2, 0x3c($s3) +/* E17414 80241694 44071000 */ mfc1 $a3, $f2 +/* E17418 80241698 0C01C07C */ jal func_800701F0 +/* E1741C 8024169C 0000202D */ daddu $a0, $zero, $zero +/* E17420 802416A0 24042076 */ addiu $a0, $zero, 0x2076 +/* E17424 802416A4 2402001E */ addiu $v0, $zero, 0x1e +/* E17428 802416A8 A662008E */ sh $v0, 0x8e($s3) +/* E1742C 802416AC 24020023 */ addiu $v0, $zero, 0x23 +/* E17430 802416B0 E67A003C */ swc1 $f26, 0x3c($s3) +/* E17434 802416B4 0C05272D */ jal play_sound +/* E17438 802416B8 AE82002C */ sw $v0, 0x2c($s4) +/* E1743C 802416BC 080906CF */ j .L80241B3C +/* E17440 802416C0 2694001C */ addiu $s4, $s4, 0x1c +/* E17444 802416C4 9662008E */ lhu $v0, 0x8e($s3) +/* E17448 802416C8 24030019 */ addiu $v1, $zero, 0x19 +/* E1744C 802416CC 2442FFFF */ addiu $v0, $v0, -1 +/* E17450 802416D0 A662008E */ sh $v0, 0x8e($s3) +/* E17454 802416D4 00021400 */ sll $v0, $v0, 0x10 +/* E17458 802416D8 00021403 */ sra $v0, $v0, 0x10 +/* E1745C 802416DC 14430005 */ bne $v0, $v1, .L802416F4 +/* E17460 802416E0 3C030001 */ lui $v1, 1 +/* E17464 802416E4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E17468 802416E8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E1746C 802416EC 3463002F */ ori $v1, $v1, 0x2f +/* E17470 802416F0 AC4300B8 */ sw $v1, 0xb8($v0) +.L802416F4: +/* E17474 802416F4 8662008E */ lh $v0, 0x8e($s3) +/* E17478 802416F8 5C400110 */ bgtzl $v0, .L80241B3C +/* E1747C 802416FC 2694001C */ addiu $s4, $s4, 0x1c +/* E17480 80241700 3C030001 */ lui $v1, 1 +/* E17484 80241704 34630002 */ ori $v1, $v1, 2 +/* E17488 80241708 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E1748C 8024170C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E17490 80241710 0260202D */ daddu $a0, $s3, $zero +/* E17494 80241714 AC4300B8 */ sw $v1, 0xb8($v0) +/* E17498 80241718 8EA20028 */ lw $v0, 0x28($s5) +/* E1749C 8024171C 2403FFFE */ addiu $v1, $zero, -2 +/* E174A0 80241720 00431024 */ and $v0, $v0, $v1 +/* E174A4 80241724 34420002 */ ori $v0, $v0, 2 +/* E174A8 80241728 AEA20028 */ sw $v0, 0x28($s5) +/* E174AC 8024172C 24020024 */ addiu $v0, $zero, 0x24 +/* E174B0 80241730 0C00EAFF */ jal disable_npc_shadow +/* E174B4 80241734 AE82002C */ sw $v0, 0x2c($s4) +/* E174B8 80241738 8E620000 */ lw $v0, ($s3) +/* E174BC 8024173C 34420002 */ ori $v0, $v0, 2 +/* E174C0 80241740 080906CE */ j .L80241B38 +/* E174C4 80241744 AE620000 */ sw $v0, ($s3) +/* E174C8 80241748 27A50068 */ addiu $a1, $sp, 0x68 +/* E174CC 8024174C 27A6006C */ addiu $a2, $sp, 0x6c +/* E174D0 80241750 9684003A */ lhu $a0, 0x3a($s4) +/* E174D4 80241754 27A70070 */ addiu $a3, $sp, 0x70 +/* E174D8 80241758 AFBE0010 */ sw $fp, 0x10($sp) +/* E174DC 8024175C AFB60014 */ sw $s6, 0x14($sp) +/* E174E0 80241760 0C046C3B */ jal get_model_center_and_size +/* E174E4 80241764 AFB70018 */ sw $s7, 0x18($sp) +/* E174E8 80241768 240400D2 */ addiu $a0, $zero, 0xd2 +/* E174EC 8024176C 24020047 */ addiu $v0, $zero, 0x47 +/* E174F0 80241770 0C00A67F */ jal rand_int +/* E174F4 80241774 AE82002C */ sw $v0, 0x2c($s4) +/* E174F8 80241778 C7A20068 */ lwc1 $f2, 0x68($sp) +/* E174FC 8024177C C7A00070 */ lwc1 $f0, 0x70($sp) +/* E17500 80241780 0260202D */ daddu $a0, $s3, $zero +/* E17504 80241784 AE820030 */ sw $v0, 0x30($s4) +/* E17508 80241788 46000021 */ cvt.d.s $f0, $f0 +/* E1750C 8024178C E6620038 */ swc1 $f2, 0x38($s3) +/* E17510 80241790 C7A2006C */ lwc1 $f2, 0x6c($sp) +/* E17514 80241794 46380000 */ add.d $f0, $f0, $f24 +/* E17518 80241798 E662003C */ swc1 $f2, 0x3c($s3) +/* E1751C 8024179C E6620064 */ swc1 $f2, 0x64($s3) +/* E17520 802417A0 46200020 */ cvt.s.d $f0, $f0 +/* E17524 802417A4 0C00EAFF */ jal disable_npc_shadow +/* E17528 802417A8 E6600040 */ swc1 $f0, 0x40($s3) +/* E1752C 802417AC 8E820030 */ lw $v0, 0x30($s4) +/* E17530 802417B0 2442FFFF */ addiu $v0, $v0, -1 +/* E17534 802417B4 1C4000E0 */ bgtz $v0, .L80241B38 +/* E17538 802417B8 AE820030 */ sw $v0, 0x30($s4) +/* E1753C 802417BC 27B20068 */ addiu $s2, $sp, 0x68 +/* E17540 802417C0 0240282D */ daddu $a1, $s2, $zero +/* E17544 802417C4 27B0006C */ addiu $s0, $sp, 0x6c +/* E17548 802417C8 0200302D */ daddu $a2, $s0, $zero +/* E1754C 802417CC 27B10070 */ addiu $s1, $sp, 0x70 +/* E17550 802417D0 9684003A */ lhu $a0, 0x3a($s4) +/* E17554 802417D4 0220382D */ daddu $a3, $s1, $zero +/* E17558 802417D8 AFBE0010 */ sw $fp, 0x10($sp) +/* E1755C 802417DC AFB60014 */ sw $s6, 0x14($sp) +/* E17560 802417E0 0C046C3B */ jal get_model_center_and_size +/* E17564 802417E4 AFB70018 */ sw $s7, 0x18($sp) +/* E17568 802417E8 24020048 */ addiu $v0, $zero, 0x48 +/* E1756C 802417EC AE82002C */ sw $v0, 0x2c($s4) +/* E17570 802417F0 C6600040 */ lwc1 $f0, 0x40($s3) +/* E17574 802417F4 24040214 */ addiu $a0, $zero, 0x214 +/* E17578 802417F8 E7A00010 */ swc1 $f0, 0x10($sp) +/* E1757C 802417FC 8E660038 */ lw $a2, 0x38($s3) +/* E17580 80241800 8E67003C */ lw $a3, 0x3c($s3) +/* E17584 80241804 0C052757 */ jal play_sound_at_position +/* E17588 80241808 3C050020 */ lui $a1, 0x20 +/* E1758C 8024180C 0240282D */ daddu $a1, $s2, $zero +/* E17590 80241810 0200302D */ daddu $a2, $s0, $zero +/* E17594 80241814 9684003A */ lhu $a0, 0x3a($s4) +/* E17598 80241818 0220382D */ daddu $a3, $s1, $zero +/* E1759C 8024181C AFBE0010 */ sw $fp, 0x10($sp) +/* E175A0 80241820 AFB60014 */ sw $s6, 0x14($sp) +/* E175A4 80241824 0C046C3B */ jal get_model_center_and_size +/* E175A8 80241828 AFB70018 */ sw $s7, 0x18($sp) +/* E175AC 8024182C C6600064 */ lwc1 $f0, 0x64($s3) +/* E175B0 80241830 3C013F8C */ lui $at, 0x3f8c +/* E175B4 80241834 3421CCCD */ ori $at, $at, 0xcccd +/* E175B8 80241838 44811000 */ mtc1 $at, $f2 +/* E175BC 8024183C E676001C */ swc1 $f22, 0x1c($s3) +/* E175C0 80241840 E660003C */ swc1 $f0, 0x3c($s3) +/* E175C4 80241844 E6620014 */ swc1 $f2, 0x14($s3) +/* E175C8 80241848 8E840044 */ lw $a0, 0x44($s4) +/* E175CC 8024184C 0C046C04 */ jal get_model_list_index_from_tree_index +/* E175D0 80241850 AE800030 */ sw $zero, 0x30($s4) +/* E175D4 80241854 0C046B4C */ jal get_model_from_list_index +/* E175D8 80241858 0040202D */ daddu $a0, $v0, $zero +/* E175DC 8024185C 0040802D */ daddu $s0, $v0, $zero +/* E175E0 80241860 96030000 */ lhu $v1, ($s0) +/* E175E4 80241864 3062FFFD */ andi $v0, $v1, 0xfffd +/* E175E8 80241868 30630400 */ andi $v1, $v1, 0x400 +/* E175EC 8024186C 1460000A */ bnez $v1, .L80241898 +/* E175F0 80241870 A6020000 */ sh $v0, ($s0) +/* E175F4 80241874 8E650038 */ lw $a1, 0x38($s3) +/* E175F8 80241878 8E66003C */ lw $a2, 0x3c($s3) +/* E175FC 8024187C 8E670040 */ lw $a3, 0x40($s3) +/* E17600 80241880 0C019E40 */ jal guTranslateF +/* E17604 80241884 26040058 */ addiu $a0, $s0, 0x58 +/* E17608 80241888 96020000 */ lhu $v0, ($s0) +/* E1760C 8024188C 34421400 */ ori $v0, $v0, 0x1400 +/* E17610 80241890 080906CE */ j .L80241B38 +/* E17614 80241894 A6020000 */ sh $v0, ($s0) +.L80241898: +/* E17618 80241898 8E650038 */ lw $a1, 0x38($s3) +/* E1761C 8024189C 8E66003C */ lw $a2, 0x3c($s3) +/* E17620 802418A0 8E670040 */ lw $a3, 0x40($s3) +/* E17624 802418A4 0C019E40 */ jal guTranslateF +/* E17628 802418A8 27A40028 */ addiu $a0, $sp, 0x28 +/* E1762C 802418AC 27A40028 */ addiu $a0, $sp, 0x28 +/* E17630 802418B0 26050058 */ addiu $a1, $s0, 0x58 +/* E17634 802418B4 0C019D80 */ jal guMtxCatF +/* E17638 802418B8 00A0302D */ daddu $a2, $a1, $zero +/* E1763C 802418BC 080906CF */ j .L80241B3C +/* E17640 802418C0 2694001C */ addiu $s4, $s4, 0x1c +/* E17644 802418C4 8E820030 */ lw $v0, 0x30($s4) +/* E17648 802418C8 24420001 */ addiu $v0, $v0, 1 +/* E1764C 802418CC AE820030 */ sw $v0, 0x30($s4) +/* E17650 802418D0 C660001C */ lwc1 $f0, 0x1c($s3) +/* E17654 802418D4 C664003C */ lwc1 $f4, 0x3c($s3) +/* E17658 802418D8 46000086 */ mov.s $f2, $f0 +/* E1765C 802418DC 46002100 */ add.s $f4, $f4, $f0 +/* E17660 802418E0 C6600014 */ lwc1 $f0, 0x14($s3) +/* E17664 802418E4 46001081 */ sub.s $f2, $f2, $f0 +/* E17668 802418E8 E664003C */ swc1 $f4, 0x3c($s3) +/* E1766C 802418EC E662001C */ swc1 $f2, 0x1c($s3) +/* E17670 802418F0 0C046C04 */ jal get_model_list_index_from_tree_index +/* E17674 802418F4 8E840044 */ lw $a0, 0x44($s4) +/* E17678 802418F8 0C046B4C */ jal get_model_from_list_index +/* E1767C 802418FC 0040202D */ daddu $a0, $v0, $zero +/* E17680 80241900 0040802D */ daddu $s0, $v0, $zero +/* E17684 80241904 96020000 */ lhu $v0, ($s0) +/* E17688 80241908 30420400 */ andi $v0, $v0, 0x400 +/* E1768C 8024190C 1440000A */ bnez $v0, .L80241938 +/* E17690 80241910 00000000 */ nop +/* E17694 80241914 8E650038 */ lw $a1, 0x38($s3) +/* E17698 80241918 8E66003C */ lw $a2, 0x3c($s3) +/* E1769C 8024191C 8E670040 */ lw $a3, 0x40($s3) +/* E176A0 80241920 0C019E40 */ jal guTranslateF +/* E176A4 80241924 26040058 */ addiu $a0, $s0, 0x58 +/* E176A8 80241928 96020000 */ lhu $v0, ($s0) +/* E176AC 8024192C 34421400 */ ori $v0, $v0, 0x1400 +/* E176B0 80241930 08090657 */ j .L8024195C +/* E176B4 80241934 A6020000 */ sh $v0, ($s0) +.L80241938: +/* E176B8 80241938 8E650038 */ lw $a1, 0x38($s3) +/* E176BC 8024193C 8E66003C */ lw $a2, 0x3c($s3) +/* E176C0 80241940 8E670040 */ lw $a3, 0x40($s3) +/* E176C4 80241944 0C019E40 */ jal guTranslateF +/* E176C8 80241948 27A40028 */ addiu $a0, $sp, 0x28 +/* E176CC 8024194C 27A40028 */ addiu $a0, $sp, 0x28 +/* E176D0 80241950 26050058 */ addiu $a1, $s0, 0x58 +/* E176D4 80241954 0C019D80 */ jal guMtxCatF +/* E176D8 80241958 00A0302D */ daddu $a2, $a1, $zero +.L8024195C: +/* E176DC 8024195C C6600064 */ lwc1 $f0, 0x64($s3) +/* E176E0 80241960 3C0141A0 */ lui $at, 0x41a0 +/* E176E4 80241964 44811000 */ mtc1 $at, $f2 +/* E176E8 80241968 00000000 */ nop +/* E176EC 8024196C 46020000 */ add.s $f0, $f0, $f2 +/* E176F0 80241970 C662003C */ lwc1 $f2, 0x3c($s3) +/* E176F4 80241974 4602003C */ c.lt.s $f0, $f2 +/* E176F8 80241978 00000000 */ nop +/* E176FC 8024197C 45000005 */ bc1f .L80241994 +/* E17700 80241980 00000000 */ nop +/* E17704 80241984 0C00EAE8 */ jal enable_npc_shadow +/* E17708 80241988 0260202D */ daddu $a0, $s3, $zero +/* E1770C 8024198C 08090667 */ j .L8024199C +/* E17710 80241990 00000000 */ nop +.L80241994: +/* E17714 80241994 0C00EAFF */ jal disable_npc_shadow +/* E17718 80241998 0260202D */ daddu $a0, $s3, $zero +.L8024199C: +/* E1771C 8024199C C660001C */ lwc1 $f0, 0x1c($s3) +/* E17720 802419A0 44801000 */ mtc1 $zero, $f2 +/* E17724 802419A4 44801800 */ mtc1 $zero, $f3 +/* E17728 802419A8 46000021 */ cvt.d.s $f0, $f0 +/* E1772C 802419AC 4622003C */ c.lt.d $f0, $f2 +/* E17730 802419B0 00000000 */ nop +/* E17734 802419B4 45020061 */ bc1fl .L80241B3C +/* E17738 802419B8 2694001C */ addiu $s4, $s4, 0x1c +/* E1773C 802419BC C662003C */ lwc1 $f2, 0x3c($s3) +/* E17740 802419C0 C6600064 */ lwc1 $f0, 0x64($s3) +/* E17744 802419C4 4600103E */ c.le.s $f2, $f0 +/* E17748 802419C8 00000000 */ nop +/* E1774C 802419CC 4500005A */ bc1f .L80241B38 +/* E17750 802419D0 2404014A */ addiu $a0, $zero, 0x14a +/* E17754 802419D4 24020047 */ addiu $v0, $zero, 0x47 +/* E17758 802419D8 0C00A67F */ jal rand_int +/* E1775C 802419DC AE82002C */ sw $v0, 0x2c($s4) +/* E17760 802419E0 0260202D */ daddu $a0, $s3, $zero +/* E17764 802419E4 2442005A */ addiu $v0, $v0, 0x5a +/* E17768 802419E8 080906C2 */ j .L80241B08 +/* E1776C 802419EC AE820030 */ sw $v0, 0x30($s4) +/* E17770 802419F0 0C05272D */ jal play_sound +/* E17774 802419F4 2404021C */ addiu $a0, $zero, 0x21c +/* E17778 802419F8 8E840044 */ lw $a0, 0x44($s4) +/* E1777C 802419FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* E17780 80241A00 00000000 */ nop +/* E17784 80241A04 0C046B4C */ jal get_model_from_list_index +/* E17788 80241A08 0040202D */ daddu $a0, $v0, $zero +/* E1778C 80241A0C 0040802D */ daddu $s0, $v0, $zero +/* E17790 80241A10 0C00EAE8 */ jal enable_npc_shadow +/* E17794 80241A14 0260202D */ daddu $a0, $s3, $zero +/* E17798 80241A18 2402004A */ addiu $v0, $zero, 0x4a +/* E1779C 80241A1C A660008E */ sh $zero, 0x8e($s3) +/* E177A0 80241A20 AE82002C */ sw $v0, 0x2c($s4) +/* E177A4 80241A24 96020000 */ lhu $v0, ($s0) +/* E177A8 80241A28 3042FFFD */ andi $v0, $v0, 0xfffd +/* E177AC 80241A2C A6020000 */ sh $v0, ($s0) +/* E177B0 80241A30 8E840044 */ lw $a0, 0x44($s4) +/* E177B4 80241A34 24080001 */ addiu $t0, $zero, 1 +/* E177B8 80241A38 0C046C04 */ jal get_model_list_index_from_tree_index +/* E177BC 80241A3C AFA80088 */ sw $t0, 0x88($sp) +/* E177C0 80241A40 0C046B4C */ jal get_model_from_list_index +/* E177C4 80241A44 0040202D */ daddu $a0, $v0, $zero +/* E177C8 80241A48 0040802D */ daddu $s0, $v0, $zero +/* E177CC 80241A4C 2402001E */ addiu $v0, $zero, 0x1e +/* E177D0 80241A50 C6600064 */ lwc1 $f0, 0x64($s3) +/* E177D4 80241A54 8667008E */ lh $a3, 0x8e($s3) +/* E177D8 80241A58 3C01403E */ lui $at, 0x403e +/* E177DC 80241A5C 44811800 */ mtc1 $at, $f3 +/* E177E0 80241A60 44801000 */ mtc1 $zero, $f2 +/* E177E4 80241A64 46000021 */ cvt.d.s $f0, $f0 +/* E177E8 80241A68 46220000 */ add.d $f0, $f0, $f2 +/* E177EC 80241A6C AFA20010 */ sw $v0, 0x10($sp) +/* E177F0 80241A70 8E650064 */ lw $a1, 0x64($s3) +/* E177F4 80241A74 46200020 */ cvt.s.d $f0, $f0 +/* E177F8 80241A78 44060000 */ mfc1 $a2, $f0 +/* E177FC 80241A7C 0C00A8ED */ jal update_lerp +/* E17800 80241A80 24040004 */ addiu $a0, $zero, 4 +/* E17804 80241A84 96020000 */ lhu $v0, ($s0) +/* E17808 80241A88 30420400 */ andi $v0, $v0, 0x400 +/* E1780C 80241A8C 1440000A */ bnez $v0, .L80241AB8 +/* E17810 80241A90 E7A0006C */ swc1 $f0, 0x6c($sp) +/* E17814 80241A94 8E650038 */ lw $a1, 0x38($s3) +/* E17818 80241A98 44060000 */ mfc1 $a2, $f0 +/* E1781C 80241A9C 8E670040 */ lw $a3, 0x40($s3) +/* E17820 80241AA0 0C019E40 */ jal guTranslateF +/* E17824 80241AA4 26040058 */ addiu $a0, $s0, 0x58 +/* E17828 80241AA8 96020000 */ lhu $v0, ($s0) +/* E1782C 80241AAC 34421400 */ ori $v0, $v0, 0x1400 +/* E17830 80241AB0 080906B7 */ j .L80241ADC +/* E17834 80241AB4 A6020000 */ sh $v0, ($s0) +.L80241AB8: +/* E17838 80241AB8 8E650038 */ lw $a1, 0x38($s3) +/* E1783C 80241ABC 44060000 */ mfc1 $a2, $f0 +/* E17840 80241AC0 8E670040 */ lw $a3, 0x40($s3) +/* E17844 80241AC4 0C019E40 */ jal guTranslateF +/* E17848 80241AC8 27A40028 */ addiu $a0, $sp, 0x28 +/* E1784C 80241ACC 27A40028 */ addiu $a0, $sp, 0x28 +/* E17850 80241AD0 26050058 */ addiu $a1, $s0, 0x58 +/* E17854 80241AD4 0C019D80 */ jal guMtxCatF +/* E17858 80241AD8 00A0302D */ daddu $a2, $a1, $zero +.L80241ADC: +/* E1785C 80241ADC 9662008E */ lhu $v0, 0x8e($s3) +/* E17860 80241AE0 24420001 */ addiu $v0, $v0, 1 +/* E17864 80241AE4 A662008E */ sh $v0, 0x8e($s3) +/* E17868 80241AE8 00021400 */ sll $v0, $v0, 0x10 +/* E1786C 80241AEC 00021403 */ sra $v0, $v0, 0x10 +/* E17870 80241AF0 2842001E */ slti $v0, $v0, 0x1e +/* E17874 80241AF4 54400011 */ bnel $v0, $zero, .L80241B3C +/* E17878 80241AF8 2694001C */ addiu $s4, $s4, 0x1c +/* E1787C 80241AFC 0260202D */ daddu $a0, $s3, $zero +/* E17880 80241B00 2402004B */ addiu $v0, $zero, 0x4b +/* E17884 80241B04 AE82002C */ sw $v0, 0x2c($s4) +.L80241B08: +/* E17888 80241B08 0C00EAFF */ jal disable_npc_shadow +/* E1788C 80241B0C 2694001C */ addiu $s4, $s4, 0x1c +/* E17890 80241B10 96020000 */ lhu $v0, ($s0) +/* E17894 80241B14 34420002 */ ori $v0, $v0, 2 +/* E17898 80241B18 080906CF */ j .L80241B3C +/* E1789C 80241B1C A6020000 */ sh $v0, ($s0) +.L80241B20: +/* E178A0 80241B20 8E83002C */ lw $v1, 0x2c($s4) +/* E178A4 80241B24 54620005 */ bnel $v1, $v0, .L80241B3C +/* E178A8 80241B28 2694001C */ addiu $s4, $s4, 0x1c +/* E178AC 80241B2C 24020033 */ addiu $v0, $zero, 0x33 +/* E178B0 80241B30 AE82002C */ sw $v0, 0x2c($s4) +.L80241B34: +/* E178B4 80241B34 AE800030 */ sw $zero, 0x30($s4) +.L80241B38: +/* E178B8 80241B38 2694001C */ addiu $s4, $s4, 0x1c +.L80241B3C: +/* E178BC 80241B3C 26A203D4 */ addiu $v0, $s5, 0x3d4 +/* E178C0 80241B40 0282102A */ slt $v0, $s4, $v0 +/* E178C4 80241B44 1440FC41 */ bnez $v0, .L80240C4C +/* E178C8 80241B48 00000000 */ nop +/* E178CC 80241B4C 8EA30008 */ lw $v1, 8($s5) +/* E178D0 80241B50 18600040 */ blez $v1, .L80241C54 +/* E178D4 80241B54 00000000 */ nop +/* E178D8 80241B58 8EA20004 */ lw $v0, 4($s5) +/* E178DC 80241B5C 2842000A */ slti $v0, $v0, 0xa +/* E178E0 80241B60 10400031 */ beqz $v0, .L80241C28 +/* E178E4 80241B64 2463FFFF */ addiu $v1, $v1, -1 +/* E178E8 80241B68 240202EE */ addiu $v0, $zero, 0x2ee +/* E178EC 80241B6C 14620003 */ bne $v1, $v0, .L80241B7C +/* E178F0 80241B70 AEA30008 */ sw $v1, 8($s5) +/* E178F4 80241B74 08090708 */ j .L80241C20 +/* E178F8 80241B78 240401A5 */ addiu $a0, $zero, 0x1a5 +.L80241B7C: +/* E178FC 80241B7C 24020258 */ addiu $v0, $zero, 0x258 +/* E17900 80241B80 14620003 */ bne $v1, $v0, .L80241B90 +/* E17904 80241B84 240201C2 */ addiu $v0, $zero, 0x1c2 +/* E17908 80241B88 08090708 */ j .L80241C20 +/* E1790C 80241B8C 240401A5 */ addiu $a0, $zero, 0x1a5 +.L80241B90: +/* E17910 80241B90 14620003 */ bne $v1, $v0, .L80241BA0 +/* E17914 80241B94 2402012C */ addiu $v0, $zero, 0x12c +/* E17918 80241B98 08090708 */ j .L80241C20 +/* E1791C 80241B9C 240401A5 */ addiu $a0, $zero, 0x1a5 +.L80241BA0: +/* E17920 80241BA0 14620003 */ bne $v1, $v0, .L80241BB0 +/* E17924 80241BA4 2402010E */ addiu $v0, $zero, 0x10e +/* E17928 80241BA8 08090708 */ j .L80241C20 +/* E1792C 80241BAC 240401A6 */ addiu $a0, $zero, 0x1a6 +.L80241BB0: +/* E17930 80241BB0 14620003 */ bne $v1, $v0, .L80241BC0 +/* E17934 80241BB4 240200F0 */ addiu $v0, $zero, 0xf0 +/* E17938 80241BB8 08090708 */ j .L80241C20 +/* E1793C 80241BBC 240401A6 */ addiu $a0, $zero, 0x1a6 +.L80241BC0: +/* E17940 80241BC0 14620003 */ bne $v1, $v0, .L80241BD0 +/* E17944 80241BC4 240200D2 */ addiu $v0, $zero, 0xd2 +/* E17948 80241BC8 08090708 */ j .L80241C20 +/* E1794C 80241BCC 240401A6 */ addiu $a0, $zero, 0x1a6 +.L80241BD0: +/* E17950 80241BD0 14620003 */ bne $v1, $v0, .L80241BE0 +/* E17954 80241BD4 240200B4 */ addiu $v0, $zero, 0xb4 +/* E17958 80241BD8 08090708 */ j .L80241C20 +/* E1795C 80241BDC 240401A6 */ addiu $a0, $zero, 0x1a6 +.L80241BE0: +/* E17960 80241BE0 14620003 */ bne $v1, $v0, .L80241BF0 +/* E17964 80241BE4 24020096 */ addiu $v0, $zero, 0x96 +/* E17968 80241BE8 08090708 */ j .L80241C20 +/* E1796C 80241BEC 240401A6 */ addiu $a0, $zero, 0x1a6 +.L80241BF0: +/* E17970 80241BF0 1062000A */ beq $v1, $v0, .L80241C1C +/* E17974 80241BF4 24020078 */ addiu $v0, $zero, 0x78 +/* E17978 80241BF8 10620008 */ beq $v1, $v0, .L80241C1C +/* E1797C 80241BFC 2402005A */ addiu $v0, $zero, 0x5a +/* E17980 80241C00 8EA30008 */ lw $v1, 8($s5) +/* E17984 80241C04 10620005 */ beq $v1, $v0, .L80241C1C +/* E17988 80241C08 2402003C */ addiu $v0, $zero, 0x3c +/* E1798C 80241C0C 10620003 */ beq $v1, $v0, .L80241C1C +/* E17990 80241C10 2402001E */ addiu $v0, $zero, 0x1e +/* E17994 80241C14 14620004 */ bne $v1, $v0, .L80241C28 +/* E17998 80241C18 00000000 */ nop +.L80241C1C: +/* E1799C 80241C1C 240401A7 */ addiu $a0, $zero, 0x1a7 +.L80241C20: +/* E179A0 80241C20 0C05272D */ jal play_sound +/* E179A4 80241C24 00000000 */ nop +.L80241C28: +/* E179A8 80241C28 8EA20008 */ lw $v0, 8($s5) +/* E179AC 80241C2C 18400009 */ blez $v0, .L80241C54 +/* E179B0 80241C30 2402000A */ addiu $v0, $zero, 0xa +/* E179B4 80241C34 8EA30004 */ lw $v1, 4($s5) +/* E179B8 80241C38 14620006 */ bne $v1, $v0, .L80241C54 +/* E179BC 80241C3C 00000000 */ nop +/* E179C0 80241C40 8EA30028 */ lw $v1, 0x28($s5) +/* E179C4 80241C44 30620001 */ andi $v0, $v1, 1 +/* E179C8 80241C48 14400002 */ bnez $v0, .L80241C54 +/* E179CC 80241C4C 34620003 */ ori $v0, $v1, 3 +/* E179D0 80241C50 AEA20028 */ sw $v0, 0x28($s5) +.L80241C54: +/* E179D4 80241C54 8EA20008 */ lw $v0, 8($s5) +/* E179D8 80241C58 1440000A */ bnez $v0, .L80241C84 +/* E179DC 80241C5C 00000000 */ nop +/* E179E0 80241C60 8FA80088 */ lw $t0, 0x88($sp) +/* E179E4 80241C64 11000007 */ beqz $t0, .L80241C84 +/* E179E8 80241C68 00000000 */ nop +/* E179EC 80241C6C 8EA30028 */ lw $v1, 0x28($s5) +/* E179F0 80241C70 30620001 */ andi $v0, $v1, 1 +/* E179F4 80241C74 14400005 */ bnez $v0, .L80241C8C +/* E179F8 80241C78 30620002 */ andi $v0, $v1, 2 +/* E179FC 80241C7C 34620003 */ ori $v0, $v1, 3 +/* E17A00 80241C80 AEA20028 */ sw $v0, 0x28($s5) +.L80241C84: +/* E17A04 80241C84 8EA30028 */ lw $v1, 0x28($s5) +/* E17A08 80241C88 30620002 */ andi $v0, $v1, 2 +.L80241C8C: +/* E17A0C 80241C8C 10400010 */ beqz $v0, .L80241CD0 +/* E17A10 80241C90 2402FFFD */ addiu $v0, $zero, -3 +/* E17A14 80241C94 00621024 */ and $v0, $v1, $v0 +/* E17A18 80241C98 AEA20028 */ sw $v0, 0x28($s5) +/* E17A1C 80241C9C 30620001 */ andi $v0, $v1, 1 +/* E17A20 80241CA0 10400007 */ beqz $v0, .L80241CC0 +/* E17A24 80241CA4 00000000 */ nop +/* E17A28 80241CA8 0C03805E */ jal disable_player_input +/* E17A2C 80241CAC 00000000 */ nop +/* E17A30 80241CB0 0C03BD8A */ jal func_800EF628 +/* E17A34 80241CB4 00000000 */ nop +/* E17A38 80241CB8 08090734 */ j .L80241CD0 +/* E17A3C 80241CBC 00000000 */ nop +.L80241CC0: +/* E17A40 80241CC0 0C038069 */ jal enable_player_input +/* E17A44 80241CC4 00000000 */ nop +/* E17A48 80241CC8 0C03BD80 */ jal func_800EF600 +/* E17A4C 80241CCC 00000000 */ nop +.L80241CD0: +/* E17A50 80241CD0 8FA80088 */ lw $t0, 0x88($sp) +/* E17A54 80241CD4 1500000E */ bnez $t0, .L80241D10 +/* E17A58 80241CD8 2402000A */ addiu $v0, $zero, 0xa +/* E17A5C 80241CDC 8EA30004 */ lw $v1, 4($s5) +/* E17A60 80241CE0 5062000A */ beql $v1, $v0, .L80241D0C +/* E17A64 80241CE4 24080001 */ addiu $t0, $zero, 1 +/* E17A68 80241CE8 8EA20008 */ lw $v0, 8($s5) +/* E17A6C 80241CEC 14400008 */ bnez $v0, .L80241D10 +/* E17A70 80241CF0 00000000 */ nop +/* E17A74 80241CF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* E17A78 80241CF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* E17A7C 80241CFC 804300B4 */ lb $v1, 0xb4($v0) +/* E17A80 80241D00 24020012 */ addiu $v0, $zero, 0x12 +/* E17A84 80241D04 10620002 */ beq $v1, $v0, .L80241D10 +/* E17A88 80241D08 24080001 */ addiu $t0, $zero, 1 +.L80241D0C: +/* E17A8C 80241D0C AFA80084 */ sw $t0, 0x84($sp) +.L80241D10: +/* E17A90 80241D10 8FA80084 */ lw $t0, 0x84($sp) +/* E17A94 80241D14 1100001B */ beqz $t0, .L80241D84 +/* E17A98 80241D18 0000102D */ daddu $v0, $zero, $zero +/* E17A9C 80241D1C 8EA20028 */ lw $v0, 0x28($s5) +/* E17AA0 80241D20 30420001 */ andi $v0, $v0, 1 +/* E17AA4 80241D24 10400005 */ beqz $v0, .L80241D3C +/* E17AA8 80241D28 00000000 */ nop +/* E17AAC 80241D2C 0C038069 */ jal enable_player_input +/* E17AB0 80241D30 00000000 */ nop +/* E17AB4 80241D34 0C03BD80 */ jal func_800EF600 +/* E17AB8 80241D38 00000000 */ nop +.L80241D3C: +/* E17ABC 80241D3C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* E17AC0 80241D40 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* E17AC4 80241D44 8E020000 */ lw $v0, ($s0) +/* E17AC8 80241D48 3C014334 */ lui $at, 0x4334 +/* E17ACC 80241D4C 44810000 */ mtc1 $at, $f0 +/* E17AD0 80241D50 AEA00028 */ sw $zero, 0x28($s5) +/* E17AD4 80241D54 E4400080 */ swc1 $f0, 0x80($v0) +/* E17AD8 80241D58 8EA20008 */ lw $v0, 8($s5) +/* E17ADC 80241D5C 14400002 */ bnez $v0, .L80241D68 +/* E17AE0 80241D60 240400D4 */ addiu $a0, $zero, 0xd4 +/* E17AE4 80241D64 2404021D */ addiu $a0, $zero, 0x21d +.L80241D68: +/* E17AE8 80241D68 0C05272D */ jal play_sound +/* E17AEC 80241D6C 00000000 */ nop +/* E17AF0 80241D70 3C030001 */ lui $v1, 1 +/* E17AF4 80241D74 8E020000 */ lw $v0, ($s0) +/* E17AF8 80241D78 34630002 */ ori $v1, $v1, 2 +/* E17AFC 80241D7C AC4300B8 */ sw $v1, 0xb8($v0) +/* E17B00 80241D80 24020002 */ addiu $v0, $zero, 2 +.L80241D84: +/* E17B04 80241D84 8FBF00B4 */ lw $ra, 0xb4($sp) +/* E17B08 80241D88 8FBE00B0 */ lw $fp, 0xb0($sp) +/* E17B0C 80241D8C 8FB700AC */ lw $s7, 0xac($sp) +/* E17B10 80241D90 8FB600A8 */ lw $s6, 0xa8($sp) +/* E17B14 80241D94 8FB500A4 */ lw $s5, 0xa4($sp) +/* E17B18 80241D98 8FB400A0 */ lw $s4, 0xa0($sp) +/* E17B1C 80241D9C 8FB3009C */ lw $s3, 0x9c($sp) +/* E17B20 80241DA0 8FB20098 */ lw $s2, 0x98($sp) +/* E17B24 80241DA4 8FB10094 */ lw $s1, 0x94($sp) +/* E17B28 80241DA8 8FB00090 */ lw $s0, 0x90($sp) +/* E17B2C 80241DAC D7BE00E0 */ ldc1 $f30, 0xe0($sp) +/* E17B30 80241DB0 D7BC00D8 */ ldc1 $f28, 0xd8($sp) +/* E17B34 80241DB4 D7BA00D0 */ ldc1 $f26, 0xd0($sp) +/* E17B38 80241DB8 D7B800C8 */ ldc1 $f24, 0xc8($sp) +/* E17B3C 80241DBC D7B600C0 */ ldc1 $f22, 0xc0($sp) +/* E17B40 80241DC0 D7B400B8 */ ldc1 $f20, 0xb8($sp) +/* E17B44 80241DC4 03E00008 */ jr $ra +/* E17B48 80241DC8 27BD00E8 */ addiu $sp, $sp, 0xe8 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80241DCC_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241DCC_E15D80.s new file mode 100644 index 0000000000..70aded07bc --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241DCC_E15D80.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DCC_E17B4C +/* E17B4C 80241DCC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* E17B50 80241DD0 AFB40020 */ sw $s4, 0x20($sp) +/* E17B54 80241DD4 0080A02D */ daddu $s4, $a0, $zero +/* E17B58 80241DD8 0000202D */ daddu $a0, $zero, $zero +/* E17B5C 80241DDC AFBF0024 */ sw $ra, 0x24($sp) +/* E17B60 80241DE0 AFB3001C */ sw $s3, 0x1c($sp) +/* E17B64 80241DE4 AFB20018 */ sw $s2, 0x18($sp) +/* E17B68 80241DE8 AFB10014 */ sw $s1, 0x14($sp) +/* E17B6C 80241DEC 0C00FB3A */ jal get_enemy +/* E17B70 80241DF0 AFB00010 */ sw $s0, 0x10($sp) +/* E17B74 80241DF4 8C51006C */ lw $s1, 0x6c($v0) +/* E17B78 80241DF8 3C028888 */ lui $v0, 0x8888 +/* E17B7C 80241DFC 8E240008 */ lw $a0, 8($s1) +/* E17B80 80241E00 34428889 */ ori $v0, $v0, 0x8889 +/* E17B84 80241E04 00820018 */ mult $a0, $v0 +/* E17B88 80241E08 3C014024 */ lui $at, 0x4024 +/* E17B8C 80241E0C 44811800 */ mtc1 $at, $f3 +/* E17B90 80241E10 44801000 */ mtc1 $zero, $f2 +/* E17B94 80241E14 00041FC3 */ sra $v1, $a0, 0x1f +/* E17B98 80241E18 00003810 */ mfhi $a3 +/* E17B9C 80241E1C 00E41021 */ addu $v0, $a3, $a0 +/* E17BA0 80241E20 00021103 */ sra $v0, $v0, 4 +/* E17BA4 80241E24 00432823 */ subu $a1, $v0, $v1 +/* E17BA8 80241E28 00051100 */ sll $v0, $a1, 4 +/* E17BAC 80241E2C 00451023 */ subu $v0, $v0, $a1 +/* E17BB0 80241E30 00021040 */ sll $v0, $v0, 1 +/* E17BB4 80241E34 00822023 */ subu $a0, $a0, $v0 +/* E17BB8 80241E38 44840000 */ mtc1 $a0, $f0 +/* E17BBC 80241E3C 00000000 */ nop +/* E17BC0 80241E40 46800020 */ cvt.s.w $f0, $f0 +/* E17BC4 80241E44 46000021 */ cvt.d.s $f0, $f0 +/* E17BC8 80241E48 46220002 */ mul.d $f0, $f0, $f2 +/* E17BCC 80241E4C 00000000 */ nop +/* E17BD0 80241E50 3C108011 */ lui $s0, %hi(gPlayerData) +/* E17BD4 80241E54 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* E17BD8 80241E58 3C040001 */ lui $a0, 1 +/* E17BDC 80241E5C 00051080 */ sll $v0, $a1, 2 +/* E17BE0 80241E60 00451021 */ addu $v0, $v0, $a1 +/* E17BE4 80241E64 3C01403E */ lui $at, 0x403e +/* E17BE8 80241E68 44811800 */ mtc1 $at, $f3 +/* E17BEC 80241E6C 44801000 */ mtc1 $zero, $f2 +/* E17BF0 80241E70 00021040 */ sll $v0, $v0, 1 +/* E17BF4 80241E74 46220003 */ div.d $f0, $f0, $f2 +/* E17BF8 80241E78 4620010D */ trunc.w.d $f4, $f0 +/* E17BFC 80241E7C 44132000 */ mfc1 $s3, $f4 +/* E17C00 80241E80 00000000 */ nop +/* E17C04 80241E84 00531021 */ addu $v0, $v0, $s3 +/* E17C08 80241E88 AE220020 */ sw $v0, 0x20($s1) +/* E17C0C 80241E8C 8E030338 */ lw $v1, 0x338($s0) +/* E17C10 80241E90 3484869F */ ori $a0, $a0, 0x869f +/* E17C14 80241E94 00621821 */ addu $v1, $v1, $v0 +/* E17C18 80241E98 AE030338 */ sw $v1, 0x338($s0) +/* E17C1C 80241E9C 0083182B */ sltu $v1, $a0, $v1 +/* E17C20 80241EA0 10600002 */ beqz $v1, .L80241EAC +/* E17C24 80241EA4 0200902D */ daddu $s2, $s0, $zero +/* E17C28 80241EA8 AE040338 */ sw $a0, 0x338($s0) +.L80241EAC: +/* E17C2C 80241EAC 9642033C */ lhu $v0, 0x33c($s2) +/* E17C30 80241EB0 8E230020 */ lw $v1, 0x20($s1) +/* E17C34 80241EB4 0043102A */ slt $v0, $v0, $v1 +/* E17C38 80241EB8 10400003 */ beqz $v0, .L80241EC8 +/* E17C3C 80241EBC 00A0202D */ daddu $a0, $a1, $zero +/* E17C40 80241EC0 96220022 */ lhu $v0, 0x22($s1) +/* E17C44 80241EC4 A642033C */ sh $v0, 0x33c($s2) +.L80241EC8: +/* E17C48 80241EC8 0C0496FA */ jal set_message_value +/* E17C4C 80241ECC 0000282D */ daddu $a1, $zero, $zero +/* E17C50 80241ED0 0260202D */ daddu $a0, $s3, $zero +/* E17C54 80241ED4 0C0496FA */ jal set_message_value +/* E17C58 80241ED8 24050001 */ addiu $a1, $zero, 1 +/* E17C5C 80241EDC 8E240020 */ lw $a0, 0x20($s1) +/* E17C60 80241EE0 0C0496FA */ jal set_message_value +/* E17C64 80241EE4 24050002 */ addiu $a1, $zero, 2 +/* E17C68 80241EE8 8E260020 */ lw $a2, 0x20($s1) +/* E17C6C 80241EEC 14C00006 */ bnez $a2, .L80241F08 +/* E17C70 80241EF0 0280202D */ daddu $a0, $s4, $zero +/* E17C74 80241EF4 8E230004 */ lw $v1, 4($s1) +/* E17C78 80241EF8 2402000A */ addiu $v0, $zero, 0xa +/* E17C7C 80241EFC 50620002 */ beql $v1, $v0, .L80241F08 +/* E17C80 80241F00 2406FFFF */ addiu $a2, $zero, -1 +/* E17C84 80241F04 0280202D */ daddu $a0, $s4, $zero +.L80241F08: +/* E17C88 80241F08 3C05FE36 */ lui $a1, 0xfe36 +/* E17C8C 80241F0C 0C0B2026 */ jal set_variable +/* E17C90 80241F10 34A53C80 */ ori $a1, $a1, 0x3c80 +/* E17C94 80241F14 8FBF0024 */ lw $ra, 0x24($sp) +/* E17C98 80241F18 8FB40020 */ lw $s4, 0x20($sp) +/* E17C9C 80241F1C 8FB3001C */ lw $s3, 0x1c($sp) +/* E17CA0 80241F20 8FB20018 */ lw $s2, 0x18($sp) +/* E17CA4 80241F24 8FB10014 */ lw $s1, 0x14($sp) +/* E17CA8 80241F28 8FB00010 */ lw $s0, 0x10($sp) +/* E17CAC 80241F2C 24020002 */ addiu $v0, $zero, 2 +/* E17CB0 80241F30 03E00008 */ jr $ra +/* E17CB4 80241F34 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80241F38_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241F38_E15D80.s new file mode 100644 index 0000000000..36dac5edb0 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241F38_E15D80.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F38_E17CB8 +/* E17CB8 80241F38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E17CBC 80241F3C 0000202D */ daddu $a0, $zero, $zero +/* E17CC0 80241F40 AFBF0014 */ sw $ra, 0x14($sp) +/* E17CC4 80241F44 0C00FB3A */ jal get_enemy +/* E17CC8 80241F48 AFB00010 */ sw $s0, 0x10($sp) +/* E17CCC 80241F4C 8C50006C */ lw $s0, 0x6c($v0) +/* E17CD0 80241F50 8E030020 */ lw $v1, 0x20($s0) +/* E17CD4 80241F54 28620065 */ slti $v0, $v1, 0x65 +/* E17CD8 80241F58 14400003 */ bnez $v0, .L80241F68 +/* E17CDC 80241F5C 2862004C */ slti $v0, $v1, 0x4c +/* E17CE0 80241F60 080907EC */ j .L80241FB0 +/* E17CE4 80241F64 24040028 */ addiu $a0, $zero, 0x28 +.L80241F68: +/* E17CE8 80241F68 14400003 */ bnez $v0, .L80241F78 +/* E17CEC 80241F6C 28620033 */ slti $v0, $v1, 0x33 +/* E17CF0 80241F70 080907EC */ j .L80241FB0 +/* E17CF4 80241F74 24040023 */ addiu $a0, $zero, 0x23 +.L80241F78: +/* E17CF8 80241F78 14400003 */ bnez $v0, .L80241F88 +/* E17CFC 80241F7C 2862001F */ slti $v0, $v1, 0x1f +/* E17D00 80241F80 080907EC */ j .L80241FB0 +/* E17D04 80241F84 2404001E */ addiu $a0, $zero, 0x1e +.L80241F88: +/* E17D08 80241F88 14400003 */ bnez $v0, .L80241F98 +/* E17D0C 80241F8C 28620015 */ slti $v0, $v1, 0x15 +/* E17D10 80241F90 080907EC */ j .L80241FB0 +/* E17D14 80241F94 2404000A */ addiu $a0, $zero, 0xa +.L80241F98: +/* E17D18 80241F98 10400005 */ beqz $v0, .L80241FB0 +/* E17D1C 80241F9C 24040005 */ addiu $a0, $zero, 5 +/* E17D20 80241FA0 2862000B */ slti $v0, $v1, 0xb +/* E17D24 80241FA4 14400002 */ bnez $v0, .L80241FB0 +/* E17D28 80241FA8 24040001 */ addiu $a0, $zero, 1 +/* E17D2C 80241FAC 24040002 */ addiu $a0, $zero, 2 +.L80241FB0: +/* E17D30 80241FB0 8E020020 */ lw $v0, 0x20($s0) +/* E17D34 80241FB4 00441023 */ subu $v0, $v0, $a0 +/* E17D38 80241FB8 0C03A830 */ jal add_coins +/* E17D3C 80241FBC AE020020 */ sw $v0, 0x20($s0) +/* E17D40 80241FC0 0C05272D */ jal play_sound +/* E17D44 80241FC4 24040211 */ addiu $a0, $zero, 0x211 +/* E17D48 80241FC8 8E020020 */ lw $v0, 0x20($s0) +/* E17D4C 80241FCC 8FBF0014 */ lw $ra, 0x14($sp) +/* E17D50 80241FD0 8FB00010 */ lw $s0, 0x10($sp) +/* E17D54 80241FD4 28420001 */ slti $v0, $v0, 1 +/* E17D58 80241FD8 00021040 */ sll $v0, $v0, 1 +/* E17D5C 80241FDC 03E00008 */ jr $ra +/* E17D60 80241FE0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80241FE4.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241FE4.s new file mode 100644 index 0000000000..5708eacf20 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80241FE4.s @@ -0,0 +1,179 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FE4 +/* E17D64 80241FE4 27BDFF88 */ addiu $sp, $sp, -0x78 +/* E17D68 80241FE8 AFBF0058 */ sw $ra, 0x58($sp) +/* E17D6C 80241FEC AFB70054 */ sw $s7, 0x54($sp) +/* E17D70 80241FF0 AFB60050 */ sw $s6, 0x50($sp) +/* E17D74 80241FF4 AFB5004C */ sw $s5, 0x4c($sp) +/* E17D78 80241FF8 AFB40048 */ sw $s4, 0x48($sp) +/* E17D7C 80241FFC AFB30044 */ sw $s3, 0x44($sp) +/* E17D80 80242000 AFB20040 */ sw $s2, 0x40($sp) +/* E17D84 80242004 AFB1003C */ sw $s1, 0x3c($sp) +/* E17D88 80242008 AFB00038 */ sw $s0, 0x38($sp) +/* E17D8C 8024200C F7B80070 */ sdc1 $f24, 0x70($sp) +/* E17D90 80242010 F7B60068 */ sdc1 $f22, 0x68($sp) +/* E17D94 80242014 F7B40060 */ sdc1 $f20, 0x60($sp) +/* E17D98 80242018 0C00FB3A */ jal get_enemy +/* E17D9C 8024201C 0000202D */ daddu $a0, $zero, $zero +/* E17DA0 80242020 0040882D */ daddu $s1, $v0, $zero +/* E17DA4 80242024 24030004 */ addiu $v1, $zero, 4 +/* E17DA8 80242028 8E220078 */ lw $v0, 0x78($s1) +/* E17DAC 8024202C 8E24006C */ lw $a0, 0x6c($s1) +/* E17DB0 80242030 14430035 */ bne $v0, $v1, .L80242108 +/* E17DB4 80242034 0000902D */ daddu $s2, $zero, $zero +/* E17DB8 80242038 2417FFFF */ addiu $s7, $zero, -1 +/* E17DBC 8024203C 27B60028 */ addiu $s6, $sp, 0x28 +/* E17DC0 80242040 27B5002C */ addiu $s5, $sp, 0x2c +/* E17DC4 80242044 27B40030 */ addiu $s4, $sp, 0x30 +/* E17DC8 80242048 0080982D */ daddu $s3, $a0, $zero +.L8024204C: +/* E17DCC 8024204C 8E640040 */ lw $a0, 0x40($s3) +/* E17DD0 80242050 50970028 */ beql $a0, $s7, .L802420F4 +/* E17DD4 80242054 26520001 */ addiu $s2, $s2, 1 +/* E17DD8 80242058 0C00FB3A */ jal get_enemy +/* E17DDC 8024205C 00000000 */ nop +/* E17DE0 80242060 84440008 */ lh $a0, 8($v0) +/* E17DE4 80242064 0C00EABB */ jal get_npc_unsafe +/* E17DE8 80242068 0040882D */ daddu $s1, $v0, $zero +/* E17DEC 8024206C 0040802D */ daddu $s0, $v0, $zero +/* E17DF0 80242070 8E020000 */ lw $v0, ($s0) +/* E17DF4 80242074 30420002 */ andi $v0, $v0, 2 +/* E17DF8 80242078 5440001E */ bnel $v0, $zero, .L802420F4 +/* E17DFC 8024207C 26520001 */ addiu $s2, $s2, 1 +/* E17E00 80242080 AFB60010 */ sw $s6, 0x10($sp) +/* E17E04 80242084 AFB50014 */ sw $s5, 0x14($sp) +/* E17E08 80242088 AFB40018 */ sw $s4, 0x18($sp) +/* E17E0C 8024208C 8E050038 */ lw $a1, 0x38($s0) +/* E17E10 80242090 8E06003C */ lw $a2, 0x3c($s0) +/* E17E14 80242094 8E070040 */ lw $a3, 0x40($s0) +/* E17E18 80242098 0C00B94E */ jal get_screen_coords +/* E17E1C 8024209C 0000202D */ daddu $a0, $zero, $zero +/* E17E20 802420A0 8FA20028 */ lw $v0, 0x28($sp) +/* E17E24 802420A4 2442FFFF */ addiu $v0, $v0, -1 +/* E17E28 802420A8 2C42013F */ sltiu $v0, $v0, 0x13f +/* E17E2C 802420AC 1040000A */ beqz $v0, .L802420D8 +/* E17E30 802420B0 00000000 */ nop +/* E17E34 802420B4 AFA00010 */ sw $zero, 0x10($sp) +/* E17E38 802420B8 AFA00014 */ sw $zero, 0x14($sp) +/* E17E3C 802420BC 8E050038 */ lw $a1, 0x38($s0) +/* E17E40 802420C0 8E06003C */ lw $a2, 0x3c($s0) +/* E17E44 802420C4 8E070040 */ lw $a3, 0x40($s0) +/* E17E48 802420C8 0C01BECC */ jal fx_walk_normal +/* E17E4C 802420CC 24040001 */ addiu $a0, $zero, 1 +/* E17E50 802420D0 0C05272D */ jal play_sound +/* E17E54 802420D4 24040283 */ addiu $a0, $zero, 0x283 +.L802420D8: +/* E17E58 802420D8 8E020000 */ lw $v0, ($s0) +/* E17E5C 802420DC 0200202D */ daddu $a0, $s0, $zero +/* E17E60 802420E0 34420002 */ ori $v0, $v0, 2 +/* E17E64 802420E4 0C00EAFF */ jal disable_npc_shadow +/* E17E68 802420E8 AC820000 */ sw $v0, ($a0) +/* E17E6C 802420EC AE20006C */ sw $zero, 0x6c($s1) +/* E17E70 802420F0 26520001 */ addiu $s2, $s2, 1 +.L802420F4: +/* E17E74 802420F4 2A420023 */ slti $v0, $s2, 0x23 +/* E17E78 802420F8 1440FFD4 */ bnez $v0, .L8024204C +/* E17E7C 802420FC 2673001C */ addiu $s3, $s3, 0x1c +/* E17E80 80242100 0809088F */ j .L8024223C +/* E17E84 80242104 24020002 */ addiu $v0, $zero, 2 +.L80242108: +/* E17E88 80242108 24160012 */ addiu $s6, $zero, 0x12 +/* E17E8C 8024210C 2415001E */ addiu $s5, $zero, 0x1e +/* E17E90 80242110 27B30034 */ addiu $s3, $sp, 0x34 +/* E17E94 80242114 24140025 */ addiu $s4, $zero, 0x25 +/* E17E98 80242118 0080882D */ daddu $s1, $a0, $zero +/* E17E9C 8024211C 4480A000 */ mtc1 $zero, $f20 +/* E17EA0 80242120 3C013F80 */ lui $at, 0x3f80 +/* E17EA4 80242124 4481C000 */ mtc1 $at, $f24 +/* E17EA8 80242128 3C014000 */ lui $at, 0x4000 +/* E17EAC 8024212C 4481B000 */ mtc1 $at, $f22 +.L80242130: +/* E17EB0 80242130 8E240040 */ lw $a0, 0x40($s1) +/* E17EB4 80242134 2402FFFF */ addiu $v0, $zero, -1 +/* E17EB8 80242138 5082003C */ beql $a0, $v0, .L8024222C +/* E17EBC 8024213C 2631001C */ addiu $s1, $s1, 0x1c +/* E17EC0 80242140 0C00FB3A */ jal get_enemy +/* E17EC4 80242144 00000000 */ nop +/* E17EC8 80242148 0C00EABB */ jal get_npc_unsafe +/* E17ECC 8024214C 84440008 */ lh $a0, 8($v0) +/* E17ED0 80242150 0040802D */ daddu $s0, $v0, $zero +/* E17ED4 80242154 8E020000 */ lw $v0, ($s0) +/* E17ED8 80242158 30420002 */ andi $v0, $v0, 2 +/* E17EDC 8024215C 54400033 */ bnel $v0, $zero, .L8024222C +/* E17EE0 80242160 2631001C */ addiu $s1, $s1, 0x1c +/* E17EE4 80242164 8E230034 */ lw $v1, 0x34($s1) +/* E17EE8 80242168 10600005 */ beqz $v1, .L80242180 +/* E17EEC 8024216C 24020001 */ addiu $v0, $zero, 1 +/* E17EF0 80242170 10620017 */ beq $v1, $v0, .L802421D0 +/* E17EF4 80242174 00000000 */ nop +/* E17EF8 80242178 0809088B */ j .L8024222C +/* E17EFC 8024217C 2631001C */ addiu $s1, $s1, 0x1c +.L80242180: +/* E17F00 80242180 8E22002C */ lw $v0, 0x2c($s1) +/* E17F04 80242184 10560028 */ beq $v0, $s6, .L80242228 +/* E17F08 80242188 24040002 */ addiu $a0, $zero, 2 +/* E17F0C 8024218C AE36002C */ sw $s6, 0x2c($s1) +/* E17F10 80242190 860200A8 */ lh $v0, 0xa8($s0) +/* E17F14 80242194 4406A000 */ mfc1 $a2, $f20 +/* E17F18 80242198 44820000 */ mtc1 $v0, $f0 +/* E17F1C 8024219C 00000000 */ nop +/* E17F20 802421A0 46800020 */ cvt.s.w $f0, $f0 +/* E17F24 802421A4 44070000 */ mfc1 $a3, $f0 +/* E17F28 802421A8 0200282D */ daddu $a1, $s0, $zero +/* E17F2C 802421AC E7B80010 */ swc1 $f24, 0x10($sp) +/* E17F30 802421B0 E7B60014 */ swc1 $f22, 0x14($sp) +/* E17F34 802421B4 E7B40018 */ swc1 $f20, 0x18($sp) +/* E17F38 802421B8 AFB5001C */ sw $s5, 0x1c($sp) +/* E17F3C 802421BC 0C01BFA4 */ jal fx_emote +/* E17F40 802421C0 AFB30020 */ sw $s3, 0x20($sp) +/* E17F44 802421C4 3C02002B */ lui $v0, 0x2b +/* E17F48 802421C8 08090887 */ j .L8024221C +/* E17F4C 802421CC 3442000E */ ori $v0, $v0, 0xe +.L802421D0: +/* E17F50 802421D0 8E22002C */ lw $v0, 0x2c($s1) +/* E17F54 802421D4 10540014 */ beq $v0, $s4, .L80242228 +/* E17F58 802421D8 24040002 */ addiu $a0, $zero, 2 +/* E17F5C 802421DC AE34002C */ sw $s4, 0x2c($s1) +/* E17F60 802421E0 860200A8 */ lh $v0, 0xa8($s0) +/* E17F64 802421E4 4406A000 */ mfc1 $a2, $f20 +/* E17F68 802421E8 44820000 */ mtc1 $v0, $f0 +/* E17F6C 802421EC 00000000 */ nop +/* E17F70 802421F0 46800020 */ cvt.s.w $f0, $f0 +/* E17F74 802421F4 44070000 */ mfc1 $a3, $f0 +/* E17F78 802421F8 0200282D */ daddu $a1, $s0, $zero +/* E17F7C 802421FC E7B80010 */ swc1 $f24, 0x10($sp) +/* E17F80 80242200 E7B60014 */ swc1 $f22, 0x14($sp) +/* E17F84 80242204 E7B40018 */ swc1 $f20, 0x18($sp) +/* E17F88 80242208 AFB5001C */ sw $s5, 0x1c($sp) +/* E17F8C 8024220C 0C01BFA4 */ jal fx_emote +/* E17F90 80242210 AFB30020 */ sw $s3, 0x20($sp) +/* E17F94 80242214 3C02002C */ lui $v0, 0x2c +/* E17F98 80242218 3442001C */ ori $v0, $v0, 0x1c +.L8024221C: +/* E17F9C 8024221C 0200202D */ daddu $a0, $s0, $zero +/* E17FA0 80242220 0C00EAE8 */ jal enable_npc_shadow +/* E17FA4 80242224 AC820028 */ sw $v0, 0x28($a0) +.L80242228: +/* E17FA8 80242228 2631001C */ addiu $s1, $s1, 0x1c +.L8024222C: +/* E17FAC 8024222C 26520001 */ addiu $s2, $s2, 1 +/* E17FB0 80242230 2A420023 */ slti $v0, $s2, 0x23 +/* E17FB4 80242234 1440FFBE */ bnez $v0, .L80242130 +/* E17FB8 80242238 0000102D */ daddu $v0, $zero, $zero +.L8024223C: +/* E17FBC 8024223C 8FBF0058 */ lw $ra, 0x58($sp) +/* E17FC0 80242240 8FB70054 */ lw $s7, 0x54($sp) +/* E17FC4 80242244 8FB60050 */ lw $s6, 0x50($sp) +/* E17FC8 80242248 8FB5004C */ lw $s5, 0x4c($sp) +/* E17FCC 8024224C 8FB40048 */ lw $s4, 0x48($sp) +/* E17FD0 80242250 8FB30044 */ lw $s3, 0x44($sp) +/* E17FD4 80242254 8FB20040 */ lw $s2, 0x40($sp) +/* E17FD8 80242258 8FB1003C */ lw $s1, 0x3c($sp) +/* E17FDC 8024225C 8FB00038 */ lw $s0, 0x38($sp) +/* E17FE0 80242260 D7B80070 */ ldc1 $f24, 0x70($sp) +/* E17FE4 80242264 D7B60068 */ ldc1 $f22, 0x68($sp) +/* E17FE8 80242268 D7B40060 */ ldc1 $f20, 0x60($sp) +/* E17FEC 8024226C 03E00008 */ jr $ra +/* E17FF0 80242270 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80242274.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242274.s new file mode 100644 index 0000000000..cea4412909 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242274.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242274 +/* E17FF4 80242274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E17FF8 80242278 0000202D */ daddu $a0, $zero, $zero +/* E17FFC 8024227C AFBF0014 */ sw $ra, 0x14($sp) +/* E18000 80242280 0C00FB3A */ jal get_enemy +/* E18004 80242284 AFB00010 */ sw $s0, 0x10($sp) +/* E18008 80242288 24040400 */ addiu $a0, $zero, 0x400 +/* E1800C 8024228C 0C00AB39 */ jal heap_malloc +/* E18010 80242290 0040802D */ daddu $s0, $v0, $zero +/* E18014 80242294 2403FFB0 */ addiu $v1, $zero, -0x50 +/* E18018 80242298 AE02006C */ sw $v0, 0x6c($s0) +/* E1801C 8024229C AC430014 */ sw $v1, 0x14($v0) +/* E18020 802422A0 24030140 */ addiu $v1, $zero, 0x140 +/* E18024 802422A4 AC430018 */ sw $v1, 0x18($v0) +/* E18028 802422A8 24030384 */ addiu $v1, $zero, 0x384 +/* E1802C 802422AC 0C03A625 */ jal func_800E9894 +/* E18030 802422B0 AC430008 */ sw $v1, 8($v0) +/* E18034 802422B4 0C03A5EE */ jal func_800E97B8 +/* E18038 802422B8 00000000 */ nop +/* E1803C 802422BC 8FBF0014 */ lw $ra, 0x14($sp) +/* E18040 802422C0 8FB00010 */ lw $s0, 0x10($sp) +/* E18044 802422C4 24020002 */ addiu $v0, $zero, 2 +/* E18048 802422C8 03E00008 */ jr $ra +/* E1804C 802422CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_802422D0.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_802422D0.s new file mode 100644 index 0000000000..2164843ce7 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_802422D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422D0 +/* E18050 802422D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E18054 802422D4 0000202D */ daddu $a0, $zero, $zero +/* E18058 802422D8 AFBF0014 */ sw $ra, 0x14($sp) +/* E1805C 802422DC 0C00FB3A */ jal get_enemy +/* E18060 802422E0 AFB00010 */ sw $s0, 0x10($sp) +/* E18064 802422E4 8C50006C */ lw $s0, 0x6c($v0) +/* E18068 802422E8 0C048D70 */ jal func_801235C0 +/* E1806C 802422EC 8E040000 */ lw $a0, ($s0) +/* E18070 802422F0 0C05123D */ jal free_icon +/* E18074 802422F4 8E04000C */ lw $a0, 0xc($s0) +/* E18078 802422F8 0C05123D */ jal free_icon +/* E1807C 802422FC 8E040010 */ lw $a0, 0x10($s0) +/* E18080 80242300 8FBF0014 */ lw $ra, 0x14($sp) +/* E18084 80242304 8FB00010 */ lw $s0, 0x10($sp) +/* E18088 80242308 24020002 */ addiu $v0, $zero, 2 +/* E1808C 8024230C 03E00008 */ jr $ra +/* E18090 80242310 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80242314_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242314_E15D80.s new file mode 100644 index 0000000000..11f9e63790 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242314_E15D80.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242314_E18094 +/* E18094 80242314 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E18098 80242318 3C05FE36 */ lui $a1, 0xfe36 +/* E1809C 8024231C 3C068011 */ lui $a2, 0x8011 +/* E180A0 80242320 84C6F29C */ lh $a2, -0xd64($a2) +/* E180A4 80242324 AFBF0010 */ sw $ra, 0x10($sp) +/* E180A8 80242328 0C0B2026 */ jal set_variable +/* E180AC 8024232C 34A53C8A */ ori $a1, $a1, 0x3c8a +/* E180B0 80242330 8FBF0010 */ lw $ra, 0x10($sp) +/* E180B4 80242334 24020002 */ addiu $v0, $zero, 2 +/* E180B8 80242338 03E00008 */ jr $ra +/* E180BC 8024233C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_80242340.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242340.s new file mode 100644 index 0000000000..2ed2f5596e --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_80242340.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242340 +/* E180C0 80242340 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E180C4 80242344 AFB00010 */ sw $s0, 0x10($sp) +/* E180C8 80242348 0080802D */ daddu $s0, $a0, $zero +/* E180CC 8024234C 3C038011 */ lui $v1, %hi(gPlayerData) +/* E180D0 80242350 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* E180D4 80242354 10A00005 */ beqz $a1, .L8024236C +/* E180D8 80242358 AFBF0014 */ sw $ra, 0x14($sp) +/* E180DC 8024235C 94620336 */ lhu $v0, 0x336($v1) +/* E180E0 80242360 24420001 */ addiu $v0, $v0, 1 +/* E180E4 80242364 A4620336 */ sh $v0, 0x336($v1) +/* E180E8 80242368 AE000070 */ sw $zero, 0x70($s0) +.L8024236C: +/* E180EC 8024236C 0C03A830 */ jal add_coins +/* E180F0 80242370 2404FFFF */ addiu $a0, $zero, -1 +/* E180F4 80242374 0C05272D */ jal play_sound +/* E180F8 80242378 24040211 */ addiu $a0, $zero, 0x211 +/* E180FC 8024237C 8E030070 */ lw $v1, 0x70($s0) +/* E18100 80242380 24630001 */ addiu $v1, $v1, 1 +/* E18104 80242384 3862000A */ xori $v0, $v1, 0xa +/* E18108 80242388 2C420001 */ sltiu $v0, $v0, 1 +/* E1810C 8024238C AE030070 */ sw $v1, 0x70($s0) +/* E18110 80242390 8FBF0014 */ lw $ra, 0x14($sp) +/* E18114 80242394 8FB00010 */ lw $s0, 0x10($sp) +/* E18118 80242398 00021040 */ sll $v0, $v0, 1 +/* E1811C 8024239C 03E00008 */ jr $ra +/* E18120 802423A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_802423A4.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_802423A4.s new file mode 100644 index 0000000000..d28da5face --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_802423A4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423A4 +/* E18124 802423A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E18128 802423A8 AFBF0010 */ sw $ra, 0x10($sp) +/* E1812C 802423AC 0C03A5B2 */ jal func_800E96C8 +/* E18130 802423B0 00000000 */ nop +/* E18134 802423B4 8FBF0010 */ lw $ra, 0x10($sp) +/* E18138 802423B8 24020002 */ addiu $v0, $zero, 2 +/* E1813C 802423BC 03E00008 */ jr $ra +/* E18140 802423C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* E18144 802423C4 00000000 */ nop +/* E18148 802423C8 00000000 */ nop +/* E1814C 802423CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mgm/mgm_02/func_802423D0_E15D80.s b/asm/nonmatchings/world/area_mgm/mgm_02/func_802423D0_E15D80.s new file mode 100644 index 0000000000..b47a82f0c4 --- /dev/null +++ b/asm/nonmatchings/world/area_mgm/mgm_02/func_802423D0_E15D80.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423D0_E18150 +/* E18150 802423D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* E18154 802423D4 3C048025 */ lui $a0, 0x8025 +/* E18158 802423D8 248484C0 */ addiu $a0, $a0, -0x7b40 +/* E1815C 802423DC AFBF0010 */ sw $ra, 0x10($sp) +/* E18160 802423E0 0C0496CB */ jal set_message_images +/* E18164 802423E4 00000000 */ nop +/* E18168 802423E8 8FBF0010 */ lw $ra, 0x10($sp) +/* E1816C 802423EC 24020002 */ addiu $v0, $zero, 2 +/* E18170 802423F0 03E00008 */ jr $ra +/* E18174 802423F4 27BD0018 */ addiu $sp, $sp, 0x18 +/* E18178 802423F8 00000000 */ nop +/* E1817C 802423FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240000_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240000_B93440.s new file mode 100644 index 0000000000..89b81afd91 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240000_B93440.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B93440 +/* B93440 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B93444 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B93448 80240008 0C046ED4 */ jal enable_world_fog +/* B9344C 8024000C 00000000 */ nop +/* B93450 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* B93454 80240014 0C046EDD */ jal set_world_fog_dist +/* B93458 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B9345C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B93460 80240020 0080282D */ daddu $a1, $a0, $zero +/* B93464 80240024 0080302D */ daddu $a2, $a0, $zero +/* B93468 80240028 0C046EE2 */ jal set_world_fog_color +/* B9346C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* B93470 80240030 0C048BFB */ jal enable_entity_fog +/* B93474 80240034 00000000 */ nop +/* B93478 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* B9347C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* B93480 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B93484 80240044 0000202D */ daddu $a0, $zero, $zero +/* B93488 80240048 0080282D */ daddu $a1, $a0, $zero +/* B9348C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* B93490 80240050 0C048C0A */ jal set_entity_fog_color +/* B93494 80240054 240700FF */ addiu $a3, $zero, 0xff +/* B93498 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* B9349C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* B934A0 80240060 03E00008 */ jr $ra +/* B934A4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* B934A8 80240068 00000000 */ nop +/* B934AC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240070_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240070_B93440.s new file mode 100644 index 0000000000..93462f0ad7 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240070_B93440.s @@ -0,0 +1,239 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_B934B0 +/* B934B0 80240070 27BDFF88 */ addiu $sp, $sp, -0x78 +/* B934B4 80240074 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B934B8 80240078 4480B000 */ mtc1 $zero, $f22 +/* B934BC 8024007C AFB30034 */ sw $s3, 0x34($sp) +/* B934C0 80240080 00A0982D */ daddu $s3, $a1, $zero +/* B934C4 80240084 AFB40038 */ sw $s4, 0x38($sp) +/* B934C8 80240088 00C0A02D */ daddu $s4, $a2, $zero +/* B934CC 8024008C AFB5003C */ sw $s5, 0x3c($sp) +/* B934D0 80240090 00E0A82D */ daddu $s5, $a3, $zero +/* B934D4 80240094 AFB20030 */ sw $s2, 0x30($sp) +/* B934D8 80240098 0080902D */ daddu $s2, $a0, $zero +/* B934DC 8024009C AFB1002C */ sw $s1, 0x2c($sp) +/* B934E0 802400A0 3C118024 */ lui $s1, 0x8024 +/* B934E4 802400A4 263147C0 */ addiu $s1, $s1, 0x47c0 +/* B934E8 802400A8 AFBF0040 */ sw $ra, 0x40($sp) +/* B934EC 802400AC AFB00028 */ sw $s0, 0x28($sp) +/* B934F0 802400B0 F7BE0070 */ sdc1 $f30, 0x70($sp) +/* B934F4 802400B4 F7BC0068 */ sdc1 $f28, 0x68($sp) +/* B934F8 802400B8 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* B934FC 802400BC F7B80058 */ sdc1 $f24, 0x58($sp) +/* B93500 802400C0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B93504 802400C4 4600B006 */ mov.s $f0, $f22 +/* B93508 802400C8 4600B406 */ mov.s $f16, $f22 +/* B9350C 802400CC 4600B506 */ mov.s $f20, $f22 +/* B93510 802400D0 4600A786 */ mov.s $f30, $f20 +/* B93514 802400D4 4600A086 */ mov.s $f2, $f20 +/* B93518 802400D8 4600A606 */ mov.s $f24, $f20 +/* B9351C 802400DC 4600A686 */ mov.s $f26, $f20 +/* B93520 802400E0 4600A706 */ mov.s $f28, $f20 +.L802400E4: +/* B93524 802400E4 24020006 */ addiu $v0, $zero, 6 +/* B93528 802400E8 8E460000 */ lw $a2, ($s2) +/* B9352C 802400EC 8E470004 */ lw $a3, 4($s2) +/* B93530 802400F0 00061E02 */ srl $v1, $a2, 0x18 +/* B93534 802400F4 1062004E */ beq $v1, $v0, .L80240230 +/* B93538 802400F8 0000802D */ daddu $s0, $zero, $zero +/* B9353C 802400FC 28620007 */ slti $v0, $v1, 7 +/* B93540 80240100 10400007 */ beqz $v0, .L80240120 +/* B93544 80240104 24020001 */ addiu $v0, $zero, 1 +/* B93548 80240108 10620018 */ beq $v1, $v0, .L8024016C +/* B9354C 8024010C 24020005 */ addiu $v0, $zero, 5 +/* B93550 80240110 10620029 */ beq $v1, $v0, .L802401B8 +/* B93554 80240114 000713C2 */ srl $v0, $a3, 0xf +/* B93558 80240118 080900BD */ j .L802402F4 +/* B9355C 8024011C 00000000 */ nop +.L80240120: +/* B93560 80240120 240200DE */ addiu $v0, $zero, 0xde +/* B93564 80240124 10620005 */ beq $v1, $v0, .L8024013C +/* B93568 80240128 240200DF */ addiu $v0, $zero, 0xdf +/* B9356C 8024012C 50620071 */ beql $v1, $v0, .L802402F4 +/* B93570 80240130 24100001 */ addiu $s0, $zero, 1 +/* B93574 80240134 080900BD */ j .L802402F4 +/* B93578 80240138 00000000 */ nop +.L8024013C: +/* B9357C 8024013C 00E0202D */ daddu $a0, $a3, $zero +/* B93580 80240140 0260282D */ daddu $a1, $s3, $zero +/* B93584 80240144 0280302D */ daddu $a2, $s4, $zero +/* B93588 80240148 02A0382D */ daddu $a3, $s5, $zero +/* B9358C 8024014C E7A00018 */ swc1 $f0, 0x18($sp) +/* B93590 80240150 E7A2001C */ swc1 $f2, 0x1c($sp) +/* B93594 80240154 0C09001C */ jal func_80240070 +/* B93598 80240158 E7B00020 */ swc1 $f16, 0x20($sp) +/* B9359C 8024015C C7A00018 */ lwc1 $f0, 0x18($sp) +/* B935A0 80240160 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B935A4 80240164 080900BD */ j .L802402F4 +/* B935A8 80240168 C7B00020 */ lwc1 $f16, 0x20($sp) +.L8024016C: +/* B935AC 8024016C 00061302 */ srl $v0, $a2, 0xc +/* B935B0 80240170 304500FF */ andi $a1, $v0, 0xff +/* B935B4 80240174 0205102B */ sltu $v0, $s0, $a1 +/* B935B8 80240178 1040005E */ beqz $v0, .L802402F4 +/* B935BC 8024017C 0000182D */ daddu $v1, $zero, $zero +/* B935C0 80240180 00061042 */ srl $v0, $a2, 1 +/* B935C4 80240184 3042007F */ andi $v0, $v0, 0x7f +/* B935C8 80240188 00453023 */ subu $a2, $v0, $a1 +/* B935CC 8024018C 00E0202D */ daddu $a0, $a3, $zero +.L80240190: +/* B935D0 80240190 00C31021 */ addu $v0, $a2, $v1 +/* B935D4 80240194 00021080 */ sll $v0, $v0, 2 +/* B935D8 80240198 00511021 */ addu $v0, $v0, $s1 +/* B935DC 8024019C AC440000 */ sw $a0, ($v0) +/* B935E0 802401A0 24630001 */ addiu $v1, $v1, 1 +/* B935E4 802401A4 0065102B */ sltu $v0, $v1, $a1 +/* B935E8 802401A8 1440FFF9 */ bnez $v0, .L80240190 +/* B935EC 802401AC 24840010 */ addiu $a0, $a0, 0x10 +/* B935F0 802401B0 080900BD */ j .L802402F4 +/* B935F4 802401B4 00000000 */ nop +.L802401B8: +/* B935F8 802401B8 304201FC */ andi $v0, $v0, 0x1fc +/* B935FC 802401BC 00511021 */ addu $v0, $v0, $s1 +/* B93600 802401C0 8C440000 */ lw $a0, ($v0) +/* B93604 802401C4 24100002 */ addiu $s0, $zero, 2 +/* B93608 802401C8 84820000 */ lh $v0, ($a0) +/* B9360C 802401CC 84830002 */ lh $v1, 2($a0) +/* B93610 802401D0 44828000 */ mtc1 $v0, $f16 +/* B93614 802401D4 00000000 */ nop +/* B93618 802401D8 46808420 */ cvt.s.w $f16, $f16 +/* B9361C 802401DC 44830000 */ mtc1 $v1, $f0 +/* B93620 802401E0 00000000 */ nop +/* B93624 802401E4 46800020 */ cvt.s.w $f0, $f0 +/* B93628 802401E8 000711C2 */ srl $v0, $a3, 7 +/* B9362C 802401EC 304201FC */ andi $v0, $v0, 0x1fc +/* B93630 802401F0 00511021 */ addu $v0, $v0, $s1 +/* B93634 802401F4 84830004 */ lh $v1, 4($a0) +/* B93638 802401F8 8C440000 */ lw $a0, ($v0) +/* B9363C 802401FC 4483B000 */ mtc1 $v1, $f22 +/* B93640 80240200 00000000 */ nop +/* B93644 80240204 4680B5A0 */ cvt.s.w $f22, $f22 +/* B93648 80240208 84820000 */ lh $v0, ($a0) +/* B9364C 8024020C 84830002 */ lh $v1, 2($a0) +/* B93650 80240210 44821000 */ mtc1 $v0, $f2 +/* B93654 80240214 00000000 */ nop +/* B93658 80240218 468010A0 */ cvt.s.w $f2, $f2 +/* B9365C 8024021C 4483F000 */ mtc1 $v1, $f30 +/* B93660 80240220 00000000 */ nop +/* B93664 80240224 4680F7A0 */ cvt.s.w $f30, $f30 +/* B93668 80240228 080900AA */ j .L802402A8 +/* B9366C 8024022C 00071040 */ sll $v0, $a3, 1 +.L80240230: +/* B93670 80240230 000613C2 */ srl $v0, $a2, 0xf +/* B93674 80240234 304201FC */ andi $v0, $v0, 0x1fc +/* B93678 80240238 00511021 */ addu $v0, $v0, $s1 +/* B9367C 8024023C 8C440000 */ lw $a0, ($v0) +/* B93680 80240240 24100002 */ addiu $s0, $zero, 2 +/* B93684 80240244 84820000 */ lh $v0, ($a0) +/* B93688 80240248 84830002 */ lh $v1, 2($a0) +/* B9368C 8024024C 44828000 */ mtc1 $v0, $f16 +/* B93690 80240250 00000000 */ nop +/* B93694 80240254 46808420 */ cvt.s.w $f16, $f16 +/* B93698 80240258 44830000 */ mtc1 $v1, $f0 +/* B9369C 8024025C 00000000 */ nop +/* B936A0 80240260 46800020 */ cvt.s.w $f0, $f0 +/* B936A4 80240264 000611C2 */ srl $v0, $a2, 7 +/* B936A8 80240268 304201FC */ andi $v0, $v0, 0x1fc +/* B936AC 8024026C 00511021 */ addu $v0, $v0, $s1 +/* B936B0 80240270 84830004 */ lh $v1, 4($a0) +/* B936B4 80240274 8C440000 */ lw $a0, ($v0) +/* B936B8 80240278 4483B000 */ mtc1 $v1, $f22 +/* B936BC 8024027C 00000000 */ nop +/* B936C0 80240280 4680B5A0 */ cvt.s.w $f22, $f22 +/* B936C4 80240284 84820000 */ lh $v0, ($a0) +/* B936C8 80240288 84830002 */ lh $v1, 2($a0) +/* B936CC 8024028C 44821000 */ mtc1 $v0, $f2 +/* B936D0 80240290 00000000 */ nop +/* B936D4 80240294 468010A0 */ cvt.s.w $f2, $f2 +/* B936D8 80240298 4483F000 */ mtc1 $v1, $f30 +/* B936DC 8024029C 00000000 */ nop +/* B936E0 802402A0 4680F7A0 */ cvt.s.w $f30, $f30 +/* B936E4 802402A4 00061040 */ sll $v0, $a2, 1 +.L802402A8: +/* B936E8 802402A8 304201FC */ andi $v0, $v0, 0x1fc +/* B936EC 802402AC 00511021 */ addu $v0, $v0, $s1 +/* B936F0 802402B0 84830004 */ lh $v1, 4($a0) +/* B936F4 802402B4 8C420000 */ lw $v0, ($v0) +/* B936F8 802402B8 4483A000 */ mtc1 $v1, $f20 +/* B936FC 802402BC 00000000 */ nop +/* B93700 802402C0 4680A520 */ cvt.s.w $f20, $f20 +/* B93704 802402C4 84440000 */ lh $a0, ($v0) +/* B93708 802402C8 84430002 */ lh $v1, 2($v0) +/* B9370C 802402CC 84420004 */ lh $v0, 4($v0) +/* B93710 802402D0 4484E000 */ mtc1 $a0, $f28 +/* B93714 802402D4 00000000 */ nop +/* B93718 802402D8 4680E720 */ cvt.s.w $f28, $f28 +/* B9371C 802402DC 4483D000 */ mtc1 $v1, $f26 +/* B93720 802402E0 00000000 */ nop +/* B93724 802402E4 4680D6A0 */ cvt.s.w $f26, $f26 +/* B93728 802402E8 4482C000 */ mtc1 $v0, $f24 +/* B9372C 802402EC 00000000 */ nop +/* B93730 802402F0 4680C620 */ cvt.s.w $f24, $f24 +.L802402F4: +/* B93734 802402F4 1200FF7B */ beqz $s0, .L802400E4 +/* B93738 802402F8 26520008 */ addiu $s2, $s2, 8 +/* B9373C 802402FC 24020002 */ addiu $v0, $zero, 2 +/* B93740 80240300 1602002C */ bne $s0, $v0, .L802403B4 +/* B93744 80240304 00000000 */ nop +/* B93748 80240308 461E0201 */ sub.s $f8, $f0, $f30 +/* B9374C 8024030C 4614C181 */ sub.s $f6, $f24, $f20 +/* B93750 80240310 46064382 */ mul.s $f14, $f8, $f6 +/* B93754 80240314 00000000 */ nop +/* B93758 80240318 4614B101 */ sub.s $f4, $f22, $f20 +/* B9375C 8024031C 461ED281 */ sub.s $f10, $f26, $f30 +/* B93760 80240320 460A2302 */ mul.s $f12, $f4, $f10 +/* B93764 80240324 00000000 */ nop +/* B93768 80240328 4602E001 */ sub.s $f0, $f28, $f2 +/* B9376C 8024032C 46002102 */ mul.s $f4, $f4, $f0 +/* B93770 80240330 00000000 */ nop +/* B93774 80240334 46028081 */ sub.s $f2, $f16, $f2 +/* B93778 80240338 46061182 */ mul.s $f6, $f2, $f6 +/* B9377C 8024033C 00000000 */ nop +/* B93780 80240340 460A1082 */ mul.s $f2, $f2, $f10 +/* B93784 80240344 00000000 */ nop +/* B93788 80240348 46004202 */ mul.s $f8, $f8, $f0 +/* B9378C 8024034C 00000000 */ nop +/* B93790 80240350 460C7501 */ sub.s $f20, $f14, $f12 +/* B93794 80240354 4614A002 */ mul.s $f0, $f20, $f20 +/* B93798 80240358 00000000 */ nop +/* B9379C 8024035C 46062581 */ sub.s $f22, $f4, $f6 +/* B937A0 80240360 4616B102 */ mul.s $f4, $f22, $f22 +/* B937A4 80240364 00000000 */ nop +/* B937A8 80240368 46081601 */ sub.s $f24, $f2, $f8 +/* B937AC 8024036C 4618C082 */ mul.s $f2, $f24, $f24 +/* B937B0 80240370 00000000 */ nop +/* B937B4 80240374 46040000 */ add.s $f0, $f0, $f4 +/* B937B8 80240378 46020300 */ add.s $f12, $f0, $f2 +/* B937BC 8024037C 46006084 */ sqrt.s $f2, $f12 +/* B937C0 80240380 46021032 */ c.eq.s $f2, $f2 +/* B937C4 80240384 00000000 */ nop +/* B937C8 80240388 45030005 */ bc1tl .L802403A0 +/* B937CC 8024038C 4602A003 */ div.s $f0, $f20, $f2 +/* B937D0 80240390 0C0187BC */ jal sqrtf +/* B937D4 80240394 00000000 */ nop +/* B937D8 80240398 46000086 */ mov.s $f2, $f0 +/* B937DC 8024039C 4602A003 */ div.s $f0, $f20, $f2 +.L802403A0: +/* B937E0 802403A0 E6600000 */ swc1 $f0, ($s3) +/* B937E4 802403A4 4602B003 */ div.s $f0, $f22, $f2 +/* B937E8 802403A8 E6800000 */ swc1 $f0, ($s4) +/* B937EC 802403AC 4602C003 */ div.s $f0, $f24, $f2 +/* B937F0 802403B0 E6A00000 */ swc1 $f0, ($s5) +.L802403B4: +/* B937F4 802403B4 8FBF0040 */ lw $ra, 0x40($sp) +/* B937F8 802403B8 8FB5003C */ lw $s5, 0x3c($sp) +/* B937FC 802403BC 8FB40038 */ lw $s4, 0x38($sp) +/* B93800 802403C0 8FB30034 */ lw $s3, 0x34($sp) +/* B93804 802403C4 8FB20030 */ lw $s2, 0x30($sp) +/* B93808 802403C8 8FB1002C */ lw $s1, 0x2c($sp) +/* B9380C 802403CC 8FB00028 */ lw $s0, 0x28($sp) +/* B93810 802403D0 D7BE0070 */ ldc1 $f30, 0x70($sp) +/* B93814 802403D4 D7BC0068 */ ldc1 $f28, 0x68($sp) +/* B93818 802403D8 D7BA0060 */ ldc1 $f26, 0x60($sp) +/* B9381C 802403DC D7B80058 */ ldc1 $f24, 0x58($sp) +/* B93820 802403E0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B93824 802403E4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B93828 802403E8 03E00008 */ jr $ra +/* B9382C 802403EC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_802403F0_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_802403F0_B93440.s new file mode 100644 index 0000000000..5931f204e0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_802403F0_B93440.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_B93830 +/* B93830 802403F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B93834 802403F4 AFB10024 */ sw $s1, 0x24($sp) +/* B93838 802403F8 0080882D */ daddu $s1, $a0, $zero +/* B9383C 802403FC AFBF0028 */ sw $ra, 0x28($sp) +/* B93840 80240400 AFB00020 */ sw $s0, 0x20($sp) +/* B93844 80240404 F7B60038 */ sdc1 $f22, 0x38($sp) +/* B93848 80240408 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B9384C 8024040C 8E30000C */ lw $s0, 0xc($s1) +/* B93850 80240410 8E050000 */ lw $a1, ($s0) +/* B93854 80240414 0C0B1EAF */ jal get_variable +/* B93858 80240418 26100004 */ addiu $s0, $s0, 4 +/* B9385C 8024041C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B93860 80240420 0040202D */ daddu $a0, $v0, $zero +/* B93864 80240424 0C046B4C */ jal get_model_from_list_index +/* B93868 80240428 0040202D */ daddu $a0, $v0, $zero +/* B9386C 8024042C 8C420008 */ lw $v0, 8($v0) +/* B93870 80240430 27A50010 */ addiu $a1, $sp, 0x10 +/* B93874 80240434 8C420004 */ lw $v0, 4($v0) +/* B93878 80240438 27A60014 */ addiu $a2, $sp, 0x14 +/* B9387C 8024043C 8C440000 */ lw $a0, ($v0) +/* B93880 80240440 0C09001C */ jal func_80240070 +/* B93884 80240444 27A70018 */ addiu $a3, $sp, 0x18 +/* B93888 80240448 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B9388C 8024044C 3C014480 */ lui $at, 0x4480 +/* B93890 80240450 4481A000 */ mtc1 $at, $f20 +/* B93894 80240454 00000000 */ nop +/* B93898 80240458 46140002 */ mul.s $f0, $f0, $f20 +/* B9389C 8024045C 00000000 */ nop +/* B938A0 80240460 3C01CD5B */ lui $at, 0xcd5b +/* B938A4 80240464 34215858 */ ori $at, $at, 0x5858 +/* B938A8 80240468 4481B000 */ mtc1 $at, $f22 +/* B938AC 8024046C 00000000 */ nop +/* B938B0 80240470 46160000 */ add.s $f0, $f0, $f22 +/* B938B4 80240474 8E050000 */ lw $a1, ($s0) +/* B938B8 80240478 4600008D */ trunc.w.s $f2, $f0 +/* B938BC 8024047C 44061000 */ mfc1 $a2, $f2 +/* B938C0 80240480 0C0B2026 */ jal set_variable +/* B938C4 80240484 0220202D */ daddu $a0, $s1, $zero +/* B938C8 80240488 C7A00014 */ lwc1 $f0, 0x14($sp) +/* B938CC 8024048C 46140002 */ mul.s $f0, $f0, $f20 +/* B938D0 80240490 00000000 */ nop +/* B938D4 80240494 26100004 */ addiu $s0, $s0, 4 +/* B938D8 80240498 46160000 */ add.s $f0, $f0, $f22 +/* B938DC 8024049C 8E050000 */ lw $a1, ($s0) +/* B938E0 802404A0 4600008D */ trunc.w.s $f2, $f0 +/* B938E4 802404A4 44061000 */ mfc1 $a2, $f2 +/* B938E8 802404A8 0C0B2026 */ jal set_variable +/* B938EC 802404AC 0220202D */ daddu $a0, $s1, $zero +/* B938F0 802404B0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* B938F4 802404B4 46140002 */ mul.s $f0, $f0, $f20 +/* B938F8 802404B8 00000000 */ nop +/* B938FC 802404BC 26100004 */ addiu $s0, $s0, 4 +/* B93900 802404C0 46160000 */ add.s $f0, $f0, $f22 +/* B93904 802404C4 8E050000 */ lw $a1, ($s0) +/* B93908 802404C8 4600008D */ trunc.w.s $f2, $f0 +/* B9390C 802404CC 44061000 */ mfc1 $a2, $f2 +/* B93910 802404D0 0C0B2026 */ jal set_variable +/* B93914 802404D4 0220202D */ daddu $a0, $s1, $zero +/* B93918 802404D8 8FBF0028 */ lw $ra, 0x28($sp) +/* B9391C 802404DC 8FB10024 */ lw $s1, 0x24($sp) +/* B93920 802404E0 8FB00020 */ lw $s0, 0x20($sp) +/* B93924 802404E4 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B93928 802404E8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* B9392C 802404EC 24020002 */ addiu $v0, $zero, 2 +/* B93930 802404F0 03E00008 */ jr $ra +/* B93934 802404F4 27BD0040 */ addiu $sp, $sp, 0x40 +/* B93938 802404F8 00000000 */ nop +/* B9393C 802404FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240500_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240500_B93440.s new file mode 100644 index 0000000000..7559c459af --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240500_B93440.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_B93940 +/* B93940 80240500 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B93944 80240504 AFB10014 */ sw $s1, 0x14($sp) +/* B93948 80240508 0080882D */ daddu $s1, $a0, $zero +/* B9394C 8024050C AFBF0018 */ sw $ra, 0x18($sp) +/* B93950 80240510 AFB00010 */ sw $s0, 0x10($sp) +/* B93954 80240514 8E300148 */ lw $s0, 0x148($s1) +/* B93958 80240518 0C00EABB */ jal get_npc_unsafe +/* B9395C 8024051C 86040008 */ lh $a0, 8($s0) +/* B93960 80240520 24030001 */ addiu $v1, $zero, 1 +/* B93964 80240524 0040202D */ daddu $a0, $v0, $zero +/* B93968 80240528 AE03006C */ sw $v1, 0x6c($s0) +/* B9396C 8024052C 8482008C */ lh $v0, 0x8c($a0) +/* B93970 80240530 14400009 */ bnez $v0, .L80240558 +/* B93974 80240534 24020002 */ addiu $v0, $zero, 2 +/* B93978 80240538 96030072 */ lhu $v1, 0x72($s0) +/* B9397C 8024053C AE02006C */ sw $v0, 0x6c($s0) +/* B93980 80240540 A483008E */ sh $v1, 0x8e($a0) +/* B93984 80240544 8E0200CC */ lw $v0, 0xcc($s0) +/* B93988 80240548 8C420020 */ lw $v0, 0x20($v0) +/* B9398C 8024054C AC820028 */ sw $v0, 0x28($a0) +/* B93990 80240550 2402001F */ addiu $v0, $zero, 0x1f +/* B93994 80240554 AE220070 */ sw $v0, 0x70($s1) +.L80240558: +/* B93998 80240558 8FBF0018 */ lw $ra, 0x18($sp) +/* B9399C 8024055C 8FB10014 */ lw $s1, 0x14($sp) +/* B939A0 80240560 8FB00010 */ lw $s0, 0x10($sp) +/* B939A4 80240564 03E00008 */ jr $ra +/* B939A8 80240568 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_8024056C_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_8024056C_B93440.s new file mode 100644 index 0000000000..b20e906739 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_8024056C_B93440.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024056C_B939AC +/* B939AC 8024056C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B939B0 80240570 AFB10014 */ sw $s1, 0x14($sp) +/* B939B4 80240574 0080882D */ daddu $s1, $a0, $zero +/* B939B8 80240578 AFBF0018 */ sw $ra, 0x18($sp) +/* B939BC 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* B939C0 80240580 8E300148 */ lw $s0, 0x148($s1) +/* B939C4 80240584 0C00EABB */ jal get_npc_unsafe +/* B939C8 80240588 86040008 */ lh $a0, 8($s0) +/* B939CC 8024058C 0040202D */ daddu $a0, $v0, $zero +/* B939D0 80240590 9482008E */ lhu $v0, 0x8e($a0) +/* B939D4 80240594 2442FFFF */ addiu $v0, $v0, -1 +/* B939D8 80240598 A482008E */ sh $v0, 0x8e($a0) +/* B939DC 8024059C 00021400 */ sll $v0, $v0, 0x10 +/* B939E0 802405A0 1C400009 */ bgtz $v0, .L802405C8 +/* B939E4 802405A4 24020003 */ addiu $v0, $zero, 3 +/* B939E8 802405A8 96030076 */ lhu $v1, 0x76($s0) +/* B939EC 802405AC AE02006C */ sw $v0, 0x6c($s0) +/* B939F0 802405B0 A483008E */ sh $v1, 0x8e($a0) +/* B939F4 802405B4 8E0200CC */ lw $v0, 0xcc($s0) +/* B939F8 802405B8 8C420024 */ lw $v0, 0x24($v0) +/* B939FC 802405BC AC820028 */ sw $v0, 0x28($a0) +/* B93A00 802405C0 24020020 */ addiu $v0, $zero, 0x20 +/* B93A04 802405C4 AE220070 */ sw $v0, 0x70($s1) +.L802405C8: +/* B93A08 802405C8 8FBF0018 */ lw $ra, 0x18($sp) +/* B93A0C 802405CC 8FB10014 */ lw $s1, 0x14($sp) +/* B93A10 802405D0 8FB00010 */ lw $s0, 0x10($sp) +/* B93A14 802405D4 03E00008 */ jr $ra +/* B93A18 802405D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_802405DC_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_802405DC_B93440.s new file mode 100644 index 0000000000..4cdfe2ee96 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_802405DC_B93440.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405DC_B93A1C +/* B93A1C 802405DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B93A20 802405E0 AFB10034 */ sw $s1, 0x34($sp) +/* B93A24 802405E4 0080882D */ daddu $s1, $a0, $zero +/* B93A28 802405E8 AFBF0038 */ sw $ra, 0x38($sp) +/* B93A2C 802405EC AFB00030 */ sw $s0, 0x30($sp) +/* B93A30 802405F0 8E300148 */ lw $s0, 0x148($s1) +/* B93A34 802405F4 0C00EABB */ jal get_npc_unsafe +/* B93A38 802405F8 86040008 */ lh $a0, 8($s0) +/* B93A3C 802405FC 0040282D */ daddu $a1, $v0, $zero +/* B93A40 80240600 94A2008E */ lhu $v0, 0x8e($a1) +/* B93A44 80240604 2442FFFF */ addiu $v0, $v0, -1 +/* B93A48 80240608 A4A2008E */ sh $v0, 0x8e($a1) +/* B93A4C 8024060C 00021400 */ sll $v0, $v0, 0x10 +/* B93A50 80240610 1C400023 */ bgtz $v0, .L802406A0 +/* B93A54 80240614 24020004 */ addiu $v0, $zero, 4 +/* B93A58 80240618 8E0300CC */ lw $v1, 0xcc($s0) +/* B93A5C 8024061C AE02006C */ sw $v0, 0x6c($s0) +/* B93A60 80240620 8C620000 */ lw $v0, ($v1) +/* B93A64 80240624 ACA20028 */ sw $v0, 0x28($a1) +/* B93A68 80240628 9602007A */ lhu $v0, 0x7a($s0) +/* B93A6C 8024062C A4A2008E */ sh $v0, 0x8e($a1) +/* B93A70 80240630 8E020078 */ lw $v0, 0x78($s0) +/* B93A74 80240634 28420008 */ slti $v0, $v0, 8 +/* B93A78 80240638 14400018 */ bnez $v0, .L8024069C +/* B93A7C 8024063C 24020021 */ addiu $v0, $zero, 0x21 +/* B93A80 80240640 24040003 */ addiu $a0, $zero, 3 +/* B93A84 80240644 27A30028 */ addiu $v1, $sp, 0x28 +/* B93A88 80240648 84A700A8 */ lh $a3, 0xa8($a1) +/* B93A8C 8024064C 3C013F80 */ lui $at, 0x3f80 +/* B93A90 80240650 44810000 */ mtc1 $at, $f0 +/* B93A94 80240654 3C014000 */ lui $at, 0x4000 +/* B93A98 80240658 44811000 */ mtc1 $at, $f2 +/* B93A9C 8024065C 3C01C1A0 */ lui $at, 0xc1a0 +/* B93AA0 80240660 44812000 */ mtc1 $at, $f4 +/* B93AA4 80240664 44873000 */ mtc1 $a3, $f6 +/* B93AA8 80240668 00000000 */ nop +/* B93AAC 8024066C 468031A0 */ cvt.s.w $f6, $f6 +/* B93AB0 80240670 E7A00010 */ swc1 $f0, 0x10($sp) +/* B93AB4 80240674 E7A20014 */ swc1 $f2, 0x14($sp) +/* B93AB8 80240678 E7A40018 */ swc1 $f4, 0x18($sp) +/* B93ABC 8024067C 8E020078 */ lw $v0, 0x78($s0) +/* B93AC0 80240680 44073000 */ mfc1 $a3, $f6 +/* B93AC4 80240684 0000302D */ daddu $a2, $zero, $zero +/* B93AC8 80240688 AFA30020 */ sw $v1, 0x20($sp) +/* B93ACC 8024068C 2442FFFF */ addiu $v0, $v0, -1 +/* B93AD0 80240690 0C01BFA4 */ jal fx_emote +/* B93AD4 80240694 AFA2001C */ sw $v0, 0x1c($sp) +/* B93AD8 80240698 24020021 */ addiu $v0, $zero, 0x21 +.L8024069C: +/* B93ADC 8024069C AE220070 */ sw $v0, 0x70($s1) +.L802406A0: +/* B93AE0 802406A0 8FBF0038 */ lw $ra, 0x38($sp) +/* B93AE4 802406A4 8FB10034 */ lw $s1, 0x34($sp) +/* B93AE8 802406A8 8FB00030 */ lw $s0, 0x30($sp) +/* B93AEC 802406AC 03E00008 */ jr $ra +/* B93AF0 802406B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_802406B4.s b/asm/nonmatchings/world/area_mim/mim_01/func_802406B4.s new file mode 100644 index 0000000000..2ae07b5b1f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_802406B4.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406B4 +/* B93AF4 802406B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B93AF8 802406B8 AFB10014 */ sw $s1, 0x14($sp) +/* B93AFC 802406BC 0080882D */ daddu $s1, $a0, $zero +/* B93B00 802406C0 AFBF0018 */ sw $ra, 0x18($sp) +/* B93B04 802406C4 AFB00010 */ sw $s0, 0x10($sp) +/* B93B08 802406C8 8E300148 */ lw $s0, 0x148($s1) +/* B93B0C 802406CC 0C00EABB */ jal get_npc_unsafe +/* B93B10 802406D0 86040008 */ lh $a0, 8($s0) +/* B93B14 802406D4 9443008E */ lhu $v1, 0x8e($v0) +/* B93B18 802406D8 2463FFFF */ addiu $v1, $v1, -1 +/* B93B1C 802406DC A443008E */ sh $v1, 0x8e($v0) +/* B93B20 802406E0 00031C00 */ sll $v1, $v1, 0x10 +/* B93B24 802406E4 1C600003 */ bgtz $v1, .L802406F4 +/* B93B28 802406E8 2402000C */ addiu $v0, $zero, 0xc +/* B93B2C 802406EC AE00006C */ sw $zero, 0x6c($s0) +/* B93B30 802406F0 AE220070 */ sw $v0, 0x70($s1) +.L802406F4: +/* B93B34 802406F4 8FBF0018 */ lw $ra, 0x18($sp) +/* B93B38 802406F8 8FB10014 */ lw $s1, 0x14($sp) +/* B93B3C 802406FC 8FB00010 */ lw $s0, 0x10($sp) +/* B93B40 80240700 03E00008 */ jr $ra +/* B93B44 80240704 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240708_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240708_B93440.s new file mode 100644 index 0000000000..2f56ecf513 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240708_B93440.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708_B93B48 +/* B93B48 80240708 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B93B4C 8024070C AFBF0024 */ sw $ra, 0x24($sp) +/* B93B50 80240710 AFB40020 */ sw $s4, 0x20($sp) +/* B93B54 80240714 AFB3001C */ sw $s3, 0x1c($sp) +/* B93B58 80240718 AFB20018 */ sw $s2, 0x18($sp) +/* B93B5C 8024071C AFB10014 */ sw $s1, 0x14($sp) +/* B93B60 80240720 AFB00010 */ sw $s0, 0x10($sp) +/* B93B64 80240724 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B93B68 80240728 8C900148 */ lw $s0, 0x148($a0) +/* B93B6C 8024072C 86040008 */ lh $a0, 8($s0) +/* B93B70 80240730 0C00EABB */ jal get_npc_unsafe +/* B93B74 80240734 24110001 */ addiu $s1, $zero, 1 +/* B93B78 80240738 86040008 */ lh $a0, 8($s0) +/* B93B7C 8024073C 0040802D */ daddu $s0, $v0, $zero +/* B93B80 80240740 3C05800B */ lui $a1, %hi(gCameras) +/* B93B84 80240744 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* B93B88 80240748 3C03800A */ lui $v1, 0x800a +/* B93B8C 8024074C 8463A634 */ lh $v1, -0x59cc($v1) +/* B93B90 80240750 00912021 */ addu $a0, $a0, $s1 +/* B93B94 80240754 00031080 */ sll $v0, $v1, 2 +/* B93B98 80240758 00431021 */ addu $v0, $v0, $v1 +/* B93B9C 8024075C 00021080 */ sll $v0, $v0, 2 +/* B93BA0 80240760 00431023 */ subu $v0, $v0, $v1 +/* B93BA4 80240764 000218C0 */ sll $v1, $v0, 3 +/* B93BA8 80240768 00431021 */ addu $v0, $v0, $v1 +/* B93BAC 8024076C 000210C0 */ sll $v0, $v0, 3 +/* B93BB0 80240770 0C00FB3A */ jal get_enemy +/* B93BB4 80240774 00459021 */ addu $s2, $v0, $a1 +/* B93BB8 80240778 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* B93BBC 8024077C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* B93BC0 80240780 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B93BC4 80240784 8E830000 */ lw $v1, ($s4) +/* B93BC8 80240788 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B93BCC 8024078C 8C660028 */ lw $a2, 0x28($v1) +/* B93BD0 80240790 8C670030 */ lw $a3, 0x30($v1) +/* B93BD4 80240794 0C00A7B5 */ jal dist2D +/* B93BD8 80240798 0040982D */ daddu $s3, $v0, $zero +/* B93BDC 8024079C C6620074 */ lwc1 $f2, 0x74($s3) +/* B93BE0 802407A0 468010A0 */ cvt.s.w $f2, $f2 +/* B93BE4 802407A4 4600103C */ c.lt.s $f2, $f0 +/* B93BE8 802407A8 00000000 */ nop +/* B93BEC 802407AC 45030001 */ bc1tl .L802407B4 +/* B93BF0 802407B0 0000882D */ daddu $s1, $zero, $zero +.L802407B4: +/* B93BF4 802407B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* B93BF8 802407B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* B93BFC 802407BC 3C014387 */ lui $at, 0x4387 +/* B93C00 802407C0 4481A000 */ mtc1 $at, $f20 +/* B93C04 802407C4 0C00A70A */ jal get_clamped_angle_diff +/* B93C08 802407C8 00000000 */ nop +/* B93C0C 802407CC 0C00A6C9 */ jal clamp_angle +/* B93C10 802407D0 46000306 */ mov.s $f12, $f0 +/* B93C14 802407D4 3C018024 */ lui $at, 0x8024 +/* B93C18 802407D8 D42245F0 */ ldc1 $f2, 0x45f0($at) +/* B93C1C 802407DC 46000021 */ cvt.d.s $f0, $f0 +/* B93C20 802407E0 4622003C */ c.lt.d $f0, $f2 +/* B93C24 802407E4 00000000 */ nop +/* B93C28 802407E8 45000003 */ bc1f .L802407F8 +/* B93C2C 802407EC 00000000 */ nop +/* B93C30 802407F0 3C0142B4 */ lui $at, 0x42b4 +/* B93C34 802407F4 4481A000 */ mtc1 $at, $f20 +.L802407F8: +/* B93C38 802407F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B93C3C 802407FC 8E820000 */ lw $v0, ($s4) +/* B93C40 80240800 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B93C44 80240804 8C460028 */ lw $a2, 0x28($v0) +/* B93C48 80240808 0C00A720 */ jal atan2 +/* B93C4C 8024080C 8C470030 */ lw $a3, 0x30($v0) +/* B93C50 80240810 4600A306 */ mov.s $f12, $f20 +/* B93C54 80240814 0C00A70A */ jal get_clamped_angle_diff +/* B93C58 80240818 46000386 */ mov.s $f14, $f0 +/* B93C5C 8024081C C6620078 */ lwc1 $f2, 0x78($s3) +/* B93C60 80240820 468010A0 */ cvt.s.w $f2, $f2 +/* B93C64 80240824 46000005 */ abs.s $f0, $f0 +/* B93C68 80240828 4600103C */ c.lt.s $f2, $f0 +/* B93C6C 8024082C 00000000 */ nop +/* B93C70 80240830 45030001 */ bc1tl .L80240838 +/* B93C74 80240834 0000882D */ daddu $s1, $zero, $zero +.L80240838: +/* B93C78 80240838 8E820000 */ lw $v0, ($s4) +/* B93C7C 8024083C C600003C */ lwc1 $f0, 0x3c($s0) +/* B93C80 80240840 C442002C */ lwc1 $f2, 0x2c($v0) +/* B93C84 80240844 860200A8 */ lh $v0, 0xa8($s0) +/* B93C88 80240848 46020001 */ sub.s $f0, $f0, $f2 +/* B93C8C 8024084C 44821000 */ mtc1 $v0, $f2 +/* B93C90 80240850 00000000 */ nop +/* B93C94 80240854 468010A1 */ cvt.d.w $f2, $f2 +/* B93C98 80240858 46221080 */ add.d $f2, $f2, $f2 +/* B93C9C 8024085C 46000005 */ abs.s $f0, $f0 +/* B93CA0 80240860 46000021 */ cvt.d.s $f0, $f0 +/* B93CA4 80240864 4620103E */ c.le.d $f2, $f0 +/* B93CA8 80240868 00000000 */ nop +/* B93CAC 8024086C 45030001 */ bc1tl .L80240874 +/* B93CB0 80240870 0000882D */ daddu $s1, $zero, $zero +.L80240874: +/* B93CB4 80240874 3C038011 */ lui $v1, 0x8011 +/* B93CB8 80240878 8063EBB3 */ lb $v1, -0x144d($v1) +/* B93CBC 8024087C 24020009 */ addiu $v0, $zero, 9 +/* B93CC0 80240880 50620001 */ beql $v1, $v0, .L80240888 +/* B93CC4 80240884 0000882D */ daddu $s1, $zero, $zero +.L80240888: +/* B93CC8 80240888 24020007 */ addiu $v0, $zero, 7 +/* B93CCC 8024088C 50620001 */ beql $v1, $v0, .L80240894 +/* B93CD0 80240890 0000882D */ daddu $s1, $zero, $zero +.L80240894: +/* B93CD4 80240894 0220102D */ daddu $v0, $s1, $zero +/* B93CD8 80240898 8FBF0024 */ lw $ra, 0x24($sp) +/* B93CDC 8024089C 8FB40020 */ lw $s4, 0x20($sp) +/* B93CE0 802408A0 8FB3001C */ lw $s3, 0x1c($sp) +/* B93CE4 802408A4 8FB20018 */ lw $s2, 0x18($sp) +/* B93CE8 802408A8 8FB10014 */ lw $s1, 0x14($sp) +/* B93CEC 802408AC 8FB00010 */ lw $s0, 0x10($sp) +/* B93CF0 802408B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B93CF4 802408B4 03E00008 */ jr $ra +/* B93CF8 802408B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_802408BC_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_802408BC_B93440.s new file mode 100644 index 0000000000..03bc251a05 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_802408BC_B93440.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408BC_B93CFC +/* B93CFC 802408BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B93D00 802408C0 AFB40028 */ sw $s4, 0x28($sp) +/* B93D04 802408C4 0080A02D */ daddu $s4, $a0, $zero +/* B93D08 802408C8 AFBF002C */ sw $ra, 0x2c($sp) +/* B93D0C 802408CC AFB30024 */ sw $s3, 0x24($sp) +/* B93D10 802408D0 AFB20020 */ sw $s2, 0x20($sp) +/* B93D14 802408D4 AFB1001C */ sw $s1, 0x1c($sp) +/* B93D18 802408D8 AFB00018 */ sw $s0, 0x18($sp) +/* B93D1C 802408DC 8E910148 */ lw $s1, 0x148($s4) +/* B93D20 802408E0 86240008 */ lh $a0, 8($s1) +/* B93D24 802408E4 0C00EABB */ jal get_npc_unsafe +/* B93D28 802408E8 00A0802D */ daddu $s0, $a1, $zero +/* B93D2C 802408EC 16000005 */ bnez $s0, .L80240904 +/* B93D30 802408F0 0040902D */ daddu $s2, $v0, $zero +/* B93D34 802408F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* B93D38 802408F8 30420004 */ andi $v0, $v0, 4 +/* B93D3C 802408FC 10400015 */ beqz $v0, .L80240954 +/* B93D40 80240900 00000000 */ nop +.L80240904: +/* B93D44 80240904 AE800070 */ sw $zero, 0x70($s4) +/* B93D48 80240908 8E420000 */ lw $v0, ($s2) +/* B93D4C 8024090C 3C031F30 */ lui $v1, 0x1f30 +/* B93D50 80240910 A640008E */ sh $zero, 0x8e($s2) +/* B93D54 80240914 34420102 */ ori $v0, $v0, 0x102 +/* B93D58 80240918 AE420000 */ sw $v0, ($s2) +/* B93D5C 8024091C 8E220000 */ lw $v0, ($s1) +/* B93D60 80240920 3C01C47A */ lui $at, 0xc47a +/* B93D64 80240924 44810000 */ mtc1 $at, $f0 +/* B93D68 80240928 00431025 */ or $v0, $v0, $v1 +/* B93D6C 8024092C AE220000 */ sw $v0, ($s1) +/* B93D70 80240930 AE400038 */ sw $zero, 0x38($s2) +/* B93D74 80240934 E640003C */ swc1 $f0, 0x3c($s2) +/* B93D78 80240938 AE400040 */ sw $zero, 0x40($s2) +/* B93D7C 8024093C 8E2300B0 */ lw $v1, 0xb0($s1) +/* B93D80 80240940 30620004 */ andi $v0, $v1, 4 +/* B93D84 80240944 10400003 */ beqz $v0, .L80240954 +/* B93D88 80240948 2402FFFB */ addiu $v0, $zero, -5 +/* B93D8C 8024094C 00621024 */ and $v0, $v1, $v0 +/* B93D90 80240950 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240954: +/* B93D94 80240954 8E930070 */ lw $s3, 0x70($s4) +/* B93D98 80240958 12600005 */ beqz $s3, .L80240970 +/* B93D9C 8024095C 24020001 */ addiu $v0, $zero, 1 +/* B93DA0 80240960 12620048 */ beq $s3, $v0, .L80240A84 +/* B93DA4 80240964 00000000 */ nop +/* B93DA8 80240968 080902BE */ j .L80240AF8 +/* B93DAC 8024096C 00000000 */ nop +.L80240970: +/* B93DB0 80240970 86240008 */ lh $a0, 8($s1) +/* B93DB4 80240974 0C00FB3A */ jal get_enemy +/* B93DB8 80240978 2484FFFF */ addiu $a0, $a0, -1 +/* B93DBC 8024097C 0040802D */ daddu $s0, $v0, $zero +/* B93DC0 80240980 0C00EABB */ jal get_npc_unsafe +/* B93DC4 80240984 86040008 */ lh $a0, 8($s0) +/* B93DC8 80240988 24030001 */ addiu $v1, $zero, 1 +/* B93DCC 8024098C 0040982D */ daddu $s3, $v0, $zero +/* B93DD0 80240990 A2230007 */ sb $v1, 7($s1) +/* B93DD4 80240994 8E03006C */ lw $v1, 0x6c($s0) +/* B93DD8 80240998 24020003 */ addiu $v0, $zero, 3 +/* B93DDC 8024099C 14620056 */ bne $v1, $v0, .L80240AF8 +/* B93DE0 802409A0 00000000 */ nop +/* B93DE4 802409A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* B93DE8 802409A8 10A00003 */ beqz $a1, .L802409B8 +/* B93DEC 802409AC 0260202D */ daddu $a0, $s3, $zero +/* B93DF0 802409B0 0C012530 */ jal func_800494C0 +/* B93DF4 802409B4 0000302D */ daddu $a2, $zero, $zero +.L802409B8: +/* B93DF8 802409B8 27A40010 */ addiu $a0, $sp, 0x10 +/* B93DFC 802409BC C6280070 */ lwc1 $f8, 0x70($s1) +/* B93E00 802409C0 46804220 */ cvt.s.w $f8, $f8 +/* B93E04 802409C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* B93E08 802409C8 3C014387 */ lui $at, 0x4387 +/* B93E0C 802409CC 44810000 */ mtc1 $at, $f0 +/* B93E10 802409D0 44064000 */ mfc1 $a2, $f8 +/* B93E14 802409D4 46020001 */ sub.s $f0, $f0, $f2 +/* B93E18 802409D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* B93E1C 802409DC C6640040 */ lwc1 $f4, 0x40($s3) +/* B93E20 802409E0 44070000 */ mfc1 $a3, $f0 +/* B93E24 802409E4 27A50014 */ addiu $a1, $sp, 0x14 +/* B93E28 802409E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* B93E2C 802409EC 0C00A7E7 */ jal add_vec2D_polar +/* B93E30 802409F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* B93E34 802409F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B93E38 802409F8 4600020D */ trunc.w.s $f8, $f0 +/* B93E3C 802409FC 44024000 */ mfc1 $v0, $f8 +/* B93E40 80240A00 E6400038 */ swc1 $f0, 0x38($s2) +/* B93E44 80240A04 A6220010 */ sh $v0, 0x10($s1) +/* B93E48 80240A08 C660003C */ lwc1 $f0, 0x3c($s3) +/* B93E4C 80240A0C C622006C */ lwc1 $f2, 0x6c($s1) +/* B93E50 80240A10 468010A0 */ cvt.s.w $f2, $f2 +/* B93E54 80240A14 46020000 */ add.s $f0, $f0, $f2 +/* B93E58 80240A18 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* B93E5C 80240A1C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* B93E60 80240A20 E640003C */ swc1 $f0, 0x3c($s2) +/* B93E64 80240A24 C7A20014 */ lwc1 $f2, 0x14($sp) +/* B93E68 80240A28 4600020D */ trunc.w.s $f8, $f0 +/* B93E6C 80240A2C 44024000 */ mfc1 $v0, $f8 +/* B93E70 80240A30 00000000 */ nop +/* B93E74 80240A34 A6220012 */ sh $v0, 0x12($s1) +/* B93E78 80240A38 4600120D */ trunc.w.s $f8, $f2 +/* B93E7C 80240A3C 44024000 */ mfc1 $v0, $f8 +/* B93E80 80240A40 E6420040 */ swc1 $f2, 0x40($s2) +/* B93E84 80240A44 A6220014 */ sh $v0, 0x14($s1) +/* B93E88 80240A48 8C660028 */ lw $a2, 0x28($v1) +/* B93E8C 80240A4C 8C670030 */ lw $a3, 0x30($v1) +/* B93E90 80240A50 C64C0038 */ lwc1 $f12, 0x38($s2) +/* B93E94 80240A54 0C00A720 */ jal atan2 +/* B93E98 80240A58 C64E0040 */ lwc1 $f14, 0x40($s2) +/* B93E9C 80240A5C 3C03E0EF */ lui $v1, 0xe0ef +/* B93EA0 80240A60 E640000C */ swc1 $f0, 0xc($s2) +/* B93EA4 80240A64 8E220000 */ lw $v0, ($s1) +/* B93EA8 80240A68 3463FFFF */ ori $v1, $v1, 0xffff +/* B93EAC 80240A6C 00431024 */ and $v0, $v0, $v1 +/* B93EB0 80240A70 AE220000 */ sw $v0, ($s1) +/* B93EB4 80240A74 24020001 */ addiu $v0, $zero, 1 +/* B93EB8 80240A78 A640008E */ sh $zero, 0x8e($s2) +/* B93EBC 80240A7C 080902BE */ j .L80240AF8 +/* B93EC0 80240A80 AE820070 */ sw $v0, 0x70($s4) +.L80240A84: +/* B93EC4 80240A84 86240008 */ lh $a0, 8($s1) +/* B93EC8 80240A88 0C00FB3A */ jal get_enemy +/* B93ECC 80240A8C 2484FFFF */ addiu $a0, $a0, -1 +/* B93ED0 80240A90 0040802D */ daddu $s0, $v0, $zero +/* B93ED4 80240A94 0C00EABB */ jal get_npc_unsafe +/* B93ED8 80240A98 86040008 */ lh $a0, 8($s0) +/* B93EDC 80240A9C 9642008E */ lhu $v0, 0x8e($s2) +/* B93EE0 80240AA0 24420001 */ addiu $v0, $v0, 1 +/* B93EE4 80240AA4 A642008E */ sh $v0, 0x8e($s2) +/* B93EE8 80240AA8 00021400 */ sll $v0, $v0, 0x10 +/* B93EEC 80240AAC 8E23007C */ lw $v1, 0x7c($s1) +/* B93EF0 80240AB0 00021403 */ sra $v0, $v0, 0x10 +/* B93EF4 80240AB4 0043102A */ slt $v0, $v0, $v1 +/* B93EF8 80240AB8 50400001 */ beql $v0, $zero, .L80240AC0 +/* B93EFC 80240ABC A2200007 */ sb $zero, 7($s1) +.L80240AC0: +/* B93F00 80240AC0 8E03006C */ lw $v1, 0x6c($s0) +/* B93F04 80240AC4 24020004 */ addiu $v0, $zero, 4 +/* B93F08 80240AC8 1462000B */ bne $v1, $v0, .L80240AF8 +/* B93F0C 80240ACC 3C021F10 */ lui $v0, 0x1f10 +/* B93F10 80240AD0 8E230000 */ lw $v1, ($s1) +/* B93F14 80240AD4 3C01C47A */ lui $at, 0xc47a +/* B93F18 80240AD8 44810000 */ mtc1 $at, $f0 +/* B93F1C 80240ADC 00621825 */ or $v1, $v1, $v0 +/* B93F20 80240AE0 AE230000 */ sw $v1, ($s1) +/* B93F24 80240AE4 AE400038 */ sw $zero, 0x38($s2) +/* B93F28 80240AE8 E640003C */ swc1 $f0, 0x3c($s2) +/* B93F2C 80240AEC AE400040 */ sw $zero, 0x40($s2) +/* B93F30 80240AF0 A2330007 */ sb $s3, 7($s1) +/* B93F34 80240AF4 AE800070 */ sw $zero, 0x70($s4) +.L80240AF8: +/* B93F38 80240AF8 8FBF002C */ lw $ra, 0x2c($sp) +/* B93F3C 80240AFC 8FB40028 */ lw $s4, 0x28($sp) +/* B93F40 80240B00 8FB30024 */ lw $s3, 0x24($sp) +/* B93F44 80240B04 8FB20020 */ lw $s2, 0x20($sp) +/* B93F48 80240B08 8FB1001C */ lw $s1, 0x1c($sp) +/* B93F4C 80240B0C 8FB00018 */ lw $s0, 0x18($sp) +/* B93F50 80240B10 0000102D */ daddu $v0, $zero, $zero +/* B93F54 80240B14 03E00008 */ jr $ra +/* B93F58 80240B18 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240B1C_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240B1C_B93440.s new file mode 100644 index 0000000000..de193be10b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240B1C_B93440.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B1C_B93F5C +/* B93F5C 80240B1C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B93F60 80240B20 AFB20038 */ sw $s2, 0x38($sp) +/* B93F64 80240B24 0080902D */ daddu $s2, $a0, $zero +/* B93F68 80240B28 AFBF0048 */ sw $ra, 0x48($sp) +/* B93F6C 80240B2C AFB50044 */ sw $s5, 0x44($sp) +/* B93F70 80240B30 AFB40040 */ sw $s4, 0x40($sp) +/* B93F74 80240B34 AFB3003C */ sw $s3, 0x3c($sp) +/* B93F78 80240B38 AFB10034 */ sw $s1, 0x34($sp) +/* B93F7C 80240B3C AFB00030 */ sw $s0, 0x30($sp) +/* B93F80 80240B40 8E510148 */ lw $s1, 0x148($s2) +/* B93F84 80240B44 86240008 */ lh $a0, 8($s1) +/* B93F88 80240B48 0C00EABB */ jal get_npc_unsafe +/* B93F8C 80240B4C 00A0802D */ daddu $s0, $a1, $zero +/* B93F90 80240B50 8E43000C */ lw $v1, 0xc($s2) +/* B93F94 80240B54 0240202D */ daddu $a0, $s2, $zero +/* B93F98 80240B58 8C650000 */ lw $a1, ($v1) +/* B93F9C 80240B5C 0C0B1EAF */ jal get_variable +/* B93FA0 80240B60 0040A82D */ daddu $s5, $v0, $zero +/* B93FA4 80240B64 AFA00010 */ sw $zero, 0x10($sp) +/* B93FA8 80240B68 8E2300D0 */ lw $v1, 0xd0($s1) +/* B93FAC 80240B6C 8C630030 */ lw $v1, 0x30($v1) +/* B93FB0 80240B70 AFA30014 */ sw $v1, 0x14($sp) +/* B93FB4 80240B74 8E2300D0 */ lw $v1, 0xd0($s1) +/* B93FB8 80240B78 8C63001C */ lw $v1, 0x1c($v1) +/* B93FBC 80240B7C AFA30018 */ sw $v1, 0x18($sp) +/* B93FC0 80240B80 8E2300D0 */ lw $v1, 0xd0($s1) +/* B93FC4 80240B84 8C630024 */ lw $v1, 0x24($v1) +/* B93FC8 80240B88 AFA3001C */ sw $v1, 0x1c($sp) +/* B93FCC 80240B8C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B93FD0 80240B90 8C630028 */ lw $v1, 0x28($v1) +/* B93FD4 80240B94 27B40010 */ addiu $s4, $sp, 0x10 +/* B93FD8 80240B98 AFA30020 */ sw $v1, 0x20($sp) +/* B93FDC 80240B9C 8E2300D0 */ lw $v1, 0xd0($s1) +/* B93FE0 80240BA0 3C014282 */ lui $at, 0x4282 +/* B93FE4 80240BA4 44810000 */ mtc1 $at, $f0 +/* B93FE8 80240BA8 8C63002C */ lw $v1, 0x2c($v1) +/* B93FEC 80240BAC 0040982D */ daddu $s3, $v0, $zero +/* B93FF0 80240BB0 E7A00028 */ swc1 $f0, 0x28($sp) +/* B93FF4 80240BB4 A7A0002C */ sh $zero, 0x2c($sp) +/* B93FF8 80240BB8 16000005 */ bnez $s0, .L80240BD0 +/* B93FFC 80240BBC AFA30024 */ sw $v1, 0x24($sp) +/* B94000 80240BC0 8E2200B0 */ lw $v0, 0xb0($s1) +/* B94004 80240BC4 30420004 */ andi $v0, $v0, 4 +/* B94008 80240BC8 10400020 */ beqz $v0, .L80240C4C +/* B9400C 80240BCC 00000000 */ nop +.L80240BD0: +/* B94010 80240BD0 2404F7FF */ addiu $a0, $zero, -0x801 +/* B94014 80240BD4 AE400070 */ sw $zero, 0x70($s2) +/* B94018 80240BD8 A6A0008E */ sh $zero, 0x8e($s5) +/* B9401C 80240BDC 8E2200CC */ lw $v0, 0xcc($s1) +/* B94020 80240BE0 8EA30000 */ lw $v1, ($s5) +/* B94024 80240BE4 8C420000 */ lw $v0, ($v0) +/* B94028 80240BE8 00641824 */ and $v1, $v1, $a0 +/* B9402C 80240BEC AEA30000 */ sw $v1, ($s5) +/* B94030 80240BF0 AEA20028 */ sw $v0, 0x28($s5) +/* B94034 80240BF4 8E2200D0 */ lw $v0, 0xd0($s1) +/* B94038 80240BF8 8C420034 */ lw $v0, 0x34($v0) +/* B9403C 80240BFC 54400005 */ bnel $v0, $zero, .L80240C14 +/* B94040 80240C00 2402FDFF */ addiu $v0, $zero, -0x201 +/* B94044 80240C04 34620200 */ ori $v0, $v1, 0x200 +/* B94048 80240C08 2403FFF7 */ addiu $v1, $zero, -9 +/* B9404C 80240C0C 08090307 */ j .L80240C1C +/* B94050 80240C10 00431024 */ and $v0, $v0, $v1 +.L80240C14: +/* B94054 80240C14 00621024 */ and $v0, $v1, $v0 +/* B94058 80240C18 34420008 */ ori $v0, $v0, 8 +.L80240C1C: +/* B9405C 80240C1C AEA20000 */ sw $v0, ($s5) +/* B94060 80240C20 8E2200B0 */ lw $v0, 0xb0($s1) +/* B94064 80240C24 30420004 */ andi $v0, $v0, 4 +/* B94068 80240C28 10400007 */ beqz $v0, .L80240C48 +/* B9406C 80240C2C 24020063 */ addiu $v0, $zero, 0x63 +/* B94070 80240C30 AE420070 */ sw $v0, 0x70($s2) +/* B94074 80240C34 AE400074 */ sw $zero, 0x74($s2) +/* B94078 80240C38 8E2200B0 */ lw $v0, 0xb0($s1) +/* B9407C 80240C3C 2403FFFB */ addiu $v1, $zero, -5 +/* B94080 80240C40 00431024 */ and $v0, $v0, $v1 +/* B94084 80240C44 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240C48: +/* B94088 80240C48 AE20006C */ sw $zero, 0x6c($s1) +.L80240C4C: +/* B9408C 80240C4C 8E420070 */ lw $v0, 0x70($s2) +/* B94090 80240C50 2842001E */ slti $v0, $v0, 0x1e +/* B94094 80240C54 10400009 */ beqz $v0, .L80240C7C +/* B94098 80240C58 00000000 */ nop +/* B9409C 80240C5C 8E22006C */ lw $v0, 0x6c($s1) +/* B940A0 80240C60 14400006 */ bnez $v0, .L80240C7C +/* B940A4 80240C64 00000000 */ nop +/* B940A8 80240C68 0C0901C2 */ jal func_80240708 +/* B940AC 80240C6C 0240202D */ daddu $a0, $s2, $zero +/* B940B0 80240C70 10400002 */ beqz $v0, .L80240C7C +/* B940B4 80240C74 2402001E */ addiu $v0, $zero, 0x1e +/* B940B8 80240C78 AE420070 */ sw $v0, 0x70($s2) +.L80240C7C: +/* B940BC 80240C7C 8E430070 */ lw $v1, 0x70($s2) +/* B940C0 80240C80 2C620064 */ sltiu $v0, $v1, 0x64 +/* B940C4 80240C84 10400048 */ beqz $v0, .L80240DA8 +/* B940C8 80240C88 00031080 */ sll $v0, $v1, 2 +/* B940CC 80240C8C 3C018024 */ lui $at, 0x8024 +/* B940D0 80240C90 00220821 */ addu $at, $at, $v0 +/* B940D4 80240C94 8C2245F8 */ lw $v0, 0x45f8($at) +/* B940D8 80240C98 00400008 */ jr $v0 +/* B940DC 80240C9C 00000000 */ nop +/* B940E0 80240CA0 0240202D */ daddu $a0, $s2, $zero +/* B940E4 80240CA4 0260282D */ daddu $a1, $s3, $zero +/* B940E8 80240CA8 0C012568 */ jal func_800495A0 +/* B940EC 80240CAC 0280302D */ daddu $a2, $s4, $zero +/* B940F0 80240CB0 0240202D */ daddu $a0, $s2, $zero +/* B940F4 80240CB4 0260282D */ daddu $a1, $s3, $zero +/* B940F8 80240CB8 0C0125AE */ jal func_800496B8 +/* B940FC 80240CBC 0280302D */ daddu $a2, $s4, $zero +/* B94100 80240CC0 0809036A */ j .L80240DA8 +/* B94104 80240CC4 00000000 */ nop +/* B94108 80240CC8 0240202D */ daddu $a0, $s2, $zero +/* B9410C 80240CCC 0260282D */ daddu $a1, $s3, $zero +/* B94110 80240CD0 0C0126D1 */ jal func_80049B44 +/* B94114 80240CD4 0280302D */ daddu $a2, $s4, $zero +/* B94118 80240CD8 0240202D */ daddu $a0, $s2, $zero +/* B9411C 80240CDC 0260282D */ daddu $a1, $s3, $zero +/* B94120 80240CE0 0C012701 */ jal func_80049C04 +/* B94124 80240CE4 0280302D */ daddu $a2, $s4, $zero +/* B94128 80240CE8 0809036A */ j .L80240DA8 +/* B9412C 80240CEC 00000000 */ nop +/* B94130 80240CF0 0240202D */ daddu $a0, $s2, $zero +/* B94134 80240CF4 0260282D */ daddu $a1, $s3, $zero +/* B94138 80240CF8 0C01278F */ jal func_80049E3C +/* B9413C 80240CFC 0280302D */ daddu $a2, $s4, $zero +/* B94140 80240D00 0240202D */ daddu $a0, $s2, $zero +/* B94144 80240D04 0260282D */ daddu $a1, $s3, $zero +/* B94148 80240D08 0C0127B3 */ jal func_80049ECC +/* B9414C 80240D0C 0280302D */ daddu $a2, $s4, $zero +/* B94150 80240D10 0809036A */ j .L80240DA8 +/* B94154 80240D14 00000000 */ nop +/* B94158 80240D18 0240202D */ daddu $a0, $s2, $zero +/* B9415C 80240D1C 0260282D */ daddu $a1, $s3, $zero +/* B94160 80240D20 0C0127DF */ jal func_80049F7C +/* B94164 80240D24 0280302D */ daddu $a2, $s4, $zero +/* B94168 80240D28 0240202D */ daddu $a0, $s2, $zero +/* B9416C 80240D2C 0260282D */ daddu $a1, $s3, $zero +/* B94170 80240D30 0C012849 */ jal func_8004A124 +/* B94174 80240D34 0280302D */ daddu $a2, $s4, $zero +/* B94178 80240D38 0809036A */ j .L80240DA8 +/* B9417C 80240D3C 00000000 */ nop +/* B94180 80240D40 0240202D */ daddu $a0, $s2, $zero +/* B94184 80240D44 0260282D */ daddu $a1, $s3, $zero +/* B94188 80240D48 0C0128FA */ jal func_8004A3E8 +/* B9418C 80240D4C 0280302D */ daddu $a2, $s4, $zero +/* B94190 80240D50 0809036A */ j .L80240DA8 +/* B94194 80240D54 00000000 */ nop +/* B94198 80240D58 0C090140 */ jal func_80240500 +/* B9419C 80240D5C 0240202D */ daddu $a0, $s2, $zero +/* B941A0 80240D60 0C09015B */ jal func_8024056C +/* B941A4 80240D64 0240202D */ daddu $a0, $s2, $zero +/* B941A8 80240D68 8E430070 */ lw $v1, 0x70($s2) +/* B941AC 80240D6C 24020020 */ addiu $v0, $zero, 0x20 +/* B941B0 80240D70 1462000D */ bne $v1, $v0, .L80240DA8 +/* B941B4 80240D74 00000000 */ nop +/* B941B8 80240D78 0C090177 */ jal func_802405DC +/* B941BC 80240D7C 0240202D */ daddu $a0, $s2, $zero +/* B941C0 80240D80 8E430070 */ lw $v1, 0x70($s2) +/* B941C4 80240D84 24020021 */ addiu $v0, $zero, 0x21 +/* B941C8 80240D88 14620007 */ bne $v1, $v0, .L80240DA8 +/* B941CC 80240D8C 00000000 */ nop +/* B941D0 80240D90 0C0901AD */ jal func_802406B4 +/* B941D4 80240D94 0240202D */ daddu $a0, $s2, $zero +/* B941D8 80240D98 0809036A */ j .L80240DA8 +/* B941DC 80240D9C 00000000 */ nop +/* B941E0 80240DA0 0C0129CF */ jal func_8004A73C +/* B941E4 80240DA4 0240202D */ daddu $a0, $s2, $zero +.L80240DA8: +/* B941E8 80240DA8 8FBF0048 */ lw $ra, 0x48($sp) +/* B941EC 80240DAC 8FB50044 */ lw $s5, 0x44($sp) +/* B941F0 80240DB0 8FB40040 */ lw $s4, 0x40($sp) +/* B941F4 80240DB4 8FB3003C */ lw $s3, 0x3c($sp) +/* B941F8 80240DB8 8FB20038 */ lw $s2, 0x38($sp) +/* B941FC 80240DBC 8FB10034 */ lw $s1, 0x34($sp) +/* B94200 80240DC0 8FB00030 */ lw $s0, 0x30($sp) +/* B94204 80240DC4 0000102D */ daddu $v0, $zero, $zero +/* B94208 80240DC8 03E00008 */ jr $ra +/* B9420C 80240DCC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240DD0_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240DD0_B93440.s new file mode 100644 index 0000000000..3de95990dd --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240DD0_B93440.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DD0_B94210 +/* B94210 80240DD0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B94214 80240DD4 AFB10014 */ sw $s1, 0x14($sp) +/* B94218 80240DD8 0080882D */ daddu $s1, $a0, $zero +/* B9421C 80240DDC AFBF0018 */ sw $ra, 0x18($sp) +/* B94220 80240DE0 AFB00010 */ sw $s0, 0x10($sp) +/* B94224 80240DE4 8E300148 */ lw $s0, 0x148($s1) +/* B94228 80240DE8 0C00EABB */ jal get_npc_unsafe +/* B9422C 80240DEC 86040008 */ lh $a0, 8($s0) +/* B94230 80240DF0 0040202D */ daddu $a0, $v0, $zero +/* B94234 80240DF4 8482008E */ lh $v0, 0x8e($a0) +/* B94238 80240DF8 9483008E */ lhu $v1, 0x8e($a0) +/* B9423C 80240DFC 18400003 */ blez $v0, .L80240E0C +/* B94240 80240E00 2462FFFF */ addiu $v0, $v1, -1 +/* B94244 80240E04 0809038A */ j .L80240E28 +/* B94248 80240E08 A482008E */ sh $v0, 0x8e($a0) +.L80240E0C: +/* B9424C 80240E0C 8E0200CC */ lw $v0, 0xcc($s0) +/* B94250 80240E10 AE00006C */ sw $zero, 0x6c($s0) +/* B94254 80240E14 8C420000 */ lw $v0, ($v0) +/* B94258 80240E18 AC820028 */ sw $v0, 0x28($a0) +/* B9425C 80240E1C 24020001 */ addiu $v0, $zero, 1 +/* B94260 80240E20 AE200074 */ sw $zero, 0x74($s1) +/* B94264 80240E24 AE220070 */ sw $v0, 0x70($s1) +.L80240E28: +/* B94268 80240E28 8FBF0018 */ lw $ra, 0x18($sp) +/* B9426C 80240E2C 8FB10014 */ lw $s1, 0x14($sp) +/* B94270 80240E30 8FB00010 */ lw $s0, 0x10($sp) +/* B94274 80240E34 03E00008 */ jr $ra +/* B94278 80240E38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240E3C_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240E3C_B93440.s new file mode 100644 index 0000000000..38c8e05cab --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240E3C_B93440.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E3C_B9427C +/* B9427C 80240E3C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B94280 80240E40 AFB3003C */ sw $s3, 0x3c($sp) +/* B94284 80240E44 0080982D */ daddu $s3, $a0, $zero +/* B94288 80240E48 AFBF0040 */ sw $ra, 0x40($sp) +/* B9428C 80240E4C AFB20038 */ sw $s2, 0x38($sp) +/* B94290 80240E50 AFB10034 */ sw $s1, 0x34($sp) +/* B94294 80240E54 AFB00030 */ sw $s0, 0x30($sp) +/* B94298 80240E58 8E720148 */ lw $s2, 0x148($s3) +/* B9429C 80240E5C 00A0882D */ daddu $s1, $a1, $zero +/* B942A0 80240E60 86440008 */ lh $a0, 8($s2) +/* B942A4 80240E64 0C00EABB */ jal get_npc_unsafe +/* B942A8 80240E68 00C0802D */ daddu $s0, $a2, $zero +/* B942AC 80240E6C 0200202D */ daddu $a0, $s0, $zero +/* B942B0 80240E70 0240282D */ daddu $a1, $s2, $zero +/* B942B4 80240E74 AFA00010 */ sw $zero, 0x10($sp) +/* B942B8 80240E78 8E26000C */ lw $a2, 0xc($s1) +/* B942BC 80240E7C 8E270010 */ lw $a3, 0x10($s1) +/* B942C0 80240E80 0C01242D */ jal func_800490B4 +/* B942C4 80240E84 0040882D */ daddu $s1, $v0, $zero +/* B942C8 80240E88 10400024 */ beqz $v0, .L80240F1C +/* B942CC 80240E8C 0220202D */ daddu $a0, $s1, $zero +/* B942D0 80240E90 24050322 */ addiu $a1, $zero, 0x322 +/* B942D4 80240E94 0C012530 */ jal func_800494C0 +/* B942D8 80240E98 0000302D */ daddu $a2, $zero, $zero +/* B942DC 80240E9C 0000202D */ daddu $a0, $zero, $zero +/* B942E0 80240EA0 0220282D */ daddu $a1, $s1, $zero +/* B942E4 80240EA4 0000302D */ daddu $a2, $zero, $zero +/* B942E8 80240EA8 2410000A */ addiu $s0, $zero, 0xa +/* B942EC 80240EAC 862300A8 */ lh $v1, 0xa8($s1) +/* B942F0 80240EB0 3C013F80 */ lui $at, 0x3f80 +/* B942F4 80240EB4 44810000 */ mtc1 $at, $f0 +/* B942F8 80240EB8 3C014000 */ lui $at, 0x4000 +/* B942FC 80240EBC 44811000 */ mtc1 $at, $f2 +/* B94300 80240EC0 3C01C1A0 */ lui $at, 0xc1a0 +/* B94304 80240EC4 44812000 */ mtc1 $at, $f4 +/* B94308 80240EC8 44833000 */ mtc1 $v1, $f6 +/* B9430C 80240ECC 00000000 */ nop +/* B94310 80240ED0 468031A0 */ cvt.s.w $f6, $f6 +/* B94314 80240ED4 44073000 */ mfc1 $a3, $f6 +/* B94318 80240ED8 27A20028 */ addiu $v0, $sp, 0x28 +/* B9431C 80240EDC AFB0001C */ sw $s0, 0x1c($sp) +/* B94320 80240EE0 AFA20020 */ sw $v0, 0x20($sp) +/* B94324 80240EE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* B94328 80240EE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* B9432C 80240EEC 0C01BFA4 */ jal fx_emote +/* B94330 80240EF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* B94334 80240EF4 0220202D */ daddu $a0, $s1, $zero +/* B94338 80240EF8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B9433C 80240EFC 0C012530 */ jal func_800494C0 +/* B94340 80240F00 3C060020 */ lui $a2, 0x20 +/* B94344 80240F04 8E4200CC */ lw $v0, 0xcc($s2) +/* B94348 80240F08 8C420020 */ lw $v0, 0x20($v0) +/* B9434C 80240F0C AE220028 */ sw $v0, 0x28($s1) +/* B94350 80240F10 9642008E */ lhu $v0, 0x8e($s2) +/* B94354 80240F14 A622008E */ sh $v0, 0x8e($s1) +/* B94358 80240F18 AE700070 */ sw $s0, 0x70($s3) +.L80240F1C: +/* B9435C 80240F1C 8FBF0040 */ lw $ra, 0x40($sp) +/* B94360 80240F20 8FB3003C */ lw $s3, 0x3c($sp) +/* B94364 80240F24 8FB20038 */ lw $s2, 0x38($sp) +/* B94368 80240F28 8FB10034 */ lw $s1, 0x34($sp) +/* B9436C 80240F2C 8FB00030 */ lw $s0, 0x30($sp) +/* B94370 80240F30 03E00008 */ jr $ra +/* B94374 80240F34 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80240F38.s b/asm/nonmatchings/world/area_mim/mim_01/func_80240F38.s new file mode 100644 index 0000000000..304b0071f7 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80240F38.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F38 +/* B94378 80240F38 27BDFF80 */ addiu $sp, $sp, -0x80 +/* B9437C 80240F3C AFBF0064 */ sw $ra, 0x64($sp) +/* B94380 80240F40 AFBE0060 */ sw $fp, 0x60($sp) +/* B94384 80240F44 AFB7005C */ sw $s7, 0x5c($sp) +/* B94388 80240F48 AFB60058 */ sw $s6, 0x58($sp) +/* B9438C 80240F4C AFB50054 */ sw $s5, 0x54($sp) +/* B94390 80240F50 AFB40050 */ sw $s4, 0x50($sp) +/* B94394 80240F54 AFB3004C */ sw $s3, 0x4c($sp) +/* B94398 80240F58 AFB20048 */ sw $s2, 0x48($sp) +/* B9439C 80240F5C AFB10044 */ sw $s1, 0x44($sp) +/* B943A0 80240F60 AFB00040 */ sw $s0, 0x40($sp) +/* B943A4 80240F64 F7B80078 */ sdc1 $f24, 0x78($sp) +/* B943A8 80240F68 F7B60070 */ sdc1 $f22, 0x70($sp) +/* B943AC 80240F6C F7B40068 */ sdc1 $f20, 0x68($sp) +/* B943B0 80240F70 AFA40080 */ sw $a0, 0x80($sp) +/* B943B4 80240F74 8C960148 */ lw $s6, 0x148($a0) +/* B943B8 80240F78 00C0902D */ daddu $s2, $a2, $zero +/* B943BC 80240F7C 86C40008 */ lh $a0, 8($s6) +/* B943C0 80240F80 0C00EABB */ jal get_npc_unsafe +/* B943C4 80240F84 0000B82D */ daddu $s7, $zero, $zero +/* B943C8 80240F88 0040882D */ daddu $s1, $v0, $zero +/* B943CC 80240F8C 9622008E */ lhu $v0, 0x8e($s1) +/* B943D0 80240F90 2442FFFF */ addiu $v0, $v0, -1 +/* B943D4 80240F94 A622008E */ sh $v0, 0x8e($s1) +/* B943D8 80240F98 00021400 */ sll $v0, $v0, 0x10 +/* B943DC 80240F9C 8EC30090 */ lw $v1, 0x90($s6) +/* B943E0 80240FA0 00021403 */ sra $v0, $v0, 0x10 +/* B943E4 80240FA4 0062182A */ slt $v1, $v1, $v0 +/* B943E8 80240FA8 14600005 */ bnez $v1, .L80240FC0 +/* B943EC 80240FAC 02E0F02D */ daddu $fp, $s7, $zero +/* B943F0 80240FB0 8EC20000 */ lw $v0, ($s6) +/* B943F4 80240FB4 3C031F10 */ lui $v1, 0x1f10 +/* B943F8 80240FB8 00431025 */ or $v0, $v0, $v1 +/* B943FC 80240FBC AEC20000 */ sw $v0, ($s6) +.L80240FC0: +/* B94400 80240FC0 8622008E */ lh $v0, 0x8e($s1) +/* B94404 80240FC4 1440025D */ bnez $v0, .L8024193C +/* B94408 80240FC8 00000000 */ nop +/* B9440C 80240FCC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B94410 80240FD0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B94414 80240FD4 0C00A6C9 */ jal clamp_angle +/* B94418 80240FD8 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* B9441C 80240FDC 3C014334 */ lui $at, 0x4334 +/* B94420 80240FE0 44811000 */ mtc1 $at, $f2 +/* B94424 80240FE4 00000000 */ nop +/* B94428 80240FE8 4602003C */ c.lt.s $f0, $f2 +/* B9442C 80240FEC 00000000 */ nop +/* B94430 80240FF0 45000011 */ bc1f .L80241038 +/* B94434 80240FF4 00000000 */ nop +/* B94438 80240FF8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B9443C 80240FFC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B94440 80241000 3C0142B4 */ lui $at, 0x42b4 +/* B94444 80241004 44816000 */ mtc1 $at, $f12 +/* B94448 80241008 00031080 */ sll $v0, $v1, 2 +/* B9444C 8024100C 00431021 */ addu $v0, $v0, $v1 +/* B94450 80241010 00021080 */ sll $v0, $v0, 2 +/* B94454 80241014 00431023 */ subu $v0, $v0, $v1 +/* B94458 80241018 000218C0 */ sll $v1, $v0, 3 +/* B9445C 8024101C 00431021 */ addu $v0, $v0, $v1 +/* B94460 80241020 000210C0 */ sll $v0, $v0, 3 +/* B94464 80241024 3C01800B */ lui $at, 0x800b +/* B94468 80241028 00220821 */ addu $at, $at, $v0 +/* B9446C 8024102C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B94470 80241030 0809041D */ j .L80241074 +/* B94474 80241034 460C0301 */ sub.s $f12, $f0, $f12 +.L80241038: +/* B94478 80241038 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B9447C 8024103C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B94480 80241040 3C0142B4 */ lui $at, 0x42b4 +/* B94484 80241044 44816000 */ mtc1 $at, $f12 +/* B94488 80241048 00031080 */ sll $v0, $v1, 2 +/* B9448C 8024104C 00431021 */ addu $v0, $v0, $v1 +/* B94490 80241050 00021080 */ sll $v0, $v0, 2 +/* B94494 80241054 00431023 */ subu $v0, $v0, $v1 +/* B94498 80241058 000218C0 */ sll $v1, $v0, 3 +/* B9449C 8024105C 00431021 */ addu $v0, $v0, $v1 +/* B944A0 80241060 000210C0 */ sll $v0, $v0, 3 +/* B944A4 80241064 3C01800B */ lui $at, 0x800b +/* B944A8 80241068 00220821 */ addu $at, $at, $v0 +/* B944AC 8024106C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* B944B0 80241070 460C0300 */ add.s $f12, $f0, $f12 +.L80241074: +/* B944B4 80241074 0C00A6C9 */ jal clamp_angle +/* B944B8 80241078 00000000 */ nop +/* B944BC 8024107C 46000586 */ mov.s $f22, $f0 +/* B944C0 80241080 3C014334 */ lui $at, 0x4334 +/* B944C4 80241084 44816000 */ mtc1 $at, $f12 +/* B944C8 80241088 0C00A6C9 */ jal clamp_angle +/* B944CC 8024108C 460CB300 */ add.s $f12, $f22, $f12 +/* B944D0 80241090 8EC20088 */ lw $v0, 0x88($s6) +/* B944D4 80241094 14400010 */ bnez $v0, .L802410D8 +/* B944D8 80241098 46000606 */ mov.s $f24, $f0 +/* B944DC 8024109C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B944E0 802410A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B944E4 802410A4 804300B4 */ lb $v1, 0xb4($v0) +/* B944E8 802410A8 3C014200 */ lui $at, 0x4200 +/* B944EC 802410AC 4481A000 */ mtc1 $at, $f20 +/* B944F0 802410B0 10600016 */ beqz $v1, .L8024110C +/* B944F4 802410B4 24020001 */ addiu $v0, $zero, 1 +/* B944F8 802410B8 3C0142C8 */ lui $at, 0x42c8 +/* B944FC 802410BC 4481A000 */ mtc1 $at, $f20 +/* B94500 802410C0 14620013 */ bne $v1, $v0, .L80241110 +/* B94504 802410C4 26300038 */ addiu $s0, $s1, 0x38 +/* B94508 802410C8 3C0142B4 */ lui $at, 0x42b4 +/* B9450C 802410CC 4481A000 */ mtc1 $at, $f20 +/* B94510 802410D0 08090445 */ j .L80241114 +/* B94514 802410D4 0200202D */ daddu $a0, $s0, $zero +.L802410D8: +/* B94518 802410D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B9451C 802410DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B94520 802410E0 804300B4 */ lb $v1, 0xb4($v0) +/* B94524 802410E4 3C014218 */ lui $at, 0x4218 +/* B94528 802410E8 4481A000 */ mtc1 $at, $f20 +/* B9452C 802410EC 10600007 */ beqz $v1, .L8024110C +/* B94530 802410F0 24020001 */ addiu $v0, $zero, 1 +/* B94534 802410F4 3C0142B4 */ lui $at, 0x42b4 +/* B94538 802410F8 4481A000 */ mtc1 $at, $f20 +/* B9453C 802410FC 14620004 */ bne $v1, $v0, .L80241110 +/* B94540 80241100 26300038 */ addiu $s0, $s1, 0x38 +/* B94544 80241104 3C014296 */ lui $at, 0x4296 +/* B94548 80241108 4481A000 */ mtc1 $at, $f20 +.L8024110C: +/* B9454C 8024110C 26300038 */ addiu $s0, $s1, 0x38 +.L80241110: +/* B94550 80241110 0200202D */ daddu $a0, $s0, $zero +.L80241114: +/* B94554 80241114 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* B94558 80241118 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* B9455C 8024111C 4407C000 */ mfc1 $a3, $f24 +/* B94560 80241120 862200A6 */ lh $v0, 0xa6($s1) +/* B94564 80241124 8EA30000 */ lw $v1, ($s5) +/* B94568 80241128 44824000 */ mtc1 $v0, $f8 +/* B9456C 8024112C 00000000 */ nop +/* B94570 80241130 46804220 */ cvt.s.w $f8, $f8 +/* B94574 80241134 C4600028 */ lwc1 $f0, 0x28($v1) +/* B94578 80241138 44064000 */ mfc1 $a2, $f8 +/* B9457C 8024113C 26330040 */ addiu $s3, $s1, 0x40 +/* B94580 80241140 E6200038 */ swc1 $f0, 0x38($s1) +/* B94584 80241144 C4600030 */ lwc1 $f0, 0x30($v1) +/* B94588 80241148 0260282D */ daddu $a1, $s3, $zero +/* B9458C 8024114C 0C00A7E7 */ jal add_vec2D_polar +/* B94590 80241150 E6200040 */ swc1 $f0, 0x40($s1) +/* B94594 80241154 862200A6 */ lh $v0, 0xa6($s1) +/* B94598 80241158 44820000 */ mtc1 $v0, $f0 +/* B9459C 8024115C 00000000 */ nop +/* B945A0 80241160 46800020 */ cvt.s.w $f0, $f0 +/* B945A4 80241164 4600A000 */ add.s $f0, $f20, $f0 +/* B945A8 80241168 4406B000 */ mfc1 $a2, $f22 +/* B945AC 8024116C 44050000 */ mfc1 $a1, $f0 +/* B945B0 80241170 0C00EA95 */ jal npc_move_heading +/* B945B4 80241174 0220202D */ daddu $a0, $s1, $zero +/* B945B8 80241178 8EC20088 */ lw $v0, 0x88($s6) +/* B945BC 8024117C 1440005D */ bnez $v0, .L802412F4 +/* B945C0 80241180 00000000 */ nop +/* B945C4 80241184 C6200038 */ lwc1 $f0, 0x38($s1) +/* B945C8 80241188 3C018024 */ lui $at, 0x8024 +/* B945CC 8024118C D4244788 */ ldc1 $f4, 0x4788($at) +/* B945D0 80241190 46000021 */ cvt.d.s $f0, $f0 +/* B945D4 80241194 4620203C */ c.lt.d $f4, $f0 +/* B945D8 80241198 00000000 */ nop +/* B945DC 8024119C 45000005 */ bc1f .L802411B4 +/* B945E0 802411A0 00000000 */ nop +/* B945E4 802411A4 3C0143BE */ lui $at, 0x43be +/* B945E8 802411A8 44810000 */ mtc1 $at, $f0 +/* B945EC 802411AC 00000000 */ nop +/* B945F0 802411B0 E6200038 */ swc1 $f0, 0x38($s1) +.L802411B4: +/* B945F4 802411B4 C6200038 */ lwc1 $f0, 0x38($s1) +/* B945F8 802411B8 3C018024 */ lui $at, 0x8024 +/* B945FC 802411BC D4224790 */ ldc1 $f2, 0x4790($at) +/* B94600 802411C0 46000021 */ cvt.d.s $f0, $f0 +/* B94604 802411C4 4622003C */ c.lt.d $f0, $f2 +/* B94608 802411C8 00000000 */ nop +/* B9460C 802411CC 45000005 */ bc1f .L802411E4 +/* B94610 802411D0 00000000 */ nop +/* B94614 802411D4 3C01C3BE */ lui $at, 0xc3be +/* B94618 802411D8 44810000 */ mtc1 $at, $f0 +/* B9461C 802411DC 00000000 */ nop +/* B94620 802411E0 E6200038 */ swc1 $f0, 0x38($s1) +.L802411E4: +/* B94624 802411E4 C6200040 */ lwc1 $f0, 0x40($s1) +/* B94628 802411E8 46000021 */ cvt.d.s $f0, $f0 +/* B9462C 802411EC 4620203C */ c.lt.d $f4, $f0 +/* B94630 802411F0 00000000 */ nop +/* B94634 802411F4 45000005 */ bc1f .L8024120C +/* B94638 802411F8 00000000 */ nop +/* B9463C 802411FC 3C0143BE */ lui $at, 0x43be +/* B94640 80241200 44810000 */ mtc1 $at, $f0 +/* B94644 80241204 00000000 */ nop +/* B94648 80241208 E6200040 */ swc1 $f0, 0x40($s1) +.L8024120C: +/* B9464C 8024120C C6200040 */ lwc1 $f0, 0x40($s1) +/* B94650 80241210 46000021 */ cvt.d.s $f0, $f0 +/* B94654 80241214 4622003C */ c.lt.d $f0, $f2 +/* B94658 80241218 00000000 */ nop +/* B9465C 8024121C 45000005 */ bc1f .L80241234 +/* B94660 80241220 00000000 */ nop +/* B94664 80241224 3C01C3BE */ lui $at, 0xc3be +/* B94668 80241228 44810000 */ mtc1 $at, $f0 +/* B9466C 8024122C 00000000 */ nop +/* B94670 80241230 E6200040 */ swc1 $f0, 0x40($s1) +.L80241234: +/* B94674 80241234 C6220038 */ lwc1 $f2, 0x38($s1) +/* B94678 80241238 46021082 */ mul.s $f2, $f2, $f2 +/* B9467C 8024123C 00000000 */ nop +/* B94680 80241240 C6200040 */ lwc1 $f0, 0x40($s1) +/* B94684 80241244 46000002 */ mul.s $f0, $f0, $f0 +/* B94688 80241248 00000000 */ nop +/* B9468C 8024124C 46001300 */ add.s $f12, $f2, $f0 +/* B94690 80241250 46006004 */ sqrt.s $f0, $f12 +/* B94694 80241254 46000032 */ c.eq.s $f0, $f0 +/* B94698 80241258 00000000 */ nop +/* B9469C 8024125C 45010003 */ bc1t .L8024126C +/* B946A0 80241260 00000000 */ nop +/* B946A4 80241264 0C0187BC */ jal sqrtf +/* B946A8 80241268 00000000 */ nop +.L8024126C: +/* B946AC 8024126C 8E260038 */ lw $a2, 0x38($s1) +/* B946B0 80241270 8E270040 */ lw $a3, 0x40($s1) +/* B946B4 80241274 4480A000 */ mtc1 $zero, $f20 +/* B946B8 80241278 E7A00038 */ swc1 $f0, 0x38($sp) +/* B946BC 8024127C 4600A306 */ mov.s $f12, $f20 +/* B946C0 80241280 0C00A720 */ jal atan2 +/* B946C4 80241284 4600A386 */ mov.s $f14, $f20 +/* B946C8 80241288 46000586 */ mov.s $f22, $f0 +/* B946CC 8024128C C7A20038 */ lwc1 $f2, 0x38($sp) +/* B946D0 80241290 3C018024 */ lui $at, 0x8024 +/* B946D4 80241294 D4204798 */ ldc1 $f0, 0x4798($at) +/* B946D8 80241298 460010A1 */ cvt.d.s $f2, $f2 +/* B946DC 8024129C 4620103C */ c.lt.d $f2, $f0 +/* B946E0 802412A0 00000000 */ nop +/* B946E4 802412A4 45000004 */ bc1f .L802412B8 +/* B946E8 802412A8 0200202D */ daddu $a0, $s0, $zero +/* B946EC 802412AC 3C064398 */ lui $a2, 0x4398 +/* B946F0 802412B0 080904B6 */ j .L802412D8 +/* B946F4 802412B4 34C68000 */ ori $a2, $a2, 0x8000 +.L802412B8: +/* B946F8 802412B8 3C018024 */ lui $at, 0x8024 +/* B946FC 802412BC D42047A0 */ ldc1 $f0, 0x47a0($at) +/* B94700 802412C0 4622003C */ c.lt.d $f0, $f2 +/* B94704 802412C4 00000000 */ nop +/* B94708 802412C8 450000FA */ bc1f .L802416B4 +/* B9470C 802412CC 00000000 */ nop +/* B94710 802412D0 3C0643BB */ lui $a2, 0x43bb +/* B94714 802412D4 34C68000 */ ori $a2, $a2, 0x8000 +.L802412D8: +/* B94718 802412D8 4407B000 */ mfc1 $a3, $f22 +/* B9471C 802412DC 0260282D */ daddu $a1, $s3, $zero +/* B94720 802412E0 E6340038 */ swc1 $f20, 0x38($s1) +/* B94724 802412E4 0C00A7E7 */ jal add_vec2D_polar +/* B94728 802412E8 E6340040 */ swc1 $f20, 0x40($s1) +/* B9472C 802412EC 080905AD */ j .L802416B4 +/* B94730 802412F0 00000000 */ nop +.L802412F4: +/* B94734 802412F4 8E220000 */ lw $v0, ($s1) +/* B94738 802412F8 30420040 */ andi $v0, $v0, 0x40 +/* B9473C 802412FC 144000B0 */ bnez $v0, .L802415C0 +/* B94740 80241300 27A50020 */ addiu $a1, $sp, 0x20 +/* B94744 80241304 27B40020 */ addiu $s4, $sp, 0x20 +/* B94748 80241308 0280282D */ daddu $a1, $s4, $zero +/* B9474C 8024130C 27B30024 */ addiu $s3, $sp, 0x24 +/* B94750 80241310 8EA20000 */ lw $v0, ($s5) +/* B94754 80241314 3C014032 */ lui $at, 0x4032 +/* B94758 80241318 44811800 */ mtc1 $at, $f3 +/* B9475C 8024131C 44801000 */ mtc1 $zero, $f2 +/* B94760 80241320 C440002C */ lwc1 $f0, 0x2c($v0) +/* B94764 80241324 C4460028 */ lwc1 $f6, 0x28($v0) +/* B94768 80241328 C4440030 */ lwc1 $f4, 0x30($v0) +/* B9476C 8024132C 46000021 */ cvt.d.s $f0, $f0 +/* B94770 80241330 46220000 */ add.d $f0, $f0, $f2 +/* B94774 80241334 E7A60020 */ swc1 $f6, 0x20($sp) +/* B94778 80241338 E7A40028 */ swc1 $f4, 0x28($sp) +/* B9477C 8024133C 46200020 */ cvt.s.d $f0, $f0 +/* B94780 80241340 E7A00024 */ swc1 $f0, 0x24($sp) +/* B94784 80241344 E7B40010 */ swc1 $f20, 0x10($sp) +/* B94788 80241348 E7B60014 */ swc1 $f22, 0x14($sp) +/* B9478C 8024134C 862200A8 */ lh $v0, 0xa8($s1) +/* B94790 80241350 0260302D */ daddu $a2, $s3, $zero +/* B94794 80241354 44820000 */ mtc1 $v0, $f0 +/* B94798 80241358 00000000 */ nop +/* B9479C 8024135C 46800020 */ cvt.s.w $f0, $f0 +/* B947A0 80241360 E7A00018 */ swc1 $f0, 0x18($sp) +/* B947A4 80241364 862200A6 */ lh $v0, 0xa6($s1) +/* B947A8 80241368 27B00028 */ addiu $s0, $sp, 0x28 +/* B947AC 8024136C 44820000 */ mtc1 $v0, $f0 +/* B947B0 80241370 00000000 */ nop +/* B947B4 80241374 46800020 */ cvt.s.w $f0, $f0 +/* B947B8 80241378 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B947BC 8024137C 8E240080 */ lw $a0, 0x80($s1) +/* B947C0 80241380 0C037711 */ jal func_800DDC44 +/* B947C4 80241384 0200382D */ daddu $a3, $s0, $zero +/* B947C8 80241388 104000CA */ beqz $v0, .L802416B4 +/* B947CC 8024138C 0280282D */ daddu $a1, $s4, $zero +/* B947D0 80241390 8EA20000 */ lw $v0, ($s5) +/* B947D4 80241394 3C018024 */ lui $at, 0x8024 +/* B947D8 80241398 D42247A8 */ ldc1 $f2, 0x47a8($at) +/* B947DC 8024139C C440002C */ lwc1 $f0, 0x2c($v0) +/* B947E0 802413A0 C4460028 */ lwc1 $f6, 0x28($v0) +/* B947E4 802413A4 C4440030 */ lwc1 $f4, 0x30($v0) +/* B947E8 802413A8 46000021 */ cvt.d.s $f0, $f0 +/* B947EC 802413AC 46220000 */ add.d $f0, $f0, $f2 +/* B947F0 802413B0 E7A60020 */ swc1 $f6, 0x20($sp) +/* B947F4 802413B4 E7A40028 */ swc1 $f4, 0x28($sp) +/* B947F8 802413B8 46200020 */ cvt.s.d $f0, $f0 +/* B947FC 802413BC E7A00024 */ swc1 $f0, 0x24($sp) +/* B94800 802413C0 E7B40010 */ swc1 $f20, 0x10($sp) +/* B94804 802413C4 E7B60014 */ swc1 $f22, 0x14($sp) +/* B94808 802413C8 862200A8 */ lh $v0, 0xa8($s1) +/* B9480C 802413CC 44820000 */ mtc1 $v0, $f0 +/* B94810 802413D0 00000000 */ nop +/* B94814 802413D4 46800020 */ cvt.s.w $f0, $f0 +/* B94818 802413D8 E7A00018 */ swc1 $f0, 0x18($sp) +/* B9481C 802413DC 862200A6 */ lh $v0, 0xa6($s1) +/* B94820 802413E0 0260302D */ daddu $a2, $s3, $zero +/* B94824 802413E4 44820000 */ mtc1 $v0, $f0 +/* B94828 802413E8 00000000 */ nop +/* B9482C 802413EC 46800020 */ cvt.s.w $f0, $f0 +/* B94830 802413F0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B94834 802413F4 8E240080 */ lw $a0, 0x80($s1) +/* B94838 802413F8 0C037711 */ jal func_800DDC44 +/* B9483C 802413FC 0200382D */ daddu $a3, $s0, $zero +/* B94840 80241400 27A5002C */ addiu $a1, $sp, 0x2c +/* B94844 80241404 27A60030 */ addiu $a2, $sp, 0x30 +/* B94848 80241408 27A70034 */ addiu $a3, $sp, 0x34 +/* B9484C 8024140C 27A30038 */ addiu $v1, $sp, 0x38 +/* B94850 80241410 C6220038 */ lwc1 $f2, 0x38($s1) +/* B94854 80241414 C620003C */ lwc1 $f0, 0x3c($s1) +/* B94858 80241418 3C014348 */ lui $at, 0x4348 +/* B9485C 8024141C 44813000 */ mtc1 $at, $f6 +/* B94860 80241420 46000021 */ cvt.d.s $f0, $f0 +/* B94864 80241424 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B94868 80241428 3C014059 */ lui $at, 0x4059 +/* B9486C 8024142C 44811800 */ mtc1 $at, $f3 +/* B94870 80241430 44801000 */ mtc1 $zero, $f2 +/* B94874 80241434 C6240040 */ lwc1 $f4, 0x40($s1) +/* B94878 80241438 46220000 */ add.d $f0, $f0, $f2 +/* B9487C 8024143C E7A60038 */ swc1 $f6, 0x38($sp) +/* B94880 80241440 E7A40034 */ swc1 $f4, 0x34($sp) +/* B94884 80241444 46200020 */ cvt.s.d $f0, $f0 +/* B94888 80241448 E7A00030 */ swc1 $f0, 0x30($sp) +/* B9488C 8024144C AFA30010 */ sw $v1, 0x10($sp) +/* B94890 80241450 8E240080 */ lw $a0, 0x80($s1) +/* B94894 80241454 0C0372DF */ jal func_800DCB7C +/* B94898 80241458 0040802D */ daddu $s0, $v0, $zero +/* B9489C 8024145C 1600001C */ bnez $s0, .L802414D0 +/* B948A0 80241460 00000000 */ nop +/* B948A4 80241464 1040001A */ beqz $v0, .L802414D0 +/* B948A8 80241468 00000000 */ nop +/* B948AC 8024146C C7A20038 */ lwc1 $f2, 0x38($sp) +/* B948B0 80241470 3C014054 */ lui $at, 0x4054 +/* B948B4 80241474 44810800 */ mtc1 $at, $f1 +/* B948B8 80241478 44800000 */ mtc1 $zero, $f0 +/* B948BC 8024147C 460010A1 */ cvt.d.s $f2, $f2 +/* B948C0 80241480 4622003C */ c.lt.d $f0, $f2 +/* B948C4 80241484 00000000 */ nop +/* B948C8 80241488 45000011 */ bc1f .L802414D0 +/* B948CC 8024148C 00000000 */ nop +/* B948D0 80241490 3C01405E */ lui $at, 0x405e +/* B948D4 80241494 44810800 */ mtc1 $at, $f1 +/* B948D8 80241498 44800000 */ mtc1 $zero, $f0 +/* B948DC 8024149C 00000000 */ nop +/* B948E0 802414A0 4620103C */ c.lt.d $f2, $f0 +/* B948E4 802414A4 00000000 */ nop +/* B948E8 802414A8 45000009 */ bc1f .L802414D0 +/* B948EC 802414AC 00000000 */ nop +/* B948F0 802414B0 C622003C */ lwc1 $f2, 0x3c($s1) +/* B948F4 802414B4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* B948F8 802414B8 46001032 */ c.eq.s $f2, $f0 +/* B948FC 802414BC 00000000 */ nop +/* B94900 802414C0 45010003 */ bc1t .L802414D0 +/* B94904 802414C4 00000000 */ nop +/* B94908 802414C8 080905AD */ j .L802416B4 +/* B9490C 802414CC 241E0001 */ addiu $fp, $zero, 1 +.L802414D0: +/* B94910 802414D0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* B94914 802414D4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* B94918 802414D8 8E020000 */ lw $v0, ($s0) +/* B9491C 802414DC 3C014024 */ lui $at, 0x4024 +/* B94920 802414E0 44811800 */ mtc1 $at, $f3 +/* B94924 802414E4 44801000 */ mtc1 $zero, $f2 +/* B94928 802414E8 C440002C */ lwc1 $f0, 0x2c($v0) +/* B9492C 802414EC C4460028 */ lwc1 $f6, 0x28($v0) +/* B94930 802414F0 C4440030 */ lwc1 $f4, 0x30($v0) +/* B94934 802414F4 46000021 */ cvt.d.s $f0, $f0 +/* B94938 802414F8 46220000 */ add.d $f0, $f0, $f2 +/* B9493C 802414FC E7A60020 */ swc1 $f6, 0x20($sp) +/* B94940 80241500 E7A40028 */ swc1 $f4, 0x28($sp) +/* B94944 80241504 46200020 */ cvt.s.d $f0, $f0 +/* B94948 80241508 E7A00024 */ swc1 $f0, 0x24($sp) +/* B9494C 8024150C E7B40010 */ swc1 $f20, 0x10($sp) +/* B94950 80241510 E7B60014 */ swc1 $f22, 0x14($sp) +/* B94954 80241514 862200A8 */ lh $v0, 0xa8($s1) +/* B94958 80241518 27A50020 */ addiu $a1, $sp, 0x20 +/* B9495C 8024151C 44820000 */ mtc1 $v0, $f0 +/* B94960 80241520 00000000 */ nop +/* B94964 80241524 46800020 */ cvt.s.w $f0, $f0 +/* B94968 80241528 E7A00018 */ swc1 $f0, 0x18($sp) +/* B9496C 8024152C 862200A6 */ lh $v0, 0xa6($s1) +/* B94970 80241530 27A60024 */ addiu $a2, $sp, 0x24 +/* B94974 80241534 44820000 */ mtc1 $v0, $f0 +/* B94978 80241538 00000000 */ nop +/* B9497C 8024153C 46800020 */ cvt.s.w $f0, $f0 +/* B94980 80241540 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B94984 80241544 8E240080 */ lw $a0, 0x80($s1) +/* B94988 80241548 0C037711 */ jal func_800DDC44 +/* B9498C 8024154C 27A70028 */ addiu $a3, $sp, 0x28 +/* B94990 80241550 8FA60020 */ lw $a2, 0x20($sp) +/* B94994 80241554 8E020000 */ lw $v0, ($s0) +/* B94998 80241558 8FA70028 */ lw $a3, 0x28($sp) +/* B9499C 8024155C C44C0028 */ lwc1 $f12, 0x28($v0) +/* B949A0 80241560 C44E0030 */ lwc1 $f14, 0x30($v0) +/* B949A4 80241564 0C00A7B5 */ jal dist2D +/* B949A8 80241568 24170001 */ addiu $s7, $zero, 1 +/* B949AC 8024156C 46000506 */ mov.s $f20, $f0 +/* B949B0 80241570 8E030000 */ lw $v1, ($s0) +/* B949B4 80241574 862200A6 */ lh $v0, 0xa6($s1) +/* B949B8 80241578 4407C000 */ mfc1 $a3, $f24 +/* B949BC 8024157C 44824000 */ mtc1 $v0, $f8 +/* B949C0 80241580 00000000 */ nop +/* B949C4 80241584 46804220 */ cvt.s.w $f8, $f8 +/* B949C8 80241588 C4600028 */ lwc1 $f0, 0x28($v1) +/* B949CC 8024158C 44064000 */ mfc1 $a2, $f8 +/* B949D0 80241590 26240038 */ addiu $a0, $s1, 0x38 +/* B949D4 80241594 E6200038 */ swc1 $f0, 0x38($s1) +/* B949D8 80241598 C4600030 */ lwc1 $f0, 0x30($v1) +/* B949DC 8024159C 26250040 */ addiu $a1, $s1, 0x40 +/* B949E0 802415A0 0C00A7E7 */ jal add_vec2D_polar +/* B949E4 802415A4 E6200040 */ swc1 $f0, 0x40($s1) +/* B949E8 802415A8 862200A6 */ lh $v0, 0xa6($s1) +/* B949EC 802415AC 44820000 */ mtc1 $v0, $f0 +/* B949F0 802415B0 00000000 */ nop +/* B949F4 802415B4 46800020 */ cvt.s.w $f0, $f0 +/* B949F8 802415B8 080905A9 */ j .L802416A4 +/* B949FC 802415BC 4600A500 */ add.s $f20, $f20, $f0 +.L802415C0: +/* B94A00 802415C0 8EA20000 */ lw $v0, ($s5) +/* B94A04 802415C4 3C014032 */ lui $at, 0x4032 +/* B94A08 802415C8 44811800 */ mtc1 $at, $f3 +/* B94A0C 802415CC 44801000 */ mtc1 $zero, $f2 +/* B94A10 802415D0 C440002C */ lwc1 $f0, 0x2c($v0) +/* B94A14 802415D4 C4460028 */ lwc1 $f6, 0x28($v0) +/* B94A18 802415D8 C4440030 */ lwc1 $f4, 0x30($v0) +/* B94A1C 802415DC 46000021 */ cvt.d.s $f0, $f0 +/* B94A20 802415E0 46220000 */ add.d $f0, $f0, $f2 +/* B94A24 802415E4 E7A60020 */ swc1 $f6, 0x20($sp) +/* B94A28 802415E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* B94A2C 802415EC 46200020 */ cvt.s.d $f0, $f0 +/* B94A30 802415F0 E7A00024 */ swc1 $f0, 0x24($sp) +/* B94A34 802415F4 E7B40010 */ swc1 $f20, 0x10($sp) +/* B94A38 802415F8 E7B60014 */ swc1 $f22, 0x14($sp) +/* B94A3C 802415FC 862200A8 */ lh $v0, 0xa8($s1) +/* B94A40 80241600 44820000 */ mtc1 $v0, $f0 +/* B94A44 80241604 00000000 */ nop +/* B94A48 80241608 46800020 */ cvt.s.w $f0, $f0 +/* B94A4C 8024160C E7A00018 */ swc1 $f0, 0x18($sp) +/* B94A50 80241610 862200A6 */ lh $v0, 0xa6($s1) +/* B94A54 80241614 27A60024 */ addiu $a2, $sp, 0x24 +/* B94A58 80241618 44820000 */ mtc1 $v0, $f0 +/* B94A5C 8024161C 00000000 */ nop +/* B94A60 80241620 46800020 */ cvt.s.w $f0, $f0 +/* B94A64 80241624 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B94A68 80241628 8E240080 */ lw $a0, 0x80($s1) +/* B94A6C 8024162C 0C037711 */ jal func_800DDC44 +/* B94A70 80241630 27A70028 */ addiu $a3, $sp, 0x28 +/* B94A74 80241634 1040001F */ beqz $v0, .L802416B4 +/* B94A78 80241638 00000000 */ nop +/* B94A7C 8024163C 8FA60020 */ lw $a2, 0x20($sp) +/* B94A80 80241640 8EA20000 */ lw $v0, ($s5) +/* B94A84 80241644 8FA70028 */ lw $a3, 0x28($sp) +/* B94A88 80241648 C44C0028 */ lwc1 $f12, 0x28($v0) +/* B94A8C 8024164C 0C00A7B5 */ jal dist2D +/* B94A90 80241650 C44E0030 */ lwc1 $f14, 0x30($v0) +/* B94A94 80241654 46000506 */ mov.s $f20, $f0 +/* B94A98 80241658 8EA30000 */ lw $v1, ($s5) +/* B94A9C 8024165C 862200A6 */ lh $v0, 0xa6($s1) +/* B94AA0 80241660 4407C000 */ mfc1 $a3, $f24 +/* B94AA4 80241664 44824000 */ mtc1 $v0, $f8 +/* B94AA8 80241668 00000000 */ nop +/* B94AAC 8024166C 46804220 */ cvt.s.w $f8, $f8 +/* B94AB0 80241670 C4600028 */ lwc1 $f0, 0x28($v1) +/* B94AB4 80241674 44064000 */ mfc1 $a2, $f8 +/* B94AB8 80241678 0200202D */ daddu $a0, $s0, $zero +/* B94ABC 8024167C E6200038 */ swc1 $f0, 0x38($s1) +/* B94AC0 80241680 C4600030 */ lwc1 $f0, 0x30($v1) +/* B94AC4 80241684 0260282D */ daddu $a1, $s3, $zero +/* B94AC8 80241688 0C00A7E7 */ jal add_vec2D_polar +/* B94ACC 8024168C E6200040 */ swc1 $f0, 0x40($s1) +/* B94AD0 80241690 862200A6 */ lh $v0, 0xa6($s1) +/* B94AD4 80241694 44820000 */ mtc1 $v0, $f0 +/* B94AD8 80241698 00000000 */ nop +/* B94ADC 8024169C 46800020 */ cvt.s.w $f0, $f0 +/* B94AE0 802416A0 4600A500 */ add.s $f20, $f20, $f0 +.L802416A4: +/* B94AE4 802416A4 4406B000 */ mfc1 $a2, $f22 +/* B94AE8 802416A8 4405A000 */ mfc1 $a1, $f20 +/* B94AEC 802416AC 0C00EA95 */ jal npc_move_heading +/* B94AF0 802416B0 0220202D */ daddu $a0, $s1, $zero +.L802416B4: +/* B94AF4 802416B4 C6400008 */ lwc1 $f0, 8($s2) +/* B94AF8 802416B8 46800020 */ cvt.s.w $f0, $f0 +/* B94AFC 802416BC 44050000 */ mfc1 $a1, $f0 +/* B94B00 802416C0 C640000C */ lwc1 $f0, 0xc($s2) +/* B94B04 802416C4 46800020 */ cvt.s.w $f0, $f0 +/* B94B08 802416C8 44060000 */ mfc1 $a2, $f0 +/* B94B0C 802416CC C6200040 */ lwc1 $f0, 0x40($s1) +/* B94B10 802416D0 26300038 */ addiu $s0, $s1, 0x38 +/* B94B14 802416D4 E7A00010 */ swc1 $f0, 0x10($sp) +/* B94B18 802416D8 C6400010 */ lwc1 $f0, 0x10($s2) +/* B94B1C 802416DC 46800020 */ cvt.s.w $f0, $f0 +/* B94B20 802416E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B94B24 802416E4 C6400014 */ lwc1 $f0, 0x14($s2) +/* B94B28 802416E8 46800020 */ cvt.s.w $f0, $f0 +/* B94B2C 802416EC E7A00018 */ swc1 $f0, 0x18($sp) +/* B94B30 802416F0 8E440004 */ lw $a0, 4($s2) +/* B94B34 802416F4 8E270038 */ lw $a3, 0x38($s1) +/* B94B38 802416F8 0C0123F5 */ jal is_point_within_region +/* B94B3C 802416FC 26330040 */ addiu $s3, $s1, 0x40 +/* B94B40 80241700 1040005A */ beqz $v0, .L8024186C +/* B94B44 80241704 00000000 */ nop +/* B94B48 80241708 8E430004 */ lw $v1, 4($s2) +/* B94B4C 8024170C 10600005 */ beqz $v1, .L80241724 +/* B94B50 80241710 24020001 */ addiu $v0, $zero, 1 +/* B94B54 80241714 10620029 */ beq $v1, $v0, .L802417BC +/* B94B58 80241718 00000000 */ nop +/* B94B5C 8024171C 0809061B */ j .L8024186C +/* B94B60 80241720 00000000 */ nop +.L80241724: +/* B94B64 80241724 C6480008 */ lwc1 $f8, 8($s2) +/* B94B68 80241728 46804220 */ cvt.s.w $f8, $f8 +/* B94B6C 8024172C 44064000 */ mfc1 $a2, $f8 +/* B94B70 80241730 C648000C */ lwc1 $f8, 0xc($s2) +/* B94B74 80241734 46804220 */ cvt.s.w $f8, $f8 +/* B94B78 80241738 C62C0038 */ lwc1 $f12, 0x38($s1) +/* B94B7C 8024173C C62E0040 */ lwc1 $f14, 0x40($s1) +/* B94B80 80241740 44074000 */ mfc1 $a3, $f8 +/* B94B84 80241744 0C00A7B5 */ jal dist2D +/* B94B88 80241748 00000000 */ nop +/* B94B8C 8024174C C6420010 */ lwc1 $f2, 0x10($s2) +/* B94B90 80241750 468010A0 */ cvt.s.w $f2, $f2 +/* B94B94 80241754 4600103C */ c.lt.s $f2, $f0 +/* B94B98 80241758 00000000 */ nop +/* B94B9C 8024175C 45000043 */ bc1f .L8024186C +/* B94BA0 80241760 E7A00038 */ swc1 $f0, 0x38($sp) +/* B94BA4 80241764 C64C0008 */ lwc1 $f12, 8($s2) +/* B94BA8 80241768 46806320 */ cvt.s.w $f12, $f12 +/* B94BAC 8024176C 8E260038 */ lw $a2, 0x38($s1) +/* B94BB0 80241770 8E270040 */ lw $a3, 0x40($s1) +/* B94BB4 80241774 C64E000C */ lwc1 $f14, 0xc($s2) +/* B94BB8 80241778 0C00A720 */ jal atan2 +/* B94BBC 8024177C 468073A0 */ cvt.s.w $f14, $f14 +/* B94BC0 80241780 0200202D */ daddu $a0, $s0, $zero +/* B94BC4 80241784 44070000 */ mfc1 $a3, $f0 +/* B94BC8 80241788 C6400008 */ lwc1 $f0, 8($s2) +/* B94BCC 8024178C 46800020 */ cvt.s.w $f0, $f0 +/* B94BD0 80241790 E6200038 */ swc1 $f0, 0x38($s1) +/* B94BD4 80241794 C640000C */ lwc1 $f0, 0xc($s2) +/* B94BD8 80241798 46800020 */ cvt.s.w $f0, $f0 +/* B94BDC 8024179C E6200040 */ swc1 $f0, 0x40($s1) +/* B94BE0 802417A0 C6480010 */ lwc1 $f8, 0x10($s2) +/* B94BE4 802417A4 46804220 */ cvt.s.w $f8, $f8 +/* B94BE8 802417A8 44064000 */ mfc1 $a2, $f8 +/* B94BEC 802417AC 0C00A7E7 */ jal add_vec2D_polar +/* B94BF0 802417B0 0260282D */ daddu $a1, $s3, $zero +/* B94BF4 802417B4 0809061B */ j .L8024186C +/* B94BF8 802417B8 00000000 */ nop +.L802417BC: +/* B94BFC 802417BC 8E420008 */ lw $v0, 8($s2) +/* B94C00 802417C0 8E430010 */ lw $v1, 0x10($s2) +/* B94C04 802417C4 C6200038 */ lwc1 $f0, 0x38($s1) +/* B94C08 802417C8 00431021 */ addu $v0, $v0, $v1 +/* B94C0C 802417CC 44821000 */ mtc1 $v0, $f2 +/* B94C10 802417D0 00000000 */ nop +/* B94C14 802417D4 468010A0 */ cvt.s.w $f2, $f2 +/* B94C18 802417D8 4600103C */ c.lt.s $f2, $f0 +/* B94C1C 802417DC 00000000 */ nop +/* B94C20 802417E0 45030001 */ bc1tl .L802417E8 +/* B94C24 802417E4 E6220038 */ swc1 $f2, 0x38($s1) +.L802417E8: +/* B94C28 802417E8 8E420008 */ lw $v0, 8($s2) +/* B94C2C 802417EC 8E430010 */ lw $v1, 0x10($s2) +/* B94C30 802417F0 C6200038 */ lwc1 $f0, 0x38($s1) +/* B94C34 802417F4 00431023 */ subu $v0, $v0, $v1 +/* B94C38 802417F8 44821000 */ mtc1 $v0, $f2 +/* B94C3C 802417FC 00000000 */ nop +/* B94C40 80241800 468010A0 */ cvt.s.w $f2, $f2 +/* B94C44 80241804 4602003C */ c.lt.s $f0, $f2 +/* B94C48 80241808 00000000 */ nop +/* B94C4C 8024180C 45030001 */ bc1tl .L80241814 +/* B94C50 80241810 E6220038 */ swc1 $f2, 0x38($s1) +.L80241814: +/* B94C54 80241814 8E42000C */ lw $v0, 0xc($s2) +/* B94C58 80241818 8E430014 */ lw $v1, 0x14($s2) +/* B94C5C 8024181C C6200040 */ lwc1 $f0, 0x40($s1) +/* B94C60 80241820 00431021 */ addu $v0, $v0, $v1 +/* B94C64 80241824 44821000 */ mtc1 $v0, $f2 +/* B94C68 80241828 00000000 */ nop +/* B94C6C 8024182C 468010A0 */ cvt.s.w $f2, $f2 +/* B94C70 80241830 4600103C */ c.lt.s $f2, $f0 +/* B94C74 80241834 00000000 */ nop +/* B94C78 80241838 45030001 */ bc1tl .L80241840 +/* B94C7C 8024183C E6220040 */ swc1 $f2, 0x40($s1) +.L80241840: +/* B94C80 80241840 8E42000C */ lw $v0, 0xc($s2) +/* B94C84 80241844 8E430014 */ lw $v1, 0x14($s2) +/* B94C88 80241848 C6200040 */ lwc1 $f0, 0x40($s1) +/* B94C8C 8024184C 00431023 */ subu $v0, $v0, $v1 +/* B94C90 80241850 44821000 */ mtc1 $v0, $f2 +/* B94C94 80241854 00000000 */ nop +/* B94C98 80241858 468010A0 */ cvt.s.w $f2, $f2 +/* B94C9C 8024185C 4602003C */ c.lt.s $f0, $f2 +/* B94CA0 80241860 00000000 */ nop +/* B94CA4 80241864 45030001 */ bc1tl .L8024186C +/* B94CA8 80241868 E6220040 */ swc1 $f2, 0x40($s1) +.L8024186C: +/* B94CAC 8024186C 16E0001F */ bnez $s7, .L802418EC +/* B94CB0 80241870 00000000 */ nop +/* B94CB4 80241874 8E220000 */ lw $v0, ($s1) +/* B94CB8 80241878 30420008 */ andi $v0, $v0, 8 +/* B94CBC 8024187C 10400003 */ beqz $v0, .L8024188C +/* B94CC0 80241880 27A50020 */ addiu $a1, $sp, 0x20 +/* B94CC4 80241884 13C00019 */ beqz $fp, .L802418EC +/* B94CC8 80241888 00000000 */ nop +.L8024188C: +/* B94CCC 8024188C 27A60024 */ addiu $a2, $sp, 0x24 +/* B94CD0 80241890 27A20038 */ addiu $v0, $sp, 0x38 +/* B94CD4 80241894 C6220038 */ lwc1 $f2, 0x38($s1) +/* B94CD8 80241898 C620003C */ lwc1 $f0, 0x3c($s1) +/* B94CDC 8024189C 3C0143C8 */ lui $at, 0x43c8 +/* B94CE0 802418A0 44813000 */ mtc1 $at, $f6 +/* B94CE4 802418A4 46000021 */ cvt.d.s $f0, $f0 +/* B94CE8 802418A8 E7A20020 */ swc1 $f2, 0x20($sp) +/* B94CEC 802418AC 3C018024 */ lui $at, 0x8024 +/* B94CF0 802418B0 D42247B0 */ ldc1 $f2, 0x47b0($at) +/* B94CF4 802418B4 C6240040 */ lwc1 $f4, 0x40($s1) +/* B94CF8 802418B8 46220000 */ add.d $f0, $f0, $f2 +/* B94CFC 802418BC E7A60038 */ swc1 $f6, 0x38($sp) +/* B94D00 802418C0 E7A40028 */ swc1 $f4, 0x28($sp) +/* B94D04 802418C4 46200020 */ cvt.s.d $f0, $f0 +/* B94D08 802418C8 E7A00024 */ swc1 $f0, 0x24($sp) +/* B94D0C 802418CC AFA20010 */ sw $v0, 0x10($sp) +/* B94D10 802418D0 8E240080 */ lw $a0, 0x80($s1) +/* B94D14 802418D4 0C0372DF */ jal func_800DCB7C +/* B94D18 802418D8 27A70028 */ addiu $a3, $sp, 0x28 +/* B94D1C 802418DC 10400003 */ beqz $v0, .L802418EC +/* B94D20 802418E0 00000000 */ nop +/* B94D24 802418E4 C7A00024 */ lwc1 $f0, 0x24($sp) +/* B94D28 802418E8 E620003C */ swc1 $f0, 0x3c($s1) +.L802418EC: +/* B94D2C 802418EC C62C0038 */ lwc1 $f12, 0x38($s1) +/* B94D30 802418F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B94D34 802418F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B94D38 802418F8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* B94D3C 802418FC 8C460028 */ lw $a2, 0x28($v0) +/* B94D40 80241900 0C00A720 */ jal atan2 +/* B94D44 80241904 8C470030 */ lw $a3, 0x30($v0) +/* B94D48 80241908 0220202D */ daddu $a0, $s1, $zero +/* B94D4C 8024190C 24050321 */ addiu $a1, $zero, 0x321 +/* B94D50 80241910 0000302D */ daddu $a2, $zero, $zero +/* B94D54 80241914 0C012530 */ jal func_800494C0 +/* B94D58 80241918 E620000C */ swc1 $f0, 0xc($s1) +/* B94D5C 8024191C 8EC200CC */ lw $v0, 0xcc($s6) +/* B94D60 80241920 8C420024 */ lw $v0, 0x24($v0) +/* B94D64 80241924 AE220028 */ sw $v0, 0x28($s1) +/* B94D68 80241928 96C20096 */ lhu $v0, 0x96($s6) +/* B94D6C 8024192C A622008E */ sh $v0, 0x8e($s1) +/* B94D70 80241930 8FA80080 */ lw $t0, 0x80($sp) +/* B94D74 80241934 2402000B */ addiu $v0, $zero, 0xb +/* B94D78 80241938 AD020070 */ sw $v0, 0x70($t0) +.L8024193C: +/* B94D7C 8024193C 8FBF0064 */ lw $ra, 0x64($sp) +/* B94D80 80241940 8FBE0060 */ lw $fp, 0x60($sp) +/* B94D84 80241944 8FB7005C */ lw $s7, 0x5c($sp) +/* B94D88 80241948 8FB60058 */ lw $s6, 0x58($sp) +/* B94D8C 8024194C 8FB50054 */ lw $s5, 0x54($sp) +/* B94D90 80241950 8FB40050 */ lw $s4, 0x50($sp) +/* B94D94 80241954 8FB3004C */ lw $s3, 0x4c($sp) +/* B94D98 80241958 8FB20048 */ lw $s2, 0x48($sp) +/* B94D9C 8024195C 8FB10044 */ lw $s1, 0x44($sp) +/* B94DA0 80241960 8FB00040 */ lw $s0, 0x40($sp) +/* B94DA4 80241964 D7B80078 */ ldc1 $f24, 0x78($sp) +/* B94DA8 80241968 D7B60070 */ ldc1 $f22, 0x70($sp) +/* B94DAC 8024196C D7B40068 */ ldc1 $f20, 0x68($sp) +/* B94DB0 80241970 03E00008 */ jr $ra +/* B94DB4 80241974 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80241978.s b/asm/nonmatchings/world/area_mim/mim_01/func_80241978.s new file mode 100644 index 0000000000..1b14d21c28 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80241978.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241978 +/* B94DB8 80241978 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B94DBC 8024197C AFB10014 */ sw $s1, 0x14($sp) +/* B94DC0 80241980 0080882D */ daddu $s1, $a0, $zero +/* B94DC4 80241984 AFBF0018 */ sw $ra, 0x18($sp) +/* B94DC8 80241988 AFB00010 */ sw $s0, 0x10($sp) +/* B94DCC 8024198C 8E300148 */ lw $s0, 0x148($s1) +/* B94DD0 80241990 0C00EABB */ jal get_npc_unsafe +/* B94DD4 80241994 86040008 */ lh $a0, 8($s0) +/* B94DD8 80241998 0040202D */ daddu $a0, $v0, $zero +/* B94DDC 8024199C 9482008E */ lhu $v0, 0x8e($a0) +/* B94DE0 802419A0 2442FFFF */ addiu $v0, $v0, -1 +/* B94DE4 802419A4 A482008E */ sh $v0, 0x8e($a0) +/* B94DE8 802419A8 00021400 */ sll $v0, $v0, 0x10 +/* B94DEC 802419AC 8E030098 */ lw $v1, 0x98($s0) +/* B94DF0 802419B0 00021403 */ sra $v0, $v0, 0x10 +/* B94DF4 802419B4 0062182A */ slt $v1, $v1, $v0 +/* B94DF8 802419B8 14600005 */ bnez $v1, .L802419D0 +/* B94DFC 802419BC 3C03E0EF */ lui $v1, 0xe0ef +/* B94E00 802419C0 8E020000 */ lw $v0, ($s0) +/* B94E04 802419C4 3463FFFF */ ori $v1, $v1, 0xffff +/* B94E08 802419C8 00431024 */ and $v0, $v0, $v1 +/* B94E0C 802419CC AE020000 */ sw $v0, ($s0) +.L802419D0: +/* B94E10 802419D0 8482008E */ lh $v0, 0x8e($a0) +/* B94E14 802419D4 14400007 */ bnez $v0, .L802419F4 +/* B94E18 802419D8 00000000 */ nop +/* B94E1C 802419DC 8E0200CC */ lw $v0, 0xcc($s0) +/* B94E20 802419E0 8C420028 */ lw $v0, 0x28($v0) +/* B94E24 802419E4 A480008E */ sh $zero, 0x8e($a0) +/* B94E28 802419E8 AC820028 */ sw $v0, 0x28($a0) +/* B94E2C 802419EC 2402000C */ addiu $v0, $zero, 0xc +/* B94E30 802419F0 AE220070 */ sw $v0, 0x70($s1) +.L802419F4: +/* B94E34 802419F4 8FBF0018 */ lw $ra, 0x18($sp) +/* B94E38 802419F8 8FB10014 */ lw $s1, 0x14($sp) +/* B94E3C 802419FC 8FB00010 */ lw $s0, 0x10($sp) +/* B94E40 80241A00 03E00008 */ jr $ra +/* B94E44 80241A04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80241A08.s b/asm/nonmatchings/world/area_mim/mim_01/func_80241A08.s new file mode 100644 index 0000000000..2b09053cb5 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80241A08.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A08 +/* B94E48 80241A08 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B94E4C 80241A0C AFB10034 */ sw $s1, 0x34($sp) +/* B94E50 80241A10 0080882D */ daddu $s1, $a0, $zero +/* B94E54 80241A14 AFBF0038 */ sw $ra, 0x38($sp) +/* B94E58 80241A18 AFB00030 */ sw $s0, 0x30($sp) +/* B94E5C 80241A1C 8E300148 */ lw $s0, 0x148($s1) +/* B94E60 80241A20 0C00EABB */ jal get_npc_unsafe +/* B94E64 80241A24 86040008 */ lh $a0, 8($s0) +/* B94E68 80241A28 0040282D */ daddu $a1, $v0, $zero +/* B94E6C 80241A2C 94A2008E */ lhu $v0, 0x8e($a1) +/* B94E70 80241A30 24420001 */ addiu $v0, $v0, 1 +/* B94E74 80241A34 A4A2008E */ sh $v0, 0x8e($a1) +/* B94E78 80241A38 00021400 */ sll $v0, $v0, 0x10 +/* B94E7C 80241A3C 8E0300A0 */ lw $v1, 0xa0($s0) +/* B94E80 80241A40 00021403 */ sra $v0, $v0, 0x10 +/* B94E84 80241A44 14430004 */ bne $v0, $v1, .L80241A58 +/* B94E88 80241A48 00000000 */ nop +/* B94E8C 80241A4C 8E0200CC */ lw $v0, 0xcc($s0) +/* B94E90 80241A50 8C42002C */ lw $v0, 0x2c($v0) +/* B94E94 80241A54 ACA20028 */ sw $v0, 0x28($a1) +.L80241A58: +/* B94E98 80241A58 84A3008E */ lh $v1, 0x8e($a1) +/* B94E9C 80241A5C 8E0200A4 */ lw $v0, 0xa4($s0) +/* B94EA0 80241A60 14620002 */ bne $v1, $v0, .L80241A6C +/* B94EA4 80241A64 24020003 */ addiu $v0, $zero, 3 +/* B94EA8 80241A68 AE02006C */ sw $v0, 0x6c($s0) +.L80241A6C: +/* B94EAC 80241A6C 84A2008E */ lh $v0, 0x8e($a1) +/* B94EB0 80241A70 8E03009C */ lw $v1, 0x9c($s0) +/* B94EB4 80241A74 0043102A */ slt $v0, $v0, $v1 +/* B94EB8 80241A78 1440001E */ bnez $v0, .L80241AF4 +/* B94EBC 80241A7C 24020004 */ addiu $v0, $zero, 4 +/* B94EC0 80241A80 AE02006C */ sw $v0, 0x6c($s0) +/* B94EC4 80241A84 24020008 */ addiu $v0, $zero, 8 +/* B94EC8 80241A88 24040003 */ addiu $a0, $zero, 3 +/* B94ECC 80241A8C A4A2008E */ sh $v0, 0x8e($a1) +/* B94ED0 80241A90 8E0200CC */ lw $v0, 0xcc($s0) +/* B94ED4 80241A94 84A300A8 */ lh $v1, 0xa8($a1) +/* B94ED8 80241A98 3C013F80 */ lui $at, 0x3f80 +/* B94EDC 80241A9C 44810000 */ mtc1 $at, $f0 +/* B94EE0 80241AA0 3C014000 */ lui $at, 0x4000 +/* B94EE4 80241AA4 44811000 */ mtc1 $at, $f2 +/* B94EE8 80241AA8 3C01C1A0 */ lui $at, 0xc1a0 +/* B94EEC 80241AAC 44812000 */ mtc1 $at, $f4 +/* B94EF0 80241AB0 44833000 */ mtc1 $v1, $f6 +/* B94EF4 80241AB4 00000000 */ nop +/* B94EF8 80241AB8 468031A0 */ cvt.s.w $f6, $f6 +/* B94EFC 80241ABC 8C420000 */ lw $v0, ($v0) +/* B94F00 80241AC0 44073000 */ mfc1 $a3, $f6 +/* B94F04 80241AC4 0000302D */ daddu $a2, $zero, $zero +/* B94F08 80241AC8 ACA20028 */ sw $v0, 0x28($a1) +/* B94F0C 80241ACC 2402000A */ addiu $v0, $zero, 0xa +/* B94F10 80241AD0 AFA2001C */ sw $v0, 0x1c($sp) +/* B94F14 80241AD4 27A20028 */ addiu $v0, $sp, 0x28 +/* B94F18 80241AD8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B94F1C 80241ADC E7A20014 */ swc1 $f2, 0x14($sp) +/* B94F20 80241AE0 E7A40018 */ swc1 $f4, 0x18($sp) +/* B94F24 80241AE4 0C01BFA4 */ jal fx_emote +/* B94F28 80241AE8 AFA20020 */ sw $v0, 0x20($sp) +/* B94F2C 80241AEC 2402000D */ addiu $v0, $zero, 0xd +/* B94F30 80241AF0 AE220070 */ sw $v0, 0x70($s1) +.L80241AF4: +/* B94F34 80241AF4 8FBF0038 */ lw $ra, 0x38($sp) +/* B94F38 80241AF8 8FB10034 */ lw $s1, 0x34($sp) +/* B94F3C 80241AFC 8FB00030 */ lw $s0, 0x30($sp) +/* B94F40 80241B00 03E00008 */ jr $ra +/* B94F44 80241B04 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80241B08_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80241B08_B93440.s new file mode 100644 index 0000000000..6bf2e96587 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80241B08_B93440.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B08_B94F48 +/* B94F48 80241B08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B94F4C 80241B0C AFB10014 */ sw $s1, 0x14($sp) +/* B94F50 80241B10 0080882D */ daddu $s1, $a0, $zero +/* B94F54 80241B14 AFBF0018 */ sw $ra, 0x18($sp) +/* B94F58 80241B18 AFB00010 */ sw $s0, 0x10($sp) +/* B94F5C 80241B1C 8E300148 */ lw $s0, 0x148($s1) +/* B94F60 80241B20 0C00EABB */ jal get_npc_unsafe +/* B94F64 80241B24 86040008 */ lh $a0, 8($s0) +/* B94F68 80241B28 0040182D */ daddu $v1, $v0, $zero +/* B94F6C 80241B2C 9462008E */ lhu $v0, 0x8e($v1) +/* B94F70 80241B30 2442FFFF */ addiu $v0, $v0, -1 +/* B94F74 80241B34 A462008E */ sh $v0, 0x8e($v1) +/* B94F78 80241B38 00021400 */ sll $v0, $v0, 0x10 +/* B94F7C 80241B3C 14400005 */ bnez $v0, .L80241B54 +/* B94F80 80241B40 00000000 */ nop +/* B94F84 80241B44 960200AA */ lhu $v0, 0xaa($s0) +/* B94F88 80241B48 A462008E */ sh $v0, 0x8e($v1) +/* B94F8C 80241B4C 2402000E */ addiu $v0, $zero, 0xe +/* B94F90 80241B50 AE220070 */ sw $v0, 0x70($s1) +.L80241B54: +/* B94F94 80241B54 8FBF0018 */ lw $ra, 0x18($sp) +/* B94F98 80241B58 8FB10014 */ lw $s1, 0x14($sp) +/* B94F9C 80241B5C 8FB00010 */ lw $s0, 0x10($sp) +/* B94FA0 80241B60 03E00008 */ jr $ra +/* B94FA4 80241B64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80241B68.s b/asm/nonmatchings/world/area_mim/mim_01/func_80241B68.s new file mode 100644 index 0000000000..db9da9c2c5 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80241B68.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B68 +/* B94FA8 80241B68 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B94FAC 80241B6C AFB40040 */ sw $s4, 0x40($sp) +/* B94FB0 80241B70 0080A02D */ daddu $s4, $a0, $zero +/* B94FB4 80241B74 AFBF0044 */ sw $ra, 0x44($sp) +/* B94FB8 80241B78 AFB3003C */ sw $s3, 0x3c($sp) +/* B94FBC 80241B7C AFB20038 */ sw $s2, 0x38($sp) +/* B94FC0 80241B80 AFB10034 */ sw $s1, 0x34($sp) +/* B94FC4 80241B84 AFB00030 */ sw $s0, 0x30($sp) +/* B94FC8 80241B88 8E910148 */ lw $s1, 0x148($s4) +/* B94FCC 80241B8C 00A0902D */ daddu $s2, $a1, $zero +/* B94FD0 80241B90 86240008 */ lh $a0, 8($s1) +/* B94FD4 80241B94 0C00EABB */ jal get_npc_unsafe +/* B94FD8 80241B98 00C0982D */ daddu $s3, $a2, $zero +/* B94FDC 80241B9C 0040802D */ daddu $s0, $v0, $zero +/* B94FE0 80241BA0 9602008E */ lhu $v0, 0x8e($s0) +/* B94FE4 80241BA4 2442FFFF */ addiu $v0, $v0, -1 +/* B94FE8 80241BA8 A602008E */ sh $v0, 0x8e($s0) +/* B94FEC 80241BAC 00021400 */ sll $v0, $v0, 0x10 +/* B94FF0 80241BB0 14400020 */ bnez $v0, .L80241C34 +/* B94FF4 80241BB4 0260202D */ daddu $a0, $s3, $zero +/* B94FF8 80241BB8 AFA00010 */ sw $zero, 0x10($sp) +/* B94FFC 80241BBC 8E46000C */ lw $a2, 0xc($s2) +/* B95000 80241BC0 8E470010 */ lw $a3, 0x10($s2) +/* B95004 80241BC4 0C01242D */ jal func_800490B4 +/* B95008 80241BC8 0220282D */ daddu $a1, $s1, $zero +/* B9500C 80241BCC 54400018 */ bnel $v0, $zero, .L80241C30 +/* B95010 80241BD0 A600008E */ sh $zero, 0x8e($s0) +/* B95014 80241BD4 24040002 */ addiu $a0, $zero, 2 +/* B95018 80241BD8 0200282D */ daddu $a1, $s0, $zero +/* B9501C 80241BDC 0000302D */ daddu $a2, $zero, $zero +/* B95020 80241BE0 860300A8 */ lh $v1, 0xa8($s0) +/* B95024 80241BE4 3C013F80 */ lui $at, 0x3f80 +/* B95028 80241BE8 44810000 */ mtc1 $at, $f0 +/* B9502C 80241BEC 3C014000 */ lui $at, 0x4000 +/* B95030 80241BF0 44811000 */ mtc1 $at, $f2 +/* B95034 80241BF4 3C01C1A0 */ lui $at, 0xc1a0 +/* B95038 80241BF8 44812000 */ mtc1 $at, $f4 +/* B9503C 80241BFC 2402000F */ addiu $v0, $zero, 0xf +/* B95040 80241C00 AFA2001C */ sw $v0, 0x1c($sp) +/* B95044 80241C04 44833000 */ mtc1 $v1, $f6 +/* B95048 80241C08 00000000 */ nop +/* B9504C 80241C0C 468031A0 */ cvt.s.w $f6, $f6 +/* B95050 80241C10 44073000 */ mfc1 $a3, $f6 +/* B95054 80241C14 27A20028 */ addiu $v0, $sp, 0x28 +/* B95058 80241C18 AFA20020 */ sw $v0, 0x20($sp) +/* B9505C 80241C1C E7A00010 */ swc1 $f0, 0x10($sp) +/* B95060 80241C20 E7A20014 */ swc1 $f2, 0x14($sp) +/* B95064 80241C24 0C01BFA4 */ jal fx_emote +/* B95068 80241C28 E7A40018 */ swc1 $f4, 0x18($sp) +/* B9506C 80241C2C A600008E */ sh $zero, 0x8e($s0) +.L80241C30: +/* B95070 80241C30 AE800070 */ sw $zero, 0x70($s4) +.L80241C34: +/* B95074 80241C34 8FBF0044 */ lw $ra, 0x44($sp) +/* B95078 80241C38 8FB40040 */ lw $s4, 0x40($sp) +/* B9507C 80241C3C 8FB3003C */ lw $s3, 0x3c($sp) +/* B95080 80241C40 8FB20038 */ lw $s2, 0x38($sp) +/* B95084 80241C44 8FB10034 */ lw $s1, 0x34($sp) +/* B95088 80241C48 8FB00030 */ lw $s0, 0x30($sp) +/* B9508C 80241C4C 03E00008 */ jr $ra +/* B95090 80241C50 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_01/func_80241C54_B93440.s b/asm/nonmatchings/world/area_mim/mim_01/func_80241C54_B93440.s new file mode 100644 index 0000000000..40da1c5f2f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_01/func_80241C54_B93440.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C54_B95094 +/* B95094 80241C54 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B95098 80241C58 AFB20038 */ sw $s2, 0x38($sp) +/* B9509C 80241C5C 0080902D */ daddu $s2, $a0, $zero +/* B950A0 80241C60 AFBF0048 */ sw $ra, 0x48($sp) +/* B950A4 80241C64 AFB50044 */ sw $s5, 0x44($sp) +/* B950A8 80241C68 AFB40040 */ sw $s4, 0x40($sp) +/* B950AC 80241C6C AFB3003C */ sw $s3, 0x3c($sp) +/* B950B0 80241C70 AFB10034 */ sw $s1, 0x34($sp) +/* B950B4 80241C74 AFB00030 */ sw $s0, 0x30($sp) +/* B950B8 80241C78 8E510148 */ lw $s1, 0x148($s2) +/* B950BC 80241C7C 86240008 */ lh $a0, 8($s1) +/* B950C0 80241C80 0C00EABB */ jal get_npc_unsafe +/* B950C4 80241C84 00A0802D */ daddu $s0, $a1, $zero +/* B950C8 80241C88 8E43000C */ lw $v1, 0xc($s2) +/* B950CC 80241C8C 0240202D */ daddu $a0, $s2, $zero +/* B950D0 80241C90 8C650000 */ lw $a1, ($v1) +/* B950D4 80241C94 0C0B1EAF */ jal get_variable +/* B950D8 80241C98 0040A82D */ daddu $s5, $v0, $zero +/* B950DC 80241C9C AFA00010 */ sw $zero, 0x10($sp) +/* B950E0 80241CA0 8E2300D0 */ lw $v1, 0xd0($s1) +/* B950E4 80241CA4 8C630030 */ lw $v1, 0x30($v1) +/* B950E8 80241CA8 AFA30014 */ sw $v1, 0x14($sp) +/* B950EC 80241CAC 8E2300D0 */ lw $v1, 0xd0($s1) +/* B950F0 80241CB0 8C63001C */ lw $v1, 0x1c($v1) +/* B950F4 80241CB4 AFA30018 */ sw $v1, 0x18($sp) +/* B950F8 80241CB8 8E2300D0 */ lw $v1, 0xd0($s1) +/* B950FC 80241CBC 8C630024 */ lw $v1, 0x24($v1) +/* B95100 80241CC0 AFA3001C */ sw $v1, 0x1c($sp) +/* B95104 80241CC4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B95108 80241CC8 8C630028 */ lw $v1, 0x28($v1) +/* B9510C 80241CCC 27B40010 */ addiu $s4, $sp, 0x10 +/* B95110 80241CD0 AFA30020 */ sw $v1, 0x20($sp) +/* B95114 80241CD4 8E2300D0 */ lw $v1, 0xd0($s1) +/* B95118 80241CD8 3C014348 */ lui $at, 0x4348 +/* B9511C 80241CDC 44810000 */ mtc1 $at, $f0 +/* B95120 80241CE0 8C63002C */ lw $v1, 0x2c($v1) +/* B95124 80241CE4 0040982D */ daddu $s3, $v0, $zero +/* B95128 80241CE8 E7A00028 */ swc1 $f0, 0x28($sp) +/* B9512C 80241CEC A7A0002C */ sh $zero, 0x2c($sp) +/* B95130 80241CF0 16000005 */ bnez $s0, .L80241D08 +/* B95134 80241CF4 AFA30024 */ sw $v1, 0x24($sp) +/* B95138 80241CF8 8E2200B0 */ lw $v0, 0xb0($s1) +/* B9513C 80241CFC 30420004 */ andi $v0, $v0, 4 +/* B95140 80241D00 10400011 */ beqz $v0, .L80241D48 +/* B95144 80241D04 00000000 */ nop +.L80241D08: +/* B95148 80241D08 AE400070 */ sw $zero, 0x70($s2) +/* B9514C 80241D0C A6A0008E */ sh $zero, 0x8e($s5) +/* B95150 80241D10 8E2200CC */ lw $v0, 0xcc($s1) +/* B95154 80241D14 8C420000 */ lw $v0, ($v0) +/* B95158 80241D18 AEA20028 */ sw $v0, 0x28($s5) +/* B9515C 80241D1C 8E2200B0 */ lw $v0, 0xb0($s1) +/* B95160 80241D20 30420004 */ andi $v0, $v0, 4 +/* B95164 80241D24 10400008 */ beqz $v0, .L80241D48 +/* B95168 80241D28 AE20006C */ sw $zero, 0x6c($s1) +/* B9516C 80241D2C 24020063 */ addiu $v0, $zero, 0x63 +/* B95170 80241D30 AE420070 */ sw $v0, 0x70($s2) +/* B95174 80241D34 AE400074 */ sw $zero, 0x74($s2) +/* B95178 80241D38 8E2200B0 */ lw $v0, 0xb0($s1) +/* B9517C 80241D3C 2403FFFB */ addiu $v1, $zero, -5 +/* B95180 80241D40 00431024 */ and $v0, $v0, $v1 +/* B95184 80241D44 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241D48: +/* B95188 80241D48 8E430070 */ lw $v1, 0x70($s2) +/* B9518C 80241D4C 2410000B */ addiu $s0, $zero, 0xb +/* B95190 80241D50 1070002A */ beq $v1, $s0, .L80241DFC +/* B95194 80241D54 2862000C */ slti $v0, $v1, 0xc +/* B95198 80241D58 1040000D */ beqz $v0, .L80241D90 +/* B9519C 80241D5C 24020001 */ addiu $v0, $zero, 1 +/* B951A0 80241D60 1062001A */ beq $v1, $v0, .L80241DCC +/* B951A4 80241D64 28620002 */ slti $v0, $v1, 2 +/* B951A8 80241D68 10400005 */ beqz $v0, .L80241D80 +/* B951AC 80241D6C 2402000A */ addiu $v0, $zero, 0xa +/* B951B0 80241D70 10600013 */ beqz $v1, .L80241DC0 +/* B951B4 80241D74 0240202D */ daddu $a0, $s2, $zero +/* B951B8 80241D78 0809079F */ j .L80241E7C +/* B951BC 80241D7C 00000000 */ nop +.L80241D80: +/* B951C0 80241D80 10620018 */ beq $v1, $v0, .L80241DE4 +/* B951C4 80241D84 0240202D */ daddu $a0, $s2, $zero +/* B951C8 80241D88 0809079F */ j .L80241E7C +/* B951CC 80241D8C 00000000 */ nop +.L80241D90: +/* B951D0 80241D90 2402000D */ addiu $v0, $zero, 0xd +/* B951D4 80241D94 10620029 */ beq $v1, $v0, .L80241E3C +/* B951D8 80241D98 0062102A */ slt $v0, $v1, $v0 +/* B951DC 80241D9C 14400020 */ bnez $v0, .L80241E20 +/* B951E0 80241DA0 0240202D */ daddu $a0, $s2, $zero +/* B951E4 80241DA4 2402000E */ addiu $v0, $zero, 0xe +/* B951E8 80241DA8 1062002D */ beq $v1, $v0, .L80241E60 +/* B951EC 80241DAC 24020063 */ addiu $v0, $zero, 0x63 +/* B951F0 80241DB0 10620030 */ beq $v1, $v0, .L80241E74 +/* B951F4 80241DB4 00000000 */ nop +/* B951F8 80241DB8 0809079F */ j .L80241E7C +/* B951FC 80241DBC 00000000 */ nop +.L80241DC0: +/* B95200 80241DC0 0260282D */ daddu $a1, $s3, $zero +/* B95204 80241DC4 0C090374 */ jal func_80240DD0 +/* B95208 80241DC8 0280302D */ daddu $a2, $s4, $zero +.L80241DCC: +/* B9520C 80241DCC 0240202D */ daddu $a0, $s2, $zero +/* B95210 80241DD0 0260282D */ daddu $a1, $s3, $zero +/* B95214 80241DD4 0C09038F */ jal func_80240E3C +/* B95218 80241DD8 0280302D */ daddu $a2, $s4, $zero +/* B9521C 80241DDC 0809079F */ j .L80241E7C +/* B95220 80241DE0 00000000 */ nop +.L80241DE4: +/* B95224 80241DE4 0260282D */ daddu $a1, $s3, $zero +/* B95228 80241DE8 0C0903CE */ jal func_80240F38 +/* B9522C 80241DEC 0280302D */ daddu $a2, $s4, $zero +/* B95230 80241DF0 8E420070 */ lw $v0, 0x70($s2) +/* B95234 80241DF4 14500021 */ bne $v0, $s0, .L80241E7C +/* B95238 80241DF8 00000000 */ nop +.L80241DFC: +/* B9523C 80241DFC 0240202D */ daddu $a0, $s2, $zero +/* B95240 80241E00 0260282D */ daddu $a1, $s3, $zero +/* B95244 80241E04 0C09065E */ jal func_80241978 +/* B95248 80241E08 0280302D */ daddu $a2, $s4, $zero +/* B9524C 80241E0C 8E430070 */ lw $v1, 0x70($s2) +/* B95250 80241E10 2402000C */ addiu $v0, $zero, 0xc +/* B95254 80241E14 14620019 */ bne $v1, $v0, .L80241E7C +/* B95258 80241E18 00000000 */ nop +/* B9525C 80241E1C 0240202D */ daddu $a0, $s2, $zero +.L80241E20: +/* B95260 80241E20 0260282D */ daddu $a1, $s3, $zero +/* B95264 80241E24 0C090682 */ jal func_80241A08 +/* B95268 80241E28 0280302D */ daddu $a2, $s4, $zero +/* B9526C 80241E2C 8E430070 */ lw $v1, 0x70($s2) +/* B95270 80241E30 2402000D */ addiu $v0, $zero, 0xd +/* B95274 80241E34 14620011 */ bne $v1, $v0, .L80241E7C +/* B95278 80241E38 00000000 */ nop +.L80241E3C: +/* B9527C 80241E3C 0240202D */ daddu $a0, $s2, $zero +/* B95280 80241E40 0260282D */ daddu $a1, $s3, $zero +/* B95284 80241E44 0C0906C2 */ jal func_80241B08 +/* B95288 80241E48 0280302D */ daddu $a2, $s4, $zero +/* B9528C 80241E4C 8E430070 */ lw $v1, 0x70($s2) +/* B95290 80241E50 2402000E */ addiu $v0, $zero, 0xe +/* B95294 80241E54 14620009 */ bne $v1, $v0, .L80241E7C +/* B95298 80241E58 00000000 */ nop +/* B9529C 80241E5C 0240202D */ daddu $a0, $s2, $zero +.L80241E60: +/* B952A0 80241E60 0260282D */ daddu $a1, $s3, $zero +/* B952A4 80241E64 0C0906DA */ jal func_80241B68 +/* B952A8 80241E68 0280302D */ daddu $a2, $s4, $zero +/* B952AC 80241E6C 0809079F */ j .L80241E7C +/* B952B0 80241E70 00000000 */ nop +.L80241E74: +/* B952B4 80241E74 0C0129CF */ jal func_8004A73C +/* B952B8 80241E78 0240202D */ daddu $a0, $s2, $zero +.L80241E7C: +/* B952BC 80241E7C 8FBF0048 */ lw $ra, 0x48($sp) +/* B952C0 80241E80 8FB50044 */ lw $s5, 0x44($sp) +/* B952C4 80241E84 8FB40040 */ lw $s4, 0x40($sp) +/* B952C8 80241E88 8FB3003C */ lw $s3, 0x3c($sp) +/* B952CC 80241E8C 8FB20038 */ lw $s2, 0x38($sp) +/* B952D0 80241E90 8FB10034 */ lw $s1, 0x34($sp) +/* B952D4 80241E94 8FB00030 */ lw $s0, 0x30($sp) +/* B952D8 80241E98 0000102D */ daddu $v0, $zero, $zero +/* B952DC 80241E9C 03E00008 */ jr $ra +/* B952E0 80241EA0 27BD0050 */ addiu $sp, $sp, 0x50 +/* B952E4 80241EA4 00000000 */ nop +/* B952E8 80241EA8 00000000 */ nop +/* B952EC 80241EAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240000_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240000_B97C00.s new file mode 100644 index 0000000000..257e3ecc23 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240000_B97C00.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B97C00 +/* B97C00 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B97C04 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B97C08 80240008 0C046ED4 */ jal enable_world_fog +/* B97C0C 8024000C 00000000 */ nop +/* B97C10 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* B97C14 80240014 0C046EDD */ jal set_world_fog_dist +/* B97C18 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B97C1C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B97C20 80240020 0080282D */ daddu $a1, $a0, $zero +/* B97C24 80240024 0080302D */ daddu $a2, $a0, $zero +/* B97C28 80240028 0C046EE2 */ jal set_world_fog_color +/* B97C2C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* B97C30 80240030 0C048BFB */ jal enable_entity_fog +/* B97C34 80240034 00000000 */ nop +/* B97C38 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* B97C3C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* B97C40 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B97C44 80240044 0000202D */ daddu $a0, $zero, $zero +/* B97C48 80240048 0080282D */ daddu $a1, $a0, $zero +/* B97C4C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* B97C50 80240050 0C048C0A */ jal set_entity_fog_color +/* B97C54 80240054 240700FF */ addiu $a3, $zero, 0xff +/* B97C58 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* B97C5C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* B97C60 80240060 03E00008 */ jr $ra +/* B97C64 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* B97C68 80240068 00000000 */ nop +/* B97C6C 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240070_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240070_B97C00.s new file mode 100644 index 0000000000..ef574944bc --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240070_B97C00.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_B97C70 +/* B97C70 80240070 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B97C74 80240074 AFB00030 */ sw $s0, 0x30($sp) +/* B97C78 80240078 0080802D */ daddu $s0, $a0, $zero +/* B97C7C 8024007C AFBF0040 */ sw $ra, 0x40($sp) +/* B97C80 80240080 AFB3003C */ sw $s3, 0x3c($sp) +/* B97C84 80240084 AFB20038 */ sw $s2, 0x38($sp) +/* B97C88 80240088 AFB10034 */ sw $s1, 0x34($sp) +/* B97C8C 8024008C F7B60050 */ sdc1 $f22, 0x50($sp) +/* B97C90 80240090 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B97C94 80240094 8E130148 */ lw $s3, 0x148($s0) +/* B97C98 80240098 00A0882D */ daddu $s1, $a1, $zero +/* B97C9C 8024009C 86640008 */ lh $a0, 8($s3) +/* B97CA0 802400A0 0C00EABB */ jal get_npc_unsafe +/* B97CA4 802400A4 00C0902D */ daddu $s2, $a2, $zero +/* B97CA8 802400A8 0200202D */ daddu $a0, $s0, $zero +/* B97CAC 802400AC 0220282D */ daddu $a1, $s1, $zero +/* B97CB0 802400B0 0240302D */ daddu $a2, $s2, $zero +/* B97CB4 802400B4 0C012568 */ jal func_800495A0 +/* B97CB8 802400B8 0040802D */ daddu $s0, $v0, $zero +/* B97CBC 802400BC 8E020000 */ lw $v0, ($s0) +/* B97CC0 802400C0 2404002D */ addiu $a0, $zero, 0x2d +/* B97CC4 802400C4 34420800 */ ori $v0, $v0, 0x800 +/* B97CC8 802400C8 0C00A67F */ jal rand_int +/* B97CCC 802400CC AE020000 */ sw $v0, ($s0) +/* B97CD0 802400D0 0200202D */ daddu $a0, $s0, $zero +/* B97CD4 802400D4 3C05B000 */ lui $a1, 0xb000 +/* B97CD8 802400D8 34A50017 */ ori $a1, $a1, 0x17 +/* B97CDC 802400DC 44820000 */ mtc1 $v0, $f0 +/* B97CE0 802400E0 00000000 */ nop +/* B97CE4 802400E4 46800021 */ cvt.d.w $f0, $f0 +/* B97CE8 802400E8 3C014024 */ lui $at, 0x4024 +/* B97CEC 802400EC 44811800 */ mtc1 $at, $f3 +/* B97CF0 802400F0 44801000 */ mtc1 $zero, $f2 +/* B97CF4 802400F4 3C014020 */ lui $at, 0x4020 +/* B97CF8 802400F8 44812800 */ mtc1 $at, $f5 +/* B97CFC 802400FC 44802000 */ mtc1 $zero, $f4 +/* B97D00 80240100 46220003 */ div.d $f0, $f0, $f2 +/* B97D04 80240104 46240000 */ add.d $f0, $f0, $f4 +/* B97D08 80240108 3C013FC0 */ lui $at, 0x3fc0 +/* B97D0C 8024010C 44811000 */ mtc1 $at, $f2 +/* B97D10 80240110 0000302D */ daddu $a2, $zero, $zero +/* B97D14 80240114 E6020014 */ swc1 $f2, 0x14($s0) +/* B97D18 80240118 46200020 */ cvt.s.d $f0, $f0 +/* B97D1C 8024011C 0C012530 */ jal func_800494C0 +/* B97D20 80240120 E600001C */ swc1 $f0, 0x1c($s0) +/* B97D24 80240124 8E6300D0 */ lw $v1, 0xd0($s3) +/* B97D28 80240128 C6000040 */ lwc1 $f0, 0x40($s0) +/* B97D2C 8024012C C4620000 */ lwc1 $f2, ($v1) +/* B97D30 80240130 468010A0 */ cvt.s.w $f2, $f2 +/* B97D34 80240134 C4640008 */ lwc1 $f4, 8($v1) +/* B97D38 80240138 46802120 */ cvt.s.w $f4, $f4 +/* B97D3C 8024013C E7A00010 */ swc1 $f0, 0x10($sp) +/* B97D40 80240140 8E6200D0 */ lw $v0, 0xd0($s3) +/* B97D44 80240144 44051000 */ mfc1 $a1, $f2 +/* B97D48 80240148 C440000C */ lwc1 $f0, 0xc($v0) +/* B97D4C 8024014C 46800020 */ cvt.s.w $f0, $f0 +/* B97D50 80240150 E7A00014 */ swc1 $f0, 0x14($sp) +/* B97D54 80240154 8E6200D0 */ lw $v0, 0xd0($s3) +/* B97D58 80240158 44062000 */ mfc1 $a2, $f4 +/* B97D5C 8024015C C4400010 */ lwc1 $f0, 0x10($v0) +/* B97D60 80240160 46800020 */ cvt.s.w $f0, $f0 +/* B97D64 80240164 E7A00018 */ swc1 $f0, 0x18($sp) +/* B97D68 80240168 8C640018 */ lw $a0, 0x18($v1) +/* B97D6C 8024016C 0C0123F5 */ jal is_point_within_region +/* B97D70 80240170 8E070038 */ lw $a3, 0x38($s0) +/* B97D74 80240174 10400035 */ beqz $v0, .L8024024C +/* B97D78 80240178 00000000 */ nop +/* B97D7C 8024017C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B97D80 80240180 3C0141C8 */ lui $at, 0x41c8 +/* B97D84 80240184 4481B000 */ mtc1 $at, $f22 +/* B97D88 80240188 8E6200D0 */ lw $v0, 0xd0($s3) +/* B97D8C 8024018C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B97D90 80240190 C4480000 */ lwc1 $f8, ($v0) +/* B97D94 80240194 46804220 */ cvt.s.w $f8, $f8 +/* B97D98 80240198 44064000 */ mfc1 $a2, $f8 +/* B97D9C 8024019C C4480008 */ lwc1 $f8, 8($v0) +/* B97DA0 802401A0 46804220 */ cvt.s.w $f8, $f8 +/* B97DA4 802401A4 44074000 */ mfc1 $a3, $f8 +/* B97DA8 802401A8 3C01403E */ lui $at, 0x403e +/* B97DAC 802401AC 4481A800 */ mtc1 $at, $f21 +/* B97DB0 802401B0 4480A000 */ mtc1 $zero, $f20 +/* B97DB4 802401B4 0C00A720 */ jal atan2 +/* B97DB8 802401B8 0000882D */ daddu $s1, $zero, $zero +/* B97DBC 802401BC C6020038 */ lwc1 $f2, 0x38($s0) +/* B97DC0 802401C0 C604003C */ lwc1 $f4, 0x3c($s0) +/* B97DC4 802401C4 C6060040 */ lwc1 $f6, 0x40($s0) +/* B97DC8 802401C8 E600000C */ swc1 $f0, 0xc($s0) +/* B97DCC 802401CC E7A20020 */ swc1 $f2, 0x20($sp) +/* B97DD0 802401D0 E7A40024 */ swc1 $f4, 0x24($sp) +/* B97DD4 802401D4 E7A60028 */ swc1 $f6, 0x28($sp) +.L802401D8: +/* B97DD8 802401D8 E7B60010 */ swc1 $f22, 0x10($sp) +/* B97DDC 802401DC C600000C */ lwc1 $f0, 0xc($s0) +/* B97DE0 802401E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B97DE4 802401E4 860200A8 */ lh $v0, 0xa8($s0) +/* B97DE8 802401E8 27A50020 */ addiu $a1, $sp, 0x20 +/* B97DEC 802401EC 44820000 */ mtc1 $v0, $f0 +/* B97DF0 802401F0 00000000 */ nop +/* B97DF4 802401F4 46800020 */ cvt.s.w $f0, $f0 +/* B97DF8 802401F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* B97DFC 802401FC 860200A6 */ lh $v0, 0xa6($s0) +/* B97E00 80240200 27A60024 */ addiu $a2, $sp, 0x24 +/* B97E04 80240204 44820000 */ mtc1 $v0, $f0 +/* B97E08 80240208 00000000 */ nop +/* B97E0C 8024020C 46800020 */ cvt.s.w $f0, $f0 +/* B97E10 80240210 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B97E14 80240214 8E040080 */ lw $a0, 0x80($s0) +/* B97E18 80240218 0C037711 */ jal func_800DDC44 +/* B97E1C 8024021C 27A70028 */ addiu $a3, $sp, 0x28 +/* B97E20 80240220 10400016 */ beqz $v0, .L8024027C +/* B97E24 80240224 26310001 */ addiu $s1, $s1, 1 +/* B97E28 80240228 C600000C */ lwc1 $f0, 0xc($s0) +/* B97E2C 8024022C 46000021 */ cvt.d.s $f0, $f0 +/* B97E30 80240230 46340000 */ add.d $f0, $f0, $f20 +/* B97E34 80240234 2A220006 */ slti $v0, $s1, 6 +/* B97E38 80240238 46200020 */ cvt.s.d $f0, $f0 +/* B97E3C 8024023C 1440FFE6 */ bnez $v0, .L802401D8 +/* B97E40 80240240 E600000C */ swc1 $f0, 0xc($s0) +/* B97E44 80240244 0809009F */ j .L8024027C +/* B97E48 80240248 00000000 */ nop +.L8024024C: +/* B97E4C 8024024C 0C00A67F */ jal rand_int +/* B97E50 80240250 2404003C */ addiu $a0, $zero, 0x3c +/* B97E54 80240254 C60C000C */ lwc1 $f12, 0xc($s0) +/* B97E58 80240258 44820000 */ mtc1 $v0, $f0 +/* B97E5C 8024025C 00000000 */ nop +/* B97E60 80240260 46800020 */ cvt.s.w $f0, $f0 +/* B97E64 80240264 46006300 */ add.s $f12, $f12, $f0 +/* B97E68 80240268 3C0141F0 */ lui $at, 0x41f0 +/* B97E6C 8024026C 44810000 */ mtc1 $at, $f0 +/* B97E70 80240270 0C00A6C9 */ jal clamp_angle +/* B97E74 80240274 46006301 */ sub.s $f12, $f12, $f0 +/* B97E78 80240278 E600000C */ swc1 $f0, 0xc($s0) +.L8024027C: +/* B97E7C 8024027C 8FBF0040 */ lw $ra, 0x40($sp) +/* B97E80 80240280 8FB3003C */ lw $s3, 0x3c($sp) +/* B97E84 80240284 8FB20038 */ lw $s2, 0x38($sp) +/* B97E88 80240288 8FB10034 */ lw $s1, 0x34($sp) +/* B97E8C 8024028C 8FB00030 */ lw $s0, 0x30($sp) +/* B97E90 80240290 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B97E94 80240294 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B97E98 80240298 03E00008 */ jr $ra +/* B97E9C 8024029C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_802402A0_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_802402A0_B97C00.s new file mode 100644 index 0000000000..550bfb380b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_802402A0_B97C00.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402A0_B97EA0 +/* B97EA0 802402A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B97EA4 802402A4 AFB3004C */ sw $s3, 0x4c($sp) +/* B97EA8 802402A8 0080982D */ daddu $s3, $a0, $zero +/* B97EAC 802402AC AFBF0054 */ sw $ra, 0x54($sp) +/* B97EB0 802402B0 AFB40050 */ sw $s4, 0x50($sp) +/* B97EB4 802402B4 AFB20048 */ sw $s2, 0x48($sp) +/* B97EB8 802402B8 AFB10044 */ sw $s1, 0x44($sp) +/* B97EBC 802402BC AFB00040 */ sw $s0, 0x40($sp) +/* B97EC0 802402C0 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B97EC4 802402C4 8E710148 */ lw $s1, 0x148($s3) +/* B97EC8 802402C8 00A0A02D */ daddu $s4, $a1, $zero +/* B97ECC 802402CC 86240008 */ lh $a0, 8($s1) +/* B97ED0 802402D0 0C00EABB */ jal get_npc_unsafe +/* B97ED4 802402D4 00C0902D */ daddu $s2, $a2, $zero +/* B97ED8 802402D8 8E830014 */ lw $v1, 0x14($s4) +/* B97EDC 802402DC 04600034 */ bltz $v1, .L802403B0 +/* B97EE0 802402E0 0040802D */ daddu $s0, $v0, $zero +/* B97EE4 802402E4 8E620074 */ lw $v0, 0x74($s3) +/* B97EE8 802402E8 1C400030 */ bgtz $v0, .L802403AC +/* B97EEC 802402EC 2442FFFF */ addiu $v0, $v0, -1 +/* B97EF0 802402F0 0240202D */ daddu $a0, $s2, $zero +/* B97EF4 802402F4 AE630074 */ sw $v1, 0x74($s3) +/* B97EF8 802402F8 AFA00010 */ sw $zero, 0x10($sp) +/* B97EFC 802402FC 8E86000C */ lw $a2, 0xc($s4) +/* B97F00 80240300 8E870010 */ lw $a3, 0x10($s4) +/* B97F04 80240304 0C01242D */ jal func_800490B4 +/* B97F08 80240308 0220282D */ daddu $a1, $s1, $zero +/* B97F0C 8024030C 10400025 */ beqz $v0, .L802403A4 +/* B97F10 80240310 0000202D */ daddu $a0, $zero, $zero +/* B97F14 80240314 0200282D */ daddu $a1, $s0, $zero +/* B97F18 80240318 0000302D */ daddu $a2, $zero, $zero +/* B97F1C 8024031C 860300A8 */ lh $v1, 0xa8($s0) +/* B97F20 80240320 3C013F80 */ lui $at, 0x3f80 +/* B97F24 80240324 44810000 */ mtc1 $at, $f0 +/* B97F28 80240328 3C014000 */ lui $at, 0x4000 +/* B97F2C 8024032C 44811000 */ mtc1 $at, $f2 +/* B97F30 80240330 3C01C1A0 */ lui $at, 0xc1a0 +/* B97F34 80240334 44812000 */ mtc1 $at, $f4 +/* B97F38 80240338 2402000F */ addiu $v0, $zero, 0xf +/* B97F3C 8024033C AFA2001C */ sw $v0, 0x1c($sp) +/* B97F40 80240340 44835000 */ mtc1 $v1, $f10 +/* B97F44 80240344 00000000 */ nop +/* B97F48 80240348 468052A0 */ cvt.s.w $f10, $f10 +/* B97F4C 8024034C 44075000 */ mfc1 $a3, $f10 +/* B97F50 80240350 27A20028 */ addiu $v0, $sp, 0x28 +/* B97F54 80240354 AFA20020 */ sw $v0, 0x20($sp) +/* B97F58 80240358 E7A00010 */ swc1 $f0, 0x10($sp) +/* B97F5C 8024035C E7A20014 */ swc1 $f2, 0x14($sp) +/* B97F60 80240360 0C01BFA4 */ jal fx_emote +/* B97F64 80240364 E7A40018 */ swc1 $f4, 0x18($sp) +/* B97F68 80240368 0200202D */ daddu $a0, $s0, $zero +/* B97F6C 8024036C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B97F70 80240370 0C012530 */ jal func_800494C0 +/* B97F74 80240374 3C060020 */ lui $a2, 0x20 +/* B97F78 80240378 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B97F7C 8024037C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B97F80 80240380 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B97F84 80240384 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B97F88 80240388 8C460028 */ lw $a2, 0x28($v0) +/* B97F8C 8024038C 0C00A720 */ jal atan2 +/* B97F90 80240390 8C470030 */ lw $a3, 0x30($v0) +/* B97F94 80240394 2402000C */ addiu $v0, $zero, 0xc +/* B97F98 80240398 E600000C */ swc1 $f0, 0xc($s0) +/* B97F9C 8024039C 0809016D */ j .L802405B4 +/* B97FA0 802403A0 AE620070 */ sw $v0, 0x70($s3) +.L802403A4: +/* B97FA4 802403A4 8E620074 */ lw $v0, 0x74($s3) +/* B97FA8 802403A8 2442FFFF */ addiu $v0, $v0, -1 +.L802403AC: +/* B97FAC 802403AC AE620074 */ sw $v0, 0x74($s3) +.L802403B0: +/* B97FB0 802403B0 C6000018 */ lwc1 $f0, 0x18($s0) +/* B97FB4 802403B4 44801000 */ mtc1 $zero, $f2 +/* B97FB8 802403B8 44801800 */ mtc1 $zero, $f3 +/* B97FBC 802403BC 46000021 */ cvt.d.s $f0, $f0 +/* B97FC0 802403C0 4620103C */ c.lt.d $f2, $f0 +/* B97FC4 802403C4 00000000 */ nop +/* B97FC8 802403C8 45000025 */ bc1f .L80240460 +/* B97FCC 802403CC 27A5002C */ addiu $a1, $sp, 0x2c +/* B97FD0 802403D0 C6000038 */ lwc1 $f0, 0x38($s0) +/* B97FD4 802403D4 860200A6 */ lh $v0, 0xa6($s0) +/* B97FD8 802403D8 3C018024 */ lui $at, 0x8024 +/* B97FDC 802403DC D4223830 */ ldc1 $f2, 0x3830($at) +/* B97FE0 802403E0 27A60030 */ addiu $a2, $sp, 0x30 +/* B97FE4 802403E4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B97FE8 802403E8 44820000 */ mtc1 $v0, $f0 +/* B97FEC 802403EC 00000000 */ nop +/* B97FF0 802403F0 46800020 */ cvt.s.w $f0, $f0 +/* B97FF4 802403F4 46000021 */ cvt.d.s $f0, $f0 +/* B97FF8 802403F8 C604003C */ lwc1 $f4, 0x3c($s0) +/* B97FFC 802403FC C6060040 */ lwc1 $f6, 0x40($s0) +/* B98000 80240400 C6080018 */ lwc1 $f8, 0x18($s0) +/* B98004 80240404 860200A8 */ lh $v0, 0xa8($s0) +/* B98008 80240408 46220002 */ mul.d $f0, $f0, $f2 +/* B9800C 8024040C 00000000 */ nop +/* B98010 80240410 E7A40030 */ swc1 $f4, 0x30($sp) +/* B98014 80240414 E7A60034 */ swc1 $f6, 0x34($sp) +/* B98018 80240418 E7A80010 */ swc1 $f8, 0x10($sp) +/* B9801C 8024041C C604000C */ lwc1 $f4, 0xc($s0) +/* B98020 80240420 44821000 */ mtc1 $v0, $f2 +/* B98024 80240424 00000000 */ nop +/* B98028 80240428 468010A0 */ cvt.s.w $f2, $f2 +/* B9802C 8024042C E7A20018 */ swc1 $f2, 0x18($sp) +/* B98030 80240430 E7A40014 */ swc1 $f4, 0x14($sp) +/* B98034 80240434 46200020 */ cvt.s.d $f0, $f0 +/* B98038 80240438 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B9803C 8024043C 8E040080 */ lw $a0, 0x80($s0) +/* B98040 80240440 0C037711 */ jal func_800DDC44 +/* B98044 80240444 27A70034 */ addiu $a3, $sp, 0x34 +/* B98048 80240448 54400005 */ bnel $v0, $zero, .L80240460 +/* B9804C 8024044C AE000018 */ sw $zero, 0x18($s0) +/* B98050 80240450 8E050018 */ lw $a1, 0x18($s0) +/* B98054 80240454 8E06000C */ lw $a2, 0xc($s0) +/* B98058 80240458 0C00EA95 */ jal npc_move_heading +/* B9805C 8024045C 0200202D */ daddu $a0, $s0, $zero +.L80240460: +/* B98060 80240460 C600001C */ lwc1 $f0, 0x1c($s0) +/* B98064 80240464 44801000 */ mtc1 $zero, $f2 +/* B98068 80240468 44801800 */ mtc1 $zero, $f3 +/* B9806C 8024046C 46000021 */ cvt.d.s $f0, $f0 +/* B98070 80240470 4622003C */ c.lt.d $f0, $f2 +/* B98074 80240474 00000000 */ nop +/* B98078 80240478 45000047 */ bc1f .L80240598 +/* B9807C 8024047C 27A5002C */ addiu $a1, $sp, 0x2c +/* B98080 80240480 27A60030 */ addiu $a2, $sp, 0x30 +/* B98084 80240484 27A20038 */ addiu $v0, $sp, 0x38 +/* B98088 80240488 C602003C */ lwc1 $f2, 0x3c($s0) +/* B9808C 8024048C C6060038 */ lwc1 $f6, 0x38($s0) +/* B98090 80240490 3C01402A */ lui $at, 0x402a +/* B98094 80240494 4481A800 */ mtc1 $at, $f21 +/* B98098 80240498 4480A000 */ mtc1 $zero, $f20 +/* B9809C 8024049C 460010A1 */ cvt.d.s $f2, $f2 +/* B980A0 802404A0 46341080 */ add.d $f2, $f2, $f20 +/* B980A4 802404A4 C600001C */ lwc1 $f0, 0x1c($s0) +/* B980A8 802404A8 C6040040 */ lwc1 $f4, 0x40($s0) +/* B980AC 802404AC 46000005 */ abs.s $f0, $f0 +/* B980B0 802404B0 E7A40034 */ swc1 $f4, 0x34($sp) +/* B980B4 802404B4 3C014030 */ lui $at, 0x4030 +/* B980B8 802404B8 44812800 */ mtc1 $at, $f5 +/* B980BC 802404BC 44802000 */ mtc1 $zero, $f4 +/* B980C0 802404C0 46000021 */ cvt.d.s $f0, $f0 +/* B980C4 802404C4 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B980C8 802404C8 46240000 */ add.d $f0, $f0, $f4 +/* B980CC 802404CC 462010A0 */ cvt.s.d $f2, $f2 +/* B980D0 802404D0 E7A20030 */ swc1 $f2, 0x30($sp) +/* B980D4 802404D4 46200020 */ cvt.s.d $f0, $f0 +/* B980D8 802404D8 E7A00038 */ swc1 $f0, 0x38($sp) +/* B980DC 802404DC AFA20010 */ sw $v0, 0x10($sp) +/* B980E0 802404E0 8E040080 */ lw $a0, 0x80($s0) +/* B980E4 802404E4 0C0372DF */ jal func_800DCB7C +/* B980E8 802404E8 27A70034 */ addiu $a3, $sp, 0x34 +/* B980EC 802404EC 1040002A */ beqz $v0, .L80240598 +/* B980F0 802404F0 00000000 */ nop +/* B980F4 802404F4 C600001C */ lwc1 $f0, 0x1c($s0) +/* B980F8 802404F8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B980FC 802404FC 46000005 */ abs.s $f0, $f0 +/* B98100 80240500 46000021 */ cvt.d.s $f0, $f0 +/* B98104 80240504 46340000 */ add.d $f0, $f0, $f20 +/* B98108 80240508 460010A1 */ cvt.d.s $f2, $f2 +/* B9810C 8024050C 4620103E */ c.le.d $f2, $f0 +/* B98110 80240510 00000000 */ nop +/* B98114 80240514 45000020 */ bc1f .L80240598 +/* B98118 80240518 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B9811C 8024051C C7A00030 */ lwc1 $f0, 0x30($sp) +/* B98120 80240520 8E020000 */ lw $v0, ($s0) +/* B98124 80240524 2403F7FF */ addiu $v1, $zero, -0x801 +/* B98128 80240528 AE00001C */ sw $zero, 0x1c($s0) +/* B9812C 8024052C 00431024 */ and $v0, $v0, $v1 +/* B98130 80240530 AE020000 */ sw $v0, ($s0) +/* B98134 80240534 24020002 */ addiu $v0, $zero, 2 +/* B98138 80240538 E600003C */ swc1 $f0, 0x3c($s0) +/* B9813C 8024053C 0C00A67F */ jal rand_int +/* B98140 80240540 AE620070 */ sw $v0, 0x70($s3) +/* B98144 80240544 3C035555 */ lui $v1, 0x5555 +/* B98148 80240548 34635556 */ ori $v1, $v1, 0x5556 +/* B9814C 8024054C 00430018 */ mult $v0, $v1 +/* B98150 80240550 000227C3 */ sra $a0, $v0, 0x1f +/* B98154 80240554 00004010 */ mfhi $t0 +/* B98158 80240558 01042023 */ subu $a0, $t0, $a0 +/* B9815C 8024055C 00041840 */ sll $v1, $a0, 1 +/* B98160 80240560 00641821 */ addu $v1, $v1, $a0 +/* B98164 80240564 00431023 */ subu $v0, $v0, $v1 +/* B98168 80240568 24430002 */ addiu $v1, $v0, 2 +/* B9816C 8024056C AE630074 */ sw $v1, 0x74($s3) +/* B98170 80240570 8E82002C */ lw $v0, 0x2c($s4) +/* B98174 80240574 5840000F */ blezl $v0, .L802405B4 +/* B98178 80240578 AE600070 */ sw $zero, 0x70($s3) +/* B9817C 8024057C 8E820004 */ lw $v0, 4($s4) +/* B98180 80240580 5840000C */ blezl $v0, .L802405B4 +/* B98184 80240584 AE600070 */ sw $zero, 0x70($s3) +/* B98188 80240588 1460000A */ bnez $v1, .L802405B4 +/* B9818C 8024058C 00000000 */ nop +/* B98190 80240590 0809016D */ j .L802405B4 +/* B98194 80240594 AE600070 */ sw $zero, 0x70($s3) +.L80240598: +/* B98198 80240598 C604003C */ lwc1 $f4, 0x3c($s0) +/* B9819C 8024059C C600001C */ lwc1 $f0, 0x1c($s0) +/* B981A0 802405A0 46002100 */ add.s $f4, $f4, $f0 +/* B981A4 802405A4 C6020014 */ lwc1 $f2, 0x14($s0) +/* B981A8 802405A8 46020001 */ sub.s $f0, $f0, $f2 +/* B981AC 802405AC E604003C */ swc1 $f4, 0x3c($s0) +/* B981B0 802405B0 E600001C */ swc1 $f0, 0x1c($s0) +.L802405B4: +/* B981B4 802405B4 8FBF0054 */ lw $ra, 0x54($sp) +/* B981B8 802405B8 8FB40050 */ lw $s4, 0x50($sp) +/* B981BC 802405BC 8FB3004C */ lw $s3, 0x4c($sp) +/* B981C0 802405C0 8FB20048 */ lw $s2, 0x48($sp) +/* B981C4 802405C4 8FB10044 */ lw $s1, 0x44($sp) +/* B981C8 802405C8 8FB00040 */ lw $s0, 0x40($sp) +/* B981CC 802405CC D7B40058 */ ldc1 $f20, 0x58($sp) +/* B981D0 802405D0 03E00008 */ jr $ra +/* B981D4 802405D4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_802405D8_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_802405D8_B97C00.s new file mode 100644 index 0000000000..93abcaad68 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_802405D8_B97C00.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D8_B981D8 +/* B981D8 802405D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B981DC 802405DC AFB3001C */ sw $s3, 0x1c($sp) +/* B981E0 802405E0 0080982D */ daddu $s3, $a0, $zero +/* B981E4 802405E4 AFBF0020 */ sw $ra, 0x20($sp) +/* B981E8 802405E8 AFB20018 */ sw $s2, 0x18($sp) +/* B981EC 802405EC AFB10014 */ sw $s1, 0x14($sp) +/* B981F0 802405F0 AFB00010 */ sw $s0, 0x10($sp) +/* B981F4 802405F4 8E720148 */ lw $s2, 0x148($s3) +/* B981F8 802405F8 86440008 */ lh $a0, 8($s2) +/* B981FC 802405FC 0C00EABB */ jal get_npc_unsafe +/* B98200 80240600 00A0882D */ daddu $s1, $a1, $zero +/* B98204 80240604 8E240008 */ lw $a0, 8($s1) +/* B98208 80240608 0040802D */ daddu $s0, $v0, $zero +/* B9820C 8024060C 00041FC2 */ srl $v1, $a0, 0x1f +/* B98210 80240610 00832021 */ addu $a0, $a0, $v1 +/* B98214 80240614 00042043 */ sra $a0, $a0, 1 +/* B98218 80240618 0C00A67F */ jal rand_int +/* B9821C 8024061C 24840001 */ addiu $a0, $a0, 1 +/* B98220 80240620 8E230008 */ lw $v1, 8($s1) +/* B98224 80240624 240400B4 */ addiu $a0, $zero, 0xb4 +/* B98228 80240628 00032FC2 */ srl $a1, $v1, 0x1f +/* B9822C 8024062C 00651821 */ addu $v1, $v1, $a1 +/* B98230 80240630 00031843 */ sra $v1, $v1, 1 +/* B98234 80240634 00621821 */ addu $v1, $v1, $v0 +/* B98238 80240638 0C00A67F */ jal rand_int +/* B9823C 8024063C A603008E */ sh $v1, 0x8e($s0) +/* B98240 80240640 C60C000C */ lwc1 $f12, 0xc($s0) +/* B98244 80240644 44820000 */ mtc1 $v0, $f0 +/* B98248 80240648 00000000 */ nop +/* B9824C 8024064C 46800020 */ cvt.s.w $f0, $f0 +/* B98250 80240650 46006300 */ add.s $f12, $f12, $f0 +/* B98254 80240654 3C0142B4 */ lui $at, 0x42b4 +/* B98258 80240658 44810000 */ mtc1 $at, $f0 +/* B9825C 8024065C 0C00A6C9 */ jal clamp_angle +/* B98260 80240660 46006301 */ sub.s $f12, $f12, $f0 +/* B98264 80240664 E600000C */ swc1 $f0, 0xc($s0) +/* B98268 80240668 8E4200CC */ lw $v0, 0xcc($s2) +/* B9826C 8024066C 8C420000 */ lw $v0, ($v0) +/* B98270 80240670 AE020028 */ sw $v0, 0x28($s0) +/* B98274 80240674 24020003 */ addiu $v0, $zero, 3 +/* B98278 80240678 AE620070 */ sw $v0, 0x70($s3) +/* B9827C 8024067C 8FBF0020 */ lw $ra, 0x20($sp) +/* B98280 80240680 8FB3001C */ lw $s3, 0x1c($sp) +/* B98284 80240684 8FB20018 */ lw $s2, 0x18($sp) +/* B98288 80240688 8FB10014 */ lw $s1, 0x14($sp) +/* B9828C 8024068C 8FB00010 */ lw $s0, 0x10($sp) +/* B98290 80240690 03E00008 */ jr $ra +/* B98294 80240694 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240698.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240698.s new file mode 100644 index 0000000000..e93d624723 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240698.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240698 +/* B98298 80240698 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B9829C 8024069C AFB40040 */ sw $s4, 0x40($sp) +/* B982A0 802406A0 0080A02D */ daddu $s4, $a0, $zero +/* B982A4 802406A4 AFBF0044 */ sw $ra, 0x44($sp) +/* B982A8 802406A8 AFB3003C */ sw $s3, 0x3c($sp) +/* B982AC 802406AC AFB20038 */ sw $s2, 0x38($sp) +/* B982B0 802406B0 AFB10034 */ sw $s1, 0x34($sp) +/* B982B4 802406B4 AFB00030 */ sw $s0, 0x30($sp) +/* B982B8 802406B8 8E920148 */ lw $s2, 0x148($s4) +/* B982BC 802406BC 00A0882D */ daddu $s1, $a1, $zero +/* B982C0 802406C0 86440008 */ lh $a0, 8($s2) +/* B982C4 802406C4 0C00EABB */ jal get_npc_unsafe +/* B982C8 802406C8 00C0982D */ daddu $s3, $a2, $zero +/* B982CC 802406CC 8E230014 */ lw $v1, 0x14($s1) +/* B982D0 802406D0 0460002D */ bltz $v1, .L80240788 +/* B982D4 802406D4 0040802D */ daddu $s0, $v0, $zero +/* B982D8 802406D8 0260202D */ daddu $a0, $s3, $zero +/* B982DC 802406DC AFA00010 */ sw $zero, 0x10($sp) +/* B982E0 802406E0 8E260024 */ lw $a2, 0x24($s1) +/* B982E4 802406E4 8E270028 */ lw $a3, 0x28($s1) +/* B982E8 802406E8 0C01242D */ jal func_800490B4 +/* B982EC 802406EC 0240282D */ daddu $a1, $s2, $zero +/* B982F0 802406F0 10400025 */ beqz $v0, .L80240788 +/* B982F4 802406F4 0000202D */ daddu $a0, $zero, $zero +/* B982F8 802406F8 0200282D */ daddu $a1, $s0, $zero +/* B982FC 802406FC 0000302D */ daddu $a2, $zero, $zero +/* B98300 80240700 860300A8 */ lh $v1, 0xa8($s0) +/* B98304 80240704 3C013F80 */ lui $at, 0x3f80 +/* B98308 80240708 44810000 */ mtc1 $at, $f0 +/* B9830C 8024070C 3C014000 */ lui $at, 0x4000 +/* B98310 80240710 44811000 */ mtc1 $at, $f2 +/* B98314 80240714 3C01C1A0 */ lui $at, 0xc1a0 +/* B98318 80240718 44812000 */ mtc1 $at, $f4 +/* B9831C 8024071C 2402000F */ addiu $v0, $zero, 0xf +/* B98320 80240720 AFA2001C */ sw $v0, 0x1c($sp) +/* B98324 80240724 44833000 */ mtc1 $v1, $f6 +/* B98328 80240728 00000000 */ nop +/* B9832C 8024072C 468031A0 */ cvt.s.w $f6, $f6 +/* B98330 80240730 44073000 */ mfc1 $a3, $f6 +/* B98334 80240734 27A20028 */ addiu $v0, $sp, 0x28 +/* B98338 80240738 AFA20020 */ sw $v0, 0x20($sp) +/* B9833C 8024073C E7A00010 */ swc1 $f0, 0x10($sp) +/* B98340 80240740 E7A20014 */ swc1 $f2, 0x14($sp) +/* B98344 80240744 0C01BFA4 */ jal fx_emote +/* B98348 80240748 E7A40018 */ swc1 $f4, 0x18($sp) +/* B9834C 8024074C 0200202D */ daddu $a0, $s0, $zero +/* B98350 80240750 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B98354 80240754 0C012530 */ jal func_800494C0 +/* B98358 80240758 3C060020 */ lui $a2, 0x20 +/* B9835C 8024075C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B98360 80240760 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B98364 80240764 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B98368 80240768 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B9836C 8024076C 8C460028 */ lw $a2, 0x28($v0) +/* B98370 80240770 0C00A720 */ jal atan2 +/* B98374 80240774 8C470030 */ lw $a3, 0x30($v0) +/* B98378 80240778 2402000C */ addiu $v0, $zero, 0xc +/* B9837C 8024077C E600000C */ swc1 $f0, 0xc($s0) +/* B98380 80240780 08090207 */ j .L8024081C +/* B98384 80240784 AE820070 */ sw $v0, 0x70($s4) +.L80240788: +/* B98388 80240788 8602008C */ lh $v0, 0x8c($s0) +/* B9838C 8024078C 14400023 */ bnez $v0, .L8024081C +/* B98390 80240790 00000000 */ nop +/* B98394 80240794 9602008E */ lhu $v0, 0x8e($s0) +/* B98398 80240798 2442FFFF */ addiu $v0, $v0, -1 +/* B9839C 8024079C A602008E */ sh $v0, 0x8e($s0) +/* B983A0 802407A0 00021400 */ sll $v0, $v0, 0x10 +/* B983A4 802407A4 1C40001D */ bgtz $v0, .L8024081C +/* B983A8 802407A8 00000000 */ nop +/* B983AC 802407AC 8E820074 */ lw $v0, 0x74($s4) +/* B983B0 802407B0 2442FFFF */ addiu $v0, $v0, -1 +/* B983B4 802407B4 18400018 */ blez $v0, .L80240818 +/* B983B8 802407B8 AE820074 */ sw $v0, 0x74($s4) +/* B983BC 802407BC C600000C */ lwc1 $f0, 0xc($s0) +/* B983C0 802407C0 3C014334 */ lui $at, 0x4334 +/* B983C4 802407C4 44816000 */ mtc1 $at, $f12 +/* B983C8 802407C8 0C00A6C9 */ jal clamp_angle +/* B983CC 802407CC 460C0300 */ add.s $f12, $f0, $f12 +/* B983D0 802407D0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B983D4 802407D4 0C00A67F */ jal rand_int +/* B983D8 802407D8 E600000C */ swc1 $f0, 0xc($s0) +/* B983DC 802407DC 3C032E8B */ lui $v1, 0x2e8b +/* B983E0 802407E0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B983E4 802407E4 00430018 */ mult $v0, $v1 +/* B983E8 802407E8 00021FC3 */ sra $v1, $v0, 0x1f +/* B983EC 802407EC 00004010 */ mfhi $t0 +/* B983F0 802407F0 00082043 */ sra $a0, $t0, 1 +/* B983F4 802407F4 00832023 */ subu $a0, $a0, $v1 +/* B983F8 802407F8 00041840 */ sll $v1, $a0, 1 +/* B983FC 802407FC 00641821 */ addu $v1, $v1, $a0 +/* B98400 80240800 00031880 */ sll $v1, $v1, 2 +/* B98404 80240804 00641823 */ subu $v1, $v1, $a0 +/* B98408 80240808 00431023 */ subu $v0, $v0, $v1 +/* B9840C 8024080C 24420005 */ addiu $v0, $v0, 5 +/* B98410 80240810 08090207 */ j .L8024081C +/* B98414 80240814 A602008E */ sh $v0, 0x8e($s0) +.L80240818: +/* B98418 80240818 AE800070 */ sw $zero, 0x70($s4) +.L8024081C: +/* B9841C 8024081C 8FBF0044 */ lw $ra, 0x44($sp) +/* B98420 80240820 8FB40040 */ lw $s4, 0x40($sp) +/* B98424 80240824 8FB3003C */ lw $s3, 0x3c($sp) +/* B98428 80240828 8FB20038 */ lw $s2, 0x38($sp) +/* B9842C 8024082C 8FB10034 */ lw $s1, 0x34($sp) +/* B98430 80240830 8FB00030 */ lw $s0, 0x30($sp) +/* B98434 80240834 03E00008 */ jr $ra +/* B98438 80240838 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_8024083C.s b/asm/nonmatchings/world/area_mim/mim_02/func_8024083C.s new file mode 100644 index 0000000000..0ec0ba4c8c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_8024083C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024083C +/* B9843C 8024083C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B98440 80240840 AFB10014 */ sw $s1, 0x14($sp) +/* B98444 80240844 0080882D */ daddu $s1, $a0, $zero +/* B98448 80240848 AFBF001C */ sw $ra, 0x1c($sp) +/* B9844C 8024084C AFB20018 */ sw $s2, 0x18($sp) +/* B98450 80240850 AFB00010 */ sw $s0, 0x10($sp) +/* B98454 80240854 8E220148 */ lw $v0, 0x148($s1) +/* B98458 80240858 00A0902D */ daddu $s2, $a1, $zero +/* B9845C 8024085C 84440008 */ lh $a0, 8($v0) +/* B98460 80240860 0C00EABB */ jal get_npc_unsafe +/* B98464 80240864 00C0802D */ daddu $s0, $a2, $zero +/* B98468 80240868 0220202D */ daddu $a0, $s1, $zero +/* B9846C 8024086C 0240282D */ daddu $a1, $s2, $zero +/* B98470 80240870 0200302D */ daddu $a2, $s0, $zero +/* B98474 80240874 0C0127DF */ jal func_80049F7C +/* B98478 80240878 0040802D */ daddu $s0, $v0, $zero +/* B9847C 8024087C 8E020000 */ lw $v0, ($s0) +/* B98480 80240880 24040005 */ addiu $a0, $zero, 5 +/* B98484 80240884 34420800 */ ori $v0, $v0, 0x800 +/* B98488 80240888 0C00A67F */ jal rand_int +/* B9848C 8024088C AE020000 */ sw $v0, ($s0) +/* B98490 80240890 44820000 */ mtc1 $v0, $f0 +/* B98494 80240894 00000000 */ nop +/* B98498 80240898 46800021 */ cvt.d.w $f0, $f0 +/* B9849C 8024089C 3C014024 */ lui $at, 0x4024 +/* B984A0 802408A0 44811800 */ mtc1 $at, $f3 +/* B984A4 802408A4 44801000 */ mtc1 $zero, $f2 +/* B984A8 802408A8 3C013FC0 */ lui $at, 0x3fc0 +/* B984AC 802408AC 44812000 */ mtc1 $at, $f4 +/* B984B0 802408B0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B984B4 802408B4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B984B8 802408B8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B984BC 802408BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* B984C0 802408C0 46220000 */ add.d $f0, $f0, $f2 +/* B984C4 802408C4 E6040014 */ swc1 $f4, 0x14($s0) +/* B984C8 802408C8 46200020 */ cvt.s.d $f0, $f0 +/* B984CC 802408CC E600001C */ swc1 $f0, 0x1c($s0) +/* B984D0 802408D0 8C460028 */ lw $a2, 0x28($v0) +/* B984D4 802408D4 0C00A720 */ jal atan2 +/* B984D8 802408D8 8C470030 */ lw $a3, 0x30($v0) +/* B984DC 802408DC 0200202D */ daddu $a0, $s0, $zero +/* B984E0 802408E0 3C05B000 */ lui $a1, 0xb000 +/* B984E4 802408E4 34A50017 */ ori $a1, $a1, 0x17 +/* B984E8 802408E8 0000302D */ daddu $a2, $zero, $zero +/* B984EC 802408EC E480000C */ swc1 $f0, 0xc($a0) +/* B984F0 802408F0 C6400018 */ lwc1 $f0, 0x18($s2) +/* B984F4 802408F4 2402000D */ addiu $v0, $zero, 0xd +/* B984F8 802408F8 E4800018 */ swc1 $f0, 0x18($a0) +/* B984FC 802408FC 0C012530 */ jal func_800494C0 +/* B98500 80240900 AE220070 */ sw $v0, 0x70($s1) +/* B98504 80240904 8FBF001C */ lw $ra, 0x1c($sp) +/* B98508 80240908 8FB20018 */ lw $s2, 0x18($sp) +/* B9850C 8024090C 8FB10014 */ lw $s1, 0x14($sp) +/* B98510 80240910 8FB00010 */ lw $s0, 0x10($sp) +/* B98514 80240914 03E00008 */ jr $ra +/* B98518 80240918 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_8024091C_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_8024091C_B97C00.s new file mode 100644 index 0000000000..82f1c80412 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_8024091C_B97C00.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024091C_B9851C +/* B9851C 8024091C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B98520 80240920 AFB40050 */ sw $s4, 0x50($sp) +/* B98524 80240924 0080A02D */ daddu $s4, $a0, $zero +/* B98528 80240928 AFBF0060 */ sw $ra, 0x60($sp) +/* B9852C 8024092C AFB7005C */ sw $s7, 0x5c($sp) +/* B98530 80240930 AFB60058 */ sw $s6, 0x58($sp) +/* B98534 80240934 AFB50054 */ sw $s5, 0x54($sp) +/* B98538 80240938 AFB3004C */ sw $s3, 0x4c($sp) +/* B9853C 8024093C AFB20048 */ sw $s2, 0x48($sp) +/* B98540 80240940 AFB10044 */ sw $s1, 0x44($sp) +/* B98544 80240944 AFB00040 */ sw $s0, 0x40($sp) +/* B98548 80240948 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B9854C 8024094C 8E950148 */ lw $s5, 0x148($s4) +/* B98550 80240950 00A0B02D */ daddu $s6, $a1, $zero +/* B98554 80240954 86A40008 */ lh $a0, 8($s5) +/* B98558 80240958 0C00EABB */ jal get_npc_unsafe +/* B9855C 8024095C 00C0B82D */ daddu $s7, $a2, $zero +/* B98560 80240960 0040982D */ daddu $s3, $v0, $zero +/* B98564 80240964 C6600018 */ lwc1 $f0, 0x18($s3) +/* B98568 80240968 44801000 */ mtc1 $zero, $f2 +/* B9856C 8024096C 44801800 */ mtc1 $zero, $f3 +/* B98570 80240970 46000021 */ cvt.d.s $f0, $f0 +/* B98574 80240974 4620103C */ c.lt.d $f2, $f0 +/* B98578 80240978 00000000 */ nop +/* B9857C 8024097C 45000021 */ bc1f .L80240A04 +/* B98580 80240980 27A50028 */ addiu $a1, $sp, 0x28 +/* B98584 80240984 C6600038 */ lwc1 $f0, 0x38($s3) +/* B98588 80240988 C662003C */ lwc1 $f2, 0x3c($s3) +/* B9858C 8024098C C6640040 */ lwc1 $f4, 0x40($s3) +/* B98590 80240990 C6660018 */ lwc1 $f6, 0x18($s3) +/* B98594 80240994 E7A00028 */ swc1 $f0, 0x28($sp) +/* B98598 80240998 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B9859C 8024099C E7A40030 */ swc1 $f4, 0x30($sp) +/* B985A0 802409A0 E7A60010 */ swc1 $f6, 0x10($sp) +/* B985A4 802409A4 C660000C */ lwc1 $f0, 0xc($s3) +/* B985A8 802409A8 E7A00014 */ swc1 $f0, 0x14($sp) +/* B985AC 802409AC 866200A8 */ lh $v0, 0xa8($s3) +/* B985B0 802409B0 44820000 */ mtc1 $v0, $f0 +/* B985B4 802409B4 00000000 */ nop +/* B985B8 802409B8 46800020 */ cvt.s.w $f0, $f0 +/* B985BC 802409BC E7A00018 */ swc1 $f0, 0x18($sp) +/* B985C0 802409C0 866200A6 */ lh $v0, 0xa6($s3) +/* B985C4 802409C4 27A6002C */ addiu $a2, $sp, 0x2c +/* B985C8 802409C8 44820000 */ mtc1 $v0, $f0 +/* B985CC 802409CC 00000000 */ nop +/* B985D0 802409D0 46800020 */ cvt.s.w $f0, $f0 +/* B985D4 802409D4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B985D8 802409D8 8E640080 */ lw $a0, 0x80($s3) +/* B985DC 802409DC 0C037711 */ jal func_800DDC44 +/* B985E0 802409E0 27A70030 */ addiu $a3, $sp, 0x30 +/* B985E4 802409E4 10400003 */ beqz $v0, .L802409F4 +/* B985E8 802409E8 00000000 */ nop +/* B985EC 802409EC 08090281 */ j .L80240A04 +/* B985F0 802409F0 AE600018 */ sw $zero, 0x18($s3) +.L802409F4: +/* B985F4 802409F4 8E650018 */ lw $a1, 0x18($s3) +/* B985F8 802409F8 8E66000C */ lw $a2, 0xc($s3) +/* B985FC 802409FC 0C00EA95 */ jal npc_move_heading +/* B98600 80240A00 0260202D */ daddu $a0, $s3, $zero +.L80240A04: +/* B98604 80240A04 C660001C */ lwc1 $f0, 0x1c($s3) +/* B98608 80240A08 44801000 */ mtc1 $zero, $f2 +/* B9860C 80240A0C 44801800 */ mtc1 $zero, $f3 +/* B98610 80240A10 46000021 */ cvt.d.s $f0, $f0 +/* B98614 80240A14 4622003C */ c.lt.d $f0, $f2 +/* B98618 80240A18 00000000 */ nop +/* B9861C 80240A1C 4500006C */ bc1f .L80240BD0 +/* B98620 80240A20 27B00028 */ addiu $s0, $sp, 0x28 +/* B98624 80240A24 0200282D */ daddu $a1, $s0, $zero +/* B98628 80240A28 27A60034 */ addiu $a2, $sp, 0x34 +/* B9862C 80240A2C 27B20038 */ addiu $s2, $sp, 0x38 +/* B98630 80240A30 C6600038 */ lwc1 $f0, 0x38($s3) +/* B98634 80240A34 3C0142C8 */ lui $at, 0x42c8 +/* B98638 80240A38 44811000 */ mtc1 $at, $f2 +/* B9863C 80240A3C C6640040 */ lwc1 $f4, 0x40($s3) +/* B98640 80240A40 3C01447A */ lui $at, 0x447a +/* B98644 80240A44 44813000 */ mtc1 $at, $f6 +/* B98648 80240A48 27B10030 */ addiu $s1, $sp, 0x30 +/* B9864C 80240A4C E7A00028 */ swc1 $f0, 0x28($sp) +/* B98650 80240A50 E7A20034 */ swc1 $f2, 0x34($sp) +/* B98654 80240A54 E7A40030 */ swc1 $f4, 0x30($sp) +/* B98658 80240A58 E7A60038 */ swc1 $f6, 0x38($sp) +/* B9865C 80240A5C AFB20010 */ sw $s2, 0x10($sp) +/* B98660 80240A60 8E640080 */ lw $a0, 0x80($s3) +/* B98664 80240A64 0C0372DF */ jal func_800DCB7C +/* B98668 80240A68 0220382D */ daddu $a3, $s1, $zero +/* B9866C 80240A6C 0200282D */ daddu $a1, $s0, $zero +/* B98670 80240A70 27A6002C */ addiu $a2, $sp, 0x2c +/* B98674 80240A74 C662003C */ lwc1 $f2, 0x3c($s3) +/* B98678 80240A78 C6660038 */ lwc1 $f6, 0x38($s3) +/* B9867C 80240A7C 3C01402A */ lui $at, 0x402a +/* B98680 80240A80 4481A800 */ mtc1 $at, $f21 +/* B98684 80240A84 4480A000 */ mtc1 $zero, $f20 +/* B98688 80240A88 460010A1 */ cvt.d.s $f2, $f2 +/* B9868C 80240A8C 46341080 */ add.d $f2, $f2, $f20 +/* B98690 80240A90 C660001C */ lwc1 $f0, 0x1c($s3) +/* B98694 80240A94 C6640040 */ lwc1 $f4, 0x40($s3) +/* B98698 80240A98 46000005 */ abs.s $f0, $f0 +/* B9869C 80240A9C E7A40030 */ swc1 $f4, 0x30($sp) +/* B986A0 80240AA0 3C014030 */ lui $at, 0x4030 +/* B986A4 80240AA4 44812800 */ mtc1 $at, $f5 +/* B986A8 80240AA8 44802000 */ mtc1 $zero, $f4 +/* B986AC 80240AAC 46000021 */ cvt.d.s $f0, $f0 +/* B986B0 80240AB0 E7A60028 */ swc1 $f6, 0x28($sp) +/* B986B4 80240AB4 46240000 */ add.d $f0, $f0, $f4 +/* B986B8 80240AB8 462010A0 */ cvt.s.d $f2, $f2 +/* B986BC 80240ABC E7A2002C */ swc1 $f2, 0x2c($sp) +/* B986C0 80240AC0 46200020 */ cvt.s.d $f0, $f0 +/* B986C4 80240AC4 E7A00038 */ swc1 $f0, 0x38($sp) +/* B986C8 80240AC8 AFB20010 */ sw $s2, 0x10($sp) +/* B986CC 80240ACC 8E640080 */ lw $a0, 0x80($s3) +/* B986D0 80240AD0 0C0372DF */ jal func_800DCB7C +/* B986D4 80240AD4 0220382D */ daddu $a3, $s1, $zero +/* B986D8 80240AD8 1040003D */ beqz $v0, .L80240BD0 +/* B986DC 80240ADC 00000000 */ nop +/* B986E0 80240AE0 C660001C */ lwc1 $f0, 0x1c($s3) +/* B986E4 80240AE4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B986E8 80240AE8 46000005 */ abs.s $f0, $f0 +/* B986EC 80240AEC 46000021 */ cvt.d.s $f0, $f0 +/* B986F0 80240AF0 46340000 */ add.d $f0, $f0, $f20 +/* B986F4 80240AF4 460010A1 */ cvt.d.s $f2, $f2 +/* B986F8 80240AF8 4620103E */ c.le.d $f2, $f0 +/* B986FC 80240AFC 00000000 */ nop +/* B98700 80240B00 45000033 */ bc1f .L80240BD0 +/* B98704 80240B04 2403F7FF */ addiu $v1, $zero, -0x801 +/* B98708 80240B08 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B9870C 80240B0C 8E620000 */ lw $v0, ($s3) +/* B98710 80240B10 AE60001C */ sw $zero, 0x1c($s3) +/* B98714 80240B14 00431024 */ and $v0, $v0, $v1 +/* B98718 80240B18 E660003C */ swc1 $f0, 0x3c($s3) +/* B9871C 80240B1C AE620000 */ sw $v0, ($s3) +/* B98720 80240B20 AFA00010 */ sw $zero, 0x10($sp) +/* B98724 80240B24 AFA00014 */ sw $zero, 0x14($sp) +/* B98728 80240B28 8E650038 */ lw $a1, 0x38($s3) +/* B9872C 80240B2C 8E66003C */ lw $a2, 0x3c($s3) +/* B98730 80240B30 8E670040 */ lw $a3, 0x40($s3) +/* B98734 80240B34 0C01BECC */ jal fx_walk_normal +/* B98738 80240B38 24040002 */ addiu $a0, $zero, 2 +/* B9873C 80240B3C 02E0202D */ daddu $a0, $s7, $zero +/* B98740 80240B40 2402000C */ addiu $v0, $zero, 0xc +/* B98744 80240B44 AE820070 */ sw $v0, 0x70($s4) +/* B98748 80240B48 24020001 */ addiu $v0, $zero, 1 +/* B9874C 80240B4C AFA20010 */ sw $v0, 0x10($sp) +/* B98750 80240B50 8EC60024 */ lw $a2, 0x24($s6) +/* B98754 80240B54 8EC70028 */ lw $a3, 0x28($s6) +/* B98758 80240B58 0C01242D */ jal func_800490B4 +/* B9875C 80240B5C 02A0282D */ daddu $a1, $s5, $zero +/* B98760 80240B60 14400022 */ bnez $v0, .L80240BEC +/* B98764 80240B64 24040002 */ addiu $a0, $zero, 2 +/* B98768 80240B68 0260282D */ daddu $a1, $s3, $zero +/* B9876C 80240B6C 0000302D */ daddu $a2, $zero, $zero +/* B98770 80240B70 866300A8 */ lh $v1, 0xa8($s3) +/* B98774 80240B74 3C013F80 */ lui $at, 0x3f80 +/* B98778 80240B78 44810000 */ mtc1 $at, $f0 +/* B9877C 80240B7C 3C014000 */ lui $at, 0x4000 +/* B98780 80240B80 44811000 */ mtc1 $at, $f2 +/* B98784 80240B84 3C01C1A0 */ lui $at, 0xc1a0 +/* B98788 80240B88 44812000 */ mtc1 $at, $f4 +/* B9878C 80240B8C 2402000F */ addiu $v0, $zero, 0xf +/* B98790 80240B90 AFA2001C */ sw $v0, 0x1c($sp) +/* B98794 80240B94 44834000 */ mtc1 $v1, $f8 +/* B98798 80240B98 00000000 */ nop +/* B9879C 80240B9C 46804220 */ cvt.s.w $f8, $f8 +/* B987A0 80240BA0 44074000 */ mfc1 $a3, $f8 +/* B987A4 80240BA4 27A2003C */ addiu $v0, $sp, 0x3c +/* B987A8 80240BA8 AFA20020 */ sw $v0, 0x20($sp) +/* B987AC 80240BAC E7A00010 */ swc1 $f0, 0x10($sp) +/* B987B0 80240BB0 E7A20014 */ swc1 $f2, 0x14($sp) +/* B987B4 80240BB4 0C01BFA4 */ jal fx_emote +/* B987B8 80240BB8 E7A40018 */ swc1 $f4, 0x18($sp) +/* B987BC 80240BBC 24020019 */ addiu $v0, $zero, 0x19 +/* B987C0 80240BC0 A662008E */ sh $v0, 0x8e($s3) +/* B987C4 80240BC4 2402000E */ addiu $v0, $zero, 0xe +/* B987C8 80240BC8 080902FB */ j .L80240BEC +/* B987CC 80240BCC AE820070 */ sw $v0, 0x70($s4) +.L80240BD0: +/* B987D0 80240BD0 C664003C */ lwc1 $f4, 0x3c($s3) +/* B987D4 80240BD4 C660001C */ lwc1 $f0, 0x1c($s3) +/* B987D8 80240BD8 46002100 */ add.s $f4, $f4, $f0 +/* B987DC 80240BDC C6620014 */ lwc1 $f2, 0x14($s3) +/* B987E0 80240BE0 46020001 */ sub.s $f0, $f0, $f2 +/* B987E4 80240BE4 E664003C */ swc1 $f4, 0x3c($s3) +/* B987E8 80240BE8 E660001C */ swc1 $f0, 0x1c($s3) +.L80240BEC: +/* B987EC 80240BEC 8FBF0060 */ lw $ra, 0x60($sp) +/* B987F0 80240BF0 8FB7005C */ lw $s7, 0x5c($sp) +/* B987F4 80240BF4 8FB60058 */ lw $s6, 0x58($sp) +/* B987F8 80240BF8 8FB50054 */ lw $s5, 0x54($sp) +/* B987FC 80240BFC 8FB40050 */ lw $s4, 0x50($sp) +/* B98800 80240C00 8FB3004C */ lw $s3, 0x4c($sp) +/* B98804 80240C04 8FB20048 */ lw $s2, 0x48($sp) +/* B98808 80240C08 8FB10044 */ lw $s1, 0x44($sp) +/* B9880C 80240C0C 8FB00040 */ lw $s0, 0x40($sp) +/* B98810 80240C10 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B98814 80240C14 03E00008 */ jr $ra +/* B98818 80240C18 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240C1C_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240C1C_B97C00.s new file mode 100644 index 0000000000..a794aeaab1 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240C1C_B97C00.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C1C_B9881C +/* B9881C 80240C1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B98820 80240C20 AFB00010 */ sw $s0, 0x10($sp) +/* B98824 80240C24 0080802D */ daddu $s0, $a0, $zero +/* B98828 80240C28 AFBF0014 */ sw $ra, 0x14($sp) +/* B9882C 80240C2C 8E020148 */ lw $v0, 0x148($s0) +/* B98830 80240C30 0C00EABB */ jal get_npc_unsafe +/* B98834 80240C34 84440008 */ lh $a0, 8($v0) +/* B98838 80240C38 9443008E */ lhu $v1, 0x8e($v0) +/* B9883C 80240C3C 2463FFFF */ addiu $v1, $v1, -1 +/* B98840 80240C40 A443008E */ sh $v1, 0x8e($v0) +/* B98844 80240C44 00031C00 */ sll $v1, $v1, 0x10 +/* B98848 80240C48 58600001 */ blezl $v1, .L80240C50 +/* B9884C 80240C4C AE000070 */ sw $zero, 0x70($s0) +.L80240C50: +/* B98850 80240C50 8FBF0014 */ lw $ra, 0x14($sp) +/* B98854 80240C54 8FB00010 */ lw $s0, 0x10($sp) +/* B98858 80240C58 03E00008 */ jr $ra +/* B9885C 80240C5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240C60_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240C60_B97C00.s new file mode 100644 index 0000000000..ff7595ab11 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240C60_B97C00.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C60_B98860 +/* B98860 80240C60 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B98864 80240C64 AFB3003C */ sw $s3, 0x3c($sp) +/* B98868 80240C68 0080982D */ daddu $s3, $a0, $zero +/* B9886C 80240C6C AFBF0048 */ sw $ra, 0x48($sp) +/* B98870 80240C70 AFB50044 */ sw $s5, 0x44($sp) +/* B98874 80240C74 AFB40040 */ sw $s4, 0x40($sp) +/* B98878 80240C78 AFB20038 */ sw $s2, 0x38($sp) +/* B9887C 80240C7C AFB10034 */ sw $s1, 0x34($sp) +/* B98880 80240C80 AFB00030 */ sw $s0, 0x30($sp) +/* B98884 80240C84 8E720148 */ lw $s2, 0x148($s3) +/* B98888 80240C88 86440008 */ lh $a0, 8($s2) +/* B9888C 80240C8C 8E70000C */ lw $s0, 0xc($s3) +/* B98890 80240C90 0C00EABB */ jal get_npc_unsafe +/* B98894 80240C94 00A0882D */ daddu $s1, $a1, $zero +/* B98898 80240C98 8E050000 */ lw $a1, ($s0) +/* B9889C 80240C9C 26100004 */ addiu $s0, $s0, 4 +/* B988A0 80240CA0 0260202D */ daddu $a0, $s3, $zero +/* B988A4 80240CA4 0C0B1EAF */ jal get_variable +/* B988A8 80240CA8 0040A82D */ daddu $s5, $v0, $zero +/* B988AC 80240CAC 0260202D */ daddu $a0, $s3, $zero +/* B988B0 80240CB0 8E050000 */ lw $a1, ($s0) +/* B988B4 80240CB4 0C0B1EAF */ jal get_variable +/* B988B8 80240CB8 0040A02D */ daddu $s4, $v0, $zero +/* B988BC 80240CBC AE420094 */ sw $v0, 0x94($s2) +/* B988C0 80240CC0 AFA00010 */ sw $zero, 0x10($sp) +/* B988C4 80240CC4 8E4200D0 */ lw $v0, 0xd0($s2) +/* B988C8 80240CC8 8C420030 */ lw $v0, 0x30($v0) +/* B988CC 80240CCC AFA20014 */ sw $v0, 0x14($sp) +/* B988D0 80240CD0 8E4200D0 */ lw $v0, 0xd0($s2) +/* B988D4 80240CD4 8C42001C */ lw $v0, 0x1c($v0) +/* B988D8 80240CD8 AFA20018 */ sw $v0, 0x18($sp) +/* B988DC 80240CDC 8E4200D0 */ lw $v0, 0xd0($s2) +/* B988E0 80240CE0 8C420024 */ lw $v0, 0x24($v0) +/* B988E4 80240CE4 AFA2001C */ sw $v0, 0x1c($sp) +/* B988E8 80240CE8 8E4200D0 */ lw $v0, 0xd0($s2) +/* B988EC 80240CEC 8C420028 */ lw $v0, 0x28($v0) +/* B988F0 80240CF0 AFA20020 */ sw $v0, 0x20($sp) +/* B988F4 80240CF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* B988F8 80240CF8 3C0142C8 */ lui $at, 0x42c8 +/* B988FC 80240CFC 44810000 */ mtc1 $at, $f0 +/* B98900 80240D00 8C42002C */ lw $v0, 0x2c($v0) +/* B98904 80240D04 27B00010 */ addiu $s0, $sp, 0x10 +/* B98908 80240D08 E7A00028 */ swc1 $f0, 0x28($sp) +/* B9890C 80240D0C A7A0002C */ sh $zero, 0x2c($sp) +/* B98910 80240D10 12200019 */ beqz $s1, .L80240D78 +/* B98914 80240D14 AFA20024 */ sw $v0, 0x24($sp) +/* B98918 80240D18 AE600070 */ sw $zero, 0x70($s3) +/* B9891C 80240D1C A6A0008E */ sh $zero, 0x8e($s5) +/* B98920 80240D20 AE600074 */ sw $zero, 0x74($s3) +/* B98924 80240D24 8EA20000 */ lw $v0, ($s5) +/* B98928 80240D28 2403F7FF */ addiu $v1, $zero, -0x801 +/* B9892C 80240D2C 00431024 */ and $v0, $v0, $v1 +/* B98930 80240D30 2403FDFF */ addiu $v1, $zero, -0x201 +/* B98934 80240D34 00431024 */ and $v0, $v0, $v1 +/* B98938 80240D38 34420008 */ ori $v0, $v0, 8 +/* B9893C 80240D3C AEA20000 */ sw $v0, ($s5) +/* B98940 80240D40 8E4200B0 */ lw $v0, 0xb0($s2) +/* B98944 80240D44 34420018 */ ori $v0, $v0, 0x18 +/* B98948 80240D48 AE4200B0 */ sw $v0, 0xb0($s2) +/* B9894C 80240D4C 8E420000 */ lw $v0, ($s2) +/* B98950 80240D50 3C034000 */ lui $v1, 0x4000 +/* B98954 80240D54 00431024 */ and $v0, $v0, $v1 +/* B98958 80240D58 10400007 */ beqz $v0, .L80240D78 +/* B9895C 80240D5C 3C03BFFF */ lui $v1, 0xbfff +/* B98960 80240D60 2402000C */ addiu $v0, $zero, 0xc +/* B98964 80240D64 AE620070 */ sw $v0, 0x70($s3) +/* B98968 80240D68 8E420000 */ lw $v0, ($s2) +/* B9896C 80240D6C 3463FFFF */ ori $v1, $v1, 0xffff +/* B98970 80240D70 00431024 */ and $v0, $v0, $v1 +/* B98974 80240D74 AE420000 */ sw $v0, ($s2) +.L80240D78: +/* B98978 80240D78 8E4300B0 */ lw $v1, 0xb0($s2) +/* B9897C 80240D7C 30620004 */ andi $v0, $v1, 4 +/* B98980 80240D80 10400007 */ beqz $v0, .L80240DA0 +/* B98984 80240D84 00000000 */ nop +/* B98988 80240D88 824200B4 */ lb $v0, 0xb4($s2) +/* B9898C 80240D8C 14400034 */ bnez $v0, .L80240E60 +/* B98990 80240D90 0000102D */ daddu $v0, $zero, $zero +/* B98994 80240D94 2402FFFB */ addiu $v0, $zero, -5 +/* B98998 80240D98 00621024 */ and $v0, $v1, $v0 +/* B9899C 80240D9C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240DA0: +/* B989A0 80240DA0 8E630070 */ lw $v1, 0x70($s3) +/* B989A4 80240DA4 2C62000F */ sltiu $v0, $v1, 0xf +/* B989A8 80240DA8 1040002C */ beqz $v0, .L80240E5C +/* B989AC 80240DAC 00031080 */ sll $v0, $v1, 2 +/* B989B0 80240DB0 3C018024 */ lui $at, 0x8024 +/* B989B4 80240DB4 00220821 */ addu $at, $at, $v0 +/* B989B8 80240DB8 8C223838 */ lw $v0, 0x3838($at) +/* B989BC 80240DBC 00400008 */ jr $v0 +/* B989C0 80240DC0 00000000 */ nop +/* B989C4 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* B989C8 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* B989CC 80240DCC 0C09001C */ jal func_80240070 +/* B989D0 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* B989D4 80240DD4 0260202D */ daddu $a0, $s3, $zero +/* B989D8 80240DD8 0280282D */ daddu $a1, $s4, $zero +/* B989DC 80240DDC 0C0900A8 */ jal func_802402A0 +/* B989E0 80240DE0 0200302D */ daddu $a2, $s0, $zero +/* B989E4 80240DE4 08090398 */ j .L80240E60 +/* B989E8 80240DE8 0000102D */ daddu $v0, $zero, $zero +/* B989EC 80240DEC 0260202D */ daddu $a0, $s3, $zero +/* B989F0 80240DF0 0280282D */ daddu $a1, $s4, $zero +/* B989F4 80240DF4 0C090176 */ jal func_802405D8 +/* B989F8 80240DF8 0200302D */ daddu $a2, $s0, $zero +/* B989FC 80240DFC 8E630070 */ lw $v1, 0x70($s3) +/* B98A00 80240E00 24020003 */ addiu $v0, $zero, 3 +/* B98A04 80240E04 14620016 */ bne $v1, $v0, .L80240E60 +/* B98A08 80240E08 0000102D */ daddu $v0, $zero, $zero +/* B98A0C 80240E0C 0260202D */ daddu $a0, $s3, $zero +/* B98A10 80240E10 0280282D */ daddu $a1, $s4, $zero +/* B98A14 80240E14 0C0901A6 */ jal func_80240698 +/* B98A18 80240E18 0200302D */ daddu $a2, $s0, $zero +/* B98A1C 80240E1C 08090398 */ j .L80240E60 +/* B98A20 80240E20 0000102D */ daddu $v0, $zero, $zero +/* B98A24 80240E24 0260202D */ daddu $a0, $s3, $zero +/* B98A28 80240E28 0280282D */ daddu $a1, $s4, $zero +/* B98A2C 80240E2C 0C09020F */ jal func_8024083C +/* B98A30 80240E30 0200302D */ daddu $a2, $s0, $zero +/* B98A34 80240E34 0260202D */ daddu $a0, $s3, $zero +/* B98A38 80240E38 0280282D */ daddu $a1, $s4, $zero +/* B98A3C 80240E3C 0C090247 */ jal func_8024091C +/* B98A40 80240E40 0200302D */ daddu $a2, $s0, $zero +/* B98A44 80240E44 08090398 */ j .L80240E60 +/* B98A48 80240E48 0000102D */ daddu $v0, $zero, $zero +/* B98A4C 80240E4C 0260202D */ daddu $a0, $s3, $zero +/* B98A50 80240E50 0280282D */ daddu $a1, $s4, $zero +/* B98A54 80240E54 0C090307 */ jal func_80240C1C +/* B98A58 80240E58 0200302D */ daddu $a2, $s0, $zero +.L80240E5C: +/* B98A5C 80240E5C 0000102D */ daddu $v0, $zero, $zero +.L80240E60: +/* B98A60 80240E60 8FBF0048 */ lw $ra, 0x48($sp) +/* B98A64 80240E64 8FB50044 */ lw $s5, 0x44($sp) +/* B98A68 80240E68 8FB40040 */ lw $s4, 0x40($sp) +/* B98A6C 80240E6C 8FB3003C */ lw $s3, 0x3c($sp) +/* B98A70 80240E70 8FB20038 */ lw $s2, 0x38($sp) +/* B98A74 80240E74 8FB10034 */ lw $s1, 0x34($sp) +/* B98A78 80240E78 8FB00030 */ lw $s0, 0x30($sp) +/* B98A7C 80240E7C 03E00008 */ jr $ra +/* B98A80 80240E80 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240E84.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240E84.s new file mode 100644 index 0000000000..8a9ae412d7 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240E84.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84 +/* B98A84 80240E84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B98A88 80240E88 AFB10014 */ sw $s1, 0x14($sp) +/* B98A8C 80240E8C 0080882D */ daddu $s1, $a0, $zero +/* B98A90 80240E90 AFBF0018 */ sw $ra, 0x18($sp) +/* B98A94 80240E94 AFB00010 */ sw $s0, 0x10($sp) +/* B98A98 80240E98 8E30000C */ lw $s0, 0xc($s1) +/* B98A9C 80240E9C 8E050000 */ lw $a1, ($s0) +/* B98AA0 80240EA0 0C0B1EAF */ jal get_variable +/* B98AA4 80240EA4 26100004 */ addiu $s0, $s0, 4 +/* B98AA8 80240EA8 0C00EAD2 */ jal get_npc_safe +/* B98AAC 80240EAC 0040202D */ daddu $a0, $v0, $zero +/* B98AB0 80240EB0 10400005 */ beqz $v0, .L80240EC8 +/* B98AB4 80240EB4 00000000 */ nop +/* B98AB8 80240EB8 8E050000 */ lw $a1, ($s0) +/* B98ABC 80240EBC 844600A8 */ lh $a2, 0xa8($v0) +/* B98AC0 80240EC0 0C0B2026 */ jal set_variable +/* B98AC4 80240EC4 0220202D */ daddu $a0, $s1, $zero +.L80240EC8: +/* B98AC8 80240EC8 8FBF0018 */ lw $ra, 0x18($sp) +/* B98ACC 80240ECC 8FB10014 */ lw $s1, 0x14($sp) +/* B98AD0 80240ED0 8FB00010 */ lw $s0, 0x10($sp) +/* B98AD4 80240ED4 24020002 */ addiu $v0, $zero, 2 +/* B98AD8 80240ED8 03E00008 */ jr $ra +/* B98ADC 80240EDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80240EE0_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80240EE0_B97C00.s new file mode 100644 index 0000000000..729972795a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80240EE0_B97C00.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE0_B98AE0 +/* B98AE0 80240EE0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B98AE4 80240EE4 AFB10014 */ sw $s1, 0x14($sp) +/* B98AE8 80240EE8 0080882D */ daddu $s1, $a0, $zero +/* B98AEC 80240EEC AFBF0024 */ sw $ra, 0x24($sp) +/* B98AF0 80240EF0 AFB40020 */ sw $s4, 0x20($sp) +/* B98AF4 80240EF4 AFB3001C */ sw $s3, 0x1c($sp) +/* B98AF8 80240EF8 AFB20018 */ sw $s2, 0x18($sp) +/* B98AFC 80240EFC AFB00010 */ sw $s0, 0x10($sp) +/* B98B00 80240F00 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* B98B04 80240F04 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* B98B08 80240F08 F7B80038 */ sdc1 $f24, 0x38($sp) +/* B98B0C 80240F0C F7B60030 */ sdc1 $f22, 0x30($sp) +/* B98B10 80240F10 F7B40028 */ sdc1 $f20, 0x28($sp) +/* B98B14 80240F14 8E30000C */ lw $s0, 0xc($s1) +/* B98B18 80240F18 8E130000 */ lw $s3, ($s0) +/* B98B1C 80240F1C 26100004 */ addiu $s0, $s0, 4 +/* B98B20 80240F20 0C0B1EAF */ jal get_variable +/* B98B24 80240F24 0260282D */ daddu $a1, $s3, $zero +/* B98B28 80240F28 4482E000 */ mtc1 $v0, $f28 +/* B98B2C 80240F2C 00000000 */ nop +/* B98B30 80240F30 4680E720 */ cvt.s.w $f28, $f28 +/* B98B34 80240F34 8E140000 */ lw $s4, ($s0) +/* B98B38 80240F38 26100004 */ addiu $s0, $s0, 4 +/* B98B3C 80240F3C 0220202D */ daddu $a0, $s1, $zero +/* B98B40 80240F40 0C0B1EAF */ jal get_variable +/* B98B44 80240F44 0280282D */ daddu $a1, $s4, $zero +/* B98B48 80240F48 4482D000 */ mtc1 $v0, $f26 +/* B98B4C 80240F4C 00000000 */ nop +/* B98B50 80240F50 4680D6A0 */ cvt.s.w $f26, $f26 +/* B98B54 80240F54 8E100000 */ lw $s0, ($s0) +/* B98B58 80240F58 0220202D */ daddu $a0, $s1, $zero +/* B98B5C 80240F5C 0C0B1EAF */ jal get_variable +/* B98B60 80240F60 0200282D */ daddu $a1, $s0, $zero +/* B98B64 80240F64 4482C000 */ mtc1 $v0, $f24 +/* B98B68 80240F68 00000000 */ nop +/* B98B6C 80240F6C 4680C620 */ cvt.s.w $f24, $f24 +/* B98B70 80240F70 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* B98B74 80240F74 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* B98B78 80240F78 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* B98B7C 80240F7C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* B98B80 80240F80 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* B98B84 80240F84 44800000 */ mtc1 $zero, $f0 +/* B98B88 80240F88 00031080 */ sll $v0, $v1, 2 +/* B98B8C 80240F8C 00431021 */ addu $v0, $v0, $v1 +/* B98B90 80240F90 00021080 */ sll $v0, $v0, 2 +/* B98B94 80240F94 00431023 */ subu $v0, $v0, $v1 +/* B98B98 80240F98 000218C0 */ sll $v1, $v0, 3 +/* B98B9C 80240F9C 00431021 */ addu $v0, $v0, $v1 +/* B98BA0 80240FA0 000210C0 */ sll $v0, $v0, 3 +/* B98BA4 80240FA4 46001032 */ c.eq.s $f2, $f0 +/* B98BA8 80240FA8 3C01800B */ lui $at, 0x800b +/* B98BAC 80240FAC 00220821 */ addu $at, $at, $v0 +/* B98BB0 80240FB0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B98BB4 80240FB4 45000005 */ bc1f .L80240FCC +/* B98BB8 80240FB8 00000000 */ nop +/* B98BBC 80240FBC 3C0142C8 */ lui $at, 0x42c8 +/* B98BC0 80240FC0 44810000 */ mtc1 $at, $f0 +/* B98BC4 80240FC4 080903F7 */ j .L80240FDC +/* B98BC8 80240FC8 4600B581 */ sub.s $f22, $f22, $f0 +.L80240FCC: +/* B98BCC 80240FCC 3C0142C8 */ lui $at, 0x42c8 +/* B98BD0 80240FD0 44810000 */ mtc1 $at, $f0 +/* B98BD4 80240FD4 00000000 */ nop +/* B98BD8 80240FD8 4600B580 */ add.s $f22, $f22, $f0 +.L80240FDC: +/* B98BDC 80240FDC 0C00A6C9 */ jal clamp_angle +/* B98BE0 80240FE0 4600B306 */ mov.s $f12, $f22 +/* B98BE4 80240FE4 46000586 */ mov.s $f22, $f0 +/* B98BE8 80240FE8 3C014170 */ lui $at, 0x4170 +/* B98BEC 80240FEC 4481A000 */ mtc1 $at, $f20 +/* B98BF0 80240FF0 0C00A8BB */ jal sin_deg +/* B98BF4 80240FF4 4600B306 */ mov.s $f12, $f22 +/* B98BF8 80240FF8 46140002 */ mul.s $f0, $f0, $f20 +/* B98BFC 80240FFC 00000000 */ nop +/* B98C00 80241000 864200B0 */ lh $v0, 0xb0($s2) +/* B98C04 80241004 3C013F00 */ lui $at, 0x3f00 +/* B98C08 80241008 44812000 */ mtc1 $at, $f4 +/* B98C0C 8024100C 44821000 */ mtc1 $v0, $f2 +/* B98C10 80241010 00000000 */ nop +/* B98C14 80241014 468010A0 */ cvt.s.w $f2, $f2 +/* B98C18 80241018 46041082 */ mul.s $f2, $f2, $f4 +/* B98C1C 8024101C 00000000 */ nop +/* B98C20 80241020 4600E700 */ add.s $f28, $f28, $f0 +/* B98C24 80241024 4602D680 */ add.s $f26, $f26, $f2 +/* B98C28 80241028 0C00A8D4 */ jal cos_deg +/* B98C2C 8024102C 4600B306 */ mov.s $f12, $f22 +/* B98C30 80241030 46140002 */ mul.s $f0, $f0, $f20 +/* B98C34 80241034 00000000 */ nop +/* B98C38 80241038 0220202D */ daddu $a0, $s1, $zero +/* B98C3C 8024103C 0260282D */ daddu $a1, $s3, $zero +/* B98C40 80241040 4600E18D */ trunc.w.s $f6, $f28 +/* B98C44 80241044 44063000 */ mfc1 $a2, $f6 +/* B98C48 80241048 0C0B2026 */ jal set_variable +/* B98C4C 8024104C 4600C601 */ sub.s $f24, $f24, $f0 +/* B98C50 80241050 0220202D */ daddu $a0, $s1, $zero +/* B98C54 80241054 4600D18D */ trunc.w.s $f6, $f26 +/* B98C58 80241058 44063000 */ mfc1 $a2, $f6 +/* B98C5C 8024105C 0C0B2026 */ jal set_variable +/* B98C60 80241060 0280282D */ daddu $a1, $s4, $zero +/* B98C64 80241064 0220202D */ daddu $a0, $s1, $zero +/* B98C68 80241068 4600C18D */ trunc.w.s $f6, $f24 +/* B98C6C 8024106C 44063000 */ mfc1 $a2, $f6 +/* B98C70 80241070 0C0B2026 */ jal set_variable +/* B98C74 80241074 0200282D */ daddu $a1, $s0, $zero +/* B98C78 80241078 8FBF0024 */ lw $ra, 0x24($sp) +/* B98C7C 8024107C 8FB40020 */ lw $s4, 0x20($sp) +/* B98C80 80241080 8FB3001C */ lw $s3, 0x1c($sp) +/* B98C84 80241084 8FB20018 */ lw $s2, 0x18($sp) +/* B98C88 80241088 8FB10014 */ lw $s1, 0x14($sp) +/* B98C8C 8024108C 8FB00010 */ lw $s0, 0x10($sp) +/* B98C90 80241090 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* B98C94 80241094 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* B98C98 80241098 D7B80038 */ ldc1 $f24, 0x38($sp) +/* B98C9C 8024109C D7B60030 */ ldc1 $f22, 0x30($sp) +/* B98CA0 802410A0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* B98CA4 802410A4 24020002 */ addiu $v0, $zero, 2 +/* B98CA8 802410A8 03E00008 */ jr $ra +/* B98CAC 802410AC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_802410B0_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_802410B0_B97C00.s new file mode 100644 index 0000000000..ac447c65c1 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_802410B0_B97C00.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B0_B98CB0 +/* B98CB0 802410B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B98CB4 802410B4 AFBF0010 */ sw $ra, 0x10($sp) +/* B98CB8 802410B8 10A00003 */ beqz $a1, .L802410C8 +/* B98CBC 802410BC 8C86000C */ lw $a2, 0xc($a0) +/* B98CC0 802410C0 3C018024 */ lui $at, 0x8024 +/* B98CC4 802410C4 AC2016AC */ sw $zero, 0x16ac($at) +.L802410C8: +/* B98CC8 802410C8 3C038024 */ lui $v1, 0x8024 +/* B98CCC 802410CC 246316AC */ addiu $v1, $v1, 0x16ac +/* B98CD0 802410D0 8C620000 */ lw $v0, ($v1) +/* B98CD4 802410D4 54400003 */ bnel $v0, $zero, .L802410E4 +/* B98CD8 802410D8 AC600000 */ sw $zero, ($v1) +/* B98CDC 802410DC 0809043E */ j .L802410F8 +/* B98CE0 802410E0 0000102D */ daddu $v0, $zero, $zero +.L802410E4: +/* B98CE4 802410E4 8CC50000 */ lw $a1, ($a2) +/* B98CE8 802410E8 3C068024 */ lui $a2, 0x8024 +/* B98CEC 802410EC 0C0B2026 */ jal set_variable +/* B98CF0 802410F0 8CC616B0 */ lw $a2, 0x16b0($a2) +/* B98CF4 802410F4 24020002 */ addiu $v0, $zero, 2 +.L802410F8: +/* B98CF8 802410F8 8FBF0010 */ lw $ra, 0x10($sp) +/* B98CFC 802410FC 03E00008 */ jr $ra +/* B98D00 80241100 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_80241104_B97C00.s b/asm/nonmatchings/world/area_mim/mim_02/func_80241104_B97C00.s new file mode 100644 index 0000000000..a0176a96d2 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_80241104_B97C00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241104_B98D04 +/* B98D04 80241104 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B98D08 80241108 AFBF0010 */ sw $ra, 0x10($sp) +/* B98D0C 8024110C 8C82000C */ lw $v0, 0xc($a0) +/* B98D10 80241110 0C0B1EAF */ jal get_variable +/* B98D14 80241114 8C450000 */ lw $a1, ($v0) +/* B98D18 80241118 3C018024 */ lui $at, 0x8024 +/* B98D1C 8024111C AC2216B0 */ sw $v0, 0x16b0($at) +/* B98D20 80241120 24020002 */ addiu $v0, $zero, 2 +/* B98D24 80241124 8FBF0010 */ lw $ra, 0x10($sp) +/* B98D28 80241128 24030001 */ addiu $v1, $zero, 1 +/* B98D2C 8024112C 3C018024 */ lui $at, 0x8024 +/* B98D30 80241130 AC2316AC */ sw $v1, 0x16ac($at) +/* B98D34 80241134 03E00008 */ jr $ra +/* B98D38 80241138 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_02/func_8024113C.s b/asm/nonmatchings/world/area_mim/mim_02/func_8024113C.s new file mode 100644 index 0000000000..7c9df4540d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_02/func_8024113C.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024113C +/* B98D3C 8024113C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B98D40 80241140 AFBF0010 */ sw $ra, 0x10($sp) +/* B98D44 80241144 8C82000C */ lw $v0, 0xc($a0) +/* B98D48 80241148 0C0B1EAF */ jal get_variable +/* B98D4C 8024114C 8C450000 */ lw $a1, ($v0) +/* B98D50 80241150 0040182D */ daddu $v1, $v0, $zero +/* B98D54 80241154 10600012 */ beqz $v1, .L802411A0 +/* B98D58 80241158 0000202D */ daddu $a0, $zero, $zero +/* B98D5C 8024115C 8C620000 */ lw $v0, ($v1) +/* B98D60 80241160 5040000A */ beql $v0, $zero, .L8024118C +/* B98D64 80241164 00041080 */ sll $v0, $a0, 2 +/* B98D68 80241168 3C058024 */ lui $a1, 0x8024 +/* B98D6C 8024116C 24A53880 */ addiu $a1, $a1, 0x3880 +.L80241170: +/* B98D70 80241170 24630004 */ addiu $v1, $v1, 4 +/* B98D74 80241174 24840001 */ addiu $a0, $a0, 1 +/* B98D78 80241178 ACA20000 */ sw $v0, ($a1) +/* B98D7C 8024117C 8C620000 */ lw $v0, ($v1) +/* B98D80 80241180 1440FFFB */ bnez $v0, .L80241170 +/* B98D84 80241184 24A50004 */ addiu $a1, $a1, 4 +/* B98D88 80241188 00041080 */ sll $v0, $a0, 2 +.L8024118C: +/* B98D8C 8024118C 3C018024 */ lui $at, 0x8024 +/* B98D90 80241190 00220821 */ addu $at, $at, $v0 +/* B98D94 80241194 AC203880 */ sw $zero, 0x3880($at) +/* B98D98 80241198 08090472 */ j .L802411C8 +/* B98D9C 8024119C 00000000 */ nop +.L802411A0: +/* B98DA0 802411A0 3C038024 */ lui $v1, 0x8024 +/* B98DA4 802411A4 24633880 */ addiu $v1, $v1, 0x3880 +/* B98DA8 802411A8 0060282D */ daddu $a1, $v1, $zero +.L802411AC: +/* B98DAC 802411AC 24820010 */ addiu $v0, $a0, 0x10 +/* B98DB0 802411B0 AC620000 */ sw $v0, ($v1) +/* B98DB4 802411B4 24630004 */ addiu $v1, $v1, 4 +/* B98DB8 802411B8 24840001 */ addiu $a0, $a0, 1 +/* B98DBC 802411BC 28820070 */ slti $v0, $a0, 0x70 +/* B98DC0 802411C0 1440FFFA */ bnez $v0, .L802411AC +/* B98DC4 802411C4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802411C8: +/* B98DC8 802411C8 8FBF0010 */ lw $ra, 0x10($sp) +/* B98DCC 802411CC 24020002 */ addiu $v0, $zero, 2 +/* B98DD0 802411D0 03E00008 */ jr $ra +/* B98DD4 802411D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* B98DD8 802411D8 00000000 */ nop +/* B98DDC 802411DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_03/func_80240000_B9B480.s b/asm/nonmatchings/world/area_mim/mim_03/func_80240000_B9B480.s new file mode 100644 index 0000000000..73181ac418 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_03/func_80240000_B9B480.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B9B480 +/* B9B480 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B9B484 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B9B488 80240008 0C046ED4 */ jal enable_world_fog +/* B9B48C 8024000C 00000000 */ nop +/* B9B490 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* B9B494 80240014 0C046EDD */ jal set_world_fog_dist +/* B9B498 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B9B49C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B9B4A0 80240020 0080282D */ daddu $a1, $a0, $zero +/* B9B4A4 80240024 0080302D */ daddu $a2, $a0, $zero +/* B9B4A8 80240028 0C046EE2 */ jal set_world_fog_color +/* B9B4AC 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* B9B4B0 80240030 0C048BFB */ jal enable_entity_fog +/* B9B4B4 80240034 00000000 */ nop +/* B9B4B8 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* B9B4BC 8024003C 0C048C04 */ jal set_entity_fog_dist +/* B9B4C0 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B9B4C4 80240044 0000202D */ daddu $a0, $zero, $zero +/* B9B4C8 80240048 0080282D */ daddu $a1, $a0, $zero +/* B9B4CC 8024004C 0080302D */ daddu $a2, $a0, $zero +/* B9B4D0 80240050 0C048C0A */ jal set_entity_fog_color +/* B9B4D4 80240054 240700FF */ addiu $a3, $zero, 0xff +/* B9B4D8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* B9B4DC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* B9B4E0 80240060 03E00008 */ jr $ra +/* B9B4E4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_03/func_80240068_B9B480.s b/asm/nonmatchings/world/area_mim/mim_03/func_80240068_B9B480.s new file mode 100644 index 0000000000..aa7d49fd90 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_03/func_80240068_B9B480.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_B9B4E8 +/* B9B4E8 80240068 44806000 */ mtc1 $zero, $f12 +/* B9B4EC 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B9B4F0 80240070 AFB00010 */ sw $s0, 0x10($sp) +/* B9B4F4 80240074 0080802D */ daddu $s0, $a0, $zero +/* B9B4F8 80240078 AFBF0014 */ sw $ra, 0x14($sp) +/* B9B4FC 8024007C 0C038022 */ jal func_800E0088 +/* B9B500 80240080 46006386 */ mov.s $f14, $f12 +/* B9B504 80240084 4600008D */ trunc.w.s $f2, $f0 +/* B9B508 80240088 E6020084 */ swc1 $f2, 0x84($s0) +/* B9B50C 8024008C 8FBF0014 */ lw $ra, 0x14($sp) +/* B9B510 80240090 8FB00010 */ lw $s0, 0x10($sp) +/* B9B514 80240094 24020002 */ addiu $v0, $zero, 2 +/* B9B518 80240098 03E00008 */ jr $ra +/* B9B51C 8024009C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_03/func_802400A0_B9B480.s b/asm/nonmatchings/world/area_mim/mim_03/func_802400A0_B9B480.s new file mode 100644 index 0000000000..19eab88408 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_03/func_802400A0_B9B480.s @@ -0,0 +1,239 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_B9B520 +/* B9B520 802400A0 27BDFF88 */ addiu $sp, $sp, -0x78 +/* B9B524 802400A4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* B9B528 802400A8 4480B000 */ mtc1 $zero, $f22 +/* B9B52C 802400AC AFB30034 */ sw $s3, 0x34($sp) +/* B9B530 802400B0 00A0982D */ daddu $s3, $a1, $zero +/* B9B534 802400B4 AFB40038 */ sw $s4, 0x38($sp) +/* B9B538 802400B8 00C0A02D */ daddu $s4, $a2, $zero +/* B9B53C 802400BC AFB5003C */ sw $s5, 0x3c($sp) +/* B9B540 802400C0 00E0A82D */ daddu $s5, $a3, $zero +/* B9B544 802400C4 AFB20030 */ sw $s2, 0x30($sp) +/* B9B548 802400C8 0080902D */ daddu $s2, $a0, $zero +/* B9B54C 802400CC AFB1002C */ sw $s1, 0x2c($sp) +/* B9B550 802400D0 3C118024 */ lui $s1, 0x8024 +/* B9B554 802400D4 263124E0 */ addiu $s1, $s1, 0x24e0 +/* B9B558 802400D8 AFBF0040 */ sw $ra, 0x40($sp) +/* B9B55C 802400DC AFB00028 */ sw $s0, 0x28($sp) +/* B9B560 802400E0 F7BE0070 */ sdc1 $f30, 0x70($sp) +/* B9B564 802400E4 F7BC0068 */ sdc1 $f28, 0x68($sp) +/* B9B568 802400E8 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* B9B56C 802400EC F7B80058 */ sdc1 $f24, 0x58($sp) +/* B9B570 802400F0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B9B574 802400F4 4600B006 */ mov.s $f0, $f22 +/* B9B578 802400F8 4600B406 */ mov.s $f16, $f22 +/* B9B57C 802400FC 4600B506 */ mov.s $f20, $f22 +/* B9B580 80240100 4600A786 */ mov.s $f30, $f20 +/* B9B584 80240104 4600A086 */ mov.s $f2, $f20 +/* B9B588 80240108 4600A606 */ mov.s $f24, $f20 +/* B9B58C 8024010C 4600A686 */ mov.s $f26, $f20 +/* B9B590 80240110 4600A706 */ mov.s $f28, $f20 +.L80240114: +/* B9B594 80240114 24020006 */ addiu $v0, $zero, 6 +/* B9B598 80240118 8E460000 */ lw $a2, ($s2) +/* B9B59C 8024011C 8E470004 */ lw $a3, 4($s2) +/* B9B5A0 80240120 00061E02 */ srl $v1, $a2, 0x18 +/* B9B5A4 80240124 1062004E */ beq $v1, $v0, .L80240260 +/* B9B5A8 80240128 0000802D */ daddu $s0, $zero, $zero +/* B9B5AC 8024012C 28620007 */ slti $v0, $v1, 7 +/* B9B5B0 80240130 10400007 */ beqz $v0, .L80240150 +/* B9B5B4 80240134 24020001 */ addiu $v0, $zero, 1 +/* B9B5B8 80240138 10620018 */ beq $v1, $v0, .L8024019C +/* B9B5BC 8024013C 24020005 */ addiu $v0, $zero, 5 +/* B9B5C0 80240140 10620029 */ beq $v1, $v0, .L802401E8 +/* B9B5C4 80240144 000713C2 */ srl $v0, $a3, 0xf +/* B9B5C8 80240148 080900C9 */ j .L80240324 +/* B9B5CC 8024014C 00000000 */ nop +.L80240150: +/* B9B5D0 80240150 240200DE */ addiu $v0, $zero, 0xde +/* B9B5D4 80240154 10620005 */ beq $v1, $v0, .L8024016C +/* B9B5D8 80240158 240200DF */ addiu $v0, $zero, 0xdf +/* B9B5DC 8024015C 50620071 */ beql $v1, $v0, .L80240324 +/* B9B5E0 80240160 24100001 */ addiu $s0, $zero, 1 +/* B9B5E4 80240164 080900C9 */ j .L80240324 +/* B9B5E8 80240168 00000000 */ nop +.L8024016C: +/* B9B5EC 8024016C 00E0202D */ daddu $a0, $a3, $zero +/* B9B5F0 80240170 0260282D */ daddu $a1, $s3, $zero +/* B9B5F4 80240174 0280302D */ daddu $a2, $s4, $zero +/* B9B5F8 80240178 02A0382D */ daddu $a3, $s5, $zero +/* B9B5FC 8024017C E7A00018 */ swc1 $f0, 0x18($sp) +/* B9B600 80240180 E7A2001C */ swc1 $f2, 0x1c($sp) +/* B9B604 80240184 0C090028 */ jal func_802400A0 +/* B9B608 80240188 E7B00020 */ swc1 $f16, 0x20($sp) +/* B9B60C 8024018C C7A00018 */ lwc1 $f0, 0x18($sp) +/* B9B610 80240190 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* B9B614 80240194 080900C9 */ j .L80240324 +/* B9B618 80240198 C7B00020 */ lwc1 $f16, 0x20($sp) +.L8024019C: +/* B9B61C 8024019C 00061302 */ srl $v0, $a2, 0xc +/* B9B620 802401A0 304500FF */ andi $a1, $v0, 0xff +/* B9B624 802401A4 0205102B */ sltu $v0, $s0, $a1 +/* B9B628 802401A8 1040005E */ beqz $v0, .L80240324 +/* B9B62C 802401AC 0000182D */ daddu $v1, $zero, $zero +/* B9B630 802401B0 00061042 */ srl $v0, $a2, 1 +/* B9B634 802401B4 3042007F */ andi $v0, $v0, 0x7f +/* B9B638 802401B8 00453023 */ subu $a2, $v0, $a1 +/* B9B63C 802401BC 00E0202D */ daddu $a0, $a3, $zero +.L802401C0: +/* B9B640 802401C0 00C31021 */ addu $v0, $a2, $v1 +/* B9B644 802401C4 00021080 */ sll $v0, $v0, 2 +/* B9B648 802401C8 00511021 */ addu $v0, $v0, $s1 +/* B9B64C 802401CC AC440000 */ sw $a0, ($v0) +/* B9B650 802401D0 24630001 */ addiu $v1, $v1, 1 +/* B9B654 802401D4 0065102B */ sltu $v0, $v1, $a1 +/* B9B658 802401D8 1440FFF9 */ bnez $v0, .L802401C0 +/* B9B65C 802401DC 24840010 */ addiu $a0, $a0, 0x10 +/* B9B660 802401E0 080900C9 */ j .L80240324 +/* B9B664 802401E4 00000000 */ nop +.L802401E8: +/* B9B668 802401E8 304201FC */ andi $v0, $v0, 0x1fc +/* B9B66C 802401EC 00511021 */ addu $v0, $v0, $s1 +/* B9B670 802401F0 8C440000 */ lw $a0, ($v0) +/* B9B674 802401F4 24100002 */ addiu $s0, $zero, 2 +/* B9B678 802401F8 84820000 */ lh $v0, ($a0) +/* B9B67C 802401FC 84830002 */ lh $v1, 2($a0) +/* B9B680 80240200 44828000 */ mtc1 $v0, $f16 +/* B9B684 80240204 00000000 */ nop +/* B9B688 80240208 46808420 */ cvt.s.w $f16, $f16 +/* B9B68C 8024020C 44830000 */ mtc1 $v1, $f0 +/* B9B690 80240210 00000000 */ nop +/* B9B694 80240214 46800020 */ cvt.s.w $f0, $f0 +/* B9B698 80240218 000711C2 */ srl $v0, $a3, 7 +/* B9B69C 8024021C 304201FC */ andi $v0, $v0, 0x1fc +/* B9B6A0 80240220 00511021 */ addu $v0, $v0, $s1 +/* B9B6A4 80240224 84830004 */ lh $v1, 4($a0) +/* B9B6A8 80240228 8C440000 */ lw $a0, ($v0) +/* B9B6AC 8024022C 4483B000 */ mtc1 $v1, $f22 +/* B9B6B0 80240230 00000000 */ nop +/* B9B6B4 80240234 4680B5A0 */ cvt.s.w $f22, $f22 +/* B9B6B8 80240238 84820000 */ lh $v0, ($a0) +/* B9B6BC 8024023C 84830002 */ lh $v1, 2($a0) +/* B9B6C0 80240240 44821000 */ mtc1 $v0, $f2 +/* B9B6C4 80240244 00000000 */ nop +/* B9B6C8 80240248 468010A0 */ cvt.s.w $f2, $f2 +/* B9B6CC 8024024C 4483F000 */ mtc1 $v1, $f30 +/* B9B6D0 80240250 00000000 */ nop +/* B9B6D4 80240254 4680F7A0 */ cvt.s.w $f30, $f30 +/* B9B6D8 80240258 080900B6 */ j .L802402D8 +/* B9B6DC 8024025C 00071040 */ sll $v0, $a3, 1 +.L80240260: +/* B9B6E0 80240260 000613C2 */ srl $v0, $a2, 0xf +/* B9B6E4 80240264 304201FC */ andi $v0, $v0, 0x1fc +/* B9B6E8 80240268 00511021 */ addu $v0, $v0, $s1 +/* B9B6EC 8024026C 8C440000 */ lw $a0, ($v0) +/* B9B6F0 80240270 24100002 */ addiu $s0, $zero, 2 +/* B9B6F4 80240274 84820000 */ lh $v0, ($a0) +/* B9B6F8 80240278 84830002 */ lh $v1, 2($a0) +/* B9B6FC 8024027C 44828000 */ mtc1 $v0, $f16 +/* B9B700 80240280 00000000 */ nop +/* B9B704 80240284 46808420 */ cvt.s.w $f16, $f16 +/* B9B708 80240288 44830000 */ mtc1 $v1, $f0 +/* B9B70C 8024028C 00000000 */ nop +/* B9B710 80240290 46800020 */ cvt.s.w $f0, $f0 +/* B9B714 80240294 000611C2 */ srl $v0, $a2, 7 +/* B9B718 80240298 304201FC */ andi $v0, $v0, 0x1fc +/* B9B71C 8024029C 00511021 */ addu $v0, $v0, $s1 +/* B9B720 802402A0 84830004 */ lh $v1, 4($a0) +/* B9B724 802402A4 8C440000 */ lw $a0, ($v0) +/* B9B728 802402A8 4483B000 */ mtc1 $v1, $f22 +/* B9B72C 802402AC 00000000 */ nop +/* B9B730 802402B0 4680B5A0 */ cvt.s.w $f22, $f22 +/* B9B734 802402B4 84820000 */ lh $v0, ($a0) +/* B9B738 802402B8 84830002 */ lh $v1, 2($a0) +/* B9B73C 802402BC 44821000 */ mtc1 $v0, $f2 +/* B9B740 802402C0 00000000 */ nop +/* B9B744 802402C4 468010A0 */ cvt.s.w $f2, $f2 +/* B9B748 802402C8 4483F000 */ mtc1 $v1, $f30 +/* B9B74C 802402CC 00000000 */ nop +/* B9B750 802402D0 4680F7A0 */ cvt.s.w $f30, $f30 +/* B9B754 802402D4 00061040 */ sll $v0, $a2, 1 +.L802402D8: +/* B9B758 802402D8 304201FC */ andi $v0, $v0, 0x1fc +/* B9B75C 802402DC 00511021 */ addu $v0, $v0, $s1 +/* B9B760 802402E0 84830004 */ lh $v1, 4($a0) +/* B9B764 802402E4 8C420000 */ lw $v0, ($v0) +/* B9B768 802402E8 4483A000 */ mtc1 $v1, $f20 +/* B9B76C 802402EC 00000000 */ nop +/* B9B770 802402F0 4680A520 */ cvt.s.w $f20, $f20 +/* B9B774 802402F4 84440000 */ lh $a0, ($v0) +/* B9B778 802402F8 84430002 */ lh $v1, 2($v0) +/* B9B77C 802402FC 84420004 */ lh $v0, 4($v0) +/* B9B780 80240300 4484E000 */ mtc1 $a0, $f28 +/* B9B784 80240304 00000000 */ nop +/* B9B788 80240308 4680E720 */ cvt.s.w $f28, $f28 +/* B9B78C 8024030C 4483D000 */ mtc1 $v1, $f26 +/* B9B790 80240310 00000000 */ nop +/* B9B794 80240314 4680D6A0 */ cvt.s.w $f26, $f26 +/* B9B798 80240318 4482C000 */ mtc1 $v0, $f24 +/* B9B79C 8024031C 00000000 */ nop +/* B9B7A0 80240320 4680C620 */ cvt.s.w $f24, $f24 +.L80240324: +/* B9B7A4 80240324 1200FF7B */ beqz $s0, .L80240114 +/* B9B7A8 80240328 26520008 */ addiu $s2, $s2, 8 +/* B9B7AC 8024032C 24020002 */ addiu $v0, $zero, 2 +/* B9B7B0 80240330 1602002C */ bne $s0, $v0, .L802403E4 +/* B9B7B4 80240334 00000000 */ nop +/* B9B7B8 80240338 461E0201 */ sub.s $f8, $f0, $f30 +/* B9B7BC 8024033C 4614C181 */ sub.s $f6, $f24, $f20 +/* B9B7C0 80240340 46064382 */ mul.s $f14, $f8, $f6 +/* B9B7C4 80240344 00000000 */ nop +/* B9B7C8 80240348 4614B101 */ sub.s $f4, $f22, $f20 +/* B9B7CC 8024034C 461ED281 */ sub.s $f10, $f26, $f30 +/* B9B7D0 80240350 460A2302 */ mul.s $f12, $f4, $f10 +/* B9B7D4 80240354 00000000 */ nop +/* B9B7D8 80240358 4602E001 */ sub.s $f0, $f28, $f2 +/* B9B7DC 8024035C 46002102 */ mul.s $f4, $f4, $f0 +/* B9B7E0 80240360 00000000 */ nop +/* B9B7E4 80240364 46028081 */ sub.s $f2, $f16, $f2 +/* B9B7E8 80240368 46061182 */ mul.s $f6, $f2, $f6 +/* B9B7EC 8024036C 00000000 */ nop +/* B9B7F0 80240370 460A1082 */ mul.s $f2, $f2, $f10 +/* B9B7F4 80240374 00000000 */ nop +/* B9B7F8 80240378 46004202 */ mul.s $f8, $f8, $f0 +/* B9B7FC 8024037C 00000000 */ nop +/* B9B800 80240380 460C7501 */ sub.s $f20, $f14, $f12 +/* B9B804 80240384 4614A002 */ mul.s $f0, $f20, $f20 +/* B9B808 80240388 00000000 */ nop +/* B9B80C 8024038C 46062581 */ sub.s $f22, $f4, $f6 +/* B9B810 80240390 4616B102 */ mul.s $f4, $f22, $f22 +/* B9B814 80240394 00000000 */ nop +/* B9B818 80240398 46081601 */ sub.s $f24, $f2, $f8 +/* B9B81C 8024039C 4618C082 */ mul.s $f2, $f24, $f24 +/* B9B820 802403A0 00000000 */ nop +/* B9B824 802403A4 46040000 */ add.s $f0, $f0, $f4 +/* B9B828 802403A8 46020300 */ add.s $f12, $f0, $f2 +/* B9B82C 802403AC 46006084 */ sqrt.s $f2, $f12 +/* B9B830 802403B0 46021032 */ c.eq.s $f2, $f2 +/* B9B834 802403B4 00000000 */ nop +/* B9B838 802403B8 45030005 */ bc1tl .L802403D0 +/* B9B83C 802403BC 4602A003 */ div.s $f0, $f20, $f2 +/* B9B840 802403C0 0C0187BC */ jal sqrtf +/* B9B844 802403C4 00000000 */ nop +/* B9B848 802403C8 46000086 */ mov.s $f2, $f0 +/* B9B84C 802403CC 4602A003 */ div.s $f0, $f20, $f2 +.L802403D0: +/* B9B850 802403D0 E6600000 */ swc1 $f0, ($s3) +/* B9B854 802403D4 4602B003 */ div.s $f0, $f22, $f2 +/* B9B858 802403D8 E6800000 */ swc1 $f0, ($s4) +/* B9B85C 802403DC 4602C003 */ div.s $f0, $f24, $f2 +/* B9B860 802403E0 E6A00000 */ swc1 $f0, ($s5) +.L802403E4: +/* B9B864 802403E4 8FBF0040 */ lw $ra, 0x40($sp) +/* B9B868 802403E8 8FB5003C */ lw $s5, 0x3c($sp) +/* B9B86C 802403EC 8FB40038 */ lw $s4, 0x38($sp) +/* B9B870 802403F0 8FB30034 */ lw $s3, 0x34($sp) +/* B9B874 802403F4 8FB20030 */ lw $s2, 0x30($sp) +/* B9B878 802403F8 8FB1002C */ lw $s1, 0x2c($sp) +/* B9B87C 802403FC 8FB00028 */ lw $s0, 0x28($sp) +/* B9B880 80240400 D7BE0070 */ ldc1 $f30, 0x70($sp) +/* B9B884 80240404 D7BC0068 */ ldc1 $f28, 0x68($sp) +/* B9B888 80240408 D7BA0060 */ ldc1 $f26, 0x60($sp) +/* B9B88C 8024040C D7B80058 */ ldc1 $f24, 0x58($sp) +/* B9B890 80240410 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B9B894 80240414 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B9B898 80240418 03E00008 */ jr $ra +/* B9B89C 8024041C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mim/mim_03/func_80240420_B9B480.s b/asm/nonmatchings/world/area_mim/mim_03/func_80240420_B9B480.s new file mode 100644 index 0000000000..f1e8dc2166 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_03/func_80240420_B9B480.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240420_B9B8A0 +/* B9B8A0 80240420 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* B9B8A4 80240424 AFB10024 */ sw $s1, 0x24($sp) +/* B9B8A8 80240428 0080882D */ daddu $s1, $a0, $zero +/* B9B8AC 8024042C AFBF0028 */ sw $ra, 0x28($sp) +/* B9B8B0 80240430 AFB00020 */ sw $s0, 0x20($sp) +/* B9B8B4 80240434 F7B60038 */ sdc1 $f22, 0x38($sp) +/* B9B8B8 80240438 F7B40030 */ sdc1 $f20, 0x30($sp) +/* B9B8BC 8024043C 8E30000C */ lw $s0, 0xc($s1) +/* B9B8C0 80240440 8E050000 */ lw $a1, ($s0) +/* B9B8C4 80240444 0C0B1EAF */ jal get_variable +/* B9B8C8 80240448 26100004 */ addiu $s0, $s0, 4 +/* B9B8CC 8024044C 0C046C04 */ jal get_model_list_index_from_tree_index +/* B9B8D0 80240450 0040202D */ daddu $a0, $v0, $zero +/* B9B8D4 80240454 0C046B4C */ jal get_model_from_list_index +/* B9B8D8 80240458 0040202D */ daddu $a0, $v0, $zero +/* B9B8DC 8024045C 8C420008 */ lw $v0, 8($v0) +/* B9B8E0 80240460 27A50010 */ addiu $a1, $sp, 0x10 +/* B9B8E4 80240464 8C420004 */ lw $v0, 4($v0) +/* B9B8E8 80240468 27A60014 */ addiu $a2, $sp, 0x14 +/* B9B8EC 8024046C 8C440000 */ lw $a0, ($v0) +/* B9B8F0 80240470 0C090028 */ jal func_802400A0 +/* B9B8F4 80240474 27A70018 */ addiu $a3, $sp, 0x18 +/* B9B8F8 80240478 C7A00010 */ lwc1 $f0, 0x10($sp) +/* B9B8FC 8024047C 3C014480 */ lui $at, 0x4480 +/* B9B900 80240480 4481A000 */ mtc1 $at, $f20 +/* B9B904 80240484 00000000 */ nop +/* B9B908 80240488 46140002 */ mul.s $f0, $f0, $f20 +/* B9B90C 8024048C 00000000 */ nop +/* B9B910 80240490 3C01CD5B */ lui $at, 0xcd5b +/* B9B914 80240494 34215858 */ ori $at, $at, 0x5858 +/* B9B918 80240498 4481B000 */ mtc1 $at, $f22 +/* B9B91C 8024049C 00000000 */ nop +/* B9B920 802404A0 46160000 */ add.s $f0, $f0, $f22 +/* B9B924 802404A4 8E050000 */ lw $a1, ($s0) +/* B9B928 802404A8 4600008D */ trunc.w.s $f2, $f0 +/* B9B92C 802404AC 44061000 */ mfc1 $a2, $f2 +/* B9B930 802404B0 0C0B2026 */ jal set_variable +/* B9B934 802404B4 0220202D */ daddu $a0, $s1, $zero +/* B9B938 802404B8 C7A00014 */ lwc1 $f0, 0x14($sp) +/* B9B93C 802404BC 46140002 */ mul.s $f0, $f0, $f20 +/* B9B940 802404C0 00000000 */ nop +/* B9B944 802404C4 26100004 */ addiu $s0, $s0, 4 +/* B9B948 802404C8 46160000 */ add.s $f0, $f0, $f22 +/* B9B94C 802404CC 8E050000 */ lw $a1, ($s0) +/* B9B950 802404D0 4600008D */ trunc.w.s $f2, $f0 +/* B9B954 802404D4 44061000 */ mfc1 $a2, $f2 +/* B9B958 802404D8 0C0B2026 */ jal set_variable +/* B9B95C 802404DC 0220202D */ daddu $a0, $s1, $zero +/* B9B960 802404E0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* B9B964 802404E4 46140002 */ mul.s $f0, $f0, $f20 +/* B9B968 802404E8 00000000 */ nop +/* B9B96C 802404EC 26100004 */ addiu $s0, $s0, 4 +/* B9B970 802404F0 46160000 */ add.s $f0, $f0, $f22 +/* B9B974 802404F4 8E050000 */ lw $a1, ($s0) +/* B9B978 802404F8 4600008D */ trunc.w.s $f2, $f0 +/* B9B97C 802404FC 44061000 */ mfc1 $a2, $f2 +/* B9B980 80240500 0C0B2026 */ jal set_variable +/* B9B984 80240504 0220202D */ daddu $a0, $s1, $zero +/* B9B988 80240508 8FBF0028 */ lw $ra, 0x28($sp) +/* B9B98C 8024050C 8FB10024 */ lw $s1, 0x24($sp) +/* B9B990 80240510 8FB00020 */ lw $s0, 0x20($sp) +/* B9B994 80240514 D7B60038 */ ldc1 $f22, 0x38($sp) +/* B9B998 80240518 D7B40030 */ ldc1 $f20, 0x30($sp) +/* B9B99C 8024051C 24020002 */ addiu $v0, $zero, 2 +/* B9B9A0 80240520 03E00008 */ jr $ra +/* B9B9A4 80240524 27BD0040 */ addiu $sp, $sp, 0x40 +/* B9B9A8 80240528 00000000 */ nop +/* B9B9AC 8024052C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240000_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240000_B9D960.s new file mode 100644 index 0000000000..4bffa7fe8e --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240000_B9D960.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B9D960 +/* B9D960 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B9D964 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* B9D968 80240008 0C046ED4 */ jal enable_world_fog +/* B9D96C 8024000C 00000000 */ nop +/* B9D970 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* B9D974 80240014 0C046EDD */ jal set_world_fog_dist +/* B9D978 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B9D97C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B9D980 80240020 0080282D */ daddu $a1, $a0, $zero +/* B9D984 80240024 0080302D */ daddu $a2, $a0, $zero +/* B9D988 80240028 0C046EE2 */ jal set_world_fog_color +/* B9D98C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* B9D990 80240030 0C048BFB */ jal enable_entity_fog +/* B9D994 80240034 00000000 */ nop +/* B9D998 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* B9D99C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* B9D9A0 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* B9D9A4 80240044 0000202D */ daddu $a0, $zero, $zero +/* B9D9A8 80240048 0080282D */ daddu $a1, $a0, $zero +/* B9D9AC 8024004C 0080302D */ daddu $a2, $a0, $zero +/* B9D9B0 80240050 0C048C0A */ jal set_entity_fog_color +/* B9D9B4 80240054 240700FF */ addiu $a3, $zero, 0xff +/* B9D9B8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* B9D9BC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* B9D9C0 80240060 03E00008 */ jr $ra +/* B9D9C4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* B9D9C8 80240068 00000000 */ nop +/* B9D9CC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240070_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240070_B9D960.s new file mode 100644 index 0000000000..69fca9d0de --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240070_B9D960.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_B9D9D0 +/* B9D9D0 80240070 3C058024 */ lui $a1, 0x8024 +/* B9D9D4 80240074 24A51530 */ addiu $a1, $a1, 0x1530 +/* B9D9D8 80240078 8CA30000 */ lw $v1, ($a1) +/* B9D9DC 8024007C 24040002 */ addiu $a0, $zero, 2 +/* B9D9E0 80240080 10640012 */ beq $v1, $a0, .L802400CC +/* B9D9E4 80240084 28620003 */ slti $v0, $v1, 3 +/* B9D9E8 80240088 10400005 */ beqz $v0, .L802400A0 +/* B9D9EC 8024008C 24020001 */ addiu $v0, $zero, 1 +/* B9D9F0 80240090 1062000A */ beq $v1, $v0, .L802400BC +/* B9D9F4 80240094 3C02E300 */ lui $v0, 0xe300 +/* B9D9F8 80240098 08090057 */ j .L8024015C +/* B9D9FC 8024009C 34420A01 */ ori $v0, $v0, 0xa01 +.L802400A0: +/* B9DA00 802400A0 24020003 */ addiu $v0, $zero, 3 +/* B9DA04 802400A4 10620019 */ beq $v1, $v0, .L8024010C +/* B9DA08 802400A8 24020004 */ addiu $v0, $zero, 4 +/* B9DA0C 802400AC 10620021 */ beq $v1, $v0, .L80240134 +/* B9DA10 802400B0 3C02E300 */ lui $v0, 0xe300 +/* B9DA14 802400B4 08090057 */ j .L8024015C +/* B9DA18 802400B8 34420A01 */ ori $v0, $v0, 0xa01 +.L802400BC: +/* B9DA1C 802400BC 3C018024 */ lui $at, 0x8024 +/* B9DA20 802400C0 AC201538 */ sw $zero, 0x1538($at) +/* B9DA24 802400C4 08090055 */ j .L80240154 +/* B9DA28 802400C8 ACA40000 */ sw $a0, ($a1) +.L802400CC: +/* B9DA2C 802400CC 3C038024 */ lui $v1, 0x8024 +/* B9DA30 802400D0 24631538 */ addiu $v1, $v1, 0x1538 +/* B9DA34 802400D4 8C620000 */ lw $v0, ($v1) +/* B9DA38 802400D8 2442000A */ addiu $v0, $v0, 0xa +/* B9DA3C 802400DC AC620000 */ sw $v0, ($v1) +/* B9DA40 802400E0 28420100 */ slti $v0, $v0, 0x100 +/* B9DA44 802400E4 1440001C */ bnez $v0, .L80240158 +/* B9DA48 802400E8 3C02E300 */ lui $v0, 0xe300 +/* B9DA4C 802400EC 240200FF */ addiu $v0, $zero, 0xff +/* B9DA50 802400F0 AC620000 */ sw $v0, ($v1) +/* B9DA54 802400F4 24020014 */ addiu $v0, $zero, 0x14 +/* B9DA58 802400F8 3C018024 */ lui $at, 0x8024 +/* B9DA5C 802400FC AC221534 */ sw $v0, 0x1534($at) +/* B9DA60 80240100 24020003 */ addiu $v0, $zero, 3 +/* B9DA64 80240104 08090055 */ j .L80240154 +/* B9DA68 80240108 ACA20000 */ sw $v0, ($a1) +.L8024010C: +/* B9DA6C 8024010C 3C038024 */ lui $v1, 0x8024 +/* B9DA70 80240110 24631534 */ addiu $v1, $v1, 0x1534 +/* B9DA74 80240114 8C620000 */ lw $v0, ($v1) +/* B9DA78 80240118 2442FFFF */ addiu $v0, $v0, -1 +/* B9DA7C 8024011C 0441000D */ bgez $v0, .L80240154 +/* B9DA80 80240120 AC620000 */ sw $v0, ($v1) +/* B9DA84 80240124 24020004 */ addiu $v0, $zero, 4 +/* B9DA88 80240128 AC600000 */ sw $zero, ($v1) +/* B9DA8C 8024012C 08090055 */ j .L80240154 +/* B9DA90 80240130 ACA20000 */ sw $v0, ($a1) +.L80240134: +/* B9DA94 80240134 3C038024 */ lui $v1, 0x8024 +/* B9DA98 80240138 24631538 */ addiu $v1, $v1, 0x1538 +/* B9DA9C 8024013C 8C620000 */ lw $v0, ($v1) +/* B9DAA0 80240140 2442FFF6 */ addiu $v0, $v0, -0xa +/* B9DAA4 80240144 04410003 */ bgez $v0, .L80240154 +/* B9DAA8 80240148 AC620000 */ sw $v0, ($v1) +/* B9DAAC 8024014C AC600000 */ sw $zero, ($v1) +/* B9DAB0 80240150 ACA00000 */ sw $zero, ($a1) +.L80240154: +/* B9DAB4 80240154 3C02E300 */ lui $v0, 0xe300 +.L80240158: +/* B9DAB8 80240158 34420A01 */ ori $v0, $v0, 0xa01 +.L8024015C: +/* B9DABC 8024015C 3C06FC12 */ lui $a2, 0xfc12 +/* B9DAC0 80240160 34C6160A */ ori $a2, $a2, 0x160a +/* B9DAC4 80240164 3C08E200 */ lui $t0, 0xe200 +/* B9DAC8 80240168 3508001C */ ori $t0, $t0, 0x1c +/* B9DACC 8024016C 3C07C810 */ lui $a3, 0xc810 +/* B9DAD0 80240170 3C05800A */ lui $a1, 0x800a +/* B9DAD4 80240174 24A5A66C */ addiu $a1, $a1, -0x5994 +/* B9DAD8 80240178 8CA30000 */ lw $v1, ($a1) +/* B9DADC 8024017C 34E74DD8 */ ori $a3, $a3, 0x4dd8 +/* B9DAE0 80240180 0060202D */ daddu $a0, $v1, $zero +/* B9DAE4 80240184 24630008 */ addiu $v1, $v1, 8 +/* B9DAE8 80240188 ACA30000 */ sw $v1, ($a1) +/* B9DAEC 8024018C AC820000 */ sw $v0, ($a0) +/* B9DAF0 80240190 3C020010 */ lui $v0, 0x10 +/* B9DAF4 80240194 AC820004 */ sw $v0, 4($a0) +/* B9DAF8 80240198 24620008 */ addiu $v0, $v1, 8 +/* B9DAFC 8024019C ACA20000 */ sw $v0, ($a1) +/* B9DB00 802401A0 3C048024 */ lui $a0, 0x8024 +/* B9DB04 802401A4 9084153B */ lbu $a0, 0x153b($a0) +/* B9DB08 802401A8 3C02FA00 */ lui $v0, 0xfa00 +/* B9DB0C 802401AC AC620000 */ sw $v0, ($v1) +/* B9DB10 802401B0 24620010 */ addiu $v0, $v1, 0x10 +/* B9DB14 802401B4 AC640004 */ sw $a0, 4($v1) +/* B9DB18 802401B8 ACA20000 */ sw $v0, ($a1) +/* B9DB1C 802401BC 2402FFF8 */ addiu $v0, $zero, -8 +/* B9DB20 802401C0 AC62000C */ sw $v0, 0xc($v1) +/* B9DB24 802401C4 24620018 */ addiu $v0, $v1, 0x18 +/* B9DB28 802401C8 AC660008 */ sw $a2, 8($v1) +/* B9DB2C 802401CC ACA20000 */ sw $v0, ($a1) +/* B9DB30 802401D0 AC680010 */ sw $t0, 0x10($v1) +/* B9DB34 802401D4 03E00008 */ jr $ra +/* B9DB38 802401D8 AC670014 */ sw $a3, 0x14($v1) diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_802401DC_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_802401DC_B9D960.s new file mode 100644 index 0000000000..2a4c6fd79a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_802401DC_B9D960.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401DC_B9DB3C +/* B9DB3C 802401DC 3C038024 */ lui $v1, 0x8024 +/* B9DB40 802401E0 24631530 */ addiu $v1, $v1, 0x1530 +/* B9DB44 802401E4 8C620000 */ lw $v0, ($v1) +/* B9DB48 802401E8 14400002 */ bnez $v0, .L802401F4 +/* B9DB4C 802401EC 24020001 */ addiu $v0, $zero, 1 +/* B9DB50 802401F0 AC620000 */ sw $v0, ($v1) +.L802401F4: +/* B9DB54 802401F4 03E00008 */ jr $ra +/* B9DB58 802401F8 24020002 */ addiu $v0, $zero, 2 +/* B9DB5C 802401FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240200_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240200_B9D960.s new file mode 100644 index 0000000000..7c50beab29 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240200_B9D960.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240200_B9DB60 +/* B9DB60 80240200 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* B9DB64 80240204 AFB00030 */ sw $s0, 0x30($sp) +/* B9DB68 80240208 0080802D */ daddu $s0, $a0, $zero +/* B9DB6C 8024020C AFBF0040 */ sw $ra, 0x40($sp) +/* B9DB70 80240210 AFB3003C */ sw $s3, 0x3c($sp) +/* B9DB74 80240214 AFB20038 */ sw $s2, 0x38($sp) +/* B9DB78 80240218 AFB10034 */ sw $s1, 0x34($sp) +/* B9DB7C 8024021C F7B60050 */ sdc1 $f22, 0x50($sp) +/* B9DB80 80240220 F7B40048 */ sdc1 $f20, 0x48($sp) +/* B9DB84 80240224 8E130148 */ lw $s3, 0x148($s0) +/* B9DB88 80240228 00A0882D */ daddu $s1, $a1, $zero +/* B9DB8C 8024022C 86640008 */ lh $a0, 8($s3) +/* B9DB90 80240230 0C00EABB */ jal get_npc_unsafe +/* B9DB94 80240234 00C0902D */ daddu $s2, $a2, $zero +/* B9DB98 80240238 0200202D */ daddu $a0, $s0, $zero +/* B9DB9C 8024023C 0220282D */ daddu $a1, $s1, $zero +/* B9DBA0 80240240 0240302D */ daddu $a2, $s2, $zero +/* B9DBA4 80240244 0C012568 */ jal func_800495A0 +/* B9DBA8 80240248 0040802D */ daddu $s0, $v0, $zero +/* B9DBAC 8024024C 8E020000 */ lw $v0, ($s0) +/* B9DBB0 80240250 2404002D */ addiu $a0, $zero, 0x2d +/* B9DBB4 80240254 34420800 */ ori $v0, $v0, 0x800 +/* B9DBB8 80240258 0C00A67F */ jal rand_int +/* B9DBBC 8024025C AE020000 */ sw $v0, ($s0) +/* B9DBC0 80240260 0200202D */ daddu $a0, $s0, $zero +/* B9DBC4 80240264 3C05B000 */ lui $a1, 0xb000 +/* B9DBC8 80240268 34A50017 */ ori $a1, $a1, 0x17 +/* B9DBCC 8024026C 44820000 */ mtc1 $v0, $f0 +/* B9DBD0 80240270 00000000 */ nop +/* B9DBD4 80240274 46800021 */ cvt.d.w $f0, $f0 +/* B9DBD8 80240278 3C014024 */ lui $at, 0x4024 +/* B9DBDC 8024027C 44811800 */ mtc1 $at, $f3 +/* B9DBE0 80240280 44801000 */ mtc1 $zero, $f2 +/* B9DBE4 80240284 3C014020 */ lui $at, 0x4020 +/* B9DBE8 80240288 44812800 */ mtc1 $at, $f5 +/* B9DBEC 8024028C 44802000 */ mtc1 $zero, $f4 +/* B9DBF0 80240290 46220003 */ div.d $f0, $f0, $f2 +/* B9DBF4 80240294 46240000 */ add.d $f0, $f0, $f4 +/* B9DBF8 80240298 3C013FC0 */ lui $at, 0x3fc0 +/* B9DBFC 8024029C 44811000 */ mtc1 $at, $f2 +/* B9DC00 802402A0 0000302D */ daddu $a2, $zero, $zero +/* B9DC04 802402A4 E6020014 */ swc1 $f2, 0x14($s0) +/* B9DC08 802402A8 46200020 */ cvt.s.d $f0, $f0 +/* B9DC0C 802402AC 0C012530 */ jal func_800494C0 +/* B9DC10 802402B0 E600001C */ swc1 $f0, 0x1c($s0) +/* B9DC14 802402B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* B9DC18 802402B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* B9DC1C 802402BC C4620000 */ lwc1 $f2, ($v1) +/* B9DC20 802402C0 468010A0 */ cvt.s.w $f2, $f2 +/* B9DC24 802402C4 C4640008 */ lwc1 $f4, 8($v1) +/* B9DC28 802402C8 46802120 */ cvt.s.w $f4, $f4 +/* B9DC2C 802402CC E7A00010 */ swc1 $f0, 0x10($sp) +/* B9DC30 802402D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* B9DC34 802402D4 44051000 */ mfc1 $a1, $f2 +/* B9DC38 802402D8 C440000C */ lwc1 $f0, 0xc($v0) +/* B9DC3C 802402DC 46800020 */ cvt.s.w $f0, $f0 +/* B9DC40 802402E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* B9DC44 802402E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* B9DC48 802402E8 44062000 */ mfc1 $a2, $f4 +/* B9DC4C 802402EC C4400010 */ lwc1 $f0, 0x10($v0) +/* B9DC50 802402F0 46800020 */ cvt.s.w $f0, $f0 +/* B9DC54 802402F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* B9DC58 802402F8 8C640018 */ lw $a0, 0x18($v1) +/* B9DC5C 802402FC 0C0123F5 */ jal is_point_within_region +/* B9DC60 80240300 8E070038 */ lw $a3, 0x38($s0) +/* B9DC64 80240304 10400035 */ beqz $v0, .L802403DC +/* B9DC68 80240308 00000000 */ nop +/* B9DC6C 8024030C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B9DC70 80240310 3C0141C8 */ lui $at, 0x41c8 +/* B9DC74 80240314 4481B000 */ mtc1 $at, $f22 +/* B9DC78 80240318 8E6200D0 */ lw $v0, 0xd0($s3) +/* B9DC7C 8024031C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B9DC80 80240320 C4480000 */ lwc1 $f8, ($v0) +/* B9DC84 80240324 46804220 */ cvt.s.w $f8, $f8 +/* B9DC88 80240328 44064000 */ mfc1 $a2, $f8 +/* B9DC8C 8024032C C4480008 */ lwc1 $f8, 8($v0) +/* B9DC90 80240330 46804220 */ cvt.s.w $f8, $f8 +/* B9DC94 80240334 44074000 */ mfc1 $a3, $f8 +/* B9DC98 80240338 3C01403E */ lui $at, 0x403e +/* B9DC9C 8024033C 4481A800 */ mtc1 $at, $f21 +/* B9DCA0 80240340 4480A000 */ mtc1 $zero, $f20 +/* B9DCA4 80240344 0C00A720 */ jal atan2 +/* B9DCA8 80240348 0000882D */ daddu $s1, $zero, $zero +/* B9DCAC 8024034C C6020038 */ lwc1 $f2, 0x38($s0) +/* B9DCB0 80240350 C604003C */ lwc1 $f4, 0x3c($s0) +/* B9DCB4 80240354 C6060040 */ lwc1 $f6, 0x40($s0) +/* B9DCB8 80240358 E600000C */ swc1 $f0, 0xc($s0) +/* B9DCBC 8024035C E7A20020 */ swc1 $f2, 0x20($sp) +/* B9DCC0 80240360 E7A40024 */ swc1 $f4, 0x24($sp) +/* B9DCC4 80240364 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240368: +/* B9DCC8 80240368 E7B60010 */ swc1 $f22, 0x10($sp) +/* B9DCCC 8024036C C600000C */ lwc1 $f0, 0xc($s0) +/* B9DCD0 80240370 E7A00014 */ swc1 $f0, 0x14($sp) +/* B9DCD4 80240374 860200A8 */ lh $v0, 0xa8($s0) +/* B9DCD8 80240378 27A50020 */ addiu $a1, $sp, 0x20 +/* B9DCDC 8024037C 44820000 */ mtc1 $v0, $f0 +/* B9DCE0 80240380 00000000 */ nop +/* B9DCE4 80240384 46800020 */ cvt.s.w $f0, $f0 +/* B9DCE8 80240388 E7A00018 */ swc1 $f0, 0x18($sp) +/* B9DCEC 8024038C 860200A6 */ lh $v0, 0xa6($s0) +/* B9DCF0 80240390 27A60024 */ addiu $a2, $sp, 0x24 +/* B9DCF4 80240394 44820000 */ mtc1 $v0, $f0 +/* B9DCF8 80240398 00000000 */ nop +/* B9DCFC 8024039C 46800020 */ cvt.s.w $f0, $f0 +/* B9DD00 802403A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B9DD04 802403A4 8E040080 */ lw $a0, 0x80($s0) +/* B9DD08 802403A8 0C037711 */ jal func_800DDC44 +/* B9DD0C 802403AC 27A70028 */ addiu $a3, $sp, 0x28 +/* B9DD10 802403B0 10400016 */ beqz $v0, .L8024040C +/* B9DD14 802403B4 26310001 */ addiu $s1, $s1, 1 +/* B9DD18 802403B8 C600000C */ lwc1 $f0, 0xc($s0) +/* B9DD1C 802403BC 46000021 */ cvt.d.s $f0, $f0 +/* B9DD20 802403C0 46340000 */ add.d $f0, $f0, $f20 +/* B9DD24 802403C4 2A220006 */ slti $v0, $s1, 6 +/* B9DD28 802403C8 46200020 */ cvt.s.d $f0, $f0 +/* B9DD2C 802403CC 1440FFE6 */ bnez $v0, .L80240368 +/* B9DD30 802403D0 E600000C */ swc1 $f0, 0xc($s0) +/* B9DD34 802403D4 08090103 */ j .L8024040C +/* B9DD38 802403D8 00000000 */ nop +.L802403DC: +/* B9DD3C 802403DC 0C00A67F */ jal rand_int +/* B9DD40 802403E0 2404003C */ addiu $a0, $zero, 0x3c +/* B9DD44 802403E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* B9DD48 802403E8 44820000 */ mtc1 $v0, $f0 +/* B9DD4C 802403EC 00000000 */ nop +/* B9DD50 802403F0 46800020 */ cvt.s.w $f0, $f0 +/* B9DD54 802403F4 46006300 */ add.s $f12, $f12, $f0 +/* B9DD58 802403F8 3C0141F0 */ lui $at, 0x41f0 +/* B9DD5C 802403FC 44810000 */ mtc1 $at, $f0 +/* B9DD60 80240400 0C00A6C9 */ jal clamp_angle +/* B9DD64 80240404 46006301 */ sub.s $f12, $f12, $f0 +/* B9DD68 80240408 E600000C */ swc1 $f0, 0xc($s0) +.L8024040C: +/* B9DD6C 8024040C 8FBF0040 */ lw $ra, 0x40($sp) +/* B9DD70 80240410 8FB3003C */ lw $s3, 0x3c($sp) +/* B9DD74 80240414 8FB20038 */ lw $s2, 0x38($sp) +/* B9DD78 80240418 8FB10034 */ lw $s1, 0x34($sp) +/* B9DD7C 8024041C 8FB00030 */ lw $s0, 0x30($sp) +/* B9DD80 80240420 D7B60050 */ ldc1 $f22, 0x50($sp) +/* B9DD84 80240424 D7B40048 */ ldc1 $f20, 0x48($sp) +/* B9DD88 80240428 03E00008 */ jr $ra +/* B9DD8C 8024042C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240430_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240430_B9D960.s new file mode 100644 index 0000000000..1d5eb50aaa --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240430_B9D960.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240430_B9DD90 +/* B9DD90 80240430 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* B9DD94 80240434 AFB3004C */ sw $s3, 0x4c($sp) +/* B9DD98 80240438 0080982D */ daddu $s3, $a0, $zero +/* B9DD9C 8024043C AFBF0054 */ sw $ra, 0x54($sp) +/* B9DDA0 80240440 AFB40050 */ sw $s4, 0x50($sp) +/* B9DDA4 80240444 AFB20048 */ sw $s2, 0x48($sp) +/* B9DDA8 80240448 AFB10044 */ sw $s1, 0x44($sp) +/* B9DDAC 8024044C AFB00040 */ sw $s0, 0x40($sp) +/* B9DDB0 80240450 F7B40058 */ sdc1 $f20, 0x58($sp) +/* B9DDB4 80240454 8E710148 */ lw $s1, 0x148($s3) +/* B9DDB8 80240458 00A0A02D */ daddu $s4, $a1, $zero +/* B9DDBC 8024045C 86240008 */ lh $a0, 8($s1) +/* B9DDC0 80240460 0C00EABB */ jal get_npc_unsafe +/* B9DDC4 80240464 00C0902D */ daddu $s2, $a2, $zero +/* B9DDC8 80240468 8E830014 */ lw $v1, 0x14($s4) +/* B9DDCC 8024046C 04600034 */ bltz $v1, .L80240540 +/* B9DDD0 80240470 0040802D */ daddu $s0, $v0, $zero +/* B9DDD4 80240474 8E620074 */ lw $v0, 0x74($s3) +/* B9DDD8 80240478 1C400030 */ bgtz $v0, .L8024053C +/* B9DDDC 8024047C 2442FFFF */ addiu $v0, $v0, -1 +/* B9DDE0 80240480 0240202D */ daddu $a0, $s2, $zero +/* B9DDE4 80240484 AE630074 */ sw $v1, 0x74($s3) +/* B9DDE8 80240488 AFA00010 */ sw $zero, 0x10($sp) +/* B9DDEC 8024048C 8E86000C */ lw $a2, 0xc($s4) +/* B9DDF0 80240490 8E870010 */ lw $a3, 0x10($s4) +/* B9DDF4 80240494 0C01242D */ jal func_800490B4 +/* B9DDF8 80240498 0220282D */ daddu $a1, $s1, $zero +/* B9DDFC 8024049C 10400025 */ beqz $v0, .L80240534 +/* B9DE00 802404A0 0000202D */ daddu $a0, $zero, $zero +/* B9DE04 802404A4 0200282D */ daddu $a1, $s0, $zero +/* B9DE08 802404A8 0000302D */ daddu $a2, $zero, $zero +/* B9DE0C 802404AC 860300A8 */ lh $v1, 0xa8($s0) +/* B9DE10 802404B0 3C013F80 */ lui $at, 0x3f80 +/* B9DE14 802404B4 44810000 */ mtc1 $at, $f0 +/* B9DE18 802404B8 3C014000 */ lui $at, 0x4000 +/* B9DE1C 802404BC 44811000 */ mtc1 $at, $f2 +/* B9DE20 802404C0 3C01C1A0 */ lui $at, 0xc1a0 +/* B9DE24 802404C4 44812000 */ mtc1 $at, $f4 +/* B9DE28 802404C8 2402000F */ addiu $v0, $zero, 0xf +/* B9DE2C 802404CC AFA2001C */ sw $v0, 0x1c($sp) +/* B9DE30 802404D0 44835000 */ mtc1 $v1, $f10 +/* B9DE34 802404D4 00000000 */ nop +/* B9DE38 802404D8 468052A0 */ cvt.s.w $f10, $f10 +/* B9DE3C 802404DC 44075000 */ mfc1 $a3, $f10 +/* B9DE40 802404E0 27A20028 */ addiu $v0, $sp, 0x28 +/* B9DE44 802404E4 AFA20020 */ sw $v0, 0x20($sp) +/* B9DE48 802404E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* B9DE4C 802404EC E7A20014 */ swc1 $f2, 0x14($sp) +/* B9DE50 802404F0 0C01BFA4 */ jal fx_emote +/* B9DE54 802404F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* B9DE58 802404F8 0200202D */ daddu $a0, $s0, $zero +/* B9DE5C 802404FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B9DE60 80240500 0C012530 */ jal func_800494C0 +/* B9DE64 80240504 3C060020 */ lui $a2, 0x20 +/* B9DE68 80240508 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B9DE6C 8024050C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B9DE70 80240510 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B9DE74 80240514 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B9DE78 80240518 8C460028 */ lw $a2, 0x28($v0) +/* B9DE7C 8024051C 0C00A720 */ jal atan2 +/* B9DE80 80240520 8C470030 */ lw $a3, 0x30($v0) +/* B9DE84 80240524 2402000C */ addiu $v0, $zero, 0xc +/* B9DE88 80240528 E600000C */ swc1 $f0, 0xc($s0) +/* B9DE8C 8024052C 080901D1 */ j .L80240744 +/* B9DE90 80240530 AE620070 */ sw $v0, 0x70($s3) +.L80240534: +/* B9DE94 80240534 8E620074 */ lw $v0, 0x74($s3) +/* B9DE98 80240538 2442FFFF */ addiu $v0, $v0, -1 +.L8024053C: +/* B9DE9C 8024053C AE620074 */ sw $v0, 0x74($s3) +.L80240540: +/* B9DEA0 80240540 C6000018 */ lwc1 $f0, 0x18($s0) +/* B9DEA4 80240544 44801000 */ mtc1 $zero, $f2 +/* B9DEA8 80240548 44801800 */ mtc1 $zero, $f3 +/* B9DEAC 8024054C 46000021 */ cvt.d.s $f0, $f0 +/* B9DEB0 80240550 4620103C */ c.lt.d $f2, $f0 +/* B9DEB4 80240554 00000000 */ nop +/* B9DEB8 80240558 45000025 */ bc1f .L802405F0 +/* B9DEBC 8024055C 27A5002C */ addiu $a1, $sp, 0x2c +/* B9DEC0 80240560 C6000038 */ lwc1 $f0, 0x38($s0) +/* B9DEC4 80240564 860200A6 */ lh $v0, 0xa6($s0) +/* B9DEC8 80240568 3C018024 */ lui $at, 0x8024 +/* B9DECC 8024056C D4222D80 */ ldc1 $f2, 0x2d80($at) +/* B9DED0 80240570 27A60030 */ addiu $a2, $sp, 0x30 +/* B9DED4 80240574 E7A0002C */ swc1 $f0, 0x2c($sp) +/* B9DED8 80240578 44820000 */ mtc1 $v0, $f0 +/* B9DEDC 8024057C 00000000 */ nop +/* B9DEE0 80240580 46800020 */ cvt.s.w $f0, $f0 +/* B9DEE4 80240584 46000021 */ cvt.d.s $f0, $f0 +/* B9DEE8 80240588 C604003C */ lwc1 $f4, 0x3c($s0) +/* B9DEEC 8024058C C6060040 */ lwc1 $f6, 0x40($s0) +/* B9DEF0 80240590 C6080018 */ lwc1 $f8, 0x18($s0) +/* B9DEF4 80240594 860200A8 */ lh $v0, 0xa8($s0) +/* B9DEF8 80240598 46220002 */ mul.d $f0, $f0, $f2 +/* B9DEFC 8024059C 00000000 */ nop +/* B9DF00 802405A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* B9DF04 802405A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* B9DF08 802405A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* B9DF0C 802405AC C604000C */ lwc1 $f4, 0xc($s0) +/* B9DF10 802405B0 44821000 */ mtc1 $v0, $f2 +/* B9DF14 802405B4 00000000 */ nop +/* B9DF18 802405B8 468010A0 */ cvt.s.w $f2, $f2 +/* B9DF1C 802405BC E7A20018 */ swc1 $f2, 0x18($sp) +/* B9DF20 802405C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* B9DF24 802405C4 46200020 */ cvt.s.d $f0, $f0 +/* B9DF28 802405C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B9DF2C 802405CC 8E040080 */ lw $a0, 0x80($s0) +/* B9DF30 802405D0 0C037711 */ jal func_800DDC44 +/* B9DF34 802405D4 27A70034 */ addiu $a3, $sp, 0x34 +/* B9DF38 802405D8 54400005 */ bnel $v0, $zero, .L802405F0 +/* B9DF3C 802405DC AE000018 */ sw $zero, 0x18($s0) +/* B9DF40 802405E0 8E050018 */ lw $a1, 0x18($s0) +/* B9DF44 802405E4 8E06000C */ lw $a2, 0xc($s0) +/* B9DF48 802405E8 0C00EA95 */ jal npc_move_heading +/* B9DF4C 802405EC 0200202D */ daddu $a0, $s0, $zero +.L802405F0: +/* B9DF50 802405F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* B9DF54 802405F4 44801000 */ mtc1 $zero, $f2 +/* B9DF58 802405F8 44801800 */ mtc1 $zero, $f3 +/* B9DF5C 802405FC 46000021 */ cvt.d.s $f0, $f0 +/* B9DF60 80240600 4622003C */ c.lt.d $f0, $f2 +/* B9DF64 80240604 00000000 */ nop +/* B9DF68 80240608 45000047 */ bc1f .L80240728 +/* B9DF6C 8024060C 27A5002C */ addiu $a1, $sp, 0x2c +/* B9DF70 80240610 27A60030 */ addiu $a2, $sp, 0x30 +/* B9DF74 80240614 27A20038 */ addiu $v0, $sp, 0x38 +/* B9DF78 80240618 C602003C */ lwc1 $f2, 0x3c($s0) +/* B9DF7C 8024061C C6060038 */ lwc1 $f6, 0x38($s0) +/* B9DF80 80240620 3C01402A */ lui $at, 0x402a +/* B9DF84 80240624 4481A800 */ mtc1 $at, $f21 +/* B9DF88 80240628 4480A000 */ mtc1 $zero, $f20 +/* B9DF8C 8024062C 460010A1 */ cvt.d.s $f2, $f2 +/* B9DF90 80240630 46341080 */ add.d $f2, $f2, $f20 +/* B9DF94 80240634 C600001C */ lwc1 $f0, 0x1c($s0) +/* B9DF98 80240638 C6040040 */ lwc1 $f4, 0x40($s0) +/* B9DF9C 8024063C 46000005 */ abs.s $f0, $f0 +/* B9DFA0 80240640 E7A40034 */ swc1 $f4, 0x34($sp) +/* B9DFA4 80240644 3C014030 */ lui $at, 0x4030 +/* B9DFA8 80240648 44812800 */ mtc1 $at, $f5 +/* B9DFAC 8024064C 44802000 */ mtc1 $zero, $f4 +/* B9DFB0 80240650 46000021 */ cvt.d.s $f0, $f0 +/* B9DFB4 80240654 E7A6002C */ swc1 $f6, 0x2c($sp) +/* B9DFB8 80240658 46240000 */ add.d $f0, $f0, $f4 +/* B9DFBC 8024065C 462010A0 */ cvt.s.d $f2, $f2 +/* B9DFC0 80240660 E7A20030 */ swc1 $f2, 0x30($sp) +/* B9DFC4 80240664 46200020 */ cvt.s.d $f0, $f0 +/* B9DFC8 80240668 E7A00038 */ swc1 $f0, 0x38($sp) +/* B9DFCC 8024066C AFA20010 */ sw $v0, 0x10($sp) +/* B9DFD0 80240670 8E040080 */ lw $a0, 0x80($s0) +/* B9DFD4 80240674 0C0372DF */ jal func_800DCB7C +/* B9DFD8 80240678 27A70034 */ addiu $a3, $sp, 0x34 +/* B9DFDC 8024067C 1040002A */ beqz $v0, .L80240728 +/* B9DFE0 80240680 00000000 */ nop +/* B9DFE4 80240684 C600001C */ lwc1 $f0, 0x1c($s0) +/* B9DFE8 80240688 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B9DFEC 8024068C 46000005 */ abs.s $f0, $f0 +/* B9DFF0 80240690 46000021 */ cvt.d.s $f0, $f0 +/* B9DFF4 80240694 46340000 */ add.d $f0, $f0, $f20 +/* B9DFF8 80240698 460010A1 */ cvt.d.s $f2, $f2 +/* B9DFFC 8024069C 4620103E */ c.le.d $f2, $f0 +/* B9E000 802406A0 00000000 */ nop +/* B9E004 802406A4 45000020 */ bc1f .L80240728 +/* B9E008 802406A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B9E00C 802406AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* B9E010 802406B0 8E020000 */ lw $v0, ($s0) +/* B9E014 802406B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* B9E018 802406B8 AE00001C */ sw $zero, 0x1c($s0) +/* B9E01C 802406BC 00431024 */ and $v0, $v0, $v1 +/* B9E020 802406C0 AE020000 */ sw $v0, ($s0) +/* B9E024 802406C4 24020002 */ addiu $v0, $zero, 2 +/* B9E028 802406C8 E600003C */ swc1 $f0, 0x3c($s0) +/* B9E02C 802406CC 0C00A67F */ jal rand_int +/* B9E030 802406D0 AE620070 */ sw $v0, 0x70($s3) +/* B9E034 802406D4 3C035555 */ lui $v1, 0x5555 +/* B9E038 802406D8 34635556 */ ori $v1, $v1, 0x5556 +/* B9E03C 802406DC 00430018 */ mult $v0, $v1 +/* B9E040 802406E0 000227C3 */ sra $a0, $v0, 0x1f +/* B9E044 802406E4 00004010 */ mfhi $t0 +/* B9E048 802406E8 01042023 */ subu $a0, $t0, $a0 +/* B9E04C 802406EC 00041840 */ sll $v1, $a0, 1 +/* B9E050 802406F0 00641821 */ addu $v1, $v1, $a0 +/* B9E054 802406F4 00431023 */ subu $v0, $v0, $v1 +/* B9E058 802406F8 24430002 */ addiu $v1, $v0, 2 +/* B9E05C 802406FC AE630074 */ sw $v1, 0x74($s3) +/* B9E060 80240700 8E82002C */ lw $v0, 0x2c($s4) +/* B9E064 80240704 5840000F */ blezl $v0, .L80240744 +/* B9E068 80240708 AE600070 */ sw $zero, 0x70($s3) +/* B9E06C 8024070C 8E820004 */ lw $v0, 4($s4) +/* B9E070 80240710 5840000C */ blezl $v0, .L80240744 +/* B9E074 80240714 AE600070 */ sw $zero, 0x70($s3) +/* B9E078 80240718 1460000A */ bnez $v1, .L80240744 +/* B9E07C 8024071C 00000000 */ nop +/* B9E080 80240720 080901D1 */ j .L80240744 +/* B9E084 80240724 AE600070 */ sw $zero, 0x70($s3) +.L80240728: +/* B9E088 80240728 C604003C */ lwc1 $f4, 0x3c($s0) +/* B9E08C 8024072C C600001C */ lwc1 $f0, 0x1c($s0) +/* B9E090 80240730 46002100 */ add.s $f4, $f4, $f0 +/* B9E094 80240734 C6020014 */ lwc1 $f2, 0x14($s0) +/* B9E098 80240738 46020001 */ sub.s $f0, $f0, $f2 +/* B9E09C 8024073C E604003C */ swc1 $f4, 0x3c($s0) +/* B9E0A0 80240740 E600001C */ swc1 $f0, 0x1c($s0) +.L80240744: +/* B9E0A4 80240744 8FBF0054 */ lw $ra, 0x54($sp) +/* B9E0A8 80240748 8FB40050 */ lw $s4, 0x50($sp) +/* B9E0AC 8024074C 8FB3004C */ lw $s3, 0x4c($sp) +/* B9E0B0 80240750 8FB20048 */ lw $s2, 0x48($sp) +/* B9E0B4 80240754 8FB10044 */ lw $s1, 0x44($sp) +/* B9E0B8 80240758 8FB00040 */ lw $s0, 0x40($sp) +/* B9E0BC 8024075C D7B40058 */ ldc1 $f20, 0x58($sp) +/* B9E0C0 80240760 03E00008 */ jr $ra +/* B9E0C4 80240764 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240768_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240768_B9D960.s new file mode 100644 index 0000000000..a765f3789d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240768_B9D960.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240768_B9E0C8 +/* B9E0C8 80240768 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* B9E0CC 8024076C AFB3001C */ sw $s3, 0x1c($sp) +/* B9E0D0 80240770 0080982D */ daddu $s3, $a0, $zero +/* B9E0D4 80240774 AFBF0020 */ sw $ra, 0x20($sp) +/* B9E0D8 80240778 AFB20018 */ sw $s2, 0x18($sp) +/* B9E0DC 8024077C AFB10014 */ sw $s1, 0x14($sp) +/* B9E0E0 80240780 AFB00010 */ sw $s0, 0x10($sp) +/* B9E0E4 80240784 8E720148 */ lw $s2, 0x148($s3) +/* B9E0E8 80240788 86440008 */ lh $a0, 8($s2) +/* B9E0EC 8024078C 0C00EABB */ jal get_npc_unsafe +/* B9E0F0 80240790 00A0882D */ daddu $s1, $a1, $zero +/* B9E0F4 80240794 8E240008 */ lw $a0, 8($s1) +/* B9E0F8 80240798 0040802D */ daddu $s0, $v0, $zero +/* B9E0FC 8024079C 00041FC2 */ srl $v1, $a0, 0x1f +/* B9E100 802407A0 00832021 */ addu $a0, $a0, $v1 +/* B9E104 802407A4 00042043 */ sra $a0, $a0, 1 +/* B9E108 802407A8 0C00A67F */ jal rand_int +/* B9E10C 802407AC 24840001 */ addiu $a0, $a0, 1 +/* B9E110 802407B0 8E230008 */ lw $v1, 8($s1) +/* B9E114 802407B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* B9E118 802407B8 00032FC2 */ srl $a1, $v1, 0x1f +/* B9E11C 802407BC 00651821 */ addu $v1, $v1, $a1 +/* B9E120 802407C0 00031843 */ sra $v1, $v1, 1 +/* B9E124 802407C4 00621821 */ addu $v1, $v1, $v0 +/* B9E128 802407C8 0C00A67F */ jal rand_int +/* B9E12C 802407CC A603008E */ sh $v1, 0x8e($s0) +/* B9E130 802407D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* B9E134 802407D4 44820000 */ mtc1 $v0, $f0 +/* B9E138 802407D8 00000000 */ nop +/* B9E13C 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* B9E140 802407E0 46006300 */ add.s $f12, $f12, $f0 +/* B9E144 802407E4 3C0142B4 */ lui $at, 0x42b4 +/* B9E148 802407E8 44810000 */ mtc1 $at, $f0 +/* B9E14C 802407EC 0C00A6C9 */ jal clamp_angle +/* B9E150 802407F0 46006301 */ sub.s $f12, $f12, $f0 +/* B9E154 802407F4 E600000C */ swc1 $f0, 0xc($s0) +/* B9E158 802407F8 8E4200CC */ lw $v0, 0xcc($s2) +/* B9E15C 802407FC 8C420000 */ lw $v0, ($v0) +/* B9E160 80240800 AE020028 */ sw $v0, 0x28($s0) +/* B9E164 80240804 24020003 */ addiu $v0, $zero, 3 +/* B9E168 80240808 AE620070 */ sw $v0, 0x70($s3) +/* B9E16C 8024080C 8FBF0020 */ lw $ra, 0x20($sp) +/* B9E170 80240810 8FB3001C */ lw $s3, 0x1c($sp) +/* B9E174 80240814 8FB20018 */ lw $s2, 0x18($sp) +/* B9E178 80240818 8FB10014 */ lw $s1, 0x14($sp) +/* B9E17C 8024081C 8FB00010 */ lw $s0, 0x10($sp) +/* B9E180 80240820 03E00008 */ jr $ra +/* B9E184 80240824 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240828_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240828_B9D960.s new file mode 100644 index 0000000000..d0f950c2a4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240828_B9D960.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240828_B9E188 +/* B9E188 80240828 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* B9E18C 8024082C AFB40040 */ sw $s4, 0x40($sp) +/* B9E190 80240830 0080A02D */ daddu $s4, $a0, $zero +/* B9E194 80240834 AFBF0044 */ sw $ra, 0x44($sp) +/* B9E198 80240838 AFB3003C */ sw $s3, 0x3c($sp) +/* B9E19C 8024083C AFB20038 */ sw $s2, 0x38($sp) +/* B9E1A0 80240840 AFB10034 */ sw $s1, 0x34($sp) +/* B9E1A4 80240844 AFB00030 */ sw $s0, 0x30($sp) +/* B9E1A8 80240848 8E920148 */ lw $s2, 0x148($s4) +/* B9E1AC 8024084C 00A0882D */ daddu $s1, $a1, $zero +/* B9E1B0 80240850 86440008 */ lh $a0, 8($s2) +/* B9E1B4 80240854 0C00EABB */ jal get_npc_unsafe +/* B9E1B8 80240858 00C0982D */ daddu $s3, $a2, $zero +/* B9E1BC 8024085C 8E230014 */ lw $v1, 0x14($s1) +/* B9E1C0 80240860 0460002D */ bltz $v1, .L80240918 +/* B9E1C4 80240864 0040802D */ daddu $s0, $v0, $zero +/* B9E1C8 80240868 0260202D */ daddu $a0, $s3, $zero +/* B9E1CC 8024086C AFA00010 */ sw $zero, 0x10($sp) +/* B9E1D0 80240870 8E260024 */ lw $a2, 0x24($s1) +/* B9E1D4 80240874 8E270028 */ lw $a3, 0x28($s1) +/* B9E1D8 80240878 0C01242D */ jal func_800490B4 +/* B9E1DC 8024087C 0240282D */ daddu $a1, $s2, $zero +/* B9E1E0 80240880 10400025 */ beqz $v0, .L80240918 +/* B9E1E4 80240884 0000202D */ daddu $a0, $zero, $zero +/* B9E1E8 80240888 0200282D */ daddu $a1, $s0, $zero +/* B9E1EC 8024088C 0000302D */ daddu $a2, $zero, $zero +/* B9E1F0 80240890 860300A8 */ lh $v1, 0xa8($s0) +/* B9E1F4 80240894 3C013F80 */ lui $at, 0x3f80 +/* B9E1F8 80240898 44810000 */ mtc1 $at, $f0 +/* B9E1FC 8024089C 3C014000 */ lui $at, 0x4000 +/* B9E200 802408A0 44811000 */ mtc1 $at, $f2 +/* B9E204 802408A4 3C01C1A0 */ lui $at, 0xc1a0 +/* B9E208 802408A8 44812000 */ mtc1 $at, $f4 +/* B9E20C 802408AC 2402000F */ addiu $v0, $zero, 0xf +/* B9E210 802408B0 AFA2001C */ sw $v0, 0x1c($sp) +/* B9E214 802408B4 44833000 */ mtc1 $v1, $f6 +/* B9E218 802408B8 00000000 */ nop +/* B9E21C 802408BC 468031A0 */ cvt.s.w $f6, $f6 +/* B9E220 802408C0 44073000 */ mfc1 $a3, $f6 +/* B9E224 802408C4 27A20028 */ addiu $v0, $sp, 0x28 +/* B9E228 802408C8 AFA20020 */ sw $v0, 0x20($sp) +/* B9E22C 802408CC E7A00010 */ swc1 $f0, 0x10($sp) +/* B9E230 802408D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* B9E234 802408D4 0C01BFA4 */ jal fx_emote +/* B9E238 802408D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* B9E23C 802408DC 0200202D */ daddu $a0, $s0, $zero +/* B9E240 802408E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* B9E244 802408E4 0C012530 */ jal func_800494C0 +/* B9E248 802408E8 3C060020 */ lui $a2, 0x20 +/* B9E24C 802408EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B9E250 802408F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B9E254 802408F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B9E258 802408F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B9E25C 802408FC 8C460028 */ lw $a2, 0x28($v0) +/* B9E260 80240900 0C00A720 */ jal atan2 +/* B9E264 80240904 8C470030 */ lw $a3, 0x30($v0) +/* B9E268 80240908 2402000C */ addiu $v0, $zero, 0xc +/* B9E26C 8024090C E600000C */ swc1 $f0, 0xc($s0) +/* B9E270 80240910 0809026B */ j .L802409AC +/* B9E274 80240914 AE820070 */ sw $v0, 0x70($s4) +.L80240918: +/* B9E278 80240918 8602008C */ lh $v0, 0x8c($s0) +/* B9E27C 8024091C 14400023 */ bnez $v0, .L802409AC +/* B9E280 80240920 00000000 */ nop +/* B9E284 80240924 9602008E */ lhu $v0, 0x8e($s0) +/* B9E288 80240928 2442FFFF */ addiu $v0, $v0, -1 +/* B9E28C 8024092C A602008E */ sh $v0, 0x8e($s0) +/* B9E290 80240930 00021400 */ sll $v0, $v0, 0x10 +/* B9E294 80240934 1C40001D */ bgtz $v0, .L802409AC +/* B9E298 80240938 00000000 */ nop +/* B9E29C 8024093C 8E820074 */ lw $v0, 0x74($s4) +/* B9E2A0 80240940 2442FFFF */ addiu $v0, $v0, -1 +/* B9E2A4 80240944 18400018 */ blez $v0, .L802409A8 +/* B9E2A8 80240948 AE820074 */ sw $v0, 0x74($s4) +/* B9E2AC 8024094C C600000C */ lwc1 $f0, 0xc($s0) +/* B9E2B0 80240950 3C014334 */ lui $at, 0x4334 +/* B9E2B4 80240954 44816000 */ mtc1 $at, $f12 +/* B9E2B8 80240958 0C00A6C9 */ jal clamp_angle +/* B9E2BC 8024095C 460C0300 */ add.s $f12, $f0, $f12 +/* B9E2C0 80240960 240403E8 */ addiu $a0, $zero, 0x3e8 +/* B9E2C4 80240964 0C00A67F */ jal rand_int +/* B9E2C8 80240968 E600000C */ swc1 $f0, 0xc($s0) +/* B9E2CC 8024096C 3C032E8B */ lui $v1, 0x2e8b +/* B9E2D0 80240970 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* B9E2D4 80240974 00430018 */ mult $v0, $v1 +/* B9E2D8 80240978 00021FC3 */ sra $v1, $v0, 0x1f +/* B9E2DC 8024097C 00004010 */ mfhi $t0 +/* B9E2E0 80240980 00082043 */ sra $a0, $t0, 1 +/* B9E2E4 80240984 00832023 */ subu $a0, $a0, $v1 +/* B9E2E8 80240988 00041840 */ sll $v1, $a0, 1 +/* B9E2EC 8024098C 00641821 */ addu $v1, $v1, $a0 +/* B9E2F0 80240990 00031880 */ sll $v1, $v1, 2 +/* B9E2F4 80240994 00641823 */ subu $v1, $v1, $a0 +/* B9E2F8 80240998 00431023 */ subu $v0, $v0, $v1 +/* B9E2FC 8024099C 24420005 */ addiu $v0, $v0, 5 +/* B9E300 802409A0 0809026B */ j .L802409AC +/* B9E304 802409A4 A602008E */ sh $v0, 0x8e($s0) +.L802409A8: +/* B9E308 802409A8 AE800070 */ sw $zero, 0x70($s4) +.L802409AC: +/* B9E30C 802409AC 8FBF0044 */ lw $ra, 0x44($sp) +/* B9E310 802409B0 8FB40040 */ lw $s4, 0x40($sp) +/* B9E314 802409B4 8FB3003C */ lw $s3, 0x3c($sp) +/* B9E318 802409B8 8FB20038 */ lw $s2, 0x38($sp) +/* B9E31C 802409BC 8FB10034 */ lw $s1, 0x34($sp) +/* B9E320 802409C0 8FB00030 */ lw $s0, 0x30($sp) +/* B9E324 802409C4 03E00008 */ jr $ra +/* B9E328 802409C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_802409CC_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_802409CC_B9D960.s new file mode 100644 index 0000000000..7e4a483609 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_802409CC_B9D960.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409CC_B9E32C +/* B9E32C 802409CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B9E330 802409D0 AFB10014 */ sw $s1, 0x14($sp) +/* B9E334 802409D4 0080882D */ daddu $s1, $a0, $zero +/* B9E338 802409D8 AFBF001C */ sw $ra, 0x1c($sp) +/* B9E33C 802409DC AFB20018 */ sw $s2, 0x18($sp) +/* B9E340 802409E0 AFB00010 */ sw $s0, 0x10($sp) +/* B9E344 802409E4 8E220148 */ lw $v0, 0x148($s1) +/* B9E348 802409E8 00A0902D */ daddu $s2, $a1, $zero +/* B9E34C 802409EC 84440008 */ lh $a0, 8($v0) +/* B9E350 802409F0 0C00EABB */ jal get_npc_unsafe +/* B9E354 802409F4 00C0802D */ daddu $s0, $a2, $zero +/* B9E358 802409F8 0220202D */ daddu $a0, $s1, $zero +/* B9E35C 802409FC 0240282D */ daddu $a1, $s2, $zero +/* B9E360 80240A00 0200302D */ daddu $a2, $s0, $zero +/* B9E364 80240A04 0C0127DF */ jal func_80049F7C +/* B9E368 80240A08 0040802D */ daddu $s0, $v0, $zero +/* B9E36C 80240A0C 8E020000 */ lw $v0, ($s0) +/* B9E370 80240A10 24040005 */ addiu $a0, $zero, 5 +/* B9E374 80240A14 34420800 */ ori $v0, $v0, 0x800 +/* B9E378 80240A18 0C00A67F */ jal rand_int +/* B9E37C 80240A1C AE020000 */ sw $v0, ($s0) +/* B9E380 80240A20 44820000 */ mtc1 $v0, $f0 +/* B9E384 80240A24 00000000 */ nop +/* B9E388 80240A28 46800021 */ cvt.d.w $f0, $f0 +/* B9E38C 80240A2C 3C014024 */ lui $at, 0x4024 +/* B9E390 80240A30 44811800 */ mtc1 $at, $f3 +/* B9E394 80240A34 44801000 */ mtc1 $zero, $f2 +/* B9E398 80240A38 3C013FC0 */ lui $at, 0x3fc0 +/* B9E39C 80240A3C 44812000 */ mtc1 $at, $f4 +/* B9E3A0 80240A40 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* B9E3A4 80240A44 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* B9E3A8 80240A48 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B9E3AC 80240A4C C60E0040 */ lwc1 $f14, 0x40($s0) +/* B9E3B0 80240A50 46220000 */ add.d $f0, $f0, $f2 +/* B9E3B4 80240A54 E6040014 */ swc1 $f4, 0x14($s0) +/* B9E3B8 80240A58 46200020 */ cvt.s.d $f0, $f0 +/* B9E3BC 80240A5C E600001C */ swc1 $f0, 0x1c($s0) +/* B9E3C0 80240A60 8C460028 */ lw $a2, 0x28($v0) +/* B9E3C4 80240A64 0C00A720 */ jal atan2 +/* B9E3C8 80240A68 8C470030 */ lw $a3, 0x30($v0) +/* B9E3CC 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* B9E3D0 80240A70 3C05B000 */ lui $a1, 0xb000 +/* B9E3D4 80240A74 34A50017 */ ori $a1, $a1, 0x17 +/* B9E3D8 80240A78 0000302D */ daddu $a2, $zero, $zero +/* B9E3DC 80240A7C E480000C */ swc1 $f0, 0xc($a0) +/* B9E3E0 80240A80 C6400018 */ lwc1 $f0, 0x18($s2) +/* B9E3E4 80240A84 2402000D */ addiu $v0, $zero, 0xd +/* B9E3E8 80240A88 E4800018 */ swc1 $f0, 0x18($a0) +/* B9E3EC 80240A8C 0C012530 */ jal func_800494C0 +/* B9E3F0 80240A90 AE220070 */ sw $v0, 0x70($s1) +/* B9E3F4 80240A94 8FBF001C */ lw $ra, 0x1c($sp) +/* B9E3F8 80240A98 8FB20018 */ lw $s2, 0x18($sp) +/* B9E3FC 80240A9C 8FB10014 */ lw $s1, 0x14($sp) +/* B9E400 80240AA0 8FB00010 */ lw $s0, 0x10($sp) +/* B9E404 80240AA4 03E00008 */ jr $ra +/* B9E408 80240AA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240AAC_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240AAC_B9D960.s new file mode 100644 index 0000000000..2560cdee53 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240AAC_B9D960.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_B9E40C +/* B9E40C 80240AAC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* B9E410 80240AB0 AFB40050 */ sw $s4, 0x50($sp) +/* B9E414 80240AB4 0080A02D */ daddu $s4, $a0, $zero +/* B9E418 80240AB8 AFBF0060 */ sw $ra, 0x60($sp) +/* B9E41C 80240ABC AFB7005C */ sw $s7, 0x5c($sp) +/* B9E420 80240AC0 AFB60058 */ sw $s6, 0x58($sp) +/* B9E424 80240AC4 AFB50054 */ sw $s5, 0x54($sp) +/* B9E428 80240AC8 AFB3004C */ sw $s3, 0x4c($sp) +/* B9E42C 80240ACC AFB20048 */ sw $s2, 0x48($sp) +/* B9E430 80240AD0 AFB10044 */ sw $s1, 0x44($sp) +/* B9E434 80240AD4 AFB00040 */ sw $s0, 0x40($sp) +/* B9E438 80240AD8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* B9E43C 80240ADC 8E950148 */ lw $s5, 0x148($s4) +/* B9E440 80240AE0 00A0B02D */ daddu $s6, $a1, $zero +/* B9E444 80240AE4 86A40008 */ lh $a0, 8($s5) +/* B9E448 80240AE8 0C00EABB */ jal get_npc_unsafe +/* B9E44C 80240AEC 00C0B82D */ daddu $s7, $a2, $zero +/* B9E450 80240AF0 0040982D */ daddu $s3, $v0, $zero +/* B9E454 80240AF4 C6600018 */ lwc1 $f0, 0x18($s3) +/* B9E458 80240AF8 44801000 */ mtc1 $zero, $f2 +/* B9E45C 80240AFC 44801800 */ mtc1 $zero, $f3 +/* B9E460 80240B00 46000021 */ cvt.d.s $f0, $f0 +/* B9E464 80240B04 4620103C */ c.lt.d $f2, $f0 +/* B9E468 80240B08 00000000 */ nop +/* B9E46C 80240B0C 45000021 */ bc1f .L80240B94 +/* B9E470 80240B10 27A50028 */ addiu $a1, $sp, 0x28 +/* B9E474 80240B14 C6600038 */ lwc1 $f0, 0x38($s3) +/* B9E478 80240B18 C662003C */ lwc1 $f2, 0x3c($s3) +/* B9E47C 80240B1C C6640040 */ lwc1 $f4, 0x40($s3) +/* B9E480 80240B20 C6660018 */ lwc1 $f6, 0x18($s3) +/* B9E484 80240B24 E7A00028 */ swc1 $f0, 0x28($sp) +/* B9E488 80240B28 E7A2002C */ swc1 $f2, 0x2c($sp) +/* B9E48C 80240B2C E7A40030 */ swc1 $f4, 0x30($sp) +/* B9E490 80240B30 E7A60010 */ swc1 $f6, 0x10($sp) +/* B9E494 80240B34 C660000C */ lwc1 $f0, 0xc($s3) +/* B9E498 80240B38 E7A00014 */ swc1 $f0, 0x14($sp) +/* B9E49C 80240B3C 866200A8 */ lh $v0, 0xa8($s3) +/* B9E4A0 80240B40 44820000 */ mtc1 $v0, $f0 +/* B9E4A4 80240B44 00000000 */ nop +/* B9E4A8 80240B48 46800020 */ cvt.s.w $f0, $f0 +/* B9E4AC 80240B4C E7A00018 */ swc1 $f0, 0x18($sp) +/* B9E4B0 80240B50 866200A6 */ lh $v0, 0xa6($s3) +/* B9E4B4 80240B54 27A6002C */ addiu $a2, $sp, 0x2c +/* B9E4B8 80240B58 44820000 */ mtc1 $v0, $f0 +/* B9E4BC 80240B5C 00000000 */ nop +/* B9E4C0 80240B60 46800020 */ cvt.s.w $f0, $f0 +/* B9E4C4 80240B64 E7A0001C */ swc1 $f0, 0x1c($sp) +/* B9E4C8 80240B68 8E640080 */ lw $a0, 0x80($s3) +/* B9E4CC 80240B6C 0C037711 */ jal func_800DDC44 +/* B9E4D0 80240B70 27A70030 */ addiu $a3, $sp, 0x30 +/* B9E4D4 80240B74 10400003 */ beqz $v0, .L80240B84 +/* B9E4D8 80240B78 00000000 */ nop +/* B9E4DC 80240B7C 080902E5 */ j .L80240B94 +/* B9E4E0 80240B80 AE600018 */ sw $zero, 0x18($s3) +.L80240B84: +/* B9E4E4 80240B84 8E650018 */ lw $a1, 0x18($s3) +/* B9E4E8 80240B88 8E66000C */ lw $a2, 0xc($s3) +/* B9E4EC 80240B8C 0C00EA95 */ jal npc_move_heading +/* B9E4F0 80240B90 0260202D */ daddu $a0, $s3, $zero +.L80240B94: +/* B9E4F4 80240B94 C660001C */ lwc1 $f0, 0x1c($s3) +/* B9E4F8 80240B98 44801000 */ mtc1 $zero, $f2 +/* B9E4FC 80240B9C 44801800 */ mtc1 $zero, $f3 +/* B9E500 80240BA0 46000021 */ cvt.d.s $f0, $f0 +/* B9E504 80240BA4 4622003C */ c.lt.d $f0, $f2 +/* B9E508 80240BA8 00000000 */ nop +/* B9E50C 80240BAC 4500006C */ bc1f .L80240D60 +/* B9E510 80240BB0 27B00028 */ addiu $s0, $sp, 0x28 +/* B9E514 80240BB4 0200282D */ daddu $a1, $s0, $zero +/* B9E518 80240BB8 27A60034 */ addiu $a2, $sp, 0x34 +/* B9E51C 80240BBC 27B20038 */ addiu $s2, $sp, 0x38 +/* B9E520 80240BC0 C6600038 */ lwc1 $f0, 0x38($s3) +/* B9E524 80240BC4 3C0142C8 */ lui $at, 0x42c8 +/* B9E528 80240BC8 44811000 */ mtc1 $at, $f2 +/* B9E52C 80240BCC C6640040 */ lwc1 $f4, 0x40($s3) +/* B9E530 80240BD0 3C01447A */ lui $at, 0x447a +/* B9E534 80240BD4 44813000 */ mtc1 $at, $f6 +/* B9E538 80240BD8 27B10030 */ addiu $s1, $sp, 0x30 +/* B9E53C 80240BDC E7A00028 */ swc1 $f0, 0x28($sp) +/* B9E540 80240BE0 E7A20034 */ swc1 $f2, 0x34($sp) +/* B9E544 80240BE4 E7A40030 */ swc1 $f4, 0x30($sp) +/* B9E548 80240BE8 E7A60038 */ swc1 $f6, 0x38($sp) +/* B9E54C 80240BEC AFB20010 */ sw $s2, 0x10($sp) +/* B9E550 80240BF0 8E640080 */ lw $a0, 0x80($s3) +/* B9E554 80240BF4 0C0372DF */ jal func_800DCB7C +/* B9E558 80240BF8 0220382D */ daddu $a3, $s1, $zero +/* B9E55C 80240BFC 0200282D */ daddu $a1, $s0, $zero +/* B9E560 80240C00 27A6002C */ addiu $a2, $sp, 0x2c +/* B9E564 80240C04 C662003C */ lwc1 $f2, 0x3c($s3) +/* B9E568 80240C08 C6660038 */ lwc1 $f6, 0x38($s3) +/* B9E56C 80240C0C 3C01402A */ lui $at, 0x402a +/* B9E570 80240C10 4481A800 */ mtc1 $at, $f21 +/* B9E574 80240C14 4480A000 */ mtc1 $zero, $f20 +/* B9E578 80240C18 460010A1 */ cvt.d.s $f2, $f2 +/* B9E57C 80240C1C 46341080 */ add.d $f2, $f2, $f20 +/* B9E580 80240C20 C660001C */ lwc1 $f0, 0x1c($s3) +/* B9E584 80240C24 C6640040 */ lwc1 $f4, 0x40($s3) +/* B9E588 80240C28 46000005 */ abs.s $f0, $f0 +/* B9E58C 80240C2C E7A40030 */ swc1 $f4, 0x30($sp) +/* B9E590 80240C30 3C014030 */ lui $at, 0x4030 +/* B9E594 80240C34 44812800 */ mtc1 $at, $f5 +/* B9E598 80240C38 44802000 */ mtc1 $zero, $f4 +/* B9E59C 80240C3C 46000021 */ cvt.d.s $f0, $f0 +/* B9E5A0 80240C40 E7A60028 */ swc1 $f6, 0x28($sp) +/* B9E5A4 80240C44 46240000 */ add.d $f0, $f0, $f4 +/* B9E5A8 80240C48 462010A0 */ cvt.s.d $f2, $f2 +/* B9E5AC 80240C4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* B9E5B0 80240C50 46200020 */ cvt.s.d $f0, $f0 +/* B9E5B4 80240C54 E7A00038 */ swc1 $f0, 0x38($sp) +/* B9E5B8 80240C58 AFB20010 */ sw $s2, 0x10($sp) +/* B9E5BC 80240C5C 8E640080 */ lw $a0, 0x80($s3) +/* B9E5C0 80240C60 0C0372DF */ jal func_800DCB7C +/* B9E5C4 80240C64 0220382D */ daddu $a3, $s1, $zero +/* B9E5C8 80240C68 1040003D */ beqz $v0, .L80240D60 +/* B9E5CC 80240C6C 00000000 */ nop +/* B9E5D0 80240C70 C660001C */ lwc1 $f0, 0x1c($s3) +/* B9E5D4 80240C74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* B9E5D8 80240C78 46000005 */ abs.s $f0, $f0 +/* B9E5DC 80240C7C 46000021 */ cvt.d.s $f0, $f0 +/* B9E5E0 80240C80 46340000 */ add.d $f0, $f0, $f20 +/* B9E5E4 80240C84 460010A1 */ cvt.d.s $f2, $f2 +/* B9E5E8 80240C88 4620103E */ c.le.d $f2, $f0 +/* B9E5EC 80240C8C 00000000 */ nop +/* B9E5F0 80240C90 45000033 */ bc1f .L80240D60 +/* B9E5F4 80240C94 2403F7FF */ addiu $v1, $zero, -0x801 +/* B9E5F8 80240C98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* B9E5FC 80240C9C 8E620000 */ lw $v0, ($s3) +/* B9E600 80240CA0 AE60001C */ sw $zero, 0x1c($s3) +/* B9E604 80240CA4 00431024 */ and $v0, $v0, $v1 +/* B9E608 80240CA8 E660003C */ swc1 $f0, 0x3c($s3) +/* B9E60C 80240CAC AE620000 */ sw $v0, ($s3) +/* B9E610 80240CB0 AFA00010 */ sw $zero, 0x10($sp) +/* B9E614 80240CB4 AFA00014 */ sw $zero, 0x14($sp) +/* B9E618 80240CB8 8E650038 */ lw $a1, 0x38($s3) +/* B9E61C 80240CBC 8E66003C */ lw $a2, 0x3c($s3) +/* B9E620 80240CC0 8E670040 */ lw $a3, 0x40($s3) +/* B9E624 80240CC4 0C01BECC */ jal fx_walk_normal +/* B9E628 80240CC8 24040002 */ addiu $a0, $zero, 2 +/* B9E62C 80240CCC 02E0202D */ daddu $a0, $s7, $zero +/* B9E630 80240CD0 2402000C */ addiu $v0, $zero, 0xc +/* B9E634 80240CD4 AE820070 */ sw $v0, 0x70($s4) +/* B9E638 80240CD8 24020001 */ addiu $v0, $zero, 1 +/* B9E63C 80240CDC AFA20010 */ sw $v0, 0x10($sp) +/* B9E640 80240CE0 8EC60024 */ lw $a2, 0x24($s6) +/* B9E644 80240CE4 8EC70028 */ lw $a3, 0x28($s6) +/* B9E648 80240CE8 0C01242D */ jal func_800490B4 +/* B9E64C 80240CEC 02A0282D */ daddu $a1, $s5, $zero +/* B9E650 80240CF0 14400022 */ bnez $v0, .L80240D7C +/* B9E654 80240CF4 24040002 */ addiu $a0, $zero, 2 +/* B9E658 80240CF8 0260282D */ daddu $a1, $s3, $zero +/* B9E65C 80240CFC 0000302D */ daddu $a2, $zero, $zero +/* B9E660 80240D00 866300A8 */ lh $v1, 0xa8($s3) +/* B9E664 80240D04 3C013F80 */ lui $at, 0x3f80 +/* B9E668 80240D08 44810000 */ mtc1 $at, $f0 +/* B9E66C 80240D0C 3C014000 */ lui $at, 0x4000 +/* B9E670 80240D10 44811000 */ mtc1 $at, $f2 +/* B9E674 80240D14 3C01C1A0 */ lui $at, 0xc1a0 +/* B9E678 80240D18 44812000 */ mtc1 $at, $f4 +/* B9E67C 80240D1C 2402000F */ addiu $v0, $zero, 0xf +/* B9E680 80240D20 AFA2001C */ sw $v0, 0x1c($sp) +/* B9E684 80240D24 44834000 */ mtc1 $v1, $f8 +/* B9E688 80240D28 00000000 */ nop +/* B9E68C 80240D2C 46804220 */ cvt.s.w $f8, $f8 +/* B9E690 80240D30 44074000 */ mfc1 $a3, $f8 +/* B9E694 80240D34 27A2003C */ addiu $v0, $sp, 0x3c +/* B9E698 80240D38 AFA20020 */ sw $v0, 0x20($sp) +/* B9E69C 80240D3C E7A00010 */ swc1 $f0, 0x10($sp) +/* B9E6A0 80240D40 E7A20014 */ swc1 $f2, 0x14($sp) +/* B9E6A4 80240D44 0C01BFA4 */ jal fx_emote +/* B9E6A8 80240D48 E7A40018 */ swc1 $f4, 0x18($sp) +/* B9E6AC 80240D4C 24020019 */ addiu $v0, $zero, 0x19 +/* B9E6B0 80240D50 A662008E */ sh $v0, 0x8e($s3) +/* B9E6B4 80240D54 2402000E */ addiu $v0, $zero, 0xe +/* B9E6B8 80240D58 0809035F */ j .L80240D7C +/* B9E6BC 80240D5C AE820070 */ sw $v0, 0x70($s4) +.L80240D60: +/* B9E6C0 80240D60 C664003C */ lwc1 $f4, 0x3c($s3) +/* B9E6C4 80240D64 C660001C */ lwc1 $f0, 0x1c($s3) +/* B9E6C8 80240D68 46002100 */ add.s $f4, $f4, $f0 +/* B9E6CC 80240D6C C6620014 */ lwc1 $f2, 0x14($s3) +/* B9E6D0 80240D70 46020001 */ sub.s $f0, $f0, $f2 +/* B9E6D4 80240D74 E664003C */ swc1 $f4, 0x3c($s3) +/* B9E6D8 80240D78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240D7C: +/* B9E6DC 80240D7C 8FBF0060 */ lw $ra, 0x60($sp) +/* B9E6E0 80240D80 8FB7005C */ lw $s7, 0x5c($sp) +/* B9E6E4 80240D84 8FB60058 */ lw $s6, 0x58($sp) +/* B9E6E8 80240D88 8FB50054 */ lw $s5, 0x54($sp) +/* B9E6EC 80240D8C 8FB40050 */ lw $s4, 0x50($sp) +/* B9E6F0 80240D90 8FB3004C */ lw $s3, 0x4c($sp) +/* B9E6F4 80240D94 8FB20048 */ lw $s2, 0x48($sp) +/* B9E6F8 80240D98 8FB10044 */ lw $s1, 0x44($sp) +/* B9E6FC 80240D9C 8FB00040 */ lw $s0, 0x40($sp) +/* B9E700 80240DA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* B9E704 80240DA4 03E00008 */ jr $ra +/* B9E708 80240DA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240DAC_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240DAC_B9D960.s new file mode 100644 index 0000000000..615426b56c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240DAC_B9D960.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DAC_B9E70C +/* B9E70C 80240DAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B9E710 80240DB0 AFB00010 */ sw $s0, 0x10($sp) +/* B9E714 80240DB4 0080802D */ daddu $s0, $a0, $zero +/* B9E718 80240DB8 AFBF0014 */ sw $ra, 0x14($sp) +/* B9E71C 80240DBC 8E020148 */ lw $v0, 0x148($s0) +/* B9E720 80240DC0 0C00EABB */ jal get_npc_unsafe +/* B9E724 80240DC4 84440008 */ lh $a0, 8($v0) +/* B9E728 80240DC8 9443008E */ lhu $v1, 0x8e($v0) +/* B9E72C 80240DCC 2463FFFF */ addiu $v1, $v1, -1 +/* B9E730 80240DD0 A443008E */ sh $v1, 0x8e($v0) +/* B9E734 80240DD4 00031C00 */ sll $v1, $v1, 0x10 +/* B9E738 80240DD8 58600001 */ blezl $v1, .L80240DE0 +/* B9E73C 80240DDC AE000070 */ sw $zero, 0x70($s0) +.L80240DE0: +/* B9E740 80240DE0 8FBF0014 */ lw $ra, 0x14($sp) +/* B9E744 80240DE4 8FB00010 */ lw $s0, 0x10($sp) +/* B9E748 80240DE8 03E00008 */ jr $ra +/* B9E74C 80240DEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80240DF0_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_80240DF0_B9D960.s new file mode 100644 index 0000000000..c2019d8868 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80240DF0_B9D960.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF0_B9E750 +/* B9E750 80240DF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B9E754 80240DF4 AFB3003C */ sw $s3, 0x3c($sp) +/* B9E758 80240DF8 0080982D */ daddu $s3, $a0, $zero +/* B9E75C 80240DFC AFBF0048 */ sw $ra, 0x48($sp) +/* B9E760 80240E00 AFB50044 */ sw $s5, 0x44($sp) +/* B9E764 80240E04 AFB40040 */ sw $s4, 0x40($sp) +/* B9E768 80240E08 AFB20038 */ sw $s2, 0x38($sp) +/* B9E76C 80240E0C AFB10034 */ sw $s1, 0x34($sp) +/* B9E770 80240E10 AFB00030 */ sw $s0, 0x30($sp) +/* B9E774 80240E14 8E720148 */ lw $s2, 0x148($s3) +/* B9E778 80240E18 86440008 */ lh $a0, 8($s2) +/* B9E77C 80240E1C 8E70000C */ lw $s0, 0xc($s3) +/* B9E780 80240E20 0C00EABB */ jal get_npc_unsafe +/* B9E784 80240E24 00A0882D */ daddu $s1, $a1, $zero +/* B9E788 80240E28 8E050000 */ lw $a1, ($s0) +/* B9E78C 80240E2C 26100004 */ addiu $s0, $s0, 4 +/* B9E790 80240E30 0260202D */ daddu $a0, $s3, $zero +/* B9E794 80240E34 0C0B1EAF */ jal get_variable +/* B9E798 80240E38 0040A82D */ daddu $s5, $v0, $zero +/* B9E79C 80240E3C 0260202D */ daddu $a0, $s3, $zero +/* B9E7A0 80240E40 8E050000 */ lw $a1, ($s0) +/* B9E7A4 80240E44 0C0B1EAF */ jal get_variable +/* B9E7A8 80240E48 0040A02D */ daddu $s4, $v0, $zero +/* B9E7AC 80240E4C AE420094 */ sw $v0, 0x94($s2) +/* B9E7B0 80240E50 AFA00010 */ sw $zero, 0x10($sp) +/* B9E7B4 80240E54 8E4200D0 */ lw $v0, 0xd0($s2) +/* B9E7B8 80240E58 8C420030 */ lw $v0, 0x30($v0) +/* B9E7BC 80240E5C AFA20014 */ sw $v0, 0x14($sp) +/* B9E7C0 80240E60 8E4200D0 */ lw $v0, 0xd0($s2) +/* B9E7C4 80240E64 8C42001C */ lw $v0, 0x1c($v0) +/* B9E7C8 80240E68 AFA20018 */ sw $v0, 0x18($sp) +/* B9E7CC 80240E6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* B9E7D0 80240E70 8C420024 */ lw $v0, 0x24($v0) +/* B9E7D4 80240E74 AFA2001C */ sw $v0, 0x1c($sp) +/* B9E7D8 80240E78 8E4200D0 */ lw $v0, 0xd0($s2) +/* B9E7DC 80240E7C 8C420028 */ lw $v0, 0x28($v0) +/* B9E7E0 80240E80 AFA20020 */ sw $v0, 0x20($sp) +/* B9E7E4 80240E84 8E4200D0 */ lw $v0, 0xd0($s2) +/* B9E7E8 80240E88 3C0142C8 */ lui $at, 0x42c8 +/* B9E7EC 80240E8C 44810000 */ mtc1 $at, $f0 +/* B9E7F0 80240E90 8C42002C */ lw $v0, 0x2c($v0) +/* B9E7F4 80240E94 27B00010 */ addiu $s0, $sp, 0x10 +/* B9E7F8 80240E98 E7A00028 */ swc1 $f0, 0x28($sp) +/* B9E7FC 80240E9C A7A0002C */ sh $zero, 0x2c($sp) +/* B9E800 80240EA0 12200019 */ beqz $s1, .L80240F08 +/* B9E804 80240EA4 AFA20024 */ sw $v0, 0x24($sp) +/* B9E808 80240EA8 AE600070 */ sw $zero, 0x70($s3) +/* B9E80C 80240EAC A6A0008E */ sh $zero, 0x8e($s5) +/* B9E810 80240EB0 AE600074 */ sw $zero, 0x74($s3) +/* B9E814 80240EB4 8EA20000 */ lw $v0, ($s5) +/* B9E818 80240EB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* B9E81C 80240EBC 00431024 */ and $v0, $v0, $v1 +/* B9E820 80240EC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* B9E824 80240EC4 00431024 */ and $v0, $v0, $v1 +/* B9E828 80240EC8 34420008 */ ori $v0, $v0, 8 +/* B9E82C 80240ECC AEA20000 */ sw $v0, ($s5) +/* B9E830 80240ED0 8E4200B0 */ lw $v0, 0xb0($s2) +/* B9E834 80240ED4 34420018 */ ori $v0, $v0, 0x18 +/* B9E838 80240ED8 AE4200B0 */ sw $v0, 0xb0($s2) +/* B9E83C 80240EDC 8E420000 */ lw $v0, ($s2) +/* B9E840 80240EE0 3C034000 */ lui $v1, 0x4000 +/* B9E844 80240EE4 00431024 */ and $v0, $v0, $v1 +/* B9E848 80240EE8 10400007 */ beqz $v0, .L80240F08 +/* B9E84C 80240EEC 3C03BFFF */ lui $v1, 0xbfff +/* B9E850 80240EF0 2402000C */ addiu $v0, $zero, 0xc +/* B9E854 80240EF4 AE620070 */ sw $v0, 0x70($s3) +/* B9E858 80240EF8 8E420000 */ lw $v0, ($s2) +/* B9E85C 80240EFC 3463FFFF */ ori $v1, $v1, 0xffff +/* B9E860 80240F00 00431024 */ and $v0, $v0, $v1 +/* B9E864 80240F04 AE420000 */ sw $v0, ($s2) +.L80240F08: +/* B9E868 80240F08 8E4300B0 */ lw $v1, 0xb0($s2) +/* B9E86C 80240F0C 30620004 */ andi $v0, $v1, 4 +/* B9E870 80240F10 10400007 */ beqz $v0, .L80240F30 +/* B9E874 80240F14 00000000 */ nop +/* B9E878 80240F18 824200B4 */ lb $v0, 0xb4($s2) +/* B9E87C 80240F1C 14400034 */ bnez $v0, .L80240FF0 +/* B9E880 80240F20 0000102D */ daddu $v0, $zero, $zero +/* B9E884 80240F24 2402FFFB */ addiu $v0, $zero, -5 +/* B9E888 80240F28 00621024 */ and $v0, $v1, $v0 +/* B9E88C 80240F2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240F30: +/* B9E890 80240F30 8E630070 */ lw $v1, 0x70($s3) +/* B9E894 80240F34 2C62000F */ sltiu $v0, $v1, 0xf +/* B9E898 80240F38 1040002C */ beqz $v0, .L80240FEC +/* B9E89C 80240F3C 00031080 */ sll $v0, $v1, 2 +/* B9E8A0 80240F40 3C018024 */ lui $at, 0x8024 +/* B9E8A4 80240F44 00220821 */ addu $at, $at, $v0 +/* B9E8A8 80240F48 8C222D88 */ lw $v0, 0x2d88($at) +/* B9E8AC 80240F4C 00400008 */ jr $v0 +/* B9E8B0 80240F50 00000000 */ nop +/* B9E8B4 80240F54 0260202D */ daddu $a0, $s3, $zero +/* B9E8B8 80240F58 0280282D */ daddu $a1, $s4, $zero +/* B9E8BC 80240F5C 0C090080 */ jal func_80240200 +/* B9E8C0 80240F60 0200302D */ daddu $a2, $s0, $zero +/* B9E8C4 80240F64 0260202D */ daddu $a0, $s3, $zero +/* B9E8C8 80240F68 0280282D */ daddu $a1, $s4, $zero +/* B9E8CC 80240F6C 0C09010C */ jal func_80240430 +/* B9E8D0 80240F70 0200302D */ daddu $a2, $s0, $zero +/* B9E8D4 80240F74 080903FC */ j .L80240FF0 +/* B9E8D8 80240F78 0000102D */ daddu $v0, $zero, $zero +/* B9E8DC 80240F7C 0260202D */ daddu $a0, $s3, $zero +/* B9E8E0 80240F80 0280282D */ daddu $a1, $s4, $zero +/* B9E8E4 80240F84 0C0901DA */ jal func_80240768 +/* B9E8E8 80240F88 0200302D */ daddu $a2, $s0, $zero +/* B9E8EC 80240F8C 8E630070 */ lw $v1, 0x70($s3) +/* B9E8F0 80240F90 24020003 */ addiu $v0, $zero, 3 +/* B9E8F4 80240F94 14620016 */ bne $v1, $v0, .L80240FF0 +/* B9E8F8 80240F98 0000102D */ daddu $v0, $zero, $zero +/* B9E8FC 80240F9C 0260202D */ daddu $a0, $s3, $zero +/* B9E900 80240FA0 0280282D */ daddu $a1, $s4, $zero +/* B9E904 80240FA4 0C09020A */ jal func_80240828 +/* B9E908 80240FA8 0200302D */ daddu $a2, $s0, $zero +/* B9E90C 80240FAC 080903FC */ j .L80240FF0 +/* B9E910 80240FB0 0000102D */ daddu $v0, $zero, $zero +/* B9E914 80240FB4 0260202D */ daddu $a0, $s3, $zero +/* B9E918 80240FB8 0280282D */ daddu $a1, $s4, $zero +/* B9E91C 80240FBC 0C090273 */ jal func_802409CC +/* B9E920 80240FC0 0200302D */ daddu $a2, $s0, $zero +/* B9E924 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* B9E928 80240FC8 0280282D */ daddu $a1, $s4, $zero +/* B9E92C 80240FCC 0C0902AB */ jal func_80240AAC +/* B9E930 80240FD0 0200302D */ daddu $a2, $s0, $zero +/* B9E934 80240FD4 080903FC */ j .L80240FF0 +/* B9E938 80240FD8 0000102D */ daddu $v0, $zero, $zero +/* B9E93C 80240FDC 0260202D */ daddu $a0, $s3, $zero +/* B9E940 80240FE0 0280282D */ daddu $a1, $s4, $zero +/* B9E944 80240FE4 0C09036B */ jal func_80240DAC +/* B9E948 80240FE8 0200302D */ daddu $a2, $s0, $zero +.L80240FEC: +/* B9E94C 80240FEC 0000102D */ daddu $v0, $zero, $zero +.L80240FF0: +/* B9E950 80240FF0 8FBF0048 */ lw $ra, 0x48($sp) +/* B9E954 80240FF4 8FB50044 */ lw $s5, 0x44($sp) +/* B9E958 80240FF8 8FB40040 */ lw $s4, 0x40($sp) +/* B9E95C 80240FFC 8FB3003C */ lw $s3, 0x3c($sp) +/* B9E960 80241000 8FB20038 */ lw $s2, 0x38($sp) +/* B9E964 80241004 8FB10034 */ lw $s1, 0x34($sp) +/* B9E968 80241008 8FB00030 */ lw $s0, 0x30($sp) +/* B9E96C 8024100C 03E00008 */ jr $ra +/* B9E970 80241010 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_80241014.s b/asm/nonmatchings/world/area_mim/mim_04/func_80241014.s new file mode 100644 index 0000000000..0765d8c683 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_80241014.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241014 +/* B9E974 80241014 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B9E978 80241018 AFB00010 */ sw $s0, 0x10($sp) +/* B9E97C 8024101C 3C108024 */ lui $s0, 0x8024 +/* B9E980 80241020 26102614 */ addiu $s0, $s0, 0x2614 +/* B9E984 80241024 AFBF0018 */ sw $ra, 0x18($sp) +/* B9E988 80241028 AFB10014 */ sw $s1, 0x14($sp) +/* B9E98C 8024102C 8E020000 */ lw $v0, ($s0) +/* B9E990 80241030 14400010 */ bnez $v0, .L80241074 +/* B9E994 80241034 0080882D */ daddu $s1, $a0, $zero +/* B9E998 80241038 0C00AB39 */ jal heap_malloc +/* B9E99C 8024103C 24040040 */ addiu $a0, $zero, 0x40 +/* B9E9A0 80241040 AE020000 */ sw $v0, ($s0) +/* B9E9A4 80241044 0000182D */ daddu $v1, $zero, $zero +/* B9E9A8 80241048 0040282D */ daddu $a1, $v0, $zero +/* B9E9AC 8024104C 0220202D */ daddu $a0, $s1, $zero +.L80241050: +/* B9E9B0 80241050 8C820084 */ lw $v0, 0x84($a0) +/* B9E9B4 80241054 24840004 */ addiu $a0, $a0, 4 +/* B9E9B8 80241058 24630001 */ addiu $v1, $v1, 1 +/* B9E9BC 8024105C ACA20000 */ sw $v0, ($a1) +/* B9E9C0 80241060 28620010 */ slti $v0, $v1, 0x10 +/* B9E9C4 80241064 1440FFFA */ bnez $v0, .L80241050 +/* B9E9C8 80241068 24A50004 */ addiu $a1, $a1, 4 +/* B9E9CC 8024106C 0809042C */ j .L802410B0 +/* B9E9D0 80241070 00000000 */ nop +.L80241074: +/* B9E9D4 80241074 0000182D */ daddu $v1, $zero, $zero +/* B9E9D8 80241078 0040282D */ daddu $a1, $v0, $zero +/* B9E9DC 8024107C 0220202D */ daddu $a0, $s1, $zero +.L80241080: +/* B9E9E0 80241080 8CA20000 */ lw $v0, ($a1) +/* B9E9E4 80241084 24A50004 */ addiu $a1, $a1, 4 +/* B9E9E8 80241088 24630001 */ addiu $v1, $v1, 1 +/* B9E9EC 8024108C AC820084 */ sw $v0, 0x84($a0) +/* B9E9F0 80241090 28620010 */ slti $v0, $v1, 0x10 +/* B9E9F4 80241094 1440FFFA */ bnez $v0, .L80241080 +/* B9E9F8 80241098 24840004 */ addiu $a0, $a0, 4 +/* B9E9FC 8024109C 3C108024 */ lui $s0, 0x8024 +/* B9EA00 802410A0 26102614 */ addiu $s0, $s0, 0x2614 +/* B9EA04 802410A4 0C00AB4B */ jal heap_free +/* B9EA08 802410A8 8E040000 */ lw $a0, ($s0) +/* B9EA0C 802410AC AE000000 */ sw $zero, ($s0) +.L802410B0: +/* B9EA10 802410B0 8FBF0018 */ lw $ra, 0x18($sp) +/* B9EA14 802410B4 8FB10014 */ lw $s1, 0x14($sp) +/* B9EA18 802410B8 8FB00010 */ lw $s0, 0x10($sp) +/* B9EA1C 802410BC 24020002 */ addiu $v0, $zero, 2 +/* B9EA20 802410C0 03E00008 */ jr $ra +/* B9EA24 802410C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_04/func_802410C8_B9D960.s b/asm/nonmatchings/world/area_mim/mim_04/func_802410C8_B9D960.s new file mode 100644 index 0000000000..91a3c08cfc --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_04/func_802410C8_B9D960.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410C8_B9EA28 +/* B9EA28 802410C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B9EA2C 802410CC AFB00010 */ sw $s0, 0x10($sp) +/* B9EA30 802410D0 0080802D */ daddu $s0, $a0, $zero +/* B9EA34 802410D4 AFBF0018 */ sw $ra, 0x18($sp) +/* B9EA38 802410D8 AFB10014 */ sw $s1, 0x14($sp) +/* B9EA3C 802410DC 8E02000C */ lw $v0, 0xc($s0) +/* B9EA40 802410E0 8C510000 */ lw $s1, ($v0) +/* B9EA44 802410E4 0C0B1EAF */ jal get_variable +/* B9EA48 802410E8 0220282D */ daddu $a1, $s1, $zero +/* B9EA4C 802410EC 3C03FFF0 */ lui $v1, 0xfff0 +/* B9EA50 802410F0 3463FFFF */ ori $v1, $v1, 0xffff +/* B9EA54 802410F4 0200202D */ daddu $a0, $s0, $zero +/* B9EA58 802410F8 00431024 */ and $v0, $v0, $v1 +/* B9EA5C 802410FC 00021140 */ sll $v0, $v0, 5 +/* B9EA60 80241100 3C068008 */ lui $a2, %hi(gItemTable) +/* B9EA64 80241104 00C23021 */ addu $a2, $a2, $v0 +/* B9EA68 80241108 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* B9EA6C 8024110C 0C0B2026 */ jal set_variable +/* B9EA70 80241110 0220282D */ daddu $a1, $s1, $zero +/* B9EA74 80241114 8FBF0018 */ lw $ra, 0x18($sp) +/* B9EA78 80241118 8FB10014 */ lw $s1, 0x14($sp) +/* B9EA7C 8024111C 8FB00010 */ lw $s0, 0x10($sp) +/* B9EA80 80241120 24020002 */ addiu $v0, $zero, 2 +/* B9EA84 80241124 03E00008 */ jr $ra +/* B9EA88 80241128 27BD0020 */ addiu $sp, $sp, 0x20 +/* B9EA8C 8024112C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240000_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240000_BA0730.s new file mode 100644 index 0000000000..e041a3de90 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240000_BA0730.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BA0730 +/* BA0730 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BA0734 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BA0738 80240008 0C046ED4 */ jal enable_world_fog +/* BA073C 8024000C 00000000 */ nop +/* BA0740 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BA0744 80240014 0C046EDD */ jal set_world_fog_dist +/* BA0748 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BA074C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BA0750 80240020 0080282D */ daddu $a1, $a0, $zero +/* BA0754 80240024 0080302D */ daddu $a2, $a0, $zero +/* BA0758 80240028 0C046EE2 */ jal set_world_fog_color +/* BA075C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BA0760 80240030 0C048BFB */ jal enable_entity_fog +/* BA0764 80240034 00000000 */ nop +/* BA0768 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* BA076C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* BA0770 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BA0774 80240044 0000202D */ daddu $a0, $zero, $zero +/* BA0778 80240048 0080282D */ daddu $a1, $a0, $zero +/* BA077C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* BA0780 80240050 0C048C0A */ jal set_entity_fog_color +/* BA0784 80240054 240700FF */ addiu $a3, $zero, 0xff +/* BA0788 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* BA078C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* BA0790 80240060 03E00008 */ jr $ra +/* BA0794 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* BA0798 80240068 00000000 */ nop +/* BA079C 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240070_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240070_BA0730.s new file mode 100644 index 0000000000..f44566ea32 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240070_BA0730.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_BA07A0 +/* BA07A0 80240070 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA07A4 80240074 AFB10014 */ sw $s1, 0x14($sp) +/* BA07A8 80240078 0080882D */ daddu $s1, $a0, $zero +/* BA07AC 8024007C AFBF0018 */ sw $ra, 0x18($sp) +/* BA07B0 80240080 AFB00010 */ sw $s0, 0x10($sp) +/* BA07B4 80240084 8E300148 */ lw $s0, 0x148($s1) +/* BA07B8 80240088 0C00EABB */ jal get_npc_unsafe +/* BA07BC 8024008C 86040008 */ lh $a0, 8($s0) +/* BA07C0 80240090 24030001 */ addiu $v1, $zero, 1 +/* BA07C4 80240094 0040202D */ daddu $a0, $v0, $zero +/* BA07C8 80240098 AE03006C */ sw $v1, 0x6c($s0) +/* BA07CC 8024009C 8482008C */ lh $v0, 0x8c($a0) +/* BA07D0 802400A0 14400009 */ bnez $v0, .L802400C8 +/* BA07D4 802400A4 24020002 */ addiu $v0, $zero, 2 +/* BA07D8 802400A8 96030072 */ lhu $v1, 0x72($s0) +/* BA07DC 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* BA07E0 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* BA07E4 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* BA07E8 802400B8 8C420020 */ lw $v0, 0x20($v0) +/* BA07EC 802400BC AC820028 */ sw $v0, 0x28($a0) +/* BA07F0 802400C0 2402001F */ addiu $v0, $zero, 0x1f +/* BA07F4 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* BA07F8 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* BA07FC 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* BA0800 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* BA0804 802400D4 03E00008 */ jr $ra +/* BA0808 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_802400DC.s b/asm/nonmatchings/world/area_mim/mim_05/func_802400DC.s new file mode 100644 index 0000000000..8df08dc5e7 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_802400DC.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC +/* BA080C 802400DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA0810 802400E0 AFB10014 */ sw $s1, 0x14($sp) +/* BA0814 802400E4 0080882D */ daddu $s1, $a0, $zero +/* BA0818 802400E8 AFBF0018 */ sw $ra, 0x18($sp) +/* BA081C 802400EC AFB00010 */ sw $s0, 0x10($sp) +/* BA0820 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* BA0824 802400F4 0C00EABB */ jal get_npc_unsafe +/* BA0828 802400F8 86040008 */ lh $a0, 8($s0) +/* BA082C 802400FC 0040202D */ daddu $a0, $v0, $zero +/* BA0830 80240100 9482008E */ lhu $v0, 0x8e($a0) +/* BA0834 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* BA0838 80240108 A482008E */ sh $v0, 0x8e($a0) +/* BA083C 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* BA0840 80240110 1C400009 */ bgtz $v0, .L80240138 +/* BA0844 80240114 24020003 */ addiu $v0, $zero, 3 +/* BA0848 80240118 96030076 */ lhu $v1, 0x76($s0) +/* BA084C 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* BA0850 80240120 A483008E */ sh $v1, 0x8e($a0) +/* BA0854 80240124 8E0200CC */ lw $v0, 0xcc($s0) +/* BA0858 80240128 8C420024 */ lw $v0, 0x24($v0) +/* BA085C 8024012C AC820028 */ sw $v0, 0x28($a0) +/* BA0860 80240130 24020020 */ addiu $v0, $zero, 0x20 +/* BA0864 80240134 AE220070 */ sw $v0, 0x70($s1) +.L80240138: +/* BA0868 80240138 8FBF0018 */ lw $ra, 0x18($sp) +/* BA086C 8024013C 8FB10014 */ lw $s1, 0x14($sp) +/* BA0870 80240140 8FB00010 */ lw $s0, 0x10($sp) +/* BA0874 80240144 03E00008 */ jr $ra +/* BA0878 80240148 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_8024014C.s b/asm/nonmatchings/world/area_mim/mim_05/func_8024014C.s new file mode 100644 index 0000000000..dc44734369 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_8024014C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024014C +/* BA087C 8024014C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BA0880 80240150 AFB10034 */ sw $s1, 0x34($sp) +/* BA0884 80240154 0080882D */ daddu $s1, $a0, $zero +/* BA0888 80240158 AFBF0038 */ sw $ra, 0x38($sp) +/* BA088C 8024015C AFB00030 */ sw $s0, 0x30($sp) +/* BA0890 80240160 8E300148 */ lw $s0, 0x148($s1) +/* BA0894 80240164 0C00EABB */ jal get_npc_unsafe +/* BA0898 80240168 86040008 */ lh $a0, 8($s0) +/* BA089C 8024016C 0040282D */ daddu $a1, $v0, $zero +/* BA08A0 80240170 94A2008E */ lhu $v0, 0x8e($a1) +/* BA08A4 80240174 2442FFFF */ addiu $v0, $v0, -1 +/* BA08A8 80240178 A4A2008E */ sh $v0, 0x8e($a1) +/* BA08AC 8024017C 00021400 */ sll $v0, $v0, 0x10 +/* BA08B0 80240180 1C400023 */ bgtz $v0, .L80240210 +/* BA08B4 80240184 24020004 */ addiu $v0, $zero, 4 +/* BA08B8 80240188 8E0300CC */ lw $v1, 0xcc($s0) +/* BA08BC 8024018C AE02006C */ sw $v0, 0x6c($s0) +/* BA08C0 80240190 8C620000 */ lw $v0, ($v1) +/* BA08C4 80240194 ACA20028 */ sw $v0, 0x28($a1) +/* BA08C8 80240198 9602007A */ lhu $v0, 0x7a($s0) +/* BA08CC 8024019C A4A2008E */ sh $v0, 0x8e($a1) +/* BA08D0 802401A0 8E020078 */ lw $v0, 0x78($s0) +/* BA08D4 802401A4 28420008 */ slti $v0, $v0, 8 +/* BA08D8 802401A8 14400018 */ bnez $v0, .L8024020C +/* BA08DC 802401AC 24020021 */ addiu $v0, $zero, 0x21 +/* BA08E0 802401B0 24040003 */ addiu $a0, $zero, 3 +/* BA08E4 802401B4 27A30028 */ addiu $v1, $sp, 0x28 +/* BA08E8 802401B8 84A700A8 */ lh $a3, 0xa8($a1) +/* BA08EC 802401BC 3C013F80 */ lui $at, 0x3f80 +/* BA08F0 802401C0 44810000 */ mtc1 $at, $f0 +/* BA08F4 802401C4 3C014000 */ lui $at, 0x4000 +/* BA08F8 802401C8 44811000 */ mtc1 $at, $f2 +/* BA08FC 802401CC 3C01C1A0 */ lui $at, 0xc1a0 +/* BA0900 802401D0 44812000 */ mtc1 $at, $f4 +/* BA0904 802401D4 44873000 */ mtc1 $a3, $f6 +/* BA0908 802401D8 00000000 */ nop +/* BA090C 802401DC 468031A0 */ cvt.s.w $f6, $f6 +/* BA0910 802401E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA0914 802401E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA0918 802401E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA091C 802401EC 8E020078 */ lw $v0, 0x78($s0) +/* BA0920 802401F0 44073000 */ mfc1 $a3, $f6 +/* BA0924 802401F4 0000302D */ daddu $a2, $zero, $zero +/* BA0928 802401F8 AFA30020 */ sw $v1, 0x20($sp) +/* BA092C 802401FC 2442FFFF */ addiu $v0, $v0, -1 +/* BA0930 80240200 0C01BFA4 */ jal fx_emote +/* BA0934 80240204 AFA2001C */ sw $v0, 0x1c($sp) +/* BA0938 80240208 24020021 */ addiu $v0, $zero, 0x21 +.L8024020C: +/* BA093C 8024020C AE220070 */ sw $v0, 0x70($s1) +.L80240210: +/* BA0940 80240210 8FBF0038 */ lw $ra, 0x38($sp) +/* BA0944 80240214 8FB10034 */ lw $s1, 0x34($sp) +/* BA0948 80240218 8FB00030 */ lw $s0, 0x30($sp) +/* BA094C 8024021C 03E00008 */ jr $ra +/* BA0950 80240220 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240224_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240224_BA0730.s new file mode 100644 index 0000000000..fea4dc339e --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240224_BA0730.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240224_BA0954 +/* BA0954 80240224 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA0958 80240228 AFB10014 */ sw $s1, 0x14($sp) +/* BA095C 8024022C 0080882D */ daddu $s1, $a0, $zero +/* BA0960 80240230 AFBF0018 */ sw $ra, 0x18($sp) +/* BA0964 80240234 AFB00010 */ sw $s0, 0x10($sp) +/* BA0968 80240238 8E300148 */ lw $s0, 0x148($s1) +/* BA096C 8024023C 0C00EABB */ jal get_npc_unsafe +/* BA0970 80240240 86040008 */ lh $a0, 8($s0) +/* BA0974 80240244 9443008E */ lhu $v1, 0x8e($v0) +/* BA0978 80240248 2463FFFF */ addiu $v1, $v1, -1 +/* BA097C 8024024C A443008E */ sh $v1, 0x8e($v0) +/* BA0980 80240250 00031C00 */ sll $v1, $v1, 0x10 +/* BA0984 80240254 1C600003 */ bgtz $v1, .L80240264 +/* BA0988 80240258 2402000C */ addiu $v0, $zero, 0xc +/* BA098C 8024025C AE00006C */ sw $zero, 0x6c($s0) +/* BA0990 80240260 AE220070 */ sw $v0, 0x70($s1) +.L80240264: +/* BA0994 80240264 8FBF0018 */ lw $ra, 0x18($sp) +/* BA0998 80240268 8FB10014 */ lw $s1, 0x14($sp) +/* BA099C 8024026C 8FB00010 */ lw $s0, 0x10($sp) +/* BA09A0 80240270 03E00008 */ jr $ra +/* BA09A4 80240274 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240278.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240278.s new file mode 100644 index 0000000000..f0c304a329 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240278.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240278 +/* BA09A8 80240278 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BA09AC 8024027C AFBF0024 */ sw $ra, 0x24($sp) +/* BA09B0 80240280 AFB40020 */ sw $s4, 0x20($sp) +/* BA09B4 80240284 AFB3001C */ sw $s3, 0x1c($sp) +/* BA09B8 80240288 AFB20018 */ sw $s2, 0x18($sp) +/* BA09BC 8024028C AFB10014 */ sw $s1, 0x14($sp) +/* BA09C0 80240290 AFB00010 */ sw $s0, 0x10($sp) +/* BA09C4 80240294 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BA09C8 80240298 8C900148 */ lw $s0, 0x148($a0) +/* BA09CC 8024029C 86040008 */ lh $a0, 8($s0) +/* BA09D0 802402A0 0C00EABB */ jal get_npc_unsafe +/* BA09D4 802402A4 24110001 */ addiu $s1, $zero, 1 +/* BA09D8 802402A8 86040008 */ lh $a0, 8($s0) +/* BA09DC 802402AC 0040802D */ daddu $s0, $v0, $zero +/* BA09E0 802402B0 3C05800B */ lui $a1, %hi(gCameras) +/* BA09E4 802402B4 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* BA09E8 802402B8 3C03800A */ lui $v1, 0x800a +/* BA09EC 802402BC 8463A634 */ lh $v1, -0x59cc($v1) +/* BA09F0 802402C0 00912021 */ addu $a0, $a0, $s1 +/* BA09F4 802402C4 00031080 */ sll $v0, $v1, 2 +/* BA09F8 802402C8 00431021 */ addu $v0, $v0, $v1 +/* BA09FC 802402CC 00021080 */ sll $v0, $v0, 2 +/* BA0A00 802402D0 00431023 */ subu $v0, $v0, $v1 +/* BA0A04 802402D4 000218C0 */ sll $v1, $v0, 3 +/* BA0A08 802402D8 00431021 */ addu $v0, $v0, $v1 +/* BA0A0C 802402DC 000210C0 */ sll $v0, $v0, 3 +/* BA0A10 802402E0 0C00FB3A */ jal get_enemy +/* BA0A14 802402E4 00459021 */ addu $s2, $v0, $a1 +/* BA0A18 802402E8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* BA0A1C 802402EC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* BA0A20 802402F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA0A24 802402F4 8E830000 */ lw $v1, ($s4) +/* BA0A28 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA0A2C 802402FC 8C660028 */ lw $a2, 0x28($v1) +/* BA0A30 80240300 8C670030 */ lw $a3, 0x30($v1) +/* BA0A34 80240304 0C00A7B5 */ jal dist2D +/* BA0A38 80240308 0040982D */ daddu $s3, $v0, $zero +/* BA0A3C 8024030C C6620074 */ lwc1 $f2, 0x74($s3) +/* BA0A40 80240310 468010A0 */ cvt.s.w $f2, $f2 +/* BA0A44 80240314 4600103C */ c.lt.s $f2, $f0 +/* BA0A48 80240318 00000000 */ nop +/* BA0A4C 8024031C 45030001 */ bc1tl .L80240324 +/* BA0A50 80240320 0000882D */ daddu $s1, $zero, $zero +.L80240324: +/* BA0A54 80240324 C64C006C */ lwc1 $f12, 0x6c($s2) +/* BA0A58 80240328 C60E000C */ lwc1 $f14, 0xc($s0) +/* BA0A5C 8024032C 3C014387 */ lui $at, 0x4387 +/* BA0A60 80240330 4481A000 */ mtc1 $at, $f20 +/* BA0A64 80240334 0C00A70A */ jal get_clamped_angle_diff +/* BA0A68 80240338 00000000 */ nop +/* BA0A6C 8024033C 0C00A6C9 */ jal clamp_angle +/* BA0A70 80240340 46000306 */ mov.s $f12, $f0 +/* BA0A74 80240344 3C018024 */ lui $at, 0x8024 +/* BA0A78 80240348 D4223E80 */ ldc1 $f2, 0x3e80($at) +/* BA0A7C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* BA0A80 80240350 4622003C */ c.lt.d $f0, $f2 +/* BA0A84 80240354 00000000 */ nop +/* BA0A88 80240358 45000003 */ bc1f .L80240368 +/* BA0A8C 8024035C 00000000 */ nop +/* BA0A90 80240360 3C0142B4 */ lui $at, 0x42b4 +/* BA0A94 80240364 4481A000 */ mtc1 $at, $f20 +.L80240368: +/* BA0A98 80240368 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA0A9C 8024036C 8E820000 */ lw $v0, ($s4) +/* BA0AA0 80240370 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA0AA4 80240374 8C460028 */ lw $a2, 0x28($v0) +/* BA0AA8 80240378 0C00A720 */ jal atan2 +/* BA0AAC 8024037C 8C470030 */ lw $a3, 0x30($v0) +/* BA0AB0 80240380 4600A306 */ mov.s $f12, $f20 +/* BA0AB4 80240384 0C00A70A */ jal get_clamped_angle_diff +/* BA0AB8 80240388 46000386 */ mov.s $f14, $f0 +/* BA0ABC 8024038C C6620078 */ lwc1 $f2, 0x78($s3) +/* BA0AC0 80240390 468010A0 */ cvt.s.w $f2, $f2 +/* BA0AC4 80240394 46000005 */ abs.s $f0, $f0 +/* BA0AC8 80240398 4600103C */ c.lt.s $f2, $f0 +/* BA0ACC 8024039C 00000000 */ nop +/* BA0AD0 802403A0 45030001 */ bc1tl .L802403A8 +/* BA0AD4 802403A4 0000882D */ daddu $s1, $zero, $zero +.L802403A8: +/* BA0AD8 802403A8 8E820000 */ lw $v0, ($s4) +/* BA0ADC 802403AC C600003C */ lwc1 $f0, 0x3c($s0) +/* BA0AE0 802403B0 C442002C */ lwc1 $f2, 0x2c($v0) +/* BA0AE4 802403B4 860200A8 */ lh $v0, 0xa8($s0) +/* BA0AE8 802403B8 46020001 */ sub.s $f0, $f0, $f2 +/* BA0AEC 802403BC 44821000 */ mtc1 $v0, $f2 +/* BA0AF0 802403C0 00000000 */ nop +/* BA0AF4 802403C4 468010A1 */ cvt.d.w $f2, $f2 +/* BA0AF8 802403C8 46221080 */ add.d $f2, $f2, $f2 +/* BA0AFC 802403CC 46000005 */ abs.s $f0, $f0 +/* BA0B00 802403D0 46000021 */ cvt.d.s $f0, $f0 +/* BA0B04 802403D4 4620103E */ c.le.d $f2, $f0 +/* BA0B08 802403D8 00000000 */ nop +/* BA0B0C 802403DC 45030001 */ bc1tl .L802403E4 +/* BA0B10 802403E0 0000882D */ daddu $s1, $zero, $zero +.L802403E4: +/* BA0B14 802403E4 3C038011 */ lui $v1, 0x8011 +/* BA0B18 802403E8 8063EBB3 */ lb $v1, -0x144d($v1) +/* BA0B1C 802403EC 24020009 */ addiu $v0, $zero, 9 +/* BA0B20 802403F0 50620001 */ beql $v1, $v0, .L802403F8 +/* BA0B24 802403F4 0000882D */ daddu $s1, $zero, $zero +.L802403F8: +/* BA0B28 802403F8 24020007 */ addiu $v0, $zero, 7 +/* BA0B2C 802403FC 50620001 */ beql $v1, $v0, .L80240404 +/* BA0B30 80240400 0000882D */ daddu $s1, $zero, $zero +.L80240404: +/* BA0B34 80240404 0220102D */ daddu $v0, $s1, $zero +/* BA0B38 80240408 8FBF0024 */ lw $ra, 0x24($sp) +/* BA0B3C 8024040C 8FB40020 */ lw $s4, 0x20($sp) +/* BA0B40 80240410 8FB3001C */ lw $s3, 0x1c($sp) +/* BA0B44 80240414 8FB20018 */ lw $s2, 0x18($sp) +/* BA0B48 80240418 8FB10014 */ lw $s1, 0x14($sp) +/* BA0B4C 8024041C 8FB00010 */ lw $s0, 0x10($sp) +/* BA0B50 80240420 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BA0B54 80240424 03E00008 */ jr $ra +/* BA0B58 80240428 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_8024042C_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_8024042C_BA0730.s new file mode 100644 index 0000000000..c3b1e030f3 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_8024042C_BA0730.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024042C_BA0B5C +/* BA0B5C 8024042C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BA0B60 80240430 AFB40028 */ sw $s4, 0x28($sp) +/* BA0B64 80240434 0080A02D */ daddu $s4, $a0, $zero +/* BA0B68 80240438 AFBF002C */ sw $ra, 0x2c($sp) +/* BA0B6C 8024043C AFB30024 */ sw $s3, 0x24($sp) +/* BA0B70 80240440 AFB20020 */ sw $s2, 0x20($sp) +/* BA0B74 80240444 AFB1001C */ sw $s1, 0x1c($sp) +/* BA0B78 80240448 AFB00018 */ sw $s0, 0x18($sp) +/* BA0B7C 8024044C 8E910148 */ lw $s1, 0x148($s4) +/* BA0B80 80240450 86240008 */ lh $a0, 8($s1) +/* BA0B84 80240454 0C00EABB */ jal get_npc_unsafe +/* BA0B88 80240458 00A0802D */ daddu $s0, $a1, $zero +/* BA0B8C 8024045C 16000005 */ bnez $s0, .L80240474 +/* BA0B90 80240460 0040902D */ daddu $s2, $v0, $zero +/* BA0B94 80240464 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA0B98 80240468 30420004 */ andi $v0, $v0, 4 +/* BA0B9C 8024046C 10400015 */ beqz $v0, .L802404C4 +/* BA0BA0 80240470 00000000 */ nop +.L80240474: +/* BA0BA4 80240474 AE800070 */ sw $zero, 0x70($s4) +/* BA0BA8 80240478 8E420000 */ lw $v0, ($s2) +/* BA0BAC 8024047C 3C031F30 */ lui $v1, 0x1f30 +/* BA0BB0 80240480 A640008E */ sh $zero, 0x8e($s2) +/* BA0BB4 80240484 34420102 */ ori $v0, $v0, 0x102 +/* BA0BB8 80240488 AE420000 */ sw $v0, ($s2) +/* BA0BBC 8024048C 8E220000 */ lw $v0, ($s1) +/* BA0BC0 80240490 3C01C47A */ lui $at, 0xc47a +/* BA0BC4 80240494 44810000 */ mtc1 $at, $f0 +/* BA0BC8 80240498 00431025 */ or $v0, $v0, $v1 +/* BA0BCC 8024049C AE220000 */ sw $v0, ($s1) +/* BA0BD0 802404A0 AE400038 */ sw $zero, 0x38($s2) +/* BA0BD4 802404A4 E640003C */ swc1 $f0, 0x3c($s2) +/* BA0BD8 802404A8 AE400040 */ sw $zero, 0x40($s2) +/* BA0BDC 802404AC 8E2300B0 */ lw $v1, 0xb0($s1) +/* BA0BE0 802404B0 30620004 */ andi $v0, $v1, 4 +/* BA0BE4 802404B4 10400003 */ beqz $v0, .L802404C4 +/* BA0BE8 802404B8 2402FFFB */ addiu $v0, $zero, -5 +/* BA0BEC 802404BC 00621024 */ and $v0, $v1, $v0 +/* BA0BF0 802404C0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802404C4: +/* BA0BF4 802404C4 8E930070 */ lw $s3, 0x70($s4) +/* BA0BF8 802404C8 12600005 */ beqz $s3, .L802404E0 +/* BA0BFC 802404CC 24020001 */ addiu $v0, $zero, 1 +/* BA0C00 802404D0 12620048 */ beq $s3, $v0, .L802405F4 +/* BA0C04 802404D4 00000000 */ nop +/* BA0C08 802404D8 0809019A */ j .L80240668 +/* BA0C0C 802404DC 00000000 */ nop +.L802404E0: +/* BA0C10 802404E0 86240008 */ lh $a0, 8($s1) +/* BA0C14 802404E4 0C00FB3A */ jal get_enemy +/* BA0C18 802404E8 2484FFFF */ addiu $a0, $a0, -1 +/* BA0C1C 802404EC 0040802D */ daddu $s0, $v0, $zero +/* BA0C20 802404F0 0C00EABB */ jal get_npc_unsafe +/* BA0C24 802404F4 86040008 */ lh $a0, 8($s0) +/* BA0C28 802404F8 24030001 */ addiu $v1, $zero, 1 +/* BA0C2C 802404FC 0040982D */ daddu $s3, $v0, $zero +/* BA0C30 80240500 A2230007 */ sb $v1, 7($s1) +/* BA0C34 80240504 8E03006C */ lw $v1, 0x6c($s0) +/* BA0C38 80240508 24020003 */ addiu $v0, $zero, 3 +/* BA0C3C 8024050C 14620056 */ bne $v1, $v0, .L80240668 +/* BA0C40 80240510 00000000 */ nop +/* BA0C44 80240514 8E2500A8 */ lw $a1, 0xa8($s1) +/* BA0C48 80240518 10A00003 */ beqz $a1, .L80240528 +/* BA0C4C 8024051C 0260202D */ daddu $a0, $s3, $zero +/* BA0C50 80240520 0C012530 */ jal func_800494C0 +/* BA0C54 80240524 0000302D */ daddu $a2, $zero, $zero +.L80240528: +/* BA0C58 80240528 27A40010 */ addiu $a0, $sp, 0x10 +/* BA0C5C 8024052C C6280070 */ lwc1 $f8, 0x70($s1) +/* BA0C60 80240530 46804220 */ cvt.s.w $f8, $f8 +/* BA0C64 80240534 C6620034 */ lwc1 $f2, 0x34($s3) +/* BA0C68 80240538 3C014387 */ lui $at, 0x4387 +/* BA0C6C 8024053C 44810000 */ mtc1 $at, $f0 +/* BA0C70 80240540 44064000 */ mfc1 $a2, $f8 +/* BA0C74 80240544 46020001 */ sub.s $f0, $f0, $f2 +/* BA0C78 80240548 C6660038 */ lwc1 $f6, 0x38($s3) +/* BA0C7C 8024054C C6640040 */ lwc1 $f4, 0x40($s3) +/* BA0C80 80240550 44070000 */ mfc1 $a3, $f0 +/* BA0C84 80240554 27A50014 */ addiu $a1, $sp, 0x14 +/* BA0C88 80240558 E7A60010 */ swc1 $f6, 0x10($sp) +/* BA0C8C 8024055C 0C00A7E7 */ jal add_vec2D_polar +/* BA0C90 80240560 E7A40014 */ swc1 $f4, 0x14($sp) +/* BA0C94 80240564 C7A00010 */ lwc1 $f0, 0x10($sp) +/* BA0C98 80240568 4600020D */ trunc.w.s $f8, $f0 +/* BA0C9C 8024056C 44024000 */ mfc1 $v0, $f8 +/* BA0CA0 80240570 E6400038 */ swc1 $f0, 0x38($s2) +/* BA0CA4 80240574 A6220010 */ sh $v0, 0x10($s1) +/* BA0CA8 80240578 C660003C */ lwc1 $f0, 0x3c($s3) +/* BA0CAC 8024057C C622006C */ lwc1 $f2, 0x6c($s1) +/* BA0CB0 80240580 468010A0 */ cvt.s.w $f2, $f2 +/* BA0CB4 80240584 46020000 */ add.s $f0, $f0, $f2 +/* BA0CB8 80240588 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* BA0CBC 8024058C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* BA0CC0 80240590 E640003C */ swc1 $f0, 0x3c($s2) +/* BA0CC4 80240594 C7A20014 */ lwc1 $f2, 0x14($sp) +/* BA0CC8 80240598 4600020D */ trunc.w.s $f8, $f0 +/* BA0CCC 8024059C 44024000 */ mfc1 $v0, $f8 +/* BA0CD0 802405A0 00000000 */ nop +/* BA0CD4 802405A4 A6220012 */ sh $v0, 0x12($s1) +/* BA0CD8 802405A8 4600120D */ trunc.w.s $f8, $f2 +/* BA0CDC 802405AC 44024000 */ mfc1 $v0, $f8 +/* BA0CE0 802405B0 E6420040 */ swc1 $f2, 0x40($s2) +/* BA0CE4 802405B4 A6220014 */ sh $v0, 0x14($s1) +/* BA0CE8 802405B8 8C660028 */ lw $a2, 0x28($v1) +/* BA0CEC 802405BC 8C670030 */ lw $a3, 0x30($v1) +/* BA0CF0 802405C0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* BA0CF4 802405C4 0C00A720 */ jal atan2 +/* BA0CF8 802405C8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BA0CFC 802405CC 3C03E0EF */ lui $v1, 0xe0ef +/* BA0D00 802405D0 E640000C */ swc1 $f0, 0xc($s2) +/* BA0D04 802405D4 8E220000 */ lw $v0, ($s1) +/* BA0D08 802405D8 3463FFFF */ ori $v1, $v1, 0xffff +/* BA0D0C 802405DC 00431024 */ and $v0, $v0, $v1 +/* BA0D10 802405E0 AE220000 */ sw $v0, ($s1) +/* BA0D14 802405E4 24020001 */ addiu $v0, $zero, 1 +/* BA0D18 802405E8 A640008E */ sh $zero, 0x8e($s2) +/* BA0D1C 802405EC 0809019A */ j .L80240668 +/* BA0D20 802405F0 AE820070 */ sw $v0, 0x70($s4) +.L802405F4: +/* BA0D24 802405F4 86240008 */ lh $a0, 8($s1) +/* BA0D28 802405F8 0C00FB3A */ jal get_enemy +/* BA0D2C 802405FC 2484FFFF */ addiu $a0, $a0, -1 +/* BA0D30 80240600 0040802D */ daddu $s0, $v0, $zero +/* BA0D34 80240604 0C00EABB */ jal get_npc_unsafe +/* BA0D38 80240608 86040008 */ lh $a0, 8($s0) +/* BA0D3C 8024060C 9642008E */ lhu $v0, 0x8e($s2) +/* BA0D40 80240610 24420001 */ addiu $v0, $v0, 1 +/* BA0D44 80240614 A642008E */ sh $v0, 0x8e($s2) +/* BA0D48 80240618 00021400 */ sll $v0, $v0, 0x10 +/* BA0D4C 8024061C 8E23007C */ lw $v1, 0x7c($s1) +/* BA0D50 80240620 00021403 */ sra $v0, $v0, 0x10 +/* BA0D54 80240624 0043102A */ slt $v0, $v0, $v1 +/* BA0D58 80240628 50400001 */ beql $v0, $zero, .L80240630 +/* BA0D5C 8024062C A2200007 */ sb $zero, 7($s1) +.L80240630: +/* BA0D60 80240630 8E03006C */ lw $v1, 0x6c($s0) +/* BA0D64 80240634 24020004 */ addiu $v0, $zero, 4 +/* BA0D68 80240638 1462000B */ bne $v1, $v0, .L80240668 +/* BA0D6C 8024063C 3C021F10 */ lui $v0, 0x1f10 +/* BA0D70 80240640 8E230000 */ lw $v1, ($s1) +/* BA0D74 80240644 3C01C47A */ lui $at, 0xc47a +/* BA0D78 80240648 44810000 */ mtc1 $at, $f0 +/* BA0D7C 8024064C 00621825 */ or $v1, $v1, $v0 +/* BA0D80 80240650 AE230000 */ sw $v1, ($s1) +/* BA0D84 80240654 AE400038 */ sw $zero, 0x38($s2) +/* BA0D88 80240658 E640003C */ swc1 $f0, 0x3c($s2) +/* BA0D8C 8024065C AE400040 */ sw $zero, 0x40($s2) +/* BA0D90 80240660 A2330007 */ sb $s3, 7($s1) +/* BA0D94 80240664 AE800070 */ sw $zero, 0x70($s4) +.L80240668: +/* BA0D98 80240668 8FBF002C */ lw $ra, 0x2c($sp) +/* BA0D9C 8024066C 8FB40028 */ lw $s4, 0x28($sp) +/* BA0DA0 80240670 8FB30024 */ lw $s3, 0x24($sp) +/* BA0DA4 80240674 8FB20020 */ lw $s2, 0x20($sp) +/* BA0DA8 80240678 8FB1001C */ lw $s1, 0x1c($sp) +/* BA0DAC 8024067C 8FB00018 */ lw $s0, 0x18($sp) +/* BA0DB0 80240680 0000102D */ daddu $v0, $zero, $zero +/* BA0DB4 80240684 03E00008 */ jr $ra +/* BA0DB8 80240688 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_8024068C_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_8024068C_BA0730.s new file mode 100644 index 0000000000..26d527a268 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_8024068C_BA0730.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_BA0DBC +/* BA0DBC 8024068C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BA0DC0 80240690 AFB20038 */ sw $s2, 0x38($sp) +/* BA0DC4 80240694 0080902D */ daddu $s2, $a0, $zero +/* BA0DC8 80240698 AFBF0048 */ sw $ra, 0x48($sp) +/* BA0DCC 8024069C AFB50044 */ sw $s5, 0x44($sp) +/* BA0DD0 802406A0 AFB40040 */ sw $s4, 0x40($sp) +/* BA0DD4 802406A4 AFB3003C */ sw $s3, 0x3c($sp) +/* BA0DD8 802406A8 AFB10034 */ sw $s1, 0x34($sp) +/* BA0DDC 802406AC AFB00030 */ sw $s0, 0x30($sp) +/* BA0DE0 802406B0 8E510148 */ lw $s1, 0x148($s2) +/* BA0DE4 802406B4 86240008 */ lh $a0, 8($s1) +/* BA0DE8 802406B8 0C00EABB */ jal get_npc_unsafe +/* BA0DEC 802406BC 00A0802D */ daddu $s0, $a1, $zero +/* BA0DF0 802406C0 8E43000C */ lw $v1, 0xc($s2) +/* BA0DF4 802406C4 0240202D */ daddu $a0, $s2, $zero +/* BA0DF8 802406C8 8C650000 */ lw $a1, ($v1) +/* BA0DFC 802406CC 0C0B1EAF */ jal get_variable +/* BA0E00 802406D0 0040A82D */ daddu $s5, $v0, $zero +/* BA0E04 802406D4 AFA00010 */ sw $zero, 0x10($sp) +/* BA0E08 802406D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA0E0C 802406DC 8C630030 */ lw $v1, 0x30($v1) +/* BA0E10 802406E0 AFA30014 */ sw $v1, 0x14($sp) +/* BA0E14 802406E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA0E18 802406E8 8C63001C */ lw $v1, 0x1c($v1) +/* BA0E1C 802406EC AFA30018 */ sw $v1, 0x18($sp) +/* BA0E20 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA0E24 802406F4 8C630024 */ lw $v1, 0x24($v1) +/* BA0E28 802406F8 AFA3001C */ sw $v1, 0x1c($sp) +/* BA0E2C 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA0E30 80240700 8C630028 */ lw $v1, 0x28($v1) +/* BA0E34 80240704 27B40010 */ addiu $s4, $sp, 0x10 +/* BA0E38 80240708 AFA30020 */ sw $v1, 0x20($sp) +/* BA0E3C 8024070C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA0E40 80240710 3C014282 */ lui $at, 0x4282 +/* BA0E44 80240714 44810000 */ mtc1 $at, $f0 +/* BA0E48 80240718 8C63002C */ lw $v1, 0x2c($v1) +/* BA0E4C 8024071C 0040982D */ daddu $s3, $v0, $zero +/* BA0E50 80240720 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA0E54 80240724 A7A0002C */ sh $zero, 0x2c($sp) +/* BA0E58 80240728 16000005 */ bnez $s0, .L80240740 +/* BA0E5C 8024072C AFA30024 */ sw $v1, 0x24($sp) +/* BA0E60 80240730 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA0E64 80240734 30420004 */ andi $v0, $v0, 4 +/* BA0E68 80240738 10400020 */ beqz $v0, .L802407BC +/* BA0E6C 8024073C 00000000 */ nop +.L80240740: +/* BA0E70 80240740 2404F7FF */ addiu $a0, $zero, -0x801 +/* BA0E74 80240744 AE400070 */ sw $zero, 0x70($s2) +/* BA0E78 80240748 A6A0008E */ sh $zero, 0x8e($s5) +/* BA0E7C 8024074C 8E2200CC */ lw $v0, 0xcc($s1) +/* BA0E80 80240750 8EA30000 */ lw $v1, ($s5) +/* BA0E84 80240754 8C420000 */ lw $v0, ($v0) +/* BA0E88 80240758 00641824 */ and $v1, $v1, $a0 +/* BA0E8C 8024075C AEA30000 */ sw $v1, ($s5) +/* BA0E90 80240760 AEA20028 */ sw $v0, 0x28($s5) +/* BA0E94 80240764 8E2200D0 */ lw $v0, 0xd0($s1) +/* BA0E98 80240768 8C420034 */ lw $v0, 0x34($v0) +/* BA0E9C 8024076C 54400005 */ bnel $v0, $zero, .L80240784 +/* BA0EA0 80240770 2402FDFF */ addiu $v0, $zero, -0x201 +/* BA0EA4 80240774 34620200 */ ori $v0, $v1, 0x200 +/* BA0EA8 80240778 2403FFF7 */ addiu $v1, $zero, -9 +/* BA0EAC 8024077C 080901E3 */ j .L8024078C +/* BA0EB0 80240780 00431024 */ and $v0, $v0, $v1 +.L80240784: +/* BA0EB4 80240784 00621024 */ and $v0, $v1, $v0 +/* BA0EB8 80240788 34420008 */ ori $v0, $v0, 8 +.L8024078C: +/* BA0EBC 8024078C AEA20000 */ sw $v0, ($s5) +/* BA0EC0 80240790 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA0EC4 80240794 30420004 */ andi $v0, $v0, 4 +/* BA0EC8 80240798 10400007 */ beqz $v0, .L802407B8 +/* BA0ECC 8024079C 24020063 */ addiu $v0, $zero, 0x63 +/* BA0ED0 802407A0 AE420070 */ sw $v0, 0x70($s2) +/* BA0ED4 802407A4 AE400074 */ sw $zero, 0x74($s2) +/* BA0ED8 802407A8 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA0EDC 802407AC 2403FFFB */ addiu $v1, $zero, -5 +/* BA0EE0 802407B0 00431024 */ and $v0, $v0, $v1 +/* BA0EE4 802407B4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802407B8: +/* BA0EE8 802407B8 AE20006C */ sw $zero, 0x6c($s1) +.L802407BC: +/* BA0EEC 802407BC 8E420070 */ lw $v0, 0x70($s2) +/* BA0EF0 802407C0 2842001E */ slti $v0, $v0, 0x1e +/* BA0EF4 802407C4 10400009 */ beqz $v0, .L802407EC +/* BA0EF8 802407C8 00000000 */ nop +/* BA0EFC 802407CC 8E22006C */ lw $v0, 0x6c($s1) +/* BA0F00 802407D0 14400006 */ bnez $v0, .L802407EC +/* BA0F04 802407D4 00000000 */ nop +/* BA0F08 802407D8 0C09009E */ jal func_80240278 +/* BA0F0C 802407DC 0240202D */ daddu $a0, $s2, $zero +/* BA0F10 802407E0 10400002 */ beqz $v0, .L802407EC +/* BA0F14 802407E4 2402001E */ addiu $v0, $zero, 0x1e +/* BA0F18 802407E8 AE420070 */ sw $v0, 0x70($s2) +.L802407EC: +/* BA0F1C 802407EC 8E430070 */ lw $v1, 0x70($s2) +/* BA0F20 802407F0 2C620064 */ sltiu $v0, $v1, 0x64 +/* BA0F24 802407F4 10400048 */ beqz $v0, .L80240918 +/* BA0F28 802407F8 00031080 */ sll $v0, $v1, 2 +/* BA0F2C 802407FC 3C018024 */ lui $at, 0x8024 +/* BA0F30 80240800 00220821 */ addu $at, $at, $v0 +/* BA0F34 80240804 8C223E88 */ lw $v0, 0x3e88($at) +/* BA0F38 80240808 00400008 */ jr $v0 +/* BA0F3C 8024080C 00000000 */ nop +/* BA0F40 80240810 0240202D */ daddu $a0, $s2, $zero +/* BA0F44 80240814 0260282D */ daddu $a1, $s3, $zero +/* BA0F48 80240818 0C012568 */ jal func_800495A0 +/* BA0F4C 8024081C 0280302D */ daddu $a2, $s4, $zero +/* BA0F50 80240820 0240202D */ daddu $a0, $s2, $zero +/* BA0F54 80240824 0260282D */ daddu $a1, $s3, $zero +/* BA0F58 80240828 0C0125AE */ jal func_800496B8 +/* BA0F5C 8024082C 0280302D */ daddu $a2, $s4, $zero +/* BA0F60 80240830 08090246 */ j .L80240918 +/* BA0F64 80240834 00000000 */ nop +/* BA0F68 80240838 0240202D */ daddu $a0, $s2, $zero +/* BA0F6C 8024083C 0260282D */ daddu $a1, $s3, $zero +/* BA0F70 80240840 0C0126D1 */ jal func_80049B44 +/* BA0F74 80240844 0280302D */ daddu $a2, $s4, $zero +/* BA0F78 80240848 0240202D */ daddu $a0, $s2, $zero +/* BA0F7C 8024084C 0260282D */ daddu $a1, $s3, $zero +/* BA0F80 80240850 0C012701 */ jal func_80049C04 +/* BA0F84 80240854 0280302D */ daddu $a2, $s4, $zero +/* BA0F88 80240858 08090246 */ j .L80240918 +/* BA0F8C 8024085C 00000000 */ nop +/* BA0F90 80240860 0240202D */ daddu $a0, $s2, $zero +/* BA0F94 80240864 0260282D */ daddu $a1, $s3, $zero +/* BA0F98 80240868 0C01278F */ jal func_80049E3C +/* BA0F9C 8024086C 0280302D */ daddu $a2, $s4, $zero +/* BA0FA0 80240870 0240202D */ daddu $a0, $s2, $zero +/* BA0FA4 80240874 0260282D */ daddu $a1, $s3, $zero +/* BA0FA8 80240878 0C0127B3 */ jal func_80049ECC +/* BA0FAC 8024087C 0280302D */ daddu $a2, $s4, $zero +/* BA0FB0 80240880 08090246 */ j .L80240918 +/* BA0FB4 80240884 00000000 */ nop +/* BA0FB8 80240888 0240202D */ daddu $a0, $s2, $zero +/* BA0FBC 8024088C 0260282D */ daddu $a1, $s3, $zero +/* BA0FC0 80240890 0C0127DF */ jal func_80049F7C +/* BA0FC4 80240894 0280302D */ daddu $a2, $s4, $zero +/* BA0FC8 80240898 0240202D */ daddu $a0, $s2, $zero +/* BA0FCC 8024089C 0260282D */ daddu $a1, $s3, $zero +/* BA0FD0 802408A0 0C012849 */ jal func_8004A124 +/* BA0FD4 802408A4 0280302D */ daddu $a2, $s4, $zero +/* BA0FD8 802408A8 08090246 */ j .L80240918 +/* BA0FDC 802408AC 00000000 */ nop +/* BA0FE0 802408B0 0240202D */ daddu $a0, $s2, $zero +/* BA0FE4 802408B4 0260282D */ daddu $a1, $s3, $zero +/* BA0FE8 802408B8 0C0128FA */ jal func_8004A3E8 +/* BA0FEC 802408BC 0280302D */ daddu $a2, $s4, $zero +/* BA0FF0 802408C0 08090246 */ j .L80240918 +/* BA0FF4 802408C4 00000000 */ nop +/* BA0FF8 802408C8 0C09001C */ jal func_80240070 +/* BA0FFC 802408CC 0240202D */ daddu $a0, $s2, $zero +/* BA1000 802408D0 0C090037 */ jal func_802400DC +/* BA1004 802408D4 0240202D */ daddu $a0, $s2, $zero +/* BA1008 802408D8 8E430070 */ lw $v1, 0x70($s2) +/* BA100C 802408DC 24020020 */ addiu $v0, $zero, 0x20 +/* BA1010 802408E0 1462000D */ bne $v1, $v0, .L80240918 +/* BA1014 802408E4 00000000 */ nop +/* BA1018 802408E8 0C090053 */ jal func_8024014C +/* BA101C 802408EC 0240202D */ daddu $a0, $s2, $zero +/* BA1020 802408F0 8E430070 */ lw $v1, 0x70($s2) +/* BA1024 802408F4 24020021 */ addiu $v0, $zero, 0x21 +/* BA1028 802408F8 14620007 */ bne $v1, $v0, .L80240918 +/* BA102C 802408FC 00000000 */ nop +/* BA1030 80240900 0C090089 */ jal func_80240224 +/* BA1034 80240904 0240202D */ daddu $a0, $s2, $zero +/* BA1038 80240908 08090246 */ j .L80240918 +/* BA103C 8024090C 00000000 */ nop +/* BA1040 80240910 0C0129CF */ jal func_8004A73C +/* BA1044 80240914 0240202D */ daddu $a0, $s2, $zero +.L80240918: +/* BA1048 80240918 8FBF0048 */ lw $ra, 0x48($sp) +/* BA104C 8024091C 8FB50044 */ lw $s5, 0x44($sp) +/* BA1050 80240920 8FB40040 */ lw $s4, 0x40($sp) +/* BA1054 80240924 8FB3003C */ lw $s3, 0x3c($sp) +/* BA1058 80240928 8FB20038 */ lw $s2, 0x38($sp) +/* BA105C 8024092C 8FB10034 */ lw $s1, 0x34($sp) +/* BA1060 80240930 8FB00030 */ lw $s0, 0x30($sp) +/* BA1064 80240934 0000102D */ daddu $v0, $zero, $zero +/* BA1068 80240938 03E00008 */ jr $ra +/* BA106C 8024093C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240940_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240940_BA0730.s new file mode 100644 index 0000000000..e080f983df --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240940_BA0730.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240940_BA1070 +/* BA1070 80240940 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA1074 80240944 AFB10014 */ sw $s1, 0x14($sp) +/* BA1078 80240948 0080882D */ daddu $s1, $a0, $zero +/* BA107C 8024094C AFBF0018 */ sw $ra, 0x18($sp) +/* BA1080 80240950 AFB00010 */ sw $s0, 0x10($sp) +/* BA1084 80240954 8E300148 */ lw $s0, 0x148($s1) +/* BA1088 80240958 0C00EABB */ jal get_npc_unsafe +/* BA108C 8024095C 86040008 */ lh $a0, 8($s0) +/* BA1090 80240960 0040202D */ daddu $a0, $v0, $zero +/* BA1094 80240964 8482008E */ lh $v0, 0x8e($a0) +/* BA1098 80240968 9483008E */ lhu $v1, 0x8e($a0) +/* BA109C 8024096C 18400003 */ blez $v0, .L8024097C +/* BA10A0 80240970 2462FFFF */ addiu $v0, $v1, -1 +/* BA10A4 80240974 08090266 */ j .L80240998 +/* BA10A8 80240978 A482008E */ sh $v0, 0x8e($a0) +.L8024097C: +/* BA10AC 8024097C 8E0200CC */ lw $v0, 0xcc($s0) +/* BA10B0 80240980 AE00006C */ sw $zero, 0x6c($s0) +/* BA10B4 80240984 8C420000 */ lw $v0, ($v0) +/* BA10B8 80240988 AC820028 */ sw $v0, 0x28($a0) +/* BA10BC 8024098C 24020001 */ addiu $v0, $zero, 1 +/* BA10C0 80240990 AE200074 */ sw $zero, 0x74($s1) +/* BA10C4 80240994 AE220070 */ sw $v0, 0x70($s1) +.L80240998: +/* BA10C8 80240998 8FBF0018 */ lw $ra, 0x18($sp) +/* BA10CC 8024099C 8FB10014 */ lw $s1, 0x14($sp) +/* BA10D0 802409A0 8FB00010 */ lw $s0, 0x10($sp) +/* BA10D4 802409A4 03E00008 */ jr $ra +/* BA10D8 802409A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_802409AC_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_802409AC_BA0730.s new file mode 100644 index 0000000000..71b35efcde --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_802409AC_BA0730.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409AC_BA10DC +/* BA10DC 802409AC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BA10E0 802409B0 AFB3003C */ sw $s3, 0x3c($sp) +/* BA10E4 802409B4 0080982D */ daddu $s3, $a0, $zero +/* BA10E8 802409B8 AFBF0040 */ sw $ra, 0x40($sp) +/* BA10EC 802409BC AFB20038 */ sw $s2, 0x38($sp) +/* BA10F0 802409C0 AFB10034 */ sw $s1, 0x34($sp) +/* BA10F4 802409C4 AFB00030 */ sw $s0, 0x30($sp) +/* BA10F8 802409C8 8E720148 */ lw $s2, 0x148($s3) +/* BA10FC 802409CC 00A0882D */ daddu $s1, $a1, $zero +/* BA1100 802409D0 86440008 */ lh $a0, 8($s2) +/* BA1104 802409D4 0C00EABB */ jal get_npc_unsafe +/* BA1108 802409D8 00C0802D */ daddu $s0, $a2, $zero +/* BA110C 802409DC 0200202D */ daddu $a0, $s0, $zero +/* BA1110 802409E0 0240282D */ daddu $a1, $s2, $zero +/* BA1114 802409E4 AFA00010 */ sw $zero, 0x10($sp) +/* BA1118 802409E8 8E26000C */ lw $a2, 0xc($s1) +/* BA111C 802409EC 8E270010 */ lw $a3, 0x10($s1) +/* BA1120 802409F0 0C01242D */ jal func_800490B4 +/* BA1124 802409F4 0040882D */ daddu $s1, $v0, $zero +/* BA1128 802409F8 10400024 */ beqz $v0, .L80240A8C +/* BA112C 802409FC 0220202D */ daddu $a0, $s1, $zero +/* BA1130 80240A00 24050322 */ addiu $a1, $zero, 0x322 +/* BA1134 80240A04 0C012530 */ jal func_800494C0 +/* BA1138 80240A08 0000302D */ daddu $a2, $zero, $zero +/* BA113C 80240A0C 0000202D */ daddu $a0, $zero, $zero +/* BA1140 80240A10 0220282D */ daddu $a1, $s1, $zero +/* BA1144 80240A14 0000302D */ daddu $a2, $zero, $zero +/* BA1148 80240A18 2410000A */ addiu $s0, $zero, 0xa +/* BA114C 80240A1C 862300A8 */ lh $v1, 0xa8($s1) +/* BA1150 80240A20 3C013F80 */ lui $at, 0x3f80 +/* BA1154 80240A24 44810000 */ mtc1 $at, $f0 +/* BA1158 80240A28 3C014000 */ lui $at, 0x4000 +/* BA115C 80240A2C 44811000 */ mtc1 $at, $f2 +/* BA1160 80240A30 3C01C1A0 */ lui $at, 0xc1a0 +/* BA1164 80240A34 44812000 */ mtc1 $at, $f4 +/* BA1168 80240A38 44833000 */ mtc1 $v1, $f6 +/* BA116C 80240A3C 00000000 */ nop +/* BA1170 80240A40 468031A0 */ cvt.s.w $f6, $f6 +/* BA1174 80240A44 44073000 */ mfc1 $a3, $f6 +/* BA1178 80240A48 27A20028 */ addiu $v0, $sp, 0x28 +/* BA117C 80240A4C AFB0001C */ sw $s0, 0x1c($sp) +/* BA1180 80240A50 AFA20020 */ sw $v0, 0x20($sp) +/* BA1184 80240A54 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA1188 80240A58 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA118C 80240A5C 0C01BFA4 */ jal fx_emote +/* BA1190 80240A60 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA1194 80240A64 0220202D */ daddu $a0, $s1, $zero +/* BA1198 80240A68 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BA119C 80240A6C 0C012530 */ jal func_800494C0 +/* BA11A0 80240A70 3C060020 */ lui $a2, 0x20 +/* BA11A4 80240A74 8E4200CC */ lw $v0, 0xcc($s2) +/* BA11A8 80240A78 8C420020 */ lw $v0, 0x20($v0) +/* BA11AC 80240A7C AE220028 */ sw $v0, 0x28($s1) +/* BA11B0 80240A80 9642008E */ lhu $v0, 0x8e($s2) +/* BA11B4 80240A84 A622008E */ sh $v0, 0x8e($s1) +/* BA11B8 80240A88 AE700070 */ sw $s0, 0x70($s3) +.L80240A8C: +/* BA11BC 80240A8C 8FBF0040 */ lw $ra, 0x40($sp) +/* BA11C0 80240A90 8FB3003C */ lw $s3, 0x3c($sp) +/* BA11C4 80240A94 8FB20038 */ lw $s2, 0x38($sp) +/* BA11C8 80240A98 8FB10034 */ lw $s1, 0x34($sp) +/* BA11CC 80240A9C 8FB00030 */ lw $s0, 0x30($sp) +/* BA11D0 80240AA0 03E00008 */ jr $ra +/* BA11D4 80240AA4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80240AA8_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80240AA8_BA0730.s new file mode 100644 index 0000000000..f3321551c0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80240AA8_BA0730.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AA8_BA11D8 +/* BA11D8 80240AA8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BA11DC 80240AAC AFBF0064 */ sw $ra, 0x64($sp) +/* BA11E0 80240AB0 AFBE0060 */ sw $fp, 0x60($sp) +/* BA11E4 80240AB4 AFB7005C */ sw $s7, 0x5c($sp) +/* BA11E8 80240AB8 AFB60058 */ sw $s6, 0x58($sp) +/* BA11EC 80240ABC AFB50054 */ sw $s5, 0x54($sp) +/* BA11F0 80240AC0 AFB40050 */ sw $s4, 0x50($sp) +/* BA11F4 80240AC4 AFB3004C */ sw $s3, 0x4c($sp) +/* BA11F8 80240AC8 AFB20048 */ sw $s2, 0x48($sp) +/* BA11FC 80240ACC AFB10044 */ sw $s1, 0x44($sp) +/* BA1200 80240AD0 AFB00040 */ sw $s0, 0x40($sp) +/* BA1204 80240AD4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* BA1208 80240AD8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* BA120C 80240ADC F7B40068 */ sdc1 $f20, 0x68($sp) +/* BA1210 80240AE0 AFA40080 */ sw $a0, 0x80($sp) +/* BA1214 80240AE4 8C960148 */ lw $s6, 0x148($a0) +/* BA1218 80240AE8 00C0902D */ daddu $s2, $a2, $zero +/* BA121C 80240AEC 86C40008 */ lh $a0, 8($s6) +/* BA1220 80240AF0 0C00EABB */ jal get_npc_unsafe +/* BA1224 80240AF4 0000B82D */ daddu $s7, $zero, $zero +/* BA1228 80240AF8 0040882D */ daddu $s1, $v0, $zero +/* BA122C 80240AFC 9622008E */ lhu $v0, 0x8e($s1) +/* BA1230 80240B00 2442FFFF */ addiu $v0, $v0, -1 +/* BA1234 80240B04 A622008E */ sh $v0, 0x8e($s1) +/* BA1238 80240B08 00021400 */ sll $v0, $v0, 0x10 +/* BA123C 80240B0C 8EC30090 */ lw $v1, 0x90($s6) +/* BA1240 80240B10 00021403 */ sra $v0, $v0, 0x10 +/* BA1244 80240B14 0062182A */ slt $v1, $v1, $v0 +/* BA1248 80240B18 14600005 */ bnez $v1, .L80240B30 +/* BA124C 80240B1C 02E0F02D */ daddu $fp, $s7, $zero +/* BA1250 80240B20 8EC20000 */ lw $v0, ($s6) +/* BA1254 80240B24 3C031F10 */ lui $v1, 0x1f10 +/* BA1258 80240B28 00431025 */ or $v0, $v0, $v1 +/* BA125C 80240B2C AEC20000 */ sw $v0, ($s6) +.L80240B30: +/* BA1260 80240B30 8622008E */ lh $v0, 0x8e($s1) +/* BA1264 80240B34 1440025D */ bnez $v0, .L802414AC +/* BA1268 80240B38 00000000 */ nop +/* BA126C 80240B3C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA1270 80240B40 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA1274 80240B44 0C00A6C9 */ jal clamp_angle +/* BA1278 80240B48 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* BA127C 80240B4C 3C014334 */ lui $at, 0x4334 +/* BA1280 80240B50 44811000 */ mtc1 $at, $f2 +/* BA1284 80240B54 00000000 */ nop +/* BA1288 80240B58 4602003C */ c.lt.s $f0, $f2 +/* BA128C 80240B5C 00000000 */ nop +/* BA1290 80240B60 45000011 */ bc1f .L80240BA8 +/* BA1294 80240B64 00000000 */ nop +/* BA1298 80240B68 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BA129C 80240B6C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BA12A0 80240B70 3C0142B4 */ lui $at, 0x42b4 +/* BA12A4 80240B74 44816000 */ mtc1 $at, $f12 +/* BA12A8 80240B78 00031080 */ sll $v0, $v1, 2 +/* BA12AC 80240B7C 00431021 */ addu $v0, $v0, $v1 +/* BA12B0 80240B80 00021080 */ sll $v0, $v0, 2 +/* BA12B4 80240B84 00431023 */ subu $v0, $v0, $v1 +/* BA12B8 80240B88 000218C0 */ sll $v1, $v0, 3 +/* BA12BC 80240B8C 00431021 */ addu $v0, $v0, $v1 +/* BA12C0 80240B90 000210C0 */ sll $v0, $v0, 3 +/* BA12C4 80240B94 3C01800B */ lui $at, 0x800b +/* BA12C8 80240B98 00220821 */ addu $at, $at, $v0 +/* BA12CC 80240B9C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BA12D0 80240BA0 080902F9 */ j .L80240BE4 +/* BA12D4 80240BA4 460C0301 */ sub.s $f12, $f0, $f12 +.L80240BA8: +/* BA12D8 80240BA8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BA12DC 80240BAC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BA12E0 80240BB0 3C0142B4 */ lui $at, 0x42b4 +/* BA12E4 80240BB4 44816000 */ mtc1 $at, $f12 +/* BA12E8 80240BB8 00031080 */ sll $v0, $v1, 2 +/* BA12EC 80240BBC 00431021 */ addu $v0, $v0, $v1 +/* BA12F0 80240BC0 00021080 */ sll $v0, $v0, 2 +/* BA12F4 80240BC4 00431023 */ subu $v0, $v0, $v1 +/* BA12F8 80240BC8 000218C0 */ sll $v1, $v0, 3 +/* BA12FC 80240BCC 00431021 */ addu $v0, $v0, $v1 +/* BA1300 80240BD0 000210C0 */ sll $v0, $v0, 3 +/* BA1304 80240BD4 3C01800B */ lui $at, 0x800b +/* BA1308 80240BD8 00220821 */ addu $at, $at, $v0 +/* BA130C 80240BDC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BA1310 80240BE0 460C0300 */ add.s $f12, $f0, $f12 +.L80240BE4: +/* BA1314 80240BE4 0C00A6C9 */ jal clamp_angle +/* BA1318 80240BE8 00000000 */ nop +/* BA131C 80240BEC 46000586 */ mov.s $f22, $f0 +/* BA1320 80240BF0 3C014334 */ lui $at, 0x4334 +/* BA1324 80240BF4 44816000 */ mtc1 $at, $f12 +/* BA1328 80240BF8 0C00A6C9 */ jal clamp_angle +/* BA132C 80240BFC 460CB300 */ add.s $f12, $f22, $f12 +/* BA1330 80240C00 8EC20088 */ lw $v0, 0x88($s6) +/* BA1334 80240C04 14400010 */ bnez $v0, .L80240C48 +/* BA1338 80240C08 46000606 */ mov.s $f24, $f0 +/* BA133C 80240C0C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA1340 80240C10 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA1344 80240C14 804300B4 */ lb $v1, 0xb4($v0) +/* BA1348 80240C18 3C014200 */ lui $at, 0x4200 +/* BA134C 80240C1C 4481A000 */ mtc1 $at, $f20 +/* BA1350 80240C20 10600016 */ beqz $v1, .L80240C7C +/* BA1354 80240C24 24020001 */ addiu $v0, $zero, 1 +/* BA1358 80240C28 3C0142C8 */ lui $at, 0x42c8 +/* BA135C 80240C2C 4481A000 */ mtc1 $at, $f20 +/* BA1360 80240C30 14620013 */ bne $v1, $v0, .L80240C80 +/* BA1364 80240C34 26300038 */ addiu $s0, $s1, 0x38 +/* BA1368 80240C38 3C0142B4 */ lui $at, 0x42b4 +/* BA136C 80240C3C 4481A000 */ mtc1 $at, $f20 +/* BA1370 80240C40 08090321 */ j .L80240C84 +/* BA1374 80240C44 0200202D */ daddu $a0, $s0, $zero +.L80240C48: +/* BA1378 80240C48 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA137C 80240C4C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA1380 80240C50 804300B4 */ lb $v1, 0xb4($v0) +/* BA1384 80240C54 3C014218 */ lui $at, 0x4218 +/* BA1388 80240C58 4481A000 */ mtc1 $at, $f20 +/* BA138C 80240C5C 10600007 */ beqz $v1, .L80240C7C +/* BA1390 80240C60 24020001 */ addiu $v0, $zero, 1 +/* BA1394 80240C64 3C0142B4 */ lui $at, 0x42b4 +/* BA1398 80240C68 4481A000 */ mtc1 $at, $f20 +/* BA139C 80240C6C 14620004 */ bne $v1, $v0, .L80240C80 +/* BA13A0 80240C70 26300038 */ addiu $s0, $s1, 0x38 +/* BA13A4 80240C74 3C014296 */ lui $at, 0x4296 +/* BA13A8 80240C78 4481A000 */ mtc1 $at, $f20 +.L80240C7C: +/* BA13AC 80240C7C 26300038 */ addiu $s0, $s1, 0x38 +.L80240C80: +/* BA13B0 80240C80 0200202D */ daddu $a0, $s0, $zero +.L80240C84: +/* BA13B4 80240C84 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* BA13B8 80240C88 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* BA13BC 80240C8C 4407C000 */ mfc1 $a3, $f24 +/* BA13C0 80240C90 862200A6 */ lh $v0, 0xa6($s1) +/* BA13C4 80240C94 8EA30000 */ lw $v1, ($s5) +/* BA13C8 80240C98 44824000 */ mtc1 $v0, $f8 +/* BA13CC 80240C9C 00000000 */ nop +/* BA13D0 80240CA0 46804220 */ cvt.s.w $f8, $f8 +/* BA13D4 80240CA4 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA13D8 80240CA8 44064000 */ mfc1 $a2, $f8 +/* BA13DC 80240CAC 26330040 */ addiu $s3, $s1, 0x40 +/* BA13E0 80240CB0 E6200038 */ swc1 $f0, 0x38($s1) +/* BA13E4 80240CB4 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA13E8 80240CB8 0260282D */ daddu $a1, $s3, $zero +/* BA13EC 80240CBC 0C00A7E7 */ jal add_vec2D_polar +/* BA13F0 80240CC0 E6200040 */ swc1 $f0, 0x40($s1) +/* BA13F4 80240CC4 862200A6 */ lh $v0, 0xa6($s1) +/* BA13F8 80240CC8 44820000 */ mtc1 $v0, $f0 +/* BA13FC 80240CCC 00000000 */ nop +/* BA1400 80240CD0 46800020 */ cvt.s.w $f0, $f0 +/* BA1404 80240CD4 4600A000 */ add.s $f0, $f20, $f0 +/* BA1408 80240CD8 4406B000 */ mfc1 $a2, $f22 +/* BA140C 80240CDC 44050000 */ mfc1 $a1, $f0 +/* BA1410 80240CE0 0C00EA95 */ jal npc_move_heading +/* BA1414 80240CE4 0220202D */ daddu $a0, $s1, $zero +/* BA1418 80240CE8 8EC20088 */ lw $v0, 0x88($s6) +/* BA141C 80240CEC 1440005D */ bnez $v0, .L80240E64 +/* BA1420 80240CF0 00000000 */ nop +/* BA1424 80240CF4 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA1428 80240CF8 3C018024 */ lui $at, 0x8024 +/* BA142C 80240CFC D4244018 */ ldc1 $f4, 0x4018($at) +/* BA1430 80240D00 46000021 */ cvt.d.s $f0, $f0 +/* BA1434 80240D04 4620203C */ c.lt.d $f4, $f0 +/* BA1438 80240D08 00000000 */ nop +/* BA143C 80240D0C 45000005 */ bc1f .L80240D24 +/* BA1440 80240D10 00000000 */ nop +/* BA1444 80240D14 3C0143BE */ lui $at, 0x43be +/* BA1448 80240D18 44810000 */ mtc1 $at, $f0 +/* BA144C 80240D1C 00000000 */ nop +/* BA1450 80240D20 E6200038 */ swc1 $f0, 0x38($s1) +.L80240D24: +/* BA1454 80240D24 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA1458 80240D28 3C018024 */ lui $at, 0x8024 +/* BA145C 80240D2C D4224020 */ ldc1 $f2, 0x4020($at) +/* BA1460 80240D30 46000021 */ cvt.d.s $f0, $f0 +/* BA1464 80240D34 4622003C */ c.lt.d $f0, $f2 +/* BA1468 80240D38 00000000 */ nop +/* BA146C 80240D3C 45000005 */ bc1f .L80240D54 +/* BA1470 80240D40 00000000 */ nop +/* BA1474 80240D44 3C01C3BE */ lui $at, 0xc3be +/* BA1478 80240D48 44810000 */ mtc1 $at, $f0 +/* BA147C 80240D4C 00000000 */ nop +/* BA1480 80240D50 E6200038 */ swc1 $f0, 0x38($s1) +.L80240D54: +/* BA1484 80240D54 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA1488 80240D58 46000021 */ cvt.d.s $f0, $f0 +/* BA148C 80240D5C 4620203C */ c.lt.d $f4, $f0 +/* BA1490 80240D60 00000000 */ nop +/* BA1494 80240D64 45000005 */ bc1f .L80240D7C +/* BA1498 80240D68 00000000 */ nop +/* BA149C 80240D6C 3C0143BE */ lui $at, 0x43be +/* BA14A0 80240D70 44810000 */ mtc1 $at, $f0 +/* BA14A4 80240D74 00000000 */ nop +/* BA14A8 80240D78 E6200040 */ swc1 $f0, 0x40($s1) +.L80240D7C: +/* BA14AC 80240D7C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA14B0 80240D80 46000021 */ cvt.d.s $f0, $f0 +/* BA14B4 80240D84 4622003C */ c.lt.d $f0, $f2 +/* BA14B8 80240D88 00000000 */ nop +/* BA14BC 80240D8C 45000005 */ bc1f .L80240DA4 +/* BA14C0 80240D90 00000000 */ nop +/* BA14C4 80240D94 3C01C3BE */ lui $at, 0xc3be +/* BA14C8 80240D98 44810000 */ mtc1 $at, $f0 +/* BA14CC 80240D9C 00000000 */ nop +/* BA14D0 80240DA0 E6200040 */ swc1 $f0, 0x40($s1) +.L80240DA4: +/* BA14D4 80240DA4 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA14D8 80240DA8 46021082 */ mul.s $f2, $f2, $f2 +/* BA14DC 80240DAC 00000000 */ nop +/* BA14E0 80240DB0 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA14E4 80240DB4 46000002 */ mul.s $f0, $f0, $f0 +/* BA14E8 80240DB8 00000000 */ nop +/* BA14EC 80240DBC 46001300 */ add.s $f12, $f2, $f0 +/* BA14F0 80240DC0 46006004 */ sqrt.s $f0, $f12 +/* BA14F4 80240DC4 46000032 */ c.eq.s $f0, $f0 +/* BA14F8 80240DC8 00000000 */ nop +/* BA14FC 80240DCC 45010003 */ bc1t .L80240DDC +/* BA1500 80240DD0 00000000 */ nop +/* BA1504 80240DD4 0C0187BC */ jal sqrtf +/* BA1508 80240DD8 00000000 */ nop +.L80240DDC: +/* BA150C 80240DDC 8E260038 */ lw $a2, 0x38($s1) +/* BA1510 80240DE0 8E270040 */ lw $a3, 0x40($s1) +/* BA1514 80240DE4 4480A000 */ mtc1 $zero, $f20 +/* BA1518 80240DE8 E7A00038 */ swc1 $f0, 0x38($sp) +/* BA151C 80240DEC 4600A306 */ mov.s $f12, $f20 +/* BA1520 80240DF0 0C00A720 */ jal atan2 +/* BA1524 80240DF4 4600A386 */ mov.s $f14, $f20 +/* BA1528 80240DF8 46000586 */ mov.s $f22, $f0 +/* BA152C 80240DFC C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA1530 80240E00 3C018024 */ lui $at, 0x8024 +/* BA1534 80240E04 D4204028 */ ldc1 $f0, 0x4028($at) +/* BA1538 80240E08 460010A1 */ cvt.d.s $f2, $f2 +/* BA153C 80240E0C 4620103C */ c.lt.d $f2, $f0 +/* BA1540 80240E10 00000000 */ nop +/* BA1544 80240E14 45000004 */ bc1f .L80240E28 +/* BA1548 80240E18 0200202D */ daddu $a0, $s0, $zero +/* BA154C 80240E1C 3C064398 */ lui $a2, 0x4398 +/* BA1550 80240E20 08090392 */ j .L80240E48 +/* BA1554 80240E24 34C68000 */ ori $a2, $a2, 0x8000 +.L80240E28: +/* BA1558 80240E28 3C018024 */ lui $at, 0x8024 +/* BA155C 80240E2C D4204030 */ ldc1 $f0, 0x4030($at) +/* BA1560 80240E30 4622003C */ c.lt.d $f0, $f2 +/* BA1564 80240E34 00000000 */ nop +/* BA1568 80240E38 450000FA */ bc1f .L80241224 +/* BA156C 80240E3C 00000000 */ nop +/* BA1570 80240E40 3C0643BB */ lui $a2, 0x43bb +/* BA1574 80240E44 34C68000 */ ori $a2, $a2, 0x8000 +.L80240E48: +/* BA1578 80240E48 4407B000 */ mfc1 $a3, $f22 +/* BA157C 80240E4C 0260282D */ daddu $a1, $s3, $zero +/* BA1580 80240E50 E6340038 */ swc1 $f20, 0x38($s1) +/* BA1584 80240E54 0C00A7E7 */ jal add_vec2D_polar +/* BA1588 80240E58 E6340040 */ swc1 $f20, 0x40($s1) +/* BA158C 80240E5C 08090489 */ j .L80241224 +/* BA1590 80240E60 00000000 */ nop +.L80240E64: +/* BA1594 80240E64 8E220000 */ lw $v0, ($s1) +/* BA1598 80240E68 30420040 */ andi $v0, $v0, 0x40 +/* BA159C 80240E6C 144000B0 */ bnez $v0, .L80241130 +/* BA15A0 80240E70 27A50020 */ addiu $a1, $sp, 0x20 +/* BA15A4 80240E74 27B40020 */ addiu $s4, $sp, 0x20 +/* BA15A8 80240E78 0280282D */ daddu $a1, $s4, $zero +/* BA15AC 80240E7C 27B30024 */ addiu $s3, $sp, 0x24 +/* BA15B0 80240E80 8EA20000 */ lw $v0, ($s5) +/* BA15B4 80240E84 3C014032 */ lui $at, 0x4032 +/* BA15B8 80240E88 44811800 */ mtc1 $at, $f3 +/* BA15BC 80240E8C 44801000 */ mtc1 $zero, $f2 +/* BA15C0 80240E90 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA15C4 80240E94 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA15C8 80240E98 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA15CC 80240E9C 46000021 */ cvt.d.s $f0, $f0 +/* BA15D0 80240EA0 46220000 */ add.d $f0, $f0, $f2 +/* BA15D4 80240EA4 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA15D8 80240EA8 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA15DC 80240EAC 46200020 */ cvt.s.d $f0, $f0 +/* BA15E0 80240EB0 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA15E4 80240EB4 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA15E8 80240EB8 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA15EC 80240EBC 862200A8 */ lh $v0, 0xa8($s1) +/* BA15F0 80240EC0 0260302D */ daddu $a2, $s3, $zero +/* BA15F4 80240EC4 44820000 */ mtc1 $v0, $f0 +/* BA15F8 80240EC8 00000000 */ nop +/* BA15FC 80240ECC 46800020 */ cvt.s.w $f0, $f0 +/* BA1600 80240ED0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA1604 80240ED4 862200A6 */ lh $v0, 0xa6($s1) +/* BA1608 80240ED8 27B00028 */ addiu $s0, $sp, 0x28 +/* BA160C 80240EDC 44820000 */ mtc1 $v0, $f0 +/* BA1610 80240EE0 00000000 */ nop +/* BA1614 80240EE4 46800020 */ cvt.s.w $f0, $f0 +/* BA1618 80240EE8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA161C 80240EEC 8E240080 */ lw $a0, 0x80($s1) +/* BA1620 80240EF0 0C037711 */ jal func_800DDC44 +/* BA1624 80240EF4 0200382D */ daddu $a3, $s0, $zero +/* BA1628 80240EF8 104000CA */ beqz $v0, .L80241224 +/* BA162C 80240EFC 0280282D */ daddu $a1, $s4, $zero +/* BA1630 80240F00 8EA20000 */ lw $v0, ($s5) +/* BA1634 80240F04 3C018024 */ lui $at, 0x8024 +/* BA1638 80240F08 D4224038 */ ldc1 $f2, 0x4038($at) +/* BA163C 80240F0C C440002C */ lwc1 $f0, 0x2c($v0) +/* BA1640 80240F10 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA1644 80240F14 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA1648 80240F18 46000021 */ cvt.d.s $f0, $f0 +/* BA164C 80240F1C 46220000 */ add.d $f0, $f0, $f2 +/* BA1650 80240F20 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA1654 80240F24 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA1658 80240F28 46200020 */ cvt.s.d $f0, $f0 +/* BA165C 80240F2C E7A00024 */ swc1 $f0, 0x24($sp) +/* BA1660 80240F30 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA1664 80240F34 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA1668 80240F38 862200A8 */ lh $v0, 0xa8($s1) +/* BA166C 80240F3C 44820000 */ mtc1 $v0, $f0 +/* BA1670 80240F40 00000000 */ nop +/* BA1674 80240F44 46800020 */ cvt.s.w $f0, $f0 +/* BA1678 80240F48 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA167C 80240F4C 862200A6 */ lh $v0, 0xa6($s1) +/* BA1680 80240F50 0260302D */ daddu $a2, $s3, $zero +/* BA1684 80240F54 44820000 */ mtc1 $v0, $f0 +/* BA1688 80240F58 00000000 */ nop +/* BA168C 80240F5C 46800020 */ cvt.s.w $f0, $f0 +/* BA1690 80240F60 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA1694 80240F64 8E240080 */ lw $a0, 0x80($s1) +/* BA1698 80240F68 0C037711 */ jal func_800DDC44 +/* BA169C 80240F6C 0200382D */ daddu $a3, $s0, $zero +/* BA16A0 80240F70 27A5002C */ addiu $a1, $sp, 0x2c +/* BA16A4 80240F74 27A60030 */ addiu $a2, $sp, 0x30 +/* BA16A8 80240F78 27A70034 */ addiu $a3, $sp, 0x34 +/* BA16AC 80240F7C 27A30038 */ addiu $v1, $sp, 0x38 +/* BA16B0 80240F80 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA16B4 80240F84 C620003C */ lwc1 $f0, 0x3c($s1) +/* BA16B8 80240F88 3C014348 */ lui $at, 0x4348 +/* BA16BC 80240F8C 44813000 */ mtc1 $at, $f6 +/* BA16C0 80240F90 46000021 */ cvt.d.s $f0, $f0 +/* BA16C4 80240F94 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BA16C8 80240F98 3C014059 */ lui $at, 0x4059 +/* BA16CC 80240F9C 44811800 */ mtc1 $at, $f3 +/* BA16D0 80240FA0 44801000 */ mtc1 $zero, $f2 +/* BA16D4 80240FA4 C6240040 */ lwc1 $f4, 0x40($s1) +/* BA16D8 80240FA8 46220000 */ add.d $f0, $f0, $f2 +/* BA16DC 80240FAC E7A60038 */ swc1 $f6, 0x38($sp) +/* BA16E0 80240FB0 E7A40034 */ swc1 $f4, 0x34($sp) +/* BA16E4 80240FB4 46200020 */ cvt.s.d $f0, $f0 +/* BA16E8 80240FB8 E7A00030 */ swc1 $f0, 0x30($sp) +/* BA16EC 80240FBC AFA30010 */ sw $v1, 0x10($sp) +/* BA16F0 80240FC0 8E240080 */ lw $a0, 0x80($s1) +/* BA16F4 80240FC4 0C0372DF */ jal func_800DCB7C +/* BA16F8 80240FC8 0040802D */ daddu $s0, $v0, $zero +/* BA16FC 80240FCC 1600001C */ bnez $s0, .L80241040 +/* BA1700 80240FD0 00000000 */ nop +/* BA1704 80240FD4 1040001A */ beqz $v0, .L80241040 +/* BA1708 80240FD8 00000000 */ nop +/* BA170C 80240FDC C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA1710 80240FE0 3C014054 */ lui $at, 0x4054 +/* BA1714 80240FE4 44810800 */ mtc1 $at, $f1 +/* BA1718 80240FE8 44800000 */ mtc1 $zero, $f0 +/* BA171C 80240FEC 460010A1 */ cvt.d.s $f2, $f2 +/* BA1720 80240FF0 4622003C */ c.lt.d $f0, $f2 +/* BA1724 80240FF4 00000000 */ nop +/* BA1728 80240FF8 45000011 */ bc1f .L80241040 +/* BA172C 80240FFC 00000000 */ nop +/* BA1730 80241000 3C01405E */ lui $at, 0x405e +/* BA1734 80241004 44810800 */ mtc1 $at, $f1 +/* BA1738 80241008 44800000 */ mtc1 $zero, $f0 +/* BA173C 8024100C 00000000 */ nop +/* BA1740 80241010 4620103C */ c.lt.d $f2, $f0 +/* BA1744 80241014 00000000 */ nop +/* BA1748 80241018 45000009 */ bc1f .L80241040 +/* BA174C 8024101C 00000000 */ nop +/* BA1750 80241020 C622003C */ lwc1 $f2, 0x3c($s1) +/* BA1754 80241024 C7A00030 */ lwc1 $f0, 0x30($sp) +/* BA1758 80241028 46001032 */ c.eq.s $f2, $f0 +/* BA175C 8024102C 00000000 */ nop +/* BA1760 80241030 45010003 */ bc1t .L80241040 +/* BA1764 80241034 00000000 */ nop +/* BA1768 80241038 08090489 */ j .L80241224 +/* BA176C 8024103C 241E0001 */ addiu $fp, $zero, 1 +.L80241040: +/* BA1770 80241040 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* BA1774 80241044 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* BA1778 80241048 8E020000 */ lw $v0, ($s0) +/* BA177C 8024104C 3C014024 */ lui $at, 0x4024 +/* BA1780 80241050 44811800 */ mtc1 $at, $f3 +/* BA1784 80241054 44801000 */ mtc1 $zero, $f2 +/* BA1788 80241058 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA178C 8024105C C4460028 */ lwc1 $f6, 0x28($v0) +/* BA1790 80241060 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA1794 80241064 46000021 */ cvt.d.s $f0, $f0 +/* BA1798 80241068 46220000 */ add.d $f0, $f0, $f2 +/* BA179C 8024106C E7A60020 */ swc1 $f6, 0x20($sp) +/* BA17A0 80241070 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA17A4 80241074 46200020 */ cvt.s.d $f0, $f0 +/* BA17A8 80241078 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA17AC 8024107C E7B40010 */ swc1 $f20, 0x10($sp) +/* BA17B0 80241080 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA17B4 80241084 862200A8 */ lh $v0, 0xa8($s1) +/* BA17B8 80241088 27A50020 */ addiu $a1, $sp, 0x20 +/* BA17BC 8024108C 44820000 */ mtc1 $v0, $f0 +/* BA17C0 80241090 00000000 */ nop +/* BA17C4 80241094 46800020 */ cvt.s.w $f0, $f0 +/* BA17C8 80241098 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA17CC 8024109C 862200A6 */ lh $v0, 0xa6($s1) +/* BA17D0 802410A0 27A60024 */ addiu $a2, $sp, 0x24 +/* BA17D4 802410A4 44820000 */ mtc1 $v0, $f0 +/* BA17D8 802410A8 00000000 */ nop +/* BA17DC 802410AC 46800020 */ cvt.s.w $f0, $f0 +/* BA17E0 802410B0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA17E4 802410B4 8E240080 */ lw $a0, 0x80($s1) +/* BA17E8 802410B8 0C037711 */ jal func_800DDC44 +/* BA17EC 802410BC 27A70028 */ addiu $a3, $sp, 0x28 +/* BA17F0 802410C0 8FA60020 */ lw $a2, 0x20($sp) +/* BA17F4 802410C4 8E020000 */ lw $v0, ($s0) +/* BA17F8 802410C8 8FA70028 */ lw $a3, 0x28($sp) +/* BA17FC 802410CC C44C0028 */ lwc1 $f12, 0x28($v0) +/* BA1800 802410D0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BA1804 802410D4 0C00A7B5 */ jal dist2D +/* BA1808 802410D8 24170001 */ addiu $s7, $zero, 1 +/* BA180C 802410DC 46000506 */ mov.s $f20, $f0 +/* BA1810 802410E0 8E030000 */ lw $v1, ($s0) +/* BA1814 802410E4 862200A6 */ lh $v0, 0xa6($s1) +/* BA1818 802410E8 4407C000 */ mfc1 $a3, $f24 +/* BA181C 802410EC 44824000 */ mtc1 $v0, $f8 +/* BA1820 802410F0 00000000 */ nop +/* BA1824 802410F4 46804220 */ cvt.s.w $f8, $f8 +/* BA1828 802410F8 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA182C 802410FC 44064000 */ mfc1 $a2, $f8 +/* BA1830 80241100 26240038 */ addiu $a0, $s1, 0x38 +/* BA1834 80241104 E6200038 */ swc1 $f0, 0x38($s1) +/* BA1838 80241108 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA183C 8024110C 26250040 */ addiu $a1, $s1, 0x40 +/* BA1840 80241110 0C00A7E7 */ jal add_vec2D_polar +/* BA1844 80241114 E6200040 */ swc1 $f0, 0x40($s1) +/* BA1848 80241118 862200A6 */ lh $v0, 0xa6($s1) +/* BA184C 8024111C 44820000 */ mtc1 $v0, $f0 +/* BA1850 80241120 00000000 */ nop +/* BA1854 80241124 46800020 */ cvt.s.w $f0, $f0 +/* BA1858 80241128 08090485 */ j .L80241214 +/* BA185C 8024112C 4600A500 */ add.s $f20, $f20, $f0 +.L80241130: +/* BA1860 80241130 8EA20000 */ lw $v0, ($s5) +/* BA1864 80241134 3C014032 */ lui $at, 0x4032 +/* BA1868 80241138 44811800 */ mtc1 $at, $f3 +/* BA186C 8024113C 44801000 */ mtc1 $zero, $f2 +/* BA1870 80241140 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA1874 80241144 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA1878 80241148 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA187C 8024114C 46000021 */ cvt.d.s $f0, $f0 +/* BA1880 80241150 46220000 */ add.d $f0, $f0, $f2 +/* BA1884 80241154 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA1888 80241158 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA188C 8024115C 46200020 */ cvt.s.d $f0, $f0 +/* BA1890 80241160 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA1894 80241164 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA1898 80241168 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA189C 8024116C 862200A8 */ lh $v0, 0xa8($s1) +/* BA18A0 80241170 44820000 */ mtc1 $v0, $f0 +/* BA18A4 80241174 00000000 */ nop +/* BA18A8 80241178 46800020 */ cvt.s.w $f0, $f0 +/* BA18AC 8024117C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA18B0 80241180 862200A6 */ lh $v0, 0xa6($s1) +/* BA18B4 80241184 27A60024 */ addiu $a2, $sp, 0x24 +/* BA18B8 80241188 44820000 */ mtc1 $v0, $f0 +/* BA18BC 8024118C 00000000 */ nop +/* BA18C0 80241190 46800020 */ cvt.s.w $f0, $f0 +/* BA18C4 80241194 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA18C8 80241198 8E240080 */ lw $a0, 0x80($s1) +/* BA18CC 8024119C 0C037711 */ jal func_800DDC44 +/* BA18D0 802411A0 27A70028 */ addiu $a3, $sp, 0x28 +/* BA18D4 802411A4 1040001F */ beqz $v0, .L80241224 +/* BA18D8 802411A8 00000000 */ nop +/* BA18DC 802411AC 8FA60020 */ lw $a2, 0x20($sp) +/* BA18E0 802411B0 8EA20000 */ lw $v0, ($s5) +/* BA18E4 802411B4 8FA70028 */ lw $a3, 0x28($sp) +/* BA18E8 802411B8 C44C0028 */ lwc1 $f12, 0x28($v0) +/* BA18EC 802411BC 0C00A7B5 */ jal dist2D +/* BA18F0 802411C0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BA18F4 802411C4 46000506 */ mov.s $f20, $f0 +/* BA18F8 802411C8 8EA30000 */ lw $v1, ($s5) +/* BA18FC 802411CC 862200A6 */ lh $v0, 0xa6($s1) +/* BA1900 802411D0 4407C000 */ mfc1 $a3, $f24 +/* BA1904 802411D4 44824000 */ mtc1 $v0, $f8 +/* BA1908 802411D8 00000000 */ nop +/* BA190C 802411DC 46804220 */ cvt.s.w $f8, $f8 +/* BA1910 802411E0 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA1914 802411E4 44064000 */ mfc1 $a2, $f8 +/* BA1918 802411E8 0200202D */ daddu $a0, $s0, $zero +/* BA191C 802411EC E6200038 */ swc1 $f0, 0x38($s1) +/* BA1920 802411F0 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA1924 802411F4 0260282D */ daddu $a1, $s3, $zero +/* BA1928 802411F8 0C00A7E7 */ jal add_vec2D_polar +/* BA192C 802411FC E6200040 */ swc1 $f0, 0x40($s1) +/* BA1930 80241200 862200A6 */ lh $v0, 0xa6($s1) +/* BA1934 80241204 44820000 */ mtc1 $v0, $f0 +/* BA1938 80241208 00000000 */ nop +/* BA193C 8024120C 46800020 */ cvt.s.w $f0, $f0 +/* BA1940 80241210 4600A500 */ add.s $f20, $f20, $f0 +.L80241214: +/* BA1944 80241214 4406B000 */ mfc1 $a2, $f22 +/* BA1948 80241218 4405A000 */ mfc1 $a1, $f20 +/* BA194C 8024121C 0C00EA95 */ jal npc_move_heading +/* BA1950 80241220 0220202D */ daddu $a0, $s1, $zero +.L80241224: +/* BA1954 80241224 C6400008 */ lwc1 $f0, 8($s2) +/* BA1958 80241228 46800020 */ cvt.s.w $f0, $f0 +/* BA195C 8024122C 44050000 */ mfc1 $a1, $f0 +/* BA1960 80241230 C640000C */ lwc1 $f0, 0xc($s2) +/* BA1964 80241234 46800020 */ cvt.s.w $f0, $f0 +/* BA1968 80241238 44060000 */ mfc1 $a2, $f0 +/* BA196C 8024123C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA1970 80241240 26300038 */ addiu $s0, $s1, 0x38 +/* BA1974 80241244 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA1978 80241248 C6400010 */ lwc1 $f0, 0x10($s2) +/* BA197C 8024124C 46800020 */ cvt.s.w $f0, $f0 +/* BA1980 80241250 E7A00014 */ swc1 $f0, 0x14($sp) +/* BA1984 80241254 C6400014 */ lwc1 $f0, 0x14($s2) +/* BA1988 80241258 46800020 */ cvt.s.w $f0, $f0 +/* BA198C 8024125C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA1990 80241260 8E440004 */ lw $a0, 4($s2) +/* BA1994 80241264 8E270038 */ lw $a3, 0x38($s1) +/* BA1998 80241268 0C0123F5 */ jal is_point_within_region +/* BA199C 8024126C 26330040 */ addiu $s3, $s1, 0x40 +/* BA19A0 80241270 1040005A */ beqz $v0, .L802413DC +/* BA19A4 80241274 00000000 */ nop +/* BA19A8 80241278 8E430004 */ lw $v1, 4($s2) +/* BA19AC 8024127C 10600005 */ beqz $v1, .L80241294 +/* BA19B0 80241280 24020001 */ addiu $v0, $zero, 1 +/* BA19B4 80241284 10620029 */ beq $v1, $v0, .L8024132C +/* BA19B8 80241288 00000000 */ nop +/* BA19BC 8024128C 080904F7 */ j .L802413DC +/* BA19C0 80241290 00000000 */ nop +.L80241294: +/* BA19C4 80241294 C6480008 */ lwc1 $f8, 8($s2) +/* BA19C8 80241298 46804220 */ cvt.s.w $f8, $f8 +/* BA19CC 8024129C 44064000 */ mfc1 $a2, $f8 +/* BA19D0 802412A0 C648000C */ lwc1 $f8, 0xc($s2) +/* BA19D4 802412A4 46804220 */ cvt.s.w $f8, $f8 +/* BA19D8 802412A8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BA19DC 802412AC C62E0040 */ lwc1 $f14, 0x40($s1) +/* BA19E0 802412B0 44074000 */ mfc1 $a3, $f8 +/* BA19E4 802412B4 0C00A7B5 */ jal dist2D +/* BA19E8 802412B8 00000000 */ nop +/* BA19EC 802412BC C6420010 */ lwc1 $f2, 0x10($s2) +/* BA19F0 802412C0 468010A0 */ cvt.s.w $f2, $f2 +/* BA19F4 802412C4 4600103C */ c.lt.s $f2, $f0 +/* BA19F8 802412C8 00000000 */ nop +/* BA19FC 802412CC 45000043 */ bc1f .L802413DC +/* BA1A00 802412D0 E7A00038 */ swc1 $f0, 0x38($sp) +/* BA1A04 802412D4 C64C0008 */ lwc1 $f12, 8($s2) +/* BA1A08 802412D8 46806320 */ cvt.s.w $f12, $f12 +/* BA1A0C 802412DC 8E260038 */ lw $a2, 0x38($s1) +/* BA1A10 802412E0 8E270040 */ lw $a3, 0x40($s1) +/* BA1A14 802412E4 C64E000C */ lwc1 $f14, 0xc($s2) +/* BA1A18 802412E8 0C00A720 */ jal atan2 +/* BA1A1C 802412EC 468073A0 */ cvt.s.w $f14, $f14 +/* BA1A20 802412F0 0200202D */ daddu $a0, $s0, $zero +/* BA1A24 802412F4 44070000 */ mfc1 $a3, $f0 +/* BA1A28 802412F8 C6400008 */ lwc1 $f0, 8($s2) +/* BA1A2C 802412FC 46800020 */ cvt.s.w $f0, $f0 +/* BA1A30 80241300 E6200038 */ swc1 $f0, 0x38($s1) +/* BA1A34 80241304 C640000C */ lwc1 $f0, 0xc($s2) +/* BA1A38 80241308 46800020 */ cvt.s.w $f0, $f0 +/* BA1A3C 8024130C E6200040 */ swc1 $f0, 0x40($s1) +/* BA1A40 80241310 C6480010 */ lwc1 $f8, 0x10($s2) +/* BA1A44 80241314 46804220 */ cvt.s.w $f8, $f8 +/* BA1A48 80241318 44064000 */ mfc1 $a2, $f8 +/* BA1A4C 8024131C 0C00A7E7 */ jal add_vec2D_polar +/* BA1A50 80241320 0260282D */ daddu $a1, $s3, $zero +/* BA1A54 80241324 080904F7 */ j .L802413DC +/* BA1A58 80241328 00000000 */ nop +.L8024132C: +/* BA1A5C 8024132C 8E420008 */ lw $v0, 8($s2) +/* BA1A60 80241330 8E430010 */ lw $v1, 0x10($s2) +/* BA1A64 80241334 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA1A68 80241338 00431021 */ addu $v0, $v0, $v1 +/* BA1A6C 8024133C 44821000 */ mtc1 $v0, $f2 +/* BA1A70 80241340 00000000 */ nop +/* BA1A74 80241344 468010A0 */ cvt.s.w $f2, $f2 +/* BA1A78 80241348 4600103C */ c.lt.s $f2, $f0 +/* BA1A7C 8024134C 00000000 */ nop +/* BA1A80 80241350 45030001 */ bc1tl .L80241358 +/* BA1A84 80241354 E6220038 */ swc1 $f2, 0x38($s1) +.L80241358: +/* BA1A88 80241358 8E420008 */ lw $v0, 8($s2) +/* BA1A8C 8024135C 8E430010 */ lw $v1, 0x10($s2) +/* BA1A90 80241360 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA1A94 80241364 00431023 */ subu $v0, $v0, $v1 +/* BA1A98 80241368 44821000 */ mtc1 $v0, $f2 +/* BA1A9C 8024136C 00000000 */ nop +/* BA1AA0 80241370 468010A0 */ cvt.s.w $f2, $f2 +/* BA1AA4 80241374 4602003C */ c.lt.s $f0, $f2 +/* BA1AA8 80241378 00000000 */ nop +/* BA1AAC 8024137C 45030001 */ bc1tl .L80241384 +/* BA1AB0 80241380 E6220038 */ swc1 $f2, 0x38($s1) +.L80241384: +/* BA1AB4 80241384 8E42000C */ lw $v0, 0xc($s2) +/* BA1AB8 80241388 8E430014 */ lw $v1, 0x14($s2) +/* BA1ABC 8024138C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA1AC0 80241390 00431021 */ addu $v0, $v0, $v1 +/* BA1AC4 80241394 44821000 */ mtc1 $v0, $f2 +/* BA1AC8 80241398 00000000 */ nop +/* BA1ACC 8024139C 468010A0 */ cvt.s.w $f2, $f2 +/* BA1AD0 802413A0 4600103C */ c.lt.s $f2, $f0 +/* BA1AD4 802413A4 00000000 */ nop +/* BA1AD8 802413A8 45030001 */ bc1tl .L802413B0 +/* BA1ADC 802413AC E6220040 */ swc1 $f2, 0x40($s1) +.L802413B0: +/* BA1AE0 802413B0 8E42000C */ lw $v0, 0xc($s2) +/* BA1AE4 802413B4 8E430014 */ lw $v1, 0x14($s2) +/* BA1AE8 802413B8 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA1AEC 802413BC 00431023 */ subu $v0, $v0, $v1 +/* BA1AF0 802413C0 44821000 */ mtc1 $v0, $f2 +/* BA1AF4 802413C4 00000000 */ nop +/* BA1AF8 802413C8 468010A0 */ cvt.s.w $f2, $f2 +/* BA1AFC 802413CC 4602003C */ c.lt.s $f0, $f2 +/* BA1B00 802413D0 00000000 */ nop +/* BA1B04 802413D4 45030001 */ bc1tl .L802413DC +/* BA1B08 802413D8 E6220040 */ swc1 $f2, 0x40($s1) +.L802413DC: +/* BA1B0C 802413DC 16E0001F */ bnez $s7, .L8024145C +/* BA1B10 802413E0 00000000 */ nop +/* BA1B14 802413E4 8E220000 */ lw $v0, ($s1) +/* BA1B18 802413E8 30420008 */ andi $v0, $v0, 8 +/* BA1B1C 802413EC 10400003 */ beqz $v0, .L802413FC +/* BA1B20 802413F0 27A50020 */ addiu $a1, $sp, 0x20 +/* BA1B24 802413F4 13C00019 */ beqz $fp, .L8024145C +/* BA1B28 802413F8 00000000 */ nop +.L802413FC: +/* BA1B2C 802413FC 27A60024 */ addiu $a2, $sp, 0x24 +/* BA1B30 80241400 27A20038 */ addiu $v0, $sp, 0x38 +/* BA1B34 80241404 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA1B38 80241408 C620003C */ lwc1 $f0, 0x3c($s1) +/* BA1B3C 8024140C 3C0143C8 */ lui $at, 0x43c8 +/* BA1B40 80241410 44813000 */ mtc1 $at, $f6 +/* BA1B44 80241414 46000021 */ cvt.d.s $f0, $f0 +/* BA1B48 80241418 E7A20020 */ swc1 $f2, 0x20($sp) +/* BA1B4C 8024141C 3C018024 */ lui $at, 0x8024 +/* BA1B50 80241420 D4224040 */ ldc1 $f2, 0x4040($at) +/* BA1B54 80241424 C6240040 */ lwc1 $f4, 0x40($s1) +/* BA1B58 80241428 46220000 */ add.d $f0, $f0, $f2 +/* BA1B5C 8024142C E7A60038 */ swc1 $f6, 0x38($sp) +/* BA1B60 80241430 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA1B64 80241434 46200020 */ cvt.s.d $f0, $f0 +/* BA1B68 80241438 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA1B6C 8024143C AFA20010 */ sw $v0, 0x10($sp) +/* BA1B70 80241440 8E240080 */ lw $a0, 0x80($s1) +/* BA1B74 80241444 0C0372DF */ jal func_800DCB7C +/* BA1B78 80241448 27A70028 */ addiu $a3, $sp, 0x28 +/* BA1B7C 8024144C 10400003 */ beqz $v0, .L8024145C +/* BA1B80 80241450 00000000 */ nop +/* BA1B84 80241454 C7A00024 */ lwc1 $f0, 0x24($sp) +/* BA1B88 80241458 E620003C */ swc1 $f0, 0x3c($s1) +.L8024145C: +/* BA1B8C 8024145C C62C0038 */ lwc1 $f12, 0x38($s1) +/* BA1B90 80241460 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA1B94 80241464 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA1B98 80241468 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BA1B9C 8024146C 8C460028 */ lw $a2, 0x28($v0) +/* BA1BA0 80241470 0C00A720 */ jal atan2 +/* BA1BA4 80241474 8C470030 */ lw $a3, 0x30($v0) +/* BA1BA8 80241478 0220202D */ daddu $a0, $s1, $zero +/* BA1BAC 8024147C 24050321 */ addiu $a1, $zero, 0x321 +/* BA1BB0 80241480 0000302D */ daddu $a2, $zero, $zero +/* BA1BB4 80241484 0C012530 */ jal func_800494C0 +/* BA1BB8 80241488 E620000C */ swc1 $f0, 0xc($s1) +/* BA1BBC 8024148C 8EC200CC */ lw $v0, 0xcc($s6) +/* BA1BC0 80241490 8C420024 */ lw $v0, 0x24($v0) +/* BA1BC4 80241494 AE220028 */ sw $v0, 0x28($s1) +/* BA1BC8 80241498 96C20096 */ lhu $v0, 0x96($s6) +/* BA1BCC 8024149C A622008E */ sh $v0, 0x8e($s1) +/* BA1BD0 802414A0 8FA80080 */ lw $t0, 0x80($sp) +/* BA1BD4 802414A4 2402000B */ addiu $v0, $zero, 0xb +/* BA1BD8 802414A8 AD020070 */ sw $v0, 0x70($t0) +.L802414AC: +/* BA1BDC 802414AC 8FBF0064 */ lw $ra, 0x64($sp) +/* BA1BE0 802414B0 8FBE0060 */ lw $fp, 0x60($sp) +/* BA1BE4 802414B4 8FB7005C */ lw $s7, 0x5c($sp) +/* BA1BE8 802414B8 8FB60058 */ lw $s6, 0x58($sp) +/* BA1BEC 802414BC 8FB50054 */ lw $s5, 0x54($sp) +/* BA1BF0 802414C0 8FB40050 */ lw $s4, 0x50($sp) +/* BA1BF4 802414C4 8FB3004C */ lw $s3, 0x4c($sp) +/* BA1BF8 802414C8 8FB20048 */ lw $s2, 0x48($sp) +/* BA1BFC 802414CC 8FB10044 */ lw $s1, 0x44($sp) +/* BA1C00 802414D0 8FB00040 */ lw $s0, 0x40($sp) +/* BA1C04 802414D4 D7B80078 */ ldc1 $f24, 0x78($sp) +/* BA1C08 802414D8 D7B60070 */ ldc1 $f22, 0x70($sp) +/* BA1C0C 802414DC D7B40068 */ ldc1 $f20, 0x68($sp) +/* BA1C10 802414E0 03E00008 */ jr $ra +/* BA1C14 802414E4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_802414E8_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_802414E8_BA0730.s new file mode 100644 index 0000000000..554b407434 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_802414E8_BA0730.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414E8_BA1C18 +/* BA1C18 802414E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA1C1C 802414EC AFB10014 */ sw $s1, 0x14($sp) +/* BA1C20 802414F0 0080882D */ daddu $s1, $a0, $zero +/* BA1C24 802414F4 AFBF0018 */ sw $ra, 0x18($sp) +/* BA1C28 802414F8 AFB00010 */ sw $s0, 0x10($sp) +/* BA1C2C 802414FC 8E300148 */ lw $s0, 0x148($s1) +/* BA1C30 80241500 0C00EABB */ jal get_npc_unsafe +/* BA1C34 80241504 86040008 */ lh $a0, 8($s0) +/* BA1C38 80241508 0040202D */ daddu $a0, $v0, $zero +/* BA1C3C 8024150C 9482008E */ lhu $v0, 0x8e($a0) +/* BA1C40 80241510 2442FFFF */ addiu $v0, $v0, -1 +/* BA1C44 80241514 A482008E */ sh $v0, 0x8e($a0) +/* BA1C48 80241518 00021400 */ sll $v0, $v0, 0x10 +/* BA1C4C 8024151C 8E030098 */ lw $v1, 0x98($s0) +/* BA1C50 80241520 00021403 */ sra $v0, $v0, 0x10 +/* BA1C54 80241524 0062182A */ slt $v1, $v1, $v0 +/* BA1C58 80241528 14600005 */ bnez $v1, .L80241540 +/* BA1C5C 8024152C 3C03E0EF */ lui $v1, 0xe0ef +/* BA1C60 80241530 8E020000 */ lw $v0, ($s0) +/* BA1C64 80241534 3463FFFF */ ori $v1, $v1, 0xffff +/* BA1C68 80241538 00431024 */ and $v0, $v0, $v1 +/* BA1C6C 8024153C AE020000 */ sw $v0, ($s0) +.L80241540: +/* BA1C70 80241540 8482008E */ lh $v0, 0x8e($a0) +/* BA1C74 80241544 14400007 */ bnez $v0, .L80241564 +/* BA1C78 80241548 00000000 */ nop +/* BA1C7C 8024154C 8E0200CC */ lw $v0, 0xcc($s0) +/* BA1C80 80241550 8C420028 */ lw $v0, 0x28($v0) +/* BA1C84 80241554 A480008E */ sh $zero, 0x8e($a0) +/* BA1C88 80241558 AC820028 */ sw $v0, 0x28($a0) +/* BA1C8C 8024155C 2402000C */ addiu $v0, $zero, 0xc +/* BA1C90 80241560 AE220070 */ sw $v0, 0x70($s1) +.L80241564: +/* BA1C94 80241564 8FBF0018 */ lw $ra, 0x18($sp) +/* BA1C98 80241568 8FB10014 */ lw $s1, 0x14($sp) +/* BA1C9C 8024156C 8FB00010 */ lw $s0, 0x10($sp) +/* BA1CA0 80241570 03E00008 */ jr $ra +/* BA1CA4 80241574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80241578_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_80241578_BA0730.s new file mode 100644 index 0000000000..a7ddca3f2d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80241578_BA0730.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241578_BA1CA8 +/* BA1CA8 80241578 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BA1CAC 8024157C AFB10034 */ sw $s1, 0x34($sp) +/* BA1CB0 80241580 0080882D */ daddu $s1, $a0, $zero +/* BA1CB4 80241584 AFBF0038 */ sw $ra, 0x38($sp) +/* BA1CB8 80241588 AFB00030 */ sw $s0, 0x30($sp) +/* BA1CBC 8024158C 8E300148 */ lw $s0, 0x148($s1) +/* BA1CC0 80241590 0C00EABB */ jal get_npc_unsafe +/* BA1CC4 80241594 86040008 */ lh $a0, 8($s0) +/* BA1CC8 80241598 0040282D */ daddu $a1, $v0, $zero +/* BA1CCC 8024159C 94A2008E */ lhu $v0, 0x8e($a1) +/* BA1CD0 802415A0 24420001 */ addiu $v0, $v0, 1 +/* BA1CD4 802415A4 A4A2008E */ sh $v0, 0x8e($a1) +/* BA1CD8 802415A8 00021400 */ sll $v0, $v0, 0x10 +/* BA1CDC 802415AC 8E0300A0 */ lw $v1, 0xa0($s0) +/* BA1CE0 802415B0 00021403 */ sra $v0, $v0, 0x10 +/* BA1CE4 802415B4 14430004 */ bne $v0, $v1, .L802415C8 +/* BA1CE8 802415B8 00000000 */ nop +/* BA1CEC 802415BC 8E0200CC */ lw $v0, 0xcc($s0) +/* BA1CF0 802415C0 8C42002C */ lw $v0, 0x2c($v0) +/* BA1CF4 802415C4 ACA20028 */ sw $v0, 0x28($a1) +.L802415C8: +/* BA1CF8 802415C8 84A3008E */ lh $v1, 0x8e($a1) +/* BA1CFC 802415CC 8E0200A4 */ lw $v0, 0xa4($s0) +/* BA1D00 802415D0 14620002 */ bne $v1, $v0, .L802415DC +/* BA1D04 802415D4 24020003 */ addiu $v0, $zero, 3 +/* BA1D08 802415D8 AE02006C */ sw $v0, 0x6c($s0) +.L802415DC: +/* BA1D0C 802415DC 84A2008E */ lh $v0, 0x8e($a1) +/* BA1D10 802415E0 8E03009C */ lw $v1, 0x9c($s0) +/* BA1D14 802415E4 0043102A */ slt $v0, $v0, $v1 +/* BA1D18 802415E8 1440001E */ bnez $v0, .L80241664 +/* BA1D1C 802415EC 24020004 */ addiu $v0, $zero, 4 +/* BA1D20 802415F0 AE02006C */ sw $v0, 0x6c($s0) +/* BA1D24 802415F4 24020008 */ addiu $v0, $zero, 8 +/* BA1D28 802415F8 24040003 */ addiu $a0, $zero, 3 +/* BA1D2C 802415FC A4A2008E */ sh $v0, 0x8e($a1) +/* BA1D30 80241600 8E0200CC */ lw $v0, 0xcc($s0) +/* BA1D34 80241604 84A300A8 */ lh $v1, 0xa8($a1) +/* BA1D38 80241608 3C013F80 */ lui $at, 0x3f80 +/* BA1D3C 8024160C 44810000 */ mtc1 $at, $f0 +/* BA1D40 80241610 3C014000 */ lui $at, 0x4000 +/* BA1D44 80241614 44811000 */ mtc1 $at, $f2 +/* BA1D48 80241618 3C01C1A0 */ lui $at, 0xc1a0 +/* BA1D4C 8024161C 44812000 */ mtc1 $at, $f4 +/* BA1D50 80241620 44833000 */ mtc1 $v1, $f6 +/* BA1D54 80241624 00000000 */ nop +/* BA1D58 80241628 468031A0 */ cvt.s.w $f6, $f6 +/* BA1D5C 8024162C 8C420000 */ lw $v0, ($v0) +/* BA1D60 80241630 44073000 */ mfc1 $a3, $f6 +/* BA1D64 80241634 0000302D */ daddu $a2, $zero, $zero +/* BA1D68 80241638 ACA20028 */ sw $v0, 0x28($a1) +/* BA1D6C 8024163C 2402000A */ addiu $v0, $zero, 0xa +/* BA1D70 80241640 AFA2001C */ sw $v0, 0x1c($sp) +/* BA1D74 80241644 27A20028 */ addiu $v0, $sp, 0x28 +/* BA1D78 80241648 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA1D7C 8024164C E7A20014 */ swc1 $f2, 0x14($sp) +/* BA1D80 80241650 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA1D84 80241654 0C01BFA4 */ jal fx_emote +/* BA1D88 80241658 AFA20020 */ sw $v0, 0x20($sp) +/* BA1D8C 8024165C 2402000D */ addiu $v0, $zero, 0xd +/* BA1D90 80241660 AE220070 */ sw $v0, 0x70($s1) +.L80241664: +/* BA1D94 80241664 8FBF0038 */ lw $ra, 0x38($sp) +/* BA1D98 80241668 8FB10034 */ lw $s1, 0x34($sp) +/* BA1D9C 8024166C 8FB00030 */ lw $s0, 0x30($sp) +/* BA1DA0 80241670 03E00008 */ jr $ra +/* BA1DA4 80241674 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_80241678.s b/asm/nonmatchings/world/area_mim/mim_05/func_80241678.s new file mode 100644 index 0000000000..8f2d884148 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_80241678.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241678 +/* BA1DA8 80241678 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA1DAC 8024167C AFB10014 */ sw $s1, 0x14($sp) +/* BA1DB0 80241680 0080882D */ daddu $s1, $a0, $zero +/* BA1DB4 80241684 AFBF0018 */ sw $ra, 0x18($sp) +/* BA1DB8 80241688 AFB00010 */ sw $s0, 0x10($sp) +/* BA1DBC 8024168C 8E300148 */ lw $s0, 0x148($s1) +/* BA1DC0 80241690 0C00EABB */ jal get_npc_unsafe +/* BA1DC4 80241694 86040008 */ lh $a0, 8($s0) +/* BA1DC8 80241698 0040182D */ daddu $v1, $v0, $zero +/* BA1DCC 8024169C 9462008E */ lhu $v0, 0x8e($v1) +/* BA1DD0 802416A0 2442FFFF */ addiu $v0, $v0, -1 +/* BA1DD4 802416A4 A462008E */ sh $v0, 0x8e($v1) +/* BA1DD8 802416A8 00021400 */ sll $v0, $v0, 0x10 +/* BA1DDC 802416AC 14400005 */ bnez $v0, .L802416C4 +/* BA1DE0 802416B0 00000000 */ nop +/* BA1DE4 802416B4 960200AA */ lhu $v0, 0xaa($s0) +/* BA1DE8 802416B8 A462008E */ sh $v0, 0x8e($v1) +/* BA1DEC 802416BC 2402000E */ addiu $v0, $zero, 0xe +/* BA1DF0 802416C0 AE220070 */ sw $v0, 0x70($s1) +.L802416C4: +/* BA1DF4 802416C4 8FBF0018 */ lw $ra, 0x18($sp) +/* BA1DF8 802416C8 8FB10014 */ lw $s1, 0x14($sp) +/* BA1DFC 802416CC 8FB00010 */ lw $s0, 0x10($sp) +/* BA1E00 802416D0 03E00008 */ jr $ra +/* BA1E04 802416D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_802416D8.s b/asm/nonmatchings/world/area_mim/mim_05/func_802416D8.s new file mode 100644 index 0000000000..59907d6133 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_802416D8.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416D8 +/* BA1E08 802416D8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BA1E0C 802416DC AFB40040 */ sw $s4, 0x40($sp) +/* BA1E10 802416E0 0080A02D */ daddu $s4, $a0, $zero +/* BA1E14 802416E4 AFBF0044 */ sw $ra, 0x44($sp) +/* BA1E18 802416E8 AFB3003C */ sw $s3, 0x3c($sp) +/* BA1E1C 802416EC AFB20038 */ sw $s2, 0x38($sp) +/* BA1E20 802416F0 AFB10034 */ sw $s1, 0x34($sp) +/* BA1E24 802416F4 AFB00030 */ sw $s0, 0x30($sp) +/* BA1E28 802416F8 8E910148 */ lw $s1, 0x148($s4) +/* BA1E2C 802416FC 00A0902D */ daddu $s2, $a1, $zero +/* BA1E30 80241700 86240008 */ lh $a0, 8($s1) +/* BA1E34 80241704 0C00EABB */ jal get_npc_unsafe +/* BA1E38 80241708 00C0982D */ daddu $s3, $a2, $zero +/* BA1E3C 8024170C 0040802D */ daddu $s0, $v0, $zero +/* BA1E40 80241710 9602008E */ lhu $v0, 0x8e($s0) +/* BA1E44 80241714 2442FFFF */ addiu $v0, $v0, -1 +/* BA1E48 80241718 A602008E */ sh $v0, 0x8e($s0) +/* BA1E4C 8024171C 00021400 */ sll $v0, $v0, 0x10 +/* BA1E50 80241720 14400020 */ bnez $v0, .L802417A4 +/* BA1E54 80241724 0260202D */ daddu $a0, $s3, $zero +/* BA1E58 80241728 AFA00010 */ sw $zero, 0x10($sp) +/* BA1E5C 8024172C 8E46000C */ lw $a2, 0xc($s2) +/* BA1E60 80241730 8E470010 */ lw $a3, 0x10($s2) +/* BA1E64 80241734 0C01242D */ jal func_800490B4 +/* BA1E68 80241738 0220282D */ daddu $a1, $s1, $zero +/* BA1E6C 8024173C 54400018 */ bnel $v0, $zero, .L802417A0 +/* BA1E70 80241740 A600008E */ sh $zero, 0x8e($s0) +/* BA1E74 80241744 24040002 */ addiu $a0, $zero, 2 +/* BA1E78 80241748 0200282D */ daddu $a1, $s0, $zero +/* BA1E7C 8024174C 0000302D */ daddu $a2, $zero, $zero +/* BA1E80 80241750 860300A8 */ lh $v1, 0xa8($s0) +/* BA1E84 80241754 3C013F80 */ lui $at, 0x3f80 +/* BA1E88 80241758 44810000 */ mtc1 $at, $f0 +/* BA1E8C 8024175C 3C014000 */ lui $at, 0x4000 +/* BA1E90 80241760 44811000 */ mtc1 $at, $f2 +/* BA1E94 80241764 3C01C1A0 */ lui $at, 0xc1a0 +/* BA1E98 80241768 44812000 */ mtc1 $at, $f4 +/* BA1E9C 8024176C 2402000F */ addiu $v0, $zero, 0xf +/* BA1EA0 80241770 AFA2001C */ sw $v0, 0x1c($sp) +/* BA1EA4 80241774 44833000 */ mtc1 $v1, $f6 +/* BA1EA8 80241778 00000000 */ nop +/* BA1EAC 8024177C 468031A0 */ cvt.s.w $f6, $f6 +/* BA1EB0 80241780 44073000 */ mfc1 $a3, $f6 +/* BA1EB4 80241784 27A20028 */ addiu $v0, $sp, 0x28 +/* BA1EB8 80241788 AFA20020 */ sw $v0, 0x20($sp) +/* BA1EBC 8024178C E7A00010 */ swc1 $f0, 0x10($sp) +/* BA1EC0 80241790 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA1EC4 80241794 0C01BFA4 */ jal fx_emote +/* BA1EC8 80241798 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA1ECC 8024179C A600008E */ sh $zero, 0x8e($s0) +.L802417A0: +/* BA1ED0 802417A0 AE800070 */ sw $zero, 0x70($s4) +.L802417A4: +/* BA1ED4 802417A4 8FBF0044 */ lw $ra, 0x44($sp) +/* BA1ED8 802417A8 8FB40040 */ lw $s4, 0x40($sp) +/* BA1EDC 802417AC 8FB3003C */ lw $s3, 0x3c($sp) +/* BA1EE0 802417B0 8FB20038 */ lw $s2, 0x38($sp) +/* BA1EE4 802417B4 8FB10034 */ lw $s1, 0x34($sp) +/* BA1EE8 802417B8 8FB00030 */ lw $s0, 0x30($sp) +/* BA1EEC 802417BC 03E00008 */ jr $ra +/* BA1EF0 802417C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_05/func_802417C4_BA0730.s b/asm/nonmatchings/world/area_mim/mim_05/func_802417C4_BA0730.s new file mode 100644 index 0000000000..b1ac546351 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_05/func_802417C4_BA0730.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C4_BA1EF4 +/* BA1EF4 802417C4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BA1EF8 802417C8 AFB20038 */ sw $s2, 0x38($sp) +/* BA1EFC 802417CC 0080902D */ daddu $s2, $a0, $zero +/* BA1F00 802417D0 AFBF0048 */ sw $ra, 0x48($sp) +/* BA1F04 802417D4 AFB50044 */ sw $s5, 0x44($sp) +/* BA1F08 802417D8 AFB40040 */ sw $s4, 0x40($sp) +/* BA1F0C 802417DC AFB3003C */ sw $s3, 0x3c($sp) +/* BA1F10 802417E0 AFB10034 */ sw $s1, 0x34($sp) +/* BA1F14 802417E4 AFB00030 */ sw $s0, 0x30($sp) +/* BA1F18 802417E8 8E510148 */ lw $s1, 0x148($s2) +/* BA1F1C 802417EC 86240008 */ lh $a0, 8($s1) +/* BA1F20 802417F0 0C00EABB */ jal get_npc_unsafe +/* BA1F24 802417F4 00A0802D */ daddu $s0, $a1, $zero +/* BA1F28 802417F8 8E43000C */ lw $v1, 0xc($s2) +/* BA1F2C 802417FC 0240202D */ daddu $a0, $s2, $zero +/* BA1F30 80241800 8C650000 */ lw $a1, ($v1) +/* BA1F34 80241804 0C0B1EAF */ jal get_variable +/* BA1F38 80241808 0040A82D */ daddu $s5, $v0, $zero +/* BA1F3C 8024180C AFA00010 */ sw $zero, 0x10($sp) +/* BA1F40 80241810 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA1F44 80241814 8C630030 */ lw $v1, 0x30($v1) +/* BA1F48 80241818 AFA30014 */ sw $v1, 0x14($sp) +/* BA1F4C 8024181C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA1F50 80241820 8C63001C */ lw $v1, 0x1c($v1) +/* BA1F54 80241824 AFA30018 */ sw $v1, 0x18($sp) +/* BA1F58 80241828 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA1F5C 8024182C 8C630024 */ lw $v1, 0x24($v1) +/* BA1F60 80241830 AFA3001C */ sw $v1, 0x1c($sp) +/* BA1F64 80241834 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA1F68 80241838 8C630028 */ lw $v1, 0x28($v1) +/* BA1F6C 8024183C 27B40010 */ addiu $s4, $sp, 0x10 +/* BA1F70 80241840 AFA30020 */ sw $v1, 0x20($sp) +/* BA1F74 80241844 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA1F78 80241848 3C014348 */ lui $at, 0x4348 +/* BA1F7C 8024184C 44810000 */ mtc1 $at, $f0 +/* BA1F80 80241850 8C63002C */ lw $v1, 0x2c($v1) +/* BA1F84 80241854 0040982D */ daddu $s3, $v0, $zero +/* BA1F88 80241858 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA1F8C 8024185C A7A0002C */ sh $zero, 0x2c($sp) +/* BA1F90 80241860 16000005 */ bnez $s0, .L80241878 +/* BA1F94 80241864 AFA30024 */ sw $v1, 0x24($sp) +/* BA1F98 80241868 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA1F9C 8024186C 30420004 */ andi $v0, $v0, 4 +/* BA1FA0 80241870 10400011 */ beqz $v0, .L802418B8 +/* BA1FA4 80241874 00000000 */ nop +.L80241878: +/* BA1FA8 80241878 AE400070 */ sw $zero, 0x70($s2) +/* BA1FAC 8024187C A6A0008E */ sh $zero, 0x8e($s5) +/* BA1FB0 80241880 8E2200CC */ lw $v0, 0xcc($s1) +/* BA1FB4 80241884 8C420000 */ lw $v0, ($v0) +/* BA1FB8 80241888 AEA20028 */ sw $v0, 0x28($s5) +/* BA1FBC 8024188C 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA1FC0 80241890 30420004 */ andi $v0, $v0, 4 +/* BA1FC4 80241894 10400008 */ beqz $v0, .L802418B8 +/* BA1FC8 80241898 AE20006C */ sw $zero, 0x6c($s1) +/* BA1FCC 8024189C 24020063 */ addiu $v0, $zero, 0x63 +/* BA1FD0 802418A0 AE420070 */ sw $v0, 0x70($s2) +/* BA1FD4 802418A4 AE400074 */ sw $zero, 0x74($s2) +/* BA1FD8 802418A8 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA1FDC 802418AC 2403FFFB */ addiu $v1, $zero, -5 +/* BA1FE0 802418B0 00431024 */ and $v0, $v0, $v1 +/* BA1FE4 802418B4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802418B8: +/* BA1FE8 802418B8 8E430070 */ lw $v1, 0x70($s2) +/* BA1FEC 802418BC 2410000B */ addiu $s0, $zero, 0xb +/* BA1FF0 802418C0 1070002A */ beq $v1, $s0, .L8024196C +/* BA1FF4 802418C4 2862000C */ slti $v0, $v1, 0xc +/* BA1FF8 802418C8 1040000D */ beqz $v0, .L80241900 +/* BA1FFC 802418CC 24020001 */ addiu $v0, $zero, 1 +/* BA2000 802418D0 1062001A */ beq $v1, $v0, .L8024193C +/* BA2004 802418D4 28620002 */ slti $v0, $v1, 2 +/* BA2008 802418D8 10400005 */ beqz $v0, .L802418F0 +/* BA200C 802418DC 2402000A */ addiu $v0, $zero, 0xa +/* BA2010 802418E0 10600013 */ beqz $v1, .L80241930 +/* BA2014 802418E4 0240202D */ daddu $a0, $s2, $zero +/* BA2018 802418E8 0809067B */ j .L802419EC +/* BA201C 802418EC 00000000 */ nop +.L802418F0: +/* BA2020 802418F0 10620018 */ beq $v1, $v0, .L80241954 +/* BA2024 802418F4 0240202D */ daddu $a0, $s2, $zero +/* BA2028 802418F8 0809067B */ j .L802419EC +/* BA202C 802418FC 00000000 */ nop +.L80241900: +/* BA2030 80241900 2402000D */ addiu $v0, $zero, 0xd +/* BA2034 80241904 10620029 */ beq $v1, $v0, .L802419AC +/* BA2038 80241908 0062102A */ slt $v0, $v1, $v0 +/* BA203C 8024190C 14400020 */ bnez $v0, .L80241990 +/* BA2040 80241910 0240202D */ daddu $a0, $s2, $zero +/* BA2044 80241914 2402000E */ addiu $v0, $zero, 0xe +/* BA2048 80241918 1062002D */ beq $v1, $v0, .L802419D0 +/* BA204C 8024191C 24020063 */ addiu $v0, $zero, 0x63 +/* BA2050 80241920 10620030 */ beq $v1, $v0, .L802419E4 +/* BA2054 80241924 00000000 */ nop +/* BA2058 80241928 0809067B */ j .L802419EC +/* BA205C 8024192C 00000000 */ nop +.L80241930: +/* BA2060 80241930 0260282D */ daddu $a1, $s3, $zero +/* BA2064 80241934 0C090250 */ jal func_80240940 +/* BA2068 80241938 0280302D */ daddu $a2, $s4, $zero +.L8024193C: +/* BA206C 8024193C 0240202D */ daddu $a0, $s2, $zero +/* BA2070 80241940 0260282D */ daddu $a1, $s3, $zero +/* BA2074 80241944 0C09026B */ jal func_802409AC +/* BA2078 80241948 0280302D */ daddu $a2, $s4, $zero +/* BA207C 8024194C 0809067B */ j .L802419EC +/* BA2080 80241950 00000000 */ nop +.L80241954: +/* BA2084 80241954 0260282D */ daddu $a1, $s3, $zero +/* BA2088 80241958 0C0902AA */ jal func_80240AA8 +/* BA208C 8024195C 0280302D */ daddu $a2, $s4, $zero +/* BA2090 80241960 8E420070 */ lw $v0, 0x70($s2) +/* BA2094 80241964 14500021 */ bne $v0, $s0, .L802419EC +/* BA2098 80241968 00000000 */ nop +.L8024196C: +/* BA209C 8024196C 0240202D */ daddu $a0, $s2, $zero +/* BA20A0 80241970 0260282D */ daddu $a1, $s3, $zero +/* BA20A4 80241974 0C09053A */ jal func_802414E8 +/* BA20A8 80241978 0280302D */ daddu $a2, $s4, $zero +/* BA20AC 8024197C 8E430070 */ lw $v1, 0x70($s2) +/* BA20B0 80241980 2402000C */ addiu $v0, $zero, 0xc +/* BA20B4 80241984 14620019 */ bne $v1, $v0, .L802419EC +/* BA20B8 80241988 00000000 */ nop +/* BA20BC 8024198C 0240202D */ daddu $a0, $s2, $zero +.L80241990: +/* BA20C0 80241990 0260282D */ daddu $a1, $s3, $zero +/* BA20C4 80241994 0C09055E */ jal func_80241578 +/* BA20C8 80241998 0280302D */ daddu $a2, $s4, $zero +/* BA20CC 8024199C 8E430070 */ lw $v1, 0x70($s2) +/* BA20D0 802419A0 2402000D */ addiu $v0, $zero, 0xd +/* BA20D4 802419A4 14620011 */ bne $v1, $v0, .L802419EC +/* BA20D8 802419A8 00000000 */ nop +.L802419AC: +/* BA20DC 802419AC 0240202D */ daddu $a0, $s2, $zero +/* BA20E0 802419B0 0260282D */ daddu $a1, $s3, $zero +/* BA20E4 802419B4 0C09059E */ jal func_80241678 +/* BA20E8 802419B8 0280302D */ daddu $a2, $s4, $zero +/* BA20EC 802419BC 8E430070 */ lw $v1, 0x70($s2) +/* BA20F0 802419C0 2402000E */ addiu $v0, $zero, 0xe +/* BA20F4 802419C4 14620009 */ bne $v1, $v0, .L802419EC +/* BA20F8 802419C8 00000000 */ nop +/* BA20FC 802419CC 0240202D */ daddu $a0, $s2, $zero +.L802419D0: +/* BA2100 802419D0 0260282D */ daddu $a1, $s3, $zero +/* BA2104 802419D4 0C0905B6 */ jal func_802416D8 +/* BA2108 802419D8 0280302D */ daddu $a2, $s4, $zero +/* BA210C 802419DC 0809067B */ j .L802419EC +/* BA2110 802419E0 00000000 */ nop +.L802419E4: +/* BA2114 802419E4 0C0129CF */ jal func_8004A73C +/* BA2118 802419E8 0240202D */ daddu $a0, $s2, $zero +.L802419EC: +/* BA211C 802419EC 8FBF0048 */ lw $ra, 0x48($sp) +/* BA2120 802419F0 8FB50044 */ lw $s5, 0x44($sp) +/* BA2124 802419F4 8FB40040 */ lw $s4, 0x40($sp) +/* BA2128 802419F8 8FB3003C */ lw $s3, 0x3c($sp) +/* BA212C 802419FC 8FB20038 */ lw $s2, 0x38($sp) +/* BA2130 80241A00 8FB10034 */ lw $s1, 0x34($sp) +/* BA2134 80241A04 8FB00030 */ lw $s0, 0x30($sp) +/* BA2138 80241A08 0000102D */ daddu $v0, $zero, $zero +/* BA213C 80241A0C 03E00008 */ jr $ra +/* BA2140 80241A10 27BD0050 */ addiu $sp, $sp, 0x50 +/* BA2144 80241A14 00000000 */ nop +/* BA2148 80241A18 00000000 */ nop +/* BA214C 80241A1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240000_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240000_BA4780.s new file mode 100644 index 0000000000..c13a321ee4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240000_BA4780.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BA4780 +/* BA4780 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BA4784 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BA4788 80240008 0C046ED4 */ jal enable_world_fog +/* BA478C 8024000C 00000000 */ nop +/* BA4790 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BA4794 80240014 0C046EDD */ jal set_world_fog_dist +/* BA4798 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BA479C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BA47A0 80240020 0080282D */ daddu $a1, $a0, $zero +/* BA47A4 80240024 0080302D */ daddu $a2, $a0, $zero +/* BA47A8 80240028 0C046EE2 */ jal set_world_fog_color +/* BA47AC 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BA47B0 80240030 0C048BFB */ jal enable_entity_fog +/* BA47B4 80240034 00000000 */ nop +/* BA47B8 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* BA47BC 8024003C 0C048C04 */ jal set_entity_fog_dist +/* BA47C0 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BA47C4 80240044 0000202D */ daddu $a0, $zero, $zero +/* BA47C8 80240048 0080282D */ daddu $a1, $a0, $zero +/* BA47CC 8024004C 0080302D */ daddu $a2, $a0, $zero +/* BA47D0 80240050 0C048C0A */ jal set_entity_fog_color +/* BA47D4 80240054 240700FF */ addiu $a3, $zero, 0xff +/* BA47D8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* BA47DC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* BA47E0 80240060 03E00008 */ jr $ra +/* BA47E4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* BA47E8 80240068 00000000 */ nop +/* BA47EC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240070_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240070_BA4780.s new file mode 100644 index 0000000000..8eff6d5b5b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240070_BA4780.s @@ -0,0 +1,239 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_BA47F0 +/* BA47F0 80240070 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BA47F4 80240074 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BA47F8 80240078 4480B000 */ mtc1 $zero, $f22 +/* BA47FC 8024007C AFB30034 */ sw $s3, 0x34($sp) +/* BA4800 80240080 00A0982D */ daddu $s3, $a1, $zero +/* BA4804 80240084 AFB40038 */ sw $s4, 0x38($sp) +/* BA4808 80240088 00C0A02D */ daddu $s4, $a2, $zero +/* BA480C 8024008C AFB5003C */ sw $s5, 0x3c($sp) +/* BA4810 80240090 00E0A82D */ daddu $s5, $a3, $zero +/* BA4814 80240094 AFB20030 */ sw $s2, 0x30($sp) +/* BA4818 80240098 0080902D */ daddu $s2, $a0, $zero +/* BA481C 8024009C AFB1002C */ sw $s1, 0x2c($sp) +/* BA4820 802400A0 3C118024 */ lui $s1, 0x8024 +/* BA4824 802400A4 263159C0 */ addiu $s1, $s1, 0x59c0 +/* BA4828 802400A8 AFBF0040 */ sw $ra, 0x40($sp) +/* BA482C 802400AC AFB00028 */ sw $s0, 0x28($sp) +/* BA4830 802400B0 F7BE0070 */ sdc1 $f30, 0x70($sp) +/* BA4834 802400B4 F7BC0068 */ sdc1 $f28, 0x68($sp) +/* BA4838 802400B8 F7BA0060 */ sdc1 $f26, 0x60($sp) +/* BA483C 802400BC F7B80058 */ sdc1 $f24, 0x58($sp) +/* BA4840 802400C0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* BA4844 802400C4 4600B006 */ mov.s $f0, $f22 +/* BA4848 802400C8 4600B406 */ mov.s $f16, $f22 +/* BA484C 802400CC 4600B506 */ mov.s $f20, $f22 +/* BA4850 802400D0 4600A786 */ mov.s $f30, $f20 +/* BA4854 802400D4 4600A086 */ mov.s $f2, $f20 +/* BA4858 802400D8 4600A606 */ mov.s $f24, $f20 +/* BA485C 802400DC 4600A686 */ mov.s $f26, $f20 +/* BA4860 802400E0 4600A706 */ mov.s $f28, $f20 +.L802400E4: +/* BA4864 802400E4 24020006 */ addiu $v0, $zero, 6 +/* BA4868 802400E8 8E460000 */ lw $a2, ($s2) +/* BA486C 802400EC 8E470004 */ lw $a3, 4($s2) +/* BA4870 802400F0 00061E02 */ srl $v1, $a2, 0x18 +/* BA4874 802400F4 1062004E */ beq $v1, $v0, .L80240230 +/* BA4878 802400F8 0000802D */ daddu $s0, $zero, $zero +/* BA487C 802400FC 28620007 */ slti $v0, $v1, 7 +/* BA4880 80240100 10400007 */ beqz $v0, .L80240120 +/* BA4884 80240104 24020001 */ addiu $v0, $zero, 1 +/* BA4888 80240108 10620018 */ beq $v1, $v0, .L8024016C +/* BA488C 8024010C 24020005 */ addiu $v0, $zero, 5 +/* BA4890 80240110 10620029 */ beq $v1, $v0, .L802401B8 +/* BA4894 80240114 000713C2 */ srl $v0, $a3, 0xf +/* BA4898 80240118 080900BD */ j .L802402F4 +/* BA489C 8024011C 00000000 */ nop +.L80240120: +/* BA48A0 80240120 240200DE */ addiu $v0, $zero, 0xde +/* BA48A4 80240124 10620005 */ beq $v1, $v0, .L8024013C +/* BA48A8 80240128 240200DF */ addiu $v0, $zero, 0xdf +/* BA48AC 8024012C 50620071 */ beql $v1, $v0, .L802402F4 +/* BA48B0 80240130 24100001 */ addiu $s0, $zero, 1 +/* BA48B4 80240134 080900BD */ j .L802402F4 +/* BA48B8 80240138 00000000 */ nop +.L8024013C: +/* BA48BC 8024013C 00E0202D */ daddu $a0, $a3, $zero +/* BA48C0 80240140 0260282D */ daddu $a1, $s3, $zero +/* BA48C4 80240144 0280302D */ daddu $a2, $s4, $zero +/* BA48C8 80240148 02A0382D */ daddu $a3, $s5, $zero +/* BA48CC 8024014C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA48D0 80240150 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BA48D4 80240154 0C09001C */ jal func_80240070 +/* BA48D8 80240158 E7B00020 */ swc1 $f16, 0x20($sp) +/* BA48DC 8024015C C7A00018 */ lwc1 $f0, 0x18($sp) +/* BA48E0 80240160 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* BA48E4 80240164 080900BD */ j .L802402F4 +/* BA48E8 80240168 C7B00020 */ lwc1 $f16, 0x20($sp) +.L8024016C: +/* BA48EC 8024016C 00061302 */ srl $v0, $a2, 0xc +/* BA48F0 80240170 304500FF */ andi $a1, $v0, 0xff +/* BA48F4 80240174 0205102B */ sltu $v0, $s0, $a1 +/* BA48F8 80240178 1040005E */ beqz $v0, .L802402F4 +/* BA48FC 8024017C 0000182D */ daddu $v1, $zero, $zero +/* BA4900 80240180 00061042 */ srl $v0, $a2, 1 +/* BA4904 80240184 3042007F */ andi $v0, $v0, 0x7f +/* BA4908 80240188 00453023 */ subu $a2, $v0, $a1 +/* BA490C 8024018C 00E0202D */ daddu $a0, $a3, $zero +.L80240190: +/* BA4910 80240190 00C31021 */ addu $v0, $a2, $v1 +/* BA4914 80240194 00021080 */ sll $v0, $v0, 2 +/* BA4918 80240198 00511021 */ addu $v0, $v0, $s1 +/* BA491C 8024019C AC440000 */ sw $a0, ($v0) +/* BA4920 802401A0 24630001 */ addiu $v1, $v1, 1 +/* BA4924 802401A4 0065102B */ sltu $v0, $v1, $a1 +/* BA4928 802401A8 1440FFF9 */ bnez $v0, .L80240190 +/* BA492C 802401AC 24840010 */ addiu $a0, $a0, 0x10 +/* BA4930 802401B0 080900BD */ j .L802402F4 +/* BA4934 802401B4 00000000 */ nop +.L802401B8: +/* BA4938 802401B8 304201FC */ andi $v0, $v0, 0x1fc +/* BA493C 802401BC 00511021 */ addu $v0, $v0, $s1 +/* BA4940 802401C0 8C440000 */ lw $a0, ($v0) +/* BA4944 802401C4 24100002 */ addiu $s0, $zero, 2 +/* BA4948 802401C8 84820000 */ lh $v0, ($a0) +/* BA494C 802401CC 84830002 */ lh $v1, 2($a0) +/* BA4950 802401D0 44828000 */ mtc1 $v0, $f16 +/* BA4954 802401D4 00000000 */ nop +/* BA4958 802401D8 46808420 */ cvt.s.w $f16, $f16 +/* BA495C 802401DC 44830000 */ mtc1 $v1, $f0 +/* BA4960 802401E0 00000000 */ nop +/* BA4964 802401E4 46800020 */ cvt.s.w $f0, $f0 +/* BA4968 802401E8 000711C2 */ srl $v0, $a3, 7 +/* BA496C 802401EC 304201FC */ andi $v0, $v0, 0x1fc +/* BA4970 802401F0 00511021 */ addu $v0, $v0, $s1 +/* BA4974 802401F4 84830004 */ lh $v1, 4($a0) +/* BA4978 802401F8 8C440000 */ lw $a0, ($v0) +/* BA497C 802401FC 4483B000 */ mtc1 $v1, $f22 +/* BA4980 80240200 00000000 */ nop +/* BA4984 80240204 4680B5A0 */ cvt.s.w $f22, $f22 +/* BA4988 80240208 84820000 */ lh $v0, ($a0) +/* BA498C 8024020C 84830002 */ lh $v1, 2($a0) +/* BA4990 80240210 44821000 */ mtc1 $v0, $f2 +/* BA4994 80240214 00000000 */ nop +/* BA4998 80240218 468010A0 */ cvt.s.w $f2, $f2 +/* BA499C 8024021C 4483F000 */ mtc1 $v1, $f30 +/* BA49A0 80240220 00000000 */ nop +/* BA49A4 80240224 4680F7A0 */ cvt.s.w $f30, $f30 +/* BA49A8 80240228 080900AA */ j .L802402A8 +/* BA49AC 8024022C 00071040 */ sll $v0, $a3, 1 +.L80240230: +/* BA49B0 80240230 000613C2 */ srl $v0, $a2, 0xf +/* BA49B4 80240234 304201FC */ andi $v0, $v0, 0x1fc +/* BA49B8 80240238 00511021 */ addu $v0, $v0, $s1 +/* BA49BC 8024023C 8C440000 */ lw $a0, ($v0) +/* BA49C0 80240240 24100002 */ addiu $s0, $zero, 2 +/* BA49C4 80240244 84820000 */ lh $v0, ($a0) +/* BA49C8 80240248 84830002 */ lh $v1, 2($a0) +/* BA49CC 8024024C 44828000 */ mtc1 $v0, $f16 +/* BA49D0 80240250 00000000 */ nop +/* BA49D4 80240254 46808420 */ cvt.s.w $f16, $f16 +/* BA49D8 80240258 44830000 */ mtc1 $v1, $f0 +/* BA49DC 8024025C 00000000 */ nop +/* BA49E0 80240260 46800020 */ cvt.s.w $f0, $f0 +/* BA49E4 80240264 000611C2 */ srl $v0, $a2, 7 +/* BA49E8 80240268 304201FC */ andi $v0, $v0, 0x1fc +/* BA49EC 8024026C 00511021 */ addu $v0, $v0, $s1 +/* BA49F0 80240270 84830004 */ lh $v1, 4($a0) +/* BA49F4 80240274 8C440000 */ lw $a0, ($v0) +/* BA49F8 80240278 4483B000 */ mtc1 $v1, $f22 +/* BA49FC 8024027C 00000000 */ nop +/* BA4A00 80240280 4680B5A0 */ cvt.s.w $f22, $f22 +/* BA4A04 80240284 84820000 */ lh $v0, ($a0) +/* BA4A08 80240288 84830002 */ lh $v1, 2($a0) +/* BA4A0C 8024028C 44821000 */ mtc1 $v0, $f2 +/* BA4A10 80240290 00000000 */ nop +/* BA4A14 80240294 468010A0 */ cvt.s.w $f2, $f2 +/* BA4A18 80240298 4483F000 */ mtc1 $v1, $f30 +/* BA4A1C 8024029C 00000000 */ nop +/* BA4A20 802402A0 4680F7A0 */ cvt.s.w $f30, $f30 +/* BA4A24 802402A4 00061040 */ sll $v0, $a2, 1 +.L802402A8: +/* BA4A28 802402A8 304201FC */ andi $v0, $v0, 0x1fc +/* BA4A2C 802402AC 00511021 */ addu $v0, $v0, $s1 +/* BA4A30 802402B0 84830004 */ lh $v1, 4($a0) +/* BA4A34 802402B4 8C420000 */ lw $v0, ($v0) +/* BA4A38 802402B8 4483A000 */ mtc1 $v1, $f20 +/* BA4A3C 802402BC 00000000 */ nop +/* BA4A40 802402C0 4680A520 */ cvt.s.w $f20, $f20 +/* BA4A44 802402C4 84440000 */ lh $a0, ($v0) +/* BA4A48 802402C8 84430002 */ lh $v1, 2($v0) +/* BA4A4C 802402CC 84420004 */ lh $v0, 4($v0) +/* BA4A50 802402D0 4484E000 */ mtc1 $a0, $f28 +/* BA4A54 802402D4 00000000 */ nop +/* BA4A58 802402D8 4680E720 */ cvt.s.w $f28, $f28 +/* BA4A5C 802402DC 4483D000 */ mtc1 $v1, $f26 +/* BA4A60 802402E0 00000000 */ nop +/* BA4A64 802402E4 4680D6A0 */ cvt.s.w $f26, $f26 +/* BA4A68 802402E8 4482C000 */ mtc1 $v0, $f24 +/* BA4A6C 802402EC 00000000 */ nop +/* BA4A70 802402F0 4680C620 */ cvt.s.w $f24, $f24 +.L802402F4: +/* BA4A74 802402F4 1200FF7B */ beqz $s0, .L802400E4 +/* BA4A78 802402F8 26520008 */ addiu $s2, $s2, 8 +/* BA4A7C 802402FC 24020002 */ addiu $v0, $zero, 2 +/* BA4A80 80240300 1602002C */ bne $s0, $v0, .L802403B4 +/* BA4A84 80240304 00000000 */ nop +/* BA4A88 80240308 461E0201 */ sub.s $f8, $f0, $f30 +/* BA4A8C 8024030C 4614C181 */ sub.s $f6, $f24, $f20 +/* BA4A90 80240310 46064382 */ mul.s $f14, $f8, $f6 +/* BA4A94 80240314 00000000 */ nop +/* BA4A98 80240318 4614B101 */ sub.s $f4, $f22, $f20 +/* BA4A9C 8024031C 461ED281 */ sub.s $f10, $f26, $f30 +/* BA4AA0 80240320 460A2302 */ mul.s $f12, $f4, $f10 +/* BA4AA4 80240324 00000000 */ nop +/* BA4AA8 80240328 4602E001 */ sub.s $f0, $f28, $f2 +/* BA4AAC 8024032C 46002102 */ mul.s $f4, $f4, $f0 +/* BA4AB0 80240330 00000000 */ nop +/* BA4AB4 80240334 46028081 */ sub.s $f2, $f16, $f2 +/* BA4AB8 80240338 46061182 */ mul.s $f6, $f2, $f6 +/* BA4ABC 8024033C 00000000 */ nop +/* BA4AC0 80240340 460A1082 */ mul.s $f2, $f2, $f10 +/* BA4AC4 80240344 00000000 */ nop +/* BA4AC8 80240348 46004202 */ mul.s $f8, $f8, $f0 +/* BA4ACC 8024034C 00000000 */ nop +/* BA4AD0 80240350 460C7501 */ sub.s $f20, $f14, $f12 +/* BA4AD4 80240354 4614A002 */ mul.s $f0, $f20, $f20 +/* BA4AD8 80240358 00000000 */ nop +/* BA4ADC 8024035C 46062581 */ sub.s $f22, $f4, $f6 +/* BA4AE0 80240360 4616B102 */ mul.s $f4, $f22, $f22 +/* BA4AE4 80240364 00000000 */ nop +/* BA4AE8 80240368 46081601 */ sub.s $f24, $f2, $f8 +/* BA4AEC 8024036C 4618C082 */ mul.s $f2, $f24, $f24 +/* BA4AF0 80240370 00000000 */ nop +/* BA4AF4 80240374 46040000 */ add.s $f0, $f0, $f4 +/* BA4AF8 80240378 46020300 */ add.s $f12, $f0, $f2 +/* BA4AFC 8024037C 46006084 */ sqrt.s $f2, $f12 +/* BA4B00 80240380 46021032 */ c.eq.s $f2, $f2 +/* BA4B04 80240384 00000000 */ nop +/* BA4B08 80240388 45030005 */ bc1tl .L802403A0 +/* BA4B0C 8024038C 4602A003 */ div.s $f0, $f20, $f2 +/* BA4B10 80240390 0C0187BC */ jal sqrtf +/* BA4B14 80240394 00000000 */ nop +/* BA4B18 80240398 46000086 */ mov.s $f2, $f0 +/* BA4B1C 8024039C 4602A003 */ div.s $f0, $f20, $f2 +.L802403A0: +/* BA4B20 802403A0 E6600000 */ swc1 $f0, ($s3) +/* BA4B24 802403A4 4602B003 */ div.s $f0, $f22, $f2 +/* BA4B28 802403A8 E6800000 */ swc1 $f0, ($s4) +/* BA4B2C 802403AC 4602C003 */ div.s $f0, $f24, $f2 +/* BA4B30 802403B0 E6A00000 */ swc1 $f0, ($s5) +.L802403B4: +/* BA4B34 802403B4 8FBF0040 */ lw $ra, 0x40($sp) +/* BA4B38 802403B8 8FB5003C */ lw $s5, 0x3c($sp) +/* BA4B3C 802403BC 8FB40038 */ lw $s4, 0x38($sp) +/* BA4B40 802403C0 8FB30034 */ lw $s3, 0x34($sp) +/* BA4B44 802403C4 8FB20030 */ lw $s2, 0x30($sp) +/* BA4B48 802403C8 8FB1002C */ lw $s1, 0x2c($sp) +/* BA4B4C 802403CC 8FB00028 */ lw $s0, 0x28($sp) +/* BA4B50 802403D0 D7BE0070 */ ldc1 $f30, 0x70($sp) +/* BA4B54 802403D4 D7BC0068 */ ldc1 $f28, 0x68($sp) +/* BA4B58 802403D8 D7BA0060 */ ldc1 $f26, 0x60($sp) +/* BA4B5C 802403DC D7B80058 */ ldc1 $f24, 0x58($sp) +/* BA4B60 802403E0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BA4B64 802403E4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BA4B68 802403E8 03E00008 */ jr $ra +/* BA4B6C 802403EC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802403F0_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802403F0_BA4780.s new file mode 100644 index 0000000000..032b07a76f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802403F0_BA4780.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_BA4B70 +/* BA4B70 802403F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BA4B74 802403F4 AFB10024 */ sw $s1, 0x24($sp) +/* BA4B78 802403F8 0080882D */ daddu $s1, $a0, $zero +/* BA4B7C 802403FC AFBF0028 */ sw $ra, 0x28($sp) +/* BA4B80 80240400 AFB00020 */ sw $s0, 0x20($sp) +/* BA4B84 80240404 F7B60038 */ sdc1 $f22, 0x38($sp) +/* BA4B88 80240408 F7B40030 */ sdc1 $f20, 0x30($sp) +/* BA4B8C 8024040C 8E30000C */ lw $s0, 0xc($s1) +/* BA4B90 80240410 8E050000 */ lw $a1, ($s0) +/* BA4B94 80240414 0C0B1EAF */ jal get_variable +/* BA4B98 80240418 26100004 */ addiu $s0, $s0, 4 +/* BA4B9C 8024041C 0C046C04 */ jal get_model_list_index_from_tree_index +/* BA4BA0 80240420 0040202D */ daddu $a0, $v0, $zero +/* BA4BA4 80240424 0C046B4C */ jal get_model_from_list_index +/* BA4BA8 80240428 0040202D */ daddu $a0, $v0, $zero +/* BA4BAC 8024042C 8C420008 */ lw $v0, 8($v0) +/* BA4BB0 80240430 27A50010 */ addiu $a1, $sp, 0x10 +/* BA4BB4 80240434 8C420004 */ lw $v0, 4($v0) +/* BA4BB8 80240438 27A60014 */ addiu $a2, $sp, 0x14 +/* BA4BBC 8024043C 8C440000 */ lw $a0, ($v0) +/* BA4BC0 80240440 0C09001C */ jal func_80240070 +/* BA4BC4 80240444 27A70018 */ addiu $a3, $sp, 0x18 +/* BA4BC8 80240448 C7A00010 */ lwc1 $f0, 0x10($sp) +/* BA4BCC 8024044C 3C014480 */ lui $at, 0x4480 +/* BA4BD0 80240450 4481A000 */ mtc1 $at, $f20 +/* BA4BD4 80240454 00000000 */ nop +/* BA4BD8 80240458 46140002 */ mul.s $f0, $f0, $f20 +/* BA4BDC 8024045C 00000000 */ nop +/* BA4BE0 80240460 3C01CD5B */ lui $at, 0xcd5b +/* BA4BE4 80240464 34215858 */ ori $at, $at, 0x5858 +/* BA4BE8 80240468 4481B000 */ mtc1 $at, $f22 +/* BA4BEC 8024046C 00000000 */ nop +/* BA4BF0 80240470 46160000 */ add.s $f0, $f0, $f22 +/* BA4BF4 80240474 8E050000 */ lw $a1, ($s0) +/* BA4BF8 80240478 4600008D */ trunc.w.s $f2, $f0 +/* BA4BFC 8024047C 44061000 */ mfc1 $a2, $f2 +/* BA4C00 80240480 0C0B2026 */ jal set_variable +/* BA4C04 80240484 0220202D */ daddu $a0, $s1, $zero +/* BA4C08 80240488 C7A00014 */ lwc1 $f0, 0x14($sp) +/* BA4C0C 8024048C 46140002 */ mul.s $f0, $f0, $f20 +/* BA4C10 80240490 00000000 */ nop +/* BA4C14 80240494 26100004 */ addiu $s0, $s0, 4 +/* BA4C18 80240498 46160000 */ add.s $f0, $f0, $f22 +/* BA4C1C 8024049C 8E050000 */ lw $a1, ($s0) +/* BA4C20 802404A0 4600008D */ trunc.w.s $f2, $f0 +/* BA4C24 802404A4 44061000 */ mfc1 $a2, $f2 +/* BA4C28 802404A8 0C0B2026 */ jal set_variable +/* BA4C2C 802404AC 0220202D */ daddu $a0, $s1, $zero +/* BA4C30 802404B0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* BA4C34 802404B4 46140002 */ mul.s $f0, $f0, $f20 +/* BA4C38 802404B8 00000000 */ nop +/* BA4C3C 802404BC 26100004 */ addiu $s0, $s0, 4 +/* BA4C40 802404C0 46160000 */ add.s $f0, $f0, $f22 +/* BA4C44 802404C4 8E050000 */ lw $a1, ($s0) +/* BA4C48 802404C8 4600008D */ trunc.w.s $f2, $f0 +/* BA4C4C 802404CC 44061000 */ mfc1 $a2, $f2 +/* BA4C50 802404D0 0C0B2026 */ jal set_variable +/* BA4C54 802404D4 0220202D */ daddu $a0, $s1, $zero +/* BA4C58 802404D8 8FBF0028 */ lw $ra, 0x28($sp) +/* BA4C5C 802404DC 8FB10024 */ lw $s1, 0x24($sp) +/* BA4C60 802404E0 8FB00020 */ lw $s0, 0x20($sp) +/* BA4C64 802404E4 D7B60038 */ ldc1 $f22, 0x38($sp) +/* BA4C68 802404E8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* BA4C6C 802404EC 24020002 */ addiu $v0, $zero, 2 +/* BA4C70 802404F0 03E00008 */ jr $ra +/* BA4C74 802404F4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802404F8_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802404F8_BA4780.s new file mode 100644 index 0000000000..74f63caa25 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802404F8_BA4780.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F8_BA4C78 +/* BA4C78 802404F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA4C7C 802404FC AFB10014 */ sw $s1, 0x14($sp) +/* BA4C80 80240500 0080882D */ daddu $s1, $a0, $zero +/* BA4C84 80240504 AFBF0018 */ sw $ra, 0x18($sp) +/* BA4C88 80240508 AFB00010 */ sw $s0, 0x10($sp) +/* BA4C8C 8024050C 8E30000C */ lw $s0, 0xc($s1) +/* BA4C90 80240510 8E050000 */ lw $a1, ($s0) +/* BA4C94 80240514 0C0B1EAF */ jal get_variable +/* BA4C98 80240518 26100004 */ addiu $s0, $s0, 4 +/* BA4C9C 8024051C 44826000 */ mtc1 $v0, $f12 +/* BA4CA0 80240520 00000000 */ nop +/* BA4CA4 80240524 0C00A8BB */ jal sin_deg +/* BA4CA8 80240528 46806320 */ cvt.s.w $f12, $f12 +/* BA4CAC 8024052C 3C014120 */ lui $at, 0x4120 +/* BA4CB0 80240530 44811000 */ mtc1 $at, $f2 +/* BA4CB4 80240534 00000000 */ nop +/* BA4CB8 80240538 46020002 */ mul.s $f0, $f0, $f2 +/* BA4CBC 8024053C 00000000 */ nop +/* BA4CC0 80240540 8E050000 */ lw $a1, ($s0) +/* BA4CC4 80240544 4600010D */ trunc.w.s $f4, $f0 +/* BA4CC8 80240548 44062000 */ mfc1 $a2, $f4 +/* BA4CCC 8024054C 0C0B2026 */ jal set_variable +/* BA4CD0 80240550 0220202D */ daddu $a0, $s1, $zero +/* BA4CD4 80240554 8FBF0018 */ lw $ra, 0x18($sp) +/* BA4CD8 80240558 8FB10014 */ lw $s1, 0x14($sp) +/* BA4CDC 8024055C 8FB00010 */ lw $s0, 0x10($sp) +/* BA4CE0 80240560 24020002 */ addiu $v0, $zero, 2 +/* BA4CE4 80240564 03E00008 */ jr $ra +/* BA4CE8 80240568 27BD0020 */ addiu $sp, $sp, 0x20 +/* BA4CEC 8024056C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240570_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240570_BA4780.s new file mode 100644 index 0000000000..34f1d94a7a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240570_BA4780.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240570_BA4CF0 +/* BA4CF0 80240570 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA4CF4 80240574 AFB10014 */ sw $s1, 0x14($sp) +/* BA4CF8 80240578 0080882D */ daddu $s1, $a0, $zero +/* BA4CFC 8024057C AFBF0018 */ sw $ra, 0x18($sp) +/* BA4D00 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* BA4D04 80240584 8E300148 */ lw $s0, 0x148($s1) +/* BA4D08 80240588 0C00EABB */ jal get_npc_unsafe +/* BA4D0C 8024058C 86040008 */ lh $a0, 8($s0) +/* BA4D10 80240590 24030001 */ addiu $v1, $zero, 1 +/* BA4D14 80240594 0040202D */ daddu $a0, $v0, $zero +/* BA4D18 80240598 AE03006C */ sw $v1, 0x6c($s0) +/* BA4D1C 8024059C 8482008C */ lh $v0, 0x8c($a0) +/* BA4D20 802405A0 14400009 */ bnez $v0, .L802405C8 +/* BA4D24 802405A4 24020002 */ addiu $v0, $zero, 2 +/* BA4D28 802405A8 96030072 */ lhu $v1, 0x72($s0) +/* BA4D2C 802405AC AE02006C */ sw $v0, 0x6c($s0) +/* BA4D30 802405B0 A483008E */ sh $v1, 0x8e($a0) +/* BA4D34 802405B4 8E0200CC */ lw $v0, 0xcc($s0) +/* BA4D38 802405B8 8C420020 */ lw $v0, 0x20($v0) +/* BA4D3C 802405BC AC820028 */ sw $v0, 0x28($a0) +/* BA4D40 802405C0 2402001F */ addiu $v0, $zero, 0x1f +/* BA4D44 802405C4 AE220070 */ sw $v0, 0x70($s1) +.L802405C8: +/* BA4D48 802405C8 8FBF0018 */ lw $ra, 0x18($sp) +/* BA4D4C 802405CC 8FB10014 */ lw $s1, 0x14($sp) +/* BA4D50 802405D0 8FB00010 */ lw $s0, 0x10($sp) +/* BA4D54 802405D4 03E00008 */ jr $ra +/* BA4D58 802405D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802405DC_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802405DC_BA4780.s new file mode 100644 index 0000000000..93bea96856 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802405DC_BA4780.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405DC_BA4D5C +/* BA4D5C 802405DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA4D60 802405E0 AFB10014 */ sw $s1, 0x14($sp) +/* BA4D64 802405E4 0080882D */ daddu $s1, $a0, $zero +/* BA4D68 802405E8 AFBF0018 */ sw $ra, 0x18($sp) +/* BA4D6C 802405EC AFB00010 */ sw $s0, 0x10($sp) +/* BA4D70 802405F0 8E300148 */ lw $s0, 0x148($s1) +/* BA4D74 802405F4 0C00EABB */ jal get_npc_unsafe +/* BA4D78 802405F8 86040008 */ lh $a0, 8($s0) +/* BA4D7C 802405FC 0040202D */ daddu $a0, $v0, $zero +/* BA4D80 80240600 9482008E */ lhu $v0, 0x8e($a0) +/* BA4D84 80240604 2442FFFF */ addiu $v0, $v0, -1 +/* BA4D88 80240608 A482008E */ sh $v0, 0x8e($a0) +/* BA4D8C 8024060C 00021400 */ sll $v0, $v0, 0x10 +/* BA4D90 80240610 1C400009 */ bgtz $v0, .L80240638 +/* BA4D94 80240614 24020003 */ addiu $v0, $zero, 3 +/* BA4D98 80240618 96030076 */ lhu $v1, 0x76($s0) +/* BA4D9C 8024061C AE02006C */ sw $v0, 0x6c($s0) +/* BA4DA0 80240620 A483008E */ sh $v1, 0x8e($a0) +/* BA4DA4 80240624 8E0200CC */ lw $v0, 0xcc($s0) +/* BA4DA8 80240628 8C420024 */ lw $v0, 0x24($v0) +/* BA4DAC 8024062C AC820028 */ sw $v0, 0x28($a0) +/* BA4DB0 80240630 24020020 */ addiu $v0, $zero, 0x20 +/* BA4DB4 80240634 AE220070 */ sw $v0, 0x70($s1) +.L80240638: +/* BA4DB8 80240638 8FBF0018 */ lw $ra, 0x18($sp) +/* BA4DBC 8024063C 8FB10014 */ lw $s1, 0x14($sp) +/* BA4DC0 80240640 8FB00010 */ lw $s0, 0x10($sp) +/* BA4DC4 80240644 03E00008 */ jr $ra +/* BA4DC8 80240648 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_8024064C.s b/asm/nonmatchings/world/area_mim/mim_06/func_8024064C.s new file mode 100644 index 0000000000..f3de473a06 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_8024064C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024064C +/* BA4DCC 8024064C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BA4DD0 80240650 AFB10034 */ sw $s1, 0x34($sp) +/* BA4DD4 80240654 0080882D */ daddu $s1, $a0, $zero +/* BA4DD8 80240658 AFBF0038 */ sw $ra, 0x38($sp) +/* BA4DDC 8024065C AFB00030 */ sw $s0, 0x30($sp) +/* BA4DE0 80240660 8E300148 */ lw $s0, 0x148($s1) +/* BA4DE4 80240664 0C00EABB */ jal get_npc_unsafe +/* BA4DE8 80240668 86040008 */ lh $a0, 8($s0) +/* BA4DEC 8024066C 0040282D */ daddu $a1, $v0, $zero +/* BA4DF0 80240670 94A2008E */ lhu $v0, 0x8e($a1) +/* BA4DF4 80240674 2442FFFF */ addiu $v0, $v0, -1 +/* BA4DF8 80240678 A4A2008E */ sh $v0, 0x8e($a1) +/* BA4DFC 8024067C 00021400 */ sll $v0, $v0, 0x10 +/* BA4E00 80240680 1C400023 */ bgtz $v0, .L80240710 +/* BA4E04 80240684 24020004 */ addiu $v0, $zero, 4 +/* BA4E08 80240688 8E0300CC */ lw $v1, 0xcc($s0) +/* BA4E0C 8024068C AE02006C */ sw $v0, 0x6c($s0) +/* BA4E10 80240690 8C620000 */ lw $v0, ($v1) +/* BA4E14 80240694 ACA20028 */ sw $v0, 0x28($a1) +/* BA4E18 80240698 9602007A */ lhu $v0, 0x7a($s0) +/* BA4E1C 8024069C A4A2008E */ sh $v0, 0x8e($a1) +/* BA4E20 802406A0 8E020078 */ lw $v0, 0x78($s0) +/* BA4E24 802406A4 28420008 */ slti $v0, $v0, 8 +/* BA4E28 802406A8 14400018 */ bnez $v0, .L8024070C +/* BA4E2C 802406AC 24020021 */ addiu $v0, $zero, 0x21 +/* BA4E30 802406B0 24040003 */ addiu $a0, $zero, 3 +/* BA4E34 802406B4 27A30028 */ addiu $v1, $sp, 0x28 +/* BA4E38 802406B8 84A700A8 */ lh $a3, 0xa8($a1) +/* BA4E3C 802406BC 3C013F80 */ lui $at, 0x3f80 +/* BA4E40 802406C0 44810000 */ mtc1 $at, $f0 +/* BA4E44 802406C4 3C014000 */ lui $at, 0x4000 +/* BA4E48 802406C8 44811000 */ mtc1 $at, $f2 +/* BA4E4C 802406CC 3C01C1A0 */ lui $at, 0xc1a0 +/* BA4E50 802406D0 44812000 */ mtc1 $at, $f4 +/* BA4E54 802406D4 44873000 */ mtc1 $a3, $f6 +/* BA4E58 802406D8 00000000 */ nop +/* BA4E5C 802406DC 468031A0 */ cvt.s.w $f6, $f6 +/* BA4E60 802406E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA4E64 802406E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA4E68 802406E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA4E6C 802406EC 8E020078 */ lw $v0, 0x78($s0) +/* BA4E70 802406F0 44073000 */ mfc1 $a3, $f6 +/* BA4E74 802406F4 0000302D */ daddu $a2, $zero, $zero +/* BA4E78 802406F8 AFA30020 */ sw $v1, 0x20($sp) +/* BA4E7C 802406FC 2442FFFF */ addiu $v0, $v0, -1 +/* BA4E80 80240700 0C01BFA4 */ jal fx_emote +/* BA4E84 80240704 AFA2001C */ sw $v0, 0x1c($sp) +/* BA4E88 80240708 24020021 */ addiu $v0, $zero, 0x21 +.L8024070C: +/* BA4E8C 8024070C AE220070 */ sw $v0, 0x70($s1) +.L80240710: +/* BA4E90 80240710 8FBF0038 */ lw $ra, 0x38($sp) +/* BA4E94 80240714 8FB10034 */ lw $s1, 0x34($sp) +/* BA4E98 80240718 8FB00030 */ lw $s0, 0x30($sp) +/* BA4E9C 8024071C 03E00008 */ jr $ra +/* BA4EA0 80240720 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240724_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240724_BA4780.s new file mode 100644 index 0000000000..f3443534e9 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240724_BA4780.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240724_BA4EA4 +/* BA4EA4 80240724 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA4EA8 80240728 AFB10014 */ sw $s1, 0x14($sp) +/* BA4EAC 8024072C 0080882D */ daddu $s1, $a0, $zero +/* BA4EB0 80240730 AFBF0018 */ sw $ra, 0x18($sp) +/* BA4EB4 80240734 AFB00010 */ sw $s0, 0x10($sp) +/* BA4EB8 80240738 8E300148 */ lw $s0, 0x148($s1) +/* BA4EBC 8024073C 0C00EABB */ jal get_npc_unsafe +/* BA4EC0 80240740 86040008 */ lh $a0, 8($s0) +/* BA4EC4 80240744 9443008E */ lhu $v1, 0x8e($v0) +/* BA4EC8 80240748 2463FFFF */ addiu $v1, $v1, -1 +/* BA4ECC 8024074C A443008E */ sh $v1, 0x8e($v0) +/* BA4ED0 80240750 00031C00 */ sll $v1, $v1, 0x10 +/* BA4ED4 80240754 1C600003 */ bgtz $v1, .L80240764 +/* BA4ED8 80240758 2402000C */ addiu $v0, $zero, 0xc +/* BA4EDC 8024075C AE00006C */ sw $zero, 0x6c($s0) +/* BA4EE0 80240760 AE220070 */ sw $v0, 0x70($s1) +.L80240764: +/* BA4EE4 80240764 8FBF0018 */ lw $ra, 0x18($sp) +/* BA4EE8 80240768 8FB10014 */ lw $s1, 0x14($sp) +/* BA4EEC 8024076C 8FB00010 */ lw $s0, 0x10($sp) +/* BA4EF0 80240770 03E00008 */ jr $ra +/* BA4EF4 80240774 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240778_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240778_BA4780.s new file mode 100644 index 0000000000..7909110eb4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240778_BA4780.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240778_BA4EF8 +/* BA4EF8 80240778 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BA4EFC 8024077C AFBF0024 */ sw $ra, 0x24($sp) +/* BA4F00 80240780 AFB40020 */ sw $s4, 0x20($sp) +/* BA4F04 80240784 AFB3001C */ sw $s3, 0x1c($sp) +/* BA4F08 80240788 AFB20018 */ sw $s2, 0x18($sp) +/* BA4F0C 8024078C AFB10014 */ sw $s1, 0x14($sp) +/* BA4F10 80240790 AFB00010 */ sw $s0, 0x10($sp) +/* BA4F14 80240794 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BA4F18 80240798 8C900148 */ lw $s0, 0x148($a0) +/* BA4F1C 8024079C 86040008 */ lh $a0, 8($s0) +/* BA4F20 802407A0 0C00EABB */ jal get_npc_unsafe +/* BA4F24 802407A4 24110001 */ addiu $s1, $zero, 1 +/* BA4F28 802407A8 86040008 */ lh $a0, 8($s0) +/* BA4F2C 802407AC 0040802D */ daddu $s0, $v0, $zero +/* BA4F30 802407B0 3C05800B */ lui $a1, %hi(gCameras) +/* BA4F34 802407B4 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* BA4F38 802407B8 3C03800A */ lui $v1, 0x800a +/* BA4F3C 802407BC 8463A634 */ lh $v1, -0x59cc($v1) +/* BA4F40 802407C0 00912021 */ addu $a0, $a0, $s1 +/* BA4F44 802407C4 00031080 */ sll $v0, $v1, 2 +/* BA4F48 802407C8 00431021 */ addu $v0, $v0, $v1 +/* BA4F4C 802407CC 00021080 */ sll $v0, $v0, 2 +/* BA4F50 802407D0 00431023 */ subu $v0, $v0, $v1 +/* BA4F54 802407D4 000218C0 */ sll $v1, $v0, 3 +/* BA4F58 802407D8 00431021 */ addu $v0, $v0, $v1 +/* BA4F5C 802407DC 000210C0 */ sll $v0, $v0, 3 +/* BA4F60 802407E0 0C00FB3A */ jal get_enemy +/* BA4F64 802407E4 00459021 */ addu $s2, $v0, $a1 +/* BA4F68 802407E8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* BA4F6C 802407EC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* BA4F70 802407F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA4F74 802407F4 8E830000 */ lw $v1, ($s4) +/* BA4F78 802407F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA4F7C 802407FC 8C660028 */ lw $a2, 0x28($v1) +/* BA4F80 80240800 8C670030 */ lw $a3, 0x30($v1) +/* BA4F84 80240804 0C00A7B5 */ jal dist2D +/* BA4F88 80240808 0040982D */ daddu $s3, $v0, $zero +/* BA4F8C 8024080C C6620074 */ lwc1 $f2, 0x74($s3) +/* BA4F90 80240810 468010A0 */ cvt.s.w $f2, $f2 +/* BA4F94 80240814 4600103C */ c.lt.s $f2, $f0 +/* BA4F98 80240818 00000000 */ nop +/* BA4F9C 8024081C 45030001 */ bc1tl .L80240824 +/* BA4FA0 80240820 0000882D */ daddu $s1, $zero, $zero +.L80240824: +/* BA4FA4 80240824 C64C006C */ lwc1 $f12, 0x6c($s2) +/* BA4FA8 80240828 C60E000C */ lwc1 $f14, 0xc($s0) +/* BA4FAC 8024082C 3C014387 */ lui $at, 0x4387 +/* BA4FB0 80240830 4481A000 */ mtc1 $at, $f20 +/* BA4FB4 80240834 0C00A70A */ jal get_clamped_angle_diff +/* BA4FB8 80240838 00000000 */ nop +/* BA4FBC 8024083C 0C00A6C9 */ jal clamp_angle +/* BA4FC0 80240840 46000306 */ mov.s $f12, $f0 +/* BA4FC4 80240844 3C018024 */ lui $at, 0x8024 +/* BA4FC8 80240848 D42257B0 */ ldc1 $f2, 0x57b0($at) +/* BA4FCC 8024084C 46000021 */ cvt.d.s $f0, $f0 +/* BA4FD0 80240850 4622003C */ c.lt.d $f0, $f2 +/* BA4FD4 80240854 00000000 */ nop +/* BA4FD8 80240858 45000003 */ bc1f .L80240868 +/* BA4FDC 8024085C 00000000 */ nop +/* BA4FE0 80240860 3C0142B4 */ lui $at, 0x42b4 +/* BA4FE4 80240864 4481A000 */ mtc1 $at, $f20 +.L80240868: +/* BA4FE8 80240868 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA4FEC 8024086C 8E820000 */ lw $v0, ($s4) +/* BA4FF0 80240870 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA4FF4 80240874 8C460028 */ lw $a2, 0x28($v0) +/* BA4FF8 80240878 0C00A720 */ jal atan2 +/* BA4FFC 8024087C 8C470030 */ lw $a3, 0x30($v0) +/* BA5000 80240880 4600A306 */ mov.s $f12, $f20 +/* BA5004 80240884 0C00A70A */ jal get_clamped_angle_diff +/* BA5008 80240888 46000386 */ mov.s $f14, $f0 +/* BA500C 8024088C C6620078 */ lwc1 $f2, 0x78($s3) +/* BA5010 80240890 468010A0 */ cvt.s.w $f2, $f2 +/* BA5014 80240894 46000005 */ abs.s $f0, $f0 +/* BA5018 80240898 4600103C */ c.lt.s $f2, $f0 +/* BA501C 8024089C 00000000 */ nop +/* BA5020 802408A0 45030001 */ bc1tl .L802408A8 +/* BA5024 802408A4 0000882D */ daddu $s1, $zero, $zero +.L802408A8: +/* BA5028 802408A8 8E820000 */ lw $v0, ($s4) +/* BA502C 802408AC C600003C */ lwc1 $f0, 0x3c($s0) +/* BA5030 802408B0 C442002C */ lwc1 $f2, 0x2c($v0) +/* BA5034 802408B4 860200A8 */ lh $v0, 0xa8($s0) +/* BA5038 802408B8 46020001 */ sub.s $f0, $f0, $f2 +/* BA503C 802408BC 44821000 */ mtc1 $v0, $f2 +/* BA5040 802408C0 00000000 */ nop +/* BA5044 802408C4 468010A1 */ cvt.d.w $f2, $f2 +/* BA5048 802408C8 46221080 */ add.d $f2, $f2, $f2 +/* BA504C 802408CC 46000005 */ abs.s $f0, $f0 +/* BA5050 802408D0 46000021 */ cvt.d.s $f0, $f0 +/* BA5054 802408D4 4620103E */ c.le.d $f2, $f0 +/* BA5058 802408D8 00000000 */ nop +/* BA505C 802408DC 45030001 */ bc1tl .L802408E4 +/* BA5060 802408E0 0000882D */ daddu $s1, $zero, $zero +.L802408E4: +/* BA5064 802408E4 3C038011 */ lui $v1, 0x8011 +/* BA5068 802408E8 8063EBB3 */ lb $v1, -0x144d($v1) +/* BA506C 802408EC 24020009 */ addiu $v0, $zero, 9 +/* BA5070 802408F0 50620001 */ beql $v1, $v0, .L802408F8 +/* BA5074 802408F4 0000882D */ daddu $s1, $zero, $zero +.L802408F8: +/* BA5078 802408F8 24020007 */ addiu $v0, $zero, 7 +/* BA507C 802408FC 50620001 */ beql $v1, $v0, .L80240904 +/* BA5080 80240900 0000882D */ daddu $s1, $zero, $zero +.L80240904: +/* BA5084 80240904 0220102D */ daddu $v0, $s1, $zero +/* BA5088 80240908 8FBF0024 */ lw $ra, 0x24($sp) +/* BA508C 8024090C 8FB40020 */ lw $s4, 0x20($sp) +/* BA5090 80240910 8FB3001C */ lw $s3, 0x1c($sp) +/* BA5094 80240914 8FB20018 */ lw $s2, 0x18($sp) +/* BA5098 80240918 8FB10014 */ lw $s1, 0x14($sp) +/* BA509C 8024091C 8FB00010 */ lw $s0, 0x10($sp) +/* BA50A0 80240920 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BA50A4 80240924 03E00008 */ jr $ra +/* BA50A8 80240928 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_8024092C_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_8024092C_BA4780.s new file mode 100644 index 0000000000..31e48330f4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_8024092C_BA4780.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024092C_BA50AC +/* BA50AC 8024092C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BA50B0 80240930 AFB40028 */ sw $s4, 0x28($sp) +/* BA50B4 80240934 0080A02D */ daddu $s4, $a0, $zero +/* BA50B8 80240938 AFBF002C */ sw $ra, 0x2c($sp) +/* BA50BC 8024093C AFB30024 */ sw $s3, 0x24($sp) +/* BA50C0 80240940 AFB20020 */ sw $s2, 0x20($sp) +/* BA50C4 80240944 AFB1001C */ sw $s1, 0x1c($sp) +/* BA50C8 80240948 AFB00018 */ sw $s0, 0x18($sp) +/* BA50CC 8024094C 8E910148 */ lw $s1, 0x148($s4) +/* BA50D0 80240950 86240008 */ lh $a0, 8($s1) +/* BA50D4 80240954 0C00EABB */ jal get_npc_unsafe +/* BA50D8 80240958 00A0802D */ daddu $s0, $a1, $zero +/* BA50DC 8024095C 16000005 */ bnez $s0, .L80240974 +/* BA50E0 80240960 0040902D */ daddu $s2, $v0, $zero +/* BA50E4 80240964 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA50E8 80240968 30420004 */ andi $v0, $v0, 4 +/* BA50EC 8024096C 10400015 */ beqz $v0, .L802409C4 +/* BA50F0 80240970 00000000 */ nop +.L80240974: +/* BA50F4 80240974 AE800070 */ sw $zero, 0x70($s4) +/* BA50F8 80240978 8E420000 */ lw $v0, ($s2) +/* BA50FC 8024097C 3C031F30 */ lui $v1, 0x1f30 +/* BA5100 80240980 A640008E */ sh $zero, 0x8e($s2) +/* BA5104 80240984 34420102 */ ori $v0, $v0, 0x102 +/* BA5108 80240988 AE420000 */ sw $v0, ($s2) +/* BA510C 8024098C 8E220000 */ lw $v0, ($s1) +/* BA5110 80240990 3C01C47A */ lui $at, 0xc47a +/* BA5114 80240994 44810000 */ mtc1 $at, $f0 +/* BA5118 80240998 00431025 */ or $v0, $v0, $v1 +/* BA511C 8024099C AE220000 */ sw $v0, ($s1) +/* BA5120 802409A0 AE400038 */ sw $zero, 0x38($s2) +/* BA5124 802409A4 E640003C */ swc1 $f0, 0x3c($s2) +/* BA5128 802409A8 AE400040 */ sw $zero, 0x40($s2) +/* BA512C 802409AC 8E2300B0 */ lw $v1, 0xb0($s1) +/* BA5130 802409B0 30620004 */ andi $v0, $v1, 4 +/* BA5134 802409B4 10400003 */ beqz $v0, .L802409C4 +/* BA5138 802409B8 2402FFFB */ addiu $v0, $zero, -5 +/* BA513C 802409BC 00621024 */ and $v0, $v1, $v0 +/* BA5140 802409C0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802409C4: +/* BA5144 802409C4 8E930070 */ lw $s3, 0x70($s4) +/* BA5148 802409C8 12600005 */ beqz $s3, .L802409E0 +/* BA514C 802409CC 24020001 */ addiu $v0, $zero, 1 +/* BA5150 802409D0 12620048 */ beq $s3, $v0, .L80240AF4 +/* BA5154 802409D4 00000000 */ nop +/* BA5158 802409D8 080902DA */ j .L80240B68 +/* BA515C 802409DC 00000000 */ nop +.L802409E0: +/* BA5160 802409E0 86240008 */ lh $a0, 8($s1) +/* BA5164 802409E4 0C00FB3A */ jal get_enemy +/* BA5168 802409E8 2484FFFF */ addiu $a0, $a0, -1 +/* BA516C 802409EC 0040802D */ daddu $s0, $v0, $zero +/* BA5170 802409F0 0C00EABB */ jal get_npc_unsafe +/* BA5174 802409F4 86040008 */ lh $a0, 8($s0) +/* BA5178 802409F8 24030001 */ addiu $v1, $zero, 1 +/* BA517C 802409FC 0040982D */ daddu $s3, $v0, $zero +/* BA5180 80240A00 A2230007 */ sb $v1, 7($s1) +/* BA5184 80240A04 8E03006C */ lw $v1, 0x6c($s0) +/* BA5188 80240A08 24020003 */ addiu $v0, $zero, 3 +/* BA518C 80240A0C 14620056 */ bne $v1, $v0, .L80240B68 +/* BA5190 80240A10 00000000 */ nop +/* BA5194 80240A14 8E2500A8 */ lw $a1, 0xa8($s1) +/* BA5198 80240A18 10A00003 */ beqz $a1, .L80240A28 +/* BA519C 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* BA51A0 80240A20 0C012530 */ jal func_800494C0 +/* BA51A4 80240A24 0000302D */ daddu $a2, $zero, $zero +.L80240A28: +/* BA51A8 80240A28 27A40010 */ addiu $a0, $sp, 0x10 +/* BA51AC 80240A2C C6280070 */ lwc1 $f8, 0x70($s1) +/* BA51B0 80240A30 46804220 */ cvt.s.w $f8, $f8 +/* BA51B4 80240A34 C6620034 */ lwc1 $f2, 0x34($s3) +/* BA51B8 80240A38 3C014387 */ lui $at, 0x4387 +/* BA51BC 80240A3C 44810000 */ mtc1 $at, $f0 +/* BA51C0 80240A40 44064000 */ mfc1 $a2, $f8 +/* BA51C4 80240A44 46020001 */ sub.s $f0, $f0, $f2 +/* BA51C8 80240A48 C6660038 */ lwc1 $f6, 0x38($s3) +/* BA51CC 80240A4C C6640040 */ lwc1 $f4, 0x40($s3) +/* BA51D0 80240A50 44070000 */ mfc1 $a3, $f0 +/* BA51D4 80240A54 27A50014 */ addiu $a1, $sp, 0x14 +/* BA51D8 80240A58 E7A60010 */ swc1 $f6, 0x10($sp) +/* BA51DC 80240A5C 0C00A7E7 */ jal add_vec2D_polar +/* BA51E0 80240A60 E7A40014 */ swc1 $f4, 0x14($sp) +/* BA51E4 80240A64 C7A00010 */ lwc1 $f0, 0x10($sp) +/* BA51E8 80240A68 4600020D */ trunc.w.s $f8, $f0 +/* BA51EC 80240A6C 44024000 */ mfc1 $v0, $f8 +/* BA51F0 80240A70 E6400038 */ swc1 $f0, 0x38($s2) +/* BA51F4 80240A74 A6220010 */ sh $v0, 0x10($s1) +/* BA51F8 80240A78 C660003C */ lwc1 $f0, 0x3c($s3) +/* BA51FC 80240A7C C622006C */ lwc1 $f2, 0x6c($s1) +/* BA5200 80240A80 468010A0 */ cvt.s.w $f2, $f2 +/* BA5204 80240A84 46020000 */ add.s $f0, $f0, $f2 +/* BA5208 80240A88 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* BA520C 80240A8C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* BA5210 80240A90 E640003C */ swc1 $f0, 0x3c($s2) +/* BA5214 80240A94 C7A20014 */ lwc1 $f2, 0x14($sp) +/* BA5218 80240A98 4600020D */ trunc.w.s $f8, $f0 +/* BA521C 80240A9C 44024000 */ mfc1 $v0, $f8 +/* BA5220 80240AA0 00000000 */ nop +/* BA5224 80240AA4 A6220012 */ sh $v0, 0x12($s1) +/* BA5228 80240AA8 4600120D */ trunc.w.s $f8, $f2 +/* BA522C 80240AAC 44024000 */ mfc1 $v0, $f8 +/* BA5230 80240AB0 E6420040 */ swc1 $f2, 0x40($s2) +/* BA5234 80240AB4 A6220014 */ sh $v0, 0x14($s1) +/* BA5238 80240AB8 8C660028 */ lw $a2, 0x28($v1) +/* BA523C 80240ABC 8C670030 */ lw $a3, 0x30($v1) +/* BA5240 80240AC0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* BA5244 80240AC4 0C00A720 */ jal atan2 +/* BA5248 80240AC8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BA524C 80240ACC 3C03E0EF */ lui $v1, 0xe0ef +/* BA5250 80240AD0 E640000C */ swc1 $f0, 0xc($s2) +/* BA5254 80240AD4 8E220000 */ lw $v0, ($s1) +/* BA5258 80240AD8 3463FFFF */ ori $v1, $v1, 0xffff +/* BA525C 80240ADC 00431024 */ and $v0, $v0, $v1 +/* BA5260 80240AE0 AE220000 */ sw $v0, ($s1) +/* BA5264 80240AE4 24020001 */ addiu $v0, $zero, 1 +/* BA5268 80240AE8 A640008E */ sh $zero, 0x8e($s2) +/* BA526C 80240AEC 080902DA */ j .L80240B68 +/* BA5270 80240AF0 AE820070 */ sw $v0, 0x70($s4) +.L80240AF4: +/* BA5274 80240AF4 86240008 */ lh $a0, 8($s1) +/* BA5278 80240AF8 0C00FB3A */ jal get_enemy +/* BA527C 80240AFC 2484FFFF */ addiu $a0, $a0, -1 +/* BA5280 80240B00 0040802D */ daddu $s0, $v0, $zero +/* BA5284 80240B04 0C00EABB */ jal get_npc_unsafe +/* BA5288 80240B08 86040008 */ lh $a0, 8($s0) +/* BA528C 80240B0C 9642008E */ lhu $v0, 0x8e($s2) +/* BA5290 80240B10 24420001 */ addiu $v0, $v0, 1 +/* BA5294 80240B14 A642008E */ sh $v0, 0x8e($s2) +/* BA5298 80240B18 00021400 */ sll $v0, $v0, 0x10 +/* BA529C 80240B1C 8E23007C */ lw $v1, 0x7c($s1) +/* BA52A0 80240B20 00021403 */ sra $v0, $v0, 0x10 +/* BA52A4 80240B24 0043102A */ slt $v0, $v0, $v1 +/* BA52A8 80240B28 50400001 */ beql $v0, $zero, .L80240B30 +/* BA52AC 80240B2C A2200007 */ sb $zero, 7($s1) +.L80240B30: +/* BA52B0 80240B30 8E03006C */ lw $v1, 0x6c($s0) +/* BA52B4 80240B34 24020004 */ addiu $v0, $zero, 4 +/* BA52B8 80240B38 1462000B */ bne $v1, $v0, .L80240B68 +/* BA52BC 80240B3C 3C021F10 */ lui $v0, 0x1f10 +/* BA52C0 80240B40 8E230000 */ lw $v1, ($s1) +/* BA52C4 80240B44 3C01C47A */ lui $at, 0xc47a +/* BA52C8 80240B48 44810000 */ mtc1 $at, $f0 +/* BA52CC 80240B4C 00621825 */ or $v1, $v1, $v0 +/* BA52D0 80240B50 AE230000 */ sw $v1, ($s1) +/* BA52D4 80240B54 AE400038 */ sw $zero, 0x38($s2) +/* BA52D8 80240B58 E640003C */ swc1 $f0, 0x3c($s2) +/* BA52DC 80240B5C AE400040 */ sw $zero, 0x40($s2) +/* BA52E0 80240B60 A2330007 */ sb $s3, 7($s1) +/* BA52E4 80240B64 AE800070 */ sw $zero, 0x70($s4) +.L80240B68: +/* BA52E8 80240B68 8FBF002C */ lw $ra, 0x2c($sp) +/* BA52EC 80240B6C 8FB40028 */ lw $s4, 0x28($sp) +/* BA52F0 80240B70 8FB30024 */ lw $s3, 0x24($sp) +/* BA52F4 80240B74 8FB20020 */ lw $s2, 0x20($sp) +/* BA52F8 80240B78 8FB1001C */ lw $s1, 0x1c($sp) +/* BA52FC 80240B7C 8FB00018 */ lw $s0, 0x18($sp) +/* BA5300 80240B80 0000102D */ daddu $v0, $zero, $zero +/* BA5304 80240B84 03E00008 */ jr $ra +/* BA5308 80240B88 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240B8C_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240B8C_BA4780.s new file mode 100644 index 0000000000..d68f617cc1 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240B8C_BA4780.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B8C_BA530C +/* BA530C 80240B8C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BA5310 80240B90 AFB20038 */ sw $s2, 0x38($sp) +/* BA5314 80240B94 0080902D */ daddu $s2, $a0, $zero +/* BA5318 80240B98 AFBF0048 */ sw $ra, 0x48($sp) +/* BA531C 80240B9C AFB50044 */ sw $s5, 0x44($sp) +/* BA5320 80240BA0 AFB40040 */ sw $s4, 0x40($sp) +/* BA5324 80240BA4 AFB3003C */ sw $s3, 0x3c($sp) +/* BA5328 80240BA8 AFB10034 */ sw $s1, 0x34($sp) +/* BA532C 80240BAC AFB00030 */ sw $s0, 0x30($sp) +/* BA5330 80240BB0 8E510148 */ lw $s1, 0x148($s2) +/* BA5334 80240BB4 86240008 */ lh $a0, 8($s1) +/* BA5338 80240BB8 0C00EABB */ jal get_npc_unsafe +/* BA533C 80240BBC 00A0802D */ daddu $s0, $a1, $zero +/* BA5340 80240BC0 8E43000C */ lw $v1, 0xc($s2) +/* BA5344 80240BC4 0240202D */ daddu $a0, $s2, $zero +/* BA5348 80240BC8 8C650000 */ lw $a1, ($v1) +/* BA534C 80240BCC 0C0B1EAF */ jal get_variable +/* BA5350 80240BD0 0040A82D */ daddu $s5, $v0, $zero +/* BA5354 80240BD4 AFA00010 */ sw $zero, 0x10($sp) +/* BA5358 80240BD8 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA535C 80240BDC 8C630030 */ lw $v1, 0x30($v1) +/* BA5360 80240BE0 AFA30014 */ sw $v1, 0x14($sp) +/* BA5364 80240BE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA5368 80240BE8 8C63001C */ lw $v1, 0x1c($v1) +/* BA536C 80240BEC AFA30018 */ sw $v1, 0x18($sp) +/* BA5370 80240BF0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA5374 80240BF4 8C630024 */ lw $v1, 0x24($v1) +/* BA5378 80240BF8 AFA3001C */ sw $v1, 0x1c($sp) +/* BA537C 80240BFC 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA5380 80240C00 8C630028 */ lw $v1, 0x28($v1) +/* BA5384 80240C04 27B40010 */ addiu $s4, $sp, 0x10 +/* BA5388 80240C08 AFA30020 */ sw $v1, 0x20($sp) +/* BA538C 80240C0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA5390 80240C10 3C014282 */ lui $at, 0x4282 +/* BA5394 80240C14 44810000 */ mtc1 $at, $f0 +/* BA5398 80240C18 8C63002C */ lw $v1, 0x2c($v1) +/* BA539C 80240C1C 0040982D */ daddu $s3, $v0, $zero +/* BA53A0 80240C20 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA53A4 80240C24 A7A0002C */ sh $zero, 0x2c($sp) +/* BA53A8 80240C28 16000005 */ bnez $s0, .L80240C40 +/* BA53AC 80240C2C AFA30024 */ sw $v1, 0x24($sp) +/* BA53B0 80240C30 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA53B4 80240C34 30420004 */ andi $v0, $v0, 4 +/* BA53B8 80240C38 10400020 */ beqz $v0, .L80240CBC +/* BA53BC 80240C3C 00000000 */ nop +.L80240C40: +/* BA53C0 80240C40 2404F7FF */ addiu $a0, $zero, -0x801 +/* BA53C4 80240C44 AE400070 */ sw $zero, 0x70($s2) +/* BA53C8 80240C48 A6A0008E */ sh $zero, 0x8e($s5) +/* BA53CC 80240C4C 8E2200CC */ lw $v0, 0xcc($s1) +/* BA53D0 80240C50 8EA30000 */ lw $v1, ($s5) +/* BA53D4 80240C54 8C420000 */ lw $v0, ($v0) +/* BA53D8 80240C58 00641824 */ and $v1, $v1, $a0 +/* BA53DC 80240C5C AEA30000 */ sw $v1, ($s5) +/* BA53E0 80240C60 AEA20028 */ sw $v0, 0x28($s5) +/* BA53E4 80240C64 8E2200D0 */ lw $v0, 0xd0($s1) +/* BA53E8 80240C68 8C420034 */ lw $v0, 0x34($v0) +/* BA53EC 80240C6C 54400005 */ bnel $v0, $zero, .L80240C84 +/* BA53F0 80240C70 2402FDFF */ addiu $v0, $zero, -0x201 +/* BA53F4 80240C74 34620200 */ ori $v0, $v1, 0x200 +/* BA53F8 80240C78 2403FFF7 */ addiu $v1, $zero, -9 +/* BA53FC 80240C7C 08090323 */ j .L80240C8C +/* BA5400 80240C80 00431024 */ and $v0, $v0, $v1 +.L80240C84: +/* BA5404 80240C84 00621024 */ and $v0, $v1, $v0 +/* BA5408 80240C88 34420008 */ ori $v0, $v0, 8 +.L80240C8C: +/* BA540C 80240C8C AEA20000 */ sw $v0, ($s5) +/* BA5410 80240C90 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA5414 80240C94 30420004 */ andi $v0, $v0, 4 +/* BA5418 80240C98 10400007 */ beqz $v0, .L80240CB8 +/* BA541C 80240C9C 24020063 */ addiu $v0, $zero, 0x63 +/* BA5420 80240CA0 AE420070 */ sw $v0, 0x70($s2) +/* BA5424 80240CA4 AE400074 */ sw $zero, 0x74($s2) +/* BA5428 80240CA8 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA542C 80240CAC 2403FFFB */ addiu $v1, $zero, -5 +/* BA5430 80240CB0 00431024 */ and $v0, $v0, $v1 +/* BA5434 80240CB4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240CB8: +/* BA5438 80240CB8 AE20006C */ sw $zero, 0x6c($s1) +.L80240CBC: +/* BA543C 80240CBC 8E420070 */ lw $v0, 0x70($s2) +/* BA5440 80240CC0 2842001E */ slti $v0, $v0, 0x1e +/* BA5444 80240CC4 10400009 */ beqz $v0, .L80240CEC +/* BA5448 80240CC8 00000000 */ nop +/* BA544C 80240CCC 8E22006C */ lw $v0, 0x6c($s1) +/* BA5450 80240CD0 14400006 */ bnez $v0, .L80240CEC +/* BA5454 80240CD4 00000000 */ nop +/* BA5458 80240CD8 0C0901DE */ jal func_80240778 +/* BA545C 80240CDC 0240202D */ daddu $a0, $s2, $zero +/* BA5460 80240CE0 10400002 */ beqz $v0, .L80240CEC +/* BA5464 80240CE4 2402001E */ addiu $v0, $zero, 0x1e +/* BA5468 80240CE8 AE420070 */ sw $v0, 0x70($s2) +.L80240CEC: +/* BA546C 80240CEC 8E430070 */ lw $v1, 0x70($s2) +/* BA5470 80240CF0 2C620064 */ sltiu $v0, $v1, 0x64 +/* BA5474 80240CF4 10400048 */ beqz $v0, .L80240E18 +/* BA5478 80240CF8 00031080 */ sll $v0, $v1, 2 +/* BA547C 80240CFC 3C018024 */ lui $at, 0x8024 +/* BA5480 80240D00 00220821 */ addu $at, $at, $v0 +/* BA5484 80240D04 8C2257B8 */ lw $v0, 0x57b8($at) +/* BA5488 80240D08 00400008 */ jr $v0 +/* BA548C 80240D0C 00000000 */ nop +/* BA5490 80240D10 0240202D */ daddu $a0, $s2, $zero +/* BA5494 80240D14 0260282D */ daddu $a1, $s3, $zero +/* BA5498 80240D18 0C012568 */ jal func_800495A0 +/* BA549C 80240D1C 0280302D */ daddu $a2, $s4, $zero +/* BA54A0 80240D20 0240202D */ daddu $a0, $s2, $zero +/* BA54A4 80240D24 0260282D */ daddu $a1, $s3, $zero +/* BA54A8 80240D28 0C0125AE */ jal func_800496B8 +/* BA54AC 80240D2C 0280302D */ daddu $a2, $s4, $zero +/* BA54B0 80240D30 08090386 */ j .L80240E18 +/* BA54B4 80240D34 00000000 */ nop +/* BA54B8 80240D38 0240202D */ daddu $a0, $s2, $zero +/* BA54BC 80240D3C 0260282D */ daddu $a1, $s3, $zero +/* BA54C0 80240D40 0C0126D1 */ jal func_80049B44 +/* BA54C4 80240D44 0280302D */ daddu $a2, $s4, $zero +/* BA54C8 80240D48 0240202D */ daddu $a0, $s2, $zero +/* BA54CC 80240D4C 0260282D */ daddu $a1, $s3, $zero +/* BA54D0 80240D50 0C012701 */ jal func_80049C04 +/* BA54D4 80240D54 0280302D */ daddu $a2, $s4, $zero +/* BA54D8 80240D58 08090386 */ j .L80240E18 +/* BA54DC 80240D5C 00000000 */ nop +/* BA54E0 80240D60 0240202D */ daddu $a0, $s2, $zero +/* BA54E4 80240D64 0260282D */ daddu $a1, $s3, $zero +/* BA54E8 80240D68 0C01278F */ jal func_80049E3C +/* BA54EC 80240D6C 0280302D */ daddu $a2, $s4, $zero +/* BA54F0 80240D70 0240202D */ daddu $a0, $s2, $zero +/* BA54F4 80240D74 0260282D */ daddu $a1, $s3, $zero +/* BA54F8 80240D78 0C0127B3 */ jal func_80049ECC +/* BA54FC 80240D7C 0280302D */ daddu $a2, $s4, $zero +/* BA5500 80240D80 08090386 */ j .L80240E18 +/* BA5504 80240D84 00000000 */ nop +/* BA5508 80240D88 0240202D */ daddu $a0, $s2, $zero +/* BA550C 80240D8C 0260282D */ daddu $a1, $s3, $zero +/* BA5510 80240D90 0C0127DF */ jal func_80049F7C +/* BA5514 80240D94 0280302D */ daddu $a2, $s4, $zero +/* BA5518 80240D98 0240202D */ daddu $a0, $s2, $zero +/* BA551C 80240D9C 0260282D */ daddu $a1, $s3, $zero +/* BA5520 80240DA0 0C012849 */ jal func_8004A124 +/* BA5524 80240DA4 0280302D */ daddu $a2, $s4, $zero +/* BA5528 80240DA8 08090386 */ j .L80240E18 +/* BA552C 80240DAC 00000000 */ nop +/* BA5530 80240DB0 0240202D */ daddu $a0, $s2, $zero +/* BA5534 80240DB4 0260282D */ daddu $a1, $s3, $zero +/* BA5538 80240DB8 0C0128FA */ jal func_8004A3E8 +/* BA553C 80240DBC 0280302D */ daddu $a2, $s4, $zero +/* BA5540 80240DC0 08090386 */ j .L80240E18 +/* BA5544 80240DC4 00000000 */ nop +/* BA5548 80240DC8 0C09015C */ jal func_80240570 +/* BA554C 80240DCC 0240202D */ daddu $a0, $s2, $zero +/* BA5550 80240DD0 0C090177 */ jal func_802405DC +/* BA5554 80240DD4 0240202D */ daddu $a0, $s2, $zero +/* BA5558 80240DD8 8E430070 */ lw $v1, 0x70($s2) +/* BA555C 80240DDC 24020020 */ addiu $v0, $zero, 0x20 +/* BA5560 80240DE0 1462000D */ bne $v1, $v0, .L80240E18 +/* BA5564 80240DE4 00000000 */ nop +/* BA5568 80240DE8 0C090193 */ jal func_8024064C +/* BA556C 80240DEC 0240202D */ daddu $a0, $s2, $zero +/* BA5570 80240DF0 8E430070 */ lw $v1, 0x70($s2) +/* BA5574 80240DF4 24020021 */ addiu $v0, $zero, 0x21 +/* BA5578 80240DF8 14620007 */ bne $v1, $v0, .L80240E18 +/* BA557C 80240DFC 00000000 */ nop +/* BA5580 80240E00 0C0901C9 */ jal func_80240724 +/* BA5584 80240E04 0240202D */ daddu $a0, $s2, $zero +/* BA5588 80240E08 08090386 */ j .L80240E18 +/* BA558C 80240E0C 00000000 */ nop +/* BA5590 80240E10 0C0129CF */ jal func_8004A73C +/* BA5594 80240E14 0240202D */ daddu $a0, $s2, $zero +.L80240E18: +/* BA5598 80240E18 8FBF0048 */ lw $ra, 0x48($sp) +/* BA559C 80240E1C 8FB50044 */ lw $s5, 0x44($sp) +/* BA55A0 80240E20 8FB40040 */ lw $s4, 0x40($sp) +/* BA55A4 80240E24 8FB3003C */ lw $s3, 0x3c($sp) +/* BA55A8 80240E28 8FB20038 */ lw $s2, 0x38($sp) +/* BA55AC 80240E2C 8FB10034 */ lw $s1, 0x34($sp) +/* BA55B0 80240E30 8FB00030 */ lw $s0, 0x30($sp) +/* BA55B4 80240E34 0000102D */ daddu $v0, $zero, $zero +/* BA55B8 80240E38 03E00008 */ jr $ra +/* BA55BC 80240E3C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240E40_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240E40_BA4780.s new file mode 100644 index 0000000000..d764903f48 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240E40_BA4780.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E40_BA55C0 +/* BA55C0 80240E40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA55C4 80240E44 AFB10014 */ sw $s1, 0x14($sp) +/* BA55C8 80240E48 0080882D */ daddu $s1, $a0, $zero +/* BA55CC 80240E4C AFBF0018 */ sw $ra, 0x18($sp) +/* BA55D0 80240E50 AFB00010 */ sw $s0, 0x10($sp) +/* BA55D4 80240E54 8E300148 */ lw $s0, 0x148($s1) +/* BA55D8 80240E58 0C00EABB */ jal get_npc_unsafe +/* BA55DC 80240E5C 86040008 */ lh $a0, 8($s0) +/* BA55E0 80240E60 0040202D */ daddu $a0, $v0, $zero +/* BA55E4 80240E64 8482008E */ lh $v0, 0x8e($a0) +/* BA55E8 80240E68 9483008E */ lhu $v1, 0x8e($a0) +/* BA55EC 80240E6C 18400003 */ blez $v0, .L80240E7C +/* BA55F0 80240E70 2462FFFF */ addiu $v0, $v1, -1 +/* BA55F4 80240E74 080903A6 */ j .L80240E98 +/* BA55F8 80240E78 A482008E */ sh $v0, 0x8e($a0) +.L80240E7C: +/* BA55FC 80240E7C 8E0200CC */ lw $v0, 0xcc($s0) +/* BA5600 80240E80 AE00006C */ sw $zero, 0x6c($s0) +/* BA5604 80240E84 8C420000 */ lw $v0, ($v0) +/* BA5608 80240E88 AC820028 */ sw $v0, 0x28($a0) +/* BA560C 80240E8C 24020001 */ addiu $v0, $zero, 1 +/* BA5610 80240E90 AE200074 */ sw $zero, 0x74($s1) +/* BA5614 80240E94 AE220070 */ sw $v0, 0x70($s1) +.L80240E98: +/* BA5618 80240E98 8FBF0018 */ lw $ra, 0x18($sp) +/* BA561C 80240E9C 8FB10014 */ lw $s1, 0x14($sp) +/* BA5620 80240EA0 8FB00010 */ lw $s0, 0x10($sp) +/* BA5624 80240EA4 03E00008 */ jr $ra +/* BA5628 80240EA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240EAC.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240EAC.s new file mode 100644 index 0000000000..02407e880d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240EAC.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EAC +/* BA562C 80240EAC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BA5630 80240EB0 AFB3003C */ sw $s3, 0x3c($sp) +/* BA5634 80240EB4 0080982D */ daddu $s3, $a0, $zero +/* BA5638 80240EB8 AFBF0040 */ sw $ra, 0x40($sp) +/* BA563C 80240EBC AFB20038 */ sw $s2, 0x38($sp) +/* BA5640 80240EC0 AFB10034 */ sw $s1, 0x34($sp) +/* BA5644 80240EC4 AFB00030 */ sw $s0, 0x30($sp) +/* BA5648 80240EC8 8E720148 */ lw $s2, 0x148($s3) +/* BA564C 80240ECC 00A0882D */ daddu $s1, $a1, $zero +/* BA5650 80240ED0 86440008 */ lh $a0, 8($s2) +/* BA5654 80240ED4 0C00EABB */ jal get_npc_unsafe +/* BA5658 80240ED8 00C0802D */ daddu $s0, $a2, $zero +/* BA565C 80240EDC 0200202D */ daddu $a0, $s0, $zero +/* BA5660 80240EE0 0240282D */ daddu $a1, $s2, $zero +/* BA5664 80240EE4 AFA00010 */ sw $zero, 0x10($sp) +/* BA5668 80240EE8 8E26000C */ lw $a2, 0xc($s1) +/* BA566C 80240EEC 8E270010 */ lw $a3, 0x10($s1) +/* BA5670 80240EF0 0C01242D */ jal func_800490B4 +/* BA5674 80240EF4 0040882D */ daddu $s1, $v0, $zero +/* BA5678 80240EF8 10400024 */ beqz $v0, .L80240F8C +/* BA567C 80240EFC 0220202D */ daddu $a0, $s1, $zero +/* BA5680 80240F00 24050322 */ addiu $a1, $zero, 0x322 +/* BA5684 80240F04 0C012530 */ jal func_800494C0 +/* BA5688 80240F08 0000302D */ daddu $a2, $zero, $zero +/* BA568C 80240F0C 0000202D */ daddu $a0, $zero, $zero +/* BA5690 80240F10 0220282D */ daddu $a1, $s1, $zero +/* BA5694 80240F14 0000302D */ daddu $a2, $zero, $zero +/* BA5698 80240F18 2410000A */ addiu $s0, $zero, 0xa +/* BA569C 80240F1C 862300A8 */ lh $v1, 0xa8($s1) +/* BA56A0 80240F20 3C013F80 */ lui $at, 0x3f80 +/* BA56A4 80240F24 44810000 */ mtc1 $at, $f0 +/* BA56A8 80240F28 3C014000 */ lui $at, 0x4000 +/* BA56AC 80240F2C 44811000 */ mtc1 $at, $f2 +/* BA56B0 80240F30 3C01C1A0 */ lui $at, 0xc1a0 +/* BA56B4 80240F34 44812000 */ mtc1 $at, $f4 +/* BA56B8 80240F38 44833000 */ mtc1 $v1, $f6 +/* BA56BC 80240F3C 00000000 */ nop +/* BA56C0 80240F40 468031A0 */ cvt.s.w $f6, $f6 +/* BA56C4 80240F44 44073000 */ mfc1 $a3, $f6 +/* BA56C8 80240F48 27A20028 */ addiu $v0, $sp, 0x28 +/* BA56CC 80240F4C AFB0001C */ sw $s0, 0x1c($sp) +/* BA56D0 80240F50 AFA20020 */ sw $v0, 0x20($sp) +/* BA56D4 80240F54 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA56D8 80240F58 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA56DC 80240F5C 0C01BFA4 */ jal fx_emote +/* BA56E0 80240F60 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA56E4 80240F64 0220202D */ daddu $a0, $s1, $zero +/* BA56E8 80240F68 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BA56EC 80240F6C 0C012530 */ jal func_800494C0 +/* BA56F0 80240F70 3C060020 */ lui $a2, 0x20 +/* BA56F4 80240F74 8E4200CC */ lw $v0, 0xcc($s2) +/* BA56F8 80240F78 8C420020 */ lw $v0, 0x20($v0) +/* BA56FC 80240F7C AE220028 */ sw $v0, 0x28($s1) +/* BA5700 80240F80 9642008E */ lhu $v0, 0x8e($s2) +/* BA5704 80240F84 A622008E */ sh $v0, 0x8e($s1) +/* BA5708 80240F88 AE700070 */ sw $s0, 0x70($s3) +.L80240F8C: +/* BA570C 80240F8C 8FBF0040 */ lw $ra, 0x40($sp) +/* BA5710 80240F90 8FB3003C */ lw $s3, 0x3c($sp) +/* BA5714 80240F94 8FB20038 */ lw $s2, 0x38($sp) +/* BA5718 80240F98 8FB10034 */ lw $s1, 0x34($sp) +/* BA571C 80240F9C 8FB00030 */ lw $s0, 0x30($sp) +/* BA5720 80240FA0 03E00008 */ jr $ra +/* BA5724 80240FA4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80240FA8_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80240FA8_BA4780.s new file mode 100644 index 0000000000..93da91bd93 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80240FA8_BA4780.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA8_BA5728 +/* BA5728 80240FA8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BA572C 80240FAC AFBF0064 */ sw $ra, 0x64($sp) +/* BA5730 80240FB0 AFBE0060 */ sw $fp, 0x60($sp) +/* BA5734 80240FB4 AFB7005C */ sw $s7, 0x5c($sp) +/* BA5738 80240FB8 AFB60058 */ sw $s6, 0x58($sp) +/* BA573C 80240FBC AFB50054 */ sw $s5, 0x54($sp) +/* BA5740 80240FC0 AFB40050 */ sw $s4, 0x50($sp) +/* BA5744 80240FC4 AFB3004C */ sw $s3, 0x4c($sp) +/* BA5748 80240FC8 AFB20048 */ sw $s2, 0x48($sp) +/* BA574C 80240FCC AFB10044 */ sw $s1, 0x44($sp) +/* BA5750 80240FD0 AFB00040 */ sw $s0, 0x40($sp) +/* BA5754 80240FD4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* BA5758 80240FD8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* BA575C 80240FDC F7B40068 */ sdc1 $f20, 0x68($sp) +/* BA5760 80240FE0 AFA40080 */ sw $a0, 0x80($sp) +/* BA5764 80240FE4 8C960148 */ lw $s6, 0x148($a0) +/* BA5768 80240FE8 00C0902D */ daddu $s2, $a2, $zero +/* BA576C 80240FEC 86C40008 */ lh $a0, 8($s6) +/* BA5770 80240FF0 0C00EABB */ jal get_npc_unsafe +/* BA5774 80240FF4 0000B82D */ daddu $s7, $zero, $zero +/* BA5778 80240FF8 0040882D */ daddu $s1, $v0, $zero +/* BA577C 80240FFC 9622008E */ lhu $v0, 0x8e($s1) +/* BA5780 80241000 2442FFFF */ addiu $v0, $v0, -1 +/* BA5784 80241004 A622008E */ sh $v0, 0x8e($s1) +/* BA5788 80241008 00021400 */ sll $v0, $v0, 0x10 +/* BA578C 8024100C 8EC30090 */ lw $v1, 0x90($s6) +/* BA5790 80241010 00021403 */ sra $v0, $v0, 0x10 +/* BA5794 80241014 0062182A */ slt $v1, $v1, $v0 +/* BA5798 80241018 14600005 */ bnez $v1, .L80241030 +/* BA579C 8024101C 02E0F02D */ daddu $fp, $s7, $zero +/* BA57A0 80241020 8EC20000 */ lw $v0, ($s6) +/* BA57A4 80241024 3C031F10 */ lui $v1, 0x1f10 +/* BA57A8 80241028 00431025 */ or $v0, $v0, $v1 +/* BA57AC 8024102C AEC20000 */ sw $v0, ($s6) +.L80241030: +/* BA57B0 80241030 8622008E */ lh $v0, 0x8e($s1) +/* BA57B4 80241034 1440025D */ bnez $v0, .L802419AC +/* BA57B8 80241038 00000000 */ nop +/* BA57BC 8024103C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA57C0 80241040 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA57C4 80241044 0C00A6C9 */ jal clamp_angle +/* BA57C8 80241048 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* BA57CC 8024104C 3C014334 */ lui $at, 0x4334 +/* BA57D0 80241050 44811000 */ mtc1 $at, $f2 +/* BA57D4 80241054 00000000 */ nop +/* BA57D8 80241058 4602003C */ c.lt.s $f0, $f2 +/* BA57DC 8024105C 00000000 */ nop +/* BA57E0 80241060 45000011 */ bc1f .L802410A8 +/* BA57E4 80241064 00000000 */ nop +/* BA57E8 80241068 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BA57EC 8024106C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BA57F0 80241070 3C0142B4 */ lui $at, 0x42b4 +/* BA57F4 80241074 44816000 */ mtc1 $at, $f12 +/* BA57F8 80241078 00031080 */ sll $v0, $v1, 2 +/* BA57FC 8024107C 00431021 */ addu $v0, $v0, $v1 +/* BA5800 80241080 00021080 */ sll $v0, $v0, 2 +/* BA5804 80241084 00431023 */ subu $v0, $v0, $v1 +/* BA5808 80241088 000218C0 */ sll $v1, $v0, 3 +/* BA580C 8024108C 00431021 */ addu $v0, $v0, $v1 +/* BA5810 80241090 000210C0 */ sll $v0, $v0, 3 +/* BA5814 80241094 3C01800B */ lui $at, 0x800b +/* BA5818 80241098 00220821 */ addu $at, $at, $v0 +/* BA581C 8024109C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BA5820 802410A0 08090439 */ j .L802410E4 +/* BA5824 802410A4 460C0301 */ sub.s $f12, $f0, $f12 +.L802410A8: +/* BA5828 802410A8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BA582C 802410AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BA5830 802410B0 3C0142B4 */ lui $at, 0x42b4 +/* BA5834 802410B4 44816000 */ mtc1 $at, $f12 +/* BA5838 802410B8 00031080 */ sll $v0, $v1, 2 +/* BA583C 802410BC 00431021 */ addu $v0, $v0, $v1 +/* BA5840 802410C0 00021080 */ sll $v0, $v0, 2 +/* BA5844 802410C4 00431023 */ subu $v0, $v0, $v1 +/* BA5848 802410C8 000218C0 */ sll $v1, $v0, 3 +/* BA584C 802410CC 00431021 */ addu $v0, $v0, $v1 +/* BA5850 802410D0 000210C0 */ sll $v0, $v0, 3 +/* BA5854 802410D4 3C01800B */ lui $at, 0x800b +/* BA5858 802410D8 00220821 */ addu $at, $at, $v0 +/* BA585C 802410DC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BA5860 802410E0 460C0300 */ add.s $f12, $f0, $f12 +.L802410E4: +/* BA5864 802410E4 0C00A6C9 */ jal clamp_angle +/* BA5868 802410E8 00000000 */ nop +/* BA586C 802410EC 46000586 */ mov.s $f22, $f0 +/* BA5870 802410F0 3C014334 */ lui $at, 0x4334 +/* BA5874 802410F4 44816000 */ mtc1 $at, $f12 +/* BA5878 802410F8 0C00A6C9 */ jal clamp_angle +/* BA587C 802410FC 460CB300 */ add.s $f12, $f22, $f12 +/* BA5880 80241100 8EC20088 */ lw $v0, 0x88($s6) +/* BA5884 80241104 14400010 */ bnez $v0, .L80241148 +/* BA5888 80241108 46000606 */ mov.s $f24, $f0 +/* BA588C 8024110C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA5890 80241110 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA5894 80241114 804300B4 */ lb $v1, 0xb4($v0) +/* BA5898 80241118 3C014200 */ lui $at, 0x4200 +/* BA589C 8024111C 4481A000 */ mtc1 $at, $f20 +/* BA58A0 80241120 10600016 */ beqz $v1, .L8024117C +/* BA58A4 80241124 24020001 */ addiu $v0, $zero, 1 +/* BA58A8 80241128 3C0142C8 */ lui $at, 0x42c8 +/* BA58AC 8024112C 4481A000 */ mtc1 $at, $f20 +/* BA58B0 80241130 14620013 */ bne $v1, $v0, .L80241180 +/* BA58B4 80241134 26300038 */ addiu $s0, $s1, 0x38 +/* BA58B8 80241138 3C0142B4 */ lui $at, 0x42b4 +/* BA58BC 8024113C 4481A000 */ mtc1 $at, $f20 +/* BA58C0 80241140 08090461 */ j .L80241184 +/* BA58C4 80241144 0200202D */ daddu $a0, $s0, $zero +.L80241148: +/* BA58C8 80241148 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA58CC 8024114C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA58D0 80241150 804300B4 */ lb $v1, 0xb4($v0) +/* BA58D4 80241154 3C014218 */ lui $at, 0x4218 +/* BA58D8 80241158 4481A000 */ mtc1 $at, $f20 +/* BA58DC 8024115C 10600007 */ beqz $v1, .L8024117C +/* BA58E0 80241160 24020001 */ addiu $v0, $zero, 1 +/* BA58E4 80241164 3C0142B4 */ lui $at, 0x42b4 +/* BA58E8 80241168 4481A000 */ mtc1 $at, $f20 +/* BA58EC 8024116C 14620004 */ bne $v1, $v0, .L80241180 +/* BA58F0 80241170 26300038 */ addiu $s0, $s1, 0x38 +/* BA58F4 80241174 3C014296 */ lui $at, 0x4296 +/* BA58F8 80241178 4481A000 */ mtc1 $at, $f20 +.L8024117C: +/* BA58FC 8024117C 26300038 */ addiu $s0, $s1, 0x38 +.L80241180: +/* BA5900 80241180 0200202D */ daddu $a0, $s0, $zero +.L80241184: +/* BA5904 80241184 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* BA5908 80241188 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* BA590C 8024118C 4407C000 */ mfc1 $a3, $f24 +/* BA5910 80241190 862200A6 */ lh $v0, 0xa6($s1) +/* BA5914 80241194 8EA30000 */ lw $v1, ($s5) +/* BA5918 80241198 44824000 */ mtc1 $v0, $f8 +/* BA591C 8024119C 00000000 */ nop +/* BA5920 802411A0 46804220 */ cvt.s.w $f8, $f8 +/* BA5924 802411A4 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA5928 802411A8 44064000 */ mfc1 $a2, $f8 +/* BA592C 802411AC 26330040 */ addiu $s3, $s1, 0x40 +/* BA5930 802411B0 E6200038 */ swc1 $f0, 0x38($s1) +/* BA5934 802411B4 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA5938 802411B8 0260282D */ daddu $a1, $s3, $zero +/* BA593C 802411BC 0C00A7E7 */ jal add_vec2D_polar +/* BA5940 802411C0 E6200040 */ swc1 $f0, 0x40($s1) +/* BA5944 802411C4 862200A6 */ lh $v0, 0xa6($s1) +/* BA5948 802411C8 44820000 */ mtc1 $v0, $f0 +/* BA594C 802411CC 00000000 */ nop +/* BA5950 802411D0 46800020 */ cvt.s.w $f0, $f0 +/* BA5954 802411D4 4600A000 */ add.s $f0, $f20, $f0 +/* BA5958 802411D8 4406B000 */ mfc1 $a2, $f22 +/* BA595C 802411DC 44050000 */ mfc1 $a1, $f0 +/* BA5960 802411E0 0C00EA95 */ jal npc_move_heading +/* BA5964 802411E4 0220202D */ daddu $a0, $s1, $zero +/* BA5968 802411E8 8EC20088 */ lw $v0, 0x88($s6) +/* BA596C 802411EC 1440005D */ bnez $v0, .L80241364 +/* BA5970 802411F0 00000000 */ nop +/* BA5974 802411F4 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA5978 802411F8 3C018024 */ lui $at, 0x8024 +/* BA597C 802411FC D4245948 */ ldc1 $f4, 0x5948($at) +/* BA5980 80241200 46000021 */ cvt.d.s $f0, $f0 +/* BA5984 80241204 4620203C */ c.lt.d $f4, $f0 +/* BA5988 80241208 00000000 */ nop +/* BA598C 8024120C 45000005 */ bc1f .L80241224 +/* BA5990 80241210 00000000 */ nop +/* BA5994 80241214 3C0143BE */ lui $at, 0x43be +/* BA5998 80241218 44810000 */ mtc1 $at, $f0 +/* BA599C 8024121C 00000000 */ nop +/* BA59A0 80241220 E6200038 */ swc1 $f0, 0x38($s1) +.L80241224: +/* BA59A4 80241224 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA59A8 80241228 3C018024 */ lui $at, 0x8024 +/* BA59AC 8024122C D4225950 */ ldc1 $f2, 0x5950($at) +/* BA59B0 80241230 46000021 */ cvt.d.s $f0, $f0 +/* BA59B4 80241234 4622003C */ c.lt.d $f0, $f2 +/* BA59B8 80241238 00000000 */ nop +/* BA59BC 8024123C 45000005 */ bc1f .L80241254 +/* BA59C0 80241240 00000000 */ nop +/* BA59C4 80241244 3C01C3BE */ lui $at, 0xc3be +/* BA59C8 80241248 44810000 */ mtc1 $at, $f0 +/* BA59CC 8024124C 00000000 */ nop +/* BA59D0 80241250 E6200038 */ swc1 $f0, 0x38($s1) +.L80241254: +/* BA59D4 80241254 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA59D8 80241258 46000021 */ cvt.d.s $f0, $f0 +/* BA59DC 8024125C 4620203C */ c.lt.d $f4, $f0 +/* BA59E0 80241260 00000000 */ nop +/* BA59E4 80241264 45000005 */ bc1f .L8024127C +/* BA59E8 80241268 00000000 */ nop +/* BA59EC 8024126C 3C0143BE */ lui $at, 0x43be +/* BA59F0 80241270 44810000 */ mtc1 $at, $f0 +/* BA59F4 80241274 00000000 */ nop +/* BA59F8 80241278 E6200040 */ swc1 $f0, 0x40($s1) +.L8024127C: +/* BA59FC 8024127C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA5A00 80241280 46000021 */ cvt.d.s $f0, $f0 +/* BA5A04 80241284 4622003C */ c.lt.d $f0, $f2 +/* BA5A08 80241288 00000000 */ nop +/* BA5A0C 8024128C 45000005 */ bc1f .L802412A4 +/* BA5A10 80241290 00000000 */ nop +/* BA5A14 80241294 3C01C3BE */ lui $at, 0xc3be +/* BA5A18 80241298 44810000 */ mtc1 $at, $f0 +/* BA5A1C 8024129C 00000000 */ nop +/* BA5A20 802412A0 E6200040 */ swc1 $f0, 0x40($s1) +.L802412A4: +/* BA5A24 802412A4 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA5A28 802412A8 46021082 */ mul.s $f2, $f2, $f2 +/* BA5A2C 802412AC 00000000 */ nop +/* BA5A30 802412B0 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA5A34 802412B4 46000002 */ mul.s $f0, $f0, $f0 +/* BA5A38 802412B8 00000000 */ nop +/* BA5A3C 802412BC 46001300 */ add.s $f12, $f2, $f0 +/* BA5A40 802412C0 46006004 */ sqrt.s $f0, $f12 +/* BA5A44 802412C4 46000032 */ c.eq.s $f0, $f0 +/* BA5A48 802412C8 00000000 */ nop +/* BA5A4C 802412CC 45010003 */ bc1t .L802412DC +/* BA5A50 802412D0 00000000 */ nop +/* BA5A54 802412D4 0C0187BC */ jal sqrtf +/* BA5A58 802412D8 00000000 */ nop +.L802412DC: +/* BA5A5C 802412DC 8E260038 */ lw $a2, 0x38($s1) +/* BA5A60 802412E0 8E270040 */ lw $a3, 0x40($s1) +/* BA5A64 802412E4 4480A000 */ mtc1 $zero, $f20 +/* BA5A68 802412E8 E7A00038 */ swc1 $f0, 0x38($sp) +/* BA5A6C 802412EC 4600A306 */ mov.s $f12, $f20 +/* BA5A70 802412F0 0C00A720 */ jal atan2 +/* BA5A74 802412F4 4600A386 */ mov.s $f14, $f20 +/* BA5A78 802412F8 46000586 */ mov.s $f22, $f0 +/* BA5A7C 802412FC C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA5A80 80241300 3C018024 */ lui $at, 0x8024 +/* BA5A84 80241304 D4205958 */ ldc1 $f0, 0x5958($at) +/* BA5A88 80241308 460010A1 */ cvt.d.s $f2, $f2 +/* BA5A8C 8024130C 4620103C */ c.lt.d $f2, $f0 +/* BA5A90 80241310 00000000 */ nop +/* BA5A94 80241314 45000004 */ bc1f .L80241328 +/* BA5A98 80241318 0200202D */ daddu $a0, $s0, $zero +/* BA5A9C 8024131C 3C064398 */ lui $a2, 0x4398 +/* BA5AA0 80241320 080904D2 */ j .L80241348 +/* BA5AA4 80241324 34C68000 */ ori $a2, $a2, 0x8000 +.L80241328: +/* BA5AA8 80241328 3C018024 */ lui $at, 0x8024 +/* BA5AAC 8024132C D4205960 */ ldc1 $f0, 0x5960($at) +/* BA5AB0 80241330 4622003C */ c.lt.d $f0, $f2 +/* BA5AB4 80241334 00000000 */ nop +/* BA5AB8 80241338 450000FA */ bc1f .L80241724 +/* BA5ABC 8024133C 00000000 */ nop +/* BA5AC0 80241340 3C0643BB */ lui $a2, 0x43bb +/* BA5AC4 80241344 34C68000 */ ori $a2, $a2, 0x8000 +.L80241348: +/* BA5AC8 80241348 4407B000 */ mfc1 $a3, $f22 +/* BA5ACC 8024134C 0260282D */ daddu $a1, $s3, $zero +/* BA5AD0 80241350 E6340038 */ swc1 $f20, 0x38($s1) +/* BA5AD4 80241354 0C00A7E7 */ jal add_vec2D_polar +/* BA5AD8 80241358 E6340040 */ swc1 $f20, 0x40($s1) +/* BA5ADC 8024135C 080905C9 */ j .L80241724 +/* BA5AE0 80241360 00000000 */ nop +.L80241364: +/* BA5AE4 80241364 8E220000 */ lw $v0, ($s1) +/* BA5AE8 80241368 30420040 */ andi $v0, $v0, 0x40 +/* BA5AEC 8024136C 144000B0 */ bnez $v0, .L80241630 +/* BA5AF0 80241370 27A50020 */ addiu $a1, $sp, 0x20 +/* BA5AF4 80241374 27B40020 */ addiu $s4, $sp, 0x20 +/* BA5AF8 80241378 0280282D */ daddu $a1, $s4, $zero +/* BA5AFC 8024137C 27B30024 */ addiu $s3, $sp, 0x24 +/* BA5B00 80241380 8EA20000 */ lw $v0, ($s5) +/* BA5B04 80241384 3C014032 */ lui $at, 0x4032 +/* BA5B08 80241388 44811800 */ mtc1 $at, $f3 +/* BA5B0C 8024138C 44801000 */ mtc1 $zero, $f2 +/* BA5B10 80241390 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA5B14 80241394 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA5B18 80241398 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA5B1C 8024139C 46000021 */ cvt.d.s $f0, $f0 +/* BA5B20 802413A0 46220000 */ add.d $f0, $f0, $f2 +/* BA5B24 802413A4 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA5B28 802413A8 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA5B2C 802413AC 46200020 */ cvt.s.d $f0, $f0 +/* BA5B30 802413B0 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA5B34 802413B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA5B38 802413B8 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA5B3C 802413BC 862200A8 */ lh $v0, 0xa8($s1) +/* BA5B40 802413C0 0260302D */ daddu $a2, $s3, $zero +/* BA5B44 802413C4 44820000 */ mtc1 $v0, $f0 +/* BA5B48 802413C8 00000000 */ nop +/* BA5B4C 802413CC 46800020 */ cvt.s.w $f0, $f0 +/* BA5B50 802413D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA5B54 802413D4 862200A6 */ lh $v0, 0xa6($s1) +/* BA5B58 802413D8 27B00028 */ addiu $s0, $sp, 0x28 +/* BA5B5C 802413DC 44820000 */ mtc1 $v0, $f0 +/* BA5B60 802413E0 00000000 */ nop +/* BA5B64 802413E4 46800020 */ cvt.s.w $f0, $f0 +/* BA5B68 802413E8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA5B6C 802413EC 8E240080 */ lw $a0, 0x80($s1) +/* BA5B70 802413F0 0C037711 */ jal func_800DDC44 +/* BA5B74 802413F4 0200382D */ daddu $a3, $s0, $zero +/* BA5B78 802413F8 104000CA */ beqz $v0, .L80241724 +/* BA5B7C 802413FC 0280282D */ daddu $a1, $s4, $zero +/* BA5B80 80241400 8EA20000 */ lw $v0, ($s5) +/* BA5B84 80241404 3C018024 */ lui $at, 0x8024 +/* BA5B88 80241408 D4225968 */ ldc1 $f2, 0x5968($at) +/* BA5B8C 8024140C C440002C */ lwc1 $f0, 0x2c($v0) +/* BA5B90 80241410 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA5B94 80241414 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA5B98 80241418 46000021 */ cvt.d.s $f0, $f0 +/* BA5B9C 8024141C 46220000 */ add.d $f0, $f0, $f2 +/* BA5BA0 80241420 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA5BA4 80241424 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA5BA8 80241428 46200020 */ cvt.s.d $f0, $f0 +/* BA5BAC 8024142C E7A00024 */ swc1 $f0, 0x24($sp) +/* BA5BB0 80241430 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA5BB4 80241434 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA5BB8 80241438 862200A8 */ lh $v0, 0xa8($s1) +/* BA5BBC 8024143C 44820000 */ mtc1 $v0, $f0 +/* BA5BC0 80241440 00000000 */ nop +/* BA5BC4 80241444 46800020 */ cvt.s.w $f0, $f0 +/* BA5BC8 80241448 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA5BCC 8024144C 862200A6 */ lh $v0, 0xa6($s1) +/* BA5BD0 80241450 0260302D */ daddu $a2, $s3, $zero +/* BA5BD4 80241454 44820000 */ mtc1 $v0, $f0 +/* BA5BD8 80241458 00000000 */ nop +/* BA5BDC 8024145C 46800020 */ cvt.s.w $f0, $f0 +/* BA5BE0 80241460 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA5BE4 80241464 8E240080 */ lw $a0, 0x80($s1) +/* BA5BE8 80241468 0C037711 */ jal func_800DDC44 +/* BA5BEC 8024146C 0200382D */ daddu $a3, $s0, $zero +/* BA5BF0 80241470 27A5002C */ addiu $a1, $sp, 0x2c +/* BA5BF4 80241474 27A60030 */ addiu $a2, $sp, 0x30 +/* BA5BF8 80241478 27A70034 */ addiu $a3, $sp, 0x34 +/* BA5BFC 8024147C 27A30038 */ addiu $v1, $sp, 0x38 +/* BA5C00 80241480 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA5C04 80241484 C620003C */ lwc1 $f0, 0x3c($s1) +/* BA5C08 80241488 3C014348 */ lui $at, 0x4348 +/* BA5C0C 8024148C 44813000 */ mtc1 $at, $f6 +/* BA5C10 80241490 46000021 */ cvt.d.s $f0, $f0 +/* BA5C14 80241494 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BA5C18 80241498 3C014059 */ lui $at, 0x4059 +/* BA5C1C 8024149C 44811800 */ mtc1 $at, $f3 +/* BA5C20 802414A0 44801000 */ mtc1 $zero, $f2 +/* BA5C24 802414A4 C6240040 */ lwc1 $f4, 0x40($s1) +/* BA5C28 802414A8 46220000 */ add.d $f0, $f0, $f2 +/* BA5C2C 802414AC E7A60038 */ swc1 $f6, 0x38($sp) +/* BA5C30 802414B0 E7A40034 */ swc1 $f4, 0x34($sp) +/* BA5C34 802414B4 46200020 */ cvt.s.d $f0, $f0 +/* BA5C38 802414B8 E7A00030 */ swc1 $f0, 0x30($sp) +/* BA5C3C 802414BC AFA30010 */ sw $v1, 0x10($sp) +/* BA5C40 802414C0 8E240080 */ lw $a0, 0x80($s1) +/* BA5C44 802414C4 0C0372DF */ jal func_800DCB7C +/* BA5C48 802414C8 0040802D */ daddu $s0, $v0, $zero +/* BA5C4C 802414CC 1600001C */ bnez $s0, .L80241540 +/* BA5C50 802414D0 00000000 */ nop +/* BA5C54 802414D4 1040001A */ beqz $v0, .L80241540 +/* BA5C58 802414D8 00000000 */ nop +/* BA5C5C 802414DC C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA5C60 802414E0 3C014054 */ lui $at, 0x4054 +/* BA5C64 802414E4 44810800 */ mtc1 $at, $f1 +/* BA5C68 802414E8 44800000 */ mtc1 $zero, $f0 +/* BA5C6C 802414EC 460010A1 */ cvt.d.s $f2, $f2 +/* BA5C70 802414F0 4622003C */ c.lt.d $f0, $f2 +/* BA5C74 802414F4 00000000 */ nop +/* BA5C78 802414F8 45000011 */ bc1f .L80241540 +/* BA5C7C 802414FC 00000000 */ nop +/* BA5C80 80241500 3C01405E */ lui $at, 0x405e +/* BA5C84 80241504 44810800 */ mtc1 $at, $f1 +/* BA5C88 80241508 44800000 */ mtc1 $zero, $f0 +/* BA5C8C 8024150C 00000000 */ nop +/* BA5C90 80241510 4620103C */ c.lt.d $f2, $f0 +/* BA5C94 80241514 00000000 */ nop +/* BA5C98 80241518 45000009 */ bc1f .L80241540 +/* BA5C9C 8024151C 00000000 */ nop +/* BA5CA0 80241520 C622003C */ lwc1 $f2, 0x3c($s1) +/* BA5CA4 80241524 C7A00030 */ lwc1 $f0, 0x30($sp) +/* BA5CA8 80241528 46001032 */ c.eq.s $f2, $f0 +/* BA5CAC 8024152C 00000000 */ nop +/* BA5CB0 80241530 45010003 */ bc1t .L80241540 +/* BA5CB4 80241534 00000000 */ nop +/* BA5CB8 80241538 080905C9 */ j .L80241724 +/* BA5CBC 8024153C 241E0001 */ addiu $fp, $zero, 1 +.L80241540: +/* BA5CC0 80241540 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* BA5CC4 80241544 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* BA5CC8 80241548 8E020000 */ lw $v0, ($s0) +/* BA5CCC 8024154C 3C014024 */ lui $at, 0x4024 +/* BA5CD0 80241550 44811800 */ mtc1 $at, $f3 +/* BA5CD4 80241554 44801000 */ mtc1 $zero, $f2 +/* BA5CD8 80241558 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA5CDC 8024155C C4460028 */ lwc1 $f6, 0x28($v0) +/* BA5CE0 80241560 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA5CE4 80241564 46000021 */ cvt.d.s $f0, $f0 +/* BA5CE8 80241568 46220000 */ add.d $f0, $f0, $f2 +/* BA5CEC 8024156C E7A60020 */ swc1 $f6, 0x20($sp) +/* BA5CF0 80241570 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA5CF4 80241574 46200020 */ cvt.s.d $f0, $f0 +/* BA5CF8 80241578 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA5CFC 8024157C E7B40010 */ swc1 $f20, 0x10($sp) +/* BA5D00 80241580 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA5D04 80241584 862200A8 */ lh $v0, 0xa8($s1) +/* BA5D08 80241588 27A50020 */ addiu $a1, $sp, 0x20 +/* BA5D0C 8024158C 44820000 */ mtc1 $v0, $f0 +/* BA5D10 80241590 00000000 */ nop +/* BA5D14 80241594 46800020 */ cvt.s.w $f0, $f0 +/* BA5D18 80241598 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA5D1C 8024159C 862200A6 */ lh $v0, 0xa6($s1) +/* BA5D20 802415A0 27A60024 */ addiu $a2, $sp, 0x24 +/* BA5D24 802415A4 44820000 */ mtc1 $v0, $f0 +/* BA5D28 802415A8 00000000 */ nop +/* BA5D2C 802415AC 46800020 */ cvt.s.w $f0, $f0 +/* BA5D30 802415B0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA5D34 802415B4 8E240080 */ lw $a0, 0x80($s1) +/* BA5D38 802415B8 0C037711 */ jal func_800DDC44 +/* BA5D3C 802415BC 27A70028 */ addiu $a3, $sp, 0x28 +/* BA5D40 802415C0 8FA60020 */ lw $a2, 0x20($sp) +/* BA5D44 802415C4 8E020000 */ lw $v0, ($s0) +/* BA5D48 802415C8 8FA70028 */ lw $a3, 0x28($sp) +/* BA5D4C 802415CC C44C0028 */ lwc1 $f12, 0x28($v0) +/* BA5D50 802415D0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BA5D54 802415D4 0C00A7B5 */ jal dist2D +/* BA5D58 802415D8 24170001 */ addiu $s7, $zero, 1 +/* BA5D5C 802415DC 46000506 */ mov.s $f20, $f0 +/* BA5D60 802415E0 8E030000 */ lw $v1, ($s0) +/* BA5D64 802415E4 862200A6 */ lh $v0, 0xa6($s1) +/* BA5D68 802415E8 4407C000 */ mfc1 $a3, $f24 +/* BA5D6C 802415EC 44824000 */ mtc1 $v0, $f8 +/* BA5D70 802415F0 00000000 */ nop +/* BA5D74 802415F4 46804220 */ cvt.s.w $f8, $f8 +/* BA5D78 802415F8 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA5D7C 802415FC 44064000 */ mfc1 $a2, $f8 +/* BA5D80 80241600 26240038 */ addiu $a0, $s1, 0x38 +/* BA5D84 80241604 E6200038 */ swc1 $f0, 0x38($s1) +/* BA5D88 80241608 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA5D8C 8024160C 26250040 */ addiu $a1, $s1, 0x40 +/* BA5D90 80241610 0C00A7E7 */ jal add_vec2D_polar +/* BA5D94 80241614 E6200040 */ swc1 $f0, 0x40($s1) +/* BA5D98 80241618 862200A6 */ lh $v0, 0xa6($s1) +/* BA5D9C 8024161C 44820000 */ mtc1 $v0, $f0 +/* BA5DA0 80241620 00000000 */ nop +/* BA5DA4 80241624 46800020 */ cvt.s.w $f0, $f0 +/* BA5DA8 80241628 080905C5 */ j .L80241714 +/* BA5DAC 8024162C 4600A500 */ add.s $f20, $f20, $f0 +.L80241630: +/* BA5DB0 80241630 8EA20000 */ lw $v0, ($s5) +/* BA5DB4 80241634 3C014032 */ lui $at, 0x4032 +/* BA5DB8 80241638 44811800 */ mtc1 $at, $f3 +/* BA5DBC 8024163C 44801000 */ mtc1 $zero, $f2 +/* BA5DC0 80241640 C440002C */ lwc1 $f0, 0x2c($v0) +/* BA5DC4 80241644 C4460028 */ lwc1 $f6, 0x28($v0) +/* BA5DC8 80241648 C4440030 */ lwc1 $f4, 0x30($v0) +/* BA5DCC 8024164C 46000021 */ cvt.d.s $f0, $f0 +/* BA5DD0 80241650 46220000 */ add.d $f0, $f0, $f2 +/* BA5DD4 80241654 E7A60020 */ swc1 $f6, 0x20($sp) +/* BA5DD8 80241658 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA5DDC 8024165C 46200020 */ cvt.s.d $f0, $f0 +/* BA5DE0 80241660 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA5DE4 80241664 E7B40010 */ swc1 $f20, 0x10($sp) +/* BA5DE8 80241668 E7B60014 */ swc1 $f22, 0x14($sp) +/* BA5DEC 8024166C 862200A8 */ lh $v0, 0xa8($s1) +/* BA5DF0 80241670 44820000 */ mtc1 $v0, $f0 +/* BA5DF4 80241674 00000000 */ nop +/* BA5DF8 80241678 46800020 */ cvt.s.w $f0, $f0 +/* BA5DFC 8024167C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA5E00 80241680 862200A6 */ lh $v0, 0xa6($s1) +/* BA5E04 80241684 27A60024 */ addiu $a2, $sp, 0x24 +/* BA5E08 80241688 44820000 */ mtc1 $v0, $f0 +/* BA5E0C 8024168C 00000000 */ nop +/* BA5E10 80241690 46800020 */ cvt.s.w $f0, $f0 +/* BA5E14 80241694 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA5E18 80241698 8E240080 */ lw $a0, 0x80($s1) +/* BA5E1C 8024169C 0C037711 */ jal func_800DDC44 +/* BA5E20 802416A0 27A70028 */ addiu $a3, $sp, 0x28 +/* BA5E24 802416A4 1040001F */ beqz $v0, .L80241724 +/* BA5E28 802416A8 00000000 */ nop +/* BA5E2C 802416AC 8FA60020 */ lw $a2, 0x20($sp) +/* BA5E30 802416B0 8EA20000 */ lw $v0, ($s5) +/* BA5E34 802416B4 8FA70028 */ lw $a3, 0x28($sp) +/* BA5E38 802416B8 C44C0028 */ lwc1 $f12, 0x28($v0) +/* BA5E3C 802416BC 0C00A7B5 */ jal dist2D +/* BA5E40 802416C0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BA5E44 802416C4 46000506 */ mov.s $f20, $f0 +/* BA5E48 802416C8 8EA30000 */ lw $v1, ($s5) +/* BA5E4C 802416CC 862200A6 */ lh $v0, 0xa6($s1) +/* BA5E50 802416D0 4407C000 */ mfc1 $a3, $f24 +/* BA5E54 802416D4 44824000 */ mtc1 $v0, $f8 +/* BA5E58 802416D8 00000000 */ nop +/* BA5E5C 802416DC 46804220 */ cvt.s.w $f8, $f8 +/* BA5E60 802416E0 C4600028 */ lwc1 $f0, 0x28($v1) +/* BA5E64 802416E4 44064000 */ mfc1 $a2, $f8 +/* BA5E68 802416E8 0200202D */ daddu $a0, $s0, $zero +/* BA5E6C 802416EC E6200038 */ swc1 $f0, 0x38($s1) +/* BA5E70 802416F0 C4600030 */ lwc1 $f0, 0x30($v1) +/* BA5E74 802416F4 0260282D */ daddu $a1, $s3, $zero +/* BA5E78 802416F8 0C00A7E7 */ jal add_vec2D_polar +/* BA5E7C 802416FC E6200040 */ swc1 $f0, 0x40($s1) +/* BA5E80 80241700 862200A6 */ lh $v0, 0xa6($s1) +/* BA5E84 80241704 44820000 */ mtc1 $v0, $f0 +/* BA5E88 80241708 00000000 */ nop +/* BA5E8C 8024170C 46800020 */ cvt.s.w $f0, $f0 +/* BA5E90 80241710 4600A500 */ add.s $f20, $f20, $f0 +.L80241714: +/* BA5E94 80241714 4406B000 */ mfc1 $a2, $f22 +/* BA5E98 80241718 4405A000 */ mfc1 $a1, $f20 +/* BA5E9C 8024171C 0C00EA95 */ jal npc_move_heading +/* BA5EA0 80241720 0220202D */ daddu $a0, $s1, $zero +.L80241724: +/* BA5EA4 80241724 C6400008 */ lwc1 $f0, 8($s2) +/* BA5EA8 80241728 46800020 */ cvt.s.w $f0, $f0 +/* BA5EAC 8024172C 44050000 */ mfc1 $a1, $f0 +/* BA5EB0 80241730 C640000C */ lwc1 $f0, 0xc($s2) +/* BA5EB4 80241734 46800020 */ cvt.s.w $f0, $f0 +/* BA5EB8 80241738 44060000 */ mfc1 $a2, $f0 +/* BA5EBC 8024173C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA5EC0 80241740 26300038 */ addiu $s0, $s1, 0x38 +/* BA5EC4 80241744 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA5EC8 80241748 C6400010 */ lwc1 $f0, 0x10($s2) +/* BA5ECC 8024174C 46800020 */ cvt.s.w $f0, $f0 +/* BA5ED0 80241750 E7A00014 */ swc1 $f0, 0x14($sp) +/* BA5ED4 80241754 C6400014 */ lwc1 $f0, 0x14($s2) +/* BA5ED8 80241758 46800020 */ cvt.s.w $f0, $f0 +/* BA5EDC 8024175C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA5EE0 80241760 8E440004 */ lw $a0, 4($s2) +/* BA5EE4 80241764 8E270038 */ lw $a3, 0x38($s1) +/* BA5EE8 80241768 0C0123F5 */ jal is_point_within_region +/* BA5EEC 8024176C 26330040 */ addiu $s3, $s1, 0x40 +/* BA5EF0 80241770 1040005A */ beqz $v0, .L802418DC +/* BA5EF4 80241774 00000000 */ nop +/* BA5EF8 80241778 8E430004 */ lw $v1, 4($s2) +/* BA5EFC 8024177C 10600005 */ beqz $v1, .L80241794 +/* BA5F00 80241780 24020001 */ addiu $v0, $zero, 1 +/* BA5F04 80241784 10620029 */ beq $v1, $v0, .L8024182C +/* BA5F08 80241788 00000000 */ nop +/* BA5F0C 8024178C 08090637 */ j .L802418DC +/* BA5F10 80241790 00000000 */ nop +.L80241794: +/* BA5F14 80241794 C6480008 */ lwc1 $f8, 8($s2) +/* BA5F18 80241798 46804220 */ cvt.s.w $f8, $f8 +/* BA5F1C 8024179C 44064000 */ mfc1 $a2, $f8 +/* BA5F20 802417A0 C648000C */ lwc1 $f8, 0xc($s2) +/* BA5F24 802417A4 46804220 */ cvt.s.w $f8, $f8 +/* BA5F28 802417A8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BA5F2C 802417AC C62E0040 */ lwc1 $f14, 0x40($s1) +/* BA5F30 802417B0 44074000 */ mfc1 $a3, $f8 +/* BA5F34 802417B4 0C00A7B5 */ jal dist2D +/* BA5F38 802417B8 00000000 */ nop +/* BA5F3C 802417BC C6420010 */ lwc1 $f2, 0x10($s2) +/* BA5F40 802417C0 468010A0 */ cvt.s.w $f2, $f2 +/* BA5F44 802417C4 4600103C */ c.lt.s $f2, $f0 +/* BA5F48 802417C8 00000000 */ nop +/* BA5F4C 802417CC 45000043 */ bc1f .L802418DC +/* BA5F50 802417D0 E7A00038 */ swc1 $f0, 0x38($sp) +/* BA5F54 802417D4 C64C0008 */ lwc1 $f12, 8($s2) +/* BA5F58 802417D8 46806320 */ cvt.s.w $f12, $f12 +/* BA5F5C 802417DC 8E260038 */ lw $a2, 0x38($s1) +/* BA5F60 802417E0 8E270040 */ lw $a3, 0x40($s1) +/* BA5F64 802417E4 C64E000C */ lwc1 $f14, 0xc($s2) +/* BA5F68 802417E8 0C00A720 */ jal atan2 +/* BA5F6C 802417EC 468073A0 */ cvt.s.w $f14, $f14 +/* BA5F70 802417F0 0200202D */ daddu $a0, $s0, $zero +/* BA5F74 802417F4 44070000 */ mfc1 $a3, $f0 +/* BA5F78 802417F8 C6400008 */ lwc1 $f0, 8($s2) +/* BA5F7C 802417FC 46800020 */ cvt.s.w $f0, $f0 +/* BA5F80 80241800 E6200038 */ swc1 $f0, 0x38($s1) +/* BA5F84 80241804 C640000C */ lwc1 $f0, 0xc($s2) +/* BA5F88 80241808 46800020 */ cvt.s.w $f0, $f0 +/* BA5F8C 8024180C E6200040 */ swc1 $f0, 0x40($s1) +/* BA5F90 80241810 C6480010 */ lwc1 $f8, 0x10($s2) +/* BA5F94 80241814 46804220 */ cvt.s.w $f8, $f8 +/* BA5F98 80241818 44064000 */ mfc1 $a2, $f8 +/* BA5F9C 8024181C 0C00A7E7 */ jal add_vec2D_polar +/* BA5FA0 80241820 0260282D */ daddu $a1, $s3, $zero +/* BA5FA4 80241824 08090637 */ j .L802418DC +/* BA5FA8 80241828 00000000 */ nop +.L8024182C: +/* BA5FAC 8024182C 8E420008 */ lw $v0, 8($s2) +/* BA5FB0 80241830 8E430010 */ lw $v1, 0x10($s2) +/* BA5FB4 80241834 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA5FB8 80241838 00431021 */ addu $v0, $v0, $v1 +/* BA5FBC 8024183C 44821000 */ mtc1 $v0, $f2 +/* BA5FC0 80241840 00000000 */ nop +/* BA5FC4 80241844 468010A0 */ cvt.s.w $f2, $f2 +/* BA5FC8 80241848 4600103C */ c.lt.s $f2, $f0 +/* BA5FCC 8024184C 00000000 */ nop +/* BA5FD0 80241850 45030001 */ bc1tl .L80241858 +/* BA5FD4 80241854 E6220038 */ swc1 $f2, 0x38($s1) +.L80241858: +/* BA5FD8 80241858 8E420008 */ lw $v0, 8($s2) +/* BA5FDC 8024185C 8E430010 */ lw $v1, 0x10($s2) +/* BA5FE0 80241860 C6200038 */ lwc1 $f0, 0x38($s1) +/* BA5FE4 80241864 00431023 */ subu $v0, $v0, $v1 +/* BA5FE8 80241868 44821000 */ mtc1 $v0, $f2 +/* BA5FEC 8024186C 00000000 */ nop +/* BA5FF0 80241870 468010A0 */ cvt.s.w $f2, $f2 +/* BA5FF4 80241874 4602003C */ c.lt.s $f0, $f2 +/* BA5FF8 80241878 00000000 */ nop +/* BA5FFC 8024187C 45030001 */ bc1tl .L80241884 +/* BA6000 80241880 E6220038 */ swc1 $f2, 0x38($s1) +.L80241884: +/* BA6004 80241884 8E42000C */ lw $v0, 0xc($s2) +/* BA6008 80241888 8E430014 */ lw $v1, 0x14($s2) +/* BA600C 8024188C C6200040 */ lwc1 $f0, 0x40($s1) +/* BA6010 80241890 00431021 */ addu $v0, $v0, $v1 +/* BA6014 80241894 44821000 */ mtc1 $v0, $f2 +/* BA6018 80241898 00000000 */ nop +/* BA601C 8024189C 468010A0 */ cvt.s.w $f2, $f2 +/* BA6020 802418A0 4600103C */ c.lt.s $f2, $f0 +/* BA6024 802418A4 00000000 */ nop +/* BA6028 802418A8 45030001 */ bc1tl .L802418B0 +/* BA602C 802418AC E6220040 */ swc1 $f2, 0x40($s1) +.L802418B0: +/* BA6030 802418B0 8E42000C */ lw $v0, 0xc($s2) +/* BA6034 802418B4 8E430014 */ lw $v1, 0x14($s2) +/* BA6038 802418B8 C6200040 */ lwc1 $f0, 0x40($s1) +/* BA603C 802418BC 00431023 */ subu $v0, $v0, $v1 +/* BA6040 802418C0 44821000 */ mtc1 $v0, $f2 +/* BA6044 802418C4 00000000 */ nop +/* BA6048 802418C8 468010A0 */ cvt.s.w $f2, $f2 +/* BA604C 802418CC 4602003C */ c.lt.s $f0, $f2 +/* BA6050 802418D0 00000000 */ nop +/* BA6054 802418D4 45030001 */ bc1tl .L802418DC +/* BA6058 802418D8 E6220040 */ swc1 $f2, 0x40($s1) +.L802418DC: +/* BA605C 802418DC 16E0001F */ bnez $s7, .L8024195C +/* BA6060 802418E0 00000000 */ nop +/* BA6064 802418E4 8E220000 */ lw $v0, ($s1) +/* BA6068 802418E8 30420008 */ andi $v0, $v0, 8 +/* BA606C 802418EC 10400003 */ beqz $v0, .L802418FC +/* BA6070 802418F0 27A50020 */ addiu $a1, $sp, 0x20 +/* BA6074 802418F4 13C00019 */ beqz $fp, .L8024195C +/* BA6078 802418F8 00000000 */ nop +.L802418FC: +/* BA607C 802418FC 27A60024 */ addiu $a2, $sp, 0x24 +/* BA6080 80241900 27A20038 */ addiu $v0, $sp, 0x38 +/* BA6084 80241904 C6220038 */ lwc1 $f2, 0x38($s1) +/* BA6088 80241908 C620003C */ lwc1 $f0, 0x3c($s1) +/* BA608C 8024190C 3C0143C8 */ lui $at, 0x43c8 +/* BA6090 80241910 44813000 */ mtc1 $at, $f6 +/* BA6094 80241914 46000021 */ cvt.d.s $f0, $f0 +/* BA6098 80241918 E7A20020 */ swc1 $f2, 0x20($sp) +/* BA609C 8024191C 3C018024 */ lui $at, 0x8024 +/* BA60A0 80241920 D4225970 */ ldc1 $f2, 0x5970($at) +/* BA60A4 80241924 C6240040 */ lwc1 $f4, 0x40($s1) +/* BA60A8 80241928 46220000 */ add.d $f0, $f0, $f2 +/* BA60AC 8024192C E7A60038 */ swc1 $f6, 0x38($sp) +/* BA60B0 80241930 E7A40028 */ swc1 $f4, 0x28($sp) +/* BA60B4 80241934 46200020 */ cvt.s.d $f0, $f0 +/* BA60B8 80241938 E7A00024 */ swc1 $f0, 0x24($sp) +/* BA60BC 8024193C AFA20010 */ sw $v0, 0x10($sp) +/* BA60C0 80241940 8E240080 */ lw $a0, 0x80($s1) +/* BA60C4 80241944 0C0372DF */ jal func_800DCB7C +/* BA60C8 80241948 27A70028 */ addiu $a3, $sp, 0x28 +/* BA60CC 8024194C 10400003 */ beqz $v0, .L8024195C +/* BA60D0 80241950 00000000 */ nop +/* BA60D4 80241954 C7A00024 */ lwc1 $f0, 0x24($sp) +/* BA60D8 80241958 E620003C */ swc1 $f0, 0x3c($s1) +.L8024195C: +/* BA60DC 8024195C C62C0038 */ lwc1 $f12, 0x38($s1) +/* BA60E0 80241960 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA60E4 80241964 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA60E8 80241968 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BA60EC 8024196C 8C460028 */ lw $a2, 0x28($v0) +/* BA60F0 80241970 0C00A720 */ jal atan2 +/* BA60F4 80241974 8C470030 */ lw $a3, 0x30($v0) +/* BA60F8 80241978 0220202D */ daddu $a0, $s1, $zero +/* BA60FC 8024197C 24050321 */ addiu $a1, $zero, 0x321 +/* BA6100 80241980 0000302D */ daddu $a2, $zero, $zero +/* BA6104 80241984 0C012530 */ jal func_800494C0 +/* BA6108 80241988 E620000C */ swc1 $f0, 0xc($s1) +/* BA610C 8024198C 8EC200CC */ lw $v0, 0xcc($s6) +/* BA6110 80241990 8C420024 */ lw $v0, 0x24($v0) +/* BA6114 80241994 AE220028 */ sw $v0, 0x28($s1) +/* BA6118 80241998 96C20096 */ lhu $v0, 0x96($s6) +/* BA611C 8024199C A622008E */ sh $v0, 0x8e($s1) +/* BA6120 802419A0 8FA80080 */ lw $t0, 0x80($sp) +/* BA6124 802419A4 2402000B */ addiu $v0, $zero, 0xb +/* BA6128 802419A8 AD020070 */ sw $v0, 0x70($t0) +.L802419AC: +/* BA612C 802419AC 8FBF0064 */ lw $ra, 0x64($sp) +/* BA6130 802419B0 8FBE0060 */ lw $fp, 0x60($sp) +/* BA6134 802419B4 8FB7005C */ lw $s7, 0x5c($sp) +/* BA6138 802419B8 8FB60058 */ lw $s6, 0x58($sp) +/* BA613C 802419BC 8FB50054 */ lw $s5, 0x54($sp) +/* BA6140 802419C0 8FB40050 */ lw $s4, 0x50($sp) +/* BA6144 802419C4 8FB3004C */ lw $s3, 0x4c($sp) +/* BA6148 802419C8 8FB20048 */ lw $s2, 0x48($sp) +/* BA614C 802419CC 8FB10044 */ lw $s1, 0x44($sp) +/* BA6150 802419D0 8FB00040 */ lw $s0, 0x40($sp) +/* BA6154 802419D4 D7B80078 */ ldc1 $f24, 0x78($sp) +/* BA6158 802419D8 D7B60070 */ ldc1 $f22, 0x70($sp) +/* BA615C 802419DC D7B40068 */ ldc1 $f20, 0x68($sp) +/* BA6160 802419E0 03E00008 */ jr $ra +/* BA6164 802419E4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802419E8_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802419E8_BA4780.s new file mode 100644 index 0000000000..fe0640254c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802419E8_BA4780.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419E8_BA6168 +/* BA6168 802419E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA616C 802419EC AFB10014 */ sw $s1, 0x14($sp) +/* BA6170 802419F0 0080882D */ daddu $s1, $a0, $zero +/* BA6174 802419F4 AFBF0018 */ sw $ra, 0x18($sp) +/* BA6178 802419F8 AFB00010 */ sw $s0, 0x10($sp) +/* BA617C 802419FC 8E300148 */ lw $s0, 0x148($s1) +/* BA6180 80241A00 0C00EABB */ jal get_npc_unsafe +/* BA6184 80241A04 86040008 */ lh $a0, 8($s0) +/* BA6188 80241A08 0040202D */ daddu $a0, $v0, $zero +/* BA618C 80241A0C 9482008E */ lhu $v0, 0x8e($a0) +/* BA6190 80241A10 2442FFFF */ addiu $v0, $v0, -1 +/* BA6194 80241A14 A482008E */ sh $v0, 0x8e($a0) +/* BA6198 80241A18 00021400 */ sll $v0, $v0, 0x10 +/* BA619C 80241A1C 8E030098 */ lw $v1, 0x98($s0) +/* BA61A0 80241A20 00021403 */ sra $v0, $v0, 0x10 +/* BA61A4 80241A24 0062182A */ slt $v1, $v1, $v0 +/* BA61A8 80241A28 14600005 */ bnez $v1, .L80241A40 +/* BA61AC 80241A2C 3C03E0EF */ lui $v1, 0xe0ef +/* BA61B0 80241A30 8E020000 */ lw $v0, ($s0) +/* BA61B4 80241A34 3463FFFF */ ori $v1, $v1, 0xffff +/* BA61B8 80241A38 00431024 */ and $v0, $v0, $v1 +/* BA61BC 80241A3C AE020000 */ sw $v0, ($s0) +.L80241A40: +/* BA61C0 80241A40 8482008E */ lh $v0, 0x8e($a0) +/* BA61C4 80241A44 14400007 */ bnez $v0, .L80241A64 +/* BA61C8 80241A48 00000000 */ nop +/* BA61CC 80241A4C 8E0200CC */ lw $v0, 0xcc($s0) +/* BA61D0 80241A50 8C420028 */ lw $v0, 0x28($v0) +/* BA61D4 80241A54 A480008E */ sh $zero, 0x8e($a0) +/* BA61D8 80241A58 AC820028 */ sw $v0, 0x28($a0) +/* BA61DC 80241A5C 2402000C */ addiu $v0, $zero, 0xc +/* BA61E0 80241A60 AE220070 */ sw $v0, 0x70($s1) +.L80241A64: +/* BA61E4 80241A64 8FBF0018 */ lw $ra, 0x18($sp) +/* BA61E8 80241A68 8FB10014 */ lw $s1, 0x14($sp) +/* BA61EC 80241A6C 8FB00010 */ lw $s0, 0x10($sp) +/* BA61F0 80241A70 03E00008 */ jr $ra +/* BA61F4 80241A74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80241A78.s b/asm/nonmatchings/world/area_mim/mim_06/func_80241A78.s new file mode 100644 index 0000000000..1db9412b6d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80241A78.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A78 +/* BA61F8 80241A78 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BA61FC 80241A7C AFB10034 */ sw $s1, 0x34($sp) +/* BA6200 80241A80 0080882D */ daddu $s1, $a0, $zero +/* BA6204 80241A84 AFBF0038 */ sw $ra, 0x38($sp) +/* BA6208 80241A88 AFB00030 */ sw $s0, 0x30($sp) +/* BA620C 80241A8C 8E300148 */ lw $s0, 0x148($s1) +/* BA6210 80241A90 0C00EABB */ jal get_npc_unsafe +/* BA6214 80241A94 86040008 */ lh $a0, 8($s0) +/* BA6218 80241A98 0040282D */ daddu $a1, $v0, $zero +/* BA621C 80241A9C 94A2008E */ lhu $v0, 0x8e($a1) +/* BA6220 80241AA0 24420001 */ addiu $v0, $v0, 1 +/* BA6224 80241AA4 A4A2008E */ sh $v0, 0x8e($a1) +/* BA6228 80241AA8 00021400 */ sll $v0, $v0, 0x10 +/* BA622C 80241AAC 8E0300A0 */ lw $v1, 0xa0($s0) +/* BA6230 80241AB0 00021403 */ sra $v0, $v0, 0x10 +/* BA6234 80241AB4 14430004 */ bne $v0, $v1, .L80241AC8 +/* BA6238 80241AB8 00000000 */ nop +/* BA623C 80241ABC 8E0200CC */ lw $v0, 0xcc($s0) +/* BA6240 80241AC0 8C42002C */ lw $v0, 0x2c($v0) +/* BA6244 80241AC4 ACA20028 */ sw $v0, 0x28($a1) +.L80241AC8: +/* BA6248 80241AC8 84A3008E */ lh $v1, 0x8e($a1) +/* BA624C 80241ACC 8E0200A4 */ lw $v0, 0xa4($s0) +/* BA6250 80241AD0 14620002 */ bne $v1, $v0, .L80241ADC +/* BA6254 80241AD4 24020003 */ addiu $v0, $zero, 3 +/* BA6258 80241AD8 AE02006C */ sw $v0, 0x6c($s0) +.L80241ADC: +/* BA625C 80241ADC 84A2008E */ lh $v0, 0x8e($a1) +/* BA6260 80241AE0 8E03009C */ lw $v1, 0x9c($s0) +/* BA6264 80241AE4 0043102A */ slt $v0, $v0, $v1 +/* BA6268 80241AE8 1440001E */ bnez $v0, .L80241B64 +/* BA626C 80241AEC 24020004 */ addiu $v0, $zero, 4 +/* BA6270 80241AF0 AE02006C */ sw $v0, 0x6c($s0) +/* BA6274 80241AF4 24020008 */ addiu $v0, $zero, 8 +/* BA6278 80241AF8 24040003 */ addiu $a0, $zero, 3 +/* BA627C 80241AFC A4A2008E */ sh $v0, 0x8e($a1) +/* BA6280 80241B00 8E0200CC */ lw $v0, 0xcc($s0) +/* BA6284 80241B04 84A300A8 */ lh $v1, 0xa8($a1) +/* BA6288 80241B08 3C013F80 */ lui $at, 0x3f80 +/* BA628C 80241B0C 44810000 */ mtc1 $at, $f0 +/* BA6290 80241B10 3C014000 */ lui $at, 0x4000 +/* BA6294 80241B14 44811000 */ mtc1 $at, $f2 +/* BA6298 80241B18 3C01C1A0 */ lui $at, 0xc1a0 +/* BA629C 80241B1C 44812000 */ mtc1 $at, $f4 +/* BA62A0 80241B20 44833000 */ mtc1 $v1, $f6 +/* BA62A4 80241B24 00000000 */ nop +/* BA62A8 80241B28 468031A0 */ cvt.s.w $f6, $f6 +/* BA62AC 80241B2C 8C420000 */ lw $v0, ($v0) +/* BA62B0 80241B30 44073000 */ mfc1 $a3, $f6 +/* BA62B4 80241B34 0000302D */ daddu $a2, $zero, $zero +/* BA62B8 80241B38 ACA20028 */ sw $v0, 0x28($a1) +/* BA62BC 80241B3C 2402000A */ addiu $v0, $zero, 0xa +/* BA62C0 80241B40 AFA2001C */ sw $v0, 0x1c($sp) +/* BA62C4 80241B44 27A20028 */ addiu $v0, $sp, 0x28 +/* BA62C8 80241B48 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA62CC 80241B4C E7A20014 */ swc1 $f2, 0x14($sp) +/* BA62D0 80241B50 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA62D4 80241B54 0C01BFA4 */ jal fx_emote +/* BA62D8 80241B58 AFA20020 */ sw $v0, 0x20($sp) +/* BA62DC 80241B5C 2402000D */ addiu $v0, $zero, 0xd +/* BA62E0 80241B60 AE220070 */ sw $v0, 0x70($s1) +.L80241B64: +/* BA62E4 80241B64 8FBF0038 */ lw $ra, 0x38($sp) +/* BA62E8 80241B68 8FB10034 */ lw $s1, 0x34($sp) +/* BA62EC 80241B6C 8FB00030 */ lw $s0, 0x30($sp) +/* BA62F0 80241B70 03E00008 */ jr $ra +/* BA62F4 80241B74 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80241B78.s b/asm/nonmatchings/world/area_mim/mim_06/func_80241B78.s new file mode 100644 index 0000000000..aa7bddfa47 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80241B78.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B78 +/* BA62F8 80241B78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA62FC 80241B7C AFB10014 */ sw $s1, 0x14($sp) +/* BA6300 80241B80 0080882D */ daddu $s1, $a0, $zero +/* BA6304 80241B84 AFBF0018 */ sw $ra, 0x18($sp) +/* BA6308 80241B88 AFB00010 */ sw $s0, 0x10($sp) +/* BA630C 80241B8C 8E300148 */ lw $s0, 0x148($s1) +/* BA6310 80241B90 0C00EABB */ jal get_npc_unsafe +/* BA6314 80241B94 86040008 */ lh $a0, 8($s0) +/* BA6318 80241B98 0040182D */ daddu $v1, $v0, $zero +/* BA631C 80241B9C 9462008E */ lhu $v0, 0x8e($v1) +/* BA6320 80241BA0 2442FFFF */ addiu $v0, $v0, -1 +/* BA6324 80241BA4 A462008E */ sh $v0, 0x8e($v1) +/* BA6328 80241BA8 00021400 */ sll $v0, $v0, 0x10 +/* BA632C 80241BAC 14400005 */ bnez $v0, .L80241BC4 +/* BA6330 80241BB0 00000000 */ nop +/* BA6334 80241BB4 960200AA */ lhu $v0, 0xaa($s0) +/* BA6338 80241BB8 A462008E */ sh $v0, 0x8e($v1) +/* BA633C 80241BBC 2402000E */ addiu $v0, $zero, 0xe +/* BA6340 80241BC0 AE220070 */ sw $v0, 0x70($s1) +.L80241BC4: +/* BA6344 80241BC4 8FBF0018 */ lw $ra, 0x18($sp) +/* BA6348 80241BC8 8FB10014 */ lw $s1, 0x14($sp) +/* BA634C 80241BCC 8FB00010 */ lw $s0, 0x10($sp) +/* BA6350 80241BD0 03E00008 */ jr $ra +/* BA6354 80241BD4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80241BD8_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80241BD8_BA4780.s new file mode 100644 index 0000000000..2f5af832ba --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80241BD8_BA4780.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BD8_BA6358 +/* BA6358 80241BD8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BA635C 80241BDC AFB40040 */ sw $s4, 0x40($sp) +/* BA6360 80241BE0 0080A02D */ daddu $s4, $a0, $zero +/* BA6364 80241BE4 AFBF0044 */ sw $ra, 0x44($sp) +/* BA6368 80241BE8 AFB3003C */ sw $s3, 0x3c($sp) +/* BA636C 80241BEC AFB20038 */ sw $s2, 0x38($sp) +/* BA6370 80241BF0 AFB10034 */ sw $s1, 0x34($sp) +/* BA6374 80241BF4 AFB00030 */ sw $s0, 0x30($sp) +/* BA6378 80241BF8 8E910148 */ lw $s1, 0x148($s4) +/* BA637C 80241BFC 00A0902D */ daddu $s2, $a1, $zero +/* BA6380 80241C00 86240008 */ lh $a0, 8($s1) +/* BA6384 80241C04 0C00EABB */ jal get_npc_unsafe +/* BA6388 80241C08 00C0982D */ daddu $s3, $a2, $zero +/* BA638C 80241C0C 0040802D */ daddu $s0, $v0, $zero +/* BA6390 80241C10 9602008E */ lhu $v0, 0x8e($s0) +/* BA6394 80241C14 2442FFFF */ addiu $v0, $v0, -1 +/* BA6398 80241C18 A602008E */ sh $v0, 0x8e($s0) +/* BA639C 80241C1C 00021400 */ sll $v0, $v0, 0x10 +/* BA63A0 80241C20 14400020 */ bnez $v0, .L80241CA4 +/* BA63A4 80241C24 0260202D */ daddu $a0, $s3, $zero +/* BA63A8 80241C28 AFA00010 */ sw $zero, 0x10($sp) +/* BA63AC 80241C2C 8E46000C */ lw $a2, 0xc($s2) +/* BA63B0 80241C30 8E470010 */ lw $a3, 0x10($s2) +/* BA63B4 80241C34 0C01242D */ jal func_800490B4 +/* BA63B8 80241C38 0220282D */ daddu $a1, $s1, $zero +/* BA63BC 80241C3C 54400018 */ bnel $v0, $zero, .L80241CA0 +/* BA63C0 80241C40 A600008E */ sh $zero, 0x8e($s0) +/* BA63C4 80241C44 24040002 */ addiu $a0, $zero, 2 +/* BA63C8 80241C48 0200282D */ daddu $a1, $s0, $zero +/* BA63CC 80241C4C 0000302D */ daddu $a2, $zero, $zero +/* BA63D0 80241C50 860300A8 */ lh $v1, 0xa8($s0) +/* BA63D4 80241C54 3C013F80 */ lui $at, 0x3f80 +/* BA63D8 80241C58 44810000 */ mtc1 $at, $f0 +/* BA63DC 80241C5C 3C014000 */ lui $at, 0x4000 +/* BA63E0 80241C60 44811000 */ mtc1 $at, $f2 +/* BA63E4 80241C64 3C01C1A0 */ lui $at, 0xc1a0 +/* BA63E8 80241C68 44812000 */ mtc1 $at, $f4 +/* BA63EC 80241C6C 2402000F */ addiu $v0, $zero, 0xf +/* BA63F0 80241C70 AFA2001C */ sw $v0, 0x1c($sp) +/* BA63F4 80241C74 44833000 */ mtc1 $v1, $f6 +/* BA63F8 80241C78 00000000 */ nop +/* BA63FC 80241C7C 468031A0 */ cvt.s.w $f6, $f6 +/* BA6400 80241C80 44073000 */ mfc1 $a3, $f6 +/* BA6404 80241C84 27A20028 */ addiu $v0, $sp, 0x28 +/* BA6408 80241C88 AFA20020 */ sw $v0, 0x20($sp) +/* BA640C 80241C8C E7A00010 */ swc1 $f0, 0x10($sp) +/* BA6410 80241C90 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA6414 80241C94 0C01BFA4 */ jal fx_emote +/* BA6418 80241C98 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA641C 80241C9C A600008E */ sh $zero, 0x8e($s0) +.L80241CA0: +/* BA6420 80241CA0 AE800070 */ sw $zero, 0x70($s4) +.L80241CA4: +/* BA6424 80241CA4 8FBF0044 */ lw $ra, 0x44($sp) +/* BA6428 80241CA8 8FB40040 */ lw $s4, 0x40($sp) +/* BA642C 80241CAC 8FB3003C */ lw $s3, 0x3c($sp) +/* BA6430 80241CB0 8FB20038 */ lw $s2, 0x38($sp) +/* BA6434 80241CB4 8FB10034 */ lw $s1, 0x34($sp) +/* BA6438 80241CB8 8FB00030 */ lw $s0, 0x30($sp) +/* BA643C 80241CBC 03E00008 */ jr $ra +/* BA6440 80241CC0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80241CC4.s b/asm/nonmatchings/world/area_mim/mim_06/func_80241CC4.s new file mode 100644 index 0000000000..7d0ae81410 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80241CC4.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CC4 +/* BA6444 80241CC4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BA6448 80241CC8 AFB20038 */ sw $s2, 0x38($sp) +/* BA644C 80241CCC 0080902D */ daddu $s2, $a0, $zero +/* BA6450 80241CD0 AFBF0048 */ sw $ra, 0x48($sp) +/* BA6454 80241CD4 AFB50044 */ sw $s5, 0x44($sp) +/* BA6458 80241CD8 AFB40040 */ sw $s4, 0x40($sp) +/* BA645C 80241CDC AFB3003C */ sw $s3, 0x3c($sp) +/* BA6460 80241CE0 AFB10034 */ sw $s1, 0x34($sp) +/* BA6464 80241CE4 AFB00030 */ sw $s0, 0x30($sp) +/* BA6468 80241CE8 8E510148 */ lw $s1, 0x148($s2) +/* BA646C 80241CEC 86240008 */ lh $a0, 8($s1) +/* BA6470 80241CF0 0C00EABB */ jal get_npc_unsafe +/* BA6474 80241CF4 00A0802D */ daddu $s0, $a1, $zero +/* BA6478 80241CF8 8E43000C */ lw $v1, 0xc($s2) +/* BA647C 80241CFC 0240202D */ daddu $a0, $s2, $zero +/* BA6480 80241D00 8C650000 */ lw $a1, ($v1) +/* BA6484 80241D04 0C0B1EAF */ jal get_variable +/* BA6488 80241D08 0040A82D */ daddu $s5, $v0, $zero +/* BA648C 80241D0C AFA00010 */ sw $zero, 0x10($sp) +/* BA6490 80241D10 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA6494 80241D14 8C630030 */ lw $v1, 0x30($v1) +/* BA6498 80241D18 AFA30014 */ sw $v1, 0x14($sp) +/* BA649C 80241D1C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA64A0 80241D20 8C63001C */ lw $v1, 0x1c($v1) +/* BA64A4 80241D24 AFA30018 */ sw $v1, 0x18($sp) +/* BA64A8 80241D28 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA64AC 80241D2C 8C630024 */ lw $v1, 0x24($v1) +/* BA64B0 80241D30 AFA3001C */ sw $v1, 0x1c($sp) +/* BA64B4 80241D34 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA64B8 80241D38 8C630028 */ lw $v1, 0x28($v1) +/* BA64BC 80241D3C 27B40010 */ addiu $s4, $sp, 0x10 +/* BA64C0 80241D40 AFA30020 */ sw $v1, 0x20($sp) +/* BA64C4 80241D44 8E2300D0 */ lw $v1, 0xd0($s1) +/* BA64C8 80241D48 3C014348 */ lui $at, 0x4348 +/* BA64CC 80241D4C 44810000 */ mtc1 $at, $f0 +/* BA64D0 80241D50 8C63002C */ lw $v1, 0x2c($v1) +/* BA64D4 80241D54 0040982D */ daddu $s3, $v0, $zero +/* BA64D8 80241D58 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA64DC 80241D5C A7A0002C */ sh $zero, 0x2c($sp) +/* BA64E0 80241D60 16000005 */ bnez $s0, .L80241D78 +/* BA64E4 80241D64 AFA30024 */ sw $v1, 0x24($sp) +/* BA64E8 80241D68 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA64EC 80241D6C 30420004 */ andi $v0, $v0, 4 +/* BA64F0 80241D70 10400011 */ beqz $v0, .L80241DB8 +/* BA64F4 80241D74 00000000 */ nop +.L80241D78: +/* BA64F8 80241D78 AE400070 */ sw $zero, 0x70($s2) +/* BA64FC 80241D7C A6A0008E */ sh $zero, 0x8e($s5) +/* BA6500 80241D80 8E2200CC */ lw $v0, 0xcc($s1) +/* BA6504 80241D84 8C420000 */ lw $v0, ($v0) +/* BA6508 80241D88 AEA20028 */ sw $v0, 0x28($s5) +/* BA650C 80241D8C 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA6510 80241D90 30420004 */ andi $v0, $v0, 4 +/* BA6514 80241D94 10400008 */ beqz $v0, .L80241DB8 +/* BA6518 80241D98 AE20006C */ sw $zero, 0x6c($s1) +/* BA651C 80241D9C 24020063 */ addiu $v0, $zero, 0x63 +/* BA6520 80241DA0 AE420070 */ sw $v0, 0x70($s2) +/* BA6524 80241DA4 AE400074 */ sw $zero, 0x74($s2) +/* BA6528 80241DA8 8E2200B0 */ lw $v0, 0xb0($s1) +/* BA652C 80241DAC 2403FFFB */ addiu $v1, $zero, -5 +/* BA6530 80241DB0 00431024 */ and $v0, $v0, $v1 +/* BA6534 80241DB4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241DB8: +/* BA6538 80241DB8 8E430070 */ lw $v1, 0x70($s2) +/* BA653C 80241DBC 2410000B */ addiu $s0, $zero, 0xb +/* BA6540 80241DC0 1070002A */ beq $v1, $s0, .L80241E6C +/* BA6544 80241DC4 2862000C */ slti $v0, $v1, 0xc +/* BA6548 80241DC8 1040000D */ beqz $v0, .L80241E00 +/* BA654C 80241DCC 24020001 */ addiu $v0, $zero, 1 +/* BA6550 80241DD0 1062001A */ beq $v1, $v0, .L80241E3C +/* BA6554 80241DD4 28620002 */ slti $v0, $v1, 2 +/* BA6558 80241DD8 10400005 */ beqz $v0, .L80241DF0 +/* BA655C 80241DDC 2402000A */ addiu $v0, $zero, 0xa +/* BA6560 80241DE0 10600013 */ beqz $v1, .L80241E30 +/* BA6564 80241DE4 0240202D */ daddu $a0, $s2, $zero +/* BA6568 80241DE8 080907BB */ j .L80241EEC +/* BA656C 80241DEC 00000000 */ nop +.L80241DF0: +/* BA6570 80241DF0 10620018 */ beq $v1, $v0, .L80241E54 +/* BA6574 80241DF4 0240202D */ daddu $a0, $s2, $zero +/* BA6578 80241DF8 080907BB */ j .L80241EEC +/* BA657C 80241DFC 00000000 */ nop +.L80241E00: +/* BA6580 80241E00 2402000D */ addiu $v0, $zero, 0xd +/* BA6584 80241E04 10620029 */ beq $v1, $v0, .L80241EAC +/* BA6588 80241E08 0062102A */ slt $v0, $v1, $v0 +/* BA658C 80241E0C 14400020 */ bnez $v0, .L80241E90 +/* BA6590 80241E10 0240202D */ daddu $a0, $s2, $zero +/* BA6594 80241E14 2402000E */ addiu $v0, $zero, 0xe +/* BA6598 80241E18 1062002D */ beq $v1, $v0, .L80241ED0 +/* BA659C 80241E1C 24020063 */ addiu $v0, $zero, 0x63 +/* BA65A0 80241E20 10620030 */ beq $v1, $v0, .L80241EE4 +/* BA65A4 80241E24 00000000 */ nop +/* BA65A8 80241E28 080907BB */ j .L80241EEC +/* BA65AC 80241E2C 00000000 */ nop +.L80241E30: +/* BA65B0 80241E30 0260282D */ daddu $a1, $s3, $zero +/* BA65B4 80241E34 0C090390 */ jal func_80240E40 +/* BA65B8 80241E38 0280302D */ daddu $a2, $s4, $zero +.L80241E3C: +/* BA65BC 80241E3C 0240202D */ daddu $a0, $s2, $zero +/* BA65C0 80241E40 0260282D */ daddu $a1, $s3, $zero +/* BA65C4 80241E44 0C0903AB */ jal func_80240EAC +/* BA65C8 80241E48 0280302D */ daddu $a2, $s4, $zero +/* BA65CC 80241E4C 080907BB */ j .L80241EEC +/* BA65D0 80241E50 00000000 */ nop +.L80241E54: +/* BA65D4 80241E54 0260282D */ daddu $a1, $s3, $zero +/* BA65D8 80241E58 0C0903EA */ jal func_80240FA8 +/* BA65DC 80241E5C 0280302D */ daddu $a2, $s4, $zero +/* BA65E0 80241E60 8E420070 */ lw $v0, 0x70($s2) +/* BA65E4 80241E64 14500021 */ bne $v0, $s0, .L80241EEC +/* BA65E8 80241E68 00000000 */ nop +.L80241E6C: +/* BA65EC 80241E6C 0240202D */ daddu $a0, $s2, $zero +/* BA65F0 80241E70 0260282D */ daddu $a1, $s3, $zero +/* BA65F4 80241E74 0C09067A */ jal func_802419E8 +/* BA65F8 80241E78 0280302D */ daddu $a2, $s4, $zero +/* BA65FC 80241E7C 8E430070 */ lw $v1, 0x70($s2) +/* BA6600 80241E80 2402000C */ addiu $v0, $zero, 0xc +/* BA6604 80241E84 14620019 */ bne $v1, $v0, .L80241EEC +/* BA6608 80241E88 00000000 */ nop +/* BA660C 80241E8C 0240202D */ daddu $a0, $s2, $zero +.L80241E90: +/* BA6610 80241E90 0260282D */ daddu $a1, $s3, $zero +/* BA6614 80241E94 0C09069E */ jal func_80241A78 +/* BA6618 80241E98 0280302D */ daddu $a2, $s4, $zero +/* BA661C 80241E9C 8E430070 */ lw $v1, 0x70($s2) +/* BA6620 80241EA0 2402000D */ addiu $v0, $zero, 0xd +/* BA6624 80241EA4 14620011 */ bne $v1, $v0, .L80241EEC +/* BA6628 80241EA8 00000000 */ nop +.L80241EAC: +/* BA662C 80241EAC 0240202D */ daddu $a0, $s2, $zero +/* BA6630 80241EB0 0260282D */ daddu $a1, $s3, $zero +/* BA6634 80241EB4 0C0906DE */ jal func_80241B78 +/* BA6638 80241EB8 0280302D */ daddu $a2, $s4, $zero +/* BA663C 80241EBC 8E430070 */ lw $v1, 0x70($s2) +/* BA6640 80241EC0 2402000E */ addiu $v0, $zero, 0xe +/* BA6644 80241EC4 14620009 */ bne $v1, $v0, .L80241EEC +/* BA6648 80241EC8 00000000 */ nop +/* BA664C 80241ECC 0240202D */ daddu $a0, $s2, $zero +.L80241ED0: +/* BA6650 80241ED0 0260282D */ daddu $a1, $s3, $zero +/* BA6654 80241ED4 0C0906F6 */ jal func_80241BD8 +/* BA6658 80241ED8 0280302D */ daddu $a2, $s4, $zero +/* BA665C 80241EDC 080907BB */ j .L80241EEC +/* BA6660 80241EE0 00000000 */ nop +.L80241EE4: +/* BA6664 80241EE4 0C0129CF */ jal func_8004A73C +/* BA6668 80241EE8 0240202D */ daddu $a0, $s2, $zero +.L80241EEC: +/* BA666C 80241EEC 8FBF0048 */ lw $ra, 0x48($sp) +/* BA6670 80241EF0 8FB50044 */ lw $s5, 0x44($sp) +/* BA6674 80241EF4 8FB40040 */ lw $s4, 0x40($sp) +/* BA6678 80241EF8 8FB3003C */ lw $s3, 0x3c($sp) +/* BA667C 80241EFC 8FB20038 */ lw $s2, 0x38($sp) +/* BA6680 80241F00 8FB10034 */ lw $s1, 0x34($sp) +/* BA6684 80241F04 8FB00030 */ lw $s0, 0x30($sp) +/* BA6688 80241F08 0000102D */ daddu $v0, $zero, $zero +/* BA668C 80241F0C 03E00008 */ jr $ra +/* BA6690 80241F10 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80241F14.s b/asm/nonmatchings/world/area_mim/mim_06/func_80241F14.s new file mode 100644 index 0000000000..fff7904afd --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80241F14.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F14 +/* BA6694 80241F14 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BA6698 80241F18 AFB00030 */ sw $s0, 0x30($sp) +/* BA669C 80241F1C 0080802D */ daddu $s0, $a0, $zero +/* BA66A0 80241F20 AFBF0040 */ sw $ra, 0x40($sp) +/* BA66A4 80241F24 AFB3003C */ sw $s3, 0x3c($sp) +/* BA66A8 80241F28 AFB20038 */ sw $s2, 0x38($sp) +/* BA66AC 80241F2C AFB10034 */ sw $s1, 0x34($sp) +/* BA66B0 80241F30 F7B60050 */ sdc1 $f22, 0x50($sp) +/* BA66B4 80241F34 F7B40048 */ sdc1 $f20, 0x48($sp) +/* BA66B8 80241F38 8E130148 */ lw $s3, 0x148($s0) +/* BA66BC 80241F3C 00A0882D */ daddu $s1, $a1, $zero +/* BA66C0 80241F40 86640008 */ lh $a0, 8($s3) +/* BA66C4 80241F44 0C00EABB */ jal get_npc_unsafe +/* BA66C8 80241F48 00C0902D */ daddu $s2, $a2, $zero +/* BA66CC 80241F4C 0200202D */ daddu $a0, $s0, $zero +/* BA66D0 80241F50 0220282D */ daddu $a1, $s1, $zero +/* BA66D4 80241F54 0240302D */ daddu $a2, $s2, $zero +/* BA66D8 80241F58 0C012568 */ jal func_800495A0 +/* BA66DC 80241F5C 0040802D */ daddu $s0, $v0, $zero +/* BA66E0 80241F60 8E020000 */ lw $v0, ($s0) +/* BA66E4 80241F64 2404002D */ addiu $a0, $zero, 0x2d +/* BA66E8 80241F68 34420800 */ ori $v0, $v0, 0x800 +/* BA66EC 80241F6C 0C00A67F */ jal rand_int +/* BA66F0 80241F70 AE020000 */ sw $v0, ($s0) +/* BA66F4 80241F74 0200202D */ daddu $a0, $s0, $zero +/* BA66F8 80241F78 3C05B000 */ lui $a1, 0xb000 +/* BA66FC 80241F7C 34A50017 */ ori $a1, $a1, 0x17 +/* BA6700 80241F80 44820000 */ mtc1 $v0, $f0 +/* BA6704 80241F84 00000000 */ nop +/* BA6708 80241F88 46800021 */ cvt.d.w $f0, $f0 +/* BA670C 80241F8C 3C014024 */ lui $at, 0x4024 +/* BA6710 80241F90 44811800 */ mtc1 $at, $f3 +/* BA6714 80241F94 44801000 */ mtc1 $zero, $f2 +/* BA6718 80241F98 3C014020 */ lui $at, 0x4020 +/* BA671C 80241F9C 44812800 */ mtc1 $at, $f5 +/* BA6720 80241FA0 44802000 */ mtc1 $zero, $f4 +/* BA6724 80241FA4 46220003 */ div.d $f0, $f0, $f2 +/* BA6728 80241FA8 46240000 */ add.d $f0, $f0, $f4 +/* BA672C 80241FAC 3C013FC0 */ lui $at, 0x3fc0 +/* BA6730 80241FB0 44811000 */ mtc1 $at, $f2 +/* BA6734 80241FB4 0000302D */ daddu $a2, $zero, $zero +/* BA6738 80241FB8 E6020014 */ swc1 $f2, 0x14($s0) +/* BA673C 80241FBC 46200020 */ cvt.s.d $f0, $f0 +/* BA6740 80241FC0 0C012530 */ jal func_800494C0 +/* BA6744 80241FC4 E600001C */ swc1 $f0, 0x1c($s0) +/* BA6748 80241FC8 8E6300D0 */ lw $v1, 0xd0($s3) +/* BA674C 80241FCC C6000040 */ lwc1 $f0, 0x40($s0) +/* BA6750 80241FD0 C4620000 */ lwc1 $f2, ($v1) +/* BA6754 80241FD4 468010A0 */ cvt.s.w $f2, $f2 +/* BA6758 80241FD8 C4640008 */ lwc1 $f4, 8($v1) +/* BA675C 80241FDC 46802120 */ cvt.s.w $f4, $f4 +/* BA6760 80241FE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA6764 80241FE4 8E6200D0 */ lw $v0, 0xd0($s3) +/* BA6768 80241FE8 44051000 */ mfc1 $a1, $f2 +/* BA676C 80241FEC C440000C */ lwc1 $f0, 0xc($v0) +/* BA6770 80241FF0 46800020 */ cvt.s.w $f0, $f0 +/* BA6774 80241FF4 E7A00014 */ swc1 $f0, 0x14($sp) +/* BA6778 80241FF8 8E6200D0 */ lw $v0, 0xd0($s3) +/* BA677C 80241FFC 44062000 */ mfc1 $a2, $f4 +/* BA6780 80242000 C4400010 */ lwc1 $f0, 0x10($v0) +/* BA6784 80242004 46800020 */ cvt.s.w $f0, $f0 +/* BA6788 80242008 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA678C 8024200C 8C640018 */ lw $a0, 0x18($v1) +/* BA6790 80242010 0C0123F5 */ jal is_point_within_region +/* BA6794 80242014 8E070038 */ lw $a3, 0x38($s0) +/* BA6798 80242018 10400035 */ beqz $v0, .L802420F0 +/* BA679C 8024201C 00000000 */ nop +/* BA67A0 80242020 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA67A4 80242024 3C0141C8 */ lui $at, 0x41c8 +/* BA67A8 80242028 4481B000 */ mtc1 $at, $f22 +/* BA67AC 8024202C 8E6200D0 */ lw $v0, 0xd0($s3) +/* BA67B0 80242030 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA67B4 80242034 C4480000 */ lwc1 $f8, ($v0) +/* BA67B8 80242038 46804220 */ cvt.s.w $f8, $f8 +/* BA67BC 8024203C 44064000 */ mfc1 $a2, $f8 +/* BA67C0 80242040 C4480008 */ lwc1 $f8, 8($v0) +/* BA67C4 80242044 46804220 */ cvt.s.w $f8, $f8 +/* BA67C8 80242048 44074000 */ mfc1 $a3, $f8 +/* BA67CC 8024204C 3C01403E */ lui $at, 0x403e +/* BA67D0 80242050 4481A800 */ mtc1 $at, $f21 +/* BA67D4 80242054 4480A000 */ mtc1 $zero, $f20 +/* BA67D8 80242058 0C00A720 */ jal atan2 +/* BA67DC 8024205C 0000882D */ daddu $s1, $zero, $zero +/* BA67E0 80242060 C6020038 */ lwc1 $f2, 0x38($s0) +/* BA67E4 80242064 C604003C */ lwc1 $f4, 0x3c($s0) +/* BA67E8 80242068 C6060040 */ lwc1 $f6, 0x40($s0) +/* BA67EC 8024206C E600000C */ swc1 $f0, 0xc($s0) +/* BA67F0 80242070 E7A20020 */ swc1 $f2, 0x20($sp) +/* BA67F4 80242074 E7A40024 */ swc1 $f4, 0x24($sp) +/* BA67F8 80242078 E7A60028 */ swc1 $f6, 0x28($sp) +.L8024207C: +/* BA67FC 8024207C E7B60010 */ swc1 $f22, 0x10($sp) +/* BA6800 80242080 C600000C */ lwc1 $f0, 0xc($s0) +/* BA6804 80242084 E7A00014 */ swc1 $f0, 0x14($sp) +/* BA6808 80242088 860200A8 */ lh $v0, 0xa8($s0) +/* BA680C 8024208C 27A50020 */ addiu $a1, $sp, 0x20 +/* BA6810 80242090 44820000 */ mtc1 $v0, $f0 +/* BA6814 80242094 00000000 */ nop +/* BA6818 80242098 46800020 */ cvt.s.w $f0, $f0 +/* BA681C 8024209C E7A00018 */ swc1 $f0, 0x18($sp) +/* BA6820 802420A0 860200A6 */ lh $v0, 0xa6($s0) +/* BA6824 802420A4 27A60024 */ addiu $a2, $sp, 0x24 +/* BA6828 802420A8 44820000 */ mtc1 $v0, $f0 +/* BA682C 802420AC 00000000 */ nop +/* BA6830 802420B0 46800020 */ cvt.s.w $f0, $f0 +/* BA6834 802420B4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA6838 802420B8 8E040080 */ lw $a0, 0x80($s0) +/* BA683C 802420BC 0C037711 */ jal func_800DDC44 +/* BA6840 802420C0 27A70028 */ addiu $a3, $sp, 0x28 +/* BA6844 802420C4 10400016 */ beqz $v0, .L80242120 +/* BA6848 802420C8 26310001 */ addiu $s1, $s1, 1 +/* BA684C 802420CC C600000C */ lwc1 $f0, 0xc($s0) +/* BA6850 802420D0 46000021 */ cvt.d.s $f0, $f0 +/* BA6854 802420D4 46340000 */ add.d $f0, $f0, $f20 +/* BA6858 802420D8 2A220006 */ slti $v0, $s1, 6 +/* BA685C 802420DC 46200020 */ cvt.s.d $f0, $f0 +/* BA6860 802420E0 1440FFE6 */ bnez $v0, .L8024207C +/* BA6864 802420E4 E600000C */ swc1 $f0, 0xc($s0) +/* BA6868 802420E8 08090848 */ j .L80242120 +/* BA686C 802420EC 00000000 */ nop +.L802420F0: +/* BA6870 802420F0 0C00A67F */ jal rand_int +/* BA6874 802420F4 2404003C */ addiu $a0, $zero, 0x3c +/* BA6878 802420F8 C60C000C */ lwc1 $f12, 0xc($s0) +/* BA687C 802420FC 44820000 */ mtc1 $v0, $f0 +/* BA6880 80242100 00000000 */ nop +/* BA6884 80242104 46800020 */ cvt.s.w $f0, $f0 +/* BA6888 80242108 46006300 */ add.s $f12, $f12, $f0 +/* BA688C 8024210C 3C0141F0 */ lui $at, 0x41f0 +/* BA6890 80242110 44810000 */ mtc1 $at, $f0 +/* BA6894 80242114 0C00A6C9 */ jal clamp_angle +/* BA6898 80242118 46006301 */ sub.s $f12, $f12, $f0 +/* BA689C 8024211C E600000C */ swc1 $f0, 0xc($s0) +.L80242120: +/* BA68A0 80242120 8FBF0040 */ lw $ra, 0x40($sp) +/* BA68A4 80242124 8FB3003C */ lw $s3, 0x3c($sp) +/* BA68A8 80242128 8FB20038 */ lw $s2, 0x38($sp) +/* BA68AC 8024212C 8FB10034 */ lw $s1, 0x34($sp) +/* BA68B0 80242130 8FB00030 */ lw $s0, 0x30($sp) +/* BA68B4 80242134 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BA68B8 80242138 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BA68BC 8024213C 03E00008 */ jr $ra +/* BA68C0 80242140 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80242144_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80242144_BA4780.s new file mode 100644 index 0000000000..00bcefef84 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80242144_BA4780.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242144_BA68C4 +/* BA68C4 80242144 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* BA68C8 80242148 AFB3004C */ sw $s3, 0x4c($sp) +/* BA68CC 8024214C 0080982D */ daddu $s3, $a0, $zero +/* BA68D0 80242150 AFBF0054 */ sw $ra, 0x54($sp) +/* BA68D4 80242154 AFB40050 */ sw $s4, 0x50($sp) +/* BA68D8 80242158 AFB20048 */ sw $s2, 0x48($sp) +/* BA68DC 8024215C AFB10044 */ sw $s1, 0x44($sp) +/* BA68E0 80242160 AFB00040 */ sw $s0, 0x40($sp) +/* BA68E4 80242164 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BA68E8 80242168 8E710148 */ lw $s1, 0x148($s3) +/* BA68EC 8024216C 00A0A02D */ daddu $s4, $a1, $zero +/* BA68F0 80242170 86240008 */ lh $a0, 8($s1) +/* BA68F4 80242174 0C00EABB */ jal get_npc_unsafe +/* BA68F8 80242178 00C0902D */ daddu $s2, $a2, $zero +/* BA68FC 8024217C 8E830014 */ lw $v1, 0x14($s4) +/* BA6900 80242180 04600034 */ bltz $v1, .L80242254 +/* BA6904 80242184 0040802D */ daddu $s0, $v0, $zero +/* BA6908 80242188 8E620074 */ lw $v0, 0x74($s3) +/* BA690C 8024218C 1C400030 */ bgtz $v0, .L80242250 +/* BA6910 80242190 2442FFFF */ addiu $v0, $v0, -1 +/* BA6914 80242194 0240202D */ daddu $a0, $s2, $zero +/* BA6918 80242198 AE630074 */ sw $v1, 0x74($s3) +/* BA691C 8024219C AFA00010 */ sw $zero, 0x10($sp) +/* BA6920 802421A0 8E86000C */ lw $a2, 0xc($s4) +/* BA6924 802421A4 8E870010 */ lw $a3, 0x10($s4) +/* BA6928 802421A8 0C01242D */ jal func_800490B4 +/* BA692C 802421AC 0220282D */ daddu $a1, $s1, $zero +/* BA6930 802421B0 10400025 */ beqz $v0, .L80242248 +/* BA6934 802421B4 0000202D */ daddu $a0, $zero, $zero +/* BA6938 802421B8 0200282D */ daddu $a1, $s0, $zero +/* BA693C 802421BC 0000302D */ daddu $a2, $zero, $zero +/* BA6940 802421C0 860300A8 */ lh $v1, 0xa8($s0) +/* BA6944 802421C4 3C013F80 */ lui $at, 0x3f80 +/* BA6948 802421C8 44810000 */ mtc1 $at, $f0 +/* BA694C 802421CC 3C014000 */ lui $at, 0x4000 +/* BA6950 802421D0 44811000 */ mtc1 $at, $f2 +/* BA6954 802421D4 3C01C1A0 */ lui $at, 0xc1a0 +/* BA6958 802421D8 44812000 */ mtc1 $at, $f4 +/* BA695C 802421DC 2402000F */ addiu $v0, $zero, 0xf +/* BA6960 802421E0 AFA2001C */ sw $v0, 0x1c($sp) +/* BA6964 802421E4 44835000 */ mtc1 $v1, $f10 +/* BA6968 802421E8 00000000 */ nop +/* BA696C 802421EC 468052A0 */ cvt.s.w $f10, $f10 +/* BA6970 802421F0 44075000 */ mfc1 $a3, $f10 +/* BA6974 802421F4 27A20028 */ addiu $v0, $sp, 0x28 +/* BA6978 802421F8 AFA20020 */ sw $v0, 0x20($sp) +/* BA697C 802421FC E7A00010 */ swc1 $f0, 0x10($sp) +/* BA6980 80242200 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA6984 80242204 0C01BFA4 */ jal fx_emote +/* BA6988 80242208 E7A40018 */ swc1 $f4, 0x18($sp) +/* BA698C 8024220C 0200202D */ daddu $a0, $s0, $zero +/* BA6990 80242210 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BA6994 80242214 0C012530 */ jal func_800494C0 +/* BA6998 80242218 3C060020 */ lui $a2, 0x20 +/* BA699C 8024221C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA69A0 80242220 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA69A4 80242224 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA69A8 80242228 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA69AC 8024222C 8C460028 */ lw $a2, 0x28($v0) +/* BA69B0 80242230 0C00A720 */ jal atan2 +/* BA69B4 80242234 8C470030 */ lw $a3, 0x30($v0) +/* BA69B8 80242238 2402000C */ addiu $v0, $zero, 0xc +/* BA69BC 8024223C E600000C */ swc1 $f0, 0xc($s0) +/* BA69C0 80242240 08090916 */ j .L80242458 +/* BA69C4 80242244 AE620070 */ sw $v0, 0x70($s3) +.L80242248: +/* BA69C8 80242248 8E620074 */ lw $v0, 0x74($s3) +/* BA69CC 8024224C 2442FFFF */ addiu $v0, $v0, -1 +.L80242250: +/* BA69D0 80242250 AE620074 */ sw $v0, 0x74($s3) +.L80242254: +/* BA69D4 80242254 C6000018 */ lwc1 $f0, 0x18($s0) +/* BA69D8 80242258 44801000 */ mtc1 $zero, $f2 +/* BA69DC 8024225C 44801800 */ mtc1 $zero, $f3 +/* BA69E0 80242260 46000021 */ cvt.d.s $f0, $f0 +/* BA69E4 80242264 4620103C */ c.lt.d $f2, $f0 +/* BA69E8 80242268 00000000 */ nop +/* BA69EC 8024226C 45000025 */ bc1f .L80242304 +/* BA69F0 80242270 27A5002C */ addiu $a1, $sp, 0x2c +/* BA69F4 80242274 C6000038 */ lwc1 $f0, 0x38($s0) +/* BA69F8 80242278 860200A6 */ lh $v0, 0xa6($s0) +/* BA69FC 8024227C 3C018024 */ lui $at, 0x8024 +/* BA6A00 80242280 D4225978 */ ldc1 $f2, 0x5978($at) +/* BA6A04 80242284 27A60030 */ addiu $a2, $sp, 0x30 +/* BA6A08 80242288 E7A0002C */ swc1 $f0, 0x2c($sp) +/* BA6A0C 8024228C 44820000 */ mtc1 $v0, $f0 +/* BA6A10 80242290 00000000 */ nop +/* BA6A14 80242294 46800020 */ cvt.s.w $f0, $f0 +/* BA6A18 80242298 46000021 */ cvt.d.s $f0, $f0 +/* BA6A1C 8024229C C604003C */ lwc1 $f4, 0x3c($s0) +/* BA6A20 802422A0 C6060040 */ lwc1 $f6, 0x40($s0) +/* BA6A24 802422A4 C6080018 */ lwc1 $f8, 0x18($s0) +/* BA6A28 802422A8 860200A8 */ lh $v0, 0xa8($s0) +/* BA6A2C 802422AC 46220002 */ mul.d $f0, $f0, $f2 +/* BA6A30 802422B0 00000000 */ nop +/* BA6A34 802422B4 E7A40030 */ swc1 $f4, 0x30($sp) +/* BA6A38 802422B8 E7A60034 */ swc1 $f6, 0x34($sp) +/* BA6A3C 802422BC E7A80010 */ swc1 $f8, 0x10($sp) +/* BA6A40 802422C0 C604000C */ lwc1 $f4, 0xc($s0) +/* BA6A44 802422C4 44821000 */ mtc1 $v0, $f2 +/* BA6A48 802422C8 00000000 */ nop +/* BA6A4C 802422CC 468010A0 */ cvt.s.w $f2, $f2 +/* BA6A50 802422D0 E7A20018 */ swc1 $f2, 0x18($sp) +/* BA6A54 802422D4 E7A40014 */ swc1 $f4, 0x14($sp) +/* BA6A58 802422D8 46200020 */ cvt.s.d $f0, $f0 +/* BA6A5C 802422DC E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA6A60 802422E0 8E040080 */ lw $a0, 0x80($s0) +/* BA6A64 802422E4 0C037711 */ jal func_800DDC44 +/* BA6A68 802422E8 27A70034 */ addiu $a3, $sp, 0x34 +/* BA6A6C 802422EC 54400005 */ bnel $v0, $zero, .L80242304 +/* BA6A70 802422F0 AE000018 */ sw $zero, 0x18($s0) +/* BA6A74 802422F4 8E050018 */ lw $a1, 0x18($s0) +/* BA6A78 802422F8 8E06000C */ lw $a2, 0xc($s0) +/* BA6A7C 802422FC 0C00EA95 */ jal npc_move_heading +/* BA6A80 80242300 0200202D */ daddu $a0, $s0, $zero +.L80242304: +/* BA6A84 80242304 C600001C */ lwc1 $f0, 0x1c($s0) +/* BA6A88 80242308 44801000 */ mtc1 $zero, $f2 +/* BA6A8C 8024230C 44801800 */ mtc1 $zero, $f3 +/* BA6A90 80242310 46000021 */ cvt.d.s $f0, $f0 +/* BA6A94 80242314 4622003C */ c.lt.d $f0, $f2 +/* BA6A98 80242318 00000000 */ nop +/* BA6A9C 8024231C 45000047 */ bc1f .L8024243C +/* BA6AA0 80242320 27A5002C */ addiu $a1, $sp, 0x2c +/* BA6AA4 80242324 27A60030 */ addiu $a2, $sp, 0x30 +/* BA6AA8 80242328 27A20038 */ addiu $v0, $sp, 0x38 +/* BA6AAC 8024232C C602003C */ lwc1 $f2, 0x3c($s0) +/* BA6AB0 80242330 C6060038 */ lwc1 $f6, 0x38($s0) +/* BA6AB4 80242334 3C01402A */ lui $at, 0x402a +/* BA6AB8 80242338 4481A800 */ mtc1 $at, $f21 +/* BA6ABC 8024233C 4480A000 */ mtc1 $zero, $f20 +/* BA6AC0 80242340 460010A1 */ cvt.d.s $f2, $f2 +/* BA6AC4 80242344 46341080 */ add.d $f2, $f2, $f20 +/* BA6AC8 80242348 C600001C */ lwc1 $f0, 0x1c($s0) +/* BA6ACC 8024234C C6040040 */ lwc1 $f4, 0x40($s0) +/* BA6AD0 80242350 46000005 */ abs.s $f0, $f0 +/* BA6AD4 80242354 E7A40034 */ swc1 $f4, 0x34($sp) +/* BA6AD8 80242358 3C014030 */ lui $at, 0x4030 +/* BA6ADC 8024235C 44812800 */ mtc1 $at, $f5 +/* BA6AE0 80242360 44802000 */ mtc1 $zero, $f4 +/* BA6AE4 80242364 46000021 */ cvt.d.s $f0, $f0 +/* BA6AE8 80242368 E7A6002C */ swc1 $f6, 0x2c($sp) +/* BA6AEC 8024236C 46240000 */ add.d $f0, $f0, $f4 +/* BA6AF0 80242370 462010A0 */ cvt.s.d $f2, $f2 +/* BA6AF4 80242374 E7A20030 */ swc1 $f2, 0x30($sp) +/* BA6AF8 80242378 46200020 */ cvt.s.d $f0, $f0 +/* BA6AFC 8024237C E7A00038 */ swc1 $f0, 0x38($sp) +/* BA6B00 80242380 AFA20010 */ sw $v0, 0x10($sp) +/* BA6B04 80242384 8E040080 */ lw $a0, 0x80($s0) +/* BA6B08 80242388 0C0372DF */ jal func_800DCB7C +/* BA6B0C 8024238C 27A70034 */ addiu $a3, $sp, 0x34 +/* BA6B10 80242390 1040002A */ beqz $v0, .L8024243C +/* BA6B14 80242394 00000000 */ nop +/* BA6B18 80242398 C600001C */ lwc1 $f0, 0x1c($s0) +/* BA6B1C 8024239C C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA6B20 802423A0 46000005 */ abs.s $f0, $f0 +/* BA6B24 802423A4 46000021 */ cvt.d.s $f0, $f0 +/* BA6B28 802423A8 46340000 */ add.d $f0, $f0, $f20 +/* BA6B2C 802423AC 460010A1 */ cvt.d.s $f2, $f2 +/* BA6B30 802423B0 4620103E */ c.le.d $f2, $f0 +/* BA6B34 802423B4 00000000 */ nop +/* BA6B38 802423B8 45000020 */ bc1f .L8024243C +/* BA6B3C 802423BC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BA6B40 802423C0 C7A00030 */ lwc1 $f0, 0x30($sp) +/* BA6B44 802423C4 8E020000 */ lw $v0, ($s0) +/* BA6B48 802423C8 2403F7FF */ addiu $v1, $zero, -0x801 +/* BA6B4C 802423CC AE00001C */ sw $zero, 0x1c($s0) +/* BA6B50 802423D0 00431024 */ and $v0, $v0, $v1 +/* BA6B54 802423D4 AE020000 */ sw $v0, ($s0) +/* BA6B58 802423D8 24020002 */ addiu $v0, $zero, 2 +/* BA6B5C 802423DC E600003C */ swc1 $f0, 0x3c($s0) +/* BA6B60 802423E0 0C00A67F */ jal rand_int +/* BA6B64 802423E4 AE620070 */ sw $v0, 0x70($s3) +/* BA6B68 802423E8 3C035555 */ lui $v1, 0x5555 +/* BA6B6C 802423EC 34635556 */ ori $v1, $v1, 0x5556 +/* BA6B70 802423F0 00430018 */ mult $v0, $v1 +/* BA6B74 802423F4 000227C3 */ sra $a0, $v0, 0x1f +/* BA6B78 802423F8 00004010 */ mfhi $t0 +/* BA6B7C 802423FC 01042023 */ subu $a0, $t0, $a0 +/* BA6B80 80242400 00041840 */ sll $v1, $a0, 1 +/* BA6B84 80242404 00641821 */ addu $v1, $v1, $a0 +/* BA6B88 80242408 00431023 */ subu $v0, $v0, $v1 +/* BA6B8C 8024240C 24430002 */ addiu $v1, $v0, 2 +/* BA6B90 80242410 AE630074 */ sw $v1, 0x74($s3) +/* BA6B94 80242414 8E82002C */ lw $v0, 0x2c($s4) +/* BA6B98 80242418 5840000F */ blezl $v0, .L80242458 +/* BA6B9C 8024241C AE600070 */ sw $zero, 0x70($s3) +/* BA6BA0 80242420 8E820004 */ lw $v0, 4($s4) +/* BA6BA4 80242424 5840000C */ blezl $v0, .L80242458 +/* BA6BA8 80242428 AE600070 */ sw $zero, 0x70($s3) +/* BA6BAC 8024242C 1460000A */ bnez $v1, .L80242458 +/* BA6BB0 80242430 00000000 */ nop +/* BA6BB4 80242434 08090916 */ j .L80242458 +/* BA6BB8 80242438 AE600070 */ sw $zero, 0x70($s3) +.L8024243C: +/* BA6BBC 8024243C C604003C */ lwc1 $f4, 0x3c($s0) +/* BA6BC0 80242440 C600001C */ lwc1 $f0, 0x1c($s0) +/* BA6BC4 80242444 46002100 */ add.s $f4, $f4, $f0 +/* BA6BC8 80242448 C6020014 */ lwc1 $f2, 0x14($s0) +/* BA6BCC 8024244C 46020001 */ sub.s $f0, $f0, $f2 +/* BA6BD0 80242450 E604003C */ swc1 $f4, 0x3c($s0) +/* BA6BD4 80242454 E600001C */ swc1 $f0, 0x1c($s0) +.L80242458: +/* BA6BD8 80242458 8FBF0054 */ lw $ra, 0x54($sp) +/* BA6BDC 8024245C 8FB40050 */ lw $s4, 0x50($sp) +/* BA6BE0 80242460 8FB3004C */ lw $s3, 0x4c($sp) +/* BA6BE4 80242464 8FB20048 */ lw $s2, 0x48($sp) +/* BA6BE8 80242468 8FB10044 */ lw $s1, 0x44($sp) +/* BA6BEC 8024246C 8FB00040 */ lw $s0, 0x40($sp) +/* BA6BF0 80242470 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BA6BF4 80242474 03E00008 */ jr $ra +/* BA6BF8 80242478 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_8024247C_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_8024247C_BA4780.s new file mode 100644 index 0000000000..d44cb7733c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_8024247C_BA4780.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024247C_BA6BFC +/* BA6BFC 8024247C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BA6C00 80242480 AFB3001C */ sw $s3, 0x1c($sp) +/* BA6C04 80242484 0080982D */ daddu $s3, $a0, $zero +/* BA6C08 80242488 AFBF0020 */ sw $ra, 0x20($sp) +/* BA6C0C 8024248C AFB20018 */ sw $s2, 0x18($sp) +/* BA6C10 80242490 AFB10014 */ sw $s1, 0x14($sp) +/* BA6C14 80242494 AFB00010 */ sw $s0, 0x10($sp) +/* BA6C18 80242498 8E720148 */ lw $s2, 0x148($s3) +/* BA6C1C 8024249C 86440008 */ lh $a0, 8($s2) +/* BA6C20 802424A0 0C00EABB */ jal get_npc_unsafe +/* BA6C24 802424A4 00A0882D */ daddu $s1, $a1, $zero +/* BA6C28 802424A8 8E240008 */ lw $a0, 8($s1) +/* BA6C2C 802424AC 0040802D */ daddu $s0, $v0, $zero +/* BA6C30 802424B0 00041FC2 */ srl $v1, $a0, 0x1f +/* BA6C34 802424B4 00832021 */ addu $a0, $a0, $v1 +/* BA6C38 802424B8 00042043 */ sra $a0, $a0, 1 +/* BA6C3C 802424BC 0C00A67F */ jal rand_int +/* BA6C40 802424C0 24840001 */ addiu $a0, $a0, 1 +/* BA6C44 802424C4 8E230008 */ lw $v1, 8($s1) +/* BA6C48 802424C8 240400B4 */ addiu $a0, $zero, 0xb4 +/* BA6C4C 802424CC 00032FC2 */ srl $a1, $v1, 0x1f +/* BA6C50 802424D0 00651821 */ addu $v1, $v1, $a1 +/* BA6C54 802424D4 00031843 */ sra $v1, $v1, 1 +/* BA6C58 802424D8 00621821 */ addu $v1, $v1, $v0 +/* BA6C5C 802424DC 0C00A67F */ jal rand_int +/* BA6C60 802424E0 A603008E */ sh $v1, 0x8e($s0) +/* BA6C64 802424E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* BA6C68 802424E8 44820000 */ mtc1 $v0, $f0 +/* BA6C6C 802424EC 00000000 */ nop +/* BA6C70 802424F0 46800020 */ cvt.s.w $f0, $f0 +/* BA6C74 802424F4 46006300 */ add.s $f12, $f12, $f0 +/* BA6C78 802424F8 3C0142B4 */ lui $at, 0x42b4 +/* BA6C7C 802424FC 44810000 */ mtc1 $at, $f0 +/* BA6C80 80242500 0C00A6C9 */ jal clamp_angle +/* BA6C84 80242504 46006301 */ sub.s $f12, $f12, $f0 +/* BA6C88 80242508 E600000C */ swc1 $f0, 0xc($s0) +/* BA6C8C 8024250C 8E4200CC */ lw $v0, 0xcc($s2) +/* BA6C90 80242510 8C420000 */ lw $v0, ($v0) +/* BA6C94 80242514 AE020028 */ sw $v0, 0x28($s0) +/* BA6C98 80242518 24020003 */ addiu $v0, $zero, 3 +/* BA6C9C 8024251C AE620070 */ sw $v0, 0x70($s3) +/* BA6CA0 80242520 8FBF0020 */ lw $ra, 0x20($sp) +/* BA6CA4 80242524 8FB3001C */ lw $s3, 0x1c($sp) +/* BA6CA8 80242528 8FB20018 */ lw $s2, 0x18($sp) +/* BA6CAC 8024252C 8FB10014 */ lw $s1, 0x14($sp) +/* BA6CB0 80242530 8FB00010 */ lw $s0, 0x10($sp) +/* BA6CB4 80242534 03E00008 */ jr $ra +/* BA6CB8 80242538 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_8024253C.s b/asm/nonmatchings/world/area_mim/mim_06/func_8024253C.s new file mode 100644 index 0000000000..ff7a3df74a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_8024253C.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024253C +/* BA6CBC 8024253C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BA6CC0 80242540 AFB40040 */ sw $s4, 0x40($sp) +/* BA6CC4 80242544 0080A02D */ daddu $s4, $a0, $zero +/* BA6CC8 80242548 AFBF0044 */ sw $ra, 0x44($sp) +/* BA6CCC 8024254C AFB3003C */ sw $s3, 0x3c($sp) +/* BA6CD0 80242550 AFB20038 */ sw $s2, 0x38($sp) +/* BA6CD4 80242554 AFB10034 */ sw $s1, 0x34($sp) +/* BA6CD8 80242558 AFB00030 */ sw $s0, 0x30($sp) +/* BA6CDC 8024255C 8E920148 */ lw $s2, 0x148($s4) +/* BA6CE0 80242560 00A0882D */ daddu $s1, $a1, $zero +/* BA6CE4 80242564 86440008 */ lh $a0, 8($s2) +/* BA6CE8 80242568 0C00EABB */ jal get_npc_unsafe +/* BA6CEC 8024256C 00C0982D */ daddu $s3, $a2, $zero +/* BA6CF0 80242570 8E230014 */ lw $v1, 0x14($s1) +/* BA6CF4 80242574 0460002D */ bltz $v1, .L8024262C +/* BA6CF8 80242578 0040802D */ daddu $s0, $v0, $zero +/* BA6CFC 8024257C 0260202D */ daddu $a0, $s3, $zero +/* BA6D00 80242580 AFA00010 */ sw $zero, 0x10($sp) +/* BA6D04 80242584 8E260024 */ lw $a2, 0x24($s1) +/* BA6D08 80242588 8E270028 */ lw $a3, 0x28($s1) +/* BA6D0C 8024258C 0C01242D */ jal func_800490B4 +/* BA6D10 80242590 0240282D */ daddu $a1, $s2, $zero +/* BA6D14 80242594 10400025 */ beqz $v0, .L8024262C +/* BA6D18 80242598 0000202D */ daddu $a0, $zero, $zero +/* BA6D1C 8024259C 0200282D */ daddu $a1, $s0, $zero +/* BA6D20 802425A0 0000302D */ daddu $a2, $zero, $zero +/* BA6D24 802425A4 860300A8 */ lh $v1, 0xa8($s0) +/* BA6D28 802425A8 3C013F80 */ lui $at, 0x3f80 +/* BA6D2C 802425AC 44810000 */ mtc1 $at, $f0 +/* BA6D30 802425B0 3C014000 */ lui $at, 0x4000 +/* BA6D34 802425B4 44811000 */ mtc1 $at, $f2 +/* BA6D38 802425B8 3C01C1A0 */ lui $at, 0xc1a0 +/* BA6D3C 802425BC 44812000 */ mtc1 $at, $f4 +/* BA6D40 802425C0 2402000F */ addiu $v0, $zero, 0xf +/* BA6D44 802425C4 AFA2001C */ sw $v0, 0x1c($sp) +/* BA6D48 802425C8 44833000 */ mtc1 $v1, $f6 +/* BA6D4C 802425CC 00000000 */ nop +/* BA6D50 802425D0 468031A0 */ cvt.s.w $f6, $f6 +/* BA6D54 802425D4 44073000 */ mfc1 $a3, $f6 +/* BA6D58 802425D8 27A20028 */ addiu $v0, $sp, 0x28 +/* BA6D5C 802425DC AFA20020 */ sw $v0, 0x20($sp) +/* BA6D60 802425E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA6D64 802425E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA6D68 802425E8 0C01BFA4 */ jal fx_emote +/* BA6D6C 802425EC E7A40018 */ swc1 $f4, 0x18($sp) +/* BA6D70 802425F0 0200202D */ daddu $a0, $s0, $zero +/* BA6D74 802425F4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BA6D78 802425F8 0C012530 */ jal func_800494C0 +/* BA6D7C 802425FC 3C060020 */ lui $a2, 0x20 +/* BA6D80 80242600 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA6D84 80242604 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA6D88 80242608 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA6D8C 8024260C C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA6D90 80242610 8C460028 */ lw $a2, 0x28($v0) +/* BA6D94 80242614 0C00A720 */ jal atan2 +/* BA6D98 80242618 8C470030 */ lw $a3, 0x30($v0) +/* BA6D9C 8024261C 2402000C */ addiu $v0, $zero, 0xc +/* BA6DA0 80242620 E600000C */ swc1 $f0, 0xc($s0) +/* BA6DA4 80242624 080909B0 */ j .L802426C0 +/* BA6DA8 80242628 AE820070 */ sw $v0, 0x70($s4) +.L8024262C: +/* BA6DAC 8024262C 8602008C */ lh $v0, 0x8c($s0) +/* BA6DB0 80242630 14400023 */ bnez $v0, .L802426C0 +/* BA6DB4 80242634 00000000 */ nop +/* BA6DB8 80242638 9602008E */ lhu $v0, 0x8e($s0) +/* BA6DBC 8024263C 2442FFFF */ addiu $v0, $v0, -1 +/* BA6DC0 80242640 A602008E */ sh $v0, 0x8e($s0) +/* BA6DC4 80242644 00021400 */ sll $v0, $v0, 0x10 +/* BA6DC8 80242648 1C40001D */ bgtz $v0, .L802426C0 +/* BA6DCC 8024264C 00000000 */ nop +/* BA6DD0 80242650 8E820074 */ lw $v0, 0x74($s4) +/* BA6DD4 80242654 2442FFFF */ addiu $v0, $v0, -1 +/* BA6DD8 80242658 18400018 */ blez $v0, .L802426BC +/* BA6DDC 8024265C AE820074 */ sw $v0, 0x74($s4) +/* BA6DE0 80242660 C600000C */ lwc1 $f0, 0xc($s0) +/* BA6DE4 80242664 3C014334 */ lui $at, 0x4334 +/* BA6DE8 80242668 44816000 */ mtc1 $at, $f12 +/* BA6DEC 8024266C 0C00A6C9 */ jal clamp_angle +/* BA6DF0 80242670 460C0300 */ add.s $f12, $f0, $f12 +/* BA6DF4 80242674 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BA6DF8 80242678 0C00A67F */ jal rand_int +/* BA6DFC 8024267C E600000C */ swc1 $f0, 0xc($s0) +/* BA6E00 80242680 3C032E8B */ lui $v1, 0x2e8b +/* BA6E04 80242684 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BA6E08 80242688 00430018 */ mult $v0, $v1 +/* BA6E0C 8024268C 00021FC3 */ sra $v1, $v0, 0x1f +/* BA6E10 80242690 00004010 */ mfhi $t0 +/* BA6E14 80242694 00082043 */ sra $a0, $t0, 1 +/* BA6E18 80242698 00832023 */ subu $a0, $a0, $v1 +/* BA6E1C 8024269C 00041840 */ sll $v1, $a0, 1 +/* BA6E20 802426A0 00641821 */ addu $v1, $v1, $a0 +/* BA6E24 802426A4 00031880 */ sll $v1, $v1, 2 +/* BA6E28 802426A8 00641823 */ subu $v1, $v1, $a0 +/* BA6E2C 802426AC 00431023 */ subu $v0, $v0, $v1 +/* BA6E30 802426B0 24420005 */ addiu $v0, $v0, 5 +/* BA6E34 802426B4 080909B0 */ j .L802426C0 +/* BA6E38 802426B8 A602008E */ sh $v0, 0x8e($s0) +.L802426BC: +/* BA6E3C 802426BC AE800070 */ sw $zero, 0x70($s4) +.L802426C0: +/* BA6E40 802426C0 8FBF0044 */ lw $ra, 0x44($sp) +/* BA6E44 802426C4 8FB40040 */ lw $s4, 0x40($sp) +/* BA6E48 802426C8 8FB3003C */ lw $s3, 0x3c($sp) +/* BA6E4C 802426CC 8FB20038 */ lw $s2, 0x38($sp) +/* BA6E50 802426D0 8FB10034 */ lw $s1, 0x34($sp) +/* BA6E54 802426D4 8FB00030 */ lw $s0, 0x30($sp) +/* BA6E58 802426D8 03E00008 */ jr $ra +/* BA6E5C 802426DC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802426E0_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802426E0_BA4780.s new file mode 100644 index 0000000000..c9bda87fda --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802426E0_BA4780.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426E0_BA6E60 +/* BA6E60 802426E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BA6E64 802426E4 AFB10014 */ sw $s1, 0x14($sp) +/* BA6E68 802426E8 0080882D */ daddu $s1, $a0, $zero +/* BA6E6C 802426EC AFBF001C */ sw $ra, 0x1c($sp) +/* BA6E70 802426F0 AFB20018 */ sw $s2, 0x18($sp) +/* BA6E74 802426F4 AFB00010 */ sw $s0, 0x10($sp) +/* BA6E78 802426F8 8E220148 */ lw $v0, 0x148($s1) +/* BA6E7C 802426FC 00A0902D */ daddu $s2, $a1, $zero +/* BA6E80 80242700 84440008 */ lh $a0, 8($v0) +/* BA6E84 80242704 0C00EABB */ jal get_npc_unsafe +/* BA6E88 80242708 00C0802D */ daddu $s0, $a2, $zero +/* BA6E8C 8024270C 0220202D */ daddu $a0, $s1, $zero +/* BA6E90 80242710 0240282D */ daddu $a1, $s2, $zero +/* BA6E94 80242714 0200302D */ daddu $a2, $s0, $zero +/* BA6E98 80242718 0C0127DF */ jal func_80049F7C +/* BA6E9C 8024271C 0040802D */ daddu $s0, $v0, $zero +/* BA6EA0 80242720 8E020000 */ lw $v0, ($s0) +/* BA6EA4 80242724 24040005 */ addiu $a0, $zero, 5 +/* BA6EA8 80242728 34420800 */ ori $v0, $v0, 0x800 +/* BA6EAC 8024272C 0C00A67F */ jal rand_int +/* BA6EB0 80242730 AE020000 */ sw $v0, ($s0) +/* BA6EB4 80242734 44820000 */ mtc1 $v0, $f0 +/* BA6EB8 80242738 00000000 */ nop +/* BA6EBC 8024273C 46800021 */ cvt.d.w $f0, $f0 +/* BA6EC0 80242740 3C014024 */ lui $at, 0x4024 +/* BA6EC4 80242744 44811800 */ mtc1 $at, $f3 +/* BA6EC8 80242748 44801000 */ mtc1 $zero, $f2 +/* BA6ECC 8024274C 3C013FC0 */ lui $at, 0x3fc0 +/* BA6ED0 80242750 44812000 */ mtc1 $at, $f4 +/* BA6ED4 80242754 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BA6ED8 80242758 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BA6EDC 8024275C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BA6EE0 80242760 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BA6EE4 80242764 46220000 */ add.d $f0, $f0, $f2 +/* BA6EE8 80242768 E6040014 */ swc1 $f4, 0x14($s0) +/* BA6EEC 8024276C 46200020 */ cvt.s.d $f0, $f0 +/* BA6EF0 80242770 E600001C */ swc1 $f0, 0x1c($s0) +/* BA6EF4 80242774 8C460028 */ lw $a2, 0x28($v0) +/* BA6EF8 80242778 0C00A720 */ jal atan2 +/* BA6EFC 8024277C 8C470030 */ lw $a3, 0x30($v0) +/* BA6F00 80242780 0200202D */ daddu $a0, $s0, $zero +/* BA6F04 80242784 3C05B000 */ lui $a1, 0xb000 +/* BA6F08 80242788 34A50017 */ ori $a1, $a1, 0x17 +/* BA6F0C 8024278C 0000302D */ daddu $a2, $zero, $zero +/* BA6F10 80242790 E480000C */ swc1 $f0, 0xc($a0) +/* BA6F14 80242794 C6400018 */ lwc1 $f0, 0x18($s2) +/* BA6F18 80242798 2402000D */ addiu $v0, $zero, 0xd +/* BA6F1C 8024279C E4800018 */ swc1 $f0, 0x18($a0) +/* BA6F20 802427A0 0C012530 */ jal func_800494C0 +/* BA6F24 802427A4 AE220070 */ sw $v0, 0x70($s1) +/* BA6F28 802427A8 8FBF001C */ lw $ra, 0x1c($sp) +/* BA6F2C 802427AC 8FB20018 */ lw $s2, 0x18($sp) +/* BA6F30 802427B0 8FB10014 */ lw $s1, 0x14($sp) +/* BA6F34 802427B4 8FB00010 */ lw $s0, 0x10($sp) +/* BA6F38 802427B8 03E00008 */ jr $ra +/* BA6F3C 802427BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_802427C0_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_802427C0_BA4780.s new file mode 100644 index 0000000000..28c744b88b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_802427C0_BA4780.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427C0_BA6F40 +/* BA6F40 802427C0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* BA6F44 802427C4 AFB40050 */ sw $s4, 0x50($sp) +/* BA6F48 802427C8 0080A02D */ daddu $s4, $a0, $zero +/* BA6F4C 802427CC AFBF0060 */ sw $ra, 0x60($sp) +/* BA6F50 802427D0 AFB7005C */ sw $s7, 0x5c($sp) +/* BA6F54 802427D4 AFB60058 */ sw $s6, 0x58($sp) +/* BA6F58 802427D8 AFB50054 */ sw $s5, 0x54($sp) +/* BA6F5C 802427DC AFB3004C */ sw $s3, 0x4c($sp) +/* BA6F60 802427E0 AFB20048 */ sw $s2, 0x48($sp) +/* BA6F64 802427E4 AFB10044 */ sw $s1, 0x44($sp) +/* BA6F68 802427E8 AFB00040 */ sw $s0, 0x40($sp) +/* BA6F6C 802427EC F7B40068 */ sdc1 $f20, 0x68($sp) +/* BA6F70 802427F0 8E950148 */ lw $s5, 0x148($s4) +/* BA6F74 802427F4 00A0B02D */ daddu $s6, $a1, $zero +/* BA6F78 802427F8 86A40008 */ lh $a0, 8($s5) +/* BA6F7C 802427FC 0C00EABB */ jal get_npc_unsafe +/* BA6F80 80242800 00C0B82D */ daddu $s7, $a2, $zero +/* BA6F84 80242804 0040982D */ daddu $s3, $v0, $zero +/* BA6F88 80242808 C6600018 */ lwc1 $f0, 0x18($s3) +/* BA6F8C 8024280C 44801000 */ mtc1 $zero, $f2 +/* BA6F90 80242810 44801800 */ mtc1 $zero, $f3 +/* BA6F94 80242814 46000021 */ cvt.d.s $f0, $f0 +/* BA6F98 80242818 4620103C */ c.lt.d $f2, $f0 +/* BA6F9C 8024281C 00000000 */ nop +/* BA6FA0 80242820 45000021 */ bc1f .L802428A8 +/* BA6FA4 80242824 27A50028 */ addiu $a1, $sp, 0x28 +/* BA6FA8 80242828 C6600038 */ lwc1 $f0, 0x38($s3) +/* BA6FAC 8024282C C662003C */ lwc1 $f2, 0x3c($s3) +/* BA6FB0 80242830 C6640040 */ lwc1 $f4, 0x40($s3) +/* BA6FB4 80242834 C6660018 */ lwc1 $f6, 0x18($s3) +/* BA6FB8 80242838 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA6FBC 8024283C E7A2002C */ swc1 $f2, 0x2c($sp) +/* BA6FC0 80242840 E7A40030 */ swc1 $f4, 0x30($sp) +/* BA6FC4 80242844 E7A60010 */ swc1 $f6, 0x10($sp) +/* BA6FC8 80242848 C660000C */ lwc1 $f0, 0xc($s3) +/* BA6FCC 8024284C E7A00014 */ swc1 $f0, 0x14($sp) +/* BA6FD0 80242850 866200A8 */ lh $v0, 0xa8($s3) +/* BA6FD4 80242854 44820000 */ mtc1 $v0, $f0 +/* BA6FD8 80242858 00000000 */ nop +/* BA6FDC 8024285C 46800020 */ cvt.s.w $f0, $f0 +/* BA6FE0 80242860 E7A00018 */ swc1 $f0, 0x18($sp) +/* BA6FE4 80242864 866200A6 */ lh $v0, 0xa6($s3) +/* BA6FE8 80242868 27A6002C */ addiu $a2, $sp, 0x2c +/* BA6FEC 8024286C 44820000 */ mtc1 $v0, $f0 +/* BA6FF0 80242870 00000000 */ nop +/* BA6FF4 80242874 46800020 */ cvt.s.w $f0, $f0 +/* BA6FF8 80242878 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BA6FFC 8024287C 8E640080 */ lw $a0, 0x80($s3) +/* BA7000 80242880 0C037711 */ jal func_800DDC44 +/* BA7004 80242884 27A70030 */ addiu $a3, $sp, 0x30 +/* BA7008 80242888 10400003 */ beqz $v0, .L80242898 +/* BA700C 8024288C 00000000 */ nop +/* BA7010 80242890 08090A2A */ j .L802428A8 +/* BA7014 80242894 AE600018 */ sw $zero, 0x18($s3) +.L80242898: +/* BA7018 80242898 8E650018 */ lw $a1, 0x18($s3) +/* BA701C 8024289C 8E66000C */ lw $a2, 0xc($s3) +/* BA7020 802428A0 0C00EA95 */ jal npc_move_heading +/* BA7024 802428A4 0260202D */ daddu $a0, $s3, $zero +.L802428A8: +/* BA7028 802428A8 C660001C */ lwc1 $f0, 0x1c($s3) +/* BA702C 802428AC 44801000 */ mtc1 $zero, $f2 +/* BA7030 802428B0 44801800 */ mtc1 $zero, $f3 +/* BA7034 802428B4 46000021 */ cvt.d.s $f0, $f0 +/* BA7038 802428B8 4622003C */ c.lt.d $f0, $f2 +/* BA703C 802428BC 00000000 */ nop +/* BA7040 802428C0 4500006C */ bc1f .L80242A74 +/* BA7044 802428C4 27B00028 */ addiu $s0, $sp, 0x28 +/* BA7048 802428C8 0200282D */ daddu $a1, $s0, $zero +/* BA704C 802428CC 27A60034 */ addiu $a2, $sp, 0x34 +/* BA7050 802428D0 27B20038 */ addiu $s2, $sp, 0x38 +/* BA7054 802428D4 C6600038 */ lwc1 $f0, 0x38($s3) +/* BA7058 802428D8 3C0142C8 */ lui $at, 0x42c8 +/* BA705C 802428DC 44811000 */ mtc1 $at, $f2 +/* BA7060 802428E0 C6640040 */ lwc1 $f4, 0x40($s3) +/* BA7064 802428E4 3C01447A */ lui $at, 0x447a +/* BA7068 802428E8 44813000 */ mtc1 $at, $f6 +/* BA706C 802428EC 27B10030 */ addiu $s1, $sp, 0x30 +/* BA7070 802428F0 E7A00028 */ swc1 $f0, 0x28($sp) +/* BA7074 802428F4 E7A20034 */ swc1 $f2, 0x34($sp) +/* BA7078 802428F8 E7A40030 */ swc1 $f4, 0x30($sp) +/* BA707C 802428FC E7A60038 */ swc1 $f6, 0x38($sp) +/* BA7080 80242900 AFB20010 */ sw $s2, 0x10($sp) +/* BA7084 80242904 8E640080 */ lw $a0, 0x80($s3) +/* BA7088 80242908 0C0372DF */ jal func_800DCB7C +/* BA708C 8024290C 0220382D */ daddu $a3, $s1, $zero +/* BA7090 80242910 0200282D */ daddu $a1, $s0, $zero +/* BA7094 80242914 27A6002C */ addiu $a2, $sp, 0x2c +/* BA7098 80242918 C662003C */ lwc1 $f2, 0x3c($s3) +/* BA709C 8024291C C6660038 */ lwc1 $f6, 0x38($s3) +/* BA70A0 80242920 3C01402A */ lui $at, 0x402a +/* BA70A4 80242924 4481A800 */ mtc1 $at, $f21 +/* BA70A8 80242928 4480A000 */ mtc1 $zero, $f20 +/* BA70AC 8024292C 460010A1 */ cvt.d.s $f2, $f2 +/* BA70B0 80242930 46341080 */ add.d $f2, $f2, $f20 +/* BA70B4 80242934 C660001C */ lwc1 $f0, 0x1c($s3) +/* BA70B8 80242938 C6640040 */ lwc1 $f4, 0x40($s3) +/* BA70BC 8024293C 46000005 */ abs.s $f0, $f0 +/* BA70C0 80242940 E7A40030 */ swc1 $f4, 0x30($sp) +/* BA70C4 80242944 3C014030 */ lui $at, 0x4030 +/* BA70C8 80242948 44812800 */ mtc1 $at, $f5 +/* BA70CC 8024294C 44802000 */ mtc1 $zero, $f4 +/* BA70D0 80242950 46000021 */ cvt.d.s $f0, $f0 +/* BA70D4 80242954 E7A60028 */ swc1 $f6, 0x28($sp) +/* BA70D8 80242958 46240000 */ add.d $f0, $f0, $f4 +/* BA70DC 8024295C 462010A0 */ cvt.s.d $f2, $f2 +/* BA70E0 80242960 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BA70E4 80242964 46200020 */ cvt.s.d $f0, $f0 +/* BA70E8 80242968 E7A00038 */ swc1 $f0, 0x38($sp) +/* BA70EC 8024296C AFB20010 */ sw $s2, 0x10($sp) +/* BA70F0 80242970 8E640080 */ lw $a0, 0x80($s3) +/* BA70F4 80242974 0C0372DF */ jal func_800DCB7C +/* BA70F8 80242978 0220382D */ daddu $a3, $s1, $zero +/* BA70FC 8024297C 1040003D */ beqz $v0, .L80242A74 +/* BA7100 80242980 00000000 */ nop +/* BA7104 80242984 C660001C */ lwc1 $f0, 0x1c($s3) +/* BA7108 80242988 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BA710C 8024298C 46000005 */ abs.s $f0, $f0 +/* BA7110 80242990 46000021 */ cvt.d.s $f0, $f0 +/* BA7114 80242994 46340000 */ add.d $f0, $f0, $f20 +/* BA7118 80242998 460010A1 */ cvt.d.s $f2, $f2 +/* BA711C 8024299C 4620103E */ c.le.d $f2, $f0 +/* BA7120 802429A0 00000000 */ nop +/* BA7124 802429A4 45000033 */ bc1f .L80242A74 +/* BA7128 802429A8 2403F7FF */ addiu $v1, $zero, -0x801 +/* BA712C 802429AC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BA7130 802429B0 8E620000 */ lw $v0, ($s3) +/* BA7134 802429B4 AE60001C */ sw $zero, 0x1c($s3) +/* BA7138 802429B8 00431024 */ and $v0, $v0, $v1 +/* BA713C 802429BC E660003C */ swc1 $f0, 0x3c($s3) +/* BA7140 802429C0 AE620000 */ sw $v0, ($s3) +/* BA7144 802429C4 AFA00010 */ sw $zero, 0x10($sp) +/* BA7148 802429C8 AFA00014 */ sw $zero, 0x14($sp) +/* BA714C 802429CC 8E650038 */ lw $a1, 0x38($s3) +/* BA7150 802429D0 8E66003C */ lw $a2, 0x3c($s3) +/* BA7154 802429D4 8E670040 */ lw $a3, 0x40($s3) +/* BA7158 802429D8 0C01BECC */ jal fx_walk_normal +/* BA715C 802429DC 24040002 */ addiu $a0, $zero, 2 +/* BA7160 802429E0 02E0202D */ daddu $a0, $s7, $zero +/* BA7164 802429E4 2402000C */ addiu $v0, $zero, 0xc +/* BA7168 802429E8 AE820070 */ sw $v0, 0x70($s4) +/* BA716C 802429EC 24020001 */ addiu $v0, $zero, 1 +/* BA7170 802429F0 AFA20010 */ sw $v0, 0x10($sp) +/* BA7174 802429F4 8EC60024 */ lw $a2, 0x24($s6) +/* BA7178 802429F8 8EC70028 */ lw $a3, 0x28($s6) +/* BA717C 802429FC 0C01242D */ jal func_800490B4 +/* BA7180 80242A00 02A0282D */ daddu $a1, $s5, $zero +/* BA7184 80242A04 14400022 */ bnez $v0, .L80242A90 +/* BA7188 80242A08 24040002 */ addiu $a0, $zero, 2 +/* BA718C 80242A0C 0260282D */ daddu $a1, $s3, $zero +/* BA7190 80242A10 0000302D */ daddu $a2, $zero, $zero +/* BA7194 80242A14 866300A8 */ lh $v1, 0xa8($s3) +/* BA7198 80242A18 3C013F80 */ lui $at, 0x3f80 +/* BA719C 80242A1C 44810000 */ mtc1 $at, $f0 +/* BA71A0 80242A20 3C014000 */ lui $at, 0x4000 +/* BA71A4 80242A24 44811000 */ mtc1 $at, $f2 +/* BA71A8 80242A28 3C01C1A0 */ lui $at, 0xc1a0 +/* BA71AC 80242A2C 44812000 */ mtc1 $at, $f4 +/* BA71B0 80242A30 2402000F */ addiu $v0, $zero, 0xf +/* BA71B4 80242A34 AFA2001C */ sw $v0, 0x1c($sp) +/* BA71B8 80242A38 44834000 */ mtc1 $v1, $f8 +/* BA71BC 80242A3C 00000000 */ nop +/* BA71C0 80242A40 46804220 */ cvt.s.w $f8, $f8 +/* BA71C4 80242A44 44074000 */ mfc1 $a3, $f8 +/* BA71C8 80242A48 27A2003C */ addiu $v0, $sp, 0x3c +/* BA71CC 80242A4C AFA20020 */ sw $v0, 0x20($sp) +/* BA71D0 80242A50 E7A00010 */ swc1 $f0, 0x10($sp) +/* BA71D4 80242A54 E7A20014 */ swc1 $f2, 0x14($sp) +/* BA71D8 80242A58 0C01BFA4 */ jal fx_emote +/* BA71DC 80242A5C E7A40018 */ swc1 $f4, 0x18($sp) +/* BA71E0 80242A60 24020019 */ addiu $v0, $zero, 0x19 +/* BA71E4 80242A64 A662008E */ sh $v0, 0x8e($s3) +/* BA71E8 80242A68 2402000E */ addiu $v0, $zero, 0xe +/* BA71EC 80242A6C 08090AA4 */ j .L80242A90 +/* BA71F0 80242A70 AE820070 */ sw $v0, 0x70($s4) +.L80242A74: +/* BA71F4 80242A74 C664003C */ lwc1 $f4, 0x3c($s3) +/* BA71F8 80242A78 C660001C */ lwc1 $f0, 0x1c($s3) +/* BA71FC 80242A7C 46002100 */ add.s $f4, $f4, $f0 +/* BA7200 80242A80 C6620014 */ lwc1 $f2, 0x14($s3) +/* BA7204 80242A84 46020001 */ sub.s $f0, $f0, $f2 +/* BA7208 80242A88 E664003C */ swc1 $f4, 0x3c($s3) +/* BA720C 80242A8C E660001C */ swc1 $f0, 0x1c($s3) +.L80242A90: +/* BA7210 80242A90 8FBF0060 */ lw $ra, 0x60($sp) +/* BA7214 80242A94 8FB7005C */ lw $s7, 0x5c($sp) +/* BA7218 80242A98 8FB60058 */ lw $s6, 0x58($sp) +/* BA721C 80242A9C 8FB50054 */ lw $s5, 0x54($sp) +/* BA7220 80242AA0 8FB40050 */ lw $s4, 0x50($sp) +/* BA7224 80242AA4 8FB3004C */ lw $s3, 0x4c($sp) +/* BA7228 80242AA8 8FB20048 */ lw $s2, 0x48($sp) +/* BA722C 80242AAC 8FB10044 */ lw $s1, 0x44($sp) +/* BA7230 80242AB0 8FB00040 */ lw $s0, 0x40($sp) +/* BA7234 80242AB4 D7B40068 */ ldc1 $f20, 0x68($sp) +/* BA7238 80242AB8 03E00008 */ jr $ra +/* BA723C 80242ABC 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80242AC0_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80242AC0_BA4780.s new file mode 100644 index 0000000000..d6769c1105 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80242AC0_BA4780.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AC0_BA7240 +/* BA7240 80242AC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BA7244 80242AC4 AFB00010 */ sw $s0, 0x10($sp) +/* BA7248 80242AC8 0080802D */ daddu $s0, $a0, $zero +/* BA724C 80242ACC AFBF0014 */ sw $ra, 0x14($sp) +/* BA7250 80242AD0 8E020148 */ lw $v0, 0x148($s0) +/* BA7254 80242AD4 0C00EABB */ jal get_npc_unsafe +/* BA7258 80242AD8 84440008 */ lh $a0, 8($v0) +/* BA725C 80242ADC 9443008E */ lhu $v1, 0x8e($v0) +/* BA7260 80242AE0 2463FFFF */ addiu $v1, $v1, -1 +/* BA7264 80242AE4 A443008E */ sh $v1, 0x8e($v0) +/* BA7268 80242AE8 00031C00 */ sll $v1, $v1, 0x10 +/* BA726C 80242AEC 58600001 */ blezl $v1, .L80242AF4 +/* BA7270 80242AF0 AE000070 */ sw $zero, 0x70($s0) +.L80242AF4: +/* BA7274 80242AF4 8FBF0014 */ lw $ra, 0x14($sp) +/* BA7278 80242AF8 8FB00010 */ lw $s0, 0x10($sp) +/* BA727C 80242AFC 03E00008 */ jr $ra +/* BA7280 80242B00 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_06/func_80242B04_BA4780.s b/asm/nonmatchings/world/area_mim/mim_06/func_80242B04_BA4780.s new file mode 100644 index 0000000000..440c2f8bc8 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_06/func_80242B04_BA4780.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B04_BA7284 +/* BA7284 80242B04 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BA7288 80242B08 AFB3003C */ sw $s3, 0x3c($sp) +/* BA728C 80242B0C 0080982D */ daddu $s3, $a0, $zero +/* BA7290 80242B10 AFBF0048 */ sw $ra, 0x48($sp) +/* BA7294 80242B14 AFB50044 */ sw $s5, 0x44($sp) +/* BA7298 80242B18 AFB40040 */ sw $s4, 0x40($sp) +/* BA729C 80242B1C AFB20038 */ sw $s2, 0x38($sp) +/* BA72A0 80242B20 AFB10034 */ sw $s1, 0x34($sp) +/* BA72A4 80242B24 AFB00030 */ sw $s0, 0x30($sp) +/* BA72A8 80242B28 8E720148 */ lw $s2, 0x148($s3) +/* BA72AC 80242B2C 86440008 */ lh $a0, 8($s2) +/* BA72B0 80242B30 8E70000C */ lw $s0, 0xc($s3) +/* BA72B4 80242B34 0C00EABB */ jal get_npc_unsafe +/* BA72B8 80242B38 00A0882D */ daddu $s1, $a1, $zero +/* BA72BC 80242B3C 8E050000 */ lw $a1, ($s0) +/* BA72C0 80242B40 26100004 */ addiu $s0, $s0, 4 +/* BA72C4 80242B44 0260202D */ daddu $a0, $s3, $zero +/* BA72C8 80242B48 0C0B1EAF */ jal get_variable +/* BA72CC 80242B4C 0040A82D */ daddu $s5, $v0, $zero +/* BA72D0 80242B50 0260202D */ daddu $a0, $s3, $zero +/* BA72D4 80242B54 8E050000 */ lw $a1, ($s0) +/* BA72D8 80242B58 0C0B1EAF */ jal get_variable +/* BA72DC 80242B5C 0040A02D */ daddu $s4, $v0, $zero +/* BA72E0 80242B60 AE420094 */ sw $v0, 0x94($s2) +/* BA72E4 80242B64 AFA00010 */ sw $zero, 0x10($sp) +/* BA72E8 80242B68 8E4200D0 */ lw $v0, 0xd0($s2) +/* BA72EC 80242B6C 8C420030 */ lw $v0, 0x30($v0) +/* BA72F0 80242B70 AFA20014 */ sw $v0, 0x14($sp) +/* BA72F4 80242B74 8E4200D0 */ lw $v0, 0xd0($s2) +/* BA72F8 80242B78 8C42001C */ lw $v0, 0x1c($v0) +/* BA72FC 80242B7C AFA20018 */ sw $v0, 0x18($sp) +/* BA7300 80242B80 8E4200D0 */ lw $v0, 0xd0($s2) +/* BA7304 80242B84 8C420024 */ lw $v0, 0x24($v0) +/* BA7308 80242B88 AFA2001C */ sw $v0, 0x1c($sp) +/* BA730C 80242B8C 8E4200D0 */ lw $v0, 0xd0($s2) +/* BA7310 80242B90 8C420028 */ lw $v0, 0x28($v0) +/* BA7314 80242B94 AFA20020 */ sw $v0, 0x20($sp) +/* BA7318 80242B98 8E4200D0 */ lw $v0, 0xd0($s2) +/* BA731C 80242B9C 3C0142C8 */ lui $at, 0x42c8 +/* BA7320 80242BA0 44810000 */ mtc1 $at, $f0 +/* BA7324 80242BA4 8C42002C */ lw $v0, 0x2c($v0) +/* BA7328 80242BA8 27B00010 */ addiu $s0, $sp, 0x10 +/* BA732C 80242BAC E7A00028 */ swc1 $f0, 0x28($sp) +/* BA7330 80242BB0 A7A0002C */ sh $zero, 0x2c($sp) +/* BA7334 80242BB4 12200019 */ beqz $s1, .L80242C1C +/* BA7338 80242BB8 AFA20024 */ sw $v0, 0x24($sp) +/* BA733C 80242BBC AE600070 */ sw $zero, 0x70($s3) +/* BA7340 80242BC0 A6A0008E */ sh $zero, 0x8e($s5) +/* BA7344 80242BC4 AE600074 */ sw $zero, 0x74($s3) +/* BA7348 80242BC8 8EA20000 */ lw $v0, ($s5) +/* BA734C 80242BCC 2403F7FF */ addiu $v1, $zero, -0x801 +/* BA7350 80242BD0 00431024 */ and $v0, $v0, $v1 +/* BA7354 80242BD4 2403FDFF */ addiu $v1, $zero, -0x201 +/* BA7358 80242BD8 00431024 */ and $v0, $v0, $v1 +/* BA735C 80242BDC 34420008 */ ori $v0, $v0, 8 +/* BA7360 80242BE0 AEA20000 */ sw $v0, ($s5) +/* BA7364 80242BE4 8E4200B0 */ lw $v0, 0xb0($s2) +/* BA7368 80242BE8 34420018 */ ori $v0, $v0, 0x18 +/* BA736C 80242BEC AE4200B0 */ sw $v0, 0xb0($s2) +/* BA7370 80242BF0 8E420000 */ lw $v0, ($s2) +/* BA7374 80242BF4 3C034000 */ lui $v1, 0x4000 +/* BA7378 80242BF8 00431024 */ and $v0, $v0, $v1 +/* BA737C 80242BFC 10400007 */ beqz $v0, .L80242C1C +/* BA7380 80242C00 3C03BFFF */ lui $v1, 0xbfff +/* BA7384 80242C04 2402000C */ addiu $v0, $zero, 0xc +/* BA7388 80242C08 AE620070 */ sw $v0, 0x70($s3) +/* BA738C 80242C0C 8E420000 */ lw $v0, ($s2) +/* BA7390 80242C10 3463FFFF */ ori $v1, $v1, 0xffff +/* BA7394 80242C14 00431024 */ and $v0, $v0, $v1 +/* BA7398 80242C18 AE420000 */ sw $v0, ($s2) +.L80242C1C: +/* BA739C 80242C1C 8E4300B0 */ lw $v1, 0xb0($s2) +/* BA73A0 80242C20 30620004 */ andi $v0, $v1, 4 +/* BA73A4 80242C24 10400007 */ beqz $v0, .L80242C44 +/* BA73A8 80242C28 00000000 */ nop +/* BA73AC 80242C2C 824200B4 */ lb $v0, 0xb4($s2) +/* BA73B0 80242C30 14400034 */ bnez $v0, .L80242D04 +/* BA73B4 80242C34 0000102D */ daddu $v0, $zero, $zero +/* BA73B8 80242C38 2402FFFB */ addiu $v0, $zero, -5 +/* BA73BC 80242C3C 00621024 */ and $v0, $v1, $v0 +/* BA73C0 80242C40 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242C44: +/* BA73C4 80242C44 8E630070 */ lw $v1, 0x70($s3) +/* BA73C8 80242C48 2C62000F */ sltiu $v0, $v1, 0xf +/* BA73CC 80242C4C 1040002C */ beqz $v0, .L80242D00 +/* BA73D0 80242C50 00031080 */ sll $v0, $v1, 2 +/* BA73D4 80242C54 3C018024 */ lui $at, 0x8024 +/* BA73D8 80242C58 00220821 */ addu $at, $at, $v0 +/* BA73DC 80242C5C 8C225980 */ lw $v0, 0x5980($at) +/* BA73E0 80242C60 00400008 */ jr $v0 +/* BA73E4 80242C64 00000000 */ nop +/* BA73E8 80242C68 0260202D */ daddu $a0, $s3, $zero +/* BA73EC 80242C6C 0280282D */ daddu $a1, $s4, $zero +/* BA73F0 80242C70 0C0907C5 */ jal func_80241F14 +/* BA73F4 80242C74 0200302D */ daddu $a2, $s0, $zero +/* BA73F8 80242C78 0260202D */ daddu $a0, $s3, $zero +/* BA73FC 80242C7C 0280282D */ daddu $a1, $s4, $zero +/* BA7400 80242C80 0C090851 */ jal func_80242144 +/* BA7404 80242C84 0200302D */ daddu $a2, $s0, $zero +/* BA7408 80242C88 08090B41 */ j .L80242D04 +/* BA740C 80242C8C 0000102D */ daddu $v0, $zero, $zero +/* BA7410 80242C90 0260202D */ daddu $a0, $s3, $zero +/* BA7414 80242C94 0280282D */ daddu $a1, $s4, $zero +/* BA7418 80242C98 0C09091F */ jal func_8024247C +/* BA741C 80242C9C 0200302D */ daddu $a2, $s0, $zero +/* BA7420 80242CA0 8E630070 */ lw $v1, 0x70($s3) +/* BA7424 80242CA4 24020003 */ addiu $v0, $zero, 3 +/* BA7428 80242CA8 14620016 */ bne $v1, $v0, .L80242D04 +/* BA742C 80242CAC 0000102D */ daddu $v0, $zero, $zero +/* BA7430 80242CB0 0260202D */ daddu $a0, $s3, $zero +/* BA7434 80242CB4 0280282D */ daddu $a1, $s4, $zero +/* BA7438 80242CB8 0C09094F */ jal func_8024253C +/* BA743C 80242CBC 0200302D */ daddu $a2, $s0, $zero +/* BA7440 80242CC0 08090B41 */ j .L80242D04 +/* BA7444 80242CC4 0000102D */ daddu $v0, $zero, $zero +/* BA7448 80242CC8 0260202D */ daddu $a0, $s3, $zero +/* BA744C 80242CCC 0280282D */ daddu $a1, $s4, $zero +/* BA7450 80242CD0 0C0909B8 */ jal func_802426E0 +/* BA7454 80242CD4 0200302D */ daddu $a2, $s0, $zero +/* BA7458 80242CD8 0260202D */ daddu $a0, $s3, $zero +/* BA745C 80242CDC 0280282D */ daddu $a1, $s4, $zero +/* BA7460 80242CE0 0C0909F0 */ jal func_802427C0 +/* BA7464 80242CE4 0200302D */ daddu $a2, $s0, $zero +/* BA7468 80242CE8 08090B41 */ j .L80242D04 +/* BA746C 80242CEC 0000102D */ daddu $v0, $zero, $zero +/* BA7470 80242CF0 0260202D */ daddu $a0, $s3, $zero +/* BA7474 80242CF4 0280282D */ daddu $a1, $s4, $zero +/* BA7478 80242CF8 0C090AB0 */ jal func_80242AC0 +/* BA747C 80242CFC 0200302D */ daddu $a2, $s0, $zero +.L80242D00: +/* BA7480 80242D00 0000102D */ daddu $v0, $zero, $zero +.L80242D04: +/* BA7484 80242D04 8FBF0048 */ lw $ra, 0x48($sp) +/* BA7488 80242D08 8FB50044 */ lw $s5, 0x44($sp) +/* BA748C 80242D0C 8FB40040 */ lw $s4, 0x40($sp) +/* BA7490 80242D10 8FB3003C */ lw $s3, 0x3c($sp) +/* BA7494 80242D14 8FB20038 */ lw $s2, 0x38($sp) +/* BA7498 80242D18 8FB10034 */ lw $s1, 0x34($sp) +/* BA749C 80242D1C 8FB00030 */ lw $s0, 0x30($sp) +/* BA74A0 80242D20 03E00008 */ jr $ra +/* BA74A4 80242D24 27BD0050 */ addiu $sp, $sp, 0x50 +/* BA74A8 80242D28 00000000 */ nop +/* BA74AC 80242D2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240000_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240000_BAA140.s new file mode 100644 index 0000000000..943da7cad4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240000_BAA140.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BAA140 +/* BAA140 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAA144 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BAA148 80240008 0C046ED4 */ jal enable_world_fog +/* BAA14C 8024000C 00000000 */ nop +/* BAA150 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BAA154 80240014 0C046EDD */ jal set_world_fog_dist +/* BAA158 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAA15C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BAA160 80240020 0080282D */ daddu $a1, $a0, $zero +/* BAA164 80240024 0080302D */ daddu $a2, $a0, $zero +/* BAA168 80240028 0C046EE2 */ jal set_world_fog_color +/* BAA16C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BAA170 80240030 0C048BFB */ jal enable_entity_fog +/* BAA174 80240034 00000000 */ nop +/* BAA178 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* BAA17C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* BAA180 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAA184 80240044 0000202D */ daddu $a0, $zero, $zero +/* BAA188 80240048 0080282D */ daddu $a1, $a0, $zero +/* BAA18C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* BAA190 80240050 0C048C0A */ jal set_entity_fog_color +/* BAA194 80240054 240700FF */ addiu $a3, $zero, 0xff +/* BAA198 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* BAA19C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* BAA1A0 80240060 03E00008 */ jr $ra +/* BAA1A4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 +/* BAA1A8 80240068 00000000 */ nop +/* BAA1AC 8024006C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240070_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240070_BAA140.s new file mode 100644 index 0000000000..f604274df0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240070_BAA140.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_BAA1B0 +/* BAA1B0 80240070 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAA1B4 80240074 AFBF0010 */ sw $ra, 0x10($sp) +/* BAA1B8 80240078 0C046ED4 */ jal enable_world_fog +/* BAA1BC 8024007C 00000000 */ nop +/* BAA1C0 80240080 240403DE */ addiu $a0, $zero, 0x3de +/* BAA1C4 80240084 0C046EDD */ jal set_world_fog_dist +/* BAA1C8 80240088 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAA1CC 8024008C 0000202D */ daddu $a0, $zero, $zero +/* BAA1D0 80240090 0080282D */ daddu $a1, $a0, $zero +/* BAA1D4 80240094 0080302D */ daddu $a2, $a0, $zero +/* BAA1D8 80240098 0C046EE2 */ jal set_world_fog_color +/* BAA1DC 8024009C 240700FF */ addiu $a3, $zero, 0xff +/* BAA1E0 802400A0 0C048BFB */ jal enable_entity_fog +/* BAA1E4 802400A4 00000000 */ nop +/* BAA1E8 802400A8 240403DE */ addiu $a0, $zero, 0x3de +/* BAA1EC 802400AC 0C048C04 */ jal set_entity_fog_dist +/* BAA1F0 802400B0 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAA1F4 802400B4 0000202D */ daddu $a0, $zero, $zero +/* BAA1F8 802400B8 0080282D */ daddu $a1, $a0, $zero +/* BAA1FC 802400BC 0080302D */ daddu $a2, $a0, $zero +/* BAA200 802400C0 0C048C0A */ jal set_entity_fog_color +/* BAA204 802400C4 240700FF */ addiu $a3, $zero, 0xff +/* BAA208 802400C8 8FBF0010 */ lw $ra, 0x10($sp) +/* BAA20C 802400CC 24020002 */ addiu $v0, $zero, 2 +/* BAA210 802400D0 03E00008 */ jr $ra +/* BAA214 802400D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_802400D8.s b/asm/nonmatchings/world/area_mim/mim_07/func_802400D8.s new file mode 100644 index 0000000000..025610b03f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_802400D8.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D8 +/* BAA218 802400D8 3C058024 */ lui $a1, 0x8024 +/* BAA21C 802400DC 24A51680 */ addiu $a1, $a1, 0x1680 +/* BAA220 802400E0 8CA30000 */ lw $v1, ($a1) +/* BAA224 802400E4 24040002 */ addiu $a0, $zero, 2 +/* BAA228 802400E8 10640012 */ beq $v1, $a0, .L80240134 +/* BAA22C 802400EC 28620003 */ slti $v0, $v1, 3 +/* BAA230 802400F0 10400005 */ beqz $v0, .L80240108 +/* BAA234 802400F4 24020001 */ addiu $v0, $zero, 1 +/* BAA238 802400F8 1062000A */ beq $v1, $v0, .L80240124 +/* BAA23C 802400FC 3C02E300 */ lui $v0, 0xe300 +/* BAA240 80240100 08090071 */ j .L802401C4 +/* BAA244 80240104 34420A01 */ ori $v0, $v0, 0xa01 +.L80240108: +/* BAA248 80240108 24020003 */ addiu $v0, $zero, 3 +/* BAA24C 8024010C 10620019 */ beq $v1, $v0, .L80240174 +/* BAA250 80240110 24020004 */ addiu $v0, $zero, 4 +/* BAA254 80240114 10620021 */ beq $v1, $v0, .L8024019C +/* BAA258 80240118 3C02E300 */ lui $v0, 0xe300 +/* BAA25C 8024011C 08090071 */ j .L802401C4 +/* BAA260 80240120 34420A01 */ ori $v0, $v0, 0xa01 +.L80240124: +/* BAA264 80240124 3C018024 */ lui $at, 0x8024 +/* BAA268 80240128 AC201688 */ sw $zero, 0x1688($at) +/* BAA26C 8024012C 0809006F */ j .L802401BC +/* BAA270 80240130 ACA40000 */ sw $a0, ($a1) +.L80240134: +/* BAA274 80240134 3C038024 */ lui $v1, 0x8024 +/* BAA278 80240138 24631688 */ addiu $v1, $v1, 0x1688 +/* BAA27C 8024013C 8C620000 */ lw $v0, ($v1) +/* BAA280 80240140 2442000A */ addiu $v0, $v0, 0xa +/* BAA284 80240144 AC620000 */ sw $v0, ($v1) +/* BAA288 80240148 28420100 */ slti $v0, $v0, 0x100 +/* BAA28C 8024014C 1440001C */ bnez $v0, .L802401C0 +/* BAA290 80240150 3C02E300 */ lui $v0, 0xe300 +/* BAA294 80240154 240200FF */ addiu $v0, $zero, 0xff +/* BAA298 80240158 AC620000 */ sw $v0, ($v1) +/* BAA29C 8024015C 24020032 */ addiu $v0, $zero, 0x32 +/* BAA2A0 80240160 3C018024 */ lui $at, 0x8024 +/* BAA2A4 80240164 AC221684 */ sw $v0, 0x1684($at) +/* BAA2A8 80240168 24020003 */ addiu $v0, $zero, 3 +/* BAA2AC 8024016C 0809006F */ j .L802401BC +/* BAA2B0 80240170 ACA20000 */ sw $v0, ($a1) +.L80240174: +/* BAA2B4 80240174 3C038024 */ lui $v1, 0x8024 +/* BAA2B8 80240178 24631684 */ addiu $v1, $v1, 0x1684 +/* BAA2BC 8024017C 8C620000 */ lw $v0, ($v1) +/* BAA2C0 80240180 2442FFFF */ addiu $v0, $v0, -1 +/* BAA2C4 80240184 0441000D */ bgez $v0, .L802401BC +/* BAA2C8 80240188 AC620000 */ sw $v0, ($v1) +/* BAA2CC 8024018C 24020004 */ addiu $v0, $zero, 4 +/* BAA2D0 80240190 AC600000 */ sw $zero, ($v1) +/* BAA2D4 80240194 0809006F */ j .L802401BC +/* BAA2D8 80240198 ACA20000 */ sw $v0, ($a1) +.L8024019C: +/* BAA2DC 8024019C 3C038024 */ lui $v1, 0x8024 +/* BAA2E0 802401A0 24631688 */ addiu $v1, $v1, 0x1688 +/* BAA2E4 802401A4 8C620000 */ lw $v0, ($v1) +/* BAA2E8 802401A8 2442FFF9 */ addiu $v0, $v0, -7 +/* BAA2EC 802401AC 04410003 */ bgez $v0, .L802401BC +/* BAA2F0 802401B0 AC620000 */ sw $v0, ($v1) +/* BAA2F4 802401B4 AC600000 */ sw $zero, ($v1) +/* BAA2F8 802401B8 ACA00000 */ sw $zero, ($a1) +.L802401BC: +/* BAA2FC 802401BC 3C02E300 */ lui $v0, 0xe300 +.L802401C0: +/* BAA300 802401C0 34420A01 */ ori $v0, $v0, 0xa01 +.L802401C4: +/* BAA304 802401C4 3C06FC12 */ lui $a2, 0xfc12 +/* BAA308 802401C8 34C6160A */ ori $a2, $a2, 0x160a +/* BAA30C 802401CC 3C08E200 */ lui $t0, 0xe200 +/* BAA310 802401D0 3508001C */ ori $t0, $t0, 0x1c +/* BAA314 802401D4 3C07C810 */ lui $a3, 0xc810 +/* BAA318 802401D8 3C05800A */ lui $a1, 0x800a +/* BAA31C 802401DC 24A5A66C */ addiu $a1, $a1, -0x5994 +/* BAA320 802401E0 8CA30000 */ lw $v1, ($a1) +/* BAA324 802401E4 34E74DD8 */ ori $a3, $a3, 0x4dd8 +/* BAA328 802401E8 0060202D */ daddu $a0, $v1, $zero +/* BAA32C 802401EC 24630008 */ addiu $v1, $v1, 8 +/* BAA330 802401F0 ACA30000 */ sw $v1, ($a1) +/* BAA334 802401F4 AC820000 */ sw $v0, ($a0) +/* BAA338 802401F8 3C020010 */ lui $v0, 0x10 +/* BAA33C 802401FC AC820004 */ sw $v0, 4($a0) +/* BAA340 80240200 24620008 */ addiu $v0, $v1, 8 +/* BAA344 80240204 ACA20000 */ sw $v0, ($a1) +/* BAA348 80240208 3C048024 */ lui $a0, 0x8024 +/* BAA34C 8024020C 9084168B */ lbu $a0, 0x168b($a0) +/* BAA350 80240210 3C02FA00 */ lui $v0, 0xfa00 +/* BAA354 80240214 AC620000 */ sw $v0, ($v1) +/* BAA358 80240218 24620010 */ addiu $v0, $v1, 0x10 +/* BAA35C 8024021C AC640004 */ sw $a0, 4($v1) +/* BAA360 80240220 ACA20000 */ sw $v0, ($a1) +/* BAA364 80240224 2402FFF8 */ addiu $v0, $zero, -8 +/* BAA368 80240228 AC62000C */ sw $v0, 0xc($v1) +/* BAA36C 8024022C 24620018 */ addiu $v0, $v1, 0x18 +/* BAA370 80240230 AC660008 */ sw $a2, 8($v1) +/* BAA374 80240234 ACA20000 */ sw $v0, ($a1) +/* BAA378 80240238 AC680010 */ sw $t0, 0x10($v1) +/* BAA37C 8024023C 03E00008 */ jr $ra +/* BAA380 80240240 AC670014 */ sw $a3, 0x14($v1) diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240244.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240244.s new file mode 100644 index 0000000000..92b1c6f74a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240244.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240244 +/* BAA384 80240244 3C038024 */ lui $v1, 0x8024 +/* BAA388 80240248 24631680 */ addiu $v1, $v1, 0x1680 +/* BAA38C 8024024C 8C620000 */ lw $v0, ($v1) +/* BAA390 80240250 14400003 */ bnez $v0, .L80240260 +/* BAA394 80240254 24020001 */ addiu $v0, $zero, 1 +/* BAA398 80240258 AC620000 */ sw $v0, ($v1) +/* BAA39C 8024025C AC820084 */ sw $v0, 0x84($a0) +.L80240260: +/* BAA3A0 80240260 03E00008 */ jr $ra +/* BAA3A4 80240264 24020002 */ addiu $v0, $zero, 2 +/* BAA3A8 80240268 00000000 */ nop +/* BAA3AC 8024026C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240270_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240270_BAA140.s new file mode 100644 index 0000000000..11969e2a5b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240270_BAA140.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240270_BAA3B0 +/* BAA3B0 80240270 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BAA3B4 80240274 AFB00030 */ sw $s0, 0x30($sp) +/* BAA3B8 80240278 0080802D */ daddu $s0, $a0, $zero +/* BAA3BC 8024027C AFBF0040 */ sw $ra, 0x40($sp) +/* BAA3C0 80240280 AFB3003C */ sw $s3, 0x3c($sp) +/* BAA3C4 80240284 AFB20038 */ sw $s2, 0x38($sp) +/* BAA3C8 80240288 AFB10034 */ sw $s1, 0x34($sp) +/* BAA3CC 8024028C F7B60050 */ sdc1 $f22, 0x50($sp) +/* BAA3D0 80240290 F7B40048 */ sdc1 $f20, 0x48($sp) +/* BAA3D4 80240294 8E130148 */ lw $s3, 0x148($s0) +/* BAA3D8 80240298 00A0882D */ daddu $s1, $a1, $zero +/* BAA3DC 8024029C 86640008 */ lh $a0, 8($s3) +/* BAA3E0 802402A0 0C00EABB */ jal get_npc_unsafe +/* BAA3E4 802402A4 00C0902D */ daddu $s2, $a2, $zero +/* BAA3E8 802402A8 0200202D */ daddu $a0, $s0, $zero +/* BAA3EC 802402AC 0220282D */ daddu $a1, $s1, $zero +/* BAA3F0 802402B0 0240302D */ daddu $a2, $s2, $zero +/* BAA3F4 802402B4 0C012568 */ jal func_800495A0 +/* BAA3F8 802402B8 0040802D */ daddu $s0, $v0, $zero +/* BAA3FC 802402BC 8E020000 */ lw $v0, ($s0) +/* BAA400 802402C0 2404002D */ addiu $a0, $zero, 0x2d +/* BAA404 802402C4 34420800 */ ori $v0, $v0, 0x800 +/* BAA408 802402C8 0C00A67F */ jal rand_int +/* BAA40C 802402CC AE020000 */ sw $v0, ($s0) +/* BAA410 802402D0 0200202D */ daddu $a0, $s0, $zero +/* BAA414 802402D4 3C05B000 */ lui $a1, 0xb000 +/* BAA418 802402D8 34A50017 */ ori $a1, $a1, 0x17 +/* BAA41C 802402DC 44820000 */ mtc1 $v0, $f0 +/* BAA420 802402E0 00000000 */ nop +/* BAA424 802402E4 46800021 */ cvt.d.w $f0, $f0 +/* BAA428 802402E8 3C014024 */ lui $at, 0x4024 +/* BAA42C 802402EC 44811800 */ mtc1 $at, $f3 +/* BAA430 802402F0 44801000 */ mtc1 $zero, $f2 +/* BAA434 802402F4 3C014020 */ lui $at, 0x4020 +/* BAA438 802402F8 44812800 */ mtc1 $at, $f5 +/* BAA43C 802402FC 44802000 */ mtc1 $zero, $f4 +/* BAA440 80240300 46220003 */ div.d $f0, $f0, $f2 +/* BAA444 80240304 46240000 */ add.d $f0, $f0, $f4 +/* BAA448 80240308 3C013FC0 */ lui $at, 0x3fc0 +/* BAA44C 8024030C 44811000 */ mtc1 $at, $f2 +/* BAA450 80240310 0000302D */ daddu $a2, $zero, $zero +/* BAA454 80240314 E6020014 */ swc1 $f2, 0x14($s0) +/* BAA458 80240318 46200020 */ cvt.s.d $f0, $f0 +/* BAA45C 8024031C 0C012530 */ jal func_800494C0 +/* BAA460 80240320 E600001C */ swc1 $f0, 0x1c($s0) +/* BAA464 80240324 8E6300D0 */ lw $v1, 0xd0($s3) +/* BAA468 80240328 C6000040 */ lwc1 $f0, 0x40($s0) +/* BAA46C 8024032C C4620000 */ lwc1 $f2, ($v1) +/* BAA470 80240330 468010A0 */ cvt.s.w $f2, $f2 +/* BAA474 80240334 C4640008 */ lwc1 $f4, 8($v1) +/* BAA478 80240338 46802120 */ cvt.s.w $f4, $f4 +/* BAA47C 8024033C E7A00010 */ swc1 $f0, 0x10($sp) +/* BAA480 80240340 8E6200D0 */ lw $v0, 0xd0($s3) +/* BAA484 80240344 44051000 */ mfc1 $a1, $f2 +/* BAA488 80240348 C440000C */ lwc1 $f0, 0xc($v0) +/* BAA48C 8024034C 46800020 */ cvt.s.w $f0, $f0 +/* BAA490 80240350 E7A00014 */ swc1 $f0, 0x14($sp) +/* BAA494 80240354 8E6200D0 */ lw $v0, 0xd0($s3) +/* BAA498 80240358 44062000 */ mfc1 $a2, $f4 +/* BAA49C 8024035C C4400010 */ lwc1 $f0, 0x10($v0) +/* BAA4A0 80240360 46800020 */ cvt.s.w $f0, $f0 +/* BAA4A4 80240364 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAA4A8 80240368 8C640018 */ lw $a0, 0x18($v1) +/* BAA4AC 8024036C 0C0123F5 */ jal is_point_within_region +/* BAA4B0 80240370 8E070038 */ lw $a3, 0x38($s0) +/* BAA4B4 80240374 10400035 */ beqz $v0, .L8024044C +/* BAA4B8 80240378 00000000 */ nop +/* BAA4BC 8024037C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAA4C0 80240380 3C0141C8 */ lui $at, 0x41c8 +/* BAA4C4 80240384 4481B000 */ mtc1 $at, $f22 +/* BAA4C8 80240388 8E6200D0 */ lw $v0, 0xd0($s3) +/* BAA4CC 8024038C C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAA4D0 80240390 C4480000 */ lwc1 $f8, ($v0) +/* BAA4D4 80240394 46804220 */ cvt.s.w $f8, $f8 +/* BAA4D8 80240398 44064000 */ mfc1 $a2, $f8 +/* BAA4DC 8024039C C4480008 */ lwc1 $f8, 8($v0) +/* BAA4E0 802403A0 46804220 */ cvt.s.w $f8, $f8 +/* BAA4E4 802403A4 44074000 */ mfc1 $a3, $f8 +/* BAA4E8 802403A8 3C01403E */ lui $at, 0x403e +/* BAA4EC 802403AC 4481A800 */ mtc1 $at, $f21 +/* BAA4F0 802403B0 4480A000 */ mtc1 $zero, $f20 +/* BAA4F4 802403B4 0C00A720 */ jal atan2 +/* BAA4F8 802403B8 0000882D */ daddu $s1, $zero, $zero +/* BAA4FC 802403BC C6020038 */ lwc1 $f2, 0x38($s0) +/* BAA500 802403C0 C604003C */ lwc1 $f4, 0x3c($s0) +/* BAA504 802403C4 C6060040 */ lwc1 $f6, 0x40($s0) +/* BAA508 802403C8 E600000C */ swc1 $f0, 0xc($s0) +/* BAA50C 802403CC E7A20020 */ swc1 $f2, 0x20($sp) +/* BAA510 802403D0 E7A40024 */ swc1 $f4, 0x24($sp) +/* BAA514 802403D4 E7A60028 */ swc1 $f6, 0x28($sp) +.L802403D8: +/* BAA518 802403D8 E7B60010 */ swc1 $f22, 0x10($sp) +/* BAA51C 802403DC C600000C */ lwc1 $f0, 0xc($s0) +/* BAA520 802403E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* BAA524 802403E4 860200A8 */ lh $v0, 0xa8($s0) +/* BAA528 802403E8 27A50020 */ addiu $a1, $sp, 0x20 +/* BAA52C 802403EC 44820000 */ mtc1 $v0, $f0 +/* BAA530 802403F0 00000000 */ nop +/* BAA534 802403F4 46800020 */ cvt.s.w $f0, $f0 +/* BAA538 802403F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAA53C 802403FC 860200A6 */ lh $v0, 0xa6($s0) +/* BAA540 80240400 27A60024 */ addiu $a2, $sp, 0x24 +/* BAA544 80240404 44820000 */ mtc1 $v0, $f0 +/* BAA548 80240408 00000000 */ nop +/* BAA54C 8024040C 46800020 */ cvt.s.w $f0, $f0 +/* BAA550 80240410 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAA554 80240414 8E040080 */ lw $a0, 0x80($s0) +/* BAA558 80240418 0C037711 */ jal func_800DDC44 +/* BAA55C 8024041C 27A70028 */ addiu $a3, $sp, 0x28 +/* BAA560 80240420 10400016 */ beqz $v0, .L8024047C +/* BAA564 80240424 26310001 */ addiu $s1, $s1, 1 +/* BAA568 80240428 C600000C */ lwc1 $f0, 0xc($s0) +/* BAA56C 8024042C 46000021 */ cvt.d.s $f0, $f0 +/* BAA570 80240430 46340000 */ add.d $f0, $f0, $f20 +/* BAA574 80240434 2A220006 */ slti $v0, $s1, 6 +/* BAA578 80240438 46200020 */ cvt.s.d $f0, $f0 +/* BAA57C 8024043C 1440FFE6 */ bnez $v0, .L802403D8 +/* BAA580 80240440 E600000C */ swc1 $f0, 0xc($s0) +/* BAA584 80240444 0809011F */ j .L8024047C +/* BAA588 80240448 00000000 */ nop +.L8024044C: +/* BAA58C 8024044C 0C00A67F */ jal rand_int +/* BAA590 80240450 2404003C */ addiu $a0, $zero, 0x3c +/* BAA594 80240454 C60C000C */ lwc1 $f12, 0xc($s0) +/* BAA598 80240458 44820000 */ mtc1 $v0, $f0 +/* BAA59C 8024045C 00000000 */ nop +/* BAA5A0 80240460 46800020 */ cvt.s.w $f0, $f0 +/* BAA5A4 80240464 46006300 */ add.s $f12, $f12, $f0 +/* BAA5A8 80240468 3C0141F0 */ lui $at, 0x41f0 +/* BAA5AC 8024046C 44810000 */ mtc1 $at, $f0 +/* BAA5B0 80240470 0C00A6C9 */ jal clamp_angle +/* BAA5B4 80240474 46006301 */ sub.s $f12, $f12, $f0 +/* BAA5B8 80240478 E600000C */ swc1 $f0, 0xc($s0) +.L8024047C: +/* BAA5BC 8024047C 8FBF0040 */ lw $ra, 0x40($sp) +/* BAA5C0 80240480 8FB3003C */ lw $s3, 0x3c($sp) +/* BAA5C4 80240484 8FB20038 */ lw $s2, 0x38($sp) +/* BAA5C8 80240488 8FB10034 */ lw $s1, 0x34($sp) +/* BAA5CC 8024048C 8FB00030 */ lw $s0, 0x30($sp) +/* BAA5D0 80240490 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BAA5D4 80240494 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BAA5D8 80240498 03E00008 */ jr $ra +/* BAA5DC 8024049C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_802404A0_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_802404A0_BAA140.s new file mode 100644 index 0000000000..03d8e9f933 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_802404A0_BAA140.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A0_BAA5E0 +/* BAA5E0 802404A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* BAA5E4 802404A4 AFB3004C */ sw $s3, 0x4c($sp) +/* BAA5E8 802404A8 0080982D */ daddu $s3, $a0, $zero +/* BAA5EC 802404AC AFBF0054 */ sw $ra, 0x54($sp) +/* BAA5F0 802404B0 AFB40050 */ sw $s4, 0x50($sp) +/* BAA5F4 802404B4 AFB20048 */ sw $s2, 0x48($sp) +/* BAA5F8 802404B8 AFB10044 */ sw $s1, 0x44($sp) +/* BAA5FC 802404BC AFB00040 */ sw $s0, 0x40($sp) +/* BAA600 802404C0 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BAA604 802404C4 8E710148 */ lw $s1, 0x148($s3) +/* BAA608 802404C8 00A0A02D */ daddu $s4, $a1, $zero +/* BAA60C 802404CC 86240008 */ lh $a0, 8($s1) +/* BAA610 802404D0 0C00EABB */ jal get_npc_unsafe +/* BAA614 802404D4 00C0902D */ daddu $s2, $a2, $zero +/* BAA618 802404D8 8E830014 */ lw $v1, 0x14($s4) +/* BAA61C 802404DC 04600034 */ bltz $v1, .L802405B0 +/* BAA620 802404E0 0040802D */ daddu $s0, $v0, $zero +/* BAA624 802404E4 8E620074 */ lw $v0, 0x74($s3) +/* BAA628 802404E8 1C400030 */ bgtz $v0, .L802405AC +/* BAA62C 802404EC 2442FFFF */ addiu $v0, $v0, -1 +/* BAA630 802404F0 0240202D */ daddu $a0, $s2, $zero +/* BAA634 802404F4 AE630074 */ sw $v1, 0x74($s3) +/* BAA638 802404F8 AFA00010 */ sw $zero, 0x10($sp) +/* BAA63C 802404FC 8E86000C */ lw $a2, 0xc($s4) +/* BAA640 80240500 8E870010 */ lw $a3, 0x10($s4) +/* BAA644 80240504 0C01242D */ jal func_800490B4 +/* BAA648 80240508 0220282D */ daddu $a1, $s1, $zero +/* BAA64C 8024050C 10400025 */ beqz $v0, .L802405A4 +/* BAA650 80240510 0000202D */ daddu $a0, $zero, $zero +/* BAA654 80240514 0200282D */ daddu $a1, $s0, $zero +/* BAA658 80240518 0000302D */ daddu $a2, $zero, $zero +/* BAA65C 8024051C 860300A8 */ lh $v1, 0xa8($s0) +/* BAA660 80240520 3C013F80 */ lui $at, 0x3f80 +/* BAA664 80240524 44810000 */ mtc1 $at, $f0 +/* BAA668 80240528 3C014000 */ lui $at, 0x4000 +/* BAA66C 8024052C 44811000 */ mtc1 $at, $f2 +/* BAA670 80240530 3C01C1A0 */ lui $at, 0xc1a0 +/* BAA674 80240534 44812000 */ mtc1 $at, $f4 +/* BAA678 80240538 2402000F */ addiu $v0, $zero, 0xf +/* BAA67C 8024053C AFA2001C */ sw $v0, 0x1c($sp) +/* BAA680 80240540 44835000 */ mtc1 $v1, $f10 +/* BAA684 80240544 00000000 */ nop +/* BAA688 80240548 468052A0 */ cvt.s.w $f10, $f10 +/* BAA68C 8024054C 44075000 */ mfc1 $a3, $f10 +/* BAA690 80240550 27A20028 */ addiu $v0, $sp, 0x28 +/* BAA694 80240554 AFA20020 */ sw $v0, 0x20($sp) +/* BAA698 80240558 E7A00010 */ swc1 $f0, 0x10($sp) +/* BAA69C 8024055C E7A20014 */ swc1 $f2, 0x14($sp) +/* BAA6A0 80240560 0C01BFA4 */ jal fx_emote +/* BAA6A4 80240564 E7A40018 */ swc1 $f4, 0x18($sp) +/* BAA6A8 80240568 0200202D */ daddu $a0, $s0, $zero +/* BAA6AC 8024056C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BAA6B0 80240570 0C012530 */ jal func_800494C0 +/* BAA6B4 80240574 3C060020 */ lui $a2, 0x20 +/* BAA6B8 80240578 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAA6BC 8024057C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAA6C0 80240580 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAA6C4 80240584 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAA6C8 80240588 8C460028 */ lw $a2, 0x28($v0) +/* BAA6CC 8024058C 0C00A720 */ jal atan2 +/* BAA6D0 80240590 8C470030 */ lw $a3, 0x30($v0) +/* BAA6D4 80240594 2402000C */ addiu $v0, $zero, 0xc +/* BAA6D8 80240598 E600000C */ swc1 $f0, 0xc($s0) +/* BAA6DC 8024059C 080901ED */ j .L802407B4 +/* BAA6E0 802405A0 AE620070 */ sw $v0, 0x70($s3) +.L802405A4: +/* BAA6E4 802405A4 8E620074 */ lw $v0, 0x74($s3) +/* BAA6E8 802405A8 2442FFFF */ addiu $v0, $v0, -1 +.L802405AC: +/* BAA6EC 802405AC AE620074 */ sw $v0, 0x74($s3) +.L802405B0: +/* BAA6F0 802405B0 C6000018 */ lwc1 $f0, 0x18($s0) +/* BAA6F4 802405B4 44801000 */ mtc1 $zero, $f2 +/* BAA6F8 802405B8 44801800 */ mtc1 $zero, $f3 +/* BAA6FC 802405BC 46000021 */ cvt.d.s $f0, $f0 +/* BAA700 802405C0 4620103C */ c.lt.d $f2, $f0 +/* BAA704 802405C4 00000000 */ nop +/* BAA708 802405C8 45000025 */ bc1f .L80240660 +/* BAA70C 802405CC 27A5002C */ addiu $a1, $sp, 0x2c +/* BAA710 802405D0 C6000038 */ lwc1 $f0, 0x38($s0) +/* BAA714 802405D4 860200A6 */ lh $v0, 0xa6($s0) +/* BAA718 802405D8 3C018024 */ lui $at, 0x8024 +/* BAA71C 802405DC D42237B0 */ ldc1 $f2, 0x37b0($at) +/* BAA720 802405E0 27A60030 */ addiu $a2, $sp, 0x30 +/* BAA724 802405E4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* BAA728 802405E8 44820000 */ mtc1 $v0, $f0 +/* BAA72C 802405EC 00000000 */ nop +/* BAA730 802405F0 46800020 */ cvt.s.w $f0, $f0 +/* BAA734 802405F4 46000021 */ cvt.d.s $f0, $f0 +/* BAA738 802405F8 C604003C */ lwc1 $f4, 0x3c($s0) +/* BAA73C 802405FC C6060040 */ lwc1 $f6, 0x40($s0) +/* BAA740 80240600 C6080018 */ lwc1 $f8, 0x18($s0) +/* BAA744 80240604 860200A8 */ lh $v0, 0xa8($s0) +/* BAA748 80240608 46220002 */ mul.d $f0, $f0, $f2 +/* BAA74C 8024060C 00000000 */ nop +/* BAA750 80240610 E7A40030 */ swc1 $f4, 0x30($sp) +/* BAA754 80240614 E7A60034 */ swc1 $f6, 0x34($sp) +/* BAA758 80240618 E7A80010 */ swc1 $f8, 0x10($sp) +/* BAA75C 8024061C C604000C */ lwc1 $f4, 0xc($s0) +/* BAA760 80240620 44821000 */ mtc1 $v0, $f2 +/* BAA764 80240624 00000000 */ nop +/* BAA768 80240628 468010A0 */ cvt.s.w $f2, $f2 +/* BAA76C 8024062C E7A20018 */ swc1 $f2, 0x18($sp) +/* BAA770 80240630 E7A40014 */ swc1 $f4, 0x14($sp) +/* BAA774 80240634 46200020 */ cvt.s.d $f0, $f0 +/* BAA778 80240638 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAA77C 8024063C 8E040080 */ lw $a0, 0x80($s0) +/* BAA780 80240640 0C037711 */ jal func_800DDC44 +/* BAA784 80240644 27A70034 */ addiu $a3, $sp, 0x34 +/* BAA788 80240648 54400005 */ bnel $v0, $zero, .L80240660 +/* BAA78C 8024064C AE000018 */ sw $zero, 0x18($s0) +/* BAA790 80240650 8E050018 */ lw $a1, 0x18($s0) +/* BAA794 80240654 8E06000C */ lw $a2, 0xc($s0) +/* BAA798 80240658 0C00EA95 */ jal npc_move_heading +/* BAA79C 8024065C 0200202D */ daddu $a0, $s0, $zero +.L80240660: +/* BAA7A0 80240660 C600001C */ lwc1 $f0, 0x1c($s0) +/* BAA7A4 80240664 44801000 */ mtc1 $zero, $f2 +/* BAA7A8 80240668 44801800 */ mtc1 $zero, $f3 +/* BAA7AC 8024066C 46000021 */ cvt.d.s $f0, $f0 +/* BAA7B0 80240670 4622003C */ c.lt.d $f0, $f2 +/* BAA7B4 80240674 00000000 */ nop +/* BAA7B8 80240678 45000047 */ bc1f .L80240798 +/* BAA7BC 8024067C 27A5002C */ addiu $a1, $sp, 0x2c +/* BAA7C0 80240680 27A60030 */ addiu $a2, $sp, 0x30 +/* BAA7C4 80240684 27A20038 */ addiu $v0, $sp, 0x38 +/* BAA7C8 80240688 C602003C */ lwc1 $f2, 0x3c($s0) +/* BAA7CC 8024068C C6060038 */ lwc1 $f6, 0x38($s0) +/* BAA7D0 80240690 3C01402A */ lui $at, 0x402a +/* BAA7D4 80240694 4481A800 */ mtc1 $at, $f21 +/* BAA7D8 80240698 4480A000 */ mtc1 $zero, $f20 +/* BAA7DC 8024069C 460010A1 */ cvt.d.s $f2, $f2 +/* BAA7E0 802406A0 46341080 */ add.d $f2, $f2, $f20 +/* BAA7E4 802406A4 C600001C */ lwc1 $f0, 0x1c($s0) +/* BAA7E8 802406A8 C6040040 */ lwc1 $f4, 0x40($s0) +/* BAA7EC 802406AC 46000005 */ abs.s $f0, $f0 +/* BAA7F0 802406B0 E7A40034 */ swc1 $f4, 0x34($sp) +/* BAA7F4 802406B4 3C014030 */ lui $at, 0x4030 +/* BAA7F8 802406B8 44812800 */ mtc1 $at, $f5 +/* BAA7FC 802406BC 44802000 */ mtc1 $zero, $f4 +/* BAA800 802406C0 46000021 */ cvt.d.s $f0, $f0 +/* BAA804 802406C4 E7A6002C */ swc1 $f6, 0x2c($sp) +/* BAA808 802406C8 46240000 */ add.d $f0, $f0, $f4 +/* BAA80C 802406CC 462010A0 */ cvt.s.d $f2, $f2 +/* BAA810 802406D0 E7A20030 */ swc1 $f2, 0x30($sp) +/* BAA814 802406D4 46200020 */ cvt.s.d $f0, $f0 +/* BAA818 802406D8 E7A00038 */ swc1 $f0, 0x38($sp) +/* BAA81C 802406DC AFA20010 */ sw $v0, 0x10($sp) +/* BAA820 802406E0 8E040080 */ lw $a0, 0x80($s0) +/* BAA824 802406E4 0C0372DF */ jal func_800DCB7C +/* BAA828 802406E8 27A70034 */ addiu $a3, $sp, 0x34 +/* BAA82C 802406EC 1040002A */ beqz $v0, .L80240798 +/* BAA830 802406F0 00000000 */ nop +/* BAA834 802406F4 C600001C */ lwc1 $f0, 0x1c($s0) +/* BAA838 802406F8 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BAA83C 802406FC 46000005 */ abs.s $f0, $f0 +/* BAA840 80240700 46000021 */ cvt.d.s $f0, $f0 +/* BAA844 80240704 46340000 */ add.d $f0, $f0, $f20 +/* BAA848 80240708 460010A1 */ cvt.d.s $f2, $f2 +/* BAA84C 8024070C 4620103E */ c.le.d $f2, $f0 +/* BAA850 80240710 00000000 */ nop +/* BAA854 80240714 45000020 */ bc1f .L80240798 +/* BAA858 80240718 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BAA85C 8024071C C7A00030 */ lwc1 $f0, 0x30($sp) +/* BAA860 80240720 8E020000 */ lw $v0, ($s0) +/* BAA864 80240724 2403F7FF */ addiu $v1, $zero, -0x801 +/* BAA868 80240728 AE00001C */ sw $zero, 0x1c($s0) +/* BAA86C 8024072C 00431024 */ and $v0, $v0, $v1 +/* BAA870 80240730 AE020000 */ sw $v0, ($s0) +/* BAA874 80240734 24020002 */ addiu $v0, $zero, 2 +/* BAA878 80240738 E600003C */ swc1 $f0, 0x3c($s0) +/* BAA87C 8024073C 0C00A67F */ jal rand_int +/* BAA880 80240740 AE620070 */ sw $v0, 0x70($s3) +/* BAA884 80240744 3C035555 */ lui $v1, 0x5555 +/* BAA888 80240748 34635556 */ ori $v1, $v1, 0x5556 +/* BAA88C 8024074C 00430018 */ mult $v0, $v1 +/* BAA890 80240750 000227C3 */ sra $a0, $v0, 0x1f +/* BAA894 80240754 00004010 */ mfhi $t0 +/* BAA898 80240758 01042023 */ subu $a0, $t0, $a0 +/* BAA89C 8024075C 00041840 */ sll $v1, $a0, 1 +/* BAA8A0 80240760 00641821 */ addu $v1, $v1, $a0 +/* BAA8A4 80240764 00431023 */ subu $v0, $v0, $v1 +/* BAA8A8 80240768 24430002 */ addiu $v1, $v0, 2 +/* BAA8AC 8024076C AE630074 */ sw $v1, 0x74($s3) +/* BAA8B0 80240770 8E82002C */ lw $v0, 0x2c($s4) +/* BAA8B4 80240774 5840000F */ blezl $v0, .L802407B4 +/* BAA8B8 80240778 AE600070 */ sw $zero, 0x70($s3) +/* BAA8BC 8024077C 8E820004 */ lw $v0, 4($s4) +/* BAA8C0 80240780 5840000C */ blezl $v0, .L802407B4 +/* BAA8C4 80240784 AE600070 */ sw $zero, 0x70($s3) +/* BAA8C8 80240788 1460000A */ bnez $v1, .L802407B4 +/* BAA8CC 8024078C 00000000 */ nop +/* BAA8D0 80240790 080901ED */ j .L802407B4 +/* BAA8D4 80240794 AE600070 */ sw $zero, 0x70($s3) +.L80240798: +/* BAA8D8 80240798 C604003C */ lwc1 $f4, 0x3c($s0) +/* BAA8DC 8024079C C600001C */ lwc1 $f0, 0x1c($s0) +/* BAA8E0 802407A0 46002100 */ add.s $f4, $f4, $f0 +/* BAA8E4 802407A4 C6020014 */ lwc1 $f2, 0x14($s0) +/* BAA8E8 802407A8 46020001 */ sub.s $f0, $f0, $f2 +/* BAA8EC 802407AC E604003C */ swc1 $f4, 0x3c($s0) +/* BAA8F0 802407B0 E600001C */ swc1 $f0, 0x1c($s0) +.L802407B4: +/* BAA8F4 802407B4 8FBF0054 */ lw $ra, 0x54($sp) +/* BAA8F8 802407B8 8FB40050 */ lw $s4, 0x50($sp) +/* BAA8FC 802407BC 8FB3004C */ lw $s3, 0x4c($sp) +/* BAA900 802407C0 8FB20048 */ lw $s2, 0x48($sp) +/* BAA904 802407C4 8FB10044 */ lw $s1, 0x44($sp) +/* BAA908 802407C8 8FB00040 */ lw $s0, 0x40($sp) +/* BAA90C 802407CC D7B40058 */ ldc1 $f20, 0x58($sp) +/* BAA910 802407D0 03E00008 */ jr $ra +/* BAA914 802407D4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_802407D8_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_802407D8_BAA140.s new file mode 100644 index 0000000000..56efa15a05 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_802407D8_BAA140.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D8_BAA918 +/* BAA918 802407D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BAA91C 802407DC AFB3001C */ sw $s3, 0x1c($sp) +/* BAA920 802407E0 0080982D */ daddu $s3, $a0, $zero +/* BAA924 802407E4 AFBF0020 */ sw $ra, 0x20($sp) +/* BAA928 802407E8 AFB20018 */ sw $s2, 0x18($sp) +/* BAA92C 802407EC AFB10014 */ sw $s1, 0x14($sp) +/* BAA930 802407F0 AFB00010 */ sw $s0, 0x10($sp) +/* BAA934 802407F4 8E720148 */ lw $s2, 0x148($s3) +/* BAA938 802407F8 86440008 */ lh $a0, 8($s2) +/* BAA93C 802407FC 0C00EABB */ jal get_npc_unsafe +/* BAA940 80240800 00A0882D */ daddu $s1, $a1, $zero +/* BAA944 80240804 8E240008 */ lw $a0, 8($s1) +/* BAA948 80240808 0040802D */ daddu $s0, $v0, $zero +/* BAA94C 8024080C 00041FC2 */ srl $v1, $a0, 0x1f +/* BAA950 80240810 00832021 */ addu $a0, $a0, $v1 +/* BAA954 80240814 00042043 */ sra $a0, $a0, 1 +/* BAA958 80240818 0C00A67F */ jal rand_int +/* BAA95C 8024081C 24840001 */ addiu $a0, $a0, 1 +/* BAA960 80240820 8E230008 */ lw $v1, 8($s1) +/* BAA964 80240824 240400B4 */ addiu $a0, $zero, 0xb4 +/* BAA968 80240828 00032FC2 */ srl $a1, $v1, 0x1f +/* BAA96C 8024082C 00651821 */ addu $v1, $v1, $a1 +/* BAA970 80240830 00031843 */ sra $v1, $v1, 1 +/* BAA974 80240834 00621821 */ addu $v1, $v1, $v0 +/* BAA978 80240838 0C00A67F */ jal rand_int +/* BAA97C 8024083C A603008E */ sh $v1, 0x8e($s0) +/* BAA980 80240840 C60C000C */ lwc1 $f12, 0xc($s0) +/* BAA984 80240844 44820000 */ mtc1 $v0, $f0 +/* BAA988 80240848 00000000 */ nop +/* BAA98C 8024084C 46800020 */ cvt.s.w $f0, $f0 +/* BAA990 80240850 46006300 */ add.s $f12, $f12, $f0 +/* BAA994 80240854 3C0142B4 */ lui $at, 0x42b4 +/* BAA998 80240858 44810000 */ mtc1 $at, $f0 +/* BAA99C 8024085C 0C00A6C9 */ jal clamp_angle +/* BAA9A0 80240860 46006301 */ sub.s $f12, $f12, $f0 +/* BAA9A4 80240864 E600000C */ swc1 $f0, 0xc($s0) +/* BAA9A8 80240868 8E4200CC */ lw $v0, 0xcc($s2) +/* BAA9AC 8024086C 8C420000 */ lw $v0, ($v0) +/* BAA9B0 80240870 AE020028 */ sw $v0, 0x28($s0) +/* BAA9B4 80240874 24020003 */ addiu $v0, $zero, 3 +/* BAA9B8 80240878 AE620070 */ sw $v0, 0x70($s3) +/* BAA9BC 8024087C 8FBF0020 */ lw $ra, 0x20($sp) +/* BAA9C0 80240880 8FB3001C */ lw $s3, 0x1c($sp) +/* BAA9C4 80240884 8FB20018 */ lw $s2, 0x18($sp) +/* BAA9C8 80240888 8FB10014 */ lw $s1, 0x14($sp) +/* BAA9CC 8024088C 8FB00010 */ lw $s0, 0x10($sp) +/* BAA9D0 80240890 03E00008 */ jr $ra +/* BAA9D4 80240894 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240898_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240898_BAA140.s new file mode 100644 index 0000000000..27db327493 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240898_BAA140.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240898_BAA9D8 +/* BAA9D8 80240898 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BAA9DC 8024089C AFB40040 */ sw $s4, 0x40($sp) +/* BAA9E0 802408A0 0080A02D */ daddu $s4, $a0, $zero +/* BAA9E4 802408A4 AFBF0044 */ sw $ra, 0x44($sp) +/* BAA9E8 802408A8 AFB3003C */ sw $s3, 0x3c($sp) +/* BAA9EC 802408AC AFB20038 */ sw $s2, 0x38($sp) +/* BAA9F0 802408B0 AFB10034 */ sw $s1, 0x34($sp) +/* BAA9F4 802408B4 AFB00030 */ sw $s0, 0x30($sp) +/* BAA9F8 802408B8 8E920148 */ lw $s2, 0x148($s4) +/* BAA9FC 802408BC 00A0882D */ daddu $s1, $a1, $zero +/* BAAA00 802408C0 86440008 */ lh $a0, 8($s2) +/* BAAA04 802408C4 0C00EABB */ jal get_npc_unsafe +/* BAAA08 802408C8 00C0982D */ daddu $s3, $a2, $zero +/* BAAA0C 802408CC 8E230014 */ lw $v1, 0x14($s1) +/* BAAA10 802408D0 0460002D */ bltz $v1, .L80240988 +/* BAAA14 802408D4 0040802D */ daddu $s0, $v0, $zero +/* BAAA18 802408D8 0260202D */ daddu $a0, $s3, $zero +/* BAAA1C 802408DC AFA00010 */ sw $zero, 0x10($sp) +/* BAAA20 802408E0 8E260024 */ lw $a2, 0x24($s1) +/* BAAA24 802408E4 8E270028 */ lw $a3, 0x28($s1) +/* BAAA28 802408E8 0C01242D */ jal func_800490B4 +/* BAAA2C 802408EC 0240282D */ daddu $a1, $s2, $zero +/* BAAA30 802408F0 10400025 */ beqz $v0, .L80240988 +/* BAAA34 802408F4 0000202D */ daddu $a0, $zero, $zero +/* BAAA38 802408F8 0200282D */ daddu $a1, $s0, $zero +/* BAAA3C 802408FC 0000302D */ daddu $a2, $zero, $zero +/* BAAA40 80240900 860300A8 */ lh $v1, 0xa8($s0) +/* BAAA44 80240904 3C013F80 */ lui $at, 0x3f80 +/* BAAA48 80240908 44810000 */ mtc1 $at, $f0 +/* BAAA4C 8024090C 3C014000 */ lui $at, 0x4000 +/* BAAA50 80240910 44811000 */ mtc1 $at, $f2 +/* BAAA54 80240914 3C01C1A0 */ lui $at, 0xc1a0 +/* BAAA58 80240918 44812000 */ mtc1 $at, $f4 +/* BAAA5C 8024091C 2402000F */ addiu $v0, $zero, 0xf +/* BAAA60 80240920 AFA2001C */ sw $v0, 0x1c($sp) +/* BAAA64 80240924 44833000 */ mtc1 $v1, $f6 +/* BAAA68 80240928 00000000 */ nop +/* BAAA6C 8024092C 468031A0 */ cvt.s.w $f6, $f6 +/* BAAA70 80240930 44073000 */ mfc1 $a3, $f6 +/* BAAA74 80240934 27A20028 */ addiu $v0, $sp, 0x28 +/* BAAA78 80240938 AFA20020 */ sw $v0, 0x20($sp) +/* BAAA7C 8024093C E7A00010 */ swc1 $f0, 0x10($sp) +/* BAAA80 80240940 E7A20014 */ swc1 $f2, 0x14($sp) +/* BAAA84 80240944 0C01BFA4 */ jal fx_emote +/* BAAA88 80240948 E7A40018 */ swc1 $f4, 0x18($sp) +/* BAAA8C 8024094C 0200202D */ daddu $a0, $s0, $zero +/* BAAA90 80240950 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BAAA94 80240954 0C012530 */ jal func_800494C0 +/* BAAA98 80240958 3C060020 */ lui $a2, 0x20 +/* BAAA9C 8024095C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAAAA0 80240960 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAAAA4 80240964 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAAAA8 80240968 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAAAAC 8024096C 8C460028 */ lw $a2, 0x28($v0) +/* BAAAB0 80240970 0C00A720 */ jal atan2 +/* BAAAB4 80240974 8C470030 */ lw $a3, 0x30($v0) +/* BAAAB8 80240978 2402000C */ addiu $v0, $zero, 0xc +/* BAAABC 8024097C E600000C */ swc1 $f0, 0xc($s0) +/* BAAAC0 80240980 08090287 */ j .L80240A1C +/* BAAAC4 80240984 AE820070 */ sw $v0, 0x70($s4) +.L80240988: +/* BAAAC8 80240988 8602008C */ lh $v0, 0x8c($s0) +/* BAAACC 8024098C 14400023 */ bnez $v0, .L80240A1C +/* BAAAD0 80240990 00000000 */ nop +/* BAAAD4 80240994 9602008E */ lhu $v0, 0x8e($s0) +/* BAAAD8 80240998 2442FFFF */ addiu $v0, $v0, -1 +/* BAAADC 8024099C A602008E */ sh $v0, 0x8e($s0) +/* BAAAE0 802409A0 00021400 */ sll $v0, $v0, 0x10 +/* BAAAE4 802409A4 1C40001D */ bgtz $v0, .L80240A1C +/* BAAAE8 802409A8 00000000 */ nop +/* BAAAEC 802409AC 8E820074 */ lw $v0, 0x74($s4) +/* BAAAF0 802409B0 2442FFFF */ addiu $v0, $v0, -1 +/* BAAAF4 802409B4 18400018 */ blez $v0, .L80240A18 +/* BAAAF8 802409B8 AE820074 */ sw $v0, 0x74($s4) +/* BAAAFC 802409BC C600000C */ lwc1 $f0, 0xc($s0) +/* BAAB00 802409C0 3C014334 */ lui $at, 0x4334 +/* BAAB04 802409C4 44816000 */ mtc1 $at, $f12 +/* BAAB08 802409C8 0C00A6C9 */ jal clamp_angle +/* BAAB0C 802409CC 460C0300 */ add.s $f12, $f0, $f12 +/* BAAB10 802409D0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BAAB14 802409D4 0C00A67F */ jal rand_int +/* BAAB18 802409D8 E600000C */ swc1 $f0, 0xc($s0) +/* BAAB1C 802409DC 3C032E8B */ lui $v1, 0x2e8b +/* BAAB20 802409E0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BAAB24 802409E4 00430018 */ mult $v0, $v1 +/* BAAB28 802409E8 00021FC3 */ sra $v1, $v0, 0x1f +/* BAAB2C 802409EC 00004010 */ mfhi $t0 +/* BAAB30 802409F0 00082043 */ sra $a0, $t0, 1 +/* BAAB34 802409F4 00832023 */ subu $a0, $a0, $v1 +/* BAAB38 802409F8 00041840 */ sll $v1, $a0, 1 +/* BAAB3C 802409FC 00641821 */ addu $v1, $v1, $a0 +/* BAAB40 80240A00 00031880 */ sll $v1, $v1, 2 +/* BAAB44 80240A04 00641823 */ subu $v1, $v1, $a0 +/* BAAB48 80240A08 00431023 */ subu $v0, $v0, $v1 +/* BAAB4C 80240A0C 24420005 */ addiu $v0, $v0, 5 +/* BAAB50 80240A10 08090287 */ j .L80240A1C +/* BAAB54 80240A14 A602008E */ sh $v0, 0x8e($s0) +.L80240A18: +/* BAAB58 80240A18 AE800070 */ sw $zero, 0x70($s4) +.L80240A1C: +/* BAAB5C 80240A1C 8FBF0044 */ lw $ra, 0x44($sp) +/* BAAB60 80240A20 8FB40040 */ lw $s4, 0x40($sp) +/* BAAB64 80240A24 8FB3003C */ lw $s3, 0x3c($sp) +/* BAAB68 80240A28 8FB20038 */ lw $s2, 0x38($sp) +/* BAAB6C 80240A2C 8FB10034 */ lw $s1, 0x34($sp) +/* BAAB70 80240A30 8FB00030 */ lw $s0, 0x30($sp) +/* BAAB74 80240A34 03E00008 */ jr $ra +/* BAAB78 80240A38 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240A3C_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240A3C_BAA140.s new file mode 100644 index 0000000000..aaf3df213d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240A3C_BAA140.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A3C_BAAB7C +/* BAAB7C 80240A3C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAAB80 80240A40 AFB10014 */ sw $s1, 0x14($sp) +/* BAAB84 80240A44 0080882D */ daddu $s1, $a0, $zero +/* BAAB88 80240A48 AFBF001C */ sw $ra, 0x1c($sp) +/* BAAB8C 80240A4C AFB20018 */ sw $s2, 0x18($sp) +/* BAAB90 80240A50 AFB00010 */ sw $s0, 0x10($sp) +/* BAAB94 80240A54 8E220148 */ lw $v0, 0x148($s1) +/* BAAB98 80240A58 00A0902D */ daddu $s2, $a1, $zero +/* BAAB9C 80240A5C 84440008 */ lh $a0, 8($v0) +/* BAABA0 80240A60 0C00EABB */ jal get_npc_unsafe +/* BAABA4 80240A64 00C0802D */ daddu $s0, $a2, $zero +/* BAABA8 80240A68 0220202D */ daddu $a0, $s1, $zero +/* BAABAC 80240A6C 0240282D */ daddu $a1, $s2, $zero +/* BAABB0 80240A70 0200302D */ daddu $a2, $s0, $zero +/* BAABB4 80240A74 0C0127DF */ jal func_80049F7C +/* BAABB8 80240A78 0040802D */ daddu $s0, $v0, $zero +/* BAABBC 80240A7C 8E020000 */ lw $v0, ($s0) +/* BAABC0 80240A80 24040005 */ addiu $a0, $zero, 5 +/* BAABC4 80240A84 34420800 */ ori $v0, $v0, 0x800 +/* BAABC8 80240A88 0C00A67F */ jal rand_int +/* BAABCC 80240A8C AE020000 */ sw $v0, ($s0) +/* BAABD0 80240A90 44820000 */ mtc1 $v0, $f0 +/* BAABD4 80240A94 00000000 */ nop +/* BAABD8 80240A98 46800021 */ cvt.d.w $f0, $f0 +/* BAABDC 80240A9C 3C014024 */ lui $at, 0x4024 +/* BAABE0 80240AA0 44811800 */ mtc1 $at, $f3 +/* BAABE4 80240AA4 44801000 */ mtc1 $zero, $f2 +/* BAABE8 80240AA8 3C013FC0 */ lui $at, 0x3fc0 +/* BAABEC 80240AAC 44812000 */ mtc1 $at, $f4 +/* BAABF0 80240AB0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAABF4 80240AB4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAABF8 80240AB8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAABFC 80240ABC C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAAC00 80240AC0 46220000 */ add.d $f0, $f0, $f2 +/* BAAC04 80240AC4 E6040014 */ swc1 $f4, 0x14($s0) +/* BAAC08 80240AC8 46200020 */ cvt.s.d $f0, $f0 +/* BAAC0C 80240ACC E600001C */ swc1 $f0, 0x1c($s0) +/* BAAC10 80240AD0 8C460028 */ lw $a2, 0x28($v0) +/* BAAC14 80240AD4 0C00A720 */ jal atan2 +/* BAAC18 80240AD8 8C470030 */ lw $a3, 0x30($v0) +/* BAAC1C 80240ADC 0200202D */ daddu $a0, $s0, $zero +/* BAAC20 80240AE0 3C05B000 */ lui $a1, 0xb000 +/* BAAC24 80240AE4 34A50017 */ ori $a1, $a1, 0x17 +/* BAAC28 80240AE8 0000302D */ daddu $a2, $zero, $zero +/* BAAC2C 80240AEC E480000C */ swc1 $f0, 0xc($a0) +/* BAAC30 80240AF0 C6400018 */ lwc1 $f0, 0x18($s2) +/* BAAC34 80240AF4 2402000D */ addiu $v0, $zero, 0xd +/* BAAC38 80240AF8 E4800018 */ swc1 $f0, 0x18($a0) +/* BAAC3C 80240AFC 0C012530 */ jal func_800494C0 +/* BAAC40 80240B00 AE220070 */ sw $v0, 0x70($s1) +/* BAAC44 80240B04 8FBF001C */ lw $ra, 0x1c($sp) +/* BAAC48 80240B08 8FB20018 */ lw $s2, 0x18($sp) +/* BAAC4C 80240B0C 8FB10014 */ lw $s1, 0x14($sp) +/* BAAC50 80240B10 8FB00010 */ lw $s0, 0x10($sp) +/* BAAC54 80240B14 03E00008 */ jr $ra +/* BAAC58 80240B18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240B1C_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240B1C_BAA140.s new file mode 100644 index 0000000000..bcc4c4fd9a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240B1C_BAA140.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B1C_BAAC5C +/* BAAC5C 80240B1C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* BAAC60 80240B20 AFB40050 */ sw $s4, 0x50($sp) +/* BAAC64 80240B24 0080A02D */ daddu $s4, $a0, $zero +/* BAAC68 80240B28 AFBF0060 */ sw $ra, 0x60($sp) +/* BAAC6C 80240B2C AFB7005C */ sw $s7, 0x5c($sp) +/* BAAC70 80240B30 AFB60058 */ sw $s6, 0x58($sp) +/* BAAC74 80240B34 AFB50054 */ sw $s5, 0x54($sp) +/* BAAC78 80240B38 AFB3004C */ sw $s3, 0x4c($sp) +/* BAAC7C 80240B3C AFB20048 */ sw $s2, 0x48($sp) +/* BAAC80 80240B40 AFB10044 */ sw $s1, 0x44($sp) +/* BAAC84 80240B44 AFB00040 */ sw $s0, 0x40($sp) +/* BAAC88 80240B48 F7B40068 */ sdc1 $f20, 0x68($sp) +/* BAAC8C 80240B4C 8E950148 */ lw $s5, 0x148($s4) +/* BAAC90 80240B50 00A0B02D */ daddu $s6, $a1, $zero +/* BAAC94 80240B54 86A40008 */ lh $a0, 8($s5) +/* BAAC98 80240B58 0C00EABB */ jal get_npc_unsafe +/* BAAC9C 80240B5C 00C0B82D */ daddu $s7, $a2, $zero +/* BAACA0 80240B60 0040982D */ daddu $s3, $v0, $zero +/* BAACA4 80240B64 C6600018 */ lwc1 $f0, 0x18($s3) +/* BAACA8 80240B68 44801000 */ mtc1 $zero, $f2 +/* BAACAC 80240B6C 44801800 */ mtc1 $zero, $f3 +/* BAACB0 80240B70 46000021 */ cvt.d.s $f0, $f0 +/* BAACB4 80240B74 4620103C */ c.lt.d $f2, $f0 +/* BAACB8 80240B78 00000000 */ nop +/* BAACBC 80240B7C 45000021 */ bc1f .L80240C04 +/* BAACC0 80240B80 27A50028 */ addiu $a1, $sp, 0x28 +/* BAACC4 80240B84 C6600038 */ lwc1 $f0, 0x38($s3) +/* BAACC8 80240B88 C662003C */ lwc1 $f2, 0x3c($s3) +/* BAACCC 80240B8C C6640040 */ lwc1 $f4, 0x40($s3) +/* BAACD0 80240B90 C6660018 */ lwc1 $f6, 0x18($s3) +/* BAACD4 80240B94 E7A00028 */ swc1 $f0, 0x28($sp) +/* BAACD8 80240B98 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BAACDC 80240B9C E7A40030 */ swc1 $f4, 0x30($sp) +/* BAACE0 80240BA0 E7A60010 */ swc1 $f6, 0x10($sp) +/* BAACE4 80240BA4 C660000C */ lwc1 $f0, 0xc($s3) +/* BAACE8 80240BA8 E7A00014 */ swc1 $f0, 0x14($sp) +/* BAACEC 80240BAC 866200A8 */ lh $v0, 0xa8($s3) +/* BAACF0 80240BB0 44820000 */ mtc1 $v0, $f0 +/* BAACF4 80240BB4 00000000 */ nop +/* BAACF8 80240BB8 46800020 */ cvt.s.w $f0, $f0 +/* BAACFC 80240BBC E7A00018 */ swc1 $f0, 0x18($sp) +/* BAAD00 80240BC0 866200A6 */ lh $v0, 0xa6($s3) +/* BAAD04 80240BC4 27A6002C */ addiu $a2, $sp, 0x2c +/* BAAD08 80240BC8 44820000 */ mtc1 $v0, $f0 +/* BAAD0C 80240BCC 00000000 */ nop +/* BAAD10 80240BD0 46800020 */ cvt.s.w $f0, $f0 +/* BAAD14 80240BD4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAAD18 80240BD8 8E640080 */ lw $a0, 0x80($s3) +/* BAAD1C 80240BDC 0C037711 */ jal func_800DDC44 +/* BAAD20 80240BE0 27A70030 */ addiu $a3, $sp, 0x30 +/* BAAD24 80240BE4 10400003 */ beqz $v0, .L80240BF4 +/* BAAD28 80240BE8 00000000 */ nop +/* BAAD2C 80240BEC 08090301 */ j .L80240C04 +/* BAAD30 80240BF0 AE600018 */ sw $zero, 0x18($s3) +.L80240BF4: +/* BAAD34 80240BF4 8E650018 */ lw $a1, 0x18($s3) +/* BAAD38 80240BF8 8E66000C */ lw $a2, 0xc($s3) +/* BAAD3C 80240BFC 0C00EA95 */ jal npc_move_heading +/* BAAD40 80240C00 0260202D */ daddu $a0, $s3, $zero +.L80240C04: +/* BAAD44 80240C04 C660001C */ lwc1 $f0, 0x1c($s3) +/* BAAD48 80240C08 44801000 */ mtc1 $zero, $f2 +/* BAAD4C 80240C0C 44801800 */ mtc1 $zero, $f3 +/* BAAD50 80240C10 46000021 */ cvt.d.s $f0, $f0 +/* BAAD54 80240C14 4622003C */ c.lt.d $f0, $f2 +/* BAAD58 80240C18 00000000 */ nop +/* BAAD5C 80240C1C 4500006C */ bc1f .L80240DD0 +/* BAAD60 80240C20 27B00028 */ addiu $s0, $sp, 0x28 +/* BAAD64 80240C24 0200282D */ daddu $a1, $s0, $zero +/* BAAD68 80240C28 27A60034 */ addiu $a2, $sp, 0x34 +/* BAAD6C 80240C2C 27B20038 */ addiu $s2, $sp, 0x38 +/* BAAD70 80240C30 C6600038 */ lwc1 $f0, 0x38($s3) +/* BAAD74 80240C34 3C0142C8 */ lui $at, 0x42c8 +/* BAAD78 80240C38 44811000 */ mtc1 $at, $f2 +/* BAAD7C 80240C3C C6640040 */ lwc1 $f4, 0x40($s3) +/* BAAD80 80240C40 3C01447A */ lui $at, 0x447a +/* BAAD84 80240C44 44813000 */ mtc1 $at, $f6 +/* BAAD88 80240C48 27B10030 */ addiu $s1, $sp, 0x30 +/* BAAD8C 80240C4C E7A00028 */ swc1 $f0, 0x28($sp) +/* BAAD90 80240C50 E7A20034 */ swc1 $f2, 0x34($sp) +/* BAAD94 80240C54 E7A40030 */ swc1 $f4, 0x30($sp) +/* BAAD98 80240C58 E7A60038 */ swc1 $f6, 0x38($sp) +/* BAAD9C 80240C5C AFB20010 */ sw $s2, 0x10($sp) +/* BAADA0 80240C60 8E640080 */ lw $a0, 0x80($s3) +/* BAADA4 80240C64 0C0372DF */ jal func_800DCB7C +/* BAADA8 80240C68 0220382D */ daddu $a3, $s1, $zero +/* BAADAC 80240C6C 0200282D */ daddu $a1, $s0, $zero +/* BAADB0 80240C70 27A6002C */ addiu $a2, $sp, 0x2c +/* BAADB4 80240C74 C662003C */ lwc1 $f2, 0x3c($s3) +/* BAADB8 80240C78 C6660038 */ lwc1 $f6, 0x38($s3) +/* BAADBC 80240C7C 3C01402A */ lui $at, 0x402a +/* BAADC0 80240C80 4481A800 */ mtc1 $at, $f21 +/* BAADC4 80240C84 4480A000 */ mtc1 $zero, $f20 +/* BAADC8 80240C88 460010A1 */ cvt.d.s $f2, $f2 +/* BAADCC 80240C8C 46341080 */ add.d $f2, $f2, $f20 +/* BAADD0 80240C90 C660001C */ lwc1 $f0, 0x1c($s3) +/* BAADD4 80240C94 C6640040 */ lwc1 $f4, 0x40($s3) +/* BAADD8 80240C98 46000005 */ abs.s $f0, $f0 +/* BAADDC 80240C9C E7A40030 */ swc1 $f4, 0x30($sp) +/* BAADE0 80240CA0 3C014030 */ lui $at, 0x4030 +/* BAADE4 80240CA4 44812800 */ mtc1 $at, $f5 +/* BAADE8 80240CA8 44802000 */ mtc1 $zero, $f4 +/* BAADEC 80240CAC 46000021 */ cvt.d.s $f0, $f0 +/* BAADF0 80240CB0 E7A60028 */ swc1 $f6, 0x28($sp) +/* BAADF4 80240CB4 46240000 */ add.d $f0, $f0, $f4 +/* BAADF8 80240CB8 462010A0 */ cvt.s.d $f2, $f2 +/* BAADFC 80240CBC E7A2002C */ swc1 $f2, 0x2c($sp) +/* BAAE00 80240CC0 46200020 */ cvt.s.d $f0, $f0 +/* BAAE04 80240CC4 E7A00038 */ swc1 $f0, 0x38($sp) +/* BAAE08 80240CC8 AFB20010 */ sw $s2, 0x10($sp) +/* BAAE0C 80240CCC 8E640080 */ lw $a0, 0x80($s3) +/* BAAE10 80240CD0 0C0372DF */ jal func_800DCB7C +/* BAAE14 80240CD4 0220382D */ daddu $a3, $s1, $zero +/* BAAE18 80240CD8 1040003D */ beqz $v0, .L80240DD0 +/* BAAE1C 80240CDC 00000000 */ nop +/* BAAE20 80240CE0 C660001C */ lwc1 $f0, 0x1c($s3) +/* BAAE24 80240CE4 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BAAE28 80240CE8 46000005 */ abs.s $f0, $f0 +/* BAAE2C 80240CEC 46000021 */ cvt.d.s $f0, $f0 +/* BAAE30 80240CF0 46340000 */ add.d $f0, $f0, $f20 +/* BAAE34 80240CF4 460010A1 */ cvt.d.s $f2, $f2 +/* BAAE38 80240CF8 4620103E */ c.le.d $f2, $f0 +/* BAAE3C 80240CFC 00000000 */ nop +/* BAAE40 80240D00 45000033 */ bc1f .L80240DD0 +/* BAAE44 80240D04 2403F7FF */ addiu $v1, $zero, -0x801 +/* BAAE48 80240D08 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BAAE4C 80240D0C 8E620000 */ lw $v0, ($s3) +/* BAAE50 80240D10 AE60001C */ sw $zero, 0x1c($s3) +/* BAAE54 80240D14 00431024 */ and $v0, $v0, $v1 +/* BAAE58 80240D18 E660003C */ swc1 $f0, 0x3c($s3) +/* BAAE5C 80240D1C AE620000 */ sw $v0, ($s3) +/* BAAE60 80240D20 AFA00010 */ sw $zero, 0x10($sp) +/* BAAE64 80240D24 AFA00014 */ sw $zero, 0x14($sp) +/* BAAE68 80240D28 8E650038 */ lw $a1, 0x38($s3) +/* BAAE6C 80240D2C 8E66003C */ lw $a2, 0x3c($s3) +/* BAAE70 80240D30 8E670040 */ lw $a3, 0x40($s3) +/* BAAE74 80240D34 0C01BECC */ jal fx_walk_normal +/* BAAE78 80240D38 24040002 */ addiu $a0, $zero, 2 +/* BAAE7C 80240D3C 02E0202D */ daddu $a0, $s7, $zero +/* BAAE80 80240D40 2402000C */ addiu $v0, $zero, 0xc +/* BAAE84 80240D44 AE820070 */ sw $v0, 0x70($s4) +/* BAAE88 80240D48 24020001 */ addiu $v0, $zero, 1 +/* BAAE8C 80240D4C AFA20010 */ sw $v0, 0x10($sp) +/* BAAE90 80240D50 8EC60024 */ lw $a2, 0x24($s6) +/* BAAE94 80240D54 8EC70028 */ lw $a3, 0x28($s6) +/* BAAE98 80240D58 0C01242D */ jal func_800490B4 +/* BAAE9C 80240D5C 02A0282D */ daddu $a1, $s5, $zero +/* BAAEA0 80240D60 14400022 */ bnez $v0, .L80240DEC +/* BAAEA4 80240D64 24040002 */ addiu $a0, $zero, 2 +/* BAAEA8 80240D68 0260282D */ daddu $a1, $s3, $zero +/* BAAEAC 80240D6C 0000302D */ daddu $a2, $zero, $zero +/* BAAEB0 80240D70 866300A8 */ lh $v1, 0xa8($s3) +/* BAAEB4 80240D74 3C013F80 */ lui $at, 0x3f80 +/* BAAEB8 80240D78 44810000 */ mtc1 $at, $f0 +/* BAAEBC 80240D7C 3C014000 */ lui $at, 0x4000 +/* BAAEC0 80240D80 44811000 */ mtc1 $at, $f2 +/* BAAEC4 80240D84 3C01C1A0 */ lui $at, 0xc1a0 +/* BAAEC8 80240D88 44812000 */ mtc1 $at, $f4 +/* BAAECC 80240D8C 2402000F */ addiu $v0, $zero, 0xf +/* BAAED0 80240D90 AFA2001C */ sw $v0, 0x1c($sp) +/* BAAED4 80240D94 44834000 */ mtc1 $v1, $f8 +/* BAAED8 80240D98 00000000 */ nop +/* BAAEDC 80240D9C 46804220 */ cvt.s.w $f8, $f8 +/* BAAEE0 80240DA0 44074000 */ mfc1 $a3, $f8 +/* BAAEE4 80240DA4 27A2003C */ addiu $v0, $sp, 0x3c +/* BAAEE8 80240DA8 AFA20020 */ sw $v0, 0x20($sp) +/* BAAEEC 80240DAC E7A00010 */ swc1 $f0, 0x10($sp) +/* BAAEF0 80240DB0 E7A20014 */ swc1 $f2, 0x14($sp) +/* BAAEF4 80240DB4 0C01BFA4 */ jal fx_emote +/* BAAEF8 80240DB8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BAAEFC 80240DBC 24020019 */ addiu $v0, $zero, 0x19 +/* BAAF00 80240DC0 A662008E */ sh $v0, 0x8e($s3) +/* BAAF04 80240DC4 2402000E */ addiu $v0, $zero, 0xe +/* BAAF08 80240DC8 0809037B */ j .L80240DEC +/* BAAF0C 80240DCC AE820070 */ sw $v0, 0x70($s4) +.L80240DD0: +/* BAAF10 80240DD0 C664003C */ lwc1 $f4, 0x3c($s3) +/* BAAF14 80240DD4 C660001C */ lwc1 $f0, 0x1c($s3) +/* BAAF18 80240DD8 46002100 */ add.s $f4, $f4, $f0 +/* BAAF1C 80240DDC C6620014 */ lwc1 $f2, 0x14($s3) +/* BAAF20 80240DE0 46020001 */ sub.s $f0, $f0, $f2 +/* BAAF24 80240DE4 E664003C */ swc1 $f4, 0x3c($s3) +/* BAAF28 80240DE8 E660001C */ swc1 $f0, 0x1c($s3) +.L80240DEC: +/* BAAF2C 80240DEC 8FBF0060 */ lw $ra, 0x60($sp) +/* BAAF30 80240DF0 8FB7005C */ lw $s7, 0x5c($sp) +/* BAAF34 80240DF4 8FB60058 */ lw $s6, 0x58($sp) +/* BAAF38 80240DF8 8FB50054 */ lw $s5, 0x54($sp) +/* BAAF3C 80240DFC 8FB40050 */ lw $s4, 0x50($sp) +/* BAAF40 80240E00 8FB3004C */ lw $s3, 0x4c($sp) +/* BAAF44 80240E04 8FB20048 */ lw $s2, 0x48($sp) +/* BAAF48 80240E08 8FB10044 */ lw $s1, 0x44($sp) +/* BAAF4C 80240E0C 8FB00040 */ lw $s0, 0x40($sp) +/* BAAF50 80240E10 D7B40068 */ ldc1 $f20, 0x68($sp) +/* BAAF54 80240E14 03E00008 */ jr $ra +/* BAAF58 80240E18 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240E1C_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240E1C_BAA140.s new file mode 100644 index 0000000000..2e17611a72 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240E1C_BAA140.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E1C_BAAF5C +/* BAAF5C 80240E1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAAF60 80240E20 AFB00010 */ sw $s0, 0x10($sp) +/* BAAF64 80240E24 0080802D */ daddu $s0, $a0, $zero +/* BAAF68 80240E28 AFBF0014 */ sw $ra, 0x14($sp) +/* BAAF6C 80240E2C 8E020148 */ lw $v0, 0x148($s0) +/* BAAF70 80240E30 0C00EABB */ jal get_npc_unsafe +/* BAAF74 80240E34 84440008 */ lh $a0, 8($v0) +/* BAAF78 80240E38 9443008E */ lhu $v1, 0x8e($v0) +/* BAAF7C 80240E3C 2463FFFF */ addiu $v1, $v1, -1 +/* BAAF80 80240E40 A443008E */ sh $v1, 0x8e($v0) +/* BAAF84 80240E44 00031C00 */ sll $v1, $v1, 0x10 +/* BAAF88 80240E48 58600001 */ blezl $v1, .L80240E50 +/* BAAF8C 80240E4C AE000070 */ sw $zero, 0x70($s0) +.L80240E50: +/* BAAF90 80240E50 8FBF0014 */ lw $ra, 0x14($sp) +/* BAAF94 80240E54 8FB00010 */ lw $s0, 0x10($sp) +/* BAAF98 80240E58 03E00008 */ jr $ra +/* BAAF9C 80240E5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_07/func_80240E60_BAA140.s b/asm/nonmatchings/world/area_mim/mim_07/func_80240E60_BAA140.s new file mode 100644 index 0000000000..6efb64e04e --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_07/func_80240E60_BAA140.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E60_BAAFA0 +/* BAAFA0 80240E60 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BAAFA4 80240E64 AFB3003C */ sw $s3, 0x3c($sp) +/* BAAFA8 80240E68 0080982D */ daddu $s3, $a0, $zero +/* BAAFAC 80240E6C AFBF0048 */ sw $ra, 0x48($sp) +/* BAAFB0 80240E70 AFB50044 */ sw $s5, 0x44($sp) +/* BAAFB4 80240E74 AFB40040 */ sw $s4, 0x40($sp) +/* BAAFB8 80240E78 AFB20038 */ sw $s2, 0x38($sp) +/* BAAFBC 80240E7C AFB10034 */ sw $s1, 0x34($sp) +/* BAAFC0 80240E80 AFB00030 */ sw $s0, 0x30($sp) +/* BAAFC4 80240E84 8E720148 */ lw $s2, 0x148($s3) +/* BAAFC8 80240E88 86440008 */ lh $a0, 8($s2) +/* BAAFCC 80240E8C 8E70000C */ lw $s0, 0xc($s3) +/* BAAFD0 80240E90 0C00EABB */ jal get_npc_unsafe +/* BAAFD4 80240E94 00A0882D */ daddu $s1, $a1, $zero +/* BAAFD8 80240E98 8E050000 */ lw $a1, ($s0) +/* BAAFDC 80240E9C 26100004 */ addiu $s0, $s0, 4 +/* BAAFE0 80240EA0 0260202D */ daddu $a0, $s3, $zero +/* BAAFE4 80240EA4 0C0B1EAF */ jal get_variable +/* BAAFE8 80240EA8 0040A82D */ daddu $s5, $v0, $zero +/* BAAFEC 80240EAC 0260202D */ daddu $a0, $s3, $zero +/* BAAFF0 80240EB0 8E050000 */ lw $a1, ($s0) +/* BAAFF4 80240EB4 0C0B1EAF */ jal get_variable +/* BAAFF8 80240EB8 0040A02D */ daddu $s4, $v0, $zero +/* BAAFFC 80240EBC AE420094 */ sw $v0, 0x94($s2) +/* BAB000 80240EC0 AFA00010 */ sw $zero, 0x10($sp) +/* BAB004 80240EC4 8E4200D0 */ lw $v0, 0xd0($s2) +/* BAB008 80240EC8 8C420030 */ lw $v0, 0x30($v0) +/* BAB00C 80240ECC AFA20014 */ sw $v0, 0x14($sp) +/* BAB010 80240ED0 8E4200D0 */ lw $v0, 0xd0($s2) +/* BAB014 80240ED4 8C42001C */ lw $v0, 0x1c($v0) +/* BAB018 80240ED8 AFA20018 */ sw $v0, 0x18($sp) +/* BAB01C 80240EDC 8E4200D0 */ lw $v0, 0xd0($s2) +/* BAB020 80240EE0 8C420024 */ lw $v0, 0x24($v0) +/* BAB024 80240EE4 AFA2001C */ sw $v0, 0x1c($sp) +/* BAB028 80240EE8 8E4200D0 */ lw $v0, 0xd0($s2) +/* BAB02C 80240EEC 8C420028 */ lw $v0, 0x28($v0) +/* BAB030 80240EF0 AFA20020 */ sw $v0, 0x20($sp) +/* BAB034 80240EF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* BAB038 80240EF8 3C0142C8 */ lui $at, 0x42c8 +/* BAB03C 80240EFC 44810000 */ mtc1 $at, $f0 +/* BAB040 80240F00 8C42002C */ lw $v0, 0x2c($v0) +/* BAB044 80240F04 27B00010 */ addiu $s0, $sp, 0x10 +/* BAB048 80240F08 E7A00028 */ swc1 $f0, 0x28($sp) +/* BAB04C 80240F0C A7A0002C */ sh $zero, 0x2c($sp) +/* BAB050 80240F10 12200019 */ beqz $s1, .L80240F78 +/* BAB054 80240F14 AFA20024 */ sw $v0, 0x24($sp) +/* BAB058 80240F18 AE600070 */ sw $zero, 0x70($s3) +/* BAB05C 80240F1C A6A0008E */ sh $zero, 0x8e($s5) +/* BAB060 80240F20 AE600074 */ sw $zero, 0x74($s3) +/* BAB064 80240F24 8EA20000 */ lw $v0, ($s5) +/* BAB068 80240F28 2403F7FF */ addiu $v1, $zero, -0x801 +/* BAB06C 80240F2C 00431024 */ and $v0, $v0, $v1 +/* BAB070 80240F30 2403FDFF */ addiu $v1, $zero, -0x201 +/* BAB074 80240F34 00431024 */ and $v0, $v0, $v1 +/* BAB078 80240F38 34420008 */ ori $v0, $v0, 8 +/* BAB07C 80240F3C AEA20000 */ sw $v0, ($s5) +/* BAB080 80240F40 8E4200B0 */ lw $v0, 0xb0($s2) +/* BAB084 80240F44 34420018 */ ori $v0, $v0, 0x18 +/* BAB088 80240F48 AE4200B0 */ sw $v0, 0xb0($s2) +/* BAB08C 80240F4C 8E420000 */ lw $v0, ($s2) +/* BAB090 80240F50 3C034000 */ lui $v1, 0x4000 +/* BAB094 80240F54 00431024 */ and $v0, $v0, $v1 +/* BAB098 80240F58 10400007 */ beqz $v0, .L80240F78 +/* BAB09C 80240F5C 3C03BFFF */ lui $v1, 0xbfff +/* BAB0A0 80240F60 2402000C */ addiu $v0, $zero, 0xc +/* BAB0A4 80240F64 AE620070 */ sw $v0, 0x70($s3) +/* BAB0A8 80240F68 8E420000 */ lw $v0, ($s2) +/* BAB0AC 80240F6C 3463FFFF */ ori $v1, $v1, 0xffff +/* BAB0B0 80240F70 00431024 */ and $v0, $v0, $v1 +/* BAB0B4 80240F74 AE420000 */ sw $v0, ($s2) +.L80240F78: +/* BAB0B8 80240F78 8E4300B0 */ lw $v1, 0xb0($s2) +/* BAB0BC 80240F7C 30620004 */ andi $v0, $v1, 4 +/* BAB0C0 80240F80 10400007 */ beqz $v0, .L80240FA0 +/* BAB0C4 80240F84 00000000 */ nop +/* BAB0C8 80240F88 824200B4 */ lb $v0, 0xb4($s2) +/* BAB0CC 80240F8C 14400034 */ bnez $v0, .L80241060 +/* BAB0D0 80240F90 0000102D */ daddu $v0, $zero, $zero +/* BAB0D4 80240F94 2402FFFB */ addiu $v0, $zero, -5 +/* BAB0D8 80240F98 00621024 */ and $v0, $v1, $v0 +/* BAB0DC 80240F9C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240FA0: +/* BAB0E0 80240FA0 8E630070 */ lw $v1, 0x70($s3) +/* BAB0E4 80240FA4 2C62000F */ sltiu $v0, $v1, 0xf +/* BAB0E8 80240FA8 1040002C */ beqz $v0, .L8024105C +/* BAB0EC 80240FAC 00031080 */ sll $v0, $v1, 2 +/* BAB0F0 80240FB0 3C018024 */ lui $at, 0x8024 +/* BAB0F4 80240FB4 00220821 */ addu $at, $at, $v0 +/* BAB0F8 80240FB8 8C2237B8 */ lw $v0, 0x37b8($at) +/* BAB0FC 80240FBC 00400008 */ jr $v0 +/* BAB100 80240FC0 00000000 */ nop +/* BAB104 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* BAB108 80240FC8 0280282D */ daddu $a1, $s4, $zero +/* BAB10C 80240FCC 0C09009C */ jal func_80240270 +/* BAB110 80240FD0 0200302D */ daddu $a2, $s0, $zero +/* BAB114 80240FD4 0260202D */ daddu $a0, $s3, $zero +/* BAB118 80240FD8 0280282D */ daddu $a1, $s4, $zero +/* BAB11C 80240FDC 0C090128 */ jal func_802404A0 +/* BAB120 80240FE0 0200302D */ daddu $a2, $s0, $zero +/* BAB124 80240FE4 08090418 */ j .L80241060 +/* BAB128 80240FE8 0000102D */ daddu $v0, $zero, $zero +/* BAB12C 80240FEC 0260202D */ daddu $a0, $s3, $zero +/* BAB130 80240FF0 0280282D */ daddu $a1, $s4, $zero +/* BAB134 80240FF4 0C0901F6 */ jal func_802407D8 +/* BAB138 80240FF8 0200302D */ daddu $a2, $s0, $zero +/* BAB13C 80240FFC 8E630070 */ lw $v1, 0x70($s3) +/* BAB140 80241000 24020003 */ addiu $v0, $zero, 3 +/* BAB144 80241004 14620016 */ bne $v1, $v0, .L80241060 +/* BAB148 80241008 0000102D */ daddu $v0, $zero, $zero +/* BAB14C 8024100C 0260202D */ daddu $a0, $s3, $zero +/* BAB150 80241010 0280282D */ daddu $a1, $s4, $zero +/* BAB154 80241014 0C090226 */ jal func_80240898 +/* BAB158 80241018 0200302D */ daddu $a2, $s0, $zero +/* BAB15C 8024101C 08090418 */ j .L80241060 +/* BAB160 80241020 0000102D */ daddu $v0, $zero, $zero +/* BAB164 80241024 0260202D */ daddu $a0, $s3, $zero +/* BAB168 80241028 0280282D */ daddu $a1, $s4, $zero +/* BAB16C 8024102C 0C09028F */ jal func_80240A3C +/* BAB170 80241030 0200302D */ daddu $a2, $s0, $zero +/* BAB174 80241034 0260202D */ daddu $a0, $s3, $zero +/* BAB178 80241038 0280282D */ daddu $a1, $s4, $zero +/* BAB17C 8024103C 0C0902C7 */ jal func_80240B1C +/* BAB180 80241040 0200302D */ daddu $a2, $s0, $zero +/* BAB184 80241044 08090418 */ j .L80241060 +/* BAB188 80241048 0000102D */ daddu $v0, $zero, $zero +/* BAB18C 8024104C 0260202D */ daddu $a0, $s3, $zero +/* BAB190 80241050 0280282D */ daddu $a1, $s4, $zero +/* BAB194 80241054 0C090387 */ jal func_80240E1C +/* BAB198 80241058 0200302D */ daddu $a2, $s0, $zero +.L8024105C: +/* BAB19C 8024105C 0000102D */ daddu $v0, $zero, $zero +.L80241060: +/* BAB1A0 80241060 8FBF0048 */ lw $ra, 0x48($sp) +/* BAB1A4 80241064 8FB50044 */ lw $s5, 0x44($sp) +/* BAB1A8 80241068 8FB40040 */ lw $s4, 0x40($sp) +/* BAB1AC 8024106C 8FB3003C */ lw $s3, 0x3c($sp) +/* BAB1B0 80241070 8FB20038 */ lw $s2, 0x38($sp) +/* BAB1B4 80241074 8FB10034 */ lw $s1, 0x34($sp) +/* BAB1B8 80241078 8FB00030 */ lw $s0, 0x30($sp) +/* BAB1BC 8024107C 03E00008 */ jr $ra +/* BAB1C0 80241080 27BD0050 */ addiu $sp, $sp, 0x50 +/* BAB1C4 80241084 00000000 */ nop +/* BAB1C8 80241088 00000000 */ nop +/* BAB1CC 8024108C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240000_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240000_BAD940.s new file mode 100644 index 0000000000..80a56bd4fb --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240000_BAD940.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BAD940 +/* BAD940 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAD944 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BAD948 80240008 0C046ED4 */ jal enable_world_fog +/* BAD94C 8024000C 00000000 */ nop +/* BAD950 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BAD954 80240014 0C046EDD */ jal set_world_fog_dist +/* BAD958 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAD95C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BAD960 80240020 0080282D */ daddu $a1, $a0, $zero +/* BAD964 80240024 0080302D */ daddu $a2, $a0, $zero +/* BAD968 80240028 0C046EE2 */ jal set_world_fog_color +/* BAD96C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BAD970 80240030 0C048BFB */ jal enable_entity_fog +/* BAD974 80240034 00000000 */ nop +/* BAD978 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* BAD97C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* BAD980 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BAD984 80240044 0000202D */ daddu $a0, $zero, $zero +/* BAD988 80240048 0080282D */ daddu $a1, $a0, $zero +/* BAD98C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* BAD990 80240050 0C048C0A */ jal set_entity_fog_color +/* BAD994 80240054 240700FF */ addiu $a3, $zero, 0xff +/* BAD998 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* BAD99C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* BAD9A0 80240060 03E00008 */ jr $ra +/* BAD9A4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240068_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240068_BAD940.s new file mode 100644 index 0000000000..62cf56544f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240068_BAD940.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_BAD9A8 +/* BAD9A8 80240068 44806000 */ mtc1 $zero, $f12 +/* BAD9AC 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAD9B0 80240070 AFB00010 */ sw $s0, 0x10($sp) +/* BAD9B4 80240074 0080802D */ daddu $s0, $a0, $zero +/* BAD9B8 80240078 AFBF0014 */ sw $ra, 0x14($sp) +/* BAD9BC 8024007C 0C038022 */ jal func_800E0088 +/* BAD9C0 80240080 46006386 */ mov.s $f14, $f12 +/* BAD9C4 80240084 4600008D */ trunc.w.s $f2, $f0 +/* BAD9C8 80240088 E6020084 */ swc1 $f2, 0x84($s0) +/* BAD9CC 8024008C 8FBF0014 */ lw $ra, 0x14($sp) +/* BAD9D0 80240090 8FB00010 */ lw $s0, 0x10($sp) +/* BAD9D4 80240094 24020002 */ addiu $v0, $zero, 2 +/* BAD9D8 80240098 03E00008 */ jr $ra +/* BAD9DC 8024009C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_802400A0_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_802400A0_BAD940.s new file mode 100644 index 0000000000..f936a9d18a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_802400A0_BAD940.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_BAD9E0 +/* BAD9E0 802400A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BAD9E4 802400A4 AFB3002C */ sw $s3, 0x2c($sp) +/* BAD9E8 802400A8 0080982D */ daddu $s3, $a0, $zero +/* BAD9EC 802400AC AFBF0030 */ sw $ra, 0x30($sp) +/* BAD9F0 802400B0 AFB20028 */ sw $s2, 0x28($sp) +/* BAD9F4 802400B4 AFB10024 */ sw $s1, 0x24($sp) +/* BAD9F8 802400B8 AFB00020 */ sw $s0, 0x20($sp) +/* BAD9FC 802400BC 8E710148 */ lw $s1, 0x148($s3) +/* BADA00 802400C0 86240008 */ lh $a0, 8($s1) +/* BADA04 802400C4 0C00EABB */ jal get_npc_unsafe +/* BADA08 802400C8 00A0902D */ daddu $s2, $a1, $zero +/* BADA0C 802400CC 8E440004 */ lw $a0, 4($s2) +/* BADA10 802400D0 0040802D */ daddu $s0, $v0, $zero +/* BADA14 802400D4 00041FC2 */ srl $v1, $a0, 0x1f +/* BADA18 802400D8 00832021 */ addu $a0, $a0, $v1 +/* BADA1C 802400DC 00042043 */ sra $a0, $a0, 1 +/* BADA20 802400E0 0C00A67F */ jal rand_int +/* BADA24 802400E4 24840001 */ addiu $a0, $a0, 1 +/* BADA28 802400E8 8E430004 */ lw $v1, 4($s2) +/* BADA2C 802400EC 000327C2 */ srl $a0, $v1, 0x1f +/* BADA30 802400F0 00641821 */ addu $v1, $v1, $a0 +/* BADA34 802400F4 00031843 */ sra $v1, $v1, 1 +/* BADA38 802400F8 00621821 */ addu $v1, $v1, $v0 +/* BADA3C 802400FC A603008E */ sh $v1, 0x8e($s0) +/* BADA40 80240100 8E2300D0 */ lw $v1, 0xd0($s1) +/* BADA44 80240104 C6000040 */ lwc1 $f0, 0x40($s0) +/* BADA48 80240108 C4640000 */ lwc1 $f4, ($v1) +/* BADA4C 8024010C 46802120 */ cvt.s.w $f4, $f4 +/* BADA50 80240110 C4620008 */ lwc1 $f2, 8($v1) +/* BADA54 80240114 468010A0 */ cvt.s.w $f2, $f2 +/* BADA58 80240118 E7A00010 */ swc1 $f0, 0x10($sp) +/* BADA5C 8024011C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BADA60 80240120 44061000 */ mfc1 $a2, $f2 +/* BADA64 80240124 C440000C */ lwc1 $f0, 0xc($v0) +/* BADA68 80240128 46800020 */ cvt.s.w $f0, $f0 +/* BADA6C 8024012C E7A00014 */ swc1 $f0, 0x14($sp) +/* BADA70 80240130 8E2200D0 */ lw $v0, 0xd0($s1) +/* BADA74 80240134 44052000 */ mfc1 $a1, $f4 +/* BADA78 80240138 C4400010 */ lwc1 $f0, 0x10($v0) +/* BADA7C 8024013C 46800020 */ cvt.s.w $f0, $f0 +/* BADA80 80240140 E7A00018 */ swc1 $f0, 0x18($sp) +/* BADA84 80240144 8C640018 */ lw $a0, 0x18($v1) +/* BADA88 80240148 0C0123F5 */ jal is_point_within_region +/* BADA8C 8024014C 8E070038 */ lw $a3, 0x38($s0) +/* BADA90 80240150 1040000E */ beqz $v0, .L8024018C +/* BADA94 80240154 00000000 */ nop +/* BADA98 80240158 8E2200D0 */ lw $v0, 0xd0($s1) +/* BADA9C 8024015C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BADAA0 80240160 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BADAA4 80240164 C4460000 */ lwc1 $f6, ($v0) +/* BADAA8 80240168 468031A0 */ cvt.s.w $f6, $f6 +/* BADAAC 8024016C 44063000 */ mfc1 $a2, $f6 +/* BADAB0 80240170 C4460008 */ lwc1 $f6, 8($v0) +/* BADAB4 80240174 468031A0 */ cvt.s.w $f6, $f6 +/* BADAB8 80240178 44073000 */ mfc1 $a3, $f6 +/* BADABC 8024017C 0C00A720 */ jal atan2 +/* BADAC0 80240180 00000000 */ nop +/* BADAC4 80240184 0809006F */ j .L802401BC +/* BADAC8 80240188 E600000C */ swc1 $f0, 0xc($s0) +.L8024018C: +/* BADACC 8024018C 0C00A67F */ jal rand_int +/* BADAD0 80240190 2404003C */ addiu $a0, $zero, 0x3c +/* BADAD4 80240194 C60C000C */ lwc1 $f12, 0xc($s0) +/* BADAD8 80240198 44820000 */ mtc1 $v0, $f0 +/* BADADC 8024019C 00000000 */ nop +/* BADAE0 802401A0 46800020 */ cvt.s.w $f0, $f0 +/* BADAE4 802401A4 46006300 */ add.s $f12, $f12, $f0 +/* BADAE8 802401A8 3C0141F0 */ lui $at, 0x41f0 +/* BADAEC 802401AC 44810000 */ mtc1 $at, $f0 +/* BADAF0 802401B0 0C00A6C9 */ jal clamp_angle +/* BADAF4 802401B4 46006301 */ sub.s $f12, $f12, $f0 +/* BADAF8 802401B8 E600000C */ swc1 $f0, 0xc($s0) +.L802401BC: +/* BADAFC 802401BC 8E2200CC */ lw $v0, 0xcc($s1) +/* BADB00 802401C0 8C420004 */ lw $v0, 4($v0) +/* BADB04 802401C4 AE020028 */ sw $v0, 0x28($s0) +/* BADB08 802401C8 AE600074 */ sw $zero, 0x74($s3) +/* BADB0C 802401CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BADB10 802401D0 8C420014 */ lw $v0, 0x14($v0) +/* BADB14 802401D4 04410004 */ bgez $v0, .L802401E8 +/* BADB18 802401D8 00000000 */ nop +/* BADB1C 802401DC C6400000 */ lwc1 $f0, ($s2) +/* BADB20 802401E0 08090082 */ j .L80240208 +/* BADB24 802401E4 E6000018 */ swc1 $f0, 0x18($s0) +.L802401E8: +/* BADB28 802401E8 3C018024 */ lui $at, 0x8024 +/* BADB2C 802401EC D42252A0 */ ldc1 $f2, 0x52a0($at) +/* BADB30 802401F0 44820000 */ mtc1 $v0, $f0 +/* BADB34 802401F4 00000000 */ nop +/* BADB38 802401F8 46800021 */ cvt.d.w $f0, $f0 +/* BADB3C 802401FC 46220003 */ div.d $f0, $f0, $f2 +/* BADB40 80240200 46200020 */ cvt.s.d $f0, $f0 +/* BADB44 80240204 E6000018 */ swc1 $f0, 0x18($s0) +.L80240208: +/* BADB48 80240208 C600003C */ lwc1 $f0, 0x3c($s0) +/* BADB4C 8024020C 3C014059 */ lui $at, 0x4059 +/* BADB50 80240210 44811800 */ mtc1 $at, $f3 +/* BADB54 80240214 44801000 */ mtc1 $zero, $f2 +/* BADB58 80240218 46000021 */ cvt.d.s $f0, $f0 +/* BADB5C 8024021C 46220002 */ mul.d $f0, $f0, $f2 +/* BADB60 80240220 00000000 */ nop +/* BADB64 80240224 24020001 */ addiu $v0, $zero, 1 +/* BADB68 80240228 4620018D */ trunc.w.d $f6, $f0 +/* BADB6C 8024022C E626007C */ swc1 $f6, 0x7c($s1) +/* BADB70 80240230 AE620070 */ sw $v0, 0x70($s3) +/* BADB74 80240234 8FBF0030 */ lw $ra, 0x30($sp) +/* BADB78 80240238 8FB3002C */ lw $s3, 0x2c($sp) +/* BADB7C 8024023C 8FB20028 */ lw $s2, 0x28($sp) +/* BADB80 80240240 8FB10024 */ lw $s1, 0x24($sp) +/* BADB84 80240244 8FB00020 */ lw $s0, 0x20($sp) +/* BADB88 80240248 03E00008 */ jr $ra +/* BADB8C 8024024C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240250_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240250_BAD940.s new file mode 100644 index 0000000000..3b92ed6044 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240250_BAD940.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240250_BADB90 +/* BADB90 80240250 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BADB94 80240254 AFB3004C */ sw $s3, 0x4c($sp) +/* BADB98 80240258 0080982D */ daddu $s3, $a0, $zero +/* BADB9C 8024025C AFBF0058 */ sw $ra, 0x58($sp) +/* BADBA0 80240260 AFB50054 */ sw $s5, 0x54($sp) +/* BADBA4 80240264 AFB40050 */ sw $s4, 0x50($sp) +/* BADBA8 80240268 AFB20048 */ sw $s2, 0x48($sp) +/* BADBAC 8024026C AFB10044 */ sw $s1, 0x44($sp) +/* BADBB0 80240270 AFB00040 */ sw $s0, 0x40($sp) +/* BADBB4 80240274 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* BADBB8 80240278 F7B80070 */ sdc1 $f24, 0x70($sp) +/* BADBBC 8024027C F7B60068 */ sdc1 $f22, 0x68($sp) +/* BADBC0 80240280 F7B40060 */ sdc1 $f20, 0x60($sp) +/* BADBC4 80240284 8E710148 */ lw $s1, 0x148($s3) +/* BADBC8 80240288 00A0902D */ daddu $s2, $a1, $zero +/* BADBCC 8024028C 86240008 */ lh $a0, 8($s1) +/* BADBD0 80240290 0C00EABB */ jal get_npc_unsafe +/* BADBD4 80240294 00C0A82D */ daddu $s5, $a2, $zero +/* BADBD8 80240298 0040802D */ daddu $s0, $v0, $zero +/* BADBDC 8024029C 0000A02D */ daddu $s4, $zero, $zero +/* BADBE0 802402A0 C624007C */ lwc1 $f4, 0x7c($s1) +/* BADBE4 802402A4 46802120 */ cvt.s.w $f4, $f4 +/* BADBE8 802402A8 C6220088 */ lwc1 $f2, 0x88($s1) +/* BADBEC 802402AC 468010A0 */ cvt.s.w $f2, $f2 +/* BADBF0 802402B0 460010A1 */ cvt.d.s $f2, $f2 +/* BADBF4 802402B4 46002121 */ cvt.d.s $f4, $f4 +/* BADBF8 802402B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* BADBFC 802402BC 3C014059 */ lui $at, 0x4059 +/* BADC00 802402C0 44813800 */ mtc1 $at, $f7 +/* BADC04 802402C4 44803000 */ mtc1 $zero, $f6 +/* BADC08 802402C8 46000021 */ cvt.d.s $f0, $f0 +/* BADC0C 802402CC 46260002 */ mul.d $f0, $f0, $f6 +/* BADC10 802402D0 00000000 */ nop +/* BADC14 802402D4 24020001 */ addiu $v0, $zero, 1 +/* BADC18 802402D8 8E24006C */ lw $a0, 0x6c($s1) +/* BADC1C 802402DC 46261083 */ div.d $f2, $f2, $f6 +/* BADC20 802402E0 462010A0 */ cvt.s.d $f2, $f2 +/* BADC24 802402E4 46262103 */ div.d $f4, $f4, $f6 +/* BADC28 802402E8 46202520 */ cvt.s.d $f20, $f4 +/* BADC2C 802402EC 30830011 */ andi $v1, $a0, 0x11 +/* BADC30 802402F0 4620020D */ trunc.w.d $f8, $f0 +/* BADC34 802402F4 E628007C */ swc1 $f8, 0x7c($s1) +/* BADC38 802402F8 C6200078 */ lwc1 $f0, 0x78($s1) +/* BADC3C 802402FC 46800020 */ cvt.s.w $f0, $f0 +/* BADC40 80240300 46000021 */ cvt.d.s $f0, $f0 +/* BADC44 80240304 46260003 */ div.d $f0, $f0, $f6 +/* BADC48 80240308 462006A0 */ cvt.s.d $f26, $f0 +/* BADC4C 8024030C C6200070 */ lwc1 $f0, 0x70($s1) +/* BADC50 80240310 46800020 */ cvt.s.w $f0, $f0 +/* BADC54 80240314 46000021 */ cvt.d.s $f0, $f0 +/* BADC58 80240318 46260003 */ div.d $f0, $f0, $f6 +/* BADC5C 8024031C 462005A0 */ cvt.s.d $f22, $f0 +/* BADC60 80240320 14620025 */ bne $v1, $v0, .L802403B8 +/* BADC64 80240324 4602D600 */ add.s $f24, $f26, $f2 +/* BADC68 80240328 8E020000 */ lw $v0, ($s0) +/* BADC6C 8024032C 30420008 */ andi $v0, $v0, 8 +/* BADC70 80240330 10400009 */ beqz $v0, .L80240358 +/* BADC74 80240334 27A50028 */ addiu $a1, $sp, 0x28 +/* BADC78 80240338 C600003C */ lwc1 $f0, 0x3c($s0) +/* BADC7C 8024033C 4600C001 */ sub.s $f0, $f24, $f0 +/* BADC80 80240340 4600B03C */ c.lt.s $f22, $f0 +/* BADC84 80240344 00000000 */ nop +/* BADC88 80240348 4500001B */ bc1f .L802403B8 +/* BADC8C 8024034C 34820010 */ ori $v0, $a0, 0x10 +/* BADC90 80240350 080900EE */ j .L802403B8 +/* BADC94 80240354 AE22006C */ sw $v0, 0x6c($s1) +.L80240358: +/* BADC98 80240358 27A6002C */ addiu $a2, $sp, 0x2c +/* BADC9C 8024035C C6000038 */ lwc1 $f0, 0x38($s0) +/* BADCA0 80240360 C602003C */ lwc1 $f2, 0x3c($s0) +/* BADCA4 80240364 C6040040 */ lwc1 $f4, 0x40($s0) +/* BADCA8 80240368 3C01447A */ lui $at, 0x447a +/* BADCAC 8024036C 44813000 */ mtc1 $at, $f6 +/* BADCB0 80240370 27A20034 */ addiu $v0, $sp, 0x34 +/* BADCB4 80240374 E7A00028 */ swc1 $f0, 0x28($sp) +/* BADCB8 80240378 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BADCBC 8024037C E7A40030 */ swc1 $f4, 0x30($sp) +/* BADCC0 80240380 E7A60034 */ swc1 $f6, 0x34($sp) +/* BADCC4 80240384 AFA20010 */ sw $v0, 0x10($sp) +/* BADCC8 80240388 8E040080 */ lw $a0, 0x80($s0) +/* BADCCC 8024038C 0C0372DF */ jal func_800DCB7C +/* BADCD0 80240390 27A70030 */ addiu $a3, $sp, 0x30 +/* BADCD4 80240394 C7A00034 */ lwc1 $f0, 0x34($sp) +/* BADCD8 80240398 4600D001 */ sub.s $f0, $f26, $f0 +/* BADCDC 8024039C 4600B03C */ c.lt.s $f22, $f0 +/* BADCE0 802403A0 00000000 */ nop +/* BADCE4 802403A4 45000004 */ bc1f .L802403B8 +/* BADCE8 802403A8 00000000 */ nop +/* BADCEC 802403AC 8E22006C */ lw $v0, 0x6c($s1) +/* BADCF0 802403B0 34420010 */ ori $v0, $v0, 0x10 +/* BADCF4 802403B4 AE22006C */ sw $v0, 0x6c($s1) +.L802403B8: +/* BADCF8 802403B8 8E22006C */ lw $v0, 0x6c($s1) +/* BADCFC 802403BC 24030011 */ addiu $v1, $zero, 0x11 +/* BADD00 802403C0 30420011 */ andi $v0, $v0, 0x11 +/* BADD04 802403C4 14430039 */ bne $v0, $v1, .L802404AC +/* BADD08 802403C8 00000000 */ nop +/* BADD0C 802403CC 8E020000 */ lw $v0, ($s0) +/* BADD10 802403D0 30420008 */ andi $v0, $v0, 8 +/* BADD14 802403D4 1040000A */ beqz $v0, .L80240400 +/* BADD18 802403D8 4600C106 */ mov.s $f4, $f24 +/* BADD1C 802403DC 4614C081 */ sub.s $f2, $f24, $f20 +/* BADD20 802403E0 3C018024 */ lui $at, 0x8024 +/* BADD24 802403E4 D42052A8 */ ldc1 $f0, 0x52a8($at) +/* BADD28 802403E8 460010A1 */ cvt.d.s $f2, $f2 +/* BADD2C 802403EC 46201082 */ mul.d $f2, $f2, $f0 +/* BADD30 802403F0 00000000 */ nop +/* BADD34 802403F4 4600A021 */ cvt.d.s $f0, $f20 +/* BADD38 802403F8 08090119 */ j .L80240464 +/* BADD3C 802403FC 46220000 */ add.d $f0, $f0, $f2 +.L80240400: +/* BADD40 80240400 27A50028 */ addiu $a1, $sp, 0x28 +/* BADD44 80240404 27A6002C */ addiu $a2, $sp, 0x2c +/* BADD48 80240408 C6000038 */ lwc1 $f0, 0x38($s0) +/* BADD4C 8024040C C6020040 */ lwc1 $f2, 0x40($s0) +/* BADD50 80240410 3C01447A */ lui $at, 0x447a +/* BADD54 80240414 44812000 */ mtc1 $at, $f4 +/* BADD58 80240418 27A20034 */ addiu $v0, $sp, 0x34 +/* BADD5C 8024041C E7B4002C */ swc1 $f20, 0x2c($sp) +/* BADD60 80240420 E7A00028 */ swc1 $f0, 0x28($sp) +/* BADD64 80240424 E7A20030 */ swc1 $f2, 0x30($sp) +/* BADD68 80240428 E7A40034 */ swc1 $f4, 0x34($sp) +/* BADD6C 8024042C AFA20010 */ sw $v0, 0x10($sp) +/* BADD70 80240430 8E040080 */ lw $a0, 0x80($s0) +/* BADD74 80240434 0C0372DF */ jal func_800DCB7C +/* BADD78 80240438 27A70030 */ addiu $a3, $sp, 0x30 +/* BADD7C 8024043C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* BADD80 80240440 461A2100 */ add.s $f4, $f4, $f26 +/* BADD84 80240444 46142081 */ sub.s $f2, $f4, $f20 +/* BADD88 80240448 3C018024 */ lui $at, 0x8024 +/* BADD8C 8024044C D42052B0 */ ldc1 $f0, 0x52b0($at) +/* BADD90 80240450 460010A1 */ cvt.d.s $f2, $f2 +/* BADD94 80240454 46201082 */ mul.d $f2, $f2, $f0 +/* BADD98 80240458 00000000 */ nop +/* BADD9C 8024045C 4600A021 */ cvt.d.s $f0, $f20 +/* BADDA0 80240460 46220000 */ add.d $f0, $f0, $f2 +.L80240464: +/* BADDA4 80240464 46200020 */ cvt.s.d $f0, $f0 +/* BADDA8 80240468 E600003C */ swc1 $f0, 0x3c($s0) +/* BADDAC 8024046C C600003C */ lwc1 $f0, 0x3c($s0) +/* BADDB0 80240470 46002001 */ sub.s $f0, $f4, $f0 +/* BADDB4 80240474 3C013FF0 */ lui $at, 0x3ff0 +/* BADDB8 80240478 44811800 */ mtc1 $at, $f3 +/* BADDBC 8024047C 44801000 */ mtc1 $zero, $f2 +/* BADDC0 80240480 46000005 */ abs.s $f0, $f0 +/* BADDC4 80240484 46000021 */ cvt.d.s $f0, $f0 +/* BADDC8 80240488 4622003C */ c.lt.d $f0, $f2 +/* BADDCC 8024048C 00000000 */ nop +/* BADDD0 80240490 45000036 */ bc1f .L8024056C +/* BADDD4 80240494 2403FFEF */ addiu $v1, $zero, -0x11 +/* BADDD8 80240498 E604003C */ swc1 $f4, 0x3c($s0) +/* BADDDC 8024049C 8E22006C */ lw $v0, 0x6c($s1) +/* BADDE0 802404A0 00431024 */ and $v0, $v0, $v1 +/* BADDE4 802404A4 0809015B */ j .L8024056C +/* BADDE8 802404A8 AE22006C */ sw $v0, 0x6c($s1) +.L802404AC: +/* BADDEC 802404AC 8E220070 */ lw $v0, 0x70($s1) +/* BADDF0 802404B0 1840002E */ blez $v0, .L8024056C +/* BADDF4 802404B4 00000000 */ nop +/* BADDF8 802404B8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BADDFC 802404BC 0C00A8BB */ jal sin_deg +/* BADE00 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* BADE04 802404C4 8E020000 */ lw $v0, ($s0) +/* BADE08 802404C8 30420008 */ andi $v0, $v0, 8 +/* BADE0C 802404CC 10400003 */ beqz $v0, .L802404DC +/* BADE10 802404D0 46000506 */ mov.s $f20, $f0 +/* BADE14 802404D4 08090147 */ j .L8024051C +/* BADE18 802404D8 0000102D */ daddu $v0, $zero, $zero +.L802404DC: +/* BADE1C 802404DC 27A50028 */ addiu $a1, $sp, 0x28 +/* BADE20 802404E0 27A6002C */ addiu $a2, $sp, 0x2c +/* BADE24 802404E4 C6000038 */ lwc1 $f0, 0x38($s0) +/* BADE28 802404E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* BADE2C 802404EC C6040040 */ lwc1 $f4, 0x40($s0) +/* BADE30 802404F0 3C01447A */ lui $at, 0x447a +/* BADE34 802404F4 44813000 */ mtc1 $at, $f6 +/* BADE38 802404F8 27A20034 */ addiu $v0, $sp, 0x34 +/* BADE3C 802404FC E7A00028 */ swc1 $f0, 0x28($sp) +/* BADE40 80240500 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BADE44 80240504 E7A40030 */ swc1 $f4, 0x30($sp) +/* BADE48 80240508 E7A60034 */ swc1 $f6, 0x34($sp) +/* BADE4C 8024050C AFA20010 */ sw $v0, 0x10($sp) +/* BADE50 80240510 8E040080 */ lw $a0, 0x80($s0) +/* BADE54 80240514 0C0372DF */ jal func_800DCB7C +/* BADE58 80240518 27A70030 */ addiu $a3, $sp, 0x30 +.L8024051C: +/* BADE5C 8024051C 10400007 */ beqz $v0, .L8024053C +/* BADE60 80240520 00000000 */ nop +/* BADE64 80240524 4616A082 */ mul.s $f2, $f20, $f22 +/* BADE68 80240528 00000000 */ nop +/* BADE6C 8024052C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BADE70 80240530 461A0000 */ add.s $f0, $f0, $f26 +/* BADE74 80240534 08090152 */ j .L80240548 +/* BADE78 80240538 46020000 */ add.s $f0, $f0, $f2 +.L8024053C: +/* BADE7C 8024053C 4616A002 */ mul.s $f0, $f20, $f22 +/* BADE80 80240540 00000000 */ nop +/* BADE84 80240544 4600C000 */ add.s $f0, $f24, $f0 +.L80240548: +/* BADE88 80240548 E600003C */ swc1 $f0, 0x3c($s0) +/* BADE8C 8024054C 8E220074 */ lw $v0, 0x74($s1) +/* BADE90 80240550 2442000A */ addiu $v0, $v0, 0xa +/* BADE94 80240554 44826000 */ mtc1 $v0, $f12 +/* BADE98 80240558 00000000 */ nop +/* BADE9C 8024055C 0C00A6C9 */ jal clamp_angle +/* BADEA0 80240560 46806320 */ cvt.s.w $f12, $f12 +/* BADEA4 80240564 4600020D */ trunc.w.s $f8, $f0 +/* BADEA8 80240568 E6280074 */ swc1 $f8, 0x74($s1) +.L8024056C: +/* BADEAC 8024056C 8E220090 */ lw $v0, 0x90($s1) +/* BADEB0 80240570 1C40004A */ bgtz $v0, .L8024069C +/* BADEB4 80240574 2442FFFF */ addiu $v0, $v0, -1 +/* BADEB8 80240578 8E430014 */ lw $v1, 0x14($s2) +/* BADEBC 8024057C 04600048 */ bltz $v1, .L802406A0 +/* BADEC0 80240580 00000000 */ nop +/* BADEC4 80240584 8E620074 */ lw $v0, 0x74($s3) +/* BADEC8 80240588 1C400042 */ bgtz $v0, .L80240694 +/* BADECC 8024058C 2442FFFF */ addiu $v0, $v0, -1 +/* BADED0 80240590 AE630074 */ sw $v1, 0x74($s3) +/* BADED4 80240594 860200A8 */ lh $v0, 0xa8($s0) +/* BADED8 80240598 C602003C */ lwc1 $f2, 0x3c($s0) +/* BADEDC 8024059C 44820000 */ mtc1 $v0, $f0 +/* BADEE0 802405A0 00000000 */ nop +/* BADEE4 802405A4 46800020 */ cvt.s.w $f0, $f0 +/* BADEE8 802405A8 46001080 */ add.s $f2, $f2, $f0 +/* BADEEC 802405AC 3C014024 */ lui $at, 0x4024 +/* BADEF0 802405B0 44810800 */ mtc1 $at, $f1 +/* BADEF4 802405B4 44800000 */ mtc1 $zero, $f0 +/* BADEF8 802405B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BADEFC 802405BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BADF00 802405C0 460010A1 */ cvt.d.s $f2, $f2 +/* BADF04 802405C4 46201080 */ add.d $f2, $f2, $f0 +/* BADF08 802405C8 C440002C */ lwc1 $f0, 0x2c($v0) +/* BADF0C 802405CC 46000021 */ cvt.d.s $f0, $f0 +/* BADF10 802405D0 4622003C */ c.lt.d $f0, $f2 +/* BADF14 802405D4 00000000 */ nop +/* BADF18 802405D8 4500002C */ bc1f .L8024068C +/* BADF1C 802405DC 02A0202D */ daddu $a0, $s5, $zero +/* BADF20 802405E0 AFA00010 */ sw $zero, 0x10($sp) +/* BADF24 802405E4 8E46000C */ lw $a2, 0xc($s2) +/* BADF28 802405E8 8E470010 */ lw $a3, 0x10($s2) +/* BADF2C 802405EC 0C01242D */ jal func_800490B4 +/* BADF30 802405F0 0220282D */ daddu $a1, $s1, $zero +/* BADF34 802405F4 10400025 */ beqz $v0, .L8024068C +/* BADF38 802405F8 0000202D */ daddu $a0, $zero, $zero +/* BADF3C 802405FC 0200282D */ daddu $a1, $s0, $zero +/* BADF40 80240600 0000302D */ daddu $a2, $zero, $zero +/* BADF44 80240604 2412000C */ addiu $s2, $zero, 0xc +/* BADF48 80240608 860300A8 */ lh $v1, 0xa8($s0) +/* BADF4C 8024060C 3C013F80 */ lui $at, 0x3f80 +/* BADF50 80240610 44810000 */ mtc1 $at, $f0 +/* BADF54 80240614 3C014000 */ lui $at, 0x4000 +/* BADF58 80240618 44811000 */ mtc1 $at, $f2 +/* BADF5C 8024061C 3C01C1A0 */ lui $at, 0xc1a0 +/* BADF60 80240620 44812000 */ mtc1 $at, $f4 +/* BADF64 80240624 44834000 */ mtc1 $v1, $f8 +/* BADF68 80240628 00000000 */ nop +/* BADF6C 8024062C 46804220 */ cvt.s.w $f8, $f8 +/* BADF70 80240630 44074000 */ mfc1 $a3, $f8 +/* BADF74 80240634 27A20038 */ addiu $v0, $sp, 0x38 +/* BADF78 80240638 AFB2001C */ sw $s2, 0x1c($sp) +/* BADF7C 8024063C AFA20020 */ sw $v0, 0x20($sp) +/* BADF80 80240640 E7A00010 */ swc1 $f0, 0x10($sp) +/* BADF84 80240644 E7A20014 */ swc1 $f2, 0x14($sp) +/* BADF88 80240648 0C01BFA4 */ jal fx_emote +/* BADF8C 8024064C E7A40018 */ swc1 $f4, 0x18($sp) +/* BADF90 80240650 0200202D */ daddu $a0, $s0, $zero +/* BADF94 80240654 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BADF98 80240658 C480003C */ lwc1 $f0, 0x3c($a0) +/* BADF9C 8024065C 3C060020 */ lui $a2, 0x20 +/* BADFA0 80240660 0C012530 */ jal func_800494C0 +/* BADFA4 80240664 E4800064 */ swc1 $f0, 0x64($a0) +/* BADFA8 80240668 8E220018 */ lw $v0, 0x18($s1) +/* BADFAC 8024066C 9442002A */ lhu $v0, 0x2a($v0) +/* BADFB0 80240670 30420001 */ andi $v0, $v0, 1 +/* BADFB4 80240674 10400003 */ beqz $v0, .L80240684 +/* BADFB8 80240678 2402000A */ addiu $v0, $zero, 0xa +/* BADFBC 8024067C 08090211 */ j .L80240844 +/* BADFC0 80240680 AE620070 */ sw $v0, 0x70($s3) +.L80240684: +/* BADFC4 80240684 08090211 */ j .L80240844 +/* BADFC8 80240688 AE720070 */ sw $s2, 0x70($s3) +.L8024068C: +/* BADFCC 8024068C 8E620074 */ lw $v0, 0x74($s3) +/* BADFD0 80240690 2442FFFF */ addiu $v0, $v0, -1 +.L80240694: +/* BADFD4 80240694 080901A8 */ j .L802406A0 +/* BADFD8 80240698 AE620074 */ sw $v0, 0x74($s3) +.L8024069C: +/* BADFDC 8024069C AE220090 */ sw $v0, 0x90($s1) +.L802406A0: +/* BADFE0 802406A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* BADFE4 802406A4 C6000040 */ lwc1 $f0, 0x40($s0) +/* BADFE8 802406A8 C4620000 */ lwc1 $f2, ($v1) +/* BADFEC 802406AC 468010A0 */ cvt.s.w $f2, $f2 +/* BADFF0 802406B0 C4640008 */ lwc1 $f4, 8($v1) +/* BADFF4 802406B4 46802120 */ cvt.s.w $f4, $f4 +/* BADFF8 802406B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* BADFFC 802406BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAE000 802406C0 44051000 */ mfc1 $a1, $f2 +/* BAE004 802406C4 C440000C */ lwc1 $f0, 0xc($v0) +/* BAE008 802406C8 46800020 */ cvt.s.w $f0, $f0 +/* BAE00C 802406CC E7A00014 */ swc1 $f0, 0x14($sp) +/* BAE010 802406D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAE014 802406D4 44062000 */ mfc1 $a2, $f4 +/* BAE018 802406D8 C4400010 */ lwc1 $f0, 0x10($v0) +/* BAE01C 802406DC 46800020 */ cvt.s.w $f0, $f0 +/* BAE020 802406E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAE024 802406E4 8C640018 */ lw $a0, 0x18($v1) +/* BAE028 802406E8 0C0123F5 */ jal is_point_within_region +/* BAE02C 802406EC 8E070038 */ lw $a3, 0x38($s0) +/* BAE030 802406F0 1040001A */ beqz $v0, .L8024075C +/* BAE034 802406F4 00000000 */ nop +/* BAE038 802406F8 8E060038 */ lw $a2, 0x38($s0) +/* BAE03C 802406FC 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAE040 80240700 8E070040 */ lw $a3, 0x40($s0) +/* BAE044 80240704 C44C0000 */ lwc1 $f12, ($v0) +/* BAE048 80240708 46806320 */ cvt.s.w $f12, $f12 +/* BAE04C 8024070C C44E0008 */ lwc1 $f14, 8($v0) +/* BAE050 80240710 0C00A7B5 */ jal dist2D +/* BAE054 80240714 468073A0 */ cvt.s.w $f14, $f14 +/* BAE058 80240718 C6020018 */ lwc1 $f2, 0x18($s0) +/* BAE05C 8024071C 4600103C */ c.lt.s $f2, $f0 +/* BAE060 80240720 00000000 */ nop +/* BAE064 80240724 4500000D */ bc1f .L8024075C +/* BAE068 80240728 E7A00034 */ swc1 $f0, 0x34($sp) +/* BAE06C 8024072C C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAE070 80240730 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAE074 80240734 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAE078 80240738 C4480000 */ lwc1 $f8, ($v0) +/* BAE07C 8024073C 46804220 */ cvt.s.w $f8, $f8 +/* BAE080 80240740 44064000 */ mfc1 $a2, $f8 +/* BAE084 80240744 C4480008 */ lwc1 $f8, 8($v0) +/* BAE088 80240748 46804220 */ cvt.s.w $f8, $f8 +/* BAE08C 8024074C 44074000 */ mfc1 $a3, $f8 +/* BAE090 80240750 0C00A720 */ jal atan2 +/* BAE094 80240754 24140001 */ addiu $s4, $zero, 1 +/* BAE098 80240758 E600000C */ swc1 $f0, 0xc($s0) +.L8024075C: +/* BAE09C 8024075C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAE0A0 80240760 8C43000C */ lw $v1, 0xc($v0) +/* BAE0A4 80240764 8C420010 */ lw $v0, 0x10($v0) +/* BAE0A8 80240768 00621825 */ or $v1, $v1, $v0 +/* BAE0AC 8024076C 00741825 */ or $v1, $v1, $s4 +/* BAE0B0 80240770 10600008 */ beqz $v1, .L80240794 +/* BAE0B4 80240774 00000000 */ nop +/* BAE0B8 80240778 8602008C */ lh $v0, 0x8c($s0) +/* BAE0BC 8024077C 14400031 */ bnez $v0, .L80240844 +/* BAE0C0 80240780 00000000 */ nop +/* BAE0C4 80240784 8E050018 */ lw $a1, 0x18($s0) +/* BAE0C8 80240788 8E06000C */ lw $a2, 0xc($s0) +/* BAE0CC 8024078C 0C00EA95 */ jal npc_move_heading +/* BAE0D0 80240790 0200202D */ daddu $a0, $s0, $zero +.L80240794: +/* BAE0D4 80240794 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAE0D8 80240798 3C014059 */ lui $at, 0x4059 +/* BAE0DC 8024079C 44811800 */ mtc1 $at, $f3 +/* BAE0E0 802407A0 44801000 */ mtc1 $zero, $f2 +/* BAE0E4 802407A4 46000021 */ cvt.d.s $f0, $f0 +/* BAE0E8 802407A8 46220002 */ mul.d $f0, $f0, $f2 +/* BAE0EC 802407AC 00000000 */ nop +/* BAE0F0 802407B0 4620020D */ trunc.w.d $f8, $f0 +/* BAE0F4 802407B4 E628007C */ swc1 $f8, 0x7c($s1) +/* BAE0F8 802407B8 8E420004 */ lw $v0, 4($s2) +/* BAE0FC 802407BC 18400021 */ blez $v0, .L80240844 +/* BAE100 802407C0 00000000 */ nop +/* BAE104 802407C4 8602008E */ lh $v0, 0x8e($s0) +/* BAE108 802407C8 9603008E */ lhu $v1, 0x8e($s0) +/* BAE10C 802407CC 18400005 */ blez $v0, .L802407E4 +/* BAE110 802407D0 2462FFFF */ addiu $v0, $v1, -1 +/* BAE114 802407D4 A602008E */ sh $v0, 0x8e($s0) +/* BAE118 802407D8 00021400 */ sll $v0, $v0, 0x10 +/* BAE11C 802407DC 1C400019 */ bgtz $v0, .L80240844 +/* BAE120 802407E0 00000000 */ nop +.L802407E4: +/* BAE124 802407E4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BAE128 802407E8 24020002 */ addiu $v0, $zero, 2 +/* BAE12C 802407EC 0C00A67F */ jal rand_int +/* BAE130 802407F0 AE620070 */ sw $v0, 0x70($s3) +/* BAE134 802407F4 3C035555 */ lui $v1, 0x5555 +/* BAE138 802407F8 34635556 */ ori $v1, $v1, 0x5556 +/* BAE13C 802407FC 00430018 */ mult $v0, $v1 +/* BAE140 80240800 000227C3 */ sra $a0, $v0, 0x1f +/* BAE144 80240804 00004010 */ mfhi $t0 +/* BAE148 80240808 01042023 */ subu $a0, $t0, $a0 +/* BAE14C 8024080C 00041840 */ sll $v1, $a0, 1 +/* BAE150 80240810 00641821 */ addu $v1, $v1, $a0 +/* BAE154 80240814 00431023 */ subu $v0, $v0, $v1 +/* BAE158 80240818 24430002 */ addiu $v1, $v0, 2 +/* BAE15C 8024081C AE630074 */ sw $v1, 0x74($s3) +/* BAE160 80240820 8E42002C */ lw $v0, 0x2c($s2) +/* BAE164 80240824 58400007 */ blezl $v0, .L80240844 +/* BAE168 80240828 AE600070 */ sw $zero, 0x70($s3) +/* BAE16C 8024082C 8E420008 */ lw $v0, 8($s2) +/* BAE170 80240830 18400003 */ blez $v0, .L80240840 +/* BAE174 80240834 28620003 */ slti $v0, $v1, 3 +/* BAE178 80240838 10400002 */ beqz $v0, .L80240844 +/* BAE17C 8024083C 00000000 */ nop +.L80240840: +/* BAE180 80240840 AE600070 */ sw $zero, 0x70($s3) +.L80240844: +/* BAE184 80240844 8FBF0058 */ lw $ra, 0x58($sp) +/* BAE188 80240848 8FB50054 */ lw $s5, 0x54($sp) +/* BAE18C 8024084C 8FB40050 */ lw $s4, 0x50($sp) +/* BAE190 80240850 8FB3004C */ lw $s3, 0x4c($sp) +/* BAE194 80240854 8FB20048 */ lw $s2, 0x48($sp) +/* BAE198 80240858 8FB10044 */ lw $s1, 0x44($sp) +/* BAE19C 8024085C 8FB00040 */ lw $s0, 0x40($sp) +/* BAE1A0 80240860 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* BAE1A4 80240864 D7B80070 */ ldc1 $f24, 0x70($sp) +/* BAE1A8 80240868 D7B60068 */ ldc1 $f22, 0x68($sp) +/* BAE1AC 8024086C D7B40060 */ ldc1 $f20, 0x60($sp) +/* BAE1B0 80240870 03E00008 */ jr $ra +/* BAE1B4 80240874 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240878_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240878_BAD940.s new file mode 100644 index 0000000000..99da355b0f --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240878_BAD940.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240878_BAE1B8 +/* BAE1B8 80240878 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BAE1BC 8024087C AFB3001C */ sw $s3, 0x1c($sp) +/* BAE1C0 80240880 0080982D */ daddu $s3, $a0, $zero +/* BAE1C4 80240884 AFBF0020 */ sw $ra, 0x20($sp) +/* BAE1C8 80240888 AFB20018 */ sw $s2, 0x18($sp) +/* BAE1CC 8024088C AFB10014 */ sw $s1, 0x14($sp) +/* BAE1D0 80240890 AFB00010 */ sw $s0, 0x10($sp) +/* BAE1D4 80240894 8E720148 */ lw $s2, 0x148($s3) +/* BAE1D8 80240898 86440008 */ lh $a0, 8($s2) +/* BAE1DC 8024089C 0C00EABB */ jal get_npc_unsafe +/* BAE1E0 802408A0 00A0882D */ daddu $s1, $a1, $zero +/* BAE1E4 802408A4 8E240008 */ lw $a0, 8($s1) +/* BAE1E8 802408A8 0040802D */ daddu $s0, $v0, $zero +/* BAE1EC 802408AC 00041FC2 */ srl $v1, $a0, 0x1f +/* BAE1F0 802408B0 00832021 */ addu $a0, $a0, $v1 +/* BAE1F4 802408B4 00042043 */ sra $a0, $a0, 1 +/* BAE1F8 802408B8 0C00A67F */ jal rand_int +/* BAE1FC 802408BC 24840001 */ addiu $a0, $a0, 1 +/* BAE200 802408C0 8E230008 */ lw $v1, 8($s1) +/* BAE204 802408C4 240400B4 */ addiu $a0, $zero, 0xb4 +/* BAE208 802408C8 00032FC2 */ srl $a1, $v1, 0x1f +/* BAE20C 802408CC 00651821 */ addu $v1, $v1, $a1 +/* BAE210 802408D0 00031843 */ sra $v1, $v1, 1 +/* BAE214 802408D4 00621821 */ addu $v1, $v1, $v0 +/* BAE218 802408D8 0C00A67F */ jal rand_int +/* BAE21C 802408DC A603008E */ sh $v1, 0x8e($s0) +/* BAE220 802408E0 C60C000C */ lwc1 $f12, 0xc($s0) +/* BAE224 802408E4 44820000 */ mtc1 $v0, $f0 +/* BAE228 802408E8 00000000 */ nop +/* BAE22C 802408EC 46800020 */ cvt.s.w $f0, $f0 +/* BAE230 802408F0 46006300 */ add.s $f12, $f12, $f0 +/* BAE234 802408F4 3C0142B4 */ lui $at, 0x42b4 +/* BAE238 802408F8 44810000 */ mtc1 $at, $f0 +/* BAE23C 802408FC 0C00A6C9 */ jal clamp_angle +/* BAE240 80240900 46006301 */ sub.s $f12, $f12, $f0 +/* BAE244 80240904 E600000C */ swc1 $f0, 0xc($s0) +/* BAE248 80240908 8E4200CC */ lw $v0, 0xcc($s2) +/* BAE24C 8024090C 8C420000 */ lw $v0, ($v0) +/* BAE250 80240910 AE020028 */ sw $v0, 0x28($s0) +/* BAE254 80240914 24020003 */ addiu $v0, $zero, 3 +/* BAE258 80240918 AE620070 */ sw $v0, 0x70($s3) +/* BAE25C 8024091C 8FBF0020 */ lw $ra, 0x20($sp) +/* BAE260 80240920 8FB3001C */ lw $s3, 0x1c($sp) +/* BAE264 80240924 8FB20018 */ lw $s2, 0x18($sp) +/* BAE268 80240928 8FB10014 */ lw $s1, 0x14($sp) +/* BAE26C 8024092C 8FB00010 */ lw $s0, 0x10($sp) +/* BAE270 80240930 03E00008 */ jr $ra +/* BAE274 80240934 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240938_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240938_BAD940.s new file mode 100644 index 0000000000..f9eedeb8c0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240938_BAD940.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240938_BAE278 +/* BAE278 80240938 27BDFF88 */ addiu $sp, $sp, -0x78 +/* BAE27C 8024093C AFB3004C */ sw $s3, 0x4c($sp) +/* BAE280 80240940 0080982D */ daddu $s3, $a0, $zero +/* BAE284 80240944 AFBF0054 */ sw $ra, 0x54($sp) +/* BAE288 80240948 AFB40050 */ sw $s4, 0x50($sp) +/* BAE28C 8024094C AFB20048 */ sw $s2, 0x48($sp) +/* BAE290 80240950 AFB10044 */ sw $s1, 0x44($sp) +/* BAE294 80240954 AFB00040 */ sw $s0, 0x40($sp) +/* BAE298 80240958 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* BAE29C 8024095C F7B80068 */ sdc1 $f24, 0x68($sp) +/* BAE2A0 80240960 F7B60060 */ sdc1 $f22, 0x60($sp) +/* BAE2A4 80240964 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BAE2A8 80240968 8E710148 */ lw $s1, 0x148($s3) +/* BAE2AC 8024096C 00A0902D */ daddu $s2, $a1, $zero +/* BAE2B0 80240970 86240008 */ lh $a0, 8($s1) +/* BAE2B4 80240974 0C00EABB */ jal get_npc_unsafe +/* BAE2B8 80240978 00C0A02D */ daddu $s4, $a2, $zero +/* BAE2BC 8024097C 0040802D */ daddu $s0, $v0, $zero +/* BAE2C0 80240980 C6200078 */ lwc1 $f0, 0x78($s1) +/* BAE2C4 80240984 46800020 */ cvt.s.w $f0, $f0 +/* BAE2C8 80240988 46000021 */ cvt.d.s $f0, $f0 +/* BAE2CC 8024098C 3C014059 */ lui $at, 0x4059 +/* BAE2D0 80240990 44811800 */ mtc1 $at, $f3 +/* BAE2D4 80240994 44801000 */ mtc1 $zero, $f2 +/* BAE2D8 80240998 8602008E */ lh $v0, 0x8e($s0) +/* BAE2DC 8024099C 9603008E */ lhu $v1, 0x8e($s0) +/* BAE2E0 802409A0 46220003 */ div.d $f0, $f0, $f2 +/* BAE2E4 802409A4 46200620 */ cvt.s.d $f24, $f0 +/* BAE2E8 802409A8 C6200088 */ lwc1 $f0, 0x88($s1) +/* BAE2EC 802409AC 46800020 */ cvt.s.w $f0, $f0 +/* BAE2F0 802409B0 46000021 */ cvt.d.s $f0, $f0 +/* BAE2F4 802409B4 46220003 */ div.d $f0, $f0, $f2 +/* BAE2F8 802409B8 46200020 */ cvt.s.d $f0, $f0 +/* BAE2FC 802409BC 18400003 */ blez $v0, .L802409CC +/* BAE300 802409C0 4600C680 */ add.s $f26, $f24, $f0 +/* BAE304 802409C4 2462FFFF */ addiu $v0, $v1, -1 +/* BAE308 802409C8 A602008E */ sh $v0, 0x8e($s0) +.L802409CC: +/* BAE30C 802409CC 8E220070 */ lw $v0, 0x70($s1) +/* BAE310 802409D0 18400034 */ blez $v0, .L80240AA4 +/* BAE314 802409D4 00000000 */ nop +/* BAE318 802409D8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BAE31C 802409DC 46806320 */ cvt.s.w $f12, $f12 +/* BAE320 802409E0 44820000 */ mtc1 $v0, $f0 +/* BAE324 802409E4 00000000 */ nop +/* BAE328 802409E8 46800020 */ cvt.s.w $f0, $f0 +/* BAE32C 802409EC 46000021 */ cvt.d.s $f0, $f0 +/* BAE330 802409F0 46220003 */ div.d $f0, $f0, $f2 +/* BAE334 802409F4 0C00A8BB */ jal sin_deg +/* BAE338 802409F8 462005A0 */ cvt.s.d $f22, $f0 +/* BAE33C 802409FC 8E020000 */ lw $v0, ($s0) +/* BAE340 80240A00 30420008 */ andi $v0, $v0, 8 +/* BAE344 80240A04 10400003 */ beqz $v0, .L80240A14 +/* BAE348 80240A08 46000506 */ mov.s $f20, $f0 +/* BAE34C 80240A0C 08090295 */ j .L80240A54 +/* BAE350 80240A10 0000102D */ daddu $v0, $zero, $zero +.L80240A14: +/* BAE354 80240A14 27A50028 */ addiu $a1, $sp, 0x28 +/* BAE358 80240A18 27A6002C */ addiu $a2, $sp, 0x2c +/* BAE35C 80240A1C C6000038 */ lwc1 $f0, 0x38($s0) +/* BAE360 80240A20 C602003C */ lwc1 $f2, 0x3c($s0) +/* BAE364 80240A24 C6040040 */ lwc1 $f4, 0x40($s0) +/* BAE368 80240A28 3C01447A */ lui $at, 0x447a +/* BAE36C 80240A2C 44813000 */ mtc1 $at, $f6 +/* BAE370 80240A30 27A20034 */ addiu $v0, $sp, 0x34 +/* BAE374 80240A34 E7A00028 */ swc1 $f0, 0x28($sp) +/* BAE378 80240A38 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BAE37C 80240A3C E7A40030 */ swc1 $f4, 0x30($sp) +/* BAE380 80240A40 E7A60034 */ swc1 $f6, 0x34($sp) +/* BAE384 80240A44 AFA20010 */ sw $v0, 0x10($sp) +/* BAE388 80240A48 8E040080 */ lw $a0, 0x80($s0) +/* BAE38C 80240A4C 0C0372DF */ jal func_800DCB7C +/* BAE390 80240A50 27A70030 */ addiu $a3, $sp, 0x30 +.L80240A54: +/* BAE394 80240A54 10400007 */ beqz $v0, .L80240A74 +/* BAE398 80240A58 00000000 */ nop +/* BAE39C 80240A5C 4616A082 */ mul.s $f2, $f20, $f22 +/* BAE3A0 80240A60 00000000 */ nop +/* BAE3A4 80240A64 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BAE3A8 80240A68 46180000 */ add.s $f0, $f0, $f24 +/* BAE3AC 80240A6C 080902A0 */ j .L80240A80 +/* BAE3B0 80240A70 46020000 */ add.s $f0, $f0, $f2 +.L80240A74: +/* BAE3B4 80240A74 4616A002 */ mul.s $f0, $f20, $f22 +/* BAE3B8 80240A78 00000000 */ nop +/* BAE3BC 80240A7C 4600D000 */ add.s $f0, $f26, $f0 +.L80240A80: +/* BAE3C0 80240A80 E600003C */ swc1 $f0, 0x3c($s0) +/* BAE3C4 80240A84 8E220074 */ lw $v0, 0x74($s1) +/* BAE3C8 80240A88 2442000A */ addiu $v0, $v0, 0xa +/* BAE3CC 80240A8C 44826000 */ mtc1 $v0, $f12 +/* BAE3D0 80240A90 00000000 */ nop +/* BAE3D4 80240A94 0C00A6C9 */ jal clamp_angle +/* BAE3D8 80240A98 46806320 */ cvt.s.w $f12, $f12 +/* BAE3DC 80240A9C 4600020D */ trunc.w.s $f8, $f0 +/* BAE3E0 80240AA0 E6280074 */ swc1 $f8, 0x74($s1) +.L80240AA4: +/* BAE3E4 80240AA4 8E220090 */ lw $v0, 0x90($s1) +/* BAE3E8 80240AA8 1C400040 */ bgtz $v0, .L80240BAC +/* BAE3EC 80240AAC 2442FFFF */ addiu $v0, $v0, -1 +/* BAE3F0 80240AB0 860200A8 */ lh $v0, 0xa8($s0) +/* BAE3F4 80240AB4 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAE3F8 80240AB8 44821000 */ mtc1 $v0, $f2 +/* BAE3FC 80240ABC 00000000 */ nop +/* BAE400 80240AC0 468010A0 */ cvt.s.w $f2, $f2 +/* BAE404 80240AC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAE408 80240AC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAE40C 80240ACC 46020000 */ add.s $f0, $f0, $f2 +/* BAE410 80240AD0 3C014024 */ lui $at, 0x4024 +/* BAE414 80240AD4 44812800 */ mtc1 $at, $f5 +/* BAE418 80240AD8 44802000 */ mtc1 $zero, $f4 +/* BAE41C 80240ADC C442002C */ lwc1 $f2, 0x2c($v0) +/* BAE420 80240AE0 46000021 */ cvt.d.s $f0, $f0 +/* BAE424 80240AE4 46240000 */ add.d $f0, $f0, $f4 +/* BAE428 80240AE8 460010A1 */ cvt.d.s $f2, $f2 +/* BAE42C 80240AEC 4620103C */ c.lt.d $f2, $f0 +/* BAE430 80240AF0 00000000 */ nop +/* BAE434 80240AF4 4500002E */ bc1f .L80240BB0 +/* BAE438 80240AF8 0280202D */ daddu $a0, $s4, $zero +/* BAE43C 80240AFC 24020001 */ addiu $v0, $zero, 1 +/* BAE440 80240B00 AFA20010 */ sw $v0, 0x10($sp) +/* BAE444 80240B04 8E460024 */ lw $a2, 0x24($s2) +/* BAE448 80240B08 8E470028 */ lw $a3, 0x28($s2) +/* BAE44C 80240B0C 0C01242D */ jal func_800490B4 +/* BAE450 80240B10 0220282D */ daddu $a1, $s1, $zero +/* BAE454 80240B14 10400026 */ beqz $v0, .L80240BB0 +/* BAE458 80240B18 0000202D */ daddu $a0, $zero, $zero +/* BAE45C 80240B1C 0200282D */ daddu $a1, $s0, $zero +/* BAE460 80240B20 0000302D */ daddu $a2, $zero, $zero +/* BAE464 80240B24 2412000C */ addiu $s2, $zero, 0xc +/* BAE468 80240B28 860300A8 */ lh $v1, 0xa8($s0) +/* BAE46C 80240B2C 3C013F80 */ lui $at, 0x3f80 +/* BAE470 80240B30 44810000 */ mtc1 $at, $f0 +/* BAE474 80240B34 3C014000 */ lui $at, 0x4000 +/* BAE478 80240B38 44811000 */ mtc1 $at, $f2 +/* BAE47C 80240B3C 3C01C1A0 */ lui $at, 0xc1a0 +/* BAE480 80240B40 44812000 */ mtc1 $at, $f4 +/* BAE484 80240B44 44834000 */ mtc1 $v1, $f8 +/* BAE488 80240B48 00000000 */ nop +/* BAE48C 80240B4C 46804220 */ cvt.s.w $f8, $f8 +/* BAE490 80240B50 44074000 */ mfc1 $a3, $f8 +/* BAE494 80240B54 27A20038 */ addiu $v0, $sp, 0x38 +/* BAE498 80240B58 AFB2001C */ sw $s2, 0x1c($sp) +/* BAE49C 80240B5C AFA20020 */ sw $v0, 0x20($sp) +/* BAE4A0 80240B60 E7A00010 */ swc1 $f0, 0x10($sp) +/* BAE4A4 80240B64 E7A20014 */ swc1 $f2, 0x14($sp) +/* BAE4A8 80240B68 0C01BFA4 */ jal fx_emote +/* BAE4AC 80240B6C E7A40018 */ swc1 $f4, 0x18($sp) +/* BAE4B0 80240B70 0200202D */ daddu $a0, $s0, $zero +/* BAE4B4 80240B74 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BAE4B8 80240B78 C480003C */ lwc1 $f0, 0x3c($a0) +/* BAE4BC 80240B7C 3C060020 */ lui $a2, 0x20 +/* BAE4C0 80240B80 0C012530 */ jal func_800494C0 +/* BAE4C4 80240B84 E4800064 */ swc1 $f0, 0x64($a0) +/* BAE4C8 80240B88 8E220018 */ lw $v0, 0x18($s1) +/* BAE4CC 80240B8C 9442002A */ lhu $v0, 0x2a($v0) +/* BAE4D0 80240B90 30420001 */ andi $v0, $v0, 1 +/* BAE4D4 80240B94 10400003 */ beqz $v0, .L80240BA4 +/* BAE4D8 80240B98 2402000A */ addiu $v0, $zero, 0xa +/* BAE4DC 80240B9C 08090313 */ j .L80240C4C +/* BAE4E0 80240BA0 AE620070 */ sw $v0, 0x70($s3) +.L80240BA4: +/* BAE4E4 80240BA4 08090313 */ j .L80240C4C +/* BAE4E8 80240BA8 AE720070 */ sw $s2, 0x70($s3) +.L80240BAC: +/* BAE4EC 80240BAC AE220090 */ sw $v0, 0x90($s1) +.L80240BB0: +/* BAE4F0 80240BB0 8602008C */ lh $v0, 0x8c($s0) +/* BAE4F4 80240BB4 14400025 */ bnez $v0, .L80240C4C +/* BAE4F8 80240BB8 00000000 */ nop +/* BAE4FC 80240BBC 8602008E */ lh $v0, 0x8e($s0) +/* BAE500 80240BC0 1C400022 */ bgtz $v0, .L80240C4C +/* BAE504 80240BC4 00000000 */ nop +/* BAE508 80240BC8 8E620074 */ lw $v0, 0x74($s3) +/* BAE50C 80240BCC 2442FFFF */ addiu $v0, $v0, -1 +/* BAE510 80240BD0 1840001D */ blez $v0, .L80240C48 +/* BAE514 80240BD4 AE620074 */ sw $v0, 0x74($s3) +/* BAE518 80240BD8 8E220018 */ lw $v0, 0x18($s1) +/* BAE51C 80240BDC 9442002A */ lhu $v0, 0x2a($v0) +/* BAE520 80240BE0 30420010 */ andi $v0, $v0, 0x10 +/* BAE524 80240BE4 14400007 */ bnez $v0, .L80240C04 +/* BAE528 80240BE8 00000000 */ nop +/* BAE52C 80240BEC C600000C */ lwc1 $f0, 0xc($s0) +/* BAE530 80240BF0 3C014334 */ lui $at, 0x4334 +/* BAE534 80240BF4 44816000 */ mtc1 $at, $f12 +/* BAE538 80240BF8 0C00A6C9 */ jal clamp_angle +/* BAE53C 80240BFC 460C0300 */ add.s $f12, $f0, $f12 +/* BAE540 80240C00 E600000C */ swc1 $f0, 0xc($s0) +.L80240C04: +/* BAE544 80240C04 0C00A67F */ jal rand_int +/* BAE548 80240C08 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BAE54C 80240C0C 3C032E8B */ lui $v1, 0x2e8b +/* BAE550 80240C10 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BAE554 80240C14 00430018 */ mult $v0, $v1 +/* BAE558 80240C18 00021FC3 */ sra $v1, $v0, 0x1f +/* BAE55C 80240C1C 00004010 */ mfhi $t0 +/* BAE560 80240C20 00082043 */ sra $a0, $t0, 1 +/* BAE564 80240C24 00832023 */ subu $a0, $a0, $v1 +/* BAE568 80240C28 00041840 */ sll $v1, $a0, 1 +/* BAE56C 80240C2C 00641821 */ addu $v1, $v1, $a0 +/* BAE570 80240C30 00031880 */ sll $v1, $v1, 2 +/* BAE574 80240C34 00641823 */ subu $v1, $v1, $a0 +/* BAE578 80240C38 00431023 */ subu $v0, $v0, $v1 +/* BAE57C 80240C3C 24420005 */ addiu $v0, $v0, 5 +/* BAE580 80240C40 08090313 */ j .L80240C4C +/* BAE584 80240C44 A602008E */ sh $v0, 0x8e($s0) +.L80240C48: +/* BAE588 80240C48 AE600070 */ sw $zero, 0x70($s3) +.L80240C4C: +/* BAE58C 80240C4C 8FBF0054 */ lw $ra, 0x54($sp) +/* BAE590 80240C50 8FB40050 */ lw $s4, 0x50($sp) +/* BAE594 80240C54 8FB3004C */ lw $s3, 0x4c($sp) +/* BAE598 80240C58 8FB20048 */ lw $s2, 0x48($sp) +/* BAE59C 80240C5C 8FB10044 */ lw $s1, 0x44($sp) +/* BAE5A0 80240C60 8FB00040 */ lw $s0, 0x40($sp) +/* BAE5A4 80240C64 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* BAE5A8 80240C68 D7B80068 */ ldc1 $f24, 0x68($sp) +/* BAE5AC 80240C6C D7B60060 */ ldc1 $f22, 0x60($sp) +/* BAE5B0 80240C70 D7B40058 */ ldc1 $f20, 0x58($sp) +/* BAE5B4 80240C74 03E00008 */ jr $ra +/* BAE5B8 80240C78 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240C7C.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240C7C.s new file mode 100644 index 0000000000..46bf442749 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240C7C.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C7C +/* BAE5BC 80240C7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAE5C0 80240C80 AFB20018 */ sw $s2, 0x18($sp) +/* BAE5C4 80240C84 0080902D */ daddu $s2, $a0, $zero +/* BAE5C8 80240C88 AFBF001C */ sw $ra, 0x1c($sp) +/* BAE5CC 80240C8C AFB10014 */ sw $s1, 0x14($sp) +/* BAE5D0 80240C90 AFB00010 */ sw $s0, 0x10($sp) +/* BAE5D4 80240C94 8E510148 */ lw $s1, 0x148($s2) +/* BAE5D8 80240C98 0C00EABB */ jal get_npc_unsafe +/* BAE5DC 80240C9C 86240008 */ lh $a0, 8($s1) +/* BAE5E0 80240CA0 0040802D */ daddu $s0, $v0, $zero +/* BAE5E4 80240CA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAE5E8 80240CA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAE5EC 80240CAC C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAE5F0 80240CB0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAE5F4 80240CB4 A600008E */ sh $zero, 0x8e($s0) +/* BAE5F8 80240CB8 8C460028 */ lw $a2, 0x28($v0) +/* BAE5FC 80240CBC 0C00A720 */ jal atan2 +/* BAE600 80240CC0 8C470030 */ lw $a3, 0x30($v0) +/* BAE604 80240CC4 E600000C */ swc1 $f0, 0xc($s0) +/* BAE608 80240CC8 8E2200CC */ lw $v0, 0xcc($s1) +/* BAE60C 80240CCC 8C420020 */ lw $v0, 0x20($v0) +/* BAE610 80240CD0 AE020028 */ sw $v0, 0x28($s0) +/* BAE614 80240CD4 2402000B */ addiu $v0, $zero, 0xb +/* BAE618 80240CD8 AE420070 */ sw $v0, 0x70($s2) +/* BAE61C 80240CDC 8FBF001C */ lw $ra, 0x1c($sp) +/* BAE620 80240CE0 8FB20018 */ lw $s2, 0x18($sp) +/* BAE624 80240CE4 8FB10014 */ lw $s1, 0x14($sp) +/* BAE628 80240CE8 8FB00010 */ lw $s0, 0x10($sp) +/* BAE62C 80240CEC 03E00008 */ jr $ra +/* BAE630 80240CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240CF4_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240CF4_BAD940.s new file mode 100644 index 0000000000..993dba914a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240CF4_BAD940.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF4_BAE634 +/* BAE634 80240CF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAE638 80240CF8 AFB00010 */ sw $s0, 0x10($sp) +/* BAE63C 80240CFC 0080802D */ daddu $s0, $a0, $zero +/* BAE640 80240D00 AFBF0014 */ sw $ra, 0x14($sp) +/* BAE644 80240D04 8E020148 */ lw $v0, 0x148($s0) +/* BAE648 80240D08 0C00EABB */ jal get_npc_unsafe +/* BAE64C 80240D0C 84440008 */ lh $a0, 8($v0) +/* BAE650 80240D10 9443008E */ lhu $v1, 0x8e($v0) +/* BAE654 80240D14 C440003C */ lwc1 $f0, 0x3c($v0) +/* BAE658 80240D18 24640001 */ addiu $a0, $v1, 1 +/* BAE65C 80240D1C 00031C00 */ sll $v1, $v1, 0x10 +/* BAE660 80240D20 00031B83 */ sra $v1, $v1, 0xe +/* BAE664 80240D24 A444008E */ sh $a0, 0x8e($v0) +/* BAE668 80240D28 3C018024 */ lui $at, 0x8024 +/* BAE66C 80240D2C 00230821 */ addu $at, $at, $v1 +/* BAE670 80240D30 C42243C0 */ lwc1 $f2, 0x43c0($at) +/* BAE674 80240D34 8443008E */ lh $v1, 0x8e($v0) +/* BAE678 80240D38 46020000 */ add.s $f0, $f0, $f2 +/* BAE67C 80240D3C 28630005 */ slti $v1, $v1, 5 +/* BAE680 80240D40 14600003 */ bnez $v1, .L80240D50 +/* BAE684 80240D44 E440003C */ swc1 $f0, 0x3c($v0) +/* BAE688 80240D48 2402000C */ addiu $v0, $zero, 0xc +/* BAE68C 80240D4C AE020070 */ sw $v0, 0x70($s0) +.L80240D50: +/* BAE690 80240D50 8FBF0014 */ lw $ra, 0x14($sp) +/* BAE694 80240D54 8FB00010 */ lw $s0, 0x10($sp) +/* BAE698 80240D58 03E00008 */ jr $ra +/* BAE69C 80240D5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240D60_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240D60_BAD940.s new file mode 100644 index 0000000000..c7ba2b6760 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240D60_BAD940.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D60_BAE6A0 +/* BAE6A0 80240D60 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BAE6A4 80240D64 AFB3001C */ sw $s3, 0x1c($sp) +/* BAE6A8 80240D68 0080982D */ daddu $s3, $a0, $zero +/* BAE6AC 80240D6C AFBF0020 */ sw $ra, 0x20($sp) +/* BAE6B0 80240D70 AFB20018 */ sw $s2, 0x18($sp) +/* BAE6B4 80240D74 AFB10014 */ sw $s1, 0x14($sp) +/* BAE6B8 80240D78 AFB00010 */ sw $s0, 0x10($sp) +/* BAE6BC 80240D7C 8E720148 */ lw $s2, 0x148($s3) +/* BAE6C0 80240D80 86440008 */ lh $a0, 8($s2) +/* BAE6C4 80240D84 0C00EABB */ jal get_npc_unsafe +/* BAE6C8 80240D88 00A0802D */ daddu $s0, $a1, $zero +/* BAE6CC 80240D8C 0040882D */ daddu $s1, $v0, $zero +/* BAE6D0 80240D90 C6420080 */ lwc1 $f2, 0x80($s2) +/* BAE6D4 80240D94 468010A0 */ cvt.s.w $f2, $f2 +/* BAE6D8 80240D98 460010A1 */ cvt.d.s $f2, $f2 +/* BAE6DC 80240D9C C6400084 */ lwc1 $f0, 0x84($s2) +/* BAE6E0 80240DA0 46800020 */ cvt.s.w $f0, $f0 +/* BAE6E4 80240DA4 46000021 */ cvt.d.s $f0, $f0 +/* BAE6E8 80240DA8 3C014059 */ lui $at, 0x4059 +/* BAE6EC 80240DAC 44812800 */ mtc1 $at, $f5 +/* BAE6F0 80240DB0 44802000 */ mtc1 $zero, $f4 +/* BAE6F4 80240DB4 8E4200CC */ lw $v0, 0xcc($s2) +/* BAE6F8 80240DB8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BAE6FC 80240DBC C62E0040 */ lwc1 $f14, 0x40($s1) +/* BAE700 80240DC0 46241083 */ div.d $f2, $f2, $f4 +/* BAE704 80240DC4 462010A0 */ cvt.s.d $f2, $f2 +/* BAE708 80240DC8 46240003 */ div.d $f0, $f0, $f4 +/* BAE70C 80240DCC 8C420020 */ lw $v0, 0x20($v0) +/* BAE710 80240DD0 46200020 */ cvt.s.d $f0, $f0 +/* BAE714 80240DD4 E622001C */ swc1 $f2, 0x1c($s1) +/* BAE718 80240DD8 E6200014 */ swc1 $f0, 0x14($s1) +/* BAE71C 80240DDC AE220028 */ sw $v0, 0x28($s1) +/* BAE720 80240DE0 C6000018 */ lwc1 $f0, 0x18($s0) +/* BAE724 80240DE4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAE728 80240DE8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAE72C 80240DEC E6200018 */ swc1 $f0, 0x18($s1) +/* BAE730 80240DF0 8C460028 */ lw $a2, 0x28($v0) +/* BAE734 80240DF4 0C00A720 */ jal atan2 +/* BAE738 80240DF8 8C470030 */ lw $a3, 0x30($v0) +/* BAE73C 80240DFC E620000C */ swc1 $f0, 0xc($s1) +/* BAE740 80240E00 8E420018 */ lw $v0, 0x18($s2) +/* BAE744 80240E04 AE400074 */ sw $zero, 0x74($s2) +/* BAE748 80240E08 9442002A */ lhu $v0, 0x2a($v0) +/* BAE74C 80240E0C 30420002 */ andi $v0, $v0, 2 +/* BAE750 80240E10 10400005 */ beqz $v0, .L80240E28 +/* BAE754 80240E14 24020003 */ addiu $v0, $zero, 3 +/* BAE758 80240E18 A622008E */ sh $v0, 0x8e($s1) +/* BAE75C 80240E1C 2402000D */ addiu $v0, $zero, 0xd +/* BAE760 80240E20 0809039E */ j .L80240E78 +/* BAE764 80240E24 AE620070 */ sw $v0, 0x70($s3) +.L80240E28: +/* BAE768 80240E28 24030001 */ addiu $v1, $zero, 1 +/* BAE76C 80240E2C 2402000E */ addiu $v0, $zero, 0xe +/* BAE770 80240E30 A623008E */ sh $v1, 0x8e($s1) +/* BAE774 80240E34 AE620070 */ sw $v0, 0x70($s3) +/* BAE778 80240E38 C6200038 */ lwc1 $f0, 0x38($s1) +/* BAE77C 80240E3C 4600018D */ trunc.w.s $f6, $f0 +/* BAE780 80240E40 44023000 */ mfc1 $v0, $f6 +/* BAE784 80240E44 00000000 */ nop +/* BAE788 80240E48 A6420010 */ sh $v0, 0x10($s2) +/* BAE78C 80240E4C C620003C */ lwc1 $f0, 0x3c($s1) +/* BAE790 80240E50 4600018D */ trunc.w.s $f6, $f0 +/* BAE794 80240E54 44023000 */ mfc1 $v0, $f6 +/* BAE798 80240E58 00000000 */ nop +/* BAE79C 80240E5C A6420012 */ sh $v0, 0x12($s2) +/* BAE7A0 80240E60 C6200040 */ lwc1 $f0, 0x40($s1) +/* BAE7A4 80240E64 A2430007 */ sb $v1, 7($s2) +/* BAE7A8 80240E68 4600018D */ trunc.w.s $f6, $f0 +/* BAE7AC 80240E6C 44023000 */ mfc1 $v0, $f6 +/* BAE7B0 80240E70 00000000 */ nop +/* BAE7B4 80240E74 A6420014 */ sh $v0, 0x14($s2) +.L80240E78: +/* BAE7B8 80240E78 8FBF0020 */ lw $ra, 0x20($sp) +/* BAE7BC 80240E7C 8FB3001C */ lw $s3, 0x1c($sp) +/* BAE7C0 80240E80 8FB20018 */ lw $s2, 0x18($sp) +/* BAE7C4 80240E84 8FB10014 */ lw $s1, 0x14($sp) +/* BAE7C8 80240E88 8FB00010 */ lw $s0, 0x10($sp) +/* BAE7CC 80240E8C 03E00008 */ jr $ra +/* BAE7D0 80240E90 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240E94_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240E94_BAD940.s new file mode 100644 index 0000000000..a9726ca891 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240E94_BAD940.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E94_BAE7D4 +/* BAE7D4 80240E94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BAE7D8 80240E98 AFB00010 */ sw $s0, 0x10($sp) +/* BAE7DC 80240E9C 0080802D */ daddu $s0, $a0, $zero +/* BAE7E0 80240EA0 AFBF0014 */ sw $ra, 0x14($sp) +/* BAE7E4 80240EA4 8E020148 */ lw $v0, 0x148($s0) +/* BAE7E8 80240EA8 0C00EABB */ jal get_npc_unsafe +/* BAE7EC 80240EAC 84440008 */ lh $a0, 8($v0) +/* BAE7F0 80240EB0 0040202D */ daddu $a0, $v0, $zero +/* BAE7F4 80240EB4 8482008E */ lh $v0, 0x8e($a0) +/* BAE7F8 80240EB8 9483008E */ lhu $v1, 0x8e($a0) +/* BAE7FC 80240EBC 18400005 */ blez $v0, .L80240ED4 +/* BAE800 80240EC0 2462FFFF */ addiu $v0, $v1, -1 +/* BAE804 80240EC4 A482008E */ sh $v0, 0x8e($a0) +/* BAE808 80240EC8 00021400 */ sll $v0, $v0, 0x10 +/* BAE80C 80240ECC 1C400006 */ bgtz $v0, .L80240EE8 +/* BAE810 80240ED0 00000000 */ nop +.L80240ED4: +/* BAE814 80240ED4 8482008C */ lh $v0, 0x8c($a0) +/* BAE818 80240ED8 14400003 */ bnez $v0, .L80240EE8 +/* BAE81C 80240EDC 2402000E */ addiu $v0, $zero, 0xe +/* BAE820 80240EE0 A480008E */ sh $zero, 0x8e($a0) +/* BAE824 80240EE4 AE020070 */ sw $v0, 0x70($s0) +.L80240EE8: +/* BAE828 80240EE8 8FBF0014 */ lw $ra, 0x14($sp) +/* BAE82C 80240EEC 8FB00010 */ lw $s0, 0x10($sp) +/* BAE830 80240EF0 03E00008 */ jr $ra +/* BAE834 80240EF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80240EF8.s b/asm/nonmatchings/world/area_mim/mim_08/func_80240EF8.s new file mode 100644 index 0000000000..c92f13bfcd --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80240EF8.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF8 +/* BAE838 80240EF8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BAE83C 80240EFC AFB20030 */ sw $s2, 0x30($sp) +/* BAE840 80240F00 0080902D */ daddu $s2, $a0, $zero +/* BAE844 80240F04 AFBF0038 */ sw $ra, 0x38($sp) +/* BAE848 80240F08 AFB30034 */ sw $s3, 0x34($sp) +/* BAE84C 80240F0C AFB1002C */ sw $s1, 0x2c($sp) +/* BAE850 80240F10 AFB00028 */ sw $s0, 0x28($sp) +/* BAE854 80240F14 F7B60048 */ sdc1 $f22, 0x48($sp) +/* BAE858 80240F18 F7B40040 */ sdc1 $f20, 0x40($sp) +/* BAE85C 80240F1C 8E510148 */ lw $s1, 0x148($s2) +/* BAE860 80240F20 86240008 */ lh $a0, 8($s1) +/* BAE864 80240F24 0C00EABB */ jal get_npc_unsafe +/* BAE868 80240F28 00A0982D */ daddu $s3, $a1, $zero +/* BAE86C 80240F2C 0040802D */ daddu $s0, $v0, $zero +/* BAE870 80240F30 0200202D */ daddu $a0, $s0, $zero +/* BAE874 80240F34 C6220088 */ lwc1 $f2, 0x88($s1) +/* BAE878 80240F38 468010A0 */ cvt.s.w $f2, $f2 +/* BAE87C 80240F3C 460010A1 */ cvt.d.s $f2, $f2 +/* BAE880 80240F40 C604001C */ lwc1 $f4, 0x1c($s0) +/* BAE884 80240F44 C6000014 */ lwc1 $f0, 0x14($s0) +/* BAE888 80240F48 8E050018 */ lw $a1, 0x18($s0) +/* BAE88C 80240F4C 46002100 */ add.s $f4, $f4, $f0 +/* BAE890 80240F50 8E06000C */ lw $a2, 0xc($s0) +/* BAE894 80240F54 C6200078 */ lwc1 $f0, 0x78($s1) +/* BAE898 80240F58 46800020 */ cvt.s.w $f0, $f0 +/* BAE89C 80240F5C E604001C */ swc1 $f4, 0x1c($s0) +/* BAE8A0 80240F60 3C014059 */ lui $at, 0x4059 +/* BAE8A4 80240F64 44812800 */ mtc1 $at, $f5 +/* BAE8A8 80240F68 44802000 */ mtc1 $zero, $f4 +/* BAE8AC 80240F6C 46000021 */ cvt.d.s $f0, $f0 +/* BAE8B0 80240F70 46240003 */ div.d $f0, $f0, $f4 +/* BAE8B4 80240F74 46200520 */ cvt.s.d $f20, $f0 +/* BAE8B8 80240F78 46241083 */ div.d $f2, $f2, $f4 +/* BAE8BC 80240F7C 0C00EA95 */ jal npc_move_heading +/* BAE8C0 80240F80 462015A0 */ cvt.s.d $f22, $f2 +/* BAE8C4 80240F84 C604001C */ lwc1 $f4, 0x1c($s0) +/* BAE8C8 80240F88 44801000 */ mtc1 $zero, $f2 +/* BAE8CC 80240F8C 44801800 */ mtc1 $zero, $f3 +/* BAE8D0 80240F90 46002021 */ cvt.d.s $f0, $f4 +/* BAE8D4 80240F94 4620103E */ c.le.d $f2, $f0 +/* BAE8D8 80240F98 00000000 */ nop +/* BAE8DC 80240F9C 45000030 */ bc1f .L80241060 +/* BAE8E0 80240FA0 00000000 */ nop +/* BAE8E4 80240FA4 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAE8E8 80240FA8 46040000 */ add.s $f0, $f0, $f4 +/* BAE8EC 80240FAC E600003C */ swc1 $f0, 0x3c($s0) +/* BAE8F0 80240FB0 8E2200CC */ lw $v0, 0xcc($s1) +/* BAE8F4 80240FB4 8C420024 */ lw $v0, 0x24($v0) +/* BAE8F8 80240FB8 AE020028 */ sw $v0, 0x28($s0) +/* BAE8FC 80240FBC A2200007 */ sb $zero, 7($s1) +/* BAE900 80240FC0 8E020000 */ lw $v0, ($s0) +/* BAE904 80240FC4 30420008 */ andi $v0, $v0, 8 +/* BAE908 80240FC8 14400011 */ bnez $v0, .L80241010 +/* BAE90C 80240FCC 0000102D */ daddu $v0, $zero, $zero +/* BAE910 80240FD0 27A50018 */ addiu $a1, $sp, 0x18 +/* BAE914 80240FD4 27A6001C */ addiu $a2, $sp, 0x1c +/* BAE918 80240FD8 C6000038 */ lwc1 $f0, 0x38($s0) +/* BAE91C 80240FDC C602003C */ lwc1 $f2, 0x3c($s0) +/* BAE920 80240FE0 C6040040 */ lwc1 $f4, 0x40($s0) +/* BAE924 80240FE4 3C01447A */ lui $at, 0x447a +/* BAE928 80240FE8 44813000 */ mtc1 $at, $f6 +/* BAE92C 80240FEC 27A20024 */ addiu $v0, $sp, 0x24 +/* BAE930 80240FF0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAE934 80240FF4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BAE938 80240FF8 E7A40020 */ swc1 $f4, 0x20($sp) +/* BAE93C 80240FFC E7A60024 */ swc1 $f6, 0x24($sp) +/* BAE940 80241000 AFA20010 */ sw $v0, 0x10($sp) +/* BAE944 80241004 8E040080 */ lw $a0, 0x80($s0) +/* BAE948 80241008 0C0372DF */ jal func_800DCB7C +/* BAE94C 8024100C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241010: +/* BAE950 80241010 1040000B */ beqz $v0, .L80241040 +/* BAE954 80241014 00000000 */ nop +/* BAE958 80241018 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BAE95C 8024101C 46140080 */ add.s $f2, $f0, $f20 +/* BAE960 80241020 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAE964 80241024 4600103E */ c.le.s $f2, $f0 +/* BAE968 80241028 00000000 */ nop +/* BAE96C 8024102C 4500008D */ bc1f .L80241264 +/* BAE970 80241030 00000000 */ nop +/* BAE974 80241034 E602003C */ swc1 $f2, 0x3c($s0) +/* BAE978 80241038 08090499 */ j .L80241264 +/* BAE97C 8024103C AE400070 */ sw $zero, 0x70($s2) +.L80241040: +/* BAE980 80241040 C602003C */ lwc1 $f2, 0x3c($s0) +/* BAE984 80241044 C6000064 */ lwc1 $f0, 0x64($s0) +/* BAE988 80241048 4602003E */ c.le.s $f0, $f2 +/* BAE98C 8024104C 00000000 */ nop +/* BAE990 80241050 45030084 */ bc1tl .L80241264 +/* BAE994 80241054 AE400070 */ sw $zero, 0x70($s2) +/* BAE998 80241058 08090499 */ j .L80241264 +/* BAE99C 8024105C 00000000 */ nop +.L80241060: +/* BAE9A0 80241060 4622003C */ c.lt.d $f0, $f2 +/* BAE9A4 80241064 00000000 */ nop +/* BAE9A8 80241068 4500007E */ bc1f .L80241264 +/* BAE9AC 8024106C 00000000 */ nop +/* BAE9B0 80241070 9602008E */ lhu $v0, 0x8e($s0) +/* BAE9B4 80241074 24420001 */ addiu $v0, $v0, 1 +/* BAE9B8 80241078 A602008E */ sh $v0, 0x8e($s0) +/* BAE9BC 8024107C 00021400 */ sll $v0, $v0, 0x10 +/* BAE9C0 80241080 8E630020 */ lw $v1, 0x20($s3) +/* BAE9C4 80241084 00021403 */ sra $v0, $v0, 0x10 +/* BAE9C8 80241088 0043102A */ slt $v0, $v0, $v1 +/* BAE9CC 8024108C 14400026 */ bnez $v0, .L80241128 +/* BAE9D0 80241090 00000000 */ nop +/* BAE9D4 80241094 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAE9D8 80241098 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAE9DC 8024109C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAE9E0 802410A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAE9E4 802410A4 A600008E */ sh $zero, 0x8e($s0) +/* BAE9E8 802410A8 8C460028 */ lw $a2, 0x28($v0) +/* BAE9EC 802410AC 0C00A720 */ jal atan2 +/* BAE9F0 802410B0 8C470030 */ lw $a3, 0x30($v0) +/* BAE9F4 802410B4 46000506 */ mov.s $f20, $f0 +/* BAE9F8 802410B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* BAE9FC 802410BC 0C00A70A */ jal get_clamped_angle_diff +/* BAEA00 802410C0 4600A386 */ mov.s $f14, $f20 +/* BAEA04 802410C4 46000086 */ mov.s $f2, $f0 +/* BAEA08 802410C8 8E62001C */ lw $v0, 0x1c($s3) +/* BAEA0C 802410CC 46001005 */ abs.s $f0, $f2 +/* BAEA10 802410D0 44822000 */ mtc1 $v0, $f4 +/* BAEA14 802410D4 00000000 */ nop +/* BAEA18 802410D8 46802120 */ cvt.s.w $f4, $f4 +/* BAEA1C 802410DC 4600203C */ c.lt.s $f4, $f0 +/* BAEA20 802410E0 00000000 */ nop +/* BAEA24 802410E4 4500000D */ bc1f .L8024111C +/* BAEA28 802410E8 00000000 */ nop +/* BAEA2C 802410EC 44800000 */ mtc1 $zero, $f0 +/* BAEA30 802410F0 C614000C */ lwc1 $f20, 0xc($s0) +/* BAEA34 802410F4 4600103C */ c.lt.s $f2, $f0 +/* BAEA38 802410F8 00000000 */ nop +/* BAEA3C 802410FC 45000006 */ bc1f .L80241118 +/* BAEA40 80241100 00021023 */ negu $v0, $v0 +/* BAEA44 80241104 44820000 */ mtc1 $v0, $f0 +/* BAEA48 80241108 00000000 */ nop +/* BAEA4C 8024110C 46800020 */ cvt.s.w $f0, $f0 +/* BAEA50 80241110 08090447 */ j .L8024111C +/* BAEA54 80241114 4600A500 */ add.s $f20, $f20, $f0 +.L80241118: +/* BAEA58 80241118 4604A500 */ add.s $f20, $f20, $f4 +.L8024111C: +/* BAEA5C 8024111C 0C00A6C9 */ jal clamp_angle +/* BAEA60 80241120 4600A306 */ mov.s $f12, $f20 +/* BAEA64 80241124 E600000C */ swc1 $f0, 0xc($s0) +.L80241128: +/* BAEA68 80241128 8E020000 */ lw $v0, ($s0) +/* BAEA6C 8024112C 30420008 */ andi $v0, $v0, 8 +/* BAEA70 80241130 1040000A */ beqz $v0, .L8024115C +/* BAEA74 80241134 27A50018 */ addiu $a1, $sp, 0x18 +/* BAEA78 80241138 C602003C */ lwc1 $f2, 0x3c($s0) +/* BAEA7C 8024113C C600001C */ lwc1 $f0, 0x1c($s0) +/* BAEA80 80241140 46001080 */ add.s $f2, $f2, $f0 +/* BAEA84 80241144 4616103C */ c.lt.s $f2, $f22 +/* BAEA88 80241148 00000000 */ nop +/* BAEA8C 8024114C 45020045 */ bc1fl .L80241264 +/* BAEA90 80241150 E602003C */ swc1 $f2, 0x3c($s0) +/* BAEA94 80241154 08090498 */ j .L80241260 +/* BAEA98 80241158 E616003C */ swc1 $f22, 0x3c($s0) +.L8024115C: +/* BAEA9C 8024115C C6000038 */ lwc1 $f0, 0x38($s0) +/* BAEAA0 80241160 27A6001C */ addiu $a2, $sp, 0x1c +/* BAEAA4 80241164 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAEAA8 80241168 860200A8 */ lh $v0, 0xa8($s0) +/* BAEAAC 8024116C C600001C */ lwc1 $f0, 0x1c($s0) +/* BAEAB0 80241170 C604003C */ lwc1 $f4, 0x3c($s0) +/* BAEAB4 80241174 44821000 */ mtc1 $v0, $f2 +/* BAEAB8 80241178 00000000 */ nop +/* BAEABC 8024117C 468010A0 */ cvt.s.w $f2, $f2 +/* BAEAC0 80241180 46000005 */ abs.s $f0, $f0 +/* BAEAC4 80241184 46020000 */ add.s $f0, $f0, $f2 +/* BAEAC8 80241188 C6060040 */ lwc1 $f6, 0x40($s0) +/* BAEACC 8024118C 27A20024 */ addiu $v0, $sp, 0x24 +/* BAEAD0 80241190 46022100 */ add.s $f4, $f4, $f2 +/* BAEAD4 80241194 3C014024 */ lui $at, 0x4024 +/* BAEAD8 80241198 44811800 */ mtc1 $at, $f3 +/* BAEADC 8024119C 44801000 */ mtc1 $zero, $f2 +/* BAEAE0 802411A0 46000021 */ cvt.d.s $f0, $f0 +/* BAEAE4 802411A4 46220000 */ add.d $f0, $f0, $f2 +/* BAEAE8 802411A8 E7A60020 */ swc1 $f6, 0x20($sp) +/* BAEAEC 802411AC E7A4001C */ swc1 $f4, 0x1c($sp) +/* BAEAF0 802411B0 46200020 */ cvt.s.d $f0, $f0 +/* BAEAF4 802411B4 E7A00024 */ swc1 $f0, 0x24($sp) +/* BAEAF8 802411B8 AFA20010 */ sw $v0, 0x10($sp) +/* BAEAFC 802411BC 8E040080 */ lw $a0, 0x80($s0) +/* BAEB00 802411C0 0C0372DF */ jal func_800DCB7C +/* BAEB04 802411C4 27A70020 */ addiu $a3, $sp, 0x20 +/* BAEB08 802411C8 10400015 */ beqz $v0, .L80241220 +/* BAEB0C 802411CC 00000000 */ nop +/* BAEB10 802411D0 860200A8 */ lh $v0, 0xa8($s0) +/* BAEB14 802411D4 C604001C */ lwc1 $f4, 0x1c($s0) +/* BAEB18 802411D8 44820000 */ mtc1 $v0, $f0 +/* BAEB1C 802411DC 00000000 */ nop +/* BAEB20 802411E0 46800020 */ cvt.s.w $f0, $f0 +/* BAEB24 802411E4 46002085 */ abs.s $f2, $f4 +/* BAEB28 802411E8 46020000 */ add.s $f0, $f0, $f2 +/* BAEB2C 802411EC C7A20024 */ lwc1 $f2, 0x24($sp) +/* BAEB30 802411F0 4600103E */ c.le.s $f2, $f0 +/* BAEB34 802411F4 00000000 */ nop +/* BAEB38 802411F8 45000005 */ bc1f .L80241210 +/* BAEB3C 802411FC 00000000 */ nop +/* BAEB40 80241200 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BAEB44 80241204 AE00001C */ sw $zero, 0x1c($s0) +/* BAEB48 80241208 08090499 */ j .L80241264 +/* BAEB4C 8024120C E600003C */ swc1 $f0, 0x3c($s0) +.L80241210: +/* BAEB50 80241210 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAEB54 80241214 46040000 */ add.s $f0, $f0, $f4 +/* BAEB58 80241218 08090499 */ j .L80241264 +/* BAEB5C 8024121C E600003C */ swc1 $f0, 0x3c($s0) +.L80241220: +/* BAEB60 80241220 C606003C */ lwc1 $f6, 0x3c($s0) +/* BAEB64 80241224 860200A8 */ lh $v0, 0xa8($s0) +/* BAEB68 80241228 46163081 */ sub.s $f2, $f6, $f22 +/* BAEB6C 8024122C 44820000 */ mtc1 $v0, $f0 +/* BAEB70 80241230 00000000 */ nop +/* BAEB74 80241234 46800020 */ cvt.s.w $f0, $f0 +/* BAEB78 80241238 46001080 */ add.s $f2, $f2, $f0 +/* BAEB7C 8024123C C604001C */ lwc1 $f4, 0x1c($s0) +/* BAEB80 80241240 46002005 */ abs.s $f0, $f4 +/* BAEB84 80241244 4602003C */ c.lt.s $f0, $f2 +/* BAEB88 80241248 00000000 */ nop +/* BAEB8C 8024124C 45020005 */ bc1fl .L80241264 +/* BAEB90 80241250 AE00001C */ sw $zero, 0x1c($s0) +/* BAEB94 80241254 46043000 */ add.s $f0, $f6, $f4 +/* BAEB98 80241258 08090499 */ j .L80241264 +/* BAEB9C 8024125C E600003C */ swc1 $f0, 0x3c($s0) +.L80241260: +/* BAEBA0 80241260 AE00001C */ sw $zero, 0x1c($s0) +.L80241264: +/* BAEBA4 80241264 8FBF0038 */ lw $ra, 0x38($sp) +/* BAEBA8 80241268 8FB30034 */ lw $s3, 0x34($sp) +/* BAEBAC 8024126C 8FB20030 */ lw $s2, 0x30($sp) +/* BAEBB0 80241270 8FB1002C */ lw $s1, 0x2c($sp) +/* BAEBB4 80241274 8FB00028 */ lw $s0, 0x28($sp) +/* BAEBB8 80241278 D7B60048 */ ldc1 $f22, 0x48($sp) +/* BAEBBC 8024127C D7B40040 */ ldc1 $f20, 0x40($sp) +/* BAEBC0 80241280 03E00008 */ jr $ra +/* BAEBC4 80241284 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241288.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241288.s new file mode 100644 index 0000000000..d223a1b3ef --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241288.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241288 +/* BAEBC8 80241288 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BAEBCC 8024128C AFB00028 */ sw $s0, 0x28($sp) +/* BAEBD0 80241290 00A0802D */ daddu $s0, $a1, $zero +/* BAEBD4 80241294 AFB1002C */ sw $s1, 0x2c($sp) +/* BAEBD8 80241298 00C0882D */ daddu $s1, $a2, $zero +/* BAEBDC 8024129C AFBF0034 */ sw $ra, 0x34($sp) +/* BAEBE0 802412A0 AFB20030 */ sw $s2, 0x30($sp) +/* BAEBE4 802412A4 AE200070 */ sw $zero, 0x70($s1) +/* BAEBE8 802412A8 8C830000 */ lw $v1, ($a0) +/* BAEBEC 802412AC 2402FDFF */ addiu $v0, $zero, -0x201 +/* BAEBF0 802412B0 A480008E */ sh $zero, 0x8e($a0) +/* BAEBF4 802412B4 00621824 */ and $v1, $v1, $v0 +/* BAEBF8 802412B8 34650800 */ ori $a1, $v1, 0x800 +/* BAEBFC 802412BC AC850000 */ sw $a1, ($a0) +/* BAEC00 802412C0 8E0200D0 */ lw $v0, 0xd0($s0) +/* BAEC04 802412C4 8C420034 */ lw $v0, 0x34($v0) +/* BAEC08 802412C8 10400003 */ beqz $v0, .L802412D8 +/* BAEC0C 802412CC 00E0902D */ daddu $s2, $a3, $zero +/* BAEC10 802412D0 080904B8 */ j .L802412E0 +/* BAEC14 802412D4 34620808 */ ori $v0, $v1, 0x808 +.L802412D8: +/* BAEC18 802412D8 2402FFF7 */ addiu $v0, $zero, -9 +/* BAEC1C 802412DC 00A21024 */ and $v0, $a1, $v0 +.L802412E0: +/* BAEC20 802412E0 AC820000 */ sw $v0, ($a0) +/* BAEC24 802412E4 27A20024 */ addiu $v0, $sp, 0x24 +/* BAEC28 802412E8 27A50018 */ addiu $a1, $sp, 0x18 +/* BAEC2C 802412EC C4800038 */ lwc1 $f0, 0x38($a0) +/* BAEC30 802412F0 C482003C */ lwc1 $f2, 0x3c($a0) +/* BAEC34 802412F4 C4840040 */ lwc1 $f4, 0x40($a0) +/* BAEC38 802412F8 3C01447A */ lui $at, 0x447a +/* BAEC3C 802412FC 44813000 */ mtc1 $at, $f6 +/* BAEC40 80241300 27A6001C */ addiu $a2, $sp, 0x1c +/* BAEC44 80241304 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAEC48 80241308 E7A2001C */ swc1 $f2, 0x1c($sp) +/* BAEC4C 8024130C E7A40020 */ swc1 $f4, 0x20($sp) +/* BAEC50 80241310 E7A60024 */ swc1 $f6, 0x24($sp) +/* BAEC54 80241314 AFA20010 */ sw $v0, 0x10($sp) +/* BAEC58 80241318 8C840080 */ lw $a0, 0x80($a0) +/* BAEC5C 8024131C 0C0372DF */ jal func_800DCB7C +/* BAEC60 80241320 27A70020 */ addiu $a3, $sp, 0x20 +/* BAEC64 80241324 C7A20024 */ lwc1 $f2, 0x24($sp) +/* BAEC68 80241328 3C014059 */ lui $at, 0x4059 +/* BAEC6C 8024132C 44812800 */ mtc1 $at, $f5 +/* BAEC70 80241330 44802000 */ mtc1 $zero, $f4 +/* BAEC74 80241334 460010A1 */ cvt.d.s $f2, $f2 +/* BAEC78 80241338 46241082 */ mul.d $f2, $f2, $f4 +/* BAEC7C 8024133C 00000000 */ nop +/* BAEC80 80241340 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BAEC84 80241344 46000021 */ cvt.d.s $f0, $f0 +/* BAEC88 80241348 46240002 */ mul.d $f0, $f0, $f4 +/* BAEC8C 8024134C 00000000 */ nop +/* BAEC90 80241350 3C013FE0 */ lui $at, 0x3fe0 +/* BAEC94 80241354 44812800 */ mtc1 $at, $f5 +/* BAEC98 80241358 44802000 */ mtc1 $zero, $f4 +/* BAEC9C 8024135C 00000000 */ nop +/* BAECA0 80241360 46241080 */ add.d $f2, $f2, $f4 +/* BAECA4 80241364 AE000074 */ sw $zero, 0x74($s0) +/* BAECA8 80241368 46240000 */ add.d $f0, $f0, $f4 +/* BAECAC 8024136C AE000090 */ sw $zero, 0x90($s0) +/* BAECB0 80241370 4620120D */ trunc.w.d $f8, $f2 +/* BAECB4 80241374 E6080078 */ swc1 $f8, 0x78($s0) +/* BAECB8 80241378 4620020D */ trunc.w.d $f8, $f0 +/* BAECBC 8024137C E6080088 */ swc1 $f8, 0x88($s0) +/* BAECC0 80241380 8E420014 */ lw $v0, 0x14($s2) +/* BAECC4 80241384 AE220074 */ sw $v0, 0x74($s1) +/* BAECC8 80241388 8E0200B0 */ lw $v0, 0xb0($s0) +/* BAECCC 8024138C 34420010 */ ori $v0, $v0, 0x10 +/* BAECD0 80241390 AE0200B0 */ sw $v0, 0xb0($s0) +/* BAECD4 80241394 8FBF0034 */ lw $ra, 0x34($sp) +/* BAECD8 80241398 8FB20030 */ lw $s2, 0x30($sp) +/* BAECDC 8024139C 8FB1002C */ lw $s1, 0x2c($sp) +/* BAECE0 802413A0 8FB00028 */ lw $s0, 0x28($sp) +/* BAECE4 802413A4 03E00008 */ jr $ra +/* BAECE8 802413A8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_802413AC.s b/asm/nonmatchings/world/area_mim/mim_08/func_802413AC.s new file mode 100644 index 0000000000..709f4a4451 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_802413AC.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413AC +/* BAECEC 802413AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BAECF0 802413B0 AFB40040 */ sw $s4, 0x40($sp) +/* BAECF4 802413B4 0080A02D */ daddu $s4, $a0, $zero +/* BAECF8 802413B8 AFBF0048 */ sw $ra, 0x48($sp) +/* BAECFC 802413BC AFB50044 */ sw $s5, 0x44($sp) +/* BAED00 802413C0 AFB3003C */ sw $s3, 0x3c($sp) +/* BAED04 802413C4 AFB20038 */ sw $s2, 0x38($sp) +/* BAED08 802413C8 AFB10034 */ sw $s1, 0x34($sp) +/* BAED0C 802413CC AFB00030 */ sw $s0, 0x30($sp) +/* BAED10 802413D0 8E920148 */ lw $s2, 0x148($s4) +/* BAED14 802413D4 86440008 */ lh $a0, 8($s2) +/* BAED18 802413D8 8E90000C */ lw $s0, 0xc($s4) +/* BAED1C 802413DC 0C00EABB */ jal get_npc_unsafe +/* BAED20 802413E0 00A0882D */ daddu $s1, $a1, $zero +/* BAED24 802413E4 0280202D */ daddu $a0, $s4, $zero +/* BAED28 802413E8 8E050000 */ lw $a1, ($s0) +/* BAED2C 802413EC 0C0B1EAF */ jal get_variable +/* BAED30 802413F0 0040A82D */ daddu $s5, $v0, $zero +/* BAED34 802413F4 AFA00010 */ sw $zero, 0x10($sp) +/* BAED38 802413F8 8E4300D0 */ lw $v1, 0xd0($s2) +/* BAED3C 802413FC 8C630030 */ lw $v1, 0x30($v1) +/* BAED40 80241400 AFA30014 */ sw $v1, 0x14($sp) +/* BAED44 80241404 8E4300D0 */ lw $v1, 0xd0($s2) +/* BAED48 80241408 8C63001C */ lw $v1, 0x1c($v1) +/* BAED4C 8024140C AFA30018 */ sw $v1, 0x18($sp) +/* BAED50 80241410 8E4300D0 */ lw $v1, 0xd0($s2) +/* BAED54 80241414 8C630024 */ lw $v1, 0x24($v1) +/* BAED58 80241418 AFA3001C */ sw $v1, 0x1c($sp) +/* BAED5C 8024141C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BAED60 80241420 8C630028 */ lw $v1, 0x28($v1) +/* BAED64 80241424 27B30010 */ addiu $s3, $sp, 0x10 +/* BAED68 80241428 AFA30020 */ sw $v1, 0x20($sp) +/* BAED6C 8024142C 8E4300D0 */ lw $v1, 0xd0($s2) +/* BAED70 80241430 3C0142F0 */ lui $at, 0x42f0 +/* BAED74 80241434 44810000 */ mtc1 $at, $f0 +/* BAED78 80241438 8C63002C */ lw $v1, 0x2c($v1) +/* BAED7C 8024143C 0040802D */ daddu $s0, $v0, $zero +/* BAED80 80241440 E7A00028 */ swc1 $f0, 0x28($sp) +/* BAED84 80241444 A7A0002C */ sh $zero, 0x2c($sp) +/* BAED88 80241448 12200006 */ beqz $s1, .L80241464 +/* BAED8C 8024144C AFA30024 */ sw $v1, 0x24($sp) +/* BAED90 80241450 02A0202D */ daddu $a0, $s5, $zero +/* BAED94 80241454 0240282D */ daddu $a1, $s2, $zero +/* BAED98 80241458 0280302D */ daddu $a2, $s4, $zero +/* BAED9C 8024145C 0C0904A2 */ jal func_80241288 +/* BAEDA0 80241460 0200382D */ daddu $a3, $s0, $zero +.L80241464: +/* BAEDA4 80241464 2402FFFE */ addiu $v0, $zero, -2 +/* BAEDA8 80241468 A2A200AB */ sb $v0, 0xab($s5) +/* BAEDAC 8024146C 8E4300B0 */ lw $v1, 0xb0($s2) +/* BAEDB0 80241470 30620004 */ andi $v0, $v1, 4 +/* BAEDB4 80241474 10400007 */ beqz $v0, .L80241494 +/* BAEDB8 80241478 00000000 */ nop +/* BAEDBC 8024147C 824200B4 */ lb $v0, 0xb4($s2) +/* BAEDC0 80241480 1440003C */ bnez $v0, .L80241574 +/* BAEDC4 80241484 0000102D */ daddu $v0, $zero, $zero +/* BAEDC8 80241488 2402FFFB */ addiu $v0, $zero, -5 +/* BAEDCC 8024148C 00621024 */ and $v0, $v1, $v0 +/* BAEDD0 80241490 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241494: +/* BAEDD4 80241494 8E830070 */ lw $v1, 0x70($s4) +/* BAEDD8 80241498 2C62000F */ sltiu $v0, $v1, 0xf +/* BAEDDC 8024149C 10400034 */ beqz $v0, .L80241570 +/* BAEDE0 802414A0 00031080 */ sll $v0, $v1, 2 +/* BAEDE4 802414A4 3C018024 */ lui $at, 0x8024 +/* BAEDE8 802414A8 00220821 */ addu $at, $at, $v0 +/* BAEDEC 802414AC 8C2252B8 */ lw $v0, 0x52b8($at) +/* BAEDF0 802414B0 00400008 */ jr $v0 +/* BAEDF4 802414B4 00000000 */ nop +/* BAEDF8 802414B8 0280202D */ daddu $a0, $s4, $zero +/* BAEDFC 802414BC 0200282D */ daddu $a1, $s0, $zero +/* BAEE00 802414C0 0C090028 */ jal func_802400A0 +/* BAEE04 802414C4 0260302D */ daddu $a2, $s3, $zero +/* BAEE08 802414C8 0280202D */ daddu $a0, $s4, $zero +/* BAEE0C 802414CC 0200282D */ daddu $a1, $s0, $zero +/* BAEE10 802414D0 0C090094 */ jal func_80240250 +/* BAEE14 802414D4 0260302D */ daddu $a2, $s3, $zero +/* BAEE18 802414D8 0809055D */ j .L80241574 +/* BAEE1C 802414DC 0000102D */ daddu $v0, $zero, $zero +/* BAEE20 802414E0 0280202D */ daddu $a0, $s4, $zero +/* BAEE24 802414E4 0200282D */ daddu $a1, $s0, $zero +/* BAEE28 802414E8 0C09021E */ jal func_80240878 +/* BAEE2C 802414EC 0260302D */ daddu $a2, $s3, $zero +/* BAEE30 802414F0 0280202D */ daddu $a0, $s4, $zero +/* BAEE34 802414F4 0200282D */ daddu $a1, $s0, $zero +/* BAEE38 802414F8 0C09024E */ jal func_80240938 +/* BAEE3C 802414FC 0260302D */ daddu $a2, $s3, $zero +/* BAEE40 80241500 0809055D */ j .L80241574 +/* BAEE44 80241504 0000102D */ daddu $v0, $zero, $zero +/* BAEE48 80241508 0280202D */ daddu $a0, $s4, $zero +/* BAEE4C 8024150C 0200282D */ daddu $a1, $s0, $zero +/* BAEE50 80241510 0C09031F */ jal func_80240C7C +/* BAEE54 80241514 0260302D */ daddu $a2, $s3, $zero +/* BAEE58 80241518 0280202D */ daddu $a0, $s4, $zero +/* BAEE5C 8024151C 0200282D */ daddu $a1, $s0, $zero +/* BAEE60 80241520 0C09033D */ jal func_80240CF4 +/* BAEE64 80241524 0260302D */ daddu $a2, $s3, $zero +/* BAEE68 80241528 0809055D */ j .L80241574 +/* BAEE6C 8024152C 0000102D */ daddu $v0, $zero, $zero +/* BAEE70 80241530 0280202D */ daddu $a0, $s4, $zero +/* BAEE74 80241534 0200282D */ daddu $a1, $s0, $zero +/* BAEE78 80241538 0C090358 */ jal func_80240D60 +/* BAEE7C 8024153C 0260302D */ daddu $a2, $s3, $zero +/* BAEE80 80241540 0809055D */ j .L80241574 +/* BAEE84 80241544 0000102D */ daddu $v0, $zero, $zero +/* BAEE88 80241548 0280202D */ daddu $a0, $s4, $zero +/* BAEE8C 8024154C 0200282D */ daddu $a1, $s0, $zero +/* BAEE90 80241550 0C0903A5 */ jal func_80240E94 +/* BAEE94 80241554 0260302D */ daddu $a2, $s3, $zero +/* BAEE98 80241558 0809055D */ j .L80241574 +/* BAEE9C 8024155C 0000102D */ daddu $v0, $zero, $zero +/* BAEEA0 80241560 0280202D */ daddu $a0, $s4, $zero +/* BAEEA4 80241564 0200282D */ daddu $a1, $s0, $zero +/* BAEEA8 80241568 0C0903BE */ jal func_80240EF8 +/* BAEEAC 8024156C 0260302D */ daddu $a2, $s3, $zero +.L80241570: +/* BAEEB0 80241570 0000102D */ daddu $v0, $zero, $zero +.L80241574: +/* BAEEB4 80241574 8FBF0048 */ lw $ra, 0x48($sp) +/* BAEEB8 80241578 8FB50044 */ lw $s5, 0x44($sp) +/* BAEEBC 8024157C 8FB40040 */ lw $s4, 0x40($sp) +/* BAEEC0 80241580 8FB3003C */ lw $s3, 0x3c($sp) +/* BAEEC4 80241584 8FB20038 */ lw $s2, 0x38($sp) +/* BAEEC8 80241588 8FB10034 */ lw $s1, 0x34($sp) +/* BAEECC 8024158C 8FB00030 */ lw $s0, 0x30($sp) +/* BAEED0 80241590 03E00008 */ jr $ra +/* BAEED4 80241594 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241598.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241598.s new file mode 100644 index 0000000000..c2fdc3aeb6 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241598.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241598 +/* BAEED8 80241598 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAEEDC 8024159C AFB10014 */ sw $s1, 0x14($sp) +/* BAEEE0 802415A0 0080882D */ daddu $s1, $a0, $zero +/* BAEEE4 802415A4 AFBF0018 */ sw $ra, 0x18($sp) +/* BAEEE8 802415A8 AFB00010 */ sw $s0, 0x10($sp) +/* BAEEEC 802415AC 8E300148 */ lw $s0, 0x148($s1) +/* BAEEF0 802415B0 0C00EABB */ jal get_npc_unsafe +/* BAEEF4 802415B4 86040008 */ lh $a0, 8($s0) +/* BAEEF8 802415B8 24030001 */ addiu $v1, $zero, 1 +/* BAEEFC 802415BC 0040202D */ daddu $a0, $v0, $zero +/* BAEF00 802415C0 AE03006C */ sw $v1, 0x6c($s0) +/* BAEF04 802415C4 8482008C */ lh $v0, 0x8c($a0) +/* BAEF08 802415C8 14400009 */ bnez $v0, .L802415F0 +/* BAEF0C 802415CC 24020002 */ addiu $v0, $zero, 2 +/* BAEF10 802415D0 96030072 */ lhu $v1, 0x72($s0) +/* BAEF14 802415D4 AE02006C */ sw $v0, 0x6c($s0) +/* BAEF18 802415D8 A483008E */ sh $v1, 0x8e($a0) +/* BAEF1C 802415DC 8E0200CC */ lw $v0, 0xcc($s0) +/* BAEF20 802415E0 8C420020 */ lw $v0, 0x20($v0) +/* BAEF24 802415E4 AC820028 */ sw $v0, 0x28($a0) +/* BAEF28 802415E8 2402001F */ addiu $v0, $zero, 0x1f +/* BAEF2C 802415EC AE220070 */ sw $v0, 0x70($s1) +.L802415F0: +/* BAEF30 802415F0 8FBF0018 */ lw $ra, 0x18($sp) +/* BAEF34 802415F4 8FB10014 */ lw $s1, 0x14($sp) +/* BAEF38 802415F8 8FB00010 */ lw $s0, 0x10($sp) +/* BAEF3C 802415FC 03E00008 */ jr $ra +/* BAEF40 80241600 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241604.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241604.s new file mode 100644 index 0000000000..12c1f4b837 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241604.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241604 +/* BAEF44 80241604 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAEF48 80241608 AFB10014 */ sw $s1, 0x14($sp) +/* BAEF4C 8024160C 0080882D */ daddu $s1, $a0, $zero +/* BAEF50 80241610 AFBF0018 */ sw $ra, 0x18($sp) +/* BAEF54 80241614 AFB00010 */ sw $s0, 0x10($sp) +/* BAEF58 80241618 8E300148 */ lw $s0, 0x148($s1) +/* BAEF5C 8024161C 0C00EABB */ jal get_npc_unsafe +/* BAEF60 80241620 86040008 */ lh $a0, 8($s0) +/* BAEF64 80241624 0040202D */ daddu $a0, $v0, $zero +/* BAEF68 80241628 9482008E */ lhu $v0, 0x8e($a0) +/* BAEF6C 8024162C 2442FFFF */ addiu $v0, $v0, -1 +/* BAEF70 80241630 A482008E */ sh $v0, 0x8e($a0) +/* BAEF74 80241634 00021400 */ sll $v0, $v0, 0x10 +/* BAEF78 80241638 1C400009 */ bgtz $v0, .L80241660 +/* BAEF7C 8024163C 24020003 */ addiu $v0, $zero, 3 +/* BAEF80 80241640 96030076 */ lhu $v1, 0x76($s0) +/* BAEF84 80241644 AE02006C */ sw $v0, 0x6c($s0) +/* BAEF88 80241648 A483008E */ sh $v1, 0x8e($a0) +/* BAEF8C 8024164C 8E0200CC */ lw $v0, 0xcc($s0) +/* BAEF90 80241650 8C420024 */ lw $v0, 0x24($v0) +/* BAEF94 80241654 AC820028 */ sw $v0, 0x28($a0) +/* BAEF98 80241658 24020020 */ addiu $v0, $zero, 0x20 +/* BAEF9C 8024165C AE220070 */ sw $v0, 0x70($s1) +.L80241660: +/* BAEFA0 80241660 8FBF0018 */ lw $ra, 0x18($sp) +/* BAEFA4 80241664 8FB10014 */ lw $s1, 0x14($sp) +/* BAEFA8 80241668 8FB00010 */ lw $s0, 0x10($sp) +/* BAEFAC 8024166C 03E00008 */ jr $ra +/* BAEFB0 80241670 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241674.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241674.s new file mode 100644 index 0000000000..52dc075fa6 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241674.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241674 +/* BAEFB4 80241674 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BAEFB8 80241678 AFB10034 */ sw $s1, 0x34($sp) +/* BAEFBC 8024167C 0080882D */ daddu $s1, $a0, $zero +/* BAEFC0 80241680 AFBF0038 */ sw $ra, 0x38($sp) +/* BAEFC4 80241684 AFB00030 */ sw $s0, 0x30($sp) +/* BAEFC8 80241688 8E300148 */ lw $s0, 0x148($s1) +/* BAEFCC 8024168C 0C00EABB */ jal get_npc_unsafe +/* BAEFD0 80241690 86040008 */ lh $a0, 8($s0) +/* BAEFD4 80241694 0040282D */ daddu $a1, $v0, $zero +/* BAEFD8 80241698 94A2008E */ lhu $v0, 0x8e($a1) +/* BAEFDC 8024169C 2442FFFF */ addiu $v0, $v0, -1 +/* BAEFE0 802416A0 A4A2008E */ sh $v0, 0x8e($a1) +/* BAEFE4 802416A4 00021400 */ sll $v0, $v0, 0x10 +/* BAEFE8 802416A8 1C400023 */ bgtz $v0, .L80241738 +/* BAEFEC 802416AC 24020004 */ addiu $v0, $zero, 4 +/* BAEFF0 802416B0 8E0300CC */ lw $v1, 0xcc($s0) +/* BAEFF4 802416B4 AE02006C */ sw $v0, 0x6c($s0) +/* BAEFF8 802416B8 8C620000 */ lw $v0, ($v1) +/* BAEFFC 802416BC ACA20028 */ sw $v0, 0x28($a1) +/* BAF000 802416C0 9602007A */ lhu $v0, 0x7a($s0) +/* BAF004 802416C4 A4A2008E */ sh $v0, 0x8e($a1) +/* BAF008 802416C8 8E020078 */ lw $v0, 0x78($s0) +/* BAF00C 802416CC 28420008 */ slti $v0, $v0, 8 +/* BAF010 802416D0 14400018 */ bnez $v0, .L80241734 +/* BAF014 802416D4 24020021 */ addiu $v0, $zero, 0x21 +/* BAF018 802416D8 24040003 */ addiu $a0, $zero, 3 +/* BAF01C 802416DC 27A30028 */ addiu $v1, $sp, 0x28 +/* BAF020 802416E0 84A700A8 */ lh $a3, 0xa8($a1) +/* BAF024 802416E4 3C013F80 */ lui $at, 0x3f80 +/* BAF028 802416E8 44810000 */ mtc1 $at, $f0 +/* BAF02C 802416EC 3C014000 */ lui $at, 0x4000 +/* BAF030 802416F0 44811000 */ mtc1 $at, $f2 +/* BAF034 802416F4 3C01C1A0 */ lui $at, 0xc1a0 +/* BAF038 802416F8 44812000 */ mtc1 $at, $f4 +/* BAF03C 802416FC 44873000 */ mtc1 $a3, $f6 +/* BAF040 80241700 00000000 */ nop +/* BAF044 80241704 468031A0 */ cvt.s.w $f6, $f6 +/* BAF048 80241708 E7A00010 */ swc1 $f0, 0x10($sp) +/* BAF04C 8024170C E7A20014 */ swc1 $f2, 0x14($sp) +/* BAF050 80241710 E7A40018 */ swc1 $f4, 0x18($sp) +/* BAF054 80241714 8E020078 */ lw $v0, 0x78($s0) +/* BAF058 80241718 44073000 */ mfc1 $a3, $f6 +/* BAF05C 8024171C 0000302D */ daddu $a2, $zero, $zero +/* BAF060 80241720 AFA30020 */ sw $v1, 0x20($sp) +/* BAF064 80241724 2442FFFF */ addiu $v0, $v0, -1 +/* BAF068 80241728 0C01BFA4 */ jal fx_emote +/* BAF06C 8024172C AFA2001C */ sw $v0, 0x1c($sp) +/* BAF070 80241730 24020021 */ addiu $v0, $zero, 0x21 +.L80241734: +/* BAF074 80241734 AE220070 */ sw $v0, 0x70($s1) +.L80241738: +/* BAF078 80241738 8FBF0038 */ lw $ra, 0x38($sp) +/* BAF07C 8024173C 8FB10034 */ lw $s1, 0x34($sp) +/* BAF080 80241740 8FB00030 */ lw $s0, 0x30($sp) +/* BAF084 80241744 03E00008 */ jr $ra +/* BAF088 80241748 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_8024174C_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_8024174C_BAD940.s new file mode 100644 index 0000000000..63d23c353d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_8024174C_BAD940.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024174C_BAF08C +/* BAF08C 8024174C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAF090 80241750 AFB10014 */ sw $s1, 0x14($sp) +/* BAF094 80241754 0080882D */ daddu $s1, $a0, $zero +/* BAF098 80241758 AFBF0018 */ sw $ra, 0x18($sp) +/* BAF09C 8024175C AFB00010 */ sw $s0, 0x10($sp) +/* BAF0A0 80241760 8E300148 */ lw $s0, 0x148($s1) +/* BAF0A4 80241764 0C00EABB */ jal get_npc_unsafe +/* BAF0A8 80241768 86040008 */ lh $a0, 8($s0) +/* BAF0AC 8024176C 9443008E */ lhu $v1, 0x8e($v0) +/* BAF0B0 80241770 2463FFFF */ addiu $v1, $v1, -1 +/* BAF0B4 80241774 A443008E */ sh $v1, 0x8e($v0) +/* BAF0B8 80241778 00031C00 */ sll $v1, $v1, 0x10 +/* BAF0BC 8024177C 1C600003 */ bgtz $v1, .L8024178C +/* BAF0C0 80241780 2402000C */ addiu $v0, $zero, 0xc +/* BAF0C4 80241784 AE00006C */ sw $zero, 0x6c($s0) +/* BAF0C8 80241788 AE220070 */ sw $v0, 0x70($s1) +.L8024178C: +/* BAF0CC 8024178C 8FBF0018 */ lw $ra, 0x18($sp) +/* BAF0D0 80241790 8FB10014 */ lw $s1, 0x14($sp) +/* BAF0D4 80241794 8FB00010 */ lw $s0, 0x10($sp) +/* BAF0D8 80241798 03E00008 */ jr $ra +/* BAF0DC 8024179C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_802417A0_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_802417A0_BAD940.s new file mode 100644 index 0000000000..c79b72ac73 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_802417A0_BAD940.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A0_BAF0E0 +/* BAF0E0 802417A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BAF0E4 802417A4 AFBF0024 */ sw $ra, 0x24($sp) +/* BAF0E8 802417A8 AFB40020 */ sw $s4, 0x20($sp) +/* BAF0EC 802417AC AFB3001C */ sw $s3, 0x1c($sp) +/* BAF0F0 802417B0 AFB20018 */ sw $s2, 0x18($sp) +/* BAF0F4 802417B4 AFB10014 */ sw $s1, 0x14($sp) +/* BAF0F8 802417B8 AFB00010 */ sw $s0, 0x10($sp) +/* BAF0FC 802417BC F7B40028 */ sdc1 $f20, 0x28($sp) +/* BAF100 802417C0 8C900148 */ lw $s0, 0x148($a0) +/* BAF104 802417C4 86040008 */ lh $a0, 8($s0) +/* BAF108 802417C8 0C00EABB */ jal get_npc_unsafe +/* BAF10C 802417CC 24110001 */ addiu $s1, $zero, 1 +/* BAF110 802417D0 86040008 */ lh $a0, 8($s0) +/* BAF114 802417D4 0040802D */ daddu $s0, $v0, $zero +/* BAF118 802417D8 3C05800B */ lui $a1, %hi(gCameras) +/* BAF11C 802417DC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* BAF120 802417E0 3C03800A */ lui $v1, 0x800a +/* BAF124 802417E4 8463A634 */ lh $v1, -0x59cc($v1) +/* BAF128 802417E8 00912021 */ addu $a0, $a0, $s1 +/* BAF12C 802417EC 00031080 */ sll $v0, $v1, 2 +/* BAF130 802417F0 00431021 */ addu $v0, $v0, $v1 +/* BAF134 802417F4 00021080 */ sll $v0, $v0, 2 +/* BAF138 802417F8 00431023 */ subu $v0, $v0, $v1 +/* BAF13C 802417FC 000218C0 */ sll $v1, $v0, 3 +/* BAF140 80241800 00431021 */ addu $v0, $v0, $v1 +/* BAF144 80241804 000210C0 */ sll $v0, $v0, 3 +/* BAF148 80241808 0C00FB3A */ jal get_enemy +/* BAF14C 8024180C 00459021 */ addu $s2, $v0, $a1 +/* BAF150 80241810 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* BAF154 80241814 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* BAF158 80241818 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAF15C 8024181C 8E830000 */ lw $v1, ($s4) +/* BAF160 80241820 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAF164 80241824 8C660028 */ lw $a2, 0x28($v1) +/* BAF168 80241828 8C670030 */ lw $a3, 0x30($v1) +/* BAF16C 8024182C 0C00A7B5 */ jal dist2D +/* BAF170 80241830 0040982D */ daddu $s3, $v0, $zero +/* BAF174 80241834 C6620074 */ lwc1 $f2, 0x74($s3) +/* BAF178 80241838 468010A0 */ cvt.s.w $f2, $f2 +/* BAF17C 8024183C 4600103C */ c.lt.s $f2, $f0 +/* BAF180 80241840 00000000 */ nop +/* BAF184 80241844 45030001 */ bc1tl .L8024184C +/* BAF188 80241848 0000882D */ daddu $s1, $zero, $zero +.L8024184C: +/* BAF18C 8024184C C64C006C */ lwc1 $f12, 0x6c($s2) +/* BAF190 80241850 C60E000C */ lwc1 $f14, 0xc($s0) +/* BAF194 80241854 3C014387 */ lui $at, 0x4387 +/* BAF198 80241858 4481A000 */ mtc1 $at, $f20 +/* BAF19C 8024185C 0C00A70A */ jal get_clamped_angle_diff +/* BAF1A0 80241860 00000000 */ nop +/* BAF1A4 80241864 0C00A6C9 */ jal clamp_angle +/* BAF1A8 80241868 46000306 */ mov.s $f12, $f0 +/* BAF1AC 8024186C 3C018024 */ lui $at, 0x8024 +/* BAF1B0 80241870 D42252F8 */ ldc1 $f2, 0x52f8($at) +/* BAF1B4 80241874 46000021 */ cvt.d.s $f0, $f0 +/* BAF1B8 80241878 4622003C */ c.lt.d $f0, $f2 +/* BAF1BC 8024187C 00000000 */ nop +/* BAF1C0 80241880 45000003 */ bc1f .L80241890 +/* BAF1C4 80241884 00000000 */ nop +/* BAF1C8 80241888 3C0142B4 */ lui $at, 0x42b4 +/* BAF1CC 8024188C 4481A000 */ mtc1 $at, $f20 +.L80241890: +/* BAF1D0 80241890 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BAF1D4 80241894 8E820000 */ lw $v0, ($s4) +/* BAF1D8 80241898 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BAF1DC 8024189C 8C460028 */ lw $a2, 0x28($v0) +/* BAF1E0 802418A0 0C00A720 */ jal atan2 +/* BAF1E4 802418A4 8C470030 */ lw $a3, 0x30($v0) +/* BAF1E8 802418A8 4600A306 */ mov.s $f12, $f20 +/* BAF1EC 802418AC 0C00A70A */ jal get_clamped_angle_diff +/* BAF1F0 802418B0 46000386 */ mov.s $f14, $f0 +/* BAF1F4 802418B4 C6620078 */ lwc1 $f2, 0x78($s3) +/* BAF1F8 802418B8 468010A0 */ cvt.s.w $f2, $f2 +/* BAF1FC 802418BC 46000005 */ abs.s $f0, $f0 +/* BAF200 802418C0 4600103C */ c.lt.s $f2, $f0 +/* BAF204 802418C4 00000000 */ nop +/* BAF208 802418C8 45030001 */ bc1tl .L802418D0 +/* BAF20C 802418CC 0000882D */ daddu $s1, $zero, $zero +.L802418D0: +/* BAF210 802418D0 8E820000 */ lw $v0, ($s4) +/* BAF214 802418D4 C600003C */ lwc1 $f0, 0x3c($s0) +/* BAF218 802418D8 C442002C */ lwc1 $f2, 0x2c($v0) +/* BAF21C 802418DC 860200A8 */ lh $v0, 0xa8($s0) +/* BAF220 802418E0 46020001 */ sub.s $f0, $f0, $f2 +/* BAF224 802418E4 44821000 */ mtc1 $v0, $f2 +/* BAF228 802418E8 00000000 */ nop +/* BAF22C 802418EC 468010A1 */ cvt.d.w $f2, $f2 +/* BAF230 802418F0 46221080 */ add.d $f2, $f2, $f2 +/* BAF234 802418F4 46000005 */ abs.s $f0, $f0 +/* BAF238 802418F8 46000021 */ cvt.d.s $f0, $f0 +/* BAF23C 802418FC 4620103E */ c.le.d $f2, $f0 +/* BAF240 80241900 00000000 */ nop +/* BAF244 80241904 45030001 */ bc1tl .L8024190C +/* BAF248 80241908 0000882D */ daddu $s1, $zero, $zero +.L8024190C: +/* BAF24C 8024190C 3C038011 */ lui $v1, 0x8011 +/* BAF250 80241910 8063EBB3 */ lb $v1, -0x144d($v1) +/* BAF254 80241914 24020009 */ addiu $v0, $zero, 9 +/* BAF258 80241918 50620001 */ beql $v1, $v0, .L80241920 +/* BAF25C 8024191C 0000882D */ daddu $s1, $zero, $zero +.L80241920: +/* BAF260 80241920 24020007 */ addiu $v0, $zero, 7 +/* BAF264 80241924 50620001 */ beql $v1, $v0, .L8024192C +/* BAF268 80241928 0000882D */ daddu $s1, $zero, $zero +.L8024192C: +/* BAF26C 8024192C 0220102D */ daddu $v0, $s1, $zero +/* BAF270 80241930 8FBF0024 */ lw $ra, 0x24($sp) +/* BAF274 80241934 8FB40020 */ lw $s4, 0x20($sp) +/* BAF278 80241938 8FB3001C */ lw $s3, 0x1c($sp) +/* BAF27C 8024193C 8FB20018 */ lw $s2, 0x18($sp) +/* BAF280 80241940 8FB10014 */ lw $s1, 0x14($sp) +/* BAF284 80241944 8FB00010 */ lw $s0, 0x10($sp) +/* BAF288 80241948 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BAF28C 8024194C 03E00008 */ jr $ra +/* BAF290 80241950 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241954.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241954.s new file mode 100644 index 0000000000..d44e1a50d4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241954.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241954 +/* BAF294 80241954 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BAF298 80241958 AFB40028 */ sw $s4, 0x28($sp) +/* BAF29C 8024195C 0080A02D */ daddu $s4, $a0, $zero +/* BAF2A0 80241960 AFBF002C */ sw $ra, 0x2c($sp) +/* BAF2A4 80241964 AFB30024 */ sw $s3, 0x24($sp) +/* BAF2A8 80241968 AFB20020 */ sw $s2, 0x20($sp) +/* BAF2AC 8024196C AFB1001C */ sw $s1, 0x1c($sp) +/* BAF2B0 80241970 AFB00018 */ sw $s0, 0x18($sp) +/* BAF2B4 80241974 8E910148 */ lw $s1, 0x148($s4) +/* BAF2B8 80241978 86240008 */ lh $a0, 8($s1) +/* BAF2BC 8024197C 0C00EABB */ jal get_npc_unsafe +/* BAF2C0 80241980 00A0802D */ daddu $s0, $a1, $zero +/* BAF2C4 80241984 16000005 */ bnez $s0, .L8024199C +/* BAF2C8 80241988 0040902D */ daddu $s2, $v0, $zero +/* BAF2CC 8024198C 8E2200B0 */ lw $v0, 0xb0($s1) +/* BAF2D0 80241990 30420004 */ andi $v0, $v0, 4 +/* BAF2D4 80241994 10400015 */ beqz $v0, .L802419EC +/* BAF2D8 80241998 00000000 */ nop +.L8024199C: +/* BAF2DC 8024199C AE800070 */ sw $zero, 0x70($s4) +/* BAF2E0 802419A0 8E420000 */ lw $v0, ($s2) +/* BAF2E4 802419A4 3C031F30 */ lui $v1, 0x1f30 +/* BAF2E8 802419A8 A640008E */ sh $zero, 0x8e($s2) +/* BAF2EC 802419AC 34420102 */ ori $v0, $v0, 0x102 +/* BAF2F0 802419B0 AE420000 */ sw $v0, ($s2) +/* BAF2F4 802419B4 8E220000 */ lw $v0, ($s1) +/* BAF2F8 802419B8 3C01C47A */ lui $at, 0xc47a +/* BAF2FC 802419BC 44810000 */ mtc1 $at, $f0 +/* BAF300 802419C0 00431025 */ or $v0, $v0, $v1 +/* BAF304 802419C4 AE220000 */ sw $v0, ($s1) +/* BAF308 802419C8 AE400038 */ sw $zero, 0x38($s2) +/* BAF30C 802419CC E640003C */ swc1 $f0, 0x3c($s2) +/* BAF310 802419D0 AE400040 */ sw $zero, 0x40($s2) +/* BAF314 802419D4 8E2300B0 */ lw $v1, 0xb0($s1) +/* BAF318 802419D8 30620004 */ andi $v0, $v1, 4 +/* BAF31C 802419DC 10400003 */ beqz $v0, .L802419EC +/* BAF320 802419E0 2402FFFB */ addiu $v0, $zero, -5 +/* BAF324 802419E4 00621024 */ and $v0, $v1, $v0 +/* BAF328 802419E8 AE2200B0 */ sw $v0, 0xb0($s1) +.L802419EC: +/* BAF32C 802419EC 8E930070 */ lw $s3, 0x70($s4) +/* BAF330 802419F0 12600005 */ beqz $s3, .L80241A08 +/* BAF334 802419F4 24020001 */ addiu $v0, $zero, 1 +/* BAF338 802419F8 12620048 */ beq $s3, $v0, .L80241B1C +/* BAF33C 802419FC 00000000 */ nop +/* BAF340 80241A00 080906E4 */ j .L80241B90 +/* BAF344 80241A04 00000000 */ nop +.L80241A08: +/* BAF348 80241A08 86240008 */ lh $a0, 8($s1) +/* BAF34C 80241A0C 0C00FB3A */ jal get_enemy +/* BAF350 80241A10 2484FFFF */ addiu $a0, $a0, -1 +/* BAF354 80241A14 0040802D */ daddu $s0, $v0, $zero +/* BAF358 80241A18 0C00EABB */ jal get_npc_unsafe +/* BAF35C 80241A1C 86040008 */ lh $a0, 8($s0) +/* BAF360 80241A20 24030001 */ addiu $v1, $zero, 1 +/* BAF364 80241A24 0040982D */ daddu $s3, $v0, $zero +/* BAF368 80241A28 A2230007 */ sb $v1, 7($s1) +/* BAF36C 80241A2C 8E03006C */ lw $v1, 0x6c($s0) +/* BAF370 80241A30 24020003 */ addiu $v0, $zero, 3 +/* BAF374 80241A34 14620056 */ bne $v1, $v0, .L80241B90 +/* BAF378 80241A38 00000000 */ nop +/* BAF37C 80241A3C 8E2500A8 */ lw $a1, 0xa8($s1) +/* BAF380 80241A40 10A00003 */ beqz $a1, .L80241A50 +/* BAF384 80241A44 0260202D */ daddu $a0, $s3, $zero +/* BAF388 80241A48 0C012530 */ jal func_800494C0 +/* BAF38C 80241A4C 0000302D */ daddu $a2, $zero, $zero +.L80241A50: +/* BAF390 80241A50 27A40010 */ addiu $a0, $sp, 0x10 +/* BAF394 80241A54 C6280070 */ lwc1 $f8, 0x70($s1) +/* BAF398 80241A58 46804220 */ cvt.s.w $f8, $f8 +/* BAF39C 80241A5C C6620034 */ lwc1 $f2, 0x34($s3) +/* BAF3A0 80241A60 3C014387 */ lui $at, 0x4387 +/* BAF3A4 80241A64 44810000 */ mtc1 $at, $f0 +/* BAF3A8 80241A68 44064000 */ mfc1 $a2, $f8 +/* BAF3AC 80241A6C 46020001 */ sub.s $f0, $f0, $f2 +/* BAF3B0 80241A70 C6660038 */ lwc1 $f6, 0x38($s3) +/* BAF3B4 80241A74 C6640040 */ lwc1 $f4, 0x40($s3) +/* BAF3B8 80241A78 44070000 */ mfc1 $a3, $f0 +/* BAF3BC 80241A7C 27A50014 */ addiu $a1, $sp, 0x14 +/* BAF3C0 80241A80 E7A60010 */ swc1 $f6, 0x10($sp) +/* BAF3C4 80241A84 0C00A7E7 */ jal add_vec2D_polar +/* BAF3C8 80241A88 E7A40014 */ swc1 $f4, 0x14($sp) +/* BAF3CC 80241A8C C7A00010 */ lwc1 $f0, 0x10($sp) +/* BAF3D0 80241A90 4600020D */ trunc.w.s $f8, $f0 +/* BAF3D4 80241A94 44024000 */ mfc1 $v0, $f8 +/* BAF3D8 80241A98 E6400038 */ swc1 $f0, 0x38($s2) +/* BAF3DC 80241A9C A6220010 */ sh $v0, 0x10($s1) +/* BAF3E0 80241AA0 C660003C */ lwc1 $f0, 0x3c($s3) +/* BAF3E4 80241AA4 C622006C */ lwc1 $f2, 0x6c($s1) +/* BAF3E8 80241AA8 468010A0 */ cvt.s.w $f2, $f2 +/* BAF3EC 80241AAC 46020000 */ add.s $f0, $f0, $f2 +/* BAF3F0 80241AB0 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* BAF3F4 80241AB4 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* BAF3F8 80241AB8 E640003C */ swc1 $f0, 0x3c($s2) +/* BAF3FC 80241ABC C7A20014 */ lwc1 $f2, 0x14($sp) +/* BAF400 80241AC0 4600020D */ trunc.w.s $f8, $f0 +/* BAF404 80241AC4 44024000 */ mfc1 $v0, $f8 +/* BAF408 80241AC8 00000000 */ nop +/* BAF40C 80241ACC A6220012 */ sh $v0, 0x12($s1) +/* BAF410 80241AD0 4600120D */ trunc.w.s $f8, $f2 +/* BAF414 80241AD4 44024000 */ mfc1 $v0, $f8 +/* BAF418 80241AD8 E6420040 */ swc1 $f2, 0x40($s2) +/* BAF41C 80241ADC A6220014 */ sh $v0, 0x14($s1) +/* BAF420 80241AE0 8C660028 */ lw $a2, 0x28($v1) +/* BAF424 80241AE4 8C670030 */ lw $a3, 0x30($v1) +/* BAF428 80241AE8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* BAF42C 80241AEC 0C00A720 */ jal atan2 +/* BAF430 80241AF0 C64E0040 */ lwc1 $f14, 0x40($s2) +/* BAF434 80241AF4 3C03E0EF */ lui $v1, 0xe0ef +/* BAF438 80241AF8 E640000C */ swc1 $f0, 0xc($s2) +/* BAF43C 80241AFC 8E220000 */ lw $v0, ($s1) +/* BAF440 80241B00 3463FFFF */ ori $v1, $v1, 0xffff +/* BAF444 80241B04 00431024 */ and $v0, $v0, $v1 +/* BAF448 80241B08 AE220000 */ sw $v0, ($s1) +/* BAF44C 80241B0C 24020001 */ addiu $v0, $zero, 1 +/* BAF450 80241B10 A640008E */ sh $zero, 0x8e($s2) +/* BAF454 80241B14 080906E4 */ j .L80241B90 +/* BAF458 80241B18 AE820070 */ sw $v0, 0x70($s4) +.L80241B1C: +/* BAF45C 80241B1C 86240008 */ lh $a0, 8($s1) +/* BAF460 80241B20 0C00FB3A */ jal get_enemy +/* BAF464 80241B24 2484FFFF */ addiu $a0, $a0, -1 +/* BAF468 80241B28 0040802D */ daddu $s0, $v0, $zero +/* BAF46C 80241B2C 0C00EABB */ jal get_npc_unsafe +/* BAF470 80241B30 86040008 */ lh $a0, 8($s0) +/* BAF474 80241B34 9642008E */ lhu $v0, 0x8e($s2) +/* BAF478 80241B38 24420001 */ addiu $v0, $v0, 1 +/* BAF47C 80241B3C A642008E */ sh $v0, 0x8e($s2) +/* BAF480 80241B40 00021400 */ sll $v0, $v0, 0x10 +/* BAF484 80241B44 8E23007C */ lw $v1, 0x7c($s1) +/* BAF488 80241B48 00021403 */ sra $v0, $v0, 0x10 +/* BAF48C 80241B4C 0043102A */ slt $v0, $v0, $v1 +/* BAF490 80241B50 50400001 */ beql $v0, $zero, .L80241B58 +/* BAF494 80241B54 A2200007 */ sb $zero, 7($s1) +.L80241B58: +/* BAF498 80241B58 8E03006C */ lw $v1, 0x6c($s0) +/* BAF49C 80241B5C 24020004 */ addiu $v0, $zero, 4 +/* BAF4A0 80241B60 1462000B */ bne $v1, $v0, .L80241B90 +/* BAF4A4 80241B64 3C021F10 */ lui $v0, 0x1f10 +/* BAF4A8 80241B68 8E230000 */ lw $v1, ($s1) +/* BAF4AC 80241B6C 3C01C47A */ lui $at, 0xc47a +/* BAF4B0 80241B70 44810000 */ mtc1 $at, $f0 +/* BAF4B4 80241B74 00621825 */ or $v1, $v1, $v0 +/* BAF4B8 80241B78 AE230000 */ sw $v1, ($s1) +/* BAF4BC 80241B7C AE400038 */ sw $zero, 0x38($s2) +/* BAF4C0 80241B80 E640003C */ swc1 $f0, 0x3c($s2) +/* BAF4C4 80241B84 AE400040 */ sw $zero, 0x40($s2) +/* BAF4C8 80241B88 A2330007 */ sb $s3, 7($s1) +/* BAF4CC 80241B8C AE800070 */ sw $zero, 0x70($s4) +.L80241B90: +/* BAF4D0 80241B90 8FBF002C */ lw $ra, 0x2c($sp) +/* BAF4D4 80241B94 8FB40028 */ lw $s4, 0x28($sp) +/* BAF4D8 80241B98 8FB30024 */ lw $s3, 0x24($sp) +/* BAF4DC 80241B9C 8FB20020 */ lw $s2, 0x20($sp) +/* BAF4E0 80241BA0 8FB1001C */ lw $s1, 0x1c($sp) +/* BAF4E4 80241BA4 8FB00018 */ lw $s0, 0x18($sp) +/* BAF4E8 80241BA8 0000102D */ daddu $v0, $zero, $zero +/* BAF4EC 80241BAC 03E00008 */ jr $ra +/* BAF4F0 80241BB0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241BB4.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241BB4.s new file mode 100644 index 0000000000..28c93fd997 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241BB4.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BB4 +/* BAF4F4 80241BB4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BAF4F8 80241BB8 AFB20038 */ sw $s2, 0x38($sp) +/* BAF4FC 80241BBC 0080902D */ daddu $s2, $a0, $zero +/* BAF500 80241BC0 AFBF0048 */ sw $ra, 0x48($sp) +/* BAF504 80241BC4 AFB50044 */ sw $s5, 0x44($sp) +/* BAF508 80241BC8 AFB40040 */ sw $s4, 0x40($sp) +/* BAF50C 80241BCC AFB3003C */ sw $s3, 0x3c($sp) +/* BAF510 80241BD0 AFB10034 */ sw $s1, 0x34($sp) +/* BAF514 80241BD4 AFB00030 */ sw $s0, 0x30($sp) +/* BAF518 80241BD8 8E510148 */ lw $s1, 0x148($s2) +/* BAF51C 80241BDC 86240008 */ lh $a0, 8($s1) +/* BAF520 80241BE0 0C00EABB */ jal get_npc_unsafe +/* BAF524 80241BE4 00A0802D */ daddu $s0, $a1, $zero +/* BAF528 80241BE8 8E43000C */ lw $v1, 0xc($s2) +/* BAF52C 80241BEC 0240202D */ daddu $a0, $s2, $zero +/* BAF530 80241BF0 8C650000 */ lw $a1, ($v1) +/* BAF534 80241BF4 0C0B1EAF */ jal get_variable +/* BAF538 80241BF8 0040A82D */ daddu $s5, $v0, $zero +/* BAF53C 80241BFC AFA00010 */ sw $zero, 0x10($sp) +/* BAF540 80241C00 8E2300D0 */ lw $v1, 0xd0($s1) +/* BAF544 80241C04 8C630030 */ lw $v1, 0x30($v1) +/* BAF548 80241C08 AFA30014 */ sw $v1, 0x14($sp) +/* BAF54C 80241C0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BAF550 80241C10 8C63001C */ lw $v1, 0x1c($v1) +/* BAF554 80241C14 AFA30018 */ sw $v1, 0x18($sp) +/* BAF558 80241C18 8E2300D0 */ lw $v1, 0xd0($s1) +/* BAF55C 80241C1C 8C630024 */ lw $v1, 0x24($v1) +/* BAF560 80241C20 AFA3001C */ sw $v1, 0x1c($sp) +/* BAF564 80241C24 8E2300D0 */ lw $v1, 0xd0($s1) +/* BAF568 80241C28 8C630028 */ lw $v1, 0x28($v1) +/* BAF56C 80241C2C 27B40010 */ addiu $s4, $sp, 0x10 +/* BAF570 80241C30 AFA30020 */ sw $v1, 0x20($sp) +/* BAF574 80241C34 8E2300D0 */ lw $v1, 0xd0($s1) +/* BAF578 80241C38 3C014282 */ lui $at, 0x4282 +/* BAF57C 80241C3C 44810000 */ mtc1 $at, $f0 +/* BAF580 80241C40 8C63002C */ lw $v1, 0x2c($v1) +/* BAF584 80241C44 0040982D */ daddu $s3, $v0, $zero +/* BAF588 80241C48 E7A00028 */ swc1 $f0, 0x28($sp) +/* BAF58C 80241C4C A7A0002C */ sh $zero, 0x2c($sp) +/* BAF590 80241C50 16000005 */ bnez $s0, .L80241C68 +/* BAF594 80241C54 AFA30024 */ sw $v1, 0x24($sp) +/* BAF598 80241C58 8E2200B0 */ lw $v0, 0xb0($s1) +/* BAF59C 80241C5C 30420004 */ andi $v0, $v0, 4 +/* BAF5A0 80241C60 10400020 */ beqz $v0, .L80241CE4 +/* BAF5A4 80241C64 00000000 */ nop +.L80241C68: +/* BAF5A8 80241C68 2404F7FF */ addiu $a0, $zero, -0x801 +/* BAF5AC 80241C6C AE400070 */ sw $zero, 0x70($s2) +/* BAF5B0 80241C70 A6A0008E */ sh $zero, 0x8e($s5) +/* BAF5B4 80241C74 8E2200CC */ lw $v0, 0xcc($s1) +/* BAF5B8 80241C78 8EA30000 */ lw $v1, ($s5) +/* BAF5BC 80241C7C 8C420000 */ lw $v0, ($v0) +/* BAF5C0 80241C80 00641824 */ and $v1, $v1, $a0 +/* BAF5C4 80241C84 AEA30000 */ sw $v1, ($s5) +/* BAF5C8 80241C88 AEA20028 */ sw $v0, 0x28($s5) +/* BAF5CC 80241C8C 8E2200D0 */ lw $v0, 0xd0($s1) +/* BAF5D0 80241C90 8C420034 */ lw $v0, 0x34($v0) +/* BAF5D4 80241C94 54400005 */ bnel $v0, $zero, .L80241CAC +/* BAF5D8 80241C98 2402FDFF */ addiu $v0, $zero, -0x201 +/* BAF5DC 80241C9C 34620200 */ ori $v0, $v1, 0x200 +/* BAF5E0 80241CA0 2403FFF7 */ addiu $v1, $zero, -9 +/* BAF5E4 80241CA4 0809072D */ j .L80241CB4 +/* BAF5E8 80241CA8 00431024 */ and $v0, $v0, $v1 +.L80241CAC: +/* BAF5EC 80241CAC 00621024 */ and $v0, $v1, $v0 +/* BAF5F0 80241CB0 34420008 */ ori $v0, $v0, 8 +.L80241CB4: +/* BAF5F4 80241CB4 AEA20000 */ sw $v0, ($s5) +/* BAF5F8 80241CB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* BAF5FC 80241CBC 30420004 */ andi $v0, $v0, 4 +/* BAF600 80241CC0 10400007 */ beqz $v0, .L80241CE0 +/* BAF604 80241CC4 24020063 */ addiu $v0, $zero, 0x63 +/* BAF608 80241CC8 AE420070 */ sw $v0, 0x70($s2) +/* BAF60C 80241CCC AE400074 */ sw $zero, 0x74($s2) +/* BAF610 80241CD0 8E2200B0 */ lw $v0, 0xb0($s1) +/* BAF614 80241CD4 2403FFFB */ addiu $v1, $zero, -5 +/* BAF618 80241CD8 00431024 */ and $v0, $v0, $v1 +/* BAF61C 80241CDC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241CE0: +/* BAF620 80241CE0 AE20006C */ sw $zero, 0x6c($s1) +.L80241CE4: +/* BAF624 80241CE4 8E420070 */ lw $v0, 0x70($s2) +/* BAF628 80241CE8 2842001E */ slti $v0, $v0, 0x1e +/* BAF62C 80241CEC 10400009 */ beqz $v0, .L80241D14 +/* BAF630 80241CF0 00000000 */ nop +/* BAF634 80241CF4 8E22006C */ lw $v0, 0x6c($s1) +/* BAF638 80241CF8 14400006 */ bnez $v0, .L80241D14 +/* BAF63C 80241CFC 00000000 */ nop +/* BAF640 80241D00 0C0905E8 */ jal func_802417A0 +/* BAF644 80241D04 0240202D */ daddu $a0, $s2, $zero +/* BAF648 80241D08 10400002 */ beqz $v0, .L80241D14 +/* BAF64C 80241D0C 2402001E */ addiu $v0, $zero, 0x1e +/* BAF650 80241D10 AE420070 */ sw $v0, 0x70($s2) +.L80241D14: +/* BAF654 80241D14 8E430070 */ lw $v1, 0x70($s2) +/* BAF658 80241D18 2C620064 */ sltiu $v0, $v1, 0x64 +/* BAF65C 80241D1C 10400048 */ beqz $v0, .L80241E40 +/* BAF660 80241D20 00031080 */ sll $v0, $v1, 2 +/* BAF664 80241D24 3C018024 */ lui $at, 0x8024 +/* BAF668 80241D28 00220821 */ addu $at, $at, $v0 +/* BAF66C 80241D2C 8C225300 */ lw $v0, 0x5300($at) +/* BAF670 80241D30 00400008 */ jr $v0 +/* BAF674 80241D34 00000000 */ nop +/* BAF678 80241D38 0240202D */ daddu $a0, $s2, $zero +/* BAF67C 80241D3C 0260282D */ daddu $a1, $s3, $zero +/* BAF680 80241D40 0C012568 */ jal func_800495A0 +/* BAF684 80241D44 0280302D */ daddu $a2, $s4, $zero +/* BAF688 80241D48 0240202D */ daddu $a0, $s2, $zero +/* BAF68C 80241D4C 0260282D */ daddu $a1, $s3, $zero +/* BAF690 80241D50 0C0125AE */ jal func_800496B8 +/* BAF694 80241D54 0280302D */ daddu $a2, $s4, $zero +/* BAF698 80241D58 08090790 */ j .L80241E40 +/* BAF69C 80241D5C 00000000 */ nop +/* BAF6A0 80241D60 0240202D */ daddu $a0, $s2, $zero +/* BAF6A4 80241D64 0260282D */ daddu $a1, $s3, $zero +/* BAF6A8 80241D68 0C0126D1 */ jal func_80049B44 +/* BAF6AC 80241D6C 0280302D */ daddu $a2, $s4, $zero +/* BAF6B0 80241D70 0240202D */ daddu $a0, $s2, $zero +/* BAF6B4 80241D74 0260282D */ daddu $a1, $s3, $zero +/* BAF6B8 80241D78 0C012701 */ jal func_80049C04 +/* BAF6BC 80241D7C 0280302D */ daddu $a2, $s4, $zero +/* BAF6C0 80241D80 08090790 */ j .L80241E40 +/* BAF6C4 80241D84 00000000 */ nop +/* BAF6C8 80241D88 0240202D */ daddu $a0, $s2, $zero +/* BAF6CC 80241D8C 0260282D */ daddu $a1, $s3, $zero +/* BAF6D0 80241D90 0C01278F */ jal func_80049E3C +/* BAF6D4 80241D94 0280302D */ daddu $a2, $s4, $zero +/* BAF6D8 80241D98 0240202D */ daddu $a0, $s2, $zero +/* BAF6DC 80241D9C 0260282D */ daddu $a1, $s3, $zero +/* BAF6E0 80241DA0 0C0127B3 */ jal func_80049ECC +/* BAF6E4 80241DA4 0280302D */ daddu $a2, $s4, $zero +/* BAF6E8 80241DA8 08090790 */ j .L80241E40 +/* BAF6EC 80241DAC 00000000 */ nop +/* BAF6F0 80241DB0 0240202D */ daddu $a0, $s2, $zero +/* BAF6F4 80241DB4 0260282D */ daddu $a1, $s3, $zero +/* BAF6F8 80241DB8 0C0127DF */ jal func_80049F7C +/* BAF6FC 80241DBC 0280302D */ daddu $a2, $s4, $zero +/* BAF700 80241DC0 0240202D */ daddu $a0, $s2, $zero +/* BAF704 80241DC4 0260282D */ daddu $a1, $s3, $zero +/* BAF708 80241DC8 0C012849 */ jal func_8004A124 +/* BAF70C 80241DCC 0280302D */ daddu $a2, $s4, $zero +/* BAF710 80241DD0 08090790 */ j .L80241E40 +/* BAF714 80241DD4 00000000 */ nop +/* BAF718 80241DD8 0240202D */ daddu $a0, $s2, $zero +/* BAF71C 80241DDC 0260282D */ daddu $a1, $s3, $zero +/* BAF720 80241DE0 0C0128FA */ jal func_8004A3E8 +/* BAF724 80241DE4 0280302D */ daddu $a2, $s4, $zero +/* BAF728 80241DE8 08090790 */ j .L80241E40 +/* BAF72C 80241DEC 00000000 */ nop +/* BAF730 80241DF0 0C090566 */ jal func_80241598 +/* BAF734 80241DF4 0240202D */ daddu $a0, $s2, $zero +/* BAF738 80241DF8 0C090581 */ jal func_80241604 +/* BAF73C 80241DFC 0240202D */ daddu $a0, $s2, $zero +/* BAF740 80241E00 8E430070 */ lw $v1, 0x70($s2) +/* BAF744 80241E04 24020020 */ addiu $v0, $zero, 0x20 +/* BAF748 80241E08 1462000D */ bne $v1, $v0, .L80241E40 +/* BAF74C 80241E0C 00000000 */ nop +/* BAF750 80241E10 0C09059D */ jal func_80241674 +/* BAF754 80241E14 0240202D */ daddu $a0, $s2, $zero +/* BAF758 80241E18 8E430070 */ lw $v1, 0x70($s2) +/* BAF75C 80241E1C 24020021 */ addiu $v0, $zero, 0x21 +/* BAF760 80241E20 14620007 */ bne $v1, $v0, .L80241E40 +/* BAF764 80241E24 00000000 */ nop +/* BAF768 80241E28 0C0905D3 */ jal func_8024174C +/* BAF76C 80241E2C 0240202D */ daddu $a0, $s2, $zero +/* BAF770 80241E30 08090790 */ j .L80241E40 +/* BAF774 80241E34 00000000 */ nop +/* BAF778 80241E38 0C0129CF */ jal func_8004A73C +/* BAF77C 80241E3C 0240202D */ daddu $a0, $s2, $zero +.L80241E40: +/* BAF780 80241E40 8FBF0048 */ lw $ra, 0x48($sp) +/* BAF784 80241E44 8FB50044 */ lw $s5, 0x44($sp) +/* BAF788 80241E48 8FB40040 */ lw $s4, 0x40($sp) +/* BAF78C 80241E4C 8FB3003C */ lw $s3, 0x3c($sp) +/* BAF790 80241E50 8FB20038 */ lw $s2, 0x38($sp) +/* BAF794 80241E54 8FB10034 */ lw $s1, 0x34($sp) +/* BAF798 80241E58 8FB00030 */ lw $s0, 0x30($sp) +/* BAF79C 80241E5C 0000102D */ daddu $v0, $zero, $zero +/* BAF7A0 80241E60 03E00008 */ jr $ra +/* BAF7A4 80241E64 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241E68.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241E68.s new file mode 100644 index 0000000000..5640202abe --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241E68.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E68 +/* BAF7A8 80241E68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BAF7AC 80241E6C AFB10014 */ sw $s1, 0x14($sp) +/* BAF7B0 80241E70 0080882D */ daddu $s1, $a0, $zero +/* BAF7B4 80241E74 AFBF0018 */ sw $ra, 0x18($sp) +/* BAF7B8 80241E78 AFB00010 */ sw $s0, 0x10($sp) +/* BAF7BC 80241E7C 8E300148 */ lw $s0, 0x148($s1) +/* BAF7C0 80241E80 0C00EABB */ jal get_npc_unsafe +/* BAF7C4 80241E84 86040008 */ lh $a0, 8($s0) +/* BAF7C8 80241E88 0040202D */ daddu $a0, $v0, $zero +/* BAF7CC 80241E8C 8482008E */ lh $v0, 0x8e($a0) +/* BAF7D0 80241E90 9483008E */ lhu $v1, 0x8e($a0) +/* BAF7D4 80241E94 18400003 */ blez $v0, .L80241EA4 +/* BAF7D8 80241E98 2462FFFF */ addiu $v0, $v1, -1 +/* BAF7DC 80241E9C 080907B0 */ j .L80241EC0 +/* BAF7E0 80241EA0 A482008E */ sh $v0, 0x8e($a0) +.L80241EA4: +/* BAF7E4 80241EA4 8E0200CC */ lw $v0, 0xcc($s0) +/* BAF7E8 80241EA8 AE00006C */ sw $zero, 0x6c($s0) +/* BAF7EC 80241EAC 8C420000 */ lw $v0, ($v0) +/* BAF7F0 80241EB0 AC820028 */ sw $v0, 0x28($a0) +/* BAF7F4 80241EB4 24020001 */ addiu $v0, $zero, 1 +/* BAF7F8 80241EB8 AE200074 */ sw $zero, 0x74($s1) +/* BAF7FC 80241EBC AE220070 */ sw $v0, 0x70($s1) +.L80241EC0: +/* BAF800 80241EC0 8FBF0018 */ lw $ra, 0x18($sp) +/* BAF804 80241EC4 8FB10014 */ lw $s1, 0x14($sp) +/* BAF808 80241EC8 8FB00010 */ lw $s0, 0x10($sp) +/* BAF80C 80241ECC 03E00008 */ jr $ra +/* BAF810 80241ED0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241ED4.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241ED4.s new file mode 100644 index 0000000000..50f84e401a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241ED4.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241ED4 +/* BAF814 80241ED4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BAF818 80241ED8 AFB3003C */ sw $s3, 0x3c($sp) +/* BAF81C 80241EDC 0080982D */ daddu $s3, $a0, $zero +/* BAF820 80241EE0 AFBF0040 */ sw $ra, 0x40($sp) +/* BAF824 80241EE4 AFB20038 */ sw $s2, 0x38($sp) +/* BAF828 80241EE8 AFB10034 */ sw $s1, 0x34($sp) +/* BAF82C 80241EEC AFB00030 */ sw $s0, 0x30($sp) +/* BAF830 80241EF0 8E720148 */ lw $s2, 0x148($s3) +/* BAF834 80241EF4 00A0882D */ daddu $s1, $a1, $zero +/* BAF838 80241EF8 86440008 */ lh $a0, 8($s2) +/* BAF83C 80241EFC 0C00EABB */ jal get_npc_unsafe +/* BAF840 80241F00 00C0802D */ daddu $s0, $a2, $zero +/* BAF844 80241F04 0200202D */ daddu $a0, $s0, $zero +/* BAF848 80241F08 0240282D */ daddu $a1, $s2, $zero +/* BAF84C 80241F0C AFA00010 */ sw $zero, 0x10($sp) +/* BAF850 80241F10 8E26000C */ lw $a2, 0xc($s1) +/* BAF854 80241F14 8E270010 */ lw $a3, 0x10($s1) +/* BAF858 80241F18 0C01242D */ jal func_800490B4 +/* BAF85C 80241F1C 0040882D */ daddu $s1, $v0, $zero +/* BAF860 80241F20 10400024 */ beqz $v0, .L80241FB4 +/* BAF864 80241F24 0220202D */ daddu $a0, $s1, $zero +/* BAF868 80241F28 24050322 */ addiu $a1, $zero, 0x322 +/* BAF86C 80241F2C 0C012530 */ jal func_800494C0 +/* BAF870 80241F30 0000302D */ daddu $a2, $zero, $zero +/* BAF874 80241F34 0000202D */ daddu $a0, $zero, $zero +/* BAF878 80241F38 0220282D */ daddu $a1, $s1, $zero +/* BAF87C 80241F3C 0000302D */ daddu $a2, $zero, $zero +/* BAF880 80241F40 2410000A */ addiu $s0, $zero, 0xa +/* BAF884 80241F44 862300A8 */ lh $v1, 0xa8($s1) +/* BAF888 80241F48 3C013F80 */ lui $at, 0x3f80 +/* BAF88C 80241F4C 44810000 */ mtc1 $at, $f0 +/* BAF890 80241F50 3C014000 */ lui $at, 0x4000 +/* BAF894 80241F54 44811000 */ mtc1 $at, $f2 +/* BAF898 80241F58 3C01C1A0 */ lui $at, 0xc1a0 +/* BAF89C 80241F5C 44812000 */ mtc1 $at, $f4 +/* BAF8A0 80241F60 44833000 */ mtc1 $v1, $f6 +/* BAF8A4 80241F64 00000000 */ nop +/* BAF8A8 80241F68 468031A0 */ cvt.s.w $f6, $f6 +/* BAF8AC 80241F6C 44073000 */ mfc1 $a3, $f6 +/* BAF8B0 80241F70 27A20028 */ addiu $v0, $sp, 0x28 +/* BAF8B4 80241F74 AFB0001C */ sw $s0, 0x1c($sp) +/* BAF8B8 80241F78 AFA20020 */ sw $v0, 0x20($sp) +/* BAF8BC 80241F7C E7A00010 */ swc1 $f0, 0x10($sp) +/* BAF8C0 80241F80 E7A20014 */ swc1 $f2, 0x14($sp) +/* BAF8C4 80241F84 0C01BFA4 */ jal fx_emote +/* BAF8C8 80241F88 E7A40018 */ swc1 $f4, 0x18($sp) +/* BAF8CC 80241F8C 0220202D */ daddu $a0, $s1, $zero +/* BAF8D0 80241F90 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BAF8D4 80241F94 0C012530 */ jal func_800494C0 +/* BAF8D8 80241F98 3C060020 */ lui $a2, 0x20 +/* BAF8DC 80241F9C 8E4200CC */ lw $v0, 0xcc($s2) +/* BAF8E0 80241FA0 8C420020 */ lw $v0, 0x20($v0) +/* BAF8E4 80241FA4 AE220028 */ sw $v0, 0x28($s1) +/* BAF8E8 80241FA8 9642008E */ lhu $v0, 0x8e($s2) +/* BAF8EC 80241FAC A622008E */ sh $v0, 0x8e($s1) +/* BAF8F0 80241FB0 AE700070 */ sw $s0, 0x70($s3) +.L80241FB4: +/* BAF8F4 80241FB4 8FBF0040 */ lw $ra, 0x40($sp) +/* BAF8F8 80241FB8 8FB3003C */ lw $s3, 0x3c($sp) +/* BAF8FC 80241FBC 8FB20038 */ lw $s2, 0x38($sp) +/* BAF900 80241FC0 8FB10034 */ lw $s1, 0x34($sp) +/* BAF904 80241FC4 8FB00030 */ lw $s0, 0x30($sp) +/* BAF908 80241FC8 03E00008 */ jr $ra +/* BAF90C 80241FCC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80241FD0_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80241FD0_BAD940.s new file mode 100644 index 0000000000..e514a8c449 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80241FD0_BAD940.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FD0_BAF910 +/* BAF910 80241FD0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* BAF914 80241FD4 AFBF0064 */ sw $ra, 0x64($sp) +/* BAF918 80241FD8 AFBE0060 */ sw $fp, 0x60($sp) +/* BAF91C 80241FDC AFB7005C */ sw $s7, 0x5c($sp) +/* BAF920 80241FE0 AFB60058 */ sw $s6, 0x58($sp) +/* BAF924 80241FE4 AFB50054 */ sw $s5, 0x54($sp) +/* BAF928 80241FE8 AFB40050 */ sw $s4, 0x50($sp) +/* BAF92C 80241FEC AFB3004C */ sw $s3, 0x4c($sp) +/* BAF930 80241FF0 AFB20048 */ sw $s2, 0x48($sp) +/* BAF934 80241FF4 AFB10044 */ sw $s1, 0x44($sp) +/* BAF938 80241FF8 AFB00040 */ sw $s0, 0x40($sp) +/* BAF93C 80241FFC F7B80078 */ sdc1 $f24, 0x78($sp) +/* BAF940 80242000 F7B60070 */ sdc1 $f22, 0x70($sp) +/* BAF944 80242004 F7B40068 */ sdc1 $f20, 0x68($sp) +/* BAF948 80242008 AFA40080 */ sw $a0, 0x80($sp) +/* BAF94C 8024200C 8C960148 */ lw $s6, 0x148($a0) +/* BAF950 80242010 00C0902D */ daddu $s2, $a2, $zero +/* BAF954 80242014 86C40008 */ lh $a0, 8($s6) +/* BAF958 80242018 0C00EABB */ jal get_npc_unsafe +/* BAF95C 8024201C 0000B82D */ daddu $s7, $zero, $zero +/* BAF960 80242020 0040882D */ daddu $s1, $v0, $zero +/* BAF964 80242024 9622008E */ lhu $v0, 0x8e($s1) +/* BAF968 80242028 2442FFFF */ addiu $v0, $v0, -1 +/* BAF96C 8024202C A622008E */ sh $v0, 0x8e($s1) +/* BAF970 80242030 00021400 */ sll $v0, $v0, 0x10 +/* BAF974 80242034 8EC30090 */ lw $v1, 0x90($s6) +/* BAF978 80242038 00021403 */ sra $v0, $v0, 0x10 +/* BAF97C 8024203C 0062182A */ slt $v1, $v1, $v0 +/* BAF980 80242040 14600005 */ bnez $v1, .L80242058 +/* BAF984 80242044 02E0F02D */ daddu $fp, $s7, $zero +/* BAF988 80242048 8EC20000 */ lw $v0, ($s6) +/* BAF98C 8024204C 3C031F10 */ lui $v1, 0x1f10 +/* BAF990 80242050 00431025 */ or $v0, $v0, $v1 +/* BAF994 80242054 AEC20000 */ sw $v0, ($s6) +.L80242058: +/* BAF998 80242058 8622008E */ lh $v0, 0x8e($s1) +/* BAF99C 8024205C 1440025D */ bnez $v0, .L802429D4 +/* BAF9A0 80242060 00000000 */ nop +/* BAF9A4 80242064 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAF9A8 80242068 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAF9AC 8024206C 0C00A6C9 */ jal clamp_angle +/* BAF9B0 80242070 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* BAF9B4 80242074 3C014334 */ lui $at, 0x4334 +/* BAF9B8 80242078 44811000 */ mtc1 $at, $f2 +/* BAF9BC 8024207C 00000000 */ nop +/* BAF9C0 80242080 4602003C */ c.lt.s $f0, $f2 +/* BAF9C4 80242084 00000000 */ nop +/* BAF9C8 80242088 45000011 */ bc1f .L802420D0 +/* BAF9CC 8024208C 00000000 */ nop +/* BAF9D0 80242090 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BAF9D4 80242094 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BAF9D8 80242098 3C0142B4 */ lui $at, 0x42b4 +/* BAF9DC 8024209C 44816000 */ mtc1 $at, $f12 +/* BAF9E0 802420A0 00031080 */ sll $v0, $v1, 2 +/* BAF9E4 802420A4 00431021 */ addu $v0, $v0, $v1 +/* BAF9E8 802420A8 00021080 */ sll $v0, $v0, 2 +/* BAF9EC 802420AC 00431023 */ subu $v0, $v0, $v1 +/* BAF9F0 802420B0 000218C0 */ sll $v1, $v0, 3 +/* BAF9F4 802420B4 00431021 */ addu $v0, $v0, $v1 +/* BAF9F8 802420B8 000210C0 */ sll $v0, $v0, 3 +/* BAF9FC 802420BC 3C01800B */ lui $at, 0x800b +/* BAFA00 802420C0 00220821 */ addu $at, $at, $v0 +/* BAFA04 802420C4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BAFA08 802420C8 08090843 */ j .L8024210C +/* BAFA0C 802420CC 460C0301 */ sub.s $f12, $f0, $f12 +.L802420D0: +/* BAFA10 802420D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BAFA14 802420D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BAFA18 802420D8 3C0142B4 */ lui $at, 0x42b4 +/* BAFA1C 802420DC 44816000 */ mtc1 $at, $f12 +/* BAFA20 802420E0 00031080 */ sll $v0, $v1, 2 +/* BAFA24 802420E4 00431021 */ addu $v0, $v0, $v1 +/* BAFA28 802420E8 00021080 */ sll $v0, $v0, 2 +/* BAFA2C 802420EC 00431023 */ subu $v0, $v0, $v1 +/* BAFA30 802420F0 000218C0 */ sll $v1, $v0, 3 +/* BAFA34 802420F4 00431021 */ addu $v0, $v0, $v1 +/* BAFA38 802420F8 000210C0 */ sll $v0, $v0, 3 +/* BAFA3C 802420FC 3C01800B */ lui $at, 0x800b +/* BAFA40 80242100 00220821 */ addu $at, $at, $v0 +/* BAFA44 80242104 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BAFA48 80242108 460C0300 */ add.s $f12, $f0, $f12 +.L8024210C: +/* BAFA4C 8024210C 0C00A6C9 */ jal clamp_angle +/* BAFA50 80242110 00000000 */ nop +/* BAFA54 80242114 46000586 */ mov.s $f22, $f0 +/* BAFA58 80242118 3C014334 */ lui $at, 0x4334 +/* BAFA5C 8024211C 44816000 */ mtc1 $at, $f12 +/* BAFA60 80242120 0C00A6C9 */ jal clamp_angle +/* BAFA64 80242124 460CB300 */ add.s $f12, $f22, $f12 +/* BAFA68 80242128 8EC20088 */ lw $v0, 0x88($s6) +/* BAFA6C 8024212C 14400010 */ bnez $v0, .L80242170 +/* BAFA70 80242130 46000606 */ mov.s $f24, $f0 +/* BAFA74 80242134 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAFA78 80242138 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAFA7C 8024213C 804300B4 */ lb $v1, 0xb4($v0) +/* BAFA80 80242140 3C014200 */ lui $at, 0x4200 +/* BAFA84 80242144 4481A000 */ mtc1 $at, $f20 +/* BAFA88 80242148 10600016 */ beqz $v1, .L802421A4 +/* BAFA8C 8024214C 24020001 */ addiu $v0, $zero, 1 +/* BAFA90 80242150 3C0142C8 */ lui $at, 0x42c8 +/* BAFA94 80242154 4481A000 */ mtc1 $at, $f20 +/* BAFA98 80242158 14620013 */ bne $v1, $v0, .L802421A8 +/* BAFA9C 8024215C 26300038 */ addiu $s0, $s1, 0x38 +/* BAFAA0 80242160 3C0142B4 */ lui $at, 0x42b4 +/* BAFAA4 80242164 4481A000 */ mtc1 $at, $f20 +/* BAFAA8 80242168 0809086B */ j .L802421AC +/* BAFAAC 8024216C 0200202D */ daddu $a0, $s0, $zero +.L80242170: +/* BAFAB0 80242170 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BAFAB4 80242174 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BAFAB8 80242178 804300B4 */ lb $v1, 0xb4($v0) +/* BAFABC 8024217C 3C014218 */ lui $at, 0x4218 +/* BAFAC0 80242180 4481A000 */ mtc1 $at, $f20 +/* BAFAC4 80242184 10600007 */ beqz $v1, .L802421A4 +/* BAFAC8 80242188 24020001 */ addiu $v0, $zero, 1 +/* BAFACC 8024218C 3C0142B4 */ lui $at, 0x42b4 +/* BAFAD0 80242190 4481A000 */ mtc1 $at, $f20 +/* BAFAD4 80242194 14620004 */ bne $v1, $v0, .L802421A8 +/* BAFAD8 80242198 26300038 */ addiu $s0, $s1, 0x38 +/* BAFADC 8024219C 3C014296 */ lui $at, 0x4296 +/* BAFAE0 802421A0 4481A000 */ mtc1 $at, $f20 +.L802421A4: +/* BAFAE4 802421A4 26300038 */ addiu $s0, $s1, 0x38 +.L802421A8: +/* BAFAE8 802421A8 0200202D */ daddu $a0, $s0, $zero +.L802421AC: +/* BAFAEC 802421AC 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* BAFAF0 802421B0 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* BAFAF4 802421B4 4407C000 */ mfc1 $a3, $f24 +/* BAFAF8 802421B8 862200A6 */ lh $v0, 0xa6($s1) +/* BAFAFC 802421BC 8EA30000 */ lw $v1, ($s5) +/* BAFB00 802421C0 44824000 */ mtc1 $v0, $f8 +/* BAFB04 802421C4 00000000 */ nop +/* BAFB08 802421C8 46804220 */ cvt.s.w $f8, $f8 +/* BAFB0C 802421CC C4600028 */ lwc1 $f0, 0x28($v1) +/* BAFB10 802421D0 44064000 */ mfc1 $a2, $f8 +/* BAFB14 802421D4 26330040 */ addiu $s3, $s1, 0x40 +/* BAFB18 802421D8 E6200038 */ swc1 $f0, 0x38($s1) +/* BAFB1C 802421DC C4600030 */ lwc1 $f0, 0x30($v1) +/* BAFB20 802421E0 0260282D */ daddu $a1, $s3, $zero +/* BAFB24 802421E4 0C00A7E7 */ jal add_vec2D_polar +/* BAFB28 802421E8 E6200040 */ swc1 $f0, 0x40($s1) +/* BAFB2C 802421EC 862200A6 */ lh $v0, 0xa6($s1) +/* BAFB30 802421F0 44820000 */ mtc1 $v0, $f0 +/* BAFB34 802421F4 00000000 */ nop +/* BAFB38 802421F8 46800020 */ cvt.s.w $f0, $f0 +/* BAFB3C 802421FC 4600A000 */ add.s $f0, $f20, $f0 +/* BAFB40 80242200 4406B000 */ mfc1 $a2, $f22 +/* BAFB44 80242204 44050000 */ mfc1 $a1, $f0 +/* BAFB48 80242208 0C00EA95 */ jal npc_move_heading +/* BAFB4C 8024220C 0220202D */ daddu $a0, $s1, $zero +/* BAFB50 80242210 8EC20088 */ lw $v0, 0x88($s6) +/* BAFB54 80242214 1440005D */ bnez $v0, .L8024238C +/* BAFB58 80242218 00000000 */ nop +/* BAFB5C 8024221C C6200038 */ lwc1 $f0, 0x38($s1) +/* BAFB60 80242220 3C018024 */ lui $at, 0x8024 +/* BAFB64 80242224 D4245490 */ ldc1 $f4, 0x5490($at) +/* BAFB68 80242228 46000021 */ cvt.d.s $f0, $f0 +/* BAFB6C 8024222C 4620203C */ c.lt.d $f4, $f0 +/* BAFB70 80242230 00000000 */ nop +/* BAFB74 80242234 45000005 */ bc1f .L8024224C +/* BAFB78 80242238 00000000 */ nop +/* BAFB7C 8024223C 3C0143BE */ lui $at, 0x43be +/* BAFB80 80242240 44810000 */ mtc1 $at, $f0 +/* BAFB84 80242244 00000000 */ nop +/* BAFB88 80242248 E6200038 */ swc1 $f0, 0x38($s1) +.L8024224C: +/* BAFB8C 8024224C C6200038 */ lwc1 $f0, 0x38($s1) +/* BAFB90 80242250 3C018024 */ lui $at, 0x8024 +/* BAFB94 80242254 D4225498 */ ldc1 $f2, 0x5498($at) +/* BAFB98 80242258 46000021 */ cvt.d.s $f0, $f0 +/* BAFB9C 8024225C 4622003C */ c.lt.d $f0, $f2 +/* BAFBA0 80242260 00000000 */ nop +/* BAFBA4 80242264 45000005 */ bc1f .L8024227C +/* BAFBA8 80242268 00000000 */ nop +/* BAFBAC 8024226C 3C01C3BE */ lui $at, 0xc3be +/* BAFBB0 80242270 44810000 */ mtc1 $at, $f0 +/* BAFBB4 80242274 00000000 */ nop +/* BAFBB8 80242278 E6200038 */ swc1 $f0, 0x38($s1) +.L8024227C: +/* BAFBBC 8024227C C6200040 */ lwc1 $f0, 0x40($s1) +/* BAFBC0 80242280 46000021 */ cvt.d.s $f0, $f0 +/* BAFBC4 80242284 4620203C */ c.lt.d $f4, $f0 +/* BAFBC8 80242288 00000000 */ nop +/* BAFBCC 8024228C 45000005 */ bc1f .L802422A4 +/* BAFBD0 80242290 00000000 */ nop +/* BAFBD4 80242294 3C0143BE */ lui $at, 0x43be +/* BAFBD8 80242298 44810000 */ mtc1 $at, $f0 +/* BAFBDC 8024229C 00000000 */ nop +/* BAFBE0 802422A0 E6200040 */ swc1 $f0, 0x40($s1) +.L802422A4: +/* BAFBE4 802422A4 C6200040 */ lwc1 $f0, 0x40($s1) +/* BAFBE8 802422A8 46000021 */ cvt.d.s $f0, $f0 +/* BAFBEC 802422AC 4622003C */ c.lt.d $f0, $f2 +/* BAFBF0 802422B0 00000000 */ nop +/* BAFBF4 802422B4 45000005 */ bc1f .L802422CC +/* BAFBF8 802422B8 00000000 */ nop +/* BAFBFC 802422BC 3C01C3BE */ lui $at, 0xc3be +/* BAFC00 802422C0 44810000 */ mtc1 $at, $f0 +/* BAFC04 802422C4 00000000 */ nop +/* BAFC08 802422C8 E6200040 */ swc1 $f0, 0x40($s1) +.L802422CC: +/* BAFC0C 802422CC C6220038 */ lwc1 $f2, 0x38($s1) +/* BAFC10 802422D0 46021082 */ mul.s $f2, $f2, $f2 +/* BAFC14 802422D4 00000000 */ nop +/* BAFC18 802422D8 C6200040 */ lwc1 $f0, 0x40($s1) +/* BAFC1C 802422DC 46000002 */ mul.s $f0, $f0, $f0 +/* BAFC20 802422E0 00000000 */ nop +/* BAFC24 802422E4 46001300 */ add.s $f12, $f2, $f0 +/* BAFC28 802422E8 46006004 */ sqrt.s $f0, $f12 +/* BAFC2C 802422EC 46000032 */ c.eq.s $f0, $f0 +/* BAFC30 802422F0 00000000 */ nop +/* BAFC34 802422F4 45010003 */ bc1t .L80242304 +/* BAFC38 802422F8 00000000 */ nop +/* BAFC3C 802422FC 0C0187BC */ jal sqrtf +/* BAFC40 80242300 00000000 */ nop +.L80242304: +/* BAFC44 80242304 8E260038 */ lw $a2, 0x38($s1) +/* BAFC48 80242308 8E270040 */ lw $a3, 0x40($s1) +/* BAFC4C 8024230C 4480A000 */ mtc1 $zero, $f20 +/* BAFC50 80242310 E7A00038 */ swc1 $f0, 0x38($sp) +/* BAFC54 80242314 4600A306 */ mov.s $f12, $f20 +/* BAFC58 80242318 0C00A720 */ jal atan2 +/* BAFC5C 8024231C 4600A386 */ mov.s $f14, $f20 +/* BAFC60 80242320 46000586 */ mov.s $f22, $f0 +/* BAFC64 80242324 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BAFC68 80242328 3C018024 */ lui $at, 0x8024 +/* BAFC6C 8024232C D42054A0 */ ldc1 $f0, 0x54a0($at) +/* BAFC70 80242330 460010A1 */ cvt.d.s $f2, $f2 +/* BAFC74 80242334 4620103C */ c.lt.d $f2, $f0 +/* BAFC78 80242338 00000000 */ nop +/* BAFC7C 8024233C 45000004 */ bc1f .L80242350 +/* BAFC80 80242340 0200202D */ daddu $a0, $s0, $zero +/* BAFC84 80242344 3C064398 */ lui $a2, 0x4398 +/* BAFC88 80242348 080908DC */ j .L80242370 +/* BAFC8C 8024234C 34C68000 */ ori $a2, $a2, 0x8000 +.L80242350: +/* BAFC90 80242350 3C018024 */ lui $at, 0x8024 +/* BAFC94 80242354 D42054A8 */ ldc1 $f0, 0x54a8($at) +/* BAFC98 80242358 4622003C */ c.lt.d $f0, $f2 +/* BAFC9C 8024235C 00000000 */ nop +/* BAFCA0 80242360 450000FA */ bc1f .L8024274C +/* BAFCA4 80242364 00000000 */ nop +/* BAFCA8 80242368 3C0643BB */ lui $a2, 0x43bb +/* BAFCAC 8024236C 34C68000 */ ori $a2, $a2, 0x8000 +.L80242370: +/* BAFCB0 80242370 4407B000 */ mfc1 $a3, $f22 +/* BAFCB4 80242374 0260282D */ daddu $a1, $s3, $zero +/* BAFCB8 80242378 E6340038 */ swc1 $f20, 0x38($s1) +/* BAFCBC 8024237C 0C00A7E7 */ jal add_vec2D_polar +/* BAFCC0 80242380 E6340040 */ swc1 $f20, 0x40($s1) +/* BAFCC4 80242384 080909D3 */ j .L8024274C +/* BAFCC8 80242388 00000000 */ nop +.L8024238C: +/* BAFCCC 8024238C 8E220000 */ lw $v0, ($s1) +/* BAFCD0 80242390 30420040 */ andi $v0, $v0, 0x40 +/* BAFCD4 80242394 144000B0 */ bnez $v0, .L80242658 +/* BAFCD8 80242398 27A50020 */ addiu $a1, $sp, 0x20 +/* BAFCDC 8024239C 27B40020 */ addiu $s4, $sp, 0x20 +/* BAFCE0 802423A0 0280282D */ daddu $a1, $s4, $zero +/* BAFCE4 802423A4 27B30024 */ addiu $s3, $sp, 0x24 +/* BAFCE8 802423A8 8EA20000 */ lw $v0, ($s5) +/* BAFCEC 802423AC 3C014032 */ lui $at, 0x4032 +/* BAFCF0 802423B0 44811800 */ mtc1 $at, $f3 +/* BAFCF4 802423B4 44801000 */ mtc1 $zero, $f2 +/* BAFCF8 802423B8 C440002C */ lwc1 $f0, 0x2c($v0) +/* BAFCFC 802423BC C4460028 */ lwc1 $f6, 0x28($v0) +/* BAFD00 802423C0 C4440030 */ lwc1 $f4, 0x30($v0) +/* BAFD04 802423C4 46000021 */ cvt.d.s $f0, $f0 +/* BAFD08 802423C8 46220000 */ add.d $f0, $f0, $f2 +/* BAFD0C 802423CC E7A60020 */ swc1 $f6, 0x20($sp) +/* BAFD10 802423D0 E7A40028 */ swc1 $f4, 0x28($sp) +/* BAFD14 802423D4 46200020 */ cvt.s.d $f0, $f0 +/* BAFD18 802423D8 E7A00024 */ swc1 $f0, 0x24($sp) +/* BAFD1C 802423DC E7B40010 */ swc1 $f20, 0x10($sp) +/* BAFD20 802423E0 E7B60014 */ swc1 $f22, 0x14($sp) +/* BAFD24 802423E4 862200A8 */ lh $v0, 0xa8($s1) +/* BAFD28 802423E8 0260302D */ daddu $a2, $s3, $zero +/* BAFD2C 802423EC 44820000 */ mtc1 $v0, $f0 +/* BAFD30 802423F0 00000000 */ nop +/* BAFD34 802423F4 46800020 */ cvt.s.w $f0, $f0 +/* BAFD38 802423F8 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAFD3C 802423FC 862200A6 */ lh $v0, 0xa6($s1) +/* BAFD40 80242400 27B00028 */ addiu $s0, $sp, 0x28 +/* BAFD44 80242404 44820000 */ mtc1 $v0, $f0 +/* BAFD48 80242408 00000000 */ nop +/* BAFD4C 8024240C 46800020 */ cvt.s.w $f0, $f0 +/* BAFD50 80242410 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAFD54 80242414 8E240080 */ lw $a0, 0x80($s1) +/* BAFD58 80242418 0C037711 */ jal func_800DDC44 +/* BAFD5C 8024241C 0200382D */ daddu $a3, $s0, $zero +/* BAFD60 80242420 104000CA */ beqz $v0, .L8024274C +/* BAFD64 80242424 0280282D */ daddu $a1, $s4, $zero +/* BAFD68 80242428 8EA20000 */ lw $v0, ($s5) +/* BAFD6C 8024242C 3C018024 */ lui $at, 0x8024 +/* BAFD70 80242430 D42254B0 */ ldc1 $f2, 0x54b0($at) +/* BAFD74 80242434 C440002C */ lwc1 $f0, 0x2c($v0) +/* BAFD78 80242438 C4460028 */ lwc1 $f6, 0x28($v0) +/* BAFD7C 8024243C C4440030 */ lwc1 $f4, 0x30($v0) +/* BAFD80 80242440 46000021 */ cvt.d.s $f0, $f0 +/* BAFD84 80242444 46220000 */ add.d $f0, $f0, $f2 +/* BAFD88 80242448 E7A60020 */ swc1 $f6, 0x20($sp) +/* BAFD8C 8024244C E7A40028 */ swc1 $f4, 0x28($sp) +/* BAFD90 80242450 46200020 */ cvt.s.d $f0, $f0 +/* BAFD94 80242454 E7A00024 */ swc1 $f0, 0x24($sp) +/* BAFD98 80242458 E7B40010 */ swc1 $f20, 0x10($sp) +/* BAFD9C 8024245C E7B60014 */ swc1 $f22, 0x14($sp) +/* BAFDA0 80242460 862200A8 */ lh $v0, 0xa8($s1) +/* BAFDA4 80242464 44820000 */ mtc1 $v0, $f0 +/* BAFDA8 80242468 00000000 */ nop +/* BAFDAC 8024246C 46800020 */ cvt.s.w $f0, $f0 +/* BAFDB0 80242470 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAFDB4 80242474 862200A6 */ lh $v0, 0xa6($s1) +/* BAFDB8 80242478 0260302D */ daddu $a2, $s3, $zero +/* BAFDBC 8024247C 44820000 */ mtc1 $v0, $f0 +/* BAFDC0 80242480 00000000 */ nop +/* BAFDC4 80242484 46800020 */ cvt.s.w $f0, $f0 +/* BAFDC8 80242488 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAFDCC 8024248C 8E240080 */ lw $a0, 0x80($s1) +/* BAFDD0 80242490 0C037711 */ jal func_800DDC44 +/* BAFDD4 80242494 0200382D */ daddu $a3, $s0, $zero +/* BAFDD8 80242498 27A5002C */ addiu $a1, $sp, 0x2c +/* BAFDDC 8024249C 27A60030 */ addiu $a2, $sp, 0x30 +/* BAFDE0 802424A0 27A70034 */ addiu $a3, $sp, 0x34 +/* BAFDE4 802424A4 27A30038 */ addiu $v1, $sp, 0x38 +/* BAFDE8 802424A8 C6220038 */ lwc1 $f2, 0x38($s1) +/* BAFDEC 802424AC C620003C */ lwc1 $f0, 0x3c($s1) +/* BAFDF0 802424B0 3C014348 */ lui $at, 0x4348 +/* BAFDF4 802424B4 44813000 */ mtc1 $at, $f6 +/* BAFDF8 802424B8 46000021 */ cvt.d.s $f0, $f0 +/* BAFDFC 802424BC E7A2002C */ swc1 $f2, 0x2c($sp) +/* BAFE00 802424C0 3C014059 */ lui $at, 0x4059 +/* BAFE04 802424C4 44811800 */ mtc1 $at, $f3 +/* BAFE08 802424C8 44801000 */ mtc1 $zero, $f2 +/* BAFE0C 802424CC C6240040 */ lwc1 $f4, 0x40($s1) +/* BAFE10 802424D0 46220000 */ add.d $f0, $f0, $f2 +/* BAFE14 802424D4 E7A60038 */ swc1 $f6, 0x38($sp) +/* BAFE18 802424D8 E7A40034 */ swc1 $f4, 0x34($sp) +/* BAFE1C 802424DC 46200020 */ cvt.s.d $f0, $f0 +/* BAFE20 802424E0 E7A00030 */ swc1 $f0, 0x30($sp) +/* BAFE24 802424E4 AFA30010 */ sw $v1, 0x10($sp) +/* BAFE28 802424E8 8E240080 */ lw $a0, 0x80($s1) +/* BAFE2C 802424EC 0C0372DF */ jal func_800DCB7C +/* BAFE30 802424F0 0040802D */ daddu $s0, $v0, $zero +/* BAFE34 802424F4 1600001C */ bnez $s0, .L80242568 +/* BAFE38 802424F8 00000000 */ nop +/* BAFE3C 802424FC 1040001A */ beqz $v0, .L80242568 +/* BAFE40 80242500 00000000 */ nop +/* BAFE44 80242504 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BAFE48 80242508 3C014054 */ lui $at, 0x4054 +/* BAFE4C 8024250C 44810800 */ mtc1 $at, $f1 +/* BAFE50 80242510 44800000 */ mtc1 $zero, $f0 +/* BAFE54 80242514 460010A1 */ cvt.d.s $f2, $f2 +/* BAFE58 80242518 4622003C */ c.lt.d $f0, $f2 +/* BAFE5C 8024251C 00000000 */ nop +/* BAFE60 80242520 45000011 */ bc1f .L80242568 +/* BAFE64 80242524 00000000 */ nop +/* BAFE68 80242528 3C01405E */ lui $at, 0x405e +/* BAFE6C 8024252C 44810800 */ mtc1 $at, $f1 +/* BAFE70 80242530 44800000 */ mtc1 $zero, $f0 +/* BAFE74 80242534 00000000 */ nop +/* BAFE78 80242538 4620103C */ c.lt.d $f2, $f0 +/* BAFE7C 8024253C 00000000 */ nop +/* BAFE80 80242540 45000009 */ bc1f .L80242568 +/* BAFE84 80242544 00000000 */ nop +/* BAFE88 80242548 C622003C */ lwc1 $f2, 0x3c($s1) +/* BAFE8C 8024254C C7A00030 */ lwc1 $f0, 0x30($sp) +/* BAFE90 80242550 46001032 */ c.eq.s $f2, $f0 +/* BAFE94 80242554 00000000 */ nop +/* BAFE98 80242558 45010003 */ bc1t .L80242568 +/* BAFE9C 8024255C 00000000 */ nop +/* BAFEA0 80242560 080909D3 */ j .L8024274C +/* BAFEA4 80242564 241E0001 */ addiu $fp, $zero, 1 +.L80242568: +/* BAFEA8 80242568 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* BAFEAC 8024256C 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* BAFEB0 80242570 8E020000 */ lw $v0, ($s0) +/* BAFEB4 80242574 3C014024 */ lui $at, 0x4024 +/* BAFEB8 80242578 44811800 */ mtc1 $at, $f3 +/* BAFEBC 8024257C 44801000 */ mtc1 $zero, $f2 +/* BAFEC0 80242580 C440002C */ lwc1 $f0, 0x2c($v0) +/* BAFEC4 80242584 C4460028 */ lwc1 $f6, 0x28($v0) +/* BAFEC8 80242588 C4440030 */ lwc1 $f4, 0x30($v0) +/* BAFECC 8024258C 46000021 */ cvt.d.s $f0, $f0 +/* BAFED0 80242590 46220000 */ add.d $f0, $f0, $f2 +/* BAFED4 80242594 E7A60020 */ swc1 $f6, 0x20($sp) +/* BAFED8 80242598 E7A40028 */ swc1 $f4, 0x28($sp) +/* BAFEDC 8024259C 46200020 */ cvt.s.d $f0, $f0 +/* BAFEE0 802425A0 E7A00024 */ swc1 $f0, 0x24($sp) +/* BAFEE4 802425A4 E7B40010 */ swc1 $f20, 0x10($sp) +/* BAFEE8 802425A8 E7B60014 */ swc1 $f22, 0x14($sp) +/* BAFEEC 802425AC 862200A8 */ lh $v0, 0xa8($s1) +/* BAFEF0 802425B0 27A50020 */ addiu $a1, $sp, 0x20 +/* BAFEF4 802425B4 44820000 */ mtc1 $v0, $f0 +/* BAFEF8 802425B8 00000000 */ nop +/* BAFEFC 802425BC 46800020 */ cvt.s.w $f0, $f0 +/* BAFF00 802425C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAFF04 802425C4 862200A6 */ lh $v0, 0xa6($s1) +/* BAFF08 802425C8 27A60024 */ addiu $a2, $sp, 0x24 +/* BAFF0C 802425CC 44820000 */ mtc1 $v0, $f0 +/* BAFF10 802425D0 00000000 */ nop +/* BAFF14 802425D4 46800020 */ cvt.s.w $f0, $f0 +/* BAFF18 802425D8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BAFF1C 802425DC 8E240080 */ lw $a0, 0x80($s1) +/* BAFF20 802425E0 0C037711 */ jal func_800DDC44 +/* BAFF24 802425E4 27A70028 */ addiu $a3, $sp, 0x28 +/* BAFF28 802425E8 8FA60020 */ lw $a2, 0x20($sp) +/* BAFF2C 802425EC 8E020000 */ lw $v0, ($s0) +/* BAFF30 802425F0 8FA70028 */ lw $a3, 0x28($sp) +/* BAFF34 802425F4 C44C0028 */ lwc1 $f12, 0x28($v0) +/* BAFF38 802425F8 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BAFF3C 802425FC 0C00A7B5 */ jal dist2D +/* BAFF40 80242600 24170001 */ addiu $s7, $zero, 1 +/* BAFF44 80242604 46000506 */ mov.s $f20, $f0 +/* BAFF48 80242608 8E030000 */ lw $v1, ($s0) +/* BAFF4C 8024260C 862200A6 */ lh $v0, 0xa6($s1) +/* BAFF50 80242610 4407C000 */ mfc1 $a3, $f24 +/* BAFF54 80242614 44824000 */ mtc1 $v0, $f8 +/* BAFF58 80242618 00000000 */ nop +/* BAFF5C 8024261C 46804220 */ cvt.s.w $f8, $f8 +/* BAFF60 80242620 C4600028 */ lwc1 $f0, 0x28($v1) +/* BAFF64 80242624 44064000 */ mfc1 $a2, $f8 +/* BAFF68 80242628 26240038 */ addiu $a0, $s1, 0x38 +/* BAFF6C 8024262C E6200038 */ swc1 $f0, 0x38($s1) +/* BAFF70 80242630 C4600030 */ lwc1 $f0, 0x30($v1) +/* BAFF74 80242634 26250040 */ addiu $a1, $s1, 0x40 +/* BAFF78 80242638 0C00A7E7 */ jal add_vec2D_polar +/* BAFF7C 8024263C E6200040 */ swc1 $f0, 0x40($s1) +/* BAFF80 80242640 862200A6 */ lh $v0, 0xa6($s1) +/* BAFF84 80242644 44820000 */ mtc1 $v0, $f0 +/* BAFF88 80242648 00000000 */ nop +/* BAFF8C 8024264C 46800020 */ cvt.s.w $f0, $f0 +/* BAFF90 80242650 080909CF */ j .L8024273C +/* BAFF94 80242654 4600A500 */ add.s $f20, $f20, $f0 +.L80242658: +/* BAFF98 80242658 8EA20000 */ lw $v0, ($s5) +/* BAFF9C 8024265C 3C014032 */ lui $at, 0x4032 +/* BAFFA0 80242660 44811800 */ mtc1 $at, $f3 +/* BAFFA4 80242664 44801000 */ mtc1 $zero, $f2 +/* BAFFA8 80242668 C440002C */ lwc1 $f0, 0x2c($v0) +/* BAFFAC 8024266C C4460028 */ lwc1 $f6, 0x28($v0) +/* BAFFB0 80242670 C4440030 */ lwc1 $f4, 0x30($v0) +/* BAFFB4 80242674 46000021 */ cvt.d.s $f0, $f0 +/* BAFFB8 80242678 46220000 */ add.d $f0, $f0, $f2 +/* BAFFBC 8024267C E7A60020 */ swc1 $f6, 0x20($sp) +/* BAFFC0 80242680 E7A40028 */ swc1 $f4, 0x28($sp) +/* BAFFC4 80242684 46200020 */ cvt.s.d $f0, $f0 +/* BAFFC8 80242688 E7A00024 */ swc1 $f0, 0x24($sp) +/* BAFFCC 8024268C E7B40010 */ swc1 $f20, 0x10($sp) +/* BAFFD0 80242690 E7B60014 */ swc1 $f22, 0x14($sp) +/* BAFFD4 80242694 862200A8 */ lh $v0, 0xa8($s1) +/* BAFFD8 80242698 44820000 */ mtc1 $v0, $f0 +/* BAFFDC 8024269C 00000000 */ nop +/* BAFFE0 802426A0 46800020 */ cvt.s.w $f0, $f0 +/* BAFFE4 802426A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* BAFFE8 802426A8 862200A6 */ lh $v0, 0xa6($s1) +/* BAFFEC 802426AC 27A60024 */ addiu $a2, $sp, 0x24 +/* BAFFF0 802426B0 44820000 */ mtc1 $v0, $f0 +/* BAFFF4 802426B4 00000000 */ nop +/* BAFFF8 802426B8 46800020 */ cvt.s.w $f0, $f0 +/* BAFFFC 802426BC E7A0001C */ swc1 $f0, 0x1c($sp) +/* BB0000 802426C0 8E240080 */ lw $a0, 0x80($s1) +/* BB0004 802426C4 0C037711 */ jal func_800DDC44 +/* BB0008 802426C8 27A70028 */ addiu $a3, $sp, 0x28 +/* BB000C 802426CC 1040001F */ beqz $v0, .L8024274C +/* BB0010 802426D0 00000000 */ nop +/* BB0014 802426D4 8FA60020 */ lw $a2, 0x20($sp) +/* BB0018 802426D8 8EA20000 */ lw $v0, ($s5) +/* BB001C 802426DC 8FA70028 */ lw $a3, 0x28($sp) +/* BB0020 802426E0 C44C0028 */ lwc1 $f12, 0x28($v0) +/* BB0024 802426E4 0C00A7B5 */ jal dist2D +/* BB0028 802426E8 C44E0030 */ lwc1 $f14, 0x30($v0) +/* BB002C 802426EC 46000506 */ mov.s $f20, $f0 +/* BB0030 802426F0 8EA30000 */ lw $v1, ($s5) +/* BB0034 802426F4 862200A6 */ lh $v0, 0xa6($s1) +/* BB0038 802426F8 4407C000 */ mfc1 $a3, $f24 +/* BB003C 802426FC 44824000 */ mtc1 $v0, $f8 +/* BB0040 80242700 00000000 */ nop +/* BB0044 80242704 46804220 */ cvt.s.w $f8, $f8 +/* BB0048 80242708 C4600028 */ lwc1 $f0, 0x28($v1) +/* BB004C 8024270C 44064000 */ mfc1 $a2, $f8 +/* BB0050 80242710 0200202D */ daddu $a0, $s0, $zero +/* BB0054 80242714 E6200038 */ swc1 $f0, 0x38($s1) +/* BB0058 80242718 C4600030 */ lwc1 $f0, 0x30($v1) +/* BB005C 8024271C 0260282D */ daddu $a1, $s3, $zero +/* BB0060 80242720 0C00A7E7 */ jal add_vec2D_polar +/* BB0064 80242724 E6200040 */ swc1 $f0, 0x40($s1) +/* BB0068 80242728 862200A6 */ lh $v0, 0xa6($s1) +/* BB006C 8024272C 44820000 */ mtc1 $v0, $f0 +/* BB0070 80242730 00000000 */ nop +/* BB0074 80242734 46800020 */ cvt.s.w $f0, $f0 +/* BB0078 80242738 4600A500 */ add.s $f20, $f20, $f0 +.L8024273C: +/* BB007C 8024273C 4406B000 */ mfc1 $a2, $f22 +/* BB0080 80242740 4405A000 */ mfc1 $a1, $f20 +/* BB0084 80242744 0C00EA95 */ jal npc_move_heading +/* BB0088 80242748 0220202D */ daddu $a0, $s1, $zero +.L8024274C: +/* BB008C 8024274C C6400008 */ lwc1 $f0, 8($s2) +/* BB0090 80242750 46800020 */ cvt.s.w $f0, $f0 +/* BB0094 80242754 44050000 */ mfc1 $a1, $f0 +/* BB0098 80242758 C640000C */ lwc1 $f0, 0xc($s2) +/* BB009C 8024275C 46800020 */ cvt.s.w $f0, $f0 +/* BB00A0 80242760 44060000 */ mfc1 $a2, $f0 +/* BB00A4 80242764 C6200040 */ lwc1 $f0, 0x40($s1) +/* BB00A8 80242768 26300038 */ addiu $s0, $s1, 0x38 +/* BB00AC 8024276C E7A00010 */ swc1 $f0, 0x10($sp) +/* BB00B0 80242770 C6400010 */ lwc1 $f0, 0x10($s2) +/* BB00B4 80242774 46800020 */ cvt.s.w $f0, $f0 +/* BB00B8 80242778 E7A00014 */ swc1 $f0, 0x14($sp) +/* BB00BC 8024277C C6400014 */ lwc1 $f0, 0x14($s2) +/* BB00C0 80242780 46800020 */ cvt.s.w $f0, $f0 +/* BB00C4 80242784 E7A00018 */ swc1 $f0, 0x18($sp) +/* BB00C8 80242788 8E440004 */ lw $a0, 4($s2) +/* BB00CC 8024278C 8E270038 */ lw $a3, 0x38($s1) +/* BB00D0 80242790 0C0123F5 */ jal is_point_within_region +/* BB00D4 80242794 26330040 */ addiu $s3, $s1, 0x40 +/* BB00D8 80242798 1040005A */ beqz $v0, .L80242904 +/* BB00DC 8024279C 00000000 */ nop +/* BB00E0 802427A0 8E430004 */ lw $v1, 4($s2) +/* BB00E4 802427A4 10600005 */ beqz $v1, .L802427BC +/* BB00E8 802427A8 24020001 */ addiu $v0, $zero, 1 +/* BB00EC 802427AC 10620029 */ beq $v1, $v0, .L80242854 +/* BB00F0 802427B0 00000000 */ nop +/* BB00F4 802427B4 08090A41 */ j .L80242904 +/* BB00F8 802427B8 00000000 */ nop +.L802427BC: +/* BB00FC 802427BC C6480008 */ lwc1 $f8, 8($s2) +/* BB0100 802427C0 46804220 */ cvt.s.w $f8, $f8 +/* BB0104 802427C4 44064000 */ mfc1 $a2, $f8 +/* BB0108 802427C8 C648000C */ lwc1 $f8, 0xc($s2) +/* BB010C 802427CC 46804220 */ cvt.s.w $f8, $f8 +/* BB0110 802427D0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BB0114 802427D4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BB0118 802427D8 44074000 */ mfc1 $a3, $f8 +/* BB011C 802427DC 0C00A7B5 */ jal dist2D +/* BB0120 802427E0 00000000 */ nop +/* BB0124 802427E4 C6420010 */ lwc1 $f2, 0x10($s2) +/* BB0128 802427E8 468010A0 */ cvt.s.w $f2, $f2 +/* BB012C 802427EC 4600103C */ c.lt.s $f2, $f0 +/* BB0130 802427F0 00000000 */ nop +/* BB0134 802427F4 45000043 */ bc1f .L80242904 +/* BB0138 802427F8 E7A00038 */ swc1 $f0, 0x38($sp) +/* BB013C 802427FC C64C0008 */ lwc1 $f12, 8($s2) +/* BB0140 80242800 46806320 */ cvt.s.w $f12, $f12 +/* BB0144 80242804 8E260038 */ lw $a2, 0x38($s1) +/* BB0148 80242808 8E270040 */ lw $a3, 0x40($s1) +/* BB014C 8024280C C64E000C */ lwc1 $f14, 0xc($s2) +/* BB0150 80242810 0C00A720 */ jal atan2 +/* BB0154 80242814 468073A0 */ cvt.s.w $f14, $f14 +/* BB0158 80242818 0200202D */ daddu $a0, $s0, $zero +/* BB015C 8024281C 44070000 */ mfc1 $a3, $f0 +/* BB0160 80242820 C6400008 */ lwc1 $f0, 8($s2) +/* BB0164 80242824 46800020 */ cvt.s.w $f0, $f0 +/* BB0168 80242828 E6200038 */ swc1 $f0, 0x38($s1) +/* BB016C 8024282C C640000C */ lwc1 $f0, 0xc($s2) +/* BB0170 80242830 46800020 */ cvt.s.w $f0, $f0 +/* BB0174 80242834 E6200040 */ swc1 $f0, 0x40($s1) +/* BB0178 80242838 C6480010 */ lwc1 $f8, 0x10($s2) +/* BB017C 8024283C 46804220 */ cvt.s.w $f8, $f8 +/* BB0180 80242840 44064000 */ mfc1 $a2, $f8 +/* BB0184 80242844 0C00A7E7 */ jal add_vec2D_polar +/* BB0188 80242848 0260282D */ daddu $a1, $s3, $zero +/* BB018C 8024284C 08090A41 */ j .L80242904 +/* BB0190 80242850 00000000 */ nop +.L80242854: +/* BB0194 80242854 8E420008 */ lw $v0, 8($s2) +/* BB0198 80242858 8E430010 */ lw $v1, 0x10($s2) +/* BB019C 8024285C C6200038 */ lwc1 $f0, 0x38($s1) +/* BB01A0 80242860 00431021 */ addu $v0, $v0, $v1 +/* BB01A4 80242864 44821000 */ mtc1 $v0, $f2 +/* BB01A8 80242868 00000000 */ nop +/* BB01AC 8024286C 468010A0 */ cvt.s.w $f2, $f2 +/* BB01B0 80242870 4600103C */ c.lt.s $f2, $f0 +/* BB01B4 80242874 00000000 */ nop +/* BB01B8 80242878 45030001 */ bc1tl .L80242880 +/* BB01BC 8024287C E6220038 */ swc1 $f2, 0x38($s1) +.L80242880: +/* BB01C0 80242880 8E420008 */ lw $v0, 8($s2) +/* BB01C4 80242884 8E430010 */ lw $v1, 0x10($s2) +/* BB01C8 80242888 C6200038 */ lwc1 $f0, 0x38($s1) +/* BB01CC 8024288C 00431023 */ subu $v0, $v0, $v1 +/* BB01D0 80242890 44821000 */ mtc1 $v0, $f2 +/* BB01D4 80242894 00000000 */ nop +/* BB01D8 80242898 468010A0 */ cvt.s.w $f2, $f2 +/* BB01DC 8024289C 4602003C */ c.lt.s $f0, $f2 +/* BB01E0 802428A0 00000000 */ nop +/* BB01E4 802428A4 45030001 */ bc1tl .L802428AC +/* BB01E8 802428A8 E6220038 */ swc1 $f2, 0x38($s1) +.L802428AC: +/* BB01EC 802428AC 8E42000C */ lw $v0, 0xc($s2) +/* BB01F0 802428B0 8E430014 */ lw $v1, 0x14($s2) +/* BB01F4 802428B4 C6200040 */ lwc1 $f0, 0x40($s1) +/* BB01F8 802428B8 00431021 */ addu $v0, $v0, $v1 +/* BB01FC 802428BC 44821000 */ mtc1 $v0, $f2 +/* BB0200 802428C0 00000000 */ nop +/* BB0204 802428C4 468010A0 */ cvt.s.w $f2, $f2 +/* BB0208 802428C8 4600103C */ c.lt.s $f2, $f0 +/* BB020C 802428CC 00000000 */ nop +/* BB0210 802428D0 45030001 */ bc1tl .L802428D8 +/* BB0214 802428D4 E6220040 */ swc1 $f2, 0x40($s1) +.L802428D8: +/* BB0218 802428D8 8E42000C */ lw $v0, 0xc($s2) +/* BB021C 802428DC 8E430014 */ lw $v1, 0x14($s2) +/* BB0220 802428E0 C6200040 */ lwc1 $f0, 0x40($s1) +/* BB0224 802428E4 00431023 */ subu $v0, $v0, $v1 +/* BB0228 802428E8 44821000 */ mtc1 $v0, $f2 +/* BB022C 802428EC 00000000 */ nop +/* BB0230 802428F0 468010A0 */ cvt.s.w $f2, $f2 +/* BB0234 802428F4 4602003C */ c.lt.s $f0, $f2 +/* BB0238 802428F8 00000000 */ nop +/* BB023C 802428FC 45030001 */ bc1tl .L80242904 +/* BB0240 80242900 E6220040 */ swc1 $f2, 0x40($s1) +.L80242904: +/* BB0244 80242904 16E0001F */ bnez $s7, .L80242984 +/* BB0248 80242908 00000000 */ nop +/* BB024C 8024290C 8E220000 */ lw $v0, ($s1) +/* BB0250 80242910 30420008 */ andi $v0, $v0, 8 +/* BB0254 80242914 10400003 */ beqz $v0, .L80242924 +/* BB0258 80242918 27A50020 */ addiu $a1, $sp, 0x20 +/* BB025C 8024291C 13C00019 */ beqz $fp, .L80242984 +/* BB0260 80242920 00000000 */ nop +.L80242924: +/* BB0264 80242924 27A60024 */ addiu $a2, $sp, 0x24 +/* BB0268 80242928 27A20038 */ addiu $v0, $sp, 0x38 +/* BB026C 8024292C C6220038 */ lwc1 $f2, 0x38($s1) +/* BB0270 80242930 C620003C */ lwc1 $f0, 0x3c($s1) +/* BB0274 80242934 3C0143C8 */ lui $at, 0x43c8 +/* BB0278 80242938 44813000 */ mtc1 $at, $f6 +/* BB027C 8024293C 46000021 */ cvt.d.s $f0, $f0 +/* BB0280 80242940 E7A20020 */ swc1 $f2, 0x20($sp) +/* BB0284 80242944 3C018024 */ lui $at, 0x8024 +/* BB0288 80242948 D42254B8 */ ldc1 $f2, 0x54b8($at) +/* BB028C 8024294C C6240040 */ lwc1 $f4, 0x40($s1) +/* BB0290 80242950 46220000 */ add.d $f0, $f0, $f2 +/* BB0294 80242954 E7A60038 */ swc1 $f6, 0x38($sp) +/* BB0298 80242958 E7A40028 */ swc1 $f4, 0x28($sp) +/* BB029C 8024295C 46200020 */ cvt.s.d $f0, $f0 +/* BB02A0 80242960 E7A00024 */ swc1 $f0, 0x24($sp) +/* BB02A4 80242964 AFA20010 */ sw $v0, 0x10($sp) +/* BB02A8 80242968 8E240080 */ lw $a0, 0x80($s1) +/* BB02AC 8024296C 0C0372DF */ jal func_800DCB7C +/* BB02B0 80242970 27A70028 */ addiu $a3, $sp, 0x28 +/* BB02B4 80242974 10400003 */ beqz $v0, .L80242984 +/* BB02B8 80242978 00000000 */ nop +/* BB02BC 8024297C C7A00024 */ lwc1 $f0, 0x24($sp) +/* BB02C0 80242980 E620003C */ swc1 $f0, 0x3c($s1) +.L80242984: +/* BB02C4 80242984 C62C0038 */ lwc1 $f12, 0x38($s1) +/* BB02C8 80242988 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BB02CC 8024298C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BB02D0 80242990 C62E0040 */ lwc1 $f14, 0x40($s1) +/* BB02D4 80242994 8C460028 */ lw $a2, 0x28($v0) +/* BB02D8 80242998 0C00A720 */ jal atan2 +/* BB02DC 8024299C 8C470030 */ lw $a3, 0x30($v0) +/* BB02E0 802429A0 0220202D */ daddu $a0, $s1, $zero +/* BB02E4 802429A4 24050321 */ addiu $a1, $zero, 0x321 +/* BB02E8 802429A8 0000302D */ daddu $a2, $zero, $zero +/* BB02EC 802429AC 0C012530 */ jal func_800494C0 +/* BB02F0 802429B0 E620000C */ swc1 $f0, 0xc($s1) +/* BB02F4 802429B4 8EC200CC */ lw $v0, 0xcc($s6) +/* BB02F8 802429B8 8C420024 */ lw $v0, 0x24($v0) +/* BB02FC 802429BC AE220028 */ sw $v0, 0x28($s1) +/* BB0300 802429C0 96C20096 */ lhu $v0, 0x96($s6) +/* BB0304 802429C4 A622008E */ sh $v0, 0x8e($s1) +/* BB0308 802429C8 8FA80080 */ lw $t0, 0x80($sp) +/* BB030C 802429CC 2402000B */ addiu $v0, $zero, 0xb +/* BB0310 802429D0 AD020070 */ sw $v0, 0x70($t0) +.L802429D4: +/* BB0314 802429D4 8FBF0064 */ lw $ra, 0x64($sp) +/* BB0318 802429D8 8FBE0060 */ lw $fp, 0x60($sp) +/* BB031C 802429DC 8FB7005C */ lw $s7, 0x5c($sp) +/* BB0320 802429E0 8FB60058 */ lw $s6, 0x58($sp) +/* BB0324 802429E4 8FB50054 */ lw $s5, 0x54($sp) +/* BB0328 802429E8 8FB40050 */ lw $s4, 0x50($sp) +/* BB032C 802429EC 8FB3004C */ lw $s3, 0x4c($sp) +/* BB0330 802429F0 8FB20048 */ lw $s2, 0x48($sp) +/* BB0334 802429F4 8FB10044 */ lw $s1, 0x44($sp) +/* BB0338 802429F8 8FB00040 */ lw $s0, 0x40($sp) +/* BB033C 802429FC D7B80078 */ ldc1 $f24, 0x78($sp) +/* BB0340 80242A00 D7B60070 */ ldc1 $f22, 0x70($sp) +/* BB0344 80242A04 D7B40068 */ ldc1 $f20, 0x68($sp) +/* BB0348 80242A08 03E00008 */ jr $ra +/* BB034C 80242A0C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80242A10.s b/asm/nonmatchings/world/area_mim/mim_08/func_80242A10.s new file mode 100644 index 0000000000..be7dfe13f6 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80242A10.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A10 +/* BB0350 80242A10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BB0354 80242A14 AFB10014 */ sw $s1, 0x14($sp) +/* BB0358 80242A18 0080882D */ daddu $s1, $a0, $zero +/* BB035C 80242A1C AFBF0018 */ sw $ra, 0x18($sp) +/* BB0360 80242A20 AFB00010 */ sw $s0, 0x10($sp) +/* BB0364 80242A24 8E300148 */ lw $s0, 0x148($s1) +/* BB0368 80242A28 0C00EABB */ jal get_npc_unsafe +/* BB036C 80242A2C 86040008 */ lh $a0, 8($s0) +/* BB0370 80242A30 0040202D */ daddu $a0, $v0, $zero +/* BB0374 80242A34 9482008E */ lhu $v0, 0x8e($a0) +/* BB0378 80242A38 2442FFFF */ addiu $v0, $v0, -1 +/* BB037C 80242A3C A482008E */ sh $v0, 0x8e($a0) +/* BB0380 80242A40 00021400 */ sll $v0, $v0, 0x10 +/* BB0384 80242A44 8E030098 */ lw $v1, 0x98($s0) +/* BB0388 80242A48 00021403 */ sra $v0, $v0, 0x10 +/* BB038C 80242A4C 0062182A */ slt $v1, $v1, $v0 +/* BB0390 80242A50 14600005 */ bnez $v1, .L80242A68 +/* BB0394 80242A54 3C03E0EF */ lui $v1, 0xe0ef +/* BB0398 80242A58 8E020000 */ lw $v0, ($s0) +/* BB039C 80242A5C 3463FFFF */ ori $v1, $v1, 0xffff +/* BB03A0 80242A60 00431024 */ and $v0, $v0, $v1 +/* BB03A4 80242A64 AE020000 */ sw $v0, ($s0) +.L80242A68: +/* BB03A8 80242A68 8482008E */ lh $v0, 0x8e($a0) +/* BB03AC 80242A6C 14400007 */ bnez $v0, .L80242A8C +/* BB03B0 80242A70 00000000 */ nop +/* BB03B4 80242A74 8E0200CC */ lw $v0, 0xcc($s0) +/* BB03B8 80242A78 8C420028 */ lw $v0, 0x28($v0) +/* BB03BC 80242A7C A480008E */ sh $zero, 0x8e($a0) +/* BB03C0 80242A80 AC820028 */ sw $v0, 0x28($a0) +/* BB03C4 80242A84 2402000C */ addiu $v0, $zero, 0xc +/* BB03C8 80242A88 AE220070 */ sw $v0, 0x70($s1) +.L80242A8C: +/* BB03CC 80242A8C 8FBF0018 */ lw $ra, 0x18($sp) +/* BB03D0 80242A90 8FB10014 */ lw $s1, 0x14($sp) +/* BB03D4 80242A94 8FB00010 */ lw $s0, 0x10($sp) +/* BB03D8 80242A98 03E00008 */ jr $ra +/* BB03DC 80242A9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80242AA0.s b/asm/nonmatchings/world/area_mim/mim_08/func_80242AA0.s new file mode 100644 index 0000000000..caf582fa10 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80242AA0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AA0 +/* BB03E0 80242AA0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BB03E4 80242AA4 AFB10034 */ sw $s1, 0x34($sp) +/* BB03E8 80242AA8 0080882D */ daddu $s1, $a0, $zero +/* BB03EC 80242AAC AFBF0038 */ sw $ra, 0x38($sp) +/* BB03F0 80242AB0 AFB00030 */ sw $s0, 0x30($sp) +/* BB03F4 80242AB4 8E300148 */ lw $s0, 0x148($s1) +/* BB03F8 80242AB8 0C00EABB */ jal get_npc_unsafe +/* BB03FC 80242ABC 86040008 */ lh $a0, 8($s0) +/* BB0400 80242AC0 0040282D */ daddu $a1, $v0, $zero +/* BB0404 80242AC4 94A2008E */ lhu $v0, 0x8e($a1) +/* BB0408 80242AC8 24420001 */ addiu $v0, $v0, 1 +/* BB040C 80242ACC A4A2008E */ sh $v0, 0x8e($a1) +/* BB0410 80242AD0 00021400 */ sll $v0, $v0, 0x10 +/* BB0414 80242AD4 8E0300A0 */ lw $v1, 0xa0($s0) +/* BB0418 80242AD8 00021403 */ sra $v0, $v0, 0x10 +/* BB041C 80242ADC 14430004 */ bne $v0, $v1, .L80242AF0 +/* BB0420 80242AE0 00000000 */ nop +/* BB0424 80242AE4 8E0200CC */ lw $v0, 0xcc($s0) +/* BB0428 80242AE8 8C42002C */ lw $v0, 0x2c($v0) +/* BB042C 80242AEC ACA20028 */ sw $v0, 0x28($a1) +.L80242AF0: +/* BB0430 80242AF0 84A3008E */ lh $v1, 0x8e($a1) +/* BB0434 80242AF4 8E0200A4 */ lw $v0, 0xa4($s0) +/* BB0438 80242AF8 14620002 */ bne $v1, $v0, .L80242B04 +/* BB043C 80242AFC 24020003 */ addiu $v0, $zero, 3 +/* BB0440 80242B00 AE02006C */ sw $v0, 0x6c($s0) +.L80242B04: +/* BB0444 80242B04 84A2008E */ lh $v0, 0x8e($a1) +/* BB0448 80242B08 8E03009C */ lw $v1, 0x9c($s0) +/* BB044C 80242B0C 0043102A */ slt $v0, $v0, $v1 +/* BB0450 80242B10 1440001E */ bnez $v0, .L80242B8C +/* BB0454 80242B14 24020004 */ addiu $v0, $zero, 4 +/* BB0458 80242B18 AE02006C */ sw $v0, 0x6c($s0) +/* BB045C 80242B1C 24020008 */ addiu $v0, $zero, 8 +/* BB0460 80242B20 24040003 */ addiu $a0, $zero, 3 +/* BB0464 80242B24 A4A2008E */ sh $v0, 0x8e($a1) +/* BB0468 80242B28 8E0200CC */ lw $v0, 0xcc($s0) +/* BB046C 80242B2C 84A300A8 */ lh $v1, 0xa8($a1) +/* BB0470 80242B30 3C013F80 */ lui $at, 0x3f80 +/* BB0474 80242B34 44810000 */ mtc1 $at, $f0 +/* BB0478 80242B38 3C014000 */ lui $at, 0x4000 +/* BB047C 80242B3C 44811000 */ mtc1 $at, $f2 +/* BB0480 80242B40 3C01C1A0 */ lui $at, 0xc1a0 +/* BB0484 80242B44 44812000 */ mtc1 $at, $f4 +/* BB0488 80242B48 44833000 */ mtc1 $v1, $f6 +/* BB048C 80242B4C 00000000 */ nop +/* BB0490 80242B50 468031A0 */ cvt.s.w $f6, $f6 +/* BB0494 80242B54 8C420000 */ lw $v0, ($v0) +/* BB0498 80242B58 44073000 */ mfc1 $a3, $f6 +/* BB049C 80242B5C 0000302D */ daddu $a2, $zero, $zero +/* BB04A0 80242B60 ACA20028 */ sw $v0, 0x28($a1) +/* BB04A4 80242B64 2402000A */ addiu $v0, $zero, 0xa +/* BB04A8 80242B68 AFA2001C */ sw $v0, 0x1c($sp) +/* BB04AC 80242B6C 27A20028 */ addiu $v0, $sp, 0x28 +/* BB04B0 80242B70 E7A00010 */ swc1 $f0, 0x10($sp) +/* BB04B4 80242B74 E7A20014 */ swc1 $f2, 0x14($sp) +/* BB04B8 80242B78 E7A40018 */ swc1 $f4, 0x18($sp) +/* BB04BC 80242B7C 0C01BFA4 */ jal fx_emote +/* BB04C0 80242B80 AFA20020 */ sw $v0, 0x20($sp) +/* BB04C4 80242B84 2402000D */ addiu $v0, $zero, 0xd +/* BB04C8 80242B88 AE220070 */ sw $v0, 0x70($s1) +.L80242B8C: +/* BB04CC 80242B8C 8FBF0038 */ lw $ra, 0x38($sp) +/* BB04D0 80242B90 8FB10034 */ lw $s1, 0x34($sp) +/* BB04D4 80242B94 8FB00030 */ lw $s0, 0x30($sp) +/* BB04D8 80242B98 03E00008 */ jr $ra +/* BB04DC 80242B9C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80242C00_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/func_80242C00_BAD940.s new file mode 100644 index 0000000000..1bf8c9bfc4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80242C00_BAD940.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C00_BB0540 +/* BB0540 80242C00 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BB0544 80242C04 AFB40040 */ sw $s4, 0x40($sp) +/* BB0548 80242C08 0080A02D */ daddu $s4, $a0, $zero +/* BB054C 80242C0C AFBF0044 */ sw $ra, 0x44($sp) +/* BB0550 80242C10 AFB3003C */ sw $s3, 0x3c($sp) +/* BB0554 80242C14 AFB20038 */ sw $s2, 0x38($sp) +/* BB0558 80242C18 AFB10034 */ sw $s1, 0x34($sp) +/* BB055C 80242C1C AFB00030 */ sw $s0, 0x30($sp) +/* BB0560 80242C20 8E910148 */ lw $s1, 0x148($s4) +/* BB0564 80242C24 00A0902D */ daddu $s2, $a1, $zero +/* BB0568 80242C28 86240008 */ lh $a0, 8($s1) +/* BB056C 80242C2C 0C00EABB */ jal get_npc_unsafe +/* BB0570 80242C30 00C0982D */ daddu $s3, $a2, $zero +/* BB0574 80242C34 0040802D */ daddu $s0, $v0, $zero +/* BB0578 80242C38 9602008E */ lhu $v0, 0x8e($s0) +/* BB057C 80242C3C 2442FFFF */ addiu $v0, $v0, -1 +/* BB0580 80242C40 A602008E */ sh $v0, 0x8e($s0) +/* BB0584 80242C44 00021400 */ sll $v0, $v0, 0x10 +/* BB0588 80242C48 14400020 */ bnez $v0, .L80242CCC +/* BB058C 80242C4C 0260202D */ daddu $a0, $s3, $zero +/* BB0590 80242C50 AFA00010 */ sw $zero, 0x10($sp) +/* BB0594 80242C54 8E46000C */ lw $a2, 0xc($s2) +/* BB0598 80242C58 8E470010 */ lw $a3, 0x10($s2) +/* BB059C 80242C5C 0C01242D */ jal func_800490B4 +/* BB05A0 80242C60 0220282D */ daddu $a1, $s1, $zero +/* BB05A4 80242C64 54400018 */ bnel $v0, $zero, .L80242CC8 +/* BB05A8 80242C68 A600008E */ sh $zero, 0x8e($s0) +/* BB05AC 80242C6C 24040002 */ addiu $a0, $zero, 2 +/* BB05B0 80242C70 0200282D */ daddu $a1, $s0, $zero +/* BB05B4 80242C74 0000302D */ daddu $a2, $zero, $zero +/* BB05B8 80242C78 860300A8 */ lh $v1, 0xa8($s0) +/* BB05BC 80242C7C 3C013F80 */ lui $at, 0x3f80 +/* BB05C0 80242C80 44810000 */ mtc1 $at, $f0 +/* BB05C4 80242C84 3C014000 */ lui $at, 0x4000 +/* BB05C8 80242C88 44811000 */ mtc1 $at, $f2 +/* BB05CC 80242C8C 3C01C1A0 */ lui $at, 0xc1a0 +/* BB05D0 80242C90 44812000 */ mtc1 $at, $f4 +/* BB05D4 80242C94 2402000F */ addiu $v0, $zero, 0xf +/* BB05D8 80242C98 AFA2001C */ sw $v0, 0x1c($sp) +/* BB05DC 80242C9C 44833000 */ mtc1 $v1, $f6 +/* BB05E0 80242CA0 00000000 */ nop +/* BB05E4 80242CA4 468031A0 */ cvt.s.w $f6, $f6 +/* BB05E8 80242CA8 44073000 */ mfc1 $a3, $f6 +/* BB05EC 80242CAC 27A20028 */ addiu $v0, $sp, 0x28 +/* BB05F0 80242CB0 AFA20020 */ sw $v0, 0x20($sp) +/* BB05F4 80242CB4 E7A00010 */ swc1 $f0, 0x10($sp) +/* BB05F8 80242CB8 E7A20014 */ swc1 $f2, 0x14($sp) +/* BB05FC 80242CBC 0C01BFA4 */ jal fx_emote +/* BB0600 80242CC0 E7A40018 */ swc1 $f4, 0x18($sp) +/* BB0604 80242CC4 A600008E */ sh $zero, 0x8e($s0) +.L80242CC8: +/* BB0608 80242CC8 AE800070 */ sw $zero, 0x70($s4) +.L80242CCC: +/* BB060C 80242CCC 8FBF0044 */ lw $ra, 0x44($sp) +/* BB0610 80242CD0 8FB40040 */ lw $s4, 0x40($sp) +/* BB0614 80242CD4 8FB3003C */ lw $s3, 0x3c($sp) +/* BB0618 80242CD8 8FB20038 */ lw $s2, 0x38($sp) +/* BB061C 80242CDC 8FB10034 */ lw $s1, 0x34($sp) +/* BB0620 80242CE0 8FB00030 */ lw $s0, 0x30($sp) +/* BB0624 80242CE4 03E00008 */ jr $ra +/* BB0628 80242CE8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_08/func_80242CEC.s b/asm/nonmatchings/world/area_mim/mim_08/func_80242CEC.s new file mode 100644 index 0000000000..d1a540a60a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/func_80242CEC.s @@ -0,0 +1,166 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CEC +/* BB062C 80242CEC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BB0630 80242CF0 AFB20038 */ sw $s2, 0x38($sp) +/* BB0634 80242CF4 0080902D */ daddu $s2, $a0, $zero +/* BB0638 80242CF8 AFBF0048 */ sw $ra, 0x48($sp) +/* BB063C 80242CFC AFB50044 */ sw $s5, 0x44($sp) +/* BB0640 80242D00 AFB40040 */ sw $s4, 0x40($sp) +/* BB0644 80242D04 AFB3003C */ sw $s3, 0x3c($sp) +/* BB0648 80242D08 AFB10034 */ sw $s1, 0x34($sp) +/* BB064C 80242D0C AFB00030 */ sw $s0, 0x30($sp) +/* BB0650 80242D10 8E510148 */ lw $s1, 0x148($s2) +/* BB0654 80242D14 86240008 */ lh $a0, 8($s1) +/* BB0658 80242D18 0C00EABB */ jal get_npc_unsafe +/* BB065C 80242D1C 00A0802D */ daddu $s0, $a1, $zero +/* BB0660 80242D20 8E43000C */ lw $v1, 0xc($s2) +/* BB0664 80242D24 0240202D */ daddu $a0, $s2, $zero +/* BB0668 80242D28 8C650000 */ lw $a1, ($v1) +/* BB066C 80242D2C 0C0B1EAF */ jal get_variable +/* BB0670 80242D30 0040A82D */ daddu $s5, $v0, $zero +/* BB0674 80242D34 AFA00010 */ sw $zero, 0x10($sp) +/* BB0678 80242D38 8E2300D0 */ lw $v1, 0xd0($s1) +/* BB067C 80242D3C 8C630030 */ lw $v1, 0x30($v1) +/* BB0680 80242D40 AFA30014 */ sw $v1, 0x14($sp) +/* BB0684 80242D44 8E2300D0 */ lw $v1, 0xd0($s1) +/* BB0688 80242D48 8C63001C */ lw $v1, 0x1c($v1) +/* BB068C 80242D4C AFA30018 */ sw $v1, 0x18($sp) +/* BB0690 80242D50 8E2300D0 */ lw $v1, 0xd0($s1) +/* BB0694 80242D54 8C630024 */ lw $v1, 0x24($v1) +/* BB0698 80242D58 AFA3001C */ sw $v1, 0x1c($sp) +/* BB069C 80242D5C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BB06A0 80242D60 8C630028 */ lw $v1, 0x28($v1) +/* BB06A4 80242D64 27B40010 */ addiu $s4, $sp, 0x10 +/* BB06A8 80242D68 AFA30020 */ sw $v1, 0x20($sp) +/* BB06AC 80242D6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* BB06B0 80242D70 3C014348 */ lui $at, 0x4348 +/* BB06B4 80242D74 44810000 */ mtc1 $at, $f0 +/* BB06B8 80242D78 8C63002C */ lw $v1, 0x2c($v1) +/* BB06BC 80242D7C 0040982D */ daddu $s3, $v0, $zero +/* BB06C0 80242D80 E7A00028 */ swc1 $f0, 0x28($sp) +/* BB06C4 80242D84 A7A0002C */ sh $zero, 0x2c($sp) +/* BB06C8 80242D88 16000005 */ bnez $s0, .L80242DA0 +/* BB06CC 80242D8C AFA30024 */ sw $v1, 0x24($sp) +/* BB06D0 80242D90 8E2200B0 */ lw $v0, 0xb0($s1) +/* BB06D4 80242D94 30420004 */ andi $v0, $v0, 4 +/* BB06D8 80242D98 10400011 */ beqz $v0, .L80242DE0 +/* BB06DC 80242D9C 00000000 */ nop +.L80242DA0: +/* BB06E0 80242DA0 AE400070 */ sw $zero, 0x70($s2) +/* BB06E4 80242DA4 A6A0008E */ sh $zero, 0x8e($s5) +/* BB06E8 80242DA8 8E2200CC */ lw $v0, 0xcc($s1) +/* BB06EC 80242DAC 8C420000 */ lw $v0, ($v0) +/* BB06F0 80242DB0 AEA20028 */ sw $v0, 0x28($s5) +/* BB06F4 80242DB4 8E2200B0 */ lw $v0, 0xb0($s1) +/* BB06F8 80242DB8 30420004 */ andi $v0, $v0, 4 +/* BB06FC 80242DBC 10400008 */ beqz $v0, .L80242DE0 +/* BB0700 80242DC0 AE20006C */ sw $zero, 0x6c($s1) +/* BB0704 80242DC4 24020063 */ addiu $v0, $zero, 0x63 +/* BB0708 80242DC8 AE420070 */ sw $v0, 0x70($s2) +/* BB070C 80242DCC AE400074 */ sw $zero, 0x74($s2) +/* BB0710 80242DD0 8E2200B0 */ lw $v0, 0xb0($s1) +/* BB0714 80242DD4 2403FFFB */ addiu $v1, $zero, -5 +/* BB0718 80242DD8 00431024 */ and $v0, $v0, $v1 +/* BB071C 80242DDC AE2200B0 */ sw $v0, 0xb0($s1) +.L80242DE0: +/* BB0720 80242DE0 8E430070 */ lw $v1, 0x70($s2) +/* BB0724 80242DE4 2410000B */ addiu $s0, $zero, 0xb +/* BB0728 80242DE8 1070002A */ beq $v1, $s0, .L80242E94 +/* BB072C 80242DEC 2862000C */ slti $v0, $v1, 0xc +/* BB0730 80242DF0 1040000D */ beqz $v0, .L80242E28 +/* BB0734 80242DF4 24020001 */ addiu $v0, $zero, 1 +/* BB0738 80242DF8 1062001A */ beq $v1, $v0, .L80242E64 +/* BB073C 80242DFC 28620002 */ slti $v0, $v1, 2 +/* BB0740 80242E00 10400005 */ beqz $v0, .L80242E18 +/* BB0744 80242E04 2402000A */ addiu $v0, $zero, 0xa +/* BB0748 80242E08 10600013 */ beqz $v1, .L80242E58 +/* BB074C 80242E0C 0240202D */ daddu $a0, $s2, $zero +/* BB0750 80242E10 08090BC5 */ j .L80242F14 +/* BB0754 80242E14 00000000 */ nop +.L80242E18: +/* BB0758 80242E18 10620018 */ beq $v1, $v0, .L80242E7C +/* BB075C 80242E1C 0240202D */ daddu $a0, $s2, $zero +/* BB0760 80242E20 08090BC5 */ j .L80242F14 +/* BB0764 80242E24 00000000 */ nop +.L80242E28: +/* BB0768 80242E28 2402000D */ addiu $v0, $zero, 0xd +/* BB076C 80242E2C 10620029 */ beq $v1, $v0, .L80242ED4 +/* BB0770 80242E30 0062102A */ slt $v0, $v1, $v0 +/* BB0774 80242E34 14400020 */ bnez $v0, .L80242EB8 +/* BB0778 80242E38 0240202D */ daddu $a0, $s2, $zero +/* BB077C 80242E3C 2402000E */ addiu $v0, $zero, 0xe +/* BB0780 80242E40 1062002D */ beq $v1, $v0, .L80242EF8 +/* BB0784 80242E44 24020063 */ addiu $v0, $zero, 0x63 +/* BB0788 80242E48 10620030 */ beq $v1, $v0, .L80242F0C +/* BB078C 80242E4C 00000000 */ nop +/* BB0790 80242E50 08090BC5 */ j .L80242F14 +/* BB0794 80242E54 00000000 */ nop +.L80242E58: +/* BB0798 80242E58 0260282D */ daddu $a1, $s3, $zero +/* BB079C 80242E5C 0C09079A */ jal func_80241E68 +/* BB07A0 80242E60 0280302D */ daddu $a2, $s4, $zero +.L80242E64: +/* BB07A4 80242E64 0240202D */ daddu $a0, $s2, $zero +/* BB07A8 80242E68 0260282D */ daddu $a1, $s3, $zero +/* BB07AC 80242E6C 0C0907B5 */ jal func_80241ED4 +/* BB07B0 80242E70 0280302D */ daddu $a2, $s4, $zero +/* BB07B4 80242E74 08090BC5 */ j .L80242F14 +/* BB07B8 80242E78 00000000 */ nop +.L80242E7C: +/* BB07BC 80242E7C 0260282D */ daddu $a1, $s3, $zero +/* BB07C0 80242E80 0C0907F4 */ jal func_80241FD0 +/* BB07C4 80242E84 0280302D */ daddu $a2, $s4, $zero +/* BB07C8 80242E88 8E420070 */ lw $v0, 0x70($s2) +/* BB07CC 80242E8C 14500021 */ bne $v0, $s0, .L80242F14 +/* BB07D0 80242E90 00000000 */ nop +.L80242E94: +/* BB07D4 80242E94 0240202D */ daddu $a0, $s2, $zero +/* BB07D8 80242E98 0260282D */ daddu $a1, $s3, $zero +/* BB07DC 80242E9C 0C090A84 */ jal func_80242A10 +/* BB07E0 80242EA0 0280302D */ daddu $a2, $s4, $zero +/* BB07E4 80242EA4 8E430070 */ lw $v1, 0x70($s2) +/* BB07E8 80242EA8 2402000C */ addiu $v0, $zero, 0xc +/* BB07EC 80242EAC 14620019 */ bne $v1, $v0, .L80242F14 +/* BB07F0 80242EB0 00000000 */ nop +/* BB07F4 80242EB4 0240202D */ daddu $a0, $s2, $zero +.L80242EB8: +/* BB07F8 80242EB8 0260282D */ daddu $a1, $s3, $zero +/* BB07FC 80242EBC 0C090AA8 */ jal func_80242AA0 +/* BB0800 80242EC0 0280302D */ daddu $a2, $s4, $zero +/* BB0804 80242EC4 8E430070 */ lw $v1, 0x70($s2) +/* BB0808 80242EC8 2402000D */ addiu $v0, $zero, 0xd +/* BB080C 80242ECC 14620011 */ bne $v1, $v0, .L80242F14 +/* BB0810 80242ED0 00000000 */ nop +.L80242ED4: +/* BB0814 80242ED4 0240202D */ daddu $a0, $s2, $zero +/* BB0818 80242ED8 0260282D */ daddu $a1, $s3, $zero +/* BB081C 80242EDC 0C090AE8 */ jal pause_set_cursor_opacity +/* BB0820 80242EE0 0280302D */ daddu $a2, $s4, $zero +/* BB0824 80242EE4 8E430070 */ lw $v1, 0x70($s2) +/* BB0828 80242EE8 2402000E */ addiu $v0, $zero, 0xe +/* BB082C 80242EEC 14620009 */ bne $v1, $v0, .L80242F14 +/* BB0830 80242EF0 00000000 */ nop +/* BB0834 80242EF4 0240202D */ daddu $a0, $s2, $zero +.L80242EF8: +/* BB0838 80242EF8 0260282D */ daddu $a1, $s3, $zero +/* BB083C 80242EFC 0C090B00 */ jal func_80242C00 +/* BB0840 80242F00 0280302D */ daddu $a2, $s4, $zero +/* BB0844 80242F04 08090BC5 */ j .L80242F14 +/* BB0848 80242F08 00000000 */ nop +.L80242F0C: +/* BB084C 80242F0C 0C0129CF */ jal func_8004A73C +/* BB0850 80242F10 0240202D */ daddu $a0, $s2, $zero +.L80242F14: +/* BB0854 80242F14 8FBF0048 */ lw $ra, 0x48($sp) +/* BB0858 80242F18 8FB50044 */ lw $s5, 0x44($sp) +/* BB085C 80242F1C 8FB40040 */ lw $s4, 0x40($sp) +/* BB0860 80242F20 8FB3003C */ lw $s3, 0x3c($sp) +/* BB0864 80242F24 8FB20038 */ lw $s2, 0x38($sp) +/* BB0868 80242F28 8FB10034 */ lw $s1, 0x34($sp) +/* BB086C 80242F2C 8FB00030 */ lw $s0, 0x30($sp) +/* BB0870 80242F30 0000102D */ daddu $v0, $zero, $zero +/* BB0874 80242F34 03E00008 */ jr $ra +/* BB0878 80242F38 27BD0050 */ addiu $sp, $sp, 0x50 +/* BB087C 80242F3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_08/pause_set_cursor_opacity_BAD940.s b/asm/nonmatchings/world/area_mim/mim_08/pause_set_cursor_opacity_BAD940.s new file mode 100644 index 0000000000..9e24c75af3 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_08/pause_set_cursor_opacity_BAD940.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_set_cursor_opacity_BB04E0 +/* BB04E0 80242BA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BB04E4 80242BA4 AFB10014 */ sw $s1, 0x14($sp) +/* BB04E8 80242BA8 0080882D */ daddu $s1, $a0, $zero +/* BB04EC 80242BAC AFBF0018 */ sw $ra, 0x18($sp) +/* BB04F0 80242BB0 AFB00010 */ sw $s0, 0x10($sp) +/* BB04F4 80242BB4 8E300148 */ lw $s0, 0x148($s1) +/* BB04F8 80242BB8 0C00EABB */ jal get_npc_unsafe +/* BB04FC 80242BBC 86040008 */ lh $a0, 8($s0) +/* BB0500 80242BC0 0040182D */ daddu $v1, $v0, $zero +/* BB0504 80242BC4 9462008E */ lhu $v0, 0x8e($v1) +/* BB0508 80242BC8 2442FFFF */ addiu $v0, $v0, -1 +/* BB050C 80242BCC A462008E */ sh $v0, 0x8e($v1) +/* BB0510 80242BD0 00021400 */ sll $v0, $v0, 0x10 +/* BB0514 80242BD4 14400005 */ bnez $v0, .L80242BEC +/* BB0518 80242BD8 00000000 */ nop +/* BB051C 80242BDC 960200AA */ lhu $v0, 0xaa($s0) +/* BB0520 80242BE0 A462008E */ sh $v0, 0x8e($v1) +/* BB0524 80242BE4 2402000E */ addiu $v0, $zero, 0xe +/* BB0528 80242BE8 AE220070 */ sw $v0, 0x70($s1) +.L80242BEC: +/* BB052C 80242BEC 8FBF0018 */ lw $ra, 0x18($sp) +/* BB0530 80242BF0 8FB10014 */ lw $s1, 0x14($sp) +/* BB0534 80242BF4 8FB00010 */ lw $s0, 0x10($sp) +/* BB0538 80242BF8 03E00008 */ jr $ra +/* BB053C 80242BFC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_80240000_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_80240000_BB2E00.s new file mode 100644 index 0000000000..e8b48d8d5e --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_80240000_BB2E00.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BB2E00 +/* BB2E00 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB2E04 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BB2E08 80240008 0C046ED4 */ jal enable_world_fog +/* BB2E0C 8024000C 00000000 */ nop +/* BB2E10 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BB2E14 80240014 0C046EDD */ jal set_world_fog_dist +/* BB2E18 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BB2E1C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BB2E20 80240020 0080282D */ daddu $a1, $a0, $zero +/* BB2E24 80240024 0080302D */ daddu $a2, $a0, $zero +/* BB2E28 80240028 0C046EE2 */ jal set_world_fog_color +/* BB2E2C 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BB2E30 80240030 0C048BFB */ jal enable_entity_fog +/* BB2E34 80240034 00000000 */ nop +/* BB2E38 80240038 240403DE */ addiu $a0, $zero, 0x3de +/* BB2E3C 8024003C 0C048C04 */ jal set_entity_fog_dist +/* BB2E40 80240040 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BB2E44 80240044 0000202D */ daddu $a0, $zero, $zero +/* BB2E48 80240048 0080282D */ daddu $a1, $a0, $zero +/* BB2E4C 8024004C 0080302D */ daddu $a2, $a0, $zero +/* BB2E50 80240050 0C048C0A */ jal set_entity_fog_color +/* BB2E54 80240054 240700FF */ addiu $a3, $zero, 0xff +/* BB2E58 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* BB2E5C 8024005C 24020002 */ addiu $v0, $zero, 2 +/* BB2E60 80240060 03E00008 */ jr $ra +/* BB2E64 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_80240068_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_80240068_BB2E00.s new file mode 100644 index 0000000000..ea475967bc --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_80240068_BB2E00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_BB2E68 +/* BB2E68 80240068 44806000 */ mtc1 $zero, $f12 +/* BB2E6C 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB2E70 80240070 AFB00010 */ sw $s0, 0x10($sp) +/* BB2E74 80240074 0080802D */ daddu $s0, $a0, $zero +/* BB2E78 80240078 AFBF0014 */ sw $ra, 0x14($sp) +/* BB2E7C 8024007C 0C038022 */ jal func_800E0088 +/* BB2E80 80240080 46006386 */ mov.s $f14, $f12 +/* BB2E84 80240084 4600008D */ trunc.w.s $f2, $f0 +/* BB2E88 80240088 E6020084 */ swc1 $f2, 0x84($s0) +/* BB2E8C 8024008C 8FBF0014 */ lw $ra, 0x14($sp) +/* BB2E90 80240090 8FB00010 */ lw $s0, 0x10($sp) +/* BB2E94 80240094 24020002 */ addiu $v0, $zero, 2 +/* BB2E98 80240098 03E00008 */ jr $ra +/* BB2E9C 8024009C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_802400A0_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_802400A0_BB2E00.s new file mode 100644 index 0000000000..4ec0106909 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_802400A0_BB2E00.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_BB2EA0 +/* BB2EA0 802400A0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* BB2EA4 802400A4 AFB00030 */ sw $s0, 0x30($sp) +/* BB2EA8 802400A8 0080802D */ daddu $s0, $a0, $zero +/* BB2EAC 802400AC AFBF0040 */ sw $ra, 0x40($sp) +/* BB2EB0 802400B0 AFB3003C */ sw $s3, 0x3c($sp) +/* BB2EB4 802400B4 AFB20038 */ sw $s2, 0x38($sp) +/* BB2EB8 802400B8 AFB10034 */ sw $s1, 0x34($sp) +/* BB2EBC 802400BC F7B60050 */ sdc1 $f22, 0x50($sp) +/* BB2EC0 802400C0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* BB2EC4 802400C4 8E130148 */ lw $s3, 0x148($s0) +/* BB2EC8 802400C8 00A0882D */ daddu $s1, $a1, $zero +/* BB2ECC 802400CC 86640008 */ lh $a0, 8($s3) +/* BB2ED0 802400D0 0C00EABB */ jal get_npc_unsafe +/* BB2ED4 802400D4 00C0902D */ daddu $s2, $a2, $zero +/* BB2ED8 802400D8 0200202D */ daddu $a0, $s0, $zero +/* BB2EDC 802400DC 0220282D */ daddu $a1, $s1, $zero +/* BB2EE0 802400E0 0240302D */ daddu $a2, $s2, $zero +/* BB2EE4 802400E4 0C012568 */ jal func_800495A0 +/* BB2EE8 802400E8 0040802D */ daddu $s0, $v0, $zero +/* BB2EEC 802400EC 8E020000 */ lw $v0, ($s0) +/* BB2EF0 802400F0 2404002D */ addiu $a0, $zero, 0x2d +/* BB2EF4 802400F4 34420800 */ ori $v0, $v0, 0x800 +/* BB2EF8 802400F8 0C00A67F */ jal rand_int +/* BB2EFC 802400FC AE020000 */ sw $v0, ($s0) +/* BB2F00 80240100 0200202D */ daddu $a0, $s0, $zero +/* BB2F04 80240104 3C05B000 */ lui $a1, 0xb000 +/* BB2F08 80240108 34A50017 */ ori $a1, $a1, 0x17 +/* BB2F0C 8024010C 44820000 */ mtc1 $v0, $f0 +/* BB2F10 80240110 00000000 */ nop +/* BB2F14 80240114 46800021 */ cvt.d.w $f0, $f0 +/* BB2F18 80240118 3C014024 */ lui $at, 0x4024 +/* BB2F1C 8024011C 44811800 */ mtc1 $at, $f3 +/* BB2F20 80240120 44801000 */ mtc1 $zero, $f2 +/* BB2F24 80240124 3C014020 */ lui $at, 0x4020 +/* BB2F28 80240128 44812800 */ mtc1 $at, $f5 +/* BB2F2C 8024012C 44802000 */ mtc1 $zero, $f4 +/* BB2F30 80240130 46220003 */ div.d $f0, $f0, $f2 +/* BB2F34 80240134 46240000 */ add.d $f0, $f0, $f4 +/* BB2F38 80240138 3C013FC0 */ lui $at, 0x3fc0 +/* BB2F3C 8024013C 44811000 */ mtc1 $at, $f2 +/* BB2F40 80240140 0000302D */ daddu $a2, $zero, $zero +/* BB2F44 80240144 E6020014 */ swc1 $f2, 0x14($s0) +/* BB2F48 80240148 46200020 */ cvt.s.d $f0, $f0 +/* BB2F4C 8024014C 0C012530 */ jal func_800494C0 +/* BB2F50 80240150 E600001C */ swc1 $f0, 0x1c($s0) +/* BB2F54 80240154 8E6300D0 */ lw $v1, 0xd0($s3) +/* BB2F58 80240158 C6000040 */ lwc1 $f0, 0x40($s0) +/* BB2F5C 8024015C C4620000 */ lwc1 $f2, ($v1) +/* BB2F60 80240160 468010A0 */ cvt.s.w $f2, $f2 +/* BB2F64 80240164 C4640008 */ lwc1 $f4, 8($v1) +/* BB2F68 80240168 46802120 */ cvt.s.w $f4, $f4 +/* BB2F6C 8024016C E7A00010 */ swc1 $f0, 0x10($sp) +/* BB2F70 80240170 8E6200D0 */ lw $v0, 0xd0($s3) +/* BB2F74 80240174 44051000 */ mfc1 $a1, $f2 +/* BB2F78 80240178 C440000C */ lwc1 $f0, 0xc($v0) +/* BB2F7C 8024017C 46800020 */ cvt.s.w $f0, $f0 +/* BB2F80 80240180 E7A00014 */ swc1 $f0, 0x14($sp) +/* BB2F84 80240184 8E6200D0 */ lw $v0, 0xd0($s3) +/* BB2F88 80240188 44062000 */ mfc1 $a2, $f4 +/* BB2F8C 8024018C C4400010 */ lwc1 $f0, 0x10($v0) +/* BB2F90 80240190 46800020 */ cvt.s.w $f0, $f0 +/* BB2F94 80240194 E7A00018 */ swc1 $f0, 0x18($sp) +/* BB2F98 80240198 8C640018 */ lw $a0, 0x18($v1) +/* BB2F9C 8024019C 0C0123F5 */ jal is_point_within_region +/* BB2FA0 802401A0 8E070038 */ lw $a3, 0x38($s0) +/* BB2FA4 802401A4 10400035 */ beqz $v0, .L8024027C +/* BB2FA8 802401A8 00000000 */ nop +/* BB2FAC 802401AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* BB2FB0 802401B0 3C0141C8 */ lui $at, 0x41c8 +/* BB2FB4 802401B4 4481B000 */ mtc1 $at, $f22 +/* BB2FB8 802401B8 8E6200D0 */ lw $v0, 0xd0($s3) +/* BB2FBC 802401BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* BB2FC0 802401C0 C4480000 */ lwc1 $f8, ($v0) +/* BB2FC4 802401C4 46804220 */ cvt.s.w $f8, $f8 +/* BB2FC8 802401C8 44064000 */ mfc1 $a2, $f8 +/* BB2FCC 802401CC C4480008 */ lwc1 $f8, 8($v0) +/* BB2FD0 802401D0 46804220 */ cvt.s.w $f8, $f8 +/* BB2FD4 802401D4 44074000 */ mfc1 $a3, $f8 +/* BB2FD8 802401D8 3C01403E */ lui $at, 0x403e +/* BB2FDC 802401DC 4481A800 */ mtc1 $at, $f21 +/* BB2FE0 802401E0 4480A000 */ mtc1 $zero, $f20 +/* BB2FE4 802401E4 0C00A720 */ jal atan2 +/* BB2FE8 802401E8 0000882D */ daddu $s1, $zero, $zero +/* BB2FEC 802401EC C6020038 */ lwc1 $f2, 0x38($s0) +/* BB2FF0 802401F0 C604003C */ lwc1 $f4, 0x3c($s0) +/* BB2FF4 802401F4 C6060040 */ lwc1 $f6, 0x40($s0) +/* BB2FF8 802401F8 E600000C */ swc1 $f0, 0xc($s0) +/* BB2FFC 802401FC E7A20020 */ swc1 $f2, 0x20($sp) +/* BB3000 80240200 E7A40024 */ swc1 $f4, 0x24($sp) +/* BB3004 80240204 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240208: +/* BB3008 80240208 E7B60010 */ swc1 $f22, 0x10($sp) +/* BB300C 8024020C C600000C */ lwc1 $f0, 0xc($s0) +/* BB3010 80240210 E7A00014 */ swc1 $f0, 0x14($sp) +/* BB3014 80240214 860200A8 */ lh $v0, 0xa8($s0) +/* BB3018 80240218 27A50020 */ addiu $a1, $sp, 0x20 +/* BB301C 8024021C 44820000 */ mtc1 $v0, $f0 +/* BB3020 80240220 00000000 */ nop +/* BB3024 80240224 46800020 */ cvt.s.w $f0, $f0 +/* BB3028 80240228 E7A00018 */ swc1 $f0, 0x18($sp) +/* BB302C 8024022C 860200A6 */ lh $v0, 0xa6($s0) +/* BB3030 80240230 27A60024 */ addiu $a2, $sp, 0x24 +/* BB3034 80240234 44820000 */ mtc1 $v0, $f0 +/* BB3038 80240238 00000000 */ nop +/* BB303C 8024023C 46800020 */ cvt.s.w $f0, $f0 +/* BB3040 80240240 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BB3044 80240244 8E040080 */ lw $a0, 0x80($s0) +/* BB3048 80240248 0C037711 */ jal func_800DDC44 +/* BB304C 8024024C 27A70028 */ addiu $a3, $sp, 0x28 +/* BB3050 80240250 10400016 */ beqz $v0, .L802402AC +/* BB3054 80240254 26310001 */ addiu $s1, $s1, 1 +/* BB3058 80240258 C600000C */ lwc1 $f0, 0xc($s0) +/* BB305C 8024025C 46000021 */ cvt.d.s $f0, $f0 +/* BB3060 80240260 46340000 */ add.d $f0, $f0, $f20 +/* BB3064 80240264 2A220006 */ slti $v0, $s1, 6 +/* BB3068 80240268 46200020 */ cvt.s.d $f0, $f0 +/* BB306C 8024026C 1440FFE6 */ bnez $v0, .L80240208 +/* BB3070 80240270 E600000C */ swc1 $f0, 0xc($s0) +/* BB3074 80240274 080900AB */ j .L802402AC +/* BB3078 80240278 00000000 */ nop +.L8024027C: +/* BB307C 8024027C 0C00A67F */ jal rand_int +/* BB3080 80240280 2404003C */ addiu $a0, $zero, 0x3c +/* BB3084 80240284 C60C000C */ lwc1 $f12, 0xc($s0) +/* BB3088 80240288 44820000 */ mtc1 $v0, $f0 +/* BB308C 8024028C 00000000 */ nop +/* BB3090 80240290 46800020 */ cvt.s.w $f0, $f0 +/* BB3094 80240294 46006300 */ add.s $f12, $f12, $f0 +/* BB3098 80240298 3C0141F0 */ lui $at, 0x41f0 +/* BB309C 8024029C 44810000 */ mtc1 $at, $f0 +/* BB30A0 802402A0 0C00A6C9 */ jal clamp_angle +/* BB30A4 802402A4 46006301 */ sub.s $f12, $f12, $f0 +/* BB30A8 802402A8 E600000C */ swc1 $f0, 0xc($s0) +.L802402AC: +/* BB30AC 802402AC 8FBF0040 */ lw $ra, 0x40($sp) +/* BB30B0 802402B0 8FB3003C */ lw $s3, 0x3c($sp) +/* BB30B4 802402B4 8FB20038 */ lw $s2, 0x38($sp) +/* BB30B8 802402B8 8FB10034 */ lw $s1, 0x34($sp) +/* BB30BC 802402BC 8FB00030 */ lw $s0, 0x30($sp) +/* BB30C0 802402C0 D7B60050 */ ldc1 $f22, 0x50($sp) +/* BB30C4 802402C4 D7B40048 */ ldc1 $f20, 0x48($sp) +/* BB30C8 802402C8 03E00008 */ jr $ra +/* BB30CC 802402CC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_802402D0_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_802402D0_BB2E00.s new file mode 100644 index 0000000000..4d837705a1 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_802402D0_BB2E00.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0_BB30D0 +/* BB30D0 802402D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* BB30D4 802402D4 AFB3004C */ sw $s3, 0x4c($sp) +/* BB30D8 802402D8 0080982D */ daddu $s3, $a0, $zero +/* BB30DC 802402DC AFBF0054 */ sw $ra, 0x54($sp) +/* BB30E0 802402E0 AFB40050 */ sw $s4, 0x50($sp) +/* BB30E4 802402E4 AFB20048 */ sw $s2, 0x48($sp) +/* BB30E8 802402E8 AFB10044 */ sw $s1, 0x44($sp) +/* BB30EC 802402EC AFB00040 */ sw $s0, 0x40($sp) +/* BB30F0 802402F0 F7B40058 */ sdc1 $f20, 0x58($sp) +/* BB30F4 802402F4 8E710148 */ lw $s1, 0x148($s3) +/* BB30F8 802402F8 00A0A02D */ daddu $s4, $a1, $zero +/* BB30FC 802402FC 86240008 */ lh $a0, 8($s1) +/* BB3100 80240300 0C00EABB */ jal get_npc_unsafe +/* BB3104 80240304 00C0902D */ daddu $s2, $a2, $zero +/* BB3108 80240308 8E830014 */ lw $v1, 0x14($s4) +/* BB310C 8024030C 04600034 */ bltz $v1, .L802403E0 +/* BB3110 80240310 0040802D */ daddu $s0, $v0, $zero +/* BB3114 80240314 8E620074 */ lw $v0, 0x74($s3) +/* BB3118 80240318 1C400030 */ bgtz $v0, .L802403DC +/* BB311C 8024031C 2442FFFF */ addiu $v0, $v0, -1 +/* BB3120 80240320 0240202D */ daddu $a0, $s2, $zero +/* BB3124 80240324 AE630074 */ sw $v1, 0x74($s3) +/* BB3128 80240328 AFA00010 */ sw $zero, 0x10($sp) +/* BB312C 8024032C 8E86000C */ lw $a2, 0xc($s4) +/* BB3130 80240330 8E870010 */ lw $a3, 0x10($s4) +/* BB3134 80240334 0C01242D */ jal func_800490B4 +/* BB3138 80240338 0220282D */ daddu $a1, $s1, $zero +/* BB313C 8024033C 10400025 */ beqz $v0, .L802403D4 +/* BB3140 80240340 0000202D */ daddu $a0, $zero, $zero +/* BB3144 80240344 0200282D */ daddu $a1, $s0, $zero +/* BB3148 80240348 0000302D */ daddu $a2, $zero, $zero +/* BB314C 8024034C 860300A8 */ lh $v1, 0xa8($s0) +/* BB3150 80240350 3C013F80 */ lui $at, 0x3f80 +/* BB3154 80240354 44810000 */ mtc1 $at, $f0 +/* BB3158 80240358 3C014000 */ lui $at, 0x4000 +/* BB315C 8024035C 44811000 */ mtc1 $at, $f2 +/* BB3160 80240360 3C01C1A0 */ lui $at, 0xc1a0 +/* BB3164 80240364 44812000 */ mtc1 $at, $f4 +/* BB3168 80240368 2402000F */ addiu $v0, $zero, 0xf +/* BB316C 8024036C AFA2001C */ sw $v0, 0x1c($sp) +/* BB3170 80240370 44835000 */ mtc1 $v1, $f10 +/* BB3174 80240374 00000000 */ nop +/* BB3178 80240378 468052A0 */ cvt.s.w $f10, $f10 +/* BB317C 8024037C 44075000 */ mfc1 $a3, $f10 +/* BB3180 80240380 27A20028 */ addiu $v0, $sp, 0x28 +/* BB3184 80240384 AFA20020 */ sw $v0, 0x20($sp) +/* BB3188 80240388 E7A00010 */ swc1 $f0, 0x10($sp) +/* BB318C 8024038C E7A20014 */ swc1 $f2, 0x14($sp) +/* BB3190 80240390 0C01BFA4 */ jal fx_emote +/* BB3194 80240394 E7A40018 */ swc1 $f4, 0x18($sp) +/* BB3198 80240398 0200202D */ daddu $a0, $s0, $zero +/* BB319C 8024039C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BB31A0 802403A0 0C012530 */ jal func_800494C0 +/* BB31A4 802403A4 3C060020 */ lui $a2, 0x20 +/* BB31A8 802403A8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BB31AC 802403AC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BB31B0 802403B0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BB31B4 802403B4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BB31B8 802403B8 8C460028 */ lw $a2, 0x28($v0) +/* BB31BC 802403BC 0C00A720 */ jal atan2 +/* BB31C0 802403C0 8C470030 */ lw $a3, 0x30($v0) +/* BB31C4 802403C4 2402000C */ addiu $v0, $zero, 0xc +/* BB31C8 802403C8 E600000C */ swc1 $f0, 0xc($s0) +/* BB31CC 802403CC 08090179 */ j .L802405E4 +/* BB31D0 802403D0 AE620070 */ sw $v0, 0x70($s3) +.L802403D4: +/* BB31D4 802403D4 8E620074 */ lw $v0, 0x74($s3) +/* BB31D8 802403D8 2442FFFF */ addiu $v0, $v0, -1 +.L802403DC: +/* BB31DC 802403DC AE620074 */ sw $v0, 0x74($s3) +.L802403E0: +/* BB31E0 802403E0 C6000018 */ lwc1 $f0, 0x18($s0) +/* BB31E4 802403E4 44801000 */ mtc1 $zero, $f2 +/* BB31E8 802403E8 44801800 */ mtc1 $zero, $f3 +/* BB31EC 802403EC 46000021 */ cvt.d.s $f0, $f0 +/* BB31F0 802403F0 4620103C */ c.lt.d $f2, $f0 +/* BB31F4 802403F4 00000000 */ nop +/* BB31F8 802403F8 45000025 */ bc1f .L80240490 +/* BB31FC 802403FC 27A5002C */ addiu $a1, $sp, 0x2c +/* BB3200 80240400 C6000038 */ lwc1 $f0, 0x38($s0) +/* BB3204 80240404 860200A6 */ lh $v0, 0xa6($s0) +/* BB3208 80240408 3C018024 */ lui $at, 0x8024 +/* BB320C 8024040C D4222B90 */ ldc1 $f2, 0x2b90($at) +/* BB3210 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* BB3214 80240414 E7A0002C */ swc1 $f0, 0x2c($sp) +/* BB3218 80240418 44820000 */ mtc1 $v0, $f0 +/* BB321C 8024041C 00000000 */ nop +/* BB3220 80240420 46800020 */ cvt.s.w $f0, $f0 +/* BB3224 80240424 46000021 */ cvt.d.s $f0, $f0 +/* BB3228 80240428 C604003C */ lwc1 $f4, 0x3c($s0) +/* BB322C 8024042C C6060040 */ lwc1 $f6, 0x40($s0) +/* BB3230 80240430 C6080018 */ lwc1 $f8, 0x18($s0) +/* BB3234 80240434 860200A8 */ lh $v0, 0xa8($s0) +/* BB3238 80240438 46220002 */ mul.d $f0, $f0, $f2 +/* BB323C 8024043C 00000000 */ nop +/* BB3240 80240440 E7A40030 */ swc1 $f4, 0x30($sp) +/* BB3244 80240444 E7A60034 */ swc1 $f6, 0x34($sp) +/* BB3248 80240448 E7A80010 */ swc1 $f8, 0x10($sp) +/* BB324C 8024044C C604000C */ lwc1 $f4, 0xc($s0) +/* BB3250 80240450 44821000 */ mtc1 $v0, $f2 +/* BB3254 80240454 00000000 */ nop +/* BB3258 80240458 468010A0 */ cvt.s.w $f2, $f2 +/* BB325C 8024045C E7A20018 */ swc1 $f2, 0x18($sp) +/* BB3260 80240460 E7A40014 */ swc1 $f4, 0x14($sp) +/* BB3264 80240464 46200020 */ cvt.s.d $f0, $f0 +/* BB3268 80240468 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BB326C 8024046C 8E040080 */ lw $a0, 0x80($s0) +/* BB3270 80240470 0C037711 */ jal func_800DDC44 +/* BB3274 80240474 27A70034 */ addiu $a3, $sp, 0x34 +/* BB3278 80240478 54400005 */ bnel $v0, $zero, .L80240490 +/* BB327C 8024047C AE000018 */ sw $zero, 0x18($s0) +/* BB3280 80240480 8E050018 */ lw $a1, 0x18($s0) +/* BB3284 80240484 8E06000C */ lw $a2, 0xc($s0) +/* BB3288 80240488 0C00EA95 */ jal npc_move_heading +/* BB328C 8024048C 0200202D */ daddu $a0, $s0, $zero +.L80240490: +/* BB3290 80240490 C600001C */ lwc1 $f0, 0x1c($s0) +/* BB3294 80240494 44801000 */ mtc1 $zero, $f2 +/* BB3298 80240498 44801800 */ mtc1 $zero, $f3 +/* BB329C 8024049C 46000021 */ cvt.d.s $f0, $f0 +/* BB32A0 802404A0 4622003C */ c.lt.d $f0, $f2 +/* BB32A4 802404A4 00000000 */ nop +/* BB32A8 802404A8 45000047 */ bc1f .L802405C8 +/* BB32AC 802404AC 27A5002C */ addiu $a1, $sp, 0x2c +/* BB32B0 802404B0 27A60030 */ addiu $a2, $sp, 0x30 +/* BB32B4 802404B4 27A20038 */ addiu $v0, $sp, 0x38 +/* BB32B8 802404B8 C602003C */ lwc1 $f2, 0x3c($s0) +/* BB32BC 802404BC C6060038 */ lwc1 $f6, 0x38($s0) +/* BB32C0 802404C0 3C01402A */ lui $at, 0x402a +/* BB32C4 802404C4 4481A800 */ mtc1 $at, $f21 +/* BB32C8 802404C8 4480A000 */ mtc1 $zero, $f20 +/* BB32CC 802404CC 460010A1 */ cvt.d.s $f2, $f2 +/* BB32D0 802404D0 46341080 */ add.d $f2, $f2, $f20 +/* BB32D4 802404D4 C600001C */ lwc1 $f0, 0x1c($s0) +/* BB32D8 802404D8 C6040040 */ lwc1 $f4, 0x40($s0) +/* BB32DC 802404DC 46000005 */ abs.s $f0, $f0 +/* BB32E0 802404E0 E7A40034 */ swc1 $f4, 0x34($sp) +/* BB32E4 802404E4 3C014030 */ lui $at, 0x4030 +/* BB32E8 802404E8 44812800 */ mtc1 $at, $f5 +/* BB32EC 802404EC 44802000 */ mtc1 $zero, $f4 +/* BB32F0 802404F0 46000021 */ cvt.d.s $f0, $f0 +/* BB32F4 802404F4 E7A6002C */ swc1 $f6, 0x2c($sp) +/* BB32F8 802404F8 46240000 */ add.d $f0, $f0, $f4 +/* BB32FC 802404FC 462010A0 */ cvt.s.d $f2, $f2 +/* BB3300 80240500 E7A20030 */ swc1 $f2, 0x30($sp) +/* BB3304 80240504 46200020 */ cvt.s.d $f0, $f0 +/* BB3308 80240508 E7A00038 */ swc1 $f0, 0x38($sp) +/* BB330C 8024050C AFA20010 */ sw $v0, 0x10($sp) +/* BB3310 80240510 8E040080 */ lw $a0, 0x80($s0) +/* BB3314 80240514 0C0372DF */ jal func_800DCB7C +/* BB3318 80240518 27A70034 */ addiu $a3, $sp, 0x34 +/* BB331C 8024051C 1040002A */ beqz $v0, .L802405C8 +/* BB3320 80240520 00000000 */ nop +/* BB3324 80240524 C600001C */ lwc1 $f0, 0x1c($s0) +/* BB3328 80240528 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BB332C 8024052C 46000005 */ abs.s $f0, $f0 +/* BB3330 80240530 46000021 */ cvt.d.s $f0, $f0 +/* BB3334 80240534 46340000 */ add.d $f0, $f0, $f20 +/* BB3338 80240538 460010A1 */ cvt.d.s $f2, $f2 +/* BB333C 8024053C 4620103E */ c.le.d $f2, $f0 +/* BB3340 80240540 00000000 */ nop +/* BB3344 80240544 45000020 */ bc1f .L802405C8 +/* BB3348 80240548 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BB334C 8024054C C7A00030 */ lwc1 $f0, 0x30($sp) +/* BB3350 80240550 8E020000 */ lw $v0, ($s0) +/* BB3354 80240554 2403F7FF */ addiu $v1, $zero, -0x801 +/* BB3358 80240558 AE00001C */ sw $zero, 0x1c($s0) +/* BB335C 8024055C 00431024 */ and $v0, $v0, $v1 +/* BB3360 80240560 AE020000 */ sw $v0, ($s0) +/* BB3364 80240564 24020002 */ addiu $v0, $zero, 2 +/* BB3368 80240568 E600003C */ swc1 $f0, 0x3c($s0) +/* BB336C 8024056C 0C00A67F */ jal rand_int +/* BB3370 80240570 AE620070 */ sw $v0, 0x70($s3) +/* BB3374 80240574 3C035555 */ lui $v1, 0x5555 +/* BB3378 80240578 34635556 */ ori $v1, $v1, 0x5556 +/* BB337C 8024057C 00430018 */ mult $v0, $v1 +/* BB3380 80240580 000227C3 */ sra $a0, $v0, 0x1f +/* BB3384 80240584 00004010 */ mfhi $t0 +/* BB3388 80240588 01042023 */ subu $a0, $t0, $a0 +/* BB338C 8024058C 00041840 */ sll $v1, $a0, 1 +/* BB3390 80240590 00641821 */ addu $v1, $v1, $a0 +/* BB3394 80240594 00431023 */ subu $v0, $v0, $v1 +/* BB3398 80240598 24430002 */ addiu $v1, $v0, 2 +/* BB339C 8024059C AE630074 */ sw $v1, 0x74($s3) +/* BB33A0 802405A0 8E82002C */ lw $v0, 0x2c($s4) +/* BB33A4 802405A4 5840000F */ blezl $v0, .L802405E4 +/* BB33A8 802405A8 AE600070 */ sw $zero, 0x70($s3) +/* BB33AC 802405AC 8E820004 */ lw $v0, 4($s4) +/* BB33B0 802405B0 5840000C */ blezl $v0, .L802405E4 +/* BB33B4 802405B4 AE600070 */ sw $zero, 0x70($s3) +/* BB33B8 802405B8 1460000A */ bnez $v1, .L802405E4 +/* BB33BC 802405BC 00000000 */ nop +/* BB33C0 802405C0 08090179 */ j .L802405E4 +/* BB33C4 802405C4 AE600070 */ sw $zero, 0x70($s3) +.L802405C8: +/* BB33C8 802405C8 C604003C */ lwc1 $f4, 0x3c($s0) +/* BB33CC 802405CC C600001C */ lwc1 $f0, 0x1c($s0) +/* BB33D0 802405D0 46002100 */ add.s $f4, $f4, $f0 +/* BB33D4 802405D4 C6020014 */ lwc1 $f2, 0x14($s0) +/* BB33D8 802405D8 46020001 */ sub.s $f0, $f0, $f2 +/* BB33DC 802405DC E604003C */ swc1 $f4, 0x3c($s0) +/* BB33E0 802405E0 E600001C */ swc1 $f0, 0x1c($s0) +.L802405E4: +/* BB33E4 802405E4 8FBF0054 */ lw $ra, 0x54($sp) +/* BB33E8 802405E8 8FB40050 */ lw $s4, 0x50($sp) +/* BB33EC 802405EC 8FB3004C */ lw $s3, 0x4c($sp) +/* BB33F0 802405F0 8FB20048 */ lw $s2, 0x48($sp) +/* BB33F4 802405F4 8FB10044 */ lw $s1, 0x44($sp) +/* BB33F8 802405F8 8FB00040 */ lw $s0, 0x40($sp) +/* BB33FC 802405FC D7B40058 */ ldc1 $f20, 0x58($sp) +/* BB3400 80240600 03E00008 */ jr $ra +/* BB3404 80240604 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_80240608.s b/asm/nonmatchings/world/area_mim/mim_09/func_80240608.s new file mode 100644 index 0000000000..b895ca6114 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_80240608.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240608 +/* BB3408 80240608 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BB340C 8024060C AFB3001C */ sw $s3, 0x1c($sp) +/* BB3410 80240610 0080982D */ daddu $s3, $a0, $zero +/* BB3414 80240614 AFBF0020 */ sw $ra, 0x20($sp) +/* BB3418 80240618 AFB20018 */ sw $s2, 0x18($sp) +/* BB341C 8024061C AFB10014 */ sw $s1, 0x14($sp) +/* BB3420 80240620 AFB00010 */ sw $s0, 0x10($sp) +/* BB3424 80240624 8E720148 */ lw $s2, 0x148($s3) +/* BB3428 80240628 86440008 */ lh $a0, 8($s2) +/* BB342C 8024062C 0C00EABB */ jal get_npc_unsafe +/* BB3430 80240630 00A0882D */ daddu $s1, $a1, $zero +/* BB3434 80240634 8E240008 */ lw $a0, 8($s1) +/* BB3438 80240638 0040802D */ daddu $s0, $v0, $zero +/* BB343C 8024063C 00041FC2 */ srl $v1, $a0, 0x1f +/* BB3440 80240640 00832021 */ addu $a0, $a0, $v1 +/* BB3444 80240644 00042043 */ sra $a0, $a0, 1 +/* BB3448 80240648 0C00A67F */ jal rand_int +/* BB344C 8024064C 24840001 */ addiu $a0, $a0, 1 +/* BB3450 80240650 8E230008 */ lw $v1, 8($s1) +/* BB3454 80240654 240400B4 */ addiu $a0, $zero, 0xb4 +/* BB3458 80240658 00032FC2 */ srl $a1, $v1, 0x1f +/* BB345C 8024065C 00651821 */ addu $v1, $v1, $a1 +/* BB3460 80240660 00031843 */ sra $v1, $v1, 1 +/* BB3464 80240664 00621821 */ addu $v1, $v1, $v0 +/* BB3468 80240668 0C00A67F */ jal rand_int +/* BB346C 8024066C A603008E */ sh $v1, 0x8e($s0) +/* BB3470 80240670 C60C000C */ lwc1 $f12, 0xc($s0) +/* BB3474 80240674 44820000 */ mtc1 $v0, $f0 +/* BB3478 80240678 00000000 */ nop +/* BB347C 8024067C 46800020 */ cvt.s.w $f0, $f0 +/* BB3480 80240680 46006300 */ add.s $f12, $f12, $f0 +/* BB3484 80240684 3C0142B4 */ lui $at, 0x42b4 +/* BB3488 80240688 44810000 */ mtc1 $at, $f0 +/* BB348C 8024068C 0C00A6C9 */ jal clamp_angle +/* BB3490 80240690 46006301 */ sub.s $f12, $f12, $f0 +/* BB3494 80240694 E600000C */ swc1 $f0, 0xc($s0) +/* BB3498 80240698 8E4200CC */ lw $v0, 0xcc($s2) +/* BB349C 8024069C 8C420000 */ lw $v0, ($v0) +/* BB34A0 802406A0 AE020028 */ sw $v0, 0x28($s0) +/* BB34A4 802406A4 24020003 */ addiu $v0, $zero, 3 +/* BB34A8 802406A8 AE620070 */ sw $v0, 0x70($s3) +/* BB34AC 802406AC 8FBF0020 */ lw $ra, 0x20($sp) +/* BB34B0 802406B0 8FB3001C */ lw $s3, 0x1c($sp) +/* BB34B4 802406B4 8FB20018 */ lw $s2, 0x18($sp) +/* BB34B8 802406B8 8FB10014 */ lw $s1, 0x14($sp) +/* BB34BC 802406BC 8FB00010 */ lw $s0, 0x10($sp) +/* BB34C0 802406C0 03E00008 */ jr $ra +/* BB34C4 802406C4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_802406C8_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_802406C8_BB2E00.s new file mode 100644 index 0000000000..c16362cc0d --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_802406C8_BB2E00.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C8_BB34C8 +/* BB34C8 802406C8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BB34CC 802406CC AFB40040 */ sw $s4, 0x40($sp) +/* BB34D0 802406D0 0080A02D */ daddu $s4, $a0, $zero +/* BB34D4 802406D4 AFBF0044 */ sw $ra, 0x44($sp) +/* BB34D8 802406D8 AFB3003C */ sw $s3, 0x3c($sp) +/* BB34DC 802406DC AFB20038 */ sw $s2, 0x38($sp) +/* BB34E0 802406E0 AFB10034 */ sw $s1, 0x34($sp) +/* BB34E4 802406E4 AFB00030 */ sw $s0, 0x30($sp) +/* BB34E8 802406E8 8E920148 */ lw $s2, 0x148($s4) +/* BB34EC 802406EC 00A0882D */ daddu $s1, $a1, $zero +/* BB34F0 802406F0 86440008 */ lh $a0, 8($s2) +/* BB34F4 802406F4 0C00EABB */ jal get_npc_unsafe +/* BB34F8 802406F8 00C0982D */ daddu $s3, $a2, $zero +/* BB34FC 802406FC 8E230014 */ lw $v1, 0x14($s1) +/* BB3500 80240700 0460002D */ bltz $v1, .L802407B8 +/* BB3504 80240704 0040802D */ daddu $s0, $v0, $zero +/* BB3508 80240708 0260202D */ daddu $a0, $s3, $zero +/* BB350C 8024070C AFA00010 */ sw $zero, 0x10($sp) +/* BB3510 80240710 8E260024 */ lw $a2, 0x24($s1) +/* BB3514 80240714 8E270028 */ lw $a3, 0x28($s1) +/* BB3518 80240718 0C01242D */ jal func_800490B4 +/* BB351C 8024071C 0240282D */ daddu $a1, $s2, $zero +/* BB3520 80240720 10400025 */ beqz $v0, .L802407B8 +/* BB3524 80240724 0000202D */ daddu $a0, $zero, $zero +/* BB3528 80240728 0200282D */ daddu $a1, $s0, $zero +/* BB352C 8024072C 0000302D */ daddu $a2, $zero, $zero +/* BB3530 80240730 860300A8 */ lh $v1, 0xa8($s0) +/* BB3534 80240734 3C013F80 */ lui $at, 0x3f80 +/* BB3538 80240738 44810000 */ mtc1 $at, $f0 +/* BB353C 8024073C 3C014000 */ lui $at, 0x4000 +/* BB3540 80240740 44811000 */ mtc1 $at, $f2 +/* BB3544 80240744 3C01C1A0 */ lui $at, 0xc1a0 +/* BB3548 80240748 44812000 */ mtc1 $at, $f4 +/* BB354C 8024074C 2402000F */ addiu $v0, $zero, 0xf +/* BB3550 80240750 AFA2001C */ sw $v0, 0x1c($sp) +/* BB3554 80240754 44833000 */ mtc1 $v1, $f6 +/* BB3558 80240758 00000000 */ nop +/* BB355C 8024075C 468031A0 */ cvt.s.w $f6, $f6 +/* BB3560 80240760 44073000 */ mfc1 $a3, $f6 +/* BB3564 80240764 27A20028 */ addiu $v0, $sp, 0x28 +/* BB3568 80240768 AFA20020 */ sw $v0, 0x20($sp) +/* BB356C 8024076C E7A00010 */ swc1 $f0, 0x10($sp) +/* BB3570 80240770 E7A20014 */ swc1 $f2, 0x14($sp) +/* BB3574 80240774 0C01BFA4 */ jal fx_emote +/* BB3578 80240778 E7A40018 */ swc1 $f4, 0x18($sp) +/* BB357C 8024077C 0200202D */ daddu $a0, $s0, $zero +/* BB3580 80240780 240502F4 */ addiu $a1, $zero, 0x2f4 +/* BB3584 80240784 0C012530 */ jal func_800494C0 +/* BB3588 80240788 3C060020 */ lui $a2, 0x20 +/* BB358C 8024078C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BB3590 80240790 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BB3594 80240794 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BB3598 80240798 C60E0040 */ lwc1 $f14, 0x40($s0) +/* BB359C 8024079C 8C460028 */ lw $a2, 0x28($v0) +/* BB35A0 802407A0 0C00A720 */ jal atan2 +/* BB35A4 802407A4 8C470030 */ lw $a3, 0x30($v0) +/* BB35A8 802407A8 2402000C */ addiu $v0, $zero, 0xc +/* BB35AC 802407AC E600000C */ swc1 $f0, 0xc($s0) +/* BB35B0 802407B0 08090213 */ j .L8024084C +/* BB35B4 802407B4 AE820070 */ sw $v0, 0x70($s4) +.L802407B8: +/* BB35B8 802407B8 8602008C */ lh $v0, 0x8c($s0) +/* BB35BC 802407BC 14400023 */ bnez $v0, .L8024084C +/* BB35C0 802407C0 00000000 */ nop +/* BB35C4 802407C4 9602008E */ lhu $v0, 0x8e($s0) +/* BB35C8 802407C8 2442FFFF */ addiu $v0, $v0, -1 +/* BB35CC 802407CC A602008E */ sh $v0, 0x8e($s0) +/* BB35D0 802407D0 00021400 */ sll $v0, $v0, 0x10 +/* BB35D4 802407D4 1C40001D */ bgtz $v0, .L8024084C +/* BB35D8 802407D8 00000000 */ nop +/* BB35DC 802407DC 8E820074 */ lw $v0, 0x74($s4) +/* BB35E0 802407E0 2442FFFF */ addiu $v0, $v0, -1 +/* BB35E4 802407E4 18400018 */ blez $v0, .L80240848 +/* BB35E8 802407E8 AE820074 */ sw $v0, 0x74($s4) +/* BB35EC 802407EC C600000C */ lwc1 $f0, 0xc($s0) +/* BB35F0 802407F0 3C014334 */ lui $at, 0x4334 +/* BB35F4 802407F4 44816000 */ mtc1 $at, $f12 +/* BB35F8 802407F8 0C00A6C9 */ jal clamp_angle +/* BB35FC 802407FC 460C0300 */ add.s $f12, $f0, $f12 +/* BB3600 80240800 240403E8 */ addiu $a0, $zero, 0x3e8 +/* BB3604 80240804 0C00A67F */ jal rand_int +/* BB3608 80240808 E600000C */ swc1 $f0, 0xc($s0) +/* BB360C 8024080C 3C032E8B */ lui $v1, 0x2e8b +/* BB3610 80240810 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BB3614 80240814 00430018 */ mult $v0, $v1 +/* BB3618 80240818 00021FC3 */ sra $v1, $v0, 0x1f +/* BB361C 8024081C 00004010 */ mfhi $t0 +/* BB3620 80240820 00082043 */ sra $a0, $t0, 1 +/* BB3624 80240824 00832023 */ subu $a0, $a0, $v1 +/* BB3628 80240828 00041840 */ sll $v1, $a0, 1 +/* BB362C 8024082C 00641821 */ addu $v1, $v1, $a0 +/* BB3630 80240830 00031880 */ sll $v1, $v1, 2 +/* BB3634 80240834 00641823 */ subu $v1, $v1, $a0 +/* BB3638 80240838 00431023 */ subu $v0, $v0, $v1 +/* BB363C 8024083C 24420005 */ addiu $v0, $v0, 5 +/* BB3640 80240840 08090213 */ j .L8024084C +/* BB3644 80240844 A602008E */ sh $v0, 0x8e($s0) +.L80240848: +/* BB3648 80240848 AE800070 */ sw $zero, 0x70($s4) +.L8024084C: +/* BB364C 8024084C 8FBF0044 */ lw $ra, 0x44($sp) +/* BB3650 80240850 8FB40040 */ lw $s4, 0x40($sp) +/* BB3654 80240854 8FB3003C */ lw $s3, 0x3c($sp) +/* BB3658 80240858 8FB20038 */ lw $s2, 0x38($sp) +/* BB365C 8024085C 8FB10034 */ lw $s1, 0x34($sp) +/* BB3660 80240860 8FB00030 */ lw $s0, 0x30($sp) +/* BB3664 80240864 03E00008 */ jr $ra +/* BB3668 80240868 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_8024086C_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_8024086C_BB2E00.s new file mode 100644 index 0000000000..f9c966c5a7 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_8024086C_BB2E00.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024086C_BB366C +/* BB366C 8024086C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BB3670 80240870 AFB10014 */ sw $s1, 0x14($sp) +/* BB3674 80240874 0080882D */ daddu $s1, $a0, $zero +/* BB3678 80240878 AFBF001C */ sw $ra, 0x1c($sp) +/* BB367C 8024087C AFB20018 */ sw $s2, 0x18($sp) +/* BB3680 80240880 AFB00010 */ sw $s0, 0x10($sp) +/* BB3684 80240884 8E220148 */ lw $v0, 0x148($s1) +/* BB3688 80240888 00A0902D */ daddu $s2, $a1, $zero +/* BB368C 8024088C 84440008 */ lh $a0, 8($v0) +/* BB3690 80240890 0C00EABB */ jal get_npc_unsafe +/* BB3694 80240894 00C0802D */ daddu $s0, $a2, $zero +/* BB3698 80240898 0220202D */ daddu $a0, $s1, $zero +/* BB369C 8024089C 0240282D */ daddu $a1, $s2, $zero +/* BB36A0 802408A0 0200302D */ daddu $a2, $s0, $zero +/* BB36A4 802408A4 0C0127DF */ jal func_80049F7C +/* BB36A8 802408A8 0040802D */ daddu $s0, $v0, $zero +/* BB36AC 802408AC 8E020000 */ lw $v0, ($s0) +/* BB36B0 802408B0 24040005 */ addiu $a0, $zero, 5 +/* BB36B4 802408B4 34420800 */ ori $v0, $v0, 0x800 +/* BB36B8 802408B8 0C00A67F */ jal rand_int +/* BB36BC 802408BC AE020000 */ sw $v0, ($s0) +/* BB36C0 802408C0 44820000 */ mtc1 $v0, $f0 +/* BB36C4 802408C4 00000000 */ nop +/* BB36C8 802408C8 46800021 */ cvt.d.w $f0, $f0 +/* BB36CC 802408CC 3C014024 */ lui $at, 0x4024 +/* BB36D0 802408D0 44811800 */ mtc1 $at, $f3 +/* BB36D4 802408D4 44801000 */ mtc1 $zero, $f2 +/* BB36D8 802408D8 3C013FC0 */ lui $at, 0x3fc0 +/* BB36DC 802408DC 44812000 */ mtc1 $at, $f4 +/* BB36E0 802408E0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BB36E4 802408E4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BB36E8 802408E8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BB36EC 802408EC C60E0040 */ lwc1 $f14, 0x40($s0) +/* BB36F0 802408F0 46220000 */ add.d $f0, $f0, $f2 +/* BB36F4 802408F4 E6040014 */ swc1 $f4, 0x14($s0) +/* BB36F8 802408F8 46200020 */ cvt.s.d $f0, $f0 +/* BB36FC 802408FC E600001C */ swc1 $f0, 0x1c($s0) +/* BB3700 80240900 8C460028 */ lw $a2, 0x28($v0) +/* BB3704 80240904 0C00A720 */ jal atan2 +/* BB3708 80240908 8C470030 */ lw $a3, 0x30($v0) +/* BB370C 8024090C 0200202D */ daddu $a0, $s0, $zero +/* BB3710 80240910 3C05B000 */ lui $a1, 0xb000 +/* BB3714 80240914 34A50017 */ ori $a1, $a1, 0x17 +/* BB3718 80240918 0000302D */ daddu $a2, $zero, $zero +/* BB371C 8024091C E480000C */ swc1 $f0, 0xc($a0) +/* BB3720 80240920 C6400018 */ lwc1 $f0, 0x18($s2) +/* BB3724 80240924 2402000D */ addiu $v0, $zero, 0xd +/* BB3728 80240928 E4800018 */ swc1 $f0, 0x18($a0) +/* BB372C 8024092C 0C012530 */ jal func_800494C0 +/* BB3730 80240930 AE220070 */ sw $v0, 0x70($s1) +/* BB3734 80240934 8FBF001C */ lw $ra, 0x1c($sp) +/* BB3738 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* BB373C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* BB3740 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* BB3744 80240944 03E00008 */ jr $ra +/* BB3748 80240948 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_8024094C_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_8024094C_BB2E00.s new file mode 100644 index 0000000000..3412692157 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_8024094C_BB2E00.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024094C_BB374C +/* BB374C 8024094C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* BB3750 80240950 AFB40050 */ sw $s4, 0x50($sp) +/* BB3754 80240954 0080A02D */ daddu $s4, $a0, $zero +/* BB3758 80240958 AFBF0060 */ sw $ra, 0x60($sp) +/* BB375C 8024095C AFB7005C */ sw $s7, 0x5c($sp) +/* BB3760 80240960 AFB60058 */ sw $s6, 0x58($sp) +/* BB3764 80240964 AFB50054 */ sw $s5, 0x54($sp) +/* BB3768 80240968 AFB3004C */ sw $s3, 0x4c($sp) +/* BB376C 8024096C AFB20048 */ sw $s2, 0x48($sp) +/* BB3770 80240970 AFB10044 */ sw $s1, 0x44($sp) +/* BB3774 80240974 AFB00040 */ sw $s0, 0x40($sp) +/* BB3778 80240978 F7B40068 */ sdc1 $f20, 0x68($sp) +/* BB377C 8024097C 8E950148 */ lw $s5, 0x148($s4) +/* BB3780 80240980 00A0B02D */ daddu $s6, $a1, $zero +/* BB3784 80240984 86A40008 */ lh $a0, 8($s5) +/* BB3788 80240988 0C00EABB */ jal get_npc_unsafe +/* BB378C 8024098C 00C0B82D */ daddu $s7, $a2, $zero +/* BB3790 80240990 0040982D */ daddu $s3, $v0, $zero +/* BB3794 80240994 C6600018 */ lwc1 $f0, 0x18($s3) +/* BB3798 80240998 44801000 */ mtc1 $zero, $f2 +/* BB379C 8024099C 44801800 */ mtc1 $zero, $f3 +/* BB37A0 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* BB37A4 802409A4 4620103C */ c.lt.d $f2, $f0 +/* BB37A8 802409A8 00000000 */ nop +/* BB37AC 802409AC 45000021 */ bc1f .L80240A34 +/* BB37B0 802409B0 27A50028 */ addiu $a1, $sp, 0x28 +/* BB37B4 802409B4 C6600038 */ lwc1 $f0, 0x38($s3) +/* BB37B8 802409B8 C662003C */ lwc1 $f2, 0x3c($s3) +/* BB37BC 802409BC C6640040 */ lwc1 $f4, 0x40($s3) +/* BB37C0 802409C0 C6660018 */ lwc1 $f6, 0x18($s3) +/* BB37C4 802409C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* BB37C8 802409C8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* BB37CC 802409CC E7A40030 */ swc1 $f4, 0x30($sp) +/* BB37D0 802409D0 E7A60010 */ swc1 $f6, 0x10($sp) +/* BB37D4 802409D4 C660000C */ lwc1 $f0, 0xc($s3) +/* BB37D8 802409D8 E7A00014 */ swc1 $f0, 0x14($sp) +/* BB37DC 802409DC 866200A8 */ lh $v0, 0xa8($s3) +/* BB37E0 802409E0 44820000 */ mtc1 $v0, $f0 +/* BB37E4 802409E4 00000000 */ nop +/* BB37E8 802409E8 46800020 */ cvt.s.w $f0, $f0 +/* BB37EC 802409EC E7A00018 */ swc1 $f0, 0x18($sp) +/* BB37F0 802409F0 866200A6 */ lh $v0, 0xa6($s3) +/* BB37F4 802409F4 27A6002C */ addiu $a2, $sp, 0x2c +/* BB37F8 802409F8 44820000 */ mtc1 $v0, $f0 +/* BB37FC 802409FC 00000000 */ nop +/* BB3800 80240A00 46800020 */ cvt.s.w $f0, $f0 +/* BB3804 80240A04 E7A0001C */ swc1 $f0, 0x1c($sp) +/* BB3808 80240A08 8E640080 */ lw $a0, 0x80($s3) +/* BB380C 80240A0C 0C037711 */ jal func_800DDC44 +/* BB3810 80240A10 27A70030 */ addiu $a3, $sp, 0x30 +/* BB3814 80240A14 10400003 */ beqz $v0, .L80240A24 +/* BB3818 80240A18 00000000 */ nop +/* BB381C 80240A1C 0809028D */ j .L80240A34 +/* BB3820 80240A20 AE600018 */ sw $zero, 0x18($s3) +.L80240A24: +/* BB3824 80240A24 8E650018 */ lw $a1, 0x18($s3) +/* BB3828 80240A28 8E66000C */ lw $a2, 0xc($s3) +/* BB382C 80240A2C 0C00EA95 */ jal npc_move_heading +/* BB3830 80240A30 0260202D */ daddu $a0, $s3, $zero +.L80240A34: +/* BB3834 80240A34 C660001C */ lwc1 $f0, 0x1c($s3) +/* BB3838 80240A38 44801000 */ mtc1 $zero, $f2 +/* BB383C 80240A3C 44801800 */ mtc1 $zero, $f3 +/* BB3840 80240A40 46000021 */ cvt.d.s $f0, $f0 +/* BB3844 80240A44 4622003C */ c.lt.d $f0, $f2 +/* BB3848 80240A48 00000000 */ nop +/* BB384C 80240A4C 4500006C */ bc1f .L80240C00 +/* BB3850 80240A50 27B00028 */ addiu $s0, $sp, 0x28 +/* BB3854 80240A54 0200282D */ daddu $a1, $s0, $zero +/* BB3858 80240A58 27A60034 */ addiu $a2, $sp, 0x34 +/* BB385C 80240A5C 27B20038 */ addiu $s2, $sp, 0x38 +/* BB3860 80240A60 C6600038 */ lwc1 $f0, 0x38($s3) +/* BB3864 80240A64 3C0142C8 */ lui $at, 0x42c8 +/* BB3868 80240A68 44811000 */ mtc1 $at, $f2 +/* BB386C 80240A6C C6640040 */ lwc1 $f4, 0x40($s3) +/* BB3870 80240A70 3C01447A */ lui $at, 0x447a +/* BB3874 80240A74 44813000 */ mtc1 $at, $f6 +/* BB3878 80240A78 27B10030 */ addiu $s1, $sp, 0x30 +/* BB387C 80240A7C E7A00028 */ swc1 $f0, 0x28($sp) +/* BB3880 80240A80 E7A20034 */ swc1 $f2, 0x34($sp) +/* BB3884 80240A84 E7A40030 */ swc1 $f4, 0x30($sp) +/* BB3888 80240A88 E7A60038 */ swc1 $f6, 0x38($sp) +/* BB388C 80240A8C AFB20010 */ sw $s2, 0x10($sp) +/* BB3890 80240A90 8E640080 */ lw $a0, 0x80($s3) +/* BB3894 80240A94 0C0372DF */ jal func_800DCB7C +/* BB3898 80240A98 0220382D */ daddu $a3, $s1, $zero +/* BB389C 80240A9C 0200282D */ daddu $a1, $s0, $zero +/* BB38A0 80240AA0 27A6002C */ addiu $a2, $sp, 0x2c +/* BB38A4 80240AA4 C662003C */ lwc1 $f2, 0x3c($s3) +/* BB38A8 80240AA8 C6660038 */ lwc1 $f6, 0x38($s3) +/* BB38AC 80240AAC 3C01402A */ lui $at, 0x402a +/* BB38B0 80240AB0 4481A800 */ mtc1 $at, $f21 +/* BB38B4 80240AB4 4480A000 */ mtc1 $zero, $f20 +/* BB38B8 80240AB8 460010A1 */ cvt.d.s $f2, $f2 +/* BB38BC 80240ABC 46341080 */ add.d $f2, $f2, $f20 +/* BB38C0 80240AC0 C660001C */ lwc1 $f0, 0x1c($s3) +/* BB38C4 80240AC4 C6640040 */ lwc1 $f4, 0x40($s3) +/* BB38C8 80240AC8 46000005 */ abs.s $f0, $f0 +/* BB38CC 80240ACC E7A40030 */ swc1 $f4, 0x30($sp) +/* BB38D0 80240AD0 3C014030 */ lui $at, 0x4030 +/* BB38D4 80240AD4 44812800 */ mtc1 $at, $f5 +/* BB38D8 80240AD8 44802000 */ mtc1 $zero, $f4 +/* BB38DC 80240ADC 46000021 */ cvt.d.s $f0, $f0 +/* BB38E0 80240AE0 E7A60028 */ swc1 $f6, 0x28($sp) +/* BB38E4 80240AE4 46240000 */ add.d $f0, $f0, $f4 +/* BB38E8 80240AE8 462010A0 */ cvt.s.d $f2, $f2 +/* BB38EC 80240AEC E7A2002C */ swc1 $f2, 0x2c($sp) +/* BB38F0 80240AF0 46200020 */ cvt.s.d $f0, $f0 +/* BB38F4 80240AF4 E7A00038 */ swc1 $f0, 0x38($sp) +/* BB38F8 80240AF8 AFB20010 */ sw $s2, 0x10($sp) +/* BB38FC 80240AFC 8E640080 */ lw $a0, 0x80($s3) +/* BB3900 80240B00 0C0372DF */ jal func_800DCB7C +/* BB3904 80240B04 0220382D */ daddu $a3, $s1, $zero +/* BB3908 80240B08 1040003D */ beqz $v0, .L80240C00 +/* BB390C 80240B0C 00000000 */ nop +/* BB3910 80240B10 C660001C */ lwc1 $f0, 0x1c($s3) +/* BB3914 80240B14 C7A20038 */ lwc1 $f2, 0x38($sp) +/* BB3918 80240B18 46000005 */ abs.s $f0, $f0 +/* BB391C 80240B1C 46000021 */ cvt.d.s $f0, $f0 +/* BB3920 80240B20 46340000 */ add.d $f0, $f0, $f20 +/* BB3924 80240B24 460010A1 */ cvt.d.s $f2, $f2 +/* BB3928 80240B28 4620103E */ c.le.d $f2, $f0 +/* BB392C 80240B2C 00000000 */ nop +/* BB3930 80240B30 45000033 */ bc1f .L80240C00 +/* BB3934 80240B34 2403F7FF */ addiu $v1, $zero, -0x801 +/* BB3938 80240B38 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* BB393C 80240B3C 8E620000 */ lw $v0, ($s3) +/* BB3940 80240B40 AE60001C */ sw $zero, 0x1c($s3) +/* BB3944 80240B44 00431024 */ and $v0, $v0, $v1 +/* BB3948 80240B48 E660003C */ swc1 $f0, 0x3c($s3) +/* BB394C 80240B4C AE620000 */ sw $v0, ($s3) +/* BB3950 80240B50 AFA00010 */ sw $zero, 0x10($sp) +/* BB3954 80240B54 AFA00014 */ sw $zero, 0x14($sp) +/* BB3958 80240B58 8E650038 */ lw $a1, 0x38($s3) +/* BB395C 80240B5C 8E66003C */ lw $a2, 0x3c($s3) +/* BB3960 80240B60 8E670040 */ lw $a3, 0x40($s3) +/* BB3964 80240B64 0C01BECC */ jal fx_walk_normal +/* BB3968 80240B68 24040002 */ addiu $a0, $zero, 2 +/* BB396C 80240B6C 02E0202D */ daddu $a0, $s7, $zero +/* BB3970 80240B70 2402000C */ addiu $v0, $zero, 0xc +/* BB3974 80240B74 AE820070 */ sw $v0, 0x70($s4) +/* BB3978 80240B78 24020001 */ addiu $v0, $zero, 1 +/* BB397C 80240B7C AFA20010 */ sw $v0, 0x10($sp) +/* BB3980 80240B80 8EC60024 */ lw $a2, 0x24($s6) +/* BB3984 80240B84 8EC70028 */ lw $a3, 0x28($s6) +/* BB3988 80240B88 0C01242D */ jal func_800490B4 +/* BB398C 80240B8C 02A0282D */ daddu $a1, $s5, $zero +/* BB3990 80240B90 14400022 */ bnez $v0, .L80240C1C +/* BB3994 80240B94 24040002 */ addiu $a0, $zero, 2 +/* BB3998 80240B98 0260282D */ daddu $a1, $s3, $zero +/* BB399C 80240B9C 0000302D */ daddu $a2, $zero, $zero +/* BB39A0 80240BA0 866300A8 */ lh $v1, 0xa8($s3) +/* BB39A4 80240BA4 3C013F80 */ lui $at, 0x3f80 +/* BB39A8 80240BA8 44810000 */ mtc1 $at, $f0 +/* BB39AC 80240BAC 3C014000 */ lui $at, 0x4000 +/* BB39B0 80240BB0 44811000 */ mtc1 $at, $f2 +/* BB39B4 80240BB4 3C01C1A0 */ lui $at, 0xc1a0 +/* BB39B8 80240BB8 44812000 */ mtc1 $at, $f4 +/* BB39BC 80240BBC 2402000F */ addiu $v0, $zero, 0xf +/* BB39C0 80240BC0 AFA2001C */ sw $v0, 0x1c($sp) +/* BB39C4 80240BC4 44834000 */ mtc1 $v1, $f8 +/* BB39C8 80240BC8 00000000 */ nop +/* BB39CC 80240BCC 46804220 */ cvt.s.w $f8, $f8 +/* BB39D0 80240BD0 44074000 */ mfc1 $a3, $f8 +/* BB39D4 80240BD4 27A2003C */ addiu $v0, $sp, 0x3c +/* BB39D8 80240BD8 AFA20020 */ sw $v0, 0x20($sp) +/* BB39DC 80240BDC E7A00010 */ swc1 $f0, 0x10($sp) +/* BB39E0 80240BE0 E7A20014 */ swc1 $f2, 0x14($sp) +/* BB39E4 80240BE4 0C01BFA4 */ jal fx_emote +/* BB39E8 80240BE8 E7A40018 */ swc1 $f4, 0x18($sp) +/* BB39EC 80240BEC 24020019 */ addiu $v0, $zero, 0x19 +/* BB39F0 80240BF0 A662008E */ sh $v0, 0x8e($s3) +/* BB39F4 80240BF4 2402000E */ addiu $v0, $zero, 0xe +/* BB39F8 80240BF8 08090307 */ j .L80240C1C +/* BB39FC 80240BFC AE820070 */ sw $v0, 0x70($s4) +.L80240C00: +/* BB3A00 80240C00 C664003C */ lwc1 $f4, 0x3c($s3) +/* BB3A04 80240C04 C660001C */ lwc1 $f0, 0x1c($s3) +/* BB3A08 80240C08 46002100 */ add.s $f4, $f4, $f0 +/* BB3A0C 80240C0C C6620014 */ lwc1 $f2, 0x14($s3) +/* BB3A10 80240C10 46020001 */ sub.s $f0, $f0, $f2 +/* BB3A14 80240C14 E664003C */ swc1 $f4, 0x3c($s3) +/* BB3A18 80240C18 E660001C */ swc1 $f0, 0x1c($s3) +.L80240C1C: +/* BB3A1C 80240C1C 8FBF0060 */ lw $ra, 0x60($sp) +/* BB3A20 80240C20 8FB7005C */ lw $s7, 0x5c($sp) +/* BB3A24 80240C24 8FB60058 */ lw $s6, 0x58($sp) +/* BB3A28 80240C28 8FB50054 */ lw $s5, 0x54($sp) +/* BB3A2C 80240C2C 8FB40050 */ lw $s4, 0x50($sp) +/* BB3A30 80240C30 8FB3004C */ lw $s3, 0x4c($sp) +/* BB3A34 80240C34 8FB20048 */ lw $s2, 0x48($sp) +/* BB3A38 80240C38 8FB10044 */ lw $s1, 0x44($sp) +/* BB3A3C 80240C3C 8FB00040 */ lw $s0, 0x40($sp) +/* BB3A40 80240C40 D7B40068 */ ldc1 $f20, 0x68($sp) +/* BB3A44 80240C44 03E00008 */ jr $ra +/* BB3A48 80240C48 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_80240C4C_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_80240C4C_BB2E00.s new file mode 100644 index 0000000000..c68ea30b0c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_80240C4C_BB2E00.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_BB3A4C +/* BB3A4C 80240C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB3A50 80240C50 AFB00010 */ sw $s0, 0x10($sp) +/* BB3A54 80240C54 0080802D */ daddu $s0, $a0, $zero +/* BB3A58 80240C58 AFBF0014 */ sw $ra, 0x14($sp) +/* BB3A5C 80240C5C 8E020148 */ lw $v0, 0x148($s0) +/* BB3A60 80240C60 0C00EABB */ jal get_npc_unsafe +/* BB3A64 80240C64 84440008 */ lh $a0, 8($v0) +/* BB3A68 80240C68 9443008E */ lhu $v1, 0x8e($v0) +/* BB3A6C 80240C6C 2463FFFF */ addiu $v1, $v1, -1 +/* BB3A70 80240C70 A443008E */ sh $v1, 0x8e($v0) +/* BB3A74 80240C74 00031C00 */ sll $v1, $v1, 0x10 +/* BB3A78 80240C78 58600001 */ blezl $v1, .L80240C80 +/* BB3A7C 80240C7C AE000070 */ sw $zero, 0x70($s0) +.L80240C80: +/* BB3A80 80240C80 8FBF0014 */ lw $ra, 0x14($sp) +/* BB3A84 80240C84 8FB00010 */ lw $s0, 0x10($sp) +/* BB3A88 80240C88 03E00008 */ jr $ra +/* BB3A8C 80240C8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_09/func_80240C90_BB2E00.s b/asm/nonmatchings/world/area_mim/mim_09/func_80240C90_BB2E00.s new file mode 100644 index 0000000000..6c02221e52 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_09/func_80240C90_BB2E00.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C90_BB3A90 +/* BB3A90 80240C90 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BB3A94 80240C94 AFB3003C */ sw $s3, 0x3c($sp) +/* BB3A98 80240C98 0080982D */ daddu $s3, $a0, $zero +/* BB3A9C 80240C9C AFBF0048 */ sw $ra, 0x48($sp) +/* BB3AA0 80240CA0 AFB50044 */ sw $s5, 0x44($sp) +/* BB3AA4 80240CA4 AFB40040 */ sw $s4, 0x40($sp) +/* BB3AA8 80240CA8 AFB20038 */ sw $s2, 0x38($sp) +/* BB3AAC 80240CAC AFB10034 */ sw $s1, 0x34($sp) +/* BB3AB0 80240CB0 AFB00030 */ sw $s0, 0x30($sp) +/* BB3AB4 80240CB4 8E720148 */ lw $s2, 0x148($s3) +/* BB3AB8 80240CB8 86440008 */ lh $a0, 8($s2) +/* BB3ABC 80240CBC 8E70000C */ lw $s0, 0xc($s3) +/* BB3AC0 80240CC0 0C00EABB */ jal get_npc_unsafe +/* BB3AC4 80240CC4 00A0882D */ daddu $s1, $a1, $zero +/* BB3AC8 80240CC8 8E050000 */ lw $a1, ($s0) +/* BB3ACC 80240CCC 26100004 */ addiu $s0, $s0, 4 +/* BB3AD0 80240CD0 0260202D */ daddu $a0, $s3, $zero +/* BB3AD4 80240CD4 0C0B1EAF */ jal get_variable +/* BB3AD8 80240CD8 0040A82D */ daddu $s5, $v0, $zero +/* BB3ADC 80240CDC 0260202D */ daddu $a0, $s3, $zero +/* BB3AE0 80240CE0 8E050000 */ lw $a1, ($s0) +/* BB3AE4 80240CE4 0C0B1EAF */ jal get_variable +/* BB3AE8 80240CE8 0040A02D */ daddu $s4, $v0, $zero +/* BB3AEC 80240CEC AE420094 */ sw $v0, 0x94($s2) +/* BB3AF0 80240CF0 AFA00010 */ sw $zero, 0x10($sp) +/* BB3AF4 80240CF4 8E4200D0 */ lw $v0, 0xd0($s2) +/* BB3AF8 80240CF8 8C420030 */ lw $v0, 0x30($v0) +/* BB3AFC 80240CFC AFA20014 */ sw $v0, 0x14($sp) +/* BB3B00 80240D00 8E4200D0 */ lw $v0, 0xd0($s2) +/* BB3B04 80240D04 8C42001C */ lw $v0, 0x1c($v0) +/* BB3B08 80240D08 AFA20018 */ sw $v0, 0x18($sp) +/* BB3B0C 80240D0C 8E4200D0 */ lw $v0, 0xd0($s2) +/* BB3B10 80240D10 8C420024 */ lw $v0, 0x24($v0) +/* BB3B14 80240D14 AFA2001C */ sw $v0, 0x1c($sp) +/* BB3B18 80240D18 8E4200D0 */ lw $v0, 0xd0($s2) +/* BB3B1C 80240D1C 8C420028 */ lw $v0, 0x28($v0) +/* BB3B20 80240D20 AFA20020 */ sw $v0, 0x20($sp) +/* BB3B24 80240D24 8E4200D0 */ lw $v0, 0xd0($s2) +/* BB3B28 80240D28 3C0142C8 */ lui $at, 0x42c8 +/* BB3B2C 80240D2C 44810000 */ mtc1 $at, $f0 +/* BB3B30 80240D30 8C42002C */ lw $v0, 0x2c($v0) +/* BB3B34 80240D34 27B00010 */ addiu $s0, $sp, 0x10 +/* BB3B38 80240D38 E7A00028 */ swc1 $f0, 0x28($sp) +/* BB3B3C 80240D3C A7A0002C */ sh $zero, 0x2c($sp) +/* BB3B40 80240D40 12200019 */ beqz $s1, .L80240DA8 +/* BB3B44 80240D44 AFA20024 */ sw $v0, 0x24($sp) +/* BB3B48 80240D48 AE600070 */ sw $zero, 0x70($s3) +/* BB3B4C 80240D4C A6A0008E */ sh $zero, 0x8e($s5) +/* BB3B50 80240D50 AE600074 */ sw $zero, 0x74($s3) +/* BB3B54 80240D54 8EA20000 */ lw $v0, ($s5) +/* BB3B58 80240D58 2403F7FF */ addiu $v1, $zero, -0x801 +/* BB3B5C 80240D5C 00431024 */ and $v0, $v0, $v1 +/* BB3B60 80240D60 2403FDFF */ addiu $v1, $zero, -0x201 +/* BB3B64 80240D64 00431024 */ and $v0, $v0, $v1 +/* BB3B68 80240D68 34420008 */ ori $v0, $v0, 8 +/* BB3B6C 80240D6C AEA20000 */ sw $v0, ($s5) +/* BB3B70 80240D70 8E4200B0 */ lw $v0, 0xb0($s2) +/* BB3B74 80240D74 34420018 */ ori $v0, $v0, 0x18 +/* BB3B78 80240D78 AE4200B0 */ sw $v0, 0xb0($s2) +/* BB3B7C 80240D7C 8E420000 */ lw $v0, ($s2) +/* BB3B80 80240D80 3C034000 */ lui $v1, 0x4000 +/* BB3B84 80240D84 00431024 */ and $v0, $v0, $v1 +/* BB3B88 80240D88 10400007 */ beqz $v0, .L80240DA8 +/* BB3B8C 80240D8C 3C03BFFF */ lui $v1, 0xbfff +/* BB3B90 80240D90 2402000C */ addiu $v0, $zero, 0xc +/* BB3B94 80240D94 AE620070 */ sw $v0, 0x70($s3) +/* BB3B98 80240D98 8E420000 */ lw $v0, ($s2) +/* BB3B9C 80240D9C 3463FFFF */ ori $v1, $v1, 0xffff +/* BB3BA0 80240DA0 00431024 */ and $v0, $v0, $v1 +/* BB3BA4 80240DA4 AE420000 */ sw $v0, ($s2) +.L80240DA8: +/* BB3BA8 80240DA8 8E4300B0 */ lw $v1, 0xb0($s2) +/* BB3BAC 80240DAC 30620004 */ andi $v0, $v1, 4 +/* BB3BB0 80240DB0 10400007 */ beqz $v0, .L80240DD0 +/* BB3BB4 80240DB4 00000000 */ nop +/* BB3BB8 80240DB8 824200B4 */ lb $v0, 0xb4($s2) +/* BB3BBC 80240DBC 14400034 */ bnez $v0, .L80240E90 +/* BB3BC0 80240DC0 0000102D */ daddu $v0, $zero, $zero +/* BB3BC4 80240DC4 2402FFFB */ addiu $v0, $zero, -5 +/* BB3BC8 80240DC8 00621024 */ and $v0, $v1, $v0 +/* BB3BCC 80240DCC AE4200B0 */ sw $v0, 0xb0($s2) +.L80240DD0: +/* BB3BD0 80240DD0 8E630070 */ lw $v1, 0x70($s3) +/* BB3BD4 80240DD4 2C62000F */ sltiu $v0, $v1, 0xf +/* BB3BD8 80240DD8 1040002C */ beqz $v0, .L80240E8C +/* BB3BDC 80240DDC 00031080 */ sll $v0, $v1, 2 +/* BB3BE0 80240DE0 3C018024 */ lui $at, 0x8024 +/* BB3BE4 80240DE4 00220821 */ addu $at, $at, $v0 +/* BB3BE8 80240DE8 8C222B98 */ lw $v0, 0x2b98($at) +/* BB3BEC 80240DEC 00400008 */ jr $v0 +/* BB3BF0 80240DF0 00000000 */ nop +/* BB3BF4 80240DF4 0260202D */ daddu $a0, $s3, $zero +/* BB3BF8 80240DF8 0280282D */ daddu $a1, $s4, $zero +/* BB3BFC 80240DFC 0C090028 */ jal func_802400A0 +/* BB3C00 80240E00 0200302D */ daddu $a2, $s0, $zero +/* BB3C04 80240E04 0260202D */ daddu $a0, $s3, $zero +/* BB3C08 80240E08 0280282D */ daddu $a1, $s4, $zero +/* BB3C0C 80240E0C 0C0900B4 */ jal func_802402D0 +/* BB3C10 80240E10 0200302D */ daddu $a2, $s0, $zero +/* BB3C14 80240E14 080903A4 */ j .L80240E90 +/* BB3C18 80240E18 0000102D */ daddu $v0, $zero, $zero +/* BB3C1C 80240E1C 0260202D */ daddu $a0, $s3, $zero +/* BB3C20 80240E20 0280282D */ daddu $a1, $s4, $zero +/* BB3C24 80240E24 0C090182 */ jal func_80240608 +/* BB3C28 80240E28 0200302D */ daddu $a2, $s0, $zero +/* BB3C2C 80240E2C 8E630070 */ lw $v1, 0x70($s3) +/* BB3C30 80240E30 24020003 */ addiu $v0, $zero, 3 +/* BB3C34 80240E34 14620016 */ bne $v1, $v0, .L80240E90 +/* BB3C38 80240E38 0000102D */ daddu $v0, $zero, $zero +/* BB3C3C 80240E3C 0260202D */ daddu $a0, $s3, $zero +/* BB3C40 80240E40 0280282D */ daddu $a1, $s4, $zero +/* BB3C44 80240E44 0C0901B2 */ jal func_802406C8 +/* BB3C48 80240E48 0200302D */ daddu $a2, $s0, $zero +/* BB3C4C 80240E4C 080903A4 */ j .L80240E90 +/* BB3C50 80240E50 0000102D */ daddu $v0, $zero, $zero +/* BB3C54 80240E54 0260202D */ daddu $a0, $s3, $zero +/* BB3C58 80240E58 0280282D */ daddu $a1, $s4, $zero +/* BB3C5C 80240E5C 0C09021B */ jal func_8024086C +/* BB3C60 80240E60 0200302D */ daddu $a2, $s0, $zero +/* BB3C64 80240E64 0260202D */ daddu $a0, $s3, $zero +/* BB3C68 80240E68 0280282D */ daddu $a1, $s4, $zero +/* BB3C6C 80240E6C 0C090253 */ jal func_8024094C +/* BB3C70 80240E70 0200302D */ daddu $a2, $s0, $zero +/* BB3C74 80240E74 080903A4 */ j .L80240E90 +/* BB3C78 80240E78 0000102D */ daddu $v0, $zero, $zero +/* BB3C7C 80240E7C 0260202D */ daddu $a0, $s3, $zero +/* BB3C80 80240E80 0280282D */ daddu $a1, $s4, $zero +/* BB3C84 80240E84 0C090313 */ jal func_80240C4C +/* BB3C88 80240E88 0200302D */ daddu $a2, $s0, $zero +.L80240E8C: +/* BB3C8C 80240E8C 0000102D */ daddu $v0, $zero, $zero +.L80240E90: +/* BB3C90 80240E90 8FBF0048 */ lw $ra, 0x48($sp) +/* BB3C94 80240E94 8FB50044 */ lw $s5, 0x44($sp) +/* BB3C98 80240E98 8FB40040 */ lw $s4, 0x40($sp) +/* BB3C9C 80240E9C 8FB3003C */ lw $s3, 0x3c($sp) +/* BB3CA0 80240EA0 8FB20038 */ lw $s2, 0x38($sp) +/* BB3CA4 80240EA4 8FB10034 */ lw $s1, 0x34($sp) +/* BB3CA8 80240EA8 8FB00030 */ lw $s0, 0x30($sp) +/* BB3CAC 80240EAC 03E00008 */ jr $ra +/* BB3CB0 80240EB0 27BD0050 */ addiu $sp, $sp, 0x50 +/* BB3CB4 80240EB4 00000000 */ nop +/* BB3CB8 80240EB8 00000000 */ nop +/* BB3CBC 80240EBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_10/func_80240000_BB59E0.s b/asm/nonmatchings/world/area_mim/mim_10/func_80240000_BB59E0.s new file mode 100644 index 0000000000..3ce1d53299 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_10/func_80240000_BB59E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BB59E0 +/* BB59E0 80240000 3C018011 */ lui $at, 0x8011 +/* BB59E4 80240004 C422EFF0 */ lwc1 $f2, -0x1010($at) +/* BB59E8 80240008 3C0142C8 */ lui $at, 0x42c8 +/* BB59EC 8024000C 44810000 */ mtc1 $at, $f0 +/* BB59F0 80240010 00000000 */ nop +/* BB59F4 80240014 4600103C */ c.lt.s $f2, $f0 +/* BB59F8 80240018 00000000 */ nop +/* BB59FC 8024001C 45010002 */ bc1t .L80240028 +/* BB5A00 80240020 0000102D */ daddu $v0, $zero, $zero +/* BB5A04 80240024 24020002 */ addiu $v0, $zero, 2 +.L80240028: +/* BB5A08 80240028 03E00008 */ jr $ra +/* BB5A0C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_10/func_80240030_BB59E0.s b/asm/nonmatchings/world/area_mim/mim_10/func_80240030_BB59E0.s new file mode 100644 index 0000000000..e9b359fc9b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_10/func_80240030_BB59E0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_BB5A10 +/* BB5A10 80240030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB5A14 80240034 AFBF0010 */ sw $ra, 0x10($sp) +/* BB5A18 80240038 0C046ED4 */ jal enable_world_fog +/* BB5A1C 8024003C 00000000 */ nop +/* BB5A20 80240040 24040010 */ addiu $a0, $zero, 0x10 +/* BB5A24 80240044 0080282D */ daddu $a1, $a0, $zero +/* BB5A28 80240048 0080302D */ daddu $a2, $a0, $zero +/* BB5A2C 8024004C 0C046EE2 */ jal set_world_fog_color +/* BB5A30 80240050 240700FF */ addiu $a3, $zero, 0xff +/* BB5A34 80240054 3C02800B */ lui $v0, %hi(gCameras) +/* BB5A38 80240058 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* BB5A3C 8024005C 24030014 */ addiu $v1, $zero, 0x14 +/* BB5A40 80240060 A443002C */ sh $v1, 0x2c($v0) +/* BB5A44 80240064 A443002E */ sh $v1, 0x2e($v0) +/* BB5A48 80240068 2403001C */ addiu $v1, $zero, 0x1c +/* BB5A4C 8024006C A4430030 */ sh $v1, 0x30($v0) +/* BB5A50 80240070 8FBF0010 */ lw $ra, 0x10($sp) +/* BB5A54 80240074 24020002 */ addiu $v0, $zero, 2 +/* BB5A58 80240078 03E00008 */ jr $ra +/* BB5A5C 8024007C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_10/func_80240080_BB59E0.s b/asm/nonmatchings/world/area_mim/mim_10/func_80240080_BB59E0.s new file mode 100644 index 0000000000..414b0ebfdd --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_10/func_80240080_BB59E0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080_BB5A60 +/* BB5A60 80240080 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB5A64 80240084 AFBF0010 */ sw $ra, 0x10($sp) +/* BB5A68 80240088 0C046ED4 */ jal enable_world_fog +/* BB5A6C 8024008C 00000000 */ nop +/* BB5A70 80240090 240403DE */ addiu $a0, $zero, 0x3de +/* BB5A74 80240094 0C046EDD */ jal set_world_fog_dist +/* BB5A78 80240098 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BB5A7C 8024009C 24040010 */ addiu $a0, $zero, 0x10 +/* BB5A80 802400A0 0080282D */ daddu $a1, $a0, $zero +/* BB5A84 802400A4 0080302D */ daddu $a2, $a0, $zero +/* BB5A88 802400A8 0C046EE2 */ jal set_world_fog_color +/* BB5A8C 802400AC 240700FF */ addiu $a3, $zero, 0xff +/* BB5A90 802400B0 3C03800B */ lui $v1, %hi(gCameras) +/* BB5A94 802400B4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BB5A98 802400B8 24020014 */ addiu $v0, $zero, 0x14 +/* BB5A9C 802400BC A462002C */ sh $v0, 0x2c($v1) +/* BB5AA0 802400C0 A462002E */ sh $v0, 0x2e($v1) +/* BB5AA4 802400C4 2402001C */ addiu $v0, $zero, 0x1c +/* BB5AA8 802400C8 A4620030 */ sh $v0, 0x30($v1) +/* BB5AAC 802400CC 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* BB5AB0 802400D0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* BB5AB4 802400D4 240200F0 */ addiu $v0, $zero, 0xf0 +/* BB5AB8 802400D8 A462015C */ sh $v0, 0x15c($v1) +/* BB5ABC 802400DC 8FBF0010 */ lw $ra, 0x10($sp) +/* BB5AC0 802400E0 24020002 */ addiu $v0, $zero, 2 +/* BB5AC4 802400E4 03E00008 */ jr $ra +/* BB5AC8 802400E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_10/func_802400EC.s b/asm/nonmatchings/world/area_mim/mim_10/func_802400EC.s new file mode 100644 index 0000000000..5af2263d5a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_10/func_802400EC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC +/* BB5ACC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB5AD0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* BB5AD4 802400F4 0000802D */ daddu $s0, $zero, $zero +/* BB5AD8 802400F8 10A00003 */ beqz $a1, .L80240108 +/* BB5ADC 802400FC AFBF0014 */ sw $ra, 0x14($sp) +/* BB5AE0 80240100 24020424 */ addiu $v0, $zero, 0x424 +/* BB5AE4 80240104 AC820074 */ sw $v0, 0x74($a0) +.L80240108: +/* BB5AE8 80240108 8C820074 */ lw $v0, 0x74($a0) +/* BB5AEC 8024010C 2442FFFF */ addiu $v0, $v0, -1 +/* BB5AF0 80240110 AC820074 */ sw $v0, 0x74($a0) +/* BB5AF4 80240114 284203E9 */ slti $v0, $v0, 0x3e9 +/* BB5AF8 80240118 10400003 */ beqz $v0, .L80240128 +/* BB5AFC 8024011C 240203E8 */ addiu $v0, $zero, 0x3e8 +/* BB5B00 80240120 AC820074 */ sw $v0, 0x74($a0) +/* BB5B04 80240124 24100002 */ addiu $s0, $zero, 2 +.L80240128: +/* BB5B08 80240128 8C850074 */ lw $a1, 0x74($a0) +/* BB5B0C 8024012C 0C046EDD */ jal set_world_fog_dist +/* BB5B10 80240130 240403DE */ addiu $a0, $zero, 0x3de +/* BB5B14 80240134 0200102D */ daddu $v0, $s0, $zero +/* BB5B18 80240138 8FBF0014 */ lw $ra, 0x14($sp) +/* BB5B1C 8024013C 8FB00010 */ lw $s0, 0x10($sp) +/* BB5B20 80240140 03E00008 */ jr $ra +/* BB5B24 80240144 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_10/func_80240148.s b/asm/nonmatchings/world/area_mim/mim_10/func_80240148.s new file mode 100644 index 0000000000..9a591c01b8 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_10/func_80240148.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240148 +/* BB5B28 80240148 10A00002 */ beqz $a1, .L80240154 +/* BB5B2C 8024014C 0000302D */ daddu $a2, $zero, $zero +/* BB5B30 80240150 AC800074 */ sw $zero, 0x74($a0) +.L80240154: +/* BB5B34 80240154 8C820074 */ lw $v0, 0x74($a0) +/* BB5B38 80240158 24420004 */ addiu $v0, $v0, 4 +/* BB5B3C 8024015C AC820074 */ sw $v0, 0x74($a0) +/* BB5B40 80240160 284200F0 */ slti $v0, $v0, 0xf0 +/* BB5B44 80240164 14400004 */ bnez $v0, .L80240178 +/* BB5B48 80240168 00000000 */ nop +/* BB5B4C 8024016C 240200F0 */ addiu $v0, $zero, 0xf0 +/* BB5B50 80240170 AC820074 */ sw $v0, 0x74($a0) +/* BB5B54 80240174 24060002 */ addiu $a2, $zero, 2 +.L80240178: +/* BB5B58 80240178 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* BB5B5C 8024017C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* BB5B60 80240180 94820076 */ lhu $v0, 0x76($a0) +/* BB5B64 80240184 A462015C */ sh $v0, 0x15c($v1) +/* BB5B68 80240188 03E00008 */ jr $ra +/* BB5B6C 8024018C 00C0102D */ daddu $v0, $a2, $zero diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240000_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240000_BB7070.s new file mode 100644 index 0000000000..e613850161 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240000_BB7070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BB7070 +/* BB7070 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BB7074 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BB7078 80240008 8C430004 */ lw $v1, 4($v0) +/* BB707C 8024000C 3C040010 */ lui $a0, 0x10 +/* BB7080 80240010 00641825 */ or $v1, $v1, $a0 +/* BB7084 80240014 AC430004 */ sw $v1, 4($v0) +/* BB7088 80240018 03E00008 */ jr $ra +/* BB708C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240020_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240020_BB7070.s new file mode 100644 index 0000000000..86b437d73c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240020_BB7070.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_BB7090 +/* BB7090 80240020 3C028016 */ lui $v0, 0x8016 +/* BB7094 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* BB7098 80240028 AC820084 */ sw $v0, 0x84($a0) +/* BB709C 8024002C 03E00008 */ jr $ra +/* BB70A0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240034_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240034_BB7070.s new file mode 100644 index 0000000000..493af3f948 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240034_BB7070.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_BB70A4 +/* BB70A4 80240034 3C038016 */ lui $v1, 0x8016 +/* BB70A8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* BB70AC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB70B0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* BB70B4 80240044 0080802D */ daddu $s0, $a0, $zero +/* BB70B8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* BB70BC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* BB70C0 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* BB70C4 80240054 24020002 */ addiu $v0, $zero, 2 +/* BB70C8 80240058 08090038 */ j .L802400E0 +/* BB70CC 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* BB70D0 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* BB70D4 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* BB70D8 80240068 80620040 */ lb $v0, 0x40($v1) +/* BB70DC 8024006C 80670044 */ lb $a3, 0x44($v1) +/* BB70E0 80240070 04420001 */ bltzl $v0, .L80240078 +/* BB70E4 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* BB70E8 80240078 14400003 */ bnez $v0, .L80240088 +/* BB70EC 8024007C 00000000 */ nop +/* BB70F0 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* BB70F4 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* BB70F8 80240088 44822000 */ mtc1 $v0, $f4 +/* BB70FC 8024008C 00000000 */ nop +/* BB7100 80240090 46802120 */ cvt.s.w $f4, $f4 +/* BB7104 80240094 44062000 */ mfc1 $a2, $f4 +/* BB7108 80240098 44872000 */ mtc1 $a3, $f4 +/* BB710C 8024009C 00000000 */ nop +/* BB7110 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* BB7114 802400A4 44806000 */ mtc1 $zero, $f12 +/* BB7118 802400A8 44072000 */ mfc1 $a3, $f4 +/* BB711C 802400AC 0C00A720 */ jal atan2 +/* BB7120 802400B0 46006386 */ mov.s $f14, $f12 +/* BB7124 802400B4 3C014270 */ lui $at, 0x4270 +/* BB7128 802400B8 44811000 */ mtc1 $at, $f2 +/* BB712C 802400BC 00000000 */ nop +/* BB7130 802400C0 4602003C */ c.lt.s $f0, $f2 +/* BB7134 802400C4 00000000 */ nop +/* BB7138 802400C8 45000004 */ bc1f .L802400DC +/* BB713C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* BB7140 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* BB7144 802400D4 08090038 */ j .L802400E0 +/* BB7148 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* BB714C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* BB7150 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* BB7154 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* BB7158 802400E8 03E00008 */ jr $ra +/* BB715C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802400F0_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802400F0_BB7070.s new file mode 100644 index 0000000000..bff89e4906 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802400F0_BB7070.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_BB7160 +/* BB7160 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BB7164 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* BB7168 802400F8 0080882D */ daddu $s1, $a0, $zero +/* BB716C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* BB7170 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* BB7174 80240104 0C016AFA */ jal get_current_map_header +/* BB7178 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* BB717C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* BB7180 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* BB7184 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BB7188 80240118 0C0B1EAF */ jal get_variable +/* BB718C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* BB7190 80240120 0220202D */ daddu $a0, $s1, $zero +/* BB7194 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* BB7198 80240128 8E430014 */ lw $v1, 0x14($s2) +/* BB719C 8024012C 00028100 */ sll $s0, $v0, 4 +/* BB71A0 80240130 02031821 */ addu $v1, $s0, $v1 +/* BB71A4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* BB71A8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* BB71AC 8024013C 44061000 */ mfc1 $a2, $f2 +/* BB71B0 80240140 0C0B2026 */ jal set_variable +/* BB71B4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* BB71B8 80240148 0220202D */ daddu $a0, $s1, $zero +/* BB71BC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* BB71C0 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* BB71C4 80240154 02021021 */ addu $v0, $s0, $v0 +/* BB71C8 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* BB71CC 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* BB71D0 80240160 44061000 */ mfc1 $a2, $f2 +/* BB71D4 80240164 0C0B2026 */ jal set_variable +/* BB71D8 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* BB71DC 8024016C 0220202D */ daddu $a0, $s1, $zero +/* BB71E0 80240170 8E420014 */ lw $v0, 0x14($s2) +/* BB71E4 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* BB71E8 80240178 02021021 */ addu $v0, $s0, $v0 +/* BB71EC 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* BB71F0 80240180 4600008D */ trunc.w.s $f2, $f0 +/* BB71F4 80240184 44061000 */ mfc1 $a2, $f2 +/* BB71F8 80240188 0C0B2026 */ jal set_variable +/* BB71FC 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* BB7200 80240190 0220202D */ daddu $a0, $s1, $zero +/* BB7204 80240194 8E420014 */ lw $v0, 0x14($s2) +/* BB7208 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* BB720C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* BB7210 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* BB7214 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* BB7218 802401A8 44061000 */ mfc1 $a2, $f2 +/* BB721C 802401AC 0C0B2026 */ jal set_variable +/* BB7220 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* BB7224 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* BB7228 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* BB722C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* BB7230 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* BB7234 802401C4 24020002 */ addiu $v0, $zero, 2 +/* BB7238 802401C8 03E00008 */ jr $ra +/* BB723C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802401D0_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802401D0_BB7070.s new file mode 100644 index 0000000000..3b632c0bce --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802401D0_BB7070.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_BB7240 +/* BB7240 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BB7244 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BB7248 802401D8 3C014334 */ lui $at, 0x4334 +/* BB724C 802401DC 44816000 */ mtc1 $at, $f12 +/* BB7250 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB7254 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* BB7258 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* BB725C 802401EC 00031080 */ sll $v0, $v1, 2 +/* BB7260 802401F0 00431021 */ addu $v0, $v0, $v1 +/* BB7264 802401F4 00021080 */ sll $v0, $v0, 2 +/* BB7268 802401F8 00431023 */ subu $v0, $v0, $v1 +/* BB726C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* BB7270 80240200 00431021 */ addu $v0, $v0, $v1 +/* BB7274 80240204 000210C0 */ sll $v0, $v0, 3 +/* BB7278 80240208 3C01800B */ lui $at, 0x800b +/* BB727C 8024020C 00220821 */ addu $at, $at, $v0 +/* BB7280 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BB7284 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* BB7288 80240218 0C00A6C9 */ jal clamp_angle +/* BB728C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* BB7290 80240220 4600008D */ trunc.w.s $f2, $f0 +/* BB7294 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* BB7298 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* BB729C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* BB72A0 80240230 24020002 */ addiu $v0, $zero, 2 +/* BB72A4 80240234 03E00008 */ jr $ra +/* BB72A8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_8024023C_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_8024023C_BB7070.s new file mode 100644 index 0000000000..3bc463e44a --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_8024023C_BB7070.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_BB72AC +/* BB72AC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BB72B0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* BB72B4 80240244 0080802D */ daddu $s0, $a0, $zero +/* BB72B8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* BB72BC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* BB72C0 80240250 8E02000C */ lw $v0, 0xc($s0) +/* BB72C4 80240254 0C0B210B */ jal get_float_variable +/* BB72C8 80240258 8C450000 */ lw $a1, ($v0) +/* BB72CC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* BB72D0 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* BB72D4 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* BB72D8 80240268 44060000 */ mfc1 $a2, $f0 +/* BB72DC 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* BB72E0 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* BB72E4 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* BB72E8 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* BB72EC 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* BB72F0 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* BB72F4 80240284 0C00A7E7 */ jal add_vec2D_polar +/* BB72F8 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* BB72FC 8024028C 0200202D */ daddu $a0, $s0, $zero +/* BB7300 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* BB7304 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* BB7308 80240298 0C0B2190 */ jal set_float_variable +/* BB730C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BB7310 802402A0 0200202D */ daddu $a0, $s0, $zero +/* BB7314 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* BB7318 802402A8 4406A000 */ mfc1 $a2, $f20 +/* BB731C 802402AC 0C0B2190 */ jal set_float_variable +/* BB7320 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* BB7324 802402B4 0200202D */ daddu $a0, $s0, $zero +/* BB7328 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* BB732C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* BB7330 802402C0 0C0B2190 */ jal set_float_variable +/* BB7334 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* BB7338 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* BB733C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* BB7340 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* BB7344 802402D4 24020002 */ addiu $v0, $zero, 2 +/* BB7348 802402D8 03E00008 */ jr $ra +/* BB734C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802402E0_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802402E0_BB7070.s new file mode 100644 index 0000000000..79e0a55612 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802402E0_BB7070.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_BB7350 +/* BB7350 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB7354 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* BB7358 802402E8 0080802D */ daddu $s0, $a0, $zero +/* BB735C 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* BB7360 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* BB7364 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* BB7368 802402F8 00621821 */ addu $v1, $v1, $v0 +/* BB736C 802402FC 04610004 */ bgez $v1, .L80240310 +/* BB7370 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* BB7374 80240304 3C020002 */ lui $v0, 2 +/* BB7378 80240308 080900C8 */ j .L80240320 +/* BB737C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* BB7380 80240310 3C040002 */ lui $a0, 2 +/* BB7384 80240314 0083102A */ slt $v0, $a0, $v1 +/* BB7388 80240318 10400002 */ beqz $v0, .L80240324 +/* BB738C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* BB7390 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* BB7394 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* BB7398 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* BB739C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* BB73A0 80240330 04610004 */ bgez $v1, .L80240344 +/* BB73A4 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* BB73A8 80240338 3C020002 */ lui $v0, 2 +/* BB73AC 8024033C 080900D5 */ j .L80240354 +/* BB73B0 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* BB73B4 80240344 3C040002 */ lui $a0, 2 +/* BB73B8 80240348 0083102A */ slt $v0, $a0, $v1 +/* BB73BC 8024034C 10400002 */ beqz $v0, .L80240358 +/* BB73C0 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* BB73C4 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* BB73C8 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* BB73CC 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* BB73D0 80240360 00621821 */ addu $v1, $v1, $v0 +/* BB73D4 80240364 04610004 */ bgez $v1, .L80240378 +/* BB73D8 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* BB73DC 8024036C 3C020002 */ lui $v0, 2 +/* BB73E0 80240370 080900E2 */ j .L80240388 +/* BB73E4 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* BB73E8 80240378 3C040002 */ lui $a0, 2 +/* BB73EC 8024037C 0083102A */ slt $v0, $a0, $v1 +/* BB73F0 80240380 10400002 */ beqz $v0, .L8024038C +/* BB73F4 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* BB73F8 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* BB73FC 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* BB7400 80240390 8E020094 */ lw $v0, 0x94($s0) +/* BB7404 80240394 00621821 */ addu $v1, $v1, $v0 +/* BB7408 80240398 04610004 */ bgez $v1, .L802403AC +/* BB740C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* BB7410 802403A0 3C020002 */ lui $v0, 2 +/* BB7414 802403A4 080900EF */ j .L802403BC +/* BB7418 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* BB741C 802403AC 3C040002 */ lui $a0, 2 +/* BB7420 802403B0 0083102A */ slt $v0, $a0, $v1 +/* BB7424 802403B4 10400002 */ beqz $v0, .L802403C0 +/* BB7428 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* BB742C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* BB7430 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* BB7434 802403C4 0C046F07 */ jal set_main_pan_u +/* BB7438 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* BB743C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* BB7440 802403D0 0C046F0D */ jal set_main_pan_v +/* BB7444 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* BB7448 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* BB744C 802403DC 0C046F13 */ jal set_aux_pan_u +/* BB7450 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* BB7454 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* BB7458 802403E8 0C046F19 */ jal set_aux_pan_v +/* BB745C 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* BB7460 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* BB7464 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* BB7468 802403F8 0000102D */ daddu $v0, $zero, $zero +/* BB746C 802403FC 03E00008 */ jr $ra +/* BB7470 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240404_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240404_BB7070.s new file mode 100644 index 0000000000..015baef8e3 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240404_BB7070.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_BB7474 +/* BB7474 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB7478 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* BB747C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* BB7480 80240410 10A00005 */ beqz $a1, .L80240428 +/* BB7484 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* BB7488 80240418 AE000070 */ sw $zero, 0x70($s0) +/* BB748C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* BB7490 80240420 AE000078 */ sw $zero, 0x78($s0) +/* BB7494 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* BB7498 80240428 8E020070 */ lw $v0, 0x70($s0) +/* BB749C 8024042C 1440000E */ bnez $v0, .L80240468 +/* BB74A0 80240430 00000000 */ nop +/* BB74A4 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* BB74A8 80240438 8E020088 */ lw $v0, 0x88($s0) +/* BB74AC 8024043C 00621821 */ addu $v1, $v1, $v0 +/* BB74B0 80240440 04610004 */ bgez $v1, .L80240454 +/* BB74B4 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* BB74B8 80240448 3C020002 */ lui $v0, 2 +/* BB74BC 8024044C 08090119 */ j .L80240464 +/* BB74C0 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* BB74C4 80240454 3C040002 */ lui $a0, 2 +/* BB74C8 80240458 0083102A */ slt $v0, $a0, $v1 +/* BB74CC 8024045C 10400002 */ beqz $v0, .L80240468 +/* BB74D0 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* BB74D4 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* BB74D8 80240468 8E020074 */ lw $v0, 0x74($s0) +/* BB74DC 8024046C 1440000E */ bnez $v0, .L802404A8 +/* BB74E0 80240470 00000000 */ nop +/* BB74E4 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* BB74E8 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* BB74EC 8024047C 00621821 */ addu $v1, $v1, $v0 +/* BB74F0 80240480 04610004 */ bgez $v1, .L80240494 +/* BB74F4 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* BB74F8 80240488 3C020002 */ lui $v0, 2 +/* BB74FC 8024048C 08090129 */ j .L802404A4 +/* BB7500 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* BB7504 80240494 3C040002 */ lui $a0, 2 +/* BB7508 80240498 0083102A */ slt $v0, $a0, $v1 +/* BB750C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* BB7510 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* BB7514 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* BB7518 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* BB751C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* BB7520 802404B0 00000000 */ nop +/* BB7524 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* BB7528 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* BB752C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* BB7530 802404C0 04610004 */ bgez $v1, .L802404D4 +/* BB7534 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* BB7538 802404C8 3C020002 */ lui $v0, 2 +/* BB753C 802404CC 08090139 */ j .L802404E4 +/* BB7540 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* BB7544 802404D4 3C040002 */ lui $a0, 2 +/* BB7548 802404D8 0083102A */ slt $v0, $a0, $v1 +/* BB754C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* BB7550 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* BB7554 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* BB7558 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* BB755C 802404EC 1440000E */ bnez $v0, .L80240528 +/* BB7560 802404F0 00000000 */ nop +/* BB7564 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* BB7568 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* BB756C 802404FC 00621821 */ addu $v1, $v1, $v0 +/* BB7570 80240500 04610004 */ bgez $v1, .L80240514 +/* BB7574 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* BB7578 80240508 3C020002 */ lui $v0, 2 +/* BB757C 8024050C 08090149 */ j .L80240524 +/* BB7580 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* BB7584 80240514 3C040002 */ lui $a0, 2 +/* BB7588 80240518 0083102A */ slt $v0, $a0, $v1 +/* BB758C 8024051C 10400002 */ beqz $v0, .L80240528 +/* BB7590 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* BB7594 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* BB7598 80240528 8E040084 */ lw $a0, 0x84($s0) +/* BB759C 8024052C 0C046F07 */ jal set_main_pan_u +/* BB75A0 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* BB75A4 80240534 8E040084 */ lw $a0, 0x84($s0) +/* BB75A8 80240538 0C046F0D */ jal set_main_pan_v +/* BB75AC 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* BB75B0 80240540 8E040084 */ lw $a0, 0x84($s0) +/* BB75B4 80240544 0C046F13 */ jal set_aux_pan_u +/* BB75B8 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* BB75BC 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* BB75C0 80240550 0C046F19 */ jal set_aux_pan_v +/* BB75C4 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* BB75C8 80240558 8E020070 */ lw $v0, 0x70($s0) +/* BB75CC 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* BB75D0 80240560 8E040098 */ lw $a0, 0x98($s0) +/* BB75D4 80240564 24420001 */ addiu $v0, $v0, 1 +/* BB75D8 80240568 AE020070 */ sw $v0, 0x70($s0) +/* BB75DC 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* BB75E0 80240570 24630001 */ addiu $v1, $v1, 1 +/* BB75E4 80240574 AE030078 */ sw $v1, 0x78($s0) +/* BB75E8 80240578 8E030070 */ lw $v1, 0x70($s0) +/* BB75EC 8024057C 24420001 */ addiu $v0, $v0, 1 +/* BB75F0 80240580 AE020074 */ sw $v0, 0x74($s0) +/* BB75F4 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* BB75F8 80240588 0064182A */ slt $v1, $v1, $a0 +/* BB75FC 8024058C 24420001 */ addiu $v0, $v0, 1 +/* BB7600 80240590 14600002 */ bnez $v1, .L8024059C +/* BB7604 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* BB7608 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* BB760C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* BB7610 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* BB7614 802405A4 0043102A */ slt $v0, $v0, $v1 +/* BB7618 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* BB761C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* BB7620 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* BB7624 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* BB7628 802405B8 0043102A */ slt $v0, $v0, $v1 +/* BB762C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* BB7630 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* BB7634 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* BB7638 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* BB763C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* BB7640 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* BB7644 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* BB7648 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* BB764C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* BB7650 802405E0 0000102D */ daddu $v0, $zero, $zero +/* BB7654 802405E4 03E00008 */ jr $ra +/* BB7658 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802405EC_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802405EC_BB7070.s new file mode 100644 index 0000000000..101fcb9892 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802405EC_BB7070.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_BB765C +/* BB765C 802405EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB7660 802405F0 AFBF0010 */ sw $ra, 0x10($sp) +/* BB7664 802405F4 0C046ED4 */ jal enable_world_fog +/* BB7668 802405F8 00000000 */ nop +/* BB766C 802405FC 240403C0 */ addiu $a0, $zero, 0x3c0 +/* BB7670 80240600 0C046EDD */ jal set_world_fog_dist +/* BB7674 80240604 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BB7678 80240608 24040020 */ addiu $a0, $zero, 0x20 +/* BB767C 8024060C 2405001E */ addiu $a1, $zero, 0x1e +/* BB7680 80240610 2406001C */ addiu $a2, $zero, 0x1c +/* BB7684 80240614 0C046EE2 */ jal set_world_fog_color +/* BB7688 80240618 240700FF */ addiu $a3, $zero, 0xff +/* BB768C 8024061C 0C048BFB */ jal enable_entity_fog +/* BB7690 80240620 00000000 */ nop +/* BB7694 80240624 240403DE */ addiu $a0, $zero, 0x3de +/* BB7698 80240628 0C048C04 */ jal set_entity_fog_dist +/* BB769C 8024062C 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BB76A0 80240630 0000202D */ daddu $a0, $zero, $zero +/* BB76A4 80240634 0080282D */ daddu $a1, $a0, $zero +/* BB76A8 80240638 0080302D */ daddu $a2, $a0, $zero +/* BB76AC 8024063C 0C048C0A */ jal set_entity_fog_color +/* BB76B0 80240640 240700FF */ addiu $a3, $zero, 0xff +/* BB76B4 80240644 3C03800B */ lui $v1, %hi(gCameras) +/* BB76B8 80240648 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BB76BC 8024064C 24020018 */ addiu $v0, $zero, 0x18 +/* BB76C0 80240650 A462002C */ sh $v0, 0x2c($v1) +/* BB76C4 80240654 A462002E */ sh $v0, 0x2e($v1) +/* BB76C8 80240658 A4620030 */ sh $v0, 0x30($v1) +/* BB76CC 8024065C 8FBF0010 */ lw $ra, 0x10($sp) +/* BB76D0 80240660 24020002 */ addiu $v0, $zero, 2 +/* BB76D4 80240664 03E00008 */ jr $ra +/* BB76D8 80240668 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_8024066C.s b/asm/nonmatchings/world/area_mim/mim_11/func_8024066C.s new file mode 100644 index 0000000000..2a665b70a0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_8024066C.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024066C +/* BB76DC 8024066C 0080302D */ daddu $a2, $a0, $zero +/* BB76E0 80240670 0000382D */ daddu $a3, $zero, $zero +/* BB76E4 80240674 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BB76E8 80240678 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BB76EC 8024067C 3C04800B */ lui $a0, %hi(gCameras) +/* BB76F0 80240680 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* BB76F4 80240684 00031080 */ sll $v0, $v1, 2 +/* BB76F8 80240688 00431021 */ addu $v0, $v0, $v1 +/* BB76FC 8024068C 00021080 */ sll $v0, $v0, 2 +/* BB7700 80240690 00431023 */ subu $v0, $v0, $v1 +/* BB7704 80240694 000218C0 */ sll $v1, $v0, 3 +/* BB7708 80240698 00431021 */ addu $v0, $v0, $v1 +/* BB770C 8024069C 000210C0 */ sll $v0, $v0, 3 +/* BB7710 802406A0 10A00005 */ beqz $a1, .L802406B8 +/* BB7714 802406A4 00442021 */ addu $a0, $v0, $a0 +/* BB7718 802406A8 24020064 */ addiu $v0, $zero, 0x64 +/* BB771C 802406AC ACC00074 */ sw $zero, 0x74($a2) +/* BB7720 802406B0 ACC00078 */ sw $zero, 0x78($a2) +/* BB7724 802406B4 ACC2007C */ sw $v0, 0x7c($a2) +.L802406B8: +/* BB7728 802406B8 8CC30074 */ lw $v1, 0x74($a2) +/* BB772C 802406BC 10600005 */ beqz $v1, .L802406D4 +/* BB7730 802406C0 24020001 */ addiu $v0, $zero, 1 +/* BB7734 802406C4 1062000C */ beq $v1, $v0, .L802406F8 +/* BB7738 802406C8 00000000 */ nop +/* BB773C 802406CC 080901C9 */ j .L80240724 +/* BB7740 802406D0 00000000 */ nop +.L802406D4: +/* BB7744 802406D4 8CC20078 */ lw $v0, 0x78($a2) +/* BB7748 802406D8 8CC3007C */ lw $v1, 0x7c($a2) +/* BB774C 802406DC 00431021 */ addu $v0, $v0, $v1 +/* BB7750 802406E0 ACC20078 */ sw $v0, 0x78($a2) +/* BB7754 802406E4 28423E80 */ slti $v0, $v0, 0x3e80 +/* BB7758 802406E8 1440000E */ bnez $v0, .L80240724 +/* BB775C 802406EC 24020001 */ addiu $v0, $zero, 1 +/* BB7760 802406F0 080901C9 */ j .L80240724 +/* BB7764 802406F4 ACC20074 */ sw $v0, 0x74($a2) +.L802406F8: +/* BB7768 802406F8 8CC20078 */ lw $v0, 0x78($a2) +/* BB776C 802406FC 8CC3007C */ lw $v1, 0x7c($a2) +/* BB7770 80240700 00431021 */ addu $v0, $v0, $v1 +/* BB7774 80240704 ACC20078 */ sw $v0, 0x78($a2) +/* BB7778 80240708 0060102D */ daddu $v0, $v1, $zero +/* BB777C 8024070C 8CC30078 */ lw $v1, 0x78($a2) +/* BB7780 80240710 2442FFFE */ addiu $v0, $v0, -2 +/* BB7784 80240714 28634650 */ slti $v1, $v1, 0x4650 +/* BB7788 80240718 14600002 */ bnez $v1, .L80240724 +/* BB778C 8024071C ACC2007C */ sw $v0, 0x7c($a2) +/* BB7790 80240720 24070002 */ addiu $a3, $zero, 2 +.L80240724: +/* BB7794 80240724 3C013A89 */ lui $at, 0x3a89 +/* BB7798 80240728 3421A028 */ ori $at, $at, 0xa028 +/* BB779C 8024072C 44811000 */ mtc1 $at, $f2 +/* BB77A0 80240730 C4C00078 */ lwc1 $f0, 0x78($a2) +/* BB77A4 80240734 46800020 */ cvt.s.w $f0, $f0 +/* BB77A8 80240738 46020002 */ mul.s $f0, $f0, $f2 +/* BB77AC 8024073C 00000000 */ nop +/* BB77B0 80240740 3C014220 */ lui $at, 0x4220 +/* BB77B4 80240744 44811000 */ mtc1 $at, $f2 +/* BB77B8 80240748 00000000 */ nop +/* BB77BC 8024074C 46020000 */ add.s $f0, $f0, $f2 +/* BB77C0 80240750 3C013B29 */ lui $at, 0x3b29 +/* BB77C4 80240754 34214D24 */ ori $at, $at, 0x4d24 +/* BB77C8 80240758 44811000 */ mtc1 $at, $f2 +/* BB77CC 8024075C E48004E0 */ swc1 $f0, 0x4e0($a0) +/* BB77D0 80240760 C4C00078 */ lwc1 $f0, 0x78($a2) +/* BB77D4 80240764 46800020 */ cvt.s.w $f0, $f0 +/* BB77D8 80240768 46020002 */ mul.s $f0, $f0, $f2 +/* BB77DC 8024076C 00000000 */ nop +/* BB77E0 80240770 3C01C27E */ lui $at, 0xc27e +/* BB77E4 80240774 34216666 */ ori $at, $at, 0x6666 +/* BB77E8 80240778 44811000 */ mtc1 $at, $f2 +/* BB77EC 8024077C 00000000 */ nop +/* BB77F0 80240780 46020000 */ add.s $f0, $f0, $f2 +/* BB77F4 80240784 00E0102D */ daddu $v0, $a3, $zero +/* BB77F8 80240788 03E00008 */ jr $ra +/* BB77FC 8024078C E48004FC */ swc1 $f0, 0x4fc($a0) diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240790.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240790.s new file mode 100644 index 0000000000..4aafb7caa4 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240790.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790 +/* BB7800 80240790 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BB7804 80240794 AFB00010 */ sw $s0, 0x10($sp) +/* BB7808 80240798 AFB10014 */ sw $s1, 0x14($sp) +/* BB780C 8024079C 3C11800B */ lui $s1, %hi(gCameras) +/* BB7810 802407A0 26311D80 */ addiu $s1, $s1, %lo(gCameras) +/* BB7814 802407A4 AFBF0018 */ sw $ra, 0x18($sp) +/* BB7818 802407A8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* BB781C 802407AC F7B40020 */ sdc1 $f20, 0x20($sp) +/* BB7820 802407B0 10A00002 */ beqz $a1, .L802407BC +/* BB7824 802407B4 0080802D */ daddu $s0, $a0, $zero +/* BB7828 802407B8 AE000074 */ sw $zero, 0x74($s0) +.L802407BC: +/* BB782C 802407BC 3C064296 */ lui $a2, 0x4296 +/* BB7830 802407C0 3C07439A */ lui $a3, 0x439a +/* BB7834 802407C4 34E78000 */ ori $a3, $a3, 0x8000 +/* BB7838 802407C8 3C0142B2 */ lui $at, 0x42b2 +/* BB783C 802407CC 4481A000 */ mtc1 $at, $f20 +/* BB7840 802407D0 3C0142A8 */ lui $at, 0x42a8 +/* BB7844 802407D4 4481B000 */ mtc1 $at, $f22 +/* BB7848 802407D8 4600A306 */ mov.s $f12, $f20 +/* BB784C 802407DC 0C00A720 */ jal atan2 +/* BB7850 802407E0 4600B386 */ mov.s $f14, $f22 +/* BB7854 802407E4 4600A306 */ mov.s $f12, $f20 +/* BB7858 802407E8 4600B386 */ mov.s $f14, $f22 +/* BB785C 802407EC 3C064375 */ lui $a2, 0x4375 +/* BB7860 802407F0 3C0742AA */ lui $a3, 0x42aa +/* BB7864 802407F4 0C00A720 */ jal atan2 +/* BB7868 802407F8 46000586 */ mov.s $f22, $f0 +/* BB786C 802407FC 46160501 */ sub.s $f20, $f0, $f22 +/* BB7870 80240800 3C014220 */ lui $at, 0x4220 +/* BB7874 80240804 44810000 */ mtc1 $at, $f0 +/* BB7878 80240808 00000000 */ nop +/* BB787C 8024080C 4600A503 */ div.s $f20, $f20, $f0 +/* BB7880 80240810 C6000074 */ lwc1 $f0, 0x74($s0) +/* BB7884 80240814 46800020 */ cvt.s.w $f0, $f0 +/* BB7888 80240818 4600A502 */ mul.s $f20, $f20, $f0 +/* BB788C 8024081C 00000000 */ nop +/* BB7890 80240820 4616A500 */ add.s $f20, $f20, $f22 +/* BB7894 80240824 3C0142C8 */ lui $at, 0x42c8 +/* BB7898 80240828 4481B000 */ mtc1 $at, $f22 +/* BB789C 8024082C 0C00A8BB */ jal sin_deg +/* BB78A0 80240830 4600A306 */ mov.s $f12, $f20 +/* BB78A4 80240834 46160002 */ mul.s $f0, $f0, $f22 +/* BB78A8 80240838 00000000 */ nop +/* BB78AC 8024083C 4600A306 */ mov.s $f12, $f20 +/* BB78B0 80240840 4600008D */ trunc.w.s $f2, $f0 +/* BB78B4 80240844 44021000 */ mfc1 $v0, $f2 +/* BB78B8 80240848 00000000 */ nop +/* BB78BC 8024084C 24420059 */ addiu $v0, $v0, 0x59 +/* BB78C0 80240850 44820000 */ mtc1 $v0, $f0 +/* BB78C4 80240854 00000000 */ nop +/* BB78C8 80240858 46800020 */ cvt.s.w $f0, $f0 +/* BB78CC 8024085C 0C00A8D4 */ jal cos_deg +/* BB78D0 80240860 E62004B0 */ swc1 $f0, 0x4b0($s1) +/* BB78D4 80240864 46000007 */ neg.s $f0, $f0 +/* BB78D8 80240868 46160002 */ mul.s $f0, $f0, $f22 +/* BB78DC 8024086C 00000000 */ nop +/* BB78E0 80240870 24020001 */ addiu $v0, $zero, 1 +/* BB78E4 80240874 A6220506 */ sh $v0, 0x506($s1) +/* BB78E8 80240878 4600008D */ trunc.w.s $f2, $f0 +/* BB78EC 8024087C 44021000 */ mfc1 $v0, $f2 +/* BB78F0 80240880 00000000 */ nop +/* BB78F4 80240884 24420054 */ addiu $v0, $v0, 0x54 +/* BB78F8 80240888 44820000 */ mtc1 $v0, $f0 +/* BB78FC 8024088C 00000000 */ nop +/* BB7900 80240890 46800020 */ cvt.s.w $f0, $f0 +/* BB7904 80240894 E62004B8 */ swc1 $f0, 0x4b8($s1) +/* BB7908 80240898 8E020074 */ lw $v0, 0x74($s0) +/* BB790C 8024089C 24420001 */ addiu $v0, $v0, 1 +/* BB7910 802408A0 AE020074 */ sw $v0, 0x74($s0) +/* BB7914 802408A4 28420029 */ slti $v0, $v0, 0x29 +/* BB7918 802408A8 38420001 */ xori $v0, $v0, 1 +/* BB791C 802408AC 8FBF0018 */ lw $ra, 0x18($sp) +/* BB7920 802408B0 8FB10014 */ lw $s1, 0x14($sp) +/* BB7924 802408B4 8FB00010 */ lw $s0, 0x10($sp) +/* BB7928 802408B8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* BB792C 802408BC D7B40020 */ ldc1 $f20, 0x20($sp) +/* BB7930 802408C0 00021040 */ sll $v0, $v0, 1 +/* BB7934 802408C4 03E00008 */ jr $ra +/* BB7938 802408C8 27BD0030 */ addiu $sp, $sp, 0x30 +/* BB793C 802408CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802408D0_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802408D0_BB7070.s new file mode 100644 index 0000000000..c09b334cf2 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802408D0_BB7070.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_BB7940 +/* BB7940 802408D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BB7944 802408D4 AFBF0010 */ sw $ra, 0x10($sp) +/* BB7948 802408D8 0C03A86D */ jal increment_max_SP +/* BB794C 802408DC 00000000 */ nop +/* BB7950 802408E0 8FBF0010 */ lw $ra, 0x10($sp) +/* BB7954 802408E4 24020002 */ addiu $v0, $zero, 2 +/* BB7958 802408E8 03E00008 */ jr $ra +/* BB795C 802408EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802408F0_BB7070.s b/asm/nonmatchings/world/area_mim/mim_11/func_802408F0_BB7070.s new file mode 100644 index 0000000000..c8c429a451 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802408F0_BB7070.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F0_BB7960 +/* BB7960 802408F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BB7964 802408F4 AFB10014 */ sw $s1, 0x14($sp) +/* BB7968 802408F8 0080882D */ daddu $s1, $a0, $zero +/* BB796C 802408FC AFBF0018 */ sw $ra, 0x18($sp) +/* BB7970 80240900 10A00005 */ beqz $a1, .L80240918 +/* BB7974 80240904 AFB00010 */ sw $s0, 0x10($sp) +/* BB7978 80240908 8E24014C */ lw $a0, 0x14c($s1) +/* BB797C 8024090C 0C00EAD2 */ jal get_npc_safe +/* BB7980 80240910 AE200074 */ sw $zero, 0x74($s1) +/* BB7984 80240914 AE220078 */ sw $v0, 0x78($s1) +.L80240918: +/* BB7988 80240918 C62C0074 */ lwc1 $f12, 0x74($s1) +/* BB798C 8024091C 0C00A8BB */ jal sin_deg +/* BB7990 80240920 8E300078 */ lw $s0, 0x78($s1) +/* BB7994 80240924 3C0140C0 */ lui $at, 0x40c0 +/* BB7998 80240928 44811000 */ mtc1 $at, $f2 +/* BB799C 8024092C 00000000 */ nop +/* BB79A0 80240930 46020002 */ mul.s $f0, $f0, $f2 +/* BB79A4 80240934 00000000 */ nop +/* BB79A8 80240938 3C014190 */ lui $at, 0x4190 +/* BB79AC 8024093C 44816000 */ mtc1 $at, $f12 +/* BB79B0 80240940 4600010D */ trunc.w.s $f4, $f0 +/* BB79B4 80240944 44022000 */ mfc1 $v0, $f4 +/* BB79B8 80240948 00000000 */ nop +/* BB79BC 8024094C A20200AB */ sb $v0, 0xab($s0) +/* BB79C0 80240950 C6200074 */ lwc1 $f0, 0x74($s1) +/* BB79C4 80240954 0C00A6C9 */ jal clamp_angle +/* BB79C8 80240958 460C0300 */ add.s $f12, $f0, $f12 +/* BB79CC 8024095C E6200074 */ swc1 $f0, 0x74($s1) +/* BB79D0 80240960 8FBF0018 */ lw $ra, 0x18($sp) +/* BB79D4 80240964 8FB10014 */ lw $s1, 0x14($sp) +/* BB79D8 80240968 8FB00010 */ lw $s0, 0x10($sp) +/* BB79DC 8024096C 0000102D */ daddu $v0, $zero, $zero +/* BB79E0 80240970 03E00008 */ jr $ra +/* BB79E4 80240974 27BD0020 */ addiu $sp, $sp, 0x20 +/* BB79E8 80240978 00000000 */ nop +/* BB79EC 8024097C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_80240980.s b/asm/nonmatchings/world/area_mim/mim_11/func_80240980.s new file mode 100644 index 0000000000..d233ddb90b --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_80240980.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240980 +/* BB79F0 80240980 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BB79F4 80240984 F7B40018 */ sdc1 $f20, 0x18($sp) +/* BB79F8 80240988 4485A000 */ mtc1 $a1, $f20 +/* BB79FC 8024098C F7B60020 */ sdc1 $f22, 0x20($sp) +/* BB7A00 80240990 4486B000 */ mtc1 $a2, $f22 +/* BB7A04 80240994 AFB00010 */ sw $s0, 0x10($sp) +/* BB7A08 80240998 F7B80028 */ sdc1 $f24, 0x28($sp) +/* BB7A0C 8024099C 4487C000 */ mtc1 $a3, $f24 +/* BB7A10 802409A0 AFBF0014 */ sw $ra, 0x14($sp) +/* BB7A14 802409A4 0C019D28 */ jal guMtxIdentF +/* BB7A18 802409A8 0080802D */ daddu $s0, $a0, $zero +/* BB7A1C 802409AC 4616A582 */ mul.s $f22, $f20, $f22 +/* BB7A20 802409B0 00000000 */ nop +/* BB7A24 802409B4 4618A502 */ mul.s $f20, $f20, $f24 +/* BB7A28 802409B8 00000000 */ nop +/* BB7A2C 802409BC 3C013F80 */ lui $at, 0x3f80 +/* BB7A30 802409C0 44810000 */ mtc1 $at, $f0 +/* BB7A34 802409C4 00000000 */ nop +/* BB7A38 802409C8 E6000014 */ swc1 $f0, 0x14($s0) +/* BB7A3C 802409CC E6160010 */ swc1 $f22, 0x10($s0) +/* BB7A40 802409D0 E6140018 */ swc1 $f20, 0x18($s0) +/* BB7A44 802409D4 8FBF0014 */ lw $ra, 0x14($sp) +/* BB7A48 802409D8 8FB00010 */ lw $s0, 0x10($sp) +/* BB7A4C 802409DC D7B80028 */ ldc1 $f24, 0x28($sp) +/* BB7A50 802409E0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* BB7A54 802409E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* BB7A58 802409E8 03E00008 */ jr $ra +/* BB7A5C 802409EC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_11/func_802409F0.s b/asm/nonmatchings/world/area_mim/mim_11/func_802409F0.s new file mode 100644 index 0000000000..92a6974ab5 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_11/func_802409F0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F0 +/* BB7A60 802409F0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* BB7A64 802409F4 AFB10054 */ sw $s1, 0x54($sp) +/* BB7A68 802409F8 0080882D */ daddu $s1, $a0, $zero +/* BB7A6C 802409FC AFBF005C */ sw $ra, 0x5c($sp) +/* BB7A70 80240A00 AFB20058 */ sw $s2, 0x58($sp) +/* BB7A74 80240A04 AFB00050 */ sw $s0, 0x50($sp) +/* BB7A78 80240A08 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* BB7A7C 80240A0C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* BB7A80 80240A10 F7B80070 */ sdc1 $f24, 0x70($sp) +/* BB7A84 80240A14 F7B60068 */ sdc1 $f22, 0x68($sp) +/* BB7A88 80240A18 F7B40060 */ sdc1 $f20, 0x60($sp) +/* BB7A8C 80240A1C 8E30000C */ lw $s0, 0xc($s1) +/* BB7A90 80240A20 8E050000 */ lw $a1, ($s0) +/* BB7A94 80240A24 0C0B1EAF */ jal get_variable +/* BB7A98 80240A28 26100004 */ addiu $s0, $s0, 4 +/* BB7A9C 80240A2C 0C046C04 */ jal get_model_list_index_from_tree_index +/* BB7AA0 80240A30 0040202D */ daddu $a0, $v0, $zero +/* BB7AA4 80240A34 8E050000 */ lw $a1, ($s0) +/* BB7AA8 80240A38 26100004 */ addiu $s0, $s0, 4 +/* BB7AAC 80240A3C 0220202D */ daddu $a0, $s1, $zero +/* BB7AB0 80240A40 0C0B210B */ jal get_float_variable +/* BB7AB4 80240A44 0040902D */ daddu $s2, $v0, $zero +/* BB7AB8 80240A48 8E050000 */ lw $a1, ($s0) +/* BB7ABC 80240A4C 26100004 */ addiu $s0, $s0, 4 +/* BB7AC0 80240A50 0220202D */ daddu $a0, $s1, $zero +/* BB7AC4 80240A54 0C0B210B */ jal get_float_variable +/* BB7AC8 80240A58 46000706 */ mov.s $f28, $f0 +/* BB7ACC 80240A5C 8E050000 */ lw $a1, ($s0) +/* BB7AD0 80240A60 26100004 */ addiu $s0, $s0, 4 +/* BB7AD4 80240A64 0220202D */ daddu $a0, $s1, $zero +/* BB7AD8 80240A68 0C0B210B */ jal get_float_variable +/* BB7ADC 80240A6C 46000686 */ mov.s $f26, $f0 +/* BB7AE0 80240A70 0220202D */ daddu $a0, $s1, $zero +/* BB7AE4 80240A74 8E050000 */ lw $a1, ($s0) +/* BB7AE8 80240A78 0C0B210B */ jal get_float_variable +/* BB7AEC 80240A7C 46000586 */ mov.s $f22, $f0 +/* BB7AF0 80240A80 0240202D */ daddu $a0, $s2, $zero +/* BB7AF4 80240A84 0C046B4C */ jal get_model_from_list_index +/* BB7AF8 80240A88 46000606 */ mov.s $f24, $f0 +/* BB7AFC 80240A8C 0040882D */ daddu $s1, $v0, $zero +/* BB7B00 80240A90 96220000 */ lhu $v0, ($s1) +/* BB7B04 80240A94 30420400 */ andi $v0, $v0, 0x400 +/* BB7B08 80240A98 1440001E */ bnez $v0, .L80240B14 +/* BB7B0C 80240A9C 26300058 */ addiu $s0, $s1, 0x58 +/* BB7B10 80240AA0 4480A000 */ mtc1 $zero, $f20 +/* BB7B14 80240AA4 4406B000 */ mfc1 $a2, $f22 +/* BB7B18 80240AA8 4405A000 */ mfc1 $a1, $f20 +/* BB7B1C 80240AAC 4407A000 */ mfc1 $a3, $f20 +/* BB7B20 80240AB0 0C019E40 */ jal guTranslateF +/* BB7B24 80240AB4 0200202D */ daddu $a0, $s0, $zero +/* BB7B28 80240AB8 4405E000 */ mfc1 $a1, $f28 +/* BB7B2C 80240ABC 4406D000 */ mfc1 $a2, $f26 +/* BB7B30 80240AC0 4407C000 */ mfc1 $a3, $f24 +/* BB7B34 80240AC4 0C090260 */ jal func_80240980 +/* BB7B38 80240AC8 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7B3C 80240ACC 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7B40 80240AD0 0200282D */ daddu $a1, $s0, $zero +/* BB7B44 80240AD4 0C019D80 */ jal guMtxCatF +/* BB7B48 80240AD8 0200302D */ daddu $a2, $s0, $zero +/* BB7B4C 80240ADC 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7B50 80240AE0 4600B587 */ neg.s $f22, $f22 +/* BB7B54 80240AE4 4405A000 */ mfc1 $a1, $f20 +/* BB7B58 80240AE8 4406B000 */ mfc1 $a2, $f22 +/* BB7B5C 80240AEC 0C019E40 */ jal guTranslateF +/* BB7B60 80240AF0 00A0382D */ daddu $a3, $a1, $zero +/* BB7B64 80240AF4 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7B68 80240AF8 0200282D */ daddu $a1, $s0, $zero +/* BB7B6C 80240AFC 0C019D80 */ jal guMtxCatF +/* BB7B70 80240B00 00A0302D */ daddu $a2, $a1, $zero +/* BB7B74 80240B04 96220000 */ lhu $v0, ($s1) +/* BB7B78 80240B08 34421400 */ ori $v0, $v0, 0x1400 +/* BB7B7C 80240B0C 080902E3 */ j .L80240B8C +/* BB7B80 80240B10 A6220000 */ sh $v0, ($s1) +.L80240B14: +/* BB7B84 80240B14 4480A000 */ mtc1 $zero, $f20 +/* BB7B88 80240B18 4406B000 */ mfc1 $a2, $f22 +/* BB7B8C 80240B1C 4405A000 */ mfc1 $a1, $f20 +/* BB7B90 80240B20 4407A000 */ mfc1 $a3, $f20 +/* BB7B94 80240B24 0C019E40 */ jal guTranslateF +/* BB7B98 80240B28 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7B9C 80240B2C 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7BA0 80240B30 26300058 */ addiu $s0, $s1, 0x58 +/* BB7BA4 80240B34 0200282D */ daddu $a1, $s0, $zero +/* BB7BA8 80240B38 0C019D80 */ jal guMtxCatF +/* BB7BAC 80240B3C 0200302D */ daddu $a2, $s0, $zero +/* BB7BB0 80240B40 4405E000 */ mfc1 $a1, $f28 +/* BB7BB4 80240B44 4406D000 */ mfc1 $a2, $f26 +/* BB7BB8 80240B48 4407C000 */ mfc1 $a3, $f24 +/* BB7BBC 80240B4C 0C090260 */ jal func_80240980 +/* BB7BC0 80240B50 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7BC4 80240B54 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7BC8 80240B58 0200282D */ daddu $a1, $s0, $zero +/* BB7BCC 80240B5C 0C019D80 */ jal guMtxCatF +/* BB7BD0 80240B60 0200302D */ daddu $a2, $s0, $zero +/* BB7BD4 80240B64 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7BD8 80240B68 4600B587 */ neg.s $f22, $f22 +/* BB7BDC 80240B6C 4405A000 */ mfc1 $a1, $f20 +/* BB7BE0 80240B70 4406B000 */ mfc1 $a2, $f22 +/* BB7BE4 80240B74 0C019E40 */ jal guTranslateF +/* BB7BE8 80240B78 00A0382D */ daddu $a3, $a1, $zero +/* BB7BEC 80240B7C 27A40010 */ addiu $a0, $sp, 0x10 +/* BB7BF0 80240B80 0200282D */ daddu $a1, $s0, $zero +/* BB7BF4 80240B84 0C019D80 */ jal guMtxCatF +/* BB7BF8 80240B88 00A0302D */ daddu $a2, $a1, $zero +.L80240B8C: +/* BB7BFC 80240B8C 8FBF005C */ lw $ra, 0x5c($sp) +/* BB7C00 80240B90 8FB20058 */ lw $s2, 0x58($sp) +/* BB7C04 80240B94 8FB10054 */ lw $s1, 0x54($sp) +/* BB7C08 80240B98 8FB00050 */ lw $s0, 0x50($sp) +/* BB7C0C 80240B9C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* BB7C10 80240BA0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* BB7C14 80240BA4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* BB7C18 80240BA8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* BB7C1C 80240BAC D7B40060 */ ldc1 $f20, 0x60($sp) +/* BB7C20 80240BB0 24020002 */ addiu $v0, $zero, 2 +/* BB7C24 80240BB4 03E00008 */ jr $ra +/* BB7C28 80240BB8 27BD0088 */ addiu $sp, $sp, 0x88 +/* BB7C2C 80240BBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_80240000_BBB380.s b/asm/nonmatchings/world/area_mim/mim_12/func_80240000_BBB380.s new file mode 100644 index 0000000000..c396d17857 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_80240000_BBB380.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BBB380 +/* BBB380 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBB384 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* BBB388 80240008 0C046ED4 */ jal enable_world_fog +/* BBB38C 8024000C 00000000 */ nop +/* BBB390 80240010 240403DE */ addiu $a0, $zero, 0x3de +/* BBB394 80240014 0C046EDD */ jal set_world_fog_dist +/* BBB398 80240018 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BBB39C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* BBB3A0 80240020 24050008 */ addiu $a1, $zero, 8 +/* BBB3A4 80240024 24060018 */ addiu $a2, $zero, 0x18 +/* BBB3A8 80240028 0C046EE2 */ jal set_world_fog_color +/* BBB3AC 8024002C 240700FF */ addiu $a3, $zero, 0xff +/* BBB3B0 80240030 3C02800B */ lui $v0, %hi(gCameras) +/* BBB3B4 80240034 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* BBB3B8 80240038 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* BBB3BC 8024003C 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* BBB3C0 80240040 24030018 */ addiu $v1, $zero, 0x18 +/* BBB3C4 80240044 A443002C */ sh $v1, 0x2c($v0) +/* BBB3C8 80240048 A443002E */ sh $v1, 0x2e($v0) +/* BBB3CC 8024004C A4430030 */ sh $v1, 0x30($v0) +/* BBB3D0 80240050 A480015C */ sh $zero, 0x15c($a0) +/* BBB3D4 80240054 8FBF0010 */ lw $ra, 0x10($sp) +/* BBB3D8 80240058 24020002 */ addiu $v0, $zero, 2 +/* BBB3DC 8024005C 03E00008 */ jr $ra +/* BBB3E0 80240060 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_80240064_BBB380.s b/asm/nonmatchings/world/area_mim/mim_12/func_80240064_BBB380.s new file mode 100644 index 0000000000..759a639dcd --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_80240064_BBB380.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240064_BBB3E4 +/* BBB3E4 80240064 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBB3E8 80240068 AFBF0010 */ sw $ra, 0x10($sp) +/* BBB3EC 8024006C 0C046ED4 */ jal enable_world_fog +/* BBB3F0 80240070 00000000 */ nop +/* BBB3F4 80240074 240403D4 */ addiu $a0, $zero, 0x3d4 +/* BBB3F8 80240078 0C046EDD */ jal set_world_fog_dist +/* BBB3FC 8024007C 240503E8 */ addiu $a1, $zero, 0x3e8 +/* BBB400 80240080 0000202D */ daddu $a0, $zero, $zero +/* BBB404 80240084 24050008 */ addiu $a1, $zero, 8 +/* BBB408 80240088 24060018 */ addiu $a2, $zero, 0x18 +/* BBB40C 8024008C 0C046EE2 */ jal set_world_fog_color +/* BBB410 80240090 240700FF */ addiu $a3, $zero, 0xff +/* BBB414 80240094 3C03800B */ lui $v1, %hi(gCameras) +/* BBB418 80240098 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BBB41C 8024009C 24020018 */ addiu $v0, $zero, 0x18 +/* BBB420 802400A0 A462002C */ sh $v0, 0x2c($v1) +/* BBB424 802400A4 A462002E */ sh $v0, 0x2e($v1) +/* BBB428 802400A8 A4620030 */ sh $v0, 0x30($v1) +/* BBB42C 802400AC 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* BBB430 802400B0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* BBB434 802400B4 240200E8 */ addiu $v0, $zero, 0xe8 +/* BBB438 802400B8 A462015C */ sh $v0, 0x15c($v1) +/* BBB43C 802400BC 8FBF0010 */ lw $ra, 0x10($sp) +/* BBB440 802400C0 24020002 */ addiu $v0, $zero, 2 +/* BBB444 802400C4 03E00008 */ jr $ra +/* BBB448 802400C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_802400CC.s b/asm/nonmatchings/world/area_mim/mim_12/func_802400CC.s new file mode 100644 index 0000000000..7d75b80a30 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_802400CC.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400CC +/* BBB44C 802400CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBB450 802400D0 AFB10014 */ sw $s1, 0x14($sp) +/* BBB454 802400D4 0080882D */ daddu $s1, $a0, $zero +/* BBB458 802400D8 AFB20018 */ sw $s2, 0x18($sp) +/* BBB45C 802400DC AFBF001C */ sw $ra, 0x1c($sp) +/* BBB460 802400E0 AFB00010 */ sw $s0, 0x10($sp) +/* BBB464 802400E4 8E30000C */ lw $s0, 0xc($s1) +/* BBB468 802400E8 10A00013 */ beqz $a1, .L80240138 +/* BBB46C 802400EC 0000902D */ daddu $s2, $zero, $zero +/* BBB470 802400F0 8E050000 */ lw $a1, ($s0) +/* BBB474 802400F4 0C0B1EAF */ jal get_variable +/* BBB478 802400F8 26100004 */ addiu $s0, $s0, 4 +/* BBB47C 802400FC AE220074 */ sw $v0, 0x74($s1) +/* BBB480 80240100 8E050000 */ lw $a1, ($s0) +/* BBB484 80240104 26100004 */ addiu $s0, $s0, 4 +/* BBB488 80240108 0C0B1EAF */ jal get_variable +/* BBB48C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* BBB490 80240110 AE220078 */ sw $v0, 0x78($s1) +/* BBB494 80240114 8E050000 */ lw $a1, ($s0) +/* BBB498 80240118 26100004 */ addiu $s0, $s0, 4 +/* BBB49C 8024011C 0C0B1EAF */ jal get_variable +/* BBB4A0 80240120 0220202D */ daddu $a0, $s1, $zero +/* BBB4A4 80240124 AE220070 */ sw $v0, 0x70($s1) +/* BBB4A8 80240128 8E050000 */ lw $a1, ($s0) +/* BBB4AC 8024012C 0C0B1EAF */ jal get_variable +/* BBB4B0 80240130 0220202D */ daddu $a0, $s1, $zero +/* BBB4B4 80240134 AE22007C */ sw $v0, 0x7c($s1) +.L80240138: +/* BBB4B8 80240138 8E23007C */ lw $v1, 0x7c($s1) +/* BBB4BC 8024013C 8E220074 */ lw $v0, 0x74($s1) +/* BBB4C0 80240140 0060202D */ daddu $a0, $v1, $zero +/* BBB4C4 80240144 00431021 */ addu $v0, $v0, $v1 +/* BBB4C8 80240148 04800004 */ bltz $a0, .L8024015C +/* BBB4CC 8024014C AE220074 */ sw $v0, 0x74($s1) +/* BBB4D0 80240150 8E230078 */ lw $v1, 0x78($s1) +/* BBB4D4 80240154 08090059 */ j .L80240164 +/* BBB4D8 80240158 0043102A */ slt $v0, $v0, $v1 +.L8024015C: +/* BBB4DC 8024015C 8E230078 */ lw $v1, 0x78($s1) +/* BBB4E0 80240160 0062102A */ slt $v0, $v1, $v0 +.L80240164: +/* BBB4E4 80240164 14400003 */ bnez $v0, .L80240174 +/* BBB4E8 80240168 00000000 */ nop +/* BBB4EC 8024016C AE230074 */ sw $v1, 0x74($s1) +/* BBB4F0 80240170 24120002 */ addiu $s2, $zero, 2 +.L80240174: +/* BBB4F4 80240174 8E240074 */ lw $a0, 0x74($s1) +/* BBB4F8 80240178 0C046EDD */ jal set_world_fog_dist +/* BBB4FC 8024017C 8E250070 */ lw $a1, 0x70($s1) +/* BBB500 80240180 0240102D */ daddu $v0, $s2, $zero +/* BBB504 80240184 8FBF001C */ lw $ra, 0x1c($sp) +/* BBB508 80240188 8FB20018 */ lw $s2, 0x18($sp) +/* BBB50C 8024018C 8FB10014 */ lw $s1, 0x14($sp) +/* BBB510 80240190 8FB00010 */ lw $s0, 0x10($sp) +/* BBB514 80240194 03E00008 */ jr $ra +/* BBB518 80240198 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_8024019C_BBB380.s b/asm/nonmatchings/world/area_mim/mim_12/func_8024019C_BBB380.s new file mode 100644 index 0000000000..815208b69c --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_8024019C_BBB380.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024019C_BBB51C +/* BBB51C 8024019C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBB520 802401A0 AFB10014 */ sw $s1, 0x14($sp) +/* BBB524 802401A4 0080882D */ daddu $s1, $a0, $zero +/* BBB528 802401A8 AFB20018 */ sw $s2, 0x18($sp) +/* BBB52C 802401AC AFBF001C */ sw $ra, 0x1c($sp) +/* BBB530 802401B0 AFB00010 */ sw $s0, 0x10($sp) +/* BBB534 802401B4 8E30000C */ lw $s0, 0xc($s1) +/* BBB538 802401B8 10A0000E */ beqz $a1, .L802401F4 +/* BBB53C 802401BC 0000902D */ daddu $s2, $zero, $zero +/* BBB540 802401C0 8E050000 */ lw $a1, ($s0) +/* BBB544 802401C4 0C0B1EAF */ jal get_variable +/* BBB548 802401C8 26100004 */ addiu $s0, $s0, 4 +/* BBB54C 802401CC AE220074 */ sw $v0, 0x74($s1) +/* BBB550 802401D0 8E050000 */ lw $a1, ($s0) +/* BBB554 802401D4 26100004 */ addiu $s0, $s0, 4 +/* BBB558 802401D8 0C0B1EAF */ jal get_variable +/* BBB55C 802401DC 0220202D */ daddu $a0, $s1, $zero +/* BBB560 802401E0 AE220078 */ sw $v0, 0x78($s1) +/* BBB564 802401E4 8E050000 */ lw $a1, ($s0) +/* BBB568 802401E8 0C0B1EAF */ jal get_variable +/* BBB56C 802401EC 0220202D */ daddu $a0, $s1, $zero +/* BBB570 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* BBB574 802401F4 8E23007C */ lw $v1, 0x7c($s1) +/* BBB578 802401F8 8E220074 */ lw $v0, 0x74($s1) +/* BBB57C 802401FC 0060202D */ daddu $a0, $v1, $zero +/* BBB580 80240200 00431021 */ addu $v0, $v0, $v1 +/* BBB584 80240204 04800004 */ bltz $a0, .L80240218 +/* BBB588 80240208 AE220074 */ sw $v0, 0x74($s1) +/* BBB58C 8024020C 8E230078 */ lw $v1, 0x78($s1) +/* BBB590 80240210 08090088 */ j .L80240220 +/* BBB594 80240214 0043102A */ slt $v0, $v0, $v1 +.L80240218: +/* BBB598 80240218 8E230078 */ lw $v1, 0x78($s1) +/* BBB59C 8024021C 0062102A */ slt $v0, $v1, $v0 +.L80240220: +/* BBB5A0 80240220 14400003 */ bnez $v0, .L80240230 +/* BBB5A4 80240224 00000000 */ nop +/* BBB5A8 80240228 AE230074 */ sw $v1, 0x74($s1) +/* BBB5AC 8024022C 24120002 */ addiu $s2, $zero, 2 +.L80240230: +/* BBB5B0 80240230 3C048007 */ lui $a0, %hi(gGameStatusPtr) +/* BBB5B4 80240234 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0) +/* BBB5B8 80240238 96230076 */ lhu $v1, 0x76($s1) +/* BBB5BC 8024023C 0240102D */ daddu $v0, $s2, $zero +/* BBB5C0 80240240 A483015C */ sh $v1, 0x15c($a0) +/* BBB5C4 80240244 8FBF001C */ lw $ra, 0x1c($sp) +/* BBB5C8 80240248 8FB20018 */ lw $s2, 0x18($sp) +/* BBB5CC 8024024C 8FB10014 */ lw $s1, 0x14($sp) +/* BBB5D0 80240250 8FB00010 */ lw $s0, 0x10($sp) +/* BBB5D4 80240254 03E00008 */ jr $ra +/* BBB5D8 80240258 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_8024025C.s b/asm/nonmatchings/world/area_mim/mim_12/func_8024025C.s new file mode 100644 index 0000000000..7787f15ac0 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_8024025C.s @@ -0,0 +1,159 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024025C +/* BBB5DC 8024025C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BBB5E0 80240260 AFB1001C */ sw $s1, 0x1c($sp) +/* BBB5E4 80240264 0080882D */ daddu $s1, $a0, $zero +/* BBB5E8 80240268 AFB30024 */ sw $s3, 0x24($sp) +/* BBB5EC 8024026C 3C138015 */ lui $s3, %hi(D_80151328) +/* BBB5F0 80240270 26731328 */ addiu $s3, $s3, %lo(D_80151328) +/* BBB5F4 80240274 AFBF0028 */ sw $ra, 0x28($sp) +/* BBB5F8 80240278 AFB20020 */ sw $s2, 0x20($sp) +/* BBB5FC 8024027C AFB00018 */ sw $s0, 0x18($sp) +/* BBB600 80240280 8E30000C */ lw $s0, 0xc($s1) +/* BBB604 80240284 10A00019 */ beqz $a1, .L802402EC +/* BBB608 80240288 8E720000 */ lw $s2, ($s3) +/* BBB60C 8024028C 8E050000 */ lw $a1, ($s0) +/* BBB610 80240290 0C0B1EAF */ jal get_variable +/* BBB614 80240294 26100004 */ addiu $s0, $s0, 4 +/* BBB618 80240298 AE220084 */ sw $v0, 0x84($s1) +/* BBB61C 8024029C 8E050000 */ lw $a1, ($s0) +/* BBB620 802402A0 26100004 */ addiu $s0, $s0, 4 +/* BBB624 802402A4 0C0B1EAF */ jal get_variable +/* BBB628 802402A8 0220202D */ daddu $a0, $s1, $zero +/* BBB62C 802402AC AE220088 */ sw $v0, 0x88($s1) +/* BBB630 802402B0 8E050000 */ lw $a1, ($s0) +/* BBB634 802402B4 0C0B1EAF */ jal get_variable +/* BBB638 802402B8 0220202D */ daddu $a0, $s1, $zero +/* BBB63C 802402BC AE22008C */ sw $v0, 0x8c($s1) +/* BBB640 802402C0 924200AC */ lbu $v0, 0xac($s2) +/* BBB644 802402C4 AE220090 */ sw $v0, 0x90($s1) +/* BBB648 802402C8 924200AD */ lbu $v0, 0xad($s2) +/* BBB64C 802402CC AE220094 */ sw $v0, 0x94($s1) +/* BBB650 802402D0 924200AE */ lbu $v0, 0xae($s2) +/* BBB654 802402D4 8E630000 */ lw $v1, ($s3) +/* BBB658 802402D8 AE20009C */ sw $zero, 0x9c($s1) +/* BBB65C 802402DC AE220098 */ sw $v0, 0x98($s1) +/* BBB660 802402E0 94620000 */ lhu $v0, ($v1) +/* BBB664 802402E4 34420001 */ ori $v0, $v0, 1 +/* BBB668 802402E8 A4620000 */ sh $v0, ($v1) +.L802402EC: +/* BBB66C 802402EC C6200090 */ lwc1 $f0, 0x90($s1) +/* BBB670 802402F0 46800020 */ cvt.s.w $f0, $f0 +/* BBB674 802402F4 44050000 */ mfc1 $a1, $f0 +/* BBB678 802402F8 C6200084 */ lwc1 $f0, 0x84($s1) +/* BBB67C 802402FC 46800020 */ cvt.s.w $f0, $f0 +/* BBB680 80240300 8E22009C */ lw $v0, 0x9c($s1) +/* BBB684 80240304 44060000 */ mfc1 $a2, $f0 +/* BBB688 80240308 24420001 */ addiu $v0, $v0, 1 +/* BBB68C 8024030C AE22009C */ sw $v0, 0x9c($s1) +/* BBB690 80240310 24020014 */ addiu $v0, $zero, 0x14 +/* BBB694 80240314 AFA20010 */ sw $v0, 0x10($sp) +/* BBB698 80240318 8E27009C */ lw $a3, 0x9c($s1) +/* BBB69C 8024031C 0C00A8ED */ jal update_lerp +/* BBB6A0 80240320 0000202D */ daddu $a0, $zero, $zero +/* BBB6A4 80240324 3C014F00 */ lui $at, 0x4f00 +/* BBB6A8 80240328 44811000 */ mtc1 $at, $f2 +/* BBB6AC 8024032C 00000000 */ nop +/* BBB6B0 80240330 4600103E */ c.le.s $f2, $f0 +/* BBB6B4 80240334 00000000 */ nop +/* BBB6B8 80240338 45010005 */ bc1t .L80240350 +/* BBB6BC 8024033C 264400AC */ addiu $a0, $s2, 0xac +/* BBB6C0 80240340 4600010D */ trunc.w.s $f4, $f0 +/* BBB6C4 80240344 44032000 */ mfc1 $v1, $f4 +/* BBB6C8 80240348 080900DB */ j .L8024036C +/* BBB6CC 8024034C A0830000 */ sb $v1, ($a0) +.L80240350: +/* BBB6D0 80240350 46020001 */ sub.s $f0, $f0, $f2 +/* BBB6D4 80240354 3C028000 */ lui $v0, 0x8000 +/* BBB6D8 80240358 4600010D */ trunc.w.s $f4, $f0 +/* BBB6DC 8024035C 44032000 */ mfc1 $v1, $f4 +/* BBB6E0 80240360 00000000 */ nop +/* BBB6E4 80240364 00621825 */ or $v1, $v1, $v0 +/* BBB6E8 80240368 A0830000 */ sb $v1, ($a0) +.L8024036C: +/* BBB6EC 8024036C C6200094 */ lwc1 $f0, 0x94($s1) +/* BBB6F0 80240370 46800020 */ cvt.s.w $f0, $f0 +/* BBB6F4 80240374 44050000 */ mfc1 $a1, $f0 +/* BBB6F8 80240378 C6200088 */ lwc1 $f0, 0x88($s1) +/* BBB6FC 8024037C 46800020 */ cvt.s.w $f0, $f0 +/* BBB700 80240380 44060000 */ mfc1 $a2, $f0 +/* BBB704 80240384 24020014 */ addiu $v0, $zero, 0x14 +/* BBB708 80240388 AFA20010 */ sw $v0, 0x10($sp) +/* BBB70C 8024038C 8E27009C */ lw $a3, 0x9c($s1) +/* BBB710 80240390 0C00A8ED */ jal update_lerp +/* BBB714 80240394 0000202D */ daddu $a0, $zero, $zero +/* BBB718 80240398 3C014F00 */ lui $at, 0x4f00 +/* BBB71C 8024039C 44811000 */ mtc1 $at, $f2 +/* BBB720 802403A0 00000000 */ nop +/* BBB724 802403A4 4600103E */ c.le.s $f2, $f0 +/* BBB728 802403A8 00000000 */ nop +/* BBB72C 802403AC 45010005 */ bc1t .L802403C4 +/* BBB730 802403B0 264400AD */ addiu $a0, $s2, 0xad +/* BBB734 802403B4 4600010D */ trunc.w.s $f4, $f0 +/* BBB738 802403B8 44032000 */ mfc1 $v1, $f4 +/* BBB73C 802403BC 080900F8 */ j .L802403E0 +/* BBB740 802403C0 A0830000 */ sb $v1, ($a0) +.L802403C4: +/* BBB744 802403C4 46020001 */ sub.s $f0, $f0, $f2 +/* BBB748 802403C8 3C028000 */ lui $v0, 0x8000 +/* BBB74C 802403CC 4600010D */ trunc.w.s $f4, $f0 +/* BBB750 802403D0 44032000 */ mfc1 $v1, $f4 +/* BBB754 802403D4 00000000 */ nop +/* BBB758 802403D8 00621825 */ or $v1, $v1, $v0 +/* BBB75C 802403DC A0830000 */ sb $v1, ($a0) +.L802403E0: +/* BBB760 802403E0 C6200098 */ lwc1 $f0, 0x98($s1) +/* BBB764 802403E4 46800020 */ cvt.s.w $f0, $f0 +/* BBB768 802403E8 44050000 */ mfc1 $a1, $f0 +/* BBB76C 802403EC C620008C */ lwc1 $f0, 0x8c($s1) +/* BBB770 802403F0 46800020 */ cvt.s.w $f0, $f0 +/* BBB774 802403F4 44060000 */ mfc1 $a2, $f0 +/* BBB778 802403F8 24020014 */ addiu $v0, $zero, 0x14 +/* BBB77C 802403FC AFA20010 */ sw $v0, 0x10($sp) +/* BBB780 80240400 8E27009C */ lw $a3, 0x9c($s1) +/* BBB784 80240404 0C00A8ED */ jal update_lerp +/* BBB788 80240408 0000202D */ daddu $a0, $zero, $zero +/* BBB78C 8024040C 3C014F00 */ lui $at, 0x4f00 +/* BBB790 80240410 44811000 */ mtc1 $at, $f2 +/* BBB794 80240414 00000000 */ nop +/* BBB798 80240418 4600103E */ c.le.s $f2, $f0 +/* BBB79C 8024041C 00000000 */ nop +/* BBB7A0 80240420 45010005 */ bc1t .L80240438 +/* BBB7A4 80240424 264400AE */ addiu $a0, $s2, 0xae +/* BBB7A8 80240428 4600010D */ trunc.w.s $f4, $f0 +/* BBB7AC 8024042C 44032000 */ mfc1 $v1, $f4 +/* BBB7B0 80240430 08090115 */ j .L80240454 +/* BBB7B4 80240434 A0830000 */ sb $v1, ($a0) +.L80240438: +/* BBB7B8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* BBB7BC 8024043C 3C028000 */ lui $v0, 0x8000 +/* BBB7C0 80240440 4600010D */ trunc.w.s $f4, $f0 +/* BBB7C4 80240444 44032000 */ mfc1 $v1, $f4 +/* BBB7C8 80240448 00000000 */ nop +/* BBB7CC 8024044C 00621825 */ or $v1, $v1, $v0 +/* BBB7D0 80240450 A0830000 */ sb $v1, ($a0) +.L80240454: +/* BBB7D4 80240454 8E23009C */ lw $v1, 0x9c($s1) +/* BBB7D8 80240458 24020014 */ addiu $v0, $zero, 0x14 +/* BBB7DC 8024045C 1462000B */ bne $v1, $v0, .L8024048C +/* BBB7E0 80240460 0000102D */ daddu $v0, $zero, $zero +/* BBB7E4 80240464 8E230084 */ lw $v1, 0x84($s1) +/* BBB7E8 80240468 240200FF */ addiu $v0, $zero, 0xff +/* BBB7EC 8024046C 54620007 */ bnel $v1, $v0, .L8024048C +/* BBB7F0 80240470 24020002 */ addiu $v0, $zero, 2 +/* BBB7F4 80240474 3C038015 */ lui $v1, %hi(D_80151328) +/* BBB7F8 80240478 8C631328 */ lw $v1, %lo(D_80151328)($v1) +/* BBB7FC 8024047C 94620000 */ lhu $v0, ($v1) +/* BBB800 80240480 3042FFFE */ andi $v0, $v0, 0xfffe +/* BBB804 80240484 A4620000 */ sh $v0, ($v1) +/* BBB808 80240488 24020002 */ addiu $v0, $zero, 2 +.L8024048C: +/* BBB80C 8024048C 8FBF0028 */ lw $ra, 0x28($sp) +/* BBB810 80240490 8FB30024 */ lw $s3, 0x24($sp) +/* BBB814 80240494 8FB20020 */ lw $s2, 0x20($sp) +/* BBB818 80240498 8FB1001C */ lw $s1, 0x1c($sp) +/* BBB81C 8024049C 8FB00018 */ lw $s0, 0x18($sp) +/* BBB820 802404A0 03E00008 */ jr $ra +/* BBB824 802404A4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_mim/mim_12/func_802404A8_BBB380.s b/asm/nonmatchings/world/area_mim/mim_12/func_802404A8_BBB380.s new file mode 100644 index 0000000000..576eacda73 --- /dev/null +++ b/asm/nonmatchings/world/area_mim/mim_12/func_802404A8_BBB380.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A8_BBB828 +/* BBB828 802404A8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* BBB82C 802404AC AFB10024 */ sw $s1, 0x24($sp) +/* BBB830 802404B0 0080882D */ daddu $s1, $a0, $zero +/* BBB834 802404B4 AFB00020 */ sw $s0, 0x20($sp) +/* BBB838 802404B8 00A0802D */ daddu $s0, $a1, $zero +/* BBB83C 802404BC AFBF002C */ sw $ra, 0x2c($sp) +/* BBB840 802404C0 AFB20028 */ sw $s2, 0x28($sp) +/* BBB844 802404C4 0C0B36B0 */ jal resolve_npc +/* BBB848 802404C8 8E250084 */ lw $a1, 0x84($s1) +/* BBB84C 802404CC 1200000E */ beqz $s0, .L80240508 +/* BBB850 802404D0 0040902D */ daddu $s2, $v0, $zero +/* BBB854 802404D4 C6260088 */ lwc1 $f6, 0x88($s1) +/* BBB858 802404D8 468031A0 */ cvt.s.w $f6, $f6 +/* BBB85C 802404DC 44063000 */ mfc1 $a2, $f6 +/* BBB860 802404E0 C626008C */ lwc1 $f6, 0x8c($s1) +/* BBB864 802404E4 468031A0 */ cvt.s.w $f6, $f6 +/* BBB868 802404E8 8E220098 */ lw $v0, 0x98($s1) +/* BBB86C 802404EC 44073000 */ mfc1 $a3, $f6 +/* BBB870 802404F0 AE22009C */ sw $v0, 0x9c($s1) +/* BBB874 802404F4 C64C0038 */ lwc1 $f12, 0x38($s2) +/* BBB878 802404F8 0C00A7B5 */ jal dist2D +/* BBB87C 802404FC C64E0040 */ lwc1 $f14, 0x40($s2) +/* BBB880 80240500 4600018D */ trunc.w.s $f6, $f0 +/* BBB884 80240504 E62600A0 */ swc1 $f6, 0xa0($s1) +.L80240508: +/* BBB888 80240508 8E22009C */ lw $v0, 0x9c($s1) +/* BBB88C 8024050C 1C400003 */ bgtz $v0, .L8024051C +/* BBB890 80240510 00000000 */ nop +/* BBB894 80240514 08090172 */ j .L802405C8 +/* BBB898 80240518 24020002 */ addiu $v0, $zero, 2 +.L8024051C: +/* BBB89C 8024051C C6220090 */ lwc1 $f2, 0x90($s1) +/* BBB8A0 80240520 468010A0 */ cvt.s.w $f2, $f2 +/* BBB8A4 80240524 C6240094 */ lwc1 $f4, 0x94($s1) +/* BBB8A8 80240528 46802120 */ cvt.s.w $f4, $f4 +/* BBB8AC 8024052C C6200098 */ lwc1 $f0, 0x98($s1) +/* BBB8B0 80240530 46800020 */ cvt.s.w $f0, $f0 +/* BBB8B4 80240534 4600018D */ trunc.w.s $f6, $f0 +/* BBB8B8 80240538 E7A60010 */ swc1 $f6, 0x10($sp) +/* BBB8BC 8024053C 44820000 */ mtc1 $v0, $f0 +/* BBB8C0 80240540 00000000 */ nop +/* BBB8C4 80240544 46800020 */ cvt.s.w $f0, $f0 +/* BBB8C8 80240548 44051000 */ mfc1 $a1, $f2 +/* BBB8CC 8024054C 44062000 */ mfc1 $a2, $f4 +/* BBB8D0 80240550 4600018D */ trunc.w.s $f6, $f0 +/* BBB8D4 80240554 44073000 */ mfc1 $a3, $f6 +/* BBB8D8 80240558 0C00A8ED */ jal update_lerp +/* BBB8DC 8024055C 0000202D */ daddu $a0, $zero, $zero +/* BBB8E0 80240560 46000306 */ mov.s $f12, $f0 +/* BBB8E4 80240564 27A50018 */ addiu $a1, $sp, 0x18 +/* BBB8E8 80240568 0C00A88D */ jal sin_cos_deg +/* BBB8EC 8024056C 27A6001C */ addiu $a2, $sp, 0x1c +/* BBB8F0 80240570 C7A00018 */ lwc1 $f0, 0x18($sp) +/* BBB8F4 80240574 C62200A0 */ lwc1 $f2, 0xa0($s1) +/* BBB8F8 80240578 468010A0 */ cvt.s.w $f2, $f2 +/* BBB8FC 8024057C 46001082 */ mul.s $f2, $f2, $f0 +/* BBB900 80240580 00000000 */ nop +/* BBB904 80240584 C6200088 */ lwc1 $f0, 0x88($s1) +/* BBB908 80240588 46800020 */ cvt.s.w $f0, $f0 +/* BBB90C 8024058C 46020000 */ add.s $f0, $f0, $f2 +/* BBB910 80240590 E6400038 */ swc1 $f0, 0x38($s2) +/* BBB914 80240594 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* BBB918 80240598 C62200A0 */ lwc1 $f2, 0xa0($s1) +/* BBB91C 8024059C 468010A0 */ cvt.s.w $f2, $f2 +/* BBB920 802405A0 46001082 */ mul.s $f2, $f2, $f0 +/* BBB924 802405A4 00000000 */ nop +/* BBB928 802405A8 C620008C */ lwc1 $f0, 0x8c($s1) +/* BBB92C 802405AC 46800020 */ cvt.s.w $f0, $f0 +/* BBB930 802405B0 46020000 */ add.s $f0, $f0, $f2 +/* BBB934 802405B4 E6400040 */ swc1 $f0, 0x40($s2) +/* BBB938 802405B8 8E23009C */ lw $v1, 0x9c($s1) +/* BBB93C 802405BC 0000102D */ daddu $v0, $zero, $zero +/* BBB940 802405C0 2463FFFF */ addiu $v1, $v1, -1 +/* BBB944 802405C4 AE23009C */ sw $v1, 0x9c($s1) +.L802405C8: +/* BBB948 802405C8 8FBF002C */ lw $ra, 0x2c($sp) +/* BBB94C 802405CC 8FB20028 */ lw $s2, 0x28($sp) +/* BBB950 802405D0 8FB10024 */ lw $s1, 0x24($sp) +/* BBB954 802405D4 8FB00020 */ lw $s0, 0x20($sp) +/* BBB958 802405D8 03E00008 */ jr $ra +/* BBB95C 802405DC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_01/delete_player_actor_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/delete_player_actor_9C53E0.s new file mode 100644 index 0000000000..7db4295853 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/delete_player_actor_9C53E0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel delete_player_actor_9C6148 +/* 9C6148 80240D68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C614C 80240D6C AFB00010 */ sw $s0, 0x10($sp) +/* 9C6150 80240D70 3C108024 */ lui $s0, 0x8024 +/* 9C6154 80240D74 26105F44 */ addiu $s0, $s0, 0x5f44 +/* 9C6158 80240D78 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C615C 80240D7C AFB10014 */ sw $s1, 0x14($sp) +/* 9C6160 80240D80 8E020000 */ lw $v0, ($s0) +/* 9C6164 80240D84 14400010 */ bnez $v0, .L80240DC8 +/* 9C6168 80240D88 0080882D */ daddu $s1, $a0, $zero +/* 9C616C 80240D8C 0C00AB39 */ jal heap_malloc +/* 9C6170 80240D90 24040040 */ addiu $a0, $zero, 0x40 +/* 9C6174 80240D94 AE020000 */ sw $v0, ($s0) +/* 9C6178 80240D98 0000182D */ daddu $v1, $zero, $zero +/* 9C617C 80240D9C 0040282D */ daddu $a1, $v0, $zero +/* 9C6180 80240DA0 0220202D */ daddu $a0, $s1, $zero +.L80240DA4: +/* 9C6184 80240DA4 8C820084 */ lw $v0, 0x84($a0) +/* 9C6188 80240DA8 24840004 */ addiu $a0, $a0, 4 +/* 9C618C 80240DAC 24630001 */ addiu $v1, $v1, 1 +/* 9C6190 80240DB0 ACA20000 */ sw $v0, ($a1) +/* 9C6194 80240DB4 28620010 */ slti $v0, $v1, 0x10 +/* 9C6198 80240DB8 1440FFFA */ bnez $v0, .L80240DA4 +/* 9C619C 80240DBC 24A50004 */ addiu $a1, $a1, 4 +/* 9C61A0 80240DC0 08090381 */ j .L80240E04 +/* 9C61A4 80240DC4 00000000 */ nop +.L80240DC8: +/* 9C61A8 80240DC8 0000182D */ daddu $v1, $zero, $zero +/* 9C61AC 80240DCC 0040282D */ daddu $a1, $v0, $zero +/* 9C61B0 80240DD0 0220202D */ daddu $a0, $s1, $zero +.L80240DD4: +/* 9C61B4 80240DD4 8CA20000 */ lw $v0, ($a1) +/* 9C61B8 80240DD8 24A50004 */ addiu $a1, $a1, 4 +/* 9C61BC 80240DDC 24630001 */ addiu $v1, $v1, 1 +/* 9C61C0 80240DE0 AC820084 */ sw $v0, 0x84($a0) +/* 9C61C4 80240DE4 28620010 */ slti $v0, $v1, 0x10 +/* 9C61C8 80240DE8 1440FFFA */ bnez $v0, .L80240DD4 +/* 9C61CC 80240DEC 24840004 */ addiu $a0, $a0, 4 +/* 9C61D0 80240DF0 3C108024 */ lui $s0, 0x8024 +/* 9C61D4 80240DF4 26105F44 */ addiu $s0, $s0, 0x5f44 +/* 9C61D8 80240DF8 0C00AB4B */ jal heap_free +/* 9C61DC 80240DFC 8E040000 */ lw $a0, ($s0) +/* 9C61E0 80240E00 AE000000 */ sw $zero, ($s0) +.L80240E04: +/* 9C61E4 80240E04 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C61E8 80240E08 8FB10014 */ lw $s1, 0x14($sp) +/* 9C61EC 80240E0C 8FB00010 */ lw $s0, 0x10($sp) +/* 9C61F0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* 9C61F4 80240E14 03E00008 */ jr $ra +/* 9C61F8 80240E18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240000_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240000_9C53E0.s new file mode 100644 index 0000000000..4ab06c9987 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240000_9C53E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9C53E0 +/* 9C53E0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C53E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9C53E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9C53EC 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 9C53F0 80240010 AFB20018 */ sw $s2, 0x18($sp) +/* 9C53F4 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* 9C53F8 80240018 8E110148 */ lw $s1, 0x148($s0) +/* 9C53FC 8024001C 86240008 */ lh $a0, 8($s1) +/* 9C5400 80240020 0C00EABB */ jal get_npc_unsafe +/* 9C5404 80240024 00A0902D */ daddu $s2, $a1, $zero +/* 9C5408 80240028 8E2300CC */ lw $v1, 0xcc($s1) +/* 9C540C 8024002C 0040202D */ daddu $a0, $v0, $zero +/* 9C5410 80240030 8C630000 */ lw $v1, ($v1) +/* 9C5414 80240034 24020001 */ addiu $v0, $zero, 1 +/* 9C5418 80240038 AC830028 */ sw $v1, 0x28($a0) +/* 9C541C 8024003C AE020070 */ sw $v0, 0x70($s0) +/* 9C5420 80240040 8E220000 */ lw $v0, ($s1) +/* 9C5424 80240044 3C030010 */ lui $v1, 0x10 +/* 9C5428 80240048 00431024 */ and $v0, $v0, $v1 +/* 9C542C 8024004C 10400004 */ beqz $v0, .L80240060 +/* 9C5430 80240050 00000000 */ nop +/* 9C5434 80240054 C620006C */ lwc1 $f0, 0x6c($s1) +/* 9C5438 80240058 46800020 */ cvt.s.w $f0, $f0 +/* 9C543C 8024005C E480000C */ swc1 $f0, 0xc($a0) +.L80240060: +/* 9C5440 80240060 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5444 80240064 8C420014 */ lw $v0, 0x14($v0) +/* 9C5448 80240068 1C400004 */ bgtz $v0, .L8024007C +/* 9C544C 8024006C 00000000 */ nop +/* 9C5450 80240070 C640000C */ lwc1 $f0, 0xc($s2) +/* 9C5454 80240074 08090027 */ j .L8024009C +/* 9C5458 80240078 E4800018 */ swc1 $f0, 0x18($a0) +.L8024007C: +/* 9C545C 8024007C 3C018025 */ lui $at, 0x8025 +/* 9C5460 80240080 D4221A90 */ ldc1 $f2, 0x1a90($at) +/* 9C5464 80240084 44820000 */ mtc1 $v0, $f0 +/* 9C5468 80240088 00000000 */ nop +/* 9C546C 8024008C 46800021 */ cvt.d.w $f0, $f0 +/* 9C5470 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 9C5474 80240094 46200020 */ cvt.s.d $f0, $f0 +/* 9C5478 80240098 E4800018 */ swc1 $f0, 0x18($a0) +.L8024009C: +/* 9C547C 8024009C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9C5480 802400A0 8FB20018 */ lw $s2, 0x18($sp) +/* 9C5484 802400A4 8FB10014 */ lw $s1, 0x14($sp) +/* 9C5488 802400A8 8FB00010 */ lw $s0, 0x10($sp) +/* 9C548C 802400AC 03E00008 */ jr $ra +/* 9C5490 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802400B4_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802400B4_9C53E0.s new file mode 100644 index 0000000000..c2eaa3dec9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802400B4_9C53E0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_9C5494 +/* 9C5494 802400B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C5498 802400B8 AFB40040 */ sw $s4, 0x40($sp) +/* 9C549C 802400BC 0080A02D */ daddu $s4, $a0, $zero +/* 9C54A0 802400C0 AFBF0044 */ sw $ra, 0x44($sp) +/* 9C54A4 802400C4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9C54A8 802400C8 AFB20038 */ sw $s2, 0x38($sp) +/* 9C54AC 802400CC AFB10034 */ sw $s1, 0x34($sp) +/* 9C54B0 802400D0 AFB00030 */ sw $s0, 0x30($sp) +/* 9C54B4 802400D4 8E920148 */ lw $s2, 0x148($s4) +/* 9C54B8 802400D8 00A0802D */ daddu $s0, $a1, $zero +/* 9C54BC 802400DC 86440008 */ lh $a0, 8($s2) +/* 9C54C0 802400E0 0C00EABB */ jal get_npc_unsafe +/* 9C54C4 802400E4 00C0982D */ daddu $s3, $a2, $zero +/* 9C54C8 802400E8 8E030008 */ lw $v1, 8($s0) +/* 9C54CC 802400EC 04600031 */ bltz $v1, .L802401B4 +/* 9C54D0 802400F0 0040882D */ daddu $s1, $v0, $zero +/* 9C54D4 802400F4 0260202D */ daddu $a0, $s3, $zero +/* 9C54D8 802400F8 AFA00010 */ sw $zero, 0x10($sp) +/* 9C54DC 802400FC 8E060018 */ lw $a2, 0x18($s0) +/* 9C54E0 80240100 8E07001C */ lw $a3, 0x1c($s0) +/* 9C54E4 80240104 0C01242D */ jal func_800490B4 +/* 9C54E8 80240108 0240282D */ daddu $a1, $s2, $zero +/* 9C54EC 8024010C 10400029 */ beqz $v0, .L802401B4 +/* 9C54F0 80240110 0000202D */ daddu $a0, $zero, $zero +/* 9C54F4 80240114 0220282D */ daddu $a1, $s1, $zero +/* 9C54F8 80240118 0000302D */ daddu $a2, $zero, $zero +/* 9C54FC 8024011C 862300A8 */ lh $v1, 0xa8($s1) +/* 9C5500 80240120 3C013F80 */ lui $at, 0x3f80 +/* 9C5504 80240124 44810000 */ mtc1 $at, $f0 +/* 9C5508 80240128 3C014000 */ lui $at, 0x4000 +/* 9C550C 8024012C 44811000 */ mtc1 $at, $f2 +/* 9C5510 80240130 3C01C1A0 */ lui $at, 0xc1a0 +/* 9C5514 80240134 44812000 */ mtc1 $at, $f4 +/* 9C5518 80240138 2402000F */ addiu $v0, $zero, 0xf +/* 9C551C 8024013C AFA2001C */ sw $v0, 0x1c($sp) +/* 9C5520 80240140 44833000 */ mtc1 $v1, $f6 +/* 9C5524 80240144 00000000 */ nop +/* 9C5528 80240148 468031A0 */ cvt.s.w $f6, $f6 +/* 9C552C 8024014C 44073000 */ mfc1 $a3, $f6 +/* 9C5530 80240150 27A20028 */ addiu $v0, $sp, 0x28 +/* 9C5534 80240154 AFA20020 */ sw $v0, 0x20($sp) +/* 9C5538 80240158 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C553C 8024015C E7A20014 */ swc1 $f2, 0x14($sp) +/* 9C5540 80240160 0C01BFA4 */ jal fx_emote +/* 9C5544 80240164 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9C5548 80240168 0220202D */ daddu $a0, $s1, $zero +/* 9C554C 8024016C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9C5550 80240170 0C012530 */ jal func_800494C0 +/* 9C5554 80240174 3C060020 */ lui $a2, 0x20 +/* 9C5558 80240178 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9C555C 8024017C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9C5560 80240180 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 9C5564 80240184 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 9C5568 80240188 8C460028 */ lw $a2, 0x28($v0) +/* 9C556C 8024018C 0C00A720 */ jal atan2 +/* 9C5570 80240190 8C470030 */ lw $a3, 0x30($v0) +/* 9C5574 80240194 E620000C */ swc1 $f0, 0xc($s1) +/* 9C5578 80240198 8E420018 */ lw $v0, 0x18($s2) +/* 9C557C 8024019C 9442002A */ lhu $v0, 0x2a($v0) +/* 9C5580 802401A0 30420001 */ andi $v0, $v0, 1 +/* 9C5584 802401A4 14400002 */ bnez $v0, .L802401B0 +/* 9C5588 802401A8 2402000A */ addiu $v0, $zero, 0xa +/* 9C558C 802401AC 2402000C */ addiu $v0, $zero, 0xc +.L802401B0: +/* 9C5590 802401B0 AE820070 */ sw $v0, 0x70($s4) +.L802401B4: +/* 9C5594 802401B4 8FBF0044 */ lw $ra, 0x44($sp) +/* 9C5598 802401B8 8FB40040 */ lw $s4, 0x40($sp) +/* 9C559C 802401BC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9C55A0 802401C0 8FB20038 */ lw $s2, 0x38($sp) +/* 9C55A4 802401C4 8FB10034 */ lw $s1, 0x34($sp) +/* 9C55A8 802401C8 8FB00030 */ lw $s0, 0x30($sp) +/* 9C55AC 802401CC 03E00008 */ jr $ra +/* 9C55B0 802401D0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802401D4_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802401D4_9C53E0.s new file mode 100644 index 0000000000..8665fa9467 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802401D4_9C53E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D4_9C55B4 +/* 9C55B4 802401D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C55B8 802401D8 AFB00010 */ sw $s0, 0x10($sp) +/* 9C55BC 802401DC 0080802D */ daddu $s0, $a0, $zero +/* 9C55C0 802401E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C55C4 802401E4 8E020148 */ lw $v0, 0x148($s0) +/* 9C55C8 802401E8 0C00EABB */ jal get_npc_unsafe +/* 9C55CC 802401EC 84440008 */ lh $a0, 8($v0) +/* 9C55D0 802401F0 3C014120 */ lui $at, 0x4120 +/* 9C55D4 802401F4 44810000 */ mtc1 $at, $f0 +/* 9C55D8 802401F8 3C014000 */ lui $at, 0x4000 +/* 9C55DC 802401FC 44811000 */ mtc1 $at, $f2 +/* 9C55E0 80240200 8C430000 */ lw $v1, ($v0) +/* 9C55E4 80240204 C444003C */ lwc1 $f4, 0x3c($v0) +/* 9C55E8 80240208 34630800 */ ori $v1, $v1, 0x800 +/* 9C55EC 8024020C E440001C */ swc1 $f0, 0x1c($v0) +/* 9C55F0 80240210 E4420014 */ swc1 $f2, 0x14($v0) +/* 9C55F4 80240214 E4440064 */ swc1 $f4, 0x64($v0) +/* 9C55F8 80240218 AC430000 */ sw $v1, ($v0) +/* 9C55FC 8024021C 2402000B */ addiu $v0, $zero, 0xb +/* 9C5600 80240220 AE020070 */ sw $v0, 0x70($s0) +/* 9C5604 80240224 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C5608 80240228 8FB00010 */ lw $s0, 0x10($sp) +/* 9C560C 8024022C 03E00008 */ jr $ra +/* 9C5610 80240230 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240234_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240234_9C53E0.s new file mode 100644 index 0000000000..03607e2ff0 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240234_9C53E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240234_9C5614 +/* 9C5614 80240234 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5618 80240238 AFB00010 */ sw $s0, 0x10($sp) +/* 9C561C 8024023C 0080802D */ daddu $s0, $a0, $zero +/* 9C5620 80240240 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C5624 80240244 8E020148 */ lw $v0, 0x148($s0) +/* 9C5628 80240248 0C00EABB */ jal get_npc_unsafe +/* 9C562C 8024024C 84440008 */ lh $a0, 8($v0) +/* 9C5630 80240250 0040202D */ daddu $a0, $v0, $zero +/* 9C5634 80240254 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9C5638 80240258 C480001C */ lwc1 $f0, 0x1c($a0) +/* 9C563C 8024025C 46001080 */ add.s $f2, $f2, $f0 +/* 9C5640 80240260 C4840014 */ lwc1 $f4, 0x14($a0) +/* 9C5644 80240264 46040001 */ sub.s $f0, $f0, $f4 +/* 9C5648 80240268 C4840064 */ lwc1 $f4, 0x64($a0) +/* 9C564C 8024026C 4602203C */ c.lt.s $f4, $f2 +/* 9C5650 80240270 E482003C */ swc1 $f2, 0x3c($a0) +/* 9C5654 80240274 45010009 */ bc1t .L8024029C +/* 9C5658 80240278 E480001C */ swc1 $f0, 0x1c($a0) +/* 9C565C 8024027C 8C820000 */ lw $v0, ($a0) +/* 9C5660 80240280 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9C5664 80240284 E484003C */ swc1 $f4, 0x3c($a0) +/* 9C5668 80240288 AC80001C */ sw $zero, 0x1c($a0) +/* 9C566C 8024028C 00431024 */ and $v0, $v0, $v1 +/* 9C5670 80240290 AC820000 */ sw $v0, ($a0) +/* 9C5674 80240294 2402000C */ addiu $v0, $zero, 0xc +/* 9C5678 80240298 AE020070 */ sw $v0, 0x70($s0) +.L8024029C: +/* 9C567C 8024029C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C5680 802402A0 8FB00010 */ lw $s0, 0x10($sp) +/* 9C5684 802402A4 03E00008 */ jr $ra +/* 9C5688 802402A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802402AC_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802402AC_9C53E0.s new file mode 100644 index 0000000000..be4e23694a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802402AC_9C53E0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402AC_9C568C +/* 9C568C 802402AC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9C5690 802402B0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9C5694 802402B4 0080982D */ daddu $s3, $a0, $zero +/* 9C5698 802402B8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9C569C 802402BC AFB20018 */ sw $s2, 0x18($sp) +/* 9C56A0 802402C0 AFB10014 */ sw $s1, 0x14($sp) +/* 9C56A4 802402C4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C56A8 802402C8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9C56AC 802402CC 8E710148 */ lw $s1, 0x148($s3) +/* 9C56B0 802402D0 86240008 */ lh $a0, 8($s1) +/* 9C56B4 802402D4 0C00EABB */ jal get_npc_unsafe +/* 9C56B8 802402D8 00A0802D */ daddu $s0, $a1, $zero +/* 9C56BC 802402DC 8E040014 */ lw $a0, 0x14($s0) +/* 9C56C0 802402E0 0040902D */ daddu $s2, $v0, $zero +/* 9C56C4 802402E4 00041FC2 */ srl $v1, $a0, 0x1f +/* 9C56C8 802402E8 00832021 */ addu $a0, $a0, $v1 +/* 9C56CC 802402EC 00042043 */ sra $a0, $a0, 1 +/* 9C56D0 802402F0 0C00A67F */ jal rand_int +/* 9C56D4 802402F4 24840001 */ addiu $a0, $a0, 1 +/* 9C56D8 802402F8 8E030014 */ lw $v1, 0x14($s0) +/* 9C56DC 802402FC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 9C56E0 80240300 000327C2 */ srl $a0, $v1, 0x1f +/* 9C56E4 80240304 00641821 */ addu $v1, $v1, $a0 +/* 9C56E8 80240308 00031843 */ sra $v1, $v1, 1 +/* 9C56EC 8024030C 00621821 */ addu $v1, $v1, $v0 +/* 9C56F0 80240310 A643008E */ sh $v1, 0x8e($s2) +/* 9C56F4 80240314 8E2200CC */ lw $v0, 0xcc($s1) +/* 9C56F8 80240318 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 9C56FC 8024031C 8C42000C */ lw $v0, 0xc($v0) +/* 9C5700 80240320 AE420028 */ sw $v0, 0x28($s2) +/* 9C5704 80240324 C600000C */ lwc1 $f0, 0xc($s0) +/* 9C5708 80240328 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9C570C 8024032C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9C5710 80240330 E6400018 */ swc1 $f0, 0x18($s2) +/* 9C5714 80240334 8C460028 */ lw $a2, 0x28($v0) +/* 9C5718 80240338 0C00A720 */ jal atan2 +/* 9C571C 8024033C 8C470030 */ lw $a3, 0x30($v0) +/* 9C5720 80240340 46000506 */ mov.s $f20, $f0 +/* 9C5724 80240344 C64C000C */ lwc1 $f12, 0xc($s2) +/* 9C5728 80240348 0C00A70A */ jal get_clamped_angle_diff +/* 9C572C 8024034C 4600A386 */ mov.s $f14, $f20 +/* 9C5730 80240350 46000086 */ mov.s $f2, $f0 +/* 9C5734 80240354 8E020010 */ lw $v0, 0x10($s0) +/* 9C5738 80240358 46001005 */ abs.s $f0, $f2 +/* 9C573C 8024035C 44822000 */ mtc1 $v0, $f4 +/* 9C5740 80240360 00000000 */ nop +/* 9C5744 80240364 46802120 */ cvt.s.w $f4, $f4 +/* 9C5748 80240368 4600203C */ c.lt.s $f4, $f0 +/* 9C574C 8024036C 00000000 */ nop +/* 9C5750 80240370 4500000D */ bc1f .L802403A8 +/* 9C5754 80240374 00000000 */ nop +/* 9C5758 80240378 44800000 */ mtc1 $zero, $f0 +/* 9C575C 8024037C C654000C */ lwc1 $f20, 0xc($s2) +/* 9C5760 80240380 4600103C */ c.lt.s $f2, $f0 +/* 9C5764 80240384 00000000 */ nop +/* 9C5768 80240388 45000006 */ bc1f .L802403A4 +/* 9C576C 8024038C 00021023 */ negu $v0, $v0 +/* 9C5770 80240390 44820000 */ mtc1 $v0, $f0 +/* 9C5774 80240394 00000000 */ nop +/* 9C5778 80240398 46800020 */ cvt.s.w $f0, $f0 +/* 9C577C 8024039C 080900EA */ j .L802403A8 +/* 9C5780 802403A0 4600A500 */ add.s $f20, $f20, $f0 +.L802403A4: +/* 9C5784 802403A4 4604A500 */ add.s $f20, $f20, $f4 +.L802403A8: +/* 9C5788 802403A8 0C00A6C9 */ jal clamp_angle +/* 9C578C 802403AC 4600A306 */ mov.s $f12, $f20 +/* 9C5790 802403B0 2402000D */ addiu $v0, $zero, 0xd +/* 9C5794 802403B4 E640000C */ swc1 $f0, 0xc($s2) +/* 9C5798 802403B8 AE620070 */ sw $v0, 0x70($s3) +/* 9C579C 802403BC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9C57A0 802403C0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C57A4 802403C4 8FB20018 */ lw $s2, 0x18($sp) +/* 9C57A8 802403C8 8FB10014 */ lw $s1, 0x14($sp) +/* 9C57AC 802403CC 8FB00010 */ lw $s0, 0x10($sp) +/* 9C57B0 802403D0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9C57B4 802403D4 03E00008 */ jr $ra +/* 9C57B8 802403D8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802403DC_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802403DC_9C53E0.s new file mode 100644 index 0000000000..7eb6cc8a1b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802403DC_9C53E0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403DC_9C57BC +/* 9C57BC 802403DC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C57C0 802403E0 AFB3003C */ sw $s3, 0x3c($sp) +/* 9C57C4 802403E4 0080982D */ daddu $s3, $a0, $zero +/* 9C57C8 802403E8 AFBF0040 */ sw $ra, 0x40($sp) +/* 9C57CC 802403EC AFB20038 */ sw $s2, 0x38($sp) +/* 9C57D0 802403F0 AFB10034 */ sw $s1, 0x34($sp) +/* 9C57D4 802403F4 AFB00030 */ sw $s0, 0x30($sp) +/* 9C57D8 802403F8 8E720148 */ lw $s2, 0x148($s3) +/* 9C57DC 802403FC 00A0882D */ daddu $s1, $a1, $zero +/* 9C57E0 80240400 86440008 */ lh $a0, 8($s2) +/* 9C57E4 80240404 0C00EABB */ jal get_npc_unsafe +/* 9C57E8 80240408 00C0802D */ daddu $s0, $a2, $zero +/* 9C57EC 8024040C 0200202D */ daddu $a0, $s0, $zero +/* 9C57F0 80240410 0240282D */ daddu $a1, $s2, $zero +/* 9C57F4 80240414 24030001 */ addiu $v1, $zero, 1 +/* 9C57F8 80240418 AFA30010 */ sw $v1, 0x10($sp) +/* 9C57FC 8024041C 8E260018 */ lw $a2, 0x18($s1) +/* 9C5800 80240420 8E27001C */ lw $a3, 0x1c($s1) +/* 9C5804 80240424 0C01242D */ jal func_800490B4 +/* 9C5808 80240428 0040802D */ daddu $s0, $v0, $zero +/* 9C580C 8024042C 1440001D */ bnez $v0, .L802404A4 +/* 9C5810 80240430 24040002 */ addiu $a0, $zero, 2 +/* 9C5814 80240434 0200282D */ daddu $a1, $s0, $zero +/* 9C5818 80240438 0000302D */ daddu $a2, $zero, $zero +/* 9C581C 8024043C 860300A8 */ lh $v1, 0xa8($s0) +/* 9C5820 80240440 3C013F80 */ lui $at, 0x3f80 +/* 9C5824 80240444 44810000 */ mtc1 $at, $f0 +/* 9C5828 80240448 3C014000 */ lui $at, 0x4000 +/* 9C582C 8024044C 44811000 */ mtc1 $at, $f2 +/* 9C5830 80240450 3C01C1A0 */ lui $at, 0xc1a0 +/* 9C5834 80240454 44812000 */ mtc1 $at, $f4 +/* 9C5838 80240458 2402000F */ addiu $v0, $zero, 0xf +/* 9C583C 8024045C AFA2001C */ sw $v0, 0x1c($sp) +/* 9C5840 80240460 44833000 */ mtc1 $v1, $f6 +/* 9C5844 80240464 00000000 */ nop +/* 9C5848 80240468 468031A0 */ cvt.s.w $f6, $f6 +/* 9C584C 8024046C 44073000 */ mfc1 $a3, $f6 +/* 9C5850 80240470 27A20028 */ addiu $v0, $sp, 0x28 +/* 9C5854 80240474 AFA20020 */ sw $v0, 0x20($sp) +/* 9C5858 80240478 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C585C 8024047C E7A20014 */ swc1 $f2, 0x14($sp) +/* 9C5860 80240480 0C01BFA4 */ jal fx_emote +/* 9C5864 80240484 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9C5868 80240488 8E4200CC */ lw $v0, 0xcc($s2) +/* 9C586C 8024048C 8C430000 */ lw $v1, ($v0) +/* 9C5870 80240490 24020019 */ addiu $v0, $zero, 0x19 +/* 9C5874 80240494 A602008E */ sh $v0, 0x8e($s0) +/* 9C5878 80240498 2402000E */ addiu $v0, $zero, 0xe +/* 9C587C 8024049C 08090136 */ j .L802404D8 +/* 9C5880 802404A0 AE030028 */ sw $v1, 0x28($s0) +.L802404A4: +/* 9C5884 802404A4 8E050018 */ lw $a1, 0x18($s0) +/* 9C5888 802404A8 8E06000C */ lw $a2, 0xc($s0) +/* 9C588C 802404AC 0C00EA95 */ jal npc_move_heading +/* 9C5890 802404B0 0200202D */ daddu $a0, $s0, $zero +/* 9C5894 802404B4 0200202D */ daddu $a0, $s0, $zero +/* 9C5898 802404B8 0C00F598 */ jal func_8003D660 +/* 9C589C 802404BC 24050001 */ addiu $a1, $zero, 1 +/* 9C58A0 802404C0 9602008E */ lhu $v0, 0x8e($s0) +/* 9C58A4 802404C4 2442FFFF */ addiu $v0, $v0, -1 +/* 9C58A8 802404C8 A602008E */ sh $v0, 0x8e($s0) +/* 9C58AC 802404CC 00021400 */ sll $v0, $v0, 0x10 +/* 9C58B0 802404D0 14400002 */ bnez $v0, .L802404DC +/* 9C58B4 802404D4 2402000C */ addiu $v0, $zero, 0xc +.L802404D8: +/* 9C58B8 802404D8 AE620070 */ sw $v0, 0x70($s3) +.L802404DC: +/* 9C58BC 802404DC 8FBF0040 */ lw $ra, 0x40($sp) +/* 9C58C0 802404E0 8FB3003C */ lw $s3, 0x3c($sp) +/* 9C58C4 802404E4 8FB20038 */ lw $s2, 0x38($sp) +/* 9C58C8 802404E8 8FB10034 */ lw $s1, 0x34($sp) +/* 9C58CC 802404EC 8FB00030 */ lw $s0, 0x30($sp) +/* 9C58D0 802404F0 03E00008 */ jr $ra +/* 9C58D4 802404F4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802404F8_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802404F8_9C53E0.s new file mode 100644 index 0000000000..73ddf28e22 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802404F8_9C53E0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F8_9C58D8 +/* 9C58D8 802404F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C58DC 802404FC AFB00010 */ sw $s0, 0x10($sp) +/* 9C58E0 80240500 0080802D */ daddu $s0, $a0, $zero +/* 9C58E4 80240504 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C58E8 80240508 8E020148 */ lw $v0, 0x148($s0) +/* 9C58EC 8024050C 0C00EABB */ jal get_npc_unsafe +/* 9C58F0 80240510 84440008 */ lh $a0, 8($v0) +/* 9C58F4 80240514 9443008E */ lhu $v1, 0x8e($v0) +/* 9C58F8 80240518 2463FFFF */ addiu $v1, $v1, -1 +/* 9C58FC 8024051C A443008E */ sh $v1, 0x8e($v0) +/* 9C5900 80240520 00031C00 */ sll $v1, $v1, 0x10 +/* 9C5904 80240524 14600002 */ bnez $v1, .L80240530 +/* 9C5908 80240528 2402000F */ addiu $v0, $zero, 0xf +/* 9C590C 8024052C AE020070 */ sw $v0, 0x70($s0) +.L80240530: +/* 9C5910 80240530 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C5914 80240534 8FB00010 */ lw $s0, 0x10($sp) +/* 9C5918 80240538 03E00008 */ jr $ra +/* 9C591C 8024053C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240540_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240540_9C53E0.s new file mode 100644 index 0000000000..879bd1263b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240540_9C53E0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_9C5920 +/* 9C5920 80240540 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C5924 80240544 AFB10014 */ sw $s1, 0x14($sp) +/* 9C5928 80240548 0080882D */ daddu $s1, $a0, $zero +/* 9C592C 8024054C AFBF001C */ sw $ra, 0x1c($sp) +/* 9C5930 80240550 AFB20018 */ sw $s2, 0x18($sp) +/* 9C5934 80240554 AFB00010 */ sw $s0, 0x10($sp) +/* 9C5938 80240558 8E300148 */ lw $s0, 0x148($s1) +/* 9C593C 8024055C 86040008 */ lh $a0, 8($s0) +/* 9C5940 80240560 0C00EABB */ jal get_npc_unsafe +/* 9C5944 80240564 00A0902D */ daddu $s2, $a1, $zero +/* 9C5948 80240568 8E0300CC */ lw $v1, 0xcc($s0) +/* 9C594C 8024056C 8C630004 */ lw $v1, 4($v1) +/* 9C5950 80240570 0040202D */ daddu $a0, $v0, $zero +/* 9C5954 80240574 AC830028 */ sw $v1, 0x28($a0) +/* 9C5958 80240578 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9C595C 8024057C 8C420014 */ lw $v0, 0x14($v0) +/* 9C5960 80240580 04410009 */ bgez $v0, .L802405A8 +/* 9C5964 80240584 00000000 */ nop +/* 9C5968 80240588 C640000C */ lwc1 $f0, 0xc($s2) +/* 9C596C 8024058C 3C018025 */ lui $at, 0x8025 +/* 9C5970 80240590 D4221A98 */ ldc1 $f2, 0x1a98($at) +/* 9C5974 80240594 46000021 */ cvt.d.s $f0, $f0 +/* 9C5978 80240598 46220002 */ mul.d $f0, $f0, $f2 +/* 9C597C 8024059C 00000000 */ nop +/* 9C5980 802405A0 08090171 */ j .L802405C4 +/* 9C5984 802405A4 46200020 */ cvt.s.d $f0, $f0 +.L802405A8: +/* 9C5988 802405A8 3C018025 */ lui $at, 0x8025 +/* 9C598C 802405AC D4221AA0 */ ldc1 $f2, 0x1aa0($at) +/* 9C5990 802405B0 44820000 */ mtc1 $v0, $f0 +/* 9C5994 802405B4 00000000 */ nop +/* 9C5998 802405B8 46800021 */ cvt.d.w $f0, $f0 +/* 9C599C 802405BC 46220003 */ div.d $f0, $f0, $f2 +/* 9C59A0 802405C0 46200020 */ cvt.s.d $f0, $f0 +.L802405C4: +/* 9C59A4 802405C4 E4800018 */ swc1 $f0, 0x18($a0) +/* 9C59A8 802405C8 24020010 */ addiu $v0, $zero, 0x10 +/* 9C59AC 802405CC AE200074 */ sw $zero, 0x74($s1) +/* 9C59B0 802405D0 AE220070 */ sw $v0, 0x70($s1) +/* 9C59B4 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 9C59B8 802405D8 8FB20018 */ lw $s2, 0x18($sp) +/* 9C59BC 802405DC 8FB10014 */ lw $s1, 0x14($sp) +/* 9C59C0 802405E0 8FB00010 */ lw $s0, 0x10($sp) +/* 9C59C4 802405E4 03E00008 */ jr $ra +/* 9C59C8 802405E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802405EC_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802405EC_9C53E0.s new file mode 100644 index 0000000000..764b3cd255 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802405EC_9C53E0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_9C59CC +/* 9C59CC 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C59D0 802405F0 AFB3003C */ sw $s3, 0x3c($sp) +/* 9C59D4 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 9C59D8 802405F8 AFBF0044 */ sw $ra, 0x44($sp) +/* 9C59DC 802405FC AFB40040 */ sw $s4, 0x40($sp) +/* 9C59E0 80240600 AFB20038 */ sw $s2, 0x38($sp) +/* 9C59E4 80240604 AFB10034 */ sw $s1, 0x34($sp) +/* 9C59E8 80240608 AFB00030 */ sw $s0, 0x30($sp) +/* 9C59EC 8024060C 8E710148 */ lw $s1, 0x148($s3) +/* 9C59F0 80240610 00A0902D */ daddu $s2, $a1, $zero +/* 9C59F4 80240614 86240008 */ lh $a0, 8($s1) +/* 9C59F8 80240618 0C00EABB */ jal get_npc_unsafe +/* 9C59FC 8024061C 00C0A02D */ daddu $s4, $a2, $zero +/* 9C5A00 80240620 8E430008 */ lw $v1, 8($s2) +/* 9C5A04 80240624 0460003B */ bltz $v1, .L80240714 +/* 9C5A08 80240628 0040802D */ daddu $s0, $v0, $zero +/* 9C5A0C 8024062C 8E620074 */ lw $v0, 0x74($s3) +/* 9C5A10 80240630 1C400037 */ bgtz $v0, .L80240710 +/* 9C5A14 80240634 2442FFFF */ addiu $v0, $v0, -1 +/* 9C5A18 80240638 0280202D */ daddu $a0, $s4, $zero +/* 9C5A1C 8024063C AE630074 */ sw $v1, 0x74($s3) +/* 9C5A20 80240640 AFA00010 */ sw $zero, 0x10($sp) +/* 9C5A24 80240644 8E460018 */ lw $a2, 0x18($s2) +/* 9C5A28 80240648 8E47001C */ lw $a3, 0x1c($s2) +/* 9C5A2C 8024064C 0C01242D */ jal func_800490B4 +/* 9C5A30 80240650 0220282D */ daddu $a1, $s1, $zero +/* 9C5A34 80240654 1040002C */ beqz $v0, .L80240708 +/* 9C5A38 80240658 0000202D */ daddu $a0, $zero, $zero +/* 9C5A3C 8024065C 0200282D */ daddu $a1, $s0, $zero +/* 9C5A40 80240660 0000302D */ daddu $a2, $zero, $zero +/* 9C5A44 80240664 860300A8 */ lh $v1, 0xa8($s0) +/* 9C5A48 80240668 3C013F80 */ lui $at, 0x3f80 +/* 9C5A4C 8024066C 44810000 */ mtc1 $at, $f0 +/* 9C5A50 80240670 3C014000 */ lui $at, 0x4000 +/* 9C5A54 80240674 44811000 */ mtc1 $at, $f2 +/* 9C5A58 80240678 3C01C1A0 */ lui $at, 0xc1a0 +/* 9C5A5C 8024067C 44812000 */ mtc1 $at, $f4 +/* 9C5A60 80240680 2402000F */ addiu $v0, $zero, 0xf +/* 9C5A64 80240684 AFA2001C */ sw $v0, 0x1c($sp) +/* 9C5A68 80240688 44833000 */ mtc1 $v1, $f6 +/* 9C5A6C 8024068C 00000000 */ nop +/* 9C5A70 80240690 468031A0 */ cvt.s.w $f6, $f6 +/* 9C5A74 80240694 44073000 */ mfc1 $a3, $f6 +/* 9C5A78 80240698 27A20028 */ addiu $v0, $sp, 0x28 +/* 9C5A7C 8024069C AFA20020 */ sw $v0, 0x20($sp) +/* 9C5A80 802406A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C5A84 802406A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9C5A88 802406A8 0C01BFA4 */ jal fx_emote +/* 9C5A8C 802406AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9C5A90 802406B0 0200202D */ daddu $a0, $s0, $zero +/* 9C5A94 802406B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9C5A98 802406B8 0C012530 */ jal func_800494C0 +/* 9C5A9C 802406BC 3C060020 */ lui $a2, 0x20 +/* 9C5AA0 802406C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9C5AA4 802406C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9C5AA8 802406C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9C5AAC 802406CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9C5AB0 802406D0 8C460028 */ lw $a2, 0x28($v0) +/* 9C5AB4 802406D4 0C00A720 */ jal atan2 +/* 9C5AB8 802406D8 8C470030 */ lw $a3, 0x30($v0) +/* 9C5ABC 802406DC E600000C */ swc1 $f0, 0xc($s0) +/* 9C5AC0 802406E0 8E220018 */ lw $v0, 0x18($s1) +/* 9C5AC4 802406E4 9442002A */ lhu $v0, 0x2a($v0) +/* 9C5AC8 802406E8 30420001 */ andi $v0, $v0, 1 +/* 9C5ACC 802406EC 10400003 */ beqz $v0, .L802406FC +/* 9C5AD0 802406F0 2402000A */ addiu $v0, $zero, 0xa +/* 9C5AD4 802406F4 080901F5 */ j .L802407D4 +/* 9C5AD8 802406F8 AE620070 */ sw $v0, 0x70($s3) +.L802406FC: +/* 9C5ADC 802406FC 2402000C */ addiu $v0, $zero, 0xc +/* 9C5AE0 80240700 080901F5 */ j .L802407D4 +/* 9C5AE4 80240704 AE620070 */ sw $v0, 0x70($s3) +.L80240708: +/* 9C5AE8 80240708 8E620074 */ lw $v0, 0x74($s3) +/* 9C5AEC 8024070C 2442FFFF */ addiu $v0, $v0, -1 +.L80240710: +/* 9C5AF0 80240710 AE620074 */ sw $v0, 0x74($s3) +.L80240714: +/* 9C5AF4 80240714 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9C5AF8 80240718 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5AFC 8024071C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9C5B00 80240720 C4460000 */ lwc1 $f6, ($v0) +/* 9C5B04 80240724 468031A0 */ cvt.s.w $f6, $f6 +/* 9C5B08 80240728 44063000 */ mfc1 $a2, $f6 +/* 9C5B0C 8024072C C4460008 */ lwc1 $f6, 8($v0) +/* 9C5B10 80240730 468031A0 */ cvt.s.w $f6, $f6 +/* 9C5B14 80240734 44073000 */ mfc1 $a3, $f6 +/* 9C5B18 80240738 0C00A7B5 */ jal dist2D +/* 9C5B1C 8024073C 00000000 */ nop +/* 9C5B20 80240740 C6020018 */ lwc1 $f2, 0x18($s0) +/* 9C5B24 80240744 4602003C */ c.lt.s $f0, $f2 +/* 9C5B28 80240748 00000000 */ nop +/* 9C5B2C 8024074C 4500000E */ bc1f .L80240788 +/* 9C5B30 80240750 00000000 */ nop +/* 9C5B34 80240754 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5B38 80240758 C4400000 */ lwc1 $f0, ($v0) +/* 9C5B3C 8024075C 46800020 */ cvt.s.w $f0, $f0 +/* 9C5B40 80240760 E6000038 */ swc1 $f0, 0x38($s0) +/* 9C5B44 80240764 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5B48 80240768 C4400008 */ lwc1 $f0, 8($v0) +/* 9C5B4C 8024076C 46800020 */ cvt.s.w $f0, $f0 +/* 9C5B50 80240770 E6000040 */ swc1 $f0, 0x40($s0) +/* 9C5B54 80240774 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5B58 80240778 C440000C */ lwc1 $f0, 0xc($v0) +/* 9C5B5C 8024077C 46800020 */ cvt.s.w $f0, $f0 +/* 9C5B60 80240780 E600000C */ swc1 $f0, 0xc($s0) +/* 9C5B64 80240784 AE600070 */ sw $zero, 0x70($s3) +.L80240788: +/* 9C5B68 80240788 8602008C */ lh $v0, 0x8c($s0) +/* 9C5B6C 8024078C 14400011 */ bnez $v0, .L802407D4 +/* 9C5B70 80240790 00000000 */ nop +/* 9C5B74 80240794 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9C5B78 80240798 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9C5B7C 8024079C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9C5B80 802407A0 C4460000 */ lwc1 $f6, ($v0) +/* 9C5B84 802407A4 468031A0 */ cvt.s.w $f6, $f6 +/* 9C5B88 802407A8 44063000 */ mfc1 $a2, $f6 +/* 9C5B8C 802407AC C4460008 */ lwc1 $f6, 8($v0) +/* 9C5B90 802407B0 468031A0 */ cvt.s.w $f6, $f6 +/* 9C5B94 802407B4 44073000 */ mfc1 $a3, $f6 +/* 9C5B98 802407B8 0C00A720 */ jal atan2 +/* 9C5B9C 802407BC 00000000 */ nop +/* 9C5BA0 802407C0 8E050018 */ lw $a1, 0x18($s0) +/* 9C5BA4 802407C4 44060000 */ mfc1 $a2, $f0 +/* 9C5BA8 802407C8 0200202D */ daddu $a0, $s0, $zero +/* 9C5BAC 802407CC 0C00EA95 */ jal npc_move_heading +/* 9C5BB0 802407D0 AC86000C */ sw $a2, 0xc($a0) +.L802407D4: +/* 9C5BB4 802407D4 8FBF0044 */ lw $ra, 0x44($sp) +/* 9C5BB8 802407D8 8FB40040 */ lw $s4, 0x40($sp) +/* 9C5BBC 802407DC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9C5BC0 802407E0 8FB20038 */ lw $s2, 0x38($sp) +/* 9C5BC4 802407E4 8FB10034 */ lw $s1, 0x34($sp) +/* 9C5BC8 802407E8 8FB00030 */ lw $s0, 0x30($sp) +/* 9C5BCC 802407EC 03E00008 */ jr $ra +/* 9C5BD0 802407F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802407F4_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802407F4_9C53E0.s new file mode 100644 index 0000000000..26b05c07ca --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802407F4_9C53E0.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4_9C5BD4 +/* 9C5BD4 802407F4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9C5BD8 802407F8 AFB40040 */ sw $s4, 0x40($sp) +/* 9C5BDC 802407FC 0080A02D */ daddu $s4, $a0, $zero +/* 9C5BE0 80240800 AFBF0048 */ sw $ra, 0x48($sp) +/* 9C5BE4 80240804 AFB50044 */ sw $s5, 0x44($sp) +/* 9C5BE8 80240808 AFB3003C */ sw $s3, 0x3c($sp) +/* 9C5BEC 8024080C AFB20038 */ sw $s2, 0x38($sp) +/* 9C5BF0 80240810 AFB10034 */ sw $s1, 0x34($sp) +/* 9C5BF4 80240814 AFB00030 */ sw $s0, 0x30($sp) +/* 9C5BF8 80240818 8E920148 */ lw $s2, 0x148($s4) +/* 9C5BFC 8024081C 86440008 */ lh $a0, 8($s2) +/* 9C5C00 80240820 8E90000C */ lw $s0, 0xc($s4) +/* 9C5C04 80240824 0C00EABB */ jal get_npc_unsafe +/* 9C5C08 80240828 00A0882D */ daddu $s1, $a1, $zero +/* 9C5C0C 8024082C 0280202D */ daddu $a0, $s4, $zero +/* 9C5C10 80240830 8E050000 */ lw $a1, ($s0) +/* 9C5C14 80240834 0C0B1EAF */ jal get_variable +/* 9C5C18 80240838 0040802D */ daddu $s0, $v0, $zero +/* 9C5C1C 8024083C AFA00010 */ sw $zero, 0x10($sp) +/* 9C5C20 80240840 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9C5C24 80240844 8C630030 */ lw $v1, 0x30($v1) +/* 9C5C28 80240848 AFA30014 */ sw $v1, 0x14($sp) +/* 9C5C2C 8024084C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9C5C30 80240850 8C63001C */ lw $v1, 0x1c($v1) +/* 9C5C34 80240854 AFA30018 */ sw $v1, 0x18($sp) +/* 9C5C38 80240858 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9C5C3C 8024085C 8C630024 */ lw $v1, 0x24($v1) +/* 9C5C40 80240860 AFA3001C */ sw $v1, 0x1c($sp) +/* 9C5C44 80240864 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9C5C48 80240868 8C630028 */ lw $v1, 0x28($v1) +/* 9C5C4C 8024086C 27B50010 */ addiu $s5, $sp, 0x10 +/* 9C5C50 80240870 AFA30020 */ sw $v1, 0x20($sp) +/* 9C5C54 80240874 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9C5C58 80240878 3C014282 */ lui $at, 0x4282 +/* 9C5C5C 8024087C 44810000 */ mtc1 $at, $f0 +/* 9C5C60 80240880 8C63002C */ lw $v1, 0x2c($v1) +/* 9C5C64 80240884 0040982D */ daddu $s3, $v0, $zero +/* 9C5C68 80240888 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9C5C6C 8024088C A7A0002C */ sh $zero, 0x2c($sp) +/* 9C5C70 80240890 16200005 */ bnez $s1, .L802408A8 +/* 9C5C74 80240894 AFA30024 */ sw $v1, 0x24($sp) +/* 9C5C78 80240898 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9C5C7C 8024089C 30420004 */ andi $v0, $v0, 4 +/* 9C5C80 802408A0 1040002F */ beqz $v0, .L80240960 +/* 9C5C84 802408A4 00000000 */ nop +.L802408A8: +/* 9C5C88 802408A8 AE800070 */ sw $zero, 0x70($s4) +/* 9C5C8C 802408AC C600000C */ lwc1 $f0, 0xc($s0) +/* 9C5C90 802408B0 A600008E */ sh $zero, 0x8e($s0) +/* 9C5C94 802408B4 8E4200CC */ lw $v0, 0xcc($s2) +/* 9C5C98 802408B8 4600008D */ trunc.w.s $f2, $f0 +/* 9C5C9C 802408BC E642006C */ swc1 $f2, 0x6c($s2) +/* 9C5CA0 802408C0 8C420000 */ lw $v0, ($v0) +/* 9C5CA4 802408C4 8E030000 */ lw $v1, ($s0) +/* 9C5CA8 802408C8 AE020028 */ sw $v0, 0x28($s0) +/* 9C5CAC 802408CC 2402F7FF */ addiu $v0, $zero, -0x801 +/* 9C5CB0 802408D0 00621824 */ and $v1, $v1, $v0 +/* 9C5CB4 802408D4 AE030000 */ sw $v1, ($s0) +/* 9C5CB8 802408D8 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9C5CBC 802408DC 8C420034 */ lw $v0, 0x34($v0) +/* 9C5CC0 802408E0 54400005 */ bnel $v0, $zero, .L802408F8 +/* 9C5CC4 802408E4 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9C5CC8 802408E8 34620200 */ ori $v0, $v1, 0x200 +/* 9C5CCC 802408EC 2403FFF7 */ addiu $v1, $zero, -9 +/* 9C5CD0 802408F0 08090240 */ j .L80240900 +/* 9C5CD4 802408F4 00431024 */ and $v0, $v0, $v1 +.L802408F8: +/* 9C5CD8 802408F8 00621024 */ and $v0, $v1, $v0 +/* 9C5CDC 802408FC 34420008 */ ori $v0, $v0, 8 +.L80240900: +/* 9C5CE0 80240900 AE020000 */ sw $v0, ($s0) +/* 9C5CE4 80240904 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9C5CE8 80240908 30420004 */ andi $v0, $v0, 4 +/* 9C5CEC 8024090C 10400009 */ beqz $v0, .L80240934 +/* 9C5CF0 80240910 24020063 */ addiu $v0, $zero, 0x63 +/* 9C5CF4 80240914 AE820070 */ sw $v0, 0x70($s4) +/* 9C5CF8 80240918 2402000F */ addiu $v0, $zero, 0xf +/* 9C5CFC 8024091C AE820074 */ sw $v0, 0x74($s4) +/* 9C5D00 80240920 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9C5D04 80240924 2403FFFB */ addiu $v1, $zero, -5 +/* 9C5D08 80240928 00431024 */ and $v0, $v0, $v1 +/* 9C5D0C 8024092C 08090258 */ j .L80240960 +/* 9C5D10 80240930 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240934: +/* 9C5D14 80240934 8E420000 */ lw $v0, ($s2) +/* 9C5D18 80240938 3C034000 */ lui $v1, 0x4000 +/* 9C5D1C 8024093C 00431024 */ and $v0, $v0, $v1 +/* 9C5D20 80240940 10400007 */ beqz $v0, .L80240960 +/* 9C5D24 80240944 3C03BFFF */ lui $v1, 0xbfff +/* 9C5D28 80240948 2402000C */ addiu $v0, $zero, 0xc +/* 9C5D2C 8024094C AE820070 */ sw $v0, 0x70($s4) +/* 9C5D30 80240950 8E420000 */ lw $v0, ($s2) +/* 9C5D34 80240954 3463FFFF */ ori $v1, $v1, 0xffff +/* 9C5D38 80240958 00431024 */ and $v0, $v0, $v1 +/* 9C5D3C 8024095C AE420000 */ sw $v0, ($s2) +.L80240960: +/* 9C5D40 80240960 8E830070 */ lw $v1, 0x70($s4) +/* 9C5D44 80240964 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9C5D48 80240968 10400036 */ beqz $v0, .L80240A44 +/* 9C5D4C 8024096C 00031080 */ sll $v0, $v1, 2 +/* 9C5D50 80240970 3C018025 */ lui $at, 0x8025 +/* 9C5D54 80240974 00220821 */ addu $at, $at, $v0 +/* 9C5D58 80240978 8C221AA8 */ lw $v0, 0x1aa8($at) +/* 9C5D5C 8024097C 00400008 */ jr $v0 +/* 9C5D60 80240980 00000000 */ nop +/* 9C5D64 80240984 0280202D */ daddu $a0, $s4, $zero +/* 9C5D68 80240988 0260282D */ daddu $a1, $s3, $zero +/* 9C5D6C 8024098C 0C090000 */ jal func_80240000 +/* 9C5D70 80240990 02A0302D */ daddu $a2, $s5, $zero +/* 9C5D74 80240994 0280202D */ daddu $a0, $s4, $zero +/* 9C5D78 80240998 0260282D */ daddu $a1, $s3, $zero +/* 9C5D7C 8024099C 0C09002D */ jal func_802400B4 +/* 9C5D80 802409A0 02A0302D */ daddu $a2, $s5, $zero +/* 9C5D84 802409A4 08090291 */ j .L80240A44 +/* 9C5D88 802409A8 00000000 */ nop +/* 9C5D8C 802409AC 0280202D */ daddu $a0, $s4, $zero +/* 9C5D90 802409B0 0260282D */ daddu $a1, $s3, $zero +/* 9C5D94 802409B4 0C090075 */ jal func_802401D4 +/* 9C5D98 802409B8 02A0302D */ daddu $a2, $s5, $zero +/* 9C5D9C 802409BC 0280202D */ daddu $a0, $s4, $zero +/* 9C5DA0 802409C0 0260282D */ daddu $a1, $s3, $zero +/* 9C5DA4 802409C4 0C09008D */ jal func_80240234 +/* 9C5DA8 802409C8 02A0302D */ daddu $a2, $s5, $zero +/* 9C5DAC 802409CC 08090291 */ j .L80240A44 +/* 9C5DB0 802409D0 00000000 */ nop +/* 9C5DB4 802409D4 0280202D */ daddu $a0, $s4, $zero +/* 9C5DB8 802409D8 0260282D */ daddu $a1, $s3, $zero +/* 9C5DBC 802409DC 0C0900AB */ jal func_802402AC +/* 9C5DC0 802409E0 02A0302D */ daddu $a2, $s5, $zero +/* 9C5DC4 802409E4 0280202D */ daddu $a0, $s4, $zero +/* 9C5DC8 802409E8 0260282D */ daddu $a1, $s3, $zero +/* 9C5DCC 802409EC 0C0900F7 */ jal func_802403DC +/* 9C5DD0 802409F0 02A0302D */ daddu $a2, $s5, $zero +/* 9C5DD4 802409F4 08090291 */ j .L80240A44 +/* 9C5DD8 802409F8 00000000 */ nop +/* 9C5DDC 802409FC 0280202D */ daddu $a0, $s4, $zero +/* 9C5DE0 80240A00 0260282D */ daddu $a1, $s3, $zero +/* 9C5DE4 80240A04 0C09013E */ jal func_802404F8 +/* 9C5DE8 80240A08 02A0302D */ daddu $a2, $s5, $zero +/* 9C5DEC 80240A0C 08090291 */ j .L80240A44 +/* 9C5DF0 80240A10 00000000 */ nop +/* 9C5DF4 80240A14 0280202D */ daddu $a0, $s4, $zero +/* 9C5DF8 80240A18 0260282D */ daddu $a1, $s3, $zero +/* 9C5DFC 80240A1C 0C090150 */ jal func_80240540 +/* 9C5E00 80240A20 02A0302D */ daddu $a2, $s5, $zero +/* 9C5E04 80240A24 0280202D */ daddu $a0, $s4, $zero +/* 9C5E08 80240A28 0260282D */ daddu $a1, $s3, $zero +/* 9C5E0C 80240A2C 0C09017B */ jal func_802405EC +/* 9C5E10 80240A30 02A0302D */ daddu $a2, $s5, $zero +/* 9C5E14 80240A34 08090291 */ j .L80240A44 +/* 9C5E18 80240A38 00000000 */ nop +/* 9C5E1C 80240A3C 0C0129CF */ jal func_8004A73C +/* 9C5E20 80240A40 0280202D */ daddu $a0, $s4, $zero +.L80240A44: +/* 9C5E24 80240A44 8FBF0048 */ lw $ra, 0x48($sp) +/* 9C5E28 80240A48 8FB50044 */ lw $s5, 0x44($sp) +/* 9C5E2C 80240A4C 8FB40040 */ lw $s4, 0x40($sp) +/* 9C5E30 80240A50 8FB3003C */ lw $s3, 0x3c($sp) +/* 9C5E34 80240A54 8FB20038 */ lw $s2, 0x38($sp) +/* 9C5E38 80240A58 8FB10034 */ lw $s1, 0x34($sp) +/* 9C5E3C 80240A5C 8FB00030 */ lw $s0, 0x30($sp) +/* 9C5E40 80240A60 0000102D */ daddu $v0, $zero, $zero +/* 9C5E44 80240A64 03E00008 */ jr $ra +/* 9C5E48 80240A68 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240A6C_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240A6C_9C53E0.s new file mode 100644 index 0000000000..f088194dcb --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240A6C_9C53E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_9C5E4C +/* 9C5E4C 80240A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5E50 80240A70 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C5E54 80240A74 0C03A625 */ jal func_800E9894 +/* 9C5E58 80240A78 00000000 */ nop +/* 9C5E5C 80240A7C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C5E60 80240A80 24020002 */ addiu $v0, $zero, 2 +/* 9C5E64 80240A84 03E00008 */ jr $ra +/* 9C5E68 80240A88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240A8C.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240A8C.s new file mode 100644 index 0000000000..45ed486c9d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240A8C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A8C +/* 9C5E6C 80240A8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5E70 80240A90 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C5E74 80240A94 0C03A631 */ jal func_800E98C4 +/* 9C5E78 80240A98 00000000 */ nop +/* 9C5E7C 80240A9C 0C03A6DB */ jal sync_status_menu +/* 9C5E80 80240AA0 00000000 */ nop +/* 9C5E84 80240AA4 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C5E88 80240AA8 24020002 */ addiu $v0, $zero, 2 +/* 9C5E8C 80240AAC 03E00008 */ jr $ra +/* 9C5E90 80240AB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240AB4.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240AB4.s new file mode 100644 index 0000000000..4643039621 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240AB4.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB4 +/* 9C5E94 80240AB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C5E98 80240AB8 AFB10014 */ sw $s1, 0x14($sp) +/* 9C5E9C 80240ABC 0080882D */ daddu $s1, $a0, $zero +/* 9C5EA0 80240AC0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C5EA4 80240AC4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C5EA8 80240AC8 8E30000C */ lw $s0, 0xc($s1) +/* 9C5EAC 80240ACC 8E050000 */ lw $a1, ($s0) +/* 9C5EB0 80240AD0 0C0B1EAF */ jal get_variable +/* 9C5EB4 80240AD4 26100004 */ addiu $s0, $s0, 4 +/* 9C5EB8 80240AD8 0220202D */ daddu $a0, $s1, $zero +/* 9C5EBC 80240ADC 8E050000 */ lw $a1, ($s0) +/* 9C5EC0 80240AE0 0C0B1EAF */ jal get_variable +/* 9C5EC4 80240AE4 0040882D */ daddu $s1, $v0, $zero +/* 9C5EC8 80240AE8 0000202D */ daddu $a0, $zero, $zero +/* 9C5ECC 80240AEC 0080282D */ daddu $a1, $a0, $zero +/* 9C5ED0 80240AF0 0040802D */ daddu $s0, $v0, $zero +/* 9C5ED4 80240AF4 240600BE */ addiu $a2, $zero, 0xbe +/* 9C5ED8 80240AF8 0C04DF93 */ jal func_80137E4C +/* 9C5EDC 80240AFC 24070091 */ addiu $a3, $zero, 0x91 +/* 9C5EE0 80240B00 44900000 */ mtc1 $s0, $f0 +/* 9C5EE4 80240B04 00000000 */ nop +/* 9C5EE8 80240B08 46800020 */ cvt.s.w $f0, $f0 +/* 9C5EEC 80240B0C 44050000 */ mfc1 $a1, $f0 +/* 9C5EF0 80240B10 0C04DF62 */ jal func_80137D88 +/* 9C5EF4 80240B14 322400FF */ andi $a0, $s1, 0xff +/* 9C5EF8 80240B18 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C5EFC 80240B1C 8FB10014 */ lw $s1, 0x14($sp) +/* 9C5F00 80240B20 8FB00010 */ lw $s0, 0x10($sp) +/* 9C5F04 80240B24 24020002 */ addiu $v0, $zero, 2 +/* 9C5F08 80240B28 03E00008 */ jr $ra +/* 9C5F0C 80240B2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240B30.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240B30.s new file mode 100644 index 0000000000..867d12c71e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240B30.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B30 +/* 9C5F10 80240B30 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C5F14 80240B34 AFB10014 */ sw $s1, 0x14($sp) +/* 9C5F18 80240B38 0080882D */ daddu $s1, $a0, $zero +/* 9C5F1C 80240B3C AFBF0018 */ sw $ra, 0x18($sp) +/* 9C5F20 80240B40 AFB00010 */ sw $s0, 0x10($sp) +/* 9C5F24 80240B44 8E30000C */ lw $s0, 0xc($s1) +/* 9C5F28 80240B48 8E050000 */ lw $a1, ($s0) +/* 9C5F2C 80240B4C 0C0B1EAF */ jal get_variable +/* 9C5F30 80240B50 26100004 */ addiu $s0, $s0, 4 +/* 9C5F34 80240B54 0220202D */ daddu $a0, $s1, $zero +/* 9C5F38 80240B58 8E050000 */ lw $a1, ($s0) +/* 9C5F3C 80240B5C 0C0B1EAF */ jal get_variable +/* 9C5F40 80240B60 0040802D */ daddu $s0, $v0, $zero +/* 9C5F44 80240B64 44820000 */ mtc1 $v0, $f0 +/* 9C5F48 80240B68 00000000 */ nop +/* 9C5F4C 80240B6C 46800020 */ cvt.s.w $f0, $f0 +/* 9C5F50 80240B70 24020002 */ addiu $v0, $zero, 2 +/* 9C5F54 80240B74 00501804 */ sllv $v1, $s0, $v0 +/* 9C5F58 80240B78 00701821 */ addu $v1, $v1, $s0 +/* 9C5F5C 80240B7C 00431804 */ sllv $v1, $v1, $v0 +/* 9C5F60 80240B80 00701823 */ subu $v1, $v1, $s0 +/* 9C5F64 80240B84 000320C0 */ sll $a0, $v1, 3 +/* 9C5F68 80240B88 00641821 */ addu $v1, $v1, $a0 +/* 9C5F6C 80240B8C 000318C0 */ sll $v1, $v1, 3 +/* 9C5F70 80240B90 3C01800B */ lui $at, 0x800b +/* 9C5F74 80240B94 00230821 */ addu $at, $at, $v1 +/* 9C5F78 80240B98 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 9C5F7C 80240B9C 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C5F80 80240BA0 8FB10014 */ lw $s1, 0x14($sp) +/* 9C5F84 80240BA4 8FB00010 */ lw $s0, 0x10($sp) +/* 9C5F88 80240BA8 03E00008 */ jr $ra +/* 9C5F8C 80240BAC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240BB0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240BB0.s new file mode 100644 index 0000000000..51eb6f7410 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240BB0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB0 +/* 9C5F90 80240BB0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5F94 80240BB4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C5F98 80240BB8 8C82000C */ lw $v0, 0xc($a0) +/* 9C5F9C 80240BBC 0C0B1EAF */ jal get_variable +/* 9C5FA0 80240BC0 8C450000 */ lw $a1, ($v0) +/* 9C5FA4 80240BC4 0C0B1059 */ jal does_script_exist +/* 9C5FA8 80240BC8 0040202D */ daddu $a0, $v0, $zero +/* 9C5FAC 80240BCC 2C420001 */ sltiu $v0, $v0, 1 +/* 9C5FB0 80240BD0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C5FB4 80240BD4 00021040 */ sll $v0, $v0, 1 +/* 9C5FB8 80240BD8 03E00008 */ jr $ra +/* 9C5FBC 80240BDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240BE0_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240BE0_9C53E0.s new file mode 100644 index 0000000000..16b30d3430 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240BE0_9C53E0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE0_9C5FC0 +/* 9C5FC0 80240BE0 3C028011 */ lui $v0, 0x8011 +/* 9C5FC4 80240BE4 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 9C5FC8 80240BE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5FCC 80240BEC 10400003 */ beqz $v0, .L80240BFC +/* 9C5FD0 80240BF0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C5FD4 80240BF4 0C03AE06 */ jal partner_suspend_ability_script +/* 9C5FD8 80240BF8 00000000 */ nop +.L80240BFC: +/* 9C5FDC 80240BFC 24020002 */ addiu $v0, $zero, 2 +/* 9C5FE0 80240C00 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C5FE4 80240C04 03E00008 */ jr $ra +/* 9C5FE8 80240C08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240C0C.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240C0C.s new file mode 100644 index 0000000000..916aa68a69 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240C0C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C0C +/* 9C5FEC 80240C0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C5FF0 80240C10 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C5FF4 80240C14 0C03AE18 */ jal partner_resume_ability_script +/* 9C5FF8 80240C18 00000000 */ nop +/* 9C5FFC 80240C1C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6000 80240C20 24020002 */ addiu $v0, $zero, 2 +/* 9C6004 80240C24 03E00008 */ jr $ra +/* 9C6008 80240C28 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240C2C.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240C2C.s new file mode 100644 index 0000000000..4227be774a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240C2C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C2C +/* 9C600C 80240C2C 3C058011 */ lui $a1, %hi(gPlayerData) +/* 9C6010 80240C30 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* 9C6014 80240C34 AC800088 */ sw $zero, 0x88($a0) +/* 9C6018 80240C38 80A30003 */ lb $v1, 3($a1) +/* 9C601C 80240C3C 80A20002 */ lb $v0, 2($a1) +/* 9C6020 80240C40 1462000B */ bne $v1, $v0, .L80240C70 +/* 9C6024 80240C44 00A0302D */ daddu $a2, $a1, $zero +/* 9C6028 80240C48 80A30006 */ lb $v1, 6($a1) +/* 9C602C 80240C4C 80A20005 */ lb $v0, 5($a1) +/* 9C6030 80240C50 14620007 */ bne $v1, $v0, .L80240C70 +/* 9C6034 80240C54 00000000 */ nop +/* 9C6038 80240C58 80C2028E */ lb $v0, 0x28e($a2) +/* 9C603C 80240C5C 84C30290 */ lh $v1, 0x290($a2) +/* 9C6040 80240C60 00021200 */ sll $v0, $v0, 8 +/* 9C6044 80240C64 14620004 */ bne $v1, $v0, .L80240C78 +/* 9C6048 80240C68 24020001 */ addiu $v0, $zero, 1 +/* 9C604C 80240C6C AC820088 */ sw $v0, 0x88($a0) +.L80240C70: +/* 9C6050 80240C70 03E00008 */ jr $ra +/* 9C6054 80240C74 24020002 */ addiu $v0, $zero, 2 +.L80240C78: +/* 9C6058 80240C78 03E00008 */ jr $ra +/* 9C605C 80240C7C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240C80_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240C80_9C53E0.s new file mode 100644 index 0000000000..bcc46998d6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240C80_9C53E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C80_9C6060 +/* 9C6060 80240C80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6064 80240C84 AFB10014 */ sw $s1, 0x14($sp) +/* 9C6068 80240C88 0080882D */ daddu $s1, $a0, $zero +/* 9C606C 80240C8C AFBF001C */ sw $ra, 0x1c($sp) +/* 9C6070 80240C90 AFB20018 */ sw $s2, 0x18($sp) +/* 9C6074 80240C94 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6078 80240C98 8E30000C */ lw $s0, 0xc($s1) +/* 9C607C 80240C9C 8E050000 */ lw $a1, ($s0) +/* 9C6080 80240CA0 0C0B1EAF */ jal get_variable +/* 9C6084 80240CA4 26100004 */ addiu $s0, $s0, 4 +/* 9C6088 80240CA8 8E050000 */ lw $a1, ($s0) +/* 9C608C 80240CAC 26100004 */ addiu $s0, $s0, 4 +/* 9C6090 80240CB0 0220202D */ daddu $a0, $s1, $zero +/* 9C6094 80240CB4 0C0B1EAF */ jal get_variable +/* 9C6098 80240CB8 0040902D */ daddu $s2, $v0, $zero +/* 9C609C 80240CBC 0220202D */ daddu $a0, $s1, $zero +/* 9C60A0 80240CC0 8E050000 */ lw $a1, ($s0) +/* 9C60A4 80240CC4 0C0B1EAF */ jal get_variable +/* 9C60A8 80240CC8 0040802D */ daddu $s0, $v0, $zero +/* 9C60AC 80240CCC 0000202D */ daddu $a0, $zero, $zero +/* 9C60B0 80240CD0 324500FF */ andi $a1, $s2, 0xff +/* 9C60B4 80240CD4 320600FF */ andi $a2, $s0, 0xff +/* 9C60B8 80240CD8 0C04DF84 */ jal func_80137E10 +/* 9C60BC 80240CDC 304700FF */ andi $a3, $v0, 0xff +/* 9C60C0 80240CE0 8FBF001C */ lw $ra, 0x1c($sp) +/* 9C60C4 80240CE4 8FB20018 */ lw $s2, 0x18($sp) +/* 9C60C8 80240CE8 8FB10014 */ lw $s1, 0x14($sp) +/* 9C60CC 80240CEC 8FB00010 */ lw $s0, 0x10($sp) +/* 9C60D0 80240CF0 24020002 */ addiu $v0, $zero, 2 +/* 9C60D4 80240CF4 03E00008 */ jr $ra +/* 9C60D8 80240CF8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240CFC.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240CFC.s new file mode 100644 index 0000000000..a04134d132 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240CFC.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CFC +/* 9C60DC 80240CFC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C60E0 80240D00 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C60E4 80240D04 8C82000C */ lw $v0, 0xc($a0) +/* 9C60E8 80240D08 3C068011 */ lui $a2, 0x8011 +/* 9C60EC 80240D0C 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* 9C60F0 80240D10 0C0B2026 */ jal set_variable +/* 9C60F4 80240D14 8C450000 */ lw $a1, ($v0) +/* 9C60F8 80240D18 0C03AC5A */ jal func_800EB168 +/* 9C60FC 80240D1C 0000202D */ daddu $a0, $zero, $zero +/* 9C6100 80240D20 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6104 80240D24 24020002 */ addiu $v0, $zero, 2 +/* 9C6108 80240D28 03E00008 */ jr $ra +/* 9C610C 80240D2C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240D30_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240D30_9C53E0.s new file mode 100644 index 0000000000..393eda7a34 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240D30_9C53E0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30_9C6110 +/* 9C6110 80240D30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6114 80240D34 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C6118 80240D38 8C82000C */ lw $v0, 0xc($a0) +/* 9C611C 80240D3C 0C0B1EAF */ jal get_variable +/* 9C6120 80240D40 8C450000 */ lw $a1, ($v0) +/* 9C6124 80240D44 00021600 */ sll $v0, $v0, 0x18 +/* 9C6128 80240D48 0C03AC5A */ jal func_800EB168 +/* 9C612C 80240D4C 00022603 */ sra $a0, $v0, 0x18 +/* 9C6130 80240D50 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6134 80240D54 24020002 */ addiu $v0, $zero, 2 +/* 9C6138 80240D58 03E00008 */ jr $ra +/* 9C613C 80240D5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240D60.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240D60.s new file mode 100644 index 0000000000..aa913f1929 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240D60.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D60 +/* 9C6140 80240D60 03E00008 */ jr $ra +/* 9C6144 80240D64 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240E1C.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240E1C.s new file mode 100644 index 0000000000..b0634851ec --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240E1C.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E1C +/* 9C61FC 80240E1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6200 80240E20 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6204 80240E24 0080802D */ daddu $s0, $a0, $zero +/* 9C6208 80240E28 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C620C 80240E2C AFB10014 */ sw $s1, 0x14($sp) +/* 9C6210 80240E30 8E02000C */ lw $v0, 0xc($s0) +/* 9C6214 80240E34 8C510000 */ lw $s1, ($v0) +/* 9C6218 80240E38 0C0B1EAF */ jal get_variable +/* 9C621C 80240E3C 0220282D */ daddu $a1, $s1, $zero +/* 9C6220 80240E40 3C03FFF0 */ lui $v1, 0xfff0 +/* 9C6224 80240E44 3463FFFF */ ori $v1, $v1, 0xffff +/* 9C6228 80240E48 0200202D */ daddu $a0, $s0, $zero +/* 9C622C 80240E4C 00431024 */ and $v0, $v0, $v1 +/* 9C6230 80240E50 00021140 */ sll $v0, $v0, 5 +/* 9C6234 80240E54 3C068008 */ lui $a2, %hi(gItemTable) +/* 9C6238 80240E58 00C23021 */ addu $a2, $a2, $v0 +/* 9C623C 80240E5C 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9C6240 80240E60 0C0B2026 */ jal set_variable +/* 9C6244 80240E64 0220282D */ daddu $a1, $s1, $zero +/* 9C6248 80240E68 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C624C 80240E6C 8FB10014 */ lw $s1, 0x14($sp) +/* 9C6250 80240E70 8FB00010 */ lw $s0, 0x10($sp) +/* 9C6254 80240E74 24020002 */ addiu $v0, $zero, 2 +/* 9C6258 80240E78 03E00008 */ jr $ra +/* 9C625C 80240E7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240E80_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240E80_9C53E0.s new file mode 100644 index 0000000000..cf6b163608 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240E80_9C53E0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80_9C6260 +/* 9C6260 80240E80 24020001 */ addiu $v0, $zero, 1 +/* 9C6264 80240E84 3C018015 */ lui $at, %hi(D_80151310) +/* 9C6268 80240E88 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 9C626C 80240E8C 03E00008 */ jr $ra +/* 9C6270 80240E90 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240E94.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240E94.s new file mode 100644 index 0000000000..7af0860e91 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240E94.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E94 +/* 9C6274 80240E94 3C018015 */ lui $at, %hi(D_80151310) +/* 9C6278 80240E98 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 9C627C 80240E9C 03E00008 */ jr $ra +/* 9C6280 80240EA0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80240EA4.s b/asm/nonmatchings/world/area_nok/nok_01/func_80240EA4.s new file mode 100644 index 0000000000..597d084153 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80240EA4.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EA4 +/* 9C6284 80240EA4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C6288 80240EA8 AFB10024 */ sw $s1, 0x24($sp) +/* 9C628C 80240EAC 0080882D */ daddu $s1, $a0, $zero +/* 9C6290 80240EB0 3C05F840 */ lui $a1, 0xf840 +/* 9C6294 80240EB4 AFBF0044 */ sw $ra, 0x44($sp) +/* 9C6298 80240EB8 AFBE0040 */ sw $fp, 0x40($sp) +/* 9C629C 80240EBC AFB7003C */ sw $s7, 0x3c($sp) +/* 9C62A0 80240EC0 AFB60038 */ sw $s6, 0x38($sp) +/* 9C62A4 80240EC4 AFB50034 */ sw $s5, 0x34($sp) +/* 9C62A8 80240EC8 AFB40030 */ sw $s4, 0x30($sp) +/* 9C62AC 80240ECC AFB3002C */ sw $s3, 0x2c($sp) +/* 9C62B0 80240ED0 AFB20028 */ sw $s2, 0x28($sp) +/* 9C62B4 80240ED4 AFB00020 */ sw $s0, 0x20($sp) +/* 9C62B8 80240ED8 8E3E0148 */ lw $fp, 0x148($s1) +/* 9C62BC 80240EDC 0C0B1EAF */ jal get_variable +/* 9C62C0 80240EE0 34A56268 */ ori $a1, $a1, 0x6268 +/* 9C62C4 80240EE4 0040802D */ daddu $s0, $v0, $zero +/* 9C62C8 80240EE8 0220202D */ daddu $a0, $s1, $zero +/* 9C62CC 80240EEC 3C05F840 */ lui $a1, 0xf840 +/* 9C62D0 80240EF0 0C0B1EAF */ jal get_variable +/* 9C62D4 80240EF4 34A56269 */ ori $a1, $a1, 0x6269 +/* 9C62D8 80240EF8 0040B82D */ daddu $s7, $v0, $zero +/* 9C62DC 80240EFC 0220202D */ daddu $a0, $s1, $zero +/* 9C62E0 80240F00 3C05F5DE */ lui $a1, 0xf5de +/* 9C62E4 80240F04 0C0B1EAF */ jal get_variable +/* 9C62E8 80240F08 34A502DE */ ori $a1, $a1, 0x2de +/* 9C62EC 80240F0C 0040B02D */ daddu $s6, $v0, $zero +/* 9C62F0 80240F10 0220202D */ daddu $a0, $s1, $zero +/* 9C62F4 80240F14 3C05F5DE */ lui $a1, 0xf5de +/* 9C62F8 80240F18 0C0B1EAF */ jal get_variable +/* 9C62FC 80240F1C 34A502DF */ ori $a1, $a1, 0x2df +/* 9C6300 80240F20 0040A82D */ daddu $s5, $v0, $zero +/* 9C6304 80240F24 93D3006D */ lbu $s3, 0x6d($fp) +/* 9C6308 80240F28 32C2FFFF */ andi $v0, $s6, 0xffff +/* 9C630C 80240F2C A7B30010 */ sh $s3, 0x10($sp) +/* 9C6310 80240F30 93D2006E */ lbu $s2, 0x6e($fp) +/* 9C6314 80240F34 93C7006F */ lbu $a3, 0x6f($fp) +/* 9C6318 80240F38 3274FFFF */ andi $s4, $s3, 0xffff +/* 9C631C 80240F3C 12820003 */ beq $s4, $v0, .L80240F4C +/* 9C6320 80240F40 A7A7001E */ sh $a3, 0x1e($sp) +/* 9C6324 80240F44 0000B82D */ daddu $s7, $zero, $zero +/* 9C6328 80240F48 02E0802D */ daddu $s0, $s7, $zero +.L80240F4C: +/* 9C632C 80240F4C 3202FFFF */ andi $v0, $s0, 0xffff +/* 9C6330 80240F50 14400016 */ bnez $v0, .L80240FAC +/* 9C6334 80240F54 0220202D */ daddu $a0, $s1, $zero +/* 9C6338 80240F58 0C00A67F */ jal rand_int +/* 9C633C 80240F5C 24040064 */ addiu $a0, $zero, 0x64 +/* 9C6340 80240F60 2842001E */ slti $v0, $v0, 0x1e +/* 9C6344 80240F64 10400011 */ beqz $v0, .L80240FAC +/* 9C6348 80240F68 0220202D */ daddu $a0, $s1, $zero +/* 9C634C 80240F6C 0C00A67F */ jal rand_int +/* 9C6350 80240F70 2644FFFF */ addiu $a0, $s2, -1 +/* 9C6354 80240F74 0040A82D */ daddu $s5, $v0, $zero +/* 9C6358 80240F78 0260B02D */ daddu $s6, $s3, $zero +/* 9C635C 80240F7C 0220202D */ daddu $a0, $s1, $zero +/* 9C6360 80240F80 3C05F5DE */ lui $a1, 0xf5de +/* 9C6364 80240F84 34A502DE */ ori $a1, $a1, 0x2de +/* 9C6368 80240F88 0C0B2026 */ jal set_variable +/* 9C636C 80240F8C 0280302D */ daddu $a2, $s4, $zero +/* 9C6370 80240F90 0220202D */ daddu $a0, $s1, $zero +/* 9C6374 80240F94 3C05F5DE */ lui $a1, 0xf5de +/* 9C6378 80240F98 34A502DF */ ori $a1, $a1, 0x2df +/* 9C637C 80240F9C 0C0B2026 */ jal set_variable +/* 9C6380 80240FA0 32A6FFFF */ andi $a2, $s5, 0xffff +/* 9C6384 80240FA4 24100001 */ addiu $s0, $zero, 1 +/* 9C6388 80240FA8 0220202D */ daddu $a0, $s1, $zero +.L80240FAC: +/* 9C638C 80240FAC 3C05F840 */ lui $a1, 0xf840 +/* 9C6390 80240FB0 34A56268 */ ori $a1, $a1, 0x6268 +/* 9C6394 80240FB4 0C0B2026 */ jal set_variable +/* 9C6398 80240FB8 3206FFFF */ andi $a2, $s0, 0xffff +/* 9C639C 80240FBC 0220202D */ daddu $a0, $s1, $zero +/* 9C63A0 80240FC0 3C05F840 */ lui $a1, 0xf840 +/* 9C63A4 80240FC4 34A56269 */ ori $a1, $a1, 0x6269 +/* 9C63A8 80240FC8 0C0B2026 */ jal set_variable +/* 9C63AC 80240FCC 32E6FFFF */ andi $a2, $s7, 0xffff +/* 9C63B0 80240FD0 0000202D */ daddu $a0, $zero, $zero +/* 9C63B4 80240FD4 3C05F5DE */ lui $a1, 0xf5de +/* 9C63B8 80240FD8 0C0B1EAF */ jal get_variable +/* 9C63BC 80240FDC 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 9C63C0 80240FE0 0000202D */ daddu $a0, $zero, $zero +/* 9C63C4 80240FE4 3C05F5DE */ lui $a1, 0xf5de +/* 9C63C8 80240FE8 34A50180 */ ori $a1, $a1, 0x180 +/* 9C63CC 80240FEC 0C0B1EAF */ jal get_variable +/* 9C63D0 80240FF0 0040802D */ daddu $s0, $v0, $zero +/* 9C63D4 80240FF4 0040282D */ daddu $a1, $v0, $zero +/* 9C63D8 80240FF8 0000182D */ daddu $v1, $zero, $zero +/* 9C63DC 80240FFC 3C068024 */ lui $a2, 0x8024 +/* 9C63E0 80241000 24C65FE8 */ addiu $a2, $a2, 0x5fe8 +/* 9C63E4 80241004 00C0202D */ daddu $a0, $a2, $zero +.L80241008: +/* 9C63E8 80241008 8C820000 */ lw $v0, ($a0) +/* 9C63EC 8024100C 00A2102A */ slt $v0, $a1, $v0 +/* 9C63F0 80241010 14400006 */ bnez $v0, .L8024102C +/* 9C63F4 80241014 000310C0 */ sll $v0, $v1, 3 +/* 9C63F8 80241018 24630001 */ addiu $v1, $v1, 1 +/* 9C63FC 8024101C 28620008 */ slti $v0, $v1, 8 +/* 9C6400 80241020 1440FFF9 */ bnez $v0, .L80241008 +/* 9C6404 80241024 24840008 */ addiu $a0, $a0, 8 +/* 9C6408 80241028 000310C0 */ sll $v0, $v1, 3 +.L8024102C: +/* 9C640C 8024102C 00461021 */ addu $v0, $v0, $a2 +/* 9C6410 80241030 8C420004 */ lw $v0, 4($v0) +/* 9C6414 80241034 97A30010 */ lhu $v1, 0x10($sp) +/* 9C6418 80241038 0202202A */ slt $a0, $s0, $v0 +/* 9C641C 8024103C 32C2FFFF */ andi $v0, $s6, 0xffff +/* 9C6420 80241040 14620008 */ bne $v1, $v0, .L80241064 +/* 9C6424 80241044 32A2FFFF */ andi $v0, $s5, 0xffff +/* 9C6428 80241048 97A7001E */ lhu $a3, 0x1e($sp) +/* 9C642C 8024104C 14E20005 */ bne $a3, $v0, .L80241064 +/* 9C6430 80241050 32E2FFFF */ andi $v0, $s7, 0xffff +/* 9C6434 80241054 14400003 */ bnez $v0, .L80241064 +/* 9C6438 80241058 00000000 */ nop +/* 9C643C 8024105C 14800008 */ bnez $a0, .L80241080 +/* 9C6440 80241060 24020001 */ addiu $v0, $zero, 1 +.L80241064: +/* 9C6444 80241064 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9C6448 80241068 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9C644C 8024106C 80420075 */ lb $v0, 0x75($v0) +/* 9C6450 80241070 10400005 */ beqz $v0, .L80241088 +/* 9C6454 80241074 00000000 */ nop +/* 9C6458 80241078 10800003 */ beqz $a0, .L80241088 +/* 9C645C 8024107C 24020001 */ addiu $v0, $zero, 1 +.L80241080: +/* 9C6460 80241080 08090425 */ j .L80241094 +/* 9C6464 80241084 AE220084 */ sw $v0, 0x84($s1) +.L80241088: +/* 9C6468 80241088 0C00F9EB */ jal kill_enemy +/* 9C646C 8024108C 03C0202D */ daddu $a0, $fp, $zero +/* 9C6470 80241090 AE200084 */ sw $zero, 0x84($s1) +.L80241094: +/* 9C6474 80241094 8FBF0044 */ lw $ra, 0x44($sp) +/* 9C6478 80241098 8FBE0040 */ lw $fp, 0x40($sp) +/* 9C647C 8024109C 8FB7003C */ lw $s7, 0x3c($sp) +/* 9C6480 802410A0 8FB60038 */ lw $s6, 0x38($sp) +/* 9C6484 802410A4 8FB50034 */ lw $s5, 0x34($sp) +/* 9C6488 802410A8 8FB40030 */ lw $s4, 0x30($sp) +/* 9C648C 802410AC 8FB3002C */ lw $s3, 0x2c($sp) +/* 9C6490 802410B0 8FB20028 */ lw $s2, 0x28($sp) +/* 9C6494 802410B4 8FB10024 */ lw $s1, 0x24($sp) +/* 9C6498 802410B8 8FB00020 */ lw $s0, 0x20($sp) +/* 9C649C 802410BC 24020002 */ addiu $v0, $zero, 2 +/* 9C64A0 802410C0 03E00008 */ jr $ra +/* 9C64A4 802410C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802410C8.s b/asm/nonmatchings/world/area_nok/nok_01/func_802410C8.s new file mode 100644 index 0000000000..ceffac4227 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802410C8.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410C8 +/* 9C64A8 802410C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C64AC 802410CC AFBF0014 */ sw $ra, 0x14($sp) +/* 9C64B0 802410D0 AFB00010 */ sw $s0, 0x10($sp) +/* 9C64B4 802410D4 0C00EABB */ jal get_npc_unsafe +/* 9C64B8 802410D8 8C84014C */ lw $a0, 0x14c($a0) +/* 9C64BC 802410DC 24040008 */ addiu $a0, $zero, 8 +/* 9C64C0 802410E0 0040802D */ daddu $s0, $v0, $zero +/* 9C64C4 802410E4 3C028024 */ lui $v0, 0x8024 +/* 9C64C8 802410E8 24421134 */ addiu $v0, $v0, 0x1134 +/* 9C64CC 802410EC 0C00AB39 */ jal heap_malloc +/* 9C64D0 802410F0 AE020008 */ sw $v0, 8($s0) +/* 9C64D4 802410F4 0040182D */ daddu $v1, $v0, $zero +/* 9C64D8 802410F8 AE030020 */ sw $v1, 0x20($s0) +/* 9C64DC 802410FC AC600000 */ sw $zero, ($v1) +/* 9C64E0 80241100 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C64E4 80241104 8FB00010 */ lw $s0, 0x10($sp) +/* 9C64E8 80241108 24020001 */ addiu $v0, $zero, 1 +/* 9C64EC 8024110C 03E00008 */ jr $ra +/* 9C64F0 80241110 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241114.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241114.s new file mode 100644 index 0000000000..885b91fd87 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241114.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241114 +/* 9C64F4 80241114 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C64F8 80241118 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C64FC 8024111C 0C00EABB */ jal get_npc_unsafe +/* 9C6500 80241120 8C84014C */ lw $a0, 0x14c($a0) +/* 9C6504 80241124 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6508 80241128 0000102D */ daddu $v0, $zero, $zero +/* 9C650C 8024112C 03E00008 */ jr $ra +/* 9C6510 80241130 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241134.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241134.s new file mode 100644 index 0000000000..ca217d6816 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241134.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241134 +/* 9C6514 80241134 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6518 80241138 3C03800A */ lui $v1, 0x800a +/* 9C651C 8024113C 8463A634 */ lh $v1, -0x59cc($v1) +/* 9C6520 80241140 3C05800B */ lui $a1, %hi(gCameras) +/* 9C6524 80241144 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 9C6528 80241148 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C652C 8024114C 00031080 */ sll $v0, $v1, 2 +/* 9C6530 80241150 00431021 */ addu $v0, $v0, $v1 +/* 9C6534 80241154 00021080 */ sll $v0, $v0, 2 +/* 9C6538 80241158 00431023 */ subu $v0, $v0, $v1 +/* 9C653C 8024115C 000218C0 */ sll $v1, $v0, 3 +/* 9C6540 80241160 00431021 */ addu $v0, $v0, $v1 +/* 9C6544 80241164 8C830020 */ lw $v1, 0x20($a0) +/* 9C6548 80241168 000210C0 */ sll $v0, $v0, 3 +/* 9C654C 8024116C 8C630000 */ lw $v1, ($v1) +/* 9C6550 80241170 30630001 */ andi $v1, $v1, 1 +/* 9C6554 80241174 10600004 */ beqz $v1, .L80241188 +/* 9C6558 80241178 00451021 */ addu $v0, $v0, $a1 +/* 9C655C 8024117C C44C006C */ lwc1 $f12, 0x6c($v0) +/* 9C6560 80241180 0C00A6C9 */ jal clamp_angle +/* 9C6564 80241184 46006307 */ neg.s $f12, $f12 +.L80241188: +/* 9C6568 80241188 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C656C 8024118C 03E00008 */ jr $ra +/* 9C6570 80241190 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241194.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241194.s new file mode 100644 index 0000000000..8eb8e3dafc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241194.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241194 +/* 9C6574 80241194 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C6578 80241198 AFB10014 */ sw $s1, 0x14($sp) +/* 9C657C 8024119C 0080882D */ daddu $s1, $a0, $zero +/* 9C6580 802411A0 AFBF0024 */ sw $ra, 0x24($sp) +/* 9C6584 802411A4 AFB40020 */ sw $s4, 0x20($sp) +/* 9C6588 802411A8 AFB3001C */ sw $s3, 0x1c($sp) +/* 9C658C 802411AC AFB20018 */ sw $s2, 0x18($sp) +/* 9C6590 802411B0 10A00033 */ beqz $a1, .L80241280 +/* 9C6594 802411B4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6598 802411B8 0C04760B */ jal func_8011D82C +/* 9C659C 802411BC 24040001 */ addiu $a0, $zero, 1 +/* 9C65A0 802411C0 0000202D */ daddu $a0, $zero, $zero +/* 9C65A4 802411C4 0080282D */ daddu $a1, $a0, $zero +/* 9C65A8 802411C8 0080302D */ daddu $a2, $a0, $zero +/* 9C65AC 802411CC 0080382D */ daddu $a3, $a0, $zero +/* 9C65B0 802411D0 0080802D */ daddu $s0, $a0, $zero +/* 9C65B4 802411D4 2414FFFC */ addiu $s4, $zero, -4 +/* 9C65B8 802411D8 2413000F */ addiu $s3, $zero, 0xf +/* 9C65BC 802411DC 3C120080 */ lui $s2, 0x80 +/* 9C65C0 802411E0 3C038015 */ lui $v1, 0x8015 +/* 9C65C4 802411E4 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 9C65C8 802411E8 24020001 */ addiu $v0, $zero, 1 +/* 9C65CC 802411EC 0C046F97 */ jal set_background_color_blend +/* 9C65D0 802411F0 A0620000 */ sb $v0, ($v1) +.L802411F4: +/* 9C65D4 802411F4 0C00E2B7 */ jal get_npc_by_index +/* 9C65D8 802411F8 0200202D */ daddu $a0, $s0, $zero +/* 9C65DC 802411FC 0040202D */ daddu $a0, $v0, $zero +/* 9C65E0 80241200 5080000B */ beql $a0, $zero, .L80241230 +/* 9C65E4 80241204 26100001 */ addiu $s0, $s0, 1 +/* 9C65E8 80241208 8C820000 */ lw $v0, ($a0) +/* 9C65EC 8024120C 50400008 */ beql $v0, $zero, .L80241230 +/* 9C65F0 80241210 26100001 */ addiu $s0, $s0, 1 +/* 9C65F4 80241214 808300A4 */ lb $v1, 0xa4($a0) +/* 9C65F8 80241218 10740005 */ beq $v1, $s4, .L80241230 +/* 9C65FC 8024121C 26100001 */ addiu $s0, $s0, 1 +/* 9C6600 80241220 10730003 */ beq $v1, $s3, .L80241230 +/* 9C6604 80241224 00000000 */ nop +/* 9C6608 80241228 00521025 */ or $v0, $v0, $s2 +/* 9C660C 8024122C AC820000 */ sw $v0, ($a0) +.L80241230: +/* 9C6610 80241230 2A020040 */ slti $v0, $s0, 0x40 +/* 9C6614 80241234 1440FFEF */ bnez $v0, .L802411F4 +/* 9C6618 80241238 00000000 */ nop +/* 9C661C 8024123C 0000802D */ daddu $s0, $zero, $zero +/* 9C6620 80241240 3C120800 */ lui $s2, 0x800 +.L80241244: +/* 9C6624 80241244 0C04C3D6 */ jal get_item_entity +/* 9C6628 80241248 0200202D */ daddu $a0, $s0, $zero +/* 9C662C 8024124C 0040182D */ daddu $v1, $v0, $zero +/* 9C6630 80241250 10600007 */ beqz $v1, .L80241270 +/* 9C6634 80241254 26100001 */ addiu $s0, $s0, 1 +/* 9C6638 80241258 8C640000 */ lw $a0, ($v1) +/* 9C663C 8024125C 30820010 */ andi $v0, $a0, 0x10 +/* 9C6640 80241260 10400003 */ beqz $v0, .L80241270 +/* 9C6644 80241264 00000000 */ nop +/* 9C6648 80241268 00921025 */ or $v0, $a0, $s2 +/* 9C664C 8024126C AC620000 */ sw $v0, ($v1) +.L80241270: +/* 9C6650 80241270 2A020100 */ slti $v0, $s0, 0x100 +/* 9C6654 80241274 1440FFF3 */ bnez $v0, .L80241244 +/* 9C6658 80241278 00000000 */ nop +/* 9C665C 8024127C AE200070 */ sw $zero, 0x70($s1) +.L80241280: +/* 9C6660 80241280 8E220070 */ lw $v0, 0x70($s1) +/* 9C6664 80241284 24420008 */ addiu $v0, $v0, 8 +/* 9C6668 80241288 AE220070 */ sw $v0, 0x70($s1) +/* 9C666C 8024128C 28420100 */ slti $v0, $v0, 0x100 +/* 9C6670 80241290 14400003 */ bnez $v0, .L802412A0 +/* 9C6674 80241294 0000202D */ daddu $a0, $zero, $zero +/* 9C6678 80241298 240200FF */ addiu $v0, $zero, 0xff +/* 9C667C 8024129C AE220070 */ sw $v0, 0x70($s1) +.L802412A0: +/* 9C6680 802412A0 0080282D */ daddu $a1, $a0, $zero +/* 9C6684 802412A4 92270073 */ lbu $a3, 0x73($s1) +/* 9C6688 802412A8 0C046F97 */ jal set_background_color_blend +/* 9C668C 802412AC 0080302D */ daddu $a2, $a0, $zero +/* 9C6690 802412B0 8E220070 */ lw $v0, 0x70($s1) +/* 9C6694 802412B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 9C6698 802412B8 8FB40020 */ lw $s4, 0x20($sp) +/* 9C669C 802412BC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C66A0 802412C0 8FB20018 */ lw $s2, 0x18($sp) +/* 9C66A4 802412C4 8FB10014 */ lw $s1, 0x14($sp) +/* 9C66A8 802412C8 8FB00010 */ lw $s0, 0x10($sp) +/* 9C66AC 802412CC 384200FF */ xori $v0, $v0, 0xff +/* 9C66B0 802412D0 2C420001 */ sltiu $v0, $v0, 1 +/* 9C66B4 802412D4 00021040 */ sll $v0, $v0, 1 +/* 9C66B8 802412D8 03E00008 */ jr $ra +/* 9C66BC 802412DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802412E0_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802412E0_9C53E0.s new file mode 100644 index 0000000000..3340d9adf9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802412E0_9C53E0.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E0_9C66C0 +/* 9C66C0 802412E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C66C4 802412E4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C66C8 802412E8 0080802D */ daddu $s0, $a0, $zero +/* 9C66CC 802412EC AFBF0020 */ sw $ra, 0x20($sp) +/* 9C66D0 802412F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9C66D4 802412F4 AFB20018 */ sw $s2, 0x18($sp) +/* 9C66D8 802412F8 10A00009 */ beqz $a1, .L80241320 +/* 9C66DC 802412FC AFB10014 */ sw $s1, 0x14($sp) +/* 9C66E0 80241300 0000202D */ daddu $a0, $zero, $zero +/* 9C66E4 80241304 0080282D */ daddu $a1, $a0, $zero +/* 9C66E8 80241308 0080302D */ daddu $a2, $a0, $zero +/* 9C66EC 8024130C 0C046F97 */ jal set_background_color_blend +/* 9C66F0 80241310 240700FF */ addiu $a3, $zero, 0xff +/* 9C66F4 80241314 240200FF */ addiu $v0, $zero, 0xff +/* 9C66F8 80241318 AE020070 */ sw $v0, 0x70($s0) +/* 9C66FC 8024131C AE000074 */ sw $zero, 0x74($s0) +.L80241320: +/* 9C6700 80241320 8E020070 */ lw $v0, 0x70($s0) +/* 9C6704 80241324 2442FFF8 */ addiu $v0, $v0, -8 +/* 9C6708 80241328 04410002 */ bgez $v0, .L80241334 +/* 9C670C 8024132C AE020070 */ sw $v0, 0x70($s0) +/* 9C6710 80241330 AE000070 */ sw $zero, 0x70($s0) +.L80241334: +/* 9C6714 80241334 0000202D */ daddu $a0, $zero, $zero +/* 9C6718 80241338 0080282D */ daddu $a1, $a0, $zero +/* 9C671C 8024133C 92070073 */ lbu $a3, 0x73($s0) +/* 9C6720 80241340 0C046F97 */ jal set_background_color_blend +/* 9C6724 80241344 0080302D */ daddu $a2, $a0, $zero +/* 9C6728 80241348 8E020070 */ lw $v0, 0x70($s0) +/* 9C672C 8024134C 14400006 */ bnez $v0, .L80241368 +/* 9C6730 80241350 00000000 */ nop +/* 9C6734 80241354 8E020074 */ lw $v0, 0x74($s0) +/* 9C6738 80241358 14400003 */ bnez $v0, .L80241368 +/* 9C673C 8024135C 24020001 */ addiu $v0, $zero, 1 +/* 9C6740 80241360 0809050D */ j .L80241434 +/* 9C6744 80241364 AE020074 */ sw $v0, 0x74($s0) +.L80241368: +/* 9C6748 80241368 8E030074 */ lw $v1, 0x74($s0) +/* 9C674C 8024136C 24020001 */ addiu $v0, $zero, 1 +/* 9C6750 80241370 14620031 */ bne $v1, $v0, .L80241438 +/* 9C6754 80241374 0000102D */ daddu $v0, $zero, $zero +/* 9C6758 80241378 0C04760B */ jal func_8011D82C +/* 9C675C 8024137C 0000202D */ daddu $a0, $zero, $zero +/* 9C6760 80241380 0000802D */ daddu $s0, $zero, $zero +/* 9C6764 80241384 2413FFFC */ addiu $s3, $zero, -4 +/* 9C6768 80241388 2412000F */ addiu $s2, $zero, 0xf +/* 9C676C 8024138C 3C11FF7F */ lui $s1, 0xff7f +/* 9C6770 80241390 3C028015 */ lui $v0, 0x8015 +/* 9C6774 80241394 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 9C6778 80241398 3631FFFF */ ori $s1, $s1, 0xffff +/* 9C677C 8024139C A0400000 */ sb $zero, ($v0) +.L802413A0: +/* 9C6780 802413A0 0C00E2B7 */ jal get_npc_by_index +/* 9C6784 802413A4 0200202D */ daddu $a0, $s0, $zero +/* 9C6788 802413A8 0040202D */ daddu $a0, $v0, $zero +/* 9C678C 802413AC 5080000B */ beql $a0, $zero, .L802413DC +/* 9C6790 802413B0 26100001 */ addiu $s0, $s0, 1 +/* 9C6794 802413B4 8C820000 */ lw $v0, ($a0) +/* 9C6798 802413B8 50400008 */ beql $v0, $zero, .L802413DC +/* 9C679C 802413BC 26100001 */ addiu $s0, $s0, 1 +/* 9C67A0 802413C0 808300A4 */ lb $v1, 0xa4($a0) +/* 9C67A4 802413C4 10730005 */ beq $v1, $s3, .L802413DC +/* 9C67A8 802413C8 26100001 */ addiu $s0, $s0, 1 +/* 9C67AC 802413CC 10720003 */ beq $v1, $s2, .L802413DC +/* 9C67B0 802413D0 00000000 */ nop +/* 9C67B4 802413D4 00511024 */ and $v0, $v0, $s1 +/* 9C67B8 802413D8 AC820000 */ sw $v0, ($a0) +.L802413DC: +/* 9C67BC 802413DC 2A020040 */ slti $v0, $s0, 0x40 +/* 9C67C0 802413E0 1440FFEF */ bnez $v0, .L802413A0 +/* 9C67C4 802413E4 00000000 */ nop +/* 9C67C8 802413E8 0000802D */ daddu $s0, $zero, $zero +/* 9C67CC 802413EC 3C11F7FF */ lui $s1, 0xf7ff +/* 9C67D0 802413F0 3631FFFF */ ori $s1, $s1, 0xffff +.L802413F4: +/* 9C67D4 802413F4 0C04C3D6 */ jal get_item_entity +/* 9C67D8 802413F8 0200202D */ daddu $a0, $s0, $zero +/* 9C67DC 802413FC 0040182D */ daddu $v1, $v0, $zero +/* 9C67E0 80241400 10600007 */ beqz $v1, .L80241420 +/* 9C67E4 80241404 26100001 */ addiu $s0, $s0, 1 +/* 9C67E8 80241408 8C640000 */ lw $a0, ($v1) +/* 9C67EC 8024140C 30820010 */ andi $v0, $a0, 0x10 +/* 9C67F0 80241410 10400003 */ beqz $v0, .L80241420 +/* 9C67F4 80241414 00000000 */ nop +/* 9C67F8 80241418 00911024 */ and $v0, $a0, $s1 +/* 9C67FC 8024141C AC620000 */ sw $v0, ($v1) +.L80241420: +/* 9C6800 80241420 2A020100 */ slti $v0, $s0, 0x100 +/* 9C6804 80241424 1440FFF3 */ bnez $v0, .L802413F4 +/* 9C6808 80241428 24020002 */ addiu $v0, $zero, 2 +/* 9C680C 8024142C 0809050E */ j .L80241438 +/* 9C6810 80241430 00000000 */ nop +.L80241434: +/* 9C6814 80241434 0000102D */ daddu $v0, $zero, $zero +.L80241438: +/* 9C6818 80241438 8FBF0020 */ lw $ra, 0x20($sp) +/* 9C681C 8024143C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C6820 80241440 8FB20018 */ lw $s2, 0x18($sp) +/* 9C6824 80241444 8FB10014 */ lw $s1, 0x14($sp) +/* 9C6828 80241448 8FB00010 */ lw $s0, 0x10($sp) +/* 9C682C 8024144C 03E00008 */ jr $ra +/* 9C6830 80241450 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241454.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241454.s new file mode 100644 index 0000000000..47d28d23ad --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241454.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241454 +/* 9C6834 80241454 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6838 80241458 AFB00010 */ sw $s0, 0x10($sp) +/* 9C683C 8024145C 3C108011 */ lui $s0, %hi(gPlayerData) +/* 9C6840 80241460 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 9C6844 80241464 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C6848 80241468 AFB10014 */ sw $s1, 0x14($sp) +/* 9C684C 8024146C 960302C0 */ lhu $v1, 0x2c0($s0) +/* 9C6850 80241470 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 9C6854 80241474 10400003 */ beqz $v0, .L80241484 +/* 9C6858 80241478 0080882D */ daddu $s1, $a0, $zero +/* 9C685C 8024147C 24620001 */ addiu $v0, $v1, 1 +/* 9C6860 80241480 A60202C0 */ sh $v0, 0x2c0($s0) +.L80241484: +/* 9C6864 80241484 3C05F5DE */ lui $a1, 0xf5de +/* 9C6868 80241488 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 9C686C 8024148C 0C0B1EAF */ jal get_variable +/* 9C6870 80241490 0000202D */ daddu $a0, $zero, $zero +/* 9C6874 80241494 3C038024 */ lui $v1, 0x8024 +/* 9C6878 80241498 00621821 */ addu $v1, $v1, $v0 +/* 9C687C 8024149C 90635FA8 */ lbu $v1, 0x5fa8($v1) +/* 9C6880 802414A0 8E220084 */ lw $v0, 0x84($s1) +/* 9C6884 802414A4 54430006 */ bnel $v0, $v1, .L802414C0 +/* 9C6888 802414A8 AE200084 */ sw $zero, 0x84($s1) +/* 9C688C 802414AC 24020001 */ addiu $v0, $zero, 1 +/* 9C6890 802414B0 AE220084 */ sw $v0, 0x84($s1) +/* 9C6894 802414B4 960202C2 */ lhu $v0, 0x2c2($s0) +/* 9C6898 802414B8 24420001 */ addiu $v0, $v0, 1 +/* 9C689C 802414BC A60202C2 */ sh $v0, 0x2c2($s0) +.L802414C0: +/* 9C68A0 802414C0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C68A4 802414C4 8FB10014 */ lw $s1, 0x14($sp) +/* 9C68A8 802414C8 8FB00010 */ lw $s0, 0x10($sp) +/* 9C68AC 802414CC 24020002 */ addiu $v0, $zero, 2 +/* 9C68B0 802414D0 03E00008 */ jr $ra +/* 9C68B4 802414D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802414D8_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802414D8_9C53E0.s new file mode 100644 index 0000000000..97d4835dcd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802414D8_9C53E0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414D8_9C68B8 +/* 9C68B8 802414D8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9C68BC 802414DC AFB1001C */ sw $s1, 0x1c($sp) +/* 9C68C0 802414E0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9C68C4 802414E4 AFB00018 */ sw $s0, 0x18($sp) +/* 9C68C8 802414E8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9C68CC 802414EC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9C68D0 802414F0 10A00060 */ beqz $a1, .L80241674 +/* 9C68D4 802414F4 0080882D */ daddu $s1, $a0, $zero +/* 9C68D8 802414F8 3C05F4AC */ lui $a1, 0xf4ac +/* 9C68DC 802414FC 0C0B1EAF */ jal get_variable +/* 9C68E0 80241500 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9C68E4 80241504 0220202D */ daddu $a0, $s1, $zero +/* 9C68E8 80241508 3C05F4AC */ lui $a1, 0xf4ac +/* 9C68EC 8024150C 4482B000 */ mtc1 $v0, $f22 +/* 9C68F0 80241510 00000000 */ nop +/* 9C68F4 80241514 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C68F8 80241518 0C0B1EAF */ jal get_variable +/* 9C68FC 8024151C 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9C6900 80241520 0220202D */ daddu $a0, $s1, $zero +/* 9C6904 80241524 3C05F4AC */ lui $a1, 0xf4ac +/* 9C6908 80241528 4482A000 */ mtc1 $v0, $f20 +/* 9C690C 8024152C 00000000 */ nop +/* 9C6910 80241530 4680A520 */ cvt.s.w $f20, $f20 +/* 9C6914 80241534 0C0B1EAF */ jal get_variable +/* 9C6918 80241538 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9C691C 8024153C 44821000 */ mtc1 $v0, $f2 +/* 9C6920 80241540 00000000 */ nop +/* 9C6924 80241544 468010A0 */ cvt.s.w $f2, $f2 +/* 9C6928 80241548 4405B000 */ mfc1 $a1, $f22 +/* 9C692C 8024154C 4406A000 */ mfc1 $a2, $f20 +/* 9C6930 80241550 44071000 */ mfc1 $a3, $f2 +/* 9C6934 80241554 0C01C574 */ jal func_800715D0 +/* 9C6938 80241558 0000202D */ daddu $a0, $zero, $zero +/* 9C693C 8024155C 0220202D */ daddu $a0, $s1, $zero +/* 9C6940 80241560 3C05F4AC */ lui $a1, 0xf4ac +/* 9C6944 80241564 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9C6948 80241568 3C108025 */ lui $s0, 0x8025 +/* 9C694C 8024156C 26101C60 */ addiu $s0, $s0, 0x1c60 +/* 9C6950 80241570 0C0B1EAF */ jal get_variable +/* 9C6954 80241574 AE020000 */ sw $v0, ($s0) +/* 9C6958 80241578 0220202D */ daddu $a0, $s1, $zero +/* 9C695C 8024157C 3C05F4AC */ lui $a1, 0xf4ac +/* 9C6960 80241580 4482B000 */ mtc1 $v0, $f22 +/* 9C6964 80241584 00000000 */ nop +/* 9C6968 80241588 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C696C 8024158C 0C0B1EAF */ jal get_variable +/* 9C6970 80241590 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9C6974 80241594 0220202D */ daddu $a0, $s1, $zero +/* 9C6978 80241598 3C05F4AC */ lui $a1, 0xf4ac +/* 9C697C 8024159C 4482A000 */ mtc1 $v0, $f20 +/* 9C6980 802415A0 00000000 */ nop +/* 9C6984 802415A4 4680A520 */ cvt.s.w $f20, $f20 +/* 9C6988 802415A8 0C0B1EAF */ jal get_variable +/* 9C698C 802415AC 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9C6990 802415B0 44821000 */ mtc1 $v0, $f2 +/* 9C6994 802415B4 00000000 */ nop +/* 9C6998 802415B8 468010A0 */ cvt.s.w $f2, $f2 +/* 9C699C 802415BC 4405B000 */ mfc1 $a1, $f22 +/* 9C69A0 802415C0 4406A000 */ mfc1 $a2, $f20 +/* 9C69A4 802415C4 44071000 */ mfc1 $a3, $f2 +/* 9C69A8 802415C8 0C01C604 */ jal func_80071810 +/* 9C69AC 802415CC 0000202D */ daddu $a0, $zero, $zero +/* 9C69B0 802415D0 0220202D */ daddu $a0, $s1, $zero +/* 9C69B4 802415D4 3C05F4AC */ lui $a1, 0xf4ac +/* 9C69B8 802415D8 3C018025 */ lui $at, 0x8025 +/* 9C69BC 802415DC AC221C64 */ sw $v0, 0x1c64($at) +/* 9C69C0 802415E0 0C0B1EAF */ jal get_variable +/* 9C69C4 802415E4 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9C69C8 802415E8 0220202D */ daddu $a0, $s1, $zero +/* 9C69CC 802415EC 3C05F4AC */ lui $a1, 0xf4ac +/* 9C69D0 802415F0 4482B000 */ mtc1 $v0, $f22 +/* 9C69D4 802415F4 00000000 */ nop +/* 9C69D8 802415F8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C69DC 802415FC 0C0B1EAF */ jal get_variable +/* 9C69E0 80241600 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9C69E4 80241604 0220202D */ daddu $a0, $s1, $zero +/* 9C69E8 80241608 3C05F4AC */ lui $a1, 0xf4ac +/* 9C69EC 8024160C 4482A000 */ mtc1 $v0, $f20 +/* 9C69F0 80241610 00000000 */ nop +/* 9C69F4 80241614 4680A520 */ cvt.s.w $f20, $f20 +/* 9C69F8 80241618 0C0B1EAF */ jal get_variable +/* 9C69FC 8024161C 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9C6A00 80241620 44821000 */ mtc1 $v0, $f2 +/* 9C6A04 80241624 00000000 */ nop +/* 9C6A08 80241628 468010A0 */ cvt.s.w $f2, $f2 +/* 9C6A0C 8024162C 4405B000 */ mfc1 $a1, $f22 +/* 9C6A10 80241630 4406A000 */ mfc1 $a2, $f20 +/* 9C6A14 80241634 3C013F80 */ lui $at, 0x3f80 +/* 9C6A18 80241638 44810000 */ mtc1 $at, $f0 +/* 9C6A1C 8024163C 44071000 */ mfc1 $a3, $f2 +/* 9C6A20 80241640 0000202D */ daddu $a0, $zero, $zero +/* 9C6A24 80241644 AFA00014 */ sw $zero, 0x14($sp) +/* 9C6A28 80241648 0C01CA24 */ jal func_80072890 +/* 9C6A2C 8024164C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C6A30 80241650 8E030000 */ lw $v1, ($s0) +/* 9C6A34 80241654 8C64000C */ lw $a0, 0xc($v1) +/* 9C6A38 80241658 3C018025 */ lui $at, 0x8025 +/* 9C6A3C 8024165C AC221C68 */ sw $v0, 0x1c68($at) +/* 9C6A40 80241660 AC800018 */ sw $zero, 0x18($a0) +/* 9C6A44 80241664 AC800020 */ sw $zero, 0x20($a0) +/* 9C6A48 80241668 AC800024 */ sw $zero, 0x24($a0) +/* 9C6A4C 8024166C AC800028 */ sw $zero, 0x28($a0) +/* 9C6A50 80241670 AC80001C */ sw $zero, 0x1c($a0) +.L80241674: +/* 9C6A54 80241674 3C028025 */ lui $v0, 0x8025 +/* 9C6A58 80241678 8C421C60 */ lw $v0, 0x1c60($v0) +/* 9C6A5C 8024167C 8C44000C */ lw $a0, 0xc($v0) +/* 9C6A60 80241680 8C820020 */ lw $v0, 0x20($a0) +/* 9C6A64 80241684 8C830028 */ lw $v1, 0x28($a0) +/* 9C6A68 80241688 2442000A */ addiu $v0, $v0, 0xa +/* 9C6A6C 8024168C AC820020 */ sw $v0, 0x20($a0) +/* 9C6A70 80241690 8C820024 */ lw $v0, 0x24($a0) +/* 9C6A74 80241694 2463000A */ addiu $v1, $v1, 0xa +/* 9C6A78 80241698 AC830028 */ sw $v1, 0x28($a0) +/* 9C6A7C 8024169C 8C830018 */ lw $v1, 0x18($a0) +/* 9C6A80 802416A0 2442000A */ addiu $v0, $v0, 0xa +/* 9C6A84 802416A4 AC820024 */ sw $v0, 0x24($a0) +/* 9C6A88 802416A8 8C82001C */ lw $v0, 0x1c($a0) +/* 9C6A8C 802416AC 2463000A */ addiu $v1, $v1, 0xa +/* 9C6A90 802416B0 AC830018 */ sw $v1, 0x18($a0) +/* 9C6A94 802416B4 286300FF */ slti $v1, $v1, 0xff +/* 9C6A98 802416B8 2442000A */ addiu $v0, $v0, 0xa +/* 9C6A9C 802416BC AC82001C */ sw $v0, 0x1c($a0) +/* 9C6AA0 802416C0 14600004 */ bnez $v1, .L802416D4 +/* 9C6AA4 802416C4 0000102D */ daddu $v0, $zero, $zero +/* 9C6AA8 802416C8 240200FF */ addiu $v0, $zero, 0xff +/* 9C6AAC 802416CC AC820018 */ sw $v0, 0x18($a0) +/* 9C6AB0 802416D0 24020002 */ addiu $v0, $zero, 2 +.L802416D4: +/* 9C6AB4 802416D4 8FBF0020 */ lw $ra, 0x20($sp) +/* 9C6AB8 802416D8 8FB1001C */ lw $s1, 0x1c($sp) +/* 9C6ABC 802416DC 8FB00018 */ lw $s0, 0x18($sp) +/* 9C6AC0 802416E0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9C6AC4 802416E4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9C6AC8 802416E8 03E00008 */ jr $ra +/* 9C6ACC 802416EC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802416F0_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802416F0_9C53E0.s new file mode 100644 index 0000000000..5a7f95aac1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802416F0_9C53E0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F0_9C6AD0 +/* 9C6AD0 802416F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6AD4 802416F4 10A0000B */ beqz $a1, .L80241724 +/* 9C6AD8 802416F8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C6ADC 802416FC 3C038025 */ lui $v1, 0x8025 +/* 9C6AE0 80241700 8C631C64 */ lw $v1, 0x1c64($v1) +/* 9C6AE4 80241704 8C620000 */ lw $v0, ($v1) +/* 9C6AE8 80241708 3C048025 */ lui $a0, 0x8025 +/* 9C6AEC 8024170C 8C841C68 */ lw $a0, 0x1c68($a0) +/* 9C6AF0 80241710 34420010 */ ori $v0, $v0, 0x10 +/* 9C6AF4 80241714 AC620000 */ sw $v0, ($v1) +/* 9C6AF8 80241718 8C820000 */ lw $v0, ($a0) +/* 9C6AFC 8024171C 34420010 */ ori $v0, $v0, 0x10 +/* 9C6B00 80241720 AC820000 */ sw $v0, ($a0) +.L80241724: +/* 9C6B04 80241724 3C048025 */ lui $a0, 0x8025 +/* 9C6B08 80241728 8C841C60 */ lw $a0, 0x1c60($a0) +/* 9C6B0C 8024172C 8C85000C */ lw $a1, 0xc($a0) +/* 9C6B10 80241730 8CA20018 */ lw $v0, 0x18($a1) +/* 9C6B14 80241734 8CA30020 */ lw $v1, 0x20($a1) +/* 9C6B18 80241738 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9C6B1C 8024173C ACA20018 */ sw $v0, 0x18($a1) +/* 9C6B20 80241740 8CA20024 */ lw $v0, 0x24($a1) +/* 9C6B24 80241744 2463FFF6 */ addiu $v1, $v1, -0xa +/* 9C6B28 80241748 ACA30020 */ sw $v1, 0x20($a1) +/* 9C6B2C 8024174C 8CA30028 */ lw $v1, 0x28($a1) +/* 9C6B30 80241750 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9C6B34 80241754 ACA20024 */ sw $v0, 0x24($a1) +/* 9C6B38 80241758 8CA2001C */ lw $v0, 0x1c($a1) +/* 9C6B3C 8024175C 2463FFF6 */ addiu $v1, $v1, -0xa +/* 9C6B40 80241760 ACA30028 */ sw $v1, 0x28($a1) +/* 9C6B44 80241764 8CA30018 */ lw $v1, 0x18($a1) +/* 9C6B48 80241768 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9C6B4C 8024176C 18600003 */ blez $v1, .L8024177C +/* 9C6B50 80241770 ACA2001C */ sw $v0, 0x1c($a1) +/* 9C6B54 80241774 080905E6 */ j .L80241798 +/* 9C6B58 80241778 0000102D */ daddu $v0, $zero, $zero +.L8024177C: +/* 9C6B5C 8024177C 0C016914 */ jal remove_effect +/* 9C6B60 80241780 ACA00018 */ sw $zero, 0x18($a1) +/* 9C6B64 80241784 3C048025 */ lui $a0, 0x8025 +/* 9C6B68 80241788 8C841C40 */ lw $a0, 0x1c40($a0) +/* 9C6B6C 8024178C 0C048D70 */ jal func_801235C0 +/* 9C6B70 80241790 00000000 */ nop +/* 9C6B74 80241794 24020002 */ addiu $v0, $zero, 2 +.L80241798: +/* 9C6B78 80241798 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6B7C 8024179C 03E00008 */ jr $ra +/* 9C6B80 802417A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802417A4_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802417A4_9C53E0.s new file mode 100644 index 0000000000..630b184a30 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802417A4_9C53E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A4_9C6B84 +/* 9C6B84 802417A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6B88 802417A8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C6B8C 802417AC 8C82000C */ lw $v0, 0xc($a0) +/* 9C6B90 802417B0 0C0B1EAF */ jal get_variable +/* 9C6B94 802417B4 8C450000 */ lw $a1, ($v0) +/* 9C6B98 802417B8 3C038025 */ lui $v1, 0x8025 +/* 9C6B9C 802417BC 8C631C60 */ lw $v1, 0x1c60($v1) +/* 9C6BA0 802417C0 8C63000C */ lw $v1, 0xc($v1) +/* 9C6BA4 802417C4 AC620034 */ sw $v0, 0x34($v1) +/* 9C6BA8 802417C8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6BAC 802417CC 24020002 */ addiu $v0, $zero, 2 +/* 9C6BB0 802417D0 03E00008 */ jr $ra +/* 9C6BB4 802417D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802417D8.s b/asm/nonmatchings/world/area_nok/nok_01/func_802417D8.s new file mode 100644 index 0000000000..b4153cd70b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802417D8.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417D8 +/* 9C6BB8 802417D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6BBC 802417DC AFBF0010 */ sw $ra, 0x10($sp) +/* 9C6BC0 802417E0 8C82000C */ lw $v0, 0xc($a0) +/* 9C6BC4 802417E4 0C0B1EAF */ jal get_variable +/* 9C6BC8 802417E8 8C450000 */ lw $a1, ($v0) +/* 9C6BCC 802417EC 0040202D */ daddu $a0, $v0, $zero +/* 9C6BD0 802417F0 3C028025 */ lui $v0, 0x8025 +/* 9C6BD4 802417F4 8C421C60 */ lw $v0, 0x1c60($v0) +/* 9C6BD8 802417F8 24030001 */ addiu $v1, $zero, 1 +/* 9C6BDC 802417FC 8C45000C */ lw $a1, 0xc($v0) +/* 9C6BE0 80241800 1083000D */ beq $a0, $v1, .L80241838 +/* 9C6BE4 80241804 28820002 */ slti $v0, $a0, 2 +/* 9C6BE8 80241808 10400005 */ beqz $v0, .L80241820 +/* 9C6BEC 8024180C 24020002 */ addiu $v0, $zero, 2 +/* 9C6BF0 80241810 10800007 */ beqz $a0, .L80241830 +/* 9C6BF4 80241814 240200C0 */ addiu $v0, $zero, 0xc0 +/* 9C6BF8 80241818 08090612 */ j .L80241848 +/* 9C6BFC 8024181C ACA00038 */ sw $zero, 0x38($a1) +.L80241820: +/* 9C6C00 80241820 10820008 */ beq $a0, $v0, .L80241844 +/* 9C6C04 80241824 24020040 */ addiu $v0, $zero, 0x40 +/* 9C6C08 80241828 08090612 */ j .L80241848 +/* 9C6C0C 8024182C ACA00038 */ sw $zero, 0x38($a1) +.L80241830: +/* 9C6C10 80241830 08090612 */ j .L80241848 +/* 9C6C14 80241834 ACA20038 */ sw $v0, 0x38($a1) +.L80241838: +/* 9C6C18 80241838 24020080 */ addiu $v0, $zero, 0x80 +/* 9C6C1C 8024183C 08090612 */ j .L80241848 +/* 9C6C20 80241840 ACA20038 */ sw $v0, 0x38($a1) +.L80241844: +/* 9C6C24 80241844 ACA20038 */ sw $v0, 0x38($a1) +.L80241848: +/* 9C6C28 80241848 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6C2C 8024184C 24020002 */ addiu $v0, $zero, 2 +/* 9C6C30 80241850 03E00008 */ jr $ra +/* 9C6C34 80241854 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241858.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241858.s new file mode 100644 index 0000000000..2ec819bd88 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241858.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241858 +/* 9C6C38 80241858 3C028025 */ lui $v0, 0x8025 +/* 9C6C3C 8024185C 8C421C68 */ lw $v0, 0x1c68($v0) +/* 9C6C40 80241860 8C42000C */ lw $v0, 0xc($v0) +/* 9C6C44 80241864 AC40001C */ sw $zero, 0x1c($v0) +/* 9C6C48 80241868 03E00008 */ jr $ra +/* 9C6C4C 8024186C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241870_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241870_9C53E0.s new file mode 100644 index 0000000000..9efb8f047d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241870_9C53E0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241870_9C6C50 +/* 9C6C50 80241870 3C028025 */ lui $v0, 0x8025 +/* 9C6C54 80241874 8C421C68 */ lw $v0, 0x1c68($v0) +/* 9C6C58 80241878 8C43000C */ lw $v1, 0xc($v0) +/* 9C6C5C 8024187C 24020001 */ addiu $v0, $zero, 1 +/* 9C6C60 80241880 AC62001C */ sw $v0, 0x1c($v1) +/* 9C6C64 80241884 03E00008 */ jr $ra +/* 9C6C68 80241888 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_8024188C.s b/asm/nonmatchings/world/area_nok/nok_01/func_8024188C.s new file mode 100644 index 0000000000..87a4dc5d55 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_8024188C.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024188C +/* 9C6C6C 8024188C 3C028025 */ lui $v0, 0x8025 +/* 9C6C70 80241890 8C421C68 */ lw $v0, 0x1c68($v0) +/* 9C6C74 80241894 8C43000C */ lw $v1, 0xc($v0) +/* 9C6C78 80241898 24020002 */ addiu $v0, $zero, 2 +/* 9C6C7C 8024189C 03E00008 */ jr $ra +/* 9C6C80 802418A0 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802418A4.s b/asm/nonmatchings/world/area_nok/nok_01/func_802418A4.s new file mode 100644 index 0000000000..4cfb0ced77 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802418A4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418A4 +/* 9C6C84 802418A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C6C88 802418A8 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9C6C8C 802418AC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9C6C90 802418B0 3C05FE36 */ lui $a1, 0xfe36 +/* 9C6C94 802418B4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C6C98 802418B8 80460075 */ lb $a2, 0x75($v0) +/* 9C6C9C 802418BC 0C0B2026 */ jal set_variable +/* 9C6CA0 802418C0 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9C6CA4 802418C4 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C6CA8 802418C8 24020002 */ addiu $v0, $zero, 2 +/* 9C6CAC 802418CC 03E00008 */ jr $ra +/* 9C6CB0 802418D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802418D4.s b/asm/nonmatchings/world/area_nok/nok_01/func_802418D4.s new file mode 100644 index 0000000000..b1c0b259f7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802418D4.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418D4 +/* 9C6CB4 802418D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6CB8 802418D8 AFB10014 */ sw $s1, 0x14($sp) +/* 9C6CBC 802418DC 0080882D */ daddu $s1, $a0, $zero +/* 9C6CC0 802418E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C6CC4 802418E4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6CC8 802418E8 8E30000C */ lw $s0, 0xc($s1) +/* 9C6CCC 802418EC 8E050000 */ lw $a1, ($s0) +/* 9C6CD0 802418F0 0C0B1EAF */ jal get_variable +/* 9C6CD4 802418F4 26100004 */ addiu $s0, $s0, 4 +/* 9C6CD8 802418F8 0220202D */ daddu $a0, $s1, $zero +/* 9C6CDC 802418FC 8E050000 */ lw $a1, ($s0) +/* 9C6CE0 80241900 0C0B210B */ jal get_float_variable +/* 9C6CE4 80241904 0040802D */ daddu $s0, $v0, $zero +/* 9C6CE8 80241908 24020002 */ addiu $v0, $zero, 2 +/* 9C6CEC 8024190C 00501804 */ sllv $v1, $s0, $v0 +/* 9C6CF0 80241910 00701821 */ addu $v1, $v1, $s0 +/* 9C6CF4 80241914 00431804 */ sllv $v1, $v1, $v0 +/* 9C6CF8 80241918 00701823 */ subu $v1, $v1, $s0 +/* 9C6CFC 8024191C 000320C0 */ sll $a0, $v1, 3 +/* 9C6D00 80241920 00641821 */ addu $v1, $v1, $a0 +/* 9C6D04 80241924 000318C0 */ sll $v1, $v1, 3 +/* 9C6D08 80241928 3C01800B */ lui $at, 0x800b +/* 9C6D0C 8024192C 00230821 */ addu $at, $at, $v1 +/* 9C6D10 80241930 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 9C6D14 80241934 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C6D18 80241938 8FB10014 */ lw $s1, 0x14($sp) +/* 9C6D1C 8024193C 8FB00010 */ lw $s0, 0x10($sp) +/* 9C6D20 80241940 03E00008 */ jr $ra +/* 9C6D24 80241944 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241948.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241948.s new file mode 100644 index 0000000000..1e1af9b04f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241948.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241948 +/* 9C6D28 80241948 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6D2C 8024194C AFB10014 */ sw $s1, 0x14($sp) +/* 9C6D30 80241950 0080882D */ daddu $s1, $a0, $zero +/* 9C6D34 80241954 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C6D38 80241958 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6D3C 8024195C 8E30000C */ lw $s0, 0xc($s1) +/* 9C6D40 80241960 8E050000 */ lw $a1, ($s0) +/* 9C6D44 80241964 0C0B1EAF */ jal get_variable +/* 9C6D48 80241968 26100004 */ addiu $s0, $s0, 4 +/* 9C6D4C 8024196C 00021880 */ sll $v1, $v0, 2 +/* 9C6D50 80241970 00621821 */ addu $v1, $v1, $v0 +/* 9C6D54 80241974 00031880 */ sll $v1, $v1, 2 +/* 9C6D58 80241978 00621823 */ subu $v1, $v1, $v0 +/* 9C6D5C 8024197C 000310C0 */ sll $v0, $v1, 3 +/* 9C6D60 80241980 00621821 */ addu $v1, $v1, $v0 +/* 9C6D64 80241984 000318C0 */ sll $v1, $v1, 3 +/* 9C6D68 80241988 3C01800B */ lui $at, 0x800b +/* 9C6D6C 8024198C 00230821 */ addu $at, $at, $v1 +/* 9C6D70 80241990 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 9C6D74 80241994 3C014480 */ lui $at, 0x4480 +/* 9C6D78 80241998 44810000 */ mtc1 $at, $f0 +/* 9C6D7C 8024199C 00000000 */ nop +/* 9C6D80 802419A0 46001082 */ mul.s $f2, $f2, $f0 +/* 9C6D84 802419A4 00000000 */ nop +/* 9C6D88 802419A8 3C01CD5B */ lui $at, 0xcd5b +/* 9C6D8C 802419AC 34215858 */ ori $at, $at, 0x5858 +/* 9C6D90 802419B0 44810000 */ mtc1 $at, $f0 +/* 9C6D94 802419B4 00000000 */ nop +/* 9C6D98 802419B8 46001080 */ add.s $f2, $f2, $f0 +/* 9C6D9C 802419BC 8E050000 */ lw $a1, ($s0) +/* 9C6DA0 802419C0 4600110D */ trunc.w.s $f4, $f2 +/* 9C6DA4 802419C4 44062000 */ mfc1 $a2, $f4 +/* 9C6DA8 802419C8 0C0B2026 */ jal set_variable +/* 9C6DAC 802419CC 0220202D */ daddu $a0, $s1, $zero +/* 9C6DB0 802419D0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C6DB4 802419D4 8FB10014 */ lw $s1, 0x14($sp) +/* 9C6DB8 802419D8 8FB00010 */ lw $s0, 0x10($sp) +/* 9C6DBC 802419DC 24020002 */ addiu $v0, $zero, 2 +/* 9C6DC0 802419E0 03E00008 */ jr $ra +/* 9C6DC4 802419E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802419E8_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802419E8_9C53E0.s new file mode 100644 index 0000000000..abdcd550d0 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802419E8_9C53E0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419E8_9C6DC8 +/* 9C6DC8 802419E8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C6DCC 802419EC AFB20018 */ sw $s2, 0x18($sp) +/* 9C6DD0 802419F0 0080902D */ daddu $s2, $a0, $zero +/* 9C6DD4 802419F4 AFBF0030 */ sw $ra, 0x30($sp) +/* 9C6DD8 802419F8 AFB7002C */ sw $s7, 0x2c($sp) +/* 9C6DDC 802419FC AFB60028 */ sw $s6, 0x28($sp) +/* 9C6DE0 80241A00 AFB50024 */ sw $s5, 0x24($sp) +/* 9C6DE4 80241A04 AFB40020 */ sw $s4, 0x20($sp) +/* 9C6DE8 80241A08 AFB3001C */ sw $s3, 0x1c($sp) +/* 9C6DEC 80241A0C AFB10014 */ sw $s1, 0x14($sp) +/* 9C6DF0 80241A10 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6DF4 80241A14 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 9C6DF8 80241A18 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9C6DFC 80241A1C 8E50000C */ lw $s0, 0xc($s2) +/* 9C6E00 80241A20 8E050000 */ lw $a1, ($s0) +/* 9C6E04 80241A24 0C0B1EAF */ jal get_variable +/* 9C6E08 80241A28 26100004 */ addiu $s0, $s0, 4 +/* 9C6E0C 80241A2C 8E050000 */ lw $a1, ($s0) +/* 9C6E10 80241A30 26100004 */ addiu $s0, $s0, 4 +/* 9C6E14 80241A34 0240202D */ daddu $a0, $s2, $zero +/* 9C6E18 80241A38 0C0B1EAF */ jal get_variable +/* 9C6E1C 80241A3C 0040B82D */ daddu $s7, $v0, $zero +/* 9C6E20 80241A40 8E050000 */ lw $a1, ($s0) +/* 9C6E24 80241A44 26100004 */ addiu $s0, $s0, 4 +/* 9C6E28 80241A48 0240202D */ daddu $a0, $s2, $zero +/* 9C6E2C 80241A4C 0C0B1EAF */ jal get_variable +/* 9C6E30 80241A50 0040B02D */ daddu $s6, $v0, $zero +/* 9C6E34 80241A54 0240202D */ daddu $a0, $s2, $zero +/* 9C6E38 80241A58 3C05F4AC */ lui $a1, 0xf4ac +/* 9C6E3C 80241A5C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9C6E40 80241A60 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 9C6E44 80241A64 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 9C6E48 80241A68 8E140000 */ lw $s4, ($s0) +/* 9C6E4C 80241A6C 00061880 */ sll $v1, $a2, 2 +/* 9C6E50 80241A70 00661821 */ addu $v1, $v1, $a2 +/* 9C6E54 80241A74 00031880 */ sll $v1, $v1, 2 +/* 9C6E58 80241A78 00661823 */ subu $v1, $v1, $a2 +/* 9C6E5C 80241A7C 000330C0 */ sll $a2, $v1, 3 +/* 9C6E60 80241A80 00661821 */ addu $v1, $v1, $a2 +/* 9C6E64 80241A84 000318C0 */ sll $v1, $v1, 3 +/* 9C6E68 80241A88 3C01800B */ lui $at, 0x800b +/* 9C6E6C 80241A8C 00230821 */ addu $at, $at, $v1 +/* 9C6E70 80241A90 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 9C6E74 80241A94 8E150004 */ lw $s5, 4($s0) +/* 9C6E78 80241A98 4600010D */ trunc.w.s $f4, $f0 +/* 9C6E7C 80241A9C 44112000 */ mfc1 $s1, $f4 +/* 9C6E80 80241AA0 0C0B1EAF */ jal get_variable +/* 9C6E84 80241AA4 0040982D */ daddu $s3, $v0, $zero +/* 9C6E88 80241AA8 4491B000 */ mtc1 $s1, $f22 +/* 9C6E8C 80241AAC 00000000 */ nop +/* 9C6E90 80241AB0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C6E94 80241AB4 4600B306 */ mov.s $f12, $f22 +/* 9C6E98 80241AB8 0C00A8D4 */ jal cos_deg +/* 9C6E9C 80241ABC 0040802D */ daddu $s0, $v0, $zero +/* 9C6EA0 80241AC0 4493A000 */ mtc1 $s3, $f20 +/* 9C6EA4 80241AC4 00000000 */ nop +/* 9C6EA8 80241AC8 4680A520 */ cvt.s.w $f20, $f20 +/* 9C6EAC 80241ACC 4600A002 */ mul.s $f0, $f20, $f0 +/* 9C6EB0 80241AD0 00000000 */ nop +/* 9C6EB4 80241AD4 0240202D */ daddu $a0, $s2, $zero +/* 9C6EB8 80241AD8 44901000 */ mtc1 $s0, $f2 +/* 9C6EBC 80241ADC 00000000 */ nop +/* 9C6EC0 80241AE0 468010A0 */ cvt.s.w $f2, $f2 +/* 9C6EC4 80241AE4 46001081 */ sub.s $f2, $f2, $f0 +/* 9C6EC8 80241AE8 3C05F4AC */ lui $a1, 0xf4ac +/* 9C6ECC 80241AEC 4600110D */ trunc.w.s $f4, $f2 +/* 9C6ED0 80241AF0 44102000 */ mfc1 $s0, $f4 +/* 9C6ED4 80241AF4 0C0B1EAF */ jal get_variable +/* 9C6ED8 80241AF8 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9C6EDC 80241AFC 4600B306 */ mov.s $f12, $f22 +/* 9C6EE0 80241B00 0C00A8BB */ jal sin_deg +/* 9C6EE4 80241B04 0040882D */ daddu $s1, $v0, $zero +/* 9C6EE8 80241B08 4600A502 */ mul.s $f20, $f20, $f0 +/* 9C6EEC 80241B0C 00000000 */ nop +/* 9C6EF0 80241B10 0240202D */ daddu $a0, $s2, $zero +/* 9C6EF4 80241B14 44910000 */ mtc1 $s1, $f0 +/* 9C6EF8 80241B18 00000000 */ nop +/* 9C6EFC 80241B1C 46800020 */ cvt.s.w $f0, $f0 +/* 9C6F00 80241B20 46140001 */ sub.s $f0, $f0, $f20 +/* 9C6F04 80241B24 0280282D */ daddu $a1, $s4, $zero +/* 9C6F08 80241B28 02173023 */ subu $a2, $s0, $s7 +/* 9C6F0C 80241B2C 4600010D */ trunc.w.s $f4, $f0 +/* 9C6F10 80241B30 44102000 */ mfc1 $s0, $f4 +/* 9C6F14 80241B34 0C0B2026 */ jal set_variable +/* 9C6F18 80241B38 02168023 */ subu $s0, $s0, $s6 +/* 9C6F1C 80241B3C 0240202D */ daddu $a0, $s2, $zero +/* 9C6F20 80241B40 02A0282D */ daddu $a1, $s5, $zero +/* 9C6F24 80241B44 0C0B2026 */ jal set_variable +/* 9C6F28 80241B48 0200302D */ daddu $a2, $s0, $zero +/* 9C6F2C 80241B4C 8FBF0030 */ lw $ra, 0x30($sp) +/* 9C6F30 80241B50 8FB7002C */ lw $s7, 0x2c($sp) +/* 9C6F34 80241B54 8FB60028 */ lw $s6, 0x28($sp) +/* 9C6F38 80241B58 8FB50024 */ lw $s5, 0x24($sp) +/* 9C6F3C 80241B5C 8FB40020 */ lw $s4, 0x20($sp) +/* 9C6F40 80241B60 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C6F44 80241B64 8FB20018 */ lw $s2, 0x18($sp) +/* 9C6F48 80241B68 8FB10014 */ lw $s1, 0x14($sp) +/* 9C6F4C 80241B6C 8FB00010 */ lw $s0, 0x10($sp) +/* 9C6F50 80241B70 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 9C6F54 80241B74 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9C6F58 80241B78 24020002 */ addiu $v0, $zero, 2 +/* 9C6F5C 80241B7C 03E00008 */ jr $ra +/* 9C6F60 80241B80 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241B84_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241B84_9C53E0.s new file mode 100644 index 0000000000..e2b0f233ea --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241B84_9C53E0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B84_9C6F64 +/* 9C6F64 80241B84 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 9C6F68 80241B88 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 9C6F6C 80241B8C 10A00002 */ beqz $a1, .L80241B98 +/* 9C6F70 80241B90 2402003C */ addiu $v0, $zero, 0x3c +/* 9C6F74 80241B94 AC820070 */ sw $v0, 0x70($a0) +.L80241B98: +/* 9C6F78 80241B98 C4620080 */ lwc1 $f2, 0x80($v1) +/* 9C6F7C 80241B9C 3C0141F0 */ lui $at, 0x41f0 +/* 9C6F80 80241BA0 44810000 */ mtc1 $at, $f0 +/* 9C6F84 80241BA4 00000000 */ nop +/* 9C6F88 80241BA8 46001000 */ add.s $f0, $f2, $f0 +/* 9C6F8C 80241BAC 3C0143B4 */ lui $at, 0x43b4 +/* 9C6F90 80241BB0 44811000 */ mtc1 $at, $f2 +/* 9C6F94 80241BB4 00000000 */ nop +/* 9C6F98 80241BB8 4600103E */ c.le.s $f2, $f0 +/* 9C6F9C 80241BBC 00000000 */ nop +/* 9C6FA0 80241BC0 45000003 */ bc1f .L80241BD0 +/* 9C6FA4 80241BC4 E4600080 */ swc1 $f0, 0x80($v1) +/* 9C6FA8 80241BC8 46020001 */ sub.s $f0, $f0, $f2 +/* 9C6FAC 80241BCC E4600080 */ swc1 $f0, 0x80($v1) +.L80241BD0: +/* 9C6FB0 80241BD0 8C820070 */ lw $v0, 0x70($a0) +/* 9C6FB4 80241BD4 2442FFFF */ addiu $v0, $v0, -1 +/* 9C6FB8 80241BD8 AC820070 */ sw $v0, 0x70($a0) +/* 9C6FBC 80241BDC 000217C3 */ sra $v0, $v0, 0x1f +/* 9C6FC0 80241BE0 03E00008 */ jr $ra +/* 9C6FC4 80241BE4 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241BE8.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241BE8.s new file mode 100644 index 0000000000..79ed17b9a1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241BE8.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BE8 +/* 9C6FC8 80241BE8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C6FCC 80241BEC AFB10014 */ sw $s1, 0x14($sp) +/* 9C6FD0 80241BF0 0080882D */ daddu $s1, $a0, $zero +/* 9C6FD4 80241BF4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C6FD8 80241BF8 00A0802D */ daddu $s0, $a1, $zero +/* 9C6FDC 80241BFC AFBF0018 */ sw $ra, 0x18($sp) +/* 9C6FE0 80241C00 0C00EABB */ jal get_npc_unsafe +/* 9C6FE4 80241C04 2404FFFC */ addiu $a0, $zero, -4 +/* 9C6FE8 80241C08 12000003 */ beqz $s0, .L80241C18 +/* 9C6FEC 80241C0C 0040182D */ daddu $v1, $v0, $zero +/* 9C6FF0 80241C10 2402003C */ addiu $v0, $zero, 0x3c +/* 9C6FF4 80241C14 AE220070 */ sw $v0, 0x70($s1) +.L80241C18: +/* 9C6FF8 80241C18 C462000C */ lwc1 $f2, 0xc($v1) +/* 9C6FFC 80241C1C 3C0141F0 */ lui $at, 0x41f0 +/* 9C7000 80241C20 44810000 */ mtc1 $at, $f0 +/* 9C7004 80241C24 00000000 */ nop +/* 9C7008 80241C28 46001000 */ add.s $f0, $f2, $f0 +/* 9C700C 80241C2C 3C0143B4 */ lui $at, 0x43b4 +/* 9C7010 80241C30 44811000 */ mtc1 $at, $f2 +/* 9C7014 80241C34 00000000 */ nop +/* 9C7018 80241C38 4600103E */ c.le.s $f2, $f0 +/* 9C701C 80241C3C 00000000 */ nop +/* 9C7020 80241C40 45000003 */ bc1f .L80241C50 +/* 9C7024 80241C44 E460000C */ swc1 $f0, 0xc($v1) +/* 9C7028 80241C48 46020001 */ sub.s $f0, $f0, $f2 +/* 9C702C 80241C4C E460000C */ swc1 $f0, 0xc($v1) +.L80241C50: +/* 9C7030 80241C50 8E230070 */ lw $v1, 0x70($s1) +/* 9C7034 80241C54 2463FFFF */ addiu $v1, $v1, -1 +/* 9C7038 80241C58 000317C3 */ sra $v0, $v1, 0x1f +/* 9C703C 80241C5C AE230070 */ sw $v1, 0x70($s1) +/* 9C7040 80241C60 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C7044 80241C64 8FB10014 */ lw $s1, 0x14($sp) +/* 9C7048 80241C68 8FB00010 */ lw $s0, 0x10($sp) +/* 9C704C 80241C6C 30420002 */ andi $v0, $v0, 2 +/* 9C7050 80241C70 03E00008 */ jr $ra +/* 9C7054 80241C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241C78_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241C78_9C53E0.s new file mode 100644 index 0000000000..1d6636bac3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241C78_9C53E0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C78_9C7058 +/* 9C7058 80241C78 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C705C 80241C7C AFB10014 */ sw $s1, 0x14($sp) +/* 9C7060 80241C80 0080882D */ daddu $s1, $a0, $zero +/* 9C7064 80241C84 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7068 80241C88 00A0802D */ daddu $s0, $a1, $zero +/* 9C706C 80241C8C AFBF001C */ sw $ra, 0x1c($sp) +/* 9C7070 80241C90 AFB20018 */ sw $s2, 0x18($sp) +/* 9C7074 80241C94 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9C7078 80241C98 0C00EABB */ jal get_npc_unsafe +/* 9C707C 80241C9C 2404FFFC */ addiu $a0, $zero, -4 +/* 9C7080 80241CA0 12000017 */ beqz $s0, .L80241D00 +/* 9C7084 80241CA4 0040902D */ daddu $s2, $v0, $zero +/* 9C7088 80241CA8 0220202D */ daddu $a0, $s1, $zero +/* 9C708C 80241CAC 3C05FE36 */ lui $a1, 0xfe36 +/* 9C7090 80241CB0 0C0B210B */ jal get_float_variable +/* 9C7094 80241CB4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9C7098 80241CB8 0220202D */ daddu $a0, $s1, $zero +/* 9C709C 80241CBC 3C05FE36 */ lui $a1, 0xfe36 +/* 9C70A0 80241CC0 3C014270 */ lui $at, 0x4270 +/* 9C70A4 80241CC4 4481A000 */ mtc1 $at, $f20 +/* 9C70A8 80241CC8 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 9C70AC 80241CCC 46140003 */ div.s $f0, $f0, $f20 +/* 9C70B0 80241CD0 0C0B210B */ jal get_float_variable +/* 9C70B4 80241CD4 E6200074 */ swc1 $f0, 0x74($s1) +/* 9C70B8 80241CD8 0220202D */ daddu $a0, $s1, $zero +/* 9C70BC 80241CDC 3C05FE36 */ lui $a1, 0xfe36 +/* 9C70C0 80241CE0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 9C70C4 80241CE4 46140003 */ div.s $f0, $f0, $f20 +/* 9C70C8 80241CE8 0C0B210B */ jal get_float_variable +/* 9C70CC 80241CEC E6200078 */ swc1 $f0, 0x78($s1) +/* 9C70D0 80241CF0 46140003 */ div.s $f0, $f0, $f20 +/* 9C70D4 80241CF4 2402003C */ addiu $v0, $zero, 0x3c +/* 9C70D8 80241CF8 E620007C */ swc1 $f0, 0x7c($s1) +/* 9C70DC 80241CFC AE220070 */ sw $v0, 0x70($s1) +.L80241D00: +/* 9C70E0 80241D00 C6400038 */ lwc1 $f0, 0x38($s2) +/* 9C70E4 80241D04 C6220074 */ lwc1 $f2, 0x74($s1) +/* 9C70E8 80241D08 46020000 */ add.s $f0, $f0, $f2 +/* 9C70EC 80241D0C E6400038 */ swc1 $f0, 0x38($s2) +/* 9C70F0 80241D10 C640003C */ lwc1 $f0, 0x3c($s2) +/* 9C70F4 80241D14 C6220078 */ lwc1 $f2, 0x78($s1) +/* 9C70F8 80241D18 46020000 */ add.s $f0, $f0, $f2 +/* 9C70FC 80241D1C E640003C */ swc1 $f0, 0x3c($s2) +/* 9C7100 80241D20 C6400040 */ lwc1 $f0, 0x40($s2) +/* 9C7104 80241D24 C622007C */ lwc1 $f2, 0x7c($s1) +/* 9C7108 80241D28 46020000 */ add.s $f0, $f0, $f2 +/* 9C710C 80241D2C E6400040 */ swc1 $f0, 0x40($s2) +/* 9C7110 80241D30 8E230070 */ lw $v1, 0x70($s1) +/* 9C7114 80241D34 2463FFFF */ addiu $v1, $v1, -1 +/* 9C7118 80241D38 2C620001 */ sltiu $v0, $v1, 1 +/* 9C711C 80241D3C AE230070 */ sw $v1, 0x70($s1) +/* 9C7120 80241D40 8FBF001C */ lw $ra, 0x1c($sp) +/* 9C7124 80241D44 8FB20018 */ lw $s2, 0x18($sp) +/* 9C7128 80241D48 8FB10014 */ lw $s1, 0x14($sp) +/* 9C712C 80241D4C 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7130 80241D50 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9C7134 80241D54 00021040 */ sll $v0, $v0, 1 +/* 9C7138 80241D58 03E00008 */ jr $ra +/* 9C713C 80241D5C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241D60.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241D60.s new file mode 100644 index 0000000000..248a09b84a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241D60.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D60 +/* 9C7140 80241D60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7144 80241D64 3C058025 */ lui $a1, 0x8025 +/* 9C7148 80241D68 8CA51C58 */ lw $a1, 0x1c58($a1) +/* 9C714C 80241D6C AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7150 80241D70 0C0B1EAF */ jal get_variable +/* 9C7154 80241D74 0000202D */ daddu $a0, $zero, $zero +/* 9C7158 80241D78 0040182D */ daddu $v1, $v0, $zero +/* 9C715C 80241D7C 24020001 */ addiu $v0, $zero, 1 +/* 9C7160 80241D80 14620006 */ bne $v1, $v0, .L80241D9C +/* 9C7164 80241D84 24020002 */ addiu $v0, $zero, 2 +/* 9C7168 80241D88 44800000 */ mtc1 $zero, $f0 +/* 9C716C 80241D8C 00000000 */ nop +/* 9C7170 80241D90 44050000 */ mfc1 $a1, $f0 +/* 9C7174 80241D94 0809076D */ j .L80241DB4 +/* 9C7178 80241D98 0000202D */ daddu $a0, $zero, $zero +.L80241D9C: +/* 9C717C 80241D9C 14620008 */ bne $v1, $v0, .L80241DC0 +/* 9C7180 80241DA0 24040001 */ addiu $a0, $zero, 1 +/* 9C7184 80241DA4 44800000 */ mtc1 $zero, $f0 +/* 9C7188 80241DA8 00000000 */ nop +/* 9C718C 80241DAC 44050000 */ mfc1 $a1, $f0 +/* 9C7190 80241DB0 00000000 */ nop +.L80241DB4: +/* 9C7194 80241DB4 00A0302D */ daddu $a2, $a1, $zero +/* 9C7198 80241DB8 0C01C5A4 */ jal func_80071690 +/* 9C719C 80241DBC 00A0382D */ daddu $a3, $a1, $zero +.L80241DC0: +/* 9C71A0 80241DC0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C71A4 80241DC4 03E00008 */ jr $ra +/* 9C71A8 80241DC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241DCC.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241DCC.s new file mode 100644 index 0000000000..ee463f255d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241DCC.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DCC +/* 9C71AC 80241DCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C71B0 80241DD0 3C058024 */ lui $a1, 0x8024 +/* 9C71B4 80241DD4 24A51D60 */ addiu $a1, $a1, 0x1d60 +/* 9C71B8 80241DD8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C71BC 80241DDC 0C048C8F */ jal bind_dynamic_entity_7 +/* 9C71C0 80241DE0 0000202D */ daddu $a0, $zero, $zero +/* 9C71C4 80241DE4 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C71C8 80241DE8 3C018025 */ lui $at, 0x8025 +/* 9C71CC 80241DEC AC221C40 */ sw $v0, 0x1c40($at) +/* 9C71D0 80241DF0 24020002 */ addiu $v0, $zero, 2 +/* 9C71D4 80241DF4 03E00008 */ jr $ra +/* 9C71D8 80241DF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241DFC.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241DFC.s new file mode 100644 index 0000000000..5ee18427ac --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241DFC.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DFC +/* 9C71DC 80241DFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C71E0 80241E00 AFB10014 */ sw $s1, 0x14($sp) +/* 9C71E4 80241E04 0080882D */ daddu $s1, $a0, $zero +/* 9C71E8 80241E08 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C71EC 80241E0C AFB00010 */ sw $s0, 0x10($sp) +/* 9C71F0 80241E10 8E30000C */ lw $s0, 0xc($s1) +/* 9C71F4 80241E14 8E050000 */ lw $a1, ($s0) +/* 9C71F8 80241E18 0C0B1EAF */ jal get_variable +/* 9C71FC 80241E1C 26100004 */ addiu $s0, $s0, 4 +/* 9C7200 80241E20 0C00EAD2 */ jal get_npc_safe +/* 9C7204 80241E24 0040202D */ daddu $a0, $v0, $zero +/* 9C7208 80241E28 10400005 */ beqz $v0, .L80241E40 +/* 9C720C 80241E2C 00000000 */ nop +/* 9C7210 80241E30 8E050000 */ lw $a1, ($s0) +/* 9C7214 80241E34 844600A8 */ lh $a2, 0xa8($v0) +/* 9C7218 80241E38 0C0B2026 */ jal set_variable +/* 9C721C 80241E3C 0220202D */ daddu $a0, $s1, $zero +.L80241E40: +/* 9C7220 80241E40 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C7224 80241E44 8FB10014 */ lw $s1, 0x14($sp) +/* 9C7228 80241E48 8FB00010 */ lw $s0, 0x10($sp) +/* 9C722C 80241E4C 24020002 */ addiu $v0, $zero, 2 +/* 9C7230 80241E50 03E00008 */ jr $ra +/* 9C7234 80241E54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80241E58.s b/asm/nonmatchings/world/area_nok/nok_01/func_80241E58.s new file mode 100644 index 0000000000..f2e72387dd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80241E58.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E58 +/* 9C7238 80241E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9C723C 80241E5C AFB10014 */ sw $s1, 0x14($sp) +/* 9C7240 80241E60 0080882D */ daddu $s1, $a0, $zero +/* 9C7244 80241E64 AFBF0024 */ sw $ra, 0x24($sp) +/* 9C7248 80241E68 AFB40020 */ sw $s4, 0x20($sp) +/* 9C724C 80241E6C AFB3001C */ sw $s3, 0x1c($sp) +/* 9C7250 80241E70 AFB20018 */ sw $s2, 0x18($sp) +/* 9C7254 80241E74 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7258 80241E78 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9C725C 80241E7C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9C7260 80241E80 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9C7264 80241E84 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9C7268 80241E88 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9C726C 80241E8C 8E30000C */ lw $s0, 0xc($s1) +/* 9C7270 80241E90 8E130000 */ lw $s3, ($s0) +/* 9C7274 80241E94 26100004 */ addiu $s0, $s0, 4 +/* 9C7278 80241E98 0C0B1EAF */ jal get_variable +/* 9C727C 80241E9C 0260282D */ daddu $a1, $s3, $zero +/* 9C7280 80241EA0 4482E000 */ mtc1 $v0, $f28 +/* 9C7284 80241EA4 00000000 */ nop +/* 9C7288 80241EA8 4680E720 */ cvt.s.w $f28, $f28 +/* 9C728C 80241EAC 8E140000 */ lw $s4, ($s0) +/* 9C7290 80241EB0 26100004 */ addiu $s0, $s0, 4 +/* 9C7294 80241EB4 0220202D */ daddu $a0, $s1, $zero +/* 9C7298 80241EB8 0C0B1EAF */ jal get_variable +/* 9C729C 80241EBC 0280282D */ daddu $a1, $s4, $zero +/* 9C72A0 80241EC0 4482D000 */ mtc1 $v0, $f26 +/* 9C72A4 80241EC4 00000000 */ nop +/* 9C72A8 80241EC8 4680D6A0 */ cvt.s.w $f26, $f26 +/* 9C72AC 80241ECC 8E100000 */ lw $s0, ($s0) +/* 9C72B0 80241ED0 0220202D */ daddu $a0, $s1, $zero +/* 9C72B4 80241ED4 0C0B1EAF */ jal get_variable +/* 9C72B8 80241ED8 0200282D */ daddu $a1, $s0, $zero +/* 9C72BC 80241EDC 4482C000 */ mtc1 $v0, $f24 +/* 9C72C0 80241EE0 00000000 */ nop +/* 9C72C4 80241EE4 4680C620 */ cvt.s.w $f24, $f24 +/* 9C72C8 80241EE8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 9C72CC 80241EEC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 9C72D0 80241EF0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 9C72D4 80241EF4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9C72D8 80241EF8 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 9C72DC 80241EFC 44800000 */ mtc1 $zero, $f0 +/* 9C72E0 80241F00 00031080 */ sll $v0, $v1, 2 +/* 9C72E4 80241F04 00431021 */ addu $v0, $v0, $v1 +/* 9C72E8 80241F08 00021080 */ sll $v0, $v0, 2 +/* 9C72EC 80241F0C 00431023 */ subu $v0, $v0, $v1 +/* 9C72F0 80241F10 000218C0 */ sll $v1, $v0, 3 +/* 9C72F4 80241F14 00431021 */ addu $v0, $v0, $v1 +/* 9C72F8 80241F18 000210C0 */ sll $v0, $v0, 3 +/* 9C72FC 80241F1C 46001032 */ c.eq.s $f2, $f0 +/* 9C7300 80241F20 3C01800B */ lui $at, 0x800b +/* 9C7304 80241F24 00220821 */ addu $at, $at, $v0 +/* 9C7308 80241F28 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 9C730C 80241F2C 45000005 */ bc1f .L80241F44 +/* 9C7310 80241F30 00000000 */ nop +/* 9C7314 80241F34 3C0142C8 */ lui $at, 0x42c8 +/* 9C7318 80241F38 44810000 */ mtc1 $at, $f0 +/* 9C731C 80241F3C 080907D5 */ j .L80241F54 +/* 9C7320 80241F40 4600B581 */ sub.s $f22, $f22, $f0 +.L80241F44: +/* 9C7324 80241F44 3C0142C8 */ lui $at, 0x42c8 +/* 9C7328 80241F48 44810000 */ mtc1 $at, $f0 +/* 9C732C 80241F4C 00000000 */ nop +/* 9C7330 80241F50 4600B580 */ add.s $f22, $f22, $f0 +.L80241F54: +/* 9C7334 80241F54 0C00A6C9 */ jal clamp_angle +/* 9C7338 80241F58 4600B306 */ mov.s $f12, $f22 +/* 9C733C 80241F5C 46000586 */ mov.s $f22, $f0 +/* 9C7340 80241F60 3C014170 */ lui $at, 0x4170 +/* 9C7344 80241F64 4481A000 */ mtc1 $at, $f20 +/* 9C7348 80241F68 0C00A8BB */ jal sin_deg +/* 9C734C 80241F6C 4600B306 */ mov.s $f12, $f22 +/* 9C7350 80241F70 46140002 */ mul.s $f0, $f0, $f20 +/* 9C7354 80241F74 00000000 */ nop +/* 9C7358 80241F78 864200B0 */ lh $v0, 0xb0($s2) +/* 9C735C 80241F7C 3C013F00 */ lui $at, 0x3f00 +/* 9C7360 80241F80 44812000 */ mtc1 $at, $f4 +/* 9C7364 80241F84 44821000 */ mtc1 $v0, $f2 +/* 9C7368 80241F88 00000000 */ nop +/* 9C736C 80241F8C 468010A0 */ cvt.s.w $f2, $f2 +/* 9C7370 80241F90 46041082 */ mul.s $f2, $f2, $f4 +/* 9C7374 80241F94 00000000 */ nop +/* 9C7378 80241F98 4600E700 */ add.s $f28, $f28, $f0 +/* 9C737C 80241F9C 4602D680 */ add.s $f26, $f26, $f2 +/* 9C7380 80241FA0 0C00A8D4 */ jal cos_deg +/* 9C7384 80241FA4 4600B306 */ mov.s $f12, $f22 +/* 9C7388 80241FA8 46140002 */ mul.s $f0, $f0, $f20 +/* 9C738C 80241FAC 00000000 */ nop +/* 9C7390 80241FB0 0220202D */ daddu $a0, $s1, $zero +/* 9C7394 80241FB4 0260282D */ daddu $a1, $s3, $zero +/* 9C7398 80241FB8 4600E18D */ trunc.w.s $f6, $f28 +/* 9C739C 80241FBC 44063000 */ mfc1 $a2, $f6 +/* 9C73A0 80241FC0 0C0B2026 */ jal set_variable +/* 9C73A4 80241FC4 4600C601 */ sub.s $f24, $f24, $f0 +/* 9C73A8 80241FC8 0220202D */ daddu $a0, $s1, $zero +/* 9C73AC 80241FCC 4600D18D */ trunc.w.s $f6, $f26 +/* 9C73B0 80241FD0 44063000 */ mfc1 $a2, $f6 +/* 9C73B4 80241FD4 0C0B2026 */ jal set_variable +/* 9C73B8 80241FD8 0280282D */ daddu $a1, $s4, $zero +/* 9C73BC 80241FDC 0220202D */ daddu $a0, $s1, $zero +/* 9C73C0 80241FE0 4600C18D */ trunc.w.s $f6, $f24 +/* 9C73C4 80241FE4 44063000 */ mfc1 $a2, $f6 +/* 9C73C8 80241FE8 0C0B2026 */ jal set_variable +/* 9C73CC 80241FEC 0200282D */ daddu $a1, $s0, $zero +/* 9C73D0 80241FF0 8FBF0024 */ lw $ra, 0x24($sp) +/* 9C73D4 80241FF4 8FB40020 */ lw $s4, 0x20($sp) +/* 9C73D8 80241FF8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C73DC 80241FFC 8FB20018 */ lw $s2, 0x18($sp) +/* 9C73E0 80242000 8FB10014 */ lw $s1, 0x14($sp) +/* 9C73E4 80242004 8FB00010 */ lw $s0, 0x10($sp) +/* 9C73E8 80242008 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9C73EC 8024200C D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9C73F0 80242010 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9C73F4 80242014 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9C73F8 80242018 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9C73FC 8024201C 24020002 */ addiu $v0, $zero, 2 +/* 9C7400 80242020 03E00008 */ jr $ra +/* 9C7404 80242024 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242028_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242028_9C53E0.s new file mode 100644 index 0000000000..b9c55c8e32 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242028_9C53E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242028_9C7408 +/* 9C7408 80242028 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C740C 8024202C AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7410 80242030 10A00003 */ beqz $a1, .L80242040 +/* 9C7414 80242034 8C86000C */ lw $a2, 0xc($a0) +/* 9C7418 80242038 3C018025 */ lui $at, 0x8025 +/* 9C741C 8024203C AC20856C */ sw $zero, -0x7a94($at) +.L80242040: +/* 9C7420 80242040 3C038025 */ lui $v1, 0x8025 +/* 9C7424 80242044 2463856C */ addiu $v1, $v1, -0x7a94 +/* 9C7428 80242048 8C620000 */ lw $v0, ($v1) +/* 9C742C 8024204C 54400003 */ bnel $v0, $zero, .L8024205C +/* 9C7430 80242050 AC600000 */ sw $zero, ($v1) +/* 9C7434 80242054 0809081C */ j .L80242070 +/* 9C7438 80242058 0000102D */ daddu $v0, $zero, $zero +.L8024205C: +/* 9C743C 8024205C 8CC50000 */ lw $a1, ($a2) +/* 9C7440 80242060 3C068025 */ lui $a2, 0x8025 +/* 9C7444 80242064 0C0B2026 */ jal set_variable +/* 9C7448 80242068 8CC68570 */ lw $a2, -0x7a90($a2) +/* 9C744C 8024206C 24020002 */ addiu $v0, $zero, 2 +.L80242070: +/* 9C7450 80242070 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7454 80242074 03E00008 */ jr $ra +/* 9C7458 80242078 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_8024207C.s b/asm/nonmatchings/world/area_nok/nok_01/func_8024207C.s new file mode 100644 index 0000000000..99a02fb93c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_8024207C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024207C +/* 9C745C 8024207C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7460 80242080 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7464 80242084 8C82000C */ lw $v0, 0xc($a0) +/* 9C7468 80242088 0C0B1EAF */ jal get_variable +/* 9C746C 8024208C 8C450000 */ lw $a1, ($v0) +/* 9C7470 80242090 3C018025 */ lui $at, 0x8025 +/* 9C7474 80242094 AC228570 */ sw $v0, -0x7a90($at) +/* 9C7478 80242098 24020002 */ addiu $v0, $zero, 2 +/* 9C747C 8024209C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7480 802420A0 24030001 */ addiu $v1, $zero, 1 +/* 9C7484 802420A4 3C018025 */ lui $at, 0x8025 +/* 9C7488 802420A8 AC23856C */ sw $v1, -0x7a94($at) +/* 9C748C 802420AC 03E00008 */ jr $ra +/* 9C7490 802420B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802420B4.s b/asm/nonmatchings/world/area_nok/nok_01/func_802420B4.s new file mode 100644 index 0000000000..14390279be --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802420B4.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420B4 +/* 9C7494 802420B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7498 802420B8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C749C 802420BC 8C82000C */ lw $v0, 0xc($a0) +/* 9C74A0 802420C0 0C0B1EAF */ jal get_variable +/* 9C74A4 802420C4 8C450000 */ lw $a1, ($v0) +/* 9C74A8 802420C8 0040182D */ daddu $v1, $v0, $zero +/* 9C74AC 802420CC 10600012 */ beqz $v1, .L80242118 +/* 9C74B0 802420D0 0000202D */ daddu $a0, $zero, $zero +/* 9C74B4 802420D4 8C620000 */ lw $v0, ($v1) +/* 9C74B8 802420D8 5040000A */ beql $v0, $zero, .L80242104 +/* 9C74BC 802420DC 00041080 */ sll $v0, $a0, 2 +/* 9C74C0 802420E0 3C058025 */ lui $a1, 0x8025 +/* 9C74C4 802420E4 24A51C70 */ addiu $a1, $a1, 0x1c70 +.L802420E8: +/* 9C74C8 802420E8 24630004 */ addiu $v1, $v1, 4 +/* 9C74CC 802420EC 24840001 */ addiu $a0, $a0, 1 +/* 9C74D0 802420F0 ACA20000 */ sw $v0, ($a1) +/* 9C74D4 802420F4 8C620000 */ lw $v0, ($v1) +/* 9C74D8 802420F8 1440FFFB */ bnez $v0, .L802420E8 +/* 9C74DC 802420FC 24A50004 */ addiu $a1, $a1, 4 +/* 9C74E0 80242100 00041080 */ sll $v0, $a0, 2 +.L80242104: +/* 9C74E4 80242104 3C018025 */ lui $at, 0x8025 +/* 9C74E8 80242108 00220821 */ addu $at, $at, $v0 +/* 9C74EC 8024210C AC201C70 */ sw $zero, 0x1c70($at) +/* 9C74F0 80242110 08090850 */ j .L80242140 +/* 9C74F4 80242114 00000000 */ nop +.L80242118: +/* 9C74F8 80242118 3C038025 */ lui $v1, 0x8025 +/* 9C74FC 8024211C 24631C70 */ addiu $v1, $v1, 0x1c70 +/* 9C7500 80242120 0060282D */ daddu $a1, $v1, $zero +.L80242124: +/* 9C7504 80242124 24820010 */ addiu $v0, $a0, 0x10 +/* 9C7508 80242128 AC620000 */ sw $v0, ($v1) +/* 9C750C 8024212C 24630004 */ addiu $v1, $v1, 4 +/* 9C7510 80242130 24840001 */ addiu $a0, $a0, 1 +/* 9C7514 80242134 28820070 */ slti $v0, $a0, 0x70 +/* 9C7518 80242138 1440FFFA */ bnez $v0, .L80242124 +/* 9C751C 8024213C ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242140: +/* 9C7520 80242140 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7524 80242144 24020002 */ addiu $v0, $zero, 2 +/* 9C7528 80242148 03E00008 */ jr $ra +/* 9C752C 8024214C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242150.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242150.s new file mode 100644 index 0000000000..ea61ede542 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242150.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242150 +/* 9C7530 80242150 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C7534 80242154 AFB10014 */ sw $s1, 0x14($sp) +/* 9C7538 80242158 0080882D */ daddu $s1, $a0, $zero +/* 9C753C 8024215C AFBF0018 */ sw $ra, 0x18($sp) +/* 9C7540 80242160 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7544 80242164 8E30000C */ lw $s0, 0xc($s1) +/* 9C7548 80242168 8E050000 */ lw $a1, ($s0) +/* 9C754C 8024216C 0C0B1EAF */ jal get_variable +/* 9C7550 80242170 26100004 */ addiu $s0, $s0, 4 +/* 9C7554 80242174 AE22008C */ sw $v0, 0x8c($s1) +/* 9C7558 80242178 8E050000 */ lw $a1, ($s0) +/* 9C755C 8024217C 26100004 */ addiu $s0, $s0, 4 +/* 9C7560 80242180 0C0B1EAF */ jal get_variable +/* 9C7564 80242184 0220202D */ daddu $a0, $s1, $zero +/* 9C7568 80242188 AE220090 */ sw $v0, 0x90($s1) +/* 9C756C 8024218C 8E050000 */ lw $a1, ($s0) +/* 9C7570 80242190 26100004 */ addiu $s0, $s0, 4 +/* 9C7574 80242194 0C0B1EAF */ jal get_variable +/* 9C7578 80242198 0220202D */ daddu $a0, $s1, $zero +/* 9C757C 8024219C AE220094 */ sw $v0, 0x94($s1) +/* 9C7580 802421A0 8E050000 */ lw $a1, ($s0) +/* 9C7584 802421A4 26100004 */ addiu $s0, $s0, 4 +/* 9C7588 802421A8 0C0B1EAF */ jal get_variable +/* 9C758C 802421AC 0220202D */ daddu $a0, $s1, $zero +/* 9C7590 802421B0 AE220098 */ sw $v0, 0x98($s1) +/* 9C7594 802421B4 8E050000 */ lw $a1, ($s0) +/* 9C7598 802421B8 26100004 */ addiu $s0, $s0, 4 +/* 9C759C 802421BC 0C0B1EAF */ jal get_variable +/* 9C75A0 802421C0 0220202D */ daddu $a0, $s1, $zero +/* 9C75A4 802421C4 AE22009C */ sw $v0, 0x9c($s1) +/* 9C75A8 802421C8 8E050000 */ lw $a1, ($s0) +/* 9C75AC 802421CC 26100004 */ addiu $s0, $s0, 4 +/* 9C75B0 802421D0 0C0B1EAF */ jal get_variable +/* 9C75B4 802421D4 0220202D */ daddu $a0, $s1, $zero +/* 9C75B8 802421D8 AE2200A0 */ sw $v0, 0xa0($s1) +/* 9C75BC 802421DC 8E050000 */ lw $a1, ($s0) +/* 9C75C0 802421E0 26100004 */ addiu $s0, $s0, 4 +/* 9C75C4 802421E4 0C0B1EAF */ jal get_variable +/* 9C75C8 802421E8 0220202D */ daddu $a0, $s1, $zero +/* 9C75CC 802421EC AE2200A4 */ sw $v0, 0xa4($s1) +/* 9C75D0 802421F0 8E050000 */ lw $a1, ($s0) +/* 9C75D4 802421F4 26100004 */ addiu $s0, $s0, 4 +/* 9C75D8 802421F8 0C0B1EAF */ jal get_variable +/* 9C75DC 802421FC 0220202D */ daddu $a0, $s1, $zero +/* 9C75E0 80242200 AE2200A8 */ sw $v0, 0xa8($s1) +/* 9C75E4 80242204 8E050000 */ lw $a1, ($s0) +/* 9C75E8 80242208 26100004 */ addiu $s0, $s0, 4 +/* 9C75EC 8024220C 0C0B1EAF */ jal get_variable +/* 9C75F0 80242210 0220202D */ daddu $a0, $s1, $zero +/* 9C75F4 80242214 AE2200AC */ sw $v0, 0xac($s1) +/* 9C75F8 80242218 8E050000 */ lw $a1, ($s0) +/* 9C75FC 8024221C 0C0B1EAF */ jal get_variable +/* 9C7600 80242220 0220202D */ daddu $a0, $s1, $zero +/* 9C7604 80242224 AE2200B0 */ sw $v0, 0xb0($s1) +/* 9C7608 80242228 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C760C 8024222C 8FB10014 */ lw $s1, 0x14($sp) +/* 9C7610 80242230 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7614 80242234 24020002 */ addiu $v0, $zero, 2 +/* 9C7618 80242238 03E00008 */ jr $ra +/* 9C761C 8024223C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242240.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242240.s new file mode 100644 index 0000000000..ea9602ce94 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242240.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242240 +/* 9C7620 80242240 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C7624 80242244 AFB1001C */ sw $s1, 0x1c($sp) +/* 9C7628 80242248 0080882D */ daddu $s1, $a0, $zero +/* 9C762C 8024224C AFBF0034 */ sw $ra, 0x34($sp) +/* 9C7630 80242250 AFB60030 */ sw $s6, 0x30($sp) +/* 9C7634 80242254 AFB5002C */ sw $s5, 0x2c($sp) +/* 9C7638 80242258 AFB40028 */ sw $s4, 0x28($sp) +/* 9C763C 8024225C AFB30024 */ sw $s3, 0x24($sp) +/* 9C7640 80242260 AFB20020 */ sw $s2, 0x20($sp) +/* 9C7644 80242264 AFB00018 */ sw $s0, 0x18($sp) +/* 9C7648 80242268 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 9C764C 8024226C F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9C7650 80242270 8E30000C */ lw $s0, 0xc($s1) +/* 9C7654 80242274 8E160000 */ lw $s6, ($s0) +/* 9C7658 80242278 26100004 */ addiu $s0, $s0, 4 +/* 9C765C 8024227C 0C0B1EAF */ jal get_variable +/* 9C7660 80242280 02C0282D */ daddu $a1, $s6, $zero +/* 9C7664 80242284 44820000 */ mtc1 $v0, $f0 +/* 9C7668 80242288 00000000 */ nop +/* 9C766C 8024228C 46800020 */ cvt.s.w $f0, $f0 +/* 9C7670 80242290 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C7674 80242294 8E140000 */ lw $s4, ($s0) +/* 9C7678 80242298 26100004 */ addiu $s0, $s0, 4 +/* 9C767C 8024229C 0220202D */ daddu $a0, $s1, $zero +/* 9C7680 802422A0 0C0B1EAF */ jal get_variable +/* 9C7684 802422A4 0280282D */ daddu $a1, $s4, $zero +/* 9C7688 802422A8 0220202D */ daddu $a0, $s1, $zero +/* 9C768C 802422AC 8E150000 */ lw $s5, ($s0) +/* 9C7690 802422B0 4482B000 */ mtc1 $v0, $f22 +/* 9C7694 802422B4 00000000 */ nop +/* 9C7698 802422B8 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C769C 802422BC 0C0B1EAF */ jal get_variable +/* 9C76A0 802422C0 02A0282D */ daddu $a1, $s5, $zero +/* 9C76A4 802422C4 2404FFFC */ addiu $a0, $zero, -4 +/* 9C76A8 802422C8 44820000 */ mtc1 $v0, $f0 +/* 9C76AC 802422CC 00000000 */ nop +/* 9C76B0 802422D0 46800020 */ cvt.s.w $f0, $f0 +/* 9C76B4 802422D4 0C00EABB */ jal get_npc_unsafe +/* 9C76B8 802422D8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9C76BC 802422DC 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 9C76C0 802422E0 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 9C76C4 802422E4 3C014334 */ lui $at, 0x4334 +/* 9C76C8 802422E8 44816000 */ mtc1 $at, $f12 +/* 9C76CC 802422EC 00041880 */ sll $v1, $a0, 2 +/* 9C76D0 802422F0 00641821 */ addu $v1, $v1, $a0 +/* 9C76D4 802422F4 00031880 */ sll $v1, $v1, 2 +/* 9C76D8 802422F8 00641823 */ subu $v1, $v1, $a0 +/* 9C76DC 802422FC 000320C0 */ sll $a0, $v1, 3 +/* 9C76E0 80242300 00641821 */ addu $v1, $v1, $a0 +/* 9C76E4 80242304 000318C0 */ sll $v1, $v1, 3 +/* 9C76E8 80242308 3C01800B */ lui $at, 0x800b +/* 9C76EC 8024230C 00230821 */ addu $at, $at, $v1 +/* 9C76F0 80242310 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 9C76F4 80242314 460C0300 */ add.s $f12, $f0, $f12 +/* 9C76F8 80242318 0C00A6C9 */ jal clamp_angle +/* 9C76FC 8024231C 0040982D */ daddu $s3, $v0, $zero +/* 9C7700 80242320 27B00010 */ addiu $s0, $sp, 0x10 +/* 9C7704 80242324 0200202D */ daddu $a0, $s0, $zero +/* 9C7708 80242328 27B20014 */ addiu $s2, $sp, 0x14 +/* 9C770C 8024232C 0240282D */ daddu $a1, $s2, $zero +/* 9C7710 80242330 3C064170 */ lui $a2, 0x4170 +/* 9C7714 80242334 8E67000C */ lw $a3, 0xc($s3) +/* 9C7718 80242338 0C00A7E7 */ jal add_vec2D_polar +/* 9C771C 8024233C 46000506 */ mov.s $f20, $f0 +/* 9C7720 80242340 0200202D */ daddu $a0, $s0, $zero +/* 9C7724 80242344 3C064120 */ lui $a2, 0x4120 +/* 9C7728 80242348 4407A000 */ mfc1 $a3, $f20 +/* 9C772C 8024234C 0C00A7E7 */ jal add_vec2D_polar +/* 9C7730 80242350 0240282D */ daddu $a1, $s2, $zero +/* 9C7734 80242354 0220202D */ daddu $a0, $s1, $zero +/* 9C7738 80242358 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 9C773C 8024235C 4600008D */ trunc.w.s $f2, $f0 +/* 9C7740 80242360 44061000 */ mfc1 $a2, $f2 +/* 9C7744 80242364 0C0B2026 */ jal set_variable +/* 9C7748 80242368 02C0282D */ daddu $a1, $s6, $zero +/* 9C774C 8024236C 0220202D */ daddu $a0, $s1, $zero +/* 9C7750 80242370 4600B08D */ trunc.w.s $f2, $f22 +/* 9C7754 80242374 44061000 */ mfc1 $a2, $f2 +/* 9C7758 80242378 0C0B2026 */ jal set_variable +/* 9C775C 8024237C 0280282D */ daddu $a1, $s4, $zero +/* 9C7760 80242380 0220202D */ daddu $a0, $s1, $zero +/* 9C7764 80242384 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 9C7768 80242388 4600008D */ trunc.w.s $f2, $f0 +/* 9C776C 8024238C 44061000 */ mfc1 $a2, $f2 +/* 9C7770 80242390 0C0B2026 */ jal set_variable +/* 9C7774 80242394 02A0282D */ daddu $a1, $s5, $zero +/* 9C7778 80242398 8FBF0034 */ lw $ra, 0x34($sp) +/* 9C777C 8024239C 8FB60030 */ lw $s6, 0x30($sp) +/* 9C7780 802423A0 8FB5002C */ lw $s5, 0x2c($sp) +/* 9C7784 802423A4 8FB40028 */ lw $s4, 0x28($sp) +/* 9C7788 802423A8 8FB30024 */ lw $s3, 0x24($sp) +/* 9C778C 802423AC 8FB20020 */ lw $s2, 0x20($sp) +/* 9C7790 802423B0 8FB1001C */ lw $s1, 0x1c($sp) +/* 9C7794 802423B4 8FB00018 */ lw $s0, 0x18($sp) +/* 9C7798 802423B8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 9C779C 802423BC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9C77A0 802423C0 24020002 */ addiu $v0, $zero, 2 +/* 9C77A4 802423C4 03E00008 */ jr $ra +/* 9C77A8 802423C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802423CC.s b/asm/nonmatchings/world/area_nok/nok_01/func_802423CC.s new file mode 100644 index 0000000000..614176aff5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802423CC.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423CC +/* 9C77AC 802423CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C77B0 802423D0 AFB00010 */ sw $s0, 0x10($sp) +/* 9C77B4 802423D4 0080802D */ daddu $s0, $a0, $zero +/* 9C77B8 802423D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C77BC 802423DC 0C00EABB */ jal get_npc_unsafe +/* 9C77C0 802423E0 8E04008C */ lw $a0, 0x8c($s0) +/* 9C77C4 802423E4 0040282D */ daddu $a1, $v0, $zero +/* 9C77C8 802423E8 8E040094 */ lw $a0, 0x94($s0) +/* 9C77CC 802423EC 8CA30028 */ lw $v1, 0x28($a1) +/* 9C77D0 802423F0 ACA40028 */ sw $a0, 0x28($a1) +/* 9C77D4 802423F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C77D8 802423F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9C77DC 802423FC 24020002 */ addiu $v0, $zero, 2 +/* 9C77E0 80242400 3C018025 */ lui $at, 0x8025 +/* 9C77E4 80242404 AC231E34 */ sw $v1, 0x1e34($at) +/* 9C77E8 80242408 03E00008 */ jr $ra +/* 9C77EC 8024240C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242410_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242410_9C53E0.s new file mode 100644 index 0000000000..73ae6092f3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242410_9C53E0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242410_9C77F0 +/* 9C77F0 80242410 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C77F4 80242414 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C77F8 80242418 0C00EABB */ jal get_npc_unsafe +/* 9C77FC 8024241C 8C84008C */ lw $a0, 0x8c($a0) +/* 9C7800 80242420 3C038025 */ lui $v1, 0x8025 +/* 9C7804 80242424 8C631E34 */ lw $v1, 0x1e34($v1) +/* 9C7808 80242428 AC430028 */ sw $v1, 0x28($v0) +/* 9C780C 8024242C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7810 80242430 24020002 */ addiu $v0, $zero, 2 +/* 9C7814 80242434 03E00008 */ jr $ra +/* 9C7818 80242438 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_8024243C.s b/asm/nonmatchings/world/area_nok/nok_01/func_8024243C.s new file mode 100644 index 0000000000..c21d6a4116 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_8024243C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024243C +/* 9C781C 8024243C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C7820 80242440 AFB10014 */ sw $s1, 0x14($sp) +/* 9C7824 80242444 0080882D */ daddu $s1, $a0, $zero +/* 9C7828 80242448 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C782C 8024244C AFB00010 */ sw $s0, 0x10($sp) +/* 9C7830 80242450 8E30000C */ lw $s0, 0xc($s1) +/* 9C7834 80242454 8E050000 */ lw $a1, ($s0) +/* 9C7838 80242458 0C0B1EAF */ jal get_variable +/* 9C783C 8024245C 26100004 */ addiu $s0, $s0, 4 +/* 9C7840 80242460 8E100000 */ lw $s0, ($s0) +/* 9C7844 80242464 0C00EAD2 */ jal get_npc_safe +/* 9C7848 80242468 0040202D */ daddu $a0, $v0, $zero +/* 9C784C 8024246C 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 9C7850 80242470 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 9C7854 80242474 C440000C */ lwc1 $f0, 0xc($v0) +/* 9C7858 80242478 3C014334 */ lui $at, 0x4334 +/* 9C785C 8024247C 44811000 */ mtc1 $at, $f2 +/* 9C7860 80242480 00041880 */ sll $v1, $a0, 2 +/* 9C7864 80242484 00641821 */ addu $v1, $v1, $a0 +/* 9C7868 80242488 00031880 */ sll $v1, $v1, 2 +/* 9C786C 8024248C 00641823 */ subu $v1, $v1, $a0 +/* 9C7870 80242490 000320C0 */ sll $a0, $v1, 3 +/* 9C7874 80242494 00641821 */ addu $v1, $v1, $a0 +/* 9C7878 80242498 000318C0 */ sll $v1, $v1, 3 +/* 9C787C 8024249C 46020000 */ add.s $f0, $f0, $f2 +/* 9C7880 802424A0 3C01800B */ lui $at, 0x800b +/* 9C7884 802424A4 00230821 */ addu $at, $at, $v1 +/* 9C7888 802424A8 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 9C788C 802424AC 0C00A6C9 */ jal clamp_angle +/* 9C7890 802424B0 460C0301 */ sub.s $f12, $f0, $f12 +/* 9C7894 802424B4 3C014387 */ lui $at, 0x4387 +/* 9C7898 802424B8 44811000 */ mtc1 $at, $f2 +/* 9C789C 802424BC 46000106 */ mov.s $f4, $f0 +/* 9C78A0 802424C0 4604103C */ c.lt.s $f2, $f4 +/* 9C78A4 802424C4 00000000 */ nop +/* 9C78A8 802424C8 45010008 */ bc1t .L802424EC +/* 9C78AC 802424CC 0000302D */ daddu $a2, $zero, $zero +/* 9C78B0 802424D0 3C0142B4 */ lui $at, 0x42b4 +/* 9C78B4 802424D4 44810000 */ mtc1 $at, $f0 +/* 9C78B8 802424D8 00000000 */ nop +/* 9C78BC 802424DC 4600203C */ c.lt.s $f4, $f0 +/* 9C78C0 802424E0 00000000 */ nop +/* 9C78C4 802424E4 45000003 */ bc1f .L802424F4 +/* 9C78C8 802424E8 0220202D */ daddu $a0, $s1, $zero +.L802424EC: +/* 9C78CC 802424EC 24060001 */ addiu $a2, $zero, 1 +/* 9C78D0 802424F0 0220202D */ daddu $a0, $s1, $zero +.L802424F4: +/* 9C78D4 802424F4 0C0B2026 */ jal set_variable +/* 9C78D8 802424F8 0200282D */ daddu $a1, $s0, $zero +/* 9C78DC 802424FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C78E0 80242500 8FB10014 */ lw $s1, 0x14($sp) +/* 9C78E4 80242504 8FB00010 */ lw $s0, 0x10($sp) +/* 9C78E8 80242508 24020002 */ addiu $v0, $zero, 2 +/* 9C78EC 8024250C 03E00008 */ jr $ra +/* 9C78F0 80242510 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242514_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242514_9C53E0.s new file mode 100644 index 0000000000..b2485e32c2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242514_9C53E0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242514_9C78F4 +/* 9C78F4 80242514 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9C78F8 80242518 AFB20018 */ sw $s2, 0x18($sp) +/* 9C78FC 8024251C 0080902D */ daddu $s2, $a0, $zero +/* 9C7900 80242520 AFBF0028 */ sw $ra, 0x28($sp) +/* 9C7904 80242524 AFB50024 */ sw $s5, 0x24($sp) +/* 9C7908 80242528 AFB40020 */ sw $s4, 0x20($sp) +/* 9C790C 8024252C AFB3001C */ sw $s3, 0x1c($sp) +/* 9C7910 80242530 AFB10014 */ sw $s1, 0x14($sp) +/* 9C7914 80242534 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7918 80242538 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9C791C 8024253C F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9C7920 80242540 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9C7924 80242544 8E50000C */ lw $s0, 0xc($s2) +/* 9C7928 80242548 8E140000 */ lw $s4, ($s0) +/* 9C792C 8024254C 26100004 */ addiu $s0, $s0, 4 +/* 9C7930 80242550 0C0B1EAF */ jal get_variable +/* 9C7934 80242554 0280282D */ daddu $a1, $s4, $zero +/* 9C7938 80242558 0040982D */ daddu $s3, $v0, $zero +/* 9C793C 8024255C 8E150000 */ lw $s5, ($s0) +/* 9C7940 80242560 26100004 */ addiu $s0, $s0, 4 +/* 9C7944 80242564 8E050000 */ lw $a1, ($s0) +/* 9C7948 80242568 26100004 */ addiu $s0, $s0, 4 +/* 9C794C 8024256C 0C0B210B */ jal get_float_variable +/* 9C7950 80242570 0240202D */ daddu $a0, $s2, $zero +/* 9C7954 80242574 8E050000 */ lw $a1, ($s0) +/* 9C7958 80242578 26100004 */ addiu $s0, $s0, 4 +/* 9C795C 8024257C 0240202D */ daddu $a0, $s2, $zero +/* 9C7960 80242580 0C0B210B */ jal get_float_variable +/* 9C7964 80242584 46000606 */ mov.s $f24, $f0 +/* 9C7968 80242588 8E050000 */ lw $a1, ($s0) +/* 9C796C 8024258C 26100004 */ addiu $s0, $s0, 4 +/* 9C7970 80242590 0240202D */ daddu $a0, $s2, $zero +/* 9C7974 80242594 0C0B1EAF */ jal get_variable +/* 9C7978 80242598 46000506 */ mov.s $f20, $f0 +/* 9C797C 8024259C 8E050000 */ lw $a1, ($s0) +/* 9C7980 802425A0 26100004 */ addiu $s0, $s0, 4 +/* 9C7984 802425A4 0240202D */ daddu $a0, $s2, $zero +/* 9C7988 802425A8 0C0B1EAF */ jal get_variable +/* 9C798C 802425AC 0040882D */ daddu $s1, $v0, $zero +/* 9C7990 802425B0 0240202D */ daddu $a0, $s2, $zero +/* 9C7994 802425B4 8E050000 */ lw $a1, ($s0) +/* 9C7998 802425B8 0C0B210B */ jal get_float_variable +/* 9C799C 802425BC 0040802D */ daddu $s0, $v0, $zero +/* 9C79A0 802425C0 3C014334 */ lui $at, 0x4334 +/* 9C79A4 802425C4 44811000 */ mtc1 $at, $f2 +/* 9C79A8 802425C8 3C014049 */ lui $at, 0x4049 +/* 9C79AC 802425CC 34210FD8 */ ori $at, $at, 0xfd8 +/* 9C79B0 802425D0 44812000 */ mtc1 $at, $f4 +/* 9C79B4 802425D4 46020003 */ div.s $f0, $f0, $f2 +/* 9C79B8 802425D8 46040582 */ mul.s $f22, $f0, $f4 +/* 9C79BC 802425DC 00000000 */ nop +/* 9C79C0 802425E0 4618A501 */ sub.s $f20, $f20, $f24 +/* 9C79C4 802425E4 3C013F00 */ lui $at, 0x3f00 +/* 9C79C8 802425E8 44810000 */ mtc1 $at, $f0 +/* 9C79CC 802425EC 00000000 */ nop +/* 9C79D0 802425F0 4600A502 */ mul.s $f20, $f20, $f0 +/* 9C79D4 802425F4 00000000 */ nop +/* 9C79D8 802425F8 12000007 */ beqz $s0, .L80242618 +/* 9C79DC 802425FC 0233102A */ slt $v0, $s1, $s3 +/* 9C79E0 80242600 10400005 */ beqz $v0, .L80242618 +/* 9C79E4 80242604 0240202D */ daddu $a0, $s2, $zero +/* 9C79E8 80242608 0220982D */ daddu $s3, $s1, $zero +/* 9C79EC 8024260C 0280282D */ daddu $a1, $s4, $zero +/* 9C79F0 80242610 0C0B2026 */ jal set_variable +/* 9C79F4 80242614 0220302D */ daddu $a2, $s1, $zero +.L80242618: +/* 9C79F8 80242618 3C014049 */ lui $at, 0x4049 +/* 9C79FC 8024261C 34210FD8 */ ori $at, $at, 0xfd8 +/* 9C7A00 80242620 44810000 */ mtc1 $at, $f0 +/* 9C7A04 80242624 44936000 */ mtc1 $s3, $f12 +/* 9C7A08 80242628 00000000 */ nop +/* 9C7A0C 8024262C 46806320 */ cvt.s.w $f12, $f12 +/* 9C7A10 80242630 46006302 */ mul.s $f12, $f12, $f0 +/* 9C7A14 80242634 00000000 */ nop +/* 9C7A18 80242638 44910000 */ mtc1 $s1, $f0 +/* 9C7A1C 8024263C 00000000 */ nop +/* 9C7A20 80242640 46800020 */ cvt.s.w $f0, $f0 +/* 9C7A24 80242644 46006303 */ div.s $f12, $f12, $f0 +/* 9C7A28 80242648 0C00A874 */ jal cos_rad +/* 9C7A2C 8024264C 46166300 */ add.s $f12, $f12, $f22 +/* 9C7A30 80242650 4600A002 */ mul.s $f0, $f20, $f0 +/* 9C7A34 80242654 00000000 */ nop +/* 9C7A38 80242658 4614C080 */ add.s $f2, $f24, $f20 +/* 9C7A3C 8024265C 46001081 */ sub.s $f2, $f2, $f0 +/* 9C7A40 80242660 0240202D */ daddu $a0, $s2, $zero +/* 9C7A44 80242664 44061000 */ mfc1 $a2, $f2 +/* 9C7A48 80242668 0C0B2190 */ jal set_float_variable +/* 9C7A4C 8024266C 02A0282D */ daddu $a1, $s5, $zero +/* 9C7A50 80242670 8FBF0028 */ lw $ra, 0x28($sp) +/* 9C7A54 80242674 8FB50024 */ lw $s5, 0x24($sp) +/* 9C7A58 80242678 8FB40020 */ lw $s4, 0x20($sp) +/* 9C7A5C 8024267C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9C7A60 80242680 8FB20018 */ lw $s2, 0x18($sp) +/* 9C7A64 80242684 8FB10014 */ lw $s1, 0x14($sp) +/* 9C7A68 80242688 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7A6C 8024268C D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9C7A70 80242690 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9C7A74 80242694 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9C7A78 80242698 24020002 */ addiu $v0, $zero, 2 +/* 9C7A7C 8024269C 03E00008 */ jr $ra +/* 9C7A80 802426A0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802426A4.s b/asm/nonmatchings/world/area_nok/nok_01/func_802426A4.s new file mode 100644 index 0000000000..ad01ff8aa3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802426A4.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426A4 +/* 9C7A84 802426A4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9C7A88 802426A8 AFB10014 */ sw $s1, 0x14($sp) +/* 9C7A8C 802426AC 0080882D */ daddu $s1, $a0, $zero +/* 9C7A90 802426B0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9C7A94 802426B4 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7A98 802426B8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 9C7A9C 802426BC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9C7AA0 802426C0 8E30000C */ lw $s0, 0xc($s1) +/* 9C7AA4 802426C4 8E050000 */ lw $a1, ($s0) +/* 9C7AA8 802426C8 0C0B1EAF */ jal get_variable +/* 9C7AAC 802426CC 26100004 */ addiu $s0, $s0, 4 +/* 9C7AB0 802426D0 8E050000 */ lw $a1, ($s0) +/* 9C7AB4 802426D4 26100004 */ addiu $s0, $s0, 4 +/* 9C7AB8 802426D8 4482B000 */ mtc1 $v0, $f22 +/* 9C7ABC 802426DC 00000000 */ nop +/* 9C7AC0 802426E0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9C7AC4 802426E4 0C0B1EAF */ jal get_variable +/* 9C7AC8 802426E8 0220202D */ daddu $a0, $s1, $zero +/* 9C7ACC 802426EC 8E050000 */ lw $a1, ($s0) +/* 9C7AD0 802426F0 4482A000 */ mtc1 $v0, $f20 +/* 9C7AD4 802426F4 00000000 */ nop +/* 9C7AD8 802426F8 4680A520 */ cvt.s.w $f20, $f20 +/* 9C7ADC 802426FC 0C0B1EAF */ jal get_variable +/* 9C7AE0 80242700 0220202D */ daddu $a0, $s1, $zero +/* 9C7AE4 80242704 3C014170 */ lui $at, 0x4170 +/* 9C7AE8 80242708 44810000 */ mtc1 $at, $f0 +/* 9C7AEC 8024270C 44821000 */ mtc1 $v0, $f2 +/* 9C7AF0 80242710 00000000 */ nop +/* 9C7AF4 80242714 468010A0 */ cvt.s.w $f2, $f2 +/* 9C7AF8 80242718 4600A500 */ add.s $f20, $f20, $f0 +/* 9C7AFC 8024271C 4405B000 */ mfc1 $a1, $f22 +/* 9C7B00 80242720 44071000 */ mfc1 $a3, $f2 +/* 9C7B04 80242724 4406A000 */ mfc1 $a2, $f20 +/* 9C7B08 80242728 0C01C07C */ jal func_800701F0 +/* 9C7B0C 8024272C 0000202D */ daddu $a0, $zero, $zero +/* 9C7B10 80242730 0000202D */ daddu $a0, $zero, $zero +/* 9C7B14 80242734 0080282D */ daddu $a1, $a0, $zero +/* 9C7B18 80242738 0C0B2D5B */ jal exec_ShakeCam1 +/* 9C7B1C 8024273C 24060014 */ addiu $a2, $zero, 0x14 +/* 9C7B20 80242740 8FBF0018 */ lw $ra, 0x18($sp) +/* 9C7B24 80242744 8FB10014 */ lw $s1, 0x14($sp) +/* 9C7B28 80242748 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7B2C 8024274C D7B60028 */ ldc1 $f22, 0x28($sp) +/* 9C7B30 80242750 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9C7B34 80242754 24020002 */ addiu $v0, $zero, 2 +/* 9C7B38 80242758 03E00008 */ jr $ra +/* 9C7B3C 8024275C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242760.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242760.s new file mode 100644 index 0000000000..8650fe814e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242760.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242760 +/* 9C7B40 80242760 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7B44 80242764 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7B48 80242768 0C03A63B */ jal func_800E98EC +/* 9C7B4C 8024276C 00000000 */ nop +/* 9C7B50 80242770 0C03A625 */ jal func_800E9894 +/* 9C7B54 80242774 00000000 */ nop +/* 9C7B58 80242778 0C03A5D8 */ jal open_status_menu_long +/* 9C7B5C 8024277C 00000000 */ nop +/* 9C7B60 80242780 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7B64 80242784 24020002 */ addiu $v0, $zero, 2 +/* 9C7B68 80242788 03E00008 */ jr $ra +/* 9C7B6C 8024278C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242790.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242790.s new file mode 100644 index 0000000000..3facda1a15 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242790.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242790 +/* 9C7B70 80242790 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7B74 80242794 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7B78 80242798 0C03A640 */ jal func_800E9900 +/* 9C7B7C 8024279C 00000000 */ nop +/* 9C7B80 802427A0 0C03A631 */ jal func_800E98C4 +/* 9C7B84 802427A4 00000000 */ nop +/* 9C7B88 802427A8 0C03A5EE */ jal func_800E97B8 +/* 9C7B8C 802427AC 00000000 */ nop +/* 9C7B90 802427B0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7B94 802427B4 24020002 */ addiu $v0, $zero, 2 +/* 9C7B98 802427B8 03E00008 */ jr $ra +/* 9C7B9C 802427BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802427C0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802427C0.s new file mode 100644 index 0000000000..a876db257b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802427C0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427C0 +/* 9C7BA0 802427C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7BA4 802427C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7BA8 802427C8 8C82000C */ lw $v0, 0xc($a0) +/* 9C7BAC 802427CC 0C0B1EAF */ jal get_variable +/* 9C7BB0 802427D0 8C450000 */ lw $a1, ($v0) +/* 9C7BB4 802427D4 0C015512 */ jal func_80055448 +/* 9C7BB8 802427D8 24040010 */ addiu $a0, $zero, 0x10 +/* 9C7BBC 802427DC 0C0155D8 */ jal func_80055760 +/* 9C7BC0 802427E0 24040004 */ addiu $a0, $zero, 4 +/* 9C7BC4 802427E4 0000202D */ daddu $a0, $zero, $zero +/* 9C7BC8 802427E8 240500FA */ addiu $a1, $zero, 0xfa +/* 9C7BCC 802427EC 0C01559B */ jal func_8005566C +/* 9C7BD0 802427F0 24060001 */ addiu $a2, $zero, 1 +/* 9C7BD4 802427F4 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7BD8 802427F8 24020002 */ addiu $v0, $zero, 2 +/* 9C7BDC 802427FC 03E00008 */ jr $ra +/* 9C7BE0 80242800 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242804.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242804.s new file mode 100644 index 0000000000..ca8975899a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242804.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242804 +/* 9C7BE4 80242804 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7BE8 80242808 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C7BEC 8024280C AFB00010 */ sw $s0, 0x10($sp) +/* 9C7BF0 80242810 8C82000C */ lw $v0, 0xc($a0) +/* 9C7BF4 80242814 0C0B1EAF */ jal get_variable +/* 9C7BF8 80242818 8C450000 */ lw $a1, ($v0) +/* 9C7BFC 8024281C 3C038025 */ lui $v1, 0x8025 +/* 9C7C00 80242820 24630810 */ addiu $v1, $v1, 0x810 +/* 9C7C04 80242824 00028040 */ sll $s0, $v0, 1 +/* 9C7C08 80242828 02038021 */ addu $s0, $s0, $v1 +/* 9C7C0C 8024282C 0C015612 */ jal func_80055848 +/* 9C7C10 80242830 86040000 */ lh $a0, ($s0) +/* 9C7C14 80242834 240505DC */ addiu $a1, $zero, 0x5dc +/* 9C7C18 80242838 86040000 */ lh $a0, ($s0) +/* 9C7C1C 8024283C 0C01559B */ jal func_8005566C +/* 9C7C20 80242840 2406007F */ addiu $a2, $zero, 0x7f +/* 9C7C24 80242844 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C7C28 80242848 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7C2C 8024284C 24020002 */ addiu $v0, $zero, 2 +/* 9C7C30 80242850 03E00008 */ jr $ra +/* 9C7C34 80242854 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242858_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242858_9C53E0.s new file mode 100644 index 0000000000..493120d346 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242858_9C53E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242858_9C7C38 +/* 9C7C38 80242858 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7C3C 8024285C AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7C40 80242860 8C82000C */ lw $v0, 0xc($a0) +/* 9C7C44 80242864 0C0B1EAF */ jal get_variable +/* 9C7C48 80242868 8C450000 */ lw $a1, ($v0) +/* 9C7C4C 8024286C 240505DC */ addiu $a1, $zero, 0x5dc +/* 9C7C50 80242870 00021040 */ sll $v0, $v0, 1 +/* 9C7C54 80242874 3C048025 */ lui $a0, 0x8025 +/* 9C7C58 80242878 00822021 */ addu $a0, $a0, $v0 +/* 9C7C5C 8024287C 84840810 */ lh $a0, 0x810($a0) +/* 9C7C60 80242880 0C01559B */ jal func_8005566C +/* 9C7C64 80242884 24060001 */ addiu $a2, $zero, 1 +/* 9C7C68 80242888 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7C6C 8024288C 24020002 */ addiu $v0, $zero, 2 +/* 9C7C70 80242890 03E00008 */ jr $ra +/* 9C7C74 80242894 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242898_9C53E0.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242898_9C53E0.s new file mode 100644 index 0000000000..1a0c482b5b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242898_9C53E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242898_9C7C78 +/* 9C7C78 80242898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7C7C 8024289C AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7C80 802428A0 0C015612 */ jal func_80055848 +/* 9C7C84 802428A4 24040004 */ addiu $a0, $zero, 4 +/* 9C7C88 802428A8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7C8C 802428AC 24020002 */ addiu $v0, $zero, 2 +/* 9C7C90 802428B0 03E00008 */ jr $ra +/* 9C7C94 802428B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802428B8.s b/asm/nonmatchings/world/area_nok/nok_01/func_802428B8.s new file mode 100644 index 0000000000..ec931658e5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802428B8.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428B8 +/* 9C7C98 802428B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7C9C 802428BC AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7CA0 802428C0 0C0155F3 */ jal func_800557CC +/* 9C7CA4 802428C4 24040064 */ addiu $a0, $zero, 0x64 +/* 9C7CA8 802428C8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7CAC 802428CC 24020002 */ addiu $v0, $zero, 2 +/* 9C7CB0 802428D0 03E00008 */ jr $ra +/* 9C7CB4 802428D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802428D8.s b/asm/nonmatchings/world/area_nok/nok_01/func_802428D8.s new file mode 100644 index 0000000000..3f11504f85 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802428D8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428D8 +/* 9C7CB8 802428D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C7CBC 802428DC AFBF0010 */ sw $ra, 0x10($sp) +/* 9C7CC0 802428E0 8C82000C */ lw $v0, 0xc($a0) +/* 9C7CC4 802428E4 0C0B1EAF */ jal get_variable +/* 9C7CC8 802428E8 8C450000 */ lw $a1, ($v0) +/* 9C7CCC 802428EC 00021040 */ sll $v0, $v0, 1 +/* 9C7CD0 802428F0 3C048025 */ lui $a0, 0x8025 +/* 9C7CD4 802428F4 00822021 */ addu $a0, $a0, $v0 +/* 9C7CD8 802428F8 0C015612 */ jal func_80055848 +/* 9C7CDC 802428FC 84840810 */ lh $a0, 0x810($a0) +/* 9C7CE0 80242900 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C7CE4 80242904 24020002 */ addiu $v0, $zero, 2 +/* 9C7CE8 80242908 03E00008 */ jr $ra +/* 9C7CEC 8024290C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242910.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242910.s new file mode 100644 index 0000000000..e8acd6b9c0 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242910.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242910 +/* 9C7CF0 80242910 3C038011 */ lui $v1, %hi(gPlayerData) +/* 9C7CF4 80242914 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 9C7CF8 80242918 8C6202BC */ lw $v0, 0x2bc($v1) +/* 9C7CFC 8024291C AC620324 */ sw $v0, 0x324($v1) +/* 9C7D00 80242920 03E00008 */ jr $ra +/* 9C7D04 80242924 24020002 */ addiu $v0, $zero, 2 +/* 9C7D08 80242928 00000000 */ nop +/* 9C7D0C 8024292C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_80242930.s b/asm/nonmatchings/world/area_nok/nok_01/func_80242930.s new file mode 100644 index 0000000000..187706de35 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_80242930.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242930 +/* 9C7D10 80242930 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9C7D14 80242934 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9C7D18 80242938 4485A000 */ mtc1 $a1, $f20 +/* 9C7D1C 8024293C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 9C7D20 80242940 4486B000 */ mtc1 $a2, $f22 +/* 9C7D24 80242944 AFB00010 */ sw $s0, 0x10($sp) +/* 9C7D28 80242948 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 9C7D2C 8024294C 4487C000 */ mtc1 $a3, $f24 +/* 9C7D30 80242950 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C7D34 80242954 0C019D28 */ jal guMtxIdentF +/* 9C7D38 80242958 0080802D */ daddu $s0, $a0, $zero +/* 9C7D3C 8024295C 4616A582 */ mul.s $f22, $f20, $f22 +/* 9C7D40 80242960 00000000 */ nop +/* 9C7D44 80242964 4618A502 */ mul.s $f20, $f20, $f24 +/* 9C7D48 80242968 00000000 */ nop +/* 9C7D4C 8024296C 3C013F80 */ lui $at, 0x3f80 +/* 9C7D50 80242970 44810000 */ mtc1 $at, $f0 +/* 9C7D54 80242974 00000000 */ nop +/* 9C7D58 80242978 E6000014 */ swc1 $f0, 0x14($s0) +/* 9C7D5C 8024297C E6160010 */ swc1 $f22, 0x10($s0) +/* 9C7D60 80242980 E6140018 */ swc1 $f20, 0x18($s0) +/* 9C7D64 80242984 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C7D68 80242988 8FB00010 */ lw $s0, 0x10($sp) +/* 9C7D6C 8024298C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 9C7D70 80242990 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 9C7D74 80242994 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 9C7D78 80242998 03E00008 */ jr $ra +/* 9C7D7C 8024299C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_01/func_802429A0.s b/asm/nonmatchings/world/area_nok/nok_01/func_802429A0.s new file mode 100644 index 0000000000..979adf0f39 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_01/func_802429A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429A0 +/* 9C7D80 802429A0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 9C7D84 802429A4 AFB10054 */ sw $s1, 0x54($sp) +/* 9C7D88 802429A8 0080882D */ daddu $s1, $a0, $zero +/* 9C7D8C 802429AC AFBF005C */ sw $ra, 0x5c($sp) +/* 9C7D90 802429B0 AFB20058 */ sw $s2, 0x58($sp) +/* 9C7D94 802429B4 AFB00050 */ sw $s0, 0x50($sp) +/* 9C7D98 802429B8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 9C7D9C 802429BC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9C7DA0 802429C0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9C7DA4 802429C4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9C7DA8 802429C8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9C7DAC 802429CC 8E30000C */ lw $s0, 0xc($s1) +/* 9C7DB0 802429D0 8E050000 */ lw $a1, ($s0) +/* 9C7DB4 802429D4 0C0B1EAF */ jal get_variable +/* 9C7DB8 802429D8 26100004 */ addiu $s0, $s0, 4 +/* 9C7DBC 802429DC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9C7DC0 802429E0 0040202D */ daddu $a0, $v0, $zero +/* 9C7DC4 802429E4 8E050000 */ lw $a1, ($s0) +/* 9C7DC8 802429E8 26100004 */ addiu $s0, $s0, 4 +/* 9C7DCC 802429EC 0220202D */ daddu $a0, $s1, $zero +/* 9C7DD0 802429F0 0C0B210B */ jal get_float_variable +/* 9C7DD4 802429F4 0040902D */ daddu $s2, $v0, $zero +/* 9C7DD8 802429F8 8E050000 */ lw $a1, ($s0) +/* 9C7DDC 802429FC 26100004 */ addiu $s0, $s0, 4 +/* 9C7DE0 80242A00 0220202D */ daddu $a0, $s1, $zero +/* 9C7DE4 80242A04 0C0B210B */ jal get_float_variable +/* 9C7DE8 80242A08 46000706 */ mov.s $f28, $f0 +/* 9C7DEC 80242A0C 8E050000 */ lw $a1, ($s0) +/* 9C7DF0 80242A10 26100004 */ addiu $s0, $s0, 4 +/* 9C7DF4 80242A14 0220202D */ daddu $a0, $s1, $zero +/* 9C7DF8 80242A18 0C0B210B */ jal get_float_variable +/* 9C7DFC 80242A1C 46000686 */ mov.s $f26, $f0 +/* 9C7E00 80242A20 0220202D */ daddu $a0, $s1, $zero +/* 9C7E04 80242A24 8E050000 */ lw $a1, ($s0) +/* 9C7E08 80242A28 0C0B210B */ jal get_float_variable +/* 9C7E0C 80242A2C 46000586 */ mov.s $f22, $f0 +/* 9C7E10 80242A30 0240202D */ daddu $a0, $s2, $zero +/* 9C7E14 80242A34 0C046B4C */ jal get_model_from_list_index +/* 9C7E18 80242A38 46000606 */ mov.s $f24, $f0 +/* 9C7E1C 80242A3C 0040882D */ daddu $s1, $v0, $zero +/* 9C7E20 80242A40 96220000 */ lhu $v0, ($s1) +/* 9C7E24 80242A44 30420400 */ andi $v0, $v0, 0x400 +/* 9C7E28 80242A48 1440001E */ bnez $v0, .L80242AC4 +/* 9C7E2C 80242A4C 26300058 */ addiu $s0, $s1, 0x58 +/* 9C7E30 80242A50 4480A000 */ mtc1 $zero, $f20 +/* 9C7E34 80242A54 4406B000 */ mfc1 $a2, $f22 +/* 9C7E38 80242A58 4405A000 */ mfc1 $a1, $f20 +/* 9C7E3C 80242A5C 4407A000 */ mfc1 $a3, $f20 +/* 9C7E40 80242A60 0C019E40 */ jal guTranslateF +/* 9C7E44 80242A64 0200202D */ daddu $a0, $s0, $zero +/* 9C7E48 80242A68 4405E000 */ mfc1 $a1, $f28 +/* 9C7E4C 80242A6C 4406D000 */ mfc1 $a2, $f26 +/* 9C7E50 80242A70 4407C000 */ mfc1 $a3, $f24 +/* 9C7E54 80242A74 0C090A4C */ jal func_80242930 +/* 9C7E58 80242A78 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7E5C 80242A7C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7E60 80242A80 0200282D */ daddu $a1, $s0, $zero +/* 9C7E64 80242A84 0C019D80 */ jal guMtxCatF +/* 9C7E68 80242A88 0200302D */ daddu $a2, $s0, $zero +/* 9C7E6C 80242A8C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7E70 80242A90 4600B587 */ neg.s $f22, $f22 +/* 9C7E74 80242A94 4405A000 */ mfc1 $a1, $f20 +/* 9C7E78 80242A98 4406B000 */ mfc1 $a2, $f22 +/* 9C7E7C 80242A9C 0C019E40 */ jal guTranslateF +/* 9C7E80 80242AA0 00A0382D */ daddu $a3, $a1, $zero +/* 9C7E84 80242AA4 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7E88 80242AA8 0200282D */ daddu $a1, $s0, $zero +/* 9C7E8C 80242AAC 0C019D80 */ jal guMtxCatF +/* 9C7E90 80242AB0 00A0302D */ daddu $a2, $a1, $zero +/* 9C7E94 80242AB4 96220000 */ lhu $v0, ($s1) +/* 9C7E98 80242AB8 34421400 */ ori $v0, $v0, 0x1400 +/* 9C7E9C 80242ABC 08090ACF */ j .L80242B3C +/* 9C7EA0 80242AC0 A6220000 */ sh $v0, ($s1) +.L80242AC4: +/* 9C7EA4 80242AC4 4480A000 */ mtc1 $zero, $f20 +/* 9C7EA8 80242AC8 4406B000 */ mfc1 $a2, $f22 +/* 9C7EAC 80242ACC 4405A000 */ mfc1 $a1, $f20 +/* 9C7EB0 80242AD0 4407A000 */ mfc1 $a3, $f20 +/* 9C7EB4 80242AD4 0C019E40 */ jal guTranslateF +/* 9C7EB8 80242AD8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7EBC 80242ADC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7EC0 80242AE0 26300058 */ addiu $s0, $s1, 0x58 +/* 9C7EC4 80242AE4 0200282D */ daddu $a1, $s0, $zero +/* 9C7EC8 80242AE8 0C019D80 */ jal guMtxCatF +/* 9C7ECC 80242AEC 0200302D */ daddu $a2, $s0, $zero +/* 9C7ED0 80242AF0 4405E000 */ mfc1 $a1, $f28 +/* 9C7ED4 80242AF4 4406D000 */ mfc1 $a2, $f26 +/* 9C7ED8 80242AF8 4407C000 */ mfc1 $a3, $f24 +/* 9C7EDC 80242AFC 0C090A4C */ jal func_80242930 +/* 9C7EE0 80242B00 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7EE4 80242B04 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7EE8 80242B08 0200282D */ daddu $a1, $s0, $zero +/* 9C7EEC 80242B0C 0C019D80 */ jal guMtxCatF +/* 9C7EF0 80242B10 0200302D */ daddu $a2, $s0, $zero +/* 9C7EF4 80242B14 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7EF8 80242B18 4600B587 */ neg.s $f22, $f22 +/* 9C7EFC 80242B1C 4405A000 */ mfc1 $a1, $f20 +/* 9C7F00 80242B20 4406B000 */ mfc1 $a2, $f22 +/* 9C7F04 80242B24 0C019E40 */ jal guTranslateF +/* 9C7F08 80242B28 00A0382D */ daddu $a3, $a1, $zero +/* 9C7F0C 80242B2C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9C7F10 80242B30 0200282D */ daddu $a1, $s0, $zero +/* 9C7F14 80242B34 0C019D80 */ jal guMtxCatF +/* 9C7F18 80242B38 00A0302D */ daddu $a2, $a1, $zero +.L80242B3C: +/* 9C7F1C 80242B3C 8FBF005C */ lw $ra, 0x5c($sp) +/* 9C7F20 80242B40 8FB20058 */ lw $s2, 0x58($sp) +/* 9C7F24 80242B44 8FB10054 */ lw $s1, 0x54($sp) +/* 9C7F28 80242B48 8FB00050 */ lw $s0, 0x50($sp) +/* 9C7F2C 80242B4C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 9C7F30 80242B50 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9C7F34 80242B54 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9C7F38 80242B58 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9C7F3C 80242B5C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9C7F40 80242B60 24020002 */ addiu $v0, $zero, 2 +/* 9C7F44 80242B64 03E00008 */ jr $ra +/* 9C7F48 80242B68 27BD0088 */ addiu $sp, $sp, 0x88 +/* 9C7F4C 80242B6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240000_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240000_9D7020.s new file mode 100644 index 0000000000..be752a86a7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240000_9D7020.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9D7020 +/* 9D7020 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9D7024 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9D7028 80240008 8C430004 */ lw $v1, 4($v0) +/* 9D702C 8024000C 3C040010 */ lui $a0, 0x10 +/* 9D7030 80240010 00641825 */ or $v1, $v1, $a0 +/* 9D7034 80240014 AC430004 */ sw $v1, 4($v0) +/* 9D7038 80240018 03E00008 */ jr $ra +/* 9D703C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240020_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240020_9D7020.s new file mode 100644 index 0000000000..10e1037560 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240020_9D7020.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_9D7040 +/* 9D7040 80240020 3C028016 */ lui $v0, 0x8016 +/* 9D7044 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 9D7048 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 9D704C 8024002C 03E00008 */ jr $ra +/* 9D7050 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240034_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240034_9D7020.s new file mode 100644 index 0000000000..4dfd99ecb4 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240034_9D7020.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_9D7054 +/* 9D7054 80240034 3C038016 */ lui $v1, 0x8016 +/* 9D7058 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 9D705C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D7060 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7064 80240044 0080802D */ daddu $s0, $a0, $zero +/* 9D7068 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 9D706C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9D7070 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 9D7074 80240054 24020002 */ addiu $v0, $zero, 2 +/* 9D7078 80240058 08090038 */ j .L802400E0 +/* 9D707C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 9D7080 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 9D7084 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 9D7088 80240068 80620040 */ lb $v0, 0x40($v1) +/* 9D708C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 9D7090 80240070 04420001 */ bltzl $v0, .L80240078 +/* 9D7094 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 9D7098 80240078 14400003 */ bnez $v0, .L80240088 +/* 9D709C 8024007C 00000000 */ nop +/* 9D70A0 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 9D70A4 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 9D70A8 80240088 44822000 */ mtc1 $v0, $f4 +/* 9D70AC 8024008C 00000000 */ nop +/* 9D70B0 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 9D70B4 80240094 44062000 */ mfc1 $a2, $f4 +/* 9D70B8 80240098 44872000 */ mtc1 $a3, $f4 +/* 9D70BC 8024009C 00000000 */ nop +/* 9D70C0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 9D70C4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 9D70C8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 9D70CC 802400AC 0C00A720 */ jal atan2 +/* 9D70D0 802400B0 46006386 */ mov.s $f14, $f12 +/* 9D70D4 802400B4 3C014270 */ lui $at, 0x4270 +/* 9D70D8 802400B8 44811000 */ mtc1 $at, $f2 +/* 9D70DC 802400BC 00000000 */ nop +/* 9D70E0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 9D70E4 802400C4 00000000 */ nop +/* 9D70E8 802400C8 45000004 */ bc1f .L802400DC +/* 9D70EC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 9D70F0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 9D70F4 802400D4 08090038 */ j .L802400E0 +/* 9D70F8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 9D70FC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 9D7100 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9D7104 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7108 802400E8 03E00008 */ jr $ra +/* 9D710C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802400F0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802400F0_9D7020.s new file mode 100644 index 0000000000..73eeb8eb4f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802400F0_9D7020.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_9D7110 +/* 9D7110 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D7114 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D7118 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 9D711C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 9D7120 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 9D7124 80240104 0C016AFA */ jal get_current_map_header +/* 9D7128 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 9D712C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 9D7130 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 9D7134 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9D7138 80240118 0C0B1EAF */ jal get_variable +/* 9D713C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 9D7140 80240120 0220202D */ daddu $a0, $s1, $zero +/* 9D7144 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 9D7148 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 9D714C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 9D7150 80240130 02031821 */ addu $v1, $s0, $v1 +/* 9D7154 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 9D7158 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 9D715C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 9D7160 80240140 0C0B2026 */ jal set_variable +/* 9D7164 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 9D7168 80240148 0220202D */ daddu $a0, $s1, $zero +/* 9D716C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 9D7170 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 9D7174 80240154 02021021 */ addu $v0, $s0, $v0 +/* 9D7178 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 9D717C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 9D7180 80240160 44061000 */ mfc1 $a2, $f2 +/* 9D7184 80240164 0C0B2026 */ jal set_variable +/* 9D7188 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 9D718C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 9D7190 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 9D7194 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 9D7198 80240178 02021021 */ addu $v0, $s0, $v0 +/* 9D719C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 9D71A0 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 9D71A4 80240184 44061000 */ mfc1 $a2, $f2 +/* 9D71A8 80240188 0C0B2026 */ jal set_variable +/* 9D71AC 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 9D71B0 80240190 0220202D */ daddu $a0, $s1, $zero +/* 9D71B4 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 9D71B8 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 9D71BC 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 9D71C0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 9D71C4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 9D71C8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 9D71CC 802401AC 0C0B2026 */ jal set_variable +/* 9D71D0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 9D71D4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D71D8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 9D71DC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 9D71E0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 9D71E4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 9D71E8 802401C8 03E00008 */ jr $ra +/* 9D71EC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802401D0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802401D0_9D7020.s new file mode 100644 index 0000000000..913d6c2aad --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802401D0_9D7020.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_9D71F0 +/* 9D71F0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 9D71F4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9D71F8 802401D8 3C014334 */ lui $at, 0x4334 +/* 9D71FC 802401DC 44816000 */ mtc1 $at, $f12 +/* 9D7200 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D7204 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9D7208 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 9D720C 802401EC 00031080 */ sll $v0, $v1, 2 +/* 9D7210 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 9D7214 802401F4 00021080 */ sll $v0, $v0, 2 +/* 9D7218 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 9D721C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 9D7220 80240200 00431021 */ addu $v0, $v0, $v1 +/* 9D7224 80240204 000210C0 */ sll $v0, $v0, 3 +/* 9D7228 80240208 3C01800B */ lui $at, 0x800b +/* 9D722C 8024020C 00220821 */ addu $at, $at, $v0 +/* 9D7230 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 9D7234 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 9D7238 80240218 0C00A6C9 */ jal clamp_angle +/* 9D723C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 9D7240 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 9D7244 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 9D7248 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 9D724C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7250 80240230 24020002 */ addiu $v0, $zero, 2 +/* 9D7254 80240234 03E00008 */ jr $ra +/* 9D7258 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024023C_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024023C_9D7020.s new file mode 100644 index 0000000000..7b09b6f0dd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024023C_9D7020.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_9D725C +/* 9D725C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D7260 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 9D7264 80240244 0080802D */ daddu $s0, $a0, $zero +/* 9D7268 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 9D726C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9D7270 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 9D7274 80240254 0C0B210B */ jal get_float_variable +/* 9D7278 80240258 8C450000 */ lw $a1, ($v0) +/* 9D727C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9D7280 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 9D7284 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 9D7288 80240268 44060000 */ mfc1 $a2, $f0 +/* 9D728C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 9D7290 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 9D7294 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D7298 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9D729C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 9D72A0 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 9D72A4 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 9D72A8 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 9D72AC 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 9D72B0 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 9D72B4 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 9D72B8 80240298 0C0B2190 */ jal set_float_variable +/* 9D72BC 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9D72C0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 9D72C4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 9D72C8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 9D72CC 802402AC 0C0B2190 */ jal set_float_variable +/* 9D72D0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 9D72D4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 9D72D8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 9D72DC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 9D72E0 802402C0 0C0B2190 */ jal set_float_variable +/* 9D72E4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 9D72E8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D72EC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 9D72F0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9D72F4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 9D72F8 802402D8 03E00008 */ jr $ra +/* 9D72FC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802402E0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802402E0_9D7020.s new file mode 100644 index 0000000000..ed29f61581 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802402E0_9D7020.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_9D7300 +/* 9D7300 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D7304 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7308 802402E8 3C108024 */ lui $s0, 0x8024 +/* 9D730C 802402EC 261053D0 */ addiu $s0, $s0, 0x53d0 +/* 9D7310 802402F0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D7314 802402F4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D7318 802402F8 8E020000 */ lw $v0, ($s0) +/* 9D731C 802402FC 14400010 */ bnez $v0, .L80240340 +/* 9D7320 80240300 0080882D */ daddu $s1, $a0, $zero +/* 9D7324 80240304 0C00AB39 */ jal heap_malloc +/* 9D7328 80240308 24040040 */ addiu $a0, $zero, 0x40 +/* 9D732C 8024030C AE020000 */ sw $v0, ($s0) +/* 9D7330 80240310 0000182D */ daddu $v1, $zero, $zero +/* 9D7334 80240314 0040282D */ daddu $a1, $v0, $zero +/* 9D7338 80240318 0220202D */ daddu $a0, $s1, $zero +.L8024031C: +/* 9D733C 8024031C 8C820084 */ lw $v0, 0x84($a0) +/* 9D7340 80240320 24840004 */ addiu $a0, $a0, 4 +/* 9D7344 80240324 24630001 */ addiu $v1, $v1, 1 +/* 9D7348 80240328 ACA20000 */ sw $v0, ($a1) +/* 9D734C 8024032C 28620010 */ slti $v0, $v1, 0x10 +/* 9D7350 80240330 1440FFFA */ bnez $v0, .L8024031C +/* 9D7354 80240334 24A50004 */ addiu $a1, $a1, 4 +/* 9D7358 80240338 080900DF */ j .L8024037C +/* 9D735C 8024033C 00000000 */ nop +.L80240340: +/* 9D7360 80240340 0000182D */ daddu $v1, $zero, $zero +/* 9D7364 80240344 0040282D */ daddu $a1, $v0, $zero +/* 9D7368 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* 9D736C 8024034C 8CA20000 */ lw $v0, ($a1) +/* 9D7370 80240350 24A50004 */ addiu $a1, $a1, 4 +/* 9D7374 80240354 24630001 */ addiu $v1, $v1, 1 +/* 9D7378 80240358 AC820084 */ sw $v0, 0x84($a0) +/* 9D737C 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* 9D7380 80240360 1440FFFA */ bnez $v0, .L8024034C +/* 9D7384 80240364 24840004 */ addiu $a0, $a0, 4 +/* 9D7388 80240368 3C108024 */ lui $s0, 0x8024 +/* 9D738C 8024036C 261053D0 */ addiu $s0, $s0, 0x53d0 +/* 9D7390 80240370 0C00AB4B */ jal heap_free +/* 9D7394 80240374 8E040000 */ lw $a0, ($s0) +/* 9D7398 80240378 AE000000 */ sw $zero, ($s0) +.L8024037C: +/* 9D739C 8024037C 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D73A0 80240380 8FB10014 */ lw $s1, 0x14($sp) +/* 9D73A4 80240384 8FB00010 */ lw $s0, 0x10($sp) +/* 9D73A8 80240388 24020002 */ addiu $v0, $zero, 2 +/* 9D73AC 8024038C 03E00008 */ jr $ra +/* 9D73B0 80240390 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240394_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240394_9D7020.s new file mode 100644 index 0000000000..5855c8310c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240394_9D7020.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_9D73B4 +/* 9D73B4 80240394 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D73B8 80240398 AFB00010 */ sw $s0, 0x10($sp) +/* 9D73BC 8024039C 0080802D */ daddu $s0, $a0, $zero +/* 9D73C0 802403A0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D73C4 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D73C8 802403A8 8E02000C */ lw $v0, 0xc($s0) +/* 9D73CC 802403AC 8C510000 */ lw $s1, ($v0) +/* 9D73D0 802403B0 0C0B1EAF */ jal get_variable +/* 9D73D4 802403B4 0220282D */ daddu $a1, $s1, $zero +/* 9D73D8 802403B8 3C03FFF0 */ lui $v1, 0xfff0 +/* 9D73DC 802403BC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9D73E0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* 9D73E4 802403C4 00431024 */ and $v0, $v0, $v1 +/* 9D73E8 802403C8 00021140 */ sll $v0, $v0, 5 +/* 9D73EC 802403CC 3C068008 */ lui $a2, %hi(gItemTable) +/* 9D73F0 802403D0 00C23021 */ addu $a2, $a2, $v0 +/* 9D73F4 802403D4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9D73F8 802403D8 0C0B2026 */ jal set_variable +/* 9D73FC 802403DC 0220282D */ daddu $a1, $s1, $zero +/* 9D7400 802403E0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D7404 802403E4 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7408 802403E8 8FB00010 */ lw $s0, 0x10($sp) +/* 9D740C 802403EC 24020002 */ addiu $v0, $zero, 2 +/* 9D7410 802403F0 03E00008 */ jr $ra +/* 9D7414 802403F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802403F8.s b/asm/nonmatchings/world/area_nok/nok_02/func_802403F8.s new file mode 100644 index 0000000000..fb26d27c34 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802403F8.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F8 +/* 9D7418 802403F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D741C 802403FC AFB10014 */ sw $s1, 0x14($sp) +/* 9D7420 80240400 0080882D */ daddu $s1, $a0, $zero +/* 9D7424 80240404 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D7428 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 9D742C 8024040C 8E30000C */ lw $s0, 0xc($s1) +/* 9D7430 80240410 8E050000 */ lw $a1, ($s0) +/* 9D7434 80240414 0C0B1EAF */ jal get_variable +/* 9D7438 80240418 26100004 */ addiu $s0, $s0, 4 +/* 9D743C 8024041C 0C00EAD2 */ jal get_npc_safe +/* 9D7440 80240420 0040202D */ daddu $a0, $v0, $zero +/* 9D7444 80240424 10400005 */ beqz $v0, .L8024043C +/* 9D7448 80240428 00000000 */ nop +/* 9D744C 8024042C 8E050000 */ lw $a1, ($s0) +/* 9D7450 80240430 844600A8 */ lh $a2, 0xa8($v0) +/* 9D7454 80240434 0C0B2026 */ jal set_variable +/* 9D7458 80240438 0220202D */ daddu $a0, $s1, $zero +.L8024043C: +/* 9D745C 8024043C 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D7460 80240440 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7464 80240444 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7468 80240448 24020002 */ addiu $v0, $zero, 2 +/* 9D746C 8024044C 03E00008 */ jr $ra +/* 9D7470 80240450 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240454.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240454.s new file mode 100644 index 0000000000..8003f05e3f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240454.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240454 +/* 9D7474 80240454 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9D7478 80240458 AFB10014 */ sw $s1, 0x14($sp) +/* 9D747C 8024045C 0080882D */ daddu $s1, $a0, $zero +/* 9D7480 80240460 AFBF0024 */ sw $ra, 0x24($sp) +/* 9D7484 80240464 AFB40020 */ sw $s4, 0x20($sp) +/* 9D7488 80240468 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D748C 8024046C AFB20018 */ sw $s2, 0x18($sp) +/* 9D7490 80240470 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7494 80240474 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9D7498 80240478 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9D749C 8024047C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9D74A0 80240480 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9D74A4 80240484 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9D74A8 80240488 8E30000C */ lw $s0, 0xc($s1) +/* 9D74AC 8024048C 8E130000 */ lw $s3, ($s0) +/* 9D74B0 80240490 26100004 */ addiu $s0, $s0, 4 +/* 9D74B4 80240494 0C0B1EAF */ jal get_variable +/* 9D74B8 80240498 0260282D */ daddu $a1, $s3, $zero +/* 9D74BC 8024049C 4482E000 */ mtc1 $v0, $f28 +/* 9D74C0 802404A0 00000000 */ nop +/* 9D74C4 802404A4 4680E720 */ cvt.s.w $f28, $f28 +/* 9D74C8 802404A8 8E140000 */ lw $s4, ($s0) +/* 9D74CC 802404AC 26100004 */ addiu $s0, $s0, 4 +/* 9D74D0 802404B0 0220202D */ daddu $a0, $s1, $zero +/* 9D74D4 802404B4 0C0B1EAF */ jal get_variable +/* 9D74D8 802404B8 0280282D */ daddu $a1, $s4, $zero +/* 9D74DC 802404BC 4482D000 */ mtc1 $v0, $f26 +/* 9D74E0 802404C0 00000000 */ nop +/* 9D74E4 802404C4 4680D6A0 */ cvt.s.w $f26, $f26 +/* 9D74E8 802404C8 8E100000 */ lw $s0, ($s0) +/* 9D74EC 802404CC 0220202D */ daddu $a0, $s1, $zero +/* 9D74F0 802404D0 0C0B1EAF */ jal get_variable +/* 9D74F4 802404D4 0200282D */ daddu $a1, $s0, $zero +/* 9D74F8 802404D8 4482C000 */ mtc1 $v0, $f24 +/* 9D74FC 802404DC 00000000 */ nop +/* 9D7500 802404E0 4680C620 */ cvt.s.w $f24, $f24 +/* 9D7504 802404E4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 9D7508 802404E8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 9D750C 802404EC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 9D7510 802404F0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9D7514 802404F4 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 9D7518 802404F8 44800000 */ mtc1 $zero, $f0 +/* 9D751C 802404FC 00031080 */ sll $v0, $v1, 2 +/* 9D7520 80240500 00431021 */ addu $v0, $v0, $v1 +/* 9D7524 80240504 00021080 */ sll $v0, $v0, 2 +/* 9D7528 80240508 00431023 */ subu $v0, $v0, $v1 +/* 9D752C 8024050C 000218C0 */ sll $v1, $v0, 3 +/* 9D7530 80240510 00431021 */ addu $v0, $v0, $v1 +/* 9D7534 80240514 000210C0 */ sll $v0, $v0, 3 +/* 9D7538 80240518 46001032 */ c.eq.s $f2, $f0 +/* 9D753C 8024051C 3C01800B */ lui $at, 0x800b +/* 9D7540 80240520 00220821 */ addu $at, $at, $v0 +/* 9D7544 80240524 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 9D7548 80240528 45000005 */ bc1f .L80240540 +/* 9D754C 8024052C 00000000 */ nop +/* 9D7550 80240530 3C0142C8 */ lui $at, 0x42c8 +/* 9D7554 80240534 44810000 */ mtc1 $at, $f0 +/* 9D7558 80240538 08090154 */ j .L80240550 +/* 9D755C 8024053C 4600B581 */ sub.s $f22, $f22, $f0 +.L80240540: +/* 9D7560 80240540 3C0142C8 */ lui $at, 0x42c8 +/* 9D7564 80240544 44810000 */ mtc1 $at, $f0 +/* 9D7568 80240548 00000000 */ nop +/* 9D756C 8024054C 4600B580 */ add.s $f22, $f22, $f0 +.L80240550: +/* 9D7570 80240550 0C00A6C9 */ jal clamp_angle +/* 9D7574 80240554 4600B306 */ mov.s $f12, $f22 +/* 9D7578 80240558 46000586 */ mov.s $f22, $f0 +/* 9D757C 8024055C 3C014170 */ lui $at, 0x4170 +/* 9D7580 80240560 4481A000 */ mtc1 $at, $f20 +/* 9D7584 80240564 0C00A8BB */ jal sin_deg +/* 9D7588 80240568 4600B306 */ mov.s $f12, $f22 +/* 9D758C 8024056C 46140002 */ mul.s $f0, $f0, $f20 +/* 9D7590 80240570 00000000 */ nop +/* 9D7594 80240574 864200B0 */ lh $v0, 0xb0($s2) +/* 9D7598 80240578 3C013F00 */ lui $at, 0x3f00 +/* 9D759C 8024057C 44812000 */ mtc1 $at, $f4 +/* 9D75A0 80240580 44821000 */ mtc1 $v0, $f2 +/* 9D75A4 80240584 00000000 */ nop +/* 9D75A8 80240588 468010A0 */ cvt.s.w $f2, $f2 +/* 9D75AC 8024058C 46041082 */ mul.s $f2, $f2, $f4 +/* 9D75B0 80240590 00000000 */ nop +/* 9D75B4 80240594 4600E700 */ add.s $f28, $f28, $f0 +/* 9D75B8 80240598 4602D680 */ add.s $f26, $f26, $f2 +/* 9D75BC 8024059C 0C00A8D4 */ jal cos_deg +/* 9D75C0 802405A0 4600B306 */ mov.s $f12, $f22 +/* 9D75C4 802405A4 46140002 */ mul.s $f0, $f0, $f20 +/* 9D75C8 802405A8 00000000 */ nop +/* 9D75CC 802405AC 0220202D */ daddu $a0, $s1, $zero +/* 9D75D0 802405B0 0260282D */ daddu $a1, $s3, $zero +/* 9D75D4 802405B4 4600E18D */ trunc.w.s $f6, $f28 +/* 9D75D8 802405B8 44063000 */ mfc1 $a2, $f6 +/* 9D75DC 802405BC 0C0B2026 */ jal set_variable +/* 9D75E0 802405C0 4600C601 */ sub.s $f24, $f24, $f0 +/* 9D75E4 802405C4 0220202D */ daddu $a0, $s1, $zero +/* 9D75E8 802405C8 4600D18D */ trunc.w.s $f6, $f26 +/* 9D75EC 802405CC 44063000 */ mfc1 $a2, $f6 +/* 9D75F0 802405D0 0C0B2026 */ jal set_variable +/* 9D75F4 802405D4 0280282D */ daddu $a1, $s4, $zero +/* 9D75F8 802405D8 0220202D */ daddu $a0, $s1, $zero +/* 9D75FC 802405DC 4600C18D */ trunc.w.s $f6, $f24 +/* 9D7600 802405E0 44063000 */ mfc1 $a2, $f6 +/* 9D7604 802405E4 0C0B2026 */ jal set_variable +/* 9D7608 802405E8 0200282D */ daddu $a1, $s0, $zero +/* 9D760C 802405EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 9D7610 802405F0 8FB40020 */ lw $s4, 0x20($sp) +/* 9D7614 802405F4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D7618 802405F8 8FB20018 */ lw $s2, 0x18($sp) +/* 9D761C 802405FC 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7620 80240600 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7624 80240604 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9D7628 80240608 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9D762C 8024060C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9D7630 80240610 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9D7634 80240614 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9D7638 80240618 24020002 */ addiu $v0, $zero, 2 +/* 9D763C 8024061C 03E00008 */ jr $ra +/* 9D7640 80240620 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240624_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240624_9D7020.s new file mode 100644 index 0000000000..dc7a8ad753 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240624_9D7020.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_9D7644 +/* 9D7644 80240624 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D7648 80240628 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D764C 8024062C 10A00003 */ beqz $a1, .L8024063C +/* 9D7650 80240630 8C86000C */ lw $a2, 0xc($a0) +/* 9D7654 80240634 3C018024 */ lui $at, 0x8024 +/* 9D7658 80240638 AC205434 */ sw $zero, 0x5434($at) +.L8024063C: +/* 9D765C 8024063C 3C038024 */ lui $v1, 0x8024 +/* 9D7660 80240640 24635434 */ addiu $v1, $v1, 0x5434 +/* 9D7664 80240644 8C620000 */ lw $v0, ($v1) +/* 9D7668 80240648 54400003 */ bnel $v0, $zero, .L80240658 +/* 9D766C 8024064C AC600000 */ sw $zero, ($v1) +/* 9D7670 80240650 0809019B */ j .L8024066C +/* 9D7674 80240654 0000102D */ daddu $v0, $zero, $zero +.L80240658: +/* 9D7678 80240658 8CC50000 */ lw $a1, ($a2) +/* 9D767C 8024065C 3C068024 */ lui $a2, 0x8024 +/* 9D7680 80240660 0C0B2026 */ jal set_variable +/* 9D7684 80240664 8CC65438 */ lw $a2, 0x5438($a2) +/* 9D7688 80240668 24020002 */ addiu $v0, $zero, 2 +.L8024066C: +/* 9D768C 8024066C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D7690 80240670 03E00008 */ jr $ra +/* 9D7694 80240674 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240678.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240678.s new file mode 100644 index 0000000000..bf1e6251bf --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240678.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240678 +/* 9D7698 80240678 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D769C 8024067C AFBF0010 */ sw $ra, 0x10($sp) +/* 9D76A0 80240680 8C82000C */ lw $v0, 0xc($a0) +/* 9D76A4 80240684 0C0B1EAF */ jal get_variable +/* 9D76A8 80240688 8C450000 */ lw $a1, ($v0) +/* 9D76AC 8024068C 3C018024 */ lui $at, 0x8024 +/* 9D76B0 80240690 AC225438 */ sw $v0, 0x5438($at) +/* 9D76B4 80240694 24020002 */ addiu $v0, $zero, 2 +/* 9D76B8 80240698 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D76BC 8024069C 24030001 */ addiu $v1, $zero, 1 +/* 9D76C0 802406A0 3C018024 */ lui $at, 0x8024 +/* 9D76C4 802406A4 AC235434 */ sw $v1, 0x5434($at) +/* 9D76C8 802406A8 03E00008 */ jr $ra +/* 9D76CC 802406AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802406B0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802406B0_9D7020.s new file mode 100644 index 0000000000..a61560de4f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802406B0_9D7020.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406B0_9D76D0 +/* 9D76D0 802406B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D76D4 802406B4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D76D8 802406B8 8C82000C */ lw $v0, 0xc($a0) +/* 9D76DC 802406BC 0C0B1EAF */ jal get_variable +/* 9D76E0 802406C0 8C450000 */ lw $a1, ($v0) +/* 9D76E4 802406C4 0040182D */ daddu $v1, $v0, $zero +/* 9D76E8 802406C8 10600012 */ beqz $v1, .L80240714 +/* 9D76EC 802406CC 0000202D */ daddu $a0, $zero, $zero +/* 9D76F0 802406D0 8C620000 */ lw $v0, ($v1) +/* 9D76F4 802406D4 5040000A */ beql $v0, $zero, .L80240700 +/* 9D76F8 802406D8 00041080 */ sll $v0, $a0, 2 +/* 9D76FC 802406DC 3C058025 */ lui $a1, 0x8025 +/* 9D7700 802406E0 24A547D0 */ addiu $a1, $a1, 0x47d0 +.L802406E4: +/* 9D7704 802406E4 24630004 */ addiu $v1, $v1, 4 +/* 9D7708 802406E8 24840001 */ addiu $a0, $a0, 1 +/* 9D770C 802406EC ACA20000 */ sw $v0, ($a1) +/* 9D7710 802406F0 8C620000 */ lw $v0, ($v1) +/* 9D7714 802406F4 1440FFFB */ bnez $v0, .L802406E4 +/* 9D7718 802406F8 24A50004 */ addiu $a1, $a1, 4 +/* 9D771C 802406FC 00041080 */ sll $v0, $a0, 2 +.L80240700: +/* 9D7720 80240700 3C018025 */ lui $at, 0x8025 +/* 9D7724 80240704 00220821 */ addu $at, $at, $v0 +/* 9D7728 80240708 AC2047D0 */ sw $zero, 0x47d0($at) +/* 9D772C 8024070C 080901CF */ j .L8024073C +/* 9D7730 80240710 00000000 */ nop +.L80240714: +/* 9D7734 80240714 3C038025 */ lui $v1, 0x8025 +/* 9D7738 80240718 246347D0 */ addiu $v1, $v1, 0x47d0 +/* 9D773C 8024071C 0060282D */ daddu $a1, $v1, $zero +.L80240720: +/* 9D7740 80240720 24820010 */ addiu $v0, $a0, 0x10 +/* 9D7744 80240724 AC620000 */ sw $v0, ($v1) +/* 9D7748 80240728 24630004 */ addiu $v1, $v1, 4 +/* 9D774C 8024072C 24840001 */ addiu $a0, $a0, 1 +/* 9D7750 80240730 28820070 */ slti $v0, $a0, 0x70 +/* 9D7754 80240734 1440FFFA */ bnez $v0, .L80240720 +/* 9D7758 80240738 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024073C: +/* 9D775C 8024073C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D7760 80240740 24020002 */ addiu $v0, $zero, 2 +/* 9D7764 80240744 03E00008 */ jr $ra +/* 9D7768 80240748 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9D776C 8024074C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240750.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240750.s new file mode 100644 index 0000000000..90fc4919f2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240750.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240750 +/* 9D7770 80240750 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D7774 80240754 AFB20018 */ sw $s2, 0x18($sp) +/* 9D7778 80240758 0080902D */ daddu $s2, $a0, $zero +/* 9D777C 8024075C AFBF001C */ sw $ra, 0x1c($sp) +/* 9D7780 80240760 AFB10014 */ sw $s1, 0x14($sp) +/* 9D7784 80240764 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7788 80240768 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9D778C 8024076C 10A00044 */ beqz $a1, .L80240880 +/* 9D7790 80240770 8E50000C */ lw $s0, 0xc($s2) +/* 9D7794 80240774 0C00AB39 */ jal heap_malloc +/* 9D7798 80240778 24040024 */ addiu $a0, $zero, 0x24 +/* 9D779C 8024077C 0040882D */ daddu $s1, $v0, $zero +/* 9D77A0 80240780 AE510070 */ sw $s1, 0x70($s2) +/* 9D77A4 80240784 8E050000 */ lw $a1, ($s0) +/* 9D77A8 80240788 26100004 */ addiu $s0, $s0, 4 +/* 9D77AC 8024078C 0C0B1EAF */ jal get_variable +/* 9D77B0 80240790 0240202D */ daddu $a0, $s2, $zero +/* 9D77B4 80240794 AE220020 */ sw $v0, 0x20($s1) +/* 9D77B8 80240798 8E050000 */ lw $a1, ($s0) +/* 9D77BC 8024079C 26100004 */ addiu $s0, $s0, 4 +/* 9D77C0 802407A0 0C0B210B */ jal get_float_variable +/* 9D77C4 802407A4 0240202D */ daddu $a0, $s2, $zero +/* 9D77C8 802407A8 E6200000 */ swc1 $f0, ($s1) +/* 9D77CC 802407AC 8E050000 */ lw $a1, ($s0) +/* 9D77D0 802407B0 26100004 */ addiu $s0, $s0, 4 +/* 9D77D4 802407B4 0C0B210B */ jal get_float_variable +/* 9D77D8 802407B8 0240202D */ daddu $a0, $s2, $zero +/* 9D77DC 802407BC E6200004 */ swc1 $f0, 4($s1) +/* 9D77E0 802407C0 8E050000 */ lw $a1, ($s0) +/* 9D77E4 802407C4 26100004 */ addiu $s0, $s0, 4 +/* 9D77E8 802407C8 0C0B210B */ jal get_float_variable +/* 9D77EC 802407CC 0240202D */ daddu $a0, $s2, $zero +/* 9D77F0 802407D0 E6200008 */ swc1 $f0, 8($s1) +/* 9D77F4 802407D4 8E050000 */ lw $a1, ($s0) +/* 9D77F8 802407D8 26100004 */ addiu $s0, $s0, 4 +/* 9D77FC 802407DC 0C0B1EAF */ jal get_variable +/* 9D7800 802407E0 0240202D */ daddu $a0, $s2, $zero +/* 9D7804 802407E4 AE22001C */ sw $v0, 0x1c($s1) +/* 9D7808 802407E8 8E050000 */ lw $a1, ($s0) +/* 9D780C 802407EC 0C0B210B */ jal get_float_variable +/* 9D7810 802407F0 0240202D */ daddu $a0, $s2, $zero +/* 9D7814 802407F4 8E240020 */ lw $a0, 0x20($s1) +/* 9D7818 802407F8 0C04C3D6 */ jal get_item_entity +/* 9D781C 802407FC E6200010 */ swc1 $f0, 0x10($s1) +/* 9D7820 80240800 0040802D */ daddu $s0, $v0, $zero +/* 9D7824 80240804 C60C0008 */ lwc1 $f12, 8($s0) +/* 9D7828 80240808 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 9D782C 8024080C 8E260000 */ lw $a2, ($s1) +/* 9D7830 80240810 0C00A7B5 */ jal dist2D +/* 9D7834 80240814 8E270008 */ lw $a3, 8($s1) +/* 9D7838 80240818 C60C0008 */ lwc1 $f12, 8($s0) +/* 9D783C 8024081C C60E0010 */ lwc1 $f14, 0x10($s0) +/* 9D7840 80240820 8E260000 */ lw $a2, ($s1) +/* 9D7844 80240824 8E270008 */ lw $a3, 8($s1) +/* 9D7848 80240828 0C00A720 */ jal atan2 +/* 9D784C 8024082C 46000506 */ mov.s $f20, $f0 +/* 9D7850 80240830 C6240010 */ lwc1 $f4, 0x10($s1) +/* 9D7854 80240834 C626001C */ lwc1 $f6, 0x1c($s1) +/* 9D7858 80240838 468031A0 */ cvt.s.w $f6, $f6 +/* 9D785C 8024083C 46062102 */ mul.s $f4, $f4, $f6 +/* 9D7860 80240840 00000000 */ nop +/* 9D7864 80240844 3C013F00 */ lui $at, 0x3f00 +/* 9D7868 80240848 44811000 */ mtc1 $at, $f2 +/* 9D786C 8024084C 00000000 */ nop +/* 9D7870 80240850 46022102 */ mul.s $f4, $f4, $f2 +/* 9D7874 80240854 00000000 */ nop +/* 9D7878 80240858 E620000C */ swc1 $f0, 0xc($s1) +/* 9D787C 8024085C C6200004 */ lwc1 $f0, 4($s1) +/* 9D7880 80240860 C602000C */ lwc1 $f2, 0xc($s0) +/* 9D7884 80240864 46020001 */ sub.s $f0, $f0, $f2 +/* 9D7888 80240868 46003086 */ mov.s $f2, $f6 +/* 9D788C 8024086C 46060003 */ div.s $f0, $f0, $f6 +/* 9D7890 80240870 46002100 */ add.s $f4, $f4, $f0 +/* 9D7894 80240874 4602A503 */ div.s $f20, $f20, $f2 +/* 9D7898 80240878 E6340014 */ swc1 $f20, 0x14($s1) +/* 9D789C 8024087C E6240018 */ swc1 $f4, 0x18($s1) +.L80240880: +/* 9D78A0 80240880 8E510070 */ lw $s1, 0x70($s2) +/* 9D78A4 80240884 0C04C3D6 */ jal get_item_entity +/* 9D78A8 80240888 8E240020 */ lw $a0, 0x20($s1) +/* 9D78AC 8024088C 0040802D */ daddu $s0, $v0, $zero +/* 9D78B0 80240890 16000005 */ bnez $s0, .L802408A8 +/* 9D78B4 80240894 00000000 */ nop +/* 9D78B8 80240898 0C00AB4B */ jal heap_free +/* 9D78BC 8024089C 8E440070 */ lw $a0, 0x70($s2) +/* 9D78C0 802408A0 08090253 */ j .L8024094C +/* 9D78C4 802408A4 24020002 */ addiu $v0, $zero, 2 +.L802408A8: +/* 9D78C8 802408A8 C62C000C */ lwc1 $f12, 0xc($s1) +/* 9D78CC 802408AC 0C00A8BB */ jal sin_deg +/* 9D78D0 802408B0 00000000 */ nop +/* 9D78D4 802408B4 C6220014 */ lwc1 $f2, 0x14($s1) +/* 9D78D8 802408B8 46001082 */ mul.s $f2, $f2, $f0 +/* 9D78DC 802408BC 00000000 */ nop +/* 9D78E0 802408C0 C6000008 */ lwc1 $f0, 8($s0) +/* 9D78E4 802408C4 46020000 */ add.s $f0, $f0, $f2 +/* 9D78E8 802408C8 E6000008 */ swc1 $f0, 8($s0) +/* 9D78EC 802408CC 0C00A8D4 */ jal cos_deg +/* 9D78F0 802408D0 C62C000C */ lwc1 $f12, 0xc($s1) +/* 9D78F4 802408D4 C6220014 */ lwc1 $f2, 0x14($s1) +/* 9D78F8 802408D8 46001082 */ mul.s $f2, $f2, $f0 +/* 9D78FC 802408DC 00000000 */ nop +/* 9D7900 802408E0 C6000010 */ lwc1 $f0, 0x10($s0) +/* 9D7904 802408E4 46020001 */ sub.s $f0, $f0, $f2 +/* 9D7908 802408E8 E6000010 */ swc1 $f0, 0x10($s0) +/* 9D790C 802408EC C600000C */ lwc1 $f0, 0xc($s0) +/* 9D7910 802408F0 C6220018 */ lwc1 $f2, 0x18($s1) +/* 9D7914 802408F4 46020000 */ add.s $f0, $f0, $f2 +/* 9D7918 802408F8 E600000C */ swc1 $f0, 0xc($s0) +/* 9D791C 802408FC C6200018 */ lwc1 $f0, 0x18($s1) +/* 9D7920 80240900 C6220010 */ lwc1 $f2, 0x10($s1) +/* 9D7924 80240904 8E22001C */ lw $v0, 0x1c($s1) +/* 9D7928 80240908 46020001 */ sub.s $f0, $f0, $f2 +/* 9D792C 8024090C 2442FFFF */ addiu $v0, $v0, -1 +/* 9D7930 80240910 AE22001C */ sw $v0, 0x1c($s1) +/* 9D7934 80240914 04400003 */ bltz $v0, .L80240924 +/* 9D7938 80240918 E6200018 */ swc1 $f0, 0x18($s1) +/* 9D793C 8024091C 08090253 */ j .L8024094C +/* 9D7940 80240920 0000102D */ daddu $v0, $zero, $zero +.L80240924: +/* 9D7944 80240924 C6200000 */ lwc1 $f0, ($s1) +/* 9D7948 80240928 E6000008 */ swc1 $f0, 8($s0) +/* 9D794C 8024092C C6200004 */ lwc1 $f0, 4($s1) +/* 9D7950 80240930 E600000C */ swc1 $f0, 0xc($s0) +/* 9D7954 80240934 C6200008 */ lwc1 $f0, 8($s1) +/* 9D7958 80240938 E6000010 */ swc1 $f0, 0x10($s0) +/* 9D795C 8024093C AE200018 */ sw $zero, 0x18($s1) +/* 9D7960 80240940 0C00AB4B */ jal heap_free +/* 9D7964 80240944 8E440070 */ lw $a0, 0x70($s2) +/* 9D7968 80240948 24020001 */ addiu $v0, $zero, 1 +.L8024094C: +/* 9D796C 8024094C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D7970 80240950 8FB20018 */ lw $s2, 0x18($sp) +/* 9D7974 80240954 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7978 80240958 8FB00010 */ lw $s0, 0x10($sp) +/* 9D797C 8024095C D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9D7980 80240960 03E00008 */ jr $ra +/* 9D7984 80240964 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9D7988 80240968 00000000 */ nop +/* 9D798C 8024096C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240970_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240970_9D7020.s new file mode 100644 index 0000000000..f8d1934df7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240970_9D7020.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240970_9D7990 +/* 9D7990 80240970 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9D7994 80240974 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D7998 80240978 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 9D799C 8024097C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9D79A0 80240980 0C00A67F */ jal rand_int +/* 9D79A4 80240984 240400C8 */ addiu $a0, $zero, 0xc8 +/* 9D79A8 80240988 2442FF9C */ addiu $v0, $v0, -0x64 +/* 9D79AC 8024098C 4482A000 */ mtc1 $v0, $f20 +/* 9D79B0 80240990 00000000 */ nop +/* 9D79B4 80240994 4680A520 */ cvt.s.w $f20, $f20 +/* 9D79B8 80240998 0C00A67F */ jal rand_int +/* 9D79BC 8024099C 24040096 */ addiu $a0, $zero, 0x96 +/* 9D79C0 802409A0 44820000 */ mtc1 $v0, $f0 +/* 9D79C4 802409A4 00000000 */ nop +/* 9D79C8 802409A8 46800020 */ cvt.s.w $f0, $f0 +/* 9D79CC 802409AC 3C01C334 */ lui $at, 0xc334 +/* 9D79D0 802409B0 4481B000 */ mtc1 $at, $f22 +/* 9D79D4 802409B4 4405A000 */ mfc1 $a1, $f20 +/* 9D79D8 802409B8 44060000 */ mfc1 $a2, $f0 +/* 9D79DC 802409BC 4407B000 */ mfc1 $a3, $f22 +/* 9D79E0 802409C0 24040002 */ addiu $a0, $zero, 2 +/* 9D79E4 802409C4 AFA00010 */ sw $zero, 0x10($sp) +/* 9D79E8 802409C8 0C01BECC */ jal fx_walk_normal +/* 9D79EC 802409CC AFA00014 */ sw $zero, 0x14($sp) +/* 9D79F0 802409D0 0C00A67F */ jal rand_int +/* 9D79F4 802409D4 240400C8 */ addiu $a0, $zero, 0xc8 +/* 9D79F8 802409D8 2442FF9C */ addiu $v0, $v0, -0x64 +/* 9D79FC 802409DC 4482A000 */ mtc1 $v0, $f20 +/* 9D7A00 802409E0 00000000 */ nop +/* 9D7A04 802409E4 4680A520 */ cvt.s.w $f20, $f20 +/* 9D7A08 802409E8 0C00A67F */ jal rand_int +/* 9D7A0C 802409EC 24040096 */ addiu $a0, $zero, 0x96 +/* 9D7A10 802409F0 44820000 */ mtc1 $v0, $f0 +/* 9D7A14 802409F4 00000000 */ nop +/* 9D7A18 802409F8 46800020 */ cvt.s.w $f0, $f0 +/* 9D7A1C 802409FC 4405A000 */ mfc1 $a1, $f20 +/* 9D7A20 80240A00 4407B000 */ mfc1 $a3, $f22 +/* 9D7A24 80240A04 44060000 */ mfc1 $a2, $f0 +/* 9D7A28 80240A08 24040002 */ addiu $a0, $zero, 2 +/* 9D7A2C 80240A0C AFA00010 */ sw $zero, 0x10($sp) +/* 9D7A30 80240A10 0C01BECC */ jal fx_walk_normal +/* 9D7A34 80240A14 AFA00014 */ sw $zero, 0x14($sp) +/* 9D7A38 80240A18 0C00A67F */ jal rand_int +/* 9D7A3C 80240A1C 240400C8 */ addiu $a0, $zero, 0xc8 +/* 9D7A40 80240A20 2442FF9C */ addiu $v0, $v0, -0x64 +/* 9D7A44 80240A24 4482A000 */ mtc1 $v0, $f20 +/* 9D7A48 80240A28 00000000 */ nop +/* 9D7A4C 80240A2C 4680A520 */ cvt.s.w $f20, $f20 +/* 9D7A50 80240A30 0C00A67F */ jal rand_int +/* 9D7A54 80240A34 24040096 */ addiu $a0, $zero, 0x96 +/* 9D7A58 80240A38 44820000 */ mtc1 $v0, $f0 +/* 9D7A5C 80240A3C 00000000 */ nop +/* 9D7A60 80240A40 46800020 */ cvt.s.w $f0, $f0 +/* 9D7A64 80240A44 4405A000 */ mfc1 $a1, $f20 +/* 9D7A68 80240A48 4407B000 */ mfc1 $a3, $f22 +/* 9D7A6C 80240A4C 44060000 */ mfc1 $a2, $f0 +/* 9D7A70 80240A50 24040002 */ addiu $a0, $zero, 2 +/* 9D7A74 80240A54 AFA00010 */ sw $zero, 0x10($sp) +/* 9D7A78 80240A58 0C01BECC */ jal fx_walk_normal +/* 9D7A7C 80240A5C AFA00014 */ sw $zero, 0x14($sp) +/* 9D7A80 80240A60 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D7A84 80240A64 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 9D7A88 80240A68 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9D7A8C 80240A6C 24020002 */ addiu $v0, $zero, 2 +/* 9D7A90 80240A70 03E00008 */ jr $ra +/* 9D7A94 80240A74 27BD0030 */ addiu $sp, $sp, 0x30 +/* 9D7A98 80240A78 00000000 */ nop +/* 9D7A9C 80240A7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240A80.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240A80.s new file mode 100644 index 0000000000..c3f8fa8627 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240A80.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A80 +/* 9D7AA0 80240A80 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D7AA4 80240A84 AFB50024 */ sw $s5, 0x24($sp) +/* 9D7AA8 80240A88 0080A82D */ daddu $s5, $a0, $zero +/* 9D7AAC 80240A8C AFBF002C */ sw $ra, 0x2c($sp) +/* 9D7AB0 80240A90 AFB60028 */ sw $s6, 0x28($sp) +/* 9D7AB4 80240A94 AFB40020 */ sw $s4, 0x20($sp) +/* 9D7AB8 80240A98 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D7ABC 80240A9C AFB20018 */ sw $s2, 0x18($sp) +/* 9D7AC0 80240AA0 AFB10014 */ sw $s1, 0x14($sp) +/* 9D7AC4 80240AA4 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7AC8 80240AA8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9D7ACC 80240AAC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9D7AD0 80240AB0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9D7AD4 80240AB4 8EB30148 */ lw $s3, 0x148($s5) +/* 9D7AD8 80240AB8 86640008 */ lh $a0, 8($s3) +/* 9D7ADC 80240ABC 0C00EABB */ jal get_npc_unsafe +/* 9D7AE0 80240AC0 00A0B02D */ daddu $s6, $a1, $zero +/* 9D7AE4 80240AC4 0040A02D */ daddu $s4, $v0, $zero +/* 9D7AE8 80240AC8 AEA00074 */ sw $zero, 0x74($s5) +/* 9D7AEC 80240ACC C6980038 */ lwc1 $f24, 0x38($s4) +/* 9D7AF0 80240AD0 C6960040 */ lwc1 $f22, 0x40($s4) +/* 9D7AF4 80240AD4 0000902D */ daddu $s2, $zero, $zero +/* 9D7AF8 80240AD8 AEA00078 */ sw $zero, 0x78($s5) +/* 9D7AFC 80240ADC 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9D7B00 80240AE0 8C620000 */ lw $v0, ($v1) +/* 9D7B04 80240AE4 3C0146FF */ lui $at, 0x46ff +/* 9D7B08 80240AE8 3421FE00 */ ori $at, $at, 0xfe00 +/* 9D7B0C 80240AEC 4481A000 */ mtc1 $at, $f20 +/* 9D7B10 80240AF0 18400018 */ blez $v0, .L80240B54 +/* 9D7B14 80240AF4 0240802D */ daddu $s0, $s2, $zero +/* 9D7B18 80240AF8 0240882D */ daddu $s1, $s2, $zero +.L80240AFC: +/* 9D7B1C 80240AFC 02231021 */ addu $v0, $s1, $v1 +/* 9D7B20 80240B00 4600C306 */ mov.s $f12, $f24 +/* 9D7B24 80240B04 C4440004 */ lwc1 $f4, 4($v0) +/* 9D7B28 80240B08 46802120 */ cvt.s.w $f4, $f4 +/* 9D7B2C 80240B0C 44062000 */ mfc1 $a2, $f4 +/* 9D7B30 80240B10 C444000C */ lwc1 $f4, 0xc($v0) +/* 9D7B34 80240B14 46802120 */ cvt.s.w $f4, $f4 +/* 9D7B38 80240B18 44072000 */ mfc1 $a3, $f4 +/* 9D7B3C 80240B1C 0C00A7B5 */ jal dist2D +/* 9D7B40 80240B20 4600B386 */ mov.s $f14, $f22 +/* 9D7B44 80240B24 4614003C */ c.lt.s $f0, $f20 +/* 9D7B48 80240B28 00000000 */ nop +/* 9D7B4C 80240B2C 45000003 */ bc1f .L80240B3C +/* 9D7B50 80240B30 2631000C */ addiu $s1, $s1, 0xc +/* 9D7B54 80240B34 46000506 */ mov.s $f20, $f0 +/* 9D7B58 80240B38 AEB20078 */ sw $s2, 0x78($s5) +.L80240B3C: +/* 9D7B5C 80240B3C 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9D7B60 80240B40 26100001 */ addiu $s0, $s0, 1 +/* 9D7B64 80240B44 8C620000 */ lw $v0, ($v1) +/* 9D7B68 80240B48 0202102A */ slt $v0, $s0, $v0 +/* 9D7B6C 80240B4C 1440FFEB */ bnez $v0, .L80240AFC +/* 9D7B70 80240B50 26520001 */ addiu $s2, $s2, 1 +.L80240B54: +/* 9D7B74 80240B54 8E6200CC */ lw $v0, 0xcc($s3) +/* 9D7B78 80240B58 8C420004 */ lw $v0, 4($v0) +/* 9D7B7C 80240B5C AE820028 */ sw $v0, 0x28($s4) +/* 9D7B80 80240B60 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9D7B84 80240B64 8C42007C */ lw $v0, 0x7c($v0) +/* 9D7B88 80240B68 04410004 */ bgez $v0, .L80240B7C +/* 9D7B8C 80240B6C 00000000 */ nop +/* 9D7B90 80240B70 C6C00000 */ lwc1 $f0, ($s6) +/* 9D7B94 80240B74 080902E7 */ j .L80240B9C +/* 9D7B98 80240B78 E6800018 */ swc1 $f0, 0x18($s4) +.L80240B7C: +/* 9D7B9C 80240B7C 3C018025 */ lui $at, 0x8025 +/* 9D7BA0 80240B80 D4224620 */ ldc1 $f2, 0x4620($at) +/* 9D7BA4 80240B84 44820000 */ mtc1 $v0, $f0 +/* 9D7BA8 80240B88 00000000 */ nop +/* 9D7BAC 80240B8C 46800021 */ cvt.d.w $f0, $f0 +/* 9D7BB0 80240B90 46220003 */ div.d $f0, $f0, $f2 +/* 9D7BB4 80240B94 46200020 */ cvt.s.d $f0, $f0 +/* 9D7BB8 80240B98 E6800018 */ swc1 $f0, 0x18($s4) +.L80240B9C: +/* 9D7BBC 80240B9C 24020001 */ addiu $v0, $zero, 1 +/* 9D7BC0 80240BA0 AEA20070 */ sw $v0, 0x70($s5) +/* 9D7BC4 80240BA4 8FBF002C */ lw $ra, 0x2c($sp) +/* 9D7BC8 80240BA8 8FB60028 */ lw $s6, 0x28($sp) +/* 9D7BCC 80240BAC 8FB50024 */ lw $s5, 0x24($sp) +/* 9D7BD0 80240BB0 8FB40020 */ lw $s4, 0x20($sp) +/* 9D7BD4 80240BB4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D7BD8 80240BB8 8FB20018 */ lw $s2, 0x18($sp) +/* 9D7BDC 80240BBC 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7BE0 80240BC0 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7BE4 80240BC4 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9D7BE8 80240BC8 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9D7BEC 80240BCC D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9D7BF0 80240BD0 03E00008 */ jr $ra +/* 9D7BF4 80240BD4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240BD8_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240BD8_9D7020.s new file mode 100644 index 0000000000..00cb0b3d51 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240BD8_9D7020.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD8_9D7BF8 +/* 9D7BF8 80240BD8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9D7BFC 80240BDC AFB20038 */ sw $s2, 0x38($sp) +/* 9D7C00 80240BE0 0080902D */ daddu $s2, $a0, $zero +/* 9D7C04 80240BE4 AFBF0044 */ sw $ra, 0x44($sp) +/* 9D7C08 80240BE8 AFB40040 */ sw $s4, 0x40($sp) +/* 9D7C0C 80240BEC AFB3003C */ sw $s3, 0x3c($sp) +/* 9D7C10 80240BF0 AFB10034 */ sw $s1, 0x34($sp) +/* 9D7C14 80240BF4 AFB00030 */ sw $s0, 0x30($sp) +/* 9D7C18 80240BF8 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9D7C1C 80240BFC F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9D7C20 80240C00 8E510148 */ lw $s1, 0x148($s2) +/* 9D7C24 80240C04 00A0982D */ daddu $s3, $a1, $zero +/* 9D7C28 80240C08 86240008 */ lh $a0, 8($s1) +/* 9D7C2C 80240C0C 0C00EABB */ jal get_npc_unsafe +/* 9D7C30 80240C10 00C0A02D */ daddu $s4, $a2, $zero +/* 9D7C34 80240C14 8E630014 */ lw $v1, 0x14($s3) +/* 9D7C38 80240C18 04600030 */ bltz $v1, .L80240CDC +/* 9D7C3C 80240C1C 0040802D */ daddu $s0, $v0, $zero +/* 9D7C40 80240C20 8E420074 */ lw $v0, 0x74($s2) +/* 9D7C44 80240C24 1C40002C */ bgtz $v0, .L80240CD8 +/* 9D7C48 80240C28 2442FFFF */ addiu $v0, $v0, -1 +/* 9D7C4C 80240C2C 0280202D */ daddu $a0, $s4, $zero +/* 9D7C50 80240C30 AE430074 */ sw $v1, 0x74($s2) +/* 9D7C54 80240C34 AFA00010 */ sw $zero, 0x10($sp) +/* 9D7C58 80240C38 8E66000C */ lw $a2, 0xc($s3) +/* 9D7C5C 80240C3C 8E670010 */ lw $a3, 0x10($s3) +/* 9D7C60 80240C40 0C01242D */ jal func_800490B4 +/* 9D7C64 80240C44 0220282D */ daddu $a1, $s1, $zero +/* 9D7C68 80240C48 10400021 */ beqz $v0, .L80240CD0 +/* 9D7C6C 80240C4C 0000202D */ daddu $a0, $zero, $zero +/* 9D7C70 80240C50 0200282D */ daddu $a1, $s0, $zero +/* 9D7C74 80240C54 0000302D */ daddu $a2, $zero, $zero +/* 9D7C78 80240C58 860300A8 */ lh $v1, 0xa8($s0) +/* 9D7C7C 80240C5C 3C013F80 */ lui $at, 0x3f80 +/* 9D7C80 80240C60 44810000 */ mtc1 $at, $f0 +/* 9D7C84 80240C64 3C014000 */ lui $at, 0x4000 +/* 9D7C88 80240C68 44811000 */ mtc1 $at, $f2 +/* 9D7C8C 80240C6C 3C01C1A0 */ lui $at, 0xc1a0 +/* 9D7C90 80240C70 44812000 */ mtc1 $at, $f4 +/* 9D7C94 80240C74 2402000F */ addiu $v0, $zero, 0xf +/* 9D7C98 80240C78 AFA2001C */ sw $v0, 0x1c($sp) +/* 9D7C9C 80240C7C 44833000 */ mtc1 $v1, $f6 +/* 9D7CA0 80240C80 00000000 */ nop +/* 9D7CA4 80240C84 468031A0 */ cvt.s.w $f6, $f6 +/* 9D7CA8 80240C88 44073000 */ mfc1 $a3, $f6 +/* 9D7CAC 80240C8C 27A20028 */ addiu $v0, $sp, 0x28 +/* 9D7CB0 80240C90 AFA20020 */ sw $v0, 0x20($sp) +/* 9D7CB4 80240C94 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D7CB8 80240C98 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9D7CBC 80240C9C 0C01BFA4 */ jal fx_emote +/* 9D7CC0 80240CA0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9D7CC4 80240CA4 0200202D */ daddu $a0, $s0, $zero +/* 9D7CC8 80240CA8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9D7CCC 80240CAC 0C012530 */ jal func_800494C0 +/* 9D7CD0 80240CB0 3C060020 */ lui $a2, 0x20 +/* 9D7CD4 80240CB4 8E220018 */ lw $v0, 0x18($s1) +/* 9D7CD8 80240CB8 9442002A */ lhu $v0, 0x2a($v0) +/* 9D7CDC 80240CBC 30420001 */ andi $v0, $v0, 1 +/* 9D7CE0 80240CC0 14400064 */ bnez $v0, .L80240E54 +/* 9D7CE4 80240CC4 2402000A */ addiu $v0, $zero, 0xa +/* 9D7CE8 80240CC8 08090395 */ j .L80240E54 +/* 9D7CEC 80240CCC 2402000C */ addiu $v0, $zero, 0xc +.L80240CD0: +/* 9D7CF0 80240CD0 8E420074 */ lw $v0, 0x74($s2) +/* 9D7CF4 80240CD4 2442FFFF */ addiu $v0, $v0, -1 +.L80240CD8: +/* 9D7CF8 80240CD8 AE420074 */ sw $v0, 0x74($s2) +.L80240CDC: +/* 9D7CFC 80240CDC 8602008C */ lh $v0, 0x8c($s0) +/* 9D7D00 80240CE0 1440005D */ bnez $v0, .L80240E58 +/* 9D7D04 80240CE4 00000000 */ nop +/* 9D7D08 80240CE8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9D7D0C 80240CEC 3C014010 */ lui $at, 0x4010 +/* 9D7D10 80240CF0 44811800 */ mtc1 $at, $f3 +/* 9D7D14 80240CF4 44801000 */ mtc1 $zero, $f2 +/* 9D7D18 80240CF8 46000021 */ cvt.d.s $f0, $f0 +/* 9D7D1C 80240CFC 4622003C */ c.lt.d $f0, $f2 +/* 9D7D20 80240D00 00000000 */ nop +/* 9D7D24 80240D04 45000003 */ bc1f .L80240D14 +/* 9D7D28 80240D08 0200202D */ daddu $a0, $s0, $zero +/* 9D7D2C 80240D0C 08090346 */ j .L80240D18 +/* 9D7D30 80240D10 0000282D */ daddu $a1, $zero, $zero +.L80240D14: +/* 9D7D34 80240D14 24050001 */ addiu $a1, $zero, 1 +.L80240D18: +/* 9D7D38 80240D18 0C00F598 */ jal func_8003D660 +/* 9D7D3C 80240D1C 00000000 */ nop +/* 9D7D40 80240D20 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9D7D44 80240D24 8E430078 */ lw $v1, 0x78($s2) +/* 9D7D48 80240D28 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9D7D4C 80240D2C 00031040 */ sll $v0, $v1, 1 +/* 9D7D50 80240D30 00431021 */ addu $v0, $v0, $v1 +/* 9D7D54 80240D34 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D7D58 80240D38 00021080 */ sll $v0, $v0, 2 +/* 9D7D5C 80240D3C 00431021 */ addu $v0, $v0, $v1 +/* 9D7D60 80240D40 C4560004 */ lwc1 $f22, 4($v0) +/* 9D7D64 80240D44 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D7D68 80240D48 C454000C */ lwc1 $f20, 0xc($v0) +/* 9D7D6C 80240D4C 4680A520 */ cvt.s.w $f20, $f20 +/* 9D7D70 80240D50 4406B000 */ mfc1 $a2, $f22 +/* 9D7D74 80240D54 4407A000 */ mfc1 $a3, $f20 +/* 9D7D78 80240D58 0C00A720 */ jal atan2 +/* 9D7D7C 80240D5C 00000000 */ nop +/* 9D7D80 80240D60 8E050018 */ lw $a1, 0x18($s0) +/* 9D7D84 80240D64 44060000 */ mfc1 $a2, $f0 +/* 9D7D88 80240D68 0200202D */ daddu $a0, $s0, $zero +/* 9D7D8C 80240D6C 0C00EA95 */ jal npc_move_heading +/* 9D7D90 80240D70 AE06000C */ sw $a2, 0xc($s0) +/* 9D7D94 80240D74 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9D7D98 80240D78 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9D7D9C 80240D7C 4406B000 */ mfc1 $a2, $f22 +/* 9D7DA0 80240D80 4407A000 */ mfc1 $a3, $f20 +/* 9D7DA4 80240D84 0C00A7B5 */ jal dist2D +/* 9D7DA8 80240D88 00000000 */ nop +/* 9D7DAC 80240D8C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9D7DB0 80240D90 4602003E */ c.le.s $f0, $f2 +/* 9D7DB4 80240D94 00000000 */ nop +/* 9D7DB8 80240D98 4500002F */ bc1f .L80240E58 +/* 9D7DBC 80240D9C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9D7DC0 80240DA0 24020002 */ addiu $v0, $zero, 2 +/* 9D7DC4 80240DA4 0C00A67F */ jal rand_int +/* 9D7DC8 80240DA8 AE420070 */ sw $v0, 0x70($s2) +/* 9D7DCC 80240DAC 3C035555 */ lui $v1, 0x5555 +/* 9D7DD0 80240DB0 34635556 */ ori $v1, $v1, 0x5556 +/* 9D7DD4 80240DB4 00430018 */ mult $v0, $v1 +/* 9D7DD8 80240DB8 000227C3 */ sra $a0, $v0, 0x1f +/* 9D7DDC 80240DBC 00004010 */ mfhi $t0 +/* 9D7DE0 80240DC0 01042023 */ subu $a0, $t0, $a0 +/* 9D7DE4 80240DC4 00041840 */ sll $v1, $a0, 1 +/* 9D7DE8 80240DC8 00641821 */ addu $v1, $v1, $a0 +/* 9D7DEC 80240DCC 00431023 */ subu $v0, $v0, $v1 +/* 9D7DF0 80240DD0 24430002 */ addiu $v1, $v0, 2 +/* 9D7DF4 80240DD4 AE430074 */ sw $v1, 0x74($s2) +/* 9D7DF8 80240DD8 8E62002C */ lw $v0, 0x2c($s3) +/* 9D7DFC 80240DDC 18400009 */ blez $v0, .L80240E04 +/* 9D7E00 80240DE0 24020004 */ addiu $v0, $zero, 4 +/* 9D7E04 80240DE4 8E620004 */ lw $v0, 4($s3) +/* 9D7E08 80240DE8 18400006 */ blez $v0, .L80240E04 +/* 9D7E0C 80240DEC 24020004 */ addiu $v0, $zero, 4 +/* 9D7E10 80240DF0 8E620008 */ lw $v0, 8($s3) +/* 9D7E14 80240DF4 18400003 */ blez $v0, .L80240E04 +/* 9D7E18 80240DF8 24020004 */ addiu $v0, $zero, 4 +/* 9D7E1C 80240DFC 14600002 */ bnez $v1, .L80240E08 +/* 9D7E20 80240E00 00000000 */ nop +.L80240E04: +/* 9D7E24 80240E04 AE420070 */ sw $v0, 0x70($s2) +.L80240E08: +/* 9D7E28 80240E08 0C00A67F */ jal rand_int +/* 9D7E2C 80240E0C 24042710 */ addiu $a0, $zero, 0x2710 +/* 9D7E30 80240E10 3C0351EB */ lui $v1, 0x51eb +/* 9D7E34 80240E14 3463851F */ ori $v1, $v1, 0x851f +/* 9D7E38 80240E18 00430018 */ mult $v0, $v1 +/* 9D7E3C 80240E1C 00021FC3 */ sra $v1, $v0, 0x1f +/* 9D7E40 80240E20 00004010 */ mfhi $t0 +/* 9D7E44 80240E24 00082143 */ sra $a0, $t0, 5 +/* 9D7E48 80240E28 00832023 */ subu $a0, $a0, $v1 +/* 9D7E4C 80240E2C 00041840 */ sll $v1, $a0, 1 +/* 9D7E50 80240E30 00641821 */ addu $v1, $v1, $a0 +/* 9D7E54 80240E34 000318C0 */ sll $v1, $v1, 3 +/* 9D7E58 80240E38 00641821 */ addu $v1, $v1, $a0 +/* 9D7E5C 80240E3C 00031880 */ sll $v1, $v1, 2 +/* 9D7E60 80240E40 8E640004 */ lw $a0, 4($s3) +/* 9D7E64 80240E44 00431023 */ subu $v0, $v0, $v1 +/* 9D7E68 80240E48 0044102A */ slt $v0, $v0, $a0 +/* 9D7E6C 80240E4C 10400002 */ beqz $v0, .L80240E58 +/* 9D7E70 80240E50 24020004 */ addiu $v0, $zero, 4 +.L80240E54: +/* 9D7E74 80240E54 AE420070 */ sw $v0, 0x70($s2) +.L80240E58: +/* 9D7E78 80240E58 8FBF0044 */ lw $ra, 0x44($sp) +/* 9D7E7C 80240E5C 8FB40040 */ lw $s4, 0x40($sp) +/* 9D7E80 80240E60 8FB3003C */ lw $s3, 0x3c($sp) +/* 9D7E84 80240E64 8FB20038 */ lw $s2, 0x38($sp) +/* 9D7E88 80240E68 8FB10034 */ lw $s1, 0x34($sp) +/* 9D7E8C 80240E6C 8FB00030 */ lw $s0, 0x30($sp) +/* 9D7E90 80240E70 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 9D7E94 80240E74 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 9D7E98 80240E78 03E00008 */ jr $ra +/* 9D7E9C 80240E7C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240E80_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240E80_9D7020.s new file mode 100644 index 0000000000..352b09cc7e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240E80_9D7020.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E80_9D7EA0 +/* 9D7EA0 80240E80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D7EA4 80240E84 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D7EA8 80240E88 0080982D */ daddu $s3, $a0, $zero +/* 9D7EAC 80240E8C AFBF0020 */ sw $ra, 0x20($sp) +/* 9D7EB0 80240E90 AFB20018 */ sw $s2, 0x18($sp) +/* 9D7EB4 80240E94 AFB10014 */ sw $s1, 0x14($sp) +/* 9D7EB8 80240E98 AFB00010 */ sw $s0, 0x10($sp) +/* 9D7EBC 80240E9C 8E720148 */ lw $s2, 0x148($s3) +/* 9D7EC0 80240EA0 86440008 */ lh $a0, 8($s2) +/* 9D7EC4 80240EA4 0C00EABB */ jal get_npc_unsafe +/* 9D7EC8 80240EA8 00A0882D */ daddu $s1, $a1, $zero +/* 9D7ECC 80240EAC 8E240008 */ lw $a0, 8($s1) +/* 9D7ED0 80240EB0 0040802D */ daddu $s0, $v0, $zero +/* 9D7ED4 80240EB4 00041FC2 */ srl $v1, $a0, 0x1f +/* 9D7ED8 80240EB8 00832021 */ addu $a0, $a0, $v1 +/* 9D7EDC 80240EBC 00042043 */ sra $a0, $a0, 1 +/* 9D7EE0 80240EC0 0C00A67F */ jal rand_int +/* 9D7EE4 80240EC4 24840001 */ addiu $a0, $a0, 1 +/* 9D7EE8 80240EC8 8E230008 */ lw $v1, 8($s1) +/* 9D7EEC 80240ECC 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9D7EF0 80240ED0 00032FC2 */ srl $a1, $v1, 0x1f +/* 9D7EF4 80240ED4 00651821 */ addu $v1, $v1, $a1 +/* 9D7EF8 80240ED8 00031843 */ sra $v1, $v1, 1 +/* 9D7EFC 80240EDC 00621821 */ addu $v1, $v1, $v0 +/* 9D7F00 80240EE0 0C00A67F */ jal rand_int +/* 9D7F04 80240EE4 A603008E */ sh $v1, 0x8e($s0) +/* 9D7F08 80240EE8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9D7F0C 80240EEC 44820000 */ mtc1 $v0, $f0 +/* 9D7F10 80240EF0 00000000 */ nop +/* 9D7F14 80240EF4 46800020 */ cvt.s.w $f0, $f0 +/* 9D7F18 80240EF8 46006300 */ add.s $f12, $f12, $f0 +/* 9D7F1C 80240EFC 3C0142B4 */ lui $at, 0x42b4 +/* 9D7F20 80240F00 44810000 */ mtc1 $at, $f0 +/* 9D7F24 80240F04 0C00A6C9 */ jal clamp_angle +/* 9D7F28 80240F08 46006301 */ sub.s $f12, $f12, $f0 +/* 9D7F2C 80240F0C E600000C */ swc1 $f0, 0xc($s0) +/* 9D7F30 80240F10 8E4200CC */ lw $v0, 0xcc($s2) +/* 9D7F34 80240F14 8C420000 */ lw $v0, ($v0) +/* 9D7F38 80240F18 AE020028 */ sw $v0, 0x28($s0) +/* 9D7F3C 80240F1C 24020003 */ addiu $v0, $zero, 3 +/* 9D7F40 80240F20 AE620070 */ sw $v0, 0x70($s3) +/* 9D7F44 80240F24 8FBF0020 */ lw $ra, 0x20($sp) +/* 9D7F48 80240F28 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D7F4C 80240F2C 8FB20018 */ lw $s2, 0x18($sp) +/* 9D7F50 80240F30 8FB10014 */ lw $s1, 0x14($sp) +/* 9D7F54 80240F34 8FB00010 */ lw $s0, 0x10($sp) +/* 9D7F58 80240F38 03E00008 */ jr $ra +/* 9D7F5C 80240F3C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80240F40_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80240F40_9D7020.s new file mode 100644 index 0000000000..3d52ea02ad --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80240F40_9D7020.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F40_9D7F60 +/* 9D7F60 80240F40 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D7F64 80240F44 AFB40040 */ sw $s4, 0x40($sp) +/* 9D7F68 80240F48 0080A02D */ daddu $s4, $a0, $zero +/* 9D7F6C 80240F4C AFBF0044 */ sw $ra, 0x44($sp) +/* 9D7F70 80240F50 AFB3003C */ sw $s3, 0x3c($sp) +/* 9D7F74 80240F54 AFB20038 */ sw $s2, 0x38($sp) +/* 9D7F78 80240F58 AFB10034 */ sw $s1, 0x34($sp) +/* 9D7F7C 80240F5C AFB00030 */ sw $s0, 0x30($sp) +/* 9D7F80 80240F60 8E910148 */ lw $s1, 0x148($s4) +/* 9D7F84 80240F64 00A0902D */ daddu $s2, $a1, $zero +/* 9D7F88 80240F68 86240008 */ lh $a0, 8($s1) +/* 9D7F8C 80240F6C 0C00EABB */ jal get_npc_unsafe +/* 9D7F90 80240F70 00C0982D */ daddu $s3, $a2, $zero +/* 9D7F94 80240F74 8E430014 */ lw $v1, 0x14($s2) +/* 9D7F98 80240F78 04600031 */ bltz $v1, .L80241040 +/* 9D7F9C 80240F7C 0040802D */ daddu $s0, $v0, $zero +/* 9D7FA0 80240F80 0260202D */ daddu $a0, $s3, $zero +/* 9D7FA4 80240F84 AFA00010 */ sw $zero, 0x10($sp) +/* 9D7FA8 80240F88 8E460024 */ lw $a2, 0x24($s2) +/* 9D7FAC 80240F8C 8E470028 */ lw $a3, 0x28($s2) +/* 9D7FB0 80240F90 0C01242D */ jal func_800490B4 +/* 9D7FB4 80240F94 0220282D */ daddu $a1, $s1, $zero +/* 9D7FB8 80240F98 10400029 */ beqz $v0, .L80241040 +/* 9D7FBC 80240F9C 0000202D */ daddu $a0, $zero, $zero +/* 9D7FC0 80240FA0 0200282D */ daddu $a1, $s0, $zero +/* 9D7FC4 80240FA4 0000302D */ daddu $a2, $zero, $zero +/* 9D7FC8 80240FA8 860300A8 */ lh $v1, 0xa8($s0) +/* 9D7FCC 80240FAC 3C013F80 */ lui $at, 0x3f80 +/* 9D7FD0 80240FB0 44810000 */ mtc1 $at, $f0 +/* 9D7FD4 80240FB4 3C014000 */ lui $at, 0x4000 +/* 9D7FD8 80240FB8 44811000 */ mtc1 $at, $f2 +/* 9D7FDC 80240FBC 3C01C1A0 */ lui $at, 0xc1a0 +/* 9D7FE0 80240FC0 44812000 */ mtc1 $at, $f4 +/* 9D7FE4 80240FC4 2402000F */ addiu $v0, $zero, 0xf +/* 9D7FE8 80240FC8 AFA2001C */ sw $v0, 0x1c($sp) +/* 9D7FEC 80240FCC 44833000 */ mtc1 $v1, $f6 +/* 9D7FF0 80240FD0 00000000 */ nop +/* 9D7FF4 80240FD4 468031A0 */ cvt.s.w $f6, $f6 +/* 9D7FF8 80240FD8 44073000 */ mfc1 $a3, $f6 +/* 9D7FFC 80240FDC 27A20028 */ addiu $v0, $sp, 0x28 +/* 9D8000 80240FE0 AFA20020 */ sw $v0, 0x20($sp) +/* 9D8004 80240FE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D8008 80240FE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9D800C 80240FEC 0C01BFA4 */ jal fx_emote +/* 9D8010 80240FF0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9D8014 80240FF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9D8018 80240FF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9D801C 80240FFC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9D8020 80241000 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9D8024 80241004 8C460028 */ lw $a2, 0x28($v0) +/* 9D8028 80241008 0C00A720 */ jal atan2 +/* 9D802C 8024100C 8C470030 */ lw $a3, 0x30($v0) +/* 9D8030 80241010 0200202D */ daddu $a0, $s0, $zero +/* 9D8034 80241014 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9D8038 80241018 3C060020 */ lui $a2, 0x20 +/* 9D803C 8024101C 0C012530 */ jal func_800494C0 +/* 9D8040 80241020 E480000C */ swc1 $f0, 0xc($a0) +/* 9D8044 80241024 8E220018 */ lw $v0, 0x18($s1) +/* 9D8048 80241028 9442002A */ lhu $v0, 0x2a($v0) +/* 9D804C 8024102C 30420001 */ andi $v0, $v0, 1 +/* 9D8050 80241030 14400029 */ bnez $v0, .L802410D8 +/* 9D8054 80241034 2402000A */ addiu $v0, $zero, 0xa +/* 9D8058 80241038 08090436 */ j .L802410D8 +/* 9D805C 8024103C 2402000C */ addiu $v0, $zero, 0xc +.L80241040: +/* 9D8060 80241040 8602008C */ lh $v0, 0x8c($s0) +/* 9D8064 80241044 14400025 */ bnez $v0, .L802410DC +/* 9D8068 80241048 00000000 */ nop +/* 9D806C 8024104C 9602008E */ lhu $v0, 0x8e($s0) +/* 9D8070 80241050 2442FFFF */ addiu $v0, $v0, -1 +/* 9D8074 80241054 A602008E */ sh $v0, 0x8e($s0) +/* 9D8078 80241058 00021400 */ sll $v0, $v0, 0x10 +/* 9D807C 8024105C 1440001F */ bnez $v0, .L802410DC +/* 9D8080 80241060 00000000 */ nop +/* 9D8084 80241064 8E820074 */ lw $v0, 0x74($s4) +/* 9D8088 80241068 2442FFFF */ addiu $v0, $v0, -1 +/* 9D808C 8024106C 10400019 */ beqz $v0, .L802410D4 +/* 9D8090 80241070 AE820074 */ sw $v0, 0x74($s4) +/* 9D8094 80241074 8E220018 */ lw $v0, 0x18($s1) +/* 9D8098 80241078 9442002A */ lhu $v0, 0x2a($v0) +/* 9D809C 8024107C 30420010 */ andi $v0, $v0, 0x10 +/* 9D80A0 80241080 14400007 */ bnez $v0, .L802410A0 +/* 9D80A4 80241084 00000000 */ nop +/* 9D80A8 80241088 C600000C */ lwc1 $f0, 0xc($s0) +/* 9D80AC 8024108C 3C014334 */ lui $at, 0x4334 +/* 9D80B0 80241090 44816000 */ mtc1 $at, $f12 +/* 9D80B4 80241094 0C00A6C9 */ jal clamp_angle +/* 9D80B8 80241098 460C0300 */ add.s $f12, $f0, $f12 +/* 9D80BC 8024109C E600000C */ swc1 $f0, 0xc($s0) +.L802410A0: +/* 9D80C0 802410A0 8E440008 */ lw $a0, 8($s2) +/* 9D80C4 802410A4 000417C2 */ srl $v0, $a0, 0x1f +/* 9D80C8 802410A8 00822021 */ addu $a0, $a0, $v0 +/* 9D80CC 802410AC 00042043 */ sra $a0, $a0, 1 +/* 9D80D0 802410B0 0C00A67F */ jal rand_int +/* 9D80D4 802410B4 24840001 */ addiu $a0, $a0, 1 +/* 9D80D8 802410B8 8E430008 */ lw $v1, 8($s2) +/* 9D80DC 802410BC 000327C2 */ srl $a0, $v1, 0x1f +/* 9D80E0 802410C0 00641821 */ addu $v1, $v1, $a0 +/* 9D80E4 802410C4 00031843 */ sra $v1, $v1, 1 +/* 9D80E8 802410C8 00621821 */ addu $v1, $v1, $v0 +/* 9D80EC 802410CC 08090437 */ j .L802410DC +/* 9D80F0 802410D0 A603008E */ sh $v1, 0x8e($s0) +.L802410D4: +/* 9D80F4 802410D4 24020004 */ addiu $v0, $zero, 4 +.L802410D8: +/* 9D80F8 802410D8 AE820070 */ sw $v0, 0x70($s4) +.L802410DC: +/* 9D80FC 802410DC 8FBF0044 */ lw $ra, 0x44($sp) +/* 9D8100 802410E0 8FB40040 */ lw $s4, 0x40($sp) +/* 9D8104 802410E4 8FB3003C */ lw $s3, 0x3c($sp) +/* 9D8108 802410E8 8FB20038 */ lw $s2, 0x38($sp) +/* 9D810C 802410EC 8FB10034 */ lw $s1, 0x34($sp) +/* 9D8110 802410F0 8FB00030 */ lw $s0, 0x30($sp) +/* 9D8114 802410F4 03E00008 */ jr $ra +/* 9D8118 802410F8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802410FC.s b/asm/nonmatchings/world/area_nok/nok_02/func_802410FC.s new file mode 100644 index 0000000000..9c3356b083 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802410FC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410FC +/* 9D811C 802410FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D8120 80241100 AFB10014 */ sw $s1, 0x14($sp) +/* 9D8124 80241104 0080882D */ daddu $s1, $a0, $zero +/* 9D8128 80241108 AFBF001C */ sw $ra, 0x1c($sp) +/* 9D812C 8024110C AFB20018 */ sw $s2, 0x18($sp) +/* 9D8130 80241110 AFB00010 */ sw $s0, 0x10($sp) +/* 9D8134 80241114 8E300148 */ lw $s0, 0x148($s1) +/* 9D8138 80241118 86040008 */ lh $a0, 8($s0) +/* 9D813C 8024111C 0C00EABB */ jal get_npc_unsafe +/* 9D8140 80241120 00A0902D */ daddu $s2, $a1, $zero +/* 9D8144 80241124 8E230078 */ lw $v1, 0x78($s1) +/* 9D8148 80241128 24630001 */ addiu $v1, $v1, 1 +/* 9D814C 8024112C AE230078 */ sw $v1, 0x78($s1) +/* 9D8150 80241130 8E0400D0 */ lw $a0, 0xd0($s0) +/* 9D8154 80241134 8C840000 */ lw $a0, ($a0) +/* 9D8158 80241138 0064182A */ slt $v1, $v1, $a0 +/* 9D815C 8024113C 14600002 */ bnez $v1, .L80241148 +/* 9D8160 80241140 0040282D */ daddu $a1, $v0, $zero +/* 9D8164 80241144 AE200078 */ sw $zero, 0x78($s1) +.L80241148: +/* 9D8168 80241148 8E0200CC */ lw $v0, 0xcc($s0) +/* 9D816C 8024114C 8C420004 */ lw $v0, 4($v0) +/* 9D8170 80241150 ACA20028 */ sw $v0, 0x28($a1) +/* 9D8174 80241154 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9D8178 80241158 8C42007C */ lw $v0, 0x7c($v0) +/* 9D817C 8024115C 04410004 */ bgez $v0, .L80241170 +/* 9D8180 80241160 00000000 */ nop +/* 9D8184 80241164 C6400000 */ lwc1 $f0, ($s2) +/* 9D8188 80241168 08090464 */ j .L80241190 +/* 9D818C 8024116C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241170: +/* 9D8190 80241170 3C018025 */ lui $at, 0x8025 +/* 9D8194 80241174 D4224628 */ ldc1 $f2, 0x4628($at) +/* 9D8198 80241178 44820000 */ mtc1 $v0, $f0 +/* 9D819C 8024117C 00000000 */ nop +/* 9D81A0 80241180 46800021 */ cvt.d.w $f0, $f0 +/* 9D81A4 80241184 46220003 */ div.d $f0, $f0, $f2 +/* 9D81A8 80241188 46200020 */ cvt.s.d $f0, $f0 +/* 9D81AC 8024118C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241190: +/* 9D81B0 80241190 24020001 */ addiu $v0, $zero, 1 +/* 9D81B4 80241194 AE220070 */ sw $v0, 0x70($s1) +/* 9D81B8 80241198 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D81BC 8024119C 8FB20018 */ lw $s2, 0x18($sp) +/* 9D81C0 802411A0 8FB10014 */ lw $s1, 0x14($sp) +/* 9D81C4 802411A4 8FB00010 */ lw $s0, 0x10($sp) +/* 9D81C8 802411A8 03E00008 */ jr $ra +/* 9D81CC 802411AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802411B0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802411B0_9D7020.s new file mode 100644 index 0000000000..03c15f84de --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802411B0_9D7020.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B0_9D81D0 +/* 9D81D0 802411B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D81D4 802411B4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D81D8 802411B8 0080882D */ daddu $s1, $a0, $zero +/* 9D81DC 802411BC AFBF0018 */ sw $ra, 0x18($sp) +/* 9D81E0 802411C0 AFB00010 */ sw $s0, 0x10($sp) +/* 9D81E4 802411C4 8E300148 */ lw $s0, 0x148($s1) +/* 9D81E8 802411C8 0C00EABB */ jal get_npc_unsafe +/* 9D81EC 802411CC 86040008 */ lh $a0, 8($s0) +/* 9D81F0 802411D0 8E0300CC */ lw $v1, 0xcc($s0) +/* 9D81F4 802411D4 3C014120 */ lui $at, 0x4120 +/* 9D81F8 802411D8 44812000 */ mtc1 $at, $f4 +/* 9D81FC 802411DC 3C014000 */ lui $at, 0x4000 +/* 9D8200 802411E0 44810000 */ mtc1 $at, $f0 +/* 9D8204 802411E4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9D8208 802411E8 8C640010 */ lw $a0, 0x10($v1) +/* 9D820C 802411EC 8C430000 */ lw $v1, ($v0) +/* 9D8210 802411F0 E444001C */ swc1 $f4, 0x1c($v0) +/* 9D8214 802411F4 E4400014 */ swc1 $f0, 0x14($v0) +/* 9D8218 802411F8 E4420064 */ swc1 $f2, 0x64($v0) +/* 9D821C 802411FC 34630800 */ ori $v1, $v1, 0x800 +/* 9D8220 80241200 AC430000 */ sw $v1, ($v0) +/* 9D8224 80241204 AC440028 */ sw $a0, 0x28($v0) +/* 9D8228 80241208 2402000B */ addiu $v0, $zero, 0xb +/* 9D822C 8024120C AE220070 */ sw $v0, 0x70($s1) +/* 9D8230 80241210 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D8234 80241214 8FB10014 */ lw $s1, 0x14($sp) +/* 9D8238 80241218 8FB00010 */ lw $s0, 0x10($sp) +/* 9D823C 8024121C 03E00008 */ jr $ra +/* 9D8240 80241220 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241224.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241224.s new file mode 100644 index 0000000000..e9512e8de4 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241224.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241224 +/* 9D8244 80241224 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D8248 80241228 AFB00010 */ sw $s0, 0x10($sp) +/* 9D824C 8024122C 0080802D */ daddu $s0, $a0, $zero +/* 9D8250 80241230 AFBF0014 */ sw $ra, 0x14($sp) +/* 9D8254 80241234 8E020148 */ lw $v0, 0x148($s0) +/* 9D8258 80241238 0C00EABB */ jal get_npc_unsafe +/* 9D825C 8024123C 84440008 */ lh $a0, 8($v0) +/* 9D8260 80241240 0040202D */ daddu $a0, $v0, $zero +/* 9D8264 80241244 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9D8268 80241248 C480001C */ lwc1 $f0, 0x1c($a0) +/* 9D826C 8024124C 46001080 */ add.s $f2, $f2, $f0 +/* 9D8270 80241250 C4840014 */ lwc1 $f4, 0x14($a0) +/* 9D8274 80241254 46040001 */ sub.s $f0, $f0, $f4 +/* 9D8278 80241258 C4840064 */ lwc1 $f4, 0x64($a0) +/* 9D827C 8024125C 4602203C */ c.lt.s $f4, $f2 +/* 9D8280 80241260 E482003C */ swc1 $f2, 0x3c($a0) +/* 9D8284 80241264 45010009 */ bc1t .L8024128C +/* 9D8288 80241268 E480001C */ swc1 $f0, 0x1c($a0) +/* 9D828C 8024126C 8C820000 */ lw $v0, ($a0) +/* 9D8290 80241270 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9D8294 80241274 E484003C */ swc1 $f4, 0x3c($a0) +/* 9D8298 80241278 AC80001C */ sw $zero, 0x1c($a0) +/* 9D829C 8024127C 00431024 */ and $v0, $v0, $v1 +/* 9D82A0 80241280 AC820000 */ sw $v0, ($a0) +/* 9D82A4 80241284 2402000C */ addiu $v0, $zero, 0xc +/* 9D82A8 80241288 AE020070 */ sw $v0, 0x70($s0) +.L8024128C: +/* 9D82AC 8024128C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9D82B0 80241290 8FB00010 */ lw $s0, 0x10($sp) +/* 9D82B4 80241294 03E00008 */ jr $ra +/* 9D82B8 80241298 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024129C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024129C.s new file mode 100644 index 0000000000..378af5b509 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024129C.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024129C +/* 9D82BC 8024129C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9D82C0 802412A0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D82C4 802412A4 0080982D */ daddu $s3, $a0, $zero +/* 9D82C8 802412A8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9D82CC 802412AC AFB20018 */ sw $s2, 0x18($sp) +/* 9D82D0 802412B0 AFB10014 */ sw $s1, 0x14($sp) +/* 9D82D4 802412B4 AFB00010 */ sw $s0, 0x10($sp) +/* 9D82D8 802412B8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9D82DC 802412BC 8E710148 */ lw $s1, 0x148($s3) +/* 9D82E0 802412C0 86240008 */ lh $a0, 8($s1) +/* 9D82E4 802412C4 0C00EABB */ jal get_npc_unsafe +/* 9D82E8 802412C8 00A0802D */ daddu $s0, $a1, $zero +/* 9D82EC 802412CC 8E040020 */ lw $a0, 0x20($s0) +/* 9D82F0 802412D0 0040902D */ daddu $s2, $v0, $zero +/* 9D82F4 802412D4 00041FC2 */ srl $v1, $a0, 0x1f +/* 9D82F8 802412D8 00832021 */ addu $a0, $a0, $v1 +/* 9D82FC 802412DC 00042043 */ sra $a0, $a0, 1 +/* 9D8300 802412E0 0C00A67F */ jal rand_int +/* 9D8304 802412E4 24840001 */ addiu $a0, $a0, 1 +/* 9D8308 802412E8 8E030020 */ lw $v1, 0x20($s0) +/* 9D830C 802412EC C64C0038 */ lwc1 $f12, 0x38($s2) +/* 9D8310 802412F0 000327C2 */ srl $a0, $v1, 0x1f +/* 9D8314 802412F4 00641821 */ addu $v1, $v1, $a0 +/* 9D8318 802412F8 00031843 */ sra $v1, $v1, 1 +/* 9D831C 802412FC 00621821 */ addu $v1, $v1, $v0 +/* 9D8320 80241300 A643008E */ sh $v1, 0x8e($s2) +/* 9D8324 80241304 8E2200CC */ lw $v0, 0xcc($s1) +/* 9D8328 80241308 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 9D832C 8024130C 8C42000C */ lw $v0, 0xc($v0) +/* 9D8330 80241310 AE420028 */ sw $v0, 0x28($s2) +/* 9D8334 80241314 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9D8338 80241318 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9D833C 8024131C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9D8340 80241320 E6400018 */ swc1 $f0, 0x18($s2) +/* 9D8344 80241324 8C460028 */ lw $a2, 0x28($v0) +/* 9D8348 80241328 0C00A720 */ jal atan2 +/* 9D834C 8024132C 8C470030 */ lw $a3, 0x30($v0) +/* 9D8350 80241330 46000506 */ mov.s $f20, $f0 +/* 9D8354 80241334 C64C000C */ lwc1 $f12, 0xc($s2) +/* 9D8358 80241338 0C00A70A */ jal get_clamped_angle_diff +/* 9D835C 8024133C 4600A386 */ mov.s $f14, $f20 +/* 9D8360 80241340 46000086 */ mov.s $f2, $f0 +/* 9D8364 80241344 8E02001C */ lw $v0, 0x1c($s0) +/* 9D8368 80241348 46001005 */ abs.s $f0, $f2 +/* 9D836C 8024134C 44822000 */ mtc1 $v0, $f4 +/* 9D8370 80241350 00000000 */ nop +/* 9D8374 80241354 46802120 */ cvt.s.w $f4, $f4 +/* 9D8378 80241358 4600203C */ c.lt.s $f4, $f0 +/* 9D837C 8024135C 00000000 */ nop +/* 9D8380 80241360 4500000D */ bc1f .L80241398 +/* 9D8384 80241364 00000000 */ nop +/* 9D8388 80241368 44800000 */ mtc1 $zero, $f0 +/* 9D838C 8024136C C654000C */ lwc1 $f20, 0xc($s2) +/* 9D8390 80241370 4600103C */ c.lt.s $f2, $f0 +/* 9D8394 80241374 00000000 */ nop +/* 9D8398 80241378 45000006 */ bc1f .L80241394 +/* 9D839C 8024137C 00021023 */ negu $v0, $v0 +/* 9D83A0 80241380 44820000 */ mtc1 $v0, $f0 +/* 9D83A4 80241384 00000000 */ nop +/* 9D83A8 80241388 46800020 */ cvt.s.w $f0, $f0 +/* 9D83AC 8024138C 080904E6 */ j .L80241398 +/* 9D83B0 80241390 4600A500 */ add.s $f20, $f20, $f0 +.L80241394: +/* 9D83B4 80241394 4604A500 */ add.s $f20, $f20, $f4 +.L80241398: +/* 9D83B8 80241398 0C00A6C9 */ jal clamp_angle +/* 9D83BC 8024139C 4600A306 */ mov.s $f12, $f20 +/* 9D83C0 802413A0 2402000D */ addiu $v0, $zero, 0xd +/* 9D83C4 802413A4 E640000C */ swc1 $f0, 0xc($s2) +/* 9D83C8 802413A8 AE620070 */ sw $v0, 0x70($s3) +/* 9D83CC 802413AC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9D83D0 802413B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D83D4 802413B4 8FB20018 */ lw $s2, 0x18($sp) +/* 9D83D8 802413B8 8FB10014 */ lw $s1, 0x14($sp) +/* 9D83DC 802413BC 8FB00010 */ lw $s0, 0x10($sp) +/* 9D83E0 802413C0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9D83E4 802413C4 03E00008 */ jr $ra +/* 9D83E8 802413C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802413CC.s b/asm/nonmatchings/world/area_nok/nok_02/func_802413CC.s new file mode 100644 index 0000000000..0391d976ed --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802413CC.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413CC +/* 9D83EC 802413CC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D83F0 802413D0 AFB3003C */ sw $s3, 0x3c($sp) +/* 9D83F4 802413D4 0080982D */ daddu $s3, $a0, $zero +/* 9D83F8 802413D8 AFBF0040 */ sw $ra, 0x40($sp) +/* 9D83FC 802413DC AFB20038 */ sw $s2, 0x38($sp) +/* 9D8400 802413E0 AFB10034 */ sw $s1, 0x34($sp) +/* 9D8404 802413E4 AFB00030 */ sw $s0, 0x30($sp) +/* 9D8408 802413E8 8E720148 */ lw $s2, 0x148($s3) +/* 9D840C 802413EC 00A0882D */ daddu $s1, $a1, $zero +/* 9D8410 802413F0 86440008 */ lh $a0, 8($s2) +/* 9D8414 802413F4 0C00EABB */ jal get_npc_unsafe +/* 9D8418 802413F8 00C0802D */ daddu $s0, $a2, $zero +/* 9D841C 802413FC 0200202D */ daddu $a0, $s0, $zero +/* 9D8420 80241400 0240282D */ daddu $a1, $s2, $zero +/* 9D8424 80241404 24030001 */ addiu $v1, $zero, 1 +/* 9D8428 80241408 AFA30010 */ sw $v1, 0x10($sp) +/* 9D842C 8024140C 8E260024 */ lw $a2, 0x24($s1) +/* 9D8430 80241410 8E270028 */ lw $a3, 0x28($s1) +/* 9D8434 80241414 0C01242D */ jal func_800490B4 +/* 9D8438 80241418 0040802D */ daddu $s0, $v0, $zero +/* 9D843C 8024141C 1440001E */ bnez $v0, .L80241498 +/* 9D8440 80241420 0200202D */ daddu $a0, $s0, $zero +/* 9D8444 80241424 24040002 */ addiu $a0, $zero, 2 +/* 9D8448 80241428 0200282D */ daddu $a1, $s0, $zero +/* 9D844C 8024142C 0000302D */ daddu $a2, $zero, $zero +/* 9D8450 80241430 860300A8 */ lh $v1, 0xa8($s0) +/* 9D8454 80241434 3C013F80 */ lui $at, 0x3f80 +/* 9D8458 80241438 44810000 */ mtc1 $at, $f0 +/* 9D845C 8024143C 3C014000 */ lui $at, 0x4000 +/* 9D8460 80241440 44811000 */ mtc1 $at, $f2 +/* 9D8464 80241444 3C01C1A0 */ lui $at, 0xc1a0 +/* 9D8468 80241448 44812000 */ mtc1 $at, $f4 +/* 9D846C 8024144C 2402000F */ addiu $v0, $zero, 0xf +/* 9D8470 80241450 AFA2001C */ sw $v0, 0x1c($sp) +/* 9D8474 80241454 44833000 */ mtc1 $v1, $f6 +/* 9D8478 80241458 00000000 */ nop +/* 9D847C 8024145C 468031A0 */ cvt.s.w $f6, $f6 +/* 9D8480 80241460 44073000 */ mfc1 $a3, $f6 +/* 9D8484 80241464 27A20028 */ addiu $v0, $sp, 0x28 +/* 9D8488 80241468 AFA20020 */ sw $v0, 0x20($sp) +/* 9D848C 8024146C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D8490 80241470 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9D8494 80241474 0C01BFA4 */ jal fx_emote +/* 9D8498 80241478 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9D849C 8024147C 8E4200CC */ lw $v0, 0xcc($s2) +/* 9D84A0 80241480 8C430000 */ lw $v1, ($v0) +/* 9D84A4 80241484 24020019 */ addiu $v0, $zero, 0x19 +/* 9D84A8 80241488 A602008E */ sh $v0, 0x8e($s0) +/* 9D84AC 8024148C 2402000E */ addiu $v0, $zero, 0xe +/* 9D84B0 80241490 08090533 */ j .L802414CC +/* 9D84B4 80241494 AE030028 */ sw $v1, 0x28($s0) +.L80241498: +/* 9D84B8 80241498 0C00F598 */ jal func_8003D660 +/* 9D84BC 8024149C 24050001 */ addiu $a1, $zero, 1 +/* 9D84C0 802414A0 8E050018 */ lw $a1, 0x18($s0) +/* 9D84C4 802414A4 8E06000C */ lw $a2, 0xc($s0) +/* 9D84C8 802414A8 0C00EA95 */ jal npc_move_heading +/* 9D84CC 802414AC 0200202D */ daddu $a0, $s0, $zero +/* 9D84D0 802414B0 8602008E */ lh $v0, 0x8e($s0) +/* 9D84D4 802414B4 9603008E */ lhu $v1, 0x8e($s0) +/* 9D84D8 802414B8 18400003 */ blez $v0, .L802414C8 +/* 9D84DC 802414BC 2462FFFF */ addiu $v0, $v1, -1 +/* 9D84E0 802414C0 08090534 */ j .L802414D0 +/* 9D84E4 802414C4 A602008E */ sh $v0, 0x8e($s0) +.L802414C8: +/* 9D84E8 802414C8 2402000C */ addiu $v0, $zero, 0xc +.L802414CC: +/* 9D84EC 802414CC AE620070 */ sw $v0, 0x70($s3) +.L802414D0: +/* 9D84F0 802414D0 8FBF0040 */ lw $ra, 0x40($sp) +/* 9D84F4 802414D4 8FB3003C */ lw $s3, 0x3c($sp) +/* 9D84F8 802414D8 8FB20038 */ lw $s2, 0x38($sp) +/* 9D84FC 802414DC 8FB10034 */ lw $s1, 0x34($sp) +/* 9D8500 802414E0 8FB00030 */ lw $s0, 0x30($sp) +/* 9D8504 802414E4 03E00008 */ jr $ra +/* 9D8508 802414E8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802414EC.s b/asm/nonmatchings/world/area_nok/nok_02/func_802414EC.s new file mode 100644 index 0000000000..2dd25432e3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802414EC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414EC +/* 9D850C 802414EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D8510 802414F0 AFB10014 */ sw $s1, 0x14($sp) +/* 9D8514 802414F4 0080882D */ daddu $s1, $a0, $zero +/* 9D8518 802414F8 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D851C 802414FC AFB00010 */ sw $s0, 0x10($sp) +/* 9D8520 80241500 8E300148 */ lw $s0, 0x148($s1) +/* 9D8524 80241504 0C00EABB */ jal get_npc_unsafe +/* 9D8528 80241508 86040008 */ lh $a0, 8($s0) +/* 9D852C 8024150C 9443008E */ lhu $v1, 0x8e($v0) +/* 9D8530 80241510 2463FFFF */ addiu $v1, $v1, -1 +/* 9D8534 80241514 A443008E */ sh $v1, 0x8e($v0) +/* 9D8538 80241518 00031C00 */ sll $v1, $v1, 0x10 +/* 9D853C 8024151C 14600008 */ bnez $v1, .L80241540 +/* 9D8540 80241520 00000000 */ nop +/* 9D8544 80241524 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9D8548 80241528 30420080 */ andi $v0, $v0, 0x80 +/* 9D854C 8024152C 10400003 */ beqz $v0, .L8024153C +/* 9D8550 80241530 2402000F */ addiu $v0, $zero, 0xf +/* 9D8554 80241534 08090550 */ j .L80241540 +/* 9D8558 80241538 AE220070 */ sw $v0, 0x70($s1) +.L8024153C: +/* 9D855C 8024153C AE200070 */ sw $zero, 0x70($s1) +.L80241540: +/* 9D8560 80241540 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D8564 80241544 8FB10014 */ lw $s1, 0x14($sp) +/* 9D8568 80241548 8FB00010 */ lw $s0, 0x10($sp) +/* 9D856C 8024154C 03E00008 */ jr $ra +/* 9D8570 80241550 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241554.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241554.s new file mode 100644 index 0000000000..29c3d27ebc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241554.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241554 +/* 9D8574 80241554 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D8578 80241558 AFB10014 */ sw $s1, 0x14($sp) +/* 9D857C 8024155C 0080882D */ daddu $s1, $a0, $zero +/* 9D8580 80241560 AFBF001C */ sw $ra, 0x1c($sp) +/* 9D8584 80241564 AFB20018 */ sw $s2, 0x18($sp) +/* 9D8588 80241568 AFB00010 */ sw $s0, 0x10($sp) +/* 9D858C 8024156C 8E300148 */ lw $s0, 0x148($s1) +/* 9D8590 80241570 86040008 */ lh $a0, 8($s0) +/* 9D8594 80241574 0C00EABB */ jal get_npc_unsafe +/* 9D8598 80241578 00A0902D */ daddu $s2, $a1, $zero +/* 9D859C 8024157C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9D85A0 80241580 8E240078 */ lw $a0, 0x78($s1) +/* 9D85A4 80241584 8C630000 */ lw $v1, ($v1) +/* 9D85A8 80241588 0083182A */ slt $v1, $a0, $v1 +/* 9D85AC 8024158C 10600013 */ beqz $v1, .L802415DC +/* 9D85B0 80241590 0040302D */ daddu $a2, $v0, $zero +/* 9D85B4 80241594 00041040 */ sll $v0, $a0, 1 +/* 9D85B8 80241598 00441021 */ addu $v0, $v0, $a0 +/* 9D85BC 8024159C 00022880 */ sll $a1, $v0, 2 +.L802415A0: +/* 9D85C0 802415A0 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9D85C4 802415A4 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 9D85C8 802415A8 00A31021 */ addu $v0, $a1, $v1 +/* 9D85CC 802415AC C4400008 */ lwc1 $f0, 8($v0) +/* 9D85D0 802415B0 46800020 */ cvt.s.w $f0, $f0 +/* 9D85D4 802415B4 4602003E */ c.le.s $f0, $f2 +/* 9D85D8 802415B8 00000000 */ nop +/* 9D85DC 802415BC 45020003 */ bc1fl .L802415CC +/* 9D85E0 802415C0 24840001 */ addiu $a0, $a0, 1 +/* 9D85E4 802415C4 08090577 */ j .L802415DC +/* 9D85E8 802415C8 AE240078 */ sw $a0, 0x78($s1) +.L802415CC: +/* 9D85EC 802415CC 8C620000 */ lw $v0, ($v1) +/* 9D85F0 802415D0 0082102A */ slt $v0, $a0, $v0 +/* 9D85F4 802415D4 1440FFF2 */ bnez $v0, .L802415A0 +/* 9D85F8 802415D8 24A5000C */ addiu $a1, $a1, 0xc +.L802415DC: +/* 9D85FC 802415DC C6400000 */ lwc1 $f0, ($s2) +/* 9D8600 802415E0 E4C00018 */ swc1 $f0, 0x18($a2) +/* 9D8604 802415E4 8E0200CC */ lw $v0, 0xcc($s0) +/* 9D8608 802415E8 8C420004 */ lw $v0, 4($v0) +/* 9D860C 802415EC ACC20028 */ sw $v0, 0x28($a2) +/* 9D8610 802415F0 24020001 */ addiu $v0, $zero, 1 +/* 9D8614 802415F4 AE200074 */ sw $zero, 0x74($s1) +/* 9D8618 802415F8 AE220070 */ sw $v0, 0x70($s1) +/* 9D861C 802415FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D8620 80241600 8FB20018 */ lw $s2, 0x18($sp) +/* 9D8624 80241604 8FB10014 */ lw $s1, 0x14($sp) +/* 9D8628 80241608 8FB00010 */ lw $s0, 0x10($sp) +/* 9D862C 8024160C 03E00008 */ jr $ra +/* 9D8630 80241610 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241614.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241614.s new file mode 100644 index 0000000000..19e137e9fa --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241614.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241614 +/* 9D8634 80241614 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 9D8638 80241618 AFB40058 */ sw $s4, 0x58($sp) +/* 9D863C 8024161C 0080A02D */ daddu $s4, $a0, $zero +/* 9D8640 80241620 AFBF0060 */ sw $ra, 0x60($sp) +/* 9D8644 80241624 AFB5005C */ sw $s5, 0x5c($sp) +/* 9D8648 80241628 AFB30054 */ sw $s3, 0x54($sp) +/* 9D864C 8024162C AFB20050 */ sw $s2, 0x50($sp) +/* 9D8650 80241630 AFB1004C */ sw $s1, 0x4c($sp) +/* 9D8654 80241634 AFB00048 */ sw $s0, 0x48($sp) +/* 9D8658 80241638 8E910148 */ lw $s1, 0x148($s4) +/* 9D865C 8024163C 86240008 */ lh $a0, 8($s1) +/* 9D8660 80241640 0C00EABB */ jal get_npc_unsafe +/* 9D8664 80241644 00A0802D */ daddu $s0, $a1, $zero +/* 9D8668 80241648 8E83000C */ lw $v1, 0xc($s4) +/* 9D866C 8024164C 0280202D */ daddu $a0, $s4, $zero +/* 9D8670 80241650 8C650000 */ lw $a1, ($v1) +/* 9D8674 80241654 0C0B1EAF */ jal get_variable +/* 9D8678 80241658 0040902D */ daddu $s2, $v0, $zero +/* 9D867C 8024165C AFA00018 */ sw $zero, 0x18($sp) +/* 9D8680 80241660 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D8684 80241664 8C630094 */ lw $v1, 0x94($v1) +/* 9D8688 80241668 AFA3001C */ sw $v1, 0x1c($sp) +/* 9D868C 8024166C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D8690 80241670 8C630080 */ lw $v1, 0x80($v1) +/* 9D8694 80241674 AFA30020 */ sw $v1, 0x20($sp) +/* 9D8698 80241678 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D869C 8024167C 8C630088 */ lw $v1, 0x88($v1) +/* 9D86A0 80241680 AFA30024 */ sw $v1, 0x24($sp) +/* 9D86A4 80241684 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D86A8 80241688 8C63008C */ lw $v1, 0x8c($v1) +/* 9D86AC 8024168C 27B50018 */ addiu $s5, $sp, 0x18 +/* 9D86B0 80241690 AFA30028 */ sw $v1, 0x28($sp) +/* 9D86B4 80241694 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9D86B8 80241698 3C014282 */ lui $at, 0x4282 +/* 9D86BC 8024169C 44810000 */ mtc1 $at, $f0 +/* 9D86C0 802416A0 8C630090 */ lw $v1, 0x90($v1) +/* 9D86C4 802416A4 0040982D */ daddu $s3, $v0, $zero +/* 9D86C8 802416A8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 9D86CC 802416AC A7A00034 */ sh $zero, 0x34($sp) +/* 9D86D0 802416B0 16000005 */ bnez $s0, .L802416C8 +/* 9D86D4 802416B4 AFA3002C */ sw $v1, 0x2c($sp) +/* 9D86D8 802416B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9D86DC 802416BC 30420004 */ andi $v0, $v0, 4 +/* 9D86E0 802416C0 10400044 */ beqz $v0, .L802417D4 +/* 9D86E4 802416C4 00000000 */ nop +.L802416C8: +/* 9D86E8 802416C8 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9D86EC 802416CC AE800070 */ sw $zero, 0x70($s4) +/* 9D86F0 802416D0 A640008E */ sh $zero, 0x8e($s2) +/* 9D86F4 802416D4 8E2200CC */ lw $v0, 0xcc($s1) +/* 9D86F8 802416D8 8E430000 */ lw $v1, ($s2) +/* 9D86FC 802416DC 8C420000 */ lw $v0, ($v0) +/* 9D8700 802416E0 00641824 */ and $v1, $v1, $a0 +/* 9D8704 802416E4 AE430000 */ sw $v1, ($s2) +/* 9D8708 802416E8 AE420028 */ sw $v0, 0x28($s2) +/* 9D870C 802416EC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9D8710 802416F0 8C420098 */ lw $v0, 0x98($v0) +/* 9D8714 802416F4 54400005 */ bnel $v0, $zero, .L8024170C +/* 9D8718 802416F8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9D871C 802416FC 34620200 */ ori $v0, $v1, 0x200 +/* 9D8720 80241700 2403FFF7 */ addiu $v1, $zero, -9 +/* 9D8724 80241704 080905C5 */ j .L80241714 +/* 9D8728 80241708 00431024 */ and $v0, $v0, $v1 +.L8024170C: +/* 9D872C 8024170C 00621024 */ and $v0, $v1, $v0 +/* 9D8730 80241710 34420008 */ ori $v0, $v0, 8 +.L80241714: +/* 9D8734 80241714 AE420000 */ sw $v0, ($s2) +/* 9D8738 80241718 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9D873C 8024171C 30420004 */ andi $v0, $v0, 4 +/* 9D8740 80241720 10400008 */ beqz $v0, .L80241744 +/* 9D8744 80241724 24020063 */ addiu $v0, $zero, 0x63 +/* 9D8748 80241728 AE820070 */ sw $v0, 0x70($s4) +/* 9D874C 8024172C AE800074 */ sw $zero, 0x74($s4) +/* 9D8750 80241730 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9D8754 80241734 2403FFFB */ addiu $v1, $zero, -5 +/* 9D8758 80241738 00431024 */ and $v0, $v0, $v1 +/* 9D875C 8024173C 080905DC */ j .L80241770 +/* 9D8760 80241740 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241744: +/* 9D8764 80241744 8E220000 */ lw $v0, ($s1) +/* 9D8768 80241748 3C034000 */ lui $v1, 0x4000 +/* 9D876C 8024174C 00431024 */ and $v0, $v0, $v1 +/* 9D8770 80241750 10400007 */ beqz $v0, .L80241770 +/* 9D8774 80241754 3C03BFFF */ lui $v1, 0xbfff +/* 9D8778 80241758 2402000C */ addiu $v0, $zero, 0xc +/* 9D877C 8024175C AE820070 */ sw $v0, 0x70($s4) +/* 9D8780 80241760 8E220000 */ lw $v0, ($s1) +/* 9D8784 80241764 3463FFFF */ ori $v1, $v1, 0xffff +/* 9D8788 80241768 00431024 */ and $v0, $v0, $v1 +/* 9D878C 8024176C AE220000 */ sw $v0, ($s1) +.L80241770: +/* 9D8790 80241770 27A50038 */ addiu $a1, $sp, 0x38 +/* 9D8794 80241774 27A6003C */ addiu $a2, $sp, 0x3c +/* 9D8798 80241778 C6400038 */ lwc1 $f0, 0x38($s2) +/* 9D879C 8024177C 864200A8 */ lh $v0, 0xa8($s2) +/* 9D87A0 80241780 3C0142C8 */ lui $at, 0x42c8 +/* 9D87A4 80241784 44812000 */ mtc1 $at, $f4 +/* 9D87A8 80241788 44823000 */ mtc1 $v0, $f6 +/* 9D87AC 8024178C 00000000 */ nop +/* 9D87B0 80241790 468031A0 */ cvt.s.w $f6, $f6 +/* 9D87B4 80241794 27A20044 */ addiu $v0, $sp, 0x44 +/* 9D87B8 80241798 E7A00038 */ swc1 $f0, 0x38($sp) +/* 9D87BC 8024179C C640003C */ lwc1 $f0, 0x3c($s2) +/* 9D87C0 802417A0 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9D87C4 802417A4 46060000 */ add.s $f0, $f0, $f6 +/* 9D87C8 802417A8 E7A40044 */ swc1 $f4, 0x44($sp) +/* 9D87CC 802417AC E7A20040 */ swc1 $f2, 0x40($sp) +/* 9D87D0 802417B0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 9D87D4 802417B4 AFA20010 */ sw $v0, 0x10($sp) +/* 9D87D8 802417B8 8E440080 */ lw $a0, 0x80($s2) +/* 9D87DC 802417BC 0C0372DF */ jal func_800DCB7C +/* 9D87E0 802417C0 27A70040 */ addiu $a3, $sp, 0x40 +/* 9D87E4 802417C4 10400003 */ beqz $v0, .L802417D4 +/* 9D87E8 802417C8 00000000 */ nop +/* 9D87EC 802417CC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 9D87F0 802417D0 E640003C */ swc1 $f0, 0x3c($s2) +.L802417D4: +/* 9D87F4 802417D4 8E830070 */ lw $v1, 0x70($s4) +/* 9D87F8 802417D8 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9D87FC 802417DC 10400042 */ beqz $v0, .L802418E8 +/* 9D8800 802417E0 00031080 */ sll $v0, $v1, 2 +/* 9D8804 802417E4 3C018025 */ lui $at, 0x8025 +/* 9D8808 802417E8 00220821 */ addu $at, $at, $v0 +/* 9D880C 802417EC 8C224630 */ lw $v0, 0x4630($at) +/* 9D8810 802417F0 00400008 */ jr $v0 +/* 9D8814 802417F4 00000000 */ nop +/* 9D8818 802417F8 0280202D */ daddu $a0, $s4, $zero +/* 9D881C 802417FC 0260282D */ daddu $a1, $s3, $zero +/* 9D8820 80241800 0C0902A0 */ jal func_80240A80 +/* 9D8824 80241804 02A0302D */ daddu $a2, $s5, $zero +/* 9D8828 80241808 0280202D */ daddu $a0, $s4, $zero +/* 9D882C 8024180C 0260282D */ daddu $a1, $s3, $zero +/* 9D8830 80241810 0C0902F6 */ jal func_80240BD8 +/* 9D8834 80241814 02A0302D */ daddu $a2, $s5, $zero +/* 9D8838 80241818 0809063A */ j .L802418E8 +/* 9D883C 8024181C 00000000 */ nop +/* 9D8840 80241820 0280202D */ daddu $a0, $s4, $zero +/* 9D8844 80241824 0260282D */ daddu $a1, $s3, $zero +/* 9D8848 80241828 0C0903A0 */ jal func_80240E80 +/* 9D884C 8024182C 02A0302D */ daddu $a2, $s5, $zero +/* 9D8850 80241830 0280202D */ daddu $a0, $s4, $zero +/* 9D8854 80241834 0260282D */ daddu $a1, $s3, $zero +/* 9D8858 80241838 0C0903D0 */ jal func_80240F40 +/* 9D885C 8024183C 02A0302D */ daddu $a2, $s5, $zero +/* 9D8860 80241840 0809063A */ j .L802418E8 +/* 9D8864 80241844 00000000 */ nop +/* 9D8868 80241848 0280202D */ daddu $a0, $s4, $zero +/* 9D886C 8024184C 0260282D */ daddu $a1, $s3, $zero +/* 9D8870 80241850 0C09043F */ jal func_802410FC +/* 9D8874 80241854 02A0302D */ daddu $a2, $s5, $zero +/* 9D8878 80241858 0809063A */ j .L802418E8 +/* 9D887C 8024185C 00000000 */ nop +/* 9D8880 80241860 0280202D */ daddu $a0, $s4, $zero +/* 9D8884 80241864 0260282D */ daddu $a1, $s3, $zero +/* 9D8888 80241868 0C09046C */ jal func_802411B0 +/* 9D888C 8024186C 02A0302D */ daddu $a2, $s5, $zero +/* 9D8890 80241870 0280202D */ daddu $a0, $s4, $zero +/* 9D8894 80241874 0260282D */ daddu $a1, $s3, $zero +/* 9D8898 80241878 0C090489 */ jal func_80241224 +/* 9D889C 8024187C 02A0302D */ daddu $a2, $s5, $zero +/* 9D88A0 80241880 0809063A */ j .L802418E8 +/* 9D88A4 80241884 00000000 */ nop +/* 9D88A8 80241888 0280202D */ daddu $a0, $s4, $zero +/* 9D88AC 8024188C 0260282D */ daddu $a1, $s3, $zero +/* 9D88B0 80241890 0C0904A7 */ jal func_8024129C +/* 9D88B4 80241894 02A0302D */ daddu $a2, $s5, $zero +/* 9D88B8 80241898 0280202D */ daddu $a0, $s4, $zero +/* 9D88BC 8024189C 0260282D */ daddu $a1, $s3, $zero +/* 9D88C0 802418A0 0C0904F3 */ jal func_802413CC +/* 9D88C4 802418A4 02A0302D */ daddu $a2, $s5, $zero +/* 9D88C8 802418A8 0809063A */ j .L802418E8 +/* 9D88CC 802418AC 00000000 */ nop +/* 9D88D0 802418B0 0280202D */ daddu $a0, $s4, $zero +/* 9D88D4 802418B4 0260282D */ daddu $a1, $s3, $zero +/* 9D88D8 802418B8 0C09053B */ jal func_802414EC +/* 9D88DC 802418BC 02A0302D */ daddu $a2, $s5, $zero +/* 9D88E0 802418C0 0809063A */ j .L802418E8 +/* 9D88E4 802418C4 00000000 */ nop +/* 9D88E8 802418C8 0280202D */ daddu $a0, $s4, $zero +/* 9D88EC 802418CC 0260282D */ daddu $a1, $s3, $zero +/* 9D88F0 802418D0 0C090555 */ jal func_80241554 +/* 9D88F4 802418D4 02A0302D */ daddu $a2, $s5, $zero +/* 9D88F8 802418D8 0809063A */ j .L802418E8 +/* 9D88FC 802418DC 00000000 */ nop +/* 9D8900 802418E0 0C0129CF */ jal func_8004A73C +/* 9D8904 802418E4 0280202D */ daddu $a0, $s4, $zero +.L802418E8: +/* 9D8908 802418E8 8FBF0060 */ lw $ra, 0x60($sp) +/* 9D890C 802418EC 8FB5005C */ lw $s5, 0x5c($sp) +/* 9D8910 802418F0 8FB40058 */ lw $s4, 0x58($sp) +/* 9D8914 802418F4 8FB30054 */ lw $s3, 0x54($sp) +/* 9D8918 802418F8 8FB20050 */ lw $s2, 0x50($sp) +/* 9D891C 802418FC 8FB1004C */ lw $s1, 0x4c($sp) +/* 9D8920 80241900 8FB00048 */ lw $s0, 0x48($sp) +/* 9D8924 80241904 0000102D */ daddu $v0, $zero, $zero +/* 9D8928 80241908 03E00008 */ jr $ra +/* 9D892C 8024190C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241910.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241910.s new file mode 100644 index 0000000000..3155626a1d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241910.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241910 +/* 9D8930 80241910 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D8934 80241914 AFB00010 */ sw $s0, 0x10($sp) +/* 9D8938 80241918 3C108024 */ lui $s0, 0x8024 +/* 9D893C 8024191C 261070C8 */ addiu $s0, $s0, 0x70c8 +/* 9D8940 80241920 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D8944 80241924 AFB10014 */ sw $s1, 0x14($sp) +/* 9D8948 80241928 8E020000 */ lw $v0, ($s0) +/* 9D894C 8024192C 14400010 */ bnez $v0, .L80241970 +/* 9D8950 80241930 0080882D */ daddu $s1, $a0, $zero +/* 9D8954 80241934 0C00AB39 */ jal heap_malloc +/* 9D8958 80241938 24040040 */ addiu $a0, $zero, 0x40 +/* 9D895C 8024193C AE020000 */ sw $v0, ($s0) +/* 9D8960 80241940 0000182D */ daddu $v1, $zero, $zero +/* 9D8964 80241944 0040282D */ daddu $a1, $v0, $zero +/* 9D8968 80241948 0220202D */ daddu $a0, $s1, $zero +.L8024194C: +/* 9D896C 8024194C 8C820084 */ lw $v0, 0x84($a0) +/* 9D8970 80241950 24840004 */ addiu $a0, $a0, 4 +/* 9D8974 80241954 24630001 */ addiu $v1, $v1, 1 +/* 9D8978 80241958 ACA20000 */ sw $v0, ($a1) +/* 9D897C 8024195C 28620010 */ slti $v0, $v1, 0x10 +/* 9D8980 80241960 1440FFFA */ bnez $v0, .L8024194C +/* 9D8984 80241964 24A50004 */ addiu $a1, $a1, 4 +/* 9D8988 80241968 0809066B */ j .L802419AC +/* 9D898C 8024196C 00000000 */ nop +.L80241970: +/* 9D8990 80241970 0000182D */ daddu $v1, $zero, $zero +/* 9D8994 80241974 0040282D */ daddu $a1, $v0, $zero +/* 9D8998 80241978 0220202D */ daddu $a0, $s1, $zero +.L8024197C: +/* 9D899C 8024197C 8CA20000 */ lw $v0, ($a1) +/* 9D89A0 80241980 24A50004 */ addiu $a1, $a1, 4 +/* 9D89A4 80241984 24630001 */ addiu $v1, $v1, 1 +/* 9D89A8 80241988 AC820084 */ sw $v0, 0x84($a0) +/* 9D89AC 8024198C 28620010 */ slti $v0, $v1, 0x10 +/* 9D89B0 80241990 1440FFFA */ bnez $v0, .L8024197C +/* 9D89B4 80241994 24840004 */ addiu $a0, $a0, 4 +/* 9D89B8 80241998 3C108024 */ lui $s0, 0x8024 +/* 9D89BC 8024199C 261070C8 */ addiu $s0, $s0, 0x70c8 +/* 9D89C0 802419A0 0C00AB4B */ jal heap_free +/* 9D89C4 802419A4 8E040000 */ lw $a0, ($s0) +/* 9D89C8 802419A8 AE000000 */ sw $zero, ($s0) +.L802419AC: +/* 9D89CC 802419AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D89D0 802419B0 8FB10014 */ lw $s1, 0x14($sp) +/* 9D89D4 802419B4 8FB00010 */ lw $s0, 0x10($sp) +/* 9D89D8 802419B8 24020002 */ addiu $v0, $zero, 2 +/* 9D89DC 802419BC 03E00008 */ jr $ra +/* 9D89E0 802419C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802419C4.s b/asm/nonmatchings/world/area_nok/nok_02/func_802419C4.s new file mode 100644 index 0000000000..f547ce74a7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802419C4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419C4 +/* 9D89E4 802419C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D89E8 802419C8 AFB00010 */ sw $s0, 0x10($sp) +/* 9D89EC 802419CC 0080802D */ daddu $s0, $a0, $zero +/* 9D89F0 802419D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D89F4 802419D4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D89F8 802419D8 8E02000C */ lw $v0, 0xc($s0) +/* 9D89FC 802419DC 8C510000 */ lw $s1, ($v0) +/* 9D8A00 802419E0 0C0B1EAF */ jal get_variable +/* 9D8A04 802419E4 0220282D */ daddu $a1, $s1, $zero +/* 9D8A08 802419E8 3C03FFF0 */ lui $v1, 0xfff0 +/* 9D8A0C 802419EC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9D8A10 802419F0 0200202D */ daddu $a0, $s0, $zero +/* 9D8A14 802419F4 00431024 */ and $v0, $v0, $v1 +/* 9D8A18 802419F8 00021140 */ sll $v0, $v0, 5 +/* 9D8A1C 802419FC 3C068008 */ lui $a2, %hi(gItemTable) +/* 9D8A20 80241A00 00C23021 */ addu $a2, $a2, $v0 +/* 9D8A24 80241A04 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9D8A28 80241A08 0C0B2026 */ jal set_variable +/* 9D8A2C 80241A0C 0220282D */ daddu $a1, $s1, $zero +/* 9D8A30 80241A10 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D8A34 80241A14 8FB10014 */ lw $s1, 0x14($sp) +/* 9D8A38 80241A18 8FB00010 */ lw $s0, 0x10($sp) +/* 9D8A3C 80241A1C 24020002 */ addiu $v0, $zero, 2 +/* 9D8A40 80241A20 03E00008 */ jr $ra +/* 9D8A44 80241A24 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241A28.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241A28.s new file mode 100644 index 0000000000..def048dbce --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241A28.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A28 +/* 9D8A48 80241A28 24020001 */ addiu $v0, $zero, 1 +/* 9D8A4C 80241A2C 3C018015 */ lui $at, %hi(D_80151310) +/* 9D8A50 80241A30 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* 9D8A54 80241A34 03E00008 */ jr $ra +/* 9D8A58 80241A38 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241A3C.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241A3C.s new file mode 100644 index 0000000000..1938b3b51b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241A3C.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A3C +/* 9D8A5C 80241A3C 3C018015 */ lui $at, %hi(D_80151310) +/* 9D8A60 80241A40 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* 9D8A64 80241A44 03E00008 */ jr $ra +/* 9D8A68 80241A48 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241A4C_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241A4C_9D7020.s new file mode 100644 index 0000000000..65aa42a0e6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241A4C_9D7020.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A4C_9D8A6C +/* 9D8A6C 80241A4C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D8A70 80241A50 AFB10024 */ sw $s1, 0x24($sp) +/* 9D8A74 80241A54 0080882D */ daddu $s1, $a0, $zero +/* 9D8A78 80241A58 3C05F840 */ lui $a1, 0xf840 +/* 9D8A7C 80241A5C AFBF0044 */ sw $ra, 0x44($sp) +/* 9D8A80 80241A60 AFBE0040 */ sw $fp, 0x40($sp) +/* 9D8A84 80241A64 AFB7003C */ sw $s7, 0x3c($sp) +/* 9D8A88 80241A68 AFB60038 */ sw $s6, 0x38($sp) +/* 9D8A8C 80241A6C AFB50034 */ sw $s5, 0x34($sp) +/* 9D8A90 80241A70 AFB40030 */ sw $s4, 0x30($sp) +/* 9D8A94 80241A74 AFB3002C */ sw $s3, 0x2c($sp) +/* 9D8A98 80241A78 AFB20028 */ sw $s2, 0x28($sp) +/* 9D8A9C 80241A7C AFB00020 */ sw $s0, 0x20($sp) +/* 9D8AA0 80241A80 8E3E0148 */ lw $fp, 0x148($s1) +/* 9D8AA4 80241A84 0C0B1EAF */ jal get_variable +/* 9D8AA8 80241A88 34A56268 */ ori $a1, $a1, 0x6268 +/* 9D8AAC 80241A8C 0040802D */ daddu $s0, $v0, $zero +/* 9D8AB0 80241A90 0220202D */ daddu $a0, $s1, $zero +/* 9D8AB4 80241A94 3C05F840 */ lui $a1, 0xf840 +/* 9D8AB8 80241A98 0C0B1EAF */ jal get_variable +/* 9D8ABC 80241A9C 34A56269 */ ori $a1, $a1, 0x6269 +/* 9D8AC0 80241AA0 0040B82D */ daddu $s7, $v0, $zero +/* 9D8AC4 80241AA4 0220202D */ daddu $a0, $s1, $zero +/* 9D8AC8 80241AA8 3C05F5DE */ lui $a1, 0xf5de +/* 9D8ACC 80241AAC 0C0B1EAF */ jal get_variable +/* 9D8AD0 80241AB0 34A502DE */ ori $a1, $a1, 0x2de +/* 9D8AD4 80241AB4 0040B02D */ daddu $s6, $v0, $zero +/* 9D8AD8 80241AB8 0220202D */ daddu $a0, $s1, $zero +/* 9D8ADC 80241ABC 3C05F5DE */ lui $a1, 0xf5de +/* 9D8AE0 80241AC0 0C0B1EAF */ jal get_variable +/* 9D8AE4 80241AC4 34A502DF */ ori $a1, $a1, 0x2df +/* 9D8AE8 80241AC8 0040A82D */ daddu $s5, $v0, $zero +/* 9D8AEC 80241ACC 93D3006D */ lbu $s3, 0x6d($fp) +/* 9D8AF0 80241AD0 32C2FFFF */ andi $v0, $s6, 0xffff +/* 9D8AF4 80241AD4 A7B30010 */ sh $s3, 0x10($sp) +/* 9D8AF8 80241AD8 93D2006E */ lbu $s2, 0x6e($fp) +/* 9D8AFC 80241ADC 93C7006F */ lbu $a3, 0x6f($fp) +/* 9D8B00 80241AE0 3274FFFF */ andi $s4, $s3, 0xffff +/* 9D8B04 80241AE4 12820003 */ beq $s4, $v0, .L80241AF4 +/* 9D8B08 80241AE8 A7A7001E */ sh $a3, 0x1e($sp) +/* 9D8B0C 80241AEC 0000B82D */ daddu $s7, $zero, $zero +/* 9D8B10 80241AF0 02E0802D */ daddu $s0, $s7, $zero +.L80241AF4: +/* 9D8B14 80241AF4 3202FFFF */ andi $v0, $s0, 0xffff +/* 9D8B18 80241AF8 14400016 */ bnez $v0, .L80241B54 +/* 9D8B1C 80241AFC 0220202D */ daddu $a0, $s1, $zero +/* 9D8B20 80241B00 0C00A67F */ jal rand_int +/* 9D8B24 80241B04 24040064 */ addiu $a0, $zero, 0x64 +/* 9D8B28 80241B08 2842001E */ slti $v0, $v0, 0x1e +/* 9D8B2C 80241B0C 10400011 */ beqz $v0, .L80241B54 +/* 9D8B30 80241B10 0220202D */ daddu $a0, $s1, $zero +/* 9D8B34 80241B14 0C00A67F */ jal rand_int +/* 9D8B38 80241B18 2644FFFF */ addiu $a0, $s2, -1 +/* 9D8B3C 80241B1C 0040A82D */ daddu $s5, $v0, $zero +/* 9D8B40 80241B20 0260B02D */ daddu $s6, $s3, $zero +/* 9D8B44 80241B24 0220202D */ daddu $a0, $s1, $zero +/* 9D8B48 80241B28 3C05F5DE */ lui $a1, 0xf5de +/* 9D8B4C 80241B2C 34A502DE */ ori $a1, $a1, 0x2de +/* 9D8B50 80241B30 0C0B2026 */ jal set_variable +/* 9D8B54 80241B34 0280302D */ daddu $a2, $s4, $zero +/* 9D8B58 80241B38 0220202D */ daddu $a0, $s1, $zero +/* 9D8B5C 80241B3C 3C05F5DE */ lui $a1, 0xf5de +/* 9D8B60 80241B40 34A502DF */ ori $a1, $a1, 0x2df +/* 9D8B64 80241B44 0C0B2026 */ jal set_variable +/* 9D8B68 80241B48 32A6FFFF */ andi $a2, $s5, 0xffff +/* 9D8B6C 80241B4C 24100001 */ addiu $s0, $zero, 1 +/* 9D8B70 80241B50 0220202D */ daddu $a0, $s1, $zero +.L80241B54: +/* 9D8B74 80241B54 3C05F840 */ lui $a1, 0xf840 +/* 9D8B78 80241B58 34A56268 */ ori $a1, $a1, 0x6268 +/* 9D8B7C 80241B5C 0C0B2026 */ jal set_variable +/* 9D8B80 80241B60 3206FFFF */ andi $a2, $s0, 0xffff +/* 9D8B84 80241B64 0220202D */ daddu $a0, $s1, $zero +/* 9D8B88 80241B68 3C05F840 */ lui $a1, 0xf840 +/* 9D8B8C 80241B6C 34A56269 */ ori $a1, $a1, 0x6269 +/* 9D8B90 80241B70 0C0B2026 */ jal set_variable +/* 9D8B94 80241B74 32E6FFFF */ andi $a2, $s7, 0xffff +/* 9D8B98 80241B78 0000202D */ daddu $a0, $zero, $zero +/* 9D8B9C 80241B7C 3C05F5DE */ lui $a1, 0xf5de +/* 9D8BA0 80241B80 0C0B1EAF */ jal get_variable +/* 9D8BA4 80241B84 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 9D8BA8 80241B88 0000202D */ daddu $a0, $zero, $zero +/* 9D8BAC 80241B8C 3C05F5DE */ lui $a1, 0xf5de +/* 9D8BB0 80241B90 34A50180 */ ori $a1, $a1, 0x180 +/* 9D8BB4 80241B94 0C0B1EAF */ jal get_variable +/* 9D8BB8 80241B98 0040802D */ daddu $s0, $v0, $zero +/* 9D8BBC 80241B9C 0040282D */ daddu $a1, $v0, $zero +/* 9D8BC0 80241BA0 0000182D */ daddu $v1, $zero, $zero +/* 9D8BC4 80241BA4 3C068024 */ lui $a2, 0x8024 +/* 9D8BC8 80241BA8 24C6716C */ addiu $a2, $a2, 0x716c +/* 9D8BCC 80241BAC 00C0202D */ daddu $a0, $a2, $zero +.L80241BB0: +/* 9D8BD0 80241BB0 8C820000 */ lw $v0, ($a0) +/* 9D8BD4 80241BB4 00A2102A */ slt $v0, $a1, $v0 +/* 9D8BD8 80241BB8 14400006 */ bnez $v0, .L80241BD4 +/* 9D8BDC 80241BBC 000310C0 */ sll $v0, $v1, 3 +/* 9D8BE0 80241BC0 24630001 */ addiu $v1, $v1, 1 +/* 9D8BE4 80241BC4 28620008 */ slti $v0, $v1, 8 +/* 9D8BE8 80241BC8 1440FFF9 */ bnez $v0, .L80241BB0 +/* 9D8BEC 80241BCC 24840008 */ addiu $a0, $a0, 8 +/* 9D8BF0 80241BD0 000310C0 */ sll $v0, $v1, 3 +.L80241BD4: +/* 9D8BF4 80241BD4 00461021 */ addu $v0, $v0, $a2 +/* 9D8BF8 80241BD8 8C420004 */ lw $v0, 4($v0) +/* 9D8BFC 80241BDC 97A30010 */ lhu $v1, 0x10($sp) +/* 9D8C00 80241BE0 0202202A */ slt $a0, $s0, $v0 +/* 9D8C04 80241BE4 32C2FFFF */ andi $v0, $s6, 0xffff +/* 9D8C08 80241BE8 14620008 */ bne $v1, $v0, .L80241C0C +/* 9D8C0C 80241BEC 32A2FFFF */ andi $v0, $s5, 0xffff +/* 9D8C10 80241BF0 97A7001E */ lhu $a3, 0x1e($sp) +/* 9D8C14 80241BF4 14E20005 */ bne $a3, $v0, .L80241C0C +/* 9D8C18 80241BF8 32E2FFFF */ andi $v0, $s7, 0xffff +/* 9D8C1C 80241BFC 14400003 */ bnez $v0, .L80241C0C +/* 9D8C20 80241C00 00000000 */ nop +/* 9D8C24 80241C04 14800008 */ bnez $a0, .L80241C28 +/* 9D8C28 80241C08 24020001 */ addiu $v0, $zero, 1 +.L80241C0C: +/* 9D8C2C 80241C0C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9D8C30 80241C10 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9D8C34 80241C14 80420075 */ lb $v0, 0x75($v0) +/* 9D8C38 80241C18 10400005 */ beqz $v0, .L80241C30 +/* 9D8C3C 80241C1C 00000000 */ nop +/* 9D8C40 80241C20 10800003 */ beqz $a0, .L80241C30 +/* 9D8C44 80241C24 24020001 */ addiu $v0, $zero, 1 +.L80241C28: +/* 9D8C48 80241C28 0809070F */ j .L80241C3C +/* 9D8C4C 80241C2C AE220084 */ sw $v0, 0x84($s1) +.L80241C30: +/* 9D8C50 80241C30 0C00F9EB */ jal kill_enemy +/* 9D8C54 80241C34 03C0202D */ daddu $a0, $fp, $zero +/* 9D8C58 80241C38 AE200084 */ sw $zero, 0x84($s1) +.L80241C3C: +/* 9D8C5C 80241C3C 8FBF0044 */ lw $ra, 0x44($sp) +/* 9D8C60 80241C40 8FBE0040 */ lw $fp, 0x40($sp) +/* 9D8C64 80241C44 8FB7003C */ lw $s7, 0x3c($sp) +/* 9D8C68 80241C48 8FB60038 */ lw $s6, 0x38($sp) +/* 9D8C6C 80241C4C 8FB50034 */ lw $s5, 0x34($sp) +/* 9D8C70 80241C50 8FB40030 */ lw $s4, 0x30($sp) +/* 9D8C74 80241C54 8FB3002C */ lw $s3, 0x2c($sp) +/* 9D8C78 80241C58 8FB20028 */ lw $s2, 0x28($sp) +/* 9D8C7C 80241C5C 8FB10024 */ lw $s1, 0x24($sp) +/* 9D8C80 80241C60 8FB00020 */ lw $s0, 0x20($sp) +/* 9D8C84 80241C64 24020002 */ addiu $v0, $zero, 2 +/* 9D8C88 80241C68 03E00008 */ jr $ra +/* 9D8C8C 80241C6C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241C70.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241C70.s new file mode 100644 index 0000000000..5af50fd7d5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241C70.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C70 +/* 9D8C90 80241C70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D8C94 80241C74 AFBF0014 */ sw $ra, 0x14($sp) +/* 9D8C98 80241C78 AFB00010 */ sw $s0, 0x10($sp) +/* 9D8C9C 80241C7C 0C00EABB */ jal get_npc_unsafe +/* 9D8CA0 80241C80 8C84014C */ lw $a0, 0x14c($a0) +/* 9D8CA4 80241C84 24040008 */ addiu $a0, $zero, 8 +/* 9D8CA8 80241C88 0040802D */ daddu $s0, $v0, $zero +/* 9D8CAC 80241C8C 3C028024 */ lui $v0, 0x8024 +/* 9D8CB0 80241C90 24421CDC */ addiu $v0, $v0, 0x1cdc +/* 9D8CB4 80241C94 0C00AB39 */ jal heap_malloc +/* 9D8CB8 80241C98 AE020008 */ sw $v0, 8($s0) +/* 9D8CBC 80241C9C 0040182D */ daddu $v1, $v0, $zero +/* 9D8CC0 80241CA0 AE030020 */ sw $v1, 0x20($s0) +/* 9D8CC4 80241CA4 AC600000 */ sw $zero, ($v1) +/* 9D8CC8 80241CA8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9D8CCC 80241CAC 8FB00010 */ lw $s0, 0x10($sp) +/* 9D8CD0 80241CB0 24020001 */ addiu $v0, $zero, 1 +/* 9D8CD4 80241CB4 03E00008 */ jr $ra +/* 9D8CD8 80241CB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241CBC.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241CBC.s new file mode 100644 index 0000000000..d0f36cd929 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241CBC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CBC +/* 9D8CDC 80241CBC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D8CE0 80241CC0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D8CE4 80241CC4 0C00EABB */ jal get_npc_unsafe +/* 9D8CE8 80241CC8 8C84014C */ lw $a0, 0x14c($a0) +/* 9D8CEC 80241CCC 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D8CF0 80241CD0 0000102D */ daddu $v0, $zero, $zero +/* 9D8CF4 80241CD4 03E00008 */ jr $ra +/* 9D8CF8 80241CD8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241CDC.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241CDC.s new file mode 100644 index 0000000000..228a34ad5a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241CDC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CDC +/* 9D8CFC 80241CDC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D8D00 80241CE0 3C03800A */ lui $v1, 0x800a +/* 9D8D04 80241CE4 8463A634 */ lh $v1, -0x59cc($v1) +/* 9D8D08 80241CE8 3C05800B */ lui $a1, %hi(gCameras) +/* 9D8D0C 80241CEC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* 9D8D10 80241CF0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D8D14 80241CF4 00031080 */ sll $v0, $v1, 2 +/* 9D8D18 80241CF8 00431021 */ addu $v0, $v0, $v1 +/* 9D8D1C 80241CFC 00021080 */ sll $v0, $v0, 2 +/* 9D8D20 80241D00 00431023 */ subu $v0, $v0, $v1 +/* 9D8D24 80241D04 000218C0 */ sll $v1, $v0, 3 +/* 9D8D28 80241D08 00431021 */ addu $v0, $v0, $v1 +/* 9D8D2C 80241D0C 8C830020 */ lw $v1, 0x20($a0) +/* 9D8D30 80241D10 000210C0 */ sll $v0, $v0, 3 +/* 9D8D34 80241D14 8C630000 */ lw $v1, ($v1) +/* 9D8D38 80241D18 30630001 */ andi $v1, $v1, 1 +/* 9D8D3C 80241D1C 10600004 */ beqz $v1, .L80241D30 +/* 9D8D40 80241D20 00451021 */ addu $v0, $v0, $a1 +/* 9D8D44 80241D24 C44C006C */ lwc1 $f12, 0x6c($v0) +/* 9D8D48 80241D28 0C00A6C9 */ jal clamp_angle +/* 9D8D4C 80241D2C 46006307 */ neg.s $f12, $f12 +.L80241D30: +/* 9D8D50 80241D30 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D8D54 80241D34 03E00008 */ jr $ra +/* 9D8D58 80241D38 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241D3C.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241D3C.s new file mode 100644 index 0000000000..c45e3092e3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241D3C.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D3C +/* 9D8D5C 80241D3C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D8D60 80241D40 AFB10014 */ sw $s1, 0x14($sp) +/* 9D8D64 80241D44 0080882D */ daddu $s1, $a0, $zero +/* 9D8D68 80241D48 AFBF0024 */ sw $ra, 0x24($sp) +/* 9D8D6C 80241D4C AFB40020 */ sw $s4, 0x20($sp) +/* 9D8D70 80241D50 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D8D74 80241D54 AFB20018 */ sw $s2, 0x18($sp) +/* 9D8D78 80241D58 10A00033 */ beqz $a1, .L80241E28 +/* 9D8D7C 80241D5C AFB00010 */ sw $s0, 0x10($sp) +/* 9D8D80 80241D60 0C04760B */ jal func_8011D82C +/* 9D8D84 80241D64 24040001 */ addiu $a0, $zero, 1 +/* 9D8D88 80241D68 0000202D */ daddu $a0, $zero, $zero +/* 9D8D8C 80241D6C 0080282D */ daddu $a1, $a0, $zero +/* 9D8D90 80241D70 0080302D */ daddu $a2, $a0, $zero +/* 9D8D94 80241D74 0080382D */ daddu $a3, $a0, $zero +/* 9D8D98 80241D78 0080802D */ daddu $s0, $a0, $zero +/* 9D8D9C 80241D7C 2414FFFC */ addiu $s4, $zero, -4 +/* 9D8DA0 80241D80 24130013 */ addiu $s3, $zero, 0x13 +/* 9D8DA4 80241D84 3C120080 */ lui $s2, 0x80 +/* 9D8DA8 80241D88 3C038015 */ lui $v1, 0x8015 +/* 9D8DAC 80241D8C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* 9D8DB0 80241D90 24020001 */ addiu $v0, $zero, 1 +/* 9D8DB4 80241D94 0C046F97 */ jal set_background_color_blend +/* 9D8DB8 80241D98 A0620000 */ sb $v0, ($v1) +.L80241D9C: +/* 9D8DBC 80241D9C 0C00E2B7 */ jal get_npc_by_index +/* 9D8DC0 80241DA0 0200202D */ daddu $a0, $s0, $zero +/* 9D8DC4 80241DA4 0040202D */ daddu $a0, $v0, $zero +/* 9D8DC8 80241DA8 5080000B */ beql $a0, $zero, .L80241DD8 +/* 9D8DCC 80241DAC 26100001 */ addiu $s0, $s0, 1 +/* 9D8DD0 80241DB0 8C820000 */ lw $v0, ($a0) +/* 9D8DD4 80241DB4 50400008 */ beql $v0, $zero, .L80241DD8 +/* 9D8DD8 80241DB8 26100001 */ addiu $s0, $s0, 1 +/* 9D8DDC 80241DBC 808300A4 */ lb $v1, 0xa4($a0) +/* 9D8DE0 80241DC0 10740005 */ beq $v1, $s4, .L80241DD8 +/* 9D8DE4 80241DC4 26100001 */ addiu $s0, $s0, 1 +/* 9D8DE8 80241DC8 10730003 */ beq $v1, $s3, .L80241DD8 +/* 9D8DEC 80241DCC 00000000 */ nop +/* 9D8DF0 80241DD0 00521025 */ or $v0, $v0, $s2 +/* 9D8DF4 80241DD4 AC820000 */ sw $v0, ($a0) +.L80241DD8: +/* 9D8DF8 80241DD8 2A020040 */ slti $v0, $s0, 0x40 +/* 9D8DFC 80241DDC 1440FFEF */ bnez $v0, .L80241D9C +/* 9D8E00 80241DE0 00000000 */ nop +/* 9D8E04 80241DE4 0000802D */ daddu $s0, $zero, $zero +/* 9D8E08 80241DE8 3C120800 */ lui $s2, 0x800 +.L80241DEC: +/* 9D8E0C 80241DEC 0C04C3D6 */ jal get_item_entity +/* 9D8E10 80241DF0 0200202D */ daddu $a0, $s0, $zero +/* 9D8E14 80241DF4 0040182D */ daddu $v1, $v0, $zero +/* 9D8E18 80241DF8 10600007 */ beqz $v1, .L80241E18 +/* 9D8E1C 80241DFC 26100001 */ addiu $s0, $s0, 1 +/* 9D8E20 80241E00 8C640000 */ lw $a0, ($v1) +/* 9D8E24 80241E04 30820010 */ andi $v0, $a0, 0x10 +/* 9D8E28 80241E08 10400003 */ beqz $v0, .L80241E18 +/* 9D8E2C 80241E0C 00000000 */ nop +/* 9D8E30 80241E10 00921025 */ or $v0, $a0, $s2 +/* 9D8E34 80241E14 AC620000 */ sw $v0, ($v1) +.L80241E18: +/* 9D8E38 80241E18 2A020100 */ slti $v0, $s0, 0x100 +/* 9D8E3C 80241E1C 1440FFF3 */ bnez $v0, .L80241DEC +/* 9D8E40 80241E20 00000000 */ nop +/* 9D8E44 80241E24 AE200070 */ sw $zero, 0x70($s1) +.L80241E28: +/* 9D8E48 80241E28 8E220070 */ lw $v0, 0x70($s1) +/* 9D8E4C 80241E2C 24420008 */ addiu $v0, $v0, 8 +/* 9D8E50 80241E30 AE220070 */ sw $v0, 0x70($s1) +/* 9D8E54 80241E34 28420100 */ slti $v0, $v0, 0x100 +/* 9D8E58 80241E38 14400003 */ bnez $v0, .L80241E48 +/* 9D8E5C 80241E3C 0000202D */ daddu $a0, $zero, $zero +/* 9D8E60 80241E40 240200FF */ addiu $v0, $zero, 0xff +/* 9D8E64 80241E44 AE220070 */ sw $v0, 0x70($s1) +.L80241E48: +/* 9D8E68 80241E48 0080282D */ daddu $a1, $a0, $zero +/* 9D8E6C 80241E4C 92270073 */ lbu $a3, 0x73($s1) +/* 9D8E70 80241E50 0C046F97 */ jal set_background_color_blend +/* 9D8E74 80241E54 0080302D */ daddu $a2, $a0, $zero +/* 9D8E78 80241E58 8E220070 */ lw $v0, 0x70($s1) +/* 9D8E7C 80241E5C 8FBF0024 */ lw $ra, 0x24($sp) +/* 9D8E80 80241E60 8FB40020 */ lw $s4, 0x20($sp) +/* 9D8E84 80241E64 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D8E88 80241E68 8FB20018 */ lw $s2, 0x18($sp) +/* 9D8E8C 80241E6C 8FB10014 */ lw $s1, 0x14($sp) +/* 9D8E90 80241E70 8FB00010 */ lw $s0, 0x10($sp) +/* 9D8E94 80241E74 384200FF */ xori $v0, $v0, 0xff +/* 9D8E98 80241E78 2C420001 */ sltiu $v0, $v0, 1 +/* 9D8E9C 80241E7C 00021040 */ sll $v0, $v0, 1 +/* 9D8EA0 80241E80 03E00008 */ jr $ra +/* 9D8EA4 80241E84 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241E88.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241E88.s new file mode 100644 index 0000000000..78640bb234 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241E88.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E88 +/* 9D8EA8 80241E88 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D8EAC 80241E8C AFB00010 */ sw $s0, 0x10($sp) +/* 9D8EB0 80241E90 0080802D */ daddu $s0, $a0, $zero +/* 9D8EB4 80241E94 AFBF0020 */ sw $ra, 0x20($sp) +/* 9D8EB8 80241E98 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D8EBC 80241E9C AFB20018 */ sw $s2, 0x18($sp) +/* 9D8EC0 80241EA0 10A00009 */ beqz $a1, .L80241EC8 +/* 9D8EC4 80241EA4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D8EC8 80241EA8 0000202D */ daddu $a0, $zero, $zero +/* 9D8ECC 80241EAC 0080282D */ daddu $a1, $a0, $zero +/* 9D8ED0 80241EB0 0080302D */ daddu $a2, $a0, $zero +/* 9D8ED4 80241EB4 0C046F97 */ jal set_background_color_blend +/* 9D8ED8 80241EB8 240700FF */ addiu $a3, $zero, 0xff +/* 9D8EDC 80241EBC 240200FF */ addiu $v0, $zero, 0xff +/* 9D8EE0 80241EC0 AE020070 */ sw $v0, 0x70($s0) +/* 9D8EE4 80241EC4 AE000074 */ sw $zero, 0x74($s0) +.L80241EC8: +/* 9D8EE8 80241EC8 8E020070 */ lw $v0, 0x70($s0) +/* 9D8EEC 80241ECC 2442FFF8 */ addiu $v0, $v0, -8 +/* 9D8EF0 80241ED0 04410002 */ bgez $v0, .L80241EDC +/* 9D8EF4 80241ED4 AE020070 */ sw $v0, 0x70($s0) +/* 9D8EF8 80241ED8 AE000070 */ sw $zero, 0x70($s0) +.L80241EDC: +/* 9D8EFC 80241EDC 0000202D */ daddu $a0, $zero, $zero +/* 9D8F00 80241EE0 0080282D */ daddu $a1, $a0, $zero +/* 9D8F04 80241EE4 92070073 */ lbu $a3, 0x73($s0) +/* 9D8F08 80241EE8 0C046F97 */ jal set_background_color_blend +/* 9D8F0C 80241EEC 0080302D */ daddu $a2, $a0, $zero +/* 9D8F10 80241EF0 8E020070 */ lw $v0, 0x70($s0) +/* 9D8F14 80241EF4 14400006 */ bnez $v0, .L80241F10 +/* 9D8F18 80241EF8 00000000 */ nop +/* 9D8F1C 80241EFC 8E020074 */ lw $v0, 0x74($s0) +/* 9D8F20 80241F00 14400003 */ bnez $v0, .L80241F10 +/* 9D8F24 80241F04 24020001 */ addiu $v0, $zero, 1 +/* 9D8F28 80241F08 080907F7 */ j .L80241FDC +/* 9D8F2C 80241F0C AE020074 */ sw $v0, 0x74($s0) +.L80241F10: +/* 9D8F30 80241F10 8E030074 */ lw $v1, 0x74($s0) +/* 9D8F34 80241F14 24020001 */ addiu $v0, $zero, 1 +/* 9D8F38 80241F18 14620031 */ bne $v1, $v0, .L80241FE0 +/* 9D8F3C 80241F1C 0000102D */ daddu $v0, $zero, $zero +/* 9D8F40 80241F20 0C04760B */ jal func_8011D82C +/* 9D8F44 80241F24 0000202D */ daddu $a0, $zero, $zero +/* 9D8F48 80241F28 0000802D */ daddu $s0, $zero, $zero +/* 9D8F4C 80241F2C 2413FFFC */ addiu $s3, $zero, -4 +/* 9D8F50 80241F30 24120013 */ addiu $s2, $zero, 0x13 +/* 9D8F54 80241F34 3C11FF7F */ lui $s1, 0xff7f +/* 9D8F58 80241F38 3C028015 */ lui $v0, 0x8015 +/* 9D8F5C 80241F3C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 9D8F60 80241F40 3631FFFF */ ori $s1, $s1, 0xffff +/* 9D8F64 80241F44 A0400000 */ sb $zero, ($v0) +.L80241F48: +/* 9D8F68 80241F48 0C00E2B7 */ jal get_npc_by_index +/* 9D8F6C 80241F4C 0200202D */ daddu $a0, $s0, $zero +/* 9D8F70 80241F50 0040202D */ daddu $a0, $v0, $zero +/* 9D8F74 80241F54 5080000B */ beql $a0, $zero, .L80241F84 +/* 9D8F78 80241F58 26100001 */ addiu $s0, $s0, 1 +/* 9D8F7C 80241F5C 8C820000 */ lw $v0, ($a0) +/* 9D8F80 80241F60 50400008 */ beql $v0, $zero, .L80241F84 +/* 9D8F84 80241F64 26100001 */ addiu $s0, $s0, 1 +/* 9D8F88 80241F68 808300A4 */ lb $v1, 0xa4($a0) +/* 9D8F8C 80241F6C 10730005 */ beq $v1, $s3, .L80241F84 +/* 9D8F90 80241F70 26100001 */ addiu $s0, $s0, 1 +/* 9D8F94 80241F74 10720003 */ beq $v1, $s2, .L80241F84 +/* 9D8F98 80241F78 00000000 */ nop +/* 9D8F9C 80241F7C 00511024 */ and $v0, $v0, $s1 +/* 9D8FA0 80241F80 AC820000 */ sw $v0, ($a0) +.L80241F84: +/* 9D8FA4 80241F84 2A020040 */ slti $v0, $s0, 0x40 +/* 9D8FA8 80241F88 1440FFEF */ bnez $v0, .L80241F48 +/* 9D8FAC 80241F8C 00000000 */ nop +/* 9D8FB0 80241F90 0000802D */ daddu $s0, $zero, $zero +/* 9D8FB4 80241F94 3C11F7FF */ lui $s1, 0xf7ff +/* 9D8FB8 80241F98 3631FFFF */ ori $s1, $s1, 0xffff +.L80241F9C: +/* 9D8FBC 80241F9C 0C04C3D6 */ jal get_item_entity +/* 9D8FC0 80241FA0 0200202D */ daddu $a0, $s0, $zero +/* 9D8FC4 80241FA4 0040182D */ daddu $v1, $v0, $zero +/* 9D8FC8 80241FA8 10600007 */ beqz $v1, .L80241FC8 +/* 9D8FCC 80241FAC 26100001 */ addiu $s0, $s0, 1 +/* 9D8FD0 80241FB0 8C640000 */ lw $a0, ($v1) +/* 9D8FD4 80241FB4 30820010 */ andi $v0, $a0, 0x10 +/* 9D8FD8 80241FB8 10400003 */ beqz $v0, .L80241FC8 +/* 9D8FDC 80241FBC 00000000 */ nop +/* 9D8FE0 80241FC0 00911024 */ and $v0, $a0, $s1 +/* 9D8FE4 80241FC4 AC620000 */ sw $v0, ($v1) +.L80241FC8: +/* 9D8FE8 80241FC8 2A020100 */ slti $v0, $s0, 0x100 +/* 9D8FEC 80241FCC 1440FFF3 */ bnez $v0, .L80241F9C +/* 9D8FF0 80241FD0 24020002 */ addiu $v0, $zero, 2 +/* 9D8FF4 80241FD4 080907F8 */ j .L80241FE0 +/* 9D8FF8 80241FD8 00000000 */ nop +.L80241FDC: +/* 9D8FFC 80241FDC 0000102D */ daddu $v0, $zero, $zero +.L80241FE0: +/* 9D9000 80241FE0 8FBF0020 */ lw $ra, 0x20($sp) +/* 9D9004 80241FE4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D9008 80241FE8 8FB20018 */ lw $s2, 0x18($sp) +/* 9D900C 80241FEC 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9010 80241FF0 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9014 80241FF4 03E00008 */ jr $ra +/* 9D9018 80241FF8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80241FFC.s b/asm/nonmatchings/world/area_nok/nok_02/func_80241FFC.s new file mode 100644 index 0000000000..fed20b4957 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80241FFC.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FFC +/* 9D901C 80241FFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D9020 80242000 AFB00010 */ sw $s0, 0x10($sp) +/* 9D9024 80242004 3C108011 */ lui $s0, %hi(gPlayerData) +/* 9D9028 80242008 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* 9D902C 8024200C AFBF0018 */ sw $ra, 0x18($sp) +/* 9D9030 80242010 AFB10014 */ sw $s1, 0x14($sp) +/* 9D9034 80242014 960302C0 */ lhu $v1, 0x2c0($s0) +/* 9D9038 80242018 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* 9D903C 8024201C 10400003 */ beqz $v0, .L8024202C +/* 9D9040 80242020 0080882D */ daddu $s1, $a0, $zero +/* 9D9044 80242024 24620001 */ addiu $v0, $v1, 1 +/* 9D9048 80242028 A60202C0 */ sh $v0, 0x2c0($s0) +.L8024202C: +/* 9D904C 8024202C 3C05F5DE */ lui $a1, 0xf5de +/* 9D9050 80242030 34A502E0 */ ori $a1, $a1, 0x2e0 +/* 9D9054 80242034 0C0B1EAF */ jal get_variable +/* 9D9058 80242038 0000202D */ daddu $a0, $zero, $zero +/* 9D905C 8024203C 3C038024 */ lui $v1, 0x8024 +/* 9D9060 80242040 00621821 */ addu $v1, $v1, $v0 +/* 9D9064 80242044 9063712C */ lbu $v1, 0x712c($v1) +/* 9D9068 80242048 8E220084 */ lw $v0, 0x84($s1) +/* 9D906C 8024204C 54430006 */ bnel $v0, $v1, .L80242068 +/* 9D9070 80242050 AE200084 */ sw $zero, 0x84($s1) +/* 9D9074 80242054 24020001 */ addiu $v0, $zero, 1 +/* 9D9078 80242058 AE220084 */ sw $v0, 0x84($s1) +/* 9D907C 8024205C 960202C2 */ lhu $v0, 0x2c2($s0) +/* 9D9080 80242060 24420001 */ addiu $v0, $v0, 1 +/* 9D9084 80242064 A60202C2 */ sh $v0, 0x2c2($s0) +.L80242068: +/* 9D9088 80242068 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D908C 8024206C 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9090 80242070 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9094 80242074 24020002 */ addiu $v0, $zero, 2 +/* 9D9098 80242078 03E00008 */ jr $ra +/* 9D909C 8024207C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242080.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242080.s new file mode 100644 index 0000000000..c2e94a8ac6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242080.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242080 +/* 9D90A0 80242080 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9D90A4 80242084 AFB1001C */ sw $s1, 0x1c($sp) +/* 9D90A8 80242088 AFBF0020 */ sw $ra, 0x20($sp) +/* 9D90AC 8024208C AFB00018 */ sw $s0, 0x18($sp) +/* 9D90B0 80242090 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9D90B4 80242094 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9D90B8 80242098 10A00060 */ beqz $a1, .L8024221C +/* 9D90BC 8024209C 0080882D */ daddu $s1, $a0, $zero +/* 9D90C0 802420A0 3C05F4AC */ lui $a1, 0xf4ac +/* 9D90C4 802420A4 0C0B1EAF */ jal get_variable +/* 9D90C8 802420A8 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9D90CC 802420AC 0220202D */ daddu $a0, $s1, $zero +/* 9D90D0 802420B0 3C05F4AC */ lui $a1, 0xf4ac +/* 9D90D4 802420B4 4482B000 */ mtc1 $v0, $f22 +/* 9D90D8 802420B8 00000000 */ nop +/* 9D90DC 802420BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D90E0 802420C0 0C0B1EAF */ jal get_variable +/* 9D90E4 802420C4 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9D90E8 802420C8 0220202D */ daddu $a0, $s1, $zero +/* 9D90EC 802420CC 3C05F4AC */ lui $a1, 0xf4ac +/* 9D90F0 802420D0 4482A000 */ mtc1 $v0, $f20 +/* 9D90F4 802420D4 00000000 */ nop +/* 9D90F8 802420D8 4680A520 */ cvt.s.w $f20, $f20 +/* 9D90FC 802420DC 0C0B1EAF */ jal get_variable +/* 9D9100 802420E0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9D9104 802420E4 44821000 */ mtc1 $v0, $f2 +/* 9D9108 802420E8 00000000 */ nop +/* 9D910C 802420EC 468010A0 */ cvt.s.w $f2, $f2 +/* 9D9110 802420F0 4405B000 */ mfc1 $a1, $f22 +/* 9D9114 802420F4 4406A000 */ mfc1 $a2, $f20 +/* 9D9118 802420F8 44071000 */ mfc1 $a3, $f2 +/* 9D911C 802420FC 0C01C574 */ jal func_800715D0 +/* 9D9120 80242100 0000202D */ daddu $a0, $zero, $zero +/* 9D9124 80242104 0220202D */ daddu $a0, $s1, $zero +/* 9D9128 80242108 3C05F4AC */ lui $a1, 0xf4ac +/* 9D912C 8024210C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9D9130 80242110 3C108025 */ lui $s0, 0x8025 +/* 9D9134 80242114 261049C0 */ addiu $s0, $s0, 0x49c0 +/* 9D9138 80242118 0C0B1EAF */ jal get_variable +/* 9D913C 8024211C AE020000 */ sw $v0, ($s0) +/* 9D9140 80242120 0220202D */ daddu $a0, $s1, $zero +/* 9D9144 80242124 3C05F4AC */ lui $a1, 0xf4ac +/* 9D9148 80242128 4482B000 */ mtc1 $v0, $f22 +/* 9D914C 8024212C 00000000 */ nop +/* 9D9150 80242130 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D9154 80242134 0C0B1EAF */ jal get_variable +/* 9D9158 80242138 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9D915C 8024213C 0220202D */ daddu $a0, $s1, $zero +/* 9D9160 80242140 3C05F4AC */ lui $a1, 0xf4ac +/* 9D9164 80242144 4482A000 */ mtc1 $v0, $f20 +/* 9D9168 80242148 00000000 */ nop +/* 9D916C 8024214C 4680A520 */ cvt.s.w $f20, $f20 +/* 9D9170 80242150 0C0B1EAF */ jal get_variable +/* 9D9174 80242154 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9D9178 80242158 44821000 */ mtc1 $v0, $f2 +/* 9D917C 8024215C 00000000 */ nop +/* 9D9180 80242160 468010A0 */ cvt.s.w $f2, $f2 +/* 9D9184 80242164 4405B000 */ mfc1 $a1, $f22 +/* 9D9188 80242168 4406A000 */ mfc1 $a2, $f20 +/* 9D918C 8024216C 44071000 */ mfc1 $a3, $f2 +/* 9D9190 80242170 0C01C604 */ jal func_80071810 +/* 9D9194 80242174 0000202D */ daddu $a0, $zero, $zero +/* 9D9198 80242178 0220202D */ daddu $a0, $s1, $zero +/* 9D919C 8024217C 3C05F4AC */ lui $a1, 0xf4ac +/* 9D91A0 80242180 3C018025 */ lui $at, 0x8025 +/* 9D91A4 80242184 AC2249C4 */ sw $v0, 0x49c4($at) +/* 9D91A8 80242188 0C0B1EAF */ jal get_variable +/* 9D91AC 8024218C 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9D91B0 80242190 0220202D */ daddu $a0, $s1, $zero +/* 9D91B4 80242194 3C05F4AC */ lui $a1, 0xf4ac +/* 9D91B8 80242198 4482B000 */ mtc1 $v0, $f22 +/* 9D91BC 8024219C 00000000 */ nop +/* 9D91C0 802421A0 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D91C4 802421A4 0C0B1EAF */ jal get_variable +/* 9D91C8 802421A8 34A5D482 */ ori $a1, $a1, 0xd482 +/* 9D91CC 802421AC 0220202D */ daddu $a0, $s1, $zero +/* 9D91D0 802421B0 3C05F4AC */ lui $a1, 0xf4ac +/* 9D91D4 802421B4 4482A000 */ mtc1 $v0, $f20 +/* 9D91D8 802421B8 00000000 */ nop +/* 9D91DC 802421BC 4680A520 */ cvt.s.w $f20, $f20 +/* 9D91E0 802421C0 0C0B1EAF */ jal get_variable +/* 9D91E4 802421C4 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9D91E8 802421C8 44821000 */ mtc1 $v0, $f2 +/* 9D91EC 802421CC 00000000 */ nop +/* 9D91F0 802421D0 468010A0 */ cvt.s.w $f2, $f2 +/* 9D91F4 802421D4 4405B000 */ mfc1 $a1, $f22 +/* 9D91F8 802421D8 4406A000 */ mfc1 $a2, $f20 +/* 9D91FC 802421DC 3C013F80 */ lui $at, 0x3f80 +/* 9D9200 802421E0 44810000 */ mtc1 $at, $f0 +/* 9D9204 802421E4 44071000 */ mfc1 $a3, $f2 +/* 9D9208 802421E8 0000202D */ daddu $a0, $zero, $zero +/* 9D920C 802421EC AFA00014 */ sw $zero, 0x14($sp) +/* 9D9210 802421F0 0C01CA24 */ jal func_80072890 +/* 9D9214 802421F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D9218 802421F8 8E030000 */ lw $v1, ($s0) +/* 9D921C 802421FC 8C64000C */ lw $a0, 0xc($v1) +/* 9D9220 80242200 3C018025 */ lui $at, 0x8025 +/* 9D9224 80242204 AC2249C8 */ sw $v0, 0x49c8($at) +/* 9D9228 80242208 AC800018 */ sw $zero, 0x18($a0) +/* 9D922C 8024220C AC800020 */ sw $zero, 0x20($a0) +/* 9D9230 80242210 AC800024 */ sw $zero, 0x24($a0) +/* 9D9234 80242214 AC800028 */ sw $zero, 0x28($a0) +/* 9D9238 80242218 AC80001C */ sw $zero, 0x1c($a0) +.L8024221C: +/* 9D923C 8024221C 3C028025 */ lui $v0, 0x8025 +/* 9D9240 80242220 8C4249C0 */ lw $v0, 0x49c0($v0) +/* 9D9244 80242224 8C44000C */ lw $a0, 0xc($v0) +/* 9D9248 80242228 8C820020 */ lw $v0, 0x20($a0) +/* 9D924C 8024222C 8C830028 */ lw $v1, 0x28($a0) +/* 9D9250 80242230 2442000A */ addiu $v0, $v0, 0xa +/* 9D9254 80242234 AC820020 */ sw $v0, 0x20($a0) +/* 9D9258 80242238 8C820024 */ lw $v0, 0x24($a0) +/* 9D925C 8024223C 2463000A */ addiu $v1, $v1, 0xa +/* 9D9260 80242240 AC830028 */ sw $v1, 0x28($a0) +/* 9D9264 80242244 8C830018 */ lw $v1, 0x18($a0) +/* 9D9268 80242248 2442000A */ addiu $v0, $v0, 0xa +/* 9D926C 8024224C AC820024 */ sw $v0, 0x24($a0) +/* 9D9270 80242250 8C82001C */ lw $v0, 0x1c($a0) +/* 9D9274 80242254 2463000A */ addiu $v1, $v1, 0xa +/* 9D9278 80242258 AC830018 */ sw $v1, 0x18($a0) +/* 9D927C 8024225C 286300FF */ slti $v1, $v1, 0xff +/* 9D9280 80242260 2442000A */ addiu $v0, $v0, 0xa +/* 9D9284 80242264 AC82001C */ sw $v0, 0x1c($a0) +/* 9D9288 80242268 14600004 */ bnez $v1, .L8024227C +/* 9D928C 8024226C 0000102D */ daddu $v0, $zero, $zero +/* 9D9290 80242270 240200FF */ addiu $v0, $zero, 0xff +/* 9D9294 80242274 AC820018 */ sw $v0, 0x18($a0) +/* 9D9298 80242278 24020002 */ addiu $v0, $zero, 2 +.L8024227C: +/* 9D929C 8024227C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9D92A0 80242280 8FB1001C */ lw $s1, 0x1c($sp) +/* 9D92A4 80242284 8FB00018 */ lw $s0, 0x18($sp) +/* 9D92A8 80242288 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9D92AC 8024228C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9D92B0 80242290 03E00008 */ jr $ra +/* 9D92B4 80242294 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242298.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242298.s new file mode 100644 index 0000000000..16ca238ecd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242298.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242298 +/* 9D92B8 80242298 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D92BC 8024229C 10A0000B */ beqz $a1, .L802422CC +/* 9D92C0 802422A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D92C4 802422A4 3C038025 */ lui $v1, 0x8025 +/* 9D92C8 802422A8 8C6349C4 */ lw $v1, 0x49c4($v1) +/* 9D92CC 802422AC 8C620000 */ lw $v0, ($v1) +/* 9D92D0 802422B0 3C048025 */ lui $a0, 0x8025 +/* 9D92D4 802422B4 8C8449C8 */ lw $a0, 0x49c8($a0) +/* 9D92D8 802422B8 34420010 */ ori $v0, $v0, 0x10 +/* 9D92DC 802422BC AC620000 */ sw $v0, ($v1) +/* 9D92E0 802422C0 8C820000 */ lw $v0, ($a0) +/* 9D92E4 802422C4 34420010 */ ori $v0, $v0, 0x10 +/* 9D92E8 802422C8 AC820000 */ sw $v0, ($a0) +.L802422CC: +/* 9D92EC 802422CC 3C048025 */ lui $a0, 0x8025 +/* 9D92F0 802422D0 8C8449C0 */ lw $a0, 0x49c0($a0) +/* 9D92F4 802422D4 8C85000C */ lw $a1, 0xc($a0) +/* 9D92F8 802422D8 8CA20018 */ lw $v0, 0x18($a1) +/* 9D92FC 802422DC 8CA30020 */ lw $v1, 0x20($a1) +/* 9D9300 802422E0 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9D9304 802422E4 ACA20018 */ sw $v0, 0x18($a1) +/* 9D9308 802422E8 8CA20024 */ lw $v0, 0x24($a1) +/* 9D930C 802422EC 2463FFF6 */ addiu $v1, $v1, -0xa +/* 9D9310 802422F0 ACA30020 */ sw $v1, 0x20($a1) +/* 9D9314 802422F4 8CA30028 */ lw $v1, 0x28($a1) +/* 9D9318 802422F8 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9D931C 802422FC ACA20024 */ sw $v0, 0x24($a1) +/* 9D9320 80242300 8CA2001C */ lw $v0, 0x1c($a1) +/* 9D9324 80242304 2463FFF6 */ addiu $v1, $v1, -0xa +/* 9D9328 80242308 ACA30028 */ sw $v1, 0x28($a1) +/* 9D932C 8024230C 8CA30018 */ lw $v1, 0x18($a1) +/* 9D9330 80242310 2442FFF6 */ addiu $v0, $v0, -0xa +/* 9D9334 80242314 18600003 */ blez $v1, .L80242324 +/* 9D9338 80242318 ACA2001C */ sw $v0, 0x1c($a1) +/* 9D933C 8024231C 080908D0 */ j .L80242340 +/* 9D9340 80242320 0000102D */ daddu $v0, $zero, $zero +.L80242324: +/* 9D9344 80242324 0C016914 */ jal remove_effect +/* 9D9348 80242328 ACA00018 */ sw $zero, 0x18($a1) +/* 9D934C 8024232C 3C048025 */ lui $a0, 0x8025 +/* 9D9350 80242330 8C8449A0 */ lw $a0, 0x49a0($a0) +/* 9D9354 80242334 0C048D70 */ jal func_801235C0 +/* 9D9358 80242338 00000000 */ nop +/* 9D935C 8024233C 24020002 */ addiu $v0, $zero, 2 +.L80242340: +/* 9D9360 80242340 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9364 80242344 03E00008 */ jr $ra +/* 9D9368 80242348 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024234C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024234C.s new file mode 100644 index 0000000000..c8b05c5896 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024234C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024234C +/* 9D936C 8024234C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9370 80242350 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9374 80242354 8C82000C */ lw $v0, 0xc($a0) +/* 9D9378 80242358 0C0B1EAF */ jal get_variable +/* 9D937C 8024235C 8C450000 */ lw $a1, ($v0) +/* 9D9380 80242360 3C038025 */ lui $v1, 0x8025 +/* 9D9384 80242364 8C6349C0 */ lw $v1, 0x49c0($v1) +/* 9D9388 80242368 8C63000C */ lw $v1, 0xc($v1) +/* 9D938C 8024236C AC620034 */ sw $v0, 0x34($v1) +/* 9D9390 80242370 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9394 80242374 24020002 */ addiu $v0, $zero, 2 +/* 9D9398 80242378 03E00008 */ jr $ra +/* 9D939C 8024237C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242380_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242380_9D7020.s new file mode 100644 index 0000000000..17bf50779c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242380_9D7020.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242380_9D93A0 +/* 9D93A0 80242380 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D93A4 80242384 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D93A8 80242388 8C82000C */ lw $v0, 0xc($a0) +/* 9D93AC 8024238C 0C0B1EAF */ jal get_variable +/* 9D93B0 80242390 8C450000 */ lw $a1, ($v0) +/* 9D93B4 80242394 0040202D */ daddu $a0, $v0, $zero +/* 9D93B8 80242398 3C028025 */ lui $v0, 0x8025 +/* 9D93BC 8024239C 8C4249C0 */ lw $v0, 0x49c0($v0) +/* 9D93C0 802423A0 24030001 */ addiu $v1, $zero, 1 +/* 9D93C4 802423A4 8C45000C */ lw $a1, 0xc($v0) +/* 9D93C8 802423A8 1083000D */ beq $a0, $v1, .L802423E0 +/* 9D93CC 802423AC 28820002 */ slti $v0, $a0, 2 +/* 9D93D0 802423B0 10400005 */ beqz $v0, .L802423C8 +/* 9D93D4 802423B4 24020002 */ addiu $v0, $zero, 2 +/* 9D93D8 802423B8 10800007 */ beqz $a0, .L802423D8 +/* 9D93DC 802423BC 240200C0 */ addiu $v0, $zero, 0xc0 +/* 9D93E0 802423C0 080908FC */ j .L802423F0 +/* 9D93E4 802423C4 ACA00038 */ sw $zero, 0x38($a1) +.L802423C8: +/* 9D93E8 802423C8 10820008 */ beq $a0, $v0, .L802423EC +/* 9D93EC 802423CC 24020040 */ addiu $v0, $zero, 0x40 +/* 9D93F0 802423D0 080908FC */ j .L802423F0 +/* 9D93F4 802423D4 ACA00038 */ sw $zero, 0x38($a1) +.L802423D8: +/* 9D93F8 802423D8 080908FC */ j .L802423F0 +/* 9D93FC 802423DC ACA20038 */ sw $v0, 0x38($a1) +.L802423E0: +/* 9D9400 802423E0 24020080 */ addiu $v0, $zero, 0x80 +/* 9D9404 802423E4 080908FC */ j .L802423F0 +/* 9D9408 802423E8 ACA20038 */ sw $v0, 0x38($a1) +.L802423EC: +/* 9D940C 802423EC ACA20038 */ sw $v0, 0x38($a1) +.L802423F0: +/* 9D9410 802423F0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9414 802423F4 24020002 */ addiu $v0, $zero, 2 +/* 9D9418 802423F8 03E00008 */ jr $ra +/* 9D941C 802423FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242400.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242400.s new file mode 100644 index 0000000000..11c3c70cc6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242400.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242400 +/* 9D9420 80242400 3C028025 */ lui $v0, 0x8025 +/* 9D9424 80242404 8C4249C8 */ lw $v0, 0x49c8($v0) +/* 9D9428 80242408 8C42000C */ lw $v0, 0xc($v0) +/* 9D942C 8024240C AC40001C */ sw $zero, 0x1c($v0) +/* 9D9430 80242410 03E00008 */ jr $ra +/* 9D9434 80242414 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242418.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242418.s new file mode 100644 index 0000000000..7aa3a91b3a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242418.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242418 +/* 9D9438 80242418 3C028025 */ lui $v0, 0x8025 +/* 9D943C 8024241C 8C4249C8 */ lw $v0, 0x49c8($v0) +/* 9D9440 80242420 8C43000C */ lw $v1, 0xc($v0) +/* 9D9444 80242424 24020001 */ addiu $v0, $zero, 1 +/* 9D9448 80242428 AC62001C */ sw $v0, 0x1c($v1) +/* 9D944C 8024242C 03E00008 */ jr $ra +/* 9D9450 80242430 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242434.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242434.s new file mode 100644 index 0000000000..11cf985436 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242434.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242434 +/* 9D9454 80242434 3C028025 */ lui $v0, 0x8025 +/* 9D9458 80242438 8C4249C8 */ lw $v0, 0x49c8($v0) +/* 9D945C 8024243C 8C43000C */ lw $v1, 0xc($v0) +/* 9D9460 80242440 24020002 */ addiu $v0, $zero, 2 +/* 9D9464 80242444 03E00008 */ jr $ra +/* 9D9468 80242448 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024244C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024244C.s new file mode 100644 index 0000000000..ebc729ba17 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024244C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024244C +/* 9D946C 8024244C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9470 80242450 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9D9474 80242454 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9D9478 80242458 3C05FE36 */ lui $a1, 0xfe36 +/* 9D947C 8024245C AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9480 80242460 80460075 */ lb $a2, 0x75($v0) +/* 9D9484 80242464 0C0B2026 */ jal set_variable +/* 9D9488 80242468 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9D948C 8024246C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9490 80242470 24020002 */ addiu $v0, $zero, 2 +/* 9D9494 80242474 03E00008 */ jr $ra +/* 9D9498 80242478 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024247C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024247C.s new file mode 100644 index 0000000000..d56e52d5fb --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024247C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024247C +/* 9D949C 8024247C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D94A0 80242480 AFB10014 */ sw $s1, 0x14($sp) +/* 9D94A4 80242484 0080882D */ daddu $s1, $a0, $zero +/* 9D94A8 80242488 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D94AC 8024248C AFB00010 */ sw $s0, 0x10($sp) +/* 9D94B0 80242490 8E30000C */ lw $s0, 0xc($s1) +/* 9D94B4 80242494 8E050000 */ lw $a1, ($s0) +/* 9D94B8 80242498 0C0B1EAF */ jal get_variable +/* 9D94BC 8024249C 26100004 */ addiu $s0, $s0, 4 +/* 9D94C0 802424A0 0220202D */ daddu $a0, $s1, $zero +/* 9D94C4 802424A4 8E050000 */ lw $a1, ($s0) +/* 9D94C8 802424A8 0C0B210B */ jal get_float_variable +/* 9D94CC 802424AC 0040802D */ daddu $s0, $v0, $zero +/* 9D94D0 802424B0 24020002 */ addiu $v0, $zero, 2 +/* 9D94D4 802424B4 00501804 */ sllv $v1, $s0, $v0 +/* 9D94D8 802424B8 00701821 */ addu $v1, $v1, $s0 +/* 9D94DC 802424BC 00431804 */ sllv $v1, $v1, $v0 +/* 9D94E0 802424C0 00701823 */ subu $v1, $v1, $s0 +/* 9D94E4 802424C4 000320C0 */ sll $a0, $v1, 3 +/* 9D94E8 802424C8 00641821 */ addu $v1, $v1, $a0 +/* 9D94EC 802424CC 000318C0 */ sll $v1, $v1, 3 +/* 9D94F0 802424D0 3C01800B */ lui $at, 0x800b +/* 9D94F4 802424D4 00230821 */ addu $at, $at, $v1 +/* 9D94F8 802424D8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* 9D94FC 802424DC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D9500 802424E0 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9504 802424E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9508 802424E8 03E00008 */ jr $ra +/* 9D950C 802424EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802424F0.s b/asm/nonmatchings/world/area_nok/nok_02/func_802424F0.s new file mode 100644 index 0000000000..e1876965ce --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802424F0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424F0 +/* 9D9510 802424F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D9514 802424F4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D9518 802424F8 0080882D */ daddu $s1, $a0, $zero +/* 9D951C 802424FC AFBF0018 */ sw $ra, 0x18($sp) +/* 9D9520 80242500 AFB00010 */ sw $s0, 0x10($sp) +/* 9D9524 80242504 8E30000C */ lw $s0, 0xc($s1) +/* 9D9528 80242508 8E050000 */ lw $a1, ($s0) +/* 9D952C 8024250C 0C0B1EAF */ jal get_variable +/* 9D9530 80242510 26100004 */ addiu $s0, $s0, 4 +/* 9D9534 80242514 00021880 */ sll $v1, $v0, 2 +/* 9D9538 80242518 00621821 */ addu $v1, $v1, $v0 +/* 9D953C 8024251C 00031880 */ sll $v1, $v1, 2 +/* 9D9540 80242520 00621823 */ subu $v1, $v1, $v0 +/* 9D9544 80242524 000310C0 */ sll $v0, $v1, 3 +/* 9D9548 80242528 00621821 */ addu $v1, $v1, $v0 +/* 9D954C 8024252C 000318C0 */ sll $v1, $v1, 3 +/* 9D9550 80242530 3C01800B */ lui $at, 0x800b +/* 9D9554 80242534 00230821 */ addu $at, $at, $v1 +/* 9D9558 80242538 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* 9D955C 8024253C 3C014480 */ lui $at, 0x4480 +/* 9D9560 80242540 44810000 */ mtc1 $at, $f0 +/* 9D9564 80242544 00000000 */ nop +/* 9D9568 80242548 46001082 */ mul.s $f2, $f2, $f0 +/* 9D956C 8024254C 00000000 */ nop +/* 9D9570 80242550 3C01CD5B */ lui $at, 0xcd5b +/* 9D9574 80242554 34215858 */ ori $at, $at, 0x5858 +/* 9D9578 80242558 44810000 */ mtc1 $at, $f0 +/* 9D957C 8024255C 00000000 */ nop +/* 9D9580 80242560 46001080 */ add.s $f2, $f2, $f0 +/* 9D9584 80242564 8E050000 */ lw $a1, ($s0) +/* 9D9588 80242568 4600110D */ trunc.w.s $f4, $f2 +/* 9D958C 8024256C 44062000 */ mfc1 $a2, $f4 +/* 9D9590 80242570 0C0B2026 */ jal set_variable +/* 9D9594 80242574 0220202D */ daddu $a0, $s1, $zero +/* 9D9598 80242578 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D959C 8024257C 8FB10014 */ lw $s1, 0x14($sp) +/* 9D95A0 80242580 8FB00010 */ lw $s0, 0x10($sp) +/* 9D95A4 80242584 24020002 */ addiu $v0, $zero, 2 +/* 9D95A8 80242588 03E00008 */ jr $ra +/* 9D95AC 8024258C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242590.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242590.s new file mode 100644 index 0000000000..774e487efd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242590.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242590 +/* 9D95B0 80242590 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D95B4 80242594 AFB20018 */ sw $s2, 0x18($sp) +/* 9D95B8 80242598 0080902D */ daddu $s2, $a0, $zero +/* 9D95BC 8024259C AFBF0030 */ sw $ra, 0x30($sp) +/* 9D95C0 802425A0 AFB7002C */ sw $s7, 0x2c($sp) +/* 9D95C4 802425A4 AFB60028 */ sw $s6, 0x28($sp) +/* 9D95C8 802425A8 AFB50024 */ sw $s5, 0x24($sp) +/* 9D95CC 802425AC AFB40020 */ sw $s4, 0x20($sp) +/* 9D95D0 802425B0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D95D4 802425B4 AFB10014 */ sw $s1, 0x14($sp) +/* 9D95D8 802425B8 AFB00010 */ sw $s0, 0x10($sp) +/* 9D95DC 802425BC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 9D95E0 802425C0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9D95E4 802425C4 8E50000C */ lw $s0, 0xc($s2) +/* 9D95E8 802425C8 8E050000 */ lw $a1, ($s0) +/* 9D95EC 802425CC 0C0B1EAF */ jal get_variable +/* 9D95F0 802425D0 26100004 */ addiu $s0, $s0, 4 +/* 9D95F4 802425D4 8E050000 */ lw $a1, ($s0) +/* 9D95F8 802425D8 26100004 */ addiu $s0, $s0, 4 +/* 9D95FC 802425DC 0240202D */ daddu $a0, $s2, $zero +/* 9D9600 802425E0 0C0B1EAF */ jal get_variable +/* 9D9604 802425E4 0040B82D */ daddu $s7, $v0, $zero +/* 9D9608 802425E8 8E050000 */ lw $a1, ($s0) +/* 9D960C 802425EC 26100004 */ addiu $s0, $s0, 4 +/* 9D9610 802425F0 0240202D */ daddu $a0, $s2, $zero +/* 9D9614 802425F4 0C0B1EAF */ jal get_variable +/* 9D9618 802425F8 0040B02D */ daddu $s6, $v0, $zero +/* 9D961C 802425FC 0240202D */ daddu $a0, $s2, $zero +/* 9D9620 80242600 3C05F4AC */ lui $a1, 0xf4ac +/* 9D9624 80242604 34A5D481 */ ori $a1, $a1, 0xd481 +/* 9D9628 80242608 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* 9D962C 8024260C 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* 9D9630 80242610 8E140000 */ lw $s4, ($s0) +/* 9D9634 80242614 00061880 */ sll $v1, $a2, 2 +/* 9D9638 80242618 00661821 */ addu $v1, $v1, $a2 +/* 9D963C 8024261C 00031880 */ sll $v1, $v1, 2 +/* 9D9640 80242620 00661823 */ subu $v1, $v1, $a2 +/* 9D9644 80242624 000330C0 */ sll $a2, $v1, 3 +/* 9D9648 80242628 00661821 */ addu $v1, $v1, $a2 +/* 9D964C 8024262C 000318C0 */ sll $v1, $v1, 3 +/* 9D9650 80242630 3C01800B */ lui $at, 0x800b +/* 9D9654 80242634 00230821 */ addu $at, $at, $v1 +/* 9D9658 80242638 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 9D965C 8024263C 8E150004 */ lw $s5, 4($s0) +/* 9D9660 80242640 4600010D */ trunc.w.s $f4, $f0 +/* 9D9664 80242644 44112000 */ mfc1 $s1, $f4 +/* 9D9668 80242648 0C0B1EAF */ jal get_variable +/* 9D966C 8024264C 0040982D */ daddu $s3, $v0, $zero +/* 9D9670 80242650 4491B000 */ mtc1 $s1, $f22 +/* 9D9674 80242654 00000000 */ nop +/* 9D9678 80242658 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D967C 8024265C 4600B306 */ mov.s $f12, $f22 +/* 9D9680 80242660 0C00A8D4 */ jal cos_deg +/* 9D9684 80242664 0040802D */ daddu $s0, $v0, $zero +/* 9D9688 80242668 4493A000 */ mtc1 $s3, $f20 +/* 9D968C 8024266C 00000000 */ nop +/* 9D9690 80242670 4680A520 */ cvt.s.w $f20, $f20 +/* 9D9694 80242674 4600A002 */ mul.s $f0, $f20, $f0 +/* 9D9698 80242678 00000000 */ nop +/* 9D969C 8024267C 0240202D */ daddu $a0, $s2, $zero +/* 9D96A0 80242680 44901000 */ mtc1 $s0, $f2 +/* 9D96A4 80242684 00000000 */ nop +/* 9D96A8 80242688 468010A0 */ cvt.s.w $f2, $f2 +/* 9D96AC 8024268C 46001081 */ sub.s $f2, $f2, $f0 +/* 9D96B0 80242690 3C05F4AC */ lui $a1, 0xf4ac +/* 9D96B4 80242694 4600110D */ trunc.w.s $f4, $f2 +/* 9D96B8 80242698 44102000 */ mfc1 $s0, $f4 +/* 9D96BC 8024269C 0C0B1EAF */ jal get_variable +/* 9D96C0 802426A0 34A5D483 */ ori $a1, $a1, 0xd483 +/* 9D96C4 802426A4 4600B306 */ mov.s $f12, $f22 +/* 9D96C8 802426A8 0C00A8BB */ jal sin_deg +/* 9D96CC 802426AC 0040882D */ daddu $s1, $v0, $zero +/* 9D96D0 802426B0 4600A502 */ mul.s $f20, $f20, $f0 +/* 9D96D4 802426B4 00000000 */ nop +/* 9D96D8 802426B8 0240202D */ daddu $a0, $s2, $zero +/* 9D96DC 802426BC 44910000 */ mtc1 $s1, $f0 +/* 9D96E0 802426C0 00000000 */ nop +/* 9D96E4 802426C4 46800020 */ cvt.s.w $f0, $f0 +/* 9D96E8 802426C8 46140001 */ sub.s $f0, $f0, $f20 +/* 9D96EC 802426CC 0280282D */ daddu $a1, $s4, $zero +/* 9D96F0 802426D0 02173023 */ subu $a2, $s0, $s7 +/* 9D96F4 802426D4 4600010D */ trunc.w.s $f4, $f0 +/* 9D96F8 802426D8 44102000 */ mfc1 $s0, $f4 +/* 9D96FC 802426DC 0C0B2026 */ jal set_variable +/* 9D9700 802426E0 02168023 */ subu $s0, $s0, $s6 +/* 9D9704 802426E4 0240202D */ daddu $a0, $s2, $zero +/* 9D9708 802426E8 02A0282D */ daddu $a1, $s5, $zero +/* 9D970C 802426EC 0C0B2026 */ jal set_variable +/* 9D9710 802426F0 0200302D */ daddu $a2, $s0, $zero +/* 9D9714 802426F4 8FBF0030 */ lw $ra, 0x30($sp) +/* 9D9718 802426F8 8FB7002C */ lw $s7, 0x2c($sp) +/* 9D971C 802426FC 8FB60028 */ lw $s6, 0x28($sp) +/* 9D9720 80242700 8FB50024 */ lw $s5, 0x24($sp) +/* 9D9724 80242704 8FB40020 */ lw $s4, 0x20($sp) +/* 9D9728 80242708 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D972C 8024270C 8FB20018 */ lw $s2, 0x18($sp) +/* 9D9730 80242710 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9734 80242714 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9738 80242718 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 9D973C 8024271C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9D9740 80242720 24020002 */ addiu $v0, $zero, 2 +/* 9D9744 80242724 03E00008 */ jr $ra +/* 9D9748 80242728 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024272C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024272C.s new file mode 100644 index 0000000000..575179fc3e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024272C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024272C +/* 9D974C 8024272C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 9D9750 80242730 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 9D9754 80242734 10A00002 */ beqz $a1, .L80242740 +/* 9D9758 80242738 2402003C */ addiu $v0, $zero, 0x3c +/* 9D975C 8024273C AC820070 */ sw $v0, 0x70($a0) +.L80242740: +/* 9D9760 80242740 C4620080 */ lwc1 $f2, 0x80($v1) +/* 9D9764 80242744 3C0141F0 */ lui $at, 0x41f0 +/* 9D9768 80242748 44810000 */ mtc1 $at, $f0 +/* 9D976C 8024274C 00000000 */ nop +/* 9D9770 80242750 46001000 */ add.s $f0, $f2, $f0 +/* 9D9774 80242754 3C0143B4 */ lui $at, 0x43b4 +/* 9D9778 80242758 44811000 */ mtc1 $at, $f2 +/* 9D977C 8024275C 00000000 */ nop +/* 9D9780 80242760 4600103E */ c.le.s $f2, $f0 +/* 9D9784 80242764 00000000 */ nop +/* 9D9788 80242768 45000003 */ bc1f .L80242778 +/* 9D978C 8024276C E4600080 */ swc1 $f0, 0x80($v1) +/* 9D9790 80242770 46020001 */ sub.s $f0, $f0, $f2 +/* 9D9794 80242774 E4600080 */ swc1 $f0, 0x80($v1) +.L80242778: +/* 9D9798 80242778 8C820070 */ lw $v0, 0x70($a0) +/* 9D979C 8024277C 2442FFFF */ addiu $v0, $v0, -1 +/* 9D97A0 80242780 AC820070 */ sw $v0, 0x70($a0) +/* 9D97A4 80242784 000217C3 */ sra $v0, $v0, 0x1f +/* 9D97A8 80242788 03E00008 */ jr $ra +/* 9D97AC 8024278C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242790_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242790_9D7020.s new file mode 100644 index 0000000000..0b09a0ed76 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242790_9D7020.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242790_9D97B0 +/* 9D97B0 80242790 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D97B4 80242794 AFB10014 */ sw $s1, 0x14($sp) +/* 9D97B8 80242798 0080882D */ daddu $s1, $a0, $zero +/* 9D97BC 8024279C AFB00010 */ sw $s0, 0x10($sp) +/* 9D97C0 802427A0 00A0802D */ daddu $s0, $a1, $zero +/* 9D97C4 802427A4 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D97C8 802427A8 0C00EABB */ jal get_npc_unsafe +/* 9D97CC 802427AC 2404FFFC */ addiu $a0, $zero, -4 +/* 9D97D0 802427B0 12000003 */ beqz $s0, .L802427C0 +/* 9D97D4 802427B4 0040182D */ daddu $v1, $v0, $zero +/* 9D97D8 802427B8 2402003C */ addiu $v0, $zero, 0x3c +/* 9D97DC 802427BC AE220070 */ sw $v0, 0x70($s1) +.L802427C0: +/* 9D97E0 802427C0 C462000C */ lwc1 $f2, 0xc($v1) +/* 9D97E4 802427C4 3C0141F0 */ lui $at, 0x41f0 +/* 9D97E8 802427C8 44810000 */ mtc1 $at, $f0 +/* 9D97EC 802427CC 00000000 */ nop +/* 9D97F0 802427D0 46001000 */ add.s $f0, $f2, $f0 +/* 9D97F4 802427D4 3C0143B4 */ lui $at, 0x43b4 +/* 9D97F8 802427D8 44811000 */ mtc1 $at, $f2 +/* 9D97FC 802427DC 00000000 */ nop +/* 9D9800 802427E0 4600103E */ c.le.s $f2, $f0 +/* 9D9804 802427E4 00000000 */ nop +/* 9D9808 802427E8 45000003 */ bc1f .L802427F8 +/* 9D980C 802427EC E460000C */ swc1 $f0, 0xc($v1) +/* 9D9810 802427F0 46020001 */ sub.s $f0, $f0, $f2 +/* 9D9814 802427F4 E460000C */ swc1 $f0, 0xc($v1) +.L802427F8: +/* 9D9818 802427F8 8E230070 */ lw $v1, 0x70($s1) +/* 9D981C 802427FC 2463FFFF */ addiu $v1, $v1, -1 +/* 9D9820 80242800 000317C3 */ sra $v0, $v1, 0x1f +/* 9D9824 80242804 AE230070 */ sw $v1, 0x70($s1) +/* 9D9828 80242808 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D982C 8024280C 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9830 80242810 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9834 80242814 30420002 */ andi $v0, $v0, 2 +/* 9D9838 80242818 03E00008 */ jr $ra +/* 9D983C 8024281C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242820.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242820.s new file mode 100644 index 0000000000..0d77a74fd9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242820.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242820 +/* 9D9840 80242820 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9D9844 80242824 AFB10014 */ sw $s1, 0x14($sp) +/* 9D9848 80242828 0080882D */ daddu $s1, $a0, $zero +/* 9D984C 8024282C AFB00010 */ sw $s0, 0x10($sp) +/* 9D9850 80242830 00A0802D */ daddu $s0, $a1, $zero +/* 9D9854 80242834 AFBF001C */ sw $ra, 0x1c($sp) +/* 9D9858 80242838 AFB20018 */ sw $s2, 0x18($sp) +/* 9D985C 8024283C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9D9860 80242840 0C00EABB */ jal get_npc_unsafe +/* 9D9864 80242844 2404FFFC */ addiu $a0, $zero, -4 +/* 9D9868 80242848 12000017 */ beqz $s0, .L802428A8 +/* 9D986C 8024284C 0040902D */ daddu $s2, $v0, $zero +/* 9D9870 80242850 0220202D */ daddu $a0, $s1, $zero +/* 9D9874 80242854 3C05FE36 */ lui $a1, 0xfe36 +/* 9D9878 80242858 0C0B210B */ jal get_float_variable +/* 9D987C 8024285C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 9D9880 80242860 0220202D */ daddu $a0, $s1, $zero +/* 9D9884 80242864 3C05FE36 */ lui $a1, 0xfe36 +/* 9D9888 80242868 3C014270 */ lui $at, 0x4270 +/* 9D988C 8024286C 4481A000 */ mtc1 $at, $f20 +/* 9D9890 80242870 34A53C85 */ ori $a1, $a1, 0x3c85 +/* 9D9894 80242874 46140003 */ div.s $f0, $f0, $f20 +/* 9D9898 80242878 0C0B210B */ jal get_float_variable +/* 9D989C 8024287C E6200074 */ swc1 $f0, 0x74($s1) +/* 9D98A0 80242880 0220202D */ daddu $a0, $s1, $zero +/* 9D98A4 80242884 3C05FE36 */ lui $a1, 0xfe36 +/* 9D98A8 80242888 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 9D98AC 8024288C 46140003 */ div.s $f0, $f0, $f20 +/* 9D98B0 80242890 0C0B210B */ jal get_float_variable +/* 9D98B4 80242894 E6200078 */ swc1 $f0, 0x78($s1) +/* 9D98B8 80242898 46140003 */ div.s $f0, $f0, $f20 +/* 9D98BC 8024289C 2402003C */ addiu $v0, $zero, 0x3c +/* 9D98C0 802428A0 E620007C */ swc1 $f0, 0x7c($s1) +/* 9D98C4 802428A4 AE220070 */ sw $v0, 0x70($s1) +.L802428A8: +/* 9D98C8 802428A8 C6400038 */ lwc1 $f0, 0x38($s2) +/* 9D98CC 802428AC C6220074 */ lwc1 $f2, 0x74($s1) +/* 9D98D0 802428B0 46020000 */ add.s $f0, $f0, $f2 +/* 9D98D4 802428B4 E6400038 */ swc1 $f0, 0x38($s2) +/* 9D98D8 802428B8 C640003C */ lwc1 $f0, 0x3c($s2) +/* 9D98DC 802428BC C6220078 */ lwc1 $f2, 0x78($s1) +/* 9D98E0 802428C0 46020000 */ add.s $f0, $f0, $f2 +/* 9D98E4 802428C4 E640003C */ swc1 $f0, 0x3c($s2) +/* 9D98E8 802428C8 C6400040 */ lwc1 $f0, 0x40($s2) +/* 9D98EC 802428CC C622007C */ lwc1 $f2, 0x7c($s1) +/* 9D98F0 802428D0 46020000 */ add.s $f0, $f0, $f2 +/* 9D98F4 802428D4 E6400040 */ swc1 $f0, 0x40($s2) +/* 9D98F8 802428D8 8E230070 */ lw $v1, 0x70($s1) +/* 9D98FC 802428DC 2463FFFF */ addiu $v1, $v1, -1 +/* 9D9900 802428E0 2C620001 */ sltiu $v0, $v1, 1 +/* 9D9904 802428E4 AE230070 */ sw $v1, 0x70($s1) +/* 9D9908 802428E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9D990C 802428EC 8FB20018 */ lw $s2, 0x18($sp) +/* 9D9910 802428F0 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9914 802428F4 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9918 802428F8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9D991C 802428FC 00021040 */ sll $v0, $v0, 1 +/* 9D9920 80242900 03E00008 */ jr $ra +/* 9D9924 80242904 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242908_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242908_9D7020.s new file mode 100644 index 0000000000..b98b3b0de0 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242908_9D7020.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242908_9D9928 +/* 9D9928 80242908 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D992C 8024290C 3C058025 */ lui $a1, 0x8025 +/* 9D9930 80242910 8CA549B8 */ lw $a1, 0x49b8($a1) +/* 9D9934 80242914 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9938 80242918 0C0B1EAF */ jal get_variable +/* 9D993C 8024291C 0000202D */ daddu $a0, $zero, $zero +/* 9D9940 80242920 0040182D */ daddu $v1, $v0, $zero +/* 9D9944 80242924 24020001 */ addiu $v0, $zero, 1 +/* 9D9948 80242928 14620006 */ bne $v1, $v0, .L80242944 +/* 9D994C 8024292C 24020002 */ addiu $v0, $zero, 2 +/* 9D9950 80242930 44800000 */ mtc1 $zero, $f0 +/* 9D9954 80242934 00000000 */ nop +/* 9D9958 80242938 44050000 */ mfc1 $a1, $f0 +/* 9D995C 8024293C 08090A57 */ j .L8024295C +/* 9D9960 80242940 0000202D */ daddu $a0, $zero, $zero +.L80242944: +/* 9D9964 80242944 14620008 */ bne $v1, $v0, .L80242968 +/* 9D9968 80242948 24040001 */ addiu $a0, $zero, 1 +/* 9D996C 8024294C 44800000 */ mtc1 $zero, $f0 +/* 9D9970 80242950 00000000 */ nop +/* 9D9974 80242954 44050000 */ mfc1 $a1, $f0 +/* 9D9978 80242958 00000000 */ nop +.L8024295C: +/* 9D997C 8024295C 00A0302D */ daddu $a2, $a1, $zero +/* 9D9980 80242960 0C01C5A4 */ jal func_80071690 +/* 9D9984 80242964 00A0382D */ daddu $a3, $a1, $zero +.L80242968: +/* 9D9988 80242968 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D998C 8024296C 03E00008 */ jr $ra +/* 9D9990 80242970 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242974.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242974.s new file mode 100644 index 0000000000..0cffd92db1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242974.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242974 +/* 9D9994 80242974 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9998 80242978 3C058024 */ lui $a1, 0x8024 +/* 9D999C 8024297C 24A52908 */ addiu $a1, $a1, 0x2908 +/* 9D99A0 80242980 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D99A4 80242984 0C048C8F */ jal bind_dynamic_entity_7 +/* 9D99A8 80242988 0000202D */ daddu $a0, $zero, $zero +/* 9D99AC 8024298C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D99B0 80242990 3C018025 */ lui $at, 0x8025 +/* 9D99B4 80242994 AC2249A0 */ sw $v0, 0x49a0($at) +/* 9D99B8 80242998 24020002 */ addiu $v0, $zero, 2 +/* 9D99BC 8024299C 03E00008 */ jr $ra +/* 9D99C0 802429A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802429A4.s b/asm/nonmatchings/world/area_nok/nok_02/func_802429A4.s new file mode 100644 index 0000000000..7fae8559be --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802429A4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429A4 +/* 9D99C4 802429A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D99C8 802429A8 AFB10014 */ sw $s1, 0x14($sp) +/* 9D99CC 802429AC 0080882D */ daddu $s1, $a0, $zero +/* 9D99D0 802429B0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D99D4 802429B4 AFB00010 */ sw $s0, 0x10($sp) +/* 9D99D8 802429B8 8E30000C */ lw $s0, 0xc($s1) +/* 9D99DC 802429BC 8E050000 */ lw $a1, ($s0) +/* 9D99E0 802429C0 0C0B1EAF */ jal get_variable +/* 9D99E4 802429C4 26100004 */ addiu $s0, $s0, 4 +/* 9D99E8 802429C8 0C00EAD2 */ jal get_npc_safe +/* 9D99EC 802429CC 0040202D */ daddu $a0, $v0, $zero +/* 9D99F0 802429D0 10400005 */ beqz $v0, .L802429E8 +/* 9D99F4 802429D4 00000000 */ nop +/* 9D99F8 802429D8 8E050000 */ lw $a1, ($s0) +/* 9D99FC 802429DC 844600A8 */ lh $a2, 0xa8($v0) +/* 9D9A00 802429E0 0C0B2026 */ jal set_variable +/* 9D9A04 802429E4 0220202D */ daddu $a0, $s1, $zero +.L802429E8: +/* 9D9A08 802429E8 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D9A0C 802429EC 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9A10 802429F0 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9A14 802429F4 24020002 */ addiu $v0, $zero, 2 +/* 9D9A18 802429F8 03E00008 */ jr $ra +/* 9D9A1C 802429FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242A00_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242A00_9D7020.s new file mode 100644 index 0000000000..2091b7ad34 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242A00_9D7020.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A00_9D9A20 +/* 9D9A20 80242A00 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9D9A24 80242A04 AFB10014 */ sw $s1, 0x14($sp) +/* 9D9A28 80242A08 0080882D */ daddu $s1, $a0, $zero +/* 9D9A2C 80242A0C AFBF0024 */ sw $ra, 0x24($sp) +/* 9D9A30 80242A10 AFB40020 */ sw $s4, 0x20($sp) +/* 9D9A34 80242A14 AFB3001C */ sw $s3, 0x1c($sp) +/* 9D9A38 80242A18 AFB20018 */ sw $s2, 0x18($sp) +/* 9D9A3C 80242A1C AFB00010 */ sw $s0, 0x10($sp) +/* 9D9A40 80242A20 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9D9A44 80242A24 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9D9A48 80242A28 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9D9A4C 80242A2C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9D9A50 80242A30 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9D9A54 80242A34 8E30000C */ lw $s0, 0xc($s1) +/* 9D9A58 80242A38 8E130000 */ lw $s3, ($s0) +/* 9D9A5C 80242A3C 26100004 */ addiu $s0, $s0, 4 +/* 9D9A60 80242A40 0C0B1EAF */ jal get_variable +/* 9D9A64 80242A44 0260282D */ daddu $a1, $s3, $zero +/* 9D9A68 80242A48 4482E000 */ mtc1 $v0, $f28 +/* 9D9A6C 80242A4C 00000000 */ nop +/* 9D9A70 80242A50 4680E720 */ cvt.s.w $f28, $f28 +/* 9D9A74 80242A54 8E140000 */ lw $s4, ($s0) +/* 9D9A78 80242A58 26100004 */ addiu $s0, $s0, 4 +/* 9D9A7C 80242A5C 0220202D */ daddu $a0, $s1, $zero +/* 9D9A80 80242A60 0C0B1EAF */ jal get_variable +/* 9D9A84 80242A64 0280282D */ daddu $a1, $s4, $zero +/* 9D9A88 80242A68 4482D000 */ mtc1 $v0, $f26 +/* 9D9A8C 80242A6C 00000000 */ nop +/* 9D9A90 80242A70 4680D6A0 */ cvt.s.w $f26, $f26 +/* 9D9A94 80242A74 8E100000 */ lw $s0, ($s0) +/* 9D9A98 80242A78 0220202D */ daddu $a0, $s1, $zero +/* 9D9A9C 80242A7C 0C0B1EAF */ jal get_variable +/* 9D9AA0 80242A80 0200282D */ daddu $a1, $s0, $zero +/* 9D9AA4 80242A84 4482C000 */ mtc1 $v0, $f24 +/* 9D9AA8 80242A88 00000000 */ nop +/* 9D9AAC 80242A8C 4680C620 */ cvt.s.w $f24, $f24 +/* 9D9AB0 80242A90 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 9D9AB4 80242A94 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 9D9AB8 80242A98 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 9D9ABC 80242A9C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9D9AC0 80242AA0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 9D9AC4 80242AA4 44800000 */ mtc1 $zero, $f0 +/* 9D9AC8 80242AA8 00031080 */ sll $v0, $v1, 2 +/* 9D9ACC 80242AAC 00431021 */ addu $v0, $v0, $v1 +/* 9D9AD0 80242AB0 00021080 */ sll $v0, $v0, 2 +/* 9D9AD4 80242AB4 00431023 */ subu $v0, $v0, $v1 +/* 9D9AD8 80242AB8 000218C0 */ sll $v1, $v0, 3 +/* 9D9ADC 80242ABC 00431021 */ addu $v0, $v0, $v1 +/* 9D9AE0 80242AC0 000210C0 */ sll $v0, $v0, 3 +/* 9D9AE4 80242AC4 46001032 */ c.eq.s $f2, $f0 +/* 9D9AE8 80242AC8 3C01800B */ lui $at, 0x800b +/* 9D9AEC 80242ACC 00220821 */ addu $at, $at, $v0 +/* 9D9AF0 80242AD0 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 9D9AF4 80242AD4 45000005 */ bc1f .L80242AEC +/* 9D9AF8 80242AD8 00000000 */ nop +/* 9D9AFC 80242ADC 3C0142C8 */ lui $at, 0x42c8 +/* 9D9B00 80242AE0 44810000 */ mtc1 $at, $f0 +/* 9D9B04 80242AE4 08090ABF */ j .L80242AFC +/* 9D9B08 80242AE8 4600B581 */ sub.s $f22, $f22, $f0 +.L80242AEC: +/* 9D9B0C 80242AEC 3C0142C8 */ lui $at, 0x42c8 +/* 9D9B10 80242AF0 44810000 */ mtc1 $at, $f0 +/* 9D9B14 80242AF4 00000000 */ nop +/* 9D9B18 80242AF8 4600B580 */ add.s $f22, $f22, $f0 +.L80242AFC: +/* 9D9B1C 80242AFC 0C00A6C9 */ jal clamp_angle +/* 9D9B20 80242B00 4600B306 */ mov.s $f12, $f22 +/* 9D9B24 80242B04 46000586 */ mov.s $f22, $f0 +/* 9D9B28 80242B08 3C014170 */ lui $at, 0x4170 +/* 9D9B2C 80242B0C 4481A000 */ mtc1 $at, $f20 +/* 9D9B30 80242B10 0C00A8BB */ jal sin_deg +/* 9D9B34 80242B14 4600B306 */ mov.s $f12, $f22 +/* 9D9B38 80242B18 46140002 */ mul.s $f0, $f0, $f20 +/* 9D9B3C 80242B1C 00000000 */ nop +/* 9D9B40 80242B20 864200B0 */ lh $v0, 0xb0($s2) +/* 9D9B44 80242B24 3C013F00 */ lui $at, 0x3f00 +/* 9D9B48 80242B28 44812000 */ mtc1 $at, $f4 +/* 9D9B4C 80242B2C 44821000 */ mtc1 $v0, $f2 +/* 9D9B50 80242B30 00000000 */ nop +/* 9D9B54 80242B34 468010A0 */ cvt.s.w $f2, $f2 +/* 9D9B58 80242B38 46041082 */ mul.s $f2, $f2, $f4 +/* 9D9B5C 80242B3C 00000000 */ nop +/* 9D9B60 80242B40 4600E700 */ add.s $f28, $f28, $f0 +/* 9D9B64 80242B44 4602D680 */ add.s $f26, $f26, $f2 +/* 9D9B68 80242B48 0C00A8D4 */ jal cos_deg +/* 9D9B6C 80242B4C 4600B306 */ mov.s $f12, $f22 +/* 9D9B70 80242B50 46140002 */ mul.s $f0, $f0, $f20 +/* 9D9B74 80242B54 00000000 */ nop +/* 9D9B78 80242B58 0220202D */ daddu $a0, $s1, $zero +/* 9D9B7C 80242B5C 0260282D */ daddu $a1, $s3, $zero +/* 9D9B80 80242B60 4600E18D */ trunc.w.s $f6, $f28 +/* 9D9B84 80242B64 44063000 */ mfc1 $a2, $f6 +/* 9D9B88 80242B68 0C0B2026 */ jal set_variable +/* 9D9B8C 80242B6C 4600C601 */ sub.s $f24, $f24, $f0 +/* 9D9B90 80242B70 0220202D */ daddu $a0, $s1, $zero +/* 9D9B94 80242B74 4600D18D */ trunc.w.s $f6, $f26 +/* 9D9B98 80242B78 44063000 */ mfc1 $a2, $f6 +/* 9D9B9C 80242B7C 0C0B2026 */ jal set_variable +/* 9D9BA0 80242B80 0280282D */ daddu $a1, $s4, $zero +/* 9D9BA4 80242B84 0220202D */ daddu $a0, $s1, $zero +/* 9D9BA8 80242B88 4600C18D */ trunc.w.s $f6, $f24 +/* 9D9BAC 80242B8C 44063000 */ mfc1 $a2, $f6 +/* 9D9BB0 80242B90 0C0B2026 */ jal set_variable +/* 9D9BB4 80242B94 0200282D */ daddu $a1, $s0, $zero +/* 9D9BB8 80242B98 8FBF0024 */ lw $ra, 0x24($sp) +/* 9D9BBC 80242B9C 8FB40020 */ lw $s4, 0x20($sp) +/* 9D9BC0 80242BA0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9D9BC4 80242BA4 8FB20018 */ lw $s2, 0x18($sp) +/* 9D9BC8 80242BA8 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9BCC 80242BAC 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9BD0 80242BB0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9D9BD4 80242BB4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9D9BD8 80242BB8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9D9BDC 80242BBC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9D9BE0 80242BC0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9D9BE4 80242BC4 24020002 */ addiu $v0, $zero, 2 +/* 9D9BE8 80242BC8 03E00008 */ jr $ra +/* 9D9BEC 80242BCC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242BD0.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242BD0.s new file mode 100644 index 0000000000..08ea9e8ad9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242BD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BD0 +/* 9D9BF0 80242BD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9BF4 80242BD4 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9BF8 80242BD8 10A00003 */ beqz $a1, .L80242BE8 +/* 9D9BFC 80242BDC 8C86000C */ lw $a2, 0xc($a0) +/* 9D9C00 80242BE0 3C018025 */ lui $at, 0x8025 +/* 9D9C04 80242BE4 AC2096F0 */ sw $zero, -0x6910($at) +.L80242BE8: +/* 9D9C08 80242BE8 3C038025 */ lui $v1, 0x8025 +/* 9D9C0C 80242BEC 246396F0 */ addiu $v1, $v1, -0x6910 +/* 9D9C10 80242BF0 8C620000 */ lw $v0, ($v1) +/* 9D9C14 80242BF4 54400003 */ bnel $v0, $zero, .L80242C04 +/* 9D9C18 80242BF8 AC600000 */ sw $zero, ($v1) +/* 9D9C1C 80242BFC 08090B06 */ j .L80242C18 +/* 9D9C20 80242C00 0000102D */ daddu $v0, $zero, $zero +.L80242C04: +/* 9D9C24 80242C04 8CC50000 */ lw $a1, ($a2) +/* 9D9C28 80242C08 3C068025 */ lui $a2, 0x8025 +/* 9D9C2C 80242C0C 0C0B2026 */ jal set_variable +/* 9D9C30 80242C10 8CC696F4 */ lw $a2, -0x690c($a2) +/* 9D9C34 80242C14 24020002 */ addiu $v0, $zero, 2 +.L80242C18: +/* 9D9C38 80242C18 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9C3C 80242C1C 03E00008 */ jr $ra +/* 9D9C40 80242C20 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242C24.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242C24.s new file mode 100644 index 0000000000..1d8339686e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242C24.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C24 +/* 9D9C44 80242C24 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9C48 80242C28 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9C4C 80242C2C 8C82000C */ lw $v0, 0xc($a0) +/* 9D9C50 80242C30 0C0B1EAF */ jal get_variable +/* 9D9C54 80242C34 8C450000 */ lw $a1, ($v0) +/* 9D9C58 80242C38 3C018025 */ lui $at, 0x8025 +/* 9D9C5C 80242C3C AC2296F4 */ sw $v0, -0x690c($at) +/* 9D9C60 80242C40 24020002 */ addiu $v0, $zero, 2 +/* 9D9C64 80242C44 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9C68 80242C48 24030001 */ addiu $v1, $zero, 1 +/* 9D9C6C 80242C4C 3C018025 */ lui $at, 0x8025 +/* 9D9C70 80242C50 AC2396F0 */ sw $v1, -0x6910($at) +/* 9D9C74 80242C54 03E00008 */ jr $ra +/* 9D9C78 80242C58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242C5C.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242C5C.s new file mode 100644 index 0000000000..84c0fbab18 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242C5C.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C5C +/* 9D9C7C 80242C5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9C80 80242C60 AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9C84 80242C64 8C82000C */ lw $v0, 0xc($a0) +/* 9D9C88 80242C68 0C0B1EAF */ jal get_variable +/* 9D9C8C 80242C6C 8C450000 */ lw $a1, ($v0) +/* 9D9C90 80242C70 0040182D */ daddu $v1, $v0, $zero +/* 9D9C94 80242C74 10600012 */ beqz $v1, .L80242CC0 +/* 9D9C98 80242C78 0000202D */ daddu $a0, $zero, $zero +/* 9D9C9C 80242C7C 8C620000 */ lw $v0, ($v1) +/* 9D9CA0 80242C80 5040000A */ beql $v0, $zero, .L80242CAC +/* 9D9CA4 80242C84 00041080 */ sll $v0, $a0, 2 +/* 9D9CA8 80242C88 3C058025 */ lui $a1, 0x8025 +/* 9D9CAC 80242C8C 24A549D0 */ addiu $a1, $a1, 0x49d0 +.L80242C90: +/* 9D9CB0 80242C90 24630004 */ addiu $v1, $v1, 4 +/* 9D9CB4 80242C94 24840001 */ addiu $a0, $a0, 1 +/* 9D9CB8 80242C98 ACA20000 */ sw $v0, ($a1) +/* 9D9CBC 80242C9C 8C620000 */ lw $v0, ($v1) +/* 9D9CC0 80242CA0 1440FFFB */ bnez $v0, .L80242C90 +/* 9D9CC4 80242CA4 24A50004 */ addiu $a1, $a1, 4 +/* 9D9CC8 80242CA8 00041080 */ sll $v0, $a0, 2 +.L80242CAC: +/* 9D9CCC 80242CAC 3C018025 */ lui $at, 0x8025 +/* 9D9CD0 80242CB0 00220821 */ addu $at, $at, $v0 +/* 9D9CD4 80242CB4 AC2049D0 */ sw $zero, 0x49d0($at) +/* 9D9CD8 80242CB8 08090B3A */ j .L80242CE8 +/* 9D9CDC 80242CBC 00000000 */ nop +.L80242CC0: +/* 9D9CE0 80242CC0 3C038025 */ lui $v1, 0x8025 +/* 9D9CE4 80242CC4 246349D0 */ addiu $v1, $v1, 0x49d0 +/* 9D9CE8 80242CC8 0060282D */ daddu $a1, $v1, $zero +.L80242CCC: +/* 9D9CEC 80242CCC 24820010 */ addiu $v0, $a0, 0x10 +/* 9D9CF0 80242CD0 AC620000 */ sw $v0, ($v1) +/* 9D9CF4 80242CD4 24630004 */ addiu $v1, $v1, 4 +/* 9D9CF8 80242CD8 24840001 */ addiu $a0, $a0, 1 +/* 9D9CFC 80242CDC 28820070 */ slti $v0, $a0, 0x70 +/* 9D9D00 80242CE0 1440FFFA */ bnez $v0, .L80242CCC +/* 9D9D04 80242CE4 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80242CE8: +/* 9D9D08 80242CE8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9D0C 80242CEC 24020002 */ addiu $v0, $zero, 2 +/* 9D9D10 80242CF0 03E00008 */ jr $ra +/* 9D9D14 80242CF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242CF8.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242CF8.s new file mode 100644 index 0000000000..7ccc14ddef --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242CF8.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242CF8 +/* 9D9D18 80242CF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9D9D1C 80242CFC AFB10014 */ sw $s1, 0x14($sp) +/* 9D9D20 80242D00 0080882D */ daddu $s1, $a0, $zero +/* 9D9D24 80242D04 AFBF0018 */ sw $ra, 0x18($sp) +/* 9D9D28 80242D08 AFB00010 */ sw $s0, 0x10($sp) +/* 9D9D2C 80242D0C 8E30000C */ lw $s0, 0xc($s1) +/* 9D9D30 80242D10 8E050000 */ lw $a1, ($s0) +/* 9D9D34 80242D14 0C0B1EAF */ jal get_variable +/* 9D9D38 80242D18 26100004 */ addiu $s0, $s0, 4 +/* 9D9D3C 80242D1C AE22008C */ sw $v0, 0x8c($s1) +/* 9D9D40 80242D20 8E050000 */ lw $a1, ($s0) +/* 9D9D44 80242D24 26100004 */ addiu $s0, $s0, 4 +/* 9D9D48 80242D28 0C0B1EAF */ jal get_variable +/* 9D9D4C 80242D2C 0220202D */ daddu $a0, $s1, $zero +/* 9D9D50 80242D30 AE220090 */ sw $v0, 0x90($s1) +/* 9D9D54 80242D34 8E050000 */ lw $a1, ($s0) +/* 9D9D58 80242D38 26100004 */ addiu $s0, $s0, 4 +/* 9D9D5C 80242D3C 0C0B1EAF */ jal get_variable +/* 9D9D60 80242D40 0220202D */ daddu $a0, $s1, $zero +/* 9D9D64 80242D44 AE220094 */ sw $v0, 0x94($s1) +/* 9D9D68 80242D48 8E050000 */ lw $a1, ($s0) +/* 9D9D6C 80242D4C 26100004 */ addiu $s0, $s0, 4 +/* 9D9D70 80242D50 0C0B1EAF */ jal get_variable +/* 9D9D74 80242D54 0220202D */ daddu $a0, $s1, $zero +/* 9D9D78 80242D58 AE220098 */ sw $v0, 0x98($s1) +/* 9D9D7C 80242D5C 8E050000 */ lw $a1, ($s0) +/* 9D9D80 80242D60 26100004 */ addiu $s0, $s0, 4 +/* 9D9D84 80242D64 0C0B1EAF */ jal get_variable +/* 9D9D88 80242D68 0220202D */ daddu $a0, $s1, $zero +/* 9D9D8C 80242D6C AE22009C */ sw $v0, 0x9c($s1) +/* 9D9D90 80242D70 8E050000 */ lw $a1, ($s0) +/* 9D9D94 80242D74 26100004 */ addiu $s0, $s0, 4 +/* 9D9D98 80242D78 0C0B1EAF */ jal get_variable +/* 9D9D9C 80242D7C 0220202D */ daddu $a0, $s1, $zero +/* 9D9DA0 80242D80 AE2200A0 */ sw $v0, 0xa0($s1) +/* 9D9DA4 80242D84 8E050000 */ lw $a1, ($s0) +/* 9D9DA8 80242D88 26100004 */ addiu $s0, $s0, 4 +/* 9D9DAC 80242D8C 0C0B1EAF */ jal get_variable +/* 9D9DB0 80242D90 0220202D */ daddu $a0, $s1, $zero +/* 9D9DB4 80242D94 AE2200A4 */ sw $v0, 0xa4($s1) +/* 9D9DB8 80242D98 8E050000 */ lw $a1, ($s0) +/* 9D9DBC 80242D9C 26100004 */ addiu $s0, $s0, 4 +/* 9D9DC0 80242DA0 0C0B1EAF */ jal get_variable +/* 9D9DC4 80242DA4 0220202D */ daddu $a0, $s1, $zero +/* 9D9DC8 80242DA8 AE2200A8 */ sw $v0, 0xa8($s1) +/* 9D9DCC 80242DAC 8E050000 */ lw $a1, ($s0) +/* 9D9DD0 80242DB0 26100004 */ addiu $s0, $s0, 4 +/* 9D9DD4 80242DB4 0C0B1EAF */ jal get_variable +/* 9D9DD8 80242DB8 0220202D */ daddu $a0, $s1, $zero +/* 9D9DDC 80242DBC AE2200AC */ sw $v0, 0xac($s1) +/* 9D9DE0 80242DC0 8E050000 */ lw $a1, ($s0) +/* 9D9DE4 80242DC4 0C0B1EAF */ jal get_variable +/* 9D9DE8 80242DC8 0220202D */ daddu $a0, $s1, $zero +/* 9D9DEC 80242DCC AE2200B0 */ sw $v0, 0xb0($s1) +/* 9D9DF0 80242DD0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9D9DF4 80242DD4 8FB10014 */ lw $s1, 0x14($sp) +/* 9D9DF8 80242DD8 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9DFC 80242DDC 24020002 */ addiu $v0, $zero, 2 +/* 9D9E00 80242DE0 03E00008 */ jr $ra +/* 9D9E04 80242DE4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242DE8.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242DE8.s new file mode 100644 index 0000000000..f2f3e5ee1d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242DE8.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DE8 +/* 9D9E08 80242DE8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9D9E0C 80242DEC AFB1001C */ sw $s1, 0x1c($sp) +/* 9D9E10 80242DF0 0080882D */ daddu $s1, $a0, $zero +/* 9D9E14 80242DF4 AFBF0034 */ sw $ra, 0x34($sp) +/* 9D9E18 80242DF8 AFB60030 */ sw $s6, 0x30($sp) +/* 9D9E1C 80242DFC AFB5002C */ sw $s5, 0x2c($sp) +/* 9D9E20 80242E00 AFB40028 */ sw $s4, 0x28($sp) +/* 9D9E24 80242E04 AFB30024 */ sw $s3, 0x24($sp) +/* 9D9E28 80242E08 AFB20020 */ sw $s2, 0x20($sp) +/* 9D9E2C 80242E0C AFB00018 */ sw $s0, 0x18($sp) +/* 9D9E30 80242E10 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 9D9E34 80242E14 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9D9E38 80242E18 8E30000C */ lw $s0, 0xc($s1) +/* 9D9E3C 80242E1C 8E160000 */ lw $s6, ($s0) +/* 9D9E40 80242E20 26100004 */ addiu $s0, $s0, 4 +/* 9D9E44 80242E24 0C0B1EAF */ jal get_variable +/* 9D9E48 80242E28 02C0282D */ daddu $a1, $s6, $zero +/* 9D9E4C 80242E2C 44820000 */ mtc1 $v0, $f0 +/* 9D9E50 80242E30 00000000 */ nop +/* 9D9E54 80242E34 46800020 */ cvt.s.w $f0, $f0 +/* 9D9E58 80242E38 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9D9E5C 80242E3C 8E140000 */ lw $s4, ($s0) +/* 9D9E60 80242E40 26100004 */ addiu $s0, $s0, 4 +/* 9D9E64 80242E44 0220202D */ daddu $a0, $s1, $zero +/* 9D9E68 80242E48 0C0B1EAF */ jal get_variable +/* 9D9E6C 80242E4C 0280282D */ daddu $a1, $s4, $zero +/* 9D9E70 80242E50 0220202D */ daddu $a0, $s1, $zero +/* 9D9E74 80242E54 8E150000 */ lw $s5, ($s0) +/* 9D9E78 80242E58 4482B000 */ mtc1 $v0, $f22 +/* 9D9E7C 80242E5C 00000000 */ nop +/* 9D9E80 80242E60 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9D9E84 80242E64 0C0B1EAF */ jal get_variable +/* 9D9E88 80242E68 02A0282D */ daddu $a1, $s5, $zero +/* 9D9E8C 80242E6C 2404FFFC */ addiu $a0, $zero, -4 +/* 9D9E90 80242E70 44820000 */ mtc1 $v0, $f0 +/* 9D9E94 80242E74 00000000 */ nop +/* 9D9E98 80242E78 46800020 */ cvt.s.w $f0, $f0 +/* 9D9E9C 80242E7C 0C00EABB */ jal get_npc_unsafe +/* 9D9EA0 80242E80 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9D9EA4 80242E84 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 9D9EA8 80242E88 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 9D9EAC 80242E8C 3C014334 */ lui $at, 0x4334 +/* 9D9EB0 80242E90 44816000 */ mtc1 $at, $f12 +/* 9D9EB4 80242E94 00041880 */ sll $v1, $a0, 2 +/* 9D9EB8 80242E98 00641821 */ addu $v1, $v1, $a0 +/* 9D9EBC 80242E9C 00031880 */ sll $v1, $v1, 2 +/* 9D9EC0 80242EA0 00641823 */ subu $v1, $v1, $a0 +/* 9D9EC4 80242EA4 000320C0 */ sll $a0, $v1, 3 +/* 9D9EC8 80242EA8 00641821 */ addu $v1, $v1, $a0 +/* 9D9ECC 80242EAC 000318C0 */ sll $v1, $v1, 3 +/* 9D9ED0 80242EB0 3C01800B */ lui $at, 0x800b +/* 9D9ED4 80242EB4 00230821 */ addu $at, $at, $v1 +/* 9D9ED8 80242EB8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 9D9EDC 80242EBC 460C0300 */ add.s $f12, $f0, $f12 +/* 9D9EE0 80242EC0 0C00A6C9 */ jal clamp_angle +/* 9D9EE4 80242EC4 0040982D */ daddu $s3, $v0, $zero +/* 9D9EE8 80242EC8 27B00010 */ addiu $s0, $sp, 0x10 +/* 9D9EEC 80242ECC 0200202D */ daddu $a0, $s0, $zero +/* 9D9EF0 80242ED0 27B20014 */ addiu $s2, $sp, 0x14 +/* 9D9EF4 80242ED4 0240282D */ daddu $a1, $s2, $zero +/* 9D9EF8 80242ED8 3C064170 */ lui $a2, 0x4170 +/* 9D9EFC 80242EDC 8E67000C */ lw $a3, 0xc($s3) +/* 9D9F00 80242EE0 0C00A7E7 */ jal add_vec2D_polar +/* 9D9F04 80242EE4 46000506 */ mov.s $f20, $f0 +/* 9D9F08 80242EE8 0200202D */ daddu $a0, $s0, $zero +/* 9D9F0C 80242EEC 3C064120 */ lui $a2, 0x4120 +/* 9D9F10 80242EF0 4407A000 */ mfc1 $a3, $f20 +/* 9D9F14 80242EF4 0C00A7E7 */ jal add_vec2D_polar +/* 9D9F18 80242EF8 0240282D */ daddu $a1, $s2, $zero +/* 9D9F1C 80242EFC 0220202D */ daddu $a0, $s1, $zero +/* 9D9F20 80242F00 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 9D9F24 80242F04 4600008D */ trunc.w.s $f2, $f0 +/* 9D9F28 80242F08 44061000 */ mfc1 $a2, $f2 +/* 9D9F2C 80242F0C 0C0B2026 */ jal set_variable +/* 9D9F30 80242F10 02C0282D */ daddu $a1, $s6, $zero +/* 9D9F34 80242F14 0220202D */ daddu $a0, $s1, $zero +/* 9D9F38 80242F18 4600B08D */ trunc.w.s $f2, $f22 +/* 9D9F3C 80242F1C 44061000 */ mfc1 $a2, $f2 +/* 9D9F40 80242F20 0C0B2026 */ jal set_variable +/* 9D9F44 80242F24 0280282D */ daddu $a1, $s4, $zero +/* 9D9F48 80242F28 0220202D */ daddu $a0, $s1, $zero +/* 9D9F4C 80242F2C C7A00014 */ lwc1 $f0, 0x14($sp) +/* 9D9F50 80242F30 4600008D */ trunc.w.s $f2, $f0 +/* 9D9F54 80242F34 44061000 */ mfc1 $a2, $f2 +/* 9D9F58 80242F38 0C0B2026 */ jal set_variable +/* 9D9F5C 80242F3C 02A0282D */ daddu $a1, $s5, $zero +/* 9D9F60 80242F40 8FBF0034 */ lw $ra, 0x34($sp) +/* 9D9F64 80242F44 8FB60030 */ lw $s6, 0x30($sp) +/* 9D9F68 80242F48 8FB5002C */ lw $s5, 0x2c($sp) +/* 9D9F6C 80242F4C 8FB40028 */ lw $s4, 0x28($sp) +/* 9D9F70 80242F50 8FB30024 */ lw $s3, 0x24($sp) +/* 9D9F74 80242F54 8FB20020 */ lw $s2, 0x20($sp) +/* 9D9F78 80242F58 8FB1001C */ lw $s1, 0x1c($sp) +/* 9D9F7C 80242F5C 8FB00018 */ lw $s0, 0x18($sp) +/* 9D9F80 80242F60 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 9D9F84 80242F64 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9D9F88 80242F68 24020002 */ addiu $v0, $zero, 2 +/* 9D9F8C 80242F6C 03E00008 */ jr $ra +/* 9D9F90 80242F70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242F74_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242F74_9D7020.s new file mode 100644 index 0000000000..366119e77d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242F74_9D7020.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F74_9D9F94 +/* 9D9F94 80242F74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9F98 80242F78 AFB00010 */ sw $s0, 0x10($sp) +/* 9D9F9C 80242F7C 0080802D */ daddu $s0, $a0, $zero +/* 9D9FA0 80242F80 AFBF0014 */ sw $ra, 0x14($sp) +/* 9D9FA4 80242F84 0C00EABB */ jal get_npc_unsafe +/* 9D9FA8 80242F88 8E04008C */ lw $a0, 0x8c($s0) +/* 9D9FAC 80242F8C 0040282D */ daddu $a1, $v0, $zero +/* 9D9FB0 80242F90 8E040094 */ lw $a0, 0x94($s0) +/* 9D9FB4 80242F94 8CA30028 */ lw $v1, 0x28($a1) +/* 9D9FB8 80242F98 ACA40028 */ sw $a0, 0x28($a1) +/* 9D9FBC 80242F9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9D9FC0 80242FA0 8FB00010 */ lw $s0, 0x10($sp) +/* 9D9FC4 80242FA4 24020002 */ addiu $v0, $zero, 2 +/* 9D9FC8 80242FA8 3C018025 */ lui $at, 0x8025 +/* 9D9FCC 80242FAC AC234B94 */ sw $v1, 0x4b94($at) +/* 9D9FD0 80242FB0 03E00008 */ jr $ra +/* 9D9FD4 80242FB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242FB8.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242FB8.s new file mode 100644 index 0000000000..d65232a475 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242FB8.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FB8 +/* 9D9FD8 80242FB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9D9FDC 80242FBC AFBF0010 */ sw $ra, 0x10($sp) +/* 9D9FE0 80242FC0 0C00EABB */ jal get_npc_unsafe +/* 9D9FE4 80242FC4 8C84008C */ lw $a0, 0x8c($a0) +/* 9D9FE8 80242FC8 3C038025 */ lui $v1, 0x8025 +/* 9D9FEC 80242FCC 8C634B94 */ lw $v1, 0x4b94($v1) +/* 9D9FF0 80242FD0 AC430028 */ sw $v1, 0x28($v0) +/* 9D9FF4 80242FD4 8FBF0010 */ lw $ra, 0x10($sp) +/* 9D9FF8 80242FD8 24020002 */ addiu $v0, $zero, 2 +/* 9D9FFC 80242FDC 03E00008 */ jr $ra +/* 9DA000 80242FE0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80242FE4.s b/asm/nonmatchings/world/area_nok/nok_02/func_80242FE4.s new file mode 100644 index 0000000000..f34480d906 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80242FE4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FE4 +/* 9DA004 80242FE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DA008 80242FE8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9DA00C 80242FEC 8C82000C */ lw $v0, 0xc($a0) +/* 9DA010 80242FF0 0C0B1EAF */ jal get_variable +/* 9DA014 80242FF4 8C450000 */ lw $a1, ($v0) +/* 9DA018 80242FF8 0C03AC5A */ jal func_800EB168 +/* 9DA01C 80242FFC 0040202D */ daddu $a0, $v0, $zero +/* 9DA020 80243000 8FBF0010 */ lw $ra, 0x10($sp) +/* 9DA024 80243004 24020002 */ addiu $v0, $zero, 2 +/* 9DA028 80243008 03E00008 */ jr $ra +/* 9DA02C 8024300C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243010.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243010.s new file mode 100644 index 0000000000..f4eef7960b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243010.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243010 +/* 9DA030 80243010 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9DA034 80243014 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA038 80243018 0080882D */ daddu $s1, $a0, $zero +/* 9DA03C 8024301C AFBF0018 */ sw $ra, 0x18($sp) +/* 9DA040 80243020 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA044 80243024 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 9DA048 80243028 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9DA04C 8024302C 8E30000C */ lw $s0, 0xc($s1) +/* 9DA050 80243030 8E050000 */ lw $a1, ($s0) +/* 9DA054 80243034 0C0B1EAF */ jal get_variable +/* 9DA058 80243038 26100004 */ addiu $s0, $s0, 4 +/* 9DA05C 8024303C 8E050000 */ lw $a1, ($s0) +/* 9DA060 80243040 26100004 */ addiu $s0, $s0, 4 +/* 9DA064 80243044 4482B000 */ mtc1 $v0, $f22 +/* 9DA068 80243048 00000000 */ nop +/* 9DA06C 8024304C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9DA070 80243050 0C0B1EAF */ jal get_variable +/* 9DA074 80243054 0220202D */ daddu $a0, $s1, $zero +/* 9DA078 80243058 8E050000 */ lw $a1, ($s0) +/* 9DA07C 8024305C 4482A000 */ mtc1 $v0, $f20 +/* 9DA080 80243060 00000000 */ nop +/* 9DA084 80243064 4680A520 */ cvt.s.w $f20, $f20 +/* 9DA088 80243068 0C0B1EAF */ jal get_variable +/* 9DA08C 8024306C 0220202D */ daddu $a0, $s1, $zero +/* 9DA090 80243070 3C014170 */ lui $at, 0x4170 +/* 9DA094 80243074 44810000 */ mtc1 $at, $f0 +/* 9DA098 80243078 44821000 */ mtc1 $v0, $f2 +/* 9DA09C 8024307C 00000000 */ nop +/* 9DA0A0 80243080 468010A0 */ cvt.s.w $f2, $f2 +/* 9DA0A4 80243084 4600A500 */ add.s $f20, $f20, $f0 +/* 9DA0A8 80243088 4405B000 */ mfc1 $a1, $f22 +/* 9DA0AC 8024308C 44071000 */ mfc1 $a3, $f2 +/* 9DA0B0 80243090 4406A000 */ mfc1 $a2, $f20 +/* 9DA0B4 80243094 0C01C07C */ jal func_800701F0 +/* 9DA0B8 80243098 0000202D */ daddu $a0, $zero, $zero +/* 9DA0BC 8024309C 0000202D */ daddu $a0, $zero, $zero +/* 9DA0C0 802430A0 0080282D */ daddu $a1, $a0, $zero +/* 9DA0C4 802430A4 0C0B2D5B */ jal exec_ShakeCam1 +/* 9DA0C8 802430A8 24060014 */ addiu $a2, $zero, 0x14 +/* 9DA0CC 802430AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9DA0D0 802430B0 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA0D4 802430B4 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA0D8 802430B8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 9DA0DC 802430BC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9DA0E0 802430C0 24020002 */ addiu $v0, $zero, 2 +/* 9DA0E4 802430C4 03E00008 */ jr $ra +/* 9DA0E8 802430C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802430CC.s b/asm/nonmatchings/world/area_nok/nok_02/func_802430CC.s new file mode 100644 index 0000000000..af5726cf45 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802430CC.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802430CC +/* 9DA0EC 802430CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9DA0F0 802430D0 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA0F4 802430D4 0080882D */ daddu $s1, $a0, $zero +/* 9DA0F8 802430D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 9DA0FC 802430DC AFB20018 */ sw $s2, 0x18($sp) +/* 9DA100 802430E0 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA104 802430E4 8E30000C */ lw $s0, 0xc($s1) +/* 9DA108 802430E8 8E050000 */ lw $a1, ($s0) +/* 9DA10C 802430EC 0C0B1EAF */ jal get_variable +/* 9DA110 802430F0 26100004 */ addiu $s0, $s0, 4 +/* 9DA114 802430F4 0220202D */ daddu $a0, $s1, $zero +/* 9DA118 802430F8 8E050000 */ lw $a1, ($s0) +/* 9DA11C 802430FC 0C0B1EAF */ jal get_variable +/* 9DA120 80243100 0040802D */ daddu $s0, $v0, $zero +/* 9DA124 80243104 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 9DA128 80243108 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 9DA12C 8024310C 0000182D */ daddu $v1, $zero, $zero +/* 9DA130 80243110 C6420054 */ lwc1 $f2, 0x54($s2) +/* 9DA134 80243114 3C014080 */ lui $at, 0x4080 +/* 9DA138 80243118 44810000 */ mtc1 $at, $f0 +/* 9DA13C 8024311C 00000000 */ nop +/* 9DA140 80243120 4602003E */ c.le.s $f0, $f2 +/* 9DA144 80243124 00000000 */ nop +/* 9DA148 80243128 45000009 */ bc1f .L80243150 +/* 9DA14C 8024312C 0040202D */ daddu $a0, $v0, $zero +/* 9DA150 80243130 8E22008C */ lw $v0, 0x8c($s1) +/* 9DA154 80243134 24420001 */ addiu $v0, $v0, 1 +/* 9DA158 80243138 AE22008C */ sw $v0, 0x8c($s1) +/* 9DA15C 8024313C 28420003 */ slti $v0, $v0, 3 +/* 9DA160 80243140 14400004 */ bnez $v0, .L80243154 +/* 9DA164 80243144 24020002 */ addiu $v0, $zero, 2 +/* 9DA168 80243148 08090C55 */ j .L80243154 +/* 9DA16C 8024314C AE22008C */ sw $v0, 0x8c($s1) +.L80243150: +/* 9DA170 80243150 AE20008C */ sw $zero, 0x8c($s1) +.L80243154: +/* 9DA174 80243154 C6020038 */ lwc1 $f2, 0x38($s0) +/* 9DA178 80243158 C6400028 */ lwc1 $f0, 0x28($s2) +/* 9DA17C 8024315C 46001081 */ sub.s $f2, $f2, $f0 +/* 9DA180 80243160 46021102 */ mul.s $f4, $f2, $f2 +/* 9DA184 80243164 00000000 */ nop +/* 9DA188 80243168 C6400030 */ lwc1 $f0, 0x30($s2) +/* 9DA18C 8024316C C6020040 */ lwc1 $f2, 0x40($s0) +/* 9DA190 80243170 46001001 */ sub.s $f0, $f2, $f0 +/* 9DA194 80243174 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA198 80243178 00000000 */ nop +/* 9DA19C 8024317C 46002100 */ add.s $f4, $f4, $f0 +/* 9DA1A0 80243180 3C0145C8 */ lui $at, 0x45c8 +/* 9DA1A4 80243184 44810000 */ mtc1 $at, $f0 +/* 9DA1A8 80243188 00000000 */ nop +/* 9DA1AC 8024318C 4600203C */ c.lt.s $f4, $f0 +/* 9DA1B0 80243190 00000000 */ nop +/* 9DA1B4 80243194 45000005 */ bc1f .L802431AC +/* 9DA1B8 80243198 00000000 */ nop +/* 9DA1BC 8024319C 8E22008C */ lw $v0, 0x8c($s1) +/* 9DA1C0 802431A0 28420002 */ slti $v0, $v0, 2 +/* 9DA1C4 802431A4 50400001 */ beql $v0, $zero, .L802431AC +/* 9DA1C8 802431A8 24030001 */ addiu $v1, $zero, 1 +.L802431AC: +/* 9DA1CC 802431AC C6020038 */ lwc1 $f2, 0x38($s0) +/* 9DA1D0 802431B0 C4800038 */ lwc1 $f0, 0x38($a0) +/* 9DA1D4 802431B4 46001081 */ sub.s $f2, $f2, $f0 +/* 9DA1D8 802431B8 46021102 */ mul.s $f4, $f2, $f2 +/* 9DA1DC 802431BC 00000000 */ nop +/* 9DA1E0 802431C0 C4800040 */ lwc1 $f0, 0x40($a0) +/* 9DA1E4 802431C4 C6020040 */ lwc1 $f2, 0x40($s0) +/* 9DA1E8 802431C8 46001001 */ sub.s $f0, $f2, $f0 +/* 9DA1EC 802431CC 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA1F0 802431D0 00000000 */ nop +/* 9DA1F4 802431D4 46002100 */ add.s $f4, $f4, $f0 +/* 9DA1F8 802431D8 3C0144C8 */ lui $at, 0x44c8 +/* 9DA1FC 802431DC 44810000 */ mtc1 $at, $f0 +/* 9DA200 802431E0 00000000 */ nop +/* 9DA204 802431E4 4600203C */ c.lt.s $f4, $f0 +/* 9DA208 802431E8 00000000 */ nop +/* 9DA20C 802431EC 45030001 */ bc1tl .L802431F4 +/* 9DA210 802431F0 24030001 */ addiu $v1, $zero, 1 +.L802431F4: +/* 9DA214 802431F4 AE230084 */ sw $v1, 0x84($s1) +/* 9DA218 802431F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9DA21C 802431FC 8FB20018 */ lw $s2, 0x18($sp) +/* 9DA220 80243200 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA224 80243204 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA228 80243208 24020002 */ addiu $v0, $zero, 2 +/* 9DA22C 8024320C 03E00008 */ jr $ra +/* 9DA230 80243210 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243214.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243214.s new file mode 100644 index 0000000000..826d0ac6a1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243214.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243214 +/* 9DA234 80243214 3C058011 */ lui $a1, %hi(gPlayerStatus) +/* 9DA238 80243218 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus) +/* 9DA23C 8024321C C4A20054 */ lwc1 $f2, 0x54($a1) +/* 9DA240 80243220 3C014080 */ lui $at, 0x4080 +/* 9DA244 80243224 44810000 */ mtc1 $at, $f0 +/* 9DA248 80243228 00000000 */ nop +/* 9DA24C 8024322C 4602003E */ c.le.s $f0, $f2 +/* 9DA250 80243230 00000000 */ nop +/* 9DA254 80243234 45020008 */ bc1fl .L80243258 +/* 9DA258 80243238 AC80008C */ sw $zero, 0x8c($a0) +/* 9DA25C 8024323C 8C82008C */ lw $v0, 0x8c($a0) +/* 9DA260 80243240 24420001 */ addiu $v0, $v0, 1 +/* 9DA264 80243244 AC82008C */ sw $v0, 0x8c($a0) +/* 9DA268 80243248 28420003 */ slti $v0, $v0, 3 +/* 9DA26C 8024324C 14400002 */ bnez $v0, .L80243258 +/* 9DA270 80243250 24020002 */ addiu $v0, $zero, 2 +/* 9DA274 80243254 AC82008C */ sw $v0, 0x8c($a0) +.L80243258: +/* 9DA278 80243258 8C82008C */ lw $v0, 0x8c($a0) +/* 9DA27C 8024325C 24030001 */ addiu $v1, $zero, 1 +/* 9DA280 80243260 28420002 */ slti $v0, $v0, 2 +/* 9DA284 80243264 14400002 */ bnez $v0, .L80243270 +/* 9DA288 80243268 AC830084 */ sw $v1, 0x84($a0) +/* 9DA28C 8024326C AC800084 */ sw $zero, 0x84($a0) +.L80243270: +/* 9DA290 80243270 C4A20054 */ lwc1 $f2, 0x54($a1) +/* 9DA294 80243274 44800000 */ mtc1 $zero, $f0 +/* 9DA298 80243278 00000000 */ nop +/* 9DA29C 8024327C 46001032 */ c.eq.s $f2, $f0 +/* 9DA2A0 80243280 00000000 */ nop +/* 9DA2A4 80243284 45030001 */ bc1tl .L8024328C +/* 9DA2A8 80243288 AC800084 */ sw $zero, 0x84($a0) +.L8024328C: +/* 9DA2AC 8024328C 03E00008 */ jr $ra +/* 9DA2B0 80243290 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243294.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243294.s new file mode 100644 index 0000000000..22bcfce933 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243294.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243294 +/* 9DA2B4 80243294 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 9DA2B8 80243298 AFB50024 */ sw $s5, 0x24($sp) +/* 9DA2BC 8024329C 0080A82D */ daddu $s5, $a0, $zero +/* 9DA2C0 802432A0 AFB60028 */ sw $s6, 0x28($sp) +/* 9DA2C4 802432A4 3C168011 */ lui $s6, %hi(gPlayerStatus) +/* 9DA2C8 802432A8 26D6EFC8 */ addiu $s6, $s6, %lo(gPlayerStatus) +/* 9DA2CC 802432AC AFB10014 */ sw $s1, 0x14($sp) +/* 9DA2D0 802432B0 24112710 */ addiu $s1, $zero, 0x2710 +/* 9DA2D4 802432B4 AFB40020 */ sw $s4, 0x20($sp) +/* 9DA2D8 802432B8 3C1451EB */ lui $s4, 0x51eb +/* 9DA2DC 802432BC AFBF002C */ sw $ra, 0x2c($sp) +/* 9DA2E0 802432C0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9DA2E4 802432C4 AFB20018 */ sw $s2, 0x18($sp) +/* 9DA2E8 802432C8 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA2EC 802432CC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9DA2F0 802432D0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9DA2F4 802432D4 8EB0000C */ lw $s0, 0xc($s5) +/* 9DA2F8 802432D8 3694851F */ ori $s4, $s4, 0x851f +/* 9DA2FC 802432DC 8E050000 */ lw $a1, ($s0) +/* 9DA300 802432E0 0C0B1EAF */ jal get_variable +/* 9DA304 802432E4 26100004 */ addiu $s0, $s0, 4 +/* 9DA308 802432E8 02A0202D */ daddu $a0, $s5, $zero +/* 9DA30C 802432EC 8E050000 */ lw $a1, ($s0) +/* 9DA310 802432F0 0C0B1EAF */ jal get_variable +/* 9DA314 802432F4 0040902D */ daddu $s2, $v0, $zero +/* 9DA318 802432F8 0040982D */ daddu $s3, $v0, $zero +.L802432FC: +/* 9DA31C 802432FC 0C00A67F */ jal rand_int +/* 9DA320 80243300 0220202D */ daddu $a0, $s1, $zero +/* 9DA324 80243304 001187C2 */ srl $s0, $s1, 0x1f +/* 9DA328 80243308 02308021 */ addu $s0, $s1, $s0 +/* 9DA32C 8024330C 00108043 */ sra $s0, $s0, 1 +/* 9DA330 80243310 00501023 */ subu $v0, $v0, $s0 +/* 9DA334 80243314 00540018 */ mult $v0, $s4 +/* 9DA338 80243318 0220202D */ daddu $a0, $s1, $zero +/* 9DA33C 8024331C 000217C3 */ sra $v0, $v0, 0x1f +/* 9DA340 80243320 C6420038 */ lwc1 $f2, 0x38($s2) +/* 9DA344 80243324 00003010 */ mfhi $a2 +/* 9DA348 80243328 00061943 */ sra $v1, $a2, 5 +/* 9DA34C 8024332C 00621823 */ subu $v1, $v1, $v0 +/* 9DA350 80243330 44830000 */ mtc1 $v1, $f0 +/* 9DA354 80243334 00000000 */ nop +/* 9DA358 80243338 46800020 */ cvt.s.w $f0, $f0 +/* 9DA35C 8024333C 0C00A67F */ jal rand_int +/* 9DA360 80243340 46020580 */ add.s $f22, $f0, $f2 +/* 9DA364 80243344 00501023 */ subu $v0, $v0, $s0 +/* 9DA368 80243348 00540018 */ mult $v0, $s4 +/* 9DA36C 8024334C 3C01C316 */ lui $at, 0xc316 +/* 9DA370 80243350 44810000 */ mtc1 $at, $f0 +/* 9DA374 80243354 00000000 */ nop +/* 9DA378 80243358 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA37C 8024335C 00003010 */ mfhi $a2 +/* 9DA380 80243360 000217C3 */ sra $v0, $v0, 0x1f +/* 9DA384 80243364 46021102 */ mul.s $f4, $f2, $f2 +/* 9DA388 80243368 00000000 */ nop +/* 9DA38C 8024336C 00061943 */ sra $v1, $a2, 5 +/* 9DA390 80243370 00621823 */ subu $v1, $v1, $v0 +/* 9DA394 80243374 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9DA398 80243378 44830000 */ mtc1 $v1, $f0 +/* 9DA39C 8024337C 00000000 */ nop +/* 9DA3A0 80243380 46800020 */ cvt.s.w $f0, $f0 +/* 9DA3A4 80243384 46020500 */ add.s $f20, $f0, $f2 +/* 9DA3A8 80243388 3C01437A */ lui $at, 0x437a +/* 9DA3AC 8024338C 44810000 */ mtc1 $at, $f0 +/* 9DA3B0 80243390 00000000 */ nop +/* 9DA3B4 80243394 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA3B8 80243398 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA3BC 8024339C 00000000 */ nop +/* 9DA3C0 802433A0 46002100 */ add.s $f4, $f4, $f0 +/* 9DA3C4 802433A4 3C0146AF */ lui $at, 0x46af +/* 9DA3C8 802433A8 3421C800 */ ori $at, $at, 0xc800 +/* 9DA3CC 802433AC 44810000 */ mtc1 $at, $f0 +/* 9DA3D0 802433B0 00000000 */ nop +/* 9DA3D4 802433B4 4600203C */ c.lt.s $f4, $f0 +/* 9DA3D8 802433B8 00000000 */ nop +/* 9DA3DC 802433BC 45000021 */ bc1f .L80243444 +/* 9DA3E0 802433C0 26311388 */ addiu $s1, $s1, 0x1388 +/* 9DA3E4 802433C4 C6C00028 */ lwc1 $f0, 0x28($s6) +/* 9DA3E8 802433C8 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA3EC 802433CC 46021082 */ mul.s $f2, $f2, $f2 +/* 9DA3F0 802433D0 00000000 */ nop +/* 9DA3F4 802433D4 C6C00030 */ lwc1 $f0, 0x30($s6) +/* 9DA3F8 802433D8 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA3FC 802433DC 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA400 802433E0 00000000 */ nop +/* 9DA404 802433E4 46001080 */ add.s $f2, $f2, $f0 +/* 9DA408 802433E8 3C0145C8 */ lui $at, 0x45c8 +/* 9DA40C 802433EC 44810000 */ mtc1 $at, $f0 +/* 9DA410 802433F0 00000000 */ nop +/* 9DA414 802433F4 4602003C */ c.lt.s $f0, $f2 +/* 9DA418 802433F8 00000000 */ nop +/* 9DA41C 802433FC 45000011 */ bc1f .L80243444 +/* 9DA420 80243400 00000000 */ nop +/* 9DA424 80243404 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9DA428 80243408 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA42C 8024340C 46021082 */ mul.s $f2, $f2, $f2 +/* 9DA430 80243410 00000000 */ nop +/* 9DA434 80243414 C6600040 */ lwc1 $f0, 0x40($s3) +/* 9DA438 80243418 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA43C 8024341C 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA440 80243420 00000000 */ nop +/* 9DA444 80243424 46001080 */ add.s $f2, $f2, $f0 +/* 9DA448 80243428 3C0144C8 */ lui $at, 0x44c8 +/* 9DA44C 8024342C 44810000 */ mtc1 $at, $f0 +/* 9DA450 80243430 00000000 */ nop +/* 9DA454 80243434 4602003C */ c.lt.s $f0, $f2 +/* 9DA458 80243438 00000000 */ nop +/* 9DA45C 8024343C 45010006 */ bc1t .L80243458 +/* 9DA460 80243440 00000000 */ nop +.L80243444: +/* 9DA464 80243444 2A227531 */ slti $v0, $s1, 0x7531 +/* 9DA468 80243448 5040FFAC */ beql $v0, $zero, .L802432FC +/* 9DA46C 8024344C 24117530 */ addiu $s1, $zero, 0x7530 +/* 9DA470 80243450 08090CBF */ j .L802432FC +/* 9DA474 80243454 00000000 */ nop +.L80243458: +/* 9DA478 80243458 C6400038 */ lwc1 $f0, 0x38($s2) +/* 9DA47C 8024345C 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA480 80243460 46021082 */ mul.s $f2, $f2, $f2 +/* 9DA484 80243464 00000000 */ nop +/* 9DA488 80243468 C6400040 */ lwc1 $f0, 0x40($s2) +/* 9DA48C 8024346C 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA490 80243470 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA494 80243474 00000000 */ nop +/* 9DA498 80243478 46001300 */ add.s $f12, $f2, $f0 +/* 9DA49C 8024347C 44800000 */ mtc1 $zero, $f0 +/* 9DA4A0 80243480 00000000 */ nop +/* 9DA4A4 80243484 46006032 */ c.eq.s $f12, $f0 +/* 9DA4A8 80243488 00000000 */ nop +/* 9DA4AC 8024348C 4501000D */ bc1t .L802434C4 +/* 9DA4B0 80243490 00000000 */ nop +/* 9DA4B4 80243494 46006104 */ sqrt.s $f4, $f12 +/* 9DA4B8 80243498 46042032 */ c.eq.s $f4, $f4 +/* 9DA4BC 8024349C 00000000 */ nop +/* 9DA4C0 802434A0 45010004 */ bc1t .L802434B4 +/* 9DA4C4 802434A4 00000000 */ nop +/* 9DA4C8 802434A8 0C0187BC */ jal sqrtf +/* 9DA4CC 802434AC 00000000 */ nop +/* 9DA4D0 802434B0 46000106 */ mov.s $f4, $f0 +.L802434B4: +/* 9DA4D4 802434B4 3C014120 */ lui $at, 0x4120 +/* 9DA4D8 802434B8 44810000 */ mtc1 $at, $f0 +/* 9DA4DC 802434BC 00000000 */ nop +/* 9DA4E0 802434C0 46002303 */ div.s $f12, $f4, $f0 +.L802434C4: +/* 9DA4E4 802434C4 4600B18D */ trunc.w.s $f6, $f22 +/* 9DA4E8 802434C8 E6A600AC */ swc1 $f6, 0xac($s5) +/* 9DA4EC 802434CC 4600A18D */ trunc.w.s $f6, $f20 +/* 9DA4F0 802434D0 E6A600B0 */ swc1 $f6, 0xb0($s5) +/* 9DA4F4 802434D4 4600618D */ trunc.w.s $f6, $f12 +/* 9DA4F8 802434D8 44023000 */ mfc1 $v0, $f6 +/* 9DA4FC 802434DC 00000000 */ nop +/* 9DA500 802434E0 24420001 */ addiu $v0, $v0, 1 +/* 9DA504 802434E4 AEA200B4 */ sw $v0, 0xb4($s5) +/* 9DA508 802434E8 8FBF002C */ lw $ra, 0x2c($sp) +/* 9DA50C 802434EC 8FB60028 */ lw $s6, 0x28($sp) +/* 9DA510 802434F0 8FB50024 */ lw $s5, 0x24($sp) +/* 9DA514 802434F4 8FB40020 */ lw $s4, 0x20($sp) +/* 9DA518 802434F8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9DA51C 802434FC 8FB20018 */ lw $s2, 0x18($sp) +/* 9DA520 80243500 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA524 80243504 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA528 80243508 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9DA52C 8024350C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9DA530 80243510 24020002 */ addiu $v0, $zero, 2 +/* 9DA534 80243514 03E00008 */ jr $ra +/* 9DA538 80243518 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_8024351C.s b/asm/nonmatchings/world/area_nok/nok_02/func_8024351C.s new file mode 100644 index 0000000000..0ecc5a912d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_8024351C.s @@ -0,0 +1,151 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024351C +/* 9DA53C 8024351C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9DA540 80243520 AFB50024 */ sw $s5, 0x24($sp) +/* 9DA544 80243524 0080A82D */ daddu $s5, $a0, $zero +/* 9DA548 80243528 AFB40020 */ sw $s4, 0x20($sp) +/* 9DA54C 8024352C 3C148011 */ lui $s4, %hi(gPlayerStatus) +/* 9DA550 80243530 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) +/* 9DA554 80243534 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA558 80243538 24112710 */ addiu $s1, $zero, 0x2710 +/* 9DA55C 8024353C AFB3001C */ sw $s3, 0x1c($sp) +/* 9DA560 80243540 3C1351EB */ lui $s3, 0x51eb +/* 9DA564 80243544 F7BC0050 */ sdc1 $f28, 0x50($sp) +/* 9DA568 80243548 3C01C316 */ lui $at, 0xc316 +/* 9DA56C 8024354C 4481E000 */ mtc1 $at, $f28 +/* 9DA570 80243550 AFBF0028 */ sw $ra, 0x28($sp) +/* 9DA574 80243554 AFB20018 */ sw $s2, 0x18($sp) +/* 9DA578 80243558 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA57C 8024355C F7BA0048 */ sdc1 $f26, 0x48($sp) +/* 9DA580 80243560 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9DA584 80243564 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9DA588 80243568 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9DA58C 8024356C 8EA2000C */ lw $v0, 0xc($s5) +/* 9DA590 80243570 3C01437A */ lui $at, 0x437a +/* 9DA594 80243574 4481D000 */ mtc1 $at, $f26 +/* 9DA598 80243578 8C450000 */ lw $a1, ($v0) +/* 9DA59C 8024357C 3C0146AF */ lui $at, 0x46af +/* 9DA5A0 80243580 3421C800 */ ori $at, $at, 0xc800 +/* 9DA5A4 80243584 4481C000 */ mtc1 $at, $f24 +/* 9DA5A8 80243588 0C0B1EAF */ jal get_variable +/* 9DA5AC 8024358C 3673851F */ ori $s3, $s3, 0x851f +/* 9DA5B0 80243590 0040902D */ daddu $s2, $v0, $zero +.L80243594: +/* 9DA5B4 80243594 0C00A67F */ jal rand_int +/* 9DA5B8 80243598 0220202D */ daddu $a0, $s1, $zero +/* 9DA5BC 8024359C 001187C2 */ srl $s0, $s1, 0x1f +/* 9DA5C0 802435A0 02308021 */ addu $s0, $s1, $s0 +/* 9DA5C4 802435A4 00108043 */ sra $s0, $s0, 1 +/* 9DA5C8 802435A8 00501023 */ subu $v0, $v0, $s0 +/* 9DA5CC 802435AC 00530018 */ mult $v0, $s3 +/* 9DA5D0 802435B0 0220202D */ daddu $a0, $s1, $zero +/* 9DA5D4 802435B4 000217C3 */ sra $v0, $v0, 0x1f +/* 9DA5D8 802435B8 C6420038 */ lwc1 $f2, 0x38($s2) +/* 9DA5DC 802435BC 00003010 */ mfhi $a2 +/* 9DA5E0 802435C0 00061943 */ sra $v1, $a2, 5 +/* 9DA5E4 802435C4 00621823 */ subu $v1, $v1, $v0 +/* 9DA5E8 802435C8 44830000 */ mtc1 $v1, $f0 +/* 9DA5EC 802435CC 00000000 */ nop +/* 9DA5F0 802435D0 46800020 */ cvt.s.w $f0, $f0 +/* 9DA5F4 802435D4 0C00A67F */ jal rand_int +/* 9DA5F8 802435D8 46020580 */ add.s $f22, $f0, $f2 +/* 9DA5FC 802435DC 00501023 */ subu $v0, $v0, $s0 +/* 9DA600 802435E0 00530018 */ mult $v0, $s3 +/* 9DA604 802435E4 461CB081 */ sub.s $f2, $f22, $f28 +/* 9DA608 802435E8 00003010 */ mfhi $a2 +/* 9DA60C 802435EC 000217C3 */ sra $v0, $v0, 0x1f +/* 9DA610 802435F0 46021102 */ mul.s $f4, $f2, $f2 +/* 9DA614 802435F4 00000000 */ nop +/* 9DA618 802435F8 00061943 */ sra $v1, $a2, 5 +/* 9DA61C 802435FC 00621823 */ subu $v1, $v1, $v0 +/* 9DA620 80243600 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9DA624 80243604 44830000 */ mtc1 $v1, $f0 +/* 9DA628 80243608 00000000 */ nop +/* 9DA62C 8024360C 46800020 */ cvt.s.w $f0, $f0 +/* 9DA630 80243610 46020500 */ add.s $f20, $f0, $f2 +/* 9DA634 80243614 461AA001 */ sub.s $f0, $f20, $f26 +/* 9DA638 80243618 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA63C 8024361C 00000000 */ nop +/* 9DA640 80243620 46002100 */ add.s $f4, $f4, $f0 +/* 9DA644 80243624 4618203C */ c.lt.s $f4, $f24 +/* 9DA648 80243628 00000000 */ nop +/* 9DA64C 8024362C 45000011 */ bc1f .L80243674 +/* 9DA650 80243630 26311388 */ addiu $s1, $s1, 0x1388 +/* 9DA654 80243634 C6800028 */ lwc1 $f0, 0x28($s4) +/* 9DA658 80243638 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA65C 8024363C 46021082 */ mul.s $f2, $f2, $f2 +/* 9DA660 80243640 00000000 */ nop +/* 9DA664 80243644 C6800030 */ lwc1 $f0, 0x30($s4) +/* 9DA668 80243648 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA66C 8024364C 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA670 80243650 00000000 */ nop +/* 9DA674 80243654 46001080 */ add.s $f2, $f2, $f0 +/* 9DA678 80243658 3C0145C8 */ lui $at, 0x45c8 +/* 9DA67C 8024365C 44810000 */ mtc1 $at, $f0 +/* 9DA680 80243660 00000000 */ nop +/* 9DA684 80243664 4602003C */ c.lt.s $f0, $f2 +/* 9DA688 80243668 00000000 */ nop +/* 9DA68C 8024366C 45010006 */ bc1t .L80243688 +/* 9DA690 80243670 00000000 */ nop +.L80243674: +/* 9DA694 80243674 2A227531 */ slti $v0, $s1, 0x7531 +/* 9DA698 80243678 5040FFC6 */ beql $v0, $zero, .L80243594 +/* 9DA69C 8024367C 24117530 */ addiu $s1, $zero, 0x7530 +/* 9DA6A0 80243680 08090D65 */ j .L80243594 +/* 9DA6A4 80243684 00000000 */ nop +.L80243688: +/* 9DA6A8 80243688 C6400038 */ lwc1 $f0, 0x38($s2) +/* 9DA6AC 8024368C 4600B081 */ sub.s $f2, $f22, $f0 +/* 9DA6B0 80243690 46021082 */ mul.s $f2, $f2, $f2 +/* 9DA6B4 80243694 00000000 */ nop +/* 9DA6B8 80243698 C6400040 */ lwc1 $f0, 0x40($s2) +/* 9DA6BC 8024369C 4600A001 */ sub.s $f0, $f20, $f0 +/* 9DA6C0 802436A0 46000002 */ mul.s $f0, $f0, $f0 +/* 9DA6C4 802436A4 00000000 */ nop +/* 9DA6C8 802436A8 46001300 */ add.s $f12, $f2, $f0 +/* 9DA6CC 802436AC 44800000 */ mtc1 $zero, $f0 +/* 9DA6D0 802436B0 00000000 */ nop +/* 9DA6D4 802436B4 46006032 */ c.eq.s $f12, $f0 +/* 9DA6D8 802436B8 00000000 */ nop +/* 9DA6DC 802436BC 4501000D */ bc1t .L802436F4 +/* 9DA6E0 802436C0 00000000 */ nop +/* 9DA6E4 802436C4 46006104 */ sqrt.s $f4, $f12 +/* 9DA6E8 802436C8 46042032 */ c.eq.s $f4, $f4 +/* 9DA6EC 802436CC 00000000 */ nop +/* 9DA6F0 802436D0 45010004 */ bc1t .L802436E4 +/* 9DA6F4 802436D4 00000000 */ nop +/* 9DA6F8 802436D8 0C0187BC */ jal sqrtf +/* 9DA6FC 802436DC 00000000 */ nop +/* 9DA700 802436E0 46000106 */ mov.s $f4, $f0 +.L802436E4: +/* 9DA704 802436E4 3C014120 */ lui $at, 0x4120 +/* 9DA708 802436E8 44810000 */ mtc1 $at, $f0 +/* 9DA70C 802436EC 00000000 */ nop +/* 9DA710 802436F0 46002303 */ div.s $f12, $f4, $f0 +.L802436F4: +/* 9DA714 802436F4 4600B18D */ trunc.w.s $f6, $f22 +/* 9DA718 802436F8 E6A600AC */ swc1 $f6, 0xac($s5) +/* 9DA71C 802436FC 4600A18D */ trunc.w.s $f6, $f20 +/* 9DA720 80243700 E6A600B0 */ swc1 $f6, 0xb0($s5) +/* 9DA724 80243704 4600618D */ trunc.w.s $f6, $f12 +/* 9DA728 80243708 44023000 */ mfc1 $v0, $f6 +/* 9DA72C 8024370C 00000000 */ nop +/* 9DA730 80243710 24420001 */ addiu $v0, $v0, 1 +/* 9DA734 80243714 AEA200B4 */ sw $v0, 0xb4($s5) +/* 9DA738 80243718 8FBF0028 */ lw $ra, 0x28($sp) +/* 9DA73C 8024371C 8FB50024 */ lw $s5, 0x24($sp) +/* 9DA740 80243720 8FB40020 */ lw $s4, 0x20($sp) +/* 9DA744 80243724 8FB3001C */ lw $s3, 0x1c($sp) +/* 9DA748 80243728 8FB20018 */ lw $s2, 0x18($sp) +/* 9DA74C 8024372C 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA750 80243730 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA754 80243734 D7BC0050 */ ldc1 $f28, 0x50($sp) +/* 9DA758 80243738 D7BA0048 */ ldc1 $f26, 0x48($sp) +/* 9DA75C 8024373C D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9DA760 80243740 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9DA764 80243744 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9DA768 80243748 24020002 */ addiu $v0, $zero, 2 +/* 9DA76C 8024374C 03E00008 */ jr $ra +/* 9DA770 80243750 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243754_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243754_9D7020.s new file mode 100644 index 0000000000..40a1bf4d78 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243754_9D7020.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243754_9DA774 +/* 9DA774 80243754 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9DA778 80243758 AFB20018 */ sw $s2, 0x18($sp) +/* 9DA77C 8024375C 0080902D */ daddu $s2, $a0, $zero +/* 9DA780 80243760 AFBF001C */ sw $ra, 0x1c($sp) +/* 9DA784 80243764 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA788 80243768 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA78C 8024376C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9DA790 80243770 10A0002D */ beqz $a1, .L80243828 +/* 9DA794 80243774 8E51000C */ lw $s1, 0xc($s2) +/* 9DA798 80243778 8E250000 */ lw $a1, ($s1) +/* 9DA79C 8024377C 0C0B1EAF */ jal get_variable +/* 9DA7A0 80243780 26310004 */ addiu $s1, $s1, 4 +/* 9DA7A4 80243784 0040802D */ daddu $s0, $v0, $zero +/* 9DA7A8 80243788 AE500074 */ sw $s0, 0x74($s2) +/* 9DA7AC 8024378C 8E250000 */ lw $a1, ($s1) +/* 9DA7B0 80243790 0C0B1EAF */ jal get_variable +/* 9DA7B4 80243794 0240202D */ daddu $a0, $s2, $zero +/* 9DA7B8 80243798 C6020038 */ lwc1 $f2, 0x38($s0) +/* 9DA7BC 8024379C 44820000 */ mtc1 $v0, $f0 +/* 9DA7C0 802437A0 00000000 */ nop +/* 9DA7C4 802437A4 46800020 */ cvt.s.w $f0, $f0 +/* 9DA7C8 802437A8 46020000 */ add.s $f0, $f0, $f2 +/* 9DA7CC 802437AC 3C013F00 */ lui $at, 0x3f00 +/* 9DA7D0 802437B0 4481A000 */ mtc1 $at, $f20 +/* 9DA7D4 802437B4 00000000 */ nop +/* 9DA7D8 802437B8 46140002 */ mul.s $f0, $f0, $f20 +/* 9DA7DC 802437BC 00000000 */ nop +/* 9DA7E0 802437C0 26310004 */ addiu $s1, $s1, 4 +/* 9DA7E4 802437C4 E6000060 */ swc1 $f0, 0x60($s0) +/* 9DA7E8 802437C8 8E250000 */ lw $a1, ($s1) +/* 9DA7EC 802437CC 0C0B1EAF */ jal get_variable +/* 9DA7F0 802437D0 0240202D */ daddu $a0, $s2, $zero +/* 9DA7F4 802437D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9DA7F8 802437D8 44827000 */ mtc1 $v0, $f14 +/* 9DA7FC 802437DC 00000000 */ nop +/* 9DA800 802437E0 468073A0 */ cvt.s.w $f14, $f14 +/* 9DA804 802437E4 46007380 */ add.s $f14, $f14, $f0 +/* 9DA808 802437E8 46147382 */ mul.s $f14, $f14, $f20 +/* 9DA80C 802437EC 00000000 */ nop +/* 9DA810 802437F0 C60C0060 */ lwc1 $f12, 0x60($s0) +/* 9DA814 802437F4 8E060038 */ lw $a2, 0x38($s0) +/* 9DA818 802437F8 44070000 */ mfc1 $a3, $f0 +/* 9DA81C 802437FC 0C00A7B5 */ jal dist2D +/* 9DA820 80243800 E60E0068 */ swc1 $f14, 0x68($s0) +/* 9DA824 80243804 C60C0060 */ lwc1 $f12, 0x60($s0) +/* 9DA828 80243808 C60E0068 */ lwc1 $f14, 0x68($s0) +/* 9DA82C 8024380C 8E060038 */ lw $a2, 0x38($s0) +/* 9DA830 80243810 8E070040 */ lw $a3, 0x40($s0) +/* 9DA834 80243814 0C00A720 */ jal atan2 +/* 9DA838 80243818 E6000064 */ swc1 $f0, 0x64($s0) +/* 9DA83C 8024381C 4600010D */ trunc.w.s $f4, $f0 +/* 9DA840 80243820 E6440078 */ swc1 $f4, 0x78($s2) +/* 9DA844 80243824 A600008E */ sh $zero, 0x8e($s0) +.L80243828: +/* 9DA848 80243828 8E500074 */ lw $s0, 0x74($s2) +/* 9DA84C 8024382C C6000060 */ lwc1 $f0, 0x60($s0) +/* 9DA850 80243830 9602008E */ lhu $v0, 0x8e($s0) +/* 9DA854 80243834 C6020068 */ lwc1 $f2, 0x68($s0) +/* 9DA858 80243838 24420009 */ addiu $v0, $v0, 9 +/* 9DA85C 8024383C A602008E */ sh $v0, 0x8e($s0) +/* 9DA860 80243840 00021400 */ sll $v0, $v0, 0x10 +/* 9DA864 80243844 00021403 */ sra $v0, $v0, 0x10 +/* 9DA868 80243848 28420168 */ slti $v0, $v0, 0x168 +/* 9DA86C 8024384C E6000038 */ swc1 $f0, 0x38($s0) +/* 9DA870 80243850 14400003 */ bnez $v0, .L80243860 +/* 9DA874 80243854 E6020040 */ swc1 $f2, 0x40($s0) +/* 9DA878 80243858 24020168 */ addiu $v0, $zero, 0x168 +/* 9DA87C 8024385C A602008E */ sh $v0, 0x8e($s0) +.L80243860: +/* 9DA880 80243860 8603008E */ lh $v1, 0x8e($s0) +/* 9DA884 80243864 8E420078 */ lw $v0, 0x78($s2) +/* 9DA888 80243868 3C0142B4 */ lui $at, 0x42b4 +/* 9DA88C 8024386C 44816000 */ mtc1 $at, $f12 +/* 9DA890 80243870 00431021 */ addu $v0, $v0, $v1 +/* 9DA894 80243874 4482A000 */ mtc1 $v0, $f20 +/* 9DA898 80243878 00000000 */ nop +/* 9DA89C 8024387C 4680A520 */ cvt.s.w $f20, $f20 +/* 9DA8A0 80243880 0C00A6C9 */ jal clamp_angle +/* 9DA8A4 80243884 460CA300 */ add.s $f12, $f20, $f12 +/* 9DA8A8 80243888 8E050064 */ lw $a1, 0x64($s0) +/* 9DA8AC 8024388C 4406A000 */ mfc1 $a2, $f20 +/* 9DA8B0 80243890 0200202D */ daddu $a0, $s0, $zero +/* 9DA8B4 80243894 0C00EA95 */ jal npc_move_heading +/* 9DA8B8 80243898 E600000C */ swc1 $f0, 0xc($s0) +/* 9DA8BC 8024389C 8602008E */ lh $v0, 0x8e($s0) +/* 9DA8C0 802438A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 9DA8C4 802438A4 8FB20018 */ lw $s2, 0x18($sp) +/* 9DA8C8 802438A8 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA8CC 802438AC 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA8D0 802438B0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9DA8D4 802438B4 38420168 */ xori $v0, $v0, 0x168 +/* 9DA8D8 802438B8 2C420001 */ sltiu $v0, $v0, 1 +/* 9DA8DC 802438BC 00021040 */ sll $v0, $v0, 1 +/* 9DA8E0 802438C0 03E00008 */ jr $ra +/* 9DA8E4 802438C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9DA8E8 802438C8 00000000 */ nop +/* 9DA8EC 802438CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802438D0.s b/asm/nonmatchings/world/area_nok/nok_02/func_802438D0.s new file mode 100644 index 0000000000..7618a5f8df --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802438D0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802438D0 +/* 9DA8F0 802438D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9DA8F4 802438D4 3C048025 */ lui $a0, 0x8025 +/* 9DA8F8 802438D8 248423B4 */ addiu $a0, $a0, 0x23b4 +/* 9DA8FC 802438DC AFBF0018 */ sw $ra, 0x18($sp) +/* 9DA900 802438E0 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA904 802438E4 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA908 802438E8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9DA90C 802438EC 8C830000 */ lw $v1, ($a0) +/* 9DA910 802438F0 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 9DA914 802438F4 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 9DA918 802438F8 28620003 */ slti $v0, $v1, 3 +/* 9DA91C 802438FC 50400007 */ beql $v0, $zero, .L8024391C +/* 9DA920 80243900 24020003 */ addiu $v0, $zero, 3 +/* 9DA924 80243904 1C60000C */ bgtz $v1, .L80243938 +/* 9DA928 80243908 24620001 */ addiu $v0, $v1, 1 +/* 9DA92C 8024390C 10600007 */ beqz $v1, .L8024392C +/* 9DA930 80243910 0000102D */ daddu $v0, $zero, $zero +/* 9DA934 80243914 08090E6A */ j .L802439A8 +/* 9DA938 80243918 00000000 */ nop +.L8024391C: +/* 9DA93C 8024391C 10620008 */ beq $v1, $v0, .L80243940 +/* 9DA940 80243920 0000102D */ daddu $v0, $zero, $zero +/* 9DA944 80243924 08090E6A */ j .L802439A8 +/* 9DA948 80243928 00000000 */ nop +.L8024392C: +/* 9DA94C 8024392C 24020001 */ addiu $v0, $zero, 1 +/* 9DA950 80243930 08090E69 */ j .L802439A4 +/* 9DA954 80243934 AC820000 */ sw $v0, ($a0) +.L80243938: +/* 9DA958 80243938 08090E69 */ j .L802439A4 +/* 9DA95C 8024393C AC820000 */ sw $v0, ($a0) +.L80243940: +/* 9DA960 80243940 3C108011 */ lui $s0, 0x8011 +/* 9DA964 80243944 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 9DA968 80243948 0C03BD17 */ jal clear_partner_move_history +/* 9DA96C 8024394C 8E040000 */ lw $a0, ($s0) +/* 9DA970 80243950 C6200028 */ lwc1 $f0, 0x28($s1) +/* 9DA974 80243954 C6220030 */ lwc1 $f2, 0x30($s1) +/* 9DA978 80243958 4600010D */ trunc.w.s $f4, $f0 +/* 9DA97C 8024395C 44042000 */ mfc1 $a0, $f4 +/* 9DA980 80243960 4600110D */ trunc.w.s $f4, $f2 +/* 9DA984 80243964 44052000 */ mfc1 $a1, $f4 +/* 9DA988 80243968 0C03BCF0 */ jal func_800EF3C0 +/* 9DA98C 8024396C 00000000 */ nop +/* 9DA990 80243970 0C03BCF5 */ jal func_800EF3D4 +/* 9DA994 80243974 0000202D */ daddu $a0, $zero, $zero +/* 9DA998 80243978 3C0142B4 */ lui $at, 0x42b4 +/* 9DA99C 8024397C 4481A000 */ mtc1 $at, $f20 +/* 9DA9A0 80243980 8E040000 */ lw $a0, ($s0) +/* 9DA9A4 80243984 4405A000 */ mfc1 $a1, $f20 +/* 9DA9A8 80243988 0C00ECD0 */ jal set_npc_yaw +/* 9DA9AC 8024398C 00000000 */ nop +/* 9DA9B0 80243990 24020002 */ addiu $v0, $zero, 2 +/* 9DA9B4 80243994 E6340080 */ swc1 $f20, 0x80($s1) +/* 9DA9B8 80243998 E6340084 */ swc1 $f20, 0x84($s1) +/* 9DA9BC 8024399C 08090E6A */ j .L802439A8 +/* 9DA9C0 802439A0 AE2000A8 */ sw $zero, 0xa8($s1) +.L802439A4: +/* 9DA9C4 802439A4 0000102D */ daddu $v0, $zero, $zero +.L802439A8: +/* 9DA9C8 802439A8 8FBF0018 */ lw $ra, 0x18($sp) +/* 9DA9CC 802439AC 8FB10014 */ lw $s1, 0x14($sp) +/* 9DA9D0 802439B0 8FB00010 */ lw $s0, 0x10($sp) +/* 9DA9D4 802439B4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9DA9D8 802439B8 03E00008 */ jr $ra +/* 9DA9DC 802439BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802439C0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_802439C0_9D7020.s new file mode 100644 index 0000000000..d5acc1b5fc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802439C0_9D7020.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802439C0_9DA9E0 +/* 9DA9E0 802439C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9DA9E4 802439C4 AFB10014 */ sw $s1, 0x14($sp) +/* 9DA9E8 802439C8 0080882D */ daddu $s1, $a0, $zero +/* 9DA9EC 802439CC AFBF0018 */ sw $ra, 0x18($sp) +/* 9DA9F0 802439D0 AFB00010 */ sw $s0, 0x10($sp) +/* 9DA9F4 802439D4 8E30000C */ lw $s0, 0xc($s1) +/* 9DA9F8 802439D8 8E050000 */ lw $a1, ($s0) +/* 9DA9FC 802439DC 0C0B1EAF */ jal get_variable +/* 9DAA00 802439E0 26100004 */ addiu $s0, $s0, 4 +/* 9DAA04 802439E4 0C00EAD2 */ jal get_npc_safe +/* 9DAA08 802439E8 0040202D */ daddu $a0, $v0, $zero +/* 9DAA0C 802439EC 10400005 */ beqz $v0, .L80243A04 +/* 9DAA10 802439F0 00000000 */ nop +/* 9DAA14 802439F4 8E050000 */ lw $a1, ($s0) +/* 9DAA18 802439F8 844600A8 */ lh $a2, 0xa8($v0) +/* 9DAA1C 802439FC 0C0B2026 */ jal set_variable +/* 9DAA20 80243A00 0220202D */ daddu $a0, $s1, $zero +.L80243A04: +/* 9DAA24 80243A04 8FBF0018 */ lw $ra, 0x18($sp) +/* 9DAA28 80243A08 8FB10014 */ lw $s1, 0x14($sp) +/* 9DAA2C 80243A0C 8FB00010 */ lw $s0, 0x10($sp) +/* 9DAA30 80243A10 24020002 */ addiu $v0, $zero, 2 +/* 9DAA34 80243A14 03E00008 */ jr $ra +/* 9DAA38 80243A18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243A1C.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243A1C.s new file mode 100644 index 0000000000..0076e3ec3d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243A1C.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243A1C +/* 9DAA3C 80243A1C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9DAA40 80243A20 AFB10014 */ sw $s1, 0x14($sp) +/* 9DAA44 80243A24 0080882D */ daddu $s1, $a0, $zero +/* 9DAA48 80243A28 AFBF0024 */ sw $ra, 0x24($sp) +/* 9DAA4C 80243A2C AFB40020 */ sw $s4, 0x20($sp) +/* 9DAA50 80243A30 AFB3001C */ sw $s3, 0x1c($sp) +/* 9DAA54 80243A34 AFB20018 */ sw $s2, 0x18($sp) +/* 9DAA58 80243A38 AFB00010 */ sw $s0, 0x10($sp) +/* 9DAA5C 80243A3C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9DAA60 80243A40 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9DAA64 80243A44 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9DAA68 80243A48 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9DAA6C 80243A4C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9DAA70 80243A50 8E30000C */ lw $s0, 0xc($s1) +/* 9DAA74 80243A54 8E130000 */ lw $s3, ($s0) +/* 9DAA78 80243A58 26100004 */ addiu $s0, $s0, 4 +/* 9DAA7C 80243A5C 0C0B1EAF */ jal get_variable +/* 9DAA80 80243A60 0260282D */ daddu $a1, $s3, $zero +/* 9DAA84 80243A64 4482E000 */ mtc1 $v0, $f28 +/* 9DAA88 80243A68 00000000 */ nop +/* 9DAA8C 80243A6C 4680E720 */ cvt.s.w $f28, $f28 +/* 9DAA90 80243A70 8E140000 */ lw $s4, ($s0) +/* 9DAA94 80243A74 26100004 */ addiu $s0, $s0, 4 +/* 9DAA98 80243A78 0220202D */ daddu $a0, $s1, $zero +/* 9DAA9C 80243A7C 0C0B1EAF */ jal get_variable +/* 9DAAA0 80243A80 0280282D */ daddu $a1, $s4, $zero +/* 9DAAA4 80243A84 4482D000 */ mtc1 $v0, $f26 +/* 9DAAA8 80243A88 00000000 */ nop +/* 9DAAAC 80243A8C 4680D6A0 */ cvt.s.w $f26, $f26 +/* 9DAAB0 80243A90 8E100000 */ lw $s0, ($s0) +/* 9DAAB4 80243A94 0220202D */ daddu $a0, $s1, $zero +/* 9DAAB8 80243A98 0C0B1EAF */ jal get_variable +/* 9DAABC 80243A9C 0200282D */ daddu $a1, $s0, $zero +/* 9DAAC0 80243AA0 4482C000 */ mtc1 $v0, $f24 +/* 9DAAC4 80243AA4 00000000 */ nop +/* 9DAAC8 80243AA8 4680C620 */ cvt.s.w $f24, $f24 +/* 9DAACC 80243AAC 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 9DAAD0 80243AB0 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 9DAAD4 80243AB4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 9DAAD8 80243AB8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9DAADC 80243ABC C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 9DAAE0 80243AC0 44800000 */ mtc1 $zero, $f0 +/* 9DAAE4 80243AC4 00031080 */ sll $v0, $v1, 2 +/* 9DAAE8 80243AC8 00431021 */ addu $v0, $v0, $v1 +/* 9DAAEC 80243ACC 00021080 */ sll $v0, $v0, 2 +/* 9DAAF0 80243AD0 00431023 */ subu $v0, $v0, $v1 +/* 9DAAF4 80243AD4 000218C0 */ sll $v1, $v0, 3 +/* 9DAAF8 80243AD8 00431021 */ addu $v0, $v0, $v1 +/* 9DAAFC 80243ADC 000210C0 */ sll $v0, $v0, 3 +/* 9DAB00 80243AE0 46001032 */ c.eq.s $f2, $f0 +/* 9DAB04 80243AE4 3C01800B */ lui $at, 0x800b +/* 9DAB08 80243AE8 00220821 */ addu $at, $at, $v0 +/* 9DAB0C 80243AEC C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 9DAB10 80243AF0 45000005 */ bc1f .L80243B08 +/* 9DAB14 80243AF4 00000000 */ nop +/* 9DAB18 80243AF8 3C0142C8 */ lui $at, 0x42c8 +/* 9DAB1C 80243AFC 44810000 */ mtc1 $at, $f0 +/* 9DAB20 80243B00 08090EC6 */ j .L80243B18 +/* 9DAB24 80243B04 4600B581 */ sub.s $f22, $f22, $f0 +.L80243B08: +/* 9DAB28 80243B08 3C0142C8 */ lui $at, 0x42c8 +/* 9DAB2C 80243B0C 44810000 */ mtc1 $at, $f0 +/* 9DAB30 80243B10 00000000 */ nop +/* 9DAB34 80243B14 4600B580 */ add.s $f22, $f22, $f0 +.L80243B18: +/* 9DAB38 80243B18 0C00A6C9 */ jal clamp_angle +/* 9DAB3C 80243B1C 4600B306 */ mov.s $f12, $f22 +/* 9DAB40 80243B20 46000586 */ mov.s $f22, $f0 +/* 9DAB44 80243B24 3C014170 */ lui $at, 0x4170 +/* 9DAB48 80243B28 4481A000 */ mtc1 $at, $f20 +/* 9DAB4C 80243B2C 0C00A8BB */ jal sin_deg +/* 9DAB50 80243B30 4600B306 */ mov.s $f12, $f22 +/* 9DAB54 80243B34 46140002 */ mul.s $f0, $f0, $f20 +/* 9DAB58 80243B38 00000000 */ nop +/* 9DAB5C 80243B3C 864200B0 */ lh $v0, 0xb0($s2) +/* 9DAB60 80243B40 3C013F00 */ lui $at, 0x3f00 +/* 9DAB64 80243B44 44812000 */ mtc1 $at, $f4 +/* 9DAB68 80243B48 44821000 */ mtc1 $v0, $f2 +/* 9DAB6C 80243B4C 00000000 */ nop +/* 9DAB70 80243B50 468010A0 */ cvt.s.w $f2, $f2 +/* 9DAB74 80243B54 46041082 */ mul.s $f2, $f2, $f4 +/* 9DAB78 80243B58 00000000 */ nop +/* 9DAB7C 80243B5C 4600E700 */ add.s $f28, $f28, $f0 +/* 9DAB80 80243B60 4602D680 */ add.s $f26, $f26, $f2 +/* 9DAB84 80243B64 0C00A8D4 */ jal cos_deg +/* 9DAB88 80243B68 4600B306 */ mov.s $f12, $f22 +/* 9DAB8C 80243B6C 46140002 */ mul.s $f0, $f0, $f20 +/* 9DAB90 80243B70 00000000 */ nop +/* 9DAB94 80243B74 0220202D */ daddu $a0, $s1, $zero +/* 9DAB98 80243B78 0260282D */ daddu $a1, $s3, $zero +/* 9DAB9C 80243B7C 4600E18D */ trunc.w.s $f6, $f28 +/* 9DABA0 80243B80 44063000 */ mfc1 $a2, $f6 +/* 9DABA4 80243B84 0C0B2026 */ jal set_variable +/* 9DABA8 80243B88 4600C601 */ sub.s $f24, $f24, $f0 +/* 9DABAC 80243B8C 0220202D */ daddu $a0, $s1, $zero +/* 9DABB0 80243B90 4600D18D */ trunc.w.s $f6, $f26 +/* 9DABB4 80243B94 44063000 */ mfc1 $a2, $f6 +/* 9DABB8 80243B98 0C0B2026 */ jal set_variable +/* 9DABBC 80243B9C 0280282D */ daddu $a1, $s4, $zero +/* 9DABC0 80243BA0 0220202D */ daddu $a0, $s1, $zero +/* 9DABC4 80243BA4 4600C18D */ trunc.w.s $f6, $f24 +/* 9DABC8 80243BA8 44063000 */ mfc1 $a2, $f6 +/* 9DABCC 80243BAC 0C0B2026 */ jal set_variable +/* 9DABD0 80243BB0 0200282D */ daddu $a1, $s0, $zero +/* 9DABD4 80243BB4 8FBF0024 */ lw $ra, 0x24($sp) +/* 9DABD8 80243BB8 8FB40020 */ lw $s4, 0x20($sp) +/* 9DABDC 80243BBC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9DABE0 80243BC0 8FB20018 */ lw $s2, 0x18($sp) +/* 9DABE4 80243BC4 8FB10014 */ lw $s1, 0x14($sp) +/* 9DABE8 80243BC8 8FB00010 */ lw $s0, 0x10($sp) +/* 9DABEC 80243BCC D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9DABF0 80243BD0 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9DABF4 80243BD4 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9DABF8 80243BD8 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9DABFC 80243BDC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9DAC00 80243BE0 24020002 */ addiu $v0, $zero, 2 +/* 9DAC04 80243BE4 03E00008 */ jr $ra +/* 9DAC08 80243BE8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243BEC.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243BEC.s new file mode 100644 index 0000000000..8b2467782e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243BEC.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243BEC +/* 9DAC0C 80243BEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DAC10 80243BF0 AFBF0010 */ sw $ra, 0x10($sp) +/* 9DAC14 80243BF4 10A00003 */ beqz $a1, .L80243C04 +/* 9DAC18 80243BF8 8C86000C */ lw $a2, 0xc($a0) +/* 9DAC1C 80243BFC 3C018025 */ lui $at, 0x8025 +/* 9DAC20 80243C00 AC202400 */ sw $zero, 0x2400($at) +.L80243C04: +/* 9DAC24 80243C04 3C038025 */ lui $v1, 0x8025 +/* 9DAC28 80243C08 24632400 */ addiu $v1, $v1, 0x2400 +/* 9DAC2C 80243C0C 8C620000 */ lw $v0, ($v1) +/* 9DAC30 80243C10 54400003 */ bnel $v0, $zero, .L80243C20 +/* 9DAC34 80243C14 AC600000 */ sw $zero, ($v1) +/* 9DAC38 80243C18 08090F0D */ j .L80243C34 +/* 9DAC3C 80243C1C 0000102D */ daddu $v0, $zero, $zero +.L80243C20: +/* 9DAC40 80243C20 8CC50000 */ lw $a1, ($a2) +/* 9DAC44 80243C24 3C068025 */ lui $a2, 0x8025 +/* 9DAC48 80243C28 0C0B2026 */ jal set_variable +/* 9DAC4C 80243C2C 8CC62404 */ lw $a2, 0x2404($a2) +/* 9DAC50 80243C30 24020002 */ addiu $v0, $zero, 2 +.L80243C34: +/* 9DAC54 80243C34 8FBF0010 */ lw $ra, 0x10($sp) +/* 9DAC58 80243C38 03E00008 */ jr $ra +/* 9DAC5C 80243C3C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243C40.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243C40.s new file mode 100644 index 0000000000..4919e4f9ae --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243C40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243C40 +/* 9DAC60 80243C40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DAC64 80243C44 AFBF0010 */ sw $ra, 0x10($sp) +/* 9DAC68 80243C48 8C82000C */ lw $v0, 0xc($a0) +/* 9DAC6C 80243C4C 0C0B1EAF */ jal get_variable +/* 9DAC70 80243C50 8C450000 */ lw $a1, ($v0) +/* 9DAC74 80243C54 3C018025 */ lui $at, 0x8025 +/* 9DAC78 80243C58 AC222404 */ sw $v0, 0x2404($at) +/* 9DAC7C 80243C5C 24020002 */ addiu $v0, $zero, 2 +/* 9DAC80 80243C60 8FBF0010 */ lw $ra, 0x10($sp) +/* 9DAC84 80243C64 24030001 */ addiu $v1, $zero, 1 +/* 9DAC88 80243C68 3C018025 */ lui $at, 0x8025 +/* 9DAC8C 80243C6C AC232400 */ sw $v1, 0x2400($at) +/* 9DAC90 80243C70 03E00008 */ jr $ra +/* 9DAC94 80243C74 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243C78.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243C78.s new file mode 100644 index 0000000000..077eaeca80 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243C78.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243C78 +/* 9DAC98 80243C78 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DAC9C 80243C7C AFBF0010 */ sw $ra, 0x10($sp) +/* 9DACA0 80243C80 8C82000C */ lw $v0, 0xc($a0) +/* 9DACA4 80243C84 0C0B1EAF */ jal get_variable +/* 9DACA8 80243C88 8C450000 */ lw $a1, ($v0) +/* 9DACAC 80243C8C 0040182D */ daddu $v1, $v0, $zero +/* 9DACB0 80243C90 10600012 */ beqz $v1, .L80243CDC +/* 9DACB4 80243C94 0000202D */ daddu $a0, $zero, $zero +/* 9DACB8 80243C98 8C620000 */ lw $v0, ($v1) +/* 9DACBC 80243C9C 5040000A */ beql $v0, $zero, .L80243CC8 +/* 9DACC0 80243CA0 00041080 */ sll $v0, $a0, 2 +/* 9DACC4 80243CA4 3C058025 */ lui $a1, 0x8025 +/* 9DACC8 80243CA8 24A54BA0 */ addiu $a1, $a1, 0x4ba0 +.L80243CAC: +/* 9DACCC 80243CAC 24630004 */ addiu $v1, $v1, 4 +/* 9DACD0 80243CB0 24840001 */ addiu $a0, $a0, 1 +/* 9DACD4 80243CB4 ACA20000 */ sw $v0, ($a1) +/* 9DACD8 80243CB8 8C620000 */ lw $v0, ($v1) +/* 9DACDC 80243CBC 1440FFFB */ bnez $v0, .L80243CAC +/* 9DACE0 80243CC0 24A50004 */ addiu $a1, $a1, 4 +/* 9DACE4 80243CC4 00041080 */ sll $v0, $a0, 2 +.L80243CC8: +/* 9DACE8 80243CC8 3C018025 */ lui $at, 0x8025 +/* 9DACEC 80243CCC 00220821 */ addu $at, $at, $v0 +/* 9DACF0 80243CD0 AC204BA0 */ sw $zero, 0x4ba0($at) +/* 9DACF4 80243CD4 08090F41 */ j .L80243D04 +/* 9DACF8 80243CD8 00000000 */ nop +.L80243CDC: +/* 9DACFC 80243CDC 3C038025 */ lui $v1, 0x8025 +/* 9DAD00 80243CE0 24634BA0 */ addiu $v1, $v1, 0x4ba0 +/* 9DAD04 80243CE4 0060282D */ daddu $a1, $v1, $zero +.L80243CE8: +/* 9DAD08 80243CE8 24820010 */ addiu $v0, $a0, 0x10 +/* 9DAD0C 80243CEC AC620000 */ sw $v0, ($v1) +/* 9DAD10 80243CF0 24630004 */ addiu $v1, $v1, 4 +/* 9DAD14 80243CF4 24840001 */ addiu $a0, $a0, 1 +/* 9DAD18 80243CF8 28820070 */ slti $v0, $a0, 0x70 +/* 9DAD1C 80243CFC 1440FFFA */ bnez $v0, .L80243CE8 +/* 9DAD20 80243D00 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80243D04: +/* 9DAD24 80243D04 8FBF0010 */ lw $ra, 0x10($sp) +/* 9DAD28 80243D08 24020002 */ addiu $v0, $zero, 2 +/* 9DAD2C 80243D0C 03E00008 */ jr $ra +/* 9DAD30 80243D10 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243D14.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243D14.s new file mode 100644 index 0000000000..be682048a7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243D14.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243D14 +/* 9DAD34 80243D14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DAD38 80243D18 AFBF0010 */ sw $ra, 0x10($sp) +/* 9DAD3C 80243D1C 8C82000C */ lw $v0, 0xc($a0) +/* 9DAD40 80243D20 0C0B1EAF */ jal get_variable +/* 9DAD44 80243D24 8C450000 */ lw $a1, ($v0) +/* 9DAD48 80243D28 0040182D */ daddu $v1, $v0, $zero +/* 9DAD4C 80243D2C 10600012 */ beqz $v1, .L80243D78 +/* 9DAD50 80243D30 0000202D */ daddu $a0, $zero, $zero +/* 9DAD54 80243D34 8C620000 */ lw $v0, ($v1) +/* 9DAD58 80243D38 5040000A */ beql $v0, $zero, .L80243D64 +/* 9DAD5C 80243D3C 00041080 */ sll $v0, $a0, 2 +/* 9DAD60 80243D40 3C058025 */ lui $a1, 0x8025 +/* 9DAD64 80243D44 24A54D68 */ addiu $a1, $a1, 0x4d68 +.L80243D48: +/* 9DAD68 80243D48 24630004 */ addiu $v1, $v1, 4 +/* 9DAD6C 80243D4C 24840001 */ addiu $a0, $a0, 1 +/* 9DAD70 80243D50 ACA20000 */ sw $v0, ($a1) +/* 9DAD74 80243D54 8C620000 */ lw $v0, ($v1) +/* 9DAD78 80243D58 1440FFFB */ bnez $v0, .L80243D48 +/* 9DAD7C 80243D5C 24A50004 */ addiu $a1, $a1, 4 +/* 9DAD80 80243D60 00041080 */ sll $v0, $a0, 2 +.L80243D64: +/* 9DAD84 80243D64 3C018025 */ lui $at, 0x8025 +/* 9DAD88 80243D68 00220821 */ addu $at, $at, $v0 +/* 9DAD8C 80243D6C AC204D68 */ sw $zero, 0x4d68($at) +/* 9DAD90 80243D70 08090F68 */ j .L80243DA0 +/* 9DAD94 80243D74 00000000 */ nop +.L80243D78: +/* 9DAD98 80243D78 3C038025 */ lui $v1, 0x8025 +/* 9DAD9C 80243D7C 24634D68 */ addiu $v1, $v1, 0x4d68 +/* 9DADA0 80243D80 0060282D */ daddu $a1, $v1, $zero +.L80243D84: +/* 9DADA4 80243D84 24820080 */ addiu $v0, $a0, 0x80 +/* 9DADA8 80243D88 AC620000 */ sw $v0, ($v1) +/* 9DADAC 80243D8C 24630004 */ addiu $v1, $v1, 4 +/* 9DADB0 80243D90 24840001 */ addiu $a0, $a0, 1 +/* 9DADB4 80243D94 2882005B */ slti $v0, $a0, 0x5b +/* 9DADB8 80243D98 1440FFFA */ bnez $v0, .L80243D84 +/* 9DADBC 80243D9C ACA0016C */ sw $zero, 0x16c($a1) +.L80243DA0: +/* 9DADC0 80243DA0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9DADC4 80243DA4 24020002 */ addiu $v0, $zero, 2 +/* 9DADC8 80243DA8 03E00008 */ jr $ra +/* 9DADCC 80243DAC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243DB0_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243DB0_9D7020.s new file mode 100644 index 0000000000..8e438f29e8 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243DB0_9D7020.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243DB0_9DADD0 +/* 9DADD0 80243DB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9DADD4 80243DB4 AFB00010 */ sw $s0, 0x10($sp) +/* 9DADD8 80243DB8 3C108025 */ lui $s0, 0x8025 +/* 9DADDC 80243DBC 26102720 */ addiu $s0, $s0, 0x2720 +/* 9DADE0 80243DC0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9DADE4 80243DC4 AFB10014 */ sw $s1, 0x14($sp) +/* 9DADE8 80243DC8 8E020000 */ lw $v0, ($s0) +/* 9DADEC 80243DCC 14400010 */ bnez $v0, .L80243E10 +/* 9DADF0 80243DD0 0080882D */ daddu $s1, $a0, $zero +/* 9DADF4 80243DD4 0C00AB39 */ jal heap_malloc +/* 9DADF8 80243DD8 24040040 */ addiu $a0, $zero, 0x40 +/* 9DADFC 80243DDC AE020000 */ sw $v0, ($s0) +/* 9DAE00 80243DE0 0000182D */ daddu $v1, $zero, $zero +/* 9DAE04 80243DE4 0040282D */ daddu $a1, $v0, $zero +/* 9DAE08 80243DE8 0220202D */ daddu $a0, $s1, $zero +.L80243DEC: +/* 9DAE0C 80243DEC 8C820084 */ lw $v0, 0x84($a0) +/* 9DAE10 80243DF0 24840004 */ addiu $a0, $a0, 4 +/* 9DAE14 80243DF4 24630001 */ addiu $v1, $v1, 1 +/* 9DAE18 80243DF8 ACA20000 */ sw $v0, ($a1) +/* 9DAE1C 80243DFC 28620010 */ slti $v0, $v1, 0x10 +/* 9DAE20 80243E00 1440FFFA */ bnez $v0, .L80243DEC +/* 9DAE24 80243E04 24A50004 */ addiu $a1, $a1, 4 +/* 9DAE28 80243E08 08090F93 */ j .L80243E4C +/* 9DAE2C 80243E0C 00000000 */ nop +.L80243E10: +/* 9DAE30 80243E10 0000182D */ daddu $v1, $zero, $zero +/* 9DAE34 80243E14 0040282D */ daddu $a1, $v0, $zero +/* 9DAE38 80243E18 0220202D */ daddu $a0, $s1, $zero +.L80243E1C: +/* 9DAE3C 80243E1C 8CA20000 */ lw $v0, ($a1) +/* 9DAE40 80243E20 24A50004 */ addiu $a1, $a1, 4 +/* 9DAE44 80243E24 24630001 */ addiu $v1, $v1, 1 +/* 9DAE48 80243E28 AC820084 */ sw $v0, 0x84($a0) +/* 9DAE4C 80243E2C 28620010 */ slti $v0, $v1, 0x10 +/* 9DAE50 80243E30 1440FFFA */ bnez $v0, .L80243E1C +/* 9DAE54 80243E34 24840004 */ addiu $a0, $a0, 4 +/* 9DAE58 80243E38 3C108025 */ lui $s0, 0x8025 +/* 9DAE5C 80243E3C 26102720 */ addiu $s0, $s0, 0x2720 +/* 9DAE60 80243E40 0C00AB4B */ jal heap_free +/* 9DAE64 80243E44 8E040000 */ lw $a0, ($s0) +/* 9DAE68 80243E48 AE000000 */ sw $zero, ($s0) +.L80243E4C: +/* 9DAE6C 80243E4C 8FBF0018 */ lw $ra, 0x18($sp) +/* 9DAE70 80243E50 8FB10014 */ lw $s1, 0x14($sp) +/* 9DAE74 80243E54 8FB00010 */ lw $s0, 0x10($sp) +/* 9DAE78 80243E58 24020002 */ addiu $v0, $zero, 2 +/* 9DAE7C 80243E5C 03E00008 */ jr $ra +/* 9DAE80 80243E60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243E64.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243E64.s new file mode 100644 index 0000000000..44806e5d41 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243E64.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243E64 +/* 9DAE84 80243E64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9DAE88 80243E68 AFB00010 */ sw $s0, 0x10($sp) +/* 9DAE8C 80243E6C 0080802D */ daddu $s0, $a0, $zero +/* 9DAE90 80243E70 AFBF0018 */ sw $ra, 0x18($sp) +/* 9DAE94 80243E74 AFB10014 */ sw $s1, 0x14($sp) +/* 9DAE98 80243E78 8E02000C */ lw $v0, 0xc($s0) +/* 9DAE9C 80243E7C 8C510000 */ lw $s1, ($v0) +/* 9DAEA0 80243E80 0C0B1EAF */ jal get_variable +/* 9DAEA4 80243E84 0220282D */ daddu $a1, $s1, $zero +/* 9DAEA8 80243E88 3C03FFF0 */ lui $v1, 0xfff0 +/* 9DAEAC 80243E8C 3463FFFF */ ori $v1, $v1, 0xffff +/* 9DAEB0 80243E90 0200202D */ daddu $a0, $s0, $zero +/* 9DAEB4 80243E94 00431024 */ and $v0, $v0, $v1 +/* 9DAEB8 80243E98 00021140 */ sll $v0, $v0, 5 +/* 9DAEBC 80243E9C 3C068008 */ lui $a2, %hi(gItemTable) +/* 9DAEC0 80243EA0 00C23021 */ addu $a2, $a2, $v0 +/* 9DAEC4 80243EA4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 9DAEC8 80243EA8 0C0B2026 */ jal set_variable +/* 9DAECC 80243EAC 0220282D */ daddu $a1, $s1, $zero +/* 9DAED0 80243EB0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9DAED4 80243EB4 8FB10014 */ lw $s1, 0x14($sp) +/* 9DAED8 80243EB8 8FB00010 */ lw $s0, 0x10($sp) +/* 9DAEDC 80243EBC 24020002 */ addiu $v0, $zero, 2 +/* 9DAEE0 80243EC0 03E00008 */ jr $ra +/* 9DAEE4 80243EC4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243EC8.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243EC8.s new file mode 100644 index 0000000000..3503f9a3e5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243EC8.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243EC8 +/* 9DAEE8 80243EC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DAEEC 80243ECC AFB00010 */ sw $s0, 0x10($sp) +/* 9DAEF0 80243ED0 0080802D */ daddu $s0, $a0, $zero +/* 9DAEF4 80243ED4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9DAEF8 80243ED8 8E02000C */ lw $v0, 0xc($s0) +/* 9DAEFC 80243EDC 0C0B1EAF */ jal get_variable +/* 9DAF00 80243EE0 8C450000 */ lw $a1, ($v0) +/* 9DAF04 80243EE4 30420003 */ andi $v0, $v0, 3 +/* 9DAF08 80243EE8 10400003 */ beqz $v0, .L80243EF8 +/* 9DAF0C 80243EEC 24020001 */ addiu $v0, $zero, 1 +/* 9DAF10 80243EF0 08090FBF */ j .L80243EFC +/* 9DAF14 80243EF4 AE000084 */ sw $zero, 0x84($s0) +.L80243EF8: +/* 9DAF18 80243EF8 AE020084 */ sw $v0, 0x84($s0) +.L80243EFC: +/* 9DAF1C 80243EFC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9DAF20 80243F00 8FB00010 */ lw $s0, 0x10($sp) +/* 9DAF24 80243F04 24020002 */ addiu $v0, $zero, 2 +/* 9DAF28 80243F08 03E00008 */ jr $ra +/* 9DAF2C 80243F0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80243F10.s b/asm/nonmatchings/world/area_nok/nok_02/func_80243F10.s new file mode 100644 index 0000000000..84830799c9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80243F10.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243F10 +/* 9DAF30 80243F10 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9DAF34 80243F14 AFB40020 */ sw $s4, 0x20($sp) +/* 9DAF38 80243F18 0080A02D */ daddu $s4, $a0, $zero +/* 9DAF3C 80243F1C AFB20018 */ sw $s2, 0x18($sp) +/* 9DAF40 80243F20 0000902D */ daddu $s2, $zero, $zero +/* 9DAF44 80243F24 AFB3001C */ sw $s3, 0x1c($sp) +/* 9DAF48 80243F28 3C138025 */ lui $s3, 0x8025 +/* 9DAF4C 80243F2C 26732784 */ addiu $s3, $s3, 0x2784 +/* 9DAF50 80243F30 AFB10014 */ sw $s1, 0x14($sp) +/* 9DAF54 80243F34 0240882D */ daddu $s1, $s2, $zero +/* 9DAF58 80243F38 AFBF002C */ sw $ra, 0x2c($sp) +/* 9DAF5C 80243F3C AFB60028 */ sw $s6, 0x28($sp) +/* 9DAF60 80243F40 AFB50024 */ sw $s5, 0x24($sp) +/* 9DAF64 80243F44 AFB00010 */ sw $s0, 0x10($sp) +/* 9DAF68 80243F48 8E82000C */ lw $v0, 0xc($s4) +/* 9DAF6C 80243F4C 26700010 */ addiu $s0, $s3, 0x10 +/* 9DAF70 80243F50 8C550000 */ lw $s5, ($v0) +.L80243F54: +/* 9DAF74 80243F54 8E05FFFC */ lw $a1, -4($s0) +/* 9DAF78 80243F58 0C0B1EAF */ jal get_variable +/* 9DAF7C 80243F5C 0280202D */ daddu $a0, $s4, $zero +/* 9DAF80 80243F60 5040000D */ beql $v0, $zero, .L80243F98 +/* 9DAF84 80243F64 26310001 */ addiu $s1, $s1, 1 +/* 9DAF88 80243F68 8E050004 */ lw $a1, 4($s0) +/* 9DAF8C 80243F6C 0C0B1EAF */ jal get_variable +/* 9DAF90 80243F70 0280202D */ daddu $a0, $s4, $zero +/* 9DAF94 80243F74 54400008 */ bnel $v0, $zero, .L80243F98 +/* 9DAF98 80243F78 26310001 */ addiu $s1, $s1, 1 +/* 9DAF9C 80243F7C 26520001 */ addiu $s2, $s2, 1 +/* 9DAFA0 80243F80 8E050000 */ lw $a1, ($s0) +/* 9DAFA4 80243F84 0C0B1EAF */ jal get_variable +/* 9DAFA8 80243F88 0280202D */ daddu $a0, $s4, $zero +/* 9DAFAC 80243F8C 10400007 */ beqz $v0, .L80243FAC +/* 9DAFB0 80243F90 24020014 */ addiu $v0, $zero, 0x14 +/* 9DAFB4 80243F94 26310001 */ addiu $s1, $s1, 1 +.L80243F98: +/* 9DAFB8 80243F98 2610001C */ addiu $s0, $s0, 0x1c +/* 9DAFBC 80243F9C 2E220014 */ sltiu $v0, $s1, 0x14 +/* 9DAFC0 80243FA0 1440FFEC */ bnez $v0, .L80243F54 +/* 9DAFC4 80243FA4 2673001C */ addiu $s3, $s3, 0x1c +/* 9DAFC8 80243FA8 24020014 */ addiu $v0, $zero, 0x14 +.L80243FAC: +/* 9DAFCC 80243FAC 16220021 */ bne $s1, $v0, .L80244034 +/* 9DAFD0 80243FB0 0280202D */ daddu $a0, $s4, $zero +/* 9DAFD4 80243FB4 16400004 */ bnez $s2, .L80243FC8 +/* 9DAFD8 80243FB8 02A0282D */ daddu $a1, $s5, $zero +/* 9DAFDC 80243FBC AE800084 */ sw $zero, 0x84($s4) +/* 9DAFE0 80243FC0 08091011 */ j .L80244044 +/* 9DAFE4 80243FC4 240600FF */ addiu $a2, $zero, 0xff +.L80243FC8: +/* 9DAFE8 80243FC8 0C00A67F */ jal rand_int +/* 9DAFEC 80243FCC 2644FFFF */ addiu $a0, $s2, -1 +/* 9DAFF0 80243FD0 0040B02D */ daddu $s6, $v0, $zero +/* 9DAFF4 80243FD4 0000902D */ daddu $s2, $zero, $zero +/* 9DAFF8 80243FD8 3C138025 */ lui $s3, 0x8025 +/* 9DAFFC 80243FDC 26732784 */ addiu $s3, $s3, 0x2784 +/* 9DB000 80243FE0 0240882D */ daddu $s1, $s2, $zero +/* 9DB004 80243FE4 26700014 */ addiu $s0, $s3, 0x14 +.L80243FE8: +/* 9DB008 80243FE8 8E05FFF8 */ lw $a1, -8($s0) +/* 9DB00C 80243FEC 0C0B1EAF */ jal get_variable +/* 9DB010 80243FF0 0280202D */ daddu $a0, $s4, $zero +/* 9DB014 80243FF4 5040000A */ beql $v0, $zero, .L80244020 +/* 9DB018 80243FF8 26310001 */ addiu $s1, $s1, 1 +/* 9DB01C 80243FFC 8E050000 */ lw $a1, ($s0) +/* 9DB020 80244000 0C0B1EAF */ jal get_variable +/* 9DB024 80244004 0280202D */ daddu $a0, $s4, $zero +/* 9DB028 80244008 54400005 */ bnel $v0, $zero, .L80244020 +/* 9DB02C 8024400C 26310001 */ addiu $s1, $s1, 1 +/* 9DB030 80244010 0240102D */ daddu $v0, $s2, $zero +/* 9DB034 80244014 10560006 */ beq $v0, $s6, .L80244030 +/* 9DB038 80244018 26520001 */ addiu $s2, $s2, 1 +/* 9DB03C 8024401C 26310001 */ addiu $s1, $s1, 1 +.L80244020: +/* 9DB040 80244020 2610001C */ addiu $s0, $s0, 0x1c +/* 9DB044 80244024 2E220014 */ sltiu $v0, $s1, 0x14 +/* 9DB048 80244028 1440FFEF */ bnez $v0, .L80243FE8 +/* 9DB04C 8024402C 2673001C */ addiu $s3, $s3, 0x1c +.L80244030: +/* 9DB050 80244030 0280202D */ daddu $a0, $s4, $zero +.L80244034: +/* 9DB054 80244034 02A0282D */ daddu $a1, $s5, $zero +/* 9DB058 80244038 8E620000 */ lw $v0, ($s3) +/* 9DB05C 8024403C 26260001 */ addiu $a2, $s1, 1 +/* 9DB060 80244040 AC820084 */ sw $v0, 0x84($a0) +.L80244044: +/* 9DB064 80244044 0C0B2026 */ jal set_variable +/* 9DB068 80244048 00000000 */ nop +/* 9DB06C 8024404C 24020002 */ addiu $v0, $zero, 2 +/* 9DB070 80244050 8FBF002C */ lw $ra, 0x2c($sp) +/* 9DB074 80244054 8FB60028 */ lw $s6, 0x28($sp) +/* 9DB078 80244058 8FB50024 */ lw $s5, 0x24($sp) +/* 9DB07C 8024405C 8FB40020 */ lw $s4, 0x20($sp) +/* 9DB080 80244060 8FB3001C */ lw $s3, 0x1c($sp) +/* 9DB084 80244064 8FB20018 */ lw $s2, 0x18($sp) +/* 9DB088 80244068 8FB10014 */ lw $s1, 0x14($sp) +/* 9DB08C 8024406C 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB090 80244070 03E00008 */ jr $ra +/* 9DB094 80244074 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80244078_9D7020.s b/asm/nonmatchings/world/area_nok/nok_02/func_80244078_9D7020.s new file mode 100644 index 0000000000..ea3d82bae2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80244078_9D7020.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244078_9DB098 +/* 9DB098 80244078 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9DB09C 8024407C AFB40020 */ sw $s4, 0x20($sp) +/* 9DB0A0 80244080 0080A02D */ daddu $s4, $a0, $zero +/* 9DB0A4 80244084 AFB3001C */ sw $s3, 0x1c($sp) +/* 9DB0A8 80244088 0000982D */ daddu $s3, $zero, $zero +/* 9DB0AC 8024408C AFB20018 */ sw $s2, 0x18($sp) +/* 9DB0B0 80244090 3C128025 */ lui $s2, 0x8025 +/* 9DB0B4 80244094 26522784 */ addiu $s2, $s2, 0x2784 +/* 9DB0B8 80244098 AFBF0030 */ sw $ra, 0x30($sp) +/* 9DB0BC 8024409C AFB7002C */ sw $s7, 0x2c($sp) +/* 9DB0C0 802440A0 AFB60028 */ sw $s6, 0x28($sp) +/* 9DB0C4 802440A4 AFB50024 */ sw $s5, 0x24($sp) +/* 9DB0C8 802440A8 AFB10014 */ sw $s1, 0x14($sp) +/* 9DB0CC 802440AC AFB00010 */ sw $s0, 0x10($sp) +/* 9DB0D0 802440B0 8E82000C */ lw $v0, 0xc($s4) +/* 9DB0D4 802440B4 0260882D */ daddu $s1, $s3, $zero +/* 9DB0D8 802440B8 8C560000 */ lw $s6, ($v0) +/* 9DB0DC 802440BC 26500010 */ addiu $s0, $s2, 0x10 +/* 9DB0E0 802440C0 0C0B1EAF */ jal get_variable +/* 9DB0E4 802440C4 02C0282D */ daddu $a1, $s6, $zero +/* 9DB0E8 802440C8 0280202D */ daddu $a0, $s4, $zero +/* 9DB0EC 802440CC 2455FFFF */ addiu $s5, $v0, -1 +/* 9DB0F0 802440D0 001510C0 */ sll $v0, $s5, 3 +/* 9DB0F4 802440D4 00551023 */ subu $v0, $v0, $s5 +/* 9DB0F8 802440D8 00021080 */ sll $v0, $v0, 2 +/* 9DB0FC 802440DC 3C058025 */ lui $a1, 0x8025 +/* 9DB100 802440E0 00A22821 */ addu $a1, $a1, $v0 +/* 9DB104 802440E4 8CA52794 */ lw $a1, 0x2794($a1) +/* 9DB108 802440E8 0C0B2026 */ jal set_variable +/* 9DB10C 802440EC 24060001 */ addiu $a2, $zero, 1 +.L802440F0: +/* 9DB110 802440F0 8E05FFFC */ lw $a1, -4($s0) +/* 9DB114 802440F4 0C0B1EAF */ jal get_variable +/* 9DB118 802440F8 0280202D */ daddu $a0, $s4, $zero +/* 9DB11C 802440FC 5040000D */ beql $v0, $zero, .L80244134 +/* 9DB120 80244100 26310001 */ addiu $s1, $s1, 1 +/* 9DB124 80244104 8E050004 */ lw $a1, 4($s0) +/* 9DB128 80244108 0C0B1EAF */ jal get_variable +/* 9DB12C 8024410C 0280202D */ daddu $a0, $s4, $zero +/* 9DB130 80244110 54400008 */ bnel $v0, $zero, .L80244134 +/* 9DB134 80244114 26310001 */ addiu $s1, $s1, 1 +/* 9DB138 80244118 26730001 */ addiu $s3, $s3, 1 +/* 9DB13C 8024411C 8E050000 */ lw $a1, ($s0) +/* 9DB140 80244120 0C0B1EAF */ jal get_variable +/* 9DB144 80244124 0280202D */ daddu $a0, $s4, $zero +/* 9DB148 80244128 10400007 */ beqz $v0, .L80244148 +/* 9DB14C 8024412C 24020014 */ addiu $v0, $zero, 0x14 +/* 9DB150 80244130 26310001 */ addiu $s1, $s1, 1 +.L80244134: +/* 9DB154 80244134 2610001C */ addiu $s0, $s0, 0x1c +/* 9DB158 80244138 2E220014 */ sltiu $v0, $s1, 0x14 +/* 9DB15C 8024413C 1440FFEC */ bnez $v0, .L802440F0 +/* 9DB160 80244140 2652001C */ addiu $s2, $s2, 0x1c +/* 9DB164 80244144 24020014 */ addiu $v0, $zero, 0x14 +.L80244148: +/* 9DB168 80244148 16220024 */ bne $s1, $v0, .L802441DC +/* 9DB16C 8024414C 0280202D */ daddu $a0, $s4, $zero +/* 9DB170 80244150 2A620002 */ slti $v0, $s3, 2 +/* 9DB174 80244154 10400004 */ beqz $v0, .L80244168 +/* 9DB178 80244158 02C0282D */ daddu $a1, $s6, $zero +/* 9DB17C 8024415C AE800084 */ sw $zero, 0x84($s4) +/* 9DB180 80244160 0809107B */ j .L802441EC +/* 9DB184 80244164 240600FF */ addiu $a2, $zero, 0xff +.L80244168: +/* 9DB188 80244168 0C00A67F */ jal rand_int +/* 9DB18C 8024416C 2664FFFE */ addiu $a0, $s3, -2 +/* 9DB190 80244170 0040B82D */ daddu $s7, $v0, $zero +/* 9DB194 80244174 0000982D */ daddu $s3, $zero, $zero +/* 9DB198 80244178 3C128025 */ lui $s2, 0x8025 +/* 9DB19C 8024417C 26522784 */ addiu $s2, $s2, 0x2784 +/* 9DB1A0 80244180 0260882D */ daddu $s1, $s3, $zero +/* 9DB1A4 80244184 26500014 */ addiu $s0, $s2, 0x14 +.L80244188: +/* 9DB1A8 80244188 5235000F */ beql $s1, $s5, .L802441C8 +/* 9DB1AC 8024418C 26310001 */ addiu $s1, $s1, 1 +/* 9DB1B0 80244190 8E05FFF8 */ lw $a1, -8($s0) +/* 9DB1B4 80244194 0C0B1EAF */ jal get_variable +/* 9DB1B8 80244198 0280202D */ daddu $a0, $s4, $zero +/* 9DB1BC 8024419C 5040000A */ beql $v0, $zero, .L802441C8 +/* 9DB1C0 802441A0 26310001 */ addiu $s1, $s1, 1 +/* 9DB1C4 802441A4 8E050000 */ lw $a1, ($s0) +/* 9DB1C8 802441A8 0C0B1EAF */ jal get_variable +/* 9DB1CC 802441AC 0280202D */ daddu $a0, $s4, $zero +/* 9DB1D0 802441B0 54400005 */ bnel $v0, $zero, .L802441C8 +/* 9DB1D4 802441B4 26310001 */ addiu $s1, $s1, 1 +/* 9DB1D8 802441B8 0260102D */ daddu $v0, $s3, $zero +/* 9DB1DC 802441BC 10570006 */ beq $v0, $s7, .L802441D8 +/* 9DB1E0 802441C0 26730001 */ addiu $s3, $s3, 1 +/* 9DB1E4 802441C4 26310001 */ addiu $s1, $s1, 1 +.L802441C8: +/* 9DB1E8 802441C8 2610001C */ addiu $s0, $s0, 0x1c +/* 9DB1EC 802441CC 2E220014 */ sltiu $v0, $s1, 0x14 +/* 9DB1F0 802441D0 1440FFED */ bnez $v0, .L80244188 +/* 9DB1F4 802441D4 2652001C */ addiu $s2, $s2, 0x1c +.L802441D8: +/* 9DB1F8 802441D8 0280202D */ daddu $a0, $s4, $zero +.L802441DC: +/* 9DB1FC 802441DC 02C0282D */ daddu $a1, $s6, $zero +/* 9DB200 802441E0 8E420000 */ lw $v0, ($s2) +/* 9DB204 802441E4 26260001 */ addiu $a2, $s1, 1 +/* 9DB208 802441E8 AC820084 */ sw $v0, 0x84($a0) +.L802441EC: +/* 9DB20C 802441EC 0C0B2026 */ jal set_variable +/* 9DB210 802441F0 00000000 */ nop +/* 9DB214 802441F4 24020002 */ addiu $v0, $zero, 2 +/* 9DB218 802441F8 8FBF0030 */ lw $ra, 0x30($sp) +/* 9DB21C 802441FC 8FB7002C */ lw $s7, 0x2c($sp) +/* 9DB220 80244200 8FB60028 */ lw $s6, 0x28($sp) +/* 9DB224 80244204 8FB50024 */ lw $s5, 0x24($sp) +/* 9DB228 80244208 8FB40020 */ lw $s4, 0x20($sp) +/* 9DB22C 8024420C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9DB230 80244210 8FB20018 */ lw $s2, 0x18($sp) +/* 9DB234 80244214 8FB10014 */ lw $s1, 0x14($sp) +/* 9DB238 80244218 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB23C 8024421C 03E00008 */ jr $ra +/* 9DB240 80244220 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80244224.s b/asm/nonmatchings/world/area_nok/nok_02/func_80244224.s new file mode 100644 index 0000000000..5f79bcdc80 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80244224.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244224 +/* 9DB244 80244224 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DB248 80244228 AFB00010 */ sw $s0, 0x10($sp) +/* 9DB24C 8024422C 0080802D */ daddu $s0, $a0, $zero +/* 9DB250 80244230 AFBF0014 */ sw $ra, 0x14($sp) +/* 9DB254 80244234 8E02000C */ lw $v0, 0xc($s0) +/* 9DB258 80244238 0C0B1EAF */ jal get_variable +/* 9DB25C 8024423C 8C450000 */ lw $a1, ($v0) +/* 9DB260 80244240 2442FFFF */ addiu $v0, $v0, -1 +/* 9DB264 80244244 3C048025 */ lui $a0, 0x8025 +/* 9DB268 80244248 24842784 */ addiu $a0, $a0, 0x2784 +/* 9DB26C 8024424C 000218C0 */ sll $v1, $v0, 3 +/* 9DB270 80244250 00621823 */ subu $v1, $v1, $v0 +/* 9DB274 80244254 00031880 */ sll $v1, $v1, 2 +/* 9DB278 80244258 00641821 */ addu $v1, $v1, $a0 +/* 9DB27C 8024425C 8C620000 */ lw $v0, ($v1) +/* 9DB280 80244260 AE020084 */ sw $v0, 0x84($s0) +/* 9DB284 80244264 8C620004 */ lw $v0, 4($v1) +/* 9DB288 80244268 AE020088 */ sw $v0, 0x88($s0) +/* 9DB28C 8024426C 8C630008 */ lw $v1, 8($v1) +/* 9DB290 80244270 AE03008C */ sw $v1, 0x8c($s0) +/* 9DB294 80244274 8FBF0014 */ lw $ra, 0x14($sp) +/* 9DB298 80244278 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB29C 8024427C 24020002 */ addiu $v0, $zero, 2 +/* 9DB2A0 80244280 03E00008 */ jr $ra +/* 9DB2A4 80244284 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80244288.s b/asm/nonmatchings/world/area_nok/nok_02/func_80244288.s new file mode 100644 index 0000000000..9c5d8cb38b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80244288.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244288 +/* 9DB2A8 80244288 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DB2AC 8024428C AFB00010 */ sw $s0, 0x10($sp) +/* 9DB2B0 80244290 0080802D */ daddu $s0, $a0, $zero +/* 9DB2B4 80244294 AFBF0014 */ sw $ra, 0x14($sp) +/* 9DB2B8 80244298 8E02000C */ lw $v0, 0xc($s0) +/* 9DB2BC 8024429C 0C0B1EAF */ jal get_variable +/* 9DB2C0 802442A0 8C450000 */ lw $a1, ($v0) +/* 9DB2C4 802442A4 0200202D */ daddu $a0, $s0, $zero +/* 9DB2C8 802442A8 2442FFFF */ addiu $v0, $v0, -1 +/* 9DB2CC 802442AC 000218C0 */ sll $v1, $v0, 3 +/* 9DB2D0 802442B0 00621823 */ subu $v1, $v1, $v0 +/* 9DB2D4 802442B4 00031880 */ sll $v1, $v1, 2 +/* 9DB2D8 802442B8 3C058025 */ lui $a1, 0x8025 +/* 9DB2DC 802442BC 00A32821 */ addu $a1, $a1, $v1 +/* 9DB2E0 802442C0 8CA52798 */ lw $a1, 0x2798($a1) +/* 9DB2E4 802442C4 0C0B2026 */ jal set_variable +/* 9DB2E8 802442C8 24060001 */ addiu $a2, $zero, 1 +/* 9DB2EC 802442CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9DB2F0 802442D0 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB2F4 802442D4 24020002 */ addiu $v0, $zero, 2 +/* 9DB2F8 802442D8 03E00008 */ jr $ra +/* 9DB2FC 802442DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802442E0.s b/asm/nonmatchings/world/area_nok/nok_02/func_802442E0.s new file mode 100644 index 0000000000..602fae69f9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802442E0.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802442E0 +/* 9DB300 802442E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9DB304 802442E4 AFB00010 */ sw $s0, 0x10($sp) +/* 9DB308 802442E8 0080802D */ daddu $s0, $a0, $zero +/* 9DB30C 802442EC AFBF0014 */ sw $ra, 0x14($sp) +/* 9DB310 802442F0 8E02000C */ lw $v0, 0xc($s0) +/* 9DB314 802442F4 0C0B1EAF */ jal get_variable +/* 9DB318 802442F8 8C450000 */ lw $a1, ($v0) +/* 9DB31C 802442FC 2442FFFF */ addiu $v0, $v0, -1 +/* 9DB320 80244300 000218C0 */ sll $v1, $v0, 3 +/* 9DB324 80244304 00621823 */ subu $v1, $v1, $v0 +/* 9DB328 80244308 00031880 */ sll $v1, $v1, 2 +/* 9DB32C 8024430C 3C048025 */ lui $a0, 0x8025 +/* 9DB330 80244310 00832021 */ addu $a0, $a0, $v1 +/* 9DB334 80244314 8C84279C */ lw $a0, 0x279c($a0) +/* 9DB338 80244318 00041140 */ sll $v0, $a0, 5 +/* 9DB33C 8024431C 3C018025 */ lui $at, 0x8025 +/* 9DB340 80244320 AC2429B4 */ sw $a0, 0x29b4($at) +/* 9DB344 80244324 3C038008 */ lui $v1, 0x8008 +/* 9DB348 80244328 00621821 */ addu $v1, $v1, $v0 +/* 9DB34C 8024432C 946378F8 */ lhu $v1, 0x78f8($v1) +/* 9DB350 80244330 AE040088 */ sw $a0, 0x88($s0) +/* 9DB354 80244334 30630004 */ andi $v1, $v1, 4 +/* 9DB358 80244338 0003182B */ sltu $v1, $zero, $v1 +/* 9DB35C 8024433C AE030084 */ sw $v1, 0x84($s0) +/* 9DB360 80244340 8FBF0014 */ lw $ra, 0x14($sp) +/* 9DB364 80244344 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB368 80244348 24020002 */ addiu $v0, $zero, 2 +/* 9DB36C 8024434C 03E00008 */ jr $ra +/* 9DB370 80244350 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9DB374 80244354 00000000 */ nop +/* 9DB378 80244358 00000000 */ nop +/* 9DB37C 8024435C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_80244360.s b/asm/nonmatchings/world/area_nok/nok_02/func_80244360.s new file mode 100644 index 0000000000..67aa164fb7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_80244360.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80244360 +/* 9DB380 80244360 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9DB384 80244364 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9DB388 80244368 4485A000 */ mtc1 $a1, $f20 +/* 9DB38C 8024436C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 9DB390 80244370 4486B000 */ mtc1 $a2, $f22 +/* 9DB394 80244374 AFB00010 */ sw $s0, 0x10($sp) +/* 9DB398 80244378 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 9DB39C 8024437C 4487C000 */ mtc1 $a3, $f24 +/* 9DB3A0 80244380 AFBF0014 */ sw $ra, 0x14($sp) +/* 9DB3A4 80244384 0C019D28 */ jal guMtxIdentF +/* 9DB3A8 80244388 0080802D */ daddu $s0, $a0, $zero +/* 9DB3AC 8024438C 4616A582 */ mul.s $f22, $f20, $f22 +/* 9DB3B0 80244390 00000000 */ nop +/* 9DB3B4 80244394 4618A502 */ mul.s $f20, $f20, $f24 +/* 9DB3B8 80244398 00000000 */ nop +/* 9DB3BC 8024439C 3C013F80 */ lui $at, 0x3f80 +/* 9DB3C0 802443A0 44810000 */ mtc1 $at, $f0 +/* 9DB3C4 802443A4 00000000 */ nop +/* 9DB3C8 802443A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 9DB3CC 802443AC E6160010 */ swc1 $f22, 0x10($s0) +/* 9DB3D0 802443B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 9DB3D4 802443B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 9DB3D8 802443B8 8FB00010 */ lw $s0, 0x10($sp) +/* 9DB3DC 802443BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 9DB3E0 802443C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 9DB3E4 802443C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 9DB3E8 802443C8 03E00008 */ jr $ra +/* 9DB3EC 802443CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_02/func_802443D0.s b/asm/nonmatchings/world/area_nok/nok_02/func_802443D0.s new file mode 100644 index 0000000000..44bb1a090d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_02/func_802443D0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802443D0 +/* 9DB3F0 802443D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 9DB3F4 802443D4 AFB10054 */ sw $s1, 0x54($sp) +/* 9DB3F8 802443D8 0080882D */ daddu $s1, $a0, $zero +/* 9DB3FC 802443DC AFBF005C */ sw $ra, 0x5c($sp) +/* 9DB400 802443E0 AFB20058 */ sw $s2, 0x58($sp) +/* 9DB404 802443E4 AFB00050 */ sw $s0, 0x50($sp) +/* 9DB408 802443E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 9DB40C 802443EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9DB410 802443F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9DB414 802443F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9DB418 802443F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9DB41C 802443FC 8E30000C */ lw $s0, 0xc($s1) +/* 9DB420 80244400 8E050000 */ lw $a1, ($s0) +/* 9DB424 80244404 0C0B1EAF */ jal get_variable +/* 9DB428 80244408 26100004 */ addiu $s0, $s0, 4 +/* 9DB42C 8024440C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9DB430 80244410 0040202D */ daddu $a0, $v0, $zero +/* 9DB434 80244414 8E050000 */ lw $a1, ($s0) +/* 9DB438 80244418 26100004 */ addiu $s0, $s0, 4 +/* 9DB43C 8024441C 0220202D */ daddu $a0, $s1, $zero +/* 9DB440 80244420 0C0B210B */ jal get_float_variable +/* 9DB444 80244424 0040902D */ daddu $s2, $v0, $zero +/* 9DB448 80244428 8E050000 */ lw $a1, ($s0) +/* 9DB44C 8024442C 26100004 */ addiu $s0, $s0, 4 +/* 9DB450 80244430 0220202D */ daddu $a0, $s1, $zero +/* 9DB454 80244434 0C0B210B */ jal get_float_variable +/* 9DB458 80244438 46000706 */ mov.s $f28, $f0 +/* 9DB45C 8024443C 8E050000 */ lw $a1, ($s0) +/* 9DB460 80244440 26100004 */ addiu $s0, $s0, 4 +/* 9DB464 80244444 0220202D */ daddu $a0, $s1, $zero +/* 9DB468 80244448 0C0B210B */ jal get_float_variable +/* 9DB46C 8024444C 46000686 */ mov.s $f26, $f0 +/* 9DB470 80244450 0220202D */ daddu $a0, $s1, $zero +/* 9DB474 80244454 8E050000 */ lw $a1, ($s0) +/* 9DB478 80244458 0C0B210B */ jal get_float_variable +/* 9DB47C 8024445C 46000586 */ mov.s $f22, $f0 +/* 9DB480 80244460 0240202D */ daddu $a0, $s2, $zero +/* 9DB484 80244464 0C046B4C */ jal get_model_from_list_index +/* 9DB488 80244468 46000606 */ mov.s $f24, $f0 +/* 9DB48C 8024446C 0040882D */ daddu $s1, $v0, $zero +/* 9DB490 80244470 96220000 */ lhu $v0, ($s1) +/* 9DB494 80244474 30420400 */ andi $v0, $v0, 0x400 +/* 9DB498 80244478 1440001E */ bnez $v0, .L802444F4 +/* 9DB49C 8024447C 26300058 */ addiu $s0, $s1, 0x58 +/* 9DB4A0 80244480 4480A000 */ mtc1 $zero, $f20 +/* 9DB4A4 80244484 4406B000 */ mfc1 $a2, $f22 +/* 9DB4A8 80244488 4405A000 */ mfc1 $a1, $f20 +/* 9DB4AC 8024448C 4407A000 */ mfc1 $a3, $f20 +/* 9DB4B0 80244490 0C019E40 */ jal guTranslateF +/* 9DB4B4 80244494 0200202D */ daddu $a0, $s0, $zero +/* 9DB4B8 80244498 4405E000 */ mfc1 $a1, $f28 +/* 9DB4BC 8024449C 4406D000 */ mfc1 $a2, $f26 +/* 9DB4C0 802444A0 4407C000 */ mfc1 $a3, $f24 +/* 9DB4C4 802444A4 0C0910D8 */ jal func_80244360 +/* 9DB4C8 802444A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB4CC 802444AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB4D0 802444B0 0200282D */ daddu $a1, $s0, $zero +/* 9DB4D4 802444B4 0C019D80 */ jal guMtxCatF +/* 9DB4D8 802444B8 0200302D */ daddu $a2, $s0, $zero +/* 9DB4DC 802444BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB4E0 802444C0 4600B587 */ neg.s $f22, $f22 +/* 9DB4E4 802444C4 4405A000 */ mfc1 $a1, $f20 +/* 9DB4E8 802444C8 4406B000 */ mfc1 $a2, $f22 +/* 9DB4EC 802444CC 0C019E40 */ jal guTranslateF +/* 9DB4F0 802444D0 00A0382D */ daddu $a3, $a1, $zero +/* 9DB4F4 802444D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB4F8 802444D8 0200282D */ daddu $a1, $s0, $zero +/* 9DB4FC 802444DC 0C019D80 */ jal guMtxCatF +/* 9DB500 802444E0 00A0302D */ daddu $a2, $a1, $zero +/* 9DB504 802444E4 96220000 */ lhu $v0, ($s1) +/* 9DB508 802444E8 34421400 */ ori $v0, $v0, 0x1400 +/* 9DB50C 802444EC 0809115B */ j .L8024456C +/* 9DB510 802444F0 A6220000 */ sh $v0, ($s1) +.L802444F4: +/* 9DB514 802444F4 4480A000 */ mtc1 $zero, $f20 +/* 9DB518 802444F8 4406B000 */ mfc1 $a2, $f22 +/* 9DB51C 802444FC 4405A000 */ mfc1 $a1, $f20 +/* 9DB520 80244500 4407A000 */ mfc1 $a3, $f20 +/* 9DB524 80244504 0C019E40 */ jal guTranslateF +/* 9DB528 80244508 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB52C 8024450C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB530 80244510 26300058 */ addiu $s0, $s1, 0x58 +/* 9DB534 80244514 0200282D */ daddu $a1, $s0, $zero +/* 9DB538 80244518 0C019D80 */ jal guMtxCatF +/* 9DB53C 8024451C 0200302D */ daddu $a2, $s0, $zero +/* 9DB540 80244520 4405E000 */ mfc1 $a1, $f28 +/* 9DB544 80244524 4406D000 */ mfc1 $a2, $f26 +/* 9DB548 80244528 4407C000 */ mfc1 $a3, $f24 +/* 9DB54C 8024452C 0C0910D8 */ jal func_80244360 +/* 9DB550 80244530 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB554 80244534 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB558 80244538 0200282D */ daddu $a1, $s0, $zero +/* 9DB55C 8024453C 0C019D80 */ jal guMtxCatF +/* 9DB560 80244540 0200302D */ daddu $a2, $s0, $zero +/* 9DB564 80244544 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB568 80244548 4600B587 */ neg.s $f22, $f22 +/* 9DB56C 8024454C 4405A000 */ mfc1 $a1, $f20 +/* 9DB570 80244550 4406B000 */ mfc1 $a2, $f22 +/* 9DB574 80244554 0C019E40 */ jal guTranslateF +/* 9DB578 80244558 00A0382D */ daddu $a3, $a1, $zero +/* 9DB57C 8024455C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9DB580 80244560 0200282D */ daddu $a1, $s0, $zero +/* 9DB584 80244564 0C019D80 */ jal guMtxCatF +/* 9DB588 80244568 00A0302D */ daddu $a2, $a1, $zero +.L8024456C: +/* 9DB58C 8024456C 8FBF005C */ lw $ra, 0x5c($sp) +/* 9DB590 80244570 8FB20058 */ lw $s2, 0x58($sp) +/* 9DB594 80244574 8FB10054 */ lw $s1, 0x54($sp) +/* 9DB598 80244578 8FB00050 */ lw $s0, 0x50($sp) +/* 9DB59C 8024457C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 9DB5A0 80244580 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9DB5A4 80244584 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9DB5A8 80244588 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9DB5AC 8024458C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9DB5B0 80244590 24020002 */ addiu $v0, $zero, 2 +/* 9DB5B4 80244594 03E00008 */ jr $ra +/* 9DB5B8 80244598 27BD0088 */ addiu $sp, $sp, 0x88 +/* 9DB5BC 8024459C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240000_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240000_9EB7F0.s new file mode 100644 index 0000000000..9f88bb5604 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240000_9EB7F0.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9EB7F0 +/* 9EB7F0 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9EB7F4 80240004 AFB00030 */ sw $s0, 0x30($sp) +/* 9EB7F8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9EB7FC 8024000C AFBF0040 */ sw $ra, 0x40($sp) +/* 9EB800 80240010 AFB3003C */ sw $s3, 0x3c($sp) +/* 9EB804 80240014 AFB20038 */ sw $s2, 0x38($sp) +/* 9EB808 80240018 AFB10034 */ sw $s1, 0x34($sp) +/* 9EB80C 8024001C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9EB810 80240020 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9EB814 80240024 8E130148 */ lw $s3, 0x148($s0) +/* 9EB818 80240028 00A0882D */ daddu $s1, $a1, $zero +/* 9EB81C 8024002C 86640008 */ lh $a0, 8($s3) +/* 9EB820 80240030 0C00EABB */ jal get_npc_unsafe +/* 9EB824 80240034 00C0902D */ daddu $s2, $a2, $zero +/* 9EB828 80240038 0200202D */ daddu $a0, $s0, $zero +/* 9EB82C 8024003C 0220282D */ daddu $a1, $s1, $zero +/* 9EB830 80240040 0240302D */ daddu $a2, $s2, $zero +/* 9EB834 80240044 0C012568 */ jal func_800495A0 +/* 9EB838 80240048 0040802D */ daddu $s0, $v0, $zero +/* 9EB83C 8024004C 8E020000 */ lw $v0, ($s0) +/* 9EB840 80240050 2404002D */ addiu $a0, $zero, 0x2d +/* 9EB844 80240054 34420800 */ ori $v0, $v0, 0x800 +/* 9EB848 80240058 0C00A67F */ jal rand_int +/* 9EB84C 8024005C AE020000 */ sw $v0, ($s0) +/* 9EB850 80240060 0200202D */ daddu $a0, $s0, $zero +/* 9EB854 80240064 3C05B000 */ lui $a1, 0xb000 +/* 9EB858 80240068 34A50017 */ ori $a1, $a1, 0x17 +/* 9EB85C 8024006C 44820000 */ mtc1 $v0, $f0 +/* 9EB860 80240070 00000000 */ nop +/* 9EB864 80240074 46800021 */ cvt.d.w $f0, $f0 +/* 9EB868 80240078 3C014024 */ lui $at, 0x4024 +/* 9EB86C 8024007C 44811800 */ mtc1 $at, $f3 +/* 9EB870 80240080 44801000 */ mtc1 $zero, $f2 +/* 9EB874 80240084 3C014020 */ lui $at, 0x4020 +/* 9EB878 80240088 44812800 */ mtc1 $at, $f5 +/* 9EB87C 8024008C 44802000 */ mtc1 $zero, $f4 +/* 9EB880 80240090 46220003 */ div.d $f0, $f0, $f2 +/* 9EB884 80240094 46240000 */ add.d $f0, $f0, $f4 +/* 9EB888 80240098 3C013FC0 */ lui $at, 0x3fc0 +/* 9EB88C 8024009C 44811000 */ mtc1 $at, $f2 +/* 9EB890 802400A0 0000302D */ daddu $a2, $zero, $zero +/* 9EB894 802400A4 E6020014 */ swc1 $f2, 0x14($s0) +/* 9EB898 802400A8 46200020 */ cvt.s.d $f0, $f0 +/* 9EB89C 802400AC 0C012530 */ jal func_800494C0 +/* 9EB8A0 802400B0 E600001C */ swc1 $f0, 0x1c($s0) +/* 9EB8A4 802400B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9EB8A8 802400B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9EB8AC 802400BC C4620000 */ lwc1 $f2, ($v1) +/* 9EB8B0 802400C0 468010A0 */ cvt.s.w $f2, $f2 +/* 9EB8B4 802400C4 C4640008 */ lwc1 $f4, 8($v1) +/* 9EB8B8 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* 9EB8BC 802400CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9EB8C0 802400D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9EB8C4 802400D4 44051000 */ mfc1 $a1, $f2 +/* 9EB8C8 802400D8 C440000C */ lwc1 $f0, 0xc($v0) +/* 9EB8CC 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* 9EB8D0 802400E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9EB8D4 802400E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9EB8D8 802400E8 44062000 */ mfc1 $a2, $f4 +/* 9EB8DC 802400EC C4400010 */ lwc1 $f0, 0x10($v0) +/* 9EB8E0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* 9EB8E4 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9EB8E8 802400F8 8C640018 */ lw $a0, 0x18($v1) +/* 9EB8EC 802400FC 0C0123F5 */ jal is_point_within_region +/* 9EB8F0 80240100 8E070038 */ lw $a3, 0x38($s0) +/* 9EB8F4 80240104 10400035 */ beqz $v0, .L802401DC +/* 9EB8F8 80240108 00000000 */ nop +/* 9EB8FC 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9EB900 80240110 3C0141C8 */ lui $at, 0x41c8 +/* 9EB904 80240114 4481B000 */ mtc1 $at, $f22 +/* 9EB908 80240118 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9EB90C 8024011C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9EB910 80240120 C4480000 */ lwc1 $f8, ($v0) +/* 9EB914 80240124 46804220 */ cvt.s.w $f8, $f8 +/* 9EB918 80240128 44064000 */ mfc1 $a2, $f8 +/* 9EB91C 8024012C C4480008 */ lwc1 $f8, 8($v0) +/* 9EB920 80240130 46804220 */ cvt.s.w $f8, $f8 +/* 9EB924 80240134 44074000 */ mfc1 $a3, $f8 +/* 9EB928 80240138 3C01403E */ lui $at, 0x403e +/* 9EB92C 8024013C 4481A800 */ mtc1 $at, $f21 +/* 9EB930 80240140 4480A000 */ mtc1 $zero, $f20 +/* 9EB934 80240144 0C00A720 */ jal atan2 +/* 9EB938 80240148 0000882D */ daddu $s1, $zero, $zero +/* 9EB93C 8024014C C6020038 */ lwc1 $f2, 0x38($s0) +/* 9EB940 80240150 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9EB944 80240154 C6060040 */ lwc1 $f6, 0x40($s0) +/* 9EB948 80240158 E600000C */ swc1 $f0, 0xc($s0) +/* 9EB94C 8024015C E7A20020 */ swc1 $f2, 0x20($sp) +/* 9EB950 80240160 E7A40024 */ swc1 $f4, 0x24($sp) +/* 9EB954 80240164 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240168: +/* 9EB958 80240168 E7B60010 */ swc1 $f22, 0x10($sp) +/* 9EB95C 8024016C C600000C */ lwc1 $f0, 0xc($s0) +/* 9EB960 80240170 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9EB964 80240174 860200A8 */ lh $v0, 0xa8($s0) +/* 9EB968 80240178 27A50020 */ addiu $a1, $sp, 0x20 +/* 9EB96C 8024017C 44820000 */ mtc1 $v0, $f0 +/* 9EB970 80240180 00000000 */ nop +/* 9EB974 80240184 46800020 */ cvt.s.w $f0, $f0 +/* 9EB978 80240188 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9EB97C 8024018C 860200A6 */ lh $v0, 0xa6($s0) +/* 9EB980 80240190 27A60024 */ addiu $a2, $sp, 0x24 +/* 9EB984 80240194 44820000 */ mtc1 $v0, $f0 +/* 9EB988 80240198 00000000 */ nop +/* 9EB98C 8024019C 46800020 */ cvt.s.w $f0, $f0 +/* 9EB990 802401A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9EB994 802401A4 8E040080 */ lw $a0, 0x80($s0) +/* 9EB998 802401A8 0C037711 */ jal func_800DDC44 +/* 9EB99C 802401AC 27A70028 */ addiu $a3, $sp, 0x28 +/* 9EB9A0 802401B0 10400016 */ beqz $v0, .L8024020C +/* 9EB9A4 802401B4 26310001 */ addiu $s1, $s1, 1 +/* 9EB9A8 802401B8 C600000C */ lwc1 $f0, 0xc($s0) +/* 9EB9AC 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* 9EB9B0 802401C0 46340000 */ add.d $f0, $f0, $f20 +/* 9EB9B4 802401C4 2A220006 */ slti $v0, $s1, 6 +/* 9EB9B8 802401C8 46200020 */ cvt.s.d $f0, $f0 +/* 9EB9BC 802401CC 1440FFE6 */ bnez $v0, .L80240168 +/* 9EB9C0 802401D0 E600000C */ swc1 $f0, 0xc($s0) +/* 9EB9C4 802401D4 08090083 */ j .L8024020C +/* 9EB9C8 802401D8 00000000 */ nop +.L802401DC: +/* 9EB9CC 802401DC 0C00A67F */ jal rand_int +/* 9EB9D0 802401E0 2404003C */ addiu $a0, $zero, 0x3c +/* 9EB9D4 802401E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9EB9D8 802401E8 44820000 */ mtc1 $v0, $f0 +/* 9EB9DC 802401EC 00000000 */ nop +/* 9EB9E0 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* 9EB9E4 802401F4 46006300 */ add.s $f12, $f12, $f0 +/* 9EB9E8 802401F8 3C0141F0 */ lui $at, 0x41f0 +/* 9EB9EC 802401FC 44810000 */ mtc1 $at, $f0 +/* 9EB9F0 80240200 0C00A6C9 */ jal clamp_angle +/* 9EB9F4 80240204 46006301 */ sub.s $f12, $f12, $f0 +/* 9EB9F8 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* 9EB9FC 8024020C 8FBF0040 */ lw $ra, 0x40($sp) +/* 9EBA00 80240210 8FB3003C */ lw $s3, 0x3c($sp) +/* 9EBA04 80240214 8FB20038 */ lw $s2, 0x38($sp) +/* 9EBA08 80240218 8FB10034 */ lw $s1, 0x34($sp) +/* 9EBA0C 8024021C 8FB00030 */ lw $s0, 0x30($sp) +/* 9EBA10 80240220 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 9EBA14 80240224 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 9EBA18 80240228 03E00008 */ jr $ra +/* 9EBA1C 8024022C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240230_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240230_9EB7F0.s new file mode 100644 index 0000000000..acaf8d1ddf --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240230_9EB7F0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240230_9EBA20 +/* 9EBA20 80240230 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 9EBA24 80240234 AFB3004C */ sw $s3, 0x4c($sp) +/* 9EBA28 80240238 0080982D */ daddu $s3, $a0, $zero +/* 9EBA2C 8024023C AFBF0054 */ sw $ra, 0x54($sp) +/* 9EBA30 80240240 AFB40050 */ sw $s4, 0x50($sp) +/* 9EBA34 80240244 AFB20048 */ sw $s2, 0x48($sp) +/* 9EBA38 80240248 AFB10044 */ sw $s1, 0x44($sp) +/* 9EBA3C 8024024C AFB00040 */ sw $s0, 0x40($sp) +/* 9EBA40 80240250 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 9EBA44 80240254 8E710148 */ lw $s1, 0x148($s3) +/* 9EBA48 80240258 00A0A02D */ daddu $s4, $a1, $zero +/* 9EBA4C 8024025C 86240008 */ lh $a0, 8($s1) +/* 9EBA50 80240260 0C00EABB */ jal get_npc_unsafe +/* 9EBA54 80240264 00C0902D */ daddu $s2, $a2, $zero +/* 9EBA58 80240268 8E830014 */ lw $v1, 0x14($s4) +/* 9EBA5C 8024026C 04600034 */ bltz $v1, .L80240340 +/* 9EBA60 80240270 0040802D */ daddu $s0, $v0, $zero +/* 9EBA64 80240274 8E620074 */ lw $v0, 0x74($s3) +/* 9EBA68 80240278 1C400030 */ bgtz $v0, .L8024033C +/* 9EBA6C 8024027C 2442FFFF */ addiu $v0, $v0, -1 +/* 9EBA70 80240280 0240202D */ daddu $a0, $s2, $zero +/* 9EBA74 80240284 AE630074 */ sw $v1, 0x74($s3) +/* 9EBA78 80240288 AFA00010 */ sw $zero, 0x10($sp) +/* 9EBA7C 8024028C 8E86000C */ lw $a2, 0xc($s4) +/* 9EBA80 80240290 8E870010 */ lw $a3, 0x10($s4) +/* 9EBA84 80240294 0C01242D */ jal func_800490B4 +/* 9EBA88 80240298 0220282D */ daddu $a1, $s1, $zero +/* 9EBA8C 8024029C 10400025 */ beqz $v0, .L80240334 +/* 9EBA90 802402A0 0000202D */ daddu $a0, $zero, $zero +/* 9EBA94 802402A4 0200282D */ daddu $a1, $s0, $zero +/* 9EBA98 802402A8 0000302D */ daddu $a2, $zero, $zero +/* 9EBA9C 802402AC 860300A8 */ lh $v1, 0xa8($s0) +/* 9EBAA0 802402B0 3C013F80 */ lui $at, 0x3f80 +/* 9EBAA4 802402B4 44810000 */ mtc1 $at, $f0 +/* 9EBAA8 802402B8 3C014000 */ lui $at, 0x4000 +/* 9EBAAC 802402BC 44811000 */ mtc1 $at, $f2 +/* 9EBAB0 802402C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 9EBAB4 802402C4 44812000 */ mtc1 $at, $f4 +/* 9EBAB8 802402C8 2402000F */ addiu $v0, $zero, 0xf +/* 9EBABC 802402CC AFA2001C */ sw $v0, 0x1c($sp) +/* 9EBAC0 802402D0 44835000 */ mtc1 $v1, $f10 +/* 9EBAC4 802402D4 00000000 */ nop +/* 9EBAC8 802402D8 468052A0 */ cvt.s.w $f10, $f10 +/* 9EBACC 802402DC 44075000 */ mfc1 $a3, $f10 +/* 9EBAD0 802402E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 9EBAD4 802402E4 AFA20020 */ sw $v0, 0x20($sp) +/* 9EBAD8 802402E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9EBADC 802402EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9EBAE0 802402F0 0C01BFA4 */ jal fx_emote +/* 9EBAE4 802402F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9EBAE8 802402F8 0200202D */ daddu $a0, $s0, $zero +/* 9EBAEC 802402FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9EBAF0 80240300 0C012530 */ jal func_800494C0 +/* 9EBAF4 80240304 3C060020 */ lui $a2, 0x20 +/* 9EBAF8 80240308 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9EBAFC 8024030C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9EBB00 80240310 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9EBB04 80240314 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9EBB08 80240318 8C460028 */ lw $a2, 0x28($v0) +/* 9EBB0C 8024031C 0C00A720 */ jal atan2 +/* 9EBB10 80240320 8C470030 */ lw $a3, 0x30($v0) +/* 9EBB14 80240324 2402000C */ addiu $v0, $zero, 0xc +/* 9EBB18 80240328 E600000C */ swc1 $f0, 0xc($s0) +/* 9EBB1C 8024032C 08090151 */ j .L80240544 +/* 9EBB20 80240330 AE620070 */ sw $v0, 0x70($s3) +.L80240334: +/* 9EBB24 80240334 8E620074 */ lw $v0, 0x74($s3) +/* 9EBB28 80240338 2442FFFF */ addiu $v0, $v0, -1 +.L8024033C: +/* 9EBB2C 8024033C AE620074 */ sw $v0, 0x74($s3) +.L80240340: +/* 9EBB30 80240340 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9EBB34 80240344 44801000 */ mtc1 $zero, $f2 +/* 9EBB38 80240348 44801800 */ mtc1 $zero, $f3 +/* 9EBB3C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* 9EBB40 80240350 4620103C */ c.lt.d $f2, $f0 +/* 9EBB44 80240354 00000000 */ nop +/* 9EBB48 80240358 45000025 */ bc1f .L802403F0 +/* 9EBB4C 8024035C 27A5002C */ addiu $a1, $sp, 0x2c +/* 9EBB50 80240360 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9EBB54 80240364 860200A6 */ lh $v0, 0xa6($s0) +/* 9EBB58 80240368 3C018024 */ lui $at, 0x8024 +/* 9EBB5C 8024036C D42223B0 */ ldc1 $f2, 0x23b0($at) +/* 9EBB60 80240370 27A60030 */ addiu $a2, $sp, 0x30 +/* 9EBB64 80240374 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 9EBB68 80240378 44820000 */ mtc1 $v0, $f0 +/* 9EBB6C 8024037C 00000000 */ nop +/* 9EBB70 80240380 46800020 */ cvt.s.w $f0, $f0 +/* 9EBB74 80240384 46000021 */ cvt.d.s $f0, $f0 +/* 9EBB78 80240388 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9EBB7C 8024038C C6060040 */ lwc1 $f6, 0x40($s0) +/* 9EBB80 80240390 C6080018 */ lwc1 $f8, 0x18($s0) +/* 9EBB84 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* 9EBB88 80240398 46220002 */ mul.d $f0, $f0, $f2 +/* 9EBB8C 8024039C 00000000 */ nop +/* 9EBB90 802403A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9EBB94 802403A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9EBB98 802403A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* 9EBB9C 802403AC C604000C */ lwc1 $f4, 0xc($s0) +/* 9EBBA0 802403B0 44821000 */ mtc1 $v0, $f2 +/* 9EBBA4 802403B4 00000000 */ nop +/* 9EBBA8 802403B8 468010A0 */ cvt.s.w $f2, $f2 +/* 9EBBAC 802403BC E7A20018 */ swc1 $f2, 0x18($sp) +/* 9EBBB0 802403C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* 9EBBB4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* 9EBBB8 802403C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9EBBBC 802403CC 8E040080 */ lw $a0, 0x80($s0) +/* 9EBBC0 802403D0 0C037711 */ jal func_800DDC44 +/* 9EBBC4 802403D4 27A70034 */ addiu $a3, $sp, 0x34 +/* 9EBBC8 802403D8 54400005 */ bnel $v0, $zero, .L802403F0 +/* 9EBBCC 802403DC AE000018 */ sw $zero, 0x18($s0) +/* 9EBBD0 802403E0 8E050018 */ lw $a1, 0x18($s0) +/* 9EBBD4 802403E4 8E06000C */ lw $a2, 0xc($s0) +/* 9EBBD8 802403E8 0C00EA95 */ jal npc_move_heading +/* 9EBBDC 802403EC 0200202D */ daddu $a0, $s0, $zero +.L802403F0: +/* 9EBBE0 802403F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9EBBE4 802403F4 44801000 */ mtc1 $zero, $f2 +/* 9EBBE8 802403F8 44801800 */ mtc1 $zero, $f3 +/* 9EBBEC 802403FC 46000021 */ cvt.d.s $f0, $f0 +/* 9EBBF0 80240400 4622003C */ c.lt.d $f0, $f2 +/* 9EBBF4 80240404 00000000 */ nop +/* 9EBBF8 80240408 45000047 */ bc1f .L80240528 +/* 9EBBFC 8024040C 27A5002C */ addiu $a1, $sp, 0x2c +/* 9EBC00 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* 9EBC04 80240414 27A20038 */ addiu $v0, $sp, 0x38 +/* 9EBC08 80240418 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9EBC0C 8024041C C6060038 */ lwc1 $f6, 0x38($s0) +/* 9EBC10 80240420 3C01402A */ lui $at, 0x402a +/* 9EBC14 80240424 4481A800 */ mtc1 $at, $f21 +/* 9EBC18 80240428 4480A000 */ mtc1 $zero, $f20 +/* 9EBC1C 8024042C 460010A1 */ cvt.d.s $f2, $f2 +/* 9EBC20 80240430 46341080 */ add.d $f2, $f2, $f20 +/* 9EBC24 80240434 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9EBC28 80240438 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9EBC2C 8024043C 46000005 */ abs.s $f0, $f0 +/* 9EBC30 80240440 E7A40034 */ swc1 $f4, 0x34($sp) +/* 9EBC34 80240444 3C014030 */ lui $at, 0x4030 +/* 9EBC38 80240448 44812800 */ mtc1 $at, $f5 +/* 9EBC3C 8024044C 44802000 */ mtc1 $zero, $f4 +/* 9EBC40 80240450 46000021 */ cvt.d.s $f0, $f0 +/* 9EBC44 80240454 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 9EBC48 80240458 46240000 */ add.d $f0, $f0, $f4 +/* 9EBC4C 8024045C 462010A0 */ cvt.s.d $f2, $f2 +/* 9EBC50 80240460 E7A20030 */ swc1 $f2, 0x30($sp) +/* 9EBC54 80240464 46200020 */ cvt.s.d $f0, $f0 +/* 9EBC58 80240468 E7A00038 */ swc1 $f0, 0x38($sp) +/* 9EBC5C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* 9EBC60 80240470 8E040080 */ lw $a0, 0x80($s0) +/* 9EBC64 80240474 0C0372DF */ jal func_800DCB7C +/* 9EBC68 80240478 27A70034 */ addiu $a3, $sp, 0x34 +/* 9EBC6C 8024047C 1040002A */ beqz $v0, .L80240528 +/* 9EBC70 80240480 00000000 */ nop +/* 9EBC74 80240484 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9EBC78 80240488 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 9EBC7C 8024048C 46000005 */ abs.s $f0, $f0 +/* 9EBC80 80240490 46000021 */ cvt.d.s $f0, $f0 +/* 9EBC84 80240494 46340000 */ add.d $f0, $f0, $f20 +/* 9EBC88 80240498 460010A1 */ cvt.d.s $f2, $f2 +/* 9EBC8C 8024049C 4620103E */ c.le.d $f2, $f0 +/* 9EBC90 802404A0 00000000 */ nop +/* 9EBC94 802404A4 45000020 */ bc1f .L80240528 +/* 9EBC98 802404A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9EBC9C 802404AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* 9EBCA0 802404B0 8E020000 */ lw $v0, ($s0) +/* 9EBCA4 802404B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9EBCA8 802404B8 AE00001C */ sw $zero, 0x1c($s0) +/* 9EBCAC 802404BC 00431024 */ and $v0, $v0, $v1 +/* 9EBCB0 802404C0 AE020000 */ sw $v0, ($s0) +/* 9EBCB4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 9EBCB8 802404C8 E600003C */ swc1 $f0, 0x3c($s0) +/* 9EBCBC 802404CC 0C00A67F */ jal rand_int +/* 9EBCC0 802404D0 AE620070 */ sw $v0, 0x70($s3) +/* 9EBCC4 802404D4 3C035555 */ lui $v1, 0x5555 +/* 9EBCC8 802404D8 34635556 */ ori $v1, $v1, 0x5556 +/* 9EBCCC 802404DC 00430018 */ mult $v0, $v1 +/* 9EBCD0 802404E0 000227C3 */ sra $a0, $v0, 0x1f +/* 9EBCD4 802404E4 00004010 */ mfhi $t0 +/* 9EBCD8 802404E8 01042023 */ subu $a0, $t0, $a0 +/* 9EBCDC 802404EC 00041840 */ sll $v1, $a0, 1 +/* 9EBCE0 802404F0 00641821 */ addu $v1, $v1, $a0 +/* 9EBCE4 802404F4 00431023 */ subu $v0, $v0, $v1 +/* 9EBCE8 802404F8 24430002 */ addiu $v1, $v0, 2 +/* 9EBCEC 802404FC AE630074 */ sw $v1, 0x74($s3) +/* 9EBCF0 80240500 8E82002C */ lw $v0, 0x2c($s4) +/* 9EBCF4 80240504 5840000F */ blezl $v0, .L80240544 +/* 9EBCF8 80240508 AE600070 */ sw $zero, 0x70($s3) +/* 9EBCFC 8024050C 8E820004 */ lw $v0, 4($s4) +/* 9EBD00 80240510 5840000C */ blezl $v0, .L80240544 +/* 9EBD04 80240514 AE600070 */ sw $zero, 0x70($s3) +/* 9EBD08 80240518 1460000A */ bnez $v1, .L80240544 +/* 9EBD0C 8024051C 00000000 */ nop +/* 9EBD10 80240520 08090151 */ j .L80240544 +/* 9EBD14 80240524 AE600070 */ sw $zero, 0x70($s3) +.L80240528: +/* 9EBD18 80240528 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9EBD1C 8024052C C600001C */ lwc1 $f0, 0x1c($s0) +/* 9EBD20 80240530 46002100 */ add.s $f4, $f4, $f0 +/* 9EBD24 80240534 C6020014 */ lwc1 $f2, 0x14($s0) +/* 9EBD28 80240538 46020001 */ sub.s $f0, $f0, $f2 +/* 9EBD2C 8024053C E604003C */ swc1 $f4, 0x3c($s0) +/* 9EBD30 80240540 E600001C */ swc1 $f0, 0x1c($s0) +.L80240544: +/* 9EBD34 80240544 8FBF0054 */ lw $ra, 0x54($sp) +/* 9EBD38 80240548 8FB40050 */ lw $s4, 0x50($sp) +/* 9EBD3C 8024054C 8FB3004C */ lw $s3, 0x4c($sp) +/* 9EBD40 80240550 8FB20048 */ lw $s2, 0x48($sp) +/* 9EBD44 80240554 8FB10044 */ lw $s1, 0x44($sp) +/* 9EBD48 80240558 8FB00040 */ lw $s0, 0x40($sp) +/* 9EBD4C 8024055C D7B40058 */ ldc1 $f20, 0x58($sp) +/* 9EBD50 80240560 03E00008 */ jr $ra +/* 9EBD54 80240564 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240568_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240568_9EB7F0.s new file mode 100644 index 0000000000..3a1108673d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240568_9EB7F0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_9EBD58 +/* 9EBD58 80240568 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9EBD5C 8024056C AFB3001C */ sw $s3, 0x1c($sp) +/* 9EBD60 80240570 0080982D */ daddu $s3, $a0, $zero +/* 9EBD64 80240574 AFBF0020 */ sw $ra, 0x20($sp) +/* 9EBD68 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* 9EBD6C 8024057C AFB10014 */ sw $s1, 0x14($sp) +/* 9EBD70 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* 9EBD74 80240584 8E720148 */ lw $s2, 0x148($s3) +/* 9EBD78 80240588 86440008 */ lh $a0, 8($s2) +/* 9EBD7C 8024058C 0C00EABB */ jal get_npc_unsafe +/* 9EBD80 80240590 00A0882D */ daddu $s1, $a1, $zero +/* 9EBD84 80240594 8E240008 */ lw $a0, 8($s1) +/* 9EBD88 80240598 0040802D */ daddu $s0, $v0, $zero +/* 9EBD8C 8024059C 00041FC2 */ srl $v1, $a0, 0x1f +/* 9EBD90 802405A0 00832021 */ addu $a0, $a0, $v1 +/* 9EBD94 802405A4 00042043 */ sra $a0, $a0, 1 +/* 9EBD98 802405A8 0C00A67F */ jal rand_int +/* 9EBD9C 802405AC 24840001 */ addiu $a0, $a0, 1 +/* 9EBDA0 802405B0 8E230008 */ lw $v1, 8($s1) +/* 9EBDA4 802405B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9EBDA8 802405B8 00032FC2 */ srl $a1, $v1, 0x1f +/* 9EBDAC 802405BC 00651821 */ addu $v1, $v1, $a1 +/* 9EBDB0 802405C0 00031843 */ sra $v1, $v1, 1 +/* 9EBDB4 802405C4 00621821 */ addu $v1, $v1, $v0 +/* 9EBDB8 802405C8 0C00A67F */ jal rand_int +/* 9EBDBC 802405CC A603008E */ sh $v1, 0x8e($s0) +/* 9EBDC0 802405D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9EBDC4 802405D4 44820000 */ mtc1 $v0, $f0 +/* 9EBDC8 802405D8 00000000 */ nop +/* 9EBDCC 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* 9EBDD0 802405E0 46006300 */ add.s $f12, $f12, $f0 +/* 9EBDD4 802405E4 3C0142B4 */ lui $at, 0x42b4 +/* 9EBDD8 802405E8 44810000 */ mtc1 $at, $f0 +/* 9EBDDC 802405EC 0C00A6C9 */ jal clamp_angle +/* 9EBDE0 802405F0 46006301 */ sub.s $f12, $f12, $f0 +/* 9EBDE4 802405F4 E600000C */ swc1 $f0, 0xc($s0) +/* 9EBDE8 802405F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 9EBDEC 802405FC 8C420000 */ lw $v0, ($v0) +/* 9EBDF0 80240600 AE020028 */ sw $v0, 0x28($s0) +/* 9EBDF4 80240604 24020003 */ addiu $v0, $zero, 3 +/* 9EBDF8 80240608 AE620070 */ sw $v0, 0x70($s3) +/* 9EBDFC 8024060C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9EBE00 80240610 8FB3001C */ lw $s3, 0x1c($sp) +/* 9EBE04 80240614 8FB20018 */ lw $s2, 0x18($sp) +/* 9EBE08 80240618 8FB10014 */ lw $s1, 0x14($sp) +/* 9EBE0C 8024061C 8FB00010 */ lw $s0, 0x10($sp) +/* 9EBE10 80240620 03E00008 */ jr $ra +/* 9EBE14 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240628_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240628_9EB7F0.s new file mode 100644 index 0000000000..da71df6535 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240628_9EB7F0.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_9EBE18 +/* 9EBE18 80240628 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9EBE1C 8024062C AFB40040 */ sw $s4, 0x40($sp) +/* 9EBE20 80240630 0080A02D */ daddu $s4, $a0, $zero +/* 9EBE24 80240634 AFBF0044 */ sw $ra, 0x44($sp) +/* 9EBE28 80240638 AFB3003C */ sw $s3, 0x3c($sp) +/* 9EBE2C 8024063C AFB20038 */ sw $s2, 0x38($sp) +/* 9EBE30 80240640 AFB10034 */ sw $s1, 0x34($sp) +/* 9EBE34 80240644 AFB00030 */ sw $s0, 0x30($sp) +/* 9EBE38 80240648 8E920148 */ lw $s2, 0x148($s4) +/* 9EBE3C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* 9EBE40 80240650 86440008 */ lh $a0, 8($s2) +/* 9EBE44 80240654 0C00EABB */ jal get_npc_unsafe +/* 9EBE48 80240658 00C0982D */ daddu $s3, $a2, $zero +/* 9EBE4C 8024065C 8E230014 */ lw $v1, 0x14($s1) +/* 9EBE50 80240660 0460002D */ bltz $v1, .L80240718 +/* 9EBE54 80240664 0040802D */ daddu $s0, $v0, $zero +/* 9EBE58 80240668 0260202D */ daddu $a0, $s3, $zero +/* 9EBE5C 8024066C AFA00010 */ sw $zero, 0x10($sp) +/* 9EBE60 80240670 8E260024 */ lw $a2, 0x24($s1) +/* 9EBE64 80240674 8E270028 */ lw $a3, 0x28($s1) +/* 9EBE68 80240678 0C01242D */ jal func_800490B4 +/* 9EBE6C 8024067C 0240282D */ daddu $a1, $s2, $zero +/* 9EBE70 80240680 10400025 */ beqz $v0, .L80240718 +/* 9EBE74 80240684 0000202D */ daddu $a0, $zero, $zero +/* 9EBE78 80240688 0200282D */ daddu $a1, $s0, $zero +/* 9EBE7C 8024068C 0000302D */ daddu $a2, $zero, $zero +/* 9EBE80 80240690 860300A8 */ lh $v1, 0xa8($s0) +/* 9EBE84 80240694 3C013F80 */ lui $at, 0x3f80 +/* 9EBE88 80240698 44810000 */ mtc1 $at, $f0 +/* 9EBE8C 8024069C 3C014000 */ lui $at, 0x4000 +/* 9EBE90 802406A0 44811000 */ mtc1 $at, $f2 +/* 9EBE94 802406A4 3C01C1A0 */ lui $at, 0xc1a0 +/* 9EBE98 802406A8 44812000 */ mtc1 $at, $f4 +/* 9EBE9C 802406AC 2402000F */ addiu $v0, $zero, 0xf +/* 9EBEA0 802406B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 9EBEA4 802406B4 44833000 */ mtc1 $v1, $f6 +/* 9EBEA8 802406B8 00000000 */ nop +/* 9EBEAC 802406BC 468031A0 */ cvt.s.w $f6, $f6 +/* 9EBEB0 802406C0 44073000 */ mfc1 $a3, $f6 +/* 9EBEB4 802406C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 9EBEB8 802406C8 AFA20020 */ sw $v0, 0x20($sp) +/* 9EBEBC 802406CC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9EBEC0 802406D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9EBEC4 802406D4 0C01BFA4 */ jal fx_emote +/* 9EBEC8 802406D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9EBECC 802406DC 0200202D */ daddu $a0, $s0, $zero +/* 9EBED0 802406E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9EBED4 802406E4 0C012530 */ jal func_800494C0 +/* 9EBED8 802406E8 3C060020 */ lui $a2, 0x20 +/* 9EBEDC 802406EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9EBEE0 802406F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9EBEE4 802406F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9EBEE8 802406F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9EBEEC 802406FC 8C460028 */ lw $a2, 0x28($v0) +/* 9EBEF0 80240700 0C00A720 */ jal atan2 +/* 9EBEF4 80240704 8C470030 */ lw $a3, 0x30($v0) +/* 9EBEF8 80240708 2402000C */ addiu $v0, $zero, 0xc +/* 9EBEFC 8024070C E600000C */ swc1 $f0, 0xc($s0) +/* 9EBF00 80240710 080901EB */ j .L802407AC +/* 9EBF04 80240714 AE820070 */ sw $v0, 0x70($s4) +.L80240718: +/* 9EBF08 80240718 8602008C */ lh $v0, 0x8c($s0) +/* 9EBF0C 8024071C 14400023 */ bnez $v0, .L802407AC +/* 9EBF10 80240720 00000000 */ nop +/* 9EBF14 80240724 9602008E */ lhu $v0, 0x8e($s0) +/* 9EBF18 80240728 2442FFFF */ addiu $v0, $v0, -1 +/* 9EBF1C 8024072C A602008E */ sh $v0, 0x8e($s0) +/* 9EBF20 80240730 00021400 */ sll $v0, $v0, 0x10 +/* 9EBF24 80240734 1C40001D */ bgtz $v0, .L802407AC +/* 9EBF28 80240738 00000000 */ nop +/* 9EBF2C 8024073C 8E820074 */ lw $v0, 0x74($s4) +/* 9EBF30 80240740 2442FFFF */ addiu $v0, $v0, -1 +/* 9EBF34 80240744 18400018 */ blez $v0, .L802407A8 +/* 9EBF38 80240748 AE820074 */ sw $v0, 0x74($s4) +/* 9EBF3C 8024074C C600000C */ lwc1 $f0, 0xc($s0) +/* 9EBF40 80240750 3C014334 */ lui $at, 0x4334 +/* 9EBF44 80240754 44816000 */ mtc1 $at, $f12 +/* 9EBF48 80240758 0C00A6C9 */ jal clamp_angle +/* 9EBF4C 8024075C 460C0300 */ add.s $f12, $f0, $f12 +/* 9EBF50 80240760 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9EBF54 80240764 0C00A67F */ jal rand_int +/* 9EBF58 80240768 E600000C */ swc1 $f0, 0xc($s0) +/* 9EBF5C 8024076C 3C032E8B */ lui $v1, 0x2e8b +/* 9EBF60 80240770 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 9EBF64 80240774 00430018 */ mult $v0, $v1 +/* 9EBF68 80240778 00021FC3 */ sra $v1, $v0, 0x1f +/* 9EBF6C 8024077C 00004010 */ mfhi $t0 +/* 9EBF70 80240780 00082043 */ sra $a0, $t0, 1 +/* 9EBF74 80240784 00832023 */ subu $a0, $a0, $v1 +/* 9EBF78 80240788 00041840 */ sll $v1, $a0, 1 +/* 9EBF7C 8024078C 00641821 */ addu $v1, $v1, $a0 +/* 9EBF80 80240790 00031880 */ sll $v1, $v1, 2 +/* 9EBF84 80240794 00641823 */ subu $v1, $v1, $a0 +/* 9EBF88 80240798 00431023 */ subu $v0, $v0, $v1 +/* 9EBF8C 8024079C 24420005 */ addiu $v0, $v0, 5 +/* 9EBF90 802407A0 080901EB */ j .L802407AC +/* 9EBF94 802407A4 A602008E */ sh $v0, 0x8e($s0) +.L802407A8: +/* 9EBF98 802407A8 AE800070 */ sw $zero, 0x70($s4) +.L802407AC: +/* 9EBF9C 802407AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 9EBFA0 802407B0 8FB40040 */ lw $s4, 0x40($sp) +/* 9EBFA4 802407B4 8FB3003C */ lw $s3, 0x3c($sp) +/* 9EBFA8 802407B8 8FB20038 */ lw $s2, 0x38($sp) +/* 9EBFAC 802407BC 8FB10034 */ lw $s1, 0x34($sp) +/* 9EBFB0 802407C0 8FB00030 */ lw $s0, 0x30($sp) +/* 9EBFB4 802407C4 03E00008 */ jr $ra +/* 9EBFB8 802407C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_802407CC_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_802407CC_9EB7F0.s new file mode 100644 index 0000000000..076ba773e1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_802407CC_9EB7F0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_9EBFBC +/* 9EBFBC 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9EBFC0 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* 9EBFC4 802407D4 0080882D */ daddu $s1, $a0, $zero +/* 9EBFC8 802407D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 9EBFCC 802407DC AFB20018 */ sw $s2, 0x18($sp) +/* 9EBFD0 802407E0 AFB00010 */ sw $s0, 0x10($sp) +/* 9EBFD4 802407E4 8E220148 */ lw $v0, 0x148($s1) +/* 9EBFD8 802407E8 00A0902D */ daddu $s2, $a1, $zero +/* 9EBFDC 802407EC 84440008 */ lh $a0, 8($v0) +/* 9EBFE0 802407F0 0C00EABB */ jal get_npc_unsafe +/* 9EBFE4 802407F4 00C0802D */ daddu $s0, $a2, $zero +/* 9EBFE8 802407F8 0220202D */ daddu $a0, $s1, $zero +/* 9EBFEC 802407FC 0240282D */ daddu $a1, $s2, $zero +/* 9EBFF0 80240800 0200302D */ daddu $a2, $s0, $zero +/* 9EBFF4 80240804 0C0127DF */ jal func_80049F7C +/* 9EBFF8 80240808 0040802D */ daddu $s0, $v0, $zero +/* 9EBFFC 8024080C 8E020000 */ lw $v0, ($s0) +/* 9EC000 80240810 24040005 */ addiu $a0, $zero, 5 +/* 9EC004 80240814 34420800 */ ori $v0, $v0, 0x800 +/* 9EC008 80240818 0C00A67F */ jal rand_int +/* 9EC00C 8024081C AE020000 */ sw $v0, ($s0) +/* 9EC010 80240820 44820000 */ mtc1 $v0, $f0 +/* 9EC014 80240824 00000000 */ nop +/* 9EC018 80240828 46800021 */ cvt.d.w $f0, $f0 +/* 9EC01C 8024082C 3C014024 */ lui $at, 0x4024 +/* 9EC020 80240830 44811800 */ mtc1 $at, $f3 +/* 9EC024 80240834 44801000 */ mtc1 $zero, $f2 +/* 9EC028 80240838 3C013FC0 */ lui $at, 0x3fc0 +/* 9EC02C 8024083C 44812000 */ mtc1 $at, $f4 +/* 9EC030 80240840 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9EC034 80240844 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9EC038 80240848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9EC03C 8024084C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9EC040 80240850 46220000 */ add.d $f0, $f0, $f2 +/* 9EC044 80240854 E6040014 */ swc1 $f4, 0x14($s0) +/* 9EC048 80240858 46200020 */ cvt.s.d $f0, $f0 +/* 9EC04C 8024085C E600001C */ swc1 $f0, 0x1c($s0) +/* 9EC050 80240860 8C460028 */ lw $a2, 0x28($v0) +/* 9EC054 80240864 0C00A720 */ jal atan2 +/* 9EC058 80240868 8C470030 */ lw $a3, 0x30($v0) +/* 9EC05C 8024086C 0200202D */ daddu $a0, $s0, $zero +/* 9EC060 80240870 3C05B000 */ lui $a1, 0xb000 +/* 9EC064 80240874 34A50017 */ ori $a1, $a1, 0x17 +/* 9EC068 80240878 0000302D */ daddu $a2, $zero, $zero +/* 9EC06C 8024087C E480000C */ swc1 $f0, 0xc($a0) +/* 9EC070 80240880 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9EC074 80240884 2402000D */ addiu $v0, $zero, 0xd +/* 9EC078 80240888 E4800018 */ swc1 $f0, 0x18($a0) +/* 9EC07C 8024088C 0C012530 */ jal func_800494C0 +/* 9EC080 80240890 AE220070 */ sw $v0, 0x70($s1) +/* 9EC084 80240894 8FBF001C */ lw $ra, 0x1c($sp) +/* 9EC088 80240898 8FB20018 */ lw $s2, 0x18($sp) +/* 9EC08C 8024089C 8FB10014 */ lw $s1, 0x14($sp) +/* 9EC090 802408A0 8FB00010 */ lw $s0, 0x10($sp) +/* 9EC094 802408A4 03E00008 */ jr $ra +/* 9EC098 802408A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_802408AC_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_802408AC_9EB7F0.s new file mode 100644 index 0000000000..e8261fdded --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_802408AC_9EB7F0.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408AC_9EC09C +/* 9EC09C 802408AC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9EC0A0 802408B0 AFB40050 */ sw $s4, 0x50($sp) +/* 9EC0A4 802408B4 0080A02D */ daddu $s4, $a0, $zero +/* 9EC0A8 802408B8 AFBF0060 */ sw $ra, 0x60($sp) +/* 9EC0AC 802408BC AFB7005C */ sw $s7, 0x5c($sp) +/* 9EC0B0 802408C0 AFB60058 */ sw $s6, 0x58($sp) +/* 9EC0B4 802408C4 AFB50054 */ sw $s5, 0x54($sp) +/* 9EC0B8 802408C8 AFB3004C */ sw $s3, 0x4c($sp) +/* 9EC0BC 802408CC AFB20048 */ sw $s2, 0x48($sp) +/* 9EC0C0 802408D0 AFB10044 */ sw $s1, 0x44($sp) +/* 9EC0C4 802408D4 AFB00040 */ sw $s0, 0x40($sp) +/* 9EC0C8 802408D8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* 9EC0CC 802408DC 8E950148 */ lw $s5, 0x148($s4) +/* 9EC0D0 802408E0 00A0B02D */ daddu $s6, $a1, $zero +/* 9EC0D4 802408E4 86A40008 */ lh $a0, 8($s5) +/* 9EC0D8 802408E8 0C00EABB */ jal get_npc_unsafe +/* 9EC0DC 802408EC 00C0B82D */ daddu $s7, $a2, $zero +/* 9EC0E0 802408F0 0040982D */ daddu $s3, $v0, $zero +/* 9EC0E4 802408F4 C6600018 */ lwc1 $f0, 0x18($s3) +/* 9EC0E8 802408F8 44801000 */ mtc1 $zero, $f2 +/* 9EC0EC 802408FC 44801800 */ mtc1 $zero, $f3 +/* 9EC0F0 80240900 46000021 */ cvt.d.s $f0, $f0 +/* 9EC0F4 80240904 4620103C */ c.lt.d $f2, $f0 +/* 9EC0F8 80240908 00000000 */ nop +/* 9EC0FC 8024090C 45000021 */ bc1f .L80240994 +/* 9EC100 80240910 27A50028 */ addiu $a1, $sp, 0x28 +/* 9EC104 80240914 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9EC108 80240918 C662003C */ lwc1 $f2, 0x3c($s3) +/* 9EC10C 8024091C C6640040 */ lwc1 $f4, 0x40($s3) +/* 9EC110 80240920 C6660018 */ lwc1 $f6, 0x18($s3) +/* 9EC114 80240924 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9EC118 80240928 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9EC11C 8024092C E7A40030 */ swc1 $f4, 0x30($sp) +/* 9EC120 80240930 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9EC124 80240934 C660000C */ lwc1 $f0, 0xc($s3) +/* 9EC128 80240938 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9EC12C 8024093C 866200A8 */ lh $v0, 0xa8($s3) +/* 9EC130 80240940 44820000 */ mtc1 $v0, $f0 +/* 9EC134 80240944 00000000 */ nop +/* 9EC138 80240948 46800020 */ cvt.s.w $f0, $f0 +/* 9EC13C 8024094C E7A00018 */ swc1 $f0, 0x18($sp) +/* 9EC140 80240950 866200A6 */ lh $v0, 0xa6($s3) +/* 9EC144 80240954 27A6002C */ addiu $a2, $sp, 0x2c +/* 9EC148 80240958 44820000 */ mtc1 $v0, $f0 +/* 9EC14C 8024095C 00000000 */ nop +/* 9EC150 80240960 46800020 */ cvt.s.w $f0, $f0 +/* 9EC154 80240964 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9EC158 80240968 8E640080 */ lw $a0, 0x80($s3) +/* 9EC15C 8024096C 0C037711 */ jal func_800DDC44 +/* 9EC160 80240970 27A70030 */ addiu $a3, $sp, 0x30 +/* 9EC164 80240974 10400003 */ beqz $v0, .L80240984 +/* 9EC168 80240978 00000000 */ nop +/* 9EC16C 8024097C 08090265 */ j .L80240994 +/* 9EC170 80240980 AE600018 */ sw $zero, 0x18($s3) +.L80240984: +/* 9EC174 80240984 8E650018 */ lw $a1, 0x18($s3) +/* 9EC178 80240988 8E66000C */ lw $a2, 0xc($s3) +/* 9EC17C 8024098C 0C00EA95 */ jal npc_move_heading +/* 9EC180 80240990 0260202D */ daddu $a0, $s3, $zero +.L80240994: +/* 9EC184 80240994 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9EC188 80240998 44801000 */ mtc1 $zero, $f2 +/* 9EC18C 8024099C 44801800 */ mtc1 $zero, $f3 +/* 9EC190 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* 9EC194 802409A4 4622003C */ c.lt.d $f0, $f2 +/* 9EC198 802409A8 00000000 */ nop +/* 9EC19C 802409AC 4500006C */ bc1f .L80240B60 +/* 9EC1A0 802409B0 27B00028 */ addiu $s0, $sp, 0x28 +/* 9EC1A4 802409B4 0200282D */ daddu $a1, $s0, $zero +/* 9EC1A8 802409B8 27A60034 */ addiu $a2, $sp, 0x34 +/* 9EC1AC 802409BC 27B20038 */ addiu $s2, $sp, 0x38 +/* 9EC1B0 802409C0 C6600038 */ lwc1 $f0, 0x38($s3) +/* 9EC1B4 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* 9EC1B8 802409C8 44811000 */ mtc1 $at, $f2 +/* 9EC1BC 802409CC C6640040 */ lwc1 $f4, 0x40($s3) +/* 9EC1C0 802409D0 3C01447A */ lui $at, 0x447a +/* 9EC1C4 802409D4 44813000 */ mtc1 $at, $f6 +/* 9EC1C8 802409D8 27B10030 */ addiu $s1, $sp, 0x30 +/* 9EC1CC 802409DC E7A00028 */ swc1 $f0, 0x28($sp) +/* 9EC1D0 802409E0 E7A20034 */ swc1 $f2, 0x34($sp) +/* 9EC1D4 802409E4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9EC1D8 802409E8 E7A60038 */ swc1 $f6, 0x38($sp) +/* 9EC1DC 802409EC AFB20010 */ sw $s2, 0x10($sp) +/* 9EC1E0 802409F0 8E640080 */ lw $a0, 0x80($s3) +/* 9EC1E4 802409F4 0C0372DF */ jal func_800DCB7C +/* 9EC1E8 802409F8 0220382D */ daddu $a3, $s1, $zero +/* 9EC1EC 802409FC 0200282D */ daddu $a1, $s0, $zero +/* 9EC1F0 80240A00 27A6002C */ addiu $a2, $sp, 0x2c +/* 9EC1F4 80240A04 C662003C */ lwc1 $f2, 0x3c($s3) +/* 9EC1F8 80240A08 C6660038 */ lwc1 $f6, 0x38($s3) +/* 9EC1FC 80240A0C 3C01402A */ lui $at, 0x402a +/* 9EC200 80240A10 4481A800 */ mtc1 $at, $f21 +/* 9EC204 80240A14 4480A000 */ mtc1 $zero, $f20 +/* 9EC208 80240A18 460010A1 */ cvt.d.s $f2, $f2 +/* 9EC20C 80240A1C 46341080 */ add.d $f2, $f2, $f20 +/* 9EC210 80240A20 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9EC214 80240A24 C6640040 */ lwc1 $f4, 0x40($s3) +/* 9EC218 80240A28 46000005 */ abs.s $f0, $f0 +/* 9EC21C 80240A2C E7A40030 */ swc1 $f4, 0x30($sp) +/* 9EC220 80240A30 3C014030 */ lui $at, 0x4030 +/* 9EC224 80240A34 44812800 */ mtc1 $at, $f5 +/* 9EC228 80240A38 44802000 */ mtc1 $zero, $f4 +/* 9EC22C 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* 9EC230 80240A40 E7A60028 */ swc1 $f6, 0x28($sp) +/* 9EC234 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* 9EC238 80240A48 462010A0 */ cvt.s.d $f2, $f2 +/* 9EC23C 80240A4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9EC240 80240A50 46200020 */ cvt.s.d $f0, $f0 +/* 9EC244 80240A54 E7A00038 */ swc1 $f0, 0x38($sp) +/* 9EC248 80240A58 AFB20010 */ sw $s2, 0x10($sp) +/* 9EC24C 80240A5C 8E640080 */ lw $a0, 0x80($s3) +/* 9EC250 80240A60 0C0372DF */ jal func_800DCB7C +/* 9EC254 80240A64 0220382D */ daddu $a3, $s1, $zero +/* 9EC258 80240A68 1040003D */ beqz $v0, .L80240B60 +/* 9EC25C 80240A6C 00000000 */ nop +/* 9EC260 80240A70 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9EC264 80240A74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* 9EC268 80240A78 46000005 */ abs.s $f0, $f0 +/* 9EC26C 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* 9EC270 80240A80 46340000 */ add.d $f0, $f0, $f20 +/* 9EC274 80240A84 460010A1 */ cvt.d.s $f2, $f2 +/* 9EC278 80240A88 4620103E */ c.le.d $f2, $f0 +/* 9EC27C 80240A8C 00000000 */ nop +/* 9EC280 80240A90 45000033 */ bc1f .L80240B60 +/* 9EC284 80240A94 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9EC288 80240A98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9EC28C 80240A9C 8E620000 */ lw $v0, ($s3) +/* 9EC290 80240AA0 AE60001C */ sw $zero, 0x1c($s3) +/* 9EC294 80240AA4 00431024 */ and $v0, $v0, $v1 +/* 9EC298 80240AA8 E660003C */ swc1 $f0, 0x3c($s3) +/* 9EC29C 80240AAC AE620000 */ sw $v0, ($s3) +/* 9EC2A0 80240AB0 AFA00010 */ sw $zero, 0x10($sp) +/* 9EC2A4 80240AB4 AFA00014 */ sw $zero, 0x14($sp) +/* 9EC2A8 80240AB8 8E650038 */ lw $a1, 0x38($s3) +/* 9EC2AC 80240ABC 8E66003C */ lw $a2, 0x3c($s3) +/* 9EC2B0 80240AC0 8E670040 */ lw $a3, 0x40($s3) +/* 9EC2B4 80240AC4 0C01BECC */ jal fx_walk_normal +/* 9EC2B8 80240AC8 24040002 */ addiu $a0, $zero, 2 +/* 9EC2BC 80240ACC 02E0202D */ daddu $a0, $s7, $zero +/* 9EC2C0 80240AD0 2402000C */ addiu $v0, $zero, 0xc +/* 9EC2C4 80240AD4 AE820070 */ sw $v0, 0x70($s4) +/* 9EC2C8 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* 9EC2CC 80240ADC AFA20010 */ sw $v0, 0x10($sp) +/* 9EC2D0 80240AE0 8EC60024 */ lw $a2, 0x24($s6) +/* 9EC2D4 80240AE4 8EC70028 */ lw $a3, 0x28($s6) +/* 9EC2D8 80240AE8 0C01242D */ jal func_800490B4 +/* 9EC2DC 80240AEC 02A0282D */ daddu $a1, $s5, $zero +/* 9EC2E0 80240AF0 14400022 */ bnez $v0, .L80240B7C +/* 9EC2E4 80240AF4 24040002 */ addiu $a0, $zero, 2 +/* 9EC2E8 80240AF8 0260282D */ daddu $a1, $s3, $zero +/* 9EC2EC 80240AFC 0000302D */ daddu $a2, $zero, $zero +/* 9EC2F0 80240B00 866300A8 */ lh $v1, 0xa8($s3) +/* 9EC2F4 80240B04 3C013F80 */ lui $at, 0x3f80 +/* 9EC2F8 80240B08 44810000 */ mtc1 $at, $f0 +/* 9EC2FC 80240B0C 3C014000 */ lui $at, 0x4000 +/* 9EC300 80240B10 44811000 */ mtc1 $at, $f2 +/* 9EC304 80240B14 3C01C1A0 */ lui $at, 0xc1a0 +/* 9EC308 80240B18 44812000 */ mtc1 $at, $f4 +/* 9EC30C 80240B1C 2402000F */ addiu $v0, $zero, 0xf +/* 9EC310 80240B20 AFA2001C */ sw $v0, 0x1c($sp) +/* 9EC314 80240B24 44834000 */ mtc1 $v1, $f8 +/* 9EC318 80240B28 00000000 */ nop +/* 9EC31C 80240B2C 46804220 */ cvt.s.w $f8, $f8 +/* 9EC320 80240B30 44074000 */ mfc1 $a3, $f8 +/* 9EC324 80240B34 27A2003C */ addiu $v0, $sp, 0x3c +/* 9EC328 80240B38 AFA20020 */ sw $v0, 0x20($sp) +/* 9EC32C 80240B3C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9EC330 80240B40 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9EC334 80240B44 0C01BFA4 */ jal fx_emote +/* 9EC338 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9EC33C 80240B4C 24020019 */ addiu $v0, $zero, 0x19 +/* 9EC340 80240B50 A662008E */ sh $v0, 0x8e($s3) +/* 9EC344 80240B54 2402000E */ addiu $v0, $zero, 0xe +/* 9EC348 80240B58 080902DF */ j .L80240B7C +/* 9EC34C 80240B5C AE820070 */ sw $v0, 0x70($s4) +.L80240B60: +/* 9EC350 80240B60 C664003C */ lwc1 $f4, 0x3c($s3) +/* 9EC354 80240B64 C660001C */ lwc1 $f0, 0x1c($s3) +/* 9EC358 80240B68 46002100 */ add.s $f4, $f4, $f0 +/* 9EC35C 80240B6C C6620014 */ lwc1 $f2, 0x14($s3) +/* 9EC360 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* 9EC364 80240B74 E664003C */ swc1 $f4, 0x3c($s3) +/* 9EC368 80240B78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240B7C: +/* 9EC36C 80240B7C 8FBF0060 */ lw $ra, 0x60($sp) +/* 9EC370 80240B80 8FB7005C */ lw $s7, 0x5c($sp) +/* 9EC374 80240B84 8FB60058 */ lw $s6, 0x58($sp) +/* 9EC378 80240B88 8FB50054 */ lw $s5, 0x54($sp) +/* 9EC37C 80240B8C 8FB40050 */ lw $s4, 0x50($sp) +/* 9EC380 80240B90 8FB3004C */ lw $s3, 0x4c($sp) +/* 9EC384 80240B94 8FB20048 */ lw $s2, 0x48($sp) +/* 9EC388 80240B98 8FB10044 */ lw $s1, 0x44($sp) +/* 9EC38C 80240B9C 8FB00040 */ lw $s0, 0x40($sp) +/* 9EC390 80240BA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* 9EC394 80240BA4 03E00008 */ jr $ra +/* 9EC398 80240BA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240BAC_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240BAC_9EB7F0.s new file mode 100644 index 0000000000..ef7f03f1ee --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240BAC_9EB7F0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC_9EC39C +/* 9EC39C 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9EC3A0 80240BB0 AFB00010 */ sw $s0, 0x10($sp) +/* 9EC3A4 80240BB4 0080802D */ daddu $s0, $a0, $zero +/* 9EC3A8 80240BB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 9EC3AC 80240BBC 8E020148 */ lw $v0, 0x148($s0) +/* 9EC3B0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* 9EC3B4 80240BC4 84440008 */ lh $a0, 8($v0) +/* 9EC3B8 80240BC8 9443008E */ lhu $v1, 0x8e($v0) +/* 9EC3BC 80240BCC 2463FFFF */ addiu $v1, $v1, -1 +/* 9EC3C0 80240BD0 A443008E */ sh $v1, 0x8e($v0) +/* 9EC3C4 80240BD4 00031C00 */ sll $v1, $v1, 0x10 +/* 9EC3C8 80240BD8 58600001 */ blezl $v1, .L80240BE0 +/* 9EC3CC 80240BDC AE000070 */ sw $zero, 0x70($s0) +.L80240BE0: +/* 9EC3D0 80240BE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9EC3D4 80240BE4 8FB00010 */ lw $s0, 0x10($sp) +/* 9EC3D8 80240BE8 03E00008 */ jr $ra +/* 9EC3DC 80240BEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_03/func_80240BF0_9EB7F0.s b/asm/nonmatchings/world/area_nok/nok_03/func_80240BF0_9EB7F0.s new file mode 100644 index 0000000000..0eac6f1d19 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_03/func_80240BF0_9EB7F0.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0_9EC3E0 +/* 9EC3E0 80240BF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9EC3E4 80240BF4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9EC3E8 80240BF8 0080982D */ daddu $s3, $a0, $zero +/* 9EC3EC 80240BFC AFBF0048 */ sw $ra, 0x48($sp) +/* 9EC3F0 80240C00 AFB50044 */ sw $s5, 0x44($sp) +/* 9EC3F4 80240C04 AFB40040 */ sw $s4, 0x40($sp) +/* 9EC3F8 80240C08 AFB20038 */ sw $s2, 0x38($sp) +/* 9EC3FC 80240C0C AFB10034 */ sw $s1, 0x34($sp) +/* 9EC400 80240C10 AFB00030 */ sw $s0, 0x30($sp) +/* 9EC404 80240C14 8E720148 */ lw $s2, 0x148($s3) +/* 9EC408 80240C18 86440008 */ lh $a0, 8($s2) +/* 9EC40C 80240C1C 8E70000C */ lw $s0, 0xc($s3) +/* 9EC410 80240C20 0C00EABB */ jal get_npc_unsafe +/* 9EC414 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* 9EC418 80240C28 8E050000 */ lw $a1, ($s0) +/* 9EC41C 80240C2C 26100004 */ addiu $s0, $s0, 4 +/* 9EC420 80240C30 0260202D */ daddu $a0, $s3, $zero +/* 9EC424 80240C34 0C0B1EAF */ jal get_variable +/* 9EC428 80240C38 0040A82D */ daddu $s5, $v0, $zero +/* 9EC42C 80240C3C 0260202D */ daddu $a0, $s3, $zero +/* 9EC430 80240C40 8E050000 */ lw $a1, ($s0) +/* 9EC434 80240C44 0C0B1EAF */ jal get_variable +/* 9EC438 80240C48 0040A02D */ daddu $s4, $v0, $zero +/* 9EC43C 80240C4C AE420094 */ sw $v0, 0x94($s2) +/* 9EC440 80240C50 AFA00010 */ sw $zero, 0x10($sp) +/* 9EC444 80240C54 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9EC448 80240C58 8C420030 */ lw $v0, 0x30($v0) +/* 9EC44C 80240C5C AFA20014 */ sw $v0, 0x14($sp) +/* 9EC450 80240C60 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9EC454 80240C64 8C42001C */ lw $v0, 0x1c($v0) +/* 9EC458 80240C68 AFA20018 */ sw $v0, 0x18($sp) +/* 9EC45C 80240C6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9EC460 80240C70 8C420024 */ lw $v0, 0x24($v0) +/* 9EC464 80240C74 AFA2001C */ sw $v0, 0x1c($sp) +/* 9EC468 80240C78 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9EC46C 80240C7C 8C420028 */ lw $v0, 0x28($v0) +/* 9EC470 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* 9EC474 80240C84 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9EC478 80240C88 3C0142C8 */ lui $at, 0x42c8 +/* 9EC47C 80240C8C 44810000 */ mtc1 $at, $f0 +/* 9EC480 80240C90 8C42002C */ lw $v0, 0x2c($v0) +/* 9EC484 80240C94 27B00010 */ addiu $s0, $sp, 0x10 +/* 9EC488 80240C98 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9EC48C 80240C9C A7A0002C */ sh $zero, 0x2c($sp) +/* 9EC490 80240CA0 12200019 */ beqz $s1, .L80240D08 +/* 9EC494 80240CA4 AFA20024 */ sw $v0, 0x24($sp) +/* 9EC498 80240CA8 AE600070 */ sw $zero, 0x70($s3) +/* 9EC49C 80240CAC A6A0008E */ sh $zero, 0x8e($s5) +/* 9EC4A0 80240CB0 AE600074 */ sw $zero, 0x74($s3) +/* 9EC4A4 80240CB4 8EA20000 */ lw $v0, ($s5) +/* 9EC4A8 80240CB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9EC4AC 80240CBC 00431024 */ and $v0, $v0, $v1 +/* 9EC4B0 80240CC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9EC4B4 80240CC4 00431024 */ and $v0, $v0, $v1 +/* 9EC4B8 80240CC8 34420008 */ ori $v0, $v0, 8 +/* 9EC4BC 80240CCC AEA20000 */ sw $v0, ($s5) +/* 9EC4C0 80240CD0 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9EC4C4 80240CD4 34420018 */ ori $v0, $v0, 0x18 +/* 9EC4C8 80240CD8 AE4200B0 */ sw $v0, 0xb0($s2) +/* 9EC4CC 80240CDC 8E420000 */ lw $v0, ($s2) +/* 9EC4D0 80240CE0 3C034000 */ lui $v1, 0x4000 +/* 9EC4D4 80240CE4 00431024 */ and $v0, $v0, $v1 +/* 9EC4D8 80240CE8 10400007 */ beqz $v0, .L80240D08 +/* 9EC4DC 80240CEC 3C03BFFF */ lui $v1, 0xbfff +/* 9EC4E0 80240CF0 2402000C */ addiu $v0, $zero, 0xc +/* 9EC4E4 80240CF4 AE620070 */ sw $v0, 0x70($s3) +/* 9EC4E8 80240CF8 8E420000 */ lw $v0, ($s2) +/* 9EC4EC 80240CFC 3463FFFF */ ori $v1, $v1, 0xffff +/* 9EC4F0 80240D00 00431024 */ and $v0, $v0, $v1 +/* 9EC4F4 80240D04 AE420000 */ sw $v0, ($s2) +.L80240D08: +/* 9EC4F8 80240D08 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9EC4FC 80240D0C 30620004 */ andi $v0, $v1, 4 +/* 9EC500 80240D10 10400007 */ beqz $v0, .L80240D30 +/* 9EC504 80240D14 00000000 */ nop +/* 9EC508 80240D18 824200B4 */ lb $v0, 0xb4($s2) +/* 9EC50C 80240D1C 14400034 */ bnez $v0, .L80240DF0 +/* 9EC510 80240D20 0000102D */ daddu $v0, $zero, $zero +/* 9EC514 80240D24 2402FFFB */ addiu $v0, $zero, -5 +/* 9EC518 80240D28 00621024 */ and $v0, $v1, $v0 +/* 9EC51C 80240D2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D30: +/* 9EC520 80240D30 8E630070 */ lw $v1, 0x70($s3) +/* 9EC524 80240D34 2C62000F */ sltiu $v0, $v1, 0xf +/* 9EC528 80240D38 1040002C */ beqz $v0, .L80240DEC +/* 9EC52C 80240D3C 00031080 */ sll $v0, $v1, 2 +/* 9EC530 80240D40 3C018024 */ lui $at, 0x8024 +/* 9EC534 80240D44 00220821 */ addu $at, $at, $v0 +/* 9EC538 80240D48 8C2223B8 */ lw $v0, 0x23b8($at) +/* 9EC53C 80240D4C 00400008 */ jr $v0 +/* 9EC540 80240D50 00000000 */ nop +/* 9EC544 80240D54 0260202D */ daddu $a0, $s3, $zero +/* 9EC548 80240D58 0280282D */ daddu $a1, $s4, $zero +/* 9EC54C 80240D5C 0C090000 */ jal func_80240000 +/* 9EC550 80240D60 0200302D */ daddu $a2, $s0, $zero +/* 9EC554 80240D64 0260202D */ daddu $a0, $s3, $zero +/* 9EC558 80240D68 0280282D */ daddu $a1, $s4, $zero +/* 9EC55C 80240D6C 0C09008C */ jal func_80240230 +/* 9EC560 80240D70 0200302D */ daddu $a2, $s0, $zero +/* 9EC564 80240D74 0809037C */ j .L80240DF0 +/* 9EC568 80240D78 0000102D */ daddu $v0, $zero, $zero +/* 9EC56C 80240D7C 0260202D */ daddu $a0, $s3, $zero +/* 9EC570 80240D80 0280282D */ daddu $a1, $s4, $zero +/* 9EC574 80240D84 0C09015A */ jal func_80240568 +/* 9EC578 80240D88 0200302D */ daddu $a2, $s0, $zero +/* 9EC57C 80240D8C 8E630070 */ lw $v1, 0x70($s3) +/* 9EC580 80240D90 24020003 */ addiu $v0, $zero, 3 +/* 9EC584 80240D94 14620016 */ bne $v1, $v0, .L80240DF0 +/* 9EC588 80240D98 0000102D */ daddu $v0, $zero, $zero +/* 9EC58C 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* 9EC590 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* 9EC594 80240DA4 0C09018A */ jal func_80240628 +/* 9EC598 80240DA8 0200302D */ daddu $a2, $s0, $zero +/* 9EC59C 80240DAC 0809037C */ j .L80240DF0 +/* 9EC5A0 80240DB0 0000102D */ daddu $v0, $zero, $zero +/* 9EC5A4 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 9EC5A8 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* 9EC5AC 80240DBC 0C0901F3 */ jal func_802407CC +/* 9EC5B0 80240DC0 0200302D */ daddu $a2, $s0, $zero +/* 9EC5B4 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* 9EC5B8 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 9EC5BC 80240DCC 0C09022B */ jal func_802408AC +/* 9EC5C0 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* 9EC5C4 80240DD4 0809037C */ j .L80240DF0 +/* 9EC5C8 80240DD8 0000102D */ daddu $v0, $zero, $zero +/* 9EC5CC 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* 9EC5D0 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* 9EC5D4 80240DE4 0C0902EB */ jal func_80240BAC +/* 9EC5D8 80240DE8 0200302D */ daddu $a2, $s0, $zero +.L80240DEC: +/* 9EC5DC 80240DEC 0000102D */ daddu $v0, $zero, $zero +.L80240DF0: +/* 9EC5E0 80240DF0 8FBF0048 */ lw $ra, 0x48($sp) +/* 9EC5E4 80240DF4 8FB50044 */ lw $s5, 0x44($sp) +/* 9EC5E8 80240DF8 8FB40040 */ lw $s4, 0x40($sp) +/* 9EC5EC 80240DFC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9EC5F0 80240E00 8FB20038 */ lw $s2, 0x38($sp) +/* 9EC5F4 80240E04 8FB10034 */ lw $s1, 0x34($sp) +/* 9EC5F8 80240E08 8FB00030 */ lw $s0, 0x30($sp) +/* 9EC5FC 80240E0C 03E00008 */ jr $ra +/* 9EC600 80240E10 27BD0050 */ addiu $sp, $sp, 0x50 +/* 9EC604 80240E14 00000000 */ nop +/* 9EC608 80240E18 00000000 */ nop +/* 9EC60C 80240E1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240000_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240000_9EDBF0.s new file mode 100644 index 0000000000..7d5eae881b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240000_9EDBF0.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9EDBF0 +/* 9EDBF0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9EDBF4 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* 9EDBF8 80240008 0080902D */ daddu $s2, $a0, $zero +/* 9EDBFC 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* 9EDC00 80240010 00A0882D */ daddu $s1, $a1, $zero +/* 9EDC04 80240014 AFBF0024 */ sw $ra, 0x24($sp) +/* 9EDC08 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* 9EDC0C 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* 9EDC10 80240020 AFB00010 */ sw $s0, 0x10($sp) +/* 9EDC14 80240024 8E50000C */ lw $s0, 0xc($s2) +/* 9EDC18 80240028 8E050000 */ lw $a1, ($s0) +/* 9EDC1C 8024002C 0C0B1EAF */ jal get_variable +/* 9EDC20 80240030 26100004 */ addiu $s0, $s0, 4 +/* 9EDC24 80240034 0240202D */ daddu $a0, $s2, $zero +/* 9EDC28 80240038 8E050000 */ lw $a1, ($s0) +/* 9EDC2C 8024003C 0C0B1EAF */ jal get_variable +/* 9EDC30 80240040 0040802D */ daddu $s0, $v0, $zero +/* 9EDC34 80240044 0200202D */ daddu $a0, $s0, $zero +/* 9EDC38 80240048 0C00EAD2 */ jal get_npc_safe +/* 9EDC3C 8024004C 0040A02D */ daddu $s4, $v0, $zero +/* 9EDC40 80240050 3C138011 */ lui $s3, %hi(gPlayerData) +/* 9EDC44 80240054 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* 9EDC48 80240058 12200006 */ beqz $s1, .L80240074 +/* 9EDC4C 8024005C 0040802D */ daddu $s0, $v0, $zero +/* 9EDC50 80240060 82620012 */ lb $v0, 0x12($s3) +/* 9EDC54 80240064 54400003 */ bnel $v0, $zero, .L80240074 +/* 9EDC58 80240068 AE400070 */ sw $zero, 0x70($s2) +/* 9EDC5C 8024006C 24020002 */ addiu $v0, $zero, 2 +/* 9EDC60 80240070 AE420070 */ sw $v0, 0x70($s2) +.L80240074: +/* 9EDC64 80240074 8E430070 */ lw $v1, 0x70($s2) +/* 9EDC68 80240078 24110001 */ addiu $s1, $zero, 1 +/* 9EDC6C 8024007C 10710013 */ beq $v1, $s1, .L802400CC +/* 9EDC70 80240080 28620002 */ slti $v0, $v1, 2 +/* 9EDC74 80240084 10400005 */ beqz $v0, .L8024009C +/* 9EDC78 80240088 24020002 */ addiu $v0, $zero, 2 +/* 9EDC7C 8024008C 10600009 */ beqz $v1, .L802400B4 +/* 9EDC80 80240090 0000102D */ daddu $v0, $zero, $zero +/* 9EDC84 80240094 08090059 */ j .L80240164 +/* 9EDC88 80240098 00000000 */ nop +.L8024009C: +/* 9EDC8C 8024009C 10620013 */ beq $v1, $v0, .L802400EC +/* 9EDC90 802400A0 24020003 */ addiu $v0, $zero, 3 +/* 9EDC94 802400A4 1062001E */ beq $v1, $v0, .L80240120 +/* 9EDC98 802400A8 0000102D */ daddu $v0, $zero, $zero +/* 9EDC9C 802400AC 08090059 */ j .L80240164 +/* 9EDCA0 802400B0 00000000 */ nop +.L802400B4: +/* 9EDCA4 802400B4 0C03AC5A */ jal func_800EB168 +/* 9EDCA8 802400B8 0000202D */ daddu $a0, $zero, $zero +/* 9EDCAC 802400BC 2402001E */ addiu $v0, $zero, 0x1e +/* 9EDCB0 802400C0 AE420074 */ sw $v0, 0x74($s2) +/* 9EDCB4 802400C4 08090058 */ j .L80240160 +/* 9EDCB8 802400C8 AE510070 */ sw $s1, 0x70($s2) +.L802400CC: +/* 9EDCBC 802400CC 8E420074 */ lw $v0, 0x74($s2) +/* 9EDCC0 802400D0 2403FFFF */ addiu $v1, $zero, -1 +/* 9EDCC4 802400D4 2442FFFF */ addiu $v0, $v0, -1 +/* 9EDCC8 802400D8 14430021 */ bne $v0, $v1, .L80240160 +/* 9EDCCC 802400DC AE420074 */ sw $v0, 0x74($s2) +/* 9EDCD0 802400E0 24020002 */ addiu $v0, $zero, 2 +/* 9EDCD4 802400E4 08090058 */ j .L80240160 +/* 9EDCD8 802400E8 AE420070 */ sw $v0, 0x70($s2) +.L802400EC: +/* 9EDCDC 802400EC 0200202D */ daddu $a0, $s0, $zero +/* 9EDCE0 802400F0 00141600 */ sll $v0, $s4, 0x18 +/* 9EDCE4 802400F4 00021543 */ sra $v0, $v0, 0x15 +/* 9EDCE8 802400F8 02621021 */ addu $v0, $s3, $v0 +/* 9EDCEC 802400FC A2740012 */ sb $s4, 0x12($s3) +/* 9EDCF0 80240100 0C03BD17 */ jal clear_partner_move_history +/* 9EDCF4 80240104 A0510014 */ sb $s1, 0x14($v0) +/* 9EDCF8 80240108 82640012 */ lb $a0, 0x12($s3) +/* 9EDCFC 8024010C 0C03ACA9 */ jal func_800EB2A4 +/* 9EDD00 80240110 00000000 */ nop +/* 9EDD04 80240114 24020003 */ addiu $v0, $zero, 3 +/* 9EDD08 80240118 08090058 */ j .L80240160 +/* 9EDD0C 8024011C AE420070 */ sw $v0, 0x70($s2) +.L80240120: +/* 9EDD10 80240120 0C00EAD2 */ jal get_npc_safe +/* 9EDD14 80240124 2404FFFC */ addiu $a0, $zero, -4 +/* 9EDD18 80240128 8E05000C */ lw $a1, 0xc($s0) +/* 9EDD1C 8024012C 0C00ECD0 */ jal set_npc_yaw +/* 9EDD20 80240130 0040202D */ daddu $a0, $v0, $zero +/* 9EDD24 80240134 0200202D */ daddu $a0, $s0, $zero +/* 9EDD28 80240138 8E020000 */ lw $v0, ($s0) +/* 9EDD2C 8024013C 2403FFFB */ addiu $v1, $zero, -5 +/* 9EDD30 80240140 00431024 */ and $v0, $v0, $v1 +/* 9EDD34 80240144 0C00EAFF */ jal disable_npc_shadow +/* 9EDD38 80240148 AE020000 */ sw $v0, ($s0) +/* 9EDD3C 8024014C 3C01C47A */ lui $at, 0xc47a +/* 9EDD40 80240150 44810000 */ mtc1 $at, $f0 +/* 9EDD44 80240154 24020002 */ addiu $v0, $zero, 2 +/* 9EDD48 80240158 08090059 */ j .L80240164 +/* 9EDD4C 8024015C E600003C */ swc1 $f0, 0x3c($s0) +.L80240160: +/* 9EDD50 80240160 0000102D */ daddu $v0, $zero, $zero +.L80240164: +/* 9EDD54 80240164 8FBF0024 */ lw $ra, 0x24($sp) +/* 9EDD58 80240168 8FB40020 */ lw $s4, 0x20($sp) +/* 9EDD5C 8024016C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9EDD60 80240170 8FB20018 */ lw $s2, 0x18($sp) +/* 9EDD64 80240174 8FB10014 */ lw $s1, 0x14($sp) +/* 9EDD68 80240178 8FB00010 */ lw $s0, 0x10($sp) +/* 9EDD6C 8024017C 03E00008 */ jr $ra +/* 9EDD70 80240180 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240184_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240184_9EDBF0.s new file mode 100644 index 0000000000..4199fd6fcf --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240184_9EDBF0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240184_9EDD74 +/* 9EDD74 80240184 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9EDD78 80240188 AFB20018 */ sw $s2, 0x18($sp) +/* 9EDD7C 8024018C 0080902D */ daddu $s2, $a0, $zero +/* 9EDD80 80240190 AFBF0028 */ sw $ra, 0x28($sp) +/* 9EDD84 80240194 AFB50024 */ sw $s5, 0x24($sp) +/* 9EDD88 80240198 AFB40020 */ sw $s4, 0x20($sp) +/* 9EDD8C 8024019C AFB3001C */ sw $s3, 0x1c($sp) +/* 9EDD90 802401A0 AFB10014 */ sw $s1, 0x14($sp) +/* 9EDD94 802401A4 AFB00010 */ sw $s0, 0x10($sp) +/* 9EDD98 802401A8 F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9EDD9C 802401AC F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9EDDA0 802401B0 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9EDDA4 802401B4 8E50000C */ lw $s0, 0xc($s2) +/* 9EDDA8 802401B8 8E140000 */ lw $s4, ($s0) +/* 9EDDAC 802401BC 26100004 */ addiu $s0, $s0, 4 +/* 9EDDB0 802401C0 0C0B1EAF */ jal get_variable +/* 9EDDB4 802401C4 0280282D */ daddu $a1, $s4, $zero +/* 9EDDB8 802401C8 0040982D */ daddu $s3, $v0, $zero +/* 9EDDBC 802401CC 8E150000 */ lw $s5, ($s0) +/* 9EDDC0 802401D0 26100004 */ addiu $s0, $s0, 4 +/* 9EDDC4 802401D4 8E050000 */ lw $a1, ($s0) +/* 9EDDC8 802401D8 26100004 */ addiu $s0, $s0, 4 +/* 9EDDCC 802401DC 0C0B210B */ jal get_float_variable +/* 9EDDD0 802401E0 0240202D */ daddu $a0, $s2, $zero +/* 9EDDD4 802401E4 8E050000 */ lw $a1, ($s0) +/* 9EDDD8 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 9EDDDC 802401EC 0240202D */ daddu $a0, $s2, $zero +/* 9EDDE0 802401F0 0C0B210B */ jal get_float_variable +/* 9EDDE4 802401F4 46000606 */ mov.s $f24, $f0 +/* 9EDDE8 802401F8 8E050000 */ lw $a1, ($s0) +/* 9EDDEC 802401FC 26100004 */ addiu $s0, $s0, 4 +/* 9EDDF0 80240200 0240202D */ daddu $a0, $s2, $zero +/* 9EDDF4 80240204 0C0B1EAF */ jal get_variable +/* 9EDDF8 80240208 46000506 */ mov.s $f20, $f0 +/* 9EDDFC 8024020C 8E050000 */ lw $a1, ($s0) +/* 9EDE00 80240210 26100004 */ addiu $s0, $s0, 4 +/* 9EDE04 80240214 0240202D */ daddu $a0, $s2, $zero +/* 9EDE08 80240218 0C0B1EAF */ jal get_variable +/* 9EDE0C 8024021C 0040882D */ daddu $s1, $v0, $zero +/* 9EDE10 80240220 0240202D */ daddu $a0, $s2, $zero +/* 9EDE14 80240224 8E050000 */ lw $a1, ($s0) +/* 9EDE18 80240228 0C0B210B */ jal get_float_variable +/* 9EDE1C 8024022C 0040802D */ daddu $s0, $v0, $zero +/* 9EDE20 80240230 3C014334 */ lui $at, 0x4334 +/* 9EDE24 80240234 44811000 */ mtc1 $at, $f2 +/* 9EDE28 80240238 3C014049 */ lui $at, 0x4049 +/* 9EDE2C 8024023C 34210FD8 */ ori $at, $at, 0xfd8 +/* 9EDE30 80240240 44812000 */ mtc1 $at, $f4 +/* 9EDE34 80240244 46020003 */ div.s $f0, $f0, $f2 +/* 9EDE38 80240248 46040582 */ mul.s $f22, $f0, $f4 +/* 9EDE3C 8024024C 00000000 */ nop +/* 9EDE40 80240250 4618A501 */ sub.s $f20, $f20, $f24 +/* 9EDE44 80240254 3C013F00 */ lui $at, 0x3f00 +/* 9EDE48 80240258 44810000 */ mtc1 $at, $f0 +/* 9EDE4C 8024025C 00000000 */ nop +/* 9EDE50 80240260 4600A502 */ mul.s $f20, $f20, $f0 +/* 9EDE54 80240264 00000000 */ nop +/* 9EDE58 80240268 12000007 */ beqz $s0, .L80240288 +/* 9EDE5C 8024026C 0233102A */ slt $v0, $s1, $s3 +/* 9EDE60 80240270 10400005 */ beqz $v0, .L80240288 +/* 9EDE64 80240274 0240202D */ daddu $a0, $s2, $zero +/* 9EDE68 80240278 0220982D */ daddu $s3, $s1, $zero +/* 9EDE6C 8024027C 0280282D */ daddu $a1, $s4, $zero +/* 9EDE70 80240280 0C0B2026 */ jal set_variable +/* 9EDE74 80240284 0220302D */ daddu $a2, $s1, $zero +.L80240288: +/* 9EDE78 80240288 3C014049 */ lui $at, 0x4049 +/* 9EDE7C 8024028C 34210FD8 */ ori $at, $at, 0xfd8 +/* 9EDE80 80240290 44810000 */ mtc1 $at, $f0 +/* 9EDE84 80240294 44936000 */ mtc1 $s3, $f12 +/* 9EDE88 80240298 00000000 */ nop +/* 9EDE8C 8024029C 46806320 */ cvt.s.w $f12, $f12 +/* 9EDE90 802402A0 46006302 */ mul.s $f12, $f12, $f0 +/* 9EDE94 802402A4 00000000 */ nop +/* 9EDE98 802402A8 44910000 */ mtc1 $s1, $f0 +/* 9EDE9C 802402AC 00000000 */ nop +/* 9EDEA0 802402B0 46800020 */ cvt.s.w $f0, $f0 +/* 9EDEA4 802402B4 46006303 */ div.s $f12, $f12, $f0 +/* 9EDEA8 802402B8 0C00A874 */ jal cos_rad +/* 9EDEAC 802402BC 46166300 */ add.s $f12, $f12, $f22 +/* 9EDEB0 802402C0 4600A002 */ mul.s $f0, $f20, $f0 +/* 9EDEB4 802402C4 00000000 */ nop +/* 9EDEB8 802402C8 4614C080 */ add.s $f2, $f24, $f20 +/* 9EDEBC 802402CC 46001081 */ sub.s $f2, $f2, $f0 +/* 9EDEC0 802402D0 0240202D */ daddu $a0, $s2, $zero +/* 9EDEC4 802402D4 44061000 */ mfc1 $a2, $f2 +/* 9EDEC8 802402D8 0C0B2190 */ jal set_float_variable +/* 9EDECC 802402DC 02A0282D */ daddu $a1, $s5, $zero +/* 9EDED0 802402E0 8FBF0028 */ lw $ra, 0x28($sp) +/* 9EDED4 802402E4 8FB50024 */ lw $s5, 0x24($sp) +/* 9EDED8 802402E8 8FB40020 */ lw $s4, 0x20($sp) +/* 9EDEDC 802402EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9EDEE0 802402F0 8FB20018 */ lw $s2, 0x18($sp) +/* 9EDEE4 802402F4 8FB10014 */ lw $s1, 0x14($sp) +/* 9EDEE8 802402F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9EDEEC 802402FC D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9EDEF0 80240300 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9EDEF4 80240304 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9EDEF8 80240308 24020002 */ addiu $v0, $zero, 2 +/* 9EDEFC 8024030C 03E00008 */ jr $ra +/* 9EDF00 80240310 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240314_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240314_9EDBF0.s new file mode 100644 index 0000000000..d3915066b4 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240314_9EDBF0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314_9EDF04 +/* 9EDF04 80240314 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9EDF08 80240318 AFB10014 */ sw $s1, 0x14($sp) +/* 9EDF0C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* 9EDF10 80240320 AFBF001C */ sw $ra, 0x1c($sp) +/* 9EDF14 80240324 AFB20018 */ sw $s2, 0x18($sp) +/* 9EDF18 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* 9EDF1C 8024032C 8E30000C */ lw $s0, 0xc($s1) +/* 9EDF20 80240330 8E050000 */ lw $a1, ($s0) +/* 9EDF24 80240334 0C0B1EAF */ jal get_variable +/* 9EDF28 80240338 26100004 */ addiu $s0, $s0, 4 +/* 9EDF2C 8024033C 8E050000 */ lw $a1, ($s0) +/* 9EDF30 80240340 26100004 */ addiu $s0, $s0, 4 +/* 9EDF34 80240344 0220202D */ daddu $a0, $s1, $zero +/* 9EDF38 80240348 0C0B1EAF */ jal get_variable +/* 9EDF3C 8024034C 0040902D */ daddu $s2, $v0, $zero +/* 9EDF40 80240350 0220202D */ daddu $a0, $s1, $zero +/* 9EDF44 80240354 8E050000 */ lw $a1, ($s0) +/* 9EDF48 80240358 0C0B1EAF */ jal get_variable +/* 9EDF4C 8024035C 0040802D */ daddu $s0, $v0, $zero +/* 9EDF50 80240360 44823000 */ mtc1 $v0, $f6 +/* 9EDF54 80240364 00000000 */ nop +/* 9EDF58 80240368 468031A0 */ cvt.s.w $f6, $f6 +/* 9EDF5C 8024036C 3C038024 */ lui $v1, 0x8024 +/* 9EDF60 80240370 246313F8 */ addiu $v1, $v1, 0x13f8 +/* 9EDF64 80240374 44922000 */ mtc1 $s2, $f4 +/* 9EDF68 80240378 00000000 */ nop +/* 9EDF6C 8024037C 46802120 */ cvt.s.w $f4, $f4 +/* 9EDF70 80240380 3C014080 */ lui $at, 0x4080 +/* 9EDF74 80240384 44811000 */ mtc1 $at, $f2 +/* 9EDF78 80240388 44900000 */ mtc1 $s0, $f0 +/* 9EDF7C 8024038C 00000000 */ nop +/* 9EDF80 80240390 46800020 */ cvt.s.w $f0, $f0 +/* 9EDF84 80240394 46020000 */ add.s $f0, $f0, $f2 +/* 9EDF88 80240398 E4640000 */ swc1 $f4, ($v1) +/* 9EDF8C 8024039C E4660008 */ swc1 $f6, 8($v1) +/* 9EDF90 802403A0 E4600004 */ swc1 $f0, 4($v1) +/* 9EDF94 802403A4 8FBF001C */ lw $ra, 0x1c($sp) +/* 9EDF98 802403A8 8FB20018 */ lw $s2, 0x18($sp) +/* 9EDF9C 802403AC 8FB10014 */ lw $s1, 0x14($sp) +/* 9EDFA0 802403B0 8FB00010 */ lw $s0, 0x10($sp) +/* 9EDFA4 802403B4 24020002 */ addiu $v0, $zero, 2 +/* 9EDFA8 802403B8 03E00008 */ jr $ra +/* 9EDFAC 802403BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_802403C0_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_802403C0_9EDBF0.s new file mode 100644 index 0000000000..51265b88a3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_802403C0_9EDBF0.s @@ -0,0 +1,75 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C0_9EDFB0 +/* 9EDFB0 802403C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9EDFB4 802403C4 AFB10014 */ sw $s1, 0x14($sp) +/* 9EDFB8 802403C8 0080882D */ daddu $s1, $a0, $zero +/* 9EDFBC 802403CC AFBF001C */ sw $ra, 0x1c($sp) +/* 9EDFC0 802403D0 AFB20018 */ sw $s2, 0x18($sp) +/* 9EDFC4 802403D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9EDFC8 802403D8 8E30000C */ lw $s0, 0xc($s1) +/* 9EDFCC 802403DC 8E050000 */ lw $a1, ($s0) +/* 9EDFD0 802403E0 0C0B1EAF */ jal get_variable +/* 9EDFD4 802403E4 26100004 */ addiu $s0, $s0, 4 +/* 9EDFD8 802403E8 8E050000 */ lw $a1, ($s0) +/* 9EDFDC 802403EC 26100004 */ addiu $s0, $s0, 4 +/* 9EDFE0 802403F0 0220202D */ daddu $a0, $s1, $zero +/* 9EDFE4 802403F4 0C0B1EAF */ jal get_variable +/* 9EDFE8 802403F8 0040902D */ daddu $s2, $v0, $zero +/* 9EDFEC 802403FC 0220202D */ daddu $a0, $s1, $zero +/* 9EDFF0 80240400 8E050000 */ lw $a1, ($s0) +/* 9EDFF4 80240404 0C0B1EAF */ jal get_variable +/* 9EDFF8 80240408 0040802D */ daddu $s0, $v0, $zero +/* 9EDFFC 8024040C 3C038024 */ lui $v1, 0x8024 +/* 9EE000 80240410 246313F8 */ addiu $v1, $v1, 0x13f8 +/* 9EE004 80240414 06010002 */ bgez $s0, .L80240420 +/* 9EE008 80240418 0040202D */ daddu $a0, $v0, $zero +/* 9EE00C 8024041C 2610000F */ addiu $s0, $s0, 0xf +.L80240420: +/* 9EE010 80240420 00101103 */ sra $v0, $s0, 4 +/* 9EE014 80240424 44824000 */ mtc1 $v0, $f8 +/* 9EE018 80240428 00000000 */ nop +/* 9EE01C 8024042C 46804220 */ cvt.s.w $f8, $f8 +/* 9EE020 80240430 3C013D80 */ lui $at, 0x3d80 +/* 9EE024 80240434 44811000 */ mtc1 $at, $f2 +/* 9EE028 80240438 44920000 */ mtc1 $s2, $f0 +/* 9EE02C 8024043C 00000000 */ nop +/* 9EE030 80240440 46800020 */ cvt.s.w $f0, $f0 +/* 9EE034 80240444 AC600034 */ sw $zero, 0x34($v1) +/* 9EE038 80240448 46020182 */ mul.s $f6, $f0, $f2 +/* 9EE03C 8024044C 00000000 */ nop +/* 9EE040 80240450 C46A0034 */ lwc1 $f10, 0x34($v1) +/* 9EE044 80240454 44842000 */ mtc1 $a0, $f4 +/* 9EE048 80240458 00000000 */ nop +/* 9EE04C 8024045C 46802120 */ cvt.s.w $f4, $f4 +/* 9EE050 80240460 E4680018 */ swc1 $f8, 0x18($v1) +/* 9EE054 80240464 E4640030 */ swc1 $f4, 0x30($v1) +/* 9EE058 80240468 4604503C */ c.lt.s $f10, $f4 +/* 9EE05C 8024046C 00000000 */ nop +/* 9EE060 80240470 45000009 */ bc1f .L80240498 +/* 9EE064 80240474 E466000C */ swc1 $f6, 0xc($v1) +/* 9EE068 80240478 C4600010 */ lwc1 $f0, 0x10($v1) +/* 9EE06C 8024047C 46003001 */ sub.s $f0, $f6, $f0 +/* 9EE070 80240480 C4620020 */ lwc1 $f2, 0x20($v1) +/* 9EE074 80240484 46024081 */ sub.s $f2, $f8, $f2 +/* 9EE078 80240488 46040003 */ div.s $f0, $f0, $f4 +/* 9EE07C 8024048C 46041083 */ div.s $f2, $f2, $f4 +/* 9EE080 80240490 E4600038 */ swc1 $f0, 0x38($v1) +/* 9EE084 80240494 E462003C */ swc1 $f2, 0x3c($v1) +.L80240498: +/* 9EE088 80240498 460A203C */ c.lt.s $f4, $f10 +/* 9EE08C 8024049C 00000000 */ nop +/* 9EE090 802404A0 45000004 */ bc1f .L802404B4 +/* 9EE094 802404A4 00000000 */ nop +/* 9EE098 802404A8 E4660010 */ swc1 $f6, 0x10($v1) +/* 9EE09C 802404AC E4680020 */ swc1 $f8, 0x20($v1) +/* 9EE0A0 802404B0 E46A0030 */ swc1 $f10, 0x30($v1) +.L802404B4: +/* 9EE0A4 802404B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 9EE0A8 802404B8 8FB20018 */ lw $s2, 0x18($sp) +/* 9EE0AC 802404BC 8FB10014 */ lw $s1, 0x14($sp) +/* 9EE0B0 802404C0 8FB00010 */ lw $s0, 0x10($sp) +/* 9EE0B4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 9EE0B8 802404C8 03E00008 */ jr $ra +/* 9EE0BC 802404CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_802404D0_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_802404D0_9EDBF0.s new file mode 100644 index 0000000000..4893c012ca --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_802404D0_9EDBF0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0_9EE0C0 +/* 9EE0C0 802404D0 3C028024 */ lui $v0, 0x8024 +/* 9EE0C4 802404D4 244213F8 */ addiu $v0, $v0, 0x13f8 +/* 9EE0C8 802404D8 AC400000 */ sw $zero, ($v0) +/* 9EE0CC 802404DC AC400004 */ sw $zero, 4($v0) +/* 9EE0D0 802404E0 AC400008 */ sw $zero, 8($v0) +/* 9EE0D4 802404E4 AC400010 */ sw $zero, 0x10($v0) +/* 9EE0D8 802404E8 AC40000C */ sw $zero, 0xc($v0) +/* 9EE0DC 802404EC AC400014 */ sw $zero, 0x14($v0) +/* 9EE0E0 802404F0 AC400018 */ sw $zero, 0x18($v0) +/* 9EE0E4 802404F4 AC400020 */ sw $zero, 0x20($v0) +/* 9EE0E8 802404F8 AC40001C */ sw $zero, 0x1c($v0) +/* 9EE0EC 802404FC AC400040 */ sw $zero, 0x40($v0) +/* 9EE0F0 80240500 AC400044 */ sw $zero, 0x44($v0) +/* 9EE0F4 80240504 AC400034 */ sw $zero, 0x34($v0) +/* 9EE0F8 80240508 AC400030 */ sw $zero, 0x30($v0) +/* 9EE0FC 8024050C AC400038 */ sw $zero, 0x38($v0) +/* 9EE100 80240510 AC40003C */ sw $zero, 0x3c($v0) +/* 9EE104 80240514 03E00008 */ jr $ra +/* 9EE108 80240518 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_8024051C.s b/asm/nonmatchings/world/area_nok/nok_04/func_8024051C.s new file mode 100644 index 0000000000..98e6ffea68 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_8024051C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024051C +/* 9EE10C 8024051C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9EE110 80240520 AFBF0010 */ sw $ra, 0x10($sp) +/* 9EE114 80240524 8C82000C */ lw $v0, 0xc($a0) +/* 9EE118 80240528 0C0B1EAF */ jal get_variable +/* 9EE11C 8024052C 8C450000 */ lw $a1, ($v0) +/* 9EE120 80240530 8FBF0010 */ lw $ra, 0x10($sp) +/* 9EE124 80240534 3C018024 */ lui $at, 0x8024 +/* 9EE128 80240538 AC221438 */ sw $v0, 0x1438($at) +/* 9EE12C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 9EE130 80240540 03E00008 */ jr $ra +/* 9EE134 80240544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240548_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240548_9EDBF0.s new file mode 100644 index 0000000000..aca6a5907d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240548_9EDBF0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240548_9EE138 +/* 9EE138 80240548 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9EE13C 8024054C AFBF0010 */ sw $ra, 0x10($sp) +/* 9EE140 80240550 8C82000C */ lw $v0, 0xc($a0) +/* 9EE144 80240554 0C0B1EAF */ jal get_variable +/* 9EE148 80240558 8C450000 */ lw $a1, ($v0) +/* 9EE14C 8024055C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9EE150 80240560 3C018024 */ lui $at, 0x8024 +/* 9EE154 80240564 AC22143C */ sw $v0, 0x143c($at) +/* 9EE158 80240568 24020002 */ addiu $v0, $zero, 2 +/* 9EE15C 8024056C 03E00008 */ jr $ra +/* 9EE160 80240570 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240574_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240574_9EDBF0.s new file mode 100644 index 0000000000..5e0d0e6d72 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240574_9EDBF0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240574_9EE164 +/* 9EE164 80240574 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9EE168 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* 9EE16C 8024057C 0080902D */ daddu $s2, $a0, $zero +/* 9EE170 80240580 AFBF0020 */ sw $ra, 0x20($sp) +/* 9EE174 80240584 AFB3001C */ sw $s3, 0x1c($sp) +/* 9EE178 80240588 AFB10014 */ sw $s1, 0x14($sp) +/* 9EE17C 8024058C AFB00010 */ sw $s0, 0x10($sp) +/* 9EE180 80240590 8E50000C */ lw $s0, 0xc($s2) +/* 9EE184 80240594 8E050000 */ lw $a1, ($s0) +/* 9EE188 80240598 0C0B1EAF */ jal get_variable +/* 9EE18C 8024059C 26100004 */ addiu $s0, $s0, 4 +/* 9EE190 802405A0 8E050000 */ lw $a1, ($s0) +/* 9EE194 802405A4 26100004 */ addiu $s0, $s0, 4 +/* 9EE198 802405A8 00028840 */ sll $s1, $v0, 1 +/* 9EE19C 802405AC 02228821 */ addu $s1, $s1, $v0 +/* 9EE1A0 802405B0 00111080 */ sll $v0, $s1, 2 +/* 9EE1A4 802405B4 3C068024 */ lui $a2, 0x8024 +/* 9EE1A8 802405B8 00C23021 */ addu $a2, $a2, $v0 +/* 9EE1AC 802405BC 8CC61440 */ lw $a2, 0x1440($a2) +/* 9EE1B0 802405C0 8E130000 */ lw $s3, ($s0) +/* 9EE1B4 802405C4 8E100004 */ lw $s0, 4($s0) +/* 9EE1B8 802405C8 0C0B2026 */ jal set_variable +/* 9EE1BC 802405CC 0240202D */ daddu $a0, $s2, $zero +/* 9EE1C0 802405D0 0240202D */ daddu $a0, $s2, $zero +/* 9EE1C4 802405D4 26220001 */ addiu $v0, $s1, 1 +/* 9EE1C8 802405D8 00021080 */ sll $v0, $v0, 2 +/* 9EE1CC 802405DC 3C068024 */ lui $a2, 0x8024 +/* 9EE1D0 802405E0 00C23021 */ addu $a2, $a2, $v0 +/* 9EE1D4 802405E4 8CC61440 */ lw $a2, 0x1440($a2) +/* 9EE1D8 802405E8 0C0B2026 */ jal set_variable +/* 9EE1DC 802405EC 0260282D */ daddu $a1, $s3, $zero +/* 9EE1E0 802405F0 0240202D */ daddu $a0, $s2, $zero +/* 9EE1E4 802405F4 26310002 */ addiu $s1, $s1, 2 +/* 9EE1E8 802405F8 00118880 */ sll $s1, $s1, 2 +/* 9EE1EC 802405FC 3C068024 */ lui $a2, 0x8024 +/* 9EE1F0 80240600 00D13021 */ addu $a2, $a2, $s1 +/* 9EE1F4 80240604 8CC61440 */ lw $a2, 0x1440($a2) +/* 9EE1F8 80240608 0C0B2026 */ jal set_variable +/* 9EE1FC 8024060C 0200282D */ daddu $a1, $s0, $zero +/* 9EE200 80240610 8FBF0020 */ lw $ra, 0x20($sp) +/* 9EE204 80240614 8FB3001C */ lw $s3, 0x1c($sp) +/* 9EE208 80240618 8FB20018 */ lw $s2, 0x18($sp) +/* 9EE20C 8024061C 8FB10014 */ lw $s1, 0x14($sp) +/* 9EE210 80240620 8FB00010 */ lw $s0, 0x10($sp) +/* 9EE214 80240624 24020002 */ addiu $v0, $zero, 2 +/* 9EE218 80240628 03E00008 */ jr $ra +/* 9EE21C 8024062C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240630_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240630_9EDBF0.s new file mode 100644 index 0000000000..47fc720da9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240630_9EDBF0.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240630_9EE220 +/* 9EE220 80240630 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9EE224 80240634 AFB10014 */ sw $s1, 0x14($sp) +/* 9EE228 80240638 0080882D */ daddu $s1, $a0, $zero +/* 9EE22C 8024063C AFBF0018 */ sw $ra, 0x18($sp) +/* 9EE230 80240640 AFB00010 */ sw $s0, 0x10($sp) +/* 9EE234 80240644 8E30000C */ lw $s0, 0xc($s1) +/* 9EE238 80240648 8E050000 */ lw $a1, ($s0) +/* 9EE23C 8024064C 0C0B1EAF */ jal get_variable +/* 9EE240 80240650 26100004 */ addiu $s0, $s0, 4 +/* 9EE244 80240654 0040382D */ daddu $a3, $v0, $zero +/* 9EE248 80240658 3C022AAA */ lui $v0, 0x2aaa +/* 9EE24C 8024065C 3442AAAB */ ori $v0, $v0, 0xaaab +/* 9EE250 80240660 00E20018 */ mult $a3, $v0 +/* 9EE254 80240664 00071FC3 */ sra $v1, $a3, 0x1f +/* 9EE258 80240668 8E050000 */ lw $a1, ($s0) +/* 9EE25C 8024066C 00004010 */ mfhi $t0 +/* 9EE260 80240670 01031823 */ subu $v1, $t0, $v1 +/* 9EE264 80240674 00031040 */ sll $v0, $v1, 1 +/* 9EE268 80240678 00431021 */ addu $v0, $v0, $v1 +/* 9EE26C 8024067C 00021040 */ sll $v0, $v0, 1 +/* 9EE270 80240680 00E23023 */ subu $a2, $a3, $v0 +/* 9EE274 80240684 28C20004 */ slti $v0, $a2, 4 +/* 9EE278 80240688 10400003 */ beqz $v0, .L80240698 +/* 9EE27C 8024068C 00C0382D */ daddu $a3, $a2, $zero +/* 9EE280 80240690 080901A9 */ j .L802406A4 +/* 9EE284 80240694 0220202D */ daddu $a0, $s1, $zero +.L80240698: +/* 9EE288 80240698 0220202D */ daddu $a0, $s1, $zero +/* 9EE28C 8024069C 24060006 */ addiu $a2, $zero, 6 +/* 9EE290 802406A0 00C73023 */ subu $a2, $a2, $a3 +.L802406A4: +/* 9EE294 802406A4 0C0B2026 */ jal set_variable +/* 9EE298 802406A8 00000000 */ nop +/* 9EE29C 802406AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9EE2A0 802406B0 8FB10014 */ lw $s1, 0x14($sp) +/* 9EE2A4 802406B4 8FB00010 */ lw $s0, 0x10($sp) +/* 9EE2A8 802406B8 24020002 */ addiu $v0, $zero, 2 +/* 9EE2AC 802406BC 03E00008 */ jr $ra +/* 9EE2B0 802406C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_802406C4_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_802406C4_9EDBF0.s new file mode 100644 index 0000000000..b401be4b99 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_802406C4_9EDBF0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4_9EE2B4 +/* 9EE2B4 802406C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9EE2B8 802406C8 AFB3001C */ sw $s3, 0x1c($sp) +/* 9EE2BC 802406CC 0080982D */ daddu $s3, $a0, $zero +/* 9EE2C0 802406D0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9EE2C4 802406D4 AFB20018 */ sw $s2, 0x18($sp) +/* 9EE2C8 802406D8 AFB10014 */ sw $s1, 0x14($sp) +/* 9EE2CC 802406DC AFB00010 */ sw $s0, 0x10($sp) +/* 9EE2D0 802406E0 8E70000C */ lw $s0, 0xc($s3) +/* 9EE2D4 802406E4 8E050000 */ lw $a1, ($s0) +/* 9EE2D8 802406E8 0C0B1EAF */ jal get_variable +/* 9EE2DC 802406EC 26100004 */ addiu $s0, $s0, 4 +/* 9EE2E0 802406F0 0040882D */ daddu $s1, $v0, $zero +/* 9EE2E4 802406F4 8E050000 */ lw $a1, ($s0) +/* 9EE2E8 802406F8 0C0B1EAF */ jal get_variable +/* 9EE2EC 802406FC 0260202D */ daddu $a0, $s3, $zero +/* 9EE2F0 80240700 3C032AAA */ lui $v1, 0x2aaa +/* 9EE2F4 80240704 3463AAAB */ ori $v1, $v1, 0xaaab +/* 9EE2F8 80240708 02230018 */ mult $s1, $v1 +/* 9EE2FC 8024070C 001127C3 */ sra $a0, $s1, 0x1f +/* 9EE300 80240710 0040902D */ daddu $s2, $v0, $zero +/* 9EE304 80240714 00003810 */ mfhi $a3 +/* 9EE308 80240718 00E42023 */ subu $a0, $a3, $a0 +/* 9EE30C 8024071C 00041840 */ sll $v1, $a0, 1 +/* 9EE310 80240720 00641821 */ addu $v1, $v1, $a0 +/* 9EE314 80240724 00031840 */ sll $v1, $v1, 1 +/* 9EE318 80240728 02238823 */ subu $s1, $s1, $v1 +/* 9EE31C 8024072C 2A220004 */ slti $v0, $s1, 4 +/* 9EE320 80240730 14400004 */ bnez $v0, .L80240744 +/* 9EE324 80240734 26220006 */ addiu $v0, $s1, 6 +/* 9EE328 80240738 24020006 */ addiu $v0, $zero, 6 +/* 9EE32C 8024073C 00518823 */ subu $s1, $v0, $s1 +/* 9EE330 80240740 26220006 */ addiu $v0, $s1, 6 +.L80240744: +/* 9EE334 80240744 00021080 */ sll $v0, $v0, 2 +/* 9EE338 80240748 02628021 */ addu $s0, $s3, $v0 +/* 9EE33C 8024074C 0C0B1059 */ jal does_script_exist +/* 9EE340 80240750 8E040084 */ lw $a0, 0x84($s0) +/* 9EE344 80240754 10400003 */ beqz $v0, .L80240764 +/* 9EE348 80240758 00000000 */ nop +/* 9EE34C 8024075C 0C0B102B */ jal kill_script_by_ID +/* 9EE350 80240760 8E040084 */ lw $a0, 0x84($s0) +.L80240764: +/* 9EE354 80240764 3C048024 */ lui $a0, 0x8024 +/* 9EE358 80240768 24841470 */ addiu $a0, $a0, 0x1470 +/* 9EE35C 8024076C 12400005 */ beqz $s2, .L80240784 +/* 9EE360 80240770 24020001 */ addiu $v0, $zero, 1 +/* 9EE364 80240774 16420004 */ bne $s2, $v0, .L80240788 +/* 9EE368 80240778 24050001 */ addiu $a1, $zero, 1 +/* 9EE36C 8024077C 3C048024 */ lui $a0, 0x8024 +/* 9EE370 80240780 2484161C */ addiu $a0, $a0, 0x161c +.L80240784: +/* 9EE374 80240784 24050001 */ addiu $a1, $zero, 1 +.L80240788: +/* 9EE378 80240788 0C0B0CF8 */ jal start_script +/* 9EE37C 8024078C 0000302D */ daddu $a2, $zero, $zero +/* 9EE380 80240790 0040202D */ daddu $a0, $v0, $zero +/* 9EE384 80240794 26220006 */ addiu $v0, $s1, 6 +/* 9EE388 80240798 00021080 */ sll $v0, $v0, 2 +/* 9EE38C 8024079C 8C830144 */ lw $v1, 0x144($a0) +/* 9EE390 802407A0 02621021 */ addu $v0, $s3, $v0 +/* 9EE394 802407A4 AC430084 */ sw $v1, 0x84($v0) +/* 9EE398 802407A8 24020001 */ addiu $v0, $zero, 1 +/* 9EE39C 802407AC 1222000D */ beq $s1, $v0, .L802407E4 +/* 9EE3A0 802407B0 2A220002 */ slti $v0, $s1, 2 +/* 9EE3A4 802407B4 10400005 */ beqz $v0, .L802407CC +/* 9EE3A8 802407B8 24020002 */ addiu $v0, $zero, 2 +/* 9EE3AC 802407BC 1220000C */ beqz $s1, .L802407F0 +/* 9EE3B0 802407C0 2402004C */ addiu $v0, $zero, 0x4c +/* 9EE3B4 802407C4 080901FD */ j .L802407F4 +/* 9EE3B8 802407C8 00000000 */ nop +.L802407CC: +/* 9EE3BC 802407CC 12220007 */ beq $s1, $v0, .L802407EC +/* 9EE3C0 802407D0 24020003 */ addiu $v0, $zero, 3 +/* 9EE3C4 802407D4 12220006 */ beq $s1, $v0, .L802407F0 +/* 9EE3C8 802407D8 2402004F */ addiu $v0, $zero, 0x4f +/* 9EE3CC 802407DC 080901FD */ j .L802407F4 +/* 9EE3D0 802407E0 00000000 */ nop +.L802407E4: +/* 9EE3D4 802407E4 080901FC */ j .L802407F0 +/* 9EE3D8 802407E8 2402004D */ addiu $v0, $zero, 0x4d +.L802407EC: +/* 9EE3DC 802407EC 2402004E */ addiu $v0, $zero, 0x4e +.L802407F0: +/* 9EE3E0 802407F0 AC820084 */ sw $v0, 0x84($a0) +.L802407F4: +/* 9EE3E4 802407F4 8FBF0020 */ lw $ra, 0x20($sp) +/* 9EE3E8 802407F8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9EE3EC 802407FC 8FB20018 */ lw $s2, 0x18($sp) +/* 9EE3F0 80240800 8FB10014 */ lw $s1, 0x14($sp) +/* 9EE3F4 80240804 8FB00010 */ lw $s0, 0x10($sp) +/* 9EE3F8 80240808 24020002 */ addiu $v0, $zero, 2 +/* 9EE3FC 8024080C 03E00008 */ jr $ra +/* 9EE400 80240810 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240814_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240814_9EDBF0.s new file mode 100644 index 0000000000..82822b9d46 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240814_9EDBF0.s @@ -0,0 +1,409 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240814_9EE404 +/* 9EE404 80240814 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 9EE408 80240818 3C028024 */ lui $v0, 0x8024 +/* 9EE40C 8024081C 244213F8 */ addiu $v0, $v0, 0x13f8 +/* 9EE410 80240820 AFBF0048 */ sw $ra, 0x48($sp) +/* 9EE414 80240824 AFB70044 */ sw $s7, 0x44($sp) +/* 9EE418 80240828 AFB60040 */ sw $s6, 0x40($sp) +/* 9EE41C 8024082C AFB5003C */ sw $s5, 0x3c($sp) +/* 9EE420 80240830 AFB40038 */ sw $s4, 0x38($sp) +/* 9EE424 80240834 AFB30034 */ sw $s3, 0x34($sp) +/* 9EE428 80240838 AFB20030 */ sw $s2, 0x30($sp) +/* 9EE42C 8024083C AFB1002C */ sw $s1, 0x2c($sp) +/* 9EE430 80240840 AFB00028 */ sw $s0, 0x28($sp) +/* 9EE434 80240844 F7BE0078 */ sdc1 $f30, 0x78($sp) +/* 9EE438 80240848 F7BC0070 */ sdc1 $f28, 0x70($sp) +/* 9EE43C 8024084C F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 9EE440 80240850 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 9EE444 80240854 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 9EE448 80240858 F7B40050 */ sdc1 $f20, 0x50($sp) +/* 9EE44C 8024085C C44E0000 */ lwc1 $f14, ($v0) +/* 9EE450 80240860 3C018024 */ lui $at, 0x8024 +/* 9EE454 80240864 D4226E20 */ ldc1 $f2, 0x6e20($at) +/* 9EE458 80240868 44805000 */ mtc1 $zero, $f10 +/* 9EE45C 8024086C E7AE0020 */ swc1 $f14, 0x20($sp) +/* 9EE460 80240870 C4400014 */ lwc1 $f0, 0x14($v0) +/* 9EE464 80240874 C4480030 */ lwc1 $f8, 0x30($v0) +/* 9EE468 80240878 46000021 */ cvt.d.s $f0, $f0 +/* 9EE46C 8024087C 46220000 */ add.d $f0, $f0, $f2 +/* 9EE470 80240880 C45E0004 */ lwc1 $f30, 4($v0) +/* 9EE474 80240884 C44E0008 */ lwc1 $f14, 8($v0) +/* 9EE478 80240888 460A4032 */ c.eq.s $f8, $f10 +/* 9EE47C 8024088C 46200120 */ cvt.s.d $f4, $f0 +/* 9EE480 80240890 E4440014 */ swc1 $f4, 0x14($v0) +/* 9EE484 80240894 4501002D */ bc1t .L8024094C +/* 9EE488 80240898 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 9EE48C 8024089C C4420010 */ lwc1 $f2, 0x10($v0) +/* 9EE490 802408A0 C4400038 */ lwc1 $f0, 0x38($v0) +/* 9EE494 802408A4 46001080 */ add.s $f2, $f2, $f0 +/* 9EE498 802408A8 C440000C */ lwc1 $f0, 0xc($v0) +/* 9EE49C 802408AC 4602003C */ c.lt.s $f0, $f2 +/* 9EE4A0 802408B0 00000000 */ nop +/* 9EE4A4 802408B4 45000009 */ bc1f .L802408DC +/* 9EE4A8 802408B8 E4420010 */ swc1 $f2, 0x10($v0) +/* 9EE4AC 802408BC 46020001 */ sub.s $f0, $f0, $f2 +/* 9EE4B0 802408C0 3C013F00 */ lui $at, 0x3f00 +/* 9EE4B4 802408C4 44811000 */ mtc1 $at, $f2 +/* 9EE4B8 802408C8 00000000 */ nop +/* 9EE4BC 802408CC 46020002 */ mul.s $f0, $f0, $f2 +/* 9EE4C0 802408D0 00000000 */ nop +/* 9EE4C4 802408D4 46002000 */ add.s $f0, $f4, $f0 +/* 9EE4C8 802408D8 E4400014 */ swc1 $f0, 0x14($v0) +.L802408DC: +/* 9EE4CC 802408DC C4420018 */ lwc1 $f2, 0x18($v0) +/* 9EE4D0 802408E0 C4460020 */ lwc1 $f6, 0x20($v0) +/* 9EE4D4 802408E4 46061081 */ sub.s $f2, $f2, $f6 +/* 9EE4D8 802408E8 3C014120 */ lui $at, 0x4120 +/* 9EE4DC 802408EC 44812000 */ mtc1 $at, $f4 +/* 9EE4E0 802408F0 C440001C */ lwc1 $f0, 0x1c($v0) +/* 9EE4E4 802408F4 46041083 */ div.s $f2, $f2, $f4 +/* 9EE4E8 802408F8 46020000 */ add.s $f0, $f0, $f2 +/* 9EE4EC 802408FC 3C018024 */ lui $at, 0x8024 +/* 9EE4F0 80240900 D4226E28 */ ldc1 $f2, 0x6e28($at) +/* 9EE4F4 80240904 46000021 */ cvt.d.s $f0, $f0 +/* 9EE4F8 80240908 46220002 */ mul.d $f0, $f0, $f2 +/* 9EE4FC 8024090C 00000000 */ nop +/* 9EE500 80240910 C4440034 */ lwc1 $f4, 0x34($v0) +/* 9EE504 80240914 3C013F80 */ lui $at, 0x3f80 +/* 9EE508 80240918 44811000 */ mtc1 $at, $f2 +/* 9EE50C 8024091C 00000000 */ nop +/* 9EE510 80240920 46022100 */ add.s $f4, $f4, $f2 +/* 9EE514 80240924 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9EE518 80240928 46023180 */ add.s $f6, $f6, $f2 +/* 9EE51C 8024092C 4604403E */ c.le.s $f8, $f4 +/* 9EE520 80240930 E4440034 */ swc1 $f4, 0x34($v0) +/* 9EE524 80240934 E4460020 */ swc1 $f6, 0x20($v0) +/* 9EE528 80240938 46200020 */ cvt.s.d $f0, $f0 +/* 9EE52C 8024093C 45000023 */ bc1f .L802409CC +/* 9EE530 80240940 E440001C */ swc1 $f0, 0x1c($v0) +/* 9EE534 80240944 08090273 */ j .L802409CC +/* 9EE538 80240948 E44A0030 */ swc1 $f10, 0x30($v0) +.L8024094C: +/* 9EE53C 8024094C C4400010 */ lwc1 $f0, 0x10($v0) +/* 9EE540 80240950 46040000 */ add.s $f0, $f0, $f4 +/* 9EE544 80240954 C442000C */ lwc1 $f2, 0xc($v0) +/* 9EE548 80240958 4600103C */ c.lt.s $f2, $f0 +/* 9EE54C 8024095C 00000000 */ nop +/* 9EE550 80240960 45000009 */ bc1f .L80240988 +/* 9EE554 80240964 E4400010 */ swc1 $f0, 0x10($v0) +/* 9EE558 80240968 46001001 */ sub.s $f0, $f2, $f0 +/* 9EE55C 8024096C 3C013F00 */ lui $at, 0x3f00 +/* 9EE560 80240970 44811000 */ mtc1 $at, $f2 +/* 9EE564 80240974 00000000 */ nop +/* 9EE568 80240978 46020002 */ mul.s $f0, $f0, $f2 +/* 9EE56C 8024097C 00000000 */ nop +/* 9EE570 80240980 46002000 */ add.s $f0, $f4, $f0 +/* 9EE574 80240984 E4400014 */ swc1 $f0, 0x14($v0) +.L80240988: +/* 9EE578 80240988 C4420018 */ lwc1 $f2, 0x18($v0) +/* 9EE57C 8024098C C4460020 */ lwc1 $f6, 0x20($v0) +/* 9EE580 80240990 46061081 */ sub.s $f2, $f2, $f6 +/* 9EE584 80240994 3C014120 */ lui $at, 0x4120 +/* 9EE588 80240998 44812000 */ mtc1 $at, $f4 +/* 9EE58C 8024099C C440001C */ lwc1 $f0, 0x1c($v0) +/* 9EE590 802409A0 46041083 */ div.s $f2, $f2, $f4 +/* 9EE594 802409A4 46020000 */ add.s $f0, $f0, $f2 +/* 9EE598 802409A8 3C018024 */ lui $at, 0x8024 +/* 9EE59C 802409AC D4226E30 */ ldc1 $f2, 0x6e30($at) +/* 9EE5A0 802409B0 46000021 */ cvt.d.s $f0, $f0 +/* 9EE5A4 802409B4 46220002 */ mul.d $f0, $f0, $f2 +/* 9EE5A8 802409B8 00000000 */ nop +/* 9EE5AC 802409BC 46200020 */ cvt.s.d $f0, $f0 +/* 9EE5B0 802409C0 46003180 */ add.s $f6, $f6, $f0 +/* 9EE5B4 802409C4 E440001C */ swc1 $f0, 0x1c($v0) +/* 9EE5B8 802409C8 E4460020 */ swc1 $f6, 0x20($v0) +.L802409CC: +/* 9EE5BC 802409CC 3C108024 */ lui $s0, 0x8024 +/* 9EE5C0 802409D0 261013F8 */ addiu $s0, $s0, 0x13f8 +/* 9EE5C4 802409D4 3C140001 */ lui $s4, 1 +/* 9EE5C8 802409D8 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9EE5CC 802409DC 3C013FE0 */ lui $at, 0x3fe0 +/* 9EE5D0 802409E0 44811800 */ mtc1 $at, $f3 +/* 9EE5D4 802409E4 44801000 */ mtc1 $zero, $f2 +/* 9EE5D8 802409E8 46000021 */ cvt.d.s $f0, $f0 +/* 9EE5DC 802409EC 46220002 */ mul.d $f0, $f0, $f2 +/* 9EE5E0 802409F0 00000000 */ nop +/* 9EE5E4 802409F4 3C12800A */ lui $s2, 0x800a +/* 9EE5E8 802409F8 2652A66C */ addiu $s2, $s2, -0x5994 +/* 9EE5EC 802409FC 36941630 */ ori $s4, $s4, 0x1630 +/* 9EE5F0 80240A00 3C02DE00 */ lui $v0, 0xde00 +/* 9EE5F4 80240A04 3C118007 */ lui $s1, 0x8007 +/* 9EE5F8 80240A08 263141F0 */ addiu $s1, $s1, 0x41f0 +/* 9EE5FC 80240A0C 8E430000 */ lw $v1, ($s2) +/* 9EE600 80240A10 3C13800A */ lui $s3, 0x800a +/* 9EE604 80240A14 2673A674 */ addiu $s3, $s3, -0x598c +/* 9EE608 80240A18 0060202D */ daddu $a0, $v1, $zero +/* 9EE60C 80240A1C 46200020 */ cvt.s.d $f0, $f0 +/* 9EE610 80240A20 E6000014 */ swc1 $f0, 0x14($s0) +/* 9EE614 80240A24 AC820000 */ sw $v0, ($a0) +/* 9EE618 80240A28 3C028024 */ lui $v0, 0x8024 +/* 9EE61C 80240A2C 24421768 */ addiu $v0, $v0, 0x1768 +/* 9EE620 80240A30 AC820004 */ sw $v0, 4($a0) +/* 9EE624 80240A34 8E050000 */ lw $a1, ($s0) +/* 9EE628 80240A38 8E060004 */ lw $a2, 4($s0) +/* 9EE62C 80240A3C 8E070008 */ lw $a3, 8($s0) +/* 9EE630 80240A40 96240000 */ lhu $a0, ($s1) +/* 9EE634 80240A44 8E620000 */ lw $v0, ($s3) +/* 9EE638 80240A48 24630008 */ addiu $v1, $v1, 8 +/* 9EE63C 80240A4C AE430000 */ sw $v1, ($s2) +/* 9EE640 80240A50 00042180 */ sll $a0, $a0, 6 +/* 9EE644 80240A54 00942021 */ addu $a0, $a0, $s4 +/* 9EE648 80240A58 0C019E08 */ jal guTranslate +/* 9EE64C 80240A5C 00442021 */ addu $a0, $v0, $a0 +/* 9EE650 80240A60 3C02DA38 */ lui $v0, 0xda38 +/* 9EE654 80240A64 34420002 */ ori $v0, $v0, 2 +/* 9EE658 80240A68 8E440000 */ lw $a0, ($s2) +/* 9EE65C 80240A6C 96250000 */ lhu $a1, ($s1) +/* 9EE660 80240A70 4480C000 */ mtc1 $zero, $f24 +/* 9EE664 80240A74 0080302D */ daddu $a2, $a0, $zero +/* 9EE668 80240A78 ACC20000 */ sw $v0, ($a2) +/* 9EE66C 80240A7C 30A2FFFF */ andi $v0, $a1, 0xffff +/* 9EE670 80240A80 00021180 */ sll $v0, $v0, 6 +/* 9EE674 80240A84 8E630000 */ lw $v1, ($s3) +/* 9EE678 80240A88 00541021 */ addu $v0, $v0, $s4 +/* 9EE67C 80240A8C 00621821 */ addu $v1, $v1, $v0 +/* 9EE680 80240A90 ACC30004 */ sw $v1, 4($a2) +/* 9EE684 80240A94 C61C0020 */ lwc1 $f28, 0x20($s0) +/* 9EE688 80240A98 4618E302 */ mul.s $f12, $f28, $f24 +/* 9EE68C 80240A9C 00000000 */ nop +/* 9EE690 80240AA0 3C014334 */ lui $at, 0x4334 +/* 9EE694 80240AA4 4481A000 */ mtc1 $at, $f20 +/* 9EE698 80240AA8 3C014049 */ lui $at, 0x4049 +/* 9EE69C 80240AAC 34210FD8 */ ori $at, $at, 0xfd8 +/* 9EE6A0 80240AB0 4481B000 */ mtc1 $at, $f22 +/* 9EE6A4 80240AB4 24840008 */ addiu $a0, $a0, 8 +/* 9EE6A8 80240AB8 46146303 */ div.s $f12, $f12, $f20 +/* 9EE6AC 80240ABC 46166302 */ mul.s $f12, $f12, $f22 +/* 9EE6B0 80240AC0 00000000 */ nop +/* 9EE6B4 80240AC4 24A50001 */ addiu $a1, $a1, 1 +/* 9EE6B8 80240AC8 AE440000 */ sw $a0, ($s2) +/* 9EE6BC 80240ACC A6250000 */ sh $a1, ($s1) +/* 9EE6C0 80240AD0 C61A0010 */ lwc1 $f26, 0x10($s0) +/* 9EE6C4 80240AD4 0C00A85B */ jal sin_rad +/* 9EE6C8 80240AD8 24150001 */ addiu $s5, $zero, 1 +/* 9EE6CC 80240ADC C60C0020 */ lwc1 $f12, 0x20($s0) +/* 9EE6D0 80240AE0 46186302 */ mul.s $f12, $f12, $f24 +/* 9EE6D4 80240AE4 00000000 */ nop +/* 9EE6D8 80240AE8 4600D002 */ mul.s $f0, $f26, $f0 +/* 9EE6DC 80240AEC 00000000 */ nop +/* 9EE6E0 80240AF0 46146303 */ div.s $f12, $f12, $f20 +/* 9EE6E4 80240AF4 46166302 */ mul.s $f12, $f12, $f22 +/* 9EE6E8 80240AF8 00000000 */ nop +/* 9EE6EC 80240AFC 0200B02D */ daddu $s6, $s0, $zero +/* 9EE6F0 80240B00 C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 9EE6F4 80240B04 3C178024 */ lui $s7, 0x8024 +/* 9EE6F8 80240B08 26F71748 */ addiu $s7, $s7, 0x1748 +/* 9EE6FC 80240B0C 46007380 */ add.s $f14, $f14, $f0 +/* 9EE700 80240B10 3C100001 */ lui $s0, 1 +/* 9EE704 80240B14 36101630 */ ori $s0, $s0, 0x1630 +/* 9EE708 80240B18 0C00A874 */ jal cos_rad +/* 9EE70C 80240B1C E7AE0020 */ swc1 $f14, 0x20($sp) +/* 9EE710 80240B20 4600D587 */ neg.s $f22, $f26 +/* 9EE714 80240B24 4405C000 */ mfc1 $a1, $f24 +/* 9EE718 80240B28 4406C000 */ mfc1 $a2, $f24 +/* 9EE71C 80240B2C 4407E000 */ mfc1 $a3, $f28 +/* 9EE720 80240B30 96240000 */ lhu $a0, ($s1) +/* 9EE724 80240B34 4600B002 */ mul.s $f0, $f22, $f0 +/* 9EE728 80240B38 00000000 */ nop +/* 9EE72C 80240B3C E7B80014 */ swc1 $f24, 0x14($sp) +/* 9EE730 80240B40 E7B60018 */ swc1 $f22, 0x18($sp) +/* 9EE734 80240B44 E7B8001C */ swc1 $f24, 0x1c($sp) +/* 9EE738 80240B48 8E620000 */ lw $v0, ($s3) +/* 9EE73C 80240B4C 3C013F80 */ lui $at, 0x3f80 +/* 9EE740 80240B50 44811000 */ mtc1 $at, $f2 +/* 9EE744 80240B54 00042180 */ sll $a0, $a0, 6 +/* 9EE748 80240B58 00942021 */ addu $a0, $a0, $s4 +/* 9EE74C 80240B5C 00442021 */ addu $a0, $v0, $a0 +/* 9EE750 80240B60 E7A20010 */ swc1 $f2, 0x10($sp) +/* 9EE754 80240B64 0C01903A */ jal guPosition +/* 9EE758 80240B68 4600F780 */ add.s $f30, $f30, $f0 +/* 9EE75C 80240B6C 3C04DA38 */ lui $a0, 0xda38 +/* 9EE760 80240B70 00952025 */ or $a0, $a0, $s5 +/* 9EE764 80240B74 8E430000 */ lw $v1, ($s2) +/* 9EE768 80240B78 96220000 */ lhu $v0, ($s1) +/* 9EE76C 80240B7C 0060282D */ daddu $a1, $v1, $zero +/* 9EE770 80240B80 24630008 */ addiu $v1, $v1, 8 +/* 9EE774 80240B84 AE430000 */ sw $v1, ($s2) +/* 9EE778 80240B88 00551821 */ addu $v1, $v0, $s5 +/* 9EE77C 80240B8C 3042FFFF */ andi $v0, $v0, 0xffff +/* 9EE780 80240B90 00021180 */ sll $v0, $v0, 6 +/* 9EE784 80240B94 ACA40000 */ sw $a0, ($a1) +/* 9EE788 80240B98 A6230000 */ sh $v1, ($s1) +/* 9EE78C 80240B9C 8E630000 */ lw $v1, ($s3) +/* 9EE790 80240BA0 00541021 */ addu $v0, $v0, $s4 +/* 9EE794 80240BA4 00621821 */ addu $v1, $v1, $v0 +/* 9EE798 80240BA8 ACA30004 */ sw $v1, 4($a1) +.L80240BAC: +/* 9EE79C 80240BAC C6DC0020 */ lwc1 $f28, 0x20($s6) +/* 9EE7A0 80240BB0 4495A000 */ mtc1 $s5, $f20 +/* 9EE7A4 80240BB4 00000000 */ nop +/* 9EE7A8 80240BB8 4680A520 */ cvt.s.w $f20, $f20 +/* 9EE7AC 80240BBC 4614E302 */ mul.s $f12, $f28, $f20 +/* 9EE7B0 80240BC0 00000000 */ nop +/* 9EE7B4 80240BC4 3C014334 */ lui $at, 0x4334 +/* 9EE7B8 80240BC8 44817000 */ mtc1 $at, $f14 +/* 9EE7BC 80240BCC 00000000 */ nop +/* 9EE7C0 80240BD0 460E6303 */ div.s $f12, $f12, $f14 +/* 9EE7C4 80240BD4 3C014049 */ lui $at, 0x4049 +/* 9EE7C8 80240BD8 34210FD8 */ ori $at, $at, 0xfd8 +/* 9EE7CC 80240BDC 44817000 */ mtc1 $at, $f14 +/* 9EE7D0 80240BE0 00000000 */ nop +/* 9EE7D4 80240BE4 460E6302 */ mul.s $f12, $f12, $f14 +/* 9EE7D8 80240BE8 00000000 */ nop +/* 9EE7DC 80240BEC C6D60010 */ lwc1 $f22, 0x10($s6) +/* 9EE7E0 80240BF0 0C00A85B */ jal sin_rad +/* 9EE7E4 80240BF4 26B50001 */ addiu $s5, $s5, 1 +/* 9EE7E8 80240BF8 C6CC0020 */ lwc1 $f12, 0x20($s6) +/* 9EE7EC 80240BFC 46146302 */ mul.s $f12, $f12, $f20 +/* 9EE7F0 80240C00 00000000 */ nop +/* 9EE7F4 80240C04 4600B002 */ mul.s $f0, $f22, $f0 +/* 9EE7F8 80240C08 00000000 */ nop +/* 9EE7FC 80240C0C 3C014334 */ lui $at, 0x4334 +/* 9EE800 80240C10 44817000 */ mtc1 $at, $f14 +/* 9EE804 80240C14 00000000 */ nop +/* 9EE808 80240C18 460E6303 */ div.s $f12, $f12, $f14 +/* 9EE80C 80240C1C 3C014049 */ lui $at, 0x4049 +/* 9EE810 80240C20 34210FD8 */ ori $at, $at, 0xfd8 +/* 9EE814 80240C24 44817000 */ mtc1 $at, $f14 +/* 9EE818 80240C28 00000000 */ nop +/* 9EE81C 80240C2C 460E6302 */ mul.s $f12, $f12, $f14 +/* 9EE820 80240C30 00000000 */ nop +/* 9EE824 80240C34 C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 9EE828 80240C38 46007380 */ add.s $f14, $f14, $f0 +/* 9EE82C 80240C3C 4600B587 */ neg.s $f22, $f22 +/* 9EE830 80240C40 0C00A874 */ jal cos_rad +/* 9EE834 80240C44 E7AE0020 */ swc1 $f14, 0x20($sp) +/* 9EE838 80240C48 3C090100 */ lui $t1, 0x100 +/* 9EE83C 80240C4C 35292004 */ ori $t1, $t1, 0x2004 +/* 9EE840 80240C50 4600B002 */ mul.s $f0, $f22, $f0 +/* 9EE844 80240C54 00000000 */ nop +/* 9EE848 80240C58 8E430000 */ lw $v1, ($s2) +/* 9EE84C 80240C5C 4405C000 */ mfc1 $a1, $f24 +/* 9EE850 80240C60 4406C000 */ mfc1 $a2, $f24 +/* 9EE854 80240C64 4407E000 */ mfc1 $a3, $f28 +/* 9EE858 80240C68 96240000 */ lhu $a0, ($s1) +/* 9EE85C 80240C6C 8E620000 */ lw $v0, ($s3) +/* 9EE860 80240C70 3C013F80 */ lui $at, 0x3f80 +/* 9EE864 80240C74 44811000 */ mtc1 $at, $f2 +/* 9EE868 80240C78 0060402D */ daddu $t0, $v1, $zero +/* 9EE86C 80240C7C 24630008 */ addiu $v1, $v1, 8 +/* 9EE870 80240C80 00042180 */ sll $a0, $a0, 6 +/* 9EE874 80240C84 00902021 */ addu $a0, $a0, $s0 +/* 9EE878 80240C88 00442021 */ addu $a0, $v0, $a0 +/* 9EE87C 80240C8C AE430000 */ sw $v1, ($s2) +/* 9EE880 80240C90 AD090000 */ sw $t1, ($t0) +/* 9EE884 80240C94 AD170004 */ sw $s7, 4($t0) +/* 9EE888 80240C98 E7A20010 */ swc1 $f2, 0x10($sp) +/* 9EE88C 80240C9C E7B80014 */ swc1 $f24, 0x14($sp) +/* 9EE890 80240CA0 E7B60018 */ swc1 $f22, 0x18($sp) +/* 9EE894 80240CA4 E7B8001C */ swc1 $f24, 0x1c($sp) +/* 9EE898 80240CA8 0C01903A */ jal guPosition +/* 9EE89C 80240CAC 4600F780 */ add.s $f30, $f30, $f0 +/* 9EE8A0 80240CB0 3C02DA38 */ lui $v0, 0xda38 +/* 9EE8A4 80240CB4 34420001 */ ori $v0, $v0, 1 +/* 9EE8A8 80240CB8 3C060100 */ lui $a2, 0x100 +/* 9EE8AC 80240CBC 34C62008 */ ori $a2, $a2, 0x2008 +/* 9EE8B0 80240CC0 3C080600 */ lui $t0, 0x600 +/* 9EE8B4 80240CC4 35080402 */ ori $t0, $t0, 0x402 +/* 9EE8B8 80240CC8 3C070004 */ lui $a3, 4 +/* 9EE8BC 80240CCC 34E70602 */ ori $a3, $a3, 0x602 +/* 9EE8C0 80240CD0 8E440000 */ lw $a0, ($s2) +/* 9EE8C4 80240CD4 96230000 */ lhu $v1, ($s1) +/* 9EE8C8 80240CD8 0080282D */ daddu $a1, $a0, $zero +/* 9EE8CC 80240CDC 24840008 */ addiu $a0, $a0, 8 +/* 9EE8D0 80240CE0 AE440000 */ sw $a0, ($s2) +/* 9EE8D4 80240CE4 ACA20000 */ sw $v0, ($a1) +/* 9EE8D8 80240CE8 24620001 */ addiu $v0, $v1, 1 +/* 9EE8DC 80240CEC 3063FFFF */ andi $v1, $v1, 0xffff +/* 9EE8E0 80240CF0 00031980 */ sll $v1, $v1, 6 +/* 9EE8E4 80240CF4 A6220000 */ sh $v0, ($s1) +/* 9EE8E8 80240CF8 8E620000 */ lw $v0, ($s3) +/* 9EE8EC 80240CFC 00701821 */ addu $v1, $v1, $s0 +/* 9EE8F0 80240D00 00431021 */ addu $v0, $v0, $v1 +/* 9EE8F4 80240D04 ACA20004 */ sw $v0, 4($a1) +/* 9EE8F8 80240D08 24820008 */ addiu $v0, $a0, 8 +/* 9EE8FC 80240D0C AE420000 */ sw $v0, ($s2) +/* 9EE900 80240D10 24820010 */ addiu $v0, $a0, 0x10 +/* 9EE904 80240D14 AC860000 */ sw $a2, ($a0) +/* 9EE908 80240D18 AC970004 */ sw $s7, 4($a0) +/* 9EE90C 80240D1C AE420000 */ sw $v0, ($s2) +/* 9EE910 80240D20 2AA20010 */ slti $v0, $s5, 0x10 +/* 9EE914 80240D24 AC880008 */ sw $t0, 8($a0) +/* 9EE918 80240D28 1440FFA0 */ bnez $v0, .L80240BAC +/* 9EE91C 80240D2C AC87000C */ sw $a3, 0xc($a0) +/* 9EE920 80240D30 3C03D838 */ lui $v1, 0xd838 +/* 9EE924 80240D34 3C05800A */ lui $a1, 0x800a +/* 9EE928 80240D38 24A5A66C */ addiu $a1, $a1, -0x5994 +/* 9EE92C 80240D3C 8CA20000 */ lw $v0, ($a1) +/* 9EE930 80240D40 34630002 */ ori $v1, $v1, 2 +/* 9EE934 80240D44 0040202D */ daddu $a0, $v0, $zero +/* 9EE938 80240D48 24420008 */ addiu $v0, $v0, 8 +/* 9EE93C 80240D4C ACA20000 */ sw $v0, ($a1) +/* 9EE940 80240D50 AC830000 */ sw $v1, ($a0) +/* 9EE944 80240D54 24030040 */ addiu $v1, $zero, 0x40 +/* 9EE948 80240D58 AC830004 */ sw $v1, 4($a0) +/* 9EE94C 80240D5C 3C03E700 */ lui $v1, 0xe700 +/* 9EE950 80240D60 AC430000 */ sw $v1, ($v0) +/* 9EE954 80240D64 3C038024 */ lui $v1, 0x8024 +/* 9EE958 80240D68 246313F8 */ addiu $v1, $v1, 0x13f8 +/* 9EE95C 80240D6C AC400004 */ sw $zero, 4($v0) +/* 9EE960 80240D70 8C640040 */ lw $a0, 0x40($v1) +/* 9EE964 80240D74 24420008 */ addiu $v0, $v0, 8 +/* 9EE968 80240D78 ACA20000 */ sw $v0, ($a1) +/* 9EE96C 80240D7C C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 9EE970 80240D80 E47E0028 */ swc1 $f30, 0x28($v1) +/* 9EE974 80240D84 E46E0024 */ swc1 $f14, 0x24($v1) +/* 9EE978 80240D88 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 9EE97C 80240D8C 1080000E */ beqz $a0, .L80240DC8 +/* 9EE980 80240D90 E46E002C */ swc1 $f14, 0x2c($v1) +/* 9EE984 80240D94 3C014080 */ lui $at, 0x4080 +/* 9EE988 80240D98 44811000 */ mtc1 $at, $f2 +/* 9EE98C 80240D9C C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 9EE990 80240DA0 3C0140C0 */ lui $at, 0x40c0 +/* 9EE994 80240DA4 44810000 */ mtc1 $at, $f0 +/* 9EE998 80240DA8 4602F081 */ sub.s $f2, $f30, $f2 +/* 9EE99C 80240DAC E48E0038 */ swc1 $f14, 0x38($a0) +/* 9EE9A0 80240DB0 8C620040 */ lw $v0, 0x40($v1) +/* 9EE9A4 80240DB4 E442003C */ swc1 $f2, 0x3c($v0) +/* 9EE9A8 80240DB8 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 9EE9AC 80240DBC 46007000 */ add.s $f0, $f14, $f0 +/* 9EE9B0 80240DC0 8C620040 */ lw $v0, 0x40($v1) +/* 9EE9B4 80240DC4 E4400040 */ swc1 $f0, 0x40($v0) +.L80240DC8: +/* 9EE9B8 80240DC8 8C620044 */ lw $v0, 0x44($v1) +/* 9EE9BC 80240DCC 1040000E */ beqz $v0, .L80240E08 +/* 9EE9C0 80240DD0 00000000 */ nop +/* 9EE9C4 80240DD4 3C014080 */ lui $at, 0x4080 +/* 9EE9C8 80240DD8 44811000 */ mtc1 $at, $f2 +/* 9EE9CC 80240DDC C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 9EE9D0 80240DE0 3C014040 */ lui $at, 0x4040 +/* 9EE9D4 80240DE4 44810000 */ mtc1 $at, $f0 +/* 9EE9D8 80240DE8 4602F081 */ sub.s $f2, $f30, $f2 +/* 9EE9DC 80240DEC E44E0038 */ swc1 $f14, 0x38($v0) +/* 9EE9E0 80240DF0 8C620044 */ lw $v0, 0x44($v1) +/* 9EE9E4 80240DF4 E442003C */ swc1 $f2, 0x3c($v0) +/* 9EE9E8 80240DF8 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 9EE9EC 80240DFC 46007000 */ add.s $f0, $f14, $f0 +/* 9EE9F0 80240E00 8C620044 */ lw $v0, 0x44($v1) +/* 9EE9F4 80240E04 E4400040 */ swc1 $f0, 0x40($v0) +.L80240E08: +/* 9EE9F8 80240E08 8FBF0048 */ lw $ra, 0x48($sp) +/* 9EE9FC 80240E0C 8FB70044 */ lw $s7, 0x44($sp) +/* 9EEA00 80240E10 8FB60040 */ lw $s6, 0x40($sp) +/* 9EEA04 80240E14 8FB5003C */ lw $s5, 0x3c($sp) +/* 9EEA08 80240E18 8FB40038 */ lw $s4, 0x38($sp) +/* 9EEA0C 80240E1C 8FB30034 */ lw $s3, 0x34($sp) +/* 9EEA10 80240E20 8FB20030 */ lw $s2, 0x30($sp) +/* 9EEA14 80240E24 8FB1002C */ lw $s1, 0x2c($sp) +/* 9EEA18 80240E28 8FB00028 */ lw $s0, 0x28($sp) +/* 9EEA1C 80240E2C D7BE0078 */ ldc1 $f30, 0x78($sp) +/* 9EEA20 80240E30 D7BC0070 */ ldc1 $f28, 0x70($sp) +/* 9EEA24 80240E34 D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 9EEA28 80240E38 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 9EEA2C 80240E3C D7B60058 */ ldc1 $f22, 0x58($sp) +/* 9EEA30 80240E40 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 9EEA34 80240E44 03E00008 */ jr $ra +/* 9EEA38 80240E48 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240E4C.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240E4C.s new file mode 100644 index 0000000000..a58c46c12c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240E4C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E4C +/* 9EEA3C 80240E4C 10A00003 */ beqz $a1, .L80240E5C +/* 9EEA40 80240E50 00000000 */ nop +/* 9EEA44 80240E54 3C018024 */ lui $at, 0x8024 +/* 9EEA48 80240E58 AC203254 */ sw $zero, 0x3254($at) +.L80240E5C: +/* 9EEA4C 80240E5C 3C028024 */ lui $v0, 0x8024 +/* 9EEA50 80240E60 8C423254 */ lw $v0, 0x3254($v0) +/* 9EEA54 80240E64 0002102B */ sltu $v0, $zero, $v0 +/* 9EEA58 80240E68 03E00008 */ jr $ra +/* 9EEA5C 80240E6C 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240E70_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240E70_9EDBF0.s new file mode 100644 index 0000000000..3d29d3d219 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240E70_9EDBF0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E70_9EEA60 +/* 9EEA60 80240E70 24020001 */ addiu $v0, $zero, 1 +/* 9EEA64 80240E74 3C018024 */ lui $at, 0x8024 +/* 9EEA68 80240E78 AC223254 */ sw $v0, 0x3254($at) +/* 9EEA6C 80240E7C 03E00008 */ jr $ra +/* 9EEA70 80240E80 24020002 */ addiu $v0, $zero, 2 +/* 9EEA74 80240E84 00000000 */ nop +/* 9EEA78 80240E88 00000000 */ nop +/* 9EEA7C 80240E8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_04/func_80240E90_9EDBF0.s b/asm/nonmatchings/world/area_nok/nok_04/func_80240E90_9EDBF0.s new file mode 100644 index 0000000000..9bce1d94f6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_04/func_80240E90_9EDBF0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_9EEA80 +/* 9EEA80 80240E90 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9EEA84 80240E94 3C048024 */ lui $a0, 0x8024 +/* 9EEA88 80240E98 24846E40 */ addiu $a0, $a0, 0x6e40 +/* 9EEA8C 80240E9C 27A50010 */ addiu $a1, $sp, 0x10 +/* 9EEA90 80240EA0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9EEA94 80240EA4 AFB1001C */ sw $s1, 0x1c($sp) +/* 9EEA98 80240EA8 0C016B3A */ jal load_asset_by_name +/* 9EEA9C 80240EAC AFB00018 */ sw $s0, 0x18($sp) +/* 9EEAA0 80240EB0 0040802D */ daddu $s0, $v0, $zero +/* 9EEAA4 80240EB4 0200202D */ daddu $a0, $s0, $zero +/* 9EEAA8 80240EB8 3C118024 */ lui $s1, 0x8024 +/* 9EEAAC 80240EBC 26316E50 */ addiu $s1, $s1, 0x6e50 +/* 9EEAB0 80240EC0 0C01BB7C */ jal decode_yay0 +/* 9EEAB4 80240EC4 0220282D */ daddu $a1, $s1, $zero +/* 9EEAB8 80240EC8 0C00AB1E */ jal general_heap_free +/* 9EEABC 80240ECC 0200202D */ daddu $a0, $s0, $zero +/* 9EEAC0 80240ED0 3C048025 */ lui $a0, %hi(pause_partners_load_portrait) +/* 9EEAC4 80240ED4 2484ADE0 */ addiu $a0, $a0, %lo(pause_partners_load_portrait) +/* 9EEAC8 80240ED8 3C028024 */ lui $v0, 0x8024 +/* 9EEACC 80240EDC 24427050 */ addiu $v0, $v0, 0x7050 +/* 9EEAD0 80240EE0 AC820000 */ sw $v0, ($a0) +/* 9EEAD4 80240EE4 24020096 */ addiu $v0, $zero, 0x96 +/* 9EEAD8 80240EE8 A4820008 */ sh $v0, 8($a0) +/* 9EEADC 80240EEC 24020069 */ addiu $v0, $zero, 0x69 +/* 9EEAE0 80240EF0 A482000A */ sh $v0, 0xa($a0) +/* 9EEAE4 80240EF4 24020002 */ addiu $v0, $zero, 2 +/* 9EEAE8 80240EF8 AC82000C */ sw $v0, 0xc($a0) +/* 9EEAEC 80240EFC 24020001 */ addiu $v0, $zero, 1 +/* 9EEAF0 80240F00 AC910004 */ sw $s1, 4($a0) +/* 9EEAF4 80240F04 0C0496CB */ jal set_message_images +/* 9EEAF8 80240F08 AC820010 */ sw $v0, 0x10($a0) +/* 9EEAFC 80240F0C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9EEB00 80240F10 8FB1001C */ lw $s1, 0x1c($sp) +/* 9EEB04 80240F14 8FB00018 */ lw $s0, 0x18($sp) +/* 9EEB08 80240F18 24020002 */ addiu $v0, $zero, 2 +/* 9EEB0C 80240F1C 03E00008 */ jr $ra +/* 9EEB10 80240F20 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9EEB14 80240F24 00000000 */ nop +/* 9EEB18 80240F28 00000000 */ nop +/* 9EEB1C 80240F2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80240000_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80240000_9F4A40.s new file mode 100644 index 0000000000..9c03009303 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80240000_9F4A40.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9F4A40 +/* 9F4A40 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9F4A44 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* 9F4A48 80240008 0080902D */ daddu $s2, $a0, $zero +/* 9F4A4C 8024000C AFBF001C */ sw $ra, 0x1c($sp) +/* 9F4A50 80240010 AFB10014 */ sw $s1, 0x14($sp) +/* 9F4A54 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* 9F4A58 80240018 8E510148 */ lw $s1, 0x148($s2) +/* 9F4A5C 8024001C 0C00EABB */ jal get_npc_unsafe +/* 9F4A60 80240020 86240008 */ lh $a0, 8($s1) +/* 9F4A64 80240024 0040802D */ daddu $s0, $v0, $zero +/* 9F4A68 80240028 8E2300CC */ lw $v1, 0xcc($s1) +/* 9F4A6C 8024002C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F4A70 80240030 8C630020 */ lw $v1, 0x20($v1) +/* 9F4A74 80240034 AE030028 */ sw $v1, 0x28($s0) +/* 9F4A78 80240038 96220076 */ lhu $v0, 0x76($s1) +/* 9F4A7C 8024003C A602008E */ sh $v0, 0x8e($s0) +/* 9F4A80 80240040 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F4A84 80240044 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F4A88 80240048 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F4A8C 8024004C 8C460028 */ lw $a2, 0x28($v0) +/* 9F4A90 80240050 0C00A720 */ jal atan2 +/* 9F4A94 80240054 8C470030 */ lw $a3, 0x30($v0) +/* 9F4A98 80240058 2402000D */ addiu $v0, $zero, 0xd +/* 9F4A9C 8024005C E600000C */ swc1 $f0, 0xc($s0) +/* 9F4AA0 80240060 AE420070 */ sw $v0, 0x70($s2) +/* 9F4AA4 80240064 8FBF001C */ lw $ra, 0x1c($sp) +/* 9F4AA8 80240068 8FB20018 */ lw $s2, 0x18($sp) +/* 9F4AAC 8024006C 8FB10014 */ lw $s1, 0x14($sp) +/* 9F4AB0 80240070 8FB00010 */ lw $s0, 0x10($sp) +/* 9F4AB4 80240074 03E00008 */ jr $ra +/* 9F4AB8 80240078 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_8024007C_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_8024007C_9F4A40.s new file mode 100644 index 0000000000..c6b8997979 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_8024007C_9F4A40.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024007C_9F4ABC +/* 9F4ABC 8024007C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9F4AC0 80240080 AFB3001C */ sw $s3, 0x1c($sp) +/* 9F4AC4 80240084 0080982D */ daddu $s3, $a0, $zero +/* 9F4AC8 80240088 AFBF0020 */ sw $ra, 0x20($sp) +/* 9F4ACC 8024008C AFB20018 */ sw $s2, 0x18($sp) +/* 9F4AD0 80240090 AFB10014 */ sw $s1, 0x14($sp) +/* 9F4AD4 80240094 AFB00010 */ sw $s0, 0x10($sp) +/* 9F4AD8 80240098 8E710148 */ lw $s1, 0x148($s3) +/* 9F4ADC 8024009C 86240008 */ lh $a0, 8($s1) +/* 9F4AE0 802400A0 0C00EABB */ jal get_npc_unsafe +/* 9F4AE4 802400A4 00A0902D */ daddu $s2, $a1, $zero +/* 9F4AE8 802400A8 0040802D */ daddu $s0, $v0, $zero +/* 9F4AEC 802400AC 8602008E */ lh $v0, 0x8e($s0) +/* 9F4AF0 802400B0 9603008E */ lhu $v1, 0x8e($s0) +/* 9F4AF4 802400B4 18400005 */ blez $v0, .L802400CC +/* 9F4AF8 802400B8 2462FFFF */ addiu $v0, $v1, -1 +/* 9F4AFC 802400BC A602008E */ sh $v0, 0x8e($s0) +/* 9F4B00 802400C0 00021400 */ sll $v0, $v0, 0x10 +/* 9F4B04 802400C4 1C400033 */ bgtz $v0, .L80240194 +/* 9F4B08 802400C8 00000000 */ nop +.L802400CC: +/* 9F4B0C 802400CC 8602008C */ lh $v0, 0x8c($s0) +/* 9F4B10 802400D0 14400030 */ bnez $v0, .L80240194 +/* 9F4B14 802400D4 00000000 */ nop +/* 9F4B18 802400D8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9F4B1C 802400DC 8C420024 */ lw $v0, 0x24($v0) +/* 9F4B20 802400E0 AE020028 */ sw $v0, 0x28($s0) +/* 9F4B24 802400E4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9F4B28 802400E8 E6000018 */ swc1 $f0, 0x18($s0) +/* 9F4B2C 802400EC 8E230088 */ lw $v1, 0x88($s1) +/* 9F4B30 802400F0 24020005 */ addiu $v0, $zero, 5 +/* 9F4B34 802400F4 10620005 */ beq $v1, $v0, .L8024010C +/* 9F4B38 802400F8 00000000 */ nop +/* 9F4B3C 802400FC 10600003 */ beqz $v1, .L8024010C +/* 9F4B40 80240100 24020001 */ addiu $v0, $zero, 1 +/* 9F4B44 80240104 14620006 */ bne $v1, $v0, .L80240120 +/* 9F4B48 80240108 00000000 */ nop +.L8024010C: +/* 9F4B4C 8024010C 8E220084 */ lw $v0, 0x84($s1) +/* 9F4B50 80240110 00021FC2 */ srl $v1, $v0, 0x1f +/* 9F4B54 80240114 00431021 */ addu $v0, $v0, $v1 +/* 9F4B58 80240118 00021043 */ sra $v0, $v0, 1 +/* 9F4B5C 8024011C A60200A8 */ sh $v0, 0xa8($s0) +.L80240120: +/* 9F4B60 80240120 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F4B64 80240124 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F4B68 80240128 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F4B6C 8024012C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F4B70 80240130 8C460028 */ lw $a2, 0x28($v0) +/* 9F4B74 80240134 0C00A7B5 */ jal dist2D +/* 9F4B78 80240138 8C470030 */ lw $a3, 0x30($v0) +/* 9F4B7C 8024013C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9F4B80 80240140 46020003 */ div.s $f0, $f0, $f2 +/* 9F4B84 80240144 3C018024 */ lui $at, 0x8024 +/* 9F4B88 80240148 D4225CF0 */ ldc1 $f2, 0x5cf0($at) +/* 9F4B8C 8024014C 46000021 */ cvt.d.s $f0, $f0 +/* 9F4B90 80240150 46220000 */ add.d $f0, $f0, $f2 +/* 9F4B94 80240154 4620010D */ trunc.w.d $f4, $f0 +/* 9F4B98 80240158 44022000 */ mfc1 $v0, $f4 +/* 9F4B9C 8024015C 00000000 */ nop +/* 9F4BA0 80240160 A602008E */ sh $v0, 0x8e($s0) +/* 9F4BA4 80240164 00021400 */ sll $v0, $v0, 0x10 +/* 9F4BA8 80240168 8E230078 */ lw $v1, 0x78($s1) +/* 9F4BAC 8024016C 00021403 */ sra $v0, $v0, 0x10 +/* 9F4BB0 80240170 0043102A */ slt $v0, $v0, $v1 +/* 9F4BB4 80240174 10400003 */ beqz $v0, .L80240184 +/* 9F4BB8 80240178 00000000 */ nop +/* 9F4BBC 8024017C 9622007A */ lhu $v0, 0x7a($s1) +/* 9F4BC0 80240180 A602008E */ sh $v0, 0x8e($s0) +.L80240184: +/* 9F4BC4 80240184 8602008E */ lh $v0, 0x8e($s0) +/* 9F4BC8 80240188 AE22007C */ sw $v0, 0x7c($s1) +/* 9F4BCC 8024018C 2402000E */ addiu $v0, $zero, 0xe +/* 9F4BD0 80240190 AE620070 */ sw $v0, 0x70($s3) +.L80240194: +/* 9F4BD4 80240194 8FBF0020 */ lw $ra, 0x20($sp) +/* 9F4BD8 80240198 8FB3001C */ lw $s3, 0x1c($sp) +/* 9F4BDC 8024019C 8FB20018 */ lw $s2, 0x18($sp) +/* 9F4BE0 802401A0 8FB10014 */ lw $s1, 0x14($sp) +/* 9F4BE4 802401A4 8FB00010 */ lw $s0, 0x10($sp) +/* 9F4BE8 802401A8 03E00008 */ jr $ra +/* 9F4BEC 802401AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_802401B0_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_802401B0_9F4A40.s new file mode 100644 index 0000000000..171787a68b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_802401B0_9F4A40.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_9F4BF0 +/* 9F4BF0 802401B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9F4BF4 802401B4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9F4BF8 802401B8 0080982D */ daddu $s3, $a0, $zero +/* 9F4BFC 802401BC AFBF0040 */ sw $ra, 0x40($sp) +/* 9F4C00 802401C0 AFB20038 */ sw $s2, 0x38($sp) +/* 9F4C04 802401C4 AFB10034 */ sw $s1, 0x34($sp) +/* 9F4C08 802401C8 AFB00030 */ sw $s0, 0x30($sp) +/* 9F4C0C 802401CC 8E710148 */ lw $s1, 0x148($s3) +/* 9F4C10 802401D0 0C00EABB */ jal get_npc_unsafe +/* 9F4C14 802401D4 86240008 */ lh $a0, 8($s1) +/* 9F4C18 802401D8 0040802D */ daddu $s0, $v0, $zero +/* 9F4C1C 802401DC 8E22007C */ lw $v0, 0x7c($s1) +/* 9F4C20 802401E0 8603008E */ lh $v1, 0x8e($s0) +/* 9F4C24 802401E4 2442FFFF */ addiu $v0, $v0, -1 +/* 9F4C28 802401E8 14620012 */ bne $v1, $v0, .L80240234 +/* 9F4C2C 802401EC 00000000 */ nop +/* 9F4C30 802401F0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F4C34 802401F4 4600020D */ trunc.w.s $f8, $f0 +/* 9F4C38 802401F8 44024000 */ mfc1 $v0, $f8 +/* 9F4C3C 802401FC 00000000 */ nop +/* 9F4C40 80240200 A6220010 */ sh $v0, 0x10($s1) +/* 9F4C44 80240204 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F4C48 80240208 4600020D */ trunc.w.s $f8, $f0 +/* 9F4C4C 8024020C 44024000 */ mfc1 $v0, $f8 +/* 9F4C50 80240210 00000000 */ nop +/* 9F4C54 80240214 A6220012 */ sh $v0, 0x12($s1) +/* 9F4C58 80240218 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9F4C5C 8024021C 24020001 */ addiu $v0, $zero, 1 +/* 9F4C60 80240220 A2220007 */ sb $v0, 7($s1) +/* 9F4C64 80240224 4600020D */ trunc.w.s $f8, $f0 +/* 9F4C68 80240228 44024000 */ mfc1 $v0, $f8 +/* 9F4C6C 8024022C 00000000 */ nop +/* 9F4C70 80240230 A6220014 */ sh $v0, 0x14($s1) +.L80240234: +/* 9F4C74 80240234 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F4C78 80240238 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F4C7C 8024023C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9F4C80 80240240 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9F4C84 80240244 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9F4C88 80240248 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9F4C8C 8024024C E7A40028 */ swc1 $f4, 0x28($sp) +/* 9F4C90 80240250 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9F4C94 80240254 C600000C */ lwc1 $f0, 0xc($s0) +/* 9F4C98 80240258 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9F4C9C 8024025C 860200A8 */ lh $v0, 0xa8($s0) +/* 9F4CA0 80240260 27A50020 */ addiu $a1, $sp, 0x20 +/* 9F4CA4 80240264 44820000 */ mtc1 $v0, $f0 +/* 9F4CA8 80240268 00000000 */ nop +/* 9F4CAC 8024026C 46800020 */ cvt.s.w $f0, $f0 +/* 9F4CB0 80240270 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F4CB4 80240274 860200A6 */ lh $v0, 0xa6($s0) +/* 9F4CB8 80240278 27A60024 */ addiu $a2, $sp, 0x24 +/* 9F4CBC 8024027C 44820000 */ mtc1 $v0, $f0 +/* 9F4CC0 80240280 00000000 */ nop +/* 9F4CC4 80240284 46800020 */ cvt.s.w $f0, $f0 +/* 9F4CC8 80240288 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9F4CCC 8024028C 8E040080 */ lw $a0, 0x80($s0) +/* 9F4CD0 80240290 0C037711 */ jal func_800DDC44 +/* 9F4CD4 80240294 27A70028 */ addiu $a3, $sp, 0x28 +/* 9F4CD8 80240298 0040902D */ daddu $s2, $v0, $zero +/* 9F4CDC 8024029C 16400005 */ bnez $s2, .L802402B4 +/* 9F4CE0 802402A0 00000000 */ nop +/* 9F4CE4 802402A4 8E050018 */ lw $a1, 0x18($s0) +/* 9F4CE8 802402A8 8E06000C */ lw $a2, 0xc($s0) +/* 9F4CEC 802402AC 0C00EA95 */ jal npc_move_heading +/* 9F4CF0 802402B0 0200202D */ daddu $a0, $s0, $zero +.L802402B4: +/* 9F4CF4 802402B4 8602008E */ lh $v0, 0x8e($s0) +/* 9F4CF8 802402B8 9603008E */ lhu $v1, 0x8e($s0) +/* 9F4CFC 802402BC 18400007 */ blez $v0, .L802402DC +/* 9F4D00 802402C0 2462FFFF */ addiu $v0, $v1, -1 +/* 9F4D04 802402C4 A602008E */ sh $v0, 0x8e($s0) +/* 9F4D08 802402C8 00021400 */ sll $v0, $v0, 0x10 +/* 9F4D0C 802402CC 18400003 */ blez $v0, .L802402DC +/* 9F4D10 802402D0 00000000 */ nop +/* 9F4D14 802402D4 12400008 */ beqz $s2, .L802402F8 +/* 9F4D18 802402D8 00000000 */ nop +.L802402DC: +/* 9F4D1C 802402DC 8E2200CC */ lw $v0, 0xcc($s1) +/* 9F4D20 802402E0 A2200007 */ sb $zero, 7($s1) +/* 9F4D24 802402E4 8C420028 */ lw $v0, 0x28($v0) +/* 9F4D28 802402E8 A600008E */ sh $zero, 0x8e($s0) +/* 9F4D2C 802402EC AE020028 */ sw $v0, 0x28($s0) +/* 9F4D30 802402F0 2402000F */ addiu $v0, $zero, 0xf +/* 9F4D34 802402F4 AE620070 */ sw $v0, 0x70($s3) +.L802402F8: +/* 9F4D38 802402F8 8FBF0040 */ lw $ra, 0x40($sp) +/* 9F4D3C 802402FC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9F4D40 80240300 8FB20038 */ lw $s2, 0x38($sp) +/* 9F4D44 80240304 8FB10034 */ lw $s1, 0x34($sp) +/* 9F4D48 80240308 8FB00030 */ lw $s0, 0x30($sp) +/* 9F4D4C 8024030C 03E00008 */ jr $ra +/* 9F4D50 80240310 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80240314_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80240314_9F4A40.s new file mode 100644 index 0000000000..58fd3983f5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80240314_9F4A40.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314_9F4D54 +/* 9F4D54 80240314 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9F4D58 80240318 AFB10014 */ sw $s1, 0x14($sp) +/* 9F4D5C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* 9F4D60 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* 9F4D64 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* 9F4D68 80240328 8E300148 */ lw $s0, 0x148($s1) +/* 9F4D6C 8024032C 0C00EABB */ jal get_npc_unsafe +/* 9F4D70 80240330 86040008 */ lh $a0, 8($s0) +/* 9F4D74 80240334 0040202D */ daddu $a0, $v0, $zero +/* 9F4D78 80240338 9482008E */ lhu $v0, 0x8e($a0) +/* 9F4D7C 8024033C 24030003 */ addiu $v1, $zero, 3 +/* 9F4D80 80240340 24420001 */ addiu $v0, $v0, 1 +/* 9F4D84 80240344 A482008E */ sh $v0, 0x8e($a0) +/* 9F4D88 80240348 00021400 */ sll $v0, $v0, 0x10 +/* 9F4D8C 8024034C 00021403 */ sra $v0, $v0, 0x10 +/* 9F4D90 80240350 14430003 */ bne $v0, $v1, .L80240360 +/* 9F4D94 80240354 00000000 */ nop +/* 9F4D98 80240358 96020086 */ lhu $v0, 0x86($s0) +/* 9F4D9C 8024035C A48200A8 */ sh $v0, 0xa8($a0) +.L80240360: +/* 9F4DA0 80240360 8482008E */ lh $v0, 0x8e($a0) +/* 9F4DA4 80240364 8E030080 */ lw $v1, 0x80($s0) +/* 9F4DA8 80240368 0043102A */ slt $v0, $v0, $v1 +/* 9F4DAC 8024036C 14400004 */ bnez $v0, .L80240380 +/* 9F4DB0 80240370 00000000 */ nop +/* 9F4DB4 80240374 96020086 */ lhu $v0, 0x86($s0) +/* 9F4DB8 80240378 A48200A8 */ sh $v0, 0xa8($a0) +/* 9F4DBC 8024037C AE200070 */ sw $zero, 0x70($s1) +.L80240380: +/* 9F4DC0 80240380 8FBF0018 */ lw $ra, 0x18($sp) +/* 9F4DC4 80240384 8FB10014 */ lw $s1, 0x14($sp) +/* 9F4DC8 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* 9F4DCC 8024038C 03E00008 */ jr $ra +/* 9F4DD0 80240390 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80240394_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80240394_9F4A40.s new file mode 100644 index 0000000000..e25f6b6a17 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80240394_9F4A40.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240394_9F4DD4 +/* 9F4DD4 80240394 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9F4DD8 80240398 AFB3005C */ sw $s3, 0x5c($sp) +/* 9F4DDC 8024039C 0080982D */ daddu $s3, $a0, $zero +/* 9F4DE0 802403A0 AFBF0068 */ sw $ra, 0x68($sp) +/* 9F4DE4 802403A4 AFB50064 */ sw $s5, 0x64($sp) +/* 9F4DE8 802403A8 AFB40060 */ sw $s4, 0x60($sp) +/* 9F4DEC 802403AC AFB20058 */ sw $s2, 0x58($sp) +/* 9F4DF0 802403B0 AFB10054 */ sw $s1, 0x54($sp) +/* 9F4DF4 802403B4 AFB00050 */ sw $s0, 0x50($sp) +/* 9F4DF8 802403B8 8E710148 */ lw $s1, 0x148($s3) +/* 9F4DFC 802403BC 86240008 */ lh $a0, 8($s1) +/* 9F4E00 802403C0 0C00EABB */ jal get_npc_unsafe +/* 9F4E04 802403C4 00A0802D */ daddu $s0, $a1, $zero +/* 9F4E08 802403C8 8E63000C */ lw $v1, 0xc($s3) +/* 9F4E0C 802403CC 0260202D */ daddu $a0, $s3, $zero +/* 9F4E10 802403D0 8C650000 */ lw $a1, ($v1) +/* 9F4E14 802403D4 0C0B1EAF */ jal get_variable +/* 9F4E18 802403D8 0040902D */ daddu $s2, $v0, $zero +/* 9F4E1C 802403DC AFA00028 */ sw $zero, 0x28($sp) +/* 9F4E20 802403E0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F4E24 802403E4 8C630030 */ lw $v1, 0x30($v1) +/* 9F4E28 802403E8 AFA3002C */ sw $v1, 0x2c($sp) +/* 9F4E2C 802403EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F4E30 802403F0 8C63001C */ lw $v1, 0x1c($v1) +/* 9F4E34 802403F4 AFA30030 */ sw $v1, 0x30($sp) +/* 9F4E38 802403F8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F4E3C 802403FC 8C630024 */ lw $v1, 0x24($v1) +/* 9F4E40 80240400 AFA30034 */ sw $v1, 0x34($sp) +/* 9F4E44 80240404 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F4E48 80240408 8C630028 */ lw $v1, 0x28($v1) +/* 9F4E4C 8024040C 27B50028 */ addiu $s5, $sp, 0x28 +/* 9F4E50 80240410 AFA30038 */ sw $v1, 0x38($sp) +/* 9F4E54 80240414 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F4E58 80240418 3C0142C8 */ lui $at, 0x42c8 +/* 9F4E5C 8024041C 44810000 */ mtc1 $at, $f0 +/* 9F4E60 80240420 8C63002C */ lw $v1, 0x2c($v1) +/* 9F4E64 80240424 0040A02D */ daddu $s4, $v0, $zero +/* 9F4E68 80240428 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9F4E6C 8024042C A7A00044 */ sh $zero, 0x44($sp) +/* 9F4E70 80240430 12000009 */ beqz $s0, .L80240458 +/* 9F4E74 80240434 AFA3003C */ sw $v1, 0x3c($sp) +/* 9F4E78 80240438 864300A8 */ lh $v1, 0xa8($s2) +/* 9F4E7C 8024043C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9F4E80 80240440 AE20008C */ sw $zero, 0x8c($s1) +/* 9F4E84 80240444 A22000B5 */ sb $zero, 0xb5($s1) +/* 9F4E88 80240448 34420008 */ ori $v0, $v0, 8 +/* 9F4E8C 8024044C AE230084 */ sw $v1, 0x84($s1) +/* 9F4E90 80240450 0809011A */ j .L80240468 +/* 9F4E94 80240454 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240458: +/* 9F4E98 80240458 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9F4E9C 8024045C 30420004 */ andi $v0, $v0, 4 +/* 9F4EA0 80240460 10400047 */ beqz $v0, .L80240580 +/* 9F4EA4 80240464 00000000 */ nop +.L80240468: +/* 9F4EA8 80240468 AE600070 */ sw $zero, 0x70($s3) +/* 9F4EAC 8024046C A640008E */ sh $zero, 0x8e($s2) +/* 9F4EB0 80240470 8E2300CC */ lw $v1, 0xcc($s1) +/* 9F4EB4 80240474 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9F4EB8 80240478 A2200007 */ sb $zero, 7($s1) +/* 9F4EBC 8024047C 8E420000 */ lw $v0, ($s2) +/* 9F4EC0 80240480 8C630000 */ lw $v1, ($v1) +/* 9F4EC4 80240484 00441024 */ and $v0, $v0, $a0 +/* 9F4EC8 80240488 AE420000 */ sw $v0, ($s2) +/* 9F4ECC 8024048C AE430028 */ sw $v1, 0x28($s2) +/* 9F4ED0 80240490 96220086 */ lhu $v0, 0x86($s1) +/* 9F4ED4 80240494 A64200A8 */ sh $v0, 0xa8($s2) +/* 9F4ED8 80240498 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F4EDC 8024049C AE200090 */ sw $zero, 0x90($s1) +/* 9F4EE0 802404A0 8C420034 */ lw $v0, 0x34($v0) +/* 9F4EE4 802404A4 14400006 */ bnez $v0, .L802404C0 +/* 9F4EE8 802404A8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9F4EEC 802404AC 8E420000 */ lw $v0, ($s2) +/* 9F4EF0 802404B0 2403FFF7 */ addiu $v1, $zero, -9 +/* 9F4EF4 802404B4 34420200 */ ori $v0, $v0, 0x200 +/* 9F4EF8 802404B8 08090133 */ j .L802404CC +/* 9F4EFC 802404BC 00431024 */ and $v0, $v0, $v1 +.L802404C0: +/* 9F4F00 802404C0 8E420000 */ lw $v0, ($s2) +/* 9F4F04 802404C4 00431024 */ and $v0, $v0, $v1 +/* 9F4F08 802404C8 34420008 */ ori $v0, $v0, 8 +.L802404CC: +/* 9F4F0C 802404CC AE420000 */ sw $v0, ($s2) +/* 9F4F10 802404D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9F4F14 802404D4 30420004 */ andi $v0, $v0, 4 +/* 9F4F18 802404D8 1040001E */ beqz $v0, .L80240554 +/* 9F4F1C 802404DC 24040002 */ addiu $a0, $zero, 2 +/* 9F4F20 802404E0 0240282D */ daddu $a1, $s2, $zero +/* 9F4F24 802404E4 0000302D */ daddu $a2, $zero, $zero +/* 9F4F28 802404E8 24020063 */ addiu $v0, $zero, 0x63 +/* 9F4F2C 802404EC AE620070 */ sw $v0, 0x70($s3) +/* 9F4F30 802404F0 AE600074 */ sw $zero, 0x74($s3) +/* 9F4F34 802404F4 864300A8 */ lh $v1, 0xa8($s2) +/* 9F4F38 802404F8 3C013F80 */ lui $at, 0x3f80 +/* 9F4F3C 802404FC 44810000 */ mtc1 $at, $f0 +/* 9F4F40 80240500 3C014000 */ lui $at, 0x4000 +/* 9F4F44 80240504 44811000 */ mtc1 $at, $f2 +/* 9F4F48 80240508 3C01C1A0 */ lui $at, 0xc1a0 +/* 9F4F4C 8024050C 44812000 */ mtc1 $at, $f4 +/* 9F4F50 80240510 24020028 */ addiu $v0, $zero, 0x28 +/* 9F4F54 80240514 AFA2001C */ sw $v0, 0x1c($sp) +/* 9F4F58 80240518 44833000 */ mtc1 $v1, $f6 +/* 9F4F5C 8024051C 00000000 */ nop +/* 9F4F60 80240520 468031A0 */ cvt.s.w $f6, $f6 +/* 9F4F64 80240524 44073000 */ mfc1 $a3, $f6 +/* 9F4F68 80240528 27A20048 */ addiu $v0, $sp, 0x48 +/* 9F4F6C 8024052C AFA20020 */ sw $v0, 0x20($sp) +/* 9F4F70 80240530 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9F4F74 80240534 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9F4F78 80240538 0C01BFA4 */ jal fx_emote +/* 9F4F7C 8024053C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9F4F80 80240540 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9F4F84 80240544 2403FFFB */ addiu $v1, $zero, -5 +/* 9F4F88 80240548 00431024 */ and $v0, $v0, $v1 +/* 9F4F8C 8024054C 08090160 */ j .L80240580 +/* 9F4F90 80240550 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240554: +/* 9F4F94 80240554 8E220000 */ lw $v0, ($s1) +/* 9F4F98 80240558 3C034000 */ lui $v1, 0x4000 +/* 9F4F9C 8024055C 00431024 */ and $v0, $v0, $v1 +/* 9F4FA0 80240560 10400007 */ beqz $v0, .L80240580 +/* 9F4FA4 80240564 3C03BFFF */ lui $v1, 0xbfff +/* 9F4FA8 80240568 2402000C */ addiu $v0, $zero, 0xc +/* 9F4FAC 8024056C AE620070 */ sw $v0, 0x70($s3) +/* 9F4FB0 80240570 8E220000 */ lw $v0, ($s1) +/* 9F4FB4 80240574 3463FFFF */ ori $v1, $v1, 0xffff +/* 9F4FB8 80240578 00431024 */ and $v0, $v0, $v1 +/* 9F4FBC 8024057C AE220000 */ sw $v0, ($s1) +.L80240580: +/* 9F4FC0 80240580 8E220090 */ lw $v0, 0x90($s1) +/* 9F4FC4 80240584 1840000C */ blez $v0, .L802405B8 +/* 9F4FC8 80240588 2442FFFF */ addiu $v0, $v0, -1 +/* 9F4FCC 8024058C 14400087 */ bnez $v0, .L802407AC +/* 9F4FD0 80240590 AE220090 */ sw $v0, 0x90($s1) +/* 9F4FD4 80240594 3C03FFAA */ lui $v1, 0xffaa +/* 9F4FD8 80240598 8E420028 */ lw $v0, 0x28($s2) +/* 9F4FDC 8024059C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9F4FE0 802405A0 00431021 */ addu $v0, $v0, $v1 +/* 9F4FE4 802405A4 2C420002 */ sltiu $v0, $v0, 2 +/* 9F4FE8 802405A8 10400003 */ beqz $v0, .L802405B8 +/* 9F4FEC 802405AC 3C020055 */ lui $v0, 0x55 +/* 9F4FF0 802405B0 3442000C */ ori $v0, $v0, 0xc +/* 9F4FF4 802405B4 AE420028 */ sw $v0, 0x28($s2) +.L802405B8: +/* 9F4FF8 802405B8 8E630070 */ lw $v1, 0x70($s3) +/* 9F4FFC 802405BC 2402000C */ addiu $v0, $zero, 0xc +/* 9F5000 802405C0 10620048 */ beq $v1, $v0, .L802406E4 +/* 9F5004 802405C4 2862000D */ slti $v0, $v1, 0xd +/* 9F5008 802405C8 1040000F */ beqz $v0, .L80240608 +/* 9F500C 802405CC 24100001 */ addiu $s0, $zero, 1 +/* 9F5010 802405D0 1070001E */ beq $v1, $s0, .L8024064C +/* 9F5014 802405D4 28620002 */ slti $v0, $v1, 2 +/* 9F5018 802405D8 10400005 */ beqz $v0, .L802405F0 +/* 9F501C 802405DC 24020002 */ addiu $v0, $zero, 2 +/* 9F5020 802405E0 10600015 */ beqz $v1, .L80240638 +/* 9F5024 802405E4 0260202D */ daddu $a0, $s3, $zero +/* 9F5028 802405E8 080901D0 */ j .L80240740 +/* 9F502C 802405EC 00000000 */ nop +.L802405F0: +/* 9F5030 802405F0 1062001C */ beq $v1, $v0, .L80240664 +/* 9F5034 802405F4 24020003 */ addiu $v0, $zero, 3 +/* 9F5038 802405F8 10620035 */ beq $v1, $v0, .L802406D0 +/* 9F503C 802405FC 0260202D */ daddu $a0, $s3, $zero +/* 9F5040 80240600 080901D0 */ j .L80240740 +/* 9F5044 80240604 00000000 */ nop +.L80240608: +/* 9F5048 80240608 2402000E */ addiu $v0, $zero, 0xe +/* 9F504C 8024060C 1062003F */ beq $v1, $v0, .L8024070C +/* 9F5050 80240610 0062102A */ slt $v0, $v1, $v0 +/* 9F5054 80240614 14400038 */ bnez $v0, .L802406F8 +/* 9F5058 80240618 0260202D */ daddu $a0, $s3, $zero +/* 9F505C 8024061C 2402000F */ addiu $v0, $zero, 0xf +/* 9F5060 80240620 10620040 */ beq $v1, $v0, .L80240724 +/* 9F5064 80240624 24020063 */ addiu $v0, $zero, 0x63 +/* 9F5068 80240628 10620043 */ beq $v1, $v0, .L80240738 +/* 9F506C 8024062C 00000000 */ nop +/* 9F5070 80240630 080901D0 */ j .L80240740 +/* 9F5074 80240634 00000000 */ nop +.L80240638: +/* 9F5078 80240638 0280282D */ daddu $a1, $s4, $zero +/* 9F507C 8024063C 0C012568 */ jal func_800495A0 +/* 9F5080 80240640 02A0302D */ daddu $a2, $s5, $zero +/* 9F5084 80240644 96220086 */ lhu $v0, 0x86($s1) +/* 9F5088 80240648 A64200A8 */ sh $v0, 0xa8($s2) +.L8024064C: +/* 9F508C 8024064C 0260202D */ daddu $a0, $s3, $zero +/* 9F5090 80240650 0280282D */ daddu $a1, $s4, $zero +/* 9F5094 80240654 0C0125AE */ jal func_800496B8 +/* 9F5098 80240658 02A0302D */ daddu $a2, $s5, $zero +/* 9F509C 8024065C 080901D0 */ j .L80240740 +/* 9F50A0 80240660 00000000 */ nop +.L80240664: +/* 9F50A4 80240664 0260202D */ daddu $a0, $s3, $zero +/* 9F50A8 80240668 0280282D */ daddu $a1, $s4, $zero +/* 9F50AC 8024066C 0C0126D1 */ jal func_80049B44 +/* 9F50B0 80240670 02A0302D */ daddu $a2, $s5, $zero +/* 9F50B4 80240674 8E230088 */ lw $v1, 0x88($s1) +/* 9F50B8 80240678 24020006 */ addiu $v0, $zero, 6 +/* 9F50BC 8024067C 14620014 */ bne $v1, $v0, .L802406D0 +/* 9F50C0 80240680 0260202D */ daddu $a0, $s3, $zero +/* 9F50C4 80240684 0C00A67F */ jal rand_int +/* 9F50C8 80240688 24040064 */ addiu $a0, $zero, 0x64 +/* 9F50CC 8024068C 28420021 */ slti $v0, $v0, 0x21 +/* 9F50D0 80240690 5040000F */ beql $v0, $zero, .L802406D0 +/* 9F50D4 80240694 0260202D */ daddu $a0, $s3, $zero +/* 9F50D8 80240698 8E22008C */ lw $v0, 0x8c($s1) +/* 9F50DC 8024069C 10400005 */ beqz $v0, .L802406B4 +/* 9F50E0 802406A0 3C020055 */ lui $v0, 0x55 +/* 9F50E4 802406A4 3442002F */ ori $v0, $v0, 0x2f +/* 9F50E8 802406A8 AE20008C */ sw $zero, 0x8c($s1) +/* 9F50EC 802406AC 080901B0 */ j .L802406C0 +/* 9F50F0 802406B0 A22000B5 */ sb $zero, 0xb5($s1) +.L802406B4: +/* 9F50F4 802406B4 3442002E */ ori $v0, $v0, 0x2e +/* 9F50F8 802406B8 AE30008C */ sw $s0, 0x8c($s1) +/* 9F50FC 802406BC A23000B5 */ sb $s0, 0xb5($s1) +.L802406C0: +/* 9F5100 802406C0 AE420028 */ sw $v0, 0x28($s2) +/* 9F5104 802406C4 24020007 */ addiu $v0, $zero, 7 +/* 9F5108 802406C8 080901EB */ j .L802407AC +/* 9F510C 802406CC AE220090 */ sw $v0, 0x90($s1) +.L802406D0: +/* 9F5110 802406D0 0280282D */ daddu $a1, $s4, $zero +/* 9F5114 802406D4 0C012701 */ jal func_80049C04 +/* 9F5118 802406D8 02A0302D */ daddu $a2, $s5, $zero +/* 9F511C 802406DC 080901D0 */ j .L80240740 +/* 9F5120 802406E0 00000000 */ nop +.L802406E4: +/* 9F5124 802406E4 0260202D */ daddu $a0, $s3, $zero +/* 9F5128 802406E8 0280282D */ daddu $a1, $s4, $zero +/* 9F512C 802406EC 0C090000 */ jal func_80240000 +/* 9F5130 802406F0 02A0302D */ daddu $a2, $s5, $zero +/* 9F5134 802406F4 0260202D */ daddu $a0, $s3, $zero +.L802406F8: +/* 9F5138 802406F8 0280282D */ daddu $a1, $s4, $zero +/* 9F513C 802406FC 0C09001F */ jal func_8024007C +/* 9F5140 80240700 02A0302D */ daddu $a2, $s5, $zero +/* 9F5144 80240704 080901D0 */ j .L80240740 +/* 9F5148 80240708 00000000 */ nop +.L8024070C: +/* 9F514C 8024070C 0260202D */ daddu $a0, $s3, $zero +/* 9F5150 80240710 0280282D */ daddu $a1, $s4, $zero +/* 9F5154 80240714 0C09006C */ jal func_802401B0 +/* 9F5158 80240718 02A0302D */ daddu $a2, $s5, $zero +/* 9F515C 8024071C 080901D0 */ j .L80240740 +/* 9F5160 80240720 00000000 */ nop +.L80240724: +/* 9F5164 80240724 0280282D */ daddu $a1, $s4, $zero +/* 9F5168 80240728 0C0900C5 */ jal func_80240314 +/* 9F516C 8024072C 02A0302D */ daddu $a2, $s5, $zero +/* 9F5170 80240730 080901D0 */ j .L80240740 +/* 9F5174 80240734 00000000 */ nop +.L80240738: +/* 9F5178 80240738 0C0129CF */ jal func_8004A73C +/* 9F517C 8024073C 0260202D */ daddu $a0, $s3, $zero +.L80240740: +/* 9F5180 80240740 8E230088 */ lw $v1, 0x88($s1) +/* 9F5184 80240744 24020006 */ addiu $v0, $zero, 6 +/* 9F5188 80240748 14620019 */ bne $v1, $v0, .L802407B0 +/* 9F518C 8024074C 0000102D */ daddu $v0, $zero, $zero +/* 9F5190 80240750 8E22008C */ lw $v0, 0x8c($s1) +/* 9F5194 80240754 10400003 */ beqz $v0, .L80240764 +/* 9F5198 80240758 24020001 */ addiu $v0, $zero, 1 +/* 9F519C 8024075C 080901DA */ j .L80240768 +/* 9F51A0 80240760 A22200B5 */ sb $v0, 0xb5($s1) +.L80240764: +/* 9F51A4 80240764 A22000B5 */ sb $zero, 0xb5($s1) +.L80240768: +/* 9F51A8 80240768 8E22008C */ lw $v0, 0x8c($s1) +/* 9F51AC 8024076C 1040000F */ beqz $v0, .L802407AC +/* 9F51B0 80240770 3C03FFAA */ lui $v1, 0xffaa +/* 9F51B4 80240774 8E420028 */ lw $v0, 0x28($s2) +/* 9F51B8 80240778 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9F51BC 8024077C 00431821 */ addu $v1, $v0, $v1 +/* 9F51C0 80240780 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9F51C4 80240784 10400009 */ beqz $v0, .L802407AC +/* 9F51C8 80240788 00031080 */ sll $v0, $v1, 2 +/* 9F51CC 8024078C 3C018024 */ lui $at, 0x8024 +/* 9F51D0 80240790 00220821 */ addu $at, $at, $v0 +/* 9F51D4 80240794 8C225CF8 */ lw $v0, 0x5cf8($at) +/* 9F51D8 80240798 00400008 */ jr $v0 +/* 9F51DC 8024079C 00000000 */ nop +/* 9F51E0 802407A0 8E420028 */ lw $v0, 0x28($s2) +/* 9F51E4 802407A4 24420001 */ addiu $v0, $v0, 1 +/* 9F51E8 802407A8 AE420028 */ sw $v0, 0x28($s2) +.L802407AC: +/* 9F51EC 802407AC 0000102D */ daddu $v0, $zero, $zero +.L802407B0: +/* 9F51F0 802407B0 8FBF0068 */ lw $ra, 0x68($sp) +/* 9F51F4 802407B4 8FB50064 */ lw $s5, 0x64($sp) +/* 9F51F8 802407B8 8FB40060 */ lw $s4, 0x60($sp) +/* 9F51FC 802407BC 8FB3005C */ lw $s3, 0x5c($sp) +/* 9F5200 802407C0 8FB20058 */ lw $s2, 0x58($sp) +/* 9F5204 802407C4 8FB10054 */ lw $s1, 0x54($sp) +/* 9F5208 802407C8 8FB00050 */ lw $s0, 0x50($sp) +/* 9F520C 802407CC 03E00008 */ jr $ra +/* 9F5210 802407D0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_802407D4_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_802407D4_9F4A40.s new file mode 100644 index 0000000000..9d3719d317 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_802407D4_9F4A40.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D4_9F5214 +/* 9F5214 802407D4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9F5218 802407D8 AFB3002C */ sw $s3, 0x2c($sp) +/* 9F521C 802407DC 0080982D */ daddu $s3, $a0, $zero +/* 9F5220 802407E0 AFBF0030 */ sw $ra, 0x30($sp) +/* 9F5224 802407E4 AFB20028 */ sw $s2, 0x28($sp) +/* 9F5228 802407E8 AFB10024 */ sw $s1, 0x24($sp) +/* 9F522C 802407EC AFB00020 */ sw $s0, 0x20($sp) +/* 9F5230 802407F0 8E710148 */ lw $s1, 0x148($s3) +/* 9F5234 802407F4 86240008 */ lh $a0, 8($s1) +/* 9F5238 802407F8 0C00EABB */ jal get_npc_unsafe +/* 9F523C 802407FC 00A0902D */ daddu $s2, $a1, $zero +/* 9F5240 80240800 8E440004 */ lw $a0, 4($s2) +/* 9F5244 80240804 0040802D */ daddu $s0, $v0, $zero +/* 9F5248 80240808 00041FC2 */ srl $v1, $a0, 0x1f +/* 9F524C 8024080C 00832021 */ addu $a0, $a0, $v1 +/* 9F5250 80240810 00042043 */ sra $a0, $a0, 1 +/* 9F5254 80240814 0C00A67F */ jal rand_int +/* 9F5258 80240818 24840001 */ addiu $a0, $a0, 1 +/* 9F525C 8024081C 8E430004 */ lw $v1, 4($s2) +/* 9F5260 80240820 000327C2 */ srl $a0, $v1, 0x1f +/* 9F5264 80240824 00641821 */ addu $v1, $v1, $a0 +/* 9F5268 80240828 00031843 */ sra $v1, $v1, 1 +/* 9F526C 8024082C 00621821 */ addu $v1, $v1, $v0 +/* 9F5270 80240830 A603008E */ sh $v1, 0x8e($s0) +/* 9F5274 80240834 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F5278 80240838 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9F527C 8024083C C4640000 */ lwc1 $f4, ($v1) +/* 9F5280 80240840 46802120 */ cvt.s.w $f4, $f4 +/* 9F5284 80240844 C4620008 */ lwc1 $f2, 8($v1) +/* 9F5288 80240848 468010A0 */ cvt.s.w $f2, $f2 +/* 9F528C 8024084C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9F5290 80240850 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F5294 80240854 44061000 */ mfc1 $a2, $f2 +/* 9F5298 80240858 C440000C */ lwc1 $f0, 0xc($v0) +/* 9F529C 8024085C 46800020 */ cvt.s.w $f0, $f0 +/* 9F52A0 80240860 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9F52A4 80240864 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F52A8 80240868 44052000 */ mfc1 $a1, $f4 +/* 9F52AC 8024086C C4400010 */ lwc1 $f0, 0x10($v0) +/* 9F52B0 80240870 46800020 */ cvt.s.w $f0, $f0 +/* 9F52B4 80240874 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F52B8 80240878 8C640018 */ lw $a0, 0x18($v1) +/* 9F52BC 8024087C 0C0123F5 */ jal is_point_within_region +/* 9F52C0 80240880 8E070038 */ lw $a3, 0x38($s0) +/* 9F52C4 80240884 1040000E */ beqz $v0, .L802408C0 +/* 9F52C8 80240888 00000000 */ nop +/* 9F52CC 8024088C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F52D0 80240890 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F52D4 80240894 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F52D8 80240898 C4460000 */ lwc1 $f6, ($v0) +/* 9F52DC 8024089C 468031A0 */ cvt.s.w $f6, $f6 +/* 9F52E0 802408A0 44063000 */ mfc1 $a2, $f6 +/* 9F52E4 802408A4 C4460008 */ lwc1 $f6, 8($v0) +/* 9F52E8 802408A8 468031A0 */ cvt.s.w $f6, $f6 +/* 9F52EC 802408AC 44073000 */ mfc1 $a3, $f6 +/* 9F52F0 802408B0 0C00A720 */ jal atan2 +/* 9F52F4 802408B4 00000000 */ nop +/* 9F52F8 802408B8 0809023C */ j .L802408F0 +/* 9F52FC 802408BC E600000C */ swc1 $f0, 0xc($s0) +.L802408C0: +/* 9F5300 802408C0 0C00A67F */ jal rand_int +/* 9F5304 802408C4 2404003C */ addiu $a0, $zero, 0x3c +/* 9F5308 802408C8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9F530C 802408CC 44820000 */ mtc1 $v0, $f0 +/* 9F5310 802408D0 00000000 */ nop +/* 9F5314 802408D4 46800020 */ cvt.s.w $f0, $f0 +/* 9F5318 802408D8 46006300 */ add.s $f12, $f12, $f0 +/* 9F531C 802408DC 3C0141F0 */ lui $at, 0x41f0 +/* 9F5320 802408E0 44810000 */ mtc1 $at, $f0 +/* 9F5324 802408E4 0C00A6C9 */ jal clamp_angle +/* 9F5328 802408E8 46006301 */ sub.s $f12, $f12, $f0 +/* 9F532C 802408EC E600000C */ swc1 $f0, 0xc($s0) +.L802408F0: +/* 9F5330 802408F0 8E2200CC */ lw $v0, 0xcc($s1) +/* 9F5334 802408F4 8C420004 */ lw $v0, 4($v0) +/* 9F5338 802408F8 AE020028 */ sw $v0, 0x28($s0) +/* 9F533C 802408FC AE600074 */ sw $zero, 0x74($s3) +/* 9F5340 80240900 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F5344 80240904 8C420014 */ lw $v0, 0x14($v0) +/* 9F5348 80240908 04410004 */ bgez $v0, .L8024091C +/* 9F534C 8024090C 00000000 */ nop +/* 9F5350 80240910 C6400000 */ lwc1 $f0, ($s2) +/* 9F5354 80240914 0809024F */ j .L8024093C +/* 9F5358 80240918 E6000018 */ swc1 $f0, 0x18($s0) +.L8024091C: +/* 9F535C 8024091C 3C018024 */ lui $at, 0x8024 +/* 9F5360 80240920 D4225D50 */ ldc1 $f2, 0x5d50($at) +/* 9F5364 80240924 44820000 */ mtc1 $v0, $f0 +/* 9F5368 80240928 00000000 */ nop +/* 9F536C 8024092C 46800021 */ cvt.d.w $f0, $f0 +/* 9F5370 80240930 46220003 */ div.d $f0, $f0, $f2 +/* 9F5374 80240934 46200020 */ cvt.s.d $f0, $f0 +/* 9F5378 80240938 E6000018 */ swc1 $f0, 0x18($s0) +.L8024093C: +/* 9F537C 8024093C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F5380 80240940 3C014059 */ lui $at, 0x4059 +/* 9F5384 80240944 44811800 */ mtc1 $at, $f3 +/* 9F5388 80240948 44801000 */ mtc1 $zero, $f2 +/* 9F538C 8024094C 46000021 */ cvt.d.s $f0, $f0 +/* 9F5390 80240950 46220002 */ mul.d $f0, $f0, $f2 +/* 9F5394 80240954 00000000 */ nop +/* 9F5398 80240958 24020001 */ addiu $v0, $zero, 1 +/* 9F539C 8024095C 4620018D */ trunc.w.d $f6, $f0 +/* 9F53A0 80240960 E626007C */ swc1 $f6, 0x7c($s1) +/* 9F53A4 80240964 AE620070 */ sw $v0, 0x70($s3) +/* 9F53A8 80240968 8FBF0030 */ lw $ra, 0x30($sp) +/* 9F53AC 8024096C 8FB3002C */ lw $s3, 0x2c($sp) +/* 9F53B0 80240970 8FB20028 */ lw $s2, 0x28($sp) +/* 9F53B4 80240974 8FB10024 */ lw $s1, 0x24($sp) +/* 9F53B8 80240978 8FB00020 */ lw $s0, 0x20($sp) +/* 9F53BC 8024097C 03E00008 */ jr $ra +/* 9F53C0 80240980 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80240984_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80240984_9F4A40.s new file mode 100644 index 0000000000..f98ccdd6a8 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80240984_9F4A40.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984_9F53C4 +/* 9F53C4 80240984 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 9F53C8 80240988 AFB3004C */ sw $s3, 0x4c($sp) +/* 9F53CC 8024098C 0080982D */ daddu $s3, $a0, $zero +/* 9F53D0 80240990 AFBF0058 */ sw $ra, 0x58($sp) +/* 9F53D4 80240994 AFB50054 */ sw $s5, 0x54($sp) +/* 9F53D8 80240998 AFB40050 */ sw $s4, 0x50($sp) +/* 9F53DC 8024099C AFB20048 */ sw $s2, 0x48($sp) +/* 9F53E0 802409A0 AFB10044 */ sw $s1, 0x44($sp) +/* 9F53E4 802409A4 AFB00040 */ sw $s0, 0x40($sp) +/* 9F53E8 802409A8 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9F53EC 802409AC F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9F53F0 802409B0 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9F53F4 802409B4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9F53F8 802409B8 8E710148 */ lw $s1, 0x148($s3) +/* 9F53FC 802409BC 00A0902D */ daddu $s2, $a1, $zero +/* 9F5400 802409C0 86240008 */ lh $a0, 8($s1) +/* 9F5404 802409C4 0C00EABB */ jal get_npc_unsafe +/* 9F5408 802409C8 00C0A82D */ daddu $s5, $a2, $zero +/* 9F540C 802409CC 0040802D */ daddu $s0, $v0, $zero +/* 9F5410 802409D0 0000A02D */ daddu $s4, $zero, $zero +/* 9F5414 802409D4 C624007C */ lwc1 $f4, 0x7c($s1) +/* 9F5418 802409D8 46802120 */ cvt.s.w $f4, $f4 +/* 9F541C 802409DC C6220088 */ lwc1 $f2, 0x88($s1) +/* 9F5420 802409E0 468010A0 */ cvt.s.w $f2, $f2 +/* 9F5424 802409E4 460010A1 */ cvt.d.s $f2, $f2 +/* 9F5428 802409E8 46002121 */ cvt.d.s $f4, $f4 +/* 9F542C 802409EC C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F5430 802409F0 3C014059 */ lui $at, 0x4059 +/* 9F5434 802409F4 44813800 */ mtc1 $at, $f7 +/* 9F5438 802409F8 44803000 */ mtc1 $zero, $f6 +/* 9F543C 802409FC 46000021 */ cvt.d.s $f0, $f0 +/* 9F5440 80240A00 46260002 */ mul.d $f0, $f0, $f6 +/* 9F5444 80240A04 00000000 */ nop +/* 9F5448 80240A08 24020001 */ addiu $v0, $zero, 1 +/* 9F544C 80240A0C 8E24006C */ lw $a0, 0x6c($s1) +/* 9F5450 80240A10 46261083 */ div.d $f2, $f2, $f6 +/* 9F5454 80240A14 462010A0 */ cvt.s.d $f2, $f2 +/* 9F5458 80240A18 46262103 */ div.d $f4, $f4, $f6 +/* 9F545C 80240A1C 46202520 */ cvt.s.d $f20, $f4 +/* 9F5460 80240A20 30830011 */ andi $v1, $a0, 0x11 +/* 9F5464 80240A24 4620020D */ trunc.w.d $f8, $f0 +/* 9F5468 80240A28 E628007C */ swc1 $f8, 0x7c($s1) +/* 9F546C 80240A2C C6200078 */ lwc1 $f0, 0x78($s1) +/* 9F5470 80240A30 46800020 */ cvt.s.w $f0, $f0 +/* 9F5474 80240A34 46000021 */ cvt.d.s $f0, $f0 +/* 9F5478 80240A38 46260003 */ div.d $f0, $f0, $f6 +/* 9F547C 80240A3C 462006A0 */ cvt.s.d $f26, $f0 +/* 9F5480 80240A40 C6200070 */ lwc1 $f0, 0x70($s1) +/* 9F5484 80240A44 46800020 */ cvt.s.w $f0, $f0 +/* 9F5488 80240A48 46000021 */ cvt.d.s $f0, $f0 +/* 9F548C 80240A4C 46260003 */ div.d $f0, $f0, $f6 +/* 9F5490 80240A50 462005A0 */ cvt.s.d $f22, $f0 +/* 9F5494 80240A54 14620025 */ bne $v1, $v0, .L80240AEC +/* 9F5498 80240A58 4602D600 */ add.s $f24, $f26, $f2 +/* 9F549C 80240A5C 8E020000 */ lw $v0, ($s0) +/* 9F54A0 80240A60 30420008 */ andi $v0, $v0, 8 +/* 9F54A4 80240A64 10400009 */ beqz $v0, .L80240A8C +/* 9F54A8 80240A68 27A50028 */ addiu $a1, $sp, 0x28 +/* 9F54AC 80240A6C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F54B0 80240A70 4600C001 */ sub.s $f0, $f24, $f0 +/* 9F54B4 80240A74 4600B03C */ c.lt.s $f22, $f0 +/* 9F54B8 80240A78 00000000 */ nop +/* 9F54BC 80240A7C 4500001B */ bc1f .L80240AEC +/* 9F54C0 80240A80 34820010 */ ori $v0, $a0, 0x10 +/* 9F54C4 80240A84 080902BB */ j .L80240AEC +/* 9F54C8 80240A88 AE22006C */ sw $v0, 0x6c($s1) +.L80240A8C: +/* 9F54CC 80240A8C 27A6002C */ addiu $a2, $sp, 0x2c +/* 9F54D0 80240A90 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F54D4 80240A94 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F54D8 80240A98 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9F54DC 80240A9C 3C01447A */ lui $at, 0x447a +/* 9F54E0 80240AA0 44813000 */ mtc1 $at, $f6 +/* 9F54E4 80240AA4 27A20034 */ addiu $v0, $sp, 0x34 +/* 9F54E8 80240AA8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9F54EC 80240AAC E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9F54F0 80240AB0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9F54F4 80240AB4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9F54F8 80240AB8 AFA20010 */ sw $v0, 0x10($sp) +/* 9F54FC 80240ABC 8E040080 */ lw $a0, 0x80($s0) +/* 9F5500 80240AC0 0C0372DF */ jal func_800DCB7C +/* 9F5504 80240AC4 27A70030 */ addiu $a3, $sp, 0x30 +/* 9F5508 80240AC8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 9F550C 80240ACC 4600D001 */ sub.s $f0, $f26, $f0 +/* 9F5510 80240AD0 4600B03C */ c.lt.s $f22, $f0 +/* 9F5514 80240AD4 00000000 */ nop +/* 9F5518 80240AD8 45000004 */ bc1f .L80240AEC +/* 9F551C 80240ADC 00000000 */ nop +/* 9F5520 80240AE0 8E22006C */ lw $v0, 0x6c($s1) +/* 9F5524 80240AE4 34420010 */ ori $v0, $v0, 0x10 +/* 9F5528 80240AE8 AE22006C */ sw $v0, 0x6c($s1) +.L80240AEC: +/* 9F552C 80240AEC 8E22006C */ lw $v0, 0x6c($s1) +/* 9F5530 80240AF0 24030011 */ addiu $v1, $zero, 0x11 +/* 9F5534 80240AF4 30420011 */ andi $v0, $v0, 0x11 +/* 9F5538 80240AF8 14430039 */ bne $v0, $v1, .L80240BE0 +/* 9F553C 80240AFC 00000000 */ nop +/* 9F5540 80240B00 8E020000 */ lw $v0, ($s0) +/* 9F5544 80240B04 30420008 */ andi $v0, $v0, 8 +/* 9F5548 80240B08 1040000A */ beqz $v0, .L80240B34 +/* 9F554C 80240B0C 4600C106 */ mov.s $f4, $f24 +/* 9F5550 80240B10 4614C081 */ sub.s $f2, $f24, $f20 +/* 9F5554 80240B14 3C018024 */ lui $at, 0x8024 +/* 9F5558 80240B18 D4205D58 */ ldc1 $f0, 0x5d58($at) +/* 9F555C 80240B1C 460010A1 */ cvt.d.s $f2, $f2 +/* 9F5560 80240B20 46201082 */ mul.d $f2, $f2, $f0 +/* 9F5564 80240B24 00000000 */ nop +/* 9F5568 80240B28 4600A021 */ cvt.d.s $f0, $f20 +/* 9F556C 80240B2C 080902E6 */ j .L80240B98 +/* 9F5570 80240B30 46220000 */ add.d $f0, $f0, $f2 +.L80240B34: +/* 9F5574 80240B34 27A50028 */ addiu $a1, $sp, 0x28 +/* 9F5578 80240B38 27A6002C */ addiu $a2, $sp, 0x2c +/* 9F557C 80240B3C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F5580 80240B40 C6020040 */ lwc1 $f2, 0x40($s0) +/* 9F5584 80240B44 3C01447A */ lui $at, 0x447a +/* 9F5588 80240B48 44812000 */ mtc1 $at, $f4 +/* 9F558C 80240B4C 27A20034 */ addiu $v0, $sp, 0x34 +/* 9F5590 80240B50 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 9F5594 80240B54 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9F5598 80240B58 E7A20030 */ swc1 $f2, 0x30($sp) +/* 9F559C 80240B5C E7A40034 */ swc1 $f4, 0x34($sp) +/* 9F55A0 80240B60 AFA20010 */ sw $v0, 0x10($sp) +/* 9F55A4 80240B64 8E040080 */ lw $a0, 0x80($s0) +/* 9F55A8 80240B68 0C0372DF */ jal func_800DCB7C +/* 9F55AC 80240B6C 27A70030 */ addiu $a3, $sp, 0x30 +/* 9F55B0 80240B70 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 9F55B4 80240B74 461A2100 */ add.s $f4, $f4, $f26 +/* 9F55B8 80240B78 46142081 */ sub.s $f2, $f4, $f20 +/* 9F55BC 80240B7C 3C018024 */ lui $at, 0x8024 +/* 9F55C0 80240B80 D4205D60 */ ldc1 $f0, 0x5d60($at) +/* 9F55C4 80240B84 460010A1 */ cvt.d.s $f2, $f2 +/* 9F55C8 80240B88 46201082 */ mul.d $f2, $f2, $f0 +/* 9F55CC 80240B8C 00000000 */ nop +/* 9F55D0 80240B90 4600A021 */ cvt.d.s $f0, $f20 +/* 9F55D4 80240B94 46220000 */ add.d $f0, $f0, $f2 +.L80240B98: +/* 9F55D8 80240B98 46200020 */ cvt.s.d $f0, $f0 +/* 9F55DC 80240B9C E600003C */ swc1 $f0, 0x3c($s0) +/* 9F55E0 80240BA0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F55E4 80240BA4 46002001 */ sub.s $f0, $f4, $f0 +/* 9F55E8 80240BA8 3C013FF0 */ lui $at, 0x3ff0 +/* 9F55EC 80240BAC 44811800 */ mtc1 $at, $f3 +/* 9F55F0 80240BB0 44801000 */ mtc1 $zero, $f2 +/* 9F55F4 80240BB4 46000005 */ abs.s $f0, $f0 +/* 9F55F8 80240BB8 46000021 */ cvt.d.s $f0, $f0 +/* 9F55FC 80240BBC 4622003C */ c.lt.d $f0, $f2 +/* 9F5600 80240BC0 00000000 */ nop +/* 9F5604 80240BC4 45000036 */ bc1f .L80240CA0 +/* 9F5608 80240BC8 2403FFEF */ addiu $v1, $zero, -0x11 +/* 9F560C 80240BCC E604003C */ swc1 $f4, 0x3c($s0) +/* 9F5610 80240BD0 8E22006C */ lw $v0, 0x6c($s1) +/* 9F5614 80240BD4 00431024 */ and $v0, $v0, $v1 +/* 9F5618 80240BD8 08090328 */ j .L80240CA0 +/* 9F561C 80240BDC AE22006C */ sw $v0, 0x6c($s1) +.L80240BE0: +/* 9F5620 80240BE0 8E220070 */ lw $v0, 0x70($s1) +/* 9F5624 80240BE4 1840002E */ blez $v0, .L80240CA0 +/* 9F5628 80240BE8 00000000 */ nop +/* 9F562C 80240BEC C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9F5630 80240BF0 0C00A8BB */ jal sin_deg +/* 9F5634 80240BF4 46806320 */ cvt.s.w $f12, $f12 +/* 9F5638 80240BF8 8E020000 */ lw $v0, ($s0) +/* 9F563C 80240BFC 30420008 */ andi $v0, $v0, 8 +/* 9F5640 80240C00 10400003 */ beqz $v0, .L80240C10 +/* 9F5644 80240C04 46000506 */ mov.s $f20, $f0 +/* 9F5648 80240C08 08090314 */ j .L80240C50 +/* 9F564C 80240C0C 0000102D */ daddu $v0, $zero, $zero +.L80240C10: +/* 9F5650 80240C10 27A50028 */ addiu $a1, $sp, 0x28 +/* 9F5654 80240C14 27A6002C */ addiu $a2, $sp, 0x2c +/* 9F5658 80240C18 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F565C 80240C1C C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F5660 80240C20 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9F5664 80240C24 3C01447A */ lui $at, 0x447a +/* 9F5668 80240C28 44813000 */ mtc1 $at, $f6 +/* 9F566C 80240C2C 27A20034 */ addiu $v0, $sp, 0x34 +/* 9F5670 80240C30 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9F5674 80240C34 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9F5678 80240C38 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9F567C 80240C3C E7A60034 */ swc1 $f6, 0x34($sp) +/* 9F5680 80240C40 AFA20010 */ sw $v0, 0x10($sp) +/* 9F5684 80240C44 8E040080 */ lw $a0, 0x80($s0) +/* 9F5688 80240C48 0C0372DF */ jal func_800DCB7C +/* 9F568C 80240C4C 27A70030 */ addiu $a3, $sp, 0x30 +.L80240C50: +/* 9F5690 80240C50 10400007 */ beqz $v0, .L80240C70 +/* 9F5694 80240C54 00000000 */ nop +/* 9F5698 80240C58 4616A082 */ mul.s $f2, $f20, $f22 +/* 9F569C 80240C5C 00000000 */ nop +/* 9F56A0 80240C60 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9F56A4 80240C64 461A0000 */ add.s $f0, $f0, $f26 +/* 9F56A8 80240C68 0809031F */ j .L80240C7C +/* 9F56AC 80240C6C 46020000 */ add.s $f0, $f0, $f2 +.L80240C70: +/* 9F56B0 80240C70 4616A002 */ mul.s $f0, $f20, $f22 +/* 9F56B4 80240C74 00000000 */ nop +/* 9F56B8 80240C78 4600C000 */ add.s $f0, $f24, $f0 +.L80240C7C: +/* 9F56BC 80240C7C E600003C */ swc1 $f0, 0x3c($s0) +/* 9F56C0 80240C80 8E220074 */ lw $v0, 0x74($s1) +/* 9F56C4 80240C84 2442000A */ addiu $v0, $v0, 0xa +/* 9F56C8 80240C88 44826000 */ mtc1 $v0, $f12 +/* 9F56CC 80240C8C 00000000 */ nop +/* 9F56D0 80240C90 0C00A6C9 */ jal clamp_angle +/* 9F56D4 80240C94 46806320 */ cvt.s.w $f12, $f12 +/* 9F56D8 80240C98 4600020D */ trunc.w.s $f8, $f0 +/* 9F56DC 80240C9C E6280074 */ swc1 $f8, 0x74($s1) +.L80240CA0: +/* 9F56E0 80240CA0 8E220090 */ lw $v0, 0x90($s1) +/* 9F56E4 80240CA4 1C40004A */ bgtz $v0, .L80240DD0 +/* 9F56E8 80240CA8 2442FFFF */ addiu $v0, $v0, -1 +/* 9F56EC 80240CAC 8E430014 */ lw $v1, 0x14($s2) +/* 9F56F0 80240CB0 04600048 */ bltz $v1, .L80240DD4 +/* 9F56F4 80240CB4 00000000 */ nop +/* 9F56F8 80240CB8 8E620074 */ lw $v0, 0x74($s3) +/* 9F56FC 80240CBC 1C400042 */ bgtz $v0, .L80240DC8 +/* 9F5700 80240CC0 2442FFFF */ addiu $v0, $v0, -1 +/* 9F5704 80240CC4 AE630074 */ sw $v1, 0x74($s3) +/* 9F5708 80240CC8 860200A8 */ lh $v0, 0xa8($s0) +/* 9F570C 80240CCC C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F5710 80240CD0 44820000 */ mtc1 $v0, $f0 +/* 9F5714 80240CD4 00000000 */ nop +/* 9F5718 80240CD8 46800020 */ cvt.s.w $f0, $f0 +/* 9F571C 80240CDC 46001080 */ add.s $f2, $f2, $f0 +/* 9F5720 80240CE0 3C014024 */ lui $at, 0x4024 +/* 9F5724 80240CE4 44810800 */ mtc1 $at, $f1 +/* 9F5728 80240CE8 44800000 */ mtc1 $zero, $f0 +/* 9F572C 80240CEC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F5730 80240CF0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F5734 80240CF4 460010A1 */ cvt.d.s $f2, $f2 +/* 9F5738 80240CF8 46201080 */ add.d $f2, $f2, $f0 +/* 9F573C 80240CFC C440002C */ lwc1 $f0, 0x2c($v0) +/* 9F5740 80240D00 46000021 */ cvt.d.s $f0, $f0 +/* 9F5744 80240D04 4622003C */ c.lt.d $f0, $f2 +/* 9F5748 80240D08 00000000 */ nop +/* 9F574C 80240D0C 4500002C */ bc1f .L80240DC0 +/* 9F5750 80240D10 02A0202D */ daddu $a0, $s5, $zero +/* 9F5754 80240D14 AFA00010 */ sw $zero, 0x10($sp) +/* 9F5758 80240D18 8E46000C */ lw $a2, 0xc($s2) +/* 9F575C 80240D1C 8E470010 */ lw $a3, 0x10($s2) +/* 9F5760 80240D20 0C01242D */ jal func_800490B4 +/* 9F5764 80240D24 0220282D */ daddu $a1, $s1, $zero +/* 9F5768 80240D28 10400025 */ beqz $v0, .L80240DC0 +/* 9F576C 80240D2C 0000202D */ daddu $a0, $zero, $zero +/* 9F5770 80240D30 0200282D */ daddu $a1, $s0, $zero +/* 9F5774 80240D34 0000302D */ daddu $a2, $zero, $zero +/* 9F5778 80240D38 2412000C */ addiu $s2, $zero, 0xc +/* 9F577C 80240D3C 860300A8 */ lh $v1, 0xa8($s0) +/* 9F5780 80240D40 3C013F80 */ lui $at, 0x3f80 +/* 9F5784 80240D44 44810000 */ mtc1 $at, $f0 +/* 9F5788 80240D48 3C014000 */ lui $at, 0x4000 +/* 9F578C 80240D4C 44811000 */ mtc1 $at, $f2 +/* 9F5790 80240D50 3C01C1A0 */ lui $at, 0xc1a0 +/* 9F5794 80240D54 44812000 */ mtc1 $at, $f4 +/* 9F5798 80240D58 44834000 */ mtc1 $v1, $f8 +/* 9F579C 80240D5C 00000000 */ nop +/* 9F57A0 80240D60 46804220 */ cvt.s.w $f8, $f8 +/* 9F57A4 80240D64 44074000 */ mfc1 $a3, $f8 +/* 9F57A8 80240D68 27A20038 */ addiu $v0, $sp, 0x38 +/* 9F57AC 80240D6C AFB2001C */ sw $s2, 0x1c($sp) +/* 9F57B0 80240D70 AFA20020 */ sw $v0, 0x20($sp) +/* 9F57B4 80240D74 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9F57B8 80240D78 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9F57BC 80240D7C 0C01BFA4 */ jal fx_emote +/* 9F57C0 80240D80 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9F57C4 80240D84 0200202D */ daddu $a0, $s0, $zero +/* 9F57C8 80240D88 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9F57CC 80240D8C C480003C */ lwc1 $f0, 0x3c($a0) +/* 9F57D0 80240D90 3C060020 */ lui $a2, 0x20 +/* 9F57D4 80240D94 0C012530 */ jal func_800494C0 +/* 9F57D8 80240D98 E4800064 */ swc1 $f0, 0x64($a0) +/* 9F57DC 80240D9C 8E220018 */ lw $v0, 0x18($s1) +/* 9F57E0 80240DA0 9442002A */ lhu $v0, 0x2a($v0) +/* 9F57E4 80240DA4 30420001 */ andi $v0, $v0, 1 +/* 9F57E8 80240DA8 10400003 */ beqz $v0, .L80240DB8 +/* 9F57EC 80240DAC 2402000A */ addiu $v0, $zero, 0xa +/* 9F57F0 80240DB0 080903DE */ j .L80240F78 +/* 9F57F4 80240DB4 AE620070 */ sw $v0, 0x70($s3) +.L80240DB8: +/* 9F57F8 80240DB8 080903DE */ j .L80240F78 +/* 9F57FC 80240DBC AE720070 */ sw $s2, 0x70($s3) +.L80240DC0: +/* 9F5800 80240DC0 8E620074 */ lw $v0, 0x74($s3) +/* 9F5804 80240DC4 2442FFFF */ addiu $v0, $v0, -1 +.L80240DC8: +/* 9F5808 80240DC8 08090375 */ j .L80240DD4 +/* 9F580C 80240DCC AE620074 */ sw $v0, 0x74($s3) +.L80240DD0: +/* 9F5810 80240DD0 AE220090 */ sw $v0, 0x90($s1) +.L80240DD4: +/* 9F5814 80240DD4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9F5818 80240DD8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9F581C 80240DDC C4620000 */ lwc1 $f2, ($v1) +/* 9F5820 80240DE0 468010A0 */ cvt.s.w $f2, $f2 +/* 9F5824 80240DE4 C4640008 */ lwc1 $f4, 8($v1) +/* 9F5828 80240DE8 46802120 */ cvt.s.w $f4, $f4 +/* 9F582C 80240DEC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9F5830 80240DF0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F5834 80240DF4 44051000 */ mfc1 $a1, $f2 +/* 9F5838 80240DF8 C440000C */ lwc1 $f0, 0xc($v0) +/* 9F583C 80240DFC 46800020 */ cvt.s.w $f0, $f0 +/* 9F5840 80240E00 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9F5844 80240E04 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F5848 80240E08 44062000 */ mfc1 $a2, $f4 +/* 9F584C 80240E0C C4400010 */ lwc1 $f0, 0x10($v0) +/* 9F5850 80240E10 46800020 */ cvt.s.w $f0, $f0 +/* 9F5854 80240E14 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F5858 80240E18 8C640018 */ lw $a0, 0x18($v1) +/* 9F585C 80240E1C 0C0123F5 */ jal is_point_within_region +/* 9F5860 80240E20 8E070038 */ lw $a3, 0x38($s0) +/* 9F5864 80240E24 1040001A */ beqz $v0, .L80240E90 +/* 9F5868 80240E28 00000000 */ nop +/* 9F586C 80240E2C 8E060038 */ lw $a2, 0x38($s0) +/* 9F5870 80240E30 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F5874 80240E34 8E070040 */ lw $a3, 0x40($s0) +/* 9F5878 80240E38 C44C0000 */ lwc1 $f12, ($v0) +/* 9F587C 80240E3C 46806320 */ cvt.s.w $f12, $f12 +/* 9F5880 80240E40 C44E0008 */ lwc1 $f14, 8($v0) +/* 9F5884 80240E44 0C00A7B5 */ jal dist2D +/* 9F5888 80240E48 468073A0 */ cvt.s.w $f14, $f14 +/* 9F588C 80240E4C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9F5890 80240E50 4600103C */ c.lt.s $f2, $f0 +/* 9F5894 80240E54 00000000 */ nop +/* 9F5898 80240E58 4500000D */ bc1f .L80240E90 +/* 9F589C 80240E5C E7A00034 */ swc1 $f0, 0x34($sp) +/* 9F58A0 80240E60 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F58A4 80240E64 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F58A8 80240E68 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F58AC 80240E6C C4480000 */ lwc1 $f8, ($v0) +/* 9F58B0 80240E70 46804220 */ cvt.s.w $f8, $f8 +/* 9F58B4 80240E74 44064000 */ mfc1 $a2, $f8 +/* 9F58B8 80240E78 C4480008 */ lwc1 $f8, 8($v0) +/* 9F58BC 80240E7C 46804220 */ cvt.s.w $f8, $f8 +/* 9F58C0 80240E80 44074000 */ mfc1 $a3, $f8 +/* 9F58C4 80240E84 0C00A720 */ jal atan2 +/* 9F58C8 80240E88 24140001 */ addiu $s4, $zero, 1 +/* 9F58CC 80240E8C E600000C */ swc1 $f0, 0xc($s0) +.L80240E90: +/* 9F58D0 80240E90 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9F58D4 80240E94 8C43000C */ lw $v1, 0xc($v0) +/* 9F58D8 80240E98 8C420010 */ lw $v0, 0x10($v0) +/* 9F58DC 80240E9C 00621825 */ or $v1, $v1, $v0 +/* 9F58E0 80240EA0 00741825 */ or $v1, $v1, $s4 +/* 9F58E4 80240EA4 10600008 */ beqz $v1, .L80240EC8 +/* 9F58E8 80240EA8 00000000 */ nop +/* 9F58EC 80240EAC 8602008C */ lh $v0, 0x8c($s0) +/* 9F58F0 80240EB0 14400031 */ bnez $v0, .L80240F78 +/* 9F58F4 80240EB4 00000000 */ nop +/* 9F58F8 80240EB8 8E050018 */ lw $a1, 0x18($s0) +/* 9F58FC 80240EBC 8E06000C */ lw $a2, 0xc($s0) +/* 9F5900 80240EC0 0C00EA95 */ jal npc_move_heading +/* 9F5904 80240EC4 0200202D */ daddu $a0, $s0, $zero +.L80240EC8: +/* 9F5908 80240EC8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F590C 80240ECC 3C014059 */ lui $at, 0x4059 +/* 9F5910 80240ED0 44811800 */ mtc1 $at, $f3 +/* 9F5914 80240ED4 44801000 */ mtc1 $zero, $f2 +/* 9F5918 80240ED8 46000021 */ cvt.d.s $f0, $f0 +/* 9F591C 80240EDC 46220002 */ mul.d $f0, $f0, $f2 +/* 9F5920 80240EE0 00000000 */ nop +/* 9F5924 80240EE4 4620020D */ trunc.w.d $f8, $f0 +/* 9F5928 80240EE8 E628007C */ swc1 $f8, 0x7c($s1) +/* 9F592C 80240EEC 8E420004 */ lw $v0, 4($s2) +/* 9F5930 80240EF0 18400021 */ blez $v0, .L80240F78 +/* 9F5934 80240EF4 00000000 */ nop +/* 9F5938 80240EF8 8602008E */ lh $v0, 0x8e($s0) +/* 9F593C 80240EFC 9603008E */ lhu $v1, 0x8e($s0) +/* 9F5940 80240F00 18400005 */ blez $v0, .L80240F18 +/* 9F5944 80240F04 2462FFFF */ addiu $v0, $v1, -1 +/* 9F5948 80240F08 A602008E */ sh $v0, 0x8e($s0) +/* 9F594C 80240F0C 00021400 */ sll $v0, $v0, 0x10 +/* 9F5950 80240F10 1C400019 */ bgtz $v0, .L80240F78 +/* 9F5954 80240F14 00000000 */ nop +.L80240F18: +/* 9F5958 80240F18 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9F595C 80240F1C 24020002 */ addiu $v0, $zero, 2 +/* 9F5960 80240F20 0C00A67F */ jal rand_int +/* 9F5964 80240F24 AE620070 */ sw $v0, 0x70($s3) +/* 9F5968 80240F28 3C035555 */ lui $v1, 0x5555 +/* 9F596C 80240F2C 34635556 */ ori $v1, $v1, 0x5556 +/* 9F5970 80240F30 00430018 */ mult $v0, $v1 +/* 9F5974 80240F34 000227C3 */ sra $a0, $v0, 0x1f +/* 9F5978 80240F38 00004010 */ mfhi $t0 +/* 9F597C 80240F3C 01042023 */ subu $a0, $t0, $a0 +/* 9F5980 80240F40 00041840 */ sll $v1, $a0, 1 +/* 9F5984 80240F44 00641821 */ addu $v1, $v1, $a0 +/* 9F5988 80240F48 00431023 */ subu $v0, $v0, $v1 +/* 9F598C 80240F4C 24430002 */ addiu $v1, $v0, 2 +/* 9F5990 80240F50 AE630074 */ sw $v1, 0x74($s3) +/* 9F5994 80240F54 8E42002C */ lw $v0, 0x2c($s2) +/* 9F5998 80240F58 58400007 */ blezl $v0, .L80240F78 +/* 9F599C 80240F5C AE600070 */ sw $zero, 0x70($s3) +/* 9F59A0 80240F60 8E420008 */ lw $v0, 8($s2) +/* 9F59A4 80240F64 18400003 */ blez $v0, .L80240F74 +/* 9F59A8 80240F68 28620003 */ slti $v0, $v1, 3 +/* 9F59AC 80240F6C 10400002 */ beqz $v0, .L80240F78 +/* 9F59B0 80240F70 00000000 */ nop +.L80240F74: +/* 9F59B4 80240F74 AE600070 */ sw $zero, 0x70($s3) +.L80240F78: +/* 9F59B8 80240F78 8FBF0058 */ lw $ra, 0x58($sp) +/* 9F59BC 80240F7C 8FB50054 */ lw $s5, 0x54($sp) +/* 9F59C0 80240F80 8FB40050 */ lw $s4, 0x50($sp) +/* 9F59C4 80240F84 8FB3004C */ lw $s3, 0x4c($sp) +/* 9F59C8 80240F88 8FB20048 */ lw $s2, 0x48($sp) +/* 9F59CC 80240F8C 8FB10044 */ lw $s1, 0x44($sp) +/* 9F59D0 80240F90 8FB00040 */ lw $s0, 0x40($sp) +/* 9F59D4 80240F94 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9F59D8 80240F98 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9F59DC 80240F9C D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9F59E0 80240FA0 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9F59E4 80240FA4 03E00008 */ jr $ra +/* 9F59E8 80240FA8 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80240FAC_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80240FAC_9F4A40.s new file mode 100644 index 0000000000..bf18817f8e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80240FAC_9F4A40.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FAC_9F59EC +/* 9F59EC 80240FAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9F59F0 80240FB0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9F59F4 80240FB4 0080982D */ daddu $s3, $a0, $zero +/* 9F59F8 80240FB8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9F59FC 80240FBC AFB20018 */ sw $s2, 0x18($sp) +/* 9F5A00 80240FC0 AFB10014 */ sw $s1, 0x14($sp) +/* 9F5A04 80240FC4 AFB00010 */ sw $s0, 0x10($sp) +/* 9F5A08 80240FC8 8E720148 */ lw $s2, 0x148($s3) +/* 9F5A0C 80240FCC 86440008 */ lh $a0, 8($s2) +/* 9F5A10 80240FD0 0C00EABB */ jal get_npc_unsafe +/* 9F5A14 80240FD4 00A0882D */ daddu $s1, $a1, $zero +/* 9F5A18 80240FD8 8E240008 */ lw $a0, 8($s1) +/* 9F5A1C 80240FDC 0040802D */ daddu $s0, $v0, $zero +/* 9F5A20 80240FE0 00041FC2 */ srl $v1, $a0, 0x1f +/* 9F5A24 80240FE4 00832021 */ addu $a0, $a0, $v1 +/* 9F5A28 80240FE8 00042043 */ sra $a0, $a0, 1 +/* 9F5A2C 80240FEC 0C00A67F */ jal rand_int +/* 9F5A30 80240FF0 24840001 */ addiu $a0, $a0, 1 +/* 9F5A34 80240FF4 8E230008 */ lw $v1, 8($s1) +/* 9F5A38 80240FF8 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9F5A3C 80240FFC 00032FC2 */ srl $a1, $v1, 0x1f +/* 9F5A40 80241000 00651821 */ addu $v1, $v1, $a1 +/* 9F5A44 80241004 00031843 */ sra $v1, $v1, 1 +/* 9F5A48 80241008 00621821 */ addu $v1, $v1, $v0 +/* 9F5A4C 8024100C 0C00A67F */ jal rand_int +/* 9F5A50 80241010 A603008E */ sh $v1, 0x8e($s0) +/* 9F5A54 80241014 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9F5A58 80241018 44820000 */ mtc1 $v0, $f0 +/* 9F5A5C 8024101C 00000000 */ nop +/* 9F5A60 80241020 46800020 */ cvt.s.w $f0, $f0 +/* 9F5A64 80241024 46006300 */ add.s $f12, $f12, $f0 +/* 9F5A68 80241028 3C0142B4 */ lui $at, 0x42b4 +/* 9F5A6C 8024102C 44810000 */ mtc1 $at, $f0 +/* 9F5A70 80241030 0C00A6C9 */ jal clamp_angle +/* 9F5A74 80241034 46006301 */ sub.s $f12, $f12, $f0 +/* 9F5A78 80241038 E600000C */ swc1 $f0, 0xc($s0) +/* 9F5A7C 8024103C 8E4200CC */ lw $v0, 0xcc($s2) +/* 9F5A80 80241040 8C420000 */ lw $v0, ($v0) +/* 9F5A84 80241044 AE020028 */ sw $v0, 0x28($s0) +/* 9F5A88 80241048 24020003 */ addiu $v0, $zero, 3 +/* 9F5A8C 8024104C AE620070 */ sw $v0, 0x70($s3) +/* 9F5A90 80241050 8FBF0020 */ lw $ra, 0x20($sp) +/* 9F5A94 80241054 8FB3001C */ lw $s3, 0x1c($sp) +/* 9F5A98 80241058 8FB20018 */ lw $s2, 0x18($sp) +/* 9F5A9C 8024105C 8FB10014 */ lw $s1, 0x14($sp) +/* 9F5AA0 80241060 8FB00010 */ lw $s0, 0x10($sp) +/* 9F5AA4 80241064 03E00008 */ jr $ra +/* 9F5AA8 80241068 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_8024106C_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_8024106C_9F4A40.s new file mode 100644 index 0000000000..cc15ed9f49 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_8024106C_9F4A40.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024106C_9F5AAC +/* 9F5AAC 8024106C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 9F5AB0 80241070 AFB3004C */ sw $s3, 0x4c($sp) +/* 9F5AB4 80241074 0080982D */ daddu $s3, $a0, $zero +/* 9F5AB8 80241078 AFBF0054 */ sw $ra, 0x54($sp) +/* 9F5ABC 8024107C AFB40050 */ sw $s4, 0x50($sp) +/* 9F5AC0 80241080 AFB20048 */ sw $s2, 0x48($sp) +/* 9F5AC4 80241084 AFB10044 */ sw $s1, 0x44($sp) +/* 9F5AC8 80241088 AFB00040 */ sw $s0, 0x40($sp) +/* 9F5ACC 8024108C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 9F5AD0 80241090 F7B80068 */ sdc1 $f24, 0x68($sp) +/* 9F5AD4 80241094 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 9F5AD8 80241098 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 9F5ADC 8024109C 8E710148 */ lw $s1, 0x148($s3) +/* 9F5AE0 802410A0 00A0902D */ daddu $s2, $a1, $zero +/* 9F5AE4 802410A4 86240008 */ lh $a0, 8($s1) +/* 9F5AE8 802410A8 0C00EABB */ jal get_npc_unsafe +/* 9F5AEC 802410AC 00C0A02D */ daddu $s4, $a2, $zero +/* 9F5AF0 802410B0 0040802D */ daddu $s0, $v0, $zero +/* 9F5AF4 802410B4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9F5AF8 802410B8 46800020 */ cvt.s.w $f0, $f0 +/* 9F5AFC 802410BC 46000021 */ cvt.d.s $f0, $f0 +/* 9F5B00 802410C0 3C014059 */ lui $at, 0x4059 +/* 9F5B04 802410C4 44811800 */ mtc1 $at, $f3 +/* 9F5B08 802410C8 44801000 */ mtc1 $zero, $f2 +/* 9F5B0C 802410CC 8602008E */ lh $v0, 0x8e($s0) +/* 9F5B10 802410D0 9603008E */ lhu $v1, 0x8e($s0) +/* 9F5B14 802410D4 46220003 */ div.d $f0, $f0, $f2 +/* 9F5B18 802410D8 46200620 */ cvt.s.d $f24, $f0 +/* 9F5B1C 802410DC C6200088 */ lwc1 $f0, 0x88($s1) +/* 9F5B20 802410E0 46800020 */ cvt.s.w $f0, $f0 +/* 9F5B24 802410E4 46000021 */ cvt.d.s $f0, $f0 +/* 9F5B28 802410E8 46220003 */ div.d $f0, $f0, $f2 +/* 9F5B2C 802410EC 46200020 */ cvt.s.d $f0, $f0 +/* 9F5B30 802410F0 18400003 */ blez $v0, .L80241100 +/* 9F5B34 802410F4 4600C680 */ add.s $f26, $f24, $f0 +/* 9F5B38 802410F8 2462FFFF */ addiu $v0, $v1, -1 +/* 9F5B3C 802410FC A602008E */ sh $v0, 0x8e($s0) +.L80241100: +/* 9F5B40 80241100 8E220070 */ lw $v0, 0x70($s1) +/* 9F5B44 80241104 18400034 */ blez $v0, .L802411D8 +/* 9F5B48 80241108 00000000 */ nop +/* 9F5B4C 8024110C C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9F5B50 80241110 46806320 */ cvt.s.w $f12, $f12 +/* 9F5B54 80241114 44820000 */ mtc1 $v0, $f0 +/* 9F5B58 80241118 00000000 */ nop +/* 9F5B5C 8024111C 46800020 */ cvt.s.w $f0, $f0 +/* 9F5B60 80241120 46000021 */ cvt.d.s $f0, $f0 +/* 9F5B64 80241124 46220003 */ div.d $f0, $f0, $f2 +/* 9F5B68 80241128 0C00A8BB */ jal sin_deg +/* 9F5B6C 8024112C 462005A0 */ cvt.s.d $f22, $f0 +/* 9F5B70 80241130 8E020000 */ lw $v0, ($s0) +/* 9F5B74 80241134 30420008 */ andi $v0, $v0, 8 +/* 9F5B78 80241138 10400003 */ beqz $v0, .L80241148 +/* 9F5B7C 8024113C 46000506 */ mov.s $f20, $f0 +/* 9F5B80 80241140 08090462 */ j .L80241188 +/* 9F5B84 80241144 0000102D */ daddu $v0, $zero, $zero +.L80241148: +/* 9F5B88 80241148 27A50028 */ addiu $a1, $sp, 0x28 +/* 9F5B8C 8024114C 27A6002C */ addiu $a2, $sp, 0x2c +/* 9F5B90 80241150 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F5B94 80241154 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F5B98 80241158 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9F5B9C 8024115C 3C01447A */ lui $at, 0x447a +/* 9F5BA0 80241160 44813000 */ mtc1 $at, $f6 +/* 9F5BA4 80241164 27A20034 */ addiu $v0, $sp, 0x34 +/* 9F5BA8 80241168 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9F5BAC 8024116C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9F5BB0 80241170 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9F5BB4 80241174 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9F5BB8 80241178 AFA20010 */ sw $v0, 0x10($sp) +/* 9F5BBC 8024117C 8E040080 */ lw $a0, 0x80($s0) +/* 9F5BC0 80241180 0C0372DF */ jal func_800DCB7C +/* 9F5BC4 80241184 27A70030 */ addiu $a3, $sp, 0x30 +.L80241188: +/* 9F5BC8 80241188 10400007 */ beqz $v0, .L802411A8 +/* 9F5BCC 8024118C 00000000 */ nop +/* 9F5BD0 80241190 4616A082 */ mul.s $f2, $f20, $f22 +/* 9F5BD4 80241194 00000000 */ nop +/* 9F5BD8 80241198 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9F5BDC 8024119C 46180000 */ add.s $f0, $f0, $f24 +/* 9F5BE0 802411A0 0809046D */ j .L802411B4 +/* 9F5BE4 802411A4 46020000 */ add.s $f0, $f0, $f2 +.L802411A8: +/* 9F5BE8 802411A8 4616A002 */ mul.s $f0, $f20, $f22 +/* 9F5BEC 802411AC 00000000 */ nop +/* 9F5BF0 802411B0 4600D000 */ add.s $f0, $f26, $f0 +.L802411B4: +/* 9F5BF4 802411B4 E600003C */ swc1 $f0, 0x3c($s0) +/* 9F5BF8 802411B8 8E220074 */ lw $v0, 0x74($s1) +/* 9F5BFC 802411BC 2442000A */ addiu $v0, $v0, 0xa +/* 9F5C00 802411C0 44826000 */ mtc1 $v0, $f12 +/* 9F5C04 802411C4 00000000 */ nop +/* 9F5C08 802411C8 0C00A6C9 */ jal clamp_angle +/* 9F5C0C 802411CC 46806320 */ cvt.s.w $f12, $f12 +/* 9F5C10 802411D0 4600020D */ trunc.w.s $f8, $f0 +/* 9F5C14 802411D4 E6280074 */ swc1 $f8, 0x74($s1) +.L802411D8: +/* 9F5C18 802411D8 8E220090 */ lw $v0, 0x90($s1) +/* 9F5C1C 802411DC 1C400040 */ bgtz $v0, .L802412E0 +/* 9F5C20 802411E0 2442FFFF */ addiu $v0, $v0, -1 +/* 9F5C24 802411E4 860200A8 */ lh $v0, 0xa8($s0) +/* 9F5C28 802411E8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F5C2C 802411EC 44821000 */ mtc1 $v0, $f2 +/* 9F5C30 802411F0 00000000 */ nop +/* 9F5C34 802411F4 468010A0 */ cvt.s.w $f2, $f2 +/* 9F5C38 802411F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F5C3C 802411FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F5C40 80241200 46020000 */ add.s $f0, $f0, $f2 +/* 9F5C44 80241204 3C014024 */ lui $at, 0x4024 +/* 9F5C48 80241208 44812800 */ mtc1 $at, $f5 +/* 9F5C4C 8024120C 44802000 */ mtc1 $zero, $f4 +/* 9F5C50 80241210 C442002C */ lwc1 $f2, 0x2c($v0) +/* 9F5C54 80241214 46000021 */ cvt.d.s $f0, $f0 +/* 9F5C58 80241218 46240000 */ add.d $f0, $f0, $f4 +/* 9F5C5C 8024121C 460010A1 */ cvt.d.s $f2, $f2 +/* 9F5C60 80241220 4620103C */ c.lt.d $f2, $f0 +/* 9F5C64 80241224 00000000 */ nop +/* 9F5C68 80241228 4500002E */ bc1f .L802412E4 +/* 9F5C6C 8024122C 0280202D */ daddu $a0, $s4, $zero +/* 9F5C70 80241230 24020001 */ addiu $v0, $zero, 1 +/* 9F5C74 80241234 AFA20010 */ sw $v0, 0x10($sp) +/* 9F5C78 80241238 8E460024 */ lw $a2, 0x24($s2) +/* 9F5C7C 8024123C 8E470028 */ lw $a3, 0x28($s2) +/* 9F5C80 80241240 0C01242D */ jal func_800490B4 +/* 9F5C84 80241244 0220282D */ daddu $a1, $s1, $zero +/* 9F5C88 80241248 10400026 */ beqz $v0, .L802412E4 +/* 9F5C8C 8024124C 0000202D */ daddu $a0, $zero, $zero +/* 9F5C90 80241250 0200282D */ daddu $a1, $s0, $zero +/* 9F5C94 80241254 0000302D */ daddu $a2, $zero, $zero +/* 9F5C98 80241258 2412000C */ addiu $s2, $zero, 0xc +/* 9F5C9C 8024125C 860300A8 */ lh $v1, 0xa8($s0) +/* 9F5CA0 80241260 3C013F80 */ lui $at, 0x3f80 +/* 9F5CA4 80241264 44810000 */ mtc1 $at, $f0 +/* 9F5CA8 80241268 3C014000 */ lui $at, 0x4000 +/* 9F5CAC 8024126C 44811000 */ mtc1 $at, $f2 +/* 9F5CB0 80241270 3C01C1A0 */ lui $at, 0xc1a0 +/* 9F5CB4 80241274 44812000 */ mtc1 $at, $f4 +/* 9F5CB8 80241278 44834000 */ mtc1 $v1, $f8 +/* 9F5CBC 8024127C 00000000 */ nop +/* 9F5CC0 80241280 46804220 */ cvt.s.w $f8, $f8 +/* 9F5CC4 80241284 44074000 */ mfc1 $a3, $f8 +/* 9F5CC8 80241288 27A20038 */ addiu $v0, $sp, 0x38 +/* 9F5CCC 8024128C AFB2001C */ sw $s2, 0x1c($sp) +/* 9F5CD0 80241290 AFA20020 */ sw $v0, 0x20($sp) +/* 9F5CD4 80241294 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9F5CD8 80241298 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9F5CDC 8024129C 0C01BFA4 */ jal fx_emote +/* 9F5CE0 802412A0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9F5CE4 802412A4 0200202D */ daddu $a0, $s0, $zero +/* 9F5CE8 802412A8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9F5CEC 802412AC C480003C */ lwc1 $f0, 0x3c($a0) +/* 9F5CF0 802412B0 3C060020 */ lui $a2, 0x20 +/* 9F5CF4 802412B4 0C012530 */ jal func_800494C0 +/* 9F5CF8 802412B8 E4800064 */ swc1 $f0, 0x64($a0) +/* 9F5CFC 802412BC 8E220018 */ lw $v0, 0x18($s1) +/* 9F5D00 802412C0 9442002A */ lhu $v0, 0x2a($v0) +/* 9F5D04 802412C4 30420001 */ andi $v0, $v0, 1 +/* 9F5D08 802412C8 10400003 */ beqz $v0, .L802412D8 +/* 9F5D0C 802412CC 2402000A */ addiu $v0, $zero, 0xa +/* 9F5D10 802412D0 080904E0 */ j .L80241380 +/* 9F5D14 802412D4 AE620070 */ sw $v0, 0x70($s3) +.L802412D8: +/* 9F5D18 802412D8 080904E0 */ j .L80241380 +/* 9F5D1C 802412DC AE720070 */ sw $s2, 0x70($s3) +.L802412E0: +/* 9F5D20 802412E0 AE220090 */ sw $v0, 0x90($s1) +.L802412E4: +/* 9F5D24 802412E4 8602008C */ lh $v0, 0x8c($s0) +/* 9F5D28 802412E8 14400025 */ bnez $v0, .L80241380 +/* 9F5D2C 802412EC 00000000 */ nop +/* 9F5D30 802412F0 8602008E */ lh $v0, 0x8e($s0) +/* 9F5D34 802412F4 1C400022 */ bgtz $v0, .L80241380 +/* 9F5D38 802412F8 00000000 */ nop +/* 9F5D3C 802412FC 8E620074 */ lw $v0, 0x74($s3) +/* 9F5D40 80241300 2442FFFF */ addiu $v0, $v0, -1 +/* 9F5D44 80241304 1840001D */ blez $v0, .L8024137C +/* 9F5D48 80241308 AE620074 */ sw $v0, 0x74($s3) +/* 9F5D4C 8024130C 8E220018 */ lw $v0, 0x18($s1) +/* 9F5D50 80241310 9442002A */ lhu $v0, 0x2a($v0) +/* 9F5D54 80241314 30420010 */ andi $v0, $v0, 0x10 +/* 9F5D58 80241318 14400007 */ bnez $v0, .L80241338 +/* 9F5D5C 8024131C 00000000 */ nop +/* 9F5D60 80241320 C600000C */ lwc1 $f0, 0xc($s0) +/* 9F5D64 80241324 3C014334 */ lui $at, 0x4334 +/* 9F5D68 80241328 44816000 */ mtc1 $at, $f12 +/* 9F5D6C 8024132C 0C00A6C9 */ jal clamp_angle +/* 9F5D70 80241330 460C0300 */ add.s $f12, $f0, $f12 +/* 9F5D74 80241334 E600000C */ swc1 $f0, 0xc($s0) +.L80241338: +/* 9F5D78 80241338 0C00A67F */ jal rand_int +/* 9F5D7C 8024133C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9F5D80 80241340 3C032E8B */ lui $v1, 0x2e8b +/* 9F5D84 80241344 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 9F5D88 80241348 00430018 */ mult $v0, $v1 +/* 9F5D8C 8024134C 00021FC3 */ sra $v1, $v0, 0x1f +/* 9F5D90 80241350 00004010 */ mfhi $t0 +/* 9F5D94 80241354 00082043 */ sra $a0, $t0, 1 +/* 9F5D98 80241358 00832023 */ subu $a0, $a0, $v1 +/* 9F5D9C 8024135C 00041840 */ sll $v1, $a0, 1 +/* 9F5DA0 80241360 00641821 */ addu $v1, $v1, $a0 +/* 9F5DA4 80241364 00031880 */ sll $v1, $v1, 2 +/* 9F5DA8 80241368 00641823 */ subu $v1, $v1, $a0 +/* 9F5DAC 8024136C 00431023 */ subu $v0, $v0, $v1 +/* 9F5DB0 80241370 24420005 */ addiu $v0, $v0, 5 +/* 9F5DB4 80241374 080904E0 */ j .L80241380 +/* 9F5DB8 80241378 A602008E */ sh $v0, 0x8e($s0) +.L8024137C: +/* 9F5DBC 8024137C AE600070 */ sw $zero, 0x70($s3) +.L80241380: +/* 9F5DC0 80241380 8FBF0054 */ lw $ra, 0x54($sp) +/* 9F5DC4 80241384 8FB40050 */ lw $s4, 0x50($sp) +/* 9F5DC8 80241388 8FB3004C */ lw $s3, 0x4c($sp) +/* 9F5DCC 8024138C 8FB20048 */ lw $s2, 0x48($sp) +/* 9F5DD0 80241390 8FB10044 */ lw $s1, 0x44($sp) +/* 9F5DD4 80241394 8FB00040 */ lw $s0, 0x40($sp) +/* 9F5DD8 80241398 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 9F5DDC 8024139C D7B80068 */ ldc1 $f24, 0x68($sp) +/* 9F5DE0 802413A0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* 9F5DE4 802413A4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 9F5DE8 802413A8 03E00008 */ jr $ra +/* 9F5DEC 802413AC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_802413B0.s b/asm/nonmatchings/world/area_nok/nok_11/func_802413B0.s new file mode 100644 index 0000000000..616977d38e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_802413B0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413B0 +/* 9F5DF0 802413B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9F5DF4 802413B4 AFB20018 */ sw $s2, 0x18($sp) +/* 9F5DF8 802413B8 0080902D */ daddu $s2, $a0, $zero +/* 9F5DFC 802413BC AFBF001C */ sw $ra, 0x1c($sp) +/* 9F5E00 802413C0 AFB10014 */ sw $s1, 0x14($sp) +/* 9F5E04 802413C4 AFB00010 */ sw $s0, 0x10($sp) +/* 9F5E08 802413C8 8E510148 */ lw $s1, 0x148($s2) +/* 9F5E0C 802413CC 0C00EABB */ jal get_npc_unsafe +/* 9F5E10 802413D0 86240008 */ lh $a0, 8($s1) +/* 9F5E14 802413D4 0040802D */ daddu $s0, $v0, $zero +/* 9F5E18 802413D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F5E1C 802413DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F5E20 802413E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F5E24 802413E4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F5E28 802413E8 A600008E */ sh $zero, 0x8e($s0) +/* 9F5E2C 802413EC 8C460028 */ lw $a2, 0x28($v0) +/* 9F5E30 802413F0 0C00A720 */ jal atan2 +/* 9F5E34 802413F4 8C470030 */ lw $a3, 0x30($v0) +/* 9F5E38 802413F8 E600000C */ swc1 $f0, 0xc($s0) +/* 9F5E3C 802413FC 8E2200CC */ lw $v0, 0xcc($s1) +/* 9F5E40 80241400 8C420020 */ lw $v0, 0x20($v0) +/* 9F5E44 80241404 AE020028 */ sw $v0, 0x28($s0) +/* 9F5E48 80241408 2402000B */ addiu $v0, $zero, 0xb +/* 9F5E4C 8024140C AE420070 */ sw $v0, 0x70($s2) +/* 9F5E50 80241410 8FBF001C */ lw $ra, 0x1c($sp) +/* 9F5E54 80241414 8FB20018 */ lw $s2, 0x18($sp) +/* 9F5E58 80241418 8FB10014 */ lw $s1, 0x14($sp) +/* 9F5E5C 8024141C 8FB00010 */ lw $s0, 0x10($sp) +/* 9F5E60 80241420 03E00008 */ jr $ra +/* 9F5E64 80241424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241428_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241428_9F4A40.s new file mode 100644 index 0000000000..497095c5a5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241428_9F4A40.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241428_9F5E68 +/* 9F5E68 80241428 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9F5E6C 8024142C AFB00010 */ sw $s0, 0x10($sp) +/* 9F5E70 80241430 0080802D */ daddu $s0, $a0, $zero +/* 9F5E74 80241434 AFBF0014 */ sw $ra, 0x14($sp) +/* 9F5E78 80241438 8E020148 */ lw $v0, 0x148($s0) +/* 9F5E7C 8024143C 0C00EABB */ jal get_npc_unsafe +/* 9F5E80 80241440 84440008 */ lh $a0, 8($v0) +/* 9F5E84 80241444 9443008E */ lhu $v1, 0x8e($v0) +/* 9F5E88 80241448 C440003C */ lwc1 $f0, 0x3c($v0) +/* 9F5E8C 8024144C 24640001 */ addiu $a0, $v1, 1 +/* 9F5E90 80241450 00031C00 */ sll $v1, $v1, 0x10 +/* 9F5E94 80241454 00031B83 */ sra $v1, $v1, 0xe +/* 9F5E98 80241458 A444008E */ sh $a0, 0x8e($v0) +/* 9F5E9C 8024145C 3C018024 */ lui $at, 0x8024 +/* 9F5EA0 80241460 00230821 */ addu $at, $at, $v1 +/* 9F5EA4 80241464 C4222888 */ lwc1 $f2, 0x2888($at) +/* 9F5EA8 80241468 8443008E */ lh $v1, 0x8e($v0) +/* 9F5EAC 8024146C 46020000 */ add.s $f0, $f0, $f2 +/* 9F5EB0 80241470 28630005 */ slti $v1, $v1, 5 +/* 9F5EB4 80241474 14600003 */ bnez $v1, .L80241484 +/* 9F5EB8 80241478 E440003C */ swc1 $f0, 0x3c($v0) +/* 9F5EBC 8024147C 2402000C */ addiu $v0, $zero, 0xc +/* 9F5EC0 80241480 AE020070 */ sw $v0, 0x70($s0) +.L80241484: +/* 9F5EC4 80241484 8FBF0014 */ lw $ra, 0x14($sp) +/* 9F5EC8 80241488 8FB00010 */ lw $s0, 0x10($sp) +/* 9F5ECC 8024148C 03E00008 */ jr $ra +/* 9F5ED0 80241490 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241494.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241494.s new file mode 100644 index 0000000000..e10d251872 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241494.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241494 +/* 9F5ED4 80241494 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9F5ED8 80241498 AFB3001C */ sw $s3, 0x1c($sp) +/* 9F5EDC 8024149C 0080982D */ daddu $s3, $a0, $zero +/* 9F5EE0 802414A0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9F5EE4 802414A4 AFB20018 */ sw $s2, 0x18($sp) +/* 9F5EE8 802414A8 AFB10014 */ sw $s1, 0x14($sp) +/* 9F5EEC 802414AC AFB00010 */ sw $s0, 0x10($sp) +/* 9F5EF0 802414B0 8E720148 */ lw $s2, 0x148($s3) +/* 9F5EF4 802414B4 86440008 */ lh $a0, 8($s2) +/* 9F5EF8 802414B8 0C00EABB */ jal get_npc_unsafe +/* 9F5EFC 802414BC 00A0802D */ daddu $s0, $a1, $zero +/* 9F5F00 802414C0 0040882D */ daddu $s1, $v0, $zero +/* 9F5F04 802414C4 C6420080 */ lwc1 $f2, 0x80($s2) +/* 9F5F08 802414C8 468010A0 */ cvt.s.w $f2, $f2 +/* 9F5F0C 802414CC 460010A1 */ cvt.d.s $f2, $f2 +/* 9F5F10 802414D0 C6400084 */ lwc1 $f0, 0x84($s2) +/* 9F5F14 802414D4 46800020 */ cvt.s.w $f0, $f0 +/* 9F5F18 802414D8 46000021 */ cvt.d.s $f0, $f0 +/* 9F5F1C 802414DC 3C014059 */ lui $at, 0x4059 +/* 9F5F20 802414E0 44812800 */ mtc1 $at, $f5 +/* 9F5F24 802414E4 44802000 */ mtc1 $zero, $f4 +/* 9F5F28 802414E8 8E4200CC */ lw $v0, 0xcc($s2) +/* 9F5F2C 802414EC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 9F5F30 802414F0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 9F5F34 802414F4 46241083 */ div.d $f2, $f2, $f4 +/* 9F5F38 802414F8 462010A0 */ cvt.s.d $f2, $f2 +/* 9F5F3C 802414FC 46240003 */ div.d $f0, $f0, $f4 +/* 9F5F40 80241500 8C420020 */ lw $v0, 0x20($v0) +/* 9F5F44 80241504 46200020 */ cvt.s.d $f0, $f0 +/* 9F5F48 80241508 E622001C */ swc1 $f2, 0x1c($s1) +/* 9F5F4C 8024150C E6200014 */ swc1 $f0, 0x14($s1) +/* 9F5F50 80241510 AE220028 */ sw $v0, 0x28($s1) +/* 9F5F54 80241514 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9F5F58 80241518 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F5F5C 8024151C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F5F60 80241520 E6200018 */ swc1 $f0, 0x18($s1) +/* 9F5F64 80241524 8C460028 */ lw $a2, 0x28($v0) +/* 9F5F68 80241528 0C00A720 */ jal atan2 +/* 9F5F6C 8024152C 8C470030 */ lw $a3, 0x30($v0) +/* 9F5F70 80241530 E620000C */ swc1 $f0, 0xc($s1) +/* 9F5F74 80241534 8E420018 */ lw $v0, 0x18($s2) +/* 9F5F78 80241538 AE400074 */ sw $zero, 0x74($s2) +/* 9F5F7C 8024153C 9442002A */ lhu $v0, 0x2a($v0) +/* 9F5F80 80241540 30420002 */ andi $v0, $v0, 2 +/* 9F5F84 80241544 10400005 */ beqz $v0, .L8024155C +/* 9F5F88 80241548 24020003 */ addiu $v0, $zero, 3 +/* 9F5F8C 8024154C A622008E */ sh $v0, 0x8e($s1) +/* 9F5F90 80241550 2402000D */ addiu $v0, $zero, 0xd +/* 9F5F94 80241554 0809056B */ j .L802415AC +/* 9F5F98 80241558 AE620070 */ sw $v0, 0x70($s3) +.L8024155C: +/* 9F5F9C 8024155C 24030001 */ addiu $v1, $zero, 1 +/* 9F5FA0 80241560 2402000E */ addiu $v0, $zero, 0xe +/* 9F5FA4 80241564 A623008E */ sh $v1, 0x8e($s1) +/* 9F5FA8 80241568 AE620070 */ sw $v0, 0x70($s3) +/* 9F5FAC 8024156C C6200038 */ lwc1 $f0, 0x38($s1) +/* 9F5FB0 80241570 4600018D */ trunc.w.s $f6, $f0 +/* 9F5FB4 80241574 44023000 */ mfc1 $v0, $f6 +/* 9F5FB8 80241578 00000000 */ nop +/* 9F5FBC 8024157C A6420010 */ sh $v0, 0x10($s2) +/* 9F5FC0 80241580 C620003C */ lwc1 $f0, 0x3c($s1) +/* 9F5FC4 80241584 4600018D */ trunc.w.s $f6, $f0 +/* 9F5FC8 80241588 44023000 */ mfc1 $v0, $f6 +/* 9F5FCC 8024158C 00000000 */ nop +/* 9F5FD0 80241590 A6420012 */ sh $v0, 0x12($s2) +/* 9F5FD4 80241594 C6200040 */ lwc1 $f0, 0x40($s1) +/* 9F5FD8 80241598 A2430007 */ sb $v1, 7($s2) +/* 9F5FDC 8024159C 4600018D */ trunc.w.s $f6, $f0 +/* 9F5FE0 802415A0 44023000 */ mfc1 $v0, $f6 +/* 9F5FE4 802415A4 00000000 */ nop +/* 9F5FE8 802415A8 A6420014 */ sh $v0, 0x14($s2) +.L802415AC: +/* 9F5FEC 802415AC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9F5FF0 802415B0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9F5FF4 802415B4 8FB20018 */ lw $s2, 0x18($sp) +/* 9F5FF8 802415B8 8FB10014 */ lw $s1, 0x14($sp) +/* 9F5FFC 802415BC 8FB00010 */ lw $s0, 0x10($sp) +/* 9F6000 802415C0 03E00008 */ jr $ra +/* 9F6004 802415C4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_802415C8.s b/asm/nonmatchings/world/area_nok/nok_11/func_802415C8.s new file mode 100644 index 0000000000..a3670f5aee --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_802415C8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C8 +/* 9F6008 802415C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9F600C 802415CC AFB00010 */ sw $s0, 0x10($sp) +/* 9F6010 802415D0 0080802D */ daddu $s0, $a0, $zero +/* 9F6014 802415D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9F6018 802415D8 8E020148 */ lw $v0, 0x148($s0) +/* 9F601C 802415DC 0C00EABB */ jal get_npc_unsafe +/* 9F6020 802415E0 84440008 */ lh $a0, 8($v0) +/* 9F6024 802415E4 0040202D */ daddu $a0, $v0, $zero +/* 9F6028 802415E8 8482008E */ lh $v0, 0x8e($a0) +/* 9F602C 802415EC 9483008E */ lhu $v1, 0x8e($a0) +/* 9F6030 802415F0 18400005 */ blez $v0, .L80241608 +/* 9F6034 802415F4 2462FFFF */ addiu $v0, $v1, -1 +/* 9F6038 802415F8 A482008E */ sh $v0, 0x8e($a0) +/* 9F603C 802415FC 00021400 */ sll $v0, $v0, 0x10 +/* 9F6040 80241600 1C400006 */ bgtz $v0, .L8024161C +/* 9F6044 80241604 00000000 */ nop +.L80241608: +/* 9F6048 80241608 8482008C */ lh $v0, 0x8c($a0) +/* 9F604C 8024160C 14400003 */ bnez $v0, .L8024161C +/* 9F6050 80241610 2402000E */ addiu $v0, $zero, 0xe +/* 9F6054 80241614 A480008E */ sh $zero, 0x8e($a0) +/* 9F6058 80241618 AE020070 */ sw $v0, 0x70($s0) +.L8024161C: +/* 9F605C 8024161C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9F6060 80241620 8FB00010 */ lw $s0, 0x10($sp) +/* 9F6064 80241624 03E00008 */ jr $ra +/* 9F6068 80241628 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_8024162C.s b/asm/nonmatchings/world/area_nok/nok_11/func_8024162C.s new file mode 100644 index 0000000000..9ebc7af075 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_8024162C.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024162C +/* 9F606C 8024162C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9F6070 80241630 AFB20030 */ sw $s2, 0x30($sp) +/* 9F6074 80241634 0080902D */ daddu $s2, $a0, $zero +/* 9F6078 80241638 AFBF0038 */ sw $ra, 0x38($sp) +/* 9F607C 8024163C AFB30034 */ sw $s3, 0x34($sp) +/* 9F6080 80241640 AFB1002C */ sw $s1, 0x2c($sp) +/* 9F6084 80241644 AFB00028 */ sw $s0, 0x28($sp) +/* 9F6088 80241648 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 9F608C 8024164C F7B40040 */ sdc1 $f20, 0x40($sp) +/* 9F6090 80241650 8E510148 */ lw $s1, 0x148($s2) +/* 9F6094 80241654 86240008 */ lh $a0, 8($s1) +/* 9F6098 80241658 0C00EABB */ jal get_npc_unsafe +/* 9F609C 8024165C 00A0982D */ daddu $s3, $a1, $zero +/* 9F60A0 80241660 0040802D */ daddu $s0, $v0, $zero +/* 9F60A4 80241664 0200202D */ daddu $a0, $s0, $zero +/* 9F60A8 80241668 C6220088 */ lwc1 $f2, 0x88($s1) +/* 9F60AC 8024166C 468010A0 */ cvt.s.w $f2, $f2 +/* 9F60B0 80241670 460010A1 */ cvt.d.s $f2, $f2 +/* 9F60B4 80241674 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9F60B8 80241678 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9F60BC 8024167C 8E050018 */ lw $a1, 0x18($s0) +/* 9F60C0 80241680 46002100 */ add.s $f4, $f4, $f0 +/* 9F60C4 80241684 8E06000C */ lw $a2, 0xc($s0) +/* 9F60C8 80241688 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9F60CC 8024168C 46800020 */ cvt.s.w $f0, $f0 +/* 9F60D0 80241690 E604001C */ swc1 $f4, 0x1c($s0) +/* 9F60D4 80241694 3C014059 */ lui $at, 0x4059 +/* 9F60D8 80241698 44812800 */ mtc1 $at, $f5 +/* 9F60DC 8024169C 44802000 */ mtc1 $zero, $f4 +/* 9F60E0 802416A0 46000021 */ cvt.d.s $f0, $f0 +/* 9F60E4 802416A4 46240003 */ div.d $f0, $f0, $f4 +/* 9F60E8 802416A8 46200520 */ cvt.s.d $f20, $f0 +/* 9F60EC 802416AC 46241083 */ div.d $f2, $f2, $f4 +/* 9F60F0 802416B0 0C00EA95 */ jal npc_move_heading +/* 9F60F4 802416B4 462015A0 */ cvt.s.d $f22, $f2 +/* 9F60F8 802416B8 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9F60FC 802416BC 44801000 */ mtc1 $zero, $f2 +/* 9F6100 802416C0 44801800 */ mtc1 $zero, $f3 +/* 9F6104 802416C4 46002021 */ cvt.d.s $f0, $f4 +/* 9F6108 802416C8 4620103E */ c.le.d $f2, $f0 +/* 9F610C 802416CC 00000000 */ nop +/* 9F6110 802416D0 45000030 */ bc1f .L80241794 +/* 9F6114 802416D4 00000000 */ nop +/* 9F6118 802416D8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F611C 802416DC 46040000 */ add.s $f0, $f0, $f4 +/* 9F6120 802416E0 E600003C */ swc1 $f0, 0x3c($s0) +/* 9F6124 802416E4 8E2200CC */ lw $v0, 0xcc($s1) +/* 9F6128 802416E8 8C420024 */ lw $v0, 0x24($v0) +/* 9F612C 802416EC AE020028 */ sw $v0, 0x28($s0) +/* 9F6130 802416F0 A2200007 */ sb $zero, 7($s1) +/* 9F6134 802416F4 8E020000 */ lw $v0, ($s0) +/* 9F6138 802416F8 30420008 */ andi $v0, $v0, 8 +/* 9F613C 802416FC 14400011 */ bnez $v0, .L80241744 +/* 9F6140 80241700 0000102D */ daddu $v0, $zero, $zero +/* 9F6144 80241704 27A50018 */ addiu $a1, $sp, 0x18 +/* 9F6148 80241708 27A6001C */ addiu $a2, $sp, 0x1c +/* 9F614C 8024170C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F6150 80241710 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F6154 80241714 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9F6158 80241718 3C01447A */ lui $at, 0x447a +/* 9F615C 8024171C 44813000 */ mtc1 $at, $f6 +/* 9F6160 80241720 27A20024 */ addiu $v0, $sp, 0x24 +/* 9F6164 80241724 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F6168 80241728 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9F616C 8024172C E7A40020 */ swc1 $f4, 0x20($sp) +/* 9F6170 80241730 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9F6174 80241734 AFA20010 */ sw $v0, 0x10($sp) +/* 9F6178 80241738 8E040080 */ lw $a0, 0x80($s0) +/* 9F617C 8024173C 0C0372DF */ jal func_800DCB7C +/* 9F6180 80241740 27A70020 */ addiu $a3, $sp, 0x20 +.L80241744: +/* 9F6184 80241744 1040000B */ beqz $v0, .L80241774 +/* 9F6188 80241748 00000000 */ nop +/* 9F618C 8024174C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9F6190 80241750 46140080 */ add.s $f2, $f0, $f20 +/* 9F6194 80241754 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F6198 80241758 4600103E */ c.le.s $f2, $f0 +/* 9F619C 8024175C 00000000 */ nop +/* 9F61A0 80241760 4500008D */ bc1f .L80241998 +/* 9F61A4 80241764 00000000 */ nop +/* 9F61A8 80241768 E602003C */ swc1 $f2, 0x3c($s0) +/* 9F61AC 8024176C 08090666 */ j .L80241998 +/* 9F61B0 80241770 AE400070 */ sw $zero, 0x70($s2) +.L80241774: +/* 9F61B4 80241774 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F61B8 80241778 C6000064 */ lwc1 $f0, 0x64($s0) +/* 9F61BC 8024177C 4602003E */ c.le.s $f0, $f2 +/* 9F61C0 80241780 00000000 */ nop +/* 9F61C4 80241784 45030084 */ bc1tl .L80241998 +/* 9F61C8 80241788 AE400070 */ sw $zero, 0x70($s2) +/* 9F61CC 8024178C 08090666 */ j .L80241998 +/* 9F61D0 80241790 00000000 */ nop +.L80241794: +/* 9F61D4 80241794 4622003C */ c.lt.d $f0, $f2 +/* 9F61D8 80241798 00000000 */ nop +/* 9F61DC 8024179C 4500007E */ bc1f .L80241998 +/* 9F61E0 802417A0 00000000 */ nop +/* 9F61E4 802417A4 9602008E */ lhu $v0, 0x8e($s0) +/* 9F61E8 802417A8 24420001 */ addiu $v0, $v0, 1 +/* 9F61EC 802417AC A602008E */ sh $v0, 0x8e($s0) +/* 9F61F0 802417B0 00021400 */ sll $v0, $v0, 0x10 +/* 9F61F4 802417B4 8E630020 */ lw $v1, 0x20($s3) +/* 9F61F8 802417B8 00021403 */ sra $v0, $v0, 0x10 +/* 9F61FC 802417BC 0043102A */ slt $v0, $v0, $v1 +/* 9F6200 802417C0 14400026 */ bnez $v0, .L8024185C +/* 9F6204 802417C4 00000000 */ nop +/* 9F6208 802417C8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9F620C 802417CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9F6210 802417D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9F6214 802417D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9F6218 802417D8 A600008E */ sh $zero, 0x8e($s0) +/* 9F621C 802417DC 8C460028 */ lw $a2, 0x28($v0) +/* 9F6220 802417E0 0C00A720 */ jal atan2 +/* 9F6224 802417E4 8C470030 */ lw $a3, 0x30($v0) +/* 9F6228 802417E8 46000506 */ mov.s $f20, $f0 +/* 9F622C 802417EC C60C000C */ lwc1 $f12, 0xc($s0) +/* 9F6230 802417F0 0C00A70A */ jal get_clamped_angle_diff +/* 9F6234 802417F4 4600A386 */ mov.s $f14, $f20 +/* 9F6238 802417F8 46000086 */ mov.s $f2, $f0 +/* 9F623C 802417FC 8E62001C */ lw $v0, 0x1c($s3) +/* 9F6240 80241800 46001005 */ abs.s $f0, $f2 +/* 9F6244 80241804 44822000 */ mtc1 $v0, $f4 +/* 9F6248 80241808 00000000 */ nop +/* 9F624C 8024180C 46802120 */ cvt.s.w $f4, $f4 +/* 9F6250 80241810 4600203C */ c.lt.s $f4, $f0 +/* 9F6254 80241814 00000000 */ nop +/* 9F6258 80241818 4500000D */ bc1f .L80241850 +/* 9F625C 8024181C 00000000 */ nop +/* 9F6260 80241820 44800000 */ mtc1 $zero, $f0 +/* 9F6264 80241824 C614000C */ lwc1 $f20, 0xc($s0) +/* 9F6268 80241828 4600103C */ c.lt.s $f2, $f0 +/* 9F626C 8024182C 00000000 */ nop +/* 9F6270 80241830 45000006 */ bc1f .L8024184C +/* 9F6274 80241834 00021023 */ negu $v0, $v0 +/* 9F6278 80241838 44820000 */ mtc1 $v0, $f0 +/* 9F627C 8024183C 00000000 */ nop +/* 9F6280 80241840 46800020 */ cvt.s.w $f0, $f0 +/* 9F6284 80241844 08090614 */ j .L80241850 +/* 9F6288 80241848 4600A500 */ add.s $f20, $f20, $f0 +.L8024184C: +/* 9F628C 8024184C 4604A500 */ add.s $f20, $f20, $f4 +.L80241850: +/* 9F6290 80241850 0C00A6C9 */ jal clamp_angle +/* 9F6294 80241854 4600A306 */ mov.s $f12, $f20 +/* 9F6298 80241858 E600000C */ swc1 $f0, 0xc($s0) +.L8024185C: +/* 9F629C 8024185C 8E020000 */ lw $v0, ($s0) +/* 9F62A0 80241860 30420008 */ andi $v0, $v0, 8 +/* 9F62A4 80241864 1040000A */ beqz $v0, .L80241890 +/* 9F62A8 80241868 27A50018 */ addiu $a1, $sp, 0x18 +/* 9F62AC 8024186C C602003C */ lwc1 $f2, 0x3c($s0) +/* 9F62B0 80241870 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9F62B4 80241874 46001080 */ add.s $f2, $f2, $f0 +/* 9F62B8 80241878 4616103C */ c.lt.s $f2, $f22 +/* 9F62BC 8024187C 00000000 */ nop +/* 9F62C0 80241880 45020045 */ bc1fl .L80241998 +/* 9F62C4 80241884 E602003C */ swc1 $f2, 0x3c($s0) +/* 9F62C8 80241888 08090665 */ j .L80241994 +/* 9F62CC 8024188C E616003C */ swc1 $f22, 0x3c($s0) +.L80241890: +/* 9F62D0 80241890 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9F62D4 80241894 27A6001C */ addiu $a2, $sp, 0x1c +/* 9F62D8 80241898 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F62DC 8024189C 860200A8 */ lh $v0, 0xa8($s0) +/* 9F62E0 802418A0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9F62E4 802418A4 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9F62E8 802418A8 44821000 */ mtc1 $v0, $f2 +/* 9F62EC 802418AC 00000000 */ nop +/* 9F62F0 802418B0 468010A0 */ cvt.s.w $f2, $f2 +/* 9F62F4 802418B4 46000005 */ abs.s $f0, $f0 +/* 9F62F8 802418B8 46020000 */ add.s $f0, $f0, $f2 +/* 9F62FC 802418BC C6060040 */ lwc1 $f6, 0x40($s0) +/* 9F6300 802418C0 27A20024 */ addiu $v0, $sp, 0x24 +/* 9F6304 802418C4 46022100 */ add.s $f4, $f4, $f2 +/* 9F6308 802418C8 3C014024 */ lui $at, 0x4024 +/* 9F630C 802418CC 44811800 */ mtc1 $at, $f3 +/* 9F6310 802418D0 44801000 */ mtc1 $zero, $f2 +/* 9F6314 802418D4 46000021 */ cvt.d.s $f0, $f0 +/* 9F6318 802418D8 46220000 */ add.d $f0, $f0, $f2 +/* 9F631C 802418DC E7A60020 */ swc1 $f6, 0x20($sp) +/* 9F6320 802418E0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* 9F6324 802418E4 46200020 */ cvt.s.d $f0, $f0 +/* 9F6328 802418E8 E7A00024 */ swc1 $f0, 0x24($sp) +/* 9F632C 802418EC AFA20010 */ sw $v0, 0x10($sp) +/* 9F6330 802418F0 8E040080 */ lw $a0, 0x80($s0) +/* 9F6334 802418F4 0C0372DF */ jal func_800DCB7C +/* 9F6338 802418F8 27A70020 */ addiu $a3, $sp, 0x20 +/* 9F633C 802418FC 10400015 */ beqz $v0, .L80241954 +/* 9F6340 80241900 00000000 */ nop +/* 9F6344 80241904 860200A8 */ lh $v0, 0xa8($s0) +/* 9F6348 80241908 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9F634C 8024190C 44820000 */ mtc1 $v0, $f0 +/* 9F6350 80241910 00000000 */ nop +/* 9F6354 80241914 46800020 */ cvt.s.w $f0, $f0 +/* 9F6358 80241918 46002085 */ abs.s $f2, $f4 +/* 9F635C 8024191C 46020000 */ add.s $f0, $f0, $f2 +/* 9F6360 80241920 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9F6364 80241924 4600103E */ c.le.s $f2, $f0 +/* 9F6368 80241928 00000000 */ nop +/* 9F636C 8024192C 45000005 */ bc1f .L80241944 +/* 9F6370 80241930 00000000 */ nop +/* 9F6374 80241934 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9F6378 80241938 AE00001C */ sw $zero, 0x1c($s0) +/* 9F637C 8024193C 08090666 */ j .L80241998 +/* 9F6380 80241940 E600003C */ swc1 $f0, 0x3c($s0) +.L80241944: +/* 9F6384 80241944 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9F6388 80241948 46040000 */ add.s $f0, $f0, $f4 +/* 9F638C 8024194C 08090666 */ j .L80241998 +/* 9F6390 80241950 E600003C */ swc1 $f0, 0x3c($s0) +.L80241954: +/* 9F6394 80241954 C606003C */ lwc1 $f6, 0x3c($s0) +/* 9F6398 80241958 860200A8 */ lh $v0, 0xa8($s0) +/* 9F639C 8024195C 46163081 */ sub.s $f2, $f6, $f22 +/* 9F63A0 80241960 44820000 */ mtc1 $v0, $f0 +/* 9F63A4 80241964 00000000 */ nop +/* 9F63A8 80241968 46800020 */ cvt.s.w $f0, $f0 +/* 9F63AC 8024196C 46001080 */ add.s $f2, $f2, $f0 +/* 9F63B0 80241970 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9F63B4 80241974 46002005 */ abs.s $f0, $f4 +/* 9F63B8 80241978 4602003C */ c.lt.s $f0, $f2 +/* 9F63BC 8024197C 00000000 */ nop +/* 9F63C0 80241980 45020005 */ bc1fl .L80241998 +/* 9F63C4 80241984 AE00001C */ sw $zero, 0x1c($s0) +/* 9F63C8 80241988 46043000 */ add.s $f0, $f6, $f4 +/* 9F63CC 8024198C 08090666 */ j .L80241998 +/* 9F63D0 80241990 E600003C */ swc1 $f0, 0x3c($s0) +.L80241994: +/* 9F63D4 80241994 AE00001C */ sw $zero, 0x1c($s0) +.L80241998: +/* 9F63D8 80241998 8FBF0038 */ lw $ra, 0x38($sp) +/* 9F63DC 8024199C 8FB30034 */ lw $s3, 0x34($sp) +/* 9F63E0 802419A0 8FB20030 */ lw $s2, 0x30($sp) +/* 9F63E4 802419A4 8FB1002C */ lw $s1, 0x2c($sp) +/* 9F63E8 802419A8 8FB00028 */ lw $s0, 0x28($sp) +/* 9F63EC 802419AC D7B60048 */ ldc1 $f22, 0x48($sp) +/* 9F63F0 802419B0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 9F63F4 802419B4 03E00008 */ jr $ra +/* 9F63F8 802419B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_802419BC_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_802419BC_9F4A40.s new file mode 100644 index 0000000000..e33ddd7130 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_802419BC_9F4A40.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419BC_9F63FC +/* 9F63FC 802419BC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9F6400 802419C0 AFB00028 */ sw $s0, 0x28($sp) +/* 9F6404 802419C4 00A0802D */ daddu $s0, $a1, $zero +/* 9F6408 802419C8 AFB1002C */ sw $s1, 0x2c($sp) +/* 9F640C 802419CC 00C0882D */ daddu $s1, $a2, $zero +/* 9F6410 802419D0 AFBF0034 */ sw $ra, 0x34($sp) +/* 9F6414 802419D4 AFB20030 */ sw $s2, 0x30($sp) +/* 9F6418 802419D8 AE200070 */ sw $zero, 0x70($s1) +/* 9F641C 802419DC 8C830000 */ lw $v1, ($a0) +/* 9F6420 802419E0 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9F6424 802419E4 A480008E */ sh $zero, 0x8e($a0) +/* 9F6428 802419E8 00621824 */ and $v1, $v1, $v0 +/* 9F642C 802419EC 34650800 */ ori $a1, $v1, 0x800 +/* 9F6430 802419F0 AC850000 */ sw $a1, ($a0) +/* 9F6434 802419F4 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9F6438 802419F8 8C420034 */ lw $v0, 0x34($v0) +/* 9F643C 802419FC 10400003 */ beqz $v0, .L80241A0C +/* 9F6440 80241A00 00E0902D */ daddu $s2, $a3, $zero +/* 9F6444 80241A04 08090685 */ j .L80241A14 +/* 9F6448 80241A08 34620808 */ ori $v0, $v1, 0x808 +.L80241A0C: +/* 9F644C 80241A0C 2402FFF7 */ addiu $v0, $zero, -9 +/* 9F6450 80241A10 00A21024 */ and $v0, $a1, $v0 +.L80241A14: +/* 9F6454 80241A14 AC820000 */ sw $v0, ($a0) +/* 9F6458 80241A18 27A20024 */ addiu $v0, $sp, 0x24 +/* 9F645C 80241A1C 27A50018 */ addiu $a1, $sp, 0x18 +/* 9F6460 80241A20 C4800038 */ lwc1 $f0, 0x38($a0) +/* 9F6464 80241A24 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9F6468 80241A28 C4840040 */ lwc1 $f4, 0x40($a0) +/* 9F646C 80241A2C 3C01447A */ lui $at, 0x447a +/* 9F6470 80241A30 44813000 */ mtc1 $at, $f6 +/* 9F6474 80241A34 27A6001C */ addiu $a2, $sp, 0x1c +/* 9F6478 80241A38 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9F647C 80241A3C E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9F6480 80241A40 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9F6484 80241A44 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9F6488 80241A48 AFA20010 */ sw $v0, 0x10($sp) +/* 9F648C 80241A4C 8C840080 */ lw $a0, 0x80($a0) +/* 9F6490 80241A50 0C0372DF */ jal func_800DCB7C +/* 9F6494 80241A54 27A70020 */ addiu $a3, $sp, 0x20 +/* 9F6498 80241A58 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9F649C 80241A5C 3C014059 */ lui $at, 0x4059 +/* 9F64A0 80241A60 44812800 */ mtc1 $at, $f5 +/* 9F64A4 80241A64 44802000 */ mtc1 $zero, $f4 +/* 9F64A8 80241A68 460010A1 */ cvt.d.s $f2, $f2 +/* 9F64AC 80241A6C 46241082 */ mul.d $f2, $f2, $f4 +/* 9F64B0 80241A70 00000000 */ nop +/* 9F64B4 80241A74 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9F64B8 80241A78 46000021 */ cvt.d.s $f0, $f0 +/* 9F64BC 80241A7C 46240002 */ mul.d $f0, $f0, $f4 +/* 9F64C0 80241A80 00000000 */ nop +/* 9F64C4 80241A84 3C013FE0 */ lui $at, 0x3fe0 +/* 9F64C8 80241A88 44812800 */ mtc1 $at, $f5 +/* 9F64CC 80241A8C 44802000 */ mtc1 $zero, $f4 +/* 9F64D0 80241A90 00000000 */ nop +/* 9F64D4 80241A94 46241080 */ add.d $f2, $f2, $f4 +/* 9F64D8 80241A98 AE000074 */ sw $zero, 0x74($s0) +/* 9F64DC 80241A9C 46240000 */ add.d $f0, $f0, $f4 +/* 9F64E0 80241AA0 AE000090 */ sw $zero, 0x90($s0) +/* 9F64E4 80241AA4 4620120D */ trunc.w.d $f8, $f2 +/* 9F64E8 80241AA8 E6080078 */ swc1 $f8, 0x78($s0) +/* 9F64EC 80241AAC 4620020D */ trunc.w.d $f8, $f0 +/* 9F64F0 80241AB0 E6080088 */ swc1 $f8, 0x88($s0) +/* 9F64F4 80241AB4 8E420014 */ lw $v0, 0x14($s2) +/* 9F64F8 80241AB8 AE220074 */ sw $v0, 0x74($s1) +/* 9F64FC 80241ABC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9F6500 80241AC0 34420010 */ ori $v0, $v0, 0x10 +/* 9F6504 80241AC4 AE0200B0 */ sw $v0, 0xb0($s0) +/* 9F6508 80241AC8 8FBF0034 */ lw $ra, 0x34($sp) +/* 9F650C 80241ACC 8FB20030 */ lw $s2, 0x30($sp) +/* 9F6510 80241AD0 8FB1002C */ lw $s1, 0x2c($sp) +/* 9F6514 80241AD4 8FB00028 */ lw $s0, 0x28($sp) +/* 9F6518 80241AD8 03E00008 */ jr $ra +/* 9F651C 80241ADC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241AE0.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241AE0.s new file mode 100644 index 0000000000..0d98d4398f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241AE0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AE0 +/* 9F6520 80241AE0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9F6524 80241AE4 AFB40040 */ sw $s4, 0x40($sp) +/* 9F6528 80241AE8 0080A02D */ daddu $s4, $a0, $zero +/* 9F652C 80241AEC AFBF0048 */ sw $ra, 0x48($sp) +/* 9F6530 80241AF0 AFB50044 */ sw $s5, 0x44($sp) +/* 9F6534 80241AF4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9F6538 80241AF8 AFB20038 */ sw $s2, 0x38($sp) +/* 9F653C 80241AFC AFB10034 */ sw $s1, 0x34($sp) +/* 9F6540 80241B00 AFB00030 */ sw $s0, 0x30($sp) +/* 9F6544 80241B04 8E920148 */ lw $s2, 0x148($s4) +/* 9F6548 80241B08 86440008 */ lh $a0, 8($s2) +/* 9F654C 80241B0C 8E90000C */ lw $s0, 0xc($s4) +/* 9F6550 80241B10 0C00EABB */ jal get_npc_unsafe +/* 9F6554 80241B14 00A0882D */ daddu $s1, $a1, $zero +/* 9F6558 80241B18 0280202D */ daddu $a0, $s4, $zero +/* 9F655C 80241B1C 8E050000 */ lw $a1, ($s0) +/* 9F6560 80241B20 0C0B1EAF */ jal get_variable +/* 9F6564 80241B24 0040A82D */ daddu $s5, $v0, $zero +/* 9F6568 80241B28 AFA00010 */ sw $zero, 0x10($sp) +/* 9F656C 80241B2C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9F6570 80241B30 8C630030 */ lw $v1, 0x30($v1) +/* 9F6574 80241B34 AFA30014 */ sw $v1, 0x14($sp) +/* 9F6578 80241B38 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9F657C 80241B3C 8C63001C */ lw $v1, 0x1c($v1) +/* 9F6580 80241B40 AFA30018 */ sw $v1, 0x18($sp) +/* 9F6584 80241B44 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9F6588 80241B48 8C630024 */ lw $v1, 0x24($v1) +/* 9F658C 80241B4C AFA3001C */ sw $v1, 0x1c($sp) +/* 9F6590 80241B50 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9F6594 80241B54 8C630028 */ lw $v1, 0x28($v1) +/* 9F6598 80241B58 27B30010 */ addiu $s3, $sp, 0x10 +/* 9F659C 80241B5C AFA30020 */ sw $v1, 0x20($sp) +/* 9F65A0 80241B60 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9F65A4 80241B64 3C0142F0 */ lui $at, 0x42f0 +/* 9F65A8 80241B68 44810000 */ mtc1 $at, $f0 +/* 9F65AC 80241B6C 8C63002C */ lw $v1, 0x2c($v1) +/* 9F65B0 80241B70 0040802D */ daddu $s0, $v0, $zero +/* 9F65B4 80241B74 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9F65B8 80241B78 A7A0002C */ sh $zero, 0x2c($sp) +/* 9F65BC 80241B7C 12200006 */ beqz $s1, .L80241B98 +/* 9F65C0 80241B80 AFA30024 */ sw $v1, 0x24($sp) +/* 9F65C4 80241B84 02A0202D */ daddu $a0, $s5, $zero +/* 9F65C8 80241B88 0240282D */ daddu $a1, $s2, $zero +/* 9F65CC 80241B8C 0280302D */ daddu $a2, $s4, $zero +/* 9F65D0 80241B90 0C09066F */ jal func_802419BC +/* 9F65D4 80241B94 0200382D */ daddu $a3, $s0, $zero +.L80241B98: +/* 9F65D8 80241B98 2402FFFE */ addiu $v0, $zero, -2 +/* 9F65DC 80241B9C A2A200AB */ sb $v0, 0xab($s5) +/* 9F65E0 80241BA0 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9F65E4 80241BA4 30620004 */ andi $v0, $v1, 4 +/* 9F65E8 80241BA8 10400007 */ beqz $v0, .L80241BC8 +/* 9F65EC 80241BAC 00000000 */ nop +/* 9F65F0 80241BB0 824200B4 */ lb $v0, 0xb4($s2) +/* 9F65F4 80241BB4 1440003C */ bnez $v0, .L80241CA8 +/* 9F65F8 80241BB8 0000102D */ daddu $v0, $zero, $zero +/* 9F65FC 80241BBC 2402FFFB */ addiu $v0, $zero, -5 +/* 9F6600 80241BC0 00621024 */ and $v0, $v1, $v0 +/* 9F6604 80241BC4 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241BC8: +/* 9F6608 80241BC8 8E830070 */ lw $v1, 0x70($s4) +/* 9F660C 80241BCC 2C62000F */ sltiu $v0, $v1, 0xf +/* 9F6610 80241BD0 10400034 */ beqz $v0, .L80241CA4 +/* 9F6614 80241BD4 00031080 */ sll $v0, $v1, 2 +/* 9F6618 80241BD8 3C018024 */ lui $at, 0x8024 +/* 9F661C 80241BDC 00220821 */ addu $at, $at, $v0 +/* 9F6620 80241BE0 8C225D68 */ lw $v0, 0x5d68($at) +/* 9F6624 80241BE4 00400008 */ jr $v0 +/* 9F6628 80241BE8 00000000 */ nop +/* 9F662C 80241BEC 0280202D */ daddu $a0, $s4, $zero +/* 9F6630 80241BF0 0200282D */ daddu $a1, $s0, $zero +/* 9F6634 80241BF4 0C0901F5 */ jal func_802407D4 +/* 9F6638 80241BF8 0260302D */ daddu $a2, $s3, $zero +/* 9F663C 80241BFC 0280202D */ daddu $a0, $s4, $zero +/* 9F6640 80241C00 0200282D */ daddu $a1, $s0, $zero +/* 9F6644 80241C04 0C090261 */ jal func_80240984 +/* 9F6648 80241C08 0260302D */ daddu $a2, $s3, $zero +/* 9F664C 80241C0C 0809072A */ j .L80241CA8 +/* 9F6650 80241C10 0000102D */ daddu $v0, $zero, $zero +/* 9F6654 80241C14 0280202D */ daddu $a0, $s4, $zero +/* 9F6658 80241C18 0200282D */ daddu $a1, $s0, $zero +/* 9F665C 80241C1C 0C0903EB */ jal func_80240FAC +/* 9F6660 80241C20 0260302D */ daddu $a2, $s3, $zero +/* 9F6664 80241C24 0280202D */ daddu $a0, $s4, $zero +/* 9F6668 80241C28 0200282D */ daddu $a1, $s0, $zero +/* 9F666C 80241C2C 0C09041B */ jal func_8024106C +/* 9F6670 80241C30 0260302D */ daddu $a2, $s3, $zero +/* 9F6674 80241C34 0809072A */ j .L80241CA8 +/* 9F6678 80241C38 0000102D */ daddu $v0, $zero, $zero +/* 9F667C 80241C3C 0280202D */ daddu $a0, $s4, $zero +/* 9F6680 80241C40 0200282D */ daddu $a1, $s0, $zero +/* 9F6684 80241C44 0C0904EC */ jal func_802413B0 +/* 9F6688 80241C48 0260302D */ daddu $a2, $s3, $zero +/* 9F668C 80241C4C 0280202D */ daddu $a0, $s4, $zero +/* 9F6690 80241C50 0200282D */ daddu $a1, $s0, $zero +/* 9F6694 80241C54 0C09050A */ jal func_80241428 +/* 9F6698 80241C58 0260302D */ daddu $a2, $s3, $zero +/* 9F669C 80241C5C 0809072A */ j .L80241CA8 +/* 9F66A0 80241C60 0000102D */ daddu $v0, $zero, $zero +/* 9F66A4 80241C64 0280202D */ daddu $a0, $s4, $zero +/* 9F66A8 80241C68 0200282D */ daddu $a1, $s0, $zero +/* 9F66AC 80241C6C 0C090525 */ jal func_80241494 +/* 9F66B0 80241C70 0260302D */ daddu $a2, $s3, $zero +/* 9F66B4 80241C74 0809072A */ j .L80241CA8 +/* 9F66B8 80241C78 0000102D */ daddu $v0, $zero, $zero +/* 9F66BC 80241C7C 0280202D */ daddu $a0, $s4, $zero +/* 9F66C0 80241C80 0200282D */ daddu $a1, $s0, $zero +/* 9F66C4 80241C84 0C090572 */ jal func_802415C8 +/* 9F66C8 80241C88 0260302D */ daddu $a2, $s3, $zero +/* 9F66CC 80241C8C 0809072A */ j .L80241CA8 +/* 9F66D0 80241C90 0000102D */ daddu $v0, $zero, $zero +/* 9F66D4 80241C94 0280202D */ daddu $a0, $s4, $zero +/* 9F66D8 80241C98 0200282D */ daddu $a1, $s0, $zero +/* 9F66DC 80241C9C 0C09058B */ jal func_8024162C +/* 9F66E0 80241CA0 0260302D */ daddu $a2, $s3, $zero +.L80241CA4: +/* 9F66E4 80241CA4 0000102D */ daddu $v0, $zero, $zero +.L80241CA8: +/* 9F66E8 80241CA8 8FBF0048 */ lw $ra, 0x48($sp) +/* 9F66EC 80241CAC 8FB50044 */ lw $s5, 0x44($sp) +/* 9F66F0 80241CB0 8FB40040 */ lw $s4, 0x40($sp) +/* 9F66F4 80241CB4 8FB3003C */ lw $s3, 0x3c($sp) +/* 9F66F8 80241CB8 8FB20038 */ lw $s2, 0x38($sp) +/* 9F66FC 80241CBC 8FB10034 */ lw $s1, 0x34($sp) +/* 9F6700 80241CC0 8FB00030 */ lw $s0, 0x30($sp) +/* 9F6704 80241CC4 03E00008 */ jr $ra +/* 9F6708 80241CC8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241CCC_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241CCC_9F4A40.s new file mode 100644 index 0000000000..e0136ed59e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241CCC_9F4A40.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CCC_9F670C +/* 9F670C 80241CCC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9F6710 80241CD0 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9F6714 80241CD4 4485A000 */ mtc1 $a1, $f20 +/* 9F6718 80241CD8 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 9F671C 80241CDC 4486B000 */ mtc1 $a2, $f22 +/* 9F6720 80241CE0 AFB00010 */ sw $s0, 0x10($sp) +/* 9F6724 80241CE4 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 9F6728 80241CE8 4487C000 */ mtc1 $a3, $f24 +/* 9F672C 80241CEC AFBF0014 */ sw $ra, 0x14($sp) +/* 9F6730 80241CF0 0C019D28 */ jal guMtxIdentF +/* 9F6734 80241CF4 0080802D */ daddu $s0, $a0, $zero +/* 9F6738 80241CF8 4616A582 */ mul.s $f22, $f20, $f22 +/* 9F673C 80241CFC 00000000 */ nop +/* 9F6740 80241D00 4618A502 */ mul.s $f20, $f20, $f24 +/* 9F6744 80241D04 00000000 */ nop +/* 9F6748 80241D08 3C013F80 */ lui $at, 0x3f80 +/* 9F674C 80241D0C 44810000 */ mtc1 $at, $f0 +/* 9F6750 80241D10 00000000 */ nop +/* 9F6754 80241D14 E6000014 */ swc1 $f0, 0x14($s0) +/* 9F6758 80241D18 E6160010 */ swc1 $f22, 0x10($s0) +/* 9F675C 80241D1C E6140018 */ swc1 $f20, 0x18($s0) +/* 9F6760 80241D20 8FBF0014 */ lw $ra, 0x14($sp) +/* 9F6764 80241D24 8FB00010 */ lw $s0, 0x10($sp) +/* 9F6768 80241D28 D7B80028 */ ldc1 $f24, 0x28($sp) +/* 9F676C 80241D2C D7B60020 */ ldc1 $f22, 0x20($sp) +/* 9F6770 80241D30 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 9F6774 80241D34 03E00008 */ jr $ra +/* 9F6778 80241D38 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241D3C_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241D3C_9F4A40.s new file mode 100644 index 0000000000..165bb768d2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241D3C_9F4A40.s @@ -0,0 +1,121 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D3C_9F677C +/* 9F677C 80241D3C 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 9F6780 80241D40 AFB10054 */ sw $s1, 0x54($sp) +/* 9F6784 80241D44 0080882D */ daddu $s1, $a0, $zero +/* 9F6788 80241D48 AFBF005C */ sw $ra, 0x5c($sp) +/* 9F678C 80241D4C AFB20058 */ sw $s2, 0x58($sp) +/* 9F6790 80241D50 AFB00050 */ sw $s0, 0x50($sp) +/* 9F6794 80241D54 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 9F6798 80241D58 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9F679C 80241D5C F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9F67A0 80241D60 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9F67A4 80241D64 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9F67A8 80241D68 8E30000C */ lw $s0, 0xc($s1) +/* 9F67AC 80241D6C 8E050000 */ lw $a1, ($s0) +/* 9F67B0 80241D70 0C0B1EAF */ jal get_variable +/* 9F67B4 80241D74 26100004 */ addiu $s0, $s0, 4 +/* 9F67B8 80241D78 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9F67BC 80241D7C 0040202D */ daddu $a0, $v0, $zero +/* 9F67C0 80241D80 8E050000 */ lw $a1, ($s0) +/* 9F67C4 80241D84 26100004 */ addiu $s0, $s0, 4 +/* 9F67C8 80241D88 0220202D */ daddu $a0, $s1, $zero +/* 9F67CC 80241D8C 0C0B210B */ jal get_float_variable +/* 9F67D0 80241D90 0040902D */ daddu $s2, $v0, $zero +/* 9F67D4 80241D94 8E050000 */ lw $a1, ($s0) +/* 9F67D8 80241D98 26100004 */ addiu $s0, $s0, 4 +/* 9F67DC 80241D9C 0220202D */ daddu $a0, $s1, $zero +/* 9F67E0 80241DA0 0C0B210B */ jal get_float_variable +/* 9F67E4 80241DA4 46000706 */ mov.s $f28, $f0 +/* 9F67E8 80241DA8 8E050000 */ lw $a1, ($s0) +/* 9F67EC 80241DAC 26100004 */ addiu $s0, $s0, 4 +/* 9F67F0 80241DB0 0220202D */ daddu $a0, $s1, $zero +/* 9F67F4 80241DB4 0C0B210B */ jal get_float_variable +/* 9F67F8 80241DB8 46000686 */ mov.s $f26, $f0 +/* 9F67FC 80241DBC 0220202D */ daddu $a0, $s1, $zero +/* 9F6800 80241DC0 8E050000 */ lw $a1, ($s0) +/* 9F6804 80241DC4 0C0B210B */ jal get_float_variable +/* 9F6808 80241DC8 46000586 */ mov.s $f22, $f0 +/* 9F680C 80241DCC 0240202D */ daddu $a0, $s2, $zero +/* 9F6810 80241DD0 0C046B4C */ jal get_model_from_list_index +/* 9F6814 80241DD4 46000606 */ mov.s $f24, $f0 +/* 9F6818 80241DD8 0040882D */ daddu $s1, $v0, $zero +/* 9F681C 80241DDC 96220000 */ lhu $v0, ($s1) +/* 9F6820 80241DE0 30420400 */ andi $v0, $v0, 0x400 +/* 9F6824 80241DE4 1440001E */ bnez $v0, .L80241E60 +/* 9F6828 80241DE8 26300058 */ addiu $s0, $s1, 0x58 +/* 9F682C 80241DEC 4480A000 */ mtc1 $zero, $f20 +/* 9F6830 80241DF0 4406B000 */ mfc1 $a2, $f22 +/* 9F6834 80241DF4 4405A000 */ mfc1 $a1, $f20 +/* 9F6838 80241DF8 4407A000 */ mfc1 $a3, $f20 +/* 9F683C 80241DFC 0C019E40 */ jal guTranslateF +/* 9F6840 80241E00 0200202D */ daddu $a0, $s0, $zero +/* 9F6844 80241E04 4405E000 */ mfc1 $a1, $f28 +/* 9F6848 80241E08 4406D000 */ mfc1 $a2, $f26 +/* 9F684C 80241E0C 4407C000 */ mfc1 $a3, $f24 +/* 9F6850 80241E10 0C090733 */ jal func_80241CCC +/* 9F6854 80241E14 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F6858 80241E18 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F685C 80241E1C 0200282D */ daddu $a1, $s0, $zero +/* 9F6860 80241E20 0C019D80 */ jal guMtxCatF +/* 9F6864 80241E24 0200302D */ daddu $a2, $s0, $zero +/* 9F6868 80241E28 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F686C 80241E2C 4600B587 */ neg.s $f22, $f22 +/* 9F6870 80241E30 4405A000 */ mfc1 $a1, $f20 +/* 9F6874 80241E34 4406B000 */ mfc1 $a2, $f22 +/* 9F6878 80241E38 0C019E40 */ jal guTranslateF +/* 9F687C 80241E3C 00A0382D */ daddu $a3, $a1, $zero +/* 9F6880 80241E40 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F6884 80241E44 0200282D */ daddu $a1, $s0, $zero +/* 9F6888 80241E48 0C019D80 */ jal guMtxCatF +/* 9F688C 80241E4C 00A0302D */ daddu $a2, $a1, $zero +/* 9F6890 80241E50 96220000 */ lhu $v0, ($s1) +/* 9F6894 80241E54 34421400 */ ori $v0, $v0, 0x1400 +/* 9F6898 80241E58 080907B6 */ j .L80241ED8 +/* 9F689C 80241E5C A6220000 */ sh $v0, ($s1) +.L80241E60: +/* 9F68A0 80241E60 4480A000 */ mtc1 $zero, $f20 +/* 9F68A4 80241E64 4406B000 */ mfc1 $a2, $f22 +/* 9F68A8 80241E68 4405A000 */ mfc1 $a1, $f20 +/* 9F68AC 80241E6C 4407A000 */ mfc1 $a3, $f20 +/* 9F68B0 80241E70 0C019E40 */ jal guTranslateF +/* 9F68B4 80241E74 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F68B8 80241E78 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F68BC 80241E7C 26300058 */ addiu $s0, $s1, 0x58 +/* 9F68C0 80241E80 0200282D */ daddu $a1, $s0, $zero +/* 9F68C4 80241E84 0C019D80 */ jal guMtxCatF +/* 9F68C8 80241E88 0200302D */ daddu $a2, $s0, $zero +/* 9F68CC 80241E8C 4405E000 */ mfc1 $a1, $f28 +/* 9F68D0 80241E90 4406D000 */ mfc1 $a2, $f26 +/* 9F68D4 80241E94 4407C000 */ mfc1 $a3, $f24 +/* 9F68D8 80241E98 0C090733 */ jal func_80241CCC +/* 9F68DC 80241E9C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F68E0 80241EA0 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F68E4 80241EA4 0200282D */ daddu $a1, $s0, $zero +/* 9F68E8 80241EA8 0C019D80 */ jal guMtxCatF +/* 9F68EC 80241EAC 0200302D */ daddu $a2, $s0, $zero +/* 9F68F0 80241EB0 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F68F4 80241EB4 4600B587 */ neg.s $f22, $f22 +/* 9F68F8 80241EB8 4405A000 */ mfc1 $a1, $f20 +/* 9F68FC 80241EBC 4406B000 */ mfc1 $a2, $f22 +/* 9F6900 80241EC0 0C019E40 */ jal guTranslateF +/* 9F6904 80241EC4 00A0382D */ daddu $a3, $a1, $zero +/* 9F6908 80241EC8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9F690C 80241ECC 0200282D */ daddu $a1, $s0, $zero +/* 9F6910 80241ED0 0C019D80 */ jal guMtxCatF +/* 9F6914 80241ED4 00A0302D */ daddu $a2, $a1, $zero +.L80241ED8: +/* 9F6918 80241ED8 8FBF005C */ lw $ra, 0x5c($sp) +/* 9F691C 80241EDC 8FB20058 */ lw $s2, 0x58($sp) +/* 9F6920 80241EE0 8FB10054 */ lw $s1, 0x54($sp) +/* 9F6924 80241EE4 8FB00050 */ lw $s0, 0x50($sp) +/* 9F6928 80241EE8 D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 9F692C 80241EEC D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9F6930 80241EF0 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9F6934 80241EF4 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9F6938 80241EF8 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9F693C 80241EFC 24020002 */ addiu $v0, $zero, 2 +/* 9F6940 80241F00 03E00008 */ jr $ra +/* 9F6944 80241F04 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241F08.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241F08.s new file mode 100644 index 0000000000..2bf96cafa2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241F08.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F08 +/* 9F6948 80241F08 3C028011 */ lui $v0, 0x8011 +/* 9F694C 80241F0C 8442F29C */ lh $v0, -0xd64($v0) +/* 9F6950 80241F10 28420064 */ slti $v0, $v0, 0x64 +/* 9F6954 80241F14 14400003 */ bnez $v0, .L80241F24 +/* 9F6958 80241F18 24020001 */ addiu $v0, $zero, 1 +/* 9F695C 80241F1C 080907CA */ j .L80241F28 +/* 9F6960 80241F20 AC800084 */ sw $zero, 0x84($a0) +.L80241F24: +/* 9F6964 80241F24 AC820084 */ sw $v0, 0x84($a0) +.L80241F28: +/* 9F6968 80241F28 03E00008 */ jr $ra +/* 9F696C 80241F2C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_11/func_80241F30_9F4A40.s b/asm/nonmatchings/world/area_nok/nok_11/func_80241F30_9F4A40.s new file mode 100644 index 0000000000..bf4d2f99d2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_11/func_80241F30_9F4A40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F30_9F6970 +/* 9F6970 80241F30 3C038011 */ lui $v1, %hi(gPlayerData) +/* 9F6974 80241F34 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 9F6978 80241F38 9462000C */ lhu $v0, 0xc($v1) +/* 9F697C 80241F3C 2442FF9C */ addiu $v0, $v0, -0x64 +/* 9F6980 80241F40 A462000C */ sh $v0, 0xc($v1) +/* 9F6984 80241F44 03E00008 */ jr $ra +/* 9F6988 80241F48 24020002 */ addiu $v0, $zero, 2 +/* 9F698C 80241F4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240000_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240000_9FA7F0.s new file mode 100644 index 0000000000..2638051324 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240000_9FA7F0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9FA7F0 +/* 9FA7F0 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9FA7F4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* 9FA7F8 80240008 0080882D */ daddu $s1, $a0, $zero +/* 9FA7FC 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* 9FA800 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* 9FA804 80240014 AFB50024 */ sw $s5, 0x24($sp) +/* 9FA808 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* 9FA80C 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* 9FA810 80240020 AFB20018 */ sw $s2, 0x18($sp) +/* 9FA814 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* 9FA818 80240028 8E30000C */ lw $s0, 0xc($s1) +/* 9FA81C 8024002C 8E050000 */ lw $a1, ($s0) +/* 9FA820 80240030 0C0B1EAF */ jal get_variable +/* 9FA824 80240034 26100004 */ addiu $s0, $s0, 4 +/* 9FA828 80240038 8E050000 */ lw $a1, ($s0) +/* 9FA82C 8024003C 26100004 */ addiu $s0, $s0, 4 +/* 9FA830 80240040 0220202D */ daddu $a0, $s1, $zero +/* 9FA834 80240044 0C0B1EAF */ jal get_variable +/* 9FA838 80240048 0040902D */ daddu $s2, $v0, $zero +/* 9FA83C 8024004C 8E050000 */ lw $a1, ($s0) +/* 9FA840 80240050 26100004 */ addiu $s0, $s0, 4 +/* 9FA844 80240054 0220202D */ daddu $a0, $s1, $zero +/* 9FA848 80240058 0C0B1EAF */ jal get_variable +/* 9FA84C 8024005C 0040B02D */ daddu $s6, $v0, $zero +/* 9FA850 80240060 8E050000 */ lw $a1, ($s0) +/* 9FA854 80240064 26100004 */ addiu $s0, $s0, 4 +/* 9FA858 80240068 0220202D */ daddu $a0, $s1, $zero +/* 9FA85C 8024006C 0C0B1EAF */ jal get_variable +/* 9FA860 80240070 0040A82D */ daddu $s5, $v0, $zero +/* 9FA864 80240074 8E050000 */ lw $a1, ($s0) +/* 9FA868 80240078 26100004 */ addiu $s0, $s0, 4 +/* 9FA86C 8024007C 0220202D */ daddu $a0, $s1, $zero +/* 9FA870 80240080 0C0B1EAF */ jal get_variable +/* 9FA874 80240084 0040A02D */ daddu $s4, $v0, $zero +/* 9FA878 80240088 0220202D */ daddu $a0, $s1, $zero +/* 9FA87C 8024008C 8E050000 */ lw $a1, ($s0) +/* 9FA880 80240090 0C0B1EAF */ jal get_variable +/* 9FA884 80240094 0040802D */ daddu $s0, $v0, $zero +/* 9FA888 80240098 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 9FA88C 8024009C 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 9FA890 802400A0 44920000 */ mtc1 $s2, $f0 +/* 9FA894 802400A4 00000000 */ nop +/* 9FA898 802400A8 46800020 */ cvt.s.w $f0, $f0 +/* 9FA89C 802400AC C6620028 */ lwc1 $f2, 0x28($s3) +/* 9FA8A0 802400B0 3C11800B */ lui $s1, %hi(gCurrentEncounter) +/* 9FA8A4 802400B4 26310F10 */ addiu $s1, $s1, %lo(gCurrentEncounter) +/* 9FA8A8 802400B8 4602003E */ c.le.s $f0, $f2 +/* 9FA8AC 802400BC 00000000 */ nop +/* 9FA8B0 802400C0 45000017 */ bc1f .L80240120 +/* 9FA8B4 802400C4 00000000 */ nop +/* 9FA8B8 802400C8 44960000 */ mtc1 $s6, $f0 +/* 9FA8BC 802400CC 00000000 */ nop +/* 9FA8C0 802400D0 46800020 */ cvt.s.w $f0, $f0 +/* 9FA8C4 802400D4 4600103E */ c.le.s $f2, $f0 +/* 9FA8C8 802400D8 00000000 */ nop +/* 9FA8CC 802400DC 45000010 */ bc1f .L80240120 +/* 9FA8D0 802400E0 00000000 */ nop +/* 9FA8D4 802400E4 C6620030 */ lwc1 $f2, 0x30($s3) +/* 9FA8D8 802400E8 44950000 */ mtc1 $s5, $f0 +/* 9FA8DC 802400EC 00000000 */ nop +/* 9FA8E0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* 9FA8E4 802400F4 4602003E */ c.le.s $f0, $f2 +/* 9FA8E8 802400F8 00000000 */ nop +/* 9FA8EC 802400FC 45000008 */ bc1f .L80240120 +/* 9FA8F0 80240100 00000000 */ nop +/* 9FA8F4 80240104 44940000 */ mtc1 $s4, $f0 +/* 9FA8F8 80240108 00000000 */ nop +/* 9FA8FC 8024010C 46800020 */ cvt.s.w $f0, $f0 +/* 9FA900 80240110 4600103E */ c.le.s $f2, $f0 +/* 9FA904 80240114 00000000 */ nop +/* 9FA908 80240118 45030001 */ bc1tl .L80240120 +/* 9FA90C 8024011C 0040802D */ daddu $s0, $v0, $zero +.L80240120: +/* 9FA910 80240120 8222001C */ lb $v0, 0x1c($s1) +/* 9FA914 80240124 18400009 */ blez $v0, .L8024014C +/* 9FA918 80240128 0000182D */ daddu $v1, $zero, $zero +/* 9FA91C 8024012C 0220202D */ daddu $a0, $s1, $zero +.L80240130: +/* 9FA920 80240130 8C820028 */ lw $v0, 0x28($a0) +/* 9FA924 80240134 A4500046 */ sh $s0, 0x46($v0) +/* 9FA928 80240138 8222001C */ lb $v0, 0x1c($s1) +/* 9FA92C 8024013C 24630001 */ addiu $v1, $v1, 1 +/* 9FA930 80240140 0062102A */ slt $v0, $v1, $v0 +/* 9FA934 80240144 1440FFFA */ bnez $v0, .L80240130 +/* 9FA938 80240148 24840004 */ addiu $a0, $a0, 4 +.L8024014C: +/* 9FA93C 8024014C 8FBF002C */ lw $ra, 0x2c($sp) +/* 9FA940 80240150 8FB60028 */ lw $s6, 0x28($sp) +/* 9FA944 80240154 8FB50024 */ lw $s5, 0x24($sp) +/* 9FA948 80240158 8FB40020 */ lw $s4, 0x20($sp) +/* 9FA94C 8024015C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FA950 80240160 8FB20018 */ lw $s2, 0x18($sp) +/* 9FA954 80240164 8FB10014 */ lw $s1, 0x14($sp) +/* 9FA958 80240168 8FB00010 */ lw $s0, 0x10($sp) +/* 9FA95C 8024016C 24020002 */ addiu $v0, $zero, 2 +/* 9FA960 80240170 03E00008 */ jr $ra +/* 9FA964 80240174 27BD0030 */ addiu $sp, $sp, 0x30 +/* 9FA968 80240178 00000000 */ nop +/* 9FA96C 8024017C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240180.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240180.s new file mode 100644 index 0000000000..a06d4b1246 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240180.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240180 +/* 9FA970 80240180 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FA974 80240184 AFB10014 */ sw $s1, 0x14($sp) +/* 9FA978 80240188 0080882D */ daddu $s1, $a0, $zero +/* 9FA97C 8024018C AFBF0020 */ sw $ra, 0x20($sp) +/* 9FA980 80240190 AFB3001C */ sw $s3, 0x1c($sp) +/* 9FA984 80240194 AFB20018 */ sw $s2, 0x18($sp) +/* 9FA988 80240198 AFB00010 */ sw $s0, 0x10($sp) +/* 9FA98C 8024019C 8E30000C */ lw $s0, 0xc($s1) +/* 9FA990 802401A0 8E330148 */ lw $s3, 0x148($s1) +/* 9FA994 802401A4 8E050000 */ lw $a1, ($s0) +/* 9FA998 802401A8 0C0B1EAF */ jal get_variable +/* 9FA99C 802401AC 26100004 */ addiu $s0, $s0, 4 +/* 9FA9A0 802401B0 0040902D */ daddu $s2, $v0, $zero +/* 9FA9A4 802401B4 8E050000 */ lw $a1, ($s0) +/* 9FA9A8 802401B8 26100004 */ addiu $s0, $s0, 4 +/* 9FA9AC 802401BC 0C0B1EAF */ jal get_variable +/* 9FA9B0 802401C0 0220202D */ daddu $a0, $s1, $zero +/* 9FA9B4 802401C4 0220202D */ daddu $a0, $s1, $zero +/* 9FA9B8 802401C8 8E050000 */ lw $a1, ($s0) +/* 9FA9BC 802401CC 0C0B1EAF */ jal get_variable +/* 9FA9C0 802401D0 0040802D */ daddu $s0, $v0, $zero +/* 9FA9C4 802401D4 0040882D */ daddu $s1, $v0, $zero +/* 9FA9C8 802401D8 2402FFFF */ addiu $v0, $zero, -1 +/* 9FA9CC 802401DC 16420002 */ bne $s2, $v0, .L802401E8 +/* 9FA9D0 802401E0 00000000 */ nop +/* 9FA9D4 802401E4 86720008 */ lh $s2, 8($s3) +.L802401E8: +/* 9FA9D8 802401E8 0C00FB5A */ jal get_enemy_safe +/* 9FA9DC 802401EC 0240202D */ daddu $a0, $s2, $zero +/* 9FA9E0 802401F0 0040982D */ daddu $s3, $v0, $zero +/* 9FA9E4 802401F4 12600003 */ beqz $s3, .L80240204 +/* 9FA9E8 802401F8 00101080 */ sll $v0, $s0, 2 +/* 9FA9EC 802401FC 02621021 */ addu $v0, $s3, $v0 +/* 9FA9F0 80240200 AC51006C */ sw $s1, 0x6c($v0) +.L80240204: +/* 9FA9F4 80240204 8FBF0020 */ lw $ra, 0x20($sp) +/* 9FA9F8 80240208 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FA9FC 8024020C 8FB20018 */ lw $s2, 0x18($sp) +/* 9FAA00 80240210 8FB10014 */ lw $s1, 0x14($sp) +/* 9FAA04 80240214 8FB00010 */ lw $s0, 0x10($sp) +/* 9FAA08 80240218 24020002 */ addiu $v0, $zero, 2 +/* 9FAA0C 8024021C 03E00008 */ jr $ra +/* 9FAA10 80240220 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240224.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240224.s new file mode 100644 index 0000000000..1168e49893 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240224.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240224 +/* 9FAA14 80240224 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FAA18 80240228 AFB10014 */ sw $s1, 0x14($sp) +/* 9FAA1C 8024022C 0080882D */ daddu $s1, $a0, $zero +/* 9FAA20 80240230 AFBF0020 */ sw $ra, 0x20($sp) +/* 9FAA24 80240234 AFB3001C */ sw $s3, 0x1c($sp) +/* 9FAA28 80240238 AFB20018 */ sw $s2, 0x18($sp) +/* 9FAA2C 8024023C AFB00010 */ sw $s0, 0x10($sp) +/* 9FAA30 80240240 8E30000C */ lw $s0, 0xc($s1) +/* 9FAA34 80240244 8E050000 */ lw $a1, ($s0) +/* 9FAA38 80240248 0C0B1EAF */ jal get_variable +/* 9FAA3C 8024024C 26100004 */ addiu $s0, $s0, 4 +/* 9FAA40 80240250 8E050000 */ lw $a1, ($s0) +/* 9FAA44 80240254 26100004 */ addiu $s0, $s0, 4 +/* 9FAA48 80240258 0220202D */ daddu $a0, $s1, $zero +/* 9FAA4C 8024025C 0C0B1EAF */ jal get_variable +/* 9FAA50 80240260 0040982D */ daddu $s3, $v0, $zero +/* 9FAA54 80240264 8E050000 */ lw $a1, ($s0) +/* 9FAA58 80240268 26100004 */ addiu $s0, $s0, 4 +/* 9FAA5C 8024026C 0220202D */ daddu $a0, $s1, $zero +/* 9FAA60 80240270 0C0B1EAF */ jal get_variable +/* 9FAA64 80240274 0040902D */ daddu $s2, $v0, $zero +/* 9FAA68 80240278 0220202D */ daddu $a0, $s1, $zero +/* 9FAA6C 8024027C 8E050000 */ lw $a1, ($s0) +/* 9FAA70 80240280 0C0B1EAF */ jal get_variable +/* 9FAA74 80240284 0040882D */ daddu $s1, $v0, $zero +/* 9FAA78 80240288 0260202D */ daddu $a0, $s3, $zero +/* 9FAA7C 8024028C 0C04417A */ jal get_entity_by_index +/* 9FAA80 80240290 0040802D */ daddu $s0, $v0, $zero +/* 9FAA84 80240294 0040182D */ daddu $v1, $v0, $zero +/* 9FAA88 80240298 44920000 */ mtc1 $s2, $f0 +/* 9FAA8C 8024029C 00000000 */ nop +/* 9FAA90 802402A0 46800020 */ cvt.s.w $f0, $f0 +/* 9FAA94 802402A4 E4600048 */ swc1 $f0, 0x48($v1) +/* 9FAA98 802402A8 44910000 */ mtc1 $s1, $f0 +/* 9FAA9C 802402AC 00000000 */ nop +/* 9FAAA0 802402B0 46800020 */ cvt.s.w $f0, $f0 +/* 9FAAA4 802402B4 E460004C */ swc1 $f0, 0x4c($v1) +/* 9FAAA8 802402B8 44900000 */ mtc1 $s0, $f0 +/* 9FAAAC 802402BC 00000000 */ nop +/* 9FAAB0 802402C0 46800020 */ cvt.s.w $f0, $f0 +/* 9FAAB4 802402C4 E4600050 */ swc1 $f0, 0x50($v1) +/* 9FAAB8 802402C8 8FBF0020 */ lw $ra, 0x20($sp) +/* 9FAABC 802402CC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FAAC0 802402D0 8FB20018 */ lw $s2, 0x18($sp) +/* 9FAAC4 802402D4 8FB10014 */ lw $s1, 0x14($sp) +/* 9FAAC8 802402D8 8FB00010 */ lw $s0, 0x10($sp) +/* 9FAACC 802402DC 24020002 */ addiu $v0, $zero, 2 +/* 9FAAD0 802402E0 03E00008 */ jr $ra +/* 9FAAD4 802402E4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9FAAD8 802402E8 00000000 */ nop +/* 9FAADC 802402EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802402F0_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802402F0_9FA7F0.s new file mode 100644 index 0000000000..47df6d3b36 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802402F0_9FA7F0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_9FAAE0 +/* 9FAAE0 802402F0 3C03800B */ lui $v1, %hi(gCameras) +/* 9FAAE4 802402F4 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 9FAAE8 802402F8 94620000 */ lhu $v0, ($v1) +/* 9FAAEC 802402FC 34421000 */ ori $v0, $v0, 0x1000 +/* 9FAAF0 80240300 A4620000 */ sh $v0, ($v1) +/* 9FAAF4 80240304 03E00008 */ jr $ra +/* 9FAAF8 80240308 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_8024030C_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_8024030C_9FA7F0.s new file mode 100644 index 0000000000..2d70d142dc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_8024030C_9FA7F0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_9FAAFC +/* 9FAAFC 8024030C 3C03800B */ lui $v1, %hi(gCameras) +/* 9FAB00 80240310 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 9FAB04 80240314 94620000 */ lhu $v0, ($v1) +/* 9FAB08 80240318 3042EFFF */ andi $v0, $v0, 0xefff +/* 9FAB0C 8024031C A4620000 */ sh $v0, ($v1) +/* 9FAB10 80240320 03E00008 */ jr $ra +/* 9FAB14 80240324 24020002 */ addiu $v0, $zero, 2 +/* 9FAB18 80240328 00000000 */ nop +/* 9FAB1C 8024032C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240330_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240330_9FA7F0.s new file mode 100644 index 0000000000..97de7830dc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240330_9FA7F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240330_9FAB20 +/* 9FAB20 80240330 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9FAB24 80240334 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9FAB28 80240338 4485A000 */ mtc1 $a1, $f20 +/* 9FAB2C 8024033C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 9FAB30 80240340 4486B000 */ mtc1 $a2, $f22 +/* 9FAB34 80240344 AFB00010 */ sw $s0, 0x10($sp) +/* 9FAB38 80240348 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 9FAB3C 8024034C 4487C000 */ mtc1 $a3, $f24 +/* 9FAB40 80240350 AFBF0014 */ sw $ra, 0x14($sp) +/* 9FAB44 80240354 0C019D28 */ jal guMtxIdentF +/* 9FAB48 80240358 0080802D */ daddu $s0, $a0, $zero +/* 9FAB4C 8024035C 4616A582 */ mul.s $f22, $f20, $f22 +/* 9FAB50 80240360 00000000 */ nop +/* 9FAB54 80240364 4618A502 */ mul.s $f20, $f20, $f24 +/* 9FAB58 80240368 00000000 */ nop +/* 9FAB5C 8024036C 3C013F80 */ lui $at, 0x3f80 +/* 9FAB60 80240370 44810000 */ mtc1 $at, $f0 +/* 9FAB64 80240374 00000000 */ nop +/* 9FAB68 80240378 E6000014 */ swc1 $f0, 0x14($s0) +/* 9FAB6C 8024037C E6160010 */ swc1 $f22, 0x10($s0) +/* 9FAB70 80240380 E6140018 */ swc1 $f20, 0x18($s0) +/* 9FAB74 80240384 8FBF0014 */ lw $ra, 0x14($sp) +/* 9FAB78 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* 9FAB7C 8024038C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 9FAB80 80240390 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 9FAB84 80240394 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 9FAB88 80240398 03E00008 */ jr $ra +/* 9FAB8C 8024039C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802403A0_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802403A0_9FA7F0.s new file mode 100644 index 0000000000..a63ce279a1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802403A0_9FA7F0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_9FAB90 +/* 9FAB90 802403A0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 9FAB94 802403A4 AFB10054 */ sw $s1, 0x54($sp) +/* 9FAB98 802403A8 0080882D */ daddu $s1, $a0, $zero +/* 9FAB9C 802403AC AFBF005C */ sw $ra, 0x5c($sp) +/* 9FABA0 802403B0 AFB20058 */ sw $s2, 0x58($sp) +/* 9FABA4 802403B4 AFB00050 */ sw $s0, 0x50($sp) +/* 9FABA8 802403B8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 9FABAC 802403BC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9FABB0 802403C0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9FABB4 802403C4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9FABB8 802403C8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9FABBC 802403CC 8E30000C */ lw $s0, 0xc($s1) +/* 9FABC0 802403D0 8E050000 */ lw $a1, ($s0) +/* 9FABC4 802403D4 0C0B1EAF */ jal get_variable +/* 9FABC8 802403D8 26100004 */ addiu $s0, $s0, 4 +/* 9FABCC 802403DC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9FABD0 802403E0 0040202D */ daddu $a0, $v0, $zero +/* 9FABD4 802403E4 8E050000 */ lw $a1, ($s0) +/* 9FABD8 802403E8 26100004 */ addiu $s0, $s0, 4 +/* 9FABDC 802403EC 0220202D */ daddu $a0, $s1, $zero +/* 9FABE0 802403F0 0C0B210B */ jal get_float_variable +/* 9FABE4 802403F4 0040902D */ daddu $s2, $v0, $zero +/* 9FABE8 802403F8 8E050000 */ lw $a1, ($s0) +/* 9FABEC 802403FC 26100004 */ addiu $s0, $s0, 4 +/* 9FABF0 80240400 0220202D */ daddu $a0, $s1, $zero +/* 9FABF4 80240404 0C0B210B */ jal get_float_variable +/* 9FABF8 80240408 46000706 */ mov.s $f28, $f0 +/* 9FABFC 8024040C 8E050000 */ lw $a1, ($s0) +/* 9FAC00 80240410 26100004 */ addiu $s0, $s0, 4 +/* 9FAC04 80240414 0220202D */ daddu $a0, $s1, $zero +/* 9FAC08 80240418 0C0B210B */ jal get_float_variable +/* 9FAC0C 8024041C 46000686 */ mov.s $f26, $f0 +/* 9FAC10 80240420 0220202D */ daddu $a0, $s1, $zero +/* 9FAC14 80240424 8E050000 */ lw $a1, ($s0) +/* 9FAC18 80240428 0C0B210B */ jal get_float_variable +/* 9FAC1C 8024042C 46000586 */ mov.s $f22, $f0 +/* 9FAC20 80240430 0240202D */ daddu $a0, $s2, $zero +/* 9FAC24 80240434 0C046B4C */ jal get_model_from_list_index +/* 9FAC28 80240438 46000606 */ mov.s $f24, $f0 +/* 9FAC2C 8024043C 0040882D */ daddu $s1, $v0, $zero +/* 9FAC30 80240440 96220000 */ lhu $v0, ($s1) +/* 9FAC34 80240444 30420400 */ andi $v0, $v0, 0x400 +/* 9FAC38 80240448 1440001E */ bnez $v0, .L802404C4 +/* 9FAC3C 8024044C 26300058 */ addiu $s0, $s1, 0x58 +/* 9FAC40 80240450 4480A000 */ mtc1 $zero, $f20 +/* 9FAC44 80240454 4406B000 */ mfc1 $a2, $f22 +/* 9FAC48 80240458 4405A000 */ mfc1 $a1, $f20 +/* 9FAC4C 8024045C 4407A000 */ mfc1 $a3, $f20 +/* 9FAC50 80240460 0C019E40 */ jal guTranslateF +/* 9FAC54 80240464 0200202D */ daddu $a0, $s0, $zero +/* 9FAC58 80240468 4405E000 */ mfc1 $a1, $f28 +/* 9FAC5C 8024046C 4406D000 */ mfc1 $a2, $f26 +/* 9FAC60 80240470 4407C000 */ mfc1 $a3, $f24 +/* 9FAC64 80240474 0C0900CC */ jal func_80240330 +/* 9FAC68 80240478 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAC6C 8024047C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAC70 80240480 0200282D */ daddu $a1, $s0, $zero +/* 9FAC74 80240484 0C019D80 */ jal guMtxCatF +/* 9FAC78 80240488 0200302D */ daddu $a2, $s0, $zero +/* 9FAC7C 8024048C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAC80 80240490 4600B587 */ neg.s $f22, $f22 +/* 9FAC84 80240494 4405A000 */ mfc1 $a1, $f20 +/* 9FAC88 80240498 4406B000 */ mfc1 $a2, $f22 +/* 9FAC8C 8024049C 0C019E40 */ jal guTranslateF +/* 9FAC90 802404A0 00A0382D */ daddu $a3, $a1, $zero +/* 9FAC94 802404A4 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAC98 802404A8 0200282D */ daddu $a1, $s0, $zero +/* 9FAC9C 802404AC 0C019D80 */ jal guMtxCatF +/* 9FACA0 802404B0 00A0302D */ daddu $a2, $a1, $zero +/* 9FACA4 802404B4 96220000 */ lhu $v0, ($s1) +/* 9FACA8 802404B8 34421400 */ ori $v0, $v0, 0x1400 +/* 9FACAC 802404BC 0809014F */ j .L8024053C +/* 9FACB0 802404C0 A6220000 */ sh $v0, ($s1) +.L802404C4: +/* 9FACB4 802404C4 4480A000 */ mtc1 $zero, $f20 +/* 9FACB8 802404C8 4406B000 */ mfc1 $a2, $f22 +/* 9FACBC 802404CC 4405A000 */ mfc1 $a1, $f20 +/* 9FACC0 802404D0 4407A000 */ mfc1 $a3, $f20 +/* 9FACC4 802404D4 0C019E40 */ jal guTranslateF +/* 9FACC8 802404D8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FACCC 802404DC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FACD0 802404E0 26300058 */ addiu $s0, $s1, 0x58 +/* 9FACD4 802404E4 0200282D */ daddu $a1, $s0, $zero +/* 9FACD8 802404E8 0C019D80 */ jal guMtxCatF +/* 9FACDC 802404EC 0200302D */ daddu $a2, $s0, $zero +/* 9FACE0 802404F0 4405E000 */ mfc1 $a1, $f28 +/* 9FACE4 802404F4 4406D000 */ mfc1 $a2, $f26 +/* 9FACE8 802404F8 4407C000 */ mfc1 $a3, $f24 +/* 9FACEC 802404FC 0C0900CC */ jal func_80240330 +/* 9FACF0 80240500 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FACF4 80240504 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FACF8 80240508 0200282D */ daddu $a1, $s0, $zero +/* 9FACFC 8024050C 0C019D80 */ jal guMtxCatF +/* 9FAD00 80240510 0200302D */ daddu $a2, $s0, $zero +/* 9FAD04 80240514 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAD08 80240518 4600B587 */ neg.s $f22, $f22 +/* 9FAD0C 8024051C 4405A000 */ mfc1 $a1, $f20 +/* 9FAD10 80240520 4406B000 */ mfc1 $a2, $f22 +/* 9FAD14 80240524 0C019E40 */ jal guTranslateF +/* 9FAD18 80240528 00A0382D */ daddu $a3, $a1, $zero +/* 9FAD1C 8024052C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9FAD20 80240530 0200282D */ daddu $a1, $s0, $zero +/* 9FAD24 80240534 0C019D80 */ jal guMtxCatF +/* 9FAD28 80240538 00A0302D */ daddu $a2, $a1, $zero +.L8024053C: +/* 9FAD2C 8024053C 8FBF005C */ lw $ra, 0x5c($sp) +/* 9FAD30 80240540 8FB20058 */ lw $s2, 0x58($sp) +/* 9FAD34 80240544 8FB10054 */ lw $s1, 0x54($sp) +/* 9FAD38 80240548 8FB00050 */ lw $s0, 0x50($sp) +/* 9FAD3C 8024054C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 9FAD40 80240550 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9FAD44 80240554 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9FAD48 80240558 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9FAD4C 8024055C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9FAD50 80240560 24020002 */ addiu $v0, $zero, 2 +/* 9FAD54 80240564 03E00008 */ jr $ra +/* 9FAD58 80240568 27BD0088 */ addiu $sp, $sp, 0x88 +/* 9FAD5C 8024056C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240570.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240570.s new file mode 100644 index 0000000000..d24b69c9fd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240570.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240570 +/* 9FAD60 80240570 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FAD64 80240574 AFB20018 */ sw $s2, 0x18($sp) +/* 9FAD68 80240578 0080902D */ daddu $s2, $a0, $zero +/* 9FAD6C 8024057C AFBF001C */ sw $ra, 0x1c($sp) +/* 9FAD70 80240580 AFB10014 */ sw $s1, 0x14($sp) +/* 9FAD74 80240584 AFB00010 */ sw $s0, 0x10($sp) +/* 9FAD78 80240588 8E510148 */ lw $s1, 0x148($s2) +/* 9FAD7C 8024058C 0C00EABB */ jal get_npc_unsafe +/* 9FAD80 80240590 86240008 */ lh $a0, 8($s1) +/* 9FAD84 80240594 0040802D */ daddu $s0, $v0, $zero +/* 9FAD88 80240598 8E2300CC */ lw $v1, 0xcc($s1) +/* 9FAD8C 8024059C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9FAD90 802405A0 8C630020 */ lw $v1, 0x20($v1) +/* 9FAD94 802405A4 AE030028 */ sw $v1, 0x28($s0) +/* 9FAD98 802405A8 96220076 */ lhu $v0, 0x76($s1) +/* 9FAD9C 802405AC A602008E */ sh $v0, 0x8e($s0) +/* 9FADA0 802405B0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9FADA4 802405B4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9FADA8 802405B8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9FADAC 802405BC 8C460028 */ lw $a2, 0x28($v0) +/* 9FADB0 802405C0 0C00A720 */ jal atan2 +/* 9FADB4 802405C4 8C470030 */ lw $a3, 0x30($v0) +/* 9FADB8 802405C8 2402000D */ addiu $v0, $zero, 0xd +/* 9FADBC 802405CC E600000C */ swc1 $f0, 0xc($s0) +/* 9FADC0 802405D0 AE420070 */ sw $v0, 0x70($s2) +/* 9FADC4 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 9FADC8 802405D8 8FB20018 */ lw $s2, 0x18($sp) +/* 9FADCC 802405DC 8FB10014 */ lw $s1, 0x14($sp) +/* 9FADD0 802405E0 8FB00010 */ lw $s0, 0x10($sp) +/* 9FADD4 802405E4 03E00008 */ jr $ra +/* 9FADD8 802405E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802405EC_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802405EC_9FA7F0.s new file mode 100644 index 0000000000..ec64d70c27 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802405EC_9FA7F0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_9FADDC +/* 9FADDC 802405EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FADE0 802405F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9FADE4 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 9FADE8 802405F8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9FADEC 802405FC AFB20018 */ sw $s2, 0x18($sp) +/* 9FADF0 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 9FADF4 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* 9FADF8 80240608 8E710148 */ lw $s1, 0x148($s3) +/* 9FADFC 8024060C 86240008 */ lh $a0, 8($s1) +/* 9FAE00 80240610 0C00EABB */ jal get_npc_unsafe +/* 9FAE04 80240614 00A0902D */ daddu $s2, $a1, $zero +/* 9FAE08 80240618 0040802D */ daddu $s0, $v0, $zero +/* 9FAE0C 8024061C 8602008E */ lh $v0, 0x8e($s0) +/* 9FAE10 80240620 9603008E */ lhu $v1, 0x8e($s0) +/* 9FAE14 80240624 18400005 */ blez $v0, .L8024063C +/* 9FAE18 80240628 2462FFFF */ addiu $v0, $v1, -1 +/* 9FAE1C 8024062C A602008E */ sh $v0, 0x8e($s0) +/* 9FAE20 80240630 00021400 */ sll $v0, $v0, 0x10 +/* 9FAE24 80240634 1C400033 */ bgtz $v0, .L80240704 +/* 9FAE28 80240638 00000000 */ nop +.L8024063C: +/* 9FAE2C 8024063C 8602008C */ lh $v0, 0x8c($s0) +/* 9FAE30 80240640 14400030 */ bnez $v0, .L80240704 +/* 9FAE34 80240644 00000000 */ nop +/* 9FAE38 80240648 8E2200CC */ lw $v0, 0xcc($s1) +/* 9FAE3C 8024064C 8C420024 */ lw $v0, 0x24($v0) +/* 9FAE40 80240650 AE020028 */ sw $v0, 0x28($s0) +/* 9FAE44 80240654 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9FAE48 80240658 E6000018 */ swc1 $f0, 0x18($s0) +/* 9FAE4C 8024065C 8E230088 */ lw $v1, 0x88($s1) +/* 9FAE50 80240660 24020005 */ addiu $v0, $zero, 5 +/* 9FAE54 80240664 10620005 */ beq $v1, $v0, .L8024067C +/* 9FAE58 80240668 00000000 */ nop +/* 9FAE5C 8024066C 10600003 */ beqz $v1, .L8024067C +/* 9FAE60 80240670 24020001 */ addiu $v0, $zero, 1 +/* 9FAE64 80240674 14620006 */ bne $v1, $v0, .L80240690 +/* 9FAE68 80240678 00000000 */ nop +.L8024067C: +/* 9FAE6C 8024067C 8E220084 */ lw $v0, 0x84($s1) +/* 9FAE70 80240680 00021FC2 */ srl $v1, $v0, 0x1f +/* 9FAE74 80240684 00431021 */ addu $v0, $v0, $v1 +/* 9FAE78 80240688 00021043 */ sra $v0, $v0, 1 +/* 9FAE7C 8024068C A60200A8 */ sh $v0, 0xa8($s0) +.L80240690: +/* 9FAE80 80240690 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9FAE84 80240694 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9FAE88 80240698 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9FAE8C 8024069C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9FAE90 802406A0 8C460028 */ lw $a2, 0x28($v0) +/* 9FAE94 802406A4 0C00A7B5 */ jal dist2D +/* 9FAE98 802406A8 8C470030 */ lw $a3, 0x30($v0) +/* 9FAE9C 802406AC C6020018 */ lwc1 $f2, 0x18($s0) +/* 9FAEA0 802406B0 46020003 */ div.s $f0, $f0, $f2 +/* 9FAEA4 802406B4 3C018024 */ lui $at, 0x8024 +/* 9FAEA8 802406B8 D4225A70 */ ldc1 $f2, 0x5a70($at) +/* 9FAEAC 802406BC 46000021 */ cvt.d.s $f0, $f0 +/* 9FAEB0 802406C0 46220000 */ add.d $f0, $f0, $f2 +/* 9FAEB4 802406C4 4620010D */ trunc.w.d $f4, $f0 +/* 9FAEB8 802406C8 44022000 */ mfc1 $v0, $f4 +/* 9FAEBC 802406CC 00000000 */ nop +/* 9FAEC0 802406D0 A602008E */ sh $v0, 0x8e($s0) +/* 9FAEC4 802406D4 00021400 */ sll $v0, $v0, 0x10 +/* 9FAEC8 802406D8 8E230078 */ lw $v1, 0x78($s1) +/* 9FAECC 802406DC 00021403 */ sra $v0, $v0, 0x10 +/* 9FAED0 802406E0 0043102A */ slt $v0, $v0, $v1 +/* 9FAED4 802406E4 10400003 */ beqz $v0, .L802406F4 +/* 9FAED8 802406E8 00000000 */ nop +/* 9FAEDC 802406EC 9622007A */ lhu $v0, 0x7a($s1) +/* 9FAEE0 802406F0 A602008E */ sh $v0, 0x8e($s0) +.L802406F4: +/* 9FAEE4 802406F4 8602008E */ lh $v0, 0x8e($s0) +/* 9FAEE8 802406F8 AE22007C */ sw $v0, 0x7c($s1) +/* 9FAEEC 802406FC 2402000E */ addiu $v0, $zero, 0xe +/* 9FAEF0 80240700 AE620070 */ sw $v0, 0x70($s3) +.L80240704: +/* 9FAEF4 80240704 8FBF0020 */ lw $ra, 0x20($sp) +/* 9FAEF8 80240708 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FAEFC 8024070C 8FB20018 */ lw $s2, 0x18($sp) +/* 9FAF00 80240710 8FB10014 */ lw $s1, 0x14($sp) +/* 9FAF04 80240714 8FB00010 */ lw $s0, 0x10($sp) +/* 9FAF08 80240718 03E00008 */ jr $ra +/* 9FAF0C 8024071C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240720_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240720_9FA7F0.s new file mode 100644 index 0000000000..115cd46b71 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240720_9FA7F0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240720_9FAF10 +/* 9FAF10 80240720 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9FAF14 80240724 AFB3003C */ sw $s3, 0x3c($sp) +/* 9FAF18 80240728 0080982D */ daddu $s3, $a0, $zero +/* 9FAF1C 8024072C AFBF0040 */ sw $ra, 0x40($sp) +/* 9FAF20 80240730 AFB20038 */ sw $s2, 0x38($sp) +/* 9FAF24 80240734 AFB10034 */ sw $s1, 0x34($sp) +/* 9FAF28 80240738 AFB00030 */ sw $s0, 0x30($sp) +/* 9FAF2C 8024073C 8E710148 */ lw $s1, 0x148($s3) +/* 9FAF30 80240740 0C00EABB */ jal get_npc_unsafe +/* 9FAF34 80240744 86240008 */ lh $a0, 8($s1) +/* 9FAF38 80240748 0040802D */ daddu $s0, $v0, $zero +/* 9FAF3C 8024074C 8E22007C */ lw $v0, 0x7c($s1) +/* 9FAF40 80240750 8603008E */ lh $v1, 0x8e($s0) +/* 9FAF44 80240754 2442FFFF */ addiu $v0, $v0, -1 +/* 9FAF48 80240758 14620012 */ bne $v1, $v0, .L802407A4 +/* 9FAF4C 8024075C 00000000 */ nop +/* 9FAF50 80240760 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9FAF54 80240764 4600020D */ trunc.w.s $f8, $f0 +/* 9FAF58 80240768 44024000 */ mfc1 $v0, $f8 +/* 9FAF5C 8024076C 00000000 */ nop +/* 9FAF60 80240770 A6220010 */ sh $v0, 0x10($s1) +/* 9FAF64 80240774 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9FAF68 80240778 4600020D */ trunc.w.s $f8, $f0 +/* 9FAF6C 8024077C 44024000 */ mfc1 $v0, $f8 +/* 9FAF70 80240780 00000000 */ nop +/* 9FAF74 80240784 A6220012 */ sh $v0, 0x12($s1) +/* 9FAF78 80240788 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9FAF7C 8024078C 24020001 */ addiu $v0, $zero, 1 +/* 9FAF80 80240790 A2220007 */ sb $v0, 7($s1) +/* 9FAF84 80240794 4600020D */ trunc.w.s $f8, $f0 +/* 9FAF88 80240798 44024000 */ mfc1 $v0, $f8 +/* 9FAF8C 8024079C 00000000 */ nop +/* 9FAF90 802407A0 A6220014 */ sh $v0, 0x14($s1) +.L802407A4: +/* 9FAF94 802407A4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9FAF98 802407A8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9FAF9C 802407AC C6040040 */ lwc1 $f4, 0x40($s0) +/* 9FAFA0 802407B0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9FAFA4 802407B4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9FAFA8 802407B8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9FAFAC 802407BC E7A40028 */ swc1 $f4, 0x28($sp) +/* 9FAFB0 802407C0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9FAFB4 802407C4 C600000C */ lwc1 $f0, 0xc($s0) +/* 9FAFB8 802407C8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9FAFBC 802407CC 860200A8 */ lh $v0, 0xa8($s0) +/* 9FAFC0 802407D0 27A50020 */ addiu $a1, $sp, 0x20 +/* 9FAFC4 802407D4 44820000 */ mtc1 $v0, $f0 +/* 9FAFC8 802407D8 00000000 */ nop +/* 9FAFCC 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* 9FAFD0 802407E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9FAFD4 802407E4 860200A6 */ lh $v0, 0xa6($s0) +/* 9FAFD8 802407E8 27A60024 */ addiu $a2, $sp, 0x24 +/* 9FAFDC 802407EC 44820000 */ mtc1 $v0, $f0 +/* 9FAFE0 802407F0 00000000 */ nop +/* 9FAFE4 802407F4 46800020 */ cvt.s.w $f0, $f0 +/* 9FAFE8 802407F8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9FAFEC 802407FC 8E040080 */ lw $a0, 0x80($s0) +/* 9FAFF0 80240800 0C037711 */ jal func_800DDC44 +/* 9FAFF4 80240804 27A70028 */ addiu $a3, $sp, 0x28 +/* 9FAFF8 80240808 0040902D */ daddu $s2, $v0, $zero +/* 9FAFFC 8024080C 16400005 */ bnez $s2, .L80240824 +/* 9FB000 80240810 00000000 */ nop +/* 9FB004 80240814 8E050018 */ lw $a1, 0x18($s0) +/* 9FB008 80240818 8E06000C */ lw $a2, 0xc($s0) +/* 9FB00C 8024081C 0C00EA95 */ jal npc_move_heading +/* 9FB010 80240820 0200202D */ daddu $a0, $s0, $zero +.L80240824: +/* 9FB014 80240824 8602008E */ lh $v0, 0x8e($s0) +/* 9FB018 80240828 9603008E */ lhu $v1, 0x8e($s0) +/* 9FB01C 8024082C 18400007 */ blez $v0, .L8024084C +/* 9FB020 80240830 2462FFFF */ addiu $v0, $v1, -1 +/* 9FB024 80240834 A602008E */ sh $v0, 0x8e($s0) +/* 9FB028 80240838 00021400 */ sll $v0, $v0, 0x10 +/* 9FB02C 8024083C 18400003 */ blez $v0, .L8024084C +/* 9FB030 80240840 00000000 */ nop +/* 9FB034 80240844 12400008 */ beqz $s2, .L80240868 +/* 9FB038 80240848 00000000 */ nop +.L8024084C: +/* 9FB03C 8024084C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9FB040 80240850 A2200007 */ sb $zero, 7($s1) +/* 9FB044 80240854 8C420028 */ lw $v0, 0x28($v0) +/* 9FB048 80240858 A600008E */ sh $zero, 0x8e($s0) +/* 9FB04C 8024085C AE020028 */ sw $v0, 0x28($s0) +/* 9FB050 80240860 2402000F */ addiu $v0, $zero, 0xf +/* 9FB054 80240864 AE620070 */ sw $v0, 0x70($s3) +.L80240868: +/* 9FB058 80240868 8FBF0040 */ lw $ra, 0x40($sp) +/* 9FB05C 8024086C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9FB060 80240870 8FB20038 */ lw $s2, 0x38($sp) +/* 9FB064 80240874 8FB10034 */ lw $s1, 0x34($sp) +/* 9FB068 80240878 8FB00030 */ lw $s0, 0x30($sp) +/* 9FB06C 8024087C 03E00008 */ jr $ra +/* 9FB070 80240880 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240884.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240884.s new file mode 100644 index 0000000000..149c406837 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240884.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240884 +/* 9FB074 80240884 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FB078 80240888 AFB10014 */ sw $s1, 0x14($sp) +/* 9FB07C 8024088C 0080882D */ daddu $s1, $a0, $zero +/* 9FB080 80240890 AFBF0018 */ sw $ra, 0x18($sp) +/* 9FB084 80240894 AFB00010 */ sw $s0, 0x10($sp) +/* 9FB088 80240898 8E300148 */ lw $s0, 0x148($s1) +/* 9FB08C 8024089C 0C00EABB */ jal get_npc_unsafe +/* 9FB090 802408A0 86040008 */ lh $a0, 8($s0) +/* 9FB094 802408A4 0040202D */ daddu $a0, $v0, $zero +/* 9FB098 802408A8 9482008E */ lhu $v0, 0x8e($a0) +/* 9FB09C 802408AC 24030003 */ addiu $v1, $zero, 3 +/* 9FB0A0 802408B0 24420001 */ addiu $v0, $v0, 1 +/* 9FB0A4 802408B4 A482008E */ sh $v0, 0x8e($a0) +/* 9FB0A8 802408B8 00021400 */ sll $v0, $v0, 0x10 +/* 9FB0AC 802408BC 00021403 */ sra $v0, $v0, 0x10 +/* 9FB0B0 802408C0 14430003 */ bne $v0, $v1, .L802408D0 +/* 9FB0B4 802408C4 00000000 */ nop +/* 9FB0B8 802408C8 96020086 */ lhu $v0, 0x86($s0) +/* 9FB0BC 802408CC A48200A8 */ sh $v0, 0xa8($a0) +.L802408D0: +/* 9FB0C0 802408D0 8482008E */ lh $v0, 0x8e($a0) +/* 9FB0C4 802408D4 8E030080 */ lw $v1, 0x80($s0) +/* 9FB0C8 802408D8 0043102A */ slt $v0, $v0, $v1 +/* 9FB0CC 802408DC 14400004 */ bnez $v0, .L802408F0 +/* 9FB0D0 802408E0 00000000 */ nop +/* 9FB0D4 802408E4 96020086 */ lhu $v0, 0x86($s0) +/* 9FB0D8 802408E8 A48200A8 */ sh $v0, 0xa8($a0) +/* 9FB0DC 802408EC AE200070 */ sw $zero, 0x70($s1) +.L802408F0: +/* 9FB0E0 802408F0 8FBF0018 */ lw $ra, 0x18($sp) +/* 9FB0E4 802408F4 8FB10014 */ lw $s1, 0x14($sp) +/* 9FB0E8 802408F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9FB0EC 802408FC 03E00008 */ jr $ra +/* 9FB0F0 80240900 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240904_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240904_9FA7F0.s new file mode 100644 index 0000000000..22780146ff --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240904_9FA7F0.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240904_9FB0F4 +/* 9FB0F4 80240904 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9FB0F8 80240908 AFB3005C */ sw $s3, 0x5c($sp) +/* 9FB0FC 8024090C 0080982D */ daddu $s3, $a0, $zero +/* 9FB100 80240910 AFBF0068 */ sw $ra, 0x68($sp) +/* 9FB104 80240914 AFB50064 */ sw $s5, 0x64($sp) +/* 9FB108 80240918 AFB40060 */ sw $s4, 0x60($sp) +/* 9FB10C 8024091C AFB20058 */ sw $s2, 0x58($sp) +/* 9FB110 80240920 AFB10054 */ sw $s1, 0x54($sp) +/* 9FB114 80240924 AFB00050 */ sw $s0, 0x50($sp) +/* 9FB118 80240928 8E710148 */ lw $s1, 0x148($s3) +/* 9FB11C 8024092C 86240008 */ lh $a0, 8($s1) +/* 9FB120 80240930 0C00EABB */ jal get_npc_unsafe +/* 9FB124 80240934 00A0802D */ daddu $s0, $a1, $zero +/* 9FB128 80240938 8E63000C */ lw $v1, 0xc($s3) +/* 9FB12C 8024093C 0260202D */ daddu $a0, $s3, $zero +/* 9FB130 80240940 8C650000 */ lw $a1, ($v1) +/* 9FB134 80240944 0C0B1EAF */ jal get_variable +/* 9FB138 80240948 0040902D */ daddu $s2, $v0, $zero +/* 9FB13C 8024094C AFA00028 */ sw $zero, 0x28($sp) +/* 9FB140 80240950 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB144 80240954 8C630030 */ lw $v1, 0x30($v1) +/* 9FB148 80240958 AFA3002C */ sw $v1, 0x2c($sp) +/* 9FB14C 8024095C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB150 80240960 8C63001C */ lw $v1, 0x1c($v1) +/* 9FB154 80240964 AFA30030 */ sw $v1, 0x30($sp) +/* 9FB158 80240968 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB15C 8024096C 8C630024 */ lw $v1, 0x24($v1) +/* 9FB160 80240970 AFA30034 */ sw $v1, 0x34($sp) +/* 9FB164 80240974 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB168 80240978 8C630028 */ lw $v1, 0x28($v1) +/* 9FB16C 8024097C 27B50028 */ addiu $s5, $sp, 0x28 +/* 9FB170 80240980 AFA30038 */ sw $v1, 0x38($sp) +/* 9FB174 80240984 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB178 80240988 3C0142C8 */ lui $at, 0x42c8 +/* 9FB17C 8024098C 44810000 */ mtc1 $at, $f0 +/* 9FB180 80240990 8C63002C */ lw $v1, 0x2c($v1) +/* 9FB184 80240994 0040A02D */ daddu $s4, $v0, $zero +/* 9FB188 80240998 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9FB18C 8024099C A7A00044 */ sh $zero, 0x44($sp) +/* 9FB190 802409A0 12000009 */ beqz $s0, .L802409C8 +/* 9FB194 802409A4 AFA3003C */ sw $v1, 0x3c($sp) +/* 9FB198 802409A8 864300A8 */ lh $v1, 0xa8($s2) +/* 9FB19C 802409AC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FB1A0 802409B0 AE20008C */ sw $zero, 0x8c($s1) +/* 9FB1A4 802409B4 A22000B5 */ sb $zero, 0xb5($s1) +/* 9FB1A8 802409B8 34420008 */ ori $v0, $v0, 8 +/* 9FB1AC 802409BC AE230084 */ sw $v1, 0x84($s1) +/* 9FB1B0 802409C0 08090276 */ j .L802409D8 +/* 9FB1B4 802409C4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802409C8: +/* 9FB1B8 802409C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FB1BC 802409CC 30420004 */ andi $v0, $v0, 4 +/* 9FB1C0 802409D0 10400047 */ beqz $v0, .L80240AF0 +/* 9FB1C4 802409D4 00000000 */ nop +.L802409D8: +/* 9FB1C8 802409D8 AE600070 */ sw $zero, 0x70($s3) +/* 9FB1CC 802409DC A640008E */ sh $zero, 0x8e($s2) +/* 9FB1D0 802409E0 8E2300CC */ lw $v1, 0xcc($s1) +/* 9FB1D4 802409E4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9FB1D8 802409E8 A2200007 */ sb $zero, 7($s1) +/* 9FB1DC 802409EC 8E420000 */ lw $v0, ($s2) +/* 9FB1E0 802409F0 8C630000 */ lw $v1, ($v1) +/* 9FB1E4 802409F4 00441024 */ and $v0, $v0, $a0 +/* 9FB1E8 802409F8 AE420000 */ sw $v0, ($s2) +/* 9FB1EC 802409FC AE430028 */ sw $v1, 0x28($s2) +/* 9FB1F0 80240A00 96220086 */ lhu $v0, 0x86($s1) +/* 9FB1F4 80240A04 A64200A8 */ sh $v0, 0xa8($s2) +/* 9FB1F8 80240A08 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9FB1FC 80240A0C AE200090 */ sw $zero, 0x90($s1) +/* 9FB200 80240A10 8C420034 */ lw $v0, 0x34($v0) +/* 9FB204 80240A14 14400006 */ bnez $v0, .L80240A30 +/* 9FB208 80240A18 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9FB20C 80240A1C 8E420000 */ lw $v0, ($s2) +/* 9FB210 80240A20 2403FFF7 */ addiu $v1, $zero, -9 +/* 9FB214 80240A24 34420200 */ ori $v0, $v0, 0x200 +/* 9FB218 80240A28 0809028F */ j .L80240A3C +/* 9FB21C 80240A2C 00431024 */ and $v0, $v0, $v1 +.L80240A30: +/* 9FB220 80240A30 8E420000 */ lw $v0, ($s2) +/* 9FB224 80240A34 00431024 */ and $v0, $v0, $v1 +/* 9FB228 80240A38 34420008 */ ori $v0, $v0, 8 +.L80240A3C: +/* 9FB22C 80240A3C AE420000 */ sw $v0, ($s2) +/* 9FB230 80240A40 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FB234 80240A44 30420004 */ andi $v0, $v0, 4 +/* 9FB238 80240A48 1040001E */ beqz $v0, .L80240AC4 +/* 9FB23C 80240A4C 24040002 */ addiu $a0, $zero, 2 +/* 9FB240 80240A50 0240282D */ daddu $a1, $s2, $zero +/* 9FB244 80240A54 0000302D */ daddu $a2, $zero, $zero +/* 9FB248 80240A58 24020063 */ addiu $v0, $zero, 0x63 +/* 9FB24C 80240A5C AE620070 */ sw $v0, 0x70($s3) +/* 9FB250 80240A60 AE600074 */ sw $zero, 0x74($s3) +/* 9FB254 80240A64 864300A8 */ lh $v1, 0xa8($s2) +/* 9FB258 80240A68 3C013F80 */ lui $at, 0x3f80 +/* 9FB25C 80240A6C 44810000 */ mtc1 $at, $f0 +/* 9FB260 80240A70 3C014000 */ lui $at, 0x4000 +/* 9FB264 80240A74 44811000 */ mtc1 $at, $f2 +/* 9FB268 80240A78 3C01C1A0 */ lui $at, 0xc1a0 +/* 9FB26C 80240A7C 44812000 */ mtc1 $at, $f4 +/* 9FB270 80240A80 24020028 */ addiu $v0, $zero, 0x28 +/* 9FB274 80240A84 AFA2001C */ sw $v0, 0x1c($sp) +/* 9FB278 80240A88 44833000 */ mtc1 $v1, $f6 +/* 9FB27C 80240A8C 00000000 */ nop +/* 9FB280 80240A90 468031A0 */ cvt.s.w $f6, $f6 +/* 9FB284 80240A94 44073000 */ mfc1 $a3, $f6 +/* 9FB288 80240A98 27A20048 */ addiu $v0, $sp, 0x48 +/* 9FB28C 80240A9C AFA20020 */ sw $v0, 0x20($sp) +/* 9FB290 80240AA0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9FB294 80240AA4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9FB298 80240AA8 0C01BFA4 */ jal fx_emote +/* 9FB29C 80240AAC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9FB2A0 80240AB0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FB2A4 80240AB4 2403FFFB */ addiu $v1, $zero, -5 +/* 9FB2A8 80240AB8 00431024 */ and $v0, $v0, $v1 +/* 9FB2AC 80240ABC 080902BC */ j .L80240AF0 +/* 9FB2B0 80240AC0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240AC4: +/* 9FB2B4 80240AC4 8E220000 */ lw $v0, ($s1) +/* 9FB2B8 80240AC8 3C034000 */ lui $v1, 0x4000 +/* 9FB2BC 80240ACC 00431024 */ and $v0, $v0, $v1 +/* 9FB2C0 80240AD0 10400007 */ beqz $v0, .L80240AF0 +/* 9FB2C4 80240AD4 3C03BFFF */ lui $v1, 0xbfff +/* 9FB2C8 80240AD8 2402000C */ addiu $v0, $zero, 0xc +/* 9FB2CC 80240ADC AE620070 */ sw $v0, 0x70($s3) +/* 9FB2D0 80240AE0 8E220000 */ lw $v0, ($s1) +/* 9FB2D4 80240AE4 3463FFFF */ ori $v1, $v1, 0xffff +/* 9FB2D8 80240AE8 00431024 */ and $v0, $v0, $v1 +/* 9FB2DC 80240AEC AE220000 */ sw $v0, ($s1) +.L80240AF0: +/* 9FB2E0 80240AF0 8E220090 */ lw $v0, 0x90($s1) +/* 9FB2E4 80240AF4 1840000C */ blez $v0, .L80240B28 +/* 9FB2E8 80240AF8 2442FFFF */ addiu $v0, $v0, -1 +/* 9FB2EC 80240AFC 14400087 */ bnez $v0, .L80240D1C +/* 9FB2F0 80240B00 AE220090 */ sw $v0, 0x90($s1) +/* 9FB2F4 80240B04 3C03FFAA */ lui $v1, 0xffaa +/* 9FB2F8 80240B08 8E420028 */ lw $v0, 0x28($s2) +/* 9FB2FC 80240B0C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9FB300 80240B10 00431021 */ addu $v0, $v0, $v1 +/* 9FB304 80240B14 2C420002 */ sltiu $v0, $v0, 2 +/* 9FB308 80240B18 10400003 */ beqz $v0, .L80240B28 +/* 9FB30C 80240B1C 3C020055 */ lui $v0, 0x55 +/* 9FB310 80240B20 3442000C */ ori $v0, $v0, 0xc +/* 9FB314 80240B24 AE420028 */ sw $v0, 0x28($s2) +.L80240B28: +/* 9FB318 80240B28 8E630070 */ lw $v1, 0x70($s3) +/* 9FB31C 80240B2C 2402000C */ addiu $v0, $zero, 0xc +/* 9FB320 80240B30 10620048 */ beq $v1, $v0, .L80240C54 +/* 9FB324 80240B34 2862000D */ slti $v0, $v1, 0xd +/* 9FB328 80240B38 1040000F */ beqz $v0, .L80240B78 +/* 9FB32C 80240B3C 24100001 */ addiu $s0, $zero, 1 +/* 9FB330 80240B40 1070001E */ beq $v1, $s0, .L80240BBC +/* 9FB334 80240B44 28620002 */ slti $v0, $v1, 2 +/* 9FB338 80240B48 10400005 */ beqz $v0, .L80240B60 +/* 9FB33C 80240B4C 24020002 */ addiu $v0, $zero, 2 +/* 9FB340 80240B50 10600015 */ beqz $v1, .L80240BA8 +/* 9FB344 80240B54 0260202D */ daddu $a0, $s3, $zero +/* 9FB348 80240B58 0809032C */ j .L80240CB0 +/* 9FB34C 80240B5C 00000000 */ nop +.L80240B60: +/* 9FB350 80240B60 1062001C */ beq $v1, $v0, .L80240BD4 +/* 9FB354 80240B64 24020003 */ addiu $v0, $zero, 3 +/* 9FB358 80240B68 10620035 */ beq $v1, $v0, .L80240C40 +/* 9FB35C 80240B6C 0260202D */ daddu $a0, $s3, $zero +/* 9FB360 80240B70 0809032C */ j .L80240CB0 +/* 9FB364 80240B74 00000000 */ nop +.L80240B78: +/* 9FB368 80240B78 2402000E */ addiu $v0, $zero, 0xe +/* 9FB36C 80240B7C 1062003F */ beq $v1, $v0, .L80240C7C +/* 9FB370 80240B80 0062102A */ slt $v0, $v1, $v0 +/* 9FB374 80240B84 14400038 */ bnez $v0, .L80240C68 +/* 9FB378 80240B88 0260202D */ daddu $a0, $s3, $zero +/* 9FB37C 80240B8C 2402000F */ addiu $v0, $zero, 0xf +/* 9FB380 80240B90 10620040 */ beq $v1, $v0, .L80240C94 +/* 9FB384 80240B94 24020063 */ addiu $v0, $zero, 0x63 +/* 9FB388 80240B98 10620043 */ beq $v1, $v0, .L80240CA8 +/* 9FB38C 80240B9C 00000000 */ nop +/* 9FB390 80240BA0 0809032C */ j .L80240CB0 +/* 9FB394 80240BA4 00000000 */ nop +.L80240BA8: +/* 9FB398 80240BA8 0280282D */ daddu $a1, $s4, $zero +/* 9FB39C 80240BAC 0C012568 */ jal func_800495A0 +/* 9FB3A0 80240BB0 02A0302D */ daddu $a2, $s5, $zero +/* 9FB3A4 80240BB4 96220086 */ lhu $v0, 0x86($s1) +/* 9FB3A8 80240BB8 A64200A8 */ sh $v0, 0xa8($s2) +.L80240BBC: +/* 9FB3AC 80240BBC 0260202D */ daddu $a0, $s3, $zero +/* 9FB3B0 80240BC0 0280282D */ daddu $a1, $s4, $zero +/* 9FB3B4 80240BC4 0C0125AE */ jal func_800496B8 +/* 9FB3B8 80240BC8 02A0302D */ daddu $a2, $s5, $zero +/* 9FB3BC 80240BCC 0809032C */ j .L80240CB0 +/* 9FB3C0 80240BD0 00000000 */ nop +.L80240BD4: +/* 9FB3C4 80240BD4 0260202D */ daddu $a0, $s3, $zero +/* 9FB3C8 80240BD8 0280282D */ daddu $a1, $s4, $zero +/* 9FB3CC 80240BDC 0C0126D1 */ jal func_80049B44 +/* 9FB3D0 80240BE0 02A0302D */ daddu $a2, $s5, $zero +/* 9FB3D4 80240BE4 8E230088 */ lw $v1, 0x88($s1) +/* 9FB3D8 80240BE8 24020006 */ addiu $v0, $zero, 6 +/* 9FB3DC 80240BEC 14620014 */ bne $v1, $v0, .L80240C40 +/* 9FB3E0 80240BF0 0260202D */ daddu $a0, $s3, $zero +/* 9FB3E4 80240BF4 0C00A67F */ jal rand_int +/* 9FB3E8 80240BF8 24040064 */ addiu $a0, $zero, 0x64 +/* 9FB3EC 80240BFC 28420021 */ slti $v0, $v0, 0x21 +/* 9FB3F0 80240C00 5040000F */ beql $v0, $zero, .L80240C40 +/* 9FB3F4 80240C04 0260202D */ daddu $a0, $s3, $zero +/* 9FB3F8 80240C08 8E22008C */ lw $v0, 0x8c($s1) +/* 9FB3FC 80240C0C 10400005 */ beqz $v0, .L80240C24 +/* 9FB400 80240C10 3C020055 */ lui $v0, 0x55 +/* 9FB404 80240C14 3442002F */ ori $v0, $v0, 0x2f +/* 9FB408 80240C18 AE20008C */ sw $zero, 0x8c($s1) +/* 9FB40C 80240C1C 0809030C */ j .L80240C30 +/* 9FB410 80240C20 A22000B5 */ sb $zero, 0xb5($s1) +.L80240C24: +/* 9FB414 80240C24 3442002E */ ori $v0, $v0, 0x2e +/* 9FB418 80240C28 AE30008C */ sw $s0, 0x8c($s1) +/* 9FB41C 80240C2C A23000B5 */ sb $s0, 0xb5($s1) +.L80240C30: +/* 9FB420 80240C30 AE420028 */ sw $v0, 0x28($s2) +/* 9FB424 80240C34 24020007 */ addiu $v0, $zero, 7 +/* 9FB428 80240C38 08090347 */ j .L80240D1C +/* 9FB42C 80240C3C AE220090 */ sw $v0, 0x90($s1) +.L80240C40: +/* 9FB430 80240C40 0280282D */ daddu $a1, $s4, $zero +/* 9FB434 80240C44 0C012701 */ jal func_80049C04 +/* 9FB438 80240C48 02A0302D */ daddu $a2, $s5, $zero +/* 9FB43C 80240C4C 0809032C */ j .L80240CB0 +/* 9FB440 80240C50 00000000 */ nop +.L80240C54: +/* 9FB444 80240C54 0260202D */ daddu $a0, $s3, $zero +/* 9FB448 80240C58 0280282D */ daddu $a1, $s4, $zero +/* 9FB44C 80240C5C 0C09015C */ jal func_80240570 +/* 9FB450 80240C60 02A0302D */ daddu $a2, $s5, $zero +/* 9FB454 80240C64 0260202D */ daddu $a0, $s3, $zero +.L80240C68: +/* 9FB458 80240C68 0280282D */ daddu $a1, $s4, $zero +/* 9FB45C 80240C6C 0C09017B */ jal func_802405EC +/* 9FB460 80240C70 02A0302D */ daddu $a2, $s5, $zero +/* 9FB464 80240C74 0809032C */ j .L80240CB0 +/* 9FB468 80240C78 00000000 */ nop +.L80240C7C: +/* 9FB46C 80240C7C 0260202D */ daddu $a0, $s3, $zero +/* 9FB470 80240C80 0280282D */ daddu $a1, $s4, $zero +/* 9FB474 80240C84 0C0901C8 */ jal func_80240720 +/* 9FB478 80240C88 02A0302D */ daddu $a2, $s5, $zero +/* 9FB47C 80240C8C 0809032C */ j .L80240CB0 +/* 9FB480 80240C90 00000000 */ nop +.L80240C94: +/* 9FB484 80240C94 0280282D */ daddu $a1, $s4, $zero +/* 9FB488 80240C98 0C090221 */ jal func_80240884 +/* 9FB48C 80240C9C 02A0302D */ daddu $a2, $s5, $zero +/* 9FB490 80240CA0 0809032C */ j .L80240CB0 +/* 9FB494 80240CA4 00000000 */ nop +.L80240CA8: +/* 9FB498 80240CA8 0C0129CF */ jal func_8004A73C +/* 9FB49C 80240CAC 0260202D */ daddu $a0, $s3, $zero +.L80240CB0: +/* 9FB4A0 80240CB0 8E230088 */ lw $v1, 0x88($s1) +/* 9FB4A4 80240CB4 24020006 */ addiu $v0, $zero, 6 +/* 9FB4A8 80240CB8 14620019 */ bne $v1, $v0, .L80240D20 +/* 9FB4AC 80240CBC 0000102D */ daddu $v0, $zero, $zero +/* 9FB4B0 80240CC0 8E22008C */ lw $v0, 0x8c($s1) +/* 9FB4B4 80240CC4 10400003 */ beqz $v0, .L80240CD4 +/* 9FB4B8 80240CC8 24020001 */ addiu $v0, $zero, 1 +/* 9FB4BC 80240CCC 08090336 */ j .L80240CD8 +/* 9FB4C0 80240CD0 A22200B5 */ sb $v0, 0xb5($s1) +.L80240CD4: +/* 9FB4C4 80240CD4 A22000B5 */ sb $zero, 0xb5($s1) +.L80240CD8: +/* 9FB4C8 80240CD8 8E22008C */ lw $v0, 0x8c($s1) +/* 9FB4CC 80240CDC 1040000F */ beqz $v0, .L80240D1C +/* 9FB4D0 80240CE0 3C03FFAA */ lui $v1, 0xffaa +/* 9FB4D4 80240CE4 8E420028 */ lw $v0, 0x28($s2) +/* 9FB4D8 80240CE8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9FB4DC 80240CEC 00431821 */ addu $v1, $v0, $v1 +/* 9FB4E0 80240CF0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9FB4E4 80240CF4 10400009 */ beqz $v0, .L80240D1C +/* 9FB4E8 80240CF8 00031080 */ sll $v0, $v1, 2 +/* 9FB4EC 80240CFC 3C018024 */ lui $at, 0x8024 +/* 9FB4F0 80240D00 00220821 */ addu $at, $at, $v0 +/* 9FB4F4 80240D04 8C225A78 */ lw $v0, 0x5a78($at) +/* 9FB4F8 80240D08 00400008 */ jr $v0 +/* 9FB4FC 80240D0C 00000000 */ nop +/* 9FB500 80240D10 8E420028 */ lw $v0, 0x28($s2) +/* 9FB504 80240D14 24420001 */ addiu $v0, $v0, 1 +/* 9FB508 80240D18 AE420028 */ sw $v0, 0x28($s2) +.L80240D1C: +/* 9FB50C 80240D1C 0000102D */ daddu $v0, $zero, $zero +.L80240D20: +/* 9FB510 80240D20 8FBF0068 */ lw $ra, 0x68($sp) +/* 9FB514 80240D24 8FB50064 */ lw $s5, 0x64($sp) +/* 9FB518 80240D28 8FB40060 */ lw $s4, 0x60($sp) +/* 9FB51C 80240D2C 8FB3005C */ lw $s3, 0x5c($sp) +/* 9FB520 80240D30 8FB20058 */ lw $s2, 0x58($sp) +/* 9FB524 80240D34 8FB10054 */ lw $s1, 0x54($sp) +/* 9FB528 80240D38 8FB00050 */ lw $s0, 0x50($sp) +/* 9FB52C 80240D3C 03E00008 */ jr $ra +/* 9FB530 80240D40 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240D44_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240D44_9FA7F0.s new file mode 100644 index 0000000000..fd246699b8 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240D44_9FA7F0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D44_9FB534 +/* 9FB534 80240D44 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9FB538 80240D48 AFB50024 */ sw $s5, 0x24($sp) +/* 9FB53C 80240D4C 0080A82D */ daddu $s5, $a0, $zero +/* 9FB540 80240D50 AFBF002C */ sw $ra, 0x2c($sp) +/* 9FB544 80240D54 AFB60028 */ sw $s6, 0x28($sp) +/* 9FB548 80240D58 AFB40020 */ sw $s4, 0x20($sp) +/* 9FB54C 80240D5C AFB3001C */ sw $s3, 0x1c($sp) +/* 9FB550 80240D60 AFB20018 */ sw $s2, 0x18($sp) +/* 9FB554 80240D64 AFB10014 */ sw $s1, 0x14($sp) +/* 9FB558 80240D68 AFB00010 */ sw $s0, 0x10($sp) +/* 9FB55C 80240D6C F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9FB560 80240D70 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9FB564 80240D74 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9FB568 80240D78 8EB30148 */ lw $s3, 0x148($s5) +/* 9FB56C 80240D7C 86640008 */ lh $a0, 8($s3) +/* 9FB570 80240D80 0C00EABB */ jal get_npc_unsafe +/* 9FB574 80240D84 00A0B02D */ daddu $s6, $a1, $zero +/* 9FB578 80240D88 0040A02D */ daddu $s4, $v0, $zero +/* 9FB57C 80240D8C AEA00074 */ sw $zero, 0x74($s5) +/* 9FB580 80240D90 C6980038 */ lwc1 $f24, 0x38($s4) +/* 9FB584 80240D94 C6960040 */ lwc1 $f22, 0x40($s4) +/* 9FB588 80240D98 0000902D */ daddu $s2, $zero, $zero +/* 9FB58C 80240D9C AEA00078 */ sw $zero, 0x78($s5) +/* 9FB590 80240DA0 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9FB594 80240DA4 8C620000 */ lw $v0, ($v1) +/* 9FB598 80240DA8 3C0146FF */ lui $at, 0x46ff +/* 9FB59C 80240DAC 3421FE00 */ ori $at, $at, 0xfe00 +/* 9FB5A0 80240DB0 4481A000 */ mtc1 $at, $f20 +/* 9FB5A4 80240DB4 18400018 */ blez $v0, .L80240E18 +/* 9FB5A8 80240DB8 0240802D */ daddu $s0, $s2, $zero +/* 9FB5AC 80240DBC 0240882D */ daddu $s1, $s2, $zero +.L80240DC0: +/* 9FB5B0 80240DC0 02231021 */ addu $v0, $s1, $v1 +/* 9FB5B4 80240DC4 4600C306 */ mov.s $f12, $f24 +/* 9FB5B8 80240DC8 C4440004 */ lwc1 $f4, 4($v0) +/* 9FB5BC 80240DCC 46802120 */ cvt.s.w $f4, $f4 +/* 9FB5C0 80240DD0 44062000 */ mfc1 $a2, $f4 +/* 9FB5C4 80240DD4 C444000C */ lwc1 $f4, 0xc($v0) +/* 9FB5C8 80240DD8 46802120 */ cvt.s.w $f4, $f4 +/* 9FB5CC 80240DDC 44072000 */ mfc1 $a3, $f4 +/* 9FB5D0 80240DE0 0C00A7B5 */ jal dist2D +/* 9FB5D4 80240DE4 4600B386 */ mov.s $f14, $f22 +/* 9FB5D8 80240DE8 4614003C */ c.lt.s $f0, $f20 +/* 9FB5DC 80240DEC 00000000 */ nop +/* 9FB5E0 80240DF0 45000003 */ bc1f .L80240E00 +/* 9FB5E4 80240DF4 2631000C */ addiu $s1, $s1, 0xc +/* 9FB5E8 80240DF8 46000506 */ mov.s $f20, $f0 +/* 9FB5EC 80240DFC AEB20078 */ sw $s2, 0x78($s5) +.L80240E00: +/* 9FB5F0 80240E00 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9FB5F4 80240E04 26100001 */ addiu $s0, $s0, 1 +/* 9FB5F8 80240E08 8C620000 */ lw $v0, ($v1) +/* 9FB5FC 80240E0C 0202102A */ slt $v0, $s0, $v0 +/* 9FB600 80240E10 1440FFEB */ bnez $v0, .L80240DC0 +/* 9FB604 80240E14 26520001 */ addiu $s2, $s2, 1 +.L80240E18: +/* 9FB608 80240E18 8E6200CC */ lw $v0, 0xcc($s3) +/* 9FB60C 80240E1C 8C420004 */ lw $v0, 4($v0) +/* 9FB610 80240E20 AE820028 */ sw $v0, 0x28($s4) +/* 9FB614 80240E24 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9FB618 80240E28 8C42007C */ lw $v0, 0x7c($v0) +/* 9FB61C 80240E2C 04410004 */ bgez $v0, .L80240E40 +/* 9FB620 80240E30 00000000 */ nop +/* 9FB624 80240E34 C6C00000 */ lwc1 $f0, ($s6) +/* 9FB628 80240E38 08090398 */ j .L80240E60 +/* 9FB62C 80240E3C E6800018 */ swc1 $f0, 0x18($s4) +.L80240E40: +/* 9FB630 80240E40 3C018024 */ lui $at, 0x8024 +/* 9FB634 80240E44 D4225AD0 */ ldc1 $f2, 0x5ad0($at) +/* 9FB638 80240E48 44820000 */ mtc1 $v0, $f0 +/* 9FB63C 80240E4C 00000000 */ nop +/* 9FB640 80240E50 46800021 */ cvt.d.w $f0, $f0 +/* 9FB644 80240E54 46220003 */ div.d $f0, $f0, $f2 +/* 9FB648 80240E58 46200020 */ cvt.s.d $f0, $f0 +/* 9FB64C 80240E5C E6800018 */ swc1 $f0, 0x18($s4) +.L80240E60: +/* 9FB650 80240E60 24020001 */ addiu $v0, $zero, 1 +/* 9FB654 80240E64 AEA20070 */ sw $v0, 0x70($s5) +/* 9FB658 80240E68 8FBF002C */ lw $ra, 0x2c($sp) +/* 9FB65C 80240E6C 8FB60028 */ lw $s6, 0x28($sp) +/* 9FB660 80240E70 8FB50024 */ lw $s5, 0x24($sp) +/* 9FB664 80240E74 8FB40020 */ lw $s4, 0x20($sp) +/* 9FB668 80240E78 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FB66C 80240E7C 8FB20018 */ lw $s2, 0x18($sp) +/* 9FB670 80240E80 8FB10014 */ lw $s1, 0x14($sp) +/* 9FB674 80240E84 8FB00010 */ lw $s0, 0x10($sp) +/* 9FB678 80240E88 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9FB67C 80240E8C D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9FB680 80240E90 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9FB684 80240E94 03E00008 */ jr $ra +/* 9FB688 80240E98 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80240E9C_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80240E9C_9FA7F0.s new file mode 100644 index 0000000000..d0e0eb9ded --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80240E9C_9FA7F0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E9C_9FB68C +/* 9FB68C 80240E9C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9FB690 80240EA0 AFB20038 */ sw $s2, 0x38($sp) +/* 9FB694 80240EA4 0080902D */ daddu $s2, $a0, $zero +/* 9FB698 80240EA8 AFBF0044 */ sw $ra, 0x44($sp) +/* 9FB69C 80240EAC AFB40040 */ sw $s4, 0x40($sp) +/* 9FB6A0 80240EB0 AFB3003C */ sw $s3, 0x3c($sp) +/* 9FB6A4 80240EB4 AFB10034 */ sw $s1, 0x34($sp) +/* 9FB6A8 80240EB8 AFB00030 */ sw $s0, 0x30($sp) +/* 9FB6AC 80240EBC F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9FB6B0 80240EC0 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9FB6B4 80240EC4 8E510148 */ lw $s1, 0x148($s2) +/* 9FB6B8 80240EC8 00A0982D */ daddu $s3, $a1, $zero +/* 9FB6BC 80240ECC 86240008 */ lh $a0, 8($s1) +/* 9FB6C0 80240ED0 0C00EABB */ jal get_npc_unsafe +/* 9FB6C4 80240ED4 00C0A02D */ daddu $s4, $a2, $zero +/* 9FB6C8 80240ED8 8E630014 */ lw $v1, 0x14($s3) +/* 9FB6CC 80240EDC 04600030 */ bltz $v1, .L80240FA0 +/* 9FB6D0 80240EE0 0040802D */ daddu $s0, $v0, $zero +/* 9FB6D4 80240EE4 8E420074 */ lw $v0, 0x74($s2) +/* 9FB6D8 80240EE8 1C40002C */ bgtz $v0, .L80240F9C +/* 9FB6DC 80240EEC 2442FFFF */ addiu $v0, $v0, -1 +/* 9FB6E0 80240EF0 0280202D */ daddu $a0, $s4, $zero +/* 9FB6E4 80240EF4 AE430074 */ sw $v1, 0x74($s2) +/* 9FB6E8 80240EF8 AFA00010 */ sw $zero, 0x10($sp) +/* 9FB6EC 80240EFC 8E66000C */ lw $a2, 0xc($s3) +/* 9FB6F0 80240F00 8E670010 */ lw $a3, 0x10($s3) +/* 9FB6F4 80240F04 0C01242D */ jal func_800490B4 +/* 9FB6F8 80240F08 0220282D */ daddu $a1, $s1, $zero +/* 9FB6FC 80240F0C 10400021 */ beqz $v0, .L80240F94 +/* 9FB700 80240F10 0000202D */ daddu $a0, $zero, $zero +/* 9FB704 80240F14 0200282D */ daddu $a1, $s0, $zero +/* 9FB708 80240F18 0000302D */ daddu $a2, $zero, $zero +/* 9FB70C 80240F1C 860300A8 */ lh $v1, 0xa8($s0) +/* 9FB710 80240F20 3C013F80 */ lui $at, 0x3f80 +/* 9FB714 80240F24 44810000 */ mtc1 $at, $f0 +/* 9FB718 80240F28 3C014000 */ lui $at, 0x4000 +/* 9FB71C 80240F2C 44811000 */ mtc1 $at, $f2 +/* 9FB720 80240F30 3C01C1A0 */ lui $at, 0xc1a0 +/* 9FB724 80240F34 44812000 */ mtc1 $at, $f4 +/* 9FB728 80240F38 2402000F */ addiu $v0, $zero, 0xf +/* 9FB72C 80240F3C AFA2001C */ sw $v0, 0x1c($sp) +/* 9FB730 80240F40 44833000 */ mtc1 $v1, $f6 +/* 9FB734 80240F44 00000000 */ nop +/* 9FB738 80240F48 468031A0 */ cvt.s.w $f6, $f6 +/* 9FB73C 80240F4C 44073000 */ mfc1 $a3, $f6 +/* 9FB740 80240F50 27A20028 */ addiu $v0, $sp, 0x28 +/* 9FB744 80240F54 AFA20020 */ sw $v0, 0x20($sp) +/* 9FB748 80240F58 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9FB74C 80240F5C E7A20014 */ swc1 $f2, 0x14($sp) +/* 9FB750 80240F60 0C01BFA4 */ jal fx_emote +/* 9FB754 80240F64 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9FB758 80240F68 0200202D */ daddu $a0, $s0, $zero +/* 9FB75C 80240F6C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9FB760 80240F70 0C012530 */ jal func_800494C0 +/* 9FB764 80240F74 3C060020 */ lui $a2, 0x20 +/* 9FB768 80240F78 8E220018 */ lw $v0, 0x18($s1) +/* 9FB76C 80240F7C 9442002A */ lhu $v0, 0x2a($v0) +/* 9FB770 80240F80 30420001 */ andi $v0, $v0, 1 +/* 9FB774 80240F84 14400064 */ bnez $v0, .L80241118 +/* 9FB778 80240F88 2402000A */ addiu $v0, $zero, 0xa +/* 9FB77C 80240F8C 08090446 */ j .L80241118 +/* 9FB780 80240F90 2402000C */ addiu $v0, $zero, 0xc +.L80240F94: +/* 9FB784 80240F94 8E420074 */ lw $v0, 0x74($s2) +/* 9FB788 80240F98 2442FFFF */ addiu $v0, $v0, -1 +.L80240F9C: +/* 9FB78C 80240F9C AE420074 */ sw $v0, 0x74($s2) +.L80240FA0: +/* 9FB790 80240FA0 8602008C */ lh $v0, 0x8c($s0) +/* 9FB794 80240FA4 1440005D */ bnez $v0, .L8024111C +/* 9FB798 80240FA8 00000000 */ nop +/* 9FB79C 80240FAC C6000018 */ lwc1 $f0, 0x18($s0) +/* 9FB7A0 80240FB0 3C014010 */ lui $at, 0x4010 +/* 9FB7A4 80240FB4 44811800 */ mtc1 $at, $f3 +/* 9FB7A8 80240FB8 44801000 */ mtc1 $zero, $f2 +/* 9FB7AC 80240FBC 46000021 */ cvt.d.s $f0, $f0 +/* 9FB7B0 80240FC0 4622003C */ c.lt.d $f0, $f2 +/* 9FB7B4 80240FC4 00000000 */ nop +/* 9FB7B8 80240FC8 45000003 */ bc1f .L80240FD8 +/* 9FB7BC 80240FCC 0200202D */ daddu $a0, $s0, $zero +/* 9FB7C0 80240FD0 080903F7 */ j .L80240FDC +/* 9FB7C4 80240FD4 0000282D */ daddu $a1, $zero, $zero +.L80240FD8: +/* 9FB7C8 80240FD8 24050001 */ addiu $a1, $zero, 1 +.L80240FDC: +/* 9FB7CC 80240FDC 0C00F598 */ jal func_8003D660 +/* 9FB7D0 80240FE0 00000000 */ nop +/* 9FB7D4 80240FE4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9FB7D8 80240FE8 8E430078 */ lw $v1, 0x78($s2) +/* 9FB7DC 80240FEC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9FB7E0 80240FF0 00031040 */ sll $v0, $v1, 1 +/* 9FB7E4 80240FF4 00431021 */ addu $v0, $v0, $v1 +/* 9FB7E8 80240FF8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FB7EC 80240FFC 00021080 */ sll $v0, $v0, 2 +/* 9FB7F0 80241000 00431021 */ addu $v0, $v0, $v1 +/* 9FB7F4 80241004 C4560004 */ lwc1 $f22, 4($v0) +/* 9FB7F8 80241008 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9FB7FC 8024100C C454000C */ lwc1 $f20, 0xc($v0) +/* 9FB800 80241010 4680A520 */ cvt.s.w $f20, $f20 +/* 9FB804 80241014 4406B000 */ mfc1 $a2, $f22 +/* 9FB808 80241018 4407A000 */ mfc1 $a3, $f20 +/* 9FB80C 8024101C 0C00A720 */ jal atan2 +/* 9FB810 80241020 00000000 */ nop +/* 9FB814 80241024 8E050018 */ lw $a1, 0x18($s0) +/* 9FB818 80241028 44060000 */ mfc1 $a2, $f0 +/* 9FB81C 8024102C 0200202D */ daddu $a0, $s0, $zero +/* 9FB820 80241030 0C00EA95 */ jal npc_move_heading +/* 9FB824 80241034 AE06000C */ sw $a2, 0xc($s0) +/* 9FB828 80241038 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9FB82C 8024103C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9FB830 80241040 4406B000 */ mfc1 $a2, $f22 +/* 9FB834 80241044 4407A000 */ mfc1 $a3, $f20 +/* 9FB838 80241048 0C00A7B5 */ jal dist2D +/* 9FB83C 8024104C 00000000 */ nop +/* 9FB840 80241050 C6020018 */ lwc1 $f2, 0x18($s0) +/* 9FB844 80241054 4602003E */ c.le.s $f0, $f2 +/* 9FB848 80241058 00000000 */ nop +/* 9FB84C 8024105C 4500002F */ bc1f .L8024111C +/* 9FB850 80241060 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9FB854 80241064 24020002 */ addiu $v0, $zero, 2 +/* 9FB858 80241068 0C00A67F */ jal rand_int +/* 9FB85C 8024106C AE420070 */ sw $v0, 0x70($s2) +/* 9FB860 80241070 3C035555 */ lui $v1, 0x5555 +/* 9FB864 80241074 34635556 */ ori $v1, $v1, 0x5556 +/* 9FB868 80241078 00430018 */ mult $v0, $v1 +/* 9FB86C 8024107C 000227C3 */ sra $a0, $v0, 0x1f +/* 9FB870 80241080 00004010 */ mfhi $t0 +/* 9FB874 80241084 01042023 */ subu $a0, $t0, $a0 +/* 9FB878 80241088 00041840 */ sll $v1, $a0, 1 +/* 9FB87C 8024108C 00641821 */ addu $v1, $v1, $a0 +/* 9FB880 80241090 00431023 */ subu $v0, $v0, $v1 +/* 9FB884 80241094 24430002 */ addiu $v1, $v0, 2 +/* 9FB888 80241098 AE430074 */ sw $v1, 0x74($s2) +/* 9FB88C 8024109C 8E62002C */ lw $v0, 0x2c($s3) +/* 9FB890 802410A0 18400009 */ blez $v0, .L802410C8 +/* 9FB894 802410A4 24020004 */ addiu $v0, $zero, 4 +/* 9FB898 802410A8 8E620004 */ lw $v0, 4($s3) +/* 9FB89C 802410AC 18400006 */ blez $v0, .L802410C8 +/* 9FB8A0 802410B0 24020004 */ addiu $v0, $zero, 4 +/* 9FB8A4 802410B4 8E620008 */ lw $v0, 8($s3) +/* 9FB8A8 802410B8 18400003 */ blez $v0, .L802410C8 +/* 9FB8AC 802410BC 24020004 */ addiu $v0, $zero, 4 +/* 9FB8B0 802410C0 14600002 */ bnez $v1, .L802410CC +/* 9FB8B4 802410C4 00000000 */ nop +.L802410C8: +/* 9FB8B8 802410C8 AE420070 */ sw $v0, 0x70($s2) +.L802410CC: +/* 9FB8BC 802410CC 0C00A67F */ jal rand_int +/* 9FB8C0 802410D0 24042710 */ addiu $a0, $zero, 0x2710 +/* 9FB8C4 802410D4 3C0351EB */ lui $v1, 0x51eb +/* 9FB8C8 802410D8 3463851F */ ori $v1, $v1, 0x851f +/* 9FB8CC 802410DC 00430018 */ mult $v0, $v1 +/* 9FB8D0 802410E0 00021FC3 */ sra $v1, $v0, 0x1f +/* 9FB8D4 802410E4 00004010 */ mfhi $t0 +/* 9FB8D8 802410E8 00082143 */ sra $a0, $t0, 5 +/* 9FB8DC 802410EC 00832023 */ subu $a0, $a0, $v1 +/* 9FB8E0 802410F0 00041840 */ sll $v1, $a0, 1 +/* 9FB8E4 802410F4 00641821 */ addu $v1, $v1, $a0 +/* 9FB8E8 802410F8 000318C0 */ sll $v1, $v1, 3 +/* 9FB8EC 802410FC 00641821 */ addu $v1, $v1, $a0 +/* 9FB8F0 80241100 00031880 */ sll $v1, $v1, 2 +/* 9FB8F4 80241104 8E640004 */ lw $a0, 4($s3) +/* 9FB8F8 80241108 00431023 */ subu $v0, $v0, $v1 +/* 9FB8FC 8024110C 0044102A */ slt $v0, $v0, $a0 +/* 9FB900 80241110 10400002 */ beqz $v0, .L8024111C +/* 9FB904 80241114 24020004 */ addiu $v0, $zero, 4 +.L80241118: +/* 9FB908 80241118 AE420070 */ sw $v0, 0x70($s2) +.L8024111C: +/* 9FB90C 8024111C 8FBF0044 */ lw $ra, 0x44($sp) +/* 9FB910 80241120 8FB40040 */ lw $s4, 0x40($sp) +/* 9FB914 80241124 8FB3003C */ lw $s3, 0x3c($sp) +/* 9FB918 80241128 8FB20038 */ lw $s2, 0x38($sp) +/* 9FB91C 8024112C 8FB10034 */ lw $s1, 0x34($sp) +/* 9FB920 80241130 8FB00030 */ lw $s0, 0x30($sp) +/* 9FB924 80241134 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 9FB928 80241138 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 9FB92C 8024113C 03E00008 */ jr $ra +/* 9FB930 80241140 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241144_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241144_9FA7F0.s new file mode 100644 index 0000000000..661ad56312 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241144_9FA7F0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241144_9FB934 +/* 9FB934 80241144 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FB938 80241148 AFB3001C */ sw $s3, 0x1c($sp) +/* 9FB93C 8024114C 0080982D */ daddu $s3, $a0, $zero +/* 9FB940 80241150 AFBF0020 */ sw $ra, 0x20($sp) +/* 9FB944 80241154 AFB20018 */ sw $s2, 0x18($sp) +/* 9FB948 80241158 AFB10014 */ sw $s1, 0x14($sp) +/* 9FB94C 8024115C AFB00010 */ sw $s0, 0x10($sp) +/* 9FB950 80241160 8E720148 */ lw $s2, 0x148($s3) +/* 9FB954 80241164 86440008 */ lh $a0, 8($s2) +/* 9FB958 80241168 0C00EABB */ jal get_npc_unsafe +/* 9FB95C 8024116C 00A0882D */ daddu $s1, $a1, $zero +/* 9FB960 80241170 8E240008 */ lw $a0, 8($s1) +/* 9FB964 80241174 0040802D */ daddu $s0, $v0, $zero +/* 9FB968 80241178 00041FC2 */ srl $v1, $a0, 0x1f +/* 9FB96C 8024117C 00832021 */ addu $a0, $a0, $v1 +/* 9FB970 80241180 00042043 */ sra $a0, $a0, 1 +/* 9FB974 80241184 0C00A67F */ jal rand_int +/* 9FB978 80241188 24840001 */ addiu $a0, $a0, 1 +/* 9FB97C 8024118C 8E230008 */ lw $v1, 8($s1) +/* 9FB980 80241190 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9FB984 80241194 00032FC2 */ srl $a1, $v1, 0x1f +/* 9FB988 80241198 00651821 */ addu $v1, $v1, $a1 +/* 9FB98C 8024119C 00031843 */ sra $v1, $v1, 1 +/* 9FB990 802411A0 00621821 */ addu $v1, $v1, $v0 +/* 9FB994 802411A4 0C00A67F */ jal rand_int +/* 9FB998 802411A8 A603008E */ sh $v1, 0x8e($s0) +/* 9FB99C 802411AC C60C000C */ lwc1 $f12, 0xc($s0) +/* 9FB9A0 802411B0 44820000 */ mtc1 $v0, $f0 +/* 9FB9A4 802411B4 00000000 */ nop +/* 9FB9A8 802411B8 46800020 */ cvt.s.w $f0, $f0 +/* 9FB9AC 802411BC 46006300 */ add.s $f12, $f12, $f0 +/* 9FB9B0 802411C0 3C0142B4 */ lui $at, 0x42b4 +/* 9FB9B4 802411C4 44810000 */ mtc1 $at, $f0 +/* 9FB9B8 802411C8 0C00A6C9 */ jal clamp_angle +/* 9FB9BC 802411CC 46006301 */ sub.s $f12, $f12, $f0 +/* 9FB9C0 802411D0 E600000C */ swc1 $f0, 0xc($s0) +/* 9FB9C4 802411D4 8E4200CC */ lw $v0, 0xcc($s2) +/* 9FB9C8 802411D8 8C420000 */ lw $v0, ($v0) +/* 9FB9CC 802411DC AE020028 */ sw $v0, 0x28($s0) +/* 9FB9D0 802411E0 24020003 */ addiu $v0, $zero, 3 +/* 9FB9D4 802411E4 AE620070 */ sw $v0, 0x70($s3) +/* 9FB9D8 802411E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 9FB9DC 802411EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FB9E0 802411F0 8FB20018 */ lw $s2, 0x18($sp) +/* 9FB9E4 802411F4 8FB10014 */ lw $s1, 0x14($sp) +/* 9FB9E8 802411F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9FB9EC 802411FC 03E00008 */ jr $ra +/* 9FB9F0 80241200 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241204_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241204_9FA7F0.s new file mode 100644 index 0000000000..4885a368f0 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241204_9FA7F0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241204_9FB9F4 +/* 9FB9F4 80241204 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9FB9F8 80241208 AFB40040 */ sw $s4, 0x40($sp) +/* 9FB9FC 8024120C 0080A02D */ daddu $s4, $a0, $zero +/* 9FBA00 80241210 AFBF0044 */ sw $ra, 0x44($sp) +/* 9FBA04 80241214 AFB3003C */ sw $s3, 0x3c($sp) +/* 9FBA08 80241218 AFB20038 */ sw $s2, 0x38($sp) +/* 9FBA0C 8024121C AFB10034 */ sw $s1, 0x34($sp) +/* 9FBA10 80241220 AFB00030 */ sw $s0, 0x30($sp) +/* 9FBA14 80241224 8E910148 */ lw $s1, 0x148($s4) +/* 9FBA18 80241228 00A0902D */ daddu $s2, $a1, $zero +/* 9FBA1C 8024122C 86240008 */ lh $a0, 8($s1) +/* 9FBA20 80241230 0C00EABB */ jal get_npc_unsafe +/* 9FBA24 80241234 00C0982D */ daddu $s3, $a2, $zero +/* 9FBA28 80241238 8E430014 */ lw $v1, 0x14($s2) +/* 9FBA2C 8024123C 04600031 */ bltz $v1, .L80241304 +/* 9FBA30 80241240 0040802D */ daddu $s0, $v0, $zero +/* 9FBA34 80241244 0260202D */ daddu $a0, $s3, $zero +/* 9FBA38 80241248 AFA00010 */ sw $zero, 0x10($sp) +/* 9FBA3C 8024124C 8E460024 */ lw $a2, 0x24($s2) +/* 9FBA40 80241250 8E470028 */ lw $a3, 0x28($s2) +/* 9FBA44 80241254 0C01242D */ jal func_800490B4 +/* 9FBA48 80241258 0220282D */ daddu $a1, $s1, $zero +/* 9FBA4C 8024125C 10400029 */ beqz $v0, .L80241304 +/* 9FBA50 80241260 0000202D */ daddu $a0, $zero, $zero +/* 9FBA54 80241264 0200282D */ daddu $a1, $s0, $zero +/* 9FBA58 80241268 0000302D */ daddu $a2, $zero, $zero +/* 9FBA5C 8024126C 860300A8 */ lh $v1, 0xa8($s0) +/* 9FBA60 80241270 3C013F80 */ lui $at, 0x3f80 +/* 9FBA64 80241274 44810000 */ mtc1 $at, $f0 +/* 9FBA68 80241278 3C014000 */ lui $at, 0x4000 +/* 9FBA6C 8024127C 44811000 */ mtc1 $at, $f2 +/* 9FBA70 80241280 3C01C1A0 */ lui $at, 0xc1a0 +/* 9FBA74 80241284 44812000 */ mtc1 $at, $f4 +/* 9FBA78 80241288 2402000F */ addiu $v0, $zero, 0xf +/* 9FBA7C 8024128C AFA2001C */ sw $v0, 0x1c($sp) +/* 9FBA80 80241290 44833000 */ mtc1 $v1, $f6 +/* 9FBA84 80241294 00000000 */ nop +/* 9FBA88 80241298 468031A0 */ cvt.s.w $f6, $f6 +/* 9FBA8C 8024129C 44073000 */ mfc1 $a3, $f6 +/* 9FBA90 802412A0 27A20028 */ addiu $v0, $sp, 0x28 +/* 9FBA94 802412A4 AFA20020 */ sw $v0, 0x20($sp) +/* 9FBA98 802412A8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9FBA9C 802412AC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9FBAA0 802412B0 0C01BFA4 */ jal fx_emote +/* 9FBAA4 802412B4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9FBAA8 802412B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9FBAAC 802412BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9FBAB0 802412C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9FBAB4 802412C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9FBAB8 802412C8 8C460028 */ lw $a2, 0x28($v0) +/* 9FBABC 802412CC 0C00A720 */ jal atan2 +/* 9FBAC0 802412D0 8C470030 */ lw $a3, 0x30($v0) +/* 9FBAC4 802412D4 0200202D */ daddu $a0, $s0, $zero +/* 9FBAC8 802412D8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9FBACC 802412DC 3C060020 */ lui $a2, 0x20 +/* 9FBAD0 802412E0 0C012530 */ jal func_800494C0 +/* 9FBAD4 802412E4 E480000C */ swc1 $f0, 0xc($a0) +/* 9FBAD8 802412E8 8E220018 */ lw $v0, 0x18($s1) +/* 9FBADC 802412EC 9442002A */ lhu $v0, 0x2a($v0) +/* 9FBAE0 802412F0 30420001 */ andi $v0, $v0, 1 +/* 9FBAE4 802412F4 14400029 */ bnez $v0, .L8024139C +/* 9FBAE8 802412F8 2402000A */ addiu $v0, $zero, 0xa +/* 9FBAEC 802412FC 080904E7 */ j .L8024139C +/* 9FBAF0 80241300 2402000C */ addiu $v0, $zero, 0xc +.L80241304: +/* 9FBAF4 80241304 8602008C */ lh $v0, 0x8c($s0) +/* 9FBAF8 80241308 14400025 */ bnez $v0, .L802413A0 +/* 9FBAFC 8024130C 00000000 */ nop +/* 9FBB00 80241310 9602008E */ lhu $v0, 0x8e($s0) +/* 9FBB04 80241314 2442FFFF */ addiu $v0, $v0, -1 +/* 9FBB08 80241318 A602008E */ sh $v0, 0x8e($s0) +/* 9FBB0C 8024131C 00021400 */ sll $v0, $v0, 0x10 +/* 9FBB10 80241320 1440001F */ bnez $v0, .L802413A0 +/* 9FBB14 80241324 00000000 */ nop +/* 9FBB18 80241328 8E820074 */ lw $v0, 0x74($s4) +/* 9FBB1C 8024132C 2442FFFF */ addiu $v0, $v0, -1 +/* 9FBB20 80241330 10400019 */ beqz $v0, .L80241398 +/* 9FBB24 80241334 AE820074 */ sw $v0, 0x74($s4) +/* 9FBB28 80241338 8E220018 */ lw $v0, 0x18($s1) +/* 9FBB2C 8024133C 9442002A */ lhu $v0, 0x2a($v0) +/* 9FBB30 80241340 30420010 */ andi $v0, $v0, 0x10 +/* 9FBB34 80241344 14400007 */ bnez $v0, .L80241364 +/* 9FBB38 80241348 00000000 */ nop +/* 9FBB3C 8024134C C600000C */ lwc1 $f0, 0xc($s0) +/* 9FBB40 80241350 3C014334 */ lui $at, 0x4334 +/* 9FBB44 80241354 44816000 */ mtc1 $at, $f12 +/* 9FBB48 80241358 0C00A6C9 */ jal clamp_angle +/* 9FBB4C 8024135C 460C0300 */ add.s $f12, $f0, $f12 +/* 9FBB50 80241360 E600000C */ swc1 $f0, 0xc($s0) +.L80241364: +/* 9FBB54 80241364 8E440008 */ lw $a0, 8($s2) +/* 9FBB58 80241368 000417C2 */ srl $v0, $a0, 0x1f +/* 9FBB5C 8024136C 00822021 */ addu $a0, $a0, $v0 +/* 9FBB60 80241370 00042043 */ sra $a0, $a0, 1 +/* 9FBB64 80241374 0C00A67F */ jal rand_int +/* 9FBB68 80241378 24840001 */ addiu $a0, $a0, 1 +/* 9FBB6C 8024137C 8E430008 */ lw $v1, 8($s2) +/* 9FBB70 80241380 000327C2 */ srl $a0, $v1, 0x1f +/* 9FBB74 80241384 00641821 */ addu $v1, $v1, $a0 +/* 9FBB78 80241388 00031843 */ sra $v1, $v1, 1 +/* 9FBB7C 8024138C 00621821 */ addu $v1, $v1, $v0 +/* 9FBB80 80241390 080904E8 */ j .L802413A0 +/* 9FBB84 80241394 A603008E */ sh $v1, 0x8e($s0) +.L80241398: +/* 9FBB88 80241398 24020004 */ addiu $v0, $zero, 4 +.L8024139C: +/* 9FBB8C 8024139C AE820070 */ sw $v0, 0x70($s4) +.L802413A0: +/* 9FBB90 802413A0 8FBF0044 */ lw $ra, 0x44($sp) +/* 9FBB94 802413A4 8FB40040 */ lw $s4, 0x40($sp) +/* 9FBB98 802413A8 8FB3003C */ lw $s3, 0x3c($sp) +/* 9FBB9C 802413AC 8FB20038 */ lw $s2, 0x38($sp) +/* 9FBBA0 802413B0 8FB10034 */ lw $s1, 0x34($sp) +/* 9FBBA4 802413B4 8FB00030 */ lw $s0, 0x30($sp) +/* 9FBBA8 802413B8 03E00008 */ jr $ra +/* 9FBBAC 802413BC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802413C0_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802413C0_9FA7F0.s new file mode 100644 index 0000000000..af0dc077f9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802413C0_9FA7F0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413C0_9FBBB0 +/* 9FBBB0 802413C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FBBB4 802413C4 AFB10014 */ sw $s1, 0x14($sp) +/* 9FBBB8 802413C8 0080882D */ daddu $s1, $a0, $zero +/* 9FBBBC 802413CC AFBF001C */ sw $ra, 0x1c($sp) +/* 9FBBC0 802413D0 AFB20018 */ sw $s2, 0x18($sp) +/* 9FBBC4 802413D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9FBBC8 802413D8 8E300148 */ lw $s0, 0x148($s1) +/* 9FBBCC 802413DC 86040008 */ lh $a0, 8($s0) +/* 9FBBD0 802413E0 0C00EABB */ jal get_npc_unsafe +/* 9FBBD4 802413E4 00A0902D */ daddu $s2, $a1, $zero +/* 9FBBD8 802413E8 8E230078 */ lw $v1, 0x78($s1) +/* 9FBBDC 802413EC 24630001 */ addiu $v1, $v1, 1 +/* 9FBBE0 802413F0 AE230078 */ sw $v1, 0x78($s1) +/* 9FBBE4 802413F4 8E0400D0 */ lw $a0, 0xd0($s0) +/* 9FBBE8 802413F8 8C840000 */ lw $a0, ($a0) +/* 9FBBEC 802413FC 0064182A */ slt $v1, $v1, $a0 +/* 9FBBF0 80241400 14600002 */ bnez $v1, .L8024140C +/* 9FBBF4 80241404 0040282D */ daddu $a1, $v0, $zero +/* 9FBBF8 80241408 AE200078 */ sw $zero, 0x78($s1) +.L8024140C: +/* 9FBBFC 8024140C 8E0200CC */ lw $v0, 0xcc($s0) +/* 9FBC00 80241410 8C420004 */ lw $v0, 4($v0) +/* 9FBC04 80241414 ACA20028 */ sw $v0, 0x28($a1) +/* 9FBC08 80241418 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9FBC0C 8024141C 8C42007C */ lw $v0, 0x7c($v0) +/* 9FBC10 80241420 04410004 */ bgez $v0, .L80241434 +/* 9FBC14 80241424 00000000 */ nop +/* 9FBC18 80241428 C6400000 */ lwc1 $f0, ($s2) +/* 9FBC1C 8024142C 08090515 */ j .L80241454 +/* 9FBC20 80241430 E4A00018 */ swc1 $f0, 0x18($a1) +.L80241434: +/* 9FBC24 80241434 3C018024 */ lui $at, 0x8024 +/* 9FBC28 80241438 D4225AD8 */ ldc1 $f2, 0x5ad8($at) +/* 9FBC2C 8024143C 44820000 */ mtc1 $v0, $f0 +/* 9FBC30 80241440 00000000 */ nop +/* 9FBC34 80241444 46800021 */ cvt.d.w $f0, $f0 +/* 9FBC38 80241448 46220003 */ div.d $f0, $f0, $f2 +/* 9FBC3C 8024144C 46200020 */ cvt.s.d $f0, $f0 +/* 9FBC40 80241450 E4A00018 */ swc1 $f0, 0x18($a1) +.L80241454: +/* 9FBC44 80241454 24020001 */ addiu $v0, $zero, 1 +/* 9FBC48 80241458 AE220070 */ sw $v0, 0x70($s1) +/* 9FBC4C 8024145C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9FBC50 80241460 8FB20018 */ lw $s2, 0x18($sp) +/* 9FBC54 80241464 8FB10014 */ lw $s1, 0x14($sp) +/* 9FBC58 80241468 8FB00010 */ lw $s0, 0x10($sp) +/* 9FBC5C 8024146C 03E00008 */ jr $ra +/* 9FBC60 80241470 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241474.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241474.s new file mode 100644 index 0000000000..53c1f66439 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241474.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241474 +/* 9FBC64 80241474 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FBC68 80241478 AFB10014 */ sw $s1, 0x14($sp) +/* 9FBC6C 8024147C 0080882D */ daddu $s1, $a0, $zero +/* 9FBC70 80241480 AFBF0018 */ sw $ra, 0x18($sp) +/* 9FBC74 80241484 AFB00010 */ sw $s0, 0x10($sp) +/* 9FBC78 80241488 8E300148 */ lw $s0, 0x148($s1) +/* 9FBC7C 8024148C 0C00EABB */ jal get_npc_unsafe +/* 9FBC80 80241490 86040008 */ lh $a0, 8($s0) +/* 9FBC84 80241494 8E0300CC */ lw $v1, 0xcc($s0) +/* 9FBC88 80241498 3C014120 */ lui $at, 0x4120 +/* 9FBC8C 8024149C 44812000 */ mtc1 $at, $f4 +/* 9FBC90 802414A0 3C014000 */ lui $at, 0x4000 +/* 9FBC94 802414A4 44810000 */ mtc1 $at, $f0 +/* 9FBC98 802414A8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9FBC9C 802414AC 8C640010 */ lw $a0, 0x10($v1) +/* 9FBCA0 802414B0 8C430000 */ lw $v1, ($v0) +/* 9FBCA4 802414B4 E444001C */ swc1 $f4, 0x1c($v0) +/* 9FBCA8 802414B8 E4400014 */ swc1 $f0, 0x14($v0) +/* 9FBCAC 802414BC E4420064 */ swc1 $f2, 0x64($v0) +/* 9FBCB0 802414C0 34630800 */ ori $v1, $v1, 0x800 +/* 9FBCB4 802414C4 AC430000 */ sw $v1, ($v0) +/* 9FBCB8 802414C8 AC440028 */ sw $a0, 0x28($v0) +/* 9FBCBC 802414CC 2402000B */ addiu $v0, $zero, 0xb +/* 9FBCC0 802414D0 AE220070 */ sw $v0, 0x70($s1) +/* 9FBCC4 802414D4 8FBF0018 */ lw $ra, 0x18($sp) +/* 9FBCC8 802414D8 8FB10014 */ lw $s1, 0x14($sp) +/* 9FBCCC 802414DC 8FB00010 */ lw $s0, 0x10($sp) +/* 9FBCD0 802414E0 03E00008 */ jr $ra +/* 9FBCD4 802414E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802414E8.s b/asm/nonmatchings/world/area_nok/nok_12/func_802414E8.s new file mode 100644 index 0000000000..f1abc6d352 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802414E8.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414E8 +/* 9FBCD8 802414E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9FBCDC 802414EC AFB00010 */ sw $s0, 0x10($sp) +/* 9FBCE0 802414F0 0080802D */ daddu $s0, $a0, $zero +/* 9FBCE4 802414F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9FBCE8 802414F8 8E020148 */ lw $v0, 0x148($s0) +/* 9FBCEC 802414FC 0C00EABB */ jal get_npc_unsafe +/* 9FBCF0 80241500 84440008 */ lh $a0, 8($v0) +/* 9FBCF4 80241504 0040202D */ daddu $a0, $v0, $zero +/* 9FBCF8 80241508 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9FBCFC 8024150C C480001C */ lwc1 $f0, 0x1c($a0) +/* 9FBD00 80241510 46001080 */ add.s $f2, $f2, $f0 +/* 9FBD04 80241514 C4840014 */ lwc1 $f4, 0x14($a0) +/* 9FBD08 80241518 46040001 */ sub.s $f0, $f0, $f4 +/* 9FBD0C 8024151C C4840064 */ lwc1 $f4, 0x64($a0) +/* 9FBD10 80241520 4602203C */ c.lt.s $f4, $f2 +/* 9FBD14 80241524 E482003C */ swc1 $f2, 0x3c($a0) +/* 9FBD18 80241528 45010009 */ bc1t .L80241550 +/* 9FBD1C 8024152C E480001C */ swc1 $f0, 0x1c($a0) +/* 9FBD20 80241530 8C820000 */ lw $v0, ($a0) +/* 9FBD24 80241534 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9FBD28 80241538 E484003C */ swc1 $f4, 0x3c($a0) +/* 9FBD2C 8024153C AC80001C */ sw $zero, 0x1c($a0) +/* 9FBD30 80241540 00431024 */ and $v0, $v0, $v1 +/* 9FBD34 80241544 AC820000 */ sw $v0, ($a0) +/* 9FBD38 80241548 2402000C */ addiu $v0, $zero, 0xc +/* 9FBD3C 8024154C AE020070 */ sw $v0, 0x70($s0) +.L80241550: +/* 9FBD40 80241550 8FBF0014 */ lw $ra, 0x14($sp) +/* 9FBD44 80241554 8FB00010 */ lw $s0, 0x10($sp) +/* 9FBD48 80241558 03E00008 */ jr $ra +/* 9FBD4C 8024155C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241560_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241560_9FA7F0.s new file mode 100644 index 0000000000..40413f66cc --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241560_9FA7F0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241560_9FBD50 +/* 9FBD50 80241560 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9FBD54 80241564 AFB3001C */ sw $s3, 0x1c($sp) +/* 9FBD58 80241568 0080982D */ daddu $s3, $a0, $zero +/* 9FBD5C 8024156C AFBF0020 */ sw $ra, 0x20($sp) +/* 9FBD60 80241570 AFB20018 */ sw $s2, 0x18($sp) +/* 9FBD64 80241574 AFB10014 */ sw $s1, 0x14($sp) +/* 9FBD68 80241578 AFB00010 */ sw $s0, 0x10($sp) +/* 9FBD6C 8024157C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9FBD70 80241580 8E710148 */ lw $s1, 0x148($s3) +/* 9FBD74 80241584 86240008 */ lh $a0, 8($s1) +/* 9FBD78 80241588 0C00EABB */ jal get_npc_unsafe +/* 9FBD7C 8024158C 00A0802D */ daddu $s0, $a1, $zero +/* 9FBD80 80241590 8E040020 */ lw $a0, 0x20($s0) +/* 9FBD84 80241594 0040902D */ daddu $s2, $v0, $zero +/* 9FBD88 80241598 00041FC2 */ srl $v1, $a0, 0x1f +/* 9FBD8C 8024159C 00832021 */ addu $a0, $a0, $v1 +/* 9FBD90 802415A0 00042043 */ sra $a0, $a0, 1 +/* 9FBD94 802415A4 0C00A67F */ jal rand_int +/* 9FBD98 802415A8 24840001 */ addiu $a0, $a0, 1 +/* 9FBD9C 802415AC 8E030020 */ lw $v1, 0x20($s0) +/* 9FBDA0 802415B0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 9FBDA4 802415B4 000327C2 */ srl $a0, $v1, 0x1f +/* 9FBDA8 802415B8 00641821 */ addu $v1, $v1, $a0 +/* 9FBDAC 802415BC 00031843 */ sra $v1, $v1, 1 +/* 9FBDB0 802415C0 00621821 */ addu $v1, $v1, $v0 +/* 9FBDB4 802415C4 A643008E */ sh $v1, 0x8e($s2) +/* 9FBDB8 802415C8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9FBDBC 802415CC C64E0040 */ lwc1 $f14, 0x40($s2) +/* 9FBDC0 802415D0 8C42000C */ lw $v0, 0xc($v0) +/* 9FBDC4 802415D4 AE420028 */ sw $v0, 0x28($s2) +/* 9FBDC8 802415D8 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9FBDCC 802415DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9FBDD0 802415E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9FBDD4 802415E4 E6400018 */ swc1 $f0, 0x18($s2) +/* 9FBDD8 802415E8 8C460028 */ lw $a2, 0x28($v0) +/* 9FBDDC 802415EC 0C00A720 */ jal atan2 +/* 9FBDE0 802415F0 8C470030 */ lw $a3, 0x30($v0) +/* 9FBDE4 802415F4 46000506 */ mov.s $f20, $f0 +/* 9FBDE8 802415F8 C64C000C */ lwc1 $f12, 0xc($s2) +/* 9FBDEC 802415FC 0C00A70A */ jal get_clamped_angle_diff +/* 9FBDF0 80241600 4600A386 */ mov.s $f14, $f20 +/* 9FBDF4 80241604 46000086 */ mov.s $f2, $f0 +/* 9FBDF8 80241608 8E02001C */ lw $v0, 0x1c($s0) +/* 9FBDFC 8024160C 46001005 */ abs.s $f0, $f2 +/* 9FBE00 80241610 44822000 */ mtc1 $v0, $f4 +/* 9FBE04 80241614 00000000 */ nop +/* 9FBE08 80241618 46802120 */ cvt.s.w $f4, $f4 +/* 9FBE0C 8024161C 4600203C */ c.lt.s $f4, $f0 +/* 9FBE10 80241620 00000000 */ nop +/* 9FBE14 80241624 4500000D */ bc1f .L8024165C +/* 9FBE18 80241628 00000000 */ nop +/* 9FBE1C 8024162C 44800000 */ mtc1 $zero, $f0 +/* 9FBE20 80241630 C654000C */ lwc1 $f20, 0xc($s2) +/* 9FBE24 80241634 4600103C */ c.lt.s $f2, $f0 +/* 9FBE28 80241638 00000000 */ nop +/* 9FBE2C 8024163C 45000006 */ bc1f .L80241658 +/* 9FBE30 80241640 00021023 */ negu $v0, $v0 +/* 9FBE34 80241644 44820000 */ mtc1 $v0, $f0 +/* 9FBE38 80241648 00000000 */ nop +/* 9FBE3C 8024164C 46800020 */ cvt.s.w $f0, $f0 +/* 9FBE40 80241650 08090597 */ j .L8024165C +/* 9FBE44 80241654 4600A500 */ add.s $f20, $f20, $f0 +.L80241658: +/* 9FBE48 80241658 4604A500 */ add.s $f20, $f20, $f4 +.L8024165C: +/* 9FBE4C 8024165C 0C00A6C9 */ jal clamp_angle +/* 9FBE50 80241660 4600A306 */ mov.s $f12, $f20 +/* 9FBE54 80241664 2402000D */ addiu $v0, $zero, 0xd +/* 9FBE58 80241668 E640000C */ swc1 $f0, 0xc($s2) +/* 9FBE5C 8024166C AE620070 */ sw $v0, 0x70($s3) +/* 9FBE60 80241670 8FBF0020 */ lw $ra, 0x20($sp) +/* 9FBE64 80241674 8FB3001C */ lw $s3, 0x1c($sp) +/* 9FBE68 80241678 8FB20018 */ lw $s2, 0x18($sp) +/* 9FBE6C 8024167C 8FB10014 */ lw $s1, 0x14($sp) +/* 9FBE70 80241680 8FB00010 */ lw $s0, 0x10($sp) +/* 9FBE74 80241684 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9FBE78 80241688 03E00008 */ jr $ra +/* 9FBE7C 8024168C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241690.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241690.s new file mode 100644 index 0000000000..86f4e6d07c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241690.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241690 +/* 9FBE80 80241690 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9FBE84 80241694 AFB3003C */ sw $s3, 0x3c($sp) +/* 9FBE88 80241698 0080982D */ daddu $s3, $a0, $zero +/* 9FBE8C 8024169C AFBF0040 */ sw $ra, 0x40($sp) +/* 9FBE90 802416A0 AFB20038 */ sw $s2, 0x38($sp) +/* 9FBE94 802416A4 AFB10034 */ sw $s1, 0x34($sp) +/* 9FBE98 802416A8 AFB00030 */ sw $s0, 0x30($sp) +/* 9FBE9C 802416AC 8E720148 */ lw $s2, 0x148($s3) +/* 9FBEA0 802416B0 00A0882D */ daddu $s1, $a1, $zero +/* 9FBEA4 802416B4 86440008 */ lh $a0, 8($s2) +/* 9FBEA8 802416B8 0C00EABB */ jal get_npc_unsafe +/* 9FBEAC 802416BC 00C0802D */ daddu $s0, $a2, $zero +/* 9FBEB0 802416C0 0200202D */ daddu $a0, $s0, $zero +/* 9FBEB4 802416C4 0240282D */ daddu $a1, $s2, $zero +/* 9FBEB8 802416C8 24030001 */ addiu $v1, $zero, 1 +/* 9FBEBC 802416CC AFA30010 */ sw $v1, 0x10($sp) +/* 9FBEC0 802416D0 8E260024 */ lw $a2, 0x24($s1) +/* 9FBEC4 802416D4 8E270028 */ lw $a3, 0x28($s1) +/* 9FBEC8 802416D8 0C01242D */ jal func_800490B4 +/* 9FBECC 802416DC 0040802D */ daddu $s0, $v0, $zero +/* 9FBED0 802416E0 1440001E */ bnez $v0, .L8024175C +/* 9FBED4 802416E4 0200202D */ daddu $a0, $s0, $zero +/* 9FBED8 802416E8 24040002 */ addiu $a0, $zero, 2 +/* 9FBEDC 802416EC 0200282D */ daddu $a1, $s0, $zero +/* 9FBEE0 802416F0 0000302D */ daddu $a2, $zero, $zero +/* 9FBEE4 802416F4 860300A8 */ lh $v1, 0xa8($s0) +/* 9FBEE8 802416F8 3C013F80 */ lui $at, 0x3f80 +/* 9FBEEC 802416FC 44810000 */ mtc1 $at, $f0 +/* 9FBEF0 80241700 3C014000 */ lui $at, 0x4000 +/* 9FBEF4 80241704 44811000 */ mtc1 $at, $f2 +/* 9FBEF8 80241708 3C01C1A0 */ lui $at, 0xc1a0 +/* 9FBEFC 8024170C 44812000 */ mtc1 $at, $f4 +/* 9FBF00 80241710 2402000F */ addiu $v0, $zero, 0xf +/* 9FBF04 80241714 AFA2001C */ sw $v0, 0x1c($sp) +/* 9FBF08 80241718 44833000 */ mtc1 $v1, $f6 +/* 9FBF0C 8024171C 00000000 */ nop +/* 9FBF10 80241720 468031A0 */ cvt.s.w $f6, $f6 +/* 9FBF14 80241724 44073000 */ mfc1 $a3, $f6 +/* 9FBF18 80241728 27A20028 */ addiu $v0, $sp, 0x28 +/* 9FBF1C 8024172C AFA20020 */ sw $v0, 0x20($sp) +/* 9FBF20 80241730 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9FBF24 80241734 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9FBF28 80241738 0C01BFA4 */ jal fx_emote +/* 9FBF2C 8024173C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9FBF30 80241740 8E4200CC */ lw $v0, 0xcc($s2) +/* 9FBF34 80241744 8C430000 */ lw $v1, ($v0) +/* 9FBF38 80241748 24020019 */ addiu $v0, $zero, 0x19 +/* 9FBF3C 8024174C A602008E */ sh $v0, 0x8e($s0) +/* 9FBF40 80241750 2402000E */ addiu $v0, $zero, 0xe +/* 9FBF44 80241754 080905E4 */ j .L80241790 +/* 9FBF48 80241758 AE030028 */ sw $v1, 0x28($s0) +.L8024175C: +/* 9FBF4C 8024175C 0C00F598 */ jal func_8003D660 +/* 9FBF50 80241760 24050001 */ addiu $a1, $zero, 1 +/* 9FBF54 80241764 8E050018 */ lw $a1, 0x18($s0) +/* 9FBF58 80241768 8E06000C */ lw $a2, 0xc($s0) +/* 9FBF5C 8024176C 0C00EA95 */ jal npc_move_heading +/* 9FBF60 80241770 0200202D */ daddu $a0, $s0, $zero +/* 9FBF64 80241774 8602008E */ lh $v0, 0x8e($s0) +/* 9FBF68 80241778 9603008E */ lhu $v1, 0x8e($s0) +/* 9FBF6C 8024177C 18400003 */ blez $v0, .L8024178C +/* 9FBF70 80241780 2462FFFF */ addiu $v0, $v1, -1 +/* 9FBF74 80241784 080905E5 */ j .L80241794 +/* 9FBF78 80241788 A602008E */ sh $v0, 0x8e($s0) +.L8024178C: +/* 9FBF7C 8024178C 2402000C */ addiu $v0, $zero, 0xc +.L80241790: +/* 9FBF80 80241790 AE620070 */ sw $v0, 0x70($s3) +.L80241794: +/* 9FBF84 80241794 8FBF0040 */ lw $ra, 0x40($sp) +/* 9FBF88 80241798 8FB3003C */ lw $s3, 0x3c($sp) +/* 9FBF8C 8024179C 8FB20038 */ lw $s2, 0x38($sp) +/* 9FBF90 802417A0 8FB10034 */ lw $s1, 0x34($sp) +/* 9FBF94 802417A4 8FB00030 */ lw $s0, 0x30($sp) +/* 9FBF98 802417A8 03E00008 */ jr $ra +/* 9FBF9C 802417AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802417B0_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802417B0_9FA7F0.s new file mode 100644 index 0000000000..072eb07829 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802417B0_9FA7F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417B0_9FBFA0 +/* 9FBFA0 802417B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FBFA4 802417B4 AFB10014 */ sw $s1, 0x14($sp) +/* 9FBFA8 802417B8 0080882D */ daddu $s1, $a0, $zero +/* 9FBFAC 802417BC AFBF0018 */ sw $ra, 0x18($sp) +/* 9FBFB0 802417C0 AFB00010 */ sw $s0, 0x10($sp) +/* 9FBFB4 802417C4 8E300148 */ lw $s0, 0x148($s1) +/* 9FBFB8 802417C8 0C00EABB */ jal get_npc_unsafe +/* 9FBFBC 802417CC 86040008 */ lh $a0, 8($s0) +/* 9FBFC0 802417D0 9443008E */ lhu $v1, 0x8e($v0) +/* 9FBFC4 802417D4 2463FFFF */ addiu $v1, $v1, -1 +/* 9FBFC8 802417D8 A443008E */ sh $v1, 0x8e($v0) +/* 9FBFCC 802417DC 00031C00 */ sll $v1, $v1, 0x10 +/* 9FBFD0 802417E0 14600008 */ bnez $v1, .L80241804 +/* 9FBFD4 802417E4 00000000 */ nop +/* 9FBFD8 802417E8 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9FBFDC 802417EC 30420080 */ andi $v0, $v0, 0x80 +/* 9FBFE0 802417F0 10400003 */ beqz $v0, .L80241800 +/* 9FBFE4 802417F4 2402000F */ addiu $v0, $zero, 0xf +/* 9FBFE8 802417F8 08090601 */ j .L80241804 +/* 9FBFEC 802417FC AE220070 */ sw $v0, 0x70($s1) +.L80241800: +/* 9FBFF0 80241800 AE200070 */ sw $zero, 0x70($s1) +.L80241804: +/* 9FBFF4 80241804 8FBF0018 */ lw $ra, 0x18($sp) +/* 9FBFF8 80241808 8FB10014 */ lw $s1, 0x14($sp) +/* 9FBFFC 8024180C 8FB00010 */ lw $s0, 0x10($sp) +/* 9FC000 80241810 03E00008 */ jr $ra +/* 9FC004 80241814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241818_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241818_9FA7F0.s new file mode 100644 index 0000000000..733468dd74 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241818_9FA7F0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241818_9FC008 +/* 9FC008 80241818 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9FC00C 8024181C AFB10014 */ sw $s1, 0x14($sp) +/* 9FC010 80241820 0080882D */ daddu $s1, $a0, $zero +/* 9FC014 80241824 AFBF001C */ sw $ra, 0x1c($sp) +/* 9FC018 80241828 AFB20018 */ sw $s2, 0x18($sp) +/* 9FC01C 8024182C AFB00010 */ sw $s0, 0x10($sp) +/* 9FC020 80241830 8E300148 */ lw $s0, 0x148($s1) +/* 9FC024 80241834 86040008 */ lh $a0, 8($s0) +/* 9FC028 80241838 0C00EABB */ jal get_npc_unsafe +/* 9FC02C 8024183C 00A0902D */ daddu $s2, $a1, $zero +/* 9FC030 80241840 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9FC034 80241844 8E240078 */ lw $a0, 0x78($s1) +/* 9FC038 80241848 8C630000 */ lw $v1, ($v1) +/* 9FC03C 8024184C 0083182A */ slt $v1, $a0, $v1 +/* 9FC040 80241850 10600013 */ beqz $v1, .L802418A0 +/* 9FC044 80241854 0040302D */ daddu $a2, $v0, $zero +/* 9FC048 80241858 00041040 */ sll $v0, $a0, 1 +/* 9FC04C 8024185C 00441021 */ addu $v0, $v0, $a0 +/* 9FC050 80241860 00022880 */ sll $a1, $v0, 2 +.L80241864: +/* 9FC054 80241864 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9FC058 80241868 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 9FC05C 8024186C 00A31021 */ addu $v0, $a1, $v1 +/* 9FC060 80241870 C4400008 */ lwc1 $f0, 8($v0) +/* 9FC064 80241874 46800020 */ cvt.s.w $f0, $f0 +/* 9FC068 80241878 4602003E */ c.le.s $f0, $f2 +/* 9FC06C 8024187C 00000000 */ nop +/* 9FC070 80241880 45020003 */ bc1fl .L80241890 +/* 9FC074 80241884 24840001 */ addiu $a0, $a0, 1 +/* 9FC078 80241888 08090628 */ j .L802418A0 +/* 9FC07C 8024188C AE240078 */ sw $a0, 0x78($s1) +.L80241890: +/* 9FC080 80241890 8C620000 */ lw $v0, ($v1) +/* 9FC084 80241894 0082102A */ slt $v0, $a0, $v0 +/* 9FC088 80241898 1440FFF2 */ bnez $v0, .L80241864 +/* 9FC08C 8024189C 24A5000C */ addiu $a1, $a1, 0xc +.L802418A0: +/* 9FC090 802418A0 C6400000 */ lwc1 $f0, ($s2) +/* 9FC094 802418A4 E4C00018 */ swc1 $f0, 0x18($a2) +/* 9FC098 802418A8 8E0200CC */ lw $v0, 0xcc($s0) +/* 9FC09C 802418AC 8C420004 */ lw $v0, 4($v0) +/* 9FC0A0 802418B0 ACC20028 */ sw $v0, 0x28($a2) +/* 9FC0A4 802418B4 24020001 */ addiu $v0, $zero, 1 +/* 9FC0A8 802418B8 AE200074 */ sw $zero, 0x74($s1) +/* 9FC0AC 802418BC AE220070 */ sw $v0, 0x70($s1) +/* 9FC0B0 802418C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 9FC0B4 802418C4 8FB20018 */ lw $s2, 0x18($sp) +/* 9FC0B8 802418C8 8FB10014 */ lw $s1, 0x14($sp) +/* 9FC0BC 802418CC 8FB00010 */ lw $s0, 0x10($sp) +/* 9FC0C0 802418D0 03E00008 */ jr $ra +/* 9FC0C4 802418D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_802418D8_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_802418D8_9FA7F0.s new file mode 100644 index 0000000000..a3cd4233b5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_802418D8_9FA7F0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418D8_9FC0C8 +/* 9FC0C8 802418D8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 9FC0CC 802418DC AFB40058 */ sw $s4, 0x58($sp) +/* 9FC0D0 802418E0 0080A02D */ daddu $s4, $a0, $zero +/* 9FC0D4 802418E4 AFBF0060 */ sw $ra, 0x60($sp) +/* 9FC0D8 802418E8 AFB5005C */ sw $s5, 0x5c($sp) +/* 9FC0DC 802418EC AFB30054 */ sw $s3, 0x54($sp) +/* 9FC0E0 802418F0 AFB20050 */ sw $s2, 0x50($sp) +/* 9FC0E4 802418F4 AFB1004C */ sw $s1, 0x4c($sp) +/* 9FC0E8 802418F8 AFB00048 */ sw $s0, 0x48($sp) +/* 9FC0EC 802418FC 8E910148 */ lw $s1, 0x148($s4) +/* 9FC0F0 80241900 86240008 */ lh $a0, 8($s1) +/* 9FC0F4 80241904 0C00EABB */ jal get_npc_unsafe +/* 9FC0F8 80241908 00A0802D */ daddu $s0, $a1, $zero +/* 9FC0FC 8024190C 8E83000C */ lw $v1, 0xc($s4) +/* 9FC100 80241910 0280202D */ daddu $a0, $s4, $zero +/* 9FC104 80241914 8C650000 */ lw $a1, ($v1) +/* 9FC108 80241918 0C0B1EAF */ jal get_variable +/* 9FC10C 8024191C 0040902D */ daddu $s2, $v0, $zero +/* 9FC110 80241920 AFA00018 */ sw $zero, 0x18($sp) +/* 9FC114 80241924 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC118 80241928 8C630094 */ lw $v1, 0x94($v1) +/* 9FC11C 8024192C AFA3001C */ sw $v1, 0x1c($sp) +/* 9FC120 80241930 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC124 80241934 8C630080 */ lw $v1, 0x80($v1) +/* 9FC128 80241938 AFA30020 */ sw $v1, 0x20($sp) +/* 9FC12C 8024193C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC130 80241940 8C630088 */ lw $v1, 0x88($v1) +/* 9FC134 80241944 AFA30024 */ sw $v1, 0x24($sp) +/* 9FC138 80241948 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC13C 8024194C 8C63008C */ lw $v1, 0x8c($v1) +/* 9FC140 80241950 27B50018 */ addiu $s5, $sp, 0x18 +/* 9FC144 80241954 AFA30028 */ sw $v1, 0x28($sp) +/* 9FC148 80241958 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC14C 8024195C 3C014282 */ lui $at, 0x4282 +/* 9FC150 80241960 44810000 */ mtc1 $at, $f0 +/* 9FC154 80241964 8C630090 */ lw $v1, 0x90($v1) +/* 9FC158 80241968 0040982D */ daddu $s3, $v0, $zero +/* 9FC15C 8024196C E7A00030 */ swc1 $f0, 0x30($sp) +/* 9FC160 80241970 A7A00034 */ sh $zero, 0x34($sp) +/* 9FC164 80241974 16000005 */ bnez $s0, .L8024198C +/* 9FC168 80241978 AFA3002C */ sw $v1, 0x2c($sp) +/* 9FC16C 8024197C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC170 80241980 30420004 */ andi $v0, $v0, 4 +/* 9FC174 80241984 10400044 */ beqz $v0, .L80241A98 +/* 9FC178 80241988 00000000 */ nop +.L8024198C: +/* 9FC17C 8024198C 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9FC180 80241990 AE800070 */ sw $zero, 0x70($s4) +/* 9FC184 80241994 A640008E */ sh $zero, 0x8e($s2) +/* 9FC188 80241998 8E2200CC */ lw $v0, 0xcc($s1) +/* 9FC18C 8024199C 8E430000 */ lw $v1, ($s2) +/* 9FC190 802419A0 8C420000 */ lw $v0, ($v0) +/* 9FC194 802419A4 00641824 */ and $v1, $v1, $a0 +/* 9FC198 802419A8 AE430000 */ sw $v1, ($s2) +/* 9FC19C 802419AC AE420028 */ sw $v0, 0x28($s2) +/* 9FC1A0 802419B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9FC1A4 802419B4 8C420098 */ lw $v0, 0x98($v0) +/* 9FC1A8 802419B8 54400005 */ bnel $v0, $zero, .L802419D0 +/* 9FC1AC 802419BC 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9FC1B0 802419C0 34620200 */ ori $v0, $v1, 0x200 +/* 9FC1B4 802419C4 2403FFF7 */ addiu $v1, $zero, -9 +/* 9FC1B8 802419C8 08090676 */ j .L802419D8 +/* 9FC1BC 802419CC 00431024 */ and $v0, $v0, $v1 +.L802419D0: +/* 9FC1C0 802419D0 00621024 */ and $v0, $v1, $v0 +/* 9FC1C4 802419D4 34420008 */ ori $v0, $v0, 8 +.L802419D8: +/* 9FC1C8 802419D8 AE420000 */ sw $v0, ($s2) +/* 9FC1CC 802419DC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC1D0 802419E0 30420004 */ andi $v0, $v0, 4 +/* 9FC1D4 802419E4 10400008 */ beqz $v0, .L80241A08 +/* 9FC1D8 802419E8 24020063 */ addiu $v0, $zero, 0x63 +/* 9FC1DC 802419EC AE820070 */ sw $v0, 0x70($s4) +/* 9FC1E0 802419F0 AE800074 */ sw $zero, 0x74($s4) +/* 9FC1E4 802419F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC1E8 802419F8 2403FFFB */ addiu $v1, $zero, -5 +/* 9FC1EC 802419FC 00431024 */ and $v0, $v0, $v1 +/* 9FC1F0 80241A00 0809068D */ j .L80241A34 +/* 9FC1F4 80241A04 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241A08: +/* 9FC1F8 80241A08 8E220000 */ lw $v0, ($s1) +/* 9FC1FC 80241A0C 3C034000 */ lui $v1, 0x4000 +/* 9FC200 80241A10 00431024 */ and $v0, $v0, $v1 +/* 9FC204 80241A14 10400007 */ beqz $v0, .L80241A34 +/* 9FC208 80241A18 3C03BFFF */ lui $v1, 0xbfff +/* 9FC20C 80241A1C 2402000C */ addiu $v0, $zero, 0xc +/* 9FC210 80241A20 AE820070 */ sw $v0, 0x70($s4) +/* 9FC214 80241A24 8E220000 */ lw $v0, ($s1) +/* 9FC218 80241A28 3463FFFF */ ori $v1, $v1, 0xffff +/* 9FC21C 80241A2C 00431024 */ and $v0, $v0, $v1 +/* 9FC220 80241A30 AE220000 */ sw $v0, ($s1) +.L80241A34: +/* 9FC224 80241A34 27A50038 */ addiu $a1, $sp, 0x38 +/* 9FC228 80241A38 27A6003C */ addiu $a2, $sp, 0x3c +/* 9FC22C 80241A3C C6400038 */ lwc1 $f0, 0x38($s2) +/* 9FC230 80241A40 864200A8 */ lh $v0, 0xa8($s2) +/* 9FC234 80241A44 3C0142C8 */ lui $at, 0x42c8 +/* 9FC238 80241A48 44812000 */ mtc1 $at, $f4 +/* 9FC23C 80241A4C 44823000 */ mtc1 $v0, $f6 +/* 9FC240 80241A50 00000000 */ nop +/* 9FC244 80241A54 468031A0 */ cvt.s.w $f6, $f6 +/* 9FC248 80241A58 27A20044 */ addiu $v0, $sp, 0x44 +/* 9FC24C 80241A5C E7A00038 */ swc1 $f0, 0x38($sp) +/* 9FC250 80241A60 C640003C */ lwc1 $f0, 0x3c($s2) +/* 9FC254 80241A64 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9FC258 80241A68 46060000 */ add.s $f0, $f0, $f6 +/* 9FC25C 80241A6C E7A40044 */ swc1 $f4, 0x44($sp) +/* 9FC260 80241A70 E7A20040 */ swc1 $f2, 0x40($sp) +/* 9FC264 80241A74 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 9FC268 80241A78 AFA20010 */ sw $v0, 0x10($sp) +/* 9FC26C 80241A7C 8E440080 */ lw $a0, 0x80($s2) +/* 9FC270 80241A80 0C0372DF */ jal func_800DCB7C +/* 9FC274 80241A84 27A70040 */ addiu $a3, $sp, 0x40 +/* 9FC278 80241A88 10400003 */ beqz $v0, .L80241A98 +/* 9FC27C 80241A8C 00000000 */ nop +/* 9FC280 80241A90 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 9FC284 80241A94 E640003C */ swc1 $f0, 0x3c($s2) +.L80241A98: +/* 9FC288 80241A98 8E830070 */ lw $v1, 0x70($s4) +/* 9FC28C 80241A9C 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9FC290 80241AA0 10400042 */ beqz $v0, .L80241BAC +/* 9FC294 80241AA4 00031080 */ sll $v0, $v1, 2 +/* 9FC298 80241AA8 3C018024 */ lui $at, 0x8024 +/* 9FC29C 80241AAC 00220821 */ addu $at, $at, $v0 +/* 9FC2A0 80241AB0 8C225AE0 */ lw $v0, 0x5ae0($at) +/* 9FC2A4 80241AB4 00400008 */ jr $v0 +/* 9FC2A8 80241AB8 00000000 */ nop +/* 9FC2AC 80241ABC 0280202D */ daddu $a0, $s4, $zero +/* 9FC2B0 80241AC0 0260282D */ daddu $a1, $s3, $zero +/* 9FC2B4 80241AC4 0C090351 */ jal func_80240D44 +/* 9FC2B8 80241AC8 02A0302D */ daddu $a2, $s5, $zero +/* 9FC2BC 80241ACC 0280202D */ daddu $a0, $s4, $zero +/* 9FC2C0 80241AD0 0260282D */ daddu $a1, $s3, $zero +/* 9FC2C4 80241AD4 0C0903A7 */ jal func_80240E9C +/* 9FC2C8 80241AD8 02A0302D */ daddu $a2, $s5, $zero +/* 9FC2CC 80241ADC 080906EB */ j .L80241BAC +/* 9FC2D0 80241AE0 00000000 */ nop +/* 9FC2D4 80241AE4 0280202D */ daddu $a0, $s4, $zero +/* 9FC2D8 80241AE8 0260282D */ daddu $a1, $s3, $zero +/* 9FC2DC 80241AEC 0C090451 */ jal func_80241144 +/* 9FC2E0 80241AF0 02A0302D */ daddu $a2, $s5, $zero +/* 9FC2E4 80241AF4 0280202D */ daddu $a0, $s4, $zero +/* 9FC2E8 80241AF8 0260282D */ daddu $a1, $s3, $zero +/* 9FC2EC 80241AFC 0C090481 */ jal func_80241204 +/* 9FC2F0 80241B00 02A0302D */ daddu $a2, $s5, $zero +/* 9FC2F4 80241B04 080906EB */ j .L80241BAC +/* 9FC2F8 80241B08 00000000 */ nop +/* 9FC2FC 80241B0C 0280202D */ daddu $a0, $s4, $zero +/* 9FC300 80241B10 0260282D */ daddu $a1, $s3, $zero +/* 9FC304 80241B14 0C0904F0 */ jal func_802413C0 +/* 9FC308 80241B18 02A0302D */ daddu $a2, $s5, $zero +/* 9FC30C 80241B1C 080906EB */ j .L80241BAC +/* 9FC310 80241B20 00000000 */ nop +/* 9FC314 80241B24 0280202D */ daddu $a0, $s4, $zero +/* 9FC318 80241B28 0260282D */ daddu $a1, $s3, $zero +/* 9FC31C 80241B2C 0C09051D */ jal func_80241474 +/* 9FC320 80241B30 02A0302D */ daddu $a2, $s5, $zero +/* 9FC324 80241B34 0280202D */ daddu $a0, $s4, $zero +/* 9FC328 80241B38 0260282D */ daddu $a1, $s3, $zero +/* 9FC32C 80241B3C 0C09053A */ jal func_802414E8 +/* 9FC330 80241B40 02A0302D */ daddu $a2, $s5, $zero +/* 9FC334 80241B44 080906EB */ j .L80241BAC +/* 9FC338 80241B48 00000000 */ nop +/* 9FC33C 80241B4C 0280202D */ daddu $a0, $s4, $zero +/* 9FC340 80241B50 0260282D */ daddu $a1, $s3, $zero +/* 9FC344 80241B54 0C090558 */ jal func_80241560 +/* 9FC348 80241B58 02A0302D */ daddu $a2, $s5, $zero +/* 9FC34C 80241B5C 0280202D */ daddu $a0, $s4, $zero +/* 9FC350 80241B60 0260282D */ daddu $a1, $s3, $zero +/* 9FC354 80241B64 0C0905A4 */ jal func_80241690 +/* 9FC358 80241B68 02A0302D */ daddu $a2, $s5, $zero +/* 9FC35C 80241B6C 080906EB */ j .L80241BAC +/* 9FC360 80241B70 00000000 */ nop +/* 9FC364 80241B74 0280202D */ daddu $a0, $s4, $zero +/* 9FC368 80241B78 0260282D */ daddu $a1, $s3, $zero +/* 9FC36C 80241B7C 0C0905EC */ jal func_802417B0 +/* 9FC370 80241B80 02A0302D */ daddu $a2, $s5, $zero +/* 9FC374 80241B84 080906EB */ j .L80241BAC +/* 9FC378 80241B88 00000000 */ nop +/* 9FC37C 80241B8C 0280202D */ daddu $a0, $s4, $zero +/* 9FC380 80241B90 0260282D */ daddu $a1, $s3, $zero +/* 9FC384 80241B94 0C090606 */ jal func_80241818 +/* 9FC388 80241B98 02A0302D */ daddu $a2, $s5, $zero +/* 9FC38C 80241B9C 080906EB */ j .L80241BAC +/* 9FC390 80241BA0 00000000 */ nop +/* 9FC394 80241BA4 0C0129CF */ jal func_8004A73C +/* 9FC398 80241BA8 0280202D */ daddu $a0, $s4, $zero +.L80241BAC: +/* 9FC39C 80241BAC 8FBF0060 */ lw $ra, 0x60($sp) +/* 9FC3A0 80241BB0 8FB5005C */ lw $s5, 0x5c($sp) +/* 9FC3A4 80241BB4 8FB40058 */ lw $s4, 0x58($sp) +/* 9FC3A8 80241BB8 8FB30054 */ lw $s3, 0x54($sp) +/* 9FC3AC 80241BBC 8FB20050 */ lw $s2, 0x50($sp) +/* 9FC3B0 80241BC0 8FB1004C */ lw $s1, 0x4c($sp) +/* 9FC3B4 80241BC4 8FB00048 */ lw $s0, 0x48($sp) +/* 9FC3B8 80241BC8 0000102D */ daddu $v0, $zero, $zero +/* 9FC3BC 80241BCC 03E00008 */ jr $ra +/* 9FC3C0 80241BD0 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241BD4.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241BD4.s new file mode 100644 index 0000000000..c3d76b4948 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241BD4.s @@ -0,0 +1,206 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BD4 +/* 9FC3C4 80241BD4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9FC3C8 80241BD8 AFB3005C */ sw $s3, 0x5c($sp) +/* 9FC3CC 80241BDC 0080982D */ daddu $s3, $a0, $zero +/* 9FC3D0 80241BE0 AFBF0068 */ sw $ra, 0x68($sp) +/* 9FC3D4 80241BE4 AFB50064 */ sw $s5, 0x64($sp) +/* 9FC3D8 80241BE8 AFB40060 */ sw $s4, 0x60($sp) +/* 9FC3DC 80241BEC AFB20058 */ sw $s2, 0x58($sp) +/* 9FC3E0 80241BF0 AFB10054 */ sw $s1, 0x54($sp) +/* 9FC3E4 80241BF4 AFB00050 */ sw $s0, 0x50($sp) +/* 9FC3E8 80241BF8 8E710148 */ lw $s1, 0x148($s3) +/* 9FC3EC 80241BFC 86240008 */ lh $a0, 8($s1) +/* 9FC3F0 80241C00 0C00EABB */ jal get_npc_unsafe +/* 9FC3F4 80241C04 00A0802D */ daddu $s0, $a1, $zero +/* 9FC3F8 80241C08 8E63000C */ lw $v1, 0xc($s3) +/* 9FC3FC 80241C0C 0260202D */ daddu $a0, $s3, $zero +/* 9FC400 80241C10 8C650000 */ lw $a1, ($v1) +/* 9FC404 80241C14 0C0B1EAF */ jal get_variable +/* 9FC408 80241C18 0040902D */ daddu $s2, $v0, $zero +/* 9FC40C 80241C1C AFA00028 */ sw $zero, 0x28($sp) +/* 9FC410 80241C20 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC414 80241C24 8C630094 */ lw $v1, 0x94($v1) +/* 9FC418 80241C28 AFA3002C */ sw $v1, 0x2c($sp) +/* 9FC41C 80241C2C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC420 80241C30 8C630080 */ lw $v1, 0x80($v1) +/* 9FC424 80241C34 AFA30030 */ sw $v1, 0x30($sp) +/* 9FC428 80241C38 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC42C 80241C3C 8C630088 */ lw $v1, 0x88($v1) +/* 9FC430 80241C40 AFA30034 */ sw $v1, 0x34($sp) +/* 9FC434 80241C44 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC438 80241C48 8C63008C */ lw $v1, 0x8c($v1) +/* 9FC43C 80241C4C 27B50028 */ addiu $s5, $sp, 0x28 +/* 9FC440 80241C50 AFA30038 */ sw $v1, 0x38($sp) +/* 9FC444 80241C54 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9FC448 80241C58 3C0142C8 */ lui $at, 0x42c8 +/* 9FC44C 80241C5C 44810000 */ mtc1 $at, $f0 +/* 9FC450 80241C60 8C630090 */ lw $v1, 0x90($v1) +/* 9FC454 80241C64 0040A02D */ daddu $s4, $v0, $zero +/* 9FC458 80241C68 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9FC45C 80241C6C A7A00044 */ sh $zero, 0x44($sp) +/* 9FC460 80241C70 12000007 */ beqz $s0, .L80241C90 +/* 9FC464 80241C74 AFA3003C */ sw $v1, 0x3c($sp) +/* 9FC468 80241C78 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC46C 80241C7C 864300A8 */ lh $v1, 0xa8($s2) +/* 9FC470 80241C80 34420008 */ ori $v0, $v0, 8 +/* 9FC474 80241C84 AE230084 */ sw $v1, 0x84($s1) +/* 9FC478 80241C88 08090728 */ j .L80241CA0 +/* 9FC47C 80241C8C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241C90: +/* 9FC480 80241C90 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC484 80241C94 30420004 */ andi $v0, $v0, 4 +/* 9FC488 80241C98 10400048 */ beqz $v0, .L80241DBC +/* 9FC48C 80241C9C 00000000 */ nop +.L80241CA0: +/* 9FC490 80241CA0 A640008E */ sh $zero, 0x8e($s2) +/* 9FC494 80241CA4 AE600070 */ sw $zero, 0x70($s3) +/* 9FC498 80241CA8 8E2300CC */ lw $v1, 0xcc($s1) +/* 9FC49C 80241CAC 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9FC4A0 80241CB0 A2200007 */ sb $zero, 7($s1) +/* 9FC4A4 80241CB4 8E420000 */ lw $v0, ($s2) +/* 9FC4A8 80241CB8 8C630000 */ lw $v1, ($v1) +/* 9FC4AC 80241CBC 00441024 */ and $v0, $v0, $a0 +/* 9FC4B0 80241CC0 AE420000 */ sw $v0, ($s2) +/* 9FC4B4 80241CC4 AE430028 */ sw $v1, 0x28($s2) +/* 9FC4B8 80241CC8 96220086 */ lhu $v0, 0x86($s1) +/* 9FC4BC 80241CCC A64200A8 */ sh $v0, 0xa8($s2) +/* 9FC4C0 80241CD0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9FC4C4 80241CD4 A22000B5 */ sb $zero, 0xb5($s1) +/* 9FC4C8 80241CD8 AE20008C */ sw $zero, 0x8c($s1) +/* 9FC4CC 80241CDC 8C420098 */ lw $v0, 0x98($v0) +/* 9FC4D0 80241CE0 14400006 */ bnez $v0, .L80241CFC +/* 9FC4D4 80241CE4 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9FC4D8 80241CE8 8E420000 */ lw $v0, ($s2) +/* 9FC4DC 80241CEC 2403FFF7 */ addiu $v1, $zero, -9 +/* 9FC4E0 80241CF0 34420200 */ ori $v0, $v0, 0x200 +/* 9FC4E4 80241CF4 08090742 */ j .L80241D08 +/* 9FC4E8 80241CF8 00431024 */ and $v0, $v0, $v1 +.L80241CFC: +/* 9FC4EC 80241CFC 8E420000 */ lw $v0, ($s2) +/* 9FC4F0 80241D00 00431024 */ and $v0, $v0, $v1 +/* 9FC4F4 80241D04 34420008 */ ori $v0, $v0, 8 +.L80241D08: +/* 9FC4F8 80241D08 AE420000 */ sw $v0, ($s2) +/* 9FC4FC 80241D0C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC500 80241D10 30420004 */ andi $v0, $v0, 4 +/* 9FC504 80241D14 1040001E */ beqz $v0, .L80241D90 +/* 9FC508 80241D18 24040002 */ addiu $a0, $zero, 2 +/* 9FC50C 80241D1C 0240282D */ daddu $a1, $s2, $zero +/* 9FC510 80241D20 0000302D */ daddu $a2, $zero, $zero +/* 9FC514 80241D24 24020063 */ addiu $v0, $zero, 0x63 +/* 9FC518 80241D28 AE620070 */ sw $v0, 0x70($s3) +/* 9FC51C 80241D2C AE600074 */ sw $zero, 0x74($s3) +/* 9FC520 80241D30 864300A8 */ lh $v1, 0xa8($s2) +/* 9FC524 80241D34 3C013F80 */ lui $at, 0x3f80 +/* 9FC528 80241D38 44810000 */ mtc1 $at, $f0 +/* 9FC52C 80241D3C 3C014000 */ lui $at, 0x4000 +/* 9FC530 80241D40 44811000 */ mtc1 $at, $f2 +/* 9FC534 80241D44 3C01C1A0 */ lui $at, 0xc1a0 +/* 9FC538 80241D48 44812000 */ mtc1 $at, $f4 +/* 9FC53C 80241D4C 24020028 */ addiu $v0, $zero, 0x28 +/* 9FC540 80241D50 AFA2001C */ sw $v0, 0x1c($sp) +/* 9FC544 80241D54 44833000 */ mtc1 $v1, $f6 +/* 9FC548 80241D58 00000000 */ nop +/* 9FC54C 80241D5C 468031A0 */ cvt.s.w $f6, $f6 +/* 9FC550 80241D60 44073000 */ mfc1 $a3, $f6 +/* 9FC554 80241D64 27A20048 */ addiu $v0, $sp, 0x48 +/* 9FC558 80241D68 AFA20020 */ sw $v0, 0x20($sp) +/* 9FC55C 80241D6C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9FC560 80241D70 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9FC564 80241D74 0C01BFA4 */ jal fx_emote +/* 9FC568 80241D78 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9FC56C 80241D7C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9FC570 80241D80 2403FFFB */ addiu $v1, $zero, -5 +/* 9FC574 80241D84 00431024 */ and $v0, $v0, $v1 +/* 9FC578 80241D88 0809076F */ j .L80241DBC +/* 9FC57C 80241D8C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241D90: +/* 9FC580 80241D90 8E220000 */ lw $v0, ($s1) +/* 9FC584 80241D94 3C034000 */ lui $v1, 0x4000 +/* 9FC588 80241D98 00431024 */ and $v0, $v0, $v1 +/* 9FC58C 80241D9C 10400007 */ beqz $v0, .L80241DBC +/* 9FC590 80241DA0 3C03BFFF */ lui $v1, 0xbfff +/* 9FC594 80241DA4 2402000C */ addiu $v0, $zero, 0xc +/* 9FC598 80241DA8 AE620070 */ sw $v0, 0x70($s3) +/* 9FC59C 80241DAC 8E220000 */ lw $v0, ($s1) +/* 9FC5A0 80241DB0 3463FFFF */ ori $v1, $v1, 0xffff +/* 9FC5A4 80241DB4 00431024 */ and $v0, $v0, $v1 +/* 9FC5A8 80241DB8 AE220000 */ sw $v0, ($s1) +.L80241DBC: +/* 9FC5AC 80241DBC 8E630070 */ lw $v1, 0x70($s3) +/* 9FC5B0 80241DC0 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9FC5B4 80241DC4 1040003A */ beqz $v0, .L80241EB0 +/* 9FC5B8 80241DC8 00031080 */ sll $v0, $v1, 2 +/* 9FC5BC 80241DCC 3C018024 */ lui $at, 0x8024 +/* 9FC5C0 80241DD0 00220821 */ addu $at, $at, $v0 +/* 9FC5C4 80241DD4 8C225C70 */ lw $v0, 0x5c70($at) +/* 9FC5C8 80241DD8 00400008 */ jr $v0 +/* 9FC5CC 80241DDC 00000000 */ nop +/* 9FC5D0 80241DE0 0260202D */ daddu $a0, $s3, $zero +/* 9FC5D4 80241DE4 0280282D */ daddu $a1, $s4, $zero +/* 9FC5D8 80241DE8 0C090351 */ jal func_80240D44 +/* 9FC5DC 80241DEC 02A0302D */ daddu $a2, $s5, $zero +/* 9FC5E0 80241DF0 96220086 */ lhu $v0, 0x86($s1) +/* 9FC5E4 80241DF4 A64200A8 */ sh $v0, 0xa8($s2) +/* 9FC5E8 80241DF8 0260202D */ daddu $a0, $s3, $zero +/* 9FC5EC 80241DFC 0280282D */ daddu $a1, $s4, $zero +/* 9FC5F0 80241E00 0C0903A7 */ jal func_80240E9C +/* 9FC5F4 80241E04 02A0302D */ daddu $a2, $s5, $zero +/* 9FC5F8 80241E08 080907AC */ j .L80241EB0 +/* 9FC5FC 80241E0C 00000000 */ nop +/* 9FC600 80241E10 0260202D */ daddu $a0, $s3, $zero +/* 9FC604 80241E14 0280282D */ daddu $a1, $s4, $zero +/* 9FC608 80241E18 0C090451 */ jal func_80241144 +/* 9FC60C 80241E1C 02A0302D */ daddu $a2, $s5, $zero +/* 9FC610 80241E20 0260202D */ daddu $a0, $s3, $zero +/* 9FC614 80241E24 0280282D */ daddu $a1, $s4, $zero +/* 9FC618 80241E28 0C090481 */ jal func_80241204 +/* 9FC61C 80241E2C 02A0302D */ daddu $a2, $s5, $zero +/* 9FC620 80241E30 080907AC */ j .L80241EB0 +/* 9FC624 80241E34 00000000 */ nop +/* 9FC628 80241E38 0260202D */ daddu $a0, $s3, $zero +/* 9FC62C 80241E3C 0280282D */ daddu $a1, $s4, $zero +/* 9FC630 80241E40 0C0904F0 */ jal func_802413C0 +/* 9FC634 80241E44 02A0302D */ daddu $a2, $s5, $zero +/* 9FC638 80241E48 080907AC */ j .L80241EB0 +/* 9FC63C 80241E4C 00000000 */ nop +/* 9FC640 80241E50 0260202D */ daddu $a0, $s3, $zero +/* 9FC644 80241E54 0280282D */ daddu $a1, $s4, $zero +/* 9FC648 80241E58 0C09015C */ jal func_80240570 +/* 9FC64C 80241E5C 02A0302D */ daddu $a2, $s5, $zero +/* 9FC650 80241E60 0260202D */ daddu $a0, $s3, $zero +/* 9FC654 80241E64 0280282D */ daddu $a1, $s4, $zero +/* 9FC658 80241E68 0C09017B */ jal func_802405EC +/* 9FC65C 80241E6C 02A0302D */ daddu $a2, $s5, $zero +/* 9FC660 80241E70 080907AC */ j .L80241EB0 +/* 9FC664 80241E74 00000000 */ nop +/* 9FC668 80241E78 0260202D */ daddu $a0, $s3, $zero +/* 9FC66C 80241E7C 0280282D */ daddu $a1, $s4, $zero +/* 9FC670 80241E80 0C0901C8 */ jal func_80240720 +/* 9FC674 80241E84 02A0302D */ daddu $a2, $s5, $zero +/* 9FC678 80241E88 080907AC */ j .L80241EB0 +/* 9FC67C 80241E8C 00000000 */ nop +/* 9FC680 80241E90 0260202D */ daddu $a0, $s3, $zero +/* 9FC684 80241E94 0280282D */ daddu $a1, $s4, $zero +/* 9FC688 80241E98 0C090221 */ jal func_80240884 +/* 9FC68C 80241E9C 02A0302D */ daddu $a2, $s5, $zero +/* 9FC690 80241EA0 080907AC */ j .L80241EB0 +/* 9FC694 80241EA4 00000000 */ nop +/* 9FC698 80241EA8 0C0129CF */ jal func_8004A73C +/* 9FC69C 80241EAC 0260202D */ daddu $a0, $s3, $zero +.L80241EB0: +/* 9FC6A0 80241EB0 8FBF0068 */ lw $ra, 0x68($sp) +/* 9FC6A4 80241EB4 8FB50064 */ lw $s5, 0x64($sp) +/* 9FC6A8 80241EB8 8FB40060 */ lw $s4, 0x60($sp) +/* 9FC6AC 80241EBC 8FB3005C */ lw $s3, 0x5c($sp) +/* 9FC6B0 80241EC0 8FB20058 */ lw $s2, 0x58($sp) +/* 9FC6B4 80241EC4 8FB10054 */ lw $s1, 0x54($sp) +/* 9FC6B8 80241EC8 8FB00050 */ lw $s0, 0x50($sp) +/* 9FC6BC 80241ECC 0000102D */ daddu $v0, $zero, $zero +/* 9FC6C0 80241ED0 03E00008 */ jr $ra +/* 9FC6C4 80241ED4 27BD0070 */ addiu $sp, $sp, 0x70 +/* 9FC6C8 80241ED8 00000000 */ nop +/* 9FC6CC 80241EDC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241EE0_9FA7F0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241EE0_9FA7F0.s new file mode 100644 index 0000000000..bcff082999 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241EE0_9FA7F0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EE0_9FC6D0 +/* 9FC6D0 80241EE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FC6D4 80241EE4 3C048024 */ lui $a0, 0x8024 +/* 9FC6D8 80241EE8 248459CC */ addiu $a0, $a0, 0x59cc +/* 9FC6DC 80241EEC AFBF0018 */ sw $ra, 0x18($sp) +/* 9FC6E0 80241EF0 AFB10014 */ sw $s1, 0x14($sp) +/* 9FC6E4 80241EF4 AFB00010 */ sw $s0, 0x10($sp) +/* 9FC6E8 80241EF8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9FC6EC 80241EFC 8C830000 */ lw $v1, ($a0) +/* 9FC6F0 80241F00 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 9FC6F4 80241F04 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 9FC6F8 80241F08 28620003 */ slti $v0, $v1, 3 +/* 9FC6FC 80241F0C 50400007 */ beql $v0, $zero, .L80241F2C +/* 9FC700 80241F10 24020003 */ addiu $v0, $zero, 3 +/* 9FC704 80241F14 1C60000C */ bgtz $v1, .L80241F48 +/* 9FC708 80241F18 24620001 */ addiu $v0, $v1, 1 +/* 9FC70C 80241F1C 10600007 */ beqz $v1, .L80241F3C +/* 9FC710 80241F20 0000102D */ daddu $v0, $zero, $zero +/* 9FC714 80241F24 080907EE */ j .L80241FB8 +/* 9FC718 80241F28 00000000 */ nop +.L80241F2C: +/* 9FC71C 80241F2C 10620008 */ beq $v1, $v0, .L80241F50 +/* 9FC720 80241F30 0000102D */ daddu $v0, $zero, $zero +/* 9FC724 80241F34 080907EE */ j .L80241FB8 +/* 9FC728 80241F38 00000000 */ nop +.L80241F3C: +/* 9FC72C 80241F3C 24020001 */ addiu $v0, $zero, 1 +/* 9FC730 80241F40 080907ED */ j .L80241FB4 +/* 9FC734 80241F44 AC820000 */ sw $v0, ($a0) +.L80241F48: +/* 9FC738 80241F48 080907ED */ j .L80241FB4 +/* 9FC73C 80241F4C AC820000 */ sw $v0, ($a0) +.L80241F50: +/* 9FC740 80241F50 3C108011 */ lui $s0, 0x8011 +/* 9FC744 80241F54 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 9FC748 80241F58 0C03BD17 */ jal clear_partner_move_history +/* 9FC74C 80241F5C 8E040000 */ lw $a0, ($s0) +/* 9FC750 80241F60 C6200028 */ lwc1 $f0, 0x28($s1) +/* 9FC754 80241F64 C6220030 */ lwc1 $f2, 0x30($s1) +/* 9FC758 80241F68 4600010D */ trunc.w.s $f4, $f0 +/* 9FC75C 80241F6C 44042000 */ mfc1 $a0, $f4 +/* 9FC760 80241F70 4600110D */ trunc.w.s $f4, $f2 +/* 9FC764 80241F74 44052000 */ mfc1 $a1, $f4 +/* 9FC768 80241F78 0C03BCF0 */ jal func_800EF3C0 +/* 9FC76C 80241F7C 00000000 */ nop +/* 9FC770 80241F80 0C03BCF5 */ jal func_800EF3D4 +/* 9FC774 80241F84 0000202D */ daddu $a0, $zero, $zero +/* 9FC778 80241F88 3C0142B4 */ lui $at, 0x42b4 +/* 9FC77C 80241F8C 4481A000 */ mtc1 $at, $f20 +/* 9FC780 80241F90 8E040000 */ lw $a0, ($s0) +/* 9FC784 80241F94 4405A000 */ mfc1 $a1, $f20 +/* 9FC788 80241F98 0C00ECD0 */ jal set_npc_yaw +/* 9FC78C 80241F9C 00000000 */ nop +/* 9FC790 80241FA0 24020002 */ addiu $v0, $zero, 2 +/* 9FC794 80241FA4 E6340080 */ swc1 $f20, 0x80($s1) +/* 9FC798 80241FA8 E6340084 */ swc1 $f20, 0x84($s1) +/* 9FC79C 80241FAC 080907EE */ j .L80241FB8 +/* 9FC7A0 80241FB0 AE2000A8 */ sw $zero, 0xa8($s1) +.L80241FB4: +/* 9FC7A4 80241FB4 0000102D */ daddu $v0, $zero, $zero +.L80241FB8: +/* 9FC7A8 80241FB8 8FBF0018 */ lw $ra, 0x18($sp) +/* 9FC7AC 80241FBC 8FB10014 */ lw $s1, 0x14($sp) +/* 9FC7B0 80241FC0 8FB00010 */ lw $s0, 0x10($sp) +/* 9FC7B4 80241FC4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9FC7B8 80241FC8 03E00008 */ jr $ra +/* 9FC7BC 80241FCC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_12/func_80241FD0.s b/asm/nonmatchings/world/area_nok/nok_12/func_80241FD0.s new file mode 100644 index 0000000000..d5ef8feb53 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_12/func_80241FD0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FD0 +/* 9FC7C0 80241FD0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9FC7C4 80241FD4 3C048024 */ lui $a0, 0x8024 +/* 9FC7C8 80241FD8 24845A14 */ addiu $a0, $a0, 0x5a14 +/* 9FC7CC 80241FDC AFBF0018 */ sw $ra, 0x18($sp) +/* 9FC7D0 80241FE0 AFB10014 */ sw $s1, 0x14($sp) +/* 9FC7D4 80241FE4 AFB00010 */ sw $s0, 0x10($sp) +/* 9FC7D8 80241FE8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9FC7DC 80241FEC 8C830000 */ lw $v1, ($a0) +/* 9FC7E0 80241FF0 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 9FC7E4 80241FF4 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 9FC7E8 80241FF8 28620003 */ slti $v0, $v1, 3 +/* 9FC7EC 80241FFC 50400007 */ beql $v0, $zero, .L8024201C +/* 9FC7F0 80242000 24020003 */ addiu $v0, $zero, 3 +/* 9FC7F4 80242004 1C60000C */ bgtz $v1, .L80242038 +/* 9FC7F8 80242008 24620001 */ addiu $v0, $v1, 1 +/* 9FC7FC 8024200C 10600007 */ beqz $v1, .L8024202C +/* 9FC800 80242010 0000102D */ daddu $v0, $zero, $zero +/* 9FC804 80242014 0809082A */ j .L802420A8 +/* 9FC808 80242018 00000000 */ nop +.L8024201C: +/* 9FC80C 8024201C 10620008 */ beq $v1, $v0, .L80242040 +/* 9FC810 80242020 0000102D */ daddu $v0, $zero, $zero +/* 9FC814 80242024 0809082A */ j .L802420A8 +/* 9FC818 80242028 00000000 */ nop +.L8024202C: +/* 9FC81C 8024202C 24020001 */ addiu $v0, $zero, 1 +/* 9FC820 80242030 08090829 */ j .L802420A4 +/* 9FC824 80242034 AC820000 */ sw $v0, ($a0) +.L80242038: +/* 9FC828 80242038 08090829 */ j .L802420A4 +/* 9FC82C 8024203C AC820000 */ sw $v0, ($a0) +.L80242040: +/* 9FC830 80242040 3C108011 */ lui $s0, 0x8011 +/* 9FC834 80242044 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 9FC838 80242048 0C03BD17 */ jal clear_partner_move_history +/* 9FC83C 8024204C 8E040000 */ lw $a0, ($s0) +/* 9FC840 80242050 C6200028 */ lwc1 $f0, 0x28($s1) +/* 9FC844 80242054 C6220030 */ lwc1 $f2, 0x30($s1) +/* 9FC848 80242058 4600010D */ trunc.w.s $f4, $f0 +/* 9FC84C 8024205C 44042000 */ mfc1 $a0, $f4 +/* 9FC850 80242060 4600110D */ trunc.w.s $f4, $f2 +/* 9FC854 80242064 44052000 */ mfc1 $a1, $f4 +/* 9FC858 80242068 0C03BCF0 */ jal func_800EF3C0 +/* 9FC85C 8024206C 00000000 */ nop +/* 9FC860 80242070 0C03BCF5 */ jal func_800EF3D4 +/* 9FC864 80242074 0000202D */ daddu $a0, $zero, $zero +/* 9FC868 80242078 3C0142B4 */ lui $at, 0x42b4 +/* 9FC86C 8024207C 4481A000 */ mtc1 $at, $f20 +/* 9FC870 80242080 8E040000 */ lw $a0, ($s0) +/* 9FC874 80242084 4405A000 */ mfc1 $a1, $f20 +/* 9FC878 80242088 0C00ECD0 */ jal set_npc_yaw +/* 9FC87C 8024208C 00000000 */ nop +/* 9FC880 80242090 24020002 */ addiu $v0, $zero, 2 +/* 9FC884 80242094 E6340080 */ swc1 $f20, 0x80($s1) +/* 9FC888 80242098 E6340084 */ swc1 $f20, 0x84($s1) +/* 9FC88C 8024209C 0809082A */ j .L802420A8 +/* 9FC890 802420A0 AE2000A8 */ sw $zero, 0xa8($s1) +.L802420A4: +/* 9FC894 802420A4 0000102D */ daddu $v0, $zero, $zero +.L802420A8: +/* 9FC898 802420A8 8FBF0018 */ lw $ra, 0x18($sp) +/* 9FC89C 802420AC 8FB10014 */ lw $s1, 0x14($sp) +/* 9FC8A0 802420B0 8FB00010 */ lw $s0, 0x10($sp) +/* 9FC8A4 802420B4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9FC8A8 802420B8 03E00008 */ jr $ra +/* 9FC8AC 802420BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240000_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240000_A00600.s new file mode 100644 index 0000000000..8d5d6d70e4 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240000_A00600.s @@ -0,0 +1,147 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A00600 +/* A00600 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* A00604 80240004 AFB00030 */ sw $s0, 0x30($sp) +/* A00608 80240008 0080802D */ daddu $s0, $a0, $zero +/* A0060C 8024000C AFBF0040 */ sw $ra, 0x40($sp) +/* A00610 80240010 AFB3003C */ sw $s3, 0x3c($sp) +/* A00614 80240014 AFB20038 */ sw $s2, 0x38($sp) +/* A00618 80240018 AFB10034 */ sw $s1, 0x34($sp) +/* A0061C 8024001C F7B60050 */ sdc1 $f22, 0x50($sp) +/* A00620 80240020 F7B40048 */ sdc1 $f20, 0x48($sp) +/* A00624 80240024 8E130148 */ lw $s3, 0x148($s0) +/* A00628 80240028 00A0882D */ daddu $s1, $a1, $zero +/* A0062C 8024002C 86640008 */ lh $a0, 8($s3) +/* A00630 80240030 0C00EABB */ jal get_npc_unsafe +/* A00634 80240034 00C0902D */ daddu $s2, $a2, $zero +/* A00638 80240038 0200202D */ daddu $a0, $s0, $zero +/* A0063C 8024003C 0220282D */ daddu $a1, $s1, $zero +/* A00640 80240040 0240302D */ daddu $a2, $s2, $zero +/* A00644 80240044 0C012568 */ jal func_800495A0 +/* A00648 80240048 0040802D */ daddu $s0, $v0, $zero +/* A0064C 8024004C 8E020000 */ lw $v0, ($s0) +/* A00650 80240050 2404002D */ addiu $a0, $zero, 0x2d +/* A00654 80240054 34420800 */ ori $v0, $v0, 0x800 +/* A00658 80240058 0C00A67F */ jal rand_int +/* A0065C 8024005C AE020000 */ sw $v0, ($s0) +/* A00660 80240060 0200202D */ daddu $a0, $s0, $zero +/* A00664 80240064 3C05B000 */ lui $a1, 0xb000 +/* A00668 80240068 34A50017 */ ori $a1, $a1, 0x17 +/* A0066C 8024006C 44820000 */ mtc1 $v0, $f0 +/* A00670 80240070 00000000 */ nop +/* A00674 80240074 46800021 */ cvt.d.w $f0, $f0 +/* A00678 80240078 3C014024 */ lui $at, 0x4024 +/* A0067C 8024007C 44811800 */ mtc1 $at, $f3 +/* A00680 80240080 44801000 */ mtc1 $zero, $f2 +/* A00684 80240084 3C014020 */ lui $at, 0x4020 +/* A00688 80240088 44812800 */ mtc1 $at, $f5 +/* A0068C 8024008C 44802000 */ mtc1 $zero, $f4 +/* A00690 80240090 46220003 */ div.d $f0, $f0, $f2 +/* A00694 80240094 46240000 */ add.d $f0, $f0, $f4 +/* A00698 80240098 3C013FC0 */ lui $at, 0x3fc0 +/* A0069C 8024009C 44811000 */ mtc1 $at, $f2 +/* A006A0 802400A0 0000302D */ daddu $a2, $zero, $zero +/* A006A4 802400A4 E6020014 */ swc1 $f2, 0x14($s0) +/* A006A8 802400A8 46200020 */ cvt.s.d $f0, $f0 +/* A006AC 802400AC 0C012530 */ jal func_800494C0 +/* A006B0 802400B0 E600001C */ swc1 $f0, 0x1c($s0) +/* A006B4 802400B4 8E6300D0 */ lw $v1, 0xd0($s3) +/* A006B8 802400B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A006BC 802400BC C4620000 */ lwc1 $f2, ($v1) +/* A006C0 802400C0 468010A0 */ cvt.s.w $f2, $f2 +/* A006C4 802400C4 C4640008 */ lwc1 $f4, 8($v1) +/* A006C8 802400C8 46802120 */ cvt.s.w $f4, $f4 +/* A006CC 802400CC E7A00010 */ swc1 $f0, 0x10($sp) +/* A006D0 802400D0 8E6200D0 */ lw $v0, 0xd0($s3) +/* A006D4 802400D4 44051000 */ mfc1 $a1, $f2 +/* A006D8 802400D8 C440000C */ lwc1 $f0, 0xc($v0) +/* A006DC 802400DC 46800020 */ cvt.s.w $f0, $f0 +/* A006E0 802400E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A006E4 802400E4 8E6200D0 */ lw $v0, 0xd0($s3) +/* A006E8 802400E8 44062000 */ mfc1 $a2, $f4 +/* A006EC 802400EC C4400010 */ lwc1 $f0, 0x10($v0) +/* A006F0 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* A006F4 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A006F8 802400F8 8C640018 */ lw $a0, 0x18($v1) +/* A006FC 802400FC 0C0123F5 */ jal is_point_within_region +/* A00700 80240100 8E070038 */ lw $a3, 0x38($s0) +/* A00704 80240104 10400035 */ beqz $v0, .L802401DC +/* A00708 80240108 00000000 */ nop +/* A0070C 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A00710 80240110 3C0141C8 */ lui $at, 0x41c8 +/* A00714 80240114 4481B000 */ mtc1 $at, $f22 +/* A00718 80240118 8E6200D0 */ lw $v0, 0xd0($s3) +/* A0071C 8024011C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A00720 80240120 C4480000 */ lwc1 $f8, ($v0) +/* A00724 80240124 46804220 */ cvt.s.w $f8, $f8 +/* A00728 80240128 44064000 */ mfc1 $a2, $f8 +/* A0072C 8024012C C4480008 */ lwc1 $f8, 8($v0) +/* A00730 80240130 46804220 */ cvt.s.w $f8, $f8 +/* A00734 80240134 44074000 */ mfc1 $a3, $f8 +/* A00738 80240138 3C01403E */ lui $at, 0x403e +/* A0073C 8024013C 4481A800 */ mtc1 $at, $f21 +/* A00740 80240140 4480A000 */ mtc1 $zero, $f20 +/* A00744 80240144 0C00A720 */ jal atan2 +/* A00748 80240148 0000882D */ daddu $s1, $zero, $zero +/* A0074C 8024014C C6020038 */ lwc1 $f2, 0x38($s0) +/* A00750 80240150 C604003C */ lwc1 $f4, 0x3c($s0) +/* A00754 80240154 C6060040 */ lwc1 $f6, 0x40($s0) +/* A00758 80240158 E600000C */ swc1 $f0, 0xc($s0) +/* A0075C 8024015C E7A20020 */ swc1 $f2, 0x20($sp) +/* A00760 80240160 E7A40024 */ swc1 $f4, 0x24($sp) +/* A00764 80240164 E7A60028 */ swc1 $f6, 0x28($sp) +.L80240168: +/* A00768 80240168 E7B60010 */ swc1 $f22, 0x10($sp) +/* A0076C 8024016C C600000C */ lwc1 $f0, 0xc($s0) +/* A00770 80240170 E7A00014 */ swc1 $f0, 0x14($sp) +/* A00774 80240174 860200A8 */ lh $v0, 0xa8($s0) +/* A00778 80240178 27A50020 */ addiu $a1, $sp, 0x20 +/* A0077C 8024017C 44820000 */ mtc1 $v0, $f0 +/* A00780 80240180 00000000 */ nop +/* A00784 80240184 46800020 */ cvt.s.w $f0, $f0 +/* A00788 80240188 E7A00018 */ swc1 $f0, 0x18($sp) +/* A0078C 8024018C 860200A6 */ lh $v0, 0xa6($s0) +/* A00790 80240190 27A60024 */ addiu $a2, $sp, 0x24 +/* A00794 80240194 44820000 */ mtc1 $v0, $f0 +/* A00798 80240198 00000000 */ nop +/* A0079C 8024019C 46800020 */ cvt.s.w $f0, $f0 +/* A007A0 802401A0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A007A4 802401A4 8E040080 */ lw $a0, 0x80($s0) +/* A007A8 802401A8 0C037711 */ jal func_800DDC44 +/* A007AC 802401AC 27A70028 */ addiu $a3, $sp, 0x28 +/* A007B0 802401B0 10400016 */ beqz $v0, .L8024020C +/* A007B4 802401B4 26310001 */ addiu $s1, $s1, 1 +/* A007B8 802401B8 C600000C */ lwc1 $f0, 0xc($s0) +/* A007BC 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* A007C0 802401C0 46340000 */ add.d $f0, $f0, $f20 +/* A007C4 802401C4 2A220006 */ slti $v0, $s1, 6 +/* A007C8 802401C8 46200020 */ cvt.s.d $f0, $f0 +/* A007CC 802401CC 1440FFE6 */ bnez $v0, .L80240168 +/* A007D0 802401D0 E600000C */ swc1 $f0, 0xc($s0) +/* A007D4 802401D4 08090083 */ j .L8024020C +/* A007D8 802401D8 00000000 */ nop +.L802401DC: +/* A007DC 802401DC 0C00A67F */ jal rand_int +/* A007E0 802401E0 2404003C */ addiu $a0, $zero, 0x3c +/* A007E4 802401E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* A007E8 802401E8 44820000 */ mtc1 $v0, $f0 +/* A007EC 802401EC 00000000 */ nop +/* A007F0 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* A007F4 802401F4 46006300 */ add.s $f12, $f12, $f0 +/* A007F8 802401F8 3C0141F0 */ lui $at, 0x41f0 +/* A007FC 802401FC 44810000 */ mtc1 $at, $f0 +/* A00800 80240200 0C00A6C9 */ jal clamp_angle +/* A00804 80240204 46006301 */ sub.s $f12, $f12, $f0 +/* A00808 80240208 E600000C */ swc1 $f0, 0xc($s0) +.L8024020C: +/* A0080C 8024020C 8FBF0040 */ lw $ra, 0x40($sp) +/* A00810 80240210 8FB3003C */ lw $s3, 0x3c($sp) +/* A00814 80240214 8FB20038 */ lw $s2, 0x38($sp) +/* A00818 80240218 8FB10034 */ lw $s1, 0x34($sp) +/* A0081C 8024021C 8FB00030 */ lw $s0, 0x30($sp) +/* A00820 80240220 D7B60050 */ ldc1 $f22, 0x50($sp) +/* A00824 80240224 D7B40048 */ ldc1 $f20, 0x48($sp) +/* A00828 80240228 03E00008 */ jr $ra +/* A0082C 8024022C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240230_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240230_A00600.s new file mode 100644 index 0000000000..70ab430fdf --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240230_A00600.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240230_A00830 +/* A00830 80240230 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* A00834 80240234 AFB3004C */ sw $s3, 0x4c($sp) +/* A00838 80240238 0080982D */ daddu $s3, $a0, $zero +/* A0083C 8024023C AFBF0054 */ sw $ra, 0x54($sp) +/* A00840 80240240 AFB40050 */ sw $s4, 0x50($sp) +/* A00844 80240244 AFB20048 */ sw $s2, 0x48($sp) +/* A00848 80240248 AFB10044 */ sw $s1, 0x44($sp) +/* A0084C 8024024C AFB00040 */ sw $s0, 0x40($sp) +/* A00850 80240250 F7B40058 */ sdc1 $f20, 0x58($sp) +/* A00854 80240254 8E710148 */ lw $s1, 0x148($s3) +/* A00858 80240258 00A0A02D */ daddu $s4, $a1, $zero +/* A0085C 8024025C 86240008 */ lh $a0, 8($s1) +/* A00860 80240260 0C00EABB */ jal get_npc_unsafe +/* A00864 80240264 00C0902D */ daddu $s2, $a2, $zero +/* A00868 80240268 8E830014 */ lw $v1, 0x14($s4) +/* A0086C 8024026C 04600034 */ bltz $v1, .L80240340 +/* A00870 80240270 0040802D */ daddu $s0, $v0, $zero +/* A00874 80240274 8E620074 */ lw $v0, 0x74($s3) +/* A00878 80240278 1C400030 */ bgtz $v0, .L8024033C +/* A0087C 8024027C 2442FFFF */ addiu $v0, $v0, -1 +/* A00880 80240280 0240202D */ daddu $a0, $s2, $zero +/* A00884 80240284 AE630074 */ sw $v1, 0x74($s3) +/* A00888 80240288 AFA00010 */ sw $zero, 0x10($sp) +/* A0088C 8024028C 8E86000C */ lw $a2, 0xc($s4) +/* A00890 80240290 8E870010 */ lw $a3, 0x10($s4) +/* A00894 80240294 0C01242D */ jal func_800490B4 +/* A00898 80240298 0220282D */ daddu $a1, $s1, $zero +/* A0089C 8024029C 10400025 */ beqz $v0, .L80240334 +/* A008A0 802402A0 0000202D */ daddu $a0, $zero, $zero +/* A008A4 802402A4 0200282D */ daddu $a1, $s0, $zero +/* A008A8 802402A8 0000302D */ daddu $a2, $zero, $zero +/* A008AC 802402AC 860300A8 */ lh $v1, 0xa8($s0) +/* A008B0 802402B0 3C013F80 */ lui $at, 0x3f80 +/* A008B4 802402B4 44810000 */ mtc1 $at, $f0 +/* A008B8 802402B8 3C014000 */ lui $at, 0x4000 +/* A008BC 802402BC 44811000 */ mtc1 $at, $f2 +/* A008C0 802402C0 3C01C1A0 */ lui $at, 0xc1a0 +/* A008C4 802402C4 44812000 */ mtc1 $at, $f4 +/* A008C8 802402C8 2402000F */ addiu $v0, $zero, 0xf +/* A008CC 802402CC AFA2001C */ sw $v0, 0x1c($sp) +/* A008D0 802402D0 44835000 */ mtc1 $v1, $f10 +/* A008D4 802402D4 00000000 */ nop +/* A008D8 802402D8 468052A0 */ cvt.s.w $f10, $f10 +/* A008DC 802402DC 44075000 */ mfc1 $a3, $f10 +/* A008E0 802402E0 27A20028 */ addiu $v0, $sp, 0x28 +/* A008E4 802402E4 AFA20020 */ sw $v0, 0x20($sp) +/* A008E8 802402E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* A008EC 802402EC E7A20014 */ swc1 $f2, 0x14($sp) +/* A008F0 802402F0 0C01BFA4 */ jal fx_emote +/* A008F4 802402F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* A008F8 802402F8 0200202D */ daddu $a0, $s0, $zero +/* A008FC 802402FC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A00900 80240300 0C012530 */ jal func_800494C0 +/* A00904 80240304 3C060020 */ lui $a2, 0x20 +/* A00908 80240308 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A0090C 8024030C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A00910 80240310 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A00914 80240314 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A00918 80240318 8C460028 */ lw $a2, 0x28($v0) +/* A0091C 8024031C 0C00A720 */ jal atan2 +/* A00920 80240320 8C470030 */ lw $a3, 0x30($v0) +/* A00924 80240324 2402000C */ addiu $v0, $zero, 0xc +/* A00928 80240328 E600000C */ swc1 $f0, 0xc($s0) +/* A0092C 8024032C 08090151 */ j .L80240544 +/* A00930 80240330 AE620070 */ sw $v0, 0x70($s3) +.L80240334: +/* A00934 80240334 8E620074 */ lw $v0, 0x74($s3) +/* A00938 80240338 2442FFFF */ addiu $v0, $v0, -1 +.L8024033C: +/* A0093C 8024033C AE620074 */ sw $v0, 0x74($s3) +.L80240340: +/* A00940 80240340 C6000018 */ lwc1 $f0, 0x18($s0) +/* A00944 80240344 44801000 */ mtc1 $zero, $f2 +/* A00948 80240348 44801800 */ mtc1 $zero, $f3 +/* A0094C 8024034C 46000021 */ cvt.d.s $f0, $f0 +/* A00950 80240350 4620103C */ c.lt.d $f2, $f0 +/* A00954 80240354 00000000 */ nop +/* A00958 80240358 45000025 */ bc1f .L802403F0 +/* A0095C 8024035C 27A5002C */ addiu $a1, $sp, 0x2c +/* A00960 80240360 C6000038 */ lwc1 $f0, 0x38($s0) +/* A00964 80240364 860200A6 */ lh $v0, 0xa6($s0) +/* A00968 80240368 3C018024 */ lui $at, 0x8024 +/* A0096C 8024036C D42221D0 */ ldc1 $f2, 0x21d0($at) +/* A00970 80240370 27A60030 */ addiu $a2, $sp, 0x30 +/* A00974 80240374 E7A0002C */ swc1 $f0, 0x2c($sp) +/* A00978 80240378 44820000 */ mtc1 $v0, $f0 +/* A0097C 8024037C 00000000 */ nop +/* A00980 80240380 46800020 */ cvt.s.w $f0, $f0 +/* A00984 80240384 46000021 */ cvt.d.s $f0, $f0 +/* A00988 80240388 C604003C */ lwc1 $f4, 0x3c($s0) +/* A0098C 8024038C C6060040 */ lwc1 $f6, 0x40($s0) +/* A00990 80240390 C6080018 */ lwc1 $f8, 0x18($s0) +/* A00994 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* A00998 80240398 46220002 */ mul.d $f0, $f0, $f2 +/* A0099C 8024039C 00000000 */ nop +/* A009A0 802403A0 E7A40030 */ swc1 $f4, 0x30($sp) +/* A009A4 802403A4 E7A60034 */ swc1 $f6, 0x34($sp) +/* A009A8 802403A8 E7A80010 */ swc1 $f8, 0x10($sp) +/* A009AC 802403AC C604000C */ lwc1 $f4, 0xc($s0) +/* A009B0 802403B0 44821000 */ mtc1 $v0, $f2 +/* A009B4 802403B4 00000000 */ nop +/* A009B8 802403B8 468010A0 */ cvt.s.w $f2, $f2 +/* A009BC 802403BC E7A20018 */ swc1 $f2, 0x18($sp) +/* A009C0 802403C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* A009C4 802403C4 46200020 */ cvt.s.d $f0, $f0 +/* A009C8 802403C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A009CC 802403CC 8E040080 */ lw $a0, 0x80($s0) +/* A009D0 802403D0 0C037711 */ jal func_800DDC44 +/* A009D4 802403D4 27A70034 */ addiu $a3, $sp, 0x34 +/* A009D8 802403D8 54400005 */ bnel $v0, $zero, .L802403F0 +/* A009DC 802403DC AE000018 */ sw $zero, 0x18($s0) +/* A009E0 802403E0 8E050018 */ lw $a1, 0x18($s0) +/* A009E4 802403E4 8E06000C */ lw $a2, 0xc($s0) +/* A009E8 802403E8 0C00EA95 */ jal npc_move_heading +/* A009EC 802403EC 0200202D */ daddu $a0, $s0, $zero +.L802403F0: +/* A009F0 802403F0 C600001C */ lwc1 $f0, 0x1c($s0) +/* A009F4 802403F4 44801000 */ mtc1 $zero, $f2 +/* A009F8 802403F8 44801800 */ mtc1 $zero, $f3 +/* A009FC 802403FC 46000021 */ cvt.d.s $f0, $f0 +/* A00A00 80240400 4622003C */ c.lt.d $f0, $f2 +/* A00A04 80240404 00000000 */ nop +/* A00A08 80240408 45000047 */ bc1f .L80240528 +/* A00A0C 8024040C 27A5002C */ addiu $a1, $sp, 0x2c +/* A00A10 80240410 27A60030 */ addiu $a2, $sp, 0x30 +/* A00A14 80240414 27A20038 */ addiu $v0, $sp, 0x38 +/* A00A18 80240418 C602003C */ lwc1 $f2, 0x3c($s0) +/* A00A1C 8024041C C6060038 */ lwc1 $f6, 0x38($s0) +/* A00A20 80240420 3C01402A */ lui $at, 0x402a +/* A00A24 80240424 4481A800 */ mtc1 $at, $f21 +/* A00A28 80240428 4480A000 */ mtc1 $zero, $f20 +/* A00A2C 8024042C 460010A1 */ cvt.d.s $f2, $f2 +/* A00A30 80240430 46341080 */ add.d $f2, $f2, $f20 +/* A00A34 80240434 C600001C */ lwc1 $f0, 0x1c($s0) +/* A00A38 80240438 C6040040 */ lwc1 $f4, 0x40($s0) +/* A00A3C 8024043C 46000005 */ abs.s $f0, $f0 +/* A00A40 80240440 E7A40034 */ swc1 $f4, 0x34($sp) +/* A00A44 80240444 3C014030 */ lui $at, 0x4030 +/* A00A48 80240448 44812800 */ mtc1 $at, $f5 +/* A00A4C 8024044C 44802000 */ mtc1 $zero, $f4 +/* A00A50 80240450 46000021 */ cvt.d.s $f0, $f0 +/* A00A54 80240454 E7A6002C */ swc1 $f6, 0x2c($sp) +/* A00A58 80240458 46240000 */ add.d $f0, $f0, $f4 +/* A00A5C 8024045C 462010A0 */ cvt.s.d $f2, $f2 +/* A00A60 80240460 E7A20030 */ swc1 $f2, 0x30($sp) +/* A00A64 80240464 46200020 */ cvt.s.d $f0, $f0 +/* A00A68 80240468 E7A00038 */ swc1 $f0, 0x38($sp) +/* A00A6C 8024046C AFA20010 */ sw $v0, 0x10($sp) +/* A00A70 80240470 8E040080 */ lw $a0, 0x80($s0) +/* A00A74 80240474 0C0372DF */ jal func_800DCB7C +/* A00A78 80240478 27A70034 */ addiu $a3, $sp, 0x34 +/* A00A7C 8024047C 1040002A */ beqz $v0, .L80240528 +/* A00A80 80240480 00000000 */ nop +/* A00A84 80240484 C600001C */ lwc1 $f0, 0x1c($s0) +/* A00A88 80240488 C7A20038 */ lwc1 $f2, 0x38($sp) +/* A00A8C 8024048C 46000005 */ abs.s $f0, $f0 +/* A00A90 80240490 46000021 */ cvt.d.s $f0, $f0 +/* A00A94 80240494 46340000 */ add.d $f0, $f0, $f20 +/* A00A98 80240498 460010A1 */ cvt.d.s $f2, $f2 +/* A00A9C 8024049C 4620103E */ c.le.d $f2, $f0 +/* A00AA0 802404A0 00000000 */ nop +/* A00AA4 802404A4 45000020 */ bc1f .L80240528 +/* A00AA8 802404A8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A00AAC 802404AC C7A00030 */ lwc1 $f0, 0x30($sp) +/* A00AB0 802404B0 8E020000 */ lw $v0, ($s0) +/* A00AB4 802404B4 2403F7FF */ addiu $v1, $zero, -0x801 +/* A00AB8 802404B8 AE00001C */ sw $zero, 0x1c($s0) +/* A00ABC 802404BC 00431024 */ and $v0, $v0, $v1 +/* A00AC0 802404C0 AE020000 */ sw $v0, ($s0) +/* A00AC4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* A00AC8 802404C8 E600003C */ swc1 $f0, 0x3c($s0) +/* A00ACC 802404CC 0C00A67F */ jal rand_int +/* A00AD0 802404D0 AE620070 */ sw $v0, 0x70($s3) +/* A00AD4 802404D4 3C035555 */ lui $v1, 0x5555 +/* A00AD8 802404D8 34635556 */ ori $v1, $v1, 0x5556 +/* A00ADC 802404DC 00430018 */ mult $v0, $v1 +/* A00AE0 802404E0 000227C3 */ sra $a0, $v0, 0x1f +/* A00AE4 802404E4 00004010 */ mfhi $t0 +/* A00AE8 802404E8 01042023 */ subu $a0, $t0, $a0 +/* A00AEC 802404EC 00041840 */ sll $v1, $a0, 1 +/* A00AF0 802404F0 00641821 */ addu $v1, $v1, $a0 +/* A00AF4 802404F4 00431023 */ subu $v0, $v0, $v1 +/* A00AF8 802404F8 24430002 */ addiu $v1, $v0, 2 +/* A00AFC 802404FC AE630074 */ sw $v1, 0x74($s3) +/* A00B00 80240500 8E82002C */ lw $v0, 0x2c($s4) +/* A00B04 80240504 5840000F */ blezl $v0, .L80240544 +/* A00B08 80240508 AE600070 */ sw $zero, 0x70($s3) +/* A00B0C 8024050C 8E820004 */ lw $v0, 4($s4) +/* A00B10 80240510 5840000C */ blezl $v0, .L80240544 +/* A00B14 80240514 AE600070 */ sw $zero, 0x70($s3) +/* A00B18 80240518 1460000A */ bnez $v1, .L80240544 +/* A00B1C 8024051C 00000000 */ nop +/* A00B20 80240520 08090151 */ j .L80240544 +/* A00B24 80240524 AE600070 */ sw $zero, 0x70($s3) +.L80240528: +/* A00B28 80240528 C604003C */ lwc1 $f4, 0x3c($s0) +/* A00B2C 8024052C C600001C */ lwc1 $f0, 0x1c($s0) +/* A00B30 80240530 46002100 */ add.s $f4, $f4, $f0 +/* A00B34 80240534 C6020014 */ lwc1 $f2, 0x14($s0) +/* A00B38 80240538 46020001 */ sub.s $f0, $f0, $f2 +/* A00B3C 8024053C E604003C */ swc1 $f4, 0x3c($s0) +/* A00B40 80240540 E600001C */ swc1 $f0, 0x1c($s0) +.L80240544: +/* A00B44 80240544 8FBF0054 */ lw $ra, 0x54($sp) +/* A00B48 80240548 8FB40050 */ lw $s4, 0x50($sp) +/* A00B4C 8024054C 8FB3004C */ lw $s3, 0x4c($sp) +/* A00B50 80240550 8FB20048 */ lw $s2, 0x48($sp) +/* A00B54 80240554 8FB10044 */ lw $s1, 0x44($sp) +/* A00B58 80240558 8FB00040 */ lw $s0, 0x40($sp) +/* A00B5C 8024055C D7B40058 */ ldc1 $f20, 0x58($sp) +/* A00B60 80240560 03E00008 */ jr $ra +/* A00B64 80240564 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240568_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240568_A00600.s new file mode 100644 index 0000000000..9cc04efa17 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240568_A00600.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240568_A00B68 +/* A00B68 80240568 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A00B6C 8024056C AFB3001C */ sw $s3, 0x1c($sp) +/* A00B70 80240570 0080982D */ daddu $s3, $a0, $zero +/* A00B74 80240574 AFBF0020 */ sw $ra, 0x20($sp) +/* A00B78 80240578 AFB20018 */ sw $s2, 0x18($sp) +/* A00B7C 8024057C AFB10014 */ sw $s1, 0x14($sp) +/* A00B80 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* A00B84 80240584 8E720148 */ lw $s2, 0x148($s3) +/* A00B88 80240588 86440008 */ lh $a0, 8($s2) +/* A00B8C 8024058C 0C00EABB */ jal get_npc_unsafe +/* A00B90 80240590 00A0882D */ daddu $s1, $a1, $zero +/* A00B94 80240594 8E240008 */ lw $a0, 8($s1) +/* A00B98 80240598 0040802D */ daddu $s0, $v0, $zero +/* A00B9C 8024059C 00041FC2 */ srl $v1, $a0, 0x1f +/* A00BA0 802405A0 00832021 */ addu $a0, $a0, $v1 +/* A00BA4 802405A4 00042043 */ sra $a0, $a0, 1 +/* A00BA8 802405A8 0C00A67F */ jal rand_int +/* A00BAC 802405AC 24840001 */ addiu $a0, $a0, 1 +/* A00BB0 802405B0 8E230008 */ lw $v1, 8($s1) +/* A00BB4 802405B4 240400B4 */ addiu $a0, $zero, 0xb4 +/* A00BB8 802405B8 00032FC2 */ srl $a1, $v1, 0x1f +/* A00BBC 802405BC 00651821 */ addu $v1, $v1, $a1 +/* A00BC0 802405C0 00031843 */ sra $v1, $v1, 1 +/* A00BC4 802405C4 00621821 */ addu $v1, $v1, $v0 +/* A00BC8 802405C8 0C00A67F */ jal rand_int +/* A00BCC 802405CC A603008E */ sh $v1, 0x8e($s0) +/* A00BD0 802405D0 C60C000C */ lwc1 $f12, 0xc($s0) +/* A00BD4 802405D4 44820000 */ mtc1 $v0, $f0 +/* A00BD8 802405D8 00000000 */ nop +/* A00BDC 802405DC 46800020 */ cvt.s.w $f0, $f0 +/* A00BE0 802405E0 46006300 */ add.s $f12, $f12, $f0 +/* A00BE4 802405E4 3C0142B4 */ lui $at, 0x42b4 +/* A00BE8 802405E8 44810000 */ mtc1 $at, $f0 +/* A00BEC 802405EC 0C00A6C9 */ jal clamp_angle +/* A00BF0 802405F0 46006301 */ sub.s $f12, $f12, $f0 +/* A00BF4 802405F4 E600000C */ swc1 $f0, 0xc($s0) +/* A00BF8 802405F8 8E4200CC */ lw $v0, 0xcc($s2) +/* A00BFC 802405FC 8C420000 */ lw $v0, ($v0) +/* A00C00 80240600 AE020028 */ sw $v0, 0x28($s0) +/* A00C04 80240604 24020003 */ addiu $v0, $zero, 3 +/* A00C08 80240608 AE620070 */ sw $v0, 0x70($s3) +/* A00C0C 8024060C 8FBF0020 */ lw $ra, 0x20($sp) +/* A00C10 80240610 8FB3001C */ lw $s3, 0x1c($sp) +/* A00C14 80240614 8FB20018 */ lw $s2, 0x18($sp) +/* A00C18 80240618 8FB10014 */ lw $s1, 0x14($sp) +/* A00C1C 8024061C 8FB00010 */ lw $s0, 0x10($sp) +/* A00C20 80240620 03E00008 */ jr $ra +/* A00C24 80240624 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240628_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240628_A00600.s new file mode 100644 index 0000000000..23ae9da1d3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240628_A00600.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_A00C28 +/* A00C28 80240628 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A00C2C 8024062C AFB40040 */ sw $s4, 0x40($sp) +/* A00C30 80240630 0080A02D */ daddu $s4, $a0, $zero +/* A00C34 80240634 AFBF0044 */ sw $ra, 0x44($sp) +/* A00C38 80240638 AFB3003C */ sw $s3, 0x3c($sp) +/* A00C3C 8024063C AFB20038 */ sw $s2, 0x38($sp) +/* A00C40 80240640 AFB10034 */ sw $s1, 0x34($sp) +/* A00C44 80240644 AFB00030 */ sw $s0, 0x30($sp) +/* A00C48 80240648 8E920148 */ lw $s2, 0x148($s4) +/* A00C4C 8024064C 00A0882D */ daddu $s1, $a1, $zero +/* A00C50 80240650 86440008 */ lh $a0, 8($s2) +/* A00C54 80240654 0C00EABB */ jal get_npc_unsafe +/* A00C58 80240658 00C0982D */ daddu $s3, $a2, $zero +/* A00C5C 8024065C 8E230014 */ lw $v1, 0x14($s1) +/* A00C60 80240660 0460002D */ bltz $v1, .L80240718 +/* A00C64 80240664 0040802D */ daddu $s0, $v0, $zero +/* A00C68 80240668 0260202D */ daddu $a0, $s3, $zero +/* A00C6C 8024066C AFA00010 */ sw $zero, 0x10($sp) +/* A00C70 80240670 8E260024 */ lw $a2, 0x24($s1) +/* A00C74 80240674 8E270028 */ lw $a3, 0x28($s1) +/* A00C78 80240678 0C01242D */ jal func_800490B4 +/* A00C7C 8024067C 0240282D */ daddu $a1, $s2, $zero +/* A00C80 80240680 10400025 */ beqz $v0, .L80240718 +/* A00C84 80240684 0000202D */ daddu $a0, $zero, $zero +/* A00C88 80240688 0200282D */ daddu $a1, $s0, $zero +/* A00C8C 8024068C 0000302D */ daddu $a2, $zero, $zero +/* A00C90 80240690 860300A8 */ lh $v1, 0xa8($s0) +/* A00C94 80240694 3C013F80 */ lui $at, 0x3f80 +/* A00C98 80240698 44810000 */ mtc1 $at, $f0 +/* A00C9C 8024069C 3C014000 */ lui $at, 0x4000 +/* A00CA0 802406A0 44811000 */ mtc1 $at, $f2 +/* A00CA4 802406A4 3C01C1A0 */ lui $at, 0xc1a0 +/* A00CA8 802406A8 44812000 */ mtc1 $at, $f4 +/* A00CAC 802406AC 2402000F */ addiu $v0, $zero, 0xf +/* A00CB0 802406B0 AFA2001C */ sw $v0, 0x1c($sp) +/* A00CB4 802406B4 44833000 */ mtc1 $v1, $f6 +/* A00CB8 802406B8 00000000 */ nop +/* A00CBC 802406BC 468031A0 */ cvt.s.w $f6, $f6 +/* A00CC0 802406C0 44073000 */ mfc1 $a3, $f6 +/* A00CC4 802406C4 27A20028 */ addiu $v0, $sp, 0x28 +/* A00CC8 802406C8 AFA20020 */ sw $v0, 0x20($sp) +/* A00CCC 802406CC E7A00010 */ swc1 $f0, 0x10($sp) +/* A00CD0 802406D0 E7A20014 */ swc1 $f2, 0x14($sp) +/* A00CD4 802406D4 0C01BFA4 */ jal fx_emote +/* A00CD8 802406D8 E7A40018 */ swc1 $f4, 0x18($sp) +/* A00CDC 802406DC 0200202D */ daddu $a0, $s0, $zero +/* A00CE0 802406E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A00CE4 802406E4 0C012530 */ jal func_800494C0 +/* A00CE8 802406E8 3C060020 */ lui $a2, 0x20 +/* A00CEC 802406EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A00CF0 802406F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A00CF4 802406F4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A00CF8 802406F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A00CFC 802406FC 8C460028 */ lw $a2, 0x28($v0) +/* A00D00 80240700 0C00A720 */ jal atan2 +/* A00D04 80240704 8C470030 */ lw $a3, 0x30($v0) +/* A00D08 80240708 2402000C */ addiu $v0, $zero, 0xc +/* A00D0C 8024070C E600000C */ swc1 $f0, 0xc($s0) +/* A00D10 80240710 080901EB */ j .L802407AC +/* A00D14 80240714 AE820070 */ sw $v0, 0x70($s4) +.L80240718: +/* A00D18 80240718 8602008C */ lh $v0, 0x8c($s0) +/* A00D1C 8024071C 14400023 */ bnez $v0, .L802407AC +/* A00D20 80240720 00000000 */ nop +/* A00D24 80240724 9602008E */ lhu $v0, 0x8e($s0) +/* A00D28 80240728 2442FFFF */ addiu $v0, $v0, -1 +/* A00D2C 8024072C A602008E */ sh $v0, 0x8e($s0) +/* A00D30 80240730 00021400 */ sll $v0, $v0, 0x10 +/* A00D34 80240734 1C40001D */ bgtz $v0, .L802407AC +/* A00D38 80240738 00000000 */ nop +/* A00D3C 8024073C 8E820074 */ lw $v0, 0x74($s4) +/* A00D40 80240740 2442FFFF */ addiu $v0, $v0, -1 +/* A00D44 80240744 18400018 */ blez $v0, .L802407A8 +/* A00D48 80240748 AE820074 */ sw $v0, 0x74($s4) +/* A00D4C 8024074C C600000C */ lwc1 $f0, 0xc($s0) +/* A00D50 80240750 3C014334 */ lui $at, 0x4334 +/* A00D54 80240754 44816000 */ mtc1 $at, $f12 +/* A00D58 80240758 0C00A6C9 */ jal clamp_angle +/* A00D5C 8024075C 460C0300 */ add.s $f12, $f0, $f12 +/* A00D60 80240760 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A00D64 80240764 0C00A67F */ jal rand_int +/* A00D68 80240768 E600000C */ swc1 $f0, 0xc($s0) +/* A00D6C 8024076C 3C032E8B */ lui $v1, 0x2e8b +/* A00D70 80240770 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* A00D74 80240774 00430018 */ mult $v0, $v1 +/* A00D78 80240778 00021FC3 */ sra $v1, $v0, 0x1f +/* A00D7C 8024077C 00004010 */ mfhi $t0 +/* A00D80 80240780 00082043 */ sra $a0, $t0, 1 +/* A00D84 80240784 00832023 */ subu $a0, $a0, $v1 +/* A00D88 80240788 00041840 */ sll $v1, $a0, 1 +/* A00D8C 8024078C 00641821 */ addu $v1, $v1, $a0 +/* A00D90 80240790 00031880 */ sll $v1, $v1, 2 +/* A00D94 80240794 00641823 */ subu $v1, $v1, $a0 +/* A00D98 80240798 00431023 */ subu $v0, $v0, $v1 +/* A00D9C 8024079C 24420005 */ addiu $v0, $v0, 5 +/* A00DA0 802407A0 080901EB */ j .L802407AC +/* A00DA4 802407A4 A602008E */ sh $v0, 0x8e($s0) +.L802407A8: +/* A00DA8 802407A8 AE800070 */ sw $zero, 0x70($s4) +.L802407AC: +/* A00DAC 802407AC 8FBF0044 */ lw $ra, 0x44($sp) +/* A00DB0 802407B0 8FB40040 */ lw $s4, 0x40($sp) +/* A00DB4 802407B4 8FB3003C */ lw $s3, 0x3c($sp) +/* A00DB8 802407B8 8FB20038 */ lw $s2, 0x38($sp) +/* A00DBC 802407BC 8FB10034 */ lw $s1, 0x34($sp) +/* A00DC0 802407C0 8FB00030 */ lw $s0, 0x30($sp) +/* A00DC4 802407C4 03E00008 */ jr $ra +/* A00DC8 802407C8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_802407CC_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_802407CC_A00600.s new file mode 100644 index 0000000000..f6c8c9d38c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_802407CC_A00600.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_A00DCC +/* A00DCC 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A00DD0 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* A00DD4 802407D4 0080882D */ daddu $s1, $a0, $zero +/* A00DD8 802407D8 AFBF001C */ sw $ra, 0x1c($sp) +/* A00DDC 802407DC AFB20018 */ sw $s2, 0x18($sp) +/* A00DE0 802407E0 AFB00010 */ sw $s0, 0x10($sp) +/* A00DE4 802407E4 8E220148 */ lw $v0, 0x148($s1) +/* A00DE8 802407E8 00A0902D */ daddu $s2, $a1, $zero +/* A00DEC 802407EC 84440008 */ lh $a0, 8($v0) +/* A00DF0 802407F0 0C00EABB */ jal get_npc_unsafe +/* A00DF4 802407F4 00C0802D */ daddu $s0, $a2, $zero +/* A00DF8 802407F8 0220202D */ daddu $a0, $s1, $zero +/* A00DFC 802407FC 0240282D */ daddu $a1, $s2, $zero +/* A00E00 80240800 0200302D */ daddu $a2, $s0, $zero +/* A00E04 80240804 0C0127DF */ jal func_80049F7C +/* A00E08 80240808 0040802D */ daddu $s0, $v0, $zero +/* A00E0C 8024080C 8E020000 */ lw $v0, ($s0) +/* A00E10 80240810 24040005 */ addiu $a0, $zero, 5 +/* A00E14 80240814 34420800 */ ori $v0, $v0, 0x800 +/* A00E18 80240818 0C00A67F */ jal rand_int +/* A00E1C 8024081C AE020000 */ sw $v0, ($s0) +/* A00E20 80240820 44820000 */ mtc1 $v0, $f0 +/* A00E24 80240824 00000000 */ nop +/* A00E28 80240828 46800021 */ cvt.d.w $f0, $f0 +/* A00E2C 8024082C 3C014024 */ lui $at, 0x4024 +/* A00E30 80240830 44811800 */ mtc1 $at, $f3 +/* A00E34 80240834 44801000 */ mtc1 $zero, $f2 +/* A00E38 80240838 3C013FC0 */ lui $at, 0x3fc0 +/* A00E3C 8024083C 44812000 */ mtc1 $at, $f4 +/* A00E40 80240840 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A00E44 80240844 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A00E48 80240848 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A00E4C 8024084C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A00E50 80240850 46220000 */ add.d $f0, $f0, $f2 +/* A00E54 80240854 E6040014 */ swc1 $f4, 0x14($s0) +/* A00E58 80240858 46200020 */ cvt.s.d $f0, $f0 +/* A00E5C 8024085C E600001C */ swc1 $f0, 0x1c($s0) +/* A00E60 80240860 8C460028 */ lw $a2, 0x28($v0) +/* A00E64 80240864 0C00A720 */ jal atan2 +/* A00E68 80240868 8C470030 */ lw $a3, 0x30($v0) +/* A00E6C 8024086C 0200202D */ daddu $a0, $s0, $zero +/* A00E70 80240870 3C05B000 */ lui $a1, 0xb000 +/* A00E74 80240874 34A50017 */ ori $a1, $a1, 0x17 +/* A00E78 80240878 0000302D */ daddu $a2, $zero, $zero +/* A00E7C 8024087C E480000C */ swc1 $f0, 0xc($a0) +/* A00E80 80240880 C6400018 */ lwc1 $f0, 0x18($s2) +/* A00E84 80240884 2402000D */ addiu $v0, $zero, 0xd +/* A00E88 80240888 E4800018 */ swc1 $f0, 0x18($a0) +/* A00E8C 8024088C 0C012530 */ jal func_800494C0 +/* A00E90 80240890 AE220070 */ sw $v0, 0x70($s1) +/* A00E94 80240894 8FBF001C */ lw $ra, 0x1c($sp) +/* A00E98 80240898 8FB20018 */ lw $s2, 0x18($sp) +/* A00E9C 8024089C 8FB10014 */ lw $s1, 0x14($sp) +/* A00EA0 802408A0 8FB00010 */ lw $s0, 0x10($sp) +/* A00EA4 802408A4 03E00008 */ jr $ra +/* A00EA8 802408A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_802408AC_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_802408AC_A00600.s new file mode 100644 index 0000000000..1a00de3a80 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_802408AC_A00600.s @@ -0,0 +1,200 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408AC_A00EAC +/* A00EAC 802408AC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A00EB0 802408B0 AFB40050 */ sw $s4, 0x50($sp) +/* A00EB4 802408B4 0080A02D */ daddu $s4, $a0, $zero +/* A00EB8 802408B8 AFBF0060 */ sw $ra, 0x60($sp) +/* A00EBC 802408BC AFB7005C */ sw $s7, 0x5c($sp) +/* A00EC0 802408C0 AFB60058 */ sw $s6, 0x58($sp) +/* A00EC4 802408C4 AFB50054 */ sw $s5, 0x54($sp) +/* A00EC8 802408C8 AFB3004C */ sw $s3, 0x4c($sp) +/* A00ECC 802408CC AFB20048 */ sw $s2, 0x48($sp) +/* A00ED0 802408D0 AFB10044 */ sw $s1, 0x44($sp) +/* A00ED4 802408D4 AFB00040 */ sw $s0, 0x40($sp) +/* A00ED8 802408D8 F7B40068 */ sdc1 $f20, 0x68($sp) +/* A00EDC 802408DC 8E950148 */ lw $s5, 0x148($s4) +/* A00EE0 802408E0 00A0B02D */ daddu $s6, $a1, $zero +/* A00EE4 802408E4 86A40008 */ lh $a0, 8($s5) +/* A00EE8 802408E8 0C00EABB */ jal get_npc_unsafe +/* A00EEC 802408EC 00C0B82D */ daddu $s7, $a2, $zero +/* A00EF0 802408F0 0040982D */ daddu $s3, $v0, $zero +/* A00EF4 802408F4 C6600018 */ lwc1 $f0, 0x18($s3) +/* A00EF8 802408F8 44801000 */ mtc1 $zero, $f2 +/* A00EFC 802408FC 44801800 */ mtc1 $zero, $f3 +/* A00F00 80240900 46000021 */ cvt.d.s $f0, $f0 +/* A00F04 80240904 4620103C */ c.lt.d $f2, $f0 +/* A00F08 80240908 00000000 */ nop +/* A00F0C 8024090C 45000021 */ bc1f .L80240994 +/* A00F10 80240910 27A50028 */ addiu $a1, $sp, 0x28 +/* A00F14 80240914 C6600038 */ lwc1 $f0, 0x38($s3) +/* A00F18 80240918 C662003C */ lwc1 $f2, 0x3c($s3) +/* A00F1C 8024091C C6640040 */ lwc1 $f4, 0x40($s3) +/* A00F20 80240920 C6660018 */ lwc1 $f6, 0x18($s3) +/* A00F24 80240924 E7A00028 */ swc1 $f0, 0x28($sp) +/* A00F28 80240928 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A00F2C 8024092C E7A40030 */ swc1 $f4, 0x30($sp) +/* A00F30 80240930 E7A60010 */ swc1 $f6, 0x10($sp) +/* A00F34 80240934 C660000C */ lwc1 $f0, 0xc($s3) +/* A00F38 80240938 E7A00014 */ swc1 $f0, 0x14($sp) +/* A00F3C 8024093C 866200A8 */ lh $v0, 0xa8($s3) +/* A00F40 80240940 44820000 */ mtc1 $v0, $f0 +/* A00F44 80240944 00000000 */ nop +/* A00F48 80240948 46800020 */ cvt.s.w $f0, $f0 +/* A00F4C 8024094C E7A00018 */ swc1 $f0, 0x18($sp) +/* A00F50 80240950 866200A6 */ lh $v0, 0xa6($s3) +/* A00F54 80240954 27A6002C */ addiu $a2, $sp, 0x2c +/* A00F58 80240958 44820000 */ mtc1 $v0, $f0 +/* A00F5C 8024095C 00000000 */ nop +/* A00F60 80240960 46800020 */ cvt.s.w $f0, $f0 +/* A00F64 80240964 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A00F68 80240968 8E640080 */ lw $a0, 0x80($s3) +/* A00F6C 8024096C 0C037711 */ jal func_800DDC44 +/* A00F70 80240970 27A70030 */ addiu $a3, $sp, 0x30 +/* A00F74 80240974 10400003 */ beqz $v0, .L80240984 +/* A00F78 80240978 00000000 */ nop +/* A00F7C 8024097C 08090265 */ j .L80240994 +/* A00F80 80240980 AE600018 */ sw $zero, 0x18($s3) +.L80240984: +/* A00F84 80240984 8E650018 */ lw $a1, 0x18($s3) +/* A00F88 80240988 8E66000C */ lw $a2, 0xc($s3) +/* A00F8C 8024098C 0C00EA95 */ jal npc_move_heading +/* A00F90 80240990 0260202D */ daddu $a0, $s3, $zero +.L80240994: +/* A00F94 80240994 C660001C */ lwc1 $f0, 0x1c($s3) +/* A00F98 80240998 44801000 */ mtc1 $zero, $f2 +/* A00F9C 8024099C 44801800 */ mtc1 $zero, $f3 +/* A00FA0 802409A0 46000021 */ cvt.d.s $f0, $f0 +/* A00FA4 802409A4 4622003C */ c.lt.d $f0, $f2 +/* A00FA8 802409A8 00000000 */ nop +/* A00FAC 802409AC 4500006C */ bc1f .L80240B60 +/* A00FB0 802409B0 27B00028 */ addiu $s0, $sp, 0x28 +/* A00FB4 802409B4 0200282D */ daddu $a1, $s0, $zero +/* A00FB8 802409B8 27A60034 */ addiu $a2, $sp, 0x34 +/* A00FBC 802409BC 27B20038 */ addiu $s2, $sp, 0x38 +/* A00FC0 802409C0 C6600038 */ lwc1 $f0, 0x38($s3) +/* A00FC4 802409C4 3C0142C8 */ lui $at, 0x42c8 +/* A00FC8 802409C8 44811000 */ mtc1 $at, $f2 +/* A00FCC 802409CC C6640040 */ lwc1 $f4, 0x40($s3) +/* A00FD0 802409D0 3C01447A */ lui $at, 0x447a +/* A00FD4 802409D4 44813000 */ mtc1 $at, $f6 +/* A00FD8 802409D8 27B10030 */ addiu $s1, $sp, 0x30 +/* A00FDC 802409DC E7A00028 */ swc1 $f0, 0x28($sp) +/* A00FE0 802409E0 E7A20034 */ swc1 $f2, 0x34($sp) +/* A00FE4 802409E4 E7A40030 */ swc1 $f4, 0x30($sp) +/* A00FE8 802409E8 E7A60038 */ swc1 $f6, 0x38($sp) +/* A00FEC 802409EC AFB20010 */ sw $s2, 0x10($sp) +/* A00FF0 802409F0 8E640080 */ lw $a0, 0x80($s3) +/* A00FF4 802409F4 0C0372DF */ jal func_800DCB7C +/* A00FF8 802409F8 0220382D */ daddu $a3, $s1, $zero +/* A00FFC 802409FC 0200282D */ daddu $a1, $s0, $zero +/* A01000 80240A00 27A6002C */ addiu $a2, $sp, 0x2c +/* A01004 80240A04 C662003C */ lwc1 $f2, 0x3c($s3) +/* A01008 80240A08 C6660038 */ lwc1 $f6, 0x38($s3) +/* A0100C 80240A0C 3C01402A */ lui $at, 0x402a +/* A01010 80240A10 4481A800 */ mtc1 $at, $f21 +/* A01014 80240A14 4480A000 */ mtc1 $zero, $f20 +/* A01018 80240A18 460010A1 */ cvt.d.s $f2, $f2 +/* A0101C 80240A1C 46341080 */ add.d $f2, $f2, $f20 +/* A01020 80240A20 C660001C */ lwc1 $f0, 0x1c($s3) +/* A01024 80240A24 C6640040 */ lwc1 $f4, 0x40($s3) +/* A01028 80240A28 46000005 */ abs.s $f0, $f0 +/* A0102C 80240A2C E7A40030 */ swc1 $f4, 0x30($sp) +/* A01030 80240A30 3C014030 */ lui $at, 0x4030 +/* A01034 80240A34 44812800 */ mtc1 $at, $f5 +/* A01038 80240A38 44802000 */ mtc1 $zero, $f4 +/* A0103C 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* A01040 80240A40 E7A60028 */ swc1 $f6, 0x28($sp) +/* A01044 80240A44 46240000 */ add.d $f0, $f0, $f4 +/* A01048 80240A48 462010A0 */ cvt.s.d $f2, $f2 +/* A0104C 80240A4C E7A2002C */ swc1 $f2, 0x2c($sp) +/* A01050 80240A50 46200020 */ cvt.s.d $f0, $f0 +/* A01054 80240A54 E7A00038 */ swc1 $f0, 0x38($sp) +/* A01058 80240A58 AFB20010 */ sw $s2, 0x10($sp) +/* A0105C 80240A5C 8E640080 */ lw $a0, 0x80($s3) +/* A01060 80240A60 0C0372DF */ jal func_800DCB7C +/* A01064 80240A64 0220382D */ daddu $a3, $s1, $zero +/* A01068 80240A68 1040003D */ beqz $v0, .L80240B60 +/* A0106C 80240A6C 00000000 */ nop +/* A01070 80240A70 C660001C */ lwc1 $f0, 0x1c($s3) +/* A01074 80240A74 C7A20038 */ lwc1 $f2, 0x38($sp) +/* A01078 80240A78 46000005 */ abs.s $f0, $f0 +/* A0107C 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* A01080 80240A80 46340000 */ add.d $f0, $f0, $f20 +/* A01084 80240A84 460010A1 */ cvt.d.s $f2, $f2 +/* A01088 80240A88 4620103E */ c.le.d $f2, $f0 +/* A0108C 80240A8C 00000000 */ nop +/* A01090 80240A90 45000033 */ bc1f .L80240B60 +/* A01094 80240A94 2403F7FF */ addiu $v1, $zero, -0x801 +/* A01098 80240A98 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A0109C 80240A9C 8E620000 */ lw $v0, ($s3) +/* A010A0 80240AA0 AE60001C */ sw $zero, 0x1c($s3) +/* A010A4 80240AA4 00431024 */ and $v0, $v0, $v1 +/* A010A8 80240AA8 E660003C */ swc1 $f0, 0x3c($s3) +/* A010AC 80240AAC AE620000 */ sw $v0, ($s3) +/* A010B0 80240AB0 AFA00010 */ sw $zero, 0x10($sp) +/* A010B4 80240AB4 AFA00014 */ sw $zero, 0x14($sp) +/* A010B8 80240AB8 8E650038 */ lw $a1, 0x38($s3) +/* A010BC 80240ABC 8E66003C */ lw $a2, 0x3c($s3) +/* A010C0 80240AC0 8E670040 */ lw $a3, 0x40($s3) +/* A010C4 80240AC4 0C01BECC */ jal fx_walk_normal +/* A010C8 80240AC8 24040002 */ addiu $a0, $zero, 2 +/* A010CC 80240ACC 02E0202D */ daddu $a0, $s7, $zero +/* A010D0 80240AD0 2402000C */ addiu $v0, $zero, 0xc +/* A010D4 80240AD4 AE820070 */ sw $v0, 0x70($s4) +/* A010D8 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* A010DC 80240ADC AFA20010 */ sw $v0, 0x10($sp) +/* A010E0 80240AE0 8EC60024 */ lw $a2, 0x24($s6) +/* A010E4 80240AE4 8EC70028 */ lw $a3, 0x28($s6) +/* A010E8 80240AE8 0C01242D */ jal func_800490B4 +/* A010EC 80240AEC 02A0282D */ daddu $a1, $s5, $zero +/* A010F0 80240AF0 14400022 */ bnez $v0, .L80240B7C +/* A010F4 80240AF4 24040002 */ addiu $a0, $zero, 2 +/* A010F8 80240AF8 0260282D */ daddu $a1, $s3, $zero +/* A010FC 80240AFC 0000302D */ daddu $a2, $zero, $zero +/* A01100 80240B00 866300A8 */ lh $v1, 0xa8($s3) +/* A01104 80240B04 3C013F80 */ lui $at, 0x3f80 +/* A01108 80240B08 44810000 */ mtc1 $at, $f0 +/* A0110C 80240B0C 3C014000 */ lui $at, 0x4000 +/* A01110 80240B10 44811000 */ mtc1 $at, $f2 +/* A01114 80240B14 3C01C1A0 */ lui $at, 0xc1a0 +/* A01118 80240B18 44812000 */ mtc1 $at, $f4 +/* A0111C 80240B1C 2402000F */ addiu $v0, $zero, 0xf +/* A01120 80240B20 AFA2001C */ sw $v0, 0x1c($sp) +/* A01124 80240B24 44834000 */ mtc1 $v1, $f8 +/* A01128 80240B28 00000000 */ nop +/* A0112C 80240B2C 46804220 */ cvt.s.w $f8, $f8 +/* A01130 80240B30 44074000 */ mfc1 $a3, $f8 +/* A01134 80240B34 27A2003C */ addiu $v0, $sp, 0x3c +/* A01138 80240B38 AFA20020 */ sw $v0, 0x20($sp) +/* A0113C 80240B3C E7A00010 */ swc1 $f0, 0x10($sp) +/* A01140 80240B40 E7A20014 */ swc1 $f2, 0x14($sp) +/* A01144 80240B44 0C01BFA4 */ jal fx_emote +/* A01148 80240B48 E7A40018 */ swc1 $f4, 0x18($sp) +/* A0114C 80240B4C 24020019 */ addiu $v0, $zero, 0x19 +/* A01150 80240B50 A662008E */ sh $v0, 0x8e($s3) +/* A01154 80240B54 2402000E */ addiu $v0, $zero, 0xe +/* A01158 80240B58 080902DF */ j .L80240B7C +/* A0115C 80240B5C AE820070 */ sw $v0, 0x70($s4) +.L80240B60: +/* A01160 80240B60 C664003C */ lwc1 $f4, 0x3c($s3) +/* A01164 80240B64 C660001C */ lwc1 $f0, 0x1c($s3) +/* A01168 80240B68 46002100 */ add.s $f4, $f4, $f0 +/* A0116C 80240B6C C6620014 */ lwc1 $f2, 0x14($s3) +/* A01170 80240B70 46020001 */ sub.s $f0, $f0, $f2 +/* A01174 80240B74 E664003C */ swc1 $f4, 0x3c($s3) +/* A01178 80240B78 E660001C */ swc1 $f0, 0x1c($s3) +.L80240B7C: +/* A0117C 80240B7C 8FBF0060 */ lw $ra, 0x60($sp) +/* A01180 80240B80 8FB7005C */ lw $s7, 0x5c($sp) +/* A01184 80240B84 8FB60058 */ lw $s6, 0x58($sp) +/* A01188 80240B88 8FB50054 */ lw $s5, 0x54($sp) +/* A0118C 80240B8C 8FB40050 */ lw $s4, 0x50($sp) +/* A01190 80240B90 8FB3004C */ lw $s3, 0x4c($sp) +/* A01194 80240B94 8FB20048 */ lw $s2, 0x48($sp) +/* A01198 80240B98 8FB10044 */ lw $s1, 0x44($sp) +/* A0119C 80240B9C 8FB00040 */ lw $s0, 0x40($sp) +/* A011A0 80240BA0 D7B40068 */ ldc1 $f20, 0x68($sp) +/* A011A4 80240BA4 03E00008 */ jr $ra +/* A011A8 80240BA8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240BAC_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240BAC_A00600.s new file mode 100644 index 0000000000..5ab0fa61d1 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240BAC_A00600.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC_A011AC +/* A011AC 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A011B0 80240BB0 AFB00010 */ sw $s0, 0x10($sp) +/* A011B4 80240BB4 0080802D */ daddu $s0, $a0, $zero +/* A011B8 80240BB8 AFBF0014 */ sw $ra, 0x14($sp) +/* A011BC 80240BBC 8E020148 */ lw $v0, 0x148($s0) +/* A011C0 80240BC0 0C00EABB */ jal get_npc_unsafe +/* A011C4 80240BC4 84440008 */ lh $a0, 8($v0) +/* A011C8 80240BC8 9443008E */ lhu $v1, 0x8e($v0) +/* A011CC 80240BCC 2463FFFF */ addiu $v1, $v1, -1 +/* A011D0 80240BD0 A443008E */ sh $v1, 0x8e($v0) +/* A011D4 80240BD4 00031C00 */ sll $v1, $v1, 0x10 +/* A011D8 80240BD8 58600001 */ blezl $v1, .L80240BE0 +/* A011DC 80240BDC AE000070 */ sw $zero, 0x70($s0) +.L80240BE0: +/* A011E0 80240BE0 8FBF0014 */ lw $ra, 0x14($sp) +/* A011E4 80240BE4 8FB00010 */ lw $s0, 0x10($sp) +/* A011E8 80240BE8 03E00008 */ jr $ra +/* A011EC 80240BEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240BF0_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240BF0_A00600.s new file mode 100644 index 0000000000..f12a72bf3f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240BF0_A00600.s @@ -0,0 +1,148 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0_A011F0 +/* A011F0 80240BF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A011F4 80240BF4 AFB3003C */ sw $s3, 0x3c($sp) +/* A011F8 80240BF8 0080982D */ daddu $s3, $a0, $zero +/* A011FC 80240BFC AFBF0048 */ sw $ra, 0x48($sp) +/* A01200 80240C00 AFB50044 */ sw $s5, 0x44($sp) +/* A01204 80240C04 AFB40040 */ sw $s4, 0x40($sp) +/* A01208 80240C08 AFB20038 */ sw $s2, 0x38($sp) +/* A0120C 80240C0C AFB10034 */ sw $s1, 0x34($sp) +/* A01210 80240C10 AFB00030 */ sw $s0, 0x30($sp) +/* A01214 80240C14 8E720148 */ lw $s2, 0x148($s3) +/* A01218 80240C18 86440008 */ lh $a0, 8($s2) +/* A0121C 80240C1C 8E70000C */ lw $s0, 0xc($s3) +/* A01220 80240C20 0C00EABB */ jal get_npc_unsafe +/* A01224 80240C24 00A0882D */ daddu $s1, $a1, $zero +/* A01228 80240C28 8E050000 */ lw $a1, ($s0) +/* A0122C 80240C2C 26100004 */ addiu $s0, $s0, 4 +/* A01230 80240C30 0260202D */ daddu $a0, $s3, $zero +/* A01234 80240C34 0C0B1EAF */ jal get_variable +/* A01238 80240C38 0040A82D */ daddu $s5, $v0, $zero +/* A0123C 80240C3C 0260202D */ daddu $a0, $s3, $zero +/* A01240 80240C40 8E050000 */ lw $a1, ($s0) +/* A01244 80240C44 0C0B1EAF */ jal get_variable +/* A01248 80240C48 0040A02D */ daddu $s4, $v0, $zero +/* A0124C 80240C4C AE420094 */ sw $v0, 0x94($s2) +/* A01250 80240C50 AFA00010 */ sw $zero, 0x10($sp) +/* A01254 80240C54 8E4200D0 */ lw $v0, 0xd0($s2) +/* A01258 80240C58 8C420030 */ lw $v0, 0x30($v0) +/* A0125C 80240C5C AFA20014 */ sw $v0, 0x14($sp) +/* A01260 80240C60 8E4200D0 */ lw $v0, 0xd0($s2) +/* A01264 80240C64 8C42001C */ lw $v0, 0x1c($v0) +/* A01268 80240C68 AFA20018 */ sw $v0, 0x18($sp) +/* A0126C 80240C6C 8E4200D0 */ lw $v0, 0xd0($s2) +/* A01270 80240C70 8C420024 */ lw $v0, 0x24($v0) +/* A01274 80240C74 AFA2001C */ sw $v0, 0x1c($sp) +/* A01278 80240C78 8E4200D0 */ lw $v0, 0xd0($s2) +/* A0127C 80240C7C 8C420028 */ lw $v0, 0x28($v0) +/* A01280 80240C80 AFA20020 */ sw $v0, 0x20($sp) +/* A01284 80240C84 8E4200D0 */ lw $v0, 0xd0($s2) +/* A01288 80240C88 3C0142C8 */ lui $at, 0x42c8 +/* A0128C 80240C8C 44810000 */ mtc1 $at, $f0 +/* A01290 80240C90 8C42002C */ lw $v0, 0x2c($v0) +/* A01294 80240C94 27B00010 */ addiu $s0, $sp, 0x10 +/* A01298 80240C98 E7A00028 */ swc1 $f0, 0x28($sp) +/* A0129C 80240C9C A7A0002C */ sh $zero, 0x2c($sp) +/* A012A0 80240CA0 12200019 */ beqz $s1, .L80240D08 +/* A012A4 80240CA4 AFA20024 */ sw $v0, 0x24($sp) +/* A012A8 80240CA8 AE600070 */ sw $zero, 0x70($s3) +/* A012AC 80240CAC A6A0008E */ sh $zero, 0x8e($s5) +/* A012B0 80240CB0 AE600074 */ sw $zero, 0x74($s3) +/* A012B4 80240CB4 8EA20000 */ lw $v0, ($s5) +/* A012B8 80240CB8 2403F7FF */ addiu $v1, $zero, -0x801 +/* A012BC 80240CBC 00431024 */ and $v0, $v0, $v1 +/* A012C0 80240CC0 2403FDFF */ addiu $v1, $zero, -0x201 +/* A012C4 80240CC4 00431024 */ and $v0, $v0, $v1 +/* A012C8 80240CC8 34420008 */ ori $v0, $v0, 8 +/* A012CC 80240CCC AEA20000 */ sw $v0, ($s5) +/* A012D0 80240CD0 8E4200B0 */ lw $v0, 0xb0($s2) +/* A012D4 80240CD4 34420018 */ ori $v0, $v0, 0x18 +/* A012D8 80240CD8 AE4200B0 */ sw $v0, 0xb0($s2) +/* A012DC 80240CDC 8E420000 */ lw $v0, ($s2) +/* A012E0 80240CE0 3C034000 */ lui $v1, 0x4000 +/* A012E4 80240CE4 00431024 */ and $v0, $v0, $v1 +/* A012E8 80240CE8 10400007 */ beqz $v0, .L80240D08 +/* A012EC 80240CEC 3C03BFFF */ lui $v1, 0xbfff +/* A012F0 80240CF0 2402000C */ addiu $v0, $zero, 0xc +/* A012F4 80240CF4 AE620070 */ sw $v0, 0x70($s3) +/* A012F8 80240CF8 8E420000 */ lw $v0, ($s2) +/* A012FC 80240CFC 3463FFFF */ ori $v1, $v1, 0xffff +/* A01300 80240D00 00431024 */ and $v0, $v0, $v1 +/* A01304 80240D04 AE420000 */ sw $v0, ($s2) +.L80240D08: +/* A01308 80240D08 8E4300B0 */ lw $v1, 0xb0($s2) +/* A0130C 80240D0C 30620004 */ andi $v0, $v1, 4 +/* A01310 80240D10 10400007 */ beqz $v0, .L80240D30 +/* A01314 80240D14 00000000 */ nop +/* A01318 80240D18 824200B4 */ lb $v0, 0xb4($s2) +/* A0131C 80240D1C 14400034 */ bnez $v0, .L80240DF0 +/* A01320 80240D20 0000102D */ daddu $v0, $zero, $zero +/* A01324 80240D24 2402FFFB */ addiu $v0, $zero, -5 +/* A01328 80240D28 00621024 */ and $v0, $v1, $v0 +/* A0132C 80240D2C AE4200B0 */ sw $v0, 0xb0($s2) +.L80240D30: +/* A01330 80240D30 8E630070 */ lw $v1, 0x70($s3) +/* A01334 80240D34 2C62000F */ sltiu $v0, $v1, 0xf +/* A01338 80240D38 1040002C */ beqz $v0, .L80240DEC +/* A0133C 80240D3C 00031080 */ sll $v0, $v1, 2 +/* A01340 80240D40 3C018024 */ lui $at, 0x8024 +/* A01344 80240D44 00220821 */ addu $at, $at, $v0 +/* A01348 80240D48 8C2221D8 */ lw $v0, 0x21d8($at) +/* A0134C 80240D4C 00400008 */ jr $v0 +/* A01350 80240D50 00000000 */ nop +/* A01354 80240D54 0260202D */ daddu $a0, $s3, $zero +/* A01358 80240D58 0280282D */ daddu $a1, $s4, $zero +/* A0135C 80240D5C 0C090000 */ jal func_80240000 +/* A01360 80240D60 0200302D */ daddu $a2, $s0, $zero +/* A01364 80240D64 0260202D */ daddu $a0, $s3, $zero +/* A01368 80240D68 0280282D */ daddu $a1, $s4, $zero +/* A0136C 80240D6C 0C09008C */ jal func_80240230 +/* A01370 80240D70 0200302D */ daddu $a2, $s0, $zero +/* A01374 80240D74 0809037C */ j .L80240DF0 +/* A01378 80240D78 0000102D */ daddu $v0, $zero, $zero +/* A0137C 80240D7C 0260202D */ daddu $a0, $s3, $zero +/* A01380 80240D80 0280282D */ daddu $a1, $s4, $zero +/* A01384 80240D84 0C09015A */ jal func_80240568 +/* A01388 80240D88 0200302D */ daddu $a2, $s0, $zero +/* A0138C 80240D8C 8E630070 */ lw $v1, 0x70($s3) +/* A01390 80240D90 24020003 */ addiu $v0, $zero, 3 +/* A01394 80240D94 14620016 */ bne $v1, $v0, .L80240DF0 +/* A01398 80240D98 0000102D */ daddu $v0, $zero, $zero +/* A0139C 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* A013A0 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* A013A4 80240DA4 0C09018A */ jal func_80240628 +/* A013A8 80240DA8 0200302D */ daddu $a2, $s0, $zero +/* A013AC 80240DAC 0809037C */ j .L80240DF0 +/* A013B0 80240DB0 0000102D */ daddu $v0, $zero, $zero +/* A013B4 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* A013B8 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* A013BC 80240DBC 0C0901F3 */ jal func_802407CC +/* A013C0 80240DC0 0200302D */ daddu $a2, $s0, $zero +/* A013C4 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* A013C8 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* A013CC 80240DCC 0C09022B */ jal func_802408AC +/* A013D0 80240DD0 0200302D */ daddu $a2, $s0, $zero +/* A013D4 80240DD4 0809037C */ j .L80240DF0 +/* A013D8 80240DD8 0000102D */ daddu $v0, $zero, $zero +/* A013DC 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* A013E0 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* A013E4 80240DE4 0C0902EB */ jal func_80240BAC +/* A013E8 80240DE8 0200302D */ daddu $a2, $s0, $zero +.L80240DEC: +/* A013EC 80240DEC 0000102D */ daddu $v0, $zero, $zero +.L80240DF0: +/* A013F0 80240DF0 8FBF0048 */ lw $ra, 0x48($sp) +/* A013F4 80240DF4 8FB50044 */ lw $s5, 0x44($sp) +/* A013F8 80240DF8 8FB40040 */ lw $s4, 0x40($sp) +/* A013FC 80240DFC 8FB3003C */ lw $s3, 0x3c($sp) +/* A01400 80240E00 8FB20038 */ lw $s2, 0x38($sp) +/* A01404 80240E04 8FB10034 */ lw $s1, 0x34($sp) +/* A01408 80240E08 8FB00030 */ lw $s0, 0x30($sp) +/* A0140C 80240E0C 03E00008 */ jr $ra +/* A01410 80240E10 27BD0050 */ addiu $sp, $sp, 0x50 +/* A01414 80240E14 00000000 */ nop +/* A01418 80240E18 00000000 */ nop +/* A0141C 80240E1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80240E20_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_80240E20_A00600.s new file mode 100644 index 0000000000..0d830a628f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80240E20_A00600.s @@ -0,0 +1,350 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E20_A01420 +/* A01420 80240E20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A01424 80240E24 AFB20018 */ sw $s2, 0x18($sp) +/* A01428 80240E28 0080902D */ daddu $s2, $a0, $zero +/* A0142C 80240E2C AFBF0020 */ sw $ra, 0x20($sp) +/* A01430 80240E30 AFB3001C */ sw $s3, 0x1c($sp) +/* A01434 80240E34 AFB10014 */ sw $s1, 0x14($sp) +/* A01438 80240E38 AFB00010 */ sw $s0, 0x10($sp) +/* A0143C 80240E3C F7B40028 */ sdc1 $f20, 0x28($sp) +/* A01440 80240E40 8E42000C */ lw $v0, 0xc($s2) +/* A01444 80240E44 00A0802D */ daddu $s0, $a1, $zero +/* A01448 80240E48 0C0B1EAF */ jal get_variable +/* A0144C 80240E4C 8C450000 */ lw $a1, ($v0) +/* A01450 80240E50 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* A01454 80240E54 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* A01458 80240E58 1200001A */ beqz $s0, .L80240EC4 +/* A0145C 80240E5C 0040882D */ daddu $s1, $v0, $zero +/* A01460 80240E60 0C00AB39 */ jal heap_malloc +/* A01464 80240E64 2404003C */ addiu $a0, $zero, 0x3c +/* A01468 80240E68 AE420074 */ sw $v0, 0x74($s2) +/* A0146C 80240E6C 8E230000 */ lw $v1, ($s1) +/* A01470 80240E70 0040802D */ daddu $s0, $v0, $zero +/* A01474 80240E74 AE030000 */ sw $v1, ($s0) +/* A01478 80240E78 8E220004 */ lw $v0, 4($s1) +/* A0147C 80240E7C AE020004 */ sw $v0, 4($s0) +/* A01480 80240E80 8E220008 */ lw $v0, 8($s1) +/* A01484 80240E84 AE020008 */ sw $v0, 8($s0) +/* A01488 80240E88 8E22000C */ lw $v0, 0xc($s1) +/* A0148C 80240E8C AE02000C */ sw $v0, 0xc($s0) +/* A01490 80240E90 8E220010 */ lw $v0, 0x10($s1) +/* A01494 80240E94 AE020010 */ sw $v0, 0x10($s0) +/* A01498 80240E98 8E220014 */ lw $v0, 0x14($s1) +/* A0149C 80240E9C AE000018 */ sw $zero, 0x18($s0) +/* A014A0 80240EA0 AE00001C */ sw $zero, 0x1c($s0) +/* A014A4 80240EA4 AE000020 */ sw $zero, 0x20($s0) +/* A014A8 80240EA8 AE000024 */ sw $zero, 0x24($s0) +/* A014AC 80240EAC AE000028 */ sw $zero, 0x28($s0) +/* A014B0 80240EB0 AE00002C */ sw $zero, 0x2c($s0) +/* A014B4 80240EB4 AE000030 */ sw $zero, 0x30($s0) +/* A014B8 80240EB8 AE000034 */ sw $zero, 0x34($s0) +/* A014BC 80240EBC AE000038 */ sw $zero, 0x38($s0) +/* A014C0 80240EC0 AE020014 */ sw $v0, 0x14($s0) +.L80240EC4: +/* A014C4 80240EC4 8E500074 */ lw $s0, 0x74($s2) +/* A014C8 80240EC8 8E030020 */ lw $v1, 0x20($s0) +/* A014CC 80240ECC 2C620005 */ sltiu $v0, $v1, 5 +/* A014D0 80240ED0 10400116 */ beqz $v0, .L8024132C +/* A014D4 80240ED4 00031080 */ sll $v0, $v1, 2 +/* A014D8 80240ED8 3C018024 */ lui $at, 0x8024 +/* A014DC 80240EDC 00220821 */ addu $at, $at, $v0 +/* A014E0 80240EE0 8C222220 */ lw $v0, 0x2220($at) +/* A014E4 80240EE4 00400008 */ jr $v0 +/* A014E8 80240EE8 00000000 */ nop +/* A014EC 80240EEC C60C0000 */ lwc1 $f12, ($s0) +/* A014F0 80240EF0 46806320 */ cvt.s.w $f12, $f12 +/* A014F4 80240EF4 C60E0008 */ lwc1 $f14, 8($s0) +/* A014F8 80240EF8 0C038022 */ jal func_800E0088 +/* A014FC 80240EFC 468073A0 */ cvt.s.w $f14, $f14 +/* A01500 80240F00 8E02000C */ lw $v0, 0xc($s0) +/* A01504 80240F04 4600010D */ trunc.w.s $f4, $f0 +/* A01508 80240F08 44032000 */ mfc1 $v1, $f4 +/* A0150C 80240F0C 00000000 */ nop +/* A01510 80240F10 0062102A */ slt $v0, $v1, $v0 +/* A01514 80240F14 10400105 */ beqz $v0, .L8024132C +/* A01518 80240F18 00000000 */ nop +/* A0151C 80240F1C C6600028 */ lwc1 $f0, 0x28($s3) +/* A01520 80240F20 8E020020 */ lw $v0, 0x20($s0) +/* A01524 80240F24 E6000024 */ swc1 $f0, 0x24($s0) +/* A01528 80240F28 C6600030 */ lwc1 $f0, 0x30($s3) +/* A0152C 80240F2C 24420001 */ addiu $v0, $v0, 1 +/* A01530 80240F30 AE020020 */ sw $v0, 0x20($s0) +/* A01534 80240F34 080904CB */ j .L8024132C +/* A01538 80240F38 E6000028 */ swc1 $f0, 0x28($s0) +/* A0153C 80240F3C C60C0000 */ lwc1 $f12, ($s0) +/* A01540 80240F40 46806320 */ cvt.s.w $f12, $f12 +/* A01544 80240F44 C60E0008 */ lwc1 $f14, 8($s0) +/* A01548 80240F48 0C038022 */ jal func_800E0088 +/* A0154C 80240F4C 468073A0 */ cvt.s.w $f14, $f14 +/* A01550 80240F50 8E02000C */ lw $v0, 0xc($s0) +/* A01554 80240F54 4600010D */ trunc.w.s $f4, $f0 +/* A01558 80240F58 44032000 */ mfc1 $v1, $f4 +/* A0155C 80240F5C 00000000 */ nop +/* A01560 80240F60 0062102A */ slt $v0, $v1, $v0 +/* A01564 80240F64 504000F1 */ beql $v0, $zero, .L8024132C +/* A01568 80240F68 AE000020 */ sw $zero, 0x20($s0) +/* A0156C 80240F6C C60C0000 */ lwc1 $f12, ($s0) +/* A01570 80240F70 46806320 */ cvt.s.w $f12, $f12 +/* A01574 80240F74 8E060024 */ lw $a2, 0x24($s0) +/* A01578 80240F78 8E070028 */ lw $a3, 0x28($s0) +/* A0157C 80240F7C C60E0008 */ lwc1 $f14, 8($s0) +/* A01580 80240F80 0C00A720 */ jal atan2 +/* A01584 80240F84 468073A0 */ cvt.s.w $f14, $f14 +/* A01588 80240F88 4600010D */ trunc.w.s $f4, $f0 +/* A0158C 80240F8C 44112000 */ mfc1 $s1, $f4 +/* A01590 80240F90 C60C0000 */ lwc1 $f12, ($s0) +/* A01594 80240F94 46806320 */ cvt.s.w $f12, $f12 +/* A01598 80240F98 8E660028 */ lw $a2, 0x28($s3) +/* A0159C 80240F9C 8E670030 */ lw $a3, 0x30($s3) +/* A015A0 80240FA0 C60E0008 */ lwc1 $f14, 8($s0) +/* A015A4 80240FA4 0C00A720 */ jal atan2 +/* A015A8 80240FA8 468073A0 */ cvt.s.w $f14, $f14 +/* A015AC 80240FAC 4600010D */ trunc.w.s $f4, $f0 +/* A015B0 80240FB0 44022000 */ mfc1 $v0, $f4 +/* A015B4 80240FB4 44916000 */ mtc1 $s1, $f12 +/* A015B8 80240FB8 00000000 */ nop +/* A015BC 80240FBC 46806320 */ cvt.s.w $f12, $f12 +/* A015C0 80240FC0 44827000 */ mtc1 $v0, $f14 +/* A015C4 80240FC4 00000000 */ nop +/* A015C8 80240FC8 0C00A70A */ jal get_clamped_angle_diff +/* A015CC 80240FCC 468073A0 */ cvt.s.w $f14, $f14 +/* A015D0 80240FD0 4600010D */ trunc.w.s $f4, $f0 +/* A015D4 80240FD4 44022000 */ mfc1 $v0, $f4 +/* A015D8 80240FD8 00000000 */ nop +/* A015DC 80240FDC 44826000 */ mtc1 $v0, $f12 +/* A015E0 80240FE0 00000000 */ nop +/* A015E4 80240FE4 0C00A69F */ jal signF +/* A015E8 80240FE8 46806320 */ cvt.s.w $f12, $f12 +/* A015EC 80240FEC 8E020020 */ lw $v0, 0x20($s0) +/* A015F0 80240FF0 080904C4 */ j .L80241310 +/* A015F4 80240FF4 E6000034 */ swc1 $f0, 0x34($s0) +/* A015F8 80240FF8 C60C0000 */ lwc1 $f12, ($s0) +/* A015FC 80240FFC 46806320 */ cvt.s.w $f12, $f12 +/* A01600 80241000 C60E0008 */ lwc1 $f14, 8($s0) +/* A01604 80241004 0C038022 */ jal func_800E0088 +/* A01608 80241008 468073A0 */ cvt.s.w $f14, $f14 +/* A0160C 8024100C 8E02000C */ lw $v0, 0xc($s0) +/* A01610 80241010 4600010D */ trunc.w.s $f4, $f0 +/* A01614 80241014 44032000 */ mfc1 $v1, $f4 +/* A01618 80241018 00000000 */ nop +/* A0161C 8024101C 0062102A */ slt $v0, $v1, $v0 +/* A01620 80241020 504000C2 */ beql $v0, $zero, .L8024132C +/* A01624 80241024 AE000020 */ sw $zero, 0x20($s0) +/* A01628 80241028 C60C0000 */ lwc1 $f12, ($s0) +/* A0162C 8024102C 46806320 */ cvt.s.w $f12, $f12 +/* A01630 80241030 8E06002C */ lw $a2, 0x2c($s0) +/* A01634 80241034 8E070030 */ lw $a3, 0x30($s0) +/* A01638 80241038 C60E0008 */ lwc1 $f14, 8($s0) +/* A0163C 8024103C 0C00A720 */ jal atan2 +/* A01640 80241040 468073A0 */ cvt.s.w $f14, $f14 +/* A01644 80241044 4600010D */ trunc.w.s $f4, $f0 +/* A01648 80241048 44112000 */ mfc1 $s1, $f4 +/* A0164C 8024104C C60C0000 */ lwc1 $f12, ($s0) +/* A01650 80241050 46806320 */ cvt.s.w $f12, $f12 +/* A01654 80241054 8E660028 */ lw $a2, 0x28($s3) +/* A01658 80241058 8E670030 */ lw $a3, 0x30($s3) +/* A0165C 8024105C C60E0008 */ lwc1 $f14, 8($s0) +/* A01660 80241060 0C00A720 */ jal atan2 +/* A01664 80241064 468073A0 */ cvt.s.w $f14, $f14 +/* A01668 80241068 4600010D */ trunc.w.s $f4, $f0 +/* A0166C 8024106C 44022000 */ mfc1 $v0, $f4 +/* A01670 80241070 44916000 */ mtc1 $s1, $f12 +/* A01674 80241074 00000000 */ nop +/* A01678 80241078 46806320 */ cvt.s.w $f12, $f12 +/* A0167C 8024107C 44827000 */ mtc1 $v0, $f14 +/* A01680 80241080 00000000 */ nop +/* A01684 80241084 0C00A70A */ jal get_clamped_angle_diff +/* A01688 80241088 468073A0 */ cvt.s.w $f14, $f14 +/* A0168C 8024108C 4600010D */ trunc.w.s $f4, $f0 +/* A01690 80241090 44022000 */ mfc1 $v0, $f4 +/* A01694 80241094 00000000 */ nop +/* A01698 80241098 44826000 */ mtc1 $v0, $f12 +/* A0169C 8024109C 00000000 */ nop +/* A016A0 802410A0 0C00A69F */ jal signF +/* A016A4 802410A4 46806320 */ cvt.s.w $f12, $f12 +/* A016A8 802410A8 C6020034 */ lwc1 $f2, 0x34($s0) +/* A016AC 802410AC 46001032 */ c.eq.s $f2, $f0 +/* A016B0 802410B0 00000000 */ nop +/* A016B4 802410B4 4502009D */ bc1fl .L8024132C +/* A016B8 802410B8 AE000020 */ sw $zero, 0x20($s0) +/* A016BC 802410BC C60C0000 */ lwc1 $f12, ($s0) +/* A016C0 802410C0 46806320 */ cvt.s.w $f12, $f12 +/* A016C4 802410C4 8E060024 */ lw $a2, 0x24($s0) +/* A016C8 802410C8 8E070028 */ lw $a3, 0x28($s0) +/* A016CC 802410CC C60E0008 */ lwc1 $f14, 8($s0) +/* A016D0 802410D0 0C00A720 */ jal atan2 +/* A016D4 802410D4 468073A0 */ cvt.s.w $f14, $f14 +/* A016D8 802410D8 4600010D */ trunc.w.s $f4, $f0 +/* A016DC 802410DC 44112000 */ mfc1 $s1, $f4 +/* A016E0 802410E0 C60C0000 */ lwc1 $f12, ($s0) +/* A016E4 802410E4 46806320 */ cvt.s.w $f12, $f12 +/* A016E8 802410E8 8E660028 */ lw $a2, 0x28($s3) +/* A016EC 802410EC 8E670030 */ lw $a3, 0x30($s3) +/* A016F0 802410F0 C60E0008 */ lwc1 $f14, 8($s0) +/* A016F4 802410F4 0C00A720 */ jal atan2 +/* A016F8 802410F8 468073A0 */ cvt.s.w $f14, $f14 +/* A016FC 802410FC 4600010D */ trunc.w.s $f4, $f0 +/* A01700 80241100 44022000 */ mfc1 $v0, $f4 +/* A01704 80241104 44916000 */ mtc1 $s1, $f12 +/* A01708 80241108 00000000 */ nop +/* A0170C 8024110C 46806320 */ cvt.s.w $f12, $f12 +/* A01710 80241110 44827000 */ mtc1 $v0, $f14 +/* A01714 80241114 00000000 */ nop +/* A01718 80241118 0C00A70A */ jal get_clamped_angle_diff +/* A0171C 8024111C 468073A0 */ cvt.s.w $f14, $f14 +/* A01720 80241120 4600010D */ trunc.w.s $f4, $f0 +/* A01724 80241124 44022000 */ mfc1 $v0, $f4 +/* A01728 80241128 00000000 */ nop +/* A0172C 8024112C 44820000 */ mtc1 $v0, $f0 +/* A01730 80241130 00000000 */ nop +/* A01734 80241134 46800020 */ cvt.s.w $f0, $f0 +/* A01738 80241138 3C0142B4 */ lui $at, 0x42b4 +/* A0173C 8024113C 44811000 */ mtc1 $at, $f2 +/* A01740 80241140 46000505 */ abs.s $f20, $f0 +/* A01744 80241144 4614103C */ c.lt.s $f2, $f20 +/* A01748 80241148 00000000 */ nop +/* A0174C 8024114C 45000077 */ bc1f .L8024132C +/* A01750 80241150 00000000 */ nop +/* A01754 80241154 8E020014 */ lw $v0, 0x14($s0) +/* A01758 80241158 10400003 */ beqz $v0, .L80241168 +/* A0175C 8024115C 0200202D */ daddu $a0, $s0, $zero +/* A01760 80241160 0040F809 */ jalr $v0 +/* A01764 80241164 0000282D */ daddu $a1, $zero, $zero +.L80241168: +/* A01768 80241168 C6000018 */ lwc1 $f0, 0x18($s0) +/* A0176C 8024116C 46800020 */ cvt.s.w $f0, $f0 +/* A01770 80241170 8E020020 */ lw $v0, 0x20($s0) +/* A01774 80241174 46140000 */ add.s $f0, $f0, $f20 +/* A01778 80241178 24420001 */ addiu $v0, $v0, 1 +/* A0177C 8024117C AE020020 */ sw $v0, 0x20($s0) +/* A01780 80241180 4600010D */ trunc.w.s $f4, $f0 +/* A01784 80241184 080904CB */ j .L8024132C +/* A01788 80241188 E6040018 */ swc1 $f4, 0x18($s0) +/* A0178C 8024118C C60C0000 */ lwc1 $f12, ($s0) +/* A01790 80241190 46806320 */ cvt.s.w $f12, $f12 +/* A01794 80241194 C60E0008 */ lwc1 $f14, 8($s0) +/* A01798 80241198 0C038022 */ jal func_800E0088 +/* A0179C 8024119C 468073A0 */ cvt.s.w $f14, $f14 +/* A017A0 802411A0 8E020010 */ lw $v0, 0x10($s0) +/* A017A4 802411A4 4600010D */ trunc.w.s $f4, $f0 +/* A017A8 802411A8 44032000 */ mfc1 $v1, $f4 +/* A017AC 802411AC 00000000 */ nop +/* A017B0 802411B0 0062102A */ slt $v0, $v1, $v0 +/* A017B4 802411B4 10400050 */ beqz $v0, .L802412F8 +/* A017B8 802411B8 00000000 */ nop +/* A017BC 802411BC C60C0000 */ lwc1 $f12, ($s0) +/* A017C0 802411C0 46806320 */ cvt.s.w $f12, $f12 +/* A017C4 802411C4 8E06002C */ lw $a2, 0x2c($s0) +/* A017C8 802411C8 8E070030 */ lw $a3, 0x30($s0) +/* A017CC 802411CC C60E0008 */ lwc1 $f14, 8($s0) +/* A017D0 802411D0 0C00A720 */ jal atan2 +/* A017D4 802411D4 468073A0 */ cvt.s.w $f14, $f14 +/* A017D8 802411D8 4600010D */ trunc.w.s $f4, $f0 +/* A017DC 802411DC 44112000 */ mfc1 $s1, $f4 +/* A017E0 802411E0 C60C0000 */ lwc1 $f12, ($s0) +/* A017E4 802411E4 46806320 */ cvt.s.w $f12, $f12 +/* A017E8 802411E8 8E660028 */ lw $a2, 0x28($s3) +/* A017EC 802411EC 8E670030 */ lw $a3, 0x30($s3) +/* A017F0 802411F0 C60E0008 */ lwc1 $f14, 8($s0) +/* A017F4 802411F4 0C00A720 */ jal atan2 +/* A017F8 802411F8 468073A0 */ cvt.s.w $f14, $f14 +/* A017FC 802411FC 4600010D */ trunc.w.s $f4, $f0 +/* A01800 80241200 44022000 */ mfc1 $v0, $f4 +/* A01804 80241204 44916000 */ mtc1 $s1, $f12 +/* A01808 80241208 00000000 */ nop +/* A0180C 8024120C 46806320 */ cvt.s.w $f12, $f12 +/* A01810 80241210 44827000 */ mtc1 $v0, $f14 +/* A01814 80241214 00000000 */ nop +/* A01818 80241218 0C00A70A */ jal get_clamped_angle_diff +/* A0181C 8024121C 468073A0 */ cvt.s.w $f14, $f14 +/* A01820 80241220 4600010D */ trunc.w.s $f4, $f0 +/* A01824 80241224 44022000 */ mfc1 $v0, $f4 +/* A01828 80241228 00000000 */ nop +/* A0182C 8024122C 4482A000 */ mtc1 $v0, $f20 +/* A01830 80241230 00000000 */ nop +/* A01834 80241234 4680A520 */ cvt.s.w $f20, $f20 +/* A01838 80241238 0C00A69F */ jal signF +/* A0183C 8024123C 4600A306 */ mov.s $f12, $f20 +/* A01840 80241240 C6020034 */ lwc1 $f2, 0x34($s0) +/* A01844 80241244 46001032 */ c.eq.s $f2, $f0 +/* A01848 80241248 00000000 */ nop +/* A0184C 8024124C 4503000A */ bc1tl .L80241278 +/* A01850 80241250 4600A005 */ abs.s $f0, $f20 +/* A01854 80241254 8E020014 */ lw $v0, 0x14($s0) +/* A01858 80241258 10400003 */ beqz $v0, .L80241268 +/* A0185C 8024125C 0200202D */ daddu $a0, $s0, $zero +/* A01860 80241260 0040F809 */ jalr $v0 +/* A01864 80241264 24050003 */ addiu $a1, $zero, 3 +.L80241268: +/* A01868 80241268 8E020020 */ lw $v0, 0x20($s0) +/* A0186C 8024126C 24420001 */ addiu $v0, $v0, 1 +/* A01870 80241270 080904B7 */ j .L802412DC +/* A01874 80241274 AE020020 */ sw $v0, 0x20($s0) +.L80241278: +/* A01878 80241278 C6020018 */ lwc1 $f2, 0x18($s0) +/* A0187C 8024127C 468010A0 */ cvt.s.w $f2, $f2 +/* A01880 80241280 46001080 */ add.s $f2, $f2, $f0 +/* A01884 80241284 3C02B60B */ lui $v0, 0xb60b +/* A01888 80241288 344260B7 */ ori $v0, $v0, 0x60b7 +/* A0188C 8024128C 4600110D */ trunc.w.s $f4, $f2 +/* A01890 80241290 44032000 */ mfc1 $v1, $f4 +/* A01894 80241294 00000000 */ nop +/* A01898 80241298 00620018 */ mult $v1, $v0 +/* A0189C 8024129C 8E040038 */ lw $a0, 0x38($s0) +/* A018A0 802412A0 AE030018 */ sw $v1, 0x18($s0) +/* A018A4 802412A4 00004010 */ mfhi $t0 +/* A018A8 802412A8 01031021 */ addu $v0, $t0, $v1 +/* A018AC 802412AC 00021203 */ sra $v0, $v0, 8 +/* A018B0 802412B0 00031FC3 */ sra $v1, $v1, 0x1f +/* A018B4 802412B4 00431023 */ subu $v0, $v0, $v1 +/* A018B8 802412B8 10440008 */ beq $v0, $a0, .L802412DC +/* A018BC 802412BC AE02001C */ sw $v0, 0x1c($s0) +/* A018C0 802412C0 8E020014 */ lw $v0, 0x14($s0) +/* A018C4 802412C4 10400003 */ beqz $v0, .L802412D4 +/* A018C8 802412C8 0200202D */ daddu $a0, $s0, $zero +/* A018CC 802412CC 0040F809 */ jalr $v0 +/* A018D0 802412D0 24050001 */ addiu $a1, $zero, 1 +.L802412D4: +/* A018D4 802412D4 8E02001C */ lw $v0, 0x1c($s0) +/* A018D8 802412D8 AE020038 */ sw $v0, 0x38($s0) +.L802412DC: +/* A018DC 802412DC 8E020014 */ lw $v0, 0x14($s0) +/* A018E0 802412E0 10400012 */ beqz $v0, .L8024132C +/* A018E4 802412E4 0200202D */ daddu $a0, $s0, $zero +/* A018E8 802412E8 0040F809 */ jalr $v0 +/* A018EC 802412EC 24050002 */ addiu $a1, $zero, 2 +/* A018F0 802412F0 080904CB */ j .L8024132C +/* A018F4 802412F4 00000000 */ nop +.L802412F8: +/* A018F8 802412F8 8E020014 */ lw $v0, 0x14($s0) +/* A018FC 802412FC 10400003 */ beqz $v0, .L8024130C +/* A01900 80241300 0200202D */ daddu $a0, $s0, $zero +/* A01904 80241304 0040F809 */ jalr $v0 +/* A01908 80241308 24050004 */ addiu $a1, $zero, 4 +.L8024130C: +/* A0190C 8024130C 8E020020 */ lw $v0, 0x20($s0) +.L80241310: +/* A01910 80241310 24420001 */ addiu $v0, $v0, 1 +/* A01914 80241314 080904CB */ j .L8024132C +/* A01918 80241318 AE020020 */ sw $v0, 0x20($s0) +/* A0191C 8024131C AE000018 */ sw $zero, 0x18($s0) +/* A01920 80241320 AE00001C */ sw $zero, 0x1c($s0) +/* A01924 80241324 AE000038 */ sw $zero, 0x38($s0) +/* A01928 80241328 AE000020 */ sw $zero, 0x20($s0) +.L8024132C: +/* A0192C 8024132C C6600028 */ lwc1 $f0, 0x28($s3) +/* A01930 80241330 E600002C */ swc1 $f0, 0x2c($s0) +/* A01934 80241334 C6600030 */ lwc1 $f0, 0x30($s3) +/* A01938 80241338 E6000030 */ swc1 $f0, 0x30($s0) +/* A0193C 8024133C 8FBF0020 */ lw $ra, 0x20($sp) +/* A01940 80241340 8FB3001C */ lw $s3, 0x1c($sp) +/* A01944 80241344 8FB20018 */ lw $s2, 0x18($sp) +/* A01948 80241348 8FB10014 */ lw $s1, 0x14($sp) +/* A0194C 8024134C 8FB00010 */ lw $s0, 0x10($sp) +/* A01950 80241350 D7B40028 */ ldc1 $f20, 0x28($sp) +/* A01954 80241354 0000102D */ daddu $v0, $zero, $zero +/* A01958 80241358 03E00008 */ jr $ra +/* A0195C 8024135C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_80241360.s b/asm/nonmatchings/world/area_nok/nok_13/func_80241360.s new file mode 100644 index 0000000000..b66a56d899 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_80241360.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241360 +/* A01960 80241360 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A01964 80241364 AFB10014 */ sw $s1, 0x14($sp) +/* A01968 80241368 0080882D */ daddu $s1, $a0, $zero +/* A0196C 8024136C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A01970 80241370 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A01974 80241374 AFBF0018 */ sw $ra, 0x18($sp) +/* A01978 80241378 AFB00010 */ sw $s0, 0x10($sp) +/* A0197C 8024137C 8C460028 */ lw $a2, 0x28($v0) +/* A01980 80241380 8E23000C */ lw $v1, 0xc($s1) +/* A01984 80241384 3C01C3B6 */ lui $at, 0xc3b6 +/* A01988 80241388 44816000 */ mtc1 $at, $f12 +/* A0198C 8024138C 3C01C307 */ lui $at, 0xc307 +/* A01990 80241390 44817000 */ mtc1 $at, $f14 +/* A01994 80241394 8C470030 */ lw $a3, 0x30($v0) +/* A01998 80241398 0C00A720 */ jal atan2 +/* A0199C 8024139C 8C700000 */ lw $s0, ($v1) +/* A019A0 802413A0 4600008D */ trunc.w.s $f2, $f0 +/* A019A4 802413A4 44061000 */ mfc1 $a2, $f2 +/* A019A8 802413A8 0220202D */ daddu $a0, $s1, $zero +/* A019AC 802413AC 0C0B2026 */ jal set_variable +/* A019B0 802413B0 0200282D */ daddu $a1, $s0, $zero +/* A019B4 802413B4 8FBF0018 */ lw $ra, 0x18($sp) +/* A019B8 802413B8 8FB10014 */ lw $s1, 0x14($sp) +/* A019BC 802413BC 8FB00010 */ lw $s0, 0x10($sp) +/* A019C0 802413C0 24020002 */ addiu $v0, $zero, 2 +/* A019C4 802413C4 03E00008 */ jr $ra +/* A019C8 802413C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_13/func_802413CC_A00600.s b/asm/nonmatchings/world/area_nok/nok_13/func_802413CC_A00600.s new file mode 100644 index 0000000000..82499b87b5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_13/func_802413CC_A00600.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413CC_A019CC +/* A019CC 802413CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A019D0 802413D0 AFBF0018 */ sw $ra, 0x18($sp) +/* A019D4 802413D4 24020001 */ addiu $v0, $zero, 1 +/* A019D8 802413D8 10A20014 */ beq $a1, $v0, .L8024142C +/* A019DC 802413DC 0080182D */ daddu $v1, $a0, $zero +/* A019E0 802413E0 28A20002 */ slti $v0, $a1, 2 +/* A019E4 802413E4 50400005 */ beql $v0, $zero, .L802413FC +/* A019E8 802413E8 28A20005 */ slti $v0, $a1, 5 +/* A019EC 802413EC 10A00009 */ beqz $a1, .L80241414 +/* A019F0 802413F0 24050001 */ addiu $a1, $zero, 1 +/* A019F4 802413F4 08090521 */ j .L80241484 +/* A019F8 802413F8 00000000 */ nop +.L802413FC: +/* A019FC 802413FC 10400021 */ beqz $v0, .L80241484 +/* A01A00 80241400 28A20003 */ slti $v0, $a1, 3 +/* A01A04 80241404 1440001F */ bnez $v0, .L80241484 +/* A01A08 80241408 24050001 */ addiu $a1, $zero, 1 +/* A01A0C 8024140C 0809051B */ j .L8024146C +/* A01A10 80241410 00000000 */ nop +.L80241414: +/* A01A14 80241414 3C048024 */ lui $a0, 0x8024 +/* A01A18 80241418 24842134 */ addiu $a0, $a0, 0x2134 +/* A01A1C 8024141C 0C0B0CF8 */ jal start_script +/* A01A20 80241420 0000302D */ daddu $a2, $zero, $zero +/* A01A24 80241424 08090520 */ j .L80241480 +/* A01A28 80241428 24030084 */ addiu $v1, $zero, 0x84 +.L8024142C: +/* A01A2C 8024142C 24040156 */ addiu $a0, $zero, 0x156 +/* A01A30 80241430 C4600000 */ lwc1 $f0, ($v1) +/* A01A34 80241434 46800020 */ cvt.s.w $f0, $f0 +/* A01A38 80241438 44050000 */ mfc1 $a1, $f0 +/* A01A3C 8024143C C4600004 */ lwc1 $f0, 4($v1) +/* A01A40 80241440 46800020 */ cvt.s.w $f0, $f0 +/* A01A44 80241444 44060000 */ mfc1 $a2, $f0 +/* A01A48 80241448 C4600008 */ lwc1 $f0, 8($v1) +/* A01A4C 8024144C 46800020 */ cvt.s.w $f0, $f0 +/* A01A50 80241450 44070000 */ mfc1 $a3, $f0 +/* A01A54 80241454 24020003 */ addiu $v0, $zero, 3 +/* A01A58 80241458 AFA20010 */ sw $v0, 0x10($sp) +/* A01A5C 8024145C 0C04C6A5 */ jal make_item_entity_nodelay +/* A01A60 80241460 AFA00014 */ sw $zero, 0x14($sp) +/* A01A64 80241464 08090521 */ j .L80241484 +/* A01A68 80241468 00000000 */ nop +.L8024146C: +/* A01A6C 8024146C 3C048024 */ lui $a0, 0x8024 +/* A01A70 80241470 24842134 */ addiu $a0, $a0, 0x2134 +/* A01A74 80241474 0C0B0CF8 */ jal start_script +/* A01A78 80241478 0000302D */ daddu $a2, $zero, $zero +/* A01A7C 8024147C 24030011 */ addiu $v1, $zero, 0x11 +.L80241480: +/* A01A80 80241480 AC430084 */ sw $v1, 0x84($v0) +.L80241484: +/* A01A84 80241484 8FBF0018 */ lw $ra, 0x18($sp) +/* A01A88 80241488 03E00008 */ jr $ra +/* A01A8C 8024148C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240000_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240000_A02840.s new file mode 100644 index 0000000000..19158349fd --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240000_A02840.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A02840 +/* A02840 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A02844 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* A02848 80240008 0080882D */ daddu $s1, $a0, $zero +/* A0284C 8024000C AFBF002C */ sw $ra, 0x2c($sp) +/* A02850 80240010 AFB60028 */ sw $s6, 0x28($sp) +/* A02854 80240014 AFB50024 */ sw $s5, 0x24($sp) +/* A02858 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* A0285C 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* A02860 80240020 AFB20018 */ sw $s2, 0x18($sp) +/* A02864 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* A02868 80240028 8E30000C */ lw $s0, 0xc($s1) +/* A0286C 8024002C 8E050000 */ lw $a1, ($s0) +/* A02870 80240030 0C0B1EAF */ jal get_variable +/* A02874 80240034 26100004 */ addiu $s0, $s0, 4 +/* A02878 80240038 8E050000 */ lw $a1, ($s0) +/* A0287C 8024003C 26100004 */ addiu $s0, $s0, 4 +/* A02880 80240040 0220202D */ daddu $a0, $s1, $zero +/* A02884 80240044 0C0B1EAF */ jal get_variable +/* A02888 80240048 0040902D */ daddu $s2, $v0, $zero +/* A0288C 8024004C 8E050000 */ lw $a1, ($s0) +/* A02890 80240050 26100004 */ addiu $s0, $s0, 4 +/* A02894 80240054 0220202D */ daddu $a0, $s1, $zero +/* A02898 80240058 0C0B1EAF */ jal get_variable +/* A0289C 8024005C 0040B02D */ daddu $s6, $v0, $zero +/* A028A0 80240060 8E050000 */ lw $a1, ($s0) +/* A028A4 80240064 26100004 */ addiu $s0, $s0, 4 +/* A028A8 80240068 0220202D */ daddu $a0, $s1, $zero +/* A028AC 8024006C 0C0B1EAF */ jal get_variable +/* A028B0 80240070 0040A82D */ daddu $s5, $v0, $zero +/* A028B4 80240074 8E050000 */ lw $a1, ($s0) +/* A028B8 80240078 26100004 */ addiu $s0, $s0, 4 +/* A028BC 8024007C 0220202D */ daddu $a0, $s1, $zero +/* A028C0 80240080 0C0B1EAF */ jal get_variable +/* A028C4 80240084 0040A02D */ daddu $s4, $v0, $zero +/* A028C8 80240088 0220202D */ daddu $a0, $s1, $zero +/* A028CC 8024008C 8E050000 */ lw $a1, ($s0) +/* A028D0 80240090 0C0B1EAF */ jal get_variable +/* A028D4 80240094 0040802D */ daddu $s0, $v0, $zero +/* A028D8 80240098 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* A028DC 8024009C 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* A028E0 802400A0 44920000 */ mtc1 $s2, $f0 +/* A028E4 802400A4 00000000 */ nop +/* A028E8 802400A8 46800020 */ cvt.s.w $f0, $f0 +/* A028EC 802400AC C6620028 */ lwc1 $f2, 0x28($s3) +/* A028F0 802400B0 3C11800B */ lui $s1, %hi(gCurrentEncounter) +/* A028F4 802400B4 26310F10 */ addiu $s1, $s1, %lo(gCurrentEncounter) +/* A028F8 802400B8 4602003E */ c.le.s $f0, $f2 +/* A028FC 802400BC 00000000 */ nop +/* A02900 802400C0 45000017 */ bc1f .L80240120 +/* A02904 802400C4 00000000 */ nop +/* A02908 802400C8 44960000 */ mtc1 $s6, $f0 +/* A0290C 802400CC 00000000 */ nop +/* A02910 802400D0 46800020 */ cvt.s.w $f0, $f0 +/* A02914 802400D4 4600103E */ c.le.s $f2, $f0 +/* A02918 802400D8 00000000 */ nop +/* A0291C 802400DC 45000010 */ bc1f .L80240120 +/* A02920 802400E0 00000000 */ nop +/* A02924 802400E4 C6620030 */ lwc1 $f2, 0x30($s3) +/* A02928 802400E8 44950000 */ mtc1 $s5, $f0 +/* A0292C 802400EC 00000000 */ nop +/* A02930 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* A02934 802400F4 4602003E */ c.le.s $f0, $f2 +/* A02938 802400F8 00000000 */ nop +/* A0293C 802400FC 45000008 */ bc1f .L80240120 +/* A02940 80240100 00000000 */ nop +/* A02944 80240104 44940000 */ mtc1 $s4, $f0 +/* A02948 80240108 00000000 */ nop +/* A0294C 8024010C 46800020 */ cvt.s.w $f0, $f0 +/* A02950 80240110 4600103E */ c.le.s $f2, $f0 +/* A02954 80240114 00000000 */ nop +/* A02958 80240118 45030001 */ bc1tl .L80240120 +/* A0295C 8024011C 0040802D */ daddu $s0, $v0, $zero +.L80240120: +/* A02960 80240120 8222001C */ lb $v0, 0x1c($s1) +/* A02964 80240124 18400009 */ blez $v0, .L8024014C +/* A02968 80240128 0000182D */ daddu $v1, $zero, $zero +/* A0296C 8024012C 0220202D */ daddu $a0, $s1, $zero +.L80240130: +/* A02970 80240130 8C820028 */ lw $v0, 0x28($a0) +/* A02974 80240134 A4500046 */ sh $s0, 0x46($v0) +/* A02978 80240138 8222001C */ lb $v0, 0x1c($s1) +/* A0297C 8024013C 24630001 */ addiu $v1, $v1, 1 +/* A02980 80240140 0062102A */ slt $v0, $v1, $v0 +/* A02984 80240144 1440FFFA */ bnez $v0, .L80240130 +/* A02988 80240148 24840004 */ addiu $a0, $a0, 4 +.L8024014C: +/* A0298C 8024014C 8FBF002C */ lw $ra, 0x2c($sp) +/* A02990 80240150 8FB60028 */ lw $s6, 0x28($sp) +/* A02994 80240154 8FB50024 */ lw $s5, 0x24($sp) +/* A02998 80240158 8FB40020 */ lw $s4, 0x20($sp) +/* A0299C 8024015C 8FB3001C */ lw $s3, 0x1c($sp) +/* A029A0 80240160 8FB20018 */ lw $s2, 0x18($sp) +/* A029A4 80240164 8FB10014 */ lw $s1, 0x14($sp) +/* A029A8 80240168 8FB00010 */ lw $s0, 0x10($sp) +/* A029AC 8024016C 24020002 */ addiu $v0, $zero, 2 +/* A029B0 80240170 03E00008 */ jr $ra +/* A029B4 80240174 27BD0030 */ addiu $sp, $sp, 0x30 +/* A029B8 80240178 00000000 */ nop +/* A029BC 8024017C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240180_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240180_A02840.s new file mode 100644 index 0000000000..89a413ad6e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240180_A02840.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240180_A029C0 +/* A029C0 80240180 3C03800B */ lui $v1, %hi(gCameras) +/* A029C4 80240184 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A029C8 80240188 94620000 */ lhu $v0, ($v1) +/* A029CC 8024018C 34421000 */ ori $v0, $v0, 0x1000 +/* A029D0 80240190 A4620000 */ sh $v0, ($v1) +/* A029D4 80240194 03E00008 */ jr $ra +/* A029D8 80240198 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_8024019C.s b/asm/nonmatchings/world/area_nok/nok_14/func_8024019C.s new file mode 100644 index 0000000000..ec099a3f06 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_8024019C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024019C +/* A029DC 8024019C 3C03800B */ lui $v1, %hi(gCameras) +/* A029E0 802401A0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* A029E4 802401A4 94620000 */ lhu $v0, ($v1) +/* A029E8 802401A8 3042EFFF */ andi $v0, $v0, 0xefff +/* A029EC 802401AC A4620000 */ sh $v0, ($v1) +/* A029F0 802401B0 03E00008 */ jr $ra +/* A029F4 802401B4 24020002 */ addiu $v0, $zero, 2 +/* A029F8 802401B8 00000000 */ nop +/* A029FC 802401BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_802401C0_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_802401C0_A02840.s new file mode 100644 index 0000000000..e9b710c4e3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_802401C0_A02840.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401C0_A02A00 +/* A02A00 802401C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A02A04 802401C4 AFB20018 */ sw $s2, 0x18($sp) +/* A02A08 802401C8 0080902D */ daddu $s2, $a0, $zero +/* A02A0C 802401CC AFBF001C */ sw $ra, 0x1c($sp) +/* A02A10 802401D0 AFB10014 */ sw $s1, 0x14($sp) +/* A02A14 802401D4 AFB00010 */ sw $s0, 0x10($sp) +/* A02A18 802401D8 8E510148 */ lw $s1, 0x148($s2) +/* A02A1C 802401DC 0C00EABB */ jal get_npc_unsafe +/* A02A20 802401E0 86240008 */ lh $a0, 8($s1) +/* A02A24 802401E4 0040802D */ daddu $s0, $v0, $zero +/* A02A28 802401E8 8E2300CC */ lw $v1, 0xcc($s1) +/* A02A2C 802401EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* A02A30 802401F0 8C630020 */ lw $v1, 0x20($v1) +/* A02A34 802401F4 AE030028 */ sw $v1, 0x28($s0) +/* A02A38 802401F8 96220076 */ lhu $v0, 0x76($s1) +/* A02A3C 802401FC A602008E */ sh $v0, 0x8e($s0) +/* A02A40 80240200 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A02A44 80240204 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A02A48 80240208 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A02A4C 8024020C 8C460028 */ lw $a2, 0x28($v0) +/* A02A50 80240210 0C00A720 */ jal atan2 +/* A02A54 80240214 8C470030 */ lw $a3, 0x30($v0) +/* A02A58 80240218 2402000D */ addiu $v0, $zero, 0xd +/* A02A5C 8024021C E600000C */ swc1 $f0, 0xc($s0) +/* A02A60 80240220 AE420070 */ sw $v0, 0x70($s2) +/* A02A64 80240224 8FBF001C */ lw $ra, 0x1c($sp) +/* A02A68 80240228 8FB20018 */ lw $s2, 0x18($sp) +/* A02A6C 8024022C 8FB10014 */ lw $s1, 0x14($sp) +/* A02A70 80240230 8FB00010 */ lw $s0, 0x10($sp) +/* A02A74 80240234 03E00008 */ jr $ra +/* A02A78 80240238 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_8024023C_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_8024023C_A02840.s new file mode 100644 index 0000000000..a7f2217718 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_8024023C_A02840.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_A02A7C +/* A02A7C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A02A80 80240240 AFB3001C */ sw $s3, 0x1c($sp) +/* A02A84 80240244 0080982D */ daddu $s3, $a0, $zero +/* A02A88 80240248 AFBF0020 */ sw $ra, 0x20($sp) +/* A02A8C 8024024C AFB20018 */ sw $s2, 0x18($sp) +/* A02A90 80240250 AFB10014 */ sw $s1, 0x14($sp) +/* A02A94 80240254 AFB00010 */ sw $s0, 0x10($sp) +/* A02A98 80240258 8E710148 */ lw $s1, 0x148($s3) +/* A02A9C 8024025C 86240008 */ lh $a0, 8($s1) +/* A02AA0 80240260 0C00EABB */ jal get_npc_unsafe +/* A02AA4 80240264 00A0902D */ daddu $s2, $a1, $zero +/* A02AA8 80240268 0040802D */ daddu $s0, $v0, $zero +/* A02AAC 8024026C 8602008E */ lh $v0, 0x8e($s0) +/* A02AB0 80240270 9603008E */ lhu $v1, 0x8e($s0) +/* A02AB4 80240274 18400005 */ blez $v0, .L8024028C +/* A02AB8 80240278 2462FFFF */ addiu $v0, $v1, -1 +/* A02ABC 8024027C A602008E */ sh $v0, 0x8e($s0) +/* A02AC0 80240280 00021400 */ sll $v0, $v0, 0x10 +/* A02AC4 80240284 1C400033 */ bgtz $v0, .L80240354 +/* A02AC8 80240288 00000000 */ nop +.L8024028C: +/* A02ACC 8024028C 8602008C */ lh $v0, 0x8c($s0) +/* A02AD0 80240290 14400030 */ bnez $v0, .L80240354 +/* A02AD4 80240294 00000000 */ nop +/* A02AD8 80240298 8E2200CC */ lw $v0, 0xcc($s1) +/* A02ADC 8024029C 8C420024 */ lw $v0, 0x24($v0) +/* A02AE0 802402A0 AE020028 */ sw $v0, 0x28($s0) +/* A02AE4 802402A4 C6400018 */ lwc1 $f0, 0x18($s2) +/* A02AE8 802402A8 E6000018 */ swc1 $f0, 0x18($s0) +/* A02AEC 802402AC 8E230088 */ lw $v1, 0x88($s1) +/* A02AF0 802402B0 24020005 */ addiu $v0, $zero, 5 +/* A02AF4 802402B4 10620005 */ beq $v1, $v0, .L802402CC +/* A02AF8 802402B8 00000000 */ nop +/* A02AFC 802402BC 10600003 */ beqz $v1, .L802402CC +/* A02B00 802402C0 24020001 */ addiu $v0, $zero, 1 +/* A02B04 802402C4 14620006 */ bne $v1, $v0, .L802402E0 +/* A02B08 802402C8 00000000 */ nop +.L802402CC: +/* A02B0C 802402CC 8E220084 */ lw $v0, 0x84($s1) +/* A02B10 802402D0 00021FC2 */ srl $v1, $v0, 0x1f +/* A02B14 802402D4 00431021 */ addu $v0, $v0, $v1 +/* A02B18 802402D8 00021043 */ sra $v0, $v0, 1 +/* A02B1C 802402DC A60200A8 */ sh $v0, 0xa8($s0) +.L802402E0: +/* A02B20 802402E0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A02B24 802402E4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A02B28 802402E8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A02B2C 802402EC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A02B30 802402F0 8C460028 */ lw $a2, 0x28($v0) +/* A02B34 802402F4 0C00A7B5 */ jal dist2D +/* A02B38 802402F8 8C470030 */ lw $a3, 0x30($v0) +/* A02B3C 802402FC C6020018 */ lwc1 $f2, 0x18($s0) +/* A02B40 80240300 46020003 */ div.s $f0, $f0, $f2 +/* A02B44 80240304 3C018024 */ lui $at, 0x8024 +/* A02B48 80240308 D42245C0 */ ldc1 $f2, 0x45c0($at) +/* A02B4C 8024030C 46000021 */ cvt.d.s $f0, $f0 +/* A02B50 80240310 46220000 */ add.d $f0, $f0, $f2 +/* A02B54 80240314 4620010D */ trunc.w.d $f4, $f0 +/* A02B58 80240318 44022000 */ mfc1 $v0, $f4 +/* A02B5C 8024031C 00000000 */ nop +/* A02B60 80240320 A602008E */ sh $v0, 0x8e($s0) +/* A02B64 80240324 00021400 */ sll $v0, $v0, 0x10 +/* A02B68 80240328 8E230078 */ lw $v1, 0x78($s1) +/* A02B6C 8024032C 00021403 */ sra $v0, $v0, 0x10 +/* A02B70 80240330 0043102A */ slt $v0, $v0, $v1 +/* A02B74 80240334 10400003 */ beqz $v0, .L80240344 +/* A02B78 80240338 00000000 */ nop +/* A02B7C 8024033C 9622007A */ lhu $v0, 0x7a($s1) +/* A02B80 80240340 A602008E */ sh $v0, 0x8e($s0) +.L80240344: +/* A02B84 80240344 8602008E */ lh $v0, 0x8e($s0) +/* A02B88 80240348 AE22007C */ sw $v0, 0x7c($s1) +/* A02B8C 8024034C 2402000E */ addiu $v0, $zero, 0xe +/* A02B90 80240350 AE620070 */ sw $v0, 0x70($s3) +.L80240354: +/* A02B94 80240354 8FBF0020 */ lw $ra, 0x20($sp) +/* A02B98 80240358 8FB3001C */ lw $s3, 0x1c($sp) +/* A02B9C 8024035C 8FB20018 */ lw $s2, 0x18($sp) +/* A02BA0 80240360 8FB10014 */ lw $s1, 0x14($sp) +/* A02BA4 80240364 8FB00010 */ lw $s0, 0x10($sp) +/* A02BA8 80240368 03E00008 */ jr $ra +/* A02BAC 8024036C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240370_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240370_A02840.s new file mode 100644 index 0000000000..0579285d14 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240370_A02840.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_A02BB0 +/* A02BB0 80240370 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A02BB4 80240374 AFB3003C */ sw $s3, 0x3c($sp) +/* A02BB8 80240378 0080982D */ daddu $s3, $a0, $zero +/* A02BBC 8024037C AFBF0040 */ sw $ra, 0x40($sp) +/* A02BC0 80240380 AFB20038 */ sw $s2, 0x38($sp) +/* A02BC4 80240384 AFB10034 */ sw $s1, 0x34($sp) +/* A02BC8 80240388 AFB00030 */ sw $s0, 0x30($sp) +/* A02BCC 8024038C 8E710148 */ lw $s1, 0x148($s3) +/* A02BD0 80240390 0C00EABB */ jal get_npc_unsafe +/* A02BD4 80240394 86240008 */ lh $a0, 8($s1) +/* A02BD8 80240398 0040802D */ daddu $s0, $v0, $zero +/* A02BDC 8024039C 8E22007C */ lw $v0, 0x7c($s1) +/* A02BE0 802403A0 8603008E */ lh $v1, 0x8e($s0) +/* A02BE4 802403A4 2442FFFF */ addiu $v0, $v0, -1 +/* A02BE8 802403A8 14620012 */ bne $v1, $v0, .L802403F4 +/* A02BEC 802403AC 00000000 */ nop +/* A02BF0 802403B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A02BF4 802403B4 4600020D */ trunc.w.s $f8, $f0 +/* A02BF8 802403B8 44024000 */ mfc1 $v0, $f8 +/* A02BFC 802403BC 00000000 */ nop +/* A02C00 802403C0 A6220010 */ sh $v0, 0x10($s1) +/* A02C04 802403C4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A02C08 802403C8 4600020D */ trunc.w.s $f8, $f0 +/* A02C0C 802403CC 44024000 */ mfc1 $v0, $f8 +/* A02C10 802403D0 00000000 */ nop +/* A02C14 802403D4 A6220012 */ sh $v0, 0x12($s1) +/* A02C18 802403D8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A02C1C 802403DC 24020001 */ addiu $v0, $zero, 1 +/* A02C20 802403E0 A2220007 */ sb $v0, 7($s1) +/* A02C24 802403E4 4600020D */ trunc.w.s $f8, $f0 +/* A02C28 802403E8 44024000 */ mfc1 $v0, $f8 +/* A02C2C 802403EC 00000000 */ nop +/* A02C30 802403F0 A6220014 */ sh $v0, 0x14($s1) +.L802403F4: +/* A02C34 802403F4 C6000038 */ lwc1 $f0, 0x38($s0) +/* A02C38 802403F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* A02C3C 802403FC C6040040 */ lwc1 $f4, 0x40($s0) +/* A02C40 80240400 C6060018 */ lwc1 $f6, 0x18($s0) +/* A02C44 80240404 E7A00020 */ swc1 $f0, 0x20($sp) +/* A02C48 80240408 E7A20024 */ swc1 $f2, 0x24($sp) +/* A02C4C 8024040C E7A40028 */ swc1 $f4, 0x28($sp) +/* A02C50 80240410 E7A60010 */ swc1 $f6, 0x10($sp) +/* A02C54 80240414 C600000C */ lwc1 $f0, 0xc($s0) +/* A02C58 80240418 E7A00014 */ swc1 $f0, 0x14($sp) +/* A02C5C 8024041C 860200A8 */ lh $v0, 0xa8($s0) +/* A02C60 80240420 27A50020 */ addiu $a1, $sp, 0x20 +/* A02C64 80240424 44820000 */ mtc1 $v0, $f0 +/* A02C68 80240428 00000000 */ nop +/* A02C6C 8024042C 46800020 */ cvt.s.w $f0, $f0 +/* A02C70 80240430 E7A00018 */ swc1 $f0, 0x18($sp) +/* A02C74 80240434 860200A6 */ lh $v0, 0xa6($s0) +/* A02C78 80240438 27A60024 */ addiu $a2, $sp, 0x24 +/* A02C7C 8024043C 44820000 */ mtc1 $v0, $f0 +/* A02C80 80240440 00000000 */ nop +/* A02C84 80240444 46800020 */ cvt.s.w $f0, $f0 +/* A02C88 80240448 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A02C8C 8024044C 8E040080 */ lw $a0, 0x80($s0) +/* A02C90 80240450 0C037711 */ jal func_800DDC44 +/* A02C94 80240454 27A70028 */ addiu $a3, $sp, 0x28 +/* A02C98 80240458 0040902D */ daddu $s2, $v0, $zero +/* A02C9C 8024045C 16400005 */ bnez $s2, .L80240474 +/* A02CA0 80240460 00000000 */ nop +/* A02CA4 80240464 8E050018 */ lw $a1, 0x18($s0) +/* A02CA8 80240468 8E06000C */ lw $a2, 0xc($s0) +/* A02CAC 8024046C 0C00EA95 */ jal npc_move_heading +/* A02CB0 80240470 0200202D */ daddu $a0, $s0, $zero +.L80240474: +/* A02CB4 80240474 8602008E */ lh $v0, 0x8e($s0) +/* A02CB8 80240478 9603008E */ lhu $v1, 0x8e($s0) +/* A02CBC 8024047C 18400007 */ blez $v0, .L8024049C +/* A02CC0 80240480 2462FFFF */ addiu $v0, $v1, -1 +/* A02CC4 80240484 A602008E */ sh $v0, 0x8e($s0) +/* A02CC8 80240488 00021400 */ sll $v0, $v0, 0x10 +/* A02CCC 8024048C 18400003 */ blez $v0, .L8024049C +/* A02CD0 80240490 00000000 */ nop +/* A02CD4 80240494 12400008 */ beqz $s2, .L802404B8 +/* A02CD8 80240498 00000000 */ nop +.L8024049C: +/* A02CDC 8024049C 8E2200CC */ lw $v0, 0xcc($s1) +/* A02CE0 802404A0 A2200007 */ sb $zero, 7($s1) +/* A02CE4 802404A4 8C420028 */ lw $v0, 0x28($v0) +/* A02CE8 802404A8 A600008E */ sh $zero, 0x8e($s0) +/* A02CEC 802404AC AE020028 */ sw $v0, 0x28($s0) +/* A02CF0 802404B0 2402000F */ addiu $v0, $zero, 0xf +/* A02CF4 802404B4 AE620070 */ sw $v0, 0x70($s3) +.L802404B8: +/* A02CF8 802404B8 8FBF0040 */ lw $ra, 0x40($sp) +/* A02CFC 802404BC 8FB3003C */ lw $s3, 0x3c($sp) +/* A02D00 802404C0 8FB20038 */ lw $s2, 0x38($sp) +/* A02D04 802404C4 8FB10034 */ lw $s1, 0x34($sp) +/* A02D08 802404C8 8FB00030 */ lw $s0, 0x30($sp) +/* A02D0C 802404CC 03E00008 */ jr $ra +/* A02D10 802404D0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_802404D4.s b/asm/nonmatchings/world/area_nok/nok_14/func_802404D4.s new file mode 100644 index 0000000000..14be2c6220 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_802404D4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D4 +/* A02D14 802404D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A02D18 802404D8 AFB10014 */ sw $s1, 0x14($sp) +/* A02D1C 802404DC 0080882D */ daddu $s1, $a0, $zero +/* A02D20 802404E0 AFBF0018 */ sw $ra, 0x18($sp) +/* A02D24 802404E4 AFB00010 */ sw $s0, 0x10($sp) +/* A02D28 802404E8 8E300148 */ lw $s0, 0x148($s1) +/* A02D2C 802404EC 0C00EABB */ jal get_npc_unsafe +/* A02D30 802404F0 86040008 */ lh $a0, 8($s0) +/* A02D34 802404F4 0040202D */ daddu $a0, $v0, $zero +/* A02D38 802404F8 9482008E */ lhu $v0, 0x8e($a0) +/* A02D3C 802404FC 24030003 */ addiu $v1, $zero, 3 +/* A02D40 80240500 24420001 */ addiu $v0, $v0, 1 +/* A02D44 80240504 A482008E */ sh $v0, 0x8e($a0) +/* A02D48 80240508 00021400 */ sll $v0, $v0, 0x10 +/* A02D4C 8024050C 00021403 */ sra $v0, $v0, 0x10 +/* A02D50 80240510 14430003 */ bne $v0, $v1, .L80240520 +/* A02D54 80240514 00000000 */ nop +/* A02D58 80240518 96020086 */ lhu $v0, 0x86($s0) +/* A02D5C 8024051C A48200A8 */ sh $v0, 0xa8($a0) +.L80240520: +/* A02D60 80240520 8482008E */ lh $v0, 0x8e($a0) +/* A02D64 80240524 8E030080 */ lw $v1, 0x80($s0) +/* A02D68 80240528 0043102A */ slt $v0, $v0, $v1 +/* A02D6C 8024052C 14400004 */ bnez $v0, .L80240540 +/* A02D70 80240530 00000000 */ nop +/* A02D74 80240534 96020086 */ lhu $v0, 0x86($s0) +/* A02D78 80240538 A48200A8 */ sh $v0, 0xa8($a0) +/* A02D7C 8024053C AE200070 */ sw $zero, 0x70($s1) +.L80240540: +/* A02D80 80240540 8FBF0018 */ lw $ra, 0x18($sp) +/* A02D84 80240544 8FB10014 */ lw $s1, 0x14($sp) +/* A02D88 80240548 8FB00010 */ lw $s0, 0x10($sp) +/* A02D8C 8024054C 03E00008 */ jr $ra +/* A02D90 80240550 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240554.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240554.s new file mode 100644 index 0000000000..8f3ec67552 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240554.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240554 +/* A02D94 80240554 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A02D98 80240558 AFB3005C */ sw $s3, 0x5c($sp) +/* A02D9C 8024055C 0080982D */ daddu $s3, $a0, $zero +/* A02DA0 80240560 AFBF0068 */ sw $ra, 0x68($sp) +/* A02DA4 80240564 AFB50064 */ sw $s5, 0x64($sp) +/* A02DA8 80240568 AFB40060 */ sw $s4, 0x60($sp) +/* A02DAC 8024056C AFB20058 */ sw $s2, 0x58($sp) +/* A02DB0 80240570 AFB10054 */ sw $s1, 0x54($sp) +/* A02DB4 80240574 AFB00050 */ sw $s0, 0x50($sp) +/* A02DB8 80240578 8E710148 */ lw $s1, 0x148($s3) +/* A02DBC 8024057C 86240008 */ lh $a0, 8($s1) +/* A02DC0 80240580 0C00EABB */ jal get_npc_unsafe +/* A02DC4 80240584 00A0802D */ daddu $s0, $a1, $zero +/* A02DC8 80240588 8E63000C */ lw $v1, 0xc($s3) +/* A02DCC 8024058C 0260202D */ daddu $a0, $s3, $zero +/* A02DD0 80240590 8C650000 */ lw $a1, ($v1) +/* A02DD4 80240594 0C0B1EAF */ jal get_variable +/* A02DD8 80240598 0040902D */ daddu $s2, $v0, $zero +/* A02DDC 8024059C AFA00028 */ sw $zero, 0x28($sp) +/* A02DE0 802405A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A02DE4 802405A4 8C630030 */ lw $v1, 0x30($v1) +/* A02DE8 802405A8 AFA3002C */ sw $v1, 0x2c($sp) +/* A02DEC 802405AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A02DF0 802405B0 8C63001C */ lw $v1, 0x1c($v1) +/* A02DF4 802405B4 AFA30030 */ sw $v1, 0x30($sp) +/* A02DF8 802405B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* A02DFC 802405BC 8C630024 */ lw $v1, 0x24($v1) +/* A02E00 802405C0 AFA30034 */ sw $v1, 0x34($sp) +/* A02E04 802405C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A02E08 802405C8 8C630028 */ lw $v1, 0x28($v1) +/* A02E0C 802405CC 27B50028 */ addiu $s5, $sp, 0x28 +/* A02E10 802405D0 AFA30038 */ sw $v1, 0x38($sp) +/* A02E14 802405D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A02E18 802405D8 3C0142C8 */ lui $at, 0x42c8 +/* A02E1C 802405DC 44810000 */ mtc1 $at, $f0 +/* A02E20 802405E0 8C63002C */ lw $v1, 0x2c($v1) +/* A02E24 802405E4 0040A02D */ daddu $s4, $v0, $zero +/* A02E28 802405E8 E7A00040 */ swc1 $f0, 0x40($sp) +/* A02E2C 802405EC A7A00044 */ sh $zero, 0x44($sp) +/* A02E30 802405F0 12000009 */ beqz $s0, .L80240618 +/* A02E34 802405F4 AFA3003C */ sw $v1, 0x3c($sp) +/* A02E38 802405F8 864300A8 */ lh $v1, 0xa8($s2) +/* A02E3C 802405FC 8E2200B0 */ lw $v0, 0xb0($s1) +/* A02E40 80240600 AE20008C */ sw $zero, 0x8c($s1) +/* A02E44 80240604 A22000B5 */ sb $zero, 0xb5($s1) +/* A02E48 80240608 34420008 */ ori $v0, $v0, 8 +/* A02E4C 8024060C AE230084 */ sw $v1, 0x84($s1) +/* A02E50 80240610 0809018A */ j .L80240628 +/* A02E54 80240614 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240618: +/* A02E58 80240618 8E2200B0 */ lw $v0, 0xb0($s1) +/* A02E5C 8024061C 30420004 */ andi $v0, $v0, 4 +/* A02E60 80240620 10400047 */ beqz $v0, .L80240740 +/* A02E64 80240624 00000000 */ nop +.L80240628: +/* A02E68 80240628 AE600070 */ sw $zero, 0x70($s3) +/* A02E6C 8024062C A640008E */ sh $zero, 0x8e($s2) +/* A02E70 80240630 8E2300CC */ lw $v1, 0xcc($s1) +/* A02E74 80240634 2404F7FF */ addiu $a0, $zero, -0x801 +/* A02E78 80240638 A2200007 */ sb $zero, 7($s1) +/* A02E7C 8024063C 8E420000 */ lw $v0, ($s2) +/* A02E80 80240640 8C630000 */ lw $v1, ($v1) +/* A02E84 80240644 00441024 */ and $v0, $v0, $a0 +/* A02E88 80240648 AE420000 */ sw $v0, ($s2) +/* A02E8C 8024064C AE430028 */ sw $v1, 0x28($s2) +/* A02E90 80240650 96220086 */ lhu $v0, 0x86($s1) +/* A02E94 80240654 A64200A8 */ sh $v0, 0xa8($s2) +/* A02E98 80240658 8E2200D0 */ lw $v0, 0xd0($s1) +/* A02E9C 8024065C AE200090 */ sw $zero, 0x90($s1) +/* A02EA0 80240660 8C420034 */ lw $v0, 0x34($v0) +/* A02EA4 80240664 14400006 */ bnez $v0, .L80240680 +/* A02EA8 80240668 2403FDFF */ addiu $v1, $zero, -0x201 +/* A02EAC 8024066C 8E420000 */ lw $v0, ($s2) +/* A02EB0 80240670 2403FFF7 */ addiu $v1, $zero, -9 +/* A02EB4 80240674 34420200 */ ori $v0, $v0, 0x200 +/* A02EB8 80240678 080901A3 */ j .L8024068C +/* A02EBC 8024067C 00431024 */ and $v0, $v0, $v1 +.L80240680: +/* A02EC0 80240680 8E420000 */ lw $v0, ($s2) +/* A02EC4 80240684 00431024 */ and $v0, $v0, $v1 +/* A02EC8 80240688 34420008 */ ori $v0, $v0, 8 +.L8024068C: +/* A02ECC 8024068C AE420000 */ sw $v0, ($s2) +/* A02ED0 80240690 8E2200B0 */ lw $v0, 0xb0($s1) +/* A02ED4 80240694 30420004 */ andi $v0, $v0, 4 +/* A02ED8 80240698 1040001E */ beqz $v0, .L80240714 +/* A02EDC 8024069C 24040002 */ addiu $a0, $zero, 2 +/* A02EE0 802406A0 0240282D */ daddu $a1, $s2, $zero +/* A02EE4 802406A4 0000302D */ daddu $a2, $zero, $zero +/* A02EE8 802406A8 24020063 */ addiu $v0, $zero, 0x63 +/* A02EEC 802406AC AE620070 */ sw $v0, 0x70($s3) +/* A02EF0 802406B0 AE600074 */ sw $zero, 0x74($s3) +/* A02EF4 802406B4 864300A8 */ lh $v1, 0xa8($s2) +/* A02EF8 802406B8 3C013F80 */ lui $at, 0x3f80 +/* A02EFC 802406BC 44810000 */ mtc1 $at, $f0 +/* A02F00 802406C0 3C014000 */ lui $at, 0x4000 +/* A02F04 802406C4 44811000 */ mtc1 $at, $f2 +/* A02F08 802406C8 3C01C1A0 */ lui $at, 0xc1a0 +/* A02F0C 802406CC 44812000 */ mtc1 $at, $f4 +/* A02F10 802406D0 24020028 */ addiu $v0, $zero, 0x28 +/* A02F14 802406D4 AFA2001C */ sw $v0, 0x1c($sp) +/* A02F18 802406D8 44833000 */ mtc1 $v1, $f6 +/* A02F1C 802406DC 00000000 */ nop +/* A02F20 802406E0 468031A0 */ cvt.s.w $f6, $f6 +/* A02F24 802406E4 44073000 */ mfc1 $a3, $f6 +/* A02F28 802406E8 27A20048 */ addiu $v0, $sp, 0x48 +/* A02F2C 802406EC AFA20020 */ sw $v0, 0x20($sp) +/* A02F30 802406F0 E7A00010 */ swc1 $f0, 0x10($sp) +/* A02F34 802406F4 E7A20014 */ swc1 $f2, 0x14($sp) +/* A02F38 802406F8 0C01BFA4 */ jal fx_emote +/* A02F3C 802406FC E7A40018 */ swc1 $f4, 0x18($sp) +/* A02F40 80240700 8E2200B0 */ lw $v0, 0xb0($s1) +/* A02F44 80240704 2403FFFB */ addiu $v1, $zero, -5 +/* A02F48 80240708 00431024 */ and $v0, $v0, $v1 +/* A02F4C 8024070C 080901D0 */ j .L80240740 +/* A02F50 80240710 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240714: +/* A02F54 80240714 8E220000 */ lw $v0, ($s1) +/* A02F58 80240718 3C034000 */ lui $v1, 0x4000 +/* A02F5C 8024071C 00431024 */ and $v0, $v0, $v1 +/* A02F60 80240720 10400007 */ beqz $v0, .L80240740 +/* A02F64 80240724 3C03BFFF */ lui $v1, 0xbfff +/* A02F68 80240728 2402000C */ addiu $v0, $zero, 0xc +/* A02F6C 8024072C AE620070 */ sw $v0, 0x70($s3) +/* A02F70 80240730 8E220000 */ lw $v0, ($s1) +/* A02F74 80240734 3463FFFF */ ori $v1, $v1, 0xffff +/* A02F78 80240738 00431024 */ and $v0, $v0, $v1 +/* A02F7C 8024073C AE220000 */ sw $v0, ($s1) +.L80240740: +/* A02F80 80240740 8E220090 */ lw $v0, 0x90($s1) +/* A02F84 80240744 1840000C */ blez $v0, .L80240778 +/* A02F88 80240748 2442FFFF */ addiu $v0, $v0, -1 +/* A02F8C 8024074C 14400087 */ bnez $v0, .L8024096C +/* A02F90 80240750 AE220090 */ sw $v0, 0x90($s1) +/* A02F94 80240754 3C03FFAA */ lui $v1, 0xffaa +/* A02F98 80240758 8E420028 */ lw $v0, 0x28($s2) +/* A02F9C 8024075C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A02FA0 80240760 00431021 */ addu $v0, $v0, $v1 +/* A02FA4 80240764 2C420002 */ sltiu $v0, $v0, 2 +/* A02FA8 80240768 10400003 */ beqz $v0, .L80240778 +/* A02FAC 8024076C 3C020055 */ lui $v0, 0x55 +/* A02FB0 80240770 3442000C */ ori $v0, $v0, 0xc +/* A02FB4 80240774 AE420028 */ sw $v0, 0x28($s2) +.L80240778: +/* A02FB8 80240778 8E630070 */ lw $v1, 0x70($s3) +/* A02FBC 8024077C 2402000C */ addiu $v0, $zero, 0xc +/* A02FC0 80240780 10620048 */ beq $v1, $v0, .L802408A4 +/* A02FC4 80240784 2862000D */ slti $v0, $v1, 0xd +/* A02FC8 80240788 1040000F */ beqz $v0, .L802407C8 +/* A02FCC 8024078C 24100001 */ addiu $s0, $zero, 1 +/* A02FD0 80240790 1070001E */ beq $v1, $s0, .L8024080C +/* A02FD4 80240794 28620002 */ slti $v0, $v1, 2 +/* A02FD8 80240798 10400005 */ beqz $v0, .L802407B0 +/* A02FDC 8024079C 24020002 */ addiu $v0, $zero, 2 +/* A02FE0 802407A0 10600015 */ beqz $v1, .L802407F8 +/* A02FE4 802407A4 0260202D */ daddu $a0, $s3, $zero +/* A02FE8 802407A8 08090240 */ j .L80240900 +/* A02FEC 802407AC 00000000 */ nop +.L802407B0: +/* A02FF0 802407B0 1062001C */ beq $v1, $v0, .L80240824 +/* A02FF4 802407B4 24020003 */ addiu $v0, $zero, 3 +/* A02FF8 802407B8 10620035 */ beq $v1, $v0, .L80240890 +/* A02FFC 802407BC 0260202D */ daddu $a0, $s3, $zero +/* A03000 802407C0 08090240 */ j .L80240900 +/* A03004 802407C4 00000000 */ nop +.L802407C8: +/* A03008 802407C8 2402000E */ addiu $v0, $zero, 0xe +/* A0300C 802407CC 1062003F */ beq $v1, $v0, .L802408CC +/* A03010 802407D0 0062102A */ slt $v0, $v1, $v0 +/* A03014 802407D4 14400038 */ bnez $v0, .L802408B8 +/* A03018 802407D8 0260202D */ daddu $a0, $s3, $zero +/* A0301C 802407DC 2402000F */ addiu $v0, $zero, 0xf +/* A03020 802407E0 10620040 */ beq $v1, $v0, .L802408E4 +/* A03024 802407E4 24020063 */ addiu $v0, $zero, 0x63 +/* A03028 802407E8 10620043 */ beq $v1, $v0, .L802408F8 +/* A0302C 802407EC 00000000 */ nop +/* A03030 802407F0 08090240 */ j .L80240900 +/* A03034 802407F4 00000000 */ nop +.L802407F8: +/* A03038 802407F8 0280282D */ daddu $a1, $s4, $zero +/* A0303C 802407FC 0C012568 */ jal func_800495A0 +/* A03040 80240800 02A0302D */ daddu $a2, $s5, $zero +/* A03044 80240804 96220086 */ lhu $v0, 0x86($s1) +/* A03048 80240808 A64200A8 */ sh $v0, 0xa8($s2) +.L8024080C: +/* A0304C 8024080C 0260202D */ daddu $a0, $s3, $zero +/* A03050 80240810 0280282D */ daddu $a1, $s4, $zero +/* A03054 80240814 0C0125AE */ jal func_800496B8 +/* A03058 80240818 02A0302D */ daddu $a2, $s5, $zero +/* A0305C 8024081C 08090240 */ j .L80240900 +/* A03060 80240820 00000000 */ nop +.L80240824: +/* A03064 80240824 0260202D */ daddu $a0, $s3, $zero +/* A03068 80240828 0280282D */ daddu $a1, $s4, $zero +/* A0306C 8024082C 0C0126D1 */ jal func_80049B44 +/* A03070 80240830 02A0302D */ daddu $a2, $s5, $zero +/* A03074 80240834 8E230088 */ lw $v1, 0x88($s1) +/* A03078 80240838 24020006 */ addiu $v0, $zero, 6 +/* A0307C 8024083C 14620014 */ bne $v1, $v0, .L80240890 +/* A03080 80240840 0260202D */ daddu $a0, $s3, $zero +/* A03084 80240844 0C00A67F */ jal rand_int +/* A03088 80240848 24040064 */ addiu $a0, $zero, 0x64 +/* A0308C 8024084C 28420021 */ slti $v0, $v0, 0x21 +/* A03090 80240850 5040000F */ beql $v0, $zero, .L80240890 +/* A03094 80240854 0260202D */ daddu $a0, $s3, $zero +/* A03098 80240858 8E22008C */ lw $v0, 0x8c($s1) +/* A0309C 8024085C 10400005 */ beqz $v0, .L80240874 +/* A030A0 80240860 3C020055 */ lui $v0, 0x55 +/* A030A4 80240864 3442002F */ ori $v0, $v0, 0x2f +/* A030A8 80240868 AE20008C */ sw $zero, 0x8c($s1) +/* A030AC 8024086C 08090220 */ j .L80240880 +/* A030B0 80240870 A22000B5 */ sb $zero, 0xb5($s1) +.L80240874: +/* A030B4 80240874 3442002E */ ori $v0, $v0, 0x2e +/* A030B8 80240878 AE30008C */ sw $s0, 0x8c($s1) +/* A030BC 8024087C A23000B5 */ sb $s0, 0xb5($s1) +.L80240880: +/* A030C0 80240880 AE420028 */ sw $v0, 0x28($s2) +/* A030C4 80240884 24020007 */ addiu $v0, $zero, 7 +/* A030C8 80240888 0809025B */ j .L8024096C +/* A030CC 8024088C AE220090 */ sw $v0, 0x90($s1) +.L80240890: +/* A030D0 80240890 0280282D */ daddu $a1, $s4, $zero +/* A030D4 80240894 0C012701 */ jal func_80049C04 +/* A030D8 80240898 02A0302D */ daddu $a2, $s5, $zero +/* A030DC 8024089C 08090240 */ j .L80240900 +/* A030E0 802408A0 00000000 */ nop +.L802408A4: +/* A030E4 802408A4 0260202D */ daddu $a0, $s3, $zero +/* A030E8 802408A8 0280282D */ daddu $a1, $s4, $zero +/* A030EC 802408AC 0C090070 */ jal func_802401C0 +/* A030F0 802408B0 02A0302D */ daddu $a2, $s5, $zero +/* A030F4 802408B4 0260202D */ daddu $a0, $s3, $zero +.L802408B8: +/* A030F8 802408B8 0280282D */ daddu $a1, $s4, $zero +/* A030FC 802408BC 0C09008F */ jal func_8024023C +/* A03100 802408C0 02A0302D */ daddu $a2, $s5, $zero +/* A03104 802408C4 08090240 */ j .L80240900 +/* A03108 802408C8 00000000 */ nop +.L802408CC: +/* A0310C 802408CC 0260202D */ daddu $a0, $s3, $zero +/* A03110 802408D0 0280282D */ daddu $a1, $s4, $zero +/* A03114 802408D4 0C0900DC */ jal func_80240370 +/* A03118 802408D8 02A0302D */ daddu $a2, $s5, $zero +/* A0311C 802408DC 08090240 */ j .L80240900 +/* A03120 802408E0 00000000 */ nop +.L802408E4: +/* A03124 802408E4 0280282D */ daddu $a1, $s4, $zero +/* A03128 802408E8 0C090135 */ jal func_802404D4 +/* A0312C 802408EC 02A0302D */ daddu $a2, $s5, $zero +/* A03130 802408F0 08090240 */ j .L80240900 +/* A03134 802408F4 00000000 */ nop +.L802408F8: +/* A03138 802408F8 0C0129CF */ jal func_8004A73C +/* A0313C 802408FC 0260202D */ daddu $a0, $s3, $zero +.L80240900: +/* A03140 80240900 8E230088 */ lw $v1, 0x88($s1) +/* A03144 80240904 24020006 */ addiu $v0, $zero, 6 +/* A03148 80240908 14620019 */ bne $v1, $v0, .L80240970 +/* A0314C 8024090C 0000102D */ daddu $v0, $zero, $zero +/* A03150 80240910 8E22008C */ lw $v0, 0x8c($s1) +/* A03154 80240914 10400003 */ beqz $v0, .L80240924 +/* A03158 80240918 24020001 */ addiu $v0, $zero, 1 +/* A0315C 8024091C 0809024A */ j .L80240928 +/* A03160 80240920 A22200B5 */ sb $v0, 0xb5($s1) +.L80240924: +/* A03164 80240924 A22000B5 */ sb $zero, 0xb5($s1) +.L80240928: +/* A03168 80240928 8E22008C */ lw $v0, 0x8c($s1) +/* A0316C 8024092C 1040000F */ beqz $v0, .L8024096C +/* A03170 80240930 3C03FFAA */ lui $v1, 0xffaa +/* A03174 80240934 8E420028 */ lw $v0, 0x28($s2) +/* A03178 80240938 3463FFFC */ ori $v1, $v1, 0xfffc +/* A0317C 8024093C 00431821 */ addu $v1, $v0, $v1 +/* A03180 80240940 2C620015 */ sltiu $v0, $v1, 0x15 +/* A03184 80240944 10400009 */ beqz $v0, .L8024096C +/* A03188 80240948 00031080 */ sll $v0, $v1, 2 +/* A0318C 8024094C 3C018024 */ lui $at, 0x8024 +/* A03190 80240950 00220821 */ addu $at, $at, $v0 +/* A03194 80240954 8C2245C8 */ lw $v0, 0x45c8($at) +/* A03198 80240958 00400008 */ jr $v0 +/* A0319C 8024095C 00000000 */ nop +/* A031A0 80240960 8E420028 */ lw $v0, 0x28($s2) +/* A031A4 80240964 24420001 */ addiu $v0, $v0, 1 +/* A031A8 80240968 AE420028 */ sw $v0, 0x28($s2) +.L8024096C: +/* A031AC 8024096C 0000102D */ daddu $v0, $zero, $zero +.L80240970: +/* A031B0 80240970 8FBF0068 */ lw $ra, 0x68($sp) +/* A031B4 80240974 8FB50064 */ lw $s5, 0x64($sp) +/* A031B8 80240978 8FB40060 */ lw $s4, 0x60($sp) +/* A031BC 8024097C 8FB3005C */ lw $s3, 0x5c($sp) +/* A031C0 80240980 8FB20058 */ lw $s2, 0x58($sp) +/* A031C4 80240984 8FB10054 */ lw $s1, 0x54($sp) +/* A031C8 80240988 8FB00050 */ lw $s0, 0x50($sp) +/* A031CC 8024098C 03E00008 */ jr $ra +/* A031D0 80240990 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240994.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240994.s new file mode 100644 index 0000000000..f80ac4dd91 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240994.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240994 +/* A031D4 80240994 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A031D8 80240998 AFB3002C */ sw $s3, 0x2c($sp) +/* A031DC 8024099C 0080982D */ daddu $s3, $a0, $zero +/* A031E0 802409A0 AFBF0030 */ sw $ra, 0x30($sp) +/* A031E4 802409A4 AFB20028 */ sw $s2, 0x28($sp) +/* A031E8 802409A8 AFB10024 */ sw $s1, 0x24($sp) +/* A031EC 802409AC AFB00020 */ sw $s0, 0x20($sp) +/* A031F0 802409B0 8E710148 */ lw $s1, 0x148($s3) +/* A031F4 802409B4 86240008 */ lh $a0, 8($s1) +/* A031F8 802409B8 0C00EABB */ jal get_npc_unsafe +/* A031FC 802409BC 00A0902D */ daddu $s2, $a1, $zero +/* A03200 802409C0 8E440004 */ lw $a0, 4($s2) +/* A03204 802409C4 0040802D */ daddu $s0, $v0, $zero +/* A03208 802409C8 00041FC2 */ srl $v1, $a0, 0x1f +/* A0320C 802409CC 00832021 */ addu $a0, $a0, $v1 +/* A03210 802409D0 00042043 */ sra $a0, $a0, 1 +/* A03214 802409D4 0C00A67F */ jal rand_int +/* A03218 802409D8 24840001 */ addiu $a0, $a0, 1 +/* A0321C 802409DC 8E430004 */ lw $v1, 4($s2) +/* A03220 802409E0 000327C2 */ srl $a0, $v1, 0x1f +/* A03224 802409E4 00641821 */ addu $v1, $v1, $a0 +/* A03228 802409E8 00031843 */ sra $v1, $v1, 1 +/* A0322C 802409EC 00621821 */ addu $v1, $v1, $v0 +/* A03230 802409F0 A603008E */ sh $v1, 0x8e($s0) +/* A03234 802409F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A03238 802409F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A0323C 802409FC C4640000 */ lwc1 $f4, ($v1) +/* A03240 80240A00 46802120 */ cvt.s.w $f4, $f4 +/* A03244 80240A04 C4620008 */ lwc1 $f2, 8($v1) +/* A03248 80240A08 468010A0 */ cvt.s.w $f2, $f2 +/* A0324C 80240A0C E7A00010 */ swc1 $f0, 0x10($sp) +/* A03250 80240A10 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03254 80240A14 44061000 */ mfc1 $a2, $f2 +/* A03258 80240A18 C440000C */ lwc1 $f0, 0xc($v0) +/* A0325C 80240A1C 46800020 */ cvt.s.w $f0, $f0 +/* A03260 80240A20 E7A00014 */ swc1 $f0, 0x14($sp) +/* A03264 80240A24 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03268 80240A28 44052000 */ mfc1 $a1, $f4 +/* A0326C 80240A2C C4400010 */ lwc1 $f0, 0x10($v0) +/* A03270 80240A30 46800020 */ cvt.s.w $f0, $f0 +/* A03274 80240A34 E7A00018 */ swc1 $f0, 0x18($sp) +/* A03278 80240A38 8C640018 */ lw $a0, 0x18($v1) +/* A0327C 80240A3C 0C0123F5 */ jal is_point_within_region +/* A03280 80240A40 8E070038 */ lw $a3, 0x38($s0) +/* A03284 80240A44 1040000E */ beqz $v0, .L80240A80 +/* A03288 80240A48 00000000 */ nop +/* A0328C 80240A4C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03290 80240A50 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A03294 80240A54 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A03298 80240A58 C4460000 */ lwc1 $f6, ($v0) +/* A0329C 80240A5C 468031A0 */ cvt.s.w $f6, $f6 +/* A032A0 80240A60 44063000 */ mfc1 $a2, $f6 +/* A032A4 80240A64 C4460008 */ lwc1 $f6, 8($v0) +/* A032A8 80240A68 468031A0 */ cvt.s.w $f6, $f6 +/* A032AC 80240A6C 44073000 */ mfc1 $a3, $f6 +/* A032B0 80240A70 0C00A720 */ jal atan2 +/* A032B4 80240A74 00000000 */ nop +/* A032B8 80240A78 080902AC */ j .L80240AB0 +/* A032BC 80240A7C E600000C */ swc1 $f0, 0xc($s0) +.L80240A80: +/* A032C0 80240A80 0C00A67F */ jal rand_int +/* A032C4 80240A84 2404003C */ addiu $a0, $zero, 0x3c +/* A032C8 80240A88 C60C000C */ lwc1 $f12, 0xc($s0) +/* A032CC 80240A8C 44820000 */ mtc1 $v0, $f0 +/* A032D0 80240A90 00000000 */ nop +/* A032D4 80240A94 46800020 */ cvt.s.w $f0, $f0 +/* A032D8 80240A98 46006300 */ add.s $f12, $f12, $f0 +/* A032DC 80240A9C 3C0141F0 */ lui $at, 0x41f0 +/* A032E0 80240AA0 44810000 */ mtc1 $at, $f0 +/* A032E4 80240AA4 0C00A6C9 */ jal clamp_angle +/* A032E8 80240AA8 46006301 */ sub.s $f12, $f12, $f0 +/* A032EC 80240AAC E600000C */ swc1 $f0, 0xc($s0) +.L80240AB0: +/* A032F0 80240AB0 8E2200CC */ lw $v0, 0xcc($s1) +/* A032F4 80240AB4 8C420004 */ lw $v0, 4($v0) +/* A032F8 80240AB8 AE020028 */ sw $v0, 0x28($s0) +/* A032FC 80240ABC AE600074 */ sw $zero, 0x74($s3) +/* A03300 80240AC0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03304 80240AC4 8C420014 */ lw $v0, 0x14($v0) +/* A03308 80240AC8 04410004 */ bgez $v0, .L80240ADC +/* A0330C 80240ACC 00000000 */ nop +/* A03310 80240AD0 C6400000 */ lwc1 $f0, ($s2) +/* A03314 80240AD4 080902BF */ j .L80240AFC +/* A03318 80240AD8 E6000018 */ swc1 $f0, 0x18($s0) +.L80240ADC: +/* A0331C 80240ADC 3C018024 */ lui $at, 0x8024 +/* A03320 80240AE0 D4224620 */ ldc1 $f2, 0x4620($at) +/* A03324 80240AE4 44820000 */ mtc1 $v0, $f0 +/* A03328 80240AE8 00000000 */ nop +/* A0332C 80240AEC 46800021 */ cvt.d.w $f0, $f0 +/* A03330 80240AF0 46220003 */ div.d $f0, $f0, $f2 +/* A03334 80240AF4 46200020 */ cvt.s.d $f0, $f0 +/* A03338 80240AF8 E6000018 */ swc1 $f0, 0x18($s0) +.L80240AFC: +/* A0333C 80240AFC C600003C */ lwc1 $f0, 0x3c($s0) +/* A03340 80240B00 3C014059 */ lui $at, 0x4059 +/* A03344 80240B04 44811800 */ mtc1 $at, $f3 +/* A03348 80240B08 44801000 */ mtc1 $zero, $f2 +/* A0334C 80240B0C 46000021 */ cvt.d.s $f0, $f0 +/* A03350 80240B10 46220002 */ mul.d $f0, $f0, $f2 +/* A03354 80240B14 00000000 */ nop +/* A03358 80240B18 24020001 */ addiu $v0, $zero, 1 +/* A0335C 80240B1C 4620018D */ trunc.w.d $f6, $f0 +/* A03360 80240B20 E626007C */ swc1 $f6, 0x7c($s1) +/* A03364 80240B24 AE620070 */ sw $v0, 0x70($s3) +/* A03368 80240B28 8FBF0030 */ lw $ra, 0x30($sp) +/* A0336C 80240B2C 8FB3002C */ lw $s3, 0x2c($sp) +/* A03370 80240B30 8FB20028 */ lw $s2, 0x28($sp) +/* A03374 80240B34 8FB10024 */ lw $s1, 0x24($sp) +/* A03378 80240B38 8FB00020 */ lw $s0, 0x20($sp) +/* A0337C 80240B3C 03E00008 */ jr $ra +/* A03380 80240B40 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80240B44.s b/asm/nonmatchings/world/area_nok/nok_14/func_80240B44.s new file mode 100644 index 0000000000..5d72bc949f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80240B44.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B44 +/* A03384 80240B44 27BDFF80 */ addiu $sp, $sp, -0x80 +/* A03388 80240B48 AFB3004C */ sw $s3, 0x4c($sp) +/* A0338C 80240B4C 0080982D */ daddu $s3, $a0, $zero +/* A03390 80240B50 AFBF0058 */ sw $ra, 0x58($sp) +/* A03394 80240B54 AFB50054 */ sw $s5, 0x54($sp) +/* A03398 80240B58 AFB40050 */ sw $s4, 0x50($sp) +/* A0339C 80240B5C AFB20048 */ sw $s2, 0x48($sp) +/* A033A0 80240B60 AFB10044 */ sw $s1, 0x44($sp) +/* A033A4 80240B64 AFB00040 */ sw $s0, 0x40($sp) +/* A033A8 80240B68 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A033AC 80240B6C F7B80070 */ sdc1 $f24, 0x70($sp) +/* A033B0 80240B70 F7B60068 */ sdc1 $f22, 0x68($sp) +/* A033B4 80240B74 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A033B8 80240B78 8E710148 */ lw $s1, 0x148($s3) +/* A033BC 80240B7C 00A0902D */ daddu $s2, $a1, $zero +/* A033C0 80240B80 86240008 */ lh $a0, 8($s1) +/* A033C4 80240B84 0C00EABB */ jal get_npc_unsafe +/* A033C8 80240B88 00C0A82D */ daddu $s5, $a2, $zero +/* A033CC 80240B8C 0040802D */ daddu $s0, $v0, $zero +/* A033D0 80240B90 0000A02D */ daddu $s4, $zero, $zero +/* A033D4 80240B94 C624007C */ lwc1 $f4, 0x7c($s1) +/* A033D8 80240B98 46802120 */ cvt.s.w $f4, $f4 +/* A033DC 80240B9C C6220088 */ lwc1 $f2, 0x88($s1) +/* A033E0 80240BA0 468010A0 */ cvt.s.w $f2, $f2 +/* A033E4 80240BA4 460010A1 */ cvt.d.s $f2, $f2 +/* A033E8 80240BA8 46002121 */ cvt.d.s $f4, $f4 +/* A033EC 80240BAC C600003C */ lwc1 $f0, 0x3c($s0) +/* A033F0 80240BB0 3C014059 */ lui $at, 0x4059 +/* A033F4 80240BB4 44813800 */ mtc1 $at, $f7 +/* A033F8 80240BB8 44803000 */ mtc1 $zero, $f6 +/* A033FC 80240BBC 46000021 */ cvt.d.s $f0, $f0 +/* A03400 80240BC0 46260002 */ mul.d $f0, $f0, $f6 +/* A03404 80240BC4 00000000 */ nop +/* A03408 80240BC8 24020001 */ addiu $v0, $zero, 1 +/* A0340C 80240BCC 8E24006C */ lw $a0, 0x6c($s1) +/* A03410 80240BD0 46261083 */ div.d $f2, $f2, $f6 +/* A03414 80240BD4 462010A0 */ cvt.s.d $f2, $f2 +/* A03418 80240BD8 46262103 */ div.d $f4, $f4, $f6 +/* A0341C 80240BDC 46202520 */ cvt.s.d $f20, $f4 +/* A03420 80240BE0 30830011 */ andi $v1, $a0, 0x11 +/* A03424 80240BE4 4620020D */ trunc.w.d $f8, $f0 +/* A03428 80240BE8 E628007C */ swc1 $f8, 0x7c($s1) +/* A0342C 80240BEC C6200078 */ lwc1 $f0, 0x78($s1) +/* A03430 80240BF0 46800020 */ cvt.s.w $f0, $f0 +/* A03434 80240BF4 46000021 */ cvt.d.s $f0, $f0 +/* A03438 80240BF8 46260003 */ div.d $f0, $f0, $f6 +/* A0343C 80240BFC 462006A0 */ cvt.s.d $f26, $f0 +/* A03440 80240C00 C6200070 */ lwc1 $f0, 0x70($s1) +/* A03444 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* A03448 80240C08 46000021 */ cvt.d.s $f0, $f0 +/* A0344C 80240C0C 46260003 */ div.d $f0, $f0, $f6 +/* A03450 80240C10 462005A0 */ cvt.s.d $f22, $f0 +/* A03454 80240C14 14620025 */ bne $v1, $v0, .L80240CAC +/* A03458 80240C18 4602D600 */ add.s $f24, $f26, $f2 +/* A0345C 80240C1C 8E020000 */ lw $v0, ($s0) +/* A03460 80240C20 30420008 */ andi $v0, $v0, 8 +/* A03464 80240C24 10400009 */ beqz $v0, .L80240C4C +/* A03468 80240C28 27A50028 */ addiu $a1, $sp, 0x28 +/* A0346C 80240C2C C600003C */ lwc1 $f0, 0x3c($s0) +/* A03470 80240C30 4600C001 */ sub.s $f0, $f24, $f0 +/* A03474 80240C34 4600B03C */ c.lt.s $f22, $f0 +/* A03478 80240C38 00000000 */ nop +/* A0347C 80240C3C 4500001B */ bc1f .L80240CAC +/* A03480 80240C40 34820010 */ ori $v0, $a0, 0x10 +/* A03484 80240C44 0809032B */ j .L80240CAC +/* A03488 80240C48 AE22006C */ sw $v0, 0x6c($s1) +.L80240C4C: +/* A0348C 80240C4C 27A6002C */ addiu $a2, $sp, 0x2c +/* A03490 80240C50 C6000038 */ lwc1 $f0, 0x38($s0) +/* A03494 80240C54 C602003C */ lwc1 $f2, 0x3c($s0) +/* A03498 80240C58 C6040040 */ lwc1 $f4, 0x40($s0) +/* A0349C 80240C5C 3C01447A */ lui $at, 0x447a +/* A034A0 80240C60 44813000 */ mtc1 $at, $f6 +/* A034A4 80240C64 27A20034 */ addiu $v0, $sp, 0x34 +/* A034A8 80240C68 E7A00028 */ swc1 $f0, 0x28($sp) +/* A034AC 80240C6C E7A2002C */ swc1 $f2, 0x2c($sp) +/* A034B0 80240C70 E7A40030 */ swc1 $f4, 0x30($sp) +/* A034B4 80240C74 E7A60034 */ swc1 $f6, 0x34($sp) +/* A034B8 80240C78 AFA20010 */ sw $v0, 0x10($sp) +/* A034BC 80240C7C 8E040080 */ lw $a0, 0x80($s0) +/* A034C0 80240C80 0C0372DF */ jal func_800DCB7C +/* A034C4 80240C84 27A70030 */ addiu $a3, $sp, 0x30 +/* A034C8 80240C88 C7A00034 */ lwc1 $f0, 0x34($sp) +/* A034CC 80240C8C 4600D001 */ sub.s $f0, $f26, $f0 +/* A034D0 80240C90 4600B03C */ c.lt.s $f22, $f0 +/* A034D4 80240C94 00000000 */ nop +/* A034D8 80240C98 45000004 */ bc1f .L80240CAC +/* A034DC 80240C9C 00000000 */ nop +/* A034E0 80240CA0 8E22006C */ lw $v0, 0x6c($s1) +/* A034E4 80240CA4 34420010 */ ori $v0, $v0, 0x10 +/* A034E8 80240CA8 AE22006C */ sw $v0, 0x6c($s1) +.L80240CAC: +/* A034EC 80240CAC 8E22006C */ lw $v0, 0x6c($s1) +/* A034F0 80240CB0 24030011 */ addiu $v1, $zero, 0x11 +/* A034F4 80240CB4 30420011 */ andi $v0, $v0, 0x11 +/* A034F8 80240CB8 14430039 */ bne $v0, $v1, .L80240DA0 +/* A034FC 80240CBC 00000000 */ nop +/* A03500 80240CC0 8E020000 */ lw $v0, ($s0) +/* A03504 80240CC4 30420008 */ andi $v0, $v0, 8 +/* A03508 80240CC8 1040000A */ beqz $v0, .L80240CF4 +/* A0350C 80240CCC 4600C106 */ mov.s $f4, $f24 +/* A03510 80240CD0 4614C081 */ sub.s $f2, $f24, $f20 +/* A03514 80240CD4 3C018024 */ lui $at, 0x8024 +/* A03518 80240CD8 D4204628 */ ldc1 $f0, 0x4628($at) +/* A0351C 80240CDC 460010A1 */ cvt.d.s $f2, $f2 +/* A03520 80240CE0 46201082 */ mul.d $f2, $f2, $f0 +/* A03524 80240CE4 00000000 */ nop +/* A03528 80240CE8 4600A021 */ cvt.d.s $f0, $f20 +/* A0352C 80240CEC 08090356 */ j .L80240D58 +/* A03530 80240CF0 46220000 */ add.d $f0, $f0, $f2 +.L80240CF4: +/* A03534 80240CF4 27A50028 */ addiu $a1, $sp, 0x28 +/* A03538 80240CF8 27A6002C */ addiu $a2, $sp, 0x2c +/* A0353C 80240CFC C6000038 */ lwc1 $f0, 0x38($s0) +/* A03540 80240D00 C6020040 */ lwc1 $f2, 0x40($s0) +/* A03544 80240D04 3C01447A */ lui $at, 0x447a +/* A03548 80240D08 44812000 */ mtc1 $at, $f4 +/* A0354C 80240D0C 27A20034 */ addiu $v0, $sp, 0x34 +/* A03550 80240D10 E7B4002C */ swc1 $f20, 0x2c($sp) +/* A03554 80240D14 E7A00028 */ swc1 $f0, 0x28($sp) +/* A03558 80240D18 E7A20030 */ swc1 $f2, 0x30($sp) +/* A0355C 80240D1C E7A40034 */ swc1 $f4, 0x34($sp) +/* A03560 80240D20 AFA20010 */ sw $v0, 0x10($sp) +/* A03564 80240D24 8E040080 */ lw $a0, 0x80($s0) +/* A03568 80240D28 0C0372DF */ jal func_800DCB7C +/* A0356C 80240D2C 27A70030 */ addiu $a3, $sp, 0x30 +/* A03570 80240D30 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* A03574 80240D34 461A2100 */ add.s $f4, $f4, $f26 +/* A03578 80240D38 46142081 */ sub.s $f2, $f4, $f20 +/* A0357C 80240D3C 3C018024 */ lui $at, 0x8024 +/* A03580 80240D40 D4204630 */ ldc1 $f0, 0x4630($at) +/* A03584 80240D44 460010A1 */ cvt.d.s $f2, $f2 +/* A03588 80240D48 46201082 */ mul.d $f2, $f2, $f0 +/* A0358C 80240D4C 00000000 */ nop +/* A03590 80240D50 4600A021 */ cvt.d.s $f0, $f20 +/* A03594 80240D54 46220000 */ add.d $f0, $f0, $f2 +.L80240D58: +/* A03598 80240D58 46200020 */ cvt.s.d $f0, $f0 +/* A0359C 80240D5C E600003C */ swc1 $f0, 0x3c($s0) +/* A035A0 80240D60 C600003C */ lwc1 $f0, 0x3c($s0) +/* A035A4 80240D64 46002001 */ sub.s $f0, $f4, $f0 +/* A035A8 80240D68 3C013FF0 */ lui $at, 0x3ff0 +/* A035AC 80240D6C 44811800 */ mtc1 $at, $f3 +/* A035B0 80240D70 44801000 */ mtc1 $zero, $f2 +/* A035B4 80240D74 46000005 */ abs.s $f0, $f0 +/* A035B8 80240D78 46000021 */ cvt.d.s $f0, $f0 +/* A035BC 80240D7C 4622003C */ c.lt.d $f0, $f2 +/* A035C0 80240D80 00000000 */ nop +/* A035C4 80240D84 45000036 */ bc1f .L80240E60 +/* A035C8 80240D88 2403FFEF */ addiu $v1, $zero, -0x11 +/* A035CC 80240D8C E604003C */ swc1 $f4, 0x3c($s0) +/* A035D0 80240D90 8E22006C */ lw $v0, 0x6c($s1) +/* A035D4 80240D94 00431024 */ and $v0, $v0, $v1 +/* A035D8 80240D98 08090398 */ j .L80240E60 +/* A035DC 80240D9C AE22006C */ sw $v0, 0x6c($s1) +.L80240DA0: +/* A035E0 80240DA0 8E220070 */ lw $v0, 0x70($s1) +/* A035E4 80240DA4 1840002E */ blez $v0, .L80240E60 +/* A035E8 80240DA8 00000000 */ nop +/* A035EC 80240DAC C62C0074 */ lwc1 $f12, 0x74($s1) +/* A035F0 80240DB0 0C00A8BB */ jal sin_deg +/* A035F4 80240DB4 46806320 */ cvt.s.w $f12, $f12 +/* A035F8 80240DB8 8E020000 */ lw $v0, ($s0) +/* A035FC 80240DBC 30420008 */ andi $v0, $v0, 8 +/* A03600 80240DC0 10400003 */ beqz $v0, .L80240DD0 +/* A03604 80240DC4 46000506 */ mov.s $f20, $f0 +/* A03608 80240DC8 08090384 */ j .L80240E10 +/* A0360C 80240DCC 0000102D */ daddu $v0, $zero, $zero +.L80240DD0: +/* A03610 80240DD0 27A50028 */ addiu $a1, $sp, 0x28 +/* A03614 80240DD4 27A6002C */ addiu $a2, $sp, 0x2c +/* A03618 80240DD8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A0361C 80240DDC C602003C */ lwc1 $f2, 0x3c($s0) +/* A03620 80240DE0 C6040040 */ lwc1 $f4, 0x40($s0) +/* A03624 80240DE4 3C01447A */ lui $at, 0x447a +/* A03628 80240DE8 44813000 */ mtc1 $at, $f6 +/* A0362C 80240DEC 27A20034 */ addiu $v0, $sp, 0x34 +/* A03630 80240DF0 E7A00028 */ swc1 $f0, 0x28($sp) +/* A03634 80240DF4 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A03638 80240DF8 E7A40030 */ swc1 $f4, 0x30($sp) +/* A0363C 80240DFC E7A60034 */ swc1 $f6, 0x34($sp) +/* A03640 80240E00 AFA20010 */ sw $v0, 0x10($sp) +/* A03644 80240E04 8E040080 */ lw $a0, 0x80($s0) +/* A03648 80240E08 0C0372DF */ jal func_800DCB7C +/* A0364C 80240E0C 27A70030 */ addiu $a3, $sp, 0x30 +.L80240E10: +/* A03650 80240E10 10400007 */ beqz $v0, .L80240E30 +/* A03654 80240E14 00000000 */ nop +/* A03658 80240E18 4616A082 */ mul.s $f2, $f20, $f22 +/* A0365C 80240E1C 00000000 */ nop +/* A03660 80240E20 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A03664 80240E24 461A0000 */ add.s $f0, $f0, $f26 +/* A03668 80240E28 0809038F */ j .L80240E3C +/* A0366C 80240E2C 46020000 */ add.s $f0, $f0, $f2 +.L80240E30: +/* A03670 80240E30 4616A002 */ mul.s $f0, $f20, $f22 +/* A03674 80240E34 00000000 */ nop +/* A03678 80240E38 4600C000 */ add.s $f0, $f24, $f0 +.L80240E3C: +/* A0367C 80240E3C E600003C */ swc1 $f0, 0x3c($s0) +/* A03680 80240E40 8E220074 */ lw $v0, 0x74($s1) +/* A03684 80240E44 2442000A */ addiu $v0, $v0, 0xa +/* A03688 80240E48 44826000 */ mtc1 $v0, $f12 +/* A0368C 80240E4C 00000000 */ nop +/* A03690 80240E50 0C00A6C9 */ jal clamp_angle +/* A03694 80240E54 46806320 */ cvt.s.w $f12, $f12 +/* A03698 80240E58 4600020D */ trunc.w.s $f8, $f0 +/* A0369C 80240E5C E6280074 */ swc1 $f8, 0x74($s1) +.L80240E60: +/* A036A0 80240E60 8E220090 */ lw $v0, 0x90($s1) +/* A036A4 80240E64 1C40004A */ bgtz $v0, .L80240F90 +/* A036A8 80240E68 2442FFFF */ addiu $v0, $v0, -1 +/* A036AC 80240E6C 8E430014 */ lw $v1, 0x14($s2) +/* A036B0 80240E70 04600048 */ bltz $v1, .L80240F94 +/* A036B4 80240E74 00000000 */ nop +/* A036B8 80240E78 8E620074 */ lw $v0, 0x74($s3) +/* A036BC 80240E7C 1C400042 */ bgtz $v0, .L80240F88 +/* A036C0 80240E80 2442FFFF */ addiu $v0, $v0, -1 +/* A036C4 80240E84 AE630074 */ sw $v1, 0x74($s3) +/* A036C8 80240E88 860200A8 */ lh $v0, 0xa8($s0) +/* A036CC 80240E8C C602003C */ lwc1 $f2, 0x3c($s0) +/* A036D0 80240E90 44820000 */ mtc1 $v0, $f0 +/* A036D4 80240E94 00000000 */ nop +/* A036D8 80240E98 46800020 */ cvt.s.w $f0, $f0 +/* A036DC 80240E9C 46001080 */ add.s $f2, $f2, $f0 +/* A036E0 80240EA0 3C014024 */ lui $at, 0x4024 +/* A036E4 80240EA4 44810800 */ mtc1 $at, $f1 +/* A036E8 80240EA8 44800000 */ mtc1 $zero, $f0 +/* A036EC 80240EAC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A036F0 80240EB0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A036F4 80240EB4 460010A1 */ cvt.d.s $f2, $f2 +/* A036F8 80240EB8 46201080 */ add.d $f2, $f2, $f0 +/* A036FC 80240EBC C440002C */ lwc1 $f0, 0x2c($v0) +/* A03700 80240EC0 46000021 */ cvt.d.s $f0, $f0 +/* A03704 80240EC4 4622003C */ c.lt.d $f0, $f2 +/* A03708 80240EC8 00000000 */ nop +/* A0370C 80240ECC 4500002C */ bc1f .L80240F80 +/* A03710 80240ED0 02A0202D */ daddu $a0, $s5, $zero +/* A03714 80240ED4 AFA00010 */ sw $zero, 0x10($sp) +/* A03718 80240ED8 8E46000C */ lw $a2, 0xc($s2) +/* A0371C 80240EDC 8E470010 */ lw $a3, 0x10($s2) +/* A03720 80240EE0 0C01242D */ jal func_800490B4 +/* A03724 80240EE4 0220282D */ daddu $a1, $s1, $zero +/* A03728 80240EE8 10400025 */ beqz $v0, .L80240F80 +/* A0372C 80240EEC 0000202D */ daddu $a0, $zero, $zero +/* A03730 80240EF0 0200282D */ daddu $a1, $s0, $zero +/* A03734 80240EF4 0000302D */ daddu $a2, $zero, $zero +/* A03738 80240EF8 2412000C */ addiu $s2, $zero, 0xc +/* A0373C 80240EFC 860300A8 */ lh $v1, 0xa8($s0) +/* A03740 80240F00 3C013F80 */ lui $at, 0x3f80 +/* A03744 80240F04 44810000 */ mtc1 $at, $f0 +/* A03748 80240F08 3C014000 */ lui $at, 0x4000 +/* A0374C 80240F0C 44811000 */ mtc1 $at, $f2 +/* A03750 80240F10 3C01C1A0 */ lui $at, 0xc1a0 +/* A03754 80240F14 44812000 */ mtc1 $at, $f4 +/* A03758 80240F18 44834000 */ mtc1 $v1, $f8 +/* A0375C 80240F1C 00000000 */ nop +/* A03760 80240F20 46804220 */ cvt.s.w $f8, $f8 +/* A03764 80240F24 44074000 */ mfc1 $a3, $f8 +/* A03768 80240F28 27A20038 */ addiu $v0, $sp, 0x38 +/* A0376C 80240F2C AFB2001C */ sw $s2, 0x1c($sp) +/* A03770 80240F30 AFA20020 */ sw $v0, 0x20($sp) +/* A03774 80240F34 E7A00010 */ swc1 $f0, 0x10($sp) +/* A03778 80240F38 E7A20014 */ swc1 $f2, 0x14($sp) +/* A0377C 80240F3C 0C01BFA4 */ jal fx_emote +/* A03780 80240F40 E7A40018 */ swc1 $f4, 0x18($sp) +/* A03784 80240F44 0200202D */ daddu $a0, $s0, $zero +/* A03788 80240F48 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A0378C 80240F4C C480003C */ lwc1 $f0, 0x3c($a0) +/* A03790 80240F50 3C060020 */ lui $a2, 0x20 +/* A03794 80240F54 0C012530 */ jal func_800494C0 +/* A03798 80240F58 E4800064 */ swc1 $f0, 0x64($a0) +/* A0379C 80240F5C 8E220018 */ lw $v0, 0x18($s1) +/* A037A0 80240F60 9442002A */ lhu $v0, 0x2a($v0) +/* A037A4 80240F64 30420001 */ andi $v0, $v0, 1 +/* A037A8 80240F68 10400003 */ beqz $v0, .L80240F78 +/* A037AC 80240F6C 2402000A */ addiu $v0, $zero, 0xa +/* A037B0 80240F70 0809044E */ j .L80241138 +/* A037B4 80240F74 AE620070 */ sw $v0, 0x70($s3) +.L80240F78: +/* A037B8 80240F78 0809044E */ j .L80241138 +/* A037BC 80240F7C AE720070 */ sw $s2, 0x70($s3) +.L80240F80: +/* A037C0 80240F80 8E620074 */ lw $v0, 0x74($s3) +/* A037C4 80240F84 2442FFFF */ addiu $v0, $v0, -1 +.L80240F88: +/* A037C8 80240F88 080903E5 */ j .L80240F94 +/* A037CC 80240F8C AE620074 */ sw $v0, 0x74($s3) +.L80240F90: +/* A037D0 80240F90 AE220090 */ sw $v0, 0x90($s1) +.L80240F94: +/* A037D4 80240F94 8E2300D0 */ lw $v1, 0xd0($s1) +/* A037D8 80240F98 C6000040 */ lwc1 $f0, 0x40($s0) +/* A037DC 80240F9C C4620000 */ lwc1 $f2, ($v1) +/* A037E0 80240FA0 468010A0 */ cvt.s.w $f2, $f2 +/* A037E4 80240FA4 C4640008 */ lwc1 $f4, 8($v1) +/* A037E8 80240FA8 46802120 */ cvt.s.w $f4, $f4 +/* A037EC 80240FAC E7A00010 */ swc1 $f0, 0x10($sp) +/* A037F0 80240FB0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A037F4 80240FB4 44051000 */ mfc1 $a1, $f2 +/* A037F8 80240FB8 C440000C */ lwc1 $f0, 0xc($v0) +/* A037FC 80240FBC 46800020 */ cvt.s.w $f0, $f0 +/* A03800 80240FC0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A03804 80240FC4 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03808 80240FC8 44062000 */ mfc1 $a2, $f4 +/* A0380C 80240FCC C4400010 */ lwc1 $f0, 0x10($v0) +/* A03810 80240FD0 46800020 */ cvt.s.w $f0, $f0 +/* A03814 80240FD4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A03818 80240FD8 8C640018 */ lw $a0, 0x18($v1) +/* A0381C 80240FDC 0C0123F5 */ jal is_point_within_region +/* A03820 80240FE0 8E070038 */ lw $a3, 0x38($s0) +/* A03824 80240FE4 1040001A */ beqz $v0, .L80241050 +/* A03828 80240FE8 00000000 */ nop +/* A0382C 80240FEC 8E060038 */ lw $a2, 0x38($s0) +/* A03830 80240FF0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03834 80240FF4 8E070040 */ lw $a3, 0x40($s0) +/* A03838 80240FF8 C44C0000 */ lwc1 $f12, ($v0) +/* A0383C 80240FFC 46806320 */ cvt.s.w $f12, $f12 +/* A03840 80241000 C44E0008 */ lwc1 $f14, 8($v0) +/* A03844 80241004 0C00A7B5 */ jal dist2D +/* A03848 80241008 468073A0 */ cvt.s.w $f14, $f14 +/* A0384C 8024100C C6020018 */ lwc1 $f2, 0x18($s0) +/* A03850 80241010 4600103C */ c.lt.s $f2, $f0 +/* A03854 80241014 00000000 */ nop +/* A03858 80241018 4500000D */ bc1f .L80241050 +/* A0385C 8024101C E7A00034 */ swc1 $f0, 0x34($sp) +/* A03860 80241020 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A03864 80241024 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03868 80241028 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A0386C 8024102C C4480000 */ lwc1 $f8, ($v0) +/* A03870 80241030 46804220 */ cvt.s.w $f8, $f8 +/* A03874 80241034 44064000 */ mfc1 $a2, $f8 +/* A03878 80241038 C4480008 */ lwc1 $f8, 8($v0) +/* A0387C 8024103C 46804220 */ cvt.s.w $f8, $f8 +/* A03880 80241040 44074000 */ mfc1 $a3, $f8 +/* A03884 80241044 0C00A720 */ jal atan2 +/* A03888 80241048 24140001 */ addiu $s4, $zero, 1 +/* A0388C 8024104C E600000C */ swc1 $f0, 0xc($s0) +.L80241050: +/* A03890 80241050 8E2200D0 */ lw $v0, 0xd0($s1) +/* A03894 80241054 8C43000C */ lw $v1, 0xc($v0) +/* A03898 80241058 8C420010 */ lw $v0, 0x10($v0) +/* A0389C 8024105C 00621825 */ or $v1, $v1, $v0 +/* A038A0 80241060 00741825 */ or $v1, $v1, $s4 +/* A038A4 80241064 10600008 */ beqz $v1, .L80241088 +/* A038A8 80241068 00000000 */ nop +/* A038AC 8024106C 8602008C */ lh $v0, 0x8c($s0) +/* A038B0 80241070 14400031 */ bnez $v0, .L80241138 +/* A038B4 80241074 00000000 */ nop +/* A038B8 80241078 8E050018 */ lw $a1, 0x18($s0) +/* A038BC 8024107C 8E06000C */ lw $a2, 0xc($s0) +/* A038C0 80241080 0C00EA95 */ jal npc_move_heading +/* A038C4 80241084 0200202D */ daddu $a0, $s0, $zero +.L80241088: +/* A038C8 80241088 C600003C */ lwc1 $f0, 0x3c($s0) +/* A038CC 8024108C 3C014059 */ lui $at, 0x4059 +/* A038D0 80241090 44811800 */ mtc1 $at, $f3 +/* A038D4 80241094 44801000 */ mtc1 $zero, $f2 +/* A038D8 80241098 46000021 */ cvt.d.s $f0, $f0 +/* A038DC 8024109C 46220002 */ mul.d $f0, $f0, $f2 +/* A038E0 802410A0 00000000 */ nop +/* A038E4 802410A4 4620020D */ trunc.w.d $f8, $f0 +/* A038E8 802410A8 E628007C */ swc1 $f8, 0x7c($s1) +/* A038EC 802410AC 8E420004 */ lw $v0, 4($s2) +/* A038F0 802410B0 18400021 */ blez $v0, .L80241138 +/* A038F4 802410B4 00000000 */ nop +/* A038F8 802410B8 8602008E */ lh $v0, 0x8e($s0) +/* A038FC 802410BC 9603008E */ lhu $v1, 0x8e($s0) +/* A03900 802410C0 18400005 */ blez $v0, .L802410D8 +/* A03904 802410C4 2462FFFF */ addiu $v0, $v1, -1 +/* A03908 802410C8 A602008E */ sh $v0, 0x8e($s0) +/* A0390C 802410CC 00021400 */ sll $v0, $v0, 0x10 +/* A03910 802410D0 1C400019 */ bgtz $v0, .L80241138 +/* A03914 802410D4 00000000 */ nop +.L802410D8: +/* A03918 802410D8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A0391C 802410DC 24020002 */ addiu $v0, $zero, 2 +/* A03920 802410E0 0C00A67F */ jal rand_int +/* A03924 802410E4 AE620070 */ sw $v0, 0x70($s3) +/* A03928 802410E8 3C035555 */ lui $v1, 0x5555 +/* A0392C 802410EC 34635556 */ ori $v1, $v1, 0x5556 +/* A03930 802410F0 00430018 */ mult $v0, $v1 +/* A03934 802410F4 000227C3 */ sra $a0, $v0, 0x1f +/* A03938 802410F8 00004010 */ mfhi $t0 +/* A0393C 802410FC 01042023 */ subu $a0, $t0, $a0 +/* A03940 80241100 00041840 */ sll $v1, $a0, 1 +/* A03944 80241104 00641821 */ addu $v1, $v1, $a0 +/* A03948 80241108 00431023 */ subu $v0, $v0, $v1 +/* A0394C 8024110C 24430002 */ addiu $v1, $v0, 2 +/* A03950 80241110 AE630074 */ sw $v1, 0x74($s3) +/* A03954 80241114 8E42002C */ lw $v0, 0x2c($s2) +/* A03958 80241118 58400007 */ blezl $v0, .L80241138 +/* A0395C 8024111C AE600070 */ sw $zero, 0x70($s3) +/* A03960 80241120 8E420008 */ lw $v0, 8($s2) +/* A03964 80241124 18400003 */ blez $v0, .L80241134 +/* A03968 80241128 28620003 */ slti $v0, $v1, 3 +/* A0396C 8024112C 10400002 */ beqz $v0, .L80241138 +/* A03970 80241130 00000000 */ nop +.L80241134: +/* A03974 80241134 AE600070 */ sw $zero, 0x70($s3) +.L80241138: +/* A03978 80241138 8FBF0058 */ lw $ra, 0x58($sp) +/* A0397C 8024113C 8FB50054 */ lw $s5, 0x54($sp) +/* A03980 80241140 8FB40050 */ lw $s4, 0x50($sp) +/* A03984 80241144 8FB3004C */ lw $s3, 0x4c($sp) +/* A03988 80241148 8FB20048 */ lw $s2, 0x48($sp) +/* A0398C 8024114C 8FB10044 */ lw $s1, 0x44($sp) +/* A03990 80241150 8FB00040 */ lw $s0, 0x40($sp) +/* A03994 80241154 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A03998 80241158 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A0399C 8024115C D7B60068 */ ldc1 $f22, 0x68($sp) +/* A039A0 80241160 D7B40060 */ ldc1 $f20, 0x60($sp) +/* A039A4 80241164 03E00008 */ jr $ra +/* A039A8 80241168 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_8024116C_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_8024116C_A02840.s new file mode 100644 index 0000000000..62a602931e --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_8024116C_A02840.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024116C_A039AC +/* A039AC 8024116C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A039B0 80241170 AFB3001C */ sw $s3, 0x1c($sp) +/* A039B4 80241174 0080982D */ daddu $s3, $a0, $zero +/* A039B8 80241178 AFBF0020 */ sw $ra, 0x20($sp) +/* A039BC 8024117C AFB20018 */ sw $s2, 0x18($sp) +/* A039C0 80241180 AFB10014 */ sw $s1, 0x14($sp) +/* A039C4 80241184 AFB00010 */ sw $s0, 0x10($sp) +/* A039C8 80241188 8E720148 */ lw $s2, 0x148($s3) +/* A039CC 8024118C 86440008 */ lh $a0, 8($s2) +/* A039D0 80241190 0C00EABB */ jal get_npc_unsafe +/* A039D4 80241194 00A0882D */ daddu $s1, $a1, $zero +/* A039D8 80241198 8E240008 */ lw $a0, 8($s1) +/* A039DC 8024119C 0040802D */ daddu $s0, $v0, $zero +/* A039E0 802411A0 00041FC2 */ srl $v1, $a0, 0x1f +/* A039E4 802411A4 00832021 */ addu $a0, $a0, $v1 +/* A039E8 802411A8 00042043 */ sra $a0, $a0, 1 +/* A039EC 802411AC 0C00A67F */ jal rand_int +/* A039F0 802411B0 24840001 */ addiu $a0, $a0, 1 +/* A039F4 802411B4 8E230008 */ lw $v1, 8($s1) +/* A039F8 802411B8 240400B4 */ addiu $a0, $zero, 0xb4 +/* A039FC 802411BC 00032FC2 */ srl $a1, $v1, 0x1f +/* A03A00 802411C0 00651821 */ addu $v1, $v1, $a1 +/* A03A04 802411C4 00031843 */ sra $v1, $v1, 1 +/* A03A08 802411C8 00621821 */ addu $v1, $v1, $v0 +/* A03A0C 802411CC 0C00A67F */ jal rand_int +/* A03A10 802411D0 A603008E */ sh $v1, 0x8e($s0) +/* A03A14 802411D4 C60C000C */ lwc1 $f12, 0xc($s0) +/* A03A18 802411D8 44820000 */ mtc1 $v0, $f0 +/* A03A1C 802411DC 00000000 */ nop +/* A03A20 802411E0 46800020 */ cvt.s.w $f0, $f0 +/* A03A24 802411E4 46006300 */ add.s $f12, $f12, $f0 +/* A03A28 802411E8 3C0142B4 */ lui $at, 0x42b4 +/* A03A2C 802411EC 44810000 */ mtc1 $at, $f0 +/* A03A30 802411F0 0C00A6C9 */ jal clamp_angle +/* A03A34 802411F4 46006301 */ sub.s $f12, $f12, $f0 +/* A03A38 802411F8 E600000C */ swc1 $f0, 0xc($s0) +/* A03A3C 802411FC 8E4200CC */ lw $v0, 0xcc($s2) +/* A03A40 80241200 8C420000 */ lw $v0, ($v0) +/* A03A44 80241204 AE020028 */ sw $v0, 0x28($s0) +/* A03A48 80241208 24020003 */ addiu $v0, $zero, 3 +/* A03A4C 8024120C AE620070 */ sw $v0, 0x70($s3) +/* A03A50 80241210 8FBF0020 */ lw $ra, 0x20($sp) +/* A03A54 80241214 8FB3001C */ lw $s3, 0x1c($sp) +/* A03A58 80241218 8FB20018 */ lw $s2, 0x18($sp) +/* A03A5C 8024121C 8FB10014 */ lw $s1, 0x14($sp) +/* A03A60 80241220 8FB00010 */ lw $s0, 0x10($sp) +/* A03A64 80241224 03E00008 */ jr $ra +/* A03A68 80241228 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_8024122C.s b/asm/nonmatchings/world/area_nok/nok_14/func_8024122C.s new file mode 100644 index 0000000000..3a4fa7e6ca --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_8024122C.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024122C +/* A03A6C 8024122C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* A03A70 80241230 AFB3004C */ sw $s3, 0x4c($sp) +/* A03A74 80241234 0080982D */ daddu $s3, $a0, $zero +/* A03A78 80241238 AFBF0054 */ sw $ra, 0x54($sp) +/* A03A7C 8024123C AFB40050 */ sw $s4, 0x50($sp) +/* A03A80 80241240 AFB20048 */ sw $s2, 0x48($sp) +/* A03A84 80241244 AFB10044 */ sw $s1, 0x44($sp) +/* A03A88 80241248 AFB00040 */ sw $s0, 0x40($sp) +/* A03A8C 8024124C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* A03A90 80241250 F7B80068 */ sdc1 $f24, 0x68($sp) +/* A03A94 80241254 F7B60060 */ sdc1 $f22, 0x60($sp) +/* A03A98 80241258 F7B40058 */ sdc1 $f20, 0x58($sp) +/* A03A9C 8024125C 8E710148 */ lw $s1, 0x148($s3) +/* A03AA0 80241260 00A0902D */ daddu $s2, $a1, $zero +/* A03AA4 80241264 86240008 */ lh $a0, 8($s1) +/* A03AA8 80241268 0C00EABB */ jal get_npc_unsafe +/* A03AAC 8024126C 00C0A02D */ daddu $s4, $a2, $zero +/* A03AB0 80241270 0040802D */ daddu $s0, $v0, $zero +/* A03AB4 80241274 C6200078 */ lwc1 $f0, 0x78($s1) +/* A03AB8 80241278 46800020 */ cvt.s.w $f0, $f0 +/* A03ABC 8024127C 46000021 */ cvt.d.s $f0, $f0 +/* A03AC0 80241280 3C014059 */ lui $at, 0x4059 +/* A03AC4 80241284 44811800 */ mtc1 $at, $f3 +/* A03AC8 80241288 44801000 */ mtc1 $zero, $f2 +/* A03ACC 8024128C 8602008E */ lh $v0, 0x8e($s0) +/* A03AD0 80241290 9603008E */ lhu $v1, 0x8e($s0) +/* A03AD4 80241294 46220003 */ div.d $f0, $f0, $f2 +/* A03AD8 80241298 46200620 */ cvt.s.d $f24, $f0 +/* A03ADC 8024129C C6200088 */ lwc1 $f0, 0x88($s1) +/* A03AE0 802412A0 46800020 */ cvt.s.w $f0, $f0 +/* A03AE4 802412A4 46000021 */ cvt.d.s $f0, $f0 +/* A03AE8 802412A8 46220003 */ div.d $f0, $f0, $f2 +/* A03AEC 802412AC 46200020 */ cvt.s.d $f0, $f0 +/* A03AF0 802412B0 18400003 */ blez $v0, .L802412C0 +/* A03AF4 802412B4 4600C680 */ add.s $f26, $f24, $f0 +/* A03AF8 802412B8 2462FFFF */ addiu $v0, $v1, -1 +/* A03AFC 802412BC A602008E */ sh $v0, 0x8e($s0) +.L802412C0: +/* A03B00 802412C0 8E220070 */ lw $v0, 0x70($s1) +/* A03B04 802412C4 18400034 */ blez $v0, .L80241398 +/* A03B08 802412C8 00000000 */ nop +/* A03B0C 802412CC C62C0074 */ lwc1 $f12, 0x74($s1) +/* A03B10 802412D0 46806320 */ cvt.s.w $f12, $f12 +/* A03B14 802412D4 44820000 */ mtc1 $v0, $f0 +/* A03B18 802412D8 00000000 */ nop +/* A03B1C 802412DC 46800020 */ cvt.s.w $f0, $f0 +/* A03B20 802412E0 46000021 */ cvt.d.s $f0, $f0 +/* A03B24 802412E4 46220003 */ div.d $f0, $f0, $f2 +/* A03B28 802412E8 0C00A8BB */ jal sin_deg +/* A03B2C 802412EC 462005A0 */ cvt.s.d $f22, $f0 +/* A03B30 802412F0 8E020000 */ lw $v0, ($s0) +/* A03B34 802412F4 30420008 */ andi $v0, $v0, 8 +/* A03B38 802412F8 10400003 */ beqz $v0, .L80241308 +/* A03B3C 802412FC 46000506 */ mov.s $f20, $f0 +/* A03B40 80241300 080904D2 */ j .L80241348 +/* A03B44 80241304 0000102D */ daddu $v0, $zero, $zero +.L80241308: +/* A03B48 80241308 27A50028 */ addiu $a1, $sp, 0x28 +/* A03B4C 8024130C 27A6002C */ addiu $a2, $sp, 0x2c +/* A03B50 80241310 C6000038 */ lwc1 $f0, 0x38($s0) +/* A03B54 80241314 C602003C */ lwc1 $f2, 0x3c($s0) +/* A03B58 80241318 C6040040 */ lwc1 $f4, 0x40($s0) +/* A03B5C 8024131C 3C01447A */ lui $at, 0x447a +/* A03B60 80241320 44813000 */ mtc1 $at, $f6 +/* A03B64 80241324 27A20034 */ addiu $v0, $sp, 0x34 +/* A03B68 80241328 E7A00028 */ swc1 $f0, 0x28($sp) +/* A03B6C 8024132C E7A2002C */ swc1 $f2, 0x2c($sp) +/* A03B70 80241330 E7A40030 */ swc1 $f4, 0x30($sp) +/* A03B74 80241334 E7A60034 */ swc1 $f6, 0x34($sp) +/* A03B78 80241338 AFA20010 */ sw $v0, 0x10($sp) +/* A03B7C 8024133C 8E040080 */ lw $a0, 0x80($s0) +/* A03B80 80241340 0C0372DF */ jal func_800DCB7C +/* A03B84 80241344 27A70030 */ addiu $a3, $sp, 0x30 +.L80241348: +/* A03B88 80241348 10400007 */ beqz $v0, .L80241368 +/* A03B8C 8024134C 00000000 */ nop +/* A03B90 80241350 4616A082 */ mul.s $f2, $f20, $f22 +/* A03B94 80241354 00000000 */ nop +/* A03B98 80241358 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A03B9C 8024135C 46180000 */ add.s $f0, $f0, $f24 +/* A03BA0 80241360 080904DD */ j .L80241374 +/* A03BA4 80241364 46020000 */ add.s $f0, $f0, $f2 +.L80241368: +/* A03BA8 80241368 4616A002 */ mul.s $f0, $f20, $f22 +/* A03BAC 8024136C 00000000 */ nop +/* A03BB0 80241370 4600D000 */ add.s $f0, $f26, $f0 +.L80241374: +/* A03BB4 80241374 E600003C */ swc1 $f0, 0x3c($s0) +/* A03BB8 80241378 8E220074 */ lw $v0, 0x74($s1) +/* A03BBC 8024137C 2442000A */ addiu $v0, $v0, 0xa +/* A03BC0 80241380 44826000 */ mtc1 $v0, $f12 +/* A03BC4 80241384 00000000 */ nop +/* A03BC8 80241388 0C00A6C9 */ jal clamp_angle +/* A03BCC 8024138C 46806320 */ cvt.s.w $f12, $f12 +/* A03BD0 80241390 4600020D */ trunc.w.s $f8, $f0 +/* A03BD4 80241394 E6280074 */ swc1 $f8, 0x74($s1) +.L80241398: +/* A03BD8 80241398 8E220090 */ lw $v0, 0x90($s1) +/* A03BDC 8024139C 1C400040 */ bgtz $v0, .L802414A0 +/* A03BE0 802413A0 2442FFFF */ addiu $v0, $v0, -1 +/* A03BE4 802413A4 860200A8 */ lh $v0, 0xa8($s0) +/* A03BE8 802413A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A03BEC 802413AC 44821000 */ mtc1 $v0, $f2 +/* A03BF0 802413B0 00000000 */ nop +/* A03BF4 802413B4 468010A0 */ cvt.s.w $f2, $f2 +/* A03BF8 802413B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A03BFC 802413BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A03C00 802413C0 46020000 */ add.s $f0, $f0, $f2 +/* A03C04 802413C4 3C014024 */ lui $at, 0x4024 +/* A03C08 802413C8 44812800 */ mtc1 $at, $f5 +/* A03C0C 802413CC 44802000 */ mtc1 $zero, $f4 +/* A03C10 802413D0 C442002C */ lwc1 $f2, 0x2c($v0) +/* A03C14 802413D4 46000021 */ cvt.d.s $f0, $f0 +/* A03C18 802413D8 46240000 */ add.d $f0, $f0, $f4 +/* A03C1C 802413DC 460010A1 */ cvt.d.s $f2, $f2 +/* A03C20 802413E0 4620103C */ c.lt.d $f2, $f0 +/* A03C24 802413E4 00000000 */ nop +/* A03C28 802413E8 4500002E */ bc1f .L802414A4 +/* A03C2C 802413EC 0280202D */ daddu $a0, $s4, $zero +/* A03C30 802413F0 24020001 */ addiu $v0, $zero, 1 +/* A03C34 802413F4 AFA20010 */ sw $v0, 0x10($sp) +/* A03C38 802413F8 8E460024 */ lw $a2, 0x24($s2) +/* A03C3C 802413FC 8E470028 */ lw $a3, 0x28($s2) +/* A03C40 80241400 0C01242D */ jal func_800490B4 +/* A03C44 80241404 0220282D */ daddu $a1, $s1, $zero +/* A03C48 80241408 10400026 */ beqz $v0, .L802414A4 +/* A03C4C 8024140C 0000202D */ daddu $a0, $zero, $zero +/* A03C50 80241410 0200282D */ daddu $a1, $s0, $zero +/* A03C54 80241414 0000302D */ daddu $a2, $zero, $zero +/* A03C58 80241418 2412000C */ addiu $s2, $zero, 0xc +/* A03C5C 8024141C 860300A8 */ lh $v1, 0xa8($s0) +/* A03C60 80241420 3C013F80 */ lui $at, 0x3f80 +/* A03C64 80241424 44810000 */ mtc1 $at, $f0 +/* A03C68 80241428 3C014000 */ lui $at, 0x4000 +/* A03C6C 8024142C 44811000 */ mtc1 $at, $f2 +/* A03C70 80241430 3C01C1A0 */ lui $at, 0xc1a0 +/* A03C74 80241434 44812000 */ mtc1 $at, $f4 +/* A03C78 80241438 44834000 */ mtc1 $v1, $f8 +/* A03C7C 8024143C 00000000 */ nop +/* A03C80 80241440 46804220 */ cvt.s.w $f8, $f8 +/* A03C84 80241444 44074000 */ mfc1 $a3, $f8 +/* A03C88 80241448 27A20038 */ addiu $v0, $sp, 0x38 +/* A03C8C 8024144C AFB2001C */ sw $s2, 0x1c($sp) +/* A03C90 80241450 AFA20020 */ sw $v0, 0x20($sp) +/* A03C94 80241454 E7A00010 */ swc1 $f0, 0x10($sp) +/* A03C98 80241458 E7A20014 */ swc1 $f2, 0x14($sp) +/* A03C9C 8024145C 0C01BFA4 */ jal fx_emote +/* A03CA0 80241460 E7A40018 */ swc1 $f4, 0x18($sp) +/* A03CA4 80241464 0200202D */ daddu $a0, $s0, $zero +/* A03CA8 80241468 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A03CAC 8024146C C480003C */ lwc1 $f0, 0x3c($a0) +/* A03CB0 80241470 3C060020 */ lui $a2, 0x20 +/* A03CB4 80241474 0C012530 */ jal func_800494C0 +/* A03CB8 80241478 E4800064 */ swc1 $f0, 0x64($a0) +/* A03CBC 8024147C 8E220018 */ lw $v0, 0x18($s1) +/* A03CC0 80241480 9442002A */ lhu $v0, 0x2a($v0) +/* A03CC4 80241484 30420001 */ andi $v0, $v0, 1 +/* A03CC8 80241488 10400003 */ beqz $v0, .L80241498 +/* A03CCC 8024148C 2402000A */ addiu $v0, $zero, 0xa +/* A03CD0 80241490 08090550 */ j .L80241540 +/* A03CD4 80241494 AE620070 */ sw $v0, 0x70($s3) +.L80241498: +/* A03CD8 80241498 08090550 */ j .L80241540 +/* A03CDC 8024149C AE720070 */ sw $s2, 0x70($s3) +.L802414A0: +/* A03CE0 802414A0 AE220090 */ sw $v0, 0x90($s1) +.L802414A4: +/* A03CE4 802414A4 8602008C */ lh $v0, 0x8c($s0) +/* A03CE8 802414A8 14400025 */ bnez $v0, .L80241540 +/* A03CEC 802414AC 00000000 */ nop +/* A03CF0 802414B0 8602008E */ lh $v0, 0x8e($s0) +/* A03CF4 802414B4 1C400022 */ bgtz $v0, .L80241540 +/* A03CF8 802414B8 00000000 */ nop +/* A03CFC 802414BC 8E620074 */ lw $v0, 0x74($s3) +/* A03D00 802414C0 2442FFFF */ addiu $v0, $v0, -1 +/* A03D04 802414C4 1840001D */ blez $v0, .L8024153C +/* A03D08 802414C8 AE620074 */ sw $v0, 0x74($s3) +/* A03D0C 802414CC 8E220018 */ lw $v0, 0x18($s1) +/* A03D10 802414D0 9442002A */ lhu $v0, 0x2a($v0) +/* A03D14 802414D4 30420010 */ andi $v0, $v0, 0x10 +/* A03D18 802414D8 14400007 */ bnez $v0, .L802414F8 +/* A03D1C 802414DC 00000000 */ nop +/* A03D20 802414E0 C600000C */ lwc1 $f0, 0xc($s0) +/* A03D24 802414E4 3C014334 */ lui $at, 0x4334 +/* A03D28 802414E8 44816000 */ mtc1 $at, $f12 +/* A03D2C 802414EC 0C00A6C9 */ jal clamp_angle +/* A03D30 802414F0 460C0300 */ add.s $f12, $f0, $f12 +/* A03D34 802414F4 E600000C */ swc1 $f0, 0xc($s0) +.L802414F8: +/* A03D38 802414F8 0C00A67F */ jal rand_int +/* A03D3C 802414FC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A03D40 80241500 3C032E8B */ lui $v1, 0x2e8b +/* A03D44 80241504 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* A03D48 80241508 00430018 */ mult $v0, $v1 +/* A03D4C 8024150C 00021FC3 */ sra $v1, $v0, 0x1f +/* A03D50 80241510 00004010 */ mfhi $t0 +/* A03D54 80241514 00082043 */ sra $a0, $t0, 1 +/* A03D58 80241518 00832023 */ subu $a0, $a0, $v1 +/* A03D5C 8024151C 00041840 */ sll $v1, $a0, 1 +/* A03D60 80241520 00641821 */ addu $v1, $v1, $a0 +/* A03D64 80241524 00031880 */ sll $v1, $v1, 2 +/* A03D68 80241528 00641823 */ subu $v1, $v1, $a0 +/* A03D6C 8024152C 00431023 */ subu $v0, $v0, $v1 +/* A03D70 80241530 24420005 */ addiu $v0, $v0, 5 +/* A03D74 80241534 08090550 */ j .L80241540 +/* A03D78 80241538 A602008E */ sh $v0, 0x8e($s0) +.L8024153C: +/* A03D7C 8024153C AE600070 */ sw $zero, 0x70($s3) +.L80241540: +/* A03D80 80241540 8FBF0054 */ lw $ra, 0x54($sp) +/* A03D84 80241544 8FB40050 */ lw $s4, 0x50($sp) +/* A03D88 80241548 8FB3004C */ lw $s3, 0x4c($sp) +/* A03D8C 8024154C 8FB20048 */ lw $s2, 0x48($sp) +/* A03D90 80241550 8FB10044 */ lw $s1, 0x44($sp) +/* A03D94 80241554 8FB00040 */ lw $s0, 0x40($sp) +/* A03D98 80241558 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* A03D9C 8024155C D7B80068 */ ldc1 $f24, 0x68($sp) +/* A03DA0 80241560 D7B60060 */ ldc1 $f22, 0x60($sp) +/* A03DA4 80241564 D7B40058 */ ldc1 $f20, 0x58($sp) +/* A03DA8 80241568 03E00008 */ jr $ra +/* A03DAC 8024156C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241570_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241570_A02840.s new file mode 100644 index 0000000000..c4f31f2462 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241570_A02840.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241570_A03DB0 +/* A03DB0 80241570 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A03DB4 80241574 AFB20018 */ sw $s2, 0x18($sp) +/* A03DB8 80241578 0080902D */ daddu $s2, $a0, $zero +/* A03DBC 8024157C AFBF001C */ sw $ra, 0x1c($sp) +/* A03DC0 80241580 AFB10014 */ sw $s1, 0x14($sp) +/* A03DC4 80241584 AFB00010 */ sw $s0, 0x10($sp) +/* A03DC8 80241588 8E510148 */ lw $s1, 0x148($s2) +/* A03DCC 8024158C 0C00EABB */ jal get_npc_unsafe +/* A03DD0 80241590 86240008 */ lh $a0, 8($s1) +/* A03DD4 80241594 0040802D */ daddu $s0, $v0, $zero +/* A03DD8 80241598 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A03DDC 8024159C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A03DE0 802415A0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A03DE4 802415A4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A03DE8 802415A8 A600008E */ sh $zero, 0x8e($s0) +/* A03DEC 802415AC 8C460028 */ lw $a2, 0x28($v0) +/* A03DF0 802415B0 0C00A720 */ jal atan2 +/* A03DF4 802415B4 8C470030 */ lw $a3, 0x30($v0) +/* A03DF8 802415B8 E600000C */ swc1 $f0, 0xc($s0) +/* A03DFC 802415BC 8E2200CC */ lw $v0, 0xcc($s1) +/* A03E00 802415C0 8C420020 */ lw $v0, 0x20($v0) +/* A03E04 802415C4 AE020028 */ sw $v0, 0x28($s0) +/* A03E08 802415C8 2402000B */ addiu $v0, $zero, 0xb +/* A03E0C 802415CC AE420070 */ sw $v0, 0x70($s2) +/* A03E10 802415D0 8FBF001C */ lw $ra, 0x1c($sp) +/* A03E14 802415D4 8FB20018 */ lw $s2, 0x18($sp) +/* A03E18 802415D8 8FB10014 */ lw $s1, 0x14($sp) +/* A03E1C 802415DC 8FB00010 */ lw $s0, 0x10($sp) +/* A03E20 802415E0 03E00008 */ jr $ra +/* A03E24 802415E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_802415E8.s b/asm/nonmatchings/world/area_nok/nok_14/func_802415E8.s new file mode 100644 index 0000000000..2c0e5ce4ca --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_802415E8.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415E8 +/* A03E28 802415E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A03E2C 802415EC AFB00010 */ sw $s0, 0x10($sp) +/* A03E30 802415F0 0080802D */ daddu $s0, $a0, $zero +/* A03E34 802415F4 AFBF0014 */ sw $ra, 0x14($sp) +/* A03E38 802415F8 8E020148 */ lw $v0, 0x148($s0) +/* A03E3C 802415FC 0C00EABB */ jal get_npc_unsafe +/* A03E40 80241600 84440008 */ lh $a0, 8($v0) +/* A03E44 80241604 9443008E */ lhu $v1, 0x8e($v0) +/* A03E48 80241608 C440003C */ lwc1 $f0, 0x3c($v0) +/* A03E4C 8024160C 24640001 */ addiu $a0, $v1, 1 +/* A03E50 80241610 00031C00 */ sll $v1, $v1, 0x10 +/* A03E54 80241614 00031B83 */ sra $v1, $v1, 0xe +/* A03E58 80241618 A444008E */ sh $a0, 0x8e($v0) +/* A03E5C 8024161C 3C018024 */ lui $at, 0x8024 +/* A03E60 80241620 00230821 */ addu $at, $at, $v1 +/* A03E64 80241624 C4223A18 */ lwc1 $f2, 0x3a18($at) +/* A03E68 80241628 8443008E */ lh $v1, 0x8e($v0) +/* A03E6C 8024162C 46020000 */ add.s $f0, $f0, $f2 +/* A03E70 80241630 28630005 */ slti $v1, $v1, 5 +/* A03E74 80241634 14600003 */ bnez $v1, .L80241644 +/* A03E78 80241638 E440003C */ swc1 $f0, 0x3c($v0) +/* A03E7C 8024163C 2402000C */ addiu $v0, $zero, 0xc +/* A03E80 80241640 AE020070 */ sw $v0, 0x70($s0) +.L80241644: +/* A03E84 80241644 8FBF0014 */ lw $ra, 0x14($sp) +/* A03E88 80241648 8FB00010 */ lw $s0, 0x10($sp) +/* A03E8C 8024164C 03E00008 */ jr $ra +/* A03E90 80241650 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241654.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241654.s new file mode 100644 index 0000000000..da25750ce2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241654.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241654 +/* A03E94 80241654 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A03E98 80241658 AFB3001C */ sw $s3, 0x1c($sp) +/* A03E9C 8024165C 0080982D */ daddu $s3, $a0, $zero +/* A03EA0 80241660 AFBF0020 */ sw $ra, 0x20($sp) +/* A03EA4 80241664 AFB20018 */ sw $s2, 0x18($sp) +/* A03EA8 80241668 AFB10014 */ sw $s1, 0x14($sp) +/* A03EAC 8024166C AFB00010 */ sw $s0, 0x10($sp) +/* A03EB0 80241670 8E720148 */ lw $s2, 0x148($s3) +/* A03EB4 80241674 86440008 */ lh $a0, 8($s2) +/* A03EB8 80241678 0C00EABB */ jal get_npc_unsafe +/* A03EBC 8024167C 00A0802D */ daddu $s0, $a1, $zero +/* A03EC0 80241680 0040882D */ daddu $s1, $v0, $zero +/* A03EC4 80241684 C6420080 */ lwc1 $f2, 0x80($s2) +/* A03EC8 80241688 468010A0 */ cvt.s.w $f2, $f2 +/* A03ECC 8024168C 460010A1 */ cvt.d.s $f2, $f2 +/* A03ED0 80241690 C6400084 */ lwc1 $f0, 0x84($s2) +/* A03ED4 80241694 46800020 */ cvt.s.w $f0, $f0 +/* A03ED8 80241698 46000021 */ cvt.d.s $f0, $f0 +/* A03EDC 8024169C 3C014059 */ lui $at, 0x4059 +/* A03EE0 802416A0 44812800 */ mtc1 $at, $f5 +/* A03EE4 802416A4 44802000 */ mtc1 $zero, $f4 +/* A03EE8 802416A8 8E4200CC */ lw $v0, 0xcc($s2) +/* A03EEC 802416AC C62C0038 */ lwc1 $f12, 0x38($s1) +/* A03EF0 802416B0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A03EF4 802416B4 46241083 */ div.d $f2, $f2, $f4 +/* A03EF8 802416B8 462010A0 */ cvt.s.d $f2, $f2 +/* A03EFC 802416BC 46240003 */ div.d $f0, $f0, $f4 +/* A03F00 802416C0 8C420020 */ lw $v0, 0x20($v0) +/* A03F04 802416C4 46200020 */ cvt.s.d $f0, $f0 +/* A03F08 802416C8 E622001C */ swc1 $f2, 0x1c($s1) +/* A03F0C 802416CC E6200014 */ swc1 $f0, 0x14($s1) +/* A03F10 802416D0 AE220028 */ sw $v0, 0x28($s1) +/* A03F14 802416D4 C6000018 */ lwc1 $f0, 0x18($s0) +/* A03F18 802416D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A03F1C 802416DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A03F20 802416E0 E6200018 */ swc1 $f0, 0x18($s1) +/* A03F24 802416E4 8C460028 */ lw $a2, 0x28($v0) +/* A03F28 802416E8 0C00A720 */ jal atan2 +/* A03F2C 802416EC 8C470030 */ lw $a3, 0x30($v0) +/* A03F30 802416F0 E620000C */ swc1 $f0, 0xc($s1) +/* A03F34 802416F4 8E420018 */ lw $v0, 0x18($s2) +/* A03F38 802416F8 AE400074 */ sw $zero, 0x74($s2) +/* A03F3C 802416FC 9442002A */ lhu $v0, 0x2a($v0) +/* A03F40 80241700 30420002 */ andi $v0, $v0, 2 +/* A03F44 80241704 10400005 */ beqz $v0, .L8024171C +/* A03F48 80241708 24020003 */ addiu $v0, $zero, 3 +/* A03F4C 8024170C A622008E */ sh $v0, 0x8e($s1) +/* A03F50 80241710 2402000D */ addiu $v0, $zero, 0xd +/* A03F54 80241714 080905DB */ j .L8024176C +/* A03F58 80241718 AE620070 */ sw $v0, 0x70($s3) +.L8024171C: +/* A03F5C 8024171C 24030001 */ addiu $v1, $zero, 1 +/* A03F60 80241720 2402000E */ addiu $v0, $zero, 0xe +/* A03F64 80241724 A623008E */ sh $v1, 0x8e($s1) +/* A03F68 80241728 AE620070 */ sw $v0, 0x70($s3) +/* A03F6C 8024172C C6200038 */ lwc1 $f0, 0x38($s1) +/* A03F70 80241730 4600018D */ trunc.w.s $f6, $f0 +/* A03F74 80241734 44023000 */ mfc1 $v0, $f6 +/* A03F78 80241738 00000000 */ nop +/* A03F7C 8024173C A6420010 */ sh $v0, 0x10($s2) +/* A03F80 80241740 C620003C */ lwc1 $f0, 0x3c($s1) +/* A03F84 80241744 4600018D */ trunc.w.s $f6, $f0 +/* A03F88 80241748 44023000 */ mfc1 $v0, $f6 +/* A03F8C 8024174C 00000000 */ nop +/* A03F90 80241750 A6420012 */ sh $v0, 0x12($s2) +/* A03F94 80241754 C6200040 */ lwc1 $f0, 0x40($s1) +/* A03F98 80241758 A2430007 */ sb $v1, 7($s2) +/* A03F9C 8024175C 4600018D */ trunc.w.s $f6, $f0 +/* A03FA0 80241760 44023000 */ mfc1 $v0, $f6 +/* A03FA4 80241764 00000000 */ nop +/* A03FA8 80241768 A6420014 */ sh $v0, 0x14($s2) +.L8024176C: +/* A03FAC 8024176C 8FBF0020 */ lw $ra, 0x20($sp) +/* A03FB0 80241770 8FB3001C */ lw $s3, 0x1c($sp) +/* A03FB4 80241774 8FB20018 */ lw $s2, 0x18($sp) +/* A03FB8 80241778 8FB10014 */ lw $s1, 0x14($sp) +/* A03FBC 8024177C 8FB00010 */ lw $s0, 0x10($sp) +/* A03FC0 80241780 03E00008 */ jr $ra +/* A03FC4 80241784 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241788.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241788.s new file mode 100644 index 0000000000..2f83e9d109 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241788.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241788 +/* A03FC8 80241788 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A03FCC 8024178C AFB00010 */ sw $s0, 0x10($sp) +/* A03FD0 80241790 0080802D */ daddu $s0, $a0, $zero +/* A03FD4 80241794 AFBF0014 */ sw $ra, 0x14($sp) +/* A03FD8 80241798 8E020148 */ lw $v0, 0x148($s0) +/* A03FDC 8024179C 0C00EABB */ jal get_npc_unsafe +/* A03FE0 802417A0 84440008 */ lh $a0, 8($v0) +/* A03FE4 802417A4 0040202D */ daddu $a0, $v0, $zero +/* A03FE8 802417A8 8482008E */ lh $v0, 0x8e($a0) +/* A03FEC 802417AC 9483008E */ lhu $v1, 0x8e($a0) +/* A03FF0 802417B0 18400005 */ blez $v0, .L802417C8 +/* A03FF4 802417B4 2462FFFF */ addiu $v0, $v1, -1 +/* A03FF8 802417B8 A482008E */ sh $v0, 0x8e($a0) +/* A03FFC 802417BC 00021400 */ sll $v0, $v0, 0x10 +/* A04000 802417C0 1C400006 */ bgtz $v0, .L802417DC +/* A04004 802417C4 00000000 */ nop +.L802417C8: +/* A04008 802417C8 8482008C */ lh $v0, 0x8c($a0) +/* A0400C 802417CC 14400003 */ bnez $v0, .L802417DC +/* A04010 802417D0 2402000E */ addiu $v0, $zero, 0xe +/* A04014 802417D4 A480008E */ sh $zero, 0x8e($a0) +/* A04018 802417D8 AE020070 */ sw $v0, 0x70($s0) +.L802417DC: +/* A0401C 802417DC 8FBF0014 */ lw $ra, 0x14($sp) +/* A04020 802417E0 8FB00010 */ lw $s0, 0x10($sp) +/* A04024 802417E4 03E00008 */ jr $ra +/* A04028 802417E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_802417EC.s b/asm/nonmatchings/world/area_nok/nok_14/func_802417EC.s new file mode 100644 index 0000000000..7f0bdb7383 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_802417EC.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417EC +/* A0402C 802417EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A04030 802417F0 AFB20030 */ sw $s2, 0x30($sp) +/* A04034 802417F4 0080902D */ daddu $s2, $a0, $zero +/* A04038 802417F8 AFBF0038 */ sw $ra, 0x38($sp) +/* A0403C 802417FC AFB30034 */ sw $s3, 0x34($sp) +/* A04040 80241800 AFB1002C */ sw $s1, 0x2c($sp) +/* A04044 80241804 AFB00028 */ sw $s0, 0x28($sp) +/* A04048 80241808 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A0404C 8024180C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A04050 80241810 8E510148 */ lw $s1, 0x148($s2) +/* A04054 80241814 86240008 */ lh $a0, 8($s1) +/* A04058 80241818 0C00EABB */ jal get_npc_unsafe +/* A0405C 8024181C 00A0982D */ daddu $s3, $a1, $zero +/* A04060 80241820 0040802D */ daddu $s0, $v0, $zero +/* A04064 80241824 0200202D */ daddu $a0, $s0, $zero +/* A04068 80241828 C6220088 */ lwc1 $f2, 0x88($s1) +/* A0406C 8024182C 468010A0 */ cvt.s.w $f2, $f2 +/* A04070 80241830 460010A1 */ cvt.d.s $f2, $f2 +/* A04074 80241834 C604001C */ lwc1 $f4, 0x1c($s0) +/* A04078 80241838 C6000014 */ lwc1 $f0, 0x14($s0) +/* A0407C 8024183C 8E050018 */ lw $a1, 0x18($s0) +/* A04080 80241840 46002100 */ add.s $f4, $f4, $f0 +/* A04084 80241844 8E06000C */ lw $a2, 0xc($s0) +/* A04088 80241848 C6200078 */ lwc1 $f0, 0x78($s1) +/* A0408C 8024184C 46800020 */ cvt.s.w $f0, $f0 +/* A04090 80241850 E604001C */ swc1 $f4, 0x1c($s0) +/* A04094 80241854 3C014059 */ lui $at, 0x4059 +/* A04098 80241858 44812800 */ mtc1 $at, $f5 +/* A0409C 8024185C 44802000 */ mtc1 $zero, $f4 +/* A040A0 80241860 46000021 */ cvt.d.s $f0, $f0 +/* A040A4 80241864 46240003 */ div.d $f0, $f0, $f4 +/* A040A8 80241868 46200520 */ cvt.s.d $f20, $f0 +/* A040AC 8024186C 46241083 */ div.d $f2, $f2, $f4 +/* A040B0 80241870 0C00EA95 */ jal npc_move_heading +/* A040B4 80241874 462015A0 */ cvt.s.d $f22, $f2 +/* A040B8 80241878 C604001C */ lwc1 $f4, 0x1c($s0) +/* A040BC 8024187C 44801000 */ mtc1 $zero, $f2 +/* A040C0 80241880 44801800 */ mtc1 $zero, $f3 +/* A040C4 80241884 46002021 */ cvt.d.s $f0, $f4 +/* A040C8 80241888 4620103E */ c.le.d $f2, $f0 +/* A040CC 8024188C 00000000 */ nop +/* A040D0 80241890 45000030 */ bc1f .L80241954 +/* A040D4 80241894 00000000 */ nop +/* A040D8 80241898 C600003C */ lwc1 $f0, 0x3c($s0) +/* A040DC 8024189C 46040000 */ add.s $f0, $f0, $f4 +/* A040E0 802418A0 E600003C */ swc1 $f0, 0x3c($s0) +/* A040E4 802418A4 8E2200CC */ lw $v0, 0xcc($s1) +/* A040E8 802418A8 8C420024 */ lw $v0, 0x24($v0) +/* A040EC 802418AC AE020028 */ sw $v0, 0x28($s0) +/* A040F0 802418B0 A2200007 */ sb $zero, 7($s1) +/* A040F4 802418B4 8E020000 */ lw $v0, ($s0) +/* A040F8 802418B8 30420008 */ andi $v0, $v0, 8 +/* A040FC 802418BC 14400011 */ bnez $v0, .L80241904 +/* A04100 802418C0 0000102D */ daddu $v0, $zero, $zero +/* A04104 802418C4 27A50018 */ addiu $a1, $sp, 0x18 +/* A04108 802418C8 27A6001C */ addiu $a2, $sp, 0x1c +/* A0410C 802418CC C6000038 */ lwc1 $f0, 0x38($s0) +/* A04110 802418D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* A04114 802418D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A04118 802418D8 3C01447A */ lui $at, 0x447a +/* A0411C 802418DC 44813000 */ mtc1 $at, $f6 +/* A04120 802418E0 27A20024 */ addiu $v0, $sp, 0x24 +/* A04124 802418E4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A04128 802418E8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A0412C 802418EC E7A40020 */ swc1 $f4, 0x20($sp) +/* A04130 802418F0 E7A60024 */ swc1 $f6, 0x24($sp) +/* A04134 802418F4 AFA20010 */ sw $v0, 0x10($sp) +/* A04138 802418F8 8E040080 */ lw $a0, 0x80($s0) +/* A0413C 802418FC 0C0372DF */ jal func_800DCB7C +/* A04140 80241900 27A70020 */ addiu $a3, $sp, 0x20 +.L80241904: +/* A04144 80241904 1040000B */ beqz $v0, .L80241934 +/* A04148 80241908 00000000 */ nop +/* A0414C 8024190C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A04150 80241910 46140080 */ add.s $f2, $f0, $f20 +/* A04154 80241914 C600003C */ lwc1 $f0, 0x3c($s0) +/* A04158 80241918 4600103E */ c.le.s $f2, $f0 +/* A0415C 8024191C 00000000 */ nop +/* A04160 80241920 4500008D */ bc1f .L80241B58 +/* A04164 80241924 00000000 */ nop +/* A04168 80241928 E602003C */ swc1 $f2, 0x3c($s0) +/* A0416C 8024192C 080906D6 */ j .L80241B58 +/* A04170 80241930 AE400070 */ sw $zero, 0x70($s2) +.L80241934: +/* A04174 80241934 C602003C */ lwc1 $f2, 0x3c($s0) +/* A04178 80241938 C6000064 */ lwc1 $f0, 0x64($s0) +/* A0417C 8024193C 4602003E */ c.le.s $f0, $f2 +/* A04180 80241940 00000000 */ nop +/* A04184 80241944 45030084 */ bc1tl .L80241B58 +/* A04188 80241948 AE400070 */ sw $zero, 0x70($s2) +/* A0418C 8024194C 080906D6 */ j .L80241B58 +/* A04190 80241950 00000000 */ nop +.L80241954: +/* A04194 80241954 4622003C */ c.lt.d $f0, $f2 +/* A04198 80241958 00000000 */ nop +/* A0419C 8024195C 4500007E */ bc1f .L80241B58 +/* A041A0 80241960 00000000 */ nop +/* A041A4 80241964 9602008E */ lhu $v0, 0x8e($s0) +/* A041A8 80241968 24420001 */ addiu $v0, $v0, 1 +/* A041AC 8024196C A602008E */ sh $v0, 0x8e($s0) +/* A041B0 80241970 00021400 */ sll $v0, $v0, 0x10 +/* A041B4 80241974 8E630020 */ lw $v1, 0x20($s3) +/* A041B8 80241978 00021403 */ sra $v0, $v0, 0x10 +/* A041BC 8024197C 0043102A */ slt $v0, $v0, $v1 +/* A041C0 80241980 14400026 */ bnez $v0, .L80241A1C +/* A041C4 80241984 00000000 */ nop +/* A041C8 80241988 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A041CC 8024198C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A041D0 80241990 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A041D4 80241994 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A041D8 80241998 A600008E */ sh $zero, 0x8e($s0) +/* A041DC 8024199C 8C460028 */ lw $a2, 0x28($v0) +/* A041E0 802419A0 0C00A720 */ jal atan2 +/* A041E4 802419A4 8C470030 */ lw $a3, 0x30($v0) +/* A041E8 802419A8 46000506 */ mov.s $f20, $f0 +/* A041EC 802419AC C60C000C */ lwc1 $f12, 0xc($s0) +/* A041F0 802419B0 0C00A70A */ jal get_clamped_angle_diff +/* A041F4 802419B4 4600A386 */ mov.s $f14, $f20 +/* A041F8 802419B8 46000086 */ mov.s $f2, $f0 +/* A041FC 802419BC 8E62001C */ lw $v0, 0x1c($s3) +/* A04200 802419C0 46001005 */ abs.s $f0, $f2 +/* A04204 802419C4 44822000 */ mtc1 $v0, $f4 +/* A04208 802419C8 00000000 */ nop +/* A0420C 802419CC 46802120 */ cvt.s.w $f4, $f4 +/* A04210 802419D0 4600203C */ c.lt.s $f4, $f0 +/* A04214 802419D4 00000000 */ nop +/* A04218 802419D8 4500000D */ bc1f .L80241A10 +/* A0421C 802419DC 00000000 */ nop +/* A04220 802419E0 44800000 */ mtc1 $zero, $f0 +/* A04224 802419E4 C614000C */ lwc1 $f20, 0xc($s0) +/* A04228 802419E8 4600103C */ c.lt.s $f2, $f0 +/* A0422C 802419EC 00000000 */ nop +/* A04230 802419F0 45000006 */ bc1f .L80241A0C +/* A04234 802419F4 00021023 */ negu $v0, $v0 +/* A04238 802419F8 44820000 */ mtc1 $v0, $f0 +/* A0423C 802419FC 00000000 */ nop +/* A04240 80241A00 46800020 */ cvt.s.w $f0, $f0 +/* A04244 80241A04 08090684 */ j .L80241A10 +/* A04248 80241A08 4600A500 */ add.s $f20, $f20, $f0 +.L80241A0C: +/* A0424C 80241A0C 4604A500 */ add.s $f20, $f20, $f4 +.L80241A10: +/* A04250 80241A10 0C00A6C9 */ jal clamp_angle +/* A04254 80241A14 4600A306 */ mov.s $f12, $f20 +/* A04258 80241A18 E600000C */ swc1 $f0, 0xc($s0) +.L80241A1C: +/* A0425C 80241A1C 8E020000 */ lw $v0, ($s0) +/* A04260 80241A20 30420008 */ andi $v0, $v0, 8 +/* A04264 80241A24 1040000A */ beqz $v0, .L80241A50 +/* A04268 80241A28 27A50018 */ addiu $a1, $sp, 0x18 +/* A0426C 80241A2C C602003C */ lwc1 $f2, 0x3c($s0) +/* A04270 80241A30 C600001C */ lwc1 $f0, 0x1c($s0) +/* A04274 80241A34 46001080 */ add.s $f2, $f2, $f0 +/* A04278 80241A38 4616103C */ c.lt.s $f2, $f22 +/* A0427C 80241A3C 00000000 */ nop +/* A04280 80241A40 45020045 */ bc1fl .L80241B58 +/* A04284 80241A44 E602003C */ swc1 $f2, 0x3c($s0) +/* A04288 80241A48 080906D5 */ j .L80241B54 +/* A0428C 80241A4C E616003C */ swc1 $f22, 0x3c($s0) +.L80241A50: +/* A04290 80241A50 C6000038 */ lwc1 $f0, 0x38($s0) +/* A04294 80241A54 27A6001C */ addiu $a2, $sp, 0x1c +/* A04298 80241A58 E7A00018 */ swc1 $f0, 0x18($sp) +/* A0429C 80241A5C 860200A8 */ lh $v0, 0xa8($s0) +/* A042A0 80241A60 C600001C */ lwc1 $f0, 0x1c($s0) +/* A042A4 80241A64 C604003C */ lwc1 $f4, 0x3c($s0) +/* A042A8 80241A68 44821000 */ mtc1 $v0, $f2 +/* A042AC 80241A6C 00000000 */ nop +/* A042B0 80241A70 468010A0 */ cvt.s.w $f2, $f2 +/* A042B4 80241A74 46000005 */ abs.s $f0, $f0 +/* A042B8 80241A78 46020000 */ add.s $f0, $f0, $f2 +/* A042BC 80241A7C C6060040 */ lwc1 $f6, 0x40($s0) +/* A042C0 80241A80 27A20024 */ addiu $v0, $sp, 0x24 +/* A042C4 80241A84 46022100 */ add.s $f4, $f4, $f2 +/* A042C8 80241A88 3C014024 */ lui $at, 0x4024 +/* A042CC 80241A8C 44811800 */ mtc1 $at, $f3 +/* A042D0 80241A90 44801000 */ mtc1 $zero, $f2 +/* A042D4 80241A94 46000021 */ cvt.d.s $f0, $f0 +/* A042D8 80241A98 46220000 */ add.d $f0, $f0, $f2 +/* A042DC 80241A9C E7A60020 */ swc1 $f6, 0x20($sp) +/* A042E0 80241AA0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* A042E4 80241AA4 46200020 */ cvt.s.d $f0, $f0 +/* A042E8 80241AA8 E7A00024 */ swc1 $f0, 0x24($sp) +/* A042EC 80241AAC AFA20010 */ sw $v0, 0x10($sp) +/* A042F0 80241AB0 8E040080 */ lw $a0, 0x80($s0) +/* A042F4 80241AB4 0C0372DF */ jal func_800DCB7C +/* A042F8 80241AB8 27A70020 */ addiu $a3, $sp, 0x20 +/* A042FC 80241ABC 10400015 */ beqz $v0, .L80241B14 +/* A04300 80241AC0 00000000 */ nop +/* A04304 80241AC4 860200A8 */ lh $v0, 0xa8($s0) +/* A04308 80241AC8 C604001C */ lwc1 $f4, 0x1c($s0) +/* A0430C 80241ACC 44820000 */ mtc1 $v0, $f0 +/* A04310 80241AD0 00000000 */ nop +/* A04314 80241AD4 46800020 */ cvt.s.w $f0, $f0 +/* A04318 80241AD8 46002085 */ abs.s $f2, $f4 +/* A0431C 80241ADC 46020000 */ add.s $f0, $f0, $f2 +/* A04320 80241AE0 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A04324 80241AE4 4600103E */ c.le.s $f2, $f0 +/* A04328 80241AE8 00000000 */ nop +/* A0432C 80241AEC 45000005 */ bc1f .L80241B04 +/* A04330 80241AF0 00000000 */ nop +/* A04334 80241AF4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A04338 80241AF8 AE00001C */ sw $zero, 0x1c($s0) +/* A0433C 80241AFC 080906D6 */ j .L80241B58 +/* A04340 80241B00 E600003C */ swc1 $f0, 0x3c($s0) +.L80241B04: +/* A04344 80241B04 C600003C */ lwc1 $f0, 0x3c($s0) +/* A04348 80241B08 46040000 */ add.s $f0, $f0, $f4 +/* A0434C 80241B0C 080906D6 */ j .L80241B58 +/* A04350 80241B10 E600003C */ swc1 $f0, 0x3c($s0) +.L80241B14: +/* A04354 80241B14 C606003C */ lwc1 $f6, 0x3c($s0) +/* A04358 80241B18 860200A8 */ lh $v0, 0xa8($s0) +/* A0435C 80241B1C 46163081 */ sub.s $f2, $f6, $f22 +/* A04360 80241B20 44820000 */ mtc1 $v0, $f0 +/* A04364 80241B24 00000000 */ nop +/* A04368 80241B28 46800020 */ cvt.s.w $f0, $f0 +/* A0436C 80241B2C 46001080 */ add.s $f2, $f2, $f0 +/* A04370 80241B30 C604001C */ lwc1 $f4, 0x1c($s0) +/* A04374 80241B34 46002005 */ abs.s $f0, $f4 +/* A04378 80241B38 4602003C */ c.lt.s $f0, $f2 +/* A0437C 80241B3C 00000000 */ nop +/* A04380 80241B40 45020005 */ bc1fl .L80241B58 +/* A04384 80241B44 AE00001C */ sw $zero, 0x1c($s0) +/* A04388 80241B48 46043000 */ add.s $f0, $f6, $f4 +/* A0438C 80241B4C 080906D6 */ j .L80241B58 +/* A04390 80241B50 E600003C */ swc1 $f0, 0x3c($s0) +.L80241B54: +/* A04394 80241B54 AE00001C */ sw $zero, 0x1c($s0) +.L80241B58: +/* A04398 80241B58 8FBF0038 */ lw $ra, 0x38($sp) +/* A0439C 80241B5C 8FB30034 */ lw $s3, 0x34($sp) +/* A043A0 80241B60 8FB20030 */ lw $s2, 0x30($sp) +/* A043A4 80241B64 8FB1002C */ lw $s1, 0x2c($sp) +/* A043A8 80241B68 8FB00028 */ lw $s0, 0x28($sp) +/* A043AC 80241B6C D7B60048 */ ldc1 $f22, 0x48($sp) +/* A043B0 80241B70 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A043B4 80241B74 03E00008 */ jr $ra +/* A043B8 80241B78 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241B7C.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241B7C.s new file mode 100644 index 0000000000..eb4c718c52 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241B7C.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B7C +/* A043BC 80241B7C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A043C0 80241B80 AFB00028 */ sw $s0, 0x28($sp) +/* A043C4 80241B84 00A0802D */ daddu $s0, $a1, $zero +/* A043C8 80241B88 AFB1002C */ sw $s1, 0x2c($sp) +/* A043CC 80241B8C 00C0882D */ daddu $s1, $a2, $zero +/* A043D0 80241B90 AFBF0034 */ sw $ra, 0x34($sp) +/* A043D4 80241B94 AFB20030 */ sw $s2, 0x30($sp) +/* A043D8 80241B98 AE200070 */ sw $zero, 0x70($s1) +/* A043DC 80241B9C 8C830000 */ lw $v1, ($a0) +/* A043E0 80241BA0 2402FDFF */ addiu $v0, $zero, -0x201 +/* A043E4 80241BA4 A480008E */ sh $zero, 0x8e($a0) +/* A043E8 80241BA8 00621824 */ and $v1, $v1, $v0 +/* A043EC 80241BAC 34650800 */ ori $a1, $v1, 0x800 +/* A043F0 80241BB0 AC850000 */ sw $a1, ($a0) +/* A043F4 80241BB4 8E0200D0 */ lw $v0, 0xd0($s0) +/* A043F8 80241BB8 8C420034 */ lw $v0, 0x34($v0) +/* A043FC 80241BBC 10400003 */ beqz $v0, .L80241BCC +/* A04400 80241BC0 00E0902D */ daddu $s2, $a3, $zero +/* A04404 80241BC4 080906F5 */ j .L80241BD4 +/* A04408 80241BC8 34620808 */ ori $v0, $v1, 0x808 +.L80241BCC: +/* A0440C 80241BCC 2402FFF7 */ addiu $v0, $zero, -9 +/* A04410 80241BD0 00A21024 */ and $v0, $a1, $v0 +.L80241BD4: +/* A04414 80241BD4 AC820000 */ sw $v0, ($a0) +/* A04418 80241BD8 27A20024 */ addiu $v0, $sp, 0x24 +/* A0441C 80241BDC 27A50018 */ addiu $a1, $sp, 0x18 +/* A04420 80241BE0 C4800038 */ lwc1 $f0, 0x38($a0) +/* A04424 80241BE4 C482003C */ lwc1 $f2, 0x3c($a0) +/* A04428 80241BE8 C4840040 */ lwc1 $f4, 0x40($a0) +/* A0442C 80241BEC 3C01447A */ lui $at, 0x447a +/* A04430 80241BF0 44813000 */ mtc1 $at, $f6 +/* A04434 80241BF4 27A6001C */ addiu $a2, $sp, 0x1c +/* A04438 80241BF8 E7A00018 */ swc1 $f0, 0x18($sp) +/* A0443C 80241BFC E7A2001C */ swc1 $f2, 0x1c($sp) +/* A04440 80241C00 E7A40020 */ swc1 $f4, 0x20($sp) +/* A04444 80241C04 E7A60024 */ swc1 $f6, 0x24($sp) +/* A04448 80241C08 AFA20010 */ sw $v0, 0x10($sp) +/* A0444C 80241C0C 8C840080 */ lw $a0, 0x80($a0) +/* A04450 80241C10 0C0372DF */ jal func_800DCB7C +/* A04454 80241C14 27A70020 */ addiu $a3, $sp, 0x20 +/* A04458 80241C18 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A0445C 80241C1C 3C014059 */ lui $at, 0x4059 +/* A04460 80241C20 44812800 */ mtc1 $at, $f5 +/* A04464 80241C24 44802000 */ mtc1 $zero, $f4 +/* A04468 80241C28 460010A1 */ cvt.d.s $f2, $f2 +/* A0446C 80241C2C 46241082 */ mul.d $f2, $f2, $f4 +/* A04470 80241C30 00000000 */ nop +/* A04474 80241C34 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A04478 80241C38 46000021 */ cvt.d.s $f0, $f0 +/* A0447C 80241C3C 46240002 */ mul.d $f0, $f0, $f4 +/* A04480 80241C40 00000000 */ nop +/* A04484 80241C44 3C013FE0 */ lui $at, 0x3fe0 +/* A04488 80241C48 44812800 */ mtc1 $at, $f5 +/* A0448C 80241C4C 44802000 */ mtc1 $zero, $f4 +/* A04490 80241C50 00000000 */ nop +/* A04494 80241C54 46241080 */ add.d $f2, $f2, $f4 +/* A04498 80241C58 AE000074 */ sw $zero, 0x74($s0) +/* A0449C 80241C5C 46240000 */ add.d $f0, $f0, $f4 +/* A044A0 80241C60 AE000090 */ sw $zero, 0x90($s0) +/* A044A4 80241C64 4620120D */ trunc.w.d $f8, $f2 +/* A044A8 80241C68 E6080078 */ swc1 $f8, 0x78($s0) +/* A044AC 80241C6C 4620020D */ trunc.w.d $f8, $f0 +/* A044B0 80241C70 E6080088 */ swc1 $f8, 0x88($s0) +/* A044B4 80241C74 8E420014 */ lw $v0, 0x14($s2) +/* A044B8 80241C78 AE220074 */ sw $v0, 0x74($s1) +/* A044BC 80241C7C 8E0200B0 */ lw $v0, 0xb0($s0) +/* A044C0 80241C80 34420010 */ ori $v0, $v0, 0x10 +/* A044C4 80241C84 AE0200B0 */ sw $v0, 0xb0($s0) +/* A044C8 80241C88 8FBF0034 */ lw $ra, 0x34($sp) +/* A044CC 80241C8C 8FB20030 */ lw $s2, 0x30($sp) +/* A044D0 80241C90 8FB1002C */ lw $s1, 0x2c($sp) +/* A044D4 80241C94 8FB00028 */ lw $s0, 0x28($sp) +/* A044D8 80241C98 03E00008 */ jr $ra +/* A044DC 80241C9C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241CA0_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241CA0_A02840.s new file mode 100644 index 0000000000..7a9fd056f2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241CA0_A02840.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CA0_A044E0 +/* A044E0 80241CA0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A044E4 80241CA4 AFB40040 */ sw $s4, 0x40($sp) +/* A044E8 80241CA8 0080A02D */ daddu $s4, $a0, $zero +/* A044EC 80241CAC AFBF0048 */ sw $ra, 0x48($sp) +/* A044F0 80241CB0 AFB50044 */ sw $s5, 0x44($sp) +/* A044F4 80241CB4 AFB3003C */ sw $s3, 0x3c($sp) +/* A044F8 80241CB8 AFB20038 */ sw $s2, 0x38($sp) +/* A044FC 80241CBC AFB10034 */ sw $s1, 0x34($sp) +/* A04500 80241CC0 AFB00030 */ sw $s0, 0x30($sp) +/* A04504 80241CC4 8E920148 */ lw $s2, 0x148($s4) +/* A04508 80241CC8 86440008 */ lh $a0, 8($s2) +/* A0450C 80241CCC 8E90000C */ lw $s0, 0xc($s4) +/* A04510 80241CD0 0C00EABB */ jal get_npc_unsafe +/* A04514 80241CD4 00A0882D */ daddu $s1, $a1, $zero +/* A04518 80241CD8 0280202D */ daddu $a0, $s4, $zero +/* A0451C 80241CDC 8E050000 */ lw $a1, ($s0) +/* A04520 80241CE0 0C0B1EAF */ jal get_variable +/* A04524 80241CE4 0040A82D */ daddu $s5, $v0, $zero +/* A04528 80241CE8 AFA00010 */ sw $zero, 0x10($sp) +/* A0452C 80241CEC 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04530 80241CF0 8C630030 */ lw $v1, 0x30($v1) +/* A04534 80241CF4 AFA30014 */ sw $v1, 0x14($sp) +/* A04538 80241CF8 8E4300D0 */ lw $v1, 0xd0($s2) +/* A0453C 80241CFC 8C63001C */ lw $v1, 0x1c($v1) +/* A04540 80241D00 AFA30018 */ sw $v1, 0x18($sp) +/* A04544 80241D04 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04548 80241D08 8C630024 */ lw $v1, 0x24($v1) +/* A0454C 80241D0C AFA3001C */ sw $v1, 0x1c($sp) +/* A04550 80241D10 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04554 80241D14 8C630028 */ lw $v1, 0x28($v1) +/* A04558 80241D18 27B30010 */ addiu $s3, $sp, 0x10 +/* A0455C 80241D1C AFA30020 */ sw $v1, 0x20($sp) +/* A04560 80241D20 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04564 80241D24 3C0142F0 */ lui $at, 0x42f0 +/* A04568 80241D28 44810000 */ mtc1 $at, $f0 +/* A0456C 80241D2C 8C63002C */ lw $v1, 0x2c($v1) +/* A04570 80241D30 0040802D */ daddu $s0, $v0, $zero +/* A04574 80241D34 E7A00028 */ swc1 $f0, 0x28($sp) +/* A04578 80241D38 A7A0002C */ sh $zero, 0x2c($sp) +/* A0457C 80241D3C 12200006 */ beqz $s1, .L80241D58 +/* A04580 80241D40 AFA30024 */ sw $v1, 0x24($sp) +/* A04584 80241D44 02A0202D */ daddu $a0, $s5, $zero +/* A04588 80241D48 0240282D */ daddu $a1, $s2, $zero +/* A0458C 80241D4C 0280302D */ daddu $a2, $s4, $zero +/* A04590 80241D50 0C0906DF */ jal func_80241B7C +/* A04594 80241D54 0200382D */ daddu $a3, $s0, $zero +.L80241D58: +/* A04598 80241D58 2402FFFE */ addiu $v0, $zero, -2 +/* A0459C 80241D5C A2A200AB */ sb $v0, 0xab($s5) +/* A045A0 80241D60 8E4300B0 */ lw $v1, 0xb0($s2) +/* A045A4 80241D64 30620004 */ andi $v0, $v1, 4 +/* A045A8 80241D68 10400007 */ beqz $v0, .L80241D88 +/* A045AC 80241D6C 00000000 */ nop +/* A045B0 80241D70 824200B4 */ lb $v0, 0xb4($s2) +/* A045B4 80241D74 1440003C */ bnez $v0, .L80241E68 +/* A045B8 80241D78 0000102D */ daddu $v0, $zero, $zero +/* A045BC 80241D7C 2402FFFB */ addiu $v0, $zero, -5 +/* A045C0 80241D80 00621024 */ and $v0, $v1, $v0 +/* A045C4 80241D84 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241D88: +/* A045C8 80241D88 8E830070 */ lw $v1, 0x70($s4) +/* A045CC 80241D8C 2C62000F */ sltiu $v0, $v1, 0xf +/* A045D0 80241D90 10400034 */ beqz $v0, .L80241E64 +/* A045D4 80241D94 00031080 */ sll $v0, $v1, 2 +/* A045D8 80241D98 3C018024 */ lui $at, 0x8024 +/* A045DC 80241D9C 00220821 */ addu $at, $at, $v0 +/* A045E0 80241DA0 8C224638 */ lw $v0, 0x4638($at) +/* A045E4 80241DA4 00400008 */ jr $v0 +/* A045E8 80241DA8 00000000 */ nop +/* A045EC 80241DAC 0280202D */ daddu $a0, $s4, $zero +/* A045F0 80241DB0 0200282D */ daddu $a1, $s0, $zero +/* A045F4 80241DB4 0C090265 */ jal func_80240994 +/* A045F8 80241DB8 0260302D */ daddu $a2, $s3, $zero +/* A045FC 80241DBC 0280202D */ daddu $a0, $s4, $zero +/* A04600 80241DC0 0200282D */ daddu $a1, $s0, $zero +/* A04604 80241DC4 0C0902D1 */ jal func_80240B44 +/* A04608 80241DC8 0260302D */ daddu $a2, $s3, $zero +/* A0460C 80241DCC 0809079A */ j .L80241E68 +/* A04610 80241DD0 0000102D */ daddu $v0, $zero, $zero +/* A04614 80241DD4 0280202D */ daddu $a0, $s4, $zero +/* A04618 80241DD8 0200282D */ daddu $a1, $s0, $zero +/* A0461C 80241DDC 0C09045B */ jal func_8024116C +/* A04620 80241DE0 0260302D */ daddu $a2, $s3, $zero +/* A04624 80241DE4 0280202D */ daddu $a0, $s4, $zero +/* A04628 80241DE8 0200282D */ daddu $a1, $s0, $zero +/* A0462C 80241DEC 0C09048B */ jal func_8024122C +/* A04630 80241DF0 0260302D */ daddu $a2, $s3, $zero +/* A04634 80241DF4 0809079A */ j .L80241E68 +/* A04638 80241DF8 0000102D */ daddu $v0, $zero, $zero +/* A0463C 80241DFC 0280202D */ daddu $a0, $s4, $zero +/* A04640 80241E00 0200282D */ daddu $a1, $s0, $zero +/* A04644 80241E04 0C09055C */ jal func_80241570 +/* A04648 80241E08 0260302D */ daddu $a2, $s3, $zero +/* A0464C 80241E0C 0280202D */ daddu $a0, $s4, $zero +/* A04650 80241E10 0200282D */ daddu $a1, $s0, $zero +/* A04654 80241E14 0C09057A */ jal func_802415E8 +/* A04658 80241E18 0260302D */ daddu $a2, $s3, $zero +/* A0465C 80241E1C 0809079A */ j .L80241E68 +/* A04660 80241E20 0000102D */ daddu $v0, $zero, $zero +/* A04664 80241E24 0280202D */ daddu $a0, $s4, $zero +/* A04668 80241E28 0200282D */ daddu $a1, $s0, $zero +/* A0466C 80241E2C 0C090595 */ jal func_80241654 +/* A04670 80241E30 0260302D */ daddu $a2, $s3, $zero +/* A04674 80241E34 0809079A */ j .L80241E68 +/* A04678 80241E38 0000102D */ daddu $v0, $zero, $zero +/* A0467C 80241E3C 0280202D */ daddu $a0, $s4, $zero +/* A04680 80241E40 0200282D */ daddu $a1, $s0, $zero +/* A04684 80241E44 0C0905E2 */ jal func_80241788 +/* A04688 80241E48 0260302D */ daddu $a2, $s3, $zero +/* A0468C 80241E4C 0809079A */ j .L80241E68 +/* A04690 80241E50 0000102D */ daddu $v0, $zero, $zero +/* A04694 80241E54 0280202D */ daddu $a0, $s4, $zero +/* A04698 80241E58 0200282D */ daddu $a1, $s0, $zero +/* A0469C 80241E5C 0C0905FB */ jal func_802417EC +/* A046A0 80241E60 0260302D */ daddu $a2, $s3, $zero +.L80241E64: +/* A046A4 80241E64 0000102D */ daddu $v0, $zero, $zero +.L80241E68: +/* A046A8 80241E68 8FBF0048 */ lw $ra, 0x48($sp) +/* A046AC 80241E6C 8FB50044 */ lw $s5, 0x44($sp) +/* A046B0 80241E70 8FB40040 */ lw $s4, 0x40($sp) +/* A046B4 80241E74 8FB3003C */ lw $s3, 0x3c($sp) +/* A046B8 80241E78 8FB20038 */ lw $s2, 0x38($sp) +/* A046BC 80241E7C 8FB10034 */ lw $s1, 0x34($sp) +/* A046C0 80241E80 8FB00030 */ lw $s0, 0x30($sp) +/* A046C4 80241E84 03E00008 */ jr $ra +/* A046C8 80241E88 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241E8C_A02840.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241E8C_A02840.s new file mode 100644 index 0000000000..e4c48bab14 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241E8C_A02840.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E8C_A046CC +/* A046CC 80241E8C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A046D0 80241E90 AFB3001C */ sw $s3, 0x1c($sp) +/* A046D4 80241E94 0080982D */ daddu $s3, $a0, $zero +/* A046D8 80241E98 AFBF0020 */ sw $ra, 0x20($sp) +/* A046DC 80241E9C AFB20018 */ sw $s2, 0x18($sp) +/* A046E0 80241EA0 AFB10014 */ sw $s1, 0x14($sp) +/* A046E4 80241EA4 AFB00010 */ sw $s0, 0x10($sp) +/* A046E8 80241EA8 8E710148 */ lw $s1, 0x148($s3) +/* A046EC 80241EAC 0C00EABB */ jal get_npc_unsafe +/* A046F0 80241EB0 86240008 */ lh $a0, 8($s1) +/* A046F4 80241EB4 0040802D */ daddu $s0, $v0, $zero +/* A046F8 80241EB8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A046FC 80241EBC 8E2200CC */ lw $v0, 0xcc($s1) +/* A04700 80241EC0 3C01C0A0 */ lui $at, 0xc0a0 +/* A04704 80241EC4 44811000 */ mtc1 $at, $f2 +/* A04708 80241EC8 3C013E19 */ lui $at, 0x3e19 +/* A0470C 80241ECC 3421999A */ ori $at, $at, 0x999a +/* A04710 80241ED0 44810000 */ mtc1 $at, $f0 +/* A04714 80241ED4 8C420024 */ lw $v0, 0x24($v0) +/* A04718 80241ED8 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* A0471C 80241EDC 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* A04720 80241EE0 E602001C */ swc1 $f2, 0x1c($s0) +/* A04724 80241EE4 E6000014 */ swc1 $f0, 0x14($s0) +/* A04728 80241EE8 AE020028 */ sw $v0, 0x28($s0) +/* A0472C 80241EEC 8E22008C */ lw $v0, 0x8c($s1) +/* A04730 80241EF0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A04734 80241EF4 00021FC2 */ srl $v1, $v0, 0x1f +/* A04738 80241EF8 00431021 */ addu $v0, $v0, $v1 +/* A0473C 80241EFC 8E430000 */ lw $v1, ($s2) +/* A04740 80241F00 00021043 */ sra $v0, $v0, 1 +/* A04744 80241F04 A60200A8 */ sh $v0, 0xa8($s0) +/* A04748 80241F08 8C660028 */ lw $a2, 0x28($v1) +/* A0474C 80241F0C 0C00A7B5 */ jal dist2D +/* A04750 80241F10 8C670030 */ lw $a3, 0x30($v1) +/* A04754 80241F14 0200202D */ daddu $a0, $s0, $zero +/* A04758 80241F18 0000302D */ daddu $a2, $zero, $zero +/* A0475C 80241F1C C6020038 */ lwc1 $f2, 0x38($s0) +/* A04760 80241F20 3C0140E0 */ lui $at, 0x40e0 +/* A04764 80241F24 44810000 */ mtc1 $at, $f0 +/* A04768 80241F28 4600110D */ trunc.w.s $f4, $f2 +/* A0476C 80241F2C 44022000 */ mfc1 $v0, $f4 +/* A04770 80241F30 E6000018 */ swc1 $f0, 0x18($s0) +/* A04774 80241F34 A6220010 */ sh $v0, 0x10($s1) +/* A04778 80241F38 C600003C */ lwc1 $f0, 0x3c($s0) +/* A0477C 80241F3C 240502C1 */ addiu $a1, $zero, 0x2c1 +/* A04780 80241F40 4600010D */ trunc.w.s $f4, $f0 +/* A04784 80241F44 44022000 */ mfc1 $v0, $f4 +/* A04788 80241F48 00000000 */ nop +/* A0478C 80241F4C A6220012 */ sh $v0, 0x12($s1) +/* A04790 80241F50 C6000040 */ lwc1 $f0, 0x40($s0) +/* A04794 80241F54 24020001 */ addiu $v0, $zero, 1 +/* A04798 80241F58 A2220007 */ sb $v0, 7($s1) +/* A0479C 80241F5C 4600010D */ trunc.w.s $f4, $f0 +/* A047A0 80241F60 44022000 */ mfc1 $v0, $f4 +/* A047A4 80241F64 0C012530 */ jal func_800494C0 +/* A047A8 80241F68 A6220014 */ sh $v0, 0x14($s1) +/* A047AC 80241F6C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A047B0 80241F70 8E420000 */ lw $v0, ($s2) +/* A047B4 80241F74 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A047B8 80241F78 8C460028 */ lw $a2, 0x28($v0) +/* A047BC 80241F7C 0C00A720 */ jal atan2 +/* A047C0 80241F80 8C470030 */ lw $a3, 0x30($v0) +/* A047C4 80241F84 2402000C */ addiu $v0, $zero, 0xc +/* A047C8 80241F88 A602008E */ sh $v0, 0x8e($s0) +/* A047CC 80241F8C 2402000D */ addiu $v0, $zero, 0xd +/* A047D0 80241F90 E600000C */ swc1 $f0, 0xc($s0) +/* A047D4 80241F94 AE620070 */ sw $v0, 0x70($s3) +/* A047D8 80241F98 8FBF0020 */ lw $ra, 0x20($sp) +/* A047DC 80241F9C 8FB3001C */ lw $s3, 0x1c($sp) +/* A047E0 80241FA0 8FB20018 */ lw $s2, 0x18($sp) +/* A047E4 80241FA4 8FB10014 */ lw $s1, 0x14($sp) +/* A047E8 80241FA8 8FB00010 */ lw $s0, 0x10($sp) +/* A047EC 80241FAC 03E00008 */ jr $ra +/* A047F0 80241FB0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80241FB4.s b/asm/nonmatchings/world/area_nok/nok_14/func_80241FB4.s new file mode 100644 index 0000000000..f43b2c5e16 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80241FB4.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FB4 +/* A047F4 80241FB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A047F8 80241FB8 AFB20018 */ sw $s2, 0x18($sp) +/* A047FC 80241FBC 0080902D */ daddu $s2, $a0, $zero +/* A04800 80241FC0 AFBF001C */ sw $ra, 0x1c($sp) +/* A04804 80241FC4 AFB10014 */ sw $s1, 0x14($sp) +/* A04808 80241FC8 AFB00010 */ sw $s0, 0x10($sp) +/* A0480C 80241FCC 8E510148 */ lw $s1, 0x148($s2) +/* A04810 80241FD0 0C00EABB */ jal get_npc_unsafe +/* A04814 80241FD4 86240008 */ lh $a0, 8($s1) +/* A04818 80241FD8 0040802D */ daddu $s0, $v0, $zero +/* A0481C 80241FDC C602001C */ lwc1 $f2, 0x1c($s0) +/* A04820 80241FE0 C6000014 */ lwc1 $f0, 0x14($s0) +/* A04824 80241FE4 8E050018 */ lw $a1, 0x18($s0) +/* A04828 80241FE8 46001080 */ add.s $f2, $f2, $f0 +/* A0482C 80241FEC C600003C */ lwc1 $f0, 0x3c($s0) +/* A04830 80241FF0 8E06000C */ lw $a2, 0xc($s0) +/* A04834 80241FF4 46020000 */ add.s $f0, $f0, $f2 +/* A04838 80241FF8 0200202D */ daddu $a0, $s0, $zero +/* A0483C 80241FFC E602001C */ swc1 $f2, 0x1c($s0) +/* A04840 80242000 0C00EA95 */ jal npc_move_heading +/* A04844 80242004 E600003C */ swc1 $f0, 0x3c($s0) +/* A04848 80242008 9602008E */ lhu $v0, 0x8e($s0) +/* A0484C 8024200C 2442FFFF */ addiu $v0, $v0, -1 +/* A04850 80242010 A602008E */ sh $v0, 0x8e($s0) +/* A04854 80242014 00021400 */ sll $v0, $v0, 0x10 +/* A04858 80242018 1C40000F */ bgtz $v0, .L80242058 +/* A0485C 8024201C 00000000 */ nop +/* A04860 80242020 3C013E99 */ lui $at, 0x3e99 +/* A04864 80242024 3421999A */ ori $at, $at, 0x999a +/* A04868 80242028 44810000 */ mtc1 $at, $f0 +/* A0486C 8024202C 3C014040 */ lui $at, 0x4040 +/* A04870 80242030 44811000 */ mtc1 $at, $f2 +/* A04874 80242034 A2200007 */ sb $zero, 7($s1) +/* A04878 80242038 AE00001C */ sw $zero, 0x1c($s0) +/* A0487C 8024203C E6000014 */ swc1 $f0, 0x14($s0) +/* A04880 80242040 E6020018 */ swc1 $f2, 0x18($s0) +/* A04884 80242044 8E2200CC */ lw $v0, 0xcc($s1) +/* A04888 80242048 8C420028 */ lw $v0, 0x28($v0) +/* A0488C 8024204C AE020028 */ sw $v0, 0x28($s0) +/* A04890 80242050 2402000E */ addiu $v0, $zero, 0xe +/* A04894 80242054 AE420070 */ sw $v0, 0x70($s2) +.L80242058: +/* A04898 80242058 8FBF001C */ lw $ra, 0x1c($sp) +/* A0489C 8024205C 8FB20018 */ lw $s2, 0x18($sp) +/* A048A0 80242060 8FB10014 */ lw $s1, 0x14($sp) +/* A048A4 80242064 8FB00010 */ lw $s0, 0x10($sp) +/* A048A8 80242068 03E00008 */ jr $ra +/* A048AC 8024206C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80242070.s b/asm/nonmatchings/world/area_nok/nok_14/func_80242070.s new file mode 100644 index 0000000000..48ec51568a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80242070.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242070 +/* A048B0 80242070 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A048B4 80242074 AFB20030 */ sw $s2, 0x30($sp) +/* A048B8 80242078 0080902D */ daddu $s2, $a0, $zero +/* A048BC 8024207C AFBF0034 */ sw $ra, 0x34($sp) +/* A048C0 80242080 AFB1002C */ sw $s1, 0x2c($sp) +/* A048C4 80242084 AFB00028 */ sw $s0, 0x28($sp) +/* A048C8 80242088 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A048CC 8024208C 8E510148 */ lw $s1, 0x148($s2) +/* A048D0 80242090 0C00EABB */ jal get_npc_unsafe +/* A048D4 80242094 86240008 */ lh $a0, 8($s1) +/* A048D8 80242098 0040802D */ daddu $s0, $v0, $zero +/* A048DC 8024209C C604001C */ lwc1 $f4, 0x1c($s0) +/* A048E0 802420A0 C6000014 */ lwc1 $f0, 0x14($s0) +/* A048E4 802420A4 0200202D */ daddu $a0, $s0, $zero +/* A048E8 802420A8 46002100 */ add.s $f4, $f4, $f0 +/* A048EC 802420AC C602003C */ lwc1 $f2, 0x3c($s0) +/* A048F0 802420B0 8E050018 */ lw $a1, 0x18($s0) +/* A048F4 802420B4 46041080 */ add.s $f2, $f2, $f4 +/* A048F8 802420B8 8E06000C */ lw $a2, 0xc($s0) +/* A048FC 802420BC C6200078 */ lwc1 $f0, 0x78($s1) +/* A04900 802420C0 46800020 */ cvt.s.w $f0, $f0 +/* A04904 802420C4 E602003C */ swc1 $f2, 0x3c($s0) +/* A04908 802420C8 3C014059 */ lui $at, 0x4059 +/* A0490C 802420CC 44811800 */ mtc1 $at, $f3 +/* A04910 802420D0 44801000 */ mtc1 $zero, $f2 +/* A04914 802420D4 46000021 */ cvt.d.s $f0, $f0 +/* A04918 802420D8 E604001C */ swc1 $f4, 0x1c($s0) +/* A0491C 802420DC 46220003 */ div.d $f0, $f0, $f2 +/* A04920 802420E0 0C00EA95 */ jal npc_move_heading +/* A04924 802420E4 46200520 */ cvt.s.d $f20, $f0 +/* A04928 802420E8 27A50018 */ addiu $a1, $sp, 0x18 +/* A0492C 802420EC 27A6001C */ addiu $a2, $sp, 0x1c +/* A04930 802420F0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A04934 802420F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* A04938 802420F8 C6040040 */ lwc1 $f4, 0x40($s0) +/* A0493C 802420FC 3C01447A */ lui $at, 0x447a +/* A04940 80242100 44813000 */ mtc1 $at, $f6 +/* A04944 80242104 27A20024 */ addiu $v0, $sp, 0x24 +/* A04948 80242108 E7A00018 */ swc1 $f0, 0x18($sp) +/* A0494C 8024210C E7A2001C */ swc1 $f2, 0x1c($sp) +/* A04950 80242110 E7A40020 */ swc1 $f4, 0x20($sp) +/* A04954 80242114 E7A60024 */ swc1 $f6, 0x24($sp) +/* A04958 80242118 AFA20010 */ sw $v0, 0x10($sp) +/* A0495C 8024211C 8E040080 */ lw $a0, 0x80($s0) +/* A04960 80242120 0C0372DF */ jal func_800DCB7C +/* A04964 80242124 27A70020 */ addiu $a3, $sp, 0x20 +/* A04968 80242128 10400003 */ beqz $v0, .L80242138 +/* A0496C 8024212C 4600A086 */ mov.s $f2, $f20 +/* A04970 80242130 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A04974 80242134 46140080 */ add.s $f2, $f0, $f20 +.L80242138: +/* A04978 80242138 C600003C */ lwc1 $f0, 0x3c($s0) +/* A0497C 8024213C 4602003C */ c.lt.s $f0, $f2 +/* A04980 80242140 00000000 */ nop +/* A04984 80242144 45010009 */ bc1t .L8024216C +/* A04988 80242148 2402000A */ addiu $v0, $zero, 0xa +/* A0498C 8024214C A602008E */ sh $v0, 0x8e($s0) +/* A04990 80242150 8E2200CC */ lw $v0, 0xcc($s1) +/* A04994 80242154 8C42002C */ lw $v0, 0x2c($v0) +/* A04998 80242158 AE020028 */ sw $v0, 0x28($s0) +/* A0499C 8024215C 9622008E */ lhu $v0, 0x8e($s1) +/* A049A0 80242160 A60200A8 */ sh $v0, 0xa8($s0) +/* A049A4 80242164 2402000F */ addiu $v0, $zero, 0xf +/* A049A8 80242168 AE420070 */ sw $v0, 0x70($s2) +.L8024216C: +/* A049AC 8024216C 8FBF0034 */ lw $ra, 0x34($sp) +/* A049B0 80242170 8FB20030 */ lw $s2, 0x30($sp) +/* A049B4 80242174 8FB1002C */ lw $s1, 0x2c($sp) +/* A049B8 80242178 8FB00028 */ lw $s0, 0x28($sp) +/* A049BC 8024217C D7B40038 */ ldc1 $f20, 0x38($sp) +/* A049C0 80242180 03E00008 */ jr $ra +/* A049C4 80242184 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_80242188.s b/asm/nonmatchings/world/area_nok/nok_14/func_80242188.s new file mode 100644 index 0000000000..1eb990e7b3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_80242188.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242188 +/* A049C8 80242188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A049CC 8024218C AFB00010 */ sw $s0, 0x10($sp) +/* A049D0 80242190 0080802D */ daddu $s0, $a0, $zero +/* A049D4 80242194 AFBF0014 */ sw $ra, 0x14($sp) +/* A049D8 80242198 8E020148 */ lw $v0, 0x148($s0) +/* A049DC 8024219C 0C00EABB */ jal get_npc_unsafe +/* A049E0 802421A0 84440008 */ lh $a0, 8($v0) +/* A049E4 802421A4 9443008E */ lhu $v1, 0x8e($v0) +/* A049E8 802421A8 2463FFFF */ addiu $v1, $v1, -1 +/* A049EC 802421AC A443008E */ sh $v1, 0x8e($v0) +/* A049F0 802421B0 00031C00 */ sll $v1, $v1, 0x10 +/* A049F4 802421B4 58600001 */ blezl $v1, .L802421BC +/* A049F8 802421B8 AE000070 */ sw $zero, 0x70($s0) +.L802421BC: +/* A049FC 802421BC 8FBF0014 */ lw $ra, 0x14($sp) +/* A04A00 802421C0 8FB00010 */ lw $s0, 0x10($sp) +/* A04A04 802421C4 03E00008 */ jr $ra +/* A04A08 802421C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_14/func_802421CC.s b/asm/nonmatchings/world/area_nok/nok_14/func_802421CC.s new file mode 100644 index 0000000000..9f32522c09 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_14/func_802421CC.s @@ -0,0 +1,157 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421CC +/* A04A0C 802421CC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A04A10 802421D0 AFB3003C */ sw $s3, 0x3c($sp) +/* A04A14 802421D4 0080982D */ daddu $s3, $a0, $zero +/* A04A18 802421D8 AFBF0048 */ sw $ra, 0x48($sp) +/* A04A1C 802421DC AFB50044 */ sw $s5, 0x44($sp) +/* A04A20 802421E0 AFB40040 */ sw $s4, 0x40($sp) +/* A04A24 802421E4 AFB20038 */ sw $s2, 0x38($sp) +/* A04A28 802421E8 AFB10034 */ sw $s1, 0x34($sp) +/* A04A2C 802421EC AFB00030 */ sw $s0, 0x30($sp) +/* A04A30 802421F0 8E720148 */ lw $s2, 0x148($s3) +/* A04A34 802421F4 86440008 */ lh $a0, 8($s2) +/* A04A38 802421F8 8E70000C */ lw $s0, 0xc($s3) +/* A04A3C 802421FC 0C00EABB */ jal get_npc_unsafe +/* A04A40 80242200 00A0882D */ daddu $s1, $a1, $zero +/* A04A44 80242204 0260202D */ daddu $a0, $s3, $zero +/* A04A48 80242208 8E050000 */ lw $a1, ($s0) +/* A04A4C 8024220C 0C0B1EAF */ jal get_variable +/* A04A50 80242210 0040A82D */ daddu $s5, $v0, $zero +/* A04A54 80242214 AFA00010 */ sw $zero, 0x10($sp) +/* A04A58 80242218 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04A5C 8024221C 8C630030 */ lw $v1, 0x30($v1) +/* A04A60 80242220 AFA30014 */ sw $v1, 0x14($sp) +/* A04A64 80242224 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04A68 80242228 8C63001C */ lw $v1, 0x1c($v1) +/* A04A6C 8024222C AFA30018 */ sw $v1, 0x18($sp) +/* A04A70 80242230 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04A74 80242234 8C630024 */ lw $v1, 0x24($v1) +/* A04A78 80242238 AFA3001C */ sw $v1, 0x1c($sp) +/* A04A7C 8024223C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04A80 80242240 8C630028 */ lw $v1, 0x28($v1) +/* A04A84 80242244 27B40010 */ addiu $s4, $sp, 0x10 +/* A04A88 80242248 AFA30020 */ sw $v1, 0x20($sp) +/* A04A8C 8024224C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A04A90 80242250 3C0142F0 */ lui $at, 0x42f0 +/* A04A94 80242254 44810000 */ mtc1 $at, $f0 +/* A04A98 80242258 8C63002C */ lw $v1, 0x2c($v1) +/* A04A9C 8024225C 0040802D */ daddu $s0, $v0, $zero +/* A04AA0 80242260 E7A00028 */ swc1 $f0, 0x28($sp) +/* A04AA4 80242264 A7A0002C */ sh $zero, 0x2c($sp) +/* A04AA8 80242268 12200009 */ beqz $s1, .L80242290 +/* A04AAC 8024226C AFA30024 */ sw $v1, 0x24($sp) +/* A04AB0 80242270 02A0202D */ daddu $a0, $s5, $zero +/* A04AB4 80242274 0240282D */ daddu $a1, $s2, $zero +/* A04AB8 80242278 0260302D */ daddu $a2, $s3, $zero +/* A04ABC 8024227C 0C0906DF */ jal func_80241B7C +/* A04AC0 80242280 0200382D */ daddu $a3, $s0, $zero +/* A04AC4 80242284 86A200A8 */ lh $v0, 0xa8($s5) +/* A04AC8 80242288 AE42008C */ sw $v0, 0x8c($s2) +/* A04ACC 8024228C AE600070 */ sw $zero, 0x70($s3) +.L80242290: +/* A04AD0 80242290 2402FFFD */ addiu $v0, $zero, -3 +/* A04AD4 80242294 A2A200AB */ sb $v0, 0xab($s5) +/* A04AD8 80242298 8E4300B0 */ lw $v1, 0xb0($s2) +/* A04ADC 8024229C 30620004 */ andi $v0, $v1, 4 +/* A04AE0 802422A0 10400007 */ beqz $v0, .L802422C0 +/* A04AE4 802422A4 00000000 */ nop +/* A04AE8 802422A8 824200B4 */ lb $v0, 0xb4($s2) +/* A04AEC 802422AC 14400052 */ bnez $v0, .L802423F8 +/* A04AF0 802422B0 0000102D */ daddu $v0, $zero, $zero +/* A04AF4 802422B4 2402FFFB */ addiu $v0, $zero, -5 +/* A04AF8 802422B8 00621024 */ and $v0, $v1, $v0 +/* A04AFC 802422BC AE4200B0 */ sw $v0, 0xb0($s2) +.L802422C0: +/* A04B00 802422C0 8E630070 */ lw $v1, 0x70($s3) +/* A04B04 802422C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* A04B08 802422C8 1040004A */ beqz $v0, .L802423F4 +/* A04B0C 802422CC 00031080 */ sll $v0, $v1, 2 +/* A04B10 802422D0 3C018024 */ lui $at, 0x8024 +/* A04B14 802422D4 00220821 */ addu $at, $at, $v0 +/* A04B18 802422D8 8C224678 */ lw $v0, 0x4678($at) +/* A04B1C 802422DC 00400008 */ jr $v0 +/* A04B20 802422E0 00000000 */ nop +/* A04B24 802422E4 0260202D */ daddu $a0, $s3, $zero +/* A04B28 802422E8 0200282D */ daddu $a1, $s0, $zero +/* A04B2C 802422EC 0C090265 */ jal func_80240994 +/* A04B30 802422F0 0280302D */ daddu $a2, $s4, $zero +/* A04B34 802422F4 0260202D */ daddu $a0, $s3, $zero +/* A04B38 802422F8 0200282D */ daddu $a1, $s0, $zero +/* A04B3C 802422FC 0C0902D1 */ jal func_80240B44 +/* A04B40 80242300 0280302D */ daddu $a2, $s4, $zero +/* A04B44 80242304 8E630070 */ lw $v1, 0x70($s3) +/* A04B48 80242308 24020002 */ addiu $v0, $zero, 2 +/* A04B4C 8024230C 1462003A */ bne $v1, $v0, .L802423F8 +/* A04B50 80242310 0000102D */ daddu $v0, $zero, $zero +/* A04B54 80242314 0260202D */ daddu $a0, $s3, $zero +/* A04B58 80242318 0200282D */ daddu $a1, $s0, $zero +/* A04B5C 8024231C 0C09045B */ jal func_8024116C +/* A04B60 80242320 0280302D */ daddu $a2, $s4, $zero +/* A04B64 80242324 0260202D */ daddu $a0, $s3, $zero +/* A04B68 80242328 0200282D */ daddu $a1, $s0, $zero +/* A04B6C 8024232C 0C09048B */ jal func_8024122C +/* A04B70 80242330 0280302D */ daddu $a2, $s4, $zero +/* A04B74 80242334 8E630070 */ lw $v1, 0x70($s3) +/* A04B78 80242338 2402000A */ addiu $v0, $zero, 0xa +/* A04B7C 8024233C 1462002E */ bne $v1, $v0, .L802423F8 +/* A04B80 80242340 0000102D */ daddu $v0, $zero, $zero +/* A04B84 80242344 0260202D */ daddu $a0, $s3, $zero +/* A04B88 80242348 0200282D */ daddu $a1, $s0, $zero +/* A04B8C 8024234C 0C09055C */ jal func_80241570 +/* A04B90 80242350 0280302D */ daddu $a2, $s4, $zero +/* A04B94 80242354 8E630070 */ lw $v1, 0x70($s3) +/* A04B98 80242358 2402000B */ addiu $v0, $zero, 0xb +/* A04B9C 8024235C 14620026 */ bne $v1, $v0, .L802423F8 +/* A04BA0 80242360 0000102D */ daddu $v0, $zero, $zero +/* A04BA4 80242364 0260202D */ daddu $a0, $s3, $zero +/* A04BA8 80242368 0200282D */ daddu $a1, $s0, $zero +/* A04BAC 8024236C 0C09057A */ jal func_802415E8 +/* A04BB0 80242370 0280302D */ daddu $a2, $s4, $zero +/* A04BB4 80242374 8E630070 */ lw $v1, 0x70($s3) +/* A04BB8 80242378 2402000C */ addiu $v0, $zero, 0xc +/* A04BBC 8024237C 1462001E */ bne $v1, $v0, .L802423F8 +/* A04BC0 80242380 0000102D */ daddu $v0, $zero, $zero +/* A04BC4 80242384 0260202D */ daddu $a0, $s3, $zero +/* A04BC8 80242388 0200282D */ daddu $a1, $s0, $zero +/* A04BCC 8024238C 0C0907A3 */ jal func_80241E8C +/* A04BD0 80242390 0280302D */ daddu $a2, $s4, $zero +/* A04BD4 80242394 8E630070 */ lw $v1, 0x70($s3) +/* A04BD8 80242398 2402000D */ addiu $v0, $zero, 0xd +/* A04BDC 8024239C 14620016 */ bne $v1, $v0, .L802423F8 +/* A04BE0 802423A0 0000102D */ daddu $v0, $zero, $zero +/* A04BE4 802423A4 0260202D */ daddu $a0, $s3, $zero +/* A04BE8 802423A8 0200282D */ daddu $a1, $s0, $zero +/* A04BEC 802423AC 0C0907ED */ jal func_80241FB4 +/* A04BF0 802423B0 0280302D */ daddu $a2, $s4, $zero +/* A04BF4 802423B4 8E630070 */ lw $v1, 0x70($s3) +/* A04BF8 802423B8 2402000E */ addiu $v0, $zero, 0xe +/* A04BFC 802423BC 1462000E */ bne $v1, $v0, .L802423F8 +/* A04C00 802423C0 0000102D */ daddu $v0, $zero, $zero +/* A04C04 802423C4 0260202D */ daddu $a0, $s3, $zero +/* A04C08 802423C8 0200282D */ daddu $a1, $s0, $zero +/* A04C0C 802423CC 0C09081C */ jal func_80242070 +/* A04C10 802423D0 0280302D */ daddu $a2, $s4, $zero +/* A04C14 802423D4 8E630070 */ lw $v1, 0x70($s3) +/* A04C18 802423D8 2402000F */ addiu $v0, $zero, 0xf +/* A04C1C 802423DC 14620006 */ bne $v1, $v0, .L802423F8 +/* A04C20 802423E0 0000102D */ daddu $v0, $zero, $zero +/* A04C24 802423E4 0260202D */ daddu $a0, $s3, $zero +/* A04C28 802423E8 0200282D */ daddu $a1, $s0, $zero +/* A04C2C 802423EC 0C090862 */ jal func_80242188 +/* A04C30 802423F0 0280302D */ daddu $a2, $s4, $zero +.L802423F4: +/* A04C34 802423F4 0000102D */ daddu $v0, $zero, $zero +.L802423F8: +/* A04C38 802423F8 8FBF0048 */ lw $ra, 0x48($sp) +/* A04C3C 802423FC 8FB50044 */ lw $s5, 0x44($sp) +/* A04C40 80242400 8FB40040 */ lw $s4, 0x40($sp) +/* A04C44 80242404 8FB3003C */ lw $s3, 0x3c($sp) +/* A04C48 80242408 8FB20038 */ lw $s2, 0x38($sp) +/* A04C4C 8024240C 8FB10034 */ lw $s1, 0x34($sp) +/* A04C50 80242410 8FB00030 */ lw $s0, 0x30($sp) +/* A04C54 80242414 03E00008 */ jr $ra +/* A04C58 80242418 27BD0050 */ addiu $sp, $sp, 0x50 +/* A04C5C 8024241C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240000_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240000_A06F00.s new file mode 100644 index 0000000000..4bc8f3b14d --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240000_A06F00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_A06F00 +/* A06F00 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A06F04 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A06F08 80240008 8C430004 */ lw $v1, 4($v0) +/* A06F0C 8024000C 3C040010 */ lui $a0, 0x10 +/* A06F10 80240010 00641825 */ or $v1, $v1, $a0 +/* A06F14 80240014 AC430004 */ sw $v1, 4($v0) +/* A06F18 80240018 03E00008 */ jr $ra +/* A06F1C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240020_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240020_A06F00.s new file mode 100644 index 0000000000..075cd7108b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240020_A06F00.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_A06F20 +/* A06F20 80240020 3C028016 */ lui $v0, 0x8016 +/* A06F24 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* A06F28 80240028 AC820084 */ sw $v0, 0x84($a0) +/* A06F2C 8024002C 03E00008 */ jr $ra +/* A06F30 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240034_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240034_A06F00.s new file mode 100644 index 0000000000..6fed470b27 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240034_A06F00.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_A06F34 +/* A06F34 80240034 3C038016 */ lui $v1, 0x8016 +/* A06F38 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* A06F3C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A06F40 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* A06F44 80240044 0080802D */ daddu $s0, $a0, $zero +/* A06F48 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* A06F4C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* A06F50 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* A06F54 80240054 24020002 */ addiu $v0, $zero, 2 +/* A06F58 80240058 08090038 */ j .L802400E0 +/* A06F5C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* A06F60 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* A06F64 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* A06F68 80240068 80620040 */ lb $v0, 0x40($v1) +/* A06F6C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* A06F70 80240070 04420001 */ bltzl $v0, .L80240078 +/* A06F74 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* A06F78 80240078 14400003 */ bnez $v0, .L80240088 +/* A06F7C 8024007C 00000000 */ nop +/* A06F80 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* A06F84 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* A06F88 80240088 44822000 */ mtc1 $v0, $f4 +/* A06F8C 8024008C 00000000 */ nop +/* A06F90 80240090 46802120 */ cvt.s.w $f4, $f4 +/* A06F94 80240094 44062000 */ mfc1 $a2, $f4 +/* A06F98 80240098 44872000 */ mtc1 $a3, $f4 +/* A06F9C 8024009C 00000000 */ nop +/* A06FA0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* A06FA4 802400A4 44806000 */ mtc1 $zero, $f12 +/* A06FA8 802400A8 44072000 */ mfc1 $a3, $f4 +/* A06FAC 802400AC 0C00A720 */ jal atan2 +/* A06FB0 802400B0 46006386 */ mov.s $f14, $f12 +/* A06FB4 802400B4 3C014270 */ lui $at, 0x4270 +/* A06FB8 802400B8 44811000 */ mtc1 $at, $f2 +/* A06FBC 802400BC 00000000 */ nop +/* A06FC0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* A06FC4 802400C4 00000000 */ nop +/* A06FC8 802400C8 45000004 */ bc1f .L802400DC +/* A06FCC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* A06FD0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* A06FD4 802400D4 08090038 */ j .L802400E0 +/* A06FD8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* A06FDC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* A06FE0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* A06FE4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* A06FE8 802400E8 03E00008 */ jr $ra +/* A06FEC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802400F0_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_802400F0_A06F00.s new file mode 100644 index 0000000000..de618075e6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802400F0_A06F00.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_A06FF0 +/* A06FF0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A06FF4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* A06FF8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* A06FFC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* A07000 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* A07004 80240104 0C016AFA */ jal get_current_map_header +/* A07008 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* A0700C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* A07010 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* A07014 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A07018 80240118 0C0B1EAF */ jal get_variable +/* A0701C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* A07020 80240120 0220202D */ daddu $a0, $s1, $zero +/* A07024 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* A07028 80240128 8E430014 */ lw $v1, 0x14($s2) +/* A0702C 8024012C 00028100 */ sll $s0, $v0, 4 +/* A07030 80240130 02031821 */ addu $v1, $s0, $v1 +/* A07034 80240134 C4600000 */ lwc1 $f0, ($v1) +/* A07038 80240138 4600008D */ trunc.w.s $f2, $f0 +/* A0703C 8024013C 44061000 */ mfc1 $a2, $f2 +/* A07040 80240140 0C0B2026 */ jal set_variable +/* A07044 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A07048 80240148 0220202D */ daddu $a0, $s1, $zero +/* A0704C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* A07050 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* A07054 80240154 02021021 */ addu $v0, $s0, $v0 +/* A07058 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* A0705C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* A07060 80240160 44061000 */ mfc1 $a2, $f2 +/* A07064 80240164 0C0B2026 */ jal set_variable +/* A07068 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* A0706C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* A07070 80240170 8E420014 */ lw $v0, 0x14($s2) +/* A07074 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* A07078 80240178 02021021 */ addu $v0, $s0, $v0 +/* A0707C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* A07080 80240180 4600008D */ trunc.w.s $f2, $f0 +/* A07084 80240184 44061000 */ mfc1 $a2, $f2 +/* A07088 80240188 0C0B2026 */ jal set_variable +/* A0708C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* A07090 80240190 0220202D */ daddu $a0, $s1, $zero +/* A07094 80240194 8E420014 */ lw $v0, 0x14($s2) +/* A07098 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* A0709C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* A070A0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* A070A4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* A070A8 802401A8 44061000 */ mfc1 $a2, $f2 +/* A070AC 802401AC 0C0B2026 */ jal set_variable +/* A070B0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* A070B4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* A070B8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* A070BC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* A070C0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* A070C4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* A070C8 802401C8 03E00008 */ jr $ra +/* A070CC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802401D0_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_802401D0_A06F00.s new file mode 100644 index 0000000000..42fb09a552 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802401D0_A06F00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_A070D0 +/* A070D0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* A070D4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* A070D8 802401D8 3C014334 */ lui $at, 0x4334 +/* A070DC 802401DC 44816000 */ mtc1 $at, $f12 +/* A070E0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A070E4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* A070E8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* A070EC 802401EC 00031080 */ sll $v0, $v1, 2 +/* A070F0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* A070F4 802401F4 00021080 */ sll $v0, $v0, 2 +/* A070F8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* A070FC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* A07100 80240200 00431021 */ addu $v0, $v0, $v1 +/* A07104 80240204 000210C0 */ sll $v0, $v0, 3 +/* A07108 80240208 3C01800B */ lui $at, 0x800b +/* A0710C 8024020C 00220821 */ addu $at, $at, $v0 +/* A07110 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* A07114 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* A07118 80240218 0C00A6C9 */ jal clamp_angle +/* A0711C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* A07120 80240220 4600008D */ trunc.w.s $f2, $f0 +/* A07124 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* A07128 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* A0712C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* A07130 80240230 24020002 */ addiu $v0, $zero, 2 +/* A07134 80240234 03E00008 */ jr $ra +/* A07138 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_8024023C_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_8024023C_A06F00.s new file mode 100644 index 0000000000..db8d339636 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_8024023C_A06F00.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_A0713C +/* A0713C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A07140 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* A07144 80240244 0080802D */ daddu $s0, $a0, $zero +/* A07148 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* A0714C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* A07150 80240250 8E02000C */ lw $v0, 0xc($s0) +/* A07154 80240254 0C0B210B */ jal get_float_variable +/* A07158 80240258 8C450000 */ lw $a1, ($v0) +/* A0715C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* A07160 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* A07164 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* A07168 80240268 44060000 */ mfc1 $a2, $f0 +/* A0716C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* A07170 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* A07174 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* A07178 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* A0717C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* A07180 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* A07184 80240284 0C00A7E7 */ jal add_vec2D_polar +/* A07188 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* A0718C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* A07190 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* A07194 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* A07198 80240298 0C0B2190 */ jal set_float_variable +/* A0719C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* A071A0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* A071A4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* A071A8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* A071AC 802402AC 0C0B2190 */ jal set_float_variable +/* A071B0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* A071B4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* A071B8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* A071BC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* A071C0 802402C0 0C0B2190 */ jal set_float_variable +/* A071C4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* A071C8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* A071CC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* A071D0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* A071D4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* A071D8 802402D8 03E00008 */ jr $ra +/* A071DC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802402E0_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_802402E0_A06F00.s new file mode 100644 index 0000000000..9dd0fa0f00 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802402E0_A06F00.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_A071E0 +/* A071E0 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A071E4 802402E4 AFB20018 */ sw $s2, 0x18($sp) +/* A071E8 802402E8 0080902D */ daddu $s2, $a0, $zero +/* A071EC 802402EC AFBF001C */ sw $ra, 0x1c($sp) +/* A071F0 802402F0 AFB10014 */ sw $s1, 0x14($sp) +/* A071F4 802402F4 AFB00010 */ sw $s0, 0x10($sp) +/* A071F8 802402F8 8E510148 */ lw $s1, 0x148($s2) +/* A071FC 802402FC 0C00EABB */ jal get_npc_unsafe +/* A07200 80240300 86240008 */ lh $a0, 8($s1) +/* A07204 80240304 0040802D */ daddu $s0, $v0, $zero +/* A07208 80240308 8E2300CC */ lw $v1, 0xcc($s1) +/* A0720C 8024030C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A07210 80240310 8C630020 */ lw $v1, 0x20($v1) +/* A07214 80240314 AE030028 */ sw $v1, 0x28($s0) +/* A07218 80240318 96220076 */ lhu $v0, 0x76($s1) +/* A0721C 8024031C A602008E */ sh $v0, 0x8e($s0) +/* A07220 80240320 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A07224 80240324 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A07228 80240328 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A0722C 8024032C 8C460028 */ lw $a2, 0x28($v0) +/* A07230 80240330 0C00A720 */ jal atan2 +/* A07234 80240334 8C470030 */ lw $a3, 0x30($v0) +/* A07238 80240338 2402000D */ addiu $v0, $zero, 0xd +/* A0723C 8024033C E600000C */ swc1 $f0, 0xc($s0) +/* A07240 80240340 AE420070 */ sw $v0, 0x70($s2) +/* A07244 80240344 8FBF001C */ lw $ra, 0x1c($sp) +/* A07248 80240348 8FB20018 */ lw $s2, 0x18($sp) +/* A0724C 8024034C 8FB10014 */ lw $s1, 0x14($sp) +/* A07250 80240350 8FB00010 */ lw $s0, 0x10($sp) +/* A07254 80240354 03E00008 */ jr $ra +/* A07258 80240358 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_8024035C_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_8024035C_A06F00.s new file mode 100644 index 0000000000..a07481ba5b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_8024035C_A06F00.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024035C_A0725C +/* A0725C 8024035C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A07260 80240360 AFB3001C */ sw $s3, 0x1c($sp) +/* A07264 80240364 0080982D */ daddu $s3, $a0, $zero +/* A07268 80240368 AFBF0020 */ sw $ra, 0x20($sp) +/* A0726C 8024036C AFB20018 */ sw $s2, 0x18($sp) +/* A07270 80240370 AFB10014 */ sw $s1, 0x14($sp) +/* A07274 80240374 AFB00010 */ sw $s0, 0x10($sp) +/* A07278 80240378 8E710148 */ lw $s1, 0x148($s3) +/* A0727C 8024037C 86240008 */ lh $a0, 8($s1) +/* A07280 80240380 0C00EABB */ jal get_npc_unsafe +/* A07284 80240384 00A0902D */ daddu $s2, $a1, $zero +/* A07288 80240388 0040802D */ daddu $s0, $v0, $zero +/* A0728C 8024038C 8602008E */ lh $v0, 0x8e($s0) +/* A07290 80240390 9603008E */ lhu $v1, 0x8e($s0) +/* A07294 80240394 18400005 */ blez $v0, .L802403AC +/* A07298 80240398 2462FFFF */ addiu $v0, $v1, -1 +/* A0729C 8024039C A602008E */ sh $v0, 0x8e($s0) +/* A072A0 802403A0 00021400 */ sll $v0, $v0, 0x10 +/* A072A4 802403A4 1C400033 */ bgtz $v0, .L80240474 +/* A072A8 802403A8 00000000 */ nop +.L802403AC: +/* A072AC 802403AC 8602008C */ lh $v0, 0x8c($s0) +/* A072B0 802403B0 14400030 */ bnez $v0, .L80240474 +/* A072B4 802403B4 00000000 */ nop +/* A072B8 802403B8 8E2200CC */ lw $v0, 0xcc($s1) +/* A072BC 802403BC 8C420024 */ lw $v0, 0x24($v0) +/* A072C0 802403C0 AE020028 */ sw $v0, 0x28($s0) +/* A072C4 802403C4 C6400018 */ lwc1 $f0, 0x18($s2) +/* A072C8 802403C8 E6000018 */ swc1 $f0, 0x18($s0) +/* A072CC 802403CC 8E230088 */ lw $v1, 0x88($s1) +/* A072D0 802403D0 24020005 */ addiu $v0, $zero, 5 +/* A072D4 802403D4 10620005 */ beq $v1, $v0, .L802403EC +/* A072D8 802403D8 00000000 */ nop +/* A072DC 802403DC 10600003 */ beqz $v1, .L802403EC +/* A072E0 802403E0 24020001 */ addiu $v0, $zero, 1 +/* A072E4 802403E4 14620006 */ bne $v1, $v0, .L80240400 +/* A072E8 802403E8 00000000 */ nop +.L802403EC: +/* A072EC 802403EC 8E220084 */ lw $v0, 0x84($s1) +/* A072F0 802403F0 00021FC2 */ srl $v1, $v0, 0x1f +/* A072F4 802403F4 00431021 */ addu $v0, $v0, $v1 +/* A072F8 802403F8 00021043 */ sra $v0, $v0, 1 +/* A072FC 802403FC A60200A8 */ sh $v0, 0xa8($s0) +.L80240400: +/* A07300 80240400 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A07304 80240404 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A07308 80240408 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A0730C 8024040C C60E0040 */ lwc1 $f14, 0x40($s0) +/* A07310 80240410 8C460028 */ lw $a2, 0x28($v0) +/* A07314 80240414 0C00A7B5 */ jal dist2D +/* A07318 80240418 8C470030 */ lw $a3, 0x30($v0) +/* A0731C 8024041C C6020018 */ lwc1 $f2, 0x18($s0) +/* A07320 80240420 46020003 */ div.s $f0, $f0, $f2 +/* A07324 80240424 3C018024 */ lui $at, 0x8024 +/* A07328 80240428 D4224CF0 */ ldc1 $f2, 0x4cf0($at) +/* A0732C 8024042C 46000021 */ cvt.d.s $f0, $f0 +/* A07330 80240430 46220000 */ add.d $f0, $f0, $f2 +/* A07334 80240434 4620010D */ trunc.w.d $f4, $f0 +/* A07338 80240438 44022000 */ mfc1 $v0, $f4 +/* A0733C 8024043C 00000000 */ nop +/* A07340 80240440 A602008E */ sh $v0, 0x8e($s0) +/* A07344 80240444 00021400 */ sll $v0, $v0, 0x10 +/* A07348 80240448 8E230078 */ lw $v1, 0x78($s1) +/* A0734C 8024044C 00021403 */ sra $v0, $v0, 0x10 +/* A07350 80240450 0043102A */ slt $v0, $v0, $v1 +/* A07354 80240454 10400003 */ beqz $v0, .L80240464 +/* A07358 80240458 00000000 */ nop +/* A0735C 8024045C 9622007A */ lhu $v0, 0x7a($s1) +/* A07360 80240460 A602008E */ sh $v0, 0x8e($s0) +.L80240464: +/* A07364 80240464 8602008E */ lh $v0, 0x8e($s0) +/* A07368 80240468 AE22007C */ sw $v0, 0x7c($s1) +/* A0736C 8024046C 2402000E */ addiu $v0, $zero, 0xe +/* A07370 80240470 AE620070 */ sw $v0, 0x70($s3) +.L80240474: +/* A07374 80240474 8FBF0020 */ lw $ra, 0x20($sp) +/* A07378 80240478 8FB3001C */ lw $s3, 0x1c($sp) +/* A0737C 8024047C 8FB20018 */ lw $s2, 0x18($sp) +/* A07380 80240480 8FB10014 */ lw $s1, 0x14($sp) +/* A07384 80240484 8FB00010 */ lw $s0, 0x10($sp) +/* A07388 80240488 03E00008 */ jr $ra +/* A0738C 8024048C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240490_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240490_A06F00.s new file mode 100644 index 0000000000..6c6d94a570 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240490_A06F00.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240490_A07390 +/* A07390 80240490 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* A07394 80240494 AFB3003C */ sw $s3, 0x3c($sp) +/* A07398 80240498 0080982D */ daddu $s3, $a0, $zero +/* A0739C 8024049C AFBF0040 */ sw $ra, 0x40($sp) +/* A073A0 802404A0 AFB20038 */ sw $s2, 0x38($sp) +/* A073A4 802404A4 AFB10034 */ sw $s1, 0x34($sp) +/* A073A8 802404A8 AFB00030 */ sw $s0, 0x30($sp) +/* A073AC 802404AC 8E710148 */ lw $s1, 0x148($s3) +/* A073B0 802404B0 0C00EABB */ jal get_npc_unsafe +/* A073B4 802404B4 86240008 */ lh $a0, 8($s1) +/* A073B8 802404B8 0040802D */ daddu $s0, $v0, $zero +/* A073BC 802404BC 8E22007C */ lw $v0, 0x7c($s1) +/* A073C0 802404C0 8603008E */ lh $v1, 0x8e($s0) +/* A073C4 802404C4 2442FFFF */ addiu $v0, $v0, -1 +/* A073C8 802404C8 14620012 */ bne $v1, $v0, .L80240514 +/* A073CC 802404CC 00000000 */ nop +/* A073D0 802404D0 C6000038 */ lwc1 $f0, 0x38($s0) +/* A073D4 802404D4 4600020D */ trunc.w.s $f8, $f0 +/* A073D8 802404D8 44024000 */ mfc1 $v0, $f8 +/* A073DC 802404DC 00000000 */ nop +/* A073E0 802404E0 A6220010 */ sh $v0, 0x10($s1) +/* A073E4 802404E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* A073E8 802404E8 4600020D */ trunc.w.s $f8, $f0 +/* A073EC 802404EC 44024000 */ mfc1 $v0, $f8 +/* A073F0 802404F0 00000000 */ nop +/* A073F4 802404F4 A6220012 */ sh $v0, 0x12($s1) +/* A073F8 802404F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A073FC 802404FC 24020001 */ addiu $v0, $zero, 1 +/* A07400 80240500 A2220007 */ sb $v0, 7($s1) +/* A07404 80240504 4600020D */ trunc.w.s $f8, $f0 +/* A07408 80240508 44024000 */ mfc1 $v0, $f8 +/* A0740C 8024050C 00000000 */ nop +/* A07410 80240510 A6220014 */ sh $v0, 0x14($s1) +.L80240514: +/* A07414 80240514 C6000038 */ lwc1 $f0, 0x38($s0) +/* A07418 80240518 C602003C */ lwc1 $f2, 0x3c($s0) +/* A0741C 8024051C C6040040 */ lwc1 $f4, 0x40($s0) +/* A07420 80240520 C6060018 */ lwc1 $f6, 0x18($s0) +/* A07424 80240524 E7A00020 */ swc1 $f0, 0x20($sp) +/* A07428 80240528 E7A20024 */ swc1 $f2, 0x24($sp) +/* A0742C 8024052C E7A40028 */ swc1 $f4, 0x28($sp) +/* A07430 80240530 E7A60010 */ swc1 $f6, 0x10($sp) +/* A07434 80240534 C600000C */ lwc1 $f0, 0xc($s0) +/* A07438 80240538 E7A00014 */ swc1 $f0, 0x14($sp) +/* A0743C 8024053C 860200A8 */ lh $v0, 0xa8($s0) +/* A07440 80240540 27A50020 */ addiu $a1, $sp, 0x20 +/* A07444 80240544 44820000 */ mtc1 $v0, $f0 +/* A07448 80240548 00000000 */ nop +/* A0744C 8024054C 46800020 */ cvt.s.w $f0, $f0 +/* A07450 80240550 E7A00018 */ swc1 $f0, 0x18($sp) +/* A07454 80240554 860200A6 */ lh $v0, 0xa6($s0) +/* A07458 80240558 27A60024 */ addiu $a2, $sp, 0x24 +/* A0745C 8024055C 44820000 */ mtc1 $v0, $f0 +/* A07460 80240560 00000000 */ nop +/* A07464 80240564 46800020 */ cvt.s.w $f0, $f0 +/* A07468 80240568 E7A0001C */ swc1 $f0, 0x1c($sp) +/* A0746C 8024056C 8E040080 */ lw $a0, 0x80($s0) +/* A07470 80240570 0C037711 */ jal func_800DDC44 +/* A07474 80240574 27A70028 */ addiu $a3, $sp, 0x28 +/* A07478 80240578 0040902D */ daddu $s2, $v0, $zero +/* A0747C 8024057C 16400005 */ bnez $s2, .L80240594 +/* A07480 80240580 00000000 */ nop +/* A07484 80240584 8E050018 */ lw $a1, 0x18($s0) +/* A07488 80240588 8E06000C */ lw $a2, 0xc($s0) +/* A0748C 8024058C 0C00EA95 */ jal npc_move_heading +/* A07490 80240590 0200202D */ daddu $a0, $s0, $zero +.L80240594: +/* A07494 80240594 8602008E */ lh $v0, 0x8e($s0) +/* A07498 80240598 9603008E */ lhu $v1, 0x8e($s0) +/* A0749C 8024059C 18400007 */ blez $v0, .L802405BC +/* A074A0 802405A0 2462FFFF */ addiu $v0, $v1, -1 +/* A074A4 802405A4 A602008E */ sh $v0, 0x8e($s0) +/* A074A8 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* A074AC 802405AC 18400003 */ blez $v0, .L802405BC +/* A074B0 802405B0 00000000 */ nop +/* A074B4 802405B4 12400008 */ beqz $s2, .L802405D8 +/* A074B8 802405B8 00000000 */ nop +.L802405BC: +/* A074BC 802405BC 8E2200CC */ lw $v0, 0xcc($s1) +/* A074C0 802405C0 A2200007 */ sb $zero, 7($s1) +/* A074C4 802405C4 8C420028 */ lw $v0, 0x28($v0) +/* A074C8 802405C8 A600008E */ sh $zero, 0x8e($s0) +/* A074CC 802405CC AE020028 */ sw $v0, 0x28($s0) +/* A074D0 802405D0 2402000F */ addiu $v0, $zero, 0xf +/* A074D4 802405D4 AE620070 */ sw $v0, 0x70($s3) +.L802405D8: +/* A074D8 802405D8 8FBF0040 */ lw $ra, 0x40($sp) +/* A074DC 802405DC 8FB3003C */ lw $s3, 0x3c($sp) +/* A074E0 802405E0 8FB20038 */ lw $s2, 0x38($sp) +/* A074E4 802405E4 8FB10034 */ lw $s1, 0x34($sp) +/* A074E8 802405E8 8FB00030 */ lw $s0, 0x30($sp) +/* A074EC 802405EC 03E00008 */ jr $ra +/* A074F0 802405F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802405F4.s b/asm/nonmatchings/world/area_nok/nok_15/func_802405F4.s new file mode 100644 index 0000000000..e27736440b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802405F4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F4 +/* A074F4 802405F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A074F8 802405F8 AFB10014 */ sw $s1, 0x14($sp) +/* A074FC 802405FC 0080882D */ daddu $s1, $a0, $zero +/* A07500 80240600 AFBF0018 */ sw $ra, 0x18($sp) +/* A07504 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* A07508 80240608 8E300148 */ lw $s0, 0x148($s1) +/* A0750C 8024060C 0C00EABB */ jal get_npc_unsafe +/* A07510 80240610 86040008 */ lh $a0, 8($s0) +/* A07514 80240614 0040202D */ daddu $a0, $v0, $zero +/* A07518 80240618 9482008E */ lhu $v0, 0x8e($a0) +/* A0751C 8024061C 24030003 */ addiu $v1, $zero, 3 +/* A07520 80240620 24420001 */ addiu $v0, $v0, 1 +/* A07524 80240624 A482008E */ sh $v0, 0x8e($a0) +/* A07528 80240628 00021400 */ sll $v0, $v0, 0x10 +/* A0752C 8024062C 00021403 */ sra $v0, $v0, 0x10 +/* A07530 80240630 14430003 */ bne $v0, $v1, .L80240640 +/* A07534 80240634 00000000 */ nop +/* A07538 80240638 96020086 */ lhu $v0, 0x86($s0) +/* A0753C 8024063C A48200A8 */ sh $v0, 0xa8($a0) +.L80240640: +/* A07540 80240640 8482008E */ lh $v0, 0x8e($a0) +/* A07544 80240644 8E030080 */ lw $v1, 0x80($s0) +/* A07548 80240648 0043102A */ slt $v0, $v0, $v1 +/* A0754C 8024064C 14400004 */ bnez $v0, .L80240660 +/* A07550 80240650 00000000 */ nop +/* A07554 80240654 96020086 */ lhu $v0, 0x86($s0) +/* A07558 80240658 A48200A8 */ sh $v0, 0xa8($a0) +/* A0755C 8024065C AE200070 */ sw $zero, 0x70($s1) +.L80240660: +/* A07560 80240660 8FBF0018 */ lw $ra, 0x18($sp) +/* A07564 80240664 8FB10014 */ lw $s1, 0x14($sp) +/* A07568 80240668 8FB00010 */ lw $s0, 0x10($sp) +/* A0756C 8024066C 03E00008 */ jr $ra +/* A07570 80240670 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240674.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240674.s new file mode 100644 index 0000000000..71fbc0c3a8 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240674.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240674 +/* A07574 80240674 27BDFF90 */ addiu $sp, $sp, -0x70 +/* A07578 80240678 AFB3005C */ sw $s3, 0x5c($sp) +/* A0757C 8024067C 0080982D */ daddu $s3, $a0, $zero +/* A07580 80240680 AFBF0068 */ sw $ra, 0x68($sp) +/* A07584 80240684 AFB50064 */ sw $s5, 0x64($sp) +/* A07588 80240688 AFB40060 */ sw $s4, 0x60($sp) +/* A0758C 8024068C AFB20058 */ sw $s2, 0x58($sp) +/* A07590 80240690 AFB10054 */ sw $s1, 0x54($sp) +/* A07594 80240694 AFB00050 */ sw $s0, 0x50($sp) +/* A07598 80240698 8E710148 */ lw $s1, 0x148($s3) +/* A0759C 8024069C 86240008 */ lh $a0, 8($s1) +/* A075A0 802406A0 0C00EABB */ jal get_npc_unsafe +/* A075A4 802406A4 00A0802D */ daddu $s0, $a1, $zero +/* A075A8 802406A8 8E63000C */ lw $v1, 0xc($s3) +/* A075AC 802406AC 0260202D */ daddu $a0, $s3, $zero +/* A075B0 802406B0 8C650000 */ lw $a1, ($v1) +/* A075B4 802406B4 0C0B1EAF */ jal get_variable +/* A075B8 802406B8 0040902D */ daddu $s2, $v0, $zero +/* A075BC 802406BC AFA00028 */ sw $zero, 0x28($sp) +/* A075C0 802406C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* A075C4 802406C4 8C630030 */ lw $v1, 0x30($v1) +/* A075C8 802406C8 AFA3002C */ sw $v1, 0x2c($sp) +/* A075CC 802406CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* A075D0 802406D0 8C63001C */ lw $v1, 0x1c($v1) +/* A075D4 802406D4 AFA30030 */ sw $v1, 0x30($sp) +/* A075D8 802406D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* A075DC 802406DC 8C630024 */ lw $v1, 0x24($v1) +/* A075E0 802406E0 AFA30034 */ sw $v1, 0x34($sp) +/* A075E4 802406E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A075E8 802406E8 8C630028 */ lw $v1, 0x28($v1) +/* A075EC 802406EC 27B50028 */ addiu $s5, $sp, 0x28 +/* A075F0 802406F0 AFA30038 */ sw $v1, 0x38($sp) +/* A075F4 802406F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A075F8 802406F8 3C0142C8 */ lui $at, 0x42c8 +/* A075FC 802406FC 44810000 */ mtc1 $at, $f0 +/* A07600 80240700 8C63002C */ lw $v1, 0x2c($v1) +/* A07604 80240704 0040A02D */ daddu $s4, $v0, $zero +/* A07608 80240708 E7A00040 */ swc1 $f0, 0x40($sp) +/* A0760C 8024070C A7A00044 */ sh $zero, 0x44($sp) +/* A07610 80240710 12000009 */ beqz $s0, .L80240738 +/* A07614 80240714 AFA3003C */ sw $v1, 0x3c($sp) +/* A07618 80240718 864300A8 */ lh $v1, 0xa8($s2) +/* A0761C 8024071C 8E2200B0 */ lw $v0, 0xb0($s1) +/* A07620 80240720 AE20008C */ sw $zero, 0x8c($s1) +/* A07624 80240724 A22000B5 */ sb $zero, 0xb5($s1) +/* A07628 80240728 34420008 */ ori $v0, $v0, 8 +/* A0762C 8024072C AE230084 */ sw $v1, 0x84($s1) +/* A07630 80240730 080901D2 */ j .L80240748 +/* A07634 80240734 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240738: +/* A07638 80240738 8E2200B0 */ lw $v0, 0xb0($s1) +/* A0763C 8024073C 30420004 */ andi $v0, $v0, 4 +/* A07640 80240740 10400047 */ beqz $v0, .L80240860 +/* A07644 80240744 00000000 */ nop +.L80240748: +/* A07648 80240748 AE600070 */ sw $zero, 0x70($s3) +/* A0764C 8024074C A640008E */ sh $zero, 0x8e($s2) +/* A07650 80240750 8E2300CC */ lw $v1, 0xcc($s1) +/* A07654 80240754 2404F7FF */ addiu $a0, $zero, -0x801 +/* A07658 80240758 A2200007 */ sb $zero, 7($s1) +/* A0765C 8024075C 8E420000 */ lw $v0, ($s2) +/* A07660 80240760 8C630000 */ lw $v1, ($v1) +/* A07664 80240764 00441024 */ and $v0, $v0, $a0 +/* A07668 80240768 AE420000 */ sw $v0, ($s2) +/* A0766C 8024076C AE430028 */ sw $v1, 0x28($s2) +/* A07670 80240770 96220086 */ lhu $v0, 0x86($s1) +/* A07674 80240774 A64200A8 */ sh $v0, 0xa8($s2) +/* A07678 80240778 8E2200D0 */ lw $v0, 0xd0($s1) +/* A0767C 8024077C AE200090 */ sw $zero, 0x90($s1) +/* A07680 80240780 8C420034 */ lw $v0, 0x34($v0) +/* A07684 80240784 14400006 */ bnez $v0, .L802407A0 +/* A07688 80240788 2403FDFF */ addiu $v1, $zero, -0x201 +/* A0768C 8024078C 8E420000 */ lw $v0, ($s2) +/* A07690 80240790 2403FFF7 */ addiu $v1, $zero, -9 +/* A07694 80240794 34420200 */ ori $v0, $v0, 0x200 +/* A07698 80240798 080901EB */ j .L802407AC +/* A0769C 8024079C 00431024 */ and $v0, $v0, $v1 +.L802407A0: +/* A076A0 802407A0 8E420000 */ lw $v0, ($s2) +/* A076A4 802407A4 00431024 */ and $v0, $v0, $v1 +/* A076A8 802407A8 34420008 */ ori $v0, $v0, 8 +.L802407AC: +/* A076AC 802407AC AE420000 */ sw $v0, ($s2) +/* A076B0 802407B0 8E2200B0 */ lw $v0, 0xb0($s1) +/* A076B4 802407B4 30420004 */ andi $v0, $v0, 4 +/* A076B8 802407B8 1040001E */ beqz $v0, .L80240834 +/* A076BC 802407BC 24040002 */ addiu $a0, $zero, 2 +/* A076C0 802407C0 0240282D */ daddu $a1, $s2, $zero +/* A076C4 802407C4 0000302D */ daddu $a2, $zero, $zero +/* A076C8 802407C8 24020063 */ addiu $v0, $zero, 0x63 +/* A076CC 802407CC AE620070 */ sw $v0, 0x70($s3) +/* A076D0 802407D0 AE600074 */ sw $zero, 0x74($s3) +/* A076D4 802407D4 864300A8 */ lh $v1, 0xa8($s2) +/* A076D8 802407D8 3C013F80 */ lui $at, 0x3f80 +/* A076DC 802407DC 44810000 */ mtc1 $at, $f0 +/* A076E0 802407E0 3C014000 */ lui $at, 0x4000 +/* A076E4 802407E4 44811000 */ mtc1 $at, $f2 +/* A076E8 802407E8 3C01C1A0 */ lui $at, 0xc1a0 +/* A076EC 802407EC 44812000 */ mtc1 $at, $f4 +/* A076F0 802407F0 24020028 */ addiu $v0, $zero, 0x28 +/* A076F4 802407F4 AFA2001C */ sw $v0, 0x1c($sp) +/* A076F8 802407F8 44833000 */ mtc1 $v1, $f6 +/* A076FC 802407FC 00000000 */ nop +/* A07700 80240800 468031A0 */ cvt.s.w $f6, $f6 +/* A07704 80240804 44073000 */ mfc1 $a3, $f6 +/* A07708 80240808 27A20048 */ addiu $v0, $sp, 0x48 +/* A0770C 8024080C AFA20020 */ sw $v0, 0x20($sp) +/* A07710 80240810 E7A00010 */ swc1 $f0, 0x10($sp) +/* A07714 80240814 E7A20014 */ swc1 $f2, 0x14($sp) +/* A07718 80240818 0C01BFA4 */ jal fx_emote +/* A0771C 8024081C E7A40018 */ swc1 $f4, 0x18($sp) +/* A07720 80240820 8E2200B0 */ lw $v0, 0xb0($s1) +/* A07724 80240824 2403FFFB */ addiu $v1, $zero, -5 +/* A07728 80240828 00431024 */ and $v0, $v0, $v1 +/* A0772C 8024082C 08090218 */ j .L80240860 +/* A07730 80240830 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240834: +/* A07734 80240834 8E220000 */ lw $v0, ($s1) +/* A07738 80240838 3C034000 */ lui $v1, 0x4000 +/* A0773C 8024083C 00431024 */ and $v0, $v0, $v1 +/* A07740 80240840 10400007 */ beqz $v0, .L80240860 +/* A07744 80240844 3C03BFFF */ lui $v1, 0xbfff +/* A07748 80240848 2402000C */ addiu $v0, $zero, 0xc +/* A0774C 8024084C AE620070 */ sw $v0, 0x70($s3) +/* A07750 80240850 8E220000 */ lw $v0, ($s1) +/* A07754 80240854 3463FFFF */ ori $v1, $v1, 0xffff +/* A07758 80240858 00431024 */ and $v0, $v0, $v1 +/* A0775C 8024085C AE220000 */ sw $v0, ($s1) +.L80240860: +/* A07760 80240860 8E220090 */ lw $v0, 0x90($s1) +/* A07764 80240864 1840000C */ blez $v0, .L80240898 +/* A07768 80240868 2442FFFF */ addiu $v0, $v0, -1 +/* A0776C 8024086C 14400087 */ bnez $v0, .L80240A8C +/* A07770 80240870 AE220090 */ sw $v0, 0x90($s1) +/* A07774 80240874 3C03FFAA */ lui $v1, 0xffaa +/* A07778 80240878 8E420028 */ lw $v0, 0x28($s2) +/* A0777C 8024087C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* A07780 80240880 00431021 */ addu $v0, $v0, $v1 +/* A07784 80240884 2C420002 */ sltiu $v0, $v0, 2 +/* A07788 80240888 10400003 */ beqz $v0, .L80240898 +/* A0778C 8024088C 3C020055 */ lui $v0, 0x55 +/* A07790 80240890 3442000C */ ori $v0, $v0, 0xc +/* A07794 80240894 AE420028 */ sw $v0, 0x28($s2) +.L80240898: +/* A07798 80240898 8E630070 */ lw $v1, 0x70($s3) +/* A0779C 8024089C 2402000C */ addiu $v0, $zero, 0xc +/* A077A0 802408A0 10620048 */ beq $v1, $v0, .L802409C4 +/* A077A4 802408A4 2862000D */ slti $v0, $v1, 0xd +/* A077A8 802408A8 1040000F */ beqz $v0, .L802408E8 +/* A077AC 802408AC 24100001 */ addiu $s0, $zero, 1 +/* A077B0 802408B0 1070001E */ beq $v1, $s0, .L8024092C +/* A077B4 802408B4 28620002 */ slti $v0, $v1, 2 +/* A077B8 802408B8 10400005 */ beqz $v0, .L802408D0 +/* A077BC 802408BC 24020002 */ addiu $v0, $zero, 2 +/* A077C0 802408C0 10600015 */ beqz $v1, .L80240918 +/* A077C4 802408C4 0260202D */ daddu $a0, $s3, $zero +/* A077C8 802408C8 08090288 */ j .L80240A20 +/* A077CC 802408CC 00000000 */ nop +.L802408D0: +/* A077D0 802408D0 1062001C */ beq $v1, $v0, .L80240944 +/* A077D4 802408D4 24020003 */ addiu $v0, $zero, 3 +/* A077D8 802408D8 10620035 */ beq $v1, $v0, .L802409B0 +/* A077DC 802408DC 0260202D */ daddu $a0, $s3, $zero +/* A077E0 802408E0 08090288 */ j .L80240A20 +/* A077E4 802408E4 00000000 */ nop +.L802408E8: +/* A077E8 802408E8 2402000E */ addiu $v0, $zero, 0xe +/* A077EC 802408EC 1062003F */ beq $v1, $v0, .L802409EC +/* A077F0 802408F0 0062102A */ slt $v0, $v1, $v0 +/* A077F4 802408F4 14400038 */ bnez $v0, .L802409D8 +/* A077F8 802408F8 0260202D */ daddu $a0, $s3, $zero +/* A077FC 802408FC 2402000F */ addiu $v0, $zero, 0xf +/* A07800 80240900 10620040 */ beq $v1, $v0, .L80240A04 +/* A07804 80240904 24020063 */ addiu $v0, $zero, 0x63 +/* A07808 80240908 10620043 */ beq $v1, $v0, .L80240A18 +/* A0780C 8024090C 00000000 */ nop +/* A07810 80240910 08090288 */ j .L80240A20 +/* A07814 80240914 00000000 */ nop +.L80240918: +/* A07818 80240918 0280282D */ daddu $a1, $s4, $zero +/* A0781C 8024091C 0C012568 */ jal func_800495A0 +/* A07820 80240920 02A0302D */ daddu $a2, $s5, $zero +/* A07824 80240924 96220086 */ lhu $v0, 0x86($s1) +/* A07828 80240928 A64200A8 */ sh $v0, 0xa8($s2) +.L8024092C: +/* A0782C 8024092C 0260202D */ daddu $a0, $s3, $zero +/* A07830 80240930 0280282D */ daddu $a1, $s4, $zero +/* A07834 80240934 0C0125AE */ jal func_800496B8 +/* A07838 80240938 02A0302D */ daddu $a2, $s5, $zero +/* A0783C 8024093C 08090288 */ j .L80240A20 +/* A07840 80240940 00000000 */ nop +.L80240944: +/* A07844 80240944 0260202D */ daddu $a0, $s3, $zero +/* A07848 80240948 0280282D */ daddu $a1, $s4, $zero +/* A0784C 8024094C 0C0126D1 */ jal func_80049B44 +/* A07850 80240950 02A0302D */ daddu $a2, $s5, $zero +/* A07854 80240954 8E230088 */ lw $v1, 0x88($s1) +/* A07858 80240958 24020006 */ addiu $v0, $zero, 6 +/* A0785C 8024095C 14620014 */ bne $v1, $v0, .L802409B0 +/* A07860 80240960 0260202D */ daddu $a0, $s3, $zero +/* A07864 80240964 0C00A67F */ jal rand_int +/* A07868 80240968 24040064 */ addiu $a0, $zero, 0x64 +/* A0786C 8024096C 28420021 */ slti $v0, $v0, 0x21 +/* A07870 80240970 5040000F */ beql $v0, $zero, .L802409B0 +/* A07874 80240974 0260202D */ daddu $a0, $s3, $zero +/* A07878 80240978 8E22008C */ lw $v0, 0x8c($s1) +/* A0787C 8024097C 10400005 */ beqz $v0, .L80240994 +/* A07880 80240980 3C020055 */ lui $v0, 0x55 +/* A07884 80240984 3442002F */ ori $v0, $v0, 0x2f +/* A07888 80240988 AE20008C */ sw $zero, 0x8c($s1) +/* A0788C 8024098C 08090268 */ j .L802409A0 +/* A07890 80240990 A22000B5 */ sb $zero, 0xb5($s1) +.L80240994: +/* A07894 80240994 3442002E */ ori $v0, $v0, 0x2e +/* A07898 80240998 AE30008C */ sw $s0, 0x8c($s1) +/* A0789C 8024099C A23000B5 */ sb $s0, 0xb5($s1) +.L802409A0: +/* A078A0 802409A0 AE420028 */ sw $v0, 0x28($s2) +/* A078A4 802409A4 24020007 */ addiu $v0, $zero, 7 +/* A078A8 802409A8 080902A3 */ j .L80240A8C +/* A078AC 802409AC AE220090 */ sw $v0, 0x90($s1) +.L802409B0: +/* A078B0 802409B0 0280282D */ daddu $a1, $s4, $zero +/* A078B4 802409B4 0C012701 */ jal func_80049C04 +/* A078B8 802409B8 02A0302D */ daddu $a2, $s5, $zero +/* A078BC 802409BC 08090288 */ j .L80240A20 +/* A078C0 802409C0 00000000 */ nop +.L802409C4: +/* A078C4 802409C4 0260202D */ daddu $a0, $s3, $zero +/* A078C8 802409C8 0280282D */ daddu $a1, $s4, $zero +/* A078CC 802409CC 0C0900B8 */ jal func_802402E0 +/* A078D0 802409D0 02A0302D */ daddu $a2, $s5, $zero +/* A078D4 802409D4 0260202D */ daddu $a0, $s3, $zero +.L802409D8: +/* A078D8 802409D8 0280282D */ daddu $a1, $s4, $zero +/* A078DC 802409DC 0C0900D7 */ jal func_8024035C +/* A078E0 802409E0 02A0302D */ daddu $a2, $s5, $zero +/* A078E4 802409E4 08090288 */ j .L80240A20 +/* A078E8 802409E8 00000000 */ nop +.L802409EC: +/* A078EC 802409EC 0260202D */ daddu $a0, $s3, $zero +/* A078F0 802409F0 0280282D */ daddu $a1, $s4, $zero +/* A078F4 802409F4 0C090124 */ jal func_80240490 +/* A078F8 802409F8 02A0302D */ daddu $a2, $s5, $zero +/* A078FC 802409FC 08090288 */ j .L80240A20 +/* A07900 80240A00 00000000 */ nop +.L80240A04: +/* A07904 80240A04 0280282D */ daddu $a1, $s4, $zero +/* A07908 80240A08 0C09017D */ jal func_802405F4 +/* A0790C 80240A0C 02A0302D */ daddu $a2, $s5, $zero +/* A07910 80240A10 08090288 */ j .L80240A20 +/* A07914 80240A14 00000000 */ nop +.L80240A18: +/* A07918 80240A18 0C0129CF */ jal func_8004A73C +/* A0791C 80240A1C 0260202D */ daddu $a0, $s3, $zero +.L80240A20: +/* A07920 80240A20 8E230088 */ lw $v1, 0x88($s1) +/* A07924 80240A24 24020006 */ addiu $v0, $zero, 6 +/* A07928 80240A28 14620019 */ bne $v1, $v0, .L80240A90 +/* A0792C 80240A2C 0000102D */ daddu $v0, $zero, $zero +/* A07930 80240A30 8E22008C */ lw $v0, 0x8c($s1) +/* A07934 80240A34 10400003 */ beqz $v0, .L80240A44 +/* A07938 80240A38 24020001 */ addiu $v0, $zero, 1 +/* A0793C 80240A3C 08090292 */ j .L80240A48 +/* A07940 80240A40 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A44: +/* A07944 80240A44 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A48: +/* A07948 80240A48 8E22008C */ lw $v0, 0x8c($s1) +/* A0794C 80240A4C 1040000F */ beqz $v0, .L80240A8C +/* A07950 80240A50 3C03FFAA */ lui $v1, 0xffaa +/* A07954 80240A54 8E420028 */ lw $v0, 0x28($s2) +/* A07958 80240A58 3463FFFC */ ori $v1, $v1, 0xfffc +/* A0795C 80240A5C 00431821 */ addu $v1, $v0, $v1 +/* A07960 80240A60 2C620015 */ sltiu $v0, $v1, 0x15 +/* A07964 80240A64 10400009 */ beqz $v0, .L80240A8C +/* A07968 80240A68 00031080 */ sll $v0, $v1, 2 +/* A0796C 80240A6C 3C018024 */ lui $at, 0x8024 +/* A07970 80240A70 00220821 */ addu $at, $at, $v0 +/* A07974 80240A74 8C224CF8 */ lw $v0, 0x4cf8($at) +/* A07978 80240A78 00400008 */ jr $v0 +/* A0797C 80240A7C 00000000 */ nop +/* A07980 80240A80 8E420028 */ lw $v0, 0x28($s2) +/* A07984 80240A84 24420001 */ addiu $v0, $v0, 1 +/* A07988 80240A88 AE420028 */ sw $v0, 0x28($s2) +.L80240A8C: +/* A0798C 80240A8C 0000102D */ daddu $v0, $zero, $zero +.L80240A90: +/* A07990 80240A90 8FBF0068 */ lw $ra, 0x68($sp) +/* A07994 80240A94 8FB50064 */ lw $s5, 0x64($sp) +/* A07998 80240A98 8FB40060 */ lw $s4, 0x60($sp) +/* A0799C 80240A9C 8FB3005C */ lw $s3, 0x5c($sp) +/* A079A0 80240AA0 8FB20058 */ lw $s2, 0x58($sp) +/* A079A4 80240AA4 8FB10054 */ lw $s1, 0x54($sp) +/* A079A8 80240AA8 8FB00050 */ lw $s0, 0x50($sp) +/* A079AC 80240AAC 03E00008 */ jr $ra +/* A079B0 80240AB0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240AB4_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240AB4_A06F00.s new file mode 100644 index 0000000000..8641ec305b --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240AB4_A06F00.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB4_A079B4 +/* A079B4 80240AB4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A079B8 80240AB8 AFB3002C */ sw $s3, 0x2c($sp) +/* A079BC 80240ABC 0080982D */ daddu $s3, $a0, $zero +/* A079C0 80240AC0 AFBF0030 */ sw $ra, 0x30($sp) +/* A079C4 80240AC4 AFB20028 */ sw $s2, 0x28($sp) +/* A079C8 80240AC8 AFB10024 */ sw $s1, 0x24($sp) +/* A079CC 80240ACC AFB00020 */ sw $s0, 0x20($sp) +/* A079D0 80240AD0 8E710148 */ lw $s1, 0x148($s3) +/* A079D4 80240AD4 86240008 */ lh $a0, 8($s1) +/* A079D8 80240AD8 0C00EABB */ jal get_npc_unsafe +/* A079DC 80240ADC 00A0902D */ daddu $s2, $a1, $zero +/* A079E0 80240AE0 8E440004 */ lw $a0, 4($s2) +/* A079E4 80240AE4 0040802D */ daddu $s0, $v0, $zero +/* A079E8 80240AE8 00041FC2 */ srl $v1, $a0, 0x1f +/* A079EC 80240AEC 00832021 */ addu $a0, $a0, $v1 +/* A079F0 80240AF0 00042043 */ sra $a0, $a0, 1 +/* A079F4 80240AF4 0C00A67F */ jal rand_int +/* A079F8 80240AF8 24840001 */ addiu $a0, $a0, 1 +/* A079FC 80240AFC 8E430004 */ lw $v1, 4($s2) +/* A07A00 80240B00 000327C2 */ srl $a0, $v1, 0x1f +/* A07A04 80240B04 00641821 */ addu $v1, $v1, $a0 +/* A07A08 80240B08 00031843 */ sra $v1, $v1, 1 +/* A07A0C 80240B0C 00621821 */ addu $v1, $v1, $v0 +/* A07A10 80240B10 A603008E */ sh $v1, 0x8e($s0) +/* A07A14 80240B14 8E2300D0 */ lw $v1, 0xd0($s1) +/* A07A18 80240B18 C6000040 */ lwc1 $f0, 0x40($s0) +/* A07A1C 80240B1C C4640000 */ lwc1 $f4, ($v1) +/* A07A20 80240B20 46802120 */ cvt.s.w $f4, $f4 +/* A07A24 80240B24 C4620008 */ lwc1 $f2, 8($v1) +/* A07A28 80240B28 468010A0 */ cvt.s.w $f2, $f2 +/* A07A2C 80240B2C E7A00010 */ swc1 $f0, 0x10($sp) +/* A07A30 80240B30 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07A34 80240B34 44061000 */ mfc1 $a2, $f2 +/* A07A38 80240B38 C440000C */ lwc1 $f0, 0xc($v0) +/* A07A3C 80240B3C 46800020 */ cvt.s.w $f0, $f0 +/* A07A40 80240B40 E7A00014 */ swc1 $f0, 0x14($sp) +/* A07A44 80240B44 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07A48 80240B48 44052000 */ mfc1 $a1, $f4 +/* A07A4C 80240B4C C4400010 */ lwc1 $f0, 0x10($v0) +/* A07A50 80240B50 46800020 */ cvt.s.w $f0, $f0 +/* A07A54 80240B54 E7A00018 */ swc1 $f0, 0x18($sp) +/* A07A58 80240B58 8C640018 */ lw $a0, 0x18($v1) +/* A07A5C 80240B5C 0C0123F5 */ jal is_point_within_region +/* A07A60 80240B60 8E070038 */ lw $a3, 0x38($s0) +/* A07A64 80240B64 1040000E */ beqz $v0, .L80240BA0 +/* A07A68 80240B68 00000000 */ nop +/* A07A6C 80240B6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07A70 80240B70 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A07A74 80240B74 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A07A78 80240B78 C4460000 */ lwc1 $f6, ($v0) +/* A07A7C 80240B7C 468031A0 */ cvt.s.w $f6, $f6 +/* A07A80 80240B80 44063000 */ mfc1 $a2, $f6 +/* A07A84 80240B84 C4460008 */ lwc1 $f6, 8($v0) +/* A07A88 80240B88 468031A0 */ cvt.s.w $f6, $f6 +/* A07A8C 80240B8C 44073000 */ mfc1 $a3, $f6 +/* A07A90 80240B90 0C00A720 */ jal atan2 +/* A07A94 80240B94 00000000 */ nop +/* A07A98 80240B98 080902F4 */ j .L80240BD0 +/* A07A9C 80240B9C E600000C */ swc1 $f0, 0xc($s0) +.L80240BA0: +/* A07AA0 80240BA0 0C00A67F */ jal rand_int +/* A07AA4 80240BA4 2404003C */ addiu $a0, $zero, 0x3c +/* A07AA8 80240BA8 C60C000C */ lwc1 $f12, 0xc($s0) +/* A07AAC 80240BAC 44820000 */ mtc1 $v0, $f0 +/* A07AB0 80240BB0 00000000 */ nop +/* A07AB4 80240BB4 46800020 */ cvt.s.w $f0, $f0 +/* A07AB8 80240BB8 46006300 */ add.s $f12, $f12, $f0 +/* A07ABC 80240BBC 3C0141F0 */ lui $at, 0x41f0 +/* A07AC0 80240BC0 44810000 */ mtc1 $at, $f0 +/* A07AC4 80240BC4 0C00A6C9 */ jal clamp_angle +/* A07AC8 80240BC8 46006301 */ sub.s $f12, $f12, $f0 +/* A07ACC 80240BCC E600000C */ swc1 $f0, 0xc($s0) +.L80240BD0: +/* A07AD0 80240BD0 8E2200CC */ lw $v0, 0xcc($s1) +/* A07AD4 80240BD4 8C420004 */ lw $v0, 4($v0) +/* A07AD8 80240BD8 AE020028 */ sw $v0, 0x28($s0) +/* A07ADC 80240BDC AE600074 */ sw $zero, 0x74($s3) +/* A07AE0 80240BE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07AE4 80240BE4 8C420014 */ lw $v0, 0x14($v0) +/* A07AE8 80240BE8 04410004 */ bgez $v0, .L80240BFC +/* A07AEC 80240BEC 00000000 */ nop +/* A07AF0 80240BF0 C6400000 */ lwc1 $f0, ($s2) +/* A07AF4 80240BF4 08090307 */ j .L80240C1C +/* A07AF8 80240BF8 E6000018 */ swc1 $f0, 0x18($s0) +.L80240BFC: +/* A07AFC 80240BFC 3C018024 */ lui $at, 0x8024 +/* A07B00 80240C00 D4224D50 */ ldc1 $f2, 0x4d50($at) +/* A07B04 80240C04 44820000 */ mtc1 $v0, $f0 +/* A07B08 80240C08 00000000 */ nop +/* A07B0C 80240C0C 46800021 */ cvt.d.w $f0, $f0 +/* A07B10 80240C10 46220003 */ div.d $f0, $f0, $f2 +/* A07B14 80240C14 46200020 */ cvt.s.d $f0, $f0 +/* A07B18 80240C18 E6000018 */ swc1 $f0, 0x18($s0) +.L80240C1C: +/* A07B1C 80240C1C C600003C */ lwc1 $f0, 0x3c($s0) +/* A07B20 80240C20 3C014059 */ lui $at, 0x4059 +/* A07B24 80240C24 44811800 */ mtc1 $at, $f3 +/* A07B28 80240C28 44801000 */ mtc1 $zero, $f2 +/* A07B2C 80240C2C 46000021 */ cvt.d.s $f0, $f0 +/* A07B30 80240C30 46220002 */ mul.d $f0, $f0, $f2 +/* A07B34 80240C34 00000000 */ nop +/* A07B38 80240C38 24020001 */ addiu $v0, $zero, 1 +/* A07B3C 80240C3C 4620018D */ trunc.w.d $f6, $f0 +/* A07B40 80240C40 E626007C */ swc1 $f6, 0x7c($s1) +/* A07B44 80240C44 AE620070 */ sw $v0, 0x70($s3) +/* A07B48 80240C48 8FBF0030 */ lw $ra, 0x30($sp) +/* A07B4C 80240C4C 8FB3002C */ lw $s3, 0x2c($sp) +/* A07B50 80240C50 8FB20028 */ lw $s2, 0x28($sp) +/* A07B54 80240C54 8FB10024 */ lw $s1, 0x24($sp) +/* A07B58 80240C58 8FB00020 */ lw $s0, 0x20($sp) +/* A07B5C 80240C5C 03E00008 */ jr $ra +/* A07B60 80240C60 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80240C64_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80240C64_A06F00.s new file mode 100644 index 0000000000..a7f58380af --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80240C64_A06F00.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C64_A07B64 +/* A07B64 80240C64 27BDFF80 */ addiu $sp, $sp, -0x80 +/* A07B68 80240C68 AFB3004C */ sw $s3, 0x4c($sp) +/* A07B6C 80240C6C 0080982D */ daddu $s3, $a0, $zero +/* A07B70 80240C70 AFBF0058 */ sw $ra, 0x58($sp) +/* A07B74 80240C74 AFB50054 */ sw $s5, 0x54($sp) +/* A07B78 80240C78 AFB40050 */ sw $s4, 0x50($sp) +/* A07B7C 80240C7C AFB20048 */ sw $s2, 0x48($sp) +/* A07B80 80240C80 AFB10044 */ sw $s1, 0x44($sp) +/* A07B84 80240C84 AFB00040 */ sw $s0, 0x40($sp) +/* A07B88 80240C88 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A07B8C 80240C8C F7B80070 */ sdc1 $f24, 0x70($sp) +/* A07B90 80240C90 F7B60068 */ sdc1 $f22, 0x68($sp) +/* A07B94 80240C94 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A07B98 80240C98 8E710148 */ lw $s1, 0x148($s3) +/* A07B9C 80240C9C 00A0902D */ daddu $s2, $a1, $zero +/* A07BA0 80240CA0 86240008 */ lh $a0, 8($s1) +/* A07BA4 80240CA4 0C00EABB */ jal get_npc_unsafe +/* A07BA8 80240CA8 00C0A82D */ daddu $s5, $a2, $zero +/* A07BAC 80240CAC 0040802D */ daddu $s0, $v0, $zero +/* A07BB0 80240CB0 0000A02D */ daddu $s4, $zero, $zero +/* A07BB4 80240CB4 C624007C */ lwc1 $f4, 0x7c($s1) +/* A07BB8 80240CB8 46802120 */ cvt.s.w $f4, $f4 +/* A07BBC 80240CBC C6220088 */ lwc1 $f2, 0x88($s1) +/* A07BC0 80240CC0 468010A0 */ cvt.s.w $f2, $f2 +/* A07BC4 80240CC4 460010A1 */ cvt.d.s $f2, $f2 +/* A07BC8 80240CC8 46002121 */ cvt.d.s $f4, $f4 +/* A07BCC 80240CCC C600003C */ lwc1 $f0, 0x3c($s0) +/* A07BD0 80240CD0 3C014059 */ lui $at, 0x4059 +/* A07BD4 80240CD4 44813800 */ mtc1 $at, $f7 +/* A07BD8 80240CD8 44803000 */ mtc1 $zero, $f6 +/* A07BDC 80240CDC 46000021 */ cvt.d.s $f0, $f0 +/* A07BE0 80240CE0 46260002 */ mul.d $f0, $f0, $f6 +/* A07BE4 80240CE4 00000000 */ nop +/* A07BE8 80240CE8 24020001 */ addiu $v0, $zero, 1 +/* A07BEC 80240CEC 8E24006C */ lw $a0, 0x6c($s1) +/* A07BF0 80240CF0 46261083 */ div.d $f2, $f2, $f6 +/* A07BF4 80240CF4 462010A0 */ cvt.s.d $f2, $f2 +/* A07BF8 80240CF8 46262103 */ div.d $f4, $f4, $f6 +/* A07BFC 80240CFC 46202520 */ cvt.s.d $f20, $f4 +/* A07C00 80240D00 30830011 */ andi $v1, $a0, 0x11 +/* A07C04 80240D04 4620020D */ trunc.w.d $f8, $f0 +/* A07C08 80240D08 E628007C */ swc1 $f8, 0x7c($s1) +/* A07C0C 80240D0C C6200078 */ lwc1 $f0, 0x78($s1) +/* A07C10 80240D10 46800020 */ cvt.s.w $f0, $f0 +/* A07C14 80240D14 46000021 */ cvt.d.s $f0, $f0 +/* A07C18 80240D18 46260003 */ div.d $f0, $f0, $f6 +/* A07C1C 80240D1C 462006A0 */ cvt.s.d $f26, $f0 +/* A07C20 80240D20 C6200070 */ lwc1 $f0, 0x70($s1) +/* A07C24 80240D24 46800020 */ cvt.s.w $f0, $f0 +/* A07C28 80240D28 46000021 */ cvt.d.s $f0, $f0 +/* A07C2C 80240D2C 46260003 */ div.d $f0, $f0, $f6 +/* A07C30 80240D30 462005A0 */ cvt.s.d $f22, $f0 +/* A07C34 80240D34 14620025 */ bne $v1, $v0, .L80240DCC +/* A07C38 80240D38 4602D600 */ add.s $f24, $f26, $f2 +/* A07C3C 80240D3C 8E020000 */ lw $v0, ($s0) +/* A07C40 80240D40 30420008 */ andi $v0, $v0, 8 +/* A07C44 80240D44 10400009 */ beqz $v0, .L80240D6C +/* A07C48 80240D48 27A50028 */ addiu $a1, $sp, 0x28 +/* A07C4C 80240D4C C600003C */ lwc1 $f0, 0x3c($s0) +/* A07C50 80240D50 4600C001 */ sub.s $f0, $f24, $f0 +/* A07C54 80240D54 4600B03C */ c.lt.s $f22, $f0 +/* A07C58 80240D58 00000000 */ nop +/* A07C5C 80240D5C 4500001B */ bc1f .L80240DCC +/* A07C60 80240D60 34820010 */ ori $v0, $a0, 0x10 +/* A07C64 80240D64 08090373 */ j .L80240DCC +/* A07C68 80240D68 AE22006C */ sw $v0, 0x6c($s1) +.L80240D6C: +/* A07C6C 80240D6C 27A6002C */ addiu $a2, $sp, 0x2c +/* A07C70 80240D70 C6000038 */ lwc1 $f0, 0x38($s0) +/* A07C74 80240D74 C602003C */ lwc1 $f2, 0x3c($s0) +/* A07C78 80240D78 C6040040 */ lwc1 $f4, 0x40($s0) +/* A07C7C 80240D7C 3C01447A */ lui $at, 0x447a +/* A07C80 80240D80 44813000 */ mtc1 $at, $f6 +/* A07C84 80240D84 27A20034 */ addiu $v0, $sp, 0x34 +/* A07C88 80240D88 E7A00028 */ swc1 $f0, 0x28($sp) +/* A07C8C 80240D8C E7A2002C */ swc1 $f2, 0x2c($sp) +/* A07C90 80240D90 E7A40030 */ swc1 $f4, 0x30($sp) +/* A07C94 80240D94 E7A60034 */ swc1 $f6, 0x34($sp) +/* A07C98 80240D98 AFA20010 */ sw $v0, 0x10($sp) +/* A07C9C 80240D9C 8E040080 */ lw $a0, 0x80($s0) +/* A07CA0 80240DA0 0C0372DF */ jal func_800DCB7C +/* A07CA4 80240DA4 27A70030 */ addiu $a3, $sp, 0x30 +/* A07CA8 80240DA8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* A07CAC 80240DAC 4600D001 */ sub.s $f0, $f26, $f0 +/* A07CB0 80240DB0 4600B03C */ c.lt.s $f22, $f0 +/* A07CB4 80240DB4 00000000 */ nop +/* A07CB8 80240DB8 45000004 */ bc1f .L80240DCC +/* A07CBC 80240DBC 00000000 */ nop +/* A07CC0 80240DC0 8E22006C */ lw $v0, 0x6c($s1) +/* A07CC4 80240DC4 34420010 */ ori $v0, $v0, 0x10 +/* A07CC8 80240DC8 AE22006C */ sw $v0, 0x6c($s1) +.L80240DCC: +/* A07CCC 80240DCC 8E22006C */ lw $v0, 0x6c($s1) +/* A07CD0 80240DD0 24030011 */ addiu $v1, $zero, 0x11 +/* A07CD4 80240DD4 30420011 */ andi $v0, $v0, 0x11 +/* A07CD8 80240DD8 14430039 */ bne $v0, $v1, .L80240EC0 +/* A07CDC 80240DDC 00000000 */ nop +/* A07CE0 80240DE0 8E020000 */ lw $v0, ($s0) +/* A07CE4 80240DE4 30420008 */ andi $v0, $v0, 8 +/* A07CE8 80240DE8 1040000A */ beqz $v0, .L80240E14 +/* A07CEC 80240DEC 4600C106 */ mov.s $f4, $f24 +/* A07CF0 80240DF0 4614C081 */ sub.s $f2, $f24, $f20 +/* A07CF4 80240DF4 3C018024 */ lui $at, 0x8024 +/* A07CF8 80240DF8 D4204D58 */ ldc1 $f0, 0x4d58($at) +/* A07CFC 80240DFC 460010A1 */ cvt.d.s $f2, $f2 +/* A07D00 80240E00 46201082 */ mul.d $f2, $f2, $f0 +/* A07D04 80240E04 00000000 */ nop +/* A07D08 80240E08 4600A021 */ cvt.d.s $f0, $f20 +/* A07D0C 80240E0C 0809039E */ j .L80240E78 +/* A07D10 80240E10 46220000 */ add.d $f0, $f0, $f2 +.L80240E14: +/* A07D14 80240E14 27A50028 */ addiu $a1, $sp, 0x28 +/* A07D18 80240E18 27A6002C */ addiu $a2, $sp, 0x2c +/* A07D1C 80240E1C C6000038 */ lwc1 $f0, 0x38($s0) +/* A07D20 80240E20 C6020040 */ lwc1 $f2, 0x40($s0) +/* A07D24 80240E24 3C01447A */ lui $at, 0x447a +/* A07D28 80240E28 44812000 */ mtc1 $at, $f4 +/* A07D2C 80240E2C 27A20034 */ addiu $v0, $sp, 0x34 +/* A07D30 80240E30 E7B4002C */ swc1 $f20, 0x2c($sp) +/* A07D34 80240E34 E7A00028 */ swc1 $f0, 0x28($sp) +/* A07D38 80240E38 E7A20030 */ swc1 $f2, 0x30($sp) +/* A07D3C 80240E3C E7A40034 */ swc1 $f4, 0x34($sp) +/* A07D40 80240E40 AFA20010 */ sw $v0, 0x10($sp) +/* A07D44 80240E44 8E040080 */ lw $a0, 0x80($s0) +/* A07D48 80240E48 0C0372DF */ jal func_800DCB7C +/* A07D4C 80240E4C 27A70030 */ addiu $a3, $sp, 0x30 +/* A07D50 80240E50 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* A07D54 80240E54 461A2100 */ add.s $f4, $f4, $f26 +/* A07D58 80240E58 46142081 */ sub.s $f2, $f4, $f20 +/* A07D5C 80240E5C 3C018024 */ lui $at, 0x8024 +/* A07D60 80240E60 D4204D60 */ ldc1 $f0, 0x4d60($at) +/* A07D64 80240E64 460010A1 */ cvt.d.s $f2, $f2 +/* A07D68 80240E68 46201082 */ mul.d $f2, $f2, $f0 +/* A07D6C 80240E6C 00000000 */ nop +/* A07D70 80240E70 4600A021 */ cvt.d.s $f0, $f20 +/* A07D74 80240E74 46220000 */ add.d $f0, $f0, $f2 +.L80240E78: +/* A07D78 80240E78 46200020 */ cvt.s.d $f0, $f0 +/* A07D7C 80240E7C E600003C */ swc1 $f0, 0x3c($s0) +/* A07D80 80240E80 C600003C */ lwc1 $f0, 0x3c($s0) +/* A07D84 80240E84 46002001 */ sub.s $f0, $f4, $f0 +/* A07D88 80240E88 3C013FF0 */ lui $at, 0x3ff0 +/* A07D8C 80240E8C 44811800 */ mtc1 $at, $f3 +/* A07D90 80240E90 44801000 */ mtc1 $zero, $f2 +/* A07D94 80240E94 46000005 */ abs.s $f0, $f0 +/* A07D98 80240E98 46000021 */ cvt.d.s $f0, $f0 +/* A07D9C 80240E9C 4622003C */ c.lt.d $f0, $f2 +/* A07DA0 80240EA0 00000000 */ nop +/* A07DA4 80240EA4 45000036 */ bc1f .L80240F80 +/* A07DA8 80240EA8 2403FFEF */ addiu $v1, $zero, -0x11 +/* A07DAC 80240EAC E604003C */ swc1 $f4, 0x3c($s0) +/* A07DB0 80240EB0 8E22006C */ lw $v0, 0x6c($s1) +/* A07DB4 80240EB4 00431024 */ and $v0, $v0, $v1 +/* A07DB8 80240EB8 080903E0 */ j .L80240F80 +/* A07DBC 80240EBC AE22006C */ sw $v0, 0x6c($s1) +.L80240EC0: +/* A07DC0 80240EC0 8E220070 */ lw $v0, 0x70($s1) +/* A07DC4 80240EC4 1840002E */ blez $v0, .L80240F80 +/* A07DC8 80240EC8 00000000 */ nop +/* A07DCC 80240ECC C62C0074 */ lwc1 $f12, 0x74($s1) +/* A07DD0 80240ED0 0C00A8BB */ jal sin_deg +/* A07DD4 80240ED4 46806320 */ cvt.s.w $f12, $f12 +/* A07DD8 80240ED8 8E020000 */ lw $v0, ($s0) +/* A07DDC 80240EDC 30420008 */ andi $v0, $v0, 8 +/* A07DE0 80240EE0 10400003 */ beqz $v0, .L80240EF0 +/* A07DE4 80240EE4 46000506 */ mov.s $f20, $f0 +/* A07DE8 80240EE8 080903CC */ j .L80240F30 +/* A07DEC 80240EEC 0000102D */ daddu $v0, $zero, $zero +.L80240EF0: +/* A07DF0 80240EF0 27A50028 */ addiu $a1, $sp, 0x28 +/* A07DF4 80240EF4 27A6002C */ addiu $a2, $sp, 0x2c +/* A07DF8 80240EF8 C6000038 */ lwc1 $f0, 0x38($s0) +/* A07DFC 80240EFC C602003C */ lwc1 $f2, 0x3c($s0) +/* A07E00 80240F00 C6040040 */ lwc1 $f4, 0x40($s0) +/* A07E04 80240F04 3C01447A */ lui $at, 0x447a +/* A07E08 80240F08 44813000 */ mtc1 $at, $f6 +/* A07E0C 80240F0C 27A20034 */ addiu $v0, $sp, 0x34 +/* A07E10 80240F10 E7A00028 */ swc1 $f0, 0x28($sp) +/* A07E14 80240F14 E7A2002C */ swc1 $f2, 0x2c($sp) +/* A07E18 80240F18 E7A40030 */ swc1 $f4, 0x30($sp) +/* A07E1C 80240F1C E7A60034 */ swc1 $f6, 0x34($sp) +/* A07E20 80240F20 AFA20010 */ sw $v0, 0x10($sp) +/* A07E24 80240F24 8E040080 */ lw $a0, 0x80($s0) +/* A07E28 80240F28 0C0372DF */ jal func_800DCB7C +/* A07E2C 80240F2C 27A70030 */ addiu $a3, $sp, 0x30 +.L80240F30: +/* A07E30 80240F30 10400007 */ beqz $v0, .L80240F50 +/* A07E34 80240F34 00000000 */ nop +/* A07E38 80240F38 4616A082 */ mul.s $f2, $f20, $f22 +/* A07E3C 80240F3C 00000000 */ nop +/* A07E40 80240F40 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A07E44 80240F44 461A0000 */ add.s $f0, $f0, $f26 +/* A07E48 80240F48 080903D7 */ j .L80240F5C +/* A07E4C 80240F4C 46020000 */ add.s $f0, $f0, $f2 +.L80240F50: +/* A07E50 80240F50 4616A002 */ mul.s $f0, $f20, $f22 +/* A07E54 80240F54 00000000 */ nop +/* A07E58 80240F58 4600C000 */ add.s $f0, $f24, $f0 +.L80240F5C: +/* A07E5C 80240F5C E600003C */ swc1 $f0, 0x3c($s0) +/* A07E60 80240F60 8E220074 */ lw $v0, 0x74($s1) +/* A07E64 80240F64 2442000A */ addiu $v0, $v0, 0xa +/* A07E68 80240F68 44826000 */ mtc1 $v0, $f12 +/* A07E6C 80240F6C 00000000 */ nop +/* A07E70 80240F70 0C00A6C9 */ jal clamp_angle +/* A07E74 80240F74 46806320 */ cvt.s.w $f12, $f12 +/* A07E78 80240F78 4600020D */ trunc.w.s $f8, $f0 +/* A07E7C 80240F7C E6280074 */ swc1 $f8, 0x74($s1) +.L80240F80: +/* A07E80 80240F80 8E220090 */ lw $v0, 0x90($s1) +/* A07E84 80240F84 1C40004A */ bgtz $v0, .L802410B0 +/* A07E88 80240F88 2442FFFF */ addiu $v0, $v0, -1 +/* A07E8C 80240F8C 8E430014 */ lw $v1, 0x14($s2) +/* A07E90 80240F90 04600048 */ bltz $v1, .L802410B4 +/* A07E94 80240F94 00000000 */ nop +/* A07E98 80240F98 8E620074 */ lw $v0, 0x74($s3) +/* A07E9C 80240F9C 1C400042 */ bgtz $v0, .L802410A8 +/* A07EA0 80240FA0 2442FFFF */ addiu $v0, $v0, -1 +/* A07EA4 80240FA4 AE630074 */ sw $v1, 0x74($s3) +/* A07EA8 80240FA8 860200A8 */ lh $v0, 0xa8($s0) +/* A07EAC 80240FAC C602003C */ lwc1 $f2, 0x3c($s0) +/* A07EB0 80240FB0 44820000 */ mtc1 $v0, $f0 +/* A07EB4 80240FB4 00000000 */ nop +/* A07EB8 80240FB8 46800020 */ cvt.s.w $f0, $f0 +/* A07EBC 80240FBC 46001080 */ add.s $f2, $f2, $f0 +/* A07EC0 80240FC0 3C014024 */ lui $at, 0x4024 +/* A07EC4 80240FC4 44810800 */ mtc1 $at, $f1 +/* A07EC8 80240FC8 44800000 */ mtc1 $zero, $f0 +/* A07ECC 80240FCC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A07ED0 80240FD0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A07ED4 80240FD4 460010A1 */ cvt.d.s $f2, $f2 +/* A07ED8 80240FD8 46201080 */ add.d $f2, $f2, $f0 +/* A07EDC 80240FDC C440002C */ lwc1 $f0, 0x2c($v0) +/* A07EE0 80240FE0 46000021 */ cvt.d.s $f0, $f0 +/* A07EE4 80240FE4 4622003C */ c.lt.d $f0, $f2 +/* A07EE8 80240FE8 00000000 */ nop +/* A07EEC 80240FEC 4500002C */ bc1f .L802410A0 +/* A07EF0 80240FF0 02A0202D */ daddu $a0, $s5, $zero +/* A07EF4 80240FF4 AFA00010 */ sw $zero, 0x10($sp) +/* A07EF8 80240FF8 8E46000C */ lw $a2, 0xc($s2) +/* A07EFC 80240FFC 8E470010 */ lw $a3, 0x10($s2) +/* A07F00 80241000 0C01242D */ jal func_800490B4 +/* A07F04 80241004 0220282D */ daddu $a1, $s1, $zero +/* A07F08 80241008 10400025 */ beqz $v0, .L802410A0 +/* A07F0C 8024100C 0000202D */ daddu $a0, $zero, $zero +/* A07F10 80241010 0200282D */ daddu $a1, $s0, $zero +/* A07F14 80241014 0000302D */ daddu $a2, $zero, $zero +/* A07F18 80241018 2412000C */ addiu $s2, $zero, 0xc +/* A07F1C 8024101C 860300A8 */ lh $v1, 0xa8($s0) +/* A07F20 80241020 3C013F80 */ lui $at, 0x3f80 +/* A07F24 80241024 44810000 */ mtc1 $at, $f0 +/* A07F28 80241028 3C014000 */ lui $at, 0x4000 +/* A07F2C 8024102C 44811000 */ mtc1 $at, $f2 +/* A07F30 80241030 3C01C1A0 */ lui $at, 0xc1a0 +/* A07F34 80241034 44812000 */ mtc1 $at, $f4 +/* A07F38 80241038 44834000 */ mtc1 $v1, $f8 +/* A07F3C 8024103C 00000000 */ nop +/* A07F40 80241040 46804220 */ cvt.s.w $f8, $f8 +/* A07F44 80241044 44074000 */ mfc1 $a3, $f8 +/* A07F48 80241048 27A20038 */ addiu $v0, $sp, 0x38 +/* A07F4C 8024104C AFB2001C */ sw $s2, 0x1c($sp) +/* A07F50 80241050 AFA20020 */ sw $v0, 0x20($sp) +/* A07F54 80241054 E7A00010 */ swc1 $f0, 0x10($sp) +/* A07F58 80241058 E7A20014 */ swc1 $f2, 0x14($sp) +/* A07F5C 8024105C 0C01BFA4 */ jal fx_emote +/* A07F60 80241060 E7A40018 */ swc1 $f4, 0x18($sp) +/* A07F64 80241064 0200202D */ daddu $a0, $s0, $zero +/* A07F68 80241068 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A07F6C 8024106C C480003C */ lwc1 $f0, 0x3c($a0) +/* A07F70 80241070 3C060020 */ lui $a2, 0x20 +/* A07F74 80241074 0C012530 */ jal func_800494C0 +/* A07F78 80241078 E4800064 */ swc1 $f0, 0x64($a0) +/* A07F7C 8024107C 8E220018 */ lw $v0, 0x18($s1) +/* A07F80 80241080 9442002A */ lhu $v0, 0x2a($v0) +/* A07F84 80241084 30420001 */ andi $v0, $v0, 1 +/* A07F88 80241088 10400003 */ beqz $v0, .L80241098 +/* A07F8C 8024108C 2402000A */ addiu $v0, $zero, 0xa +/* A07F90 80241090 08090496 */ j .L80241258 +/* A07F94 80241094 AE620070 */ sw $v0, 0x70($s3) +.L80241098: +/* A07F98 80241098 08090496 */ j .L80241258 +/* A07F9C 8024109C AE720070 */ sw $s2, 0x70($s3) +.L802410A0: +/* A07FA0 802410A0 8E620074 */ lw $v0, 0x74($s3) +/* A07FA4 802410A4 2442FFFF */ addiu $v0, $v0, -1 +.L802410A8: +/* A07FA8 802410A8 0809042D */ j .L802410B4 +/* A07FAC 802410AC AE620074 */ sw $v0, 0x74($s3) +.L802410B0: +/* A07FB0 802410B0 AE220090 */ sw $v0, 0x90($s1) +.L802410B4: +/* A07FB4 802410B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* A07FB8 802410B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* A07FBC 802410BC C4620000 */ lwc1 $f2, ($v1) +/* A07FC0 802410C0 468010A0 */ cvt.s.w $f2, $f2 +/* A07FC4 802410C4 C4640008 */ lwc1 $f4, 8($v1) +/* A07FC8 802410C8 46802120 */ cvt.s.w $f4, $f4 +/* A07FCC 802410CC E7A00010 */ swc1 $f0, 0x10($sp) +/* A07FD0 802410D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07FD4 802410D4 44051000 */ mfc1 $a1, $f2 +/* A07FD8 802410D8 C440000C */ lwc1 $f0, 0xc($v0) +/* A07FDC 802410DC 46800020 */ cvt.s.w $f0, $f0 +/* A07FE0 802410E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* A07FE4 802410E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* A07FE8 802410E8 44062000 */ mfc1 $a2, $f4 +/* A07FEC 802410EC C4400010 */ lwc1 $f0, 0x10($v0) +/* A07FF0 802410F0 46800020 */ cvt.s.w $f0, $f0 +/* A07FF4 802410F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* A07FF8 802410F8 8C640018 */ lw $a0, 0x18($v1) +/* A07FFC 802410FC 0C0123F5 */ jal is_point_within_region +/* A08000 80241100 8E070038 */ lw $a3, 0x38($s0) +/* A08004 80241104 1040001A */ beqz $v0, .L80241170 +/* A08008 80241108 00000000 */ nop +/* A0800C 8024110C 8E060038 */ lw $a2, 0x38($s0) +/* A08010 80241110 8E2200D0 */ lw $v0, 0xd0($s1) +/* A08014 80241114 8E070040 */ lw $a3, 0x40($s0) +/* A08018 80241118 C44C0000 */ lwc1 $f12, ($v0) +/* A0801C 8024111C 46806320 */ cvt.s.w $f12, $f12 +/* A08020 80241120 C44E0008 */ lwc1 $f14, 8($v0) +/* A08024 80241124 0C00A7B5 */ jal dist2D +/* A08028 80241128 468073A0 */ cvt.s.w $f14, $f14 +/* A0802C 8024112C C6020018 */ lwc1 $f2, 0x18($s0) +/* A08030 80241130 4600103C */ c.lt.s $f2, $f0 +/* A08034 80241134 00000000 */ nop +/* A08038 80241138 4500000D */ bc1f .L80241170 +/* A0803C 8024113C E7A00034 */ swc1 $f0, 0x34($sp) +/* A08040 80241140 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A08044 80241144 8E2200D0 */ lw $v0, 0xd0($s1) +/* A08048 80241148 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A0804C 8024114C C4480000 */ lwc1 $f8, ($v0) +/* A08050 80241150 46804220 */ cvt.s.w $f8, $f8 +/* A08054 80241154 44064000 */ mfc1 $a2, $f8 +/* A08058 80241158 C4480008 */ lwc1 $f8, 8($v0) +/* A0805C 8024115C 46804220 */ cvt.s.w $f8, $f8 +/* A08060 80241160 44074000 */ mfc1 $a3, $f8 +/* A08064 80241164 0C00A720 */ jal atan2 +/* A08068 80241168 24140001 */ addiu $s4, $zero, 1 +/* A0806C 8024116C E600000C */ swc1 $f0, 0xc($s0) +.L80241170: +/* A08070 80241170 8E2200D0 */ lw $v0, 0xd0($s1) +/* A08074 80241174 8C43000C */ lw $v1, 0xc($v0) +/* A08078 80241178 8C420010 */ lw $v0, 0x10($v0) +/* A0807C 8024117C 00621825 */ or $v1, $v1, $v0 +/* A08080 80241180 00741825 */ or $v1, $v1, $s4 +/* A08084 80241184 10600008 */ beqz $v1, .L802411A8 +/* A08088 80241188 00000000 */ nop +/* A0808C 8024118C 8602008C */ lh $v0, 0x8c($s0) +/* A08090 80241190 14400031 */ bnez $v0, .L80241258 +/* A08094 80241194 00000000 */ nop +/* A08098 80241198 8E050018 */ lw $a1, 0x18($s0) +/* A0809C 8024119C 8E06000C */ lw $a2, 0xc($s0) +/* A080A0 802411A0 0C00EA95 */ jal npc_move_heading +/* A080A4 802411A4 0200202D */ daddu $a0, $s0, $zero +.L802411A8: +/* A080A8 802411A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A080AC 802411AC 3C014059 */ lui $at, 0x4059 +/* A080B0 802411B0 44811800 */ mtc1 $at, $f3 +/* A080B4 802411B4 44801000 */ mtc1 $zero, $f2 +/* A080B8 802411B8 46000021 */ cvt.d.s $f0, $f0 +/* A080BC 802411BC 46220002 */ mul.d $f0, $f0, $f2 +/* A080C0 802411C0 00000000 */ nop +/* A080C4 802411C4 4620020D */ trunc.w.d $f8, $f0 +/* A080C8 802411C8 E628007C */ swc1 $f8, 0x7c($s1) +/* A080CC 802411CC 8E420004 */ lw $v0, 4($s2) +/* A080D0 802411D0 18400021 */ blez $v0, .L80241258 +/* A080D4 802411D4 00000000 */ nop +/* A080D8 802411D8 8602008E */ lh $v0, 0x8e($s0) +/* A080DC 802411DC 9603008E */ lhu $v1, 0x8e($s0) +/* A080E0 802411E0 18400005 */ blez $v0, .L802411F8 +/* A080E4 802411E4 2462FFFF */ addiu $v0, $v1, -1 +/* A080E8 802411E8 A602008E */ sh $v0, 0x8e($s0) +/* A080EC 802411EC 00021400 */ sll $v0, $v0, 0x10 +/* A080F0 802411F0 1C400019 */ bgtz $v0, .L80241258 +/* A080F4 802411F4 00000000 */ nop +.L802411F8: +/* A080F8 802411F8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A080FC 802411FC 24020002 */ addiu $v0, $zero, 2 +/* A08100 80241200 0C00A67F */ jal rand_int +/* A08104 80241204 AE620070 */ sw $v0, 0x70($s3) +/* A08108 80241208 3C035555 */ lui $v1, 0x5555 +/* A0810C 8024120C 34635556 */ ori $v1, $v1, 0x5556 +/* A08110 80241210 00430018 */ mult $v0, $v1 +/* A08114 80241214 000227C3 */ sra $a0, $v0, 0x1f +/* A08118 80241218 00004010 */ mfhi $t0 +/* A0811C 8024121C 01042023 */ subu $a0, $t0, $a0 +/* A08120 80241220 00041840 */ sll $v1, $a0, 1 +/* A08124 80241224 00641821 */ addu $v1, $v1, $a0 +/* A08128 80241228 00431023 */ subu $v0, $v0, $v1 +/* A0812C 8024122C 24430002 */ addiu $v1, $v0, 2 +/* A08130 80241230 AE630074 */ sw $v1, 0x74($s3) +/* A08134 80241234 8E42002C */ lw $v0, 0x2c($s2) +/* A08138 80241238 58400007 */ blezl $v0, .L80241258 +/* A0813C 8024123C AE600070 */ sw $zero, 0x70($s3) +/* A08140 80241240 8E420008 */ lw $v0, 8($s2) +/* A08144 80241244 18400003 */ blez $v0, .L80241254 +/* A08148 80241248 28620003 */ slti $v0, $v1, 3 +/* A0814C 8024124C 10400002 */ beqz $v0, .L80241258 +/* A08150 80241250 00000000 */ nop +.L80241254: +/* A08154 80241254 AE600070 */ sw $zero, 0x70($s3) +.L80241258: +/* A08158 80241258 8FBF0058 */ lw $ra, 0x58($sp) +/* A0815C 8024125C 8FB50054 */ lw $s5, 0x54($sp) +/* A08160 80241260 8FB40050 */ lw $s4, 0x50($sp) +/* A08164 80241264 8FB3004C */ lw $s3, 0x4c($sp) +/* A08168 80241268 8FB20048 */ lw $s2, 0x48($sp) +/* A0816C 8024126C 8FB10044 */ lw $s1, 0x44($sp) +/* A08170 80241270 8FB00040 */ lw $s0, 0x40($sp) +/* A08174 80241274 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A08178 80241278 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A0817C 8024127C D7B60068 */ ldc1 $f22, 0x68($sp) +/* A08180 80241280 D7B40060 */ ldc1 $f20, 0x60($sp) +/* A08184 80241284 03E00008 */ jr $ra +/* A08188 80241288 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_8024128C.s b/asm/nonmatchings/world/area_nok/nok_15/func_8024128C.s new file mode 100644 index 0000000000..552e25faa7 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_8024128C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024128C +/* A0818C 8024128C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A08190 80241290 AFB3001C */ sw $s3, 0x1c($sp) +/* A08194 80241294 0080982D */ daddu $s3, $a0, $zero +/* A08198 80241298 AFBF0020 */ sw $ra, 0x20($sp) +/* A0819C 8024129C AFB20018 */ sw $s2, 0x18($sp) +/* A081A0 802412A0 AFB10014 */ sw $s1, 0x14($sp) +/* A081A4 802412A4 AFB00010 */ sw $s0, 0x10($sp) +/* A081A8 802412A8 8E720148 */ lw $s2, 0x148($s3) +/* A081AC 802412AC 86440008 */ lh $a0, 8($s2) +/* A081B0 802412B0 0C00EABB */ jal get_npc_unsafe +/* A081B4 802412B4 00A0882D */ daddu $s1, $a1, $zero +/* A081B8 802412B8 8E240008 */ lw $a0, 8($s1) +/* A081BC 802412BC 0040802D */ daddu $s0, $v0, $zero +/* A081C0 802412C0 00041FC2 */ srl $v1, $a0, 0x1f +/* A081C4 802412C4 00832021 */ addu $a0, $a0, $v1 +/* A081C8 802412C8 00042043 */ sra $a0, $a0, 1 +/* A081CC 802412CC 0C00A67F */ jal rand_int +/* A081D0 802412D0 24840001 */ addiu $a0, $a0, 1 +/* A081D4 802412D4 8E230008 */ lw $v1, 8($s1) +/* A081D8 802412D8 240400B4 */ addiu $a0, $zero, 0xb4 +/* A081DC 802412DC 00032FC2 */ srl $a1, $v1, 0x1f +/* A081E0 802412E0 00651821 */ addu $v1, $v1, $a1 +/* A081E4 802412E4 00031843 */ sra $v1, $v1, 1 +/* A081E8 802412E8 00621821 */ addu $v1, $v1, $v0 +/* A081EC 802412EC 0C00A67F */ jal rand_int +/* A081F0 802412F0 A603008E */ sh $v1, 0x8e($s0) +/* A081F4 802412F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* A081F8 802412F8 44820000 */ mtc1 $v0, $f0 +/* A081FC 802412FC 00000000 */ nop +/* A08200 80241300 46800020 */ cvt.s.w $f0, $f0 +/* A08204 80241304 46006300 */ add.s $f12, $f12, $f0 +/* A08208 80241308 3C0142B4 */ lui $at, 0x42b4 +/* A0820C 8024130C 44810000 */ mtc1 $at, $f0 +/* A08210 80241310 0C00A6C9 */ jal clamp_angle +/* A08214 80241314 46006301 */ sub.s $f12, $f12, $f0 +/* A08218 80241318 E600000C */ swc1 $f0, 0xc($s0) +/* A0821C 8024131C 8E4200CC */ lw $v0, 0xcc($s2) +/* A08220 80241320 8C420000 */ lw $v0, ($v0) +/* A08224 80241324 AE020028 */ sw $v0, 0x28($s0) +/* A08228 80241328 24020003 */ addiu $v0, $zero, 3 +/* A0822C 8024132C AE620070 */ sw $v0, 0x70($s3) +/* A08230 80241330 8FBF0020 */ lw $ra, 0x20($sp) +/* A08234 80241334 8FB3001C */ lw $s3, 0x1c($sp) +/* A08238 80241338 8FB20018 */ lw $s2, 0x18($sp) +/* A0823C 8024133C 8FB10014 */ lw $s1, 0x14($sp) +/* A08240 80241340 8FB00010 */ lw $s0, 0x10($sp) +/* A08244 80241344 03E00008 */ jr $ra +/* A08248 80241348 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_8024134C.s b/asm/nonmatchings/world/area_nok/nok_15/func_8024134C.s new file mode 100644 index 0000000000..a04de0578a --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_8024134C.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024134C +/* A0824C 8024134C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* A08250 80241350 AFB3004C */ sw $s3, 0x4c($sp) +/* A08254 80241354 0080982D */ daddu $s3, $a0, $zero +/* A08258 80241358 AFBF0054 */ sw $ra, 0x54($sp) +/* A0825C 8024135C AFB40050 */ sw $s4, 0x50($sp) +/* A08260 80241360 AFB20048 */ sw $s2, 0x48($sp) +/* A08264 80241364 AFB10044 */ sw $s1, 0x44($sp) +/* A08268 80241368 AFB00040 */ sw $s0, 0x40($sp) +/* A0826C 8024136C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* A08270 80241370 F7B80068 */ sdc1 $f24, 0x68($sp) +/* A08274 80241374 F7B60060 */ sdc1 $f22, 0x60($sp) +/* A08278 80241378 F7B40058 */ sdc1 $f20, 0x58($sp) +/* A0827C 8024137C 8E710148 */ lw $s1, 0x148($s3) +/* A08280 80241380 00A0902D */ daddu $s2, $a1, $zero +/* A08284 80241384 86240008 */ lh $a0, 8($s1) +/* A08288 80241388 0C00EABB */ jal get_npc_unsafe +/* A0828C 8024138C 00C0A02D */ daddu $s4, $a2, $zero +/* A08290 80241390 0040802D */ daddu $s0, $v0, $zero +/* A08294 80241394 C6200078 */ lwc1 $f0, 0x78($s1) +/* A08298 80241398 46800020 */ cvt.s.w $f0, $f0 +/* A0829C 8024139C 46000021 */ cvt.d.s $f0, $f0 +/* A082A0 802413A0 3C014059 */ lui $at, 0x4059 +/* A082A4 802413A4 44811800 */ mtc1 $at, $f3 +/* A082A8 802413A8 44801000 */ mtc1 $zero, $f2 +/* A082AC 802413AC 8602008E */ lh $v0, 0x8e($s0) +/* A082B0 802413B0 9603008E */ lhu $v1, 0x8e($s0) +/* A082B4 802413B4 46220003 */ div.d $f0, $f0, $f2 +/* A082B8 802413B8 46200620 */ cvt.s.d $f24, $f0 +/* A082BC 802413BC C6200088 */ lwc1 $f0, 0x88($s1) +/* A082C0 802413C0 46800020 */ cvt.s.w $f0, $f0 +/* A082C4 802413C4 46000021 */ cvt.d.s $f0, $f0 +/* A082C8 802413C8 46220003 */ div.d $f0, $f0, $f2 +/* A082CC 802413CC 46200020 */ cvt.s.d $f0, $f0 +/* A082D0 802413D0 18400003 */ blez $v0, .L802413E0 +/* A082D4 802413D4 4600C680 */ add.s $f26, $f24, $f0 +/* A082D8 802413D8 2462FFFF */ addiu $v0, $v1, -1 +/* A082DC 802413DC A602008E */ sh $v0, 0x8e($s0) +.L802413E0: +/* A082E0 802413E0 8E220070 */ lw $v0, 0x70($s1) +/* A082E4 802413E4 18400034 */ blez $v0, .L802414B8 +/* A082E8 802413E8 00000000 */ nop +/* A082EC 802413EC C62C0074 */ lwc1 $f12, 0x74($s1) +/* A082F0 802413F0 46806320 */ cvt.s.w $f12, $f12 +/* A082F4 802413F4 44820000 */ mtc1 $v0, $f0 +/* A082F8 802413F8 00000000 */ nop +/* A082FC 802413FC 46800020 */ cvt.s.w $f0, $f0 +/* A08300 80241400 46000021 */ cvt.d.s $f0, $f0 +/* A08304 80241404 46220003 */ div.d $f0, $f0, $f2 +/* A08308 80241408 0C00A8BB */ jal sin_deg +/* A0830C 8024140C 462005A0 */ cvt.s.d $f22, $f0 +/* A08310 80241410 8E020000 */ lw $v0, ($s0) +/* A08314 80241414 30420008 */ andi $v0, $v0, 8 +/* A08318 80241418 10400003 */ beqz $v0, .L80241428 +/* A0831C 8024141C 46000506 */ mov.s $f20, $f0 +/* A08320 80241420 0809051A */ j .L80241468 +/* A08324 80241424 0000102D */ daddu $v0, $zero, $zero +.L80241428: +/* A08328 80241428 27A50028 */ addiu $a1, $sp, 0x28 +/* A0832C 8024142C 27A6002C */ addiu $a2, $sp, 0x2c +/* A08330 80241430 C6000038 */ lwc1 $f0, 0x38($s0) +/* A08334 80241434 C602003C */ lwc1 $f2, 0x3c($s0) +/* A08338 80241438 C6040040 */ lwc1 $f4, 0x40($s0) +/* A0833C 8024143C 3C01447A */ lui $at, 0x447a +/* A08340 80241440 44813000 */ mtc1 $at, $f6 +/* A08344 80241444 27A20034 */ addiu $v0, $sp, 0x34 +/* A08348 80241448 E7A00028 */ swc1 $f0, 0x28($sp) +/* A0834C 8024144C E7A2002C */ swc1 $f2, 0x2c($sp) +/* A08350 80241450 E7A40030 */ swc1 $f4, 0x30($sp) +/* A08354 80241454 E7A60034 */ swc1 $f6, 0x34($sp) +/* A08358 80241458 AFA20010 */ sw $v0, 0x10($sp) +/* A0835C 8024145C 8E040080 */ lw $a0, 0x80($s0) +/* A08360 80241460 0C0372DF */ jal func_800DCB7C +/* A08364 80241464 27A70030 */ addiu $a3, $sp, 0x30 +.L80241468: +/* A08368 80241468 10400007 */ beqz $v0, .L80241488 +/* A0836C 8024146C 00000000 */ nop +/* A08370 80241470 4616A082 */ mul.s $f2, $f20, $f22 +/* A08374 80241474 00000000 */ nop +/* A08378 80241478 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* A0837C 8024147C 46180000 */ add.s $f0, $f0, $f24 +/* A08380 80241480 08090525 */ j .L80241494 +/* A08384 80241484 46020000 */ add.s $f0, $f0, $f2 +.L80241488: +/* A08388 80241488 4616A002 */ mul.s $f0, $f20, $f22 +/* A0838C 8024148C 00000000 */ nop +/* A08390 80241490 4600D000 */ add.s $f0, $f26, $f0 +.L80241494: +/* A08394 80241494 E600003C */ swc1 $f0, 0x3c($s0) +/* A08398 80241498 8E220074 */ lw $v0, 0x74($s1) +/* A0839C 8024149C 2442000A */ addiu $v0, $v0, 0xa +/* A083A0 802414A0 44826000 */ mtc1 $v0, $f12 +/* A083A4 802414A4 00000000 */ nop +/* A083A8 802414A8 0C00A6C9 */ jal clamp_angle +/* A083AC 802414AC 46806320 */ cvt.s.w $f12, $f12 +/* A083B0 802414B0 4600020D */ trunc.w.s $f8, $f0 +/* A083B4 802414B4 E6280074 */ swc1 $f8, 0x74($s1) +.L802414B8: +/* A083B8 802414B8 8E220090 */ lw $v0, 0x90($s1) +/* A083BC 802414BC 1C400040 */ bgtz $v0, .L802415C0 +/* A083C0 802414C0 2442FFFF */ addiu $v0, $v0, -1 +/* A083C4 802414C4 860200A8 */ lh $v0, 0xa8($s0) +/* A083C8 802414C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A083CC 802414CC 44821000 */ mtc1 $v0, $f2 +/* A083D0 802414D0 00000000 */ nop +/* A083D4 802414D4 468010A0 */ cvt.s.w $f2, $f2 +/* A083D8 802414D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A083DC 802414DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A083E0 802414E0 46020000 */ add.s $f0, $f0, $f2 +/* A083E4 802414E4 3C014024 */ lui $at, 0x4024 +/* A083E8 802414E8 44812800 */ mtc1 $at, $f5 +/* A083EC 802414EC 44802000 */ mtc1 $zero, $f4 +/* A083F0 802414F0 C442002C */ lwc1 $f2, 0x2c($v0) +/* A083F4 802414F4 46000021 */ cvt.d.s $f0, $f0 +/* A083F8 802414F8 46240000 */ add.d $f0, $f0, $f4 +/* A083FC 802414FC 460010A1 */ cvt.d.s $f2, $f2 +/* A08400 80241500 4620103C */ c.lt.d $f2, $f0 +/* A08404 80241504 00000000 */ nop +/* A08408 80241508 4500002E */ bc1f .L802415C4 +/* A0840C 8024150C 0280202D */ daddu $a0, $s4, $zero +/* A08410 80241510 24020001 */ addiu $v0, $zero, 1 +/* A08414 80241514 AFA20010 */ sw $v0, 0x10($sp) +/* A08418 80241518 8E460024 */ lw $a2, 0x24($s2) +/* A0841C 8024151C 8E470028 */ lw $a3, 0x28($s2) +/* A08420 80241520 0C01242D */ jal func_800490B4 +/* A08424 80241524 0220282D */ daddu $a1, $s1, $zero +/* A08428 80241528 10400026 */ beqz $v0, .L802415C4 +/* A0842C 8024152C 0000202D */ daddu $a0, $zero, $zero +/* A08430 80241530 0200282D */ daddu $a1, $s0, $zero +/* A08434 80241534 0000302D */ daddu $a2, $zero, $zero +/* A08438 80241538 2412000C */ addiu $s2, $zero, 0xc +/* A0843C 8024153C 860300A8 */ lh $v1, 0xa8($s0) +/* A08440 80241540 3C013F80 */ lui $at, 0x3f80 +/* A08444 80241544 44810000 */ mtc1 $at, $f0 +/* A08448 80241548 3C014000 */ lui $at, 0x4000 +/* A0844C 8024154C 44811000 */ mtc1 $at, $f2 +/* A08450 80241550 3C01C1A0 */ lui $at, 0xc1a0 +/* A08454 80241554 44812000 */ mtc1 $at, $f4 +/* A08458 80241558 44834000 */ mtc1 $v1, $f8 +/* A0845C 8024155C 00000000 */ nop +/* A08460 80241560 46804220 */ cvt.s.w $f8, $f8 +/* A08464 80241564 44074000 */ mfc1 $a3, $f8 +/* A08468 80241568 27A20038 */ addiu $v0, $sp, 0x38 +/* A0846C 8024156C AFB2001C */ sw $s2, 0x1c($sp) +/* A08470 80241570 AFA20020 */ sw $v0, 0x20($sp) +/* A08474 80241574 E7A00010 */ swc1 $f0, 0x10($sp) +/* A08478 80241578 E7A20014 */ swc1 $f2, 0x14($sp) +/* A0847C 8024157C 0C01BFA4 */ jal fx_emote +/* A08480 80241580 E7A40018 */ swc1 $f4, 0x18($sp) +/* A08484 80241584 0200202D */ daddu $a0, $s0, $zero +/* A08488 80241588 240502F4 */ addiu $a1, $zero, 0x2f4 +/* A0848C 8024158C C480003C */ lwc1 $f0, 0x3c($a0) +/* A08490 80241590 3C060020 */ lui $a2, 0x20 +/* A08494 80241594 0C012530 */ jal func_800494C0 +/* A08498 80241598 E4800064 */ swc1 $f0, 0x64($a0) +/* A0849C 8024159C 8E220018 */ lw $v0, 0x18($s1) +/* A084A0 802415A0 9442002A */ lhu $v0, 0x2a($v0) +/* A084A4 802415A4 30420001 */ andi $v0, $v0, 1 +/* A084A8 802415A8 10400003 */ beqz $v0, .L802415B8 +/* A084AC 802415AC 2402000A */ addiu $v0, $zero, 0xa +/* A084B0 802415B0 08090598 */ j .L80241660 +/* A084B4 802415B4 AE620070 */ sw $v0, 0x70($s3) +.L802415B8: +/* A084B8 802415B8 08090598 */ j .L80241660 +/* A084BC 802415BC AE720070 */ sw $s2, 0x70($s3) +.L802415C0: +/* A084C0 802415C0 AE220090 */ sw $v0, 0x90($s1) +.L802415C4: +/* A084C4 802415C4 8602008C */ lh $v0, 0x8c($s0) +/* A084C8 802415C8 14400025 */ bnez $v0, .L80241660 +/* A084CC 802415CC 00000000 */ nop +/* A084D0 802415D0 8602008E */ lh $v0, 0x8e($s0) +/* A084D4 802415D4 1C400022 */ bgtz $v0, .L80241660 +/* A084D8 802415D8 00000000 */ nop +/* A084DC 802415DC 8E620074 */ lw $v0, 0x74($s3) +/* A084E0 802415E0 2442FFFF */ addiu $v0, $v0, -1 +/* A084E4 802415E4 1840001D */ blez $v0, .L8024165C +/* A084E8 802415E8 AE620074 */ sw $v0, 0x74($s3) +/* A084EC 802415EC 8E220018 */ lw $v0, 0x18($s1) +/* A084F0 802415F0 9442002A */ lhu $v0, 0x2a($v0) +/* A084F4 802415F4 30420010 */ andi $v0, $v0, 0x10 +/* A084F8 802415F8 14400007 */ bnez $v0, .L80241618 +/* A084FC 802415FC 00000000 */ nop +/* A08500 80241600 C600000C */ lwc1 $f0, 0xc($s0) +/* A08504 80241604 3C014334 */ lui $at, 0x4334 +/* A08508 80241608 44816000 */ mtc1 $at, $f12 +/* A0850C 8024160C 0C00A6C9 */ jal clamp_angle +/* A08510 80241610 460C0300 */ add.s $f12, $f0, $f12 +/* A08514 80241614 E600000C */ swc1 $f0, 0xc($s0) +.L80241618: +/* A08518 80241618 0C00A67F */ jal rand_int +/* A0851C 8024161C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* A08520 80241620 3C032E8B */ lui $v1, 0x2e8b +/* A08524 80241624 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* A08528 80241628 00430018 */ mult $v0, $v1 +/* A0852C 8024162C 00021FC3 */ sra $v1, $v0, 0x1f +/* A08530 80241630 00004010 */ mfhi $t0 +/* A08534 80241634 00082043 */ sra $a0, $t0, 1 +/* A08538 80241638 00832023 */ subu $a0, $a0, $v1 +/* A0853C 8024163C 00041840 */ sll $v1, $a0, 1 +/* A08540 80241640 00641821 */ addu $v1, $v1, $a0 +/* A08544 80241644 00031880 */ sll $v1, $v1, 2 +/* A08548 80241648 00641823 */ subu $v1, $v1, $a0 +/* A0854C 8024164C 00431023 */ subu $v0, $v0, $v1 +/* A08550 80241650 24420005 */ addiu $v0, $v0, 5 +/* A08554 80241654 08090598 */ j .L80241660 +/* A08558 80241658 A602008E */ sh $v0, 0x8e($s0) +.L8024165C: +/* A0855C 8024165C AE600070 */ sw $zero, 0x70($s3) +.L80241660: +/* A08560 80241660 8FBF0054 */ lw $ra, 0x54($sp) +/* A08564 80241664 8FB40050 */ lw $s4, 0x50($sp) +/* A08568 80241668 8FB3004C */ lw $s3, 0x4c($sp) +/* A0856C 8024166C 8FB20048 */ lw $s2, 0x48($sp) +/* A08570 80241670 8FB10044 */ lw $s1, 0x44($sp) +/* A08574 80241674 8FB00040 */ lw $s0, 0x40($sp) +/* A08578 80241678 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* A0857C 8024167C D7B80068 */ ldc1 $f24, 0x68($sp) +/* A08580 80241680 D7B60060 */ ldc1 $f22, 0x60($sp) +/* A08584 80241684 D7B40058 */ ldc1 $f20, 0x58($sp) +/* A08588 80241688 03E00008 */ jr $ra +/* A0858C 8024168C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241690_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241690_A06F00.s new file mode 100644 index 0000000000..736cba68f3 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241690_A06F00.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241690_A08590 +/* A08590 80241690 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A08594 80241694 AFB20018 */ sw $s2, 0x18($sp) +/* A08598 80241698 0080902D */ daddu $s2, $a0, $zero +/* A0859C 8024169C AFBF001C */ sw $ra, 0x1c($sp) +/* A085A0 802416A0 AFB10014 */ sw $s1, 0x14($sp) +/* A085A4 802416A4 AFB00010 */ sw $s0, 0x10($sp) +/* A085A8 802416A8 8E510148 */ lw $s1, 0x148($s2) +/* A085AC 802416AC 0C00EABB */ jal get_npc_unsafe +/* A085B0 802416B0 86240008 */ lh $a0, 8($s1) +/* A085B4 802416B4 0040802D */ daddu $s0, $v0, $zero +/* A085B8 802416B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A085BC 802416BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A085C0 802416C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A085C4 802416C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A085C8 802416C8 A600008E */ sh $zero, 0x8e($s0) +/* A085CC 802416CC 8C460028 */ lw $a2, 0x28($v0) +/* A085D0 802416D0 0C00A720 */ jal atan2 +/* A085D4 802416D4 8C470030 */ lw $a3, 0x30($v0) +/* A085D8 802416D8 E600000C */ swc1 $f0, 0xc($s0) +/* A085DC 802416DC 8E2200CC */ lw $v0, 0xcc($s1) +/* A085E0 802416E0 8C420020 */ lw $v0, 0x20($v0) +/* A085E4 802416E4 AE020028 */ sw $v0, 0x28($s0) +/* A085E8 802416E8 2402000B */ addiu $v0, $zero, 0xb +/* A085EC 802416EC AE420070 */ sw $v0, 0x70($s2) +/* A085F0 802416F0 8FBF001C */ lw $ra, 0x1c($sp) +/* A085F4 802416F4 8FB20018 */ lw $s2, 0x18($sp) +/* A085F8 802416F8 8FB10014 */ lw $s1, 0x14($sp) +/* A085FC 802416FC 8FB00010 */ lw $s0, 0x10($sp) +/* A08600 80241700 03E00008 */ jr $ra +/* A08604 80241704 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241708.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241708.s new file mode 100644 index 0000000000..38acc04ed6 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241708.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241708 +/* A08608 80241708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A0860C 8024170C AFB00010 */ sw $s0, 0x10($sp) +/* A08610 80241710 0080802D */ daddu $s0, $a0, $zero +/* A08614 80241714 AFBF0014 */ sw $ra, 0x14($sp) +/* A08618 80241718 8E020148 */ lw $v0, 0x148($s0) +/* A0861C 8024171C 0C00EABB */ jal get_npc_unsafe +/* A08620 80241720 84440008 */ lh $a0, 8($v0) +/* A08624 80241724 9443008E */ lhu $v1, 0x8e($v0) +/* A08628 80241728 C440003C */ lwc1 $f0, 0x3c($v0) +/* A0862C 8024172C 24640001 */ addiu $a0, $v1, 1 +/* A08630 80241730 00031C00 */ sll $v1, $v1, 0x10 +/* A08634 80241734 00031B83 */ sra $v1, $v1, 0xe +/* A08638 80241738 A444008E */ sh $a0, 0x8e($v0) +/* A0863C 8024173C 3C018024 */ lui $at, 0x8024 +/* A08640 80241740 00230821 */ addu $at, $at, $v1 +/* A08644 80241744 C4223D5C */ lwc1 $f2, 0x3d5c($at) +/* A08648 80241748 8443008E */ lh $v1, 0x8e($v0) +/* A0864C 8024174C 46020000 */ add.s $f0, $f0, $f2 +/* A08650 80241750 28630005 */ slti $v1, $v1, 5 +/* A08654 80241754 14600003 */ bnez $v1, .L80241764 +/* A08658 80241758 E440003C */ swc1 $f0, 0x3c($v0) +/* A0865C 8024175C 2402000C */ addiu $v0, $zero, 0xc +/* A08660 80241760 AE020070 */ sw $v0, 0x70($s0) +.L80241764: +/* A08664 80241764 8FBF0014 */ lw $ra, 0x14($sp) +/* A08668 80241768 8FB00010 */ lw $s0, 0x10($sp) +/* A0866C 8024176C 03E00008 */ jr $ra +/* A08670 80241770 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241774_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241774_A06F00.s new file mode 100644 index 0000000000..89767acd60 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241774_A06F00.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241774_A08674 +/* A08674 80241774 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A08678 80241778 AFB3001C */ sw $s3, 0x1c($sp) +/* A0867C 8024177C 0080982D */ daddu $s3, $a0, $zero +/* A08680 80241780 AFBF0020 */ sw $ra, 0x20($sp) +/* A08684 80241784 AFB20018 */ sw $s2, 0x18($sp) +/* A08688 80241788 AFB10014 */ sw $s1, 0x14($sp) +/* A0868C 8024178C AFB00010 */ sw $s0, 0x10($sp) +/* A08690 80241790 8E720148 */ lw $s2, 0x148($s3) +/* A08694 80241794 86440008 */ lh $a0, 8($s2) +/* A08698 80241798 0C00EABB */ jal get_npc_unsafe +/* A0869C 8024179C 00A0802D */ daddu $s0, $a1, $zero +/* A086A0 802417A0 0040882D */ daddu $s1, $v0, $zero +/* A086A4 802417A4 C6420080 */ lwc1 $f2, 0x80($s2) +/* A086A8 802417A8 468010A0 */ cvt.s.w $f2, $f2 +/* A086AC 802417AC 460010A1 */ cvt.d.s $f2, $f2 +/* A086B0 802417B0 C6400084 */ lwc1 $f0, 0x84($s2) +/* A086B4 802417B4 46800020 */ cvt.s.w $f0, $f0 +/* A086B8 802417B8 46000021 */ cvt.d.s $f0, $f0 +/* A086BC 802417BC 3C014059 */ lui $at, 0x4059 +/* A086C0 802417C0 44812800 */ mtc1 $at, $f5 +/* A086C4 802417C4 44802000 */ mtc1 $zero, $f4 +/* A086C8 802417C8 8E4200CC */ lw $v0, 0xcc($s2) +/* A086CC 802417CC C62C0038 */ lwc1 $f12, 0x38($s1) +/* A086D0 802417D0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* A086D4 802417D4 46241083 */ div.d $f2, $f2, $f4 +/* A086D8 802417D8 462010A0 */ cvt.s.d $f2, $f2 +/* A086DC 802417DC 46240003 */ div.d $f0, $f0, $f4 +/* A086E0 802417E0 8C420020 */ lw $v0, 0x20($v0) +/* A086E4 802417E4 46200020 */ cvt.s.d $f0, $f0 +/* A086E8 802417E8 E622001C */ swc1 $f2, 0x1c($s1) +/* A086EC 802417EC E6200014 */ swc1 $f0, 0x14($s1) +/* A086F0 802417F0 AE220028 */ sw $v0, 0x28($s1) +/* A086F4 802417F4 C6000018 */ lwc1 $f0, 0x18($s0) +/* A086F8 802417F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A086FC 802417FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A08700 80241800 E6200018 */ swc1 $f0, 0x18($s1) +/* A08704 80241804 8C460028 */ lw $a2, 0x28($v0) +/* A08708 80241808 0C00A720 */ jal atan2 +/* A0870C 8024180C 8C470030 */ lw $a3, 0x30($v0) +/* A08710 80241810 E620000C */ swc1 $f0, 0xc($s1) +/* A08714 80241814 8E420018 */ lw $v0, 0x18($s2) +/* A08718 80241818 AE400074 */ sw $zero, 0x74($s2) +/* A0871C 8024181C 9442002A */ lhu $v0, 0x2a($v0) +/* A08720 80241820 30420002 */ andi $v0, $v0, 2 +/* A08724 80241824 10400005 */ beqz $v0, .L8024183C +/* A08728 80241828 24020003 */ addiu $v0, $zero, 3 +/* A0872C 8024182C A622008E */ sh $v0, 0x8e($s1) +/* A08730 80241830 2402000D */ addiu $v0, $zero, 0xd +/* A08734 80241834 08090623 */ j .L8024188C +/* A08738 80241838 AE620070 */ sw $v0, 0x70($s3) +.L8024183C: +/* A0873C 8024183C 24030001 */ addiu $v1, $zero, 1 +/* A08740 80241840 2402000E */ addiu $v0, $zero, 0xe +/* A08744 80241844 A623008E */ sh $v1, 0x8e($s1) +/* A08748 80241848 AE620070 */ sw $v0, 0x70($s3) +/* A0874C 8024184C C6200038 */ lwc1 $f0, 0x38($s1) +/* A08750 80241850 4600018D */ trunc.w.s $f6, $f0 +/* A08754 80241854 44023000 */ mfc1 $v0, $f6 +/* A08758 80241858 00000000 */ nop +/* A0875C 8024185C A6420010 */ sh $v0, 0x10($s2) +/* A08760 80241860 C620003C */ lwc1 $f0, 0x3c($s1) +/* A08764 80241864 4600018D */ trunc.w.s $f6, $f0 +/* A08768 80241868 44023000 */ mfc1 $v0, $f6 +/* A0876C 8024186C 00000000 */ nop +/* A08770 80241870 A6420012 */ sh $v0, 0x12($s2) +/* A08774 80241874 C6200040 */ lwc1 $f0, 0x40($s1) +/* A08778 80241878 A2430007 */ sb $v1, 7($s2) +/* A0877C 8024187C 4600018D */ trunc.w.s $f6, $f0 +/* A08780 80241880 44023000 */ mfc1 $v0, $f6 +/* A08784 80241884 00000000 */ nop +/* A08788 80241888 A6420014 */ sh $v0, 0x14($s2) +.L8024188C: +/* A0878C 8024188C 8FBF0020 */ lw $ra, 0x20($sp) +/* A08790 80241890 8FB3001C */ lw $s3, 0x1c($sp) +/* A08794 80241894 8FB20018 */ lw $s2, 0x18($sp) +/* A08798 80241898 8FB10014 */ lw $s1, 0x14($sp) +/* A0879C 8024189C 8FB00010 */ lw $s0, 0x10($sp) +/* A087A0 802418A0 03E00008 */ jr $ra +/* A087A4 802418A4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802418A8.s b/asm/nonmatchings/world/area_nok/nok_15/func_802418A8.s new file mode 100644 index 0000000000..e188f52f6c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802418A8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418A8 +/* A087A8 802418A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A087AC 802418AC AFB00010 */ sw $s0, 0x10($sp) +/* A087B0 802418B0 0080802D */ daddu $s0, $a0, $zero +/* A087B4 802418B4 AFBF0014 */ sw $ra, 0x14($sp) +/* A087B8 802418B8 8E020148 */ lw $v0, 0x148($s0) +/* A087BC 802418BC 0C00EABB */ jal get_npc_unsafe +/* A087C0 802418C0 84440008 */ lh $a0, 8($v0) +/* A087C4 802418C4 0040202D */ daddu $a0, $v0, $zero +/* A087C8 802418C8 8482008E */ lh $v0, 0x8e($a0) +/* A087CC 802418CC 9483008E */ lhu $v1, 0x8e($a0) +/* A087D0 802418D0 18400005 */ blez $v0, .L802418E8 +/* A087D4 802418D4 2462FFFF */ addiu $v0, $v1, -1 +/* A087D8 802418D8 A482008E */ sh $v0, 0x8e($a0) +/* A087DC 802418DC 00021400 */ sll $v0, $v0, 0x10 +/* A087E0 802418E0 1C400006 */ bgtz $v0, .L802418FC +/* A087E4 802418E4 00000000 */ nop +.L802418E8: +/* A087E8 802418E8 8482008C */ lh $v0, 0x8c($a0) +/* A087EC 802418EC 14400003 */ bnez $v0, .L802418FC +/* A087F0 802418F0 2402000E */ addiu $v0, $zero, 0xe +/* A087F4 802418F4 A480008E */ sh $zero, 0x8e($a0) +/* A087F8 802418F8 AE020070 */ sw $v0, 0x70($s0) +.L802418FC: +/* A087FC 802418FC 8FBF0014 */ lw $ra, 0x14($sp) +/* A08800 80241900 8FB00010 */ lw $s0, 0x10($sp) +/* A08804 80241904 03E00008 */ jr $ra +/* A08808 80241908 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_8024190C_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_8024190C_A06F00.s new file mode 100644 index 0000000000..153b9f7d6f --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_8024190C_A06F00.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024190C_A0880C +/* A0880C 8024190C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A08810 80241910 AFB20030 */ sw $s2, 0x30($sp) +/* A08814 80241914 0080902D */ daddu $s2, $a0, $zero +/* A08818 80241918 AFBF0038 */ sw $ra, 0x38($sp) +/* A0881C 8024191C AFB30034 */ sw $s3, 0x34($sp) +/* A08820 80241920 AFB1002C */ sw $s1, 0x2c($sp) +/* A08824 80241924 AFB00028 */ sw $s0, 0x28($sp) +/* A08828 80241928 F7B60048 */ sdc1 $f22, 0x48($sp) +/* A0882C 8024192C F7B40040 */ sdc1 $f20, 0x40($sp) +/* A08830 80241930 8E510148 */ lw $s1, 0x148($s2) +/* A08834 80241934 86240008 */ lh $a0, 8($s1) +/* A08838 80241938 0C00EABB */ jal get_npc_unsafe +/* A0883C 8024193C 00A0982D */ daddu $s3, $a1, $zero +/* A08840 80241940 0040802D */ daddu $s0, $v0, $zero +/* A08844 80241944 0200202D */ daddu $a0, $s0, $zero +/* A08848 80241948 C6220088 */ lwc1 $f2, 0x88($s1) +/* A0884C 8024194C 468010A0 */ cvt.s.w $f2, $f2 +/* A08850 80241950 460010A1 */ cvt.d.s $f2, $f2 +/* A08854 80241954 C604001C */ lwc1 $f4, 0x1c($s0) +/* A08858 80241958 C6000014 */ lwc1 $f0, 0x14($s0) +/* A0885C 8024195C 8E050018 */ lw $a1, 0x18($s0) +/* A08860 80241960 46002100 */ add.s $f4, $f4, $f0 +/* A08864 80241964 8E06000C */ lw $a2, 0xc($s0) +/* A08868 80241968 C6200078 */ lwc1 $f0, 0x78($s1) +/* A0886C 8024196C 46800020 */ cvt.s.w $f0, $f0 +/* A08870 80241970 E604001C */ swc1 $f4, 0x1c($s0) +/* A08874 80241974 3C014059 */ lui $at, 0x4059 +/* A08878 80241978 44812800 */ mtc1 $at, $f5 +/* A0887C 8024197C 44802000 */ mtc1 $zero, $f4 +/* A08880 80241980 46000021 */ cvt.d.s $f0, $f0 +/* A08884 80241984 46240003 */ div.d $f0, $f0, $f4 +/* A08888 80241988 46200520 */ cvt.s.d $f20, $f0 +/* A0888C 8024198C 46241083 */ div.d $f2, $f2, $f4 +/* A08890 80241990 0C00EA95 */ jal npc_move_heading +/* A08894 80241994 462015A0 */ cvt.s.d $f22, $f2 +/* A08898 80241998 C604001C */ lwc1 $f4, 0x1c($s0) +/* A0889C 8024199C 44801000 */ mtc1 $zero, $f2 +/* A088A0 802419A0 44801800 */ mtc1 $zero, $f3 +/* A088A4 802419A4 46002021 */ cvt.d.s $f0, $f4 +/* A088A8 802419A8 4620103E */ c.le.d $f2, $f0 +/* A088AC 802419AC 00000000 */ nop +/* A088B0 802419B0 45000030 */ bc1f .L80241A74 +/* A088B4 802419B4 00000000 */ nop +/* A088B8 802419B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* A088BC 802419BC 46040000 */ add.s $f0, $f0, $f4 +/* A088C0 802419C0 E600003C */ swc1 $f0, 0x3c($s0) +/* A088C4 802419C4 8E2200CC */ lw $v0, 0xcc($s1) +/* A088C8 802419C8 8C420024 */ lw $v0, 0x24($v0) +/* A088CC 802419CC AE020028 */ sw $v0, 0x28($s0) +/* A088D0 802419D0 A2200007 */ sb $zero, 7($s1) +/* A088D4 802419D4 8E020000 */ lw $v0, ($s0) +/* A088D8 802419D8 30420008 */ andi $v0, $v0, 8 +/* A088DC 802419DC 14400011 */ bnez $v0, .L80241A24 +/* A088E0 802419E0 0000102D */ daddu $v0, $zero, $zero +/* A088E4 802419E4 27A50018 */ addiu $a1, $sp, 0x18 +/* A088E8 802419E8 27A6001C */ addiu $a2, $sp, 0x1c +/* A088EC 802419EC C6000038 */ lwc1 $f0, 0x38($s0) +/* A088F0 802419F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* A088F4 802419F4 C6040040 */ lwc1 $f4, 0x40($s0) +/* A088F8 802419F8 3C01447A */ lui $at, 0x447a +/* A088FC 802419FC 44813000 */ mtc1 $at, $f6 +/* A08900 80241A00 27A20024 */ addiu $v0, $sp, 0x24 +/* A08904 80241A04 E7A00018 */ swc1 $f0, 0x18($sp) +/* A08908 80241A08 E7A2001C */ swc1 $f2, 0x1c($sp) +/* A0890C 80241A0C E7A40020 */ swc1 $f4, 0x20($sp) +/* A08910 80241A10 E7A60024 */ swc1 $f6, 0x24($sp) +/* A08914 80241A14 AFA20010 */ sw $v0, 0x10($sp) +/* A08918 80241A18 8E040080 */ lw $a0, 0x80($s0) +/* A0891C 80241A1C 0C0372DF */ jal func_800DCB7C +/* A08920 80241A20 27A70020 */ addiu $a3, $sp, 0x20 +.L80241A24: +/* A08924 80241A24 1040000B */ beqz $v0, .L80241A54 +/* A08928 80241A28 00000000 */ nop +/* A0892C 80241A2C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A08930 80241A30 46140080 */ add.s $f2, $f0, $f20 +/* A08934 80241A34 C600003C */ lwc1 $f0, 0x3c($s0) +/* A08938 80241A38 4600103E */ c.le.s $f2, $f0 +/* A0893C 80241A3C 00000000 */ nop +/* A08940 80241A40 4500008D */ bc1f .L80241C78 +/* A08944 80241A44 00000000 */ nop +/* A08948 80241A48 E602003C */ swc1 $f2, 0x3c($s0) +/* A0894C 80241A4C 0809071E */ j .L80241C78 +/* A08950 80241A50 AE400070 */ sw $zero, 0x70($s2) +.L80241A54: +/* A08954 80241A54 C602003C */ lwc1 $f2, 0x3c($s0) +/* A08958 80241A58 C6000064 */ lwc1 $f0, 0x64($s0) +/* A0895C 80241A5C 4602003E */ c.le.s $f0, $f2 +/* A08960 80241A60 00000000 */ nop +/* A08964 80241A64 45030084 */ bc1tl .L80241C78 +/* A08968 80241A68 AE400070 */ sw $zero, 0x70($s2) +/* A0896C 80241A6C 0809071E */ j .L80241C78 +/* A08970 80241A70 00000000 */ nop +.L80241A74: +/* A08974 80241A74 4622003C */ c.lt.d $f0, $f2 +/* A08978 80241A78 00000000 */ nop +/* A0897C 80241A7C 4500007E */ bc1f .L80241C78 +/* A08980 80241A80 00000000 */ nop +/* A08984 80241A84 9602008E */ lhu $v0, 0x8e($s0) +/* A08988 80241A88 24420001 */ addiu $v0, $v0, 1 +/* A0898C 80241A8C A602008E */ sh $v0, 0x8e($s0) +/* A08990 80241A90 00021400 */ sll $v0, $v0, 0x10 +/* A08994 80241A94 8E630020 */ lw $v1, 0x20($s3) +/* A08998 80241A98 00021403 */ sra $v0, $v0, 0x10 +/* A0899C 80241A9C 0043102A */ slt $v0, $v0, $v1 +/* A089A0 80241AA0 14400026 */ bnez $v0, .L80241B3C +/* A089A4 80241AA4 00000000 */ nop +/* A089A8 80241AA8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A089AC 80241AAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* A089B0 80241AB0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* A089B4 80241AB4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* A089B8 80241AB8 A600008E */ sh $zero, 0x8e($s0) +/* A089BC 80241ABC 8C460028 */ lw $a2, 0x28($v0) +/* A089C0 80241AC0 0C00A720 */ jal atan2 +/* A089C4 80241AC4 8C470030 */ lw $a3, 0x30($v0) +/* A089C8 80241AC8 46000506 */ mov.s $f20, $f0 +/* A089CC 80241ACC C60C000C */ lwc1 $f12, 0xc($s0) +/* A089D0 80241AD0 0C00A70A */ jal get_clamped_angle_diff +/* A089D4 80241AD4 4600A386 */ mov.s $f14, $f20 +/* A089D8 80241AD8 46000086 */ mov.s $f2, $f0 +/* A089DC 80241ADC 8E62001C */ lw $v0, 0x1c($s3) +/* A089E0 80241AE0 46001005 */ abs.s $f0, $f2 +/* A089E4 80241AE4 44822000 */ mtc1 $v0, $f4 +/* A089E8 80241AE8 00000000 */ nop +/* A089EC 80241AEC 46802120 */ cvt.s.w $f4, $f4 +/* A089F0 80241AF0 4600203C */ c.lt.s $f4, $f0 +/* A089F4 80241AF4 00000000 */ nop +/* A089F8 80241AF8 4500000D */ bc1f .L80241B30 +/* A089FC 80241AFC 00000000 */ nop +/* A08A00 80241B00 44800000 */ mtc1 $zero, $f0 +/* A08A04 80241B04 C614000C */ lwc1 $f20, 0xc($s0) +/* A08A08 80241B08 4600103C */ c.lt.s $f2, $f0 +/* A08A0C 80241B0C 00000000 */ nop +/* A08A10 80241B10 45000006 */ bc1f .L80241B2C +/* A08A14 80241B14 00021023 */ negu $v0, $v0 +/* A08A18 80241B18 44820000 */ mtc1 $v0, $f0 +/* A08A1C 80241B1C 00000000 */ nop +/* A08A20 80241B20 46800020 */ cvt.s.w $f0, $f0 +/* A08A24 80241B24 080906CC */ j .L80241B30 +/* A08A28 80241B28 4600A500 */ add.s $f20, $f20, $f0 +.L80241B2C: +/* A08A2C 80241B2C 4604A500 */ add.s $f20, $f20, $f4 +.L80241B30: +/* A08A30 80241B30 0C00A6C9 */ jal clamp_angle +/* A08A34 80241B34 4600A306 */ mov.s $f12, $f20 +/* A08A38 80241B38 E600000C */ swc1 $f0, 0xc($s0) +.L80241B3C: +/* A08A3C 80241B3C 8E020000 */ lw $v0, ($s0) +/* A08A40 80241B40 30420008 */ andi $v0, $v0, 8 +/* A08A44 80241B44 1040000A */ beqz $v0, .L80241B70 +/* A08A48 80241B48 27A50018 */ addiu $a1, $sp, 0x18 +/* A08A4C 80241B4C C602003C */ lwc1 $f2, 0x3c($s0) +/* A08A50 80241B50 C600001C */ lwc1 $f0, 0x1c($s0) +/* A08A54 80241B54 46001080 */ add.s $f2, $f2, $f0 +/* A08A58 80241B58 4616103C */ c.lt.s $f2, $f22 +/* A08A5C 80241B5C 00000000 */ nop +/* A08A60 80241B60 45020045 */ bc1fl .L80241C78 +/* A08A64 80241B64 E602003C */ swc1 $f2, 0x3c($s0) +/* A08A68 80241B68 0809071D */ j .L80241C74 +/* A08A6C 80241B6C E616003C */ swc1 $f22, 0x3c($s0) +.L80241B70: +/* A08A70 80241B70 C6000038 */ lwc1 $f0, 0x38($s0) +/* A08A74 80241B74 27A6001C */ addiu $a2, $sp, 0x1c +/* A08A78 80241B78 E7A00018 */ swc1 $f0, 0x18($sp) +/* A08A7C 80241B7C 860200A8 */ lh $v0, 0xa8($s0) +/* A08A80 80241B80 C600001C */ lwc1 $f0, 0x1c($s0) +/* A08A84 80241B84 C604003C */ lwc1 $f4, 0x3c($s0) +/* A08A88 80241B88 44821000 */ mtc1 $v0, $f2 +/* A08A8C 80241B8C 00000000 */ nop +/* A08A90 80241B90 468010A0 */ cvt.s.w $f2, $f2 +/* A08A94 80241B94 46000005 */ abs.s $f0, $f0 +/* A08A98 80241B98 46020000 */ add.s $f0, $f0, $f2 +/* A08A9C 80241B9C C6060040 */ lwc1 $f6, 0x40($s0) +/* A08AA0 80241BA0 27A20024 */ addiu $v0, $sp, 0x24 +/* A08AA4 80241BA4 46022100 */ add.s $f4, $f4, $f2 +/* A08AA8 80241BA8 3C014024 */ lui $at, 0x4024 +/* A08AAC 80241BAC 44811800 */ mtc1 $at, $f3 +/* A08AB0 80241BB0 44801000 */ mtc1 $zero, $f2 +/* A08AB4 80241BB4 46000021 */ cvt.d.s $f0, $f0 +/* A08AB8 80241BB8 46220000 */ add.d $f0, $f0, $f2 +/* A08ABC 80241BBC E7A60020 */ swc1 $f6, 0x20($sp) +/* A08AC0 80241BC0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* A08AC4 80241BC4 46200020 */ cvt.s.d $f0, $f0 +/* A08AC8 80241BC8 E7A00024 */ swc1 $f0, 0x24($sp) +/* A08ACC 80241BCC AFA20010 */ sw $v0, 0x10($sp) +/* A08AD0 80241BD0 8E040080 */ lw $a0, 0x80($s0) +/* A08AD4 80241BD4 0C0372DF */ jal func_800DCB7C +/* A08AD8 80241BD8 27A70020 */ addiu $a3, $sp, 0x20 +/* A08ADC 80241BDC 10400015 */ beqz $v0, .L80241C34 +/* A08AE0 80241BE0 00000000 */ nop +/* A08AE4 80241BE4 860200A8 */ lh $v0, 0xa8($s0) +/* A08AE8 80241BE8 C604001C */ lwc1 $f4, 0x1c($s0) +/* A08AEC 80241BEC 44820000 */ mtc1 $v0, $f0 +/* A08AF0 80241BF0 00000000 */ nop +/* A08AF4 80241BF4 46800020 */ cvt.s.w $f0, $f0 +/* A08AF8 80241BF8 46002085 */ abs.s $f2, $f4 +/* A08AFC 80241BFC 46020000 */ add.s $f0, $f0, $f2 +/* A08B00 80241C00 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A08B04 80241C04 4600103E */ c.le.s $f2, $f0 +/* A08B08 80241C08 00000000 */ nop +/* A08B0C 80241C0C 45000005 */ bc1f .L80241C24 +/* A08B10 80241C10 00000000 */ nop +/* A08B14 80241C14 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A08B18 80241C18 AE00001C */ sw $zero, 0x1c($s0) +/* A08B1C 80241C1C 0809071E */ j .L80241C78 +/* A08B20 80241C20 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C24: +/* A08B24 80241C24 C600003C */ lwc1 $f0, 0x3c($s0) +/* A08B28 80241C28 46040000 */ add.s $f0, $f0, $f4 +/* A08B2C 80241C2C 0809071E */ j .L80241C78 +/* A08B30 80241C30 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C34: +/* A08B34 80241C34 C606003C */ lwc1 $f6, 0x3c($s0) +/* A08B38 80241C38 860200A8 */ lh $v0, 0xa8($s0) +/* A08B3C 80241C3C 46163081 */ sub.s $f2, $f6, $f22 +/* A08B40 80241C40 44820000 */ mtc1 $v0, $f0 +/* A08B44 80241C44 00000000 */ nop +/* A08B48 80241C48 46800020 */ cvt.s.w $f0, $f0 +/* A08B4C 80241C4C 46001080 */ add.s $f2, $f2, $f0 +/* A08B50 80241C50 C604001C */ lwc1 $f4, 0x1c($s0) +/* A08B54 80241C54 46002005 */ abs.s $f0, $f4 +/* A08B58 80241C58 4602003C */ c.lt.s $f0, $f2 +/* A08B5C 80241C5C 00000000 */ nop +/* A08B60 80241C60 45020005 */ bc1fl .L80241C78 +/* A08B64 80241C64 AE00001C */ sw $zero, 0x1c($s0) +/* A08B68 80241C68 46043000 */ add.s $f0, $f6, $f4 +/* A08B6C 80241C6C 0809071E */ j .L80241C78 +/* A08B70 80241C70 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C74: +/* A08B74 80241C74 AE00001C */ sw $zero, 0x1c($s0) +.L80241C78: +/* A08B78 80241C78 8FBF0038 */ lw $ra, 0x38($sp) +/* A08B7C 80241C7C 8FB30034 */ lw $s3, 0x34($sp) +/* A08B80 80241C80 8FB20030 */ lw $s2, 0x30($sp) +/* A08B84 80241C84 8FB1002C */ lw $s1, 0x2c($sp) +/* A08B88 80241C88 8FB00028 */ lw $s0, 0x28($sp) +/* A08B8C 80241C8C D7B60048 */ ldc1 $f22, 0x48($sp) +/* A08B90 80241C90 D7B40040 */ ldc1 $f20, 0x40($sp) +/* A08B94 80241C94 03E00008 */ jr $ra +/* A08B98 80241C98 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241C9C_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241C9C_A06F00.s new file mode 100644 index 0000000000..54be654c79 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241C9C_A06F00.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C9C_A08B9C +/* A08B9C 80241C9C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* A08BA0 80241CA0 AFB00028 */ sw $s0, 0x28($sp) +/* A08BA4 80241CA4 00A0802D */ daddu $s0, $a1, $zero +/* A08BA8 80241CA8 AFB1002C */ sw $s1, 0x2c($sp) +/* A08BAC 80241CAC 00C0882D */ daddu $s1, $a2, $zero +/* A08BB0 80241CB0 AFBF0034 */ sw $ra, 0x34($sp) +/* A08BB4 80241CB4 AFB20030 */ sw $s2, 0x30($sp) +/* A08BB8 80241CB8 AE200070 */ sw $zero, 0x70($s1) +/* A08BBC 80241CBC 8C830000 */ lw $v1, ($a0) +/* A08BC0 80241CC0 2402FDFF */ addiu $v0, $zero, -0x201 +/* A08BC4 80241CC4 A480008E */ sh $zero, 0x8e($a0) +/* A08BC8 80241CC8 00621824 */ and $v1, $v1, $v0 +/* A08BCC 80241CCC 34650800 */ ori $a1, $v1, 0x800 +/* A08BD0 80241CD0 AC850000 */ sw $a1, ($a0) +/* A08BD4 80241CD4 8E0200D0 */ lw $v0, 0xd0($s0) +/* A08BD8 80241CD8 8C420034 */ lw $v0, 0x34($v0) +/* A08BDC 80241CDC 10400003 */ beqz $v0, .L80241CEC +/* A08BE0 80241CE0 00E0902D */ daddu $s2, $a3, $zero +/* A08BE4 80241CE4 0809073D */ j .L80241CF4 +/* A08BE8 80241CE8 34620808 */ ori $v0, $v1, 0x808 +.L80241CEC: +/* A08BEC 80241CEC 2402FFF7 */ addiu $v0, $zero, -9 +/* A08BF0 80241CF0 00A21024 */ and $v0, $a1, $v0 +.L80241CF4: +/* A08BF4 80241CF4 AC820000 */ sw $v0, ($a0) +/* A08BF8 80241CF8 27A20024 */ addiu $v0, $sp, 0x24 +/* A08BFC 80241CFC 27A50018 */ addiu $a1, $sp, 0x18 +/* A08C00 80241D00 C4800038 */ lwc1 $f0, 0x38($a0) +/* A08C04 80241D04 C482003C */ lwc1 $f2, 0x3c($a0) +/* A08C08 80241D08 C4840040 */ lwc1 $f4, 0x40($a0) +/* A08C0C 80241D0C 3C01447A */ lui $at, 0x447a +/* A08C10 80241D10 44813000 */ mtc1 $at, $f6 +/* A08C14 80241D14 27A6001C */ addiu $a2, $sp, 0x1c +/* A08C18 80241D18 E7A00018 */ swc1 $f0, 0x18($sp) +/* A08C1C 80241D1C E7A2001C */ swc1 $f2, 0x1c($sp) +/* A08C20 80241D20 E7A40020 */ swc1 $f4, 0x20($sp) +/* A08C24 80241D24 E7A60024 */ swc1 $f6, 0x24($sp) +/* A08C28 80241D28 AFA20010 */ sw $v0, 0x10($sp) +/* A08C2C 80241D2C 8C840080 */ lw $a0, 0x80($a0) +/* A08C30 80241D30 0C0372DF */ jal func_800DCB7C +/* A08C34 80241D34 27A70020 */ addiu $a3, $sp, 0x20 +/* A08C38 80241D38 C7A20024 */ lwc1 $f2, 0x24($sp) +/* A08C3C 80241D3C 3C014059 */ lui $at, 0x4059 +/* A08C40 80241D40 44812800 */ mtc1 $at, $f5 +/* A08C44 80241D44 44802000 */ mtc1 $zero, $f4 +/* A08C48 80241D48 460010A1 */ cvt.d.s $f2, $f2 +/* A08C4C 80241D4C 46241082 */ mul.d $f2, $f2, $f4 +/* A08C50 80241D50 00000000 */ nop +/* A08C54 80241D54 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A08C58 80241D58 46000021 */ cvt.d.s $f0, $f0 +/* A08C5C 80241D5C 46240002 */ mul.d $f0, $f0, $f4 +/* A08C60 80241D60 00000000 */ nop +/* A08C64 80241D64 3C013FE0 */ lui $at, 0x3fe0 +/* A08C68 80241D68 44812800 */ mtc1 $at, $f5 +/* A08C6C 80241D6C 44802000 */ mtc1 $zero, $f4 +/* A08C70 80241D70 00000000 */ nop +/* A08C74 80241D74 46241080 */ add.d $f2, $f2, $f4 +/* A08C78 80241D78 AE000074 */ sw $zero, 0x74($s0) +/* A08C7C 80241D7C 46240000 */ add.d $f0, $f0, $f4 +/* A08C80 80241D80 AE000090 */ sw $zero, 0x90($s0) +/* A08C84 80241D84 4620120D */ trunc.w.d $f8, $f2 +/* A08C88 80241D88 E6080078 */ swc1 $f8, 0x78($s0) +/* A08C8C 80241D8C 4620020D */ trunc.w.d $f8, $f0 +/* A08C90 80241D90 E6080088 */ swc1 $f8, 0x88($s0) +/* A08C94 80241D94 8E420014 */ lw $v0, 0x14($s2) +/* A08C98 80241D98 AE220074 */ sw $v0, 0x74($s1) +/* A08C9C 80241D9C 8E0200B0 */ lw $v0, 0xb0($s0) +/* A08CA0 80241DA0 34420010 */ ori $v0, $v0, 0x10 +/* A08CA4 80241DA4 AE0200B0 */ sw $v0, 0xb0($s0) +/* A08CA8 80241DA8 8FBF0034 */ lw $ra, 0x34($sp) +/* A08CAC 80241DAC 8FB20030 */ lw $s2, 0x30($sp) +/* A08CB0 80241DB0 8FB1002C */ lw $s1, 0x2c($sp) +/* A08CB4 80241DB4 8FB00028 */ lw $s0, 0x28($sp) +/* A08CB8 80241DB8 03E00008 */ jr $ra +/* A08CBC 80241DBC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241DC0.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241DC0.s new file mode 100644 index 0000000000..7ecd46bb02 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241DC0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DC0 +/* A08CC0 80241DC0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A08CC4 80241DC4 AFB40040 */ sw $s4, 0x40($sp) +/* A08CC8 80241DC8 0080A02D */ daddu $s4, $a0, $zero +/* A08CCC 80241DCC AFBF0048 */ sw $ra, 0x48($sp) +/* A08CD0 80241DD0 AFB50044 */ sw $s5, 0x44($sp) +/* A08CD4 80241DD4 AFB3003C */ sw $s3, 0x3c($sp) +/* A08CD8 80241DD8 AFB20038 */ sw $s2, 0x38($sp) +/* A08CDC 80241DDC AFB10034 */ sw $s1, 0x34($sp) +/* A08CE0 80241DE0 AFB00030 */ sw $s0, 0x30($sp) +/* A08CE4 80241DE4 8E920148 */ lw $s2, 0x148($s4) +/* A08CE8 80241DE8 86440008 */ lh $a0, 8($s2) +/* A08CEC 80241DEC 8E90000C */ lw $s0, 0xc($s4) +/* A08CF0 80241DF0 0C00EABB */ jal get_npc_unsafe +/* A08CF4 80241DF4 00A0882D */ daddu $s1, $a1, $zero +/* A08CF8 80241DF8 0280202D */ daddu $a0, $s4, $zero +/* A08CFC 80241DFC 8E050000 */ lw $a1, ($s0) +/* A08D00 80241E00 0C0B1EAF */ jal get_variable +/* A08D04 80241E04 0040A82D */ daddu $s5, $v0, $zero +/* A08D08 80241E08 AFA00010 */ sw $zero, 0x10($sp) +/* A08D0C 80241E0C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A08D10 80241E10 8C630030 */ lw $v1, 0x30($v1) +/* A08D14 80241E14 AFA30014 */ sw $v1, 0x14($sp) +/* A08D18 80241E18 8E4300D0 */ lw $v1, 0xd0($s2) +/* A08D1C 80241E1C 8C63001C */ lw $v1, 0x1c($v1) +/* A08D20 80241E20 AFA30018 */ sw $v1, 0x18($sp) +/* A08D24 80241E24 8E4300D0 */ lw $v1, 0xd0($s2) +/* A08D28 80241E28 8C630024 */ lw $v1, 0x24($v1) +/* A08D2C 80241E2C AFA3001C */ sw $v1, 0x1c($sp) +/* A08D30 80241E30 8E4300D0 */ lw $v1, 0xd0($s2) +/* A08D34 80241E34 8C630028 */ lw $v1, 0x28($v1) +/* A08D38 80241E38 27B30010 */ addiu $s3, $sp, 0x10 +/* A08D3C 80241E3C AFA30020 */ sw $v1, 0x20($sp) +/* A08D40 80241E40 8E4300D0 */ lw $v1, 0xd0($s2) +/* A08D44 80241E44 3C0142F0 */ lui $at, 0x42f0 +/* A08D48 80241E48 44810000 */ mtc1 $at, $f0 +/* A08D4C 80241E4C 8C63002C */ lw $v1, 0x2c($v1) +/* A08D50 80241E50 0040802D */ daddu $s0, $v0, $zero +/* A08D54 80241E54 E7A00028 */ swc1 $f0, 0x28($sp) +/* A08D58 80241E58 A7A0002C */ sh $zero, 0x2c($sp) +/* A08D5C 80241E5C 12200006 */ beqz $s1, .L80241E78 +/* A08D60 80241E60 AFA30024 */ sw $v1, 0x24($sp) +/* A08D64 80241E64 02A0202D */ daddu $a0, $s5, $zero +/* A08D68 80241E68 0240282D */ daddu $a1, $s2, $zero +/* A08D6C 80241E6C 0280302D */ daddu $a2, $s4, $zero +/* A08D70 80241E70 0C090727 */ jal func_80241C9C +/* A08D74 80241E74 0200382D */ daddu $a3, $s0, $zero +.L80241E78: +/* A08D78 80241E78 2402FFFE */ addiu $v0, $zero, -2 +/* A08D7C 80241E7C A2A200AB */ sb $v0, 0xab($s5) +/* A08D80 80241E80 8E4300B0 */ lw $v1, 0xb0($s2) +/* A08D84 80241E84 30620004 */ andi $v0, $v1, 4 +/* A08D88 80241E88 10400007 */ beqz $v0, .L80241EA8 +/* A08D8C 80241E8C 00000000 */ nop +/* A08D90 80241E90 824200B4 */ lb $v0, 0xb4($s2) +/* A08D94 80241E94 1440003C */ bnez $v0, .L80241F88 +/* A08D98 80241E98 0000102D */ daddu $v0, $zero, $zero +/* A08D9C 80241E9C 2402FFFB */ addiu $v0, $zero, -5 +/* A08DA0 80241EA0 00621024 */ and $v0, $v1, $v0 +/* A08DA4 80241EA4 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241EA8: +/* A08DA8 80241EA8 8E830070 */ lw $v1, 0x70($s4) +/* A08DAC 80241EAC 2C62000F */ sltiu $v0, $v1, 0xf +/* A08DB0 80241EB0 10400034 */ beqz $v0, .L80241F84 +/* A08DB4 80241EB4 00031080 */ sll $v0, $v1, 2 +/* A08DB8 80241EB8 3C018024 */ lui $at, 0x8024 +/* A08DBC 80241EBC 00220821 */ addu $at, $at, $v0 +/* A08DC0 80241EC0 8C224D68 */ lw $v0, 0x4d68($at) +/* A08DC4 80241EC4 00400008 */ jr $v0 +/* A08DC8 80241EC8 00000000 */ nop +/* A08DCC 80241ECC 0280202D */ daddu $a0, $s4, $zero +/* A08DD0 80241ED0 0200282D */ daddu $a1, $s0, $zero +/* A08DD4 80241ED4 0C0902AD */ jal func_80240AB4 +/* A08DD8 80241ED8 0260302D */ daddu $a2, $s3, $zero +/* A08DDC 80241EDC 0280202D */ daddu $a0, $s4, $zero +/* A08DE0 80241EE0 0200282D */ daddu $a1, $s0, $zero +/* A08DE4 80241EE4 0C090319 */ jal func_80240C64 +/* A08DE8 80241EE8 0260302D */ daddu $a2, $s3, $zero +/* A08DEC 80241EEC 080907E2 */ j .L80241F88 +/* A08DF0 80241EF0 0000102D */ daddu $v0, $zero, $zero +/* A08DF4 80241EF4 0280202D */ daddu $a0, $s4, $zero +/* A08DF8 80241EF8 0200282D */ daddu $a1, $s0, $zero +/* A08DFC 80241EFC 0C0904A3 */ jal func_8024128C +/* A08E00 80241F00 0260302D */ daddu $a2, $s3, $zero +/* A08E04 80241F04 0280202D */ daddu $a0, $s4, $zero +/* A08E08 80241F08 0200282D */ daddu $a1, $s0, $zero +/* A08E0C 80241F0C 0C0904D3 */ jal func_8024134C +/* A08E10 80241F10 0260302D */ daddu $a2, $s3, $zero +/* A08E14 80241F14 080907E2 */ j .L80241F88 +/* A08E18 80241F18 0000102D */ daddu $v0, $zero, $zero +/* A08E1C 80241F1C 0280202D */ daddu $a0, $s4, $zero +/* A08E20 80241F20 0200282D */ daddu $a1, $s0, $zero +/* A08E24 80241F24 0C0905A4 */ jal func_80241690 +/* A08E28 80241F28 0260302D */ daddu $a2, $s3, $zero +/* A08E2C 80241F2C 0280202D */ daddu $a0, $s4, $zero +/* A08E30 80241F30 0200282D */ daddu $a1, $s0, $zero +/* A08E34 80241F34 0C0905C2 */ jal func_80241708 +/* A08E38 80241F38 0260302D */ daddu $a2, $s3, $zero +/* A08E3C 80241F3C 080907E2 */ j .L80241F88 +/* A08E40 80241F40 0000102D */ daddu $v0, $zero, $zero +/* A08E44 80241F44 0280202D */ daddu $a0, $s4, $zero +/* A08E48 80241F48 0200282D */ daddu $a1, $s0, $zero +/* A08E4C 80241F4C 0C0905DD */ jal func_80241774 +/* A08E50 80241F50 0260302D */ daddu $a2, $s3, $zero +/* A08E54 80241F54 080907E2 */ j .L80241F88 +/* A08E58 80241F58 0000102D */ daddu $v0, $zero, $zero +/* A08E5C 80241F5C 0280202D */ daddu $a0, $s4, $zero +/* A08E60 80241F60 0200282D */ daddu $a1, $s0, $zero +/* A08E64 80241F64 0C09062A */ jal func_802418A8 +/* A08E68 80241F68 0260302D */ daddu $a2, $s3, $zero +/* A08E6C 80241F6C 080907E2 */ j .L80241F88 +/* A08E70 80241F70 0000102D */ daddu $v0, $zero, $zero +/* A08E74 80241F74 0280202D */ daddu $a0, $s4, $zero +/* A08E78 80241F78 0200282D */ daddu $a1, $s0, $zero +/* A08E7C 80241F7C 0C090643 */ jal func_8024190C +/* A08E80 80241F80 0260302D */ daddu $a2, $s3, $zero +.L80241F84: +/* A08E84 80241F84 0000102D */ daddu $v0, $zero, $zero +.L80241F88: +/* A08E88 80241F88 8FBF0048 */ lw $ra, 0x48($sp) +/* A08E8C 80241F8C 8FB50044 */ lw $s5, 0x44($sp) +/* A08E90 80241F90 8FB40040 */ lw $s4, 0x40($sp) +/* A08E94 80241F94 8FB3003C */ lw $s3, 0x3c($sp) +/* A08E98 80241F98 8FB20038 */ lw $s2, 0x38($sp) +/* A08E9C 80241F9C 8FB10034 */ lw $s1, 0x34($sp) +/* A08EA0 80241FA0 8FB00030 */ lw $s0, 0x30($sp) +/* A08EA4 80241FA4 03E00008 */ jr $ra +/* A08EA8 80241FA8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80241FAC_A06F00.s b/asm/nonmatchings/world/area_nok/nok_15/func_80241FAC_A06F00.s new file mode 100644 index 0000000000..269d5820c9 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80241FAC_A06F00.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FAC_A08EAC +/* A08EAC 80241FAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* A08EB0 80241FB0 AFB3001C */ sw $s3, 0x1c($sp) +/* A08EB4 80241FB4 0080982D */ daddu $s3, $a0, $zero +/* A08EB8 80241FB8 AFBF0020 */ sw $ra, 0x20($sp) +/* A08EBC 80241FBC AFB20018 */ sw $s2, 0x18($sp) +/* A08EC0 80241FC0 AFB10014 */ sw $s1, 0x14($sp) +/* A08EC4 80241FC4 AFB00010 */ sw $s0, 0x10($sp) +/* A08EC8 80241FC8 8E710148 */ lw $s1, 0x148($s3) +/* A08ECC 80241FCC 0C00EABB */ jal get_npc_unsafe +/* A08ED0 80241FD0 86240008 */ lh $a0, 8($s1) +/* A08ED4 80241FD4 0040802D */ daddu $s0, $v0, $zero +/* A08ED8 80241FD8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* A08EDC 80241FDC 8E2200CC */ lw $v0, 0xcc($s1) +/* A08EE0 80241FE0 3C01C0A0 */ lui $at, 0xc0a0 +/* A08EE4 80241FE4 44811000 */ mtc1 $at, $f2 +/* A08EE8 80241FE8 3C013E19 */ lui $at, 0x3e19 +/* A08EEC 80241FEC 3421999A */ ori $at, $at, 0x999a +/* A08EF0 80241FF0 44810000 */ mtc1 $at, $f0 +/* A08EF4 80241FF4 8C420024 */ lw $v0, 0x24($v0) +/* A08EF8 80241FF8 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* A08EFC 80241FFC 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* A08F00 80242000 E602001C */ swc1 $f2, 0x1c($s0) +/* A08F04 80242004 E6000014 */ swc1 $f0, 0x14($s0) +/* A08F08 80242008 AE020028 */ sw $v0, 0x28($s0) +/* A08F0C 8024200C 8E22008C */ lw $v0, 0x8c($s1) +/* A08F10 80242010 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A08F14 80242014 00021FC2 */ srl $v1, $v0, 0x1f +/* A08F18 80242018 00431021 */ addu $v0, $v0, $v1 +/* A08F1C 8024201C 8E430000 */ lw $v1, ($s2) +/* A08F20 80242020 00021043 */ sra $v0, $v0, 1 +/* A08F24 80242024 A60200A8 */ sh $v0, 0xa8($s0) +/* A08F28 80242028 8C660028 */ lw $a2, 0x28($v1) +/* A08F2C 8024202C 0C00A7B5 */ jal dist2D +/* A08F30 80242030 8C670030 */ lw $a3, 0x30($v1) +/* A08F34 80242034 0200202D */ daddu $a0, $s0, $zero +/* A08F38 80242038 0000302D */ daddu $a2, $zero, $zero +/* A08F3C 8024203C C6020038 */ lwc1 $f2, 0x38($s0) +/* A08F40 80242040 3C0140E0 */ lui $at, 0x40e0 +/* A08F44 80242044 44810000 */ mtc1 $at, $f0 +/* A08F48 80242048 4600110D */ trunc.w.s $f4, $f2 +/* A08F4C 8024204C 44022000 */ mfc1 $v0, $f4 +/* A08F50 80242050 E6000018 */ swc1 $f0, 0x18($s0) +/* A08F54 80242054 A6220010 */ sh $v0, 0x10($s1) +/* A08F58 80242058 C600003C */ lwc1 $f0, 0x3c($s0) +/* A08F5C 8024205C 240502C1 */ addiu $a1, $zero, 0x2c1 +/* A08F60 80242060 4600010D */ trunc.w.s $f4, $f0 +/* A08F64 80242064 44022000 */ mfc1 $v0, $f4 +/* A08F68 80242068 00000000 */ nop +/* A08F6C 8024206C A6220012 */ sh $v0, 0x12($s1) +/* A08F70 80242070 C6000040 */ lwc1 $f0, 0x40($s0) +/* A08F74 80242074 24020001 */ addiu $v0, $zero, 1 +/* A08F78 80242078 A2220007 */ sb $v0, 7($s1) +/* A08F7C 8024207C 4600010D */ trunc.w.s $f4, $f0 +/* A08F80 80242080 44022000 */ mfc1 $v0, $f4 +/* A08F84 80242084 0C012530 */ jal func_800494C0 +/* A08F88 80242088 A6220014 */ sh $v0, 0x14($s1) +/* A08F8C 8024208C C60C0038 */ lwc1 $f12, 0x38($s0) +/* A08F90 80242090 8E420000 */ lw $v0, ($s2) +/* A08F94 80242094 C60E0040 */ lwc1 $f14, 0x40($s0) +/* A08F98 80242098 8C460028 */ lw $a2, 0x28($v0) +/* A08F9C 8024209C 0C00A720 */ jal atan2 +/* A08FA0 802420A0 8C470030 */ lw $a3, 0x30($v0) +/* A08FA4 802420A4 2402000C */ addiu $v0, $zero, 0xc +/* A08FA8 802420A8 A602008E */ sh $v0, 0x8e($s0) +/* A08FAC 802420AC 2402000D */ addiu $v0, $zero, 0xd +/* A08FB0 802420B0 E600000C */ swc1 $f0, 0xc($s0) +/* A08FB4 802420B4 AE620070 */ sw $v0, 0x70($s3) +/* A08FB8 802420B8 8FBF0020 */ lw $ra, 0x20($sp) +/* A08FBC 802420BC 8FB3001C */ lw $s3, 0x1c($sp) +/* A08FC0 802420C0 8FB20018 */ lw $s2, 0x18($sp) +/* A08FC4 802420C4 8FB10014 */ lw $s1, 0x14($sp) +/* A08FC8 802420C8 8FB00010 */ lw $s0, 0x10($sp) +/* A08FCC 802420CC 03E00008 */ jr $ra +/* A08FD0 802420D0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802420D4.s b/asm/nonmatchings/world/area_nok/nok_15/func_802420D4.s new file mode 100644 index 0000000000..7197293abe --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802420D4.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420D4 +/* A08FD4 802420D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* A08FD8 802420D8 AFB20018 */ sw $s2, 0x18($sp) +/* A08FDC 802420DC 0080902D */ daddu $s2, $a0, $zero +/* A08FE0 802420E0 AFBF001C */ sw $ra, 0x1c($sp) +/* A08FE4 802420E4 AFB10014 */ sw $s1, 0x14($sp) +/* A08FE8 802420E8 AFB00010 */ sw $s0, 0x10($sp) +/* A08FEC 802420EC 8E510148 */ lw $s1, 0x148($s2) +/* A08FF0 802420F0 0C00EABB */ jal get_npc_unsafe +/* A08FF4 802420F4 86240008 */ lh $a0, 8($s1) +/* A08FF8 802420F8 0040802D */ daddu $s0, $v0, $zero +/* A08FFC 802420FC C602001C */ lwc1 $f2, 0x1c($s0) +/* A09000 80242100 C6000014 */ lwc1 $f0, 0x14($s0) +/* A09004 80242104 8E050018 */ lw $a1, 0x18($s0) +/* A09008 80242108 46001080 */ add.s $f2, $f2, $f0 +/* A0900C 8024210C C600003C */ lwc1 $f0, 0x3c($s0) +/* A09010 80242110 8E06000C */ lw $a2, 0xc($s0) +/* A09014 80242114 46020000 */ add.s $f0, $f0, $f2 +/* A09018 80242118 0200202D */ daddu $a0, $s0, $zero +/* A0901C 8024211C E602001C */ swc1 $f2, 0x1c($s0) +/* A09020 80242120 0C00EA95 */ jal npc_move_heading +/* A09024 80242124 E600003C */ swc1 $f0, 0x3c($s0) +/* A09028 80242128 9602008E */ lhu $v0, 0x8e($s0) +/* A0902C 8024212C 2442FFFF */ addiu $v0, $v0, -1 +/* A09030 80242130 A602008E */ sh $v0, 0x8e($s0) +/* A09034 80242134 00021400 */ sll $v0, $v0, 0x10 +/* A09038 80242138 1C40000F */ bgtz $v0, .L80242178 +/* A0903C 8024213C 00000000 */ nop +/* A09040 80242140 3C013E99 */ lui $at, 0x3e99 +/* A09044 80242144 3421999A */ ori $at, $at, 0x999a +/* A09048 80242148 44810000 */ mtc1 $at, $f0 +/* A0904C 8024214C 3C014040 */ lui $at, 0x4040 +/* A09050 80242150 44811000 */ mtc1 $at, $f2 +/* A09054 80242154 A2200007 */ sb $zero, 7($s1) +/* A09058 80242158 AE00001C */ sw $zero, 0x1c($s0) +/* A0905C 8024215C E6000014 */ swc1 $f0, 0x14($s0) +/* A09060 80242160 E6020018 */ swc1 $f2, 0x18($s0) +/* A09064 80242164 8E2200CC */ lw $v0, 0xcc($s1) +/* A09068 80242168 8C420028 */ lw $v0, 0x28($v0) +/* A0906C 8024216C AE020028 */ sw $v0, 0x28($s0) +/* A09070 80242170 2402000E */ addiu $v0, $zero, 0xe +/* A09074 80242174 AE420070 */ sw $v0, 0x70($s2) +.L80242178: +/* A09078 80242178 8FBF001C */ lw $ra, 0x1c($sp) +/* A0907C 8024217C 8FB20018 */ lw $s2, 0x18($sp) +/* A09080 80242180 8FB10014 */ lw $s1, 0x14($sp) +/* A09084 80242184 8FB00010 */ lw $s0, 0x10($sp) +/* A09088 80242188 03E00008 */ jr $ra +/* A0908C 8024218C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80242190.s b/asm/nonmatchings/world/area_nok/nok_15/func_80242190.s new file mode 100644 index 0000000000..f6a0471cc2 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80242190.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242190 +/* A09090 80242190 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* A09094 80242194 AFB20030 */ sw $s2, 0x30($sp) +/* A09098 80242198 0080902D */ daddu $s2, $a0, $zero +/* A0909C 8024219C AFBF0034 */ sw $ra, 0x34($sp) +/* A090A0 802421A0 AFB1002C */ sw $s1, 0x2c($sp) +/* A090A4 802421A4 AFB00028 */ sw $s0, 0x28($sp) +/* A090A8 802421A8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* A090AC 802421AC 8E510148 */ lw $s1, 0x148($s2) +/* A090B0 802421B0 0C00EABB */ jal get_npc_unsafe +/* A090B4 802421B4 86240008 */ lh $a0, 8($s1) +/* A090B8 802421B8 0040802D */ daddu $s0, $v0, $zero +/* A090BC 802421BC C604001C */ lwc1 $f4, 0x1c($s0) +/* A090C0 802421C0 C6000014 */ lwc1 $f0, 0x14($s0) +/* A090C4 802421C4 0200202D */ daddu $a0, $s0, $zero +/* A090C8 802421C8 46002100 */ add.s $f4, $f4, $f0 +/* A090CC 802421CC C602003C */ lwc1 $f2, 0x3c($s0) +/* A090D0 802421D0 8E050018 */ lw $a1, 0x18($s0) +/* A090D4 802421D4 46041080 */ add.s $f2, $f2, $f4 +/* A090D8 802421D8 8E06000C */ lw $a2, 0xc($s0) +/* A090DC 802421DC C6200078 */ lwc1 $f0, 0x78($s1) +/* A090E0 802421E0 46800020 */ cvt.s.w $f0, $f0 +/* A090E4 802421E4 E602003C */ swc1 $f2, 0x3c($s0) +/* A090E8 802421E8 3C014059 */ lui $at, 0x4059 +/* A090EC 802421EC 44811800 */ mtc1 $at, $f3 +/* A090F0 802421F0 44801000 */ mtc1 $zero, $f2 +/* A090F4 802421F4 46000021 */ cvt.d.s $f0, $f0 +/* A090F8 802421F8 E604001C */ swc1 $f4, 0x1c($s0) +/* A090FC 802421FC 46220003 */ div.d $f0, $f0, $f2 +/* A09100 80242200 0C00EA95 */ jal npc_move_heading +/* A09104 80242204 46200520 */ cvt.s.d $f20, $f0 +/* A09108 80242208 27A50018 */ addiu $a1, $sp, 0x18 +/* A0910C 8024220C 27A6001C */ addiu $a2, $sp, 0x1c +/* A09110 80242210 C6000038 */ lwc1 $f0, 0x38($s0) +/* A09114 80242214 C602003C */ lwc1 $f2, 0x3c($s0) +/* A09118 80242218 C6040040 */ lwc1 $f4, 0x40($s0) +/* A0911C 8024221C 3C01447A */ lui $at, 0x447a +/* A09120 80242220 44813000 */ mtc1 $at, $f6 +/* A09124 80242224 27A20024 */ addiu $v0, $sp, 0x24 +/* A09128 80242228 E7A00018 */ swc1 $f0, 0x18($sp) +/* A0912C 8024222C E7A2001C */ swc1 $f2, 0x1c($sp) +/* A09130 80242230 E7A40020 */ swc1 $f4, 0x20($sp) +/* A09134 80242234 E7A60024 */ swc1 $f6, 0x24($sp) +/* A09138 80242238 AFA20010 */ sw $v0, 0x10($sp) +/* A0913C 8024223C 8E040080 */ lw $a0, 0x80($s0) +/* A09140 80242240 0C0372DF */ jal func_800DCB7C +/* A09144 80242244 27A70020 */ addiu $a3, $sp, 0x20 +/* A09148 80242248 10400003 */ beqz $v0, .L80242258 +/* A0914C 8024224C 4600A086 */ mov.s $f2, $f20 +/* A09150 80242250 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* A09154 80242254 46140080 */ add.s $f2, $f0, $f20 +.L80242258: +/* A09158 80242258 C600003C */ lwc1 $f0, 0x3c($s0) +/* A0915C 8024225C 4602003C */ c.lt.s $f0, $f2 +/* A09160 80242260 00000000 */ nop +/* A09164 80242264 45010009 */ bc1t .L8024228C +/* A09168 80242268 2402000A */ addiu $v0, $zero, 0xa +/* A0916C 8024226C A602008E */ sh $v0, 0x8e($s0) +/* A09170 80242270 8E2200CC */ lw $v0, 0xcc($s1) +/* A09174 80242274 8C42002C */ lw $v0, 0x2c($v0) +/* A09178 80242278 AE020028 */ sw $v0, 0x28($s0) +/* A0917C 8024227C 9622008E */ lhu $v0, 0x8e($s1) +/* A09180 80242280 A60200A8 */ sh $v0, 0xa8($s0) +/* A09184 80242284 2402000F */ addiu $v0, $zero, 0xf +/* A09188 80242288 AE420070 */ sw $v0, 0x70($s2) +.L8024228C: +/* A0918C 8024228C 8FBF0034 */ lw $ra, 0x34($sp) +/* A09190 80242290 8FB20030 */ lw $s2, 0x30($sp) +/* A09194 80242294 8FB1002C */ lw $s1, 0x2c($sp) +/* A09198 80242298 8FB00028 */ lw $s0, 0x28($sp) +/* A0919C 8024229C D7B40038 */ ldc1 $f20, 0x38($sp) +/* A091A0 802422A0 03E00008 */ jr $ra +/* A091A4 802422A4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802422A8.s b/asm/nonmatchings/world/area_nok/nok_15/func_802422A8.s new file mode 100644 index 0000000000..1fb1778175 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802422A8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422A8 +/* A091A8 802422A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* A091AC 802422AC AFB00010 */ sw $s0, 0x10($sp) +/* A091B0 802422B0 0080802D */ daddu $s0, $a0, $zero +/* A091B4 802422B4 AFBF0014 */ sw $ra, 0x14($sp) +/* A091B8 802422B8 8E020148 */ lw $v0, 0x148($s0) +/* A091BC 802422BC 0C00EABB */ jal get_npc_unsafe +/* A091C0 802422C0 84440008 */ lh $a0, 8($v0) +/* A091C4 802422C4 9443008E */ lhu $v1, 0x8e($v0) +/* A091C8 802422C8 2463FFFF */ addiu $v1, $v1, -1 +/* A091CC 802422CC A443008E */ sh $v1, 0x8e($v0) +/* A091D0 802422D0 00031C00 */ sll $v1, $v1, 0x10 +/* A091D4 802422D4 58600001 */ blezl $v1, .L802422DC +/* A091D8 802422D8 AE000070 */ sw $zero, 0x70($s0) +.L802422DC: +/* A091DC 802422DC 8FBF0014 */ lw $ra, 0x14($sp) +/* A091E0 802422E0 8FB00010 */ lw $s0, 0x10($sp) +/* A091E4 802422E4 03E00008 */ jr $ra +/* A091E8 802422E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802422EC.s b/asm/nonmatchings/world/area_nok/nok_15/func_802422EC.s new file mode 100644 index 0000000000..6bf0130229 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802422EC.s @@ -0,0 +1,157 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422EC +/* A091EC 802422EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* A091F0 802422F0 AFB3003C */ sw $s3, 0x3c($sp) +/* A091F4 802422F4 0080982D */ daddu $s3, $a0, $zero +/* A091F8 802422F8 AFBF0048 */ sw $ra, 0x48($sp) +/* A091FC 802422FC AFB50044 */ sw $s5, 0x44($sp) +/* A09200 80242300 AFB40040 */ sw $s4, 0x40($sp) +/* A09204 80242304 AFB20038 */ sw $s2, 0x38($sp) +/* A09208 80242308 AFB10034 */ sw $s1, 0x34($sp) +/* A0920C 8024230C AFB00030 */ sw $s0, 0x30($sp) +/* A09210 80242310 8E720148 */ lw $s2, 0x148($s3) +/* A09214 80242314 86440008 */ lh $a0, 8($s2) +/* A09218 80242318 8E70000C */ lw $s0, 0xc($s3) +/* A0921C 8024231C 0C00EABB */ jal get_npc_unsafe +/* A09220 80242320 00A0882D */ daddu $s1, $a1, $zero +/* A09224 80242324 0260202D */ daddu $a0, $s3, $zero +/* A09228 80242328 8E050000 */ lw $a1, ($s0) +/* A0922C 8024232C 0C0B1EAF */ jal get_variable +/* A09230 80242330 0040A82D */ daddu $s5, $v0, $zero +/* A09234 80242334 AFA00010 */ sw $zero, 0x10($sp) +/* A09238 80242338 8E4300D0 */ lw $v1, 0xd0($s2) +/* A0923C 8024233C 8C630030 */ lw $v1, 0x30($v1) +/* A09240 80242340 AFA30014 */ sw $v1, 0x14($sp) +/* A09244 80242344 8E4300D0 */ lw $v1, 0xd0($s2) +/* A09248 80242348 8C63001C */ lw $v1, 0x1c($v1) +/* A0924C 8024234C AFA30018 */ sw $v1, 0x18($sp) +/* A09250 80242350 8E4300D0 */ lw $v1, 0xd0($s2) +/* A09254 80242354 8C630024 */ lw $v1, 0x24($v1) +/* A09258 80242358 AFA3001C */ sw $v1, 0x1c($sp) +/* A0925C 8024235C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A09260 80242360 8C630028 */ lw $v1, 0x28($v1) +/* A09264 80242364 27B40010 */ addiu $s4, $sp, 0x10 +/* A09268 80242368 AFA30020 */ sw $v1, 0x20($sp) +/* A0926C 8024236C 8E4300D0 */ lw $v1, 0xd0($s2) +/* A09270 80242370 3C0142F0 */ lui $at, 0x42f0 +/* A09274 80242374 44810000 */ mtc1 $at, $f0 +/* A09278 80242378 8C63002C */ lw $v1, 0x2c($v1) +/* A0927C 8024237C 0040802D */ daddu $s0, $v0, $zero +/* A09280 80242380 E7A00028 */ swc1 $f0, 0x28($sp) +/* A09284 80242384 A7A0002C */ sh $zero, 0x2c($sp) +/* A09288 80242388 12200009 */ beqz $s1, .L802423B0 +/* A0928C 8024238C AFA30024 */ sw $v1, 0x24($sp) +/* A09290 80242390 02A0202D */ daddu $a0, $s5, $zero +/* A09294 80242394 0240282D */ daddu $a1, $s2, $zero +/* A09298 80242398 0260302D */ daddu $a2, $s3, $zero +/* A0929C 8024239C 0C090727 */ jal func_80241C9C +/* A092A0 802423A0 0200382D */ daddu $a3, $s0, $zero +/* A092A4 802423A4 86A200A8 */ lh $v0, 0xa8($s5) +/* A092A8 802423A8 AE42008C */ sw $v0, 0x8c($s2) +/* A092AC 802423AC AE600070 */ sw $zero, 0x70($s3) +.L802423B0: +/* A092B0 802423B0 2402FFFD */ addiu $v0, $zero, -3 +/* A092B4 802423B4 A2A200AB */ sb $v0, 0xab($s5) +/* A092B8 802423B8 8E4300B0 */ lw $v1, 0xb0($s2) +/* A092BC 802423BC 30620004 */ andi $v0, $v1, 4 +/* A092C0 802423C0 10400007 */ beqz $v0, .L802423E0 +/* A092C4 802423C4 00000000 */ nop +/* A092C8 802423C8 824200B4 */ lb $v0, 0xb4($s2) +/* A092CC 802423CC 14400052 */ bnez $v0, .L80242518 +/* A092D0 802423D0 0000102D */ daddu $v0, $zero, $zero +/* A092D4 802423D4 2402FFFB */ addiu $v0, $zero, -5 +/* A092D8 802423D8 00621024 */ and $v0, $v1, $v0 +/* A092DC 802423DC AE4200B0 */ sw $v0, 0xb0($s2) +.L802423E0: +/* A092E0 802423E0 8E630070 */ lw $v1, 0x70($s3) +/* A092E4 802423E4 2C620010 */ sltiu $v0, $v1, 0x10 +/* A092E8 802423E8 1040004A */ beqz $v0, .L80242514 +/* A092EC 802423EC 00031080 */ sll $v0, $v1, 2 +/* A092F0 802423F0 3C018024 */ lui $at, 0x8024 +/* A092F4 802423F4 00220821 */ addu $at, $at, $v0 +/* A092F8 802423F8 8C224DA8 */ lw $v0, 0x4da8($at) +/* A092FC 802423FC 00400008 */ jr $v0 +/* A09300 80242400 00000000 */ nop +/* A09304 80242404 0260202D */ daddu $a0, $s3, $zero +/* A09308 80242408 0200282D */ daddu $a1, $s0, $zero +/* A0930C 8024240C 0C0902AD */ jal func_80240AB4 +/* A09310 80242410 0280302D */ daddu $a2, $s4, $zero +/* A09314 80242414 0260202D */ daddu $a0, $s3, $zero +/* A09318 80242418 0200282D */ daddu $a1, $s0, $zero +/* A0931C 8024241C 0C090319 */ jal func_80240C64 +/* A09320 80242420 0280302D */ daddu $a2, $s4, $zero +/* A09324 80242424 8E630070 */ lw $v1, 0x70($s3) +/* A09328 80242428 24020002 */ addiu $v0, $zero, 2 +/* A0932C 8024242C 1462003A */ bne $v1, $v0, .L80242518 +/* A09330 80242430 0000102D */ daddu $v0, $zero, $zero +/* A09334 80242434 0260202D */ daddu $a0, $s3, $zero +/* A09338 80242438 0200282D */ daddu $a1, $s0, $zero +/* A0933C 8024243C 0C0904A3 */ jal func_8024128C +/* A09340 80242440 0280302D */ daddu $a2, $s4, $zero +/* A09344 80242444 0260202D */ daddu $a0, $s3, $zero +/* A09348 80242448 0200282D */ daddu $a1, $s0, $zero +/* A0934C 8024244C 0C0904D3 */ jal func_8024134C +/* A09350 80242450 0280302D */ daddu $a2, $s4, $zero +/* A09354 80242454 8E630070 */ lw $v1, 0x70($s3) +/* A09358 80242458 2402000A */ addiu $v0, $zero, 0xa +/* A0935C 8024245C 1462002E */ bne $v1, $v0, .L80242518 +/* A09360 80242460 0000102D */ daddu $v0, $zero, $zero +/* A09364 80242464 0260202D */ daddu $a0, $s3, $zero +/* A09368 80242468 0200282D */ daddu $a1, $s0, $zero +/* A0936C 8024246C 0C0905A4 */ jal func_80241690 +/* A09370 80242470 0280302D */ daddu $a2, $s4, $zero +/* A09374 80242474 8E630070 */ lw $v1, 0x70($s3) +/* A09378 80242478 2402000B */ addiu $v0, $zero, 0xb +/* A0937C 8024247C 14620026 */ bne $v1, $v0, .L80242518 +/* A09380 80242480 0000102D */ daddu $v0, $zero, $zero +/* A09384 80242484 0260202D */ daddu $a0, $s3, $zero +/* A09388 80242488 0200282D */ daddu $a1, $s0, $zero +/* A0938C 8024248C 0C0905C2 */ jal func_80241708 +/* A09390 80242490 0280302D */ daddu $a2, $s4, $zero +/* A09394 80242494 8E630070 */ lw $v1, 0x70($s3) +/* A09398 80242498 2402000C */ addiu $v0, $zero, 0xc +/* A0939C 8024249C 1462001E */ bne $v1, $v0, .L80242518 +/* A093A0 802424A0 0000102D */ daddu $v0, $zero, $zero +/* A093A4 802424A4 0260202D */ daddu $a0, $s3, $zero +/* A093A8 802424A8 0200282D */ daddu $a1, $s0, $zero +/* A093AC 802424AC 0C0907EB */ jal func_80241FAC +/* A093B0 802424B0 0280302D */ daddu $a2, $s4, $zero +/* A093B4 802424B4 8E630070 */ lw $v1, 0x70($s3) +/* A093B8 802424B8 2402000D */ addiu $v0, $zero, 0xd +/* A093BC 802424BC 14620016 */ bne $v1, $v0, .L80242518 +/* A093C0 802424C0 0000102D */ daddu $v0, $zero, $zero +/* A093C4 802424C4 0260202D */ daddu $a0, $s3, $zero +/* A093C8 802424C8 0200282D */ daddu $a1, $s0, $zero +/* A093CC 802424CC 0C090835 */ jal func_802420D4 +/* A093D0 802424D0 0280302D */ daddu $a2, $s4, $zero +/* A093D4 802424D4 8E630070 */ lw $v1, 0x70($s3) +/* A093D8 802424D8 2402000E */ addiu $v0, $zero, 0xe +/* A093DC 802424DC 1462000E */ bne $v1, $v0, .L80242518 +/* A093E0 802424E0 0000102D */ daddu $v0, $zero, $zero +/* A093E4 802424E4 0260202D */ daddu $a0, $s3, $zero +/* A093E8 802424E8 0200282D */ daddu $a1, $s0, $zero +/* A093EC 802424EC 0C090864 */ jal func_80242190 +/* A093F0 802424F0 0280302D */ daddu $a2, $s4, $zero +/* A093F4 802424F4 8E630070 */ lw $v1, 0x70($s3) +/* A093F8 802424F8 2402000F */ addiu $v0, $zero, 0xf +/* A093FC 802424FC 14620006 */ bne $v1, $v0, .L80242518 +/* A09400 80242500 0000102D */ daddu $v0, $zero, $zero +/* A09404 80242504 0260202D */ daddu $a0, $s3, $zero +/* A09408 80242508 0200282D */ daddu $a1, $s0, $zero +/* A0940C 8024250C 0C0908AA */ jal func_802422A8 +/* A09410 80242510 0280302D */ daddu $a2, $s4, $zero +.L80242514: +/* A09414 80242514 0000102D */ daddu $v0, $zero, $zero +.L80242518: +/* A09418 80242518 8FBF0048 */ lw $ra, 0x48($sp) +/* A0941C 8024251C 8FB50044 */ lw $s5, 0x44($sp) +/* A09420 80242520 8FB40040 */ lw $s4, 0x40($sp) +/* A09424 80242524 8FB3003C */ lw $s3, 0x3c($sp) +/* A09428 80242528 8FB20038 */ lw $s2, 0x38($sp) +/* A0942C 8024252C 8FB10034 */ lw $s1, 0x34($sp) +/* A09430 80242530 8FB00030 */ lw $s0, 0x30($sp) +/* A09434 80242534 03E00008 */ jr $ra +/* A09438 80242538 27BD0050 */ addiu $sp, $sp, 0x50 +/* A0943C 8024253C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_80242540.s b/asm/nonmatchings/world/area_nok/nok_15/func_80242540.s new file mode 100644 index 0000000000..c03586e61c --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_80242540.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242540 +/* A09440 80242540 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* A09444 80242544 F7B40018 */ sdc1 $f20, 0x18($sp) +/* A09448 80242548 4485A000 */ mtc1 $a1, $f20 +/* A0944C 8024254C F7B60020 */ sdc1 $f22, 0x20($sp) +/* A09450 80242550 4486B000 */ mtc1 $a2, $f22 +/* A09454 80242554 AFB00010 */ sw $s0, 0x10($sp) +/* A09458 80242558 F7B80028 */ sdc1 $f24, 0x28($sp) +/* A0945C 8024255C 4487C000 */ mtc1 $a3, $f24 +/* A09460 80242560 AFBF0014 */ sw $ra, 0x14($sp) +/* A09464 80242564 0C019D28 */ jal guMtxIdentF +/* A09468 80242568 0080802D */ daddu $s0, $a0, $zero +/* A0946C 8024256C 4616A582 */ mul.s $f22, $f20, $f22 +/* A09470 80242570 00000000 */ nop +/* A09474 80242574 4618A502 */ mul.s $f20, $f20, $f24 +/* A09478 80242578 00000000 */ nop +/* A0947C 8024257C 3C013F80 */ lui $at, 0x3f80 +/* A09480 80242580 44810000 */ mtc1 $at, $f0 +/* A09484 80242584 00000000 */ nop +/* A09488 80242588 E6000014 */ swc1 $f0, 0x14($s0) +/* A0948C 8024258C E6160010 */ swc1 $f22, 0x10($s0) +/* A09490 80242590 E6140018 */ swc1 $f20, 0x18($s0) +/* A09494 80242594 8FBF0014 */ lw $ra, 0x14($sp) +/* A09498 80242598 8FB00010 */ lw $s0, 0x10($sp) +/* A0949C 8024259C D7B80028 */ ldc1 $f24, 0x28($sp) +/* A094A0 802425A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* A094A4 802425A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* A094A8 802425A8 03E00008 */ jr $ra +/* A094AC 802425AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_nok/nok_15/func_802425B0.s b/asm/nonmatchings/world/area_nok/nok_15/func_802425B0.s new file mode 100644 index 0000000000..0425fbddc5 --- /dev/null +++ b/asm/nonmatchings/world/area_nok/nok_15/func_802425B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425B0 +/* A094B0 802425B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* A094B4 802425B4 AFB10054 */ sw $s1, 0x54($sp) +/* A094B8 802425B8 0080882D */ daddu $s1, $a0, $zero +/* A094BC 802425BC AFBF005C */ sw $ra, 0x5c($sp) +/* A094C0 802425C0 AFB20058 */ sw $s2, 0x58($sp) +/* A094C4 802425C4 AFB00050 */ sw $s0, 0x50($sp) +/* A094C8 802425C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* A094CC 802425CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* A094D0 802425D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* A094D4 802425D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* A094D8 802425D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* A094DC 802425DC 8E30000C */ lw $s0, 0xc($s1) +/* A094E0 802425E0 8E050000 */ lw $a1, ($s0) +/* A094E4 802425E4 0C0B1EAF */ jal get_variable +/* A094E8 802425E8 26100004 */ addiu $s0, $s0, 4 +/* A094EC 802425EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* A094F0 802425F0 0040202D */ daddu $a0, $v0, $zero +/* A094F4 802425F4 8E050000 */ lw $a1, ($s0) +/* A094F8 802425F8 26100004 */ addiu $s0, $s0, 4 +/* A094FC 802425FC 0220202D */ daddu $a0, $s1, $zero +/* A09500 80242600 0C0B210B */ jal get_float_variable +/* A09504 80242604 0040902D */ daddu $s2, $v0, $zero +/* A09508 80242608 8E050000 */ lw $a1, ($s0) +/* A0950C 8024260C 26100004 */ addiu $s0, $s0, 4 +/* A09510 80242610 0220202D */ daddu $a0, $s1, $zero +/* A09514 80242614 0C0B210B */ jal get_float_variable +/* A09518 80242618 46000706 */ mov.s $f28, $f0 +/* A0951C 8024261C 8E050000 */ lw $a1, ($s0) +/* A09520 80242620 26100004 */ addiu $s0, $s0, 4 +/* A09524 80242624 0220202D */ daddu $a0, $s1, $zero +/* A09528 80242628 0C0B210B */ jal get_float_variable +/* A0952C 8024262C 46000686 */ mov.s $f26, $f0 +/* A09530 80242630 0220202D */ daddu $a0, $s1, $zero +/* A09534 80242634 8E050000 */ lw $a1, ($s0) +/* A09538 80242638 0C0B210B */ jal get_float_variable +/* A0953C 8024263C 46000586 */ mov.s $f22, $f0 +/* A09540 80242640 0240202D */ daddu $a0, $s2, $zero +/* A09544 80242644 0C046B4C */ jal get_model_from_list_index +/* A09548 80242648 46000606 */ mov.s $f24, $f0 +/* A0954C 8024264C 0040882D */ daddu $s1, $v0, $zero +/* A09550 80242650 96220000 */ lhu $v0, ($s1) +/* A09554 80242654 30420400 */ andi $v0, $v0, 0x400 +/* A09558 80242658 1440001E */ bnez $v0, .L802426D4 +/* A0955C 8024265C 26300058 */ addiu $s0, $s1, 0x58 +/* A09560 80242660 4480A000 */ mtc1 $zero, $f20 +/* A09564 80242664 4406B000 */ mfc1 $a2, $f22 +/* A09568 80242668 4405A000 */ mfc1 $a1, $f20 +/* A0956C 8024266C 4407A000 */ mfc1 $a3, $f20 +/* A09570 80242670 0C019E40 */ jal guTranslateF +/* A09574 80242674 0200202D */ daddu $a0, $s0, $zero +/* A09578 80242678 4405E000 */ mfc1 $a1, $f28 +/* A0957C 8024267C 4406D000 */ mfc1 $a2, $f26 +/* A09580 80242680 4407C000 */ mfc1 $a3, $f24 +/* A09584 80242684 0C090950 */ jal func_80242540 +/* A09588 80242688 27A40010 */ addiu $a0, $sp, 0x10 +/* A0958C 8024268C 27A40010 */ addiu $a0, $sp, 0x10 +/* A09590 80242690 0200282D */ daddu $a1, $s0, $zero +/* A09594 80242694 0C019D80 */ jal guMtxCatF +/* A09598 80242698 0200302D */ daddu $a2, $s0, $zero +/* A0959C 8024269C 27A40010 */ addiu $a0, $sp, 0x10 +/* A095A0 802426A0 4600B587 */ neg.s $f22, $f22 +/* A095A4 802426A4 4405A000 */ mfc1 $a1, $f20 +/* A095A8 802426A8 4406B000 */ mfc1 $a2, $f22 +/* A095AC 802426AC 0C019E40 */ jal guTranslateF +/* A095B0 802426B0 00A0382D */ daddu $a3, $a1, $zero +/* A095B4 802426B4 27A40010 */ addiu $a0, $sp, 0x10 +/* A095B8 802426B8 0200282D */ daddu $a1, $s0, $zero +/* A095BC 802426BC 0C019D80 */ jal guMtxCatF +/* A095C0 802426C0 00A0302D */ daddu $a2, $a1, $zero +/* A095C4 802426C4 96220000 */ lhu $v0, ($s1) +/* A095C8 802426C8 34421400 */ ori $v0, $v0, 0x1400 +/* A095CC 802426CC 080909D3 */ j .L8024274C +/* A095D0 802426D0 A6220000 */ sh $v0, ($s1) +.L802426D4: +/* A095D4 802426D4 4480A000 */ mtc1 $zero, $f20 +/* A095D8 802426D8 4406B000 */ mfc1 $a2, $f22 +/* A095DC 802426DC 4405A000 */ mfc1 $a1, $f20 +/* A095E0 802426E0 4407A000 */ mfc1 $a3, $f20 +/* A095E4 802426E4 0C019E40 */ jal guTranslateF +/* A095E8 802426E8 27A40010 */ addiu $a0, $sp, 0x10 +/* A095EC 802426EC 27A40010 */ addiu $a0, $sp, 0x10 +/* A095F0 802426F0 26300058 */ addiu $s0, $s1, 0x58 +/* A095F4 802426F4 0200282D */ daddu $a1, $s0, $zero +/* A095F8 802426F8 0C019D80 */ jal guMtxCatF +/* A095FC 802426FC 0200302D */ daddu $a2, $s0, $zero +/* A09600 80242700 4405E000 */ mfc1 $a1, $f28 +/* A09604 80242704 4406D000 */ mfc1 $a2, $f26 +/* A09608 80242708 4407C000 */ mfc1 $a3, $f24 +/* A0960C 8024270C 0C090950 */ jal func_80242540 +/* A09610 80242710 27A40010 */ addiu $a0, $sp, 0x10 +/* A09614 80242714 27A40010 */ addiu $a0, $sp, 0x10 +/* A09618 80242718 0200282D */ daddu $a1, $s0, $zero +/* A0961C 8024271C 0C019D80 */ jal guMtxCatF +/* A09620 80242720 0200302D */ daddu $a2, $s0, $zero +/* A09624 80242724 27A40010 */ addiu $a0, $sp, 0x10 +/* A09628 80242728 4600B587 */ neg.s $f22, $f22 +/* A0962C 8024272C 4405A000 */ mfc1 $a1, $f20 +/* A09630 80242730 4406B000 */ mfc1 $a2, $f22 +/* A09634 80242734 0C019E40 */ jal guTranslateF +/* A09638 80242738 00A0382D */ daddu $a3, $a1, $zero +/* A0963C 8024273C 27A40010 */ addiu $a0, $sp, 0x10 +/* A09640 80242740 0200282D */ daddu $a1, $s0, $zero +/* A09644 80242744 0C019D80 */ jal guMtxCatF +/* A09648 80242748 00A0302D */ daddu $a2, $a1, $zero +.L8024274C: +/* A0964C 8024274C 8FBF005C */ lw $ra, 0x5c($sp) +/* A09650 80242750 8FB20058 */ lw $s2, 0x58($sp) +/* A09654 80242754 8FB10054 */ lw $s1, 0x54($sp) +/* A09658 80242758 8FB00050 */ lw $s0, 0x50($sp) +/* A0965C 8024275C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* A09660 80242760 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* A09664 80242764 D7B80070 */ ldc1 $f24, 0x70($sp) +/* A09668 80242768 D7B60068 */ ldc1 $f22, 0x68($sp) +/* A0966C 8024276C D7B40060 */ ldc1 $f20, 0x60($sp) +/* A09670 80242770 24020002 */ addiu $v0, $zero, 2 +/* A09674 80242774 03E00008 */ jr $ra +/* A09678 80242778 27BD0088 */ addiu $sp, $sp, 0x88 +/* A0967C 8024277C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240000_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240000_BBD1A0.s new file mode 100644 index 0000000000..55cf04adcc --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240000_BBD1A0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BBD1A0 +/* BBD1A0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* BBD1A4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BBD1A8 80240008 94620002 */ lhu $v0, 2($v1) +/* BBD1AC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* BBD1B0 80240010 A4620002 */ sh $v0, 2($v1) +/* BBD1B4 80240014 03E00008 */ jr $ra +/* BBD1B8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_8024001C_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_8024001C_BBD1A0.s new file mode 100644 index 0000000000..a172df636a --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_8024001C_BBD1A0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_BBD1BC +/* BBD1BC 8024001C 3C03800B */ lui $v1, %hi(gCameras) +/* BBD1C0 80240020 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BBD1C4 80240024 94620002 */ lhu $v0, 2($v1) +/* BBD1C8 80240028 34420001 */ ori $v0, $v0, 1 +/* BBD1CC 8024002C A4620002 */ sh $v0, 2($v1) +/* BBD1D0 80240030 03E00008 */ jr $ra +/* BBD1D4 80240034 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240038_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240038_BBD1A0.s new file mode 100644 index 0000000000..3d32de06d5 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240038_BBD1A0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240038_BBD1D8 +/* BBD1D8 80240038 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBD1DC 8024003C AFBF0010 */ sw $ra, 0x10($sp) +/* BBD1E0 80240040 8C82000C */ lw $v0, 0xc($a0) +/* BBD1E4 80240044 0C0B210B */ jal get_float_variable +/* BBD1E8 80240048 8C450000 */ lw $a1, ($v0) +/* BBD1EC 8024004C 4600008D */ trunc.w.s $f2, $f0 +/* BBD1F0 80240050 44021000 */ mfc1 $v0, $f2 +/* BBD1F4 80240054 00000000 */ nop +/* BBD1F8 80240058 44820000 */ mtc1 $v0, $f0 +/* BBD1FC 8024005C 00000000 */ nop +/* BBD200 80240060 46800020 */ cvt.s.w $f0, $f0 +/* BBD204 80240064 8FBF0010 */ lw $ra, 0x10($sp) +/* BBD208 80240068 24020002 */ addiu $v0, $zero, 2 +/* BBD20C 8024006C 3C01800B */ lui $at, 0x800b +/* BBD210 80240070 E4201D98 */ swc1 $f0, 0x1d98($at) +/* BBD214 80240074 03E00008 */ jr $ra +/* BBD218 80240078 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_8024007C_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_8024007C_BBD1A0.s new file mode 100644 index 0000000000..c95899eb4b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_8024007C_BBD1A0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024007C_BBD21C +/* BBD21C 8024007C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* BBD220 80240080 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* BBD224 80240084 90420012 */ lbu $v0, 0x12($v0) +/* BBD228 80240088 000211C2 */ srl $v0, $v0, 7 +/* BBD22C 8024008C AC82009C */ sw $v0, 0x9c($a0) +/* BBD230 80240090 03E00008 */ jr $ra +/* BBD234 80240094 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240098_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240098_BBD1A0.s new file mode 100644 index 0000000000..6efbf003b8 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240098_BBD1A0.s @@ -0,0 +1,410 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240098_BBD238 +/* BBD238 80240098 27BDFF68 */ addiu $sp, $sp, -0x98 +/* BBD23C 8024009C AFB40078 */ sw $s4, 0x78($sp) +/* BBD240 802400A0 0080A02D */ daddu $s4, $a0, $zero +/* BBD244 802400A4 AFB5007C */ sw $s5, 0x7c($sp) +/* BBD248 802400A8 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* BBD24C 802400AC 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* BBD250 802400B0 AFBF0080 */ sw $ra, 0x80($sp) +/* BBD254 802400B4 AFB30074 */ sw $s3, 0x74($sp) +/* BBD258 802400B8 AFB20070 */ sw $s2, 0x70($sp) +/* BBD25C 802400BC AFB1006C */ sw $s1, 0x6c($sp) +/* BBD260 802400C0 AFB00068 */ sw $s0, 0x68($sp) +/* BBD264 802400C4 F7B60090 */ sdc1 $f22, 0x90($sp) +/* BBD268 802400C8 F7B40088 */ sdc1 $f20, 0x88($sp) +/* BBD26C 802400CC 10A00029 */ beqz $a1, .L80240174 +/* BBD270 802400D0 8E90000C */ lw $s0, 0xc($s4) +/* BBD274 802400D4 0C00AB39 */ jal heap_malloc +/* BBD278 802400D8 2404006C */ addiu $a0, $zero, 0x6c +/* BBD27C 802400DC 0040882D */ daddu $s1, $v0, $zero +/* BBD280 802400E0 0280202D */ daddu $a0, $s4, $zero +/* BBD284 802400E4 0000982D */ daddu $s3, $zero, $zero +/* BBD288 802400E8 AE910074 */ sw $s1, 0x74($s4) +/* BBD28C 802400EC 8E050000 */ lw $a1, ($s0) +/* BBD290 802400F0 3C108024 */ lui $s0, 0x8024 +/* BBD294 802400F4 26101C58 */ addiu $s0, $s0, 0x1c58 +/* BBD298 802400F8 0C0B1EAF */ jal get_variable +/* BBD29C 802400FC 0220902D */ daddu $s2, $s1, $zero +/* BBD2A0 80240100 AE220008 */ sw $v0, 8($s1) +/* BBD2A4 80240104 AC510000 */ sw $s1, ($v0) +.L80240108: +/* BBD2A8 80240108 8E040000 */ lw $a0, ($s0) +/* BBD2AC 8024010C 26100004 */ addiu $s0, $s0, 4 +/* BBD2B0 80240110 0C046C04 */ jal get_model_list_index_from_tree_index +/* BBD2B4 80240114 26730001 */ addiu $s3, $s3, 1 +/* BBD2B8 80240118 0C046B4C */ jal get_model_from_list_index +/* BBD2BC 8024011C 0040202D */ daddu $a0, $v0, $zero +/* BBD2C0 80240120 AE42005C */ sw $v0, 0x5c($s2) +/* BBD2C4 80240124 2A620004 */ slti $v0, $s3, 4 +/* BBD2C8 80240128 1440FFF7 */ bnez $v0, .L80240108 +/* BBD2CC 8024012C 26520004 */ addiu $s2, $s2, 4 +/* BBD2D0 80240130 2625001C */ addiu $a1, $s1, 0x1c +/* BBD2D4 80240134 8E32005C */ lw $s2, 0x5c($s1) +/* BBD2D8 80240138 4480B000 */ mtc1 $zero, $f22 +/* BBD2DC 8024013C 0C00A5C8 */ jal copy_matrix +/* BBD2E0 80240140 26440058 */ addiu $a0, $s2, 0x58 +/* BBD2E4 80240144 3C014334 */ lui $at, 0x4334 +/* BBD2E8 80240148 44810000 */ mtc1 $at, $f0 +/* BBD2EC 8024014C 3C014120 */ lui $at, 0x4120 +/* BBD2F0 80240150 44811000 */ mtc1 $at, $f2 +/* BBD2F4 80240154 E6360010 */ swc1 $f22, 0x10($s1) +/* BBD2F8 80240158 E6360014 */ swc1 $f22, 0x14($s1) +/* BBD2FC 8024015C AE200000 */ sw $zero, ($s1) +/* BBD300 80240160 E620000C */ swc1 $f0, 0xc($s1) +/* BBD304 80240164 E6220018 */ swc1 $f2, 0x18($s1) +/* BBD308 80240168 AE800070 */ sw $zero, 0x70($s4) +/* BBD30C 8024016C AE800078 */ sw $zero, 0x78($s4) +/* BBD310 80240170 AE80007C */ sw $zero, 0x7c($s4) +.L80240174: +/* BBD314 80240174 8E910074 */ lw $s1, 0x74($s4) +/* BBD318 80240178 8E32005C */ lw $s2, 0x5c($s1) +/* BBD31C 8024017C 8E220008 */ lw $v0, 8($s1) +/* BBD320 80240180 C6360010 */ lwc1 $f22, 0x10($s1) +/* BBD324 80240184 8C430004 */ lw $v1, 4($v0) +/* BBD328 80240188 24020002 */ addiu $v0, $zero, 2 +/* BBD32C 8024018C 14620006 */ bne $v1, $v0, .L802401A8 +/* BBD330 80240190 2404000A */ addiu $a0, $zero, 0xa +/* BBD334 80240194 AE840070 */ sw $a0, 0x70($s4) +/* BBD338 80240198 8E230008 */ lw $v1, 8($s1) +/* BBD33C 8024019C 24020003 */ addiu $v0, $zero, 3 +/* BBD340 802401A0 AC620004 */ sw $v0, 4($v1) +/* BBD344 802401A4 AE240004 */ sw $a0, 4($s1) +.L802401A8: +/* BBD348 802401A8 8E830070 */ lw $v1, 0x70($s4) +/* BBD34C 802401AC 2C62000C */ sltiu $v0, $v1, 0xc +/* BBD350 802401B0 10400076 */ beqz $v0, .L8024038C +/* BBD354 802401B4 00031080 */ sll $v0, $v1, 2 +/* BBD358 802401B8 3C018024 */ lui $at, 0x8024 +/* BBD35C 802401BC 00220821 */ addu $at, $at, $v0 +/* BBD360 802401C0 8C2258C0 */ lw $v0, 0x58c0($at) +/* BBD364 802401C4 00400008 */ jr $v0 +/* BBD368 802401C8 00000000 */ nop +/* BBD36C 802401CC 8E220008 */ lw $v0, 8($s1) +/* BBD370 802401D0 8C420004 */ lw $v0, 4($v0) +/* BBD374 802401D4 1040006D */ beqz $v0, .L8024038C +/* BBD378 802401D8 24020023 */ addiu $v0, $zero, 0x23 +/* BBD37C 802401DC AE220004 */ sw $v0, 4($s1) +/* BBD380 802401E0 24020001 */ addiu $v0, $zero, 1 +/* BBD384 802401E4 4480B000 */ mtc1 $zero, $f22 +/* BBD388 802401E8 3C014120 */ lui $at, 0x4120 +/* BBD38C 802401EC 44810000 */ mtc1 $at, $f0 +/* BBD390 802401F0 8E230000 */ lw $v1, ($s1) +/* BBD394 802401F4 3C014334 */ lui $at, 0x4334 +/* BBD398 802401F8 44811000 */ mtc1 $at, $f2 +/* BBD39C 802401FC 34630003 */ ori $v1, $v1, 3 +/* BBD3A0 80240200 E6360010 */ swc1 $f22, 0x10($s1) +/* BBD3A4 80240204 E6360014 */ swc1 $f22, 0x14($s1) +/* BBD3A8 80240208 E6200018 */ swc1 $f0, 0x18($s1) +/* BBD3AC 8024020C E622000C */ swc1 $f2, 0xc($s1) +/* BBD3B0 80240210 AE230000 */ sw $v1, ($s1) +/* BBD3B4 80240214 080900E3 */ j .L8024038C +/* BBD3B8 80240218 AE820070 */ sw $v0, 0x70($s4) +/* BBD3BC 8024021C 8E220004 */ lw $v0, 4($s1) +/* BBD3C0 80240220 2403FFFF */ addiu $v1, $zero, -1 +/* BBD3C4 80240224 2442FFFF */ addiu $v0, $v0, -1 +/* BBD3C8 80240228 14430058 */ bne $v0, $v1, .L8024038C +/* BBD3CC 8024022C AE220004 */ sw $v0, 4($s1) +/* BBD3D0 80240230 24020002 */ addiu $v0, $zero, 2 +/* BBD3D4 80240234 080900E3 */ j .L8024038C +/* BBD3D8 80240238 AE820070 */ sw $v0, 0x70($s4) +/* BBD3DC 8024023C C6200010 */ lwc1 $f0, 0x10($s1) +/* BBD3E0 80240240 3C01BFBB */ lui $at, 0xbfbb +/* BBD3E4 80240244 3421BBBC */ ori $at, $at, 0xbbbc +/* BBD3E8 80240248 44811000 */ mtc1 $at, $f2 +/* BBD3EC 8024024C 00000000 */ nop +/* BBD3F0 80240250 46020000 */ add.s $f0, $f0, $f2 +/* BBD3F4 80240254 3C01C35C */ lui $at, 0xc35c +/* BBD3F8 80240258 44811000 */ mtc1 $at, $f2 +/* BBD3FC 8024025C 00000000 */ nop +/* BBD400 80240260 4602003C */ c.lt.s $f0, $f2 +/* BBD404 80240264 00000000 */ nop +/* BBD408 80240268 45000048 */ bc1f .L8024038C +/* BBD40C 8024026C E6200010 */ swc1 $f0, 0x10($s1) +/* BBD410 80240270 24020003 */ addiu $v0, $zero, 3 +/* BBD414 80240274 E6220010 */ swc1 $f2, 0x10($s1) +/* BBD418 80240278 080900E3 */ j .L8024038C +/* BBD41C 8024027C AE820070 */ sw $v0, 0x70($s4) +/* BBD420 80240280 C6200018 */ lwc1 $f0, 0x18($s1) +/* BBD424 80240284 3C013D88 */ lui $at, 0x3d88 +/* BBD428 80240288 34218889 */ ori $at, $at, 0x8889 +/* BBD42C 8024028C 44811000 */ mtc1 $at, $f2 +/* BBD430 80240290 00000000 */ nop +/* BBD434 80240294 46020001 */ sub.s $f0, $f0, $f2 +/* BBD438 80240298 44801000 */ mtc1 $zero, $f2 +/* BBD43C 8024029C 00000000 */ nop +/* BBD440 802402A0 4602003C */ c.lt.s $f0, $f2 +/* BBD444 802402A4 00000000 */ nop +/* BBD448 802402A8 45000038 */ bc1f .L8024038C +/* BBD44C 802402AC E6200018 */ swc1 $f0, 0x18($s1) +/* BBD450 802402B0 24020004 */ addiu $v0, $zero, 4 +/* BBD454 802402B4 E6220018 */ swc1 $f2, 0x18($s1) +/* BBD458 802402B8 AE820070 */ sw $v0, 0x70($s4) +/* BBD45C 802402BC 8E220000 */ lw $v0, ($s1) +/* BBD460 802402C0 2403FFFE */ addiu $v1, $zero, -2 +/* BBD464 802402C4 00431024 */ and $v0, $v0, $v1 +/* BBD468 802402C8 34420004 */ ori $v0, $v0, 4 +/* BBD46C 802402CC 080900E3 */ j .L8024038C +/* BBD470 802402D0 AE220000 */ sw $v0, ($s1) +/* BBD474 802402D4 8E220004 */ lw $v0, 4($s1) +/* BBD478 802402D8 2403FFFF */ addiu $v1, $zero, -1 +/* BBD47C 802402DC 2442FFFF */ addiu $v0, $v0, -1 +/* BBD480 802402E0 1443002A */ bne $v0, $v1, .L8024038C +/* BBD484 802402E4 AE220004 */ sw $v0, 4($s1) +/* BBD488 802402E8 2402000B */ addiu $v0, $zero, 0xb +/* BBD48C 802402EC 080900E3 */ j .L8024038C +/* BBD490 802402F0 AE820070 */ sw $v0, 0x70($s4) +/* BBD494 802402F4 0000202D */ daddu $a0, $zero, $zero +/* BBD498 802402F8 2403FFFB */ addiu $v1, $zero, -5 +/* BBD49C 802402FC C6200010 */ lwc1 $f0, 0x10($s1) +/* BBD4A0 80240300 3C014080 */ lui $at, 0x4080 +/* BBD4A4 80240304 44811000 */ mtc1 $at, $f2 +/* BBD4A8 80240308 8E220000 */ lw $v0, ($s1) +/* BBD4AC 8024030C 44802000 */ mtc1 $zero, $f4 +/* BBD4B0 80240310 46020000 */ add.s $f0, $f0, $f2 +/* BBD4B4 80240314 00431024 */ and $v0, $v0, $v1 +/* BBD4B8 80240318 AE220000 */ sw $v0, ($s1) +/* BBD4BC 8024031C 4600203E */ c.le.s $f4, $f0 +/* BBD4C0 80240320 00000000 */ nop +/* BBD4C4 80240324 45000003 */ bc1f .L80240334 +/* BBD4C8 80240328 E6200010 */ swc1 $f0, 0x10($s1) +/* BBD4CC 8024032C E6240010 */ swc1 $f4, 0x10($s1) +/* BBD4D0 80240330 24040001 */ addiu $a0, $zero, 1 +.L80240334: +/* BBD4D4 80240334 C6200018 */ lwc1 $f0, 0x18($s1) +/* BBD4D8 80240338 3C013E4C */ lui $at, 0x3e4c +/* BBD4DC 8024033C 3421CCCD */ ori $at, $at, 0xcccd +/* BBD4E0 80240340 44811000 */ mtc1 $at, $f2 +/* BBD4E4 80240344 00000000 */ nop +/* BBD4E8 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* BBD4EC 8024034C 4604003C */ c.lt.s $f0, $f4 +/* BBD4F0 80240350 00000000 */ nop +/* BBD4F4 80240354 45000007 */ bc1f .L80240374 +/* BBD4F8 80240358 E6200018 */ swc1 $f0, 0x18($s1) +/* BBD4FC 8024035C 24840001 */ addiu $a0, $a0, 1 +/* BBD500 80240360 8E220000 */ lw $v0, ($s1) +/* BBD504 80240364 2403FFFE */ addiu $v1, $zero, -2 +/* BBD508 80240368 E6240018 */ swc1 $f4, 0x18($s1) +/* BBD50C 8024036C 00431024 */ and $v0, $v0, $v1 +/* BBD510 80240370 AE220000 */ sw $v0, ($s1) +.L80240374: +/* BBD514 80240374 24020002 */ addiu $v0, $zero, 2 +/* BBD518 80240378 14820004 */ bne $a0, $v0, .L8024038C +/* BBD51C 8024037C 00000000 */ nop +/* BBD520 80240380 8E220008 */ lw $v0, 8($s1) +/* BBD524 80240384 AC400004 */ sw $zero, 4($v0) +/* BBD528 80240388 AE800070 */ sw $zero, 0x70($s4) +.L8024038C: +/* BBD52C 8024038C 8E220000 */ lw $v0, ($s1) +/* BBD530 80240390 30420001 */ andi $v0, $v0, 1 +/* BBD534 80240394 10400020 */ beqz $v0, .L80240418 +/* BBD538 80240398 00000000 */ nop +/* BBD53C 8024039C C620000C */ lwc1 $f0, 0xc($s1) +/* BBD540 802403A0 3C014066 */ lui $at, 0x4066 +/* BBD544 802403A4 34216666 */ ori $at, $at, 0x6666 +/* BBD548 802403A8 44816000 */ mtc1 $at, $f12 +/* BBD54C 802403AC 0C00A6C9 */ jal clamp_angle +/* BBD550 802403B0 460C0300 */ add.s $f12, $f0, $f12 +/* BBD554 802403B4 46000306 */ mov.s $f12, $f0 +/* BBD558 802403B8 0C00A8BB */ jal sin_deg +/* BBD55C 802403BC E62C000C */ swc1 $f12, 0xc($s1) +/* BBD560 802403C0 C6240014 */ lwc1 $f4, 0x14($s1) +/* BBD564 802403C4 44803000 */ mtc1 $zero, $f6 +/* BBD568 802403C8 C6220018 */ lwc1 $f2, 0x18($s1) +/* BBD56C 802403CC 46062032 */ c.eq.s $f4, $f6 +/* BBD570 802403D0 46020502 */ mul.s $f20, $f0, $f2 +/* BBD574 802403D4 00000000 */ nop +/* BBD578 802403D8 45000005 */ bc1f .L802403F0 +/* BBD57C 802403DC 00000000 */ nop +/* BBD580 802403E0 3C013F80 */ lui $at, 0x3f80 +/* BBD584 802403E4 44810000 */ mtc1 $at, $f0 +/* BBD588 802403E8 00000000 */ nop +/* BBD58C 802403EC E6200014 */ swc1 $f0, 0x14($s1) +.L802403F0: +/* BBD590 802403F0 C6200014 */ lwc1 $f0, 0x14($s1) +/* BBD594 802403F4 4600A002 */ mul.s $f0, $f20, $f0 +/* BBD598 802403F8 00000000 */ nop +/* BBD59C 802403FC 4606003E */ c.le.s $f0, $f6 +/* BBD5A0 80240400 00000000 */ nop +/* BBD5A4 80240404 45000003 */ bc1f .L80240414 +/* BBD5A8 80240408 2404009D */ addiu $a0, $zero, 0x9d +/* BBD5AC 8024040C 0C052736 */ jal play_sound_at_player +/* BBD5B0 80240410 0000282D */ daddu $a1, $zero, $zero +.L80240414: +/* BBD5B4 80240414 E6340014 */ swc1 $f20, 0x14($s1) +.L80240418: +/* BBD5B8 80240418 8E820078 */ lw $v0, 0x78($s4) +/* BBD5BC 8024041C 14400013 */ bnez $v0, .L8024046C +/* BBD5C0 80240420 00000000 */ nop +/* BBD5C4 80240424 C6200010 */ lwc1 $f0, 0x10($s1) +/* BBD5C8 80240428 46160032 */ c.eq.s $f0, $f22 +/* BBD5CC 8024042C 00000000 */ nop +/* BBD5D0 80240430 45010017 */ bc1t .L80240490 +/* BBD5D4 80240434 0280202D */ daddu $a0, $s4, $zero +/* BBD5D8 80240438 3C048000 */ lui $a0, 0x8000 +/* BBD5DC 8024043C 3C0643DC */ lui $a2, 0x43dc +/* BBD5E0 80240440 3C014387 */ lui $at, 0x4387 +/* BBD5E4 80240444 34218000 */ ori $at, $at, 0x8000 +/* BBD5E8 80240448 44810000 */ mtc1 $at, $f0 +/* BBD5EC 8024044C 3484000F */ ori $a0, $a0, 0xf +/* BBD5F0 80240450 E7A00010 */ swc1 $f0, 0x10($sp) +/* BBD5F4 80240454 8E270010 */ lw $a3, 0x10($s1) +/* BBD5F8 80240458 0C052757 */ jal play_sound_at_position +/* BBD5FC 8024045C 0000282D */ daddu $a1, $zero, $zero +/* BBD600 80240460 24020001 */ addiu $v0, $zero, 1 +/* BBD604 80240464 08090123 */ j .L8024048C +/* BBD608 80240468 AE820078 */ sw $v0, 0x78($s4) +.L8024046C: +/* BBD60C 8024046C C6200010 */ lwc1 $f0, 0x10($s1) +/* BBD610 80240470 46160032 */ c.eq.s $f0, $f22 +/* BBD614 80240474 00000000 */ nop +/* BBD618 80240478 45000004 */ bc1f .L8024048C +/* BBD61C 8024047C 3C048000 */ lui $a0, 0x8000 +/* BBD620 80240480 0C05271B */ jal stop_sound +/* BBD624 80240484 3484000F */ ori $a0, $a0, 0xf +/* BBD628 80240488 AE800078 */ sw $zero, 0x78($s4) +.L8024048C: +/* BBD62C 8024048C 0280202D */ daddu $a0, $s4, $zero +.L80240490: +/* BBD630 80240490 3C05FD05 */ lui $a1, 0xfd05 +/* BBD634 80240494 0C0B1EAF */ jal get_variable +/* BBD638 80240498 34A50F8B */ ori $a1, $a1, 0xf8b +/* BBD63C 8024049C 8E83007C */ lw $v1, 0x7c($s4) +/* BBD640 802404A0 14600015 */ bnez $v1, .L802404F8 +/* BBD644 802404A4 0040802D */ daddu $s0, $v0, $zero +/* BBD648 802404A8 8E820088 */ lw $v0, 0x88($s4) +/* BBD64C 802404AC 12020019 */ beq $s0, $v0, .L80240514 +/* BBD650 802404B0 2404006E */ addiu $a0, $zero, 0x6e +/* BBD654 802404B4 27A50058 */ addiu $a1, $sp, 0x58 +/* BBD658 802404B8 27A6005C */ addiu $a2, $sp, 0x5c +/* BBD65C 802404BC 0C016F84 */ jal get_collider_center +/* BBD660 802404C0 27A70060 */ addiu $a3, $sp, 0x60 +/* BBD664 802404C4 3C048000 */ lui $a0, 0x8000 +/* BBD668 802404C8 34840010 */ ori $a0, $a0, 0x10 +/* BBD66C 802404CC C7A00058 */ lwc1 $f0, 0x58($sp) +/* BBD670 802404D0 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* BBD674 802404D4 44060000 */ mfc1 $a2, $f0 +/* BBD678 802404D8 44071000 */ mfc1 $a3, $f2 +/* BBD67C 802404DC C7A00060 */ lwc1 $f0, 0x60($sp) +/* BBD680 802404E0 0000282D */ daddu $a1, $zero, $zero +/* BBD684 802404E4 0C052757 */ jal play_sound_at_position +/* BBD688 802404E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* BBD68C 802404EC 24020001 */ addiu $v0, $zero, 1 +/* BBD690 802404F0 08090145 */ j .L80240514 +/* BBD694 802404F4 AE82007C */ sw $v0, 0x7c($s4) +.L802404F8: +/* BBD698 802404F8 8E820088 */ lw $v0, 0x88($s4) +/* BBD69C 802404FC 56020006 */ bnel $s0, $v0, .L80240518 +/* BBD6A0 80240500 AE900088 */ sw $s0, 0x88($s4) +/* BBD6A4 80240504 3C048000 */ lui $a0, 0x8000 +/* BBD6A8 80240508 0C05271B */ jal stop_sound +/* BBD6AC 8024050C 34840010 */ ori $a0, $a0, 0x10 +/* BBD6B0 80240510 AE80007C */ sw $zero, 0x7c($s4) +.L80240514: +/* BBD6B4 80240514 AE900088 */ sw $s0, 0x88($s4) +.L80240518: +/* BBD6B8 80240518 26500058 */ addiu $s0, $s2, 0x58 +/* BBD6BC 8024051C C6200010 */ lwc1 $f0, 0x10($s1) +/* BBD6C0 80240520 3C014396 */ lui $at, 0x4396 +/* BBD6C4 80240524 4481B000 */ mtc1 $at, $f22 +/* BBD6C8 80240528 4480A000 */ mtc1 $zero, $f20 +/* BBD6CC 8024052C 46160001 */ sub.s $f0, $f0, $f22 +/* BBD6D0 80240530 4405A000 */ mfc1 $a1, $f20 +/* BBD6D4 80240534 4407A000 */ mfc1 $a3, $f20 +/* BBD6D8 80240538 44060000 */ mfc1 $a2, $f0 +/* BBD6DC 8024053C 0C019E40 */ jal guTranslateF +/* BBD6E0 80240540 0200202D */ daddu $a0, $s0, $zero +/* BBD6E4 80240544 4406A000 */ mfc1 $a2, $f20 +/* BBD6E8 80240548 4407A000 */ mfc1 $a3, $f20 +/* BBD6EC 8024054C 3C013F80 */ lui $at, 0x3f80 +/* BBD6F0 80240550 44810000 */ mtc1 $at, $f0 +/* BBD6F4 80240554 24130001 */ addiu $s3, $zero, 1 +/* BBD6F8 80240558 E7A00010 */ swc1 $f0, 0x10($sp) +/* BBD6FC 8024055C 8E250014 */ lw $a1, 0x14($s1) +/* BBD700 80240560 0C019EC8 */ jal guRotateF +/* BBD704 80240564 27A40018 */ addiu $a0, $sp, 0x18 +/* BBD708 80240568 0200202D */ daddu $a0, $s0, $zero +/* BBD70C 8024056C 27A50018 */ addiu $a1, $sp, 0x18 +/* BBD710 80240570 0C019D80 */ jal guMtxCatF +/* BBD714 80240574 0200302D */ daddu $a2, $s0, $zero +/* BBD718 80240578 27A40018 */ addiu $a0, $sp, 0x18 +/* BBD71C 8024057C 4405A000 */ mfc1 $a1, $f20 +/* BBD720 80240580 4406B000 */ mfc1 $a2, $f22 +/* BBD724 80240584 0C019E40 */ jal guTranslateF +/* BBD728 80240588 00A0382D */ daddu $a3, $a1, $zero +/* BBD72C 8024058C 0200202D */ daddu $a0, $s0, $zero +/* BBD730 80240590 27A50018 */ addiu $a1, $sp, 0x18 +/* BBD734 80240594 0C019D80 */ jal guMtxCatF +/* BBD738 80240598 0200302D */ daddu $a2, $s0, $zero +/* BBD73C 8024059C 2624001C */ addiu $a0, $s1, 0x1c +/* BBD740 802405A0 0200282D */ daddu $a1, $s0, $zero +/* BBD744 802405A4 0C019D80 */ jal guMtxCatF +/* BBD748 802405A8 00A0302D */ daddu $a2, $a1, $zero +/* BBD74C 802405AC 96420000 */ lhu $v0, ($s2) +/* BBD750 802405B0 26300004 */ addiu $s0, $s1, 4 +/* BBD754 802405B4 34421400 */ ori $v0, $v0, 0x1400 +/* BBD758 802405B8 A6420000 */ sh $v0, ($s2) +.L802405BC: +/* BBD75C 802405BC 8E05005C */ lw $a1, 0x5c($s0) +/* BBD760 802405C0 26440058 */ addiu $a0, $s2, 0x58 +/* BBD764 802405C4 0C00A5C8 */ jal copy_matrix +/* BBD768 802405C8 24A50058 */ addiu $a1, $a1, 0x58 +/* BBD76C 802405CC 8E03005C */ lw $v1, 0x5c($s0) +/* BBD770 802405D0 26730001 */ addiu $s3, $s3, 1 +/* BBD774 802405D4 94620000 */ lhu $v0, ($v1) +/* BBD778 802405D8 34421400 */ ori $v0, $v0, 0x1400 +/* BBD77C 802405DC A4620000 */ sh $v0, ($v1) +/* BBD780 802405E0 2A620004 */ slti $v0, $s3, 4 +/* BBD784 802405E4 1440FFF5 */ bnez $v0, .L802405BC +/* BBD788 802405E8 26100004 */ addiu $s0, $s0, 4 +/* BBD78C 802405EC 8E220000 */ lw $v0, ($s1) +/* BBD790 802405F0 30420002 */ andi $v0, $v0, 2 +/* BBD794 802405F4 10400021 */ beqz $v0, .L8024067C +/* BBD798 802405F8 00000000 */ nop +/* BBD79C 802405FC 0C00A8BB */ jal sin_deg +/* BBD7A0 80240600 C62C0014 */ lwc1 $f12, 0x14($s1) +/* BBD7A4 80240604 C6220010 */ lwc1 $f2, 0x10($s1) +/* BBD7A8 80240608 3C014396 */ lui $at, 0x4396 +/* BBD7AC 8024060C 4481A000 */ mtc1 $at, $f20 +/* BBD7B0 80240610 00000000 */ nop +/* BBD7B4 80240614 46141081 */ sub.s $f2, $f2, $f20 +/* BBD7B8 80240618 46000007 */ neg.s $f0, $f0 +/* BBD7BC 8024061C 46020002 */ mul.s $f0, $f0, $f2 +/* BBD7C0 80240620 00000000 */ nop +/* BBD7C4 80240624 3C0143DE */ lui $at, 0x43de +/* BBD7C8 80240628 34218000 */ ori $at, $at, 0x8000 +/* BBD7CC 8024062C 44811000 */ mtc1 $at, $f2 +/* BBD7D0 80240630 00000000 */ nop +/* BBD7D4 80240634 46020000 */ add.s $f0, $f0, $f2 +/* BBD7D8 80240638 E6A00028 */ swc1 $f0, 0x28($s5) +/* BBD7DC 8024063C 0C00A8D4 */ jal cos_deg +/* BBD7E0 80240640 C62C0014 */ lwc1 $f12, 0x14($s1) +/* BBD7E4 80240644 C6220010 */ lwc1 $f2, 0x10($s1) +/* BBD7E8 80240648 46141081 */ sub.s $f2, $f2, $f20 +/* BBD7EC 8024064C 46020002 */ mul.s $f0, $f0, $f2 +/* BBD7F0 80240650 00000000 */ nop +/* BBD7F4 80240654 3C014307 */ lui $at, 0x4307 +/* BBD7F8 80240658 44811000 */ mtc1 $at, $f2 +/* BBD7FC 8024065C 00000000 */ nop +/* BBD800 80240660 46020001 */ sub.s $f0, $f0, $f2 +/* BBD804 80240664 3C01438B */ lui $at, 0x438b +/* BBD808 80240668 34218000 */ ori $at, $at, 0x8000 +/* BBD80C 8024066C 44811000 */ mtc1 $at, $f2 +/* BBD810 80240670 46140000 */ add.s $f0, $f0, $f20 +/* BBD814 80240674 E6A20030 */ swc1 $f2, 0x30($s5) +/* BBD818 80240678 E6A0002C */ swc1 $f0, 0x2c($s5) +.L8024067C: +/* BBD81C 8024067C 8FBF0080 */ lw $ra, 0x80($sp) +/* BBD820 80240680 8FB5007C */ lw $s5, 0x7c($sp) +/* BBD824 80240684 8FB40078 */ lw $s4, 0x78($sp) +/* BBD828 80240688 8FB30074 */ lw $s3, 0x74($sp) +/* BBD82C 8024068C 8FB20070 */ lw $s2, 0x70($sp) +/* BBD830 80240690 8FB1006C */ lw $s1, 0x6c($sp) +/* BBD834 80240694 8FB00068 */ lw $s0, 0x68($sp) +/* BBD838 80240698 D7B60090 */ ldc1 $f22, 0x90($sp) +/* BBD83C 8024069C D7B40088 */ ldc1 $f20, 0x88($sp) +/* BBD840 802406A0 0000102D */ daddu $v0, $zero, $zero +/* BBD844 802406A4 03E00008 */ jr $ra +/* BBD848 802406A8 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_802406AC_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_802406AC_BBD1A0.s new file mode 100644 index 0000000000..c1922fc2d4 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_802406AC_BBD1A0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406AC_BBD84C +/* BBD84C 802406AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBD850 802406B0 AFB00010 */ sw $s0, 0x10($sp) +/* BBD854 802406B4 0080802D */ daddu $s0, $a0, $zero +/* BBD858 802406B8 AFBF0014 */ sw $ra, 0x14($sp) +/* BBD85C 802406BC 10A00005 */ beqz $a1, .L802406D4 +/* BBD860 802406C0 8E02000C */ lw $v0, 0xc($s0) +/* BBD864 802406C4 0C0B1EAF */ jal get_variable +/* BBD868 802406C8 8C450000 */ lw $a1, ($v0) +/* BBD86C 802406CC 8C420000 */ lw $v0, ($v0) +/* BBD870 802406D0 AE020074 */ sw $v0, 0x74($s0) +.L802406D4: +/* BBD874 802406D4 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* BBD878 802406D8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* BBD87C 802406DC 8C420010 */ lw $v0, 0x10($v0) +/* BBD880 802406E0 8E050074 */ lw $a1, 0x74($s0) +/* BBD884 802406E4 30428000 */ andi $v0, $v0, 0x8000 +/* BBD888 802406E8 1040000D */ beqz $v0, .L80240720 +/* BBD88C 802406EC 0000102D */ daddu $v0, $zero, $zero +/* BBD890 802406F0 8CA20000 */ lw $v0, ($a1) +/* BBD894 802406F4 30420004 */ andi $v0, $v0, 4 +/* BBD898 802406F8 10400003 */ beqz $v0, .L80240708 +/* BBD89C 802406FC 24020001 */ addiu $v0, $zero, 1 +/* BBD8A0 80240700 080901C3 */ j .L8024070C +/* BBD8A4 80240704 AE020084 */ sw $v0, 0x84($s0) +.L80240708: +/* BBD8A8 80240708 AE000084 */ sw $zero, 0x84($s0) +.L8024070C: +/* BBD8AC 8024070C 24020002 */ addiu $v0, $zero, 2 +/* BBD8B0 80240710 8CA30000 */ lw $v1, ($a1) +/* BBD8B4 80240714 2404FFFD */ addiu $a0, $zero, -3 +/* BBD8B8 80240718 00641824 */ and $v1, $v1, $a0 +/* BBD8BC 8024071C ACA30000 */ sw $v1, ($a1) +.L80240720: +/* BBD8C0 80240720 8FBF0014 */ lw $ra, 0x14($sp) +/* BBD8C4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* BBD8C8 80240728 03E00008 */ jr $ra +/* BBD8CC 8024072C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240730_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240730_BBD1A0.s new file mode 100644 index 0000000000..bc00429a24 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240730_BBD1A0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_BBD8D0 +/* BBD8D0 80240730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBD8D4 80240734 AFB00010 */ sw $s0, 0x10($sp) +/* BBD8D8 80240738 0080802D */ daddu $s0, $a0, $zero +/* BBD8DC 8024073C AFBF0014 */ sw $ra, 0x14($sp) +/* BBD8E0 80240740 10A00005 */ beqz $a1, .L80240758 +/* BBD8E4 80240744 8E02000C */ lw $v0, 0xc($s0) +/* BBD8E8 80240748 0C0B1EAF */ jal get_variable +/* BBD8EC 8024074C 8C450000 */ lw $a1, ($v0) +/* BBD8F0 80240750 8C420000 */ lw $v0, ($v0) +/* BBD8F4 80240754 AE020074 */ sw $v0, 0x74($s0) +.L80240758: +/* BBD8F8 80240758 8E040074 */ lw $a0, 0x74($s0) +/* BBD8FC 8024075C 8C830000 */ lw $v1, ($a0) +/* BBD900 80240760 30620004 */ andi $v0, $v1, 4 +/* BBD904 80240764 14400003 */ bnez $v0, .L80240774 +/* BBD908 80240768 2402FFFD */ addiu $v0, $zero, -3 +/* BBD90C 8024076C 080901E0 */ j .L80240780 +/* BBD910 80240770 0000102D */ daddu $v0, $zero, $zero +.L80240774: +/* BBD914 80240774 00621024 */ and $v0, $v1, $v0 +/* BBD918 80240778 AC820000 */ sw $v0, ($a0) +/* BBD91C 8024077C 24020002 */ addiu $v0, $zero, 2 +.L80240780: +/* BBD920 80240780 8FBF0014 */ lw $ra, 0x14($sp) +/* BBD924 80240784 8FB00010 */ lw $s0, 0x10($sp) +/* BBD928 80240788 03E00008 */ jr $ra +/* BBD92C 8024078C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240790_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240790_BBD1A0.s new file mode 100644 index 0000000000..9599187db8 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240790_BBD1A0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790_BBD930 +/* BBD930 80240790 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBD934 80240794 AFB00010 */ sw $s0, 0x10($sp) +/* BBD938 80240798 0080802D */ daddu $s0, $a0, $zero +/* BBD93C 8024079C AFBF0014 */ sw $ra, 0x14($sp) +/* BBD940 802407A0 0C04C3D6 */ jal get_item_entity +/* BBD944 802407A4 8E040084 */ lw $a0, 0x84($s0) +/* BBD948 802407A8 8E040084 */ lw $a0, 0x84($s0) +/* BBD94C 802407AC 0040802D */ daddu $s0, $v0, $zero +/* BBD950 802407B0 0C04D052 */ jal set_item_entity_flags +/* BBD954 802407B4 3C050008 */ lui $a1, 8 +/* BBD958 802407B8 240300FF */ addiu $v1, $zero, 0xff +/* BBD95C 802407BC A203002F */ sb $v1, 0x2f($s0) +/* BBD960 802407C0 8FBF0014 */ lw $ra, 0x14($sp) +/* BBD964 802407C4 8FB00010 */ lw $s0, 0x10($sp) +/* BBD968 802407C8 24020002 */ addiu $v0, $zero, 2 +/* BBD96C 802407CC 03E00008 */ jr $ra +/* BBD970 802407D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* BBD974 802407D4 00000000 */ nop +/* BBD978 802407D8 00000000 */ nop +/* BBD97C 802407DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_802407E0_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_802407E0_BBD1A0.s new file mode 100644 index 0000000000..52c42ec114 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_802407E0_BBD1A0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407E0_BBD980 +/* BBD980 802407E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBD984 802407E4 AFB00010 */ sw $s0, 0x10($sp) +/* BBD988 802407E8 3C108024 */ lui $s0, 0x8024 +/* BBD98C 802407EC 261040F0 */ addiu $s0, $s0, 0x40f0 +/* BBD990 802407F0 AFBF0018 */ sw $ra, 0x18($sp) +/* BBD994 802407F4 AFB10014 */ sw $s1, 0x14($sp) +/* BBD998 802407F8 8E020000 */ lw $v0, ($s0) +/* BBD99C 802407FC 14400010 */ bnez $v0, .L80240840 +/* BBD9A0 80240800 0080882D */ daddu $s1, $a0, $zero +/* BBD9A4 80240804 0C00AB39 */ jal heap_malloc +/* BBD9A8 80240808 24040040 */ addiu $a0, $zero, 0x40 +/* BBD9AC 8024080C AE020000 */ sw $v0, ($s0) +/* BBD9B0 80240810 0000182D */ daddu $v1, $zero, $zero +/* BBD9B4 80240814 0040282D */ daddu $a1, $v0, $zero +/* BBD9B8 80240818 0220202D */ daddu $a0, $s1, $zero +.L8024081C: +/* BBD9BC 8024081C 8C820084 */ lw $v0, 0x84($a0) +/* BBD9C0 80240820 24840004 */ addiu $a0, $a0, 4 +/* BBD9C4 80240824 24630001 */ addiu $v1, $v1, 1 +/* BBD9C8 80240828 ACA20000 */ sw $v0, ($a1) +/* BBD9CC 8024082C 28620010 */ slti $v0, $v1, 0x10 +/* BBD9D0 80240830 1440FFFA */ bnez $v0, .L8024081C +/* BBD9D4 80240834 24A50004 */ addiu $a1, $a1, 4 +/* BBD9D8 80240838 0809021F */ j .L8024087C +/* BBD9DC 8024083C 00000000 */ nop +.L80240840: +/* BBD9E0 80240840 0000182D */ daddu $v1, $zero, $zero +/* BBD9E4 80240844 0040282D */ daddu $a1, $v0, $zero +/* BBD9E8 80240848 0220202D */ daddu $a0, $s1, $zero +.L8024084C: +/* BBD9EC 8024084C 8CA20000 */ lw $v0, ($a1) +/* BBD9F0 80240850 24A50004 */ addiu $a1, $a1, 4 +/* BBD9F4 80240854 24630001 */ addiu $v1, $v1, 1 +/* BBD9F8 80240858 AC820084 */ sw $v0, 0x84($a0) +/* BBD9FC 8024085C 28620010 */ slti $v0, $v1, 0x10 +/* BBDA00 80240860 1440FFFA */ bnez $v0, .L8024084C +/* BBDA04 80240864 24840004 */ addiu $a0, $a0, 4 +/* BBDA08 80240868 3C108024 */ lui $s0, 0x8024 +/* BBDA0C 8024086C 261040F0 */ addiu $s0, $s0, 0x40f0 +/* BBDA10 80240870 0C00AB4B */ jal heap_free +/* BBDA14 80240874 8E040000 */ lw $a0, ($s0) +/* BBDA18 80240878 AE000000 */ sw $zero, ($s0) +.L8024087C: +/* BBDA1C 8024087C 8FBF0018 */ lw $ra, 0x18($sp) +/* BBDA20 80240880 8FB10014 */ lw $s1, 0x14($sp) +/* BBDA24 80240884 8FB00010 */ lw $s0, 0x10($sp) +/* BBDA28 80240888 24020002 */ addiu $v0, $zero, 2 +/* BBDA2C 8024088C 03E00008 */ jr $ra +/* BBDA30 80240890 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240894.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240894.s new file mode 100644 index 0000000000..b878cc181b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240894.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240894 +/* BBDA34 80240894 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBDA38 80240898 AFB00010 */ sw $s0, 0x10($sp) +/* BBDA3C 8024089C 0080802D */ daddu $s0, $a0, $zero +/* BBDA40 802408A0 AFBF0018 */ sw $ra, 0x18($sp) +/* BBDA44 802408A4 AFB10014 */ sw $s1, 0x14($sp) +/* BBDA48 802408A8 8E02000C */ lw $v0, 0xc($s0) +/* BBDA4C 802408AC 8C510000 */ lw $s1, ($v0) +/* BBDA50 802408B0 0C0B1EAF */ jal get_variable +/* BBDA54 802408B4 0220282D */ daddu $a1, $s1, $zero +/* BBDA58 802408B8 3C03FFF0 */ lui $v1, 0xfff0 +/* BBDA5C 802408BC 3463FFFF */ ori $v1, $v1, 0xffff +/* BBDA60 802408C0 0200202D */ daddu $a0, $s0, $zero +/* BBDA64 802408C4 00431024 */ and $v0, $v0, $v1 +/* BBDA68 802408C8 00021140 */ sll $v0, $v0, 5 +/* BBDA6C 802408CC 3C068008 */ lui $a2, %hi(gItemTable) +/* BBDA70 802408D0 00C23021 */ addu $a2, $a2, $v0 +/* BBDA74 802408D4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* BBDA78 802408D8 0C0B2026 */ jal set_variable +/* BBDA7C 802408DC 0220282D */ daddu $a1, $s1, $zero +/* BBDA80 802408E0 8FBF0018 */ lw $ra, 0x18($sp) +/* BBDA84 802408E4 8FB10014 */ lw $s1, 0x14($sp) +/* BBDA88 802408E8 8FB00010 */ lw $s0, 0x10($sp) +/* BBDA8C 802408EC 24020002 */ addiu $v0, $zero, 2 +/* BBDA90 802408F0 03E00008 */ jr $ra +/* BBDA94 802408F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_802408F8_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_802408F8_BBD1A0.s new file mode 100644 index 0000000000..5fc8caee7b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_802408F8_BBD1A0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F8_BBDA98 +/* BBDA98 802408F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBDA9C 802408FC AFB10014 */ sw $s1, 0x14($sp) +/* BBDAA0 80240900 0080882D */ daddu $s1, $a0, $zero +/* BBDAA4 80240904 AFBF0018 */ sw $ra, 0x18($sp) +/* BBDAA8 80240908 AFB00010 */ sw $s0, 0x10($sp) +/* BBDAAC 8024090C 8E30000C */ lw $s0, 0xc($s1) +/* BBDAB0 80240910 8E050000 */ lw $a1, ($s0) +/* BBDAB4 80240914 0C0B1EAF */ jal get_variable +/* BBDAB8 80240918 26100004 */ addiu $s0, $s0, 4 +/* BBDABC 8024091C 0C00EAD2 */ jal get_npc_safe +/* BBDAC0 80240920 0040202D */ daddu $a0, $v0, $zero +/* BBDAC4 80240924 10400005 */ beqz $v0, .L8024093C +/* BBDAC8 80240928 00000000 */ nop +/* BBDACC 8024092C 8E050000 */ lw $a1, ($s0) +/* BBDAD0 80240930 844600A8 */ lh $a2, 0xa8($v0) +/* BBDAD4 80240934 0C0B2026 */ jal set_variable +/* BBDAD8 80240938 0220202D */ daddu $a0, $s1, $zero +.L8024093C: +/* BBDADC 8024093C 8FBF0018 */ lw $ra, 0x18($sp) +/* BBDAE0 80240940 8FB10014 */ lw $s1, 0x14($sp) +/* BBDAE4 80240944 8FB00010 */ lw $s0, 0x10($sp) +/* BBDAE8 80240948 24020002 */ addiu $v0, $zero, 2 +/* BBDAEC 8024094C 03E00008 */ jr $ra +/* BBDAF0 80240950 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240954_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240954_BBD1A0.s new file mode 100644 index 0000000000..b14d1204c4 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240954_BBD1A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240954_BBDAF4 +/* BBDAF4 80240954 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BBDAF8 80240958 AFB10014 */ sw $s1, 0x14($sp) +/* BBDAFC 8024095C 0080882D */ daddu $s1, $a0, $zero +/* BBDB00 80240960 AFBF0024 */ sw $ra, 0x24($sp) +/* BBDB04 80240964 AFB40020 */ sw $s4, 0x20($sp) +/* BBDB08 80240968 AFB3001C */ sw $s3, 0x1c($sp) +/* BBDB0C 8024096C AFB20018 */ sw $s2, 0x18($sp) +/* BBDB10 80240970 AFB00010 */ sw $s0, 0x10($sp) +/* BBDB14 80240974 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* BBDB18 80240978 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* BBDB1C 8024097C F7B80038 */ sdc1 $f24, 0x38($sp) +/* BBDB20 80240980 F7B60030 */ sdc1 $f22, 0x30($sp) +/* BBDB24 80240984 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BBDB28 80240988 8E30000C */ lw $s0, 0xc($s1) +/* BBDB2C 8024098C 8E130000 */ lw $s3, ($s0) +/* BBDB30 80240990 26100004 */ addiu $s0, $s0, 4 +/* BBDB34 80240994 0C0B1EAF */ jal get_variable +/* BBDB38 80240998 0260282D */ daddu $a1, $s3, $zero +/* BBDB3C 8024099C 4482E000 */ mtc1 $v0, $f28 +/* BBDB40 802409A0 00000000 */ nop +/* BBDB44 802409A4 4680E720 */ cvt.s.w $f28, $f28 +/* BBDB48 802409A8 8E140000 */ lw $s4, ($s0) +/* BBDB4C 802409AC 26100004 */ addiu $s0, $s0, 4 +/* BBDB50 802409B0 0220202D */ daddu $a0, $s1, $zero +/* BBDB54 802409B4 0C0B1EAF */ jal get_variable +/* BBDB58 802409B8 0280282D */ daddu $a1, $s4, $zero +/* BBDB5C 802409BC 4482D000 */ mtc1 $v0, $f26 +/* BBDB60 802409C0 00000000 */ nop +/* BBDB64 802409C4 4680D6A0 */ cvt.s.w $f26, $f26 +/* BBDB68 802409C8 8E100000 */ lw $s0, ($s0) +/* BBDB6C 802409CC 0220202D */ daddu $a0, $s1, $zero +/* BBDB70 802409D0 0C0B1EAF */ jal get_variable +/* BBDB74 802409D4 0200282D */ daddu $a1, $s0, $zero +/* BBDB78 802409D8 4482C000 */ mtc1 $v0, $f24 +/* BBDB7C 802409DC 00000000 */ nop +/* BBDB80 802409E0 4680C620 */ cvt.s.w $f24, $f24 +/* BBDB84 802409E4 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* BBDB88 802409E8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* BBDB8C 802409EC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BBDB90 802409F0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BBDB94 802409F4 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* BBDB98 802409F8 44800000 */ mtc1 $zero, $f0 +/* BBDB9C 802409FC 00031080 */ sll $v0, $v1, 2 +/* BBDBA0 80240A00 00431021 */ addu $v0, $v0, $v1 +/* BBDBA4 80240A04 00021080 */ sll $v0, $v0, 2 +/* BBDBA8 80240A08 00431023 */ subu $v0, $v0, $v1 +/* BBDBAC 80240A0C 000218C0 */ sll $v1, $v0, 3 +/* BBDBB0 80240A10 00431021 */ addu $v0, $v0, $v1 +/* BBDBB4 80240A14 000210C0 */ sll $v0, $v0, 3 +/* BBDBB8 80240A18 46001032 */ c.eq.s $f2, $f0 +/* BBDBBC 80240A1C 3C01800B */ lui $at, 0x800b +/* BBDBC0 80240A20 00220821 */ addu $at, $at, $v0 +/* BBDBC4 80240A24 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* BBDBC8 80240A28 45000005 */ bc1f .L80240A40 +/* BBDBCC 80240A2C 00000000 */ nop +/* BBDBD0 80240A30 3C0142C8 */ lui $at, 0x42c8 +/* BBDBD4 80240A34 44810000 */ mtc1 $at, $f0 +/* BBDBD8 80240A38 08090294 */ j .L80240A50 +/* BBDBDC 80240A3C 4600B581 */ sub.s $f22, $f22, $f0 +.L80240A40: +/* BBDBE0 80240A40 3C0142C8 */ lui $at, 0x42c8 +/* BBDBE4 80240A44 44810000 */ mtc1 $at, $f0 +/* BBDBE8 80240A48 00000000 */ nop +/* BBDBEC 80240A4C 4600B580 */ add.s $f22, $f22, $f0 +.L80240A50: +/* BBDBF0 80240A50 0C00A6C9 */ jal clamp_angle +/* BBDBF4 80240A54 4600B306 */ mov.s $f12, $f22 +/* BBDBF8 80240A58 46000586 */ mov.s $f22, $f0 +/* BBDBFC 80240A5C 3C014170 */ lui $at, 0x4170 +/* BBDC00 80240A60 4481A000 */ mtc1 $at, $f20 +/* BBDC04 80240A64 0C00A8BB */ jal sin_deg +/* BBDC08 80240A68 4600B306 */ mov.s $f12, $f22 +/* BBDC0C 80240A6C 46140002 */ mul.s $f0, $f0, $f20 +/* BBDC10 80240A70 00000000 */ nop +/* BBDC14 80240A74 864200B0 */ lh $v0, 0xb0($s2) +/* BBDC18 80240A78 3C013F00 */ lui $at, 0x3f00 +/* BBDC1C 80240A7C 44812000 */ mtc1 $at, $f4 +/* BBDC20 80240A80 44821000 */ mtc1 $v0, $f2 +/* BBDC24 80240A84 00000000 */ nop +/* BBDC28 80240A88 468010A0 */ cvt.s.w $f2, $f2 +/* BBDC2C 80240A8C 46041082 */ mul.s $f2, $f2, $f4 +/* BBDC30 80240A90 00000000 */ nop +/* BBDC34 80240A94 4600E700 */ add.s $f28, $f28, $f0 +/* BBDC38 80240A98 4602D680 */ add.s $f26, $f26, $f2 +/* BBDC3C 80240A9C 0C00A8D4 */ jal cos_deg +/* BBDC40 80240AA0 4600B306 */ mov.s $f12, $f22 +/* BBDC44 80240AA4 46140002 */ mul.s $f0, $f0, $f20 +/* BBDC48 80240AA8 00000000 */ nop +/* BBDC4C 80240AAC 0220202D */ daddu $a0, $s1, $zero +/* BBDC50 80240AB0 0260282D */ daddu $a1, $s3, $zero +/* BBDC54 80240AB4 4600E18D */ trunc.w.s $f6, $f28 +/* BBDC58 80240AB8 44063000 */ mfc1 $a2, $f6 +/* BBDC5C 80240ABC 0C0B2026 */ jal set_variable +/* BBDC60 80240AC0 4600C601 */ sub.s $f24, $f24, $f0 +/* BBDC64 80240AC4 0220202D */ daddu $a0, $s1, $zero +/* BBDC68 80240AC8 4600D18D */ trunc.w.s $f6, $f26 +/* BBDC6C 80240ACC 44063000 */ mfc1 $a2, $f6 +/* BBDC70 80240AD0 0C0B2026 */ jal set_variable +/* BBDC74 80240AD4 0280282D */ daddu $a1, $s4, $zero +/* BBDC78 80240AD8 0220202D */ daddu $a0, $s1, $zero +/* BBDC7C 80240ADC 4600C18D */ trunc.w.s $f6, $f24 +/* BBDC80 80240AE0 44063000 */ mfc1 $a2, $f6 +/* BBDC84 80240AE4 0C0B2026 */ jal set_variable +/* BBDC88 80240AE8 0200282D */ daddu $a1, $s0, $zero +/* BBDC8C 80240AEC 8FBF0024 */ lw $ra, 0x24($sp) +/* BBDC90 80240AF0 8FB40020 */ lw $s4, 0x20($sp) +/* BBDC94 80240AF4 8FB3001C */ lw $s3, 0x1c($sp) +/* BBDC98 80240AF8 8FB20018 */ lw $s2, 0x18($sp) +/* BBDC9C 80240AFC 8FB10014 */ lw $s1, 0x14($sp) +/* BBDCA0 80240B00 8FB00010 */ lw $s0, 0x10($sp) +/* BBDCA4 80240B04 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* BBDCA8 80240B08 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* BBDCAC 80240B0C D7B80038 */ ldc1 $f24, 0x38($sp) +/* BBDCB0 80240B10 D7B60030 */ ldc1 $f22, 0x30($sp) +/* BBDCB4 80240B14 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BBDCB8 80240B18 24020002 */ addiu $v0, $zero, 2 +/* BBDCBC 80240B1C 03E00008 */ jr $ra +/* BBDCC0 80240B20 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240B24.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240B24.s new file mode 100644 index 0000000000..4ff6deb10c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240B24.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B24 +/* BBDCC4 80240B24 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBDCC8 80240B28 AFBF0010 */ sw $ra, 0x10($sp) +/* BBDCCC 80240B2C 10A00003 */ beqz $a1, .L80240B3C +/* BBDCD0 80240B30 8C86000C */ lw $a2, 0xc($a0) +/* BBDCD4 80240B34 3C018024 */ lui $at, 0x8024 +/* BBDCD8 80240B38 AC204154 */ sw $zero, 0x4154($at) +.L80240B3C: +/* BBDCDC 80240B3C 3C038024 */ lui $v1, 0x8024 +/* BBDCE0 80240B40 24634154 */ addiu $v1, $v1, 0x4154 +/* BBDCE4 80240B44 8C620000 */ lw $v0, ($v1) +/* BBDCE8 80240B48 54400003 */ bnel $v0, $zero, .L80240B58 +/* BBDCEC 80240B4C AC600000 */ sw $zero, ($v1) +/* BBDCF0 80240B50 080902DB */ j .L80240B6C +/* BBDCF4 80240B54 0000102D */ daddu $v0, $zero, $zero +.L80240B58: +/* BBDCF8 80240B58 8CC50000 */ lw $a1, ($a2) +/* BBDCFC 80240B5C 3C068024 */ lui $a2, 0x8024 +/* BBDD00 80240B60 0C0B2026 */ jal set_variable +/* BBDD04 80240B64 8CC64158 */ lw $a2, 0x4158($a2) +/* BBDD08 80240B68 24020002 */ addiu $v0, $zero, 2 +.L80240B6C: +/* BBDD0C 80240B6C 8FBF0010 */ lw $ra, 0x10($sp) +/* BBDD10 80240B70 03E00008 */ jr $ra +/* BBDD14 80240B74 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240B78_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240B78_BBD1A0.s new file mode 100644 index 0000000000..6bd28a215c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240B78_BBD1A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B78_BBDD18 +/* BBDD18 80240B78 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBDD1C 80240B7C AFBF0010 */ sw $ra, 0x10($sp) +/* BBDD20 80240B80 8C82000C */ lw $v0, 0xc($a0) +/* BBDD24 80240B84 0C0B1EAF */ jal get_variable +/* BBDD28 80240B88 8C450000 */ lw $a1, ($v0) +/* BBDD2C 80240B8C 3C018024 */ lui $at, 0x8024 +/* BBDD30 80240B90 AC224158 */ sw $v0, 0x4158($at) +/* BBDD34 80240B94 24020002 */ addiu $v0, $zero, 2 +/* BBDD38 80240B98 8FBF0010 */ lw $ra, 0x10($sp) +/* BBDD3C 80240B9C 24030001 */ addiu $v1, $zero, 1 +/* BBDD40 80240BA0 3C018024 */ lui $at, 0x8024 +/* BBDD44 80240BA4 AC234154 */ sw $v1, 0x4154($at) +/* BBDD48 80240BA8 03E00008 */ jr $ra +/* BBDD4C 80240BAC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240BB0_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240BB0_BBD1A0.s new file mode 100644 index 0000000000..a263d867d1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240BB0_BBD1A0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB0_BBDD50 +/* BBDD50 80240BB0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBDD54 80240BB4 AFBF0010 */ sw $ra, 0x10($sp) +/* BBDD58 80240BB8 8C82000C */ lw $v0, 0xc($a0) +/* BBDD5C 80240BBC 0C0B1EAF */ jal get_variable +/* BBDD60 80240BC0 8C450000 */ lw $a1, ($v0) +/* BBDD64 80240BC4 0040182D */ daddu $v1, $v0, $zero +/* BBDD68 80240BC8 10600012 */ beqz $v1, .L80240C14 +/* BBDD6C 80240BCC 0000202D */ daddu $a0, $zero, $zero +/* BBDD70 80240BD0 8C620000 */ lw $v0, ($v1) +/* BBDD74 80240BD4 5040000A */ beql $v0, $zero, .L80240C00 +/* BBDD78 80240BD8 00041080 */ sll $v0, $a0, 2 +/* BBDD7C 80240BDC 3C058024 */ lui $a1, 0x8024 +/* BBDD80 80240BE0 24A558F0 */ addiu $a1, $a1, 0x58f0 +.L80240BE4: +/* BBDD84 80240BE4 24630004 */ addiu $v1, $v1, 4 +/* BBDD88 80240BE8 24840001 */ addiu $a0, $a0, 1 +/* BBDD8C 80240BEC ACA20000 */ sw $v0, ($a1) +/* BBDD90 80240BF0 8C620000 */ lw $v0, ($v1) +/* BBDD94 80240BF4 1440FFFB */ bnez $v0, .L80240BE4 +/* BBDD98 80240BF8 24A50004 */ addiu $a1, $a1, 4 +/* BBDD9C 80240BFC 00041080 */ sll $v0, $a0, 2 +.L80240C00: +/* BBDDA0 80240C00 3C018024 */ lui $at, 0x8024 +/* BBDDA4 80240C04 00220821 */ addu $at, $at, $v0 +/* BBDDA8 80240C08 AC2058F0 */ sw $zero, 0x58f0($at) +/* BBDDAC 80240C0C 0809030F */ j .L80240C3C +/* BBDDB0 80240C10 00000000 */ nop +.L80240C14: +/* BBDDB4 80240C14 3C038024 */ lui $v1, 0x8024 +/* BBDDB8 80240C18 246358F0 */ addiu $v1, $v1, 0x58f0 +/* BBDDBC 80240C1C 0060282D */ daddu $a1, $v1, $zero +.L80240C20: +/* BBDDC0 80240C20 24820010 */ addiu $v0, $a0, 0x10 +/* BBDDC4 80240C24 AC620000 */ sw $v0, ($v1) +/* BBDDC8 80240C28 24630004 */ addiu $v1, $v1, 4 +/* BBDDCC 80240C2C 24840001 */ addiu $a0, $a0, 1 +/* BBDDD0 80240C30 28820070 */ slti $v0, $a0, 0x70 +/* BBDDD4 80240C34 1440FFFA */ bnez $v0, .L80240C20 +/* BBDDD8 80240C38 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240C3C: +/* BBDDDC 80240C3C 8FBF0010 */ lw $ra, 0x10($sp) +/* BBDDE0 80240C40 24020002 */ addiu $v0, $zero, 2 +/* BBDDE4 80240C44 03E00008 */ jr $ra +/* BBDDE8 80240C48 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240C4C_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240C4C_BBD1A0.s new file mode 100644 index 0000000000..92ce7605a0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240C4C_BBD1A0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C4C_BBDDEC +/* BBDDEC 80240C4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBDDF0 80240C50 AFB10014 */ sw $s1, 0x14($sp) +/* BBDDF4 80240C54 0080882D */ daddu $s1, $a0, $zero +/* BBDDF8 80240C58 AFBF0018 */ sw $ra, 0x18($sp) +/* BBDDFC 80240C5C AFB00010 */ sw $s0, 0x10($sp) +/* BBDE00 80240C60 8E30000C */ lw $s0, 0xc($s1) +/* BBDE04 80240C64 8E050000 */ lw $a1, ($s0) +/* BBDE08 80240C68 0C0B1EAF */ jal get_variable +/* BBDE0C 80240C6C 26100004 */ addiu $s0, $s0, 4 +/* BBDE10 80240C70 AE22008C */ sw $v0, 0x8c($s1) +/* BBDE14 80240C74 8E050000 */ lw $a1, ($s0) +/* BBDE18 80240C78 26100004 */ addiu $s0, $s0, 4 +/* BBDE1C 80240C7C 0C0B1EAF */ jal get_variable +/* BBDE20 80240C80 0220202D */ daddu $a0, $s1, $zero +/* BBDE24 80240C84 AE220090 */ sw $v0, 0x90($s1) +/* BBDE28 80240C88 8E050000 */ lw $a1, ($s0) +/* BBDE2C 80240C8C 26100004 */ addiu $s0, $s0, 4 +/* BBDE30 80240C90 0C0B1EAF */ jal get_variable +/* BBDE34 80240C94 0220202D */ daddu $a0, $s1, $zero +/* BBDE38 80240C98 AE220094 */ sw $v0, 0x94($s1) +/* BBDE3C 80240C9C 8E050000 */ lw $a1, ($s0) +/* BBDE40 80240CA0 26100004 */ addiu $s0, $s0, 4 +/* BBDE44 80240CA4 0C0B1EAF */ jal get_variable +/* BBDE48 80240CA8 0220202D */ daddu $a0, $s1, $zero +/* BBDE4C 80240CAC AE220098 */ sw $v0, 0x98($s1) +/* BBDE50 80240CB0 8E050000 */ lw $a1, ($s0) +/* BBDE54 80240CB4 26100004 */ addiu $s0, $s0, 4 +/* BBDE58 80240CB8 0C0B1EAF */ jal get_variable +/* BBDE5C 80240CBC 0220202D */ daddu $a0, $s1, $zero +/* BBDE60 80240CC0 AE22009C */ sw $v0, 0x9c($s1) +/* BBDE64 80240CC4 8E050000 */ lw $a1, ($s0) +/* BBDE68 80240CC8 26100004 */ addiu $s0, $s0, 4 +/* BBDE6C 80240CCC 0C0B1EAF */ jal get_variable +/* BBDE70 80240CD0 0220202D */ daddu $a0, $s1, $zero +/* BBDE74 80240CD4 AE2200A0 */ sw $v0, 0xa0($s1) +/* BBDE78 80240CD8 8E050000 */ lw $a1, ($s0) +/* BBDE7C 80240CDC 26100004 */ addiu $s0, $s0, 4 +/* BBDE80 80240CE0 0C0B1EAF */ jal get_variable +/* BBDE84 80240CE4 0220202D */ daddu $a0, $s1, $zero +/* BBDE88 80240CE8 AE2200A4 */ sw $v0, 0xa4($s1) +/* BBDE8C 80240CEC 8E050000 */ lw $a1, ($s0) +/* BBDE90 80240CF0 26100004 */ addiu $s0, $s0, 4 +/* BBDE94 80240CF4 0C0B1EAF */ jal get_variable +/* BBDE98 80240CF8 0220202D */ daddu $a0, $s1, $zero +/* BBDE9C 80240CFC AE2200A8 */ sw $v0, 0xa8($s1) +/* BBDEA0 80240D00 8E050000 */ lw $a1, ($s0) +/* BBDEA4 80240D04 26100004 */ addiu $s0, $s0, 4 +/* BBDEA8 80240D08 0C0B1EAF */ jal get_variable +/* BBDEAC 80240D0C 0220202D */ daddu $a0, $s1, $zero +/* BBDEB0 80240D10 AE2200AC */ sw $v0, 0xac($s1) +/* BBDEB4 80240D14 8E050000 */ lw $a1, ($s0) +/* BBDEB8 80240D18 0C0B1EAF */ jal get_variable +/* BBDEBC 80240D1C 0220202D */ daddu $a0, $s1, $zero +/* BBDEC0 80240D20 AE2200B0 */ sw $v0, 0xb0($s1) +/* BBDEC4 80240D24 8FBF0018 */ lw $ra, 0x18($sp) +/* BBDEC8 80240D28 8FB10014 */ lw $s1, 0x14($sp) +/* BBDECC 80240D2C 8FB00010 */ lw $s0, 0x10($sp) +/* BBDED0 80240D30 24020002 */ addiu $v0, $zero, 2 +/* BBDED4 80240D34 03E00008 */ jr $ra +/* BBDED8 80240D38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240D3C_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240D3C_BBD1A0.s new file mode 100644 index 0000000000..89154a92b1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240D3C_BBD1A0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_BBDEDC +/* BBDEDC 80240D3C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BBDEE0 80240D40 AFB1001C */ sw $s1, 0x1c($sp) +/* BBDEE4 80240D44 0080882D */ daddu $s1, $a0, $zero +/* BBDEE8 80240D48 AFBF0034 */ sw $ra, 0x34($sp) +/* BBDEEC 80240D4C AFB60030 */ sw $s6, 0x30($sp) +/* BBDEF0 80240D50 AFB5002C */ sw $s5, 0x2c($sp) +/* BBDEF4 80240D54 AFB40028 */ sw $s4, 0x28($sp) +/* BBDEF8 80240D58 AFB30024 */ sw $s3, 0x24($sp) +/* BBDEFC 80240D5C AFB20020 */ sw $s2, 0x20($sp) +/* BBDF00 80240D60 AFB00018 */ sw $s0, 0x18($sp) +/* BBDF04 80240D64 F7B60040 */ sdc1 $f22, 0x40($sp) +/* BBDF08 80240D68 F7B40038 */ sdc1 $f20, 0x38($sp) +/* BBDF0C 80240D6C 8E30000C */ lw $s0, 0xc($s1) +/* BBDF10 80240D70 8E160000 */ lw $s6, ($s0) +/* BBDF14 80240D74 26100004 */ addiu $s0, $s0, 4 +/* BBDF18 80240D78 0C0B1EAF */ jal get_variable +/* BBDF1C 80240D7C 02C0282D */ daddu $a1, $s6, $zero +/* BBDF20 80240D80 44820000 */ mtc1 $v0, $f0 +/* BBDF24 80240D84 00000000 */ nop +/* BBDF28 80240D88 46800020 */ cvt.s.w $f0, $f0 +/* BBDF2C 80240D8C E7A00010 */ swc1 $f0, 0x10($sp) +/* BBDF30 80240D90 8E140000 */ lw $s4, ($s0) +/* BBDF34 80240D94 26100004 */ addiu $s0, $s0, 4 +/* BBDF38 80240D98 0220202D */ daddu $a0, $s1, $zero +/* BBDF3C 80240D9C 0C0B1EAF */ jal get_variable +/* BBDF40 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* BBDF44 80240DA4 0220202D */ daddu $a0, $s1, $zero +/* BBDF48 80240DA8 8E150000 */ lw $s5, ($s0) +/* BBDF4C 80240DAC 4482B000 */ mtc1 $v0, $f22 +/* BBDF50 80240DB0 00000000 */ nop +/* BBDF54 80240DB4 4680B5A0 */ cvt.s.w $f22, $f22 +/* BBDF58 80240DB8 0C0B1EAF */ jal get_variable +/* BBDF5C 80240DBC 02A0282D */ daddu $a1, $s5, $zero +/* BBDF60 80240DC0 2404FFFC */ addiu $a0, $zero, -4 +/* BBDF64 80240DC4 44820000 */ mtc1 $v0, $f0 +/* BBDF68 80240DC8 00000000 */ nop +/* BBDF6C 80240DCC 46800020 */ cvt.s.w $f0, $f0 +/* BBDF70 80240DD0 0C00EABB */ jal get_npc_unsafe +/* BBDF74 80240DD4 E7A00014 */ swc1 $f0, 0x14($sp) +/* BBDF78 80240DD8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* BBDF7C 80240DDC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* BBDF80 80240DE0 3C014334 */ lui $at, 0x4334 +/* BBDF84 80240DE4 44816000 */ mtc1 $at, $f12 +/* BBDF88 80240DE8 00041880 */ sll $v1, $a0, 2 +/* BBDF8C 80240DEC 00641821 */ addu $v1, $v1, $a0 +/* BBDF90 80240DF0 00031880 */ sll $v1, $v1, 2 +/* BBDF94 80240DF4 00641823 */ subu $v1, $v1, $a0 +/* BBDF98 80240DF8 000320C0 */ sll $a0, $v1, 3 +/* BBDF9C 80240DFC 00641821 */ addu $v1, $v1, $a0 +/* BBDFA0 80240E00 000318C0 */ sll $v1, $v1, 3 +/* BBDFA4 80240E04 3C01800B */ lui $at, 0x800b +/* BBDFA8 80240E08 00230821 */ addu $at, $at, $v1 +/* BBDFAC 80240E0C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BBDFB0 80240E10 460C0300 */ add.s $f12, $f0, $f12 +/* BBDFB4 80240E14 0C00A6C9 */ jal clamp_angle +/* BBDFB8 80240E18 0040982D */ daddu $s3, $v0, $zero +/* BBDFBC 80240E1C 27B00010 */ addiu $s0, $sp, 0x10 +/* BBDFC0 80240E20 0200202D */ daddu $a0, $s0, $zero +/* BBDFC4 80240E24 27B20014 */ addiu $s2, $sp, 0x14 +/* BBDFC8 80240E28 0240282D */ daddu $a1, $s2, $zero +/* BBDFCC 80240E2C 3C064170 */ lui $a2, 0x4170 +/* BBDFD0 80240E30 8E67000C */ lw $a3, 0xc($s3) +/* BBDFD4 80240E34 0C00A7E7 */ jal add_vec2D_polar +/* BBDFD8 80240E38 46000506 */ mov.s $f20, $f0 +/* BBDFDC 80240E3C 0200202D */ daddu $a0, $s0, $zero +/* BBDFE0 80240E40 3C064120 */ lui $a2, 0x4120 +/* BBDFE4 80240E44 4407A000 */ mfc1 $a3, $f20 +/* BBDFE8 80240E48 0C00A7E7 */ jal add_vec2D_polar +/* BBDFEC 80240E4C 0240282D */ daddu $a1, $s2, $zero +/* BBDFF0 80240E50 0220202D */ daddu $a0, $s1, $zero +/* BBDFF4 80240E54 C7A00010 */ lwc1 $f0, 0x10($sp) +/* BBDFF8 80240E58 4600008D */ trunc.w.s $f2, $f0 +/* BBDFFC 80240E5C 44061000 */ mfc1 $a2, $f2 +/* BBE000 80240E60 0C0B2026 */ jal set_variable +/* BBE004 80240E64 02C0282D */ daddu $a1, $s6, $zero +/* BBE008 80240E68 0220202D */ daddu $a0, $s1, $zero +/* BBE00C 80240E6C 4600B08D */ trunc.w.s $f2, $f22 +/* BBE010 80240E70 44061000 */ mfc1 $a2, $f2 +/* BBE014 80240E74 0C0B2026 */ jal set_variable +/* BBE018 80240E78 0280282D */ daddu $a1, $s4, $zero +/* BBE01C 80240E7C 0220202D */ daddu $a0, $s1, $zero +/* BBE020 80240E80 C7A00014 */ lwc1 $f0, 0x14($sp) +/* BBE024 80240E84 4600008D */ trunc.w.s $f2, $f0 +/* BBE028 80240E88 44061000 */ mfc1 $a2, $f2 +/* BBE02C 80240E8C 0C0B2026 */ jal set_variable +/* BBE030 80240E90 02A0282D */ daddu $a1, $s5, $zero +/* BBE034 80240E94 8FBF0034 */ lw $ra, 0x34($sp) +/* BBE038 80240E98 8FB60030 */ lw $s6, 0x30($sp) +/* BBE03C 80240E9C 8FB5002C */ lw $s5, 0x2c($sp) +/* BBE040 80240EA0 8FB40028 */ lw $s4, 0x28($sp) +/* BBE044 80240EA4 8FB30024 */ lw $s3, 0x24($sp) +/* BBE048 80240EA8 8FB20020 */ lw $s2, 0x20($sp) +/* BBE04C 80240EAC 8FB1001C */ lw $s1, 0x1c($sp) +/* BBE050 80240EB0 8FB00018 */ lw $s0, 0x18($sp) +/* BBE054 80240EB4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* BBE058 80240EB8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* BBE05C 80240EBC 24020002 */ addiu $v0, $zero, 2 +/* BBE060 80240EC0 03E00008 */ jr $ra +/* BBE064 80240EC4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240EC8_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240EC8_BBD1A0.s new file mode 100644 index 0000000000..813d83659b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240EC8_BBD1A0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EC8_BBE068 +/* BBE068 80240EC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBE06C 80240ECC AFB00010 */ sw $s0, 0x10($sp) +/* BBE070 80240ED0 0080802D */ daddu $s0, $a0, $zero +/* BBE074 80240ED4 AFBF0014 */ sw $ra, 0x14($sp) +/* BBE078 80240ED8 0C00EABB */ jal get_npc_unsafe +/* BBE07C 80240EDC 8E04008C */ lw $a0, 0x8c($s0) +/* BBE080 80240EE0 0040282D */ daddu $a1, $v0, $zero +/* BBE084 80240EE4 8E040094 */ lw $a0, 0x94($s0) +/* BBE088 80240EE8 8CA30028 */ lw $v1, 0x28($a1) +/* BBE08C 80240EEC ACA40028 */ sw $a0, 0x28($a1) +/* BBE090 80240EF0 8FBF0014 */ lw $ra, 0x14($sp) +/* BBE094 80240EF4 8FB00010 */ lw $s0, 0x10($sp) +/* BBE098 80240EF8 24020002 */ addiu $v0, $zero, 2 +/* BBE09C 80240EFC 3C018024 */ lui $at, 0x8024 +/* BBE0A0 80240F00 AC235AB4 */ sw $v1, 0x5ab4($at) +/* BBE0A4 80240F04 03E00008 */ jr $ra +/* BBE0A8 80240F08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240F0C_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240F0C_BBD1A0.s new file mode 100644 index 0000000000..3753ac5355 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240F0C_BBD1A0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F0C_BBE0AC +/* BBE0AC 80240F0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BBE0B0 80240F10 AFBF0010 */ sw $ra, 0x10($sp) +/* BBE0B4 80240F14 0C00EABB */ jal get_npc_unsafe +/* BBE0B8 80240F18 8C84008C */ lw $a0, 0x8c($a0) +/* BBE0BC 80240F1C 3C038024 */ lui $v1, 0x8024 +/* BBE0C0 80240F20 8C635AB4 */ lw $v1, 0x5ab4($v1) +/* BBE0C4 80240F24 AC430028 */ sw $v1, 0x28($v0) +/* BBE0C8 80240F28 8FBF0010 */ lw $ra, 0x10($sp) +/* BBE0CC 80240F2C 24020002 */ addiu $v0, $zero, 2 +/* BBE0D0 80240F30 03E00008 */ jr $ra +/* BBE0D4 80240F34 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80240F38_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80240F38_BBD1A0.s new file mode 100644 index 0000000000..e743dca863 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80240F38_BBD1A0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F38_BBE0D8 +/* BBE0D8 80240F38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBE0DC 80240F3C AFB20018 */ sw $s2, 0x18($sp) +/* BBE0E0 80240F40 0080902D */ daddu $s2, $a0, $zero +/* BBE0E4 80240F44 AFBF001C */ sw $ra, 0x1c($sp) +/* BBE0E8 80240F48 AFB10014 */ sw $s1, 0x14($sp) +/* BBE0EC 80240F4C AFB00010 */ sw $s0, 0x10($sp) +/* BBE0F0 80240F50 8E44014C */ lw $a0, 0x14c($s2) +/* BBE0F4 80240F54 0C00EAD2 */ jal get_npc_safe +/* BBE0F8 80240F58 00A0802D */ daddu $s0, $a1, $zero +/* BBE0FC 80240F5C 12000002 */ beqz $s0, .L80240F68 +/* BBE100 80240F60 0040882D */ daddu $s1, $v0, $zero +/* BBE104 80240F64 AE400074 */ sw $zero, 0x74($s2) +.L80240F68: +/* BBE108 80240F68 8E430074 */ lw $v1, 0x74($s2) +/* BBE10C 80240F6C 10600005 */ beqz $v1, .L80240F84 +/* BBE110 80240F70 24020001 */ addiu $v0, $zero, 1 +/* BBE114 80240F74 1062002C */ beq $v1, $v0, .L80241028 +/* BBE118 80240F78 00000000 */ nop +/* BBE11C 80240F7C 0809041E */ j .L80241078 +/* BBE120 80240F80 00000000 */ nop +.L80240F84: +/* BBE124 80240F84 0C00A67F */ jal rand_int +/* BBE128 80240F88 24040064 */ addiu $a0, $zero, 0x64 +/* BBE12C 80240F8C 24040064 */ addiu $a0, $zero, 0x64 +/* BBE130 80240F90 244200B4 */ addiu $v0, $v0, 0xb4 +/* BBE134 80240F94 44820000 */ mtc1 $v0, $f0 +/* BBE138 80240F98 00000000 */ nop +/* BBE13C 80240F9C 46800020 */ cvt.s.w $f0, $f0 +/* BBE140 80240FA0 0C00A67F */ jal rand_int +/* BBE144 80240FA4 E6200040 */ swc1 $f0, 0x40($s1) +/* BBE148 80240FA8 2442FF38 */ addiu $v0, $v0, -0xc8 +/* BBE14C 80240FAC 44820000 */ mtc1 $v0, $f0 +/* BBE150 80240FB0 00000000 */ nop +/* BBE154 80240FB4 46800020 */ cvt.s.w $f0, $f0 +/* BBE158 80240FB8 0C00A64D */ jal func_80029934 +/* BBE15C 80240FBC E620003C */ swc1 $f0, 0x3c($s1) +/* BBE160 80240FC0 46000000 */ add.s $f0, $f0, $f0 +/* BBE164 80240FC4 3C014000 */ lui $at, 0x4000 +/* BBE168 80240FC8 44811000 */ mtc1 $at, $f2 +/* BBE16C 80240FCC 00000000 */ nop +/* BBE170 80240FD0 46020000 */ add.s $f0, $f0, $f2 +/* BBE174 80240FD4 24040064 */ addiu $a0, $zero, 0x64 +/* BBE178 80240FD8 0C00A67F */ jal rand_int +/* BBE17C 80240FDC E6200018 */ swc1 $f0, 0x18($s1) +/* BBE180 80240FE0 28420032 */ slti $v0, $v0, 0x32 +/* BBE184 80240FE4 10400007 */ beqz $v0, .L80241004 +/* BBE188 80240FE8 00000000 */ nop +/* BBE18C 80240FEC 3C014466 */ lui $at, 0x4466 +/* BBE190 80240FF0 44810000 */ mtc1 $at, $f0 +/* BBE194 80240FF4 3C014387 */ lui $at, 0x4387 +/* BBE198 80240FF8 44811000 */ mtc1 $at, $f2 +/* BBE19C 80240FFC 08090406 */ j .L80241018 +/* BBE1A0 80241000 E6200038 */ swc1 $f0, 0x38($s1) +.L80241004: +/* BBE1A4 80241004 3C01C1A0 */ lui $at, 0xc1a0 +/* BBE1A8 80241008 44810000 */ mtc1 $at, $f0 +/* BBE1AC 8024100C 3C0142B4 */ lui $at, 0x42b4 +/* BBE1B0 80241010 44811000 */ mtc1 $at, $f2 +/* BBE1B4 80241014 E6200038 */ swc1 $f0, 0x38($s1) +.L80241018: +/* BBE1B8 80241018 E622000C */ swc1 $f2, 0xc($s1) +/* BBE1BC 8024101C 24020001 */ addiu $v0, $zero, 1 +/* BBE1C0 80241020 0809041E */ j .L80241078 +/* BBE1C4 80241024 AE420074 */ sw $v0, 0x74($s2) +.L80241028: +/* BBE1C8 80241028 8E250018 */ lw $a1, 0x18($s1) +/* BBE1CC 8024102C 8E26000C */ lw $a2, 0xc($s1) +/* BBE1D0 80241030 0C00EA95 */ jal npc_move_heading +/* BBE1D4 80241034 0220202D */ daddu $a0, $s1, $zero +/* BBE1D8 80241038 C6220038 */ lwc1 $f2, 0x38($s1) +/* BBE1DC 8024103C 3C01C1F0 */ lui $at, 0xc1f0 +/* BBE1E0 80241040 44810000 */ mtc1 $at, $f0 +/* BBE1E4 80241044 00000000 */ nop +/* BBE1E8 80241048 4600103C */ c.lt.s $f2, $f0 +/* BBE1EC 8024104C 00000000 */ nop +/* BBE1F0 80241050 45030009 */ bc1tl .L80241078 +/* BBE1F4 80241054 AE400074 */ sw $zero, 0x74($s2) +/* BBE1F8 80241058 3C014468 */ lui $at, 0x4468 +/* BBE1FC 8024105C 34218000 */ ori $at, $at, 0x8000 +/* BBE200 80241060 44810000 */ mtc1 $at, $f0 +/* BBE204 80241064 00000000 */ nop +/* BBE208 80241068 4602003C */ c.lt.s $f0, $f2 +/* BBE20C 8024106C 00000000 */ nop +/* BBE210 80241070 45030001 */ bc1tl .L80241078 +/* BBE214 80241074 AE400074 */ sw $zero, 0x74($s2) +.L80241078: +/* BBE218 80241078 8FBF001C */ lw $ra, 0x1c($sp) +/* BBE21C 8024107C 8FB20018 */ lw $s2, 0x18($sp) +/* BBE220 80241080 8FB10014 */ lw $s1, 0x14($sp) +/* BBE224 80241084 8FB00010 */ lw $s0, 0x10($sp) +/* BBE228 80241088 0000102D */ daddu $v0, $zero, $zero +/* BBE22C 8024108C 03E00008 */ jr $ra +/* BBE230 80241090 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_01/func_80241094_BBD1A0.s b/asm/nonmatchings/world/area_obk/obk_01/func_80241094_BBD1A0.s new file mode 100644 index 0000000000..6be26cc46b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_01/func_80241094_BBD1A0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241094_BBE234 +/* BBE234 80241094 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BBE238 80241098 AFB10014 */ sw $s1, 0x14($sp) +/* BBE23C 8024109C 0080882D */ daddu $s1, $a0, $zero +/* BBE240 802410A0 AFBF0018 */ sw $ra, 0x18($sp) +/* BBE244 802410A4 AFB00010 */ sw $s0, 0x10($sp) +/* BBE248 802410A8 8E240088 */ lw $a0, 0x88($s1) +/* BBE24C 802410AC 1480000B */ bnez $a0, .L802410DC +/* BBE250 802410B0 8E300084 */ lw $s0, 0x84($s1) +/* BBE254 802410B4 0C00A67F */ jal rand_int +/* BBE258 802410B8 24040003 */ addiu $a0, $zero, 3 +/* BBE25C 802410BC 00021040 */ sll $v0, $v0, 1 +/* BBE260 802410C0 3C018024 */ lui $at, 0x8024 +/* BBE264 802410C4 00220821 */ addu $at, $at, $v0 +/* BBE268 802410C8 84224A54 */ lh $v0, 0x4a54($at) +/* BBE26C 802410CC 24040032 */ addiu $a0, $zero, 0x32 +/* BBE270 802410D0 0C00A67F */ jal rand_int +/* BBE274 802410D4 AE220078 */ sw $v0, 0x78($s1) +/* BBE278 802410D8 2444001E */ addiu $a0, $v0, 0x1e +.L802410DC: +/* BBE27C 802410DC 8E230078 */ lw $v1, 0x78($s1) +/* BBE280 802410E0 0203102A */ slt $v0, $s0, $v1 +/* BBE284 802410E4 10400006 */ beqz $v0, .L80241100 +/* BBE288 802410E8 2484FFFF */ addiu $a0, $a0, -1 +/* BBE28C 802410EC 2610000A */ addiu $s0, $s0, 0xa +/* BBE290 802410F0 0070102A */ slt $v0, $v1, $s0 +/* BBE294 802410F4 5040000A */ beql $v0, $zero, .L80241120 +/* BBE298 802410F8 AE300084 */ sw $s0, 0x84($s1) +/* BBE29C 802410FC 0060802D */ daddu $s0, $v1, $zero +.L80241100: +/* BBE2A0 80241100 0070102A */ slt $v0, $v1, $s0 +/* BBE2A4 80241104 50400006 */ beql $v0, $zero, .L80241120 +/* BBE2A8 80241108 AE300084 */ sw $s0, 0x84($s1) +/* BBE2AC 8024110C 2610FFF6 */ addiu $s0, $s0, -0xa +/* BBE2B0 80241110 0203102A */ slt $v0, $s0, $v1 +/* BBE2B4 80241114 54400001 */ bnel $v0, $zero, .L8024111C +/* BBE2B8 80241118 0060802D */ daddu $s0, $v1, $zero +.L8024111C: +/* BBE2BC 8024111C AE300084 */ sw $s0, 0x84($s1) +.L80241120: +/* BBE2C0 80241120 AE240088 */ sw $a0, 0x88($s1) +/* BBE2C4 80241124 8FBF0018 */ lw $ra, 0x18($sp) +/* BBE2C8 80241128 8FB10014 */ lw $s1, 0x14($sp) +/* BBE2CC 8024112C 8FB00010 */ lw $s0, 0x10($sp) +/* BBE2D0 80241130 24020002 */ addiu $v0, $zero, 2 +/* BBE2D4 80241134 03E00008 */ jr $ra +/* BBE2D8 80241138 27BD0020 */ addiu $sp, $sp, 0x20 +/* BBE2DC 8024113C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_02/func_80240000_BC2A90.s b/asm/nonmatchings/world/area_obk/obk_02/func_80240000_BC2A90.s new file mode 100644 index 0000000000..5b8c1883c4 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_02/func_80240000_BC2A90.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BC2A90 +/* BC2A90 80240000 AC800074 */ sw $zero, 0x74($a0) +/* BC2A94 80240004 03E00008 */ jr $ra +/* BC2A98 80240008 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_02/func_8024000C.s b/asm/nonmatchings/world/area_obk/obk_02/func_8024000C.s new file mode 100644 index 0000000000..5205df24a0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_02/func_8024000C.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024000C +/* BC2A9C 8024000C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC2AA0 80240010 AFB10014 */ sw $s1, 0x14($sp) +/* BC2AA4 80240014 0080882D */ daddu $s1, $a0, $zero +/* BC2AA8 80240018 AFBF0018 */ sw $ra, 0x18($sp) +/* BC2AAC 8024001C AFB00010 */ sw $s0, 0x10($sp) +/* BC2AB0 80240020 0C00EAD2 */ jal get_npc_safe +/* BC2AB4 80240024 8E24014C */ lw $a0, 0x14c($s1) +/* BC2AB8 80240028 0040802D */ daddu $s0, $v0, $zero +/* BC2ABC 8024002C 8E230074 */ lw $v1, 0x74($s1) +/* BC2AC0 80240030 24020001 */ addiu $v0, $zero, 1 +/* BC2AC4 80240034 10620036 */ beq $v1, $v0, .L80240110 +/* BC2AC8 80240038 28620002 */ slti $v0, $v1, 2 +/* BC2ACC 8024003C 10400005 */ beqz $v0, .L80240054 +/* BC2AD0 80240040 24020002 */ addiu $v0, $zero, 2 +/* BC2AD4 80240044 10600007 */ beqz $v1, .L80240064 +/* BC2AD8 80240048 00000000 */ nop +/* BC2ADC 8024004C 0809005F */ j .L8024017C +/* BC2AE0 80240050 00000000 */ nop +.L80240054: +/* BC2AE4 80240054 10620036 */ beq $v1, $v0, .L80240130 +/* BC2AE8 80240058 00000000 */ nop +/* BC2AEC 8024005C 0809005F */ j .L8024017C +/* BC2AF0 80240060 00000000 */ nop +.L80240064: +/* BC2AF4 80240064 0C00A67F */ jal rand_int +/* BC2AF8 80240068 240400B4 */ addiu $a0, $zero, 0xb4 +/* BC2AFC 8024006C 24040032 */ addiu $a0, $zero, 0x32 +/* BC2B00 80240070 3C01C396 */ lui $at, 0xc396 +/* BC2B04 80240074 44810000 */ mtc1 $at, $f0 +/* BC2B08 80240078 2442001E */ addiu $v0, $v0, 0x1e +/* BC2B0C 8024007C A602008E */ sh $v0, 0x8e($s0) +/* BC2B10 80240080 0C00A67F */ jal rand_int +/* BC2B14 80240084 E6000040 */ swc1 $f0, 0x40($s0) +/* BC2B18 80240088 3C0142A0 */ lui $at, 0x42a0 +/* BC2B1C 8024008C 44811000 */ mtc1 $at, $f2 +/* BC2B20 80240090 44820000 */ mtc1 $v0, $f0 +/* BC2B24 80240094 00000000 */ nop +/* BC2B28 80240098 46800020 */ cvt.s.w $f0, $f0 +/* BC2B2C 8024009C 46020000 */ add.s $f0, $f0, $f2 +/* BC2B30 802400A0 0C00A64D */ jal func_80029934 +/* BC2B34 802400A4 E600003C */ swc1 $f0, 0x3c($s0) +/* BC2B38 802400A8 46000000 */ add.s $f0, $f0, $f0 +/* BC2B3C 802400AC 3C014000 */ lui $at, 0x4000 +/* BC2B40 802400B0 44811000 */ mtc1 $at, $f2 +/* BC2B44 802400B4 00000000 */ nop +/* BC2B48 802400B8 46020000 */ add.s $f0, $f0, $f2 +/* BC2B4C 802400BC 24040064 */ addiu $a0, $zero, 0x64 +/* BC2B50 802400C0 0C00A67F */ jal rand_int +/* BC2B54 802400C4 E6000018 */ swc1 $f0, 0x18($s0) +/* BC2B58 802400C8 28420032 */ slti $v0, $v0, 0x32 +/* BC2B5C 802400CC 10400007 */ beqz $v0, .L802400EC +/* BC2B60 802400D0 00000000 */ nop +/* BC2B64 802400D4 3C014387 */ lui $at, 0x4387 +/* BC2B68 802400D8 44810000 */ mtc1 $at, $f0 +/* BC2B6C 802400DC 00000000 */ nop +/* BC2B70 802400E0 E6000038 */ swc1 $f0, 0x38($s0) +/* BC2B74 802400E4 08090041 */ j .L80240104 +/* BC2B78 802400E8 E600000C */ swc1 $f0, 0xc($s0) +.L802400EC: +/* BC2B7C 802400EC 3C01C387 */ lui $at, 0xc387 +/* BC2B80 802400F0 44810000 */ mtc1 $at, $f0 +/* BC2B84 802400F4 3C0142B4 */ lui $at, 0x42b4 +/* BC2B88 802400F8 44811000 */ mtc1 $at, $f2 +/* BC2B8C 802400FC E6000038 */ swc1 $f0, 0x38($s0) +/* BC2B90 80240100 E602000C */ swc1 $f2, 0xc($s0) +.L80240104: +/* BC2B94 80240104 24020001 */ addiu $v0, $zero, 1 +/* BC2B98 80240108 0809005F */ j .L8024017C +/* BC2B9C 8024010C AE220074 */ sw $v0, 0x74($s1) +.L80240110: +/* BC2BA0 80240110 9602008E */ lhu $v0, 0x8e($s0) +/* BC2BA4 80240114 2442FFFF */ addiu $v0, $v0, -1 +/* BC2BA8 80240118 A602008E */ sh $v0, 0x8e($s0) +/* BC2BAC 8024011C 00021400 */ sll $v0, $v0, 0x10 +/* BC2BB0 80240120 14400016 */ bnez $v0, .L8024017C +/* BC2BB4 80240124 24020002 */ addiu $v0, $zero, 2 +/* BC2BB8 80240128 0809005F */ j .L8024017C +/* BC2BBC 8024012C AE220074 */ sw $v0, 0x74($s1) +.L80240130: +/* BC2BC0 80240130 8E050018 */ lw $a1, 0x18($s0) +/* BC2BC4 80240134 8E06000C */ lw $a2, 0xc($s0) +/* BC2BC8 80240138 0C00EA95 */ jal npc_move_heading +/* BC2BCC 8024013C 0200202D */ daddu $a0, $s0, $zero +/* BC2BD0 80240140 C6020038 */ lwc1 $f2, 0x38($s0) +/* BC2BD4 80240144 3C01C38C */ lui $at, 0xc38c +/* BC2BD8 80240148 44810000 */ mtc1 $at, $f0 +/* BC2BDC 8024014C 00000000 */ nop +/* BC2BE0 80240150 4600103C */ c.lt.s $f2, $f0 +/* BC2BE4 80240154 00000000 */ nop +/* BC2BE8 80240158 45030008 */ bc1tl .L8024017C +/* BC2BEC 8024015C AE200074 */ sw $zero, 0x74($s1) +/* BC2BF0 80240160 3C01438C */ lui $at, 0x438c +/* BC2BF4 80240164 44810000 */ mtc1 $at, $f0 +/* BC2BF8 80240168 00000000 */ nop +/* BC2BFC 8024016C 4602003C */ c.lt.s $f0, $f2 +/* BC2C00 80240170 00000000 */ nop +/* BC2C04 80240174 45030001 */ bc1tl .L8024017C +/* BC2C08 80240178 AE200074 */ sw $zero, 0x74($s1) +.L8024017C: +/* BC2C0C 8024017C 8FBF0018 */ lw $ra, 0x18($sp) +/* BC2C10 80240180 8FB10014 */ lw $s1, 0x14($sp) +/* BC2C14 80240184 8FB00010 */ lw $s0, 0x10($sp) +/* BC2C18 80240188 24020002 */ addiu $v0, $zero, 2 +/* BC2C1C 8024018C 03E00008 */ jr $ra +/* BC2C20 80240190 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_02/func_80240194_BC2A90.s b/asm/nonmatchings/world/area_obk/obk_02/func_80240194_BC2A90.s new file mode 100644 index 0000000000..e5dddc3ca0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_02/func_80240194_BC2A90.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240194_BC2C24 +/* BC2C24 80240194 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC2C28 80240198 AFB10014 */ sw $s1, 0x14($sp) +/* BC2C2C 8024019C 0080882D */ daddu $s1, $a0, $zero +/* BC2C30 802401A0 AFBF0018 */ sw $ra, 0x18($sp) +/* BC2C34 802401A4 AFB00010 */ sw $s0, 0x10($sp) +/* BC2C38 802401A8 8E240088 */ lw $a0, 0x88($s1) +/* BC2C3C 802401AC 1480000B */ bnez $a0, .L802401DC +/* BC2C40 802401B0 8E300084 */ lw $s0, 0x84($s1) +/* BC2C44 802401B4 0C00A67F */ jal rand_int +/* BC2C48 802401B8 24040003 */ addiu $a0, $zero, 3 +/* BC2C4C 802401BC 00021040 */ sll $v0, $v0, 1 +/* BC2C50 802401C0 3C018024 */ lui $at, 0x8024 +/* BC2C54 802401C4 00220821 */ addu $at, $at, $v0 +/* BC2C58 802401C8 84220CBC */ lh $v0, 0xcbc($at) +/* BC2C5C 802401CC 24040032 */ addiu $a0, $zero, 0x32 +/* BC2C60 802401D0 0C00A67F */ jal rand_int +/* BC2C64 802401D4 AE220078 */ sw $v0, 0x78($s1) +/* BC2C68 802401D8 2444001E */ addiu $a0, $v0, 0x1e +.L802401DC: +/* BC2C6C 802401DC 8E230078 */ lw $v1, 0x78($s1) +/* BC2C70 802401E0 0203102A */ slt $v0, $s0, $v1 +/* BC2C74 802401E4 10400006 */ beqz $v0, .L80240200 +/* BC2C78 802401E8 2484FFFF */ addiu $a0, $a0, -1 +/* BC2C7C 802401EC 2610000A */ addiu $s0, $s0, 0xa +/* BC2C80 802401F0 0070102A */ slt $v0, $v1, $s0 +/* BC2C84 802401F4 5040000A */ beql $v0, $zero, .L80240220 +/* BC2C88 802401F8 AE300084 */ sw $s0, 0x84($s1) +/* BC2C8C 802401FC 0060802D */ daddu $s0, $v1, $zero +.L80240200: +/* BC2C90 80240200 0070102A */ slt $v0, $v1, $s0 +/* BC2C94 80240204 50400006 */ beql $v0, $zero, .L80240220 +/* BC2C98 80240208 AE300084 */ sw $s0, 0x84($s1) +/* BC2C9C 8024020C 2610FFF6 */ addiu $s0, $s0, -0xa +/* BC2CA0 80240210 0203102A */ slt $v0, $s0, $v1 +/* BC2CA4 80240214 54400001 */ bnel $v0, $zero, .L8024021C +/* BC2CA8 80240218 0060802D */ daddu $s0, $v1, $zero +.L8024021C: +/* BC2CAC 8024021C AE300084 */ sw $s0, 0x84($s1) +.L80240220: +/* BC2CB0 80240220 AE240088 */ sw $a0, 0x88($s1) +/* BC2CB4 80240224 8FBF0018 */ lw $ra, 0x18($sp) +/* BC2CB8 80240228 8FB10014 */ lw $s1, 0x14($sp) +/* BC2CBC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* BC2CC0 80240230 24020002 */ addiu $v0, $zero, 2 +/* BC2CC4 80240234 03E00008 */ jr $ra +/* BC2CC8 80240238 27BD0020 */ addiu $sp, $sp, 0x20 +/* BC2CCC 8024023C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_02/func_80240240_BC2A90.s b/asm/nonmatchings/world/area_obk/obk_02/func_80240240_BC2A90.s new file mode 100644 index 0000000000..25635eafc0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_02/func_80240240_BC2A90.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240240_BC2CD0 +/* BC2CD0 80240240 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC2CD4 80240244 AFB00010 */ sw $s0, 0x10($sp) +/* BC2CD8 80240248 0080802D */ daddu $s0, $a0, $zero +/* BC2CDC 8024024C AFBF0014 */ sw $ra, 0x14($sp) +/* BC2CE0 80240250 C60C0088 */ lwc1 $f12, 0x88($s0) +/* BC2CE4 80240254 0C00A8BB */ jal sin_deg +/* BC2CE8 80240258 46806320 */ cvt.s.w $f12, $f12 +/* BC2CEC 8024025C 3C014120 */ lui $at, 0x4120 +/* BC2CF0 80240260 44811000 */ mtc1 $at, $f2 +/* BC2CF4 80240264 00000000 */ nop +/* BC2CF8 80240268 46020002 */ mul.s $f0, $f0, $f2 +/* BC2CFC 8024026C 00000000 */ nop +/* BC2D00 80240270 8E020088 */ lw $v0, 0x88($s0) +/* BC2D04 80240274 24420006 */ addiu $v0, $v0, 6 +/* BC2D08 80240278 44826000 */ mtc1 $v0, $f12 +/* BC2D0C 8024027C 00000000 */ nop +/* BC2D10 80240280 46806320 */ cvt.s.w $f12, $f12 +/* BC2D14 80240284 4600010D */ trunc.w.s $f4, $f0 +/* BC2D18 80240288 0C00A6C9 */ jal clamp_angle +/* BC2D1C 8024028C E6040084 */ swc1 $f4, 0x84($s0) +/* BC2D20 80240290 4600010D */ trunc.w.s $f4, $f0 +/* BC2D24 80240294 E6040088 */ swc1 $f4, 0x88($s0) +/* BC2D28 80240298 8FBF0014 */ lw $ra, 0x14($sp) +/* BC2D2C 8024029C 8FB00010 */ lw $s0, 0x10($sp) +/* BC2D30 802402A0 24020002 */ addiu $v0, $zero, 2 +/* BC2D34 802402A4 03E00008 */ jr $ra +/* BC2D38 802402A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* BC2D3C 802402AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240000_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240000_BC4280.s new file mode 100644 index 0000000000..f04648565d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240000_BC4280.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BC4280 +/* BC4280 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BC4284 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* BC4288 80240008 0080882D */ daddu $s1, $a0, $zero +/* BC428C 8024000C AFBF0020 */ sw $ra, 0x20($sp) +/* BC4290 80240010 AFB3001C */ sw $s3, 0x1c($sp) +/* BC4294 80240014 AFB20018 */ sw $s2, 0x18($sp) +/* BC4298 80240018 AFB00010 */ sw $s0, 0x10($sp) +/* BC429C 8024001C 8E30000C */ lw $s0, 0xc($s1) +/* BC42A0 80240020 8E050000 */ lw $a1, ($s0) +/* BC42A4 80240024 0C0B1EAF */ jal get_variable +/* BC42A8 80240028 26100004 */ addiu $s0, $s0, 4 +/* BC42AC 8024002C 8E050000 */ lw $a1, ($s0) +/* BC42B0 80240030 26100004 */ addiu $s0, $s0, 4 +/* BC42B4 80240034 0220202D */ daddu $a0, $s1, $zero +/* BC42B8 80240038 0C0B1EAF */ jal get_variable +/* BC42BC 8024003C 0040982D */ daddu $s3, $v0, $zero +/* BC42C0 80240040 8E050000 */ lw $a1, ($s0) +/* BC42C4 80240044 26100004 */ addiu $s0, $s0, 4 +/* BC42C8 80240048 0220202D */ daddu $a0, $s1, $zero +/* BC42CC 8024004C 0C0B1EAF */ jal get_variable +/* BC42D0 80240050 0040902D */ daddu $s2, $v0, $zero +/* BC42D4 80240054 0220202D */ daddu $a0, $s1, $zero +/* BC42D8 80240058 8E050000 */ lw $a1, ($s0) +/* BC42DC 8024005C 0C0B1EAF */ jal get_variable +/* BC42E0 80240060 0040882D */ daddu $s1, $v0, $zero +/* BC42E4 80240064 0260202D */ daddu $a0, $s3, $zero +/* BC42E8 80240068 0C04417A */ jal get_entity_by_index +/* BC42EC 8024006C 0040802D */ daddu $s0, $v0, $zero +/* BC42F0 80240070 0040182D */ daddu $v1, $v0, $zero +/* BC42F4 80240074 44920000 */ mtc1 $s2, $f0 +/* BC42F8 80240078 00000000 */ nop +/* BC42FC 8024007C 46800020 */ cvt.s.w $f0, $f0 +/* BC4300 80240080 E4600048 */ swc1 $f0, 0x48($v1) +/* BC4304 80240084 44910000 */ mtc1 $s1, $f0 +/* BC4308 80240088 00000000 */ nop +/* BC430C 8024008C 46800020 */ cvt.s.w $f0, $f0 +/* BC4310 80240090 E460004C */ swc1 $f0, 0x4c($v1) +/* BC4314 80240094 44900000 */ mtc1 $s0, $f0 +/* BC4318 80240098 00000000 */ nop +/* BC431C 8024009C 46800020 */ cvt.s.w $f0, $f0 +/* BC4320 802400A0 E4600050 */ swc1 $f0, 0x50($v1) +/* BC4324 802400A4 8FBF0020 */ lw $ra, 0x20($sp) +/* BC4328 802400A8 8FB3001C */ lw $s3, 0x1c($sp) +/* BC432C 802400AC 8FB20018 */ lw $s2, 0x18($sp) +/* BC4330 802400B0 8FB10014 */ lw $s1, 0x14($sp) +/* BC4334 802400B4 8FB00010 */ lw $s0, 0x10($sp) +/* BC4338 802400B8 24020002 */ addiu $v0, $zero, 2 +/* BC433C 802400BC 03E00008 */ jr $ra +/* BC4340 802400C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802400C4_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_802400C4_BC4280.s new file mode 100644 index 0000000000..9d579bc1dd --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802400C4_BC4280.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C4_BC4344 +/* BC4344 802400C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC4348 802400C8 AFB20018 */ sw $s2, 0x18($sp) +/* BC434C 802400CC 0080902D */ daddu $s2, $a0, $zero +/* BC4350 802400D0 AFBF001C */ sw $ra, 0x1c($sp) +/* BC4354 802400D4 AFB10014 */ sw $s1, 0x14($sp) +/* BC4358 802400D8 AFB00010 */ sw $s0, 0x10($sp) +/* BC435C 802400DC 8E50000C */ lw $s0, 0xc($s2) +/* BC4360 802400E0 8E050000 */ lw $a1, ($s0) +/* BC4364 802400E4 0C0B1EAF */ jal get_variable +/* BC4368 802400E8 26100004 */ addiu $s0, $s0, 4 +/* BC436C 802400EC 0C04417A */ jal get_entity_by_index +/* BC4370 802400F0 0040202D */ daddu $a0, $v0, $zero +/* BC4374 802400F4 8E050000 */ lw $a1, ($s0) +/* BC4378 802400F8 26100004 */ addiu $s0, $s0, 4 +/* BC437C 802400FC 0040882D */ daddu $s1, $v0, $zero +/* BC4380 80240100 C6200048 */ lwc1 $f0, 0x48($s1) +/* BC4384 80240104 4600008D */ trunc.w.s $f2, $f0 +/* BC4388 80240108 44061000 */ mfc1 $a2, $f2 +/* BC438C 8024010C 0C0B2026 */ jal set_variable +/* BC4390 80240110 0240202D */ daddu $a0, $s2, $zero +/* BC4394 80240114 8E050000 */ lw $a1, ($s0) +/* BC4398 80240118 26100004 */ addiu $s0, $s0, 4 +/* BC439C 8024011C C620004C */ lwc1 $f0, 0x4c($s1) +/* BC43A0 80240120 4600008D */ trunc.w.s $f2, $f0 +/* BC43A4 80240124 44061000 */ mfc1 $a2, $f2 +/* BC43A8 80240128 0C0B2026 */ jal set_variable +/* BC43AC 8024012C 0240202D */ daddu $a0, $s2, $zero +/* BC43B0 80240130 C6200050 */ lwc1 $f0, 0x50($s1) +/* BC43B4 80240134 8E050000 */ lw $a1, ($s0) +/* BC43B8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* BC43BC 8024013C 44061000 */ mfc1 $a2, $f2 +/* BC43C0 80240140 0C0B2026 */ jal set_variable +/* BC43C4 80240144 0240202D */ daddu $a0, $s2, $zero +/* BC43C8 80240148 8FBF001C */ lw $ra, 0x1c($sp) +/* BC43CC 8024014C 8FB20018 */ lw $s2, 0x18($sp) +/* BC43D0 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* BC43D4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* BC43D8 80240158 24020002 */ addiu $v0, $zero, 2 +/* BC43DC 8024015C 03E00008 */ jr $ra +/* BC43E0 80240160 27BD0020 */ addiu $sp, $sp, 0x20 +/* BC43E4 80240164 00000000 */ nop +/* BC43E8 80240168 00000000 */ nop +/* BC43EC 8024016C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240170_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240170_BC4280.s new file mode 100644 index 0000000000..9c1382757b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240170_BC4280.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240170_BC43F0 +/* BC43F0 80240170 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC43F4 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* BC43F8 80240178 3C108024 */ lui $s0, 0x8024 +/* BC43FC 8024017C 26102ECC */ addiu $s0, $s0, 0x2ecc +/* BC4400 80240180 AFBF0018 */ sw $ra, 0x18($sp) +/* BC4404 80240184 AFB10014 */ sw $s1, 0x14($sp) +/* BC4408 80240188 8E020000 */ lw $v0, ($s0) +/* BC440C 8024018C 14400010 */ bnez $v0, .L802401D0 +/* BC4410 80240190 0080882D */ daddu $s1, $a0, $zero +/* BC4414 80240194 0C00AB39 */ jal heap_malloc +/* BC4418 80240198 24040040 */ addiu $a0, $zero, 0x40 +/* BC441C 8024019C AE020000 */ sw $v0, ($s0) +/* BC4420 802401A0 0000182D */ daddu $v1, $zero, $zero +/* BC4424 802401A4 0040282D */ daddu $a1, $v0, $zero +/* BC4428 802401A8 0220202D */ daddu $a0, $s1, $zero +.L802401AC: +/* BC442C 802401AC 8C820084 */ lw $v0, 0x84($a0) +/* BC4430 802401B0 24840004 */ addiu $a0, $a0, 4 +/* BC4434 802401B4 24630001 */ addiu $v1, $v1, 1 +/* BC4438 802401B8 ACA20000 */ sw $v0, ($a1) +/* BC443C 802401BC 28620010 */ slti $v0, $v1, 0x10 +/* BC4440 802401C0 1440FFFA */ bnez $v0, .L802401AC +/* BC4444 802401C4 24A50004 */ addiu $a1, $a1, 4 +/* BC4448 802401C8 08090083 */ j .L8024020C +/* BC444C 802401CC 00000000 */ nop +.L802401D0: +/* BC4450 802401D0 0000182D */ daddu $v1, $zero, $zero +/* BC4454 802401D4 0040282D */ daddu $a1, $v0, $zero +/* BC4458 802401D8 0220202D */ daddu $a0, $s1, $zero +.L802401DC: +/* BC445C 802401DC 8CA20000 */ lw $v0, ($a1) +/* BC4460 802401E0 24A50004 */ addiu $a1, $a1, 4 +/* BC4464 802401E4 24630001 */ addiu $v1, $v1, 1 +/* BC4468 802401E8 AC820084 */ sw $v0, 0x84($a0) +/* BC446C 802401EC 28620010 */ slti $v0, $v1, 0x10 +/* BC4470 802401F0 1440FFFA */ bnez $v0, .L802401DC +/* BC4474 802401F4 24840004 */ addiu $a0, $a0, 4 +/* BC4478 802401F8 3C108024 */ lui $s0, 0x8024 +/* BC447C 802401FC 26102ECC */ addiu $s0, $s0, 0x2ecc +/* BC4480 80240200 0C00AB4B */ jal heap_free +/* BC4484 80240204 8E040000 */ lw $a0, ($s0) +/* BC4488 80240208 AE000000 */ sw $zero, ($s0) +.L8024020C: +/* BC448C 8024020C 8FBF0018 */ lw $ra, 0x18($sp) +/* BC4490 80240210 8FB10014 */ lw $s1, 0x14($sp) +/* BC4494 80240214 8FB00010 */ lw $s0, 0x10($sp) +/* BC4498 80240218 24020002 */ addiu $v0, $zero, 2 +/* BC449C 8024021C 03E00008 */ jr $ra +/* BC44A0 80240220 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240224_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240224_BC4280.s new file mode 100644 index 0000000000..c72cd99a30 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240224_BC4280.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240224_BC44A4 +/* BC44A4 80240224 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC44A8 80240228 AFB00010 */ sw $s0, 0x10($sp) +/* BC44AC 8024022C 0080802D */ daddu $s0, $a0, $zero +/* BC44B0 80240230 AFBF0018 */ sw $ra, 0x18($sp) +/* BC44B4 80240234 AFB10014 */ sw $s1, 0x14($sp) +/* BC44B8 80240238 8E02000C */ lw $v0, 0xc($s0) +/* BC44BC 8024023C 8C510000 */ lw $s1, ($v0) +/* BC44C0 80240240 0C0B1EAF */ jal get_variable +/* BC44C4 80240244 0220282D */ daddu $a1, $s1, $zero +/* BC44C8 80240248 3C03FFF0 */ lui $v1, 0xfff0 +/* BC44CC 8024024C 3463FFFF */ ori $v1, $v1, 0xffff +/* BC44D0 80240250 0200202D */ daddu $a0, $s0, $zero +/* BC44D4 80240254 00431024 */ and $v0, $v0, $v1 +/* BC44D8 80240258 00021140 */ sll $v0, $v0, 5 +/* BC44DC 8024025C 3C068008 */ lui $a2, %hi(gItemTable) +/* BC44E0 80240260 00C23021 */ addu $a2, $a2, $v0 +/* BC44E4 80240264 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* BC44E8 80240268 0C0B2026 */ jal set_variable +/* BC44EC 8024026C 0220282D */ daddu $a1, $s1, $zero +/* BC44F0 80240270 8FBF0018 */ lw $ra, 0x18($sp) +/* BC44F4 80240274 8FB10014 */ lw $s1, 0x14($sp) +/* BC44F8 80240278 8FB00010 */ lw $s0, 0x10($sp) +/* BC44FC 8024027C 24020002 */ addiu $v0, $zero, 2 +/* BC4500 80240280 03E00008 */ jr $ra +/* BC4504 80240284 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240288.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240288.s new file mode 100644 index 0000000000..cf72d6a8c9 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240288.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240288 +/* BC4508 80240288 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC450C 8024028C AFB10014 */ sw $s1, 0x14($sp) +/* BC4510 80240290 0080882D */ daddu $s1, $a0, $zero +/* BC4514 80240294 AFBF0018 */ sw $ra, 0x18($sp) +/* BC4518 80240298 AFB00010 */ sw $s0, 0x10($sp) +/* BC451C 8024029C 8E30000C */ lw $s0, 0xc($s1) +/* BC4520 802402A0 8E050000 */ lw $a1, ($s0) +/* BC4524 802402A4 0C0B1EAF */ jal get_variable +/* BC4528 802402A8 26100004 */ addiu $s0, $s0, 4 +/* BC452C 802402AC 0C00EAD2 */ jal get_npc_safe +/* BC4530 802402B0 0040202D */ daddu $a0, $v0, $zero +/* BC4534 802402B4 10400005 */ beqz $v0, .L802402CC +/* BC4538 802402B8 00000000 */ nop +/* BC453C 802402BC 8E050000 */ lw $a1, ($s0) +/* BC4540 802402C0 844600A8 */ lh $a2, 0xa8($v0) +/* BC4544 802402C4 0C0B2026 */ jal set_variable +/* BC4548 802402C8 0220202D */ daddu $a0, $s1, $zero +.L802402CC: +/* BC454C 802402CC 8FBF0018 */ lw $ra, 0x18($sp) +/* BC4550 802402D0 8FB10014 */ lw $s1, 0x14($sp) +/* BC4554 802402D4 8FB00010 */ lw $s0, 0x10($sp) +/* BC4558 802402D8 24020002 */ addiu $v0, $zero, 2 +/* BC455C 802402DC 03E00008 */ jr $ra +/* BC4560 802402E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802402E4.s b/asm/nonmatchings/world/area_obk/obk_03/func_802402E4.s new file mode 100644 index 0000000000..deb224ccd3 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802402E4.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E4 +/* BC4564 802402E4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BC4568 802402E8 AFB10014 */ sw $s1, 0x14($sp) +/* BC456C 802402EC 0080882D */ daddu $s1, $a0, $zero +/* BC4570 802402F0 AFBF0024 */ sw $ra, 0x24($sp) +/* BC4574 802402F4 AFB40020 */ sw $s4, 0x20($sp) +/* BC4578 802402F8 AFB3001C */ sw $s3, 0x1c($sp) +/* BC457C 802402FC AFB20018 */ sw $s2, 0x18($sp) +/* BC4580 80240300 AFB00010 */ sw $s0, 0x10($sp) +/* BC4584 80240304 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* BC4588 80240308 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* BC458C 8024030C F7B80038 */ sdc1 $f24, 0x38($sp) +/* BC4590 80240310 F7B60030 */ sdc1 $f22, 0x30($sp) +/* BC4594 80240314 F7B40028 */ sdc1 $f20, 0x28($sp) +/* BC4598 80240318 8E30000C */ lw $s0, 0xc($s1) +/* BC459C 8024031C 8E130000 */ lw $s3, ($s0) +/* BC45A0 80240320 26100004 */ addiu $s0, $s0, 4 +/* BC45A4 80240324 0C0B1EAF */ jal get_variable +/* BC45A8 80240328 0260282D */ daddu $a1, $s3, $zero +/* BC45AC 8024032C 4482E000 */ mtc1 $v0, $f28 +/* BC45B0 80240330 00000000 */ nop +/* BC45B4 80240334 4680E720 */ cvt.s.w $f28, $f28 +/* BC45B8 80240338 8E140000 */ lw $s4, ($s0) +/* BC45BC 8024033C 26100004 */ addiu $s0, $s0, 4 +/* BC45C0 80240340 0220202D */ daddu $a0, $s1, $zero +/* BC45C4 80240344 0C0B1EAF */ jal get_variable +/* BC45C8 80240348 0280282D */ daddu $a1, $s4, $zero +/* BC45CC 8024034C 4482D000 */ mtc1 $v0, $f26 +/* BC45D0 80240350 00000000 */ nop +/* BC45D4 80240354 4680D6A0 */ cvt.s.w $f26, $f26 +/* BC45D8 80240358 8E100000 */ lw $s0, ($s0) +/* BC45DC 8024035C 0220202D */ daddu $a0, $s1, $zero +/* BC45E0 80240360 0C0B1EAF */ jal get_variable +/* BC45E4 80240364 0200282D */ daddu $a1, $s0, $zero +/* BC45E8 80240368 4482C000 */ mtc1 $v0, $f24 +/* BC45EC 8024036C 00000000 */ nop +/* BC45F0 80240370 4680C620 */ cvt.s.w $f24, $f24 +/* BC45F4 80240374 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* BC45F8 80240378 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* BC45FC 8024037C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* BC4600 80240380 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* BC4604 80240384 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* BC4608 80240388 44800000 */ mtc1 $zero, $f0 +/* BC460C 8024038C 00031080 */ sll $v0, $v1, 2 +/* BC4610 80240390 00431021 */ addu $v0, $v0, $v1 +/* BC4614 80240394 00021080 */ sll $v0, $v0, 2 +/* BC4618 80240398 00431023 */ subu $v0, $v0, $v1 +/* BC461C 8024039C 000218C0 */ sll $v1, $v0, 3 +/* BC4620 802403A0 00431021 */ addu $v0, $v0, $v1 +/* BC4624 802403A4 000210C0 */ sll $v0, $v0, 3 +/* BC4628 802403A8 46001032 */ c.eq.s $f2, $f0 +/* BC462C 802403AC 3C01800B */ lui $at, 0x800b +/* BC4630 802403B0 00220821 */ addu $at, $at, $v0 +/* BC4634 802403B4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* BC4638 802403B8 45000005 */ bc1f .L802403D0 +/* BC463C 802403BC 00000000 */ nop +/* BC4640 802403C0 3C0142C8 */ lui $at, 0x42c8 +/* BC4644 802403C4 44810000 */ mtc1 $at, $f0 +/* BC4648 802403C8 080900F8 */ j .L802403E0 +/* BC464C 802403CC 4600B581 */ sub.s $f22, $f22, $f0 +.L802403D0: +/* BC4650 802403D0 3C0142C8 */ lui $at, 0x42c8 +/* BC4654 802403D4 44810000 */ mtc1 $at, $f0 +/* BC4658 802403D8 00000000 */ nop +/* BC465C 802403DC 4600B580 */ add.s $f22, $f22, $f0 +.L802403E0: +/* BC4660 802403E0 0C00A6C9 */ jal clamp_angle +/* BC4664 802403E4 4600B306 */ mov.s $f12, $f22 +/* BC4668 802403E8 46000586 */ mov.s $f22, $f0 +/* BC466C 802403EC 3C014170 */ lui $at, 0x4170 +/* BC4670 802403F0 4481A000 */ mtc1 $at, $f20 +/* BC4674 802403F4 0C00A8BB */ jal sin_deg +/* BC4678 802403F8 4600B306 */ mov.s $f12, $f22 +/* BC467C 802403FC 46140002 */ mul.s $f0, $f0, $f20 +/* BC4680 80240400 00000000 */ nop +/* BC4684 80240404 864200B0 */ lh $v0, 0xb0($s2) +/* BC4688 80240408 3C013F00 */ lui $at, 0x3f00 +/* BC468C 8024040C 44812000 */ mtc1 $at, $f4 +/* BC4690 80240410 44821000 */ mtc1 $v0, $f2 +/* BC4694 80240414 00000000 */ nop +/* BC4698 80240418 468010A0 */ cvt.s.w $f2, $f2 +/* BC469C 8024041C 46041082 */ mul.s $f2, $f2, $f4 +/* BC46A0 80240420 00000000 */ nop +/* BC46A4 80240424 4600E700 */ add.s $f28, $f28, $f0 +/* BC46A8 80240428 4602D680 */ add.s $f26, $f26, $f2 +/* BC46AC 8024042C 0C00A8D4 */ jal cos_deg +/* BC46B0 80240430 4600B306 */ mov.s $f12, $f22 +/* BC46B4 80240434 46140002 */ mul.s $f0, $f0, $f20 +/* BC46B8 80240438 00000000 */ nop +/* BC46BC 8024043C 0220202D */ daddu $a0, $s1, $zero +/* BC46C0 80240440 0260282D */ daddu $a1, $s3, $zero +/* BC46C4 80240444 4600E18D */ trunc.w.s $f6, $f28 +/* BC46C8 80240448 44063000 */ mfc1 $a2, $f6 +/* BC46CC 8024044C 0C0B2026 */ jal set_variable +/* BC46D0 80240450 4600C601 */ sub.s $f24, $f24, $f0 +/* BC46D4 80240454 0220202D */ daddu $a0, $s1, $zero +/* BC46D8 80240458 4600D18D */ trunc.w.s $f6, $f26 +/* BC46DC 8024045C 44063000 */ mfc1 $a2, $f6 +/* BC46E0 80240460 0C0B2026 */ jal set_variable +/* BC46E4 80240464 0280282D */ daddu $a1, $s4, $zero +/* BC46E8 80240468 0220202D */ daddu $a0, $s1, $zero +/* BC46EC 8024046C 4600C18D */ trunc.w.s $f6, $f24 +/* BC46F0 80240470 44063000 */ mfc1 $a2, $f6 +/* BC46F4 80240474 0C0B2026 */ jal set_variable +/* BC46F8 80240478 0200282D */ daddu $a1, $s0, $zero +/* BC46FC 8024047C 8FBF0024 */ lw $ra, 0x24($sp) +/* BC4700 80240480 8FB40020 */ lw $s4, 0x20($sp) +/* BC4704 80240484 8FB3001C */ lw $s3, 0x1c($sp) +/* BC4708 80240488 8FB20018 */ lw $s2, 0x18($sp) +/* BC470C 8024048C 8FB10014 */ lw $s1, 0x14($sp) +/* BC4710 80240490 8FB00010 */ lw $s0, 0x10($sp) +/* BC4714 80240494 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* BC4718 80240498 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* BC471C 8024049C D7B80038 */ ldc1 $f24, 0x38($sp) +/* BC4720 802404A0 D7B60030 */ ldc1 $f22, 0x30($sp) +/* BC4724 802404A4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* BC4728 802404A8 24020002 */ addiu $v0, $zero, 2 +/* BC472C 802404AC 03E00008 */ jr $ra +/* BC4730 802404B0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802404B4.s b/asm/nonmatchings/world/area_obk/obk_03/func_802404B4.s new file mode 100644 index 0000000000..615d915b8e --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802404B4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B4 +/* BC4734 802404B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC4738 802404B8 AFBF0010 */ sw $ra, 0x10($sp) +/* BC473C 802404BC 10A00003 */ beqz $a1, .L802404CC +/* BC4740 802404C0 8C86000C */ lw $a2, 0xc($a0) +/* BC4744 802404C4 3C018024 */ lui $at, 0x8024 +/* BC4748 802404C8 AC202F30 */ sw $zero, 0x2f30($at) +.L802404CC: +/* BC474C 802404CC 3C038024 */ lui $v1, 0x8024 +/* BC4750 802404D0 24632F30 */ addiu $v1, $v1, 0x2f30 +/* BC4754 802404D4 8C620000 */ lw $v0, ($v1) +/* BC4758 802404D8 54400003 */ bnel $v0, $zero, .L802404E8 +/* BC475C 802404DC AC600000 */ sw $zero, ($v1) +/* BC4760 802404E0 0809013F */ j .L802404FC +/* BC4764 802404E4 0000102D */ daddu $v0, $zero, $zero +.L802404E8: +/* BC4768 802404E8 8CC50000 */ lw $a1, ($a2) +/* BC476C 802404EC 3C068024 */ lui $a2, 0x8024 +/* BC4770 802404F0 0C0B2026 */ jal set_variable +/* BC4774 802404F4 8CC62F34 */ lw $a2, 0x2f34($a2) +/* BC4778 802404F8 24020002 */ addiu $v0, $zero, 2 +.L802404FC: +/* BC477C 802404FC 8FBF0010 */ lw $ra, 0x10($sp) +/* BC4780 80240500 03E00008 */ jr $ra +/* BC4784 80240504 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240508_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240508_BC4280.s new file mode 100644 index 0000000000..4418299a2e --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240508_BC4280.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240508_BC4788 +/* BC4788 80240508 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC478C 8024050C AFBF0010 */ sw $ra, 0x10($sp) +/* BC4790 80240510 8C82000C */ lw $v0, 0xc($a0) +/* BC4794 80240514 0C0B1EAF */ jal get_variable +/* BC4798 80240518 8C450000 */ lw $a1, ($v0) +/* BC479C 8024051C 3C018024 */ lui $at, 0x8024 +/* BC47A0 80240520 AC222F34 */ sw $v0, 0x2f34($at) +/* BC47A4 80240524 24020002 */ addiu $v0, $zero, 2 +/* BC47A8 80240528 8FBF0010 */ lw $ra, 0x10($sp) +/* BC47AC 8024052C 24030001 */ addiu $v1, $zero, 1 +/* BC47B0 80240530 3C018024 */ lui $at, 0x8024 +/* BC47B4 80240534 AC232F30 */ sw $v1, 0x2f30($at) +/* BC47B8 80240538 03E00008 */ jr $ra +/* BC47BC 8024053C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240540_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240540_BC4280.s new file mode 100644 index 0000000000..71a654dd54 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240540_BC4280.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_BC47C0 +/* BC47C0 80240540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC47C4 80240544 AFBF0010 */ sw $ra, 0x10($sp) +/* BC47C8 80240548 8C82000C */ lw $v0, 0xc($a0) +/* BC47CC 8024054C 0C0B1EAF */ jal get_variable +/* BC47D0 80240550 8C450000 */ lw $a1, ($v0) +/* BC47D4 80240554 0040182D */ daddu $v1, $v0, $zero +/* BC47D8 80240558 10600012 */ beqz $v1, .L802405A4 +/* BC47DC 8024055C 0000202D */ daddu $a0, $zero, $zero +/* BC47E0 80240560 8C620000 */ lw $v0, ($v1) +/* BC47E4 80240564 5040000A */ beql $v0, $zero, .L80240590 +/* BC47E8 80240568 00041080 */ sll $v0, $a0, 2 +/* BC47EC 8024056C 3C058024 */ lui $a1, 0x8024 +/* BC47F0 80240570 24A53BE0 */ addiu $a1, $a1, 0x3be0 +.L80240574: +/* BC47F4 80240574 24630004 */ addiu $v1, $v1, 4 +/* BC47F8 80240578 24840001 */ addiu $a0, $a0, 1 +/* BC47FC 8024057C ACA20000 */ sw $v0, ($a1) +/* BC4800 80240580 8C620000 */ lw $v0, ($v1) +/* BC4804 80240584 1440FFFB */ bnez $v0, .L80240574 +/* BC4808 80240588 24A50004 */ addiu $a1, $a1, 4 +/* BC480C 8024058C 00041080 */ sll $v0, $a0, 2 +.L80240590: +/* BC4810 80240590 3C018024 */ lui $at, 0x8024 +/* BC4814 80240594 00220821 */ addu $at, $at, $v0 +/* BC4818 80240598 AC203BE0 */ sw $zero, 0x3be0($at) +/* BC481C 8024059C 08090173 */ j .L802405CC +/* BC4820 802405A0 00000000 */ nop +.L802405A4: +/* BC4824 802405A4 3C038024 */ lui $v1, 0x8024 +/* BC4828 802405A8 24633BE0 */ addiu $v1, $v1, 0x3be0 +/* BC482C 802405AC 0060282D */ daddu $a1, $v1, $zero +.L802405B0: +/* BC4830 802405B0 24820010 */ addiu $v0, $a0, 0x10 +/* BC4834 802405B4 AC620000 */ sw $v0, ($v1) +/* BC4838 802405B8 24630004 */ addiu $v1, $v1, 4 +/* BC483C 802405BC 24840001 */ addiu $a0, $a0, 1 +/* BC4840 802405C0 28820070 */ slti $v0, $a0, 0x70 +/* BC4844 802405C4 1440FFFA */ bnez $v0, .L802405B0 +/* BC4848 802405C8 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802405CC: +/* BC484C 802405CC 8FBF0010 */ lw $ra, 0x10($sp) +/* BC4850 802405D0 24020002 */ addiu $v0, $zero, 2 +/* BC4854 802405D4 03E00008 */ jr $ra +/* BC4858 802405D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802405DC_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_802405DC_BC4280.s new file mode 100644 index 0000000000..73df842251 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802405DC_BC4280.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405DC_BC485C +/* BC485C 802405DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC4860 802405E0 AFB10014 */ sw $s1, 0x14($sp) +/* BC4864 802405E4 0080882D */ daddu $s1, $a0, $zero +/* BC4868 802405E8 AFBF0018 */ sw $ra, 0x18($sp) +/* BC486C 802405EC AFB00010 */ sw $s0, 0x10($sp) +/* BC4870 802405F0 8E30000C */ lw $s0, 0xc($s1) +/* BC4874 802405F4 8E050000 */ lw $a1, ($s0) +/* BC4878 802405F8 0C0B1EAF */ jal get_variable +/* BC487C 802405FC 26100004 */ addiu $s0, $s0, 4 +/* BC4880 80240600 AE22008C */ sw $v0, 0x8c($s1) +/* BC4884 80240604 8E050000 */ lw $a1, ($s0) +/* BC4888 80240608 26100004 */ addiu $s0, $s0, 4 +/* BC488C 8024060C 0C0B1EAF */ jal get_variable +/* BC4890 80240610 0220202D */ daddu $a0, $s1, $zero +/* BC4894 80240614 AE220090 */ sw $v0, 0x90($s1) +/* BC4898 80240618 8E050000 */ lw $a1, ($s0) +/* BC489C 8024061C 26100004 */ addiu $s0, $s0, 4 +/* BC48A0 80240620 0C0B1EAF */ jal get_variable +/* BC48A4 80240624 0220202D */ daddu $a0, $s1, $zero +/* BC48A8 80240628 AE220094 */ sw $v0, 0x94($s1) +/* BC48AC 8024062C 8E050000 */ lw $a1, ($s0) +/* BC48B0 80240630 26100004 */ addiu $s0, $s0, 4 +/* BC48B4 80240634 0C0B1EAF */ jal get_variable +/* BC48B8 80240638 0220202D */ daddu $a0, $s1, $zero +/* BC48BC 8024063C AE220098 */ sw $v0, 0x98($s1) +/* BC48C0 80240640 8E050000 */ lw $a1, ($s0) +/* BC48C4 80240644 26100004 */ addiu $s0, $s0, 4 +/* BC48C8 80240648 0C0B1EAF */ jal get_variable +/* BC48CC 8024064C 0220202D */ daddu $a0, $s1, $zero +/* BC48D0 80240650 AE22009C */ sw $v0, 0x9c($s1) +/* BC48D4 80240654 8E050000 */ lw $a1, ($s0) +/* BC48D8 80240658 26100004 */ addiu $s0, $s0, 4 +/* BC48DC 8024065C 0C0B1EAF */ jal get_variable +/* BC48E0 80240660 0220202D */ daddu $a0, $s1, $zero +/* BC48E4 80240664 AE2200A0 */ sw $v0, 0xa0($s1) +/* BC48E8 80240668 8E050000 */ lw $a1, ($s0) +/* BC48EC 8024066C 26100004 */ addiu $s0, $s0, 4 +/* BC48F0 80240670 0C0B1EAF */ jal get_variable +/* BC48F4 80240674 0220202D */ daddu $a0, $s1, $zero +/* BC48F8 80240678 AE2200A4 */ sw $v0, 0xa4($s1) +/* BC48FC 8024067C 8E050000 */ lw $a1, ($s0) +/* BC4900 80240680 26100004 */ addiu $s0, $s0, 4 +/* BC4904 80240684 0C0B1EAF */ jal get_variable +/* BC4908 80240688 0220202D */ daddu $a0, $s1, $zero +/* BC490C 8024068C AE2200A8 */ sw $v0, 0xa8($s1) +/* BC4910 80240690 8E050000 */ lw $a1, ($s0) +/* BC4914 80240694 26100004 */ addiu $s0, $s0, 4 +/* BC4918 80240698 0C0B1EAF */ jal get_variable +/* BC491C 8024069C 0220202D */ daddu $a0, $s1, $zero +/* BC4920 802406A0 AE2200AC */ sw $v0, 0xac($s1) +/* BC4924 802406A4 8E050000 */ lw $a1, ($s0) +/* BC4928 802406A8 0C0B1EAF */ jal get_variable +/* BC492C 802406AC 0220202D */ daddu $a0, $s1, $zero +/* BC4930 802406B0 AE2200B0 */ sw $v0, 0xb0($s1) +/* BC4934 802406B4 8FBF0018 */ lw $ra, 0x18($sp) +/* BC4938 802406B8 8FB10014 */ lw $s1, 0x14($sp) +/* BC493C 802406BC 8FB00010 */ lw $s0, 0x10($sp) +/* BC4940 802406C0 24020002 */ addiu $v0, $zero, 2 +/* BC4944 802406C4 03E00008 */ jr $ra +/* BC4948 802406C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802406CC_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_802406CC_BC4280.s new file mode 100644 index 0000000000..3dfd7e9985 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802406CC_BC4280.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406CC_BC494C +/* BC494C 802406CC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* BC4950 802406D0 AFB1001C */ sw $s1, 0x1c($sp) +/* BC4954 802406D4 0080882D */ daddu $s1, $a0, $zero +/* BC4958 802406D8 AFBF0034 */ sw $ra, 0x34($sp) +/* BC495C 802406DC AFB60030 */ sw $s6, 0x30($sp) +/* BC4960 802406E0 AFB5002C */ sw $s5, 0x2c($sp) +/* BC4964 802406E4 AFB40028 */ sw $s4, 0x28($sp) +/* BC4968 802406E8 AFB30024 */ sw $s3, 0x24($sp) +/* BC496C 802406EC AFB20020 */ sw $s2, 0x20($sp) +/* BC4970 802406F0 AFB00018 */ sw $s0, 0x18($sp) +/* BC4974 802406F4 F7B60040 */ sdc1 $f22, 0x40($sp) +/* BC4978 802406F8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* BC497C 802406FC 8E30000C */ lw $s0, 0xc($s1) +/* BC4980 80240700 8E160000 */ lw $s6, ($s0) +/* BC4984 80240704 26100004 */ addiu $s0, $s0, 4 +/* BC4988 80240708 0C0B1EAF */ jal get_variable +/* BC498C 8024070C 02C0282D */ daddu $a1, $s6, $zero +/* BC4990 80240710 44820000 */ mtc1 $v0, $f0 +/* BC4994 80240714 00000000 */ nop +/* BC4998 80240718 46800020 */ cvt.s.w $f0, $f0 +/* BC499C 8024071C E7A00010 */ swc1 $f0, 0x10($sp) +/* BC49A0 80240720 8E140000 */ lw $s4, ($s0) +/* BC49A4 80240724 26100004 */ addiu $s0, $s0, 4 +/* BC49A8 80240728 0220202D */ daddu $a0, $s1, $zero +/* BC49AC 8024072C 0C0B1EAF */ jal get_variable +/* BC49B0 80240730 0280282D */ daddu $a1, $s4, $zero +/* BC49B4 80240734 0220202D */ daddu $a0, $s1, $zero +/* BC49B8 80240738 8E150000 */ lw $s5, ($s0) +/* BC49BC 8024073C 4482B000 */ mtc1 $v0, $f22 +/* BC49C0 80240740 00000000 */ nop +/* BC49C4 80240744 4680B5A0 */ cvt.s.w $f22, $f22 +/* BC49C8 80240748 0C0B1EAF */ jal get_variable +/* BC49CC 8024074C 02A0282D */ daddu $a1, $s5, $zero +/* BC49D0 80240750 2404FFFC */ addiu $a0, $zero, -4 +/* BC49D4 80240754 44820000 */ mtc1 $v0, $f0 +/* BC49D8 80240758 00000000 */ nop +/* BC49DC 8024075C 46800020 */ cvt.s.w $f0, $f0 +/* BC49E0 80240760 0C00EABB */ jal get_npc_unsafe +/* BC49E4 80240764 E7A00014 */ swc1 $f0, 0x14($sp) +/* BC49E8 80240768 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* BC49EC 8024076C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* BC49F0 80240770 3C014334 */ lui $at, 0x4334 +/* BC49F4 80240774 44816000 */ mtc1 $at, $f12 +/* BC49F8 80240778 00041880 */ sll $v1, $a0, 2 +/* BC49FC 8024077C 00641821 */ addu $v1, $v1, $a0 +/* BC4A00 80240780 00031880 */ sll $v1, $v1, 2 +/* BC4A04 80240784 00641823 */ subu $v1, $v1, $a0 +/* BC4A08 80240788 000320C0 */ sll $a0, $v1, 3 +/* BC4A0C 8024078C 00641821 */ addu $v1, $v1, $a0 +/* BC4A10 80240790 000318C0 */ sll $v1, $v1, 3 +/* BC4A14 80240794 3C01800B */ lui $at, 0x800b +/* BC4A18 80240798 00230821 */ addu $at, $at, $v1 +/* BC4A1C 8024079C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* BC4A20 802407A0 460C0300 */ add.s $f12, $f0, $f12 +/* BC4A24 802407A4 0C00A6C9 */ jal clamp_angle +/* BC4A28 802407A8 0040982D */ daddu $s3, $v0, $zero +/* BC4A2C 802407AC 27B00010 */ addiu $s0, $sp, 0x10 +/* BC4A30 802407B0 0200202D */ daddu $a0, $s0, $zero +/* BC4A34 802407B4 27B20014 */ addiu $s2, $sp, 0x14 +/* BC4A38 802407B8 0240282D */ daddu $a1, $s2, $zero +/* BC4A3C 802407BC 3C064170 */ lui $a2, 0x4170 +/* BC4A40 802407C0 8E67000C */ lw $a3, 0xc($s3) +/* BC4A44 802407C4 0C00A7E7 */ jal add_vec2D_polar +/* BC4A48 802407C8 46000506 */ mov.s $f20, $f0 +/* BC4A4C 802407CC 0200202D */ daddu $a0, $s0, $zero +/* BC4A50 802407D0 3C064120 */ lui $a2, 0x4120 +/* BC4A54 802407D4 4407A000 */ mfc1 $a3, $f20 +/* BC4A58 802407D8 0C00A7E7 */ jal add_vec2D_polar +/* BC4A5C 802407DC 0240282D */ daddu $a1, $s2, $zero +/* BC4A60 802407E0 0220202D */ daddu $a0, $s1, $zero +/* BC4A64 802407E4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* BC4A68 802407E8 4600008D */ trunc.w.s $f2, $f0 +/* BC4A6C 802407EC 44061000 */ mfc1 $a2, $f2 +/* BC4A70 802407F0 0C0B2026 */ jal set_variable +/* BC4A74 802407F4 02C0282D */ daddu $a1, $s6, $zero +/* BC4A78 802407F8 0220202D */ daddu $a0, $s1, $zero +/* BC4A7C 802407FC 4600B08D */ trunc.w.s $f2, $f22 +/* BC4A80 80240800 44061000 */ mfc1 $a2, $f2 +/* BC4A84 80240804 0C0B2026 */ jal set_variable +/* BC4A88 80240808 0280282D */ daddu $a1, $s4, $zero +/* BC4A8C 8024080C 0220202D */ daddu $a0, $s1, $zero +/* BC4A90 80240810 C7A00014 */ lwc1 $f0, 0x14($sp) +/* BC4A94 80240814 4600008D */ trunc.w.s $f2, $f0 +/* BC4A98 80240818 44061000 */ mfc1 $a2, $f2 +/* BC4A9C 8024081C 0C0B2026 */ jal set_variable +/* BC4AA0 80240820 02A0282D */ daddu $a1, $s5, $zero +/* BC4AA4 80240824 8FBF0034 */ lw $ra, 0x34($sp) +/* BC4AA8 80240828 8FB60030 */ lw $s6, 0x30($sp) +/* BC4AAC 8024082C 8FB5002C */ lw $s5, 0x2c($sp) +/* BC4AB0 80240830 8FB40028 */ lw $s4, 0x28($sp) +/* BC4AB4 80240834 8FB30024 */ lw $s3, 0x24($sp) +/* BC4AB8 80240838 8FB20020 */ lw $s2, 0x20($sp) +/* BC4ABC 8024083C 8FB1001C */ lw $s1, 0x1c($sp) +/* BC4AC0 80240840 8FB00018 */ lw $s0, 0x18($sp) +/* BC4AC4 80240844 D7B60040 */ ldc1 $f22, 0x40($sp) +/* BC4AC8 80240848 D7B40038 */ ldc1 $f20, 0x38($sp) +/* BC4ACC 8024084C 24020002 */ addiu $v0, $zero, 2 +/* BC4AD0 80240850 03E00008 */ jr $ra +/* BC4AD4 80240854 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_80240858.s b/asm/nonmatchings/world/area_obk/obk_03/func_80240858.s new file mode 100644 index 0000000000..9d13f68c38 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_80240858.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240858 +/* BC4AD8 80240858 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC4ADC 8024085C AFB00010 */ sw $s0, 0x10($sp) +/* BC4AE0 80240860 0080802D */ daddu $s0, $a0, $zero +/* BC4AE4 80240864 AFBF0014 */ sw $ra, 0x14($sp) +/* BC4AE8 80240868 0C00EABB */ jal get_npc_unsafe +/* BC4AEC 8024086C 8E04008C */ lw $a0, 0x8c($s0) +/* BC4AF0 80240870 0040282D */ daddu $a1, $v0, $zero +/* BC4AF4 80240874 8E040094 */ lw $a0, 0x94($s0) +/* BC4AF8 80240878 8CA30028 */ lw $v1, 0x28($a1) +/* BC4AFC 8024087C ACA40028 */ sw $a0, 0x28($a1) +/* BC4B00 80240880 8FBF0014 */ lw $ra, 0x14($sp) +/* BC4B04 80240884 8FB00010 */ lw $s0, 0x10($sp) +/* BC4B08 80240888 24020002 */ addiu $v0, $zero, 2 +/* BC4B0C 8024088C 3C018024 */ lui $at, 0x8024 +/* BC4B10 80240890 AC233DA4 */ sw $v1, 0x3da4($at) +/* BC4B14 80240894 03E00008 */ jr $ra +/* BC4B18 80240898 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_8024089C_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_8024089C_BC4280.s new file mode 100644 index 0000000000..a628edd689 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_8024089C_BC4280.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024089C_BC4B1C +/* BC4B1C 8024089C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC4B20 802408A0 AFBF0010 */ sw $ra, 0x10($sp) +/* BC4B24 802408A4 0C00EABB */ jal get_npc_unsafe +/* BC4B28 802408A8 8C84008C */ lw $a0, 0x8c($a0) +/* BC4B2C 802408AC 3C038024 */ lui $v1, 0x8024 +/* BC4B30 802408B0 8C633DA4 */ lw $v1, 0x3da4($v1) +/* BC4B34 802408B4 AC430028 */ sw $v1, 0x28($v0) +/* BC4B38 802408B8 8FBF0010 */ lw $ra, 0x10($sp) +/* BC4B3C 802408BC 24020002 */ addiu $v0, $zero, 2 +/* BC4B40 802408C0 03E00008 */ jr $ra +/* BC4B44 802408C4 27BD0018 */ addiu $sp, $sp, 0x18 +/* BC4B48 802408C8 00000000 */ nop +/* BC4B4C 802408CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_03/func_802408D0_BC4280.s b/asm/nonmatchings/world/area_obk/obk_03/func_802408D0_BC4280.s new file mode 100644 index 0000000000..0ed6a6321d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_03/func_802408D0_BC4280.s @@ -0,0 +1,487 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_BC4B50 +/* BC4B50 802408D0 27BDFF70 */ addiu $sp, $sp, -0x90 +/* BC4B54 802408D4 AFB20070 */ sw $s2, 0x70($sp) +/* BC4B58 802408D8 AFB30074 */ sw $s3, 0x74($sp) +/* BC4B5C 802408DC 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* BC4B60 802408E0 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* BC4B64 802408E4 AFB00068 */ sw $s0, 0x68($sp) +/* BC4B68 802408E8 3C108016 */ lui $s0, 0x8016 +/* BC4B6C 802408EC 2610A550 */ addiu $s0, $s0, -0x5ab0 +/* BC4B70 802408F0 AFBF0078 */ sw $ra, 0x78($sp) +/* BC4B74 802408F4 AFB1006C */ sw $s1, 0x6c($sp) +/* BC4B78 802408F8 F7B60088 */ sdc1 $f22, 0x88($sp) +/* BC4B7C 802408FC F7B40080 */ sdc1 $f20, 0x80($sp) +/* BC4B80 80240900 10A00014 */ beqz $a1, .L80240954 +/* BC4B84 80240904 0080902D */ daddu $s2, $a0, $zero +/* BC4B88 80240908 0C00AB39 */ jal heap_malloc +/* BC4B8C 8024090C 24040020 */ addiu $a0, $zero, 0x20 +/* BC4B90 80240910 3C013DCC */ lui $at, 0x3dcc +/* BC4B94 80240914 3421CCCD */ ori $at, $at, 0xcccd +/* BC4B98 80240918 44810000 */ mtc1 $at, $f0 +/* BC4B9C 8024091C 3C014040 */ lui $at, 0x4040 +/* BC4BA0 80240920 44811000 */ mtc1 $at, $f2 +/* BC4BA4 80240924 0040882D */ daddu $s1, $v0, $zero +/* BC4BA8 80240928 AE510074 */ sw $s1, 0x74($s2) +/* BC4BAC 8024092C AE200000 */ sw $zero, ($s1) +/* BC4BB0 80240930 AE20000C */ sw $zero, 0xc($s1) +/* BC4BB4 80240934 AE200008 */ sw $zero, 8($s1) +/* BC4BB8 80240938 AE200010 */ sw $zero, 0x10($s1) +/* BC4BBC 8024093C AE200014 */ sw $zero, 0x14($s1) +/* BC4BC0 80240940 E6200004 */ swc1 $f0, 4($s1) +/* BC4BC4 80240944 E6220018 */ swc1 $f2, 0x18($s1) +/* BC4BC8 80240948 AE400070 */ sw $zero, 0x70($s2) +/* BC4BCC 8024094C AE400078 */ sw $zero, 0x78($s2) +/* BC4BD0 80240950 AE40007C */ sw $zero, 0x7c($s2) +.L80240954: +/* BC4BD4 80240954 24040001 */ addiu $a0, $zero, 1 +/* BC4BD8 80240958 8E430070 */ lw $v1, 0x70($s2) +/* BC4BDC 8024095C 8E510074 */ lw $s1, 0x74($s2) +/* BC4BE0 80240960 10640022 */ beq $v1, $a0, .L802409EC +/* BC4BE4 80240964 28620002 */ slti $v0, $v1, 2 +/* BC4BE8 80240968 50400005 */ beql $v0, $zero, .L80240980 +/* BC4BEC 8024096C 24020002 */ addiu $v0, $zero, 2 +/* BC4BF0 80240970 10600007 */ beqz $v1, .L80240990 +/* BC4BF4 80240974 2402003C */ addiu $v0, $zero, 0x3c +/* BC4BF8 80240978 0809037C */ j .L80240DF0 +/* BC4BFC 8024097C 00000000 */ nop +.L80240980: +/* BC4C00 80240980 106200BF */ beq $v1, $v0, .L80240C80 +/* BC4C04 80240984 2402003C */ addiu $v0, $zero, 0x3c +/* BC4C08 80240988 0809037C */ j .L80240DF0 +/* BC4C0C 8024098C 00000000 */ nop +.L80240990: +/* BC4C10 80240990 86030002 */ lh $v1, 2($s0) +/* BC4C14 80240994 50620001 */ beql $v1, $v0, .L8024099C +/* BC4C18 80240998 AE440070 */ sw $a0, 0x70($s2) +.L8024099C: +/* BC4C1C 8024099C 86030002 */ lh $v1, 2($s0) +/* BC4C20 802409A0 2402003B */ addiu $v0, $zero, 0x3b +/* BC4C24 802409A4 50620001 */ beql $v1, $v0, .L802409AC +/* BC4C28 802409A8 AE440070 */ sw $a0, 0x70($s2) +.L802409AC: +/* BC4C2C 802409AC 3C013DCC */ lui $at, 0x3dcc +/* BC4C30 802409B0 3421CCCD */ ori $at, $at, 0xcccd +/* BC4C34 802409B4 44810000 */ mtc1 $at, $f0 +/* BC4C38 802409B8 3C014040 */ lui $at, 0x4040 +/* BC4C3C 802409BC 44811000 */ mtc1 $at, $f2 +/* BC4C40 802409C0 3C0141A0 */ lui $at, 0x41a0 +/* BC4C44 802409C4 44812000 */ mtc1 $at, $f4 +/* BC4C48 802409C8 AE200000 */ sw $zero, ($s1) +/* BC4C4C 802409CC AE20000C */ sw $zero, 0xc($s1) +/* BC4C50 802409D0 AE200010 */ sw $zero, 0x10($s1) +/* BC4C54 802409D4 AE200014 */ sw $zero, 0x14($s1) +/* BC4C58 802409D8 AE200008 */ sw $zero, 8($s1) +/* BC4C5C 802409DC E6200004 */ swc1 $f0, 4($s1) +/* BC4C60 802409E0 E6220018 */ swc1 $f2, 0x18($s1) +/* BC4C64 802409E4 0809037C */ j .L80240DF0 +/* BC4C68 802409E8 E624001C */ swc1 $f4, 0x1c($s1) +.L802409EC: +/* BC4C6C 802409EC 86030002 */ lh $v1, 2($s0) +/* BC4C70 802409F0 2402003C */ addiu $v0, $zero, 0x3c +/* BC4C74 802409F4 10620006 */ beq $v1, $v0, .L80240A10 +/* BC4C78 802409F8 2402003B */ addiu $v0, $zero, 0x3b +/* BC4C7C 802409FC 10620004 */ beq $v1, $v0, .L80240A10 +/* BC4C80 80240A00 24020078 */ addiu $v0, $zero, 0x78 +/* BC4C84 80240A04 AE42007C */ sw $v0, 0x7c($s2) +/* BC4C88 80240A08 24020002 */ addiu $v0, $zero, 2 +/* BC4C8C 80240A0C AE420070 */ sw $v0, 0x70($s2) +.L80240A10: +/* BC4C90 80240A10 C6200008 */ lwc1 $f0, 8($s1) +/* BC4C94 80240A14 3C0140A0 */ lui $at, 0x40a0 +/* BC4C98 80240A18 44811000 */ mtc1 $at, $f2 +/* BC4C9C 80240A1C 46000005 */ abs.s $f0, $f0 +/* BC4CA0 80240A20 4602003C */ c.lt.s $f0, $f2 +/* BC4CA4 80240A24 00000000 */ nop +/* BC4CA8 80240A28 4500000D */ bc1f .L80240A60 +/* BC4CAC 80240A2C 00000000 */ nop +/* BC4CB0 80240A30 C6600028 */ lwc1 $f0, 0x28($s3) +/* BC4CB4 80240A34 3C018024 */ lui $at, 0x8024 +/* BC4CB8 80240A38 D4223BD0 */ ldc1 $f2, 0x3bd0($at) +/* BC4CBC 80240A3C 46000021 */ cvt.d.s $f0, $f0 +/* BC4CC0 80240A40 46201081 */ sub.d $f2, $f2, $f0 +/* BC4CC4 80240A44 3C014348 */ lui $at, 0x4348 +/* BC4CC8 80240A48 44810000 */ mtc1 $at, $f0 +/* BC4CCC 80240A4C 462010A0 */ cvt.s.d $f2, $f2 +/* BC4CD0 80240A50 46001085 */ abs.s $f2, $f2 +/* BC4CD4 80240A54 46001083 */ div.s $f2, $f2, $f0 +/* BC4CD8 80240A58 0809029D */ j .L80240A74 +/* BC4CDC 80240A5C E6220004 */ swc1 $f2, 4($s1) +.L80240A60: +/* BC4CE0 80240A60 3C013DCC */ lui $at, 0x3dcc +/* BC4CE4 80240A64 3421CCCD */ ori $at, $at, 0xcccd +/* BC4CE8 80240A68 44810000 */ mtc1 $at, $f0 +/* BC4CEC 80240A6C 00000000 */ nop +/* BC4CF0 80240A70 E6200004 */ swc1 $f0, 4($s1) +.L80240A74: +/* BC4CF4 80240A74 C6600028 */ lwc1 $f0, 0x28($s3) +/* BC4CF8 80240A78 3C018024 */ lui $at, 0x8024 +/* BC4CFC 80240A7C D4243BD8 */ ldc1 $f4, 0x3bd8($at) +/* BC4D00 80240A80 46000021 */ cvt.d.s $f0, $f0 +/* BC4D04 80240A84 4624003E */ c.le.d $f0, $f4 +/* BC4D08 80240A88 00000000 */ nop +/* BC4D0C 80240A8C 45000024 */ bc1f .L80240B20 +/* BC4D10 80240A90 00000000 */ nop +/* BC4D14 80240A94 C6200010 */ lwc1 $f0, 0x10($s1) +/* BC4D18 80240A98 C6220004 */ lwc1 $f2, 4($s1) +/* BC4D1C 80240A9C 46020000 */ add.s $f0, $f0, $f2 +/* BC4D20 80240AA0 E6200010 */ swc1 $f0, 0x10($s1) +/* BC4D24 80240AA4 C6600028 */ lwc1 $f0, 0x28($s3) +/* BC4D28 80240AA8 46000021 */ cvt.d.s $f0, $f0 +/* BC4D2C 80240AAC 46202001 */ sub.d $f0, $f4, $f0 +/* BC4D30 80240AB0 46200020 */ cvt.s.d $f0, $f0 +/* BC4D34 80240AB4 46000005 */ abs.s $f0, $f0 +/* BC4D38 80240AB8 46000002 */ mul.s $f0, $f0, $f0 +/* BC4D3C 80240ABC 00000000 */ nop +/* BC4D40 80240AC0 3C014248 */ lui $at, 0x4248 +/* BC4D44 80240AC4 44811000 */ mtc1 $at, $f2 +/* BC4D48 80240AC8 3C014170 */ lui $at, 0x4170 +/* BC4D4C 80240ACC 44812000 */ mtc1 $at, $f4 +/* BC4D50 80240AD0 46020003 */ div.s $f0, $f0, $f2 +/* BC4D54 80240AD4 4600203C */ c.lt.s $f4, $f0 +/* BC4D58 80240AD8 00000000 */ nop +/* BC4D5C 80240ADC 45000002 */ bc1f .L80240AE8 +/* BC4D60 80240AE0 E620001C */ swc1 $f0, 0x1c($s1) +/* BC4D64 80240AE4 E624001C */ swc1 $f4, 0x1c($s1) +.L80240AE8: +/* BC4D68 80240AE8 C6220008 */ lwc1 $f2, 8($s1) +/* BC4D6C 80240AEC C620001C */ lwc1 $f0, 0x1c($s1) +/* BC4D70 80240AF0 4602003C */ c.lt.s $f0, $f2 +/* BC4D74 80240AF4 00000000 */ nop +/* BC4D78 80240AF8 45000031 */ bc1f .L80240BC0 +/* BC4D7C 80240AFC 00000000 */ nop +/* BC4D80 80240B00 C6200004 */ lwc1 $f0, 4($s1) +/* BC4D84 80240B04 C6220018 */ lwc1 $f2, 0x18($s1) +/* BC4D88 80240B08 46020002 */ mul.s $f0, $f0, $f2 +/* BC4D8C 80240B0C 00000000 */ nop +/* BC4D90 80240B10 C6220014 */ lwc1 $f2, 0x14($s1) +/* BC4D94 80240B14 46001080 */ add.s $f2, $f2, $f0 +/* BC4D98 80240B18 080902F0 */ j .L80240BC0 +/* BC4D9C 80240B1C E6220014 */ swc1 $f2, 0x14($s1) +.L80240B20: +/* BC4DA0 80240B20 C6200014 */ lwc1 $f0, 0x14($s1) +/* BC4DA4 80240B24 C6220004 */ lwc1 $f2, 4($s1) +/* BC4DA8 80240B28 46020000 */ add.s $f0, $f0, $f2 +/* BC4DAC 80240B2C E6200014 */ swc1 $f0, 0x14($s1) +/* BC4DB0 80240B30 C6600028 */ lwc1 $f0, 0x28($s3) +/* BC4DB4 80240B34 46000021 */ cvt.d.s $f0, $f0 +/* BC4DB8 80240B38 46202001 */ sub.d $f0, $f4, $f0 +/* BC4DBC 80240B3C 3C013F00 */ lui $at, 0x3f00 +/* BC4DC0 80240B40 44811000 */ mtc1 $at, $f2 +/* BC4DC4 80240B44 46200020 */ cvt.s.d $f0, $f0 +/* BC4DC8 80240B48 46000005 */ abs.s $f0, $f0 +/* BC4DCC 80240B4C 46000007 */ neg.s $f0, $f0 +/* BC4DD0 80240B50 46020002 */ mul.s $f0, $f0, $f2 +/* BC4DD4 80240B54 00000000 */ nop +/* BC4DD8 80240B58 46000002 */ mul.s $f0, $f0, $f0 +/* BC4DDC 80240B5C 00000000 */ nop +/* BC4DE0 80240B60 3C01C0A0 */ lui $at, 0xc0a0 +/* BC4DE4 80240B64 44812000 */ mtc1 $at, $f4 +/* BC4DE8 80240B68 3C014248 */ lui $at, 0x4248 +/* BC4DEC 80240B6C 44811000 */ mtc1 $at, $f2 +/* BC4DF0 80240B70 46000007 */ neg.s $f0, $f0 +/* BC4DF4 80240B74 46020003 */ div.s $f0, $f0, $f2 +/* BC4DF8 80240B78 4604003C */ c.lt.s $f0, $f4 +/* BC4DFC 80240B7C 00000000 */ nop +/* BC4E00 80240B80 45000002 */ bc1f .L80240B8C +/* BC4E04 80240B84 E620001C */ swc1 $f0, 0x1c($s1) +/* BC4E08 80240B88 E624001C */ swc1 $f4, 0x1c($s1) +.L80240B8C: +/* BC4E0C 80240B8C C6220008 */ lwc1 $f2, 8($s1) +/* BC4E10 80240B90 C620001C */ lwc1 $f0, 0x1c($s1) +/* BC4E14 80240B94 4600103C */ c.lt.s $f2, $f0 +/* BC4E18 80240B98 00000000 */ nop +/* BC4E1C 80240B9C 45000008 */ bc1f .L80240BC0 +/* BC4E20 80240BA0 00000000 */ nop +/* BC4E24 80240BA4 C6200004 */ lwc1 $f0, 4($s1) +/* BC4E28 80240BA8 C6220018 */ lwc1 $f2, 0x18($s1) +/* BC4E2C 80240BAC 46020002 */ mul.s $f0, $f0, $f2 +/* BC4E30 80240BB0 00000000 */ nop +/* BC4E34 80240BB4 C6220010 */ lwc1 $f2, 0x10($s1) +/* BC4E38 80240BB8 46001080 */ add.s $f2, $f2, $f0 +/* BC4E3C 80240BBC E6220010 */ swc1 $f2, 0x10($s1) +.L80240BC0: +/* BC4E40 80240BC0 C6200010 */ lwc1 $f0, 0x10($s1) +/* BC4E44 80240BC4 3C014059 */ lui $at, 0x4059 +/* BC4E48 80240BC8 44812800 */ mtc1 $at, $f5 +/* BC4E4C 80240BCC 44802000 */ mtc1 $zero, $f4 +/* BC4E50 80240BD0 460000A1 */ cvt.d.s $f2, $f0 +/* BC4E54 80240BD4 4622203C */ c.lt.d $f4, $f2 +/* BC4E58 80240BD8 00000000 */ nop +/* BC4E5C 80240BDC 4500000F */ bc1f .L80240C1C +/* BC4E60 80240BE0 00000000 */ nop +/* BC4E64 80240BE4 C6200014 */ lwc1 $f0, 0x14($s1) +/* BC4E68 80240BE8 46000021 */ cvt.d.s $f0, $f0 +/* BC4E6C 80240BEC 4620203C */ c.lt.d $f4, $f0 +/* BC4E70 80240BF0 00000000 */ nop +/* BC4E74 80240BF4 45000009 */ bc1f .L80240C1C +/* BC4E78 80240BF8 00000000 */ nop +/* BC4E7C 80240BFC C6200014 */ lwc1 $f0, 0x14($s1) +/* BC4E80 80240C00 46241081 */ sub.d $f2, $f2, $f4 +/* BC4E84 80240C04 46000021 */ cvt.d.s $f0, $f0 +/* BC4E88 80240C08 46240001 */ sub.d $f0, $f0, $f4 +/* BC4E8C 80240C0C 462010A0 */ cvt.s.d $f2, $f2 +/* BC4E90 80240C10 E6220010 */ swc1 $f2, 0x10($s1) +/* BC4E94 80240C14 46200020 */ cvt.s.d $f0, $f0 +/* BC4E98 80240C18 E6200014 */ swc1 $f0, 0x14($s1) +.L80240C1C: +/* BC4E9C 80240C1C C6240010 */ lwc1 $f4, 0x10($s1) +/* BC4EA0 80240C20 C6220014 */ lwc1 $f2, 0x14($s1) +/* BC4EA4 80240C24 46022001 */ sub.s $f0, $f4, $f2 +/* BC4EA8 80240C28 3C013FF8 */ lui $at, 0x3ff8 +/* BC4EAC 80240C2C 44813800 */ mtc1 $at, $f7 +/* BC4EB0 80240C30 44803000 */ mtc1 $zero, $f6 +/* BC4EB4 80240C34 46000005 */ abs.s $f0, $f0 +/* BC4EB8 80240C38 46000021 */ cvt.d.s $f0, $f0 +/* BC4EBC 80240C3C 4620303C */ c.lt.d $f6, $f0 +/* BC4EC0 80240C40 00000000 */ nop +/* BC4EC4 80240C44 45000063 */ bc1f .L80240DD4 +/* BC4EC8 80240C48 00000000 */ nop +/* BC4ECC 80240C4C 4602203C */ c.lt.s $f4, $f2 +/* BC4ED0 80240C50 00000000 */ nop +/* BC4ED4 80240C54 45020006 */ bc1fl .L80240C70 +/* BC4ED8 80240C58 46001021 */ cvt.d.s $f0, $f2 +/* BC4EDC 80240C5C 46002021 */ cvt.d.s $f0, $f4 +/* BC4EE0 80240C60 46260000 */ add.d $f0, $f0, $f6 +/* BC4EE4 80240C64 46200020 */ cvt.s.d $f0, $f0 +/* BC4EE8 80240C68 08090375 */ j .L80240DD4 +/* BC4EEC 80240C6C E6200014 */ swc1 $f0, 0x14($s1) +.L80240C70: +/* BC4EF0 80240C70 46260000 */ add.d $f0, $f0, $f6 +/* BC4EF4 80240C74 46200020 */ cvt.s.d $f0, $f0 +/* BC4EF8 80240C78 08090375 */ j .L80240DD4 +/* BC4EFC 80240C7C E6200010 */ swc1 $f0, 0x10($s1) +.L80240C80: +/* BC4F00 80240C80 86030002 */ lh $v1, 2($s0) +/* BC4F04 80240C84 50620001 */ beql $v1, $v0, .L80240C8C +/* BC4F08 80240C88 AE440070 */ sw $a0, 0x70($s2) +.L80240C8C: +/* BC4F0C 80240C8C 86030002 */ lh $v1, 2($s0) +/* BC4F10 80240C90 2402003B */ addiu $v0, $zero, 0x3b +/* BC4F14 80240C94 50620001 */ beql $v1, $v0, .L80240C9C +/* BC4F18 80240C98 AE440070 */ sw $a0, 0x70($s2) +.L80240C9C: +/* BC4F1C 80240C9C 3C013DCC */ lui $at, 0x3dcc +/* BC4F20 80240CA0 3421CCCD */ ori $at, $at, 0xcccd +/* BC4F24 80240CA4 44810000 */ mtc1 $at, $f0 +/* BC4F28 80240CA8 C6220010 */ lwc1 $f2, 0x10($s1) +/* BC4F2C 80240CAC C6240008 */ lwc1 $f4, 8($s1) +/* BC4F30 80240CB0 AE20001C */ sw $zero, 0x1c($s1) +/* BC4F34 80240CB4 46001080 */ add.s $f2, $f2, $f0 +/* BC4F38 80240CB8 E6200004 */ swc1 $f0, 4($s1) +/* BC4F3C 80240CBC C620001C */ lwc1 $f0, 0x1c($s1) +/* BC4F40 80240CC0 4604003C */ c.lt.s $f0, $f4 +/* BC4F44 80240CC4 00000000 */ nop +/* BC4F48 80240CC8 45000008 */ bc1f .L80240CEC +/* BC4F4C 80240CCC E6220010 */ swc1 $f2, 0x10($s1) +/* BC4F50 80240CD0 C6200004 */ lwc1 $f0, 4($s1) +/* BC4F54 80240CD4 C6220018 */ lwc1 $f2, 0x18($s1) +/* BC4F58 80240CD8 46020002 */ mul.s $f0, $f0, $f2 +/* BC4F5C 80240CDC 00000000 */ nop +/* BC4F60 80240CE0 C6220014 */ lwc1 $f2, 0x14($s1) +/* BC4F64 80240CE4 46001080 */ add.s $f2, $f2, $f0 +/* BC4F68 80240CE8 E6220014 */ swc1 $f2, 0x14($s1) +.L80240CEC: +/* BC4F6C 80240CEC C6200010 */ lwc1 $f0, 0x10($s1) +/* BC4F70 80240CF0 3C014059 */ lui $at, 0x4059 +/* BC4F74 80240CF4 44812800 */ mtc1 $at, $f5 +/* BC4F78 80240CF8 44802000 */ mtc1 $zero, $f4 +/* BC4F7C 80240CFC 460000A1 */ cvt.d.s $f2, $f0 +/* BC4F80 80240D00 4622203C */ c.lt.d $f4, $f2 +/* BC4F84 80240D04 00000000 */ nop +/* BC4F88 80240D08 4500000F */ bc1f .L80240D48 +/* BC4F8C 80240D0C 00000000 */ nop +/* BC4F90 80240D10 C6200014 */ lwc1 $f0, 0x14($s1) +/* BC4F94 80240D14 46000021 */ cvt.d.s $f0, $f0 +/* BC4F98 80240D18 4620203C */ c.lt.d $f4, $f0 +/* BC4F9C 80240D1C 00000000 */ nop +/* BC4FA0 80240D20 45000009 */ bc1f .L80240D48 +/* BC4FA4 80240D24 00000000 */ nop +/* BC4FA8 80240D28 C6200014 */ lwc1 $f0, 0x14($s1) +/* BC4FAC 80240D2C 46241081 */ sub.d $f2, $f2, $f4 +/* BC4FB0 80240D30 46000021 */ cvt.d.s $f0, $f0 +/* BC4FB4 80240D34 46240001 */ sub.d $f0, $f0, $f4 +/* BC4FB8 80240D38 462010A0 */ cvt.s.d $f2, $f2 +/* BC4FBC 80240D3C E6220010 */ swc1 $f2, 0x10($s1) +/* BC4FC0 80240D40 46200020 */ cvt.s.d $f0, $f0 +/* BC4FC4 80240D44 E6200014 */ swc1 $f0, 0x14($s1) +.L80240D48: +/* BC4FC8 80240D48 C6240010 */ lwc1 $f4, 0x10($s1) +/* BC4FCC 80240D4C C6220014 */ lwc1 $f2, 0x14($s1) +/* BC4FD0 80240D50 46022001 */ sub.s $f0, $f4, $f2 +/* BC4FD4 80240D54 3C013FE0 */ lui $at, 0x3fe0 +/* BC4FD8 80240D58 44813800 */ mtc1 $at, $f7 +/* BC4FDC 80240D5C 44803000 */ mtc1 $zero, $f6 +/* BC4FE0 80240D60 46000005 */ abs.s $f0, $f0 +/* BC4FE4 80240D64 46000021 */ cvt.d.s $f0, $f0 +/* BC4FE8 80240D68 4620303C */ c.lt.d $f6, $f0 +/* BC4FEC 80240D6C 00000000 */ nop +/* BC4FF0 80240D70 4500000D */ bc1f .L80240DA8 +/* BC4FF4 80240D74 00000000 */ nop +/* BC4FF8 80240D78 4602203C */ c.lt.s $f4, $f2 +/* BC4FFC 80240D7C 00000000 */ nop +/* BC5000 80240D80 45020006 */ bc1fl .L80240D9C +/* BC5004 80240D84 46001021 */ cvt.d.s $f0, $f2 +/* BC5008 80240D88 46002021 */ cvt.d.s $f0, $f4 +/* BC500C 80240D8C 46260000 */ add.d $f0, $f0, $f6 +/* BC5010 80240D90 46200020 */ cvt.s.d $f0, $f0 +/* BC5014 80240D94 0809036A */ j .L80240DA8 +/* BC5018 80240D98 E6200014 */ swc1 $f0, 0x14($s1) +.L80240D9C: +/* BC501C 80240D9C 46260000 */ add.d $f0, $f0, $f6 +/* BC5020 80240DA0 46200020 */ cvt.s.d $f0, $f0 +/* BC5024 80240DA4 E6200010 */ swc1 $f0, 0x10($s1) +.L80240DA8: +/* BC5028 80240DA8 8E42007C */ lw $v0, 0x7c($s2) +/* BC502C 80240DAC 04410008 */ bgez $v0, .L80240DD0 +/* BC5030 80240DB0 2442FFFF */ addiu $v0, $v0, -1 +/* BC5034 80240DB4 44800000 */ mtc1 $zero, $f0 +/* BC5038 80240DB8 00000000 */ nop +/* BC503C 80240DBC E6200014 */ swc1 $f0, 0x14($s1) +/* BC5040 80240DC0 E6200010 */ swc1 $f0, 0x10($s1) +/* BC5044 80240DC4 E6200000 */ swc1 $f0, ($s1) +/* BC5048 80240DC8 08090375 */ j .L80240DD4 +/* BC504C 80240DCC E6200008 */ swc1 $f0, 8($s1) +.L80240DD0: +/* BC5050 80240DD0 AE42007C */ sw $v0, 0x7c($s2) +.L80240DD4: +/* BC5054 80240DD4 C6200010 */ lwc1 $f0, 0x10($s1) +/* BC5058 80240DD8 C6220014 */ lwc1 $f2, 0x14($s1) +/* BC505C 80240DDC 46020001 */ sub.s $f0, $f0, $f2 +/* BC5060 80240DE0 C6220008 */ lwc1 $f2, 8($s1) +/* BC5064 80240DE4 46001080 */ add.s $f2, $f2, $f0 +/* BC5068 80240DE8 E6200000 */ swc1 $f0, ($s1) +/* BC506C 80240DEC E6220008 */ swc1 $f2, 8($s1) +.L80240DF0: +/* BC5070 80240DF0 C6220008 */ lwc1 $f2, 8($s1) +/* BC5074 80240DF4 3C01C0E0 */ lui $at, 0xc0e0 +/* BC5078 80240DF8 44810000 */ mtc1 $at, $f0 +/* BC507C 80240DFC 00000000 */ nop +/* BC5080 80240E00 4600103E */ c.le.s $f2, $f0 +/* BC5084 80240E04 00000000 */ nop +/* BC5088 80240E08 45000013 */ bc1f .L80240E58 +/* BC508C 80240E0C 2410FFFF */ addiu $s0, $zero, -1 +/* BC5090 80240E10 8E420078 */ lw $v0, 0x78($s2) +/* BC5094 80240E14 10500011 */ beq $v0, $s0, .L80240E5C +/* BC5098 80240E18 27A50058 */ addiu $a1, $sp, 0x58 +/* BC509C 80240E1C 2404003C */ addiu $a0, $zero, 0x3c +/* BC50A0 80240E20 27A6005C */ addiu $a2, $sp, 0x5c +/* BC50A4 80240E24 0C016F84 */ jal get_collider_center +/* BC50A8 80240E28 27A70060 */ addiu $a3, $sp, 0x60 +/* BC50AC 80240E2C 240401D6 */ addiu $a0, $zero, 0x1d6 +/* BC50B0 80240E30 C7A00058 */ lwc1 $f0, 0x58($sp) +/* BC50B4 80240E34 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* BC50B8 80240E38 44060000 */ mfc1 $a2, $f0 +/* BC50BC 80240E3C 44071000 */ mfc1 $a3, $f2 +/* BC50C0 80240E40 C7A00060 */ lwc1 $f0, 0x60($sp) +/* BC50C4 80240E44 0000282D */ daddu $a1, $zero, $zero +/* BC50C8 80240E48 0C052757 */ jal play_sound_at_position +/* BC50CC 80240E4C E7A00010 */ swc1 $f0, 0x10($sp) +/* BC50D0 80240E50 08090397 */ j .L80240E5C +/* BC50D4 80240E54 AE500078 */ sw $s0, 0x78($s2) +.L80240E58: +/* BC50D8 80240E58 AE400078 */ sw $zero, 0x78($s2) +.L80240E5C: +/* BC50DC 80240E5C C6200008 */ lwc1 $f0, 8($s1) +/* BC50E0 80240E60 46000002 */ mul.s $f0, $f0, $f0 +/* BC50E4 80240E64 00000000 */ nop +/* BC50E8 80240E68 3C0142B4 */ lui $at, 0x42b4 +/* BC50EC 80240E6C 44811000 */ mtc1 $at, $f2 +/* BC50F0 80240E70 24040081 */ addiu $a0, $zero, 0x81 +/* BC50F4 80240E74 46020003 */ div.s $f0, $f0, $f2 +/* BC50F8 80240E78 0C046C04 */ jal get_model_list_index_from_tree_index +/* BC50FC 80240E7C E620000C */ swc1 $f0, 0xc($s1) +/* BC5100 80240E80 0C046B4C */ jal get_model_from_list_index +/* BC5104 80240E84 0040202D */ daddu $a0, $v0, $zero +/* BC5108 80240E88 0040182D */ daddu $v1, $v0, $zero +/* BC510C 80240E8C 24700058 */ addiu $s0, $v1, 0x58 +/* BC5110 80240E90 4480A000 */ mtc1 $zero, $f20 +/* BC5114 80240E94 94620000 */ lhu $v0, ($v1) +/* BC5118 80240E98 4405A000 */ mfc1 $a1, $f20 +/* BC511C 80240E9C 4407A000 */ mfc1 $a3, $f20 +/* BC5120 80240EA0 34421400 */ ori $v0, $v0, 0x1400 +/* BC5124 80240EA4 A4620000 */ sh $v0, ($v1) +/* BC5128 80240EA8 8E26000C */ lw $a2, 0xc($s1) +/* BC512C 80240EAC 3C013F80 */ lui $at, 0x3f80 +/* BC5130 80240EB0 4481B000 */ mtc1 $at, $f22 +/* BC5134 80240EB4 0C019E40 */ jal guTranslateF +/* BC5138 80240EB8 0200202D */ daddu $a0, $s0, $zero +/* BC513C 80240EBC E7B60010 */ swc1 $f22, 0x10($sp) +/* BC5140 80240EC0 8E250008 */ lw $a1, 8($s1) +/* BC5144 80240EC4 4406A000 */ mfc1 $a2, $f20 +/* BC5148 80240EC8 4407A000 */ mfc1 $a3, $f20 +/* BC514C 80240ECC 0C019EC8 */ jal guRotateF +/* BC5150 80240ED0 27A40018 */ addiu $a0, $sp, 0x18 +/* BC5154 80240ED4 0200202D */ daddu $a0, $s0, $zero +/* BC5158 80240ED8 27A50018 */ addiu $a1, $sp, 0x18 +/* BC515C 80240EDC 0C019D80 */ jal guMtxCatF +/* BC5160 80240EE0 0080302D */ daddu $a2, $a0, $zero +/* BC5164 80240EE4 0C016E89 */ jal update_collider_transform +/* BC5168 80240EE8 2404003C */ addiu $a0, $zero, 0x3c +/* BC516C 80240EEC 0C016E89 */ jal update_collider_transform +/* BC5170 80240EF0 2404003B */ addiu $a0, $zero, 0x3b +/* BC5174 80240EF4 0C046C04 */ jal get_model_list_index_from_tree_index +/* BC5178 80240EF8 24040080 */ addiu $a0, $zero, 0x80 +/* BC517C 80240EFC 0C046B4C */ jal get_model_from_list_index +/* BC5180 80240F00 0040202D */ daddu $a0, $v0, $zero +/* BC5184 80240F04 0040182D */ daddu $v1, $v0, $zero +/* BC5188 80240F08 24700058 */ addiu $s0, $v1, 0x58 +/* BC518C 80240F0C 4405A000 */ mfc1 $a1, $f20 +/* BC5190 80240F10 94620000 */ lhu $v0, ($v1) +/* BC5194 80240F14 4407A000 */ mfc1 $a3, $f20 +/* BC5198 80240F18 34421400 */ ori $v0, $v0, 0x1400 +/* BC519C 80240F1C A4620000 */ sh $v0, ($v1) +/* BC51A0 80240F20 8E26000C */ lw $a2, 0xc($s1) +/* BC51A4 80240F24 0C019E40 */ jal guTranslateF +/* BC51A8 80240F28 0200202D */ daddu $a0, $s0, $zero +/* BC51AC 80240F2C E7B60010 */ swc1 $f22, 0x10($sp) +/* BC51B0 80240F30 8E250008 */ lw $a1, 8($s1) +/* BC51B4 80240F34 4406A000 */ mfc1 $a2, $f20 +/* BC51B8 80240F38 4407A000 */ mfc1 $a3, $f20 +/* BC51BC 80240F3C 0C019EC8 */ jal guRotateF +/* BC51C0 80240F40 27A40018 */ addiu $a0, $sp, 0x18 +/* BC51C4 80240F44 0200202D */ daddu $a0, $s0, $zero +/* BC51C8 80240F48 27A50018 */ addiu $a1, $sp, 0x18 +/* BC51CC 80240F4C 0C019D80 */ jal guMtxCatF +/* BC51D0 80240F50 0080302D */ daddu $a2, $a0, $zero +/* BC51D4 80240F54 0C046C04 */ jal get_model_list_index_from_tree_index +/* BC51D8 80240F58 2404007F */ addiu $a0, $zero, 0x7f +/* BC51DC 80240F5C 0C046B4C */ jal get_model_from_list_index +/* BC51E0 80240F60 0040202D */ daddu $a0, $v0, $zero +/* BC51E4 80240F64 0040182D */ daddu $v1, $v0, $zero +/* BC51E8 80240F68 24700058 */ addiu $s0, $v1, 0x58 +/* BC51EC 80240F6C 4405A000 */ mfc1 $a1, $f20 +/* BC51F0 80240F70 94620000 */ lhu $v0, ($v1) +/* BC51F4 80240F74 4407A000 */ mfc1 $a3, $f20 +/* BC51F8 80240F78 34421400 */ ori $v0, $v0, 0x1400 +/* BC51FC 80240F7C A4620000 */ sh $v0, ($v1) +/* BC5200 80240F80 8E26000C */ lw $a2, 0xc($s1) +/* BC5204 80240F84 0C019E40 */ jal guTranslateF +/* BC5208 80240F88 0200202D */ daddu $a0, $s0, $zero +/* BC520C 80240F8C 4406A000 */ mfc1 $a2, $f20 +/* BC5210 80240F90 27A40018 */ addiu $a0, $sp, 0x18 +/* BC5214 80240F94 E7B60010 */ swc1 $f22, 0x10($sp) +/* BC5218 80240F98 8E250008 */ lw $a1, 8($s1) +/* BC521C 80240F9C 0C019EC8 */ jal guRotateF +/* BC5220 80240FA0 00C0382D */ daddu $a3, $a2, $zero +/* BC5224 80240FA4 0200202D */ daddu $a0, $s0, $zero +/* BC5228 80240FA8 27A50018 */ addiu $a1, $sp, 0x18 +/* BC522C 80240FAC 0C019D80 */ jal guMtxCatF +/* BC5230 80240FB0 0080302D */ daddu $a2, $a0, $zero +/* BC5234 80240FB4 0C016E89 */ jal update_collider_transform +/* BC5238 80240FB8 2404003A */ addiu $a0, $zero, 0x3a +/* BC523C 80240FBC 8FBF0078 */ lw $ra, 0x78($sp) +/* BC5240 80240FC0 8FB30074 */ lw $s3, 0x74($sp) +/* BC5244 80240FC4 8FB20070 */ lw $s2, 0x70($sp) +/* BC5248 80240FC8 8FB1006C */ lw $s1, 0x6c($sp) +/* BC524C 80240FCC 8FB00068 */ lw $s0, 0x68($sp) +/* BC5250 80240FD0 D7B60088 */ ldc1 $f22, 0x88($sp) +/* BC5254 80240FD4 D7B40080 */ ldc1 $f20, 0x80($sp) +/* BC5258 80240FD8 0000102D */ daddu $v0, $zero, $zero +/* BC525C 80240FDC 03E00008 */ jr $ra +/* BC5260 80240FE0 27BD0090 */ addiu $sp, $sp, 0x90 +/* BC5264 80240FE4 00000000 */ nop +/* BC5268 80240FE8 00000000 */ nop +/* BC526C 80240FEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240000_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240000_BC7E60.s new file mode 100644 index 0000000000..be2de68a8c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240000_BC7E60.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BC7E60 +/* BC7E60 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC7E64 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* BC7E68 80240008 0080802D */ daddu $s0, $a0, $zero +/* BC7E6C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* BC7E70 80240010 0C04C3D6 */ jal get_item_entity +/* BC7E74 80240014 8E040084 */ lw $a0, 0x84($s0) +/* BC7E78 80240018 8E040084 */ lw $a0, 0x84($s0) +/* BC7E7C 8024001C 0040802D */ daddu $s0, $v0, $zero +/* BC7E80 80240020 0C04D052 */ jal set_item_entity_flags +/* BC7E84 80240024 3C050008 */ lui $a1, 8 +/* BC7E88 80240028 240300FF */ addiu $v1, $zero, 0xff +/* BC7E8C 8024002C A203002F */ sb $v1, 0x2f($s0) +/* BC7E90 80240030 8FBF0014 */ lw $ra, 0x14($sp) +/* BC7E94 80240034 8FB00010 */ lw $s0, 0x10($sp) +/* BC7E98 80240038 24020002 */ addiu $v0, $zero, 2 +/* BC7E9C 8024003C 03E00008 */ jr $ra +/* BC7EA0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* BC7EA4 80240044 00000000 */ nop +/* BC7EA8 80240048 00000000 */ nop +/* BC7EAC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240050_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240050_BC7E60.s new file mode 100644 index 0000000000..ad9224c146 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240050_BC7E60.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_BC7EB0 +/* BC7EB0 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC7EB4 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* BC7EB8 80240058 0080882D */ daddu $s1, $a0, $zero +/* BC7EBC 8024005C AFBF0018 */ sw $ra, 0x18($sp) +/* BC7EC0 80240060 AFB00010 */ sw $s0, 0x10($sp) +/* BC7EC4 80240064 0C00EABB */ jal get_npc_unsafe +/* BC7EC8 80240068 8E24014C */ lw $a0, 0x14c($s1) +/* BC7ECC 8024006C 24040004 */ addiu $a0, $zero, 4 +/* BC7ED0 80240070 0C00AB39 */ jal heap_malloc +/* BC7ED4 80240074 0040802D */ daddu $s0, $v0, $zero +/* BC7ED8 80240078 3C0142FA */ lui $at, 0x42fa +/* BC7EDC 8024007C 44810000 */ mtc1 $at, $f0 +/* BC7EE0 80240080 3C01C45A */ lui $at, 0xc45a +/* BC7EE4 80240084 3421C000 */ ori $at, $at, 0xc000 +/* BC7EE8 80240088 44811000 */ mtc1 $at, $f2 +/* BC7EEC 8024008C 0040182D */ daddu $v1, $v0, $zero +/* BC7EF0 80240090 AE030020 */ sw $v1, 0x20($s0) +/* BC7EF4 80240094 AC600000 */ sw $zero, ($v1) +/* BC7EF8 80240098 2403003C */ addiu $v1, $zero, 0x3c +/* BC7EFC 8024009C AE00000C */ sw $zero, 0xc($s0) +/* BC7F00 802400A0 AE000038 */ sw $zero, 0x38($s0) +/* BC7F04 802400A4 AE000040 */ sw $zero, 0x40($s0) +/* BC7F08 802400A8 A603008E */ sh $v1, 0x8e($s0) +/* BC7F0C 802400AC E6000010 */ swc1 $f0, 0x10($s0) +/* BC7F10 802400B0 E602003C */ swc1 $f2, 0x3c($s0) +/* BC7F14 802400B4 AE200074 */ sw $zero, 0x74($s1) +/* BC7F18 802400B8 8FBF0018 */ lw $ra, 0x18($sp) +/* BC7F1C 802400BC 8FB10014 */ lw $s1, 0x14($sp) +/* BC7F20 802400C0 8FB00010 */ lw $s0, 0x10($sp) +/* BC7F24 802400C4 24020002 */ addiu $v0, $zero, 2 +/* BC7F28 802400C8 03E00008 */ jr $ra +/* BC7F2C 802400CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_802400D0_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_802400D0_BC7E60.s new file mode 100644 index 0000000000..1cde28976d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_802400D0_BC7E60.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D0_BC7F30 +/* BC7F30 802400D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BC7F34 802400D4 AFB00020 */ sw $s0, 0x20($sp) +/* BC7F38 802400D8 0080802D */ daddu $s0, $a0, $zero +/* BC7F3C 802400DC AFBF0024 */ sw $ra, 0x24($sp) +/* BC7F40 802400E0 C602000C */ lwc1 $f2, 0xc($s0) +/* BC7F44 802400E4 3C0143AA */ lui $at, 0x43aa +/* BC7F48 802400E8 44810000 */ mtc1 $at, $f0 +/* BC7F4C 802400EC 00000000 */ nop +/* BC7F50 802400F0 4602003C */ c.lt.s $f0, $f2 +/* BC7F54 802400F4 00000000 */ nop +/* BC7F58 802400F8 45010008 */ bc1t .L8024011C +/* BC7F5C 802400FC 0200202D */ daddu $a0, $s0, $zero +/* BC7F60 80240100 3C0141A0 */ lui $at, 0x41a0 +/* BC7F64 80240104 44810000 */ mtc1 $at, $f0 +/* BC7F68 80240108 00000000 */ nop +/* BC7F6C 8024010C 4600103C */ c.lt.s $f2, $f0 +/* BC7F70 80240110 00000000 */ nop +/* BC7F74 80240114 4500000E */ bc1f .L80240150 +/* BC7F78 80240118 24020016 */ addiu $v0, $zero, 0x16 +.L8024011C: +/* BC7F7C 8024011C 0000282D */ daddu $a1, $zero, $zero +/* BC7F80 80240120 00A0302D */ daddu $a2, $a1, $zero +/* BC7F84 80240124 2402000D */ addiu $v0, $zero, 0xd +/* BC7F88 80240128 A08200AA */ sb $v0, 0xaa($a0) +/* BC7F8C 8024012C A48000A2 */ sh $zero, 0xa2($a0) +/* BC7F90 80240130 AFA00010 */ sw $zero, 0x10($sp) +/* BC7F94 80240134 AFA00014 */ sw $zero, 0x14($sp) +/* BC7F98 80240138 948200A2 */ lhu $v0, 0xa2($a0) +/* BC7F9C 8024013C 00A0382D */ daddu $a3, $a1, $zero +/* BC7FA0 80240140 0C00F589 */ jal func_8003D624 +/* BC7FA4 80240144 AFA20018 */ sw $v0, 0x18($sp) +/* BC7FA8 80240148 08090062 */ j .L80240188 +/* BC7FAC 8024014C 00000000 */ nop +.L80240150: +/* BC7FB0 80240150 A20200AA */ sb $v0, 0xaa($s0) +/* BC7FB4 80240154 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BC7FB8 80240158 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BC7FBC 8024015C 0200202D */ daddu $a0, $s0, $zero +/* BC7FC0 80240160 9046000E */ lbu $a2, 0xe($v0) +/* BC7FC4 80240164 24050007 */ addiu $a1, $zero, 7 +/* BC7FC8 80240168 AFA00010 */ sw $zero, 0x10($sp) +/* BC7FCC 8024016C AFA00014 */ sw $zero, 0x14($sp) +/* BC7FD0 80240170 960200A2 */ lhu $v0, 0xa2($s0) +/* BC7FD4 80240174 240700FF */ addiu $a3, $zero, 0xff +/* BC7FD8 80240178 0C00F589 */ jal func_8003D624 +/* BC7FDC 8024017C AFA20018 */ sw $v0, 0x18($sp) +/* BC7FE0 80240180 240200FF */ addiu $v0, $zero, 0xff +/* BC7FE4 80240184 A602009A */ sh $v0, 0x9a($s0) +.L80240188: +/* BC7FE8 80240188 8FBF0024 */ lw $ra, 0x24($sp) +/* BC7FEC 8024018C 8FB00020 */ lw $s0, 0x20($sp) +/* BC7FF0 80240190 03E00008 */ jr $ra +/* BC7FF4 80240194 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240198.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240198.s new file mode 100644 index 0000000000..82002bf4e0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240198.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240198 +/* BC7FF8 80240198 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC7FFC 8024019C AFBF0010 */ sw $ra, 0x10($sp) +/* BC8000 802401A0 0C00EABB */ jal get_npc_unsafe +/* BC8004 802401A4 24040001 */ addiu $a0, $zero, 1 +/* BC8008 802401A8 0C090034 */ jal func_802400D0 +/* BC800C 802401AC 0040202D */ daddu $a0, $v0, $zero +/* BC8010 802401B0 0C00EABB */ jal get_npc_unsafe +/* BC8014 802401B4 24040002 */ addiu $a0, $zero, 2 +/* BC8018 802401B8 0C090034 */ jal func_802400D0 +/* BC801C 802401BC 0040202D */ daddu $a0, $v0, $zero +/* BC8020 802401C0 0C00EABB */ jal get_npc_unsafe +/* BC8024 802401C4 24040003 */ addiu $a0, $zero, 3 +/* BC8028 802401C8 0C090034 */ jal func_802400D0 +/* BC802C 802401CC 0040202D */ daddu $a0, $v0, $zero +/* BC8030 802401D0 0C00EABB */ jal get_npc_unsafe +/* BC8034 802401D4 24040004 */ addiu $a0, $zero, 4 +/* BC8038 802401D8 0C090034 */ jal func_802400D0 +/* BC803C 802401DC 0040202D */ daddu $a0, $v0, $zero +/* BC8040 802401E0 0C00EABB */ jal get_npc_unsafe +/* BC8044 802401E4 24040005 */ addiu $a0, $zero, 5 +/* BC8048 802401E8 0C090034 */ jal func_802400D0 +/* BC804C 802401EC 0040202D */ daddu $a0, $v0, $zero +/* BC8050 802401F0 0C00EABB */ jal get_npc_unsafe +/* BC8054 802401F4 24040006 */ addiu $a0, $zero, 6 +/* BC8058 802401F8 0C090034 */ jal func_802400D0 +/* BC805C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* BC8060 80240200 0C00EABB */ jal get_npc_unsafe +/* BC8064 80240204 24040007 */ addiu $a0, $zero, 7 +/* BC8068 80240208 0C090034 */ jal func_802400D0 +/* BC806C 8024020C 0040202D */ daddu $a0, $v0, $zero +/* BC8070 80240210 0C00EABB */ jal get_npc_unsafe +/* BC8074 80240214 24040008 */ addiu $a0, $zero, 8 +/* BC8078 80240218 0C090034 */ jal func_802400D0 +/* BC807C 8024021C 0040202D */ daddu $a0, $v0, $zero +/* BC8080 80240220 8FBF0010 */ lw $ra, 0x10($sp) +/* BC8084 80240224 03E00008 */ jr $ra +/* BC8088 80240228 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_8024022C_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_8024022C_BC7E60.s new file mode 100644 index 0000000000..21ddb4294c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_8024022C_BC7E60.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024022C_BC808C +/* BC808C 8024022C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC8090 80240230 AFBF0010 */ sw $ra, 0x10($sp) +/* BC8094 80240234 0C00EABB */ jal get_npc_unsafe +/* BC8098 80240238 24040001 */ addiu $a0, $zero, 1 +/* BC809C 8024023C 24040002 */ addiu $a0, $zero, 2 +/* BC80A0 80240240 0C00EABB */ jal get_npc_unsafe +/* BC80A4 80240244 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80A8 80240248 24040003 */ addiu $a0, $zero, 3 +/* BC80AC 8024024C 0C00EABB */ jal get_npc_unsafe +/* BC80B0 80240250 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80B4 80240254 24040004 */ addiu $a0, $zero, 4 +/* BC80B8 80240258 0C00EABB */ jal get_npc_unsafe +/* BC80BC 8024025C A44000A2 */ sh $zero, 0xa2($v0) +/* BC80C0 80240260 24040005 */ addiu $a0, $zero, 5 +/* BC80C4 80240264 0C00EABB */ jal get_npc_unsafe +/* BC80C8 80240268 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80CC 8024026C 24040006 */ addiu $a0, $zero, 6 +/* BC80D0 80240270 0C00EABB */ jal get_npc_unsafe +/* BC80D4 80240274 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80D8 80240278 24040007 */ addiu $a0, $zero, 7 +/* BC80DC 8024027C 0C00EABB */ jal get_npc_unsafe +/* BC80E0 80240280 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80E4 80240284 24040008 */ addiu $a0, $zero, 8 +/* BC80E8 80240288 0C00EABB */ jal get_npc_unsafe +/* BC80EC 8024028C A44000A2 */ sh $zero, 0xa2($v0) +/* BC80F0 80240290 A44000A2 */ sh $zero, 0xa2($v0) +/* BC80F4 80240294 8FBF0010 */ lw $ra, 0x10($sp) +/* BC80F8 80240298 03E00008 */ jr $ra +/* BC80FC 8024029C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_802402A0_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_802402A0_BC7E60.s new file mode 100644 index 0000000000..20ebb713cd --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_802402A0_BC7E60.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402A0_BC8100 +/* BC8100 802402A0 24020001 */ addiu $v0, $zero, 1 +/* BC8104 802402A4 1082000B */ beq $a0, $v0, .L802402D4 +/* BC8108 802402A8 2403000C */ addiu $v1, $zero, 0xc +/* BC810C 802402AC 28820002 */ slti $v0, $a0, 2 +/* BC8110 802402B0 1440000E */ bnez $v0, .L802402EC +/* BC8114 802402B4 0060102D */ daddu $v0, $v1, $zero +/* BC8118 802402B8 24020002 */ addiu $v0, $zero, 2 +/* BC811C 802402BC 10820007 */ beq $a0, $v0, .L802402DC +/* BC8120 802402C0 24020003 */ addiu $v0, $zero, 3 +/* BC8124 802402C4 10820007 */ beq $a0, $v0, .L802402E4 +/* BC8128 802402C8 0060102D */ daddu $v0, $v1, $zero +/* BC812C 802402CC 080900BB */ j .L802402EC +/* BC8130 802402D0 00000000 */ nop +.L802402D4: +/* BC8134 802402D4 080900BA */ j .L802402E8 +/* BC8138 802402D8 24030064 */ addiu $v1, $zero, 0x64 +.L802402DC: +/* BC813C 802402DC 080900BA */ j .L802402E8 +/* BC8140 802402E0 2403000D */ addiu $v1, $zero, 0xd +.L802402E4: +/* BC8144 802402E4 2403000E */ addiu $v1, $zero, 0xe +.L802402E8: +/* BC8148 802402E8 0060102D */ daddu $v0, $v1, $zero +.L802402EC: +/* BC814C 802402EC 03E00008 */ jr $ra +/* BC8150 802402F0 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_802402F4_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_802402F4_BC7E60.s new file mode 100644 index 0000000000..961bb65976 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_802402F4_BC7E60.s @@ -0,0 +1,197 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F4_BC8154 +/* BC8154 802402F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BC8158 802402F8 AFB10014 */ sw $s1, 0x14($sp) +/* BC815C 802402FC 0080882D */ daddu $s1, $a0, $zero +/* BC8160 80240300 AFBF0024 */ sw $ra, 0x24($sp) +/* BC8164 80240304 AFB40020 */ sw $s4, 0x20($sp) +/* BC8168 80240308 AFB3001C */ sw $s3, 0x1c($sp) +/* BC816C 8024030C AFB20018 */ sw $s2, 0x18($sp) +/* BC8170 80240310 AFB00010 */ sw $s0, 0x10($sp) +/* BC8174 80240314 8E24014C */ lw $a0, 0x14c($s1) +/* BC8178 80240318 0C00EABB */ jal get_npc_unsafe +/* BC817C 8024031C 2414000C */ addiu $s4, $zero, 0xc +/* BC8180 80240320 0040802D */ daddu $s0, $v0, $zero +/* BC8184 80240324 8E230074 */ lw $v1, 0x74($s1) +/* BC8188 80240328 8E130020 */ lw $s3, 0x20($s0) +/* BC818C 8024032C 10740057 */ beq $v1, $s4, .L8024048C +/* BC8190 80240330 2862000D */ slti $v0, $v1, 0xd +/* BC8194 80240334 1040000F */ beqz $v0, .L80240374 +/* BC8198 80240338 24120001 */ addiu $s2, $zero, 1 +/* BC819C 8024033C 10720094 */ beq $v1, $s2, .L80240590 +/* BC81A0 80240340 28620002 */ slti $v0, $v1, 2 +/* BC81A4 80240344 10400005 */ beqz $v0, .L8024035C +/* BC81A8 80240348 2402000A */ addiu $v0, $zero, 0xa +/* BC81AC 8024034C 10600015 */ beqz $v1, .L802403A4 +/* BC81B0 80240350 0220202D */ daddu $a0, $s1, $zero +/* BC81B4 80240354 08090164 */ j .L80240590 +/* BC81B8 80240358 00000000 */ nop +.L8024035C: +/* BC81BC 8024035C 10620019 */ beq $v1, $v0, .L802403C4 +/* BC81C0 80240360 2402000B */ addiu $v0, $zero, 0xb +/* BC81C4 80240364 10620025 */ beq $v1, $v0, .L802403FC +/* BC81C8 80240368 00000000 */ nop +/* BC81CC 8024036C 08090164 */ j .L80240590 +/* BC81D0 80240370 00000000 */ nop +.L80240374: +/* BC81D4 80240374 2402000E */ addiu $v0, $zero, 0xe +/* BC81D8 80240378 1062005B */ beq $v1, $v0, .L802404E8 +/* BC81DC 8024037C 0062102A */ slt $v0, $v1, $v0 +/* BC81E0 80240380 1440004E */ bnez $v0, .L802404BC +/* BC81E4 80240384 0220202D */ daddu $a0, $s1, $zero +/* BC81E8 80240388 2402000F */ addiu $v0, $zero, 0xf +/* BC81EC 8024038C 10620069 */ beq $v1, $v0, .L80240534 +/* BC81F0 80240390 24020064 */ addiu $v0, $zero, 0x64 +/* BC81F4 80240394 10620079 */ beq $v1, $v0, .L8024057C +/* BC81F8 80240398 3C05FD05 */ lui $a1, 0xfd05 +/* BC81FC 8024039C 08090164 */ j .L80240590 +/* BC8200 802403A0 00000000 */ nop +.L802403A4: +/* BC8204 802403A4 3C05FD05 */ lui $a1, 0xfd05 +/* BC8208 802403A8 0C0B1EAF */ jal get_variable +/* BC820C 802403AC 34A50F81 */ ori $a1, $a1, 0xf81 +/* BC8210 802403B0 14520077 */ bne $v0, $s2, .L80240590 +/* BC8214 802403B4 00000000 */ nop +/* BC8218 802403B8 AE620000 */ sw $v0, ($s3) +/* BC821C 802403BC 08090163 */ j .L8024058C +/* BC8220 802403C0 2402000A */ addiu $v0, $zero, 0xa +.L802403C4: +/* BC8224 802403C4 C600000C */ lwc1 $f0, 0xc($s0) +/* BC8228 802403C8 3C014000 */ lui $at, 0x4000 +/* BC822C 802403CC 44816000 */ mtc1 $at, $f12 +/* BC8230 802403D0 0C00A6C9 */ jal clamp_angle +/* BC8234 802403D4 460C0300 */ add.s $f12, $f0, $f12 +/* BC8238 802403D8 9602008E */ lhu $v0, 0x8e($s0) +/* BC823C 802403DC E600000C */ swc1 $f0, 0xc($s0) +/* BC8240 802403E0 2442FFFF */ addiu $v0, $v0, -1 +/* BC8244 802403E4 A602008E */ sh $v0, 0x8e($s0) +/* BC8248 802403E8 00021400 */ sll $v0, $v0, 0x10 +/* BC824C 802403EC 14400068 */ bnez $v0, .L80240590 +/* BC8250 802403F0 2402000B */ addiu $v0, $zero, 0xb +/* BC8254 802403F4 08090164 */ j .L80240590 +/* BC8258 802403F8 AE220074 */ sw $v0, 0x74($s1) +.L802403FC: +/* BC825C 802403FC C602003C */ lwc1 $f2, 0x3c($s0) +/* BC8260 80240400 3C01C466 */ lui $at, 0xc466 +/* BC8264 80240404 44810000 */ mtc1 $at, $f0 +/* BC8268 80240408 00000000 */ nop +/* BC826C 8024040C 4600103E */ c.le.s $f2, $f0 +/* BC8270 80240410 00000000 */ nop +/* BC8274 80240414 45000003 */ bc1f .L80240424 +/* BC8278 80240418 00000000 */ nop +/* BC827C 8024041C 0C090066 */ jal func_80240198 +/* BC8280 80240420 00000000 */ nop +.L80240424: +/* BC8284 80240424 C600000C */ lwc1 $f0, 0xc($s0) +/* BC8288 80240428 3C014000 */ lui $at, 0x4000 +/* BC828C 8024042C 44816000 */ mtc1 $at, $f12 +/* BC8290 80240430 0C00A6C9 */ jal clamp_angle +/* BC8294 80240434 460C0300 */ add.s $f12, $f0, $f12 +/* BC8298 80240438 C604003C */ lwc1 $f4, 0x3c($s0) +/* BC829C 8024043C 3C013F00 */ lui $at, 0x3f00 +/* BC82A0 80240440 44811000 */ mtc1 $at, $f2 +/* BC82A4 80240444 00000000 */ nop +/* BC82A8 80240448 46022101 */ sub.s $f4, $f4, $f2 +/* BC82AC 8024044C 3C01C477 */ lui $at, 0xc477 +/* BC82B0 80240450 44811000 */ mtc1 $at, $f2 +/* BC82B4 80240454 E600000C */ swc1 $f0, 0xc($s0) +/* BC82B8 80240458 4602203E */ c.le.s $f4, $f2 +/* BC82BC 8024045C 00000000 */ nop +/* BC82C0 80240460 4500004B */ bc1f .L80240590 +/* BC82C4 80240464 E604003C */ swc1 $f4, 0x3c($s0) +/* BC82C8 80240468 0220202D */ daddu $a0, $s1, $zero +/* BC82CC 8024046C 3C05FD05 */ lui $a1, 0xfd05 +/* BC82D0 80240470 34A50F82 */ ori $a1, $a1, 0xf82 +/* BC82D4 80240474 0C0B2026 */ jal set_variable +/* BC82D8 80240478 24060001 */ addiu $a2, $zero, 1 +/* BC82DC 8024047C 0C09008B */ jal func_8024022C +/* BC82E0 80240480 00000000 */ nop +/* BC82E4 80240484 08090164 */ j .L80240590 +/* BC82E8 80240488 AE340074 */ sw $s4, 0x74($s1) +.L8024048C: +/* BC82EC 8024048C 0220202D */ daddu $a0, $s1, $zero +/* BC82F0 80240490 3C05FD05 */ lui $a1, 0xfd05 +/* BC82F4 80240494 0C0B1EAF */ jal get_variable +/* BC82F8 80240498 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC82FC 8024049C 0C0900A8 */ jal func_802402A0 +/* BC8300 802404A0 0040202D */ daddu $a0, $v0, $zero +/* BC8304 802404A4 AE220074 */ sw $v0, 0x74($s1) +/* BC8308 802404A8 C600000C */ lwc1 $f0, 0xc($s0) +/* BC830C 802404AC 3C014000 */ lui $at, 0x4000 +/* BC8310 802404B0 44816000 */ mtc1 $at, $f12 +/* BC8314 802404B4 0809015B */ j .L8024056C +/* BC8318 802404B8 460C0300 */ add.s $f12, $f0, $f12 +.L802404BC: +/* BC831C 802404BC 3C05FD05 */ lui $a1, 0xfd05 +/* BC8320 802404C0 0C0B1EAF */ jal get_variable +/* BC8324 802404C4 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC8328 802404C8 0C0900A8 */ jal func_802402A0 +/* BC832C 802404CC 0040202D */ daddu $a0, $v0, $zero +/* BC8330 802404D0 AE220074 */ sw $v0, 0x74($s1) +/* BC8334 802404D4 C600000C */ lwc1 $f0, 0xc($s0) +/* BC8338 802404D8 3C014000 */ lui $at, 0x4000 +/* BC833C 802404DC 44816000 */ mtc1 $at, $f12 +/* BC8340 802404E0 0809015B */ j .L8024056C +/* BC8344 802404E4 460C0301 */ sub.s $f12, $f0, $f12 +.L802404E8: +/* BC8348 802404E8 0220202D */ daddu $a0, $s1, $zero +/* BC834C 802404EC 3C05FD05 */ lui $a1, 0xfd05 +/* BC8350 802404F0 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC8354 802404F4 0C0B2026 */ jal set_variable +/* BC8358 802404F8 0000302D */ daddu $a2, $zero, $zero +/* BC835C 802404FC 9602008E */ lhu $v0, 0x8e($s0) +/* BC8360 80240500 24030032 */ addiu $v1, $zero, 0x32 +/* BC8364 80240504 24420001 */ addiu $v0, $v0, 1 +/* BC8368 80240508 A602008E */ sh $v0, 0x8e($s0) +/* BC836C 8024050C 00021400 */ sll $v0, $v0, 0x10 +/* BC8370 80240510 00021403 */ sra $v0, $v0, 0x10 +/* BC8374 80240514 14430002 */ bne $v0, $v1, .L80240520 +/* BC8378 80240518 2402000F */ addiu $v0, $zero, 0xf +/* BC837C 8024051C AE220074 */ sw $v0, 0x74($s1) +.L80240520: +/* BC8380 80240520 C6000010 */ lwc1 $f0, 0x10($s0) +/* BC8384 80240524 3C014000 */ lui $at, 0x4000 +/* BC8388 80240528 44811000 */ mtc1 $at, $f2 +/* BC838C 8024052C 08090158 */ j .L80240560 +/* BC8390 80240530 46020001 */ sub.s $f0, $f0, $f2 +.L80240534: +/* BC8394 80240534 9602008E */ lhu $v0, 0x8e($s0) +/* BC8398 80240538 2442FFFF */ addiu $v0, $v0, -1 +/* BC839C 8024053C A602008E */ sh $v0, 0x8e($s0) +/* BC83A0 80240540 00021400 */ sll $v0, $v0, 0x10 +/* BC83A4 80240544 50400001 */ beql $v0, $zero, .L8024054C +/* BC83A8 80240548 AE340074 */ sw $s4, 0x74($s1) +.L8024054C: +/* BC83AC 8024054C C6000010 */ lwc1 $f0, 0x10($s0) +/* BC83B0 80240550 3C014000 */ lui $at, 0x4000 +/* BC83B4 80240554 44811000 */ mtc1 $at, $f2 +/* BC83B8 80240558 00000000 */ nop +/* BC83BC 8024055C 46020000 */ add.s $f0, $f0, $f2 +.L80240560: +/* BC83C0 80240560 C60C000C */ lwc1 $f12, 0xc($s0) +/* BC83C4 80240564 46026300 */ add.s $f12, $f12, $f2 +/* BC83C8 80240568 E6000010 */ swc1 $f0, 0x10($s0) +.L8024056C: +/* BC83CC 8024056C 0C00A6C9 */ jal clamp_angle +/* BC83D0 80240570 00000000 */ nop +/* BC83D4 80240574 08090164 */ j .L80240590 +/* BC83D8 80240578 E600000C */ swc1 $f0, 0xc($s0) +.L8024057C: +/* BC83DC 8024057C 0C0B1EAF */ jal get_variable +/* BC83E0 80240580 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC83E4 80240584 0C0900A8 */ jal func_802402A0 +/* BC83E8 80240588 0040202D */ daddu $a0, $v0, $zero +.L8024058C: +/* BC83EC 8024058C AE220074 */ sw $v0, 0x74($s1) +.L80240590: +/* BC83F0 80240590 8FBF0024 */ lw $ra, 0x24($sp) +/* BC83F4 80240594 8FB40020 */ lw $s4, 0x20($sp) +/* BC83F8 80240598 8FB3001C */ lw $s3, 0x1c($sp) +/* BC83FC 8024059C 8FB20018 */ lw $s2, 0x18($sp) +/* BC8400 802405A0 8FB10014 */ lw $s1, 0x14($sp) +/* BC8404 802405A4 8FB00010 */ lw $s0, 0x10($sp) +/* BC8408 802405A8 24020002 */ addiu $v0, $zero, 2 +/* BC840C 802405AC 03E00008 */ jr $ra +/* BC8410 802405B0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_802405B4_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_802405B4_BC7E60.s new file mode 100644 index 0000000000..6611b4015f --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_802405B4_BC7E60.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B4_BC8414 +/* BC8414 802405B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC8418 802405B8 AFB10014 */ sw $s1, 0x14($sp) +/* BC841C 802405BC 0080882D */ daddu $s1, $a0, $zero +/* BC8420 802405C0 AFBF0018 */ sw $ra, 0x18($sp) +/* BC8424 802405C4 AFB00010 */ sw $s0, 0x10($sp) +/* BC8428 802405C8 0C00EABB */ jal get_npc_unsafe +/* BC842C 802405CC 8E24014C */ lw $a0, 0x14c($s1) +/* BC8430 802405D0 0000202D */ daddu $a0, $zero, $zero +/* BC8434 802405D4 0C00EABB */ jal get_npc_unsafe +/* BC8438 802405D8 0040802D */ daddu $s0, $v0, $zero +/* BC843C 802405DC AE020020 */ sw $v0, 0x20($s0) +/* BC8440 802405E0 8E23014C */ lw $v1, 0x14c($s1) +/* BC8444 802405E4 00032040 */ sll $a0, $v1, 1 +/* BC8448 802405E8 00832021 */ addu $a0, $a0, $v1 +/* BC844C 802405EC 00041900 */ sll $v1, $a0, 4 +/* BC8450 802405F0 00641823 */ subu $v1, $v1, $a0 +/* BC8454 802405F4 AE230078 */ sw $v1, 0x78($s1) +/* BC8458 802405F8 8E030000 */ lw $v1, ($s0) +/* BC845C 802405FC 3C040004 */ lui $a0, 4 +/* BC8460 80240600 00641825 */ or $v1, $v1, $a0 +/* BC8464 80240604 AE030000 */ sw $v1, ($s0) +/* BC8468 80240608 AE200074 */ sw $zero, 0x74($s1) +/* BC846C 8024060C 8FBF0018 */ lw $ra, 0x18($sp) +/* BC8470 80240610 8FB10014 */ lw $s1, 0x14($sp) +/* BC8474 80240614 8FB00010 */ lw $s0, 0x10($sp) +/* BC8478 80240618 24020002 */ addiu $v0, $zero, 2 +/* BC847C 8024061C 03E00008 */ jr $ra +/* BC8480 80240620 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240624_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240624_BC7E60.s new file mode 100644 index 0000000000..79b72478b8 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240624_BC7E60.s @@ -0,0 +1,199 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_BC8484 +/* BC8484 80240624 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BC8488 80240628 AFB30024 */ sw $s3, 0x24($sp) +/* BC848C 8024062C 0080982D */ daddu $s3, $a0, $zero +/* BC8490 80240630 AFBF002C */ sw $ra, 0x2c($sp) +/* BC8494 80240634 AFB40028 */ sw $s4, 0x28($sp) +/* BC8498 80240638 AFB20020 */ sw $s2, 0x20($sp) +/* BC849C 8024063C AFB1001C */ sw $s1, 0x1c($sp) +/* BC84A0 80240640 AFB00018 */ sw $s0, 0x18($sp) +/* BC84A4 80240644 F7B40030 */ sdc1 $f20, 0x30($sp) +/* BC84A8 80240648 8E64014C */ lw $a0, 0x14c($s3) +/* BC84AC 8024064C 0C00EABB */ jal get_npc_unsafe +/* BC84B0 80240650 24140002 */ addiu $s4, $zero, 2 +/* BC84B4 80240654 0040802D */ daddu $s0, $v0, $zero +/* BC84B8 80240658 8E110020 */ lw $s1, 0x20($s0) +/* BC84BC 8024065C 8E630074 */ lw $v1, 0x74($s3) +/* BC84C0 80240660 8E320020 */ lw $s2, 0x20($s1) +/* BC84C4 80240664 1074003E */ beq $v1, $s4, .L80240760 +/* BC84C8 80240668 28620003 */ slti $v0, $v1, 3 +/* BC84CC 8024066C 10400007 */ beqz $v0, .L8024068C +/* BC84D0 80240670 2862000C */ slti $v0, $v1, 0xc +/* BC84D4 80240674 1060000D */ beqz $v1, .L802406AC +/* BC84D8 80240678 24020001 */ addiu $v0, $zero, 1 +/* BC84DC 8024067C 1062001B */ beq $v1, $v0, .L802406EC +/* BC84E0 80240680 00000000 */ nop +/* BC84E4 80240684 0809023A */ j .L802408E8 +/* BC84E8 80240688 00000000 */ nop +.L8024068C: +/* BC84EC 8024068C 14400096 */ bnez $v0, .L802408E8 +/* BC84F0 80240690 2862000F */ slti $v0, $v1, 0xf +/* BC84F4 80240694 14400071 */ bnez $v0, .L8024085C +/* BC84F8 80240698 24020064 */ addiu $v0, $zero, 0x64 +/* BC84FC 8024069C 1062008C */ beq $v1, $v0, .L802408D0 +/* BC8500 802406A0 0260202D */ daddu $a0, $s3, $zero +/* BC8504 802406A4 0809023A */ j .L802408E8 +/* BC8508 802406A8 00000000 */ nop +.L802406AC: +/* BC850C 802406AC C620000C */ lwc1 $f0, 0xc($s1) +/* BC8510 802406B0 C66C0078 */ lwc1 $f12, 0x78($s3) +/* BC8514 802406B4 46806320 */ cvt.s.w $f12, $f12 +/* BC8518 802406B8 0C00A6C9 */ jal clamp_angle +/* BC851C 802406BC 46006300 */ add.s $f12, $f12, $f0 +/* BC8520 802406C0 E600000C */ swc1 $f0, 0xc($s0) +/* BC8524 802406C4 8E430000 */ lw $v1, ($s2) +/* BC8528 802406C8 24020001 */ addiu $v0, $zero, 1 +/* BC852C 802406CC 14620086 */ bne $v1, $v0, .L802408E8 +/* BC8530 802406D0 00000000 */ nop +/* BC8534 802406D4 24040014 */ addiu $a0, $zero, 0x14 +/* BC8538 802406D8 0C00A67F */ jal rand_int +/* BC853C 802406DC AE630074 */ sw $v1, 0x74($s3) +/* BC8540 802406E0 2442000A */ addiu $v0, $v0, 0xa +/* BC8544 802406E4 0809023A */ j .L802408E8 +/* BC8548 802406E8 A602008E */ sh $v0, 0x8e($s0) +.L802406EC: +/* BC854C 802406EC C620000C */ lwc1 $f0, 0xc($s1) +/* BC8550 802406F0 C66C0078 */ lwc1 $f12, 0x78($s3) +/* BC8554 802406F4 46806320 */ cvt.s.w $f12, $f12 +/* BC8558 802406F8 0C00A6C9 */ jal clamp_angle +/* BC855C 802406FC 46006300 */ add.s $f12, $f12, $f0 +/* BC8560 80240700 9602008E */ lhu $v0, 0x8e($s0) +/* BC8564 80240704 E600000C */ swc1 $f0, 0xc($s0) +/* BC8568 80240708 2442FFFF */ addiu $v0, $v0, -1 +/* BC856C 8024070C A602008E */ sh $v0, 0x8e($s0) +/* BC8570 80240710 00021400 */ sll $v0, $v0, 0x10 +/* BC8574 80240714 14400074 */ bnez $v0, .L802408E8 +/* BC8578 80240718 00000000 */ nop +/* BC857C 8024071C 3C04B000 */ lui $a0, 0xb000 +/* BC8580 80240720 C6000040 */ lwc1 $f0, 0x40($s0) +/* BC8584 80240724 3484000F */ ori $a0, $a0, 0xf +/* BC8588 80240728 E7A00010 */ swc1 $f0, 0x10($sp) +/* BC858C 8024072C 8E060038 */ lw $a2, 0x38($s0) +/* BC8590 80240730 8E07003C */ lw $a3, 0x3c($s0) +/* BC8594 80240734 0C052757 */ jal play_sound_at_position +/* BC8598 80240738 0000282D */ daddu $a1, $zero, $zero +/* BC859C 8024073C AE740074 */ sw $s4, 0x74($s3) +/* BC85A0 80240740 C6000038 */ lwc1 $f0, 0x38($s0) +/* BC85A4 80240744 C602003C */ lwc1 $f2, 0x3c($s0) +/* BC85A8 80240748 C6040040 */ lwc1 $f4, 0x40($s0) +/* BC85AC 8024074C A600008E */ sh $zero, 0x8e($s0) +/* BC85B0 80240750 E6000060 */ swc1 $f0, 0x60($s0) +/* BC85B4 80240754 E6020064 */ swc1 $f2, 0x64($s0) +/* BC85B8 80240758 0809023A */ j .L802408E8 +/* BC85BC 8024075C E6040068 */ swc1 $f4, 0x68($s0) +.L80240760: +/* BC85C0 80240760 C620000C */ lwc1 $f0, 0xc($s1) +/* BC85C4 80240764 C66C0078 */ lwc1 $f12, 0x78($s3) +/* BC85C8 80240768 46806320 */ cvt.s.w $f12, $f12 +/* BC85CC 8024076C 0C00A6C9 */ jal clamp_angle +/* BC85D0 80240770 46006300 */ add.s $f12, $f12, $f0 +/* BC85D4 80240774 46000506 */ mov.s $f20, $f0 +/* BC85D8 80240778 4406A000 */ mfc1 $a2, $f20 +/* BC85DC 8024077C 00000000 */ nop +/* BC85E0 80240780 AE06000C */ sw $a2, 0xc($s0) +/* BC85E4 80240784 C6200038 */ lwc1 $f0, 0x38($s1) +/* BC85E8 80240788 E6000038 */ swc1 $f0, 0x38($s0) +/* BC85EC 8024078C C6200040 */ lwc1 $f0, 0x40($s1) +/* BC85F0 80240790 E6000040 */ swc1 $f0, 0x40($s0) +/* BC85F4 80240794 8E250010 */ lw $a1, 0x10($s1) +/* BC85F8 80240798 0C00EA95 */ jal npc_move_heading +/* BC85FC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* BC8600 802407A0 8602008E */ lh $v0, 0x8e($s0) +/* BC8604 802407A4 3C014220 */ lui $at, 0x4220 +/* BC8608 802407A8 44810000 */ mtc1 $at, $f0 +/* BC860C 802407AC 44822000 */ mtc1 $v0, $f4 +/* BC8610 802407B0 00000000 */ nop +/* BC8614 802407B4 46802120 */ cvt.s.w $f4, $f4 +/* BC8618 802407B8 46040101 */ sub.s $f4, $f0, $f4 +/* BC861C 802407BC 46002103 */ div.s $f4, $f4, $f0 +/* BC8620 802407C0 46042282 */ mul.s $f10, $f4, $f4 +/* BC8624 802407C4 00000000 */ nop +/* BC8628 802407C8 46045102 */ mul.s $f4, $f10, $f4 +/* BC862C 802407CC 00000000 */ nop +/* BC8630 802407D0 C60E0038 */ lwc1 $f14, 0x38($s0) +/* BC8634 802407D4 C6080060 */ lwc1 $f8, 0x60($s0) +/* BC8638 802407D8 46087201 */ sub.s $f8, $f14, $f8 +/* BC863C 802407DC 460A4202 */ mul.s $f8, $f8, $f10 +/* BC8640 802407E0 00000000 */ nop +/* BC8644 802407E4 C60C0040 */ lwc1 $f12, 0x40($s0) +/* BC8648 802407E8 C6060068 */ lwc1 $f6, 0x68($s0) +/* BC864C 802407EC 46066181 */ sub.s $f6, $f12, $f6 +/* BC8650 802407F0 460A3182 */ mul.s $f6, $f6, $f10 +/* BC8654 802407F4 00000000 */ nop +/* BC8658 802407F8 C622003C */ lwc1 $f2, 0x3c($s1) +/* BC865C 802407FC 3C01447A */ lui $at, 0x447a +/* BC8660 80240800 44810000 */ mtc1 $at, $f0 +/* BC8664 80240804 00000000 */ nop +/* BC8668 80240808 46001080 */ add.s $f2, $f2, $f0 +/* BC866C 8024080C C6000064 */ lwc1 $f0, 0x64($s0) +/* BC8670 80240810 46001001 */ sub.s $f0, $f2, $f0 +/* BC8674 80240814 46040002 */ mul.s $f0, $f0, $f4 +/* BC8678 80240818 00000000 */ nop +/* BC867C 8024081C 9602008E */ lhu $v0, 0x8e($s0) +/* BC8680 80240820 24030028 */ addiu $v1, $zero, 0x28 +/* BC8684 80240824 24420001 */ addiu $v0, $v0, 1 +/* BC8688 80240828 46087381 */ sub.s $f14, $f14, $f8 +/* BC868C 8024082C A602008E */ sh $v0, 0x8e($s0) +/* BC8690 80240830 00021400 */ sll $v0, $v0, 0x10 +/* BC8694 80240834 46066301 */ sub.s $f12, $f12, $f6 +/* BC8698 80240838 00021403 */ sra $v0, $v0, 0x10 +/* BC869C 8024083C E602003C */ swc1 $f2, 0x3c($s0) +/* BC86A0 80240840 46001081 */ sub.s $f2, $f2, $f0 +/* BC86A4 80240844 E60E0038 */ swc1 $f14, 0x38($s0) +/* BC86A8 80240848 E60C0040 */ swc1 $f12, 0x40($s0) +/* BC86AC 8024084C 14430026 */ bne $v0, $v1, .L802408E8 +/* BC86B0 80240850 E602003C */ swc1 $f2, 0x3c($s0) +/* BC86B4 80240854 08090239 */ j .L802408E4 +/* BC86B8 80240858 2402000C */ addiu $v0, $zero, 0xc +.L8024085C: +/* BC86BC 8024085C C620000C */ lwc1 $f0, 0xc($s1) +/* BC86C0 80240860 C66C0078 */ lwc1 $f12, 0x78($s3) +/* BC86C4 80240864 46806320 */ cvt.s.w $f12, $f12 +/* BC86C8 80240868 0C00A6C9 */ jal clamp_angle +/* BC86CC 8024086C 46006300 */ add.s $f12, $f12, $f0 +/* BC86D0 80240870 46000506 */ mov.s $f20, $f0 +/* BC86D4 80240874 0260202D */ daddu $a0, $s3, $zero +/* BC86D8 80240878 3C05FD05 */ lui $a1, 0xfd05 +/* BC86DC 8024087C 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC86E0 80240880 0C0B1EAF */ jal get_variable +/* BC86E4 80240884 E614000C */ swc1 $f20, 0xc($s0) +/* BC86E8 80240888 0C0900A8 */ jal func_802402A0 +/* BC86EC 8024088C 0040202D */ daddu $a0, $v0, $zero +/* BC86F0 80240890 AE620074 */ sw $v0, 0x74($s3) +/* BC86F4 80240894 C6200038 */ lwc1 $f0, 0x38($s1) +/* BC86F8 80240898 4406A000 */ mfc1 $a2, $f20 +/* BC86FC 8024089C E6000038 */ swc1 $f0, 0x38($s0) +/* BC8700 802408A0 C6200040 */ lwc1 $f0, 0x40($s1) +/* BC8704 802408A4 E6000040 */ swc1 $f0, 0x40($s0) +/* BC8708 802408A8 8E250010 */ lw $a1, 0x10($s1) +/* BC870C 802408AC 0C00EA95 */ jal npc_move_heading +/* BC8710 802408B0 0200202D */ daddu $a0, $s0, $zero +/* BC8714 802408B4 C620003C */ lwc1 $f0, 0x3c($s1) +/* BC8718 802408B8 3C01447A */ lui $at, 0x447a +/* BC871C 802408BC 44811000 */ mtc1 $at, $f2 +/* BC8720 802408C0 00000000 */ nop +/* BC8724 802408C4 46020000 */ add.s $f0, $f0, $f2 +/* BC8728 802408C8 0809023A */ j .L802408E8 +/* BC872C 802408CC E600003C */ swc1 $f0, 0x3c($s0) +.L802408D0: +/* BC8730 802408D0 3C05FD05 */ lui $a1, 0xfd05 +/* BC8734 802408D4 0C0B1EAF */ jal get_variable +/* BC8738 802408D8 34A50F83 */ ori $a1, $a1, 0xf83 +/* BC873C 802408DC 0C0900A8 */ jal func_802402A0 +/* BC8740 802408E0 0040202D */ daddu $a0, $v0, $zero +.L802408E4: +/* BC8744 802408E4 AE620074 */ sw $v0, 0x74($s3) +.L802408E8: +/* BC8748 802408E8 8FBF002C */ lw $ra, 0x2c($sp) +/* BC874C 802408EC 8FB40028 */ lw $s4, 0x28($sp) +/* BC8750 802408F0 8FB30024 */ lw $s3, 0x24($sp) +/* BC8754 802408F4 8FB20020 */ lw $s2, 0x20($sp) +/* BC8758 802408F8 8FB1001C */ lw $s1, 0x1c($sp) +/* BC875C 802408FC 8FB00018 */ lw $s0, 0x18($sp) +/* BC8760 80240900 D7B40030 */ ldc1 $f20, 0x30($sp) +/* BC8764 80240904 24020002 */ addiu $v0, $zero, 2 +/* BC8768 80240908 03E00008 */ jr $ra +/* BC876C 8024090C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240910_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240910_BC7E60.s new file mode 100644 index 0000000000..c56bc5c8e8 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240910_BC7E60.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240910_BC8770 +/* BC8770 80240910 3C018011 */ lui $at, 0x8011 +/* BC8774 80240914 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* BC8778 80240918 3C01C248 */ lui $at, 0xc248 +/* BC877C 8024091C 44810000 */ mtc1 $at, $f0 +/* BC8780 80240920 00000000 */ nop +/* BC8784 80240924 4600103C */ c.lt.s $f2, $f0 +/* BC8788 80240928 00000000 */ nop +/* BC878C 8024092C 45010002 */ bc1t .L80240938 +/* BC8790 80240930 24020002 */ addiu $v0, $zero, 2 +/* BC8794 80240934 0000102D */ daddu $v0, $zero, $zero +.L80240938: +/* BC8798 80240938 03E00008 */ jr $ra +/* BC879C 8024093C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240940_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240940_BC7E60.s new file mode 100644 index 0000000000..7ad09025c8 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240940_BC7E60.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240940_BC87A0 +/* BC87A0 80240940 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC87A4 80240944 AFB00010 */ sw $s0, 0x10($sp) +/* BC87A8 80240948 3C108024 */ lui $s0, 0x8024 +/* BC87AC 8024094C 26103A10 */ addiu $s0, $s0, 0x3a10 +/* BC87B0 80240950 AFBF0018 */ sw $ra, 0x18($sp) +/* BC87B4 80240954 AFB10014 */ sw $s1, 0x14($sp) +/* BC87B8 80240958 8E020000 */ lw $v0, ($s0) +/* BC87BC 8024095C 14400010 */ bnez $v0, .L802409A0 +/* BC87C0 80240960 0080882D */ daddu $s1, $a0, $zero +/* BC87C4 80240964 0C00AB39 */ jal heap_malloc +/* BC87C8 80240968 24040040 */ addiu $a0, $zero, 0x40 +/* BC87CC 8024096C AE020000 */ sw $v0, ($s0) +/* BC87D0 80240970 0000182D */ daddu $v1, $zero, $zero +/* BC87D4 80240974 0040282D */ daddu $a1, $v0, $zero +/* BC87D8 80240978 0220202D */ daddu $a0, $s1, $zero +.L8024097C: +/* BC87DC 8024097C 8C820084 */ lw $v0, 0x84($a0) +/* BC87E0 80240980 24840004 */ addiu $a0, $a0, 4 +/* BC87E4 80240984 24630001 */ addiu $v1, $v1, 1 +/* BC87E8 80240988 ACA20000 */ sw $v0, ($a1) +/* BC87EC 8024098C 28620010 */ slti $v0, $v1, 0x10 +/* BC87F0 80240990 1440FFFA */ bnez $v0, .L8024097C +/* BC87F4 80240994 24A50004 */ addiu $a1, $a1, 4 +/* BC87F8 80240998 08090277 */ j .L802409DC +/* BC87FC 8024099C 00000000 */ nop +.L802409A0: +/* BC8800 802409A0 0000182D */ daddu $v1, $zero, $zero +/* BC8804 802409A4 0040282D */ daddu $a1, $v0, $zero +/* BC8808 802409A8 0220202D */ daddu $a0, $s1, $zero +.L802409AC: +/* BC880C 802409AC 8CA20000 */ lw $v0, ($a1) +/* BC8810 802409B0 24A50004 */ addiu $a1, $a1, 4 +/* BC8814 802409B4 24630001 */ addiu $v1, $v1, 1 +/* BC8818 802409B8 AC820084 */ sw $v0, 0x84($a0) +/* BC881C 802409BC 28620010 */ slti $v0, $v1, 0x10 +/* BC8820 802409C0 1440FFFA */ bnez $v0, .L802409AC +/* BC8824 802409C4 24840004 */ addiu $a0, $a0, 4 +/* BC8828 802409C8 3C108024 */ lui $s0, 0x8024 +/* BC882C 802409CC 26103A10 */ addiu $s0, $s0, 0x3a10 +/* BC8830 802409D0 0C00AB4B */ jal heap_free +/* BC8834 802409D4 8E040000 */ lw $a0, ($s0) +/* BC8838 802409D8 AE000000 */ sw $zero, ($s0) +.L802409DC: +/* BC883C 802409DC 8FBF0018 */ lw $ra, 0x18($sp) +/* BC8840 802409E0 8FB10014 */ lw $s1, 0x14($sp) +/* BC8844 802409E4 8FB00010 */ lw $s0, 0x10($sp) +/* BC8848 802409E8 24020002 */ addiu $v0, $zero, 2 +/* BC884C 802409EC 03E00008 */ jr $ra +/* BC8850 802409F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_802409F4_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_802409F4_BC7E60.s new file mode 100644 index 0000000000..c30a018847 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_802409F4_BC7E60.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F4_BC8854 +/* BC8854 802409F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BC8858 802409F8 AFB00010 */ sw $s0, 0x10($sp) +/* BC885C 802409FC 0080802D */ daddu $s0, $a0, $zero +/* BC8860 80240A00 AFBF0018 */ sw $ra, 0x18($sp) +/* BC8864 80240A04 AFB10014 */ sw $s1, 0x14($sp) +/* BC8868 80240A08 8E02000C */ lw $v0, 0xc($s0) +/* BC886C 80240A0C 8C510000 */ lw $s1, ($v0) +/* BC8870 80240A10 0C0B1EAF */ jal get_variable +/* BC8874 80240A14 0220282D */ daddu $a1, $s1, $zero +/* BC8878 80240A18 3C03FFF0 */ lui $v1, 0xfff0 +/* BC887C 80240A1C 3463FFFF */ ori $v1, $v1, 0xffff +/* BC8880 80240A20 0200202D */ daddu $a0, $s0, $zero +/* BC8884 80240A24 00431024 */ and $v0, $v0, $v1 +/* BC8888 80240A28 00021140 */ sll $v0, $v0, 5 +/* BC888C 80240A2C 3C068008 */ lui $a2, %hi(gItemTable) +/* BC8890 80240A30 00C23021 */ addu $a2, $a2, $v0 +/* BC8894 80240A34 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* BC8898 80240A38 0C0B2026 */ jal set_variable +/* BC889C 80240A3C 0220282D */ daddu $a1, $s1, $zero +/* BC88A0 80240A40 8FBF0018 */ lw $ra, 0x18($sp) +/* BC88A4 80240A44 8FB10014 */ lw $s1, 0x14($sp) +/* BC88A8 80240A48 8FB00010 */ lw $s0, 0x10($sp) +/* BC88AC 80240A4C 24020002 */ addiu $v0, $zero, 2 +/* BC88B0 80240A50 03E00008 */ jr $ra +/* BC88B4 80240A54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240A58.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240A58.s new file mode 100644 index 0000000000..8fecdabc47 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240A58.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A58 +/* BC88B8 80240A58 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BC88BC 80240A5C AFB00010 */ sw $s0, 0x10($sp) +/* BC88C0 80240A60 0080802D */ daddu $s0, $a0, $zero +/* BC88C4 80240A64 24040001 */ addiu $a0, $zero, 1 +/* BC88C8 80240A68 AFBF0030 */ sw $ra, 0x30($sp) +/* BC88CC 80240A6C AFB7002C */ sw $s7, 0x2c($sp) +/* BC88D0 80240A70 AFB60028 */ sw $s6, 0x28($sp) +/* BC88D4 80240A74 AFB50024 */ sw $s5, 0x24($sp) +/* BC88D8 80240A78 AFB40020 */ sw $s4, 0x20($sp) +/* BC88DC 80240A7C AFB3001C */ sw $s3, 0x1c($sp) +/* BC88E0 80240A80 AFB20018 */ sw $s2, 0x18($sp) +/* BC88E4 80240A84 0C00EABB */ jal get_npc_unsafe +/* BC88E8 80240A88 AFB10014 */ sw $s1, 0x14($sp) +/* BC88EC 80240A8C 24040002 */ addiu $a0, $zero, 2 +/* BC88F0 80240A90 0C00EABB */ jal get_npc_unsafe +/* BC88F4 80240A94 0040B82D */ daddu $s7, $v0, $zero +/* BC88F8 80240A98 24040003 */ addiu $a0, $zero, 3 +/* BC88FC 80240A9C 0C00EABB */ jal get_npc_unsafe +/* BC8900 80240AA0 0040B02D */ daddu $s6, $v0, $zero +/* BC8904 80240AA4 24040004 */ addiu $a0, $zero, 4 +/* BC8908 80240AA8 0C00EABB */ jal get_npc_unsafe +/* BC890C 80240AAC 0040A82D */ daddu $s5, $v0, $zero +/* BC8910 80240AB0 24040005 */ addiu $a0, $zero, 5 +/* BC8914 80240AB4 0C00EABB */ jal get_npc_unsafe +/* BC8918 80240AB8 0040A02D */ daddu $s4, $v0, $zero +/* BC891C 80240ABC 24040006 */ addiu $a0, $zero, 6 +/* BC8920 80240AC0 0C00EABB */ jal get_npc_unsafe +/* BC8924 80240AC4 0040982D */ daddu $s3, $v0, $zero +/* BC8928 80240AC8 24040007 */ addiu $a0, $zero, 7 +/* BC892C 80240ACC 0C00EABB */ jal get_npc_unsafe +/* BC8930 80240AD0 0040902D */ daddu $s2, $v0, $zero +/* BC8934 80240AD4 24040008 */ addiu $a0, $zero, 8 +/* BC8938 80240AD8 0C00EABB */ jal get_npc_unsafe +/* BC893C 80240ADC 0040882D */ daddu $s1, $v0, $zero +/* BC8940 80240AE0 8E030084 */ lw $v1, 0x84($s0) +/* BC8944 80240AE4 0040302D */ daddu $a2, $v0, $zero +/* BC8948 80240AE8 2C620008 */ sltiu $v0, $v1, 8 +/* BC894C 80240AEC 10400039 */ beqz $v0, .L80240BD4 +/* BC8950 80240AF0 00031080 */ sll $v0, $v1, 2 +/* BC8954 80240AF4 3C018024 */ lui $at, 0x8024 +/* BC8958 80240AF8 00220821 */ addu $at, $at, $v0 +/* BC895C 80240AFC 8C2251D8 */ lw $v0, 0x51d8($at) +/* BC8960 80240B00 00400008 */ jr $v0 +/* BC8964 80240B04 00000000 */ nop +/* BC8968 80240B08 0000202D */ daddu $a0, $zero, $zero +/* BC896C 80240B0C 3C05FD05 */ lui $a1, 0xfd05 +/* BC8970 80240B10 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC8974 80240B14 C6E0000C */ lwc1 $f0, 0xc($s7) +/* BC8978 80240B18 080902F1 */ j .L80240BC4 +/* BC897C 80240B1C 24060001 */ addiu $a2, $zero, 1 +/* BC8980 80240B20 0000202D */ daddu $a0, $zero, $zero +/* BC8984 80240B24 3C05FD05 */ lui $a1, 0xfd05 +/* BC8988 80240B28 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC898C 80240B2C C6C0000C */ lwc1 $f0, 0xc($s6) +/* BC8990 80240B30 080902F1 */ j .L80240BC4 +/* BC8994 80240B34 24060002 */ addiu $a2, $zero, 2 +/* BC8998 80240B38 0000202D */ daddu $a0, $zero, $zero +/* BC899C 80240B3C 3C05FD05 */ lui $a1, 0xfd05 +/* BC89A0 80240B40 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC89A4 80240B44 C6A0000C */ lwc1 $f0, 0xc($s5) +/* BC89A8 80240B48 080902F1 */ j .L80240BC4 +/* BC89AC 80240B4C 24060003 */ addiu $a2, $zero, 3 +/* BC89B0 80240B50 0000202D */ daddu $a0, $zero, $zero +/* BC89B4 80240B54 3C05FD05 */ lui $a1, 0xfd05 +/* BC89B8 80240B58 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC89BC 80240B5C C680000C */ lwc1 $f0, 0xc($s4) +/* BC89C0 80240B60 080902F1 */ j .L80240BC4 +/* BC89C4 80240B64 24060004 */ addiu $a2, $zero, 4 +/* BC89C8 80240B68 0000202D */ daddu $a0, $zero, $zero +/* BC89CC 80240B6C 3C05FD05 */ lui $a1, 0xfd05 +/* BC89D0 80240B70 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC89D4 80240B74 C660000C */ lwc1 $f0, 0xc($s3) +/* BC89D8 80240B78 080902F1 */ j .L80240BC4 +/* BC89DC 80240B7C 24060005 */ addiu $a2, $zero, 5 +/* BC89E0 80240B80 0000202D */ daddu $a0, $zero, $zero +/* BC89E4 80240B84 3C05FD05 */ lui $a1, 0xfd05 +/* BC89E8 80240B88 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC89EC 80240B8C C640000C */ lwc1 $f0, 0xc($s2) +/* BC89F0 80240B90 080902F1 */ j .L80240BC4 +/* BC89F4 80240B94 24060006 */ addiu $a2, $zero, 6 +/* BC89F8 80240B98 0000202D */ daddu $a0, $zero, $zero +/* BC89FC 80240B9C 3C05FD05 */ lui $a1, 0xfd05 +/* BC8A00 80240BA0 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC8A04 80240BA4 C620000C */ lwc1 $f0, 0xc($s1) +/* BC8A08 80240BA8 080902F1 */ j .L80240BC4 +/* BC8A0C 80240BAC 24060007 */ addiu $a2, $zero, 7 +/* BC8A10 80240BB0 0000202D */ daddu $a0, $zero, $zero +/* BC8A14 80240BB4 3C05FD05 */ lui $a1, 0xfd05 +/* BC8A18 80240BB8 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC8A1C 80240BBC C4C0000C */ lwc1 $f0, 0xc($a2) +/* BC8A20 80240BC0 24060008 */ addiu $a2, $zero, 8 +.L80240BC4: +/* BC8A24 80240BC4 4600008D */ trunc.w.s $f2, $f0 +/* BC8A28 80240BC8 0C0B2026 */ jal set_variable +/* BC8A2C 80240BCC E6020084 */ swc1 $f2, 0x84($s0) +/* BC8A30 80240BD0 8E030084 */ lw $v1, 0x84($s0) +.L80240BD4: +/* BC8A34 80240BD4 8E040088 */ lw $a0, 0x88($s0) +/* BC8A38 80240BD8 00641821 */ addu $v1, $v1, $a0 +/* BC8A3C 80240BDC AE030084 */ sw $v1, 0x84($s0) +/* BC8A40 80240BE0 8FBF0030 */ lw $ra, 0x30($sp) +/* BC8A44 80240BE4 8FB7002C */ lw $s7, 0x2c($sp) +/* BC8A48 80240BE8 8FB60028 */ lw $s6, 0x28($sp) +/* BC8A4C 80240BEC 8FB50024 */ lw $s5, 0x24($sp) +/* BC8A50 80240BF0 8FB40020 */ lw $s4, 0x20($sp) +/* BC8A54 80240BF4 8FB3001C */ lw $s3, 0x1c($sp) +/* BC8A58 80240BF8 8FB20018 */ lw $s2, 0x18($sp) +/* BC8A5C 80240BFC 8FB10014 */ lw $s1, 0x14($sp) +/* BC8A60 80240C00 8FB00010 */ lw $s0, 0x10($sp) +/* BC8A64 80240C04 24020002 */ addiu $v0, $zero, 2 +/* BC8A68 80240C08 03E00008 */ jr $ra +/* BC8A6C 80240C0C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240C10_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240C10_BC7E60.s new file mode 100644 index 0000000000..467432281d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240C10_BC7E60.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C10_BC8A70 +/* BC8A70 80240C10 3C0142FA */ lui $at, 0x42fa +/* BC8A74 80240C14 44810000 */ mtc1 $at, $f0 +/* BC8A78 80240C18 27BDFCA8 */ addiu $sp, $sp, -0x358 +/* BC8A7C 80240C1C AFB00350 */ sw $s0, 0x350($sp) +/* BC8A80 80240C20 0080802D */ daddu $s0, $a0, $zero +/* BC8A84 80240C24 AFBF0354 */ sw $ra, 0x354($sp) +/* BC8A88 80240C28 AFA00048 */ sw $zero, 0x48($sp) +/* BC8A8C 80240C2C AFA0004C */ sw $zero, 0x4c($sp) +/* BC8A90 80240C30 AFA00050 */ sw $zero, 0x50($sp) +/* BC8A94 80240C34 E7A00020 */ swc1 $f0, 0x20($sp) +/* BC8A98 80240C38 C6040084 */ lwc1 $f4, 0x84($s0) +/* BC8A9C 80240C3C 46802120 */ cvt.s.w $f4, $f4 +/* BC8AA0 80240C40 44050000 */ mfc1 $a1, $f0 +/* BC8AA4 80240C44 44062000 */ mfc1 $a2, $f4 +/* BC8AA8 80240C48 0C00EA95 */ jal npc_move_heading +/* BC8AAC 80240C4C 27A40010 */ addiu $a0, $sp, 0x10 +/* BC8AB0 80240C50 C7A00048 */ lwc1 $f0, 0x48($sp) +/* BC8AB4 80240C54 3C014120 */ lui $at, 0x4120 +/* BC8AB8 80240C58 44811000 */ mtc1 $at, $f2 +/* BC8ABC 80240C5C 4600010D */ trunc.w.s $f4, $f0 +/* BC8AC0 80240C60 E6040084 */ swc1 $f4, 0x84($s0) +/* BC8AC4 80240C64 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* BC8AC8 80240C68 46020000 */ add.s $f0, $f0, $f2 +/* BC8ACC 80240C6C 3C0141A0 */ lui $at, 0x41a0 +/* BC8AD0 80240C70 44811000 */ mtc1 $at, $f2 +/* BC8AD4 80240C74 4600010D */ trunc.w.s $f4, $f0 +/* BC8AD8 80240C78 E6040088 */ swc1 $f4, 0x88($s0) +/* BC8ADC 80240C7C C7A00050 */ lwc1 $f0, 0x50($sp) +/* BC8AE0 80240C80 46020000 */ add.s $f0, $f0, $f2 +/* BC8AE4 80240C84 4600010D */ trunc.w.s $f4, $f0 +/* BC8AE8 80240C88 E604008C */ swc1 $f4, 0x8c($s0) +/* BC8AEC 80240C8C 8FBF0354 */ lw $ra, 0x354($sp) +/* BC8AF0 80240C90 8FB00350 */ lw $s0, 0x350($sp) +/* BC8AF4 80240C94 24020002 */ addiu $v0, $zero, 2 +/* BC8AF8 80240C98 03E00008 */ jr $ra +/* BC8AFC 80240C9C 27BD0358 */ addiu $sp, $sp, 0x358 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240CA0.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240CA0.s new file mode 100644 index 0000000000..9c20f48317 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240CA0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA0 +/* BC8B00 80240CA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC8B04 80240CA4 AFB00010 */ sw $s0, 0x10($sp) +/* BC8B08 80240CA8 0080802D */ daddu $s0, $a0, $zero +/* BC8B0C 80240CAC 0000202D */ daddu $a0, $zero, $zero +/* BC8B10 80240CB0 3C05FD05 */ lui $a1, 0xfd05 +/* BC8B14 80240CB4 AFBF0014 */ sw $ra, 0x14($sp) +/* BC8B18 80240CB8 0C0B1EAF */ jal get_variable +/* BC8B1C 80240CBC 34A50F85 */ ori $a1, $a1, 0xf85 +/* BC8B20 80240CC0 0C00EABB */ jal get_npc_unsafe +/* BC8B24 80240CC4 0040202D */ daddu $a0, $v0, $zero +/* BC8B28 80240CC8 C4400038 */ lwc1 $f0, 0x38($v0) +/* BC8B2C 80240CCC 4600008D */ trunc.w.s $f2, $f0 +/* BC8B30 80240CD0 E6020084 */ swc1 $f2, 0x84($s0) +/* BC8B34 80240CD4 C440003C */ lwc1 $f0, 0x3c($v0) +/* BC8B38 80240CD8 4600008D */ trunc.w.s $f2, $f0 +/* BC8B3C 80240CDC E6020088 */ swc1 $f2, 0x88($s0) +/* BC8B40 80240CE0 C4400040 */ lwc1 $f0, 0x40($v0) +/* BC8B44 80240CE4 4600008D */ trunc.w.s $f2, $f0 +/* BC8B48 80240CE8 E602008C */ swc1 $f2, 0x8c($s0) +/* BC8B4C 80240CEC 8FBF0014 */ lw $ra, 0x14($sp) +/* BC8B50 80240CF0 8FB00010 */ lw $s0, 0x10($sp) +/* BC8B54 80240CF4 24020002 */ addiu $v0, $zero, 2 +/* BC8B58 80240CF8 03E00008 */ jr $ra +/* BC8B5C 80240CFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240D00.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240D00.s new file mode 100644 index 0000000000..f196060d7f --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240D00.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D00 +/* BC8B60 80240D00 24020001 */ addiu $v0, $zero, 1 +/* BC8B64 80240D04 3C018011 */ lui $at, %hi(gPlayerData) +/* BC8B68 80240D08 A022F290 */ sb $v0, %lo(gPlayerData)($at) +/* BC8B6C 80240D0C 03E00008 */ jr $ra +/* BC8B70 80240D10 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240D14_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240D14_BC7E60.s new file mode 100644 index 0000000000..0af03a642a --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240D14_BC7E60.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D14_BC8B74 +/* BC8B74 80240D14 27BDFC98 */ addiu $sp, $sp, -0x368 +/* BC8B78 80240D18 AFB20358 */ sw $s2, 0x358($sp) +/* BC8B7C 80240D1C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* BC8B80 80240D20 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* BC8B84 80240D24 AFBF035C */ sw $ra, 0x35c($sp) +/* BC8B88 80240D28 AFB10354 */ sw $s1, 0x354($sp) +/* BC8B8C 80240D2C AFB00350 */ sw $s0, 0x350($sp) +/* BC8B90 80240D30 F7B40360 */ sdc1 $f20, 0x360($sp) +/* BC8B94 80240D34 C64C0028 */ lwc1 $f12, 0x28($s2) +/* BC8B98 80240D38 4480A000 */ mtc1 $zero, $f20 +/* BC8B9C 80240D3C C64E0030 */ lwc1 $f14, 0x30($s2) +/* BC8BA0 80240D40 4406A000 */ mfc1 $a2, $f20 +/* BC8BA4 80240D44 4407A000 */ mfc1 $a3, $f20 +/* BC8BA8 80240D48 0C00A7B5 */ jal dist2D +/* BC8BAC 80240D4C 0080802D */ daddu $s0, $a0, $zero +/* BC8BB0 80240D50 24020001 */ addiu $v0, $zero, 1 +/* BC8BB4 80240D54 46000106 */ mov.s $f4, $f0 +/* BC8BB8 80240D58 3C0142B4 */ lui $at, 0x42b4 +/* BC8BBC 80240D5C 44811000 */ mtc1 $at, $f2 +/* BC8BC0 80240D60 00000000 */ nop +/* BC8BC4 80240D64 4604103C */ c.lt.s $f2, $f4 +/* BC8BC8 80240D68 00000000 */ nop +/* BC8BCC 80240D6C 45010002 */ bc1t .L80240D78 +/* BC8BD0 80240D70 0240882D */ daddu $s1, $s2, $zero +/* BC8BD4 80240D74 0000102D */ daddu $v0, $zero, $zero +.L80240D78: +/* BC8BD8 80240D78 3C014316 */ lui $at, 0x4316 +/* BC8BDC 80240D7C 44810000 */ mtc1 $at, $f0 +/* BC8BE0 80240D80 00000000 */ nop +/* BC8BE4 80240D84 4600203C */ c.lt.s $f4, $f0 +/* BC8BE8 80240D88 00000000 */ nop +/* BC8BEC 80240D8C 45010002 */ bc1t .L80240D98 +/* BC8BF0 80240D90 24030001 */ addiu $v1, $zero, 1 +/* BC8BF4 80240D94 0000182D */ daddu $v1, $zero, $zero +.L80240D98: +/* BC8BF8 80240D98 00431025 */ or $v0, $v0, $v1 +/* BC8BFC 80240D9C 1040001C */ beqz $v0, .L80240E10 +/* BC8C00 80240DA0 00000000 */ nop +/* BC8C04 80240DA4 C64C0028 */ lwc1 $f12, 0x28($s2) +/* BC8C08 80240DA8 C64E0030 */ lwc1 $f14, 0x30($s2) +/* BC8C0C 80240DAC 4406A000 */ mfc1 $a2, $f20 +/* BC8C10 80240DB0 4407A000 */ mfc1 $a3, $f20 +/* BC8C14 80240DB4 0C00A720 */ jal atan2 +/* BC8C18 80240DB8 00000000 */ nop +/* BC8C1C 80240DBC 3C014334 */ lui $at, 0x4334 +/* BC8C20 80240DC0 44811000 */ mtc1 $at, $f2 +/* BC8C24 80240DC4 00000000 */ nop +/* BC8C28 80240DC8 46020000 */ add.s $f0, $f0, $f2 +/* BC8C2C 80240DCC 3C0542A0 */ lui $a1, 0x42a0 +/* BC8C30 80240DD0 44060000 */ mfc1 $a2, $f0 +/* BC8C34 80240DD4 27A40010 */ addiu $a0, $sp, 0x10 +/* BC8C38 80240DD8 E7B40048 */ swc1 $f20, 0x48($sp) +/* BC8C3C 80240DDC E7B4004C */ swc1 $f20, 0x4c($sp) +/* BC8C40 80240DE0 0C00EA95 */ jal npc_move_heading +/* BC8C44 80240DE4 E7B40050 */ swc1 $f20, 0x50($sp) +/* BC8C48 80240DE8 C7A00048 */ lwc1 $f0, 0x48($sp) +/* BC8C4C 80240DEC 4600018D */ trunc.w.s $f6, $f0 +/* BC8C50 80240DF0 E6060084 */ swc1 $f6, 0x84($s0) +/* BC8C54 80240DF4 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* BC8C58 80240DF8 4600018D */ trunc.w.s $f6, $f0 +/* BC8C5C 80240DFC E6060088 */ swc1 $f6, 0x88($s0) +/* BC8C60 80240E00 C7A00050 */ lwc1 $f0, 0x50($sp) +/* BC8C64 80240E04 24020001 */ addiu $v0, $zero, 1 +/* BC8C68 80240E08 0809038C */ j .L80240E30 +/* BC8C6C 80240E0C AE020090 */ sw $v0, 0x90($s0) +.L80240E10: +/* BC8C70 80240E10 C6200028 */ lwc1 $f0, 0x28($s1) +/* BC8C74 80240E14 4600018D */ trunc.w.s $f6, $f0 +/* BC8C78 80240E18 E6060084 */ swc1 $f6, 0x84($s0) +/* BC8C7C 80240E1C C620002C */ lwc1 $f0, 0x2c($s1) +/* BC8C80 80240E20 4600018D */ trunc.w.s $f6, $f0 +/* BC8C84 80240E24 E6060088 */ swc1 $f6, 0x88($s0) +/* BC8C88 80240E28 C6200030 */ lwc1 $f0, 0x30($s1) +/* BC8C8C 80240E2C AE000090 */ sw $zero, 0x90($s0) +.L80240E30: +/* BC8C90 80240E30 4600018D */ trunc.w.s $f6, $f0 +/* BC8C94 80240E34 E606008C */ swc1 $f6, 0x8c($s0) +/* BC8C98 80240E38 8FBF035C */ lw $ra, 0x35c($sp) +/* BC8C9C 80240E3C 8FB20358 */ lw $s2, 0x358($sp) +/* BC8CA0 80240E40 8FB10354 */ lw $s1, 0x354($sp) +/* BC8CA4 80240E44 8FB00350 */ lw $s0, 0x350($sp) +/* BC8CA8 80240E48 D7B40360 */ ldc1 $f20, 0x360($sp) +/* BC8CAC 80240E4C 24020002 */ addiu $v0, $zero, 2 +/* BC8CB0 80240E50 03E00008 */ jr $ra +/* BC8CB4 80240E54 27BD0368 */ addiu $sp, $sp, 0x368 diff --git a/asm/nonmatchings/world/area_obk/obk_04/func_80240E58_BC7E60.s b/asm/nonmatchings/world/area_obk/obk_04/func_80240E58_BC7E60.s new file mode 100644 index 0000000000..ca88a558e1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_04/func_80240E58_BC7E60.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E58_BC8CB8 +/* BC8CB8 80240E58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BC8CBC 80240E5C AFBF0010 */ sw $ra, 0x10($sp) +/* BC8CC0 80240E60 0C00EABB */ jal get_npc_unsafe +/* BC8CC4 80240E64 24040001 */ addiu $a0, $zero, 1 +/* BC8CC8 80240E68 8442008E */ lh $v0, 0x8e($v0) +/* BC8CCC 80240E6C 8FBF0010 */ lw $ra, 0x10($sp) +/* BC8CD0 80240E70 2C420001 */ sltiu $v0, $v0, 1 +/* BC8CD4 80240E74 00021040 */ sll $v0, $v0, 1 +/* BC8CD8 80240E78 03E00008 */ jr $ra +/* BC8CDC 80240E7C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_80240000_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_80240000_BCD060.s new file mode 100644 index 0000000000..26bb939d74 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_80240000_BCD060.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BCD060 +/* BCD060 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* BCD064 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BCD068 80240008 94620002 */ lhu $v0, 2($v1) +/* BCD06C 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* BCD070 80240010 A4620002 */ sh $v0, 2($v1) +/* BCD074 80240014 03E00008 */ jr $ra +/* BCD078 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_8024001C_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_8024001C_BCD060.s new file mode 100644 index 0000000000..49fe2f9e41 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_8024001C_BCD060.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_BCD07C +/* BCD07C 8024001C 3C03800B */ lui $v1, %hi(gCameras) +/* BCD080 80240020 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* BCD084 80240024 94620002 */ lhu $v0, 2($v1) +/* BCD088 80240028 34420001 */ ori $v0, $v0, 1 +/* BCD08C 8024002C A4620002 */ sh $v0, 2($v1) +/* BCD090 80240030 03E00008 */ jr $ra +/* BCD094 80240034 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_80240038_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_80240038_BCD060.s new file mode 100644 index 0000000000..3a8bc9cc61 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_80240038_BCD060.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240038_BCD098 +/* BCD098 80240038 3C028016 */ lui $v0, 0x8016 +/* BCD09C 8024003C 8442A552 */ lh $v0, -0x5aae($v0) +/* BCD0A0 80240040 38420014 */ xori $v0, $v0, 0x14 +/* BCD0A4 80240044 2C420001 */ sltiu $v0, $v0, 1 +/* BCD0A8 80240048 03E00008 */ jr $ra +/* BCD0AC 8024004C 00021040 */ sll $v0, $v0, 1 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_80240050_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_80240050_BCD060.s new file mode 100644 index 0000000000..8b6a94c0f2 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_80240050_BCD060.s @@ -0,0 +1,487 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_BCD0B0 +/* BCD0B0 80240050 27BDFF70 */ addiu $sp, $sp, -0x90 +/* BCD0B4 80240054 AFB20070 */ sw $s2, 0x70($sp) +/* BCD0B8 80240058 AFB30074 */ sw $s3, 0x74($sp) +/* BCD0BC 8024005C 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* BCD0C0 80240060 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* BCD0C4 80240064 AFB00068 */ sw $s0, 0x68($sp) +/* BCD0C8 80240068 3C108016 */ lui $s0, 0x8016 +/* BCD0CC 8024006C 2610A550 */ addiu $s0, $s0, -0x5ab0 +/* BCD0D0 80240070 AFBF0078 */ sw $ra, 0x78($sp) +/* BCD0D4 80240074 AFB1006C */ sw $s1, 0x6c($sp) +/* BCD0D8 80240078 F7B60088 */ sdc1 $f22, 0x88($sp) +/* BCD0DC 8024007C F7B40080 */ sdc1 $f20, 0x80($sp) +/* BCD0E0 80240080 10A00014 */ beqz $a1, .L802400D4 +/* BCD0E4 80240084 0080902D */ daddu $s2, $a0, $zero +/* BCD0E8 80240088 0C00AB39 */ jal heap_malloc +/* BCD0EC 8024008C 24040020 */ addiu $a0, $zero, 0x20 +/* BCD0F0 80240090 3C013DCC */ lui $at, 0x3dcc +/* BCD0F4 80240094 3421CCCD */ ori $at, $at, 0xcccd +/* BCD0F8 80240098 44810000 */ mtc1 $at, $f0 +/* BCD0FC 8024009C 3C014040 */ lui $at, 0x4040 +/* BCD100 802400A0 44811000 */ mtc1 $at, $f2 +/* BCD104 802400A4 0040882D */ daddu $s1, $v0, $zero +/* BCD108 802400A8 AE510074 */ sw $s1, 0x74($s2) +/* BCD10C 802400AC AE200000 */ sw $zero, ($s1) +/* BCD110 802400B0 AE20000C */ sw $zero, 0xc($s1) +/* BCD114 802400B4 AE200008 */ sw $zero, 8($s1) +/* BCD118 802400B8 AE200010 */ sw $zero, 0x10($s1) +/* BCD11C 802400BC AE200014 */ sw $zero, 0x14($s1) +/* BCD120 802400C0 E6200004 */ swc1 $f0, 4($s1) +/* BCD124 802400C4 E6220018 */ swc1 $f2, 0x18($s1) +/* BCD128 802400C8 AE400070 */ sw $zero, 0x70($s2) +/* BCD12C 802400CC AE400078 */ sw $zero, 0x78($s2) +/* BCD130 802400D0 AE40007C */ sw $zero, 0x7c($s2) +.L802400D4: +/* BCD134 802400D4 24040001 */ addiu $a0, $zero, 1 +/* BCD138 802400D8 8E430070 */ lw $v1, 0x70($s2) +/* BCD13C 802400DC 8E510074 */ lw $s1, 0x74($s2) +/* BCD140 802400E0 10640022 */ beq $v1, $a0, .L8024016C +/* BCD144 802400E4 28620002 */ slti $v0, $v1, 2 +/* BCD148 802400E8 50400005 */ beql $v0, $zero, .L80240100 +/* BCD14C 802400EC 24020002 */ addiu $v0, $zero, 2 +/* BCD150 802400F0 10600007 */ beqz $v1, .L80240110 +/* BCD154 802400F4 2402000A */ addiu $v0, $zero, 0xa +/* BCD158 802400F8 0809015C */ j .L80240570 +/* BCD15C 802400FC 00000000 */ nop +.L80240100: +/* BCD160 80240100 106200BF */ beq $v1, $v0, .L80240400 +/* BCD164 80240104 2402000A */ addiu $v0, $zero, 0xa +/* BCD168 80240108 0809015C */ j .L80240570 +/* BCD16C 8024010C 00000000 */ nop +.L80240110: +/* BCD170 80240110 86030002 */ lh $v1, 2($s0) +/* BCD174 80240114 50620001 */ beql $v1, $v0, .L8024011C +/* BCD178 80240118 AE440070 */ sw $a0, 0x70($s2) +.L8024011C: +/* BCD17C 8024011C 86030002 */ lh $v1, 2($s0) +/* BCD180 80240120 24020009 */ addiu $v0, $zero, 9 +/* BCD184 80240124 50620001 */ beql $v1, $v0, .L8024012C +/* BCD188 80240128 AE440070 */ sw $a0, 0x70($s2) +.L8024012C: +/* BCD18C 8024012C 3C013DCC */ lui $at, 0x3dcc +/* BCD190 80240130 3421CCCD */ ori $at, $at, 0xcccd +/* BCD194 80240134 44810000 */ mtc1 $at, $f0 +/* BCD198 80240138 3C014040 */ lui $at, 0x4040 +/* BCD19C 8024013C 44811000 */ mtc1 $at, $f2 +/* BCD1A0 80240140 3C0141A0 */ lui $at, 0x41a0 +/* BCD1A4 80240144 44812000 */ mtc1 $at, $f4 +/* BCD1A8 80240148 AE200000 */ sw $zero, ($s1) +/* BCD1AC 8024014C AE20000C */ sw $zero, 0xc($s1) +/* BCD1B0 80240150 AE200010 */ sw $zero, 0x10($s1) +/* BCD1B4 80240154 AE200014 */ sw $zero, 0x14($s1) +/* BCD1B8 80240158 AE200008 */ sw $zero, 8($s1) +/* BCD1BC 8024015C E6200004 */ swc1 $f0, 4($s1) +/* BCD1C0 80240160 E6220018 */ swc1 $f2, 0x18($s1) +/* BCD1C4 80240164 0809015C */ j .L80240570 +/* BCD1C8 80240168 E624001C */ swc1 $f4, 0x1c($s1) +.L8024016C: +/* BCD1CC 8024016C 86030002 */ lh $v1, 2($s0) +/* BCD1D0 80240170 2402000A */ addiu $v0, $zero, 0xa +/* BCD1D4 80240174 10620006 */ beq $v1, $v0, .L80240190 +/* BCD1D8 80240178 24020009 */ addiu $v0, $zero, 9 +/* BCD1DC 8024017C 10620004 */ beq $v1, $v0, .L80240190 +/* BCD1E0 80240180 24020078 */ addiu $v0, $zero, 0x78 +/* BCD1E4 80240184 AE42007C */ sw $v0, 0x7c($s2) +/* BCD1E8 80240188 24020002 */ addiu $v0, $zero, 2 +/* BCD1EC 8024018C AE420070 */ sw $v0, 0x70($s2) +.L80240190: +/* BCD1F0 80240190 C6200008 */ lwc1 $f0, 8($s1) +/* BCD1F4 80240194 3C0140A0 */ lui $at, 0x40a0 +/* BCD1F8 80240198 44811000 */ mtc1 $at, $f2 +/* BCD1FC 8024019C 46000005 */ abs.s $f0, $f0 +/* BCD200 802401A0 4602003C */ c.lt.s $f0, $f2 +/* BCD204 802401A4 00000000 */ nop +/* BCD208 802401A8 4500000D */ bc1f .L802401E0 +/* BCD20C 802401AC 00000000 */ nop +/* BCD210 802401B0 C6600028 */ lwc1 $f0, 0x28($s3) +/* BCD214 802401B4 44801000 */ mtc1 $zero, $f2 +/* BCD218 802401B8 44801800 */ mtc1 $zero, $f3 +/* BCD21C 802401BC 46000021 */ cvt.d.s $f0, $f0 +/* BCD220 802401C0 46201081 */ sub.d $f2, $f2, $f0 +/* BCD224 802401C4 3C014348 */ lui $at, 0x4348 +/* BCD228 802401C8 44810000 */ mtc1 $at, $f0 +/* BCD22C 802401CC 462010A0 */ cvt.s.d $f2, $f2 +/* BCD230 802401D0 46001085 */ abs.s $f2, $f2 +/* BCD234 802401D4 46001083 */ div.s $f2, $f2, $f0 +/* BCD238 802401D8 0809007D */ j .L802401F4 +/* BCD23C 802401DC E6220004 */ swc1 $f2, 4($s1) +.L802401E0: +/* BCD240 802401E0 3C013DCC */ lui $at, 0x3dcc +/* BCD244 802401E4 3421CCCD */ ori $at, $at, 0xcccd +/* BCD248 802401E8 44810000 */ mtc1 $at, $f0 +/* BCD24C 802401EC 00000000 */ nop +/* BCD250 802401F0 E6200004 */ swc1 $f0, 4($s1) +.L802401F4: +/* BCD254 802401F4 C6600028 */ lwc1 $f0, 0x28($s3) +/* BCD258 802401F8 44802000 */ mtc1 $zero, $f4 +/* BCD25C 802401FC 44802800 */ mtc1 $zero, $f5 +/* BCD260 80240200 46000021 */ cvt.d.s $f0, $f0 +/* BCD264 80240204 4624003E */ c.le.d $f0, $f4 +/* BCD268 80240208 00000000 */ nop +/* BCD26C 8024020C 45000024 */ bc1f .L802402A0 +/* BCD270 80240210 00000000 */ nop +/* BCD274 80240214 C6200010 */ lwc1 $f0, 0x10($s1) +/* BCD278 80240218 C6220004 */ lwc1 $f2, 4($s1) +/* BCD27C 8024021C 46020000 */ add.s $f0, $f0, $f2 +/* BCD280 80240220 E6200010 */ swc1 $f0, 0x10($s1) +/* BCD284 80240224 C6600028 */ lwc1 $f0, 0x28($s3) +/* BCD288 80240228 46000021 */ cvt.d.s $f0, $f0 +/* BCD28C 8024022C 46202001 */ sub.d $f0, $f4, $f0 +/* BCD290 80240230 46200020 */ cvt.s.d $f0, $f0 +/* BCD294 80240234 46000005 */ abs.s $f0, $f0 +/* BCD298 80240238 46000002 */ mul.s $f0, $f0, $f0 +/* BCD29C 8024023C 00000000 */ nop +/* BCD2A0 80240240 3C014248 */ lui $at, 0x4248 +/* BCD2A4 80240244 44811000 */ mtc1 $at, $f2 +/* BCD2A8 80240248 3C014170 */ lui $at, 0x4170 +/* BCD2AC 8024024C 44812000 */ mtc1 $at, $f4 +/* BCD2B0 80240250 46020003 */ div.s $f0, $f0, $f2 +/* BCD2B4 80240254 4600203C */ c.lt.s $f4, $f0 +/* BCD2B8 80240258 00000000 */ nop +/* BCD2BC 8024025C 45000002 */ bc1f .L80240268 +/* BCD2C0 80240260 E620001C */ swc1 $f0, 0x1c($s1) +/* BCD2C4 80240264 E624001C */ swc1 $f4, 0x1c($s1) +.L80240268: +/* BCD2C8 80240268 C6220008 */ lwc1 $f2, 8($s1) +/* BCD2CC 8024026C C620001C */ lwc1 $f0, 0x1c($s1) +/* BCD2D0 80240270 4602003C */ c.lt.s $f0, $f2 +/* BCD2D4 80240274 00000000 */ nop +/* BCD2D8 80240278 45000031 */ bc1f .L80240340 +/* BCD2DC 8024027C 00000000 */ nop +/* BCD2E0 80240280 C6200004 */ lwc1 $f0, 4($s1) +/* BCD2E4 80240284 C6220018 */ lwc1 $f2, 0x18($s1) +/* BCD2E8 80240288 46020002 */ mul.s $f0, $f0, $f2 +/* BCD2EC 8024028C 00000000 */ nop +/* BCD2F0 80240290 C6220014 */ lwc1 $f2, 0x14($s1) +/* BCD2F4 80240294 46001080 */ add.s $f2, $f2, $f0 +/* BCD2F8 80240298 080900D0 */ j .L80240340 +/* BCD2FC 8024029C E6220014 */ swc1 $f2, 0x14($s1) +.L802402A0: +/* BCD300 802402A0 C6200014 */ lwc1 $f0, 0x14($s1) +/* BCD304 802402A4 C6220004 */ lwc1 $f2, 4($s1) +/* BCD308 802402A8 46020000 */ add.s $f0, $f0, $f2 +/* BCD30C 802402AC E6200014 */ swc1 $f0, 0x14($s1) +/* BCD310 802402B0 C6600028 */ lwc1 $f0, 0x28($s3) +/* BCD314 802402B4 46000021 */ cvt.d.s $f0, $f0 +/* BCD318 802402B8 46202001 */ sub.d $f0, $f4, $f0 +/* BCD31C 802402BC 3C013F00 */ lui $at, 0x3f00 +/* BCD320 802402C0 44811000 */ mtc1 $at, $f2 +/* BCD324 802402C4 46200020 */ cvt.s.d $f0, $f0 +/* BCD328 802402C8 46000005 */ abs.s $f0, $f0 +/* BCD32C 802402CC 46000007 */ neg.s $f0, $f0 +/* BCD330 802402D0 46020002 */ mul.s $f0, $f0, $f2 +/* BCD334 802402D4 00000000 */ nop +/* BCD338 802402D8 46000002 */ mul.s $f0, $f0, $f0 +/* BCD33C 802402DC 00000000 */ nop +/* BCD340 802402E0 3C01C0A0 */ lui $at, 0xc0a0 +/* BCD344 802402E4 44812000 */ mtc1 $at, $f4 +/* BCD348 802402E8 3C014248 */ lui $at, 0x4248 +/* BCD34C 802402EC 44811000 */ mtc1 $at, $f2 +/* BCD350 802402F0 46000007 */ neg.s $f0, $f0 +/* BCD354 802402F4 46020003 */ div.s $f0, $f0, $f2 +/* BCD358 802402F8 4604003C */ c.lt.s $f0, $f4 +/* BCD35C 802402FC 00000000 */ nop +/* BCD360 80240300 45000002 */ bc1f .L8024030C +/* BCD364 80240304 E620001C */ swc1 $f0, 0x1c($s1) +/* BCD368 80240308 E624001C */ swc1 $f4, 0x1c($s1) +.L8024030C: +/* BCD36C 8024030C C6220008 */ lwc1 $f2, 8($s1) +/* BCD370 80240310 C620001C */ lwc1 $f0, 0x1c($s1) +/* BCD374 80240314 4600103C */ c.lt.s $f2, $f0 +/* BCD378 80240318 00000000 */ nop +/* BCD37C 8024031C 45000008 */ bc1f .L80240340 +/* BCD380 80240320 00000000 */ nop +/* BCD384 80240324 C6200004 */ lwc1 $f0, 4($s1) +/* BCD388 80240328 C6220018 */ lwc1 $f2, 0x18($s1) +/* BCD38C 8024032C 46020002 */ mul.s $f0, $f0, $f2 +/* BCD390 80240330 00000000 */ nop +/* BCD394 80240334 C6220010 */ lwc1 $f2, 0x10($s1) +/* BCD398 80240338 46001080 */ add.s $f2, $f2, $f0 +/* BCD39C 8024033C E6220010 */ swc1 $f2, 0x10($s1) +.L80240340: +/* BCD3A0 80240340 C6200010 */ lwc1 $f0, 0x10($s1) +/* BCD3A4 80240344 3C014059 */ lui $at, 0x4059 +/* BCD3A8 80240348 44812800 */ mtc1 $at, $f5 +/* BCD3AC 8024034C 44802000 */ mtc1 $zero, $f4 +/* BCD3B0 80240350 460000A1 */ cvt.d.s $f2, $f0 +/* BCD3B4 80240354 4622203C */ c.lt.d $f4, $f2 +/* BCD3B8 80240358 00000000 */ nop +/* BCD3BC 8024035C 4500000F */ bc1f .L8024039C +/* BCD3C0 80240360 00000000 */ nop +/* BCD3C4 80240364 C6200014 */ lwc1 $f0, 0x14($s1) +/* BCD3C8 80240368 46000021 */ cvt.d.s $f0, $f0 +/* BCD3CC 8024036C 4620203C */ c.lt.d $f4, $f0 +/* BCD3D0 80240370 00000000 */ nop +/* BCD3D4 80240374 45000009 */ bc1f .L8024039C +/* BCD3D8 80240378 00000000 */ nop +/* BCD3DC 8024037C C6200014 */ lwc1 $f0, 0x14($s1) +/* BCD3E0 80240380 46241081 */ sub.d $f2, $f2, $f4 +/* BCD3E4 80240384 46000021 */ cvt.d.s $f0, $f0 +/* BCD3E8 80240388 46240001 */ sub.d $f0, $f0, $f4 +/* BCD3EC 8024038C 462010A0 */ cvt.s.d $f2, $f2 +/* BCD3F0 80240390 E6220010 */ swc1 $f2, 0x10($s1) +/* BCD3F4 80240394 46200020 */ cvt.s.d $f0, $f0 +/* BCD3F8 80240398 E6200014 */ swc1 $f0, 0x14($s1) +.L8024039C: +/* BCD3FC 8024039C C6240010 */ lwc1 $f4, 0x10($s1) +/* BCD400 802403A0 C6220014 */ lwc1 $f2, 0x14($s1) +/* BCD404 802403A4 46022001 */ sub.s $f0, $f4, $f2 +/* BCD408 802403A8 3C013FF8 */ lui $at, 0x3ff8 +/* BCD40C 802403AC 44813800 */ mtc1 $at, $f7 +/* BCD410 802403B0 44803000 */ mtc1 $zero, $f6 +/* BCD414 802403B4 46000005 */ abs.s $f0, $f0 +/* BCD418 802403B8 46000021 */ cvt.d.s $f0, $f0 +/* BCD41C 802403BC 4620303C */ c.lt.d $f6, $f0 +/* BCD420 802403C0 00000000 */ nop +/* BCD424 802403C4 45000063 */ bc1f .L80240554 +/* BCD428 802403C8 00000000 */ nop +/* BCD42C 802403CC 4602203C */ c.lt.s $f4, $f2 +/* BCD430 802403D0 00000000 */ nop +/* BCD434 802403D4 45020006 */ bc1fl .L802403F0 +/* BCD438 802403D8 46001021 */ cvt.d.s $f0, $f2 +/* BCD43C 802403DC 46002021 */ cvt.d.s $f0, $f4 +/* BCD440 802403E0 46260000 */ add.d $f0, $f0, $f6 +/* BCD444 802403E4 46200020 */ cvt.s.d $f0, $f0 +/* BCD448 802403E8 08090155 */ j .L80240554 +/* BCD44C 802403EC E6200014 */ swc1 $f0, 0x14($s1) +.L802403F0: +/* BCD450 802403F0 46260000 */ add.d $f0, $f0, $f6 +/* BCD454 802403F4 46200020 */ cvt.s.d $f0, $f0 +/* BCD458 802403F8 08090155 */ j .L80240554 +/* BCD45C 802403FC E6200010 */ swc1 $f0, 0x10($s1) +.L80240400: +/* BCD460 80240400 86030002 */ lh $v1, 2($s0) +/* BCD464 80240404 50620001 */ beql $v1, $v0, .L8024040C +/* BCD468 80240408 AE440070 */ sw $a0, 0x70($s2) +.L8024040C: +/* BCD46C 8024040C 86030002 */ lh $v1, 2($s0) +/* BCD470 80240410 24020009 */ addiu $v0, $zero, 9 +/* BCD474 80240414 50620001 */ beql $v1, $v0, .L8024041C +/* BCD478 80240418 AE440070 */ sw $a0, 0x70($s2) +.L8024041C: +/* BCD47C 8024041C 3C013DCC */ lui $at, 0x3dcc +/* BCD480 80240420 3421CCCD */ ori $at, $at, 0xcccd +/* BCD484 80240424 44810000 */ mtc1 $at, $f0 +/* BCD488 80240428 C6220010 */ lwc1 $f2, 0x10($s1) +/* BCD48C 8024042C C6240008 */ lwc1 $f4, 8($s1) +/* BCD490 80240430 AE20001C */ sw $zero, 0x1c($s1) +/* BCD494 80240434 46001080 */ add.s $f2, $f2, $f0 +/* BCD498 80240438 E6200004 */ swc1 $f0, 4($s1) +/* BCD49C 8024043C C620001C */ lwc1 $f0, 0x1c($s1) +/* BCD4A0 80240440 4604003C */ c.lt.s $f0, $f4 +/* BCD4A4 80240444 00000000 */ nop +/* BCD4A8 80240448 45000008 */ bc1f .L8024046C +/* BCD4AC 8024044C E6220010 */ swc1 $f2, 0x10($s1) +/* BCD4B0 80240450 C6200004 */ lwc1 $f0, 4($s1) +/* BCD4B4 80240454 C6220018 */ lwc1 $f2, 0x18($s1) +/* BCD4B8 80240458 46020002 */ mul.s $f0, $f0, $f2 +/* BCD4BC 8024045C 00000000 */ nop +/* BCD4C0 80240460 C6220014 */ lwc1 $f2, 0x14($s1) +/* BCD4C4 80240464 46001080 */ add.s $f2, $f2, $f0 +/* BCD4C8 80240468 E6220014 */ swc1 $f2, 0x14($s1) +.L8024046C: +/* BCD4CC 8024046C C6200010 */ lwc1 $f0, 0x10($s1) +/* BCD4D0 80240470 3C014059 */ lui $at, 0x4059 +/* BCD4D4 80240474 44812800 */ mtc1 $at, $f5 +/* BCD4D8 80240478 44802000 */ mtc1 $zero, $f4 +/* BCD4DC 8024047C 460000A1 */ cvt.d.s $f2, $f0 +/* BCD4E0 80240480 4622203C */ c.lt.d $f4, $f2 +/* BCD4E4 80240484 00000000 */ nop +/* BCD4E8 80240488 4500000F */ bc1f .L802404C8 +/* BCD4EC 8024048C 00000000 */ nop +/* BCD4F0 80240490 C6200014 */ lwc1 $f0, 0x14($s1) +/* BCD4F4 80240494 46000021 */ cvt.d.s $f0, $f0 +/* BCD4F8 80240498 4620203C */ c.lt.d $f4, $f0 +/* BCD4FC 8024049C 00000000 */ nop +/* BCD500 802404A0 45000009 */ bc1f .L802404C8 +/* BCD504 802404A4 00000000 */ nop +/* BCD508 802404A8 C6200014 */ lwc1 $f0, 0x14($s1) +/* BCD50C 802404AC 46241081 */ sub.d $f2, $f2, $f4 +/* BCD510 802404B0 46000021 */ cvt.d.s $f0, $f0 +/* BCD514 802404B4 46240001 */ sub.d $f0, $f0, $f4 +/* BCD518 802404B8 462010A0 */ cvt.s.d $f2, $f2 +/* BCD51C 802404BC E6220010 */ swc1 $f2, 0x10($s1) +/* BCD520 802404C0 46200020 */ cvt.s.d $f0, $f0 +/* BCD524 802404C4 E6200014 */ swc1 $f0, 0x14($s1) +.L802404C8: +/* BCD528 802404C8 C6240010 */ lwc1 $f4, 0x10($s1) +/* BCD52C 802404CC C6220014 */ lwc1 $f2, 0x14($s1) +/* BCD530 802404D0 46022001 */ sub.s $f0, $f4, $f2 +/* BCD534 802404D4 3C013FE0 */ lui $at, 0x3fe0 +/* BCD538 802404D8 44813800 */ mtc1 $at, $f7 +/* BCD53C 802404DC 44803000 */ mtc1 $zero, $f6 +/* BCD540 802404E0 46000005 */ abs.s $f0, $f0 +/* BCD544 802404E4 46000021 */ cvt.d.s $f0, $f0 +/* BCD548 802404E8 4620303C */ c.lt.d $f6, $f0 +/* BCD54C 802404EC 00000000 */ nop +/* BCD550 802404F0 4500000D */ bc1f .L80240528 +/* BCD554 802404F4 00000000 */ nop +/* BCD558 802404F8 4602203C */ c.lt.s $f4, $f2 +/* BCD55C 802404FC 00000000 */ nop +/* BCD560 80240500 45020006 */ bc1fl .L8024051C +/* BCD564 80240504 46001021 */ cvt.d.s $f0, $f2 +/* BCD568 80240508 46002021 */ cvt.d.s $f0, $f4 +/* BCD56C 8024050C 46260000 */ add.d $f0, $f0, $f6 +/* BCD570 80240510 46200020 */ cvt.s.d $f0, $f0 +/* BCD574 80240514 0809014A */ j .L80240528 +/* BCD578 80240518 E6200014 */ swc1 $f0, 0x14($s1) +.L8024051C: +/* BCD57C 8024051C 46260000 */ add.d $f0, $f0, $f6 +/* BCD580 80240520 46200020 */ cvt.s.d $f0, $f0 +/* BCD584 80240524 E6200010 */ swc1 $f0, 0x10($s1) +.L80240528: +/* BCD588 80240528 8E42007C */ lw $v0, 0x7c($s2) +/* BCD58C 8024052C 04410008 */ bgez $v0, .L80240550 +/* BCD590 80240530 2442FFFF */ addiu $v0, $v0, -1 +/* BCD594 80240534 44800000 */ mtc1 $zero, $f0 +/* BCD598 80240538 00000000 */ nop +/* BCD59C 8024053C E6200014 */ swc1 $f0, 0x14($s1) +/* BCD5A0 80240540 E6200010 */ swc1 $f0, 0x10($s1) +/* BCD5A4 80240544 E6200000 */ swc1 $f0, ($s1) +/* BCD5A8 80240548 08090155 */ j .L80240554 +/* BCD5AC 8024054C E6200008 */ swc1 $f0, 8($s1) +.L80240550: +/* BCD5B0 80240550 AE42007C */ sw $v0, 0x7c($s2) +.L80240554: +/* BCD5B4 80240554 C6200010 */ lwc1 $f0, 0x10($s1) +/* BCD5B8 80240558 C6220014 */ lwc1 $f2, 0x14($s1) +/* BCD5BC 8024055C 46020001 */ sub.s $f0, $f0, $f2 +/* BCD5C0 80240560 C6220008 */ lwc1 $f2, 8($s1) +/* BCD5C4 80240564 46001080 */ add.s $f2, $f2, $f0 +/* BCD5C8 80240568 E6200000 */ swc1 $f0, ($s1) +/* BCD5CC 8024056C E6220008 */ swc1 $f2, 8($s1) +.L80240570: +/* BCD5D0 80240570 C6220008 */ lwc1 $f2, 8($s1) +/* BCD5D4 80240574 3C01C0E0 */ lui $at, 0xc0e0 +/* BCD5D8 80240578 44810000 */ mtc1 $at, $f0 +/* BCD5DC 8024057C 00000000 */ nop +/* BCD5E0 80240580 4600103E */ c.le.s $f2, $f0 +/* BCD5E4 80240584 00000000 */ nop +/* BCD5E8 80240588 45000013 */ bc1f .L802405D8 +/* BCD5EC 8024058C 2410FFFF */ addiu $s0, $zero, -1 +/* BCD5F0 80240590 8E420078 */ lw $v0, 0x78($s2) +/* BCD5F4 80240594 10500011 */ beq $v0, $s0, .L802405DC +/* BCD5F8 80240598 27A50058 */ addiu $a1, $sp, 0x58 +/* BCD5FC 8024059C 2404000A */ addiu $a0, $zero, 0xa +/* BCD600 802405A0 27A6005C */ addiu $a2, $sp, 0x5c +/* BCD604 802405A4 0C016F84 */ jal get_collider_center +/* BCD608 802405A8 27A70060 */ addiu $a3, $sp, 0x60 +/* BCD60C 802405AC 240401D6 */ addiu $a0, $zero, 0x1d6 +/* BCD610 802405B0 C7A00058 */ lwc1 $f0, 0x58($sp) +/* BCD614 802405B4 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* BCD618 802405B8 44060000 */ mfc1 $a2, $f0 +/* BCD61C 802405BC 44071000 */ mfc1 $a3, $f2 +/* BCD620 802405C0 C7A00060 */ lwc1 $f0, 0x60($sp) +/* BCD624 802405C4 0000282D */ daddu $a1, $zero, $zero +/* BCD628 802405C8 0C052757 */ jal play_sound_at_position +/* BCD62C 802405CC E7A00010 */ swc1 $f0, 0x10($sp) +/* BCD630 802405D0 08090177 */ j .L802405DC +/* BCD634 802405D4 AE500078 */ sw $s0, 0x78($s2) +.L802405D8: +/* BCD638 802405D8 AE400078 */ sw $zero, 0x78($s2) +.L802405DC: +/* BCD63C 802405DC C6200008 */ lwc1 $f0, 8($s1) +/* BCD640 802405E0 46000002 */ mul.s $f0, $f0, $f0 +/* BCD644 802405E4 00000000 */ nop +/* BCD648 802405E8 3C0142B4 */ lui $at, 0x42b4 +/* BCD64C 802405EC 44811000 */ mtc1 $at, $f2 +/* BCD650 802405F0 2404001B */ addiu $a0, $zero, 0x1b +/* BCD654 802405F4 46020003 */ div.s $f0, $f0, $f2 +/* BCD658 802405F8 0C046C04 */ jal get_model_list_index_from_tree_index +/* BCD65C 802405FC E620000C */ swc1 $f0, 0xc($s1) +/* BCD660 80240600 0C046B4C */ jal get_model_from_list_index +/* BCD664 80240604 0040202D */ daddu $a0, $v0, $zero +/* BCD668 80240608 0040182D */ daddu $v1, $v0, $zero +/* BCD66C 8024060C 24700058 */ addiu $s0, $v1, 0x58 +/* BCD670 80240610 4480A000 */ mtc1 $zero, $f20 +/* BCD674 80240614 94620000 */ lhu $v0, ($v1) +/* BCD678 80240618 4405A000 */ mfc1 $a1, $f20 +/* BCD67C 8024061C 4407A000 */ mfc1 $a3, $f20 +/* BCD680 80240620 34421400 */ ori $v0, $v0, 0x1400 +/* BCD684 80240624 A4620000 */ sh $v0, ($v1) +/* BCD688 80240628 8E26000C */ lw $a2, 0xc($s1) +/* BCD68C 8024062C 3C013F80 */ lui $at, 0x3f80 +/* BCD690 80240630 4481B000 */ mtc1 $at, $f22 +/* BCD694 80240634 0C019E40 */ jal guTranslateF +/* BCD698 80240638 0200202D */ daddu $a0, $s0, $zero +/* BCD69C 8024063C E7B60010 */ swc1 $f22, 0x10($sp) +/* BCD6A0 80240640 8E250008 */ lw $a1, 8($s1) +/* BCD6A4 80240644 4406A000 */ mfc1 $a2, $f20 +/* BCD6A8 80240648 4407A000 */ mfc1 $a3, $f20 +/* BCD6AC 8024064C 0C019EC8 */ jal guRotateF +/* BCD6B0 80240650 27A40018 */ addiu $a0, $sp, 0x18 +/* BCD6B4 80240654 0200202D */ daddu $a0, $s0, $zero +/* BCD6B8 80240658 27A50018 */ addiu $a1, $sp, 0x18 +/* BCD6BC 8024065C 0C019D80 */ jal guMtxCatF +/* BCD6C0 80240660 0080302D */ daddu $a2, $a0, $zero +/* BCD6C4 80240664 0C016E89 */ jal update_collider_transform +/* BCD6C8 80240668 2404000A */ addiu $a0, $zero, 0xa +/* BCD6CC 8024066C 0C016E89 */ jal update_collider_transform +/* BCD6D0 80240670 24040009 */ addiu $a0, $zero, 9 +/* BCD6D4 80240674 0C046C04 */ jal get_model_list_index_from_tree_index +/* BCD6D8 80240678 2404001A */ addiu $a0, $zero, 0x1a +/* BCD6DC 8024067C 0C046B4C */ jal get_model_from_list_index +/* BCD6E0 80240680 0040202D */ daddu $a0, $v0, $zero +/* BCD6E4 80240684 0040182D */ daddu $v1, $v0, $zero +/* BCD6E8 80240688 24700058 */ addiu $s0, $v1, 0x58 +/* BCD6EC 8024068C 4405A000 */ mfc1 $a1, $f20 +/* BCD6F0 80240690 94620000 */ lhu $v0, ($v1) +/* BCD6F4 80240694 4407A000 */ mfc1 $a3, $f20 +/* BCD6F8 80240698 34421400 */ ori $v0, $v0, 0x1400 +/* BCD6FC 8024069C A4620000 */ sh $v0, ($v1) +/* BCD700 802406A0 8E26000C */ lw $a2, 0xc($s1) +/* BCD704 802406A4 0C019E40 */ jal guTranslateF +/* BCD708 802406A8 0200202D */ daddu $a0, $s0, $zero +/* BCD70C 802406AC E7B60010 */ swc1 $f22, 0x10($sp) +/* BCD710 802406B0 8E250008 */ lw $a1, 8($s1) +/* BCD714 802406B4 4406A000 */ mfc1 $a2, $f20 +/* BCD718 802406B8 4407A000 */ mfc1 $a3, $f20 +/* BCD71C 802406BC 0C019EC8 */ jal guRotateF +/* BCD720 802406C0 27A40018 */ addiu $a0, $sp, 0x18 +/* BCD724 802406C4 0200202D */ daddu $a0, $s0, $zero +/* BCD728 802406C8 27A50018 */ addiu $a1, $sp, 0x18 +/* BCD72C 802406CC 0C019D80 */ jal guMtxCatF +/* BCD730 802406D0 0080302D */ daddu $a2, $a0, $zero +/* BCD734 802406D4 0C046C04 */ jal get_model_list_index_from_tree_index +/* BCD738 802406D8 24040019 */ addiu $a0, $zero, 0x19 +/* BCD73C 802406DC 0C046B4C */ jal get_model_from_list_index +/* BCD740 802406E0 0040202D */ daddu $a0, $v0, $zero +/* BCD744 802406E4 0040182D */ daddu $v1, $v0, $zero +/* BCD748 802406E8 24700058 */ addiu $s0, $v1, 0x58 +/* BCD74C 802406EC 4405A000 */ mfc1 $a1, $f20 +/* BCD750 802406F0 94620000 */ lhu $v0, ($v1) +/* BCD754 802406F4 4407A000 */ mfc1 $a3, $f20 +/* BCD758 802406F8 34421400 */ ori $v0, $v0, 0x1400 +/* BCD75C 802406FC A4620000 */ sh $v0, ($v1) +/* BCD760 80240700 8E26000C */ lw $a2, 0xc($s1) +/* BCD764 80240704 0C019E40 */ jal guTranslateF +/* BCD768 80240708 0200202D */ daddu $a0, $s0, $zero +/* BCD76C 8024070C 4406A000 */ mfc1 $a2, $f20 +/* BCD770 80240710 27A40018 */ addiu $a0, $sp, 0x18 +/* BCD774 80240714 E7B60010 */ swc1 $f22, 0x10($sp) +/* BCD778 80240718 8E250008 */ lw $a1, 8($s1) +/* BCD77C 8024071C 0C019EC8 */ jal guRotateF +/* BCD780 80240720 00C0382D */ daddu $a3, $a2, $zero +/* BCD784 80240724 0200202D */ daddu $a0, $s0, $zero +/* BCD788 80240728 27A50018 */ addiu $a1, $sp, 0x18 +/* BCD78C 8024072C 0C019D80 */ jal guMtxCatF +/* BCD790 80240730 0080302D */ daddu $a2, $a0, $zero +/* BCD794 80240734 0C016E89 */ jal update_collider_transform +/* BCD798 80240738 24040008 */ addiu $a0, $zero, 8 +/* BCD79C 8024073C 8FBF0078 */ lw $ra, 0x78($sp) +/* BCD7A0 80240740 8FB30074 */ lw $s3, 0x74($sp) +/* BCD7A4 80240744 8FB20070 */ lw $s2, 0x70($sp) +/* BCD7A8 80240748 8FB1006C */ lw $s1, 0x6c($sp) +/* BCD7AC 8024074C 8FB00068 */ lw $s0, 0x68($sp) +/* BCD7B0 80240750 D7B60088 */ ldc1 $f22, 0x88($sp) +/* BCD7B4 80240754 D7B40080 */ ldc1 $f20, 0x80($sp) +/* BCD7B8 80240758 0000102D */ daddu $v0, $zero, $zero +/* BCD7BC 8024075C 03E00008 */ jr $ra +/* BCD7C0 80240760 27BD0090 */ addiu $sp, $sp, 0x90 +/* BCD7C4 80240764 00000000 */ nop +/* BCD7C8 80240768 00000000 */ nop +/* BCD7CC 8024076C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_80240770_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_80240770_BCD060.s new file mode 100644 index 0000000000..d4e95f6ca1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_80240770_BCD060.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240770_BCD7D0 +/* BCD7D0 80240770 3C018011 */ lui $at, 0x8011 +/* BCD7D4 80240774 C422EFF4 */ lwc1 $f2, -0x100c($at) +/* BCD7D8 80240778 3C01C248 */ lui $at, 0xc248 +/* BCD7DC 8024077C 44810000 */ mtc1 $at, $f0 +/* BCD7E0 80240780 00000000 */ nop +/* BCD7E4 80240784 4600103C */ c.lt.s $f2, $f0 +/* BCD7E8 80240788 00000000 */ nop +/* BCD7EC 8024078C 45010002 */ bc1t .L80240798 +/* BCD7F0 80240790 24020002 */ addiu $v0, $zero, 2 +/* BCD7F4 80240794 0000102D */ daddu $v0, $zero, $zero +.L80240798: +/* BCD7F8 80240798 03E00008 */ jr $ra +/* BCD7FC 8024079C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_802407A0_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_802407A0_BCD060.s new file mode 100644 index 0000000000..69e721a1d7 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_802407A0_BCD060.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_BCD800 +/* BCD800 802407A0 AC800074 */ sw $zero, 0x74($a0) +/* BCD804 802407A4 03E00008 */ jr $ra +/* BCD808 802407A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_802407AC.s b/asm/nonmatchings/world/area_obk/obk_05/func_802407AC.s new file mode 100644 index 0000000000..3f67e2af21 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_802407AC.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407AC +/* BCD80C 802407AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCD810 802407B0 AFB10014 */ sw $s1, 0x14($sp) +/* BCD814 802407B4 0080882D */ daddu $s1, $a0, $zero +/* BCD818 802407B8 AFBF0018 */ sw $ra, 0x18($sp) +/* BCD81C 802407BC AFB00010 */ sw $s0, 0x10($sp) +/* BCD820 802407C0 0C00EAD2 */ jal get_npc_safe +/* BCD824 802407C4 8E24014C */ lw $a0, 0x14c($s1) +/* BCD828 802407C8 0040802D */ daddu $s0, $v0, $zero +/* BCD82C 802407CC 8E230074 */ lw $v1, 0x74($s1) +/* BCD830 802407D0 24020001 */ addiu $v0, $zero, 1 +/* BCD834 802407D4 10620036 */ beq $v1, $v0, .L802408B0 +/* BCD838 802407D8 28620002 */ slti $v0, $v1, 2 +/* BCD83C 802407DC 10400005 */ beqz $v0, .L802407F4 +/* BCD840 802407E0 24020002 */ addiu $v0, $zero, 2 +/* BCD844 802407E4 10600007 */ beqz $v1, .L80240804 +/* BCD848 802407E8 00000000 */ nop +/* BCD84C 802407EC 08090247 */ j .L8024091C +/* BCD850 802407F0 00000000 */ nop +.L802407F4: +/* BCD854 802407F4 10620036 */ beq $v1, $v0, .L802408D0 +/* BCD858 802407F8 00000000 */ nop +/* BCD85C 802407FC 08090247 */ j .L8024091C +/* BCD860 80240800 00000000 */ nop +.L80240804: +/* BCD864 80240804 0C00A67F */ jal rand_int +/* BCD868 80240808 240400B4 */ addiu $a0, $zero, 0xb4 +/* BCD86C 8024080C 24040032 */ addiu $a0, $zero, 0x32 +/* BCD870 80240810 3C01C3D7 */ lui $at, 0xc3d7 +/* BCD874 80240814 44810000 */ mtc1 $at, $f0 +/* BCD878 80240818 2442001E */ addiu $v0, $v0, 0x1e +/* BCD87C 8024081C A602008E */ sh $v0, 0x8e($s0) +/* BCD880 80240820 0C00A67F */ jal rand_int +/* BCD884 80240824 E6000040 */ swc1 $f0, 0x40($s0) +/* BCD888 80240828 3C014220 */ lui $at, 0x4220 +/* BCD88C 8024082C 44811000 */ mtc1 $at, $f2 +/* BCD890 80240830 44820000 */ mtc1 $v0, $f0 +/* BCD894 80240834 00000000 */ nop +/* BCD898 80240838 46800020 */ cvt.s.w $f0, $f0 +/* BCD89C 8024083C 46020000 */ add.s $f0, $f0, $f2 +/* BCD8A0 80240840 0C00A64D */ jal func_80029934 +/* BCD8A4 80240844 E600003C */ swc1 $f0, 0x3c($s0) +/* BCD8A8 80240848 46000000 */ add.s $f0, $f0, $f0 +/* BCD8AC 8024084C 3C014000 */ lui $at, 0x4000 +/* BCD8B0 80240850 44811000 */ mtc1 $at, $f2 +/* BCD8B4 80240854 00000000 */ nop +/* BCD8B8 80240858 46020000 */ add.s $f0, $f0, $f2 +/* BCD8BC 8024085C 24040064 */ addiu $a0, $zero, 0x64 +/* BCD8C0 80240860 0C00A67F */ jal rand_int +/* BCD8C4 80240864 E6000018 */ swc1 $f0, 0x18($s0) +/* BCD8C8 80240868 28420032 */ slti $v0, $v0, 0x32 +/* BCD8CC 8024086C 10400007 */ beqz $v0, .L8024088C +/* BCD8D0 80240870 00000000 */ nop +/* BCD8D4 80240874 3C014387 */ lui $at, 0x4387 +/* BCD8D8 80240878 44810000 */ mtc1 $at, $f0 +/* BCD8DC 8024087C 00000000 */ nop +/* BCD8E0 80240880 E6000038 */ swc1 $f0, 0x38($s0) +/* BCD8E4 80240884 08090229 */ j .L802408A4 +/* BCD8E8 80240888 E600000C */ swc1 $f0, 0xc($s0) +.L8024088C: +/* BCD8EC 8024088C 3C01C387 */ lui $at, 0xc387 +/* BCD8F0 80240890 44810000 */ mtc1 $at, $f0 +/* BCD8F4 80240894 3C0142B4 */ lui $at, 0x42b4 +/* BCD8F8 80240898 44811000 */ mtc1 $at, $f2 +/* BCD8FC 8024089C E6000038 */ swc1 $f0, 0x38($s0) +/* BCD900 802408A0 E602000C */ swc1 $f2, 0xc($s0) +.L802408A4: +/* BCD904 802408A4 24020001 */ addiu $v0, $zero, 1 +/* BCD908 802408A8 08090247 */ j .L8024091C +/* BCD90C 802408AC AE220074 */ sw $v0, 0x74($s1) +.L802408B0: +/* BCD910 802408B0 9602008E */ lhu $v0, 0x8e($s0) +/* BCD914 802408B4 2442FFFF */ addiu $v0, $v0, -1 +/* BCD918 802408B8 A602008E */ sh $v0, 0x8e($s0) +/* BCD91C 802408BC 00021400 */ sll $v0, $v0, 0x10 +/* BCD920 802408C0 14400016 */ bnez $v0, .L8024091C +/* BCD924 802408C4 24020002 */ addiu $v0, $zero, 2 +/* BCD928 802408C8 08090247 */ j .L8024091C +/* BCD92C 802408CC AE220074 */ sw $v0, 0x74($s1) +.L802408D0: +/* BCD930 802408D0 8E050018 */ lw $a1, 0x18($s0) +/* BCD934 802408D4 8E06000C */ lw $a2, 0xc($s0) +/* BCD938 802408D8 0C00EA95 */ jal npc_move_heading +/* BCD93C 802408DC 0200202D */ daddu $a0, $s0, $zero +/* BCD940 802408E0 C6020038 */ lwc1 $f2, 0x38($s0) +/* BCD944 802408E4 3C01C38C */ lui $at, 0xc38c +/* BCD948 802408E8 44810000 */ mtc1 $at, $f0 +/* BCD94C 802408EC 00000000 */ nop +/* BCD950 802408F0 4600103C */ c.lt.s $f2, $f0 +/* BCD954 802408F4 00000000 */ nop +/* BCD958 802408F8 45030008 */ bc1tl .L8024091C +/* BCD95C 802408FC AE200074 */ sw $zero, 0x74($s1) +/* BCD960 80240900 3C01438C */ lui $at, 0x438c +/* BCD964 80240904 44810000 */ mtc1 $at, $f0 +/* BCD968 80240908 00000000 */ nop +/* BCD96C 8024090C 4602003C */ c.lt.s $f0, $f2 +/* BCD970 80240910 00000000 */ nop +/* BCD974 80240914 45030001 */ bc1tl .L8024091C +/* BCD978 80240918 AE200074 */ sw $zero, 0x74($s1) +.L8024091C: +/* BCD97C 8024091C 8FBF0018 */ lw $ra, 0x18($sp) +/* BCD980 80240920 8FB10014 */ lw $s1, 0x14($sp) +/* BCD984 80240924 8FB00010 */ lw $s0, 0x10($sp) +/* BCD988 80240928 24020002 */ addiu $v0, $zero, 2 +/* BCD98C 8024092C 03E00008 */ jr $ra +/* BCD990 80240930 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_05/func_80240934_BCD060.s b/asm/nonmatchings/world/area_obk/obk_05/func_80240934_BCD060.s new file mode 100644 index 0000000000..64b77e5b2e --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_05/func_80240934_BCD060.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240934_BCD994 +/* BCD994 80240934 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCD998 80240938 AFB10014 */ sw $s1, 0x14($sp) +/* BCD99C 8024093C 0080882D */ daddu $s1, $a0, $zero +/* BCD9A0 80240940 AFBF0018 */ sw $ra, 0x18($sp) +/* BCD9A4 80240944 AFB00010 */ sw $s0, 0x10($sp) +/* BCD9A8 80240948 8E240088 */ lw $a0, 0x88($s1) +/* BCD9AC 8024094C 1480000B */ bnez $a0, .L8024097C +/* BCD9B0 80240950 8E300084 */ lw $s0, 0x84($s1) +/* BCD9B4 80240954 0C00A67F */ jal rand_int +/* BCD9B8 80240958 24040003 */ addiu $a0, $zero, 3 +/* BCD9BC 8024095C 00021040 */ sll $v0, $v0, 1 +/* BCD9C0 80240960 3C018024 */ lui $at, 0x8024 +/* BCD9C4 80240964 00220821 */ addu $at, $at, $v0 +/* BCD9C8 80240968 8422100C */ lh $v0, 0x100c($at) +/* BCD9CC 8024096C 24040032 */ addiu $a0, $zero, 0x32 +/* BCD9D0 80240970 0C00A67F */ jal rand_int +/* BCD9D4 80240974 AE220078 */ sw $v0, 0x78($s1) +/* BCD9D8 80240978 2444001E */ addiu $a0, $v0, 0x1e +.L8024097C: +/* BCD9DC 8024097C 8E230078 */ lw $v1, 0x78($s1) +/* BCD9E0 80240980 0203102A */ slt $v0, $s0, $v1 +/* BCD9E4 80240984 10400006 */ beqz $v0, .L802409A0 +/* BCD9E8 80240988 2484FFFF */ addiu $a0, $a0, -1 +/* BCD9EC 8024098C 2610000A */ addiu $s0, $s0, 0xa +/* BCD9F0 80240990 0070102A */ slt $v0, $v1, $s0 +/* BCD9F4 80240994 5040000A */ beql $v0, $zero, .L802409C0 +/* BCD9F8 80240998 AE300084 */ sw $s0, 0x84($s1) +/* BCD9FC 8024099C 0060802D */ daddu $s0, $v1, $zero +.L802409A0: +/* BCDA00 802409A0 0070102A */ slt $v0, $v1, $s0 +/* BCDA04 802409A4 50400006 */ beql $v0, $zero, .L802409C0 +/* BCDA08 802409A8 AE300084 */ sw $s0, 0x84($s1) +/* BCDA0C 802409AC 2610FFF6 */ addiu $s0, $s0, -0xa +/* BCDA10 802409B0 0203102A */ slt $v0, $s0, $v1 +/* BCDA14 802409B4 54400001 */ bnel $v0, $zero, .L802409BC +/* BCDA18 802409B8 0060802D */ daddu $s0, $v1, $zero +.L802409BC: +/* BCDA1C 802409BC AE300084 */ sw $s0, 0x84($s1) +.L802409C0: +/* BCDA20 802409C0 AE240088 */ sw $a0, 0x88($s1) +/* BCDA24 802409C4 8FBF0018 */ lw $ra, 0x18($sp) +/* BCDA28 802409C8 8FB10014 */ lw $s1, 0x14($sp) +/* BCDA2C 802409CC 8FB00010 */ lw $s0, 0x10($sp) +/* BCDA30 802409D0 24020002 */ addiu $v0, $zero, 2 +/* BCDA34 802409D4 03E00008 */ jr $ra +/* BCDA38 802409D8 27BD0020 */ addiu $sp, $sp, 0x20 +/* BCDA3C 802409DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240000_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240000_BCEBF0.s new file mode 100644 index 0000000000..084d19120c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240000_BCEBF0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BCEBF0 +/* BCEBF0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCEBF4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* BCEBF8 80240008 3C108024 */ lui $s0, 0x8024 +/* BCEBFC 8024000C 26101FB0 */ addiu $s0, $s0, 0x1fb0 +/* BCEC00 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* BCEC04 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* BCEC08 80240018 8E020000 */ lw $v0, ($s0) +/* BCEC0C 8024001C 14400010 */ bnez $v0, .L80240060 +/* BCEC10 80240020 0080882D */ daddu $s1, $a0, $zero +/* BCEC14 80240024 0C00AB39 */ jal heap_malloc +/* BCEC18 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* BCEC1C 8024002C AE020000 */ sw $v0, ($s0) +/* BCEC20 80240030 0000182D */ daddu $v1, $zero, $zero +/* BCEC24 80240034 0040282D */ daddu $a1, $v0, $zero +/* BCEC28 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* BCEC2C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* BCEC30 80240040 24840004 */ addiu $a0, $a0, 4 +/* BCEC34 80240044 24630001 */ addiu $v1, $v1, 1 +/* BCEC38 80240048 ACA20000 */ sw $v0, ($a1) +/* BCEC3C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* BCEC40 80240050 1440FFFA */ bnez $v0, .L8024003C +/* BCEC44 80240054 24A50004 */ addiu $a1, $a1, 4 +/* BCEC48 80240058 08090027 */ j .L8024009C +/* BCEC4C 8024005C 00000000 */ nop +.L80240060: +/* BCEC50 80240060 0000182D */ daddu $v1, $zero, $zero +/* BCEC54 80240064 0040282D */ daddu $a1, $v0, $zero +/* BCEC58 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* BCEC5C 8024006C 8CA20000 */ lw $v0, ($a1) +/* BCEC60 80240070 24A50004 */ addiu $a1, $a1, 4 +/* BCEC64 80240074 24630001 */ addiu $v1, $v1, 1 +/* BCEC68 80240078 AC820084 */ sw $v0, 0x84($a0) +/* BCEC6C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* BCEC70 80240080 1440FFFA */ bnez $v0, .L8024006C +/* BCEC74 80240084 24840004 */ addiu $a0, $a0, 4 +/* BCEC78 80240088 3C108024 */ lui $s0, 0x8024 +/* BCEC7C 8024008C 26101FB0 */ addiu $s0, $s0, 0x1fb0 +/* BCEC80 80240090 0C00AB4B */ jal heap_free +/* BCEC84 80240094 8E040000 */ lw $a0, ($s0) +/* BCEC88 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* BCEC8C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* BCEC90 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* BCEC94 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* BCEC98 802400A8 24020002 */ addiu $v0, $zero, 2 +/* BCEC9C 802400AC 03E00008 */ jr $ra +/* BCECA0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802400B4_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802400B4_BCEBF0.s new file mode 100644 index 0000000000..7464b2bb2d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802400B4_BCEBF0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_BCECA4 +/* BCECA4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCECA8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* BCECAC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* BCECB0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* BCECB4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* BCECB8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* BCECBC 802400CC 8C510000 */ lw $s1, ($v0) +/* BCECC0 802400D0 0C0B1EAF */ jal get_variable +/* BCECC4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* BCECC8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* BCECCC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* BCECD0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* BCECD4 802400E4 00431024 */ and $v0, $v0, $v1 +/* BCECD8 802400E8 00021140 */ sll $v0, $v0, 5 +/* BCECDC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* BCECE0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* BCECE4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* BCECE8 802400F8 0C0B2026 */ jal set_variable +/* BCECEC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* BCECF0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* BCECF4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* BCECF8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* BCECFC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* BCED00 80240110 03E00008 */ jr $ra +/* BCED04 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240118_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240118_BCEBF0.s new file mode 100644 index 0000000000..026c12a841 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240118_BCEBF0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_BCED08 +/* BCED08 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCED0C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* BCED10 80240120 0080882D */ daddu $s1, $a0, $zero +/* BCED14 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* BCED18 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* BCED1C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* BCED20 80240130 8E240084 */ lw $a0, 0x84($s1) +/* BCED24 80240134 0C04C3D6 */ jal get_item_entity +/* BCED28 80240138 00A0802D */ daddu $s0, $a1, $zero +/* BCED2C 8024013C 12000005 */ beqz $s0, .L80240154 +/* BCED30 80240140 0040902D */ daddu $s2, $v0, $zero +/* BCED34 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* BCED38 80240148 AE200074 */ sw $zero, 0x74($s1) +/* BCED3C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* BCED40 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* BCED44 80240154 8E230074 */ lw $v1, 0x74($s1) +/* BCED48 80240158 10600005 */ beqz $v1, .L80240170 +/* BCED4C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* BCED50 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* BCED54 80240164 00000000 */ nop +/* BCED58 80240168 08090093 */ j .L8024024C +/* BCED5C 8024016C 00000000 */ nop +.L80240170: +/* BCED60 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* BCED64 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* BCED68 80240178 44810000 */ mtc1 $at, $f0 +/* BCED6C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* BCED70 80240180 46806320 */ cvt.s.w $f12, $f12 +/* BCED74 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* BCED78 80240188 00000000 */ nop +/* BCED7C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* BCED80 80240190 44810000 */ mtc1 $at, $f0 +/* BCED84 80240194 0C00A874 */ jal cos_rad +/* BCED88 80240198 46006303 */ div.s $f12, $f12, $f0 +/* BCED8C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* BCED90 802401A0 44811000 */ mtc1 $at, $f2 +/* BCED94 802401A4 00000000 */ nop +/* BCED98 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* BCED9C 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* BCEDA0 802401B0 44810000 */ mtc1 $at, $f0 +/* BCEDA4 802401B4 00000000 */ nop +/* BCEDA8 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* BCEDAC 802401BC 00000000 */ nop +/* BCEDB0 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* BCEDB4 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* BCEDB8 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* BCEDBC 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* BCEDC0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* BCEDC4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* BCEDC8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* BCEDCC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* BCEDD0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* BCEDD4 802401E4 08090093 */ j .L8024024C +/* BCEDD8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* BCEDDC 802401EC 08090093 */ j .L8024024C +/* BCEDE0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* BCEDE4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* BCEDE8 802401F8 0C00A8D4 */ jal cos_deg +/* BCEDEC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* BCEDF0 80240200 3C014040 */ lui $at, 0x4040 +/* BCEDF4 80240204 44811000 */ mtc1 $at, $f2 +/* BCEDF8 80240208 00000000 */ nop +/* BCEDFC 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* BCEE00 80240210 00000000 */ nop +/* BCEE04 80240214 3C014188 */ lui $at, 0x4188 +/* BCEE08 80240218 44812000 */ mtc1 $at, $f4 +/* BCEE0C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* BCEE10 80240220 46041080 */ add.s $f2, $f2, $f4 +/* BCEE14 80240224 46001080 */ add.s $f2, $f2, $f0 +/* BCEE18 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* BCEE1C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* BCEE20 80240230 24420009 */ addiu $v0, $v0, 9 +/* BCEE24 80240234 44826000 */ mtc1 $v0, $f12 +/* BCEE28 80240238 00000000 */ nop +/* BCEE2C 8024023C 0C00A6C9 */ jal clamp_angle +/* BCEE30 80240240 46806320 */ cvt.s.w $f12, $f12 +/* BCEE34 80240244 4600018D */ trunc.w.s $f6, $f0 +/* BCEE38 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* BCEE3C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* BCEE40 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* BCEE44 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* BCEE48 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* BCEE4C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* BCEE50 80240260 03E00008 */ jr $ra +/* BCEE54 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240268_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240268_BCEBF0.s new file mode 100644 index 0000000000..fb6528e594 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240268_BCEBF0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_BCEE58 +/* BCEE58 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BCEE5C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* BCEE60 80240270 0080802D */ daddu $s0, $a0, $zero +/* BCEE64 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* BCEE68 80240278 8E02000C */ lw $v0, 0xc($s0) +/* BCEE6C 8024027C 0C0B1EAF */ jal get_variable +/* BCEE70 80240280 8C450000 */ lw $a1, ($v0) +/* BCEE74 80240284 00021140 */ sll $v0, $v0, 5 +/* BCEE78 80240288 AE000084 */ sw $zero, 0x84($s0) +/* BCEE7C 8024028C 3C018008 */ lui $at, 0x8008 +/* BCEE80 80240290 00220821 */ addu $at, $at, $v0 +/* BCEE84 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* BCEE88 80240298 30420040 */ andi $v0, $v0, 0x40 +/* BCEE8C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* BCEE90 802402A0 24020001 */ addiu $v0, $zero, 1 +/* BCEE94 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* BCEE98 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* BCEE9C 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* BCEEA0 802402B0 24020002 */ addiu $v0, $zero, 2 +/* BCEEA4 802402B4 03E00008 */ jr $ra +/* BCEEA8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* BCEEAC 802402BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802402C0_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802402C0_BCEBF0.s new file mode 100644 index 0000000000..50b9b85050 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802402C0_BCEBF0.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0_BCEEB0 +/* BCEEB0 802402C0 AC800074 */ sw $zero, 0x74($a0) +/* BCEEB4 802402C4 03E00008 */ jr $ra +/* BCEEB8 802402C8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802402CC.s b/asm/nonmatchings/world/area_obk/obk_07/func_802402CC.s new file mode 100644 index 0000000000..3ebec29d98 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802402CC.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402CC +/* BCEEBC 802402CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCEEC0 802402D0 AFB10014 */ sw $s1, 0x14($sp) +/* BCEEC4 802402D4 0080882D */ daddu $s1, $a0, $zero +/* BCEEC8 802402D8 AFBF0018 */ sw $ra, 0x18($sp) +/* BCEECC 802402DC AFB00010 */ sw $s0, 0x10($sp) +/* BCEED0 802402E0 0C00EAD2 */ jal get_npc_safe +/* BCEED4 802402E4 8E24014C */ lw $a0, 0x14c($s1) +/* BCEED8 802402E8 0040802D */ daddu $s0, $v0, $zero +/* BCEEDC 802402EC 8E230074 */ lw $v1, 0x74($s1) +/* BCEEE0 802402F0 24020001 */ addiu $v0, $zero, 1 +/* BCEEE4 802402F4 10620036 */ beq $v1, $v0, .L802403D0 +/* BCEEE8 802402F8 28620002 */ slti $v0, $v1, 2 +/* BCEEEC 802402FC 10400005 */ beqz $v0, .L80240314 +/* BCEEF0 80240300 24020002 */ addiu $v0, $zero, 2 +/* BCEEF4 80240304 10600007 */ beqz $v1, .L80240324 +/* BCEEF8 80240308 00000000 */ nop +/* BCEEFC 8024030C 0809010F */ j .L8024043C +/* BCEF00 80240310 00000000 */ nop +.L80240314: +/* BCEF04 80240314 10620036 */ beq $v1, $v0, .L802403F0 +/* BCEF08 80240318 00000000 */ nop +/* BCEF0C 8024031C 0809010F */ j .L8024043C +/* BCEF10 80240320 00000000 */ nop +.L80240324: +/* BCEF14 80240324 0C00A67F */ jal rand_int +/* BCEF18 80240328 240400B4 */ addiu $a0, $zero, 0xb4 +/* BCEF1C 8024032C 24040032 */ addiu $a0, $zero, 0x32 +/* BCEF20 80240330 3C01C396 */ lui $at, 0xc396 +/* BCEF24 80240334 44810000 */ mtc1 $at, $f0 +/* BCEF28 80240338 2442001E */ addiu $v0, $v0, 0x1e +/* BCEF2C 8024033C A602008E */ sh $v0, 0x8e($s0) +/* BCEF30 80240340 0C00A67F */ jal rand_int +/* BCEF34 80240344 E6000040 */ swc1 $f0, 0x40($s0) +/* BCEF38 80240348 3C0142A0 */ lui $at, 0x42a0 +/* BCEF3C 8024034C 44811000 */ mtc1 $at, $f2 +/* BCEF40 80240350 44820000 */ mtc1 $v0, $f0 +/* BCEF44 80240354 00000000 */ nop +/* BCEF48 80240358 46800020 */ cvt.s.w $f0, $f0 +/* BCEF4C 8024035C 46020000 */ add.s $f0, $f0, $f2 +/* BCEF50 80240360 0C00A64D */ jal func_80029934 +/* BCEF54 80240364 E600003C */ swc1 $f0, 0x3c($s0) +/* BCEF58 80240368 46000000 */ add.s $f0, $f0, $f0 +/* BCEF5C 8024036C 3C014000 */ lui $at, 0x4000 +/* BCEF60 80240370 44811000 */ mtc1 $at, $f2 +/* BCEF64 80240374 00000000 */ nop +/* BCEF68 80240378 46020000 */ add.s $f0, $f0, $f2 +/* BCEF6C 8024037C 24040064 */ addiu $a0, $zero, 0x64 +/* BCEF70 80240380 0C00A67F */ jal rand_int +/* BCEF74 80240384 E6000018 */ swc1 $f0, 0x18($s0) +/* BCEF78 80240388 28420032 */ slti $v0, $v0, 0x32 +/* BCEF7C 8024038C 10400007 */ beqz $v0, .L802403AC +/* BCEF80 80240390 00000000 */ nop +/* BCEF84 80240394 3C014387 */ lui $at, 0x4387 +/* BCEF88 80240398 44810000 */ mtc1 $at, $f0 +/* BCEF8C 8024039C 00000000 */ nop +/* BCEF90 802403A0 E6000038 */ swc1 $f0, 0x38($s0) +/* BCEF94 802403A4 080900F1 */ j .L802403C4 +/* BCEF98 802403A8 E600000C */ swc1 $f0, 0xc($s0) +.L802403AC: +/* BCEF9C 802403AC 3C01C387 */ lui $at, 0xc387 +/* BCEFA0 802403B0 44810000 */ mtc1 $at, $f0 +/* BCEFA4 802403B4 3C0142B4 */ lui $at, 0x42b4 +/* BCEFA8 802403B8 44811000 */ mtc1 $at, $f2 +/* BCEFAC 802403BC E6000038 */ swc1 $f0, 0x38($s0) +/* BCEFB0 802403C0 E602000C */ swc1 $f2, 0xc($s0) +.L802403C4: +/* BCEFB4 802403C4 24020001 */ addiu $v0, $zero, 1 +/* BCEFB8 802403C8 0809010F */ j .L8024043C +/* BCEFBC 802403CC AE220074 */ sw $v0, 0x74($s1) +.L802403D0: +/* BCEFC0 802403D0 9602008E */ lhu $v0, 0x8e($s0) +/* BCEFC4 802403D4 2442FFFF */ addiu $v0, $v0, -1 +/* BCEFC8 802403D8 A602008E */ sh $v0, 0x8e($s0) +/* BCEFCC 802403DC 00021400 */ sll $v0, $v0, 0x10 +/* BCEFD0 802403E0 14400016 */ bnez $v0, .L8024043C +/* BCEFD4 802403E4 24020002 */ addiu $v0, $zero, 2 +/* BCEFD8 802403E8 0809010F */ j .L8024043C +/* BCEFDC 802403EC AE220074 */ sw $v0, 0x74($s1) +.L802403F0: +/* BCEFE0 802403F0 8E050018 */ lw $a1, 0x18($s0) +/* BCEFE4 802403F4 8E06000C */ lw $a2, 0xc($s0) +/* BCEFE8 802403F8 0C00EA95 */ jal npc_move_heading +/* BCEFEC 802403FC 0200202D */ daddu $a0, $s0, $zero +/* BCEFF0 80240400 C6020038 */ lwc1 $f2, 0x38($s0) +/* BCEFF4 80240404 3C01C38C */ lui $at, 0xc38c +/* BCEFF8 80240408 44810000 */ mtc1 $at, $f0 +/* BCEFFC 8024040C 00000000 */ nop +/* BCF000 80240410 4600103C */ c.lt.s $f2, $f0 +/* BCF004 80240414 00000000 */ nop +/* BCF008 80240418 45030008 */ bc1tl .L8024043C +/* BCF00C 8024041C AE200074 */ sw $zero, 0x74($s1) +/* BCF010 80240420 3C01438C */ lui $at, 0x438c +/* BCF014 80240424 44810000 */ mtc1 $at, $f0 +/* BCF018 80240428 00000000 */ nop +/* BCF01C 8024042C 4602003C */ c.lt.s $f0, $f2 +/* BCF020 80240430 00000000 */ nop +/* BCF024 80240434 45030001 */ bc1tl .L8024043C +/* BCF028 80240438 AE200074 */ sw $zero, 0x74($s1) +.L8024043C: +/* BCF02C 8024043C 8FBF0018 */ lw $ra, 0x18($sp) +/* BCF030 80240440 8FB10014 */ lw $s1, 0x14($sp) +/* BCF034 80240444 8FB00010 */ lw $s0, 0x10($sp) +/* BCF038 80240448 24020002 */ addiu $v0, $zero, 2 +/* BCF03C 8024044C 03E00008 */ jr $ra +/* BCF040 80240450 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240454_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240454_BCEBF0.s new file mode 100644 index 0000000000..77b39b51a0 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240454_BCEBF0.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240454_BCF044 +/* BCF044 80240454 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCF048 80240458 AFB10014 */ sw $s1, 0x14($sp) +/* BCF04C 8024045C 0080882D */ daddu $s1, $a0, $zero +/* BCF050 80240460 AFBF0018 */ sw $ra, 0x18($sp) +/* BCF054 80240464 AFB00010 */ sw $s0, 0x10($sp) +/* BCF058 80240468 8E240088 */ lw $a0, 0x88($s1) +/* BCF05C 8024046C 1480000B */ bnez $a0, .L8024049C +/* BCF060 80240470 8E300084 */ lw $s0, 0x84($s1) +/* BCF064 80240474 0C00A67F */ jal rand_int +/* BCF068 80240478 24040003 */ addiu $a0, $zero, 3 +/* BCF06C 8024047C 00021040 */ sll $v0, $v0, 1 +/* BCF070 80240480 3C018024 */ lui $at, 0x8024 +/* BCF074 80240484 00220821 */ addu $at, $at, $v0 +/* BCF078 80240488 8422292C */ lh $v0, 0x292c($at) +/* BCF07C 8024048C 24040032 */ addiu $a0, $zero, 0x32 +/* BCF080 80240490 0C00A67F */ jal rand_int +/* BCF084 80240494 AE220078 */ sw $v0, 0x78($s1) +/* BCF088 80240498 2444001E */ addiu $a0, $v0, 0x1e +.L8024049C: +/* BCF08C 8024049C 8E230078 */ lw $v1, 0x78($s1) +/* BCF090 802404A0 0203102A */ slt $v0, $s0, $v1 +/* BCF094 802404A4 10400006 */ beqz $v0, .L802404C0 +/* BCF098 802404A8 2484FFFF */ addiu $a0, $a0, -1 +/* BCF09C 802404AC 2610000A */ addiu $s0, $s0, 0xa +/* BCF0A0 802404B0 0070102A */ slt $v0, $v1, $s0 +/* BCF0A4 802404B4 5040000A */ beql $v0, $zero, .L802404E0 +/* BCF0A8 802404B8 AE300084 */ sw $s0, 0x84($s1) +/* BCF0AC 802404BC 0060802D */ daddu $s0, $v1, $zero +.L802404C0: +/* BCF0B0 802404C0 0070102A */ slt $v0, $v1, $s0 +/* BCF0B4 802404C4 50400006 */ beql $v0, $zero, .L802404E0 +/* BCF0B8 802404C8 AE300084 */ sw $s0, 0x84($s1) +/* BCF0BC 802404CC 2610FFF6 */ addiu $s0, $s0, -0xa +/* BCF0C0 802404D0 0203102A */ slt $v0, $s0, $v1 +/* BCF0C4 802404D4 54400001 */ bnel $v0, $zero, .L802404DC +/* BCF0C8 802404D8 0060802D */ daddu $s0, $v1, $zero +.L802404DC: +/* BCF0CC 802404DC AE300084 */ sw $s0, 0x84($s1) +.L802404E0: +/* BCF0D0 802404E0 AE240088 */ sw $a0, 0x88($s1) +/* BCF0D4 802404E4 8FBF0018 */ lw $ra, 0x18($sp) +/* BCF0D8 802404E8 8FB10014 */ lw $s1, 0x14($sp) +/* BCF0DC 802404EC 8FB00010 */ lw $s0, 0x10($sp) +/* BCF0E0 802404F0 24020002 */ addiu $v0, $zero, 2 +/* BCF0E4 802404F4 03E00008 */ jr $ra +/* BCF0E8 802404F8 27BD0020 */ addiu $sp, $sp, 0x20 +/* BCF0EC 802404FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240500_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240500_BCEBF0.s new file mode 100644 index 0000000000..89dc2956fe --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240500_BCEBF0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_BCF0F0 +/* BCF0F0 80240500 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BCF0F4 80240504 AFB00010 */ sw $s0, 0x10($sp) +/* BCF0F8 80240508 0080802D */ daddu $s0, $a0, $zero +/* BCF0FC 8024050C AFBF0014 */ sw $ra, 0x14($sp) +/* BCF100 80240510 0C00AB39 */ jal heap_malloc +/* BCF104 80240514 240401E0 */ addiu $a0, $zero, 0x1e0 +/* BCF108 80240518 0200202D */ daddu $a0, $s0, $zero +/* BCF10C 8024051C 3C05FD05 */ lui $a1, 0xfd05 +/* BCF110 80240520 34A50F86 */ ori $a1, $a1, 0xf86 +/* BCF114 80240524 0C0B2026 */ jal set_variable +/* BCF118 80240528 0040302D */ daddu $a2, $v0, $zero +/* BCF11C 8024052C 8FBF0014 */ lw $ra, 0x14($sp) +/* BCF120 80240530 8FB00010 */ lw $s0, 0x10($sp) +/* BCF124 80240534 24020002 */ addiu $v0, $zero, 2 +/* BCF128 80240538 03E00008 */ jr $ra +/* BCF12C 8024053C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240540_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240540_BCEBF0.s new file mode 100644 index 0000000000..86249ef96f --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240540_BCEBF0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_BCF130 +/* BCF130 80240540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BCF134 80240544 3C05FD05 */ lui $a1, 0xfd05 +/* BCF138 80240548 34A50F86 */ ori $a1, $a1, 0xf86 +/* BCF13C 8024054C AFBF0010 */ sw $ra, 0x10($sp) +/* BCF140 80240550 0C0B1EAF */ jal get_variable +/* BCF144 80240554 0000202D */ daddu $a0, $zero, $zero +/* BCF148 80240558 8FBF0010 */ lw $ra, 0x10($sp) +/* BCF14C 8024055C 03E00008 */ jr $ra +/* BCF150 80240560 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240564_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240564_BCEBF0.s new file mode 100644 index 0000000000..400f0ecc97 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240564_BCEBF0.s @@ -0,0 +1,323 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240564_BCF154 +/* BCF154 80240564 27BDFF98 */ addiu $sp, $sp, -0x68 +/* BCF158 80240568 AFBE0060 */ sw $fp, 0x60($sp) +/* BCF15C 8024056C 00C0F02D */ daddu $fp, $a2, $zero +/* BCF160 80240570 AFBF0064 */ sw $ra, 0x64($sp) +/* BCF164 80240574 AFB7005C */ sw $s7, 0x5c($sp) +/* BCF168 80240578 AFB60058 */ sw $s6, 0x58($sp) +/* BCF16C 8024057C AFB50054 */ sw $s5, 0x54($sp) +/* BCF170 80240580 AFB40050 */ sw $s4, 0x50($sp) +/* BCF174 80240584 AFB3004C */ sw $s3, 0x4c($sp) +/* BCF178 80240588 AFB20048 */ sw $s2, 0x48($sp) +/* BCF17C 8024058C AFB10044 */ sw $s1, 0x44($sp) +/* BCF180 80240590 AFB00040 */ sw $s0, 0x40($sp) +/* BCF184 80240594 AFA40068 */ sw $a0, 0x68($sp) +/* BCF188 80240598 0C090150 */ jal func_80240540 +/* BCF18C 8024059C AFA5006C */ sw $a1, 0x6c($sp) +/* BCF190 802405A0 8FAB0068 */ lw $t3, 0x68($sp) +/* BCF194 802405A4 0040A82D */ daddu $s5, $v0, $zero +/* BCF198 802405A8 256BFFE4 */ addiu $t3, $t3, -0x1c +/* BCF19C 802405AC AFAB0068 */ sw $t3, 0x68($sp) +/* BCF1A0 802405B0 8FAB006C */ lw $t3, 0x6c($sp) +/* BCF1A4 802405B4 8EA30028 */ lw $v1, 0x28($s5) +/* BCF1A8 802405B8 256BFFFC */ addiu $t3, $t3, -4 +/* BCF1AC 802405BC 00031080 */ sll $v0, $v1, 2 +/* BCF1B0 802405C0 02A21021 */ addu $v0, $s5, $v0 +/* BCF1B4 802405C4 AFAB006C */ sw $t3, 0x6c($sp) +/* BCF1B8 802405C8 8C420010 */ lw $v0, 0x10($v0) +/* BCF1BC 802405CC 07C10002 */ bgez $fp, .L802405D8 +/* BCF1C0 802405D0 AFA20020 */ sw $v0, 0x20($sp) +/* BCF1C4 802405D4 0000F02D */ daddu $fp, $zero, $zero +.L802405D8: +/* BCF1C8 802405D8 0000802D */ daddu $s0, $zero, $zero +/* BCF1CC 802405DC 18600021 */ blez $v1, .L80240664 +/* BCF1D0 802405E0 0200902D */ daddu $s2, $s0, $zero +/* BCF1D4 802405E4 0060302D */ daddu $a2, $v1, $zero +/* BCF1D8 802405E8 26440001 */ addiu $a0, $s2, 1 +.L802405EC: +/* BCF1DC 802405EC 00041080 */ sll $v0, $a0, 2 +/* BCF1E0 802405F0 02A21021 */ addu $v0, $s5, $v0 +/* BCF1E4 802405F4 8C450010 */ lw $a1, 0x10($v0) +/* BCF1E8 802405F8 03C5102A */ slt $v0, $fp, $a1 +/* BCF1EC 802405FC 54400001 */ bnel $v0, $zero, .L80240604 +/* BCF1F0 80240600 03C0282D */ daddu $a1, $fp, $zero +.L80240604: +/* BCF1F4 80240604 00051900 */ sll $v1, $a1, 4 +/* BCF1F8 80240608 00651823 */ subu $v1, $v1, $a1 +/* BCF1FC 8024060C 8FAB0020 */ lw $t3, 0x20($sp) +/* BCF200 80240610 00031880 */ sll $v1, $v1, 2 +/* BCF204 80240614 15600002 */ bnez $t3, .L80240620 +/* BCF208 80240618 006B001A */ div $zero, $v1, $t3 +/* BCF20C 8024061C 0007000D */ break 7 +.L80240620: +/* BCF210 80240620 2401FFFF */ addiu $at, $zero, -1 +/* BCF214 80240624 15610004 */ bne $t3, $at, .L80240638 +/* BCF218 80240628 3C018000 */ lui $at, 0x8000 +/* BCF21C 8024062C 14610002 */ bne $v1, $at, .L80240638 +/* BCF220 80240630 00000000 */ nop +/* BCF224 80240634 0006000D */ break 6 +.L80240638: +/* BCF228 80240638 00001812 */ mflo $v1 +/* BCF22C 8024063C 00031040 */ sll $v0, $v1, 1 +/* BCF230 80240640 00431021 */ addu $v0, $v0, $v1 +/* BCF234 80240644 000210C0 */ sll $v0, $v0, 3 +/* BCF238 80240648 00431021 */ addu $v0, $v0, $v1 +/* BCF23C 8024064C 13C50005 */ beq $fp, $a1, .L80240664 +/* BCF240 80240650 00028080 */ sll $s0, $v0, 2 +/* BCF244 80240654 0080902D */ daddu $s2, $a0, $zero +/* BCF248 80240658 0246102A */ slt $v0, $s2, $a2 +/* BCF24C 8024065C 1440FFE3 */ bnez $v0, .L802405EC +/* BCF250 80240660 26440001 */ addiu $a0, $s2, 1 +.L80240664: +/* BCF254 80240664 8EA40008 */ lw $a0, 8($s5) +/* BCF258 80240668 8EA30000 */ lw $v1, ($s5) +/* BCF25C 8024066C 02041023 */ subu $v0, $s0, $a0 +/* BCF260 80240670 14600002 */ bnez $v1, .L8024067C +/* BCF264 80240674 0043001A */ div $zero, $v0, $v1 +/* BCF268 80240678 0007000D */ break 7 +.L8024067C: +/* BCF26C 8024067C 2401FFFF */ addiu $at, $zero, -1 +/* BCF270 80240680 14610004 */ bne $v1, $at, .L80240694 +/* BCF274 80240684 3C018000 */ lui $at, 0x8000 +/* BCF278 80240688 14410002 */ bne $v0, $at, .L80240694 +/* BCF27C 8024068C 00000000 */ nop +/* BCF280 80240690 0006000D */ break 6 +.L80240694: +/* BCF284 80240694 00001012 */ mflo $v0 +/* BCF288 80240698 0000A02D */ daddu $s4, $zero, $zero +/* BCF28C 8024069C 0280902D */ daddu $s2, $s4, $zero +/* BCF290 802406A0 8EA30028 */ lw $v1, 0x28($s5) +/* BCF294 802406A4 00822021 */ addu $a0, $a0, $v0 +/* BCF298 802406A8 18600055 */ blez $v1, .L80240800 +/* BCF29C 802406AC AEA40008 */ sw $a0, 8($s5) +/* BCF2A0 802406B0 8FAB006C */ lw $t3, 0x6c($sp) +/* BCF2A4 802406B4 000B1400 */ sll $v0, $t3, 0x10 +/* BCF2A8 802406B8 00021403 */ sra $v0, $v0, 0x10 +/* BCF2AC 802406BC AFA20028 */ sw $v0, 0x28($sp) +/* BCF2B0 802406C0 25620005 */ addiu $v0, $t3, 5 +/* BCF2B4 802406C4 00021400 */ sll $v0, $v0, 0x10 +/* BCF2B8 802406C8 00021403 */ sra $v0, $v0, 0x10 +/* BCF2BC 802406CC AFA2002C */ sw $v0, 0x2c($sp) +.L802406D0: +/* BCF2C0 802406D0 264B0001 */ addiu $t3, $s2, 1 +/* BCF2C4 802406D4 000B1080 */ sll $v0, $t3, 2 +/* BCF2C8 802406D8 02A21021 */ addu $v0, $s5, $v0 +/* BCF2CC 802406DC AFAB0024 */ sw $t3, 0x24($sp) +/* BCF2D0 802406E0 8C450010 */ lw $a1, 0x10($v0) +/* BCF2D4 802406E4 8FAB0020 */ lw $t3, 0x20($sp) +/* BCF2D8 802406E8 00051900 */ sll $v1, $a1, 4 +/* BCF2DC 802406EC 00651823 */ subu $v1, $v1, $a1 +/* BCF2E0 802406F0 00031880 */ sll $v1, $v1, 2 +/* BCF2E4 802406F4 15600002 */ bnez $t3, .L80240700 +/* BCF2E8 802406F8 006B001A */ div $zero, $v1, $t3 +/* BCF2EC 802406FC 0007000D */ break 7 +.L80240700: +/* BCF2F0 80240700 2401FFFF */ addiu $at, $zero, -1 +/* BCF2F4 80240704 15610004 */ bne $t3, $at, .L80240718 +/* BCF2F8 80240708 3C018000 */ lui $at, 0x8000 +/* BCF2FC 8024070C 14610002 */ bne $v1, $at, .L80240718 +/* BCF300 80240710 00000000 */ nop +/* BCF304 80240714 0006000D */ break 6 +.L80240718: +/* BCF308 80240718 00001812 */ mflo $v1 +/* BCF30C 8024071C 8FA7002C */ lw $a3, 0x2c($sp) +/* BCF310 80240720 00121040 */ sll $v0, $s2, 1 +/* BCF314 80240724 00529821 */ addu $s3, $v0, $s2 +/* BCF318 80240728 26770001 */ addiu $s7, $s3, 1 +/* BCF31C 8024072C 26760002 */ addiu $s6, $s3, 2 +/* BCF320 80240730 8FAB0068 */ lw $t3, 0x68($sp) +/* BCF324 80240734 8FA50028 */ lw $a1, 0x28($sp) +/* BCF328 80240738 01743021 */ addu $a2, $t3, $s4 +/* BCF32C 8024073C 00062400 */ sll $a0, $a2, 0x10 +/* BCF330 80240740 00042403 */ sra $a0, $a0, 0x10 +/* BCF334 80240744 3C0B8024 */ lui $t3, 0x8024 +/* BCF338 80240748 256B30A0 */ addiu $t3, $t3, 0x30a0 +/* BCF33C 8024074C 02EB1021 */ addu $v0, $s7, $t3 +/* BCF340 80240750 904A0000 */ lbu $t2, ($v0) +/* BCF344 80240754 02CB1021 */ addu $v0, $s6, $t3 +/* BCF348 80240758 90490000 */ lbu $t1, ($v0) +/* BCF34C 8024075C 026B1021 */ addu $v0, $s3, $t3 +/* BCF350 80240760 90420000 */ lbu $v0, ($v0) +/* BCF354 80240764 240B00FF */ addiu $t3, $zero, 0xff +/* BCF358 80240768 AFAB001C */ sw $t3, 0x1c($sp) +/* BCF35C 8024076C AFA20010 */ sw $v0, 0x10($sp) +/* BCF360 80240770 AFAA0014 */ sw $t2, 0x14($sp) +/* BCF364 80240774 AFA90018 */ sw $t1, 0x18($sp) +/* BCF368 80240778 00748023 */ subu $s0, $v1, $s4 +/* BCF36C 8024077C 00D03021 */ addu $a2, $a2, $s0 +/* BCF370 80240780 00063400 */ sll $a2, $a2, 0x10 +/* BCF374 80240784 00068C03 */ sra $s1, $a2, 0x10 +/* BCF378 80240788 0C00AAB1 */ jal func_8002AAC4 +/* BCF37C 8024078C 0220302D */ daddu $a2, $s1, $zero +/* BCF380 80240790 8EA20028 */ lw $v0, 0x28($s5) +/* BCF384 80240794 2442FFFF */ addiu $v0, $v0, -1 +/* BCF388 80240798 0242102A */ slt $v0, $s2, $v0 +/* BCF38C 8024079C 10400017 */ beqz $v0, .L802407FC +/* BCF390 802407A0 0220202D */ daddu $a0, $s1, $zero +/* BCF394 802407A4 0080302D */ daddu $a2, $a0, $zero +/* BCF398 802407A8 3C0B8024 */ lui $t3, 0x8024 +/* BCF39C 802407AC 256B30C0 */ addiu $t3, $t3, 0x30c0 +/* BCF3A0 802407B0 02EB1021 */ addu $v0, $s7, $t3 +/* BCF3A4 802407B4 904A0000 */ lbu $t2, ($v0) +/* BCF3A8 802407B8 02CB1021 */ addu $v0, $s6, $t3 +/* BCF3AC 802407BC 90490000 */ lbu $t1, ($v0) +/* BCF3B0 802407C0 026B1021 */ addu $v0, $s3, $t3 +/* BCF3B4 802407C4 8FA50028 */ lw $a1, 0x28($sp) +/* BCF3B8 802407C8 8FA7002C */ lw $a3, 0x2c($sp) +/* BCF3BC 802407CC 90420000 */ lbu $v0, ($v0) +/* BCF3C0 802407D0 240B00FF */ addiu $t3, $zero, 0xff +/* BCF3C4 802407D4 AFAB001C */ sw $t3, 0x1c($sp) +/* BCF3C8 802407D8 AFA20010 */ sw $v0, 0x10($sp) +/* BCF3CC 802407DC AFAA0014 */ sw $t2, 0x14($sp) +/* BCF3D0 802407E0 0C00AAB1 */ jal func_8002AAC4 +/* BCF3D4 802407E4 AFA90018 */ sw $t1, 0x18($sp) +/* BCF3D8 802407E8 8EA20028 */ lw $v0, 0x28($s5) +/* BCF3DC 802407EC 8FB20024 */ lw $s2, 0x24($sp) +/* BCF3E0 802407F0 0242102A */ slt $v0, $s2, $v0 +/* BCF3E4 802407F4 1440FFB6 */ bnez $v0, .L802406D0 +/* BCF3E8 802407F8 0290A021 */ addu $s4, $s4, $s0 +.L802407FC: +/* BCF3EC 802407FC 0000A02D */ daddu $s4, $zero, $zero +.L80240800: +/* BCF3F0 80240800 8EA20028 */ lw $v0, 0x28($s5) +/* BCF3F4 80240804 18400076 */ blez $v0, .L802409E0 +/* BCF3F8 80240808 0280902D */ daddu $s2, $s4, $zero +/* BCF3FC 8024080C 24160002 */ addiu $s6, $zero, 2 +/* BCF400 80240810 24130001 */ addiu $s3, $zero, 1 +/* BCF404 80240814 8FAB006C */ lw $t3, 0x6c($sp) +/* BCF408 80240818 3C178024 */ lui $s7, 0x8024 +/* BCF40C 8024081C 26F730B0 */ addiu $s7, $s7, 0x30b0 +/* BCF410 80240820 000B1400 */ sll $v0, $t3, 0x10 +/* BCF414 80240824 00021403 */ sra $v0, $v0, 0x10 +/* BCF418 80240828 AFA20030 */ sw $v0, 0x30($sp) +/* BCF41C 8024082C 25620005 */ addiu $v0, $t3, 5 +/* BCF420 80240830 00021400 */ sll $v0, $v0, 0x10 +/* BCF424 80240834 00021403 */ sra $v0, $v0, 0x10 +/* BCF428 80240838 3C0B8024 */ lui $t3, 0x8024 +/* BCF42C 8024083C 256B30C0 */ addiu $t3, $t3, 0x30c0 +/* BCF430 80240840 AFAB0038 */ sw $t3, 0x38($sp) +/* BCF434 80240844 240B0004 */ addiu $t3, $zero, 4 +/* BCF438 80240848 AFA20034 */ sw $v0, 0x34($sp) +/* BCF43C 8024084C AFAB003C */ sw $t3, 0x3c($sp) +.L80240850: +/* BCF440 80240850 3C0B8024 */ lui $t3, 0x8024 +/* BCF444 80240854 256B30B0 */ addiu $t3, $t3, 0x30b0 +/* BCF448 80240858 026B1021 */ addu $v0, $s3, $t3 +/* BCF44C 8024085C 904A0000 */ lbu $t2, ($v0) +/* BCF450 80240860 8FAB003C */ lw $t3, 0x3c($sp) +/* BCF454 80240864 92E80000 */ lbu $t0, ($s7) +/* BCF458 80240868 02AB1021 */ addu $v0, $s5, $t3 +/* BCF45C 8024086C 3C0B8024 */ lui $t3, 0x8024 +/* BCF460 80240870 256B30B0 */ addiu $t3, $t3, 0x30b0 +/* BCF464 80240874 8C450010 */ lw $a1, 0x10($v0) +/* BCF468 80240878 02CB1021 */ addu $v0, $s6, $t3 +/* BCF46C 8024087C 90490000 */ lbu $t1, ($v0) +/* BCF470 80240880 03C5102A */ slt $v0, $fp, $a1 +/* BCF474 80240884 54400001 */ bnel $v0, $zero, .L8024088C +/* BCF478 80240888 03C0282D */ daddu $a1, $fp, $zero +.L8024088C: +/* BCF47C 8024088C 00051900 */ sll $v1, $a1, 4 +/* BCF480 80240890 00651823 */ subu $v1, $v1, $a1 +/* BCF484 80240894 8FAB0020 */ lw $t3, 0x20($sp) +/* BCF488 80240898 00031880 */ sll $v1, $v1, 2 +/* BCF48C 8024089C 15600002 */ bnez $t3, .L802408A8 +/* BCF490 802408A0 006B001A */ div $zero, $v1, $t3 +/* BCF494 802408A4 0007000D */ break 7 +.L802408A8: +/* BCF498 802408A8 2401FFFF */ addiu $at, $zero, -1 +/* BCF49C 802408AC 15610004 */ bne $t3, $at, .L802408C0 +/* BCF4A0 802408B0 3C018000 */ lui $at, 0x8000 +/* BCF4A4 802408B4 14610002 */ bne $v1, $at, .L802408C0 +/* BCF4A8 802408B8 00000000 */ nop +/* BCF4AC 802408BC 0006000D */ break 6 +.L802408C0: +/* BCF4B0 802408C0 00001812 */ mflo $v1 +/* BCF4B4 802408C4 8EA40008 */ lw $a0, 8($s5) +/* BCF4B8 802408C8 3C0251EB */ lui $v0, 0x51eb +/* BCF4BC 802408CC 3442851F */ ori $v0, $v0, 0x851f +/* BCF4C0 802408D0 00820018 */ mult $a0, $v0 +/* BCF4C4 802408D4 000427C3 */ sra $a0, $a0, 0x1f +/* BCF4C8 802408D8 00006010 */ mfhi $t4 +/* BCF4CC 802408DC 000C1143 */ sra $v0, $t4, 5 +/* BCF4D0 802408E0 00441023 */ subu $v0, $v0, $a0 +/* BCF4D4 802408E4 00548023 */ subu $s0, $v0, $s4 +/* BCF4D8 802408E8 0600003D */ bltz $s0, .L802409E0 +/* BCF4DC 802408EC 00748823 */ subu $s1, $v1, $s4 +/* BCF4E0 802408F0 52200007 */ beql $s1, $zero, .L80240910 +/* BCF4E4 802408F4 0200882D */ daddu $s1, $s0, $zero +/* BCF4E8 802408F8 14BE0003 */ bne $a1, $fp, .L80240908 +/* BCF4EC 802408FC 0230102A */ slt $v0, $s1, $s0 +/* BCF4F0 80240900 08090244 */ j .L80240910 +/* BCF4F4 80240904 0200882D */ daddu $s1, $s0, $zero +.L80240908: +/* BCF4F8 80240908 54400001 */ bnel $v0, $zero, .L80240910 +/* BCF4FC 8024090C 0220802D */ daddu $s0, $s1, $zero +.L80240910: +/* BCF500 80240910 8FAB0068 */ lw $t3, 0x68($sp) +/* BCF504 80240914 8FA50030 */ lw $a1, 0x30($sp) +/* BCF508 80240918 8FA70034 */ lw $a3, 0x34($sp) +/* BCF50C 8024091C AFA80010 */ sw $t0, 0x10($sp) +/* BCF510 80240920 AFAA0014 */ sw $t2, 0x14($sp) +/* BCF514 80240924 AFA90018 */ sw $t1, 0x18($sp) +/* BCF518 80240928 01741021 */ addu $v0, $t3, $s4 +/* BCF51C 8024092C 00022400 */ sll $a0, $v0, 0x10 +/* BCF520 80240930 00042403 */ sra $a0, $a0, 0x10 +/* BCF524 80240934 00501021 */ addu $v0, $v0, $s0 +/* BCF528 80240938 00021400 */ sll $v0, $v0, 0x10 +/* BCF52C 8024093C 00028403 */ sra $s0, $v0, 0x10 +/* BCF530 80240940 0200302D */ daddu $a2, $s0, $zero +/* BCF534 80240944 240B00FF */ addiu $t3, $zero, 0xff +/* BCF538 80240948 0C00AAB1 */ jal func_8002AAC4 +/* BCF53C 8024094C AFAB001C */ sw $t3, 0x1c($sp) +/* BCF540 80240950 8EA20028 */ lw $v0, 0x28($s5) +/* BCF544 80240954 2442FFFF */ addiu $v0, $v0, -1 +/* BCF548 80240958 0242102A */ slt $v0, $s2, $v0 +/* BCF54C 8024095C 10400020 */ beqz $v0, .L802409E0 +/* BCF550 80240960 0200202D */ daddu $a0, $s0, $zero +/* BCF554 80240964 0080302D */ daddu $a2, $a0, $zero +/* BCF558 80240968 0291A021 */ addu $s4, $s4, $s1 +/* BCF55C 8024096C 3C0B8024 */ lui $t3, 0x8024 +/* BCF560 80240970 256B30C0 */ addiu $t3, $t3, 0x30c0 +/* BCF564 80240974 02CB4021 */ addu $t0, $s6, $t3 +/* BCF568 80240978 26D60003 */ addiu $s6, $s6, 3 +/* BCF56C 8024097C 026B1021 */ addu $v0, $s3, $t3 +/* BCF570 80240980 26730003 */ addiu $s3, $s3, 3 +/* BCF574 80240984 26F70003 */ addiu $s7, $s7, 3 +/* BCF578 80240988 8FAB0038 */ lw $t3, 0x38($sp) +/* BCF57C 8024098C 8FA50030 */ lw $a1, 0x30($sp) +/* BCF580 80240990 91630000 */ lbu $v1, ($t3) +/* BCF584 80240994 256B0003 */ addiu $t3, $t3, 3 +/* BCF588 80240998 AFAB0038 */ sw $t3, 0x38($sp) +/* BCF58C 8024099C 8FAB003C */ lw $t3, 0x3c($sp) +/* BCF590 802409A0 8FA70034 */ lw $a3, 0x34($sp) +/* BCF594 802409A4 256B0004 */ addiu $t3, $t3, 4 +/* BCF598 802409A8 AFAB003C */ sw $t3, 0x3c($sp) +/* BCF59C 802409AC 904A0000 */ lbu $t2, ($v0) +/* BCF5A0 802409B0 91090000 */ lbu $t1, ($t0) +/* BCF5A4 802409B4 240B00FF */ addiu $t3, $zero, 0xff +/* BCF5A8 802409B8 AFAB001C */ sw $t3, 0x1c($sp) +/* BCF5AC 802409BC AFA30010 */ sw $v1, 0x10($sp) +/* BCF5B0 802409C0 AFAA0014 */ sw $t2, 0x14($sp) +/* BCF5B4 802409C4 0C00AAB1 */ jal func_8002AAC4 +/* BCF5B8 802409C8 AFA90018 */ sw $t1, 0x18($sp) +/* BCF5BC 802409CC 8EA20028 */ lw $v0, 0x28($s5) +/* BCF5C0 802409D0 26520001 */ addiu $s2, $s2, 1 +/* BCF5C4 802409D4 0242102A */ slt $v0, $s2, $v0 +/* BCF5C8 802409D8 1440FF9D */ bnez $v0, .L80240850 +/* BCF5CC 802409DC 00000000 */ nop +.L802409E0: +/* BCF5D0 802409E0 8FBF0064 */ lw $ra, 0x64($sp) +/* BCF5D4 802409E4 8FBE0060 */ lw $fp, 0x60($sp) +/* BCF5D8 802409E8 8FB7005C */ lw $s7, 0x5c($sp) +/* BCF5DC 802409EC 8FB60058 */ lw $s6, 0x58($sp) +/* BCF5E0 802409F0 8FB50054 */ lw $s5, 0x54($sp) +/* BCF5E4 802409F4 8FB40050 */ lw $s4, 0x50($sp) +/* BCF5E8 802409F8 8FB3004C */ lw $s3, 0x4c($sp) +/* BCF5EC 802409FC 8FB20048 */ lw $s2, 0x48($sp) +/* BCF5F0 80240A00 8FB10044 */ lw $s1, 0x44($sp) +/* BCF5F4 80240A04 8FB00040 */ lw $s0, 0x40($sp) +/* BCF5F8 80240A08 03E00008 */ jr $ra +/* BCF5FC 80240A0C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240A10.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240A10.s new file mode 100644 index 0000000000..3c371d326b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240A10.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A10 +/* BCF600 80240A10 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BCF604 80240A14 AFB10014 */ sw $s1, 0x14($sp) +/* BCF608 80240A18 0080882D */ daddu $s1, $a0, $zero +/* BCF60C 80240A1C AFB20018 */ sw $s2, 0x18($sp) +/* BCF610 80240A20 00A0902D */ daddu $s2, $a1, $zero +/* BCF614 80240A24 AFB3001C */ sw $s3, 0x1c($sp) +/* BCF618 80240A28 00C0982D */ daddu $s3, $a2, $zero +/* BCF61C 80240A2C AFB00010 */ sw $s0, 0x10($sp) +/* BCF620 80240A30 AFBF0020 */ sw $ra, 0x20($sp) +/* BCF624 80240A34 0C090150 */ jal func_80240540 +/* BCF628 80240A38 00E0802D */ daddu $s0, $a3, $zero +/* BCF62C 80240A3C 0220202D */ daddu $a0, $s1, $zero +/* BCF630 80240A40 0240282D */ daddu $a1, $s2, $zero +/* BCF634 80240A44 0260302D */ daddu $a2, $s3, $zero +/* BCF638 80240A48 0C090159 */ jal func_80240564 +/* BCF63C 80240A4C AC500000 */ sw $s0, ($v0) +/* BCF640 80240A50 8FBF0020 */ lw $ra, 0x20($sp) +/* BCF644 80240A54 8FB3001C */ lw $s3, 0x1c($sp) +/* BCF648 80240A58 8FB20018 */ lw $s2, 0x18($sp) +/* BCF64C 80240A5C 8FB10014 */ lw $s1, 0x14($sp) +/* BCF650 80240A60 8FB00010 */ lw $s0, 0x10($sp) +/* BCF654 80240A64 03E00008 */ jr $ra +/* BCF658 80240A68 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240A6C_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240A6C_BCEBF0.s new file mode 100644 index 0000000000..7b570bc322 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240A6C_BCEBF0.s @@ -0,0 +1,311 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A6C_BCF65C +/* BCF65C 80240A6C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BCF660 80240A70 AFBF001C */ sw $ra, 0x1c($sp) +/* BCF664 80240A74 AFB20018 */ sw $s2, 0x18($sp) +/* BCF668 80240A78 AFB10014 */ sw $s1, 0x14($sp) +/* BCF66C 80240A7C AFB00010 */ sw $s0, 0x10($sp) +/* BCF670 80240A80 0C090150 */ jal func_80240540 +/* BCF674 80240A84 F7B40020 */ sdc1 $f20, 0x20($sp) +/* BCF678 80240A88 0040882D */ daddu $s1, $v0, $zero +/* BCF67C 80240A8C 8E2301C0 */ lw $v1, 0x1c0($s1) +/* BCF680 80240A90 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* BCF684 80240A94 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* BCF688 80240A98 00031880 */ sll $v1, $v1, 2 +/* BCF68C 80240A9C 8C420010 */ lw $v0, 0x10($v0) +/* BCF690 80240AA0 02231821 */ addu $v1, $s1, $v1 +/* BCF694 80240AA4 30428000 */ andi $v0, $v0, 0x8000 +/* BCF698 80240AA8 AC620058 */ sw $v0, 0x58($v1) +/* BCF69C 80240AAC 8E2201C0 */ lw $v0, 0x1c0($s1) +/* BCF6A0 80240AB0 24420001 */ addiu $v0, $v0, 1 +/* BCF6A4 80240AB4 AE2201C0 */ sw $v0, 0x1c0($s1) +/* BCF6A8 80240AB8 2842005A */ slti $v0, $v0, 0x5a +/* BCF6AC 80240ABC 50400001 */ beql $v0, $zero, .L80240AC4 +/* BCF6B0 80240AC0 AE2001C0 */ sw $zero, 0x1c0($s1) +.L80240AC4: +/* BCF6B4 80240AC4 8E230030 */ lw $v1, 0x30($s1) +/* BCF6B8 80240AC8 24120001 */ addiu $s2, $zero, 1 +/* BCF6BC 80240ACC 10720023 */ beq $v1, $s2, .L80240B5C +/* BCF6C0 80240AD0 28620002 */ slti $v0, $v1, 2 +/* BCF6C4 80240AD4 50400005 */ beql $v0, $zero, .L80240AEC +/* BCF6C8 80240AD8 2402000A */ addiu $v0, $zero, 0xa +/* BCF6CC 80240ADC 10600009 */ beqz $v1, .L80240B04 +/* BCF6D0 80240AE0 240500FF */ addiu $a1, $zero, 0xff +/* BCF6D4 80240AE4 080903B7 */ j .L80240EDC +/* BCF6D8 80240AE8 00000000 */ nop +.L80240AEC: +/* BCF6DC 80240AEC 10620033 */ beq $v1, $v0, .L80240BBC +/* BCF6E0 80240AF0 2402000B */ addiu $v0, $zero, 0xb +/* BCF6E4 80240AF4 10620038 */ beq $v1, $v0, .L80240BD8 +/* BCF6E8 80240AF8 00000000 */ nop +/* BCF6EC 80240AFC 080903B7 */ j .L80240EDC +/* BCF6F0 80240B00 00000000 */ nop +.L80240B04: +/* BCF6F4 80240B04 8E30003C */ lw $s0, 0x3c($s1) +/* BCF6F8 80240B08 0C0513AC */ jal icon_set_opacity +/* BCF6FC 80240B0C 0200202D */ daddu $a0, $s0, $zero +/* BCF700 80240B10 0200202D */ daddu $a0, $s0, $zero +/* BCF704 80240B14 0C05128B */ jal clear_icon_flags +/* BCF708 80240B18 24050002 */ addiu $a1, $zero, 2 +/* BCF70C 80240B1C 8E300040 */ lw $s0, 0x40($s1) +/* BCF710 80240B20 240500FF */ addiu $a1, $zero, 0xff +/* BCF714 80240B24 0C0513AC */ jal icon_set_opacity +/* BCF718 80240B28 0200202D */ daddu $a0, $s0, $zero +/* BCF71C 80240B2C 0200202D */ daddu $a0, $s0, $zero +/* BCF720 80240B30 0C05128B */ jal clear_icon_flags +/* BCF724 80240B34 24050002 */ addiu $a1, $zero, 2 +/* BCF728 80240B38 8E300044 */ lw $s0, 0x44($s1) +/* BCF72C 80240B3C 240500FF */ addiu $a1, $zero, 0xff +/* BCF730 80240B40 0C0513AC */ jal icon_set_opacity +/* BCF734 80240B44 0200202D */ daddu $a0, $s0, $zero +/* BCF738 80240B48 0200202D */ daddu $a0, $s0, $zero +/* BCF73C 80240B4C 0C05128B */ jal clear_icon_flags +/* BCF740 80240B50 24050002 */ addiu $a1, $zero, 2 +/* BCF744 80240B54 080903B7 */ j .L80240EDC +/* BCF748 80240B58 AE320030 */ sw $s2, 0x30($s1) +.L80240B5C: +/* BCF74C 80240B5C 8E220034 */ lw $v0, 0x34($s1) +/* BCF750 80240B60 24420014 */ addiu $v0, $v0, 0x14 +/* BCF754 80240B64 AE220034 */ sw $v0, 0x34($s1) +/* BCF758 80240B68 28420033 */ slti $v0, $v0, 0x33 +/* BCF75C 80240B6C 14400002 */ bnez $v0, .L80240B78 +/* BCF760 80240B70 24020032 */ addiu $v0, $zero, 0x32 +/* BCF764 80240B74 AE220034 */ sw $v0, 0x34($s1) +.L80240B78: +/* BCF768 80240B78 8E24003C */ lw $a0, 0x3c($s1) +/* BCF76C 80240B7C 8E250034 */ lw $a1, 0x34($s1) +/* BCF770 80240B80 0C051261 */ jal set_icon_render_pos +/* BCF774 80240B84 8E260038 */ lw $a2, 0x38($s1) +/* BCF778 80240B88 8E240040 */ lw $a0, 0x40($s1) +/* BCF77C 80240B8C 8E260038 */ lw $a2, 0x38($s1) +/* BCF780 80240B90 8E250034 */ lw $a1, 0x34($s1) +/* BCF784 80240B94 0C051261 */ jal set_icon_render_pos +/* BCF788 80240B98 24C6001C */ addiu $a2, $a2, 0x1c +/* BCF78C 80240B9C 8E240044 */ lw $a0, 0x44($s1) +/* BCF790 80240BA0 8E250034 */ lw $a1, 0x34($s1) +/* BCF794 80240BA4 8E260038 */ lw $a2, 0x38($s1) +/* BCF798 80240BA8 24A50002 */ addiu $a1, $a1, 2 +/* BCF79C 80240BAC 0C051261 */ jal set_icon_render_pos +/* BCF7A0 80240BB0 24C6000E */ addiu $a2, $a2, 0xe +/* BCF7A4 80240BB4 080903B7 */ j .L80240EDC +/* BCF7A8 80240BB8 00000000 */ nop +.L80240BBC: +/* BCF7AC 80240BBC 8E24003C */ lw $a0, 0x3c($s1) +/* BCF7B0 80240BC0 3C058011 */ lui $a1, 0x8011 +/* BCF7B4 80240BC4 24A58C34 */ addiu $a1, $a1, -0x73cc +/* BCF7B8 80240BC8 0C0511FF */ jal set_menu_icon_script +/* BCF7BC 80240BCC 00000000 */ nop +/* BCF7C0 80240BD0 2402000B */ addiu $v0, $zero, 0xb +/* BCF7C4 80240BD4 AE220030 */ sw $v0, 0x30($s1) +.L80240BD8: +/* BCF7C8 80240BD8 8E2301C0 */ lw $v1, 0x1c0($s1) +/* BCF7CC 80240BDC 2405005A */ addiu $a1, $zero, 0x5a +/* BCF7D0 80240BE0 2463FFA6 */ addiu $v1, $v1, -0x5a +/* BCF7D4 80240BE4 04610002 */ bgez $v1, .L80240BF0 +/* BCF7D8 80240BE8 AE200004 */ sw $zero, 4($s1) +/* BCF7DC 80240BEC 00651821 */ addu $v1, $v1, $a1 +.L80240BF0: +/* BCF7E0 80240BF0 0000802D */ daddu $s0, $zero, $zero +/* BCF7E4 80240BF4 0200202D */ daddu $a0, $s0, $zero +.L80240BF8: +/* BCF7E8 80240BF8 2862005A */ slti $v0, $v1, 0x5a +/* BCF7EC 80240BFC 50400001 */ beql $v0, $zero, .L80240C04 +/* BCF7F0 80240C00 2463FFA6 */ addiu $v1, $v1, -0x5a +.L80240C04: +/* BCF7F4 80240C04 00031080 */ sll $v0, $v1, 2 +/* BCF7F8 80240C08 02221021 */ addu $v0, $s1, $v0 +/* BCF7FC 80240C0C 8C420058 */ lw $v0, 0x58($v0) +/* BCF800 80240C10 54400001 */ bnel $v0, $zero, .L80240C18 +/* BCF804 80240C14 26100001 */ addiu $s0, $s0, 1 +.L80240C18: +/* BCF808 80240C18 24840001 */ addiu $a0, $a0, 1 +/* BCF80C 80240C1C 0085102A */ slt $v0, $a0, $a1 +/* BCF810 80240C20 1440FFF5 */ bnez $v0, .L80240BF8 +/* BCF814 80240C24 24630001 */ addiu $v1, $v1, 1 +/* BCF818 80240C28 0000202D */ daddu $a0, $zero, $zero +/* BCF81C 80240C2C 3C05FD05 */ lui $a1, 0xfd05 +/* BCF820 80240C30 34A50F87 */ ori $a1, $a1, 0xf87 +/* BCF824 80240C34 00103140 */ sll $a2, $s0, 5 +/* BCF828 80240C38 00D03023 */ subu $a2, $a2, $s0 +/* BCF82C 80240C3C 00063080 */ sll $a2, $a2, 2 +/* BCF830 80240C40 00D03021 */ addu $a2, $a2, $s0 +/* BCF834 80240C44 0C0B2026 */ jal set_variable +/* BCF838 80240C48 000630C0 */ sll $a2, $a2, 3 +/* BCF83C 80240C4C 3C032E8B */ lui $v1, 0x2e8b +/* BCF840 80240C50 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* BCF844 80240C54 00101040 */ sll $v0, $s0, 1 +/* BCF848 80240C58 00501021 */ addu $v0, $v0, $s0 +/* BCF84C 80240C5C 000210C0 */ sll $v0, $v0, 3 +/* BCF850 80240C60 00501021 */ addu $v0, $v0, $s0 +/* BCF854 80240C64 00021080 */ sll $v0, $v0, 2 +/* BCF858 80240C68 00430018 */ mult $v0, $v1 +/* BCF85C 80240C6C 000217C3 */ sra $v0, $v0, 0x1f +/* BCF860 80240C70 00003810 */ mfhi $a3 +/* BCF864 80240C74 00071883 */ sra $v1, $a3, 2 +/* BCF868 80240C78 00621823 */ subu $v1, $v1, $v0 +/* BCF86C 80240C7C 04610002 */ bgez $v1, .L80240C88 +/* BCF870 80240C80 AE230004 */ sw $v1, 4($s1) +/* BCF874 80240C84 AE200004 */ sw $zero, 4($s1) +.L80240C88: +/* BCF878 80240C88 8E220004 */ lw $v0, 4($s1) +/* BCF87C 80240C8C 28420065 */ slti $v0, $v0, 0x65 +/* BCF880 80240C90 14400004 */ bnez $v0, .L80240CA4 +/* BCF884 80240C94 3C028888 */ lui $v0, 0x8888 +/* BCF888 80240C98 24020064 */ addiu $v0, $zero, 0x64 +/* BCF88C 80240C9C AE220004 */ sw $v0, 4($s1) +/* BCF890 80240CA0 3C028888 */ lui $v0, 0x8888 +.L80240CA4: +/* BCF894 80240CA4 8E230008 */ lw $v1, 8($s1) +/* BCF898 80240CA8 34428889 */ ori $v0, $v0, 0x8889 +/* BCF89C 80240CAC 00620018 */ mult $v1, $v0 +/* BCF8A0 80240CB0 00003810 */ mfhi $a3 +/* BCF8A4 80240CB4 00E31021 */ addu $v0, $a3, $v1 +/* BCF8A8 80240CB8 00021143 */ sra $v0, $v0, 5 +/* BCF8AC 80240CBC 00031FC3 */ sra $v1, $v1, 0x1f +/* BCF8B0 80240CC0 00438023 */ subu $s0, $v0, $v1 +/* BCF8B4 80240CC4 2A020033 */ slti $v0, $s0, 0x33 +/* BCF8B8 80240CC8 10400021 */ beqz $v0, .L80240D50 +/* BCF8BC 80240CCC 00101840 */ sll $v1, $s0, 1 +/* BCF8C0 80240CD0 3C0451EB */ lui $a0, 0x51eb +/* BCF8C4 80240CD4 3484851F */ ori $a0, $a0, 0x851f +/* BCF8C8 80240CD8 00701821 */ addu $v1, $v1, $s0 +/* BCF8CC 80240CDC 00031100 */ sll $v0, $v1, 4 +/* BCF8D0 80240CE0 00431023 */ subu $v0, $v0, $v1 +/* BCF8D4 80240CE4 00021040 */ sll $v0, $v0, 1 +/* BCF8D8 80240CE8 00440018 */ mult $v0, $a0 +/* BCF8DC 80240CEC 000217C3 */ sra $v0, $v0, 0x1f +/* BCF8E0 80240CF0 3C0140C9 */ lui $at, 0x40c9 +/* BCF8E4 80240CF4 34210FD0 */ ori $at, $at, 0xfd0 +/* BCF8E8 80240CF8 44810000 */ mtc1 $at, $f0 +/* BCF8EC 80240CFC 00003810 */ mfhi $a3 +/* BCF8F0 80240D00 00071903 */ sra $v1, $a3, 4 +/* BCF8F4 80240D04 00621823 */ subu $v1, $v1, $v0 +/* BCF8F8 80240D08 44836000 */ mtc1 $v1, $f12 +/* BCF8FC 80240D0C 00000000 */ nop +/* BCF900 80240D10 46806320 */ cvt.s.w $f12, $f12 +/* BCF904 80240D14 46006302 */ mul.s $f12, $f12, $f0 +/* BCF908 80240D18 00000000 */ nop +/* BCF90C 80240D1C 3C0143B4 */ lui $at, 0x43b4 +/* BCF910 80240D20 44810000 */ mtc1 $at, $f0 +/* BCF914 80240D24 0C00A85B */ jal sin_rad +/* BCF918 80240D28 46006303 */ div.s $f12, $f12, $f0 +/* BCF91C 80240D2C 3C014248 */ lui $at, 0x4248 +/* BCF920 80240D30 44811000 */ mtc1 $at, $f2 +/* BCF924 80240D34 00000000 */ nop +/* BCF928 80240D38 46020002 */ mul.s $f0, $f0, $f2 +/* BCF92C 80240D3C 00000000 */ nop +/* BCF930 80240D40 4600018D */ trunc.w.s $f6, $f0 +/* BCF934 80240D44 44103000 */ mfc1 $s0, $f6 +/* BCF938 80240D48 0809037D */ j .L80240DF4 +/* BCF93C 80240D4C 24020064 */ addiu $v0, $zero, 0x64 +.L80240D50: +/* BCF940 80240D50 3C0451EB */ lui $a0, 0x51eb +/* BCF944 80240D54 3484851F */ ori $a0, $a0, 0x851f +/* BCF948 80240D58 2602FFCE */ addiu $v0, $s0, -0x32 +/* BCF94C 80240D5C 00021840 */ sll $v1, $v0, 1 +/* BCF950 80240D60 00621821 */ addu $v1, $v1, $v0 +/* BCF954 80240D64 00031100 */ sll $v0, $v1, 4 +/* BCF958 80240D68 00431023 */ subu $v0, $v0, $v1 +/* BCF95C 80240D6C 00021040 */ sll $v0, $v0, 1 +/* BCF960 80240D70 00440018 */ mult $v0, $a0 +/* BCF964 80240D74 000217C3 */ sra $v0, $v0, 0x1f +/* BCF968 80240D78 3C0140C9 */ lui $at, 0x40c9 +/* BCF96C 80240D7C 34210FD0 */ ori $at, $at, 0xfd0 +/* BCF970 80240D80 44810000 */ mtc1 $at, $f0 +/* BCF974 80240D84 00003810 */ mfhi $a3 +/* BCF978 80240D88 00071903 */ sra $v1, $a3, 4 +/* BCF97C 80240D8C 00621823 */ subu $v1, $v1, $v0 +/* BCF980 80240D90 2463005A */ addiu $v1, $v1, 0x5a +/* BCF984 80240D94 44836000 */ mtc1 $v1, $f12 +/* BCF988 80240D98 00000000 */ nop +/* BCF98C 80240D9C 46806320 */ cvt.s.w $f12, $f12 +/* BCF990 80240DA0 46006302 */ mul.s $f12, $f12, $f0 +/* BCF994 80240DA4 00000000 */ nop +/* BCF998 80240DA8 3C0143B4 */ lui $at, 0x43b4 +/* BCF99C 80240DAC 44810000 */ mtc1 $at, $f0 +/* BCF9A0 80240DB0 0C00A85B */ jal sin_rad +/* BCF9A4 80240DB4 46006303 */ div.s $f12, $f12, $f0 +/* BCF9A8 80240DB8 3C013FF0 */ lui $at, 0x3ff0 +/* BCF9AC 80240DBC 44811800 */ mtc1 $at, $f3 +/* BCF9B0 80240DC0 44801000 */ mtc1 $zero, $f2 +/* BCF9B4 80240DC4 46000021 */ cvt.d.s $f0, $f0 +/* BCF9B8 80240DC8 46201081 */ sub.d $f2, $f2, $f0 +/* BCF9BC 80240DCC 3C014049 */ lui $at, 0x4049 +/* BCF9C0 80240DD0 44810800 */ mtc1 $at, $f1 +/* BCF9C4 80240DD4 44800000 */ mtc1 $zero, $f0 +/* BCF9C8 80240DD8 00000000 */ nop +/* BCF9CC 80240DDC 46201082 */ mul.d $f2, $f2, $f0 +/* BCF9D0 80240DE0 00000000 */ nop +/* BCF9D4 80240DE4 46201080 */ add.d $f2, $f2, $f0 +/* BCF9D8 80240DE8 4620118D */ trunc.w.d $f6, $f2 +/* BCF9DC 80240DEC 44103000 */ mfc1 $s0, $f6 +/* BCF9E0 80240DF0 24020064 */ addiu $v0, $zero, 0x64 +.L80240DF4: +/* BCF9E4 80240DF4 00501023 */ subu $v0, $v0, $s0 +/* BCF9E8 80240DF8 3C013FD0 */ lui $at, 0x3fd0 +/* BCF9EC 80240DFC 44811800 */ mtc1 $at, $f3 +/* BCF9F0 80240E00 44801000 */ mtc1 $zero, $f2 +/* BCF9F4 80240E04 44820000 */ mtc1 $v0, $f0 +/* BCF9F8 80240E08 00000000 */ nop +/* BCF9FC 80240E0C 46800021 */ cvt.d.w $f0, $f0 +/* BCFA00 80240E10 46220002 */ mul.d $f0, $f0, $f2 +/* BCFA04 80240E14 00000000 */ nop +/* BCFA08 80240E18 44901000 */ mtc1 $s0, $f2 +/* BCFA0C 80240E1C 00000000 */ nop +/* BCFA10 80240E20 468010A1 */ cvt.d.w $f2, $f2 +/* BCFA14 80240E24 46221080 */ add.d $f2, $f2, $f2 +/* BCFA18 80240E28 3C014059 */ lui $at, 0x4059 +/* BCFA1C 80240E2C 44812800 */ mtc1 $at, $f5 +/* BCFA20 80240E30 44802000 */ mtc1 $zero, $f4 +/* BCFA24 80240E34 00000000 */ nop +/* BCFA28 80240E38 46241083 */ div.d $f2, $f2, $f4 +/* BCFA2C 80240E3C 46240003 */ div.d $f0, $f0, $f4 +/* BCFA30 80240E40 46220000 */ add.d $f0, $f0, $f2 +/* BCFA34 80240E44 8E24000C */ lw $a0, 0xc($s1) +/* BCFA38 80240E48 46200020 */ cvt.s.d $f0, $f0 +/* BCFA3C 80240E4C 44050000 */ mfc1 $a1, $f0 +/* BCFA40 80240E50 0C01574E */ jal func_80055D38 +/* BCFA44 80240E54 AE2501C4 */ sw $a1, 0x1c4($s1) +/* BCFA48 80240E58 8E24004C */ lw $a0, 0x4c($s1) +/* BCFA4C 80240E5C 0C0B11EA */ jal get_script_by_id +/* BCFA50 80240E60 00000000 */ nop +/* BCFA54 80240E64 C62201C4 */ lwc1 $f2, 0x1c4($s1) +/* BCFA58 80240E68 3C014040 */ lui $at, 0x4040 +/* BCFA5C 80240E6C 44810000 */ mtc1 $at, $f0 +/* BCFA60 80240E70 00000000 */ nop +/* BCFA64 80240E74 46001082 */ mul.s $f2, $f2, $f0 +/* BCFA68 80240E78 00000000 */ nop +/* BCFA6C 80240E7C 44051000 */ mfc1 $a1, $f2 +/* BCFA70 80240E80 0C0B1078 */ jal set_script_timescale +/* BCFA74 80240E84 0040202D */ daddu $a0, $v0, $zero +/* BCFA78 80240E88 8E240050 */ lw $a0, 0x50($s1) +/* BCFA7C 80240E8C 0C0B11EA */ jal get_script_by_id +/* BCFA80 80240E90 00000000 */ nop +/* BCFA84 80240E94 C62001C4 */ lwc1 $f0, 0x1c4($s1) +/* BCFA88 80240E98 3C0140A0 */ lui $at, 0x40a0 +/* BCFA8C 80240E9C 4481A000 */ mtc1 $at, $f20 +/* BCFA90 80240EA0 00000000 */ nop +/* BCFA94 80240EA4 46140002 */ mul.s $f0, $f0, $f20 +/* BCFA98 80240EA8 00000000 */ nop +/* BCFA9C 80240EAC 44050000 */ mfc1 $a1, $f0 +/* BCFAA0 80240EB0 0C0B1078 */ jal set_script_timescale +/* BCFAA4 80240EB4 0040202D */ daddu $a0, $v0, $zero +/* BCFAA8 80240EB8 8E240054 */ lw $a0, 0x54($s1) +/* BCFAAC 80240EBC 0C0B11EA */ jal get_script_by_id +/* BCFAB0 80240EC0 00000000 */ nop +/* BCFAB4 80240EC4 C62001C4 */ lwc1 $f0, 0x1c4($s1) +/* BCFAB8 80240EC8 46140002 */ mul.s $f0, $f0, $f20 +/* BCFABC 80240ECC 00000000 */ nop +/* BCFAC0 80240ED0 44050000 */ mfc1 $a1, $f0 +/* BCFAC4 80240ED4 0C0B1078 */ jal set_script_timescale +/* BCFAC8 80240ED8 0040202D */ daddu $a0, $v0, $zero +.L80240EDC: +/* BCFACC 80240EDC 8FBF001C */ lw $ra, 0x1c($sp) +/* BCFAD0 80240EE0 8FB20018 */ lw $s2, 0x18($sp) +/* BCFAD4 80240EE4 8FB10014 */ lw $s1, 0x14($sp) +/* BCFAD8 80240EE8 8FB00010 */ lw $s0, 0x10($sp) +/* BCFADC 80240EEC D7B40020 */ ldc1 $f20, 0x20($sp) +/* BCFAE0 80240EF0 03E00008 */ jr $ra +/* BCFAE4 80240EF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80240EF8_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80240EF8_BCEBF0.s new file mode 100644 index 0000000000..6d39c4feca --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80240EF8_BCEBF0.s @@ -0,0 +1,118 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF8_BCFAE8 +/* BCFAE8 80240EF8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BCFAEC 80240EFC AFB10014 */ sw $s1, 0x14($sp) +/* BCFAF0 80240F00 AFBF0018 */ sw $ra, 0x18($sp) +/* BCFAF4 80240F04 AFB00010 */ sw $s0, 0x10($sp) +/* BCFAF8 80240F08 F7B40020 */ sdc1 $f20, 0x20($sp) +/* BCFAFC 80240F0C 0C090150 */ jal func_80240540 +/* BCFB00 80240F10 0080882D */ daddu $s1, $a0, $zero +/* BCFB04 80240F14 3C041062 */ lui $a0, 0x1062 +/* BCFB08 80240F18 8E230084 */ lw $v1, 0x84($s1) +/* BCFB0C 80240F1C 34844DD3 */ ori $a0, $a0, 0x4dd3 +/* BCFB10 80240F20 00640018 */ mult $v1, $a0 +/* BCFB14 80240F24 3C0551EB */ lui $a1, 0x51eb +/* BCFB18 80240F28 34A5851F */ ori $a1, $a1, 0x851f +/* BCFB1C 80240F2C 00031FC3 */ sra $v1, $v1, 0x1f +/* BCFB20 80240F30 00003010 */ mfhi $a2 +/* BCFB24 80240F34 00062183 */ sra $a0, $a2, 6 +/* BCFB28 80240F38 00831823 */ subu $v1, $a0, $v1 +/* BCFB2C 80240F3C 00032040 */ sll $a0, $v1, 1 +/* BCFB30 80240F40 00832021 */ addu $a0, $a0, $v1 +/* BCFB34 80240F44 00041900 */ sll $v1, $a0, 4 +/* BCFB38 80240F48 00641823 */ subu $v1, $v1, $a0 +/* BCFB3C 80240F4C 00031840 */ sll $v1, $v1, 1 +/* BCFB40 80240F50 00650018 */ mult $v1, $a1 +/* BCFB44 80240F54 3C0140C9 */ lui $at, 0x40c9 +/* BCFB48 80240F58 34210FD0 */ ori $at, $at, 0xfd0 +/* BCFB4C 80240F5C 44810000 */ mtc1 $at, $f0 +/* BCFB50 80240F60 00031FC3 */ sra $v1, $v1, 0x1f +/* BCFB54 80240F64 00003010 */ mfhi $a2 +/* BCFB58 80240F68 00062103 */ sra $a0, $a2, 4 +/* BCFB5C 80240F6C 00832023 */ subu $a0, $a0, $v1 +/* BCFB60 80240F70 44846000 */ mtc1 $a0, $f12 +/* BCFB64 80240F74 00000000 */ nop +/* BCFB68 80240F78 46806320 */ cvt.s.w $f12, $f12 +/* BCFB6C 80240F7C 46006302 */ mul.s $f12, $f12, $f0 +/* BCFB70 80240F80 00000000 */ nop +/* BCFB74 80240F84 3C0143B4 */ lui $at, 0x43b4 +/* BCFB78 80240F88 44810000 */ mtc1 $at, $f0 +/* BCFB7C 80240F8C 0040802D */ daddu $s0, $v0, $zero +/* BCFB80 80240F90 0C00A85B */ jal sin_rad +/* BCFB84 80240F94 46006303 */ div.s $f12, $f12, $f0 +/* BCFB88 80240F98 3C014248 */ lui $at, 0x4248 +/* BCFB8C 80240F9C 44811000 */ mtc1 $at, $f2 +/* BCFB90 80240FA0 00000000 */ nop +/* BCFB94 80240FA4 46020002 */ mul.s $f0, $f0, $f2 +/* BCFB98 80240FA8 00000000 */ nop +/* BCFB9C 80240FAC 24020064 */ addiu $v0, $zero, 0x64 +/* BCFBA0 80240FB0 3C013FD0 */ lui $at, 0x3fd0 +/* BCFBA4 80240FB4 44811800 */ mtc1 $at, $f3 +/* BCFBA8 80240FB8 44801000 */ mtc1 $zero, $f2 +/* BCFBAC 80240FBC 4600018D */ trunc.w.s $f6, $f0 +/* BCFBB0 80240FC0 44033000 */ mfc1 $v1, $f6 +/* BCFBB4 80240FC4 00000000 */ nop +/* BCFBB8 80240FC8 00431023 */ subu $v0, $v0, $v1 +/* BCFBBC 80240FCC 44820000 */ mtc1 $v0, $f0 +/* BCFBC0 80240FD0 00000000 */ nop +/* BCFBC4 80240FD4 46800021 */ cvt.d.w $f0, $f0 +/* BCFBC8 80240FD8 46220002 */ mul.d $f0, $f0, $f2 +/* BCFBCC 80240FDC 00000000 */ nop +/* BCFBD0 80240FE0 44831000 */ mtc1 $v1, $f2 +/* BCFBD4 80240FE4 00000000 */ nop +/* BCFBD8 80240FE8 468010A1 */ cvt.d.w $f2, $f2 +/* BCFBDC 80240FEC 46221080 */ add.d $f2, $f2, $f2 +/* BCFBE0 80240FF0 3C014059 */ lui $at, 0x4059 +/* BCFBE4 80240FF4 44812800 */ mtc1 $at, $f5 +/* BCFBE8 80240FF8 44802000 */ mtc1 $zero, $f4 +/* BCFBEC 80240FFC 00000000 */ nop +/* BCFBF0 80241000 46241083 */ div.d $f2, $f2, $f4 +/* BCFBF4 80241004 46240003 */ div.d $f0, $f0, $f4 +/* BCFBF8 80241008 46220000 */ add.d $f0, $f0, $f2 +/* BCFBFC 8024100C 8E04000C */ lw $a0, 0xc($s0) +/* BCFC00 80241010 46200020 */ cvt.s.d $f0, $f0 +/* BCFC04 80241014 44050000 */ mfc1 $a1, $f0 +/* BCFC08 80241018 0C01574E */ jal func_80055D38 +/* BCFC0C 8024101C AE0501C4 */ sw $a1, 0x1c4($s0) +/* BCFC10 80241020 8E04004C */ lw $a0, 0x4c($s0) +/* BCFC14 80241024 0C0B11EA */ jal get_script_by_id +/* BCFC18 80241028 00000000 */ nop +/* BCFC1C 8024102C C60201C4 */ lwc1 $f2, 0x1c4($s0) +/* BCFC20 80241030 3C014040 */ lui $at, 0x4040 +/* BCFC24 80241034 44810000 */ mtc1 $at, $f0 +/* BCFC28 80241038 00000000 */ nop +/* BCFC2C 8024103C 46001082 */ mul.s $f2, $f2, $f0 +/* BCFC30 80241040 00000000 */ nop +/* BCFC34 80241044 44051000 */ mfc1 $a1, $f2 +/* BCFC38 80241048 0C0B1078 */ jal set_script_timescale +/* BCFC3C 8024104C 0220202D */ daddu $a0, $s1, $zero +/* BCFC40 80241050 8E040050 */ lw $a0, 0x50($s0) +/* BCFC44 80241054 0C0B11EA */ jal get_script_by_id +/* BCFC48 80241058 00000000 */ nop +/* BCFC4C 8024105C C60001C4 */ lwc1 $f0, 0x1c4($s0) +/* BCFC50 80241060 3C0140A0 */ lui $at, 0x40a0 +/* BCFC54 80241064 4481A000 */ mtc1 $at, $f20 +/* BCFC58 80241068 00000000 */ nop +/* BCFC5C 8024106C 46140002 */ mul.s $f0, $f0, $f20 +/* BCFC60 80241070 00000000 */ nop +/* BCFC64 80241074 44050000 */ mfc1 $a1, $f0 +/* BCFC68 80241078 0C0B1078 */ jal set_script_timescale +/* BCFC6C 8024107C 0220202D */ daddu $a0, $s1, $zero +/* BCFC70 80241080 8E040054 */ lw $a0, 0x54($s0) +/* BCFC74 80241084 0C0B11EA */ jal get_script_by_id +/* BCFC78 80241088 00000000 */ nop +/* BCFC7C 8024108C C60001C4 */ lwc1 $f0, 0x1c4($s0) +/* BCFC80 80241090 46140002 */ mul.s $f0, $f0, $f20 +/* BCFC84 80241094 00000000 */ nop +/* BCFC88 80241098 44050000 */ mfc1 $a1, $f0 +/* BCFC8C 8024109C 0C0B1078 */ jal set_script_timescale +/* BCFC90 802410A0 0220202D */ daddu $a0, $s1, $zero +/* BCFC94 802410A4 8FBF0018 */ lw $ra, 0x18($sp) +/* BCFC98 802410A8 8FB10014 */ lw $s1, 0x14($sp) +/* BCFC9C 802410AC 8FB00010 */ lw $s0, 0x10($sp) +/* BCFCA0 802410B0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* BCFCA4 802410B4 24020002 */ addiu $v0, $zero, 2 +/* BCFCA8 802410B8 03E00008 */ jr $ra +/* BCFCAC 802410BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802410C0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802410C0.s new file mode 100644 index 0000000000..abd1b54caf --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802410C0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410C0 +/* BCFCB0 802410C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BCFCB4 802410C4 AFBF0020 */ sw $ra, 0x20($sp) +/* BCFCB8 802410C8 AFB1001C */ sw $s1, 0x1c($sp) +/* BCFCBC 802410CC 0C090150 */ jal func_80240540 +/* BCFCC0 802410D0 AFB00018 */ sw $s0, 0x18($sp) +/* BCFCC4 802410D4 0040882D */ daddu $s1, $v0, $zero +/* BCFCC8 802410D8 0C0511EA */ jal draw_icon_0 +/* BCFCCC 802410DC 8E24003C */ lw $a0, 0x3c($s1) +/* BCFCD0 802410E0 8E300040 */ lw $s0, 0x40($s1) +/* BCFCD4 802410E4 0C0511EA */ jal draw_icon_0 +/* BCFCD8 802410E8 0200202D */ daddu $a0, $s0, $zero +/* BCFCDC 802410EC 0200202D */ daddu $a0, $s0, $zero +/* BCFCE0 802410F0 27A50010 */ addiu $a1, $sp, 0x10 +/* BCFCE4 802410F4 0C05126B */ jal get_icon_render_pos +/* BCFCE8 802410F8 27A60014 */ addiu $a2, $sp, 0x14 +/* BCFCEC 802410FC 8FA40010 */ lw $a0, 0x10($sp) +/* BCFCF0 80241100 8FA50014 */ lw $a1, 0x14($sp) +/* BCFCF4 80241104 8E260004 */ lw $a2, 4($s1) +/* BCFCF8 80241108 0C090284 */ jal func_80240A10 +/* BCFCFC 8024110C 24070002 */ addiu $a3, $zero, 2 +/* BCFD00 80241110 8E240044 */ lw $a0, 0x44($s1) +/* BCFD04 80241114 0C0511EA */ jal draw_icon_0 +/* BCFD08 80241118 00000000 */ nop +/* BCFD0C 8024111C 8FBF0020 */ lw $ra, 0x20($sp) +/* BCFD10 80241120 8FB1001C */ lw $s1, 0x1c($sp) +/* BCFD14 80241124 8FB00018 */ lw $s0, 0x18($sp) +/* BCFD18 80241128 03E00008 */ jr $ra +/* BCFD1C 8024112C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241130_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241130_BCEBF0.s new file mode 100644 index 0000000000..0b64b3d04d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241130_BCEBF0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241130_BCFD20 +/* BCFD20 80241130 0000302D */ daddu $a2, $zero, $zero +/* BCFD24 80241134 3C058024 */ lui $a1, 0x8024 +/* BCFD28 80241138 24A53090 */ addiu $a1, $a1, 0x3090 +.L8024113C: +/* BCFD2C 8024113C 8CA30000 */ lw $v1, ($a1) +/* BCFD30 80241140 50600006 */ beql $v1, $zero, .L8024115C +/* BCFD34 80241144 2406FFFF */ addiu $a2, $zero, -1 +/* BCFD38 80241148 8C820084 */ lw $v0, 0x84($a0) +/* BCFD3C 8024114C 10620003 */ beq $v1, $v0, .L8024115C +/* BCFD40 80241150 24A50004 */ addiu $a1, $a1, 4 +/* BCFD44 80241154 0809044F */ j .L8024113C +/* BCFD48 80241158 24C60001 */ addiu $a2, $a2, 1 +.L8024115C: +/* BCFD4C 8024115C AC860084 */ sw $a2, 0x84($a0) +/* BCFD50 80241160 03E00008 */ jr $ra +/* BCFD54 80241164 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241168_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241168_BCEBF0.s new file mode 100644 index 0000000000..45e6a0755c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241168_BCEBF0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241168_BCFD58 +/* BCFD58 80241168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCFD5C 8024116C AFBF0018 */ sw $ra, 0x18($sp) +/* BCFD60 80241170 AFB10014 */ sw $s1, 0x14($sp) +/* BCFD64 80241174 0C090150 */ jal func_80240540 +/* BCFD68 80241178 AFB00010 */ sw $s0, 0x10($sp) +/* BCFD6C 8024117C 3C048024 */ lui $a0, 0x8024 +/* BCFD70 80241180 24840A6C */ addiu $a0, $a0, 0xa6c +/* BCFD74 80241184 3C06800A */ lui $a2, %hi(D_8009A650) +/* BCFD78 80241188 24C6A650 */ addiu $a2, $a2, %lo(D_8009A650) +/* BCFD7C 8024118C 3C058024 */ lui $a1, 0x8024 +/* BCFD80 80241190 24A510C0 */ addiu $a1, $a1, 0x10c0 +/* BCFD84 80241194 8CC30000 */ lw $v1, ($a2) +/* BCFD88 80241198 0040882D */ daddu $s1, $v0, $zero +/* BCFD8C 8024119C 34630010 */ ori $v1, $v1, 0x10 +/* BCFD90 802411A0 0C048C8F */ jal bind_dynamic_entity_7 +/* BCFD94 802411A4 ACC30000 */ sw $v1, ($a2) +/* BCFD98 802411A8 24040059 */ addiu $a0, $zero, 0x59 +/* BCFD9C 802411AC 26230164 */ addiu $v1, $s1, 0x164 +/* BCFDA0 802411B0 AE22002C */ sw $v0, 0x2c($s1) +/* BCFDA4 802411B4 24020014 */ addiu $v0, $zero, 0x14 +/* BCFDA8 802411B8 AE220014 */ sw $v0, 0x14($s1) +/* BCFDAC 802411BC 24020028 */ addiu $v0, $zero, 0x28 +/* BCFDB0 802411C0 AE220018 */ sw $v0, 0x18($s1) +/* BCFDB4 802411C4 2402003C */ addiu $v0, $zero, 0x3c +/* BCFDB8 802411C8 AE22001C */ sw $v0, 0x1c($s1) +/* BCFDBC 802411CC 24020050 */ addiu $v0, $zero, 0x50 +/* BCFDC0 802411D0 AE220020 */ sw $v0, 0x20($s1) +/* BCFDC4 802411D4 24020064 */ addiu $v0, $zero, 0x64 +/* BCFDC8 802411D8 AE220024 */ sw $v0, 0x24($s1) +/* BCFDCC 802411DC 24020005 */ addiu $v0, $zero, 5 +/* BCFDD0 802411E0 AE200030 */ sw $zero, 0x30($s1) +/* BCFDD4 802411E4 AE200004 */ sw $zero, 4($s1) +/* BCFDD8 802411E8 AE200008 */ sw $zero, 8($s1) +/* BCFDDC 802411EC AE200010 */ sw $zero, 0x10($s1) +/* BCFDE0 802411F0 AE220028 */ sw $v0, 0x28($s1) +.L802411F4: +/* BCFDE4 802411F4 AC600058 */ sw $zero, 0x58($v1) +/* BCFDE8 802411F8 2484FFFF */ addiu $a0, $a0, -1 +/* BCFDEC 802411FC 0481FFFD */ bgez $a0, .L802411F4 +/* BCFDF0 80241200 2463FFFC */ addiu $v1, $v1, -4 +/* BCFDF4 80241204 3C048011 */ lui $a0, 0x8011 +/* BCFDF8 80241208 24848B28 */ addiu $a0, $a0, -0x74d8 +/* BCFDFC 8024120C 3C013F80 */ lui $at, 0x3f80 +/* BCFE00 80241210 44810000 */ mtc1 $at, $f0 +/* BCFE04 80241214 2402FFD0 */ addiu $v0, $zero, -0x30 +/* BCFE08 80241218 AE220034 */ sw $v0, 0x34($s1) +/* BCFE0C 8024121C 24020040 */ addiu $v0, $zero, 0x40 +/* BCFE10 80241220 AE2001C0 */ sw $zero, 0x1c0($s1) +/* BCFE14 80241224 AE2001C8 */ sw $zero, 0x1c8($s1) +/* BCFE18 80241228 AE2001CC */ sw $zero, 0x1cc($s1) +/* BCFE1C 8024122C AE220038 */ sw $v0, 0x38($s1) +/* BCFE20 80241230 E62001C4 */ swc1 $f0, 0x1c4($s1) +/* BCFE24 80241234 0C050529 */ jal create_icon +/* BCFE28 80241238 E62001D0 */ swc1 $f0, 0x1d0($s1) +/* BCFE2C 8024123C 0040802D */ daddu $s0, $v0, $zero +/* BCFE30 80241240 8E250034 */ lw $a1, 0x34($s1) +/* BCFE34 80241244 8E260038 */ lw $a2, 0x38($s1) +/* BCFE38 80241248 0200202D */ daddu $a0, $s0, $zero +/* BCFE3C 8024124C 0C051261 */ jal set_icon_render_pos +/* BCFE40 80241250 AE30003C */ sw $s0, 0x3c($s1) +/* BCFE44 80241254 0200202D */ daddu $a0, $s0, $zero +/* BCFE48 80241258 0C051277 */ jal func_801449DC +/* BCFE4C 8024125C 0000282D */ daddu $a1, $zero, $zero +/* BCFE50 80241260 0200202D */ daddu $a0, $s0, $zero +/* BCFE54 80241264 0C051280 */ jal set_icon_flags +/* BCFE58 80241268 24050082 */ addiu $a1, $zero, 0x82 +/* BCFE5C 8024126C 3C048011 */ lui $a0, 0x8011 +/* BCFE60 80241270 24848AFC */ addiu $a0, $a0, -0x7504 +/* BCFE64 80241274 0C050529 */ jal create_icon +/* BCFE68 80241278 00000000 */ nop +/* BCFE6C 8024127C 0040802D */ daddu $s0, $v0, $zero +/* BCFE70 80241280 8E250034 */ lw $a1, 0x34($s1) +/* BCFE74 80241284 8E260038 */ lw $a2, 0x38($s1) +/* BCFE78 80241288 0200202D */ daddu $a0, $s0, $zero +/* BCFE7C 8024128C AE300040 */ sw $s0, 0x40($s1) +/* BCFE80 80241290 0C051261 */ jal set_icon_render_pos +/* BCFE84 80241294 24C6001C */ addiu $a2, $a2, 0x1c +/* BCFE88 80241298 0200202D */ daddu $a0, $s0, $zero +/* BCFE8C 8024129C 0C051277 */ jal func_801449DC +/* BCFE90 802412A0 0000282D */ daddu $a1, $zero, $zero +/* BCFE94 802412A4 0200202D */ daddu $a0, $s0, $zero +/* BCFE98 802412A8 0C051280 */ jal set_icon_flags +/* BCFE9C 802412AC 24050082 */ addiu $a1, $zero, 0x82 +/* BCFEA0 802412B0 3C048011 */ lui $a0, 0x8011 +/* BCFEA4 802412B4 24849244 */ addiu $a0, $a0, -0x6dbc +/* BCFEA8 802412B8 0C050529 */ jal create_icon +/* BCFEAC 802412BC 00000000 */ nop +/* BCFEB0 802412C0 0040802D */ daddu $s0, $v0, $zero +/* BCFEB4 802412C4 8E250034 */ lw $a1, 0x34($s1) +/* BCFEB8 802412C8 8E260038 */ lw $a2, 0x38($s1) +/* BCFEBC 802412CC 0200202D */ daddu $a0, $s0, $zero +/* BCFEC0 802412D0 AE300044 */ sw $s0, 0x44($s1) +/* BCFEC4 802412D4 0C051261 */ jal set_icon_render_pos +/* BCFEC8 802412D8 24C6001C */ addiu $a2, $a2, 0x1c +/* BCFECC 802412DC 0200202D */ daddu $a0, $s0, $zero +/* BCFED0 802412E0 0C051277 */ jal func_801449DC +/* BCFED4 802412E4 0000282D */ daddu $a1, $zero, $zero +/* BCFED8 802412E8 0200202D */ daddu $a0, $s0, $zero +/* BCFEDC 802412EC 0C051280 */ jal set_icon_flags +/* BCFEE0 802412F0 24050082 */ addiu $a1, $zero, 0x82 +/* BCFEE4 802412F4 8FBF0018 */ lw $ra, 0x18($sp) +/* BCFEE8 802412F8 8FB10014 */ lw $s1, 0x14($sp) +/* BCFEEC 802412FC 8FB00010 */ lw $s0, 0x10($sp) +/* BCFEF0 80241300 24020002 */ addiu $v0, $zero, 2 +/* BCFEF4 80241304 03E00008 */ jr $ra +/* BCFEF8 80241308 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_8024130C_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_8024130C_BCEBF0.s new file mode 100644 index 0000000000..1c566f2fde --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_8024130C_BCEBF0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_BCFEFC +/* BCFEFC 8024130C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BCFF00 80241310 3C05F5DE */ lui $a1, 0xf5de +/* BCFF04 80241314 AFBF0018 */ sw $ra, 0x18($sp) +/* BCFF08 80241318 0C0B1EAF */ jal get_variable +/* BCFF0C 8024131C 34A50236 */ ori $a1, $a1, 0x236 +/* BCFF10 80241320 0000202D */ daddu $a0, $zero, $zero +/* BCFF14 80241324 24030008 */ addiu $v1, $zero, 8 +/* BCFF18 80241328 00021080 */ sll $v0, $v0, 2 +/* BCFF1C 8024132C 0080302D */ daddu $a2, $a0, $zero +/* BCFF20 80241330 AFA30010 */ sw $v1, 0x10($sp) +/* BCFF24 80241334 3C058024 */ lui $a1, 0x8024 +/* BCFF28 80241338 00A22821 */ addu $a1, $a1, $v0 +/* BCFF2C 8024133C 8CA53098 */ lw $a1, 0x3098($a1) +/* BCFF30 80241340 0C052A46 */ jal set_music_track +/* BCFF34 80241344 240701F4 */ addiu $a3, $zero, 0x1f4 +/* BCFF38 80241348 8FBF0018 */ lw $ra, 0x18($sp) +/* BCFF3C 8024134C 24020002 */ addiu $v0, $zero, 2 +/* BCFF40 80241350 03E00008 */ jr $ra +/* BCFF44 80241354 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241358.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241358.s new file mode 100644 index 0000000000..2a2c95fd6d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241358.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241358 +/* BCFF48 80241358 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BCFF4C 8024135C AFBF0014 */ sw $ra, 0x14($sp) +/* BCFF50 80241360 0C090150 */ jal func_80240540 +/* BCFF54 80241364 AFB00010 */ sw $s0, 0x10($sp) +/* BCFF58 80241368 0000202D */ daddu $a0, $zero, $zero +/* BCFF5C 8024136C 3C05FD05 */ lui $a1, 0xfd05 +/* BCFF60 80241370 34A50F88 */ ori $a1, $a1, 0xf88 +/* BCFF64 80241374 0040802D */ daddu $s0, $v0, $zero +/* BCFF68 80241378 2402000A */ addiu $v0, $zero, 0xa +/* BCFF6C 8024137C 0C0B1EAF */ jal get_variable +/* BCFF70 80241380 AE020030 */ sw $v0, 0x30($s0) +/* BCFF74 80241384 0000202D */ daddu $a0, $zero, $zero +/* BCFF78 80241388 3C05FD05 */ lui $a1, 0xfd05 +/* BCFF7C 8024138C 34A50F89 */ ori $a1, $a1, 0xf89 +/* BCFF80 80241390 0C0B1EAF */ jal get_variable +/* BCFF84 80241394 AE02004C */ sw $v0, 0x4c($s0) +/* BCFF88 80241398 0000202D */ daddu $a0, $zero, $zero +/* BCFF8C 8024139C 3C05FD05 */ lui $a1, 0xfd05 +/* BCFF90 802413A0 34A50F8A */ ori $a1, $a1, 0xf8a +/* BCFF94 802413A4 0C0B1EAF */ jal get_variable +/* BCFF98 802413A8 AE020050 */ sw $v0, 0x50($s0) +/* BCFF9C 802413AC AE020054 */ sw $v0, 0x54($s0) +/* BCFFA0 802413B0 3C038016 */ lui $v1, 0x8016 +/* BCFFA4 802413B4 8C639B08 */ lw $v1, -0x64f8($v1) +/* BCFFA8 802413B8 AE03000C */ sw $v1, 0xc($s0) +/* BCFFAC 802413BC 8FBF0014 */ lw $ra, 0x14($sp) +/* BCFFB0 802413C0 8FB00010 */ lw $s0, 0x10($sp) +/* BCFFB4 802413C4 24020002 */ addiu $v0, $zero, 2 +/* BCFFB8 802413C8 03E00008 */ jr $ra +/* BCFFBC 802413CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802413D0_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802413D0_BCEBF0.s new file mode 100644 index 0000000000..9bbced4fe3 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802413D0_BCEBF0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D0_BCFFC0 +/* BCFFC0 802413D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BCFFC4 802413D4 AFBF0014 */ sw $ra, 0x14($sp) +/* BCFFC8 802413D8 0C090150 */ jal func_80240540 +/* BCFFCC 802413DC AFB00010 */ sw $s0, 0x10($sp) +/* BCFFD0 802413E0 0040802D */ daddu $s0, $v0, $zero +/* BCFFD4 802413E4 2402FFFF */ addiu $v0, $zero, -1 +/* BCFFD8 802413E8 3C05800A */ lui $a1, %hi(D_8009A650) +/* BCFFDC 802413EC 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650) +/* BCFFE0 802413F0 2403FFEF */ addiu $v1, $zero, -0x11 +/* BCFFE4 802413F4 AE020030 */ sw $v0, 0x30($s0) +/* BCFFE8 802413F8 8CA20000 */ lw $v0, ($a1) +/* BCFFEC 802413FC 8E04003C */ lw $a0, 0x3c($s0) +/* BCFFF0 80241400 00431024 */ and $v0, $v0, $v1 +/* BCFFF4 80241404 0C05123D */ jal free_icon +/* BCFFF8 80241408 ACA20000 */ sw $v0, ($a1) +/* BCFFFC 8024140C 8E040040 */ lw $a0, 0x40($s0) +/* BD0000 80241410 0C05123D */ jal free_icon +/* BD0004 80241414 00000000 */ nop +/* BD0008 80241418 0C05123D */ jal free_icon +/* BD000C 8024141C 8E040044 */ lw $a0, 0x44($s0) +/* BD0010 80241420 0C048D70 */ jal func_801235C0 +/* BD0014 80241424 8E04002C */ lw $a0, 0x2c($s0) +/* BD0018 80241428 8FBF0014 */ lw $ra, 0x14($sp) +/* BD001C 8024142C 8FB00010 */ lw $s0, 0x10($sp) +/* BD0020 80241430 24020002 */ addiu $v0, $zero, 2 +/* BD0024 80241434 03E00008 */ jr $ra +/* BD0028 80241438 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_8024143C.s b/asm/nonmatchings/world/area_obk/obk_07/func_8024143C.s new file mode 100644 index 0000000000..f974c8c587 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_8024143C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024143C +/* BD002C 8024143C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD0030 80241440 AFB00010 */ sw $s0, 0x10($sp) +/* BD0034 80241444 AFBF0014 */ sw $ra, 0x14($sp) +/* BD0038 80241448 0C090150 */ jal func_80240540 +/* BD003C 8024144C 0080802D */ daddu $s0, $a0, $zero +/* BD0040 80241450 24020096 */ addiu $v0, $zero, 0x96 +/* BD0044 80241454 AE020090 */ sw $v0, 0x90($s0) +/* BD0048 80241458 8FBF0014 */ lw $ra, 0x14($sp) +/* BD004C 8024145C 8FB00010 */ lw $s0, 0x10($sp) +/* BD0050 80241460 24020002 */ addiu $v0, $zero, 2 +/* BD0054 80241464 03E00008 */ jr $ra +/* BD0058 80241468 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_8024146C_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_8024146C_BCEBF0.s new file mode 100644 index 0000000000..d6e5151f1b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_8024146C_BCEBF0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024146C_BD005C +/* BD005C 8024146C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD0060 80241470 AFB10014 */ sw $s1, 0x14($sp) +/* BD0064 80241474 0080882D */ daddu $s1, $a0, $zero +/* BD0068 80241478 AFBF0018 */ sw $ra, 0x18($sp) +/* BD006C 8024147C 0C090150 */ jal func_80240540 +/* BD0070 80241480 AFB00010 */ sw $s0, 0x10($sp) +/* BD0074 80241484 3C05FE36 */ lui $a1, 0xfe36 +/* BD0078 80241488 34A53C82 */ ori $a1, $a1, 0x3c82 +/* BD007C 8024148C 0040802D */ daddu $s0, $v0, $zero +/* BD0080 80241490 0C0B210B */ jal get_float_variable +/* BD0084 80241494 0220202D */ daddu $a0, $s1, $zero +/* BD0088 80241498 E60001D0 */ swc1 $f0, 0x1d0($s0) +/* BD008C 8024149C 8FBF0018 */ lw $ra, 0x18($sp) +/* BD0090 802414A0 8FB10014 */ lw $s1, 0x14($sp) +/* BD0094 802414A4 8FB00010 */ lw $s0, 0x10($sp) +/* BD0098 802414A8 24020002 */ addiu $v0, $zero, 2 +/* BD009C 802414AC 03E00008 */ jr $ra +/* BD00A0 802414B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802414B4_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802414B4_BCEBF0.s new file mode 100644 index 0000000000..e3bbaab933 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802414B4_BCEBF0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414B4_BD00A4 +/* BD00A4 802414B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD00A8 802414B8 AFB00010 */ sw $s0, 0x10($sp) +/* BD00AC 802414BC 0080802D */ daddu $s0, $a0, $zero +/* BD00B0 802414C0 AFBF0018 */ sw $ra, 0x18($sp) +/* BD00B4 802414C4 0C090150 */ jal func_80240540 +/* BD00B8 802414C8 AFB10014 */ sw $s1, 0x14($sp) +/* BD00BC 802414CC 0200202D */ daddu $a0, $s0, $zero +/* BD00C0 802414D0 3C05FE36 */ lui $a1, 0xfe36 +/* BD00C4 802414D4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD00C8 802414D8 0C0B210B */ jal get_float_variable +/* BD00CC 802414DC 0040882D */ daddu $s1, $v0, $zero +/* BD00D0 802414E0 0C00A6C9 */ jal clamp_angle +/* BD00D4 802414E4 46000306 */ mov.s $f12, $f0 +/* BD00D8 802414E8 0200202D */ daddu $a0, $s0, $zero +/* BD00DC 802414EC 3C05FE36 */ lui $a1, 0xfe36 +/* BD00E0 802414F0 44060000 */ mfc1 $a2, $f0 +/* BD00E4 802414F4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD00E8 802414F8 0C0B2190 */ jal set_float_variable +/* BD00EC 802414FC AE2601C8 */ sw $a2, 0x1c8($s1) +/* BD00F0 80241500 8FBF0018 */ lw $ra, 0x18($sp) +/* BD00F4 80241504 8FB10014 */ lw $s1, 0x14($sp) +/* BD00F8 80241508 8FB00010 */ lw $s0, 0x10($sp) +/* BD00FC 8024150C 24020002 */ addiu $v0, $zero, 2 +/* BD0100 80241510 03E00008 */ jr $ra +/* BD0104 80241514 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241518.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241518.s new file mode 100644 index 0000000000..a3be69f6c7 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241518.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241518 +/* BD0108 80241518 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD010C 8024151C AFB00010 */ sw $s0, 0x10($sp) +/* BD0110 80241520 0080802D */ daddu $s0, $a0, $zero +/* BD0114 80241524 AFBF0018 */ sw $ra, 0x18($sp) +/* BD0118 80241528 0C090150 */ jal func_80240540 +/* BD011C 8024152C AFB10014 */ sw $s1, 0x14($sp) +/* BD0120 80241530 0200202D */ daddu $a0, $s0, $zero +/* BD0124 80241534 3C05FE36 */ lui $a1, 0xfe36 +/* BD0128 80241538 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD012C 8024153C 0C0B210B */ jal get_float_variable +/* BD0130 80241540 0040882D */ daddu $s1, $v0, $zero +/* BD0134 80241544 0C00A6C9 */ jal clamp_angle +/* BD0138 80241548 46000306 */ mov.s $f12, $f0 +/* BD013C 8024154C 0200202D */ daddu $a0, $s0, $zero +/* BD0140 80241550 3C05FE36 */ lui $a1, 0xfe36 +/* BD0144 80241554 44060000 */ mfc1 $a2, $f0 +/* BD0148 80241558 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD014C 8024155C 0C0B2190 */ jal set_float_variable +/* BD0150 80241560 AE2601CC */ sw $a2, 0x1cc($s1) +/* BD0154 80241564 8FBF0018 */ lw $ra, 0x18($sp) +/* BD0158 80241568 8FB10014 */ lw $s1, 0x14($sp) +/* BD015C 8024156C 8FB00010 */ lw $s0, 0x10($sp) +/* BD0160 80241570 24020002 */ addiu $v0, $zero, 2 +/* BD0164 80241574 03E00008 */ jr $ra +/* BD0168 80241578 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_8024157C.s b/asm/nonmatchings/world/area_obk/obk_07/func_8024157C.s new file mode 100644 index 0000000000..eddf0a3ca7 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_8024157C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024157C +/* BD016C 8024157C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD0170 80241580 AFB00010 */ sw $s0, 0x10($sp) +/* BD0174 80241584 AFBF0014 */ sw $ra, 0x14($sp) +/* BD0178 80241588 0C090150 */ jal func_80240540 +/* BD017C 8024158C 0080802D */ daddu $s0, $a0, $zero +/* BD0180 80241590 3C05FE36 */ lui $a1, 0xfe36 +/* BD0184 80241594 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD0188 80241598 8C4601D0 */ lw $a2, 0x1d0($v0) +/* BD018C 8024159C 0C0B2190 */ jal set_float_variable +/* BD0190 802415A0 0200202D */ daddu $a0, $s0, $zero +/* BD0194 802415A4 8FBF0014 */ lw $ra, 0x14($sp) +/* BD0198 802415A8 8FB00010 */ lw $s0, 0x10($sp) +/* BD019C 802415AC 24020002 */ addiu $v0, $zero, 2 +/* BD01A0 802415B0 03E00008 */ jr $ra +/* BD01A4 802415B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802415B8.s b/asm/nonmatchings/world/area_obk/obk_07/func_802415B8.s new file mode 100644 index 0000000000..6002db4179 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802415B8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415B8 +/* BD01A8 802415B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD01AC 802415BC AFB00010 */ sw $s0, 0x10($sp) +/* BD01B0 802415C0 AFBF0014 */ sw $ra, 0x14($sp) +/* BD01B4 802415C4 0C090150 */ jal func_80240540 +/* BD01B8 802415C8 0080802D */ daddu $s0, $a0, $zero +/* BD01BC 802415CC 3C05FE36 */ lui $a1, 0xfe36 +/* BD01C0 802415D0 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD01C4 802415D4 8C4601C8 */ lw $a2, 0x1c8($v0) +/* BD01C8 802415D8 0C0B2190 */ jal set_float_variable +/* BD01CC 802415DC 0200202D */ daddu $a0, $s0, $zero +/* BD01D0 802415E0 8FBF0014 */ lw $ra, 0x14($sp) +/* BD01D4 802415E4 8FB00010 */ lw $s0, 0x10($sp) +/* BD01D8 802415E8 24020002 */ addiu $v0, $zero, 2 +/* BD01DC 802415EC 03E00008 */ jr $ra +/* BD01E0 802415F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802415F4_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802415F4_BCEBF0.s new file mode 100644 index 0000000000..bd1ab9d23b --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802415F4_BCEBF0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F4_BD01E4 +/* BD01E4 802415F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD01E8 802415F8 AFB00010 */ sw $s0, 0x10($sp) +/* BD01EC 802415FC AFBF0014 */ sw $ra, 0x14($sp) +/* BD01F0 80241600 0C090150 */ jal func_80240540 +/* BD01F4 80241604 0080802D */ daddu $s0, $a0, $zero +/* BD01F8 80241608 3C05FE36 */ lui $a1, 0xfe36 +/* BD01FC 8024160C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD0200 80241610 8C4601CC */ lw $a2, 0x1cc($v0) +/* BD0204 80241614 0C0B2190 */ jal set_float_variable +/* BD0208 80241618 0200202D */ daddu $a0, $s0, $zero +/* BD020C 8024161C 8FBF0014 */ lw $ra, 0x14($sp) +/* BD0210 80241620 8FB00010 */ lw $s0, 0x10($sp) +/* BD0214 80241624 24020002 */ addiu $v0, $zero, 2 +/* BD0218 80241628 03E00008 */ jr $ra +/* BD021C 8024162C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241630_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241630_BCEBF0.s new file mode 100644 index 0000000000..1ef24fc21f --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241630_BCEBF0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241630_BD0220 +/* BD0220 80241630 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD0224 80241634 AFB00010 */ sw $s0, 0x10($sp) +/* BD0228 80241638 0080802D */ daddu $s0, $a0, $zero +/* BD022C 8024163C 3C05FE36 */ lui $a1, 0xfe36 +/* BD0230 80241640 AFBF0014 */ sw $ra, 0x14($sp) +/* BD0234 80241644 0C0B210B */ jal get_float_variable +/* BD0238 80241648 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD023C 8024164C 0200202D */ daddu $a0, $s0, $zero +/* BD0240 80241650 3C05FE36 */ lui $a1, 0xfe36 +/* BD0244 80241654 44060000 */ mfc1 $a2, $f0 +/* BD0248 80241658 0C0B2190 */ jal set_float_variable +/* BD024C 8024165C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* BD0250 80241660 8FBF0014 */ lw $ra, 0x14($sp) +/* BD0254 80241664 8FB00010 */ lw $s0, 0x10($sp) +/* BD0258 80241668 24020002 */ addiu $v0, $zero, 2 +/* BD025C 8024166C 03E00008 */ jr $ra +/* BD0260 80241670 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241674_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241674_BCEBF0.s new file mode 100644 index 0000000000..281b05b3ae --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241674_BCEBF0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241674_BD0264 +/* BD0264 80241674 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD0268 80241678 AFB00010 */ sw $s0, 0x10($sp) +/* BD026C 8024167C 0080802D */ daddu $s0, $a0, $zero +/* BD0270 80241680 3C05FE36 */ lui $a1, 0xfe36 +/* BD0274 80241684 AFBF0014 */ sw $ra, 0x14($sp) +/* BD0278 80241688 F7B40018 */ sdc1 $f20, 0x18($sp) +/* BD027C 8024168C 0C0B210B */ jal get_float_variable +/* BD0280 80241690 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD0284 80241694 0200202D */ daddu $a0, $s0, $zero +/* BD0288 80241698 3C05FE36 */ lui $a1, 0xfe36 +/* BD028C 8024169C 34A53C81 */ ori $a1, $a1, 0x3c81 +/* BD0290 802416A0 0C0B210B */ jal get_float_variable +/* BD0294 802416A4 46000506 */ mov.s $f20, $f0 +/* BD0298 802416A8 3C013F80 */ lui $at, 0x3f80 +/* BD029C 802416AC 44811000 */ mtc1 $at, $f2 +/* BD02A0 802416B0 00000000 */ nop +/* BD02A4 802416B4 4602003E */ c.le.s $f0, $f2 +/* BD02A8 802416B8 00000000 */ nop +/* BD02AC 802416BC 45020008 */ bc1fl .L802416E0 +/* BD02B0 802416C0 AE00008C */ sw $zero, 0x8c($s0) +/* BD02B4 802416C4 4614103E */ c.le.s $f2, $f20 +/* BD02B8 802416C8 00000000 */ nop +/* BD02BC 802416CC 45000003 */ bc1f .L802416DC +/* BD02C0 802416D0 24020001 */ addiu $v0, $zero, 1 +/* BD02C4 802416D4 080905B8 */ j .L802416E0 +/* BD02C8 802416D8 AE02008C */ sw $v0, 0x8c($s0) +.L802416DC: +/* BD02CC 802416DC AE00008C */ sw $zero, 0x8c($s0) +.L802416E0: +/* BD02D0 802416E0 8FBF0014 */ lw $ra, 0x14($sp) +/* BD02D4 802416E4 8FB00010 */ lw $s0, 0x10($sp) +/* BD02D8 802416E8 D7B40018 */ ldc1 $f20, 0x18($sp) +/* BD02DC 802416EC 24020002 */ addiu $v0, $zero, 2 +/* BD02E0 802416F0 03E00008 */ jr $ra +/* BD02E4 802416F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802416F8_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802416F8_BCEBF0.s new file mode 100644 index 0000000000..320b0fc815 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802416F8_BCEBF0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8_BD02E8 +/* BD02E8 802416F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD02EC 802416FC AFB00010 */ sw $s0, 0x10($sp) +/* BD02F0 80241700 0080802D */ daddu $s0, $a0, $zero +/* BD02F4 80241704 3C05FE36 */ lui $a1, 0xfe36 +/* BD02F8 80241708 AFBF0014 */ sw $ra, 0x14($sp) +/* BD02FC 8024170C F7B40018 */ sdc1 $f20, 0x18($sp) +/* BD0300 80241710 0C0B210B */ jal get_float_variable +/* BD0304 80241714 34A53C80 */ ori $a1, $a1, 0x3c80 +/* BD0308 80241718 0200202D */ daddu $a0, $s0, $zero +/* BD030C 8024171C 3C05FE36 */ lui $a1, 0xfe36 +/* BD0310 80241720 34A53C81 */ ori $a1, $a1, 0x3c81 +/* BD0314 80241724 0C0B210B */ jal get_float_variable +/* BD0318 80241728 46000506 */ mov.s $f20, $f0 +/* BD031C 8024172C 3C0143B4 */ lui $at, 0x43b4 +/* BD0320 80241730 44811000 */ mtc1 $at, $f2 +/* BD0324 80241734 00000000 */ nop +/* BD0328 80241738 4602003E */ c.le.s $f0, $f2 +/* BD032C 8024173C 00000000 */ nop +/* BD0330 80241740 4502000B */ bc1fl .L80241770 +/* BD0334 80241744 AE00008C */ sw $zero, 0x8c($s0) +/* BD0338 80241748 3C0142C8 */ lui $at, 0x42c8 +/* BD033C 8024174C 44810000 */ mtc1 $at, $f0 +/* BD0340 80241750 00000000 */ nop +/* BD0344 80241754 4600A03E */ c.le.s $f20, $f0 +/* BD0348 80241758 00000000 */ nop +/* BD034C 8024175C 45000003 */ bc1f .L8024176C +/* BD0350 80241760 24020001 */ addiu $v0, $zero, 1 +/* BD0354 80241764 080905DC */ j .L80241770 +/* BD0358 80241768 AE02008C */ sw $v0, 0x8c($s0) +.L8024176C: +/* BD035C 8024176C AE00008C */ sw $zero, 0x8c($s0) +.L80241770: +/* BD0360 80241770 8FBF0014 */ lw $ra, 0x14($sp) +/* BD0364 80241774 8FB00010 */ lw $s0, 0x10($sp) +/* BD0368 80241778 D7B40018 */ ldc1 $f20, 0x18($sp) +/* BD036C 8024177C 24020002 */ addiu $v0, $zero, 2 +/* BD0370 80241780 03E00008 */ jr $ra +/* BD0374 80241784 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241788_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241788_BCEBF0.s new file mode 100644 index 0000000000..b427cf1884 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241788_BCEBF0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241788_BD0378 +/* BD0378 80241788 03E00008 */ jr $ra +/* BD037C 8024178C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241790_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241790_BCEBF0.s new file mode 100644 index 0000000000..2ad4199aed --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241790_BCEBF0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241790_BD0380 +/* BD0380 80241790 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD0384 80241794 AFB00010 */ sw $s0, 0x10($sp) +/* BD0388 80241798 AFBF0014 */ sw $ra, 0x14($sp) +/* BD038C 8024179C 0C090150 */ jal func_80240540 +/* BD0390 802417A0 0080802D */ daddu $s0, $a0, $zero +/* BD0394 802417A4 0040282D */ daddu $a1, $v0, $zero +/* BD0398 802417A8 8CA20004 */ lw $v0, 4($a1) +/* BD039C 802417AC 2442FFCE */ addiu $v0, $v0, -0x32 +/* BD03A0 802417B0 04410002 */ bgez $v0, .L802417BC +/* BD03A4 802417B4 0040202D */ daddu $a0, $v0, $zero +/* BD03A8 802417B8 00042023 */ negu $a0, $a0 +.L802417BC: +/* BD03AC 802417BC 2882000A */ slti $v0, $a0, 0xa +/* BD03B0 802417C0 14400016 */ bnez $v0, .L8024181C +/* BD03B4 802417C4 00041823 */ negu $v1, $a0 +/* BD03B8 802417C8 00031080 */ sll $v0, $v1, 2 +.L802417CC: +/* BD03BC 802417CC 00431021 */ addu $v0, $v0, $v1 +/* BD03C0 802417D0 00022040 */ sll $a0, $v0, 1 +/* BD03C4 802417D4 8CA201D4 */ lw $v0, 0x1d4($a1) +/* BD03C8 802417D8 8CA30004 */ lw $v1, 4($a1) +/* BD03CC 802417DC 00441021 */ addu $v0, $v0, $a0 +/* BD03D0 802417E0 10600003 */ beqz $v1, .L802417F0 +/* BD03D4 802417E4 ACA201D4 */ sw $v0, 0x1d4($a1) +/* BD03D8 802417E8 24020001 */ addiu $v0, $zero, 1 +/* BD03DC 802417EC A0A201DC */ sb $v0, 0x1dc($a1) +.L802417F0: +/* BD03E0 802417F0 80A301DC */ lb $v1, 0x1dc($a1) +/* BD03E4 802417F4 24020001 */ addiu $v0, $zero, 1 +/* BD03E8 802417F8 1462000E */ bne $v1, $v0, .L80241834 +/* BD03EC 802417FC 00000000 */ nop +/* BD03F0 80241800 8CA20004 */ lw $v0, 4($a1) +/* BD03F4 80241804 5C40000B */ bgtzl $v0, .L80241834 +/* BD03F8 80241808 ACA001D8 */ sw $zero, 0x1d8($a1) +/* BD03FC 8024180C 8CA201D8 */ lw $v0, 0x1d8($a1) +/* BD0400 80241810 24420001 */ addiu $v0, $v0, 1 +/* BD0404 80241814 0809060D */ j .L80241834 +/* BD0408 80241818 ACA201D8 */ sw $v0, 0x1d8($a1) +.L8024181C: +/* BD040C 8024181C 2403000A */ addiu $v1, $zero, 0xa +/* BD0410 80241820 00641823 */ subu $v1, $v1, $a0 +/* BD0414 80241824 00031040 */ sll $v0, $v1, 1 +/* BD0418 80241828 00431021 */ addu $v0, $v0, $v1 +/* BD041C 8024182C 080905F3 */ j .L802417CC +/* BD0420 80241830 000210C0 */ sll $v0, $v0, 3 +.L80241834: +/* BD0424 80241834 8CA201D4 */ lw $v0, 0x1d4($a1) +/* BD0428 80241838 28422711 */ slti $v0, $v0, 0x2711 +/* BD042C 8024183C 14400002 */ bnez $v0, .L80241848 +/* BD0430 80241840 24022710 */ addiu $v0, $zero, 0x2710 +/* BD0434 80241844 ACA201D4 */ sw $v0, 0x1d4($a1) +.L80241848: +/* BD0438 80241848 8CA201D4 */ lw $v0, 0x1d4($a1) +/* BD043C 8024184C 04420001 */ bltzl $v0, .L80241854 +/* BD0440 80241850 ACA001D4 */ sw $zero, 0x1d4($a1) +.L80241854: +/* BD0444 80241854 AE000084 */ sw $zero, 0x84($s0) +/* BD0448 80241858 8CA201D8 */ lw $v0, 0x1d8($a1) +/* BD044C 8024185C 2842002E */ slti $v0, $v0, 0x2e +/* BD0450 80241860 10400007 */ beqz $v0, .L80241880 +/* BD0454 80241864 24020001 */ addiu $v0, $zero, 1 +/* BD0458 80241868 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* BD045C 8024186C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* BD0460 80241870 8C420010 */ lw $v0, 0x10($v0) +/* BD0464 80241874 30424000 */ andi $v0, $v0, 0x4000 +/* BD0468 80241878 10400002 */ beqz $v0, .L80241884 +/* BD046C 8024187C 24020001 */ addiu $v0, $zero, 1 +.L80241880: +/* BD0470 80241880 AE020084 */ sw $v0, 0x84($s0) +.L80241884: +/* BD0474 80241884 24020002 */ addiu $v0, $zero, 2 +/* BD0478 80241888 8FBF0014 */ lw $ra, 0x14($sp) +/* BD047C 8024188C 8FB00010 */ lw $s0, 0x10($sp) +/* BD0480 80241890 03E00008 */ jr $ra +/* BD0484 80241894 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241898_BCEBF0.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241898_BCEBF0.s new file mode 100644 index 0000000000..036c8c7209 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241898_BCEBF0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898_BD0488 +/* BD0488 80241898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD048C 8024189C AFB00010 */ sw $s0, 0x10($sp) +/* BD0490 802418A0 AFBF0014 */ sw $ra, 0x14($sp) +/* BD0494 802418A4 0C090150 */ jal func_80240540 +/* BD0498 802418A8 0080802D */ daddu $s0, $a0, $zero +/* BD049C 802418AC 0040182D */ daddu $v1, $v0, $zero +/* BD04A0 802418B0 AC6001D4 */ sw $zero, 0x1d4($v1) +/* BD04A4 802418B4 AC6001D8 */ sw $zero, 0x1d8($v1) +/* BD04A8 802418B8 A06001DC */ sb $zero, 0x1dc($v1) +/* BD04AC 802418BC AC600004 */ sw $zero, 4($v1) +/* BD04B0 802418C0 AC600030 */ sw $zero, 0x30($v1) +/* BD04B4 802418C4 AE0000AC */ sw $zero, 0xac($s0) +/* BD04B8 802418C8 AE0000B0 */ sw $zero, 0xb0($s0) +/* BD04BC 802418CC 8FBF0014 */ lw $ra, 0x14($sp) +/* BD04C0 802418D0 8FB00010 */ lw $s0, 0x10($sp) +/* BD04C4 802418D4 24020002 */ addiu $v0, $zero, 2 +/* BD04C8 802418D8 03E00008 */ jr $ra +/* BD04CC 802418DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_802418E0.s b/asm/nonmatchings/world/area_obk/obk_07/func_802418E0.s new file mode 100644 index 0000000000..d7ecc100a9 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_802418E0.s @@ -0,0 +1,171 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418E0 +/* BD04D0 802418E0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* BD04D4 802418E4 AFB20018 */ sw $s2, 0x18($sp) +/* BD04D8 802418E8 0080902D */ daddu $s2, $a0, $zero +/* BD04DC 802418EC AFBF001C */ sw $ra, 0x1c($sp) +/* BD04E0 802418F0 AFB10014 */ sw $s1, 0x14($sp) +/* BD04E4 802418F4 AFB00010 */ sw $s0, 0x10($sp) +/* BD04E8 802418F8 F7BE0048 */ sdc1 $f30, 0x48($sp) +/* BD04EC 802418FC F7BC0040 */ sdc1 $f28, 0x40($sp) +/* BD04F0 80241900 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* BD04F4 80241904 F7B80030 */ sdc1 $f24, 0x30($sp) +/* BD04F8 80241908 F7B60028 */ sdc1 $f22, 0x28($sp) +/* BD04FC 8024190C F7B40020 */ sdc1 $f20, 0x20($sp) +/* BD0500 80241910 0C00EABB */ jal get_npc_unsafe +/* BD0504 80241914 24040002 */ addiu $a0, $zero, 2 +/* BD0508 80241918 0C090150 */ jal func_80240540 +/* BD050C 8024191C 0040802D */ daddu $s0, $v0, $zero +/* BD0510 80241920 0040882D */ daddu $s1, $v0, $zero +/* BD0514 80241924 2403FFFF */ addiu $v1, $zero, -1 +/* BD0518 80241928 3C01C308 */ lui $at, 0xc308 +/* BD051C 8024192C 4481D000 */ mtc1 $at, $f26 +/* BD0520 80241930 C6160038 */ lwc1 $f22, 0x38($s0) +/* BD0524 80241934 C6180040 */ lwc1 $f24, 0x40($s0) +/* BD0528 80241938 3C01C2B8 */ lui $at, 0xc2b8 +/* BD052C 8024193C 4481F000 */ mtc1 $at, $f30 +/* BD0530 80241940 8E220030 */ lw $v0, 0x30($s1) +/* BD0534 80241944 3C014328 */ lui $at, 0x4328 +/* BD0538 80241948 4481E000 */ mtc1 $at, $f28 +/* BD053C 8024194C 14430025 */ bne $v0, $v1, .L802419E4 +/* BD0540 80241950 3C020095 */ lui $v0, 0x95 +/* BD0544 80241954 34420003 */ ori $v0, $v0, 3 +/* BD0548 80241958 4600B306 */ mov.s $f12, $f22 +/* BD054C 8024195C 3C014000 */ lui $at, 0x4000 +/* BD0550 80241960 4481A000 */ mtc1 $at, $f20 +/* BD0554 80241964 4406E000 */ mfc1 $a2, $f28 +/* BD0558 80241968 4407D000 */ mfc1 $a3, $f26 +/* BD055C 8024196C 4600C386 */ mov.s $f14, $f24 +/* BD0560 80241970 0C00A7B5 */ jal dist2D +/* BD0564 80241974 AE020028 */ sw $v0, 0x28($s0) +/* BD0568 80241978 4614003C */ c.lt.s $f0, $f20 +/* BD056C 8024197C 00000000 */ nop +/* BD0570 80241980 4500000D */ bc1f .L802419B8 +/* BD0574 80241984 4600B306 */ mov.s $f12, $f22 +/* BD0578 80241988 4406F000 */ mfc1 $a2, $f30 +/* BD057C 8024198C 4407D000 */ mfc1 $a3, $f26 +/* BD0580 80241990 4600C386 */ mov.s $f14, $f24 +/* BD0584 80241994 E61C0038 */ swc1 $f28, 0x38($s0) +/* BD0588 80241998 0C00A720 */ jal atan2 +/* BD058C 8024199C AE070040 */ sw $a3, 0x40($s0) +/* BD0590 802419A0 24020002 */ addiu $v0, $zero, 2 +/* BD0594 802419A4 24030001 */ addiu $v1, $zero, 1 +/* BD0598 802419A8 E600000C */ swc1 $f0, 0xc($s0) +/* BD059C 802419AC AE4000AC */ sw $zero, 0xac($s2) +/* BD05A0 802419B0 080906C8 */ j .L80241B20 +/* BD05A4 802419B4 AE4300B0 */ sw $v1, 0xb0($s2) +.L802419B8: +/* BD05A8 802419B8 4406E000 */ mfc1 $a2, $f28 +/* BD05AC 802419BC 4407D000 */ mfc1 $a3, $f26 +/* BD05B0 802419C0 0C00A720 */ jal atan2 +/* BD05B4 802419C4 4600C386 */ mov.s $f14, $f24 +/* BD05B8 802419C8 4405A000 */ mfc1 $a1, $f20 +/* BD05BC 802419CC 44060000 */ mfc1 $a2, $f0 +/* BD05C0 802419D0 0200202D */ daddu $a0, $s0, $zero +/* BD05C4 802419D4 0C00EA95 */ jal npc_move_heading +/* BD05C8 802419D8 AC86000C */ sw $a2, 0xc($a0) +/* BD05CC 802419DC 080906C8 */ j .L80241B20 +/* BD05D0 802419E0 24020002 */ addiu $v0, $zero, 2 +.L802419E4: +/* BD05D4 802419E4 8E2201D4 */ lw $v0, 0x1d4($s1) +/* BD05D8 802419E8 28421B59 */ slti $v0, $v0, 0x1b59 +/* BD05DC 802419EC 14400019 */ bnez $v0, .L80241A54 +/* BD05E0 802419F0 4600B306 */ mov.s $f12, $f22 +/* BD05E4 802419F4 4600C386 */ mov.s $f14, $f24 +/* BD05E8 802419F8 3C014000 */ lui $at, 0x4000 +/* BD05EC 802419FC 4481A000 */ mtc1 $at, $f20 +/* BD05F0 80241A00 4406F000 */ mfc1 $a2, $f30 +/* BD05F4 80241A04 4407D000 */ mfc1 $a3, $f26 +/* BD05F8 80241A08 24020001 */ addiu $v0, $zero, 1 +/* BD05FC 80241A0C 0C00A7B5 */ jal dist2D +/* BD0600 80241A10 AE4200AC */ sw $v0, 0xac($s2) +/* BD0604 80241A14 4614003C */ c.lt.s $f0, $f20 +/* BD0608 80241A18 00000000 */ nop +/* BD060C 80241A1C 45000004 */ bc1f .L80241A30 +/* BD0610 80241A20 4600B306 */ mov.s $f12, $f22 +/* BD0614 80241A24 E61E0038 */ swc1 $f30, 0x38($s0) +/* BD0618 80241A28 08090695 */ j .L80241A54 +/* BD061C 80241A2C E61A0040 */ swc1 $f26, 0x40($s0) +.L80241A30: +/* BD0620 80241A30 4406F000 */ mfc1 $a2, $f30 +/* BD0624 80241A34 4407D000 */ mfc1 $a3, $f26 +/* BD0628 80241A38 0C00A720 */ jal atan2 +/* BD062C 80241A3C 4600C386 */ mov.s $f14, $f24 +/* BD0630 80241A40 4405A000 */ mfc1 $a1, $f20 +/* BD0634 80241A44 44060000 */ mfc1 $a2, $f0 +/* BD0638 80241A48 0200202D */ daddu $a0, $s0, $zero +/* BD063C 80241A4C 0C00EA95 */ jal npc_move_heading +/* BD0640 80241A50 AE06000C */ sw $a2, 0xc($s0) +.L80241A54: +/* BD0644 80241A54 8E2201D4 */ lw $v0, 0x1d4($s1) +/* BD0648 80241A58 28420BB8 */ slti $v0, $v0, 0xbb8 +/* BD064C 80241A5C 1040001D */ beqz $v0, .L80241AD4 +/* BD0650 80241A60 4600B306 */ mov.s $f12, $f22 +/* BD0654 80241A64 3C014000 */ lui $at, 0x4000 +/* BD0658 80241A68 4481A000 */ mtc1 $at, $f20 +/* BD065C 80241A6C 4406E000 */ mfc1 $a2, $f28 +/* BD0660 80241A70 4407D000 */ mfc1 $a3, $f26 +/* BD0664 80241A74 4600C386 */ mov.s $f14, $f24 +/* BD0668 80241A78 0C00A7B5 */ jal dist2D +/* BD066C 80241A7C AE4000AC */ sw $zero, 0xac($s2) +/* BD0670 80241A80 4614003C */ c.lt.s $f0, $f20 +/* BD0674 80241A84 00000000 */ nop +/* BD0678 80241A88 45000009 */ bc1f .L80241AB0 +/* BD067C 80241A8C 4600B306 */ mov.s $f12, $f22 +/* BD0680 80241A90 4406F000 */ mfc1 $a2, $f30 +/* BD0684 80241A94 3C07C308 */ lui $a3, 0xc308 +/* BD0688 80241A98 4600C386 */ mov.s $f14, $f24 +/* BD068C 80241A9C E61C0038 */ swc1 $f28, 0x38($s0) +/* BD0690 80241AA0 0C00A720 */ jal atan2 +/* BD0694 80241AA4 E61A0040 */ swc1 $f26, 0x40($s0) +/* BD0698 80241AA8 080906B5 */ j .L80241AD4 +/* BD069C 80241AAC E600000C */ swc1 $f0, 0xc($s0) +.L80241AB0: +/* BD06A0 80241AB0 4406E000 */ mfc1 $a2, $f28 +/* BD06A4 80241AB4 4407D000 */ mfc1 $a3, $f26 +/* BD06A8 80241AB8 0C00A720 */ jal atan2 +/* BD06AC 80241ABC 4600C386 */ mov.s $f14, $f24 +/* BD06B0 80241AC0 4405A000 */ mfc1 $a1, $f20 +/* BD06B4 80241AC4 44060000 */ mfc1 $a2, $f0 +/* BD06B8 80241AC8 0200202D */ daddu $a0, $s0, $zero +/* BD06BC 80241ACC 0C00EA95 */ jal npc_move_heading +/* BD06C0 80241AD0 AE06000C */ sw $a2, 0xc($s0) +.L80241AD4: +/* BD06C4 80241AD4 8E2301D4 */ lw $v1, 0x1d4($s1) +/* BD06C8 80241AD8 28621B59 */ slti $v0, $v1, 0x1b59 +/* BD06CC 80241ADC 54400004 */ bnel $v0, $zero, .L80241AF0 +/* BD06D0 80241AE0 28621389 */ slti $v0, $v1, 0x1389 +/* BD06D4 80241AE4 3C020095 */ lui $v0, 0x95 +/* BD06D8 80241AE8 080906C6 */ j .L80241B18 +/* BD06DC 80241AEC 34420005 */ ori $v0, $v0, 5 +.L80241AF0: +/* BD06E0 80241AF0 54400004 */ bnel $v0, $zero, .L80241B04 +/* BD06E4 80241AF4 28620BB9 */ slti $v0, $v1, 0xbb9 +/* BD06E8 80241AF8 3C020095 */ lui $v0, 0x95 +/* BD06EC 80241AFC 080906C6 */ j .L80241B18 +/* BD06F0 80241B00 34420003 */ ori $v0, $v0, 3 +.L80241B04: +/* BD06F4 80241B04 14400003 */ bnez $v0, .L80241B14 +/* BD06F8 80241B08 3C020095 */ lui $v0, 0x95 +/* BD06FC 80241B0C 080906C6 */ j .L80241B18 +/* BD0700 80241B10 34420002 */ ori $v0, $v0, 2 +.L80241B14: +/* BD0704 80241B14 34420001 */ ori $v0, $v0, 1 +.L80241B18: +/* BD0708 80241B18 AE020028 */ sw $v0, 0x28($s0) +/* BD070C 80241B1C 24020002 */ addiu $v0, $zero, 2 +.L80241B20: +/* BD0710 80241B20 8FBF001C */ lw $ra, 0x1c($sp) +/* BD0714 80241B24 8FB20018 */ lw $s2, 0x18($sp) +/* BD0718 80241B28 8FB10014 */ lw $s1, 0x14($sp) +/* BD071C 80241B2C 8FB00010 */ lw $s0, 0x10($sp) +/* BD0720 80241B30 D7BE0048 */ ldc1 $f30, 0x48($sp) +/* BD0724 80241B34 D7BC0040 */ ldc1 $f28, 0x40($sp) +/* BD0728 80241B38 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* BD072C 80241B3C D7B80030 */ ldc1 $f24, 0x30($sp) +/* BD0730 80241B40 D7B60028 */ ldc1 $f22, 0x28($sp) +/* BD0734 80241B44 D7B40020 */ ldc1 $f20, 0x20($sp) +/* BD0738 80241B48 03E00008 */ jr $ra +/* BD073C 80241B4C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_obk/obk_07/func_80241B50.s b/asm/nonmatchings/world/area_obk/obk_07/func_80241B50.s new file mode 100644 index 0000000000..4127f96772 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_07/func_80241B50.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B50 +/* BD0740 80241B50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD0744 80241B54 AFBF0010 */ sw $ra, 0x10($sp) +/* BD0748 80241B58 0C00EABB */ jal get_npc_unsafe +/* BD074C 80241B5C 8C84014C */ lw $a0, 0x14c($a0) +/* BD0750 80241B60 0040182D */ daddu $v1, $v0, $zero +/* BD0754 80241B64 240400B4 */ addiu $a0, $zero, 0xb4 +/* BD0758 80241B68 A06400AC */ sb $a0, 0xac($v1) +/* BD075C 80241B6C 24040016 */ addiu $a0, $zero, 0x16 +/* BD0760 80241B70 A06400AA */ sb $a0, 0xaa($v1) +/* BD0764 80241B74 8FBF0010 */ lw $ra, 0x10($sp) +/* BD0768 80241B78 24020002 */ addiu $v0, $zero, 2 +/* BD076C 80241B7C 03E00008 */ jr $ra +/* BD0770 80241B80 27BD0018 */ addiu $sp, $sp, 0x18 +/* BD0774 80241B84 00000000 */ nop +/* BD0778 80241B88 00000000 */ nop +/* BD077C 80241B8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240000_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240000_BD3870.s new file mode 100644 index 0000000000..cf02c2730a --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240000_BD3870.s @@ -0,0 +1,251 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BD3870 +/* BD3870 80240000 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* BD3874 80240004 0000202D */ daddu $a0, $zero, $zero +/* BD3878 80240008 3C05FD05 */ lui $a1, 0xfd05 +/* BD387C 8024000C AFBF00DC */ sw $ra, 0xdc($sp) +/* BD3880 80240010 AFB600D8 */ sw $s6, 0xd8($sp) +/* BD3884 80240014 AFB500D4 */ sw $s5, 0xd4($sp) +/* BD3888 80240018 AFB400D0 */ sw $s4, 0xd0($sp) +/* BD388C 8024001C AFB300CC */ sw $s3, 0xcc($sp) +/* BD3890 80240020 AFB200C8 */ sw $s2, 0xc8($sp) +/* BD3894 80240024 AFB100C4 */ sw $s1, 0xc4($sp) +/* BD3898 80240028 AFB000C0 */ sw $s0, 0xc0($sp) +/* BD389C 8024002C F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* BD38A0 80240030 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* BD38A4 80240034 0C0B1EAF */ jal get_variable +/* BD38A8 80240038 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD38AC 8024003C 3C07E300 */ lui $a3, 0xe300 +/* BD38B0 80240040 34E70A01 */ ori $a3, $a3, 0xa01 +/* BD38B4 80240044 3C08D9C0 */ lui $t0, 0xd9c0 +/* BD38B8 80240048 3508F9FB */ ori $t0, $t0, 0xf9fb +/* BD38BC 8024004C 3C0AD9FF */ lui $t2, 0xd9ff +/* BD38C0 80240050 354AFFFF */ ori $t2, $t2, 0xffff +/* BD38C4 80240054 3C090020 */ lui $t1, 0x20 +/* BD38C8 80240058 35290005 */ ori $t1, $t1, 5 +/* BD38CC 8024005C 3C0BD700 */ lui $t3, 0xd700 +/* BD38D0 80240060 356B0002 */ ori $t3, $t3, 2 +/* BD38D4 80240064 3C0CE300 */ lui $t4, 0xe300 +/* BD38D8 80240068 358C0F00 */ ori $t4, $t4, 0xf00 +/* BD38DC 8024006C 3C0DE300 */ lui $t5, 0xe300 +/* BD38E0 80240070 35AD0C00 */ ori $t5, $t5, 0xc00 +/* BD38E4 80240074 3C0EE300 */ lui $t6, 0xe300 +/* BD38E8 80240078 35CE1201 */ ori $t6, $t6, 0x1201 +/* BD38EC 8024007C 3C0FE300 */ lui $t7, 0xe300 +/* BD38F0 80240080 35EF1801 */ ori $t7, $t7, 0x1801 +/* BD38F4 80240084 3C10E300 */ lui $s0, 0xe300 +/* BD38F8 80240088 36100D01 */ ori $s0, $s0, 0xd01 +/* BD38FC 8024008C 3C12E300 */ lui $s2, 0xe300 +/* BD3900 80240090 36521402 */ ori $s2, $s2, 0x1402 +/* BD3904 80240094 3C14E300 */ lui $s4, 0xe300 +/* BD3908 80240098 36941700 */ ori $s4, $s4, 0x1700 +/* BD390C 8024009C 3C15E200 */ lui $s5, 0xe200 +/* BD3910 802400A0 36B51E01 */ ori $s5, $s5, 0x1e01 +/* BD3914 802400A4 27B30040 */ addiu $s3, $sp, 0x40 +/* BD3918 802400A8 0260202D */ daddu $a0, $s3, $zero +/* BD391C 802400AC 3C160001 */ lui $s6, 1 +/* BD3920 802400B0 3C11800A */ lui $s1, 0x800a +/* BD3924 802400B4 2631A66C */ addiu $s1, $s1, -0x5994 +/* BD3928 802400B8 36D61630 */ ori $s6, $s6, 0x1630 +/* BD392C 802400BC 3C05E700 */ lui $a1, 0xe700 +/* BD3930 802400C0 8E230000 */ lw $v1, ($s1) +/* BD3934 802400C4 4480A000 */ mtc1 $zero, $f20 +/* BD3938 802400C8 0060302D */ daddu $a2, $v1, $zero +/* BD393C 802400CC 24630008 */ addiu $v1, $v1, 8 +/* BD3940 802400D0 AE230000 */ sw $v1, ($s1) +/* BD3944 802400D4 ACC50000 */ sw $a1, ($a2) +/* BD3948 802400D8 24650008 */ addiu $a1, $v1, 8 +/* BD394C 802400DC ACC00004 */ sw $zero, 4($a2) +/* BD3950 802400E0 AE250000 */ sw $a1, ($s1) +/* BD3954 802400E4 24650010 */ addiu $a1, $v1, 0x10 +/* BD3958 802400E8 AC670000 */ sw $a3, ($v1) +/* BD395C 802400EC AC600004 */ sw $zero, 4($v1) +/* BD3960 802400F0 AE250000 */ sw $a1, ($s1) +/* BD3964 802400F4 24650018 */ addiu $a1, $v1, 0x18 +/* BD3968 802400F8 AC680008 */ sw $t0, 8($v1) +/* BD396C 802400FC AC60000C */ sw $zero, 0xc($v1) +/* BD3970 80240100 AE250000 */ sw $a1, ($s1) +/* BD3974 80240104 24650020 */ addiu $a1, $v1, 0x20 +/* BD3978 80240108 AC6A0010 */ sw $t2, 0x10($v1) +/* BD397C 8024010C AC690014 */ sw $t1, 0x14($v1) +/* BD3980 80240110 AE250000 */ sw $a1, ($s1) +/* BD3984 80240114 2405FFFF */ addiu $a1, $zero, -1 +/* BD3988 80240118 AC65001C */ sw $a1, 0x1c($v1) +/* BD398C 8024011C 24650028 */ addiu $a1, $v1, 0x28 +/* BD3990 80240120 AC6B0018 */ sw $t3, 0x18($v1) +/* BD3994 80240124 AE250000 */ sw $a1, ($s1) +/* BD3998 80240128 24650030 */ addiu $a1, $v1, 0x30 +/* BD399C 8024012C AC6C0020 */ sw $t4, 0x20($v1) +/* BD39A0 80240130 AC600024 */ sw $zero, 0x24($v1) +/* BD39A4 80240134 AE250000 */ sw $a1, ($s1) +/* BD39A8 80240138 3C050008 */ lui $a1, 8 +/* BD39AC 8024013C AC65002C */ sw $a1, 0x2c($v1) +/* BD39B0 80240140 24650038 */ addiu $a1, $v1, 0x38 +/* BD39B4 80240144 AC6D0028 */ sw $t5, 0x28($v1) +/* BD39B8 80240148 AE250000 */ sw $a1, ($s1) +/* BD39BC 8024014C 24052000 */ addiu $a1, $zero, 0x2000 +/* BD39C0 80240150 AC650034 */ sw $a1, 0x34($v1) +/* BD39C4 80240154 24650040 */ addiu $a1, $v1, 0x40 +/* BD39C8 80240158 AC6E0030 */ sw $t6, 0x30($v1) +/* BD39CC 8024015C AE250000 */ sw $a1, ($s1) +/* BD39D0 80240160 240500C0 */ addiu $a1, $zero, 0xc0 +/* BD39D4 80240164 AC65003C */ sw $a1, 0x3c($v1) +/* BD39D8 80240168 24650048 */ addiu $a1, $v1, 0x48 +/* BD39DC 8024016C AC6F0038 */ sw $t7, 0x38($v1) +/* BD39E0 80240170 AE250000 */ sw $a1, ($s1) +/* BD39E4 80240174 24650050 */ addiu $a1, $v1, 0x50 +/* BD39E8 80240178 AC700040 */ sw $s0, 0x40($v1) +/* BD39EC 8024017C AC600044 */ sw $zero, 0x44($v1) +/* BD39F0 80240180 AE250000 */ sw $a1, ($s1) +/* BD39F4 80240184 24050C00 */ addiu $a1, $zero, 0xc00 +/* BD39F8 80240188 AC720048 */ sw $s2, 0x48($v1) +/* BD39FC 8024018C 0040902D */ daddu $s2, $v0, $zero +/* BD3A00 80240190 24620058 */ addiu $v0, $v1, 0x58 +/* BD3A04 80240194 AC65004C */ sw $a1, 0x4c($v1) +/* BD3A08 80240198 AC740050 */ sw $s4, 0x50($v1) +/* BD3A0C 8024019C AC600054 */ sw $zero, 0x54($v1) +/* BD3A10 802401A0 AC750058 */ sw $s5, 0x58($v1) +/* BD3A14 802401A4 AC60005C */ sw $zero, 0x5c($v1) +/* BD3A18 802401A8 8E450010 */ lw $a1, 0x10($s2) +/* BD3A1C 802401AC 8E460014 */ lw $a2, 0x14($s2) +/* BD3A20 802401B0 8E470018 */ lw $a3, 0x18($s2) +/* BD3A24 802401B4 24630060 */ addiu $v1, $v1, 0x60 +/* BD3A28 802401B8 AE220000 */ sw $v0, ($s1) +/* BD3A2C 802401BC 0C019E40 */ jal guTranslateF +/* BD3A30 802401C0 AE230000 */ sw $v1, ($s1) +/* BD3A34 802401C4 27B00080 */ addiu $s0, $sp, 0x80 +/* BD3A38 802401C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* BD3A3C 802401CC 8E450020 */ lw $a1, 0x20($s2) +/* BD3A40 802401D0 3C013F80 */ lui $at, 0x3f80 +/* BD3A44 802401D4 4481B000 */ mtc1 $at, $f22 +/* BD3A48 802401D8 4406A000 */ mfc1 $a2, $f20 +/* BD3A4C 802401DC 4407B000 */ mfc1 $a3, $f22 +/* BD3A50 802401E0 0C019EC8 */ jal guRotateF +/* BD3A54 802401E4 0200202D */ daddu $a0, $s0, $zero +/* BD3A58 802401E8 0200202D */ daddu $a0, $s0, $zero +/* BD3A5C 802401EC 0260282D */ daddu $a1, $s3, $zero +/* BD3A60 802401F0 0C019D80 */ jal guMtxCatF +/* BD3A64 802401F4 0260302D */ daddu $a2, $s3, $zero +/* BD3A68 802401F8 E7B60010 */ swc1 $f22, 0x10($sp) +/* BD3A6C 802401FC 8E450024 */ lw $a1, 0x24($s2) +/* BD3A70 80240200 4406A000 */ mfc1 $a2, $f20 +/* BD3A74 80240204 4407A000 */ mfc1 $a3, $f20 +/* BD3A78 80240208 0C019EC8 */ jal guRotateF +/* BD3A7C 8024020C 0200202D */ daddu $a0, $s0, $zero +/* BD3A80 80240210 0200202D */ daddu $a0, $s0, $zero +/* BD3A84 80240214 0260282D */ daddu $a1, $s3, $zero +/* BD3A88 80240218 0C019D80 */ jal guMtxCatF +/* BD3A8C 8024021C 0260302D */ daddu $a2, $s3, $zero +/* BD3A90 80240220 E7B40010 */ swc1 $f20, 0x10($sp) +/* BD3A94 80240224 8E45001C */ lw $a1, 0x1c($s2) +/* BD3A98 80240228 4406B000 */ mfc1 $a2, $f22 +/* BD3A9C 8024022C 4407A000 */ mfc1 $a3, $f20 +/* BD3AA0 80240230 0C019EC8 */ jal guRotateF +/* BD3AA4 80240234 0200202D */ daddu $a0, $s0, $zero +/* BD3AA8 80240238 0200202D */ daddu $a0, $s0, $zero +/* BD3AAC 8024023C 0260282D */ daddu $a1, $s3, $zero +/* BD3AB0 80240240 0C019D80 */ jal guMtxCatF +/* BD3AB4 80240244 0260302D */ daddu $a2, $s3, $zero +/* BD3AB8 80240248 8E450028 */ lw $a1, 0x28($s2) +/* BD3ABC 8024024C 8E46002C */ lw $a2, 0x2c($s2) +/* BD3AC0 80240250 8E470030 */ lw $a3, 0x30($s2) +/* BD3AC4 80240254 0C019DF0 */ jal guScaleF +/* BD3AC8 80240258 0200202D */ daddu $a0, $s0, $zero +/* BD3ACC 8024025C 0200202D */ daddu $a0, $s0, $zero +/* BD3AD0 80240260 0260282D */ daddu $a1, $s3, $zero +/* BD3AD4 80240264 0C019D80 */ jal guMtxCatF +/* BD3AD8 80240268 0260302D */ daddu $a2, $s3, $zero +/* BD3ADC 8024026C 0260202D */ daddu $a0, $s3, $zero +/* BD3AE0 80240270 3C108007 */ lui $s0, 0x8007 +/* BD3AE4 80240274 261041F0 */ addiu $s0, $s0, 0x41f0 +/* BD3AE8 80240278 3C14800A */ lui $s4, 0x800a +/* BD3AEC 8024027C 2694A674 */ addiu $s4, $s4, -0x598c +/* BD3AF0 80240280 96050000 */ lhu $a1, ($s0) +/* BD3AF4 80240284 8E820000 */ lw $v0, ($s4) +/* BD3AF8 80240288 00052980 */ sll $a1, $a1, 6 +/* BD3AFC 8024028C 00B62821 */ addu $a1, $a1, $s6 +/* BD3B00 80240290 0C019D40 */ jal guMtxF2L +/* BD3B04 80240294 00452821 */ addu $a1, $v0, $a1 +/* BD3B08 80240298 3C02DA38 */ lui $v0, 0xda38 +/* BD3B0C 8024029C 34420002 */ ori $v0, $v0, 2 +/* BD3B10 802402A0 27A40030 */ addiu $a0, $sp, 0x30 +/* BD3B14 802402A4 8E270000 */ lw $a3, ($s1) +/* BD3B18 802402A8 96080000 */ lhu $t0, ($s0) +/* BD3B1C 802402AC 00E0282D */ daddu $a1, $a3, $zero +/* BD3B20 802402B0 ACA20000 */ sw $v0, ($a1) +/* BD3B24 802402B4 3102FFFF */ andi $v0, $t0, 0xffff +/* BD3B28 802402B8 00021180 */ sll $v0, $v0, 6 +/* BD3B2C 802402BC 00561021 */ addu $v0, $v0, $s6 +/* BD3B30 802402C0 8E830000 */ lw $v1, ($s4) +/* BD3B34 802402C4 24E70008 */ addiu $a3, $a3, 8 +/* BD3B38 802402C8 00621821 */ addu $v1, $v1, $v0 +/* BD3B3C 802402CC 3C028000 */ lui $v0, 0x8000 +/* BD3B40 802402D0 00621821 */ addu $v1, $v1, $v0 +/* BD3B44 802402D4 ACA30004 */ sw $v1, 4($a1) +/* BD3B48 802402D8 8E450008 */ lw $a1, 8($s2) +/* BD3B4C 802402DC 8E46000C */ lw $a2, 0xc($s2) +/* BD3B50 802402E0 25080001 */ addiu $t0, $t0, 1 +/* BD3B54 802402E4 AE270000 */ sw $a3, ($s1) +/* BD3B58 802402E8 0C0B7811 */ jal func_802DE044 +/* BD3B5C 802402EC A6080000 */ sh $t0, ($s0) +/* BD3B60 802402F0 8FA30030 */ lw $v1, 0x30($sp) +/* BD3B64 802402F4 8FA40034 */ lw $a0, 0x34($sp) +/* BD3B68 802402F8 97A2003A */ lhu $v0, 0x3a($sp) +/* BD3B6C 802402FC 3C013F00 */ lui $at, 0x3f00 +/* BD3B70 80240300 44811000 */ mtc1 $at, $f2 +/* BD3B74 80240304 27A50018 */ addiu $a1, $sp, 0x18 +/* BD3B78 80240308 A7A20020 */ sh $v0, 0x20($sp) +/* BD3B7C 8024030C 3042FFFF */ andi $v0, $v0, 0xffff +/* BD3B80 80240310 44820000 */ mtc1 $v0, $f0 +/* BD3B84 80240314 00000000 */ nop +/* BD3B88 80240318 46800020 */ cvt.s.w $f0, $f0 +/* BD3B8C 8024031C AFA30018 */ sw $v1, 0x18($sp) +/* BD3B90 80240320 AFA4001C */ sw $a0, 0x1c($sp) +/* BD3B94 80240324 E6400034 */ swc1 $f0, 0x34($s2) +/* BD3B98 80240328 97A2003E */ lhu $v0, 0x3e($sp) +/* BD3B9C 8024032C 0000302D */ daddu $a2, $zero, $zero +/* BD3BA0 80240330 A7A20022 */ sh $v0, 0x22($sp) +/* BD3BA4 80240334 3042FFFF */ andi $v0, $v0, 0xffff +/* BD3BA8 80240338 44820000 */ mtc1 $v0, $f0 +/* BD3BAC 8024033C 00000000 */ nop +/* BD3BB0 80240340 46800020 */ cvt.s.w $f0, $f0 +/* BD3BB4 80240344 E6400038 */ swc1 $f0, 0x38($s2) +/* BD3BB8 80240348 C7A00038 */ lwc1 $f0, 0x38($sp) +/* BD3BBC 8024034C 46800020 */ cvt.s.w $f0, $f0 +/* BD3BC0 80240350 46020002 */ mul.s $f0, $f0, $f2 +/* BD3BC4 80240354 00000000 */ nop +/* BD3BC8 80240358 97A3003E */ lhu $v1, 0x3e($sp) +/* BD3BCC 8024035C 240200FF */ addiu $v0, $zero, 0xff +/* BD3BD0 80240360 A3A20028 */ sb $v0, 0x28($sp) +/* BD3BD4 80240364 A7A30026 */ sh $v1, 0x26($sp) +/* BD3BD8 80240368 4600010D */ trunc.w.s $f4, $f0 +/* BD3BDC 8024036C 44022000 */ mfc1 $v0, $f4 +/* BD3BE0 80240370 00000000 */ nop +/* BD3BE4 80240374 00021023 */ negu $v0, $v0 +/* BD3BE8 80240378 A7A20024 */ sh $v0, 0x24($sp) +/* BD3BEC 8024037C 8E440000 */ lw $a0, ($s2) +/* BD3BF0 80240380 0C04EBDC */ jal func_8013AF70 +/* BD3BF4 80240384 0260382D */ daddu $a3, $s3, $zero +/* BD3BF8 80240388 3C04D838 */ lui $a0, 0xd838 +/* BD3BFC 8024038C 8E220000 */ lw $v0, ($s1) +/* BD3C00 80240390 34840002 */ ori $a0, $a0, 2 +/* BD3C04 80240394 0040182D */ daddu $v1, $v0, $zero +/* BD3C08 80240398 24420008 */ addiu $v0, $v0, 8 +/* BD3C0C 8024039C AE220000 */ sw $v0, ($s1) +/* BD3C10 802403A0 24020040 */ addiu $v0, $zero, 0x40 +/* BD3C14 802403A4 AC640000 */ sw $a0, ($v1) +/* BD3C18 802403A8 AC620004 */ sw $v0, 4($v1) +/* BD3C1C 802403AC 8FBF00DC */ lw $ra, 0xdc($sp) +/* BD3C20 802403B0 8FB600D8 */ lw $s6, 0xd8($sp) +/* BD3C24 802403B4 8FB500D4 */ lw $s5, 0xd4($sp) +/* BD3C28 802403B8 8FB400D0 */ lw $s4, 0xd0($sp) +/* BD3C2C 802403BC 8FB300CC */ lw $s3, 0xcc($sp) +/* BD3C30 802403C0 8FB200C8 */ lw $s2, 0xc8($sp) +/* BD3C34 802403C4 8FB100C4 */ lw $s1, 0xc4($sp) +/* BD3C38 802403C8 8FB000C0 */ lw $s0, 0xc0($sp) +/* BD3C3C 802403CC D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* BD3C40 802403D0 D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* BD3C44 802403D4 03E00008 */ jr $ra +/* BD3C48 802403D8 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802403DC_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_802403DC_BD3870.s new file mode 100644 index 0000000000..304dea5507 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802403DC_BD3870.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403DC_BD3C4C +/* BD3C4C 802403DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BD3C50 802403E0 AFB3001C */ sw $s3, 0x1c($sp) +/* BD3C54 802403E4 0080982D */ daddu $s3, $a0, $zero +/* BD3C58 802403E8 AFBF0020 */ sw $ra, 0x20($sp) +/* BD3C5C 802403EC AFB20018 */ sw $s2, 0x18($sp) +/* BD3C60 802403F0 AFB10014 */ sw $s1, 0x14($sp) +/* BD3C64 802403F4 AFB00010 */ sw $s0, 0x10($sp) +/* BD3C68 802403F8 8E70000C */ lw $s0, 0xc($s3) +/* BD3C6C 802403FC 8E050000 */ lw $a1, ($s0) +/* BD3C70 80240400 0C0B1EAF */ jal get_variable +/* BD3C74 80240404 26100004 */ addiu $s0, $s0, 4 +/* BD3C78 80240408 0260202D */ daddu $a0, $s3, $zero +/* BD3C7C 8024040C 8E050000 */ lw $a1, ($s0) +/* BD3C80 80240410 0C0B1EAF */ jal get_variable +/* BD3C84 80240414 0040902D */ daddu $s2, $v0, $zero +/* BD3C88 80240418 2404003C */ addiu $a0, $zero, 0x3c +/* BD3C8C 8024041C 0C00AB39 */ jal heap_malloc +/* BD3C90 80240420 0040882D */ daddu $s1, $v0, $zero +/* BD3C94 80240424 0040802D */ daddu $s0, $v0, $zero +/* BD3C98 80240428 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* BD3C9C 8024042C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* BD3CA0 80240430 AE120008 */ sw $s2, 8($s0) +/* BD3CA4 80240434 AE11000C */ sw $s1, 0xc($s0) +/* BD3CA8 80240438 846200B0 */ lh $v0, 0xb0($v1) +/* BD3CAC 8024043C 44820000 */ mtc1 $v0, $f0 +/* BD3CB0 80240440 00000000 */ nop +/* BD3CB4 80240444 46800020 */ cvt.s.w $f0, $f0 +/* BD3CB8 80240448 E6000034 */ swc1 $f0, 0x34($s0) +/* BD3CBC 8024044C 846200B2 */ lh $v0, 0xb2($v1) +/* BD3CC0 80240450 44820000 */ mtc1 $v0, $f0 +/* BD3CC4 80240454 00000000 */ nop +/* BD3CC8 80240458 46800020 */ cvt.s.w $f0, $f0 +/* BD3CCC 8024045C E6000038 */ swc1 $f0, 0x38($s0) +/* BD3CD0 80240460 C4600028 */ lwc1 $f0, 0x28($v1) +/* BD3CD4 80240464 E6000010 */ swc1 $f0, 0x10($s0) +/* BD3CD8 80240468 C460002C */ lwc1 $f0, 0x2c($v1) +/* BD3CDC 8024046C E6000014 */ swc1 $f0, 0x14($s0) +/* BD3CE0 80240470 C4620030 */ lwc1 $f2, 0x30($v1) +/* BD3CE4 80240474 3C013F36 */ lui $at, 0x3f36 +/* BD3CE8 80240478 3421DB6E */ ori $at, $at, 0xdb6e +/* BD3CEC 8024047C 44810000 */ mtc1 $at, $f0 +/* BD3CF0 80240480 24040001 */ addiu $a0, $zero, 1 +/* BD3CF4 80240484 AE00001C */ sw $zero, 0x1c($s0) +/* BD3CF8 80240488 AE000020 */ sw $zero, 0x20($s0) +/* BD3CFC 8024048C AE000024 */ sw $zero, 0x24($s0) +/* BD3D00 80240490 E6000028 */ swc1 $f0, 0x28($s0) +/* BD3D04 80240494 E600002C */ swc1 $f0, 0x2c($s0) +/* BD3D08 80240498 E6000030 */ swc1 $f0, 0x30($s0) +/* BD3D0C 8024049C 0C04E9C1 */ jal func_8013A704 +/* BD3D10 802404A0 E6020018 */ swc1 $f2, 0x18($s0) +/* BD3D14 802404A4 0000202D */ daddu $a0, $zero, $zero +/* BD3D18 802404A8 3C058024 */ lui $a1, 0x8024 +/* BD3D1C 802404AC 24A50000 */ addiu $a1, $a1, 0 +/* BD3D20 802404B0 0C048C56 */ jal bind_dynamic_entity_3 +/* BD3D24 802404B4 AE020000 */ sw $v0, ($s0) +/* BD3D28 802404B8 0260202D */ daddu $a0, $s3, $zero +/* BD3D2C 802404BC 3C05FD05 */ lui $a1, 0xfd05 +/* BD3D30 802404C0 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3D34 802404C4 0200302D */ daddu $a2, $s0, $zero +/* BD3D38 802404C8 0C0B2026 */ jal set_variable +/* BD3D3C 802404CC AE020004 */ sw $v0, 4($s0) +/* BD3D40 802404D0 8FBF0020 */ lw $ra, 0x20($sp) +/* BD3D44 802404D4 8FB3001C */ lw $s3, 0x1c($sp) +/* BD3D48 802404D8 8FB20018 */ lw $s2, 0x18($sp) +/* BD3D4C 802404DC 8FB10014 */ lw $s1, 0x14($sp) +/* BD3D50 802404E0 8FB00010 */ lw $s0, 0x10($sp) +/* BD3D54 802404E4 24020002 */ addiu $v0, $zero, 2 +/* BD3D58 802404E8 03E00008 */ jr $ra +/* BD3D5C 802404EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802404F0.s b/asm/nonmatchings/world/area_obk/obk_08/func_802404F0.s new file mode 100644 index 0000000000..8390ebad3f --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802404F0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404F0 +/* BD3D60 802404F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD3D64 802404F4 AFB10014 */ sw $s1, 0x14($sp) +/* BD3D68 802404F8 0080882D */ daddu $s1, $a0, $zero +/* BD3D6C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* BD3D70 80240500 3C05FD05 */ lui $a1, 0xfd05 +/* BD3D74 80240504 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3D78 80240508 AFBF0018 */ sw $ra, 0x18($sp) +/* BD3D7C 8024050C 0C0B1EAF */ jal get_variable +/* BD3D80 80240510 AFB00010 */ sw $s0, 0x10($sp) +/* BD3D84 80240514 0040802D */ daddu $s0, $v0, $zero +/* BD3D88 80240518 0C04EA15 */ jal func_8013A854 +/* BD3D8C 8024051C 8E040000 */ lw $a0, ($s0) +/* BD3D90 80240520 0C048D70 */ jal func_801235C0 +/* BD3D94 80240524 8E040004 */ lw $a0, 4($s0) +/* BD3D98 80240528 0C00AB4B */ jal heap_free +/* BD3D9C 8024052C 0200202D */ daddu $a0, $s0, $zero +/* BD3DA0 80240530 0220202D */ daddu $a0, $s1, $zero +/* BD3DA4 80240534 3C05FD05 */ lui $a1, 0xfd05 +/* BD3DA8 80240538 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3DAC 8024053C 0C0B2026 */ jal set_variable +/* BD3DB0 80240540 0000302D */ daddu $a2, $zero, $zero +/* BD3DB4 80240544 8FBF0018 */ lw $ra, 0x18($sp) +/* BD3DB8 80240548 8FB10014 */ lw $s1, 0x14($sp) +/* BD3DBC 8024054C 8FB00010 */ lw $s0, 0x10($sp) +/* BD3DC0 80240550 24020002 */ addiu $v0, $zero, 2 +/* BD3DC4 80240554 03E00008 */ jr $ra +/* BD3DC8 80240558 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_8024055C_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_8024055C_BD3870.s new file mode 100644 index 0000000000..0f52d61953 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_8024055C_BD3870.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C_BD3DCC +/* BD3DCC 8024055C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD3DD0 80240560 AFB10014 */ sw $s1, 0x14($sp) +/* BD3DD4 80240564 0080882D */ daddu $s1, $a0, $zero +/* BD3DD8 80240568 AFBF001C */ sw $ra, 0x1c($sp) +/* BD3DDC 8024056C AFB20018 */ sw $s2, 0x18($sp) +/* BD3DE0 80240570 AFB00010 */ sw $s0, 0x10($sp) +/* BD3DE4 80240574 8E30000C */ lw $s0, 0xc($s1) +/* BD3DE8 80240578 8E050000 */ lw $a1, ($s0) +/* BD3DEC 8024057C 0C0B210B */ jal get_float_variable +/* BD3DF0 80240580 26100004 */ addiu $s0, $s0, 4 +/* BD3DF4 80240584 8E050000 */ lw $a1, ($s0) +/* BD3DF8 80240588 26100004 */ addiu $s0, $s0, 4 +/* BD3DFC 8024058C 4600008D */ trunc.w.s $f2, $f0 +/* BD3E00 80240590 44121000 */ mfc1 $s2, $f2 +/* BD3E04 80240594 0C0B210B */ jal get_float_variable +/* BD3E08 80240598 0220202D */ daddu $a0, $s1, $zero +/* BD3E0C 8024059C 0220202D */ daddu $a0, $s1, $zero +/* BD3E10 802405A0 8E050000 */ lw $a1, ($s0) +/* BD3E14 802405A4 4600008D */ trunc.w.s $f2, $f0 +/* BD3E18 802405A8 44111000 */ mfc1 $s1, $f2 +/* BD3E1C 802405AC 0C0B210B */ jal get_float_variable +/* BD3E20 802405B0 00000000 */ nop +/* BD3E24 802405B4 0000202D */ daddu $a0, $zero, $zero +/* BD3E28 802405B8 3C05FD05 */ lui $a1, 0xfd05 +/* BD3E2C 802405BC 4600008D */ trunc.w.s $f2, $f0 +/* BD3E30 802405C0 44101000 */ mfc1 $s0, $f2 +/* BD3E34 802405C4 0C0B1EAF */ jal get_variable +/* BD3E38 802405C8 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3E3C 802405CC 0040182D */ daddu $v1, $v0, $zero +/* BD3E40 802405D0 44920000 */ mtc1 $s2, $f0 +/* BD3E44 802405D4 00000000 */ nop +/* BD3E48 802405D8 46800020 */ cvt.s.w $f0, $f0 +/* BD3E4C 802405DC E4600010 */ swc1 $f0, 0x10($v1) +/* BD3E50 802405E0 44910000 */ mtc1 $s1, $f0 +/* BD3E54 802405E4 00000000 */ nop +/* BD3E58 802405E8 46800020 */ cvt.s.w $f0, $f0 +/* BD3E5C 802405EC E4600014 */ swc1 $f0, 0x14($v1) +/* BD3E60 802405F0 44900000 */ mtc1 $s0, $f0 +/* BD3E64 802405F4 00000000 */ nop +/* BD3E68 802405F8 46800020 */ cvt.s.w $f0, $f0 +/* BD3E6C 802405FC E4600018 */ swc1 $f0, 0x18($v1) +/* BD3E70 80240600 8FBF001C */ lw $ra, 0x1c($sp) +/* BD3E74 80240604 8FB20018 */ lw $s2, 0x18($sp) +/* BD3E78 80240608 8FB10014 */ lw $s1, 0x14($sp) +/* BD3E7C 8024060C 8FB00010 */ lw $s0, 0x10($sp) +/* BD3E80 80240610 24020002 */ addiu $v0, $zero, 2 +/* BD3E84 80240614 03E00008 */ jr $ra +/* BD3E88 80240618 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_8024061C_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_8024061C_BD3870.s new file mode 100644 index 0000000000..04b0067644 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_8024061C_BD3870.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_BD3E8C +/* BD3E8C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD3E90 80240620 AFB10014 */ sw $s1, 0x14($sp) +/* BD3E94 80240624 0080882D */ daddu $s1, $a0, $zero +/* BD3E98 80240628 AFBF001C */ sw $ra, 0x1c($sp) +/* BD3E9C 8024062C AFB20018 */ sw $s2, 0x18($sp) +/* BD3EA0 80240630 AFB00010 */ sw $s0, 0x10($sp) +/* BD3EA4 80240634 8E30000C */ lw $s0, 0xc($s1) +/* BD3EA8 80240638 8E050000 */ lw $a1, ($s0) +/* BD3EAC 8024063C 0C0B210B */ jal get_float_variable +/* BD3EB0 80240640 26100004 */ addiu $s0, $s0, 4 +/* BD3EB4 80240644 8E050000 */ lw $a1, ($s0) +/* BD3EB8 80240648 26100004 */ addiu $s0, $s0, 4 +/* BD3EBC 8024064C 4600008D */ trunc.w.s $f2, $f0 +/* BD3EC0 80240650 44121000 */ mfc1 $s2, $f2 +/* BD3EC4 80240654 0C0B210B */ jal get_float_variable +/* BD3EC8 80240658 0220202D */ daddu $a0, $s1, $zero +/* BD3ECC 8024065C 0220202D */ daddu $a0, $s1, $zero +/* BD3ED0 80240660 8E050000 */ lw $a1, ($s0) +/* BD3ED4 80240664 4600008D */ trunc.w.s $f2, $f0 +/* BD3ED8 80240668 44111000 */ mfc1 $s1, $f2 +/* BD3EDC 8024066C 0C0B210B */ jal get_float_variable +/* BD3EE0 80240670 00000000 */ nop +/* BD3EE4 80240674 0000202D */ daddu $a0, $zero, $zero +/* BD3EE8 80240678 3C05FD05 */ lui $a1, 0xfd05 +/* BD3EEC 8024067C 4600008D */ trunc.w.s $f2, $f0 +/* BD3EF0 80240680 44101000 */ mfc1 $s0, $f2 +/* BD3EF4 80240684 0C0B1EAF */ jal get_variable +/* BD3EF8 80240688 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3EFC 8024068C 0040182D */ daddu $v1, $v0, $zero +/* BD3F00 80240690 44920000 */ mtc1 $s2, $f0 +/* BD3F04 80240694 00000000 */ nop +/* BD3F08 80240698 46800020 */ cvt.s.w $f0, $f0 +/* BD3F0C 8024069C E460001C */ swc1 $f0, 0x1c($v1) +/* BD3F10 802406A0 44910000 */ mtc1 $s1, $f0 +/* BD3F14 802406A4 00000000 */ nop +/* BD3F18 802406A8 46800020 */ cvt.s.w $f0, $f0 +/* BD3F1C 802406AC E4600020 */ swc1 $f0, 0x20($v1) +/* BD3F20 802406B0 44900000 */ mtc1 $s0, $f0 +/* BD3F24 802406B4 00000000 */ nop +/* BD3F28 802406B8 46800020 */ cvt.s.w $f0, $f0 +/* BD3F2C 802406BC E4600024 */ swc1 $f0, 0x24($v1) +/* BD3F30 802406C0 8FBF001C */ lw $ra, 0x1c($sp) +/* BD3F34 802406C4 8FB20018 */ lw $s2, 0x18($sp) +/* BD3F38 802406C8 8FB10014 */ lw $s1, 0x14($sp) +/* BD3F3C 802406CC 8FB00010 */ lw $s0, 0x10($sp) +/* BD3F40 802406D0 24020002 */ addiu $v0, $zero, 2 +/* BD3F44 802406D4 03E00008 */ jr $ra +/* BD3F48 802406D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802406DC_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_802406DC_BD3870.s new file mode 100644 index 0000000000..cee953ab69 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802406DC_BD3870.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406DC_BD3F4C +/* BD3F4C 802406DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD3F50 802406E0 AFB10014 */ sw $s1, 0x14($sp) +/* BD3F54 802406E4 0080882D */ daddu $s1, $a0, $zero +/* BD3F58 802406E8 AFBF001C */ sw $ra, 0x1c($sp) +/* BD3F5C 802406EC AFB20018 */ sw $s2, 0x18($sp) +/* BD3F60 802406F0 AFB00010 */ sw $s0, 0x10($sp) +/* BD3F64 802406F4 8E30000C */ lw $s0, 0xc($s1) +/* BD3F68 802406F8 8E050000 */ lw $a1, ($s0) +/* BD3F6C 802406FC 0C0B210B */ jal get_float_variable +/* BD3F70 80240700 26100004 */ addiu $s0, $s0, 4 +/* BD3F74 80240704 8E050000 */ lw $a1, ($s0) +/* BD3F78 80240708 26100004 */ addiu $s0, $s0, 4 +/* BD3F7C 8024070C 4600008D */ trunc.w.s $f2, $f0 +/* BD3F80 80240710 44121000 */ mfc1 $s2, $f2 +/* BD3F84 80240714 0C0B210B */ jal get_float_variable +/* BD3F88 80240718 0220202D */ daddu $a0, $s1, $zero +/* BD3F8C 8024071C 0220202D */ daddu $a0, $s1, $zero +/* BD3F90 80240720 8E050000 */ lw $a1, ($s0) +/* BD3F94 80240724 4600008D */ trunc.w.s $f2, $f0 +/* BD3F98 80240728 44111000 */ mfc1 $s1, $f2 +/* BD3F9C 8024072C 0C0B210B */ jal get_float_variable +/* BD3FA0 80240730 00000000 */ nop +/* BD3FA4 80240734 0000202D */ daddu $a0, $zero, $zero +/* BD3FA8 80240738 3C05FD05 */ lui $a1, 0xfd05 +/* BD3FAC 8024073C 4600008D */ trunc.w.s $f2, $f0 +/* BD3FB0 80240740 44101000 */ mfc1 $s0, $f2 +/* BD3FB4 80240744 0C0B1EAF */ jal get_variable +/* BD3FB8 80240748 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD3FBC 8024074C 0040182D */ daddu $v1, $v0, $zero +/* BD3FC0 80240750 44920000 */ mtc1 $s2, $f0 +/* BD3FC4 80240754 00000000 */ nop +/* BD3FC8 80240758 46800020 */ cvt.s.w $f0, $f0 +/* BD3FCC 8024075C E4600028 */ swc1 $f0, 0x28($v1) +/* BD3FD0 80240760 44910000 */ mtc1 $s1, $f0 +/* BD3FD4 80240764 00000000 */ nop +/* BD3FD8 80240768 46800020 */ cvt.s.w $f0, $f0 +/* BD3FDC 8024076C E460002C */ swc1 $f0, 0x2c($v1) +/* BD3FE0 80240770 44900000 */ mtc1 $s0, $f0 +/* BD3FE4 80240774 00000000 */ nop +/* BD3FE8 80240778 46800020 */ cvt.s.w $f0, $f0 +/* BD3FEC 8024077C E4600030 */ swc1 $f0, 0x30($v1) +/* BD3FF0 80240780 8FBF001C */ lw $ra, 0x1c($sp) +/* BD3FF4 80240784 8FB20018 */ lw $s2, 0x18($sp) +/* BD3FF8 80240788 8FB10014 */ lw $s1, 0x14($sp) +/* BD3FFC 8024078C 8FB00010 */ lw $s0, 0x10($sp) +/* BD4000 80240790 24020002 */ addiu $v0, $zero, 2 +/* BD4004 80240794 03E00008 */ jr $ra +/* BD4008 80240798 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_8024079C.s b/asm/nonmatchings/world/area_obk/obk_08/func_8024079C.s new file mode 100644 index 0000000000..1f41f1d8ef --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_8024079C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024079C +/* BD400C 8024079C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4010 802407A0 AFB10014 */ sw $s1, 0x14($sp) +/* BD4014 802407A4 0080882D */ daddu $s1, $a0, $zero +/* BD4018 802407A8 AFBF0018 */ sw $ra, 0x18($sp) +/* BD401C 802407AC AFB00010 */ sw $s0, 0x10($sp) +/* BD4020 802407B0 8E30000C */ lw $s0, 0xc($s1) +/* BD4024 802407B4 8E050000 */ lw $a1, ($s0) +/* BD4028 802407B8 0C0B1EAF */ jal get_variable +/* BD402C 802407BC 26100004 */ addiu $s0, $s0, 4 +/* BD4030 802407C0 0220202D */ daddu $a0, $s1, $zero +/* BD4034 802407C4 8E050000 */ lw $a1, ($s0) +/* BD4038 802407C8 0C0B1EAF */ jal get_variable +/* BD403C 802407CC 0040882D */ daddu $s1, $v0, $zero +/* BD4040 802407D0 0000202D */ daddu $a0, $zero, $zero +/* BD4044 802407D4 3C05FD05 */ lui $a1, 0xfd05 +/* BD4048 802407D8 34A50F8A */ ori $a1, $a1, 0xf8a +/* BD404C 802407DC 0C0B1EAF */ jal get_variable +/* BD4050 802407E0 0040802D */ daddu $s0, $v0, $zero +/* BD4054 802407E4 0040182D */ daddu $v1, $v0, $zero +/* BD4058 802407E8 AC710008 */ sw $s1, 8($v1) +/* BD405C 802407EC AC70000C */ sw $s0, 0xc($v1) +/* BD4060 802407F0 8FBF0018 */ lw $ra, 0x18($sp) +/* BD4064 802407F4 8FB10014 */ lw $s1, 0x14($sp) +/* BD4068 802407F8 8FB00010 */ lw $s0, 0x10($sp) +/* BD406C 802407FC 24020002 */ addiu $v0, $zero, 2 +/* BD4070 80240800 03E00008 */ jr $ra +/* BD4074 80240804 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240808.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240808.s new file mode 100644 index 0000000000..36a0d29d26 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240808.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240808 +/* BD4078 80240808 3C048011 */ lui $a0, %hi(gPlayerData) +/* BD407C 8024080C 2484F290 */ addiu $a0, $a0, %lo(gPlayerData) +/* BD4080 80240810 80820002 */ lb $v0, 2($a0) +/* BD4084 80240814 90830002 */ lbu $v1, 2($a0) +/* BD4088 80240818 28420002 */ slti $v0, $v0, 2 +/* BD408C 8024081C 14400004 */ bnez $v0, .L80240830 +/* BD4090 80240820 2462FFFF */ addiu $v0, $v1, -1 +/* BD4094 80240824 A0820002 */ sb $v0, 2($a0) +/* BD4098 80240828 03E00008 */ jr $ra +/* BD409C 8024082C 24020002 */ addiu $v0, $zero, 2 +.L80240830: +/* BD40A0 80240830 03E00008 */ jr $ra +/* BD40A4 80240834 24020002 */ addiu $v0, $zero, 2 +/* BD40A8 80240838 00000000 */ nop +/* BD40AC 8024083C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240840_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240840_BD3870.s new file mode 100644 index 0000000000..a0bc6fd368 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240840_BD3870.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240840_BD40B0 +/* BD40B0 80240840 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD40B4 80240844 AFBF0010 */ sw $ra, 0x10($sp) +/* BD40B8 80240848 8C82000C */ lw $v0, 0xc($a0) +/* BD40BC 8024084C 0C0B1EAF */ jal get_variable +/* BD40C0 80240850 8C450000 */ lw $a1, ($v0) +/* BD40C4 80240854 24040064 */ addiu $a0, $zero, 0x64 +/* BD40C8 80240858 0C00A3C2 */ jal start_rumble +/* BD40CC 8024085C 3045FFFF */ andi $a1, $v0, 0xffff +/* BD40D0 80240860 8FBF0010 */ lw $ra, 0x10($sp) +/* BD40D4 80240864 24020002 */ addiu $v0, $zero, 2 +/* BD40D8 80240868 03E00008 */ jr $ra +/* BD40DC 8024086C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240870.s new file mode 100644 index 0000000000..5f48b7ab1d --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240870.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870 +/* BD40E0 80240870 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD40E4 80240874 AFBF0010 */ sw $ra, 0x10($sp) +/* BD40E8 80240878 8C840084 */ lw $a0, 0x84($a0) +/* BD40EC 8024087C 0C04D052 */ jal set_item_entity_flags +/* BD40F0 80240880 3C050008 */ lui $a1, 8 +/* BD40F4 80240884 8FBF0010 */ lw $ra, 0x10($sp) +/* BD40F8 80240888 24020002 */ addiu $v0, $zero, 2 +/* BD40FC 8024088C 03E00008 */ jr $ra +/* BD4100 80240890 27BD0018 */ addiu $sp, $sp, 0x18 +/* BD4104 80240894 00000000 */ nop +/* BD4108 80240898 00000000 */ nop +/* BD410C 8024089C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802408A0_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_802408A0_BD3870.s new file mode 100644 index 0000000000..ca7a2abd1e --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802408A0_BD3870.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_BD4110 +/* BD4110 802408A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4114 802408A4 AFB10014 */ sw $s1, 0x14($sp) +/* BD4118 802408A8 0080882D */ daddu $s1, $a0, $zero +/* BD411C 802408AC AFBF0018 */ sw $ra, 0x18($sp) +/* BD4120 802408B0 AFB00010 */ sw $s0, 0x10($sp) +/* BD4124 802408B4 0C00EABB */ jal get_npc_unsafe +/* BD4128 802408B8 8E24014C */ lw $a0, 0x14c($s1) +/* BD412C 802408BC 24040004 */ addiu $a0, $zero, 4 +/* BD4130 802408C0 0C00AB39 */ jal heap_malloc +/* BD4134 802408C4 0040802D */ daddu $s0, $v0, $zero +/* BD4138 802408C8 3C0142FA */ lui $at, 0x42fa +/* BD413C 802408CC 44810000 */ mtc1 $at, $f0 +/* BD4140 802408D0 3C01C45A */ lui $at, 0xc45a +/* BD4144 802408D4 3421C000 */ ori $at, $at, 0xc000 +/* BD4148 802408D8 44811000 */ mtc1 $at, $f2 +/* BD414C 802408DC 0040182D */ daddu $v1, $v0, $zero +/* BD4150 802408E0 AE030020 */ sw $v1, 0x20($s0) +/* BD4154 802408E4 AC600000 */ sw $zero, ($v1) +/* BD4158 802408E8 2403003C */ addiu $v1, $zero, 0x3c +/* BD415C 802408EC AE00000C */ sw $zero, 0xc($s0) +/* BD4160 802408F0 AE000038 */ sw $zero, 0x38($s0) +/* BD4164 802408F4 AE000040 */ sw $zero, 0x40($s0) +/* BD4168 802408F8 A603008E */ sh $v1, 0x8e($s0) +/* BD416C 802408FC E6000010 */ swc1 $f0, 0x10($s0) +/* BD4170 80240900 E602003C */ swc1 $f2, 0x3c($s0) +/* BD4174 80240904 AE200074 */ sw $zero, 0x74($s1) +/* BD4178 80240908 8FBF0018 */ lw $ra, 0x18($sp) +/* BD417C 8024090C 8FB10014 */ lw $s1, 0x14($sp) +/* BD4180 80240910 8FB00010 */ lw $s0, 0x10($sp) +/* BD4184 80240914 24020002 */ addiu $v0, $zero, 2 +/* BD4188 80240918 03E00008 */ jr $ra +/* BD418C 8024091C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240920_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240920_BD3870.s new file mode 100644 index 0000000000..96e5a071f9 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240920_BD3870.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240920_BD4190 +/* BD4190 80240920 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BD4194 80240924 AFB00020 */ sw $s0, 0x20($sp) +/* BD4198 80240928 0080802D */ daddu $s0, $a0, $zero +/* BD419C 8024092C AFBF0024 */ sw $ra, 0x24($sp) +/* BD41A0 80240930 C602000C */ lwc1 $f2, 0xc($s0) +/* BD41A4 80240934 3C0143AA */ lui $at, 0x43aa +/* BD41A8 80240938 44810000 */ mtc1 $at, $f0 +/* BD41AC 8024093C 00000000 */ nop +/* BD41B0 80240940 4602003C */ c.lt.s $f0, $f2 +/* BD41B4 80240944 00000000 */ nop +/* BD41B8 80240948 45010008 */ bc1t .L8024096C +/* BD41BC 8024094C 0200202D */ daddu $a0, $s0, $zero +/* BD41C0 80240950 3C0141A0 */ lui $at, 0x41a0 +/* BD41C4 80240954 44810000 */ mtc1 $at, $f0 +/* BD41C8 80240958 00000000 */ nop +/* BD41CC 8024095C 4600103C */ c.lt.s $f2, $f0 +/* BD41D0 80240960 00000000 */ nop +/* BD41D4 80240964 4500000E */ bc1f .L802409A0 +/* BD41D8 80240968 24020016 */ addiu $v0, $zero, 0x16 +.L8024096C: +/* BD41DC 8024096C 0000282D */ daddu $a1, $zero, $zero +/* BD41E0 80240970 00A0302D */ daddu $a2, $a1, $zero +/* BD41E4 80240974 2402000D */ addiu $v0, $zero, 0xd +/* BD41E8 80240978 A08200AA */ sb $v0, 0xaa($a0) +/* BD41EC 8024097C A48000A2 */ sh $zero, 0xa2($a0) +/* BD41F0 80240980 AFA00010 */ sw $zero, 0x10($sp) +/* BD41F4 80240984 AFA00014 */ sw $zero, 0x14($sp) +/* BD41F8 80240988 948200A2 */ lhu $v0, 0xa2($a0) +/* BD41FC 8024098C 00A0382D */ daddu $a3, $a1, $zero +/* BD4200 80240990 0C00F589 */ jal func_8003D624 +/* BD4204 80240994 AFA20018 */ sw $v0, 0x18($sp) +/* BD4208 80240998 08090276 */ j .L802409D8 +/* BD420C 8024099C 00000000 */ nop +.L802409A0: +/* BD4210 802409A0 A20200AA */ sb $v0, 0xaa($s0) +/* BD4214 802409A4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* BD4218 802409A8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* BD421C 802409AC 0200202D */ daddu $a0, $s0, $zero +/* BD4220 802409B0 9046000E */ lbu $a2, 0xe($v0) +/* BD4224 802409B4 24050007 */ addiu $a1, $zero, 7 +/* BD4228 802409B8 AFA00010 */ sw $zero, 0x10($sp) +/* BD422C 802409BC AFA00014 */ sw $zero, 0x14($sp) +/* BD4230 802409C0 960200A2 */ lhu $v0, 0xa2($s0) +/* BD4234 802409C4 0000382D */ daddu $a3, $zero, $zero +/* BD4238 802409C8 0C00F589 */ jal func_8003D624 +/* BD423C 802409CC AFA20018 */ sw $v0, 0x18($sp) +/* BD4240 802409D0 240200FF */ addiu $v0, $zero, 0xff +/* BD4244 802409D4 A602009A */ sh $v0, 0x9a($s0) +.L802409D8: +/* BD4248 802409D8 8FBF0024 */ lw $ra, 0x24($sp) +/* BD424C 802409DC 8FB00020 */ lw $s0, 0x20($sp) +/* BD4250 802409E0 03E00008 */ jr $ra +/* BD4254 802409E4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802409E8.s b/asm/nonmatchings/world/area_obk/obk_08/func_802409E8.s new file mode 100644 index 0000000000..cbe1b1a477 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802409E8.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E8 +/* BD4258 802409E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD425C 802409EC AFBF0010 */ sw $ra, 0x10($sp) +/* BD4260 802409F0 0C00EABB */ jal get_npc_unsafe +/* BD4264 802409F4 24040001 */ addiu $a0, $zero, 1 +/* BD4268 802409F8 0C090248 */ jal func_80240920 +/* BD426C 802409FC 0040202D */ daddu $a0, $v0, $zero +/* BD4270 80240A00 0C00EABB */ jal get_npc_unsafe +/* BD4274 80240A04 24040002 */ addiu $a0, $zero, 2 +/* BD4278 80240A08 0C090248 */ jal func_80240920 +/* BD427C 80240A0C 0040202D */ daddu $a0, $v0, $zero +/* BD4280 80240A10 0C00EABB */ jal get_npc_unsafe +/* BD4284 80240A14 24040003 */ addiu $a0, $zero, 3 +/* BD4288 80240A18 0C090248 */ jal func_80240920 +/* BD428C 80240A1C 0040202D */ daddu $a0, $v0, $zero +/* BD4290 80240A20 0C00EABB */ jal get_npc_unsafe +/* BD4294 80240A24 24040004 */ addiu $a0, $zero, 4 +/* BD4298 80240A28 0C090248 */ jal func_80240920 +/* BD429C 80240A2C 0040202D */ daddu $a0, $v0, $zero +/* BD42A0 80240A30 0C00EABB */ jal get_npc_unsafe +/* BD42A4 80240A34 24040005 */ addiu $a0, $zero, 5 +/* BD42A8 80240A38 0C090248 */ jal func_80240920 +/* BD42AC 80240A3C 0040202D */ daddu $a0, $v0, $zero +/* BD42B0 80240A40 0C00EABB */ jal get_npc_unsafe +/* BD42B4 80240A44 24040006 */ addiu $a0, $zero, 6 +/* BD42B8 80240A48 0C090248 */ jal func_80240920 +/* BD42BC 80240A4C 0040202D */ daddu $a0, $v0, $zero +/* BD42C0 80240A50 0C00EABB */ jal get_npc_unsafe +/* BD42C4 80240A54 24040007 */ addiu $a0, $zero, 7 +/* BD42C8 80240A58 0C090248 */ jal func_80240920 +/* BD42CC 80240A5C 0040202D */ daddu $a0, $v0, $zero +/* BD42D0 80240A60 0C00EABB */ jal get_npc_unsafe +/* BD42D4 80240A64 24040008 */ addiu $a0, $zero, 8 +/* BD42D8 80240A68 0C090248 */ jal func_80240920 +/* BD42DC 80240A6C 0040202D */ daddu $a0, $v0, $zero +/* BD42E0 80240A70 8FBF0010 */ lw $ra, 0x10($sp) +/* BD42E4 80240A74 03E00008 */ jr $ra +/* BD42E8 80240A78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240A7C_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240A7C_BD3870.s new file mode 100644 index 0000000000..c8ac712707 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240A7C_BD3870.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A7C_BD42EC +/* BD42EC 80240A7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD42F0 80240A80 AFBF0010 */ sw $ra, 0x10($sp) +/* BD42F4 80240A84 0C00EABB */ jal get_npc_unsafe +/* BD42F8 80240A88 24040001 */ addiu $a0, $zero, 1 +/* BD42FC 80240A8C 24040002 */ addiu $a0, $zero, 2 +/* BD4300 80240A90 0C00EABB */ jal get_npc_unsafe +/* BD4304 80240A94 A44000A2 */ sh $zero, 0xa2($v0) +/* BD4308 80240A98 24040003 */ addiu $a0, $zero, 3 +/* BD430C 80240A9C 0C00EABB */ jal get_npc_unsafe +/* BD4310 80240AA0 A44000A2 */ sh $zero, 0xa2($v0) +/* BD4314 80240AA4 24040004 */ addiu $a0, $zero, 4 +/* BD4318 80240AA8 0C00EABB */ jal get_npc_unsafe +/* BD431C 80240AAC A44000A2 */ sh $zero, 0xa2($v0) +/* BD4320 80240AB0 24040005 */ addiu $a0, $zero, 5 +/* BD4324 80240AB4 0C00EABB */ jal get_npc_unsafe +/* BD4328 80240AB8 A44000A2 */ sh $zero, 0xa2($v0) +/* BD432C 80240ABC 24040006 */ addiu $a0, $zero, 6 +/* BD4330 80240AC0 0C00EABB */ jal get_npc_unsafe +/* BD4334 80240AC4 A44000A2 */ sh $zero, 0xa2($v0) +/* BD4338 80240AC8 24040007 */ addiu $a0, $zero, 7 +/* BD433C 80240ACC 0C00EABB */ jal get_npc_unsafe +/* BD4340 80240AD0 A44000A2 */ sh $zero, 0xa2($v0) +/* BD4344 80240AD4 24040008 */ addiu $a0, $zero, 8 +/* BD4348 80240AD8 0C00EABB */ jal get_npc_unsafe +/* BD434C 80240ADC A44000A2 */ sh $zero, 0xa2($v0) +/* BD4350 80240AE0 A44000A2 */ sh $zero, 0xa2($v0) +/* BD4354 80240AE4 8FBF0010 */ lw $ra, 0x10($sp) +/* BD4358 80240AE8 03E00008 */ jr $ra +/* BD435C 80240AEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240AF0_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240AF0_BD3870.s new file mode 100644 index 0000000000..fbeab54130 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240AF0_BD3870.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF0_BD4360 +/* BD4360 80240AF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4364 80240AF4 AFB10014 */ sw $s1, 0x14($sp) +/* BD4368 80240AF8 0080882D */ daddu $s1, $a0, $zero +/* BD436C 80240AFC AFBF001C */ sw $ra, 0x1c($sp) +/* BD4370 80240B00 AFB20018 */ sw $s2, 0x18($sp) +/* BD4374 80240B04 AFB00010 */ sw $s0, 0x10($sp) +/* BD4378 80240B08 0C00EABB */ jal get_npc_unsafe +/* BD437C 80240B0C 8E24014C */ lw $a0, 0x14c($s1) +/* BD4380 80240B10 0040802D */ daddu $s0, $v0, $zero +/* BD4384 80240B14 8E230074 */ lw $v1, 0x74($s1) +/* BD4388 80240B18 8E120020 */ lw $s2, 0x20($s0) +/* BD438C 80240B1C 2C62000E */ sltiu $v0, $v1, 0xe +/* BD4390 80240B20 10400058 */ beqz $v0, .L80240C84 +/* BD4394 80240B24 00031080 */ sll $v0, $v1, 2 +/* BD4398 80240B28 3C018024 */ lui $at, 0x8024 +/* BD439C 80240B2C 00220821 */ addu $at, $at, $v0 +/* BD43A0 80240B30 8C226EC8 */ lw $v0, 0x6ec8($at) +/* BD43A4 80240B34 00400008 */ jr $v0 +/* BD43A8 80240B38 00000000 */ nop +/* BD43AC 80240B3C 0220202D */ daddu $a0, $s1, $zero +/* BD43B0 80240B40 3C05F971 */ lui $a1, 0xf971 +/* BD43B4 80240B44 0C0B1EAF */ jal get_variable +/* BD43B8 80240B48 34A58888 */ ori $a1, $a1, 0x8888 +/* BD43BC 80240B4C 0040182D */ daddu $v1, $v0, $zero +/* BD43C0 80240B50 24020001 */ addiu $v0, $zero, 1 +/* BD43C4 80240B54 1462004B */ bne $v1, $v0, .L80240C84 +/* BD43C8 80240B58 2402000A */ addiu $v0, $zero, 0xa +/* BD43CC 80240B5C 08090320 */ j .L80240C80 +/* BD43D0 80240B60 AE430000 */ sw $v1, ($s2) +/* BD43D4 80240B64 C600000C */ lwc1 $f0, 0xc($s0) +/* BD43D8 80240B68 3C014000 */ lui $at, 0x4000 +/* BD43DC 80240B6C 44816000 */ mtc1 $at, $f12 +/* BD43E0 80240B70 0C00A6C9 */ jal clamp_angle +/* BD43E4 80240B74 460C0300 */ add.s $f12, $f0, $f12 +/* BD43E8 80240B78 9602008E */ lhu $v0, 0x8e($s0) +/* BD43EC 80240B7C E600000C */ swc1 $f0, 0xc($s0) +/* BD43F0 80240B80 2442FFFF */ addiu $v0, $v0, -1 +/* BD43F4 80240B84 A602008E */ sh $v0, 0x8e($s0) +/* BD43F8 80240B88 00021400 */ sll $v0, $v0, 0x10 +/* BD43FC 80240B8C 1440003D */ bnez $v0, .L80240C84 +/* BD4400 80240B90 2402000B */ addiu $v0, $zero, 0xb +/* BD4404 80240B94 08090321 */ j .L80240C84 +/* BD4408 80240B98 AE220074 */ sw $v0, 0x74($s1) +/* BD440C 80240B9C C602003C */ lwc1 $f2, 0x3c($s0) +/* BD4410 80240BA0 3C01C466 */ lui $at, 0xc466 +/* BD4414 80240BA4 44810000 */ mtc1 $at, $f0 +/* BD4418 80240BA8 00000000 */ nop +/* BD441C 80240BAC 4600103E */ c.le.s $f2, $f0 +/* BD4420 80240BB0 00000000 */ nop +/* BD4424 80240BB4 45000003 */ bc1f .L80240BC4 +/* BD4428 80240BB8 00000000 */ nop +/* BD442C 80240BBC 0C09027A */ jal func_802409E8 +/* BD4430 80240BC0 00000000 */ nop +.L80240BC4: +/* BD4434 80240BC4 C600000C */ lwc1 $f0, 0xc($s0) +/* BD4438 80240BC8 3C014000 */ lui $at, 0x4000 +/* BD443C 80240BCC 44816000 */ mtc1 $at, $f12 +/* BD4440 80240BD0 0C00A6C9 */ jal clamp_angle +/* BD4444 80240BD4 460C0300 */ add.s $f12, $f0, $f12 +/* BD4448 80240BD8 C604003C */ lwc1 $f4, 0x3c($s0) +/* BD444C 80240BDC 3C013F00 */ lui $at, 0x3f00 +/* BD4450 80240BE0 44811000 */ mtc1 $at, $f2 +/* BD4454 80240BE4 00000000 */ nop +/* BD4458 80240BE8 46022101 */ sub.s $f4, $f4, $f2 +/* BD445C 80240BEC 3C01C477 */ lui $at, 0xc477 +/* BD4460 80240BF0 44811000 */ mtc1 $at, $f2 +/* BD4464 80240BF4 E600000C */ swc1 $f0, 0xc($s0) +/* BD4468 80240BF8 4602203E */ c.le.s $f4, $f2 +/* BD446C 80240BFC 00000000 */ nop +/* BD4470 80240C00 45000020 */ bc1f .L80240C84 +/* BD4474 80240C04 E604003C */ swc1 $f4, 0x3c($s0) +/* BD4478 80240C08 0220202D */ daddu $a0, $s1, $zero +/* BD447C 80240C0C 3C05FD05 */ lui $a1, 0xfd05 +/* BD4480 80240C10 34A50F81 */ ori $a1, $a1, 0xf81 +/* BD4484 80240C14 0C0B2026 */ jal set_variable +/* BD4488 80240C18 24060001 */ addiu $a2, $zero, 1 +/* BD448C 80240C1C 0C09029F */ jal func_80240A7C +/* BD4490 80240C20 00000000 */ nop +/* BD4494 80240C24 08090320 */ j .L80240C80 +/* BD4498 80240C28 2402000C */ addiu $v0, $zero, 0xc +/* BD449C 80240C2C 0220202D */ daddu $a0, $s1, $zero +/* BD44A0 80240C30 3C05FD05 */ lui $a1, 0xfd05 +/* BD44A4 80240C34 0C0B1EAF */ jal get_variable +/* BD44A8 80240C38 34A50F82 */ ori $a1, $a1, 0xf82 +/* BD44AC 80240C3C 24030001 */ addiu $v1, $zero, 1 +/* BD44B0 80240C40 14430002 */ bne $v0, $v1, .L80240C4C +/* BD44B4 80240C44 2402000D */ addiu $v0, $zero, 0xd +/* BD44B8 80240C48 AE220074 */ sw $v0, 0x74($s1) +.L80240C4C: +/* BD44BC 80240C4C C600000C */ lwc1 $f0, 0xc($s0) +/* BD44C0 80240C50 3C014000 */ lui $at, 0x4000 +/* BD44C4 80240C54 44816000 */ mtc1 $at, $f12 +/* BD44C8 80240C58 0C00A6C9 */ jal clamp_angle +/* BD44CC 80240C5C 460C0300 */ add.s $f12, $f0, $f12 +/* BD44D0 80240C60 08090321 */ j .L80240C84 +/* BD44D4 80240C64 E600000C */ swc1 $f0, 0xc($s0) +/* BD44D8 80240C68 0220202D */ daddu $a0, $s1, $zero +/* BD44DC 80240C6C 3C05FD05 */ lui $a1, 0xfd05 +/* BD44E0 80240C70 0C0B1EAF */ jal get_variable +/* BD44E4 80240C74 34A50F82 */ ori $a1, $a1, 0xf82 +/* BD44E8 80240C78 14400002 */ bnez $v0, .L80240C84 +/* BD44EC 80240C7C 2402000C */ addiu $v0, $zero, 0xc +.L80240C80: +/* BD44F0 80240C80 AE220074 */ sw $v0, 0x74($s1) +.L80240C84: +/* BD44F4 80240C84 8FBF001C */ lw $ra, 0x1c($sp) +/* BD44F8 80240C88 8FB20018 */ lw $s2, 0x18($sp) +/* BD44FC 80240C8C 8FB10014 */ lw $s1, 0x14($sp) +/* BD4500 80240C90 8FB00010 */ lw $s0, 0x10($sp) +/* BD4504 80240C94 24020002 */ addiu $v0, $zero, 2 +/* BD4508 80240C98 03E00008 */ jr $ra +/* BD450C 80240C9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240CA0_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240CA0_BD3870.s new file mode 100644 index 0000000000..e1d25b3672 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240CA0_BD3870.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA0_BD4510 +/* BD4510 80240CA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4514 80240CA4 AFB10014 */ sw $s1, 0x14($sp) +/* BD4518 80240CA8 0080882D */ daddu $s1, $a0, $zero +/* BD451C 80240CAC AFBF0018 */ sw $ra, 0x18($sp) +/* BD4520 80240CB0 AFB00010 */ sw $s0, 0x10($sp) +/* BD4524 80240CB4 0C00EABB */ jal get_npc_unsafe +/* BD4528 80240CB8 8E24014C */ lw $a0, 0x14c($s1) +/* BD452C 80240CBC 0000202D */ daddu $a0, $zero, $zero +/* BD4530 80240CC0 0C00EABB */ jal get_npc_unsafe +/* BD4534 80240CC4 0040802D */ daddu $s0, $v0, $zero +/* BD4538 80240CC8 AE020020 */ sw $v0, 0x20($s0) +/* BD453C 80240CCC 8E23014C */ lw $v1, 0x14c($s1) +/* BD4540 80240CD0 00032040 */ sll $a0, $v1, 1 +/* BD4544 80240CD4 00832021 */ addu $a0, $a0, $v1 +/* BD4548 80240CD8 00041900 */ sll $v1, $a0, 4 +/* BD454C 80240CDC 00641823 */ subu $v1, $v1, $a0 +/* BD4550 80240CE0 AE230078 */ sw $v1, 0x78($s1) +/* BD4554 80240CE4 8E030000 */ lw $v1, ($s0) +/* BD4558 80240CE8 3C040004 */ lui $a0, 4 +/* BD455C 80240CEC 00641825 */ or $v1, $v1, $a0 +/* BD4560 80240CF0 AE030000 */ sw $v1, ($s0) +/* BD4564 80240CF4 AE200074 */ sw $zero, 0x74($s1) +/* BD4568 80240CF8 8FBF0018 */ lw $ra, 0x18($sp) +/* BD456C 80240CFC 8FB10014 */ lw $s1, 0x14($sp) +/* BD4570 80240D00 8FB00010 */ lw $s0, 0x10($sp) +/* BD4574 80240D04 24020002 */ addiu $v0, $zero, 2 +/* BD4578 80240D08 03E00008 */ jr $ra +/* BD457C 80240D0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240D10_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240D10_BD3870.s new file mode 100644 index 0000000000..71b4087edd --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240D10_BD3870.s @@ -0,0 +1,185 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D10_BD4580 +/* BD4580 80240D10 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* BD4584 80240D14 AFB20020 */ sw $s2, 0x20($sp) +/* BD4588 80240D18 0080902D */ daddu $s2, $a0, $zero +/* BD458C 80240D1C AFBF0028 */ sw $ra, 0x28($sp) +/* BD4590 80240D20 AFB30024 */ sw $s3, 0x24($sp) +/* BD4594 80240D24 AFB1001C */ sw $s1, 0x1c($sp) +/* BD4598 80240D28 AFB00018 */ sw $s0, 0x18($sp) +/* BD459C 80240D2C F7B40030 */ sdc1 $f20, 0x30($sp) +/* BD45A0 80240D30 0C00EABB */ jal get_npc_unsafe +/* BD45A4 80240D34 8E44014C */ lw $a0, 0x14c($s2) +/* BD45A8 80240D38 0040802D */ daddu $s0, $v0, $zero +/* BD45AC 80240D3C 8E430074 */ lw $v1, 0x74($s2) +/* BD45B0 80240D40 8E110020 */ lw $s1, 0x20($s0) +/* BD45B4 80240D44 2C62000E */ sltiu $v0, $v1, 0xe +/* BD45B8 80240D48 8E330020 */ lw $s3, 0x20($s1) +/* BD45BC 80240D4C 10400099 */ beqz $v0, .L80240FB4 +/* BD45C0 80240D50 00031080 */ sll $v0, $v1, 2 +/* BD45C4 80240D54 3C018024 */ lui $at, 0x8024 +/* BD45C8 80240D58 00220821 */ addu $at, $at, $v0 +/* BD45CC 80240D5C 8C226F00 */ lw $v0, 0x6f00($at) +/* BD45D0 80240D60 00400008 */ jr $v0 +/* BD45D4 80240D64 00000000 */ nop +/* BD45D8 80240D68 C620000C */ lwc1 $f0, 0xc($s1) +/* BD45DC 80240D6C C64C0078 */ lwc1 $f12, 0x78($s2) +/* BD45E0 80240D70 46806320 */ cvt.s.w $f12, $f12 +/* BD45E4 80240D74 0C00A6C9 */ jal clamp_angle +/* BD45E8 80240D78 46006300 */ add.s $f12, $f12, $f0 +/* BD45EC 80240D7C E600000C */ swc1 $f0, 0xc($s0) +/* BD45F0 80240D80 8E630000 */ lw $v1, ($s3) +/* BD45F4 80240D84 24020001 */ addiu $v0, $zero, 1 +/* BD45F8 80240D88 1462008A */ bne $v1, $v0, .L80240FB4 +/* BD45FC 80240D8C 24040014 */ addiu $a0, $zero, 0x14 +/* BD4600 80240D90 0C00A67F */ jal rand_int +/* BD4604 80240D94 AE430074 */ sw $v1, 0x74($s2) +/* BD4608 80240D98 2442000A */ addiu $v0, $v0, 0xa +/* BD460C 80240D9C 080903ED */ j .L80240FB4 +/* BD4610 80240DA0 A602008E */ sh $v0, 0x8e($s0) +/* BD4614 80240DA4 C620000C */ lwc1 $f0, 0xc($s1) +/* BD4618 80240DA8 C64C0078 */ lwc1 $f12, 0x78($s2) +/* BD461C 80240DAC 46806320 */ cvt.s.w $f12, $f12 +/* BD4620 80240DB0 0C00A6C9 */ jal clamp_angle +/* BD4624 80240DB4 46006300 */ add.s $f12, $f12, $f0 +/* BD4628 80240DB8 9602008E */ lhu $v0, 0x8e($s0) +/* BD462C 80240DBC E600000C */ swc1 $f0, 0xc($s0) +/* BD4630 80240DC0 2442FFFF */ addiu $v0, $v0, -1 +/* BD4634 80240DC4 A602008E */ sh $v0, 0x8e($s0) +/* BD4638 80240DC8 00021400 */ sll $v0, $v0, 0x10 +/* BD463C 80240DCC 14400079 */ bnez $v0, .L80240FB4 +/* BD4640 80240DD0 3C04B000 */ lui $a0, 0xb000 +/* BD4644 80240DD4 C6000040 */ lwc1 $f0, 0x40($s0) +/* BD4648 80240DD8 3484000F */ ori $a0, $a0, 0xf +/* BD464C 80240DDC E7A00010 */ swc1 $f0, 0x10($sp) +/* BD4650 80240DE0 8E060038 */ lw $a2, 0x38($s0) +/* BD4654 80240DE4 8E07003C */ lw $a3, 0x3c($s0) +/* BD4658 80240DE8 0C052757 */ jal play_sound_at_position +/* BD465C 80240DEC 0000282D */ daddu $a1, $zero, $zero +/* BD4660 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* BD4664 80240DF4 AE420074 */ sw $v0, 0x74($s2) +/* BD4668 80240DF8 C6000038 */ lwc1 $f0, 0x38($s0) +/* BD466C 80240DFC C602003C */ lwc1 $f2, 0x3c($s0) +/* BD4670 80240E00 C6040040 */ lwc1 $f4, 0x40($s0) +/* BD4674 80240E04 A600008E */ sh $zero, 0x8e($s0) +/* BD4678 80240E08 E6000060 */ swc1 $f0, 0x60($s0) +/* BD467C 80240E0C E6020064 */ swc1 $f2, 0x64($s0) +/* BD4680 80240E10 080903ED */ j .L80240FB4 +/* BD4684 80240E14 E6040068 */ swc1 $f4, 0x68($s0) +/* BD4688 80240E18 C620000C */ lwc1 $f0, 0xc($s1) +/* BD468C 80240E1C C64C0078 */ lwc1 $f12, 0x78($s2) +/* BD4690 80240E20 46806320 */ cvt.s.w $f12, $f12 +/* BD4694 80240E24 0C00A6C9 */ jal clamp_angle +/* BD4698 80240E28 46006300 */ add.s $f12, $f12, $f0 +/* BD469C 80240E2C 46000506 */ mov.s $f20, $f0 +/* BD46A0 80240E30 4406A000 */ mfc1 $a2, $f20 +/* BD46A4 80240E34 00000000 */ nop +/* BD46A8 80240E38 AE06000C */ sw $a2, 0xc($s0) +/* BD46AC 80240E3C C6200038 */ lwc1 $f0, 0x38($s1) +/* BD46B0 80240E40 E6000038 */ swc1 $f0, 0x38($s0) +/* BD46B4 80240E44 C6200040 */ lwc1 $f0, 0x40($s1) +/* BD46B8 80240E48 E6000040 */ swc1 $f0, 0x40($s0) +/* BD46BC 80240E4C 8E250010 */ lw $a1, 0x10($s1) +/* BD46C0 80240E50 0C00EA95 */ jal npc_move_heading +/* BD46C4 80240E54 0200202D */ daddu $a0, $s0, $zero +/* BD46C8 80240E58 8602008E */ lh $v0, 0x8e($s0) +/* BD46CC 80240E5C 3C014220 */ lui $at, 0x4220 +/* BD46D0 80240E60 44817000 */ mtc1 $at, $f14 +/* BD46D4 80240E64 44820000 */ mtc1 $v0, $f0 +/* BD46D8 80240E68 00000000 */ nop +/* BD46DC 80240E6C 46800020 */ cvt.s.w $f0, $f0 +/* BD46E0 80240E70 46007001 */ sub.s $f0, $f14, $f0 +/* BD46E4 80240E74 460E0003 */ div.s $f0, $f0, $f14 +/* BD46E8 80240E78 46000002 */ mul.s $f0, $f0, $f0 +/* BD46EC 80240E7C 00000000 */ nop +/* BD46F0 80240E80 C60C0038 */ lwc1 $f12, 0x38($s0) +/* BD46F4 80240E84 C6060060 */ lwc1 $f6, 0x60($s0) +/* BD46F8 80240E88 46066181 */ sub.s $f6, $f12, $f6 +/* BD46FC 80240E8C 46003182 */ mul.s $f6, $f6, $f0 +/* BD4700 80240E90 00000000 */ nop +/* BD4704 80240E94 C60A0040 */ lwc1 $f10, 0x40($s0) +/* BD4708 80240E98 C6080068 */ lwc1 $f8, 0x68($s0) +/* BD470C 80240E9C C624003C */ lwc1 $f4, 0x3c($s1) +/* BD4710 80240EA0 46085201 */ sub.s $f8, $f10, $f8 +/* BD4714 80240EA4 3C01447A */ lui $at, 0x447a +/* BD4718 80240EA8 44811000 */ mtc1 $at, $f2 +/* BD471C 80240EAC 00000000 */ nop +/* BD4720 80240EB0 46022100 */ add.s $f4, $f4, $f2 +/* BD4724 80240EB4 46004202 */ mul.s $f8, $f8, $f0 +/* BD4728 80240EB8 00000000 */ nop +/* BD472C 80240EBC E604003C */ swc1 $f4, 0x3c($s0) +/* BD4730 80240EC0 46002006 */ mov.s $f0, $f4 +/* BD4734 80240EC4 C6040064 */ lwc1 $f4, 0x64($s0) +/* BD4738 80240EC8 46040001 */ sub.s $f0, $f0, $f4 +/* BD473C 80240ECC 44821000 */ mtc1 $v0, $f2 +/* BD4740 80240ED0 00000000 */ nop +/* BD4744 80240ED4 468010A0 */ cvt.s.w $f2, $f2 +/* BD4748 80240ED8 46020002 */ mul.s $f0, $f0, $f2 +/* BD474C 80240EDC 00000000 */ nop +/* BD4750 80240EE0 9602008E */ lhu $v0, 0x8e($s0) +/* BD4754 80240EE4 24030028 */ addiu $v1, $zero, 0x28 +/* BD4758 80240EE8 24420001 */ addiu $v0, $v0, 1 +/* BD475C 80240EEC 46066301 */ sub.s $f12, $f12, $f6 +/* BD4760 80240EF0 A602008E */ sh $v0, 0x8e($s0) +/* BD4764 80240EF4 00021400 */ sll $v0, $v0, 0x10 +/* BD4768 80240EF8 46085281 */ sub.s $f10, $f10, $f8 +/* BD476C 80240EFC 00021403 */ sra $v0, $v0, 0x10 +/* BD4770 80240F00 460E0003 */ div.s $f0, $f0, $f14 +/* BD4774 80240F04 46040000 */ add.s $f0, $f0, $f4 +/* BD4778 80240F08 E60C0038 */ swc1 $f12, 0x38($s0) +/* BD477C 80240F0C E60A0040 */ swc1 $f10, 0x40($s0) +/* BD4780 80240F10 14430028 */ bne $v0, $v1, .L80240FB4 +/* BD4784 80240F14 E600003C */ swc1 $f0, 0x3c($s0) +/* BD4788 80240F18 080903EC */ j .L80240FB0 +/* BD478C 80240F1C 2402000A */ addiu $v0, $zero, 0xa +/* BD4790 80240F20 C620000C */ lwc1 $f0, 0xc($s1) +/* BD4794 80240F24 C64C0078 */ lwc1 $f12, 0x78($s2) +/* BD4798 80240F28 46806320 */ cvt.s.w $f12, $f12 +/* BD479C 80240F2C 0C00A6C9 */ jal clamp_angle +/* BD47A0 80240F30 46006300 */ add.s $f12, $f12, $f0 +/* BD47A4 80240F34 46000506 */ mov.s $f20, $f0 +/* BD47A8 80240F38 0240202D */ daddu $a0, $s2, $zero +/* BD47AC 80240F3C 3C05FD05 */ lui $a1, 0xfd05 +/* BD47B0 80240F40 34A50F82 */ ori $a1, $a1, 0xf82 +/* BD47B4 80240F44 0C0B1EAF */ jal get_variable +/* BD47B8 80240F48 E614000C */ swc1 $f20, 0xc($s0) +/* BD47BC 80240F4C 24030001 */ addiu $v1, $zero, 1 +/* BD47C0 80240F50 14430002 */ bne $v0, $v1, .L80240F5C +/* BD47C4 80240F54 2402000D */ addiu $v0, $zero, 0xd +/* BD47C8 80240F58 AE420074 */ sw $v0, 0x74($s2) +.L80240F5C: +/* BD47CC 80240F5C C6200038 */ lwc1 $f0, 0x38($s1) +/* BD47D0 80240F60 4406A000 */ mfc1 $a2, $f20 +/* BD47D4 80240F64 E6000038 */ swc1 $f0, 0x38($s0) +/* BD47D8 80240F68 C6200040 */ lwc1 $f0, 0x40($s1) +/* BD47DC 80240F6C E6000040 */ swc1 $f0, 0x40($s0) +/* BD47E0 80240F70 8E250010 */ lw $a1, 0x10($s1) +/* BD47E4 80240F74 0C00EA95 */ jal npc_move_heading +/* BD47E8 80240F78 0200202D */ daddu $a0, $s0, $zero +/* BD47EC 80240F7C C620003C */ lwc1 $f0, 0x3c($s1) +/* BD47F0 80240F80 3C01447A */ lui $at, 0x447a +/* BD47F4 80240F84 44811000 */ mtc1 $at, $f2 +/* BD47F8 80240F88 00000000 */ nop +/* BD47FC 80240F8C 46020000 */ add.s $f0, $f0, $f2 +/* BD4800 80240F90 080903ED */ j .L80240FB4 +/* BD4804 80240F94 E600003C */ swc1 $f0, 0x3c($s0) +/* BD4808 80240F98 0240202D */ daddu $a0, $s2, $zero +/* BD480C 80240F9C 3C05FD05 */ lui $a1, 0xfd05 +/* BD4810 80240FA0 0C0B1EAF */ jal get_variable +/* BD4814 80240FA4 34A50F82 */ ori $a1, $a1, 0xf82 +/* BD4818 80240FA8 14400002 */ bnez $v0, .L80240FB4 +/* BD481C 80240FAC 2402000A */ addiu $v0, $zero, 0xa +.L80240FB0: +/* BD4820 80240FB0 AE420074 */ sw $v0, 0x74($s2) +.L80240FB4: +/* BD4824 80240FB4 8FBF0028 */ lw $ra, 0x28($sp) +/* BD4828 80240FB8 8FB30024 */ lw $s3, 0x24($sp) +/* BD482C 80240FBC 8FB20020 */ lw $s2, 0x20($sp) +/* BD4830 80240FC0 8FB1001C */ lw $s1, 0x1c($sp) +/* BD4834 80240FC4 8FB00018 */ lw $s0, 0x18($sp) +/* BD4838 80240FC8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* BD483C 80240FCC 24020002 */ addiu $v0, $zero, 2 +/* BD4840 80240FD0 03E00008 */ jr $ra +/* BD4844 80240FD4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240FD8.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240FD8.s new file mode 100644 index 0000000000..e5027de9eb --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240FD8.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD8 +/* BD4848 80240FD8 AC800074 */ sw $zero, 0x74($a0) +/* BD484C 80240FDC 03E00008 */ jr $ra +/* BD4850 80240FE0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80240FE4_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80240FE4_BD3870.s new file mode 100644 index 0000000000..8aa6cc50af --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80240FE4_BD3870.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE4_BD4854 +/* BD4854 80240FE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4858 80240FE8 AFB10014 */ sw $s1, 0x14($sp) +/* BD485C 80240FEC 0080882D */ daddu $s1, $a0, $zero +/* BD4860 80240FF0 AFBF0018 */ sw $ra, 0x18($sp) +/* BD4864 80240FF4 AFB00010 */ sw $s0, 0x10($sp) +/* BD4868 80240FF8 0C00EAD2 */ jal get_npc_safe +/* BD486C 80240FFC 8E24014C */ lw $a0, 0x14c($s1) +/* BD4870 80241000 0040802D */ daddu $s0, $v0, $zero +/* BD4874 80241004 8E230074 */ lw $v1, 0x74($s1) +/* BD4878 80241008 24020001 */ addiu $v0, $zero, 1 +/* BD487C 8024100C 10620036 */ beq $v1, $v0, .L802410E8 +/* BD4880 80241010 28620002 */ slti $v0, $v1, 2 +/* BD4884 80241014 10400005 */ beqz $v0, .L8024102C +/* BD4888 80241018 24020002 */ addiu $v0, $zero, 2 +/* BD488C 8024101C 10600007 */ beqz $v1, .L8024103C +/* BD4890 80241020 00000000 */ nop +/* BD4894 80241024 08090455 */ j .L80241154 +/* BD4898 80241028 00000000 */ nop +.L8024102C: +/* BD489C 8024102C 10620036 */ beq $v1, $v0, .L80241108 +/* BD48A0 80241030 00000000 */ nop +/* BD48A4 80241034 08090455 */ j .L80241154 +/* BD48A8 80241038 00000000 */ nop +.L8024103C: +/* BD48AC 8024103C 0C00A67F */ jal rand_int +/* BD48B0 80241040 240400B4 */ addiu $a0, $zero, 0xb4 +/* BD48B4 80241044 24040032 */ addiu $a0, $zero, 0x32 +/* BD48B8 80241048 3C01C3D7 */ lui $at, 0xc3d7 +/* BD48BC 8024104C 44810000 */ mtc1 $at, $f0 +/* BD48C0 80241050 2442001E */ addiu $v0, $v0, 0x1e +/* BD48C4 80241054 A602008E */ sh $v0, 0x8e($s0) +/* BD48C8 80241058 0C00A67F */ jal rand_int +/* BD48CC 8024105C E6000040 */ swc1 $f0, 0x40($s0) +/* BD48D0 80241060 3C014220 */ lui $at, 0x4220 +/* BD48D4 80241064 44811000 */ mtc1 $at, $f2 +/* BD48D8 80241068 44820000 */ mtc1 $v0, $f0 +/* BD48DC 8024106C 00000000 */ nop +/* BD48E0 80241070 46800020 */ cvt.s.w $f0, $f0 +/* BD48E4 80241074 46020000 */ add.s $f0, $f0, $f2 +/* BD48E8 80241078 0C00A64D */ jal func_80029934 +/* BD48EC 8024107C E600003C */ swc1 $f0, 0x3c($s0) +/* BD48F0 80241080 46000000 */ add.s $f0, $f0, $f0 +/* BD48F4 80241084 3C014000 */ lui $at, 0x4000 +/* BD48F8 80241088 44811000 */ mtc1 $at, $f2 +/* BD48FC 8024108C 00000000 */ nop +/* BD4900 80241090 46020000 */ add.s $f0, $f0, $f2 +/* BD4904 80241094 24040064 */ addiu $a0, $zero, 0x64 +/* BD4908 80241098 0C00A67F */ jal rand_int +/* BD490C 8024109C E6000018 */ swc1 $f0, 0x18($s0) +/* BD4910 802410A0 28420032 */ slti $v0, $v0, 0x32 +/* BD4914 802410A4 10400007 */ beqz $v0, .L802410C4 +/* BD4918 802410A8 00000000 */ nop +/* BD491C 802410AC 3C014387 */ lui $at, 0x4387 +/* BD4920 802410B0 44810000 */ mtc1 $at, $f0 +/* BD4924 802410B4 00000000 */ nop +/* BD4928 802410B8 E6000038 */ swc1 $f0, 0x38($s0) +/* BD492C 802410BC 08090437 */ j .L802410DC +/* BD4930 802410C0 E600000C */ swc1 $f0, 0xc($s0) +.L802410C4: +/* BD4934 802410C4 3C01C387 */ lui $at, 0xc387 +/* BD4938 802410C8 44810000 */ mtc1 $at, $f0 +/* BD493C 802410CC 3C0142B4 */ lui $at, 0x42b4 +/* BD4940 802410D0 44811000 */ mtc1 $at, $f2 +/* BD4944 802410D4 E6000038 */ swc1 $f0, 0x38($s0) +/* BD4948 802410D8 E602000C */ swc1 $f2, 0xc($s0) +.L802410DC: +/* BD494C 802410DC 24020001 */ addiu $v0, $zero, 1 +/* BD4950 802410E0 08090455 */ j .L80241154 +/* BD4954 802410E4 AE220074 */ sw $v0, 0x74($s1) +.L802410E8: +/* BD4958 802410E8 9602008E */ lhu $v0, 0x8e($s0) +/* BD495C 802410EC 2442FFFF */ addiu $v0, $v0, -1 +/* BD4960 802410F0 A602008E */ sh $v0, 0x8e($s0) +/* BD4964 802410F4 00021400 */ sll $v0, $v0, 0x10 +/* BD4968 802410F8 14400016 */ bnez $v0, .L80241154 +/* BD496C 802410FC 24020002 */ addiu $v0, $zero, 2 +/* BD4970 80241100 08090455 */ j .L80241154 +/* BD4974 80241104 AE220074 */ sw $v0, 0x74($s1) +.L80241108: +/* BD4978 80241108 8E050018 */ lw $a1, 0x18($s0) +/* BD497C 8024110C 8E06000C */ lw $a2, 0xc($s0) +/* BD4980 80241110 0C00EA95 */ jal npc_move_heading +/* BD4984 80241114 0200202D */ daddu $a0, $s0, $zero +/* BD4988 80241118 C6020038 */ lwc1 $f2, 0x38($s0) +/* BD498C 8024111C 3C01C38C */ lui $at, 0xc38c +/* BD4990 80241120 44810000 */ mtc1 $at, $f0 +/* BD4994 80241124 00000000 */ nop +/* BD4998 80241128 4600103C */ c.lt.s $f2, $f0 +/* BD499C 8024112C 00000000 */ nop +/* BD49A0 80241130 45030008 */ bc1tl .L80241154 +/* BD49A4 80241134 AE200074 */ sw $zero, 0x74($s1) +/* BD49A8 80241138 3C01438C */ lui $at, 0x438c +/* BD49AC 8024113C 44810000 */ mtc1 $at, $f0 +/* BD49B0 80241140 00000000 */ nop +/* BD49B4 80241144 4602003C */ c.lt.s $f0, $f2 +/* BD49B8 80241148 00000000 */ nop +/* BD49BC 8024114C 45030001 */ bc1tl .L80241154 +/* BD49C0 80241150 AE200074 */ sw $zero, 0x74($s1) +.L80241154: +/* BD49C4 80241154 8FBF0018 */ lw $ra, 0x18($sp) +/* BD49C8 80241158 8FB10014 */ lw $s1, 0x14($sp) +/* BD49CC 8024115C 8FB00010 */ lw $s0, 0x10($sp) +/* BD49D0 80241160 24020002 */ addiu $v0, $zero, 2 +/* BD49D4 80241164 03E00008 */ jr $ra +/* BD49D8 80241168 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_8024116C_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_8024116C_BD3870.s new file mode 100644 index 0000000000..e0013fc035 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_8024116C_BD3870.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024116C_BD49DC +/* BD49DC 8024116C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD49E0 80241170 AFB10014 */ sw $s1, 0x14($sp) +/* BD49E4 80241174 0080882D */ daddu $s1, $a0, $zero +/* BD49E8 80241178 AFBF0018 */ sw $ra, 0x18($sp) +/* BD49EC 8024117C AFB00010 */ sw $s0, 0x10($sp) +/* BD49F0 80241180 8E240088 */ lw $a0, 0x88($s1) +/* BD49F4 80241184 1480000B */ bnez $a0, .L802411B4 +/* BD49F8 80241188 8E300084 */ lw $s0, 0x84($s1) +/* BD49FC 8024118C 0C00A67F */ jal rand_int +/* BD4A00 80241190 24040003 */ addiu $a0, $zero, 3 +/* BD4A04 80241194 00021040 */ sll $v0, $v0, 1 +/* BD4A08 80241198 3C018024 */ lui $at, 0x8024 +/* BD4A0C 8024119C 00220821 */ addu $at, $at, $v0 +/* BD4A10 802411A0 84224FEC */ lh $v0, 0x4fec($at) +/* BD4A14 802411A4 24040032 */ addiu $a0, $zero, 0x32 +/* BD4A18 802411A8 0C00A67F */ jal rand_int +/* BD4A1C 802411AC AE220078 */ sw $v0, 0x78($s1) +/* BD4A20 802411B0 2444001E */ addiu $a0, $v0, 0x1e +.L802411B4: +/* BD4A24 802411B4 8E230078 */ lw $v1, 0x78($s1) +/* BD4A28 802411B8 0203102A */ slt $v0, $s0, $v1 +/* BD4A2C 802411BC 10400006 */ beqz $v0, .L802411D8 +/* BD4A30 802411C0 2484FFFF */ addiu $a0, $a0, -1 +/* BD4A34 802411C4 2610000A */ addiu $s0, $s0, 0xa +/* BD4A38 802411C8 0070102A */ slt $v0, $v1, $s0 +/* BD4A3C 802411CC 5040000A */ beql $v0, $zero, .L802411F8 +/* BD4A40 802411D0 AE300084 */ sw $s0, 0x84($s1) +/* BD4A44 802411D4 0060802D */ daddu $s0, $v1, $zero +.L802411D8: +/* BD4A48 802411D8 0070102A */ slt $v0, $v1, $s0 +/* BD4A4C 802411DC 50400006 */ beql $v0, $zero, .L802411F8 +/* BD4A50 802411E0 AE300084 */ sw $s0, 0x84($s1) +/* BD4A54 802411E4 2610FFF6 */ addiu $s0, $s0, -0xa +/* BD4A58 802411E8 0203102A */ slt $v0, $s0, $v1 +/* BD4A5C 802411EC 54400001 */ bnel $v0, $zero, .L802411F4 +/* BD4A60 802411F0 0060802D */ daddu $s0, $v1, $zero +.L802411F4: +/* BD4A64 802411F4 AE300084 */ sw $s0, 0x84($s1) +.L802411F8: +/* BD4A68 802411F8 AE240088 */ sw $a0, 0x88($s1) +/* BD4A6C 802411FC 8FBF0018 */ lw $ra, 0x18($sp) +/* BD4A70 80241200 8FB10014 */ lw $s1, 0x14($sp) +/* BD4A74 80241204 8FB00010 */ lw $s0, 0x10($sp) +/* BD4A78 80241208 24020002 */ addiu $v0, $zero, 2 +/* BD4A7C 8024120C 03E00008 */ jr $ra +/* BD4A80 80241210 27BD0020 */ addiu $sp, $sp, 0x20 +/* BD4A84 80241214 00000000 */ nop +/* BD4A88 80241218 00000000 */ nop +/* BD4A8C 8024121C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80241220.s b/asm/nonmatchings/world/area_obk/obk_08/func_80241220.s new file mode 100644 index 0000000000..e391e3633c --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80241220.s @@ -0,0 +1,43 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241220 +/* BD4A90 80241220 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BD4A94 80241224 AFB20018 */ sw $s2, 0x18($sp) +/* BD4A98 80241228 0080902D */ daddu $s2, $a0, $zero +/* BD4A9C 8024122C 2404000B */ addiu $a0, $zero, 0xb +/* BD4AA0 80241230 AFBF001C */ sw $ra, 0x1c($sp) +/* BD4AA4 80241234 AFB10014 */ sw $s1, 0x14($sp) +/* BD4AA8 80241238 0C00EABB */ jal get_npc_unsafe +/* BD4AAC 8024123C AFB00010 */ sw $s0, 0x10($sp) +/* BD4AB0 80241240 0000202D */ daddu $a0, $zero, $zero +/* BD4AB4 80241244 0C00EABB */ jal get_npc_unsafe +/* BD4AB8 80241248 0040882D */ daddu $s1, $v0, $zero +/* BD4ABC 8024124C 0040802D */ daddu $s0, $v0, $zero +/* BD4AC0 80241250 C6000038 */ lwc1 $f0, 0x38($s0) +/* BD4AC4 80241254 E6200038 */ swc1 $f0, 0x38($s1) +/* BD4AC8 80241258 C6000040 */ lwc1 $f0, 0x40($s0) +/* BD4ACC 8024125C E6200040 */ swc1 $f0, 0x40($s1) +/* BD4AD0 80241260 C6440084 */ lwc1 $f4, 0x84($s2) +/* BD4AD4 80241264 46802120 */ cvt.s.w $f4, $f4 +/* BD4AD8 80241268 8E050010 */ lw $a1, 0x10($s0) +/* BD4ADC 8024126C 44062000 */ mfc1 $a2, $f4 +/* BD4AE0 80241270 0C00EA95 */ jal npc_move_heading +/* BD4AE4 80241274 0220202D */ daddu $a0, $s1, $zero +/* BD4AE8 80241278 C600003C */ lwc1 $f0, 0x3c($s0) +/* BD4AEC 8024127C 3C01447A */ lui $at, 0x447a +/* BD4AF0 80241280 44811000 */ mtc1 $at, $f2 +/* BD4AF4 80241284 00000000 */ nop +/* BD4AF8 80241288 46020000 */ add.s $f0, $f0, $f2 +/* BD4AFC 8024128C 3C0141C8 */ lui $at, 0x41c8 +/* BD4B00 80241290 44811000 */ mtc1 $at, $f2 +/* BD4B04 80241294 00000000 */ nop +/* BD4B08 80241298 46020000 */ add.s $f0, $f0, $f2 +/* BD4B0C 8024129C E620003C */ swc1 $f0, 0x3c($s1) +/* BD4B10 802412A0 8FBF001C */ lw $ra, 0x1c($sp) +/* BD4B14 802412A4 8FB20018 */ lw $s2, 0x18($sp) +/* BD4B18 802412A8 8FB10014 */ lw $s1, 0x14($sp) +/* BD4B1C 802412AC 8FB00010 */ lw $s0, 0x10($sp) +/* BD4B20 802412B0 24020002 */ addiu $v0, $zero, 2 +/* BD4B24 802412B4 03E00008 */ jr $ra +/* BD4B28 802412B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_802412BC_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_802412BC_BD3870.s new file mode 100644 index 0000000000..912d61d045 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_802412BC_BD3870.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412BC_BD4B2C +/* BD4B2C 802412BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BD4B30 802412C0 AFB00010 */ sw $s0, 0x10($sp) +/* BD4B34 802412C4 0080802D */ daddu $s0, $a0, $zero +/* BD4B38 802412C8 AFBF0014 */ sw $ra, 0x14($sp) +/* BD4B3C 802412CC 8E020084 */ lw $v0, 0x84($s0) +/* BD4B40 802412D0 2442FFFE */ addiu $v0, $v0, -2 +/* BD4B44 802412D4 44826000 */ mtc1 $v0, $f12 +/* BD4B48 802412D8 00000000 */ nop +/* BD4B4C 802412DC 0C00A6C9 */ jal clamp_angle +/* BD4B50 802412E0 46806320 */ cvt.s.w $f12, $f12 +/* BD4B54 802412E4 4600008D */ trunc.w.s $f2, $f0 +/* BD4B58 802412E8 E6020084 */ swc1 $f2, 0x84($s0) +/* BD4B5C 802412EC 8FBF0014 */ lw $ra, 0x14($sp) +/* BD4B60 802412F0 8FB00010 */ lw $s0, 0x10($sp) +/* BD4B64 802412F4 24020002 */ addiu $v0, $zero, 2 +/* BD4B68 802412F8 03E00008 */ jr $ra +/* BD4B6C 802412FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80241300_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80241300_BD3870.s new file mode 100644 index 0000000000..cb0a7e7eb9 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80241300_BD3870.s @@ -0,0 +1,226 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241300_BD4B70 +/* BD4B70 80241300 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* BD4B74 80241304 AFB20020 */ sw $s2, 0x20($sp) +/* BD4B78 80241308 0080902D */ daddu $s2, $a0, $zero +/* BD4B7C 8024130C 24040001 */ addiu $a0, $zero, 1 +/* BD4B80 80241310 AFBF003C */ sw $ra, 0x3c($sp) +/* BD4B84 80241314 AFBE0038 */ sw $fp, 0x38($sp) +/* BD4B88 80241318 AFB70034 */ sw $s7, 0x34($sp) +/* BD4B8C 8024131C AFB60030 */ sw $s6, 0x30($sp) +/* BD4B90 80241320 AFB5002C */ sw $s5, 0x2c($sp) +/* BD4B94 80241324 AFB40028 */ sw $s4, 0x28($sp) +/* BD4B98 80241328 AFB30024 */ sw $s3, 0x24($sp) +/* BD4B9C 8024132C AFB1001C */ sw $s1, 0x1c($sp) +/* BD4BA0 80241330 0C00EABB */ jal get_npc_unsafe +/* BD4BA4 80241334 AFB00018 */ sw $s0, 0x18($sp) +/* BD4BA8 80241338 24040002 */ addiu $a0, $zero, 2 +/* BD4BAC 8024133C 0C00EABB */ jal get_npc_unsafe +/* BD4BB0 80241340 0040802D */ daddu $s0, $v0, $zero +/* BD4BB4 80241344 24040003 */ addiu $a0, $zero, 3 +/* BD4BB8 80241348 0C00EABB */ jal get_npc_unsafe +/* BD4BBC 8024134C 0040982D */ daddu $s3, $v0, $zero +/* BD4BC0 80241350 24040004 */ addiu $a0, $zero, 4 +/* BD4BC4 80241354 0C00EABB */ jal get_npc_unsafe +/* BD4BC8 80241358 0040A02D */ daddu $s4, $v0, $zero +/* BD4BCC 8024135C 24040005 */ addiu $a0, $zero, 5 +/* BD4BD0 80241360 0C00EABB */ jal get_npc_unsafe +/* BD4BD4 80241364 0040A82D */ daddu $s5, $v0, $zero +/* BD4BD8 80241368 24040006 */ addiu $a0, $zero, 6 +/* BD4BDC 8024136C 0C00EABB */ jal get_npc_unsafe +/* BD4BE0 80241370 0040B02D */ daddu $s6, $v0, $zero +/* BD4BE4 80241374 24040007 */ addiu $a0, $zero, 7 +/* BD4BE8 80241378 0C00EABB */ jal get_npc_unsafe +/* BD4BEC 8024137C 0040B82D */ daddu $s7, $v0, $zero +/* BD4BF0 80241380 24040008 */ addiu $a0, $zero, 8 +/* BD4BF4 80241384 0C00EABB */ jal get_npc_unsafe +/* BD4BF8 80241388 0040F02D */ daddu $fp, $v0, $zero +/* BD4BFC 8024138C 0240202D */ daddu $a0, $s2, $zero +/* BD4C00 80241390 3C05FD05 */ lui $a1, 0xfd05 +/* BD4C04 80241394 34A50F83 */ ori $a1, $a1, 0xf83 +/* BD4C08 80241398 0000302D */ daddu $a2, $zero, $zero +/* BD4C0C 8024139C AE400088 */ sw $zero, 0x88($s2) +/* BD4C10 802413A0 0C0B2026 */ jal set_variable +/* BD4C14 802413A4 AFA20010 */ sw $v0, 0x10($sp) +/* BD4C18 802413A8 8E430084 */ lw $v1, 0x84($s2) +/* BD4C1C 802413AC C602000C */ lwc1 $f2, 0xc($s0) +/* BD4C20 802413B0 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4C24 802413B4 44820000 */ mtc1 $v0, $f0 +/* BD4C28 802413B8 00000000 */ nop +/* BD4C2C 802413BC 46800020 */ cvt.s.w $f0, $f0 +/* BD4C30 802413C0 4600103E */ c.le.s $f2, $f0 +/* BD4C34 802413C4 00000000 */ nop +/* BD4C38 802413C8 4500000C */ bc1f .L802413FC +/* BD4C3C 802413CC 0000882D */ daddu $s1, $zero, $zero +/* BD4C40 802413D0 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4C44 802413D4 44820000 */ mtc1 $v0, $f0 +/* BD4C48 802413D8 00000000 */ nop +/* BD4C4C 802413DC 46800020 */ cvt.s.w $f0, $f0 +/* BD4C50 802413E0 4602003E */ c.le.s $f0, $f2 +/* BD4C54 802413E4 00000000 */ nop +/* BD4C58 802413E8 45000004 */ bc1f .L802413FC +/* BD4C5C 802413EC 24020001 */ addiu $v0, $zero, 1 +/* BD4C60 802413F0 AE420088 */ sw $v0, 0x88($s2) +/* BD4C64 802413F4 0040882D */ daddu $s1, $v0, $zero +/* BD4C68 802413F8 8E430084 */ lw $v1, 0x84($s2) +.L802413FC: +/* BD4C6C 802413FC C662000C */ lwc1 $f2, 0xc($s3) +/* BD4C70 80241400 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4C74 80241404 44820000 */ mtc1 $v0, $f0 +/* BD4C78 80241408 00000000 */ nop +/* BD4C7C 8024140C 46800020 */ cvt.s.w $f0, $f0 +/* BD4C80 80241410 4600103E */ c.le.s $f2, $f0 +/* BD4C84 80241414 00000000 */ nop +/* BD4C88 80241418 4500000A */ bc1f .L80241444 +/* BD4C8C 8024141C 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4C90 80241420 44820000 */ mtc1 $v0, $f0 +/* BD4C94 80241424 00000000 */ nop +/* BD4C98 80241428 46800020 */ cvt.s.w $f0, $f0 +/* BD4C9C 8024142C 4602003E */ c.le.s $f0, $f2 +/* BD4CA0 80241430 00000000 */ nop +/* BD4CA4 80241434 45000003 */ bc1f .L80241444 +/* BD4CA8 80241438 24020001 */ addiu $v0, $zero, 1 +/* BD4CAC 8024143C AE420088 */ sw $v0, 0x88($s2) +/* BD4CB0 80241440 24110002 */ addiu $s1, $zero, 2 +.L80241444: +/* BD4CB4 80241444 8E430084 */ lw $v1, 0x84($s2) +/* BD4CB8 80241448 C682000C */ lwc1 $f2, 0xc($s4) +/* BD4CBC 8024144C 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4CC0 80241450 44820000 */ mtc1 $v0, $f0 +/* BD4CC4 80241454 00000000 */ nop +/* BD4CC8 80241458 46800020 */ cvt.s.w $f0, $f0 +/* BD4CCC 8024145C 4600103E */ c.le.s $f2, $f0 +/* BD4CD0 80241460 00000000 */ nop +/* BD4CD4 80241464 4500000B */ bc1f .L80241494 +/* BD4CD8 80241468 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4CDC 8024146C 44820000 */ mtc1 $v0, $f0 +/* BD4CE0 80241470 00000000 */ nop +/* BD4CE4 80241474 46800020 */ cvt.s.w $f0, $f0 +/* BD4CE8 80241478 4602003E */ c.le.s $f0, $f2 +/* BD4CEC 8024147C 00000000 */ nop +/* BD4CF0 80241480 45000004 */ bc1f .L80241494 +/* BD4CF4 80241484 24020001 */ addiu $v0, $zero, 1 +/* BD4CF8 80241488 AE420088 */ sw $v0, 0x88($s2) +/* BD4CFC 8024148C 24110003 */ addiu $s1, $zero, 3 +/* BD4D00 80241490 8E430084 */ lw $v1, 0x84($s2) +.L80241494: +/* BD4D04 80241494 C6A2000C */ lwc1 $f2, 0xc($s5) +/* BD4D08 80241498 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4D0C 8024149C 44820000 */ mtc1 $v0, $f0 +/* BD4D10 802414A0 00000000 */ nop +/* BD4D14 802414A4 46800020 */ cvt.s.w $f0, $f0 +/* BD4D18 802414A8 4600103E */ c.le.s $f2, $f0 +/* BD4D1C 802414AC 00000000 */ nop +/* BD4D20 802414B0 4500000A */ bc1f .L802414DC +/* BD4D24 802414B4 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4D28 802414B8 44820000 */ mtc1 $v0, $f0 +/* BD4D2C 802414BC 00000000 */ nop +/* BD4D30 802414C0 46800020 */ cvt.s.w $f0, $f0 +/* BD4D34 802414C4 4602003E */ c.le.s $f0, $f2 +/* BD4D38 802414C8 00000000 */ nop +/* BD4D3C 802414CC 45000003 */ bc1f .L802414DC +/* BD4D40 802414D0 24020001 */ addiu $v0, $zero, 1 +/* BD4D44 802414D4 AE420088 */ sw $v0, 0x88($s2) +/* BD4D48 802414D8 24110004 */ addiu $s1, $zero, 4 +.L802414DC: +/* BD4D4C 802414DC 8E430084 */ lw $v1, 0x84($s2) +/* BD4D50 802414E0 C6C2000C */ lwc1 $f2, 0xc($s6) +/* BD4D54 802414E4 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4D58 802414E8 44820000 */ mtc1 $v0, $f0 +/* BD4D5C 802414EC 00000000 */ nop +/* BD4D60 802414F0 46800020 */ cvt.s.w $f0, $f0 +/* BD4D64 802414F4 4600103E */ c.le.s $f2, $f0 +/* BD4D68 802414F8 00000000 */ nop +/* BD4D6C 802414FC 4500000B */ bc1f .L8024152C +/* BD4D70 80241500 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4D74 80241504 44820000 */ mtc1 $v0, $f0 +/* BD4D78 80241508 00000000 */ nop +/* BD4D7C 8024150C 46800020 */ cvt.s.w $f0, $f0 +/* BD4D80 80241510 4602003E */ c.le.s $f0, $f2 +/* BD4D84 80241514 00000000 */ nop +/* BD4D88 80241518 45000004 */ bc1f .L8024152C +/* BD4D8C 8024151C 24020001 */ addiu $v0, $zero, 1 +/* BD4D90 80241520 AE420088 */ sw $v0, 0x88($s2) +/* BD4D94 80241524 24110005 */ addiu $s1, $zero, 5 +/* BD4D98 80241528 8E430084 */ lw $v1, 0x84($s2) +.L8024152C: +/* BD4D9C 8024152C C6E2000C */ lwc1 $f2, 0xc($s7) +/* BD4DA0 80241530 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4DA4 80241534 44820000 */ mtc1 $v0, $f0 +/* BD4DA8 80241538 00000000 */ nop +/* BD4DAC 8024153C 46800020 */ cvt.s.w $f0, $f0 +/* BD4DB0 80241540 4600103E */ c.le.s $f2, $f0 +/* BD4DB4 80241544 00000000 */ nop +/* BD4DB8 80241548 4500000A */ bc1f .L80241574 +/* BD4DBC 8024154C 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4DC0 80241550 44820000 */ mtc1 $v0, $f0 +/* BD4DC4 80241554 00000000 */ nop +/* BD4DC8 80241558 46800020 */ cvt.s.w $f0, $f0 +/* BD4DCC 8024155C 4602003E */ c.le.s $f0, $f2 +/* BD4DD0 80241560 00000000 */ nop +/* BD4DD4 80241564 45000003 */ bc1f .L80241574 +/* BD4DD8 80241568 24020001 */ addiu $v0, $zero, 1 +/* BD4DDC 8024156C AE420088 */ sw $v0, 0x88($s2) +/* BD4DE0 80241570 24110006 */ addiu $s1, $zero, 6 +.L80241574: +/* BD4DE4 80241574 8E430084 */ lw $v1, 0x84($s2) +/* BD4DE8 80241578 C7C2000C */ lwc1 $f2, 0xc($fp) +/* BD4DEC 8024157C 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4DF0 80241580 44820000 */ mtc1 $v0, $f0 +/* BD4DF4 80241584 00000000 */ nop +/* BD4DF8 80241588 46800020 */ cvt.s.w $f0, $f0 +/* BD4DFC 8024158C 4600103E */ c.le.s $f2, $f0 +/* BD4E00 80241590 00000000 */ nop +/* BD4E04 80241594 4500000B */ bc1f .L802415C4 +/* BD4E08 80241598 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4E0C 8024159C 44820000 */ mtc1 $v0, $f0 +/* BD4E10 802415A0 00000000 */ nop +/* BD4E14 802415A4 46800020 */ cvt.s.w $f0, $f0 +/* BD4E18 802415A8 4602003E */ c.le.s $f0, $f2 +/* BD4E1C 802415AC 00000000 */ nop +/* BD4E20 802415B0 45000004 */ bc1f .L802415C4 +/* BD4E24 802415B4 24020001 */ addiu $v0, $zero, 1 +/* BD4E28 802415B8 AE420088 */ sw $v0, 0x88($s2) +/* BD4E2C 802415BC 24110007 */ addiu $s1, $zero, 7 +/* BD4E30 802415C0 8E430084 */ lw $v1, 0x84($s2) +.L802415C4: +/* BD4E34 802415C4 8FA70010 */ lw $a3, 0x10($sp) +/* BD4E38 802415C8 2462FFE9 */ addiu $v0, $v1, -0x17 +/* BD4E3C 802415CC C4E2000C */ lwc1 $f2, 0xc($a3) +/* BD4E40 802415D0 44820000 */ mtc1 $v0, $f0 +/* BD4E44 802415D4 00000000 */ nop +/* BD4E48 802415D8 46800020 */ cvt.s.w $f0, $f0 +/* BD4E4C 802415DC 4600103E */ c.le.s $f2, $f0 +/* BD4E50 802415E0 00000000 */ nop +/* BD4E54 802415E4 4500000A */ bc1f .L80241610 +/* BD4E58 802415E8 2462FFE5 */ addiu $v0, $v1, -0x1b +/* BD4E5C 802415EC 44820000 */ mtc1 $v0, $f0 +/* BD4E60 802415F0 00000000 */ nop +/* BD4E64 802415F4 46800020 */ cvt.s.w $f0, $f0 +/* BD4E68 802415F8 4602003E */ c.le.s $f0, $f2 +/* BD4E6C 802415FC 00000000 */ nop +/* BD4E70 80241600 45000003 */ bc1f .L80241610 +/* BD4E74 80241604 24020001 */ addiu $v0, $zero, 1 +/* BD4E78 80241608 AE420088 */ sw $v0, 0x88($s2) +/* BD4E7C 8024160C 24110008 */ addiu $s1, $zero, 8 +.L80241610: +/* BD4E80 80241610 0240202D */ daddu $a0, $s2, $zero +/* BD4E84 80241614 3C05FD05 */ lui $a1, 0xfd05 +/* BD4E88 80241618 34A50F83 */ ori $a1, $a1, 0xf83 +/* BD4E8C 8024161C 0C0B2026 */ jal set_variable +/* BD4E90 80241620 0220302D */ daddu $a2, $s1, $zero +/* BD4E94 80241624 8FBF003C */ lw $ra, 0x3c($sp) +/* BD4E98 80241628 8FBE0038 */ lw $fp, 0x38($sp) +/* BD4E9C 8024162C 8FB70034 */ lw $s7, 0x34($sp) +/* BD4EA0 80241630 8FB60030 */ lw $s6, 0x30($sp) +/* BD4EA4 80241634 8FB5002C */ lw $s5, 0x2c($sp) +/* BD4EA8 80241638 8FB40028 */ lw $s4, 0x28($sp) +/* BD4EAC 8024163C 8FB30024 */ lw $s3, 0x24($sp) +/* BD4EB0 80241640 8FB20020 */ lw $s2, 0x20($sp) +/* BD4EB4 80241644 8FB1001C */ lw $s1, 0x1c($sp) +/* BD4EB8 80241648 8FB00018 */ lw $s0, 0x18($sp) +/* BD4EBC 8024164C 24020002 */ addiu $v0, $zero, 2 +/* BD4EC0 80241650 03E00008 */ jr $ra +/* BD4EC4 80241654 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_obk/obk_08/func_80241658_BD3870.s b/asm/nonmatchings/world/area_obk/obk_08/func_80241658_BD3870.s new file mode 100644 index 0000000000..01cf027d42 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_08/func_80241658_BD3870.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241658_BD4EC8 +/* BD4EC8 80241658 27BDFC98 */ addiu $sp, $sp, -0x368 +/* BD4ECC 8024165C AFB20358 */ sw $s2, 0x358($sp) +/* BD4ED0 80241660 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* BD4ED4 80241664 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* BD4ED8 80241668 AFBF035C */ sw $ra, 0x35c($sp) +/* BD4EDC 8024166C AFB10354 */ sw $s1, 0x354($sp) +/* BD4EE0 80241670 AFB00350 */ sw $s0, 0x350($sp) +/* BD4EE4 80241674 F7B40360 */ sdc1 $f20, 0x360($sp) +/* BD4EE8 80241678 C64C0028 */ lwc1 $f12, 0x28($s2) +/* BD4EEC 8024167C 4480A000 */ mtc1 $zero, $f20 +/* BD4EF0 80241680 C64E0030 */ lwc1 $f14, 0x30($s2) +/* BD4EF4 80241684 4406A000 */ mfc1 $a2, $f20 +/* BD4EF8 80241688 4407A000 */ mfc1 $a3, $f20 +/* BD4EFC 8024168C 0C00A7B5 */ jal dist2D +/* BD4F00 80241690 0080802D */ daddu $s0, $a0, $zero +/* BD4F04 80241694 24020001 */ addiu $v0, $zero, 1 +/* BD4F08 80241698 46000106 */ mov.s $f4, $f0 +/* BD4F0C 8024169C 3C0142B4 */ lui $at, 0x42b4 +/* BD4F10 802416A0 44811000 */ mtc1 $at, $f2 +/* BD4F14 802416A4 00000000 */ nop +/* BD4F18 802416A8 4604103C */ c.lt.s $f2, $f4 +/* BD4F1C 802416AC 00000000 */ nop +/* BD4F20 802416B0 45010002 */ bc1t .L802416BC +/* BD4F24 802416B4 0240882D */ daddu $s1, $s2, $zero +/* BD4F28 802416B8 0000102D */ daddu $v0, $zero, $zero +.L802416BC: +/* BD4F2C 802416BC 3C014316 */ lui $at, 0x4316 +/* BD4F30 802416C0 44810000 */ mtc1 $at, $f0 +/* BD4F34 802416C4 00000000 */ nop +/* BD4F38 802416C8 4600203C */ c.lt.s $f4, $f0 +/* BD4F3C 802416CC 00000000 */ nop +/* BD4F40 802416D0 45010002 */ bc1t .L802416DC +/* BD4F44 802416D4 24030001 */ addiu $v1, $zero, 1 +/* BD4F48 802416D8 0000182D */ daddu $v1, $zero, $zero +.L802416DC: +/* BD4F4C 802416DC 00431025 */ or $v0, $v0, $v1 +/* BD4F50 802416E0 1040001C */ beqz $v0, .L80241754 +/* BD4F54 802416E4 00000000 */ nop +/* BD4F58 802416E8 C64C0028 */ lwc1 $f12, 0x28($s2) +/* BD4F5C 802416EC C64E0030 */ lwc1 $f14, 0x30($s2) +/* BD4F60 802416F0 4406A000 */ mfc1 $a2, $f20 +/* BD4F64 802416F4 4407A000 */ mfc1 $a3, $f20 +/* BD4F68 802416F8 0C00A720 */ jal atan2 +/* BD4F6C 802416FC 00000000 */ nop +/* BD4F70 80241700 3C014334 */ lui $at, 0x4334 +/* BD4F74 80241704 44811000 */ mtc1 $at, $f2 +/* BD4F78 80241708 00000000 */ nop +/* BD4F7C 8024170C 46020000 */ add.s $f0, $f0, $f2 +/* BD4F80 80241710 3C0542A0 */ lui $a1, 0x42a0 +/* BD4F84 80241714 44060000 */ mfc1 $a2, $f0 +/* BD4F88 80241718 27A40010 */ addiu $a0, $sp, 0x10 +/* BD4F8C 8024171C E7B40048 */ swc1 $f20, 0x48($sp) +/* BD4F90 80241720 E7B4004C */ swc1 $f20, 0x4c($sp) +/* BD4F94 80241724 0C00EA95 */ jal npc_move_heading +/* BD4F98 80241728 E7B40050 */ swc1 $f20, 0x50($sp) +/* BD4F9C 8024172C C7A00048 */ lwc1 $f0, 0x48($sp) +/* BD4FA0 80241730 4600018D */ trunc.w.s $f6, $f0 +/* BD4FA4 80241734 E6060084 */ swc1 $f6, 0x84($s0) +/* BD4FA8 80241738 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* BD4FAC 8024173C 4600018D */ trunc.w.s $f6, $f0 +/* BD4FB0 80241740 E6060088 */ swc1 $f6, 0x88($s0) +/* BD4FB4 80241744 C7A00050 */ lwc1 $f0, 0x50($sp) +/* BD4FB8 80241748 24020001 */ addiu $v0, $zero, 1 +/* BD4FBC 8024174C 080905DD */ j .L80241774 +/* BD4FC0 80241750 AE020090 */ sw $v0, 0x90($s0) +.L80241754: +/* BD4FC4 80241754 C6200028 */ lwc1 $f0, 0x28($s1) +/* BD4FC8 80241758 4600018D */ trunc.w.s $f6, $f0 +/* BD4FCC 8024175C E6060084 */ swc1 $f6, 0x84($s0) +/* BD4FD0 80241760 C620002C */ lwc1 $f0, 0x2c($s1) +/* BD4FD4 80241764 4600018D */ trunc.w.s $f6, $f0 +/* BD4FD8 80241768 E6060088 */ swc1 $f6, 0x88($s0) +/* BD4FDC 8024176C C6200030 */ lwc1 $f0, 0x30($s1) +/* BD4FE0 80241770 AE000090 */ sw $zero, 0x90($s0) +.L80241774: +/* BD4FE4 80241774 4600018D */ trunc.w.s $f6, $f0 +/* BD4FE8 80241778 E606008C */ swc1 $f6, 0x8c($s0) +/* BD4FEC 8024177C 8FBF035C */ lw $ra, 0x35c($sp) +/* BD4FF0 80241780 8FB20358 */ lw $s2, 0x358($sp) +/* BD4FF4 80241784 8FB10354 */ lw $s1, 0x354($sp) +/* BD4FF8 80241788 8FB00350 */ lw $s0, 0x350($sp) +/* BD4FFC 8024178C D7B40360 */ ldc1 $f20, 0x360($sp) +/* BD5000 80241790 24020002 */ addiu $v0, $zero, 2 +/* BD5004 80241794 03E00008 */ jr $ra +/* BD5008 80241798 27BD0368 */ addiu $sp, $sp, 0x368 +/* BD500C 8024179C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_09/func_80240000_BDA7B0.s b/asm/nonmatchings/world/area_obk/obk_09/func_80240000_BDA7B0.s new file mode 100644 index 0000000000..dcb8e005e1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_09/func_80240000_BDA7B0.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_BDA7B0 +/* BDA7B0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDA7B4 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* BDA7B8 80240008 0080902D */ daddu $s2, $a0, $zero +/* BDA7BC 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* BDA7C0 80240010 00A0882D */ daddu $s1, $a1, $zero +/* BDA7C4 80240014 AFBF0024 */ sw $ra, 0x24($sp) +/* BDA7C8 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* BDA7CC 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* BDA7D0 80240020 AFB00010 */ sw $s0, 0x10($sp) +/* BDA7D4 80240024 8E50000C */ lw $s0, 0xc($s2) +/* BDA7D8 80240028 8E050000 */ lw $a1, ($s0) +/* BDA7DC 8024002C 0C0B1EAF */ jal get_variable +/* BDA7E0 80240030 26100004 */ addiu $s0, $s0, 4 +/* BDA7E4 80240034 0240202D */ daddu $a0, $s2, $zero +/* BDA7E8 80240038 8E050000 */ lw $a1, ($s0) +/* BDA7EC 8024003C 0C0B1EAF */ jal get_variable +/* BDA7F0 80240040 0040802D */ daddu $s0, $v0, $zero +/* BDA7F4 80240044 0200202D */ daddu $a0, $s0, $zero +/* BDA7F8 80240048 0C00EAD2 */ jal get_npc_safe +/* BDA7FC 8024004C 0040A02D */ daddu $s4, $v0, $zero +/* BDA800 80240050 3C138011 */ lui $s3, %hi(gPlayerData) +/* BDA804 80240054 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* BDA808 80240058 12200006 */ beqz $s1, .L80240074 +/* BDA80C 8024005C 0040802D */ daddu $s0, $v0, $zero +/* BDA810 80240060 82620012 */ lb $v0, 0x12($s3) +/* BDA814 80240064 54400003 */ bnel $v0, $zero, .L80240074 +/* BDA818 80240068 AE400070 */ sw $zero, 0x70($s2) +/* BDA81C 8024006C 24020002 */ addiu $v0, $zero, 2 +/* BDA820 80240070 AE420070 */ sw $v0, 0x70($s2) +.L80240074: +/* BDA824 80240074 8E430070 */ lw $v1, 0x70($s2) +/* BDA828 80240078 24110001 */ addiu $s1, $zero, 1 +/* BDA82C 8024007C 10710013 */ beq $v1, $s1, .L802400CC +/* BDA830 80240080 28620002 */ slti $v0, $v1, 2 +/* BDA834 80240084 10400005 */ beqz $v0, .L8024009C +/* BDA838 80240088 24020002 */ addiu $v0, $zero, 2 +/* BDA83C 8024008C 10600009 */ beqz $v1, .L802400B4 +/* BDA840 80240090 0000102D */ daddu $v0, $zero, $zero +/* BDA844 80240094 08090059 */ j .L80240164 +/* BDA848 80240098 00000000 */ nop +.L8024009C: +/* BDA84C 8024009C 10620013 */ beq $v1, $v0, .L802400EC +/* BDA850 802400A0 24020003 */ addiu $v0, $zero, 3 +/* BDA854 802400A4 1062001E */ beq $v1, $v0, .L80240120 +/* BDA858 802400A8 0000102D */ daddu $v0, $zero, $zero +/* BDA85C 802400AC 08090059 */ j .L80240164 +/* BDA860 802400B0 00000000 */ nop +.L802400B4: +/* BDA864 802400B4 0C03AC5A */ jal func_800EB168 +/* BDA868 802400B8 0000202D */ daddu $a0, $zero, $zero +/* BDA86C 802400BC 2402001E */ addiu $v0, $zero, 0x1e +/* BDA870 802400C0 AE420074 */ sw $v0, 0x74($s2) +/* BDA874 802400C4 08090058 */ j .L80240160 +/* BDA878 802400C8 AE510070 */ sw $s1, 0x70($s2) +.L802400CC: +/* BDA87C 802400CC 8E420074 */ lw $v0, 0x74($s2) +/* BDA880 802400D0 2403FFFF */ addiu $v1, $zero, -1 +/* BDA884 802400D4 2442FFFF */ addiu $v0, $v0, -1 +/* BDA888 802400D8 14430021 */ bne $v0, $v1, .L80240160 +/* BDA88C 802400DC AE420074 */ sw $v0, 0x74($s2) +/* BDA890 802400E0 24020002 */ addiu $v0, $zero, 2 +/* BDA894 802400E4 08090058 */ j .L80240160 +/* BDA898 802400E8 AE420070 */ sw $v0, 0x70($s2) +.L802400EC: +/* BDA89C 802400EC 0200202D */ daddu $a0, $s0, $zero +/* BDA8A0 802400F0 00141600 */ sll $v0, $s4, 0x18 +/* BDA8A4 802400F4 00021543 */ sra $v0, $v0, 0x15 +/* BDA8A8 802400F8 02621021 */ addu $v0, $s3, $v0 +/* BDA8AC 802400FC A2740012 */ sb $s4, 0x12($s3) +/* BDA8B0 80240100 0C03BD17 */ jal clear_partner_move_history +/* BDA8B4 80240104 A0510014 */ sb $s1, 0x14($v0) +/* BDA8B8 80240108 82640012 */ lb $a0, 0x12($s3) +/* BDA8BC 8024010C 0C03ACA9 */ jal func_800EB2A4 +/* BDA8C0 80240110 00000000 */ nop +/* BDA8C4 80240114 24020003 */ addiu $v0, $zero, 3 +/* BDA8C8 80240118 08090058 */ j .L80240160 +/* BDA8CC 8024011C AE420070 */ sw $v0, 0x70($s2) +.L80240120: +/* BDA8D0 80240120 0C00EAD2 */ jal get_npc_safe +/* BDA8D4 80240124 2404FFFC */ addiu $a0, $zero, -4 +/* BDA8D8 80240128 8E05000C */ lw $a1, 0xc($s0) +/* BDA8DC 8024012C 0C00ECD0 */ jal set_npc_yaw +/* BDA8E0 80240130 0040202D */ daddu $a0, $v0, $zero +/* BDA8E4 80240134 0200202D */ daddu $a0, $s0, $zero +/* BDA8E8 80240138 8E020000 */ lw $v0, ($s0) +/* BDA8EC 8024013C 2403FFFB */ addiu $v1, $zero, -5 +/* BDA8F0 80240140 00431024 */ and $v0, $v0, $v1 +/* BDA8F4 80240144 0C00EAFF */ jal disable_npc_shadow +/* BDA8F8 80240148 AE020000 */ sw $v0, ($s0) +/* BDA8FC 8024014C 3C01C47A */ lui $at, 0xc47a +/* BDA900 80240150 44810000 */ mtc1 $at, $f0 +/* BDA904 80240154 24020002 */ addiu $v0, $zero, 2 +/* BDA908 80240158 08090059 */ j .L80240164 +/* BDA90C 8024015C E600003C */ swc1 $f0, 0x3c($s0) +.L80240160: +/* BDA910 80240160 0000102D */ daddu $v0, $zero, $zero +.L80240164: +/* BDA914 80240164 8FBF0024 */ lw $ra, 0x24($sp) +/* BDA918 80240168 8FB40020 */ lw $s4, 0x20($sp) +/* BDA91C 8024016C 8FB3001C */ lw $s3, 0x1c($sp) +/* BDA920 80240170 8FB20018 */ lw $s2, 0x18($sp) +/* BDA924 80240174 8FB10014 */ lw $s1, 0x14($sp) +/* BDA928 80240178 8FB00010 */ lw $s0, 0x10($sp) +/* BDA92C 8024017C 03E00008 */ jr $ra +/* BDA930 80240180 27BD0028 */ addiu $sp, $sp, 0x28 +/* BDA934 80240184 00000000 */ nop +/* BDA938 80240188 00000000 */ nop +/* BDA93C 8024018C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_09/func_80240190.s b/asm/nonmatchings/world/area_obk/obk_09/func_80240190.s new file mode 100644 index 0000000000..e907707f70 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_09/func_80240190.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240190 +/* BDA940 80240190 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDA944 80240194 AFB20020 */ sw $s2, 0x20($sp) +/* BDA948 80240198 0080902D */ daddu $s2, $a0, $zero +/* BDA94C 8024019C AFBF0024 */ sw $ra, 0x24($sp) +/* BDA950 802401A0 AFB1001C */ sw $s1, 0x1c($sp) +/* BDA954 802401A4 AFB00018 */ sw $s0, 0x18($sp) +/* BDA958 802401A8 0C00EAD2 */ jal get_npc_safe +/* BDA95C 802401AC 8E44014C */ lw $a0, 0x14c($s2) +/* BDA960 802401B0 24040020 */ addiu $a0, $zero, 0x20 +/* BDA964 802401B4 0C00AB39 */ jal heap_malloc +/* BDA968 802401B8 0040882D */ daddu $s1, $v0, $zero +/* BDA96C 802401BC 0040802D */ daddu $s0, $v0, $zero +/* BDA970 802401C0 AE500060 */ sw $s0, 0x60($s2) +/* BDA974 802401C4 C6200038 */ lwc1 $f0, 0x38($s1) +/* BDA978 802401C8 3C013F80 */ lui $at, 0x3f80 +/* BDA97C 802401CC 44811000 */ mtc1 $at, $f2 +/* BDA980 802401D0 E6000000 */ swc1 $f0, ($s0) +/* BDA984 802401D4 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDA988 802401D8 E6000004 */ swc1 $f0, 4($s0) +/* BDA98C 802401DC C6200040 */ lwc1 $f0, 0x40($s1) +/* BDA990 802401E0 AE000010 */ sw $zero, 0x10($s0) +/* BDA994 802401E4 E6000008 */ swc1 $f0, 8($s0) +/* BDA998 802401E8 E7A20010 */ swc1 $f2, 0x10($sp) +/* BDA99C 802401EC AFA00014 */ sw $zero, 0x14($sp) +/* BDA9A0 802401F0 8E050000 */ lw $a1, ($s0) +/* BDA9A4 802401F4 8E060004 */ lw $a2, 4($s0) +/* BDA9A8 802401F8 8E070008 */ lw $a3, 8($s0) +/* BDA9AC 802401FC 0C01C9AC */ jal func_800726B0 +/* BDA9B0 80240200 24040001 */ addiu $a0, $zero, 1 +/* BDA9B4 80240204 AE02001C */ sw $v0, 0x1c($s0) +/* BDA9B8 80240208 8C43000C */ lw $v1, 0xc($v0) +/* BDA9BC 8024020C 24020002 */ addiu $v0, $zero, 2 +/* BDA9C0 80240210 A0620034 */ sb $v0, 0x34($v1) +/* BDA9C4 80240214 8E050000 */ lw $a1, ($s0) +/* BDA9C8 80240218 8E060004 */ lw $a2, 4($s0) +/* BDA9CC 8024021C 8E070008 */ lw $a3, 8($s0) +/* BDA9D0 80240220 0C044898 */ jal create_shadow_type +/* BDA9D4 80240224 0000202D */ daddu $a0, $zero, $zero +/* BDA9D8 80240228 AE020018 */ sw $v0, 0x18($s0) +/* BDA9DC 8024022C 8FBF0024 */ lw $ra, 0x24($sp) +/* BDA9E0 80240230 8FB20020 */ lw $s2, 0x20($sp) +/* BDA9E4 80240234 8FB1001C */ lw $s1, 0x1c($sp) +/* BDA9E8 80240238 8FB00018 */ lw $s0, 0x18($sp) +/* BDA9EC 8024023C 24020002 */ addiu $v0, $zero, 2 +/* BDA9F0 80240240 03E00008 */ jr $ra +/* BDA9F4 80240244 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_obk/obk_09/func_80240248_BDA7B0.s b/asm/nonmatchings/world/area_obk/obk_09/func_80240248_BDA7B0.s new file mode 100644 index 0000000000..dcc2306df1 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_09/func_80240248_BDA7B0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240248_BDA9F8 +/* BDA9F8 80240248 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* BDA9FC 8024024C 0080102D */ daddu $v0, $a0, $zero +/* BDAA00 80240250 AFBF001C */ sw $ra, 0x1c($sp) +/* BDAA04 80240254 AFB20018 */ sw $s2, 0x18($sp) +/* BDAA08 80240258 AFB10014 */ sw $s1, 0x14($sp) +/* BDAA0C 8024025C AFB00010 */ sw $s0, 0x10($sp) +/* BDAA10 80240260 8C44014C */ lw $a0, 0x14c($v0) +/* BDAA14 80240264 0C00EAD2 */ jal get_npc_safe +/* BDAA18 80240268 8C500060 */ lw $s0, 0x60($v0) +/* BDAA1C 8024026C 8E040018 */ lw $a0, 0x18($s0) +/* BDAA20 80240270 0C044181 */ jal get_shadow_by_index +/* BDAA24 80240274 0040882D */ daddu $s1, $v0, $zero +/* BDAA28 80240278 C6200038 */ lwc1 $f0, 0x38($s1) +/* BDAA2C 8024027C 3C014000 */ lui $at, 0x4000 +/* BDAA30 80240280 44811000 */ mtc1 $at, $f2 +/* BDAA34 80240284 00000000 */ nop +/* BDAA38 80240288 46020001 */ sub.s $f0, $f0, $f2 +/* BDAA3C 8024028C 3C014140 */ lui $at, 0x4140 +/* BDAA40 80240290 44811000 */ mtc1 $at, $f2 +/* BDAA44 80240294 E6000000 */ swc1 $f0, ($s0) +/* BDAA48 80240298 C620003C */ lwc1 $f0, 0x3c($s1) +/* BDAA4C 8024029C 46020000 */ add.s $f0, $f0, $f2 +/* BDAA50 802402A0 3C0141F0 */ lui $at, 0x41f0 +/* BDAA54 802402A4 44811000 */ mtc1 $at, $f2 +/* BDAA58 802402A8 E6000004 */ swc1 $f0, 4($s0) +/* BDAA5C 802402AC C6200040 */ lwc1 $f0, 0x40($s1) +/* BDAA60 802402B0 8E12001C */ lw $s2, 0x1c($s0) +/* BDAA64 802402B4 46020001 */ sub.s $f0, $f0, $f2 +/* BDAA68 802402B8 3C0140D3 */ lui $at, 0x40d3 +/* BDAA6C 802402BC 34213333 */ ori $at, $at, 0x3333 +/* BDAA70 802402C0 44816000 */ mtc1 $at, $f12 +/* BDAA74 802402C4 E6000008 */ swc1 $f0, 8($s0) +/* BDAA78 802402C8 8E43000C */ lw $v1, 0xc($s2) +/* BDAA7C 802402CC C6000000 */ lwc1 $f0, ($s0) +/* BDAA80 802402D0 E4600004 */ swc1 $f0, 4($v1) +/* BDAA84 802402D4 8E43000C */ lw $v1, 0xc($s2) +/* BDAA88 802402D8 C6000004 */ lwc1 $f0, 4($s0) +/* BDAA8C 802402DC E4600008 */ swc1 $f0, 8($v1) +/* BDAA90 802402E0 8E43000C */ lw $v1, 0xc($s2) +/* BDAA94 802402E4 C6000008 */ lwc1 $f0, 8($s0) +/* BDAA98 802402E8 E460000C */ swc1 $f0, 0xc($v1) +/* BDAA9C 802402EC C6000010 */ lwc1 $f0, 0x10($s0) +/* BDAAA0 802402F0 460C0300 */ add.s $f12, $f0, $f12 +/* BDAAA4 802402F4 0C00A6C9 */ jal clamp_angle +/* BDAAA8 802402F8 0040882D */ daddu $s1, $v0, $zero +/* BDAAAC 802402FC E6000010 */ swc1 $f0, 0x10($s0) +/* BDAAB0 80240300 8E42000C */ lw $v0, 0xc($s2) +/* BDAAB4 80240304 3C014220 */ lui $at, 0x4220 +/* BDAAB8 80240308 44811000 */ mtc1 $at, $f2 +/* BDAABC 8024030C E4400024 */ swc1 $f0, 0x24($v0) +/* BDAAC0 80240310 C6000000 */ lwc1 $f0, ($s0) +/* BDAAC4 80240314 E6200010 */ swc1 $f0, 0x10($s1) +/* BDAAC8 80240318 C6000004 */ lwc1 $f0, 4($s0) +/* BDAACC 8024031C 46020001 */ sub.s $f0, $f0, $f2 +/* BDAAD0 80240320 E6200014 */ swc1 $f0, 0x14($s1) +/* BDAAD4 80240324 C6000008 */ lwc1 $f0, 8($s0) +/* BDAAD8 80240328 E6200018 */ swc1 $f0, 0x18($s1) +/* BDAADC 8024032C 8FBF001C */ lw $ra, 0x1c($sp) +/* BDAAE0 80240330 8FB20018 */ lw $s2, 0x18($sp) +/* BDAAE4 80240334 8FB10014 */ lw $s1, 0x14($sp) +/* BDAAE8 80240338 8FB00010 */ lw $s0, 0x10($sp) +/* BDAAEC 8024033C 0000102D */ daddu $v0, $zero, $zero +/* BDAAF0 80240340 03E00008 */ jr $ra +/* BDAAF4 80240344 27BD0020 */ addiu $sp, $sp, 0x20 +/* BDAAF8 80240348 00000000 */ nop +/* BDAAFC 8024034C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_09/func_80240350_BDA7B0.s b/asm/nonmatchings/world/area_obk/obk_09/func_80240350_BDA7B0.s new file mode 100644 index 0000000000..51e9267d93 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_09/func_80240350_BDA7B0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240350_BDAB00 +/* BDAB00 80240350 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* BDAB04 80240354 3C048024 */ lui $a0, 0x8024 +/* BDAB08 80240358 248429E8 */ addiu $a0, $a0, 0x29e8 +/* BDAB0C 8024035C 27A50010 */ addiu $a1, $sp, 0x10 +/* BDAB10 80240360 AFBF0020 */ sw $ra, 0x20($sp) +/* BDAB14 80240364 AFB1001C */ sw $s1, 0x1c($sp) +/* BDAB18 80240368 0C016B3A */ jal load_asset_by_name +/* BDAB1C 8024036C AFB00018 */ sw $s0, 0x18($sp) +/* BDAB20 80240370 0040802D */ daddu $s0, $v0, $zero +/* BDAB24 80240374 0200202D */ daddu $a0, $s0, $zero +/* BDAB28 80240378 3C118024 */ lui $s1, 0x8024 +/* BDAB2C 8024037C 26312A00 */ addiu $s1, $s1, 0x2a00 +/* BDAB30 80240380 0C01BB7C */ jal decode_yay0 +/* BDAB34 80240384 0220282D */ daddu $a1, $s1, $zero +/* BDAB38 80240388 0C00AB1E */ jal general_heap_free +/* BDAB3C 8024038C 0200202D */ daddu $a0, $s0, $zero +/* BDAB40 80240390 3C048024 */ lui $a0, 0x8024 +/* BDAB44 80240394 24846990 */ addiu $a0, $a0, 0x6990 +/* BDAB48 80240398 3C028024 */ lui $v0, 0x8024 +/* BDAB4C 8024039C 24422C00 */ addiu $v0, $v0, 0x2c00 +/* BDAB50 802403A0 AC820000 */ sw $v0, ($a0) +/* BDAB54 802403A4 24020096 */ addiu $v0, $zero, 0x96 +/* BDAB58 802403A8 A4820008 */ sh $v0, 8($a0) +/* BDAB5C 802403AC 24020069 */ addiu $v0, $zero, 0x69 +/* BDAB60 802403B0 A482000A */ sh $v0, 0xa($a0) +/* BDAB64 802403B4 24020002 */ addiu $v0, $zero, 2 +/* BDAB68 802403B8 AC82000C */ sw $v0, 0xc($a0) +/* BDAB6C 802403BC 24020001 */ addiu $v0, $zero, 1 +/* BDAB70 802403C0 AC910004 */ sw $s1, 4($a0) +/* BDAB74 802403C4 0C0496CB */ jal set_message_images +/* BDAB78 802403C8 AC820010 */ sw $v0, 0x10($a0) +/* BDAB7C 802403CC 8FBF0020 */ lw $ra, 0x20($sp) +/* BDAB80 802403D0 8FB1001C */ lw $s1, 0x1c($sp) +/* BDAB84 802403D4 8FB00018 */ lw $s0, 0x18($sp) +/* BDAB88 802403D8 24020002 */ addiu $v0, $zero, 2 +/* BDAB8C 802403DC 03E00008 */ jr $ra +/* BDAB90 802403E0 27BD0028 */ addiu $sp, $sp, 0x28 +/* BDAB94 802403E4 00000000 */ nop +/* BDAB98 802403E8 00000000 */ nop +/* BDAB9C 802403EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_obk/obk_09/func_802403F0_BDA7B0.s b/asm/nonmatchings/world/area_obk/obk_09/func_802403F0_BDA7B0.s new file mode 100644 index 0000000000..2f8bf55db9 --- /dev/null +++ b/asm/nonmatchings/world/area_obk/obk_09/func_802403F0_BDA7B0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_BDABA0 +/* BDABA0 802403F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* BDABA4 802403F4 AFBF0010 */ sw $ra, 0x10($sp) +/* BDABA8 802403F8 0C04C3D6 */ jal get_item_entity +/* BDABAC 802403FC 8C840084 */ lw $a0, 0x84($a0) +/* BDABB0 80240400 3C013F19 */ lui $at, 0x3f19 +/* BDABB4 80240404 3421999A */ ori $at, $at, 0x999a +/* BDABB8 80240408 44810000 */ mtc1 $at, $f0 +/* BDABBC 8024040C 00000000 */ nop +/* BDABC0 80240410 E4400030 */ swc1 $f0, 0x30($v0) +/* BDABC4 80240414 8FBF0010 */ lw $ra, 0x10($sp) +/* BDABC8 80240418 24020002 */ addiu $v0, $zero, 2 +/* BDABCC 8024041C 03E00008 */ jr $ra +/* BDABD0 80240420 27BD0018 */ addiu $sp, $sp, 0x18 +/* BDABD4 80240424 00000000 */ nop +/* BDABD8 80240428 00000000 */ nop +/* BDABDC 8024042C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_01/func_80240000_D9AEF0.s b/asm/nonmatchings/world/area_omo/omo_01/func_80240000_D9AEF0.s new file mode 100644 index 0000000000..366a13a838 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_01/func_80240000_D9AEF0.s @@ -0,0 +1,162 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D9AEF0 +/* D9AEF0 80240000 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* D9AEF4 80240004 AFB600B0 */ sw $s6, 0xb0($sp) +/* D9AEF8 80240008 AFBF00B4 */ sw $ra, 0xb4($sp) +/* D9AEFC 8024000C AFB500AC */ sw $s5, 0xac($sp) +/* D9AF00 80240010 AFB400A8 */ sw $s4, 0xa8($sp) +/* D9AF04 80240014 AFB300A4 */ sw $s3, 0xa4($sp) +/* D9AF08 80240018 AFB200A0 */ sw $s2, 0xa0($sp) +/* D9AF0C 8024001C AFB1009C */ sw $s1, 0x9c($sp) +/* D9AF10 80240020 AFB00098 */ sw $s0, 0x98($sp) +/* D9AF14 80240024 F7B800C8 */ sdc1 $f24, 0xc8($sp) +/* D9AF18 80240028 F7B600C0 */ sdc1 $f22, 0xc0($sp) +/* D9AF1C 8024002C F7B400B8 */ sdc1 $f20, 0xb8($sp) +/* D9AF20 80240030 10A0001E */ beqz $a1, .L802400AC +/* D9AF24 80240034 0080B02D */ daddu $s6, $a0, $zero +/* D9AF28 80240038 0C00AB39 */ jal heap_malloc +/* D9AF2C 8024003C 24040030 */ addiu $a0, $zero, 0x30 +/* D9AF30 80240040 0040982D */ daddu $s3, $v0, $zero +/* D9AF34 80240044 0000A02D */ daddu $s4, $zero, $zero +/* D9AF38 80240048 26700008 */ addiu $s0, $s3, 8 +/* D9AF3C 8024004C 3C014060 */ lui $at, 0x4060 +/* D9AF40 80240050 4481A000 */ mtc1 $at, $f20 +/* D9AF44 80240054 3C128024 */ lui $s2, 0x8024 +/* D9AF48 80240058 265212A0 */ addiu $s2, $s2, 0x12a0 +/* D9AF4C 8024005C AED30070 */ sw $s3, 0x70($s6) +.L80240060: +/* D9AF50 80240060 8E440000 */ lw $a0, ($s2) +/* D9AF54 80240064 26520004 */ addiu $s2, $s2, 4 +/* D9AF58 80240068 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9AF5C 8024006C AE04000C */ sw $a0, 0xc($s0) +/* D9AF60 80240070 0C046B4C */ jal get_model_from_list_index +/* D9AF64 80240074 0040202D */ daddu $a0, $v0, $zero +/* D9AF68 80240078 0040882D */ daddu $s1, $v0, $zero +/* D9AF6C 8024007C 26940001 */ addiu $s4, $s4, 1 +/* D9AF70 80240080 C6200098 */ lwc1 $f0, 0x98($s1) +/* D9AF74 80240084 2E820002 */ sltiu $v0, $s4, 2 +/* D9AF78 80240088 E6600000 */ swc1 $f0, ($s3) +/* D9AF7C 8024008C C62000A0 */ lwc1 $f0, 0xa0($s1) +/* D9AF80 80240090 26730018 */ addiu $s3, $s3, 0x18 +/* D9AF84 80240094 E6140004 */ swc1 $f20, 4($s0) +/* D9AF88 80240098 AE000008 */ sw $zero, 8($s0) +/* D9AF8C 8024009C AE000000 */ sw $zero, ($s0) +/* D9AF90 802400A0 E600FFFC */ swc1 $f0, -4($s0) +/* D9AF94 802400A4 1440FFEE */ bnez $v0, .L80240060 +/* D9AF98 802400A8 26100018 */ addiu $s0, $s0, 0x18 +.L802400AC: +/* D9AF9C 802400AC 0000A02D */ daddu $s4, $zero, $zero +/* D9AFA0 802400B0 27B50058 */ addiu $s5, $sp, 0x58 +/* D9AFA4 802400B4 8ED30070 */ lw $s3, 0x70($s6) +/* D9AFA8 802400B8 4480B000 */ mtc1 $zero, $f22 +/* D9AFAC 802400BC 26720004 */ addiu $s2, $s3, 4 +.L802400C0: +/* D9AFB0 802400C0 C64C000C */ lwc1 $f12, 0xc($s2) +/* D9AFB4 802400C4 C6400008 */ lwc1 $f0, 8($s2) +/* D9AFB8 802400C8 46006300 */ add.s $f12, $f12, $f0 +/* D9AFBC 802400CC 0C00A6C9 */ jal clamp_angle +/* D9AFC0 802400D0 E64C000C */ swc1 $f12, 0xc($s2) +/* D9AFC4 802400D4 46000306 */ mov.s $f12, $f0 +/* D9AFC8 802400D8 0C00A8BB */ jal sin_deg +/* D9AFCC 802400DC E64C000C */ swc1 $f12, 0xc($s2) +/* D9AFD0 802400E0 3C0141A0 */ lui $at, 0x41a0 +/* D9AFD4 802400E4 44811000 */ mtc1 $at, $f2 +/* D9AFD8 802400E8 00000000 */ nop +/* D9AFDC 802400EC 46020502 */ mul.s $f20, $f0, $f2 +/* D9AFE0 802400F0 00000000 */ nop +/* D9AFE4 802400F4 4614A082 */ mul.s $f2, $f20, $f20 +/* D9AFE8 802400F8 00000000 */ nop +/* D9AFEC 802400FC 3C0142B4 */ lui $at, 0x42b4 +/* D9AFF0 80240100 44810000 */ mtc1 $at, $f0 +/* D9AFF4 80240104 1680001B */ bnez $s4, .L80240174 +/* D9AFF8 80240108 46001603 */ div.s $f24, $f2, $f0 +/* D9AFFC 8024010C C6400004 */ lwc1 $f0, 4($s2) +/* D9B000 80240110 4600B03E */ c.le.s $f22, $f0 +/* D9B004 80240114 00000000 */ nop +/* D9B008 80240118 45000005 */ bc1f .L80240130 +/* D9B00C 8024011C 00000000 */ nop +/* D9B010 80240120 4616A03C */ c.lt.s $f20, $f22 +/* D9B014 80240124 00000000 */ nop +/* D9B018 80240128 4501000A */ bc1t .L80240154 +/* D9B01C 8024012C 240401D6 */ addiu $a0, $zero, 0x1d6 +.L80240130: +/* D9B020 80240130 4616003C */ c.lt.s $f0, $f22 +/* D9B024 80240134 00000000 */ nop +/* D9B028 80240138 4502000E */ bc1fl .L80240174 +/* D9B02C 8024013C E6540004 */ swc1 $f20, 4($s2) +/* D9B030 80240140 4614B03E */ c.le.s $f22, $f20 +/* D9B034 80240144 00000000 */ nop +/* D9B038 80240148 4502000A */ bc1fl .L80240174 +/* D9B03C 8024014C E6540004 */ swc1 $f20, 4($s2) +/* D9B040 80240150 240401D6 */ addiu $a0, $zero, 0x1d6 +.L80240154: +/* D9B044 80240154 0000282D */ daddu $a1, $zero, $zero +/* D9B048 80240158 3C06C339 */ lui $a2, 0xc339 +/* D9B04C 8024015C 3C014320 */ lui $at, 0x4320 +/* D9B050 80240160 44810000 */ mtc1 $at, $f0 +/* D9B054 80240164 0000382D */ daddu $a3, $zero, $zero +/* D9B058 80240168 0C052757 */ jal play_sound_at_position +/* D9B05C 8024016C E7A00010 */ swc1 $f0, 0x10($sp) +/* D9B060 80240170 E6540004 */ swc1 $f20, 4($s2) +.L80240174: +/* D9B064 80240174 8E440010 */ lw $a0, 0x10($s2) +/* D9B068 80240178 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9B06C 8024017C 26940001 */ addiu $s4, $s4, 1 +/* D9B070 80240180 0C046B4C */ jal get_model_from_list_index +/* D9B074 80240184 0040202D */ daddu $a0, $v0, $zero +/* D9B078 80240188 0040882D */ daddu $s1, $v0, $zero +/* D9B07C 8024018C 96220000 */ lhu $v0, ($s1) +/* D9B080 80240190 4406B000 */ mfc1 $a2, $f22 +/* D9B084 80240194 34421400 */ ori $v0, $v0, 0x1400 +/* D9B088 80240198 A6220000 */ sh $v0, ($s1) +/* D9B08C 8024019C C6600000 */ lwc1 $f0, ($s3) +/* D9B090 802401A0 C6420000 */ lwc1 $f2, ($s2) +/* D9B094 802401A4 46000007 */ neg.s $f0, $f0 +/* D9B098 802401A8 46001087 */ neg.s $f2, $f2 +/* D9B09C 802401AC 44050000 */ mfc1 $a1, $f0 +/* D9B0A0 802401B0 44071000 */ mfc1 $a3, $f2 +/* D9B0A4 802401B4 0C019E40 */ jal guTranslateF +/* D9B0A8 802401B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D9B0AC 802401BC 4405A000 */ mfc1 $a1, $f20 +/* D9B0B0 802401C0 4406B000 */ mfc1 $a2, $f22 +/* D9B0B4 802401C4 4407B000 */ mfc1 $a3, $f22 +/* D9B0B8 802401C8 3C013F80 */ lui $at, 0x3f80 +/* D9B0BC 802401CC 44810000 */ mtc1 $at, $f0 +/* D9B0C0 802401D0 02A0202D */ daddu $a0, $s5, $zero +/* D9B0C4 802401D4 0C019EC8 */ jal guRotateF +/* D9B0C8 802401D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9B0CC 802401DC 27A40018 */ addiu $a0, $sp, 0x18 +/* D9B0D0 802401E0 02A0282D */ daddu $a1, $s5, $zero +/* D9B0D4 802401E4 26300058 */ addiu $s0, $s1, 0x58 +/* D9B0D8 802401E8 0C019D80 */ jal guMtxCatF +/* D9B0DC 802401EC 0200302D */ daddu $a2, $s0, $zero +/* D9B0E0 802401F0 27A40018 */ addiu $a0, $sp, 0x18 +/* D9B0E4 802401F4 8E470000 */ lw $a3, ($s2) +/* D9B0E8 802401F8 26520018 */ addiu $s2, $s2, 0x18 +/* D9B0EC 802401FC 8E650000 */ lw $a1, ($s3) +/* D9B0F0 80240200 4406C000 */ mfc1 $a2, $f24 +/* D9B0F4 80240204 0C019E40 */ jal guTranslateF +/* D9B0F8 80240208 26730018 */ addiu $s3, $s3, 0x18 +/* D9B0FC 8024020C 0200202D */ daddu $a0, $s0, $zero +/* D9B100 80240210 27A50018 */ addiu $a1, $sp, 0x18 +/* D9B104 80240214 0C019D80 */ jal guMtxCatF +/* D9B108 80240218 0080302D */ daddu $a2, $a0, $zero +/* D9B10C 8024021C 2E820002 */ sltiu $v0, $s4, 2 +/* D9B110 80240220 1440FFA7 */ bnez $v0, .L802400C0 +/* D9B114 80240224 0000102D */ daddu $v0, $zero, $zero +/* D9B118 80240228 8FBF00B4 */ lw $ra, 0xb4($sp) +/* D9B11C 8024022C 8FB600B0 */ lw $s6, 0xb0($sp) +/* D9B120 80240230 8FB500AC */ lw $s5, 0xac($sp) +/* D9B124 80240234 8FB400A8 */ lw $s4, 0xa8($sp) +/* D9B128 80240238 8FB300A4 */ lw $s3, 0xa4($sp) +/* D9B12C 8024023C 8FB200A0 */ lw $s2, 0xa0($sp) +/* D9B130 80240240 8FB1009C */ lw $s1, 0x9c($sp) +/* D9B134 80240244 8FB00098 */ lw $s0, 0x98($sp) +/* D9B138 80240248 D7B800C8 */ ldc1 $f24, 0xc8($sp) +/* D9B13C 8024024C D7B600C0 */ ldc1 $f22, 0xc0($sp) +/* D9B140 80240250 D7B400B8 */ ldc1 $f20, 0xb8($sp) +/* D9B144 80240254 03E00008 */ jr $ra +/* D9B148 80240258 27BD00D0 */ addiu $sp, $sp, 0xd0 +/* D9B14C 8024025C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_01/func_80240260_D9AEF0.s b/asm/nonmatchings/world/area_omo/omo_01/func_80240260_D9AEF0.s new file mode 100644 index 0000000000..37cdae4b7b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_01/func_80240260_D9AEF0.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240260_D9B150 +/* D9B150 80240260 27BDFF68 */ addiu $sp, $sp, -0x98 +/* D9B154 80240264 AFB60060 */ sw $s6, 0x60($sp) +/* D9B158 80240268 0080B02D */ daddu $s6, $a0, $zero +/* D9B15C 8024026C AFBF0064 */ sw $ra, 0x64($sp) +/* D9B160 80240270 AFB5005C */ sw $s5, 0x5c($sp) +/* D9B164 80240274 AFB40058 */ sw $s4, 0x58($sp) +/* D9B168 80240278 AFB30054 */ sw $s3, 0x54($sp) +/* D9B16C 8024027C AFB20050 */ sw $s2, 0x50($sp) +/* D9B170 80240280 AFB1004C */ sw $s1, 0x4c($sp) +/* D9B174 80240284 AFB00048 */ sw $s0, 0x48($sp) +/* D9B178 80240288 F7BE0090 */ sdc1 $f30, 0x90($sp) +/* D9B17C 8024028C F7BC0088 */ sdc1 $f28, 0x88($sp) +/* D9B180 80240290 F7BA0080 */ sdc1 $f26, 0x80($sp) +/* D9B184 80240294 F7B80078 */ sdc1 $f24, 0x78($sp) +/* D9B188 80240298 F7B60070 */ sdc1 $f22, 0x70($sp) +/* D9B18C 8024029C F7B40068 */ sdc1 $f20, 0x68($sp) +/* D9B190 802402A0 8ED20148 */ lw $s2, 0x148($s6) +/* D9B194 802402A4 00A0882D */ daddu $s1, $a1, $zero +/* D9B198 802402A8 86440008 */ lh $a0, 8($s2) +/* D9B19C 802402AC 0C00EABB */ jal get_npc_unsafe +/* D9B1A0 802402B0 00C0A82D */ daddu $s5, $a2, $zero +/* D9B1A4 802402B4 8E240020 */ lw $a0, 0x20($s1) +/* D9B1A8 802402B8 0040802D */ daddu $s0, $v0, $zero +/* D9B1AC 802402BC 00041FC2 */ srl $v1, $a0, 0x1f +/* D9B1B0 802402C0 00832021 */ addu $a0, $a0, $v1 +/* D9B1B4 802402C4 00042043 */ sra $a0, $a0, 1 +/* D9B1B8 802402C8 0C00A67F */ jal rand_int +/* D9B1BC 802402CC 24840001 */ addiu $a0, $a0, 1 +/* D9B1C0 802402D0 8E230020 */ lw $v1, 0x20($s1) +/* D9B1C4 802402D4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B1C8 802402D8 000327C2 */ srl $a0, $v1, 0x1f +/* D9B1CC 802402DC 00641821 */ addu $v1, $v1, $a0 +/* D9B1D0 802402E0 00031843 */ sra $v1, $v1, 1 +/* D9B1D4 802402E4 00621821 */ addu $v1, $v1, $v0 +/* D9B1D8 802402E8 A603008E */ sh $v1, 0x8e($s0) +/* D9B1DC 802402EC 8E4200CC */ lw $v0, 0xcc($s2) +/* D9B1E0 802402F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B1E4 802402F4 8C42000C */ lw $v0, 0xc($v0) +/* D9B1E8 802402F8 AE020028 */ sw $v0, 0x28($s0) +/* D9B1EC 802402FC C6200018 */ lwc1 $f0, 0x18($s1) +/* D9B1F0 80240300 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9B1F4 80240304 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9B1F8 80240308 E6000018 */ swc1 $f0, 0x18($s0) +/* D9B1FC 8024030C 8C460028 */ lw $a2, 0x28($v0) +/* D9B200 80240310 8C470030 */ lw $a3, 0x30($v0) +/* D9B204 80240314 0C00A720 */ jal atan2 +/* D9B208 80240318 0000982D */ daddu $s3, $zero, $zero +/* D9B20C 8024031C 3C014334 */ lui $at, 0x4334 +/* D9B210 80240320 44816000 */ mtc1 $at, $f12 +/* D9B214 80240324 0C00A6C9 */ jal clamp_angle +/* D9B218 80240328 460C0300 */ add.s $f12, $f0, $f12 +/* D9B21C 8024032C 46000506 */ mov.s $f20, $f0 +/* D9B220 80240330 C60C000C */ lwc1 $f12, 0xc($s0) +/* D9B224 80240334 0C00A70A */ jal get_clamped_angle_diff +/* D9B228 80240338 4600A386 */ mov.s $f14, $f20 +/* D9B22C 8024033C 46000086 */ mov.s $f2, $f0 +/* D9B230 80240340 8E22001C */ lw $v0, 0x1c($s1) +/* D9B234 80240344 46001005 */ abs.s $f0, $f2 +/* D9B238 80240348 44822000 */ mtc1 $v0, $f4 +/* D9B23C 8024034C 00000000 */ nop +/* D9B240 80240350 46802120 */ cvt.s.w $f4, $f4 +/* D9B244 80240354 4600203C */ c.lt.s $f4, $f0 +/* D9B248 80240358 00000000 */ nop +/* D9B24C 8024035C 4500000D */ bc1f .L80240394 +/* D9B250 80240360 00000000 */ nop +/* D9B254 80240364 44800000 */ mtc1 $zero, $f0 +/* D9B258 80240368 C614000C */ lwc1 $f20, 0xc($s0) +/* D9B25C 8024036C 4600103C */ c.lt.s $f2, $f0 +/* D9B260 80240370 00000000 */ nop +/* D9B264 80240374 45000006 */ bc1f .L80240390 +/* D9B268 80240378 00021023 */ negu $v0, $v0 +/* D9B26C 8024037C 44820000 */ mtc1 $v0, $f0 +/* D9B270 80240380 00000000 */ nop +/* D9B274 80240384 46800020 */ cvt.s.w $f0, $f0 +/* D9B278 80240388 080900E5 */ j .L80240394 +/* D9B27C 8024038C 4600A500 */ add.s $f20, $f20, $f0 +.L80240390: +/* D9B280 80240390 4604A500 */ add.s $f20, $f20, $f4 +.L80240394: +/* D9B284 80240394 0C00A6C9 */ jal clamp_angle +/* D9B288 80240398 4600A306 */ mov.s $f12, $f20 +/* D9B28C 8024039C 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D9B290 802403A0 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D9B294 802403A4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B298 802403A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B29C 802403AC 8E820000 */ lw $v0, ($s4) +/* D9B2A0 802403B0 C602003C */ lwc1 $f2, 0x3c($s0) +/* D9B2A4 802403B4 E600000C */ swc1 $f0, 0xc($s0) +/* D9B2A8 802403B8 46006006 */ mov.s $f0, $f12 +/* D9B2AC 802403BC 8C460028 */ lw $a2, 0x28($v0) +/* D9B2B0 802403C0 8C470030 */ lw $a3, 0x30($v0) +/* D9B2B4 802403C4 46007106 */ mov.s $f4, $f14 +/* D9B2B8 802403C8 E7A00020 */ swc1 $f0, 0x20($sp) +/* D9B2BC 802403CC E7A20024 */ swc1 $f2, 0x24($sp) +/* D9B2C0 802403D0 0C00A720 */ jal atan2 +/* D9B2C4 802403D4 E7A40028 */ swc1 $f4, 0x28($sp) +/* D9B2C8 802403D8 3C014334 */ lui $at, 0x4334 +/* D9B2CC 802403DC 44816000 */ mtc1 $at, $f12 +/* D9B2D0 802403E0 0C00A6C9 */ jal clamp_angle +/* D9B2D4 802403E4 460C0300 */ add.s $f12, $f0, $f12 +/* D9B2D8 802403E8 C6020018 */ lwc1 $f2, 0x18($s0) +/* D9B2DC 802403EC 3C014012 */ lui $at, 0x4012 +/* D9B2E0 802403F0 4481E800 */ mtc1 $at, $f29 +/* D9B2E4 802403F4 4480E000 */ mtc1 $zero, $f28 +/* D9B2E8 802403F8 460010A1 */ cvt.d.s $f2, $f2 +/* D9B2EC 802403FC 463C1082 */ mul.d $f2, $f2, $f28 +/* D9B2F0 80240400 00000000 */ nop +/* D9B2F4 80240404 46000506 */ mov.s $f20, $f0 +/* D9B2F8 80240408 27A50020 */ addiu $a1, $sp, 0x20 +/* D9B2FC 8024040C 27A60024 */ addiu $a2, $sp, 0x24 +/* D9B300 80240410 27A70028 */ addiu $a3, $sp, 0x28 +/* D9B304 80240414 E7B40014 */ swc1 $f20, 0x14($sp) +/* D9B308 80240418 462010A0 */ cvt.s.d $f2, $f2 +/* D9B30C 8024041C E7A20010 */ swc1 $f2, 0x10($sp) +/* D9B310 80240420 860200A8 */ lh $v0, 0xa8($s0) +/* D9B314 80240424 4480B000 */ mtc1 $zero, $f22 +/* D9B318 80240428 44820000 */ mtc1 $v0, $f0 +/* D9B31C 8024042C 00000000 */ nop +/* D9B320 80240430 46800020 */ cvt.s.w $f0, $f0 +/* D9B324 80240434 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9B328 80240438 860200A6 */ lh $v0, 0xa6($s0) +/* D9B32C 8024043C 4600B606 */ mov.s $f24, $f22 +/* D9B330 80240440 44820000 */ mtc1 $v0, $f0 +/* D9B334 80240444 00000000 */ nop +/* D9B338 80240448 46800020 */ cvt.s.w $f0, $f0 +/* D9B33C 8024044C E7A0001C */ swc1 $f0, 0x1c($sp) +/* D9B340 80240450 8E040080 */ lw $a0, 0x80($s0) +/* D9B344 80240454 0C03773B */ jal func_800DDCEC +/* D9B348 80240458 4600C686 */ mov.s $f26, $f24 +/* D9B34C 8024045C 104000E1 */ beqz $v0, .L802407E4 +/* D9B350 80240460 00000000 */ nop +/* D9B354 80240464 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B358 80240468 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B35C 8024046C 8FA60020 */ lw $a2, 0x20($sp) +/* D9B360 80240470 0C00A7B5 */ jal dist2D +/* D9B364 80240474 8FA70028 */ lw $a3, 0x28($sp) +/* D9B368 80240478 46000586 */ mov.s $f22, $f0 +/* D9B36C 8024047C C6020038 */ lwc1 $f2, 0x38($s0) +/* D9B370 80240480 C604003C */ lwc1 $f4, 0x3c($s0) +/* D9B374 80240484 3C01420C */ lui $at, 0x420c +/* D9B378 80240488 4481F000 */ mtc1 $at, $f30 +/* D9B37C 8024048C C6000040 */ lwc1 $f0, 0x40($s0) +/* D9B380 80240490 461EA300 */ add.s $f12, $f20, $f30 +/* D9B384 80240494 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D9B388 80240498 E7A40030 */ swc1 $f4, 0x30($sp) +/* D9B38C 8024049C 0C00A6C9 */ jal clamp_angle +/* D9B390 802404A0 E7A00034 */ swc1 $f0, 0x34($sp) +/* D9B394 802404A4 C6020018 */ lwc1 $f2, 0x18($s0) +/* D9B398 802404A8 460010A1 */ cvt.d.s $f2, $f2 +/* D9B39C 802404AC 463C1082 */ mul.d $f2, $f2, $f28 +/* D9B3A0 802404B0 00000000 */ nop +/* D9B3A4 802404B4 E7A00014 */ swc1 $f0, 0x14($sp) +/* D9B3A8 802404B8 462010A0 */ cvt.s.d $f2, $f2 +/* D9B3AC 802404BC E7A20010 */ swc1 $f2, 0x10($sp) +/* D9B3B0 802404C0 860200A8 */ lh $v0, 0xa8($s0) +/* D9B3B4 802404C4 27A5002C */ addiu $a1, $sp, 0x2c +/* D9B3B8 802404C8 44820000 */ mtc1 $v0, $f0 +/* D9B3BC 802404CC 00000000 */ nop +/* D9B3C0 802404D0 46800020 */ cvt.s.w $f0, $f0 +/* D9B3C4 802404D4 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9B3C8 802404D8 860200A6 */ lh $v0, 0xa6($s0) +/* D9B3CC 802404DC 27A60030 */ addiu $a2, $sp, 0x30 +/* D9B3D0 802404E0 44820000 */ mtc1 $v0, $f0 +/* D9B3D4 802404E4 00000000 */ nop +/* D9B3D8 802404E8 46800020 */ cvt.s.w $f0, $f0 +/* D9B3DC 802404EC E7A0001C */ swc1 $f0, 0x1c($sp) +/* D9B3E0 802404F0 8E040080 */ lw $a0, 0x80($s0) +/* D9B3E4 802404F4 0C03773B */ jal func_800DDCEC +/* D9B3E8 802404F8 27A70034 */ addiu $a3, $sp, 0x34 +/* D9B3EC 802404FC 10400007 */ beqz $v0, .L8024051C +/* D9B3F0 80240500 00000000 */ nop +/* D9B3F4 80240504 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B3F8 80240508 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B3FC 8024050C 8FA6002C */ lw $a2, 0x2c($sp) +/* D9B400 80240510 0C00A7B5 */ jal dist2D +/* D9B404 80240514 8FA70034 */ lw $a3, 0x34($sp) +/* D9B408 80240518 46000606 */ mov.s $f24, $f0 +.L8024051C: +/* D9B40C 8024051C C6000038 */ lwc1 $f0, 0x38($s0) +/* D9B410 80240520 C602003C */ lwc1 $f2, 0x3c($s0) +/* D9B414 80240524 C6040040 */ lwc1 $f4, 0x40($s0) +/* D9B418 80240528 461EA301 */ sub.s $f12, $f20, $f30 +/* D9B41C 8024052C E7A00038 */ swc1 $f0, 0x38($sp) +/* D9B420 80240530 E7A2003C */ swc1 $f2, 0x3c($sp) +/* D9B424 80240534 0C00A6C9 */ jal clamp_angle +/* D9B428 80240538 E7A40040 */ swc1 $f4, 0x40($sp) +/* D9B42C 8024053C C6020018 */ lwc1 $f2, 0x18($s0) +/* D9B430 80240540 460010A1 */ cvt.d.s $f2, $f2 +/* D9B434 80240544 463C1082 */ mul.d $f2, $f2, $f28 +/* D9B438 80240548 00000000 */ nop +/* D9B43C 8024054C E7A00014 */ swc1 $f0, 0x14($sp) +/* D9B440 80240550 462010A0 */ cvt.s.d $f2, $f2 +/* D9B444 80240554 E7A20010 */ swc1 $f2, 0x10($sp) +/* D9B448 80240558 860200A8 */ lh $v0, 0xa8($s0) +/* D9B44C 8024055C 27A50038 */ addiu $a1, $sp, 0x38 +/* D9B450 80240560 44820000 */ mtc1 $v0, $f0 +/* D9B454 80240564 00000000 */ nop +/* D9B458 80240568 46800020 */ cvt.s.w $f0, $f0 +/* D9B45C 8024056C E7A00018 */ swc1 $f0, 0x18($sp) +/* D9B460 80240570 860200A6 */ lh $v0, 0xa6($s0) +/* D9B464 80240574 27A6003C */ addiu $a2, $sp, 0x3c +/* D9B468 80240578 44820000 */ mtc1 $v0, $f0 +/* D9B46C 8024057C 00000000 */ nop +/* D9B470 80240580 46800020 */ cvt.s.w $f0, $f0 +/* D9B474 80240584 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D9B478 80240588 8E040080 */ lw $a0, 0x80($s0) +/* D9B47C 8024058C 0C03773B */ jal func_800DDCEC +/* D9B480 80240590 27A70040 */ addiu $a3, $sp, 0x40 +/* D9B484 80240594 10400007 */ beqz $v0, .L802405B4 +/* D9B488 80240598 00000000 */ nop +/* D9B48C 8024059C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B490 802405A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B494 802405A4 8FA60038 */ lw $a2, 0x38($sp) +/* D9B498 802405A8 0C00A7B5 */ jal dist2D +/* D9B49C 802405AC 8FA70040 */ lw $a3, 0x40($sp) +/* D9B4A0 802405B0 46000686 */ mov.s $f26, $f0 +.L802405B4: +/* D9B4A4 802405B4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B4A8 802405B8 8E820000 */ lw $v0, ($s4) +/* D9B4AC 802405BC C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B4B0 802405C0 8C460028 */ lw $a2, 0x28($v0) +/* D9B4B4 802405C4 0C00A7B5 */ jal dist2D +/* D9B4B8 802405C8 8C470030 */ lw $a3, 0x30($v0) +/* D9B4BC 802405CC C6000018 */ lwc1 $f0, 0x18($s0) +/* D9B4C0 802405D0 3C013FF8 */ lui $at, 0x3ff8 +/* D9B4C4 802405D4 44811800 */ mtc1 $at, $f3 +/* D9B4C8 802405D8 44801000 */ mtc1 $zero, $f2 +/* D9B4CC 802405DC 46000021 */ cvt.d.s $f0, $f0 +/* D9B4D0 802405E0 46220082 */ mul.d $f2, $f0, $f2 +/* D9B4D4 802405E4 00000000 */ nop +/* D9B4D8 802405E8 4600B021 */ cvt.d.s $f0, $f22 +/* D9B4DC 802405EC 4622003C */ c.lt.d $f0, $f2 +/* D9B4E0 802405F0 00000000 */ nop +/* D9B4E4 802405F4 45000012 */ bc1f .L80240640 +/* D9B4E8 802405F8 00000000 */ nop +/* D9B4EC 802405FC 4600C021 */ cvt.d.s $f0, $f24 +/* D9B4F0 80240600 4622003C */ c.lt.d $f0, $f2 +/* D9B4F4 80240604 00000000 */ nop +/* D9B4F8 80240608 4500000D */ bc1f .L80240640 +/* D9B4FC 8024060C 00000000 */ nop +/* D9B500 80240610 4600D021 */ cvt.d.s $f0, $f26 +/* D9B504 80240614 4622003C */ c.lt.d $f0, $f2 +/* D9B508 80240618 00000000 */ nop +/* D9B50C 8024061C 45000008 */ bc1f .L80240640 +/* D9B510 80240620 02A0202D */ daddu $a0, $s5, $zero +/* D9B514 80240624 AFA00010 */ sw $zero, 0x10($sp) +/* D9B518 80240628 8E26000C */ lw $a2, 0xc($s1) +/* D9B51C 8024062C 8E270010 */ lw $a3, 0x10($s1) +/* D9B520 80240630 0C01242D */ jal func_800490B4 +/* D9B524 80240634 0240282D */ daddu $a1, $s2, $zero +/* D9B528 80240638 54400001 */ bnel $v0, $zero, .L80240640 +/* D9B52C 8024063C 24130001 */ addiu $s3, $zero, 1 +.L80240640: +/* D9B530 80240640 1660006A */ bnez $s3, .L802407EC +/* D9B534 80240644 2402000A */ addiu $v0, $zero, 0xa +/* D9B538 80240648 4616C03C */ c.lt.s $f24, $f22 +/* D9B53C 8024064C 00000000 */ nop +/* D9B540 80240650 4500000C */ bc1f .L80240684 +/* D9B544 80240654 00000000 */ nop +/* D9B548 80240658 4618D03C */ c.lt.s $f26, $f24 +/* D9B54C 8024065C 00000000 */ nop +/* D9B550 80240660 45000006 */ bc1f .L8024067C +/* D9B554 80240664 00000000 */ nop +/* D9B558 80240668 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B55C 8024066C C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B560 80240670 8FA60020 */ lw $a2, 0x20($sp) +/* D9B564 80240674 080901DA */ j .L80240768 +/* D9B568 80240678 8FA70028 */ lw $a3, 0x28($sp) +.L8024067C: +/* D9B56C 8024067C 4616C03C */ c.lt.s $f24, $f22 +/* D9B570 80240680 00000000 */ nop +.L80240684: +/* D9B574 80240684 4500000A */ bc1f .L802406B0 +/* D9B578 80240688 00000000 */ nop +/* D9B57C 8024068C 461AC03C */ c.lt.s $f24, $f26 +/* D9B580 80240690 00000000 */ nop +/* D9B584 80240694 45000006 */ bc1f .L802406B0 +/* D9B588 80240698 00000000 */ nop +/* D9B58C 8024069C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B590 802406A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B594 802406A4 8FA60020 */ lw $a2, 0x20($sp) +/* D9B598 802406A8 080901DA */ j .L80240768 +/* D9B59C 802406AC 8FA70028 */ lw $a3, 0x28($sp) +.L802406B0: +/* D9B5A0 802406B0 4618B03C */ c.lt.s $f22, $f24 +/* D9B5A4 802406B4 00000000 */ nop +/* D9B5A8 802406B8 4500000A */ bc1f .L802406E4 +/* D9B5AC 802406BC 00000000 */ nop +/* D9B5B0 802406C0 4616D03C */ c.lt.s $f26, $f22 +/* D9B5B4 802406C4 00000000 */ nop +/* D9B5B8 802406C8 45000006 */ bc1f .L802406E4 +/* D9B5BC 802406CC 00000000 */ nop +/* D9B5C0 802406D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B5C4 802406D4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B5C8 802406D8 8FA6002C */ lw $a2, 0x2c($sp) +/* D9B5CC 802406DC 080901DA */ j .L80240768 +/* D9B5D0 802406E0 8FA70034 */ lw $a3, 0x34($sp) +.L802406E4: +/* D9B5D4 802406E4 4618D03C */ c.lt.s $f26, $f24 +/* D9B5D8 802406E8 00000000 */ nop +/* D9B5DC 802406EC 4500000A */ bc1f .L80240718 +/* D9B5E0 802406F0 00000000 */ nop +/* D9B5E4 802406F4 461AB03C */ c.lt.s $f22, $f26 +/* D9B5E8 802406F8 00000000 */ nop +/* D9B5EC 802406FC 45000008 */ bc1f .L80240720 +/* D9B5F0 80240700 00000000 */ nop +/* D9B5F4 80240704 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B5F8 80240708 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B5FC 8024070C 8FA6002C */ lw $a2, 0x2c($sp) +/* D9B600 80240710 080901DA */ j .L80240768 +/* D9B604 80240714 8FA70034 */ lw $a3, 0x34($sp) +.L80240718: +/* D9B608 80240718 461AB03C */ c.lt.s $f22, $f26 +/* D9B60C 8024071C 00000000 */ nop +.L80240720: +/* D9B610 80240720 45000005 */ bc1f .L80240738 +/* D9B614 80240724 00000000 */ nop +/* D9B618 80240728 4616C03C */ c.lt.s $f24, $f22 +/* D9B61C 8024072C 00000000 */ nop +/* D9B620 80240730 45010009 */ bc1t .L80240758 +/* D9B624 80240734 00000000 */ nop +.L80240738: +/* D9B628 80240738 461AC03C */ c.lt.s $f24, $f26 +/* D9B62C 8024073C 00000000 */ nop +/* D9B630 80240740 4500000C */ bc1f .L80240774 +/* D9B634 80240744 00000000 */ nop +/* D9B638 80240748 4618B03C */ c.lt.s $f22, $f24 +/* D9B63C 8024074C 00000000 */ nop +/* D9B640 80240750 45000008 */ bc1f .L80240774 +/* D9B644 80240754 00000000 */ nop +.L80240758: +/* D9B648 80240758 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9B64C 8024075C C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9B650 80240760 8FA60038 */ lw $a2, 0x38($sp) +/* D9B654 80240764 8FA70040 */ lw $a3, 0x40($sp) +.L80240768: +/* D9B658 80240768 0C00A720 */ jal atan2 +/* D9B65C 8024076C 00000000 */ nop +/* D9B660 80240770 46000506 */ mov.s $f20, $f0 +.L80240774: +/* D9B664 80240774 C60C000C */ lwc1 $f12, 0xc($s0) +/* D9B668 80240778 0C00A70A */ jal get_clamped_angle_diff +/* D9B66C 8024077C 4600A386 */ mov.s $f14, $f20 +/* D9B670 80240780 46000086 */ mov.s $f2, $f0 +/* D9B674 80240784 8E22001C */ lw $v0, 0x1c($s1) +/* D9B678 80240788 46001005 */ abs.s $f0, $f2 +/* D9B67C 8024078C 44822000 */ mtc1 $v0, $f4 +/* D9B680 80240790 00000000 */ nop +/* D9B684 80240794 46802120 */ cvt.s.w $f4, $f4 +/* D9B688 80240798 4600203C */ c.lt.s $f4, $f0 +/* D9B68C 8024079C 00000000 */ nop +/* D9B690 802407A0 4500000D */ bc1f .L802407D8 +/* D9B694 802407A4 00000000 */ nop +/* D9B698 802407A8 44800000 */ mtc1 $zero, $f0 +/* D9B69C 802407AC C614000C */ lwc1 $f20, 0xc($s0) +/* D9B6A0 802407B0 4600103C */ c.lt.s $f2, $f0 +/* D9B6A4 802407B4 00000000 */ nop +/* D9B6A8 802407B8 45000006 */ bc1f .L802407D4 +/* D9B6AC 802407BC 00021023 */ negu $v0, $v0 +/* D9B6B0 802407C0 44820000 */ mtc1 $v0, $f0 +/* D9B6B4 802407C4 00000000 */ nop +/* D9B6B8 802407C8 46800020 */ cvt.s.w $f0, $f0 +/* D9B6BC 802407CC 080901F6 */ j .L802407D8 +/* D9B6C0 802407D0 4600A500 */ add.s $f20, $f20, $f0 +.L802407D4: +/* D9B6C4 802407D4 4604A500 */ add.s $f20, $f20, $f4 +.L802407D8: +/* D9B6C8 802407D8 0C00A6C9 */ jal clamp_angle +/* D9B6CC 802407DC 4600A306 */ mov.s $f12, $f20 +/* D9B6D0 802407E0 E600000C */ swc1 $f0, 0xc($s0) +.L802407E4: +/* D9B6D4 802407E4 12600005 */ beqz $s3, .L802407FC +/* D9B6D8 802407E8 2402000A */ addiu $v0, $zero, 0xa +.L802407EC: +/* D9B6DC 802407EC A602008E */ sh $v0, 0x8e($s0) +/* D9B6E0 802407F0 8E4200CC */ lw $v0, 0xcc($s2) +/* D9B6E4 802407F4 8C420020 */ lw $v0, 0x20($v0) +/* D9B6E8 802407F8 AE020028 */ sw $v0, 0x28($s0) +.L802407FC: +/* D9B6EC 802407FC 2402000D */ addiu $v0, $zero, 0xd +/* D9B6F0 80240800 AEC20070 */ sw $v0, 0x70($s6) +/* D9B6F4 80240804 8FBF0064 */ lw $ra, 0x64($sp) +/* D9B6F8 80240808 8FB60060 */ lw $s6, 0x60($sp) +/* D9B6FC 8024080C 8FB5005C */ lw $s5, 0x5c($sp) +/* D9B700 80240810 8FB40058 */ lw $s4, 0x58($sp) +/* D9B704 80240814 8FB30054 */ lw $s3, 0x54($sp) +/* D9B708 80240818 8FB20050 */ lw $s2, 0x50($sp) +/* D9B70C 8024081C 8FB1004C */ lw $s1, 0x4c($sp) +/* D9B710 80240820 8FB00048 */ lw $s0, 0x48($sp) +/* D9B714 80240824 D7BE0090 */ ldc1 $f30, 0x90($sp) +/* D9B718 80240828 D7BC0088 */ ldc1 $f28, 0x88($sp) +/* D9B71C 8024082C D7BA0080 */ ldc1 $f26, 0x80($sp) +/* D9B720 80240830 D7B80078 */ ldc1 $f24, 0x78($sp) +/* D9B724 80240834 D7B60070 */ ldc1 $f22, 0x70($sp) +/* D9B728 80240838 D7B40068 */ ldc1 $f20, 0x68($sp) +/* D9B72C 8024083C 03E00008 */ jr $ra +/* D9B730 80240840 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/nonmatchings/world/area_omo/omo_01/func_80240844_D9AEF0.s b/asm/nonmatchings/world/area_omo/omo_01/func_80240844_D9AEF0.s new file mode 100644 index 0000000000..5fa58c4ab3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_01/func_80240844_D9AEF0.s @@ -0,0 +1,100 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240844_D9B734 +/* D9B734 80240844 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D9B738 80240848 AFB3003C */ sw $s3, 0x3c($sp) +/* D9B73C 8024084C 0080982D */ daddu $s3, $a0, $zero +/* D9B740 80240850 AFBF0040 */ sw $ra, 0x40($sp) +/* D9B744 80240854 AFB20038 */ sw $s2, 0x38($sp) +/* D9B748 80240858 AFB10034 */ sw $s1, 0x34($sp) +/* D9B74C 8024085C AFB00030 */ sw $s0, 0x30($sp) +/* D9B750 80240860 8E720148 */ lw $s2, 0x148($s3) +/* D9B754 80240864 00A0882D */ daddu $s1, $a1, $zero +/* D9B758 80240868 86440008 */ lh $a0, 8($s2) +/* D9B75C 8024086C 0C00EABB */ jal get_npc_unsafe +/* D9B760 80240870 00C0802D */ daddu $s0, $a2, $zero +/* D9B764 80240874 0200202D */ daddu $a0, $s0, $zero +/* D9B768 80240878 0240282D */ daddu $a1, $s2, $zero +/* D9B76C 8024087C 24030001 */ addiu $v1, $zero, 1 +/* D9B770 80240880 AFA30010 */ sw $v1, 0x10($sp) +/* D9B774 80240884 8E260024 */ lw $a2, 0x24($s1) +/* D9B778 80240888 8E270028 */ lw $a3, 0x28($s1) +/* D9B77C 8024088C 0C01242D */ jal func_800490B4 +/* D9B780 80240890 0040802D */ daddu $s0, $v0, $zero +/* D9B784 80240894 1440001D */ bnez $v0, .L8024090C +/* D9B788 80240898 24040002 */ addiu $a0, $zero, 2 +/* D9B78C 8024089C 0200282D */ daddu $a1, $s0, $zero +/* D9B790 802408A0 0000302D */ daddu $a2, $zero, $zero +/* D9B794 802408A4 860300A8 */ lh $v1, 0xa8($s0) +/* D9B798 802408A8 3C013F80 */ lui $at, 0x3f80 +/* D9B79C 802408AC 44810000 */ mtc1 $at, $f0 +/* D9B7A0 802408B0 3C014000 */ lui $at, 0x4000 +/* D9B7A4 802408B4 44811000 */ mtc1 $at, $f2 +/* D9B7A8 802408B8 3C01C1A0 */ lui $at, 0xc1a0 +/* D9B7AC 802408BC 44812000 */ mtc1 $at, $f4 +/* D9B7B0 802408C0 2402000F */ addiu $v0, $zero, 0xf +/* D9B7B4 802408C4 AFA2001C */ sw $v0, 0x1c($sp) +/* D9B7B8 802408C8 44833000 */ mtc1 $v1, $f6 +/* D9B7BC 802408CC 00000000 */ nop +/* D9B7C0 802408D0 468031A0 */ cvt.s.w $f6, $f6 +/* D9B7C4 802408D4 44073000 */ mfc1 $a3, $f6 +/* D9B7C8 802408D8 27A20028 */ addiu $v0, $sp, 0x28 +/* D9B7CC 802408DC AFA20020 */ sw $v0, 0x20($sp) +/* D9B7D0 802408E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9B7D4 802408E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9B7D8 802408E8 0C01BFA4 */ jal fx_emote +/* D9B7DC 802408EC E7A40018 */ swc1 $f4, 0x18($sp) +/* D9B7E0 802408F0 8E4200CC */ lw $v0, 0xcc($s2) +/* D9B7E4 802408F4 8C430000 */ lw $v1, ($v0) +/* D9B7E8 802408F8 24020019 */ addiu $v0, $zero, 0x19 +/* D9B7EC 802408FC A602008E */ sh $v0, 0x8e($s0) +/* D9B7F0 80240900 2402000E */ addiu $v0, $zero, 0xe +/* D9B7F4 80240904 08090262 */ j .L80240988 +/* D9B7F8 80240908 AE030028 */ sw $v1, 0x28($s0) +.L8024090C: +/* D9B7FC 8024090C 8E4200CC */ lw $v0, 0xcc($s2) +/* D9B800 80240910 8E030028 */ lw $v1, 0x28($s0) +/* D9B804 80240914 8C420020 */ lw $v0, 0x20($v0) +/* D9B808 80240918 10620014 */ beq $v1, $v0, .L8024096C +/* D9B80C 8024091C 00000000 */ nop +/* D9B810 80240920 C6000018 */ lwc1 $f0, 0x18($s0) +/* D9B814 80240924 3C014010 */ lui $at, 0x4010 +/* D9B818 80240928 44811800 */ mtc1 $at, $f3 +/* D9B81C 8024092C 44801000 */ mtc1 $zero, $f2 +/* D9B820 80240930 46000021 */ cvt.d.s $f0, $f0 +/* D9B824 80240934 4622003C */ c.lt.d $f0, $f2 +/* D9B828 80240938 00000000 */ nop +/* D9B82C 8024093C 45000003 */ bc1f .L8024094C +/* D9B830 80240940 0000282D */ daddu $a1, $zero, $zero +/* D9B834 80240944 08090255 */ j .L80240954 +/* D9B838 80240948 0200202D */ daddu $a0, $s0, $zero +.L8024094C: +/* D9B83C 8024094C 0200202D */ daddu $a0, $s0, $zero +/* D9B840 80240950 24050001 */ addiu $a1, $zero, 1 +.L80240954: +/* D9B844 80240954 0C00F598 */ jal func_8003D660 +/* D9B848 80240958 00000000 */ nop +/* D9B84C 8024095C 8E050018 */ lw $a1, 0x18($s0) +/* D9B850 80240960 8E06000C */ lw $a2, 0xc($s0) +/* D9B854 80240964 0C00EA95 */ jal npc_move_heading +/* D9B858 80240968 0200202D */ daddu $a0, $s0, $zero +.L8024096C: +/* D9B85C 8024096C 8602008E */ lh $v0, 0x8e($s0) +/* D9B860 80240970 9603008E */ lhu $v1, 0x8e($s0) +/* D9B864 80240974 18400003 */ blez $v0, .L80240984 +/* D9B868 80240978 2462FFFF */ addiu $v0, $v1, -1 +/* D9B86C 8024097C 08090263 */ j .L8024098C +/* D9B870 80240980 A602008E */ sh $v0, 0x8e($s0) +.L80240984: +/* D9B874 80240984 2402000C */ addiu $v0, $zero, 0xc +.L80240988: +/* D9B878 80240988 AE620070 */ sw $v0, 0x70($s3) +.L8024098C: +/* D9B87C 8024098C 8FBF0040 */ lw $ra, 0x40($sp) +/* D9B880 80240990 8FB3003C */ lw $s3, 0x3c($sp) +/* D9B884 80240994 8FB20038 */ lw $s2, 0x38($sp) +/* D9B888 80240998 8FB10034 */ lw $s1, 0x34($sp) +/* D9B88C 8024099C 8FB00030 */ lw $s0, 0x30($sp) +/* D9B890 802409A0 03E00008 */ jr $ra +/* D9B894 802409A4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_01/func_802409A8_D9AEF0.s b/asm/nonmatchings/world/area_omo/omo_01/func_802409A8_D9AEF0.s new file mode 100644 index 0000000000..595552c349 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_01/func_802409A8_D9AEF0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409A8_D9B898 +/* D9B898 802409A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9B89C 802409AC AFB00010 */ sw $s0, 0x10($sp) +/* D9B8A0 802409B0 0080802D */ daddu $s0, $a0, $zero +/* D9B8A4 802409B4 AFBF0014 */ sw $ra, 0x14($sp) +/* D9B8A8 802409B8 8E020148 */ lw $v0, 0x148($s0) +/* D9B8AC 802409BC 0C00EABB */ jal get_npc_unsafe +/* D9B8B0 802409C0 84440008 */ lh $a0, 8($v0) +/* D9B8B4 802409C4 9443008E */ lhu $v1, 0x8e($v0) +/* D9B8B8 802409C8 2463FFFF */ addiu $v1, $v1, -1 +/* D9B8BC 802409CC A443008E */ sh $v1, 0x8e($v0) +/* D9B8C0 802409D0 00031C00 */ sll $v1, $v1, 0x10 +/* D9B8C4 802409D4 50600001 */ beql $v1, $zero, .L802409DC +/* D9B8C8 802409D8 AE000070 */ sw $zero, 0x70($s0) +.L802409DC: +/* D9B8CC 802409DC 8FBF0014 */ lw $ra, 0x14($sp) +/* D9B8D0 802409E0 8FB00010 */ lw $s0, 0x10($sp) +/* D9B8D4 802409E4 03E00008 */ jr $ra +/* D9B8D8 802409E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_01/func_802409EC_D9AEF0.s b/asm/nonmatchings/world/area_omo/omo_01/func_802409EC_D9AEF0.s new file mode 100644 index 0000000000..d9dbb0db5d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_01/func_802409EC_D9AEF0.s @@ -0,0 +1,154 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409EC_D9B8DC +/* D9B8DC 802409EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9B8E0 802409F0 AFB40040 */ sw $s4, 0x40($sp) +/* D9B8E4 802409F4 0080A02D */ daddu $s4, $a0, $zero +/* D9B8E8 802409F8 AFBF0048 */ sw $ra, 0x48($sp) +/* D9B8EC 802409FC AFB50044 */ sw $s5, 0x44($sp) +/* D9B8F0 80240A00 AFB3003C */ sw $s3, 0x3c($sp) +/* D9B8F4 80240A04 AFB20038 */ sw $s2, 0x38($sp) +/* D9B8F8 80240A08 AFB10034 */ sw $s1, 0x34($sp) +/* D9B8FC 80240A0C AFB00030 */ sw $s0, 0x30($sp) +/* D9B900 80240A10 8E910148 */ lw $s1, 0x148($s4) +/* D9B904 80240A14 86240008 */ lh $a0, 8($s1) +/* D9B908 80240A18 0C00EABB */ jal get_npc_unsafe +/* D9B90C 80240A1C 00A0802D */ daddu $s0, $a1, $zero +/* D9B910 80240A20 8E83000C */ lw $v1, 0xc($s4) +/* D9B914 80240A24 0280202D */ daddu $a0, $s4, $zero +/* D9B918 80240A28 8C650000 */ lw $a1, ($v1) +/* D9B91C 80240A2C 0C0B1EAF */ jal get_variable +/* D9B920 80240A30 0040A82D */ daddu $s5, $v0, $zero +/* D9B924 80240A34 AFA00010 */ sw $zero, 0x10($sp) +/* D9B928 80240A38 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9B92C 80240A3C 8C630030 */ lw $v1, 0x30($v1) +/* D9B930 80240A40 AFA30014 */ sw $v1, 0x14($sp) +/* D9B934 80240A44 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9B938 80240A48 8C63001C */ lw $v1, 0x1c($v1) +/* D9B93C 80240A4C AFA30018 */ sw $v1, 0x18($sp) +/* D9B940 80240A50 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9B944 80240A54 8C630024 */ lw $v1, 0x24($v1) +/* D9B948 80240A58 AFA3001C */ sw $v1, 0x1c($sp) +/* D9B94C 80240A5C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9B950 80240A60 8C630028 */ lw $v1, 0x28($v1) +/* D9B954 80240A64 27B30010 */ addiu $s3, $sp, 0x10 +/* D9B958 80240A68 AFA30020 */ sw $v1, 0x20($sp) +/* D9B95C 80240A6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9B960 80240A70 3C0142C8 */ lui $at, 0x42c8 +/* D9B964 80240A74 44810000 */ mtc1 $at, $f0 +/* D9B968 80240A78 8C63002C */ lw $v1, 0x2c($v1) +/* D9B96C 80240A7C 0040902D */ daddu $s2, $v0, $zero +/* D9B970 80240A80 E7A00028 */ swc1 $f0, 0x28($sp) +/* D9B974 80240A84 A7A0002C */ sh $zero, 0x2c($sp) +/* D9B978 80240A88 16000005 */ bnez $s0, .L80240AA0 +/* D9B97C 80240A8C AFA30024 */ sw $v1, 0x24($sp) +/* D9B980 80240A90 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9B984 80240A94 30420004 */ andi $v0, $v0, 4 +/* D9B988 80240A98 1040001F */ beqz $v0, .L80240B18 +/* D9B98C 80240A9C 00000000 */ nop +.L80240AA0: +/* D9B990 80240AA0 2404F7FF */ addiu $a0, $zero, -0x801 +/* D9B994 80240AA4 AE800070 */ sw $zero, 0x70($s4) +/* D9B998 80240AA8 A6A0008E */ sh $zero, 0x8e($s5) +/* D9B99C 80240AAC 8E2200CC */ lw $v0, 0xcc($s1) +/* D9B9A0 80240AB0 8EA30000 */ lw $v1, ($s5) +/* D9B9A4 80240AB4 8C420000 */ lw $v0, ($v0) +/* D9B9A8 80240AB8 00641824 */ and $v1, $v1, $a0 +/* D9B9AC 80240ABC AEA30000 */ sw $v1, ($s5) +/* D9B9B0 80240AC0 AEA20028 */ sw $v0, 0x28($s5) +/* D9B9B4 80240AC4 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9B9B8 80240AC8 8C420034 */ lw $v0, 0x34($v0) +/* D9B9BC 80240ACC 54400005 */ bnel $v0, $zero, .L80240AE4 +/* D9B9C0 80240AD0 2402FDFF */ addiu $v0, $zero, -0x201 +/* D9B9C4 80240AD4 34620200 */ ori $v0, $v1, 0x200 +/* D9B9C8 80240AD8 2403FFF7 */ addiu $v1, $zero, -9 +/* D9B9CC 80240ADC 080902BB */ j .L80240AEC +/* D9B9D0 80240AE0 00431024 */ and $v0, $v0, $v1 +.L80240AE4: +/* D9B9D4 80240AE4 00621024 */ and $v0, $v1, $v0 +/* D9B9D8 80240AE8 34420008 */ ori $v0, $v0, 8 +.L80240AEC: +/* D9B9DC 80240AEC AEA20000 */ sw $v0, ($s5) +/* D9B9E0 80240AF0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9B9E4 80240AF4 30420004 */ andi $v0, $v0, 4 +/* D9B9E8 80240AF8 10400007 */ beqz $v0, .L80240B18 +/* D9B9EC 80240AFC 24020063 */ addiu $v0, $zero, 0x63 +/* D9B9F0 80240B00 AE820070 */ sw $v0, 0x70($s4) +/* D9B9F4 80240B04 AE800074 */ sw $zero, 0x74($s4) +/* D9B9F8 80240B08 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9B9FC 80240B0C 2403FFFB */ addiu $v1, $zero, -5 +/* D9BA00 80240B10 00431024 */ and $v0, $v0, $v1 +/* D9BA04 80240B14 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240B18: +/* D9BA08 80240B18 8E830070 */ lw $v1, 0x70($s4) +/* D9BA0C 80240B1C 2C620064 */ sltiu $v0, $v1, 0x64 +/* D9BA10 80240B20 10400036 */ beqz $v0, .L80240BFC +/* D9BA14 80240B24 00031080 */ sll $v0, $v1, 2 +/* D9BA18 80240B28 3C018024 */ lui $at, 0x8024 +/* D9BA1C 80240B2C 00220821 */ addu $at, $at, $v0 +/* D9BA20 80240B30 8C222448 */ lw $v0, 0x2448($at) +/* D9BA24 80240B34 00400008 */ jr $v0 +/* D9BA28 80240B38 00000000 */ nop +/* D9BA2C 80240B3C 0280202D */ daddu $a0, $s4, $zero +/* D9BA30 80240B40 0240282D */ daddu $a1, $s2, $zero +/* D9BA34 80240B44 0C012568 */ jal func_800495A0 +/* D9BA38 80240B48 0260302D */ daddu $a2, $s3, $zero +/* D9BA3C 80240B4C 0280202D */ daddu $a0, $s4, $zero +/* D9BA40 80240B50 0240282D */ daddu $a1, $s2, $zero +/* D9BA44 80240B54 0C0125AE */ jal func_800496B8 +/* D9BA48 80240B58 0260302D */ daddu $a2, $s3, $zero +/* D9BA4C 80240B5C 080902FF */ j .L80240BFC +/* D9BA50 80240B60 00000000 */ nop +/* D9BA54 80240B64 0280202D */ daddu $a0, $s4, $zero +/* D9BA58 80240B68 0240282D */ daddu $a1, $s2, $zero +/* D9BA5C 80240B6C 0C0126D1 */ jal func_80049B44 +/* D9BA60 80240B70 0260302D */ daddu $a2, $s3, $zero +/* D9BA64 80240B74 0280202D */ daddu $a0, $s4, $zero +/* D9BA68 80240B78 0240282D */ daddu $a1, $s2, $zero +/* D9BA6C 80240B7C 0C012701 */ jal func_80049C04 +/* D9BA70 80240B80 0260302D */ daddu $a2, $s3, $zero +/* D9BA74 80240B84 080902FF */ j .L80240BFC +/* D9BA78 80240B88 00000000 */ nop +/* D9BA7C 80240B8C 0280202D */ daddu $a0, $s4, $zero +/* D9BA80 80240B90 0240282D */ daddu $a1, $s2, $zero +/* D9BA84 80240B94 0C01278F */ jal func_80049E3C +/* D9BA88 80240B98 0260302D */ daddu $a2, $s3, $zero +/* D9BA8C 80240B9C 0280202D */ daddu $a0, $s4, $zero +/* D9BA90 80240BA0 0240282D */ daddu $a1, $s2, $zero +/* D9BA94 80240BA4 0C0127B3 */ jal func_80049ECC +/* D9BA98 80240BA8 0260302D */ daddu $a2, $s3, $zero +/* D9BA9C 80240BAC 080902FF */ j .L80240BFC +/* D9BAA0 80240BB0 00000000 */ nop +/* D9BAA4 80240BB4 0280202D */ daddu $a0, $s4, $zero +/* D9BAA8 80240BB8 0240282D */ daddu $a1, $s2, $zero +/* D9BAAC 80240BBC 0C090098 */ jal func_80240260 +/* D9BAB0 80240BC0 0260302D */ daddu $a2, $s3, $zero +/* D9BAB4 80240BC4 0280202D */ daddu $a0, $s4, $zero +/* D9BAB8 80240BC8 0240282D */ daddu $a1, $s2, $zero +/* D9BABC 80240BCC 0C090211 */ jal func_80240844 +/* D9BAC0 80240BD0 0260302D */ daddu $a2, $s3, $zero +/* D9BAC4 80240BD4 080902FF */ j .L80240BFC +/* D9BAC8 80240BD8 00000000 */ nop +/* D9BACC 80240BDC 0280202D */ daddu $a0, $s4, $zero +/* D9BAD0 80240BE0 0240282D */ daddu $a1, $s2, $zero +/* D9BAD4 80240BE4 0C09026A */ jal func_802409A8 +/* D9BAD8 80240BE8 0260302D */ daddu $a2, $s3, $zero +/* D9BADC 80240BEC 080902FF */ j .L80240BFC +/* D9BAE0 80240BF0 00000000 */ nop +/* D9BAE4 80240BF4 0C0129CF */ jal func_8004A73C +/* D9BAE8 80240BF8 0280202D */ daddu $a0, $s4, $zero +.L80240BFC: +/* D9BAEC 80240BFC 8FBF0048 */ lw $ra, 0x48($sp) +/* D9BAF0 80240C00 8FB50044 */ lw $s5, 0x44($sp) +/* D9BAF4 80240C04 8FB40040 */ lw $s4, 0x40($sp) +/* D9BAF8 80240C08 8FB3003C */ lw $s3, 0x3c($sp) +/* D9BAFC 80240C0C 8FB20038 */ lw $s2, 0x38($sp) +/* D9BB00 80240C10 8FB10034 */ lw $s1, 0x34($sp) +/* D9BB04 80240C14 8FB00030 */ lw $s0, 0x30($sp) +/* D9BB08 80240C18 0000102D */ daddu $v0, $zero, $zero +/* D9BB0C 80240C1C 03E00008 */ jr $ra +/* D9BB10 80240C20 27BD0050 */ addiu $sp, $sp, 0x50 +/* D9BB14 80240C24 00000000 */ nop +/* D9BB18 80240C28 00000000 */ nop +/* D9BB1C 80240C2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240000_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240000_D9D4D0.s new file mode 100644 index 0000000000..6ee826468d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240000_D9D4D0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D9D4D0 +/* D9D4D0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* D9D4D4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* D9D4D8 80240008 94620002 */ lhu $v0, 2($v1) +/* D9D4DC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* D9D4E0 80240010 A4620002 */ sh $v0, 2($v1) +/* D9D4E4 80240014 03E00008 */ jr $ra +/* D9D4E8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_8024001C_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_8024001C_D9D4D0.s new file mode 100644 index 0000000000..0b30e39460 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_8024001C_D9D4D0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_D9D4EC +/* D9D4EC 8024001C 3C03800B */ lui $v1, %hi(gCameras) +/* D9D4F0 80240020 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* D9D4F4 80240024 94620002 */ lhu $v0, 2($v1) +/* D9D4F8 80240028 34420001 */ ori $v0, $v0, 1 +/* D9D4FC 8024002C A4620002 */ sh $v0, 2($v1) +/* D9D500 80240030 03E00008 */ jr $ra +/* D9D504 80240034 24020002 */ addiu $v0, $zero, 2 +/* D9D508 80240038 00000000 */ nop +/* D9D50C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240040_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240040_D9D4D0.s new file mode 100644 index 0000000000..51070da404 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240040_D9D4D0.s @@ -0,0 +1,170 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_D9D510 +/* D9D510 80240040 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* D9D514 80240044 AFB600B0 */ sw $s6, 0xb0($sp) +/* D9D518 80240048 AFBF00B4 */ sw $ra, 0xb4($sp) +/* D9D51C 8024004C AFB500AC */ sw $s5, 0xac($sp) +/* D9D520 80240050 AFB400A8 */ sw $s4, 0xa8($sp) +/* D9D524 80240054 AFB300A4 */ sw $s3, 0xa4($sp) +/* D9D528 80240058 AFB200A0 */ sw $s2, 0xa0($sp) +/* D9D52C 8024005C AFB1009C */ sw $s1, 0x9c($sp) +/* D9D530 80240060 AFB00098 */ sw $s0, 0x98($sp) +/* D9D534 80240064 F7B800C8 */ sdc1 $f24, 0xc8($sp) +/* D9D538 80240068 F7B600C0 */ sdc1 $f22, 0xc0($sp) +/* D9D53C 8024006C F7B400B8 */ sdc1 $f20, 0xb8($sp) +/* D9D540 80240070 10A0001E */ beqz $a1, .L802400EC +/* D9D544 80240074 0080B02D */ daddu $s6, $a0, $zero +/* D9D548 80240078 0C00AB39 */ jal heap_malloc +/* D9D54C 8024007C 24040030 */ addiu $a0, $zero, 0x30 +/* D9D550 80240080 0040982D */ daddu $s3, $v0, $zero +/* D9D554 80240084 0000A02D */ daddu $s4, $zero, $zero +/* D9D558 80240088 26700008 */ addiu $s0, $s3, 8 +/* D9D55C 8024008C 3C014060 */ lui $at, 0x4060 +/* D9D560 80240090 4481A000 */ mtc1 $at, $f20 +/* D9D564 80240094 3C128024 */ lui $s2, 0x8024 +/* D9D568 80240098 265234F8 */ addiu $s2, $s2, 0x34f8 +/* D9D56C 8024009C AED30070 */ sw $s3, 0x70($s6) +.L802400A0: +/* D9D570 802400A0 8E440000 */ lw $a0, ($s2) +/* D9D574 802400A4 26520004 */ addiu $s2, $s2, 4 +/* D9D578 802400A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9D57C 802400AC AE04000C */ sw $a0, 0xc($s0) +/* D9D580 802400B0 0C046B4C */ jal get_model_from_list_index +/* D9D584 802400B4 0040202D */ daddu $a0, $v0, $zero +/* D9D588 802400B8 0040882D */ daddu $s1, $v0, $zero +/* D9D58C 802400BC 26940001 */ addiu $s4, $s4, 1 +/* D9D590 802400C0 C6200098 */ lwc1 $f0, 0x98($s1) +/* D9D594 802400C4 2E820002 */ sltiu $v0, $s4, 2 +/* D9D598 802400C8 E6600000 */ swc1 $f0, ($s3) +/* D9D59C 802400CC C62000A0 */ lwc1 $f0, 0xa0($s1) +/* D9D5A0 802400D0 26730018 */ addiu $s3, $s3, 0x18 +/* D9D5A4 802400D4 E6140004 */ swc1 $f20, 4($s0) +/* D9D5A8 802400D8 AE000008 */ sw $zero, 8($s0) +/* D9D5AC 802400DC AE000000 */ sw $zero, ($s0) +/* D9D5B0 802400E0 E600FFFC */ swc1 $f0, -4($s0) +/* D9D5B4 802400E4 1440FFEE */ bnez $v0, .L802400A0 +/* D9D5B8 802400E8 26100018 */ addiu $s0, $s0, 0x18 +.L802400EC: +/* D9D5BC 802400EC 0000A02D */ daddu $s4, $zero, $zero +/* D9D5C0 802400F0 27B50058 */ addiu $s5, $sp, 0x58 +/* D9D5C4 802400F4 8ED30070 */ lw $s3, 0x70($s6) +/* D9D5C8 802400F8 4480B000 */ mtc1 $zero, $f22 +/* D9D5CC 802400FC 26720004 */ addiu $s2, $s3, 4 +.L80240100: +/* D9D5D0 80240100 C64C000C */ lwc1 $f12, 0xc($s2) +/* D9D5D4 80240104 C6400008 */ lwc1 $f0, 8($s2) +/* D9D5D8 80240108 46006300 */ add.s $f12, $f12, $f0 +/* D9D5DC 8024010C 0C00A6C9 */ jal clamp_angle +/* D9D5E0 80240110 E64C000C */ swc1 $f12, 0xc($s2) +/* D9D5E4 80240114 3C014048 */ lui $at, 0x4048 +/* D9D5E8 80240118 3421F5C3 */ ori $at, $at, 0xf5c3 +/* D9D5EC 8024011C 44816000 */ mtc1 $at, $f12 +/* D9D5F0 80240120 00000000 */ nop +/* D9D5F4 80240124 460C0302 */ mul.s $f12, $f0, $f12 +/* D9D5F8 80240128 00000000 */ nop +/* D9D5FC 8024012C 3C014334 */ lui $at, 0x4334 +/* D9D600 80240130 44811000 */ mtc1 $at, $f2 +/* D9D604 80240134 E640000C */ swc1 $f0, 0xc($s2) +/* D9D608 80240138 0C00A85B */ jal sin_rad +/* D9D60C 8024013C 46026303 */ div.s $f12, $f12, $f2 +/* D9D610 80240140 3C0141A0 */ lui $at, 0x41a0 +/* D9D614 80240144 44811000 */ mtc1 $at, $f2 +/* D9D618 80240148 00000000 */ nop +/* D9D61C 8024014C 46020502 */ mul.s $f20, $f0, $f2 +/* D9D620 80240150 00000000 */ nop +/* D9D624 80240154 4614A082 */ mul.s $f2, $f20, $f20 +/* D9D628 80240158 00000000 */ nop +/* D9D62C 8024015C 3C0142B4 */ lui $at, 0x42b4 +/* D9D630 80240160 44810000 */ mtc1 $at, $f0 +/* D9D634 80240164 1680001C */ bnez $s4, .L802401D8 +/* D9D638 80240168 46001603 */ div.s $f24, $f2, $f0 +/* D9D63C 8024016C C6400004 */ lwc1 $f0, 4($s2) +/* D9D640 80240170 4600B03E */ c.le.s $f22, $f0 +/* D9D644 80240174 00000000 */ nop +/* D9D648 80240178 45000005 */ bc1f .L80240190 +/* D9D64C 8024017C 00000000 */ nop +/* D9D650 80240180 4616A03C */ c.lt.s $f20, $f22 +/* D9D654 80240184 00000000 */ nop +/* D9D658 80240188 4501000A */ bc1t .L802401B4 +/* D9D65C 8024018C 240401D6 */ addiu $a0, $zero, 0x1d6 +.L80240190: +/* D9D660 80240190 4616003C */ c.lt.s $f0, $f22 +/* D9D664 80240194 00000000 */ nop +/* D9D668 80240198 4502000F */ bc1fl .L802401D8 +/* D9D66C 8024019C E6540004 */ swc1 $f20, 4($s2) +/* D9D670 802401A0 4614B03E */ c.le.s $f22, $f20 +/* D9D674 802401A4 00000000 */ nop +/* D9D678 802401A8 4502000B */ bc1fl .L802401D8 +/* D9D67C 802401AC E6540004 */ swc1 $f20, 4($s2) +/* D9D680 802401B0 240401D6 */ addiu $a0, $zero, 0x1d6 +.L802401B4: +/* D9D684 802401B4 0000282D */ daddu $a1, $zero, $zero +/* D9D688 802401B8 3C06C430 */ lui $a2, 0xc430 +/* D9D68C 802401BC 34C68000 */ ori $a2, $a2, 0x8000 +/* D9D690 802401C0 3C0142CC */ lui $at, 0x42cc +/* D9D694 802401C4 44810000 */ mtc1 $at, $f0 +/* D9D698 802401C8 0000382D */ daddu $a3, $zero, $zero +/* D9D69C 802401CC 0C052757 */ jal play_sound_at_position +/* D9D6A0 802401D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9D6A4 802401D4 E6540004 */ swc1 $f20, 4($s2) +.L802401D8: +/* D9D6A8 802401D8 8E440010 */ lw $a0, 0x10($s2) +/* D9D6AC 802401DC 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9D6B0 802401E0 26940001 */ addiu $s4, $s4, 1 +/* D9D6B4 802401E4 0C046B4C */ jal get_model_from_list_index +/* D9D6B8 802401E8 0040202D */ daddu $a0, $v0, $zero +/* D9D6BC 802401EC 0040882D */ daddu $s1, $v0, $zero +/* D9D6C0 802401F0 96220000 */ lhu $v0, ($s1) +/* D9D6C4 802401F4 4406B000 */ mfc1 $a2, $f22 +/* D9D6C8 802401F8 34421400 */ ori $v0, $v0, 0x1400 +/* D9D6CC 802401FC A6220000 */ sh $v0, ($s1) +/* D9D6D0 80240200 C6600000 */ lwc1 $f0, ($s3) +/* D9D6D4 80240204 C6420000 */ lwc1 $f2, ($s2) +/* D9D6D8 80240208 46000007 */ neg.s $f0, $f0 +/* D9D6DC 8024020C 46001087 */ neg.s $f2, $f2 +/* D9D6E0 80240210 44050000 */ mfc1 $a1, $f0 +/* D9D6E4 80240214 44071000 */ mfc1 $a3, $f2 +/* D9D6E8 80240218 0C019E40 */ jal guTranslateF +/* D9D6EC 8024021C 27A40018 */ addiu $a0, $sp, 0x18 +/* D9D6F0 80240220 4405A000 */ mfc1 $a1, $f20 +/* D9D6F4 80240224 4406B000 */ mfc1 $a2, $f22 +/* D9D6F8 80240228 4407B000 */ mfc1 $a3, $f22 +/* D9D6FC 8024022C 3C013F80 */ lui $at, 0x3f80 +/* D9D700 80240230 44810000 */ mtc1 $at, $f0 +/* D9D704 80240234 02A0202D */ daddu $a0, $s5, $zero +/* D9D708 80240238 0C019EC8 */ jal guRotateF +/* D9D70C 8024023C E7A00010 */ swc1 $f0, 0x10($sp) +/* D9D710 80240240 27A40018 */ addiu $a0, $sp, 0x18 +/* D9D714 80240244 02A0282D */ daddu $a1, $s5, $zero +/* D9D718 80240248 26300058 */ addiu $s0, $s1, 0x58 +/* D9D71C 8024024C 0C019D80 */ jal guMtxCatF +/* D9D720 80240250 0200302D */ daddu $a2, $s0, $zero +/* D9D724 80240254 27A40018 */ addiu $a0, $sp, 0x18 +/* D9D728 80240258 8E470000 */ lw $a3, ($s2) +/* D9D72C 8024025C 26520018 */ addiu $s2, $s2, 0x18 +/* D9D730 80240260 8E650000 */ lw $a1, ($s3) +/* D9D734 80240264 4406C000 */ mfc1 $a2, $f24 +/* D9D738 80240268 0C019E40 */ jal guTranslateF +/* D9D73C 8024026C 26730018 */ addiu $s3, $s3, 0x18 +/* D9D740 80240270 0200202D */ daddu $a0, $s0, $zero +/* D9D744 80240274 27A50018 */ addiu $a1, $sp, 0x18 +/* D9D748 80240278 0C019D80 */ jal guMtxCatF +/* D9D74C 8024027C 0080302D */ daddu $a2, $a0, $zero +/* D9D750 80240280 2E820002 */ sltiu $v0, $s4, 2 +/* D9D754 80240284 1440FF9E */ bnez $v0, .L80240100 +/* D9D758 80240288 0000102D */ daddu $v0, $zero, $zero +/* D9D75C 8024028C 8FBF00B4 */ lw $ra, 0xb4($sp) +/* D9D760 80240290 8FB600B0 */ lw $s6, 0xb0($sp) +/* D9D764 80240294 8FB500AC */ lw $s5, 0xac($sp) +/* D9D768 80240298 8FB400A8 */ lw $s4, 0xa8($sp) +/* D9D76C 8024029C 8FB300A4 */ lw $s3, 0xa4($sp) +/* D9D770 802402A0 8FB200A0 */ lw $s2, 0xa0($sp) +/* D9D774 802402A4 8FB1009C */ lw $s1, 0x9c($sp) +/* D9D778 802402A8 8FB00098 */ lw $s0, 0x98($sp) +/* D9D77C 802402AC D7B800C8 */ ldc1 $f24, 0xc8($sp) +/* D9D780 802402B0 D7B600C0 */ ldc1 $f22, 0xc0($sp) +/* D9D784 802402B4 D7B400B8 */ ldc1 $f20, 0xb8($sp) +/* D9D788 802402B8 03E00008 */ jr $ra +/* D9D78C 802402BC 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802402C0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802402C0_D9D4D0.s new file mode 100644 index 0000000000..e24a724b87 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802402C0_D9D4D0.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402C0_D9D790 +/* D9D790 802402C0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9D794 802402C4 AFB5002C */ sw $s5, 0x2c($sp) +/* D9D798 802402C8 00A0A82D */ daddu $s5, $a1, $zero +/* D9D79C 802402CC AFB40028 */ sw $s4, 0x28($sp) +/* D9D7A0 802402D0 0080A02D */ daddu $s4, $a0, $zero +/* D9D7A4 802402D4 AFBF0034 */ sw $ra, 0x34($sp) +/* D9D7A8 802402D8 AFB60030 */ sw $s6, 0x30($sp) +/* D9D7AC 802402DC AFB30024 */ sw $s3, 0x24($sp) +/* D9D7B0 802402E0 AFB20020 */ sw $s2, 0x20($sp) +/* D9D7B4 802402E4 AFB1001C */ sw $s1, 0x1c($sp) +/* D9D7B8 802402E8 AFB00018 */ sw $s0, 0x18($sp) +/* D9D7BC 802402EC F7B80048 */ sdc1 $f24, 0x48($sp) +/* D9D7C0 802402F0 F7B60040 */ sdc1 $f22, 0x40($sp) +/* D9D7C4 802402F4 F7B40038 */ sdc1 $f20, 0x38($sp) +.L802402F8: +/* D9D7C8 802402F8 240200DE */ addiu $v0, $zero, 0xde +/* D9D7CC 802402FC 8E920000 */ lw $s2, ($s4) +/* D9D7D0 80240300 8E930004 */ lw $s3, 4($s4) +/* D9D7D4 80240304 0012B602 */ srl $s6, $s2, 0x18 +/* D9D7D8 80240308 32D000FF */ andi $s0, $s6, 0xff +/* D9D7DC 8024030C 16020005 */ bne $s0, $v0, .L80240324 +/* D9D7E0 80240310 24020001 */ addiu $v0, $zero, 1 +/* D9D7E4 80240314 0260202D */ daddu $a0, $s3, $zero +/* D9D7E8 80240318 0C0900B0 */ jal func_802402C0 +/* D9D7EC 8024031C 02A0282D */ daddu $a1, $s5, $zero +/* D9D7F0 80240320 24020001 */ addiu $v0, $zero, 1 +.L80240324: +/* D9D7F4 80240324 16020036 */ bne $s0, $v0, .L80240400 +/* D9D7F8 80240328 240200DF */ addiu $v0, $zero, 0xdf +/* D9D7FC 8024032C 0000882D */ daddu $s1, $zero, $zero +/* D9D800 80240330 2402FFFF */ addiu $v0, $zero, -1 +/* D9D804 80240334 AEA20000 */ sw $v0, ($s5) +/* D9D808 80240338 00121302 */ srl $v0, $s2, 0xc +/* D9D80C 8024033C 4480A000 */ mtc1 $zero, $f20 +/* D9D810 80240340 305200FF */ andi $s2, $v0, 0xff +/* D9D814 80240344 4600A606 */ mov.s $f24, $f20 +/* D9D818 80240348 1240002C */ beqz $s2, .L802403FC +/* D9D81C 8024034C 4600A586 */ mov.s $f22, $f20 +/* D9D820 80240350 0260802D */ daddu $s0, $s3, $zero +.L80240354: +/* D9D824 80240354 86020000 */ lh $v0, ($s0) +/* D9D828 80240358 44822000 */ mtc1 $v0, $f4 +/* D9D82C 8024035C 00000000 */ nop +/* D9D830 80240360 46802120 */ cvt.s.w $f4, $f4 +/* D9D834 80240364 46162101 */ sub.s $f4, $f4, $f22 +/* D9D838 80240368 46042102 */ mul.s $f4, $f4, $f4 +/* D9D83C 8024036C 00000000 */ nop +/* D9D840 80240370 86020002 */ lh $v0, 2($s0) +/* D9D844 80240374 44821000 */ mtc1 $v0, $f2 +/* D9D848 80240378 00000000 */ nop +/* D9D84C 8024037C 468010A0 */ cvt.s.w $f2, $f2 +/* D9D850 80240380 46181081 */ sub.s $f2, $f2, $f24 +/* D9D854 80240384 46021082 */ mul.s $f2, $f2, $f2 +/* D9D858 80240388 00000000 */ nop +/* D9D85C 8024038C 86020004 */ lh $v0, 4($s0) +/* D9D860 80240390 44820000 */ mtc1 $v0, $f0 +/* D9D864 80240394 00000000 */ nop +/* D9D868 80240398 46800020 */ cvt.s.w $f0, $f0 +/* D9D86C 8024039C 46140001 */ sub.s $f0, $f0, $f20 +/* D9D870 802403A0 46000002 */ mul.s $f0, $f0, $f0 +/* D9D874 802403A4 00000000 */ nop +/* D9D878 802403A8 46022100 */ add.s $f4, $f4, $f2 +/* D9D87C 802403AC 46002300 */ add.s $f12, $f4, $f0 +/* D9D880 802403B0 46006084 */ sqrt.s $f2, $f12 +/* D9D884 802403B4 46021032 */ c.eq.s $f2, $f2 +/* D9D888 802403B8 00000000 */ nop +/* D9D88C 802403BC 45010004 */ bc1t .L802403D0 +/* D9D890 802403C0 00000000 */ nop +/* D9D894 802403C4 0C0187BC */ jal sqrtf +/* D9D898 802403C8 00000000 */ nop +/* D9D89C 802403CC 46000086 */ mov.s $f2, $f0 +.L802403D0: +/* D9D8A0 802403D0 C6A00000 */ lwc1 $f0, ($s5) +/* D9D8A4 802403D4 46800020 */ cvt.s.w $f0, $f0 +/* D9D8A8 802403D8 4602003C */ c.lt.s $f0, $f2 +/* D9D8AC 802403DC 00000000 */ nop +/* D9D8B0 802403E0 45000003 */ bc1f .L802403F0 +/* D9D8B4 802403E4 26310001 */ addiu $s1, $s1, 1 +/* D9D8B8 802403E8 4600118D */ trunc.w.s $f6, $f2 +/* D9D8BC 802403EC E6A60000 */ swc1 $f6, ($s5) +.L802403F0: +/* D9D8C0 802403F0 0232102A */ slt $v0, $s1, $s2 +/* D9D8C4 802403F4 1440FFD7 */ bnez $v0, .L80240354 +/* D9D8C8 802403F8 26100010 */ addiu $s0, $s0, 0x10 +.L802403FC: +/* D9D8CC 802403FC 240200DF */ addiu $v0, $zero, 0xdf +.L80240400: +/* D9D8D0 80240400 16C2FFBD */ bne $s6, $v0, .L802402F8 +/* D9D8D4 80240404 26940008 */ addiu $s4, $s4, 8 +/* D9D8D8 80240408 8FBF0034 */ lw $ra, 0x34($sp) +/* D9D8DC 8024040C 8FB60030 */ lw $s6, 0x30($sp) +/* D9D8E0 80240410 8FB5002C */ lw $s5, 0x2c($sp) +/* D9D8E4 80240414 8FB40028 */ lw $s4, 0x28($sp) +/* D9D8E8 80240418 8FB30024 */ lw $s3, 0x24($sp) +/* D9D8EC 8024041C 8FB20020 */ lw $s2, 0x20($sp) +/* D9D8F0 80240420 8FB1001C */ lw $s1, 0x1c($sp) +/* D9D8F4 80240424 8FB00018 */ lw $s0, 0x18($sp) +/* D9D8F8 80240428 D7B80048 */ ldc1 $f24, 0x48($sp) +/* D9D8FC 8024042C D7B60040 */ ldc1 $f22, 0x40($sp) +/* D9D900 80240430 D7B40038 */ ldc1 $f20, 0x38($sp) +/* D9D904 80240434 03E00008 */ jr $ra +/* D9D908 80240438 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_8024043C_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_8024043C_D9D4D0.s new file mode 100644 index 0000000000..52ad8db29b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_8024043C_D9D4D0.s @@ -0,0 +1,349 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024043C_D9D90C +/* D9D90C 8024043C 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* D9D910 80240440 AFB70134 */ sw $s7, 0x134($sp) +/* D9D914 80240444 AFBF013C */ sw $ra, 0x13c($sp) +/* D9D918 80240448 AFBE0138 */ sw $fp, 0x138($sp) +/* D9D91C 8024044C AFB60130 */ sw $s6, 0x130($sp) +/* D9D920 80240450 AFB5012C */ sw $s5, 0x12c($sp) +/* D9D924 80240454 AFB40128 */ sw $s4, 0x128($sp) +/* D9D928 80240458 AFB30124 */ sw $s3, 0x124($sp) +/* D9D92C 8024045C AFB20120 */ sw $s2, 0x120($sp) +/* D9D930 80240460 AFB1011C */ sw $s1, 0x11c($sp) +/* D9D934 80240464 AFB00118 */ sw $s0, 0x118($sp) +/* D9D938 80240468 F7B60148 */ sdc1 $f22, 0x148($sp) +/* D9D93C 8024046C F7B40140 */ sdc1 $f20, 0x140($sp) +/* D9D940 80240470 10A0007E */ beqz $a1, .L8024066C +/* D9D944 80240474 0080B82D */ daddu $s7, $a0, $zero +/* D9D948 80240478 0C00AB39 */ jal heap_malloc +/* D9D94C 8024047C 24040690 */ addiu $a0, $zero, 0x690 +/* D9D950 80240480 0000982D */ daddu $s3, $zero, $zero +/* D9D954 80240484 AEE20070 */ sw $v0, 0x70($s7) +/* D9D958 80240488 0040882D */ daddu $s1, $v0, $zero +/* D9D95C 8024048C 3C148024 */ lui $s4, 0x8024 +/* D9D960 80240490 26943580 */ addiu $s4, $s4, 0x3580 +/* D9D964 80240494 3C014120 */ lui $at, 0x4120 +/* D9D968 80240498 4481A000 */ mtc1 $at, $f20 +/* D9D96C 8024049C 26300088 */ addiu $s0, $s1, 0x88 +/* D9D970 802404A0 AEE00074 */ sw $zero, 0x74($s7) +.L802404A4: +/* D9D974 802404A4 8E820000 */ lw $v0, ($s4) +/* D9D978 802404A8 AE02FFB8 */ sw $v0, -0x48($s0) +/* D9D97C 802404AC 0040202D */ daddu $a0, $v0, $zero +/* D9D980 802404B0 00131080 */ sll $v0, $s3, 2 +/* D9D984 802404B4 3C018024 */ lui $at, 0x8024 +/* D9D988 802404B8 00220821 */ addu $at, $at, $v0 +/* D9D98C 802404BC 8C2235B0 */ lw $v0, 0x35b0($at) +/* D9D990 802404C0 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9D994 802404C4 AE02FFBC */ sw $v0, -0x44($s0) +/* D9D998 802404C8 0C046B4C */ jal get_model_from_list_index +/* D9D99C 802404CC 0040202D */ daddu $a0, $v0, $zero +/* D9D9A0 802404D0 0040902D */ daddu $s2, $v0, $zero +/* D9D9A4 802404D4 AE200000 */ sw $zero, ($s1) +/* D9D9A8 802404D8 C6400098 */ lwc1 $f0, 0x98($s2) +/* D9D9AC 802404DC E600FF7C */ swc1 $f0, -0x84($s0) +/* D9D9B0 802404E0 C640009C */ lwc1 $f0, 0x9c($s2) +/* D9D9B4 802404E4 E600FF80 */ swc1 $f0, -0x80($s0) +/* D9D9B8 802404E8 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* D9D9BC 802404EC C602FF80 */ lwc1 $f2, -0x80($s0) +/* D9D9C0 802404F0 E600FF84 */ swc1 $f0, -0x7c($s0) +/* D9D9C4 802404F4 C600FF7C */ lwc1 $f0, -0x84($s0) +/* D9D9C8 802404F8 C604FF84 */ lwc1 $f4, -0x7c($s0) +/* D9D9CC 802404FC 24040014 */ addiu $a0, $zero, 0x14 +/* D9D9D0 80240500 AE00FF94 */ sw $zero, -0x6c($s0) +/* D9D9D4 80240504 AE00FF98 */ sw $zero, -0x68($s0) +/* D9D9D8 80240508 AE00FF9C */ sw $zero, -0x64($s0) +/* D9D9DC 8024050C E602FF8C */ swc1 $f2, -0x74($s0) +/* D9D9E0 80240510 E600FF88 */ swc1 $f0, -0x78($s0) +/* D9D9E4 80240514 0C00A67F */ jal rand_int +/* D9D9E8 80240518 E604FF90 */ swc1 $f4, -0x70($s0) +/* D9D9EC 8024051C 24040014 */ addiu $a0, $zero, 0x14 +/* D9D9F0 80240520 2442FFF6 */ addiu $v0, $v0, -0xa +/* D9D9F4 80240524 44820000 */ mtc1 $v0, $f0 +/* D9D9F8 80240528 00000000 */ nop +/* D9D9FC 8024052C 46800020 */ cvt.s.w $f0, $f0 +/* D9DA00 80240530 0C00A67F */ jal rand_int +/* D9DA04 80240534 E600FFA0 */ swc1 $f0, -0x60($s0) +/* D9DA08 80240538 24040014 */ addiu $a0, $zero, 0x14 +/* D9DA0C 8024053C 2442FFF6 */ addiu $v0, $v0, -0xa +/* D9DA10 80240540 44820000 */ mtc1 $v0, $f0 +/* D9DA14 80240544 00000000 */ nop +/* D9DA18 80240548 46800020 */ cvt.s.w $f0, $f0 +/* D9DA1C 8024054C 0C00A67F */ jal rand_int +/* D9DA20 80240550 E600FFA4 */ swc1 $f0, -0x5c($s0) +/* D9DA24 80240554 24040028 */ addiu $a0, $zero, 0x28 +/* D9DA28 80240558 2442FFF6 */ addiu $v0, $v0, -0xa +/* D9DA2C 8024055C 44820000 */ mtc1 $v0, $f0 +/* D9DA30 80240560 00000000 */ nop +/* D9DA34 80240564 46800020 */ cvt.s.w $f0, $f0 +/* D9DA38 80240568 0C00A67F */ jal rand_int +/* D9DA3C 8024056C E600FFA8 */ swc1 $f0, -0x58($s0) +/* D9DA40 80240570 3C0142C8 */ lui $at, 0x42c8 +/* D9DA44 80240574 44811000 */ mtc1 $at, $f2 +/* D9DA48 80240578 44820000 */ mtc1 $v0, $f0 +/* D9DA4C 8024057C 00000000 */ nop +/* D9DA50 80240580 46800020 */ cvt.s.w $f0, $f0 +/* D9DA54 80240584 46020000 */ add.s $f0, $f0, $f2 +/* D9DA58 80240588 2404001E */ addiu $a0, $zero, 0x1e +/* D9DA5C 8024058C 46140003 */ div.s $f0, $f0, $f20 +/* D9DA60 80240590 0C00A67F */ jal rand_int +/* D9DA64 80240594 E600FFAC */ swc1 $f0, -0x54($s0) +/* D9DA68 80240598 3C014270 */ lui $at, 0x4270 +/* D9DA6C 8024059C 44811000 */ mtc1 $at, $f2 +/* D9DA70 802405A0 44820000 */ mtc1 $v0, $f0 +/* D9DA74 802405A4 00000000 */ nop +/* D9DA78 802405A8 46800020 */ cvt.s.w $f0, $f0 +/* D9DA7C 802405AC 46020000 */ add.s $f0, $f0, $f2 +/* D9DA80 802405B0 24040064 */ addiu $a0, $zero, 0x64 +/* D9DA84 802405B4 46140003 */ div.s $f0, $f0, $f20 +/* D9DA88 802405B8 0C00A67F */ jal rand_int +/* D9DA8C 802405BC E600FFB0 */ swc1 $f0, -0x50($s0) +/* D9DA90 802405C0 00021FC2 */ srl $v1, $v0, 0x1f +/* D9DA94 802405C4 00431821 */ addu $v1, $v0, $v1 +/* D9DA98 802405C8 00031843 */ sra $v1, $v1, 1 +/* D9DA9C 802405CC 00031840 */ sll $v1, $v1, 1 +/* D9DAA0 802405D0 00431023 */ subu $v0, $v0, $v1 +/* D9DAA4 802405D4 3C014334 */ lui $at, 0x4334 +/* D9DAA8 802405D8 44811000 */ mtc1 $at, $f2 +/* D9DAAC 802405DC 44820000 */ mtc1 $v0, $f0 +/* D9DAB0 802405E0 00000000 */ nop +/* D9DAB4 802405E4 46800020 */ cvt.s.w $f0, $f0 +/* D9DAB8 802405E8 46020002 */ mul.s $f0, $f0, $f2 +/* D9DABC 802405EC 00000000 */ nop +/* D9DAC0 802405F0 3C0142B4 */ lui $at, 0x42b4 +/* D9DAC4 802405F4 44811000 */ mtc1 $at, $f2 +/* D9DAC8 802405F8 00000000 */ nop +/* D9DACC 802405FC 46020000 */ add.s $f0, $f0, $f2 +/* D9DAD0 80240600 E600FFB4 */ swc1 $f0, -0x4c($s0) +/* D9DAD4 80240604 8E420008 */ lw $v0, 8($s2) +/* D9DAD8 80240608 8C420004 */ lw $v0, 4($v0) +/* D9DADC 8024060C 8C440000 */ lw $a0, ($v0) +/* D9DAE0 80240610 0C0900B0 */ jal func_802402C0 +/* D9DAE4 80240614 0200282D */ daddu $a1, $s0, $zero +/* D9DAE8 80240618 0000302D */ daddu $a2, $zero, $zero +/* D9DAEC 8024061C 0000282D */ daddu $a1, $zero, $zero +.L80240620: +/* D9DAF0 80240620 00062100 */ sll $a0, $a2, 4 +.L80240624: +/* D9DAF4 80240624 02241821 */ addu $v1, $s1, $a0 +/* D9DAF8 80240628 02441021 */ addu $v0, $s2, $a0 +/* D9DAFC 8024062C 24840004 */ addiu $a0, $a0, 4 +/* D9DB00 80240630 24A50001 */ addiu $a1, $a1, 1 +/* D9DB04 80240634 C4400058 */ lwc1 $f0, 0x58($v0) +/* D9DB08 80240638 28A20004 */ slti $v0, $a1, 4 +/* D9DB0C 8024063C 1440FFF9 */ bnez $v0, .L80240624 +/* D9DB10 80240640 E4600048 */ swc1 $f0, 0x48($v1) +/* D9DB14 80240644 24C60001 */ addiu $a2, $a2, 1 +/* D9DB18 80240648 28C20004 */ slti $v0, $a2, 4 +/* D9DB1C 8024064C 1440FFF4 */ bnez $v0, .L80240620 +/* D9DB20 80240650 0000282D */ daddu $a1, $zero, $zero +/* D9DB24 80240654 26940004 */ addiu $s4, $s4, 4 +/* D9DB28 80240658 26730001 */ addiu $s3, $s3, 1 +/* D9DB2C 8024065C 2610008C */ addiu $s0, $s0, 0x8c +/* D9DB30 80240660 2E62000C */ sltiu $v0, $s3, 0xc +/* D9DB34 80240664 1440FF8F */ bnez $v0, .L802404A4 +/* D9DB38 80240668 2631008C */ addiu $s1, $s1, 0x8c +.L8024066C: +/* D9DB3C 8024066C 0000982D */ daddu $s3, $zero, $zero +/* D9DB40 80240670 241E0064 */ addiu $fp, $zero, 0x64 +/* D9DB44 80240674 27B50058 */ addiu $s5, $sp, 0x58 +/* D9DB48 80240678 27B40098 */ addiu $s4, $sp, 0x98 +/* D9DB4C 8024067C 27B600D8 */ addiu $s6, $sp, 0xd8 +/* D9DB50 80240680 8EF10070 */ lw $s1, 0x70($s7) +/* D9DB54 80240684 4480A000 */ mtc1 $zero, $f20 +/* D9DB58 80240688 3C013F80 */ lui $at, 0x3f80 +/* D9DB5C 8024068C 4481B000 */ mtc1 $at, $f22 +/* D9DB60 80240690 26300024 */ addiu $s0, $s1, 0x24 +.L80240694: +/* D9DB64 80240694 0C046C04 */ jal get_model_list_index_from_tree_index +/* D9DB68 80240698 8E04001C */ lw $a0, 0x1c($s0) +/* D9DB6C 8024069C 0C046B4C */ jal get_model_from_list_index +/* D9DB70 802406A0 0040202D */ daddu $a0, $v0, $zero +/* D9DB74 802406A4 8E230000 */ lw $v1, ($s1) +/* D9DB78 802406A8 107E0036 */ beq $v1, $fp, .L80240784 +/* D9DB7C 802406AC 0040902D */ daddu $s2, $v0, $zero +/* D9DB80 802406B0 28620065 */ slti $v0, $v1, 0x65 +/* D9DB84 802406B4 1040003C */ beqz $v0, .L802407A8 +/* D9DB88 802406B8 0000302D */ daddu $a2, $zero, $zero +/* D9DB8C 802406BC 1460003B */ bnez $v1, .L802407AC +/* D9DB90 802406C0 0000282D */ daddu $a1, $zero, $zero +/* D9DB94 802406C4 26240004 */ addiu $a0, $s1, 4 +/* D9DB98 802406C8 8E060014 */ lw $a2, 0x14($s0) +/* D9DB9C 802406CC 8E070018 */ lw $a3, 0x18($s0) +/* D9DBA0 802406D0 0C00A7E7 */ jal add_vec2D_polar +/* D9DBA4 802406D4 2625000C */ addiu $a1, $s1, 0xc +/* D9DBA8 802406D8 C6020010 */ lwc1 $f2, 0x10($s0) +/* D9DBAC 802406DC 3C013F4C */ lui $at, 0x3f4c +/* D9DBB0 802406E0 3421CCCD */ ori $at, $at, 0xcccd +/* D9DBB4 802406E4 44810000 */ mtc1 $at, $f0 +/* D9DBB8 802406E8 00000000 */ nop +/* D9DBBC 802406EC 46001081 */ sub.s $f2, $f2, $f0 +/* D9DBC0 802406F0 C600FFE4 */ lwc1 $f0, -0x1c($s0) +/* D9DBC4 802406F4 E6020010 */ swc1 $f2, 0x10($s0) +/* D9DBC8 802406F8 46020080 */ add.s $f2, $f0, $f2 +/* D9DBCC 802406FC C6000010 */ lwc1 $f0, 0x10($s0) +/* D9DBD0 80240700 4614003E */ c.le.s $f0, $f20 +/* D9DBD4 80240704 00000000 */ nop +/* D9DBD8 80240708 45000026 */ bc1f .L802407A4 +/* D9DBDC 8024070C E602FFE4 */ swc1 $f2, -0x1c($s0) +/* D9DBE0 80240710 C6040064 */ lwc1 $f4, 0x64($s0) +/* D9DBE4 80240714 46802120 */ cvt.s.w $f4, $f4 +/* D9DBE8 80240718 4604103C */ c.lt.s $f2, $f4 +/* D9DBEC 8024071C 00000000 */ nop +/* D9DBF0 80240720 45000020 */ bc1f .L802407A4 +/* D9DBF4 80240724 46000086 */ mov.s $f2, $f0 +/* D9DBF8 80240728 3C01BF33 */ lui $at, 0xbf33 +/* D9DBFC 8024072C 34213333 */ ori $at, $at, 0x3333 +/* D9DC00 80240730 44810000 */ mtc1 $at, $f0 +/* D9DC04 80240734 00000000 */ nop +/* D9DC08 80240738 46001082 */ mul.s $f2, $f2, $f0 +/* D9DC0C 8024073C 00000000 */ nop +/* D9DC10 80240740 E604FFE4 */ swc1 $f4, -0x1c($s0) +/* D9DC14 80240744 4616103C */ c.lt.s $f2, $f22 +/* D9DC18 80240748 00000000 */ nop +/* D9DC1C 8024074C 45000005 */ bc1f .L80240764 +/* D9DC20 80240750 E6020010 */ swc1 $f2, 0x10($s0) +/* D9DC24 80240754 AE3E0000 */ sw $fp, ($s1) +/* D9DC28 80240758 E6140004 */ swc1 $f20, 4($s0) +/* D9DC2C 8024075C E6140008 */ swc1 $f20, 8($s0) +/* D9DC30 80240760 E614000C */ swc1 $f20, 0xc($s0) +.L80240764: +/* D9DC34 80240764 32620001 */ andi $v0, $s3, 1 +/* D9DC38 80240768 1040000E */ beqz $v0, .L802407A4 +/* D9DC3C 8024076C 0000202D */ daddu $a0, $zero, $zero +/* D9DC40 80240770 0080282D */ daddu $a1, $a0, $zero +/* D9DC44 80240774 0C0B2D5B */ jal exec_ShakeCam1 +/* D9DC48 80240778 24060001 */ addiu $a2, $zero, 1 +/* D9DC4C 8024077C 080901EA */ j .L802407A8 +/* D9DC50 80240780 0000302D */ daddu $a2, $zero, $zero +.L80240784: +/* D9DC54 80240784 86040022 */ lh $a0, 0x22($s0) +/* D9DC58 80240788 0C016E89 */ jal update_collider_transform +/* D9DC5C 8024078C 00000000 */ nop +/* D9DC60 80240790 8EE20074 */ lw $v0, 0x74($s7) +/* D9DC64 80240794 24420001 */ addiu $v0, $v0, 1 +/* D9DC68 80240798 AEE20074 */ sw $v0, 0x74($s7) +/* D9DC6C 8024079C 24020065 */ addiu $v0, $zero, 0x65 +/* D9DC70 802407A0 AE220000 */ sw $v0, ($s1) +.L802407A4: +/* D9DC74 802407A4 0000302D */ daddu $a2, $zero, $zero +.L802407A8: +/* D9DC78 802407A8 0000282D */ daddu $a1, $zero, $zero +.L802407AC: +/* D9DC7C 802407AC 00062100 */ sll $a0, $a2, 4 +.L802407B0: +/* D9DC80 802407B0 02441821 */ addu $v1, $s2, $a0 +/* D9DC84 802407B4 02241021 */ addu $v0, $s1, $a0 +/* D9DC88 802407B8 24840004 */ addiu $a0, $a0, 4 +/* D9DC8C 802407BC 24A50001 */ addiu $a1, $a1, 1 +/* D9DC90 802407C0 C4400048 */ lwc1 $f0, 0x48($v0) +/* D9DC94 802407C4 28A20004 */ slti $v0, $a1, 4 +/* D9DC98 802407C8 1440FFF9 */ bnez $v0, .L802407B0 +/* D9DC9C 802407CC E4600058 */ swc1 $f0, 0x58($v1) +/* D9DCA0 802407D0 24C60001 */ addiu $a2, $a2, 1 +/* D9DCA4 802407D4 28C20004 */ slti $v0, $a2, 4 +/* D9DCA8 802407D8 1440FFF4 */ bnez $v0, .L802407AC +/* D9DCAC 802407DC 0000282D */ daddu $a1, $zero, $zero +/* D9DCB0 802407E0 96420000 */ lhu $v0, ($s2) +/* D9DCB4 802407E4 34421400 */ ori $v0, $v0, 0x1400 +/* D9DCB8 802407E8 A6420000 */ sh $v0, ($s2) +/* D9DCBC 802407EC C602FFE0 */ lwc1 $f2, -0x20($s0) +/* D9DCC0 802407F0 C600FFEC */ lwc1 $f0, -0x14($s0) +/* D9DCC4 802407F4 46001081 */ sub.s $f2, $f2, $f0 +/* D9DCC8 802407F8 C600FFF0 */ lwc1 $f0, -0x10($s0) +/* D9DCCC 802407FC 44051000 */ mfc1 $a1, $f2 +/* D9DCD0 80240800 C602FFE4 */ lwc1 $f2, -0x1c($s0) +/* D9DCD4 80240804 46001081 */ sub.s $f2, $f2, $f0 +/* D9DCD8 80240808 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* D9DCDC 8024080C 44061000 */ mfc1 $a2, $f2 +/* D9DCE0 80240810 C602FFE8 */ lwc1 $f2, -0x18($s0) +/* D9DCE4 80240814 46001081 */ sub.s $f2, $f2, $f0 +/* D9DCE8 80240818 44071000 */ mfc1 $a3, $f2 +/* D9DCEC 8024081C 0C019E40 */ jal guTranslateF +/* D9DCF0 80240820 27A40018 */ addiu $a0, $sp, 0x18 +/* D9DCF4 80240824 C602FFF8 */ lwc1 $f2, -8($s0) +/* D9DCF8 80240828 C6000004 */ lwc1 $f0, 4($s0) +/* D9DCFC 8024082C C604FFFC */ lwc1 $f4, -4($s0) +/* D9DD00 80240830 46001080 */ add.s $f2, $f2, $f0 +/* D9DD04 80240834 C6000008 */ lwc1 $f0, 8($s0) +/* D9DD08 80240838 46002100 */ add.s $f4, $f4, $f0 +/* D9DD0C 8024083C C6000000 */ lwc1 $f0, ($s0) +/* D9DD10 80240840 E602FFF8 */ swc1 $f2, -8($s0) +/* D9DD14 80240844 C602000C */ lwc1 $f2, 0xc($s0) +/* D9DD18 80240848 C60CFFF8 */ lwc1 $f12, -8($s0) +/* D9DD1C 8024084C 46020000 */ add.s $f0, $f0, $f2 +/* D9DD20 80240850 E604FFFC */ swc1 $f4, -4($s0) +/* D9DD24 80240854 0C00A6C9 */ jal clamp_angle +/* D9DD28 80240858 E6000000 */ swc1 $f0, ($s0) +/* D9DD2C 8024085C C60CFFFC */ lwc1 $f12, -4($s0) +/* D9DD30 80240860 26730001 */ addiu $s3, $s3, 1 +/* D9DD34 80240864 0C00A6C9 */ jal clamp_angle +/* D9DD38 80240868 E600FFF8 */ swc1 $f0, -8($s0) +/* D9DD3C 8024086C C60C0000 */ lwc1 $f12, ($s0) +/* D9DD40 80240870 2631008C */ addiu $s1, $s1, 0x8c +/* D9DD44 80240874 0C00A6C9 */ jal clamp_angle +/* D9DD48 80240878 E600FFFC */ swc1 $f0, -4($s0) +/* D9DD4C 8024087C E6000000 */ swc1 $f0, ($s0) +/* D9DD50 80240880 E7B40010 */ swc1 $f20, 0x10($sp) +/* D9DD54 80240884 8E05FFF8 */ lw $a1, -8($s0) +/* D9DD58 80240888 4406B000 */ mfc1 $a2, $f22 +/* D9DD5C 8024088C 4407A000 */ mfc1 $a3, $f20 +/* D9DD60 80240890 0C019EC8 */ jal guRotateF +/* D9DD64 80240894 02A0202D */ daddu $a0, $s5, $zero +/* D9DD68 80240898 E7B40010 */ swc1 $f20, 0x10($sp) +/* D9DD6C 8024089C 8E05FFFC */ lw $a1, -4($s0) +/* D9DD70 802408A0 4406A000 */ mfc1 $a2, $f20 +/* D9DD74 802408A4 4407B000 */ mfc1 $a3, $f22 +/* D9DD78 802408A8 0C019EC8 */ jal guRotateF +/* D9DD7C 802408AC 0280202D */ daddu $a0, $s4, $zero +/* D9DD80 802408B0 02C0202D */ daddu $a0, $s6, $zero +/* D9DD84 802408B4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9DD88 802408B8 8E050000 */ lw $a1, ($s0) +/* D9DD8C 802408BC 4406A000 */ mfc1 $a2, $f20 +/* D9DD90 802408C0 4407A000 */ mfc1 $a3, $f20 +/* D9DD94 802408C4 0C019EC8 */ jal guRotateF +/* D9DD98 802408C8 2610008C */ addiu $s0, $s0, 0x8c +/* D9DD9C 802408CC 02C0202D */ daddu $a0, $s6, $zero +/* D9DDA0 802408D0 02A0282D */ daddu $a1, $s5, $zero +/* D9DDA4 802408D4 0C019D80 */ jal guMtxCatF +/* D9DDA8 802408D8 02A0302D */ daddu $a2, $s5, $zero +/* D9DDAC 802408DC 02A0202D */ daddu $a0, $s5, $zero +/* D9DDB0 802408E0 0280282D */ daddu $a1, $s4, $zero +/* D9DDB4 802408E4 0C019D80 */ jal guMtxCatF +/* D9DDB8 802408E8 0280302D */ daddu $a2, $s4, $zero +/* D9DDBC 802408EC 0280202D */ daddu $a0, $s4, $zero +/* D9DDC0 802408F0 27A50018 */ addiu $a1, $sp, 0x18 +/* D9DDC4 802408F4 0C019D80 */ jal guMtxCatF +/* D9DDC8 802408F8 00A0302D */ daddu $a2, $a1, $zero +/* D9DDCC 802408FC 26440058 */ addiu $a0, $s2, 0x58 +/* D9DDD0 80240900 27A50018 */ addiu $a1, $sp, 0x18 +/* D9DDD4 80240904 0C019D80 */ jal guMtxCatF +/* D9DDD8 80240908 0080302D */ daddu $a2, $a0, $zero +/* D9DDDC 8024090C 2E62000C */ sltiu $v0, $s3, 0xc +/* D9DDE0 80240910 1440FF60 */ bnez $v0, .L80240694 +/* D9DDE4 80240914 00000000 */ nop +/* D9DDE8 80240918 8EE20074 */ lw $v0, 0x74($s7) +/* D9DDEC 8024091C 2C42000C */ sltiu $v0, $v0, 0xc +/* D9DDF0 80240920 14400005 */ bnez $v0, .L80240938 +/* D9DDF4 80240924 0000102D */ daddu $v0, $zero, $zero +/* D9DDF8 80240928 8EE40070 */ lw $a0, 0x70($s7) +/* D9DDFC 8024092C 0C00AB4B */ jal heap_free +/* D9DE00 80240930 00000000 */ nop +/* D9DE04 80240934 24020002 */ addiu $v0, $zero, 2 +.L80240938: +/* D9DE08 80240938 8FBF013C */ lw $ra, 0x13c($sp) +/* D9DE0C 8024093C 8FBE0138 */ lw $fp, 0x138($sp) +/* D9DE10 80240940 8FB70134 */ lw $s7, 0x134($sp) +/* D9DE14 80240944 8FB60130 */ lw $s6, 0x130($sp) +/* D9DE18 80240948 8FB5012C */ lw $s5, 0x12c($sp) +/* D9DE1C 8024094C 8FB40128 */ lw $s4, 0x128($sp) +/* D9DE20 80240950 8FB30124 */ lw $s3, 0x124($sp) +/* D9DE24 80240954 8FB20120 */ lw $s2, 0x120($sp) +/* D9DE28 80240958 8FB1011C */ lw $s1, 0x11c($sp) +/* D9DE2C 8024095C 8FB00118 */ lw $s0, 0x118($sp) +/* D9DE30 80240960 D7B60148 */ ldc1 $f22, 0x148($sp) +/* D9DE34 80240964 D7B40140 */ ldc1 $f20, 0x140($sp) +/* D9DE38 80240968 03E00008 */ jr $ra +/* D9DE3C 8024096C 27BD0150 */ addiu $sp, $sp, 0x150 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240970_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240970_D9D4D0.s new file mode 100644 index 0000000000..0e6bb69349 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240970_D9D4D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240970_D9DE40 +/* D9DE40 80240970 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D9DE44 80240974 AFB10014 */ sw $s1, 0x14($sp) +/* D9DE48 80240978 0080882D */ daddu $s1, $a0, $zero +/* D9DE4C 8024097C AFBF0018 */ sw $ra, 0x18($sp) +/* D9DE50 80240980 AFB00010 */ sw $s0, 0x10($sp) +/* D9DE54 80240984 8E300148 */ lw $s0, 0x148($s1) +/* D9DE58 80240988 0C00EABB */ jal get_npc_unsafe +/* D9DE5C 8024098C 86040008 */ lh $a0, 8($s0) +/* D9DE60 80240990 C4400018 */ lwc1 $f0, 0x18($v0) +/* D9DE64 80240994 3C018024 */ lui $at, 0x8024 +/* D9DE68 80240998 D4227870 */ ldc1 $f2, 0x7870($at) +/* D9DE6C 8024099C 46000021 */ cvt.d.s $f0, $f0 +/* D9DE70 802409A0 46220002 */ mul.d $f0, $f0, $f2 +/* D9DE74 802409A4 00000000 */ nop +/* D9DE78 802409A8 46200020 */ cvt.s.d $f0, $f0 +/* D9DE7C 802409AC E4400018 */ swc1 $f0, 0x18($v0) +/* D9DE80 802409B0 8E0300CC */ lw $v1, 0xcc($s0) +/* D9DE84 802409B4 8C640030 */ lw $a0, 0x30($v1) +/* D9DE88 802409B8 24030005 */ addiu $v1, $zero, 5 +/* D9DE8C 802409BC A443008E */ sh $v1, 0x8e($v0) +/* D9DE90 802409C0 AC440028 */ sw $a0, 0x28($v0) +/* D9DE94 802409C4 2402000F */ addiu $v0, $zero, 0xf +/* D9DE98 802409C8 AE220070 */ sw $v0, 0x70($s1) +/* D9DE9C 802409CC 8FBF0018 */ lw $ra, 0x18($sp) +/* D9DEA0 802409D0 8FB10014 */ lw $s1, 0x14($sp) +/* D9DEA4 802409D4 8FB00010 */ lw $s0, 0x10($sp) +/* D9DEA8 802409D8 03E00008 */ jr $ra +/* D9DEAC 802409DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802409E0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802409E0_D9D4D0.s new file mode 100644 index 0000000000..8d36cfe3aa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802409E0_D9D4D0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E0_D9DEB0 +/* D9DEB0 802409E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D9DEB4 802409E4 AFB20028 */ sw $s2, 0x28($sp) +/* D9DEB8 802409E8 0080902D */ daddu $s2, $a0, $zero +/* D9DEBC 802409EC AFBF002C */ sw $ra, 0x2c($sp) +/* D9DEC0 802409F0 AFB10024 */ sw $s1, 0x24($sp) +/* D9DEC4 802409F4 AFB00020 */ sw $s0, 0x20($sp) +/* D9DEC8 802409F8 8E510148 */ lw $s1, 0x148($s2) +/* D9DECC 802409FC 0C00EABB */ jal get_npc_unsafe +/* D9DED0 80240A00 86240008 */ lh $a0, 8($s1) +/* D9DED4 80240A04 0040802D */ daddu $s0, $v0, $zero +/* D9DED8 80240A08 0200202D */ daddu $a0, $s0, $zero +/* D9DEDC 80240A0C C600000C */ lwc1 $f0, 0xc($s0) +/* D9DEE0 80240A10 27A60018 */ addiu $a2, $sp, 0x18 +/* D9DEE4 80240A14 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9DEE8 80240A18 AFA00010 */ sw $zero, 0x10($sp) +/* D9DEEC 80240A1C AFA00014 */ sw $zero, 0x14($sp) +/* D9DEF0 80240A20 8E050018 */ lw $a1, 0x18($s0) +/* D9DEF4 80240A24 0C0129E1 */ jal func_8004A784 +/* D9DEF8 80240A28 0000382D */ daddu $a3, $zero, $zero +/* D9DEFC 80240A2C 14400005 */ bnez $v0, .L80240A44 +/* D9DF00 80240A30 00000000 */ nop +/* D9DF04 80240A34 8E050018 */ lw $a1, 0x18($s0) +/* D9DF08 80240A38 8E06000C */ lw $a2, 0xc($s0) +/* D9DF0C 80240A3C 0C00EA95 */ jal npc_move_heading +/* D9DF10 80240A40 0200202D */ daddu $a0, $s0, $zero +.L80240A44: +/* D9DF14 80240A44 9602008E */ lhu $v0, 0x8e($s0) +/* D9DF18 80240A48 2442FFFF */ addiu $v0, $v0, -1 +/* D9DF1C 80240A4C A602008E */ sh $v0, 0x8e($s0) +/* D9DF20 80240A50 00021400 */ sll $v0, $v0, 0x10 +/* D9DF24 80240A54 14400010 */ bnez $v0, .L80240A98 +/* D9DF28 80240A58 00000000 */ nop +/* D9DF2C 80240A5C C6000018 */ lwc1 $f0, 0x18($s0) +/* D9DF30 80240A60 3C018024 */ lui $at, 0x8024 +/* D9DF34 80240A64 D4227878 */ ldc1 $f2, 0x7878($at) +/* D9DF38 80240A68 46000021 */ cvt.d.s $f0, $f0 +/* D9DF3C 80240A6C 46220002 */ mul.d $f0, $f0, $f2 +/* D9DF40 80240A70 00000000 */ nop +/* D9DF44 80240A74 46200020 */ cvt.s.d $f0, $f0 +/* D9DF48 80240A78 E6000018 */ swc1 $f0, 0x18($s0) +/* D9DF4C 80240A7C 8E2200CC */ lw $v0, 0xcc($s1) +/* D9DF50 80240A80 8C43002C */ lw $v1, 0x2c($v0) +/* D9DF54 80240A84 2402000A */ addiu $v0, $zero, 0xa +/* D9DF58 80240A88 A602008E */ sh $v0, 0x8e($s0) +/* D9DF5C 80240A8C 24020010 */ addiu $v0, $zero, 0x10 +/* D9DF60 80240A90 AE030028 */ sw $v1, 0x28($s0) +/* D9DF64 80240A94 AE420070 */ sw $v0, 0x70($s2) +.L80240A98: +/* D9DF68 80240A98 8FBF002C */ lw $ra, 0x2c($sp) +/* D9DF6C 80240A9C 8FB20028 */ lw $s2, 0x28($sp) +/* D9DF70 80240AA0 8FB10024 */ lw $s1, 0x24($sp) +/* D9DF74 80240AA4 8FB00020 */ lw $s0, 0x20($sp) +/* D9DF78 80240AA8 03E00008 */ jr $ra +/* D9DF7C 80240AAC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240AB0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240AB0_D9D4D0.s new file mode 100644 index 0000000000..f87b308775 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240AB0_D9D4D0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AB0_D9DF80 +/* D9DF80 80240AB0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D9DF84 80240AB4 AFB10024 */ sw $s1, 0x24($sp) +/* D9DF88 80240AB8 0080882D */ daddu $s1, $a0, $zero +/* D9DF8C 80240ABC AFBF0028 */ sw $ra, 0x28($sp) +/* D9DF90 80240AC0 AFB00020 */ sw $s0, 0x20($sp) +/* D9DF94 80240AC4 8E220148 */ lw $v0, 0x148($s1) +/* D9DF98 80240AC8 0C00EABB */ jal get_npc_unsafe +/* D9DF9C 80240ACC 84440008 */ lh $a0, 8($v0) +/* D9DFA0 80240AD0 0040802D */ daddu $s0, $v0, $zero +/* D9DFA4 80240AD4 0200202D */ daddu $a0, $s0, $zero +/* D9DFA8 80240AD8 C600000C */ lwc1 $f0, 0xc($s0) +/* D9DFAC 80240ADC 27A60018 */ addiu $a2, $sp, 0x18 +/* D9DFB0 80240AE0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9DFB4 80240AE4 AFA00010 */ sw $zero, 0x10($sp) +/* D9DFB8 80240AE8 AFA00014 */ sw $zero, 0x14($sp) +/* D9DFBC 80240AEC 8E050018 */ lw $a1, 0x18($s0) +/* D9DFC0 80240AF0 0C0129E1 */ jal func_8004A784 +/* D9DFC4 80240AF4 0000382D */ daddu $a3, $zero, $zero +/* D9DFC8 80240AF8 14400005 */ bnez $v0, .L80240B10 +/* D9DFCC 80240AFC 00000000 */ nop +/* D9DFD0 80240B00 8E050018 */ lw $a1, 0x18($s0) +/* D9DFD4 80240B04 8E06000C */ lw $a2, 0xc($s0) +/* D9DFD8 80240B08 0C00EA95 */ jal npc_move_heading +/* D9DFDC 80240B0C 0200202D */ daddu $a0, $s0, $zero +.L80240B10: +/* D9DFE0 80240B10 9602008E */ lhu $v0, 0x8e($s0) +/* D9DFE4 80240B14 2442FFFF */ addiu $v0, $v0, -1 +/* D9DFE8 80240B18 A602008E */ sh $v0, 0x8e($s0) +/* D9DFEC 80240B1C 00021400 */ sll $v0, $v0, 0x10 +/* D9DFF0 80240B20 14400004 */ bnez $v0, .L80240B34 +/* D9DFF4 80240B24 2402001E */ addiu $v0, $zero, 0x1e +/* D9DFF8 80240B28 A602008E */ sh $v0, 0x8e($s0) +/* D9DFFC 80240B2C 24020011 */ addiu $v0, $zero, 0x11 +/* D9E000 80240B30 AE220070 */ sw $v0, 0x70($s1) +.L80240B34: +/* D9E004 80240B34 8FBF0028 */ lw $ra, 0x28($sp) +/* D9E008 80240B38 8FB10024 */ lw $s1, 0x24($sp) +/* D9E00C 80240B3C 8FB00020 */ lw $s0, 0x20($sp) +/* D9E010 80240B40 03E00008 */ jr $ra +/* D9E014 80240B44 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240B48_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240B48_D9D4D0.s new file mode 100644 index 0000000000..2d35775d65 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240B48_D9D4D0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B48_D9E018 +/* D9E018 80240B48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D9E01C 80240B4C AFB10014 */ sw $s1, 0x14($sp) +/* D9E020 80240B50 0080882D */ daddu $s1, $a0, $zero +/* D9E024 80240B54 AFBF0018 */ sw $ra, 0x18($sp) +/* D9E028 80240B58 AFB00010 */ sw $s0, 0x10($sp) +/* D9E02C 80240B5C 8E300148 */ lw $s0, 0x148($s1) +/* D9E030 80240B60 0C00EABB */ jal get_npc_unsafe +/* D9E034 80240B64 86040008 */ lh $a0, 8($s0) +/* D9E038 80240B68 0040182D */ daddu $v1, $v0, $zero +/* D9E03C 80240B6C 9462008E */ lhu $v0, 0x8e($v1) +/* D9E040 80240B70 2442FFFF */ addiu $v0, $v0, -1 +/* D9E044 80240B74 A462008E */ sh $v0, 0x8e($v1) +/* D9E048 80240B78 00021400 */ sll $v0, $v0, 0x10 +/* D9E04C 80240B7C 14400005 */ bnez $v0, .L80240B94 +/* D9E050 80240B80 00000000 */ nop +/* D9E054 80240B84 8E0200CC */ lw $v0, 0xcc($s0) +/* D9E058 80240B88 8C420000 */ lw $v0, ($v0) +/* D9E05C 80240B8C AC620028 */ sw $v0, 0x28($v1) +/* D9E060 80240B90 AE200070 */ sw $zero, 0x70($s1) +.L80240B94: +/* D9E064 80240B94 8FBF0018 */ lw $ra, 0x18($sp) +/* D9E068 80240B98 8FB10014 */ lw $s1, 0x14($sp) +/* D9E06C 80240B9C 8FB00010 */ lw $s0, 0x10($sp) +/* D9E070 80240BA0 03E00008 */ jr $ra +/* D9E074 80240BA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240BA8_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240BA8_D9D4D0.s new file mode 100644 index 0000000000..17d694e9d4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240BA8_D9D4D0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BA8_D9E078 +/* D9E078 80240BA8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* D9E07C 80240BAC AFB30054 */ sw $s3, 0x54($sp) +/* D9E080 80240BB0 0080982D */ daddu $s3, $a0, $zero +/* D9E084 80240BB4 AFBF0060 */ sw $ra, 0x60($sp) +/* D9E088 80240BB8 AFB5005C */ sw $s5, 0x5c($sp) +/* D9E08C 80240BBC AFB40058 */ sw $s4, 0x58($sp) +/* D9E090 80240BC0 AFB20050 */ sw $s2, 0x50($sp) +/* D9E094 80240BC4 AFB1004C */ sw $s1, 0x4c($sp) +/* D9E098 80240BC8 AFB00048 */ sw $s0, 0x48($sp) +/* D9E09C 80240BCC 8E710148 */ lw $s1, 0x148($s3) +/* D9E0A0 80240BD0 86240008 */ lh $a0, 8($s1) +/* D9E0A4 80240BD4 0C00EABB */ jal get_npc_unsafe +/* D9E0A8 80240BD8 00A0802D */ daddu $s0, $a1, $zero +/* D9E0AC 80240BDC 8E63000C */ lw $v1, 0xc($s3) +/* D9E0B0 80240BE0 0260202D */ daddu $a0, $s3, $zero +/* D9E0B4 80240BE4 8C650000 */ lw $a1, ($v1) +/* D9E0B8 80240BE8 0C0B1EAF */ jal get_variable +/* D9E0BC 80240BEC 0040902D */ daddu $s2, $v0, $zero +/* D9E0C0 80240BF0 AFA00018 */ sw $zero, 0x18($sp) +/* D9E0C4 80240BF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9E0C8 80240BF8 8C630030 */ lw $v1, 0x30($v1) +/* D9E0CC 80240BFC AFA3001C */ sw $v1, 0x1c($sp) +/* D9E0D0 80240C00 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9E0D4 80240C04 8C63001C */ lw $v1, 0x1c($v1) +/* D9E0D8 80240C08 AFA30020 */ sw $v1, 0x20($sp) +/* D9E0DC 80240C0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9E0E0 80240C10 8C630024 */ lw $v1, 0x24($v1) +/* D9E0E4 80240C14 AFA30024 */ sw $v1, 0x24($sp) +/* D9E0E8 80240C18 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9E0EC 80240C1C 8C630028 */ lw $v1, 0x28($v1) +/* D9E0F0 80240C20 27B50018 */ addiu $s5, $sp, 0x18 +/* D9E0F4 80240C24 AFA30028 */ sw $v1, 0x28($sp) +/* D9E0F8 80240C28 8E2300D0 */ lw $v1, 0xd0($s1) +/* D9E0FC 80240C2C 3C014282 */ lui $at, 0x4282 +/* D9E100 80240C30 44810000 */ mtc1 $at, $f0 +/* D9E104 80240C34 8C63002C */ lw $v1, 0x2c($v1) +/* D9E108 80240C38 0040A02D */ daddu $s4, $v0, $zero +/* D9E10C 80240C3C E7A00030 */ swc1 $f0, 0x30($sp) +/* D9E110 80240C40 A7A00034 */ sh $zero, 0x34($sp) +/* D9E114 80240C44 16000005 */ bnez $s0, .L80240C5C +/* D9E118 80240C48 AFA3002C */ sw $v1, 0x2c($sp) +/* D9E11C 80240C4C 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9E120 80240C50 30420004 */ andi $v0, $v0, 4 +/* D9E124 80240C54 10400044 */ beqz $v0, .L80240D68 +/* D9E128 80240C58 00000000 */ nop +.L80240C5C: +/* D9E12C 80240C5C 2404F7FF */ addiu $a0, $zero, -0x801 +/* D9E130 80240C60 AE600070 */ sw $zero, 0x70($s3) +/* D9E134 80240C64 A640008E */ sh $zero, 0x8e($s2) +/* D9E138 80240C68 8E2200CC */ lw $v0, 0xcc($s1) +/* D9E13C 80240C6C 8E430000 */ lw $v1, ($s2) +/* D9E140 80240C70 8C420000 */ lw $v0, ($v0) +/* D9E144 80240C74 00641824 */ and $v1, $v1, $a0 +/* D9E148 80240C78 AE430000 */ sw $v1, ($s2) +/* D9E14C 80240C7C AE420028 */ sw $v0, 0x28($s2) +/* D9E150 80240C80 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9E154 80240C84 8C420034 */ lw $v0, 0x34($v0) +/* D9E158 80240C88 54400005 */ bnel $v0, $zero, .L80240CA0 +/* D9E15C 80240C8C 2402FDFF */ addiu $v0, $zero, -0x201 +/* D9E160 80240C90 34620200 */ ori $v0, $v1, 0x200 +/* D9E164 80240C94 2403FFF7 */ addiu $v1, $zero, -9 +/* D9E168 80240C98 0809032A */ j .L80240CA8 +/* D9E16C 80240C9C 00431024 */ and $v0, $v0, $v1 +.L80240CA0: +/* D9E170 80240CA0 00621024 */ and $v0, $v1, $v0 +/* D9E174 80240CA4 34420008 */ ori $v0, $v0, 8 +.L80240CA8: +/* D9E178 80240CA8 AE420000 */ sw $v0, ($s2) +/* D9E17C 80240CAC 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9E180 80240CB0 30420004 */ andi $v0, $v0, 4 +/* D9E184 80240CB4 10400004 */ beqz $v0, .L80240CC8 +/* D9E188 80240CB8 24020063 */ addiu $v0, $zero, 0x63 +/* D9E18C 80240CBC AE620070 */ sw $v0, 0x70($s3) +/* D9E190 80240CC0 08090338 */ j .L80240CE0 +/* D9E194 80240CC4 AE600074 */ sw $zero, 0x74($s3) +.L80240CC8: +/* D9E198 80240CC8 8E220000 */ lw $v0, ($s1) +/* D9E19C 80240CCC 3C034000 */ lui $v1, 0x4000 +/* D9E1A0 80240CD0 00431024 */ and $v0, $v0, $v1 +/* D9E1A4 80240CD4 10400002 */ beqz $v0, .L80240CE0 +/* D9E1A8 80240CD8 2402000C */ addiu $v0, $zero, 0xc +/* D9E1AC 80240CDC AE620070 */ sw $v0, 0x70($s3) +.L80240CE0: +/* D9E1B0 80240CE0 3C06BFFF */ lui $a2, 0xbfff +/* D9E1B4 80240CE4 34C6FFFF */ ori $a2, $a2, 0xffff +/* D9E1B8 80240CE8 27A50038 */ addiu $a1, $sp, 0x38 +/* D9E1BC 80240CEC 2404FFFB */ addiu $a0, $zero, -5 +/* D9E1C0 80240CF0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D9E1C4 80240CF4 8E230000 */ lw $v1, ($s1) +/* D9E1C8 80240CF8 3C0142C8 */ lui $at, 0x42c8 +/* D9E1CC 80240CFC 44810000 */ mtc1 $at, $f0 +/* D9E1D0 80240D00 00441024 */ and $v0, $v0, $a0 +/* D9E1D4 80240D04 00661824 */ and $v1, $v1, $a2 +/* D9E1D8 80240D08 AE2200B0 */ sw $v0, 0xb0($s1) +/* D9E1DC 80240D0C AE230000 */ sw $v1, ($s1) +/* D9E1E0 80240D10 864200A8 */ lh $v0, 0xa8($s2) +/* D9E1E4 80240D14 27A70040 */ addiu $a3, $sp, 0x40 +/* D9E1E8 80240D18 E7A00044 */ swc1 $f0, 0x44($sp) +/* D9E1EC 80240D1C C6460038 */ lwc1 $f6, 0x38($s2) +/* D9E1F0 80240D20 C640003C */ lwc1 $f0, 0x3c($s2) +/* D9E1F4 80240D24 C6420040 */ lwc1 $f2, 0x40($s2) +/* D9E1F8 80240D28 44822000 */ mtc1 $v0, $f4 +/* D9E1FC 80240D2C 00000000 */ nop +/* D9E200 80240D30 46802120 */ cvt.s.w $f4, $f4 +/* D9E204 80240D34 27A20044 */ addiu $v0, $sp, 0x44 +/* D9E208 80240D38 46040000 */ add.s $f0, $f0, $f4 +/* D9E20C 80240D3C E7A60038 */ swc1 $f6, 0x38($sp) +/* D9E210 80240D40 E7A20040 */ swc1 $f2, 0x40($sp) +/* D9E214 80240D44 E7A0003C */ swc1 $f0, 0x3c($sp) +/* D9E218 80240D48 AFA20010 */ sw $v0, 0x10($sp) +/* D9E21C 80240D4C 8E440080 */ lw $a0, 0x80($s2) +/* D9E220 80240D50 0C0372DF */ jal func_800DCB7C +/* D9E224 80240D54 27A6003C */ addiu $a2, $sp, 0x3c +/* D9E228 80240D58 10400003 */ beqz $v0, .L80240D68 +/* D9E22C 80240D5C 00000000 */ nop +/* D9E230 80240D60 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* D9E234 80240D64 E640003C */ swc1 $f0, 0x3c($s2) +.L80240D68: +/* D9E238 80240D68 8E630070 */ lw $v1, 0x70($s3) +/* D9E23C 80240D6C 2C620064 */ sltiu $v0, $v1, 0x64 +/* D9E240 80240D70 10400050 */ beqz $v0, .L80240EB4 +/* D9E244 80240D74 00031080 */ sll $v0, $v1, 2 +/* D9E248 80240D78 3C018024 */ lui $at, 0x8024 +/* D9E24C 80240D7C 00220821 */ addu $at, $at, $v0 +/* D9E250 80240D80 8C227880 */ lw $v0, 0x7880($at) +/* D9E254 80240D84 00400008 */ jr $v0 +/* D9E258 80240D88 00000000 */ nop +/* D9E25C 80240D8C 0260202D */ daddu $a0, $s3, $zero +/* D9E260 80240D90 0280282D */ daddu $a1, $s4, $zero +/* D9E264 80240D94 0C012568 */ jal func_800495A0 +/* D9E268 80240D98 02A0302D */ daddu $a2, $s5, $zero +/* D9E26C 80240D9C 0260202D */ daddu $a0, $s3, $zero +/* D9E270 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* D9E274 80240DA4 0C0125AE */ jal func_800496B8 +/* D9E278 80240DA8 02A0302D */ daddu $a2, $s5, $zero +/* D9E27C 80240DAC 080903AD */ j .L80240EB4 +/* D9E280 80240DB0 00000000 */ nop +/* D9E284 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* D9E288 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* D9E28C 80240DBC 0C0126D1 */ jal func_80049B44 +/* D9E290 80240DC0 02A0302D */ daddu $a2, $s5, $zero +/* D9E294 80240DC4 0260202D */ daddu $a0, $s3, $zero +/* D9E298 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* D9E29C 80240DCC 0C012701 */ jal func_80049C04 +/* D9E2A0 80240DD0 02A0302D */ daddu $a2, $s5, $zero +/* D9E2A4 80240DD4 080903AD */ j .L80240EB4 +/* D9E2A8 80240DD8 00000000 */ nop +/* D9E2AC 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* D9E2B0 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* D9E2B4 80240DE4 0C01278F */ jal func_80049E3C +/* D9E2B8 80240DE8 02A0302D */ daddu $a2, $s5, $zero +/* D9E2BC 80240DEC 0260202D */ daddu $a0, $s3, $zero +/* D9E2C0 80240DF0 0280282D */ daddu $a1, $s4, $zero +/* D9E2C4 80240DF4 0C0127B3 */ jal func_80049ECC +/* D9E2C8 80240DF8 02A0302D */ daddu $a2, $s5, $zero +/* D9E2CC 80240DFC 080903AD */ j .L80240EB4 +/* D9E2D0 80240E00 00000000 */ nop +/* D9E2D4 80240E04 0260202D */ daddu $a0, $s3, $zero +/* D9E2D8 80240E08 0280282D */ daddu $a1, $s4, $zero +/* D9E2DC 80240E0C 0C0127DF */ jal func_80049F7C +/* D9E2E0 80240E10 02A0302D */ daddu $a2, $s5, $zero +/* D9E2E4 80240E14 0260202D */ daddu $a0, $s3, $zero +/* D9E2E8 80240E18 0280282D */ daddu $a1, $s4, $zero +/* D9E2EC 80240E1C 0C012849 */ jal func_8004A124 +/* D9E2F0 80240E20 02A0302D */ daddu $a2, $s5, $zero +/* D9E2F4 80240E24 8E630070 */ lw $v1, 0x70($s3) +/* D9E2F8 80240E28 2402000E */ addiu $v0, $zero, 0xe +/* D9E2FC 80240E2C 14620021 */ bne $v1, $v0, .L80240EB4 +/* D9E300 80240E30 00000000 */ nop +/* D9E304 80240E34 0260202D */ daddu $a0, $s3, $zero +/* D9E308 80240E38 0280282D */ daddu $a1, $s4, $zero +/* D9E30C 80240E3C 0C09025C */ jal func_80240970 +/* D9E310 80240E40 02A0302D */ daddu $a2, $s5, $zero +/* D9E314 80240E44 8E630070 */ lw $v1, 0x70($s3) +/* D9E318 80240E48 2402000F */ addiu $v0, $zero, 0xf +/* D9E31C 80240E4C 14620019 */ bne $v1, $v0, .L80240EB4 +/* D9E320 80240E50 00000000 */ nop +/* D9E324 80240E54 0260202D */ daddu $a0, $s3, $zero +/* D9E328 80240E58 0280282D */ daddu $a1, $s4, $zero +/* D9E32C 80240E5C 0C090278 */ jal func_802409E0 +/* D9E330 80240E60 02A0302D */ daddu $a2, $s5, $zero +/* D9E334 80240E64 8E630070 */ lw $v1, 0x70($s3) +/* D9E338 80240E68 24020010 */ addiu $v0, $zero, 0x10 +/* D9E33C 80240E6C 14620011 */ bne $v1, $v0, .L80240EB4 +/* D9E340 80240E70 00000000 */ nop +/* D9E344 80240E74 0260202D */ daddu $a0, $s3, $zero +/* D9E348 80240E78 0280282D */ daddu $a1, $s4, $zero +/* D9E34C 80240E7C 0C0902AC */ jal func_80240AB0 +/* D9E350 80240E80 02A0302D */ daddu $a2, $s5, $zero +/* D9E354 80240E84 8E630070 */ lw $v1, 0x70($s3) +/* D9E358 80240E88 24020011 */ addiu $v0, $zero, 0x11 +/* D9E35C 80240E8C 14620009 */ bne $v1, $v0, .L80240EB4 +/* D9E360 80240E90 00000000 */ nop +/* D9E364 80240E94 0260202D */ daddu $a0, $s3, $zero +/* D9E368 80240E98 0280282D */ daddu $a1, $s4, $zero +/* D9E36C 80240E9C 0C0902D2 */ jal func_80240B48 +/* D9E370 80240EA0 02A0302D */ daddu $a2, $s5, $zero +/* D9E374 80240EA4 080903AD */ j .L80240EB4 +/* D9E378 80240EA8 00000000 */ nop +/* D9E37C 80240EAC 0C0129CF */ jal func_8004A73C +/* D9E380 80240EB0 0260202D */ daddu $a0, $s3, $zero +.L80240EB4: +/* D9E384 80240EB4 8FBF0060 */ lw $ra, 0x60($sp) +/* D9E388 80240EB8 8FB5005C */ lw $s5, 0x5c($sp) +/* D9E38C 80240EBC 8FB40058 */ lw $s4, 0x58($sp) +/* D9E390 80240EC0 8FB30054 */ lw $s3, 0x54($sp) +/* D9E394 80240EC4 8FB20050 */ lw $s2, 0x50($sp) +/* D9E398 80240EC8 8FB1004C */ lw $s1, 0x4c($sp) +/* D9E39C 80240ECC 8FB00048 */ lw $s0, 0x48($sp) +/* D9E3A0 80240ED0 0000102D */ daddu $v0, $zero, $zero +/* D9E3A4 80240ED4 03E00008 */ jr $ra +/* D9E3A8 80240ED8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240EDC.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240EDC.s new file mode 100644 index 0000000000..6ba53491dc --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240EDC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EDC +/* D9E3AC 80240EDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D9E3B0 80240EE0 AFB00010 */ sw $s0, 0x10($sp) +/* D9E3B4 80240EE4 0080802D */ daddu $s0, $a0, $zero +/* D9E3B8 80240EE8 AFBF001C */ sw $ra, 0x1c($sp) +/* D9E3BC 80240EEC AFB20018 */ sw $s2, 0x18($sp) +/* D9E3C0 80240EF0 AFB10014 */ sw $s1, 0x14($sp) +/* D9E3C4 80240EF4 8E110148 */ lw $s1, 0x148($s0) +/* D9E3C8 80240EF8 86240008 */ lh $a0, 8($s1) +/* D9E3CC 80240EFC 0C00EABB */ jal get_npc_unsafe +/* D9E3D0 80240F00 00A0902D */ daddu $s2, $a1, $zero +/* D9E3D4 80240F04 8E2300CC */ lw $v1, 0xcc($s1) +/* D9E3D8 80240F08 0040202D */ daddu $a0, $v0, $zero +/* D9E3DC 80240F0C 8C630000 */ lw $v1, ($v1) +/* D9E3E0 80240F10 24020001 */ addiu $v0, $zero, 1 +/* D9E3E4 80240F14 AC830028 */ sw $v1, 0x28($a0) +/* D9E3E8 80240F18 AE020070 */ sw $v0, 0x70($s0) +/* D9E3EC 80240F1C 8E220000 */ lw $v0, ($s1) +/* D9E3F0 80240F20 3C030010 */ lui $v1, 0x10 +/* D9E3F4 80240F24 00431024 */ and $v0, $v0, $v1 +/* D9E3F8 80240F28 10400004 */ beqz $v0, .L80240F3C +/* D9E3FC 80240F2C 00000000 */ nop +/* D9E400 80240F30 C620006C */ lwc1 $f0, 0x6c($s1) +/* D9E404 80240F34 46800020 */ cvt.s.w $f0, $f0 +/* D9E408 80240F38 E480000C */ swc1 $f0, 0xc($a0) +.L80240F3C: +/* D9E40C 80240F3C 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9E410 80240F40 8C420014 */ lw $v0, 0x14($v0) +/* D9E414 80240F44 1C400004 */ bgtz $v0, .L80240F58 +/* D9E418 80240F48 00000000 */ nop +/* D9E41C 80240F4C C640000C */ lwc1 $f0, 0xc($s2) +/* D9E420 80240F50 080903DE */ j .L80240F78 +/* D9E424 80240F54 E4800018 */ swc1 $f0, 0x18($a0) +.L80240F58: +/* D9E428 80240F58 3C018024 */ lui $at, 0x8024 +/* D9E42C 80240F5C D4227A10 */ ldc1 $f2, 0x7a10($at) +/* D9E430 80240F60 44820000 */ mtc1 $v0, $f0 +/* D9E434 80240F64 00000000 */ nop +/* D9E438 80240F68 46800021 */ cvt.d.w $f0, $f0 +/* D9E43C 80240F6C 46220003 */ div.d $f0, $f0, $f2 +/* D9E440 80240F70 46200020 */ cvt.s.d $f0, $f0 +/* D9E444 80240F74 E4800018 */ swc1 $f0, 0x18($a0) +.L80240F78: +/* D9E448 80240F78 8FBF001C */ lw $ra, 0x1c($sp) +/* D9E44C 80240F7C 8FB20018 */ lw $s2, 0x18($sp) +/* D9E450 80240F80 8FB10014 */ lw $s1, 0x14($sp) +/* D9E454 80240F84 8FB00010 */ lw $s0, 0x10($sp) +/* D9E458 80240F88 03E00008 */ jr $ra +/* D9E45C 80240F8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80240F90_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80240F90_D9D4D0.s new file mode 100644 index 0000000000..3939df37cd --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80240F90_D9D4D0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F90_D9E460 +/* D9E460 80240F90 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D9E464 80240F94 AFB40040 */ sw $s4, 0x40($sp) +/* D9E468 80240F98 0080A02D */ daddu $s4, $a0, $zero +/* D9E46C 80240F9C AFBF0044 */ sw $ra, 0x44($sp) +/* D9E470 80240FA0 AFB3003C */ sw $s3, 0x3c($sp) +/* D9E474 80240FA4 AFB20038 */ sw $s2, 0x38($sp) +/* D9E478 80240FA8 AFB10034 */ sw $s1, 0x34($sp) +/* D9E47C 80240FAC AFB00030 */ sw $s0, 0x30($sp) +/* D9E480 80240FB0 8E920148 */ lw $s2, 0x148($s4) +/* D9E484 80240FB4 00A0802D */ daddu $s0, $a1, $zero +/* D9E488 80240FB8 86440008 */ lh $a0, 8($s2) +/* D9E48C 80240FBC 0C00EABB */ jal get_npc_unsafe +/* D9E490 80240FC0 00C0982D */ daddu $s3, $a2, $zero +/* D9E494 80240FC4 8E030008 */ lw $v1, 8($s0) +/* D9E498 80240FC8 04600031 */ bltz $v1, .L80241090 +/* D9E49C 80240FCC 0040882D */ daddu $s1, $v0, $zero +/* D9E4A0 80240FD0 0260202D */ daddu $a0, $s3, $zero +/* D9E4A4 80240FD4 AFA00010 */ sw $zero, 0x10($sp) +/* D9E4A8 80240FD8 8E060018 */ lw $a2, 0x18($s0) +/* D9E4AC 80240FDC 8E07001C */ lw $a3, 0x1c($s0) +/* D9E4B0 80240FE0 0C01242D */ jal func_800490B4 +/* D9E4B4 80240FE4 0240282D */ daddu $a1, $s2, $zero +/* D9E4B8 80240FE8 10400029 */ beqz $v0, .L80241090 +/* D9E4BC 80240FEC 0000202D */ daddu $a0, $zero, $zero +/* D9E4C0 80240FF0 0220282D */ daddu $a1, $s1, $zero +/* D9E4C4 80240FF4 0000302D */ daddu $a2, $zero, $zero +/* D9E4C8 80240FF8 862300A8 */ lh $v1, 0xa8($s1) +/* D9E4CC 80240FFC 3C013F80 */ lui $at, 0x3f80 +/* D9E4D0 80241000 44810000 */ mtc1 $at, $f0 +/* D9E4D4 80241004 3C014000 */ lui $at, 0x4000 +/* D9E4D8 80241008 44811000 */ mtc1 $at, $f2 +/* D9E4DC 8024100C 3C01C1A0 */ lui $at, 0xc1a0 +/* D9E4E0 80241010 44812000 */ mtc1 $at, $f4 +/* D9E4E4 80241014 2402000F */ addiu $v0, $zero, 0xf +/* D9E4E8 80241018 AFA2001C */ sw $v0, 0x1c($sp) +/* D9E4EC 8024101C 44833000 */ mtc1 $v1, $f6 +/* D9E4F0 80241020 00000000 */ nop +/* D9E4F4 80241024 468031A0 */ cvt.s.w $f6, $f6 +/* D9E4F8 80241028 44073000 */ mfc1 $a3, $f6 +/* D9E4FC 8024102C 27A20028 */ addiu $v0, $sp, 0x28 +/* D9E500 80241030 AFA20020 */ sw $v0, 0x20($sp) +/* D9E504 80241034 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9E508 80241038 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9E50C 8024103C 0C01BFA4 */ jal fx_emote +/* D9E510 80241040 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9E514 80241044 0220202D */ daddu $a0, $s1, $zero +/* D9E518 80241048 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D9E51C 8024104C 0C012530 */ jal func_800494C0 +/* D9E520 80241050 3C060020 */ lui $a2, 0x20 +/* D9E524 80241054 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9E528 80241058 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9E52C 8024105C C62C0038 */ lwc1 $f12, 0x38($s1) +/* D9E530 80241060 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D9E534 80241064 8C460028 */ lw $a2, 0x28($v0) +/* D9E538 80241068 0C00A720 */ jal atan2 +/* D9E53C 8024106C 8C470030 */ lw $a3, 0x30($v0) +/* D9E540 80241070 E620000C */ swc1 $f0, 0xc($s1) +/* D9E544 80241074 8E420018 */ lw $v0, 0x18($s2) +/* D9E548 80241078 9442002A */ lhu $v0, 0x2a($v0) +/* D9E54C 8024107C 30420001 */ andi $v0, $v0, 1 +/* D9E550 80241080 14400002 */ bnez $v0, .L8024108C +/* D9E554 80241084 2402000A */ addiu $v0, $zero, 0xa +/* D9E558 80241088 2402000C */ addiu $v0, $zero, 0xc +.L8024108C: +/* D9E55C 8024108C AE820070 */ sw $v0, 0x70($s4) +.L80241090: +/* D9E560 80241090 8FBF0044 */ lw $ra, 0x44($sp) +/* D9E564 80241094 8FB40040 */ lw $s4, 0x40($sp) +/* D9E568 80241098 8FB3003C */ lw $s3, 0x3c($sp) +/* D9E56C 8024109C 8FB20038 */ lw $s2, 0x38($sp) +/* D9E570 802410A0 8FB10034 */ lw $s1, 0x34($sp) +/* D9E574 802410A4 8FB00030 */ lw $s0, 0x30($sp) +/* D9E578 802410A8 03E00008 */ jr $ra +/* D9E57C 802410AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802410B0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802410B0_D9D4D0.s new file mode 100644 index 0000000000..074d71a1d0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802410B0_D9D4D0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B0_D9E580 +/* D9E580 802410B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9E584 802410B4 AFB00010 */ sw $s0, 0x10($sp) +/* D9E588 802410B8 0080802D */ daddu $s0, $a0, $zero +/* D9E58C 802410BC AFBF0014 */ sw $ra, 0x14($sp) +/* D9E590 802410C0 8E020148 */ lw $v0, 0x148($s0) +/* D9E594 802410C4 0C00EABB */ jal get_npc_unsafe +/* D9E598 802410C8 84440008 */ lh $a0, 8($v0) +/* D9E59C 802410CC 3C014120 */ lui $at, 0x4120 +/* D9E5A0 802410D0 44810000 */ mtc1 $at, $f0 +/* D9E5A4 802410D4 3C014000 */ lui $at, 0x4000 +/* D9E5A8 802410D8 44811000 */ mtc1 $at, $f2 +/* D9E5AC 802410DC 8C430000 */ lw $v1, ($v0) +/* D9E5B0 802410E0 C444003C */ lwc1 $f4, 0x3c($v0) +/* D9E5B4 802410E4 34630800 */ ori $v1, $v1, 0x800 +/* D9E5B8 802410E8 E440001C */ swc1 $f0, 0x1c($v0) +/* D9E5BC 802410EC E4420014 */ swc1 $f2, 0x14($v0) +/* D9E5C0 802410F0 E4440064 */ swc1 $f4, 0x64($v0) +/* D9E5C4 802410F4 AC430000 */ sw $v1, ($v0) +/* D9E5C8 802410F8 2402000B */ addiu $v0, $zero, 0xb +/* D9E5CC 802410FC AE020070 */ sw $v0, 0x70($s0) +/* D9E5D0 80241100 8FBF0014 */ lw $ra, 0x14($sp) +/* D9E5D4 80241104 8FB00010 */ lw $s0, 0x10($sp) +/* D9E5D8 80241108 03E00008 */ jr $ra +/* D9E5DC 8024110C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241110.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241110.s new file mode 100644 index 0000000000..5f286fd5a6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241110.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241110 +/* D9E5E0 80241110 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9E5E4 80241114 AFB00010 */ sw $s0, 0x10($sp) +/* D9E5E8 80241118 0080802D */ daddu $s0, $a0, $zero +/* D9E5EC 8024111C AFBF0014 */ sw $ra, 0x14($sp) +/* D9E5F0 80241120 8E020148 */ lw $v0, 0x148($s0) +/* D9E5F4 80241124 0C00EABB */ jal get_npc_unsafe +/* D9E5F8 80241128 84440008 */ lh $a0, 8($v0) +/* D9E5FC 8024112C 0040202D */ daddu $a0, $v0, $zero +/* D9E600 80241130 C482003C */ lwc1 $f2, 0x3c($a0) +/* D9E604 80241134 C480001C */ lwc1 $f0, 0x1c($a0) +/* D9E608 80241138 46001080 */ add.s $f2, $f2, $f0 +/* D9E60C 8024113C C4840014 */ lwc1 $f4, 0x14($a0) +/* D9E610 80241140 46040001 */ sub.s $f0, $f0, $f4 +/* D9E614 80241144 C4840064 */ lwc1 $f4, 0x64($a0) +/* D9E618 80241148 4602203C */ c.lt.s $f4, $f2 +/* D9E61C 8024114C E482003C */ swc1 $f2, 0x3c($a0) +/* D9E620 80241150 45010009 */ bc1t .L80241178 +/* D9E624 80241154 E480001C */ swc1 $f0, 0x1c($a0) +/* D9E628 80241158 8C820000 */ lw $v0, ($a0) +/* D9E62C 8024115C 2403F7FF */ addiu $v1, $zero, -0x801 +/* D9E630 80241160 E484003C */ swc1 $f4, 0x3c($a0) +/* D9E634 80241164 AC80001C */ sw $zero, 0x1c($a0) +/* D9E638 80241168 00431024 */ and $v0, $v0, $v1 +/* D9E63C 8024116C AC820000 */ sw $v0, ($a0) +/* D9E640 80241170 2402000C */ addiu $v0, $zero, 0xc +/* D9E644 80241174 AE020070 */ sw $v0, 0x70($s0) +.L80241178: +/* D9E648 80241178 8FBF0014 */ lw $ra, 0x14($sp) +/* D9E64C 8024117C 8FB00010 */ lw $s0, 0x10($sp) +/* D9E650 80241180 03E00008 */ jr $ra +/* D9E654 80241184 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241188_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241188_D9D4D0.s new file mode 100644 index 0000000000..5ac68e92c7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241188_D9D4D0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241188_D9E658 +/* D9E658 80241188 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D9E65C 8024118C AFB3001C */ sw $s3, 0x1c($sp) +/* D9E660 80241190 0080982D */ daddu $s3, $a0, $zero +/* D9E664 80241194 AFBF0020 */ sw $ra, 0x20($sp) +/* D9E668 80241198 AFB20018 */ sw $s2, 0x18($sp) +/* D9E66C 8024119C AFB10014 */ sw $s1, 0x14($sp) +/* D9E670 802411A0 AFB00010 */ sw $s0, 0x10($sp) +/* D9E674 802411A4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D9E678 802411A8 8E710148 */ lw $s1, 0x148($s3) +/* D9E67C 802411AC 86240008 */ lh $a0, 8($s1) +/* D9E680 802411B0 0C00EABB */ jal get_npc_unsafe +/* D9E684 802411B4 00A0802D */ daddu $s0, $a1, $zero +/* D9E688 802411B8 8E040014 */ lw $a0, 0x14($s0) +/* D9E68C 802411BC 0040902D */ daddu $s2, $v0, $zero +/* D9E690 802411C0 00041FC2 */ srl $v1, $a0, 0x1f +/* D9E694 802411C4 00832021 */ addu $a0, $a0, $v1 +/* D9E698 802411C8 00042043 */ sra $a0, $a0, 1 +/* D9E69C 802411CC 0C00A67F */ jal rand_int +/* D9E6A0 802411D0 24840001 */ addiu $a0, $a0, 1 +/* D9E6A4 802411D4 8E030014 */ lw $v1, 0x14($s0) +/* D9E6A8 802411D8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D9E6AC 802411DC 000327C2 */ srl $a0, $v1, 0x1f +/* D9E6B0 802411E0 00641821 */ addu $v1, $v1, $a0 +/* D9E6B4 802411E4 00031843 */ sra $v1, $v1, 1 +/* D9E6B8 802411E8 00621821 */ addu $v1, $v1, $v0 +/* D9E6BC 802411EC A643008E */ sh $v1, 0x8e($s2) +/* D9E6C0 802411F0 8E2200CC */ lw $v0, 0xcc($s1) +/* D9E6C4 802411F4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D9E6C8 802411F8 8C42000C */ lw $v0, 0xc($v0) +/* D9E6CC 802411FC AE420028 */ sw $v0, 0x28($s2) +/* D9E6D0 80241200 C600000C */ lwc1 $f0, 0xc($s0) +/* D9E6D4 80241204 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9E6D8 80241208 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9E6DC 8024120C E6400018 */ swc1 $f0, 0x18($s2) +/* D9E6E0 80241210 8C460028 */ lw $a2, 0x28($v0) +/* D9E6E4 80241214 0C00A720 */ jal atan2 +/* D9E6E8 80241218 8C470030 */ lw $a3, 0x30($v0) +/* D9E6EC 8024121C 46000506 */ mov.s $f20, $f0 +/* D9E6F0 80241220 C64C000C */ lwc1 $f12, 0xc($s2) +/* D9E6F4 80241224 0C00A70A */ jal get_clamped_angle_diff +/* D9E6F8 80241228 4600A386 */ mov.s $f14, $f20 +/* D9E6FC 8024122C 46000086 */ mov.s $f2, $f0 +/* D9E700 80241230 8E020010 */ lw $v0, 0x10($s0) +/* D9E704 80241234 46001005 */ abs.s $f0, $f2 +/* D9E708 80241238 44822000 */ mtc1 $v0, $f4 +/* D9E70C 8024123C 00000000 */ nop +/* D9E710 80241240 46802120 */ cvt.s.w $f4, $f4 +/* D9E714 80241244 4600203C */ c.lt.s $f4, $f0 +/* D9E718 80241248 00000000 */ nop +/* D9E71C 8024124C 4500000D */ bc1f .L80241284 +/* D9E720 80241250 00000000 */ nop +/* D9E724 80241254 44800000 */ mtc1 $zero, $f0 +/* D9E728 80241258 C654000C */ lwc1 $f20, 0xc($s2) +/* D9E72C 8024125C 4600103C */ c.lt.s $f2, $f0 +/* D9E730 80241260 00000000 */ nop +/* D9E734 80241264 45000006 */ bc1f .L80241280 +/* D9E738 80241268 00021023 */ negu $v0, $v0 +/* D9E73C 8024126C 44820000 */ mtc1 $v0, $f0 +/* D9E740 80241270 00000000 */ nop +/* D9E744 80241274 46800020 */ cvt.s.w $f0, $f0 +/* D9E748 80241278 080904A1 */ j .L80241284 +/* D9E74C 8024127C 4600A500 */ add.s $f20, $f20, $f0 +.L80241280: +/* D9E750 80241280 4604A500 */ add.s $f20, $f20, $f4 +.L80241284: +/* D9E754 80241284 0C00A6C9 */ jal clamp_angle +/* D9E758 80241288 4600A306 */ mov.s $f12, $f20 +/* D9E75C 8024128C 2402000D */ addiu $v0, $zero, 0xd +/* D9E760 80241290 E640000C */ swc1 $f0, 0xc($s2) +/* D9E764 80241294 AE620070 */ sw $v0, 0x70($s3) +/* D9E768 80241298 8FBF0020 */ lw $ra, 0x20($sp) +/* D9E76C 8024129C 8FB3001C */ lw $s3, 0x1c($sp) +/* D9E770 802412A0 8FB20018 */ lw $s2, 0x18($sp) +/* D9E774 802412A4 8FB10014 */ lw $s1, 0x14($sp) +/* D9E778 802412A8 8FB00010 */ lw $s0, 0x10($sp) +/* D9E77C 802412AC D7B40028 */ ldc1 $f20, 0x28($sp) +/* D9E780 802412B0 03E00008 */ jr $ra +/* D9E784 802412B4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802412B8_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802412B8_D9D4D0.s new file mode 100644 index 0000000000..423691a376 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802412B8_D9D4D0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B8_D9E788 +/* D9E788 802412B8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D9E78C 802412BC AFB3003C */ sw $s3, 0x3c($sp) +/* D9E790 802412C0 0080982D */ daddu $s3, $a0, $zero +/* D9E794 802412C4 AFBF0040 */ sw $ra, 0x40($sp) +/* D9E798 802412C8 AFB20038 */ sw $s2, 0x38($sp) +/* D9E79C 802412CC AFB10034 */ sw $s1, 0x34($sp) +/* D9E7A0 802412D0 AFB00030 */ sw $s0, 0x30($sp) +/* D9E7A4 802412D4 8E720148 */ lw $s2, 0x148($s3) +/* D9E7A8 802412D8 00A0882D */ daddu $s1, $a1, $zero +/* D9E7AC 802412DC 86440008 */ lh $a0, 8($s2) +/* D9E7B0 802412E0 0C00EABB */ jal get_npc_unsafe +/* D9E7B4 802412E4 00C0802D */ daddu $s0, $a2, $zero +/* D9E7B8 802412E8 0200202D */ daddu $a0, $s0, $zero +/* D9E7BC 802412EC 0240282D */ daddu $a1, $s2, $zero +/* D9E7C0 802412F0 24030001 */ addiu $v1, $zero, 1 +/* D9E7C4 802412F4 AFA30010 */ sw $v1, 0x10($sp) +/* D9E7C8 802412F8 8E260018 */ lw $a2, 0x18($s1) +/* D9E7CC 802412FC 8E27001C */ lw $a3, 0x1c($s1) +/* D9E7D0 80241300 0C01242D */ jal func_800490B4 +/* D9E7D4 80241304 0040802D */ daddu $s0, $v0, $zero +/* D9E7D8 80241308 1440001D */ bnez $v0, .L80241380 +/* D9E7DC 8024130C 24040002 */ addiu $a0, $zero, 2 +/* D9E7E0 80241310 0200282D */ daddu $a1, $s0, $zero +/* D9E7E4 80241314 0000302D */ daddu $a2, $zero, $zero +/* D9E7E8 80241318 860300A8 */ lh $v1, 0xa8($s0) +/* D9E7EC 8024131C 3C013F80 */ lui $at, 0x3f80 +/* D9E7F0 80241320 44810000 */ mtc1 $at, $f0 +/* D9E7F4 80241324 3C014000 */ lui $at, 0x4000 +/* D9E7F8 80241328 44811000 */ mtc1 $at, $f2 +/* D9E7FC 8024132C 3C01C1A0 */ lui $at, 0xc1a0 +/* D9E800 80241330 44812000 */ mtc1 $at, $f4 +/* D9E804 80241334 2402000F */ addiu $v0, $zero, 0xf +/* D9E808 80241338 AFA2001C */ sw $v0, 0x1c($sp) +/* D9E80C 8024133C 44833000 */ mtc1 $v1, $f6 +/* D9E810 80241340 00000000 */ nop +/* D9E814 80241344 468031A0 */ cvt.s.w $f6, $f6 +/* D9E818 80241348 44073000 */ mfc1 $a3, $f6 +/* D9E81C 8024134C 27A20028 */ addiu $v0, $sp, 0x28 +/* D9E820 80241350 AFA20020 */ sw $v0, 0x20($sp) +/* D9E824 80241354 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9E828 80241358 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9E82C 8024135C 0C01BFA4 */ jal fx_emote +/* D9E830 80241360 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9E834 80241364 8E4200CC */ lw $v0, 0xcc($s2) +/* D9E838 80241368 8C430000 */ lw $v1, ($v0) +/* D9E83C 8024136C 24020019 */ addiu $v0, $zero, 0x19 +/* D9E840 80241370 A602008E */ sh $v0, 0x8e($s0) +/* D9E844 80241374 2402000E */ addiu $v0, $zero, 0xe +/* D9E848 80241378 080904ED */ j .L802413B4 +/* D9E84C 8024137C AE030028 */ sw $v1, 0x28($s0) +.L80241380: +/* D9E850 80241380 8E050018 */ lw $a1, 0x18($s0) +/* D9E854 80241384 8E06000C */ lw $a2, 0xc($s0) +/* D9E858 80241388 0C00EA95 */ jal npc_move_heading +/* D9E85C 8024138C 0200202D */ daddu $a0, $s0, $zero +/* D9E860 80241390 0200202D */ daddu $a0, $s0, $zero +/* D9E864 80241394 0C00F598 */ jal func_8003D660 +/* D9E868 80241398 24050001 */ addiu $a1, $zero, 1 +/* D9E86C 8024139C 9602008E */ lhu $v0, 0x8e($s0) +/* D9E870 802413A0 2442FFFF */ addiu $v0, $v0, -1 +/* D9E874 802413A4 A602008E */ sh $v0, 0x8e($s0) +/* D9E878 802413A8 00021400 */ sll $v0, $v0, 0x10 +/* D9E87C 802413AC 14400002 */ bnez $v0, .L802413B8 +/* D9E880 802413B0 2402000C */ addiu $v0, $zero, 0xc +.L802413B4: +/* D9E884 802413B4 AE620070 */ sw $v0, 0x70($s3) +.L802413B8: +/* D9E888 802413B8 8FBF0040 */ lw $ra, 0x40($sp) +/* D9E88C 802413BC 8FB3003C */ lw $s3, 0x3c($sp) +/* D9E890 802413C0 8FB20038 */ lw $s2, 0x38($sp) +/* D9E894 802413C4 8FB10034 */ lw $s1, 0x34($sp) +/* D9E898 802413C8 8FB00030 */ lw $s0, 0x30($sp) +/* D9E89C 802413CC 03E00008 */ jr $ra +/* D9E8A0 802413D0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802413D4_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802413D4_D9D4D0.s new file mode 100644 index 0000000000..df3cb5f006 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802413D4_D9D4D0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D4_D9E8A4 +/* D9E8A4 802413D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9E8A8 802413D8 AFB00010 */ sw $s0, 0x10($sp) +/* D9E8AC 802413DC 0080802D */ daddu $s0, $a0, $zero +/* D9E8B0 802413E0 AFBF0014 */ sw $ra, 0x14($sp) +/* D9E8B4 802413E4 8E020148 */ lw $v0, 0x148($s0) +/* D9E8B8 802413E8 0C00EABB */ jal get_npc_unsafe +/* D9E8BC 802413EC 84440008 */ lh $a0, 8($v0) +/* D9E8C0 802413F0 9443008E */ lhu $v1, 0x8e($v0) +/* D9E8C4 802413F4 2463FFFF */ addiu $v1, $v1, -1 +/* D9E8C8 802413F8 A443008E */ sh $v1, 0x8e($v0) +/* D9E8CC 802413FC 00031C00 */ sll $v1, $v1, 0x10 +/* D9E8D0 80241400 14600002 */ bnez $v1, .L8024140C +/* D9E8D4 80241404 2402000F */ addiu $v0, $zero, 0xf +/* D9E8D8 80241408 AE020070 */ sw $v0, 0x70($s0) +.L8024140C: +/* D9E8DC 8024140C 8FBF0014 */ lw $ra, 0x14($sp) +/* D9E8E0 80241410 8FB00010 */ lw $s0, 0x10($sp) +/* D9E8E4 80241414 03E00008 */ jr $ra +/* D9E8E8 80241418 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_8024141C_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_8024141C_D9D4D0.s new file mode 100644 index 0000000000..5959714936 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_8024141C_D9D4D0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024141C_D9E8EC +/* D9E8EC 8024141C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D9E8F0 80241420 AFB10014 */ sw $s1, 0x14($sp) +/* D9E8F4 80241424 0080882D */ daddu $s1, $a0, $zero +/* D9E8F8 80241428 AFBF001C */ sw $ra, 0x1c($sp) +/* D9E8FC 8024142C AFB20018 */ sw $s2, 0x18($sp) +/* D9E900 80241430 AFB00010 */ sw $s0, 0x10($sp) +/* D9E904 80241434 8E300148 */ lw $s0, 0x148($s1) +/* D9E908 80241438 86040008 */ lh $a0, 8($s0) +/* D9E90C 8024143C 0C00EABB */ jal get_npc_unsafe +/* D9E910 80241440 00A0902D */ daddu $s2, $a1, $zero +/* D9E914 80241444 8E0300CC */ lw $v1, 0xcc($s0) +/* D9E918 80241448 8C630004 */ lw $v1, 4($v1) +/* D9E91C 8024144C 0040202D */ daddu $a0, $v0, $zero +/* D9E920 80241450 AC830028 */ sw $v1, 0x28($a0) +/* D9E924 80241454 8E0200D0 */ lw $v0, 0xd0($s0) +/* D9E928 80241458 8C420014 */ lw $v0, 0x14($v0) +/* D9E92C 8024145C 04410009 */ bgez $v0, .L80241484 +/* D9E930 80241460 00000000 */ nop +/* D9E934 80241464 C640000C */ lwc1 $f0, 0xc($s2) +/* D9E938 80241468 3C018024 */ lui $at, 0x8024 +/* D9E93C 8024146C D4227A18 */ ldc1 $f2, 0x7a18($at) +/* D9E940 80241470 46000021 */ cvt.d.s $f0, $f0 +/* D9E944 80241474 46220002 */ mul.d $f0, $f0, $f2 +/* D9E948 80241478 00000000 */ nop +/* D9E94C 8024147C 08090528 */ j .L802414A0 +/* D9E950 80241480 46200020 */ cvt.s.d $f0, $f0 +.L80241484: +/* D9E954 80241484 3C018024 */ lui $at, 0x8024 +/* D9E958 80241488 D4227A20 */ ldc1 $f2, 0x7a20($at) +/* D9E95C 8024148C 44820000 */ mtc1 $v0, $f0 +/* D9E960 80241490 00000000 */ nop +/* D9E964 80241494 46800021 */ cvt.d.w $f0, $f0 +/* D9E968 80241498 46220003 */ div.d $f0, $f0, $f2 +/* D9E96C 8024149C 46200020 */ cvt.s.d $f0, $f0 +.L802414A0: +/* D9E970 802414A0 E4800018 */ swc1 $f0, 0x18($a0) +/* D9E974 802414A4 24020010 */ addiu $v0, $zero, 0x10 +/* D9E978 802414A8 AE200074 */ sw $zero, 0x74($s1) +/* D9E97C 802414AC AE220070 */ sw $v0, 0x70($s1) +/* D9E980 802414B0 8FBF001C */ lw $ra, 0x1c($sp) +/* D9E984 802414B4 8FB20018 */ lw $s2, 0x18($sp) +/* D9E988 802414B8 8FB10014 */ lw $s1, 0x14($sp) +/* D9E98C 802414BC 8FB00010 */ lw $s0, 0x10($sp) +/* D9E990 802414C0 03E00008 */ jr $ra +/* D9E994 802414C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802414C8_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802414C8_D9D4D0.s new file mode 100644 index 0000000000..c6f89a1db8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802414C8_D9D4D0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414C8_D9E998 +/* D9E998 802414C8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D9E99C 802414CC AFB3003C */ sw $s3, 0x3c($sp) +/* D9E9A0 802414D0 0080982D */ daddu $s3, $a0, $zero +/* D9E9A4 802414D4 AFBF0044 */ sw $ra, 0x44($sp) +/* D9E9A8 802414D8 AFB40040 */ sw $s4, 0x40($sp) +/* D9E9AC 802414DC AFB20038 */ sw $s2, 0x38($sp) +/* D9E9B0 802414E0 AFB10034 */ sw $s1, 0x34($sp) +/* D9E9B4 802414E4 AFB00030 */ sw $s0, 0x30($sp) +/* D9E9B8 802414E8 8E710148 */ lw $s1, 0x148($s3) +/* D9E9BC 802414EC 00A0902D */ daddu $s2, $a1, $zero +/* D9E9C0 802414F0 86240008 */ lh $a0, 8($s1) +/* D9E9C4 802414F4 0C00EABB */ jal get_npc_unsafe +/* D9E9C8 802414F8 00C0A02D */ daddu $s4, $a2, $zero +/* D9E9CC 802414FC 8E430008 */ lw $v1, 8($s2) +/* D9E9D0 80241500 0460003B */ bltz $v1, .L802415F0 +/* D9E9D4 80241504 0040802D */ daddu $s0, $v0, $zero +/* D9E9D8 80241508 8E620074 */ lw $v0, 0x74($s3) +/* D9E9DC 8024150C 1C400037 */ bgtz $v0, .L802415EC +/* D9E9E0 80241510 2442FFFF */ addiu $v0, $v0, -1 +/* D9E9E4 80241514 0280202D */ daddu $a0, $s4, $zero +/* D9E9E8 80241518 AE630074 */ sw $v1, 0x74($s3) +/* D9E9EC 8024151C AFA00010 */ sw $zero, 0x10($sp) +/* D9E9F0 80241520 8E460018 */ lw $a2, 0x18($s2) +/* D9E9F4 80241524 8E47001C */ lw $a3, 0x1c($s2) +/* D9E9F8 80241528 0C01242D */ jal func_800490B4 +/* D9E9FC 8024152C 0220282D */ daddu $a1, $s1, $zero +/* D9EA00 80241530 1040002C */ beqz $v0, .L802415E4 +/* D9EA04 80241534 0000202D */ daddu $a0, $zero, $zero +/* D9EA08 80241538 0200282D */ daddu $a1, $s0, $zero +/* D9EA0C 8024153C 0000302D */ daddu $a2, $zero, $zero +/* D9EA10 80241540 860300A8 */ lh $v1, 0xa8($s0) +/* D9EA14 80241544 3C013F80 */ lui $at, 0x3f80 +/* D9EA18 80241548 44810000 */ mtc1 $at, $f0 +/* D9EA1C 8024154C 3C014000 */ lui $at, 0x4000 +/* D9EA20 80241550 44811000 */ mtc1 $at, $f2 +/* D9EA24 80241554 3C01C1A0 */ lui $at, 0xc1a0 +/* D9EA28 80241558 44812000 */ mtc1 $at, $f4 +/* D9EA2C 8024155C 2402000F */ addiu $v0, $zero, 0xf +/* D9EA30 80241560 AFA2001C */ sw $v0, 0x1c($sp) +/* D9EA34 80241564 44833000 */ mtc1 $v1, $f6 +/* D9EA38 80241568 00000000 */ nop +/* D9EA3C 8024156C 468031A0 */ cvt.s.w $f6, $f6 +/* D9EA40 80241570 44073000 */ mfc1 $a3, $f6 +/* D9EA44 80241574 27A20028 */ addiu $v0, $sp, 0x28 +/* D9EA48 80241578 AFA20020 */ sw $v0, 0x20($sp) +/* D9EA4C 8024157C E7A00010 */ swc1 $f0, 0x10($sp) +/* D9EA50 80241580 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9EA54 80241584 0C01BFA4 */ jal fx_emote +/* D9EA58 80241588 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9EA5C 8024158C 0200202D */ daddu $a0, $s0, $zero +/* D9EA60 80241590 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D9EA64 80241594 0C012530 */ jal func_800494C0 +/* D9EA68 80241598 3C060020 */ lui $a2, 0x20 +/* D9EA6C 8024159C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9EA70 802415A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9EA74 802415A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9EA78 802415A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9EA7C 802415AC 8C460028 */ lw $a2, 0x28($v0) +/* D9EA80 802415B0 0C00A720 */ jal atan2 +/* D9EA84 802415B4 8C470030 */ lw $a3, 0x30($v0) +/* D9EA88 802415B8 E600000C */ swc1 $f0, 0xc($s0) +/* D9EA8C 802415BC 8E220018 */ lw $v0, 0x18($s1) +/* D9EA90 802415C0 9442002A */ lhu $v0, 0x2a($v0) +/* D9EA94 802415C4 30420001 */ andi $v0, $v0, 1 +/* D9EA98 802415C8 10400003 */ beqz $v0, .L802415D8 +/* D9EA9C 802415CC 2402000A */ addiu $v0, $zero, 0xa +/* D9EAA0 802415D0 080905AC */ j .L802416B0 +/* D9EAA4 802415D4 AE620070 */ sw $v0, 0x70($s3) +.L802415D8: +/* D9EAA8 802415D8 2402000C */ addiu $v0, $zero, 0xc +/* D9EAAC 802415DC 080905AC */ j .L802416B0 +/* D9EAB0 802415E0 AE620070 */ sw $v0, 0x70($s3) +.L802415E4: +/* D9EAB4 802415E4 8E620074 */ lw $v0, 0x74($s3) +/* D9EAB8 802415E8 2442FFFF */ addiu $v0, $v0, -1 +.L802415EC: +/* D9EABC 802415EC AE620074 */ sw $v0, 0x74($s3) +.L802415F0: +/* D9EAC0 802415F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9EAC4 802415F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9EAC8 802415F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9EACC 802415FC C4460000 */ lwc1 $f6, ($v0) +/* D9EAD0 80241600 468031A0 */ cvt.s.w $f6, $f6 +/* D9EAD4 80241604 44063000 */ mfc1 $a2, $f6 +/* D9EAD8 80241608 C4460008 */ lwc1 $f6, 8($v0) +/* D9EADC 8024160C 468031A0 */ cvt.s.w $f6, $f6 +/* D9EAE0 80241610 44073000 */ mfc1 $a3, $f6 +/* D9EAE4 80241614 0C00A7B5 */ jal dist2D +/* D9EAE8 80241618 00000000 */ nop +/* D9EAEC 8024161C C6020018 */ lwc1 $f2, 0x18($s0) +/* D9EAF0 80241620 4602003C */ c.lt.s $f0, $f2 +/* D9EAF4 80241624 00000000 */ nop +/* D9EAF8 80241628 4500000E */ bc1f .L80241664 +/* D9EAFC 8024162C 00000000 */ nop +/* D9EB00 80241630 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9EB04 80241634 C4400000 */ lwc1 $f0, ($v0) +/* D9EB08 80241638 46800020 */ cvt.s.w $f0, $f0 +/* D9EB0C 8024163C E6000038 */ swc1 $f0, 0x38($s0) +/* D9EB10 80241640 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9EB14 80241644 C4400008 */ lwc1 $f0, 8($v0) +/* D9EB18 80241648 46800020 */ cvt.s.w $f0, $f0 +/* D9EB1C 8024164C E6000040 */ swc1 $f0, 0x40($s0) +/* D9EB20 80241650 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9EB24 80241654 C440000C */ lwc1 $f0, 0xc($v0) +/* D9EB28 80241658 46800020 */ cvt.s.w $f0, $f0 +/* D9EB2C 8024165C E600000C */ swc1 $f0, 0xc($s0) +/* D9EB30 80241660 AE600070 */ sw $zero, 0x70($s3) +.L80241664: +/* D9EB34 80241664 8602008C */ lh $v0, 0x8c($s0) +/* D9EB38 80241668 14400011 */ bnez $v0, .L802416B0 +/* D9EB3C 8024166C 00000000 */ nop +/* D9EB40 80241670 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9EB44 80241674 8E2200D0 */ lw $v0, 0xd0($s1) +/* D9EB48 80241678 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9EB4C 8024167C C4460000 */ lwc1 $f6, ($v0) +/* D9EB50 80241680 468031A0 */ cvt.s.w $f6, $f6 +/* D9EB54 80241684 44063000 */ mfc1 $a2, $f6 +/* D9EB58 80241688 C4460008 */ lwc1 $f6, 8($v0) +/* D9EB5C 8024168C 468031A0 */ cvt.s.w $f6, $f6 +/* D9EB60 80241690 44073000 */ mfc1 $a3, $f6 +/* D9EB64 80241694 0C00A720 */ jal atan2 +/* D9EB68 80241698 00000000 */ nop +/* D9EB6C 8024169C 8E050018 */ lw $a1, 0x18($s0) +/* D9EB70 802416A0 44060000 */ mfc1 $a2, $f0 +/* D9EB74 802416A4 0200202D */ daddu $a0, $s0, $zero +/* D9EB78 802416A8 0C00EA95 */ jal npc_move_heading +/* D9EB7C 802416AC AC86000C */ sw $a2, 0xc($a0) +.L802416B0: +/* D9EB80 802416B0 8FBF0044 */ lw $ra, 0x44($sp) +/* D9EB84 802416B4 8FB40040 */ lw $s4, 0x40($sp) +/* D9EB88 802416B8 8FB3003C */ lw $s3, 0x3c($sp) +/* D9EB8C 802416BC 8FB20038 */ lw $s2, 0x38($sp) +/* D9EB90 802416C0 8FB10034 */ lw $s1, 0x34($sp) +/* D9EB94 802416C4 8FB00030 */ lw $s0, 0x30($sp) +/* D9EB98 802416C8 03E00008 */ jr $ra +/* D9EB9C 802416CC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802416D0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802416D0_D9D4D0.s new file mode 100644 index 0000000000..0c732b2580 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802416D0_D9D4D0.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416D0_D9EBA0 +/* D9EBA0 802416D0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9EBA4 802416D4 AFB40040 */ sw $s4, 0x40($sp) +/* D9EBA8 802416D8 0080A02D */ daddu $s4, $a0, $zero +/* D9EBAC 802416DC AFBF0048 */ sw $ra, 0x48($sp) +/* D9EBB0 802416E0 AFB50044 */ sw $s5, 0x44($sp) +/* D9EBB4 802416E4 AFB3003C */ sw $s3, 0x3c($sp) +/* D9EBB8 802416E8 AFB20038 */ sw $s2, 0x38($sp) +/* D9EBBC 802416EC AFB10034 */ sw $s1, 0x34($sp) +/* D9EBC0 802416F0 AFB00030 */ sw $s0, 0x30($sp) +/* D9EBC4 802416F4 8E920148 */ lw $s2, 0x148($s4) +/* D9EBC8 802416F8 86440008 */ lh $a0, 8($s2) +/* D9EBCC 802416FC 8E90000C */ lw $s0, 0xc($s4) +/* D9EBD0 80241700 0C00EABB */ jal get_npc_unsafe +/* D9EBD4 80241704 00A0882D */ daddu $s1, $a1, $zero +/* D9EBD8 80241708 0280202D */ daddu $a0, $s4, $zero +/* D9EBDC 8024170C 8E050000 */ lw $a1, ($s0) +/* D9EBE0 80241710 0C0B1EAF */ jal get_variable +/* D9EBE4 80241714 0040802D */ daddu $s0, $v0, $zero +/* D9EBE8 80241718 AFA00010 */ sw $zero, 0x10($sp) +/* D9EBEC 8024171C 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9EBF0 80241720 8C630030 */ lw $v1, 0x30($v1) +/* D9EBF4 80241724 AFA30014 */ sw $v1, 0x14($sp) +/* D9EBF8 80241728 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9EBFC 8024172C 8C63001C */ lw $v1, 0x1c($v1) +/* D9EC00 80241730 AFA30018 */ sw $v1, 0x18($sp) +/* D9EC04 80241734 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9EC08 80241738 8C630024 */ lw $v1, 0x24($v1) +/* D9EC0C 8024173C AFA3001C */ sw $v1, 0x1c($sp) +/* D9EC10 80241740 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9EC14 80241744 8C630028 */ lw $v1, 0x28($v1) +/* D9EC18 80241748 27B50010 */ addiu $s5, $sp, 0x10 +/* D9EC1C 8024174C AFA30020 */ sw $v1, 0x20($sp) +/* D9EC20 80241750 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9EC24 80241754 3C014282 */ lui $at, 0x4282 +/* D9EC28 80241758 44810000 */ mtc1 $at, $f0 +/* D9EC2C 8024175C 8C63002C */ lw $v1, 0x2c($v1) +/* D9EC30 80241760 0040982D */ daddu $s3, $v0, $zero +/* D9EC34 80241764 E7A00028 */ swc1 $f0, 0x28($sp) +/* D9EC38 80241768 A7A0002C */ sh $zero, 0x2c($sp) +/* D9EC3C 8024176C 16200005 */ bnez $s1, .L80241784 +/* D9EC40 80241770 AFA30024 */ sw $v1, 0x24($sp) +/* D9EC44 80241774 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9EC48 80241778 30420004 */ andi $v0, $v0, 4 +/* D9EC4C 8024177C 1040002F */ beqz $v0, .L8024183C +/* D9EC50 80241780 00000000 */ nop +.L80241784: +/* D9EC54 80241784 AE800070 */ sw $zero, 0x70($s4) +/* D9EC58 80241788 C600000C */ lwc1 $f0, 0xc($s0) +/* D9EC5C 8024178C A600008E */ sh $zero, 0x8e($s0) +/* D9EC60 80241790 8E4200CC */ lw $v0, 0xcc($s2) +/* D9EC64 80241794 4600008D */ trunc.w.s $f2, $f0 +/* D9EC68 80241798 E642006C */ swc1 $f2, 0x6c($s2) +/* D9EC6C 8024179C 8C420000 */ lw $v0, ($v0) +/* D9EC70 802417A0 8E030000 */ lw $v1, ($s0) +/* D9EC74 802417A4 AE020028 */ sw $v0, 0x28($s0) +/* D9EC78 802417A8 2402F7FF */ addiu $v0, $zero, -0x801 +/* D9EC7C 802417AC 00621824 */ and $v1, $v1, $v0 +/* D9EC80 802417B0 AE030000 */ sw $v1, ($s0) +/* D9EC84 802417B4 8E4200D0 */ lw $v0, 0xd0($s2) +/* D9EC88 802417B8 8C420034 */ lw $v0, 0x34($v0) +/* D9EC8C 802417BC 54400005 */ bnel $v0, $zero, .L802417D4 +/* D9EC90 802417C0 2402FDFF */ addiu $v0, $zero, -0x201 +/* D9EC94 802417C4 34620200 */ ori $v0, $v1, 0x200 +/* D9EC98 802417C8 2403FFF7 */ addiu $v1, $zero, -9 +/* D9EC9C 802417CC 080905F7 */ j .L802417DC +/* D9ECA0 802417D0 00431024 */ and $v0, $v0, $v1 +.L802417D4: +/* D9ECA4 802417D4 00621024 */ and $v0, $v1, $v0 +/* D9ECA8 802417D8 34420008 */ ori $v0, $v0, 8 +.L802417DC: +/* D9ECAC 802417DC AE020000 */ sw $v0, ($s0) +/* D9ECB0 802417E0 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9ECB4 802417E4 30420004 */ andi $v0, $v0, 4 +/* D9ECB8 802417E8 10400009 */ beqz $v0, .L80241810 +/* D9ECBC 802417EC 24020063 */ addiu $v0, $zero, 0x63 +/* D9ECC0 802417F0 AE820070 */ sw $v0, 0x70($s4) +/* D9ECC4 802417F4 2402000F */ addiu $v0, $zero, 0xf +/* D9ECC8 802417F8 AE820074 */ sw $v0, 0x74($s4) +/* D9ECCC 802417FC 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9ECD0 80241800 2403FFFB */ addiu $v1, $zero, -5 +/* D9ECD4 80241804 00431024 */ and $v0, $v0, $v1 +/* D9ECD8 80241808 0809060F */ j .L8024183C +/* D9ECDC 8024180C AE4200B0 */ sw $v0, 0xb0($s2) +.L80241810: +/* D9ECE0 80241810 8E420000 */ lw $v0, ($s2) +/* D9ECE4 80241814 3C034000 */ lui $v1, 0x4000 +/* D9ECE8 80241818 00431024 */ and $v0, $v0, $v1 +/* D9ECEC 8024181C 10400007 */ beqz $v0, .L8024183C +/* D9ECF0 80241820 3C03BFFF */ lui $v1, 0xbfff +/* D9ECF4 80241824 2402000C */ addiu $v0, $zero, 0xc +/* D9ECF8 80241828 AE820070 */ sw $v0, 0x70($s4) +/* D9ECFC 8024182C 8E420000 */ lw $v0, ($s2) +/* D9ED00 80241830 3463FFFF */ ori $v1, $v1, 0xffff +/* D9ED04 80241834 00431024 */ and $v0, $v0, $v1 +/* D9ED08 80241838 AE420000 */ sw $v0, ($s2) +.L8024183C: +/* D9ED0C 8024183C 8E830070 */ lw $v1, 0x70($s4) +/* D9ED10 80241840 2C620064 */ sltiu $v0, $v1, 0x64 +/* D9ED14 80241844 10400036 */ beqz $v0, .L80241920 +/* D9ED18 80241848 00031080 */ sll $v0, $v1, 2 +/* D9ED1C 8024184C 3C018024 */ lui $at, 0x8024 +/* D9ED20 80241850 00220821 */ addu $at, $at, $v0 +/* D9ED24 80241854 8C227A28 */ lw $v0, 0x7a28($at) +/* D9ED28 80241858 00400008 */ jr $v0 +/* D9ED2C 8024185C 00000000 */ nop +/* D9ED30 80241860 0280202D */ daddu $a0, $s4, $zero +/* D9ED34 80241864 0260282D */ daddu $a1, $s3, $zero +/* D9ED38 80241868 0C0903B7 */ jal func_80240EDC +/* D9ED3C 8024186C 02A0302D */ daddu $a2, $s5, $zero +/* D9ED40 80241870 0280202D */ daddu $a0, $s4, $zero +/* D9ED44 80241874 0260282D */ daddu $a1, $s3, $zero +/* D9ED48 80241878 0C0903E4 */ jal func_80240F90 +/* D9ED4C 8024187C 02A0302D */ daddu $a2, $s5, $zero +/* D9ED50 80241880 08090648 */ j .L80241920 +/* D9ED54 80241884 00000000 */ nop +/* D9ED58 80241888 0280202D */ daddu $a0, $s4, $zero +/* D9ED5C 8024188C 0260282D */ daddu $a1, $s3, $zero +/* D9ED60 80241890 0C09042C */ jal func_802410B0 +/* D9ED64 80241894 02A0302D */ daddu $a2, $s5, $zero +/* D9ED68 80241898 0280202D */ daddu $a0, $s4, $zero +/* D9ED6C 8024189C 0260282D */ daddu $a1, $s3, $zero +/* D9ED70 802418A0 0C090444 */ jal func_80241110 +/* D9ED74 802418A4 02A0302D */ daddu $a2, $s5, $zero +/* D9ED78 802418A8 08090648 */ j .L80241920 +/* D9ED7C 802418AC 00000000 */ nop +/* D9ED80 802418B0 0280202D */ daddu $a0, $s4, $zero +/* D9ED84 802418B4 0260282D */ daddu $a1, $s3, $zero +/* D9ED88 802418B8 0C090462 */ jal func_80241188 +/* D9ED8C 802418BC 02A0302D */ daddu $a2, $s5, $zero +/* D9ED90 802418C0 0280202D */ daddu $a0, $s4, $zero +/* D9ED94 802418C4 0260282D */ daddu $a1, $s3, $zero +/* D9ED98 802418C8 0C0904AE */ jal func_802412B8 +/* D9ED9C 802418CC 02A0302D */ daddu $a2, $s5, $zero +/* D9EDA0 802418D0 08090648 */ j .L80241920 +/* D9EDA4 802418D4 00000000 */ nop +/* D9EDA8 802418D8 0280202D */ daddu $a0, $s4, $zero +/* D9EDAC 802418DC 0260282D */ daddu $a1, $s3, $zero +/* D9EDB0 802418E0 0C0904F5 */ jal func_802413D4 +/* D9EDB4 802418E4 02A0302D */ daddu $a2, $s5, $zero +/* D9EDB8 802418E8 08090648 */ j .L80241920 +/* D9EDBC 802418EC 00000000 */ nop +/* D9EDC0 802418F0 0280202D */ daddu $a0, $s4, $zero +/* D9EDC4 802418F4 0260282D */ daddu $a1, $s3, $zero +/* D9EDC8 802418F8 0C090507 */ jal func_8024141C +/* D9EDCC 802418FC 02A0302D */ daddu $a2, $s5, $zero +/* D9EDD0 80241900 0280202D */ daddu $a0, $s4, $zero +/* D9EDD4 80241904 0260282D */ daddu $a1, $s3, $zero +/* D9EDD8 80241908 0C090532 */ jal func_802414C8 +/* D9EDDC 8024190C 02A0302D */ daddu $a2, $s5, $zero +/* D9EDE0 80241910 08090648 */ j .L80241920 +/* D9EDE4 80241914 00000000 */ nop +/* D9EDE8 80241918 0C0129CF */ jal func_8004A73C +/* D9EDEC 8024191C 0280202D */ daddu $a0, $s4, $zero +.L80241920: +/* D9EDF0 80241920 8FBF0048 */ lw $ra, 0x48($sp) +/* D9EDF4 80241924 8FB50044 */ lw $s5, 0x44($sp) +/* D9EDF8 80241928 8FB40040 */ lw $s4, 0x40($sp) +/* D9EDFC 8024192C 8FB3003C */ lw $s3, 0x3c($sp) +/* D9EE00 80241930 8FB20038 */ lw $s2, 0x38($sp) +/* D9EE04 80241934 8FB10034 */ lw $s1, 0x34($sp) +/* D9EE08 80241938 8FB00030 */ lw $s0, 0x30($sp) +/* D9EE0C 8024193C 0000102D */ daddu $v0, $zero, $zero +/* D9EE10 80241940 03E00008 */ jr $ra +/* D9EE14 80241944 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241948_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241948_D9D4D0.s new file mode 100644 index 0000000000..55cfde6609 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241948_D9D4D0.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241948_D9EE18 +/* D9EE18 80241948 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D9EE1C 8024194C AFB10014 */ sw $s1, 0x14($sp) +/* D9EE20 80241950 0080882D */ daddu $s1, $a0, $zero +/* D9EE24 80241954 3C05800B */ lui $a1, %hi(gCameras) +/* D9EE28 80241958 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D9EE2C 8024195C AFBF0020 */ sw $ra, 0x20($sp) +/* D9EE30 80241960 AFB3001C */ sw $s3, 0x1c($sp) +/* D9EE34 80241964 AFB20018 */ sw $s2, 0x18($sp) +/* D9EE38 80241968 AFB00010 */ sw $s0, 0x10($sp) +/* D9EE3C 8024196C F7B40028 */ sdc1 $f20, 0x28($sp) +/* D9EE40 80241970 8E330148 */ lw $s3, 0x148($s1) +/* D9EE44 80241974 3C03800A */ lui $v1, 0x800a +/* D9EE48 80241978 8463A634 */ lh $v1, -0x59cc($v1) +/* D9EE4C 8024197C 8E30000C */ lw $s0, 0xc($s1) +/* D9EE50 80241980 00031080 */ sll $v0, $v1, 2 +/* D9EE54 80241984 00431021 */ addu $v0, $v0, $v1 +/* D9EE58 80241988 00021080 */ sll $v0, $v0, 2 +/* D9EE5C 8024198C 00431023 */ subu $v0, $v0, $v1 +/* D9EE60 80241990 000218C0 */ sll $v1, $v0, 3 +/* D9EE64 80241994 00431021 */ addu $v0, $v0, $v1 +/* D9EE68 80241998 000210C0 */ sll $v0, $v0, 3 +/* D9EE6C 8024199C 86640008 */ lh $a0, 8($s3) +/* D9EE70 802419A0 0C00EABB */ jal get_npc_unsafe +/* D9EE74 802419A4 00459021 */ addu $s2, $v0, $a1 +/* D9EE78 802419A8 0220202D */ daddu $a0, $s1, $zero +/* D9EE7C 802419AC 8E050000 */ lw $a1, ($s0) +/* D9EE80 802419B0 0C0B1EAF */ jal get_variable +/* D9EE84 802419B4 0040802D */ daddu $s0, $v0, $zero +/* D9EE88 802419B8 0260202D */ daddu $a0, $s3, $zero +/* D9EE8C 802419BC 8C460024 */ lw $a2, 0x24($v0) +/* D9EE90 802419C0 8C470028 */ lw $a3, 0x28($v0) +/* D9EE94 802419C4 0C0124FB */ jal func_800493EC +/* D9EE98 802419C8 0000282D */ daddu $a1, $zero, $zero +/* D9EE9C 802419CC 10400052 */ beqz $v0, .L80241B18 +/* D9EEA0 802419D0 2402FFFF */ addiu $v0, $zero, -1 +/* D9EEA4 802419D4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D9EEA8 802419D8 C60E000C */ lwc1 $f14, 0xc($s0) +/* D9EEAC 802419DC 3C014387 */ lui $at, 0x4387 +/* D9EEB0 802419E0 4481A000 */ mtc1 $at, $f20 +/* D9EEB4 802419E4 0C00A70A */ jal get_clamped_angle_diff +/* D9EEB8 802419E8 00000000 */ nop +/* D9EEBC 802419EC 0C00A6C9 */ jal clamp_angle +/* D9EEC0 802419F0 46000306 */ mov.s $f12, $f0 +/* D9EEC4 802419F4 3C018024 */ lui $at, 0x8024 +/* D9EEC8 802419F8 D4227BB8 */ ldc1 $f2, 0x7bb8($at) +/* D9EECC 802419FC 46000021 */ cvt.d.s $f0, $f0 +/* D9EED0 80241A00 4622003C */ c.lt.d $f0, $f2 +/* D9EED4 80241A04 00000000 */ nop +/* D9EED8 80241A08 45000003 */ bc1f .L80241A18 +/* D9EEDC 80241A0C 00000000 */ nop +/* D9EEE0 80241A10 3C0142B4 */ lui $at, 0x42b4 +/* D9EEE4 80241A14 4481A000 */ mtc1 $at, $f20 +.L80241A18: +/* D9EEE8 80241A18 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* D9EEEC 80241A1C 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* D9EEF0 80241A20 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9EEF4 80241A24 8E220000 */ lw $v0, ($s1) +/* D9EEF8 80241A28 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9EEFC 80241A2C 8C460028 */ lw $a2, 0x28($v0) +/* D9EF00 80241A30 0C00A720 */ jal atan2 +/* D9EF04 80241A34 8C470030 */ lw $a3, 0x30($v0) +/* D9EF08 80241A38 4600A306 */ mov.s $f12, $f20 +/* D9EF0C 80241A3C 0C00A70A */ jal get_clamped_angle_diff +/* D9EF10 80241A40 46000386 */ mov.s $f14, $f0 +/* D9EF14 80241A44 46000005 */ abs.s $f0, $f0 +/* D9EF18 80241A48 3C018024 */ lui $at, 0x8024 +/* D9EF1C 80241A4C D4227BC0 */ ldc1 $f2, 0x7bc0($at) +/* D9EF20 80241A50 46000021 */ cvt.d.s $f0, $f0 +/* D9EF24 80241A54 4620103C */ c.lt.d $f2, $f0 +/* D9EF28 80241A58 00000000 */ nop +/* D9EF2C 80241A5C 4501002E */ bc1t .L80241B18 +/* D9EF30 80241A60 2402FFFF */ addiu $v0, $zero, -1 +/* D9EF34 80241A64 8E220000 */ lw $v0, ($s1) +/* D9EF38 80241A68 C600003C */ lwc1 $f0, 0x3c($s0) +/* D9EF3C 80241A6C C442002C */ lwc1 $f2, 0x2c($v0) +/* D9EF40 80241A70 860200A8 */ lh $v0, 0xa8($s0) +/* D9EF44 80241A74 46020001 */ sub.s $f0, $f0, $f2 +/* D9EF48 80241A78 44821000 */ mtc1 $v0, $f2 +/* D9EF4C 80241A7C 00000000 */ nop +/* D9EF50 80241A80 468010A1 */ cvt.d.w $f2, $f2 +/* D9EF54 80241A84 46221080 */ add.d $f2, $f2, $f2 +/* D9EF58 80241A88 46000005 */ abs.s $f0, $f0 +/* D9EF5C 80241A8C 46000021 */ cvt.d.s $f0, $f0 +/* D9EF60 80241A90 4620103E */ c.le.d $f2, $f0 +/* D9EF64 80241A94 00000000 */ nop +/* D9EF68 80241A98 4501001F */ bc1t .L80241B18 +/* D9EF6C 80241A9C 2402FFFF */ addiu $v0, $zero, -1 +/* D9EF70 80241AA0 3C038011 */ lui $v1, 0x8011 +/* D9EF74 80241AA4 8063EBB3 */ lb $v1, -0x144d($v1) +/* D9EF78 80241AA8 24020009 */ addiu $v0, $zero, 9 +/* D9EF7C 80241AAC 10620019 */ beq $v1, $v0, .L80241B14 +/* D9EF80 80241AB0 24020007 */ addiu $v0, $zero, 7 +/* D9EF84 80241AB4 14620005 */ bne $v1, $v0, .L80241ACC +/* D9EF88 80241AB8 2402FFFF */ addiu $v0, $zero, -1 +/* D9EF8C 80241ABC 080906C6 */ j .L80241B18 +/* D9EF90 80241AC0 00000000 */ nop +.L80241AC4: +/* D9EF94 80241AC4 080906C6 */ j .L80241B18 +/* D9EF98 80241AC8 0240102D */ daddu $v0, $s2, $zero +.L80241ACC: +/* D9EF9C 80241ACC 8E620078 */ lw $v0, 0x78($s3) +/* D9EFA0 80241AD0 18400010 */ blez $v0, .L80241B14 +/* D9EFA4 80241AD4 0000882D */ daddu $s1, $zero, $zero +.L80241AD8: +/* D9EFA8 80241AD8 86620008 */ lh $v0, 8($s3) +/* D9EFAC 80241ADC 00511021 */ addu $v0, $v0, $s1 +/* D9EFB0 80241AE0 24520001 */ addiu $s2, $v0, 1 +/* D9EFB4 80241AE4 0C00FB3A */ jal get_enemy +/* D9EFB8 80241AE8 0240202D */ daddu $a0, $s2, $zero +/* D9EFBC 80241AEC 0240202D */ daddu $a0, $s2, $zero +/* D9EFC0 80241AF0 0C00EABB */ jal get_npc_unsafe +/* D9EFC4 80241AF4 0040802D */ daddu $s0, $v0, $zero +/* D9EFC8 80241AF8 8E02006C */ lw $v0, 0x6c($s0) +/* D9EFCC 80241AFC 1040FFF1 */ beqz $v0, .L80241AC4 +/* D9EFD0 80241B00 26310001 */ addiu $s1, $s1, 1 +/* D9EFD4 80241B04 8E620078 */ lw $v0, 0x78($s3) +/* D9EFD8 80241B08 0222102A */ slt $v0, $s1, $v0 +/* D9EFDC 80241B0C 1440FFF2 */ bnez $v0, .L80241AD8 +/* D9EFE0 80241B10 00000000 */ nop +.L80241B14: +/* D9EFE4 80241B14 2402FFFF */ addiu $v0, $zero, -1 +.L80241B18: +/* D9EFE8 80241B18 8FBF0020 */ lw $ra, 0x20($sp) +/* D9EFEC 80241B1C 8FB3001C */ lw $s3, 0x1c($sp) +/* D9EFF0 80241B20 8FB20018 */ lw $s2, 0x18($sp) +/* D9EFF4 80241B24 8FB10014 */ lw $s1, 0x14($sp) +/* D9EFF8 80241B28 8FB00010 */ lw $s0, 0x10($sp) +/* D9EFFC 80241B2C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D9F000 80241B30 03E00008 */ jr $ra +/* D9F004 80241B34 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241B38_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241B38_D9D4D0.s new file mode 100644 index 0000000000..08a531abb9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241B38_D9D4D0.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B38_D9F008 +/* D9F008 80241B38 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9F00C 80241B3C AFB20038 */ sw $s2, 0x38($sp) +/* D9F010 80241B40 0080902D */ daddu $s2, $a0, $zero +/* D9F014 80241B44 AFB00030 */ sw $s0, 0x30($sp) +/* D9F018 80241B48 AFBF003C */ sw $ra, 0x3c($sp) +/* D9F01C 80241B4C AFB10034 */ sw $s1, 0x34($sp) +/* D9F020 80241B50 F7B60048 */ sdc1 $f22, 0x48($sp) +/* D9F024 80241B54 F7B40040 */ sdc1 $f20, 0x40($sp) +/* D9F028 80241B58 8E510148 */ lw $s1, 0x148($s2) +/* D9F02C 80241B5C 4485A000 */ mtc1 $a1, $f20 +/* D9F030 80241B60 86240008 */ lh $a0, 8($s1) +/* D9F034 80241B64 4486B000 */ mtc1 $a2, $f22 +/* D9F038 80241B68 0C00EABB */ jal get_npc_unsafe +/* D9F03C 80241B6C 00E0802D */ daddu $s0, $a3, $zero +/* D9F040 80241B70 0200202D */ daddu $a0, $s0, $zero +/* D9F044 80241B74 0220282D */ daddu $a1, $s1, $zero +/* D9F048 80241B78 24030001 */ addiu $v1, $zero, 1 +/* D9F04C 80241B7C 4406A000 */ mfc1 $a2, $f20 +/* D9F050 80241B80 4407B000 */ mfc1 $a3, $f22 +/* D9F054 80241B84 0040802D */ daddu $s0, $v0, $zero +/* D9F058 80241B88 0C01242D */ jal func_800490B4 +/* D9F05C 80241B8C AFA30010 */ sw $v1, 0x10($sp) +/* D9F060 80241B90 1440001D */ bnez $v0, .L80241C08 +/* D9F064 80241B94 24040002 */ addiu $a0, $zero, 2 +/* D9F068 80241B98 0200282D */ daddu $a1, $s0, $zero +/* D9F06C 80241B9C 0000302D */ daddu $a2, $zero, $zero +/* D9F070 80241BA0 860300A8 */ lh $v1, 0xa8($s0) +/* D9F074 80241BA4 3C013F80 */ lui $at, 0x3f80 +/* D9F078 80241BA8 44810000 */ mtc1 $at, $f0 +/* D9F07C 80241BAC 3C014000 */ lui $at, 0x4000 +/* D9F080 80241BB0 44811000 */ mtc1 $at, $f2 +/* D9F084 80241BB4 3C01C1A0 */ lui $at, 0xc1a0 +/* D9F088 80241BB8 44812000 */ mtc1 $at, $f4 +/* D9F08C 80241BBC 2402000F */ addiu $v0, $zero, 0xf +/* D9F090 80241BC0 AFA2001C */ sw $v0, 0x1c($sp) +/* D9F094 80241BC4 44833000 */ mtc1 $v1, $f6 +/* D9F098 80241BC8 00000000 */ nop +/* D9F09C 80241BCC 468031A0 */ cvt.s.w $f6, $f6 +/* D9F0A0 80241BD0 44073000 */ mfc1 $a3, $f6 +/* D9F0A4 80241BD4 27A20028 */ addiu $v0, $sp, 0x28 +/* D9F0A8 80241BD8 AFA20020 */ sw $v0, 0x20($sp) +/* D9F0AC 80241BDC E7A00010 */ swc1 $f0, 0x10($sp) +/* D9F0B0 80241BE0 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9F0B4 80241BE4 0C01BFA4 */ jal fx_emote +/* D9F0B8 80241BE8 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9F0BC 80241BEC 8E2200CC */ lw $v0, 0xcc($s1) +/* D9F0C0 80241BF0 8C430000 */ lw $v1, ($v0) +/* D9F0C4 80241BF4 24020014 */ addiu $v0, $zero, 0x14 +/* D9F0C8 80241BF8 A602008E */ sh $v0, 0x8e($s0) +/* D9F0CC 80241BFC 24020021 */ addiu $v0, $zero, 0x21 +/* D9F0D0 80241C00 08090716 */ j .L80241C58 +/* D9F0D4 80241C04 AE030028 */ sw $v1, 0x28($s0) +.L80241C08: +/* D9F0D8 80241C08 0C090652 */ jal func_80241948 +/* D9F0DC 80241C0C 0240202D */ daddu $a0, $s2, $zero +/* D9F0E0 80241C10 0040202D */ daddu $a0, $v0, $zero +/* D9F0E4 80241C14 2402FFFF */ addiu $v0, $zero, -1 +/* D9F0E8 80241C18 10820010 */ beq $a0, $v0, .L80241C5C +/* D9F0EC 80241C1C 00000000 */ nop +/* D9F0F0 80241C20 0C00FB3A */ jal get_enemy +/* D9F0F4 80241C24 00000000 */ nop +/* D9F0F8 80241C28 8C42006C */ lw $v0, 0x6c($v0) +/* D9F0FC 80241C2C 1440000B */ bnez $v0, .L80241C5C +/* D9F100 80241C30 00000000 */ nop +/* D9F104 80241C34 8602008C */ lh $v0, 0x8c($s0) +/* D9F108 80241C38 14400008 */ bnez $v0, .L80241C5C +/* D9F10C 80241C3C 00000000 */ nop +/* D9F110 80241C40 8E2200CC */ lw $v0, 0xcc($s1) +/* D9F114 80241C44 8C420020 */ lw $v0, 0x20($v0) +/* D9F118 80241C48 AE020028 */ sw $v0, 0x28($s0) +/* D9F11C 80241C4C 96220072 */ lhu $v0, 0x72($s1) +/* D9F120 80241C50 A602008E */ sh $v0, 0x8e($s0) +/* D9F124 80241C54 2402001E */ addiu $v0, $zero, 0x1e +.L80241C58: +/* D9F128 80241C58 AE420070 */ sw $v0, 0x70($s2) +.L80241C5C: +/* D9F12C 80241C5C 8FBF003C */ lw $ra, 0x3c($sp) +/* D9F130 80241C60 8FB20038 */ lw $s2, 0x38($sp) +/* D9F134 80241C64 8FB10034 */ lw $s1, 0x34($sp) +/* D9F138 80241C68 8FB00030 */ lw $s0, 0x30($sp) +/* D9F13C 80241C6C D7B60048 */ ldc1 $f22, 0x48($sp) +/* D9F140 80241C70 D7B40040 */ ldc1 $f20, 0x40($sp) +/* D9F144 80241C74 03E00008 */ jr $ra +/* D9F148 80241C78 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241C7C_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241C7C_D9D4D0.s new file mode 100644 index 0000000000..960f258344 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241C7C_D9D4D0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C7C_D9F14C +/* D9F14C 80241C7C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D9F150 80241C80 AFB20038 */ sw $s2, 0x38($sp) +/* D9F154 80241C84 0080902D */ daddu $s2, $a0, $zero +/* D9F158 80241C88 AFBF003C */ sw $ra, 0x3c($sp) +/* D9F15C 80241C8C AFB10034 */ sw $s1, 0x34($sp) +/* D9F160 80241C90 AFB00030 */ sw $s0, 0x30($sp) +/* D9F164 80241C94 8E510148 */ lw $s1, 0x148($s2) +/* D9F168 80241C98 0C00EABB */ jal get_npc_unsafe +/* D9F16C 80241C9C 86240008 */ lh $a0, 8($s1) +/* D9F170 80241CA0 0040802D */ daddu $s0, $v0, $zero +/* D9F174 80241CA4 9602008E */ lhu $v0, 0x8e($s0) +/* D9F178 80241CA8 2442FFFF */ addiu $v0, $v0, -1 +/* D9F17C 80241CAC A602008E */ sh $v0, 0x8e($s0) +/* D9F180 80241CB0 00021400 */ sll $v0, $v0, 0x10 +/* D9F184 80241CB4 1C40002B */ bgtz $v0, .L80241D64 +/* D9F188 80241CB8 00000000 */ nop +/* D9F18C 80241CBC 0C090652 */ jal func_80241948 +/* D9F190 80241CC0 0240202D */ daddu $a0, $s2, $zero +/* D9F194 80241CC4 0040202D */ daddu $a0, $v0, $zero +/* D9F198 80241CC8 0481001A */ bgez $a0, .L80241D34 +/* D9F19C 80241CCC 2402000F */ addiu $v0, $zero, 0xf +/* D9F1A0 80241CD0 24040002 */ addiu $a0, $zero, 2 +/* D9F1A4 80241CD4 860300A8 */ lh $v1, 0xa8($s0) +/* D9F1A8 80241CD8 AFA2001C */ sw $v0, 0x1c($sp) +/* D9F1AC 80241CDC 27A20028 */ addiu $v0, $sp, 0x28 +/* D9F1B0 80241CE0 0200282D */ daddu $a1, $s0, $zero +/* D9F1B4 80241CE4 3C013F80 */ lui $at, 0x3f80 +/* D9F1B8 80241CE8 44810000 */ mtc1 $at, $f0 +/* D9F1BC 80241CEC 3C014000 */ lui $at, 0x4000 +/* D9F1C0 80241CF0 44811000 */ mtc1 $at, $f2 +/* D9F1C4 80241CF4 3C01C1A0 */ lui $at, 0xc1a0 +/* D9F1C8 80241CF8 44812000 */ mtc1 $at, $f4 +/* D9F1CC 80241CFC 44833000 */ mtc1 $v1, $f6 +/* D9F1D0 80241D00 00000000 */ nop +/* D9F1D4 80241D04 468031A0 */ cvt.s.w $f6, $f6 +/* D9F1D8 80241D08 44073000 */ mfc1 $a3, $f6 +/* D9F1DC 80241D0C 0000302D */ daddu $a2, $zero, $zero +/* D9F1E0 80241D10 AFA20020 */ sw $v0, 0x20($sp) +/* D9F1E4 80241D14 E7A00010 */ swc1 $f0, 0x10($sp) +/* D9F1E8 80241D18 E7A20014 */ swc1 $f2, 0x14($sp) +/* D9F1EC 80241D1C 0C01BFA4 */ jal fx_emote +/* D9F1F0 80241D20 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9F1F4 80241D24 8E2200CC */ lw $v0, 0xcc($s1) +/* D9F1F8 80241D28 8C420000 */ lw $v0, ($v0) +/* D9F1FC 80241D2C 08090755 */ j .L80241D54 +/* D9F200 80241D30 AE020028 */ sw $v0, 0x28($s0) +.L80241D34: +/* D9F204 80241D34 8E2200CC */ lw $v0, 0xcc($s1) +/* D9F208 80241D38 8C420024 */ lw $v0, 0x24($v0) +/* D9F20C 80241D3C 0C00FB3A */ jal get_enemy +/* D9F210 80241D40 AE020028 */ sw $v0, 0x28($s0) +/* D9F214 80241D44 86240008 */ lh $a0, 8($s1) +/* D9F218 80241D48 24030001 */ addiu $v1, $zero, 1 +/* D9F21C 80241D4C AC43006C */ sw $v1, 0x6c($v0) +/* D9F220 80241D50 AC44007C */ sw $a0, 0x7c($v0) +.L80241D54: +/* D9F224 80241D54 96220076 */ lhu $v0, 0x76($s1) +/* D9F228 80241D58 A602008E */ sh $v0, 0x8e($s0) +/* D9F22C 80241D5C 24020021 */ addiu $v0, $zero, 0x21 +/* D9F230 80241D60 AE420070 */ sw $v0, 0x70($s2) +.L80241D64: +/* D9F234 80241D64 8FBF003C */ lw $ra, 0x3c($sp) +/* D9F238 80241D68 8FB20038 */ lw $s2, 0x38($sp) +/* D9F23C 80241D6C 8FB10034 */ lw $s1, 0x34($sp) +/* D9F240 80241D70 8FB00030 */ lw $s0, 0x30($sp) +/* D9F244 80241D74 03E00008 */ jr $ra +/* D9F248 80241D78 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241D7C_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241D7C_D9D4D0.s new file mode 100644 index 0000000000..e21409c4d8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241D7C_D9D4D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D7C_D9F24C +/* D9F24C 80241D7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D9F250 80241D80 AFB10014 */ sw $s1, 0x14($sp) +/* D9F254 80241D84 0080882D */ daddu $s1, $a0, $zero +/* D9F258 80241D88 AFBF0018 */ sw $ra, 0x18($sp) +/* D9F25C 80241D8C AFB00010 */ sw $s0, 0x10($sp) +/* D9F260 80241D90 8E300148 */ lw $s0, 0x148($s1) +/* D9F264 80241D94 0C00EABB */ jal get_npc_unsafe +/* D9F268 80241D98 86040008 */ lh $a0, 8($s0) +/* D9F26C 80241D9C 96030076 */ lhu $v1, 0x76($s0) +/* D9F270 80241DA0 A443008E */ sh $v1, 0x8e($v0) +/* D9F274 80241DA4 24020021 */ addiu $v0, $zero, 0x21 +/* D9F278 80241DA8 AE220070 */ sw $v0, 0x70($s1) +/* D9F27C 80241DAC 8FBF0018 */ lw $ra, 0x18($sp) +/* D9F280 80241DB0 8FB10014 */ lw $s1, 0x14($sp) +/* D9F284 80241DB4 8FB00010 */ lw $s0, 0x10($sp) +/* D9F288 80241DB8 03E00008 */ jr $ra +/* D9F28C 80241DBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241DC0_D9D4D0.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241DC0_D9D4D0.s new file mode 100644 index 0000000000..d18cad6ff8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241DC0_D9D4D0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DC0_D9F290 +/* D9F290 80241DC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D9F294 80241DC4 AFB3001C */ sw $s3, 0x1c($sp) +/* D9F298 80241DC8 0080982D */ daddu $s3, $a0, $zero +/* D9F29C 80241DCC AFBF0020 */ sw $ra, 0x20($sp) +/* D9F2A0 80241DD0 AFB20018 */ sw $s2, 0x18($sp) +/* D9F2A4 80241DD4 AFB10014 */ sw $s1, 0x14($sp) +/* D9F2A8 80241DD8 AFB00010 */ sw $s0, 0x10($sp) +/* D9F2AC 80241DDC 8E720148 */ lw $s2, 0x148($s3) +/* D9F2B0 80241DE0 0C00EABB */ jal get_npc_unsafe +/* D9F2B4 80241DE4 86440008 */ lh $a0, 8($s2) +/* D9F2B8 80241DE8 86440008 */ lh $a0, 8($s2) +/* D9F2BC 80241DEC 0040882D */ daddu $s1, $v0, $zero +/* D9F2C0 80241DF0 0C00FB3A */ jal get_enemy +/* D9F2C4 80241DF4 24840001 */ addiu $a0, $a0, 1 +/* D9F2C8 80241DF8 0040802D */ daddu $s0, $v0, $zero +/* D9F2CC 80241DFC 0C00EABB */ jal get_npc_unsafe +/* D9F2D0 80241E00 86040008 */ lh $a0, 8($s0) +/* D9F2D4 80241E04 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D9F2D8 80241E08 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D9F2DC 80241E0C 8C460038 */ lw $a2, 0x38($v0) +/* D9F2E0 80241E10 0C00A720 */ jal atan2 +/* D9F2E4 80241E14 8C470040 */ lw $a3, 0x40($v0) +/* D9F2E8 80241E18 E620000C */ swc1 $f0, 0xc($s1) +/* D9F2EC 80241E1C 8E02006C */ lw $v0, 0x6c($s0) +/* D9F2F0 80241E20 14400008 */ bnez $v0, .L80241E44 +/* D9F2F4 80241E24 00000000 */ nop +/* D9F2F8 80241E28 8E4200CC */ lw $v0, 0xcc($s2) +/* D9F2FC 80241E2C 8C420000 */ lw $v0, ($v0) +/* D9F300 80241E30 AE220028 */ sw $v0, 0x28($s1) +/* D9F304 80241E34 96420076 */ lhu $v0, 0x76($s2) +/* D9F308 80241E38 A622008E */ sh $v0, 0x8e($s1) +/* D9F30C 80241E3C 24020021 */ addiu $v0, $zero, 0x21 +/* D9F310 80241E40 AE620070 */ sw $v0, 0x70($s3) +.L80241E44: +/* D9F314 80241E44 8FBF0020 */ lw $ra, 0x20($sp) +/* D9F318 80241E48 8FB3001C */ lw $s3, 0x1c($sp) +/* D9F31C 80241E4C 8FB20018 */ lw $s2, 0x18($sp) +/* D9F320 80241E50 8FB10014 */ lw $s1, 0x14($sp) +/* D9F324 80241E54 8FB00010 */ lw $s0, 0x10($sp) +/* D9F328 80241E58 03E00008 */ jr $ra +/* D9F32C 80241E5C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241E60.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241E60.s new file mode 100644 index 0000000000..bc1f7f3422 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241E60.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E60 +/* D9F330 80241E60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9F334 80241E64 AFB00010 */ sw $s0, 0x10($sp) +/* D9F338 80241E68 0080802D */ daddu $s0, $a0, $zero +/* D9F33C 80241E6C AFBF0014 */ sw $ra, 0x14($sp) +/* D9F340 80241E70 8E020148 */ lw $v0, 0x148($s0) +/* D9F344 80241E74 0C00EABB */ jal get_npc_unsafe +/* D9F348 80241E78 84440008 */ lh $a0, 8($v0) +/* D9F34C 80241E7C 9443008E */ lhu $v1, 0x8e($v0) +/* D9F350 80241E80 2463FFFF */ addiu $v1, $v1, -1 +/* D9F354 80241E84 A443008E */ sh $v1, 0x8e($v0) +/* D9F358 80241E88 00031C00 */ sll $v1, $v1, 0x10 +/* D9F35C 80241E8C 58600001 */ blezl $v1, .L80241E94 +/* D9F360 80241E90 AE000070 */ sw $zero, 0x70($s0) +.L80241E94: +/* D9F364 80241E94 8FBF0014 */ lw $ra, 0x14($sp) +/* D9F368 80241E98 8FB00010 */ lw $s0, 0x10($sp) +/* D9F36C 80241E9C 03E00008 */ jr $ra +/* D9F370 80241EA0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80241EA4.s b/asm/nonmatchings/world/area_omo/omo_02/func_80241EA4.s new file mode 100644 index 0000000000..4384c5615a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80241EA4.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EA4 +/* D9F374 80241EA4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* D9F378 80241EA8 AFB7004C */ sw $s7, 0x4c($sp) +/* D9F37C 80241EAC 0080B82D */ daddu $s7, $a0, $zero +/* D9F380 80241EB0 AFB10034 */ sw $s1, 0x34($sp) +/* D9F384 80241EB4 00A0882D */ daddu $s1, $a1, $zero +/* D9F388 80241EB8 AFBF0050 */ sw $ra, 0x50($sp) +/* D9F38C 80241EBC AFB60048 */ sw $s6, 0x48($sp) +/* D9F390 80241EC0 AFB50044 */ sw $s5, 0x44($sp) +/* D9F394 80241EC4 AFB40040 */ sw $s4, 0x40($sp) +/* D9F398 80241EC8 AFB3003C */ sw $s3, 0x3c($sp) +/* D9F39C 80241ECC AFB20038 */ sw $s2, 0x38($sp) +/* D9F3A0 80241ED0 AFB00030 */ sw $s0, 0x30($sp) +/* D9F3A4 80241ED4 8EF30148 */ lw $s3, 0x148($s7) +/* D9F3A8 80241ED8 86640008 */ lh $a0, 8($s3) +/* D9F3AC 80241EDC 8EF0000C */ lw $s0, 0xc($s7) +/* D9F3B0 80241EE0 0C00FB5A */ jal get_enemy_safe +/* D9F3B4 80241EE4 0000B02D */ daddu $s6, $zero, $zero +/* D9F3B8 80241EE8 10400131 */ beqz $v0, .L802423B0 +/* D9F3BC 80241EEC 24020005 */ addiu $v0, $zero, 5 +/* D9F3C0 80241EF0 8E63006C */ lw $v1, 0x6c($s3) +/* D9F3C4 80241EF4 1062012F */ beq $v1, $v0, .L802423B4 +/* D9F3C8 80241EF8 0000102D */ daddu $v0, $zero, $zero +/* D9F3CC 80241EFC 8E050000 */ lw $a1, ($s0) +/* D9F3D0 80241F00 0C0B1EAF */ jal get_variable +/* D9F3D4 80241F04 02E0202D */ daddu $a0, $s7, $zero +/* D9F3D8 80241F08 86640008 */ lh $a0, 8($s3) +/* D9F3DC 80241F0C 0C00EABB */ jal get_npc_unsafe +/* D9F3E0 80241F10 0040A82D */ daddu $s5, $v0, $zero +/* D9F3E4 80241F14 8E630070 */ lw $v1, 0x70($s3) +/* D9F3E8 80241F18 30630002 */ andi $v1, $v1, 2 +/* D9F3EC 80241F1C 10600008 */ beqz $v1, .L80241F40 +/* D9F3F0 80241F20 0040902D */ daddu $s2, $v0, $zero +/* D9F3F4 80241F24 964200A8 */ lhu $v0, 0xa8($s2) +/* D9F3F8 80241F28 00021400 */ sll $v0, $v0, 0x10 +/* D9F3FC 80241F2C 00021C03 */ sra $v1, $v0, 0x10 +/* D9F400 80241F30 000217C2 */ srl $v0, $v0, 0x1f +/* D9F404 80241F34 00621821 */ addu $v1, $v1, $v0 +/* D9F408 80241F38 00031843 */ sra $v1, $v1, 1 +/* D9F40C 80241F3C A24300AB */ sb $v1, 0xab($s2) +.L80241F40: +/* D9F410 80241F40 16200005 */ bnez $s1, .L80241F58 +/* D9F414 80241F44 3C030004 */ lui $v1, 4 +/* D9F418 80241F48 8E6200B0 */ lw $v0, 0xb0($s3) +/* D9F41C 80241F4C 30420004 */ andi $v0, $v0, 4 +/* D9F420 80241F50 10400019 */ beqz $v0, .L80241FB8 +/* D9F424 80241F54 00000000 */ nop +.L80241F58: +/* D9F428 80241F58 34630102 */ ori $v1, $v1, 0x102 +/* D9F42C 80241F5C AEE00070 */ sw $zero, 0x70($s7) +/* D9F430 80241F60 8E420000 */ lw $v0, ($s2) +/* D9F434 80241F64 0240202D */ daddu $a0, $s2, $zero +/* D9F438 80241F68 A640008E */ sh $zero, 0x8e($s2) +/* D9F43C 80241F6C 00431025 */ or $v0, $v0, $v1 +/* D9F440 80241F70 0C00EAFF */ jal disable_npc_shadow +/* D9F444 80241F74 AE420000 */ sw $v0, ($s2) +/* D9F448 80241F78 3C041F30 */ lui $a0, 0x1f30 +/* D9F44C 80241F7C 8E420000 */ lw $v0, ($s2) +/* D9F450 80241F80 2403F7FF */ addiu $v1, $zero, -0x801 +/* D9F454 80241F84 00431024 */ and $v0, $v0, $v1 +/* D9F458 80241F88 AE420000 */ sw $v0, ($s2) +/* D9F45C 80241F8C 8E620000 */ lw $v0, ($s3) +/* D9F460 80241F90 8E6300B0 */ lw $v1, 0xb0($s3) +/* D9F464 80241F94 34840040 */ ori $a0, $a0, 0x40 +/* D9F468 80241F98 AE60006C */ sw $zero, 0x6c($s3) +/* D9F46C 80241F9C 00441025 */ or $v0, $v0, $a0 +/* D9F470 80241FA0 AE620000 */ sw $v0, ($s3) +/* D9F474 80241FA4 30620004 */ andi $v0, $v1, 4 +/* D9F478 80241FA8 10400003 */ beqz $v0, .L80241FB8 +/* D9F47C 80241FAC 2402FFFB */ addiu $v0, $zero, -5 +/* D9F480 80241FB0 00621024 */ and $v0, $v1, $v0 +/* D9F484 80241FB4 AE6200B0 */ sw $v0, 0xb0($s3) +.L80241FB8: +/* D9F488 80241FB8 8EE30070 */ lw $v1, 0x70($s7) +/* D9F48C 80241FBC 24100001 */ addiu $s0, $zero, 1 +/* D9F490 80241FC0 10700012 */ beq $v1, $s0, .L8024200C +/* D9F494 80241FC4 28620002 */ slti $v0, $v1, 2 +/* D9F498 80241FC8 10400005 */ beqz $v0, .L80241FE0 +/* D9F49C 80241FCC 24020002 */ addiu $v0, $zero, 2 +/* D9F4A0 80241FD0 10600007 */ beqz $v1, .L80241FF0 +/* D9F4A4 80241FD4 0000102D */ daddu $v0, $zero, $zero +/* D9F4A8 80241FD8 080908ED */ j .L802423B4 +/* D9F4AC 80241FDC 00000000 */ nop +.L80241FE0: +/* D9F4B0 80241FE0 1062005B */ beq $v1, $v0, .L80242150 +/* D9F4B4 80241FE4 0000102D */ daddu $v0, $zero, $zero +/* D9F4B8 80241FE8 080908ED */ j .L802423B4 +/* D9F4BC 80241FEC 00000000 */ nop +.L80241FF0: +/* D9F4C0 80241FF0 8E420000 */ lw $v0, ($s2) +/* D9F4C4 80241FF4 0240202D */ daddu $a0, $s2, $zero +/* D9F4C8 80241FF8 34420002 */ ori $v0, $v0, 2 +/* D9F4CC 80241FFC 0C00EAFF */ jal disable_npc_shadow +/* D9F4D0 80242000 AE420000 */ sw $v0, ($s2) +/* D9F4D4 80242004 AE60006C */ sw $zero, 0x6c($s3) +/* D9F4D8 80242008 AEF00070 */ sw $s0, 0x70($s7) +.L8024200C: +/* D9F4DC 8024200C 8E74006C */ lw $s4, 0x6c($s3) +/* D9F4E0 80242010 24020001 */ addiu $v0, $zero, 1 +/* D9F4E4 80242014 168200E7 */ bne $s4, $v0, .L802423B4 +/* D9F4E8 80242018 0000102D */ daddu $v0, $zero, $zero +/* D9F4EC 8024201C 8E64007C */ lw $a0, 0x7c($s3) +/* D9F4F0 80242020 24110002 */ addiu $s1, $zero, 2 +/* D9F4F4 80242024 0C00EABB */ jal get_npc_unsafe +/* D9F4F8 80242028 AE71006C */ sw $s1, 0x6c($s3) +/* D9F4FC 8024202C 0040802D */ daddu $s0, $v0, $zero +/* D9F500 80242030 C6000038 */ lwc1 $f0, 0x38($s0) +/* D9F504 80242034 E6400038 */ swc1 $f0, 0x38($s2) +/* D9F508 80242038 C6000040 */ lwc1 $f0, 0x40($s0) +/* D9F50C 8024203C E6400040 */ swc1 $f0, 0x40($s2) +/* D9F510 80242040 C6020034 */ lwc1 $f2, 0x34($s0) +/* D9F514 80242044 3C014387 */ lui $at, 0x4387 +/* D9F518 80242048 44810000 */ mtc1 $at, $f0 +/* D9F51C 8024204C 26440038 */ addiu $a0, $s2, 0x38 +/* D9F520 80242050 46020001 */ sub.s $f0, $f0, $f2 +/* D9F524 80242054 C6680078 */ lwc1 $f8, 0x78($s3) +/* D9F528 80242058 46804220 */ cvt.s.w $f8, $f8 +/* D9F52C 8024205C 44064000 */ mfc1 $a2, $f8 +/* D9F530 80242060 44070000 */ mfc1 $a3, $f0 +/* D9F534 80242064 0C00A7E7 */ jal add_vec2D_polar +/* D9F538 80242068 26450040 */ addiu $a1, $s2, 0x40 +/* D9F53C 8024206C C600003C */ lwc1 $f0, 0x3c($s0) +/* D9F540 80242070 C6620074 */ lwc1 $f2, 0x74($s3) +/* D9F544 80242074 468010A0 */ cvt.s.w $f2, $f2 +/* D9F548 80242078 46020000 */ add.s $f0, $f0, $f2 +/* D9F54C 8024207C E640003C */ swc1 $f0, 0x3c($s2) +/* D9F550 80242080 A2740007 */ sb $s4, 7($s3) +/* D9F554 80242084 C6400038 */ lwc1 $f0, 0x38($s2) +/* D9F558 80242088 4600020D */ trunc.w.s $f8, $f0 +/* D9F55C 8024208C 44024000 */ mfc1 $v0, $f8 +/* D9F560 80242090 00000000 */ nop +/* D9F564 80242094 A6620010 */ sh $v0, 0x10($s3) +/* D9F568 80242098 C640003C */ lwc1 $f0, 0x3c($s2) +/* D9F56C 8024209C 4600020D */ trunc.w.s $f8, $f0 +/* D9F570 802420A0 44024000 */ mfc1 $v0, $f8 +/* D9F574 802420A4 00000000 */ nop +/* D9F578 802420A8 A6620012 */ sh $v0, 0x12($s3) +/* D9F57C 802420AC C6400040 */ lwc1 $f0, 0x40($s2) +/* D9F580 802420B0 4600020D */ trunc.w.s $f8, $f0 +/* D9F584 802420B4 44024000 */ mfc1 $v0, $f8 +/* D9F588 802420B8 00000000 */ nop +/* D9F58C 802420BC A6620014 */ sh $v0, 0x14($s3) +/* D9F590 802420C0 AE400044 */ sw $zero, 0x44($s2) +/* D9F594 802420C4 AE400048 */ sw $zero, 0x48($s2) +/* D9F598 802420C8 AE40004C */ sw $zero, 0x4c($s2) +/* D9F59C 802420CC C6A00000 */ lwc1 $f0, ($s5) +/* D9F5A0 802420D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9F5A4 802420D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9F5A8 802420D8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D9F5AC 802420DC C64E0040 */ lwc1 $f14, 0x40($s2) +/* D9F5B0 802420E0 E6400018 */ swc1 $f0, 0x18($s2) +/* D9F5B4 802420E4 8C460028 */ lw $a2, 0x28($v0) +/* D9F5B8 802420E8 0C00A720 */ jal atan2 +/* D9F5BC 802420EC 8C470030 */ lw $a3, 0x30($v0) +/* D9F5C0 802420F0 E640000C */ swc1 $f0, 0xc($s2) +/* D9F5C4 802420F4 C6A0000C */ lwc1 $f0, 0xc($s5) +/* D9F5C8 802420F8 8E420000 */ lw $v0, ($s2) +/* D9F5CC 802420FC 0240202D */ daddu $a0, $s2, $zero +/* D9F5D0 80242100 E640001C */ swc1 $f0, 0x1c($s2) +/* D9F5D4 80242104 C6A00010 */ lwc1 $f0, 0x10($s5) +/* D9F5D8 80242108 2403FFFD */ addiu $v1, $zero, -3 +/* D9F5DC 8024210C E6400014 */ swc1 $f0, 0x14($s2) +/* D9F5E0 80242110 C600003C */ lwc1 $f0, 0x3c($s0) +/* D9F5E4 80242114 00431024 */ and $v0, $v0, $v1 +/* D9F5E8 80242118 AE420000 */ sw $v0, ($s2) +/* D9F5EC 8024211C 0C00EAE8 */ jal enable_npc_shadow +/* D9F5F0 80242120 E6400064 */ swc1 $f0, 0x64($s2) +/* D9F5F4 80242124 8E420000 */ lw $v0, ($s2) +/* D9F5F8 80242128 3C03E0FF */ lui $v1, 0xe0ff +/* D9F5FC 8024212C 34420800 */ ori $v0, $v0, 0x800 +/* D9F600 80242130 AE420000 */ sw $v0, ($s2) +/* D9F604 80242134 8E620000 */ lw $v0, ($s3) +/* D9F608 80242138 3463FFFF */ ori $v1, $v1, 0xffff +/* D9F60C 8024213C 00431024 */ and $v0, $v0, $v1 +/* D9F610 80242140 AE620000 */ sw $v0, ($s3) +/* D9F614 80242144 2402005A */ addiu $v0, $zero, 0x5a +/* D9F618 80242148 A642008E */ sh $v0, 0x8e($s2) +/* D9F61C 8024214C AEF10070 */ sw $s1, 0x70($s7) +.L80242150: +/* D9F620 80242150 0000202D */ daddu $a0, $zero, $zero +/* D9F624 80242154 27B00020 */ addiu $s0, $sp, 0x20 +/* D9F628 80242158 864200A8 */ lh $v0, 0xa8($s2) +/* D9F62C 8024215C 3C013FE0 */ lui $at, 0x3fe0 +/* D9F630 80242160 44810800 */ mtc1 $at, $f1 +/* D9F634 80242164 44800000 */ mtc1 $zero, $f0 +/* D9F638 80242168 44821000 */ mtc1 $v0, $f2 +/* D9F63C 8024216C 00000000 */ nop +/* D9F640 80242170 468010A1 */ cvt.d.w $f2, $f2 +/* D9F644 80242174 46201082 */ mul.d $f2, $f2, $f0 +/* D9F648 80242178 00000000 */ nop +/* D9F64C 8024217C 0200282D */ daddu $a1, $s0, $zero +/* D9F650 80242180 C6440038 */ lwc1 $f4, 0x38($s2) +/* D9F654 80242184 C640003C */ lwc1 $f0, 0x3c($s2) +/* D9F658 80242188 27B10024 */ addiu $s1, $sp, 0x24 +/* D9F65C 8024218C E7A40020 */ swc1 $f4, 0x20($sp) +/* D9F660 80242190 C6440040 */ lwc1 $f4, 0x40($s2) +/* D9F664 80242194 46000021 */ cvt.d.s $f0, $f0 +/* D9F668 80242198 46220000 */ add.d $f0, $f0, $f2 +/* D9F66C 8024219C E7A40028 */ swc1 $f4, 0x28($sp) +/* D9F670 802421A0 C6420018 */ lwc1 $f2, 0x18($s2) +/* D9F674 802421A4 46200020 */ cvt.s.d $f0, $f0 +/* D9F678 802421A8 E7A00024 */ swc1 $f0, 0x24($sp) +/* D9F67C 802421AC E7A20010 */ swc1 $f2, 0x10($sp) +/* D9F680 802421B0 C640000C */ lwc1 $f0, 0xc($s2) +/* D9F684 802421B4 0220302D */ daddu $a2, $s1, $zero +/* D9F688 802421B8 E7A00014 */ swc1 $f0, 0x14($sp) +/* D9F68C 802421BC 864200A6 */ lh $v0, 0xa6($s2) +/* D9F690 802421C0 27B40028 */ addiu $s4, $sp, 0x28 +/* D9F694 802421C4 44820000 */ mtc1 $v0, $f0 +/* D9F698 802421C8 00000000 */ nop +/* D9F69C 802421CC 46800020 */ cvt.s.w $f0, $f0 +/* D9F6A0 802421D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9F6A4 802421D4 864200A8 */ lh $v0, 0xa8($s2) +/* D9F6A8 802421D8 0280382D */ daddu $a3, $s4, $zero +/* D9F6AC 802421DC 44820000 */ mtc1 $v0, $f0 +/* D9F6B0 802421E0 00000000 */ nop +/* D9F6B4 802421E4 46800020 */ cvt.s.w $f0, $f0 +/* D9F6B8 802421E8 0C0376B9 */ jal func_800DDAE4 +/* D9F6BC 802421EC E7A0001C */ swc1 $f0, 0x1c($sp) +/* D9F6C0 802421F0 54400001 */ bnel $v0, $zero, .L802421F8 +/* D9F6C4 802421F4 24160001 */ addiu $s6, $zero, 1 +.L802421F8: +/* D9F6C8 802421F8 0200282D */ daddu $a1, $s0, $zero +/* D9F6CC 802421FC 0220302D */ daddu $a2, $s1, $zero +/* D9F6D0 80242200 C6400038 */ lwc1 $f0, 0x38($s2) +/* D9F6D4 80242204 C642003C */ lwc1 $f2, 0x3c($s2) +/* D9F6D8 80242208 C6440040 */ lwc1 $f4, 0x40($s2) +/* D9F6DC 8024220C 3C01447A */ lui $at, 0x447a +/* D9F6E0 80242210 44813000 */ mtc1 $at, $f6 +/* D9F6E4 80242214 27A2002C */ addiu $v0, $sp, 0x2c +/* D9F6E8 80242218 E7A00020 */ swc1 $f0, 0x20($sp) +/* D9F6EC 8024221C E7A20024 */ swc1 $f2, 0x24($sp) +/* D9F6F0 80242220 E7A40028 */ swc1 $f4, 0x28($sp) +/* D9F6F4 80242224 E7A6002C */ swc1 $f6, 0x2c($sp) +/* D9F6F8 80242228 AFA20010 */ sw $v0, 0x10($sp) +/* D9F6FC 8024222C 8E440080 */ lw $a0, 0x80($s2) +/* D9F700 80242230 0C0372DF */ jal func_800DCB7C +/* D9F704 80242234 0280382D */ daddu $a3, $s4, $zero +/* D9F708 80242238 10400019 */ beqz $v0, .L802422A0 +/* D9F70C 8024223C 00000000 */ nop +/* D9F710 80242240 C640001C */ lwc1 $f0, 0x1c($s2) +/* D9F714 80242244 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* D9F718 80242248 46000005 */ abs.s $f0, $f0 +/* D9F71C 8024224C 4600103C */ c.lt.s $f2, $f0 +/* D9F720 80242250 00000000 */ nop +/* D9F724 80242254 45000012 */ bc1f .L802422A0 +/* D9F728 80242258 00000000 */ nop +/* D9F72C 8024225C C7A40024 */ lwc1 $f4, 0x24($sp) +/* D9F730 80242260 C6400064 */ lwc1 $f0, 0x64($s2) +/* D9F734 80242264 46002001 */ sub.s $f0, $f4, $f0 +/* D9F738 80242268 3C014034 */ lui $at, 0x4034 +/* D9F73C 8024226C 44811800 */ mtc1 $at, $f3 +/* D9F740 80242270 44801000 */ mtc1 $zero, $f2 +/* D9F744 80242274 46000005 */ abs.s $f0, $f0 +/* D9F748 80242278 46000021 */ cvt.d.s $f0, $f0 +/* D9F74C 8024227C 4622003C */ c.lt.d $f0, $f2 +/* D9F750 80242280 00000000 */ nop +/* D9F754 80242284 45000006 */ bc1f .L802422A0 +/* D9F758 80242288 0240202D */ daddu $a0, $s2, $zero +/* D9F75C 8024228C 8E450018 */ lw $a1, 0x18($s2) +/* D9F760 80242290 8E46000C */ lw $a2, 0xc($s2) +/* D9F764 80242294 2416000A */ addiu $s6, $zero, 0xa +/* D9F768 80242298 0C00EA95 */ jal npc_move_heading +/* D9F76C 8024229C E644003C */ swc1 $f4, 0x3c($s2) +.L802422A0: +/* D9F770 802422A0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* D9F774 802422A4 3C013FF0 */ lui $at, 0x3ff0 +/* D9F778 802422A8 44811800 */ mtc1 $at, $f3 +/* D9F77C 802422AC 44801000 */ mtc1 $zero, $f2 +/* D9F780 802422B0 46000021 */ cvt.d.s $f0, $f0 +/* D9F784 802422B4 4622003C */ c.lt.d $f0, $f2 +/* D9F788 802422B8 00000000 */ nop +/* D9F78C 802422BC 45030001 */ bc1tl .L802422C4 +/* D9F790 802422C0 2416000B */ addiu $s6, $zero, 0xb +.L802422C4: +/* D9F794 802422C4 9642008E */ lhu $v0, 0x8e($s2) +/* D9F798 802422C8 2442FFFF */ addiu $v0, $v0, -1 +/* D9F79C 802422CC A642008E */ sh $v0, 0x8e($s2) +/* D9F7A0 802422D0 00021400 */ sll $v0, $v0, 0x10 +/* D9F7A4 802422D4 58400001 */ blezl $v0, .L802422DC +/* D9F7A8 802422D8 24160014 */ addiu $s6, $zero, 0x14 +.L802422DC: +/* D9F7AC 802422DC 56C00019 */ bnel $s6, $zero, .L80242344 +/* D9F7B0 802422E0 AFA00010 */ sw $zero, 0x10($sp) +/* D9F7B4 802422E4 8E620070 */ lw $v0, 0x70($s3) +/* D9F7B8 802422E8 30420001 */ andi $v0, $v0, 1 +/* D9F7BC 802422EC 10400009 */ beqz $v0, .L80242314 +/* D9F7C0 802422F0 00000000 */ nop +/* D9F7C4 802422F4 C640004C */ lwc1 $f0, 0x4c($s2) +/* D9F7C8 802422F8 3C014044 */ lui $at, 0x4044 +/* D9F7CC 802422FC 44811800 */ mtc1 $at, $f3 +/* D9F7D0 80242300 44801000 */ mtc1 $zero, $f2 +/* D9F7D4 80242304 46000021 */ cvt.d.s $f0, $f0 +/* D9F7D8 80242308 46220000 */ add.d $f0, $f0, $f2 +/* D9F7DC 8024230C 46200020 */ cvt.s.d $f0, $f0 +/* D9F7E0 80242310 E640004C */ swc1 $f0, 0x4c($s2) +.L80242314: +/* D9F7E4 80242314 8E450018 */ lw $a1, 0x18($s2) +/* D9F7E8 80242318 8E46000C */ lw $a2, 0xc($s2) +/* D9F7EC 8024231C 0C00EA95 */ jal npc_move_heading +/* D9F7F0 80242320 0240202D */ daddu $a0, $s2, $zero +/* D9F7F4 80242324 C644003C */ lwc1 $f4, 0x3c($s2) +/* D9F7F8 80242328 C640001C */ lwc1 $f0, 0x1c($s2) +/* D9F7FC 8024232C 46002100 */ add.s $f4, $f4, $f0 +/* D9F800 80242330 C6420014 */ lwc1 $f2, 0x14($s2) +/* D9F804 80242334 46020001 */ sub.s $f0, $f0, $f2 +/* D9F808 80242338 E644003C */ swc1 $f4, 0x3c($s2) +/* D9F80C 8024233C 080908EC */ j .L802423B0 +/* D9F810 80242340 E640001C */ swc1 $f0, 0x1c($s2) +.L80242344: +/* D9F814 80242344 AFA00014 */ sw $zero, 0x14($sp) +/* D9F818 80242348 8E450038 */ lw $a1, 0x38($s2) +/* D9F81C 8024234C 8E46003C */ lw $a2, 0x3c($s2) +/* D9F820 80242350 8E470040 */ lw $a3, 0x40($s2) +/* D9F824 80242354 0C01BECC */ jal fx_walk_normal +/* D9F828 80242358 24040002 */ addiu $a0, $zero, 2 +/* D9F82C 8024235C 3C01C47A */ lui $at, 0xc47a +/* D9F830 80242360 44810000 */ mtc1 $at, $f0 +/* D9F834 80242364 AE60006C */ sw $zero, 0x6c($s3) +/* D9F838 80242368 8E420000 */ lw $v0, ($s2) +/* D9F83C 8024236C 0240202D */ daddu $a0, $s2, $zero +/* D9F840 80242370 AE400038 */ sw $zero, 0x38($s2) +/* D9F844 80242374 AE400040 */ sw $zero, 0x40($s2) +/* D9F848 80242378 AE40001C */ sw $zero, 0x1c($s2) +/* D9F84C 8024237C 34420002 */ ori $v0, $v0, 2 +/* D9F850 80242380 E640003C */ swc1 $f0, 0x3c($s2) +/* D9F854 80242384 0C00EAFF */ jal disable_npc_shadow +/* D9F858 80242388 AE420000 */ sw $v0, ($s2) +/* D9F85C 8024238C 8E420000 */ lw $v0, ($s2) +/* D9F860 80242390 2403F7FF */ addiu $v1, $zero, -0x801 +/* D9F864 80242394 00431024 */ and $v0, $v0, $v1 +/* D9F868 80242398 AE420000 */ sw $v0, ($s2) +/* D9F86C 8024239C 8E620000 */ lw $v0, ($s3) +/* D9F870 802423A0 3C031F00 */ lui $v1, 0x1f00 +/* D9F874 802423A4 00431025 */ or $v0, $v0, $v1 +/* D9F878 802423A8 AE620000 */ sw $v0, ($s3) +/* D9F87C 802423AC AEE00070 */ sw $zero, 0x70($s7) +.L802423B0: +/* D9F880 802423B0 0000102D */ daddu $v0, $zero, $zero +.L802423B4: +/* D9F884 802423B4 8FBF0050 */ lw $ra, 0x50($sp) +/* D9F888 802423B8 8FB7004C */ lw $s7, 0x4c($sp) +/* D9F88C 802423BC 8FB60048 */ lw $s6, 0x48($sp) +/* D9F890 802423C0 8FB50044 */ lw $s5, 0x44($sp) +/* D9F894 802423C4 8FB40040 */ lw $s4, 0x40($sp) +/* D9F898 802423C8 8FB3003C */ lw $s3, 0x3c($sp) +/* D9F89C 802423CC 8FB20038 */ lw $s2, 0x38($sp) +/* D9F8A0 802423D0 8FB10034 */ lw $s1, 0x34($sp) +/* D9F8A4 802423D4 8FB00030 */ lw $s0, 0x30($sp) +/* D9F8A8 802423D8 03E00008 */ jr $ra +/* D9F8AC 802423DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_802423E0.s b/asm/nonmatchings/world/area_omo/omo_02/func_802423E0.s new file mode 100644 index 0000000000..63bd75a8be --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_802423E0.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423E0 +/* D9F8B0 802423E0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* D9F8B4 802423E4 AFB3003C */ sw $s3, 0x3c($sp) +/* D9F8B8 802423E8 0080982D */ daddu $s3, $a0, $zero +/* D9F8BC 802423EC AFB40040 */ sw $s4, 0x40($sp) +/* D9F8C0 802423F0 0000A02D */ daddu $s4, $zero, $zero +/* D9F8C4 802423F4 3C03800A */ lui $v1, 0x800a +/* D9F8C8 802423F8 8463A634 */ lh $v1, -0x59cc($v1) +/* D9F8CC 802423FC 3C04800B */ lui $a0, %hi(gCameras) +/* D9F8D0 80242400 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* D9F8D4 80242404 AFBF0044 */ sw $ra, 0x44($sp) +/* D9F8D8 80242408 AFB20038 */ sw $s2, 0x38($sp) +/* D9F8DC 8024240C AFB10034 */ sw $s1, 0x34($sp) +/* D9F8E0 80242410 AFB00030 */ sw $s0, 0x30($sp) +/* D9F8E4 80242414 F7B80058 */ sdc1 $f24, 0x58($sp) +/* D9F8E8 80242418 F7B60050 */ sdc1 $f22, 0x50($sp) +/* D9F8EC 8024241C F7B40048 */ sdc1 $f20, 0x48($sp) +/* D9F8F0 80242420 8E710148 */ lw $s1, 0x148($s3) +/* D9F8F4 80242424 00031080 */ sll $v0, $v1, 2 +/* D9F8F8 80242428 00431021 */ addu $v0, $v0, $v1 +/* D9F8FC 8024242C 00021080 */ sll $v0, $v0, 2 +/* D9F900 80242430 00431023 */ subu $v0, $v0, $v1 +/* D9F904 80242434 000218C0 */ sll $v1, $v0, 3 +/* D9F908 80242438 00431021 */ addu $v0, $v0, $v1 +/* D9F90C 8024243C 000210C0 */ sll $v0, $v0, 3 +/* D9F910 80242440 10A00002 */ beqz $a1, .L8024244C +/* D9F914 80242444 00449021 */ addu $s2, $v0, $a0 +/* D9F918 80242448 AE600070 */ sw $zero, 0x70($s3) +.L8024244C: +/* D9F91C 8024244C 0C00FB5A */ jal get_enemy_safe +/* D9F920 80242450 86240008 */ lh $a0, 8($s1) +/* D9F924 80242454 14400006 */ bnez $v0, .L80242470 +/* D9F928 80242458 24020005 */ addiu $v0, $zero, 5 +/* D9F92C 8024245C 0260202D */ daddu $a0, $s3, $zero +/* D9F930 80242460 3C05FE36 */ lui $a1, 0xfe36 +/* D9F934 80242464 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D9F938 80242468 080909F4 */ j .L802427D0 +/* D9F93C 8024246C 0000302D */ daddu $a2, $zero, $zero +.L80242470: +/* D9F940 80242470 8E23006C */ lw $v1, 0x6c($s1) +/* D9F944 80242474 14620005 */ bne $v1, $v0, .L8024248C +/* D9F948 80242478 0260202D */ daddu $a0, $s3, $zero +/* D9F94C 8024247C 3C05FE36 */ lui $a1, 0xfe36 +/* D9F950 80242480 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D9F954 80242484 080909F4 */ j .L802427D0 +/* D9F958 80242488 0000302D */ daddu $a2, $zero, $zero +.L8024248C: +/* D9F95C 8024248C 86240008 */ lh $a0, 8($s1) +/* D9F960 80242490 0C00FB5A */ jal get_enemy_safe +/* D9F964 80242494 00000000 */ nop +/* D9F968 80242498 14400005 */ bnez $v0, .L802424B0 +/* D9F96C 8024249C 0260202D */ daddu $a0, $s3, $zero +/* D9F970 802424A0 3C05FE36 */ lui $a1, 0xfe36 +/* D9F974 802424A4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D9F978 802424A8 080909F4 */ j .L802427D0 +/* D9F97C 802424AC 0000302D */ daddu $a2, $zero, $zero +.L802424B0: +/* D9F980 802424B0 86240008 */ lh $a0, 8($s1) +/* D9F984 802424B4 0C00EABB */ jal get_npc_unsafe +/* D9F988 802424B8 00000000 */ nop +/* D9F98C 802424BC 8E630070 */ lw $v1, 0x70($s3) +/* D9F990 802424C0 10600006 */ beqz $v1, .L802424DC +/* D9F994 802424C4 0040802D */ daddu $s0, $v0, $zero +/* D9F998 802424C8 24020001 */ addiu $v0, $zero, 1 +/* D9F99C 802424CC 1062003F */ beq $v1, $v0, .L802425CC +/* D9F9A0 802424D0 0000102D */ daddu $v0, $zero, $zero +/* D9F9A4 802424D4 08090A04 */ j .L80242810 +/* D9F9A8 802424D8 00000000 */ nop +.L802424DC: +/* D9F9AC 802424DC AFA00010 */ sw $zero, 0x10($sp) +/* D9F9B0 802424E0 AFA00014 */ sw $zero, 0x14($sp) +/* D9F9B4 802424E4 8E050038 */ lw $a1, 0x38($s0) +/* D9F9B8 802424E8 8E06003C */ lw $a2, 0x3c($s0) +/* D9F9BC 802424EC 8E070040 */ lw $a3, 0x40($s0) +/* D9F9C0 802424F0 0C01BECC */ jal fx_walk_normal +/* D9F9C4 802424F4 24040002 */ addiu $a0, $zero, 2 +/* D9F9C8 802424F8 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D9F9CC 802424FC 0C00A6C9 */ jal clamp_angle +/* D9F9D0 80242500 00000000 */ nop +/* D9F9D4 80242504 3C018024 */ lui $at, 0x8024 +/* D9F9D8 80242508 D4387BC8 */ ldc1 $f24, 0x7bc8($at) +/* D9F9DC 8024250C 46000521 */ cvt.d.s $f20, $f0 +/* D9F9E0 80242510 4638A300 */ add.d $f12, $f20, $f24 +/* D9F9E4 80242514 3C018024 */ lui $at, 0x8024 +/* D9F9E8 80242518 D4367BD0 */ ldc1 $f22, 0x7bd0($at) +/* D9F9EC 8024251C 0C00A6C9 */ jal clamp_angle +/* D9F9F0 80242520 46206320 */ cvt.s.d $f12, $f12 +/* D9F9F4 80242524 4636A500 */ add.d $f20, $f20, $f22 +/* D9F9F8 80242528 4620A320 */ cvt.s.d $f12, $f20 +/* D9F9FC 8024252C 0C00A6C9 */ jal clamp_angle +/* D9FA00 80242530 46000506 */ mov.s $f20, $f0 +/* D9FA04 80242534 4600A521 */ cvt.d.s $f20, $f20 +/* D9FA08 80242538 4636A500 */ add.d $f20, $f20, $f22 +/* D9FA0C 8024253C 46000586 */ mov.s $f22, $f0 +/* D9FA10 80242540 0C00A6C9 */ jal clamp_angle +/* D9FA14 80242544 4620A320 */ cvt.s.d $f12, $f20 +/* D9FA18 80242548 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9FA1C 8024254C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9FA20 80242550 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D9FA24 80242554 C44E0084 */ lwc1 $f14, 0x84($v0) +/* D9FA28 80242558 0C00A70A */ jal get_clamped_angle_diff +/* D9FA2C 8024255C 46000506 */ mov.s $f20, $f0 +/* D9FA30 80242560 0C00A6C9 */ jal clamp_angle +/* D9FA34 80242564 46000306 */ mov.s $f12, $f0 +/* D9FA38 80242568 46000021 */ cvt.d.s $f0, $f0 +/* D9FA3C 8024256C 4638003C */ c.lt.d $f0, $f24 +/* D9FA40 80242570 00000000 */ nop +/* D9FA44 80242574 45020002 */ bc1fl .L80242580 +/* D9FA48 80242578 E614000C */ swc1 $f20, 0xc($s0) +/* D9FA4C 8024257C E616000C */ swc1 $f22, 0xc($s0) +.L80242580: +/* D9FA50 80242580 C6000018 */ lwc1 $f0, 0x18($s0) +/* D9FA54 80242584 3C018024 */ lui $at, 0x8024 +/* D9FA58 80242588 D4227BD8 */ ldc1 $f2, 0x7bd8($at) +/* D9FA5C 8024258C 46000021 */ cvt.d.s $f0, $f0 +/* D9FA60 80242590 46220002 */ mul.d $f0, $f0, $f2 +/* D9FA64 80242594 00000000 */ nop +/* D9FA68 80242598 3C013F66 */ lui $at, 0x3f66 +/* D9FA6C 8024259C 34216666 */ ori $at, $at, 0x6666 +/* D9FA70 802425A0 44812000 */ mtc1 $at, $f4 +/* D9FA74 802425A4 2402001E */ addiu $v0, $zero, 0x1e +/* D9FA78 802425A8 A602008E */ sh $v0, 0x8e($s0) +/* D9FA7C 802425AC 3C014120 */ lui $at, 0x4120 +/* D9FA80 802425B0 44811000 */ mtc1 $at, $f2 +/* D9FA84 802425B4 24020001 */ addiu $v0, $zero, 1 +/* D9FA88 802425B8 E6040014 */ swc1 $f4, 0x14($s0) +/* D9FA8C 802425BC E602001C */ swc1 $f2, 0x1c($s0) +/* D9FA90 802425C0 46200020 */ cvt.s.d $f0, $f0 +/* D9FA94 802425C4 E6000018 */ swc1 $f0, 0x18($s0) +/* D9FA98 802425C8 AE620070 */ sw $v0, 0x70($s3) +.L802425CC: +/* D9FA9C 802425CC C6000038 */ lwc1 $f0, 0x38($s0) +/* D9FAA0 802425D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* D9FAA4 802425D4 C6040040 */ lwc1 $f4, 0x40($s0) +/* D9FAA8 802425D8 C6060018 */ lwc1 $f6, 0x18($s0) +/* D9FAAC 802425DC 0000202D */ daddu $a0, $zero, $zero +/* D9FAB0 802425E0 E7A00020 */ swc1 $f0, 0x20($sp) +/* D9FAB4 802425E4 E7A20024 */ swc1 $f2, 0x24($sp) +/* D9FAB8 802425E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* D9FABC 802425EC E7A60010 */ swc1 $f6, 0x10($sp) +/* D9FAC0 802425F0 C600000C */ lwc1 $f0, 0xc($s0) +/* D9FAC4 802425F4 27A50020 */ addiu $a1, $sp, 0x20 +/* D9FAC8 802425F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* D9FACC 802425FC 860200A6 */ lh $v0, 0xa6($s0) +/* D9FAD0 80242600 27A60024 */ addiu $a2, $sp, 0x24 +/* D9FAD4 80242604 44820000 */ mtc1 $v0, $f0 +/* D9FAD8 80242608 00000000 */ nop +/* D9FADC 8024260C 46800020 */ cvt.s.w $f0, $f0 +/* D9FAE0 80242610 E7A00018 */ swc1 $f0, 0x18($sp) +/* D9FAE4 80242614 860200A8 */ lh $v0, 0xa8($s0) +/* D9FAE8 80242618 27A70028 */ addiu $a3, $sp, 0x28 +/* D9FAEC 8024261C 44820000 */ mtc1 $v0, $f0 +/* D9FAF0 80242620 00000000 */ nop +/* D9FAF4 80242624 46800020 */ cvt.s.w $f0, $f0 +/* D9FAF8 80242628 0C037711 */ jal func_800DDC44 +/* D9FAFC 8024262C E7A0001C */ swc1 $f0, 0x1c($sp) +/* D9FB00 80242630 54400007 */ bnel $v0, $zero, .L80242650 +/* D9FB04 80242634 24140001 */ addiu $s4, $zero, 1 +/* D9FB08 80242638 8E050018 */ lw $a1, 0x18($s0) +/* D9FB0C 8024263C 8E06000C */ lw $a2, 0xc($s0) +/* D9FB10 80242640 0C00EA95 */ jal npc_move_heading +/* D9FB14 80242644 0200202D */ daddu $a0, $s0, $zero +/* D9FB18 80242648 08090995 */ j .L80242654 +/* D9FB1C 8024264C 0000902D */ daddu $s2, $zero, $zero +.L80242650: +/* D9FB20 80242650 0000902D */ daddu $s2, $zero, $zero +.L80242654: +/* D9FB24 80242654 C600001C */ lwc1 $f0, 0x1c($s0) +/* D9FB28 80242658 44801000 */ mtc1 $zero, $f2 +/* D9FB2C 8024265C 44801800 */ mtc1 $zero, $f3 +/* D9FB30 80242660 46000021 */ cvt.d.s $f0, $f0 +/* D9FB34 80242664 4622003C */ c.lt.d $f0, $f2 +/* D9FB38 80242668 00000000 */ nop +/* D9FB3C 8024266C 45000028 */ bc1f .L80242710 +/* D9FB40 80242670 27A50020 */ addiu $a1, $sp, 0x20 +/* D9FB44 80242674 27A60024 */ addiu $a2, $sp, 0x24 +/* D9FB48 80242678 27A2002C */ addiu $v0, $sp, 0x2c +/* D9FB4C 8024267C C602003C */ lwc1 $f2, 0x3c($s0) +/* D9FB50 80242680 C6060038 */ lwc1 $f6, 0x38($s0) +/* D9FB54 80242684 3C01402A */ lui $at, 0x402a +/* D9FB58 80242688 4481A800 */ mtc1 $at, $f21 +/* D9FB5C 8024268C 4480A000 */ mtc1 $zero, $f20 +/* D9FB60 80242690 460010A1 */ cvt.d.s $f2, $f2 +/* D9FB64 80242694 46341080 */ add.d $f2, $f2, $f20 +/* D9FB68 80242698 C600001C */ lwc1 $f0, 0x1c($s0) +/* D9FB6C 8024269C C6040040 */ lwc1 $f4, 0x40($s0) +/* D9FB70 802426A0 46000005 */ abs.s $f0, $f0 +/* D9FB74 802426A4 E7A40028 */ swc1 $f4, 0x28($sp) +/* D9FB78 802426A8 3C014030 */ lui $at, 0x4030 +/* D9FB7C 802426AC 44812800 */ mtc1 $at, $f5 +/* D9FB80 802426B0 44802000 */ mtc1 $zero, $f4 +/* D9FB84 802426B4 46000021 */ cvt.d.s $f0, $f0 +/* D9FB88 802426B8 E7A60020 */ swc1 $f6, 0x20($sp) +/* D9FB8C 802426BC 46240000 */ add.d $f0, $f0, $f4 +/* D9FB90 802426C0 462010A0 */ cvt.s.d $f2, $f2 +/* D9FB94 802426C4 E7A20024 */ swc1 $f2, 0x24($sp) +/* D9FB98 802426C8 46200020 */ cvt.s.d $f0, $f0 +/* D9FB9C 802426CC E7A0002C */ swc1 $f0, 0x2c($sp) +/* D9FBA0 802426D0 AFA20010 */ sw $v0, 0x10($sp) +/* D9FBA4 802426D4 8E040080 */ lw $a0, 0x80($s0) +/* D9FBA8 802426D8 0C0372DF */ jal func_800DCB7C +/* D9FBAC 802426DC 27A70028 */ addiu $a3, $sp, 0x28 +/* D9FBB0 802426E0 1040000B */ beqz $v0, .L80242710 +/* D9FBB4 802426E4 00000000 */ nop +/* D9FBB8 802426E8 C600001C */ lwc1 $f0, 0x1c($s0) +/* D9FBBC 802426EC C7A2002C */ lwc1 $f2, 0x2c($sp) +/* D9FBC0 802426F0 46000005 */ abs.s $f0, $f0 +/* D9FBC4 802426F4 46000021 */ cvt.d.s $f0, $f0 +/* D9FBC8 802426F8 46340000 */ add.d $f0, $f0, $f20 +/* D9FBCC 802426FC 460010A1 */ cvt.d.s $f2, $f2 +/* D9FBD0 80242700 4620103E */ c.le.d $f2, $f0 +/* D9FBD4 80242704 00000000 */ nop +/* D9FBD8 80242708 45030001 */ bc1tl .L80242710 +/* D9FBDC 8024270C 24120001 */ addiu $s2, $zero, 1 +.L80242710: +/* D9FBE0 80242710 56400008 */ bnel $s2, $zero, .L80242734 +/* D9FBE4 80242714 2414000A */ addiu $s4, $zero, 0xa +/* D9FBE8 80242718 C604003C */ lwc1 $f4, 0x3c($s0) +/* D9FBEC 8024271C C600001C */ lwc1 $f0, 0x1c($s0) +/* D9FBF0 80242720 46002100 */ add.s $f4, $f4, $f0 +/* D9FBF4 80242724 C6020014 */ lwc1 $f2, 0x14($s0) +/* D9FBF8 80242728 46020001 */ sub.s $f0, $f0, $f2 +/* D9FBFC 8024272C E604003C */ swc1 $f4, 0x3c($s0) +/* D9FC00 80242730 E600001C */ swc1 $f0, 0x1c($s0) +.L80242734: +/* D9FC04 80242734 9602008E */ lhu $v0, 0x8e($s0) +/* D9FC08 80242738 2442FFFF */ addiu $v0, $v0, -1 +/* D9FC0C 8024273C A602008E */ sh $v0, 0x8e($s0) +/* D9FC10 80242740 00021400 */ sll $v0, $v0, 0x10 +/* D9FC14 80242744 58400001 */ blezl $v0, .L8024274C +/* D9FC18 80242748 2414000B */ addiu $s4, $zero, 0xb +.L8024274C: +/* D9FC1C 8024274C 12800024 */ beqz $s4, .L802427E0 +/* D9FC20 80242750 00000000 */ nop +/* D9FC24 80242754 AFA00010 */ sw $zero, 0x10($sp) +/* D9FC28 80242758 AFA00014 */ sw $zero, 0x14($sp) +/* D9FC2C 8024275C 8E050038 */ lw $a1, 0x38($s0) +/* D9FC30 80242760 8E06003C */ lw $a2, 0x3c($s0) +/* D9FC34 80242764 8E070040 */ lw $a3, 0x40($s0) +/* D9FC38 80242768 0C01BECC */ jal fx_walk_normal +/* D9FC3C 8024276C 24040002 */ addiu $a0, $zero, 2 +/* D9FC40 80242770 3C01C47A */ lui $at, 0xc47a +/* D9FC44 80242774 44810000 */ mtc1 $at, $f0 +/* D9FC48 80242778 AE20006C */ sw $zero, 0x6c($s1) +/* D9FC4C 8024277C 8E020000 */ lw $v0, ($s0) +/* D9FC50 80242780 0200202D */ daddu $a0, $s0, $zero +/* D9FC54 80242784 AE000038 */ sw $zero, 0x38($s0) +/* D9FC58 80242788 AE000040 */ sw $zero, 0x40($s0) +/* D9FC5C 8024278C 34420002 */ ori $v0, $v0, 2 +/* D9FC60 80242790 E600003C */ swc1 $f0, 0x3c($s0) +/* D9FC64 80242794 0C00EAFF */ jal disable_npc_shadow +/* D9FC68 80242798 AE020000 */ sw $v0, ($s0) +/* D9FC6C 8024279C 0260202D */ daddu $a0, $s3, $zero +/* D9FC70 802427A0 3C05FE36 */ lui $a1, 0xfe36 +/* D9FC74 802427A4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D9FC78 802427A8 24060001 */ addiu $a2, $zero, 1 +/* D9FC7C 802427AC 8E020000 */ lw $v0, ($s0) +/* D9FC80 802427B0 2403F7FF */ addiu $v1, $zero, -0x801 +/* D9FC84 802427B4 00431024 */ and $v0, $v0, $v1 +/* D9FC88 802427B8 AE020000 */ sw $v0, ($s0) +/* D9FC8C 802427BC 8E220000 */ lw $v0, ($s1) +/* D9FC90 802427C0 3C031F00 */ lui $v1, 0x1f00 +/* D9FC94 802427C4 00431025 */ or $v0, $v0, $v1 +/* D9FC98 802427C8 AE220000 */ sw $v0, ($s1) +/* D9FC9C 802427CC AC800070 */ sw $zero, 0x70($a0) +.L802427D0: +/* D9FCA0 802427D0 0C0B2026 */ jal set_variable +/* D9FCA4 802427D4 00000000 */ nop +/* D9FCA8 802427D8 08090A04 */ j .L80242810 +/* D9FCAC 802427DC 24020002 */ addiu $v0, $zero, 2 +.L802427E0: +/* D9FCB0 802427E0 8E220070 */ lw $v0, 0x70($s1) +/* D9FCB4 802427E4 30420001 */ andi $v0, $v0, 1 +/* D9FCB8 802427E8 10400009 */ beqz $v0, .L80242810 +/* D9FCBC 802427EC 0000102D */ daddu $v0, $zero, $zero +/* D9FCC0 802427F0 C600004C */ lwc1 $f0, 0x4c($s0) +/* D9FCC4 802427F4 3C01404E */ lui $at, 0x404e +/* D9FCC8 802427F8 44811800 */ mtc1 $at, $f3 +/* D9FCCC 802427FC 44801000 */ mtc1 $zero, $f2 +/* D9FCD0 80242800 46000021 */ cvt.d.s $f0, $f0 +/* D9FCD4 80242804 46220000 */ add.d $f0, $f0, $f2 +/* D9FCD8 80242808 46200020 */ cvt.s.d $f0, $f0 +/* D9FCDC 8024280C E600004C */ swc1 $f0, 0x4c($s0) +.L80242810: +/* D9FCE0 80242810 8FBF0044 */ lw $ra, 0x44($sp) +/* D9FCE4 80242814 8FB40040 */ lw $s4, 0x40($sp) +/* D9FCE8 80242818 8FB3003C */ lw $s3, 0x3c($sp) +/* D9FCEC 8024281C 8FB20038 */ lw $s2, 0x38($sp) +/* D9FCF0 80242820 8FB10034 */ lw $s1, 0x34($sp) +/* D9FCF4 80242824 8FB00030 */ lw $s0, 0x30($sp) +/* D9FCF8 80242828 D7B80058 */ ldc1 $f24, 0x58($sp) +/* D9FCFC 8024282C D7B60050 */ ldc1 $f22, 0x50($sp) +/* D9FD00 80242830 D7B40048 */ ldc1 $f20, 0x48($sp) +/* D9FD04 80242834 03E00008 */ jr $ra +/* D9FD08 80242838 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_8024283C.s b/asm/nonmatchings/world/area_omo/omo_02/func_8024283C.s new file mode 100644 index 0000000000..81d0b691f2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_8024283C.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024283C +/* D9FD0C 8024283C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9FD10 80242840 AFB3003C */ sw $s3, 0x3c($sp) +/* D9FD14 80242844 0080982D */ daddu $s3, $a0, $zero +/* D9FD18 80242848 AFBF0048 */ sw $ra, 0x48($sp) +/* D9FD1C 8024284C AFB50044 */ sw $s5, 0x44($sp) +/* D9FD20 80242850 AFB40040 */ sw $s4, 0x40($sp) +/* D9FD24 80242854 AFB20038 */ sw $s2, 0x38($sp) +/* D9FD28 80242858 AFB10034 */ sw $s1, 0x34($sp) +/* D9FD2C 8024285C AFB00030 */ sw $s0, 0x30($sp) +/* D9FD30 80242860 8E720148 */ lw $s2, 0x148($s3) +/* D9FD34 80242864 86440008 */ lh $a0, 8($s2) +/* D9FD38 80242868 8E70000C */ lw $s0, 0xc($s3) +/* D9FD3C 8024286C 0C00EABB */ jal get_npc_unsafe +/* D9FD40 80242870 00A0882D */ daddu $s1, $a1, $zero +/* D9FD44 80242874 0260202D */ daddu $a0, $s3, $zero +/* D9FD48 80242878 8E050000 */ lw $a1, ($s0) +/* D9FD4C 8024287C 0C0B1EAF */ jal get_variable +/* D9FD50 80242880 0040A02D */ daddu $s4, $v0, $zero +/* D9FD54 80242884 AFA00010 */ sw $zero, 0x10($sp) +/* D9FD58 80242888 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9FD5C 8024288C 8C630030 */ lw $v1, 0x30($v1) +/* D9FD60 80242890 AFA30014 */ sw $v1, 0x14($sp) +/* D9FD64 80242894 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9FD68 80242898 8C63001C */ lw $v1, 0x1c($v1) +/* D9FD6C 8024289C AFA30018 */ sw $v1, 0x18($sp) +/* D9FD70 802428A0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9FD74 802428A4 8C630024 */ lw $v1, 0x24($v1) +/* D9FD78 802428A8 AFA3001C */ sw $v1, 0x1c($sp) +/* D9FD7C 802428AC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9FD80 802428B0 8C630028 */ lw $v1, 0x28($v1) +/* D9FD84 802428B4 27B50010 */ addiu $s5, $sp, 0x10 +/* D9FD88 802428B8 AFA30020 */ sw $v1, 0x20($sp) +/* D9FD8C 802428BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9FD90 802428C0 3C014220 */ lui $at, 0x4220 +/* D9FD94 802428C4 44810000 */ mtc1 $at, $f0 +/* D9FD98 802428C8 8C63002C */ lw $v1, 0x2c($v1) +/* D9FD9C 802428CC 0040802D */ daddu $s0, $v0, $zero +/* D9FDA0 802428D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* D9FDA4 802428D4 A7A0002C */ sh $zero, 0x2c($sp) +/* D9FDA8 802428D8 16200005 */ bnez $s1, .L802428F0 +/* D9FDAC 802428DC AFA30024 */ sw $v1, 0x24($sp) +/* D9FDB0 802428E0 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9FDB4 802428E4 30420004 */ andi $v0, $v0, 4 +/* D9FDB8 802428E8 1040002F */ beqz $v0, .L802429A8 +/* D9FDBC 802428EC 00000000 */ nop +.L802428F0: +/* D9FDC0 802428F0 2404F7FF */ addiu $a0, $zero, -0x801 +/* D9FDC4 802428F4 AE600070 */ sw $zero, 0x70($s3) +/* D9FDC8 802428F8 A680008E */ sh $zero, 0x8e($s4) +/* D9FDCC 802428FC 8E4200CC */ lw $v0, 0xcc($s2) +/* D9FDD0 80242900 8E830000 */ lw $v1, ($s4) +/* D9FDD4 80242904 8C420000 */ lw $v0, ($v0) +/* D9FDD8 80242908 00641824 */ and $v1, $v1, $a0 +/* D9FDDC 8024290C AE830000 */ sw $v1, ($s4) +/* D9FDE0 80242910 AE820028 */ sw $v0, 0x28($s4) +/* D9FDE4 80242914 8E4200D0 */ lw $v0, 0xd0($s2) +/* D9FDE8 80242918 8C420034 */ lw $v0, 0x34($v0) +/* D9FDEC 8024291C 54400005 */ bnel $v0, $zero, .L80242934 +/* D9FDF0 80242920 2402FDFF */ addiu $v0, $zero, -0x201 +/* D9FDF4 80242924 34620200 */ ori $v0, $v1, 0x200 +/* D9FDF8 80242928 2403FFF7 */ addiu $v1, $zero, -9 +/* D9FDFC 8024292C 08090A4F */ j .L8024293C +/* D9FE00 80242930 00431024 */ and $v0, $v0, $v1 +.L80242934: +/* D9FE04 80242934 00621024 */ and $v0, $v1, $v0 +/* D9FE08 80242938 34420008 */ ori $v0, $v0, 8 +.L8024293C: +/* D9FE0C 8024293C AE820000 */ sw $v0, ($s4) +/* D9FE10 80242940 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9FE14 80242944 30420004 */ andi $v0, $v0, 4 +/* D9FE18 80242948 10400008 */ beqz $v0, .L8024296C +/* D9FE1C 8024294C 24020063 */ addiu $v0, $zero, 0x63 +/* D9FE20 80242950 AE620070 */ sw $v0, 0x70($s3) +/* D9FE24 80242954 AE600074 */ sw $zero, 0x74($s3) +/* D9FE28 80242958 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9FE2C 8024295C 2403FFFB */ addiu $v1, $zero, -5 +/* D9FE30 80242960 00431024 */ and $v0, $v0, $v1 +/* D9FE34 80242964 08090A61 */ j .L80242984 +/* D9FE38 80242968 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024296C: +/* D9FE3C 8024296C 8E420000 */ lw $v0, ($s2) +/* D9FE40 80242970 3C034000 */ lui $v1, 0x4000 +/* D9FE44 80242974 00431024 */ and $v0, $v0, $v1 +/* D9FE48 80242978 10400002 */ beqz $v0, .L80242984 +/* D9FE4C 8024297C 2402000C */ addiu $v0, $zero, 0xc +/* D9FE50 80242980 AE620070 */ sw $v0, 0x70($s3) +.L80242984: +/* D9FE54 80242984 3C05BFFF */ lui $a1, 0xbfff +/* D9FE58 80242988 34A5FFFF */ ori $a1, $a1, 0xffff +/* D9FE5C 8024298C 2404FFFB */ addiu $a0, $zero, -5 +/* D9FE60 80242990 8E4200B0 */ lw $v0, 0xb0($s2) +/* D9FE64 80242994 8E430000 */ lw $v1, ($s2) +/* D9FE68 80242998 00441024 */ and $v0, $v0, $a0 +/* D9FE6C 8024299C 00651824 */ and $v1, $v1, $a1 +/* D9FE70 802429A0 AE4200B0 */ sw $v0, 0xb0($s2) +/* D9FE74 802429A4 AE430000 */ sw $v1, ($s2) +.L802429A8: +/* D9FE78 802429A8 8E630070 */ lw $v1, 0x70($s3) +/* D9FE7C 802429AC 2C620064 */ sltiu $v0, $v1, 0x64 +/* D9FE80 802429B0 10400060 */ beqz $v0, .L80242B34 +/* D9FE84 802429B4 00031080 */ sll $v0, $v1, 2 +/* D9FE88 802429B8 3C018024 */ lui $at, 0x8024 +/* D9FE8C 802429BC 00220821 */ addu $at, $at, $v0 +/* D9FE90 802429C0 8C227BE0 */ lw $v0, 0x7be0($at) +/* D9FE94 802429C4 00400008 */ jr $v0 +/* D9FE98 802429C8 00000000 */ nop +/* D9FE9C 802429CC 0260202D */ daddu $a0, $s3, $zero +/* D9FEA0 802429D0 0200282D */ daddu $a1, $s0, $zero +/* D9FEA4 802429D4 0C012568 */ jal func_800495A0 +/* D9FEA8 802429D8 02A0302D */ daddu $a2, $s5, $zero +/* D9FEAC 802429DC 0260202D */ daddu $a0, $s3, $zero +/* D9FEB0 802429E0 0200282D */ daddu $a1, $s0, $zero +/* D9FEB4 802429E4 0C0125AE */ jal func_800496B8 +/* D9FEB8 802429E8 02A0302D */ daddu $a2, $s5, $zero +/* D9FEBC 802429EC 08090ACD */ j .L80242B34 +/* D9FEC0 802429F0 00000000 */ nop +/* D9FEC4 802429F4 0260202D */ daddu $a0, $s3, $zero +/* D9FEC8 802429F8 0200282D */ daddu $a1, $s0, $zero +/* D9FECC 802429FC 0C0126D1 */ jal func_80049B44 +/* D9FED0 80242A00 02A0302D */ daddu $a2, $s5, $zero +/* D9FED4 80242A04 0260202D */ daddu $a0, $s3, $zero +/* D9FED8 80242A08 0200282D */ daddu $a1, $s0, $zero +/* D9FEDC 80242A0C 0C012701 */ jal func_80049C04 +/* D9FEE0 80242A10 02A0302D */ daddu $a2, $s5, $zero +/* D9FEE4 80242A14 08090ACD */ j .L80242B34 +/* D9FEE8 80242A18 00000000 */ nop +/* D9FEEC 80242A1C 0260202D */ daddu $a0, $s3, $zero +/* D9FEF0 80242A20 0200282D */ daddu $a1, $s0, $zero +/* D9FEF4 80242A24 0C01278F */ jal func_80049E3C +/* D9FEF8 80242A28 02A0302D */ daddu $a2, $s5, $zero +/* D9FEFC 80242A2C 0260202D */ daddu $a0, $s3, $zero +/* D9FF00 80242A30 0200282D */ daddu $a1, $s0, $zero +/* D9FF04 80242A34 0C0127B3 */ jal func_80049ECC +/* D9FF08 80242A38 02A0302D */ daddu $a2, $s5, $zero +/* D9FF0C 80242A3C 08090ACD */ j .L80242B34 +/* D9FF10 80242A40 00000000 */ nop +/* D9FF14 80242A44 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D9FF18 80242A48 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D9FF1C 80242A4C C68C0038 */ lwc1 $f12, 0x38($s4) +/* D9FF20 80242A50 C68E0040 */ lwc1 $f14, 0x40($s4) +/* D9FF24 80242A54 8C460028 */ lw $a2, 0x28($v0) +/* D9FF28 80242A58 0C00A7B5 */ jal dist2D +/* D9FF2C 80242A5C 8C470030 */ lw $a3, 0x30($v0) +/* D9FF30 80242A60 8E42006C */ lw $v0, 0x6c($s2) +/* D9FF34 80242A64 10400008 */ beqz $v0, .L80242A88 +/* D9FF38 80242A68 46000086 */ mov.s $f2, $f0 +/* D9FF3C 80242A6C 44820000 */ mtc1 $v0, $f0 +/* D9FF40 80242A70 00000000 */ nop +/* D9FF44 80242A74 46800020 */ cvt.s.w $f0, $f0 +/* D9FF48 80242A78 4602003C */ c.lt.s $f0, $f2 +/* D9FF4C 80242A7C 00000000 */ nop +/* D9FF50 80242A80 4500000B */ bc1f .L80242AB0 +/* D9FF54 80242A84 0260202D */ daddu $a0, $s3, $zero +.L80242A88: +/* D9FF58 80242A88 0260202D */ daddu $a0, $s3, $zero +/* D9FF5C 80242A8C 8E050024 */ lw $a1, 0x24($s0) +/* D9FF60 80242A90 8E060028 */ lw $a2, 0x28($s0) +/* D9FF64 80242A94 0C0906CE */ jal func_80241B38 +/* D9FF68 80242A98 02A0382D */ daddu $a3, $s5, $zero +/* D9FF6C 80242A9C 8E630070 */ lw $v1, 0x70($s3) +/* D9FF70 80242AA0 2402000C */ addiu $v0, $zero, 0xc +/* D9FF74 80242AA4 14620023 */ bne $v1, $v0, .L80242B34 +/* D9FF78 80242AA8 00000000 */ nop +/* D9FF7C 80242AAC 0260202D */ daddu $a0, $s3, $zero +.L80242AB0: +/* D9FF80 80242AB0 0200282D */ daddu $a1, $s0, $zero +/* D9FF84 80242AB4 0C0127DF */ jal func_80049F7C +/* D9FF88 80242AB8 02A0302D */ daddu $a2, $s5, $zero +/* D9FF8C 80242ABC 0260202D */ daddu $a0, $s3, $zero +/* D9FF90 80242AC0 0200282D */ daddu $a1, $s0, $zero +/* D9FF94 80242AC4 0C012849 */ jal func_8004A124 +/* D9FF98 80242AC8 02A0302D */ daddu $a2, $s5, $zero +/* D9FF9C 80242ACC 08090ACD */ j .L80242B34 +/* D9FFA0 80242AD0 00000000 */ nop +/* D9FFA4 80242AD4 0260202D */ daddu $a0, $s3, $zero +/* D9FFA8 80242AD8 0200282D */ daddu $a1, $s0, $zero +/* D9FFAC 80242ADC 0C0128FA */ jal func_8004A3E8 +/* D9FFB0 80242AE0 02A0302D */ daddu $a2, $s5, $zero +/* D9FFB4 80242AE4 08090ACD */ j .L80242B34 +/* D9FFB8 80242AE8 00000000 */ nop +/* D9FFBC 80242AEC 0C09071F */ jal func_80241C7C +/* D9FFC0 80242AF0 0260202D */ daddu $a0, $s3, $zero +/* D9FFC4 80242AF4 08090ACD */ j .L80242B34 +/* D9FFC8 80242AF8 00000000 */ nop +/* D9FFCC 80242AFC 0C09075F */ jal func_80241D7C +/* D9FFD0 80242B00 0260202D */ daddu $a0, $s3, $zero +/* D9FFD4 80242B04 08090ACD */ j .L80242B34 +/* D9FFD8 80242B08 00000000 */ nop +/* D9FFDC 80242B0C 0C090770 */ jal func_80241DC0 +/* D9FFE0 80242B10 0260202D */ daddu $a0, $s3, $zero +/* D9FFE4 80242B14 08090ACD */ j .L80242B34 +/* D9FFE8 80242B18 00000000 */ nop +/* D9FFEC 80242B1C 0C090798 */ jal func_80241E60 +/* D9FFF0 80242B20 0260202D */ daddu $a0, $s3, $zero +/* D9FFF4 80242B24 08090ACD */ j .L80242B34 +/* D9FFF8 80242B28 00000000 */ nop +/* D9FFFC 80242B2C 0C0129CF */ jal func_8004A73C +/* DA0000 80242B30 0260202D */ daddu $a0, $s3, $zero +.L80242B34: +/* DA0004 80242B34 8FBF0048 */ lw $ra, 0x48($sp) +/* DA0008 80242B38 8FB50044 */ lw $s5, 0x44($sp) +/* DA000C 80242B3C 8FB40040 */ lw $s4, 0x40($sp) +/* DA0010 80242B40 8FB3003C */ lw $s3, 0x3c($sp) +/* DA0014 80242B44 8FB20038 */ lw $s2, 0x38($sp) +/* DA0018 80242B48 8FB10034 */ lw $s1, 0x34($sp) +/* DA001C 80242B4C 8FB00030 */ lw $s0, 0x30($sp) +/* DA0020 80242B50 0000102D */ daddu $v0, $zero, $zero +/* DA0024 80242B54 03E00008 */ jr $ra +/* DA0028 80242B58 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80242B5C.s b/asm/nonmatchings/world/area_omo/omo_02/func_80242B5C.s new file mode 100644 index 0000000000..5eb6707ba3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80242B5C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B5C +/* DA002C 80242B5C 8C830148 */ lw $v1, 0x148($a0) +/* DA0030 80242B60 24020003 */ addiu $v0, $zero, 3 +/* DA0034 80242B64 A06200B5 */ sb $v0, 0xb5($v1) +/* DA0038 80242B68 03E00008 */ jr $ra +/* DA003C 80242B6C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_02/func_80242B70.s b/asm/nonmatchings/world/area_omo/omo_02/func_80242B70.s new file mode 100644 index 0000000000..7841ff8379 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_02/func_80242B70.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B70 +/* DA0040 80242B70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DA0044 80242B74 3C05FE36 */ lui $a1, 0xfe36 +/* DA0048 80242B78 AFBF0010 */ sw $ra, 0x10($sp) +/* DA004C 80242B7C 8C820148 */ lw $v0, 0x148($a0) +/* DA0050 80242B80 3C06800B */ lui $a2, 0x800b +/* DA0054 80242B84 8CC60F9C */ lw $a2, 0xf9c($a2) +/* DA0058 80242B88 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DA005C 80242B8C 00C23026 */ xor $a2, $a2, $v0 +/* DA0060 80242B90 0C0B2026 */ jal set_variable +/* DA0064 80242B94 2CC60001 */ sltiu $a2, $a2, 1 +/* DA0068 80242B98 8FBF0010 */ lw $ra, 0x10($sp) +/* DA006C 80242B9C 24020002 */ addiu $v0, $zero, 2 +/* DA0070 80242BA0 03E00008 */ jr $ra +/* DA0074 80242BA4 27BD0018 */ addiu $sp, $sp, 0x18 +/* DA0078 80242BA8 00000000 */ nop +/* DA007C 80242BAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_80240000_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_80240000_DA5240.s new file mode 100644 index 0000000000..43fb01848c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_80240000_DA5240.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DA5240 +/* DA5240 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DA5244 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DA5248 80240008 94620002 */ lhu $v0, 2($v1) +/* DA524C 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DA5250 80240010 A4620002 */ sh $v0, 2($v1) +/* DA5254 80240014 03E00008 */ jr $ra +/* DA5258 80240018 24020002 */ addiu $v0, $zero, 2 +/* DA525C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_80240020_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_80240020_DA5240.s new file mode 100644 index 0000000000..54c04b44c0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_80240020_DA5240.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_DA5260 +/* DA5260 80240020 3C03800B */ lui $v1, %hi(gCameras) +/* DA5264 80240024 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DA5268 80240028 94620002 */ lhu $v0, 2($v1) +/* DA526C 8024002C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DA5270 80240030 A4620002 */ sh $v0, 2($v1) +/* DA5274 80240034 03E00008 */ jr $ra +/* DA5278 80240038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_8024003C_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_8024003C_DA5240.s new file mode 100644 index 0000000000..77d423aa37 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_8024003C_DA5240.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C_DA527C +/* DA527C 8024003C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DA5280 80240040 AFB10014 */ sw $s1, 0x14($sp) +/* DA5284 80240044 0080882D */ daddu $s1, $a0, $zero +/* DA5288 80240048 AFBF001C */ sw $ra, 0x1c($sp) +/* DA528C 8024004C AFB20018 */ sw $s2, 0x18($sp) +/* DA5290 80240050 AFB00010 */ sw $s0, 0x10($sp) +/* DA5294 80240054 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DA5298 80240058 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DA529C 8024005C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DA52A0 80240060 8E30000C */ lw $s0, 0xc($s1) +/* DA52A4 80240064 8E120000 */ lw $s2, ($s0) +/* DA52A8 80240068 26100004 */ addiu $s0, $s0, 4 +/* DA52AC 8024006C 8E050000 */ lw $a1, ($s0) +/* DA52B0 80240070 0C0B210B */ jal get_float_variable +/* DA52B4 80240074 26100004 */ addiu $s0, $s0, 4 +/* DA52B8 80240078 8E050000 */ lw $a1, ($s0) +/* DA52BC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* DA52C0 80240080 0220202D */ daddu $a0, $s1, $zero +/* DA52C4 80240084 0C0B210B */ jal get_float_variable +/* DA52C8 80240088 46000606 */ mov.s $f24, $f0 +/* DA52CC 8024008C 8E050000 */ lw $a1, ($s0) +/* DA52D0 80240090 26100004 */ addiu $s0, $s0, 4 +/* DA52D4 80240094 0220202D */ daddu $a0, $s1, $zero +/* DA52D8 80240098 0C0B210B */ jal get_float_variable +/* DA52DC 8024009C 46000586 */ mov.s $f22, $f0 +/* DA52E0 802400A0 0220202D */ daddu $a0, $s1, $zero +/* DA52E4 802400A4 8E050000 */ lw $a1, ($s0) +/* DA52E8 802400A8 0C0B210B */ jal get_float_variable +/* DA52EC 802400AC 46000506 */ mov.s $f20, $f0 +/* DA52F0 802400B0 4600C306 */ mov.s $f12, $f24 +/* DA52F4 802400B4 4406A000 */ mfc1 $a2, $f20 +/* DA52F8 802400B8 44070000 */ mfc1 $a3, $f0 +/* DA52FC 802400BC 0C00A720 */ jal atan2 +/* DA5300 802400C0 4600B386 */ mov.s $f14, $f22 +/* DA5304 802400C4 0C00A6C9 */ jal clamp_angle +/* DA5308 802400C8 46000306 */ mov.s $f12, $f0 +/* DA530C 802400CC 0220202D */ daddu $a0, $s1, $zero +/* DA5310 802400D0 44060000 */ mfc1 $a2, $f0 +/* DA5314 802400D4 0C0B2190 */ jal set_float_variable +/* DA5318 802400D8 0240282D */ daddu $a1, $s2, $zero +/* DA531C 802400DC 8FBF001C */ lw $ra, 0x1c($sp) +/* DA5320 802400E0 8FB20018 */ lw $s2, 0x18($sp) +/* DA5324 802400E4 8FB10014 */ lw $s1, 0x14($sp) +/* DA5328 802400E8 8FB00010 */ lw $s0, 0x10($sp) +/* DA532C 802400EC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DA5330 802400F0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DA5334 802400F4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DA5338 802400F8 24020002 */ addiu $v0, $zero, 2 +/* DA533C 802400FC 03E00008 */ jr $ra +/* DA5340 80240100 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_80240104_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_80240104_DA5240.s new file mode 100644 index 0000000000..933b9094ca --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_80240104_DA5240.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240104_DA5344 +/* DA5344 80240104 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DA5348 80240108 AFB10014 */ sw $s1, 0x14($sp) +/* DA534C 8024010C 0080882D */ daddu $s1, $a0, $zero +/* DA5350 80240110 AFBF0018 */ sw $ra, 0x18($sp) +/* DA5354 80240114 AFB00010 */ sw $s0, 0x10($sp) +/* DA5358 80240118 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DA535C 8024011C 8E30000C */ lw $s0, 0xc($s1) +/* DA5360 80240120 8E050000 */ lw $a1, ($s0) +/* DA5364 80240124 0C0B210B */ jal get_float_variable +/* DA5368 80240128 26100004 */ addiu $s0, $s0, 4 +/* DA536C 8024012C 8E050000 */ lw $a1, ($s0) +/* DA5370 80240130 26100004 */ addiu $s0, $s0, 4 +/* DA5374 80240134 0220202D */ daddu $a0, $s1, $zero +/* DA5378 80240138 0C0B210B */ jal get_float_variable +/* DA537C 8024013C 46000506 */ mov.s $f20, $f0 +/* DA5380 80240140 4614003C */ c.lt.s $f0, $f20 +/* DA5384 80240144 00000000 */ nop +/* DA5388 80240148 45000004 */ bc1f .L8024015C +/* DA538C 8024014C 0220202D */ daddu $a0, $s1, $zero +/* DA5390 80240150 8E050000 */ lw $a1, ($s0) +/* DA5394 80240154 08090059 */ j .L80240164 +/* DA5398 80240158 24060001 */ addiu $a2, $zero, 1 +.L8024015C: +/* DA539C 8024015C 8E050000 */ lw $a1, ($s0) +/* DA53A0 80240160 0000302D */ daddu $a2, $zero, $zero +.L80240164: +/* DA53A4 80240164 0C0B2026 */ jal set_variable +/* DA53A8 80240168 00000000 */ nop +/* DA53AC 8024016C 8FBF0018 */ lw $ra, 0x18($sp) +/* DA53B0 80240170 8FB10014 */ lw $s1, 0x14($sp) +/* DA53B4 80240174 8FB00010 */ lw $s0, 0x10($sp) +/* DA53B8 80240178 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DA53BC 8024017C 24020002 */ addiu $v0, $zero, 2 +/* DA53C0 80240180 03E00008 */ jr $ra +/* DA53C4 80240184 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_80240188.s b/asm/nonmatchings/world/area_omo/omo_03/func_80240188.s new file mode 100644 index 0000000000..5448071fc3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_80240188.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240188 +/* DA53C8 80240188 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DA53CC 8024018C AFB20018 */ sw $s2, 0x18($sp) +/* DA53D0 80240190 0080902D */ daddu $s2, $a0, $zero +/* DA53D4 80240194 AFBF001C */ sw $ra, 0x1c($sp) +/* DA53D8 80240198 AFB10014 */ sw $s1, 0x14($sp) +/* DA53DC 8024019C AFB00010 */ sw $s0, 0x10($sp) +/* DA53E0 802401A0 8E50000C */ lw $s0, 0xc($s2) +/* DA53E4 802401A4 8E050000 */ lw $a1, ($s0) +/* DA53E8 802401A8 0C0B1EAF */ jal get_variable +/* DA53EC 802401AC 26100004 */ addiu $s0, $s0, 4 +/* DA53F0 802401B0 8E050000 */ lw $a1, ($s0) +/* DA53F4 802401B4 26100004 */ addiu $s0, $s0, 4 +/* DA53F8 802401B8 0240202D */ daddu $a0, $s2, $zero +/* DA53FC 802401BC 0C0B1EAF */ jal get_variable +/* DA5400 802401C0 0040882D */ daddu $s1, $v0, $zero +/* DA5404 802401C4 0240202D */ daddu $a0, $s2, $zero +/* DA5408 802401C8 8E050000 */ lw $a1, ($s0) +/* DA540C 802401CC 0C0B1EAF */ jal get_variable +/* DA5410 802401D0 0040802D */ daddu $s0, $v0, $zero +/* DA5414 802401D4 02020018 */ mult $s0, $v0 +/* DA5418 802401D8 24020002 */ addiu $v0, $zero, 2 +/* DA541C 802401DC 8E430138 */ lw $v1, 0x138($s2) +/* DA5420 802401E0 00003012 */ mflo $a2 +/* DA5424 802401E4 02268821 */ addu $s1, $s1, $a2 +/* DA5428 802401E8 00518804 */ sllv $s1, $s1, $v0 +/* DA542C 802401EC 00711821 */ addu $v1, $v1, $s1 +/* DA5430 802401F0 AE430138 */ sw $v1, 0x138($s2) +/* DA5434 802401F4 8FBF001C */ lw $ra, 0x1c($sp) +/* DA5438 802401F8 8FB20018 */ lw $s2, 0x18($sp) +/* DA543C 802401FC 8FB10014 */ lw $s1, 0x14($sp) +/* DA5440 80240200 8FB00010 */ lw $s0, 0x10($sp) +/* DA5444 80240204 03E00008 */ jr $ra +/* DA5448 80240208 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_8024020C.s b/asm/nonmatchings/world/area_omo/omo_03/func_8024020C.s new file mode 100644 index 0000000000..5ba9760a45 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_8024020C.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024020C +/* DA544C 8024020C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DA5450 80240210 AFB10014 */ sw $s1, 0x14($sp) +/* DA5454 80240214 0080882D */ daddu $s1, $a0, $zero +/* DA5458 80240218 AFBF0018 */ sw $ra, 0x18($sp) +/* DA545C 8024021C AFB00010 */ sw $s0, 0x10($sp) +/* DA5460 80240220 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DA5464 80240224 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DA5468 80240228 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DA546C 8024022C 8E30000C */ lw $s0, 0xc($s1) +/* DA5470 80240230 8E050000 */ lw $a1, ($s0) +/* DA5474 80240234 0C0B210B */ jal get_float_variable +/* DA5478 80240238 26100004 */ addiu $s0, $s0, 4 +/* DA547C 8024023C 8E050000 */ lw $a1, ($s0) +/* DA5480 80240240 26100004 */ addiu $s0, $s0, 4 +/* DA5484 80240244 0220202D */ daddu $a0, $s1, $zero +/* DA5488 80240248 0C0B210B */ jal get_float_variable +/* DA548C 8024024C 46000606 */ mov.s $f24, $f0 +/* DA5490 80240250 8E050000 */ lw $a1, ($s0) +/* DA5494 80240254 26100004 */ addiu $s0, $s0, 4 +/* DA5498 80240258 0220202D */ daddu $a0, $s1, $zero +/* DA549C 8024025C 0C0B210B */ jal get_float_variable +/* DA54A0 80240260 46000586 */ mov.s $f22, $f0 +/* DA54A4 80240264 0220202D */ daddu $a0, $s1, $zero +/* DA54A8 80240268 8E050000 */ lw $a1, ($s0) +/* DA54AC 8024026C 0C0B210B */ jal get_float_variable +/* DA54B0 80240270 46000506 */ mov.s $f20, $f0 +/* DA54B4 80240274 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DA54B8 80240278 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DA54BC 8024027C E4580028 */ swc1 $f24, 0x28($v0) +/* DA54C0 80240280 E456002C */ swc1 $f22, 0x2c($v0) +/* DA54C4 80240284 E4540030 */ swc1 $f20, 0x30($v0) +/* DA54C8 80240288 E4400080 */ swc1 $f0, 0x80($v0) +/* DA54CC 8024028C 8FBF0018 */ lw $ra, 0x18($sp) +/* DA54D0 80240290 8FB10014 */ lw $s1, 0x14($sp) +/* DA54D4 80240294 8FB00010 */ lw $s0, 0x10($sp) +/* DA54D8 80240298 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DA54DC 8024029C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DA54E0 802402A0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DA54E4 802402A4 24020002 */ addiu $v0, $zero, 2 +/* DA54E8 802402A8 03E00008 */ jr $ra +/* DA54EC 802402AC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_802402B0_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_802402B0_DA5240.s new file mode 100644 index 0000000000..9181dc6b8a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_802402B0_DA5240.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B0_DA54F0 +/* DA54F0 802402B0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DA54F4 802402B4 AFB10014 */ sw $s1, 0x14($sp) +/* DA54F8 802402B8 0080882D */ daddu $s1, $a0, $zero +/* DA54FC 802402BC AFBF001C */ sw $ra, 0x1c($sp) +/* DA5500 802402C0 AFB20018 */ sw $s2, 0x18($sp) +/* DA5504 802402C4 AFB00010 */ sw $s0, 0x10($sp) +/* DA5508 802402C8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DA550C 802402CC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DA5510 802402D0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DA5514 802402D4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DA5518 802402D8 8E30000C */ lw $s0, 0xc($s1) +/* DA551C 802402DC 8E050000 */ lw $a1, ($s0) +/* DA5520 802402E0 0C0B1EAF */ jal get_variable +/* DA5524 802402E4 26100004 */ addiu $s0, $s0, 4 +/* DA5528 802402E8 8E050000 */ lw $a1, ($s0) +/* DA552C 802402EC 26100004 */ addiu $s0, $s0, 4 +/* DA5530 802402F0 0220202D */ daddu $a0, $s1, $zero +/* DA5534 802402F4 0C0B210B */ jal get_float_variable +/* DA5538 802402F8 0040902D */ daddu $s2, $v0, $zero +/* DA553C 802402FC 8E050000 */ lw $a1, ($s0) +/* DA5540 80240300 26100004 */ addiu $s0, $s0, 4 +/* DA5544 80240304 0220202D */ daddu $a0, $s1, $zero +/* DA5548 80240308 0C0B210B */ jal get_float_variable +/* DA554C 8024030C 46000686 */ mov.s $f26, $f0 +/* DA5550 80240310 8E050000 */ lw $a1, ($s0) +/* DA5554 80240314 26100004 */ addiu $s0, $s0, 4 +/* DA5558 80240318 0220202D */ daddu $a0, $s1, $zero +/* DA555C 8024031C 0C0B210B */ jal get_float_variable +/* DA5560 80240320 46000606 */ mov.s $f24, $f0 +/* DA5564 80240324 0220202D */ daddu $a0, $s1, $zero +/* DA5568 80240328 8E050000 */ lw $a1, ($s0) +/* DA556C 8024032C 0C0B210B */ jal get_float_variable +/* DA5570 80240330 46000506 */ mov.s $f20, $f0 +/* DA5574 80240334 0240202D */ daddu $a0, $s2, $zero +/* DA5578 80240338 0C00EAD2 */ jal get_npc_safe +/* DA557C 8024033C 46000586 */ mov.s $f22, $f0 +/* DA5580 80240340 0040202D */ daddu $a0, $v0, $zero +/* DA5584 80240344 E49A0038 */ swc1 $f26, 0x38($a0) +/* DA5588 80240348 4600D006 */ mov.s $f0, $f26 +/* DA558C 8024034C E498003C */ swc1 $f24, 0x3c($a0) +/* DA5590 80240350 4600C086 */ mov.s $f2, $f24 +/* DA5594 80240354 E4940040 */ swc1 $f20, 0x40($a0) +/* DA5598 80240358 4600A106 */ mov.s $f4, $f20 +/* DA559C 8024035C 8C830000 */ lw $v1, ($a0) +/* DA55A0 80240360 3C050001 */ lui $a1, 1 +/* DA55A4 80240364 E496000C */ swc1 $f22, 0xc($a0) +/* DA55A8 80240368 E480006C */ swc1 $f0, 0x6c($a0) +/* DA55AC 8024036C E4820070 */ swc1 $f2, 0x70($a0) +/* DA55B0 80240370 E4840074 */ swc1 $f4, 0x74($a0) +/* DA55B4 80240374 00651825 */ or $v1, $v1, $a1 +/* DA55B8 80240378 AC830000 */ sw $v1, ($a0) +/* DA55BC 8024037C 8FBF001C */ lw $ra, 0x1c($sp) +/* DA55C0 80240380 8FB20018 */ lw $s2, 0x18($sp) +/* DA55C4 80240384 8FB10014 */ lw $s1, 0x14($sp) +/* DA55C8 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* DA55CC 8024038C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DA55D0 80240390 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DA55D4 80240394 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DA55D8 80240398 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DA55DC 8024039C 24020002 */ addiu $v0, $zero, 2 +/* DA55E0 802403A0 03E00008 */ jr $ra +/* DA55E4 802403A4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_802403A8_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_802403A8_DA5240.s new file mode 100644 index 0000000000..87f7dc6387 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_802403A8_DA5240.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A8_DA55E8 +/* DA55E8 802403A8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DA55EC 802403AC AFB20018 */ sw $s2, 0x18($sp) +/* DA55F0 802403B0 0080902D */ daddu $s2, $a0, $zero +/* DA55F4 802403B4 AFBF0028 */ sw $ra, 0x28($sp) +/* DA55F8 802403B8 AFB50024 */ sw $s5, 0x24($sp) +/* DA55FC 802403BC AFB40020 */ sw $s4, 0x20($sp) +/* DA5600 802403C0 AFB3001C */ sw $s3, 0x1c($sp) +/* DA5604 802403C4 AFB10014 */ sw $s1, 0x14($sp) +/* DA5608 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* DA560C 802403CC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DA5610 802403D0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DA5614 802403D4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DA5618 802403D8 8E50000C */ lw $s0, 0xc($s2) +/* DA561C 802403DC 8E140000 */ lw $s4, ($s0) +/* DA5620 802403E0 26100004 */ addiu $s0, $s0, 4 +/* DA5624 802403E4 0C0B1EAF */ jal get_variable +/* DA5628 802403E8 0280282D */ daddu $a1, $s4, $zero +/* DA562C 802403EC 0040982D */ daddu $s3, $v0, $zero +/* DA5630 802403F0 8E150000 */ lw $s5, ($s0) +/* DA5634 802403F4 26100004 */ addiu $s0, $s0, 4 +/* DA5638 802403F8 8E050000 */ lw $a1, ($s0) +/* DA563C 802403FC 26100004 */ addiu $s0, $s0, 4 +/* DA5640 80240400 0C0B210B */ jal get_float_variable +/* DA5644 80240404 0240202D */ daddu $a0, $s2, $zero +/* DA5648 80240408 8E050000 */ lw $a1, ($s0) +/* DA564C 8024040C 26100004 */ addiu $s0, $s0, 4 +/* DA5650 80240410 0240202D */ daddu $a0, $s2, $zero +/* DA5654 80240414 0C0B210B */ jal get_float_variable +/* DA5658 80240418 46000606 */ mov.s $f24, $f0 +/* DA565C 8024041C 8E050000 */ lw $a1, ($s0) +/* DA5660 80240420 26100004 */ addiu $s0, $s0, 4 +/* DA5664 80240424 0240202D */ daddu $a0, $s2, $zero +/* DA5668 80240428 0C0B1EAF */ jal get_variable +/* DA566C 8024042C 46000506 */ mov.s $f20, $f0 +/* DA5670 80240430 8E050000 */ lw $a1, ($s0) +/* DA5674 80240434 26100004 */ addiu $s0, $s0, 4 +/* DA5678 80240438 0240202D */ daddu $a0, $s2, $zero +/* DA567C 8024043C 0C0B1EAF */ jal get_variable +/* DA5680 80240440 0040882D */ daddu $s1, $v0, $zero +/* DA5684 80240444 0240202D */ daddu $a0, $s2, $zero +/* DA5688 80240448 8E050000 */ lw $a1, ($s0) +/* DA568C 8024044C 0C0B210B */ jal get_float_variable +/* DA5690 80240450 0040802D */ daddu $s0, $v0, $zero +/* DA5694 80240454 3C014334 */ lui $at, 0x4334 +/* DA5698 80240458 44811000 */ mtc1 $at, $f2 +/* DA569C 8024045C 3C014049 */ lui $at, 0x4049 +/* DA56A0 80240460 34210FD8 */ ori $at, $at, 0xfd8 +/* DA56A4 80240464 44812000 */ mtc1 $at, $f4 +/* DA56A8 80240468 46020003 */ div.s $f0, $f0, $f2 +/* DA56AC 8024046C 46040582 */ mul.s $f22, $f0, $f4 +/* DA56B0 80240470 00000000 */ nop +/* DA56B4 80240474 4618A501 */ sub.s $f20, $f20, $f24 +/* DA56B8 80240478 3C013F00 */ lui $at, 0x3f00 +/* DA56BC 8024047C 44810000 */ mtc1 $at, $f0 +/* DA56C0 80240480 00000000 */ nop +/* DA56C4 80240484 4600A502 */ mul.s $f20, $f20, $f0 +/* DA56C8 80240488 00000000 */ nop +/* DA56CC 8024048C 12000007 */ beqz $s0, .L802404AC +/* DA56D0 80240490 0233102A */ slt $v0, $s1, $s3 +/* DA56D4 80240494 10400005 */ beqz $v0, .L802404AC +/* DA56D8 80240498 0240202D */ daddu $a0, $s2, $zero +/* DA56DC 8024049C 0220982D */ daddu $s3, $s1, $zero +/* DA56E0 802404A0 0280282D */ daddu $a1, $s4, $zero +/* DA56E4 802404A4 0C0B2026 */ jal set_variable +/* DA56E8 802404A8 0220302D */ daddu $a2, $s1, $zero +.L802404AC: +/* DA56EC 802404AC 3C014049 */ lui $at, 0x4049 +/* DA56F0 802404B0 34210FD8 */ ori $at, $at, 0xfd8 +/* DA56F4 802404B4 44810000 */ mtc1 $at, $f0 +/* DA56F8 802404B8 44936000 */ mtc1 $s3, $f12 +/* DA56FC 802404BC 00000000 */ nop +/* DA5700 802404C0 46806320 */ cvt.s.w $f12, $f12 +/* DA5704 802404C4 46006302 */ mul.s $f12, $f12, $f0 +/* DA5708 802404C8 00000000 */ nop +/* DA570C 802404CC 44910000 */ mtc1 $s1, $f0 +/* DA5710 802404D0 00000000 */ nop +/* DA5714 802404D4 46800020 */ cvt.s.w $f0, $f0 +/* DA5718 802404D8 46006303 */ div.s $f12, $f12, $f0 +/* DA571C 802404DC 0C00A874 */ jal cos_rad +/* DA5720 802404E0 46166300 */ add.s $f12, $f12, $f22 +/* DA5724 802404E4 4600A002 */ mul.s $f0, $f20, $f0 +/* DA5728 802404E8 00000000 */ nop +/* DA572C 802404EC 4614C080 */ add.s $f2, $f24, $f20 +/* DA5730 802404F0 46001081 */ sub.s $f2, $f2, $f0 +/* DA5734 802404F4 0240202D */ daddu $a0, $s2, $zero +/* DA5738 802404F8 44061000 */ mfc1 $a2, $f2 +/* DA573C 802404FC 0C0B2190 */ jal set_float_variable +/* DA5740 80240500 02A0282D */ daddu $a1, $s5, $zero +/* DA5744 80240504 8FBF0028 */ lw $ra, 0x28($sp) +/* DA5748 80240508 8FB50024 */ lw $s5, 0x24($sp) +/* DA574C 8024050C 8FB40020 */ lw $s4, 0x20($sp) +/* DA5750 80240510 8FB3001C */ lw $s3, 0x1c($sp) +/* DA5754 80240514 8FB20018 */ lw $s2, 0x18($sp) +/* DA5758 80240518 8FB10014 */ lw $s1, 0x14($sp) +/* DA575C 8024051C 8FB00010 */ lw $s0, 0x10($sp) +/* DA5760 80240520 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DA5764 80240524 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DA5768 80240528 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DA576C 8024052C 24020002 */ addiu $v0, $zero, 2 +/* DA5770 80240530 03E00008 */ jr $ra +/* DA5774 80240534 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_80240538.s b/asm/nonmatchings/world/area_omo/omo_03/func_80240538.s new file mode 100644 index 0000000000..bacef04c38 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_80240538.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240538 +/* DA5778 80240538 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DA577C 8024053C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DA5780 80240540 8C620000 */ lw $v0, ($v1) +/* DA5784 80240544 AC800084 */ sw $zero, 0x84($a0) +/* DA5788 80240548 8C420010 */ lw $v0, 0x10($v0) +/* DA578C 8024054C 30428000 */ andi $v0, $v0, 0x8000 +/* DA5790 80240550 10400002 */ beqz $v0, .L8024055C +/* DA5794 80240554 24020001 */ addiu $v0, $zero, 1 +/* DA5798 80240558 AC820084 */ sw $v0, 0x84($a0) +.L8024055C: +/* DA579C 8024055C 8C620000 */ lw $v0, ($v1) +/* DA57A0 80240560 8C420010 */ lw $v0, 0x10($v0) +/* DA57A4 80240564 30424000 */ andi $v0, $v0, 0x4000 +/* DA57A8 80240568 10400002 */ beqz $v0, .L80240574 +/* DA57AC 8024056C 24020001 */ addiu $v0, $zero, 1 +/* DA57B0 80240570 AC820084 */ sw $v0, 0x84($a0) +.L80240574: +/* DA57B4 80240574 03E00008 */ jr $ra +/* DA57B8 80240578 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_8024057C.s b/asm/nonmatchings/world/area_omo/omo_03/func_8024057C.s new file mode 100644 index 0000000000..1b99615b61 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_8024057C.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024057C +/* DA57BC 8024057C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DA57C0 80240580 AFB00010 */ sw $s0, 0x10($sp) +/* DA57C4 80240584 0080802D */ daddu $s0, $a0, $zero +/* DA57C8 80240588 AFBF0014 */ sw $ra, 0x14($sp) +/* DA57CC 8024058C 8E0300A8 */ lw $v1, 0xa8($s0) +/* DA57D0 80240590 8E020088 */ lw $v0, 0x88($s0) +/* DA57D4 80240594 00621821 */ addu $v1, $v1, $v0 +/* DA57D8 80240598 04610004 */ bgez $v1, .L802405AC +/* DA57DC 8024059C AE0300A8 */ sw $v1, 0xa8($s0) +/* DA57E0 802405A0 3C020002 */ lui $v0, 2 +/* DA57E4 802405A4 0809016F */ j .L802405BC +/* DA57E8 802405A8 00621021 */ addu $v0, $v1, $v0 +.L802405AC: +/* DA57EC 802405AC 3C040002 */ lui $a0, 2 +/* DA57F0 802405B0 0083102A */ slt $v0, $a0, $v1 +/* DA57F4 802405B4 10400002 */ beqz $v0, .L802405C0 +/* DA57F8 802405B8 00641023 */ subu $v0, $v1, $a0 +.L802405BC: +/* DA57FC 802405BC AE0200A8 */ sw $v0, 0xa8($s0) +.L802405C0: +/* DA5800 802405C0 8E0300AC */ lw $v1, 0xac($s0) +/* DA5804 802405C4 8E02008C */ lw $v0, 0x8c($s0) +/* DA5808 802405C8 00621821 */ addu $v1, $v1, $v0 +/* DA580C 802405CC 04610004 */ bgez $v1, .L802405E0 +/* DA5810 802405D0 AE0300AC */ sw $v1, 0xac($s0) +/* DA5814 802405D4 3C020002 */ lui $v0, 2 +/* DA5818 802405D8 0809017C */ j .L802405F0 +/* DA581C 802405DC 00621021 */ addu $v0, $v1, $v0 +.L802405E0: +/* DA5820 802405E0 3C040002 */ lui $a0, 2 +/* DA5824 802405E4 0083102A */ slt $v0, $a0, $v1 +/* DA5828 802405E8 10400002 */ beqz $v0, .L802405F4 +/* DA582C 802405EC 00641023 */ subu $v0, $v1, $a0 +.L802405F0: +/* DA5830 802405F0 AE0200AC */ sw $v0, 0xac($s0) +.L802405F4: +/* DA5834 802405F4 8E0300B0 */ lw $v1, 0xb0($s0) +/* DA5838 802405F8 8E020090 */ lw $v0, 0x90($s0) +/* DA583C 802405FC 00621821 */ addu $v1, $v1, $v0 +/* DA5840 80240600 04610004 */ bgez $v1, .L80240614 +/* DA5844 80240604 AE0300B0 */ sw $v1, 0xb0($s0) +/* DA5848 80240608 3C020002 */ lui $v0, 2 +/* DA584C 8024060C 08090189 */ j .L80240624 +/* DA5850 80240610 00621021 */ addu $v0, $v1, $v0 +.L80240614: +/* DA5854 80240614 3C040002 */ lui $a0, 2 +/* DA5858 80240618 0083102A */ slt $v0, $a0, $v1 +/* DA585C 8024061C 10400002 */ beqz $v0, .L80240628 +/* DA5860 80240620 00641023 */ subu $v0, $v1, $a0 +.L80240624: +/* DA5864 80240624 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240628: +/* DA5868 80240628 8E0300B4 */ lw $v1, 0xb4($s0) +/* DA586C 8024062C 8E020094 */ lw $v0, 0x94($s0) +/* DA5870 80240630 00621821 */ addu $v1, $v1, $v0 +/* DA5874 80240634 04610004 */ bgez $v1, .L80240648 +/* DA5878 80240638 AE0300B4 */ sw $v1, 0xb4($s0) +/* DA587C 8024063C 3C020002 */ lui $v0, 2 +/* DA5880 80240640 08090196 */ j .L80240658 +/* DA5884 80240644 00621021 */ addu $v0, $v1, $v0 +.L80240648: +/* DA5888 80240648 3C040002 */ lui $a0, 2 +/* DA588C 8024064C 0083102A */ slt $v0, $a0, $v1 +/* DA5890 80240650 10400002 */ beqz $v0, .L8024065C +/* DA5894 80240654 00641023 */ subu $v0, $v1, $a0 +.L80240658: +/* DA5898 80240658 AE0200B4 */ sw $v0, 0xb4($s0) +.L8024065C: +/* DA589C 8024065C 8E040084 */ lw $a0, 0x84($s0) +/* DA58A0 80240660 0C046F07 */ jal set_main_pan_u +/* DA58A4 80240664 8E0500A8 */ lw $a1, 0xa8($s0) +/* DA58A8 80240668 8E040084 */ lw $a0, 0x84($s0) +/* DA58AC 8024066C 0C046F0D */ jal set_main_pan_v +/* DA58B0 80240670 8E0500AC */ lw $a1, 0xac($s0) +/* DA58B4 80240674 8E040084 */ lw $a0, 0x84($s0) +/* DA58B8 80240678 0C046F13 */ jal set_aux_pan_u +/* DA58BC 8024067C 8E0500B0 */ lw $a1, 0xb0($s0) +/* DA58C0 80240680 8E040084 */ lw $a0, 0x84($s0) +/* DA58C4 80240684 0C046F19 */ jal set_aux_pan_v +/* DA58C8 80240688 8E0500B4 */ lw $a1, 0xb4($s0) +/* DA58CC 8024068C 8FBF0014 */ lw $ra, 0x14($sp) +/* DA58D0 80240690 8FB00010 */ lw $s0, 0x10($sp) +/* DA58D4 80240694 0000102D */ daddu $v0, $zero, $zero +/* DA58D8 80240698 03E00008 */ jr $ra +/* DA58DC 8024069C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_03/func_802406A0_DA5240.s b/asm/nonmatchings/world/area_omo/omo_03/func_802406A0_DA5240.s new file mode 100644 index 0000000000..c22f77ce6a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_03/func_802406A0_DA5240.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A0_DA58E0 +/* DA58E0 802406A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DA58E4 802406A4 AFB00010 */ sw $s0, 0x10($sp) +/* DA58E8 802406A8 0080802D */ daddu $s0, $a0, $zero +/* DA58EC 802406AC 10A00005 */ beqz $a1, .L802406C4 +/* DA58F0 802406B0 AFBF0014 */ sw $ra, 0x14($sp) +/* DA58F4 802406B4 AE000070 */ sw $zero, 0x70($s0) +/* DA58F8 802406B8 AE000074 */ sw $zero, 0x74($s0) +/* DA58FC 802406BC AE000078 */ sw $zero, 0x78($s0) +/* DA5900 802406C0 AE00007C */ sw $zero, 0x7c($s0) +.L802406C4: +/* DA5904 802406C4 8E020070 */ lw $v0, 0x70($s0) +/* DA5908 802406C8 1440000E */ bnez $v0, .L80240704 +/* DA590C 802406CC 00000000 */ nop +/* DA5910 802406D0 8E0300A8 */ lw $v1, 0xa8($s0) +/* DA5914 802406D4 8E020088 */ lw $v0, 0x88($s0) +/* DA5918 802406D8 00621821 */ addu $v1, $v1, $v0 +/* DA591C 802406DC 04610004 */ bgez $v1, .L802406F0 +/* DA5920 802406E0 AE0300A8 */ sw $v1, 0xa8($s0) +/* DA5924 802406E4 3C020002 */ lui $v0, 2 +/* DA5928 802406E8 080901C0 */ j .L80240700 +/* DA592C 802406EC 00621021 */ addu $v0, $v1, $v0 +.L802406F0: +/* DA5930 802406F0 3C040002 */ lui $a0, 2 +/* DA5934 802406F4 0083102A */ slt $v0, $a0, $v1 +/* DA5938 802406F8 10400002 */ beqz $v0, .L80240704 +/* DA593C 802406FC 00641023 */ subu $v0, $v1, $a0 +.L80240700: +/* DA5940 80240700 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240704: +/* DA5944 80240704 8E020074 */ lw $v0, 0x74($s0) +/* DA5948 80240708 1440000E */ bnez $v0, .L80240744 +/* DA594C 8024070C 00000000 */ nop +/* DA5950 80240710 8E0300AC */ lw $v1, 0xac($s0) +/* DA5954 80240714 8E02008C */ lw $v0, 0x8c($s0) +/* DA5958 80240718 00621821 */ addu $v1, $v1, $v0 +/* DA595C 8024071C 04610004 */ bgez $v1, .L80240730 +/* DA5960 80240720 AE0300AC */ sw $v1, 0xac($s0) +/* DA5964 80240724 3C020002 */ lui $v0, 2 +/* DA5968 80240728 080901D0 */ j .L80240740 +/* DA596C 8024072C 00621021 */ addu $v0, $v1, $v0 +.L80240730: +/* DA5970 80240730 3C040002 */ lui $a0, 2 +/* DA5974 80240734 0083102A */ slt $v0, $a0, $v1 +/* DA5978 80240738 10400002 */ beqz $v0, .L80240744 +/* DA597C 8024073C 00641023 */ subu $v0, $v1, $a0 +.L80240740: +/* DA5980 80240740 AE0200AC */ sw $v0, 0xac($s0) +.L80240744: +/* DA5984 80240744 8E020078 */ lw $v0, 0x78($s0) +/* DA5988 80240748 1440000E */ bnez $v0, .L80240784 +/* DA598C 8024074C 00000000 */ nop +/* DA5990 80240750 8E0300B0 */ lw $v1, 0xb0($s0) +/* DA5994 80240754 8E020090 */ lw $v0, 0x90($s0) +/* DA5998 80240758 00621821 */ addu $v1, $v1, $v0 +/* DA599C 8024075C 04610004 */ bgez $v1, .L80240770 +/* DA59A0 80240760 AE0300B0 */ sw $v1, 0xb0($s0) +/* DA59A4 80240764 3C020002 */ lui $v0, 2 +/* DA59A8 80240768 080901E0 */ j .L80240780 +/* DA59AC 8024076C 00621021 */ addu $v0, $v1, $v0 +.L80240770: +/* DA59B0 80240770 3C040002 */ lui $a0, 2 +/* DA59B4 80240774 0083102A */ slt $v0, $a0, $v1 +/* DA59B8 80240778 10400002 */ beqz $v0, .L80240784 +/* DA59BC 8024077C 00641023 */ subu $v0, $v1, $a0 +.L80240780: +/* DA59C0 80240780 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240784: +/* DA59C4 80240784 8E02007C */ lw $v0, 0x7c($s0) +/* DA59C8 80240788 1440000E */ bnez $v0, .L802407C4 +/* DA59CC 8024078C 00000000 */ nop +/* DA59D0 80240790 8E0300B4 */ lw $v1, 0xb4($s0) +/* DA59D4 80240794 8E020094 */ lw $v0, 0x94($s0) +/* DA59D8 80240798 00621821 */ addu $v1, $v1, $v0 +/* DA59DC 8024079C 04610004 */ bgez $v1, .L802407B0 +/* DA59E0 802407A0 AE0300B4 */ sw $v1, 0xb4($s0) +/* DA59E4 802407A4 3C020002 */ lui $v0, 2 +/* DA59E8 802407A8 080901F0 */ j .L802407C0 +/* DA59EC 802407AC 00621021 */ addu $v0, $v1, $v0 +.L802407B0: +/* DA59F0 802407B0 3C040002 */ lui $a0, 2 +/* DA59F4 802407B4 0083102A */ slt $v0, $a0, $v1 +/* DA59F8 802407B8 10400002 */ beqz $v0, .L802407C4 +/* DA59FC 802407BC 00641023 */ subu $v0, $v1, $a0 +.L802407C0: +/* DA5A00 802407C0 AE0200B4 */ sw $v0, 0xb4($s0) +.L802407C4: +/* DA5A04 802407C4 8E040084 */ lw $a0, 0x84($s0) +/* DA5A08 802407C8 0C046F07 */ jal set_main_pan_u +/* DA5A0C 802407CC 8E0500A8 */ lw $a1, 0xa8($s0) +/* DA5A10 802407D0 8E040084 */ lw $a0, 0x84($s0) +/* DA5A14 802407D4 0C046F0D */ jal set_main_pan_v +/* DA5A18 802407D8 8E0500AC */ lw $a1, 0xac($s0) +/* DA5A1C 802407DC 8E040084 */ lw $a0, 0x84($s0) +/* DA5A20 802407E0 0C046F13 */ jal set_aux_pan_u +/* DA5A24 802407E4 8E0500B0 */ lw $a1, 0xb0($s0) +/* DA5A28 802407E8 8E040084 */ lw $a0, 0x84($s0) +/* DA5A2C 802407EC 0C046F19 */ jal set_aux_pan_v +/* DA5A30 802407F0 8E0500B4 */ lw $a1, 0xb4($s0) +/* DA5A34 802407F4 8E020070 */ lw $v0, 0x70($s0) +/* DA5A38 802407F8 8E030078 */ lw $v1, 0x78($s0) +/* DA5A3C 802407FC 8E040098 */ lw $a0, 0x98($s0) +/* DA5A40 80240800 24420001 */ addiu $v0, $v0, 1 +/* DA5A44 80240804 AE020070 */ sw $v0, 0x70($s0) +/* DA5A48 80240808 8E020074 */ lw $v0, 0x74($s0) +/* DA5A4C 8024080C 24630001 */ addiu $v1, $v1, 1 +/* DA5A50 80240810 AE030078 */ sw $v1, 0x78($s0) +/* DA5A54 80240814 8E030070 */ lw $v1, 0x70($s0) +/* DA5A58 80240818 24420001 */ addiu $v0, $v0, 1 +/* DA5A5C 8024081C AE020074 */ sw $v0, 0x74($s0) +/* DA5A60 80240820 8E02007C */ lw $v0, 0x7c($s0) +/* DA5A64 80240824 0064182A */ slt $v1, $v1, $a0 +/* DA5A68 80240828 24420001 */ addiu $v0, $v0, 1 +/* DA5A6C 8024082C 14600002 */ bnez $v1, .L80240838 +/* DA5A70 80240830 AE02007C */ sw $v0, 0x7c($s0) +/* DA5A74 80240834 AE000070 */ sw $zero, 0x70($s0) +.L80240838: +/* DA5A78 80240838 8E020074 */ lw $v0, 0x74($s0) +/* DA5A7C 8024083C 8E03009C */ lw $v1, 0x9c($s0) +/* DA5A80 80240840 0043102A */ slt $v0, $v0, $v1 +/* DA5A84 80240844 50400001 */ beql $v0, $zero, .L8024084C +/* DA5A88 80240848 AE000074 */ sw $zero, 0x74($s0) +.L8024084C: +/* DA5A8C 8024084C 8E020078 */ lw $v0, 0x78($s0) +/* DA5A90 80240850 8E0300A0 */ lw $v1, 0xa0($s0) +/* DA5A94 80240854 0043102A */ slt $v0, $v0, $v1 +/* DA5A98 80240858 50400001 */ beql $v0, $zero, .L80240860 +/* DA5A9C 8024085C AE000078 */ sw $zero, 0x78($s0) +.L80240860: +/* DA5AA0 80240860 8E02007C */ lw $v0, 0x7c($s0) +/* DA5AA4 80240864 8E0300A4 */ lw $v1, 0xa4($s0) +/* DA5AA8 80240868 0043102A */ slt $v0, $v0, $v1 +/* DA5AAC 8024086C 50400001 */ beql $v0, $zero, .L80240874 +/* DA5AB0 80240870 AE00007C */ sw $zero, 0x7c($s0) +.L80240874: +/* DA5AB4 80240874 8FBF0014 */ lw $ra, 0x14($sp) +/* DA5AB8 80240878 8FB00010 */ lw $s0, 0x10($sp) +/* DA5ABC 8024087C 0000102D */ daddu $v0, $zero, $zero +/* DA5AC0 80240880 03E00008 */ jr $ra +/* DA5AC4 80240884 27BD0018 */ addiu $sp, $sp, 0x18 +/* DA5AC8 80240888 00000000 */ nop +/* DA5ACC 8024088C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240000_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240000_DAD400.s new file mode 100644 index 0000000000..a9d159adf6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240000_DAD400.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DAD400 +/* DAD400 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAD404 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* DAD408 80240008 3C108024 */ lui $s0, 0x8024 +/* DAD40C 8024000C 26102630 */ addiu $s0, $s0, 0x2630 +/* DAD410 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* DAD414 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* DAD418 80240018 8E020000 */ lw $v0, ($s0) +/* DAD41C 8024001C 14400010 */ bnez $v0, .L80240060 +/* DAD420 80240020 0080882D */ daddu $s1, $a0, $zero +/* DAD424 80240024 0C00AB39 */ jal heap_malloc +/* DAD428 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* DAD42C 8024002C AE020000 */ sw $v0, ($s0) +/* DAD430 80240030 0000182D */ daddu $v1, $zero, $zero +/* DAD434 80240034 0040282D */ daddu $a1, $v0, $zero +/* DAD438 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* DAD43C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* DAD440 80240040 24840004 */ addiu $a0, $a0, 4 +/* DAD444 80240044 24630001 */ addiu $v1, $v1, 1 +/* DAD448 80240048 ACA20000 */ sw $v0, ($a1) +/* DAD44C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* DAD450 80240050 1440FFFA */ bnez $v0, .L8024003C +/* DAD454 80240054 24A50004 */ addiu $a1, $a1, 4 +/* DAD458 80240058 08090027 */ j .L8024009C +/* DAD45C 8024005C 00000000 */ nop +.L80240060: +/* DAD460 80240060 0000182D */ daddu $v1, $zero, $zero +/* DAD464 80240064 0040282D */ daddu $a1, $v0, $zero +/* DAD468 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* DAD46C 8024006C 8CA20000 */ lw $v0, ($a1) +/* DAD470 80240070 24A50004 */ addiu $a1, $a1, 4 +/* DAD474 80240074 24630001 */ addiu $v1, $v1, 1 +/* DAD478 80240078 AC820084 */ sw $v0, 0x84($a0) +/* DAD47C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* DAD480 80240080 1440FFFA */ bnez $v0, .L8024006C +/* DAD484 80240084 24840004 */ addiu $a0, $a0, 4 +/* DAD488 80240088 3C108024 */ lui $s0, 0x8024 +/* DAD48C 8024008C 26102630 */ addiu $s0, $s0, 0x2630 +/* DAD490 80240090 0C00AB4B */ jal heap_free +/* DAD494 80240094 8E040000 */ lw $a0, ($s0) +/* DAD498 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* DAD49C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* DAD4A0 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* DAD4A4 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* DAD4A8 802400A8 24020002 */ addiu $v0, $zero, 2 +/* DAD4AC 802400AC 03E00008 */ jr $ra +/* DAD4B0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802400B4_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802400B4_DAD400.s new file mode 100644 index 0000000000..e75a7c3a6a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802400B4_DAD400.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_DAD4B4 +/* DAD4B4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAD4B8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* DAD4BC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* DAD4C0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* DAD4C4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* DAD4C8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* DAD4CC 802400CC 8C510000 */ lw $s1, ($v0) +/* DAD4D0 802400D0 0C0B1EAF */ jal get_variable +/* DAD4D4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* DAD4D8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* DAD4DC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* DAD4E0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* DAD4E4 802400E4 00431024 */ and $v0, $v0, $v1 +/* DAD4E8 802400E8 00021140 */ sll $v0, $v0, 5 +/* DAD4EC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* DAD4F0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* DAD4F4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* DAD4F8 802400F8 0C0B2026 */ jal set_variable +/* DAD4FC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* DAD500 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* DAD504 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* DAD508 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* DAD50C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* DAD510 80240110 03E00008 */ jr $ra +/* DAD514 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240118_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240118_DAD400.s new file mode 100644 index 0000000000..f1c252bc88 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240118_DAD400.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_DAD518 +/* DAD518 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAD51C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* DAD520 80240120 0080882D */ daddu $s1, $a0, $zero +/* DAD524 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* DAD528 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* DAD52C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* DAD530 80240130 8E240084 */ lw $a0, 0x84($s1) +/* DAD534 80240134 0C04C3D6 */ jal get_item_entity +/* DAD538 80240138 00A0802D */ daddu $s0, $a1, $zero +/* DAD53C 8024013C 12000005 */ beqz $s0, .L80240154 +/* DAD540 80240140 0040902D */ daddu $s2, $v0, $zero +/* DAD544 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* DAD548 80240148 AE200074 */ sw $zero, 0x74($s1) +/* DAD54C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* DAD550 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* DAD554 80240154 8E230074 */ lw $v1, 0x74($s1) +/* DAD558 80240158 10600005 */ beqz $v1, .L80240170 +/* DAD55C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* DAD560 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* DAD564 80240164 00000000 */ nop +/* DAD568 80240168 08090093 */ j .L8024024C +/* DAD56C 8024016C 00000000 */ nop +.L80240170: +/* DAD570 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* DAD574 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* DAD578 80240178 44810000 */ mtc1 $at, $f0 +/* DAD57C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* DAD580 80240180 46806320 */ cvt.s.w $f12, $f12 +/* DAD584 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* DAD588 80240188 00000000 */ nop +/* DAD58C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* DAD590 80240190 44810000 */ mtc1 $at, $f0 +/* DAD594 80240194 0C00A874 */ jal cos_rad +/* DAD598 80240198 46006303 */ div.s $f12, $f12, $f0 +/* DAD59C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* DAD5A0 802401A0 44811000 */ mtc1 $at, $f2 +/* DAD5A4 802401A4 00000000 */ nop +/* DAD5A8 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* DAD5AC 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* DAD5B0 802401B0 44810000 */ mtc1 $at, $f0 +/* DAD5B4 802401B4 00000000 */ nop +/* DAD5B8 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* DAD5BC 802401BC 00000000 */ nop +/* DAD5C0 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* DAD5C4 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* DAD5C8 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* DAD5CC 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* DAD5D0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* DAD5D4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* DAD5D8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* DAD5DC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* DAD5E0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* DAD5E4 802401E4 08090093 */ j .L8024024C +/* DAD5E8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* DAD5EC 802401EC 08090093 */ j .L8024024C +/* DAD5F0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* DAD5F4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* DAD5F8 802401F8 0C00A8D4 */ jal cos_deg +/* DAD5FC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* DAD600 80240200 3C014040 */ lui $at, 0x4040 +/* DAD604 80240204 44811000 */ mtc1 $at, $f2 +/* DAD608 80240208 00000000 */ nop +/* DAD60C 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* DAD610 80240210 00000000 */ nop +/* DAD614 80240214 3C014188 */ lui $at, 0x4188 +/* DAD618 80240218 44812000 */ mtc1 $at, $f4 +/* DAD61C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* DAD620 80240220 46041080 */ add.s $f2, $f2, $f4 +/* DAD624 80240224 46001080 */ add.s $f2, $f2, $f0 +/* DAD628 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* DAD62C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* DAD630 80240230 24420009 */ addiu $v0, $v0, 9 +/* DAD634 80240234 44826000 */ mtc1 $v0, $f12 +/* DAD638 80240238 00000000 */ nop +/* DAD63C 8024023C 0C00A6C9 */ jal clamp_angle +/* DAD640 80240240 46806320 */ cvt.s.w $f12, $f12 +/* DAD644 80240244 4600018D */ trunc.w.s $f6, $f0 +/* DAD648 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* DAD64C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* DAD650 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* DAD654 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* DAD658 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* DAD65C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* DAD660 80240260 03E00008 */ jr $ra +/* DAD664 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240268_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240268_DAD400.s new file mode 100644 index 0000000000..e2264a6465 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240268_DAD400.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_DAD668 +/* DAD668 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DAD66C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* DAD670 80240270 0080802D */ daddu $s0, $a0, $zero +/* DAD674 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* DAD678 80240278 8E02000C */ lw $v0, 0xc($s0) +/* DAD67C 8024027C 0C0B1EAF */ jal get_variable +/* DAD680 80240280 8C450000 */ lw $a1, ($v0) +/* DAD684 80240284 00021140 */ sll $v0, $v0, 5 +/* DAD688 80240288 AE000084 */ sw $zero, 0x84($s0) +/* DAD68C 8024028C 3C018008 */ lui $at, 0x8008 +/* DAD690 80240290 00220821 */ addu $at, $at, $v0 +/* DAD694 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* DAD698 80240298 30420040 */ andi $v0, $v0, 0x40 +/* DAD69C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* DAD6A0 802402A0 24020001 */ addiu $v0, $zero, 1 +/* DAD6A4 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* DAD6A8 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* DAD6AC 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* DAD6B0 802402B0 24020002 */ addiu $v0, $zero, 2 +/* DAD6B4 802402B4 03E00008 */ jr $ra +/* DAD6B8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802402BC_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802402BC_DAD400.s new file mode 100644 index 0000000000..ac128cb628 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802402BC_DAD400.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_DAD6BC +/* DAD6BC 802402BC 3C03800B */ lui $v1, %hi(gCameras) +/* DAD6C0 802402C0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DAD6C4 802402C4 94620002 */ lhu $v0, 2($v1) +/* DAD6C8 802402C8 3042FFFE */ andi $v0, $v0, 0xfffe +/* DAD6CC 802402CC A4620002 */ sh $v0, 2($v1) +/* DAD6D0 802402D0 03E00008 */ jr $ra +/* DAD6D4 802402D4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802402D8_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802402D8_DAD400.s new file mode 100644 index 0000000000..097155a3cd --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802402D8_DAD400.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D8_DAD6D8 +/* DAD6D8 802402D8 3C03800B */ lui $v1, %hi(gCameras) +/* DAD6DC 802402DC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DAD6E0 802402E0 94620002 */ lhu $v0, 2($v1) +/* DAD6E4 802402E4 34420001 */ ori $v0, $v0, 1 +/* DAD6E8 802402E8 A4620002 */ sh $v0, 2($v1) +/* DAD6EC 802402EC 03E00008 */ jr $ra +/* DAD6F0 802402F0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802402F4_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802402F4_DAD400.s new file mode 100644 index 0000000000..87c113b275 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802402F4_DAD400.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F4_DAD6F4 +/* DAD6F4 802402F4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DAD6F8 802402F8 AFB00010 */ sw $s0, 0x10($sp) +/* DAD6FC 802402FC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* DAD700 80240300 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* DAD704 80240304 AFBF0018 */ sw $ra, 0x18($sp) +/* DAD708 80240308 AFB10014 */ sw $s1, 0x14($sp) +/* DAD70C 8024030C F7B60028 */ sdc1 $f22, 0x28($sp) +/* DAD710 80240310 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DAD714 80240314 C60C0080 */ lwc1 $f12, 0x80($s0) +/* DAD718 80240318 0C00A8BB */ jal sin_deg +/* DAD71C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* DAD720 80240320 C6140054 */ lwc1 $f20, 0x54($s0) +/* DAD724 80240324 3C0140A0 */ lui $at, 0x40a0 +/* DAD728 80240328 4481B000 */ mtc1 $at, $f22 +/* DAD72C 8024032C 00000000 */ nop +/* DAD730 80240330 4616A502 */ mul.s $f20, $f20, $f22 +/* DAD734 80240334 00000000 */ nop +/* DAD738 80240338 C60C0080 */ lwc1 $f12, 0x80($s0) +/* DAD73C 8024033C 4600A502 */ mul.s $f20, $f20, $f0 +/* DAD740 80240340 0C00A8D4 */ jal cos_deg +/* DAD744 80240344 00000000 */ nop +/* DAD748 80240348 C6040054 */ lwc1 $f4, 0x54($s0) +/* DAD74C 8024034C 46162102 */ mul.s $f4, $f4, $f22 +/* DAD750 80240350 00000000 */ nop +/* DAD754 80240354 C6020028 */ lwc1 $f2, 0x28($s0) +/* DAD758 80240358 46141080 */ add.s $f2, $f2, $f20 +/* DAD75C 8024035C 46000007 */ neg.s $f0, $f0 +/* DAD760 80240360 46002102 */ mul.s $f4, $f4, $f0 +/* DAD764 80240364 00000000 */ nop +/* DAD768 80240368 4600118D */ trunc.w.s $f6, $f2 +/* DAD76C 8024036C E6260084 */ swc1 $f6, 0x84($s1) +/* DAD770 80240370 C6000030 */ lwc1 $f0, 0x30($s0) +/* DAD774 80240374 46040000 */ add.s $f0, $f0, $f4 +/* DAD778 80240378 4600018D */ trunc.w.s $f6, $f0 +/* DAD77C 8024037C E6260088 */ swc1 $f6, 0x88($s1) +/* DAD780 80240380 8FBF0018 */ lw $ra, 0x18($sp) +/* DAD784 80240384 8FB10014 */ lw $s1, 0x14($sp) +/* DAD788 80240388 8FB00010 */ lw $s0, 0x10($sp) +/* DAD78C 8024038C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DAD790 80240390 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DAD794 80240394 24020002 */ addiu $v0, $zero, 2 +/* DAD798 80240398 03E00008 */ jr $ra +/* DAD79C 8024039C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802403A0_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802403A0_DAD400.s new file mode 100644 index 0000000000..aa4358c41e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802403A0_DAD400.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_DAD7A0 +/* DAD7A0 802403A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DAD7A4 802403A4 AFB3002C */ sw $s3, 0x2c($sp) +/* DAD7A8 802403A8 0080982D */ daddu $s3, $a0, $zero +/* DAD7AC 802403AC AFBF0030 */ sw $ra, 0x30($sp) +/* DAD7B0 802403B0 AFB20028 */ sw $s2, 0x28($sp) +/* DAD7B4 802403B4 AFB10024 */ sw $s1, 0x24($sp) +/* DAD7B8 802403B8 AFB00020 */ sw $s0, 0x20($sp) +/* DAD7BC 802403BC 8E710148 */ lw $s1, 0x148($s3) +/* DAD7C0 802403C0 86240008 */ lh $a0, 8($s1) +/* DAD7C4 802403C4 0C00EABB */ jal get_npc_unsafe +/* DAD7C8 802403C8 00A0902D */ daddu $s2, $a1, $zero +/* DAD7CC 802403CC 8E440004 */ lw $a0, 4($s2) +/* DAD7D0 802403D0 0040802D */ daddu $s0, $v0, $zero +/* DAD7D4 802403D4 00041FC2 */ srl $v1, $a0, 0x1f +/* DAD7D8 802403D8 00832021 */ addu $a0, $a0, $v1 +/* DAD7DC 802403DC 00042043 */ sra $a0, $a0, 1 +/* DAD7E0 802403E0 0C00A67F */ jal rand_int +/* DAD7E4 802403E4 24840001 */ addiu $a0, $a0, 1 +/* DAD7E8 802403E8 8E430004 */ lw $v1, 4($s2) +/* DAD7EC 802403EC 000327C2 */ srl $a0, $v1, 0x1f +/* DAD7F0 802403F0 00641821 */ addu $v1, $v1, $a0 +/* DAD7F4 802403F4 00031843 */ sra $v1, $v1, 1 +/* DAD7F8 802403F8 00621821 */ addu $v1, $v1, $v0 +/* DAD7FC 802403FC A603008E */ sh $v1, 0x8e($s0) +/* DAD800 80240400 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAD804 80240404 C6000040 */ lwc1 $f0, 0x40($s0) +/* DAD808 80240408 C4640000 */ lwc1 $f4, ($v1) +/* DAD80C 8024040C 46802120 */ cvt.s.w $f4, $f4 +/* DAD810 80240410 C4620008 */ lwc1 $f2, 8($v1) +/* DAD814 80240414 468010A0 */ cvt.s.w $f2, $f2 +/* DAD818 80240418 E7A00010 */ swc1 $f0, 0x10($sp) +/* DAD81C 8024041C 8E2200D0 */ lw $v0, 0xd0($s1) +/* DAD820 80240420 44061000 */ mfc1 $a2, $f2 +/* DAD824 80240424 C440000C */ lwc1 $f0, 0xc($v0) +/* DAD828 80240428 46800020 */ cvt.s.w $f0, $f0 +/* DAD82C 8024042C E7A00014 */ swc1 $f0, 0x14($sp) +/* DAD830 80240430 8E2200D0 */ lw $v0, 0xd0($s1) +/* DAD834 80240434 44052000 */ mfc1 $a1, $f4 +/* DAD838 80240438 C4400010 */ lwc1 $f0, 0x10($v0) +/* DAD83C 8024043C 46800020 */ cvt.s.w $f0, $f0 +/* DAD840 80240440 E7A00018 */ swc1 $f0, 0x18($sp) +/* DAD844 80240444 8C640018 */ lw $a0, 0x18($v1) +/* DAD848 80240448 0C0123F5 */ jal is_point_within_region +/* DAD84C 8024044C 8E070038 */ lw $a3, 0x38($s0) +/* DAD850 80240450 1040000E */ beqz $v0, .L8024048C +/* DAD854 80240454 00000000 */ nop +/* DAD858 80240458 8E2200D0 */ lw $v0, 0xd0($s1) +/* DAD85C 8024045C C60C0038 */ lwc1 $f12, 0x38($s0) +/* DAD860 80240460 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DAD864 80240464 C4460000 */ lwc1 $f6, ($v0) +/* DAD868 80240468 468031A0 */ cvt.s.w $f6, $f6 +/* DAD86C 8024046C 44063000 */ mfc1 $a2, $f6 +/* DAD870 80240470 C4460008 */ lwc1 $f6, 8($v0) +/* DAD874 80240474 468031A0 */ cvt.s.w $f6, $f6 +/* DAD878 80240478 44073000 */ mfc1 $a3, $f6 +/* DAD87C 8024047C 0C00A720 */ jal atan2 +/* DAD880 80240480 00000000 */ nop +/* DAD884 80240484 0809012F */ j .L802404BC +/* DAD888 80240488 E600000C */ swc1 $f0, 0xc($s0) +.L8024048C: +/* DAD88C 8024048C 0C00A67F */ jal rand_int +/* DAD890 80240490 2404003C */ addiu $a0, $zero, 0x3c +/* DAD894 80240494 C60C000C */ lwc1 $f12, 0xc($s0) +/* DAD898 80240498 44820000 */ mtc1 $v0, $f0 +/* DAD89C 8024049C 00000000 */ nop +/* DAD8A0 802404A0 46800020 */ cvt.s.w $f0, $f0 +/* DAD8A4 802404A4 46006300 */ add.s $f12, $f12, $f0 +/* DAD8A8 802404A8 3C0141F0 */ lui $at, 0x41f0 +/* DAD8AC 802404AC 44810000 */ mtc1 $at, $f0 +/* DAD8B0 802404B0 0C00A6C9 */ jal clamp_angle +/* DAD8B4 802404B4 46006301 */ sub.s $f12, $f12, $f0 +/* DAD8B8 802404B8 E600000C */ swc1 $f0, 0xc($s0) +.L802404BC: +/* DAD8BC 802404BC 8E2200CC */ lw $v0, 0xcc($s1) +/* DAD8C0 802404C0 8C420004 */ lw $v0, 4($v0) +/* DAD8C4 802404C4 AE020028 */ sw $v0, 0x28($s0) +/* DAD8C8 802404C8 AE600074 */ sw $zero, 0x74($s3) +/* DAD8CC 802404CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* DAD8D0 802404D0 8C420014 */ lw $v0, 0x14($v0) +/* DAD8D4 802404D4 04410004 */ bgez $v0, .L802404E8 +/* DAD8D8 802404D8 00000000 */ nop +/* DAD8DC 802404DC C6400000 */ lwc1 $f0, ($s2) +/* DAD8E0 802404E0 08090142 */ j .L80240508 +/* DAD8E4 802404E4 E6000018 */ swc1 $f0, 0x18($s0) +.L802404E8: +/* DAD8E8 802404E8 3C018024 */ lui $at, 0x8024 +/* DAD8EC 802404EC D4224CB0 */ ldc1 $f2, 0x4cb0($at) +/* DAD8F0 802404F0 44820000 */ mtc1 $v0, $f0 +/* DAD8F4 802404F4 00000000 */ nop +/* DAD8F8 802404F8 46800021 */ cvt.d.w $f0, $f0 +/* DAD8FC 802404FC 46220003 */ div.d $f0, $f0, $f2 +/* DAD900 80240500 46200020 */ cvt.s.d $f0, $f0 +/* DAD904 80240504 E6000018 */ swc1 $f0, 0x18($s0) +.L80240508: +/* DAD908 80240508 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAD90C 8024050C 3C014059 */ lui $at, 0x4059 +/* DAD910 80240510 44811800 */ mtc1 $at, $f3 +/* DAD914 80240514 44801000 */ mtc1 $zero, $f2 +/* DAD918 80240518 46000021 */ cvt.d.s $f0, $f0 +/* DAD91C 8024051C 46220002 */ mul.d $f0, $f0, $f2 +/* DAD920 80240520 00000000 */ nop +/* DAD924 80240524 24020001 */ addiu $v0, $zero, 1 +/* DAD928 80240528 4620018D */ trunc.w.d $f6, $f0 +/* DAD92C 8024052C E626007C */ swc1 $f6, 0x7c($s1) +/* DAD930 80240530 AE620070 */ sw $v0, 0x70($s3) +/* DAD934 80240534 8FBF0030 */ lw $ra, 0x30($sp) +/* DAD938 80240538 8FB3002C */ lw $s3, 0x2c($sp) +/* DAD93C 8024053C 8FB20028 */ lw $s2, 0x28($sp) +/* DAD940 80240540 8FB10024 */ lw $s1, 0x24($sp) +/* DAD944 80240544 8FB00020 */ lw $s0, 0x20($sp) +/* DAD948 80240548 03E00008 */ jr $ra +/* DAD94C 8024054C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240550_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240550_DAD400.s new file mode 100644 index 0000000000..64cb38929c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240550_DAD400.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240550_DAD950 +/* DAD950 80240550 27BDFF80 */ addiu $sp, $sp, -0x80 +/* DAD954 80240554 AFB3004C */ sw $s3, 0x4c($sp) +/* DAD958 80240558 0080982D */ daddu $s3, $a0, $zero +/* DAD95C 8024055C AFBF0058 */ sw $ra, 0x58($sp) +/* DAD960 80240560 AFB50054 */ sw $s5, 0x54($sp) +/* DAD964 80240564 AFB40050 */ sw $s4, 0x50($sp) +/* DAD968 80240568 AFB20048 */ sw $s2, 0x48($sp) +/* DAD96C 8024056C AFB10044 */ sw $s1, 0x44($sp) +/* DAD970 80240570 AFB00040 */ sw $s0, 0x40($sp) +/* DAD974 80240574 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* DAD978 80240578 F7B80070 */ sdc1 $f24, 0x70($sp) +/* DAD97C 8024057C F7B60068 */ sdc1 $f22, 0x68($sp) +/* DAD980 80240580 F7B40060 */ sdc1 $f20, 0x60($sp) +/* DAD984 80240584 8E710148 */ lw $s1, 0x148($s3) +/* DAD988 80240588 00A0902D */ daddu $s2, $a1, $zero +/* DAD98C 8024058C 86240008 */ lh $a0, 8($s1) +/* DAD990 80240590 0C00EABB */ jal get_npc_unsafe +/* DAD994 80240594 00C0A82D */ daddu $s5, $a2, $zero +/* DAD998 80240598 0040802D */ daddu $s0, $v0, $zero +/* DAD99C 8024059C 0000A02D */ daddu $s4, $zero, $zero +/* DAD9A0 802405A0 C624007C */ lwc1 $f4, 0x7c($s1) +/* DAD9A4 802405A4 46802120 */ cvt.s.w $f4, $f4 +/* DAD9A8 802405A8 C6220088 */ lwc1 $f2, 0x88($s1) +/* DAD9AC 802405AC 468010A0 */ cvt.s.w $f2, $f2 +/* DAD9B0 802405B0 460010A1 */ cvt.d.s $f2, $f2 +/* DAD9B4 802405B4 46002121 */ cvt.d.s $f4, $f4 +/* DAD9B8 802405B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAD9BC 802405BC 3C014059 */ lui $at, 0x4059 +/* DAD9C0 802405C0 44813800 */ mtc1 $at, $f7 +/* DAD9C4 802405C4 44803000 */ mtc1 $zero, $f6 +/* DAD9C8 802405C8 46000021 */ cvt.d.s $f0, $f0 +/* DAD9CC 802405CC 46260002 */ mul.d $f0, $f0, $f6 +/* DAD9D0 802405D0 00000000 */ nop +/* DAD9D4 802405D4 24020001 */ addiu $v0, $zero, 1 +/* DAD9D8 802405D8 8E24006C */ lw $a0, 0x6c($s1) +/* DAD9DC 802405DC 46261083 */ div.d $f2, $f2, $f6 +/* DAD9E0 802405E0 462010A0 */ cvt.s.d $f2, $f2 +/* DAD9E4 802405E4 46262103 */ div.d $f4, $f4, $f6 +/* DAD9E8 802405E8 46202520 */ cvt.s.d $f20, $f4 +/* DAD9EC 802405EC 30830011 */ andi $v1, $a0, 0x11 +/* DAD9F0 802405F0 4620020D */ trunc.w.d $f8, $f0 +/* DAD9F4 802405F4 E628007C */ swc1 $f8, 0x7c($s1) +/* DAD9F8 802405F8 C6200078 */ lwc1 $f0, 0x78($s1) +/* DAD9FC 802405FC 46800020 */ cvt.s.w $f0, $f0 +/* DADA00 80240600 46000021 */ cvt.d.s $f0, $f0 +/* DADA04 80240604 46260003 */ div.d $f0, $f0, $f6 +/* DADA08 80240608 462006A0 */ cvt.s.d $f26, $f0 +/* DADA0C 8024060C C6200070 */ lwc1 $f0, 0x70($s1) +/* DADA10 80240610 46800020 */ cvt.s.w $f0, $f0 +/* DADA14 80240614 46000021 */ cvt.d.s $f0, $f0 +/* DADA18 80240618 46260003 */ div.d $f0, $f0, $f6 +/* DADA1C 8024061C 462005A0 */ cvt.s.d $f22, $f0 +/* DADA20 80240620 14620025 */ bne $v1, $v0, .L802406B8 +/* DADA24 80240624 4602D600 */ add.s $f24, $f26, $f2 +/* DADA28 80240628 8E020000 */ lw $v0, ($s0) +/* DADA2C 8024062C 30420008 */ andi $v0, $v0, 8 +/* DADA30 80240630 10400009 */ beqz $v0, .L80240658 +/* DADA34 80240634 27A50028 */ addiu $a1, $sp, 0x28 +/* DADA38 80240638 C600003C */ lwc1 $f0, 0x3c($s0) +/* DADA3C 8024063C 4600C001 */ sub.s $f0, $f24, $f0 +/* DADA40 80240640 4600B03C */ c.lt.s $f22, $f0 +/* DADA44 80240644 00000000 */ nop +/* DADA48 80240648 4500001B */ bc1f .L802406B8 +/* DADA4C 8024064C 34820010 */ ori $v0, $a0, 0x10 +/* DADA50 80240650 080901AE */ j .L802406B8 +/* DADA54 80240654 AE22006C */ sw $v0, 0x6c($s1) +.L80240658: +/* DADA58 80240658 27A6002C */ addiu $a2, $sp, 0x2c +/* DADA5C 8024065C C6000038 */ lwc1 $f0, 0x38($s0) +/* DADA60 80240660 C602003C */ lwc1 $f2, 0x3c($s0) +/* DADA64 80240664 C6040040 */ lwc1 $f4, 0x40($s0) +/* DADA68 80240668 3C01447A */ lui $at, 0x447a +/* DADA6C 8024066C 44813000 */ mtc1 $at, $f6 +/* DADA70 80240670 27A20034 */ addiu $v0, $sp, 0x34 +/* DADA74 80240674 E7A00028 */ swc1 $f0, 0x28($sp) +/* DADA78 80240678 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DADA7C 8024067C E7A40030 */ swc1 $f4, 0x30($sp) +/* DADA80 80240680 E7A60034 */ swc1 $f6, 0x34($sp) +/* DADA84 80240684 AFA20010 */ sw $v0, 0x10($sp) +/* DADA88 80240688 8E040080 */ lw $a0, 0x80($s0) +/* DADA8C 8024068C 0C0372DF */ jal func_800DCB7C +/* DADA90 80240690 27A70030 */ addiu $a3, $sp, 0x30 +/* DADA94 80240694 C7A00034 */ lwc1 $f0, 0x34($sp) +/* DADA98 80240698 4600D001 */ sub.s $f0, $f26, $f0 +/* DADA9C 8024069C 4600B03C */ c.lt.s $f22, $f0 +/* DADAA0 802406A0 00000000 */ nop +/* DADAA4 802406A4 45000004 */ bc1f .L802406B8 +/* DADAA8 802406A8 00000000 */ nop +/* DADAAC 802406AC 8E22006C */ lw $v0, 0x6c($s1) +/* DADAB0 802406B0 34420010 */ ori $v0, $v0, 0x10 +/* DADAB4 802406B4 AE22006C */ sw $v0, 0x6c($s1) +.L802406B8: +/* DADAB8 802406B8 8E22006C */ lw $v0, 0x6c($s1) +/* DADABC 802406BC 24030011 */ addiu $v1, $zero, 0x11 +/* DADAC0 802406C0 30420011 */ andi $v0, $v0, 0x11 +/* DADAC4 802406C4 14430039 */ bne $v0, $v1, .L802407AC +/* DADAC8 802406C8 00000000 */ nop +/* DADACC 802406CC 8E020000 */ lw $v0, ($s0) +/* DADAD0 802406D0 30420008 */ andi $v0, $v0, 8 +/* DADAD4 802406D4 1040000A */ beqz $v0, .L80240700 +/* DADAD8 802406D8 4600C106 */ mov.s $f4, $f24 +/* DADADC 802406DC 4614C081 */ sub.s $f2, $f24, $f20 +/* DADAE0 802406E0 3C018024 */ lui $at, 0x8024 +/* DADAE4 802406E4 D4204CB8 */ ldc1 $f0, 0x4cb8($at) +/* DADAE8 802406E8 460010A1 */ cvt.d.s $f2, $f2 +/* DADAEC 802406EC 46201082 */ mul.d $f2, $f2, $f0 +/* DADAF0 802406F0 00000000 */ nop +/* DADAF4 802406F4 4600A021 */ cvt.d.s $f0, $f20 +/* DADAF8 802406F8 080901D9 */ j .L80240764 +/* DADAFC 802406FC 46220000 */ add.d $f0, $f0, $f2 +.L80240700: +/* DADB00 80240700 27A50028 */ addiu $a1, $sp, 0x28 +/* DADB04 80240704 27A6002C */ addiu $a2, $sp, 0x2c +/* DADB08 80240708 C6000038 */ lwc1 $f0, 0x38($s0) +/* DADB0C 8024070C C6020040 */ lwc1 $f2, 0x40($s0) +/* DADB10 80240710 3C01447A */ lui $at, 0x447a +/* DADB14 80240714 44812000 */ mtc1 $at, $f4 +/* DADB18 80240718 27A20034 */ addiu $v0, $sp, 0x34 +/* DADB1C 8024071C E7B4002C */ swc1 $f20, 0x2c($sp) +/* DADB20 80240720 E7A00028 */ swc1 $f0, 0x28($sp) +/* DADB24 80240724 E7A20030 */ swc1 $f2, 0x30($sp) +/* DADB28 80240728 E7A40034 */ swc1 $f4, 0x34($sp) +/* DADB2C 8024072C AFA20010 */ sw $v0, 0x10($sp) +/* DADB30 80240730 8E040080 */ lw $a0, 0x80($s0) +/* DADB34 80240734 0C0372DF */ jal func_800DCB7C +/* DADB38 80240738 27A70030 */ addiu $a3, $sp, 0x30 +/* DADB3C 8024073C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* DADB40 80240740 461A2100 */ add.s $f4, $f4, $f26 +/* DADB44 80240744 46142081 */ sub.s $f2, $f4, $f20 +/* DADB48 80240748 3C018024 */ lui $at, 0x8024 +/* DADB4C 8024074C D4204CC0 */ ldc1 $f0, 0x4cc0($at) +/* DADB50 80240750 460010A1 */ cvt.d.s $f2, $f2 +/* DADB54 80240754 46201082 */ mul.d $f2, $f2, $f0 +/* DADB58 80240758 00000000 */ nop +/* DADB5C 8024075C 4600A021 */ cvt.d.s $f0, $f20 +/* DADB60 80240760 46220000 */ add.d $f0, $f0, $f2 +.L80240764: +/* DADB64 80240764 46200020 */ cvt.s.d $f0, $f0 +/* DADB68 80240768 E600003C */ swc1 $f0, 0x3c($s0) +/* DADB6C 8024076C C600003C */ lwc1 $f0, 0x3c($s0) +/* DADB70 80240770 46002001 */ sub.s $f0, $f4, $f0 +/* DADB74 80240774 3C013FF0 */ lui $at, 0x3ff0 +/* DADB78 80240778 44811800 */ mtc1 $at, $f3 +/* DADB7C 8024077C 44801000 */ mtc1 $zero, $f2 +/* DADB80 80240780 46000005 */ abs.s $f0, $f0 +/* DADB84 80240784 46000021 */ cvt.d.s $f0, $f0 +/* DADB88 80240788 4622003C */ c.lt.d $f0, $f2 +/* DADB8C 8024078C 00000000 */ nop +/* DADB90 80240790 45000036 */ bc1f .L8024086C +/* DADB94 80240794 2403FFEF */ addiu $v1, $zero, -0x11 +/* DADB98 80240798 E604003C */ swc1 $f4, 0x3c($s0) +/* DADB9C 8024079C 8E22006C */ lw $v0, 0x6c($s1) +/* DADBA0 802407A0 00431024 */ and $v0, $v0, $v1 +/* DADBA4 802407A4 0809021B */ j .L8024086C +/* DADBA8 802407A8 AE22006C */ sw $v0, 0x6c($s1) +.L802407AC: +/* DADBAC 802407AC 8E220070 */ lw $v0, 0x70($s1) +/* DADBB0 802407B0 1840002E */ blez $v0, .L8024086C +/* DADBB4 802407B4 00000000 */ nop +/* DADBB8 802407B8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* DADBBC 802407BC 0C00A8BB */ jal sin_deg +/* DADBC0 802407C0 46806320 */ cvt.s.w $f12, $f12 +/* DADBC4 802407C4 8E020000 */ lw $v0, ($s0) +/* DADBC8 802407C8 30420008 */ andi $v0, $v0, 8 +/* DADBCC 802407CC 10400003 */ beqz $v0, .L802407DC +/* DADBD0 802407D0 46000506 */ mov.s $f20, $f0 +/* DADBD4 802407D4 08090207 */ j .L8024081C +/* DADBD8 802407D8 0000102D */ daddu $v0, $zero, $zero +.L802407DC: +/* DADBDC 802407DC 27A50028 */ addiu $a1, $sp, 0x28 +/* DADBE0 802407E0 27A6002C */ addiu $a2, $sp, 0x2c +/* DADBE4 802407E4 C6000038 */ lwc1 $f0, 0x38($s0) +/* DADBE8 802407E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* DADBEC 802407EC C6040040 */ lwc1 $f4, 0x40($s0) +/* DADBF0 802407F0 3C01447A */ lui $at, 0x447a +/* DADBF4 802407F4 44813000 */ mtc1 $at, $f6 +/* DADBF8 802407F8 27A20034 */ addiu $v0, $sp, 0x34 +/* DADBFC 802407FC E7A00028 */ swc1 $f0, 0x28($sp) +/* DADC00 80240800 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DADC04 80240804 E7A40030 */ swc1 $f4, 0x30($sp) +/* DADC08 80240808 E7A60034 */ swc1 $f6, 0x34($sp) +/* DADC0C 8024080C AFA20010 */ sw $v0, 0x10($sp) +/* DADC10 80240810 8E040080 */ lw $a0, 0x80($s0) +/* DADC14 80240814 0C0372DF */ jal func_800DCB7C +/* DADC18 80240818 27A70030 */ addiu $a3, $sp, 0x30 +.L8024081C: +/* DADC1C 8024081C 10400007 */ beqz $v0, .L8024083C +/* DADC20 80240820 00000000 */ nop +/* DADC24 80240824 4616A082 */ mul.s $f2, $f20, $f22 +/* DADC28 80240828 00000000 */ nop +/* DADC2C 8024082C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DADC30 80240830 461A0000 */ add.s $f0, $f0, $f26 +/* DADC34 80240834 08090212 */ j .L80240848 +/* DADC38 80240838 46020000 */ add.s $f0, $f0, $f2 +.L8024083C: +/* DADC3C 8024083C 4616A002 */ mul.s $f0, $f20, $f22 +/* DADC40 80240840 00000000 */ nop +/* DADC44 80240844 4600C000 */ add.s $f0, $f24, $f0 +.L80240848: +/* DADC48 80240848 E600003C */ swc1 $f0, 0x3c($s0) +/* DADC4C 8024084C 8E220074 */ lw $v0, 0x74($s1) +/* DADC50 80240850 2442000A */ addiu $v0, $v0, 0xa +/* DADC54 80240854 44826000 */ mtc1 $v0, $f12 +/* DADC58 80240858 00000000 */ nop +/* DADC5C 8024085C 0C00A6C9 */ jal clamp_angle +/* DADC60 80240860 46806320 */ cvt.s.w $f12, $f12 +/* DADC64 80240864 4600020D */ trunc.w.s $f8, $f0 +/* DADC68 80240868 E6280074 */ swc1 $f8, 0x74($s1) +.L8024086C: +/* DADC6C 8024086C 8E220090 */ lw $v0, 0x90($s1) +/* DADC70 80240870 1C40004A */ bgtz $v0, .L8024099C +/* DADC74 80240874 2442FFFF */ addiu $v0, $v0, -1 +/* DADC78 80240878 8E430014 */ lw $v1, 0x14($s2) +/* DADC7C 8024087C 04600048 */ bltz $v1, .L802409A0 +/* DADC80 80240880 00000000 */ nop +/* DADC84 80240884 8E620074 */ lw $v0, 0x74($s3) +/* DADC88 80240888 1C400042 */ bgtz $v0, .L80240994 +/* DADC8C 8024088C 2442FFFF */ addiu $v0, $v0, -1 +/* DADC90 80240890 AE630074 */ sw $v1, 0x74($s3) +/* DADC94 80240894 860200A8 */ lh $v0, 0xa8($s0) +/* DADC98 80240898 C602003C */ lwc1 $f2, 0x3c($s0) +/* DADC9C 8024089C 44820000 */ mtc1 $v0, $f0 +/* DADCA0 802408A0 00000000 */ nop +/* DADCA4 802408A4 46800020 */ cvt.s.w $f0, $f0 +/* DADCA8 802408A8 46001080 */ add.s $f2, $f2, $f0 +/* DADCAC 802408AC 3C014024 */ lui $at, 0x4024 +/* DADCB0 802408B0 44810800 */ mtc1 $at, $f1 +/* DADCB4 802408B4 44800000 */ mtc1 $zero, $f0 +/* DADCB8 802408B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DADCBC 802408BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DADCC0 802408C0 460010A1 */ cvt.d.s $f2, $f2 +/* DADCC4 802408C4 46201080 */ add.d $f2, $f2, $f0 +/* DADCC8 802408C8 C440002C */ lwc1 $f0, 0x2c($v0) +/* DADCCC 802408CC 46000021 */ cvt.d.s $f0, $f0 +/* DADCD0 802408D0 4622003C */ c.lt.d $f0, $f2 +/* DADCD4 802408D4 00000000 */ nop +/* DADCD8 802408D8 4500002C */ bc1f .L8024098C +/* DADCDC 802408DC 02A0202D */ daddu $a0, $s5, $zero +/* DADCE0 802408E0 AFA00010 */ sw $zero, 0x10($sp) +/* DADCE4 802408E4 8E46000C */ lw $a2, 0xc($s2) +/* DADCE8 802408E8 8E470010 */ lw $a3, 0x10($s2) +/* DADCEC 802408EC 0C01242D */ jal func_800490B4 +/* DADCF0 802408F0 0220282D */ daddu $a1, $s1, $zero +/* DADCF4 802408F4 10400025 */ beqz $v0, .L8024098C +/* DADCF8 802408F8 0000202D */ daddu $a0, $zero, $zero +/* DADCFC 802408FC 0200282D */ daddu $a1, $s0, $zero +/* DADD00 80240900 0000302D */ daddu $a2, $zero, $zero +/* DADD04 80240904 2412000C */ addiu $s2, $zero, 0xc +/* DADD08 80240908 860300A8 */ lh $v1, 0xa8($s0) +/* DADD0C 8024090C 3C013F80 */ lui $at, 0x3f80 +/* DADD10 80240910 44810000 */ mtc1 $at, $f0 +/* DADD14 80240914 3C014000 */ lui $at, 0x4000 +/* DADD18 80240918 44811000 */ mtc1 $at, $f2 +/* DADD1C 8024091C 3C01C1A0 */ lui $at, 0xc1a0 +/* DADD20 80240920 44812000 */ mtc1 $at, $f4 +/* DADD24 80240924 44834000 */ mtc1 $v1, $f8 +/* DADD28 80240928 00000000 */ nop +/* DADD2C 8024092C 46804220 */ cvt.s.w $f8, $f8 +/* DADD30 80240930 44074000 */ mfc1 $a3, $f8 +/* DADD34 80240934 27A20038 */ addiu $v0, $sp, 0x38 +/* DADD38 80240938 AFB2001C */ sw $s2, 0x1c($sp) +/* DADD3C 8024093C AFA20020 */ sw $v0, 0x20($sp) +/* DADD40 80240940 E7A00010 */ swc1 $f0, 0x10($sp) +/* DADD44 80240944 E7A20014 */ swc1 $f2, 0x14($sp) +/* DADD48 80240948 0C01BFA4 */ jal fx_emote +/* DADD4C 8024094C E7A40018 */ swc1 $f4, 0x18($sp) +/* DADD50 80240950 0200202D */ daddu $a0, $s0, $zero +/* DADD54 80240954 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DADD58 80240958 C480003C */ lwc1 $f0, 0x3c($a0) +/* DADD5C 8024095C 3C060020 */ lui $a2, 0x20 +/* DADD60 80240960 0C012530 */ jal func_800494C0 +/* DADD64 80240964 E4800064 */ swc1 $f0, 0x64($a0) +/* DADD68 80240968 8E220018 */ lw $v0, 0x18($s1) +/* DADD6C 8024096C 9442002A */ lhu $v0, 0x2a($v0) +/* DADD70 80240970 30420001 */ andi $v0, $v0, 1 +/* DADD74 80240974 10400003 */ beqz $v0, .L80240984 +/* DADD78 80240978 2402000A */ addiu $v0, $zero, 0xa +/* DADD7C 8024097C 080902D1 */ j .L80240B44 +/* DADD80 80240980 AE620070 */ sw $v0, 0x70($s3) +.L80240984: +/* DADD84 80240984 080902D1 */ j .L80240B44 +/* DADD88 80240988 AE720070 */ sw $s2, 0x70($s3) +.L8024098C: +/* DADD8C 8024098C 8E620074 */ lw $v0, 0x74($s3) +/* DADD90 80240990 2442FFFF */ addiu $v0, $v0, -1 +.L80240994: +/* DADD94 80240994 08090268 */ j .L802409A0 +/* DADD98 80240998 AE620074 */ sw $v0, 0x74($s3) +.L8024099C: +/* DADD9C 8024099C AE220090 */ sw $v0, 0x90($s1) +.L802409A0: +/* DADDA0 802409A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* DADDA4 802409A4 C6000040 */ lwc1 $f0, 0x40($s0) +/* DADDA8 802409A8 C4620000 */ lwc1 $f2, ($v1) +/* DADDAC 802409AC 468010A0 */ cvt.s.w $f2, $f2 +/* DADDB0 802409B0 C4640008 */ lwc1 $f4, 8($v1) +/* DADDB4 802409B4 46802120 */ cvt.s.w $f4, $f4 +/* DADDB8 802409B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* DADDBC 802409BC 8E2200D0 */ lw $v0, 0xd0($s1) +/* DADDC0 802409C0 44051000 */ mfc1 $a1, $f2 +/* DADDC4 802409C4 C440000C */ lwc1 $f0, 0xc($v0) +/* DADDC8 802409C8 46800020 */ cvt.s.w $f0, $f0 +/* DADDCC 802409CC E7A00014 */ swc1 $f0, 0x14($sp) +/* DADDD0 802409D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DADDD4 802409D4 44062000 */ mfc1 $a2, $f4 +/* DADDD8 802409D8 C4400010 */ lwc1 $f0, 0x10($v0) +/* DADDDC 802409DC 46800020 */ cvt.s.w $f0, $f0 +/* DADDE0 802409E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DADDE4 802409E4 8C640018 */ lw $a0, 0x18($v1) +/* DADDE8 802409E8 0C0123F5 */ jal is_point_within_region +/* DADDEC 802409EC 8E070038 */ lw $a3, 0x38($s0) +/* DADDF0 802409F0 1040001A */ beqz $v0, .L80240A5C +/* DADDF4 802409F4 00000000 */ nop +/* DADDF8 802409F8 8E060038 */ lw $a2, 0x38($s0) +/* DADDFC 802409FC 8E2200D0 */ lw $v0, 0xd0($s1) +/* DADE00 80240A00 8E070040 */ lw $a3, 0x40($s0) +/* DADE04 80240A04 C44C0000 */ lwc1 $f12, ($v0) +/* DADE08 80240A08 46806320 */ cvt.s.w $f12, $f12 +/* DADE0C 80240A0C C44E0008 */ lwc1 $f14, 8($v0) +/* DADE10 80240A10 0C00A7B5 */ jal dist2D +/* DADE14 80240A14 468073A0 */ cvt.s.w $f14, $f14 +/* DADE18 80240A18 C6020018 */ lwc1 $f2, 0x18($s0) +/* DADE1C 80240A1C 4600103C */ c.lt.s $f2, $f0 +/* DADE20 80240A20 00000000 */ nop +/* DADE24 80240A24 4500000D */ bc1f .L80240A5C +/* DADE28 80240A28 E7A00034 */ swc1 $f0, 0x34($sp) +/* DADE2C 80240A2C C60C0038 */ lwc1 $f12, 0x38($s0) +/* DADE30 80240A30 8E2200D0 */ lw $v0, 0xd0($s1) +/* DADE34 80240A34 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DADE38 80240A38 C4480000 */ lwc1 $f8, ($v0) +/* DADE3C 80240A3C 46804220 */ cvt.s.w $f8, $f8 +/* DADE40 80240A40 44064000 */ mfc1 $a2, $f8 +/* DADE44 80240A44 C4480008 */ lwc1 $f8, 8($v0) +/* DADE48 80240A48 46804220 */ cvt.s.w $f8, $f8 +/* DADE4C 80240A4C 44074000 */ mfc1 $a3, $f8 +/* DADE50 80240A50 0C00A720 */ jal atan2 +/* DADE54 80240A54 24140001 */ addiu $s4, $zero, 1 +/* DADE58 80240A58 E600000C */ swc1 $f0, 0xc($s0) +.L80240A5C: +/* DADE5C 80240A5C 8E2200D0 */ lw $v0, 0xd0($s1) +/* DADE60 80240A60 8C43000C */ lw $v1, 0xc($v0) +/* DADE64 80240A64 8C420010 */ lw $v0, 0x10($v0) +/* DADE68 80240A68 00621825 */ or $v1, $v1, $v0 +/* DADE6C 80240A6C 00741825 */ or $v1, $v1, $s4 +/* DADE70 80240A70 10600008 */ beqz $v1, .L80240A94 +/* DADE74 80240A74 00000000 */ nop +/* DADE78 80240A78 8602008C */ lh $v0, 0x8c($s0) +/* DADE7C 80240A7C 14400031 */ bnez $v0, .L80240B44 +/* DADE80 80240A80 00000000 */ nop +/* DADE84 80240A84 8E050018 */ lw $a1, 0x18($s0) +/* DADE88 80240A88 8E06000C */ lw $a2, 0xc($s0) +/* DADE8C 80240A8C 0C00EA95 */ jal npc_move_heading +/* DADE90 80240A90 0200202D */ daddu $a0, $s0, $zero +.L80240A94: +/* DADE94 80240A94 C600003C */ lwc1 $f0, 0x3c($s0) +/* DADE98 80240A98 3C014059 */ lui $at, 0x4059 +/* DADE9C 80240A9C 44811800 */ mtc1 $at, $f3 +/* DADEA0 80240AA0 44801000 */ mtc1 $zero, $f2 +/* DADEA4 80240AA4 46000021 */ cvt.d.s $f0, $f0 +/* DADEA8 80240AA8 46220002 */ mul.d $f0, $f0, $f2 +/* DADEAC 80240AAC 00000000 */ nop +/* DADEB0 80240AB0 4620020D */ trunc.w.d $f8, $f0 +/* DADEB4 80240AB4 E628007C */ swc1 $f8, 0x7c($s1) +/* DADEB8 80240AB8 8E420004 */ lw $v0, 4($s2) +/* DADEBC 80240ABC 18400021 */ blez $v0, .L80240B44 +/* DADEC0 80240AC0 00000000 */ nop +/* DADEC4 80240AC4 8602008E */ lh $v0, 0x8e($s0) +/* DADEC8 80240AC8 9603008E */ lhu $v1, 0x8e($s0) +/* DADECC 80240ACC 18400005 */ blez $v0, .L80240AE4 +/* DADED0 80240AD0 2462FFFF */ addiu $v0, $v1, -1 +/* DADED4 80240AD4 A602008E */ sh $v0, 0x8e($s0) +/* DADED8 80240AD8 00021400 */ sll $v0, $v0, 0x10 +/* DADEDC 80240ADC 1C400019 */ bgtz $v0, .L80240B44 +/* DADEE0 80240AE0 00000000 */ nop +.L80240AE4: +/* DADEE4 80240AE4 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DADEE8 80240AE8 24020002 */ addiu $v0, $zero, 2 +/* DADEEC 80240AEC 0C00A67F */ jal rand_int +/* DADEF0 80240AF0 AE620070 */ sw $v0, 0x70($s3) +/* DADEF4 80240AF4 3C035555 */ lui $v1, 0x5555 +/* DADEF8 80240AF8 34635556 */ ori $v1, $v1, 0x5556 +/* DADEFC 80240AFC 00430018 */ mult $v0, $v1 +/* DADF00 80240B00 000227C3 */ sra $a0, $v0, 0x1f +/* DADF04 80240B04 00004010 */ mfhi $t0 +/* DADF08 80240B08 01042023 */ subu $a0, $t0, $a0 +/* DADF0C 80240B0C 00041840 */ sll $v1, $a0, 1 +/* DADF10 80240B10 00641821 */ addu $v1, $v1, $a0 +/* DADF14 80240B14 00431023 */ subu $v0, $v0, $v1 +/* DADF18 80240B18 24430002 */ addiu $v1, $v0, 2 +/* DADF1C 80240B1C AE630074 */ sw $v1, 0x74($s3) +/* DADF20 80240B20 8E42002C */ lw $v0, 0x2c($s2) +/* DADF24 80240B24 58400007 */ blezl $v0, .L80240B44 +/* DADF28 80240B28 AE600070 */ sw $zero, 0x70($s3) +/* DADF2C 80240B2C 8E420008 */ lw $v0, 8($s2) +/* DADF30 80240B30 18400003 */ blez $v0, .L80240B40 +/* DADF34 80240B34 28620003 */ slti $v0, $v1, 3 +/* DADF38 80240B38 10400002 */ beqz $v0, .L80240B44 +/* DADF3C 80240B3C 00000000 */ nop +.L80240B40: +/* DADF40 80240B40 AE600070 */ sw $zero, 0x70($s3) +.L80240B44: +/* DADF44 80240B44 8FBF0058 */ lw $ra, 0x58($sp) +/* DADF48 80240B48 8FB50054 */ lw $s5, 0x54($sp) +/* DADF4C 80240B4C 8FB40050 */ lw $s4, 0x50($sp) +/* DADF50 80240B50 8FB3004C */ lw $s3, 0x4c($sp) +/* DADF54 80240B54 8FB20048 */ lw $s2, 0x48($sp) +/* DADF58 80240B58 8FB10044 */ lw $s1, 0x44($sp) +/* DADF5C 80240B5C 8FB00040 */ lw $s0, 0x40($sp) +/* DADF60 80240B60 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* DADF64 80240B64 D7B80070 */ ldc1 $f24, 0x70($sp) +/* DADF68 80240B68 D7B60068 */ ldc1 $f22, 0x68($sp) +/* DADF6C 80240B6C D7B40060 */ ldc1 $f20, 0x60($sp) +/* DADF70 80240B70 03E00008 */ jr $ra +/* DADF74 80240B74 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240B78_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240B78_DAD400.s new file mode 100644 index 0000000000..7a4d79f352 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240B78_DAD400.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B78_DADF78 +/* DADF78 80240B78 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DADF7C 80240B7C AFB3001C */ sw $s3, 0x1c($sp) +/* DADF80 80240B80 0080982D */ daddu $s3, $a0, $zero +/* DADF84 80240B84 AFBF0020 */ sw $ra, 0x20($sp) +/* DADF88 80240B88 AFB20018 */ sw $s2, 0x18($sp) +/* DADF8C 80240B8C AFB10014 */ sw $s1, 0x14($sp) +/* DADF90 80240B90 AFB00010 */ sw $s0, 0x10($sp) +/* DADF94 80240B94 8E720148 */ lw $s2, 0x148($s3) +/* DADF98 80240B98 86440008 */ lh $a0, 8($s2) +/* DADF9C 80240B9C 0C00EABB */ jal get_npc_unsafe +/* DADFA0 80240BA0 00A0882D */ daddu $s1, $a1, $zero +/* DADFA4 80240BA4 8E240008 */ lw $a0, 8($s1) +/* DADFA8 80240BA8 0040802D */ daddu $s0, $v0, $zero +/* DADFAC 80240BAC 00041FC2 */ srl $v1, $a0, 0x1f +/* DADFB0 80240BB0 00832021 */ addu $a0, $a0, $v1 +/* DADFB4 80240BB4 00042043 */ sra $a0, $a0, 1 +/* DADFB8 80240BB8 0C00A67F */ jal rand_int +/* DADFBC 80240BBC 24840001 */ addiu $a0, $a0, 1 +/* DADFC0 80240BC0 8E230008 */ lw $v1, 8($s1) +/* DADFC4 80240BC4 240400B4 */ addiu $a0, $zero, 0xb4 +/* DADFC8 80240BC8 00032FC2 */ srl $a1, $v1, 0x1f +/* DADFCC 80240BCC 00651821 */ addu $v1, $v1, $a1 +/* DADFD0 80240BD0 00031843 */ sra $v1, $v1, 1 +/* DADFD4 80240BD4 00621821 */ addu $v1, $v1, $v0 +/* DADFD8 80240BD8 0C00A67F */ jal rand_int +/* DADFDC 80240BDC A603008E */ sh $v1, 0x8e($s0) +/* DADFE0 80240BE0 C60C000C */ lwc1 $f12, 0xc($s0) +/* DADFE4 80240BE4 44820000 */ mtc1 $v0, $f0 +/* DADFE8 80240BE8 00000000 */ nop +/* DADFEC 80240BEC 46800020 */ cvt.s.w $f0, $f0 +/* DADFF0 80240BF0 46006300 */ add.s $f12, $f12, $f0 +/* DADFF4 80240BF4 3C0142B4 */ lui $at, 0x42b4 +/* DADFF8 80240BF8 44810000 */ mtc1 $at, $f0 +/* DADFFC 80240BFC 0C00A6C9 */ jal clamp_angle +/* DAE000 80240C00 46006301 */ sub.s $f12, $f12, $f0 +/* DAE004 80240C04 E600000C */ swc1 $f0, 0xc($s0) +/* DAE008 80240C08 8E4200CC */ lw $v0, 0xcc($s2) +/* DAE00C 80240C0C 8C420000 */ lw $v0, ($v0) +/* DAE010 80240C10 AE020028 */ sw $v0, 0x28($s0) +/* DAE014 80240C14 24020003 */ addiu $v0, $zero, 3 +/* DAE018 80240C18 AE620070 */ sw $v0, 0x70($s3) +/* DAE01C 80240C1C 8FBF0020 */ lw $ra, 0x20($sp) +/* DAE020 80240C20 8FB3001C */ lw $s3, 0x1c($sp) +/* DAE024 80240C24 8FB20018 */ lw $s2, 0x18($sp) +/* DAE028 80240C28 8FB10014 */ lw $s1, 0x14($sp) +/* DAE02C 80240C2C 8FB00010 */ lw $s0, 0x10($sp) +/* DAE030 80240C30 03E00008 */ jr $ra +/* DAE034 80240C34 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240C38_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240C38_DAD400.s new file mode 100644 index 0000000000..1a52fd6338 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240C38_DAD400.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C38_DAE038 +/* DAE038 80240C38 27BDFF88 */ addiu $sp, $sp, -0x78 +/* DAE03C 80240C3C AFB3004C */ sw $s3, 0x4c($sp) +/* DAE040 80240C40 0080982D */ daddu $s3, $a0, $zero +/* DAE044 80240C44 AFBF0054 */ sw $ra, 0x54($sp) +/* DAE048 80240C48 AFB40050 */ sw $s4, 0x50($sp) +/* DAE04C 80240C4C AFB20048 */ sw $s2, 0x48($sp) +/* DAE050 80240C50 AFB10044 */ sw $s1, 0x44($sp) +/* DAE054 80240C54 AFB00040 */ sw $s0, 0x40($sp) +/* DAE058 80240C58 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* DAE05C 80240C5C F7B80068 */ sdc1 $f24, 0x68($sp) +/* DAE060 80240C60 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DAE064 80240C64 F7B40058 */ sdc1 $f20, 0x58($sp) +/* DAE068 80240C68 8E710148 */ lw $s1, 0x148($s3) +/* DAE06C 80240C6C 00A0902D */ daddu $s2, $a1, $zero +/* DAE070 80240C70 86240008 */ lh $a0, 8($s1) +/* DAE074 80240C74 0C00EABB */ jal get_npc_unsafe +/* DAE078 80240C78 00C0A02D */ daddu $s4, $a2, $zero +/* DAE07C 80240C7C 0040802D */ daddu $s0, $v0, $zero +/* DAE080 80240C80 C6200078 */ lwc1 $f0, 0x78($s1) +/* DAE084 80240C84 46800020 */ cvt.s.w $f0, $f0 +/* DAE088 80240C88 46000021 */ cvt.d.s $f0, $f0 +/* DAE08C 80240C8C 3C014059 */ lui $at, 0x4059 +/* DAE090 80240C90 44811800 */ mtc1 $at, $f3 +/* DAE094 80240C94 44801000 */ mtc1 $zero, $f2 +/* DAE098 80240C98 8602008E */ lh $v0, 0x8e($s0) +/* DAE09C 80240C9C 9603008E */ lhu $v1, 0x8e($s0) +/* DAE0A0 80240CA0 46220003 */ div.d $f0, $f0, $f2 +/* DAE0A4 80240CA4 46200620 */ cvt.s.d $f24, $f0 +/* DAE0A8 80240CA8 C6200088 */ lwc1 $f0, 0x88($s1) +/* DAE0AC 80240CAC 46800020 */ cvt.s.w $f0, $f0 +/* DAE0B0 80240CB0 46000021 */ cvt.d.s $f0, $f0 +/* DAE0B4 80240CB4 46220003 */ div.d $f0, $f0, $f2 +/* DAE0B8 80240CB8 46200020 */ cvt.s.d $f0, $f0 +/* DAE0BC 80240CBC 18400003 */ blez $v0, .L80240CCC +/* DAE0C0 80240CC0 4600C680 */ add.s $f26, $f24, $f0 +/* DAE0C4 80240CC4 2462FFFF */ addiu $v0, $v1, -1 +/* DAE0C8 80240CC8 A602008E */ sh $v0, 0x8e($s0) +.L80240CCC: +/* DAE0CC 80240CCC 8E220070 */ lw $v0, 0x70($s1) +/* DAE0D0 80240CD0 18400034 */ blez $v0, .L80240DA4 +/* DAE0D4 80240CD4 00000000 */ nop +/* DAE0D8 80240CD8 C62C0074 */ lwc1 $f12, 0x74($s1) +/* DAE0DC 80240CDC 46806320 */ cvt.s.w $f12, $f12 +/* DAE0E0 80240CE0 44820000 */ mtc1 $v0, $f0 +/* DAE0E4 80240CE4 00000000 */ nop +/* DAE0E8 80240CE8 46800020 */ cvt.s.w $f0, $f0 +/* DAE0EC 80240CEC 46000021 */ cvt.d.s $f0, $f0 +/* DAE0F0 80240CF0 46220003 */ div.d $f0, $f0, $f2 +/* DAE0F4 80240CF4 0C00A8BB */ jal sin_deg +/* DAE0F8 80240CF8 462005A0 */ cvt.s.d $f22, $f0 +/* DAE0FC 80240CFC 8E020000 */ lw $v0, ($s0) +/* DAE100 80240D00 30420008 */ andi $v0, $v0, 8 +/* DAE104 80240D04 10400003 */ beqz $v0, .L80240D14 +/* DAE108 80240D08 46000506 */ mov.s $f20, $f0 +/* DAE10C 80240D0C 08090355 */ j .L80240D54 +/* DAE110 80240D10 0000102D */ daddu $v0, $zero, $zero +.L80240D14: +/* DAE114 80240D14 27A50028 */ addiu $a1, $sp, 0x28 +/* DAE118 80240D18 27A6002C */ addiu $a2, $sp, 0x2c +/* DAE11C 80240D1C C6000038 */ lwc1 $f0, 0x38($s0) +/* DAE120 80240D20 C602003C */ lwc1 $f2, 0x3c($s0) +/* DAE124 80240D24 C6040040 */ lwc1 $f4, 0x40($s0) +/* DAE128 80240D28 3C01447A */ lui $at, 0x447a +/* DAE12C 80240D2C 44813000 */ mtc1 $at, $f6 +/* DAE130 80240D30 27A20034 */ addiu $v0, $sp, 0x34 +/* DAE134 80240D34 E7A00028 */ swc1 $f0, 0x28($sp) +/* DAE138 80240D38 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DAE13C 80240D3C E7A40030 */ swc1 $f4, 0x30($sp) +/* DAE140 80240D40 E7A60034 */ swc1 $f6, 0x34($sp) +/* DAE144 80240D44 AFA20010 */ sw $v0, 0x10($sp) +/* DAE148 80240D48 8E040080 */ lw $a0, 0x80($s0) +/* DAE14C 80240D4C 0C0372DF */ jal func_800DCB7C +/* DAE150 80240D50 27A70030 */ addiu $a3, $sp, 0x30 +.L80240D54: +/* DAE154 80240D54 10400007 */ beqz $v0, .L80240D74 +/* DAE158 80240D58 00000000 */ nop +/* DAE15C 80240D5C 4616A082 */ mul.s $f2, $f20, $f22 +/* DAE160 80240D60 00000000 */ nop +/* DAE164 80240D64 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DAE168 80240D68 46180000 */ add.s $f0, $f0, $f24 +/* DAE16C 80240D6C 08090360 */ j .L80240D80 +/* DAE170 80240D70 46020000 */ add.s $f0, $f0, $f2 +.L80240D74: +/* DAE174 80240D74 4616A002 */ mul.s $f0, $f20, $f22 +/* DAE178 80240D78 00000000 */ nop +/* DAE17C 80240D7C 4600D000 */ add.s $f0, $f26, $f0 +.L80240D80: +/* DAE180 80240D80 E600003C */ swc1 $f0, 0x3c($s0) +/* DAE184 80240D84 8E220074 */ lw $v0, 0x74($s1) +/* DAE188 80240D88 2442000A */ addiu $v0, $v0, 0xa +/* DAE18C 80240D8C 44826000 */ mtc1 $v0, $f12 +/* DAE190 80240D90 00000000 */ nop +/* DAE194 80240D94 0C00A6C9 */ jal clamp_angle +/* DAE198 80240D98 46806320 */ cvt.s.w $f12, $f12 +/* DAE19C 80240D9C 4600020D */ trunc.w.s $f8, $f0 +/* DAE1A0 80240DA0 E6280074 */ swc1 $f8, 0x74($s1) +.L80240DA4: +/* DAE1A4 80240DA4 8E220090 */ lw $v0, 0x90($s1) +/* DAE1A8 80240DA8 1C400040 */ bgtz $v0, .L80240EAC +/* DAE1AC 80240DAC 2442FFFF */ addiu $v0, $v0, -1 +/* DAE1B0 80240DB0 860200A8 */ lh $v0, 0xa8($s0) +/* DAE1B4 80240DB4 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAE1B8 80240DB8 44821000 */ mtc1 $v0, $f2 +/* DAE1BC 80240DBC 00000000 */ nop +/* DAE1C0 80240DC0 468010A0 */ cvt.s.w $f2, $f2 +/* DAE1C4 80240DC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DAE1C8 80240DC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DAE1CC 80240DCC 46020000 */ add.s $f0, $f0, $f2 +/* DAE1D0 80240DD0 3C014024 */ lui $at, 0x4024 +/* DAE1D4 80240DD4 44812800 */ mtc1 $at, $f5 +/* DAE1D8 80240DD8 44802000 */ mtc1 $zero, $f4 +/* DAE1DC 80240DDC C442002C */ lwc1 $f2, 0x2c($v0) +/* DAE1E0 80240DE0 46000021 */ cvt.d.s $f0, $f0 +/* DAE1E4 80240DE4 46240000 */ add.d $f0, $f0, $f4 +/* DAE1E8 80240DE8 460010A1 */ cvt.d.s $f2, $f2 +/* DAE1EC 80240DEC 4620103C */ c.lt.d $f2, $f0 +/* DAE1F0 80240DF0 00000000 */ nop +/* DAE1F4 80240DF4 4500002E */ bc1f .L80240EB0 +/* DAE1F8 80240DF8 0280202D */ daddu $a0, $s4, $zero +/* DAE1FC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* DAE200 80240E00 AFA20010 */ sw $v0, 0x10($sp) +/* DAE204 80240E04 8E460024 */ lw $a2, 0x24($s2) +/* DAE208 80240E08 8E470028 */ lw $a3, 0x28($s2) +/* DAE20C 80240E0C 0C01242D */ jal func_800490B4 +/* DAE210 80240E10 0220282D */ daddu $a1, $s1, $zero +/* DAE214 80240E14 10400026 */ beqz $v0, .L80240EB0 +/* DAE218 80240E18 0000202D */ daddu $a0, $zero, $zero +/* DAE21C 80240E1C 0200282D */ daddu $a1, $s0, $zero +/* DAE220 80240E20 0000302D */ daddu $a2, $zero, $zero +/* DAE224 80240E24 2412000C */ addiu $s2, $zero, 0xc +/* DAE228 80240E28 860300A8 */ lh $v1, 0xa8($s0) +/* DAE22C 80240E2C 3C013F80 */ lui $at, 0x3f80 +/* DAE230 80240E30 44810000 */ mtc1 $at, $f0 +/* DAE234 80240E34 3C014000 */ lui $at, 0x4000 +/* DAE238 80240E38 44811000 */ mtc1 $at, $f2 +/* DAE23C 80240E3C 3C01C1A0 */ lui $at, 0xc1a0 +/* DAE240 80240E40 44812000 */ mtc1 $at, $f4 +/* DAE244 80240E44 44834000 */ mtc1 $v1, $f8 +/* DAE248 80240E48 00000000 */ nop +/* DAE24C 80240E4C 46804220 */ cvt.s.w $f8, $f8 +/* DAE250 80240E50 44074000 */ mfc1 $a3, $f8 +/* DAE254 80240E54 27A20038 */ addiu $v0, $sp, 0x38 +/* DAE258 80240E58 AFB2001C */ sw $s2, 0x1c($sp) +/* DAE25C 80240E5C AFA20020 */ sw $v0, 0x20($sp) +/* DAE260 80240E60 E7A00010 */ swc1 $f0, 0x10($sp) +/* DAE264 80240E64 E7A20014 */ swc1 $f2, 0x14($sp) +/* DAE268 80240E68 0C01BFA4 */ jal fx_emote +/* DAE26C 80240E6C E7A40018 */ swc1 $f4, 0x18($sp) +/* DAE270 80240E70 0200202D */ daddu $a0, $s0, $zero +/* DAE274 80240E74 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DAE278 80240E78 C480003C */ lwc1 $f0, 0x3c($a0) +/* DAE27C 80240E7C 3C060020 */ lui $a2, 0x20 +/* DAE280 80240E80 0C012530 */ jal func_800494C0 +/* DAE284 80240E84 E4800064 */ swc1 $f0, 0x64($a0) +/* DAE288 80240E88 8E220018 */ lw $v0, 0x18($s1) +/* DAE28C 80240E8C 9442002A */ lhu $v0, 0x2a($v0) +/* DAE290 80240E90 30420001 */ andi $v0, $v0, 1 +/* DAE294 80240E94 10400003 */ beqz $v0, .L80240EA4 +/* DAE298 80240E98 2402000A */ addiu $v0, $zero, 0xa +/* DAE29C 80240E9C 080903D3 */ j .L80240F4C +/* DAE2A0 80240EA0 AE620070 */ sw $v0, 0x70($s3) +.L80240EA4: +/* DAE2A4 80240EA4 080903D3 */ j .L80240F4C +/* DAE2A8 80240EA8 AE720070 */ sw $s2, 0x70($s3) +.L80240EAC: +/* DAE2AC 80240EAC AE220090 */ sw $v0, 0x90($s1) +.L80240EB0: +/* DAE2B0 80240EB0 8602008C */ lh $v0, 0x8c($s0) +/* DAE2B4 80240EB4 14400025 */ bnez $v0, .L80240F4C +/* DAE2B8 80240EB8 00000000 */ nop +/* DAE2BC 80240EBC 8602008E */ lh $v0, 0x8e($s0) +/* DAE2C0 80240EC0 1C400022 */ bgtz $v0, .L80240F4C +/* DAE2C4 80240EC4 00000000 */ nop +/* DAE2C8 80240EC8 8E620074 */ lw $v0, 0x74($s3) +/* DAE2CC 80240ECC 2442FFFF */ addiu $v0, $v0, -1 +/* DAE2D0 80240ED0 1840001D */ blez $v0, .L80240F48 +/* DAE2D4 80240ED4 AE620074 */ sw $v0, 0x74($s3) +/* DAE2D8 80240ED8 8E220018 */ lw $v0, 0x18($s1) +/* DAE2DC 80240EDC 9442002A */ lhu $v0, 0x2a($v0) +/* DAE2E0 80240EE0 30420010 */ andi $v0, $v0, 0x10 +/* DAE2E4 80240EE4 14400007 */ bnez $v0, .L80240F04 +/* DAE2E8 80240EE8 00000000 */ nop +/* DAE2EC 80240EEC C600000C */ lwc1 $f0, 0xc($s0) +/* DAE2F0 80240EF0 3C014334 */ lui $at, 0x4334 +/* DAE2F4 80240EF4 44816000 */ mtc1 $at, $f12 +/* DAE2F8 80240EF8 0C00A6C9 */ jal clamp_angle +/* DAE2FC 80240EFC 460C0300 */ add.s $f12, $f0, $f12 +/* DAE300 80240F00 E600000C */ swc1 $f0, 0xc($s0) +.L80240F04: +/* DAE304 80240F04 0C00A67F */ jal rand_int +/* DAE308 80240F08 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DAE30C 80240F0C 3C032E8B */ lui $v1, 0x2e8b +/* DAE310 80240F10 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* DAE314 80240F14 00430018 */ mult $v0, $v1 +/* DAE318 80240F18 00021FC3 */ sra $v1, $v0, 0x1f +/* DAE31C 80240F1C 00004010 */ mfhi $t0 +/* DAE320 80240F20 00082043 */ sra $a0, $t0, 1 +/* DAE324 80240F24 00832023 */ subu $a0, $a0, $v1 +/* DAE328 80240F28 00041840 */ sll $v1, $a0, 1 +/* DAE32C 80240F2C 00641821 */ addu $v1, $v1, $a0 +/* DAE330 80240F30 00031880 */ sll $v1, $v1, 2 +/* DAE334 80240F34 00641823 */ subu $v1, $v1, $a0 +/* DAE338 80240F38 00431023 */ subu $v0, $v0, $v1 +/* DAE33C 80240F3C 24420005 */ addiu $v0, $v0, 5 +/* DAE340 80240F40 080903D3 */ j .L80240F4C +/* DAE344 80240F44 A602008E */ sh $v0, 0x8e($s0) +.L80240F48: +/* DAE348 80240F48 AE600070 */ sw $zero, 0x70($s3) +.L80240F4C: +/* DAE34C 80240F4C 8FBF0054 */ lw $ra, 0x54($sp) +/* DAE350 80240F50 8FB40050 */ lw $s4, 0x50($sp) +/* DAE354 80240F54 8FB3004C */ lw $s3, 0x4c($sp) +/* DAE358 80240F58 8FB20048 */ lw $s2, 0x48($sp) +/* DAE35C 80240F5C 8FB10044 */ lw $s1, 0x44($sp) +/* DAE360 80240F60 8FB00040 */ lw $s0, 0x40($sp) +/* DAE364 80240F64 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* DAE368 80240F68 D7B80068 */ ldc1 $f24, 0x68($sp) +/* DAE36C 80240F6C D7B60060 */ ldc1 $f22, 0x60($sp) +/* DAE370 80240F70 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DAE374 80240F74 03E00008 */ jr $ra +/* DAE378 80240F78 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240F7C_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240F7C_DAD400.s new file mode 100644 index 0000000000..e0ca506950 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240F7C_DAD400.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C_DAE37C +/* DAE37C 80240F7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAE380 80240F80 AFB20018 */ sw $s2, 0x18($sp) +/* DAE384 80240F84 0080902D */ daddu $s2, $a0, $zero +/* DAE388 80240F88 AFBF001C */ sw $ra, 0x1c($sp) +/* DAE38C 80240F8C AFB10014 */ sw $s1, 0x14($sp) +/* DAE390 80240F90 AFB00010 */ sw $s0, 0x10($sp) +/* DAE394 80240F94 8E510148 */ lw $s1, 0x148($s2) +/* DAE398 80240F98 0C00EABB */ jal get_npc_unsafe +/* DAE39C 80240F9C 86240008 */ lh $a0, 8($s1) +/* DAE3A0 80240FA0 0040802D */ daddu $s0, $v0, $zero +/* DAE3A4 80240FA4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DAE3A8 80240FA8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DAE3AC 80240FAC C60C0038 */ lwc1 $f12, 0x38($s0) +/* DAE3B0 80240FB0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DAE3B4 80240FB4 A600008E */ sh $zero, 0x8e($s0) +/* DAE3B8 80240FB8 8C460028 */ lw $a2, 0x28($v0) +/* DAE3BC 80240FBC 0C00A720 */ jal atan2 +/* DAE3C0 80240FC0 8C470030 */ lw $a3, 0x30($v0) +/* DAE3C4 80240FC4 E600000C */ swc1 $f0, 0xc($s0) +/* DAE3C8 80240FC8 8E2200CC */ lw $v0, 0xcc($s1) +/* DAE3CC 80240FCC 8C420020 */ lw $v0, 0x20($v0) +/* DAE3D0 80240FD0 AE020028 */ sw $v0, 0x28($s0) +/* DAE3D4 80240FD4 2402000B */ addiu $v0, $zero, 0xb +/* DAE3D8 80240FD8 AE420070 */ sw $v0, 0x70($s2) +/* DAE3DC 80240FDC 8FBF001C */ lw $ra, 0x1c($sp) +/* DAE3E0 80240FE0 8FB20018 */ lw $s2, 0x18($sp) +/* DAE3E4 80240FE4 8FB10014 */ lw $s1, 0x14($sp) +/* DAE3E8 80240FE8 8FB00010 */ lw $s0, 0x10($sp) +/* DAE3EC 80240FEC 03E00008 */ jr $ra +/* DAE3F0 80240FF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80240FF4.s b/asm/nonmatchings/world/area_omo/omo_04/func_80240FF4.s new file mode 100644 index 0000000000..edce03e559 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80240FF4.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FF4 +/* DAE3F4 80240FF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DAE3F8 80240FF8 AFB00010 */ sw $s0, 0x10($sp) +/* DAE3FC 80240FFC 0080802D */ daddu $s0, $a0, $zero +/* DAE400 80241000 AFBF0014 */ sw $ra, 0x14($sp) +/* DAE404 80241004 8E020148 */ lw $v0, 0x148($s0) +/* DAE408 80241008 0C00EABB */ jal get_npc_unsafe +/* DAE40C 8024100C 84440008 */ lh $a0, 8($v0) +/* DAE410 80241010 9443008E */ lhu $v1, 0x8e($v0) +/* DAE414 80241014 C440003C */ lwc1 $f0, 0x3c($v0) +/* DAE418 80241018 24640001 */ addiu $a0, $v1, 1 +/* DAE41C 8024101C 00031C00 */ sll $v1, $v1, 0x10 +/* DAE420 80241020 00031B83 */ sra $v1, $v1, 0xe +/* DAE424 80241024 A444008E */ sh $a0, 0x8e($v0) +/* DAE428 80241028 3C018024 */ lui $at, 0x8024 +/* DAE42C 8024102C 00230821 */ addu $at, $at, $v1 +/* DAE430 80241030 C4222EF0 */ lwc1 $f2, 0x2ef0($at) +/* DAE434 80241034 8443008E */ lh $v1, 0x8e($v0) +/* DAE438 80241038 46020000 */ add.s $f0, $f0, $f2 +/* DAE43C 8024103C 28630005 */ slti $v1, $v1, 5 +/* DAE440 80241040 14600003 */ bnez $v1, .L80241050 +/* DAE444 80241044 E440003C */ swc1 $f0, 0x3c($v0) +/* DAE448 80241048 2402000C */ addiu $v0, $zero, 0xc +/* DAE44C 8024104C AE020070 */ sw $v0, 0x70($s0) +.L80241050: +/* DAE450 80241050 8FBF0014 */ lw $ra, 0x14($sp) +/* DAE454 80241054 8FB00010 */ lw $s0, 0x10($sp) +/* DAE458 80241058 03E00008 */ jr $ra +/* DAE45C 8024105C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241060_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241060_DAD400.s new file mode 100644 index 0000000000..3b21595d86 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241060_DAD400.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241060_DAE460 +/* DAE460 80241060 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DAE464 80241064 AFB3001C */ sw $s3, 0x1c($sp) +/* DAE468 80241068 0080982D */ daddu $s3, $a0, $zero +/* DAE46C 8024106C AFBF0020 */ sw $ra, 0x20($sp) +/* DAE470 80241070 AFB20018 */ sw $s2, 0x18($sp) +/* DAE474 80241074 AFB10014 */ sw $s1, 0x14($sp) +/* DAE478 80241078 AFB00010 */ sw $s0, 0x10($sp) +/* DAE47C 8024107C 8E720148 */ lw $s2, 0x148($s3) +/* DAE480 80241080 86440008 */ lh $a0, 8($s2) +/* DAE484 80241084 0C00EABB */ jal get_npc_unsafe +/* DAE488 80241088 00A0802D */ daddu $s0, $a1, $zero +/* DAE48C 8024108C 0040882D */ daddu $s1, $v0, $zero +/* DAE490 80241090 C6420080 */ lwc1 $f2, 0x80($s2) +/* DAE494 80241094 468010A0 */ cvt.s.w $f2, $f2 +/* DAE498 80241098 460010A1 */ cvt.d.s $f2, $f2 +/* DAE49C 8024109C C6400084 */ lwc1 $f0, 0x84($s2) +/* DAE4A0 802410A0 46800020 */ cvt.s.w $f0, $f0 +/* DAE4A4 802410A4 46000021 */ cvt.d.s $f0, $f0 +/* DAE4A8 802410A8 3C014059 */ lui $at, 0x4059 +/* DAE4AC 802410AC 44812800 */ mtc1 $at, $f5 +/* DAE4B0 802410B0 44802000 */ mtc1 $zero, $f4 +/* DAE4B4 802410B4 8E4200CC */ lw $v0, 0xcc($s2) +/* DAE4B8 802410B8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* DAE4BC 802410BC C62E0040 */ lwc1 $f14, 0x40($s1) +/* DAE4C0 802410C0 46241083 */ div.d $f2, $f2, $f4 +/* DAE4C4 802410C4 462010A0 */ cvt.s.d $f2, $f2 +/* DAE4C8 802410C8 46240003 */ div.d $f0, $f0, $f4 +/* DAE4CC 802410CC 8C420020 */ lw $v0, 0x20($v0) +/* DAE4D0 802410D0 46200020 */ cvt.s.d $f0, $f0 +/* DAE4D4 802410D4 E622001C */ swc1 $f2, 0x1c($s1) +/* DAE4D8 802410D8 E6200014 */ swc1 $f0, 0x14($s1) +/* DAE4DC 802410DC AE220028 */ sw $v0, 0x28($s1) +/* DAE4E0 802410E0 C6000018 */ lwc1 $f0, 0x18($s0) +/* DAE4E4 802410E4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DAE4E8 802410E8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DAE4EC 802410EC E6200018 */ swc1 $f0, 0x18($s1) +/* DAE4F0 802410F0 8C460028 */ lw $a2, 0x28($v0) +/* DAE4F4 802410F4 0C00A720 */ jal atan2 +/* DAE4F8 802410F8 8C470030 */ lw $a3, 0x30($v0) +/* DAE4FC 802410FC E620000C */ swc1 $f0, 0xc($s1) +/* DAE500 80241100 8E420018 */ lw $v0, 0x18($s2) +/* DAE504 80241104 AE400074 */ sw $zero, 0x74($s2) +/* DAE508 80241108 9442002A */ lhu $v0, 0x2a($v0) +/* DAE50C 8024110C 30420002 */ andi $v0, $v0, 2 +/* DAE510 80241110 10400005 */ beqz $v0, .L80241128 +/* DAE514 80241114 24020003 */ addiu $v0, $zero, 3 +/* DAE518 80241118 A622008E */ sh $v0, 0x8e($s1) +/* DAE51C 8024111C 2402000D */ addiu $v0, $zero, 0xd +/* DAE520 80241120 0809045E */ j .L80241178 +/* DAE524 80241124 AE620070 */ sw $v0, 0x70($s3) +.L80241128: +/* DAE528 80241128 24030001 */ addiu $v1, $zero, 1 +/* DAE52C 8024112C 2402000E */ addiu $v0, $zero, 0xe +/* DAE530 80241130 A623008E */ sh $v1, 0x8e($s1) +/* DAE534 80241134 AE620070 */ sw $v0, 0x70($s3) +/* DAE538 80241138 C6200038 */ lwc1 $f0, 0x38($s1) +/* DAE53C 8024113C 4600018D */ trunc.w.s $f6, $f0 +/* DAE540 80241140 44023000 */ mfc1 $v0, $f6 +/* DAE544 80241144 00000000 */ nop +/* DAE548 80241148 A6420010 */ sh $v0, 0x10($s2) +/* DAE54C 8024114C C620003C */ lwc1 $f0, 0x3c($s1) +/* DAE550 80241150 4600018D */ trunc.w.s $f6, $f0 +/* DAE554 80241154 44023000 */ mfc1 $v0, $f6 +/* DAE558 80241158 00000000 */ nop +/* DAE55C 8024115C A6420012 */ sh $v0, 0x12($s2) +/* DAE560 80241160 C6200040 */ lwc1 $f0, 0x40($s1) +/* DAE564 80241164 A2430007 */ sb $v1, 7($s2) +/* DAE568 80241168 4600018D */ trunc.w.s $f6, $f0 +/* DAE56C 8024116C 44023000 */ mfc1 $v0, $f6 +/* DAE570 80241170 00000000 */ nop +/* DAE574 80241174 A6420014 */ sh $v0, 0x14($s2) +.L80241178: +/* DAE578 80241178 8FBF0020 */ lw $ra, 0x20($sp) +/* DAE57C 8024117C 8FB3001C */ lw $s3, 0x1c($sp) +/* DAE580 80241180 8FB20018 */ lw $s2, 0x18($sp) +/* DAE584 80241184 8FB10014 */ lw $s1, 0x14($sp) +/* DAE588 80241188 8FB00010 */ lw $s0, 0x10($sp) +/* DAE58C 8024118C 03E00008 */ jr $ra +/* DAE590 80241190 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241194_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241194_DAD400.s new file mode 100644 index 0000000000..d6c96ab42a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241194_DAD400.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241194_DAE594 +/* DAE594 80241194 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DAE598 80241198 AFB00010 */ sw $s0, 0x10($sp) +/* DAE59C 8024119C 0080802D */ daddu $s0, $a0, $zero +/* DAE5A0 802411A0 AFBF0014 */ sw $ra, 0x14($sp) +/* DAE5A4 802411A4 8E020148 */ lw $v0, 0x148($s0) +/* DAE5A8 802411A8 0C00EABB */ jal get_npc_unsafe +/* DAE5AC 802411AC 84440008 */ lh $a0, 8($v0) +/* DAE5B0 802411B0 0040202D */ daddu $a0, $v0, $zero +/* DAE5B4 802411B4 8482008E */ lh $v0, 0x8e($a0) +/* DAE5B8 802411B8 9483008E */ lhu $v1, 0x8e($a0) +/* DAE5BC 802411BC 18400005 */ blez $v0, .L802411D4 +/* DAE5C0 802411C0 2462FFFF */ addiu $v0, $v1, -1 +/* DAE5C4 802411C4 A482008E */ sh $v0, 0x8e($a0) +/* DAE5C8 802411C8 00021400 */ sll $v0, $v0, 0x10 +/* DAE5CC 802411CC 1C400006 */ bgtz $v0, .L802411E8 +/* DAE5D0 802411D0 00000000 */ nop +.L802411D4: +/* DAE5D4 802411D4 8482008C */ lh $v0, 0x8c($a0) +/* DAE5D8 802411D8 14400003 */ bnez $v0, .L802411E8 +/* DAE5DC 802411DC 2402000E */ addiu $v0, $zero, 0xe +/* DAE5E0 802411E0 A480008E */ sh $zero, 0x8e($a0) +/* DAE5E4 802411E4 AE020070 */ sw $v0, 0x70($s0) +.L802411E8: +/* DAE5E8 802411E8 8FBF0014 */ lw $ra, 0x14($sp) +/* DAE5EC 802411EC 8FB00010 */ lw $s0, 0x10($sp) +/* DAE5F0 802411F0 03E00008 */ jr $ra +/* DAE5F4 802411F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802411F8_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802411F8_DAD400.s new file mode 100644 index 0000000000..9fd9a2dd04 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802411F8_DAD400.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F8_DAE5F8 +/* DAE5F8 802411F8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DAE5FC 802411FC AFB20030 */ sw $s2, 0x30($sp) +/* DAE600 80241200 0080902D */ daddu $s2, $a0, $zero +/* DAE604 80241204 AFBF0038 */ sw $ra, 0x38($sp) +/* DAE608 80241208 AFB30034 */ sw $s3, 0x34($sp) +/* DAE60C 8024120C AFB1002C */ sw $s1, 0x2c($sp) +/* DAE610 80241210 AFB00028 */ sw $s0, 0x28($sp) +/* DAE614 80241214 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DAE618 80241218 F7B40040 */ sdc1 $f20, 0x40($sp) +/* DAE61C 8024121C 8E510148 */ lw $s1, 0x148($s2) +/* DAE620 80241220 86240008 */ lh $a0, 8($s1) +/* DAE624 80241224 0C00EABB */ jal get_npc_unsafe +/* DAE628 80241228 00A0982D */ daddu $s3, $a1, $zero +/* DAE62C 8024122C 0040802D */ daddu $s0, $v0, $zero +/* DAE630 80241230 0200202D */ daddu $a0, $s0, $zero +/* DAE634 80241234 C6220088 */ lwc1 $f2, 0x88($s1) +/* DAE638 80241238 468010A0 */ cvt.s.w $f2, $f2 +/* DAE63C 8024123C 460010A1 */ cvt.d.s $f2, $f2 +/* DAE640 80241240 C604001C */ lwc1 $f4, 0x1c($s0) +/* DAE644 80241244 C6000014 */ lwc1 $f0, 0x14($s0) +/* DAE648 80241248 8E050018 */ lw $a1, 0x18($s0) +/* DAE64C 8024124C 46002100 */ add.s $f4, $f4, $f0 +/* DAE650 80241250 8E06000C */ lw $a2, 0xc($s0) +/* DAE654 80241254 C6200078 */ lwc1 $f0, 0x78($s1) +/* DAE658 80241258 46800020 */ cvt.s.w $f0, $f0 +/* DAE65C 8024125C E604001C */ swc1 $f4, 0x1c($s0) +/* DAE660 80241260 3C014059 */ lui $at, 0x4059 +/* DAE664 80241264 44812800 */ mtc1 $at, $f5 +/* DAE668 80241268 44802000 */ mtc1 $zero, $f4 +/* DAE66C 8024126C 46000021 */ cvt.d.s $f0, $f0 +/* DAE670 80241270 46240003 */ div.d $f0, $f0, $f4 +/* DAE674 80241274 46200520 */ cvt.s.d $f20, $f0 +/* DAE678 80241278 46241083 */ div.d $f2, $f2, $f4 +/* DAE67C 8024127C 0C00EA95 */ jal npc_move_heading +/* DAE680 80241280 462015A0 */ cvt.s.d $f22, $f2 +/* DAE684 80241284 C604001C */ lwc1 $f4, 0x1c($s0) +/* DAE688 80241288 44801000 */ mtc1 $zero, $f2 +/* DAE68C 8024128C 44801800 */ mtc1 $zero, $f3 +/* DAE690 80241290 46002021 */ cvt.d.s $f0, $f4 +/* DAE694 80241294 4620103E */ c.le.d $f2, $f0 +/* DAE698 80241298 00000000 */ nop +/* DAE69C 8024129C 45000030 */ bc1f .L80241360 +/* DAE6A0 802412A0 00000000 */ nop +/* DAE6A4 802412A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAE6A8 802412A8 46040000 */ add.s $f0, $f0, $f4 +/* DAE6AC 802412AC E600003C */ swc1 $f0, 0x3c($s0) +/* DAE6B0 802412B0 8E2200CC */ lw $v0, 0xcc($s1) +/* DAE6B4 802412B4 8C420024 */ lw $v0, 0x24($v0) +/* DAE6B8 802412B8 AE020028 */ sw $v0, 0x28($s0) +/* DAE6BC 802412BC A2200007 */ sb $zero, 7($s1) +/* DAE6C0 802412C0 8E020000 */ lw $v0, ($s0) +/* DAE6C4 802412C4 30420008 */ andi $v0, $v0, 8 +/* DAE6C8 802412C8 14400011 */ bnez $v0, .L80241310 +/* DAE6CC 802412CC 0000102D */ daddu $v0, $zero, $zero +/* DAE6D0 802412D0 27A50018 */ addiu $a1, $sp, 0x18 +/* DAE6D4 802412D4 27A6001C */ addiu $a2, $sp, 0x1c +/* DAE6D8 802412D8 C6000038 */ lwc1 $f0, 0x38($s0) +/* DAE6DC 802412DC C602003C */ lwc1 $f2, 0x3c($s0) +/* DAE6E0 802412E0 C6040040 */ lwc1 $f4, 0x40($s0) +/* DAE6E4 802412E4 3C01447A */ lui $at, 0x447a +/* DAE6E8 802412E8 44813000 */ mtc1 $at, $f6 +/* DAE6EC 802412EC 27A20024 */ addiu $v0, $sp, 0x24 +/* DAE6F0 802412F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DAE6F4 802412F4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DAE6F8 802412F8 E7A40020 */ swc1 $f4, 0x20($sp) +/* DAE6FC 802412FC E7A60024 */ swc1 $f6, 0x24($sp) +/* DAE700 80241300 AFA20010 */ sw $v0, 0x10($sp) +/* DAE704 80241304 8E040080 */ lw $a0, 0x80($s0) +/* DAE708 80241308 0C0372DF */ jal func_800DCB7C +/* DAE70C 8024130C 27A70020 */ addiu $a3, $sp, 0x20 +.L80241310: +/* DAE710 80241310 1040000B */ beqz $v0, .L80241340 +/* DAE714 80241314 00000000 */ nop +/* DAE718 80241318 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DAE71C 8024131C 46140080 */ add.s $f2, $f0, $f20 +/* DAE720 80241320 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAE724 80241324 4600103E */ c.le.s $f2, $f0 +/* DAE728 80241328 00000000 */ nop +/* DAE72C 8024132C 4500008D */ bc1f .L80241564 +/* DAE730 80241330 00000000 */ nop +/* DAE734 80241334 E602003C */ swc1 $f2, 0x3c($s0) +/* DAE738 80241338 08090559 */ j .L80241564 +/* DAE73C 8024133C AE400070 */ sw $zero, 0x70($s2) +.L80241340: +/* DAE740 80241340 C602003C */ lwc1 $f2, 0x3c($s0) +/* DAE744 80241344 C6000064 */ lwc1 $f0, 0x64($s0) +/* DAE748 80241348 4602003E */ c.le.s $f0, $f2 +/* DAE74C 8024134C 00000000 */ nop +/* DAE750 80241350 45030084 */ bc1tl .L80241564 +/* DAE754 80241354 AE400070 */ sw $zero, 0x70($s2) +/* DAE758 80241358 08090559 */ j .L80241564 +/* DAE75C 8024135C 00000000 */ nop +.L80241360: +/* DAE760 80241360 4622003C */ c.lt.d $f0, $f2 +/* DAE764 80241364 00000000 */ nop +/* DAE768 80241368 4500007E */ bc1f .L80241564 +/* DAE76C 8024136C 00000000 */ nop +/* DAE770 80241370 9602008E */ lhu $v0, 0x8e($s0) +/* DAE774 80241374 24420001 */ addiu $v0, $v0, 1 +/* DAE778 80241378 A602008E */ sh $v0, 0x8e($s0) +/* DAE77C 8024137C 00021400 */ sll $v0, $v0, 0x10 +/* DAE780 80241380 8E630020 */ lw $v1, 0x20($s3) +/* DAE784 80241384 00021403 */ sra $v0, $v0, 0x10 +/* DAE788 80241388 0043102A */ slt $v0, $v0, $v1 +/* DAE78C 8024138C 14400026 */ bnez $v0, .L80241428 +/* DAE790 80241390 00000000 */ nop +/* DAE794 80241394 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DAE798 80241398 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DAE79C 8024139C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DAE7A0 802413A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DAE7A4 802413A4 A600008E */ sh $zero, 0x8e($s0) +/* DAE7A8 802413A8 8C460028 */ lw $a2, 0x28($v0) +/* DAE7AC 802413AC 0C00A720 */ jal atan2 +/* DAE7B0 802413B0 8C470030 */ lw $a3, 0x30($v0) +/* DAE7B4 802413B4 46000506 */ mov.s $f20, $f0 +/* DAE7B8 802413B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* DAE7BC 802413BC 0C00A70A */ jal get_clamped_angle_diff +/* DAE7C0 802413C0 4600A386 */ mov.s $f14, $f20 +/* DAE7C4 802413C4 46000086 */ mov.s $f2, $f0 +/* DAE7C8 802413C8 8E62001C */ lw $v0, 0x1c($s3) +/* DAE7CC 802413CC 46001005 */ abs.s $f0, $f2 +/* DAE7D0 802413D0 44822000 */ mtc1 $v0, $f4 +/* DAE7D4 802413D4 00000000 */ nop +/* DAE7D8 802413D8 46802120 */ cvt.s.w $f4, $f4 +/* DAE7DC 802413DC 4600203C */ c.lt.s $f4, $f0 +/* DAE7E0 802413E0 00000000 */ nop +/* DAE7E4 802413E4 4500000D */ bc1f .L8024141C +/* DAE7E8 802413E8 00000000 */ nop +/* DAE7EC 802413EC 44800000 */ mtc1 $zero, $f0 +/* DAE7F0 802413F0 C614000C */ lwc1 $f20, 0xc($s0) +/* DAE7F4 802413F4 4600103C */ c.lt.s $f2, $f0 +/* DAE7F8 802413F8 00000000 */ nop +/* DAE7FC 802413FC 45000006 */ bc1f .L80241418 +/* DAE800 80241400 00021023 */ negu $v0, $v0 +/* DAE804 80241404 44820000 */ mtc1 $v0, $f0 +/* DAE808 80241408 00000000 */ nop +/* DAE80C 8024140C 46800020 */ cvt.s.w $f0, $f0 +/* DAE810 80241410 08090507 */ j .L8024141C +/* DAE814 80241414 4600A500 */ add.s $f20, $f20, $f0 +.L80241418: +/* DAE818 80241418 4604A500 */ add.s $f20, $f20, $f4 +.L8024141C: +/* DAE81C 8024141C 0C00A6C9 */ jal clamp_angle +/* DAE820 80241420 4600A306 */ mov.s $f12, $f20 +/* DAE824 80241424 E600000C */ swc1 $f0, 0xc($s0) +.L80241428: +/* DAE828 80241428 8E020000 */ lw $v0, ($s0) +/* DAE82C 8024142C 30420008 */ andi $v0, $v0, 8 +/* DAE830 80241430 1040000A */ beqz $v0, .L8024145C +/* DAE834 80241434 27A50018 */ addiu $a1, $sp, 0x18 +/* DAE838 80241438 C602003C */ lwc1 $f2, 0x3c($s0) +/* DAE83C 8024143C C600001C */ lwc1 $f0, 0x1c($s0) +/* DAE840 80241440 46001080 */ add.s $f2, $f2, $f0 +/* DAE844 80241444 4616103C */ c.lt.s $f2, $f22 +/* DAE848 80241448 00000000 */ nop +/* DAE84C 8024144C 45020045 */ bc1fl .L80241564 +/* DAE850 80241450 E602003C */ swc1 $f2, 0x3c($s0) +/* DAE854 80241454 08090558 */ j .L80241560 +/* DAE858 80241458 E616003C */ swc1 $f22, 0x3c($s0) +.L8024145C: +/* DAE85C 8024145C C6000038 */ lwc1 $f0, 0x38($s0) +/* DAE860 80241460 27A6001C */ addiu $a2, $sp, 0x1c +/* DAE864 80241464 E7A00018 */ swc1 $f0, 0x18($sp) +/* DAE868 80241468 860200A8 */ lh $v0, 0xa8($s0) +/* DAE86C 8024146C C600001C */ lwc1 $f0, 0x1c($s0) +/* DAE870 80241470 C604003C */ lwc1 $f4, 0x3c($s0) +/* DAE874 80241474 44821000 */ mtc1 $v0, $f2 +/* DAE878 80241478 00000000 */ nop +/* DAE87C 8024147C 468010A0 */ cvt.s.w $f2, $f2 +/* DAE880 80241480 46000005 */ abs.s $f0, $f0 +/* DAE884 80241484 46020000 */ add.s $f0, $f0, $f2 +/* DAE888 80241488 C6060040 */ lwc1 $f6, 0x40($s0) +/* DAE88C 8024148C 27A20024 */ addiu $v0, $sp, 0x24 +/* DAE890 80241490 46022100 */ add.s $f4, $f4, $f2 +/* DAE894 80241494 3C014024 */ lui $at, 0x4024 +/* DAE898 80241498 44811800 */ mtc1 $at, $f3 +/* DAE89C 8024149C 44801000 */ mtc1 $zero, $f2 +/* DAE8A0 802414A0 46000021 */ cvt.d.s $f0, $f0 +/* DAE8A4 802414A4 46220000 */ add.d $f0, $f0, $f2 +/* DAE8A8 802414A8 E7A60020 */ swc1 $f6, 0x20($sp) +/* DAE8AC 802414AC E7A4001C */ swc1 $f4, 0x1c($sp) +/* DAE8B0 802414B0 46200020 */ cvt.s.d $f0, $f0 +/* DAE8B4 802414B4 E7A00024 */ swc1 $f0, 0x24($sp) +/* DAE8B8 802414B8 AFA20010 */ sw $v0, 0x10($sp) +/* DAE8BC 802414BC 8E040080 */ lw $a0, 0x80($s0) +/* DAE8C0 802414C0 0C0372DF */ jal func_800DCB7C +/* DAE8C4 802414C4 27A70020 */ addiu $a3, $sp, 0x20 +/* DAE8C8 802414C8 10400015 */ beqz $v0, .L80241520 +/* DAE8CC 802414CC 00000000 */ nop +/* DAE8D0 802414D0 860200A8 */ lh $v0, 0xa8($s0) +/* DAE8D4 802414D4 C604001C */ lwc1 $f4, 0x1c($s0) +/* DAE8D8 802414D8 44820000 */ mtc1 $v0, $f0 +/* DAE8DC 802414DC 00000000 */ nop +/* DAE8E0 802414E0 46800020 */ cvt.s.w $f0, $f0 +/* DAE8E4 802414E4 46002085 */ abs.s $f2, $f4 +/* DAE8E8 802414E8 46020000 */ add.s $f0, $f0, $f2 +/* DAE8EC 802414EC C7A20024 */ lwc1 $f2, 0x24($sp) +/* DAE8F0 802414F0 4600103E */ c.le.s $f2, $f0 +/* DAE8F4 802414F4 00000000 */ nop +/* DAE8F8 802414F8 45000005 */ bc1f .L80241510 +/* DAE8FC 802414FC 00000000 */ nop +/* DAE900 80241500 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DAE904 80241504 AE00001C */ sw $zero, 0x1c($s0) +/* DAE908 80241508 08090559 */ j .L80241564 +/* DAE90C 8024150C E600003C */ swc1 $f0, 0x3c($s0) +.L80241510: +/* DAE910 80241510 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAE914 80241514 46040000 */ add.s $f0, $f0, $f4 +/* DAE918 80241518 08090559 */ j .L80241564 +/* DAE91C 8024151C E600003C */ swc1 $f0, 0x3c($s0) +.L80241520: +/* DAE920 80241520 C606003C */ lwc1 $f6, 0x3c($s0) +/* DAE924 80241524 860200A8 */ lh $v0, 0xa8($s0) +/* DAE928 80241528 46163081 */ sub.s $f2, $f6, $f22 +/* DAE92C 8024152C 44820000 */ mtc1 $v0, $f0 +/* DAE930 80241530 00000000 */ nop +/* DAE934 80241534 46800020 */ cvt.s.w $f0, $f0 +/* DAE938 80241538 46001080 */ add.s $f2, $f2, $f0 +/* DAE93C 8024153C C604001C */ lwc1 $f4, 0x1c($s0) +/* DAE940 80241540 46002005 */ abs.s $f0, $f4 +/* DAE944 80241544 4602003C */ c.lt.s $f0, $f2 +/* DAE948 80241548 00000000 */ nop +/* DAE94C 8024154C 45020005 */ bc1fl .L80241564 +/* DAE950 80241550 AE00001C */ sw $zero, 0x1c($s0) +/* DAE954 80241554 46043000 */ add.s $f0, $f6, $f4 +/* DAE958 80241558 08090559 */ j .L80241564 +/* DAE95C 8024155C E600003C */ swc1 $f0, 0x3c($s0) +.L80241560: +/* DAE960 80241560 AE00001C */ sw $zero, 0x1c($s0) +.L80241564: +/* DAE964 80241564 8FBF0038 */ lw $ra, 0x38($sp) +/* DAE968 80241568 8FB30034 */ lw $s3, 0x34($sp) +/* DAE96C 8024156C 8FB20030 */ lw $s2, 0x30($sp) +/* DAE970 80241570 8FB1002C */ lw $s1, 0x2c($sp) +/* DAE974 80241574 8FB00028 */ lw $s0, 0x28($sp) +/* DAE978 80241578 D7B60048 */ ldc1 $f22, 0x48($sp) +/* DAE97C 8024157C D7B40040 */ ldc1 $f20, 0x40($sp) +/* DAE980 80241580 03E00008 */ jr $ra +/* DAE984 80241584 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241588_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241588_DAD400.s new file mode 100644 index 0000000000..0c4ff321be --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241588_DAD400.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241588_DAE988 +/* DAE988 80241588 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DAE98C 8024158C AFB00028 */ sw $s0, 0x28($sp) +/* DAE990 80241590 00A0802D */ daddu $s0, $a1, $zero +/* DAE994 80241594 AFB1002C */ sw $s1, 0x2c($sp) +/* DAE998 80241598 00C0882D */ daddu $s1, $a2, $zero +/* DAE99C 8024159C AFBF0034 */ sw $ra, 0x34($sp) +/* DAE9A0 802415A0 AFB20030 */ sw $s2, 0x30($sp) +/* DAE9A4 802415A4 AE200070 */ sw $zero, 0x70($s1) +/* DAE9A8 802415A8 8C830000 */ lw $v1, ($a0) +/* DAE9AC 802415AC 2402FDFF */ addiu $v0, $zero, -0x201 +/* DAE9B0 802415B0 A480008E */ sh $zero, 0x8e($a0) +/* DAE9B4 802415B4 00621824 */ and $v1, $v1, $v0 +/* DAE9B8 802415B8 34650800 */ ori $a1, $v1, 0x800 +/* DAE9BC 802415BC AC850000 */ sw $a1, ($a0) +/* DAE9C0 802415C0 8E0200D0 */ lw $v0, 0xd0($s0) +/* DAE9C4 802415C4 8C420034 */ lw $v0, 0x34($v0) +/* DAE9C8 802415C8 10400003 */ beqz $v0, .L802415D8 +/* DAE9CC 802415CC 00E0902D */ daddu $s2, $a3, $zero +/* DAE9D0 802415D0 08090578 */ j .L802415E0 +/* DAE9D4 802415D4 34620808 */ ori $v0, $v1, 0x808 +.L802415D8: +/* DAE9D8 802415D8 2402FFF7 */ addiu $v0, $zero, -9 +/* DAE9DC 802415DC 00A21024 */ and $v0, $a1, $v0 +.L802415E0: +/* DAE9E0 802415E0 AC820000 */ sw $v0, ($a0) +/* DAE9E4 802415E4 27A20024 */ addiu $v0, $sp, 0x24 +/* DAE9E8 802415E8 27A50018 */ addiu $a1, $sp, 0x18 +/* DAE9EC 802415EC C4800038 */ lwc1 $f0, 0x38($a0) +/* DAE9F0 802415F0 C482003C */ lwc1 $f2, 0x3c($a0) +/* DAE9F4 802415F4 C4840040 */ lwc1 $f4, 0x40($a0) +/* DAE9F8 802415F8 3C01447A */ lui $at, 0x447a +/* DAE9FC 802415FC 44813000 */ mtc1 $at, $f6 +/* DAEA00 80241600 27A6001C */ addiu $a2, $sp, 0x1c +/* DAEA04 80241604 E7A00018 */ swc1 $f0, 0x18($sp) +/* DAEA08 80241608 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DAEA0C 8024160C E7A40020 */ swc1 $f4, 0x20($sp) +/* DAEA10 80241610 E7A60024 */ swc1 $f6, 0x24($sp) +/* DAEA14 80241614 AFA20010 */ sw $v0, 0x10($sp) +/* DAEA18 80241618 8C840080 */ lw $a0, 0x80($a0) +/* DAEA1C 8024161C 0C0372DF */ jal func_800DCB7C +/* DAEA20 80241620 27A70020 */ addiu $a3, $sp, 0x20 +/* DAEA24 80241624 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DAEA28 80241628 3C014059 */ lui $at, 0x4059 +/* DAEA2C 8024162C 44812800 */ mtc1 $at, $f5 +/* DAEA30 80241630 44802000 */ mtc1 $zero, $f4 +/* DAEA34 80241634 460010A1 */ cvt.d.s $f2, $f2 +/* DAEA38 80241638 46241082 */ mul.d $f2, $f2, $f4 +/* DAEA3C 8024163C 00000000 */ nop +/* DAEA40 80241640 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DAEA44 80241644 46000021 */ cvt.d.s $f0, $f0 +/* DAEA48 80241648 46240002 */ mul.d $f0, $f0, $f4 +/* DAEA4C 8024164C 00000000 */ nop +/* DAEA50 80241650 3C013FE0 */ lui $at, 0x3fe0 +/* DAEA54 80241654 44812800 */ mtc1 $at, $f5 +/* DAEA58 80241658 44802000 */ mtc1 $zero, $f4 +/* DAEA5C 8024165C 00000000 */ nop +/* DAEA60 80241660 46241080 */ add.d $f2, $f2, $f4 +/* DAEA64 80241664 AE000074 */ sw $zero, 0x74($s0) +/* DAEA68 80241668 46240000 */ add.d $f0, $f0, $f4 +/* DAEA6C 8024166C AE000090 */ sw $zero, 0x90($s0) +/* DAEA70 80241670 4620120D */ trunc.w.d $f8, $f2 +/* DAEA74 80241674 E6080078 */ swc1 $f8, 0x78($s0) +/* DAEA78 80241678 4620020D */ trunc.w.d $f8, $f0 +/* DAEA7C 8024167C E6080088 */ swc1 $f8, 0x88($s0) +/* DAEA80 80241680 8E420014 */ lw $v0, 0x14($s2) +/* DAEA84 80241684 AE220074 */ sw $v0, 0x74($s1) +/* DAEA88 80241688 8E0200B0 */ lw $v0, 0xb0($s0) +/* DAEA8C 8024168C 34420010 */ ori $v0, $v0, 0x10 +/* DAEA90 80241690 AE0200B0 */ sw $v0, 0xb0($s0) +/* DAEA94 80241694 8FBF0034 */ lw $ra, 0x34($sp) +/* DAEA98 80241698 8FB20030 */ lw $s2, 0x30($sp) +/* DAEA9C 8024169C 8FB1002C */ lw $s1, 0x2c($sp) +/* DAEAA0 802416A0 8FB00028 */ lw $s0, 0x28($sp) +/* DAEAA4 802416A4 03E00008 */ jr $ra +/* DAEAA8 802416A8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802416AC.s b/asm/nonmatchings/world/area_omo/omo_04/func_802416AC.s new file mode 100644 index 0000000000..4990aaaa48 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802416AC.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416AC +/* DAEAAC 802416AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DAEAB0 802416B0 AFB40040 */ sw $s4, 0x40($sp) +/* DAEAB4 802416B4 0080A02D */ daddu $s4, $a0, $zero +/* DAEAB8 802416B8 AFBF0048 */ sw $ra, 0x48($sp) +/* DAEABC 802416BC AFB50044 */ sw $s5, 0x44($sp) +/* DAEAC0 802416C0 AFB3003C */ sw $s3, 0x3c($sp) +/* DAEAC4 802416C4 AFB20038 */ sw $s2, 0x38($sp) +/* DAEAC8 802416C8 AFB10034 */ sw $s1, 0x34($sp) +/* DAEACC 802416CC AFB00030 */ sw $s0, 0x30($sp) +/* DAEAD0 802416D0 8E920148 */ lw $s2, 0x148($s4) +/* DAEAD4 802416D4 86440008 */ lh $a0, 8($s2) +/* DAEAD8 802416D8 8E90000C */ lw $s0, 0xc($s4) +/* DAEADC 802416DC 0C00EABB */ jal get_npc_unsafe +/* DAEAE0 802416E0 00A0882D */ daddu $s1, $a1, $zero +/* DAEAE4 802416E4 0280202D */ daddu $a0, $s4, $zero +/* DAEAE8 802416E8 8E050000 */ lw $a1, ($s0) +/* DAEAEC 802416EC 0C0B1EAF */ jal get_variable +/* DAEAF0 802416F0 0040A82D */ daddu $s5, $v0, $zero +/* DAEAF4 802416F4 AFA00010 */ sw $zero, 0x10($sp) +/* DAEAF8 802416F8 8E4300D0 */ lw $v1, 0xd0($s2) +/* DAEAFC 802416FC 8C630030 */ lw $v1, 0x30($v1) +/* DAEB00 80241700 AFA30014 */ sw $v1, 0x14($sp) +/* DAEB04 80241704 8E4300D0 */ lw $v1, 0xd0($s2) +/* DAEB08 80241708 8C63001C */ lw $v1, 0x1c($v1) +/* DAEB0C 8024170C AFA30018 */ sw $v1, 0x18($sp) +/* DAEB10 80241710 8E4300D0 */ lw $v1, 0xd0($s2) +/* DAEB14 80241714 8C630024 */ lw $v1, 0x24($v1) +/* DAEB18 80241718 AFA3001C */ sw $v1, 0x1c($sp) +/* DAEB1C 8024171C 8E4300D0 */ lw $v1, 0xd0($s2) +/* DAEB20 80241720 8C630028 */ lw $v1, 0x28($v1) +/* DAEB24 80241724 27B30010 */ addiu $s3, $sp, 0x10 +/* DAEB28 80241728 AFA30020 */ sw $v1, 0x20($sp) +/* DAEB2C 8024172C 8E4300D0 */ lw $v1, 0xd0($s2) +/* DAEB30 80241730 3C0142F0 */ lui $at, 0x42f0 +/* DAEB34 80241734 44810000 */ mtc1 $at, $f0 +/* DAEB38 80241738 8C63002C */ lw $v1, 0x2c($v1) +/* DAEB3C 8024173C 0040802D */ daddu $s0, $v0, $zero +/* DAEB40 80241740 E7A00028 */ swc1 $f0, 0x28($sp) +/* DAEB44 80241744 A7A0002C */ sh $zero, 0x2c($sp) +/* DAEB48 80241748 12200006 */ beqz $s1, .L80241764 +/* DAEB4C 8024174C AFA30024 */ sw $v1, 0x24($sp) +/* DAEB50 80241750 02A0202D */ daddu $a0, $s5, $zero +/* DAEB54 80241754 0240282D */ daddu $a1, $s2, $zero +/* DAEB58 80241758 0280302D */ daddu $a2, $s4, $zero +/* DAEB5C 8024175C 0C090562 */ jal func_80241588 +/* DAEB60 80241760 0200382D */ daddu $a3, $s0, $zero +.L80241764: +/* DAEB64 80241764 2402FFFE */ addiu $v0, $zero, -2 +/* DAEB68 80241768 A2A200AB */ sb $v0, 0xab($s5) +/* DAEB6C 8024176C 8E4300B0 */ lw $v1, 0xb0($s2) +/* DAEB70 80241770 30620004 */ andi $v0, $v1, 4 +/* DAEB74 80241774 10400007 */ beqz $v0, .L80241794 +/* DAEB78 80241778 00000000 */ nop +/* DAEB7C 8024177C 824200B4 */ lb $v0, 0xb4($s2) +/* DAEB80 80241780 1440003C */ bnez $v0, .L80241874 +/* DAEB84 80241784 0000102D */ daddu $v0, $zero, $zero +/* DAEB88 80241788 2402FFFB */ addiu $v0, $zero, -5 +/* DAEB8C 8024178C 00621024 */ and $v0, $v1, $v0 +/* DAEB90 80241790 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241794: +/* DAEB94 80241794 8E830070 */ lw $v1, 0x70($s4) +/* DAEB98 80241798 2C62000F */ sltiu $v0, $v1, 0xf +/* DAEB9C 8024179C 10400034 */ beqz $v0, .L80241870 +/* DAEBA0 802417A0 00031080 */ sll $v0, $v1, 2 +/* DAEBA4 802417A4 3C018024 */ lui $at, 0x8024 +/* DAEBA8 802417A8 00220821 */ addu $at, $at, $v0 +/* DAEBAC 802417AC 8C224CC8 */ lw $v0, 0x4cc8($at) +/* DAEBB0 802417B0 00400008 */ jr $v0 +/* DAEBB4 802417B4 00000000 */ nop +/* DAEBB8 802417B8 0280202D */ daddu $a0, $s4, $zero +/* DAEBBC 802417BC 0200282D */ daddu $a1, $s0, $zero +/* DAEBC0 802417C0 0C0900E8 */ jal func_802403A0 +/* DAEBC4 802417C4 0260302D */ daddu $a2, $s3, $zero +/* DAEBC8 802417C8 0280202D */ daddu $a0, $s4, $zero +/* DAEBCC 802417CC 0200282D */ daddu $a1, $s0, $zero +/* DAEBD0 802417D0 0C090154 */ jal func_80240550 +/* DAEBD4 802417D4 0260302D */ daddu $a2, $s3, $zero +/* DAEBD8 802417D8 0809061D */ j .L80241874 +/* DAEBDC 802417DC 0000102D */ daddu $v0, $zero, $zero +/* DAEBE0 802417E0 0280202D */ daddu $a0, $s4, $zero +/* DAEBE4 802417E4 0200282D */ daddu $a1, $s0, $zero +/* DAEBE8 802417E8 0C0902DE */ jal func_80240B78 +/* DAEBEC 802417EC 0260302D */ daddu $a2, $s3, $zero +/* DAEBF0 802417F0 0280202D */ daddu $a0, $s4, $zero +/* DAEBF4 802417F4 0200282D */ daddu $a1, $s0, $zero +/* DAEBF8 802417F8 0C09030E */ jal func_80240C38 +/* DAEBFC 802417FC 0260302D */ daddu $a2, $s3, $zero +/* DAEC00 80241800 0809061D */ j .L80241874 +/* DAEC04 80241804 0000102D */ daddu $v0, $zero, $zero +/* DAEC08 80241808 0280202D */ daddu $a0, $s4, $zero +/* DAEC0C 8024180C 0200282D */ daddu $a1, $s0, $zero +/* DAEC10 80241810 0C0903DF */ jal func_80240F7C +/* DAEC14 80241814 0260302D */ daddu $a2, $s3, $zero +/* DAEC18 80241818 0280202D */ daddu $a0, $s4, $zero +/* DAEC1C 8024181C 0200282D */ daddu $a1, $s0, $zero +/* DAEC20 80241820 0C0903FD */ jal func_80240FF4 +/* DAEC24 80241824 0260302D */ daddu $a2, $s3, $zero +/* DAEC28 80241828 0809061D */ j .L80241874 +/* DAEC2C 8024182C 0000102D */ daddu $v0, $zero, $zero +/* DAEC30 80241830 0280202D */ daddu $a0, $s4, $zero +/* DAEC34 80241834 0200282D */ daddu $a1, $s0, $zero +/* DAEC38 80241838 0C090418 */ jal func_80241060 +/* DAEC3C 8024183C 0260302D */ daddu $a2, $s3, $zero +/* DAEC40 80241840 0809061D */ j .L80241874 +/* DAEC44 80241844 0000102D */ daddu $v0, $zero, $zero +/* DAEC48 80241848 0280202D */ daddu $a0, $s4, $zero +/* DAEC4C 8024184C 0200282D */ daddu $a1, $s0, $zero +/* DAEC50 80241850 0C090465 */ jal func_80241194 +/* DAEC54 80241854 0260302D */ daddu $a2, $s3, $zero +/* DAEC58 80241858 0809061D */ j .L80241874 +/* DAEC5C 8024185C 0000102D */ daddu $v0, $zero, $zero +/* DAEC60 80241860 0280202D */ daddu $a0, $s4, $zero +/* DAEC64 80241864 0200282D */ daddu $a1, $s0, $zero +/* DAEC68 80241868 0C09047E */ jal func_802411F8 +/* DAEC6C 8024186C 0260302D */ daddu $a2, $s3, $zero +.L80241870: +/* DAEC70 80241870 0000102D */ daddu $v0, $zero, $zero +.L80241874: +/* DAEC74 80241874 8FBF0048 */ lw $ra, 0x48($sp) +/* DAEC78 80241878 8FB50044 */ lw $s5, 0x44($sp) +/* DAEC7C 8024187C 8FB40040 */ lw $s4, 0x40($sp) +/* DAEC80 80241880 8FB3003C */ lw $s3, 0x3c($sp) +/* DAEC84 80241884 8FB20038 */ lw $s2, 0x38($sp) +/* DAEC88 80241888 8FB10034 */ lw $s1, 0x34($sp) +/* DAEC8C 8024188C 8FB00030 */ lw $s0, 0x30($sp) +/* DAEC90 80241890 03E00008 */ jr $ra +/* DAEC94 80241894 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241898_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241898_DAD400.s new file mode 100644 index 0000000000..b56d58032a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241898_DAD400.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898_DAEC98 +/* DAEC98 80241898 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAEC9C 8024189C AFB10014 */ sw $s1, 0x14($sp) +/* DAECA0 802418A0 0080882D */ daddu $s1, $a0, $zero +/* DAECA4 802418A4 AFBF0018 */ sw $ra, 0x18($sp) +/* DAECA8 802418A8 AFB00010 */ sw $s0, 0x10($sp) +/* DAECAC 802418AC 8E300148 */ lw $s0, 0x148($s1) +/* DAECB0 802418B0 0C00EABB */ jal get_npc_unsafe +/* DAECB4 802418B4 86040008 */ lh $a0, 8($s0) +/* DAECB8 802418B8 C4400018 */ lwc1 $f0, 0x18($v0) +/* DAECBC 802418BC 3C018024 */ lui $at, 0x8024 +/* DAECC0 802418C0 D4224D08 */ ldc1 $f2, 0x4d08($at) +/* DAECC4 802418C4 46000021 */ cvt.d.s $f0, $f0 +/* DAECC8 802418C8 46220002 */ mul.d $f0, $f0, $f2 +/* DAECCC 802418CC 00000000 */ nop +/* DAECD0 802418D0 46200020 */ cvt.s.d $f0, $f0 +/* DAECD4 802418D4 E4400018 */ swc1 $f0, 0x18($v0) +/* DAECD8 802418D8 8E0300CC */ lw $v1, 0xcc($s0) +/* DAECDC 802418DC 8C640030 */ lw $a0, 0x30($v1) +/* DAECE0 802418E0 24030005 */ addiu $v1, $zero, 5 +/* DAECE4 802418E4 A443008E */ sh $v1, 0x8e($v0) +/* DAECE8 802418E8 AC440028 */ sw $a0, 0x28($v0) +/* DAECEC 802418EC 2402000F */ addiu $v0, $zero, 0xf +/* DAECF0 802418F0 AE220070 */ sw $v0, 0x70($s1) +/* DAECF4 802418F4 8FBF0018 */ lw $ra, 0x18($sp) +/* DAECF8 802418F8 8FB10014 */ lw $s1, 0x14($sp) +/* DAECFC 802418FC 8FB00010 */ lw $s0, 0x10($sp) +/* DAED00 80241900 03E00008 */ jr $ra +/* DAED04 80241904 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241908.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241908.s new file mode 100644 index 0000000000..a3bb0a4310 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241908.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241908 +/* DAED08 80241908 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DAED0C 8024190C AFB20028 */ sw $s2, 0x28($sp) +/* DAED10 80241910 0080902D */ daddu $s2, $a0, $zero +/* DAED14 80241914 AFBF002C */ sw $ra, 0x2c($sp) +/* DAED18 80241918 AFB10024 */ sw $s1, 0x24($sp) +/* DAED1C 8024191C AFB00020 */ sw $s0, 0x20($sp) +/* DAED20 80241920 8E510148 */ lw $s1, 0x148($s2) +/* DAED24 80241924 0C00EABB */ jal get_npc_unsafe +/* DAED28 80241928 86240008 */ lh $a0, 8($s1) +/* DAED2C 8024192C 0040802D */ daddu $s0, $v0, $zero +/* DAED30 80241930 0200202D */ daddu $a0, $s0, $zero +/* DAED34 80241934 C600000C */ lwc1 $f0, 0xc($s0) +/* DAED38 80241938 27A60018 */ addiu $a2, $sp, 0x18 +/* DAED3C 8024193C E7A00018 */ swc1 $f0, 0x18($sp) +/* DAED40 80241940 AFA00010 */ sw $zero, 0x10($sp) +/* DAED44 80241944 AFA00014 */ sw $zero, 0x14($sp) +/* DAED48 80241948 8E050018 */ lw $a1, 0x18($s0) +/* DAED4C 8024194C 0C0129E1 */ jal func_8004A784 +/* DAED50 80241950 0000382D */ daddu $a3, $zero, $zero +/* DAED54 80241954 14400005 */ bnez $v0, .L8024196C +/* DAED58 80241958 00000000 */ nop +/* DAED5C 8024195C 8E050018 */ lw $a1, 0x18($s0) +/* DAED60 80241960 8E06000C */ lw $a2, 0xc($s0) +/* DAED64 80241964 0C00EA95 */ jal npc_move_heading +/* DAED68 80241968 0200202D */ daddu $a0, $s0, $zero +.L8024196C: +/* DAED6C 8024196C 9602008E */ lhu $v0, 0x8e($s0) +/* DAED70 80241970 2442FFFF */ addiu $v0, $v0, -1 +/* DAED74 80241974 A602008E */ sh $v0, 0x8e($s0) +/* DAED78 80241978 00021400 */ sll $v0, $v0, 0x10 +/* DAED7C 8024197C 14400010 */ bnez $v0, .L802419C0 +/* DAED80 80241980 00000000 */ nop +/* DAED84 80241984 C6000018 */ lwc1 $f0, 0x18($s0) +/* DAED88 80241988 3C018024 */ lui $at, 0x8024 +/* DAED8C 8024198C D4224D10 */ ldc1 $f2, 0x4d10($at) +/* DAED90 80241990 46000021 */ cvt.d.s $f0, $f0 +/* DAED94 80241994 46220002 */ mul.d $f0, $f0, $f2 +/* DAED98 80241998 00000000 */ nop +/* DAED9C 8024199C 46200020 */ cvt.s.d $f0, $f0 +/* DAEDA0 802419A0 E6000018 */ swc1 $f0, 0x18($s0) +/* DAEDA4 802419A4 8E2200CC */ lw $v0, 0xcc($s1) +/* DAEDA8 802419A8 8C43002C */ lw $v1, 0x2c($v0) +/* DAEDAC 802419AC 2402000A */ addiu $v0, $zero, 0xa +/* DAEDB0 802419B0 A602008E */ sh $v0, 0x8e($s0) +/* DAEDB4 802419B4 24020010 */ addiu $v0, $zero, 0x10 +/* DAEDB8 802419B8 AE030028 */ sw $v1, 0x28($s0) +/* DAEDBC 802419BC AE420070 */ sw $v0, 0x70($s2) +.L802419C0: +/* DAEDC0 802419C0 8FBF002C */ lw $ra, 0x2c($sp) +/* DAEDC4 802419C4 8FB20028 */ lw $s2, 0x28($sp) +/* DAEDC8 802419C8 8FB10024 */ lw $s1, 0x24($sp) +/* DAEDCC 802419CC 8FB00020 */ lw $s0, 0x20($sp) +/* DAEDD0 802419D0 03E00008 */ jr $ra +/* DAEDD4 802419D4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_802419D8_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_802419D8_DAD400.s new file mode 100644 index 0000000000..658eb49c1b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_802419D8_DAD400.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419D8_DAEDD8 +/* DAEDD8 802419D8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DAEDDC 802419DC AFB10024 */ sw $s1, 0x24($sp) +/* DAEDE0 802419E0 0080882D */ daddu $s1, $a0, $zero +/* DAEDE4 802419E4 AFBF0028 */ sw $ra, 0x28($sp) +/* DAEDE8 802419E8 AFB00020 */ sw $s0, 0x20($sp) +/* DAEDEC 802419EC 8E220148 */ lw $v0, 0x148($s1) +/* DAEDF0 802419F0 0C00EABB */ jal get_npc_unsafe +/* DAEDF4 802419F4 84440008 */ lh $a0, 8($v0) +/* DAEDF8 802419F8 0040802D */ daddu $s0, $v0, $zero +/* DAEDFC 802419FC 0200202D */ daddu $a0, $s0, $zero +/* DAEE00 80241A00 C600000C */ lwc1 $f0, 0xc($s0) +/* DAEE04 80241A04 27A60018 */ addiu $a2, $sp, 0x18 +/* DAEE08 80241A08 E7A00018 */ swc1 $f0, 0x18($sp) +/* DAEE0C 80241A0C AFA00010 */ sw $zero, 0x10($sp) +/* DAEE10 80241A10 AFA00014 */ sw $zero, 0x14($sp) +/* DAEE14 80241A14 8E050018 */ lw $a1, 0x18($s0) +/* DAEE18 80241A18 0C0129E1 */ jal func_8004A784 +/* DAEE1C 80241A1C 0000382D */ daddu $a3, $zero, $zero +/* DAEE20 80241A20 14400005 */ bnez $v0, .L80241A38 +/* DAEE24 80241A24 00000000 */ nop +/* DAEE28 80241A28 8E050018 */ lw $a1, 0x18($s0) +/* DAEE2C 80241A2C 8E06000C */ lw $a2, 0xc($s0) +/* DAEE30 80241A30 0C00EA95 */ jal npc_move_heading +/* DAEE34 80241A34 0200202D */ daddu $a0, $s0, $zero +.L80241A38: +/* DAEE38 80241A38 9602008E */ lhu $v0, 0x8e($s0) +/* DAEE3C 80241A3C 2442FFFF */ addiu $v0, $v0, -1 +/* DAEE40 80241A40 A602008E */ sh $v0, 0x8e($s0) +/* DAEE44 80241A44 00021400 */ sll $v0, $v0, 0x10 +/* DAEE48 80241A48 14400004 */ bnez $v0, .L80241A5C +/* DAEE4C 80241A4C 2402001E */ addiu $v0, $zero, 0x1e +/* DAEE50 80241A50 A602008E */ sh $v0, 0x8e($s0) +/* DAEE54 80241A54 24020011 */ addiu $v0, $zero, 0x11 +/* DAEE58 80241A58 AE220070 */ sw $v0, 0x70($s1) +.L80241A5C: +/* DAEE5C 80241A5C 8FBF0028 */ lw $ra, 0x28($sp) +/* DAEE60 80241A60 8FB10024 */ lw $s1, 0x24($sp) +/* DAEE64 80241A64 8FB00020 */ lw $s0, 0x20($sp) +/* DAEE68 80241A68 03E00008 */ jr $ra +/* DAEE6C 80241A6C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241A70.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241A70.s new file mode 100644 index 0000000000..8aac496e68 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241A70.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A70 +/* DAEE70 80241A70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DAEE74 80241A74 AFB10014 */ sw $s1, 0x14($sp) +/* DAEE78 80241A78 0080882D */ daddu $s1, $a0, $zero +/* DAEE7C 80241A7C AFBF0018 */ sw $ra, 0x18($sp) +/* DAEE80 80241A80 AFB00010 */ sw $s0, 0x10($sp) +/* DAEE84 80241A84 8E300148 */ lw $s0, 0x148($s1) +/* DAEE88 80241A88 0C00EABB */ jal get_npc_unsafe +/* DAEE8C 80241A8C 86040008 */ lh $a0, 8($s0) +/* DAEE90 80241A90 0040182D */ daddu $v1, $v0, $zero +/* DAEE94 80241A94 9462008E */ lhu $v0, 0x8e($v1) +/* DAEE98 80241A98 2442FFFF */ addiu $v0, $v0, -1 +/* DAEE9C 80241A9C A462008E */ sh $v0, 0x8e($v1) +/* DAEEA0 80241AA0 00021400 */ sll $v0, $v0, 0x10 +/* DAEEA4 80241AA4 14400005 */ bnez $v0, .L80241ABC +/* DAEEA8 80241AA8 00000000 */ nop +/* DAEEAC 80241AAC 8E0200CC */ lw $v0, 0xcc($s0) +/* DAEEB0 80241AB0 8C420000 */ lw $v0, ($v0) +/* DAEEB4 80241AB4 AC620028 */ sw $v0, 0x28($v1) +/* DAEEB8 80241AB8 AE200070 */ sw $zero, 0x70($s1) +.L80241ABC: +/* DAEEBC 80241ABC 8FBF0018 */ lw $ra, 0x18($sp) +/* DAEEC0 80241AC0 8FB10014 */ lw $s1, 0x14($sp) +/* DAEEC4 80241AC4 8FB00010 */ lw $s0, 0x10($sp) +/* DAEEC8 80241AC8 03E00008 */ jr $ra +/* DAEECC 80241ACC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241AD0_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241AD0_DAD400.s new file mode 100644 index 0000000000..fc0646ac05 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241AD0_DAD400.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AD0_DAEED0 +/* DAEED0 80241AD0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DAEED4 80241AD4 AFB30054 */ sw $s3, 0x54($sp) +/* DAEED8 80241AD8 0080982D */ daddu $s3, $a0, $zero +/* DAEEDC 80241ADC AFBF0060 */ sw $ra, 0x60($sp) +/* DAEEE0 80241AE0 AFB5005C */ sw $s5, 0x5c($sp) +/* DAEEE4 80241AE4 AFB40058 */ sw $s4, 0x58($sp) +/* DAEEE8 80241AE8 AFB20050 */ sw $s2, 0x50($sp) +/* DAEEEC 80241AEC AFB1004C */ sw $s1, 0x4c($sp) +/* DAEEF0 80241AF0 AFB00048 */ sw $s0, 0x48($sp) +/* DAEEF4 80241AF4 8E710148 */ lw $s1, 0x148($s3) +/* DAEEF8 80241AF8 86240008 */ lh $a0, 8($s1) +/* DAEEFC 80241AFC 0C00EABB */ jal get_npc_unsafe +/* DAEF00 80241B00 00A0802D */ daddu $s0, $a1, $zero +/* DAEF04 80241B04 8E63000C */ lw $v1, 0xc($s3) +/* DAEF08 80241B08 0260202D */ daddu $a0, $s3, $zero +/* DAEF0C 80241B0C 8C650000 */ lw $a1, ($v1) +/* DAEF10 80241B10 0C0B1EAF */ jal get_variable +/* DAEF14 80241B14 0040902D */ daddu $s2, $v0, $zero +/* DAEF18 80241B18 AFA00018 */ sw $zero, 0x18($sp) +/* DAEF1C 80241B1C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAEF20 80241B20 8C630030 */ lw $v1, 0x30($v1) +/* DAEF24 80241B24 AFA3001C */ sw $v1, 0x1c($sp) +/* DAEF28 80241B28 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAEF2C 80241B2C 8C63001C */ lw $v1, 0x1c($v1) +/* DAEF30 80241B30 AFA30020 */ sw $v1, 0x20($sp) +/* DAEF34 80241B34 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAEF38 80241B38 8C630024 */ lw $v1, 0x24($v1) +/* DAEF3C 80241B3C AFA30024 */ sw $v1, 0x24($sp) +/* DAEF40 80241B40 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAEF44 80241B44 8C630028 */ lw $v1, 0x28($v1) +/* DAEF48 80241B48 27B50018 */ addiu $s5, $sp, 0x18 +/* DAEF4C 80241B4C AFA30028 */ sw $v1, 0x28($sp) +/* DAEF50 80241B50 8E2300D0 */ lw $v1, 0xd0($s1) +/* DAEF54 80241B54 3C014282 */ lui $at, 0x4282 +/* DAEF58 80241B58 44810000 */ mtc1 $at, $f0 +/* DAEF5C 80241B5C 8C63002C */ lw $v1, 0x2c($v1) +/* DAEF60 80241B60 0040A02D */ daddu $s4, $v0, $zero +/* DAEF64 80241B64 E7A00030 */ swc1 $f0, 0x30($sp) +/* DAEF68 80241B68 A7A00034 */ sh $zero, 0x34($sp) +/* DAEF6C 80241B6C 16000005 */ bnez $s0, .L80241B84 +/* DAEF70 80241B70 AFA3002C */ sw $v1, 0x2c($sp) +/* DAEF74 80241B74 8E2200B0 */ lw $v0, 0xb0($s1) +/* DAEF78 80241B78 30420004 */ andi $v0, $v0, 4 +/* DAEF7C 80241B7C 10400044 */ beqz $v0, .L80241C90 +/* DAEF80 80241B80 00000000 */ nop +.L80241B84: +/* DAEF84 80241B84 2404F7FF */ addiu $a0, $zero, -0x801 +/* DAEF88 80241B88 AE600070 */ sw $zero, 0x70($s3) +/* DAEF8C 80241B8C A640008E */ sh $zero, 0x8e($s2) +/* DAEF90 80241B90 8E2200CC */ lw $v0, 0xcc($s1) +/* DAEF94 80241B94 8E430000 */ lw $v1, ($s2) +/* DAEF98 80241B98 8C420000 */ lw $v0, ($v0) +/* DAEF9C 80241B9C 00641824 */ and $v1, $v1, $a0 +/* DAEFA0 80241BA0 AE430000 */ sw $v1, ($s2) +/* DAEFA4 80241BA4 AE420028 */ sw $v0, 0x28($s2) +/* DAEFA8 80241BA8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DAEFAC 80241BAC 8C420034 */ lw $v0, 0x34($v0) +/* DAEFB0 80241BB0 54400005 */ bnel $v0, $zero, .L80241BC8 +/* DAEFB4 80241BB4 2402FDFF */ addiu $v0, $zero, -0x201 +/* DAEFB8 80241BB8 34620200 */ ori $v0, $v1, 0x200 +/* DAEFBC 80241BBC 2403FFF7 */ addiu $v1, $zero, -9 +/* DAEFC0 80241BC0 080906F4 */ j .L80241BD0 +/* DAEFC4 80241BC4 00431024 */ and $v0, $v0, $v1 +.L80241BC8: +/* DAEFC8 80241BC8 00621024 */ and $v0, $v1, $v0 +/* DAEFCC 80241BCC 34420008 */ ori $v0, $v0, 8 +.L80241BD0: +/* DAEFD0 80241BD0 AE420000 */ sw $v0, ($s2) +/* DAEFD4 80241BD4 8E2200B0 */ lw $v0, 0xb0($s1) +/* DAEFD8 80241BD8 30420004 */ andi $v0, $v0, 4 +/* DAEFDC 80241BDC 10400004 */ beqz $v0, .L80241BF0 +/* DAEFE0 80241BE0 24020063 */ addiu $v0, $zero, 0x63 +/* DAEFE4 80241BE4 AE620070 */ sw $v0, 0x70($s3) +/* DAEFE8 80241BE8 08090702 */ j .L80241C08 +/* DAEFEC 80241BEC AE600074 */ sw $zero, 0x74($s3) +.L80241BF0: +/* DAEFF0 80241BF0 8E220000 */ lw $v0, ($s1) +/* DAEFF4 80241BF4 3C034000 */ lui $v1, 0x4000 +/* DAEFF8 80241BF8 00431024 */ and $v0, $v0, $v1 +/* DAEFFC 80241BFC 10400002 */ beqz $v0, .L80241C08 +/* DAF000 80241C00 2402000C */ addiu $v0, $zero, 0xc +/* DAF004 80241C04 AE620070 */ sw $v0, 0x70($s3) +.L80241C08: +/* DAF008 80241C08 3C06BFFF */ lui $a2, 0xbfff +/* DAF00C 80241C0C 34C6FFFF */ ori $a2, $a2, 0xffff +/* DAF010 80241C10 27A50038 */ addiu $a1, $sp, 0x38 +/* DAF014 80241C14 2404FFFB */ addiu $a0, $zero, -5 +/* DAF018 80241C18 8E2200B0 */ lw $v0, 0xb0($s1) +/* DAF01C 80241C1C 8E230000 */ lw $v1, ($s1) +/* DAF020 80241C20 3C0142C8 */ lui $at, 0x42c8 +/* DAF024 80241C24 44810000 */ mtc1 $at, $f0 +/* DAF028 80241C28 00441024 */ and $v0, $v0, $a0 +/* DAF02C 80241C2C 00661824 */ and $v1, $v1, $a2 +/* DAF030 80241C30 AE2200B0 */ sw $v0, 0xb0($s1) +/* DAF034 80241C34 AE230000 */ sw $v1, ($s1) +/* DAF038 80241C38 864200A8 */ lh $v0, 0xa8($s2) +/* DAF03C 80241C3C 27A70040 */ addiu $a3, $sp, 0x40 +/* DAF040 80241C40 E7A00044 */ swc1 $f0, 0x44($sp) +/* DAF044 80241C44 C6460038 */ lwc1 $f6, 0x38($s2) +/* DAF048 80241C48 C640003C */ lwc1 $f0, 0x3c($s2) +/* DAF04C 80241C4C C6420040 */ lwc1 $f2, 0x40($s2) +/* DAF050 80241C50 44822000 */ mtc1 $v0, $f4 +/* DAF054 80241C54 00000000 */ nop +/* DAF058 80241C58 46802120 */ cvt.s.w $f4, $f4 +/* DAF05C 80241C5C 27A20044 */ addiu $v0, $sp, 0x44 +/* DAF060 80241C60 46040000 */ add.s $f0, $f0, $f4 +/* DAF064 80241C64 E7A60038 */ swc1 $f6, 0x38($sp) +/* DAF068 80241C68 E7A20040 */ swc1 $f2, 0x40($sp) +/* DAF06C 80241C6C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DAF070 80241C70 AFA20010 */ sw $v0, 0x10($sp) +/* DAF074 80241C74 8E440080 */ lw $a0, 0x80($s2) +/* DAF078 80241C78 0C0372DF */ jal func_800DCB7C +/* DAF07C 80241C7C 27A6003C */ addiu $a2, $sp, 0x3c +/* DAF080 80241C80 10400003 */ beqz $v0, .L80241C90 +/* DAF084 80241C84 00000000 */ nop +/* DAF088 80241C88 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DAF08C 80241C8C E640003C */ swc1 $f0, 0x3c($s2) +.L80241C90: +/* DAF090 80241C90 8E630070 */ lw $v1, 0x70($s3) +/* DAF094 80241C94 2C620064 */ sltiu $v0, $v1, 0x64 +/* DAF098 80241C98 10400050 */ beqz $v0, .L80241DDC +/* DAF09C 80241C9C 00031080 */ sll $v0, $v1, 2 +/* DAF0A0 80241CA0 3C018024 */ lui $at, 0x8024 +/* DAF0A4 80241CA4 00220821 */ addu $at, $at, $v0 +/* DAF0A8 80241CA8 8C224D18 */ lw $v0, 0x4d18($at) +/* DAF0AC 80241CAC 00400008 */ jr $v0 +/* DAF0B0 80241CB0 00000000 */ nop +/* DAF0B4 80241CB4 0260202D */ daddu $a0, $s3, $zero +/* DAF0B8 80241CB8 0280282D */ daddu $a1, $s4, $zero +/* DAF0BC 80241CBC 0C012568 */ jal func_800495A0 +/* DAF0C0 80241CC0 02A0302D */ daddu $a2, $s5, $zero +/* DAF0C4 80241CC4 0260202D */ daddu $a0, $s3, $zero +/* DAF0C8 80241CC8 0280282D */ daddu $a1, $s4, $zero +/* DAF0CC 80241CCC 0C0125AE */ jal func_800496B8 +/* DAF0D0 80241CD0 02A0302D */ daddu $a2, $s5, $zero +/* DAF0D4 80241CD4 08090777 */ j .L80241DDC +/* DAF0D8 80241CD8 00000000 */ nop +/* DAF0DC 80241CDC 0260202D */ daddu $a0, $s3, $zero +/* DAF0E0 80241CE0 0280282D */ daddu $a1, $s4, $zero +/* DAF0E4 80241CE4 0C0126D1 */ jal func_80049B44 +/* DAF0E8 80241CE8 02A0302D */ daddu $a2, $s5, $zero +/* DAF0EC 80241CEC 0260202D */ daddu $a0, $s3, $zero +/* DAF0F0 80241CF0 0280282D */ daddu $a1, $s4, $zero +/* DAF0F4 80241CF4 0C012701 */ jal func_80049C04 +/* DAF0F8 80241CF8 02A0302D */ daddu $a2, $s5, $zero +/* DAF0FC 80241CFC 08090777 */ j .L80241DDC +/* DAF100 80241D00 00000000 */ nop +/* DAF104 80241D04 0260202D */ daddu $a0, $s3, $zero +/* DAF108 80241D08 0280282D */ daddu $a1, $s4, $zero +/* DAF10C 80241D0C 0C01278F */ jal func_80049E3C +/* DAF110 80241D10 02A0302D */ daddu $a2, $s5, $zero +/* DAF114 80241D14 0260202D */ daddu $a0, $s3, $zero +/* DAF118 80241D18 0280282D */ daddu $a1, $s4, $zero +/* DAF11C 80241D1C 0C0127B3 */ jal func_80049ECC +/* DAF120 80241D20 02A0302D */ daddu $a2, $s5, $zero +/* DAF124 80241D24 08090777 */ j .L80241DDC +/* DAF128 80241D28 00000000 */ nop +/* DAF12C 80241D2C 0260202D */ daddu $a0, $s3, $zero +/* DAF130 80241D30 0280282D */ daddu $a1, $s4, $zero +/* DAF134 80241D34 0C0127DF */ jal func_80049F7C +/* DAF138 80241D38 02A0302D */ daddu $a2, $s5, $zero +/* DAF13C 80241D3C 0260202D */ daddu $a0, $s3, $zero +/* DAF140 80241D40 0280282D */ daddu $a1, $s4, $zero +/* DAF144 80241D44 0C012849 */ jal func_8004A124 +/* DAF148 80241D48 02A0302D */ daddu $a2, $s5, $zero +/* DAF14C 80241D4C 8E630070 */ lw $v1, 0x70($s3) +/* DAF150 80241D50 2402000E */ addiu $v0, $zero, 0xe +/* DAF154 80241D54 14620021 */ bne $v1, $v0, .L80241DDC +/* DAF158 80241D58 00000000 */ nop +/* DAF15C 80241D5C 0260202D */ daddu $a0, $s3, $zero +/* DAF160 80241D60 0280282D */ daddu $a1, $s4, $zero +/* DAF164 80241D64 0C090626 */ jal func_80241898 +/* DAF168 80241D68 02A0302D */ daddu $a2, $s5, $zero +/* DAF16C 80241D6C 8E630070 */ lw $v1, 0x70($s3) +/* DAF170 80241D70 2402000F */ addiu $v0, $zero, 0xf +/* DAF174 80241D74 14620019 */ bne $v1, $v0, .L80241DDC +/* DAF178 80241D78 00000000 */ nop +/* DAF17C 80241D7C 0260202D */ daddu $a0, $s3, $zero +/* DAF180 80241D80 0280282D */ daddu $a1, $s4, $zero +/* DAF184 80241D84 0C090642 */ jal func_80241908 +/* DAF188 80241D88 02A0302D */ daddu $a2, $s5, $zero +/* DAF18C 80241D8C 8E630070 */ lw $v1, 0x70($s3) +/* DAF190 80241D90 24020010 */ addiu $v0, $zero, 0x10 +/* DAF194 80241D94 14620011 */ bne $v1, $v0, .L80241DDC +/* DAF198 80241D98 00000000 */ nop +/* DAF19C 80241D9C 0260202D */ daddu $a0, $s3, $zero +/* DAF1A0 80241DA0 0280282D */ daddu $a1, $s4, $zero +/* DAF1A4 80241DA4 0C090676 */ jal func_802419D8 +/* DAF1A8 80241DA8 02A0302D */ daddu $a2, $s5, $zero +/* DAF1AC 80241DAC 8E630070 */ lw $v1, 0x70($s3) +/* DAF1B0 80241DB0 24020011 */ addiu $v0, $zero, 0x11 +/* DAF1B4 80241DB4 14620009 */ bne $v1, $v0, .L80241DDC +/* DAF1B8 80241DB8 00000000 */ nop +/* DAF1BC 80241DBC 0260202D */ daddu $a0, $s3, $zero +/* DAF1C0 80241DC0 0280282D */ daddu $a1, $s4, $zero +/* DAF1C4 80241DC4 0C09069C */ jal func_80241A70 +/* DAF1C8 80241DC8 02A0302D */ daddu $a2, $s5, $zero +/* DAF1CC 80241DCC 08090777 */ j .L80241DDC +/* DAF1D0 80241DD0 00000000 */ nop +/* DAF1D4 80241DD4 0C0129CF */ jal func_8004A73C +/* DAF1D8 80241DD8 0260202D */ daddu $a0, $s3, $zero +.L80241DDC: +/* DAF1DC 80241DDC 8FBF0060 */ lw $ra, 0x60($sp) +/* DAF1E0 80241DE0 8FB5005C */ lw $s5, 0x5c($sp) +/* DAF1E4 80241DE4 8FB40058 */ lw $s4, 0x58($sp) +/* DAF1E8 80241DE8 8FB30054 */ lw $s3, 0x54($sp) +/* DAF1EC 80241DEC 8FB20050 */ lw $s2, 0x50($sp) +/* DAF1F0 80241DF0 8FB1004C */ lw $s1, 0x4c($sp) +/* DAF1F4 80241DF4 8FB00048 */ lw $s0, 0x48($sp) +/* DAF1F8 80241DF8 0000102D */ daddu $v0, $zero, $zero +/* DAF1FC 80241DFC 03E00008 */ jr $ra +/* DAF200 80241E00 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241E04_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241E04_DAD400.s new file mode 100644 index 0000000000..67c47ed8ac --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241E04_DAD400.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E04_DAF204 +/* DAF204 80241E04 3C03800B */ lui $v1, %hi(gCameras) +/* DAF208 80241E08 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DAF20C 80241E0C 94620000 */ lhu $v0, ($v1) +/* DAF210 80241E10 34421000 */ ori $v0, $v0, 0x1000 +/* DAF214 80241E14 A4620000 */ sh $v0, ($v1) +/* DAF218 80241E18 03E00008 */ jr $ra +/* DAF21C 80241E1C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241E20.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241E20.s new file mode 100644 index 0000000000..e832c4d917 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241E20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E20 +/* DAF220 80241E20 3C03800B */ lui $v1, %hi(gCameras) +/* DAF224 80241E24 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DAF228 80241E28 94620000 */ lhu $v0, ($v1) +/* DAF22C 80241E2C 3042EFFF */ andi $v0, $v0, 0xefff +/* DAF230 80241E30 A4620000 */ sh $v0, ($v1) +/* DAF234 80241E34 03E00008 */ jr $ra +/* DAF238 80241E38 24020002 */ addiu $v0, $zero, 2 +/* DAF23C 80241E3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_04/func_80241E40_DAD400.s b/asm/nonmatchings/world/area_omo/omo_04/func_80241E40_DAD400.s new file mode 100644 index 0000000000..67f6cd186f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_04/func_80241E40_DAD400.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E40_DAF240 +/* DAF240 80241E40 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DAF244 80241E44 AFB10014 */ sw $s1, 0x14($sp) +/* DAF248 80241E48 0080882D */ daddu $s1, $a0, $zero +/* DAF24C 80241E4C AFBF001C */ sw $ra, 0x1c($sp) +/* DAF250 80241E50 AFB20018 */ sw $s2, 0x18($sp) +/* DAF254 80241E54 AFB00010 */ sw $s0, 0x10($sp) +/* DAF258 80241E58 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DAF25C 80241E5C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DAF260 80241E60 0C00EABB */ jal get_npc_unsafe +/* DAF264 80241E64 24040002 */ addiu $a0, $zero, 2 +/* DAF268 80241E68 0040802D */ daddu $s0, $v0, $zero +/* DAF26C 80241E6C 3C12800B */ lui $s2, %hi(gCameras) +/* DAF270 80241E70 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* DAF274 80241E74 C60C000C */ lwc1 $f12, 0xc($s0) +/* DAF278 80241E78 C640006C */ lwc1 $f0, 0x6c($s2) +/* DAF27C 80241E7C 46006300 */ add.s $f12, $f12, $f0 +/* DAF280 80241E80 3C014334 */ lui $at, 0x4334 +/* DAF284 80241E84 4481A000 */ mtc1 $at, $f20 +/* DAF288 80241E88 3C014220 */ lui $at, 0x4220 +/* DAF28C 80241E8C 4481B000 */ mtc1 $at, $f22 +/* DAF290 80241E90 0C00A8BB */ jal sin_deg +/* DAF294 80241E94 46146300 */ add.s $f12, $f12, $f20 +/* DAF298 80241E98 46160002 */ mul.s $f0, $f0, $f22 +/* DAF29C 80241E9C 00000000 */ nop +/* DAF2A0 80241EA0 C6020038 */ lwc1 $f2, 0x38($s0) +/* DAF2A4 80241EA4 46001080 */ add.s $f2, $f2, $f0 +/* DAF2A8 80241EA8 4600110D */ trunc.w.s $f4, $f2 +/* DAF2AC 80241EAC E6240084 */ swc1 $f4, 0x84($s1) +/* DAF2B0 80241EB0 C600003C */ lwc1 $f0, 0x3c($s0) +/* DAF2B4 80241EB4 3C014100 */ lui $at, 0x4100 +/* DAF2B8 80241EB8 44811000 */ mtc1 $at, $f2 +/* DAF2BC 80241EBC 00000000 */ nop +/* DAF2C0 80241EC0 46020000 */ add.s $f0, $f0, $f2 +/* DAF2C4 80241EC4 4600010D */ trunc.w.s $f4, $f0 +/* DAF2C8 80241EC8 E6240088 */ swc1 $f4, 0x88($s1) +/* DAF2CC 80241ECC C60C000C */ lwc1 $f12, 0xc($s0) +/* DAF2D0 80241ED0 C640006C */ lwc1 $f0, 0x6c($s2) +/* DAF2D4 80241ED4 46006300 */ add.s $f12, $f12, $f0 +/* DAF2D8 80241ED8 0C00A8D4 */ jal cos_deg +/* DAF2DC 80241EDC 46146300 */ add.s $f12, $f12, $f20 +/* DAF2E0 80241EE0 46160002 */ mul.s $f0, $f0, $f22 +/* DAF2E4 80241EE4 00000000 */ nop +/* DAF2E8 80241EE8 C6020040 */ lwc1 $f2, 0x40($s0) +/* DAF2EC 80241EEC 46001081 */ sub.s $f2, $f2, $f0 +/* DAF2F0 80241EF0 4600110D */ trunc.w.s $f4, $f2 +/* DAF2F4 80241EF4 E624008C */ swc1 $f4, 0x8c($s1) +/* DAF2F8 80241EF8 8FBF001C */ lw $ra, 0x1c($sp) +/* DAF2FC 80241EFC 8FB20018 */ lw $s2, 0x18($sp) +/* DAF300 80241F00 8FB10014 */ lw $s1, 0x14($sp) +/* DAF304 80241F04 8FB00010 */ lw $s0, 0x10($sp) +/* DAF308 80241F08 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DAF30C 80241F0C D7B40020 */ ldc1 $f20, 0x20($sp) +/* DAF310 80241F10 24020002 */ addiu $v0, $zero, 2 +/* DAF314 80241F14 03E00008 */ jr $ra +/* DAF318 80241F18 27BD0030 */ addiu $sp, $sp, 0x30 +/* DAF31C 80241F1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240000_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240000_DB22C0.s new file mode 100644 index 0000000000..bb74a0fc6e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240000_DB22C0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DB22C0 +/* DB22C0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB22C4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* DB22C8 80240008 0080882D */ daddu $s1, $a0, $zero +/* DB22CC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* DB22D0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* DB22D4 80240014 8E300148 */ lw $s0, 0x148($s1) +/* DB22D8 80240018 0C00EABB */ jal get_npc_unsafe +/* DB22DC 8024001C 86040008 */ lh $a0, 8($s0) +/* DB22E0 80240020 C4400018 */ lwc1 $f0, 0x18($v0) +/* DB22E4 80240024 3C018024 */ lui $at, 0x8024 +/* DB22E8 80240028 D42252B0 */ ldc1 $f2, 0x52b0($at) +/* DB22EC 8024002C 46000021 */ cvt.d.s $f0, $f0 +/* DB22F0 80240030 46220002 */ mul.d $f0, $f0, $f2 +/* DB22F4 80240034 00000000 */ nop +/* DB22F8 80240038 46200020 */ cvt.s.d $f0, $f0 +/* DB22FC 8024003C E4400018 */ swc1 $f0, 0x18($v0) +/* DB2300 80240040 8E0300CC */ lw $v1, 0xcc($s0) +/* DB2304 80240044 8C640030 */ lw $a0, 0x30($v1) +/* DB2308 80240048 24030005 */ addiu $v1, $zero, 5 +/* DB230C 8024004C A443008E */ sh $v1, 0x8e($v0) +/* DB2310 80240050 AC440028 */ sw $a0, 0x28($v0) +/* DB2314 80240054 2402000F */ addiu $v0, $zero, 0xf +/* DB2318 80240058 AE220070 */ sw $v0, 0x70($s1) +/* DB231C 8024005C 8FBF0018 */ lw $ra, 0x18($sp) +/* DB2320 80240060 8FB10014 */ lw $s1, 0x14($sp) +/* DB2324 80240064 8FB00010 */ lw $s0, 0x10($sp) +/* DB2328 80240068 03E00008 */ jr $ra +/* DB232C 8024006C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240070_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240070_DB22C0.s new file mode 100644 index 0000000000..6beca31790 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240070_DB22C0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_DB2330 +/* DB2330 80240070 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DB2334 80240074 AFB20028 */ sw $s2, 0x28($sp) +/* DB2338 80240078 0080902D */ daddu $s2, $a0, $zero +/* DB233C 8024007C AFBF002C */ sw $ra, 0x2c($sp) +/* DB2340 80240080 AFB10024 */ sw $s1, 0x24($sp) +/* DB2344 80240084 AFB00020 */ sw $s0, 0x20($sp) +/* DB2348 80240088 8E510148 */ lw $s1, 0x148($s2) +/* DB234C 8024008C 0C00EABB */ jal get_npc_unsafe +/* DB2350 80240090 86240008 */ lh $a0, 8($s1) +/* DB2354 80240094 0040802D */ daddu $s0, $v0, $zero +/* DB2358 80240098 0200202D */ daddu $a0, $s0, $zero +/* DB235C 8024009C C600000C */ lwc1 $f0, 0xc($s0) +/* DB2360 802400A0 27A60018 */ addiu $a2, $sp, 0x18 +/* DB2364 802400A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB2368 802400A8 AFA00010 */ sw $zero, 0x10($sp) +/* DB236C 802400AC AFA00014 */ sw $zero, 0x14($sp) +/* DB2370 802400B0 8E050018 */ lw $a1, 0x18($s0) +/* DB2374 802400B4 0C0129E1 */ jal func_8004A784 +/* DB2378 802400B8 0000382D */ daddu $a3, $zero, $zero +/* DB237C 802400BC 14400005 */ bnez $v0, .L802400D4 +/* DB2380 802400C0 00000000 */ nop +/* DB2384 802400C4 8E050018 */ lw $a1, 0x18($s0) +/* DB2388 802400C8 8E06000C */ lw $a2, 0xc($s0) +/* DB238C 802400CC 0C00EA95 */ jal npc_move_heading +/* DB2390 802400D0 0200202D */ daddu $a0, $s0, $zero +.L802400D4: +/* DB2394 802400D4 9602008E */ lhu $v0, 0x8e($s0) +/* DB2398 802400D8 2442FFFF */ addiu $v0, $v0, -1 +/* DB239C 802400DC A602008E */ sh $v0, 0x8e($s0) +/* DB23A0 802400E0 00021400 */ sll $v0, $v0, 0x10 +/* DB23A4 802400E4 14400010 */ bnez $v0, .L80240128 +/* DB23A8 802400E8 00000000 */ nop +/* DB23AC 802400EC C6000018 */ lwc1 $f0, 0x18($s0) +/* DB23B0 802400F0 3C018024 */ lui $at, 0x8024 +/* DB23B4 802400F4 D42252B8 */ ldc1 $f2, 0x52b8($at) +/* DB23B8 802400F8 46000021 */ cvt.d.s $f0, $f0 +/* DB23BC 802400FC 46220002 */ mul.d $f0, $f0, $f2 +/* DB23C0 80240100 00000000 */ nop +/* DB23C4 80240104 46200020 */ cvt.s.d $f0, $f0 +/* DB23C8 80240108 E6000018 */ swc1 $f0, 0x18($s0) +/* DB23CC 8024010C 8E2200CC */ lw $v0, 0xcc($s1) +/* DB23D0 80240110 8C43002C */ lw $v1, 0x2c($v0) +/* DB23D4 80240114 2402000A */ addiu $v0, $zero, 0xa +/* DB23D8 80240118 A602008E */ sh $v0, 0x8e($s0) +/* DB23DC 8024011C 24020010 */ addiu $v0, $zero, 0x10 +/* DB23E0 80240120 AE030028 */ sw $v1, 0x28($s0) +/* DB23E4 80240124 AE420070 */ sw $v0, 0x70($s2) +.L80240128: +/* DB23E8 80240128 8FBF002C */ lw $ra, 0x2c($sp) +/* DB23EC 8024012C 8FB20028 */ lw $s2, 0x28($sp) +/* DB23F0 80240130 8FB10024 */ lw $s1, 0x24($sp) +/* DB23F4 80240134 8FB00020 */ lw $s0, 0x20($sp) +/* DB23F8 80240138 03E00008 */ jr $ra +/* DB23FC 8024013C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240140_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240140_DB22C0.s new file mode 100644 index 0000000000..b4c42432c4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240140_DB22C0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_DB2400 +/* DB2400 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DB2404 80240144 AFB10024 */ sw $s1, 0x24($sp) +/* DB2408 80240148 0080882D */ daddu $s1, $a0, $zero +/* DB240C 8024014C AFBF0028 */ sw $ra, 0x28($sp) +/* DB2410 80240150 AFB00020 */ sw $s0, 0x20($sp) +/* DB2414 80240154 8E220148 */ lw $v0, 0x148($s1) +/* DB2418 80240158 0C00EABB */ jal get_npc_unsafe +/* DB241C 8024015C 84440008 */ lh $a0, 8($v0) +/* DB2420 80240160 0040802D */ daddu $s0, $v0, $zero +/* DB2424 80240164 0200202D */ daddu $a0, $s0, $zero +/* DB2428 80240168 C600000C */ lwc1 $f0, 0xc($s0) +/* DB242C 8024016C 27A60018 */ addiu $a2, $sp, 0x18 +/* DB2430 80240170 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB2434 80240174 AFA00010 */ sw $zero, 0x10($sp) +/* DB2438 80240178 AFA00014 */ sw $zero, 0x14($sp) +/* DB243C 8024017C 8E050018 */ lw $a1, 0x18($s0) +/* DB2440 80240180 0C0129E1 */ jal func_8004A784 +/* DB2444 80240184 0000382D */ daddu $a3, $zero, $zero +/* DB2448 80240188 14400005 */ bnez $v0, .L802401A0 +/* DB244C 8024018C 00000000 */ nop +/* DB2450 80240190 8E050018 */ lw $a1, 0x18($s0) +/* DB2454 80240194 8E06000C */ lw $a2, 0xc($s0) +/* DB2458 80240198 0C00EA95 */ jal npc_move_heading +/* DB245C 8024019C 0200202D */ daddu $a0, $s0, $zero +.L802401A0: +/* DB2460 802401A0 9602008E */ lhu $v0, 0x8e($s0) +/* DB2464 802401A4 2442FFFF */ addiu $v0, $v0, -1 +/* DB2468 802401A8 A602008E */ sh $v0, 0x8e($s0) +/* DB246C 802401AC 00021400 */ sll $v0, $v0, 0x10 +/* DB2470 802401B0 14400004 */ bnez $v0, .L802401C4 +/* DB2474 802401B4 2402001E */ addiu $v0, $zero, 0x1e +/* DB2478 802401B8 A602008E */ sh $v0, 0x8e($s0) +/* DB247C 802401BC 24020011 */ addiu $v0, $zero, 0x11 +/* DB2480 802401C0 AE220070 */ sw $v0, 0x70($s1) +.L802401C4: +/* DB2484 802401C4 8FBF0028 */ lw $ra, 0x28($sp) +/* DB2488 802401C8 8FB10024 */ lw $s1, 0x24($sp) +/* DB248C 802401CC 8FB00020 */ lw $s0, 0x20($sp) +/* DB2490 802401D0 03E00008 */ jr $ra +/* DB2494 802401D4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802401D8.s b/asm/nonmatchings/world/area_omo/omo_05/func_802401D8.s new file mode 100644 index 0000000000..fba7990492 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802401D8.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D8 +/* DB2498 802401D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB249C 802401DC AFB10014 */ sw $s1, 0x14($sp) +/* DB24A0 802401E0 0080882D */ daddu $s1, $a0, $zero +/* DB24A4 802401E4 AFBF0018 */ sw $ra, 0x18($sp) +/* DB24A8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* DB24AC 802401EC 8E300148 */ lw $s0, 0x148($s1) +/* DB24B0 802401F0 0C00EABB */ jal get_npc_unsafe +/* DB24B4 802401F4 86040008 */ lh $a0, 8($s0) +/* DB24B8 802401F8 0040182D */ daddu $v1, $v0, $zero +/* DB24BC 802401FC 9462008E */ lhu $v0, 0x8e($v1) +/* DB24C0 80240200 2442FFFF */ addiu $v0, $v0, -1 +/* DB24C4 80240204 A462008E */ sh $v0, 0x8e($v1) +/* DB24C8 80240208 00021400 */ sll $v0, $v0, 0x10 +/* DB24CC 8024020C 14400005 */ bnez $v0, .L80240224 +/* DB24D0 80240210 00000000 */ nop +/* DB24D4 80240214 8E0200CC */ lw $v0, 0xcc($s0) +/* DB24D8 80240218 8C420000 */ lw $v0, ($v0) +/* DB24DC 8024021C AC620028 */ sw $v0, 0x28($v1) +/* DB24E0 80240220 AE200070 */ sw $zero, 0x70($s1) +.L80240224: +/* DB24E4 80240224 8FBF0018 */ lw $ra, 0x18($sp) +/* DB24E8 80240228 8FB10014 */ lw $s1, 0x14($sp) +/* DB24EC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* DB24F0 80240230 03E00008 */ jr $ra +/* DB24F4 80240234 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240238_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240238_DB22C0.s new file mode 100644 index 0000000000..09d44e4bbe --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240238_DB22C0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240238_DB24F8 +/* DB24F8 80240238 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DB24FC 8024023C AFB30054 */ sw $s3, 0x54($sp) +/* DB2500 80240240 0080982D */ daddu $s3, $a0, $zero +/* DB2504 80240244 AFBF0060 */ sw $ra, 0x60($sp) +/* DB2508 80240248 AFB5005C */ sw $s5, 0x5c($sp) +/* DB250C 8024024C AFB40058 */ sw $s4, 0x58($sp) +/* DB2510 80240250 AFB20050 */ sw $s2, 0x50($sp) +/* DB2514 80240254 AFB1004C */ sw $s1, 0x4c($sp) +/* DB2518 80240258 AFB00048 */ sw $s0, 0x48($sp) +/* DB251C 8024025C 8E710148 */ lw $s1, 0x148($s3) +/* DB2520 80240260 86240008 */ lh $a0, 8($s1) +/* DB2524 80240264 0C00EABB */ jal get_npc_unsafe +/* DB2528 80240268 00A0802D */ daddu $s0, $a1, $zero +/* DB252C 8024026C 8E63000C */ lw $v1, 0xc($s3) +/* DB2530 80240270 0260202D */ daddu $a0, $s3, $zero +/* DB2534 80240274 8C650000 */ lw $a1, ($v1) +/* DB2538 80240278 0C0B1EAF */ jal get_variable +/* DB253C 8024027C 0040902D */ daddu $s2, $v0, $zero +/* DB2540 80240280 AFA00018 */ sw $zero, 0x18($sp) +/* DB2544 80240284 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2548 80240288 8C630030 */ lw $v1, 0x30($v1) +/* DB254C 8024028C AFA3001C */ sw $v1, 0x1c($sp) +/* DB2550 80240290 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2554 80240294 8C63001C */ lw $v1, 0x1c($v1) +/* DB2558 80240298 AFA30020 */ sw $v1, 0x20($sp) +/* DB255C 8024029C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2560 802402A0 8C630024 */ lw $v1, 0x24($v1) +/* DB2564 802402A4 AFA30024 */ sw $v1, 0x24($sp) +/* DB2568 802402A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB256C 802402AC 8C630028 */ lw $v1, 0x28($v1) +/* DB2570 802402B0 27B50018 */ addiu $s5, $sp, 0x18 +/* DB2574 802402B4 AFA30028 */ sw $v1, 0x28($sp) +/* DB2578 802402B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB257C 802402BC 3C014282 */ lui $at, 0x4282 +/* DB2580 802402C0 44810000 */ mtc1 $at, $f0 +/* DB2584 802402C4 8C63002C */ lw $v1, 0x2c($v1) +/* DB2588 802402C8 0040A02D */ daddu $s4, $v0, $zero +/* DB258C 802402CC E7A00030 */ swc1 $f0, 0x30($sp) +/* DB2590 802402D0 A7A00034 */ sh $zero, 0x34($sp) +/* DB2594 802402D4 16000005 */ bnez $s0, .L802402EC +/* DB2598 802402D8 AFA3002C */ sw $v1, 0x2c($sp) +/* DB259C 802402DC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB25A0 802402E0 30420004 */ andi $v0, $v0, 4 +/* DB25A4 802402E4 10400044 */ beqz $v0, .L802403F8 +/* DB25A8 802402E8 00000000 */ nop +.L802402EC: +/* DB25AC 802402EC 2404F7FF */ addiu $a0, $zero, -0x801 +/* DB25B0 802402F0 AE600070 */ sw $zero, 0x70($s3) +/* DB25B4 802402F4 A640008E */ sh $zero, 0x8e($s2) +/* DB25B8 802402F8 8E2200CC */ lw $v0, 0xcc($s1) +/* DB25BC 802402FC 8E430000 */ lw $v1, ($s2) +/* DB25C0 80240300 8C420000 */ lw $v0, ($v0) +/* DB25C4 80240304 00641824 */ and $v1, $v1, $a0 +/* DB25C8 80240308 AE430000 */ sw $v1, ($s2) +/* DB25CC 8024030C AE420028 */ sw $v0, 0x28($s2) +/* DB25D0 80240310 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB25D4 80240314 8C420034 */ lw $v0, 0x34($v0) +/* DB25D8 80240318 54400005 */ bnel $v0, $zero, .L80240330 +/* DB25DC 8024031C 2402FDFF */ addiu $v0, $zero, -0x201 +/* DB25E0 80240320 34620200 */ ori $v0, $v1, 0x200 +/* DB25E4 80240324 2403FFF7 */ addiu $v1, $zero, -9 +/* DB25E8 80240328 080900CE */ j .L80240338 +/* DB25EC 8024032C 00431024 */ and $v0, $v0, $v1 +.L80240330: +/* DB25F0 80240330 00621024 */ and $v0, $v1, $v0 +/* DB25F4 80240334 34420008 */ ori $v0, $v0, 8 +.L80240338: +/* DB25F8 80240338 AE420000 */ sw $v0, ($s2) +/* DB25FC 8024033C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB2600 80240340 30420004 */ andi $v0, $v0, 4 +/* DB2604 80240344 10400004 */ beqz $v0, .L80240358 +/* DB2608 80240348 24020063 */ addiu $v0, $zero, 0x63 +/* DB260C 8024034C AE620070 */ sw $v0, 0x70($s3) +/* DB2610 80240350 080900DC */ j .L80240370 +/* DB2614 80240354 AE600074 */ sw $zero, 0x74($s3) +.L80240358: +/* DB2618 80240358 8E220000 */ lw $v0, ($s1) +/* DB261C 8024035C 3C034000 */ lui $v1, 0x4000 +/* DB2620 80240360 00431024 */ and $v0, $v0, $v1 +/* DB2624 80240364 10400002 */ beqz $v0, .L80240370 +/* DB2628 80240368 2402000C */ addiu $v0, $zero, 0xc +/* DB262C 8024036C AE620070 */ sw $v0, 0x70($s3) +.L80240370: +/* DB2630 80240370 3C06BFFF */ lui $a2, 0xbfff +/* DB2634 80240374 34C6FFFF */ ori $a2, $a2, 0xffff +/* DB2638 80240378 27A50038 */ addiu $a1, $sp, 0x38 +/* DB263C 8024037C 2404FFFB */ addiu $a0, $zero, -5 +/* DB2640 80240380 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB2644 80240384 8E230000 */ lw $v1, ($s1) +/* DB2648 80240388 3C0142C8 */ lui $at, 0x42c8 +/* DB264C 8024038C 44810000 */ mtc1 $at, $f0 +/* DB2650 80240390 00441024 */ and $v0, $v0, $a0 +/* DB2654 80240394 00661824 */ and $v1, $v1, $a2 +/* DB2658 80240398 AE2200B0 */ sw $v0, 0xb0($s1) +/* DB265C 8024039C AE230000 */ sw $v1, ($s1) +/* DB2660 802403A0 864200A8 */ lh $v0, 0xa8($s2) +/* DB2664 802403A4 27A70040 */ addiu $a3, $sp, 0x40 +/* DB2668 802403A8 E7A00044 */ swc1 $f0, 0x44($sp) +/* DB266C 802403AC C6460038 */ lwc1 $f6, 0x38($s2) +/* DB2670 802403B0 C640003C */ lwc1 $f0, 0x3c($s2) +/* DB2674 802403B4 C6420040 */ lwc1 $f2, 0x40($s2) +/* DB2678 802403B8 44822000 */ mtc1 $v0, $f4 +/* DB267C 802403BC 00000000 */ nop +/* DB2680 802403C0 46802120 */ cvt.s.w $f4, $f4 +/* DB2684 802403C4 27A20044 */ addiu $v0, $sp, 0x44 +/* DB2688 802403C8 46040000 */ add.s $f0, $f0, $f4 +/* DB268C 802403CC E7A60038 */ swc1 $f6, 0x38($sp) +/* DB2690 802403D0 E7A20040 */ swc1 $f2, 0x40($sp) +/* DB2694 802403D4 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DB2698 802403D8 AFA20010 */ sw $v0, 0x10($sp) +/* DB269C 802403DC 8E440080 */ lw $a0, 0x80($s2) +/* DB26A0 802403E0 0C0372DF */ jal func_800DCB7C +/* DB26A4 802403E4 27A6003C */ addiu $a2, $sp, 0x3c +/* DB26A8 802403E8 10400003 */ beqz $v0, .L802403F8 +/* DB26AC 802403EC 00000000 */ nop +/* DB26B0 802403F0 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DB26B4 802403F4 E640003C */ swc1 $f0, 0x3c($s2) +.L802403F8: +/* DB26B8 802403F8 8E630070 */ lw $v1, 0x70($s3) +/* DB26BC 802403FC 2C620064 */ sltiu $v0, $v1, 0x64 +/* DB26C0 80240400 10400050 */ beqz $v0, .L80240544 +/* DB26C4 80240404 00031080 */ sll $v0, $v1, 2 +/* DB26C8 80240408 3C018024 */ lui $at, 0x8024 +/* DB26CC 8024040C 00220821 */ addu $at, $at, $v0 +/* DB26D0 80240410 8C2252C0 */ lw $v0, 0x52c0($at) +/* DB26D4 80240414 00400008 */ jr $v0 +/* DB26D8 80240418 00000000 */ nop +/* DB26DC 8024041C 0260202D */ daddu $a0, $s3, $zero +/* DB26E0 80240420 0280282D */ daddu $a1, $s4, $zero +/* DB26E4 80240424 0C012568 */ jal func_800495A0 +/* DB26E8 80240428 02A0302D */ daddu $a2, $s5, $zero +/* DB26EC 8024042C 0260202D */ daddu $a0, $s3, $zero +/* DB26F0 80240430 0280282D */ daddu $a1, $s4, $zero +/* DB26F4 80240434 0C0125AE */ jal func_800496B8 +/* DB26F8 80240438 02A0302D */ daddu $a2, $s5, $zero +/* DB26FC 8024043C 08090151 */ j .L80240544 +/* DB2700 80240440 00000000 */ nop +/* DB2704 80240444 0260202D */ daddu $a0, $s3, $zero +/* DB2708 80240448 0280282D */ daddu $a1, $s4, $zero +/* DB270C 8024044C 0C0126D1 */ jal func_80049B44 +/* DB2710 80240450 02A0302D */ daddu $a2, $s5, $zero +/* DB2714 80240454 0260202D */ daddu $a0, $s3, $zero +/* DB2718 80240458 0280282D */ daddu $a1, $s4, $zero +/* DB271C 8024045C 0C012701 */ jal func_80049C04 +/* DB2720 80240460 02A0302D */ daddu $a2, $s5, $zero +/* DB2724 80240464 08090151 */ j .L80240544 +/* DB2728 80240468 00000000 */ nop +/* DB272C 8024046C 0260202D */ daddu $a0, $s3, $zero +/* DB2730 80240470 0280282D */ daddu $a1, $s4, $zero +/* DB2734 80240474 0C01278F */ jal func_80049E3C +/* DB2738 80240478 02A0302D */ daddu $a2, $s5, $zero +/* DB273C 8024047C 0260202D */ daddu $a0, $s3, $zero +/* DB2740 80240480 0280282D */ daddu $a1, $s4, $zero +/* DB2744 80240484 0C0127B3 */ jal func_80049ECC +/* DB2748 80240488 02A0302D */ daddu $a2, $s5, $zero +/* DB274C 8024048C 08090151 */ j .L80240544 +/* DB2750 80240490 00000000 */ nop +/* DB2754 80240494 0260202D */ daddu $a0, $s3, $zero +/* DB2758 80240498 0280282D */ daddu $a1, $s4, $zero +/* DB275C 8024049C 0C0127DF */ jal func_80049F7C +/* DB2760 802404A0 02A0302D */ daddu $a2, $s5, $zero +/* DB2764 802404A4 0260202D */ daddu $a0, $s3, $zero +/* DB2768 802404A8 0280282D */ daddu $a1, $s4, $zero +/* DB276C 802404AC 0C012849 */ jal func_8004A124 +/* DB2770 802404B0 02A0302D */ daddu $a2, $s5, $zero +/* DB2774 802404B4 8E630070 */ lw $v1, 0x70($s3) +/* DB2778 802404B8 2402000E */ addiu $v0, $zero, 0xe +/* DB277C 802404BC 14620021 */ bne $v1, $v0, .L80240544 +/* DB2780 802404C0 00000000 */ nop +/* DB2784 802404C4 0260202D */ daddu $a0, $s3, $zero +/* DB2788 802404C8 0280282D */ daddu $a1, $s4, $zero +/* DB278C 802404CC 0C090000 */ jal func_80240000 +/* DB2790 802404D0 02A0302D */ daddu $a2, $s5, $zero +/* DB2794 802404D4 8E630070 */ lw $v1, 0x70($s3) +/* DB2798 802404D8 2402000F */ addiu $v0, $zero, 0xf +/* DB279C 802404DC 14620019 */ bne $v1, $v0, .L80240544 +/* DB27A0 802404E0 00000000 */ nop +/* DB27A4 802404E4 0260202D */ daddu $a0, $s3, $zero +/* DB27A8 802404E8 0280282D */ daddu $a1, $s4, $zero +/* DB27AC 802404EC 0C09001C */ jal func_80240070 +/* DB27B0 802404F0 02A0302D */ daddu $a2, $s5, $zero +/* DB27B4 802404F4 8E630070 */ lw $v1, 0x70($s3) +/* DB27B8 802404F8 24020010 */ addiu $v0, $zero, 0x10 +/* DB27BC 802404FC 14620011 */ bne $v1, $v0, .L80240544 +/* DB27C0 80240500 00000000 */ nop +/* DB27C4 80240504 0260202D */ daddu $a0, $s3, $zero +/* DB27C8 80240508 0280282D */ daddu $a1, $s4, $zero +/* DB27CC 8024050C 0C090050 */ jal func_80240140 +/* DB27D0 80240510 02A0302D */ daddu $a2, $s5, $zero +/* DB27D4 80240514 8E630070 */ lw $v1, 0x70($s3) +/* DB27D8 80240518 24020011 */ addiu $v0, $zero, 0x11 +/* DB27DC 8024051C 14620009 */ bne $v1, $v0, .L80240544 +/* DB27E0 80240520 00000000 */ nop +/* DB27E4 80240524 0260202D */ daddu $a0, $s3, $zero +/* DB27E8 80240528 0280282D */ daddu $a1, $s4, $zero +/* DB27EC 8024052C 0C090076 */ jal func_802401D8 +/* DB27F0 80240530 02A0302D */ daddu $a2, $s5, $zero +/* DB27F4 80240534 08090151 */ j .L80240544 +/* DB27F8 80240538 00000000 */ nop +/* DB27FC 8024053C 0C0129CF */ jal func_8004A73C +/* DB2800 80240540 0260202D */ daddu $a0, $s3, $zero +.L80240544: +/* DB2804 80240544 8FBF0060 */ lw $ra, 0x60($sp) +/* DB2808 80240548 8FB5005C */ lw $s5, 0x5c($sp) +/* DB280C 8024054C 8FB40058 */ lw $s4, 0x58($sp) +/* DB2810 80240550 8FB30054 */ lw $s3, 0x54($sp) +/* DB2814 80240554 8FB20050 */ lw $s2, 0x50($sp) +/* DB2818 80240558 8FB1004C */ lw $s1, 0x4c($sp) +/* DB281C 8024055C 8FB00048 */ lw $s0, 0x48($sp) +/* DB2820 80240560 0000102D */ daddu $v0, $zero, $zero +/* DB2824 80240564 03E00008 */ jr $ra +/* DB2828 80240568 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_8024056C_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_8024056C_DB22C0.s new file mode 100644 index 0000000000..b78041d0b6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_8024056C_DB22C0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024056C_DB282C +/* DB282C 8024056C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB2830 80240570 AFB10014 */ sw $s1, 0x14($sp) +/* DB2834 80240574 0080882D */ daddu $s1, $a0, $zero +/* DB2838 80240578 AFBF0018 */ sw $ra, 0x18($sp) +/* DB283C 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* DB2840 80240580 8E300148 */ lw $s0, 0x148($s1) +/* DB2844 80240584 0C00EABB */ jal get_npc_unsafe +/* DB2848 80240588 86040008 */ lh $a0, 8($s0) +/* DB284C 8024058C 3C054387 */ lui $a1, 0x4387 +/* DB2850 80240590 0040202D */ daddu $a0, $v0, $zero +/* DB2854 80240594 0C00ECD0 */ jal set_npc_yaw +/* DB2858 80240598 A480008E */ sh $zero, 0x8e($a0) +/* DB285C 8024059C 24020003 */ addiu $v0, $zero, 3 +/* DB2860 802405A0 AE00006C */ sw $zero, 0x6c($s0) +/* DB2864 802405A4 AE220070 */ sw $v0, 0x70($s1) +/* DB2868 802405A8 8FBF0018 */ lw $ra, 0x18($sp) +/* DB286C 802405AC 8FB10014 */ lw $s1, 0x14($sp) +/* DB2870 802405B0 8FB00010 */ lw $s0, 0x10($sp) +/* DB2874 802405B4 03E00008 */ jr $ra +/* DB2878 802405B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802405BC_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_802405BC_DB22C0.s new file mode 100644 index 0000000000..d487ef88b2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802405BC_DB22C0.s @@ -0,0 +1,132 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_DB287C +/* DB287C 802405BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB2880 802405C0 AFB20018 */ sw $s2, 0x18($sp) +/* DB2884 802405C4 0080902D */ daddu $s2, $a0, $zero +/* DB2888 802405C8 AFBF001C */ sw $ra, 0x1c($sp) +/* DB288C 802405CC AFB10014 */ sw $s1, 0x14($sp) +/* DB2890 802405D0 AFB00010 */ sw $s0, 0x10($sp) +/* DB2894 802405D4 8E500148 */ lw $s0, 0x148($s2) +/* DB2898 802405D8 0C00EABB */ jal get_npc_unsafe +/* DB289C 802405DC 86040008 */ lh $a0, 8($s0) +/* DB28A0 802405E0 8E03006C */ lw $v1, 0x6c($s0) +/* DB28A4 802405E4 24060001 */ addiu $a2, $zero, 1 +/* DB28A8 802405E8 10660016 */ beq $v1, $a2, .L80240644 +/* DB28AC 802405EC 0040882D */ daddu $s1, $v0, $zero +/* DB28B0 802405F0 28620002 */ slti $v0, $v1, 2 +/* DB28B4 802405F4 50400005 */ beql $v0, $zero, .L8024060C +/* DB28B8 802405F8 24020002 */ addiu $v0, $zero, 2 +/* DB28BC 802405FC 10600009 */ beqz $v1, .L80240624 +/* DB28C0 80240600 3C02003C */ lui $v0, 0x3c +/* DB28C4 80240604 080901D4 */ j .L80240750 +/* DB28C8 80240608 24020004 */ addiu $v0, $zero, 4 +.L8024060C: +/* DB28CC 8024060C 10620030 */ beq $v1, $v0, .L802406D0 +/* DB28D0 80240610 24020003 */ addiu $v0, $zero, 3 +/* DB28D4 80240614 10620034 */ beq $v1, $v0, .L802406E8 +/* DB28D8 80240618 00000000 */ nop +/* DB28DC 8024061C 080901D2 */ j .L80240748 +/* DB28E0 80240620 00000000 */ nop +.L80240624: +/* DB28E4 80240624 3442000C */ ori $v0, $v0, 0xc +/* DB28E8 80240628 3C054387 */ lui $a1, 0x4387 +/* DB28EC 8024062C 0220202D */ daddu $a0, $s1, $zero +/* DB28F0 80240630 AE06006C */ sw $a2, 0x6c($s0) +/* DB28F4 80240634 AE000070 */ sw $zero, 0x70($s0) +/* DB28F8 80240638 0C00ECD0 */ jal set_npc_yaw +/* DB28FC 8024063C AE220028 */ sw $v0, 0x28($s1) +/* DB2900 80240640 AE200048 */ sw $zero, 0x48($s1) +.L80240644: +/* DB2904 80240644 8E030070 */ lw $v1, 0x70($s0) +/* DB2908 80240648 04610002 */ bgez $v1, .L80240654 +/* DB290C 8024064C 0060102D */ daddu $v0, $v1, $zero +/* DB2910 80240650 2462000F */ addiu $v0, $v1, 0xf +.L80240654: +/* DB2914 80240654 00022103 */ sra $a0, $v0, 4 +/* DB2918 80240658 00041100 */ sll $v0, $a0, 4 +/* DB291C 8024065C 00622023 */ subu $a0, $v1, $v0 +/* DB2920 80240660 28820004 */ slti $v0, $a0, 4 +/* DB2924 80240664 10400003 */ beqz $v0, .L80240674 +/* DB2928 80240668 3C02003C */ lui $v0, 0x3c +/* DB292C 8024066C 080901AB */ j .L802406AC +/* DB2930 80240670 3442000C */ ori $v0, $v0, 0xc +.L80240674: +/* DB2934 80240674 28820008 */ slti $v0, $a0, 8 +/* DB2938 80240678 10400003 */ beqz $v0, .L80240688 +/* DB293C 8024067C 3C02003C */ lui $v0, 0x3c +/* DB2940 80240680 080901AB */ j .L802406AC +/* DB2944 80240684 3442000B */ ori $v0, $v0, 0xb +.L80240688: +/* DB2948 80240688 2882000C */ slti $v0, $a0, 0xc +/* DB294C 8024068C 10400003 */ beqz $v0, .L8024069C +/* DB2950 80240690 3C02003C */ lui $v0, 0x3c +/* DB2954 80240694 080901AB */ j .L802406AC +/* DB2958 80240698 3442000C */ ori $v0, $v0, 0xc +.L8024069C: +/* DB295C 8024069C 28820010 */ slti $v0, $a0, 0x10 +/* DB2960 802406A0 10400003 */ beqz $v0, .L802406B0 +/* DB2964 802406A4 3C02003C */ lui $v0, 0x3c +/* DB2968 802406A8 3442000D */ ori $v0, $v0, 0xd +.L802406AC: +/* DB296C 802406AC AE220028 */ sw $v0, 0x28($s1) +.L802406B0: +/* DB2970 802406B0 8E020070 */ lw $v0, 0x70($s0) +/* DB2974 802406B4 24420001 */ addiu $v0, $v0, 1 +/* DB2978 802406B8 AE020070 */ sw $v0, 0x70($s0) +/* DB297C 802406BC 28420041 */ slti $v0, $v0, 0x41 +/* DB2980 802406C0 14400021 */ bnez $v0, .L80240748 +/* DB2984 802406C4 24020002 */ addiu $v0, $zero, 2 +/* DB2988 802406C8 080901D2 */ j .L80240748 +/* DB298C 802406CC AE02006C */ sw $v0, 0x6c($s0) +.L802406D0: +/* DB2990 802406D0 3C03003C */ lui $v1, 0x3c +/* DB2994 802406D4 3463000C */ ori $v1, $v1, 0xc +/* DB2998 802406D8 AE02006C */ sw $v0, 0x6c($s0) +/* DB299C 802406DC AE000070 */ sw $zero, 0x70($s0) +/* DB29A0 802406E0 AE200048 */ sw $zero, 0x48($s1) +/* DB29A4 802406E4 AE230028 */ sw $v1, 0x28($s1) +.L802406E8: +/* DB29A8 802406E8 C6200048 */ lwc1 $f0, 0x48($s1) +/* DB29AC 802406EC 3C018024 */ lui $at, 0x8024 +/* DB29B0 802406F0 D4225450 */ ldc1 $f2, 0x5450($at) +/* DB29B4 802406F4 46000021 */ cvt.d.s $f0, $f0 +/* DB29B8 802406F8 46220000 */ add.d $f0, $f0, $f2 +/* DB29BC 802406FC 3C018024 */ lui $at, 0x8024 +/* DB29C0 80240700 D4225458 */ ldc1 $f2, 0x5458($at) +/* DB29C4 80240704 46200020 */ cvt.s.d $f0, $f0 +/* DB29C8 80240708 E6200048 */ swc1 $f0, 0x48($s1) +/* DB29CC 8024070C 46000021 */ cvt.d.s $f0, $f0 +/* DB29D0 80240710 4620103C */ c.lt.d $f2, $f0 +/* DB29D4 80240714 00000000 */ nop +/* DB29D8 80240718 45000004 */ bc1f .L8024072C +/* DB29DC 8024071C 00000000 */ nop +/* DB29E0 80240720 46220001 */ sub.d $f0, $f0, $f2 +/* DB29E4 80240724 46200020 */ cvt.s.d $f0, $f0 +/* DB29E8 80240728 E6200048 */ swc1 $f0, 0x48($s1) +.L8024072C: +/* DB29EC 8024072C 8E020070 */ lw $v0, 0x70($s0) +/* DB29F0 80240730 24420001 */ addiu $v0, $v0, 1 +/* DB29F4 80240734 AE020070 */ sw $v0, 0x70($s0) +/* DB29F8 80240738 2842002E */ slti $v0, $v0, 0x2e +/* DB29FC 8024073C 14400002 */ bnez $v0, .L80240748 +/* DB2A00 80240740 24020004 */ addiu $v0, $zero, 4 +/* DB2A04 80240744 AE02006C */ sw $v0, 0x6c($s0) +.L80240748: +/* DB2A08 80240748 8E03006C */ lw $v1, 0x6c($s0) +/* DB2A0C 8024074C 24020004 */ addiu $v0, $zero, 4 +.L80240750: +/* DB2A10 80240750 14620005 */ bne $v1, $v0, .L80240768 +/* DB2A14 80240754 0220202D */ daddu $a0, $s1, $zero +/* DB2A18 80240758 3C054387 */ lui $a1, 0x4387 +/* DB2A1C 8024075C 0C00ECD0 */ jal set_npc_yaw +/* DB2A20 80240760 AC800048 */ sw $zero, 0x48($a0) +/* DB2A24 80240764 AE400070 */ sw $zero, 0x70($s2) +.L80240768: +/* DB2A28 80240768 8FBF001C */ lw $ra, 0x1c($sp) +/* DB2A2C 8024076C 8FB20018 */ lw $s2, 0x18($sp) +/* DB2A30 80240770 8FB10014 */ lw $s1, 0x14($sp) +/* DB2A34 80240774 8FB00010 */ lw $s0, 0x10($sp) +/* DB2A38 80240778 03E00008 */ jr $ra +/* DB2A3C 8024077C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240780_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240780_DB22C0.s new file mode 100644 index 0000000000..d89adcdcac --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240780_DB22C0.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240780_DB2A40 +/* DB2A40 80240780 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DB2A44 80240784 AFB30054 */ sw $s3, 0x54($sp) +/* DB2A48 80240788 0080982D */ daddu $s3, $a0, $zero +/* DB2A4C 8024078C AFBF0060 */ sw $ra, 0x60($sp) +/* DB2A50 80240790 AFB5005C */ sw $s5, 0x5c($sp) +/* DB2A54 80240794 AFB40058 */ sw $s4, 0x58($sp) +/* DB2A58 80240798 AFB20050 */ sw $s2, 0x50($sp) +/* DB2A5C 8024079C AFB1004C */ sw $s1, 0x4c($sp) +/* DB2A60 802407A0 AFB00048 */ sw $s0, 0x48($sp) +/* DB2A64 802407A4 8E710148 */ lw $s1, 0x148($s3) +/* DB2A68 802407A8 86240008 */ lh $a0, 8($s1) +/* DB2A6C 802407AC 0C00EABB */ jal get_npc_unsafe +/* DB2A70 802407B0 00A0802D */ daddu $s0, $a1, $zero +/* DB2A74 802407B4 8E63000C */ lw $v1, 0xc($s3) +/* DB2A78 802407B8 0260202D */ daddu $a0, $s3, $zero +/* DB2A7C 802407BC 8C650000 */ lw $a1, ($v1) +/* DB2A80 802407C0 0C0B1EAF */ jal get_variable +/* DB2A84 802407C4 0040902D */ daddu $s2, $v0, $zero +/* DB2A88 802407C8 AFA00018 */ sw $zero, 0x18($sp) +/* DB2A8C 802407CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2A90 802407D0 8C630030 */ lw $v1, 0x30($v1) +/* DB2A94 802407D4 AFA3001C */ sw $v1, 0x1c($sp) +/* DB2A98 802407D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2A9C 802407DC 8C63001C */ lw $v1, 0x1c($v1) +/* DB2AA0 802407E0 AFA30020 */ sw $v1, 0x20($sp) +/* DB2AA4 802407E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2AA8 802407E8 8C630024 */ lw $v1, 0x24($v1) +/* DB2AAC 802407EC AFA30024 */ sw $v1, 0x24($sp) +/* DB2AB0 802407F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2AB4 802407F4 8C630028 */ lw $v1, 0x28($v1) +/* DB2AB8 802407F8 27B50018 */ addiu $s5, $sp, 0x18 +/* DB2ABC 802407FC AFA30028 */ sw $v1, 0x28($sp) +/* DB2AC0 80240800 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2AC4 80240804 3C014282 */ lui $at, 0x4282 +/* DB2AC8 80240808 44810000 */ mtc1 $at, $f0 +/* DB2ACC 8024080C 8C63002C */ lw $v1, 0x2c($v1) +/* DB2AD0 80240810 0040A02D */ daddu $s4, $v0, $zero +/* DB2AD4 80240814 E7A00030 */ swc1 $f0, 0x30($sp) +/* DB2AD8 80240818 A7A00034 */ sh $zero, 0x34($sp) +/* DB2ADC 8024081C 16000005 */ bnez $s0, .L80240834 +/* DB2AE0 80240820 AFA3002C */ sw $v1, 0x2c($sp) +/* DB2AE4 80240824 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB2AE8 80240828 30420004 */ andi $v0, $v0, 4 +/* DB2AEC 8024082C 10400044 */ beqz $v0, .L80240940 +/* DB2AF0 80240830 00000000 */ nop +.L80240834: +/* DB2AF4 80240834 2404F7FF */ addiu $a0, $zero, -0x801 +/* DB2AF8 80240838 AE600070 */ sw $zero, 0x70($s3) +/* DB2AFC 8024083C A640008E */ sh $zero, 0x8e($s2) +/* DB2B00 80240840 8E2200CC */ lw $v0, 0xcc($s1) +/* DB2B04 80240844 8E430000 */ lw $v1, ($s2) +/* DB2B08 80240848 8C420000 */ lw $v0, ($v0) +/* DB2B0C 8024084C 00641824 */ and $v1, $v1, $a0 +/* DB2B10 80240850 AE430000 */ sw $v1, ($s2) +/* DB2B14 80240854 AE420028 */ sw $v0, 0x28($s2) +/* DB2B18 80240858 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB2B1C 8024085C 8C420034 */ lw $v0, 0x34($v0) +/* DB2B20 80240860 54400005 */ bnel $v0, $zero, .L80240878 +/* DB2B24 80240864 2402FDFF */ addiu $v0, $zero, -0x201 +/* DB2B28 80240868 34620200 */ ori $v0, $v1, 0x200 +/* DB2B2C 8024086C 2403FFF7 */ addiu $v1, $zero, -9 +/* DB2B30 80240870 08090220 */ j .L80240880 +/* DB2B34 80240874 00431024 */ and $v0, $v0, $v1 +.L80240878: +/* DB2B38 80240878 00621024 */ and $v0, $v1, $v0 +/* DB2B3C 8024087C 34420008 */ ori $v0, $v0, 8 +.L80240880: +/* DB2B40 80240880 AE420000 */ sw $v0, ($s2) +/* DB2B44 80240884 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB2B48 80240888 30420004 */ andi $v0, $v0, 4 +/* DB2B4C 8024088C 10400004 */ beqz $v0, .L802408A0 +/* DB2B50 80240890 24020063 */ addiu $v0, $zero, 0x63 +/* DB2B54 80240894 AE620070 */ sw $v0, 0x70($s3) +/* DB2B58 80240898 0809022E */ j .L802408B8 +/* DB2B5C 8024089C AE600074 */ sw $zero, 0x74($s3) +.L802408A0: +/* DB2B60 802408A0 8E220000 */ lw $v0, ($s1) +/* DB2B64 802408A4 3C034000 */ lui $v1, 0x4000 +/* DB2B68 802408A8 00431024 */ and $v0, $v0, $v1 +/* DB2B6C 802408AC 10400002 */ beqz $v0, .L802408B8 +/* DB2B70 802408B0 2402000C */ addiu $v0, $zero, 0xc +/* DB2B74 802408B4 AE620070 */ sw $v0, 0x70($s3) +.L802408B8: +/* DB2B78 802408B8 3C06BFFF */ lui $a2, 0xbfff +/* DB2B7C 802408BC 34C6FFFF */ ori $a2, $a2, 0xffff +/* DB2B80 802408C0 27A50038 */ addiu $a1, $sp, 0x38 +/* DB2B84 802408C4 2404FFFB */ addiu $a0, $zero, -5 +/* DB2B88 802408C8 8E2200B0 */ lw $v0, 0xb0($s1) +/* DB2B8C 802408CC 8E230000 */ lw $v1, ($s1) +/* DB2B90 802408D0 3C0142C8 */ lui $at, 0x42c8 +/* DB2B94 802408D4 44810000 */ mtc1 $at, $f0 +/* DB2B98 802408D8 00441024 */ and $v0, $v0, $a0 +/* DB2B9C 802408DC 00661824 */ and $v1, $v1, $a2 +/* DB2BA0 802408E0 AE2200B0 */ sw $v0, 0xb0($s1) +/* DB2BA4 802408E4 AE230000 */ sw $v1, ($s1) +/* DB2BA8 802408E8 864200A8 */ lh $v0, 0xa8($s2) +/* DB2BAC 802408EC 27A70040 */ addiu $a3, $sp, 0x40 +/* DB2BB0 802408F0 E7A00044 */ swc1 $f0, 0x44($sp) +/* DB2BB4 802408F4 C6460038 */ lwc1 $f6, 0x38($s2) +/* DB2BB8 802408F8 C640003C */ lwc1 $f0, 0x3c($s2) +/* DB2BBC 802408FC C6420040 */ lwc1 $f2, 0x40($s2) +/* DB2BC0 80240900 44822000 */ mtc1 $v0, $f4 +/* DB2BC4 80240904 00000000 */ nop +/* DB2BC8 80240908 46802120 */ cvt.s.w $f4, $f4 +/* DB2BCC 8024090C 27A20044 */ addiu $v0, $sp, 0x44 +/* DB2BD0 80240910 46040000 */ add.s $f0, $f0, $f4 +/* DB2BD4 80240914 E7A60038 */ swc1 $f6, 0x38($sp) +/* DB2BD8 80240918 E7A20040 */ swc1 $f2, 0x40($sp) +/* DB2BDC 8024091C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DB2BE0 80240920 AFA20010 */ sw $v0, 0x10($sp) +/* DB2BE4 80240924 8E440080 */ lw $a0, 0x80($s2) +/* DB2BE8 80240928 0C0372DF */ jal func_800DCB7C +/* DB2BEC 8024092C 27A6003C */ addiu $a2, $sp, 0x3c +/* DB2BF0 80240930 10400003 */ beqz $v0, .L80240940 +/* DB2BF4 80240934 00000000 */ nop +/* DB2BF8 80240938 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DB2BFC 8024093C E640003C */ swc1 $f0, 0x3c($s2) +.L80240940: +/* DB2C00 80240940 8E630070 */ lw $v1, 0x70($s3) +/* DB2C04 80240944 2C620064 */ sltiu $v0, $v1, 0x64 +/* DB2C08 80240948 10400038 */ beqz $v0, .L80240A2C +/* DB2C0C 8024094C 00031080 */ sll $v0, $v1, 2 +/* DB2C10 80240950 3C018024 */ lui $at, 0x8024 +/* DB2C14 80240954 00220821 */ addu $at, $at, $v0 +/* DB2C18 80240958 8C225460 */ lw $v0, 0x5460($at) +/* DB2C1C 8024095C 00400008 */ jr $v0 +/* DB2C20 80240960 00000000 */ nop +/* DB2C24 80240964 0260202D */ daddu $a0, $s3, $zero +/* DB2C28 80240968 0280282D */ daddu $a1, $s4, $zero +/* DB2C2C 8024096C 0C012568 */ jal func_800495A0 +/* DB2C30 80240970 02A0302D */ daddu $a2, $s5, $zero +/* DB2C34 80240974 0260202D */ daddu $a0, $s3, $zero +/* DB2C38 80240978 0280282D */ daddu $a1, $s4, $zero +/* DB2C3C 8024097C 0C0125AE */ jal func_800496B8 +/* DB2C40 80240980 02A0302D */ daddu $a2, $s5, $zero +/* DB2C44 80240984 0809028B */ j .L80240A2C +/* DB2C48 80240988 00000000 */ nop +/* DB2C4C 8024098C 0260202D */ daddu $a0, $s3, $zero +/* DB2C50 80240990 0280282D */ daddu $a1, $s4, $zero +/* DB2C54 80240994 0C09015B */ jal func_8024056C +/* DB2C58 80240998 02A0302D */ daddu $a2, $s5, $zero +/* DB2C5C 8024099C 0260202D */ daddu $a0, $s3, $zero +/* DB2C60 802409A0 0280282D */ daddu $a1, $s4, $zero +/* DB2C64 802409A4 0C09016F */ jal func_802405BC +/* DB2C68 802409A8 02A0302D */ daddu $a2, $s5, $zero +/* DB2C6C 802409AC 0809028B */ j .L80240A2C +/* DB2C70 802409B0 00000000 */ nop +/* DB2C74 802409B4 0260202D */ daddu $a0, $s3, $zero +/* DB2C78 802409B8 0280282D */ daddu $a1, $s4, $zero +/* DB2C7C 802409BC 0C01278F */ jal func_80049E3C +/* DB2C80 802409C0 02A0302D */ daddu $a2, $s5, $zero +/* DB2C84 802409C4 0260202D */ daddu $a0, $s3, $zero +/* DB2C88 802409C8 0280282D */ daddu $a1, $s4, $zero +/* DB2C8C 802409CC 0C0127B3 */ jal func_80049ECC +/* DB2C90 802409D0 02A0302D */ daddu $a2, $s5, $zero +/* DB2C94 802409D4 0809028B */ j .L80240A2C +/* DB2C98 802409D8 00000000 */ nop +/* DB2C9C 802409DC 0260202D */ daddu $a0, $s3, $zero +/* DB2CA0 802409E0 0280282D */ daddu $a1, $s4, $zero +/* DB2CA4 802409E4 0C0127DF */ jal func_80049F7C +/* DB2CA8 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* DB2CAC 802409EC 0260202D */ daddu $a0, $s3, $zero +/* DB2CB0 802409F0 0280282D */ daddu $a1, $s4, $zero +/* DB2CB4 802409F4 0C012849 */ jal func_8004A124 +/* DB2CB8 802409F8 02A0302D */ daddu $a2, $s5, $zero +/* DB2CBC 802409FC 8E630070 */ lw $v1, 0x70($s3) +/* DB2CC0 80240A00 2402000E */ addiu $v0, $zero, 0xe +/* DB2CC4 80240A04 14620009 */ bne $v1, $v0, .L80240A2C +/* DB2CC8 80240A08 00000000 */ nop +/* DB2CCC 80240A0C 0260202D */ daddu $a0, $s3, $zero +/* DB2CD0 80240A10 0280282D */ daddu $a1, $s4, $zero +/* DB2CD4 80240A14 0C0128FA */ jal func_8004A3E8 +/* DB2CD8 80240A18 02A0302D */ daddu $a2, $s5, $zero +/* DB2CDC 80240A1C 0809028B */ j .L80240A2C +/* DB2CE0 80240A20 00000000 */ nop +/* DB2CE4 80240A24 0C0129CF */ jal func_8004A73C +/* DB2CE8 80240A28 0260202D */ daddu $a0, $s3, $zero +.L80240A2C: +/* DB2CEC 80240A2C 8FBF0060 */ lw $ra, 0x60($sp) +/* DB2CF0 80240A30 8FB5005C */ lw $s5, 0x5c($sp) +/* DB2CF4 80240A34 8FB40058 */ lw $s4, 0x58($sp) +/* DB2CF8 80240A38 8FB30054 */ lw $s3, 0x54($sp) +/* DB2CFC 80240A3C 8FB20050 */ lw $s2, 0x50($sp) +/* DB2D00 80240A40 8FB1004C */ lw $s1, 0x4c($sp) +/* DB2D04 80240A44 8FB00048 */ lw $s0, 0x48($sp) +/* DB2D08 80240A48 0000102D */ daddu $v0, $zero, $zero +/* DB2D0C 80240A4C 03E00008 */ jr $ra +/* DB2D10 80240A50 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240A54_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240A54_DB22C0.s new file mode 100644 index 0000000000..f3f724b1e7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240A54_DB22C0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A54_DB2D14 +/* DB2D14 80240A54 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DB2D18 80240A58 AFB3002C */ sw $s3, 0x2c($sp) +/* DB2D1C 80240A5C 0080982D */ daddu $s3, $a0, $zero +/* DB2D20 80240A60 AFBF0030 */ sw $ra, 0x30($sp) +/* DB2D24 80240A64 AFB20028 */ sw $s2, 0x28($sp) +/* DB2D28 80240A68 AFB10024 */ sw $s1, 0x24($sp) +/* DB2D2C 80240A6C AFB00020 */ sw $s0, 0x20($sp) +/* DB2D30 80240A70 8E710148 */ lw $s1, 0x148($s3) +/* DB2D34 80240A74 86240008 */ lh $a0, 8($s1) +/* DB2D38 80240A78 0C00EABB */ jal get_npc_unsafe +/* DB2D3C 80240A7C 00A0902D */ daddu $s2, $a1, $zero +/* DB2D40 80240A80 8E440004 */ lw $a0, 4($s2) +/* DB2D44 80240A84 0040802D */ daddu $s0, $v0, $zero +/* DB2D48 80240A88 00041FC2 */ srl $v1, $a0, 0x1f +/* DB2D4C 80240A8C 00832021 */ addu $a0, $a0, $v1 +/* DB2D50 80240A90 00042043 */ sra $a0, $a0, 1 +/* DB2D54 80240A94 0C00A67F */ jal rand_int +/* DB2D58 80240A98 24840001 */ addiu $a0, $a0, 1 +/* DB2D5C 80240A9C 8E430004 */ lw $v1, 4($s2) +/* DB2D60 80240AA0 000327C2 */ srl $a0, $v1, 0x1f +/* DB2D64 80240AA4 00641821 */ addu $v1, $v1, $a0 +/* DB2D68 80240AA8 00031843 */ sra $v1, $v1, 1 +/* DB2D6C 80240AAC 00621821 */ addu $v1, $v1, $v0 +/* DB2D70 80240AB0 A603008E */ sh $v1, 0x8e($s0) +/* DB2D74 80240AB4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB2D78 80240AB8 C6000040 */ lwc1 $f0, 0x40($s0) +/* DB2D7C 80240ABC C4640000 */ lwc1 $f4, ($v1) +/* DB2D80 80240AC0 46802120 */ cvt.s.w $f4, $f4 +/* DB2D84 80240AC4 C4620008 */ lwc1 $f2, 8($v1) +/* DB2D88 80240AC8 468010A0 */ cvt.s.w $f2, $f2 +/* DB2D8C 80240ACC E7A00010 */ swc1 $f0, 0x10($sp) +/* DB2D90 80240AD0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB2D94 80240AD4 44061000 */ mfc1 $a2, $f2 +/* DB2D98 80240AD8 C440000C */ lwc1 $f0, 0xc($v0) +/* DB2D9C 80240ADC 46800020 */ cvt.s.w $f0, $f0 +/* DB2DA0 80240AE0 E7A00014 */ swc1 $f0, 0x14($sp) +/* DB2DA4 80240AE4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB2DA8 80240AE8 44052000 */ mfc1 $a1, $f4 +/* DB2DAC 80240AEC C4400010 */ lwc1 $f0, 0x10($v0) +/* DB2DB0 80240AF0 46800020 */ cvt.s.w $f0, $f0 +/* DB2DB4 80240AF4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB2DB8 80240AF8 8C640018 */ lw $a0, 0x18($v1) +/* DB2DBC 80240AFC 0C0123F5 */ jal is_point_within_region +/* DB2DC0 80240B00 8E070038 */ lw $a3, 0x38($s0) +/* DB2DC4 80240B04 1040000E */ beqz $v0, .L80240B40 +/* DB2DC8 80240B08 00000000 */ nop +/* DB2DCC 80240B0C 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB2DD0 80240B10 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DB2DD4 80240B14 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DB2DD8 80240B18 C4460000 */ lwc1 $f6, ($v0) +/* DB2DDC 80240B1C 468031A0 */ cvt.s.w $f6, $f6 +/* DB2DE0 80240B20 44063000 */ mfc1 $a2, $f6 +/* DB2DE4 80240B24 C4460008 */ lwc1 $f6, 8($v0) +/* DB2DE8 80240B28 468031A0 */ cvt.s.w $f6, $f6 +/* DB2DEC 80240B2C 44073000 */ mfc1 $a3, $f6 +/* DB2DF0 80240B30 0C00A720 */ jal atan2 +/* DB2DF4 80240B34 00000000 */ nop +/* DB2DF8 80240B38 080902DC */ j .L80240B70 +/* DB2DFC 80240B3C E600000C */ swc1 $f0, 0xc($s0) +.L80240B40: +/* DB2E00 80240B40 0C00A67F */ jal rand_int +/* DB2E04 80240B44 2404003C */ addiu $a0, $zero, 0x3c +/* DB2E08 80240B48 C60C000C */ lwc1 $f12, 0xc($s0) +/* DB2E0C 80240B4C 44820000 */ mtc1 $v0, $f0 +/* DB2E10 80240B50 00000000 */ nop +/* DB2E14 80240B54 46800020 */ cvt.s.w $f0, $f0 +/* DB2E18 80240B58 46006300 */ add.s $f12, $f12, $f0 +/* DB2E1C 80240B5C 3C0141F0 */ lui $at, 0x41f0 +/* DB2E20 80240B60 44810000 */ mtc1 $at, $f0 +/* DB2E24 80240B64 0C00A6C9 */ jal clamp_angle +/* DB2E28 80240B68 46006301 */ sub.s $f12, $f12, $f0 +/* DB2E2C 80240B6C E600000C */ swc1 $f0, 0xc($s0) +.L80240B70: +/* DB2E30 80240B70 8E2200CC */ lw $v0, 0xcc($s1) +/* DB2E34 80240B74 8C420004 */ lw $v0, 4($v0) +/* DB2E38 80240B78 AE020028 */ sw $v0, 0x28($s0) +/* DB2E3C 80240B7C AE600074 */ sw $zero, 0x74($s3) +/* DB2E40 80240B80 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB2E44 80240B84 8C420014 */ lw $v0, 0x14($v0) +/* DB2E48 80240B88 04410004 */ bgez $v0, .L80240B9C +/* DB2E4C 80240B8C 00000000 */ nop +/* DB2E50 80240B90 C6400000 */ lwc1 $f0, ($s2) +/* DB2E54 80240B94 080902EF */ j .L80240BBC +/* DB2E58 80240B98 E6000018 */ swc1 $f0, 0x18($s0) +.L80240B9C: +/* DB2E5C 80240B9C 3C018024 */ lui $at, 0x8024 +/* DB2E60 80240BA0 D42255F0 */ ldc1 $f2, 0x55f0($at) +/* DB2E64 80240BA4 44820000 */ mtc1 $v0, $f0 +/* DB2E68 80240BA8 00000000 */ nop +/* DB2E6C 80240BAC 46800021 */ cvt.d.w $f0, $f0 +/* DB2E70 80240BB0 46220003 */ div.d $f0, $f0, $f2 +/* DB2E74 80240BB4 46200020 */ cvt.s.d $f0, $f0 +/* DB2E78 80240BB8 E6000018 */ swc1 $f0, 0x18($s0) +.L80240BBC: +/* DB2E7C 80240BBC C600003C */ lwc1 $f0, 0x3c($s0) +/* DB2E80 80240BC0 3C014059 */ lui $at, 0x4059 +/* DB2E84 80240BC4 44811800 */ mtc1 $at, $f3 +/* DB2E88 80240BC8 44801000 */ mtc1 $zero, $f2 +/* DB2E8C 80240BCC 46000021 */ cvt.d.s $f0, $f0 +/* DB2E90 80240BD0 46220002 */ mul.d $f0, $f0, $f2 +/* DB2E94 80240BD4 00000000 */ nop +/* DB2E98 80240BD8 24020001 */ addiu $v0, $zero, 1 +/* DB2E9C 80240BDC 4620018D */ trunc.w.d $f6, $f0 +/* DB2EA0 80240BE0 E626007C */ swc1 $f6, 0x7c($s1) +/* DB2EA4 80240BE4 AE620070 */ sw $v0, 0x70($s3) +/* DB2EA8 80240BE8 8FBF0030 */ lw $ra, 0x30($sp) +/* DB2EAC 80240BEC 8FB3002C */ lw $s3, 0x2c($sp) +/* DB2EB0 80240BF0 8FB20028 */ lw $s2, 0x28($sp) +/* DB2EB4 80240BF4 8FB10024 */ lw $s1, 0x24($sp) +/* DB2EB8 80240BF8 8FB00020 */ lw $s0, 0x20($sp) +/* DB2EBC 80240BFC 03E00008 */ jr $ra +/* DB2EC0 80240C00 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80240C04.s b/asm/nonmatchings/world/area_omo/omo_05/func_80240C04.s new file mode 100644 index 0000000000..73d8a5732c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80240C04.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C04 +/* DB2EC4 80240C04 27BDFF80 */ addiu $sp, $sp, -0x80 +/* DB2EC8 80240C08 AFB3004C */ sw $s3, 0x4c($sp) +/* DB2ECC 80240C0C 0080982D */ daddu $s3, $a0, $zero +/* DB2ED0 80240C10 AFBF0058 */ sw $ra, 0x58($sp) +/* DB2ED4 80240C14 AFB50054 */ sw $s5, 0x54($sp) +/* DB2ED8 80240C18 AFB40050 */ sw $s4, 0x50($sp) +/* DB2EDC 80240C1C AFB20048 */ sw $s2, 0x48($sp) +/* DB2EE0 80240C20 AFB10044 */ sw $s1, 0x44($sp) +/* DB2EE4 80240C24 AFB00040 */ sw $s0, 0x40($sp) +/* DB2EE8 80240C28 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* DB2EEC 80240C2C F7B80070 */ sdc1 $f24, 0x70($sp) +/* DB2EF0 80240C30 F7B60068 */ sdc1 $f22, 0x68($sp) +/* DB2EF4 80240C34 F7B40060 */ sdc1 $f20, 0x60($sp) +/* DB2EF8 80240C38 8E710148 */ lw $s1, 0x148($s3) +/* DB2EFC 80240C3C 00A0902D */ daddu $s2, $a1, $zero +/* DB2F00 80240C40 86240008 */ lh $a0, 8($s1) +/* DB2F04 80240C44 0C00EABB */ jal get_npc_unsafe +/* DB2F08 80240C48 00C0A82D */ daddu $s5, $a2, $zero +/* DB2F0C 80240C4C 0040802D */ daddu $s0, $v0, $zero +/* DB2F10 80240C50 0000A02D */ daddu $s4, $zero, $zero +/* DB2F14 80240C54 C624007C */ lwc1 $f4, 0x7c($s1) +/* DB2F18 80240C58 46802120 */ cvt.s.w $f4, $f4 +/* DB2F1C 80240C5C C6220088 */ lwc1 $f2, 0x88($s1) +/* DB2F20 80240C60 468010A0 */ cvt.s.w $f2, $f2 +/* DB2F24 80240C64 460010A1 */ cvt.d.s $f2, $f2 +/* DB2F28 80240C68 46002121 */ cvt.d.s $f4, $f4 +/* DB2F2C 80240C6C C600003C */ lwc1 $f0, 0x3c($s0) +/* DB2F30 80240C70 3C014059 */ lui $at, 0x4059 +/* DB2F34 80240C74 44813800 */ mtc1 $at, $f7 +/* DB2F38 80240C78 44803000 */ mtc1 $zero, $f6 +/* DB2F3C 80240C7C 46000021 */ cvt.d.s $f0, $f0 +/* DB2F40 80240C80 46260002 */ mul.d $f0, $f0, $f6 +/* DB2F44 80240C84 00000000 */ nop +/* DB2F48 80240C88 24020001 */ addiu $v0, $zero, 1 +/* DB2F4C 80240C8C 8E24006C */ lw $a0, 0x6c($s1) +/* DB2F50 80240C90 46261083 */ div.d $f2, $f2, $f6 +/* DB2F54 80240C94 462010A0 */ cvt.s.d $f2, $f2 +/* DB2F58 80240C98 46262103 */ div.d $f4, $f4, $f6 +/* DB2F5C 80240C9C 46202520 */ cvt.s.d $f20, $f4 +/* DB2F60 80240CA0 30830011 */ andi $v1, $a0, 0x11 +/* DB2F64 80240CA4 4620020D */ trunc.w.d $f8, $f0 +/* DB2F68 80240CA8 E628007C */ swc1 $f8, 0x7c($s1) +/* DB2F6C 80240CAC C6200078 */ lwc1 $f0, 0x78($s1) +/* DB2F70 80240CB0 46800020 */ cvt.s.w $f0, $f0 +/* DB2F74 80240CB4 46000021 */ cvt.d.s $f0, $f0 +/* DB2F78 80240CB8 46260003 */ div.d $f0, $f0, $f6 +/* DB2F7C 80240CBC 462006A0 */ cvt.s.d $f26, $f0 +/* DB2F80 80240CC0 C6200070 */ lwc1 $f0, 0x70($s1) +/* DB2F84 80240CC4 46800020 */ cvt.s.w $f0, $f0 +/* DB2F88 80240CC8 46000021 */ cvt.d.s $f0, $f0 +/* DB2F8C 80240CCC 46260003 */ div.d $f0, $f0, $f6 +/* DB2F90 80240CD0 462005A0 */ cvt.s.d $f22, $f0 +/* DB2F94 80240CD4 14620025 */ bne $v1, $v0, .L80240D6C +/* DB2F98 80240CD8 4602D600 */ add.s $f24, $f26, $f2 +/* DB2F9C 80240CDC 8E020000 */ lw $v0, ($s0) +/* DB2FA0 80240CE0 30420008 */ andi $v0, $v0, 8 +/* DB2FA4 80240CE4 10400009 */ beqz $v0, .L80240D0C +/* DB2FA8 80240CE8 27A50028 */ addiu $a1, $sp, 0x28 +/* DB2FAC 80240CEC C600003C */ lwc1 $f0, 0x3c($s0) +/* DB2FB0 80240CF0 4600C001 */ sub.s $f0, $f24, $f0 +/* DB2FB4 80240CF4 4600B03C */ c.lt.s $f22, $f0 +/* DB2FB8 80240CF8 00000000 */ nop +/* DB2FBC 80240CFC 4500001B */ bc1f .L80240D6C +/* DB2FC0 80240D00 34820010 */ ori $v0, $a0, 0x10 +/* DB2FC4 80240D04 0809035B */ j .L80240D6C +/* DB2FC8 80240D08 AE22006C */ sw $v0, 0x6c($s1) +.L80240D0C: +/* DB2FCC 80240D0C 27A6002C */ addiu $a2, $sp, 0x2c +/* DB2FD0 80240D10 C6000038 */ lwc1 $f0, 0x38($s0) +/* DB2FD4 80240D14 C602003C */ lwc1 $f2, 0x3c($s0) +/* DB2FD8 80240D18 C6040040 */ lwc1 $f4, 0x40($s0) +/* DB2FDC 80240D1C 3C01447A */ lui $at, 0x447a +/* DB2FE0 80240D20 44813000 */ mtc1 $at, $f6 +/* DB2FE4 80240D24 27A20034 */ addiu $v0, $sp, 0x34 +/* DB2FE8 80240D28 E7A00028 */ swc1 $f0, 0x28($sp) +/* DB2FEC 80240D2C E7A2002C */ swc1 $f2, 0x2c($sp) +/* DB2FF0 80240D30 E7A40030 */ swc1 $f4, 0x30($sp) +/* DB2FF4 80240D34 E7A60034 */ swc1 $f6, 0x34($sp) +/* DB2FF8 80240D38 AFA20010 */ sw $v0, 0x10($sp) +/* DB2FFC 80240D3C 8E040080 */ lw $a0, 0x80($s0) +/* DB3000 80240D40 0C0372DF */ jal func_800DCB7C +/* DB3004 80240D44 27A70030 */ addiu $a3, $sp, 0x30 +/* DB3008 80240D48 C7A00034 */ lwc1 $f0, 0x34($sp) +/* DB300C 80240D4C 4600D001 */ sub.s $f0, $f26, $f0 +/* DB3010 80240D50 4600B03C */ c.lt.s $f22, $f0 +/* DB3014 80240D54 00000000 */ nop +/* DB3018 80240D58 45000004 */ bc1f .L80240D6C +/* DB301C 80240D5C 00000000 */ nop +/* DB3020 80240D60 8E22006C */ lw $v0, 0x6c($s1) +/* DB3024 80240D64 34420010 */ ori $v0, $v0, 0x10 +/* DB3028 80240D68 AE22006C */ sw $v0, 0x6c($s1) +.L80240D6C: +/* DB302C 80240D6C 8E22006C */ lw $v0, 0x6c($s1) +/* DB3030 80240D70 24030011 */ addiu $v1, $zero, 0x11 +/* DB3034 80240D74 30420011 */ andi $v0, $v0, 0x11 +/* DB3038 80240D78 14430039 */ bne $v0, $v1, .L80240E60 +/* DB303C 80240D7C 00000000 */ nop +/* DB3040 80240D80 8E020000 */ lw $v0, ($s0) +/* DB3044 80240D84 30420008 */ andi $v0, $v0, 8 +/* DB3048 80240D88 1040000A */ beqz $v0, .L80240DB4 +/* DB304C 80240D8C 4600C106 */ mov.s $f4, $f24 +/* DB3050 80240D90 4614C081 */ sub.s $f2, $f24, $f20 +/* DB3054 80240D94 3C018024 */ lui $at, 0x8024 +/* DB3058 80240D98 D42055F8 */ ldc1 $f0, 0x55f8($at) +/* DB305C 80240D9C 460010A1 */ cvt.d.s $f2, $f2 +/* DB3060 80240DA0 46201082 */ mul.d $f2, $f2, $f0 +/* DB3064 80240DA4 00000000 */ nop +/* DB3068 80240DA8 4600A021 */ cvt.d.s $f0, $f20 +/* DB306C 80240DAC 08090386 */ j .L80240E18 +/* DB3070 80240DB0 46220000 */ add.d $f0, $f0, $f2 +.L80240DB4: +/* DB3074 80240DB4 27A50028 */ addiu $a1, $sp, 0x28 +/* DB3078 80240DB8 27A6002C */ addiu $a2, $sp, 0x2c +/* DB307C 80240DBC C6000038 */ lwc1 $f0, 0x38($s0) +/* DB3080 80240DC0 C6020040 */ lwc1 $f2, 0x40($s0) +/* DB3084 80240DC4 3C01447A */ lui $at, 0x447a +/* DB3088 80240DC8 44812000 */ mtc1 $at, $f4 +/* DB308C 80240DCC 27A20034 */ addiu $v0, $sp, 0x34 +/* DB3090 80240DD0 E7B4002C */ swc1 $f20, 0x2c($sp) +/* DB3094 80240DD4 E7A00028 */ swc1 $f0, 0x28($sp) +/* DB3098 80240DD8 E7A20030 */ swc1 $f2, 0x30($sp) +/* DB309C 80240DDC E7A40034 */ swc1 $f4, 0x34($sp) +/* DB30A0 80240DE0 AFA20010 */ sw $v0, 0x10($sp) +/* DB30A4 80240DE4 8E040080 */ lw $a0, 0x80($s0) +/* DB30A8 80240DE8 0C0372DF */ jal func_800DCB7C +/* DB30AC 80240DEC 27A70030 */ addiu $a3, $sp, 0x30 +/* DB30B0 80240DF0 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* DB30B4 80240DF4 461A2100 */ add.s $f4, $f4, $f26 +/* DB30B8 80240DF8 46142081 */ sub.s $f2, $f4, $f20 +/* DB30BC 80240DFC 3C018024 */ lui $at, 0x8024 +/* DB30C0 80240E00 D4205600 */ ldc1 $f0, 0x5600($at) +/* DB30C4 80240E04 460010A1 */ cvt.d.s $f2, $f2 +/* DB30C8 80240E08 46201082 */ mul.d $f2, $f2, $f0 +/* DB30CC 80240E0C 00000000 */ nop +/* DB30D0 80240E10 4600A021 */ cvt.d.s $f0, $f20 +/* DB30D4 80240E14 46220000 */ add.d $f0, $f0, $f2 +.L80240E18: +/* DB30D8 80240E18 46200020 */ cvt.s.d $f0, $f0 +/* DB30DC 80240E1C E600003C */ swc1 $f0, 0x3c($s0) +/* DB30E0 80240E20 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB30E4 80240E24 46002001 */ sub.s $f0, $f4, $f0 +/* DB30E8 80240E28 3C013FF0 */ lui $at, 0x3ff0 +/* DB30EC 80240E2C 44811800 */ mtc1 $at, $f3 +/* DB30F0 80240E30 44801000 */ mtc1 $zero, $f2 +/* DB30F4 80240E34 46000005 */ abs.s $f0, $f0 +/* DB30F8 80240E38 46000021 */ cvt.d.s $f0, $f0 +/* DB30FC 80240E3C 4622003C */ c.lt.d $f0, $f2 +/* DB3100 80240E40 00000000 */ nop +/* DB3104 80240E44 45000036 */ bc1f .L80240F20 +/* DB3108 80240E48 2403FFEF */ addiu $v1, $zero, -0x11 +/* DB310C 80240E4C E604003C */ swc1 $f4, 0x3c($s0) +/* DB3110 80240E50 8E22006C */ lw $v0, 0x6c($s1) +/* DB3114 80240E54 00431024 */ and $v0, $v0, $v1 +/* DB3118 80240E58 080903C8 */ j .L80240F20 +/* DB311C 80240E5C AE22006C */ sw $v0, 0x6c($s1) +.L80240E60: +/* DB3120 80240E60 8E220070 */ lw $v0, 0x70($s1) +/* DB3124 80240E64 1840002E */ blez $v0, .L80240F20 +/* DB3128 80240E68 00000000 */ nop +/* DB312C 80240E6C C62C0074 */ lwc1 $f12, 0x74($s1) +/* DB3130 80240E70 0C00A8BB */ jal sin_deg +/* DB3134 80240E74 46806320 */ cvt.s.w $f12, $f12 +/* DB3138 80240E78 8E020000 */ lw $v0, ($s0) +/* DB313C 80240E7C 30420008 */ andi $v0, $v0, 8 +/* DB3140 80240E80 10400003 */ beqz $v0, .L80240E90 +/* DB3144 80240E84 46000506 */ mov.s $f20, $f0 +/* DB3148 80240E88 080903B4 */ j .L80240ED0 +/* DB314C 80240E8C 0000102D */ daddu $v0, $zero, $zero +.L80240E90: +/* DB3150 80240E90 27A50028 */ addiu $a1, $sp, 0x28 +/* DB3154 80240E94 27A6002C */ addiu $a2, $sp, 0x2c +/* DB3158 80240E98 C6000038 */ lwc1 $f0, 0x38($s0) +/* DB315C 80240E9C C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3160 80240EA0 C6040040 */ lwc1 $f4, 0x40($s0) +/* DB3164 80240EA4 3C01447A */ lui $at, 0x447a +/* DB3168 80240EA8 44813000 */ mtc1 $at, $f6 +/* DB316C 80240EAC 27A20034 */ addiu $v0, $sp, 0x34 +/* DB3170 80240EB0 E7A00028 */ swc1 $f0, 0x28($sp) +/* DB3174 80240EB4 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DB3178 80240EB8 E7A40030 */ swc1 $f4, 0x30($sp) +/* DB317C 80240EBC E7A60034 */ swc1 $f6, 0x34($sp) +/* DB3180 80240EC0 AFA20010 */ sw $v0, 0x10($sp) +/* DB3184 80240EC4 8E040080 */ lw $a0, 0x80($s0) +/* DB3188 80240EC8 0C0372DF */ jal func_800DCB7C +/* DB318C 80240ECC 27A70030 */ addiu $a3, $sp, 0x30 +.L80240ED0: +/* DB3190 80240ED0 10400007 */ beqz $v0, .L80240EF0 +/* DB3194 80240ED4 00000000 */ nop +/* DB3198 80240ED8 4616A082 */ mul.s $f2, $f20, $f22 +/* DB319C 80240EDC 00000000 */ nop +/* DB31A0 80240EE0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DB31A4 80240EE4 461A0000 */ add.s $f0, $f0, $f26 +/* DB31A8 80240EE8 080903BF */ j .L80240EFC +/* DB31AC 80240EEC 46020000 */ add.s $f0, $f0, $f2 +.L80240EF0: +/* DB31B0 80240EF0 4616A002 */ mul.s $f0, $f20, $f22 +/* DB31B4 80240EF4 00000000 */ nop +/* DB31B8 80240EF8 4600C000 */ add.s $f0, $f24, $f0 +.L80240EFC: +/* DB31BC 80240EFC E600003C */ swc1 $f0, 0x3c($s0) +/* DB31C0 80240F00 8E220074 */ lw $v0, 0x74($s1) +/* DB31C4 80240F04 2442000A */ addiu $v0, $v0, 0xa +/* DB31C8 80240F08 44826000 */ mtc1 $v0, $f12 +/* DB31CC 80240F0C 00000000 */ nop +/* DB31D0 80240F10 0C00A6C9 */ jal clamp_angle +/* DB31D4 80240F14 46806320 */ cvt.s.w $f12, $f12 +/* DB31D8 80240F18 4600020D */ trunc.w.s $f8, $f0 +/* DB31DC 80240F1C E6280074 */ swc1 $f8, 0x74($s1) +.L80240F20: +/* DB31E0 80240F20 8E220090 */ lw $v0, 0x90($s1) +/* DB31E4 80240F24 1C40004A */ bgtz $v0, .L80241050 +/* DB31E8 80240F28 2442FFFF */ addiu $v0, $v0, -1 +/* DB31EC 80240F2C 8E430014 */ lw $v1, 0x14($s2) +/* DB31F0 80240F30 04600048 */ bltz $v1, .L80241054 +/* DB31F4 80240F34 00000000 */ nop +/* DB31F8 80240F38 8E620074 */ lw $v0, 0x74($s3) +/* DB31FC 80240F3C 1C400042 */ bgtz $v0, .L80241048 +/* DB3200 80240F40 2442FFFF */ addiu $v0, $v0, -1 +/* DB3204 80240F44 AE630074 */ sw $v1, 0x74($s3) +/* DB3208 80240F48 860200A8 */ lh $v0, 0xa8($s0) +/* DB320C 80240F4C C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3210 80240F50 44820000 */ mtc1 $v0, $f0 +/* DB3214 80240F54 00000000 */ nop +/* DB3218 80240F58 46800020 */ cvt.s.w $f0, $f0 +/* DB321C 80240F5C 46001080 */ add.s $f2, $f2, $f0 +/* DB3220 80240F60 3C014024 */ lui $at, 0x4024 +/* DB3224 80240F64 44810800 */ mtc1 $at, $f1 +/* DB3228 80240F68 44800000 */ mtc1 $zero, $f0 +/* DB322C 80240F6C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DB3230 80240F70 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DB3234 80240F74 460010A1 */ cvt.d.s $f2, $f2 +/* DB3238 80240F78 46201080 */ add.d $f2, $f2, $f0 +/* DB323C 80240F7C C440002C */ lwc1 $f0, 0x2c($v0) +/* DB3240 80240F80 46000021 */ cvt.d.s $f0, $f0 +/* DB3244 80240F84 4622003C */ c.lt.d $f0, $f2 +/* DB3248 80240F88 00000000 */ nop +/* DB324C 80240F8C 4500002C */ bc1f .L80241040 +/* DB3250 80240F90 02A0202D */ daddu $a0, $s5, $zero +/* DB3254 80240F94 AFA00010 */ sw $zero, 0x10($sp) +/* DB3258 80240F98 8E46000C */ lw $a2, 0xc($s2) +/* DB325C 80240F9C 8E470010 */ lw $a3, 0x10($s2) +/* DB3260 80240FA0 0C01242D */ jal func_800490B4 +/* DB3264 80240FA4 0220282D */ daddu $a1, $s1, $zero +/* DB3268 80240FA8 10400025 */ beqz $v0, .L80241040 +/* DB326C 80240FAC 0000202D */ daddu $a0, $zero, $zero +/* DB3270 80240FB0 0200282D */ daddu $a1, $s0, $zero +/* DB3274 80240FB4 0000302D */ daddu $a2, $zero, $zero +/* DB3278 80240FB8 2412000C */ addiu $s2, $zero, 0xc +/* DB327C 80240FBC 860300A8 */ lh $v1, 0xa8($s0) +/* DB3280 80240FC0 3C013F80 */ lui $at, 0x3f80 +/* DB3284 80240FC4 44810000 */ mtc1 $at, $f0 +/* DB3288 80240FC8 3C014000 */ lui $at, 0x4000 +/* DB328C 80240FCC 44811000 */ mtc1 $at, $f2 +/* DB3290 80240FD0 3C01C1A0 */ lui $at, 0xc1a0 +/* DB3294 80240FD4 44812000 */ mtc1 $at, $f4 +/* DB3298 80240FD8 44834000 */ mtc1 $v1, $f8 +/* DB329C 80240FDC 00000000 */ nop +/* DB32A0 80240FE0 46804220 */ cvt.s.w $f8, $f8 +/* DB32A4 80240FE4 44074000 */ mfc1 $a3, $f8 +/* DB32A8 80240FE8 27A20038 */ addiu $v0, $sp, 0x38 +/* DB32AC 80240FEC AFB2001C */ sw $s2, 0x1c($sp) +/* DB32B0 80240FF0 AFA20020 */ sw $v0, 0x20($sp) +/* DB32B4 80240FF4 E7A00010 */ swc1 $f0, 0x10($sp) +/* DB32B8 80240FF8 E7A20014 */ swc1 $f2, 0x14($sp) +/* DB32BC 80240FFC 0C01BFA4 */ jal fx_emote +/* DB32C0 80241000 E7A40018 */ swc1 $f4, 0x18($sp) +/* DB32C4 80241004 0200202D */ daddu $a0, $s0, $zero +/* DB32C8 80241008 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DB32CC 8024100C C480003C */ lwc1 $f0, 0x3c($a0) +/* DB32D0 80241010 3C060020 */ lui $a2, 0x20 +/* DB32D4 80241014 0C012530 */ jal func_800494C0 +/* DB32D8 80241018 E4800064 */ swc1 $f0, 0x64($a0) +/* DB32DC 8024101C 8E220018 */ lw $v0, 0x18($s1) +/* DB32E0 80241020 9442002A */ lhu $v0, 0x2a($v0) +/* DB32E4 80241024 30420001 */ andi $v0, $v0, 1 +/* DB32E8 80241028 10400003 */ beqz $v0, .L80241038 +/* DB32EC 8024102C 2402000A */ addiu $v0, $zero, 0xa +/* DB32F0 80241030 0809047E */ j .L802411F8 +/* DB32F4 80241034 AE620070 */ sw $v0, 0x70($s3) +.L80241038: +/* DB32F8 80241038 0809047E */ j .L802411F8 +/* DB32FC 8024103C AE720070 */ sw $s2, 0x70($s3) +.L80241040: +/* DB3300 80241040 8E620074 */ lw $v0, 0x74($s3) +/* DB3304 80241044 2442FFFF */ addiu $v0, $v0, -1 +.L80241048: +/* DB3308 80241048 08090415 */ j .L80241054 +/* DB330C 8024104C AE620074 */ sw $v0, 0x74($s3) +.L80241050: +/* DB3310 80241050 AE220090 */ sw $v0, 0x90($s1) +.L80241054: +/* DB3314 80241054 8E2300D0 */ lw $v1, 0xd0($s1) +/* DB3318 80241058 C6000040 */ lwc1 $f0, 0x40($s0) +/* DB331C 8024105C C4620000 */ lwc1 $f2, ($v1) +/* DB3320 80241060 468010A0 */ cvt.s.w $f2, $f2 +/* DB3324 80241064 C4640008 */ lwc1 $f4, 8($v1) +/* DB3328 80241068 46802120 */ cvt.s.w $f4, $f4 +/* DB332C 8024106C E7A00010 */ swc1 $f0, 0x10($sp) +/* DB3330 80241070 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB3334 80241074 44051000 */ mfc1 $a1, $f2 +/* DB3338 80241078 C440000C */ lwc1 $f0, 0xc($v0) +/* DB333C 8024107C 46800020 */ cvt.s.w $f0, $f0 +/* DB3340 80241080 E7A00014 */ swc1 $f0, 0x14($sp) +/* DB3344 80241084 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB3348 80241088 44062000 */ mfc1 $a2, $f4 +/* DB334C 8024108C C4400010 */ lwc1 $f0, 0x10($v0) +/* DB3350 80241090 46800020 */ cvt.s.w $f0, $f0 +/* DB3354 80241094 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB3358 80241098 8C640018 */ lw $a0, 0x18($v1) +/* DB335C 8024109C 0C0123F5 */ jal is_point_within_region +/* DB3360 802410A0 8E070038 */ lw $a3, 0x38($s0) +/* DB3364 802410A4 1040001A */ beqz $v0, .L80241110 +/* DB3368 802410A8 00000000 */ nop +/* DB336C 802410AC 8E060038 */ lw $a2, 0x38($s0) +/* DB3370 802410B0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB3374 802410B4 8E070040 */ lw $a3, 0x40($s0) +/* DB3378 802410B8 C44C0000 */ lwc1 $f12, ($v0) +/* DB337C 802410BC 46806320 */ cvt.s.w $f12, $f12 +/* DB3380 802410C0 C44E0008 */ lwc1 $f14, 8($v0) +/* DB3384 802410C4 0C00A7B5 */ jal dist2D +/* DB3388 802410C8 468073A0 */ cvt.s.w $f14, $f14 +/* DB338C 802410CC C6020018 */ lwc1 $f2, 0x18($s0) +/* DB3390 802410D0 4600103C */ c.lt.s $f2, $f0 +/* DB3394 802410D4 00000000 */ nop +/* DB3398 802410D8 4500000D */ bc1f .L80241110 +/* DB339C 802410DC E7A00034 */ swc1 $f0, 0x34($sp) +/* DB33A0 802410E0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DB33A4 802410E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB33A8 802410E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DB33AC 802410EC C4480000 */ lwc1 $f8, ($v0) +/* DB33B0 802410F0 46804220 */ cvt.s.w $f8, $f8 +/* DB33B4 802410F4 44064000 */ mfc1 $a2, $f8 +/* DB33B8 802410F8 C4480008 */ lwc1 $f8, 8($v0) +/* DB33BC 802410FC 46804220 */ cvt.s.w $f8, $f8 +/* DB33C0 80241100 44074000 */ mfc1 $a3, $f8 +/* DB33C4 80241104 0C00A720 */ jal atan2 +/* DB33C8 80241108 24140001 */ addiu $s4, $zero, 1 +/* DB33CC 8024110C E600000C */ swc1 $f0, 0xc($s0) +.L80241110: +/* DB33D0 80241110 8E2200D0 */ lw $v0, 0xd0($s1) +/* DB33D4 80241114 8C43000C */ lw $v1, 0xc($v0) +/* DB33D8 80241118 8C420010 */ lw $v0, 0x10($v0) +/* DB33DC 8024111C 00621825 */ or $v1, $v1, $v0 +/* DB33E0 80241120 00741825 */ or $v1, $v1, $s4 +/* DB33E4 80241124 10600008 */ beqz $v1, .L80241148 +/* DB33E8 80241128 00000000 */ nop +/* DB33EC 8024112C 8602008C */ lh $v0, 0x8c($s0) +/* DB33F0 80241130 14400031 */ bnez $v0, .L802411F8 +/* DB33F4 80241134 00000000 */ nop +/* DB33F8 80241138 8E050018 */ lw $a1, 0x18($s0) +/* DB33FC 8024113C 8E06000C */ lw $a2, 0xc($s0) +/* DB3400 80241140 0C00EA95 */ jal npc_move_heading +/* DB3404 80241144 0200202D */ daddu $a0, $s0, $zero +.L80241148: +/* DB3408 80241148 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB340C 8024114C 3C014059 */ lui $at, 0x4059 +/* DB3410 80241150 44811800 */ mtc1 $at, $f3 +/* DB3414 80241154 44801000 */ mtc1 $zero, $f2 +/* DB3418 80241158 46000021 */ cvt.d.s $f0, $f0 +/* DB341C 8024115C 46220002 */ mul.d $f0, $f0, $f2 +/* DB3420 80241160 00000000 */ nop +/* DB3424 80241164 4620020D */ trunc.w.d $f8, $f0 +/* DB3428 80241168 E628007C */ swc1 $f8, 0x7c($s1) +/* DB342C 8024116C 8E420004 */ lw $v0, 4($s2) +/* DB3430 80241170 18400021 */ blez $v0, .L802411F8 +/* DB3434 80241174 00000000 */ nop +/* DB3438 80241178 8602008E */ lh $v0, 0x8e($s0) +/* DB343C 8024117C 9603008E */ lhu $v1, 0x8e($s0) +/* DB3440 80241180 18400005 */ blez $v0, .L80241198 +/* DB3444 80241184 2462FFFF */ addiu $v0, $v1, -1 +/* DB3448 80241188 A602008E */ sh $v0, 0x8e($s0) +/* DB344C 8024118C 00021400 */ sll $v0, $v0, 0x10 +/* DB3450 80241190 1C400019 */ bgtz $v0, .L802411F8 +/* DB3454 80241194 00000000 */ nop +.L80241198: +/* DB3458 80241198 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DB345C 8024119C 24020002 */ addiu $v0, $zero, 2 +/* DB3460 802411A0 0C00A67F */ jal rand_int +/* DB3464 802411A4 AE620070 */ sw $v0, 0x70($s3) +/* DB3468 802411A8 3C035555 */ lui $v1, 0x5555 +/* DB346C 802411AC 34635556 */ ori $v1, $v1, 0x5556 +/* DB3470 802411B0 00430018 */ mult $v0, $v1 +/* DB3474 802411B4 000227C3 */ sra $a0, $v0, 0x1f +/* DB3478 802411B8 00004010 */ mfhi $t0 +/* DB347C 802411BC 01042023 */ subu $a0, $t0, $a0 +/* DB3480 802411C0 00041840 */ sll $v1, $a0, 1 +/* DB3484 802411C4 00641821 */ addu $v1, $v1, $a0 +/* DB3488 802411C8 00431023 */ subu $v0, $v0, $v1 +/* DB348C 802411CC 24430002 */ addiu $v1, $v0, 2 +/* DB3490 802411D0 AE630074 */ sw $v1, 0x74($s3) +/* DB3494 802411D4 8E42002C */ lw $v0, 0x2c($s2) +/* DB3498 802411D8 58400007 */ blezl $v0, .L802411F8 +/* DB349C 802411DC AE600070 */ sw $zero, 0x70($s3) +/* DB34A0 802411E0 8E420008 */ lw $v0, 8($s2) +/* DB34A4 802411E4 18400003 */ blez $v0, .L802411F4 +/* DB34A8 802411E8 28620003 */ slti $v0, $v1, 3 +/* DB34AC 802411EC 10400002 */ beqz $v0, .L802411F8 +/* DB34B0 802411F0 00000000 */ nop +.L802411F4: +/* DB34B4 802411F4 AE600070 */ sw $zero, 0x70($s3) +.L802411F8: +/* DB34B8 802411F8 8FBF0058 */ lw $ra, 0x58($sp) +/* DB34BC 802411FC 8FB50054 */ lw $s5, 0x54($sp) +/* DB34C0 80241200 8FB40050 */ lw $s4, 0x50($sp) +/* DB34C4 80241204 8FB3004C */ lw $s3, 0x4c($sp) +/* DB34C8 80241208 8FB20048 */ lw $s2, 0x48($sp) +/* DB34CC 8024120C 8FB10044 */ lw $s1, 0x44($sp) +/* DB34D0 80241210 8FB00040 */ lw $s0, 0x40($sp) +/* DB34D4 80241214 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* DB34D8 80241218 D7B80070 */ ldc1 $f24, 0x70($sp) +/* DB34DC 8024121C D7B60068 */ ldc1 $f22, 0x68($sp) +/* DB34E0 80241220 D7B40060 */ ldc1 $f20, 0x60($sp) +/* DB34E4 80241224 03E00008 */ jr $ra +/* DB34E8 80241228 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_8024122C_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_8024122C_DB22C0.s new file mode 100644 index 0000000000..7b754499ce --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_8024122C_DB22C0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024122C_DB34EC +/* DB34EC 8024122C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DB34F0 80241230 AFB3001C */ sw $s3, 0x1c($sp) +/* DB34F4 80241234 0080982D */ daddu $s3, $a0, $zero +/* DB34F8 80241238 AFBF0020 */ sw $ra, 0x20($sp) +/* DB34FC 8024123C AFB20018 */ sw $s2, 0x18($sp) +/* DB3500 80241240 AFB10014 */ sw $s1, 0x14($sp) +/* DB3504 80241244 AFB00010 */ sw $s0, 0x10($sp) +/* DB3508 80241248 8E720148 */ lw $s2, 0x148($s3) +/* DB350C 8024124C 86440008 */ lh $a0, 8($s2) +/* DB3510 80241250 0C00EABB */ jal get_npc_unsafe +/* DB3514 80241254 00A0882D */ daddu $s1, $a1, $zero +/* DB3518 80241258 8E240008 */ lw $a0, 8($s1) +/* DB351C 8024125C 0040802D */ daddu $s0, $v0, $zero +/* DB3520 80241260 00041FC2 */ srl $v1, $a0, 0x1f +/* DB3524 80241264 00832021 */ addu $a0, $a0, $v1 +/* DB3528 80241268 00042043 */ sra $a0, $a0, 1 +/* DB352C 8024126C 0C00A67F */ jal rand_int +/* DB3530 80241270 24840001 */ addiu $a0, $a0, 1 +/* DB3534 80241274 8E230008 */ lw $v1, 8($s1) +/* DB3538 80241278 240400B4 */ addiu $a0, $zero, 0xb4 +/* DB353C 8024127C 00032FC2 */ srl $a1, $v1, 0x1f +/* DB3540 80241280 00651821 */ addu $v1, $v1, $a1 +/* DB3544 80241284 00031843 */ sra $v1, $v1, 1 +/* DB3548 80241288 00621821 */ addu $v1, $v1, $v0 +/* DB354C 8024128C 0C00A67F */ jal rand_int +/* DB3550 80241290 A603008E */ sh $v1, 0x8e($s0) +/* DB3554 80241294 C60C000C */ lwc1 $f12, 0xc($s0) +/* DB3558 80241298 44820000 */ mtc1 $v0, $f0 +/* DB355C 8024129C 00000000 */ nop +/* DB3560 802412A0 46800020 */ cvt.s.w $f0, $f0 +/* DB3564 802412A4 46006300 */ add.s $f12, $f12, $f0 +/* DB3568 802412A8 3C0142B4 */ lui $at, 0x42b4 +/* DB356C 802412AC 44810000 */ mtc1 $at, $f0 +/* DB3570 802412B0 0C00A6C9 */ jal clamp_angle +/* DB3574 802412B4 46006301 */ sub.s $f12, $f12, $f0 +/* DB3578 802412B8 E600000C */ swc1 $f0, 0xc($s0) +/* DB357C 802412BC 8E4200CC */ lw $v0, 0xcc($s2) +/* DB3580 802412C0 8C420000 */ lw $v0, ($v0) +/* DB3584 802412C4 AE020028 */ sw $v0, 0x28($s0) +/* DB3588 802412C8 24020003 */ addiu $v0, $zero, 3 +/* DB358C 802412CC AE620070 */ sw $v0, 0x70($s3) +/* DB3590 802412D0 8FBF0020 */ lw $ra, 0x20($sp) +/* DB3594 802412D4 8FB3001C */ lw $s3, 0x1c($sp) +/* DB3598 802412D8 8FB20018 */ lw $s2, 0x18($sp) +/* DB359C 802412DC 8FB10014 */ lw $s1, 0x14($sp) +/* DB35A0 802412E0 8FB00010 */ lw $s0, 0x10($sp) +/* DB35A4 802412E4 03E00008 */ jr $ra +/* DB35A8 802412E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802412EC_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_802412EC_DB22C0.s new file mode 100644 index 0000000000..2032f85b74 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802412EC_DB22C0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412EC_DB35AC +/* DB35AC 802412EC 27BDFF88 */ addiu $sp, $sp, -0x78 +/* DB35B0 802412F0 AFB3004C */ sw $s3, 0x4c($sp) +/* DB35B4 802412F4 0080982D */ daddu $s3, $a0, $zero +/* DB35B8 802412F8 AFBF0054 */ sw $ra, 0x54($sp) +/* DB35BC 802412FC AFB40050 */ sw $s4, 0x50($sp) +/* DB35C0 80241300 AFB20048 */ sw $s2, 0x48($sp) +/* DB35C4 80241304 AFB10044 */ sw $s1, 0x44($sp) +/* DB35C8 80241308 AFB00040 */ sw $s0, 0x40($sp) +/* DB35CC 8024130C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* DB35D0 80241310 F7B80068 */ sdc1 $f24, 0x68($sp) +/* DB35D4 80241314 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DB35D8 80241318 F7B40058 */ sdc1 $f20, 0x58($sp) +/* DB35DC 8024131C 8E710148 */ lw $s1, 0x148($s3) +/* DB35E0 80241320 00A0902D */ daddu $s2, $a1, $zero +/* DB35E4 80241324 86240008 */ lh $a0, 8($s1) +/* DB35E8 80241328 0C00EABB */ jal get_npc_unsafe +/* DB35EC 8024132C 00C0A02D */ daddu $s4, $a2, $zero +/* DB35F0 80241330 0040802D */ daddu $s0, $v0, $zero +/* DB35F4 80241334 C6200078 */ lwc1 $f0, 0x78($s1) +/* DB35F8 80241338 46800020 */ cvt.s.w $f0, $f0 +/* DB35FC 8024133C 46000021 */ cvt.d.s $f0, $f0 +/* DB3600 80241340 3C014059 */ lui $at, 0x4059 +/* DB3604 80241344 44811800 */ mtc1 $at, $f3 +/* DB3608 80241348 44801000 */ mtc1 $zero, $f2 +/* DB360C 8024134C 8602008E */ lh $v0, 0x8e($s0) +/* DB3610 80241350 9603008E */ lhu $v1, 0x8e($s0) +/* DB3614 80241354 46220003 */ div.d $f0, $f0, $f2 +/* DB3618 80241358 46200620 */ cvt.s.d $f24, $f0 +/* DB361C 8024135C C6200088 */ lwc1 $f0, 0x88($s1) +/* DB3620 80241360 46800020 */ cvt.s.w $f0, $f0 +/* DB3624 80241364 46000021 */ cvt.d.s $f0, $f0 +/* DB3628 80241368 46220003 */ div.d $f0, $f0, $f2 +/* DB362C 8024136C 46200020 */ cvt.s.d $f0, $f0 +/* DB3630 80241370 18400003 */ blez $v0, .L80241380 +/* DB3634 80241374 4600C680 */ add.s $f26, $f24, $f0 +/* DB3638 80241378 2462FFFF */ addiu $v0, $v1, -1 +/* DB363C 8024137C A602008E */ sh $v0, 0x8e($s0) +.L80241380: +/* DB3640 80241380 8E220070 */ lw $v0, 0x70($s1) +/* DB3644 80241384 18400034 */ blez $v0, .L80241458 +/* DB3648 80241388 00000000 */ nop +/* DB364C 8024138C C62C0074 */ lwc1 $f12, 0x74($s1) +/* DB3650 80241390 46806320 */ cvt.s.w $f12, $f12 +/* DB3654 80241394 44820000 */ mtc1 $v0, $f0 +/* DB3658 80241398 00000000 */ nop +/* DB365C 8024139C 46800020 */ cvt.s.w $f0, $f0 +/* DB3660 802413A0 46000021 */ cvt.d.s $f0, $f0 +/* DB3664 802413A4 46220003 */ div.d $f0, $f0, $f2 +/* DB3668 802413A8 0C00A8BB */ jal sin_deg +/* DB366C 802413AC 462005A0 */ cvt.s.d $f22, $f0 +/* DB3670 802413B0 8E020000 */ lw $v0, ($s0) +/* DB3674 802413B4 30420008 */ andi $v0, $v0, 8 +/* DB3678 802413B8 10400003 */ beqz $v0, .L802413C8 +/* DB367C 802413BC 46000506 */ mov.s $f20, $f0 +/* DB3680 802413C0 08090502 */ j .L80241408 +/* DB3684 802413C4 0000102D */ daddu $v0, $zero, $zero +.L802413C8: +/* DB3688 802413C8 27A50028 */ addiu $a1, $sp, 0x28 +/* DB368C 802413CC 27A6002C */ addiu $a2, $sp, 0x2c +/* DB3690 802413D0 C6000038 */ lwc1 $f0, 0x38($s0) +/* DB3694 802413D4 C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3698 802413D8 C6040040 */ lwc1 $f4, 0x40($s0) +/* DB369C 802413DC 3C01447A */ lui $at, 0x447a +/* DB36A0 802413E0 44813000 */ mtc1 $at, $f6 +/* DB36A4 802413E4 27A20034 */ addiu $v0, $sp, 0x34 +/* DB36A8 802413E8 E7A00028 */ swc1 $f0, 0x28($sp) +/* DB36AC 802413EC E7A2002C */ swc1 $f2, 0x2c($sp) +/* DB36B0 802413F0 E7A40030 */ swc1 $f4, 0x30($sp) +/* DB36B4 802413F4 E7A60034 */ swc1 $f6, 0x34($sp) +/* DB36B8 802413F8 AFA20010 */ sw $v0, 0x10($sp) +/* DB36BC 802413FC 8E040080 */ lw $a0, 0x80($s0) +/* DB36C0 80241400 0C0372DF */ jal func_800DCB7C +/* DB36C4 80241404 27A70030 */ addiu $a3, $sp, 0x30 +.L80241408: +/* DB36C8 80241408 10400007 */ beqz $v0, .L80241428 +/* DB36CC 8024140C 00000000 */ nop +/* DB36D0 80241410 4616A082 */ mul.s $f2, $f20, $f22 +/* DB36D4 80241414 00000000 */ nop +/* DB36D8 80241418 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DB36DC 8024141C 46180000 */ add.s $f0, $f0, $f24 +/* DB36E0 80241420 0809050D */ j .L80241434 +/* DB36E4 80241424 46020000 */ add.s $f0, $f0, $f2 +.L80241428: +/* DB36E8 80241428 4616A002 */ mul.s $f0, $f20, $f22 +/* DB36EC 8024142C 00000000 */ nop +/* DB36F0 80241430 4600D000 */ add.s $f0, $f26, $f0 +.L80241434: +/* DB36F4 80241434 E600003C */ swc1 $f0, 0x3c($s0) +/* DB36F8 80241438 8E220074 */ lw $v0, 0x74($s1) +/* DB36FC 8024143C 2442000A */ addiu $v0, $v0, 0xa +/* DB3700 80241440 44826000 */ mtc1 $v0, $f12 +/* DB3704 80241444 00000000 */ nop +/* DB3708 80241448 0C00A6C9 */ jal clamp_angle +/* DB370C 8024144C 46806320 */ cvt.s.w $f12, $f12 +/* DB3710 80241450 4600020D */ trunc.w.s $f8, $f0 +/* DB3714 80241454 E6280074 */ swc1 $f8, 0x74($s1) +.L80241458: +/* DB3718 80241458 8E220090 */ lw $v0, 0x90($s1) +/* DB371C 8024145C 1C400040 */ bgtz $v0, .L80241560 +/* DB3720 80241460 2442FFFF */ addiu $v0, $v0, -1 +/* DB3724 80241464 860200A8 */ lh $v0, 0xa8($s0) +/* DB3728 80241468 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB372C 8024146C 44821000 */ mtc1 $v0, $f2 +/* DB3730 80241470 00000000 */ nop +/* DB3734 80241474 468010A0 */ cvt.s.w $f2, $f2 +/* DB3738 80241478 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DB373C 8024147C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DB3740 80241480 46020000 */ add.s $f0, $f0, $f2 +/* DB3744 80241484 3C014024 */ lui $at, 0x4024 +/* DB3748 80241488 44812800 */ mtc1 $at, $f5 +/* DB374C 8024148C 44802000 */ mtc1 $zero, $f4 +/* DB3750 80241490 C442002C */ lwc1 $f2, 0x2c($v0) +/* DB3754 80241494 46000021 */ cvt.d.s $f0, $f0 +/* DB3758 80241498 46240000 */ add.d $f0, $f0, $f4 +/* DB375C 8024149C 460010A1 */ cvt.d.s $f2, $f2 +/* DB3760 802414A0 4620103C */ c.lt.d $f2, $f0 +/* DB3764 802414A4 00000000 */ nop +/* DB3768 802414A8 4500002E */ bc1f .L80241564 +/* DB376C 802414AC 0280202D */ daddu $a0, $s4, $zero +/* DB3770 802414B0 24020001 */ addiu $v0, $zero, 1 +/* DB3774 802414B4 AFA20010 */ sw $v0, 0x10($sp) +/* DB3778 802414B8 8E460024 */ lw $a2, 0x24($s2) +/* DB377C 802414BC 8E470028 */ lw $a3, 0x28($s2) +/* DB3780 802414C0 0C01242D */ jal func_800490B4 +/* DB3784 802414C4 0220282D */ daddu $a1, $s1, $zero +/* DB3788 802414C8 10400026 */ beqz $v0, .L80241564 +/* DB378C 802414CC 0000202D */ daddu $a0, $zero, $zero +/* DB3790 802414D0 0200282D */ daddu $a1, $s0, $zero +/* DB3794 802414D4 0000302D */ daddu $a2, $zero, $zero +/* DB3798 802414D8 2412000C */ addiu $s2, $zero, 0xc +/* DB379C 802414DC 860300A8 */ lh $v1, 0xa8($s0) +/* DB37A0 802414E0 3C013F80 */ lui $at, 0x3f80 +/* DB37A4 802414E4 44810000 */ mtc1 $at, $f0 +/* DB37A8 802414E8 3C014000 */ lui $at, 0x4000 +/* DB37AC 802414EC 44811000 */ mtc1 $at, $f2 +/* DB37B0 802414F0 3C01C1A0 */ lui $at, 0xc1a0 +/* DB37B4 802414F4 44812000 */ mtc1 $at, $f4 +/* DB37B8 802414F8 44834000 */ mtc1 $v1, $f8 +/* DB37BC 802414FC 00000000 */ nop +/* DB37C0 80241500 46804220 */ cvt.s.w $f8, $f8 +/* DB37C4 80241504 44074000 */ mfc1 $a3, $f8 +/* DB37C8 80241508 27A20038 */ addiu $v0, $sp, 0x38 +/* DB37CC 8024150C AFB2001C */ sw $s2, 0x1c($sp) +/* DB37D0 80241510 AFA20020 */ sw $v0, 0x20($sp) +/* DB37D4 80241514 E7A00010 */ swc1 $f0, 0x10($sp) +/* DB37D8 80241518 E7A20014 */ swc1 $f2, 0x14($sp) +/* DB37DC 8024151C 0C01BFA4 */ jal fx_emote +/* DB37E0 80241520 E7A40018 */ swc1 $f4, 0x18($sp) +/* DB37E4 80241524 0200202D */ daddu $a0, $s0, $zero +/* DB37E8 80241528 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DB37EC 8024152C C480003C */ lwc1 $f0, 0x3c($a0) +/* DB37F0 80241530 3C060020 */ lui $a2, 0x20 +/* DB37F4 80241534 0C012530 */ jal func_800494C0 +/* DB37F8 80241538 E4800064 */ swc1 $f0, 0x64($a0) +/* DB37FC 8024153C 8E220018 */ lw $v0, 0x18($s1) +/* DB3800 80241540 9442002A */ lhu $v0, 0x2a($v0) +/* DB3804 80241544 30420001 */ andi $v0, $v0, 1 +/* DB3808 80241548 10400003 */ beqz $v0, .L80241558 +/* DB380C 8024154C 2402000A */ addiu $v0, $zero, 0xa +/* DB3810 80241550 08090580 */ j .L80241600 +/* DB3814 80241554 AE620070 */ sw $v0, 0x70($s3) +.L80241558: +/* DB3818 80241558 08090580 */ j .L80241600 +/* DB381C 8024155C AE720070 */ sw $s2, 0x70($s3) +.L80241560: +/* DB3820 80241560 AE220090 */ sw $v0, 0x90($s1) +.L80241564: +/* DB3824 80241564 8602008C */ lh $v0, 0x8c($s0) +/* DB3828 80241568 14400025 */ bnez $v0, .L80241600 +/* DB382C 8024156C 00000000 */ nop +/* DB3830 80241570 8602008E */ lh $v0, 0x8e($s0) +/* DB3834 80241574 1C400022 */ bgtz $v0, .L80241600 +/* DB3838 80241578 00000000 */ nop +/* DB383C 8024157C 8E620074 */ lw $v0, 0x74($s3) +/* DB3840 80241580 2442FFFF */ addiu $v0, $v0, -1 +/* DB3844 80241584 1840001D */ blez $v0, .L802415FC +/* DB3848 80241588 AE620074 */ sw $v0, 0x74($s3) +/* DB384C 8024158C 8E220018 */ lw $v0, 0x18($s1) +/* DB3850 80241590 9442002A */ lhu $v0, 0x2a($v0) +/* DB3854 80241594 30420010 */ andi $v0, $v0, 0x10 +/* DB3858 80241598 14400007 */ bnez $v0, .L802415B8 +/* DB385C 8024159C 00000000 */ nop +/* DB3860 802415A0 C600000C */ lwc1 $f0, 0xc($s0) +/* DB3864 802415A4 3C014334 */ lui $at, 0x4334 +/* DB3868 802415A8 44816000 */ mtc1 $at, $f12 +/* DB386C 802415AC 0C00A6C9 */ jal clamp_angle +/* DB3870 802415B0 460C0300 */ add.s $f12, $f0, $f12 +/* DB3874 802415B4 E600000C */ swc1 $f0, 0xc($s0) +.L802415B8: +/* DB3878 802415B8 0C00A67F */ jal rand_int +/* DB387C 802415BC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DB3880 802415C0 3C032E8B */ lui $v1, 0x2e8b +/* DB3884 802415C4 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* DB3888 802415C8 00430018 */ mult $v0, $v1 +/* DB388C 802415CC 00021FC3 */ sra $v1, $v0, 0x1f +/* DB3890 802415D0 00004010 */ mfhi $t0 +/* DB3894 802415D4 00082043 */ sra $a0, $t0, 1 +/* DB3898 802415D8 00832023 */ subu $a0, $a0, $v1 +/* DB389C 802415DC 00041840 */ sll $v1, $a0, 1 +/* DB38A0 802415E0 00641821 */ addu $v1, $v1, $a0 +/* DB38A4 802415E4 00031880 */ sll $v1, $v1, 2 +/* DB38A8 802415E8 00641823 */ subu $v1, $v1, $a0 +/* DB38AC 802415EC 00431023 */ subu $v0, $v0, $v1 +/* DB38B0 802415F0 24420005 */ addiu $v0, $v0, 5 +/* DB38B4 802415F4 08090580 */ j .L80241600 +/* DB38B8 802415F8 A602008E */ sh $v0, 0x8e($s0) +.L802415FC: +/* DB38BC 802415FC AE600070 */ sw $zero, 0x70($s3) +.L80241600: +/* DB38C0 80241600 8FBF0054 */ lw $ra, 0x54($sp) +/* DB38C4 80241604 8FB40050 */ lw $s4, 0x50($sp) +/* DB38C8 80241608 8FB3004C */ lw $s3, 0x4c($sp) +/* DB38CC 8024160C 8FB20048 */ lw $s2, 0x48($sp) +/* DB38D0 80241610 8FB10044 */ lw $s1, 0x44($sp) +/* DB38D4 80241614 8FB00040 */ lw $s0, 0x40($sp) +/* DB38D8 80241618 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* DB38DC 8024161C D7B80068 */ ldc1 $f24, 0x68($sp) +/* DB38E0 80241620 D7B60060 */ ldc1 $f22, 0x60($sp) +/* DB38E4 80241624 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DB38E8 80241628 03E00008 */ jr $ra +/* DB38EC 8024162C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241630_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241630_DB22C0.s new file mode 100644 index 0000000000..88a042ca01 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241630_DB22C0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241630_DB38F0 +/* DB38F0 80241630 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB38F4 80241634 AFB20018 */ sw $s2, 0x18($sp) +/* DB38F8 80241638 0080902D */ daddu $s2, $a0, $zero +/* DB38FC 8024163C AFBF001C */ sw $ra, 0x1c($sp) +/* DB3900 80241640 AFB10014 */ sw $s1, 0x14($sp) +/* DB3904 80241644 AFB00010 */ sw $s0, 0x10($sp) +/* DB3908 80241648 8E510148 */ lw $s1, 0x148($s2) +/* DB390C 8024164C 0C00EABB */ jal get_npc_unsafe +/* DB3910 80241650 86240008 */ lh $a0, 8($s1) +/* DB3914 80241654 0040802D */ daddu $s0, $v0, $zero +/* DB3918 80241658 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DB391C 8024165C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DB3920 80241660 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DB3924 80241664 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DB3928 80241668 A600008E */ sh $zero, 0x8e($s0) +/* DB392C 8024166C 8C460028 */ lw $a2, 0x28($v0) +/* DB3930 80241670 0C00A720 */ jal atan2 +/* DB3934 80241674 8C470030 */ lw $a3, 0x30($v0) +/* DB3938 80241678 E600000C */ swc1 $f0, 0xc($s0) +/* DB393C 8024167C 8E2200CC */ lw $v0, 0xcc($s1) +/* DB3940 80241680 8C420020 */ lw $v0, 0x20($v0) +/* DB3944 80241684 AE020028 */ sw $v0, 0x28($s0) +/* DB3948 80241688 2402000B */ addiu $v0, $zero, 0xb +/* DB394C 8024168C AE420070 */ sw $v0, 0x70($s2) +/* DB3950 80241690 8FBF001C */ lw $ra, 0x1c($sp) +/* DB3954 80241694 8FB20018 */ lw $s2, 0x18($sp) +/* DB3958 80241698 8FB10014 */ lw $s1, 0x14($sp) +/* DB395C 8024169C 8FB00010 */ lw $s0, 0x10($sp) +/* DB3960 802416A0 03E00008 */ jr $ra +/* DB3964 802416A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802416A8.s b/asm/nonmatchings/world/area_omo/omo_05/func_802416A8.s new file mode 100644 index 0000000000..20ebc80960 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802416A8.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416A8 +/* DB3968 802416A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB396C 802416AC AFB00010 */ sw $s0, 0x10($sp) +/* DB3970 802416B0 0080802D */ daddu $s0, $a0, $zero +/* DB3974 802416B4 AFBF0014 */ sw $ra, 0x14($sp) +/* DB3978 802416B8 8E020148 */ lw $v0, 0x148($s0) +/* DB397C 802416BC 0C00EABB */ jal get_npc_unsafe +/* DB3980 802416C0 84440008 */ lh $a0, 8($v0) +/* DB3984 802416C4 9443008E */ lhu $v1, 0x8e($v0) +/* DB3988 802416C8 C440003C */ lwc1 $f0, 0x3c($v0) +/* DB398C 802416CC 24640001 */ addiu $a0, $v1, 1 +/* DB3990 802416D0 00031C00 */ sll $v1, $v1, 0x10 +/* DB3994 802416D4 00031B83 */ sra $v1, $v1, 0xe +/* DB3998 802416D8 A444008E */ sh $a0, 0x8e($v0) +/* DB399C 802416DC 3C018024 */ lui $at, 0x8024 +/* DB39A0 802416E0 00230821 */ addu $at, $at, $v1 +/* DB39A4 802416E4 C4222F88 */ lwc1 $f2, 0x2f88($at) +/* DB39A8 802416E8 8443008E */ lh $v1, 0x8e($v0) +/* DB39AC 802416EC 46020000 */ add.s $f0, $f0, $f2 +/* DB39B0 802416F0 28630005 */ slti $v1, $v1, 5 +/* DB39B4 802416F4 14600003 */ bnez $v1, .L80241704 +/* DB39B8 802416F8 E440003C */ swc1 $f0, 0x3c($v0) +/* DB39BC 802416FC 2402000C */ addiu $v0, $zero, 0xc +/* DB39C0 80241700 AE020070 */ sw $v0, 0x70($s0) +.L80241704: +/* DB39C4 80241704 8FBF0014 */ lw $ra, 0x14($sp) +/* DB39C8 80241708 8FB00010 */ lw $s0, 0x10($sp) +/* DB39CC 8024170C 03E00008 */ jr $ra +/* DB39D0 80241710 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241714.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241714.s new file mode 100644 index 0000000000..eea4be4f84 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241714.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241714 +/* DB39D4 80241714 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DB39D8 80241718 AFB3001C */ sw $s3, 0x1c($sp) +/* DB39DC 8024171C 0080982D */ daddu $s3, $a0, $zero +/* DB39E0 80241720 AFBF0020 */ sw $ra, 0x20($sp) +/* DB39E4 80241724 AFB20018 */ sw $s2, 0x18($sp) +/* DB39E8 80241728 AFB10014 */ sw $s1, 0x14($sp) +/* DB39EC 8024172C AFB00010 */ sw $s0, 0x10($sp) +/* DB39F0 80241730 8E720148 */ lw $s2, 0x148($s3) +/* DB39F4 80241734 86440008 */ lh $a0, 8($s2) +/* DB39F8 80241738 0C00EABB */ jal get_npc_unsafe +/* DB39FC 8024173C 00A0802D */ daddu $s0, $a1, $zero +/* DB3A00 80241740 0040882D */ daddu $s1, $v0, $zero +/* DB3A04 80241744 C6420080 */ lwc1 $f2, 0x80($s2) +/* DB3A08 80241748 468010A0 */ cvt.s.w $f2, $f2 +/* DB3A0C 8024174C 460010A1 */ cvt.d.s $f2, $f2 +/* DB3A10 80241750 C6400084 */ lwc1 $f0, 0x84($s2) +/* DB3A14 80241754 46800020 */ cvt.s.w $f0, $f0 +/* DB3A18 80241758 46000021 */ cvt.d.s $f0, $f0 +/* DB3A1C 8024175C 3C014059 */ lui $at, 0x4059 +/* DB3A20 80241760 44812800 */ mtc1 $at, $f5 +/* DB3A24 80241764 44802000 */ mtc1 $zero, $f4 +/* DB3A28 80241768 8E4200CC */ lw $v0, 0xcc($s2) +/* DB3A2C 8024176C C62C0038 */ lwc1 $f12, 0x38($s1) +/* DB3A30 80241770 C62E0040 */ lwc1 $f14, 0x40($s1) +/* DB3A34 80241774 46241083 */ div.d $f2, $f2, $f4 +/* DB3A38 80241778 462010A0 */ cvt.s.d $f2, $f2 +/* DB3A3C 8024177C 46240003 */ div.d $f0, $f0, $f4 +/* DB3A40 80241780 8C420020 */ lw $v0, 0x20($v0) +/* DB3A44 80241784 46200020 */ cvt.s.d $f0, $f0 +/* DB3A48 80241788 E622001C */ swc1 $f2, 0x1c($s1) +/* DB3A4C 8024178C E6200014 */ swc1 $f0, 0x14($s1) +/* DB3A50 80241790 AE220028 */ sw $v0, 0x28($s1) +/* DB3A54 80241794 C6000018 */ lwc1 $f0, 0x18($s0) +/* DB3A58 80241798 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DB3A5C 8024179C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DB3A60 802417A0 E6200018 */ swc1 $f0, 0x18($s1) +/* DB3A64 802417A4 8C460028 */ lw $a2, 0x28($v0) +/* DB3A68 802417A8 0C00A720 */ jal atan2 +/* DB3A6C 802417AC 8C470030 */ lw $a3, 0x30($v0) +/* DB3A70 802417B0 E620000C */ swc1 $f0, 0xc($s1) +/* DB3A74 802417B4 8E420018 */ lw $v0, 0x18($s2) +/* DB3A78 802417B8 AE400074 */ sw $zero, 0x74($s2) +/* DB3A7C 802417BC 9442002A */ lhu $v0, 0x2a($v0) +/* DB3A80 802417C0 30420002 */ andi $v0, $v0, 2 +/* DB3A84 802417C4 10400005 */ beqz $v0, .L802417DC +/* DB3A88 802417C8 24020003 */ addiu $v0, $zero, 3 +/* DB3A8C 802417CC A622008E */ sh $v0, 0x8e($s1) +/* DB3A90 802417D0 2402000D */ addiu $v0, $zero, 0xd +/* DB3A94 802417D4 0809060B */ j .L8024182C +/* DB3A98 802417D8 AE620070 */ sw $v0, 0x70($s3) +.L802417DC: +/* DB3A9C 802417DC 24030001 */ addiu $v1, $zero, 1 +/* DB3AA0 802417E0 2402000E */ addiu $v0, $zero, 0xe +/* DB3AA4 802417E4 A623008E */ sh $v1, 0x8e($s1) +/* DB3AA8 802417E8 AE620070 */ sw $v0, 0x70($s3) +/* DB3AAC 802417EC C6200038 */ lwc1 $f0, 0x38($s1) +/* DB3AB0 802417F0 4600018D */ trunc.w.s $f6, $f0 +/* DB3AB4 802417F4 44023000 */ mfc1 $v0, $f6 +/* DB3AB8 802417F8 00000000 */ nop +/* DB3ABC 802417FC A6420010 */ sh $v0, 0x10($s2) +/* DB3AC0 80241800 C620003C */ lwc1 $f0, 0x3c($s1) +/* DB3AC4 80241804 4600018D */ trunc.w.s $f6, $f0 +/* DB3AC8 80241808 44023000 */ mfc1 $v0, $f6 +/* DB3ACC 8024180C 00000000 */ nop +/* DB3AD0 80241810 A6420012 */ sh $v0, 0x12($s2) +/* DB3AD4 80241814 C6200040 */ lwc1 $f0, 0x40($s1) +/* DB3AD8 80241818 A2430007 */ sb $v1, 7($s2) +/* DB3ADC 8024181C 4600018D */ trunc.w.s $f6, $f0 +/* DB3AE0 80241820 44023000 */ mfc1 $v0, $f6 +/* DB3AE4 80241824 00000000 */ nop +/* DB3AE8 80241828 A6420014 */ sh $v0, 0x14($s2) +.L8024182C: +/* DB3AEC 8024182C 8FBF0020 */ lw $ra, 0x20($sp) +/* DB3AF0 80241830 8FB3001C */ lw $s3, 0x1c($sp) +/* DB3AF4 80241834 8FB20018 */ lw $s2, 0x18($sp) +/* DB3AF8 80241838 8FB10014 */ lw $s1, 0x14($sp) +/* DB3AFC 8024183C 8FB00010 */ lw $s0, 0x10($sp) +/* DB3B00 80241840 03E00008 */ jr $ra +/* DB3B04 80241844 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241848_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241848_DB22C0.s new file mode 100644 index 0000000000..fcd81f6694 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241848_DB22C0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241848_DB3B08 +/* DB3B08 80241848 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB3B0C 8024184C AFB00010 */ sw $s0, 0x10($sp) +/* DB3B10 80241850 0080802D */ daddu $s0, $a0, $zero +/* DB3B14 80241854 AFBF0014 */ sw $ra, 0x14($sp) +/* DB3B18 80241858 8E020148 */ lw $v0, 0x148($s0) +/* DB3B1C 8024185C 0C00EABB */ jal get_npc_unsafe +/* DB3B20 80241860 84440008 */ lh $a0, 8($v0) +/* DB3B24 80241864 0040202D */ daddu $a0, $v0, $zero +/* DB3B28 80241868 8482008E */ lh $v0, 0x8e($a0) +/* DB3B2C 8024186C 9483008E */ lhu $v1, 0x8e($a0) +/* DB3B30 80241870 18400005 */ blez $v0, .L80241888 +/* DB3B34 80241874 2462FFFF */ addiu $v0, $v1, -1 +/* DB3B38 80241878 A482008E */ sh $v0, 0x8e($a0) +/* DB3B3C 8024187C 00021400 */ sll $v0, $v0, 0x10 +/* DB3B40 80241880 1C400006 */ bgtz $v0, .L8024189C +/* DB3B44 80241884 00000000 */ nop +.L80241888: +/* DB3B48 80241888 8482008C */ lh $v0, 0x8c($a0) +/* DB3B4C 8024188C 14400003 */ bnez $v0, .L8024189C +/* DB3B50 80241890 2402000E */ addiu $v0, $zero, 0xe +/* DB3B54 80241894 A480008E */ sh $zero, 0x8e($a0) +/* DB3B58 80241898 AE020070 */ sw $v0, 0x70($s0) +.L8024189C: +/* DB3B5C 8024189C 8FBF0014 */ lw $ra, 0x14($sp) +/* DB3B60 802418A0 8FB00010 */ lw $s0, 0x10($sp) +/* DB3B64 802418A4 03E00008 */ jr $ra +/* DB3B68 802418A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802418AC_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_802418AC_DB22C0.s new file mode 100644 index 0000000000..828c9d1eeb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802418AC_DB22C0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418AC_DB3B6C +/* DB3B6C 802418AC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DB3B70 802418B0 AFB20030 */ sw $s2, 0x30($sp) +/* DB3B74 802418B4 0080902D */ daddu $s2, $a0, $zero +/* DB3B78 802418B8 AFBF0038 */ sw $ra, 0x38($sp) +/* DB3B7C 802418BC AFB30034 */ sw $s3, 0x34($sp) +/* DB3B80 802418C0 AFB1002C */ sw $s1, 0x2c($sp) +/* DB3B84 802418C4 AFB00028 */ sw $s0, 0x28($sp) +/* DB3B88 802418C8 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DB3B8C 802418CC F7B40040 */ sdc1 $f20, 0x40($sp) +/* DB3B90 802418D0 8E510148 */ lw $s1, 0x148($s2) +/* DB3B94 802418D4 86240008 */ lh $a0, 8($s1) +/* DB3B98 802418D8 0C00EABB */ jal get_npc_unsafe +/* DB3B9C 802418DC 00A0982D */ daddu $s3, $a1, $zero +/* DB3BA0 802418E0 0040802D */ daddu $s0, $v0, $zero +/* DB3BA4 802418E4 0200202D */ daddu $a0, $s0, $zero +/* DB3BA8 802418E8 C6220088 */ lwc1 $f2, 0x88($s1) +/* DB3BAC 802418EC 468010A0 */ cvt.s.w $f2, $f2 +/* DB3BB0 802418F0 460010A1 */ cvt.d.s $f2, $f2 +/* DB3BB4 802418F4 C604001C */ lwc1 $f4, 0x1c($s0) +/* DB3BB8 802418F8 C6000014 */ lwc1 $f0, 0x14($s0) +/* DB3BBC 802418FC 8E050018 */ lw $a1, 0x18($s0) +/* DB3BC0 80241900 46002100 */ add.s $f4, $f4, $f0 +/* DB3BC4 80241904 8E06000C */ lw $a2, 0xc($s0) +/* DB3BC8 80241908 C6200078 */ lwc1 $f0, 0x78($s1) +/* DB3BCC 8024190C 46800020 */ cvt.s.w $f0, $f0 +/* DB3BD0 80241910 E604001C */ swc1 $f4, 0x1c($s0) +/* DB3BD4 80241914 3C014059 */ lui $at, 0x4059 +/* DB3BD8 80241918 44812800 */ mtc1 $at, $f5 +/* DB3BDC 8024191C 44802000 */ mtc1 $zero, $f4 +/* DB3BE0 80241920 46000021 */ cvt.d.s $f0, $f0 +/* DB3BE4 80241924 46240003 */ div.d $f0, $f0, $f4 +/* DB3BE8 80241928 46200520 */ cvt.s.d $f20, $f0 +/* DB3BEC 8024192C 46241083 */ div.d $f2, $f2, $f4 +/* DB3BF0 80241930 0C00EA95 */ jal npc_move_heading +/* DB3BF4 80241934 462015A0 */ cvt.s.d $f22, $f2 +/* DB3BF8 80241938 C604001C */ lwc1 $f4, 0x1c($s0) +/* DB3BFC 8024193C 44801000 */ mtc1 $zero, $f2 +/* DB3C00 80241940 44801800 */ mtc1 $zero, $f3 +/* DB3C04 80241944 46002021 */ cvt.d.s $f0, $f4 +/* DB3C08 80241948 4620103E */ c.le.d $f2, $f0 +/* DB3C0C 8024194C 00000000 */ nop +/* DB3C10 80241950 45000030 */ bc1f .L80241A14 +/* DB3C14 80241954 00000000 */ nop +/* DB3C18 80241958 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB3C1C 8024195C 46040000 */ add.s $f0, $f0, $f4 +/* DB3C20 80241960 E600003C */ swc1 $f0, 0x3c($s0) +/* DB3C24 80241964 8E2200CC */ lw $v0, 0xcc($s1) +/* DB3C28 80241968 8C420024 */ lw $v0, 0x24($v0) +/* DB3C2C 8024196C AE020028 */ sw $v0, 0x28($s0) +/* DB3C30 80241970 A2200007 */ sb $zero, 7($s1) +/* DB3C34 80241974 8E020000 */ lw $v0, ($s0) +/* DB3C38 80241978 30420008 */ andi $v0, $v0, 8 +/* DB3C3C 8024197C 14400011 */ bnez $v0, .L802419C4 +/* DB3C40 80241980 0000102D */ daddu $v0, $zero, $zero +/* DB3C44 80241984 27A50018 */ addiu $a1, $sp, 0x18 +/* DB3C48 80241988 27A6001C */ addiu $a2, $sp, 0x1c +/* DB3C4C 8024198C C6000038 */ lwc1 $f0, 0x38($s0) +/* DB3C50 80241990 C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3C54 80241994 C6040040 */ lwc1 $f4, 0x40($s0) +/* DB3C58 80241998 3C01447A */ lui $at, 0x447a +/* DB3C5C 8024199C 44813000 */ mtc1 $at, $f6 +/* DB3C60 802419A0 27A20024 */ addiu $v0, $sp, 0x24 +/* DB3C64 802419A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB3C68 802419A8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DB3C6C 802419AC E7A40020 */ swc1 $f4, 0x20($sp) +/* DB3C70 802419B0 E7A60024 */ swc1 $f6, 0x24($sp) +/* DB3C74 802419B4 AFA20010 */ sw $v0, 0x10($sp) +/* DB3C78 802419B8 8E040080 */ lw $a0, 0x80($s0) +/* DB3C7C 802419BC 0C0372DF */ jal func_800DCB7C +/* DB3C80 802419C0 27A70020 */ addiu $a3, $sp, 0x20 +.L802419C4: +/* DB3C84 802419C4 1040000B */ beqz $v0, .L802419F4 +/* DB3C88 802419C8 00000000 */ nop +/* DB3C8C 802419CC C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DB3C90 802419D0 46140080 */ add.s $f2, $f0, $f20 +/* DB3C94 802419D4 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB3C98 802419D8 4600103E */ c.le.s $f2, $f0 +/* DB3C9C 802419DC 00000000 */ nop +/* DB3CA0 802419E0 4500008D */ bc1f .L80241C18 +/* DB3CA4 802419E4 00000000 */ nop +/* DB3CA8 802419E8 E602003C */ swc1 $f2, 0x3c($s0) +/* DB3CAC 802419EC 08090706 */ j .L80241C18 +/* DB3CB0 802419F0 AE400070 */ sw $zero, 0x70($s2) +.L802419F4: +/* DB3CB4 802419F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3CB8 802419F8 C6000064 */ lwc1 $f0, 0x64($s0) +/* DB3CBC 802419FC 4602003E */ c.le.s $f0, $f2 +/* DB3CC0 80241A00 00000000 */ nop +/* DB3CC4 80241A04 45030084 */ bc1tl .L80241C18 +/* DB3CC8 80241A08 AE400070 */ sw $zero, 0x70($s2) +/* DB3CCC 80241A0C 08090706 */ j .L80241C18 +/* DB3CD0 80241A10 00000000 */ nop +.L80241A14: +/* DB3CD4 80241A14 4622003C */ c.lt.d $f0, $f2 +/* DB3CD8 80241A18 00000000 */ nop +/* DB3CDC 80241A1C 4500007E */ bc1f .L80241C18 +/* DB3CE0 80241A20 00000000 */ nop +/* DB3CE4 80241A24 9602008E */ lhu $v0, 0x8e($s0) +/* DB3CE8 80241A28 24420001 */ addiu $v0, $v0, 1 +/* DB3CEC 80241A2C A602008E */ sh $v0, 0x8e($s0) +/* DB3CF0 80241A30 00021400 */ sll $v0, $v0, 0x10 +/* DB3CF4 80241A34 8E630020 */ lw $v1, 0x20($s3) +/* DB3CF8 80241A38 00021403 */ sra $v0, $v0, 0x10 +/* DB3CFC 80241A3C 0043102A */ slt $v0, $v0, $v1 +/* DB3D00 80241A40 14400026 */ bnez $v0, .L80241ADC +/* DB3D04 80241A44 00000000 */ nop +/* DB3D08 80241A48 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DB3D0C 80241A4C C60E0040 */ lwc1 $f14, 0x40($s0) +/* DB3D10 80241A50 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DB3D14 80241A54 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DB3D18 80241A58 A600008E */ sh $zero, 0x8e($s0) +/* DB3D1C 80241A5C 8C460028 */ lw $a2, 0x28($v0) +/* DB3D20 80241A60 0C00A720 */ jal atan2 +/* DB3D24 80241A64 8C470030 */ lw $a3, 0x30($v0) +/* DB3D28 80241A68 46000506 */ mov.s $f20, $f0 +/* DB3D2C 80241A6C C60C000C */ lwc1 $f12, 0xc($s0) +/* DB3D30 80241A70 0C00A70A */ jal get_clamped_angle_diff +/* DB3D34 80241A74 4600A386 */ mov.s $f14, $f20 +/* DB3D38 80241A78 46000086 */ mov.s $f2, $f0 +/* DB3D3C 80241A7C 8E62001C */ lw $v0, 0x1c($s3) +/* DB3D40 80241A80 46001005 */ abs.s $f0, $f2 +/* DB3D44 80241A84 44822000 */ mtc1 $v0, $f4 +/* DB3D48 80241A88 00000000 */ nop +/* DB3D4C 80241A8C 46802120 */ cvt.s.w $f4, $f4 +/* DB3D50 80241A90 4600203C */ c.lt.s $f4, $f0 +/* DB3D54 80241A94 00000000 */ nop +/* DB3D58 80241A98 4500000D */ bc1f .L80241AD0 +/* DB3D5C 80241A9C 00000000 */ nop +/* DB3D60 80241AA0 44800000 */ mtc1 $zero, $f0 +/* DB3D64 80241AA4 C614000C */ lwc1 $f20, 0xc($s0) +/* DB3D68 80241AA8 4600103C */ c.lt.s $f2, $f0 +/* DB3D6C 80241AAC 00000000 */ nop +/* DB3D70 80241AB0 45000006 */ bc1f .L80241ACC +/* DB3D74 80241AB4 00021023 */ negu $v0, $v0 +/* DB3D78 80241AB8 44820000 */ mtc1 $v0, $f0 +/* DB3D7C 80241ABC 00000000 */ nop +/* DB3D80 80241AC0 46800020 */ cvt.s.w $f0, $f0 +/* DB3D84 80241AC4 080906B4 */ j .L80241AD0 +/* DB3D88 80241AC8 4600A500 */ add.s $f20, $f20, $f0 +.L80241ACC: +/* DB3D8C 80241ACC 4604A500 */ add.s $f20, $f20, $f4 +.L80241AD0: +/* DB3D90 80241AD0 0C00A6C9 */ jal clamp_angle +/* DB3D94 80241AD4 4600A306 */ mov.s $f12, $f20 +/* DB3D98 80241AD8 E600000C */ swc1 $f0, 0xc($s0) +.L80241ADC: +/* DB3D9C 80241ADC 8E020000 */ lw $v0, ($s0) +/* DB3DA0 80241AE0 30420008 */ andi $v0, $v0, 8 +/* DB3DA4 80241AE4 1040000A */ beqz $v0, .L80241B10 +/* DB3DA8 80241AE8 27A50018 */ addiu $a1, $sp, 0x18 +/* DB3DAC 80241AEC C602003C */ lwc1 $f2, 0x3c($s0) +/* DB3DB0 80241AF0 C600001C */ lwc1 $f0, 0x1c($s0) +/* DB3DB4 80241AF4 46001080 */ add.s $f2, $f2, $f0 +/* DB3DB8 80241AF8 4616103C */ c.lt.s $f2, $f22 +/* DB3DBC 80241AFC 00000000 */ nop +/* DB3DC0 80241B00 45020045 */ bc1fl .L80241C18 +/* DB3DC4 80241B04 E602003C */ swc1 $f2, 0x3c($s0) +/* DB3DC8 80241B08 08090705 */ j .L80241C14 +/* DB3DCC 80241B0C E616003C */ swc1 $f22, 0x3c($s0) +.L80241B10: +/* DB3DD0 80241B10 C6000038 */ lwc1 $f0, 0x38($s0) +/* DB3DD4 80241B14 27A6001C */ addiu $a2, $sp, 0x1c +/* DB3DD8 80241B18 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB3DDC 80241B1C 860200A8 */ lh $v0, 0xa8($s0) +/* DB3DE0 80241B20 C600001C */ lwc1 $f0, 0x1c($s0) +/* DB3DE4 80241B24 C604003C */ lwc1 $f4, 0x3c($s0) +/* DB3DE8 80241B28 44821000 */ mtc1 $v0, $f2 +/* DB3DEC 80241B2C 00000000 */ nop +/* DB3DF0 80241B30 468010A0 */ cvt.s.w $f2, $f2 +/* DB3DF4 80241B34 46000005 */ abs.s $f0, $f0 +/* DB3DF8 80241B38 46020000 */ add.s $f0, $f0, $f2 +/* DB3DFC 80241B3C C6060040 */ lwc1 $f6, 0x40($s0) +/* DB3E00 80241B40 27A20024 */ addiu $v0, $sp, 0x24 +/* DB3E04 80241B44 46022100 */ add.s $f4, $f4, $f2 +/* DB3E08 80241B48 3C014024 */ lui $at, 0x4024 +/* DB3E0C 80241B4C 44811800 */ mtc1 $at, $f3 +/* DB3E10 80241B50 44801000 */ mtc1 $zero, $f2 +/* DB3E14 80241B54 46000021 */ cvt.d.s $f0, $f0 +/* DB3E18 80241B58 46220000 */ add.d $f0, $f0, $f2 +/* DB3E1C 80241B5C E7A60020 */ swc1 $f6, 0x20($sp) +/* DB3E20 80241B60 E7A4001C */ swc1 $f4, 0x1c($sp) +/* DB3E24 80241B64 46200020 */ cvt.s.d $f0, $f0 +/* DB3E28 80241B68 E7A00024 */ swc1 $f0, 0x24($sp) +/* DB3E2C 80241B6C AFA20010 */ sw $v0, 0x10($sp) +/* DB3E30 80241B70 8E040080 */ lw $a0, 0x80($s0) +/* DB3E34 80241B74 0C0372DF */ jal func_800DCB7C +/* DB3E38 80241B78 27A70020 */ addiu $a3, $sp, 0x20 +/* DB3E3C 80241B7C 10400015 */ beqz $v0, .L80241BD4 +/* DB3E40 80241B80 00000000 */ nop +/* DB3E44 80241B84 860200A8 */ lh $v0, 0xa8($s0) +/* DB3E48 80241B88 C604001C */ lwc1 $f4, 0x1c($s0) +/* DB3E4C 80241B8C 44820000 */ mtc1 $v0, $f0 +/* DB3E50 80241B90 00000000 */ nop +/* DB3E54 80241B94 46800020 */ cvt.s.w $f0, $f0 +/* DB3E58 80241B98 46002085 */ abs.s $f2, $f4 +/* DB3E5C 80241B9C 46020000 */ add.s $f0, $f0, $f2 +/* DB3E60 80241BA0 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DB3E64 80241BA4 4600103E */ c.le.s $f2, $f0 +/* DB3E68 80241BA8 00000000 */ nop +/* DB3E6C 80241BAC 45000005 */ bc1f .L80241BC4 +/* DB3E70 80241BB0 00000000 */ nop +/* DB3E74 80241BB4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DB3E78 80241BB8 AE00001C */ sw $zero, 0x1c($s0) +/* DB3E7C 80241BBC 08090706 */ j .L80241C18 +/* DB3E80 80241BC0 E600003C */ swc1 $f0, 0x3c($s0) +.L80241BC4: +/* DB3E84 80241BC4 C600003C */ lwc1 $f0, 0x3c($s0) +/* DB3E88 80241BC8 46040000 */ add.s $f0, $f0, $f4 +/* DB3E8C 80241BCC 08090706 */ j .L80241C18 +/* DB3E90 80241BD0 E600003C */ swc1 $f0, 0x3c($s0) +.L80241BD4: +/* DB3E94 80241BD4 C606003C */ lwc1 $f6, 0x3c($s0) +/* DB3E98 80241BD8 860200A8 */ lh $v0, 0xa8($s0) +/* DB3E9C 80241BDC 46163081 */ sub.s $f2, $f6, $f22 +/* DB3EA0 80241BE0 44820000 */ mtc1 $v0, $f0 +/* DB3EA4 80241BE4 00000000 */ nop +/* DB3EA8 80241BE8 46800020 */ cvt.s.w $f0, $f0 +/* DB3EAC 80241BEC 46001080 */ add.s $f2, $f2, $f0 +/* DB3EB0 80241BF0 C604001C */ lwc1 $f4, 0x1c($s0) +/* DB3EB4 80241BF4 46002005 */ abs.s $f0, $f4 +/* DB3EB8 80241BF8 4602003C */ c.lt.s $f0, $f2 +/* DB3EBC 80241BFC 00000000 */ nop +/* DB3EC0 80241C00 45020005 */ bc1fl .L80241C18 +/* DB3EC4 80241C04 AE00001C */ sw $zero, 0x1c($s0) +/* DB3EC8 80241C08 46043000 */ add.s $f0, $f6, $f4 +/* DB3ECC 80241C0C 08090706 */ j .L80241C18 +/* DB3ED0 80241C10 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C14: +/* DB3ED4 80241C14 AE00001C */ sw $zero, 0x1c($s0) +.L80241C18: +/* DB3ED8 80241C18 8FBF0038 */ lw $ra, 0x38($sp) +/* DB3EDC 80241C1C 8FB30034 */ lw $s3, 0x34($sp) +/* DB3EE0 80241C20 8FB20030 */ lw $s2, 0x30($sp) +/* DB3EE4 80241C24 8FB1002C */ lw $s1, 0x2c($sp) +/* DB3EE8 80241C28 8FB00028 */ lw $s0, 0x28($sp) +/* DB3EEC 80241C2C D7B60048 */ ldc1 $f22, 0x48($sp) +/* DB3EF0 80241C30 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DB3EF4 80241C34 03E00008 */ jr $ra +/* DB3EF8 80241C38 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241C3C.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241C3C.s new file mode 100644 index 0000000000..d6047552ad --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241C3C.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C3C +/* DB3EFC 80241C3C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DB3F00 80241C40 AFB00028 */ sw $s0, 0x28($sp) +/* DB3F04 80241C44 00A0802D */ daddu $s0, $a1, $zero +/* DB3F08 80241C48 AFB1002C */ sw $s1, 0x2c($sp) +/* DB3F0C 80241C4C 00C0882D */ daddu $s1, $a2, $zero +/* DB3F10 80241C50 AFBF0034 */ sw $ra, 0x34($sp) +/* DB3F14 80241C54 AFB20030 */ sw $s2, 0x30($sp) +/* DB3F18 80241C58 AE200070 */ sw $zero, 0x70($s1) +/* DB3F1C 80241C5C 8C830000 */ lw $v1, ($a0) +/* DB3F20 80241C60 2402FDFF */ addiu $v0, $zero, -0x201 +/* DB3F24 80241C64 A480008E */ sh $zero, 0x8e($a0) +/* DB3F28 80241C68 00621824 */ and $v1, $v1, $v0 +/* DB3F2C 80241C6C 34650800 */ ori $a1, $v1, 0x800 +/* DB3F30 80241C70 AC850000 */ sw $a1, ($a0) +/* DB3F34 80241C74 8E0200D0 */ lw $v0, 0xd0($s0) +/* DB3F38 80241C78 8C420034 */ lw $v0, 0x34($v0) +/* DB3F3C 80241C7C 10400003 */ beqz $v0, .L80241C8C +/* DB3F40 80241C80 00E0902D */ daddu $s2, $a3, $zero +/* DB3F44 80241C84 08090725 */ j .L80241C94 +/* DB3F48 80241C88 34620808 */ ori $v0, $v1, 0x808 +.L80241C8C: +/* DB3F4C 80241C8C 2402FFF7 */ addiu $v0, $zero, -9 +/* DB3F50 80241C90 00A21024 */ and $v0, $a1, $v0 +.L80241C94: +/* DB3F54 80241C94 AC820000 */ sw $v0, ($a0) +/* DB3F58 80241C98 27A20024 */ addiu $v0, $sp, 0x24 +/* DB3F5C 80241C9C 27A50018 */ addiu $a1, $sp, 0x18 +/* DB3F60 80241CA0 C4800038 */ lwc1 $f0, 0x38($a0) +/* DB3F64 80241CA4 C482003C */ lwc1 $f2, 0x3c($a0) +/* DB3F68 80241CA8 C4840040 */ lwc1 $f4, 0x40($a0) +/* DB3F6C 80241CAC 3C01447A */ lui $at, 0x447a +/* DB3F70 80241CB0 44813000 */ mtc1 $at, $f6 +/* DB3F74 80241CB4 27A6001C */ addiu $a2, $sp, 0x1c +/* DB3F78 80241CB8 E7A00018 */ swc1 $f0, 0x18($sp) +/* DB3F7C 80241CBC E7A2001C */ swc1 $f2, 0x1c($sp) +/* DB3F80 80241CC0 E7A40020 */ swc1 $f4, 0x20($sp) +/* DB3F84 80241CC4 E7A60024 */ swc1 $f6, 0x24($sp) +/* DB3F88 80241CC8 AFA20010 */ sw $v0, 0x10($sp) +/* DB3F8C 80241CCC 8C840080 */ lw $a0, 0x80($a0) +/* DB3F90 80241CD0 0C0372DF */ jal func_800DCB7C +/* DB3F94 80241CD4 27A70020 */ addiu $a3, $sp, 0x20 +/* DB3F98 80241CD8 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DB3F9C 80241CDC 3C014059 */ lui $at, 0x4059 +/* DB3FA0 80241CE0 44812800 */ mtc1 $at, $f5 +/* DB3FA4 80241CE4 44802000 */ mtc1 $zero, $f4 +/* DB3FA8 80241CE8 460010A1 */ cvt.d.s $f2, $f2 +/* DB3FAC 80241CEC 46241082 */ mul.d $f2, $f2, $f4 +/* DB3FB0 80241CF0 00000000 */ nop +/* DB3FB4 80241CF4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DB3FB8 80241CF8 46000021 */ cvt.d.s $f0, $f0 +/* DB3FBC 80241CFC 46240002 */ mul.d $f0, $f0, $f4 +/* DB3FC0 80241D00 00000000 */ nop +/* DB3FC4 80241D04 3C013FE0 */ lui $at, 0x3fe0 +/* DB3FC8 80241D08 44812800 */ mtc1 $at, $f5 +/* DB3FCC 80241D0C 44802000 */ mtc1 $zero, $f4 +/* DB3FD0 80241D10 00000000 */ nop +/* DB3FD4 80241D14 46241080 */ add.d $f2, $f2, $f4 +/* DB3FD8 80241D18 AE000074 */ sw $zero, 0x74($s0) +/* DB3FDC 80241D1C 46240000 */ add.d $f0, $f0, $f4 +/* DB3FE0 80241D20 AE000090 */ sw $zero, 0x90($s0) +/* DB3FE4 80241D24 4620120D */ trunc.w.d $f8, $f2 +/* DB3FE8 80241D28 E6080078 */ swc1 $f8, 0x78($s0) +/* DB3FEC 80241D2C 4620020D */ trunc.w.d $f8, $f0 +/* DB3FF0 80241D30 E6080088 */ swc1 $f8, 0x88($s0) +/* DB3FF4 80241D34 8E420014 */ lw $v0, 0x14($s2) +/* DB3FF8 80241D38 AE220074 */ sw $v0, 0x74($s1) +/* DB3FFC 80241D3C 8E0200B0 */ lw $v0, 0xb0($s0) +/* DB4000 80241D40 34420010 */ ori $v0, $v0, 0x10 +/* DB4004 80241D44 AE0200B0 */ sw $v0, 0xb0($s0) +/* DB4008 80241D48 8FBF0034 */ lw $ra, 0x34($sp) +/* DB400C 80241D4C 8FB20030 */ lw $s2, 0x30($sp) +/* DB4010 80241D50 8FB1002C */ lw $s1, 0x2c($sp) +/* DB4014 80241D54 8FB00028 */ lw $s0, 0x28($sp) +/* DB4018 80241D58 03E00008 */ jr $ra +/* DB401C 80241D5C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241D60_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241D60_DB22C0.s new file mode 100644 index 0000000000..eee440545e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241D60_DB22C0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D60_DB4020 +/* DB4020 80241D60 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DB4024 80241D64 AFB40040 */ sw $s4, 0x40($sp) +/* DB4028 80241D68 0080A02D */ daddu $s4, $a0, $zero +/* DB402C 80241D6C AFBF0048 */ sw $ra, 0x48($sp) +/* DB4030 80241D70 AFB50044 */ sw $s5, 0x44($sp) +/* DB4034 80241D74 AFB3003C */ sw $s3, 0x3c($sp) +/* DB4038 80241D78 AFB20038 */ sw $s2, 0x38($sp) +/* DB403C 80241D7C AFB10034 */ sw $s1, 0x34($sp) +/* DB4040 80241D80 AFB00030 */ sw $s0, 0x30($sp) +/* DB4044 80241D84 8E920148 */ lw $s2, 0x148($s4) +/* DB4048 80241D88 86440008 */ lh $a0, 8($s2) +/* DB404C 80241D8C 8E90000C */ lw $s0, 0xc($s4) +/* DB4050 80241D90 0C00EABB */ jal get_npc_unsafe +/* DB4054 80241D94 00A0882D */ daddu $s1, $a1, $zero +/* DB4058 80241D98 0280202D */ daddu $a0, $s4, $zero +/* DB405C 80241D9C 8E050000 */ lw $a1, ($s0) +/* DB4060 80241DA0 0C0B1EAF */ jal get_variable +/* DB4064 80241DA4 0040A82D */ daddu $s5, $v0, $zero +/* DB4068 80241DA8 AFA00010 */ sw $zero, 0x10($sp) +/* DB406C 80241DAC 8E4300D0 */ lw $v1, 0xd0($s2) +/* DB4070 80241DB0 8C630030 */ lw $v1, 0x30($v1) +/* DB4074 80241DB4 AFA30014 */ sw $v1, 0x14($sp) +/* DB4078 80241DB8 8E4300D0 */ lw $v1, 0xd0($s2) +/* DB407C 80241DBC 8C63001C */ lw $v1, 0x1c($v1) +/* DB4080 80241DC0 AFA30018 */ sw $v1, 0x18($sp) +/* DB4084 80241DC4 8E4300D0 */ lw $v1, 0xd0($s2) +/* DB4088 80241DC8 8C630024 */ lw $v1, 0x24($v1) +/* DB408C 80241DCC AFA3001C */ sw $v1, 0x1c($sp) +/* DB4090 80241DD0 8E4300D0 */ lw $v1, 0xd0($s2) +/* DB4094 80241DD4 8C630028 */ lw $v1, 0x28($v1) +/* DB4098 80241DD8 27B30010 */ addiu $s3, $sp, 0x10 +/* DB409C 80241DDC AFA30020 */ sw $v1, 0x20($sp) +/* DB40A0 80241DE0 8E4300D0 */ lw $v1, 0xd0($s2) +/* DB40A4 80241DE4 3C0142F0 */ lui $at, 0x42f0 +/* DB40A8 80241DE8 44810000 */ mtc1 $at, $f0 +/* DB40AC 80241DEC 8C63002C */ lw $v1, 0x2c($v1) +/* DB40B0 80241DF0 0040802D */ daddu $s0, $v0, $zero +/* DB40B4 80241DF4 E7A00028 */ swc1 $f0, 0x28($sp) +/* DB40B8 80241DF8 A7A0002C */ sh $zero, 0x2c($sp) +/* DB40BC 80241DFC 12200006 */ beqz $s1, .L80241E18 +/* DB40C0 80241E00 AFA30024 */ sw $v1, 0x24($sp) +/* DB40C4 80241E04 02A0202D */ daddu $a0, $s5, $zero +/* DB40C8 80241E08 0240282D */ daddu $a1, $s2, $zero +/* DB40CC 80241E0C 0280302D */ daddu $a2, $s4, $zero +/* DB40D0 80241E10 0C09070F */ jal func_80241C3C +/* DB40D4 80241E14 0200382D */ daddu $a3, $s0, $zero +.L80241E18: +/* DB40D8 80241E18 2402FFFE */ addiu $v0, $zero, -2 +/* DB40DC 80241E1C A2A200AB */ sb $v0, 0xab($s5) +/* DB40E0 80241E20 8E4300B0 */ lw $v1, 0xb0($s2) +/* DB40E4 80241E24 30620004 */ andi $v0, $v1, 4 +/* DB40E8 80241E28 10400007 */ beqz $v0, .L80241E48 +/* DB40EC 80241E2C 00000000 */ nop +/* DB40F0 80241E30 824200B4 */ lb $v0, 0xb4($s2) +/* DB40F4 80241E34 1440003C */ bnez $v0, .L80241F28 +/* DB40F8 80241E38 0000102D */ daddu $v0, $zero, $zero +/* DB40FC 80241E3C 2402FFFB */ addiu $v0, $zero, -5 +/* DB4100 80241E40 00621024 */ and $v0, $v1, $v0 +/* DB4104 80241E44 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241E48: +/* DB4108 80241E48 8E830070 */ lw $v1, 0x70($s4) +/* DB410C 80241E4C 2C62000F */ sltiu $v0, $v1, 0xf +/* DB4110 80241E50 10400034 */ beqz $v0, .L80241F24 +/* DB4114 80241E54 00031080 */ sll $v0, $v1, 2 +/* DB4118 80241E58 3C018024 */ lui $at, 0x8024 +/* DB411C 80241E5C 00220821 */ addu $at, $at, $v0 +/* DB4120 80241E60 8C225608 */ lw $v0, 0x5608($at) +/* DB4124 80241E64 00400008 */ jr $v0 +/* DB4128 80241E68 00000000 */ nop +/* DB412C 80241E6C 0280202D */ daddu $a0, $s4, $zero +/* DB4130 80241E70 0200282D */ daddu $a1, $s0, $zero +/* DB4134 80241E74 0C090295 */ jal func_80240A54 +/* DB4138 80241E78 0260302D */ daddu $a2, $s3, $zero +/* DB413C 80241E7C 0280202D */ daddu $a0, $s4, $zero +/* DB4140 80241E80 0200282D */ daddu $a1, $s0, $zero +/* DB4144 80241E84 0C090301 */ jal func_80240C04 +/* DB4148 80241E88 0260302D */ daddu $a2, $s3, $zero +/* DB414C 80241E8C 080907CA */ j .L80241F28 +/* DB4150 80241E90 0000102D */ daddu $v0, $zero, $zero +/* DB4154 80241E94 0280202D */ daddu $a0, $s4, $zero +/* DB4158 80241E98 0200282D */ daddu $a1, $s0, $zero +/* DB415C 80241E9C 0C09048B */ jal func_8024122C +/* DB4160 80241EA0 0260302D */ daddu $a2, $s3, $zero +/* DB4164 80241EA4 0280202D */ daddu $a0, $s4, $zero +/* DB4168 80241EA8 0200282D */ daddu $a1, $s0, $zero +/* DB416C 80241EAC 0C0904BB */ jal func_802412EC +/* DB4170 80241EB0 0260302D */ daddu $a2, $s3, $zero +/* DB4174 80241EB4 080907CA */ j .L80241F28 +/* DB4178 80241EB8 0000102D */ daddu $v0, $zero, $zero +/* DB417C 80241EBC 0280202D */ daddu $a0, $s4, $zero +/* DB4180 80241EC0 0200282D */ daddu $a1, $s0, $zero +/* DB4184 80241EC4 0C09058C */ jal func_80241630 +/* DB4188 80241EC8 0260302D */ daddu $a2, $s3, $zero +/* DB418C 80241ECC 0280202D */ daddu $a0, $s4, $zero +/* DB4190 80241ED0 0200282D */ daddu $a1, $s0, $zero +/* DB4194 80241ED4 0C0905AA */ jal func_802416A8 +/* DB4198 80241ED8 0260302D */ daddu $a2, $s3, $zero +/* DB419C 80241EDC 080907CA */ j .L80241F28 +/* DB41A0 80241EE0 0000102D */ daddu $v0, $zero, $zero +/* DB41A4 80241EE4 0280202D */ daddu $a0, $s4, $zero +/* DB41A8 80241EE8 0200282D */ daddu $a1, $s0, $zero +/* DB41AC 80241EEC 0C0905C5 */ jal func_80241714 +/* DB41B0 80241EF0 0260302D */ daddu $a2, $s3, $zero +/* DB41B4 80241EF4 080907CA */ j .L80241F28 +/* DB41B8 80241EF8 0000102D */ daddu $v0, $zero, $zero +/* DB41BC 80241EFC 0280202D */ daddu $a0, $s4, $zero +/* DB41C0 80241F00 0200282D */ daddu $a1, $s0, $zero +/* DB41C4 80241F04 0C090612 */ jal func_80241848 +/* DB41C8 80241F08 0260302D */ daddu $a2, $s3, $zero +/* DB41CC 80241F0C 080907CA */ j .L80241F28 +/* DB41D0 80241F10 0000102D */ daddu $v0, $zero, $zero +/* DB41D4 80241F14 0280202D */ daddu $a0, $s4, $zero +/* DB41D8 80241F18 0200282D */ daddu $a1, $s0, $zero +/* DB41DC 80241F1C 0C09062B */ jal func_802418AC +/* DB41E0 80241F20 0260302D */ daddu $a2, $s3, $zero +.L80241F24: +/* DB41E4 80241F24 0000102D */ daddu $v0, $zero, $zero +.L80241F28: +/* DB41E8 80241F28 8FBF0048 */ lw $ra, 0x48($sp) +/* DB41EC 80241F2C 8FB50044 */ lw $s5, 0x44($sp) +/* DB41F0 80241F30 8FB40040 */ lw $s4, 0x40($sp) +/* DB41F4 80241F34 8FB3003C */ lw $s3, 0x3c($sp) +/* DB41F8 80241F38 8FB20038 */ lw $s2, 0x38($sp) +/* DB41FC 80241F3C 8FB10034 */ lw $s1, 0x34($sp) +/* DB4200 80241F40 8FB00030 */ lw $s0, 0x30($sp) +/* DB4204 80241F44 03E00008 */ jr $ra +/* DB4208 80241F48 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241F4C_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241F4C_DB22C0.s new file mode 100644 index 0000000000..3f90a1584d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241F4C_DB22C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F4C_DB420C +/* DB420C 80241F4C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB4210 80241F50 AFB10014 */ sw $s1, 0x14($sp) +/* DB4214 80241F54 0080882D */ daddu $s1, $a0, $zero +/* DB4218 80241F58 AFBF0018 */ sw $ra, 0x18($sp) +/* DB421C 80241F5C AFB00010 */ sw $s0, 0x10($sp) +/* DB4220 80241F60 8E30000C */ lw $s0, 0xc($s1) +/* DB4224 80241F64 8E050000 */ lw $a1, ($s0) +/* DB4228 80241F68 0C0B1EAF */ jal get_variable +/* DB422C 80241F6C 26100004 */ addiu $s0, $s0, 4 +/* DB4230 80241F70 0C00EAD2 */ jal get_npc_safe +/* DB4234 80241F74 0040202D */ daddu $a0, $v0, $zero +/* DB4238 80241F78 10400005 */ beqz $v0, .L80241F90 +/* DB423C 80241F7C 00000000 */ nop +/* DB4240 80241F80 8E050000 */ lw $a1, ($s0) +/* DB4244 80241F84 844600A8 */ lh $a2, 0xa8($v0) +/* DB4248 80241F88 0C0B2026 */ jal set_variable +/* DB424C 80241F8C 0220202D */ daddu $a0, $s1, $zero +.L80241F90: +/* DB4250 80241F90 8FBF0018 */ lw $ra, 0x18($sp) +/* DB4254 80241F94 8FB10014 */ lw $s1, 0x14($sp) +/* DB4258 80241F98 8FB00010 */ lw $s0, 0x10($sp) +/* DB425C 80241F9C 24020002 */ addiu $v0, $zero, 2 +/* DB4260 80241FA0 03E00008 */ jr $ra +/* DB4264 80241FA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80241FA8.s b/asm/nonmatchings/world/area_omo/omo_05/func_80241FA8.s new file mode 100644 index 0000000000..3d65b46623 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80241FA8.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FA8 +/* DB4268 80241FA8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DB426C 80241FAC AFB10014 */ sw $s1, 0x14($sp) +/* DB4270 80241FB0 0080882D */ daddu $s1, $a0, $zero +/* DB4274 80241FB4 AFBF0024 */ sw $ra, 0x24($sp) +/* DB4278 80241FB8 AFB40020 */ sw $s4, 0x20($sp) +/* DB427C 80241FBC AFB3001C */ sw $s3, 0x1c($sp) +/* DB4280 80241FC0 AFB20018 */ sw $s2, 0x18($sp) +/* DB4284 80241FC4 AFB00010 */ sw $s0, 0x10($sp) +/* DB4288 80241FC8 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* DB428C 80241FCC F7BA0040 */ sdc1 $f26, 0x40($sp) +/* DB4290 80241FD0 F7B80038 */ sdc1 $f24, 0x38($sp) +/* DB4294 80241FD4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* DB4298 80241FD8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* DB429C 80241FDC 8E30000C */ lw $s0, 0xc($s1) +/* DB42A0 80241FE0 8E130000 */ lw $s3, ($s0) +/* DB42A4 80241FE4 26100004 */ addiu $s0, $s0, 4 +/* DB42A8 80241FE8 0C0B1EAF */ jal get_variable +/* DB42AC 80241FEC 0260282D */ daddu $a1, $s3, $zero +/* DB42B0 80241FF0 4482E000 */ mtc1 $v0, $f28 +/* DB42B4 80241FF4 00000000 */ nop +/* DB42B8 80241FF8 4680E720 */ cvt.s.w $f28, $f28 +/* DB42BC 80241FFC 8E140000 */ lw $s4, ($s0) +/* DB42C0 80242000 26100004 */ addiu $s0, $s0, 4 +/* DB42C4 80242004 0220202D */ daddu $a0, $s1, $zero +/* DB42C8 80242008 0C0B1EAF */ jal get_variable +/* DB42CC 8024200C 0280282D */ daddu $a1, $s4, $zero +/* DB42D0 80242010 4482D000 */ mtc1 $v0, $f26 +/* DB42D4 80242014 00000000 */ nop +/* DB42D8 80242018 4680D6A0 */ cvt.s.w $f26, $f26 +/* DB42DC 8024201C 8E100000 */ lw $s0, ($s0) +/* DB42E0 80242020 0220202D */ daddu $a0, $s1, $zero +/* DB42E4 80242024 0C0B1EAF */ jal get_variable +/* DB42E8 80242028 0200282D */ daddu $a1, $s0, $zero +/* DB42EC 8024202C 4482C000 */ mtc1 $v0, $f24 +/* DB42F0 80242030 00000000 */ nop +/* DB42F4 80242034 4680C620 */ cvt.s.w $f24, $f24 +/* DB42F8 80242038 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* DB42FC 8024203C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* DB4300 80242040 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* DB4304 80242044 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* DB4308 80242048 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* DB430C 8024204C 44800000 */ mtc1 $zero, $f0 +/* DB4310 80242050 00031080 */ sll $v0, $v1, 2 +/* DB4314 80242054 00431021 */ addu $v0, $v0, $v1 +/* DB4318 80242058 00021080 */ sll $v0, $v0, 2 +/* DB431C 8024205C 00431023 */ subu $v0, $v0, $v1 +/* DB4320 80242060 000218C0 */ sll $v1, $v0, 3 +/* DB4324 80242064 00431021 */ addu $v0, $v0, $v1 +/* DB4328 80242068 000210C0 */ sll $v0, $v0, 3 +/* DB432C 8024206C 46001032 */ c.eq.s $f2, $f0 +/* DB4330 80242070 3C01800B */ lui $at, 0x800b +/* DB4334 80242074 00220821 */ addu $at, $at, $v0 +/* DB4338 80242078 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* DB433C 8024207C 45000005 */ bc1f .L80242094 +/* DB4340 80242080 00000000 */ nop +/* DB4344 80242084 3C0142C8 */ lui $at, 0x42c8 +/* DB4348 80242088 44810000 */ mtc1 $at, $f0 +/* DB434C 8024208C 08090829 */ j .L802420A4 +/* DB4350 80242090 4600B581 */ sub.s $f22, $f22, $f0 +.L80242094: +/* DB4354 80242094 3C0142C8 */ lui $at, 0x42c8 +/* DB4358 80242098 44810000 */ mtc1 $at, $f0 +/* DB435C 8024209C 00000000 */ nop +/* DB4360 802420A0 4600B580 */ add.s $f22, $f22, $f0 +.L802420A4: +/* DB4364 802420A4 0C00A6C9 */ jal clamp_angle +/* DB4368 802420A8 4600B306 */ mov.s $f12, $f22 +/* DB436C 802420AC 46000586 */ mov.s $f22, $f0 +/* DB4370 802420B0 3C014170 */ lui $at, 0x4170 +/* DB4374 802420B4 4481A000 */ mtc1 $at, $f20 +/* DB4378 802420B8 0C00A8BB */ jal sin_deg +/* DB437C 802420BC 4600B306 */ mov.s $f12, $f22 +/* DB4380 802420C0 46140002 */ mul.s $f0, $f0, $f20 +/* DB4384 802420C4 00000000 */ nop +/* DB4388 802420C8 864200B0 */ lh $v0, 0xb0($s2) +/* DB438C 802420CC 3C013F00 */ lui $at, 0x3f00 +/* DB4390 802420D0 44812000 */ mtc1 $at, $f4 +/* DB4394 802420D4 44821000 */ mtc1 $v0, $f2 +/* DB4398 802420D8 00000000 */ nop +/* DB439C 802420DC 468010A0 */ cvt.s.w $f2, $f2 +/* DB43A0 802420E0 46041082 */ mul.s $f2, $f2, $f4 +/* DB43A4 802420E4 00000000 */ nop +/* DB43A8 802420E8 4600E700 */ add.s $f28, $f28, $f0 +/* DB43AC 802420EC 4602D680 */ add.s $f26, $f26, $f2 +/* DB43B0 802420F0 0C00A8D4 */ jal cos_deg +/* DB43B4 802420F4 4600B306 */ mov.s $f12, $f22 +/* DB43B8 802420F8 46140002 */ mul.s $f0, $f0, $f20 +/* DB43BC 802420FC 00000000 */ nop +/* DB43C0 80242100 0220202D */ daddu $a0, $s1, $zero +/* DB43C4 80242104 0260282D */ daddu $a1, $s3, $zero +/* DB43C8 80242108 4600E18D */ trunc.w.s $f6, $f28 +/* DB43CC 8024210C 44063000 */ mfc1 $a2, $f6 +/* DB43D0 80242110 0C0B2026 */ jal set_variable +/* DB43D4 80242114 4600C601 */ sub.s $f24, $f24, $f0 +/* DB43D8 80242118 0220202D */ daddu $a0, $s1, $zero +/* DB43DC 8024211C 4600D18D */ trunc.w.s $f6, $f26 +/* DB43E0 80242120 44063000 */ mfc1 $a2, $f6 +/* DB43E4 80242124 0C0B2026 */ jal set_variable +/* DB43E8 80242128 0280282D */ daddu $a1, $s4, $zero +/* DB43EC 8024212C 0220202D */ daddu $a0, $s1, $zero +/* DB43F0 80242130 4600C18D */ trunc.w.s $f6, $f24 +/* DB43F4 80242134 44063000 */ mfc1 $a2, $f6 +/* DB43F8 80242138 0C0B2026 */ jal set_variable +/* DB43FC 8024213C 0200282D */ daddu $a1, $s0, $zero +/* DB4400 80242140 8FBF0024 */ lw $ra, 0x24($sp) +/* DB4404 80242144 8FB40020 */ lw $s4, 0x20($sp) +/* DB4408 80242148 8FB3001C */ lw $s3, 0x1c($sp) +/* DB440C 8024214C 8FB20018 */ lw $s2, 0x18($sp) +/* DB4410 80242150 8FB10014 */ lw $s1, 0x14($sp) +/* DB4414 80242154 8FB00010 */ lw $s0, 0x10($sp) +/* DB4418 80242158 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* DB441C 8024215C D7BA0040 */ ldc1 $f26, 0x40($sp) +/* DB4420 80242160 D7B80038 */ ldc1 $f24, 0x38($sp) +/* DB4424 80242164 D7B60030 */ ldc1 $f22, 0x30($sp) +/* DB4428 80242168 D7B40028 */ ldc1 $f20, 0x28($sp) +/* DB442C 8024216C 24020002 */ addiu $v0, $zero, 2 +/* DB4430 80242170 03E00008 */ jr $ra +/* DB4434 80242174 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80242178_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_80242178_DB22C0.s new file mode 100644 index 0000000000..af0da2a422 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80242178_DB22C0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242178_DB4438 +/* DB4438 80242178 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB443C 8024217C AFBF0010 */ sw $ra, 0x10($sp) +/* DB4440 80242180 10A00003 */ beqz $a1, .L80242190 +/* DB4444 80242184 8C86000C */ lw $a2, 0xc($a0) +/* DB4448 80242188 3C018024 */ lui $at, 0x8024 +/* DB444C 8024218C AC203098 */ sw $zero, 0x3098($at) +.L80242190: +/* DB4450 80242190 3C038024 */ lui $v1, 0x8024 +/* DB4454 80242194 24633098 */ addiu $v1, $v1, 0x3098 +/* DB4458 80242198 8C620000 */ lw $v0, ($v1) +/* DB445C 8024219C 54400003 */ bnel $v0, $zero, .L802421AC +/* DB4460 802421A0 AC600000 */ sw $zero, ($v1) +/* DB4464 802421A4 08090870 */ j .L802421C0 +/* DB4468 802421A8 0000102D */ daddu $v0, $zero, $zero +.L802421AC: +/* DB446C 802421AC 8CC50000 */ lw $a1, ($a2) +/* DB4470 802421B0 3C068024 */ lui $a2, 0x8024 +/* DB4474 802421B4 0C0B2026 */ jal set_variable +/* DB4478 802421B8 8CC6309C */ lw $a2, 0x309c($a2) +/* DB447C 802421BC 24020002 */ addiu $v0, $zero, 2 +.L802421C0: +/* DB4480 802421C0 8FBF0010 */ lw $ra, 0x10($sp) +/* DB4484 802421C4 03E00008 */ jr $ra +/* DB4488 802421C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802421CC_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_802421CC_DB22C0.s new file mode 100644 index 0000000000..d349e23bdf --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802421CC_DB22C0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421CC_DB448C +/* DB448C 802421CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB4490 802421D0 AFBF0010 */ sw $ra, 0x10($sp) +/* DB4494 802421D4 8C82000C */ lw $v0, 0xc($a0) +/* DB4498 802421D8 0C0B1EAF */ jal get_variable +/* DB449C 802421DC 8C450000 */ lw $a1, ($v0) +/* DB44A0 802421E0 3C018024 */ lui $at, 0x8024 +/* DB44A4 802421E4 AC22309C */ sw $v0, 0x309c($at) +/* DB44A8 802421E8 24020002 */ addiu $v0, $zero, 2 +/* DB44AC 802421EC 8FBF0010 */ lw $ra, 0x10($sp) +/* DB44B0 802421F0 24030001 */ addiu $v1, $zero, 1 +/* DB44B4 802421F4 3C018024 */ lui $at, 0x8024 +/* DB44B8 802421F8 AC233098 */ sw $v1, 0x3098($at) +/* DB44BC 802421FC 03E00008 */ jr $ra +/* DB44C0 80242200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80242204.s b/asm/nonmatchings/world/area_omo/omo_05/func_80242204.s new file mode 100644 index 0000000000..88a66f327f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80242204.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242204 +/* DB44C4 80242204 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB44C8 80242208 AFBF0010 */ sw $ra, 0x10($sp) +/* DB44CC 8024220C 8C82000C */ lw $v0, 0xc($a0) +/* DB44D0 80242210 0C0B1EAF */ jal get_variable +/* DB44D4 80242214 8C450000 */ lw $a1, ($v0) +/* DB44D8 80242218 0040182D */ daddu $v1, $v0, $zero +/* DB44DC 8024221C 10600012 */ beqz $v1, .L80242268 +/* DB44E0 80242220 0000202D */ daddu $a0, $zero, $zero +/* DB44E4 80242224 8C620000 */ lw $v0, ($v1) +/* DB44E8 80242228 5040000A */ beql $v0, $zero, .L80242254 +/* DB44EC 8024222C 00041080 */ sll $v0, $a0, 2 +/* DB44F0 80242230 3C058024 */ lui $a1, 0x8024 +/* DB44F4 80242234 24A55650 */ addiu $a1, $a1, 0x5650 +.L80242238: +/* DB44F8 80242238 24630004 */ addiu $v1, $v1, 4 +/* DB44FC 8024223C 24840001 */ addiu $a0, $a0, 1 +/* DB4500 80242240 ACA20000 */ sw $v0, ($a1) +/* DB4504 80242244 8C620000 */ lw $v0, ($v1) +/* DB4508 80242248 1440FFFB */ bnez $v0, .L80242238 +/* DB450C 8024224C 24A50004 */ addiu $a1, $a1, 4 +/* DB4510 80242250 00041080 */ sll $v0, $a0, 2 +.L80242254: +/* DB4514 80242254 3C018024 */ lui $at, 0x8024 +/* DB4518 80242258 00220821 */ addu $at, $at, $v0 +/* DB451C 8024225C AC205650 */ sw $zero, 0x5650($at) +/* DB4520 80242260 080908A4 */ j .L80242290 +/* DB4524 80242264 00000000 */ nop +.L80242268: +/* DB4528 80242268 3C038024 */ lui $v1, 0x8024 +/* DB452C 8024226C 24635650 */ addiu $v1, $v1, 0x5650 +/* DB4530 80242270 0060282D */ daddu $a1, $v1, $zero +.L80242274: +/* DB4534 80242274 24820080 */ addiu $v0, $a0, 0x80 +/* DB4538 80242278 AC620000 */ sw $v0, ($v1) +/* DB453C 8024227C 24630004 */ addiu $v1, $v1, 4 +/* DB4540 80242280 24840001 */ addiu $a0, $a0, 1 +/* DB4544 80242284 2882005B */ slti $v0, $a0, 0x5b +/* DB4548 80242288 1440FFFA */ bnez $v0, .L80242274 +/* DB454C 8024228C ACA0016C */ sw $zero, 0x16c($a1) +.L80242290: +/* DB4550 80242290 8FBF0010 */ lw $ra, 0x10($sp) +/* DB4554 80242294 24020002 */ addiu $v0, $zero, 2 +/* DB4558 80242298 03E00008 */ jr $ra +/* DB455C 8024229C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802422A0_DB22C0.s b/asm/nonmatchings/world/area_omo/omo_05/func_802422A0_DB22C0.s new file mode 100644 index 0000000000..44d1324dfb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802422A0_DB22C0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422A0_DB4560 +/* DB4560 802422A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB4564 802422A4 AFB00010 */ sw $s0, 0x10($sp) +/* DB4568 802422A8 0080802D */ daddu $s0, $a0, $zero +/* DB456C 802422AC AFBF0014 */ sw $ra, 0x14($sp) +/* DB4570 802422B0 8E02000C */ lw $v0, 0xc($s0) +/* DB4574 802422B4 0C0B1EAF */ jal get_variable +/* DB4578 802422B8 8C450000 */ lw $a1, ($v0) +/* DB457C 802422BC 0040202D */ daddu $a0, $v0, $zero +/* DB4580 802422C0 3C038008 */ lui $v1, %hi(gItemTable) +/* DB4584 802422C4 246378E0 */ addiu $v1, $v1, %lo(gItemTable) +/* DB4588 802422C8 00041140 */ sll $v0, $a0, 5 +/* DB458C 802422CC 00431821 */ addu $v1, $v0, $v1 +/* DB4590 802422D0 240200C1 */ addiu $v0, $zero, 0xc1 +/* DB4594 802422D4 10820005 */ beq $a0, $v0, .L802422EC +/* DB4598 802422D8 240200D2 */ addiu $v0, $zero, 0xd2 +/* DB459C 802422DC 10820003 */ beq $a0, $v0, .L802422EC +/* DB45A0 802422E0 240200B7 */ addiu $v0, $zero, 0xb7 +/* DB45A4 802422E4 14820004 */ bne $a0, $v0, .L802422F8 +/* DB45A8 802422E8 00000000 */ nop +.L802422EC: +/* DB45AC 802422EC 24020002 */ addiu $v0, $zero, 2 +/* DB45B0 802422F0 080908C5 */ j .L80242314 +/* DB45B4 802422F4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802422F8: +/* DB45B8 802422F8 94620018 */ lhu $v0, 0x18($v1) +/* DB45BC 802422FC 30420080 */ andi $v0, $v0, 0x80 +/* DB45C0 80242300 10400003 */ beqz $v0, .L80242310 +/* DB45C4 80242304 24020001 */ addiu $v0, $zero, 1 +/* DB45C8 80242308 080908C5 */ j .L80242314 +/* DB45CC 8024230C AE0200A8 */ sw $v0, 0xa8($s0) +.L80242310: +/* DB45D0 80242310 AE0000A8 */ sw $zero, 0xa8($s0) +.L80242314: +/* DB45D4 80242314 8FBF0014 */ lw $ra, 0x14($sp) +/* DB45D8 80242318 8FB00010 */ lw $s0, 0x10($sp) +/* DB45DC 8024231C 24020002 */ addiu $v0, $zero, 2 +/* DB45E0 80242320 03E00008 */ jr $ra +/* DB45E4 80242324 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_80242328.s b/asm/nonmatchings/world/area_omo/omo_05/func_80242328.s new file mode 100644 index 0000000000..721e865899 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_80242328.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242328 +/* DB45E8 80242328 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB45EC 8024232C AFB00018 */ sw $s0, 0x18($sp) +/* DB45F0 80242330 0080802D */ daddu $s0, $a0, $zero +/* DB45F4 80242334 3C03800B */ lui $v1, %hi(gCameras) +/* DB45F8 80242338 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DB45FC 8024233C 0060202D */ daddu $a0, $v1, $zero +/* DB4600 80242340 10A00005 */ beqz $a1, .L80242358 +/* DB4604 80242344 AFBF001C */ sw $ra, 0x1c($sp) +/* DB4608 80242348 94620000 */ lhu $v0, ($v1) +/* DB460C 8024234C 34420008 */ ori $v0, $v0, 8 +/* DB4610 80242350 A4620000 */ sh $v0, ($v1) +/* DB4614 80242354 AE000070 */ sw $zero, 0x70($s0) +.L80242358: +/* DB4618 80242358 C6000070 */ lwc1 $f0, 0x70($s0) +/* DB461C 8024235C 3C014120 */ lui $at, 0x4120 +/* DB4620 80242360 44811000 */ mtc1 $at, $f2 +/* DB4624 80242364 00000000 */ nop +/* DB4628 80242368 46020000 */ add.s $f0, $f0, $f2 +/* DB462C 8024236C 3C01BF80 */ lui $at, 0xbf80 +/* DB4630 80242370 44811000 */ mtc1 $at, $f2 +/* DB4634 80242374 E6000070 */ swc1 $f0, 0x70($s0) +/* DB4638 80242378 44800000 */ mtc1 $zero, $f0 +/* DB463C 8024237C 24840194 */ addiu $a0, $a0, 0x194 +/* DB4640 80242380 E7A20010 */ swc1 $f2, 0x10($sp) +/* DB4644 80242384 44060000 */ mfc1 $a2, $f0 +/* DB4648 80242388 8E050070 */ lw $a1, 0x70($s0) +/* DB464C 8024238C 0C019EC8 */ jal guRotateF +/* DB4650 80242390 00C0382D */ daddu $a3, $a2, $zero +/* DB4654 80242394 C6000070 */ lwc1 $f0, 0x70($s0) +/* DB4658 80242398 3C018024 */ lui $at, 0x8024 +/* DB465C 8024239C D4225648 */ ldc1 $f2, 0x5648($at) +/* DB4660 802423A0 46000021 */ cvt.d.s $f0, $f0 +/* DB4664 802423A4 4620103E */ c.le.d $f2, $f0 +/* DB4668 802423A8 00000000 */ nop +/* DB466C 802423AC 45010002 */ bc1t .L802423B8 +/* DB4670 802423B0 24020002 */ addiu $v0, $zero, 2 +/* DB4674 802423B4 0000102D */ daddu $v0, $zero, $zero +.L802423B8: +/* DB4678 802423B8 8FBF001C */ lw $ra, 0x1c($sp) +/* DB467C 802423BC 8FB00018 */ lw $s0, 0x18($sp) +/* DB4680 802423C0 03E00008 */ jr $ra +/* DB4684 802423C4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_05/func_802423C8.s b/asm/nonmatchings/world/area_omo/omo_05/func_802423C8.s new file mode 100644 index 0000000000..c88699252a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_05/func_802423C8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423C8 +/* DB4688 802423C8 2404005A */ addiu $a0, $zero, 0x5a +/* DB468C 802423CC 3C038024 */ lui $v1, 0x8024 +/* DB4690 802423D0 24635928 */ addiu $v1, $v1, 0x5928 +/* DB4694 802423D4 240200DA */ addiu $v0, $zero, 0xda +.L802423D8: +/* DB4698 802423D8 AC620000 */ sw $v0, ($v1) +/* DB469C 802423DC 2463FFFC */ addiu $v1, $v1, -4 +/* DB46A0 802423E0 2484FFFF */ addiu $a0, $a0, -1 +/* DB46A4 802423E4 0481FFFC */ bgez $a0, .L802423D8 +/* DB46A8 802423E8 2442FFFF */ addiu $v0, $v0, -1 +/* DB46AC 802423EC 3C018024 */ lui $at, 0x8024 +/* DB46B0 802423F0 AC20592C */ sw $zero, 0x592c($at) +/* DB46B4 802423F4 03E00008 */ jr $ra +/* DB46B8 802423F8 24020002 */ addiu $v0, $zero, 2 +/* DB46BC 802423FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240000_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240000_DB7910.s new file mode 100644 index 0000000000..8bc16f1e64 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240000_DB7910.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DB7910 +/* DB7910 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DB7914 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DB7918 80240008 94620002 */ lhu $v0, 2($v1) +/* DB791C 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DB7920 80240010 A4620002 */ sh $v0, 2($v1) +/* DB7924 80240014 03E00008 */ jr $ra +/* DB7928 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_8024001C_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_8024001C_DB7910.s new file mode 100644 index 0000000000..97f8e37d2f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_8024001C_DB7910.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_DB792C +/* DB792C 8024001C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DB7930 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* DB7934 80240024 0080882D */ daddu $s1, $a0, $zero +/* DB7938 80240028 AFBF001C */ sw $ra, 0x1c($sp) +/* DB793C 8024002C AFB20018 */ sw $s2, 0x18($sp) +/* DB7940 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* DB7944 80240034 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DB7948 80240038 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DB794C 8024003C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DB7950 80240040 8E30000C */ lw $s0, 0xc($s1) +/* DB7954 80240044 8E120000 */ lw $s2, ($s0) +/* DB7958 80240048 26100004 */ addiu $s0, $s0, 4 +/* DB795C 8024004C 8E050000 */ lw $a1, ($s0) +/* DB7960 80240050 0C0B210B */ jal get_float_variable +/* DB7964 80240054 26100004 */ addiu $s0, $s0, 4 +/* DB7968 80240058 8E050000 */ lw $a1, ($s0) +/* DB796C 8024005C 26100004 */ addiu $s0, $s0, 4 +/* DB7970 80240060 0220202D */ daddu $a0, $s1, $zero +/* DB7974 80240064 0C0B210B */ jal get_float_variable +/* DB7978 80240068 46000606 */ mov.s $f24, $f0 +/* DB797C 8024006C 8E050000 */ lw $a1, ($s0) +/* DB7980 80240070 26100004 */ addiu $s0, $s0, 4 +/* DB7984 80240074 0220202D */ daddu $a0, $s1, $zero +/* DB7988 80240078 0C0B210B */ jal get_float_variable +/* DB798C 8024007C 46000586 */ mov.s $f22, $f0 +/* DB7990 80240080 0220202D */ daddu $a0, $s1, $zero +/* DB7994 80240084 8E050000 */ lw $a1, ($s0) +/* DB7998 80240088 0C0B210B */ jal get_float_variable +/* DB799C 8024008C 46000506 */ mov.s $f20, $f0 +/* DB79A0 80240090 4600C306 */ mov.s $f12, $f24 +/* DB79A4 80240094 4406A000 */ mfc1 $a2, $f20 +/* DB79A8 80240098 44070000 */ mfc1 $a3, $f0 +/* DB79AC 8024009C 0C00A720 */ jal atan2 +/* DB79B0 802400A0 4600B386 */ mov.s $f14, $f22 +/* DB79B4 802400A4 0C00A6C9 */ jal clamp_angle +/* DB79B8 802400A8 46000306 */ mov.s $f12, $f0 +/* DB79BC 802400AC 0220202D */ daddu $a0, $s1, $zero +/* DB79C0 802400B0 44060000 */ mfc1 $a2, $f0 +/* DB79C4 802400B4 0C0B2190 */ jal set_float_variable +/* DB79C8 802400B8 0240282D */ daddu $a1, $s2, $zero +/* DB79CC 802400BC 8FBF001C */ lw $ra, 0x1c($sp) +/* DB79D0 802400C0 8FB20018 */ lw $s2, 0x18($sp) +/* DB79D4 802400C4 8FB10014 */ lw $s1, 0x14($sp) +/* DB79D8 802400C8 8FB00010 */ lw $s0, 0x10($sp) +/* DB79DC 802400CC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DB79E0 802400D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DB79E4 802400D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DB79E8 802400D8 24020002 */ addiu $v0, $zero, 2 +/* DB79EC 802400DC 03E00008 */ jr $ra +/* DB79F0 802400E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_802400E4_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_802400E4_DB7910.s new file mode 100644 index 0000000000..beafa91894 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_802400E4_DB7910.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4_DB79F4 +/* DB79F4 802400E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DB79F8 802400E8 AFB10014 */ sw $s1, 0x14($sp) +/* DB79FC 802400EC 0080882D */ daddu $s1, $a0, $zero +/* DB7A00 802400F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DB7A04 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* DB7A08 802400F8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DB7A0C 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* DB7A10 80240100 8E050000 */ lw $a1, ($s0) +/* DB7A14 80240104 0C0B210B */ jal get_float_variable +/* DB7A18 80240108 26100004 */ addiu $s0, $s0, 4 +/* DB7A1C 8024010C 8E050000 */ lw $a1, ($s0) +/* DB7A20 80240110 26100004 */ addiu $s0, $s0, 4 +/* DB7A24 80240114 0220202D */ daddu $a0, $s1, $zero +/* DB7A28 80240118 0C0B210B */ jal get_float_variable +/* DB7A2C 8024011C 46000506 */ mov.s $f20, $f0 +/* DB7A30 80240120 4614003C */ c.lt.s $f0, $f20 +/* DB7A34 80240124 00000000 */ nop +/* DB7A38 80240128 45000004 */ bc1f .L8024013C +/* DB7A3C 8024012C 0220202D */ daddu $a0, $s1, $zero +/* DB7A40 80240130 8E050000 */ lw $a1, ($s0) +/* DB7A44 80240134 08090051 */ j .L80240144 +/* DB7A48 80240138 24060001 */ addiu $a2, $zero, 1 +.L8024013C: +/* DB7A4C 8024013C 8E050000 */ lw $a1, ($s0) +/* DB7A50 80240140 0000302D */ daddu $a2, $zero, $zero +.L80240144: +/* DB7A54 80240144 0C0B2026 */ jal set_variable +/* DB7A58 80240148 00000000 */ nop +/* DB7A5C 8024014C 8FBF0018 */ lw $ra, 0x18($sp) +/* DB7A60 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* DB7A64 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* DB7A68 80240158 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DB7A6C 8024015C 24020002 */ addiu $v0, $zero, 2 +/* DB7A70 80240160 03E00008 */ jr $ra +/* DB7A74 80240164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240168.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240168.s new file mode 100644 index 0000000000..c7bf2db21a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240168.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240168 +/* DB7A78 80240168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB7A7C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* DB7A80 80240170 0080902D */ daddu $s2, $a0, $zero +/* DB7A84 80240174 AFBF001C */ sw $ra, 0x1c($sp) +/* DB7A88 80240178 AFB10014 */ sw $s1, 0x14($sp) +/* DB7A8C 8024017C AFB00010 */ sw $s0, 0x10($sp) +/* DB7A90 80240180 8E50000C */ lw $s0, 0xc($s2) +/* DB7A94 80240184 8E050000 */ lw $a1, ($s0) +/* DB7A98 80240188 0C0B1EAF */ jal get_variable +/* DB7A9C 8024018C 26100004 */ addiu $s0, $s0, 4 +/* DB7AA0 80240190 8E050000 */ lw $a1, ($s0) +/* DB7AA4 80240194 26100004 */ addiu $s0, $s0, 4 +/* DB7AA8 80240198 0240202D */ daddu $a0, $s2, $zero +/* DB7AAC 8024019C 0C0B1EAF */ jal get_variable +/* DB7AB0 802401A0 0040882D */ daddu $s1, $v0, $zero +/* DB7AB4 802401A4 0240202D */ daddu $a0, $s2, $zero +/* DB7AB8 802401A8 8E050000 */ lw $a1, ($s0) +/* DB7ABC 802401AC 0C0B1EAF */ jal get_variable +/* DB7AC0 802401B0 0040802D */ daddu $s0, $v0, $zero +/* DB7AC4 802401B4 02020018 */ mult $s0, $v0 +/* DB7AC8 802401B8 24020002 */ addiu $v0, $zero, 2 +/* DB7ACC 802401BC 8E430138 */ lw $v1, 0x138($s2) +/* DB7AD0 802401C0 00003012 */ mflo $a2 +/* DB7AD4 802401C4 02268821 */ addu $s1, $s1, $a2 +/* DB7AD8 802401C8 00518804 */ sllv $s1, $s1, $v0 +/* DB7ADC 802401CC 00711821 */ addu $v1, $v1, $s1 +/* DB7AE0 802401D0 AE430138 */ sw $v1, 0x138($s2) +/* DB7AE4 802401D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DB7AE8 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* DB7AEC 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* DB7AF0 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* DB7AF4 802401E4 03E00008 */ jr $ra +/* DB7AF8 802401E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_802401EC.s b/asm/nonmatchings/world/area_omo/omo_06/func_802401EC.s new file mode 100644 index 0000000000..9626c73b4c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_802401EC.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401EC +/* DB7AFC 802401EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DB7B00 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* DB7B04 802401F4 0080882D */ daddu $s1, $a0, $zero +/* DB7B08 802401F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DB7B0C 802401FC AFB00010 */ sw $s0, 0x10($sp) +/* DB7B10 80240200 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DB7B14 80240204 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DB7B18 80240208 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DB7B1C 8024020C 8E30000C */ lw $s0, 0xc($s1) +/* DB7B20 80240210 8E050000 */ lw $a1, ($s0) +/* DB7B24 80240214 0C0B210B */ jal get_float_variable +/* DB7B28 80240218 26100004 */ addiu $s0, $s0, 4 +/* DB7B2C 8024021C 8E050000 */ lw $a1, ($s0) +/* DB7B30 80240220 26100004 */ addiu $s0, $s0, 4 +/* DB7B34 80240224 0220202D */ daddu $a0, $s1, $zero +/* DB7B38 80240228 0C0B210B */ jal get_float_variable +/* DB7B3C 8024022C 46000606 */ mov.s $f24, $f0 +/* DB7B40 80240230 8E050000 */ lw $a1, ($s0) +/* DB7B44 80240234 26100004 */ addiu $s0, $s0, 4 +/* DB7B48 80240238 0220202D */ daddu $a0, $s1, $zero +/* DB7B4C 8024023C 0C0B210B */ jal get_float_variable +/* DB7B50 80240240 46000586 */ mov.s $f22, $f0 +/* DB7B54 80240244 0220202D */ daddu $a0, $s1, $zero +/* DB7B58 80240248 8E050000 */ lw $a1, ($s0) +/* DB7B5C 8024024C 0C0B210B */ jal get_float_variable +/* DB7B60 80240250 46000506 */ mov.s $f20, $f0 +/* DB7B64 80240254 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DB7B68 80240258 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DB7B6C 8024025C E4580028 */ swc1 $f24, 0x28($v0) +/* DB7B70 80240260 E456002C */ swc1 $f22, 0x2c($v0) +/* DB7B74 80240264 E4540030 */ swc1 $f20, 0x30($v0) +/* DB7B78 80240268 E4400080 */ swc1 $f0, 0x80($v0) +/* DB7B7C 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* DB7B80 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* DB7B84 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* DB7B88 80240278 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DB7B8C 8024027C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DB7B90 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DB7B94 80240284 24020002 */ addiu $v0, $zero, 2 +/* DB7B98 80240288 03E00008 */ jr $ra +/* DB7B9C 8024028C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240290_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240290_DB7910.s new file mode 100644 index 0000000000..6441b2079c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240290_DB7910.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_DB7BA0 +/* DB7BA0 80240290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DB7BA4 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* DB7BA8 80240298 0080882D */ daddu $s1, $a0, $zero +/* DB7BAC 8024029C AFBF001C */ sw $ra, 0x1c($sp) +/* DB7BB0 802402A0 AFB20018 */ sw $s2, 0x18($sp) +/* DB7BB4 802402A4 AFB00010 */ sw $s0, 0x10($sp) +/* DB7BB8 802402A8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DB7BBC 802402AC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DB7BC0 802402B0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DB7BC4 802402B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DB7BC8 802402B8 8E30000C */ lw $s0, 0xc($s1) +/* DB7BCC 802402BC 8E050000 */ lw $a1, ($s0) +/* DB7BD0 802402C0 0C0B1EAF */ jal get_variable +/* DB7BD4 802402C4 26100004 */ addiu $s0, $s0, 4 +/* DB7BD8 802402C8 8E050000 */ lw $a1, ($s0) +/* DB7BDC 802402CC 26100004 */ addiu $s0, $s0, 4 +/* DB7BE0 802402D0 0220202D */ daddu $a0, $s1, $zero +/* DB7BE4 802402D4 0C0B210B */ jal get_float_variable +/* DB7BE8 802402D8 0040902D */ daddu $s2, $v0, $zero +/* DB7BEC 802402DC 8E050000 */ lw $a1, ($s0) +/* DB7BF0 802402E0 26100004 */ addiu $s0, $s0, 4 +/* DB7BF4 802402E4 0220202D */ daddu $a0, $s1, $zero +/* DB7BF8 802402E8 0C0B210B */ jal get_float_variable +/* DB7BFC 802402EC 46000686 */ mov.s $f26, $f0 +/* DB7C00 802402F0 8E050000 */ lw $a1, ($s0) +/* DB7C04 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DB7C08 802402F8 0220202D */ daddu $a0, $s1, $zero +/* DB7C0C 802402FC 0C0B210B */ jal get_float_variable +/* DB7C10 80240300 46000606 */ mov.s $f24, $f0 +/* DB7C14 80240304 0220202D */ daddu $a0, $s1, $zero +/* DB7C18 80240308 8E050000 */ lw $a1, ($s0) +/* DB7C1C 8024030C 0C0B210B */ jal get_float_variable +/* DB7C20 80240310 46000506 */ mov.s $f20, $f0 +/* DB7C24 80240314 0240202D */ daddu $a0, $s2, $zero +/* DB7C28 80240318 0C00EAD2 */ jal get_npc_safe +/* DB7C2C 8024031C 46000586 */ mov.s $f22, $f0 +/* DB7C30 80240320 0040202D */ daddu $a0, $v0, $zero +/* DB7C34 80240324 E49A0038 */ swc1 $f26, 0x38($a0) +/* DB7C38 80240328 4600D006 */ mov.s $f0, $f26 +/* DB7C3C 8024032C E498003C */ swc1 $f24, 0x3c($a0) +/* DB7C40 80240330 4600C086 */ mov.s $f2, $f24 +/* DB7C44 80240334 E4940040 */ swc1 $f20, 0x40($a0) +/* DB7C48 80240338 4600A106 */ mov.s $f4, $f20 +/* DB7C4C 8024033C 8C830000 */ lw $v1, ($a0) +/* DB7C50 80240340 3C050001 */ lui $a1, 1 +/* DB7C54 80240344 E496000C */ swc1 $f22, 0xc($a0) +/* DB7C58 80240348 E480006C */ swc1 $f0, 0x6c($a0) +/* DB7C5C 8024034C E4820070 */ swc1 $f2, 0x70($a0) +/* DB7C60 80240350 E4840074 */ swc1 $f4, 0x74($a0) +/* DB7C64 80240354 00651825 */ or $v1, $v1, $a1 +/* DB7C68 80240358 AC830000 */ sw $v1, ($a0) +/* DB7C6C 8024035C 8FBF001C */ lw $ra, 0x1c($sp) +/* DB7C70 80240360 8FB20018 */ lw $s2, 0x18($sp) +/* DB7C74 80240364 8FB10014 */ lw $s1, 0x14($sp) +/* DB7C78 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* DB7C7C 8024036C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DB7C80 80240370 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DB7C84 80240374 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DB7C88 80240378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DB7C8C 8024037C 24020002 */ addiu $v0, $zero, 2 +/* DB7C90 80240380 03E00008 */ jr $ra +/* DB7C94 80240384 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240388_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240388_DB7910.s new file mode 100644 index 0000000000..202bd0e10a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240388_DB7910.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_DB7C98 +/* DB7C98 80240388 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DB7C9C 8024038C AFB20018 */ sw $s2, 0x18($sp) +/* DB7CA0 80240390 0080902D */ daddu $s2, $a0, $zero +/* DB7CA4 80240394 AFBF0028 */ sw $ra, 0x28($sp) +/* DB7CA8 80240398 AFB50024 */ sw $s5, 0x24($sp) +/* DB7CAC 8024039C AFB40020 */ sw $s4, 0x20($sp) +/* DB7CB0 802403A0 AFB3001C */ sw $s3, 0x1c($sp) +/* DB7CB4 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* DB7CB8 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* DB7CBC 802403AC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DB7CC0 802403B0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DB7CC4 802403B4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DB7CC8 802403B8 8E50000C */ lw $s0, 0xc($s2) +/* DB7CCC 802403BC 8E140000 */ lw $s4, ($s0) +/* DB7CD0 802403C0 26100004 */ addiu $s0, $s0, 4 +/* DB7CD4 802403C4 0C0B1EAF */ jal get_variable +/* DB7CD8 802403C8 0280282D */ daddu $a1, $s4, $zero +/* DB7CDC 802403CC 0040982D */ daddu $s3, $v0, $zero +/* DB7CE0 802403D0 8E150000 */ lw $s5, ($s0) +/* DB7CE4 802403D4 26100004 */ addiu $s0, $s0, 4 +/* DB7CE8 802403D8 8E050000 */ lw $a1, ($s0) +/* DB7CEC 802403DC 26100004 */ addiu $s0, $s0, 4 +/* DB7CF0 802403E0 0C0B210B */ jal get_float_variable +/* DB7CF4 802403E4 0240202D */ daddu $a0, $s2, $zero +/* DB7CF8 802403E8 8E050000 */ lw $a1, ($s0) +/* DB7CFC 802403EC 26100004 */ addiu $s0, $s0, 4 +/* DB7D00 802403F0 0240202D */ daddu $a0, $s2, $zero +/* DB7D04 802403F4 0C0B210B */ jal get_float_variable +/* DB7D08 802403F8 46000606 */ mov.s $f24, $f0 +/* DB7D0C 802403FC 8E050000 */ lw $a1, ($s0) +/* DB7D10 80240400 26100004 */ addiu $s0, $s0, 4 +/* DB7D14 80240404 0240202D */ daddu $a0, $s2, $zero +/* DB7D18 80240408 0C0B1EAF */ jal get_variable +/* DB7D1C 8024040C 46000506 */ mov.s $f20, $f0 +/* DB7D20 80240410 8E050000 */ lw $a1, ($s0) +/* DB7D24 80240414 26100004 */ addiu $s0, $s0, 4 +/* DB7D28 80240418 0240202D */ daddu $a0, $s2, $zero +/* DB7D2C 8024041C 0C0B1EAF */ jal get_variable +/* DB7D30 80240420 0040882D */ daddu $s1, $v0, $zero +/* DB7D34 80240424 0240202D */ daddu $a0, $s2, $zero +/* DB7D38 80240428 8E050000 */ lw $a1, ($s0) +/* DB7D3C 8024042C 0C0B210B */ jal get_float_variable +/* DB7D40 80240430 0040802D */ daddu $s0, $v0, $zero +/* DB7D44 80240434 3C014334 */ lui $at, 0x4334 +/* DB7D48 80240438 44811000 */ mtc1 $at, $f2 +/* DB7D4C 8024043C 3C014049 */ lui $at, 0x4049 +/* DB7D50 80240440 34210FD8 */ ori $at, $at, 0xfd8 +/* DB7D54 80240444 44812000 */ mtc1 $at, $f4 +/* DB7D58 80240448 46020003 */ div.s $f0, $f0, $f2 +/* DB7D5C 8024044C 46040582 */ mul.s $f22, $f0, $f4 +/* DB7D60 80240450 00000000 */ nop +/* DB7D64 80240454 4618A501 */ sub.s $f20, $f20, $f24 +/* DB7D68 80240458 3C013F00 */ lui $at, 0x3f00 +/* DB7D6C 8024045C 44810000 */ mtc1 $at, $f0 +/* DB7D70 80240460 00000000 */ nop +/* DB7D74 80240464 4600A502 */ mul.s $f20, $f20, $f0 +/* DB7D78 80240468 00000000 */ nop +/* DB7D7C 8024046C 12000007 */ beqz $s0, .L8024048C +/* DB7D80 80240470 0233102A */ slt $v0, $s1, $s3 +/* DB7D84 80240474 10400005 */ beqz $v0, .L8024048C +/* DB7D88 80240478 0240202D */ daddu $a0, $s2, $zero +/* DB7D8C 8024047C 0220982D */ daddu $s3, $s1, $zero +/* DB7D90 80240480 0280282D */ daddu $a1, $s4, $zero +/* DB7D94 80240484 0C0B2026 */ jal set_variable +/* DB7D98 80240488 0220302D */ daddu $a2, $s1, $zero +.L8024048C: +/* DB7D9C 8024048C 3C014049 */ lui $at, 0x4049 +/* DB7DA0 80240490 34210FD8 */ ori $at, $at, 0xfd8 +/* DB7DA4 80240494 44810000 */ mtc1 $at, $f0 +/* DB7DA8 80240498 44936000 */ mtc1 $s3, $f12 +/* DB7DAC 8024049C 00000000 */ nop +/* DB7DB0 802404A0 46806320 */ cvt.s.w $f12, $f12 +/* DB7DB4 802404A4 46006302 */ mul.s $f12, $f12, $f0 +/* DB7DB8 802404A8 00000000 */ nop +/* DB7DBC 802404AC 44910000 */ mtc1 $s1, $f0 +/* DB7DC0 802404B0 00000000 */ nop +/* DB7DC4 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* DB7DC8 802404B8 46006303 */ div.s $f12, $f12, $f0 +/* DB7DCC 802404BC 0C00A874 */ jal cos_rad +/* DB7DD0 802404C0 46166300 */ add.s $f12, $f12, $f22 +/* DB7DD4 802404C4 4600A002 */ mul.s $f0, $f20, $f0 +/* DB7DD8 802404C8 00000000 */ nop +/* DB7DDC 802404CC 4614C080 */ add.s $f2, $f24, $f20 +/* DB7DE0 802404D0 46001081 */ sub.s $f2, $f2, $f0 +/* DB7DE4 802404D4 0240202D */ daddu $a0, $s2, $zero +/* DB7DE8 802404D8 44061000 */ mfc1 $a2, $f2 +/* DB7DEC 802404DC 0C0B2190 */ jal set_float_variable +/* DB7DF0 802404E0 02A0282D */ daddu $a1, $s5, $zero +/* DB7DF4 802404E4 8FBF0028 */ lw $ra, 0x28($sp) +/* DB7DF8 802404E8 8FB50024 */ lw $s5, 0x24($sp) +/* DB7DFC 802404EC 8FB40020 */ lw $s4, 0x20($sp) +/* DB7E00 802404F0 8FB3001C */ lw $s3, 0x1c($sp) +/* DB7E04 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* DB7E08 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* DB7E0C 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* DB7E10 80240500 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DB7E14 80240504 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DB7E18 80240508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DB7E1C 8024050C 24020002 */ addiu $v0, $zero, 2 +/* DB7E20 80240510 03E00008 */ jr $ra +/* DB7E24 80240514 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240518_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240518_DB7910.s new file mode 100644 index 0000000000..973249b01f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240518_DB7910.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_DB7E28 +/* DB7E28 80240518 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DB7E2C 8024051C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DB7E30 80240520 8C620000 */ lw $v0, ($v1) +/* DB7E34 80240524 AC800084 */ sw $zero, 0x84($a0) +/* DB7E38 80240528 8C420010 */ lw $v0, 0x10($v0) +/* DB7E3C 8024052C 30428000 */ andi $v0, $v0, 0x8000 +/* DB7E40 80240530 10400002 */ beqz $v0, .L8024053C +/* DB7E44 80240534 24020001 */ addiu $v0, $zero, 1 +/* DB7E48 80240538 AC820084 */ sw $v0, 0x84($a0) +.L8024053C: +/* DB7E4C 8024053C 8C620000 */ lw $v0, ($v1) +/* DB7E50 80240540 8C420010 */ lw $v0, 0x10($v0) +/* DB7E54 80240544 30424000 */ andi $v0, $v0, 0x4000 +/* DB7E58 80240548 10400002 */ beqz $v0, .L80240554 +/* DB7E5C 8024054C 24020001 */ addiu $v0, $zero, 1 +/* DB7E60 80240550 AC820084 */ sw $v0, 0x84($a0) +.L80240554: +/* DB7E64 80240554 03E00008 */ jr $ra +/* DB7E68 80240558 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_8024055C_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_8024055C_DB7910.s new file mode 100644 index 0000000000..b955128c66 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_8024055C_DB7910.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C_DB7E6C +/* DB7E6C 8024055C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB7E70 80240560 AFB00010 */ sw $s0, 0x10($sp) +/* DB7E74 80240564 0080802D */ daddu $s0, $a0, $zero +/* DB7E78 80240568 AFBF0014 */ sw $ra, 0x14($sp) +/* DB7E7C 8024056C 8E0300A8 */ lw $v1, 0xa8($s0) +/* DB7E80 80240570 8E020088 */ lw $v0, 0x88($s0) +/* DB7E84 80240574 00621821 */ addu $v1, $v1, $v0 +/* DB7E88 80240578 04610004 */ bgez $v1, .L8024058C +/* DB7E8C 8024057C AE0300A8 */ sw $v1, 0xa8($s0) +/* DB7E90 80240580 3C020002 */ lui $v0, 2 +/* DB7E94 80240584 08090167 */ j .L8024059C +/* DB7E98 80240588 00621021 */ addu $v0, $v1, $v0 +.L8024058C: +/* DB7E9C 8024058C 3C040002 */ lui $a0, 2 +/* DB7EA0 80240590 0083102A */ slt $v0, $a0, $v1 +/* DB7EA4 80240594 10400002 */ beqz $v0, .L802405A0 +/* DB7EA8 80240598 00641023 */ subu $v0, $v1, $a0 +.L8024059C: +/* DB7EAC 8024059C AE0200A8 */ sw $v0, 0xa8($s0) +.L802405A0: +/* DB7EB0 802405A0 8E0300AC */ lw $v1, 0xac($s0) +/* DB7EB4 802405A4 8E02008C */ lw $v0, 0x8c($s0) +/* DB7EB8 802405A8 00621821 */ addu $v1, $v1, $v0 +/* DB7EBC 802405AC 04610004 */ bgez $v1, .L802405C0 +/* DB7EC0 802405B0 AE0300AC */ sw $v1, 0xac($s0) +/* DB7EC4 802405B4 3C020002 */ lui $v0, 2 +/* DB7EC8 802405B8 08090174 */ j .L802405D0 +/* DB7ECC 802405BC 00621021 */ addu $v0, $v1, $v0 +.L802405C0: +/* DB7ED0 802405C0 3C040002 */ lui $a0, 2 +/* DB7ED4 802405C4 0083102A */ slt $v0, $a0, $v1 +/* DB7ED8 802405C8 10400002 */ beqz $v0, .L802405D4 +/* DB7EDC 802405CC 00641023 */ subu $v0, $v1, $a0 +.L802405D0: +/* DB7EE0 802405D0 AE0200AC */ sw $v0, 0xac($s0) +.L802405D4: +/* DB7EE4 802405D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* DB7EE8 802405D8 8E020090 */ lw $v0, 0x90($s0) +/* DB7EEC 802405DC 00621821 */ addu $v1, $v1, $v0 +/* DB7EF0 802405E0 04610004 */ bgez $v1, .L802405F4 +/* DB7EF4 802405E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* DB7EF8 802405E8 3C020002 */ lui $v0, 2 +/* DB7EFC 802405EC 08090181 */ j .L80240604 +/* DB7F00 802405F0 00621021 */ addu $v0, $v1, $v0 +.L802405F4: +/* DB7F04 802405F4 3C040002 */ lui $a0, 2 +/* DB7F08 802405F8 0083102A */ slt $v0, $a0, $v1 +/* DB7F0C 802405FC 10400002 */ beqz $v0, .L80240608 +/* DB7F10 80240600 00641023 */ subu $v0, $v1, $a0 +.L80240604: +/* DB7F14 80240604 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240608: +/* DB7F18 80240608 8E0300B4 */ lw $v1, 0xb4($s0) +/* DB7F1C 8024060C 8E020094 */ lw $v0, 0x94($s0) +/* DB7F20 80240610 00621821 */ addu $v1, $v1, $v0 +/* DB7F24 80240614 04610004 */ bgez $v1, .L80240628 +/* DB7F28 80240618 AE0300B4 */ sw $v1, 0xb4($s0) +/* DB7F2C 8024061C 3C020002 */ lui $v0, 2 +/* DB7F30 80240620 0809018E */ j .L80240638 +/* DB7F34 80240624 00621021 */ addu $v0, $v1, $v0 +.L80240628: +/* DB7F38 80240628 3C040002 */ lui $a0, 2 +/* DB7F3C 8024062C 0083102A */ slt $v0, $a0, $v1 +/* DB7F40 80240630 10400002 */ beqz $v0, .L8024063C +/* DB7F44 80240634 00641023 */ subu $v0, $v1, $a0 +.L80240638: +/* DB7F48 80240638 AE0200B4 */ sw $v0, 0xb4($s0) +.L8024063C: +/* DB7F4C 8024063C 8E040084 */ lw $a0, 0x84($s0) +/* DB7F50 80240640 0C046F07 */ jal set_main_pan_u +/* DB7F54 80240644 8E0500A8 */ lw $a1, 0xa8($s0) +/* DB7F58 80240648 8E040084 */ lw $a0, 0x84($s0) +/* DB7F5C 8024064C 0C046F0D */ jal set_main_pan_v +/* DB7F60 80240650 8E0500AC */ lw $a1, 0xac($s0) +/* DB7F64 80240654 8E040084 */ lw $a0, 0x84($s0) +/* DB7F68 80240658 0C046F13 */ jal set_aux_pan_u +/* DB7F6C 8024065C 8E0500B0 */ lw $a1, 0xb0($s0) +/* DB7F70 80240660 8E040084 */ lw $a0, 0x84($s0) +/* DB7F74 80240664 0C046F19 */ jal set_aux_pan_v +/* DB7F78 80240668 8E0500B4 */ lw $a1, 0xb4($s0) +/* DB7F7C 8024066C 8FBF0014 */ lw $ra, 0x14($sp) +/* DB7F80 80240670 8FB00010 */ lw $s0, 0x10($sp) +/* DB7F84 80240674 0000102D */ daddu $v0, $zero, $zero +/* DB7F88 80240678 03E00008 */ jr $ra +/* DB7F8C 8024067C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240680_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240680_DB7910.s new file mode 100644 index 0000000000..4c7b5ba975 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240680_DB7910.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_DB7F90 +/* DB7F90 80240680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB7F94 80240684 AFB00010 */ sw $s0, 0x10($sp) +/* DB7F98 80240688 0080802D */ daddu $s0, $a0, $zero +/* DB7F9C 8024068C 10A00005 */ beqz $a1, .L802406A4 +/* DB7FA0 80240690 AFBF0014 */ sw $ra, 0x14($sp) +/* DB7FA4 80240694 AE000070 */ sw $zero, 0x70($s0) +/* DB7FA8 80240698 AE000074 */ sw $zero, 0x74($s0) +/* DB7FAC 8024069C AE000078 */ sw $zero, 0x78($s0) +/* DB7FB0 802406A0 AE00007C */ sw $zero, 0x7c($s0) +.L802406A4: +/* DB7FB4 802406A4 8E020070 */ lw $v0, 0x70($s0) +/* DB7FB8 802406A8 1440000E */ bnez $v0, .L802406E4 +/* DB7FBC 802406AC 00000000 */ nop +/* DB7FC0 802406B0 8E0300A8 */ lw $v1, 0xa8($s0) +/* DB7FC4 802406B4 8E020088 */ lw $v0, 0x88($s0) +/* DB7FC8 802406B8 00621821 */ addu $v1, $v1, $v0 +/* DB7FCC 802406BC 04610004 */ bgez $v1, .L802406D0 +/* DB7FD0 802406C0 AE0300A8 */ sw $v1, 0xa8($s0) +/* DB7FD4 802406C4 3C020002 */ lui $v0, 2 +/* DB7FD8 802406C8 080901B8 */ j .L802406E0 +/* DB7FDC 802406CC 00621021 */ addu $v0, $v1, $v0 +.L802406D0: +/* DB7FE0 802406D0 3C040002 */ lui $a0, 2 +/* DB7FE4 802406D4 0083102A */ slt $v0, $a0, $v1 +/* DB7FE8 802406D8 10400002 */ beqz $v0, .L802406E4 +/* DB7FEC 802406DC 00641023 */ subu $v0, $v1, $a0 +.L802406E0: +/* DB7FF0 802406E0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802406E4: +/* DB7FF4 802406E4 8E020074 */ lw $v0, 0x74($s0) +/* DB7FF8 802406E8 1440000E */ bnez $v0, .L80240724 +/* DB7FFC 802406EC 00000000 */ nop +/* DB8000 802406F0 8E0300AC */ lw $v1, 0xac($s0) +/* DB8004 802406F4 8E02008C */ lw $v0, 0x8c($s0) +/* DB8008 802406F8 00621821 */ addu $v1, $v1, $v0 +/* DB800C 802406FC 04610004 */ bgez $v1, .L80240710 +/* DB8010 80240700 AE0300AC */ sw $v1, 0xac($s0) +/* DB8014 80240704 3C020002 */ lui $v0, 2 +/* DB8018 80240708 080901C8 */ j .L80240720 +/* DB801C 8024070C 00621021 */ addu $v0, $v1, $v0 +.L80240710: +/* DB8020 80240710 3C040002 */ lui $a0, 2 +/* DB8024 80240714 0083102A */ slt $v0, $a0, $v1 +/* DB8028 80240718 10400002 */ beqz $v0, .L80240724 +/* DB802C 8024071C 00641023 */ subu $v0, $v1, $a0 +.L80240720: +/* DB8030 80240720 AE0200AC */ sw $v0, 0xac($s0) +.L80240724: +/* DB8034 80240724 8E020078 */ lw $v0, 0x78($s0) +/* DB8038 80240728 1440000E */ bnez $v0, .L80240764 +/* DB803C 8024072C 00000000 */ nop +/* DB8040 80240730 8E0300B0 */ lw $v1, 0xb0($s0) +/* DB8044 80240734 8E020090 */ lw $v0, 0x90($s0) +/* DB8048 80240738 00621821 */ addu $v1, $v1, $v0 +/* DB804C 8024073C 04610004 */ bgez $v1, .L80240750 +/* DB8050 80240740 AE0300B0 */ sw $v1, 0xb0($s0) +/* DB8054 80240744 3C020002 */ lui $v0, 2 +/* DB8058 80240748 080901D8 */ j .L80240760 +/* DB805C 8024074C 00621021 */ addu $v0, $v1, $v0 +.L80240750: +/* DB8060 80240750 3C040002 */ lui $a0, 2 +/* DB8064 80240754 0083102A */ slt $v0, $a0, $v1 +/* DB8068 80240758 10400002 */ beqz $v0, .L80240764 +/* DB806C 8024075C 00641023 */ subu $v0, $v1, $a0 +.L80240760: +/* DB8070 80240760 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240764: +/* DB8074 80240764 8E02007C */ lw $v0, 0x7c($s0) +/* DB8078 80240768 1440000E */ bnez $v0, .L802407A4 +/* DB807C 8024076C 00000000 */ nop +/* DB8080 80240770 8E0300B4 */ lw $v1, 0xb4($s0) +/* DB8084 80240774 8E020094 */ lw $v0, 0x94($s0) +/* DB8088 80240778 00621821 */ addu $v1, $v1, $v0 +/* DB808C 8024077C 04610004 */ bgez $v1, .L80240790 +/* DB8090 80240780 AE0300B4 */ sw $v1, 0xb4($s0) +/* DB8094 80240784 3C020002 */ lui $v0, 2 +/* DB8098 80240788 080901E8 */ j .L802407A0 +/* DB809C 8024078C 00621021 */ addu $v0, $v1, $v0 +.L80240790: +/* DB80A0 80240790 3C040002 */ lui $a0, 2 +/* DB80A4 80240794 0083102A */ slt $v0, $a0, $v1 +/* DB80A8 80240798 10400002 */ beqz $v0, .L802407A4 +/* DB80AC 8024079C 00641023 */ subu $v0, $v1, $a0 +.L802407A0: +/* DB80B0 802407A0 AE0200B4 */ sw $v0, 0xb4($s0) +.L802407A4: +/* DB80B4 802407A4 8E040084 */ lw $a0, 0x84($s0) +/* DB80B8 802407A8 0C046F07 */ jal set_main_pan_u +/* DB80BC 802407AC 8E0500A8 */ lw $a1, 0xa8($s0) +/* DB80C0 802407B0 8E040084 */ lw $a0, 0x84($s0) +/* DB80C4 802407B4 0C046F0D */ jal set_main_pan_v +/* DB80C8 802407B8 8E0500AC */ lw $a1, 0xac($s0) +/* DB80CC 802407BC 8E040084 */ lw $a0, 0x84($s0) +/* DB80D0 802407C0 0C046F13 */ jal set_aux_pan_u +/* DB80D4 802407C4 8E0500B0 */ lw $a1, 0xb0($s0) +/* DB80D8 802407C8 8E040084 */ lw $a0, 0x84($s0) +/* DB80DC 802407CC 0C046F19 */ jal set_aux_pan_v +/* DB80E0 802407D0 8E0500B4 */ lw $a1, 0xb4($s0) +/* DB80E4 802407D4 8E020070 */ lw $v0, 0x70($s0) +/* DB80E8 802407D8 8E030078 */ lw $v1, 0x78($s0) +/* DB80EC 802407DC 8E040098 */ lw $a0, 0x98($s0) +/* DB80F0 802407E0 24420001 */ addiu $v0, $v0, 1 +/* DB80F4 802407E4 AE020070 */ sw $v0, 0x70($s0) +/* DB80F8 802407E8 8E020074 */ lw $v0, 0x74($s0) +/* DB80FC 802407EC 24630001 */ addiu $v1, $v1, 1 +/* DB8100 802407F0 AE030078 */ sw $v1, 0x78($s0) +/* DB8104 802407F4 8E030070 */ lw $v1, 0x70($s0) +/* DB8108 802407F8 24420001 */ addiu $v0, $v0, 1 +/* DB810C 802407FC AE020074 */ sw $v0, 0x74($s0) +/* DB8110 80240800 8E02007C */ lw $v0, 0x7c($s0) +/* DB8114 80240804 0064182A */ slt $v1, $v1, $a0 +/* DB8118 80240808 24420001 */ addiu $v0, $v0, 1 +/* DB811C 8024080C 14600002 */ bnez $v1, .L80240818 +/* DB8120 80240810 AE02007C */ sw $v0, 0x7c($s0) +/* DB8124 80240814 AE000070 */ sw $zero, 0x70($s0) +.L80240818: +/* DB8128 80240818 8E020074 */ lw $v0, 0x74($s0) +/* DB812C 8024081C 8E03009C */ lw $v1, 0x9c($s0) +/* DB8130 80240820 0043102A */ slt $v0, $v0, $v1 +/* DB8134 80240824 50400001 */ beql $v0, $zero, .L8024082C +/* DB8138 80240828 AE000074 */ sw $zero, 0x74($s0) +.L8024082C: +/* DB813C 8024082C 8E020078 */ lw $v0, 0x78($s0) +/* DB8140 80240830 8E0300A0 */ lw $v1, 0xa0($s0) +/* DB8144 80240834 0043102A */ slt $v0, $v0, $v1 +/* DB8148 80240838 50400001 */ beql $v0, $zero, .L80240840 +/* DB814C 8024083C AE000078 */ sw $zero, 0x78($s0) +.L80240840: +/* DB8150 80240840 8E02007C */ lw $v0, 0x7c($s0) +/* DB8154 80240844 8E0300A4 */ lw $v1, 0xa4($s0) +/* DB8158 80240848 0043102A */ slt $v0, $v0, $v1 +/* DB815C 8024084C 50400001 */ beql $v0, $zero, .L80240854 +/* DB8160 80240850 AE00007C */ sw $zero, 0x7c($s0) +.L80240854: +/* DB8164 80240854 8FBF0014 */ lw $ra, 0x14($sp) +/* DB8168 80240858 8FB00010 */ lw $s0, 0x10($sp) +/* DB816C 8024085C 0000102D */ daddu $v0, $zero, $zero +/* DB8170 80240860 03E00008 */ jr $ra +/* DB8174 80240864 27BD0018 */ addiu $sp, $sp, 0x18 +/* DB8178 80240868 00000000 */ nop +/* DB817C 8024086C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240870_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240870_DB7910.s new file mode 100644 index 0000000000..6a5810ba31 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240870_DB7910.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_DB8180 +/* DB8180 80240870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB8184 80240874 AFB00010 */ sw $s0, 0x10($sp) +/* DB8188 80240878 3C108024 */ lui $s0, 0x8024 +/* DB818C 8024087C 261056C0 */ addiu $s0, $s0, 0x56c0 +/* DB8190 80240880 AFBF0018 */ sw $ra, 0x18($sp) +/* DB8194 80240884 AFB10014 */ sw $s1, 0x14($sp) +/* DB8198 80240888 8E020000 */ lw $v0, ($s0) +/* DB819C 8024088C 14400010 */ bnez $v0, .L802408D0 +/* DB81A0 80240890 0080882D */ daddu $s1, $a0, $zero +/* DB81A4 80240894 0C00AB39 */ jal heap_malloc +/* DB81A8 80240898 24040040 */ addiu $a0, $zero, 0x40 +/* DB81AC 8024089C AE020000 */ sw $v0, ($s0) +/* DB81B0 802408A0 0000182D */ daddu $v1, $zero, $zero +/* DB81B4 802408A4 0040282D */ daddu $a1, $v0, $zero +/* DB81B8 802408A8 0220202D */ daddu $a0, $s1, $zero +.L802408AC: +/* DB81BC 802408AC 8C820084 */ lw $v0, 0x84($a0) +/* DB81C0 802408B0 24840004 */ addiu $a0, $a0, 4 +/* DB81C4 802408B4 24630001 */ addiu $v1, $v1, 1 +/* DB81C8 802408B8 ACA20000 */ sw $v0, ($a1) +/* DB81CC 802408BC 28620010 */ slti $v0, $v1, 0x10 +/* DB81D0 802408C0 1440FFFA */ bnez $v0, .L802408AC +/* DB81D4 802408C4 24A50004 */ addiu $a1, $a1, 4 +/* DB81D8 802408C8 08090243 */ j .L8024090C +/* DB81DC 802408CC 00000000 */ nop +.L802408D0: +/* DB81E0 802408D0 0000182D */ daddu $v1, $zero, $zero +/* DB81E4 802408D4 0040282D */ daddu $a1, $v0, $zero +/* DB81E8 802408D8 0220202D */ daddu $a0, $s1, $zero +.L802408DC: +/* DB81EC 802408DC 8CA20000 */ lw $v0, ($a1) +/* DB81F0 802408E0 24A50004 */ addiu $a1, $a1, 4 +/* DB81F4 802408E4 24630001 */ addiu $v1, $v1, 1 +/* DB81F8 802408E8 AC820084 */ sw $v0, 0x84($a0) +/* DB81FC 802408EC 28620010 */ slti $v0, $v1, 0x10 +/* DB8200 802408F0 1440FFFA */ bnez $v0, .L802408DC +/* DB8204 802408F4 24840004 */ addiu $a0, $a0, 4 +/* DB8208 802408F8 3C108024 */ lui $s0, 0x8024 +/* DB820C 802408FC 261056C0 */ addiu $s0, $s0, 0x56c0 +/* DB8210 80240900 0C00AB4B */ jal heap_free +/* DB8214 80240904 8E040000 */ lw $a0, ($s0) +/* DB8218 80240908 AE000000 */ sw $zero, ($s0) +.L8024090C: +/* DB821C 8024090C 8FBF0018 */ lw $ra, 0x18($sp) +/* DB8220 80240910 8FB10014 */ lw $s1, 0x14($sp) +/* DB8224 80240914 8FB00010 */ lw $s0, 0x10($sp) +/* DB8228 80240918 24020002 */ addiu $v0, $zero, 2 +/* DB822C 8024091C 03E00008 */ jr $ra +/* DB8230 80240920 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240924_DB7910.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240924_DB7910.s new file mode 100644 index 0000000000..7ca91911cc --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240924_DB7910.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240924_DB8234 +/* DB8234 80240924 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB8238 80240928 AFB00010 */ sw $s0, 0x10($sp) +/* DB823C 8024092C 0080802D */ daddu $s0, $a0, $zero +/* DB8240 80240930 AFBF0018 */ sw $ra, 0x18($sp) +/* DB8244 80240934 AFB10014 */ sw $s1, 0x14($sp) +/* DB8248 80240938 8E02000C */ lw $v0, 0xc($s0) +/* DB824C 8024093C 8C510000 */ lw $s1, ($v0) +/* DB8250 80240940 0C0B1EAF */ jal get_variable +/* DB8254 80240944 0220282D */ daddu $a1, $s1, $zero +/* DB8258 80240948 3C03FFF0 */ lui $v1, 0xfff0 +/* DB825C 8024094C 3463FFFF */ ori $v1, $v1, 0xffff +/* DB8260 80240950 0200202D */ daddu $a0, $s0, $zero +/* DB8264 80240954 00431024 */ and $v0, $v0, $v1 +/* DB8268 80240958 00021140 */ sll $v0, $v0, 5 +/* DB826C 8024095C 3C068008 */ lui $a2, %hi(gItemTable) +/* DB8270 80240960 00C23021 */ addu $a2, $a2, $v0 +/* DB8274 80240964 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* DB8278 80240968 0C0B2026 */ jal set_variable +/* DB827C 8024096C 0220282D */ daddu $a1, $s1, $zero +/* DB8280 80240970 8FBF0018 */ lw $ra, 0x18($sp) +/* DB8284 80240974 8FB10014 */ lw $s1, 0x14($sp) +/* DB8288 80240978 8FB00010 */ lw $s0, 0x10($sp) +/* DB828C 8024097C 24020002 */ addiu $v0, $zero, 2 +/* DB8290 80240980 03E00008 */ jr $ra +/* DB8294 80240984 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240988.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240988.s new file mode 100644 index 0000000000..08139d9597 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240988.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240988 +/* DB8298 80240988 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DB829C 8024098C AFB10014 */ sw $s1, 0x14($sp) +/* DB82A0 80240990 0080882D */ daddu $s1, $a0, $zero +/* DB82A4 80240994 AFBF001C */ sw $ra, 0x1c($sp) +/* DB82A8 80240998 AFB20018 */ sw $s2, 0x18($sp) +/* DB82AC 8024099C AFB00010 */ sw $s0, 0x10($sp) +/* DB82B0 802409A0 8E240084 */ lw $a0, 0x84($s1) +/* DB82B4 802409A4 0C04C3D6 */ jal get_item_entity +/* DB82B8 802409A8 00A0802D */ daddu $s0, $a1, $zero +/* DB82BC 802409AC 12000005 */ beqz $s0, .L802409C4 +/* DB82C0 802409B0 0040902D */ daddu $s2, $v0, $zero +/* DB82C4 802409B4 C640000C */ lwc1 $f0, 0xc($s2) +/* DB82C8 802409B8 AE200074 */ sw $zero, 0x74($s1) +/* DB82CC 802409BC AE20007C */ sw $zero, 0x7c($s1) +/* DB82D0 802409C0 E6200078 */ swc1 $f0, 0x78($s1) +.L802409C4: +/* DB82D4 802409C4 8E230074 */ lw $v1, 0x74($s1) +/* DB82D8 802409C8 10600005 */ beqz $v1, .L802409E0 +/* DB82DC 802409CC 24020001 */ addiu $v0, $zero, 1 +/* DB82E0 802409D0 10620024 */ beq $v1, $v0, .L80240A64 +/* DB82E4 802409D4 00000000 */ nop +/* DB82E8 802409D8 080902AF */ j .L80240ABC +/* DB82EC 802409DC 00000000 */ nop +.L802409E0: +/* DB82F0 802409E0 3C013FC9 */ lui $at, 0x3fc9 +/* DB82F4 802409E4 34210FD8 */ ori $at, $at, 0xfd8 +/* DB82F8 802409E8 44810000 */ mtc1 $at, $f0 +/* DB82FC 802409EC C62C007C */ lwc1 $f12, 0x7c($s1) +/* DB8300 802409F0 46806320 */ cvt.s.w $f12, $f12 +/* DB8304 802409F4 46006302 */ mul.s $f12, $f12, $f0 +/* DB8308 802409F8 00000000 */ nop +/* DB830C 802409FC 3C0141F0 */ lui $at, 0x41f0 +/* DB8310 80240A00 44810000 */ mtc1 $at, $f0 +/* DB8314 80240A04 0C00A874 */ jal cos_rad +/* DB8318 80240A08 46006303 */ div.s $f12, $f12, $f0 +/* DB831C 80240A0C 3C013F80 */ lui $at, 0x3f80 +/* DB8320 80240A10 44811000 */ mtc1 $at, $f2 +/* DB8324 80240A14 00000000 */ nop +/* DB8328 80240A18 46001081 */ sub.s $f2, $f2, $f0 +/* DB832C 80240A1C 3C0141A0 */ lui $at, 0x41a0 +/* DB8330 80240A20 44810000 */ mtc1 $at, $f0 +/* DB8334 80240A24 00000000 */ nop +/* DB8338 80240A28 46001082 */ mul.s $f2, $f2, $f0 +/* DB833C 80240A2C 00000000 */ nop +/* DB8340 80240A30 C6200078 */ lwc1 $f0, 0x78($s1) +/* DB8344 80240A34 46020000 */ add.s $f0, $f0, $f2 +/* DB8348 80240A38 E640000C */ swc1 $f0, 0xc($s2) +/* DB834C 80240A3C 8E23007C */ lw $v1, 0x7c($s1) +/* DB8350 80240A40 2402001E */ addiu $v0, $zero, 0x1e +/* DB8354 80240A44 14620005 */ bne $v1, $v0, .L80240A5C +/* DB8358 80240A48 24620001 */ addiu $v0, $v1, 1 +/* DB835C 80240A4C 24020001 */ addiu $v0, $zero, 1 +/* DB8360 80240A50 AE220074 */ sw $v0, 0x74($s1) +/* DB8364 80240A54 080902AF */ j .L80240ABC +/* DB8368 80240A58 AE20007C */ sw $zero, 0x7c($s1) +.L80240A5C: +/* DB836C 80240A5C 080902AF */ j .L80240ABC +/* DB8370 80240A60 AE22007C */ sw $v0, 0x7c($s1) +.L80240A64: +/* DB8374 80240A64 C62C007C */ lwc1 $f12, 0x7c($s1) +/* DB8378 80240A68 0C00A8D4 */ jal cos_deg +/* DB837C 80240A6C 46806320 */ cvt.s.w $f12, $f12 +/* DB8380 80240A70 3C014040 */ lui $at, 0x4040 +/* DB8384 80240A74 44811000 */ mtc1 $at, $f2 +/* DB8388 80240A78 00000000 */ nop +/* DB838C 80240A7C 46020002 */ mul.s $f0, $f0, $f2 +/* DB8390 80240A80 00000000 */ nop +/* DB8394 80240A84 3C014188 */ lui $at, 0x4188 +/* DB8398 80240A88 44812000 */ mtc1 $at, $f4 +/* DB839C 80240A8C C6220078 */ lwc1 $f2, 0x78($s1) +/* DB83A0 80240A90 46041080 */ add.s $f2, $f2, $f4 +/* DB83A4 80240A94 46001080 */ add.s $f2, $f2, $f0 +/* DB83A8 80240A98 E642000C */ swc1 $f2, 0xc($s2) +/* DB83AC 80240A9C 8E22007C */ lw $v0, 0x7c($s1) +/* DB83B0 80240AA0 24420009 */ addiu $v0, $v0, 9 +/* DB83B4 80240AA4 44826000 */ mtc1 $v0, $f12 +/* DB83B8 80240AA8 00000000 */ nop +/* DB83BC 80240AAC 0C00A6C9 */ jal clamp_angle +/* DB83C0 80240AB0 46806320 */ cvt.s.w $f12, $f12 +/* DB83C4 80240AB4 4600018D */ trunc.w.s $f6, $f0 +/* DB83C8 80240AB8 E626007C */ swc1 $f6, 0x7c($s1) +.L80240ABC: +/* DB83CC 80240ABC 8FBF001C */ lw $ra, 0x1c($sp) +/* DB83D0 80240AC0 8FB20018 */ lw $s2, 0x18($sp) +/* DB83D4 80240AC4 8FB10014 */ lw $s1, 0x14($sp) +/* DB83D8 80240AC8 8FB00010 */ lw $s0, 0x10($sp) +/* DB83DC 80240ACC 0000102D */ daddu $v0, $zero, $zero +/* DB83E0 80240AD0 03E00008 */ jr $ra +/* DB83E4 80240AD4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_06/func_80240AD8.s b/asm/nonmatchings/world/area_omo/omo_06/func_80240AD8.s new file mode 100644 index 0000000000..0c05b1fa72 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_06/func_80240AD8.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD8 +/* DB83E8 80240AD8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DB83EC 80240ADC AFB00010 */ sw $s0, 0x10($sp) +/* DB83F0 80240AE0 0080802D */ daddu $s0, $a0, $zero +/* DB83F4 80240AE4 AFBF0014 */ sw $ra, 0x14($sp) +/* DB83F8 80240AE8 8E02000C */ lw $v0, 0xc($s0) +/* DB83FC 80240AEC 0C0B1EAF */ jal get_variable +/* DB8400 80240AF0 8C450000 */ lw $a1, ($v0) +/* DB8404 80240AF4 00021140 */ sll $v0, $v0, 5 +/* DB8408 80240AF8 AE000084 */ sw $zero, 0x84($s0) +/* DB840C 80240AFC 3C018008 */ lui $at, 0x8008 +/* DB8410 80240B00 00220821 */ addu $at, $at, $v0 +/* DB8414 80240B04 942278F8 */ lhu $v0, 0x78f8($at) +/* DB8418 80240B08 30420040 */ andi $v0, $v0, 0x40 +/* DB841C 80240B0C 10400002 */ beqz $v0, .L80240B18 +/* DB8420 80240B10 24020001 */ addiu $v0, $zero, 1 +/* DB8424 80240B14 AE020084 */ sw $v0, 0x84($s0) +.L80240B18: +/* DB8428 80240B18 8FBF0014 */ lw $ra, 0x14($sp) +/* DB842C 80240B1C 8FB00010 */ lw $s0, 0x10($sp) +/* DB8430 80240B20 24020002 */ addiu $v0, $zero, 2 +/* DB8434 80240B24 03E00008 */ jr $ra +/* DB8438 80240B28 27BD0018 */ addiu $sp, $sp, 0x18 +/* DB843C 80240B2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240000_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240000_DBD2B0.s new file mode 100644 index 0000000000..dced7d0829 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240000_DBD2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DBD2B0 +/* DBD2B0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBD2B4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* DBD2B8 80240008 0080882D */ daddu $s1, $a0, $zero +/* DBD2BC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* DBD2C0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* DBD2C4 80240014 8E300148 */ lw $s0, 0x148($s1) +/* DBD2C8 80240018 0C00EABB */ jal get_npc_unsafe +/* DBD2CC 8024001C 86040008 */ lh $a0, 8($s0) +/* DBD2D0 80240020 C4400018 */ lwc1 $f0, 0x18($v0) +/* DBD2D4 80240024 3C018024 */ lui $at, 0x8024 +/* DBD2D8 80240028 D4226BD0 */ ldc1 $f2, 0x6bd0($at) +/* DBD2DC 8024002C 46000021 */ cvt.d.s $f0, $f0 +/* DBD2E0 80240030 46220002 */ mul.d $f0, $f0, $f2 +/* DBD2E4 80240034 00000000 */ nop +/* DBD2E8 80240038 46200020 */ cvt.s.d $f0, $f0 +/* DBD2EC 8024003C E4400018 */ swc1 $f0, 0x18($v0) +/* DBD2F0 80240040 8E0300CC */ lw $v1, 0xcc($s0) +/* DBD2F4 80240044 8C640030 */ lw $a0, 0x30($v1) +/* DBD2F8 80240048 24030005 */ addiu $v1, $zero, 5 +/* DBD2FC 8024004C A443008E */ sh $v1, 0x8e($v0) +/* DBD300 80240050 AC440028 */ sw $a0, 0x28($v0) +/* DBD304 80240054 2402000F */ addiu $v0, $zero, 0xf +/* DBD308 80240058 AE220070 */ sw $v0, 0x70($s1) +/* DBD30C 8024005C 8FBF0018 */ lw $ra, 0x18($sp) +/* DBD310 80240060 8FB10014 */ lw $s1, 0x14($sp) +/* DBD314 80240064 8FB00010 */ lw $s0, 0x10($sp) +/* DBD318 80240068 03E00008 */ jr $ra +/* DBD31C 8024006C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240070_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240070_DBD2B0.s new file mode 100644 index 0000000000..3b73233f56 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240070_DBD2B0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_DBD320 +/* DBD320 80240070 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DBD324 80240074 AFB20028 */ sw $s2, 0x28($sp) +/* DBD328 80240078 0080902D */ daddu $s2, $a0, $zero +/* DBD32C 8024007C AFBF002C */ sw $ra, 0x2c($sp) +/* DBD330 80240080 AFB10024 */ sw $s1, 0x24($sp) +/* DBD334 80240084 AFB00020 */ sw $s0, 0x20($sp) +/* DBD338 80240088 8E510148 */ lw $s1, 0x148($s2) +/* DBD33C 8024008C 0C00EABB */ jal get_npc_unsafe +/* DBD340 80240090 86240008 */ lh $a0, 8($s1) +/* DBD344 80240094 0040802D */ daddu $s0, $v0, $zero +/* DBD348 80240098 0200202D */ daddu $a0, $s0, $zero +/* DBD34C 8024009C C600000C */ lwc1 $f0, 0xc($s0) +/* DBD350 802400A0 27A60018 */ addiu $a2, $sp, 0x18 +/* DBD354 802400A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBD358 802400A8 AFA00010 */ sw $zero, 0x10($sp) +/* DBD35C 802400AC AFA00014 */ sw $zero, 0x14($sp) +/* DBD360 802400B0 8E050018 */ lw $a1, 0x18($s0) +/* DBD364 802400B4 0C0129E1 */ jal func_8004A784 +/* DBD368 802400B8 0000382D */ daddu $a3, $zero, $zero +/* DBD36C 802400BC 14400005 */ bnez $v0, .L802400D4 +/* DBD370 802400C0 00000000 */ nop +/* DBD374 802400C4 8E050018 */ lw $a1, 0x18($s0) +/* DBD378 802400C8 8E06000C */ lw $a2, 0xc($s0) +/* DBD37C 802400CC 0C00EA95 */ jal npc_move_heading +/* DBD380 802400D0 0200202D */ daddu $a0, $s0, $zero +.L802400D4: +/* DBD384 802400D4 9602008E */ lhu $v0, 0x8e($s0) +/* DBD388 802400D8 2442FFFF */ addiu $v0, $v0, -1 +/* DBD38C 802400DC A602008E */ sh $v0, 0x8e($s0) +/* DBD390 802400E0 00021400 */ sll $v0, $v0, 0x10 +/* DBD394 802400E4 14400010 */ bnez $v0, .L80240128 +/* DBD398 802400E8 00000000 */ nop +/* DBD39C 802400EC C6000018 */ lwc1 $f0, 0x18($s0) +/* DBD3A0 802400F0 3C018024 */ lui $at, 0x8024 +/* DBD3A4 802400F4 D4226BD8 */ ldc1 $f2, 0x6bd8($at) +/* DBD3A8 802400F8 46000021 */ cvt.d.s $f0, $f0 +/* DBD3AC 802400FC 46220002 */ mul.d $f0, $f0, $f2 +/* DBD3B0 80240100 00000000 */ nop +/* DBD3B4 80240104 46200020 */ cvt.s.d $f0, $f0 +/* DBD3B8 80240108 E6000018 */ swc1 $f0, 0x18($s0) +/* DBD3BC 8024010C 8E2200CC */ lw $v0, 0xcc($s1) +/* DBD3C0 80240110 8C43002C */ lw $v1, 0x2c($v0) +/* DBD3C4 80240114 2402000A */ addiu $v0, $zero, 0xa +/* DBD3C8 80240118 A602008E */ sh $v0, 0x8e($s0) +/* DBD3CC 8024011C 24020010 */ addiu $v0, $zero, 0x10 +/* DBD3D0 80240120 AE030028 */ sw $v1, 0x28($s0) +/* DBD3D4 80240124 AE420070 */ sw $v0, 0x70($s2) +.L80240128: +/* DBD3D8 80240128 8FBF002C */ lw $ra, 0x2c($sp) +/* DBD3DC 8024012C 8FB20028 */ lw $s2, 0x28($sp) +/* DBD3E0 80240130 8FB10024 */ lw $s1, 0x24($sp) +/* DBD3E4 80240134 8FB00020 */ lw $s0, 0x20($sp) +/* DBD3E8 80240138 03E00008 */ jr $ra +/* DBD3EC 8024013C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240140_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240140_DBD2B0.s new file mode 100644 index 0000000000..3f1ed7e10b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240140_DBD2B0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_DBD3F0 +/* DBD3F0 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DBD3F4 80240144 AFB10024 */ sw $s1, 0x24($sp) +/* DBD3F8 80240148 0080882D */ daddu $s1, $a0, $zero +/* DBD3FC 8024014C AFBF0028 */ sw $ra, 0x28($sp) +/* DBD400 80240150 AFB00020 */ sw $s0, 0x20($sp) +/* DBD404 80240154 8E220148 */ lw $v0, 0x148($s1) +/* DBD408 80240158 0C00EABB */ jal get_npc_unsafe +/* DBD40C 8024015C 84440008 */ lh $a0, 8($v0) +/* DBD410 80240160 0040802D */ daddu $s0, $v0, $zero +/* DBD414 80240164 0200202D */ daddu $a0, $s0, $zero +/* DBD418 80240168 C600000C */ lwc1 $f0, 0xc($s0) +/* DBD41C 8024016C 27A60018 */ addiu $a2, $sp, 0x18 +/* DBD420 80240170 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBD424 80240174 AFA00010 */ sw $zero, 0x10($sp) +/* DBD428 80240178 AFA00014 */ sw $zero, 0x14($sp) +/* DBD42C 8024017C 8E050018 */ lw $a1, 0x18($s0) +/* DBD430 80240180 0C0129E1 */ jal func_8004A784 +/* DBD434 80240184 0000382D */ daddu $a3, $zero, $zero +/* DBD438 80240188 14400005 */ bnez $v0, .L802401A0 +/* DBD43C 8024018C 00000000 */ nop +/* DBD440 80240190 8E050018 */ lw $a1, 0x18($s0) +/* DBD444 80240194 8E06000C */ lw $a2, 0xc($s0) +/* DBD448 80240198 0C00EA95 */ jal npc_move_heading +/* DBD44C 8024019C 0200202D */ daddu $a0, $s0, $zero +.L802401A0: +/* DBD450 802401A0 9602008E */ lhu $v0, 0x8e($s0) +/* DBD454 802401A4 2442FFFF */ addiu $v0, $v0, -1 +/* DBD458 802401A8 A602008E */ sh $v0, 0x8e($s0) +/* DBD45C 802401AC 00021400 */ sll $v0, $v0, 0x10 +/* DBD460 802401B0 14400004 */ bnez $v0, .L802401C4 +/* DBD464 802401B4 2402001E */ addiu $v0, $zero, 0x1e +/* DBD468 802401B8 A602008E */ sh $v0, 0x8e($s0) +/* DBD46C 802401BC 24020011 */ addiu $v0, $zero, 0x11 +/* DBD470 802401C0 AE220070 */ sw $v0, 0x70($s1) +.L802401C4: +/* DBD474 802401C4 8FBF0028 */ lw $ra, 0x28($sp) +/* DBD478 802401C8 8FB10024 */ lw $s1, 0x24($sp) +/* DBD47C 802401CC 8FB00020 */ lw $s0, 0x20($sp) +/* DBD480 802401D0 03E00008 */ jr $ra +/* DBD484 802401D4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802401D8_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_802401D8_DBD2B0.s new file mode 100644 index 0000000000..01e7c6a7c9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802401D8_DBD2B0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D8_DBD488 +/* DBD488 802401D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBD48C 802401DC AFB10014 */ sw $s1, 0x14($sp) +/* DBD490 802401E0 0080882D */ daddu $s1, $a0, $zero +/* DBD494 802401E4 AFBF0018 */ sw $ra, 0x18($sp) +/* DBD498 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* DBD49C 802401EC 8E300148 */ lw $s0, 0x148($s1) +/* DBD4A0 802401F0 0C00EABB */ jal get_npc_unsafe +/* DBD4A4 802401F4 86040008 */ lh $a0, 8($s0) +/* DBD4A8 802401F8 0040182D */ daddu $v1, $v0, $zero +/* DBD4AC 802401FC 9462008E */ lhu $v0, 0x8e($v1) +/* DBD4B0 80240200 2442FFFF */ addiu $v0, $v0, -1 +/* DBD4B4 80240204 A462008E */ sh $v0, 0x8e($v1) +/* DBD4B8 80240208 00021400 */ sll $v0, $v0, 0x10 +/* DBD4BC 8024020C 14400005 */ bnez $v0, .L80240224 +/* DBD4C0 80240210 00000000 */ nop +/* DBD4C4 80240214 8E0200CC */ lw $v0, 0xcc($s0) +/* DBD4C8 80240218 8C420000 */ lw $v0, ($v0) +/* DBD4CC 8024021C AC620028 */ sw $v0, 0x28($v1) +/* DBD4D0 80240220 AE200070 */ sw $zero, 0x70($s1) +.L80240224: +/* DBD4D4 80240224 8FBF0018 */ lw $ra, 0x18($sp) +/* DBD4D8 80240228 8FB10014 */ lw $s1, 0x14($sp) +/* DBD4DC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* DBD4E0 80240230 03E00008 */ jr $ra +/* DBD4E4 80240234 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240238_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240238_DBD2B0.s new file mode 100644 index 0000000000..a5021c4f6e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240238_DBD2B0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240238_DBD4E8 +/* DBD4E8 80240238 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DBD4EC 8024023C AFB30054 */ sw $s3, 0x54($sp) +/* DBD4F0 80240240 0080982D */ daddu $s3, $a0, $zero +/* DBD4F4 80240244 AFBF0060 */ sw $ra, 0x60($sp) +/* DBD4F8 80240248 AFB5005C */ sw $s5, 0x5c($sp) +/* DBD4FC 8024024C AFB40058 */ sw $s4, 0x58($sp) +/* DBD500 80240250 AFB20050 */ sw $s2, 0x50($sp) +/* DBD504 80240254 AFB1004C */ sw $s1, 0x4c($sp) +/* DBD508 80240258 AFB00048 */ sw $s0, 0x48($sp) +/* DBD50C 8024025C 8E710148 */ lw $s1, 0x148($s3) +/* DBD510 80240260 86240008 */ lh $a0, 8($s1) +/* DBD514 80240264 0C00EABB */ jal get_npc_unsafe +/* DBD518 80240268 00A0802D */ daddu $s0, $a1, $zero +/* DBD51C 8024026C 8E63000C */ lw $v1, 0xc($s3) +/* DBD520 80240270 0260202D */ daddu $a0, $s3, $zero +/* DBD524 80240274 8C650000 */ lw $a1, ($v1) +/* DBD528 80240278 0C0B1EAF */ jal get_variable +/* DBD52C 8024027C 0040902D */ daddu $s2, $v0, $zero +/* DBD530 80240280 AFA00018 */ sw $zero, 0x18($sp) +/* DBD534 80240284 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBD538 80240288 8C630030 */ lw $v1, 0x30($v1) +/* DBD53C 8024028C AFA3001C */ sw $v1, 0x1c($sp) +/* DBD540 80240290 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBD544 80240294 8C63001C */ lw $v1, 0x1c($v1) +/* DBD548 80240298 AFA30020 */ sw $v1, 0x20($sp) +/* DBD54C 8024029C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBD550 802402A0 8C630024 */ lw $v1, 0x24($v1) +/* DBD554 802402A4 AFA30024 */ sw $v1, 0x24($sp) +/* DBD558 802402A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBD55C 802402AC 8C630028 */ lw $v1, 0x28($v1) +/* DBD560 802402B0 27B50018 */ addiu $s5, $sp, 0x18 +/* DBD564 802402B4 AFA30028 */ sw $v1, 0x28($sp) +/* DBD568 802402B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBD56C 802402BC 3C014282 */ lui $at, 0x4282 +/* DBD570 802402C0 44810000 */ mtc1 $at, $f0 +/* DBD574 802402C4 8C63002C */ lw $v1, 0x2c($v1) +/* DBD578 802402C8 0040A02D */ daddu $s4, $v0, $zero +/* DBD57C 802402CC E7A00030 */ swc1 $f0, 0x30($sp) +/* DBD580 802402D0 A7A00034 */ sh $zero, 0x34($sp) +/* DBD584 802402D4 16000005 */ bnez $s0, .L802402EC +/* DBD588 802402D8 AFA3002C */ sw $v1, 0x2c($sp) +/* DBD58C 802402DC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBD590 802402E0 30420004 */ andi $v0, $v0, 4 +/* DBD594 802402E4 10400044 */ beqz $v0, .L802403F8 +/* DBD598 802402E8 00000000 */ nop +.L802402EC: +/* DBD59C 802402EC 2404F7FF */ addiu $a0, $zero, -0x801 +/* DBD5A0 802402F0 AE600070 */ sw $zero, 0x70($s3) +/* DBD5A4 802402F4 A640008E */ sh $zero, 0x8e($s2) +/* DBD5A8 802402F8 8E2200CC */ lw $v0, 0xcc($s1) +/* DBD5AC 802402FC 8E430000 */ lw $v1, ($s2) +/* DBD5B0 80240300 8C420000 */ lw $v0, ($v0) +/* DBD5B4 80240304 00641824 */ and $v1, $v1, $a0 +/* DBD5B8 80240308 AE430000 */ sw $v1, ($s2) +/* DBD5BC 8024030C AE420028 */ sw $v0, 0x28($s2) +/* DBD5C0 80240310 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBD5C4 80240314 8C420034 */ lw $v0, 0x34($v0) +/* DBD5C8 80240318 54400005 */ bnel $v0, $zero, .L80240330 +/* DBD5CC 8024031C 2402FDFF */ addiu $v0, $zero, -0x201 +/* DBD5D0 80240320 34620200 */ ori $v0, $v1, 0x200 +/* DBD5D4 80240324 2403FFF7 */ addiu $v1, $zero, -9 +/* DBD5D8 80240328 080900CE */ j .L80240338 +/* DBD5DC 8024032C 00431024 */ and $v0, $v0, $v1 +.L80240330: +/* DBD5E0 80240330 00621024 */ and $v0, $v1, $v0 +/* DBD5E4 80240334 34420008 */ ori $v0, $v0, 8 +.L80240338: +/* DBD5E8 80240338 AE420000 */ sw $v0, ($s2) +/* DBD5EC 8024033C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBD5F0 80240340 30420004 */ andi $v0, $v0, 4 +/* DBD5F4 80240344 10400004 */ beqz $v0, .L80240358 +/* DBD5F8 80240348 24020063 */ addiu $v0, $zero, 0x63 +/* DBD5FC 8024034C AE620070 */ sw $v0, 0x70($s3) +/* DBD600 80240350 080900DC */ j .L80240370 +/* DBD604 80240354 AE600074 */ sw $zero, 0x74($s3) +.L80240358: +/* DBD608 80240358 8E220000 */ lw $v0, ($s1) +/* DBD60C 8024035C 3C034000 */ lui $v1, 0x4000 +/* DBD610 80240360 00431024 */ and $v0, $v0, $v1 +/* DBD614 80240364 10400002 */ beqz $v0, .L80240370 +/* DBD618 80240368 2402000C */ addiu $v0, $zero, 0xc +/* DBD61C 8024036C AE620070 */ sw $v0, 0x70($s3) +.L80240370: +/* DBD620 80240370 3C06BFFF */ lui $a2, 0xbfff +/* DBD624 80240374 34C6FFFF */ ori $a2, $a2, 0xffff +/* DBD628 80240378 27A50038 */ addiu $a1, $sp, 0x38 +/* DBD62C 8024037C 2404FFFB */ addiu $a0, $zero, -5 +/* DBD630 80240380 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBD634 80240384 8E230000 */ lw $v1, ($s1) +/* DBD638 80240388 3C0142C8 */ lui $at, 0x42c8 +/* DBD63C 8024038C 44810000 */ mtc1 $at, $f0 +/* DBD640 80240390 00441024 */ and $v0, $v0, $a0 +/* DBD644 80240394 00661824 */ and $v1, $v1, $a2 +/* DBD648 80240398 AE2200B0 */ sw $v0, 0xb0($s1) +/* DBD64C 8024039C AE230000 */ sw $v1, ($s1) +/* DBD650 802403A0 864200A8 */ lh $v0, 0xa8($s2) +/* DBD654 802403A4 27A70040 */ addiu $a3, $sp, 0x40 +/* DBD658 802403A8 E7A00044 */ swc1 $f0, 0x44($sp) +/* DBD65C 802403AC C6460038 */ lwc1 $f6, 0x38($s2) +/* DBD660 802403B0 C640003C */ lwc1 $f0, 0x3c($s2) +/* DBD664 802403B4 C6420040 */ lwc1 $f2, 0x40($s2) +/* DBD668 802403B8 44822000 */ mtc1 $v0, $f4 +/* DBD66C 802403BC 00000000 */ nop +/* DBD670 802403C0 46802120 */ cvt.s.w $f4, $f4 +/* DBD674 802403C4 27A20044 */ addiu $v0, $sp, 0x44 +/* DBD678 802403C8 46040000 */ add.s $f0, $f0, $f4 +/* DBD67C 802403CC E7A60038 */ swc1 $f6, 0x38($sp) +/* DBD680 802403D0 E7A20040 */ swc1 $f2, 0x40($sp) +/* DBD684 802403D4 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DBD688 802403D8 AFA20010 */ sw $v0, 0x10($sp) +/* DBD68C 802403DC 8E440080 */ lw $a0, 0x80($s2) +/* DBD690 802403E0 0C0372DF */ jal func_800DCB7C +/* DBD694 802403E4 27A6003C */ addiu $a2, $sp, 0x3c +/* DBD698 802403E8 10400003 */ beqz $v0, .L802403F8 +/* DBD69C 802403EC 00000000 */ nop +/* DBD6A0 802403F0 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DBD6A4 802403F4 E640003C */ swc1 $f0, 0x3c($s2) +.L802403F8: +/* DBD6A8 802403F8 8E630070 */ lw $v1, 0x70($s3) +/* DBD6AC 802403FC 2C620064 */ sltiu $v0, $v1, 0x64 +/* DBD6B0 80240400 10400050 */ beqz $v0, .L80240544 +/* DBD6B4 80240404 00031080 */ sll $v0, $v1, 2 +/* DBD6B8 80240408 3C018024 */ lui $at, 0x8024 +/* DBD6BC 8024040C 00220821 */ addu $at, $at, $v0 +/* DBD6C0 80240410 8C226BE0 */ lw $v0, 0x6be0($at) +/* DBD6C4 80240414 00400008 */ jr $v0 +/* DBD6C8 80240418 00000000 */ nop +/* DBD6CC 8024041C 0260202D */ daddu $a0, $s3, $zero +/* DBD6D0 80240420 0280282D */ daddu $a1, $s4, $zero +/* DBD6D4 80240424 0C012568 */ jal func_800495A0 +/* DBD6D8 80240428 02A0302D */ daddu $a2, $s5, $zero +/* DBD6DC 8024042C 0260202D */ daddu $a0, $s3, $zero +/* DBD6E0 80240430 0280282D */ daddu $a1, $s4, $zero +/* DBD6E4 80240434 0C0125AE */ jal func_800496B8 +/* DBD6E8 80240438 02A0302D */ daddu $a2, $s5, $zero +/* DBD6EC 8024043C 08090151 */ j .L80240544 +/* DBD6F0 80240440 00000000 */ nop +/* DBD6F4 80240444 0260202D */ daddu $a0, $s3, $zero +/* DBD6F8 80240448 0280282D */ daddu $a1, $s4, $zero +/* DBD6FC 8024044C 0C0126D1 */ jal func_80049B44 +/* DBD700 80240450 02A0302D */ daddu $a2, $s5, $zero +/* DBD704 80240454 0260202D */ daddu $a0, $s3, $zero +/* DBD708 80240458 0280282D */ daddu $a1, $s4, $zero +/* DBD70C 8024045C 0C012701 */ jal func_80049C04 +/* DBD710 80240460 02A0302D */ daddu $a2, $s5, $zero +/* DBD714 80240464 08090151 */ j .L80240544 +/* DBD718 80240468 00000000 */ nop +/* DBD71C 8024046C 0260202D */ daddu $a0, $s3, $zero +/* DBD720 80240470 0280282D */ daddu $a1, $s4, $zero +/* DBD724 80240474 0C01278F */ jal func_80049E3C +/* DBD728 80240478 02A0302D */ daddu $a2, $s5, $zero +/* DBD72C 8024047C 0260202D */ daddu $a0, $s3, $zero +/* DBD730 80240480 0280282D */ daddu $a1, $s4, $zero +/* DBD734 80240484 0C0127B3 */ jal func_80049ECC +/* DBD738 80240488 02A0302D */ daddu $a2, $s5, $zero +/* DBD73C 8024048C 08090151 */ j .L80240544 +/* DBD740 80240490 00000000 */ nop +/* DBD744 80240494 0260202D */ daddu $a0, $s3, $zero +/* DBD748 80240498 0280282D */ daddu $a1, $s4, $zero +/* DBD74C 8024049C 0C0127DF */ jal func_80049F7C +/* DBD750 802404A0 02A0302D */ daddu $a2, $s5, $zero +/* DBD754 802404A4 0260202D */ daddu $a0, $s3, $zero +/* DBD758 802404A8 0280282D */ daddu $a1, $s4, $zero +/* DBD75C 802404AC 0C012849 */ jal func_8004A124 +/* DBD760 802404B0 02A0302D */ daddu $a2, $s5, $zero +/* DBD764 802404B4 8E630070 */ lw $v1, 0x70($s3) +/* DBD768 802404B8 2402000E */ addiu $v0, $zero, 0xe +/* DBD76C 802404BC 14620021 */ bne $v1, $v0, .L80240544 +/* DBD770 802404C0 00000000 */ nop +/* DBD774 802404C4 0260202D */ daddu $a0, $s3, $zero +/* DBD778 802404C8 0280282D */ daddu $a1, $s4, $zero +/* DBD77C 802404CC 0C090000 */ jal func_80240000 +/* DBD780 802404D0 02A0302D */ daddu $a2, $s5, $zero +/* DBD784 802404D4 8E630070 */ lw $v1, 0x70($s3) +/* DBD788 802404D8 2402000F */ addiu $v0, $zero, 0xf +/* DBD78C 802404DC 14620019 */ bne $v1, $v0, .L80240544 +/* DBD790 802404E0 00000000 */ nop +/* DBD794 802404E4 0260202D */ daddu $a0, $s3, $zero +/* DBD798 802404E8 0280282D */ daddu $a1, $s4, $zero +/* DBD79C 802404EC 0C09001C */ jal func_80240070 +/* DBD7A0 802404F0 02A0302D */ daddu $a2, $s5, $zero +/* DBD7A4 802404F4 8E630070 */ lw $v1, 0x70($s3) +/* DBD7A8 802404F8 24020010 */ addiu $v0, $zero, 0x10 +/* DBD7AC 802404FC 14620011 */ bne $v1, $v0, .L80240544 +/* DBD7B0 80240500 00000000 */ nop +/* DBD7B4 80240504 0260202D */ daddu $a0, $s3, $zero +/* DBD7B8 80240508 0280282D */ daddu $a1, $s4, $zero +/* DBD7BC 8024050C 0C090050 */ jal func_80240140 +/* DBD7C0 80240510 02A0302D */ daddu $a2, $s5, $zero +/* DBD7C4 80240514 8E630070 */ lw $v1, 0x70($s3) +/* DBD7C8 80240518 24020011 */ addiu $v0, $zero, 0x11 +/* DBD7CC 8024051C 14620009 */ bne $v1, $v0, .L80240544 +/* DBD7D0 80240520 00000000 */ nop +/* DBD7D4 80240524 0260202D */ daddu $a0, $s3, $zero +/* DBD7D8 80240528 0280282D */ daddu $a1, $s4, $zero +/* DBD7DC 8024052C 0C090076 */ jal func_802401D8 +/* DBD7E0 80240530 02A0302D */ daddu $a2, $s5, $zero +/* DBD7E4 80240534 08090151 */ j .L80240544 +/* DBD7E8 80240538 00000000 */ nop +/* DBD7EC 8024053C 0C0129CF */ jal func_8004A73C +/* DBD7F0 80240540 0260202D */ daddu $a0, $s3, $zero +.L80240544: +/* DBD7F4 80240544 8FBF0060 */ lw $ra, 0x60($sp) +/* DBD7F8 80240548 8FB5005C */ lw $s5, 0x5c($sp) +/* DBD7FC 8024054C 8FB40058 */ lw $s4, 0x58($sp) +/* DBD800 80240550 8FB30054 */ lw $s3, 0x54($sp) +/* DBD804 80240554 8FB20050 */ lw $s2, 0x50($sp) +/* DBD808 80240558 8FB1004C */ lw $s1, 0x4c($sp) +/* DBD80C 8024055C 8FB00048 */ lw $s0, 0x48($sp) +/* DBD810 80240560 0000102D */ daddu $v0, $zero, $zero +/* DBD814 80240564 03E00008 */ jr $ra +/* DBD818 80240568 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_8024056C_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_8024056C_DBD2B0.s new file mode 100644 index 0000000000..a484db9067 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_8024056C_DBD2B0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024056C_DBD81C +/* DBD81C 8024056C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DBD820 80240570 AFB50024 */ sw $s5, 0x24($sp) +/* DBD824 80240574 0080A82D */ daddu $s5, $a0, $zero +/* DBD828 80240578 AFBF002C */ sw $ra, 0x2c($sp) +/* DBD82C 8024057C AFB60028 */ sw $s6, 0x28($sp) +/* DBD830 80240580 AFB40020 */ sw $s4, 0x20($sp) +/* DBD834 80240584 AFB3001C */ sw $s3, 0x1c($sp) +/* DBD838 80240588 AFB20018 */ sw $s2, 0x18($sp) +/* DBD83C 8024058C AFB10014 */ sw $s1, 0x14($sp) +/* DBD840 80240590 AFB00010 */ sw $s0, 0x10($sp) +/* DBD844 80240594 F7B80040 */ sdc1 $f24, 0x40($sp) +/* DBD848 80240598 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DBD84C 8024059C F7B40030 */ sdc1 $f20, 0x30($sp) +/* DBD850 802405A0 8EB30148 */ lw $s3, 0x148($s5) +/* DBD854 802405A4 86640008 */ lh $a0, 8($s3) +/* DBD858 802405A8 0C00EABB */ jal get_npc_unsafe +/* DBD85C 802405AC 00A0B02D */ daddu $s6, $a1, $zero +/* DBD860 802405B0 0040A02D */ daddu $s4, $v0, $zero +/* DBD864 802405B4 AEA00074 */ sw $zero, 0x74($s5) +/* DBD868 802405B8 C6980038 */ lwc1 $f24, 0x38($s4) +/* DBD86C 802405BC C6960040 */ lwc1 $f22, 0x40($s4) +/* DBD870 802405C0 0000902D */ daddu $s2, $zero, $zero +/* DBD874 802405C4 AEA00078 */ sw $zero, 0x78($s5) +/* DBD878 802405C8 8E6300D0 */ lw $v1, 0xd0($s3) +/* DBD87C 802405CC 8C620000 */ lw $v0, ($v1) +/* DBD880 802405D0 3C0146FF */ lui $at, 0x46ff +/* DBD884 802405D4 3421FE00 */ ori $at, $at, 0xfe00 +/* DBD888 802405D8 4481A000 */ mtc1 $at, $f20 +/* DBD88C 802405DC 18400018 */ blez $v0, .L80240640 +/* DBD890 802405E0 0240802D */ daddu $s0, $s2, $zero +/* DBD894 802405E4 0240882D */ daddu $s1, $s2, $zero +.L802405E8: +/* DBD898 802405E8 02231021 */ addu $v0, $s1, $v1 +/* DBD89C 802405EC 4600C306 */ mov.s $f12, $f24 +/* DBD8A0 802405F0 C4440004 */ lwc1 $f4, 4($v0) +/* DBD8A4 802405F4 46802120 */ cvt.s.w $f4, $f4 +/* DBD8A8 802405F8 44062000 */ mfc1 $a2, $f4 +/* DBD8AC 802405FC C444000C */ lwc1 $f4, 0xc($v0) +/* DBD8B0 80240600 46802120 */ cvt.s.w $f4, $f4 +/* DBD8B4 80240604 44072000 */ mfc1 $a3, $f4 +/* DBD8B8 80240608 0C00A7B5 */ jal dist2D +/* DBD8BC 8024060C 4600B386 */ mov.s $f14, $f22 +/* DBD8C0 80240610 4614003C */ c.lt.s $f0, $f20 +/* DBD8C4 80240614 00000000 */ nop +/* DBD8C8 80240618 45000003 */ bc1f .L80240628 +/* DBD8CC 8024061C 2631000C */ addiu $s1, $s1, 0xc +/* DBD8D0 80240620 46000506 */ mov.s $f20, $f0 +/* DBD8D4 80240624 AEB20078 */ sw $s2, 0x78($s5) +.L80240628: +/* DBD8D8 80240628 8E6300D0 */ lw $v1, 0xd0($s3) +/* DBD8DC 8024062C 26100001 */ addiu $s0, $s0, 1 +/* DBD8E0 80240630 8C620000 */ lw $v0, ($v1) +/* DBD8E4 80240634 0202102A */ slt $v0, $s0, $v0 +/* DBD8E8 80240638 1440FFEB */ bnez $v0, .L802405E8 +/* DBD8EC 8024063C 26520001 */ addiu $s2, $s2, 1 +.L80240640: +/* DBD8F0 80240640 8E6200CC */ lw $v0, 0xcc($s3) +/* DBD8F4 80240644 8C420004 */ lw $v0, 4($v0) +/* DBD8F8 80240648 AE820028 */ sw $v0, 0x28($s4) +/* DBD8FC 8024064C 8E6200D0 */ lw $v0, 0xd0($s3) +/* DBD900 80240650 8C42007C */ lw $v0, 0x7c($v0) +/* DBD904 80240654 04410004 */ bgez $v0, .L80240668 +/* DBD908 80240658 00000000 */ nop +/* DBD90C 8024065C C6C00000 */ lwc1 $f0, ($s6) +/* DBD910 80240660 080901A2 */ j .L80240688 +/* DBD914 80240664 E6800018 */ swc1 $f0, 0x18($s4) +.L80240668: +/* DBD918 80240668 3C018024 */ lui $at, 0x8024 +/* DBD91C 8024066C D4226D70 */ ldc1 $f2, 0x6d70($at) +/* DBD920 80240670 44820000 */ mtc1 $v0, $f0 +/* DBD924 80240674 00000000 */ nop +/* DBD928 80240678 46800021 */ cvt.d.w $f0, $f0 +/* DBD92C 8024067C 46220003 */ div.d $f0, $f0, $f2 +/* DBD930 80240680 46200020 */ cvt.s.d $f0, $f0 +/* DBD934 80240684 E6800018 */ swc1 $f0, 0x18($s4) +.L80240688: +/* DBD938 80240688 24020001 */ addiu $v0, $zero, 1 +/* DBD93C 8024068C AEA20070 */ sw $v0, 0x70($s5) +/* DBD940 80240690 8FBF002C */ lw $ra, 0x2c($sp) +/* DBD944 80240694 8FB60028 */ lw $s6, 0x28($sp) +/* DBD948 80240698 8FB50024 */ lw $s5, 0x24($sp) +/* DBD94C 8024069C 8FB40020 */ lw $s4, 0x20($sp) +/* DBD950 802406A0 8FB3001C */ lw $s3, 0x1c($sp) +/* DBD954 802406A4 8FB20018 */ lw $s2, 0x18($sp) +/* DBD958 802406A8 8FB10014 */ lw $s1, 0x14($sp) +/* DBD95C 802406AC 8FB00010 */ lw $s0, 0x10($sp) +/* DBD960 802406B0 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DBD964 802406B4 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DBD968 802406B8 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DBD96C 802406BC 03E00008 */ jr $ra +/* DBD970 802406C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802406C4_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_802406C4_DBD2B0.s new file mode 100644 index 0000000000..e9a963d341 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802406C4_DBD2B0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4_DBD974 +/* DBD974 802406C4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* DBD978 802406C8 AFB20038 */ sw $s2, 0x38($sp) +/* DBD97C 802406CC 0080902D */ daddu $s2, $a0, $zero +/* DBD980 802406D0 AFBF0044 */ sw $ra, 0x44($sp) +/* DBD984 802406D4 AFB40040 */ sw $s4, 0x40($sp) +/* DBD988 802406D8 AFB3003C */ sw $s3, 0x3c($sp) +/* DBD98C 802406DC AFB10034 */ sw $s1, 0x34($sp) +/* DBD990 802406E0 AFB00030 */ sw $s0, 0x30($sp) +/* DBD994 802406E4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* DBD998 802406E8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* DBD99C 802406EC 8E510148 */ lw $s1, 0x148($s2) +/* DBD9A0 802406F0 00A0982D */ daddu $s3, $a1, $zero +/* DBD9A4 802406F4 86240008 */ lh $a0, 8($s1) +/* DBD9A8 802406F8 0C00EABB */ jal get_npc_unsafe +/* DBD9AC 802406FC 00C0A02D */ daddu $s4, $a2, $zero +/* DBD9B0 80240700 8E630014 */ lw $v1, 0x14($s3) +/* DBD9B4 80240704 04600030 */ bltz $v1, .L802407C8 +/* DBD9B8 80240708 0040802D */ daddu $s0, $v0, $zero +/* DBD9BC 8024070C 8E420074 */ lw $v0, 0x74($s2) +/* DBD9C0 80240710 1C40002C */ bgtz $v0, .L802407C4 +/* DBD9C4 80240714 2442FFFF */ addiu $v0, $v0, -1 +/* DBD9C8 80240718 0280202D */ daddu $a0, $s4, $zero +/* DBD9CC 8024071C AE430074 */ sw $v1, 0x74($s2) +/* DBD9D0 80240720 AFA00010 */ sw $zero, 0x10($sp) +/* DBD9D4 80240724 8E66000C */ lw $a2, 0xc($s3) +/* DBD9D8 80240728 8E670010 */ lw $a3, 0x10($s3) +/* DBD9DC 8024072C 0C01242D */ jal func_800490B4 +/* DBD9E0 80240730 0220282D */ daddu $a1, $s1, $zero +/* DBD9E4 80240734 10400021 */ beqz $v0, .L802407BC +/* DBD9E8 80240738 0000202D */ daddu $a0, $zero, $zero +/* DBD9EC 8024073C 0200282D */ daddu $a1, $s0, $zero +/* DBD9F0 80240740 0000302D */ daddu $a2, $zero, $zero +/* DBD9F4 80240744 860300A8 */ lh $v1, 0xa8($s0) +/* DBD9F8 80240748 3C013F80 */ lui $at, 0x3f80 +/* DBD9FC 8024074C 44810000 */ mtc1 $at, $f0 +/* DBDA00 80240750 3C014000 */ lui $at, 0x4000 +/* DBDA04 80240754 44811000 */ mtc1 $at, $f2 +/* DBDA08 80240758 3C01C1A0 */ lui $at, 0xc1a0 +/* DBDA0C 8024075C 44812000 */ mtc1 $at, $f4 +/* DBDA10 80240760 2402000F */ addiu $v0, $zero, 0xf +/* DBDA14 80240764 AFA2001C */ sw $v0, 0x1c($sp) +/* DBDA18 80240768 44833000 */ mtc1 $v1, $f6 +/* DBDA1C 8024076C 00000000 */ nop +/* DBDA20 80240770 468031A0 */ cvt.s.w $f6, $f6 +/* DBDA24 80240774 44073000 */ mfc1 $a3, $f6 +/* DBDA28 80240778 27A20028 */ addiu $v0, $sp, 0x28 +/* DBDA2C 8024077C AFA20020 */ sw $v0, 0x20($sp) +/* DBDA30 80240780 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBDA34 80240784 E7A20014 */ swc1 $f2, 0x14($sp) +/* DBDA38 80240788 0C01BFA4 */ jal fx_emote +/* DBDA3C 8024078C E7A40018 */ swc1 $f4, 0x18($sp) +/* DBDA40 80240790 0200202D */ daddu $a0, $s0, $zero +/* DBDA44 80240794 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DBDA48 80240798 0C012530 */ jal func_800494C0 +/* DBDA4C 8024079C 3C060020 */ lui $a2, 0x20 +/* DBDA50 802407A0 8E220018 */ lw $v0, 0x18($s1) +/* DBDA54 802407A4 9442002A */ lhu $v0, 0x2a($v0) +/* DBDA58 802407A8 30420001 */ andi $v0, $v0, 1 +/* DBDA5C 802407AC 14400064 */ bnez $v0, .L80240940 +/* DBDA60 802407B0 2402000A */ addiu $v0, $zero, 0xa +/* DBDA64 802407B4 08090250 */ j .L80240940 +/* DBDA68 802407B8 2402000C */ addiu $v0, $zero, 0xc +.L802407BC: +/* DBDA6C 802407BC 8E420074 */ lw $v0, 0x74($s2) +/* DBDA70 802407C0 2442FFFF */ addiu $v0, $v0, -1 +.L802407C4: +/* DBDA74 802407C4 AE420074 */ sw $v0, 0x74($s2) +.L802407C8: +/* DBDA78 802407C8 8602008C */ lh $v0, 0x8c($s0) +/* DBDA7C 802407CC 1440005D */ bnez $v0, .L80240944 +/* DBDA80 802407D0 00000000 */ nop +/* DBDA84 802407D4 C6000018 */ lwc1 $f0, 0x18($s0) +/* DBDA88 802407D8 3C014010 */ lui $at, 0x4010 +/* DBDA8C 802407DC 44811800 */ mtc1 $at, $f3 +/* DBDA90 802407E0 44801000 */ mtc1 $zero, $f2 +/* DBDA94 802407E4 46000021 */ cvt.d.s $f0, $f0 +/* DBDA98 802407E8 4622003C */ c.lt.d $f0, $f2 +/* DBDA9C 802407EC 00000000 */ nop +/* DBDAA0 802407F0 45000003 */ bc1f .L80240800 +/* DBDAA4 802407F4 0200202D */ daddu $a0, $s0, $zero +/* DBDAA8 802407F8 08090201 */ j .L80240804 +/* DBDAAC 802407FC 0000282D */ daddu $a1, $zero, $zero +.L80240800: +/* DBDAB0 80240800 24050001 */ addiu $a1, $zero, 1 +.L80240804: +/* DBDAB4 80240804 0C00F598 */ jal func_8003D660 +/* DBDAB8 80240808 00000000 */ nop +/* DBDABC 8024080C C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBDAC0 80240810 8E430078 */ lw $v1, 0x78($s2) +/* DBDAC4 80240814 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBDAC8 80240818 00031040 */ sll $v0, $v1, 1 +/* DBDACC 8024081C 00431021 */ addu $v0, $v0, $v1 +/* DBDAD0 80240820 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBDAD4 80240824 00021080 */ sll $v0, $v0, 2 +/* DBDAD8 80240828 00431021 */ addu $v0, $v0, $v1 +/* DBDADC 8024082C C4560004 */ lwc1 $f22, 4($v0) +/* DBDAE0 80240830 4680B5A0 */ cvt.s.w $f22, $f22 +/* DBDAE4 80240834 C454000C */ lwc1 $f20, 0xc($v0) +/* DBDAE8 80240838 4680A520 */ cvt.s.w $f20, $f20 +/* DBDAEC 8024083C 4406B000 */ mfc1 $a2, $f22 +/* DBDAF0 80240840 4407A000 */ mfc1 $a3, $f20 +/* DBDAF4 80240844 0C00A720 */ jal atan2 +/* DBDAF8 80240848 00000000 */ nop +/* DBDAFC 8024084C 8E050018 */ lw $a1, 0x18($s0) +/* DBDB00 80240850 44060000 */ mfc1 $a2, $f0 +/* DBDB04 80240854 0200202D */ daddu $a0, $s0, $zero +/* DBDB08 80240858 0C00EA95 */ jal npc_move_heading +/* DBDB0C 8024085C AE06000C */ sw $a2, 0xc($s0) +/* DBDB10 80240860 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBDB14 80240864 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBDB18 80240868 4406B000 */ mfc1 $a2, $f22 +/* DBDB1C 8024086C 4407A000 */ mfc1 $a3, $f20 +/* DBDB20 80240870 0C00A7B5 */ jal dist2D +/* DBDB24 80240874 00000000 */ nop +/* DBDB28 80240878 C6020018 */ lwc1 $f2, 0x18($s0) +/* DBDB2C 8024087C 4602003E */ c.le.s $f0, $f2 +/* DBDB30 80240880 00000000 */ nop +/* DBDB34 80240884 4500002F */ bc1f .L80240944 +/* DBDB38 80240888 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DBDB3C 8024088C 24020002 */ addiu $v0, $zero, 2 +/* DBDB40 80240890 0C00A67F */ jal rand_int +/* DBDB44 80240894 AE420070 */ sw $v0, 0x70($s2) +/* DBDB48 80240898 3C035555 */ lui $v1, 0x5555 +/* DBDB4C 8024089C 34635556 */ ori $v1, $v1, 0x5556 +/* DBDB50 802408A0 00430018 */ mult $v0, $v1 +/* DBDB54 802408A4 000227C3 */ sra $a0, $v0, 0x1f +/* DBDB58 802408A8 00004010 */ mfhi $t0 +/* DBDB5C 802408AC 01042023 */ subu $a0, $t0, $a0 +/* DBDB60 802408B0 00041840 */ sll $v1, $a0, 1 +/* DBDB64 802408B4 00641821 */ addu $v1, $v1, $a0 +/* DBDB68 802408B8 00431023 */ subu $v0, $v0, $v1 +/* DBDB6C 802408BC 24430002 */ addiu $v1, $v0, 2 +/* DBDB70 802408C0 AE430074 */ sw $v1, 0x74($s2) +/* DBDB74 802408C4 8E62002C */ lw $v0, 0x2c($s3) +/* DBDB78 802408C8 18400009 */ blez $v0, .L802408F0 +/* DBDB7C 802408CC 24020004 */ addiu $v0, $zero, 4 +/* DBDB80 802408D0 8E620004 */ lw $v0, 4($s3) +/* DBDB84 802408D4 18400006 */ blez $v0, .L802408F0 +/* DBDB88 802408D8 24020004 */ addiu $v0, $zero, 4 +/* DBDB8C 802408DC 8E620008 */ lw $v0, 8($s3) +/* DBDB90 802408E0 18400003 */ blez $v0, .L802408F0 +/* DBDB94 802408E4 24020004 */ addiu $v0, $zero, 4 +/* DBDB98 802408E8 14600002 */ bnez $v1, .L802408F4 +/* DBDB9C 802408EC 00000000 */ nop +.L802408F0: +/* DBDBA0 802408F0 AE420070 */ sw $v0, 0x70($s2) +.L802408F4: +/* DBDBA4 802408F4 0C00A67F */ jal rand_int +/* DBDBA8 802408F8 24042710 */ addiu $a0, $zero, 0x2710 +/* DBDBAC 802408FC 3C0351EB */ lui $v1, 0x51eb +/* DBDBB0 80240900 3463851F */ ori $v1, $v1, 0x851f +/* DBDBB4 80240904 00430018 */ mult $v0, $v1 +/* DBDBB8 80240908 00021FC3 */ sra $v1, $v0, 0x1f +/* DBDBBC 8024090C 00004010 */ mfhi $t0 +/* DBDBC0 80240910 00082143 */ sra $a0, $t0, 5 +/* DBDBC4 80240914 00832023 */ subu $a0, $a0, $v1 +/* DBDBC8 80240918 00041840 */ sll $v1, $a0, 1 +/* DBDBCC 8024091C 00641821 */ addu $v1, $v1, $a0 +/* DBDBD0 80240920 000318C0 */ sll $v1, $v1, 3 +/* DBDBD4 80240924 00641821 */ addu $v1, $v1, $a0 +/* DBDBD8 80240928 00031880 */ sll $v1, $v1, 2 +/* DBDBDC 8024092C 8E640004 */ lw $a0, 4($s3) +/* DBDBE0 80240930 00431023 */ subu $v0, $v0, $v1 +/* DBDBE4 80240934 0044102A */ slt $v0, $v0, $a0 +/* DBDBE8 80240938 10400002 */ beqz $v0, .L80240944 +/* DBDBEC 8024093C 24020004 */ addiu $v0, $zero, 4 +.L80240940: +/* DBDBF0 80240940 AE420070 */ sw $v0, 0x70($s2) +.L80240944: +/* DBDBF4 80240944 8FBF0044 */ lw $ra, 0x44($sp) +/* DBDBF8 80240948 8FB40040 */ lw $s4, 0x40($sp) +/* DBDBFC 8024094C 8FB3003C */ lw $s3, 0x3c($sp) +/* DBDC00 80240950 8FB20038 */ lw $s2, 0x38($sp) +/* DBDC04 80240954 8FB10034 */ lw $s1, 0x34($sp) +/* DBDC08 80240958 8FB00030 */ lw $s0, 0x30($sp) +/* DBDC0C 8024095C D7B60050 */ ldc1 $f22, 0x50($sp) +/* DBDC10 80240960 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DBDC14 80240964 03E00008 */ jr $ra +/* DBDC18 80240968 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_8024096C.s b/asm/nonmatchings/world/area_omo/omo_07/func_8024096C.s new file mode 100644 index 0000000000..0a6bb0c0a8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_8024096C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024096C +/* DBDC1C 8024096C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DBDC20 80240970 AFB3001C */ sw $s3, 0x1c($sp) +/* DBDC24 80240974 0080982D */ daddu $s3, $a0, $zero +/* DBDC28 80240978 AFBF0020 */ sw $ra, 0x20($sp) +/* DBDC2C 8024097C AFB20018 */ sw $s2, 0x18($sp) +/* DBDC30 80240980 AFB10014 */ sw $s1, 0x14($sp) +/* DBDC34 80240984 AFB00010 */ sw $s0, 0x10($sp) +/* DBDC38 80240988 8E720148 */ lw $s2, 0x148($s3) +/* DBDC3C 8024098C 86440008 */ lh $a0, 8($s2) +/* DBDC40 80240990 0C00EABB */ jal get_npc_unsafe +/* DBDC44 80240994 00A0882D */ daddu $s1, $a1, $zero +/* DBDC48 80240998 8E240008 */ lw $a0, 8($s1) +/* DBDC4C 8024099C 0040802D */ daddu $s0, $v0, $zero +/* DBDC50 802409A0 00041FC2 */ srl $v1, $a0, 0x1f +/* DBDC54 802409A4 00832021 */ addu $a0, $a0, $v1 +/* DBDC58 802409A8 00042043 */ sra $a0, $a0, 1 +/* DBDC5C 802409AC 0C00A67F */ jal rand_int +/* DBDC60 802409B0 24840001 */ addiu $a0, $a0, 1 +/* DBDC64 802409B4 8E230008 */ lw $v1, 8($s1) +/* DBDC68 802409B8 240400B4 */ addiu $a0, $zero, 0xb4 +/* DBDC6C 802409BC 00032FC2 */ srl $a1, $v1, 0x1f +/* DBDC70 802409C0 00651821 */ addu $v1, $v1, $a1 +/* DBDC74 802409C4 00031843 */ sra $v1, $v1, 1 +/* DBDC78 802409C8 00621821 */ addu $v1, $v1, $v0 +/* DBDC7C 802409CC 0C00A67F */ jal rand_int +/* DBDC80 802409D0 A603008E */ sh $v1, 0x8e($s0) +/* DBDC84 802409D4 C60C000C */ lwc1 $f12, 0xc($s0) +/* DBDC88 802409D8 44820000 */ mtc1 $v0, $f0 +/* DBDC8C 802409DC 00000000 */ nop +/* DBDC90 802409E0 46800020 */ cvt.s.w $f0, $f0 +/* DBDC94 802409E4 46006300 */ add.s $f12, $f12, $f0 +/* DBDC98 802409E8 3C0142B4 */ lui $at, 0x42b4 +/* DBDC9C 802409EC 44810000 */ mtc1 $at, $f0 +/* DBDCA0 802409F0 0C00A6C9 */ jal clamp_angle +/* DBDCA4 802409F4 46006301 */ sub.s $f12, $f12, $f0 +/* DBDCA8 802409F8 E600000C */ swc1 $f0, 0xc($s0) +/* DBDCAC 802409FC 8E4200CC */ lw $v0, 0xcc($s2) +/* DBDCB0 80240A00 8C420000 */ lw $v0, ($v0) +/* DBDCB4 80240A04 AE020028 */ sw $v0, 0x28($s0) +/* DBDCB8 80240A08 24020003 */ addiu $v0, $zero, 3 +/* DBDCBC 80240A0C AE620070 */ sw $v0, 0x70($s3) +/* DBDCC0 80240A10 8FBF0020 */ lw $ra, 0x20($sp) +/* DBDCC4 80240A14 8FB3001C */ lw $s3, 0x1c($sp) +/* DBDCC8 80240A18 8FB20018 */ lw $s2, 0x18($sp) +/* DBDCCC 80240A1C 8FB10014 */ lw $s1, 0x14($sp) +/* DBDCD0 80240A20 8FB00010 */ lw $s0, 0x10($sp) +/* DBDCD4 80240A24 03E00008 */ jr $ra +/* DBDCD8 80240A28 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240A2C_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240A2C_DBD2B0.s new file mode 100644 index 0000000000..4bd8d784b1 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240A2C_DBD2B0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A2C_DBDCDC +/* DBDCDC 80240A2C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DBDCE0 80240A30 AFB40040 */ sw $s4, 0x40($sp) +/* DBDCE4 80240A34 0080A02D */ daddu $s4, $a0, $zero +/* DBDCE8 80240A38 AFBF0044 */ sw $ra, 0x44($sp) +/* DBDCEC 80240A3C AFB3003C */ sw $s3, 0x3c($sp) +/* DBDCF0 80240A40 AFB20038 */ sw $s2, 0x38($sp) +/* DBDCF4 80240A44 AFB10034 */ sw $s1, 0x34($sp) +/* DBDCF8 80240A48 AFB00030 */ sw $s0, 0x30($sp) +/* DBDCFC 80240A4C 8E910148 */ lw $s1, 0x148($s4) +/* DBDD00 80240A50 00A0902D */ daddu $s2, $a1, $zero +/* DBDD04 80240A54 86240008 */ lh $a0, 8($s1) +/* DBDD08 80240A58 0C00EABB */ jal get_npc_unsafe +/* DBDD0C 80240A5C 00C0982D */ daddu $s3, $a2, $zero +/* DBDD10 80240A60 8E430014 */ lw $v1, 0x14($s2) +/* DBDD14 80240A64 04600031 */ bltz $v1, .L80240B2C +/* DBDD18 80240A68 0040802D */ daddu $s0, $v0, $zero +/* DBDD1C 80240A6C 0260202D */ daddu $a0, $s3, $zero +/* DBDD20 80240A70 AFA00010 */ sw $zero, 0x10($sp) +/* DBDD24 80240A74 8E460024 */ lw $a2, 0x24($s2) +/* DBDD28 80240A78 8E470028 */ lw $a3, 0x28($s2) +/* DBDD2C 80240A7C 0C01242D */ jal func_800490B4 +/* DBDD30 80240A80 0220282D */ daddu $a1, $s1, $zero +/* DBDD34 80240A84 10400029 */ beqz $v0, .L80240B2C +/* DBDD38 80240A88 0000202D */ daddu $a0, $zero, $zero +/* DBDD3C 80240A8C 0200282D */ daddu $a1, $s0, $zero +/* DBDD40 80240A90 0000302D */ daddu $a2, $zero, $zero +/* DBDD44 80240A94 860300A8 */ lh $v1, 0xa8($s0) +/* DBDD48 80240A98 3C013F80 */ lui $at, 0x3f80 +/* DBDD4C 80240A9C 44810000 */ mtc1 $at, $f0 +/* DBDD50 80240AA0 3C014000 */ lui $at, 0x4000 +/* DBDD54 80240AA4 44811000 */ mtc1 $at, $f2 +/* DBDD58 80240AA8 3C01C1A0 */ lui $at, 0xc1a0 +/* DBDD5C 80240AAC 44812000 */ mtc1 $at, $f4 +/* DBDD60 80240AB0 2402000F */ addiu $v0, $zero, 0xf +/* DBDD64 80240AB4 AFA2001C */ sw $v0, 0x1c($sp) +/* DBDD68 80240AB8 44833000 */ mtc1 $v1, $f6 +/* DBDD6C 80240ABC 00000000 */ nop +/* DBDD70 80240AC0 468031A0 */ cvt.s.w $f6, $f6 +/* DBDD74 80240AC4 44073000 */ mfc1 $a3, $f6 +/* DBDD78 80240AC8 27A20028 */ addiu $v0, $sp, 0x28 +/* DBDD7C 80240ACC AFA20020 */ sw $v0, 0x20($sp) +/* DBDD80 80240AD0 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBDD84 80240AD4 E7A20014 */ swc1 $f2, 0x14($sp) +/* DBDD88 80240AD8 0C01BFA4 */ jal fx_emote +/* DBDD8C 80240ADC E7A40018 */ swc1 $f4, 0x18($sp) +/* DBDD90 80240AE0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBDD94 80240AE4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBDD98 80240AE8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBDD9C 80240AEC C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBDDA0 80240AF0 8C460028 */ lw $a2, 0x28($v0) +/* DBDDA4 80240AF4 0C00A720 */ jal atan2 +/* DBDDA8 80240AF8 8C470030 */ lw $a3, 0x30($v0) +/* DBDDAC 80240AFC 0200202D */ daddu $a0, $s0, $zero +/* DBDDB0 80240B00 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DBDDB4 80240B04 3C060020 */ lui $a2, 0x20 +/* DBDDB8 80240B08 0C012530 */ jal func_800494C0 +/* DBDDBC 80240B0C E480000C */ swc1 $f0, 0xc($a0) +/* DBDDC0 80240B10 8E220018 */ lw $v0, 0x18($s1) +/* DBDDC4 80240B14 9442002A */ lhu $v0, 0x2a($v0) +/* DBDDC8 80240B18 30420001 */ andi $v0, $v0, 1 +/* DBDDCC 80240B1C 14400029 */ bnez $v0, .L80240BC4 +/* DBDDD0 80240B20 2402000A */ addiu $v0, $zero, 0xa +/* DBDDD4 80240B24 080902F1 */ j .L80240BC4 +/* DBDDD8 80240B28 2402000C */ addiu $v0, $zero, 0xc +.L80240B2C: +/* DBDDDC 80240B2C 8602008C */ lh $v0, 0x8c($s0) +/* DBDDE0 80240B30 14400025 */ bnez $v0, .L80240BC8 +/* DBDDE4 80240B34 00000000 */ nop +/* DBDDE8 80240B38 9602008E */ lhu $v0, 0x8e($s0) +/* DBDDEC 80240B3C 2442FFFF */ addiu $v0, $v0, -1 +/* DBDDF0 80240B40 A602008E */ sh $v0, 0x8e($s0) +/* DBDDF4 80240B44 00021400 */ sll $v0, $v0, 0x10 +/* DBDDF8 80240B48 1440001F */ bnez $v0, .L80240BC8 +/* DBDDFC 80240B4C 00000000 */ nop +/* DBDE00 80240B50 8E820074 */ lw $v0, 0x74($s4) +/* DBDE04 80240B54 2442FFFF */ addiu $v0, $v0, -1 +/* DBDE08 80240B58 10400019 */ beqz $v0, .L80240BC0 +/* DBDE0C 80240B5C AE820074 */ sw $v0, 0x74($s4) +/* DBDE10 80240B60 8E220018 */ lw $v0, 0x18($s1) +/* DBDE14 80240B64 9442002A */ lhu $v0, 0x2a($v0) +/* DBDE18 80240B68 30420010 */ andi $v0, $v0, 0x10 +/* DBDE1C 80240B6C 14400007 */ bnez $v0, .L80240B8C +/* DBDE20 80240B70 00000000 */ nop +/* DBDE24 80240B74 C600000C */ lwc1 $f0, 0xc($s0) +/* DBDE28 80240B78 3C014334 */ lui $at, 0x4334 +/* DBDE2C 80240B7C 44816000 */ mtc1 $at, $f12 +/* DBDE30 80240B80 0C00A6C9 */ jal clamp_angle +/* DBDE34 80240B84 460C0300 */ add.s $f12, $f0, $f12 +/* DBDE38 80240B88 E600000C */ swc1 $f0, 0xc($s0) +.L80240B8C: +/* DBDE3C 80240B8C 8E440008 */ lw $a0, 8($s2) +/* DBDE40 80240B90 000417C2 */ srl $v0, $a0, 0x1f +/* DBDE44 80240B94 00822021 */ addu $a0, $a0, $v0 +/* DBDE48 80240B98 00042043 */ sra $a0, $a0, 1 +/* DBDE4C 80240B9C 0C00A67F */ jal rand_int +/* DBDE50 80240BA0 24840001 */ addiu $a0, $a0, 1 +/* DBDE54 80240BA4 8E430008 */ lw $v1, 8($s2) +/* DBDE58 80240BA8 000327C2 */ srl $a0, $v1, 0x1f +/* DBDE5C 80240BAC 00641821 */ addu $v1, $v1, $a0 +/* DBDE60 80240BB0 00031843 */ sra $v1, $v1, 1 +/* DBDE64 80240BB4 00621821 */ addu $v1, $v1, $v0 +/* DBDE68 80240BB8 080902F2 */ j .L80240BC8 +/* DBDE6C 80240BBC A603008E */ sh $v1, 0x8e($s0) +.L80240BC0: +/* DBDE70 80240BC0 24020004 */ addiu $v0, $zero, 4 +.L80240BC4: +/* DBDE74 80240BC4 AE820070 */ sw $v0, 0x70($s4) +.L80240BC8: +/* DBDE78 80240BC8 8FBF0044 */ lw $ra, 0x44($sp) +/* DBDE7C 80240BCC 8FB40040 */ lw $s4, 0x40($sp) +/* DBDE80 80240BD0 8FB3003C */ lw $s3, 0x3c($sp) +/* DBDE84 80240BD4 8FB20038 */ lw $s2, 0x38($sp) +/* DBDE88 80240BD8 8FB10034 */ lw $s1, 0x34($sp) +/* DBDE8C 80240BDC 8FB00030 */ lw $s0, 0x30($sp) +/* DBDE90 80240BE0 03E00008 */ jr $ra +/* DBDE94 80240BE4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240BE8_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240BE8_DBD2B0.s new file mode 100644 index 0000000000..6142fbc12e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240BE8_DBD2B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE8_DBDE98 +/* DBDE98 80240BE8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBDE9C 80240BEC AFB10014 */ sw $s1, 0x14($sp) +/* DBDEA0 80240BF0 0080882D */ daddu $s1, $a0, $zero +/* DBDEA4 80240BF4 AFBF001C */ sw $ra, 0x1c($sp) +/* DBDEA8 80240BF8 AFB20018 */ sw $s2, 0x18($sp) +/* DBDEAC 80240BFC AFB00010 */ sw $s0, 0x10($sp) +/* DBDEB0 80240C00 8E300148 */ lw $s0, 0x148($s1) +/* DBDEB4 80240C04 86040008 */ lh $a0, 8($s0) +/* DBDEB8 80240C08 0C00EABB */ jal get_npc_unsafe +/* DBDEBC 80240C0C 00A0902D */ daddu $s2, $a1, $zero +/* DBDEC0 80240C10 8E230078 */ lw $v1, 0x78($s1) +/* DBDEC4 80240C14 24630001 */ addiu $v1, $v1, 1 +/* DBDEC8 80240C18 AE230078 */ sw $v1, 0x78($s1) +/* DBDECC 80240C1C 8E0400D0 */ lw $a0, 0xd0($s0) +/* DBDED0 80240C20 8C840000 */ lw $a0, ($a0) +/* DBDED4 80240C24 0064182A */ slt $v1, $v1, $a0 +/* DBDED8 80240C28 14600002 */ bnez $v1, .L80240C34 +/* DBDEDC 80240C2C 0040282D */ daddu $a1, $v0, $zero +/* DBDEE0 80240C30 AE200078 */ sw $zero, 0x78($s1) +.L80240C34: +/* DBDEE4 80240C34 8E0200CC */ lw $v0, 0xcc($s0) +/* DBDEE8 80240C38 8C420004 */ lw $v0, 4($v0) +/* DBDEEC 80240C3C ACA20028 */ sw $v0, 0x28($a1) +/* DBDEF0 80240C40 8E0200D0 */ lw $v0, 0xd0($s0) +/* DBDEF4 80240C44 8C42007C */ lw $v0, 0x7c($v0) +/* DBDEF8 80240C48 04410004 */ bgez $v0, .L80240C5C +/* DBDEFC 80240C4C 00000000 */ nop +/* DBDF00 80240C50 C6400000 */ lwc1 $f0, ($s2) +/* DBDF04 80240C54 0809031F */ j .L80240C7C +/* DBDF08 80240C58 E4A00018 */ swc1 $f0, 0x18($a1) +.L80240C5C: +/* DBDF0C 80240C5C 3C018024 */ lui $at, 0x8024 +/* DBDF10 80240C60 D4226D78 */ ldc1 $f2, 0x6d78($at) +/* DBDF14 80240C64 44820000 */ mtc1 $v0, $f0 +/* DBDF18 80240C68 00000000 */ nop +/* DBDF1C 80240C6C 46800021 */ cvt.d.w $f0, $f0 +/* DBDF20 80240C70 46220003 */ div.d $f0, $f0, $f2 +/* DBDF24 80240C74 46200020 */ cvt.s.d $f0, $f0 +/* DBDF28 80240C78 E4A00018 */ swc1 $f0, 0x18($a1) +.L80240C7C: +/* DBDF2C 80240C7C 24020001 */ addiu $v0, $zero, 1 +/* DBDF30 80240C80 AE220070 */ sw $v0, 0x70($s1) +/* DBDF34 80240C84 8FBF001C */ lw $ra, 0x1c($sp) +/* DBDF38 80240C88 8FB20018 */ lw $s2, 0x18($sp) +/* DBDF3C 80240C8C 8FB10014 */ lw $s1, 0x14($sp) +/* DBDF40 80240C90 8FB00010 */ lw $s0, 0x10($sp) +/* DBDF44 80240C94 03E00008 */ jr $ra +/* DBDF48 80240C98 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240C9C_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240C9C_DBD2B0.s new file mode 100644 index 0000000000..1eff6f705c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240C9C_DBD2B0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C9C_DBDF4C +/* DBDF4C 80240C9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBDF50 80240CA0 AFB10014 */ sw $s1, 0x14($sp) +/* DBDF54 80240CA4 0080882D */ daddu $s1, $a0, $zero +/* DBDF58 80240CA8 AFBF0018 */ sw $ra, 0x18($sp) +/* DBDF5C 80240CAC AFB00010 */ sw $s0, 0x10($sp) +/* DBDF60 80240CB0 8E300148 */ lw $s0, 0x148($s1) +/* DBDF64 80240CB4 0C00EABB */ jal get_npc_unsafe +/* DBDF68 80240CB8 86040008 */ lh $a0, 8($s0) +/* DBDF6C 80240CBC 8E0300CC */ lw $v1, 0xcc($s0) +/* DBDF70 80240CC0 3C014120 */ lui $at, 0x4120 +/* DBDF74 80240CC4 44812000 */ mtc1 $at, $f4 +/* DBDF78 80240CC8 3C014000 */ lui $at, 0x4000 +/* DBDF7C 80240CCC 44810000 */ mtc1 $at, $f0 +/* DBDF80 80240CD0 C442003C */ lwc1 $f2, 0x3c($v0) +/* DBDF84 80240CD4 8C640010 */ lw $a0, 0x10($v1) +/* DBDF88 80240CD8 8C430000 */ lw $v1, ($v0) +/* DBDF8C 80240CDC E444001C */ swc1 $f4, 0x1c($v0) +/* DBDF90 80240CE0 E4400014 */ swc1 $f0, 0x14($v0) +/* DBDF94 80240CE4 E4420064 */ swc1 $f2, 0x64($v0) +/* DBDF98 80240CE8 34630800 */ ori $v1, $v1, 0x800 +/* DBDF9C 80240CEC AC430000 */ sw $v1, ($v0) +/* DBDFA0 80240CF0 AC440028 */ sw $a0, 0x28($v0) +/* DBDFA4 80240CF4 2402000B */ addiu $v0, $zero, 0xb +/* DBDFA8 80240CF8 AE220070 */ sw $v0, 0x70($s1) +/* DBDFAC 80240CFC 8FBF0018 */ lw $ra, 0x18($sp) +/* DBDFB0 80240D00 8FB10014 */ lw $s1, 0x14($sp) +/* DBDFB4 80240D04 8FB00010 */ lw $s0, 0x10($sp) +/* DBDFB8 80240D08 03E00008 */ jr $ra +/* DBDFBC 80240D0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240D10_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240D10_DBD2B0.s new file mode 100644 index 0000000000..1849f71c97 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240D10_DBD2B0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D10_DBDFC0 +/* DBDFC0 80240D10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DBDFC4 80240D14 AFB00010 */ sw $s0, 0x10($sp) +/* DBDFC8 80240D18 0080802D */ daddu $s0, $a0, $zero +/* DBDFCC 80240D1C AFBF0014 */ sw $ra, 0x14($sp) +/* DBDFD0 80240D20 8E020148 */ lw $v0, 0x148($s0) +/* DBDFD4 80240D24 0C00EABB */ jal get_npc_unsafe +/* DBDFD8 80240D28 84440008 */ lh $a0, 8($v0) +/* DBDFDC 80240D2C 0040202D */ daddu $a0, $v0, $zero +/* DBDFE0 80240D30 C482003C */ lwc1 $f2, 0x3c($a0) +/* DBDFE4 80240D34 C480001C */ lwc1 $f0, 0x1c($a0) +/* DBDFE8 80240D38 46001080 */ add.s $f2, $f2, $f0 +/* DBDFEC 80240D3C C4840014 */ lwc1 $f4, 0x14($a0) +/* DBDFF0 80240D40 46040001 */ sub.s $f0, $f0, $f4 +/* DBDFF4 80240D44 C4840064 */ lwc1 $f4, 0x64($a0) +/* DBDFF8 80240D48 4602203C */ c.lt.s $f4, $f2 +/* DBDFFC 80240D4C E482003C */ swc1 $f2, 0x3c($a0) +/* DBE000 80240D50 45010009 */ bc1t .L80240D78 +/* DBE004 80240D54 E480001C */ swc1 $f0, 0x1c($a0) +/* DBE008 80240D58 8C820000 */ lw $v0, ($a0) +/* DBE00C 80240D5C 2403F7FF */ addiu $v1, $zero, -0x801 +/* DBE010 80240D60 E484003C */ swc1 $f4, 0x3c($a0) +/* DBE014 80240D64 AC80001C */ sw $zero, 0x1c($a0) +/* DBE018 80240D68 00431024 */ and $v0, $v0, $v1 +/* DBE01C 80240D6C AC820000 */ sw $v0, ($a0) +/* DBE020 80240D70 2402000C */ addiu $v0, $zero, 0xc +/* DBE024 80240D74 AE020070 */ sw $v0, 0x70($s0) +.L80240D78: +/* DBE028 80240D78 8FBF0014 */ lw $ra, 0x14($sp) +/* DBE02C 80240D7C 8FB00010 */ lw $s0, 0x10($sp) +/* DBE030 80240D80 03E00008 */ jr $ra +/* DBE034 80240D84 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240D88_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240D88_DBD2B0.s new file mode 100644 index 0000000000..19ff28e3ea --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240D88_DBD2B0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D88_DBE038 +/* DBE038 80240D88 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DBE03C 80240D8C AFB3001C */ sw $s3, 0x1c($sp) +/* DBE040 80240D90 0080982D */ daddu $s3, $a0, $zero +/* DBE044 80240D94 AFBF0020 */ sw $ra, 0x20($sp) +/* DBE048 80240D98 AFB20018 */ sw $s2, 0x18($sp) +/* DBE04C 80240D9C AFB10014 */ sw $s1, 0x14($sp) +/* DBE050 80240DA0 AFB00010 */ sw $s0, 0x10($sp) +/* DBE054 80240DA4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* DBE058 80240DA8 8E710148 */ lw $s1, 0x148($s3) +/* DBE05C 80240DAC 86240008 */ lh $a0, 8($s1) +/* DBE060 80240DB0 0C00EABB */ jal get_npc_unsafe +/* DBE064 80240DB4 00A0802D */ daddu $s0, $a1, $zero +/* DBE068 80240DB8 8E040020 */ lw $a0, 0x20($s0) +/* DBE06C 80240DBC 0040902D */ daddu $s2, $v0, $zero +/* DBE070 80240DC0 00041FC2 */ srl $v1, $a0, 0x1f +/* DBE074 80240DC4 00832021 */ addu $a0, $a0, $v1 +/* DBE078 80240DC8 00042043 */ sra $a0, $a0, 1 +/* DBE07C 80240DCC 0C00A67F */ jal rand_int +/* DBE080 80240DD0 24840001 */ addiu $a0, $a0, 1 +/* DBE084 80240DD4 8E030020 */ lw $v1, 0x20($s0) +/* DBE088 80240DD8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* DBE08C 80240DDC 000327C2 */ srl $a0, $v1, 0x1f +/* DBE090 80240DE0 00641821 */ addu $v1, $v1, $a0 +/* DBE094 80240DE4 00031843 */ sra $v1, $v1, 1 +/* DBE098 80240DE8 00621821 */ addu $v1, $v1, $v0 +/* DBE09C 80240DEC A643008E */ sh $v1, 0x8e($s2) +/* DBE0A0 80240DF0 8E2200CC */ lw $v0, 0xcc($s1) +/* DBE0A4 80240DF4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* DBE0A8 80240DF8 8C42000C */ lw $v0, 0xc($v0) +/* DBE0AC 80240DFC AE420028 */ sw $v0, 0x28($s2) +/* DBE0B0 80240E00 C6000018 */ lwc1 $f0, 0x18($s0) +/* DBE0B4 80240E04 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBE0B8 80240E08 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBE0BC 80240E0C E6400018 */ swc1 $f0, 0x18($s2) +/* DBE0C0 80240E10 8C460028 */ lw $a2, 0x28($v0) +/* DBE0C4 80240E14 0C00A720 */ jal atan2 +/* DBE0C8 80240E18 8C470030 */ lw $a3, 0x30($v0) +/* DBE0CC 80240E1C 46000506 */ mov.s $f20, $f0 +/* DBE0D0 80240E20 C64C000C */ lwc1 $f12, 0xc($s2) +/* DBE0D4 80240E24 0C00A70A */ jal get_clamped_angle_diff +/* DBE0D8 80240E28 4600A386 */ mov.s $f14, $f20 +/* DBE0DC 80240E2C 46000086 */ mov.s $f2, $f0 +/* DBE0E0 80240E30 8E02001C */ lw $v0, 0x1c($s0) +/* DBE0E4 80240E34 46001005 */ abs.s $f0, $f2 +/* DBE0E8 80240E38 44822000 */ mtc1 $v0, $f4 +/* DBE0EC 80240E3C 00000000 */ nop +/* DBE0F0 80240E40 46802120 */ cvt.s.w $f4, $f4 +/* DBE0F4 80240E44 4600203C */ c.lt.s $f4, $f0 +/* DBE0F8 80240E48 00000000 */ nop +/* DBE0FC 80240E4C 4500000D */ bc1f .L80240E84 +/* DBE100 80240E50 00000000 */ nop +/* DBE104 80240E54 44800000 */ mtc1 $zero, $f0 +/* DBE108 80240E58 C654000C */ lwc1 $f20, 0xc($s2) +/* DBE10C 80240E5C 4600103C */ c.lt.s $f2, $f0 +/* DBE110 80240E60 00000000 */ nop +/* DBE114 80240E64 45000006 */ bc1f .L80240E80 +/* DBE118 80240E68 00021023 */ negu $v0, $v0 +/* DBE11C 80240E6C 44820000 */ mtc1 $v0, $f0 +/* DBE120 80240E70 00000000 */ nop +/* DBE124 80240E74 46800020 */ cvt.s.w $f0, $f0 +/* DBE128 80240E78 080903A1 */ j .L80240E84 +/* DBE12C 80240E7C 4600A500 */ add.s $f20, $f20, $f0 +.L80240E80: +/* DBE130 80240E80 4604A500 */ add.s $f20, $f20, $f4 +.L80240E84: +/* DBE134 80240E84 0C00A6C9 */ jal clamp_angle +/* DBE138 80240E88 4600A306 */ mov.s $f12, $f20 +/* DBE13C 80240E8C 2402000D */ addiu $v0, $zero, 0xd +/* DBE140 80240E90 E640000C */ swc1 $f0, 0xc($s2) +/* DBE144 80240E94 AE620070 */ sw $v0, 0x70($s3) +/* DBE148 80240E98 8FBF0020 */ lw $ra, 0x20($sp) +/* DBE14C 80240E9C 8FB3001C */ lw $s3, 0x1c($sp) +/* DBE150 80240EA0 8FB20018 */ lw $s2, 0x18($sp) +/* DBE154 80240EA4 8FB10014 */ lw $s1, 0x14($sp) +/* DBE158 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* DBE15C 80240EAC D7B40028 */ ldc1 $f20, 0x28($sp) +/* DBE160 80240EB0 03E00008 */ jr $ra +/* DBE164 80240EB4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240EB8_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240EB8_DBD2B0.s new file mode 100644 index 0000000000..c096b0f6af --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240EB8_DBD2B0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_DBE168 +/* DBE168 80240EB8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DBE16C 80240EBC AFB3003C */ sw $s3, 0x3c($sp) +/* DBE170 80240EC0 0080982D */ daddu $s3, $a0, $zero +/* DBE174 80240EC4 AFBF0040 */ sw $ra, 0x40($sp) +/* DBE178 80240EC8 AFB20038 */ sw $s2, 0x38($sp) +/* DBE17C 80240ECC AFB10034 */ sw $s1, 0x34($sp) +/* DBE180 80240ED0 AFB00030 */ sw $s0, 0x30($sp) +/* DBE184 80240ED4 8E720148 */ lw $s2, 0x148($s3) +/* DBE188 80240ED8 00A0882D */ daddu $s1, $a1, $zero +/* DBE18C 80240EDC 86440008 */ lh $a0, 8($s2) +/* DBE190 80240EE0 0C00EABB */ jal get_npc_unsafe +/* DBE194 80240EE4 00C0802D */ daddu $s0, $a2, $zero +/* DBE198 80240EE8 0200202D */ daddu $a0, $s0, $zero +/* DBE19C 80240EEC 0240282D */ daddu $a1, $s2, $zero +/* DBE1A0 80240EF0 24030001 */ addiu $v1, $zero, 1 +/* DBE1A4 80240EF4 AFA30010 */ sw $v1, 0x10($sp) +/* DBE1A8 80240EF8 8E260024 */ lw $a2, 0x24($s1) +/* DBE1AC 80240EFC 8E270028 */ lw $a3, 0x28($s1) +/* DBE1B0 80240F00 0C01242D */ jal func_800490B4 +/* DBE1B4 80240F04 0040802D */ daddu $s0, $v0, $zero +/* DBE1B8 80240F08 1440001E */ bnez $v0, .L80240F84 +/* DBE1BC 80240F0C 0200202D */ daddu $a0, $s0, $zero +/* DBE1C0 80240F10 24040002 */ addiu $a0, $zero, 2 +/* DBE1C4 80240F14 0200282D */ daddu $a1, $s0, $zero +/* DBE1C8 80240F18 0000302D */ daddu $a2, $zero, $zero +/* DBE1CC 80240F1C 860300A8 */ lh $v1, 0xa8($s0) +/* DBE1D0 80240F20 3C013F80 */ lui $at, 0x3f80 +/* DBE1D4 80240F24 44810000 */ mtc1 $at, $f0 +/* DBE1D8 80240F28 3C014000 */ lui $at, 0x4000 +/* DBE1DC 80240F2C 44811000 */ mtc1 $at, $f2 +/* DBE1E0 80240F30 3C01C1A0 */ lui $at, 0xc1a0 +/* DBE1E4 80240F34 44812000 */ mtc1 $at, $f4 +/* DBE1E8 80240F38 2402000F */ addiu $v0, $zero, 0xf +/* DBE1EC 80240F3C AFA2001C */ sw $v0, 0x1c($sp) +/* DBE1F0 80240F40 44833000 */ mtc1 $v1, $f6 +/* DBE1F4 80240F44 00000000 */ nop +/* DBE1F8 80240F48 468031A0 */ cvt.s.w $f6, $f6 +/* DBE1FC 80240F4C 44073000 */ mfc1 $a3, $f6 +/* DBE200 80240F50 27A20028 */ addiu $v0, $sp, 0x28 +/* DBE204 80240F54 AFA20020 */ sw $v0, 0x20($sp) +/* DBE208 80240F58 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBE20C 80240F5C E7A20014 */ swc1 $f2, 0x14($sp) +/* DBE210 80240F60 0C01BFA4 */ jal fx_emote +/* DBE214 80240F64 E7A40018 */ swc1 $f4, 0x18($sp) +/* DBE218 80240F68 8E4200CC */ lw $v0, 0xcc($s2) +/* DBE21C 80240F6C 8C430000 */ lw $v1, ($v0) +/* DBE220 80240F70 24020019 */ addiu $v0, $zero, 0x19 +/* DBE224 80240F74 A602008E */ sh $v0, 0x8e($s0) +/* DBE228 80240F78 2402000E */ addiu $v0, $zero, 0xe +/* DBE22C 80240F7C 080903EE */ j .L80240FB8 +/* DBE230 80240F80 AE030028 */ sw $v1, 0x28($s0) +.L80240F84: +/* DBE234 80240F84 0C00F598 */ jal func_8003D660 +/* DBE238 80240F88 24050001 */ addiu $a1, $zero, 1 +/* DBE23C 80240F8C 8E050018 */ lw $a1, 0x18($s0) +/* DBE240 80240F90 8E06000C */ lw $a2, 0xc($s0) +/* DBE244 80240F94 0C00EA95 */ jal npc_move_heading +/* DBE248 80240F98 0200202D */ daddu $a0, $s0, $zero +/* DBE24C 80240F9C 8602008E */ lh $v0, 0x8e($s0) +/* DBE250 80240FA0 9603008E */ lhu $v1, 0x8e($s0) +/* DBE254 80240FA4 18400003 */ blez $v0, .L80240FB4 +/* DBE258 80240FA8 2462FFFF */ addiu $v0, $v1, -1 +/* DBE25C 80240FAC 080903EF */ j .L80240FBC +/* DBE260 80240FB0 A602008E */ sh $v0, 0x8e($s0) +.L80240FB4: +/* DBE264 80240FB4 2402000C */ addiu $v0, $zero, 0xc +.L80240FB8: +/* DBE268 80240FB8 AE620070 */ sw $v0, 0x70($s3) +.L80240FBC: +/* DBE26C 80240FBC 8FBF0040 */ lw $ra, 0x40($sp) +/* DBE270 80240FC0 8FB3003C */ lw $s3, 0x3c($sp) +/* DBE274 80240FC4 8FB20038 */ lw $s2, 0x38($sp) +/* DBE278 80240FC8 8FB10034 */ lw $s1, 0x34($sp) +/* DBE27C 80240FCC 8FB00030 */ lw $s0, 0x30($sp) +/* DBE280 80240FD0 03E00008 */ jr $ra +/* DBE284 80240FD4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80240FD8_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80240FD8_DBD2B0.s new file mode 100644 index 0000000000..7881b30db3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80240FD8_DBD2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD8_DBE288 +/* DBE288 80240FD8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBE28C 80240FDC AFB10014 */ sw $s1, 0x14($sp) +/* DBE290 80240FE0 0080882D */ daddu $s1, $a0, $zero +/* DBE294 80240FE4 AFBF0018 */ sw $ra, 0x18($sp) +/* DBE298 80240FE8 AFB00010 */ sw $s0, 0x10($sp) +/* DBE29C 80240FEC 8E300148 */ lw $s0, 0x148($s1) +/* DBE2A0 80240FF0 0C00EABB */ jal get_npc_unsafe +/* DBE2A4 80240FF4 86040008 */ lh $a0, 8($s0) +/* DBE2A8 80240FF8 9443008E */ lhu $v1, 0x8e($v0) +/* DBE2AC 80240FFC 2463FFFF */ addiu $v1, $v1, -1 +/* DBE2B0 80241000 A443008E */ sh $v1, 0x8e($v0) +/* DBE2B4 80241004 00031C00 */ sll $v1, $v1, 0x10 +/* DBE2B8 80241008 14600008 */ bnez $v1, .L8024102C +/* DBE2BC 8024100C 00000000 */ nop +/* DBE2C0 80241010 8E0200B0 */ lw $v0, 0xb0($s0) +/* DBE2C4 80241014 30420080 */ andi $v0, $v0, 0x80 +/* DBE2C8 80241018 10400003 */ beqz $v0, .L80241028 +/* DBE2CC 8024101C 2402000F */ addiu $v0, $zero, 0xf +/* DBE2D0 80241020 0809040B */ j .L8024102C +/* DBE2D4 80241024 AE220070 */ sw $v0, 0x70($s1) +.L80241028: +/* DBE2D8 80241028 AE200070 */ sw $zero, 0x70($s1) +.L8024102C: +/* DBE2DC 8024102C 8FBF0018 */ lw $ra, 0x18($sp) +/* DBE2E0 80241030 8FB10014 */ lw $s1, 0x14($sp) +/* DBE2E4 80241034 8FB00010 */ lw $s0, 0x10($sp) +/* DBE2E8 80241038 03E00008 */ jr $ra +/* DBE2EC 8024103C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80241040_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80241040_DBD2B0.s new file mode 100644 index 0000000000..73899a8ed5 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80241040_DBD2B0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241040_DBE2F0 +/* DBE2F0 80241040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBE2F4 80241044 AFB10014 */ sw $s1, 0x14($sp) +/* DBE2F8 80241048 0080882D */ daddu $s1, $a0, $zero +/* DBE2FC 8024104C AFBF001C */ sw $ra, 0x1c($sp) +/* DBE300 80241050 AFB20018 */ sw $s2, 0x18($sp) +/* DBE304 80241054 AFB00010 */ sw $s0, 0x10($sp) +/* DBE308 80241058 8E300148 */ lw $s0, 0x148($s1) +/* DBE30C 8024105C 86040008 */ lh $a0, 8($s0) +/* DBE310 80241060 0C00EABB */ jal get_npc_unsafe +/* DBE314 80241064 00A0902D */ daddu $s2, $a1, $zero +/* DBE318 80241068 8E0300D0 */ lw $v1, 0xd0($s0) +/* DBE31C 8024106C 8E240078 */ lw $a0, 0x78($s1) +/* DBE320 80241070 8C630000 */ lw $v1, ($v1) +/* DBE324 80241074 0083182A */ slt $v1, $a0, $v1 +/* DBE328 80241078 10600013 */ beqz $v1, .L802410C8 +/* DBE32C 8024107C 0040302D */ daddu $a2, $v0, $zero +/* DBE330 80241080 00041040 */ sll $v0, $a0, 1 +/* DBE334 80241084 00441021 */ addu $v0, $v0, $a0 +/* DBE338 80241088 00022880 */ sll $a1, $v0, 2 +.L8024108C: +/* DBE33C 8024108C 8E0300D0 */ lw $v1, 0xd0($s0) +/* DBE340 80241090 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* DBE344 80241094 00A31021 */ addu $v0, $a1, $v1 +/* DBE348 80241098 C4400008 */ lwc1 $f0, 8($v0) +/* DBE34C 8024109C 46800020 */ cvt.s.w $f0, $f0 +/* DBE350 802410A0 4602003E */ c.le.s $f0, $f2 +/* DBE354 802410A4 00000000 */ nop +/* DBE358 802410A8 45020003 */ bc1fl .L802410B8 +/* DBE35C 802410AC 24840001 */ addiu $a0, $a0, 1 +/* DBE360 802410B0 08090432 */ j .L802410C8 +/* DBE364 802410B4 AE240078 */ sw $a0, 0x78($s1) +.L802410B8: +/* DBE368 802410B8 8C620000 */ lw $v0, ($v1) +/* DBE36C 802410BC 0082102A */ slt $v0, $a0, $v0 +/* DBE370 802410C0 1440FFF2 */ bnez $v0, .L8024108C +/* DBE374 802410C4 24A5000C */ addiu $a1, $a1, 0xc +.L802410C8: +/* DBE378 802410C8 C6400000 */ lwc1 $f0, ($s2) +/* DBE37C 802410CC E4C00018 */ swc1 $f0, 0x18($a2) +/* DBE380 802410D0 8E0200CC */ lw $v0, 0xcc($s0) +/* DBE384 802410D4 8C420004 */ lw $v0, 4($v0) +/* DBE388 802410D8 ACC20028 */ sw $v0, 0x28($a2) +/* DBE38C 802410DC 24020001 */ addiu $v0, $zero, 1 +/* DBE390 802410E0 AE200074 */ sw $zero, 0x74($s1) +/* DBE394 802410E4 AE220070 */ sw $v0, 0x70($s1) +/* DBE398 802410E8 8FBF001C */ lw $ra, 0x1c($sp) +/* DBE39C 802410EC 8FB20018 */ lw $s2, 0x18($sp) +/* DBE3A0 802410F0 8FB10014 */ lw $s1, 0x14($sp) +/* DBE3A4 802410F4 8FB00010 */ lw $s0, 0x10($sp) +/* DBE3A8 802410F8 03E00008 */ jr $ra +/* DBE3AC 802410FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80241100.s b/asm/nonmatchings/world/area_omo/omo_07/func_80241100.s new file mode 100644 index 0000000000..410e43d68a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80241100.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241100 +/* DBE3B0 80241100 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DBE3B4 80241104 AFB40058 */ sw $s4, 0x58($sp) +/* DBE3B8 80241108 0080A02D */ daddu $s4, $a0, $zero +/* DBE3BC 8024110C AFBF0060 */ sw $ra, 0x60($sp) +/* DBE3C0 80241110 AFB5005C */ sw $s5, 0x5c($sp) +/* DBE3C4 80241114 AFB30054 */ sw $s3, 0x54($sp) +/* DBE3C8 80241118 AFB20050 */ sw $s2, 0x50($sp) +/* DBE3CC 8024111C AFB1004C */ sw $s1, 0x4c($sp) +/* DBE3D0 80241120 AFB00048 */ sw $s0, 0x48($sp) +/* DBE3D4 80241124 8E910148 */ lw $s1, 0x148($s4) +/* DBE3D8 80241128 86240008 */ lh $a0, 8($s1) +/* DBE3DC 8024112C 0C00EABB */ jal get_npc_unsafe +/* DBE3E0 80241130 00A0802D */ daddu $s0, $a1, $zero +/* DBE3E4 80241134 8E83000C */ lw $v1, 0xc($s4) +/* DBE3E8 80241138 0280202D */ daddu $a0, $s4, $zero +/* DBE3EC 8024113C 8C650000 */ lw $a1, ($v1) +/* DBE3F0 80241140 0C0B1EAF */ jal get_variable +/* DBE3F4 80241144 0040902D */ daddu $s2, $v0, $zero +/* DBE3F8 80241148 AFA00018 */ sw $zero, 0x18($sp) +/* DBE3FC 8024114C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE400 80241150 8C630094 */ lw $v1, 0x94($v1) +/* DBE404 80241154 AFA3001C */ sw $v1, 0x1c($sp) +/* DBE408 80241158 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE40C 8024115C 8C630080 */ lw $v1, 0x80($v1) +/* DBE410 80241160 AFA30020 */ sw $v1, 0x20($sp) +/* DBE414 80241164 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE418 80241168 8C630088 */ lw $v1, 0x88($v1) +/* DBE41C 8024116C AFA30024 */ sw $v1, 0x24($sp) +/* DBE420 80241170 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE424 80241174 8C63008C */ lw $v1, 0x8c($v1) +/* DBE428 80241178 27B50018 */ addiu $s5, $sp, 0x18 +/* DBE42C 8024117C AFA30028 */ sw $v1, 0x28($sp) +/* DBE430 80241180 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE434 80241184 3C014282 */ lui $at, 0x4282 +/* DBE438 80241188 44810000 */ mtc1 $at, $f0 +/* DBE43C 8024118C 8C630090 */ lw $v1, 0x90($v1) +/* DBE440 80241190 0040982D */ daddu $s3, $v0, $zero +/* DBE444 80241194 E7A00030 */ swc1 $f0, 0x30($sp) +/* DBE448 80241198 A7A00034 */ sh $zero, 0x34($sp) +/* DBE44C 8024119C 16000005 */ bnez $s0, .L802411B4 +/* DBE450 802411A0 AFA3002C */ sw $v1, 0x2c($sp) +/* DBE454 802411A4 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBE458 802411A8 30420004 */ andi $v0, $v0, 4 +/* DBE45C 802411AC 10400044 */ beqz $v0, .L802412C0 +/* DBE460 802411B0 00000000 */ nop +.L802411B4: +/* DBE464 802411B4 2404F7FF */ addiu $a0, $zero, -0x801 +/* DBE468 802411B8 AE800070 */ sw $zero, 0x70($s4) +/* DBE46C 802411BC A640008E */ sh $zero, 0x8e($s2) +/* DBE470 802411C0 8E2200CC */ lw $v0, 0xcc($s1) +/* DBE474 802411C4 8E430000 */ lw $v1, ($s2) +/* DBE478 802411C8 8C420000 */ lw $v0, ($v0) +/* DBE47C 802411CC 00641824 */ and $v1, $v1, $a0 +/* DBE480 802411D0 AE430000 */ sw $v1, ($s2) +/* DBE484 802411D4 AE420028 */ sw $v0, 0x28($s2) +/* DBE488 802411D8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBE48C 802411DC 8C420098 */ lw $v0, 0x98($v0) +/* DBE490 802411E0 54400005 */ bnel $v0, $zero, .L802411F8 +/* DBE494 802411E4 2402FDFF */ addiu $v0, $zero, -0x201 +/* DBE498 802411E8 34620200 */ ori $v0, $v1, 0x200 +/* DBE49C 802411EC 2403FFF7 */ addiu $v1, $zero, -9 +/* DBE4A0 802411F0 08090480 */ j .L80241200 +/* DBE4A4 802411F4 00431024 */ and $v0, $v0, $v1 +.L802411F8: +/* DBE4A8 802411F8 00621024 */ and $v0, $v1, $v0 +/* DBE4AC 802411FC 34420008 */ ori $v0, $v0, 8 +.L80241200: +/* DBE4B0 80241200 AE420000 */ sw $v0, ($s2) +/* DBE4B4 80241204 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBE4B8 80241208 30420004 */ andi $v0, $v0, 4 +/* DBE4BC 8024120C 10400008 */ beqz $v0, .L80241230 +/* DBE4C0 80241210 24020063 */ addiu $v0, $zero, 0x63 +/* DBE4C4 80241214 AE820070 */ sw $v0, 0x70($s4) +/* DBE4C8 80241218 AE800074 */ sw $zero, 0x74($s4) +/* DBE4CC 8024121C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBE4D0 80241220 2403FFFB */ addiu $v1, $zero, -5 +/* DBE4D4 80241224 00431024 */ and $v0, $v0, $v1 +/* DBE4D8 80241228 08090497 */ j .L8024125C +/* DBE4DC 8024122C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241230: +/* DBE4E0 80241230 8E220000 */ lw $v0, ($s1) +/* DBE4E4 80241234 3C034000 */ lui $v1, 0x4000 +/* DBE4E8 80241238 00431024 */ and $v0, $v0, $v1 +/* DBE4EC 8024123C 10400007 */ beqz $v0, .L8024125C +/* DBE4F0 80241240 3C03BFFF */ lui $v1, 0xbfff +/* DBE4F4 80241244 2402000C */ addiu $v0, $zero, 0xc +/* DBE4F8 80241248 AE820070 */ sw $v0, 0x70($s4) +/* DBE4FC 8024124C 8E220000 */ lw $v0, ($s1) +/* DBE500 80241250 3463FFFF */ ori $v1, $v1, 0xffff +/* DBE504 80241254 00431024 */ and $v0, $v0, $v1 +/* DBE508 80241258 AE220000 */ sw $v0, ($s1) +.L8024125C: +/* DBE50C 8024125C 27A50038 */ addiu $a1, $sp, 0x38 +/* DBE510 80241260 27A6003C */ addiu $a2, $sp, 0x3c +/* DBE514 80241264 C6400038 */ lwc1 $f0, 0x38($s2) +/* DBE518 80241268 864200A8 */ lh $v0, 0xa8($s2) +/* DBE51C 8024126C 3C0142C8 */ lui $at, 0x42c8 +/* DBE520 80241270 44812000 */ mtc1 $at, $f4 +/* DBE524 80241274 44823000 */ mtc1 $v0, $f6 +/* DBE528 80241278 00000000 */ nop +/* DBE52C 8024127C 468031A0 */ cvt.s.w $f6, $f6 +/* DBE530 80241280 27A20044 */ addiu $v0, $sp, 0x44 +/* DBE534 80241284 E7A00038 */ swc1 $f0, 0x38($sp) +/* DBE538 80241288 C640003C */ lwc1 $f0, 0x3c($s2) +/* DBE53C 8024128C C6420040 */ lwc1 $f2, 0x40($s2) +/* DBE540 80241290 46060000 */ add.s $f0, $f0, $f6 +/* DBE544 80241294 E7A40044 */ swc1 $f4, 0x44($sp) +/* DBE548 80241298 E7A20040 */ swc1 $f2, 0x40($sp) +/* DBE54C 8024129C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DBE550 802412A0 AFA20010 */ sw $v0, 0x10($sp) +/* DBE554 802412A4 8E440080 */ lw $a0, 0x80($s2) +/* DBE558 802412A8 0C0372DF */ jal func_800DCB7C +/* DBE55C 802412AC 27A70040 */ addiu $a3, $sp, 0x40 +/* DBE560 802412B0 10400003 */ beqz $v0, .L802412C0 +/* DBE564 802412B4 00000000 */ nop +/* DBE568 802412B8 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DBE56C 802412BC E640003C */ swc1 $f0, 0x3c($s2) +.L802412C0: +/* DBE570 802412C0 8E830070 */ lw $v1, 0x70($s4) +/* DBE574 802412C4 2C620064 */ sltiu $v0, $v1, 0x64 +/* DBE578 802412C8 10400042 */ beqz $v0, .L802413D4 +/* DBE57C 802412CC 00031080 */ sll $v0, $v1, 2 +/* DBE580 802412D0 3C018024 */ lui $at, 0x8024 +/* DBE584 802412D4 00220821 */ addu $at, $at, $v0 +/* DBE588 802412D8 8C226D80 */ lw $v0, 0x6d80($at) +/* DBE58C 802412DC 00400008 */ jr $v0 +/* DBE590 802412E0 00000000 */ nop +/* DBE594 802412E4 0280202D */ daddu $a0, $s4, $zero +/* DBE598 802412E8 0260282D */ daddu $a1, $s3, $zero +/* DBE59C 802412EC 0C09015B */ jal func_8024056C +/* DBE5A0 802412F0 02A0302D */ daddu $a2, $s5, $zero +/* DBE5A4 802412F4 0280202D */ daddu $a0, $s4, $zero +/* DBE5A8 802412F8 0260282D */ daddu $a1, $s3, $zero +/* DBE5AC 802412FC 0C0901B1 */ jal func_802406C4 +/* DBE5B0 80241300 02A0302D */ daddu $a2, $s5, $zero +/* DBE5B4 80241304 080904F5 */ j .L802413D4 +/* DBE5B8 80241308 00000000 */ nop +/* DBE5BC 8024130C 0280202D */ daddu $a0, $s4, $zero +/* DBE5C0 80241310 0260282D */ daddu $a1, $s3, $zero +/* DBE5C4 80241314 0C09025B */ jal func_8024096C +/* DBE5C8 80241318 02A0302D */ daddu $a2, $s5, $zero +/* DBE5CC 8024131C 0280202D */ daddu $a0, $s4, $zero +/* DBE5D0 80241320 0260282D */ daddu $a1, $s3, $zero +/* DBE5D4 80241324 0C09028B */ jal func_80240A2C +/* DBE5D8 80241328 02A0302D */ daddu $a2, $s5, $zero +/* DBE5DC 8024132C 080904F5 */ j .L802413D4 +/* DBE5E0 80241330 00000000 */ nop +/* DBE5E4 80241334 0280202D */ daddu $a0, $s4, $zero +/* DBE5E8 80241338 0260282D */ daddu $a1, $s3, $zero +/* DBE5EC 8024133C 0C0902FA */ jal func_80240BE8 +/* DBE5F0 80241340 02A0302D */ daddu $a2, $s5, $zero +/* DBE5F4 80241344 080904F5 */ j .L802413D4 +/* DBE5F8 80241348 00000000 */ nop +/* DBE5FC 8024134C 0280202D */ daddu $a0, $s4, $zero +/* DBE600 80241350 0260282D */ daddu $a1, $s3, $zero +/* DBE604 80241354 0C090327 */ jal func_80240C9C +/* DBE608 80241358 02A0302D */ daddu $a2, $s5, $zero +/* DBE60C 8024135C 0280202D */ daddu $a0, $s4, $zero +/* DBE610 80241360 0260282D */ daddu $a1, $s3, $zero +/* DBE614 80241364 0C090344 */ jal func_80240D10 +/* DBE618 80241368 02A0302D */ daddu $a2, $s5, $zero +/* DBE61C 8024136C 080904F5 */ j .L802413D4 +/* DBE620 80241370 00000000 */ nop +/* DBE624 80241374 0280202D */ daddu $a0, $s4, $zero +/* DBE628 80241378 0260282D */ daddu $a1, $s3, $zero +/* DBE62C 8024137C 0C090362 */ jal func_80240D88 +/* DBE630 80241380 02A0302D */ daddu $a2, $s5, $zero +/* DBE634 80241384 0280202D */ daddu $a0, $s4, $zero +/* DBE638 80241388 0260282D */ daddu $a1, $s3, $zero +/* DBE63C 8024138C 0C0903AE */ jal func_80240EB8 +/* DBE640 80241390 02A0302D */ daddu $a2, $s5, $zero +/* DBE644 80241394 080904F5 */ j .L802413D4 +/* DBE648 80241398 00000000 */ nop +/* DBE64C 8024139C 0280202D */ daddu $a0, $s4, $zero +/* DBE650 802413A0 0260282D */ daddu $a1, $s3, $zero +/* DBE654 802413A4 0C0903F6 */ jal func_80240FD8 +/* DBE658 802413A8 02A0302D */ daddu $a2, $s5, $zero +/* DBE65C 802413AC 080904F5 */ j .L802413D4 +/* DBE660 802413B0 00000000 */ nop +/* DBE664 802413B4 0280202D */ daddu $a0, $s4, $zero +/* DBE668 802413B8 0260282D */ daddu $a1, $s3, $zero +/* DBE66C 802413BC 0C090410 */ jal func_80241040 +/* DBE670 802413C0 02A0302D */ daddu $a2, $s5, $zero +/* DBE674 802413C4 080904F5 */ j .L802413D4 +/* DBE678 802413C8 00000000 */ nop +/* DBE67C 802413CC 0C0129CF */ jal func_8004A73C +/* DBE680 802413D0 0280202D */ daddu $a0, $s4, $zero +.L802413D4: +/* DBE684 802413D4 8FBF0060 */ lw $ra, 0x60($sp) +/* DBE688 802413D8 8FB5005C */ lw $s5, 0x5c($sp) +/* DBE68C 802413DC 8FB40058 */ lw $s4, 0x58($sp) +/* DBE690 802413E0 8FB30054 */ lw $s3, 0x54($sp) +/* DBE694 802413E4 8FB20050 */ lw $s2, 0x50($sp) +/* DBE698 802413E8 8FB1004C */ lw $s1, 0x4c($sp) +/* DBE69C 802413EC 8FB00048 */ lw $s0, 0x48($sp) +/* DBE6A0 802413F0 0000102D */ daddu $v0, $zero, $zero +/* DBE6A4 802413F4 03E00008 */ jr $ra +/* DBE6A8 802413F8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802413FC_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_802413FC_DBD2B0.s new file mode 100644 index 0000000000..6b2abcdd55 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802413FC_DBD2B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413FC_DBE6AC +/* DBE6AC 802413FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBE6B0 80241400 AFB10014 */ sw $s1, 0x14($sp) +/* DBE6B4 80241404 0080882D */ daddu $s1, $a0, $zero +/* DBE6B8 80241408 AFBF0018 */ sw $ra, 0x18($sp) +/* DBE6BC 8024140C AFB00010 */ sw $s0, 0x10($sp) +/* DBE6C0 80241410 8E300148 */ lw $s0, 0x148($s1) +/* DBE6C4 80241414 0C00EABB */ jal get_npc_unsafe +/* DBE6C8 80241418 86040008 */ lh $a0, 8($s0) +/* DBE6CC 8024141C C4400018 */ lwc1 $f0, 0x18($v0) +/* DBE6D0 80241420 3C018024 */ lui $at, 0x8024 +/* DBE6D4 80241424 D4226F10 */ ldc1 $f2, 0x6f10($at) +/* DBE6D8 80241428 46000021 */ cvt.d.s $f0, $f0 +/* DBE6DC 8024142C 46220002 */ mul.d $f0, $f0, $f2 +/* DBE6E0 80241430 00000000 */ nop +/* DBE6E4 80241434 46200020 */ cvt.s.d $f0, $f0 +/* DBE6E8 80241438 E4400018 */ swc1 $f0, 0x18($v0) +/* DBE6EC 8024143C 8E0300CC */ lw $v1, 0xcc($s0) +/* DBE6F0 80241440 8C640030 */ lw $a0, 0x30($v1) +/* DBE6F4 80241444 24030005 */ addiu $v1, $zero, 5 +/* DBE6F8 80241448 A443008E */ sh $v1, 0x8e($v0) +/* DBE6FC 8024144C AC440028 */ sw $a0, 0x28($v0) +/* DBE700 80241450 2402000F */ addiu $v0, $zero, 0xf +/* DBE704 80241454 AE220070 */ sw $v0, 0x70($s1) +/* DBE708 80241458 8FBF0018 */ lw $ra, 0x18($sp) +/* DBE70C 8024145C 8FB10014 */ lw $s1, 0x14($sp) +/* DBE710 80241460 8FB00010 */ lw $s0, 0x10($sp) +/* DBE714 80241464 03E00008 */ jr $ra +/* DBE718 80241468 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_8024146C_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_8024146C_DBD2B0.s new file mode 100644 index 0000000000..329348ba6c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_8024146C_DBD2B0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024146C_DBE71C +/* DBE71C 8024146C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DBE720 80241470 AFB20028 */ sw $s2, 0x28($sp) +/* DBE724 80241474 0080902D */ daddu $s2, $a0, $zero +/* DBE728 80241478 AFBF002C */ sw $ra, 0x2c($sp) +/* DBE72C 8024147C AFB10024 */ sw $s1, 0x24($sp) +/* DBE730 80241480 AFB00020 */ sw $s0, 0x20($sp) +/* DBE734 80241484 8E510148 */ lw $s1, 0x148($s2) +/* DBE738 80241488 0C00EABB */ jal get_npc_unsafe +/* DBE73C 8024148C 86240008 */ lh $a0, 8($s1) +/* DBE740 80241490 0040802D */ daddu $s0, $v0, $zero +/* DBE744 80241494 0200202D */ daddu $a0, $s0, $zero +/* DBE748 80241498 C600000C */ lwc1 $f0, 0xc($s0) +/* DBE74C 8024149C 27A60018 */ addiu $a2, $sp, 0x18 +/* DBE750 802414A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBE754 802414A4 AFA00010 */ sw $zero, 0x10($sp) +/* DBE758 802414A8 AFA00014 */ sw $zero, 0x14($sp) +/* DBE75C 802414AC 8E050018 */ lw $a1, 0x18($s0) +/* DBE760 802414B0 0C0129E1 */ jal func_8004A784 +/* DBE764 802414B4 0000382D */ daddu $a3, $zero, $zero +/* DBE768 802414B8 14400005 */ bnez $v0, .L802414D0 +/* DBE76C 802414BC 00000000 */ nop +/* DBE770 802414C0 8E050018 */ lw $a1, 0x18($s0) +/* DBE774 802414C4 8E06000C */ lw $a2, 0xc($s0) +/* DBE778 802414C8 0C00EA95 */ jal npc_move_heading +/* DBE77C 802414CC 0200202D */ daddu $a0, $s0, $zero +.L802414D0: +/* DBE780 802414D0 9602008E */ lhu $v0, 0x8e($s0) +/* DBE784 802414D4 2442FFFF */ addiu $v0, $v0, -1 +/* DBE788 802414D8 A602008E */ sh $v0, 0x8e($s0) +/* DBE78C 802414DC 00021400 */ sll $v0, $v0, 0x10 +/* DBE790 802414E0 14400010 */ bnez $v0, .L80241524 +/* DBE794 802414E4 00000000 */ nop +/* DBE798 802414E8 C6000018 */ lwc1 $f0, 0x18($s0) +/* DBE79C 802414EC 3C018024 */ lui $at, 0x8024 +/* DBE7A0 802414F0 D4226F18 */ ldc1 $f2, 0x6f18($at) +/* DBE7A4 802414F4 46000021 */ cvt.d.s $f0, $f0 +/* DBE7A8 802414F8 46220002 */ mul.d $f0, $f0, $f2 +/* DBE7AC 802414FC 00000000 */ nop +/* DBE7B0 80241500 46200020 */ cvt.s.d $f0, $f0 +/* DBE7B4 80241504 E6000018 */ swc1 $f0, 0x18($s0) +/* DBE7B8 80241508 8E2200CC */ lw $v0, 0xcc($s1) +/* DBE7BC 8024150C 8C43002C */ lw $v1, 0x2c($v0) +/* DBE7C0 80241510 2402000A */ addiu $v0, $zero, 0xa +/* DBE7C4 80241514 A602008E */ sh $v0, 0x8e($s0) +/* DBE7C8 80241518 24020010 */ addiu $v0, $zero, 0x10 +/* DBE7CC 8024151C AE030028 */ sw $v1, 0x28($s0) +/* DBE7D0 80241520 AE420070 */ sw $v0, 0x70($s2) +.L80241524: +/* DBE7D4 80241524 8FBF002C */ lw $ra, 0x2c($sp) +/* DBE7D8 80241528 8FB20028 */ lw $s2, 0x28($sp) +/* DBE7DC 8024152C 8FB10024 */ lw $s1, 0x24($sp) +/* DBE7E0 80241530 8FB00020 */ lw $s0, 0x20($sp) +/* DBE7E4 80241534 03E00008 */ jr $ra +/* DBE7E8 80241538 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_8024153C.s b/asm/nonmatchings/world/area_omo/omo_07/func_8024153C.s new file mode 100644 index 0000000000..4bc35d6cf6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_8024153C.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024153C +/* DBE7EC 8024153C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DBE7F0 80241540 AFB10024 */ sw $s1, 0x24($sp) +/* DBE7F4 80241544 0080882D */ daddu $s1, $a0, $zero +/* DBE7F8 80241548 AFBF0028 */ sw $ra, 0x28($sp) +/* DBE7FC 8024154C AFB00020 */ sw $s0, 0x20($sp) +/* DBE800 80241550 8E220148 */ lw $v0, 0x148($s1) +/* DBE804 80241554 0C00EABB */ jal get_npc_unsafe +/* DBE808 80241558 84440008 */ lh $a0, 8($v0) +/* DBE80C 8024155C 0040802D */ daddu $s0, $v0, $zero +/* DBE810 80241560 0200202D */ daddu $a0, $s0, $zero +/* DBE814 80241564 C600000C */ lwc1 $f0, 0xc($s0) +/* DBE818 80241568 27A60018 */ addiu $a2, $sp, 0x18 +/* DBE81C 8024156C E7A00018 */ swc1 $f0, 0x18($sp) +/* DBE820 80241570 AFA00010 */ sw $zero, 0x10($sp) +/* DBE824 80241574 AFA00014 */ sw $zero, 0x14($sp) +/* DBE828 80241578 8E050018 */ lw $a1, 0x18($s0) +/* DBE82C 8024157C 0C0129E1 */ jal func_8004A784 +/* DBE830 80241580 0000382D */ daddu $a3, $zero, $zero +/* DBE834 80241584 14400005 */ bnez $v0, .L8024159C +/* DBE838 80241588 00000000 */ nop +/* DBE83C 8024158C 8E050018 */ lw $a1, 0x18($s0) +/* DBE840 80241590 8E06000C */ lw $a2, 0xc($s0) +/* DBE844 80241594 0C00EA95 */ jal npc_move_heading +/* DBE848 80241598 0200202D */ daddu $a0, $s0, $zero +.L8024159C: +/* DBE84C 8024159C 9602008E */ lhu $v0, 0x8e($s0) +/* DBE850 802415A0 2442FFFF */ addiu $v0, $v0, -1 +/* DBE854 802415A4 A602008E */ sh $v0, 0x8e($s0) +/* DBE858 802415A8 00021400 */ sll $v0, $v0, 0x10 +/* DBE85C 802415AC 14400004 */ bnez $v0, .L802415C0 +/* DBE860 802415B0 2402001E */ addiu $v0, $zero, 0x1e +/* DBE864 802415B4 A602008E */ sh $v0, 0x8e($s0) +/* DBE868 802415B8 24020011 */ addiu $v0, $zero, 0x11 +/* DBE86C 802415BC AE220070 */ sw $v0, 0x70($s1) +.L802415C0: +/* DBE870 802415C0 8FBF0028 */ lw $ra, 0x28($sp) +/* DBE874 802415C4 8FB10024 */ lw $s1, 0x24($sp) +/* DBE878 802415C8 8FB00020 */ lw $s0, 0x20($sp) +/* DBE87C 802415CC 03E00008 */ jr $ra +/* DBE880 802415D0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802415D4_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_802415D4_DBD2B0.s new file mode 100644 index 0000000000..2528bcfcc6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802415D4_DBD2B0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415D4_DBE884 +/* DBE884 802415D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBE888 802415D8 AFB10014 */ sw $s1, 0x14($sp) +/* DBE88C 802415DC 0080882D */ daddu $s1, $a0, $zero +/* DBE890 802415E0 AFBF0018 */ sw $ra, 0x18($sp) +/* DBE894 802415E4 AFB00010 */ sw $s0, 0x10($sp) +/* DBE898 802415E8 8E300148 */ lw $s0, 0x148($s1) +/* DBE89C 802415EC 0C00EABB */ jal get_npc_unsafe +/* DBE8A0 802415F0 86040008 */ lh $a0, 8($s0) +/* DBE8A4 802415F4 0040182D */ daddu $v1, $v0, $zero +/* DBE8A8 802415F8 9462008E */ lhu $v0, 0x8e($v1) +/* DBE8AC 802415FC 2442FFFF */ addiu $v0, $v0, -1 +/* DBE8B0 80241600 A462008E */ sh $v0, 0x8e($v1) +/* DBE8B4 80241604 00021400 */ sll $v0, $v0, 0x10 +/* DBE8B8 80241608 14400005 */ bnez $v0, .L80241620 +/* DBE8BC 8024160C 00000000 */ nop +/* DBE8C0 80241610 8E0200CC */ lw $v0, 0xcc($s0) +/* DBE8C4 80241614 8C420000 */ lw $v0, ($v0) +/* DBE8C8 80241618 AC620028 */ sw $v0, 0x28($v1) +/* DBE8CC 8024161C AE200070 */ sw $zero, 0x70($s1) +.L80241620: +/* DBE8D0 80241620 8FBF0018 */ lw $ra, 0x18($sp) +/* DBE8D4 80241624 8FB10014 */ lw $s1, 0x14($sp) +/* DBE8D8 80241628 8FB00010 */ lw $s0, 0x10($sp) +/* DBE8DC 8024162C 03E00008 */ jr $ra +/* DBE8E0 80241630 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80241634_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80241634_DBD2B0.s new file mode 100644 index 0000000000..edf5d217f3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80241634_DBD2B0.s @@ -0,0 +1,220 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241634_DBE8E4 +/* DBE8E4 80241634 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DBE8E8 80241638 AFB30054 */ sw $s3, 0x54($sp) +/* DBE8EC 8024163C 0080982D */ daddu $s3, $a0, $zero +/* DBE8F0 80241640 AFBF0060 */ sw $ra, 0x60($sp) +/* DBE8F4 80241644 AFB5005C */ sw $s5, 0x5c($sp) +/* DBE8F8 80241648 AFB40058 */ sw $s4, 0x58($sp) +/* DBE8FC 8024164C AFB20050 */ sw $s2, 0x50($sp) +/* DBE900 80241650 AFB1004C */ sw $s1, 0x4c($sp) +/* DBE904 80241654 AFB00048 */ sw $s0, 0x48($sp) +/* DBE908 80241658 8E710148 */ lw $s1, 0x148($s3) +/* DBE90C 8024165C 86240008 */ lh $a0, 8($s1) +/* DBE910 80241660 0C00EABB */ jal get_npc_unsafe +/* DBE914 80241664 00A0802D */ daddu $s0, $a1, $zero +/* DBE918 80241668 8E63000C */ lw $v1, 0xc($s3) +/* DBE91C 8024166C 0260202D */ daddu $a0, $s3, $zero +/* DBE920 80241670 8C650000 */ lw $a1, ($v1) +/* DBE924 80241674 0C0B1EAF */ jal get_variable +/* DBE928 80241678 0040902D */ daddu $s2, $v0, $zero +/* DBE92C 8024167C AFA00018 */ sw $zero, 0x18($sp) +/* DBE930 80241680 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE934 80241684 8C630094 */ lw $v1, 0x94($v1) +/* DBE938 80241688 AFA3001C */ sw $v1, 0x1c($sp) +/* DBE93C 8024168C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE940 80241690 8C630080 */ lw $v1, 0x80($v1) +/* DBE944 80241694 AFA30020 */ sw $v1, 0x20($sp) +/* DBE948 80241698 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE94C 8024169C 8C630088 */ lw $v1, 0x88($v1) +/* DBE950 802416A0 AFA30024 */ sw $v1, 0x24($sp) +/* DBE954 802416A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE958 802416A8 8C63008C */ lw $v1, 0x8c($v1) +/* DBE95C 802416AC 27B50018 */ addiu $s5, $sp, 0x18 +/* DBE960 802416B0 AFA30028 */ sw $v1, 0x28($sp) +/* DBE964 802416B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBE968 802416B8 3C014282 */ lui $at, 0x4282 +/* DBE96C 802416BC 44810000 */ mtc1 $at, $f0 +/* DBE970 802416C0 8C630090 */ lw $v1, 0x90($v1) +/* DBE974 802416C4 0040A02D */ daddu $s4, $v0, $zero +/* DBE978 802416C8 E7A00030 */ swc1 $f0, 0x30($sp) +/* DBE97C 802416CC A7A00034 */ sh $zero, 0x34($sp) +/* DBE980 802416D0 16000005 */ bnez $s0, .L802416E8 +/* DBE984 802416D4 AFA3002C */ sw $v1, 0x2c($sp) +/* DBE988 802416D8 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBE98C 802416DC 30420004 */ andi $v0, $v0, 4 +/* DBE990 802416E0 10400044 */ beqz $v0, .L802417F4 +/* DBE994 802416E4 00000000 */ nop +.L802416E8: +/* DBE998 802416E8 2404F7FF */ addiu $a0, $zero, -0x801 +/* DBE99C 802416EC AE600070 */ sw $zero, 0x70($s3) +/* DBE9A0 802416F0 A640008E */ sh $zero, 0x8e($s2) +/* DBE9A4 802416F4 8E2200CC */ lw $v0, 0xcc($s1) +/* DBE9A8 802416F8 8E430000 */ lw $v1, ($s2) +/* DBE9AC 802416FC 8C420000 */ lw $v0, ($v0) +/* DBE9B0 80241700 00641824 */ and $v1, $v1, $a0 +/* DBE9B4 80241704 AE430000 */ sw $v1, ($s2) +/* DBE9B8 80241708 AE420028 */ sw $v0, 0x28($s2) +/* DBE9BC 8024170C 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBE9C0 80241710 8C420098 */ lw $v0, 0x98($v0) +/* DBE9C4 80241714 54400005 */ bnel $v0, $zero, .L8024172C +/* DBE9C8 80241718 2402FDFF */ addiu $v0, $zero, -0x201 +/* DBE9CC 8024171C 34620200 */ ori $v0, $v1, 0x200 +/* DBE9D0 80241720 2403FFF7 */ addiu $v1, $zero, -9 +/* DBE9D4 80241724 080905CD */ j .L80241734 +/* DBE9D8 80241728 00431024 */ and $v0, $v0, $v1 +.L8024172C: +/* DBE9DC 8024172C 00621024 */ and $v0, $v1, $v0 +/* DBE9E0 80241730 34420008 */ ori $v0, $v0, 8 +.L80241734: +/* DBE9E4 80241734 AE420000 */ sw $v0, ($s2) +/* DBE9E8 80241738 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBE9EC 8024173C 30420004 */ andi $v0, $v0, 4 +/* DBE9F0 80241740 10400008 */ beqz $v0, .L80241764 +/* DBE9F4 80241744 24020063 */ addiu $v0, $zero, 0x63 +/* DBE9F8 80241748 AE620070 */ sw $v0, 0x70($s3) +/* DBE9FC 8024174C AE600074 */ sw $zero, 0x74($s3) +/* DBEA00 80241750 8E2200B0 */ lw $v0, 0xb0($s1) +/* DBEA04 80241754 2403FFFB */ addiu $v1, $zero, -5 +/* DBEA08 80241758 00431024 */ and $v0, $v0, $v1 +/* DBEA0C 8024175C 080905E4 */ j .L80241790 +/* DBEA10 80241760 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241764: +/* DBEA14 80241764 8E220000 */ lw $v0, ($s1) +/* DBEA18 80241768 3C034000 */ lui $v1, 0x4000 +/* DBEA1C 8024176C 00431024 */ and $v0, $v0, $v1 +/* DBEA20 80241770 10400007 */ beqz $v0, .L80241790 +/* DBEA24 80241774 3C03BFFF */ lui $v1, 0xbfff +/* DBEA28 80241778 2402000C */ addiu $v0, $zero, 0xc +/* DBEA2C 8024177C AE620070 */ sw $v0, 0x70($s3) +/* DBEA30 80241780 8E220000 */ lw $v0, ($s1) +/* DBEA34 80241784 3463FFFF */ ori $v1, $v1, 0xffff +/* DBEA38 80241788 00431024 */ and $v0, $v0, $v1 +/* DBEA3C 8024178C AE220000 */ sw $v0, ($s1) +.L80241790: +/* DBEA40 80241790 27A50038 */ addiu $a1, $sp, 0x38 +/* DBEA44 80241794 27A6003C */ addiu $a2, $sp, 0x3c +/* DBEA48 80241798 C6400038 */ lwc1 $f0, 0x38($s2) +/* DBEA4C 8024179C 864200A8 */ lh $v0, 0xa8($s2) +/* DBEA50 802417A0 3C0142C8 */ lui $at, 0x42c8 +/* DBEA54 802417A4 44812000 */ mtc1 $at, $f4 +/* DBEA58 802417A8 44823000 */ mtc1 $v0, $f6 +/* DBEA5C 802417AC 00000000 */ nop +/* DBEA60 802417B0 468031A0 */ cvt.s.w $f6, $f6 +/* DBEA64 802417B4 27A20044 */ addiu $v0, $sp, 0x44 +/* DBEA68 802417B8 E7A00038 */ swc1 $f0, 0x38($sp) +/* DBEA6C 802417BC C640003C */ lwc1 $f0, 0x3c($s2) +/* DBEA70 802417C0 C6420040 */ lwc1 $f2, 0x40($s2) +/* DBEA74 802417C4 46060000 */ add.s $f0, $f0, $f6 +/* DBEA78 802417C8 E7A40044 */ swc1 $f4, 0x44($sp) +/* DBEA7C 802417CC E7A20040 */ swc1 $f2, 0x40($sp) +/* DBEA80 802417D0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DBEA84 802417D4 AFA20010 */ sw $v0, 0x10($sp) +/* DBEA88 802417D8 8E440080 */ lw $a0, 0x80($s2) +/* DBEA8C 802417DC 0C0372DF */ jal func_800DCB7C +/* DBEA90 802417E0 27A70040 */ addiu $a3, $sp, 0x40 +/* DBEA94 802417E4 10400003 */ beqz $v0, .L802417F4 +/* DBEA98 802417E8 00000000 */ nop +/* DBEA9C 802417EC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DBEAA0 802417F0 E640003C */ swc1 $f0, 0x3c($s2) +.L802417F4: +/* DBEAA4 802417F4 8E630070 */ lw $v1, 0x70($s3) +/* DBEAA8 802417F8 2C620064 */ sltiu $v0, $v1, 0x64 +/* DBEAAC 802417FC 10400054 */ beqz $v0, .L80241950 +/* DBEAB0 80241800 00031080 */ sll $v0, $v1, 2 +/* DBEAB4 80241804 3C018024 */ lui $at, 0x8024 +/* DBEAB8 80241808 00220821 */ addu $at, $at, $v0 +/* DBEABC 8024180C 8C226F20 */ lw $v0, 0x6f20($at) +/* DBEAC0 80241810 00400008 */ jr $v0 +/* DBEAC4 80241814 00000000 */ nop +/* DBEAC8 80241818 0260202D */ daddu $a0, $s3, $zero +/* DBEACC 8024181C 0280282D */ daddu $a1, $s4, $zero +/* DBEAD0 80241820 0C09015B */ jal func_8024056C +/* DBEAD4 80241824 02A0302D */ daddu $a2, $s5, $zero +/* DBEAD8 80241828 0260202D */ daddu $a0, $s3, $zero +/* DBEADC 8024182C 0280282D */ daddu $a1, $s4, $zero +/* DBEAE0 80241830 0C0901B1 */ jal func_802406C4 +/* DBEAE4 80241834 02A0302D */ daddu $a2, $s5, $zero +/* DBEAE8 80241838 08090654 */ j .L80241950 +/* DBEAEC 8024183C 00000000 */ nop +/* DBEAF0 80241840 0260202D */ daddu $a0, $s3, $zero +/* DBEAF4 80241844 0280282D */ daddu $a1, $s4, $zero +/* DBEAF8 80241848 0C09025B */ jal func_8024096C +/* DBEAFC 8024184C 02A0302D */ daddu $a2, $s5, $zero +/* DBEB00 80241850 0260202D */ daddu $a0, $s3, $zero +/* DBEB04 80241854 0280282D */ daddu $a1, $s4, $zero +/* DBEB08 80241858 0C09028B */ jal func_80240A2C +/* DBEB0C 8024185C 02A0302D */ daddu $a2, $s5, $zero +/* DBEB10 80241860 08090654 */ j .L80241950 +/* DBEB14 80241864 00000000 */ nop +/* DBEB18 80241868 0260202D */ daddu $a0, $s3, $zero +/* DBEB1C 8024186C 0280282D */ daddu $a1, $s4, $zero +/* DBEB20 80241870 0C0902FA */ jal func_80240BE8 +/* DBEB24 80241874 02A0302D */ daddu $a2, $s5, $zero +/* DBEB28 80241878 08090654 */ j .L80241950 +/* DBEB2C 8024187C 00000000 */ nop +/* DBEB30 80241880 0260202D */ daddu $a0, $s3, $zero +/* DBEB34 80241884 0280282D */ daddu $a1, $s4, $zero +/* DBEB38 80241888 0C090327 */ jal func_80240C9C +/* DBEB3C 8024188C 02A0302D */ daddu $a2, $s5, $zero +/* DBEB40 80241890 0260202D */ daddu $a0, $s3, $zero +/* DBEB44 80241894 0280282D */ daddu $a1, $s4, $zero +/* DBEB48 80241898 0C090344 */ jal func_80240D10 +/* DBEB4C 8024189C 02A0302D */ daddu $a2, $s5, $zero +/* DBEB50 802418A0 08090654 */ j .L80241950 +/* DBEB54 802418A4 00000000 */ nop +/* DBEB58 802418A8 0260202D */ daddu $a0, $s3, $zero +/* DBEB5C 802418AC 0280282D */ daddu $a1, $s4, $zero +/* DBEB60 802418B0 0C090362 */ jal func_80240D88 +/* DBEB64 802418B4 02A0302D */ daddu $a2, $s5, $zero +/* DBEB68 802418B8 0260202D */ daddu $a0, $s3, $zero +/* DBEB6C 802418BC 0280282D */ daddu $a1, $s4, $zero +/* DBEB70 802418C0 0C0903AE */ jal func_80240EB8 +/* DBEB74 802418C4 02A0302D */ daddu $a2, $s5, $zero +/* DBEB78 802418C8 08090654 */ j .L80241950 +/* DBEB7C 802418CC 00000000 */ nop +/* DBEB80 802418D0 0260202D */ daddu $a0, $s3, $zero +/* DBEB84 802418D4 0280282D */ daddu $a1, $s4, $zero +/* DBEB88 802418D8 0C0904FF */ jal func_802413FC +/* DBEB8C 802418DC 02A0302D */ daddu $a2, $s5, $zero +/* DBEB90 802418E0 8E630070 */ lw $v1, 0x70($s3) +/* DBEB94 802418E4 2402000F */ addiu $v0, $zero, 0xf +/* DBEB98 802418E8 14620019 */ bne $v1, $v0, .L80241950 +/* DBEB9C 802418EC 00000000 */ nop +/* DBEBA0 802418F0 0260202D */ daddu $a0, $s3, $zero +/* DBEBA4 802418F4 0280282D */ daddu $a1, $s4, $zero +/* DBEBA8 802418F8 0C09051B */ jal func_8024146C +/* DBEBAC 802418FC 02A0302D */ daddu $a2, $s5, $zero +/* DBEBB0 80241900 8E630070 */ lw $v1, 0x70($s3) +/* DBEBB4 80241904 24020010 */ addiu $v0, $zero, 0x10 +/* DBEBB8 80241908 14620011 */ bne $v1, $v0, .L80241950 +/* DBEBBC 8024190C 00000000 */ nop +/* DBEBC0 80241910 0260202D */ daddu $a0, $s3, $zero +/* DBEBC4 80241914 0280282D */ daddu $a1, $s4, $zero +/* DBEBC8 80241918 0C09054F */ jal func_8024153C +/* DBEBCC 8024191C 02A0302D */ daddu $a2, $s5, $zero +/* DBEBD0 80241920 8E630070 */ lw $v1, 0x70($s3) +/* DBEBD4 80241924 24020011 */ addiu $v0, $zero, 0x11 +/* DBEBD8 80241928 14620009 */ bne $v1, $v0, .L80241950 +/* DBEBDC 8024192C 00000000 */ nop +/* DBEBE0 80241930 0260202D */ daddu $a0, $s3, $zero +/* DBEBE4 80241934 0280282D */ daddu $a1, $s4, $zero +/* DBEBE8 80241938 0C090575 */ jal func_802415D4 +/* DBEBEC 8024193C 02A0302D */ daddu $a2, $s5, $zero +/* DBEBF0 80241940 08090654 */ j .L80241950 +/* DBEBF4 80241944 00000000 */ nop +/* DBEBF8 80241948 0C0129CF */ jal func_8004A73C +/* DBEBFC 8024194C 0260202D */ daddu $a0, $s3, $zero +.L80241950: +/* DBEC00 80241950 8FBF0060 */ lw $ra, 0x60($sp) +/* DBEC04 80241954 8FB5005C */ lw $s5, 0x5c($sp) +/* DBEC08 80241958 8FB40058 */ lw $s4, 0x58($sp) +/* DBEC0C 8024195C 8FB30054 */ lw $s3, 0x54($sp) +/* DBEC10 80241960 8FB20050 */ lw $s2, 0x50($sp) +/* DBEC14 80241964 8FB1004C */ lw $s1, 0x4c($sp) +/* DBEC18 80241968 8FB00048 */ lw $s0, 0x48($sp) +/* DBEC1C 8024196C 0000102D */ daddu $v0, $zero, $zero +/* DBEC20 80241970 03E00008 */ jr $ra +/* DBEC24 80241974 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80241978_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80241978_DBD2B0.s new file mode 100644 index 0000000000..14e7841027 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80241978_DBD2B0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241978_DBEC28 +/* DBEC28 80241978 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DBEC2C 8024197C AFB3002C */ sw $s3, 0x2c($sp) +/* DBEC30 80241980 0080982D */ daddu $s3, $a0, $zero +/* DBEC34 80241984 AFBF0030 */ sw $ra, 0x30($sp) +/* DBEC38 80241988 AFB20028 */ sw $s2, 0x28($sp) +/* DBEC3C 8024198C AFB10024 */ sw $s1, 0x24($sp) +/* DBEC40 80241990 AFB00020 */ sw $s0, 0x20($sp) +/* DBEC44 80241994 8E710148 */ lw $s1, 0x148($s3) +/* DBEC48 80241998 86240008 */ lh $a0, 8($s1) +/* DBEC4C 8024199C 0C00EABB */ jal get_npc_unsafe +/* DBEC50 802419A0 00A0902D */ daddu $s2, $a1, $zero +/* DBEC54 802419A4 8E440004 */ lw $a0, 4($s2) +/* DBEC58 802419A8 0040802D */ daddu $s0, $v0, $zero +/* DBEC5C 802419AC 00041FC2 */ srl $v1, $a0, 0x1f +/* DBEC60 802419B0 00832021 */ addu $a0, $a0, $v1 +/* DBEC64 802419B4 00042043 */ sra $a0, $a0, 1 +/* DBEC68 802419B8 0C00A67F */ jal rand_int +/* DBEC6C 802419BC 24840001 */ addiu $a0, $a0, 1 +/* DBEC70 802419C0 8E430004 */ lw $v1, 4($s2) +/* DBEC74 802419C4 000327C2 */ srl $a0, $v1, 0x1f +/* DBEC78 802419C8 00641821 */ addu $v1, $v1, $a0 +/* DBEC7C 802419CC 00031843 */ sra $v1, $v1, 1 +/* DBEC80 802419D0 00621821 */ addu $v1, $v1, $v0 +/* DBEC84 802419D4 A603008E */ sh $v1, 0x8e($s0) +/* DBEC88 802419D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBEC8C 802419DC C6000040 */ lwc1 $f0, 0x40($s0) +/* DBEC90 802419E0 C4640000 */ lwc1 $f4, ($v1) +/* DBEC94 802419E4 46802120 */ cvt.s.w $f4, $f4 +/* DBEC98 802419E8 C4620008 */ lwc1 $f2, 8($v1) +/* DBEC9C 802419EC 468010A0 */ cvt.s.w $f2, $f2 +/* DBECA0 802419F0 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBECA4 802419F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBECA8 802419F8 44061000 */ mfc1 $a2, $f2 +/* DBECAC 802419FC C440000C */ lwc1 $f0, 0xc($v0) +/* DBECB0 80241A00 46800020 */ cvt.s.w $f0, $f0 +/* DBECB4 80241A04 E7A00014 */ swc1 $f0, 0x14($sp) +/* DBECB8 80241A08 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBECBC 80241A0C 44052000 */ mfc1 $a1, $f4 +/* DBECC0 80241A10 C4400010 */ lwc1 $f0, 0x10($v0) +/* DBECC4 80241A14 46800020 */ cvt.s.w $f0, $f0 +/* DBECC8 80241A18 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBECCC 80241A1C 8C640018 */ lw $a0, 0x18($v1) +/* DBECD0 80241A20 0C0123F5 */ jal is_point_within_region +/* DBECD4 80241A24 8E070038 */ lw $a3, 0x38($s0) +/* DBECD8 80241A28 1040000E */ beqz $v0, .L80241A64 +/* DBECDC 80241A2C 00000000 */ nop +/* DBECE0 80241A30 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBECE4 80241A34 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBECE8 80241A38 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBECEC 80241A3C C4460000 */ lwc1 $f6, ($v0) +/* DBECF0 80241A40 468031A0 */ cvt.s.w $f6, $f6 +/* DBECF4 80241A44 44063000 */ mfc1 $a2, $f6 +/* DBECF8 80241A48 C4460008 */ lwc1 $f6, 8($v0) +/* DBECFC 80241A4C 468031A0 */ cvt.s.w $f6, $f6 +/* DBED00 80241A50 44073000 */ mfc1 $a3, $f6 +/* DBED04 80241A54 0C00A720 */ jal atan2 +/* DBED08 80241A58 00000000 */ nop +/* DBED0C 80241A5C 080906A5 */ j .L80241A94 +/* DBED10 80241A60 E600000C */ swc1 $f0, 0xc($s0) +.L80241A64: +/* DBED14 80241A64 0C00A67F */ jal rand_int +/* DBED18 80241A68 2404003C */ addiu $a0, $zero, 0x3c +/* DBED1C 80241A6C C60C000C */ lwc1 $f12, 0xc($s0) +/* DBED20 80241A70 44820000 */ mtc1 $v0, $f0 +/* DBED24 80241A74 00000000 */ nop +/* DBED28 80241A78 46800020 */ cvt.s.w $f0, $f0 +/* DBED2C 80241A7C 46006300 */ add.s $f12, $f12, $f0 +/* DBED30 80241A80 3C0141F0 */ lui $at, 0x41f0 +/* DBED34 80241A84 44810000 */ mtc1 $at, $f0 +/* DBED38 80241A88 0C00A6C9 */ jal clamp_angle +/* DBED3C 80241A8C 46006301 */ sub.s $f12, $f12, $f0 +/* DBED40 80241A90 E600000C */ swc1 $f0, 0xc($s0) +.L80241A94: +/* DBED44 80241A94 8E2200CC */ lw $v0, 0xcc($s1) +/* DBED48 80241A98 8C420004 */ lw $v0, 4($v0) +/* DBED4C 80241A9C AE020028 */ sw $v0, 0x28($s0) +/* DBED50 80241AA0 AE600074 */ sw $zero, 0x74($s3) +/* DBED54 80241AA4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBED58 80241AA8 8C420014 */ lw $v0, 0x14($v0) +/* DBED5C 80241AAC 04410004 */ bgez $v0, .L80241AC0 +/* DBED60 80241AB0 00000000 */ nop +/* DBED64 80241AB4 C6400000 */ lwc1 $f0, ($s2) +/* DBED68 80241AB8 080906B8 */ j .L80241AE0 +/* DBED6C 80241ABC E6000018 */ swc1 $f0, 0x18($s0) +.L80241AC0: +/* DBED70 80241AC0 3C018024 */ lui $at, 0x8024 +/* DBED74 80241AC4 D42270B0 */ ldc1 $f2, 0x70b0($at) +/* DBED78 80241AC8 44820000 */ mtc1 $v0, $f0 +/* DBED7C 80241ACC 00000000 */ nop +/* DBED80 80241AD0 46800021 */ cvt.d.w $f0, $f0 +/* DBED84 80241AD4 46220003 */ div.d $f0, $f0, $f2 +/* DBED88 80241AD8 46200020 */ cvt.s.d $f0, $f0 +/* DBED8C 80241ADC E6000018 */ swc1 $f0, 0x18($s0) +.L80241AE0: +/* DBED90 80241AE0 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBED94 80241AE4 3C014059 */ lui $at, 0x4059 +/* DBED98 80241AE8 44811800 */ mtc1 $at, $f3 +/* DBED9C 80241AEC 44801000 */ mtc1 $zero, $f2 +/* DBEDA0 80241AF0 46000021 */ cvt.d.s $f0, $f0 +/* DBEDA4 80241AF4 46220002 */ mul.d $f0, $f0, $f2 +/* DBEDA8 80241AF8 00000000 */ nop +/* DBEDAC 80241AFC 24020001 */ addiu $v0, $zero, 1 +/* DBEDB0 80241B00 4620018D */ trunc.w.d $f6, $f0 +/* DBEDB4 80241B04 E626007C */ swc1 $f6, 0x7c($s1) +/* DBEDB8 80241B08 AE620070 */ sw $v0, 0x70($s3) +/* DBEDBC 80241B0C 8FBF0030 */ lw $ra, 0x30($sp) +/* DBEDC0 80241B10 8FB3002C */ lw $s3, 0x2c($sp) +/* DBEDC4 80241B14 8FB20028 */ lw $s2, 0x28($sp) +/* DBEDC8 80241B18 8FB10024 */ lw $s1, 0x24($sp) +/* DBEDCC 80241B1C 8FB00020 */ lw $s0, 0x20($sp) +/* DBEDD0 80241B20 03E00008 */ jr $ra +/* DBEDD4 80241B24 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80241B28_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80241B28_DBD2B0.s new file mode 100644 index 0000000000..871cfcfb2a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80241B28_DBD2B0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B28_DBEDD8 +/* DBEDD8 80241B28 27BDFF80 */ addiu $sp, $sp, -0x80 +/* DBEDDC 80241B2C AFB3004C */ sw $s3, 0x4c($sp) +/* DBEDE0 80241B30 0080982D */ daddu $s3, $a0, $zero +/* DBEDE4 80241B34 AFBF0058 */ sw $ra, 0x58($sp) +/* DBEDE8 80241B38 AFB50054 */ sw $s5, 0x54($sp) +/* DBEDEC 80241B3C AFB40050 */ sw $s4, 0x50($sp) +/* DBEDF0 80241B40 AFB20048 */ sw $s2, 0x48($sp) +/* DBEDF4 80241B44 AFB10044 */ sw $s1, 0x44($sp) +/* DBEDF8 80241B48 AFB00040 */ sw $s0, 0x40($sp) +/* DBEDFC 80241B4C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* DBEE00 80241B50 F7B80070 */ sdc1 $f24, 0x70($sp) +/* DBEE04 80241B54 F7B60068 */ sdc1 $f22, 0x68($sp) +/* DBEE08 80241B58 F7B40060 */ sdc1 $f20, 0x60($sp) +/* DBEE0C 80241B5C 8E710148 */ lw $s1, 0x148($s3) +/* DBEE10 80241B60 00A0902D */ daddu $s2, $a1, $zero +/* DBEE14 80241B64 86240008 */ lh $a0, 8($s1) +/* DBEE18 80241B68 0C00EABB */ jal get_npc_unsafe +/* DBEE1C 80241B6C 00C0A82D */ daddu $s5, $a2, $zero +/* DBEE20 80241B70 0040802D */ daddu $s0, $v0, $zero +/* DBEE24 80241B74 0000A02D */ daddu $s4, $zero, $zero +/* DBEE28 80241B78 C624007C */ lwc1 $f4, 0x7c($s1) +/* DBEE2C 80241B7C 46802120 */ cvt.s.w $f4, $f4 +/* DBEE30 80241B80 C6220088 */ lwc1 $f2, 0x88($s1) +/* DBEE34 80241B84 468010A0 */ cvt.s.w $f2, $f2 +/* DBEE38 80241B88 460010A1 */ cvt.d.s $f2, $f2 +/* DBEE3C 80241B8C 46002121 */ cvt.d.s $f4, $f4 +/* DBEE40 80241B90 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBEE44 80241B94 3C014059 */ lui $at, 0x4059 +/* DBEE48 80241B98 44813800 */ mtc1 $at, $f7 +/* DBEE4C 80241B9C 44803000 */ mtc1 $zero, $f6 +/* DBEE50 80241BA0 46000021 */ cvt.d.s $f0, $f0 +/* DBEE54 80241BA4 46260002 */ mul.d $f0, $f0, $f6 +/* DBEE58 80241BA8 00000000 */ nop +/* DBEE5C 80241BAC 24020001 */ addiu $v0, $zero, 1 +/* DBEE60 80241BB0 8E24006C */ lw $a0, 0x6c($s1) +/* DBEE64 80241BB4 46261083 */ div.d $f2, $f2, $f6 +/* DBEE68 80241BB8 462010A0 */ cvt.s.d $f2, $f2 +/* DBEE6C 80241BBC 46262103 */ div.d $f4, $f4, $f6 +/* DBEE70 80241BC0 46202520 */ cvt.s.d $f20, $f4 +/* DBEE74 80241BC4 30830011 */ andi $v1, $a0, 0x11 +/* DBEE78 80241BC8 4620020D */ trunc.w.d $f8, $f0 +/* DBEE7C 80241BCC E628007C */ swc1 $f8, 0x7c($s1) +/* DBEE80 80241BD0 C6200078 */ lwc1 $f0, 0x78($s1) +/* DBEE84 80241BD4 46800020 */ cvt.s.w $f0, $f0 +/* DBEE88 80241BD8 46000021 */ cvt.d.s $f0, $f0 +/* DBEE8C 80241BDC 46260003 */ div.d $f0, $f0, $f6 +/* DBEE90 80241BE0 462006A0 */ cvt.s.d $f26, $f0 +/* DBEE94 80241BE4 C6200070 */ lwc1 $f0, 0x70($s1) +/* DBEE98 80241BE8 46800020 */ cvt.s.w $f0, $f0 +/* DBEE9C 80241BEC 46000021 */ cvt.d.s $f0, $f0 +/* DBEEA0 80241BF0 46260003 */ div.d $f0, $f0, $f6 +/* DBEEA4 80241BF4 462005A0 */ cvt.s.d $f22, $f0 +/* DBEEA8 80241BF8 14620025 */ bne $v1, $v0, .L80241C90 +/* DBEEAC 80241BFC 4602D600 */ add.s $f24, $f26, $f2 +/* DBEEB0 80241C00 8E020000 */ lw $v0, ($s0) +/* DBEEB4 80241C04 30420008 */ andi $v0, $v0, 8 +/* DBEEB8 80241C08 10400009 */ beqz $v0, .L80241C30 +/* DBEEBC 80241C0C 27A50028 */ addiu $a1, $sp, 0x28 +/* DBEEC0 80241C10 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBEEC4 80241C14 4600C001 */ sub.s $f0, $f24, $f0 +/* DBEEC8 80241C18 4600B03C */ c.lt.s $f22, $f0 +/* DBEECC 80241C1C 00000000 */ nop +/* DBEED0 80241C20 4500001B */ bc1f .L80241C90 +/* DBEED4 80241C24 34820010 */ ori $v0, $a0, 0x10 +/* DBEED8 80241C28 08090724 */ j .L80241C90 +/* DBEEDC 80241C2C AE22006C */ sw $v0, 0x6c($s1) +.L80241C30: +/* DBEEE0 80241C30 27A6002C */ addiu $a2, $sp, 0x2c +/* DBEEE4 80241C34 C6000038 */ lwc1 $f0, 0x38($s0) +/* DBEEE8 80241C38 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBEEEC 80241C3C C6040040 */ lwc1 $f4, 0x40($s0) +/* DBEEF0 80241C40 3C01447A */ lui $at, 0x447a +/* DBEEF4 80241C44 44813000 */ mtc1 $at, $f6 +/* DBEEF8 80241C48 27A20034 */ addiu $v0, $sp, 0x34 +/* DBEEFC 80241C4C E7A00028 */ swc1 $f0, 0x28($sp) +/* DBEF00 80241C50 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DBEF04 80241C54 E7A40030 */ swc1 $f4, 0x30($sp) +/* DBEF08 80241C58 E7A60034 */ swc1 $f6, 0x34($sp) +/* DBEF0C 80241C5C AFA20010 */ sw $v0, 0x10($sp) +/* DBEF10 80241C60 8E040080 */ lw $a0, 0x80($s0) +/* DBEF14 80241C64 0C0372DF */ jal func_800DCB7C +/* DBEF18 80241C68 27A70030 */ addiu $a3, $sp, 0x30 +/* DBEF1C 80241C6C C7A00034 */ lwc1 $f0, 0x34($sp) +/* DBEF20 80241C70 4600D001 */ sub.s $f0, $f26, $f0 +/* DBEF24 80241C74 4600B03C */ c.lt.s $f22, $f0 +/* DBEF28 80241C78 00000000 */ nop +/* DBEF2C 80241C7C 45000004 */ bc1f .L80241C90 +/* DBEF30 80241C80 00000000 */ nop +/* DBEF34 80241C84 8E22006C */ lw $v0, 0x6c($s1) +/* DBEF38 80241C88 34420010 */ ori $v0, $v0, 0x10 +/* DBEF3C 80241C8C AE22006C */ sw $v0, 0x6c($s1) +.L80241C90: +/* DBEF40 80241C90 8E22006C */ lw $v0, 0x6c($s1) +/* DBEF44 80241C94 24030011 */ addiu $v1, $zero, 0x11 +/* DBEF48 80241C98 30420011 */ andi $v0, $v0, 0x11 +/* DBEF4C 80241C9C 14430039 */ bne $v0, $v1, .L80241D84 +/* DBEF50 80241CA0 00000000 */ nop +/* DBEF54 80241CA4 8E020000 */ lw $v0, ($s0) +/* DBEF58 80241CA8 30420008 */ andi $v0, $v0, 8 +/* DBEF5C 80241CAC 1040000A */ beqz $v0, .L80241CD8 +/* DBEF60 80241CB0 4600C106 */ mov.s $f4, $f24 +/* DBEF64 80241CB4 4614C081 */ sub.s $f2, $f24, $f20 +/* DBEF68 80241CB8 3C018024 */ lui $at, 0x8024 +/* DBEF6C 80241CBC D42070B8 */ ldc1 $f0, 0x70b8($at) +/* DBEF70 80241CC0 460010A1 */ cvt.d.s $f2, $f2 +/* DBEF74 80241CC4 46201082 */ mul.d $f2, $f2, $f0 +/* DBEF78 80241CC8 00000000 */ nop +/* DBEF7C 80241CCC 4600A021 */ cvt.d.s $f0, $f20 +/* DBEF80 80241CD0 0809074F */ j .L80241D3C +/* DBEF84 80241CD4 46220000 */ add.d $f0, $f0, $f2 +.L80241CD8: +/* DBEF88 80241CD8 27A50028 */ addiu $a1, $sp, 0x28 +/* DBEF8C 80241CDC 27A6002C */ addiu $a2, $sp, 0x2c +/* DBEF90 80241CE0 C6000038 */ lwc1 $f0, 0x38($s0) +/* DBEF94 80241CE4 C6020040 */ lwc1 $f2, 0x40($s0) +/* DBEF98 80241CE8 3C01447A */ lui $at, 0x447a +/* DBEF9C 80241CEC 44812000 */ mtc1 $at, $f4 +/* DBEFA0 80241CF0 27A20034 */ addiu $v0, $sp, 0x34 +/* DBEFA4 80241CF4 E7B4002C */ swc1 $f20, 0x2c($sp) +/* DBEFA8 80241CF8 E7A00028 */ swc1 $f0, 0x28($sp) +/* DBEFAC 80241CFC E7A20030 */ swc1 $f2, 0x30($sp) +/* DBEFB0 80241D00 E7A40034 */ swc1 $f4, 0x34($sp) +/* DBEFB4 80241D04 AFA20010 */ sw $v0, 0x10($sp) +/* DBEFB8 80241D08 8E040080 */ lw $a0, 0x80($s0) +/* DBEFBC 80241D0C 0C0372DF */ jal func_800DCB7C +/* DBEFC0 80241D10 27A70030 */ addiu $a3, $sp, 0x30 +/* DBEFC4 80241D14 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* DBEFC8 80241D18 461A2100 */ add.s $f4, $f4, $f26 +/* DBEFCC 80241D1C 46142081 */ sub.s $f2, $f4, $f20 +/* DBEFD0 80241D20 3C018024 */ lui $at, 0x8024 +/* DBEFD4 80241D24 D42070C0 */ ldc1 $f0, 0x70c0($at) +/* DBEFD8 80241D28 460010A1 */ cvt.d.s $f2, $f2 +/* DBEFDC 80241D2C 46201082 */ mul.d $f2, $f2, $f0 +/* DBEFE0 80241D30 00000000 */ nop +/* DBEFE4 80241D34 4600A021 */ cvt.d.s $f0, $f20 +/* DBEFE8 80241D38 46220000 */ add.d $f0, $f0, $f2 +.L80241D3C: +/* DBEFEC 80241D3C 46200020 */ cvt.s.d $f0, $f0 +/* DBEFF0 80241D40 E600003C */ swc1 $f0, 0x3c($s0) +/* DBEFF4 80241D44 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBEFF8 80241D48 46002001 */ sub.s $f0, $f4, $f0 +/* DBEFFC 80241D4C 3C013FF0 */ lui $at, 0x3ff0 +/* DBF000 80241D50 44811800 */ mtc1 $at, $f3 +/* DBF004 80241D54 44801000 */ mtc1 $zero, $f2 +/* DBF008 80241D58 46000005 */ abs.s $f0, $f0 +/* DBF00C 80241D5C 46000021 */ cvt.d.s $f0, $f0 +/* DBF010 80241D60 4622003C */ c.lt.d $f0, $f2 +/* DBF014 80241D64 00000000 */ nop +/* DBF018 80241D68 45000036 */ bc1f .L80241E44 +/* DBF01C 80241D6C 2403FFEF */ addiu $v1, $zero, -0x11 +/* DBF020 80241D70 E604003C */ swc1 $f4, 0x3c($s0) +/* DBF024 80241D74 8E22006C */ lw $v0, 0x6c($s1) +/* DBF028 80241D78 00431024 */ and $v0, $v0, $v1 +/* DBF02C 80241D7C 08090791 */ j .L80241E44 +/* DBF030 80241D80 AE22006C */ sw $v0, 0x6c($s1) +.L80241D84: +/* DBF034 80241D84 8E220070 */ lw $v0, 0x70($s1) +/* DBF038 80241D88 1840002E */ blez $v0, .L80241E44 +/* DBF03C 80241D8C 00000000 */ nop +/* DBF040 80241D90 C62C0074 */ lwc1 $f12, 0x74($s1) +/* DBF044 80241D94 0C00A8BB */ jal sin_deg +/* DBF048 80241D98 46806320 */ cvt.s.w $f12, $f12 +/* DBF04C 80241D9C 8E020000 */ lw $v0, ($s0) +/* DBF050 80241DA0 30420008 */ andi $v0, $v0, 8 +/* DBF054 80241DA4 10400003 */ beqz $v0, .L80241DB4 +/* DBF058 80241DA8 46000506 */ mov.s $f20, $f0 +/* DBF05C 80241DAC 0809077D */ j .L80241DF4 +/* DBF060 80241DB0 0000102D */ daddu $v0, $zero, $zero +.L80241DB4: +/* DBF064 80241DB4 27A50028 */ addiu $a1, $sp, 0x28 +/* DBF068 80241DB8 27A6002C */ addiu $a2, $sp, 0x2c +/* DBF06C 80241DBC C6000038 */ lwc1 $f0, 0x38($s0) +/* DBF070 80241DC0 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBF074 80241DC4 C6040040 */ lwc1 $f4, 0x40($s0) +/* DBF078 80241DC8 3C01447A */ lui $at, 0x447a +/* DBF07C 80241DCC 44813000 */ mtc1 $at, $f6 +/* DBF080 80241DD0 27A20034 */ addiu $v0, $sp, 0x34 +/* DBF084 80241DD4 E7A00028 */ swc1 $f0, 0x28($sp) +/* DBF088 80241DD8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DBF08C 80241DDC E7A40030 */ swc1 $f4, 0x30($sp) +/* DBF090 80241DE0 E7A60034 */ swc1 $f6, 0x34($sp) +/* DBF094 80241DE4 AFA20010 */ sw $v0, 0x10($sp) +/* DBF098 80241DE8 8E040080 */ lw $a0, 0x80($s0) +/* DBF09C 80241DEC 0C0372DF */ jal func_800DCB7C +/* DBF0A0 80241DF0 27A70030 */ addiu $a3, $sp, 0x30 +.L80241DF4: +/* DBF0A4 80241DF4 10400007 */ beqz $v0, .L80241E14 +/* DBF0A8 80241DF8 00000000 */ nop +/* DBF0AC 80241DFC 4616A082 */ mul.s $f2, $f20, $f22 +/* DBF0B0 80241E00 00000000 */ nop +/* DBF0B4 80241E04 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DBF0B8 80241E08 461A0000 */ add.s $f0, $f0, $f26 +/* DBF0BC 80241E0C 08090788 */ j .L80241E20 +/* DBF0C0 80241E10 46020000 */ add.s $f0, $f0, $f2 +.L80241E14: +/* DBF0C4 80241E14 4616A002 */ mul.s $f0, $f20, $f22 +/* DBF0C8 80241E18 00000000 */ nop +/* DBF0CC 80241E1C 4600C000 */ add.s $f0, $f24, $f0 +.L80241E20: +/* DBF0D0 80241E20 E600003C */ swc1 $f0, 0x3c($s0) +/* DBF0D4 80241E24 8E220074 */ lw $v0, 0x74($s1) +/* DBF0D8 80241E28 2442000A */ addiu $v0, $v0, 0xa +/* DBF0DC 80241E2C 44826000 */ mtc1 $v0, $f12 +/* DBF0E0 80241E30 00000000 */ nop +/* DBF0E4 80241E34 0C00A6C9 */ jal clamp_angle +/* DBF0E8 80241E38 46806320 */ cvt.s.w $f12, $f12 +/* DBF0EC 80241E3C 4600020D */ trunc.w.s $f8, $f0 +/* DBF0F0 80241E40 E6280074 */ swc1 $f8, 0x74($s1) +.L80241E44: +/* DBF0F4 80241E44 8E220090 */ lw $v0, 0x90($s1) +/* DBF0F8 80241E48 1C40004A */ bgtz $v0, .L80241F74 +/* DBF0FC 80241E4C 2442FFFF */ addiu $v0, $v0, -1 +/* DBF100 80241E50 8E430014 */ lw $v1, 0x14($s2) +/* DBF104 80241E54 04600048 */ bltz $v1, .L80241F78 +/* DBF108 80241E58 00000000 */ nop +/* DBF10C 80241E5C 8E620074 */ lw $v0, 0x74($s3) +/* DBF110 80241E60 1C400042 */ bgtz $v0, .L80241F6C +/* DBF114 80241E64 2442FFFF */ addiu $v0, $v0, -1 +/* DBF118 80241E68 AE630074 */ sw $v1, 0x74($s3) +/* DBF11C 80241E6C 860200A8 */ lh $v0, 0xa8($s0) +/* DBF120 80241E70 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBF124 80241E74 44820000 */ mtc1 $v0, $f0 +/* DBF128 80241E78 00000000 */ nop +/* DBF12C 80241E7C 46800020 */ cvt.s.w $f0, $f0 +/* DBF130 80241E80 46001080 */ add.s $f2, $f2, $f0 +/* DBF134 80241E84 3C014024 */ lui $at, 0x4024 +/* DBF138 80241E88 44810800 */ mtc1 $at, $f1 +/* DBF13C 80241E8C 44800000 */ mtc1 $zero, $f0 +/* DBF140 80241E90 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBF144 80241E94 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBF148 80241E98 460010A1 */ cvt.d.s $f2, $f2 +/* DBF14C 80241E9C 46201080 */ add.d $f2, $f2, $f0 +/* DBF150 80241EA0 C440002C */ lwc1 $f0, 0x2c($v0) +/* DBF154 80241EA4 46000021 */ cvt.d.s $f0, $f0 +/* DBF158 80241EA8 4622003C */ c.lt.d $f0, $f2 +/* DBF15C 80241EAC 00000000 */ nop +/* DBF160 80241EB0 4500002C */ bc1f .L80241F64 +/* DBF164 80241EB4 02A0202D */ daddu $a0, $s5, $zero +/* DBF168 80241EB8 AFA00010 */ sw $zero, 0x10($sp) +/* DBF16C 80241EBC 8E46000C */ lw $a2, 0xc($s2) +/* DBF170 80241EC0 8E470010 */ lw $a3, 0x10($s2) +/* DBF174 80241EC4 0C01242D */ jal func_800490B4 +/* DBF178 80241EC8 0220282D */ daddu $a1, $s1, $zero +/* DBF17C 80241ECC 10400025 */ beqz $v0, .L80241F64 +/* DBF180 80241ED0 0000202D */ daddu $a0, $zero, $zero +/* DBF184 80241ED4 0200282D */ daddu $a1, $s0, $zero +/* DBF188 80241ED8 0000302D */ daddu $a2, $zero, $zero +/* DBF18C 80241EDC 2412000C */ addiu $s2, $zero, 0xc +/* DBF190 80241EE0 860300A8 */ lh $v1, 0xa8($s0) +/* DBF194 80241EE4 3C013F80 */ lui $at, 0x3f80 +/* DBF198 80241EE8 44810000 */ mtc1 $at, $f0 +/* DBF19C 80241EEC 3C014000 */ lui $at, 0x4000 +/* DBF1A0 80241EF0 44811000 */ mtc1 $at, $f2 +/* DBF1A4 80241EF4 3C01C1A0 */ lui $at, 0xc1a0 +/* DBF1A8 80241EF8 44812000 */ mtc1 $at, $f4 +/* DBF1AC 80241EFC 44834000 */ mtc1 $v1, $f8 +/* DBF1B0 80241F00 00000000 */ nop +/* DBF1B4 80241F04 46804220 */ cvt.s.w $f8, $f8 +/* DBF1B8 80241F08 44074000 */ mfc1 $a3, $f8 +/* DBF1BC 80241F0C 27A20038 */ addiu $v0, $sp, 0x38 +/* DBF1C0 80241F10 AFB2001C */ sw $s2, 0x1c($sp) +/* DBF1C4 80241F14 AFA20020 */ sw $v0, 0x20($sp) +/* DBF1C8 80241F18 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBF1CC 80241F1C E7A20014 */ swc1 $f2, 0x14($sp) +/* DBF1D0 80241F20 0C01BFA4 */ jal fx_emote +/* DBF1D4 80241F24 E7A40018 */ swc1 $f4, 0x18($sp) +/* DBF1D8 80241F28 0200202D */ daddu $a0, $s0, $zero +/* DBF1DC 80241F2C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DBF1E0 80241F30 C480003C */ lwc1 $f0, 0x3c($a0) +/* DBF1E4 80241F34 3C060020 */ lui $a2, 0x20 +/* DBF1E8 80241F38 0C012530 */ jal func_800494C0 +/* DBF1EC 80241F3C E4800064 */ swc1 $f0, 0x64($a0) +/* DBF1F0 80241F40 8E220018 */ lw $v0, 0x18($s1) +/* DBF1F4 80241F44 9442002A */ lhu $v0, 0x2a($v0) +/* DBF1F8 80241F48 30420001 */ andi $v0, $v0, 1 +/* DBF1FC 80241F4C 10400003 */ beqz $v0, .L80241F5C +/* DBF200 80241F50 2402000A */ addiu $v0, $zero, 0xa +/* DBF204 80241F54 08090847 */ j .L8024211C +/* DBF208 80241F58 AE620070 */ sw $v0, 0x70($s3) +.L80241F5C: +/* DBF20C 80241F5C 08090847 */ j .L8024211C +/* DBF210 80241F60 AE720070 */ sw $s2, 0x70($s3) +.L80241F64: +/* DBF214 80241F64 8E620074 */ lw $v0, 0x74($s3) +/* DBF218 80241F68 2442FFFF */ addiu $v0, $v0, -1 +.L80241F6C: +/* DBF21C 80241F6C 080907DE */ j .L80241F78 +/* DBF220 80241F70 AE620074 */ sw $v0, 0x74($s3) +.L80241F74: +/* DBF224 80241F74 AE220090 */ sw $v0, 0x90($s1) +.L80241F78: +/* DBF228 80241F78 8E2300D0 */ lw $v1, 0xd0($s1) +/* DBF22C 80241F7C C6000040 */ lwc1 $f0, 0x40($s0) +/* DBF230 80241F80 C4620000 */ lwc1 $f2, ($v1) +/* DBF234 80241F84 468010A0 */ cvt.s.w $f2, $f2 +/* DBF238 80241F88 C4640008 */ lwc1 $f4, 8($v1) +/* DBF23C 80241F8C 46802120 */ cvt.s.w $f4, $f4 +/* DBF240 80241F90 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBF244 80241F94 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBF248 80241F98 44051000 */ mfc1 $a1, $f2 +/* DBF24C 80241F9C C440000C */ lwc1 $f0, 0xc($v0) +/* DBF250 80241FA0 46800020 */ cvt.s.w $f0, $f0 +/* DBF254 80241FA4 E7A00014 */ swc1 $f0, 0x14($sp) +/* DBF258 80241FA8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBF25C 80241FAC 44062000 */ mfc1 $a2, $f4 +/* DBF260 80241FB0 C4400010 */ lwc1 $f0, 0x10($v0) +/* DBF264 80241FB4 46800020 */ cvt.s.w $f0, $f0 +/* DBF268 80241FB8 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBF26C 80241FBC 8C640018 */ lw $a0, 0x18($v1) +/* DBF270 80241FC0 0C0123F5 */ jal is_point_within_region +/* DBF274 80241FC4 8E070038 */ lw $a3, 0x38($s0) +/* DBF278 80241FC8 1040001A */ beqz $v0, .L80242034 +/* DBF27C 80241FCC 00000000 */ nop +/* DBF280 80241FD0 8E060038 */ lw $a2, 0x38($s0) +/* DBF284 80241FD4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBF288 80241FD8 8E070040 */ lw $a3, 0x40($s0) +/* DBF28C 80241FDC C44C0000 */ lwc1 $f12, ($v0) +/* DBF290 80241FE0 46806320 */ cvt.s.w $f12, $f12 +/* DBF294 80241FE4 C44E0008 */ lwc1 $f14, 8($v0) +/* DBF298 80241FE8 0C00A7B5 */ jal dist2D +/* DBF29C 80241FEC 468073A0 */ cvt.s.w $f14, $f14 +/* DBF2A0 80241FF0 C6020018 */ lwc1 $f2, 0x18($s0) +/* DBF2A4 80241FF4 4600103C */ c.lt.s $f2, $f0 +/* DBF2A8 80241FF8 00000000 */ nop +/* DBF2AC 80241FFC 4500000D */ bc1f .L80242034 +/* DBF2B0 80242000 E7A00034 */ swc1 $f0, 0x34($sp) +/* DBF2B4 80242004 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBF2B8 80242008 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBF2BC 8024200C C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBF2C0 80242010 C4480000 */ lwc1 $f8, ($v0) +/* DBF2C4 80242014 46804220 */ cvt.s.w $f8, $f8 +/* DBF2C8 80242018 44064000 */ mfc1 $a2, $f8 +/* DBF2CC 8024201C C4480008 */ lwc1 $f8, 8($v0) +/* DBF2D0 80242020 46804220 */ cvt.s.w $f8, $f8 +/* DBF2D4 80242024 44074000 */ mfc1 $a3, $f8 +/* DBF2D8 80242028 0C00A720 */ jal atan2 +/* DBF2DC 8024202C 24140001 */ addiu $s4, $zero, 1 +/* DBF2E0 80242030 E600000C */ swc1 $f0, 0xc($s0) +.L80242034: +/* DBF2E4 80242034 8E2200D0 */ lw $v0, 0xd0($s1) +/* DBF2E8 80242038 8C43000C */ lw $v1, 0xc($v0) +/* DBF2EC 8024203C 8C420010 */ lw $v0, 0x10($v0) +/* DBF2F0 80242040 00621825 */ or $v1, $v1, $v0 +/* DBF2F4 80242044 00741825 */ or $v1, $v1, $s4 +/* DBF2F8 80242048 10600008 */ beqz $v1, .L8024206C +/* DBF2FC 8024204C 00000000 */ nop +/* DBF300 80242050 8602008C */ lh $v0, 0x8c($s0) +/* DBF304 80242054 14400031 */ bnez $v0, .L8024211C +/* DBF308 80242058 00000000 */ nop +/* DBF30C 8024205C 8E050018 */ lw $a1, 0x18($s0) +/* DBF310 80242060 8E06000C */ lw $a2, 0xc($s0) +/* DBF314 80242064 0C00EA95 */ jal npc_move_heading +/* DBF318 80242068 0200202D */ daddu $a0, $s0, $zero +.L8024206C: +/* DBF31C 8024206C C600003C */ lwc1 $f0, 0x3c($s0) +/* DBF320 80242070 3C014059 */ lui $at, 0x4059 +/* DBF324 80242074 44811800 */ mtc1 $at, $f3 +/* DBF328 80242078 44801000 */ mtc1 $zero, $f2 +/* DBF32C 8024207C 46000021 */ cvt.d.s $f0, $f0 +/* DBF330 80242080 46220002 */ mul.d $f0, $f0, $f2 +/* DBF334 80242084 00000000 */ nop +/* DBF338 80242088 4620020D */ trunc.w.d $f8, $f0 +/* DBF33C 8024208C E628007C */ swc1 $f8, 0x7c($s1) +/* DBF340 80242090 8E420004 */ lw $v0, 4($s2) +/* DBF344 80242094 18400021 */ blez $v0, .L8024211C +/* DBF348 80242098 00000000 */ nop +/* DBF34C 8024209C 8602008E */ lh $v0, 0x8e($s0) +/* DBF350 802420A0 9603008E */ lhu $v1, 0x8e($s0) +/* DBF354 802420A4 18400005 */ blez $v0, .L802420BC +/* DBF358 802420A8 2462FFFF */ addiu $v0, $v1, -1 +/* DBF35C 802420AC A602008E */ sh $v0, 0x8e($s0) +/* DBF360 802420B0 00021400 */ sll $v0, $v0, 0x10 +/* DBF364 802420B4 1C400019 */ bgtz $v0, .L8024211C +/* DBF368 802420B8 00000000 */ nop +.L802420BC: +/* DBF36C 802420BC 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DBF370 802420C0 24020002 */ addiu $v0, $zero, 2 +/* DBF374 802420C4 0C00A67F */ jal rand_int +/* DBF378 802420C8 AE620070 */ sw $v0, 0x70($s3) +/* DBF37C 802420CC 3C035555 */ lui $v1, 0x5555 +/* DBF380 802420D0 34635556 */ ori $v1, $v1, 0x5556 +/* DBF384 802420D4 00430018 */ mult $v0, $v1 +/* DBF388 802420D8 000227C3 */ sra $a0, $v0, 0x1f +/* DBF38C 802420DC 00004010 */ mfhi $t0 +/* DBF390 802420E0 01042023 */ subu $a0, $t0, $a0 +/* DBF394 802420E4 00041840 */ sll $v1, $a0, 1 +/* DBF398 802420E8 00641821 */ addu $v1, $v1, $a0 +/* DBF39C 802420EC 00431023 */ subu $v0, $v0, $v1 +/* DBF3A0 802420F0 24430002 */ addiu $v1, $v0, 2 +/* DBF3A4 802420F4 AE630074 */ sw $v1, 0x74($s3) +/* DBF3A8 802420F8 8E42002C */ lw $v0, 0x2c($s2) +/* DBF3AC 802420FC 58400007 */ blezl $v0, .L8024211C +/* DBF3B0 80242100 AE600070 */ sw $zero, 0x70($s3) +/* DBF3B4 80242104 8E420008 */ lw $v0, 8($s2) +/* DBF3B8 80242108 18400003 */ blez $v0, .L80242118 +/* DBF3BC 8024210C 28620003 */ slti $v0, $v1, 3 +/* DBF3C0 80242110 10400002 */ beqz $v0, .L8024211C +/* DBF3C4 80242114 00000000 */ nop +.L80242118: +/* DBF3C8 80242118 AE600070 */ sw $zero, 0x70($s3) +.L8024211C: +/* DBF3CC 8024211C 8FBF0058 */ lw $ra, 0x58($sp) +/* DBF3D0 80242120 8FB50054 */ lw $s5, 0x54($sp) +/* DBF3D4 80242124 8FB40050 */ lw $s4, 0x50($sp) +/* DBF3D8 80242128 8FB3004C */ lw $s3, 0x4c($sp) +/* DBF3DC 8024212C 8FB20048 */ lw $s2, 0x48($sp) +/* DBF3E0 80242130 8FB10044 */ lw $s1, 0x44($sp) +/* DBF3E4 80242134 8FB00040 */ lw $s0, 0x40($sp) +/* DBF3E8 80242138 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* DBF3EC 8024213C D7B80070 */ ldc1 $f24, 0x70($sp) +/* DBF3F0 80242140 D7B60068 */ ldc1 $f22, 0x68($sp) +/* DBF3F4 80242144 D7B40060 */ ldc1 $f20, 0x60($sp) +/* DBF3F8 80242148 03E00008 */ jr $ra +/* DBF3FC 8024214C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242150_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242150_DBD2B0.s new file mode 100644 index 0000000000..381687dded --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242150_DBD2B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242150_DBF400 +/* DBF400 80242150 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DBF404 80242154 AFB3001C */ sw $s3, 0x1c($sp) +/* DBF408 80242158 0080982D */ daddu $s3, $a0, $zero +/* DBF40C 8024215C AFBF0020 */ sw $ra, 0x20($sp) +/* DBF410 80242160 AFB20018 */ sw $s2, 0x18($sp) +/* DBF414 80242164 AFB10014 */ sw $s1, 0x14($sp) +/* DBF418 80242168 AFB00010 */ sw $s0, 0x10($sp) +/* DBF41C 8024216C 8E720148 */ lw $s2, 0x148($s3) +/* DBF420 80242170 86440008 */ lh $a0, 8($s2) +/* DBF424 80242174 0C00EABB */ jal get_npc_unsafe +/* DBF428 80242178 00A0882D */ daddu $s1, $a1, $zero +/* DBF42C 8024217C 8E240008 */ lw $a0, 8($s1) +/* DBF430 80242180 0040802D */ daddu $s0, $v0, $zero +/* DBF434 80242184 00041FC2 */ srl $v1, $a0, 0x1f +/* DBF438 80242188 00832021 */ addu $a0, $a0, $v1 +/* DBF43C 8024218C 00042043 */ sra $a0, $a0, 1 +/* DBF440 80242190 0C00A67F */ jal rand_int +/* DBF444 80242194 24840001 */ addiu $a0, $a0, 1 +/* DBF448 80242198 8E230008 */ lw $v1, 8($s1) +/* DBF44C 8024219C 240400B4 */ addiu $a0, $zero, 0xb4 +/* DBF450 802421A0 00032FC2 */ srl $a1, $v1, 0x1f +/* DBF454 802421A4 00651821 */ addu $v1, $v1, $a1 +/* DBF458 802421A8 00031843 */ sra $v1, $v1, 1 +/* DBF45C 802421AC 00621821 */ addu $v1, $v1, $v0 +/* DBF460 802421B0 0C00A67F */ jal rand_int +/* DBF464 802421B4 A603008E */ sh $v1, 0x8e($s0) +/* DBF468 802421B8 C60C000C */ lwc1 $f12, 0xc($s0) +/* DBF46C 802421BC 44820000 */ mtc1 $v0, $f0 +/* DBF470 802421C0 00000000 */ nop +/* DBF474 802421C4 46800020 */ cvt.s.w $f0, $f0 +/* DBF478 802421C8 46006300 */ add.s $f12, $f12, $f0 +/* DBF47C 802421CC 3C0142B4 */ lui $at, 0x42b4 +/* DBF480 802421D0 44810000 */ mtc1 $at, $f0 +/* DBF484 802421D4 0C00A6C9 */ jal clamp_angle +/* DBF488 802421D8 46006301 */ sub.s $f12, $f12, $f0 +/* DBF48C 802421DC E600000C */ swc1 $f0, 0xc($s0) +/* DBF490 802421E0 8E4200CC */ lw $v0, 0xcc($s2) +/* DBF494 802421E4 8C420000 */ lw $v0, ($v0) +/* DBF498 802421E8 AE020028 */ sw $v0, 0x28($s0) +/* DBF49C 802421EC 24020003 */ addiu $v0, $zero, 3 +/* DBF4A0 802421F0 AE620070 */ sw $v0, 0x70($s3) +/* DBF4A4 802421F4 8FBF0020 */ lw $ra, 0x20($sp) +/* DBF4A8 802421F8 8FB3001C */ lw $s3, 0x1c($sp) +/* DBF4AC 802421FC 8FB20018 */ lw $s2, 0x18($sp) +/* DBF4B0 80242200 8FB10014 */ lw $s1, 0x14($sp) +/* DBF4B4 80242204 8FB00010 */ lw $s0, 0x10($sp) +/* DBF4B8 80242208 03E00008 */ jr $ra +/* DBF4BC 8024220C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242210.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242210.s new file mode 100644 index 0000000000..000cb7ecac --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242210.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242210 +/* DBF4C0 80242210 27BDFF88 */ addiu $sp, $sp, -0x78 +/* DBF4C4 80242214 AFB3004C */ sw $s3, 0x4c($sp) +/* DBF4C8 80242218 0080982D */ daddu $s3, $a0, $zero +/* DBF4CC 8024221C AFBF0054 */ sw $ra, 0x54($sp) +/* DBF4D0 80242220 AFB40050 */ sw $s4, 0x50($sp) +/* DBF4D4 80242224 AFB20048 */ sw $s2, 0x48($sp) +/* DBF4D8 80242228 AFB10044 */ sw $s1, 0x44($sp) +/* DBF4DC 8024222C AFB00040 */ sw $s0, 0x40($sp) +/* DBF4E0 80242230 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* DBF4E4 80242234 F7B80068 */ sdc1 $f24, 0x68($sp) +/* DBF4E8 80242238 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DBF4EC 8024223C F7B40058 */ sdc1 $f20, 0x58($sp) +/* DBF4F0 80242240 8E710148 */ lw $s1, 0x148($s3) +/* DBF4F4 80242244 00A0902D */ daddu $s2, $a1, $zero +/* DBF4F8 80242248 86240008 */ lh $a0, 8($s1) +/* DBF4FC 8024224C 0C00EABB */ jal get_npc_unsafe +/* DBF500 80242250 00C0A02D */ daddu $s4, $a2, $zero +/* DBF504 80242254 0040802D */ daddu $s0, $v0, $zero +/* DBF508 80242258 C6200078 */ lwc1 $f0, 0x78($s1) +/* DBF50C 8024225C 46800020 */ cvt.s.w $f0, $f0 +/* DBF510 80242260 46000021 */ cvt.d.s $f0, $f0 +/* DBF514 80242264 3C014059 */ lui $at, 0x4059 +/* DBF518 80242268 44811800 */ mtc1 $at, $f3 +/* DBF51C 8024226C 44801000 */ mtc1 $zero, $f2 +/* DBF520 80242270 8602008E */ lh $v0, 0x8e($s0) +/* DBF524 80242274 9603008E */ lhu $v1, 0x8e($s0) +/* DBF528 80242278 46220003 */ div.d $f0, $f0, $f2 +/* DBF52C 8024227C 46200620 */ cvt.s.d $f24, $f0 +/* DBF530 80242280 C6200088 */ lwc1 $f0, 0x88($s1) +/* DBF534 80242284 46800020 */ cvt.s.w $f0, $f0 +/* DBF538 80242288 46000021 */ cvt.d.s $f0, $f0 +/* DBF53C 8024228C 46220003 */ div.d $f0, $f0, $f2 +/* DBF540 80242290 46200020 */ cvt.s.d $f0, $f0 +/* DBF544 80242294 18400003 */ blez $v0, .L802422A4 +/* DBF548 80242298 4600C680 */ add.s $f26, $f24, $f0 +/* DBF54C 8024229C 2462FFFF */ addiu $v0, $v1, -1 +/* DBF550 802422A0 A602008E */ sh $v0, 0x8e($s0) +.L802422A4: +/* DBF554 802422A4 8E220070 */ lw $v0, 0x70($s1) +/* DBF558 802422A8 18400034 */ blez $v0, .L8024237C +/* DBF55C 802422AC 00000000 */ nop +/* DBF560 802422B0 C62C0074 */ lwc1 $f12, 0x74($s1) +/* DBF564 802422B4 46806320 */ cvt.s.w $f12, $f12 +/* DBF568 802422B8 44820000 */ mtc1 $v0, $f0 +/* DBF56C 802422BC 00000000 */ nop +/* DBF570 802422C0 46800020 */ cvt.s.w $f0, $f0 +/* DBF574 802422C4 46000021 */ cvt.d.s $f0, $f0 +/* DBF578 802422C8 46220003 */ div.d $f0, $f0, $f2 +/* DBF57C 802422CC 0C00A8BB */ jal sin_deg +/* DBF580 802422D0 462005A0 */ cvt.s.d $f22, $f0 +/* DBF584 802422D4 8E020000 */ lw $v0, ($s0) +/* DBF588 802422D8 30420008 */ andi $v0, $v0, 8 +/* DBF58C 802422DC 10400003 */ beqz $v0, .L802422EC +/* DBF590 802422E0 46000506 */ mov.s $f20, $f0 +/* DBF594 802422E4 080908CB */ j .L8024232C +/* DBF598 802422E8 0000102D */ daddu $v0, $zero, $zero +.L802422EC: +/* DBF59C 802422EC 27A50028 */ addiu $a1, $sp, 0x28 +/* DBF5A0 802422F0 27A6002C */ addiu $a2, $sp, 0x2c +/* DBF5A4 802422F4 C6000038 */ lwc1 $f0, 0x38($s0) +/* DBF5A8 802422F8 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBF5AC 802422FC C6040040 */ lwc1 $f4, 0x40($s0) +/* DBF5B0 80242300 3C01447A */ lui $at, 0x447a +/* DBF5B4 80242304 44813000 */ mtc1 $at, $f6 +/* DBF5B8 80242308 27A20034 */ addiu $v0, $sp, 0x34 +/* DBF5BC 8024230C E7A00028 */ swc1 $f0, 0x28($sp) +/* DBF5C0 80242310 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DBF5C4 80242314 E7A40030 */ swc1 $f4, 0x30($sp) +/* DBF5C8 80242318 E7A60034 */ swc1 $f6, 0x34($sp) +/* DBF5CC 8024231C AFA20010 */ sw $v0, 0x10($sp) +/* DBF5D0 80242320 8E040080 */ lw $a0, 0x80($s0) +/* DBF5D4 80242324 0C0372DF */ jal func_800DCB7C +/* DBF5D8 80242328 27A70030 */ addiu $a3, $sp, 0x30 +.L8024232C: +/* DBF5DC 8024232C 10400007 */ beqz $v0, .L8024234C +/* DBF5E0 80242330 00000000 */ nop +/* DBF5E4 80242334 4616A082 */ mul.s $f2, $f20, $f22 +/* DBF5E8 80242338 00000000 */ nop +/* DBF5EC 8024233C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DBF5F0 80242340 46180000 */ add.s $f0, $f0, $f24 +/* DBF5F4 80242344 080908D6 */ j .L80242358 +/* DBF5F8 80242348 46020000 */ add.s $f0, $f0, $f2 +.L8024234C: +/* DBF5FC 8024234C 4616A002 */ mul.s $f0, $f20, $f22 +/* DBF600 80242350 00000000 */ nop +/* DBF604 80242354 4600D000 */ add.s $f0, $f26, $f0 +.L80242358: +/* DBF608 80242358 E600003C */ swc1 $f0, 0x3c($s0) +/* DBF60C 8024235C 8E220074 */ lw $v0, 0x74($s1) +/* DBF610 80242360 2442000A */ addiu $v0, $v0, 0xa +/* DBF614 80242364 44826000 */ mtc1 $v0, $f12 +/* DBF618 80242368 00000000 */ nop +/* DBF61C 8024236C 0C00A6C9 */ jal clamp_angle +/* DBF620 80242370 46806320 */ cvt.s.w $f12, $f12 +/* DBF624 80242374 4600020D */ trunc.w.s $f8, $f0 +/* DBF628 80242378 E6280074 */ swc1 $f8, 0x74($s1) +.L8024237C: +/* DBF62C 8024237C 8E220090 */ lw $v0, 0x90($s1) +/* DBF630 80242380 1C400040 */ bgtz $v0, .L80242484 +/* DBF634 80242384 2442FFFF */ addiu $v0, $v0, -1 +/* DBF638 80242388 860200A8 */ lh $v0, 0xa8($s0) +/* DBF63C 8024238C C600003C */ lwc1 $f0, 0x3c($s0) +/* DBF640 80242390 44821000 */ mtc1 $v0, $f2 +/* DBF644 80242394 00000000 */ nop +/* DBF648 80242398 468010A0 */ cvt.s.w $f2, $f2 +/* DBF64C 8024239C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBF650 802423A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBF654 802423A4 46020000 */ add.s $f0, $f0, $f2 +/* DBF658 802423A8 3C014024 */ lui $at, 0x4024 +/* DBF65C 802423AC 44812800 */ mtc1 $at, $f5 +/* DBF660 802423B0 44802000 */ mtc1 $zero, $f4 +/* DBF664 802423B4 C442002C */ lwc1 $f2, 0x2c($v0) +/* DBF668 802423B8 46000021 */ cvt.d.s $f0, $f0 +/* DBF66C 802423BC 46240000 */ add.d $f0, $f0, $f4 +/* DBF670 802423C0 460010A1 */ cvt.d.s $f2, $f2 +/* DBF674 802423C4 4620103C */ c.lt.d $f2, $f0 +/* DBF678 802423C8 00000000 */ nop +/* DBF67C 802423CC 4500002E */ bc1f .L80242488 +/* DBF680 802423D0 0280202D */ daddu $a0, $s4, $zero +/* DBF684 802423D4 24020001 */ addiu $v0, $zero, 1 +/* DBF688 802423D8 AFA20010 */ sw $v0, 0x10($sp) +/* DBF68C 802423DC 8E460024 */ lw $a2, 0x24($s2) +/* DBF690 802423E0 8E470028 */ lw $a3, 0x28($s2) +/* DBF694 802423E4 0C01242D */ jal func_800490B4 +/* DBF698 802423E8 0220282D */ daddu $a1, $s1, $zero +/* DBF69C 802423EC 10400026 */ beqz $v0, .L80242488 +/* DBF6A0 802423F0 0000202D */ daddu $a0, $zero, $zero +/* DBF6A4 802423F4 0200282D */ daddu $a1, $s0, $zero +/* DBF6A8 802423F8 0000302D */ daddu $a2, $zero, $zero +/* DBF6AC 802423FC 2412000C */ addiu $s2, $zero, 0xc +/* DBF6B0 80242400 860300A8 */ lh $v1, 0xa8($s0) +/* DBF6B4 80242404 3C013F80 */ lui $at, 0x3f80 +/* DBF6B8 80242408 44810000 */ mtc1 $at, $f0 +/* DBF6BC 8024240C 3C014000 */ lui $at, 0x4000 +/* DBF6C0 80242410 44811000 */ mtc1 $at, $f2 +/* DBF6C4 80242414 3C01C1A0 */ lui $at, 0xc1a0 +/* DBF6C8 80242418 44812000 */ mtc1 $at, $f4 +/* DBF6CC 8024241C 44834000 */ mtc1 $v1, $f8 +/* DBF6D0 80242420 00000000 */ nop +/* DBF6D4 80242424 46804220 */ cvt.s.w $f8, $f8 +/* DBF6D8 80242428 44074000 */ mfc1 $a3, $f8 +/* DBF6DC 8024242C 27A20038 */ addiu $v0, $sp, 0x38 +/* DBF6E0 80242430 AFB2001C */ sw $s2, 0x1c($sp) +/* DBF6E4 80242434 AFA20020 */ sw $v0, 0x20($sp) +/* DBF6E8 80242438 E7A00010 */ swc1 $f0, 0x10($sp) +/* DBF6EC 8024243C E7A20014 */ swc1 $f2, 0x14($sp) +/* DBF6F0 80242440 0C01BFA4 */ jal fx_emote +/* DBF6F4 80242444 E7A40018 */ swc1 $f4, 0x18($sp) +/* DBF6F8 80242448 0200202D */ daddu $a0, $s0, $zero +/* DBF6FC 8024244C 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DBF700 80242450 C480003C */ lwc1 $f0, 0x3c($a0) +/* DBF704 80242454 3C060020 */ lui $a2, 0x20 +/* DBF708 80242458 0C012530 */ jal func_800494C0 +/* DBF70C 8024245C E4800064 */ swc1 $f0, 0x64($a0) +/* DBF710 80242460 8E220018 */ lw $v0, 0x18($s1) +/* DBF714 80242464 9442002A */ lhu $v0, 0x2a($v0) +/* DBF718 80242468 30420001 */ andi $v0, $v0, 1 +/* DBF71C 8024246C 10400003 */ beqz $v0, .L8024247C +/* DBF720 80242470 2402000A */ addiu $v0, $zero, 0xa +/* DBF724 80242474 08090949 */ j .L80242524 +/* DBF728 80242478 AE620070 */ sw $v0, 0x70($s3) +.L8024247C: +/* DBF72C 8024247C 08090949 */ j .L80242524 +/* DBF730 80242480 AE720070 */ sw $s2, 0x70($s3) +.L80242484: +/* DBF734 80242484 AE220090 */ sw $v0, 0x90($s1) +.L80242488: +/* DBF738 80242488 8602008C */ lh $v0, 0x8c($s0) +/* DBF73C 8024248C 14400025 */ bnez $v0, .L80242524 +/* DBF740 80242490 00000000 */ nop +/* DBF744 80242494 8602008E */ lh $v0, 0x8e($s0) +/* DBF748 80242498 1C400022 */ bgtz $v0, .L80242524 +/* DBF74C 8024249C 00000000 */ nop +/* DBF750 802424A0 8E620074 */ lw $v0, 0x74($s3) +/* DBF754 802424A4 2442FFFF */ addiu $v0, $v0, -1 +/* DBF758 802424A8 1840001D */ blez $v0, .L80242520 +/* DBF75C 802424AC AE620074 */ sw $v0, 0x74($s3) +/* DBF760 802424B0 8E220018 */ lw $v0, 0x18($s1) +/* DBF764 802424B4 9442002A */ lhu $v0, 0x2a($v0) +/* DBF768 802424B8 30420010 */ andi $v0, $v0, 0x10 +/* DBF76C 802424BC 14400007 */ bnez $v0, .L802424DC +/* DBF770 802424C0 00000000 */ nop +/* DBF774 802424C4 C600000C */ lwc1 $f0, 0xc($s0) +/* DBF778 802424C8 3C014334 */ lui $at, 0x4334 +/* DBF77C 802424CC 44816000 */ mtc1 $at, $f12 +/* DBF780 802424D0 0C00A6C9 */ jal clamp_angle +/* DBF784 802424D4 460C0300 */ add.s $f12, $f0, $f12 +/* DBF788 802424D8 E600000C */ swc1 $f0, 0xc($s0) +.L802424DC: +/* DBF78C 802424DC 0C00A67F */ jal rand_int +/* DBF790 802424E0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DBF794 802424E4 3C032E8B */ lui $v1, 0x2e8b +/* DBF798 802424E8 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* DBF79C 802424EC 00430018 */ mult $v0, $v1 +/* DBF7A0 802424F0 00021FC3 */ sra $v1, $v0, 0x1f +/* DBF7A4 802424F4 00004010 */ mfhi $t0 +/* DBF7A8 802424F8 00082043 */ sra $a0, $t0, 1 +/* DBF7AC 802424FC 00832023 */ subu $a0, $a0, $v1 +/* DBF7B0 80242500 00041840 */ sll $v1, $a0, 1 +/* DBF7B4 80242504 00641821 */ addu $v1, $v1, $a0 +/* DBF7B8 80242508 00031880 */ sll $v1, $v1, 2 +/* DBF7BC 8024250C 00641823 */ subu $v1, $v1, $a0 +/* DBF7C0 80242510 00431023 */ subu $v0, $v0, $v1 +/* DBF7C4 80242514 24420005 */ addiu $v0, $v0, 5 +/* DBF7C8 80242518 08090949 */ j .L80242524 +/* DBF7CC 8024251C A602008E */ sh $v0, 0x8e($s0) +.L80242520: +/* DBF7D0 80242520 AE600070 */ sw $zero, 0x70($s3) +.L80242524: +/* DBF7D4 80242524 8FBF0054 */ lw $ra, 0x54($sp) +/* DBF7D8 80242528 8FB40050 */ lw $s4, 0x50($sp) +/* DBF7DC 8024252C 8FB3004C */ lw $s3, 0x4c($sp) +/* DBF7E0 80242530 8FB20048 */ lw $s2, 0x48($sp) +/* DBF7E4 80242534 8FB10044 */ lw $s1, 0x44($sp) +/* DBF7E8 80242538 8FB00040 */ lw $s0, 0x40($sp) +/* DBF7EC 8024253C D7BA0070 */ ldc1 $f26, 0x70($sp) +/* DBF7F0 80242540 D7B80068 */ ldc1 $f24, 0x68($sp) +/* DBF7F4 80242544 D7B60060 */ ldc1 $f22, 0x60($sp) +/* DBF7F8 80242548 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DBF7FC 8024254C 03E00008 */ jr $ra +/* DBF800 80242550 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242554_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242554_DBD2B0.s new file mode 100644 index 0000000000..ac8ad9505e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242554_DBD2B0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242554_DBF804 +/* DBF804 80242554 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DBF808 80242558 AFB20018 */ sw $s2, 0x18($sp) +/* DBF80C 8024255C 0080902D */ daddu $s2, $a0, $zero +/* DBF810 80242560 AFBF001C */ sw $ra, 0x1c($sp) +/* DBF814 80242564 AFB10014 */ sw $s1, 0x14($sp) +/* DBF818 80242568 AFB00010 */ sw $s0, 0x10($sp) +/* DBF81C 8024256C 8E510148 */ lw $s1, 0x148($s2) +/* DBF820 80242570 0C00EABB */ jal get_npc_unsafe +/* DBF824 80242574 86240008 */ lh $a0, 8($s1) +/* DBF828 80242578 0040802D */ daddu $s0, $v0, $zero +/* DBF82C 8024257C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBF830 80242580 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBF834 80242584 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBF838 80242588 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBF83C 8024258C A600008E */ sh $zero, 0x8e($s0) +/* DBF840 80242590 8C460028 */ lw $a2, 0x28($v0) +/* DBF844 80242594 0C00A720 */ jal atan2 +/* DBF848 80242598 8C470030 */ lw $a3, 0x30($v0) +/* DBF84C 8024259C E600000C */ swc1 $f0, 0xc($s0) +/* DBF850 802425A0 8E2200CC */ lw $v0, 0xcc($s1) +/* DBF854 802425A4 8C420020 */ lw $v0, 0x20($v0) +/* DBF858 802425A8 AE020028 */ sw $v0, 0x28($s0) +/* DBF85C 802425AC 2402000B */ addiu $v0, $zero, 0xb +/* DBF860 802425B0 AE420070 */ sw $v0, 0x70($s2) +/* DBF864 802425B4 8FBF001C */ lw $ra, 0x1c($sp) +/* DBF868 802425B8 8FB20018 */ lw $s2, 0x18($sp) +/* DBF86C 802425BC 8FB10014 */ lw $s1, 0x14($sp) +/* DBF870 802425C0 8FB00010 */ lw $s0, 0x10($sp) +/* DBF874 802425C4 03E00008 */ jr $ra +/* DBF878 802425C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802425CC.s b/asm/nonmatchings/world/area_omo/omo_07/func_802425CC.s new file mode 100644 index 0000000000..97d76d819b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802425CC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425CC +/* DBF87C 802425CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DBF880 802425D0 AFB00010 */ sw $s0, 0x10($sp) +/* DBF884 802425D4 0080802D */ daddu $s0, $a0, $zero +/* DBF888 802425D8 AFBF0014 */ sw $ra, 0x14($sp) +/* DBF88C 802425DC 8E020148 */ lw $v0, 0x148($s0) +/* DBF890 802425E0 0C00EABB */ jal get_npc_unsafe +/* DBF894 802425E4 84440008 */ lh $a0, 8($v0) +/* DBF898 802425E8 9443008E */ lhu $v1, 0x8e($v0) +/* DBF89C 802425EC C440003C */ lwc1 $f0, 0x3c($v0) +/* DBF8A0 802425F0 24640001 */ addiu $a0, $v1, 1 +/* DBF8A4 802425F4 00031C00 */ sll $v1, $v1, 0x10 +/* DBF8A8 802425F8 00031B83 */ sra $v1, $v1, 0xe +/* DBF8AC 802425FC A444008E */ sh $a0, 0x8e($v0) +/* DBF8B0 80242600 3C018024 */ lui $at, 0x8024 +/* DBF8B4 80242604 00230821 */ addu $at, $at, $v1 +/* DBF8B8 80242608 C4223A14 */ lwc1 $f2, 0x3a14($at) +/* DBF8BC 8024260C 8443008E */ lh $v1, 0x8e($v0) +/* DBF8C0 80242610 46020000 */ add.s $f0, $f0, $f2 +/* DBF8C4 80242614 28630005 */ slti $v1, $v1, 5 +/* DBF8C8 80242618 14600003 */ bnez $v1, .L80242628 +/* DBF8CC 8024261C E440003C */ swc1 $f0, 0x3c($v0) +/* DBF8D0 80242620 2402000C */ addiu $v0, $zero, 0xc +/* DBF8D4 80242624 AE020070 */ sw $v0, 0x70($s0) +.L80242628: +/* DBF8D8 80242628 8FBF0014 */ lw $ra, 0x14($sp) +/* DBF8DC 8024262C 8FB00010 */ lw $s0, 0x10($sp) +/* DBF8E0 80242630 03E00008 */ jr $ra +/* DBF8E4 80242634 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242638.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242638.s new file mode 100644 index 0000000000..dccac581b6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242638.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242638 +/* DBF8E8 80242638 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DBF8EC 8024263C AFB3001C */ sw $s3, 0x1c($sp) +/* DBF8F0 80242640 0080982D */ daddu $s3, $a0, $zero +/* DBF8F4 80242644 AFBF0020 */ sw $ra, 0x20($sp) +/* DBF8F8 80242648 AFB20018 */ sw $s2, 0x18($sp) +/* DBF8FC 8024264C AFB10014 */ sw $s1, 0x14($sp) +/* DBF900 80242650 AFB00010 */ sw $s0, 0x10($sp) +/* DBF904 80242654 8E720148 */ lw $s2, 0x148($s3) +/* DBF908 80242658 86440008 */ lh $a0, 8($s2) +/* DBF90C 8024265C 0C00EABB */ jal get_npc_unsafe +/* DBF910 80242660 00A0802D */ daddu $s0, $a1, $zero +/* DBF914 80242664 0040882D */ daddu $s1, $v0, $zero +/* DBF918 80242668 C6420080 */ lwc1 $f2, 0x80($s2) +/* DBF91C 8024266C 468010A0 */ cvt.s.w $f2, $f2 +/* DBF920 80242670 460010A1 */ cvt.d.s $f2, $f2 +/* DBF924 80242674 C6400084 */ lwc1 $f0, 0x84($s2) +/* DBF928 80242678 46800020 */ cvt.s.w $f0, $f0 +/* DBF92C 8024267C 46000021 */ cvt.d.s $f0, $f0 +/* DBF930 80242680 3C014059 */ lui $at, 0x4059 +/* DBF934 80242684 44812800 */ mtc1 $at, $f5 +/* DBF938 80242688 44802000 */ mtc1 $zero, $f4 +/* DBF93C 8024268C 8E4200CC */ lw $v0, 0xcc($s2) +/* DBF940 80242690 C62C0038 */ lwc1 $f12, 0x38($s1) +/* DBF944 80242694 C62E0040 */ lwc1 $f14, 0x40($s1) +/* DBF948 80242698 46241083 */ div.d $f2, $f2, $f4 +/* DBF94C 8024269C 462010A0 */ cvt.s.d $f2, $f2 +/* DBF950 802426A0 46240003 */ div.d $f0, $f0, $f4 +/* DBF954 802426A4 8C420020 */ lw $v0, 0x20($v0) +/* DBF958 802426A8 46200020 */ cvt.s.d $f0, $f0 +/* DBF95C 802426AC E622001C */ swc1 $f2, 0x1c($s1) +/* DBF960 802426B0 E6200014 */ swc1 $f0, 0x14($s1) +/* DBF964 802426B4 AE220028 */ sw $v0, 0x28($s1) +/* DBF968 802426B8 C6000018 */ lwc1 $f0, 0x18($s0) +/* DBF96C 802426BC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBF970 802426C0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBF974 802426C4 E6200018 */ swc1 $f0, 0x18($s1) +/* DBF978 802426C8 8C460028 */ lw $a2, 0x28($v0) +/* DBF97C 802426CC 0C00A720 */ jal atan2 +/* DBF980 802426D0 8C470030 */ lw $a3, 0x30($v0) +/* DBF984 802426D4 E620000C */ swc1 $f0, 0xc($s1) +/* DBF988 802426D8 8E420018 */ lw $v0, 0x18($s2) +/* DBF98C 802426DC AE400074 */ sw $zero, 0x74($s2) +/* DBF990 802426E0 9442002A */ lhu $v0, 0x2a($v0) +/* DBF994 802426E4 30420002 */ andi $v0, $v0, 2 +/* DBF998 802426E8 10400005 */ beqz $v0, .L80242700 +/* DBF99C 802426EC 24020003 */ addiu $v0, $zero, 3 +/* DBF9A0 802426F0 A622008E */ sh $v0, 0x8e($s1) +/* DBF9A4 802426F4 2402000D */ addiu $v0, $zero, 0xd +/* DBF9A8 802426F8 080909D4 */ j .L80242750 +/* DBF9AC 802426FC AE620070 */ sw $v0, 0x70($s3) +.L80242700: +/* DBF9B0 80242700 24030001 */ addiu $v1, $zero, 1 +/* DBF9B4 80242704 2402000E */ addiu $v0, $zero, 0xe +/* DBF9B8 80242708 A623008E */ sh $v1, 0x8e($s1) +/* DBF9BC 8024270C AE620070 */ sw $v0, 0x70($s3) +/* DBF9C0 80242710 C6200038 */ lwc1 $f0, 0x38($s1) +/* DBF9C4 80242714 4600018D */ trunc.w.s $f6, $f0 +/* DBF9C8 80242718 44023000 */ mfc1 $v0, $f6 +/* DBF9CC 8024271C 00000000 */ nop +/* DBF9D0 80242720 A6420010 */ sh $v0, 0x10($s2) +/* DBF9D4 80242724 C620003C */ lwc1 $f0, 0x3c($s1) +/* DBF9D8 80242728 4600018D */ trunc.w.s $f6, $f0 +/* DBF9DC 8024272C 44023000 */ mfc1 $v0, $f6 +/* DBF9E0 80242730 00000000 */ nop +/* DBF9E4 80242734 A6420012 */ sh $v0, 0x12($s2) +/* DBF9E8 80242738 C6200040 */ lwc1 $f0, 0x40($s1) +/* DBF9EC 8024273C A2430007 */ sb $v1, 7($s2) +/* DBF9F0 80242740 4600018D */ trunc.w.s $f6, $f0 +/* DBF9F4 80242744 44023000 */ mfc1 $v0, $f6 +/* DBF9F8 80242748 00000000 */ nop +/* DBF9FC 8024274C A6420014 */ sh $v0, 0x14($s2) +.L80242750: +/* DBFA00 80242750 8FBF0020 */ lw $ra, 0x20($sp) +/* DBFA04 80242754 8FB3001C */ lw $s3, 0x1c($sp) +/* DBFA08 80242758 8FB20018 */ lw $s2, 0x18($sp) +/* DBFA0C 8024275C 8FB10014 */ lw $s1, 0x14($sp) +/* DBFA10 80242760 8FB00010 */ lw $s0, 0x10($sp) +/* DBFA14 80242764 03E00008 */ jr $ra +/* DBFA18 80242768 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_8024276C.s b/asm/nonmatchings/world/area_omo/omo_07/func_8024276C.s new file mode 100644 index 0000000000..9447f2ac4e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_8024276C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024276C +/* DBFA1C 8024276C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DBFA20 80242770 AFB00010 */ sw $s0, 0x10($sp) +/* DBFA24 80242774 0080802D */ daddu $s0, $a0, $zero +/* DBFA28 80242778 AFBF0014 */ sw $ra, 0x14($sp) +/* DBFA2C 8024277C 8E020148 */ lw $v0, 0x148($s0) +/* DBFA30 80242780 0C00EABB */ jal get_npc_unsafe +/* DBFA34 80242784 84440008 */ lh $a0, 8($v0) +/* DBFA38 80242788 0040202D */ daddu $a0, $v0, $zero +/* DBFA3C 8024278C 8482008E */ lh $v0, 0x8e($a0) +/* DBFA40 80242790 9483008E */ lhu $v1, 0x8e($a0) +/* DBFA44 80242794 18400005 */ blez $v0, .L802427AC +/* DBFA48 80242798 2462FFFF */ addiu $v0, $v1, -1 +/* DBFA4C 8024279C A482008E */ sh $v0, 0x8e($a0) +/* DBFA50 802427A0 00021400 */ sll $v0, $v0, 0x10 +/* DBFA54 802427A4 1C400006 */ bgtz $v0, .L802427C0 +/* DBFA58 802427A8 00000000 */ nop +.L802427AC: +/* DBFA5C 802427AC 8482008C */ lh $v0, 0x8c($a0) +/* DBFA60 802427B0 14400003 */ bnez $v0, .L802427C0 +/* DBFA64 802427B4 2402000E */ addiu $v0, $zero, 0xe +/* DBFA68 802427B8 A480008E */ sh $zero, 0x8e($a0) +/* DBFA6C 802427BC AE020070 */ sw $v0, 0x70($s0) +.L802427C0: +/* DBFA70 802427C0 8FBF0014 */ lw $ra, 0x14($sp) +/* DBFA74 802427C4 8FB00010 */ lw $s0, 0x10($sp) +/* DBFA78 802427C8 03E00008 */ jr $ra +/* DBFA7C 802427CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802427D0_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_802427D0_DBD2B0.s new file mode 100644 index 0000000000..f672b197b8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802427D0_DBD2B0.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427D0_DBFA80 +/* DBFA80 802427D0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DBFA84 802427D4 AFB20030 */ sw $s2, 0x30($sp) +/* DBFA88 802427D8 0080902D */ daddu $s2, $a0, $zero +/* DBFA8C 802427DC AFBF0038 */ sw $ra, 0x38($sp) +/* DBFA90 802427E0 AFB30034 */ sw $s3, 0x34($sp) +/* DBFA94 802427E4 AFB1002C */ sw $s1, 0x2c($sp) +/* DBFA98 802427E8 AFB00028 */ sw $s0, 0x28($sp) +/* DBFA9C 802427EC F7B60048 */ sdc1 $f22, 0x48($sp) +/* DBFAA0 802427F0 F7B40040 */ sdc1 $f20, 0x40($sp) +/* DBFAA4 802427F4 8E510148 */ lw $s1, 0x148($s2) +/* DBFAA8 802427F8 86240008 */ lh $a0, 8($s1) +/* DBFAAC 802427FC 0C00EABB */ jal get_npc_unsafe +/* DBFAB0 80242800 00A0982D */ daddu $s3, $a1, $zero +/* DBFAB4 80242804 0040802D */ daddu $s0, $v0, $zero +/* DBFAB8 80242808 0200202D */ daddu $a0, $s0, $zero +/* DBFABC 8024280C C6220088 */ lwc1 $f2, 0x88($s1) +/* DBFAC0 80242810 468010A0 */ cvt.s.w $f2, $f2 +/* DBFAC4 80242814 460010A1 */ cvt.d.s $f2, $f2 +/* DBFAC8 80242818 C604001C */ lwc1 $f4, 0x1c($s0) +/* DBFACC 8024281C C6000014 */ lwc1 $f0, 0x14($s0) +/* DBFAD0 80242820 8E050018 */ lw $a1, 0x18($s0) +/* DBFAD4 80242824 46002100 */ add.s $f4, $f4, $f0 +/* DBFAD8 80242828 8E06000C */ lw $a2, 0xc($s0) +/* DBFADC 8024282C C6200078 */ lwc1 $f0, 0x78($s1) +/* DBFAE0 80242830 46800020 */ cvt.s.w $f0, $f0 +/* DBFAE4 80242834 E604001C */ swc1 $f4, 0x1c($s0) +/* DBFAE8 80242838 3C014059 */ lui $at, 0x4059 +/* DBFAEC 8024283C 44812800 */ mtc1 $at, $f5 +/* DBFAF0 80242840 44802000 */ mtc1 $zero, $f4 +/* DBFAF4 80242844 46000021 */ cvt.d.s $f0, $f0 +/* DBFAF8 80242848 46240003 */ div.d $f0, $f0, $f4 +/* DBFAFC 8024284C 46200520 */ cvt.s.d $f20, $f0 +/* DBFB00 80242850 46241083 */ div.d $f2, $f2, $f4 +/* DBFB04 80242854 0C00EA95 */ jal npc_move_heading +/* DBFB08 80242858 462015A0 */ cvt.s.d $f22, $f2 +/* DBFB0C 8024285C C604001C */ lwc1 $f4, 0x1c($s0) +/* DBFB10 80242860 44801000 */ mtc1 $zero, $f2 +/* DBFB14 80242864 44801800 */ mtc1 $zero, $f3 +/* DBFB18 80242868 46002021 */ cvt.d.s $f0, $f4 +/* DBFB1C 8024286C 4620103E */ c.le.d $f2, $f0 +/* DBFB20 80242870 00000000 */ nop +/* DBFB24 80242874 45000030 */ bc1f .L80242938 +/* DBFB28 80242878 00000000 */ nop +/* DBFB2C 8024287C C600003C */ lwc1 $f0, 0x3c($s0) +/* DBFB30 80242880 46040000 */ add.s $f0, $f0, $f4 +/* DBFB34 80242884 E600003C */ swc1 $f0, 0x3c($s0) +/* DBFB38 80242888 8E2200CC */ lw $v0, 0xcc($s1) +/* DBFB3C 8024288C 8C420024 */ lw $v0, 0x24($v0) +/* DBFB40 80242890 AE020028 */ sw $v0, 0x28($s0) +/* DBFB44 80242894 A2200007 */ sb $zero, 7($s1) +/* DBFB48 80242898 8E020000 */ lw $v0, ($s0) +/* DBFB4C 8024289C 30420008 */ andi $v0, $v0, 8 +/* DBFB50 802428A0 14400011 */ bnez $v0, .L802428E8 +/* DBFB54 802428A4 0000102D */ daddu $v0, $zero, $zero +/* DBFB58 802428A8 27A50018 */ addiu $a1, $sp, 0x18 +/* DBFB5C 802428AC 27A6001C */ addiu $a2, $sp, 0x1c +/* DBFB60 802428B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* DBFB64 802428B4 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBFB68 802428B8 C6040040 */ lwc1 $f4, 0x40($s0) +/* DBFB6C 802428BC 3C01447A */ lui $at, 0x447a +/* DBFB70 802428C0 44813000 */ mtc1 $at, $f6 +/* DBFB74 802428C4 27A20024 */ addiu $v0, $sp, 0x24 +/* DBFB78 802428C8 E7A00018 */ swc1 $f0, 0x18($sp) +/* DBFB7C 802428CC E7A2001C */ swc1 $f2, 0x1c($sp) +/* DBFB80 802428D0 E7A40020 */ swc1 $f4, 0x20($sp) +/* DBFB84 802428D4 E7A60024 */ swc1 $f6, 0x24($sp) +/* DBFB88 802428D8 AFA20010 */ sw $v0, 0x10($sp) +/* DBFB8C 802428DC 8E040080 */ lw $a0, 0x80($s0) +/* DBFB90 802428E0 0C0372DF */ jal func_800DCB7C +/* DBFB94 802428E4 27A70020 */ addiu $a3, $sp, 0x20 +.L802428E8: +/* DBFB98 802428E8 1040000B */ beqz $v0, .L80242918 +/* DBFB9C 802428EC 00000000 */ nop +/* DBFBA0 802428F0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DBFBA4 802428F4 46140080 */ add.s $f2, $f0, $f20 +/* DBFBA8 802428F8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBFBAC 802428FC 4600103E */ c.le.s $f2, $f0 +/* DBFBB0 80242900 00000000 */ nop +/* DBFBB4 80242904 4500008D */ bc1f .L80242B3C +/* DBFBB8 80242908 00000000 */ nop +/* DBFBBC 8024290C E602003C */ swc1 $f2, 0x3c($s0) +/* DBFBC0 80242910 08090ACF */ j .L80242B3C +/* DBFBC4 80242914 AE400070 */ sw $zero, 0x70($s2) +.L80242918: +/* DBFBC8 80242918 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBFBCC 8024291C C6000064 */ lwc1 $f0, 0x64($s0) +/* DBFBD0 80242920 4602003E */ c.le.s $f0, $f2 +/* DBFBD4 80242924 00000000 */ nop +/* DBFBD8 80242928 45030084 */ bc1tl .L80242B3C +/* DBFBDC 8024292C AE400070 */ sw $zero, 0x70($s2) +/* DBFBE0 80242930 08090ACF */ j .L80242B3C +/* DBFBE4 80242934 00000000 */ nop +.L80242938: +/* DBFBE8 80242938 4622003C */ c.lt.d $f0, $f2 +/* DBFBEC 8024293C 00000000 */ nop +/* DBFBF0 80242940 4500007E */ bc1f .L80242B3C +/* DBFBF4 80242944 00000000 */ nop +/* DBFBF8 80242948 9602008E */ lhu $v0, 0x8e($s0) +/* DBFBFC 8024294C 24420001 */ addiu $v0, $v0, 1 +/* DBFC00 80242950 A602008E */ sh $v0, 0x8e($s0) +/* DBFC04 80242954 00021400 */ sll $v0, $v0, 0x10 +/* DBFC08 80242958 8E630020 */ lw $v1, 0x20($s3) +/* DBFC0C 8024295C 00021403 */ sra $v0, $v0, 0x10 +/* DBFC10 80242960 0043102A */ slt $v0, $v0, $v1 +/* DBFC14 80242964 14400026 */ bnez $v0, .L80242A00 +/* DBFC18 80242968 00000000 */ nop +/* DBFC1C 8024296C C60C0038 */ lwc1 $f12, 0x38($s0) +/* DBFC20 80242970 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DBFC24 80242974 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DBFC28 80242978 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DBFC2C 8024297C A600008E */ sh $zero, 0x8e($s0) +/* DBFC30 80242980 8C460028 */ lw $a2, 0x28($v0) +/* DBFC34 80242984 0C00A720 */ jal atan2 +/* DBFC38 80242988 8C470030 */ lw $a3, 0x30($v0) +/* DBFC3C 8024298C 46000506 */ mov.s $f20, $f0 +/* DBFC40 80242990 C60C000C */ lwc1 $f12, 0xc($s0) +/* DBFC44 80242994 0C00A70A */ jal get_clamped_angle_diff +/* DBFC48 80242998 4600A386 */ mov.s $f14, $f20 +/* DBFC4C 8024299C 46000086 */ mov.s $f2, $f0 +/* DBFC50 802429A0 8E62001C */ lw $v0, 0x1c($s3) +/* DBFC54 802429A4 46001005 */ abs.s $f0, $f2 +/* DBFC58 802429A8 44822000 */ mtc1 $v0, $f4 +/* DBFC5C 802429AC 00000000 */ nop +/* DBFC60 802429B0 46802120 */ cvt.s.w $f4, $f4 +/* DBFC64 802429B4 4600203C */ c.lt.s $f4, $f0 +/* DBFC68 802429B8 00000000 */ nop +/* DBFC6C 802429BC 4500000D */ bc1f .L802429F4 +/* DBFC70 802429C0 00000000 */ nop +/* DBFC74 802429C4 44800000 */ mtc1 $zero, $f0 +/* DBFC78 802429C8 C614000C */ lwc1 $f20, 0xc($s0) +/* DBFC7C 802429CC 4600103C */ c.lt.s $f2, $f0 +/* DBFC80 802429D0 00000000 */ nop +/* DBFC84 802429D4 45000006 */ bc1f .L802429F0 +/* DBFC88 802429D8 00021023 */ negu $v0, $v0 +/* DBFC8C 802429DC 44820000 */ mtc1 $v0, $f0 +/* DBFC90 802429E0 00000000 */ nop +/* DBFC94 802429E4 46800020 */ cvt.s.w $f0, $f0 +/* DBFC98 802429E8 08090A7D */ j .L802429F4 +/* DBFC9C 802429EC 4600A500 */ add.s $f20, $f20, $f0 +.L802429F0: +/* DBFCA0 802429F0 4604A500 */ add.s $f20, $f20, $f4 +.L802429F4: +/* DBFCA4 802429F4 0C00A6C9 */ jal clamp_angle +/* DBFCA8 802429F8 4600A306 */ mov.s $f12, $f20 +/* DBFCAC 802429FC E600000C */ swc1 $f0, 0xc($s0) +.L80242A00: +/* DBFCB0 80242A00 8E020000 */ lw $v0, ($s0) +/* DBFCB4 80242A04 30420008 */ andi $v0, $v0, 8 +/* DBFCB8 80242A08 1040000A */ beqz $v0, .L80242A34 +/* DBFCBC 80242A0C 27A50018 */ addiu $a1, $sp, 0x18 +/* DBFCC0 80242A10 C602003C */ lwc1 $f2, 0x3c($s0) +/* DBFCC4 80242A14 C600001C */ lwc1 $f0, 0x1c($s0) +/* DBFCC8 80242A18 46001080 */ add.s $f2, $f2, $f0 +/* DBFCCC 80242A1C 4616103C */ c.lt.s $f2, $f22 +/* DBFCD0 80242A20 00000000 */ nop +/* DBFCD4 80242A24 45020045 */ bc1fl .L80242B3C +/* DBFCD8 80242A28 E602003C */ swc1 $f2, 0x3c($s0) +/* DBFCDC 80242A2C 08090ACE */ j .L80242B38 +/* DBFCE0 80242A30 E616003C */ swc1 $f22, 0x3c($s0) +.L80242A34: +/* DBFCE4 80242A34 C6000038 */ lwc1 $f0, 0x38($s0) +/* DBFCE8 80242A38 27A6001C */ addiu $a2, $sp, 0x1c +/* DBFCEC 80242A3C E7A00018 */ swc1 $f0, 0x18($sp) +/* DBFCF0 80242A40 860200A8 */ lh $v0, 0xa8($s0) +/* DBFCF4 80242A44 C600001C */ lwc1 $f0, 0x1c($s0) +/* DBFCF8 80242A48 C604003C */ lwc1 $f4, 0x3c($s0) +/* DBFCFC 80242A4C 44821000 */ mtc1 $v0, $f2 +/* DBFD00 80242A50 00000000 */ nop +/* DBFD04 80242A54 468010A0 */ cvt.s.w $f2, $f2 +/* DBFD08 80242A58 46000005 */ abs.s $f0, $f0 +/* DBFD0C 80242A5C 46020000 */ add.s $f0, $f0, $f2 +/* DBFD10 80242A60 C6060040 */ lwc1 $f6, 0x40($s0) +/* DBFD14 80242A64 27A20024 */ addiu $v0, $sp, 0x24 +/* DBFD18 80242A68 46022100 */ add.s $f4, $f4, $f2 +/* DBFD1C 80242A6C 3C014024 */ lui $at, 0x4024 +/* DBFD20 80242A70 44811800 */ mtc1 $at, $f3 +/* DBFD24 80242A74 44801000 */ mtc1 $zero, $f2 +/* DBFD28 80242A78 46000021 */ cvt.d.s $f0, $f0 +/* DBFD2C 80242A7C 46220000 */ add.d $f0, $f0, $f2 +/* DBFD30 80242A80 E7A60020 */ swc1 $f6, 0x20($sp) +/* DBFD34 80242A84 E7A4001C */ swc1 $f4, 0x1c($sp) +/* DBFD38 80242A88 46200020 */ cvt.s.d $f0, $f0 +/* DBFD3C 80242A8C E7A00024 */ swc1 $f0, 0x24($sp) +/* DBFD40 80242A90 AFA20010 */ sw $v0, 0x10($sp) +/* DBFD44 80242A94 8E040080 */ lw $a0, 0x80($s0) +/* DBFD48 80242A98 0C0372DF */ jal func_800DCB7C +/* DBFD4C 80242A9C 27A70020 */ addiu $a3, $sp, 0x20 +/* DBFD50 80242AA0 10400015 */ beqz $v0, .L80242AF8 +/* DBFD54 80242AA4 00000000 */ nop +/* DBFD58 80242AA8 860200A8 */ lh $v0, 0xa8($s0) +/* DBFD5C 80242AAC C604001C */ lwc1 $f4, 0x1c($s0) +/* DBFD60 80242AB0 44820000 */ mtc1 $v0, $f0 +/* DBFD64 80242AB4 00000000 */ nop +/* DBFD68 80242AB8 46800020 */ cvt.s.w $f0, $f0 +/* DBFD6C 80242ABC 46002085 */ abs.s $f2, $f4 +/* DBFD70 80242AC0 46020000 */ add.s $f0, $f0, $f2 +/* DBFD74 80242AC4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DBFD78 80242AC8 4600103E */ c.le.s $f2, $f0 +/* DBFD7C 80242ACC 00000000 */ nop +/* DBFD80 80242AD0 45000005 */ bc1f .L80242AE8 +/* DBFD84 80242AD4 00000000 */ nop +/* DBFD88 80242AD8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DBFD8C 80242ADC AE00001C */ sw $zero, 0x1c($s0) +/* DBFD90 80242AE0 08090ACF */ j .L80242B3C +/* DBFD94 80242AE4 E600003C */ swc1 $f0, 0x3c($s0) +.L80242AE8: +/* DBFD98 80242AE8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DBFD9C 80242AEC 46040000 */ add.s $f0, $f0, $f4 +/* DBFDA0 80242AF0 08090ACF */ j .L80242B3C +/* DBFDA4 80242AF4 E600003C */ swc1 $f0, 0x3c($s0) +.L80242AF8: +/* DBFDA8 80242AF8 C606003C */ lwc1 $f6, 0x3c($s0) +/* DBFDAC 80242AFC 860200A8 */ lh $v0, 0xa8($s0) +/* DBFDB0 80242B00 46163081 */ sub.s $f2, $f6, $f22 +/* DBFDB4 80242B04 44820000 */ mtc1 $v0, $f0 +/* DBFDB8 80242B08 00000000 */ nop +/* DBFDBC 80242B0C 46800020 */ cvt.s.w $f0, $f0 +/* DBFDC0 80242B10 46001080 */ add.s $f2, $f2, $f0 +/* DBFDC4 80242B14 C604001C */ lwc1 $f4, 0x1c($s0) +/* DBFDC8 80242B18 46002005 */ abs.s $f0, $f4 +/* DBFDCC 80242B1C 4602003C */ c.lt.s $f0, $f2 +/* DBFDD0 80242B20 00000000 */ nop +/* DBFDD4 80242B24 45020005 */ bc1fl .L80242B3C +/* DBFDD8 80242B28 AE00001C */ sw $zero, 0x1c($s0) +/* DBFDDC 80242B2C 46043000 */ add.s $f0, $f6, $f4 +/* DBFDE0 80242B30 08090ACF */ j .L80242B3C +/* DBFDE4 80242B34 E600003C */ swc1 $f0, 0x3c($s0) +.L80242B38: +/* DBFDE8 80242B38 AE00001C */ sw $zero, 0x1c($s0) +.L80242B3C: +/* DBFDEC 80242B3C 8FBF0038 */ lw $ra, 0x38($sp) +/* DBFDF0 80242B40 8FB30034 */ lw $s3, 0x34($sp) +/* DBFDF4 80242B44 8FB20030 */ lw $s2, 0x30($sp) +/* DBFDF8 80242B48 8FB1002C */ lw $s1, 0x2c($sp) +/* DBFDFC 80242B4C 8FB00028 */ lw $s0, 0x28($sp) +/* DBFE00 80242B50 D7B60048 */ ldc1 $f22, 0x48($sp) +/* DBFE04 80242B54 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DBFE08 80242B58 03E00008 */ jr $ra +/* DBFE0C 80242B5C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242B60.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242B60.s new file mode 100644 index 0000000000..0278c8faf8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242B60.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242B60 +/* DBFE10 80242B60 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DBFE14 80242B64 AFB00028 */ sw $s0, 0x28($sp) +/* DBFE18 80242B68 00A0802D */ daddu $s0, $a1, $zero +/* DBFE1C 80242B6C AFB1002C */ sw $s1, 0x2c($sp) +/* DBFE20 80242B70 00C0882D */ daddu $s1, $a2, $zero +/* DBFE24 80242B74 AFBF0034 */ sw $ra, 0x34($sp) +/* DBFE28 80242B78 AFB20030 */ sw $s2, 0x30($sp) +/* DBFE2C 80242B7C AE200070 */ sw $zero, 0x70($s1) +/* DBFE30 80242B80 8C830000 */ lw $v1, ($a0) +/* DBFE34 80242B84 2402FDFF */ addiu $v0, $zero, -0x201 +/* DBFE38 80242B88 A480008E */ sh $zero, 0x8e($a0) +/* DBFE3C 80242B8C 00621824 */ and $v1, $v1, $v0 +/* DBFE40 80242B90 34650800 */ ori $a1, $v1, 0x800 +/* DBFE44 80242B94 AC850000 */ sw $a1, ($a0) +/* DBFE48 80242B98 8E0200D0 */ lw $v0, 0xd0($s0) +/* DBFE4C 80242B9C 8C420034 */ lw $v0, 0x34($v0) +/* DBFE50 80242BA0 10400003 */ beqz $v0, .L80242BB0 +/* DBFE54 80242BA4 00E0902D */ daddu $s2, $a3, $zero +/* DBFE58 80242BA8 08090AEE */ j .L80242BB8 +/* DBFE5C 80242BAC 34620808 */ ori $v0, $v1, 0x808 +.L80242BB0: +/* DBFE60 80242BB0 2402FFF7 */ addiu $v0, $zero, -9 +/* DBFE64 80242BB4 00A21024 */ and $v0, $a1, $v0 +.L80242BB8: +/* DBFE68 80242BB8 AC820000 */ sw $v0, ($a0) +/* DBFE6C 80242BBC 27A20024 */ addiu $v0, $sp, 0x24 +/* DBFE70 80242BC0 27A50018 */ addiu $a1, $sp, 0x18 +/* DBFE74 80242BC4 C4800038 */ lwc1 $f0, 0x38($a0) +/* DBFE78 80242BC8 C482003C */ lwc1 $f2, 0x3c($a0) +/* DBFE7C 80242BCC C4840040 */ lwc1 $f4, 0x40($a0) +/* DBFE80 80242BD0 3C01447A */ lui $at, 0x447a +/* DBFE84 80242BD4 44813000 */ mtc1 $at, $f6 +/* DBFE88 80242BD8 27A6001C */ addiu $a2, $sp, 0x1c +/* DBFE8C 80242BDC E7A00018 */ swc1 $f0, 0x18($sp) +/* DBFE90 80242BE0 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DBFE94 80242BE4 E7A40020 */ swc1 $f4, 0x20($sp) +/* DBFE98 80242BE8 E7A60024 */ swc1 $f6, 0x24($sp) +/* DBFE9C 80242BEC AFA20010 */ sw $v0, 0x10($sp) +/* DBFEA0 80242BF0 8C840080 */ lw $a0, 0x80($a0) +/* DBFEA4 80242BF4 0C0372DF */ jal func_800DCB7C +/* DBFEA8 80242BF8 27A70020 */ addiu $a3, $sp, 0x20 +/* DBFEAC 80242BFC C7A20024 */ lwc1 $f2, 0x24($sp) +/* DBFEB0 80242C00 3C014059 */ lui $at, 0x4059 +/* DBFEB4 80242C04 44812800 */ mtc1 $at, $f5 +/* DBFEB8 80242C08 44802000 */ mtc1 $zero, $f4 +/* DBFEBC 80242C0C 460010A1 */ cvt.d.s $f2, $f2 +/* DBFEC0 80242C10 46241082 */ mul.d $f2, $f2, $f4 +/* DBFEC4 80242C14 00000000 */ nop +/* DBFEC8 80242C18 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DBFECC 80242C1C 46000021 */ cvt.d.s $f0, $f0 +/* DBFED0 80242C20 46240002 */ mul.d $f0, $f0, $f4 +/* DBFED4 80242C24 00000000 */ nop +/* DBFED8 80242C28 3C013FE0 */ lui $at, 0x3fe0 +/* DBFEDC 80242C2C 44812800 */ mtc1 $at, $f5 +/* DBFEE0 80242C30 44802000 */ mtc1 $zero, $f4 +/* DBFEE4 80242C34 00000000 */ nop +/* DBFEE8 80242C38 46241080 */ add.d $f2, $f2, $f4 +/* DBFEEC 80242C3C AE000074 */ sw $zero, 0x74($s0) +/* DBFEF0 80242C40 46240000 */ add.d $f0, $f0, $f4 +/* DBFEF4 80242C44 AE000090 */ sw $zero, 0x90($s0) +/* DBFEF8 80242C48 4620120D */ trunc.w.d $f8, $f2 +/* DBFEFC 80242C4C E6080078 */ swc1 $f8, 0x78($s0) +/* DBFF00 80242C50 4620020D */ trunc.w.d $f8, $f0 +/* DBFF04 80242C54 E6080088 */ swc1 $f8, 0x88($s0) +/* DBFF08 80242C58 8E420014 */ lw $v0, 0x14($s2) +/* DBFF0C 80242C5C AE220074 */ sw $v0, 0x74($s1) +/* DBFF10 80242C60 8E0200B0 */ lw $v0, 0xb0($s0) +/* DBFF14 80242C64 34420010 */ ori $v0, $v0, 0x10 +/* DBFF18 80242C68 AE0200B0 */ sw $v0, 0xb0($s0) +/* DBFF1C 80242C6C 8FBF0034 */ lw $ra, 0x34($sp) +/* DBFF20 80242C70 8FB20030 */ lw $s2, 0x30($sp) +/* DBFF24 80242C74 8FB1002C */ lw $s1, 0x2c($sp) +/* DBFF28 80242C78 8FB00028 */ lw $s0, 0x28($sp) +/* DBFF2C 80242C7C 03E00008 */ jr $ra +/* DBFF30 80242C80 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242C84_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242C84_DBD2B0.s new file mode 100644 index 0000000000..72362ae6a1 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242C84_DBD2B0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C84_DBFF34 +/* DBFF34 80242C84 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DBFF38 80242C88 AFB40040 */ sw $s4, 0x40($sp) +/* DBFF3C 80242C8C 0080A02D */ daddu $s4, $a0, $zero +/* DBFF40 80242C90 AFBF0048 */ sw $ra, 0x48($sp) +/* DBFF44 80242C94 AFB50044 */ sw $s5, 0x44($sp) +/* DBFF48 80242C98 AFB3003C */ sw $s3, 0x3c($sp) +/* DBFF4C 80242C9C AFB20038 */ sw $s2, 0x38($sp) +/* DBFF50 80242CA0 AFB10034 */ sw $s1, 0x34($sp) +/* DBFF54 80242CA4 AFB00030 */ sw $s0, 0x30($sp) +/* DBFF58 80242CA8 8E920148 */ lw $s2, 0x148($s4) +/* DBFF5C 80242CAC 86440008 */ lh $a0, 8($s2) +/* DBFF60 80242CB0 8E90000C */ lw $s0, 0xc($s4) +/* DBFF64 80242CB4 0C00EABB */ jal get_npc_unsafe +/* DBFF68 80242CB8 00A0882D */ daddu $s1, $a1, $zero +/* DBFF6C 80242CBC 0280202D */ daddu $a0, $s4, $zero +/* DBFF70 80242CC0 8E050000 */ lw $a1, ($s0) +/* DBFF74 80242CC4 0C0B1EAF */ jal get_variable +/* DBFF78 80242CC8 0040A82D */ daddu $s5, $v0, $zero +/* DBFF7C 80242CCC AFA00010 */ sw $zero, 0x10($sp) +/* DBFF80 80242CD0 8E4300D0 */ lw $v1, 0xd0($s2) +/* DBFF84 80242CD4 8C630030 */ lw $v1, 0x30($v1) +/* DBFF88 80242CD8 AFA30014 */ sw $v1, 0x14($sp) +/* DBFF8C 80242CDC 8E4300D0 */ lw $v1, 0xd0($s2) +/* DBFF90 80242CE0 8C63001C */ lw $v1, 0x1c($v1) +/* DBFF94 80242CE4 AFA30018 */ sw $v1, 0x18($sp) +/* DBFF98 80242CE8 8E4300D0 */ lw $v1, 0xd0($s2) +/* DBFF9C 80242CEC 8C630024 */ lw $v1, 0x24($v1) +/* DBFFA0 80242CF0 AFA3001C */ sw $v1, 0x1c($sp) +/* DBFFA4 80242CF4 8E4300D0 */ lw $v1, 0xd0($s2) +/* DBFFA8 80242CF8 8C630028 */ lw $v1, 0x28($v1) +/* DBFFAC 80242CFC 27B30010 */ addiu $s3, $sp, 0x10 +/* DBFFB0 80242D00 AFA30020 */ sw $v1, 0x20($sp) +/* DBFFB4 80242D04 8E4300D0 */ lw $v1, 0xd0($s2) +/* DBFFB8 80242D08 3C0142F0 */ lui $at, 0x42f0 +/* DBFFBC 80242D0C 44810000 */ mtc1 $at, $f0 +/* DBFFC0 80242D10 8C63002C */ lw $v1, 0x2c($v1) +/* DBFFC4 80242D14 0040802D */ daddu $s0, $v0, $zero +/* DBFFC8 80242D18 E7A00028 */ swc1 $f0, 0x28($sp) +/* DBFFCC 80242D1C A7A0002C */ sh $zero, 0x2c($sp) +/* DBFFD0 80242D20 12200006 */ beqz $s1, .L80242D3C +/* DBFFD4 80242D24 AFA30024 */ sw $v1, 0x24($sp) +/* DBFFD8 80242D28 02A0202D */ daddu $a0, $s5, $zero +/* DBFFDC 80242D2C 0240282D */ daddu $a1, $s2, $zero +/* DBFFE0 80242D30 0280302D */ daddu $a2, $s4, $zero +/* DBFFE4 80242D34 0C090AD8 */ jal func_80242B60 +/* DBFFE8 80242D38 0200382D */ daddu $a3, $s0, $zero +.L80242D3C: +/* DBFFEC 80242D3C 2402FFFE */ addiu $v0, $zero, -2 +/* DBFFF0 80242D40 A2A200AB */ sb $v0, 0xab($s5) +/* DBFFF4 80242D44 8E4300B0 */ lw $v1, 0xb0($s2) +/* DBFFF8 80242D48 30620004 */ andi $v0, $v1, 4 +/* DBFFFC 80242D4C 10400007 */ beqz $v0, .L80242D6C +/* DC0000 80242D50 00000000 */ nop +/* DC0004 80242D54 824200B4 */ lb $v0, 0xb4($s2) +/* DC0008 80242D58 1440003C */ bnez $v0, .L80242E4C +/* DC000C 80242D5C 0000102D */ daddu $v0, $zero, $zero +/* DC0010 80242D60 2402FFFB */ addiu $v0, $zero, -5 +/* DC0014 80242D64 00621024 */ and $v0, $v1, $v0 +/* DC0018 80242D68 AE4200B0 */ sw $v0, 0xb0($s2) +.L80242D6C: +/* DC001C 80242D6C 8E830070 */ lw $v1, 0x70($s4) +/* DC0020 80242D70 2C62000F */ sltiu $v0, $v1, 0xf +/* DC0024 80242D74 10400034 */ beqz $v0, .L80242E48 +/* DC0028 80242D78 00031080 */ sll $v0, $v1, 2 +/* DC002C 80242D7C 3C018024 */ lui $at, 0x8024 +/* DC0030 80242D80 00220821 */ addu $at, $at, $v0 +/* DC0034 80242D84 8C2270C8 */ lw $v0, 0x70c8($at) +/* DC0038 80242D88 00400008 */ jr $v0 +/* DC003C 80242D8C 00000000 */ nop +/* DC0040 80242D90 0280202D */ daddu $a0, $s4, $zero +/* DC0044 80242D94 0200282D */ daddu $a1, $s0, $zero +/* DC0048 80242D98 0C09065E */ jal func_80241978 +/* DC004C 80242D9C 0260302D */ daddu $a2, $s3, $zero +/* DC0050 80242DA0 0280202D */ daddu $a0, $s4, $zero +/* DC0054 80242DA4 0200282D */ daddu $a1, $s0, $zero +/* DC0058 80242DA8 0C0906CA */ jal func_80241B28 +/* DC005C 80242DAC 0260302D */ daddu $a2, $s3, $zero +/* DC0060 80242DB0 08090B93 */ j .L80242E4C +/* DC0064 80242DB4 0000102D */ daddu $v0, $zero, $zero +/* DC0068 80242DB8 0280202D */ daddu $a0, $s4, $zero +/* DC006C 80242DBC 0200282D */ daddu $a1, $s0, $zero +/* DC0070 80242DC0 0C090854 */ jal func_80242150 +/* DC0074 80242DC4 0260302D */ daddu $a2, $s3, $zero +/* DC0078 80242DC8 0280202D */ daddu $a0, $s4, $zero +/* DC007C 80242DCC 0200282D */ daddu $a1, $s0, $zero +/* DC0080 80242DD0 0C090884 */ jal func_80242210 +/* DC0084 80242DD4 0260302D */ daddu $a2, $s3, $zero +/* DC0088 80242DD8 08090B93 */ j .L80242E4C +/* DC008C 80242DDC 0000102D */ daddu $v0, $zero, $zero +/* DC0090 80242DE0 0280202D */ daddu $a0, $s4, $zero +/* DC0094 80242DE4 0200282D */ daddu $a1, $s0, $zero +/* DC0098 80242DE8 0C090955 */ jal func_80242554 +/* DC009C 80242DEC 0260302D */ daddu $a2, $s3, $zero +/* DC00A0 80242DF0 0280202D */ daddu $a0, $s4, $zero +/* DC00A4 80242DF4 0200282D */ daddu $a1, $s0, $zero +/* DC00A8 80242DF8 0C090973 */ jal func_802425CC +/* DC00AC 80242DFC 0260302D */ daddu $a2, $s3, $zero +/* DC00B0 80242E00 08090B93 */ j .L80242E4C +/* DC00B4 80242E04 0000102D */ daddu $v0, $zero, $zero +/* DC00B8 80242E08 0280202D */ daddu $a0, $s4, $zero +/* DC00BC 80242E0C 0200282D */ daddu $a1, $s0, $zero +/* DC00C0 80242E10 0C09098E */ jal func_80242638 +/* DC00C4 80242E14 0260302D */ daddu $a2, $s3, $zero +/* DC00C8 80242E18 08090B93 */ j .L80242E4C +/* DC00CC 80242E1C 0000102D */ daddu $v0, $zero, $zero +/* DC00D0 80242E20 0280202D */ daddu $a0, $s4, $zero +/* DC00D4 80242E24 0200282D */ daddu $a1, $s0, $zero +/* DC00D8 80242E28 0C0909DB */ jal func_8024276C +/* DC00DC 80242E2C 0260302D */ daddu $a2, $s3, $zero +/* DC00E0 80242E30 08090B93 */ j .L80242E4C +/* DC00E4 80242E34 0000102D */ daddu $v0, $zero, $zero +/* DC00E8 80242E38 0280202D */ daddu $a0, $s4, $zero +/* DC00EC 80242E3C 0200282D */ daddu $a1, $s0, $zero +/* DC00F0 80242E40 0C0909F4 */ jal func_802427D0 +/* DC00F4 80242E44 0260302D */ daddu $a2, $s3, $zero +.L80242E48: +/* DC00F8 80242E48 0000102D */ daddu $v0, $zero, $zero +.L80242E4C: +/* DC00FC 80242E4C 8FBF0048 */ lw $ra, 0x48($sp) +/* DC0100 80242E50 8FB50044 */ lw $s5, 0x44($sp) +/* DC0104 80242E54 8FB40040 */ lw $s4, 0x40($sp) +/* DC0108 80242E58 8FB3003C */ lw $s3, 0x3c($sp) +/* DC010C 80242E5C 8FB20038 */ lw $s2, 0x38($sp) +/* DC0110 80242E60 8FB10034 */ lw $s1, 0x34($sp) +/* DC0114 80242E64 8FB00030 */ lw $s0, 0x30($sp) +/* DC0118 80242E68 03E00008 */ jr $ra +/* DC011C 80242E6C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242E70.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242E70.s new file mode 100644 index 0000000000..5b98555f3e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242E70.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E70 +/* DC0120 80242E70 3C03800B */ lui $v1, %hi(gCameras) +/* DC0124 80242E74 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DC0128 80242E78 94620000 */ lhu $v0, ($v1) +/* DC012C 80242E7C 34421000 */ ori $v0, $v0, 0x1000 +/* DC0130 80242E80 A4620000 */ sh $v0, ($v1) +/* DC0134 80242E84 03E00008 */ jr $ra +/* DC0138 80242E88 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242E8C.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242E8C.s new file mode 100644 index 0000000000..e79117421b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242E8C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242E8C +/* DC013C 80242E8C 3C03800B */ lui $v1, %hi(gCameras) +/* DC0140 80242E90 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DC0144 80242E94 94620000 */ lhu $v0, ($v1) +/* DC0148 80242E98 3042EFFF */ andi $v0, $v0, 0xefff +/* DC014C 80242E9C A4620000 */ sh $v0, ($v1) +/* DC0150 80242EA0 03E00008 */ jr $ra +/* DC0154 80242EA4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242EA8_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242EA8_DBD2B0.s new file mode 100644 index 0000000000..83a14db9f0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242EA8_DBD2B0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242EA8_DC0158 +/* DC0158 80242EA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC015C 80242EAC AFB20018 */ sw $s2, 0x18($sp) +/* DC0160 80242EB0 0080902D */ daddu $s2, $a0, $zero +/* DC0164 80242EB4 AFB10014 */ sw $s1, 0x14($sp) +/* DC0168 80242EB8 3C11F971 */ lui $s1, 0xf971 +/* DC016C 80242EBC AFBF001C */ sw $ra, 0x1c($sp) +/* DC0170 80242EC0 AFB00010 */ sw $s0, 0x10($sp) +/* DC0174 80242EC4 8E50000C */ lw $s0, 0xc($s2) +/* DC0178 80242EC8 36318887 */ ori $s1, $s1, 0x8887 +/* DC017C 80242ECC 8E050000 */ lw $a1, ($s0) +/* DC0180 80242ED0 0C0B1EAF */ jal get_variable +/* DC0184 80242ED4 26100004 */ addiu $s0, $s0, 4 +/* DC0188 80242ED8 00518821 */ addu $s1, $v0, $s1 +/* DC018C 80242EDC 8E050000 */ lw $a1, ($s0) +/* DC0190 80242EE0 0C0B1EAF */ jal get_variable +/* DC0194 80242EE4 0240202D */ daddu $a0, $s2, $zero +/* DC0198 80242EE8 0240202D */ daddu $a0, $s2, $zero +/* DC019C 80242EEC 0220282D */ daddu $a1, $s1, $zero +/* DC01A0 80242EF0 0C0B2026 */ jal set_variable +/* DC01A4 80242EF4 0040302D */ daddu $a2, $v0, $zero +/* DC01A8 80242EF8 8FBF001C */ lw $ra, 0x1c($sp) +/* DC01AC 80242EFC 8FB20018 */ lw $s2, 0x18($sp) +/* DC01B0 80242F00 8FB10014 */ lw $s1, 0x14($sp) +/* DC01B4 80242F04 8FB00010 */ lw $s0, 0x10($sp) +/* DC01B8 80242F08 24020002 */ addiu $v0, $zero, 2 +/* DC01BC 80242F0C 03E00008 */ jr $ra +/* DC01C0 80242F10 27BD0020 */ addiu $sp, $sp, 0x20 +/* DC01C4 80242F14 00000000 */ nop +/* DC01C8 80242F18 00000000 */ nop +/* DC01CC 80242F1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242F20.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242F20.s new file mode 100644 index 0000000000..0c09434e18 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242F20.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F20 +/* DC01D0 80242F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC01D4 80242F24 AFB00010 */ sw $s0, 0x10($sp) +/* DC01D8 80242F28 3C108024 */ lui $s0, 0x8024 +/* DC01DC 80242F2C 26105E00 */ addiu $s0, $s0, 0x5e00 +/* DC01E0 80242F30 AFBF0018 */ sw $ra, 0x18($sp) +/* DC01E4 80242F34 AFB10014 */ sw $s1, 0x14($sp) +/* DC01E8 80242F38 8E020000 */ lw $v0, ($s0) +/* DC01EC 80242F3C 14400010 */ bnez $v0, .L80242F80 +/* DC01F0 80242F40 0080882D */ daddu $s1, $a0, $zero +/* DC01F4 80242F44 0C00AB39 */ jal heap_malloc +/* DC01F8 80242F48 24040040 */ addiu $a0, $zero, 0x40 +/* DC01FC 80242F4C AE020000 */ sw $v0, ($s0) +/* DC0200 80242F50 0000182D */ daddu $v1, $zero, $zero +/* DC0204 80242F54 0040282D */ daddu $a1, $v0, $zero +/* DC0208 80242F58 0220202D */ daddu $a0, $s1, $zero +.L80242F5C: +/* DC020C 80242F5C 8C820084 */ lw $v0, 0x84($a0) +/* DC0210 80242F60 24840004 */ addiu $a0, $a0, 4 +/* DC0214 80242F64 24630001 */ addiu $v1, $v1, 1 +/* DC0218 80242F68 ACA20000 */ sw $v0, ($a1) +/* DC021C 80242F6C 28620010 */ slti $v0, $v1, 0x10 +/* DC0220 80242F70 1440FFFA */ bnez $v0, .L80242F5C +/* DC0224 80242F74 24A50004 */ addiu $a1, $a1, 4 +/* DC0228 80242F78 08090BEF */ j .L80242FBC +/* DC022C 80242F7C 00000000 */ nop +.L80242F80: +/* DC0230 80242F80 0000182D */ daddu $v1, $zero, $zero +/* DC0234 80242F84 0040282D */ daddu $a1, $v0, $zero +/* DC0238 80242F88 0220202D */ daddu $a0, $s1, $zero +.L80242F8C: +/* DC023C 80242F8C 8CA20000 */ lw $v0, ($a1) +/* DC0240 80242F90 24A50004 */ addiu $a1, $a1, 4 +/* DC0244 80242F94 24630001 */ addiu $v1, $v1, 1 +/* DC0248 80242F98 AC820084 */ sw $v0, 0x84($a0) +/* DC024C 80242F9C 28620010 */ slti $v0, $v1, 0x10 +/* DC0250 80242FA0 1440FFFA */ bnez $v0, .L80242F8C +/* DC0254 80242FA4 24840004 */ addiu $a0, $a0, 4 +/* DC0258 80242FA8 3C108024 */ lui $s0, 0x8024 +/* DC025C 80242FAC 26105E00 */ addiu $s0, $s0, 0x5e00 +/* DC0260 80242FB0 0C00AB4B */ jal heap_free +/* DC0264 80242FB4 8E040000 */ lw $a0, ($s0) +/* DC0268 80242FB8 AE000000 */ sw $zero, ($s0) +.L80242FBC: +/* DC026C 80242FBC 8FBF0018 */ lw $ra, 0x18($sp) +/* DC0270 80242FC0 8FB10014 */ lw $s1, 0x14($sp) +/* DC0274 80242FC4 8FB00010 */ lw $s0, 0x10($sp) +/* DC0278 80242FC8 24020002 */ addiu $v0, $zero, 2 +/* DC027C 80242FCC 03E00008 */ jr $ra +/* DC0280 80242FD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80242FD4_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80242FD4_DBD2B0.s new file mode 100644 index 0000000000..b8e40cf1b2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80242FD4_DBD2B0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242FD4_DC0284 +/* DC0284 80242FD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC0288 80242FD8 AFB00010 */ sw $s0, 0x10($sp) +/* DC028C 80242FDC 0080802D */ daddu $s0, $a0, $zero +/* DC0290 80242FE0 AFBF0018 */ sw $ra, 0x18($sp) +/* DC0294 80242FE4 AFB10014 */ sw $s1, 0x14($sp) +/* DC0298 80242FE8 8E02000C */ lw $v0, 0xc($s0) +/* DC029C 80242FEC 8C510000 */ lw $s1, ($v0) +/* DC02A0 80242FF0 0C0B1EAF */ jal get_variable +/* DC02A4 80242FF4 0220282D */ daddu $a1, $s1, $zero +/* DC02A8 80242FF8 3C03FFF0 */ lui $v1, 0xfff0 +/* DC02AC 80242FFC 3463FFFF */ ori $v1, $v1, 0xffff +/* DC02B0 80243000 0200202D */ daddu $a0, $s0, $zero +/* DC02B4 80243004 00431024 */ and $v0, $v0, $v1 +/* DC02B8 80243008 00021140 */ sll $v0, $v0, 5 +/* DC02BC 8024300C 3C068008 */ lui $a2, %hi(gItemTable) +/* DC02C0 80243010 00C23021 */ addu $a2, $a2, $v0 +/* DC02C4 80243014 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* DC02C8 80243018 0C0B2026 */ jal set_variable +/* DC02CC 8024301C 0220282D */ daddu $a1, $s1, $zero +/* DC02D0 80243020 8FBF0018 */ lw $ra, 0x18($sp) +/* DC02D4 80243024 8FB10014 */ lw $s1, 0x14($sp) +/* DC02D8 80243028 8FB00010 */ lw $s0, 0x10($sp) +/* DC02DC 8024302C 24020002 */ addiu $v0, $zero, 2 +/* DC02E0 80243030 03E00008 */ jr $ra +/* DC02E4 80243034 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80243038.s b/asm/nonmatchings/world/area_omo/omo_07/func_80243038.s new file mode 100644 index 0000000000..ca859d1615 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80243038.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243038 +/* DC02E8 80243038 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC02EC 8024303C AFB10014 */ sw $s1, 0x14($sp) +/* DC02F0 80243040 0080882D */ daddu $s1, $a0, $zero +/* DC02F4 80243044 AFBF001C */ sw $ra, 0x1c($sp) +/* DC02F8 80243048 AFB20018 */ sw $s2, 0x18($sp) +/* DC02FC 8024304C AFB00010 */ sw $s0, 0x10($sp) +/* DC0300 80243050 8E240084 */ lw $a0, 0x84($s1) +/* DC0304 80243054 0C04C3D6 */ jal get_item_entity +/* DC0308 80243058 00A0802D */ daddu $s0, $a1, $zero +/* DC030C 8024305C 12000005 */ beqz $s0, .L80243074 +/* DC0310 80243060 0040902D */ daddu $s2, $v0, $zero +/* DC0314 80243064 C640000C */ lwc1 $f0, 0xc($s2) +/* DC0318 80243068 AE200074 */ sw $zero, 0x74($s1) +/* DC031C 8024306C AE20007C */ sw $zero, 0x7c($s1) +/* DC0320 80243070 E6200078 */ swc1 $f0, 0x78($s1) +.L80243074: +/* DC0324 80243074 8E230074 */ lw $v1, 0x74($s1) +/* DC0328 80243078 10600005 */ beqz $v1, .L80243090 +/* DC032C 8024307C 24020001 */ addiu $v0, $zero, 1 +/* DC0330 80243080 10620024 */ beq $v1, $v0, .L80243114 +/* DC0334 80243084 00000000 */ nop +/* DC0338 80243088 08090C5B */ j .L8024316C +/* DC033C 8024308C 00000000 */ nop +.L80243090: +/* DC0340 80243090 3C013FC9 */ lui $at, 0x3fc9 +/* DC0344 80243094 34210FD8 */ ori $at, $at, 0xfd8 +/* DC0348 80243098 44810000 */ mtc1 $at, $f0 +/* DC034C 8024309C C62C007C */ lwc1 $f12, 0x7c($s1) +/* DC0350 802430A0 46806320 */ cvt.s.w $f12, $f12 +/* DC0354 802430A4 46006302 */ mul.s $f12, $f12, $f0 +/* DC0358 802430A8 00000000 */ nop +/* DC035C 802430AC 3C0141F0 */ lui $at, 0x41f0 +/* DC0360 802430B0 44810000 */ mtc1 $at, $f0 +/* DC0364 802430B4 0C00A874 */ jal cos_rad +/* DC0368 802430B8 46006303 */ div.s $f12, $f12, $f0 +/* DC036C 802430BC 3C013F80 */ lui $at, 0x3f80 +/* DC0370 802430C0 44811000 */ mtc1 $at, $f2 +/* DC0374 802430C4 00000000 */ nop +/* DC0378 802430C8 46001081 */ sub.s $f2, $f2, $f0 +/* DC037C 802430CC 3C0141A0 */ lui $at, 0x41a0 +/* DC0380 802430D0 44810000 */ mtc1 $at, $f0 +/* DC0384 802430D4 00000000 */ nop +/* DC0388 802430D8 46001082 */ mul.s $f2, $f2, $f0 +/* DC038C 802430DC 00000000 */ nop +/* DC0390 802430E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* DC0394 802430E4 46020000 */ add.s $f0, $f0, $f2 +/* DC0398 802430E8 E640000C */ swc1 $f0, 0xc($s2) +/* DC039C 802430EC 8E23007C */ lw $v1, 0x7c($s1) +/* DC03A0 802430F0 2402001E */ addiu $v0, $zero, 0x1e +/* DC03A4 802430F4 14620005 */ bne $v1, $v0, .L8024310C +/* DC03A8 802430F8 24620001 */ addiu $v0, $v1, 1 +/* DC03AC 802430FC 24020001 */ addiu $v0, $zero, 1 +/* DC03B0 80243100 AE220074 */ sw $v0, 0x74($s1) +/* DC03B4 80243104 08090C5B */ j .L8024316C +/* DC03B8 80243108 AE20007C */ sw $zero, 0x7c($s1) +.L8024310C: +/* DC03BC 8024310C 08090C5B */ j .L8024316C +/* DC03C0 80243110 AE22007C */ sw $v0, 0x7c($s1) +.L80243114: +/* DC03C4 80243114 C62C007C */ lwc1 $f12, 0x7c($s1) +/* DC03C8 80243118 0C00A8D4 */ jal cos_deg +/* DC03CC 8024311C 46806320 */ cvt.s.w $f12, $f12 +/* DC03D0 80243120 3C014040 */ lui $at, 0x4040 +/* DC03D4 80243124 44811000 */ mtc1 $at, $f2 +/* DC03D8 80243128 00000000 */ nop +/* DC03DC 8024312C 46020002 */ mul.s $f0, $f0, $f2 +/* DC03E0 80243130 00000000 */ nop +/* DC03E4 80243134 3C014188 */ lui $at, 0x4188 +/* DC03E8 80243138 44812000 */ mtc1 $at, $f4 +/* DC03EC 8024313C C6220078 */ lwc1 $f2, 0x78($s1) +/* DC03F0 80243140 46041080 */ add.s $f2, $f2, $f4 +/* DC03F4 80243144 46001080 */ add.s $f2, $f2, $f0 +/* DC03F8 80243148 E642000C */ swc1 $f2, 0xc($s2) +/* DC03FC 8024314C 8E22007C */ lw $v0, 0x7c($s1) +/* DC0400 80243150 24420009 */ addiu $v0, $v0, 9 +/* DC0404 80243154 44826000 */ mtc1 $v0, $f12 +/* DC0408 80243158 00000000 */ nop +/* DC040C 8024315C 0C00A6C9 */ jal clamp_angle +/* DC0410 80243160 46806320 */ cvt.s.w $f12, $f12 +/* DC0414 80243164 4600018D */ trunc.w.s $f6, $f0 +/* DC0418 80243168 E626007C */ swc1 $f6, 0x7c($s1) +.L8024316C: +/* DC041C 8024316C 8FBF001C */ lw $ra, 0x1c($sp) +/* DC0420 80243170 8FB20018 */ lw $s2, 0x18($sp) +/* DC0424 80243174 8FB10014 */ lw $s1, 0x14($sp) +/* DC0428 80243178 8FB00010 */ lw $s0, 0x10($sp) +/* DC042C 8024317C 0000102D */ daddu $v0, $zero, $zero +/* DC0430 80243180 03E00008 */ jr $ra +/* DC0434 80243184 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80243188_DBD2B0.s b/asm/nonmatchings/world/area_omo/omo_07/func_80243188_DBD2B0.s new file mode 100644 index 0000000000..51243395a4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80243188_DBD2B0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243188_DC0438 +/* DC0438 80243188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DC043C 8024318C AFB00010 */ sw $s0, 0x10($sp) +/* DC0440 80243190 0080802D */ daddu $s0, $a0, $zero +/* DC0444 80243194 AFBF0014 */ sw $ra, 0x14($sp) +/* DC0448 80243198 8E02000C */ lw $v0, 0xc($s0) +/* DC044C 8024319C 0C0B1EAF */ jal get_variable +/* DC0450 802431A0 8C450000 */ lw $a1, ($v0) +/* DC0454 802431A4 00021140 */ sll $v0, $v0, 5 +/* DC0458 802431A8 AE000084 */ sw $zero, 0x84($s0) +/* DC045C 802431AC 3C018008 */ lui $at, 0x8008 +/* DC0460 802431B0 00220821 */ addu $at, $at, $v0 +/* DC0464 802431B4 942278F8 */ lhu $v0, 0x78f8($at) +/* DC0468 802431B8 30420040 */ andi $v0, $v0, 0x40 +/* DC046C 802431BC 10400002 */ beqz $v0, .L802431C8 +/* DC0470 802431C0 24020001 */ addiu $v0, $zero, 1 +/* DC0474 802431C4 AE020084 */ sw $v0, 0x84($s0) +.L802431C8: +/* DC0478 802431C8 8FBF0014 */ lw $ra, 0x14($sp) +/* DC047C 802431CC 8FB00010 */ lw $s0, 0x10($sp) +/* DC0480 802431D0 24020002 */ addiu $v0, $zero, 2 +/* DC0484 802431D4 03E00008 */ jr $ra +/* DC0488 802431D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802431DC.s b/asm/nonmatchings/world/area_omo/omo_07/func_802431DC.s new file mode 100644 index 0000000000..ca07eec206 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802431DC.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431DC +/* DC048C 802431DC 3C03800B */ lui $v1, %hi(gCameras) +/* DC0490 802431E0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DC0494 802431E4 94620002 */ lhu $v0, 2($v1) +/* DC0498 802431E8 3042FFFE */ andi $v0, $v0, 0xfffe +/* DC049C 802431EC A4620002 */ sh $v0, 2($v1) +/* DC04A0 802431F0 03E00008 */ jr $ra +/* DC04A4 802431F4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_802431F8.s b/asm/nonmatchings/world/area_omo/omo_07/func_802431F8.s new file mode 100644 index 0000000000..142f76e903 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_802431F8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802431F8 +/* DC04A8 802431F8 3C03800B */ lui $v1, %hi(gCameras) +/* DC04AC 802431FC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DC04B0 80243200 94620002 */ lhu $v0, 2($v1) +/* DC04B4 80243204 34420001 */ ori $v0, $v0, 1 +/* DC04B8 80243208 A4620002 */ sh $v0, 2($v1) +/* DC04BC 8024320C 03E00008 */ jr $ra +/* DC04C0 80243210 24020002 */ addiu $v0, $zero, 2 +/* DC04C4 80243214 00000000 */ nop +/* DC04C8 80243218 00000000 */ nop +/* DC04CC 8024321C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_07/func_80243220.s b/asm/nonmatchings/world/area_omo/omo_07/func_80243220.s new file mode 100644 index 0000000000..df66473f29 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_07/func_80243220.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243220 +/* DC04D0 80243220 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DC04D4 80243224 AFB10014 */ sw $s1, 0x14($sp) +/* DC04D8 80243228 0080882D */ daddu $s1, $a0, $zero +/* DC04DC 8024322C AFBF001C */ sw $ra, 0x1c($sp) +/* DC04E0 80243230 AFB20018 */ sw $s2, 0x18($sp) +/* DC04E4 80243234 AFB00010 */ sw $s0, 0x10($sp) +/* DC04E8 80243238 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DC04EC 8024323C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DC04F0 80243240 0C00EABB */ jal get_npc_unsafe +/* DC04F4 80243244 24040007 */ addiu $a0, $zero, 7 +/* DC04F8 80243248 0040802D */ daddu $s0, $v0, $zero +/* DC04FC 8024324C 3C12800B */ lui $s2, %hi(gCameras) +/* DC0500 80243250 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* DC0504 80243254 C60C000C */ lwc1 $f12, 0xc($s0) +/* DC0508 80243258 C640006C */ lwc1 $f0, 0x6c($s2) +/* DC050C 8024325C 46006300 */ add.s $f12, $f12, $f0 +/* DC0510 80243260 3C014334 */ lui $at, 0x4334 +/* DC0514 80243264 4481A000 */ mtc1 $at, $f20 +/* DC0518 80243268 3C014220 */ lui $at, 0x4220 +/* DC051C 8024326C 4481B000 */ mtc1 $at, $f22 +/* DC0520 80243270 0C00A8BB */ jal sin_deg +/* DC0524 80243274 46146300 */ add.s $f12, $f12, $f20 +/* DC0528 80243278 46160002 */ mul.s $f0, $f0, $f22 +/* DC052C 8024327C 00000000 */ nop +/* DC0530 80243280 C6020038 */ lwc1 $f2, 0x38($s0) +/* DC0534 80243284 46001080 */ add.s $f2, $f2, $f0 +/* DC0538 80243288 4600110D */ trunc.w.s $f4, $f2 +/* DC053C 8024328C E6240084 */ swc1 $f4, 0x84($s1) +/* DC0540 80243290 C600003C */ lwc1 $f0, 0x3c($s0) +/* DC0544 80243294 3C014100 */ lui $at, 0x4100 +/* DC0548 80243298 44811000 */ mtc1 $at, $f2 +/* DC054C 8024329C 00000000 */ nop +/* DC0550 802432A0 46020000 */ add.s $f0, $f0, $f2 +/* DC0554 802432A4 4600010D */ trunc.w.s $f4, $f0 +/* DC0558 802432A8 E6240088 */ swc1 $f4, 0x88($s1) +/* DC055C 802432AC C60C000C */ lwc1 $f12, 0xc($s0) +/* DC0560 802432B0 C640006C */ lwc1 $f0, 0x6c($s2) +/* DC0564 802432B4 46006300 */ add.s $f12, $f12, $f0 +/* DC0568 802432B8 0C00A8D4 */ jal cos_deg +/* DC056C 802432BC 46146300 */ add.s $f12, $f12, $f20 +/* DC0570 802432C0 46160002 */ mul.s $f0, $f0, $f22 +/* DC0574 802432C4 00000000 */ nop +/* DC0578 802432C8 C6020040 */ lwc1 $f2, 0x40($s0) +/* DC057C 802432CC 46001081 */ sub.s $f2, $f2, $f0 +/* DC0580 802432D0 4600110D */ trunc.w.s $f4, $f2 +/* DC0584 802432D4 E624008C */ swc1 $f4, 0x8c($s1) +/* DC0588 802432D8 8FBF001C */ lw $ra, 0x1c($sp) +/* DC058C 802432DC 8FB20018 */ lw $s2, 0x18($sp) +/* DC0590 802432E0 8FB10014 */ lw $s1, 0x14($sp) +/* DC0594 802432E4 8FB00010 */ lw $s0, 0x10($sp) +/* DC0598 802432E8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DC059C 802432EC D7B40020 */ ldc1 $f20, 0x20($sp) +/* DC05A0 802432F0 24020002 */ addiu $v0, $zero, 2 +/* DC05A4 802432F4 03E00008 */ jr $ra +/* DC05A8 802432F8 27BD0030 */ addiu $sp, $sp, 0x30 +/* DC05AC 802432FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240000_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240000_DC43D0.s new file mode 100644 index 0000000000..c885b959f2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240000_DC43D0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DC43D0 +/* DC43D0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DC43D4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DC43D8 80240008 94620002 */ lhu $v0, 2($v1) +/* DC43DC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DC43E0 80240010 A4620002 */ sh $v0, 2($v1) +/* DC43E4 80240014 03E00008 */ jr $ra +/* DC43E8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_8024001C_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_8024001C_DC43D0.s new file mode 100644 index 0000000000..5e2e3eabff --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_8024001C_DC43D0.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_DC43EC +/* DC43EC 8024001C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DC43F0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* DC43F4 80240024 0080882D */ daddu $s1, $a0, $zero +/* DC43F8 80240028 AFBF001C */ sw $ra, 0x1c($sp) +/* DC43FC 8024002C AFB20018 */ sw $s2, 0x18($sp) +/* DC4400 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* DC4404 80240034 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DC4408 80240038 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DC440C 8024003C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DC4410 80240040 8E30000C */ lw $s0, 0xc($s1) +/* DC4414 80240044 8E120000 */ lw $s2, ($s0) +/* DC4418 80240048 26100004 */ addiu $s0, $s0, 4 +/* DC441C 8024004C 8E050000 */ lw $a1, ($s0) +/* DC4420 80240050 0C0B210B */ jal get_float_variable +/* DC4424 80240054 26100004 */ addiu $s0, $s0, 4 +/* DC4428 80240058 8E050000 */ lw $a1, ($s0) +/* DC442C 8024005C 26100004 */ addiu $s0, $s0, 4 +/* DC4430 80240060 0220202D */ daddu $a0, $s1, $zero +/* DC4434 80240064 0C0B210B */ jal get_float_variable +/* DC4438 80240068 46000606 */ mov.s $f24, $f0 +/* DC443C 8024006C 8E050000 */ lw $a1, ($s0) +/* DC4440 80240070 26100004 */ addiu $s0, $s0, 4 +/* DC4444 80240074 0220202D */ daddu $a0, $s1, $zero +/* DC4448 80240078 0C0B210B */ jal get_float_variable +/* DC444C 8024007C 46000586 */ mov.s $f22, $f0 +/* DC4450 80240080 0220202D */ daddu $a0, $s1, $zero +/* DC4454 80240084 8E050000 */ lw $a1, ($s0) +/* DC4458 80240088 0C0B210B */ jal get_float_variable +/* DC445C 8024008C 46000506 */ mov.s $f20, $f0 +/* DC4460 80240090 4600C306 */ mov.s $f12, $f24 +/* DC4464 80240094 4406A000 */ mfc1 $a2, $f20 +/* DC4468 80240098 44070000 */ mfc1 $a3, $f0 +/* DC446C 8024009C 0C00A720 */ jal atan2 +/* DC4470 802400A0 4600B386 */ mov.s $f14, $f22 +/* DC4474 802400A4 0C00A6C9 */ jal clamp_angle +/* DC4478 802400A8 46000306 */ mov.s $f12, $f0 +/* DC447C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* DC4480 802400B0 44060000 */ mfc1 $a2, $f0 +/* DC4484 802400B4 0C0B2190 */ jal set_float_variable +/* DC4488 802400B8 0240282D */ daddu $a1, $s2, $zero +/* DC448C 802400BC 8FBF001C */ lw $ra, 0x1c($sp) +/* DC4490 802400C0 8FB20018 */ lw $s2, 0x18($sp) +/* DC4494 802400C4 8FB10014 */ lw $s1, 0x14($sp) +/* DC4498 802400C8 8FB00010 */ lw $s0, 0x10($sp) +/* DC449C 802400CC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DC44A0 802400D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DC44A4 802400D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DC44A8 802400D8 24020002 */ addiu $v0, $zero, 2 +/* DC44AC 802400DC 03E00008 */ jr $ra +/* DC44B0 802400E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_802400E4_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_802400E4_DC43D0.s new file mode 100644 index 0000000000..de55606d8a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_802400E4_DC43D0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4_DC44B4 +/* DC44B4 802400E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DC44B8 802400E8 AFB10014 */ sw $s1, 0x14($sp) +/* DC44BC 802400EC 0080882D */ daddu $s1, $a0, $zero +/* DC44C0 802400F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DC44C4 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* DC44C8 802400F8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DC44CC 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* DC44D0 80240100 8E050000 */ lw $a1, ($s0) +/* DC44D4 80240104 0C0B210B */ jal get_float_variable +/* DC44D8 80240108 26100004 */ addiu $s0, $s0, 4 +/* DC44DC 8024010C 8E050000 */ lw $a1, ($s0) +/* DC44E0 80240110 26100004 */ addiu $s0, $s0, 4 +/* DC44E4 80240114 0220202D */ daddu $a0, $s1, $zero +/* DC44E8 80240118 0C0B210B */ jal get_float_variable +/* DC44EC 8024011C 46000506 */ mov.s $f20, $f0 +/* DC44F0 80240120 4614003C */ c.lt.s $f0, $f20 +/* DC44F4 80240124 00000000 */ nop +/* DC44F8 80240128 45000004 */ bc1f .L8024013C +/* DC44FC 8024012C 0220202D */ daddu $a0, $s1, $zero +/* DC4500 80240130 8E050000 */ lw $a1, ($s0) +/* DC4504 80240134 08090051 */ j .L80240144 +/* DC4508 80240138 24060001 */ addiu $a2, $zero, 1 +.L8024013C: +/* DC450C 8024013C 8E050000 */ lw $a1, ($s0) +/* DC4510 80240140 0000302D */ daddu $a2, $zero, $zero +.L80240144: +/* DC4514 80240144 0C0B2026 */ jal set_variable +/* DC4518 80240148 00000000 */ nop +/* DC451C 8024014C 8FBF0018 */ lw $ra, 0x18($sp) +/* DC4520 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* DC4524 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* DC4528 80240158 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DC452C 8024015C 24020002 */ addiu $v0, $zero, 2 +/* DC4530 80240160 03E00008 */ jr $ra +/* DC4534 80240164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240168_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240168_DC43D0.s new file mode 100644 index 0000000000..dbc83e7efb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240168_DC43D0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240168_DC4538 +/* DC4538 80240168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC453C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* DC4540 80240170 0080902D */ daddu $s2, $a0, $zero +/* DC4544 80240174 AFBF001C */ sw $ra, 0x1c($sp) +/* DC4548 80240178 AFB10014 */ sw $s1, 0x14($sp) +/* DC454C 8024017C AFB00010 */ sw $s0, 0x10($sp) +/* DC4550 80240180 8E50000C */ lw $s0, 0xc($s2) +/* DC4554 80240184 8E050000 */ lw $a1, ($s0) +/* DC4558 80240188 0C0B1EAF */ jal get_variable +/* DC455C 8024018C 26100004 */ addiu $s0, $s0, 4 +/* DC4560 80240190 8E050000 */ lw $a1, ($s0) +/* DC4564 80240194 26100004 */ addiu $s0, $s0, 4 +/* DC4568 80240198 0240202D */ daddu $a0, $s2, $zero +/* DC456C 8024019C 0C0B1EAF */ jal get_variable +/* DC4570 802401A0 0040882D */ daddu $s1, $v0, $zero +/* DC4574 802401A4 0240202D */ daddu $a0, $s2, $zero +/* DC4578 802401A8 8E050000 */ lw $a1, ($s0) +/* DC457C 802401AC 0C0B1EAF */ jal get_variable +/* DC4580 802401B0 0040802D */ daddu $s0, $v0, $zero +/* DC4584 802401B4 02020018 */ mult $s0, $v0 +/* DC4588 802401B8 24020002 */ addiu $v0, $zero, 2 +/* DC458C 802401BC 8E430138 */ lw $v1, 0x138($s2) +/* DC4590 802401C0 00003012 */ mflo $a2 +/* DC4594 802401C4 02268821 */ addu $s1, $s1, $a2 +/* DC4598 802401C8 00518804 */ sllv $s1, $s1, $v0 +/* DC459C 802401CC 00711821 */ addu $v1, $v1, $s1 +/* DC45A0 802401D0 AE430138 */ sw $v1, 0x138($s2) +/* DC45A4 802401D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DC45A8 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* DC45AC 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* DC45B0 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* DC45B4 802401E4 03E00008 */ jr $ra +/* DC45B8 802401E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_802401EC_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_802401EC_DC43D0.s new file mode 100644 index 0000000000..7f70f3faf7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_802401EC_DC43D0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401EC_DC45BC +/* DC45BC 802401EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DC45C0 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* DC45C4 802401F4 0080882D */ daddu $s1, $a0, $zero +/* DC45C8 802401F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DC45CC 802401FC AFB00010 */ sw $s0, 0x10($sp) +/* DC45D0 80240200 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DC45D4 80240204 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DC45D8 80240208 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DC45DC 8024020C 8E30000C */ lw $s0, 0xc($s1) +/* DC45E0 80240210 8E050000 */ lw $a1, ($s0) +/* DC45E4 80240214 0C0B210B */ jal get_float_variable +/* DC45E8 80240218 26100004 */ addiu $s0, $s0, 4 +/* DC45EC 8024021C 8E050000 */ lw $a1, ($s0) +/* DC45F0 80240220 26100004 */ addiu $s0, $s0, 4 +/* DC45F4 80240224 0220202D */ daddu $a0, $s1, $zero +/* DC45F8 80240228 0C0B210B */ jal get_float_variable +/* DC45FC 8024022C 46000606 */ mov.s $f24, $f0 +/* DC4600 80240230 8E050000 */ lw $a1, ($s0) +/* DC4604 80240234 26100004 */ addiu $s0, $s0, 4 +/* DC4608 80240238 0220202D */ daddu $a0, $s1, $zero +/* DC460C 8024023C 0C0B210B */ jal get_float_variable +/* DC4610 80240240 46000586 */ mov.s $f22, $f0 +/* DC4614 80240244 0220202D */ daddu $a0, $s1, $zero +/* DC4618 80240248 8E050000 */ lw $a1, ($s0) +/* DC461C 8024024C 0C0B210B */ jal get_float_variable +/* DC4620 80240250 46000506 */ mov.s $f20, $f0 +/* DC4624 80240254 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DC4628 80240258 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DC462C 8024025C E4580028 */ swc1 $f24, 0x28($v0) +/* DC4630 80240260 E456002C */ swc1 $f22, 0x2c($v0) +/* DC4634 80240264 E4540030 */ swc1 $f20, 0x30($v0) +/* DC4638 80240268 E4400080 */ swc1 $f0, 0x80($v0) +/* DC463C 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* DC4640 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* DC4644 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* DC4648 80240278 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DC464C 8024027C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DC4650 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DC4654 80240284 24020002 */ addiu $v0, $zero, 2 +/* DC4658 80240288 03E00008 */ jr $ra +/* DC465C 8024028C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240290_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240290_DC43D0.s new file mode 100644 index 0000000000..82722b05b1 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240290_DC43D0.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_DC4660 +/* DC4660 80240290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DC4664 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* DC4668 80240298 0080882D */ daddu $s1, $a0, $zero +/* DC466C 8024029C AFBF001C */ sw $ra, 0x1c($sp) +/* DC4670 802402A0 AFB20018 */ sw $s2, 0x18($sp) +/* DC4674 802402A4 AFB00010 */ sw $s0, 0x10($sp) +/* DC4678 802402A8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DC467C 802402AC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DC4680 802402B0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DC4684 802402B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DC4688 802402B8 8E30000C */ lw $s0, 0xc($s1) +/* DC468C 802402BC 8E050000 */ lw $a1, ($s0) +/* DC4690 802402C0 0C0B1EAF */ jal get_variable +/* DC4694 802402C4 26100004 */ addiu $s0, $s0, 4 +/* DC4698 802402C8 8E050000 */ lw $a1, ($s0) +/* DC469C 802402CC 26100004 */ addiu $s0, $s0, 4 +/* DC46A0 802402D0 0220202D */ daddu $a0, $s1, $zero +/* DC46A4 802402D4 0C0B210B */ jal get_float_variable +/* DC46A8 802402D8 0040902D */ daddu $s2, $v0, $zero +/* DC46AC 802402DC 8E050000 */ lw $a1, ($s0) +/* DC46B0 802402E0 26100004 */ addiu $s0, $s0, 4 +/* DC46B4 802402E4 0220202D */ daddu $a0, $s1, $zero +/* DC46B8 802402E8 0C0B210B */ jal get_float_variable +/* DC46BC 802402EC 46000686 */ mov.s $f26, $f0 +/* DC46C0 802402F0 8E050000 */ lw $a1, ($s0) +/* DC46C4 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DC46C8 802402F8 0220202D */ daddu $a0, $s1, $zero +/* DC46CC 802402FC 0C0B210B */ jal get_float_variable +/* DC46D0 80240300 46000606 */ mov.s $f24, $f0 +/* DC46D4 80240304 0220202D */ daddu $a0, $s1, $zero +/* DC46D8 80240308 8E050000 */ lw $a1, ($s0) +/* DC46DC 8024030C 0C0B210B */ jal get_float_variable +/* DC46E0 80240310 46000506 */ mov.s $f20, $f0 +/* DC46E4 80240314 0240202D */ daddu $a0, $s2, $zero +/* DC46E8 80240318 0C00EAD2 */ jal get_npc_safe +/* DC46EC 8024031C 46000586 */ mov.s $f22, $f0 +/* DC46F0 80240320 0040202D */ daddu $a0, $v0, $zero +/* DC46F4 80240324 E49A0038 */ swc1 $f26, 0x38($a0) +/* DC46F8 80240328 4600D006 */ mov.s $f0, $f26 +/* DC46FC 8024032C E498003C */ swc1 $f24, 0x3c($a0) +/* DC4700 80240330 4600C086 */ mov.s $f2, $f24 +/* DC4704 80240334 E4940040 */ swc1 $f20, 0x40($a0) +/* DC4708 80240338 4600A106 */ mov.s $f4, $f20 +/* DC470C 8024033C 8C830000 */ lw $v1, ($a0) +/* DC4710 80240340 3C050001 */ lui $a1, 1 +/* DC4714 80240344 E496000C */ swc1 $f22, 0xc($a0) +/* DC4718 80240348 E480006C */ swc1 $f0, 0x6c($a0) +/* DC471C 8024034C E4820070 */ swc1 $f2, 0x70($a0) +/* DC4720 80240350 E4840074 */ swc1 $f4, 0x74($a0) +/* DC4724 80240354 00651825 */ or $v1, $v1, $a1 +/* DC4728 80240358 AC830000 */ sw $v1, ($a0) +/* DC472C 8024035C 8FBF001C */ lw $ra, 0x1c($sp) +/* DC4730 80240360 8FB20018 */ lw $s2, 0x18($sp) +/* DC4734 80240364 8FB10014 */ lw $s1, 0x14($sp) +/* DC4738 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* DC473C 8024036C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DC4740 80240370 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DC4744 80240374 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DC4748 80240378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DC474C 8024037C 24020002 */ addiu $v0, $zero, 2 +/* DC4750 80240380 03E00008 */ jr $ra +/* DC4754 80240384 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240388_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240388_DC43D0.s new file mode 100644 index 0000000000..a13f095845 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240388_DC43D0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_DC4758 +/* DC4758 80240388 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DC475C 8024038C AFB20018 */ sw $s2, 0x18($sp) +/* DC4760 80240390 0080902D */ daddu $s2, $a0, $zero +/* DC4764 80240394 AFBF0028 */ sw $ra, 0x28($sp) +/* DC4768 80240398 AFB50024 */ sw $s5, 0x24($sp) +/* DC476C 8024039C AFB40020 */ sw $s4, 0x20($sp) +/* DC4770 802403A0 AFB3001C */ sw $s3, 0x1c($sp) +/* DC4774 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* DC4778 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* DC477C 802403AC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DC4780 802403B0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DC4784 802403B4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DC4788 802403B8 8E50000C */ lw $s0, 0xc($s2) +/* DC478C 802403BC 8E140000 */ lw $s4, ($s0) +/* DC4790 802403C0 26100004 */ addiu $s0, $s0, 4 +/* DC4794 802403C4 0C0B1EAF */ jal get_variable +/* DC4798 802403C8 0280282D */ daddu $a1, $s4, $zero +/* DC479C 802403CC 0040982D */ daddu $s3, $v0, $zero +/* DC47A0 802403D0 8E150000 */ lw $s5, ($s0) +/* DC47A4 802403D4 26100004 */ addiu $s0, $s0, 4 +/* DC47A8 802403D8 8E050000 */ lw $a1, ($s0) +/* DC47AC 802403DC 26100004 */ addiu $s0, $s0, 4 +/* DC47B0 802403E0 0C0B210B */ jal get_float_variable +/* DC47B4 802403E4 0240202D */ daddu $a0, $s2, $zero +/* DC47B8 802403E8 8E050000 */ lw $a1, ($s0) +/* DC47BC 802403EC 26100004 */ addiu $s0, $s0, 4 +/* DC47C0 802403F0 0240202D */ daddu $a0, $s2, $zero +/* DC47C4 802403F4 0C0B210B */ jal get_float_variable +/* DC47C8 802403F8 46000606 */ mov.s $f24, $f0 +/* DC47CC 802403FC 8E050000 */ lw $a1, ($s0) +/* DC47D0 80240400 26100004 */ addiu $s0, $s0, 4 +/* DC47D4 80240404 0240202D */ daddu $a0, $s2, $zero +/* DC47D8 80240408 0C0B1EAF */ jal get_variable +/* DC47DC 8024040C 46000506 */ mov.s $f20, $f0 +/* DC47E0 80240410 8E050000 */ lw $a1, ($s0) +/* DC47E4 80240414 26100004 */ addiu $s0, $s0, 4 +/* DC47E8 80240418 0240202D */ daddu $a0, $s2, $zero +/* DC47EC 8024041C 0C0B1EAF */ jal get_variable +/* DC47F0 80240420 0040882D */ daddu $s1, $v0, $zero +/* DC47F4 80240424 0240202D */ daddu $a0, $s2, $zero +/* DC47F8 80240428 8E050000 */ lw $a1, ($s0) +/* DC47FC 8024042C 0C0B210B */ jal get_float_variable +/* DC4800 80240430 0040802D */ daddu $s0, $v0, $zero +/* DC4804 80240434 3C014334 */ lui $at, 0x4334 +/* DC4808 80240438 44811000 */ mtc1 $at, $f2 +/* DC480C 8024043C 3C014049 */ lui $at, 0x4049 +/* DC4810 80240440 34210FD8 */ ori $at, $at, 0xfd8 +/* DC4814 80240444 44812000 */ mtc1 $at, $f4 +/* DC4818 80240448 46020003 */ div.s $f0, $f0, $f2 +/* DC481C 8024044C 46040582 */ mul.s $f22, $f0, $f4 +/* DC4820 80240450 00000000 */ nop +/* DC4824 80240454 4618A501 */ sub.s $f20, $f20, $f24 +/* DC4828 80240458 3C013F00 */ lui $at, 0x3f00 +/* DC482C 8024045C 44810000 */ mtc1 $at, $f0 +/* DC4830 80240460 00000000 */ nop +/* DC4834 80240464 4600A502 */ mul.s $f20, $f20, $f0 +/* DC4838 80240468 00000000 */ nop +/* DC483C 8024046C 12000007 */ beqz $s0, .L8024048C +/* DC4840 80240470 0233102A */ slt $v0, $s1, $s3 +/* DC4844 80240474 10400005 */ beqz $v0, .L8024048C +/* DC4848 80240478 0240202D */ daddu $a0, $s2, $zero +/* DC484C 8024047C 0220982D */ daddu $s3, $s1, $zero +/* DC4850 80240480 0280282D */ daddu $a1, $s4, $zero +/* DC4854 80240484 0C0B2026 */ jal set_variable +/* DC4858 80240488 0220302D */ daddu $a2, $s1, $zero +.L8024048C: +/* DC485C 8024048C 3C014049 */ lui $at, 0x4049 +/* DC4860 80240490 34210FD8 */ ori $at, $at, 0xfd8 +/* DC4864 80240494 44810000 */ mtc1 $at, $f0 +/* DC4868 80240498 44936000 */ mtc1 $s3, $f12 +/* DC486C 8024049C 00000000 */ nop +/* DC4870 802404A0 46806320 */ cvt.s.w $f12, $f12 +/* DC4874 802404A4 46006302 */ mul.s $f12, $f12, $f0 +/* DC4878 802404A8 00000000 */ nop +/* DC487C 802404AC 44910000 */ mtc1 $s1, $f0 +/* DC4880 802404B0 00000000 */ nop +/* DC4884 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* DC4888 802404B8 46006303 */ div.s $f12, $f12, $f0 +/* DC488C 802404BC 0C00A874 */ jal cos_rad +/* DC4890 802404C0 46166300 */ add.s $f12, $f12, $f22 +/* DC4894 802404C4 4600A002 */ mul.s $f0, $f20, $f0 +/* DC4898 802404C8 00000000 */ nop +/* DC489C 802404CC 4614C080 */ add.s $f2, $f24, $f20 +/* DC48A0 802404D0 46001081 */ sub.s $f2, $f2, $f0 +/* DC48A4 802404D4 0240202D */ daddu $a0, $s2, $zero +/* DC48A8 802404D8 44061000 */ mfc1 $a2, $f2 +/* DC48AC 802404DC 0C0B2190 */ jal set_float_variable +/* DC48B0 802404E0 02A0282D */ daddu $a1, $s5, $zero +/* DC48B4 802404E4 8FBF0028 */ lw $ra, 0x28($sp) +/* DC48B8 802404E8 8FB50024 */ lw $s5, 0x24($sp) +/* DC48BC 802404EC 8FB40020 */ lw $s4, 0x20($sp) +/* DC48C0 802404F0 8FB3001C */ lw $s3, 0x1c($sp) +/* DC48C4 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* DC48C8 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* DC48CC 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* DC48D0 80240500 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DC48D4 80240504 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DC48D8 80240508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DC48DC 8024050C 24020002 */ addiu $v0, $zero, 2 +/* DC48E0 80240510 03E00008 */ jr $ra +/* DC48E4 80240514 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240518_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240518_DC43D0.s new file mode 100644 index 0000000000..6674da5a2a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240518_DC43D0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_DC48E8 +/* DC48E8 80240518 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DC48EC 8024051C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DC48F0 80240520 8C620000 */ lw $v0, ($v1) +/* DC48F4 80240524 AC800084 */ sw $zero, 0x84($a0) +/* DC48F8 80240528 8C420010 */ lw $v0, 0x10($v0) +/* DC48FC 8024052C 30428000 */ andi $v0, $v0, 0x8000 +/* DC4900 80240530 10400002 */ beqz $v0, .L8024053C +/* DC4904 80240534 24020001 */ addiu $v0, $zero, 1 +/* DC4908 80240538 AC820084 */ sw $v0, 0x84($a0) +.L8024053C: +/* DC490C 8024053C 8C620000 */ lw $v0, ($v1) +/* DC4910 80240540 8C420010 */ lw $v0, 0x10($v0) +/* DC4914 80240544 30424000 */ andi $v0, $v0, 0x4000 +/* DC4918 80240548 10400002 */ beqz $v0, .L80240554 +/* DC491C 8024054C 24020001 */ addiu $v0, $zero, 1 +/* DC4920 80240550 AC820084 */ sw $v0, 0x84($a0) +.L80240554: +/* DC4924 80240554 03E00008 */ jr $ra +/* DC4928 80240558 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_8024055C_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_8024055C_DC43D0.s new file mode 100644 index 0000000000..dfa431a01e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_8024055C_DC43D0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C_DC492C +/* DC492C 8024055C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DC4930 80240560 AFB00010 */ sw $s0, 0x10($sp) +/* DC4934 80240564 0080802D */ daddu $s0, $a0, $zero +/* DC4938 80240568 AFBF0014 */ sw $ra, 0x14($sp) +/* DC493C 8024056C 8E0300A8 */ lw $v1, 0xa8($s0) +/* DC4940 80240570 8E020088 */ lw $v0, 0x88($s0) +/* DC4944 80240574 00621821 */ addu $v1, $v1, $v0 +/* DC4948 80240578 04610004 */ bgez $v1, .L8024058C +/* DC494C 8024057C AE0300A8 */ sw $v1, 0xa8($s0) +/* DC4950 80240580 3C020002 */ lui $v0, 2 +/* DC4954 80240584 08090167 */ j .L8024059C +/* DC4958 80240588 00621021 */ addu $v0, $v1, $v0 +.L8024058C: +/* DC495C 8024058C 3C040002 */ lui $a0, 2 +/* DC4960 80240590 0083102A */ slt $v0, $a0, $v1 +/* DC4964 80240594 10400002 */ beqz $v0, .L802405A0 +/* DC4968 80240598 00641023 */ subu $v0, $v1, $a0 +.L8024059C: +/* DC496C 8024059C AE0200A8 */ sw $v0, 0xa8($s0) +.L802405A0: +/* DC4970 802405A0 8E0300AC */ lw $v1, 0xac($s0) +/* DC4974 802405A4 8E02008C */ lw $v0, 0x8c($s0) +/* DC4978 802405A8 00621821 */ addu $v1, $v1, $v0 +/* DC497C 802405AC 04610004 */ bgez $v1, .L802405C0 +/* DC4980 802405B0 AE0300AC */ sw $v1, 0xac($s0) +/* DC4984 802405B4 3C020002 */ lui $v0, 2 +/* DC4988 802405B8 08090174 */ j .L802405D0 +/* DC498C 802405BC 00621021 */ addu $v0, $v1, $v0 +.L802405C0: +/* DC4990 802405C0 3C040002 */ lui $a0, 2 +/* DC4994 802405C4 0083102A */ slt $v0, $a0, $v1 +/* DC4998 802405C8 10400002 */ beqz $v0, .L802405D4 +/* DC499C 802405CC 00641023 */ subu $v0, $v1, $a0 +.L802405D0: +/* DC49A0 802405D0 AE0200AC */ sw $v0, 0xac($s0) +.L802405D4: +/* DC49A4 802405D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* DC49A8 802405D8 8E020090 */ lw $v0, 0x90($s0) +/* DC49AC 802405DC 00621821 */ addu $v1, $v1, $v0 +/* DC49B0 802405E0 04610004 */ bgez $v1, .L802405F4 +/* DC49B4 802405E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* DC49B8 802405E8 3C020002 */ lui $v0, 2 +/* DC49BC 802405EC 08090181 */ j .L80240604 +/* DC49C0 802405F0 00621021 */ addu $v0, $v1, $v0 +.L802405F4: +/* DC49C4 802405F4 3C040002 */ lui $a0, 2 +/* DC49C8 802405F8 0083102A */ slt $v0, $a0, $v1 +/* DC49CC 802405FC 10400002 */ beqz $v0, .L80240608 +/* DC49D0 80240600 00641023 */ subu $v0, $v1, $a0 +.L80240604: +/* DC49D4 80240604 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240608: +/* DC49D8 80240608 8E0300B4 */ lw $v1, 0xb4($s0) +/* DC49DC 8024060C 8E020094 */ lw $v0, 0x94($s0) +/* DC49E0 80240610 00621821 */ addu $v1, $v1, $v0 +/* DC49E4 80240614 04610004 */ bgez $v1, .L80240628 +/* DC49E8 80240618 AE0300B4 */ sw $v1, 0xb4($s0) +/* DC49EC 8024061C 3C020002 */ lui $v0, 2 +/* DC49F0 80240620 0809018E */ j .L80240638 +/* DC49F4 80240624 00621021 */ addu $v0, $v1, $v0 +.L80240628: +/* DC49F8 80240628 3C040002 */ lui $a0, 2 +/* DC49FC 8024062C 0083102A */ slt $v0, $a0, $v1 +/* DC4A00 80240630 10400002 */ beqz $v0, .L8024063C +/* DC4A04 80240634 00641023 */ subu $v0, $v1, $a0 +.L80240638: +/* DC4A08 80240638 AE0200B4 */ sw $v0, 0xb4($s0) +.L8024063C: +/* DC4A0C 8024063C 8E040084 */ lw $a0, 0x84($s0) +/* DC4A10 80240640 0C046F07 */ jal set_main_pan_u +/* DC4A14 80240644 8E0500A8 */ lw $a1, 0xa8($s0) +/* DC4A18 80240648 8E040084 */ lw $a0, 0x84($s0) +/* DC4A1C 8024064C 0C046F0D */ jal set_main_pan_v +/* DC4A20 80240650 8E0500AC */ lw $a1, 0xac($s0) +/* DC4A24 80240654 8E040084 */ lw $a0, 0x84($s0) +/* DC4A28 80240658 0C046F13 */ jal set_aux_pan_u +/* DC4A2C 8024065C 8E0500B0 */ lw $a1, 0xb0($s0) +/* DC4A30 80240660 8E040084 */ lw $a0, 0x84($s0) +/* DC4A34 80240664 0C046F19 */ jal set_aux_pan_v +/* DC4A38 80240668 8E0500B4 */ lw $a1, 0xb4($s0) +/* DC4A3C 8024066C 8FBF0014 */ lw $ra, 0x14($sp) +/* DC4A40 80240670 8FB00010 */ lw $s0, 0x10($sp) +/* DC4A44 80240674 0000102D */ daddu $v0, $zero, $zero +/* DC4A48 80240678 03E00008 */ jr $ra +/* DC4A4C 8024067C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240680_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240680_DC43D0.s new file mode 100644 index 0000000000..82b86152e4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240680_DC43D0.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_DC4A50 +/* DC4A50 80240680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DC4A54 80240684 AFB00010 */ sw $s0, 0x10($sp) +/* DC4A58 80240688 0080802D */ daddu $s0, $a0, $zero +/* DC4A5C 8024068C 10A00005 */ beqz $a1, .L802406A4 +/* DC4A60 80240690 AFBF0014 */ sw $ra, 0x14($sp) +/* DC4A64 80240694 AE000070 */ sw $zero, 0x70($s0) +/* DC4A68 80240698 AE000074 */ sw $zero, 0x74($s0) +/* DC4A6C 8024069C AE000078 */ sw $zero, 0x78($s0) +/* DC4A70 802406A0 AE00007C */ sw $zero, 0x7c($s0) +.L802406A4: +/* DC4A74 802406A4 8E020070 */ lw $v0, 0x70($s0) +/* DC4A78 802406A8 1440000E */ bnez $v0, .L802406E4 +/* DC4A7C 802406AC 00000000 */ nop +/* DC4A80 802406B0 8E0300A8 */ lw $v1, 0xa8($s0) +/* DC4A84 802406B4 8E020088 */ lw $v0, 0x88($s0) +/* DC4A88 802406B8 00621821 */ addu $v1, $v1, $v0 +/* DC4A8C 802406BC 04610004 */ bgez $v1, .L802406D0 +/* DC4A90 802406C0 AE0300A8 */ sw $v1, 0xa8($s0) +/* DC4A94 802406C4 3C020002 */ lui $v0, 2 +/* DC4A98 802406C8 080901B8 */ j .L802406E0 +/* DC4A9C 802406CC 00621021 */ addu $v0, $v1, $v0 +.L802406D0: +/* DC4AA0 802406D0 3C040002 */ lui $a0, 2 +/* DC4AA4 802406D4 0083102A */ slt $v0, $a0, $v1 +/* DC4AA8 802406D8 10400002 */ beqz $v0, .L802406E4 +/* DC4AAC 802406DC 00641023 */ subu $v0, $v1, $a0 +.L802406E0: +/* DC4AB0 802406E0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802406E4: +/* DC4AB4 802406E4 8E020074 */ lw $v0, 0x74($s0) +/* DC4AB8 802406E8 1440000E */ bnez $v0, .L80240724 +/* DC4ABC 802406EC 00000000 */ nop +/* DC4AC0 802406F0 8E0300AC */ lw $v1, 0xac($s0) +/* DC4AC4 802406F4 8E02008C */ lw $v0, 0x8c($s0) +/* DC4AC8 802406F8 00621821 */ addu $v1, $v1, $v0 +/* DC4ACC 802406FC 04610004 */ bgez $v1, .L80240710 +/* DC4AD0 80240700 AE0300AC */ sw $v1, 0xac($s0) +/* DC4AD4 80240704 3C020002 */ lui $v0, 2 +/* DC4AD8 80240708 080901C8 */ j .L80240720 +/* DC4ADC 8024070C 00621021 */ addu $v0, $v1, $v0 +.L80240710: +/* DC4AE0 80240710 3C040002 */ lui $a0, 2 +/* DC4AE4 80240714 0083102A */ slt $v0, $a0, $v1 +/* DC4AE8 80240718 10400002 */ beqz $v0, .L80240724 +/* DC4AEC 8024071C 00641023 */ subu $v0, $v1, $a0 +.L80240720: +/* DC4AF0 80240720 AE0200AC */ sw $v0, 0xac($s0) +.L80240724: +/* DC4AF4 80240724 8E020078 */ lw $v0, 0x78($s0) +/* DC4AF8 80240728 1440000E */ bnez $v0, .L80240764 +/* DC4AFC 8024072C 00000000 */ nop +/* DC4B00 80240730 8E0300B0 */ lw $v1, 0xb0($s0) +/* DC4B04 80240734 8E020090 */ lw $v0, 0x90($s0) +/* DC4B08 80240738 00621821 */ addu $v1, $v1, $v0 +/* DC4B0C 8024073C 04610004 */ bgez $v1, .L80240750 +/* DC4B10 80240740 AE0300B0 */ sw $v1, 0xb0($s0) +/* DC4B14 80240744 3C020002 */ lui $v0, 2 +/* DC4B18 80240748 080901D8 */ j .L80240760 +/* DC4B1C 8024074C 00621021 */ addu $v0, $v1, $v0 +.L80240750: +/* DC4B20 80240750 3C040002 */ lui $a0, 2 +/* DC4B24 80240754 0083102A */ slt $v0, $a0, $v1 +/* DC4B28 80240758 10400002 */ beqz $v0, .L80240764 +/* DC4B2C 8024075C 00641023 */ subu $v0, $v1, $a0 +.L80240760: +/* DC4B30 80240760 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240764: +/* DC4B34 80240764 8E02007C */ lw $v0, 0x7c($s0) +/* DC4B38 80240768 1440000E */ bnez $v0, .L802407A4 +/* DC4B3C 8024076C 00000000 */ nop +/* DC4B40 80240770 8E0300B4 */ lw $v1, 0xb4($s0) +/* DC4B44 80240774 8E020094 */ lw $v0, 0x94($s0) +/* DC4B48 80240778 00621821 */ addu $v1, $v1, $v0 +/* DC4B4C 8024077C 04610004 */ bgez $v1, .L80240790 +/* DC4B50 80240780 AE0300B4 */ sw $v1, 0xb4($s0) +/* DC4B54 80240784 3C020002 */ lui $v0, 2 +/* DC4B58 80240788 080901E8 */ j .L802407A0 +/* DC4B5C 8024078C 00621021 */ addu $v0, $v1, $v0 +.L80240790: +/* DC4B60 80240790 3C040002 */ lui $a0, 2 +/* DC4B64 80240794 0083102A */ slt $v0, $a0, $v1 +/* DC4B68 80240798 10400002 */ beqz $v0, .L802407A4 +/* DC4B6C 8024079C 00641023 */ subu $v0, $v1, $a0 +.L802407A0: +/* DC4B70 802407A0 AE0200B4 */ sw $v0, 0xb4($s0) +.L802407A4: +/* DC4B74 802407A4 8E040084 */ lw $a0, 0x84($s0) +/* DC4B78 802407A8 0C046F07 */ jal set_main_pan_u +/* DC4B7C 802407AC 8E0500A8 */ lw $a1, 0xa8($s0) +/* DC4B80 802407B0 8E040084 */ lw $a0, 0x84($s0) +/* DC4B84 802407B4 0C046F0D */ jal set_main_pan_v +/* DC4B88 802407B8 8E0500AC */ lw $a1, 0xac($s0) +/* DC4B8C 802407BC 8E040084 */ lw $a0, 0x84($s0) +/* DC4B90 802407C0 0C046F13 */ jal set_aux_pan_u +/* DC4B94 802407C4 8E0500B0 */ lw $a1, 0xb0($s0) +/* DC4B98 802407C8 8E040084 */ lw $a0, 0x84($s0) +/* DC4B9C 802407CC 0C046F19 */ jal set_aux_pan_v +/* DC4BA0 802407D0 8E0500B4 */ lw $a1, 0xb4($s0) +/* DC4BA4 802407D4 8E020070 */ lw $v0, 0x70($s0) +/* DC4BA8 802407D8 8E030078 */ lw $v1, 0x78($s0) +/* DC4BAC 802407DC 8E040098 */ lw $a0, 0x98($s0) +/* DC4BB0 802407E0 24420001 */ addiu $v0, $v0, 1 +/* DC4BB4 802407E4 AE020070 */ sw $v0, 0x70($s0) +/* DC4BB8 802407E8 8E020074 */ lw $v0, 0x74($s0) +/* DC4BBC 802407EC 24630001 */ addiu $v1, $v1, 1 +/* DC4BC0 802407F0 AE030078 */ sw $v1, 0x78($s0) +/* DC4BC4 802407F4 8E030070 */ lw $v1, 0x70($s0) +/* DC4BC8 802407F8 24420001 */ addiu $v0, $v0, 1 +/* DC4BCC 802407FC AE020074 */ sw $v0, 0x74($s0) +/* DC4BD0 80240800 8E02007C */ lw $v0, 0x7c($s0) +/* DC4BD4 80240804 0064182A */ slt $v1, $v1, $a0 +/* DC4BD8 80240808 24420001 */ addiu $v0, $v0, 1 +/* DC4BDC 8024080C 14600002 */ bnez $v1, .L80240818 +/* DC4BE0 80240810 AE02007C */ sw $v0, 0x7c($s0) +/* DC4BE4 80240814 AE000070 */ sw $zero, 0x70($s0) +.L80240818: +/* DC4BE8 80240818 8E020074 */ lw $v0, 0x74($s0) +/* DC4BEC 8024081C 8E03009C */ lw $v1, 0x9c($s0) +/* DC4BF0 80240820 0043102A */ slt $v0, $v0, $v1 +/* DC4BF4 80240824 50400001 */ beql $v0, $zero, .L8024082C +/* DC4BF8 80240828 AE000074 */ sw $zero, 0x74($s0) +.L8024082C: +/* DC4BFC 8024082C 8E020078 */ lw $v0, 0x78($s0) +/* DC4C00 80240830 8E0300A0 */ lw $v1, 0xa0($s0) +/* DC4C04 80240834 0043102A */ slt $v0, $v0, $v1 +/* DC4C08 80240838 50400001 */ beql $v0, $zero, .L80240840 +/* DC4C0C 8024083C AE000078 */ sw $zero, 0x78($s0) +.L80240840: +/* DC4C10 80240840 8E02007C */ lw $v0, 0x7c($s0) +/* DC4C14 80240844 8E0300A4 */ lw $v1, 0xa4($s0) +/* DC4C18 80240848 0043102A */ slt $v0, $v0, $v1 +/* DC4C1C 8024084C 50400001 */ beql $v0, $zero, .L80240854 +/* DC4C20 80240850 AE00007C */ sw $zero, 0x7c($s0) +.L80240854: +/* DC4C24 80240854 8FBF0014 */ lw $ra, 0x14($sp) +/* DC4C28 80240858 8FB00010 */ lw $s0, 0x10($sp) +/* DC4C2C 8024085C 0000102D */ daddu $v0, $zero, $zero +/* DC4C30 80240860 03E00008 */ jr $ra +/* DC4C34 80240864 27BD0018 */ addiu $sp, $sp, 0x18 +/* DC4C38 80240868 00000000 */ nop +/* DC4C3C 8024086C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240870_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240870_DC43D0.s new file mode 100644 index 0000000000..e52bb688a8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240870_DC43D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_DC4C40 +/* DC4C40 80240870 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC4C44 80240874 AFB10014 */ sw $s1, 0x14($sp) +/* DC4C48 80240878 0080882D */ daddu $s1, $a0, $zero +/* DC4C4C 8024087C AFBF0018 */ sw $ra, 0x18($sp) +/* DC4C50 80240880 AFB00010 */ sw $s0, 0x10($sp) +/* DC4C54 80240884 8E300148 */ lw $s0, 0x148($s1) +/* DC4C58 80240888 0C00EABB */ jal get_npc_unsafe +/* DC4C5C 8024088C 86040008 */ lh $a0, 8($s0) +/* DC4C60 80240890 C4400018 */ lwc1 $f0, 0x18($v0) +/* DC4C64 80240894 3C018025 */ lui $at, 0x8025 +/* DC4C68 80240898 D4228760 */ ldc1 $f2, -0x78a0($at) +/* DC4C6C 8024089C 46000021 */ cvt.d.s $f0, $f0 +/* DC4C70 802408A0 46220002 */ mul.d $f0, $f0, $f2 +/* DC4C74 802408A4 00000000 */ nop +/* DC4C78 802408A8 46200020 */ cvt.s.d $f0, $f0 +/* DC4C7C 802408AC E4400018 */ swc1 $f0, 0x18($v0) +/* DC4C80 802408B0 8E0300CC */ lw $v1, 0xcc($s0) +/* DC4C84 802408B4 8C640030 */ lw $a0, 0x30($v1) +/* DC4C88 802408B8 24030005 */ addiu $v1, $zero, 5 +/* DC4C8C 802408BC A443008E */ sh $v1, 0x8e($v0) +/* DC4C90 802408C0 AC440028 */ sw $a0, 0x28($v0) +/* DC4C94 802408C4 2402000F */ addiu $v0, $zero, 0xf +/* DC4C98 802408C8 AE220070 */ sw $v0, 0x70($s1) +/* DC4C9C 802408CC 8FBF0018 */ lw $ra, 0x18($sp) +/* DC4CA0 802408D0 8FB10014 */ lw $s1, 0x14($sp) +/* DC4CA4 802408D4 8FB00010 */ lw $s0, 0x10($sp) +/* DC4CA8 802408D8 03E00008 */ jr $ra +/* DC4CAC 802408DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_802408E0_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_802408E0_DC43D0.s new file mode 100644 index 0000000000..64b6862132 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_802408E0_DC43D0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408E0_DC4CB0 +/* DC4CB0 802408E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DC4CB4 802408E4 AFB20028 */ sw $s2, 0x28($sp) +/* DC4CB8 802408E8 0080902D */ daddu $s2, $a0, $zero +/* DC4CBC 802408EC AFBF002C */ sw $ra, 0x2c($sp) +/* DC4CC0 802408F0 AFB10024 */ sw $s1, 0x24($sp) +/* DC4CC4 802408F4 AFB00020 */ sw $s0, 0x20($sp) +/* DC4CC8 802408F8 8E510148 */ lw $s1, 0x148($s2) +/* DC4CCC 802408FC 0C00EABB */ jal get_npc_unsafe +/* DC4CD0 80240900 86240008 */ lh $a0, 8($s1) +/* DC4CD4 80240904 0040802D */ daddu $s0, $v0, $zero +/* DC4CD8 80240908 0200202D */ daddu $a0, $s0, $zero +/* DC4CDC 8024090C C600000C */ lwc1 $f0, 0xc($s0) +/* DC4CE0 80240910 27A60018 */ addiu $a2, $sp, 0x18 +/* DC4CE4 80240914 E7A00018 */ swc1 $f0, 0x18($sp) +/* DC4CE8 80240918 AFA00010 */ sw $zero, 0x10($sp) +/* DC4CEC 8024091C AFA00014 */ sw $zero, 0x14($sp) +/* DC4CF0 80240920 8E050018 */ lw $a1, 0x18($s0) +/* DC4CF4 80240924 0C0129E1 */ jal func_8004A784 +/* DC4CF8 80240928 0000382D */ daddu $a3, $zero, $zero +/* DC4CFC 8024092C 14400005 */ bnez $v0, .L80240944 +/* DC4D00 80240930 00000000 */ nop +/* DC4D04 80240934 8E050018 */ lw $a1, 0x18($s0) +/* DC4D08 80240938 8E06000C */ lw $a2, 0xc($s0) +/* DC4D0C 8024093C 0C00EA95 */ jal npc_move_heading +/* DC4D10 80240940 0200202D */ daddu $a0, $s0, $zero +.L80240944: +/* DC4D14 80240944 9602008E */ lhu $v0, 0x8e($s0) +/* DC4D18 80240948 2442FFFF */ addiu $v0, $v0, -1 +/* DC4D1C 8024094C A602008E */ sh $v0, 0x8e($s0) +/* DC4D20 80240950 00021400 */ sll $v0, $v0, 0x10 +/* DC4D24 80240954 14400010 */ bnez $v0, .L80240998 +/* DC4D28 80240958 00000000 */ nop +/* DC4D2C 8024095C C6000018 */ lwc1 $f0, 0x18($s0) +/* DC4D30 80240960 3C018025 */ lui $at, 0x8025 +/* DC4D34 80240964 D4228768 */ ldc1 $f2, -0x7898($at) +/* DC4D38 80240968 46000021 */ cvt.d.s $f0, $f0 +/* DC4D3C 8024096C 46220002 */ mul.d $f0, $f0, $f2 +/* DC4D40 80240970 00000000 */ nop +/* DC4D44 80240974 46200020 */ cvt.s.d $f0, $f0 +/* DC4D48 80240978 E6000018 */ swc1 $f0, 0x18($s0) +/* DC4D4C 8024097C 8E2200CC */ lw $v0, 0xcc($s1) +/* DC4D50 80240980 8C43002C */ lw $v1, 0x2c($v0) +/* DC4D54 80240984 2402000A */ addiu $v0, $zero, 0xa +/* DC4D58 80240988 A602008E */ sh $v0, 0x8e($s0) +/* DC4D5C 8024098C 24020010 */ addiu $v0, $zero, 0x10 +/* DC4D60 80240990 AE030028 */ sw $v1, 0x28($s0) +/* DC4D64 80240994 AE420070 */ sw $v0, 0x70($s2) +.L80240998: +/* DC4D68 80240998 8FBF002C */ lw $ra, 0x2c($sp) +/* DC4D6C 8024099C 8FB20028 */ lw $s2, 0x28($sp) +/* DC4D70 802409A0 8FB10024 */ lw $s1, 0x24($sp) +/* DC4D74 802409A4 8FB00020 */ lw $s0, 0x20($sp) +/* DC4D78 802409A8 03E00008 */ jr $ra +/* DC4D7C 802409AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_802409B0_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_802409B0_DC43D0.s new file mode 100644 index 0000000000..63b486d60c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_802409B0_DC43D0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409B0_DC4D80 +/* DC4D80 802409B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DC4D84 802409B4 AFB10024 */ sw $s1, 0x24($sp) +/* DC4D88 802409B8 0080882D */ daddu $s1, $a0, $zero +/* DC4D8C 802409BC AFBF0028 */ sw $ra, 0x28($sp) +/* DC4D90 802409C0 AFB00020 */ sw $s0, 0x20($sp) +/* DC4D94 802409C4 8E220148 */ lw $v0, 0x148($s1) +/* DC4D98 802409C8 0C00EABB */ jal get_npc_unsafe +/* DC4D9C 802409CC 84440008 */ lh $a0, 8($v0) +/* DC4DA0 802409D0 0040802D */ daddu $s0, $v0, $zero +/* DC4DA4 802409D4 0200202D */ daddu $a0, $s0, $zero +/* DC4DA8 802409D8 C600000C */ lwc1 $f0, 0xc($s0) +/* DC4DAC 802409DC 27A60018 */ addiu $a2, $sp, 0x18 +/* DC4DB0 802409E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DC4DB4 802409E4 AFA00010 */ sw $zero, 0x10($sp) +/* DC4DB8 802409E8 AFA00014 */ sw $zero, 0x14($sp) +/* DC4DBC 802409EC 8E050018 */ lw $a1, 0x18($s0) +/* DC4DC0 802409F0 0C0129E1 */ jal func_8004A784 +/* DC4DC4 802409F4 0000382D */ daddu $a3, $zero, $zero +/* DC4DC8 802409F8 14400005 */ bnez $v0, .L80240A10 +/* DC4DCC 802409FC 00000000 */ nop +/* DC4DD0 80240A00 8E050018 */ lw $a1, 0x18($s0) +/* DC4DD4 80240A04 8E06000C */ lw $a2, 0xc($s0) +/* DC4DD8 80240A08 0C00EA95 */ jal npc_move_heading +/* DC4DDC 80240A0C 0200202D */ daddu $a0, $s0, $zero +.L80240A10: +/* DC4DE0 80240A10 9602008E */ lhu $v0, 0x8e($s0) +/* DC4DE4 80240A14 2442FFFF */ addiu $v0, $v0, -1 +/* DC4DE8 80240A18 A602008E */ sh $v0, 0x8e($s0) +/* DC4DEC 80240A1C 00021400 */ sll $v0, $v0, 0x10 +/* DC4DF0 80240A20 14400004 */ bnez $v0, .L80240A34 +/* DC4DF4 80240A24 2402001E */ addiu $v0, $zero, 0x1e +/* DC4DF8 80240A28 A602008E */ sh $v0, 0x8e($s0) +/* DC4DFC 80240A2C 24020011 */ addiu $v0, $zero, 0x11 +/* DC4E00 80240A30 AE220070 */ sw $v0, 0x70($s1) +.L80240A34: +/* DC4E04 80240A34 8FBF0028 */ lw $ra, 0x28($sp) +/* DC4E08 80240A38 8FB10024 */ lw $s1, 0x24($sp) +/* DC4E0C 80240A3C 8FB00020 */ lw $s0, 0x20($sp) +/* DC4E10 80240A40 03E00008 */ jr $ra +/* DC4E14 80240A44 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240A48_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240A48_DC43D0.s new file mode 100644 index 0000000000..65f8ee34fc --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240A48_DC43D0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A48_DC4E18 +/* DC4E18 80240A48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DC4E1C 80240A4C AFB10014 */ sw $s1, 0x14($sp) +/* DC4E20 80240A50 0080882D */ daddu $s1, $a0, $zero +/* DC4E24 80240A54 AFBF0018 */ sw $ra, 0x18($sp) +/* DC4E28 80240A58 AFB00010 */ sw $s0, 0x10($sp) +/* DC4E2C 80240A5C 8E300148 */ lw $s0, 0x148($s1) +/* DC4E30 80240A60 0C00EABB */ jal get_npc_unsafe +/* DC4E34 80240A64 86040008 */ lh $a0, 8($s0) +/* DC4E38 80240A68 0040182D */ daddu $v1, $v0, $zero +/* DC4E3C 80240A6C 9462008E */ lhu $v0, 0x8e($v1) +/* DC4E40 80240A70 2442FFFF */ addiu $v0, $v0, -1 +/* DC4E44 80240A74 A462008E */ sh $v0, 0x8e($v1) +/* DC4E48 80240A78 00021400 */ sll $v0, $v0, 0x10 +/* DC4E4C 80240A7C 14400005 */ bnez $v0, .L80240A94 +/* DC4E50 80240A80 00000000 */ nop +/* DC4E54 80240A84 8E0200CC */ lw $v0, 0xcc($s0) +/* DC4E58 80240A88 8C420000 */ lw $v0, ($v0) +/* DC4E5C 80240A8C AC620028 */ sw $v0, 0x28($v1) +/* DC4E60 80240A90 AE200070 */ sw $zero, 0x70($s1) +.L80240A94: +/* DC4E64 80240A94 8FBF0018 */ lw $ra, 0x18($sp) +/* DC4E68 80240A98 8FB10014 */ lw $s1, 0x14($sp) +/* DC4E6C 80240A9C 8FB00010 */ lw $s0, 0x10($sp) +/* DC4E70 80240AA0 03E00008 */ jr $ra +/* DC4E74 80240AA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_08/func_80240AA8_DC43D0.s b/asm/nonmatchings/world/area_omo/omo_08/func_80240AA8_DC43D0.s new file mode 100644 index 0000000000..12171aec8a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_08/func_80240AA8_DC43D0.s @@ -0,0 +1,217 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AA8_DC4E78 +/* DC4E78 80240AA8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DC4E7C 80240AAC AFB30054 */ sw $s3, 0x54($sp) +/* DC4E80 80240AB0 0080982D */ daddu $s3, $a0, $zero +/* DC4E84 80240AB4 AFBF0060 */ sw $ra, 0x60($sp) +/* DC4E88 80240AB8 AFB5005C */ sw $s5, 0x5c($sp) +/* DC4E8C 80240ABC AFB40058 */ sw $s4, 0x58($sp) +/* DC4E90 80240AC0 AFB20050 */ sw $s2, 0x50($sp) +/* DC4E94 80240AC4 AFB1004C */ sw $s1, 0x4c($sp) +/* DC4E98 80240AC8 AFB00048 */ sw $s0, 0x48($sp) +/* DC4E9C 80240ACC 8E710148 */ lw $s1, 0x148($s3) +/* DC4EA0 80240AD0 86240008 */ lh $a0, 8($s1) +/* DC4EA4 80240AD4 0C00EABB */ jal get_npc_unsafe +/* DC4EA8 80240AD8 00A0802D */ daddu $s0, $a1, $zero +/* DC4EAC 80240ADC 8E63000C */ lw $v1, 0xc($s3) +/* DC4EB0 80240AE0 0260202D */ daddu $a0, $s3, $zero +/* DC4EB4 80240AE4 8C650000 */ lw $a1, ($v1) +/* DC4EB8 80240AE8 0C0B1EAF */ jal get_variable +/* DC4EBC 80240AEC 0040902D */ daddu $s2, $v0, $zero +/* DC4EC0 80240AF0 AFA00018 */ sw $zero, 0x18($sp) +/* DC4EC4 80240AF4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DC4EC8 80240AF8 8C630030 */ lw $v1, 0x30($v1) +/* DC4ECC 80240AFC AFA3001C */ sw $v1, 0x1c($sp) +/* DC4ED0 80240B00 8E2300D0 */ lw $v1, 0xd0($s1) +/* DC4ED4 80240B04 8C63001C */ lw $v1, 0x1c($v1) +/* DC4ED8 80240B08 AFA30020 */ sw $v1, 0x20($sp) +/* DC4EDC 80240B0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DC4EE0 80240B10 8C630024 */ lw $v1, 0x24($v1) +/* DC4EE4 80240B14 AFA30024 */ sw $v1, 0x24($sp) +/* DC4EE8 80240B18 8E2300D0 */ lw $v1, 0xd0($s1) +/* DC4EEC 80240B1C 8C630028 */ lw $v1, 0x28($v1) +/* DC4EF0 80240B20 27B50018 */ addiu $s5, $sp, 0x18 +/* DC4EF4 80240B24 AFA30028 */ sw $v1, 0x28($sp) +/* DC4EF8 80240B28 8E2300D0 */ lw $v1, 0xd0($s1) +/* DC4EFC 80240B2C 3C014282 */ lui $at, 0x4282 +/* DC4F00 80240B30 44810000 */ mtc1 $at, $f0 +/* DC4F04 80240B34 8C63002C */ lw $v1, 0x2c($v1) +/* DC4F08 80240B38 0040A02D */ daddu $s4, $v0, $zero +/* DC4F0C 80240B3C E7A00030 */ swc1 $f0, 0x30($sp) +/* DC4F10 80240B40 A7A00034 */ sh $zero, 0x34($sp) +/* DC4F14 80240B44 16000005 */ bnez $s0, .L80240B5C +/* DC4F18 80240B48 AFA3002C */ sw $v1, 0x2c($sp) +/* DC4F1C 80240B4C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DC4F20 80240B50 30420004 */ andi $v0, $v0, 4 +/* DC4F24 80240B54 10400044 */ beqz $v0, .L80240C68 +/* DC4F28 80240B58 00000000 */ nop +.L80240B5C: +/* DC4F2C 80240B5C 2404F7FF */ addiu $a0, $zero, -0x801 +/* DC4F30 80240B60 AE600070 */ sw $zero, 0x70($s3) +/* DC4F34 80240B64 A640008E */ sh $zero, 0x8e($s2) +/* DC4F38 80240B68 8E2200CC */ lw $v0, 0xcc($s1) +/* DC4F3C 80240B6C 8E430000 */ lw $v1, ($s2) +/* DC4F40 80240B70 8C420000 */ lw $v0, ($v0) +/* DC4F44 80240B74 00641824 */ and $v1, $v1, $a0 +/* DC4F48 80240B78 AE430000 */ sw $v1, ($s2) +/* DC4F4C 80240B7C AE420028 */ sw $v0, 0x28($s2) +/* DC4F50 80240B80 8E2200D0 */ lw $v0, 0xd0($s1) +/* DC4F54 80240B84 8C420034 */ lw $v0, 0x34($v0) +/* DC4F58 80240B88 54400005 */ bnel $v0, $zero, .L80240BA0 +/* DC4F5C 80240B8C 2402FDFF */ addiu $v0, $zero, -0x201 +/* DC4F60 80240B90 34620200 */ ori $v0, $v1, 0x200 +/* DC4F64 80240B94 2403FFF7 */ addiu $v1, $zero, -9 +/* DC4F68 80240B98 080902EA */ j .L80240BA8 +/* DC4F6C 80240B9C 00431024 */ and $v0, $v0, $v1 +.L80240BA0: +/* DC4F70 80240BA0 00621024 */ and $v0, $v1, $v0 +/* DC4F74 80240BA4 34420008 */ ori $v0, $v0, 8 +.L80240BA8: +/* DC4F78 80240BA8 AE420000 */ sw $v0, ($s2) +/* DC4F7C 80240BAC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DC4F80 80240BB0 30420004 */ andi $v0, $v0, 4 +/* DC4F84 80240BB4 10400004 */ beqz $v0, .L80240BC8 +/* DC4F88 80240BB8 24020063 */ addiu $v0, $zero, 0x63 +/* DC4F8C 80240BBC AE620070 */ sw $v0, 0x70($s3) +/* DC4F90 80240BC0 080902F8 */ j .L80240BE0 +/* DC4F94 80240BC4 AE600074 */ sw $zero, 0x74($s3) +.L80240BC8: +/* DC4F98 80240BC8 8E220000 */ lw $v0, ($s1) +/* DC4F9C 80240BCC 3C034000 */ lui $v1, 0x4000 +/* DC4FA0 80240BD0 00431024 */ and $v0, $v0, $v1 +/* DC4FA4 80240BD4 10400002 */ beqz $v0, .L80240BE0 +/* DC4FA8 80240BD8 2402000C */ addiu $v0, $zero, 0xc +/* DC4FAC 80240BDC AE620070 */ sw $v0, 0x70($s3) +.L80240BE0: +/* DC4FB0 80240BE0 3C06BFFF */ lui $a2, 0xbfff +/* DC4FB4 80240BE4 34C6FFFF */ ori $a2, $a2, 0xffff +/* DC4FB8 80240BE8 27A50038 */ addiu $a1, $sp, 0x38 +/* DC4FBC 80240BEC 2404FFFB */ addiu $a0, $zero, -5 +/* DC4FC0 80240BF0 8E2200B0 */ lw $v0, 0xb0($s1) +/* DC4FC4 80240BF4 8E230000 */ lw $v1, ($s1) +/* DC4FC8 80240BF8 3C0142C8 */ lui $at, 0x42c8 +/* DC4FCC 80240BFC 44810000 */ mtc1 $at, $f0 +/* DC4FD0 80240C00 00441024 */ and $v0, $v0, $a0 +/* DC4FD4 80240C04 00661824 */ and $v1, $v1, $a2 +/* DC4FD8 80240C08 AE2200B0 */ sw $v0, 0xb0($s1) +/* DC4FDC 80240C0C AE230000 */ sw $v1, ($s1) +/* DC4FE0 80240C10 864200A8 */ lh $v0, 0xa8($s2) +/* DC4FE4 80240C14 27A70040 */ addiu $a3, $sp, 0x40 +/* DC4FE8 80240C18 E7A00044 */ swc1 $f0, 0x44($sp) +/* DC4FEC 80240C1C C6460038 */ lwc1 $f6, 0x38($s2) +/* DC4FF0 80240C20 C640003C */ lwc1 $f0, 0x3c($s2) +/* DC4FF4 80240C24 C6420040 */ lwc1 $f2, 0x40($s2) +/* DC4FF8 80240C28 44822000 */ mtc1 $v0, $f4 +/* DC4FFC 80240C2C 00000000 */ nop +/* DC5000 80240C30 46802120 */ cvt.s.w $f4, $f4 +/* DC5004 80240C34 27A20044 */ addiu $v0, $sp, 0x44 +/* DC5008 80240C38 46040000 */ add.s $f0, $f0, $f4 +/* DC500C 80240C3C E7A60038 */ swc1 $f6, 0x38($sp) +/* DC5010 80240C40 E7A20040 */ swc1 $f2, 0x40($sp) +/* DC5014 80240C44 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DC5018 80240C48 AFA20010 */ sw $v0, 0x10($sp) +/* DC501C 80240C4C 8E440080 */ lw $a0, 0x80($s2) +/* DC5020 80240C50 0C0372DF */ jal func_800DCB7C +/* DC5024 80240C54 27A6003C */ addiu $a2, $sp, 0x3c +/* DC5028 80240C58 10400003 */ beqz $v0, .L80240C68 +/* DC502C 80240C5C 00000000 */ nop +/* DC5030 80240C60 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DC5034 80240C64 E640003C */ swc1 $f0, 0x3c($s2) +.L80240C68: +/* DC5038 80240C68 8E630070 */ lw $v1, 0x70($s3) +/* DC503C 80240C6C 2C620064 */ sltiu $v0, $v1, 0x64 +/* DC5040 80240C70 10400050 */ beqz $v0, .L80240DB4 +/* DC5044 80240C74 00031080 */ sll $v0, $v1, 2 +/* DC5048 80240C78 3C018025 */ lui $at, 0x8025 +/* DC504C 80240C7C 00220821 */ addu $at, $at, $v0 +/* DC5050 80240C80 8C228770 */ lw $v0, -0x7890($at) +/* DC5054 80240C84 00400008 */ jr $v0 +/* DC5058 80240C88 00000000 */ nop +/* DC505C 80240C8C 0260202D */ daddu $a0, $s3, $zero +/* DC5060 80240C90 0280282D */ daddu $a1, $s4, $zero +/* DC5064 80240C94 0C012568 */ jal func_800495A0 +/* DC5068 80240C98 02A0302D */ daddu $a2, $s5, $zero +/* DC506C 80240C9C 0260202D */ daddu $a0, $s3, $zero +/* DC5070 80240CA0 0280282D */ daddu $a1, $s4, $zero +/* DC5074 80240CA4 0C0125AE */ jal func_800496B8 +/* DC5078 80240CA8 02A0302D */ daddu $a2, $s5, $zero +/* DC507C 80240CAC 0809036D */ j .L80240DB4 +/* DC5080 80240CB0 00000000 */ nop +/* DC5084 80240CB4 0260202D */ daddu $a0, $s3, $zero +/* DC5088 80240CB8 0280282D */ daddu $a1, $s4, $zero +/* DC508C 80240CBC 0C0126D1 */ jal func_80049B44 +/* DC5090 80240CC0 02A0302D */ daddu $a2, $s5, $zero +/* DC5094 80240CC4 0260202D */ daddu $a0, $s3, $zero +/* DC5098 80240CC8 0280282D */ daddu $a1, $s4, $zero +/* DC509C 80240CCC 0C012701 */ jal func_80049C04 +/* DC50A0 80240CD0 02A0302D */ daddu $a2, $s5, $zero +/* DC50A4 80240CD4 0809036D */ j .L80240DB4 +/* DC50A8 80240CD8 00000000 */ nop +/* DC50AC 80240CDC 0260202D */ daddu $a0, $s3, $zero +/* DC50B0 80240CE0 0280282D */ daddu $a1, $s4, $zero +/* DC50B4 80240CE4 0C01278F */ jal func_80049E3C +/* DC50B8 80240CE8 02A0302D */ daddu $a2, $s5, $zero +/* DC50BC 80240CEC 0260202D */ daddu $a0, $s3, $zero +/* DC50C0 80240CF0 0280282D */ daddu $a1, $s4, $zero +/* DC50C4 80240CF4 0C0127B3 */ jal func_80049ECC +/* DC50C8 80240CF8 02A0302D */ daddu $a2, $s5, $zero +/* DC50CC 80240CFC 0809036D */ j .L80240DB4 +/* DC50D0 80240D00 00000000 */ nop +/* DC50D4 80240D04 0260202D */ daddu $a0, $s3, $zero +/* DC50D8 80240D08 0280282D */ daddu $a1, $s4, $zero +/* DC50DC 80240D0C 0C0127DF */ jal func_80049F7C +/* DC50E0 80240D10 02A0302D */ daddu $a2, $s5, $zero +/* DC50E4 80240D14 0260202D */ daddu $a0, $s3, $zero +/* DC50E8 80240D18 0280282D */ daddu $a1, $s4, $zero +/* DC50EC 80240D1C 0C012849 */ jal func_8004A124 +/* DC50F0 80240D20 02A0302D */ daddu $a2, $s5, $zero +/* DC50F4 80240D24 8E630070 */ lw $v1, 0x70($s3) +/* DC50F8 80240D28 2402000E */ addiu $v0, $zero, 0xe +/* DC50FC 80240D2C 14620021 */ bne $v1, $v0, .L80240DB4 +/* DC5100 80240D30 00000000 */ nop +/* DC5104 80240D34 0260202D */ daddu $a0, $s3, $zero +/* DC5108 80240D38 0280282D */ daddu $a1, $s4, $zero +/* DC510C 80240D3C 0C09021C */ jal func_80240870 +/* DC5110 80240D40 02A0302D */ daddu $a2, $s5, $zero +/* DC5114 80240D44 8E630070 */ lw $v1, 0x70($s3) +/* DC5118 80240D48 2402000F */ addiu $v0, $zero, 0xf +/* DC511C 80240D4C 14620019 */ bne $v1, $v0, .L80240DB4 +/* DC5120 80240D50 00000000 */ nop +/* DC5124 80240D54 0260202D */ daddu $a0, $s3, $zero +/* DC5128 80240D58 0280282D */ daddu $a1, $s4, $zero +/* DC512C 80240D5C 0C090238 */ jal func_802408E0 +/* DC5130 80240D60 02A0302D */ daddu $a2, $s5, $zero +/* DC5134 80240D64 8E630070 */ lw $v1, 0x70($s3) +/* DC5138 80240D68 24020010 */ addiu $v0, $zero, 0x10 +/* DC513C 80240D6C 14620011 */ bne $v1, $v0, .L80240DB4 +/* DC5140 80240D70 00000000 */ nop +/* DC5144 80240D74 0260202D */ daddu $a0, $s3, $zero +/* DC5148 80240D78 0280282D */ daddu $a1, $s4, $zero +/* DC514C 80240D7C 0C09026C */ jal func_802409B0 +/* DC5150 80240D80 02A0302D */ daddu $a2, $s5, $zero +/* DC5154 80240D84 8E630070 */ lw $v1, 0x70($s3) +/* DC5158 80240D88 24020011 */ addiu $v0, $zero, 0x11 +/* DC515C 80240D8C 14620009 */ bne $v1, $v0, .L80240DB4 +/* DC5160 80240D90 00000000 */ nop +/* DC5164 80240D94 0260202D */ daddu $a0, $s3, $zero +/* DC5168 80240D98 0280282D */ daddu $a1, $s4, $zero +/* DC516C 80240D9C 0C090292 */ jal func_80240A48 +/* DC5170 80240DA0 02A0302D */ daddu $a2, $s5, $zero +/* DC5174 80240DA4 0809036D */ j .L80240DB4 +/* DC5178 80240DA8 00000000 */ nop +/* DC517C 80240DAC 0C0129CF */ jal func_8004A73C +/* DC5180 80240DB0 0260202D */ daddu $a0, $s3, $zero +.L80240DB4: +/* DC5184 80240DB4 8FBF0060 */ lw $ra, 0x60($sp) +/* DC5188 80240DB8 8FB5005C */ lw $s5, 0x5c($sp) +/* DC518C 80240DBC 8FB40058 */ lw $s4, 0x58($sp) +/* DC5190 80240DC0 8FB30054 */ lw $s3, 0x54($sp) +/* DC5194 80240DC4 8FB20050 */ lw $s2, 0x50($sp) +/* DC5198 80240DC8 8FB1004C */ lw $s1, 0x4c($sp) +/* DC519C 80240DCC 8FB00048 */ lw $s0, 0x48($sp) +/* DC51A0 80240DD0 0000102D */ daddu $v0, $zero, $zero +/* DC51A4 80240DD4 03E00008 */ jr $ra +/* DC51A8 80240DD8 27BD0068 */ addiu $sp, $sp, 0x68 +/* DC51AC 80240DDC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240000_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240000_DCCCD0.s new file mode 100644 index 0000000000..805a0a88fa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240000_DCCCD0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DCCCD0 +/* DCCCD0 80240000 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DCCCD4 80240004 8C42EFC8 */ lw $v0, %lo(gPlayerStatus)($v0) +/* DCCCD8 80240008 30420020 */ andi $v0, $v0, 0x20 +/* DCCCDC 8024000C 10400003 */ beqz $v0, .L8024001C +/* DCCCE0 80240010 00000000 */ nop +.L80240014: +/* DCCCE4 80240014 03E00008 */ jr $ra +/* DCCCE8 80240018 24020001 */ addiu $v0, $zero, 1 +.L8024001C: +/* DCCCEC 8024001C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* DCCCF0 80240020 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* DCCCF4 80240024 10400009 */ beqz $v0, .L8024004C +/* DCCCF8 80240028 00000000 */ nop +/* DCCCFC 8024002C 3C028011 */ lui $v0, %hi(gPlayerData) +/* DCCD00 80240030 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* DCCD04 80240034 80430012 */ lb $v1, 0x12($v0) +/* DCCD08 80240038 24020001 */ addiu $v0, $zero, 1 +/* DCCD0C 8024003C 1062FFF5 */ beq $v1, $v0, .L80240014 +/* DCCD10 80240040 24020007 */ addiu $v0, $zero, 7 +/* DCCD14 80240044 1062FFF3 */ beq $v1, $v0, .L80240014 +/* DCCD18 80240048 00000000 */ nop +.L8024004C: +/* DCCD1C 8024004C 03E00008 */ jr $ra +/* DCCD20 80240050 0000102D */ daddu $v0, $zero, $zero diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240054_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240054_DCCCD0.s new file mode 100644 index 0000000000..e5347ace0a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240054_DCCCD0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_DCCD24 +/* DCCD24 80240054 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DCCD28 80240058 AFBF0010 */ sw $ra, 0x10($sp) +/* DCCD2C 8024005C 0C090000 */ jal func_80240000 +/* DCCD30 80240060 00000000 */ nop +/* DCCD34 80240064 2C420001 */ sltiu $v0, $v0, 1 +/* DCCD38 80240068 8FBF0010 */ lw $ra, 0x10($sp) +/* DCCD3C 8024006C 00021040 */ sll $v0, $v0, 1 +/* DCCD40 80240070 03E00008 */ jr $ra +/* DCCD44 80240074 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240078.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240078.s new file mode 100644 index 0000000000..3222ac34f2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240078.s @@ -0,0 +1,167 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240078 +/* DCCD48 80240078 27BDFF90 */ addiu $sp, $sp, -0x70 +/* DCCD4C 8024007C AFB00048 */ sw $s0, 0x48($sp) +/* DCCD50 80240080 0080802D */ daddu $s0, $a0, $zero +/* DCCD54 80240084 2404FFFC */ addiu $a0, $zero, -4 +/* DCCD58 80240088 AFBF006C */ sw $ra, 0x6c($sp) +/* DCCD5C 8024008C AFBE0068 */ sw $fp, 0x68($sp) +/* DCCD60 80240090 AFB70064 */ sw $s7, 0x64($sp) +/* DCCD64 80240094 AFB60060 */ sw $s6, 0x60($sp) +/* DCCD68 80240098 AFB5005C */ sw $s5, 0x5c($sp) +/* DCCD6C 8024009C AFB40058 */ sw $s4, 0x58($sp) +/* DCCD70 802400A0 AFB30054 */ sw $s3, 0x54($sp) +/* DCCD74 802400A4 AFB20050 */ sw $s2, 0x50($sp) +/* DCCD78 802400A8 0C00EABB */ jal get_npc_unsafe +/* DCCD7C 802400AC AFB1004C */ sw $s1, 0x4c($sp) +/* DCCD80 802400B0 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* DCCD84 802400B4 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* DCCD88 802400B8 0040982D */ daddu $s3, $v0, $zero +/* DCCD8C 802400BC 3C148011 */ lui $s4, %hi(D_8010EBB0) +/* DCCD90 802400C0 2694EBB0 */ addiu $s4, $s4, %lo(D_8010EBB0) +/* DCCD94 802400C4 0C090000 */ jal func_80240000 +/* DCCD98 802400C8 AE000084 */ sw $zero, 0x84($s0) +/* DCCD9C 802400CC 14400073 */ bnez $v0, .L8024029C +/* DCCDA0 802400D0 24020002 */ addiu $v0, $zero, 2 +/* DCCDA4 802400D4 82830003 */ lb $v1, 3($s4) +/* DCCDA8 802400D8 24020009 */ addiu $v0, $zero, 9 +/* DCCDAC 802400DC 14620039 */ bne $v1, $v0, .L802401C4 +/* DCCDB0 802400E0 24020008 */ addiu $v0, $zero, 8 +/* DCCDB4 802400E4 82820000 */ lb $v0, ($s4) +/* DCCDB8 802400E8 10400035 */ beqz $v0, .L802401C0 +/* DCCDBC 802400EC 24020080 */ addiu $v0, $zero, 0x80 +/* DCCDC0 802400F0 92A3000E */ lbu $v1, 0xe($s5) +/* DCCDC4 802400F4 14620031 */ bne $v1, $v0, .L802401BC +/* DCCDC8 802400F8 02A0202D */ daddu $a0, $s5, $zero +/* DCCDCC 802400FC 27A20034 */ addiu $v0, $sp, 0x34 +/* DCCDD0 80240100 27A50028 */ addiu $a1, $sp, 0x28 +/* DCCDD4 80240104 27A6002C */ addiu $a2, $sp, 0x2c +/* DCCDD8 80240108 C6A00028 */ lwc1 $f0, 0x28($s5) +/* DCCDDC 8024010C C6A2002C */ lwc1 $f2, 0x2c($s5) +/* DCCDE0 80240110 C6A40030 */ lwc1 $f4, 0x30($s5) +/* DCCDE4 80240114 3C01447A */ lui $at, 0x447a +/* DCCDE8 80240118 44813000 */ mtc1 $at, $f6 +/* DCCDEC 8024011C 27A70030 */ addiu $a3, $sp, 0x30 +/* DCCDF0 80240120 E7A00028 */ swc1 $f0, 0x28($sp) +/* DCCDF4 80240124 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DCCDF8 80240128 E7A40030 */ swc1 $f4, 0x30($sp) +/* DCCDFC 8024012C E7A60034 */ swc1 $f6, 0x34($sp) +/* DCCE00 80240130 AFA20010 */ sw $v0, 0x10($sp) +/* DCCE04 80240134 27A20038 */ addiu $v0, $sp, 0x38 +/* DCCE08 80240138 AFA20014 */ sw $v0, 0x14($sp) +/* DCCE0C 8024013C 27A2003C */ addiu $v0, $sp, 0x3c +/* DCCE10 80240140 AFA20018 */ sw $v0, 0x18($sp) +/* DCCE14 80240144 27A20040 */ addiu $v0, $sp, 0x40 +/* DCCE18 80240148 AFA2001C */ sw $v0, 0x1c($sp) +/* DCCE1C 8024014C 27A20044 */ addiu $v0, $sp, 0x44 +/* DCCE20 80240150 0C03791B */ jal func_800DE46C +/* DCCE24 80240154 AFA20020 */ sw $v0, 0x20($sp) +/* DCCE28 80240158 0040402D */ daddu $t0, $v0, $zero +/* DCCE2C 8024015C 0000302D */ daddu $a2, $zero, $zero +/* DCCE30 80240160 24050004 */ addiu $a1, $zero, 4 +/* DCCE34 80240164 3C078024 */ lui $a3, 0x8024 +/* DCCE38 80240168 24E73A90 */ addiu $a3, $a3, 0x3a90 +/* DCCE3C 8024016C 00E0202D */ daddu $a0, $a3, $zero +/* DCCE40 80240170 3C038024 */ lui $v1, 0x8024 +/* DCCE44 80240174 24633A80 */ addiu $v1, $v1, 0x3a80 +.L80240178: +/* DCCE48 80240178 8C620000 */ lw $v0, ($v1) +/* DCCE4C 8024017C 55020007 */ bnel $t0, $v0, .L8024019C +/* DCCE50 80240180 24A50008 */ addiu $a1, $a1, 8 +/* DCCE54 80240184 C4800000 */ lwc1 $f0, ($a0) +/* DCCE58 80240188 00A71021 */ addu $v0, $a1, $a3 +/* DCCE5C 8024018C E6A0001C */ swc1 $f0, 0x1c($s5) +/* DCCE60 80240190 C4400000 */ lwc1 $f0, ($v0) +/* DCCE64 80240194 E6A00024 */ swc1 $f0, 0x24($s5) +/* DCCE68 80240198 24A50008 */ addiu $a1, $a1, 8 +.L8024019C: +/* DCCE6C 8024019C 24840008 */ addiu $a0, $a0, 8 +/* DCCE70 802401A0 24C60001 */ addiu $a2, $a2, 1 +/* DCCE74 802401A4 2CC20004 */ sltiu $v0, $a2, 4 +/* DCCE78 802401A8 1440FFF3 */ bnez $v0, .L80240178 +/* DCCE7C 802401AC 24630004 */ addiu $v1, $v1, 4 +/* DCCE80 802401B0 24020001 */ addiu $v0, $zero, 1 +/* DCCE84 802401B4 080900A6 */ j .L80240298 +/* DCCE88 802401B8 AE020084 */ sw $v0, 0x84($s0) +.L802401BC: +/* DCCE8C 802401BC 82830003 */ lb $v1, 3($s4) +.L802401C0: +/* DCCE90 802401C0 24020008 */ addiu $v0, $zero, 8 +.L802401C4: +/* DCCE94 802401C4 14620004 */ bne $v1, $v0, .L802401D8 +/* DCCE98 802401C8 00000000 */ nop +/* DCCE9C 802401CC 82820000 */ lb $v0, ($s4) +/* DCCEA0 802401D0 14400032 */ bnez $v0, .L8024029C +/* DCCEA4 802401D4 24020002 */ addiu $v0, $zero, 2 +.L802401D8: +/* DCCEA8 802401D8 3C178016 */ lui $s7, 0x8016 +/* DCCEAC 802401DC 26F7A550 */ addiu $s7, $s7, -0x5ab0 +/* DCCEB0 802401E0 24120004 */ addiu $s2, $zero, 4 +/* DCCEB4 802401E4 3C168024 */ lui $s6, 0x8024 +/* DCCEB8 802401E8 26D63A90 */ addiu $s6, $s6, 0x3a90 +/* DCCEBC 802401EC 02C0802D */ daddu $s0, $s6, $zero +/* DCCEC0 802401F0 3C118024 */ lui $s1, 0x8024 +/* DCCEC4 802401F4 26313A80 */ addiu $s1, $s1, 0x3a80 +/* DCCEC8 802401F8 261E0020 */ addiu $fp, $s0, 0x20 +.L802401FC: +/* DCCECC 802401FC 86E20002 */ lh $v0, 2($s7) +/* DCCED0 80240200 8E230000 */ lw $v1, ($s1) +/* DCCED4 80240204 10430004 */ beq $v0, $v1, .L80240218 +/* DCCED8 80240208 00000000 */ nop +/* DCCEDC 8024020C 86E20004 */ lh $v0, 4($s7) +/* DCCEE0 80240210 14430006 */ bne $v0, $v1, .L8024022C +/* DCCEE4 80240214 00000000 */ nop +.L80240218: +/* DCCEE8 80240218 C6000000 */ lwc1 $f0, ($s0) +/* DCCEEC 8024021C 02561021 */ addu $v0, $s2, $s6 +/* DCCEF0 80240220 E6A0001C */ swc1 $f0, 0x1c($s5) +/* DCCEF4 80240224 C4400000 */ lwc1 $f0, ($v0) +/* DCCEF8 80240228 E6A00024 */ swc1 $f0, 0x24($s5) +.L8024022C: +/* DCCEFC 8024022C 86630084 */ lh $v1, 0x84($s3) +/* DCCF00 80240230 8E220000 */ lw $v0, ($s1) +/* DCCF04 80240234 54620014 */ bnel $v1, $v0, .L80240288 +/* DCCF08 80240238 26520008 */ addiu $s2, $s2, 8 +/* DCCF0C 8024023C 82830003 */ lb $v1, 3($s4) +/* DCCF10 80240240 24020002 */ addiu $v0, $zero, 2 +/* DCCF14 80240244 14620004 */ bne $v1, $v0, .L80240258 +/* DCCF18 80240248 00000000 */ nop +/* DCCF1C 8024024C 82820000 */ lb $v0, ($s4) +/* DCCF20 80240250 5440000D */ bnel $v0, $zero, .L80240288 +/* DCCF24 80240254 26520008 */ addiu $s2, $s2, 8 +.L80240258: +/* DCCF28 80240258 C6600038 */ lwc1 $f0, 0x38($s3) +/* DCCF2C 8024025C C6020000 */ lwc1 $f2, ($s0) +/* DCCF30 80240260 46020000 */ add.s $f0, $f0, $f2 +/* DCCF34 80240264 C6620040 */ lwc1 $f2, 0x40($s3) +/* DCCF38 80240268 02561021 */ addu $v0, $s2, $s6 +/* DCCF3C 8024026C E6600038 */ swc1 $f0, 0x38($s3) +/* DCCF40 80240270 C4400000 */ lwc1 $f0, ($v0) +/* DCCF44 80240274 46001080 */ add.s $f2, $f2, $f0 +/* DCCF48 80240278 0260202D */ daddu $a0, $s3, $zero +/* DCCF4C 8024027C 0C03BD17 */ jal clear_partner_move_history +/* DCCF50 80240280 E6620040 */ swc1 $f2, 0x40($s3) +/* DCCF54 80240284 26520008 */ addiu $s2, $s2, 8 +.L80240288: +/* DCCF58 80240288 26100008 */ addiu $s0, $s0, 8 +/* DCCF5C 8024028C 021E102B */ sltu $v0, $s0, $fp +/* DCCF60 80240290 1440FFDA */ bnez $v0, .L802401FC +/* DCCF64 80240294 26310004 */ addiu $s1, $s1, 4 +.L80240298: +/* DCCF68 80240298 24020002 */ addiu $v0, $zero, 2 +.L8024029C: +/* DCCF6C 8024029C 8FBF006C */ lw $ra, 0x6c($sp) +/* DCCF70 802402A0 8FBE0068 */ lw $fp, 0x68($sp) +/* DCCF74 802402A4 8FB70064 */ lw $s7, 0x64($sp) +/* DCCF78 802402A8 8FB60060 */ lw $s6, 0x60($sp) +/* DCCF7C 802402AC 8FB5005C */ lw $s5, 0x5c($sp) +/* DCCF80 802402B0 8FB40058 */ lw $s4, 0x58($sp) +/* DCCF84 802402B4 8FB30054 */ lw $s3, 0x54($sp) +/* DCCF88 802402B8 8FB20050 */ lw $s2, 0x50($sp) +/* DCCF8C 802402BC 8FB1004C */ lw $s1, 0x4c($sp) +/* DCCF90 802402C0 8FB00048 */ lw $s0, 0x48($sp) +/* DCCF94 802402C4 03E00008 */ jr $ra +/* DCCF98 802402C8 27BD0070 */ addiu $sp, $sp, 0x70 +/* DCCF9C 802402CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802402D0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802402D0_DCCCD0.s new file mode 100644 index 0000000000..cd66a49ac9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802402D0_DCCCD0.s @@ -0,0 +1,169 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D0_DCCFA0 +/* DCCFA0 802402D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCCFA4 802402D4 AFB20028 */ sw $s2, 0x28($sp) +/* DCCFA8 802402D8 0080902D */ daddu $s2, $a0, $zero +/* DCCFAC 802402DC AFBF002C */ sw $ra, 0x2c($sp) +/* DCCFB0 802402E0 AFB10024 */ sw $s1, 0x24($sp) +/* DCCFB4 802402E4 AFB00020 */ sw $s0, 0x20($sp) +/* DCCFB8 802402E8 8E50000C */ lw $s0, 0xc($s2) +/* DCCFBC 802402EC 8E050000 */ lw $a1, ($s0) +/* DCCFC0 802402F0 0C0B1EAF */ jal get_variable +/* DCCFC4 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DCCFC8 802402F8 8E050000 */ lw $a1, ($s0) +/* DCCFCC 802402FC 26100004 */ addiu $s0, $s0, 4 +/* DCCFD0 80240300 0240202D */ daddu $a0, $s2, $zero +/* DCCFD4 80240304 0C0B1EAF */ jal get_variable +/* DCCFD8 80240308 0040882D */ daddu $s1, $v0, $zero +/* DCCFDC 8024030C 0240202D */ daddu $a0, $s2, $zero +/* DCCFE0 80240310 8E050000 */ lw $a1, ($s0) +/* DCCFE4 80240314 0C0B1EAF */ jal get_variable +/* DCCFE8 80240318 0040802D */ daddu $s0, $v0, $zero +/* DCCFEC 8024031C 0040282D */ daddu $a1, $v0, $zero +/* DCCFF0 80240320 2402FFFF */ addiu $v0, $zero, -1 +/* DCCFF4 80240324 1222001A */ beq $s1, $v0, .L80240390 +/* DCCFF8 80240328 3C04B60B */ lui $a0, 0xb60b +/* DCCFFC 8024032C 348460B7 */ ori $a0, $a0, 0x60b7 +/* DCD000 80240330 02240018 */ mult $s1, $a0 +/* DCD004 80240334 001117C3 */ sra $v0, $s1, 0x1f +/* DCD008 80240338 00005810 */ mfhi $t3 +/* DCD00C 8024033C 01711821 */ addu $v1, $t3, $s1 +/* DCD010 80240340 00031A03 */ sra $v1, $v1, 8 +/* DCD014 80240344 00621823 */ subu $v1, $v1, $v0 +/* DCD018 80240348 00031040 */ sll $v0, $v1, 1 +/* DCD01C 8024034C 00431021 */ addu $v0, $v0, $v1 +/* DCD020 80240350 00021900 */ sll $v1, $v0, 4 +/* DCD024 80240354 00621823 */ subu $v1, $v1, $v0 +/* DCD028 80240358 000318C0 */ sll $v1, $v1, 3 +/* DCD02C 8024035C 02231823 */ subu $v1, $s1, $v1 +/* DCD030 80240360 00640018 */ mult $v1, $a0 +/* DCD034 80240364 00005810 */ mfhi $t3 +/* DCD038 80240368 01631021 */ addu $v0, $t3, $v1 +/* DCD03C 8024036C 00021143 */ sra $v0, $v0, 5 +/* DCD040 80240370 00031FC3 */ sra $v1, $v1, 0x1f +/* DCD044 80240374 00431023 */ subu $v0, $v0, $v1 +/* DCD048 80240378 00021080 */ sll $v0, $v0, 2 +/* DCD04C 8024037C 3C018024 */ lui $at, 0x8024 +/* DCD050 80240380 00220821 */ addu $at, $at, $v0 +/* DCD054 80240384 8C2251AC */ lw $v0, 0x51ac($at) +/* DCD058 80240388 080900E5 */ j .L80240394 +/* DCD05C 8024038C AFA20010 */ sw $v0, 0x10($sp) +.L80240390: +/* DCD060 80240390 AFA00010 */ sw $zero, 0x10($sp) +.L80240394: +/* DCD064 80240394 2402FFFF */ addiu $v0, $zero, -1 +/* DCD068 80240398 1202001B */ beq $s0, $v0, .L80240408 +/* DCD06C 8024039C 3C04B60B */ lui $a0, 0xb60b +/* DCD070 802403A0 348460B7 */ ori $a0, $a0, 0x60b7 +/* DCD074 802403A4 02040018 */ mult $s0, $a0 +/* DCD078 802403A8 001017C3 */ sra $v0, $s0, 0x1f +/* DCD07C 802403AC 00005810 */ mfhi $t3 +/* DCD080 802403B0 01701821 */ addu $v1, $t3, $s0 +/* DCD084 802403B4 00031A03 */ sra $v1, $v1, 8 +/* DCD088 802403B8 00621823 */ subu $v1, $v1, $v0 +/* DCD08C 802403BC 00031040 */ sll $v0, $v1, 1 +/* DCD090 802403C0 00431021 */ addu $v0, $v0, $v1 +/* DCD094 802403C4 00021900 */ sll $v1, $v0, 4 +/* DCD098 802403C8 00621823 */ subu $v1, $v1, $v0 +/* DCD09C 802403CC 000318C0 */ sll $v1, $v1, 3 +/* DCD0A0 802403D0 02031823 */ subu $v1, $s0, $v1 +/* DCD0A4 802403D4 00640018 */ mult $v1, $a0 +/* DCD0A8 802403D8 00005810 */ mfhi $t3 +/* DCD0AC 802403DC 01631021 */ addu $v0, $t3, $v1 +/* DCD0B0 802403E0 00021143 */ sra $v0, $v0, 5 +/* DCD0B4 802403E4 00031FC3 */ sra $v1, $v1, 0x1f +/* DCD0B8 802403E8 00431023 */ subu $v0, $v0, $v1 +/* DCD0BC 802403EC 24420008 */ addiu $v0, $v0, 8 +/* DCD0C0 802403F0 00021080 */ sll $v0, $v0, 2 +/* DCD0C4 802403F4 3C018024 */ lui $at, 0x8024 +/* DCD0C8 802403F8 00220821 */ addu $at, $at, $v0 +/* DCD0CC 802403FC 8C2251AC */ lw $v0, 0x51ac($at) +/* DCD0D0 80240400 08090103 */ j .L8024040C +/* DCD0D4 80240404 AFA20014 */ sw $v0, 0x14($sp) +.L80240408: +/* DCD0D8 80240408 AFA00014 */ sw $zero, 0x14($sp) +.L8024040C: +/* DCD0DC 8024040C 2402FFFF */ addiu $v0, $zero, -1 +/* DCD0E0 80240410 10A2001B */ beq $a1, $v0, .L80240480 +/* DCD0E4 80240414 3C04B60B */ lui $a0, 0xb60b +/* DCD0E8 80240418 348460B7 */ ori $a0, $a0, 0x60b7 +/* DCD0EC 8024041C 00A40018 */ mult $a1, $a0 +/* DCD0F0 80240420 000517C3 */ sra $v0, $a1, 0x1f +/* DCD0F4 80240424 00005810 */ mfhi $t3 +/* DCD0F8 80240428 01651821 */ addu $v1, $t3, $a1 +/* DCD0FC 8024042C 00031A03 */ sra $v1, $v1, 8 +/* DCD100 80240430 00621823 */ subu $v1, $v1, $v0 +/* DCD104 80240434 00031040 */ sll $v0, $v1, 1 +/* DCD108 80240438 00431021 */ addu $v0, $v0, $v1 +/* DCD10C 8024043C 00021900 */ sll $v1, $v0, 4 +/* DCD110 80240440 00621823 */ subu $v1, $v1, $v0 +/* DCD114 80240444 000318C0 */ sll $v1, $v1, 3 +/* DCD118 80240448 00A31823 */ subu $v1, $a1, $v1 +/* DCD11C 8024044C 00640018 */ mult $v1, $a0 +/* DCD120 80240450 00005810 */ mfhi $t3 +/* DCD124 80240454 01631021 */ addu $v0, $t3, $v1 +/* DCD128 80240458 00021143 */ sra $v0, $v0, 5 +/* DCD12C 8024045C 00031FC3 */ sra $v1, $v1, 0x1f +/* DCD130 80240460 00431023 */ subu $v0, $v0, $v1 +/* DCD134 80240464 24420010 */ addiu $v0, $v0, 0x10 +/* DCD138 80240468 00021080 */ sll $v0, $v0, 2 +/* DCD13C 8024046C 3C018024 */ lui $at, 0x8024 +/* DCD140 80240470 00220821 */ addu $at, $at, $v0 +/* DCD144 80240474 8C2251AC */ lw $v0, 0x51ac($at) +/* DCD148 80240478 08090121 */ j .L80240484 +/* DCD14C 8024047C AFA20018 */ sw $v0, 0x18($sp) +.L80240480: +/* DCD150 80240480 AFA00018 */ sw $zero, 0x18($sp) +.L80240484: +/* DCD154 80240484 0000482D */ daddu $t1, $zero, $zero +/* DCD158 80240488 27A80010 */ addiu $t0, $sp, 0x10 +/* DCD15C 8024048C 0100502D */ daddu $t2, $t0, $zero +.L80240490: +/* DCD160 80240490 24060001 */ addiu $a2, $zero, 1 +/* DCD164 80240494 0100382D */ daddu $a3, $t0, $zero +/* DCD168 80240498 25450004 */ addiu $a1, $t2, 4 +.L8024049C: +/* DCD16C 8024049C 8CE40000 */ lw $a0, ($a3) +/* DCD170 802404A0 8CA30000 */ lw $v1, ($a1) +/* DCD174 802404A4 0064102A */ slt $v0, $v1, $a0 +/* DCD178 802404A8 10400003 */ beqz $v0, .L802404B8 +/* DCD17C 802404AC 24C60001 */ addiu $a2, $a2, 1 +/* DCD180 802404B0 ACE30000 */ sw $v1, ($a3) +/* DCD184 802404B4 ACA40000 */ sw $a0, ($a1) +.L802404B8: +/* DCD188 802404B8 28C20003 */ slti $v0, $a2, 3 +/* DCD18C 802404BC 1440FFF7 */ bnez $v0, .L8024049C +/* DCD190 802404C0 24A50004 */ addiu $a1, $a1, 4 +/* DCD194 802404C4 25290001 */ addiu $t1, $t1, 1 +/* DCD198 802404C8 29220002 */ slti $v0, $t1, 2 +/* DCD19C 802404CC 1440FFF0 */ bnez $v0, .L80240490 +/* DCD1A0 802404D0 25080004 */ addiu $t0, $t0, 4 +/* DCD1A4 802404D4 8FA30014 */ lw $v1, 0x14($sp) +/* DCD1A8 802404D8 8FA20010 */ lw $v0, 0x10($sp) +/* DCD1AC 802404DC 14620007 */ bne $v1, $v0, .L802404FC +/* DCD1B0 802404E0 00000000 */ nop +/* DCD1B4 802404E4 8FA20018 */ lw $v0, 0x18($sp) +/* DCD1B8 802404E8 14620008 */ bne $v1, $v0, .L8024050C +/* DCD1BC 802404EC 24020002 */ addiu $v0, $zero, 2 +/* DCD1C0 802404F0 24020003 */ addiu $v0, $zero, 3 +/* DCD1C4 802404F4 08090144 */ j .L80240510 +/* DCD1C8 802404F8 AE4200AC */ sw $v0, 0xac($s2) +.L802404FC: +/* DCD1CC 802404FC 8FA20018 */ lw $v0, 0x18($sp) +/* DCD1D0 80240500 54620003 */ bnel $v1, $v0, .L80240510 +/* DCD1D4 80240504 AE4000AC */ sw $zero, 0xac($s2) +/* DCD1D8 80240508 24020002 */ addiu $v0, $zero, 2 +.L8024050C: +/* DCD1DC 8024050C AE4200AC */ sw $v0, 0xac($s2) +.L80240510: +/* DCD1E0 80240510 8FA30014 */ lw $v1, 0x14($sp) +/* DCD1E4 80240514 AE4300B0 */ sw $v1, 0xb0($s2) +/* DCD1E8 80240518 8FBF002C */ lw $ra, 0x2c($sp) +/* DCD1EC 8024051C 8FB20028 */ lw $s2, 0x28($sp) +/* DCD1F0 80240520 8FB10024 */ lw $s1, 0x24($sp) +/* DCD1F4 80240524 8FB00020 */ lw $s0, 0x20($sp) +/* DCD1F8 80240528 24020002 */ addiu $v0, $zero, 2 +/* DCD1FC 8024052C 03E00008 */ jr $ra +/* DCD200 80240530 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240534_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240534_DCCCD0.s new file mode 100644 index 0000000000..6decb04292 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240534_DCCCD0.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240534_DCD204 +/* DCD204 80240534 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DCD208 80240538 AFB40040 */ sw $s4, 0x40($sp) +/* DCD20C 8024053C AFBF0044 */ sw $ra, 0x44($sp) +/* DCD210 80240540 AFB3003C */ sw $s3, 0x3c($sp) +/* DCD214 80240544 AFB20038 */ sw $s2, 0x38($sp) +/* DCD218 80240548 AFB10034 */ sw $s1, 0x34($sp) +/* DCD21C 8024054C AFB00030 */ sw $s0, 0x30($sp) +/* DCD220 80240550 F7B40048 */ sdc1 $f20, 0x48($sp) +/* DCD224 80240554 10A0001B */ beqz $a1, .L802405C4 +/* DCD228 80240558 0080A02D */ daddu $s4, $a0, $zero +/* DCD22C 8024055C 0C00AB39 */ jal heap_malloc +/* DCD230 80240560 24040010 */ addiu $a0, $zero, 0x10 +/* DCD234 80240564 0000902D */ daddu $s2, $zero, $zero +/* DCD238 80240568 0040802D */ daddu $s0, $v0, $zero +/* DCD23C 8024056C 3C0142C8 */ lui $at, 0x42c8 +/* DCD240 80240570 4481A000 */ mtc1 $at, $f20 +/* DCD244 80240574 3C118024 */ lui $s1, 0x8024 +/* DCD248 80240578 2631636C */ addiu $s1, $s1, 0x636c +/* DCD24C 8024057C AE900070 */ sw $s0, 0x70($s4) +.L80240580: +/* DCD250 80240580 8E240000 */ lw $a0, ($s1) +/* DCD254 80240584 0C046C04 */ jal get_model_list_index_from_tree_index +/* DCD258 80240588 26310004 */ addiu $s1, $s1, 4 +/* DCD25C 8024058C 0C046B4C */ jal get_model_from_list_index +/* DCD260 80240590 0040202D */ daddu $a0, $v0, $zero +/* DCD264 80240594 C440009C */ lwc1 $f0, 0x9c($v0) +/* DCD268 80240598 26520001 */ addiu $s2, $s2, 1 +/* DCD26C 8024059C 46140001 */ sub.s $f0, $f0, $f20 +/* DCD270 802405A0 8C450098 */ lw $a1, 0x98($v0) +/* DCD274 802405A4 8C4700A0 */ lw $a3, 0xa0($v0) +/* DCD278 802405A8 44060000 */ mfc1 $a2, $f0 +/* DCD27C 802405AC 0C044898 */ jal create_shadow_type +/* DCD280 802405B0 24040001 */ addiu $a0, $zero, 1 +/* DCD284 802405B4 AE020000 */ sw $v0, ($s0) +/* DCD288 802405B8 2E420004 */ sltiu $v0, $s2, 4 +/* DCD28C 802405BC 1440FFF0 */ bnez $v0, .L80240580 +/* DCD290 802405C0 26100004 */ addiu $s0, $s0, 4 +.L802405C4: +/* DCD294 802405C4 0000902D */ daddu $s2, $zero, $zero +/* DCD298 802405C8 3C138024 */ lui $s3, 0x8024 +/* DCD29C 802405CC 2673636C */ addiu $s3, $s3, 0x636c +/* DCD2A0 802405D0 3C013FA6 */ lui $at, 0x3fa6 +/* DCD2A4 802405D4 34216666 */ ori $at, $at, 0x6666 +/* DCD2A8 802405D8 4481A000 */ mtc1 $at, $f20 +/* DCD2AC 802405DC 8E910070 */ lw $s1, 0x70($s4) +.L802405E0: +/* DCD2B0 802405E0 8E240000 */ lw $a0, ($s1) +/* DCD2B4 802405E4 26310004 */ addiu $s1, $s1, 4 +/* DCD2B8 802405E8 0C044181 */ jal get_shadow_by_index +/* DCD2BC 802405EC 26520001 */ addiu $s2, $s2, 1 +/* DCD2C0 802405F0 8E640000 */ lw $a0, ($s3) +/* DCD2C4 802405F4 0C046C04 */ jal get_model_list_index_from_tree_index +/* DCD2C8 802405F8 0040802D */ daddu $s0, $v0, $zero +/* DCD2CC 802405FC 0C046B4C */ jal get_model_from_list_index +/* DCD2D0 80240600 0040202D */ daddu $a0, $v0, $zero +/* DCD2D4 80240604 27A40018 */ addiu $a0, $sp, 0x18 +/* DCD2D8 80240608 27A5001C */ addiu $a1, $sp, 0x1c +/* DCD2DC 8024060C 27A60020 */ addiu $a2, $sp, 0x20 +/* DCD2E0 80240610 27A70024 */ addiu $a3, $sp, 0x24 +/* DCD2E4 80240614 C4400098 */ lwc1 $f0, 0x98($v0) +/* DCD2E8 80240618 C442009C */ lwc1 $f2, 0x9c($v0) +/* DCD2EC 8024061C C44400A0 */ lwc1 $f4, 0xa0($v0) +/* DCD2F0 80240620 3C01447A */ lui $at, 0x447a +/* DCD2F4 80240624 44813000 */ mtc1 $at, $f6 +/* DCD2F8 80240628 27A20028 */ addiu $v0, $sp, 0x28 +/* DCD2FC 8024062C E7A00018 */ swc1 $f0, 0x18($sp) +/* DCD300 80240630 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DCD304 80240634 E7A40020 */ swc1 $f4, 0x20($sp) +/* DCD308 80240638 E7A6002C */ swc1 $f6, 0x2c($sp) +/* DCD30C 8024063C AFA20010 */ sw $v0, 0x10($sp) +/* DCD310 80240640 27A2002C */ addiu $v0, $sp, 0x2c +/* DCD314 80240644 0C04497A */ jal func_801125E8 +/* DCD318 80240648 AFA20014 */ sw $v0, 0x14($sp) +/* DCD31C 8024064C 8FA5002C */ lw $a1, 0x2c($sp) +/* DCD320 80240650 0C044A17 */ jal set_standard_shadow_scale +/* DCD324 80240654 0200202D */ daddu $a0, $s0, $zero +/* DCD328 80240658 26730004 */ addiu $s3, $s3, 4 +/* DCD32C 8024065C C7A00018 */ lwc1 $f0, 0x18($sp) +/* DCD330 80240660 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* DCD334 80240664 C604001C */ lwc1 $f4, 0x1c($s0) +/* DCD338 80240668 2E420004 */ sltiu $v0, $s2, 4 +/* DCD33C 8024066C AE00002C */ sw $zero, 0x2c($s0) +/* DCD340 80240670 46142102 */ mul.s $f4, $f4, $f20 +/* DCD344 80240674 00000000 */ nop +/* DCD348 80240678 E6000010 */ swc1 $f0, 0x10($s0) +/* DCD34C 8024067C E6020014 */ swc1 $f2, 0x14($s0) +/* DCD350 80240680 C7A60020 */ lwc1 $f6, 0x20($sp) +/* DCD354 80240684 C7A80024 */ lwc1 $f8, 0x24($sp) +/* DCD358 80240688 C6000024 */ lwc1 $f0, 0x24($s0) +/* DCD35C 8024068C C7A20028 */ lwc1 $f2, 0x28($sp) +/* DCD360 80240690 46140002 */ mul.s $f0, $f0, $f20 +/* DCD364 80240694 00000000 */ nop +/* DCD368 80240698 E6060018 */ swc1 $f6, 0x18($s0) +/* DCD36C 8024069C E6080028 */ swc1 $f8, 0x28($s0) +/* DCD370 802406A0 E6020030 */ swc1 $f2, 0x30($s0) +/* DCD374 802406A4 E604001C */ swc1 $f4, 0x1c($s0) +/* DCD378 802406A8 1440FFCD */ bnez $v0, .L802405E0 +/* DCD37C 802406AC E6000024 */ swc1 $f0, 0x24($s0) +/* DCD380 802406B0 8FBF0044 */ lw $ra, 0x44($sp) +/* DCD384 802406B4 8FB40040 */ lw $s4, 0x40($sp) +/* DCD388 802406B8 8FB3003C */ lw $s3, 0x3c($sp) +/* DCD38C 802406BC 8FB20038 */ lw $s2, 0x38($sp) +/* DCD390 802406C0 8FB10034 */ lw $s1, 0x34($sp) +/* DCD394 802406C4 8FB00030 */ lw $s0, 0x30($sp) +/* DCD398 802406C8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DCD39C 802406CC 0000102D */ daddu $v0, $zero, $zero +/* DCD3A0 802406D0 03E00008 */ jr $ra +/* DCD3A4 802406D4 27BD0050 */ addiu $sp, $sp, 0x50 +/* DCD3A8 802406D8 00000000 */ nop +/* DCD3AC 802406DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802406E0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802406E0_DCCCD0.s new file mode 100644 index 0000000000..18bd2e0e53 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802406E0_DCCCD0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_DCD3B0 +/* DCD3B0 802406E0 3C018011 */ lui $at, 0x8011 +/* DCD3B4 802406E4 C422EFF0 */ lwc1 $f2, -0x1010($at) +/* DCD3B8 802406E8 3C014454 */ lui $at, 0x4454 +/* DCD3BC 802406EC 34218000 */ ori $at, $at, 0x8000 +/* DCD3C0 802406F0 44810000 */ mtc1 $at, $f0 +/* DCD3C4 802406F4 00000000 */ nop +/* DCD3C8 802406F8 4600103C */ c.lt.s $f2, $f0 +/* DCD3CC 802406FC 00000000 */ nop +/* DCD3D0 80240700 45010002 */ bc1t .L8024070C +/* DCD3D4 80240704 0000102D */ daddu $v0, $zero, $zero +/* DCD3D8 80240708 24020002 */ addiu $v0, $zero, 2 +.L8024070C: +/* DCD3DC 8024070C 03E00008 */ jr $ra +/* DCD3E0 80240710 00000000 */ nop +/* DCD3E4 80240714 00000000 */ nop +/* DCD3E8 80240718 00000000 */ nop +/* DCD3EC 8024071C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240720_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240720_DCCCD0.s new file mode 100644 index 0000000000..f069f0c45a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240720_DCCCD0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240720_DCD3F0 +/* DCD3F0 80240720 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCD3F4 80240724 AFB00010 */ sw $s0, 0x10($sp) +/* DCD3F8 80240728 3C108024 */ lui $s0, 0x8024 +/* DCD3FC 8024072C 26107010 */ addiu $s0, $s0, 0x7010 +/* DCD400 80240730 AFBF0018 */ sw $ra, 0x18($sp) +/* DCD404 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* DCD408 80240738 8E020000 */ lw $v0, ($s0) +/* DCD40C 8024073C 14400010 */ bnez $v0, .L80240780 +/* DCD410 80240740 0080882D */ daddu $s1, $a0, $zero +/* DCD414 80240744 0C00AB39 */ jal heap_malloc +/* DCD418 80240748 24040040 */ addiu $a0, $zero, 0x40 +/* DCD41C 8024074C AE020000 */ sw $v0, ($s0) +/* DCD420 80240750 0000182D */ daddu $v1, $zero, $zero +/* DCD424 80240754 0040282D */ daddu $a1, $v0, $zero +/* DCD428 80240758 0220202D */ daddu $a0, $s1, $zero +.L8024075C: +/* DCD42C 8024075C 8C820084 */ lw $v0, 0x84($a0) +/* DCD430 80240760 24840004 */ addiu $a0, $a0, 4 +/* DCD434 80240764 24630001 */ addiu $v1, $v1, 1 +/* DCD438 80240768 ACA20000 */ sw $v0, ($a1) +/* DCD43C 8024076C 28620010 */ slti $v0, $v1, 0x10 +/* DCD440 80240770 1440FFFA */ bnez $v0, .L8024075C +/* DCD444 80240774 24A50004 */ addiu $a1, $a1, 4 +/* DCD448 80240778 080901EF */ j .L802407BC +/* DCD44C 8024077C 00000000 */ nop +.L80240780: +/* DCD450 80240780 0000182D */ daddu $v1, $zero, $zero +/* DCD454 80240784 0040282D */ daddu $a1, $v0, $zero +/* DCD458 80240788 0220202D */ daddu $a0, $s1, $zero +.L8024078C: +/* DCD45C 8024078C 8CA20000 */ lw $v0, ($a1) +/* DCD460 80240790 24A50004 */ addiu $a1, $a1, 4 +/* DCD464 80240794 24630001 */ addiu $v1, $v1, 1 +/* DCD468 80240798 AC820084 */ sw $v0, 0x84($a0) +/* DCD46C 8024079C 28620010 */ slti $v0, $v1, 0x10 +/* DCD470 802407A0 1440FFFA */ bnez $v0, .L8024078C +/* DCD474 802407A4 24840004 */ addiu $a0, $a0, 4 +/* DCD478 802407A8 3C108024 */ lui $s0, 0x8024 +/* DCD47C 802407AC 26107010 */ addiu $s0, $s0, 0x7010 +/* DCD480 802407B0 0C00AB4B */ jal heap_free +/* DCD484 802407B4 8E040000 */ lw $a0, ($s0) +/* DCD488 802407B8 AE000000 */ sw $zero, ($s0) +.L802407BC: +/* DCD48C 802407BC 8FBF0018 */ lw $ra, 0x18($sp) +/* DCD490 802407C0 8FB10014 */ lw $s1, 0x14($sp) +/* DCD494 802407C4 8FB00010 */ lw $s0, 0x10($sp) +/* DCD498 802407C8 24020002 */ addiu $v0, $zero, 2 +/* DCD49C 802407CC 03E00008 */ jr $ra +/* DCD4A0 802407D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802407D4_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802407D4_DCCCD0.s new file mode 100644 index 0000000000..d38dcf2fd1 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802407D4_DCCCD0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D4_DCD4A4 +/* DCD4A4 802407D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCD4A8 802407D8 AFB00010 */ sw $s0, 0x10($sp) +/* DCD4AC 802407DC 0080802D */ daddu $s0, $a0, $zero +/* DCD4B0 802407E0 AFBF0018 */ sw $ra, 0x18($sp) +/* DCD4B4 802407E4 AFB10014 */ sw $s1, 0x14($sp) +/* DCD4B8 802407E8 8E02000C */ lw $v0, 0xc($s0) +/* DCD4BC 802407EC 8C510000 */ lw $s1, ($v0) +/* DCD4C0 802407F0 0C0B1EAF */ jal get_variable +/* DCD4C4 802407F4 0220282D */ daddu $a1, $s1, $zero +/* DCD4C8 802407F8 3C03FFF0 */ lui $v1, 0xfff0 +/* DCD4CC 802407FC 3463FFFF */ ori $v1, $v1, 0xffff +/* DCD4D0 80240800 0200202D */ daddu $a0, $s0, $zero +/* DCD4D4 80240804 00431024 */ and $v0, $v0, $v1 +/* DCD4D8 80240808 00021140 */ sll $v0, $v0, 5 +/* DCD4DC 8024080C 3C068008 */ lui $a2, %hi(gItemTable) +/* DCD4E0 80240810 00C23021 */ addu $a2, $a2, $v0 +/* DCD4E4 80240814 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* DCD4E8 80240818 0C0B2026 */ jal set_variable +/* DCD4EC 8024081C 0220282D */ daddu $a1, $s1, $zero +/* DCD4F0 80240820 8FBF0018 */ lw $ra, 0x18($sp) +/* DCD4F4 80240824 8FB10014 */ lw $s1, 0x14($sp) +/* DCD4F8 80240828 8FB00010 */ lw $s0, 0x10($sp) +/* DCD4FC 8024082C 24020002 */ addiu $v0, $zero, 2 +/* DCD500 80240830 03E00008 */ jr $ra +/* DCD504 80240834 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240838.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240838.s new file mode 100644 index 0000000000..829d0dea6e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240838.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240838 +/* DCD508 80240838 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCD50C 8024083C AFB10014 */ sw $s1, 0x14($sp) +/* DCD510 80240840 0080882D */ daddu $s1, $a0, $zero +/* DCD514 80240844 AFBF001C */ sw $ra, 0x1c($sp) +/* DCD518 80240848 AFB20018 */ sw $s2, 0x18($sp) +/* DCD51C 8024084C AFB00010 */ sw $s0, 0x10($sp) +/* DCD520 80240850 8E240084 */ lw $a0, 0x84($s1) +/* DCD524 80240854 0C04C3D6 */ jal get_item_entity +/* DCD528 80240858 00A0802D */ daddu $s0, $a1, $zero +/* DCD52C 8024085C 12000005 */ beqz $s0, .L80240874 +/* DCD530 80240860 0040902D */ daddu $s2, $v0, $zero +/* DCD534 80240864 C640000C */ lwc1 $f0, 0xc($s2) +/* DCD538 80240868 AE200074 */ sw $zero, 0x74($s1) +/* DCD53C 8024086C AE20007C */ sw $zero, 0x7c($s1) +/* DCD540 80240870 E6200078 */ swc1 $f0, 0x78($s1) +.L80240874: +/* DCD544 80240874 8E230074 */ lw $v1, 0x74($s1) +/* DCD548 80240878 10600005 */ beqz $v1, .L80240890 +/* DCD54C 8024087C 24020001 */ addiu $v0, $zero, 1 +/* DCD550 80240880 10620024 */ beq $v1, $v0, .L80240914 +/* DCD554 80240884 00000000 */ nop +/* DCD558 80240888 0809025B */ j .L8024096C +/* DCD55C 8024088C 00000000 */ nop +.L80240890: +/* DCD560 80240890 3C013FC9 */ lui $at, 0x3fc9 +/* DCD564 80240894 34210FD8 */ ori $at, $at, 0xfd8 +/* DCD568 80240898 44810000 */ mtc1 $at, $f0 +/* DCD56C 8024089C C62C007C */ lwc1 $f12, 0x7c($s1) +/* DCD570 802408A0 46806320 */ cvt.s.w $f12, $f12 +/* DCD574 802408A4 46006302 */ mul.s $f12, $f12, $f0 +/* DCD578 802408A8 00000000 */ nop +/* DCD57C 802408AC 3C0141F0 */ lui $at, 0x41f0 +/* DCD580 802408B0 44810000 */ mtc1 $at, $f0 +/* DCD584 802408B4 0C00A874 */ jal cos_rad +/* DCD588 802408B8 46006303 */ div.s $f12, $f12, $f0 +/* DCD58C 802408BC 3C013F80 */ lui $at, 0x3f80 +/* DCD590 802408C0 44811000 */ mtc1 $at, $f2 +/* DCD594 802408C4 00000000 */ nop +/* DCD598 802408C8 46001081 */ sub.s $f2, $f2, $f0 +/* DCD59C 802408CC 3C0141A0 */ lui $at, 0x41a0 +/* DCD5A0 802408D0 44810000 */ mtc1 $at, $f0 +/* DCD5A4 802408D4 00000000 */ nop +/* DCD5A8 802408D8 46001082 */ mul.s $f2, $f2, $f0 +/* DCD5AC 802408DC 00000000 */ nop +/* DCD5B0 802408E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* DCD5B4 802408E4 46020000 */ add.s $f0, $f0, $f2 +/* DCD5B8 802408E8 E640000C */ swc1 $f0, 0xc($s2) +/* DCD5BC 802408EC 8E23007C */ lw $v1, 0x7c($s1) +/* DCD5C0 802408F0 2402001E */ addiu $v0, $zero, 0x1e +/* DCD5C4 802408F4 14620005 */ bne $v1, $v0, .L8024090C +/* DCD5C8 802408F8 24620001 */ addiu $v0, $v1, 1 +/* DCD5CC 802408FC 24020001 */ addiu $v0, $zero, 1 +/* DCD5D0 80240900 AE220074 */ sw $v0, 0x74($s1) +/* DCD5D4 80240904 0809025B */ j .L8024096C +/* DCD5D8 80240908 AE20007C */ sw $zero, 0x7c($s1) +.L8024090C: +/* DCD5DC 8024090C 0809025B */ j .L8024096C +/* DCD5E0 80240910 AE22007C */ sw $v0, 0x7c($s1) +.L80240914: +/* DCD5E4 80240914 C62C007C */ lwc1 $f12, 0x7c($s1) +/* DCD5E8 80240918 0C00A8D4 */ jal cos_deg +/* DCD5EC 8024091C 46806320 */ cvt.s.w $f12, $f12 +/* DCD5F0 80240920 3C014040 */ lui $at, 0x4040 +/* DCD5F4 80240924 44811000 */ mtc1 $at, $f2 +/* DCD5F8 80240928 00000000 */ nop +/* DCD5FC 8024092C 46020002 */ mul.s $f0, $f0, $f2 +/* DCD600 80240930 00000000 */ nop +/* DCD604 80240934 3C014188 */ lui $at, 0x4188 +/* DCD608 80240938 44812000 */ mtc1 $at, $f4 +/* DCD60C 8024093C C6220078 */ lwc1 $f2, 0x78($s1) +/* DCD610 80240940 46041080 */ add.s $f2, $f2, $f4 +/* DCD614 80240944 46001080 */ add.s $f2, $f2, $f0 +/* DCD618 80240948 E642000C */ swc1 $f2, 0xc($s2) +/* DCD61C 8024094C 8E22007C */ lw $v0, 0x7c($s1) +/* DCD620 80240950 24420009 */ addiu $v0, $v0, 9 +/* DCD624 80240954 44826000 */ mtc1 $v0, $f12 +/* DCD628 80240958 00000000 */ nop +/* DCD62C 8024095C 0C00A6C9 */ jal clamp_angle +/* DCD630 80240960 46806320 */ cvt.s.w $f12, $f12 +/* DCD634 80240964 4600018D */ trunc.w.s $f6, $f0 +/* DCD638 80240968 E626007C */ swc1 $f6, 0x7c($s1) +.L8024096C: +/* DCD63C 8024096C 8FBF001C */ lw $ra, 0x1c($sp) +/* DCD640 80240970 8FB20018 */ lw $s2, 0x18($sp) +/* DCD644 80240974 8FB10014 */ lw $s1, 0x14($sp) +/* DCD648 80240978 8FB00010 */ lw $s0, 0x10($sp) +/* DCD64C 8024097C 0000102D */ daddu $v0, $zero, $zero +/* DCD650 80240980 03E00008 */ jr $ra +/* DCD654 80240984 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240988_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240988_DCCCD0.s new file mode 100644 index 0000000000..e9c4ce0398 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240988_DCCCD0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240988_DCD658 +/* DCD658 80240988 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DCD65C 8024098C AFB00010 */ sw $s0, 0x10($sp) +/* DCD660 80240990 0080802D */ daddu $s0, $a0, $zero +/* DCD664 80240994 AFBF0014 */ sw $ra, 0x14($sp) +/* DCD668 80240998 8E02000C */ lw $v0, 0xc($s0) +/* DCD66C 8024099C 0C0B1EAF */ jal get_variable +/* DCD670 802409A0 8C450000 */ lw $a1, ($v0) +/* DCD674 802409A4 00021140 */ sll $v0, $v0, 5 +/* DCD678 802409A8 AE000084 */ sw $zero, 0x84($s0) +/* DCD67C 802409AC 3C018008 */ lui $at, 0x8008 +/* DCD680 802409B0 00220821 */ addu $at, $at, $v0 +/* DCD684 802409B4 942278F8 */ lhu $v0, 0x78f8($at) +/* DCD688 802409B8 30420040 */ andi $v0, $v0, 0x40 +/* DCD68C 802409BC 10400002 */ beqz $v0, .L802409C8 +/* DCD690 802409C0 24020001 */ addiu $v0, $zero, 1 +/* DCD694 802409C4 AE020084 */ sw $v0, 0x84($s0) +.L802409C8: +/* DCD698 802409C8 8FBF0014 */ lw $ra, 0x14($sp) +/* DCD69C 802409CC 8FB00010 */ lw $s0, 0x10($sp) +/* DCD6A0 802409D0 24020002 */ addiu $v0, $zero, 2 +/* DCD6A4 802409D4 03E00008 */ jr $ra +/* DCD6A8 802409D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* DCD6AC 802409DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802409E0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802409E0_DCCCD0.s new file mode 100644 index 0000000000..ae6db069fe --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802409E0_DCCCD0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E0_DCD6B0 +/* DCD6B0 802409E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCD6B4 802409E4 AFB10014 */ sw $s1, 0x14($sp) +/* DCD6B8 802409E8 0080882D */ daddu $s1, $a0, $zero +/* DCD6BC 802409EC AFBF0018 */ sw $ra, 0x18($sp) +/* DCD6C0 802409F0 AFB00010 */ sw $s0, 0x10($sp) +/* DCD6C4 802409F4 8E300148 */ lw $s0, 0x148($s1) +/* DCD6C8 802409F8 0C00EABB */ jal get_npc_unsafe +/* DCD6CC 802409FC 86040008 */ lh $a0, 8($s0) +/* DCD6D0 80240A00 C4400018 */ lwc1 $f0, 0x18($v0) +/* DCD6D4 80240A04 3C018025 */ lui $at, 0x8025 +/* DCD6D8 80240A08 D422A630 */ ldc1 $f2, -0x59d0($at) +/* DCD6DC 80240A0C 46000021 */ cvt.d.s $f0, $f0 +/* DCD6E0 80240A10 46220002 */ mul.d $f0, $f0, $f2 +/* DCD6E4 80240A14 00000000 */ nop +/* DCD6E8 80240A18 46200020 */ cvt.s.d $f0, $f0 +/* DCD6EC 80240A1C E4400018 */ swc1 $f0, 0x18($v0) +/* DCD6F0 80240A20 8E0300CC */ lw $v1, 0xcc($s0) +/* DCD6F4 80240A24 8C640030 */ lw $a0, 0x30($v1) +/* DCD6F8 80240A28 24030005 */ addiu $v1, $zero, 5 +/* DCD6FC 80240A2C A443008E */ sh $v1, 0x8e($v0) +/* DCD700 80240A30 AC440028 */ sw $a0, 0x28($v0) +/* DCD704 80240A34 2402000F */ addiu $v0, $zero, 0xf +/* DCD708 80240A38 AE220070 */ sw $v0, 0x70($s1) +/* DCD70C 80240A3C 8FBF0018 */ lw $ra, 0x18($sp) +/* DCD710 80240A40 8FB10014 */ lw $s1, 0x14($sp) +/* DCD714 80240A44 8FB00010 */ lw $s0, 0x10($sp) +/* DCD718 80240A48 03E00008 */ jr $ra +/* DCD71C 80240A4C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240A50_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240A50_DCCCD0.s new file mode 100644 index 0000000000..04ee6a33c0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240A50_DCCCD0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A50_DCD720 +/* DCD720 80240A50 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCD724 80240A54 AFB20028 */ sw $s2, 0x28($sp) +/* DCD728 80240A58 0080902D */ daddu $s2, $a0, $zero +/* DCD72C 80240A5C AFBF002C */ sw $ra, 0x2c($sp) +/* DCD730 80240A60 AFB10024 */ sw $s1, 0x24($sp) +/* DCD734 80240A64 AFB00020 */ sw $s0, 0x20($sp) +/* DCD738 80240A68 8E510148 */ lw $s1, 0x148($s2) +/* DCD73C 80240A6C 0C00EABB */ jal get_npc_unsafe +/* DCD740 80240A70 86240008 */ lh $a0, 8($s1) +/* DCD744 80240A74 0040802D */ daddu $s0, $v0, $zero +/* DCD748 80240A78 0200202D */ daddu $a0, $s0, $zero +/* DCD74C 80240A7C C600000C */ lwc1 $f0, 0xc($s0) +/* DCD750 80240A80 27A60018 */ addiu $a2, $sp, 0x18 +/* DCD754 80240A84 E7A00018 */ swc1 $f0, 0x18($sp) +/* DCD758 80240A88 AFA00010 */ sw $zero, 0x10($sp) +/* DCD75C 80240A8C AFA00014 */ sw $zero, 0x14($sp) +/* DCD760 80240A90 8E050018 */ lw $a1, 0x18($s0) +/* DCD764 80240A94 0C0129E1 */ jal func_8004A784 +/* DCD768 80240A98 0000382D */ daddu $a3, $zero, $zero +/* DCD76C 80240A9C 14400005 */ bnez $v0, .L80240AB4 +/* DCD770 80240AA0 00000000 */ nop +/* DCD774 80240AA4 8E050018 */ lw $a1, 0x18($s0) +/* DCD778 80240AA8 8E06000C */ lw $a2, 0xc($s0) +/* DCD77C 80240AAC 0C00EA95 */ jal npc_move_heading +/* DCD780 80240AB0 0200202D */ daddu $a0, $s0, $zero +.L80240AB4: +/* DCD784 80240AB4 9602008E */ lhu $v0, 0x8e($s0) +/* DCD788 80240AB8 2442FFFF */ addiu $v0, $v0, -1 +/* DCD78C 80240ABC A602008E */ sh $v0, 0x8e($s0) +/* DCD790 80240AC0 00021400 */ sll $v0, $v0, 0x10 +/* DCD794 80240AC4 14400010 */ bnez $v0, .L80240B08 +/* DCD798 80240AC8 00000000 */ nop +/* DCD79C 80240ACC C6000018 */ lwc1 $f0, 0x18($s0) +/* DCD7A0 80240AD0 3C018025 */ lui $at, 0x8025 +/* DCD7A4 80240AD4 D422A638 */ ldc1 $f2, -0x59c8($at) +/* DCD7A8 80240AD8 46000021 */ cvt.d.s $f0, $f0 +/* DCD7AC 80240ADC 46220002 */ mul.d $f0, $f0, $f2 +/* DCD7B0 80240AE0 00000000 */ nop +/* DCD7B4 80240AE4 46200020 */ cvt.s.d $f0, $f0 +/* DCD7B8 80240AE8 E6000018 */ swc1 $f0, 0x18($s0) +/* DCD7BC 80240AEC 8E2200CC */ lw $v0, 0xcc($s1) +/* DCD7C0 80240AF0 8C43002C */ lw $v1, 0x2c($v0) +/* DCD7C4 80240AF4 2402000A */ addiu $v0, $zero, 0xa +/* DCD7C8 80240AF8 A602008E */ sh $v0, 0x8e($s0) +/* DCD7CC 80240AFC 24020010 */ addiu $v0, $zero, 0x10 +/* DCD7D0 80240B00 AE030028 */ sw $v1, 0x28($s0) +/* DCD7D4 80240B04 AE420070 */ sw $v0, 0x70($s2) +.L80240B08: +/* DCD7D8 80240B08 8FBF002C */ lw $ra, 0x2c($sp) +/* DCD7DC 80240B0C 8FB20028 */ lw $s2, 0x28($sp) +/* DCD7E0 80240B10 8FB10024 */ lw $s1, 0x24($sp) +/* DCD7E4 80240B14 8FB00020 */ lw $s0, 0x20($sp) +/* DCD7E8 80240B18 03E00008 */ jr $ra +/* DCD7EC 80240B1C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240B20_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240B20_DCCCD0.s new file mode 100644 index 0000000000..89beaa3e66 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240B20_DCCCD0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B20_DCD7F0 +/* DCD7F0 80240B20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCD7F4 80240B24 AFB10024 */ sw $s1, 0x24($sp) +/* DCD7F8 80240B28 0080882D */ daddu $s1, $a0, $zero +/* DCD7FC 80240B2C AFBF0028 */ sw $ra, 0x28($sp) +/* DCD800 80240B30 AFB00020 */ sw $s0, 0x20($sp) +/* DCD804 80240B34 8E220148 */ lw $v0, 0x148($s1) +/* DCD808 80240B38 0C00EABB */ jal get_npc_unsafe +/* DCD80C 80240B3C 84440008 */ lh $a0, 8($v0) +/* DCD810 80240B40 0040802D */ daddu $s0, $v0, $zero +/* DCD814 80240B44 0200202D */ daddu $a0, $s0, $zero +/* DCD818 80240B48 C600000C */ lwc1 $f0, 0xc($s0) +/* DCD81C 80240B4C 27A60018 */ addiu $a2, $sp, 0x18 +/* DCD820 80240B50 E7A00018 */ swc1 $f0, 0x18($sp) +/* DCD824 80240B54 AFA00010 */ sw $zero, 0x10($sp) +/* DCD828 80240B58 AFA00014 */ sw $zero, 0x14($sp) +/* DCD82C 80240B5C 8E050018 */ lw $a1, 0x18($s0) +/* DCD830 80240B60 0C0129E1 */ jal func_8004A784 +/* DCD834 80240B64 0000382D */ daddu $a3, $zero, $zero +/* DCD838 80240B68 14400005 */ bnez $v0, .L80240B80 +/* DCD83C 80240B6C 00000000 */ nop +/* DCD840 80240B70 8E050018 */ lw $a1, 0x18($s0) +/* DCD844 80240B74 8E06000C */ lw $a2, 0xc($s0) +/* DCD848 80240B78 0C00EA95 */ jal npc_move_heading +/* DCD84C 80240B7C 0200202D */ daddu $a0, $s0, $zero +.L80240B80: +/* DCD850 80240B80 9602008E */ lhu $v0, 0x8e($s0) +/* DCD854 80240B84 2442FFFF */ addiu $v0, $v0, -1 +/* DCD858 80240B88 A602008E */ sh $v0, 0x8e($s0) +/* DCD85C 80240B8C 00021400 */ sll $v0, $v0, 0x10 +/* DCD860 80240B90 14400004 */ bnez $v0, .L80240BA4 +/* DCD864 80240B94 2402001E */ addiu $v0, $zero, 0x1e +/* DCD868 80240B98 A602008E */ sh $v0, 0x8e($s0) +/* DCD86C 80240B9C 24020011 */ addiu $v0, $zero, 0x11 +/* DCD870 80240BA0 AE220070 */ sw $v0, 0x70($s1) +.L80240BA4: +/* DCD874 80240BA4 8FBF0028 */ lw $ra, 0x28($sp) +/* DCD878 80240BA8 8FB10024 */ lw $s1, 0x24($sp) +/* DCD87C 80240BAC 8FB00020 */ lw $s0, 0x20($sp) +/* DCD880 80240BB0 03E00008 */ jr $ra +/* DCD884 80240BB4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240BB8_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240BB8_DCCCD0.s new file mode 100644 index 0000000000..5d6b4f0ad6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240BB8_DCCCD0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB8_DCD888 +/* DCD888 80240BB8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCD88C 80240BBC AFB10014 */ sw $s1, 0x14($sp) +/* DCD890 80240BC0 0080882D */ daddu $s1, $a0, $zero +/* DCD894 80240BC4 AFBF0018 */ sw $ra, 0x18($sp) +/* DCD898 80240BC8 AFB00010 */ sw $s0, 0x10($sp) +/* DCD89C 80240BCC 8E300148 */ lw $s0, 0x148($s1) +/* DCD8A0 80240BD0 0C00EABB */ jal get_npc_unsafe +/* DCD8A4 80240BD4 86040008 */ lh $a0, 8($s0) +/* DCD8A8 80240BD8 0040182D */ daddu $v1, $v0, $zero +/* DCD8AC 80240BDC 9462008E */ lhu $v0, 0x8e($v1) +/* DCD8B0 80240BE0 2442FFFF */ addiu $v0, $v0, -1 +/* DCD8B4 80240BE4 A462008E */ sh $v0, 0x8e($v1) +/* DCD8B8 80240BE8 00021400 */ sll $v0, $v0, 0x10 +/* DCD8BC 80240BEC 14400005 */ bnez $v0, .L80240C04 +/* DCD8C0 80240BF0 00000000 */ nop +/* DCD8C4 80240BF4 8E0200CC */ lw $v0, 0xcc($s0) +/* DCD8C8 80240BF8 8C420000 */ lw $v0, ($v0) +/* DCD8CC 80240BFC AC620028 */ sw $v0, 0x28($v1) +/* DCD8D0 80240C00 AE200070 */ sw $zero, 0x70($s1) +.L80240C04: +/* DCD8D4 80240C04 8FBF0018 */ lw $ra, 0x18($sp) +/* DCD8D8 80240C08 8FB10014 */ lw $s1, 0x14($sp) +/* DCD8DC 80240C0C 8FB00010 */ lw $s0, 0x10($sp) +/* DCD8E0 80240C10 03E00008 */ jr $ra +/* DCD8E4 80240C14 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240C18_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240C18_DCCCD0.s new file mode 100644 index 0000000000..8400190707 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240C18_DCCCD0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C18_DCD8E8 +/* DCD8E8 80240C18 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DCD8EC 80240C1C AFB30054 */ sw $s3, 0x54($sp) +/* DCD8F0 80240C20 0080982D */ daddu $s3, $a0, $zero +/* DCD8F4 80240C24 AFBF0060 */ sw $ra, 0x60($sp) +/* DCD8F8 80240C28 AFB5005C */ sw $s5, 0x5c($sp) +/* DCD8FC 80240C2C AFB40058 */ sw $s4, 0x58($sp) +/* DCD900 80240C30 AFB20050 */ sw $s2, 0x50($sp) +/* DCD904 80240C34 AFB1004C */ sw $s1, 0x4c($sp) +/* DCD908 80240C38 AFB00048 */ sw $s0, 0x48($sp) +/* DCD90C 80240C3C 8E710148 */ lw $s1, 0x148($s3) +/* DCD910 80240C40 86240008 */ lh $a0, 8($s1) +/* DCD914 80240C44 0C00EABB */ jal get_npc_unsafe +/* DCD918 80240C48 00A0802D */ daddu $s0, $a1, $zero +/* DCD91C 80240C4C 8E63000C */ lw $v1, 0xc($s3) +/* DCD920 80240C50 0260202D */ daddu $a0, $s3, $zero +/* DCD924 80240C54 8C650000 */ lw $a1, ($v1) +/* DCD928 80240C58 0C0B1EAF */ jal get_variable +/* DCD92C 80240C5C 0040902D */ daddu $s2, $v0, $zero +/* DCD930 80240C60 AFA00018 */ sw $zero, 0x18($sp) +/* DCD934 80240C64 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCD938 80240C68 8C630030 */ lw $v1, 0x30($v1) +/* DCD93C 80240C6C AFA3001C */ sw $v1, 0x1c($sp) +/* DCD940 80240C70 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCD944 80240C74 8C63001C */ lw $v1, 0x1c($v1) +/* DCD948 80240C78 AFA30020 */ sw $v1, 0x20($sp) +/* DCD94C 80240C7C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCD950 80240C80 8C630024 */ lw $v1, 0x24($v1) +/* DCD954 80240C84 AFA30024 */ sw $v1, 0x24($sp) +/* DCD958 80240C88 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCD95C 80240C8C 8C630028 */ lw $v1, 0x28($v1) +/* DCD960 80240C90 27B50018 */ addiu $s5, $sp, 0x18 +/* DCD964 80240C94 AFA30028 */ sw $v1, 0x28($sp) +/* DCD968 80240C98 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCD96C 80240C9C 3C014282 */ lui $at, 0x4282 +/* DCD970 80240CA0 44810000 */ mtc1 $at, $f0 +/* DCD974 80240CA4 8C63002C */ lw $v1, 0x2c($v1) +/* DCD978 80240CA8 0040A02D */ daddu $s4, $v0, $zero +/* DCD97C 80240CAC E7A00030 */ swc1 $f0, 0x30($sp) +/* DCD980 80240CB0 A7A00034 */ sh $zero, 0x34($sp) +/* DCD984 80240CB4 16000005 */ bnez $s0, .L80240CCC +/* DCD988 80240CB8 AFA3002C */ sw $v1, 0x2c($sp) +/* DCD98C 80240CBC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCD990 80240CC0 30420004 */ andi $v0, $v0, 4 +/* DCD994 80240CC4 10400044 */ beqz $v0, .L80240DD8 +/* DCD998 80240CC8 00000000 */ nop +.L80240CCC: +/* DCD99C 80240CCC 2404F7FF */ addiu $a0, $zero, -0x801 +/* DCD9A0 80240CD0 AE600070 */ sw $zero, 0x70($s3) +/* DCD9A4 80240CD4 A640008E */ sh $zero, 0x8e($s2) +/* DCD9A8 80240CD8 8E2200CC */ lw $v0, 0xcc($s1) +/* DCD9AC 80240CDC 8E430000 */ lw $v1, ($s2) +/* DCD9B0 80240CE0 8C420000 */ lw $v0, ($v0) +/* DCD9B4 80240CE4 00641824 */ and $v1, $v1, $a0 +/* DCD9B8 80240CE8 AE430000 */ sw $v1, ($s2) +/* DCD9BC 80240CEC AE420028 */ sw $v0, 0x28($s2) +/* DCD9C0 80240CF0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DCD9C4 80240CF4 8C420034 */ lw $v0, 0x34($v0) +/* DCD9C8 80240CF8 54400005 */ bnel $v0, $zero, .L80240D10 +/* DCD9CC 80240CFC 2402FDFF */ addiu $v0, $zero, -0x201 +/* DCD9D0 80240D00 34620200 */ ori $v0, $v1, 0x200 +/* DCD9D4 80240D04 2403FFF7 */ addiu $v1, $zero, -9 +/* DCD9D8 80240D08 08090346 */ j .L80240D18 +/* DCD9DC 80240D0C 00431024 */ and $v0, $v0, $v1 +.L80240D10: +/* DCD9E0 80240D10 00621024 */ and $v0, $v1, $v0 +/* DCD9E4 80240D14 34420008 */ ori $v0, $v0, 8 +.L80240D18: +/* DCD9E8 80240D18 AE420000 */ sw $v0, ($s2) +/* DCD9EC 80240D1C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCD9F0 80240D20 30420004 */ andi $v0, $v0, 4 +/* DCD9F4 80240D24 10400004 */ beqz $v0, .L80240D38 +/* DCD9F8 80240D28 24020063 */ addiu $v0, $zero, 0x63 +/* DCD9FC 80240D2C AE620070 */ sw $v0, 0x70($s3) +/* DCDA00 80240D30 08090354 */ j .L80240D50 +/* DCDA04 80240D34 AE600074 */ sw $zero, 0x74($s3) +.L80240D38: +/* DCDA08 80240D38 8E220000 */ lw $v0, ($s1) +/* DCDA0C 80240D3C 3C034000 */ lui $v1, 0x4000 +/* DCDA10 80240D40 00431024 */ and $v0, $v0, $v1 +/* DCDA14 80240D44 10400002 */ beqz $v0, .L80240D50 +/* DCDA18 80240D48 2402000C */ addiu $v0, $zero, 0xc +/* DCDA1C 80240D4C AE620070 */ sw $v0, 0x70($s3) +.L80240D50: +/* DCDA20 80240D50 3C06BFFF */ lui $a2, 0xbfff +/* DCDA24 80240D54 34C6FFFF */ ori $a2, $a2, 0xffff +/* DCDA28 80240D58 27A50038 */ addiu $a1, $sp, 0x38 +/* DCDA2C 80240D5C 2404FFFB */ addiu $a0, $zero, -5 +/* DCDA30 80240D60 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCDA34 80240D64 8E230000 */ lw $v1, ($s1) +/* DCDA38 80240D68 3C0142C8 */ lui $at, 0x42c8 +/* DCDA3C 80240D6C 44810000 */ mtc1 $at, $f0 +/* DCDA40 80240D70 00441024 */ and $v0, $v0, $a0 +/* DCDA44 80240D74 00661824 */ and $v1, $v1, $a2 +/* DCDA48 80240D78 AE2200B0 */ sw $v0, 0xb0($s1) +/* DCDA4C 80240D7C AE230000 */ sw $v1, ($s1) +/* DCDA50 80240D80 864200A8 */ lh $v0, 0xa8($s2) +/* DCDA54 80240D84 27A70040 */ addiu $a3, $sp, 0x40 +/* DCDA58 80240D88 E7A00044 */ swc1 $f0, 0x44($sp) +/* DCDA5C 80240D8C C6460038 */ lwc1 $f6, 0x38($s2) +/* DCDA60 80240D90 C640003C */ lwc1 $f0, 0x3c($s2) +/* DCDA64 80240D94 C6420040 */ lwc1 $f2, 0x40($s2) +/* DCDA68 80240D98 44822000 */ mtc1 $v0, $f4 +/* DCDA6C 80240D9C 00000000 */ nop +/* DCDA70 80240DA0 46802120 */ cvt.s.w $f4, $f4 +/* DCDA74 80240DA4 27A20044 */ addiu $v0, $sp, 0x44 +/* DCDA78 80240DA8 46040000 */ add.s $f0, $f0, $f4 +/* DCDA7C 80240DAC E7A60038 */ swc1 $f6, 0x38($sp) +/* DCDA80 80240DB0 E7A20040 */ swc1 $f2, 0x40($sp) +/* DCDA84 80240DB4 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DCDA88 80240DB8 AFA20010 */ sw $v0, 0x10($sp) +/* DCDA8C 80240DBC 8E440080 */ lw $a0, 0x80($s2) +/* DCDA90 80240DC0 0C0372DF */ jal func_800DCB7C +/* DCDA94 80240DC4 27A6003C */ addiu $a2, $sp, 0x3c +/* DCDA98 80240DC8 10400003 */ beqz $v0, .L80240DD8 +/* DCDA9C 80240DCC 00000000 */ nop +/* DCDAA0 80240DD0 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DCDAA4 80240DD4 E640003C */ swc1 $f0, 0x3c($s2) +.L80240DD8: +/* DCDAA8 80240DD8 8E630070 */ lw $v1, 0x70($s3) +/* DCDAAC 80240DDC 2C620064 */ sltiu $v0, $v1, 0x64 +/* DCDAB0 80240DE0 10400050 */ beqz $v0, .L80240F24 +/* DCDAB4 80240DE4 00031080 */ sll $v0, $v1, 2 +/* DCDAB8 80240DE8 3C018025 */ lui $at, 0x8025 +/* DCDABC 80240DEC 00220821 */ addu $at, $at, $v0 +/* DCDAC0 80240DF0 8C22A640 */ lw $v0, -0x59c0($at) +/* DCDAC4 80240DF4 00400008 */ jr $v0 +/* DCDAC8 80240DF8 00000000 */ nop +/* DCDACC 80240DFC 0260202D */ daddu $a0, $s3, $zero +/* DCDAD0 80240E00 0280282D */ daddu $a1, $s4, $zero +/* DCDAD4 80240E04 0C012568 */ jal func_800495A0 +/* DCDAD8 80240E08 02A0302D */ daddu $a2, $s5, $zero +/* DCDADC 80240E0C 0260202D */ daddu $a0, $s3, $zero +/* DCDAE0 80240E10 0280282D */ daddu $a1, $s4, $zero +/* DCDAE4 80240E14 0C0125AE */ jal func_800496B8 +/* DCDAE8 80240E18 02A0302D */ daddu $a2, $s5, $zero +/* DCDAEC 80240E1C 080903C9 */ j .L80240F24 +/* DCDAF0 80240E20 00000000 */ nop +/* DCDAF4 80240E24 0260202D */ daddu $a0, $s3, $zero +/* DCDAF8 80240E28 0280282D */ daddu $a1, $s4, $zero +/* DCDAFC 80240E2C 0C0126D1 */ jal func_80049B44 +/* DCDB00 80240E30 02A0302D */ daddu $a2, $s5, $zero +/* DCDB04 80240E34 0260202D */ daddu $a0, $s3, $zero +/* DCDB08 80240E38 0280282D */ daddu $a1, $s4, $zero +/* DCDB0C 80240E3C 0C012701 */ jal func_80049C04 +/* DCDB10 80240E40 02A0302D */ daddu $a2, $s5, $zero +/* DCDB14 80240E44 080903C9 */ j .L80240F24 +/* DCDB18 80240E48 00000000 */ nop +/* DCDB1C 80240E4C 0260202D */ daddu $a0, $s3, $zero +/* DCDB20 80240E50 0280282D */ daddu $a1, $s4, $zero +/* DCDB24 80240E54 0C01278F */ jal func_80049E3C +/* DCDB28 80240E58 02A0302D */ daddu $a2, $s5, $zero +/* DCDB2C 80240E5C 0260202D */ daddu $a0, $s3, $zero +/* DCDB30 80240E60 0280282D */ daddu $a1, $s4, $zero +/* DCDB34 80240E64 0C0127B3 */ jal func_80049ECC +/* DCDB38 80240E68 02A0302D */ daddu $a2, $s5, $zero +/* DCDB3C 80240E6C 080903C9 */ j .L80240F24 +/* DCDB40 80240E70 00000000 */ nop +/* DCDB44 80240E74 0260202D */ daddu $a0, $s3, $zero +/* DCDB48 80240E78 0280282D */ daddu $a1, $s4, $zero +/* DCDB4C 80240E7C 0C0127DF */ jal func_80049F7C +/* DCDB50 80240E80 02A0302D */ daddu $a2, $s5, $zero +/* DCDB54 80240E84 0260202D */ daddu $a0, $s3, $zero +/* DCDB58 80240E88 0280282D */ daddu $a1, $s4, $zero +/* DCDB5C 80240E8C 0C012849 */ jal func_8004A124 +/* DCDB60 80240E90 02A0302D */ daddu $a2, $s5, $zero +/* DCDB64 80240E94 8E630070 */ lw $v1, 0x70($s3) +/* DCDB68 80240E98 2402000E */ addiu $v0, $zero, 0xe +/* DCDB6C 80240E9C 14620021 */ bne $v1, $v0, .L80240F24 +/* DCDB70 80240EA0 00000000 */ nop +/* DCDB74 80240EA4 0260202D */ daddu $a0, $s3, $zero +/* DCDB78 80240EA8 0280282D */ daddu $a1, $s4, $zero +/* DCDB7C 80240EAC 0C090278 */ jal func_802409E0 +/* DCDB80 80240EB0 02A0302D */ daddu $a2, $s5, $zero +/* DCDB84 80240EB4 8E630070 */ lw $v1, 0x70($s3) +/* DCDB88 80240EB8 2402000F */ addiu $v0, $zero, 0xf +/* DCDB8C 80240EBC 14620019 */ bne $v1, $v0, .L80240F24 +/* DCDB90 80240EC0 00000000 */ nop +/* DCDB94 80240EC4 0260202D */ daddu $a0, $s3, $zero +/* DCDB98 80240EC8 0280282D */ daddu $a1, $s4, $zero +/* DCDB9C 80240ECC 0C090294 */ jal func_80240A50 +/* DCDBA0 80240ED0 02A0302D */ daddu $a2, $s5, $zero +/* DCDBA4 80240ED4 8E630070 */ lw $v1, 0x70($s3) +/* DCDBA8 80240ED8 24020010 */ addiu $v0, $zero, 0x10 +/* DCDBAC 80240EDC 14620011 */ bne $v1, $v0, .L80240F24 +/* DCDBB0 80240EE0 00000000 */ nop +/* DCDBB4 80240EE4 0260202D */ daddu $a0, $s3, $zero +/* DCDBB8 80240EE8 0280282D */ daddu $a1, $s4, $zero +/* DCDBBC 80240EEC 0C0902C8 */ jal func_80240B20 +/* DCDBC0 80240EF0 02A0302D */ daddu $a2, $s5, $zero +/* DCDBC4 80240EF4 8E630070 */ lw $v1, 0x70($s3) +/* DCDBC8 80240EF8 24020011 */ addiu $v0, $zero, 0x11 +/* DCDBCC 80240EFC 14620009 */ bne $v1, $v0, .L80240F24 +/* DCDBD0 80240F00 00000000 */ nop +/* DCDBD4 80240F04 0260202D */ daddu $a0, $s3, $zero +/* DCDBD8 80240F08 0280282D */ daddu $a1, $s4, $zero +/* DCDBDC 80240F0C 0C0902EE */ jal func_80240BB8 +/* DCDBE0 80240F10 02A0302D */ daddu $a2, $s5, $zero +/* DCDBE4 80240F14 080903C9 */ j .L80240F24 +/* DCDBE8 80240F18 00000000 */ nop +/* DCDBEC 80240F1C 0C0129CF */ jal func_8004A73C +/* DCDBF0 80240F20 0260202D */ daddu $a0, $s3, $zero +.L80240F24: +/* DCDBF4 80240F24 8FBF0060 */ lw $ra, 0x60($sp) +/* DCDBF8 80240F28 8FB5005C */ lw $s5, 0x5c($sp) +/* DCDBFC 80240F2C 8FB40058 */ lw $s4, 0x58($sp) +/* DCDC00 80240F30 8FB30054 */ lw $s3, 0x54($sp) +/* DCDC04 80240F34 8FB20050 */ lw $s2, 0x50($sp) +/* DCDC08 80240F38 8FB1004C */ lw $s1, 0x4c($sp) +/* DCDC0C 80240F3C 8FB00048 */ lw $s0, 0x48($sp) +/* DCDC10 80240F40 0000102D */ daddu $v0, $zero, $zero +/* DCDC14 80240F44 03E00008 */ jr $ra +/* DCDC18 80240F48 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80240F4C_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80240F4C_DCCCD0.s new file mode 100644 index 0000000000..39c0d13c44 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80240F4C_DCCCD0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F4C_DCDC1C +/* DCDC1C 80240F4C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DCDC20 80240F50 AFB50024 */ sw $s5, 0x24($sp) +/* DCDC24 80240F54 0080A82D */ daddu $s5, $a0, $zero +/* DCDC28 80240F58 AFBF002C */ sw $ra, 0x2c($sp) +/* DCDC2C 80240F5C AFB60028 */ sw $s6, 0x28($sp) +/* DCDC30 80240F60 AFB40020 */ sw $s4, 0x20($sp) +/* DCDC34 80240F64 AFB3001C */ sw $s3, 0x1c($sp) +/* DCDC38 80240F68 AFB20018 */ sw $s2, 0x18($sp) +/* DCDC3C 80240F6C AFB10014 */ sw $s1, 0x14($sp) +/* DCDC40 80240F70 AFB00010 */ sw $s0, 0x10($sp) +/* DCDC44 80240F74 F7B80040 */ sdc1 $f24, 0x40($sp) +/* DCDC48 80240F78 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DCDC4C 80240F7C F7B40030 */ sdc1 $f20, 0x30($sp) +/* DCDC50 80240F80 8EB30148 */ lw $s3, 0x148($s5) +/* DCDC54 80240F84 86640008 */ lh $a0, 8($s3) +/* DCDC58 80240F88 0C00EABB */ jal get_npc_unsafe +/* DCDC5C 80240F8C 00A0B02D */ daddu $s6, $a1, $zero +/* DCDC60 80240F90 0040A02D */ daddu $s4, $v0, $zero +/* DCDC64 80240F94 AEA00074 */ sw $zero, 0x74($s5) +/* DCDC68 80240F98 C6980038 */ lwc1 $f24, 0x38($s4) +/* DCDC6C 80240F9C C6960040 */ lwc1 $f22, 0x40($s4) +/* DCDC70 80240FA0 0000902D */ daddu $s2, $zero, $zero +/* DCDC74 80240FA4 AEA00078 */ sw $zero, 0x78($s5) +/* DCDC78 80240FA8 8E6300D0 */ lw $v1, 0xd0($s3) +/* DCDC7C 80240FAC 8C620000 */ lw $v0, ($v1) +/* DCDC80 80240FB0 3C0146FF */ lui $at, 0x46ff +/* DCDC84 80240FB4 3421FE00 */ ori $at, $at, 0xfe00 +/* DCDC88 80240FB8 4481A000 */ mtc1 $at, $f20 +/* DCDC8C 80240FBC 18400018 */ blez $v0, .L80241020 +/* DCDC90 80240FC0 0240802D */ daddu $s0, $s2, $zero +/* DCDC94 80240FC4 0240882D */ daddu $s1, $s2, $zero +.L80240FC8: +/* DCDC98 80240FC8 02231021 */ addu $v0, $s1, $v1 +/* DCDC9C 80240FCC 4600C306 */ mov.s $f12, $f24 +/* DCDCA0 80240FD0 C4440004 */ lwc1 $f4, 4($v0) +/* DCDCA4 80240FD4 46802120 */ cvt.s.w $f4, $f4 +/* DCDCA8 80240FD8 44062000 */ mfc1 $a2, $f4 +/* DCDCAC 80240FDC C444000C */ lwc1 $f4, 0xc($v0) +/* DCDCB0 80240FE0 46802120 */ cvt.s.w $f4, $f4 +/* DCDCB4 80240FE4 44072000 */ mfc1 $a3, $f4 +/* DCDCB8 80240FE8 0C00A7B5 */ jal dist2D +/* DCDCBC 80240FEC 4600B386 */ mov.s $f14, $f22 +/* DCDCC0 80240FF0 4614003C */ c.lt.s $f0, $f20 +/* DCDCC4 80240FF4 00000000 */ nop +/* DCDCC8 80240FF8 45000003 */ bc1f .L80241008 +/* DCDCCC 80240FFC 2631000C */ addiu $s1, $s1, 0xc +/* DCDCD0 80241000 46000506 */ mov.s $f20, $f0 +/* DCDCD4 80241004 AEB20078 */ sw $s2, 0x78($s5) +.L80241008: +/* DCDCD8 80241008 8E6300D0 */ lw $v1, 0xd0($s3) +/* DCDCDC 8024100C 26100001 */ addiu $s0, $s0, 1 +/* DCDCE0 80241010 8C620000 */ lw $v0, ($v1) +/* DCDCE4 80241014 0202102A */ slt $v0, $s0, $v0 +/* DCDCE8 80241018 1440FFEB */ bnez $v0, .L80240FC8 +/* DCDCEC 8024101C 26520001 */ addiu $s2, $s2, 1 +.L80241020: +/* DCDCF0 80241020 8E6200CC */ lw $v0, 0xcc($s3) +/* DCDCF4 80241024 8C420004 */ lw $v0, 4($v0) +/* DCDCF8 80241028 AE820028 */ sw $v0, 0x28($s4) +/* DCDCFC 8024102C 8E6200D0 */ lw $v0, 0xd0($s3) +/* DCDD00 80241030 8C42007C */ lw $v0, 0x7c($v0) +/* DCDD04 80241034 04410004 */ bgez $v0, .L80241048 +/* DCDD08 80241038 00000000 */ nop +/* DCDD0C 8024103C C6C00000 */ lwc1 $f0, ($s6) +/* DCDD10 80241040 0809041A */ j .L80241068 +/* DCDD14 80241044 E6800018 */ swc1 $f0, 0x18($s4) +.L80241048: +/* DCDD18 80241048 3C018025 */ lui $at, 0x8025 +/* DCDD1C 8024104C D422A7D0 */ ldc1 $f2, -0x5830($at) +/* DCDD20 80241050 44820000 */ mtc1 $v0, $f0 +/* DCDD24 80241054 00000000 */ nop +/* DCDD28 80241058 46800021 */ cvt.d.w $f0, $f0 +/* DCDD2C 8024105C 46220003 */ div.d $f0, $f0, $f2 +/* DCDD30 80241060 46200020 */ cvt.s.d $f0, $f0 +/* DCDD34 80241064 E6800018 */ swc1 $f0, 0x18($s4) +.L80241068: +/* DCDD38 80241068 24020001 */ addiu $v0, $zero, 1 +/* DCDD3C 8024106C AEA20070 */ sw $v0, 0x70($s5) +/* DCDD40 80241070 8FBF002C */ lw $ra, 0x2c($sp) +/* DCDD44 80241074 8FB60028 */ lw $s6, 0x28($sp) +/* DCDD48 80241078 8FB50024 */ lw $s5, 0x24($sp) +/* DCDD4C 8024107C 8FB40020 */ lw $s4, 0x20($sp) +/* DCDD50 80241080 8FB3001C */ lw $s3, 0x1c($sp) +/* DCDD54 80241084 8FB20018 */ lw $s2, 0x18($sp) +/* DCDD58 80241088 8FB10014 */ lw $s1, 0x14($sp) +/* DCDD5C 8024108C 8FB00010 */ lw $s0, 0x10($sp) +/* DCDD60 80241090 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DCDD64 80241094 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DCDD68 80241098 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DCDD6C 8024109C 03E00008 */ jr $ra +/* DCDD70 802410A0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802410A4_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802410A4_DCCCD0.s new file mode 100644 index 0000000000..801922e841 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802410A4_DCCCD0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410A4_DCDD74 +/* DCDD74 802410A4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* DCDD78 802410A8 AFB20038 */ sw $s2, 0x38($sp) +/* DCDD7C 802410AC 0080902D */ daddu $s2, $a0, $zero +/* DCDD80 802410B0 AFBF0044 */ sw $ra, 0x44($sp) +/* DCDD84 802410B4 AFB40040 */ sw $s4, 0x40($sp) +/* DCDD88 802410B8 AFB3003C */ sw $s3, 0x3c($sp) +/* DCDD8C 802410BC AFB10034 */ sw $s1, 0x34($sp) +/* DCDD90 802410C0 AFB00030 */ sw $s0, 0x30($sp) +/* DCDD94 802410C4 F7B60050 */ sdc1 $f22, 0x50($sp) +/* DCDD98 802410C8 F7B40048 */ sdc1 $f20, 0x48($sp) +/* DCDD9C 802410CC 8E510148 */ lw $s1, 0x148($s2) +/* DCDDA0 802410D0 00A0982D */ daddu $s3, $a1, $zero +/* DCDDA4 802410D4 86240008 */ lh $a0, 8($s1) +/* DCDDA8 802410D8 0C00EABB */ jal get_npc_unsafe +/* DCDDAC 802410DC 00C0A02D */ daddu $s4, $a2, $zero +/* DCDDB0 802410E0 8E630014 */ lw $v1, 0x14($s3) +/* DCDDB4 802410E4 04600030 */ bltz $v1, .L802411A8 +/* DCDDB8 802410E8 0040802D */ daddu $s0, $v0, $zero +/* DCDDBC 802410EC 8E420074 */ lw $v0, 0x74($s2) +/* DCDDC0 802410F0 1C40002C */ bgtz $v0, .L802411A4 +/* DCDDC4 802410F4 2442FFFF */ addiu $v0, $v0, -1 +/* DCDDC8 802410F8 0280202D */ daddu $a0, $s4, $zero +/* DCDDCC 802410FC AE430074 */ sw $v1, 0x74($s2) +/* DCDDD0 80241100 AFA00010 */ sw $zero, 0x10($sp) +/* DCDDD4 80241104 8E66000C */ lw $a2, 0xc($s3) +/* DCDDD8 80241108 8E670010 */ lw $a3, 0x10($s3) +/* DCDDDC 8024110C 0C01242D */ jal func_800490B4 +/* DCDDE0 80241110 0220282D */ daddu $a1, $s1, $zero +/* DCDDE4 80241114 10400021 */ beqz $v0, .L8024119C +/* DCDDE8 80241118 0000202D */ daddu $a0, $zero, $zero +/* DCDDEC 8024111C 0200282D */ daddu $a1, $s0, $zero +/* DCDDF0 80241120 0000302D */ daddu $a2, $zero, $zero +/* DCDDF4 80241124 860300A8 */ lh $v1, 0xa8($s0) +/* DCDDF8 80241128 3C013F80 */ lui $at, 0x3f80 +/* DCDDFC 8024112C 44810000 */ mtc1 $at, $f0 +/* DCDE00 80241130 3C014000 */ lui $at, 0x4000 +/* DCDE04 80241134 44811000 */ mtc1 $at, $f2 +/* DCDE08 80241138 3C01C1A0 */ lui $at, 0xc1a0 +/* DCDE0C 8024113C 44812000 */ mtc1 $at, $f4 +/* DCDE10 80241140 2402000F */ addiu $v0, $zero, 0xf +/* DCDE14 80241144 AFA2001C */ sw $v0, 0x1c($sp) +/* DCDE18 80241148 44833000 */ mtc1 $v1, $f6 +/* DCDE1C 8024114C 00000000 */ nop +/* DCDE20 80241150 468031A0 */ cvt.s.w $f6, $f6 +/* DCDE24 80241154 44073000 */ mfc1 $a3, $f6 +/* DCDE28 80241158 27A20028 */ addiu $v0, $sp, 0x28 +/* DCDE2C 8024115C AFA20020 */ sw $v0, 0x20($sp) +/* DCDE30 80241160 E7A00010 */ swc1 $f0, 0x10($sp) +/* DCDE34 80241164 E7A20014 */ swc1 $f2, 0x14($sp) +/* DCDE38 80241168 0C01BFA4 */ jal fx_emote +/* DCDE3C 8024116C E7A40018 */ swc1 $f4, 0x18($sp) +/* DCDE40 80241170 0200202D */ daddu $a0, $s0, $zero +/* DCDE44 80241174 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DCDE48 80241178 0C012530 */ jal func_800494C0 +/* DCDE4C 8024117C 3C060020 */ lui $a2, 0x20 +/* DCDE50 80241180 8E220018 */ lw $v0, 0x18($s1) +/* DCDE54 80241184 9442002A */ lhu $v0, 0x2a($v0) +/* DCDE58 80241188 30420001 */ andi $v0, $v0, 1 +/* DCDE5C 8024118C 14400064 */ bnez $v0, .L80241320 +/* DCDE60 80241190 2402000A */ addiu $v0, $zero, 0xa +/* DCDE64 80241194 080904C8 */ j .L80241320 +/* DCDE68 80241198 2402000C */ addiu $v0, $zero, 0xc +.L8024119C: +/* DCDE6C 8024119C 8E420074 */ lw $v0, 0x74($s2) +/* DCDE70 802411A0 2442FFFF */ addiu $v0, $v0, -1 +.L802411A4: +/* DCDE74 802411A4 AE420074 */ sw $v0, 0x74($s2) +.L802411A8: +/* DCDE78 802411A8 8602008C */ lh $v0, 0x8c($s0) +/* DCDE7C 802411AC 1440005D */ bnez $v0, .L80241324 +/* DCDE80 802411B0 00000000 */ nop +/* DCDE84 802411B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* DCDE88 802411B8 3C014010 */ lui $at, 0x4010 +/* DCDE8C 802411BC 44811800 */ mtc1 $at, $f3 +/* DCDE90 802411C0 44801000 */ mtc1 $zero, $f2 +/* DCDE94 802411C4 46000021 */ cvt.d.s $f0, $f0 +/* DCDE98 802411C8 4622003C */ c.lt.d $f0, $f2 +/* DCDE9C 802411CC 00000000 */ nop +/* DCDEA0 802411D0 45000003 */ bc1f .L802411E0 +/* DCDEA4 802411D4 0200202D */ daddu $a0, $s0, $zero +/* DCDEA8 802411D8 08090479 */ j .L802411E4 +/* DCDEAC 802411DC 0000282D */ daddu $a1, $zero, $zero +.L802411E0: +/* DCDEB0 802411E0 24050001 */ addiu $a1, $zero, 1 +.L802411E4: +/* DCDEB4 802411E4 0C00F598 */ jal func_8003D660 +/* DCDEB8 802411E8 00000000 */ nop +/* DCDEBC 802411EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* DCDEC0 802411F0 8E430078 */ lw $v1, 0x78($s2) +/* DCDEC4 802411F4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DCDEC8 802411F8 00031040 */ sll $v0, $v1, 1 +/* DCDECC 802411FC 00431021 */ addu $v0, $v0, $v1 +/* DCDED0 80241200 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCDED4 80241204 00021080 */ sll $v0, $v0, 2 +/* DCDED8 80241208 00431021 */ addu $v0, $v0, $v1 +/* DCDEDC 8024120C C4560004 */ lwc1 $f22, 4($v0) +/* DCDEE0 80241210 4680B5A0 */ cvt.s.w $f22, $f22 +/* DCDEE4 80241214 C454000C */ lwc1 $f20, 0xc($v0) +/* DCDEE8 80241218 4680A520 */ cvt.s.w $f20, $f20 +/* DCDEEC 8024121C 4406B000 */ mfc1 $a2, $f22 +/* DCDEF0 80241220 4407A000 */ mfc1 $a3, $f20 +/* DCDEF4 80241224 0C00A720 */ jal atan2 +/* DCDEF8 80241228 00000000 */ nop +/* DCDEFC 8024122C 8E050018 */ lw $a1, 0x18($s0) +/* DCDF00 80241230 44060000 */ mfc1 $a2, $f0 +/* DCDF04 80241234 0200202D */ daddu $a0, $s0, $zero +/* DCDF08 80241238 0C00EA95 */ jal npc_move_heading +/* DCDF0C 8024123C AE06000C */ sw $a2, 0xc($s0) +/* DCDF10 80241240 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DCDF14 80241244 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DCDF18 80241248 4406B000 */ mfc1 $a2, $f22 +/* DCDF1C 8024124C 4407A000 */ mfc1 $a3, $f20 +/* DCDF20 80241250 0C00A7B5 */ jal dist2D +/* DCDF24 80241254 00000000 */ nop +/* DCDF28 80241258 C6020018 */ lwc1 $f2, 0x18($s0) +/* DCDF2C 8024125C 4602003E */ c.le.s $f0, $f2 +/* DCDF30 80241260 00000000 */ nop +/* DCDF34 80241264 4500002F */ bc1f .L80241324 +/* DCDF38 80241268 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DCDF3C 8024126C 24020002 */ addiu $v0, $zero, 2 +/* DCDF40 80241270 0C00A67F */ jal rand_int +/* DCDF44 80241274 AE420070 */ sw $v0, 0x70($s2) +/* DCDF48 80241278 3C035555 */ lui $v1, 0x5555 +/* DCDF4C 8024127C 34635556 */ ori $v1, $v1, 0x5556 +/* DCDF50 80241280 00430018 */ mult $v0, $v1 +/* DCDF54 80241284 000227C3 */ sra $a0, $v0, 0x1f +/* DCDF58 80241288 00004010 */ mfhi $t0 +/* DCDF5C 8024128C 01042023 */ subu $a0, $t0, $a0 +/* DCDF60 80241290 00041840 */ sll $v1, $a0, 1 +/* DCDF64 80241294 00641821 */ addu $v1, $v1, $a0 +/* DCDF68 80241298 00431023 */ subu $v0, $v0, $v1 +/* DCDF6C 8024129C 24430002 */ addiu $v1, $v0, 2 +/* DCDF70 802412A0 AE430074 */ sw $v1, 0x74($s2) +/* DCDF74 802412A4 8E62002C */ lw $v0, 0x2c($s3) +/* DCDF78 802412A8 18400009 */ blez $v0, .L802412D0 +/* DCDF7C 802412AC 24020004 */ addiu $v0, $zero, 4 +/* DCDF80 802412B0 8E620004 */ lw $v0, 4($s3) +/* DCDF84 802412B4 18400006 */ blez $v0, .L802412D0 +/* DCDF88 802412B8 24020004 */ addiu $v0, $zero, 4 +/* DCDF8C 802412BC 8E620008 */ lw $v0, 8($s3) +/* DCDF90 802412C0 18400003 */ blez $v0, .L802412D0 +/* DCDF94 802412C4 24020004 */ addiu $v0, $zero, 4 +/* DCDF98 802412C8 14600002 */ bnez $v1, .L802412D4 +/* DCDF9C 802412CC 00000000 */ nop +.L802412D0: +/* DCDFA0 802412D0 AE420070 */ sw $v0, 0x70($s2) +.L802412D4: +/* DCDFA4 802412D4 0C00A67F */ jal rand_int +/* DCDFA8 802412D8 24042710 */ addiu $a0, $zero, 0x2710 +/* DCDFAC 802412DC 3C0351EB */ lui $v1, 0x51eb +/* DCDFB0 802412E0 3463851F */ ori $v1, $v1, 0x851f +/* DCDFB4 802412E4 00430018 */ mult $v0, $v1 +/* DCDFB8 802412E8 00021FC3 */ sra $v1, $v0, 0x1f +/* DCDFBC 802412EC 00004010 */ mfhi $t0 +/* DCDFC0 802412F0 00082143 */ sra $a0, $t0, 5 +/* DCDFC4 802412F4 00832023 */ subu $a0, $a0, $v1 +/* DCDFC8 802412F8 00041840 */ sll $v1, $a0, 1 +/* DCDFCC 802412FC 00641821 */ addu $v1, $v1, $a0 +/* DCDFD0 80241300 000318C0 */ sll $v1, $v1, 3 +/* DCDFD4 80241304 00641821 */ addu $v1, $v1, $a0 +/* DCDFD8 80241308 00031880 */ sll $v1, $v1, 2 +/* DCDFDC 8024130C 8E640004 */ lw $a0, 4($s3) +/* DCDFE0 80241310 00431023 */ subu $v0, $v0, $v1 +/* DCDFE4 80241314 0044102A */ slt $v0, $v0, $a0 +/* DCDFE8 80241318 10400002 */ beqz $v0, .L80241324 +/* DCDFEC 8024131C 24020004 */ addiu $v0, $zero, 4 +.L80241320: +/* DCDFF0 80241320 AE420070 */ sw $v0, 0x70($s2) +.L80241324: +/* DCDFF4 80241324 8FBF0044 */ lw $ra, 0x44($sp) +/* DCDFF8 80241328 8FB40040 */ lw $s4, 0x40($sp) +/* DCDFFC 8024132C 8FB3003C */ lw $s3, 0x3c($sp) +/* DCE000 80241330 8FB20038 */ lw $s2, 0x38($sp) +/* DCE004 80241334 8FB10034 */ lw $s1, 0x34($sp) +/* DCE008 80241338 8FB00030 */ lw $s0, 0x30($sp) +/* DCE00C 8024133C D7B60050 */ ldc1 $f22, 0x50($sp) +/* DCE010 80241340 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DCE014 80241344 03E00008 */ jr $ra +/* DCE018 80241348 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024134C_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024134C_DCCCD0.s new file mode 100644 index 0000000000..3c6d2aba76 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024134C_DCCCD0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024134C_DCE01C +/* DCE01C 8024134C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DCE020 80241350 AFB3001C */ sw $s3, 0x1c($sp) +/* DCE024 80241354 0080982D */ daddu $s3, $a0, $zero +/* DCE028 80241358 AFBF0020 */ sw $ra, 0x20($sp) +/* DCE02C 8024135C AFB20018 */ sw $s2, 0x18($sp) +/* DCE030 80241360 AFB10014 */ sw $s1, 0x14($sp) +/* DCE034 80241364 AFB00010 */ sw $s0, 0x10($sp) +/* DCE038 80241368 8E720148 */ lw $s2, 0x148($s3) +/* DCE03C 8024136C 86440008 */ lh $a0, 8($s2) +/* DCE040 80241370 0C00EABB */ jal get_npc_unsafe +/* DCE044 80241374 00A0882D */ daddu $s1, $a1, $zero +/* DCE048 80241378 8E240008 */ lw $a0, 8($s1) +/* DCE04C 8024137C 0040802D */ daddu $s0, $v0, $zero +/* DCE050 80241380 00041FC2 */ srl $v1, $a0, 0x1f +/* DCE054 80241384 00832021 */ addu $a0, $a0, $v1 +/* DCE058 80241388 00042043 */ sra $a0, $a0, 1 +/* DCE05C 8024138C 0C00A67F */ jal rand_int +/* DCE060 80241390 24840001 */ addiu $a0, $a0, 1 +/* DCE064 80241394 8E230008 */ lw $v1, 8($s1) +/* DCE068 80241398 240400B4 */ addiu $a0, $zero, 0xb4 +/* DCE06C 8024139C 00032FC2 */ srl $a1, $v1, 0x1f +/* DCE070 802413A0 00651821 */ addu $v1, $v1, $a1 +/* DCE074 802413A4 00031843 */ sra $v1, $v1, 1 +/* DCE078 802413A8 00621821 */ addu $v1, $v1, $v0 +/* DCE07C 802413AC 0C00A67F */ jal rand_int +/* DCE080 802413B0 A603008E */ sh $v1, 0x8e($s0) +/* DCE084 802413B4 C60C000C */ lwc1 $f12, 0xc($s0) +/* DCE088 802413B8 44820000 */ mtc1 $v0, $f0 +/* DCE08C 802413BC 00000000 */ nop +/* DCE090 802413C0 46800020 */ cvt.s.w $f0, $f0 +/* DCE094 802413C4 46006300 */ add.s $f12, $f12, $f0 +/* DCE098 802413C8 3C0142B4 */ lui $at, 0x42b4 +/* DCE09C 802413CC 44810000 */ mtc1 $at, $f0 +/* DCE0A0 802413D0 0C00A6C9 */ jal clamp_angle +/* DCE0A4 802413D4 46006301 */ sub.s $f12, $f12, $f0 +/* DCE0A8 802413D8 E600000C */ swc1 $f0, 0xc($s0) +/* DCE0AC 802413DC 8E4200CC */ lw $v0, 0xcc($s2) +/* DCE0B0 802413E0 8C420000 */ lw $v0, ($v0) +/* DCE0B4 802413E4 AE020028 */ sw $v0, 0x28($s0) +/* DCE0B8 802413E8 24020003 */ addiu $v0, $zero, 3 +/* DCE0BC 802413EC AE620070 */ sw $v0, 0x70($s3) +/* DCE0C0 802413F0 8FBF0020 */ lw $ra, 0x20($sp) +/* DCE0C4 802413F4 8FB3001C */ lw $s3, 0x1c($sp) +/* DCE0C8 802413F8 8FB20018 */ lw $s2, 0x18($sp) +/* DCE0CC 802413FC 8FB10014 */ lw $s1, 0x14($sp) +/* DCE0D0 80241400 8FB00010 */ lw $s0, 0x10($sp) +/* DCE0D4 80241404 03E00008 */ jr $ra +/* DCE0D8 80241408 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024140C_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024140C_DCCCD0.s new file mode 100644 index 0000000000..282de444a0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024140C_DCCCD0.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024140C_DCE0DC +/* DCE0DC 8024140C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DCE0E0 80241410 AFB40040 */ sw $s4, 0x40($sp) +/* DCE0E4 80241414 0080A02D */ daddu $s4, $a0, $zero +/* DCE0E8 80241418 AFBF0044 */ sw $ra, 0x44($sp) +/* DCE0EC 8024141C AFB3003C */ sw $s3, 0x3c($sp) +/* DCE0F0 80241420 AFB20038 */ sw $s2, 0x38($sp) +/* DCE0F4 80241424 AFB10034 */ sw $s1, 0x34($sp) +/* DCE0F8 80241428 AFB00030 */ sw $s0, 0x30($sp) +/* DCE0FC 8024142C 8E910148 */ lw $s1, 0x148($s4) +/* DCE100 80241430 00A0902D */ daddu $s2, $a1, $zero +/* DCE104 80241434 86240008 */ lh $a0, 8($s1) +/* DCE108 80241438 0C00EABB */ jal get_npc_unsafe +/* DCE10C 8024143C 00C0982D */ daddu $s3, $a2, $zero +/* DCE110 80241440 8E430014 */ lw $v1, 0x14($s2) +/* DCE114 80241444 04600031 */ bltz $v1, .L8024150C +/* DCE118 80241448 0040802D */ daddu $s0, $v0, $zero +/* DCE11C 8024144C 0260202D */ daddu $a0, $s3, $zero +/* DCE120 80241450 AFA00010 */ sw $zero, 0x10($sp) +/* DCE124 80241454 8E460024 */ lw $a2, 0x24($s2) +/* DCE128 80241458 8E470028 */ lw $a3, 0x28($s2) +/* DCE12C 8024145C 0C01242D */ jal func_800490B4 +/* DCE130 80241460 0220282D */ daddu $a1, $s1, $zero +/* DCE134 80241464 10400029 */ beqz $v0, .L8024150C +/* DCE138 80241468 0000202D */ daddu $a0, $zero, $zero +/* DCE13C 8024146C 0200282D */ daddu $a1, $s0, $zero +/* DCE140 80241470 0000302D */ daddu $a2, $zero, $zero +/* DCE144 80241474 860300A8 */ lh $v1, 0xa8($s0) +/* DCE148 80241478 3C013F80 */ lui $at, 0x3f80 +/* DCE14C 8024147C 44810000 */ mtc1 $at, $f0 +/* DCE150 80241480 3C014000 */ lui $at, 0x4000 +/* DCE154 80241484 44811000 */ mtc1 $at, $f2 +/* DCE158 80241488 3C01C1A0 */ lui $at, 0xc1a0 +/* DCE15C 8024148C 44812000 */ mtc1 $at, $f4 +/* DCE160 80241490 2402000F */ addiu $v0, $zero, 0xf +/* DCE164 80241494 AFA2001C */ sw $v0, 0x1c($sp) +/* DCE168 80241498 44833000 */ mtc1 $v1, $f6 +/* DCE16C 8024149C 00000000 */ nop +/* DCE170 802414A0 468031A0 */ cvt.s.w $f6, $f6 +/* DCE174 802414A4 44073000 */ mfc1 $a3, $f6 +/* DCE178 802414A8 27A20028 */ addiu $v0, $sp, 0x28 +/* DCE17C 802414AC AFA20020 */ sw $v0, 0x20($sp) +/* DCE180 802414B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* DCE184 802414B4 E7A20014 */ swc1 $f2, 0x14($sp) +/* DCE188 802414B8 0C01BFA4 */ jal fx_emote +/* DCE18C 802414BC E7A40018 */ swc1 $f4, 0x18($sp) +/* DCE190 802414C0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DCE194 802414C4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DCE198 802414C8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DCE19C 802414CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* DCE1A0 802414D0 8C460028 */ lw $a2, 0x28($v0) +/* DCE1A4 802414D4 0C00A720 */ jal atan2 +/* DCE1A8 802414D8 8C470030 */ lw $a3, 0x30($v0) +/* DCE1AC 802414DC 0200202D */ daddu $a0, $s0, $zero +/* DCE1B0 802414E0 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DCE1B4 802414E4 3C060020 */ lui $a2, 0x20 +/* DCE1B8 802414E8 0C012530 */ jal func_800494C0 +/* DCE1BC 802414EC E480000C */ swc1 $f0, 0xc($a0) +/* DCE1C0 802414F0 8E220018 */ lw $v0, 0x18($s1) +/* DCE1C4 802414F4 9442002A */ lhu $v0, 0x2a($v0) +/* DCE1C8 802414F8 30420001 */ andi $v0, $v0, 1 +/* DCE1CC 802414FC 14400029 */ bnez $v0, .L802415A4 +/* DCE1D0 80241500 2402000A */ addiu $v0, $zero, 0xa +/* DCE1D4 80241504 08090569 */ j .L802415A4 +/* DCE1D8 80241508 2402000C */ addiu $v0, $zero, 0xc +.L8024150C: +/* DCE1DC 8024150C 8602008C */ lh $v0, 0x8c($s0) +/* DCE1E0 80241510 14400025 */ bnez $v0, .L802415A8 +/* DCE1E4 80241514 00000000 */ nop +/* DCE1E8 80241518 9602008E */ lhu $v0, 0x8e($s0) +/* DCE1EC 8024151C 2442FFFF */ addiu $v0, $v0, -1 +/* DCE1F0 80241520 A602008E */ sh $v0, 0x8e($s0) +/* DCE1F4 80241524 00021400 */ sll $v0, $v0, 0x10 +/* DCE1F8 80241528 1440001F */ bnez $v0, .L802415A8 +/* DCE1FC 8024152C 00000000 */ nop +/* DCE200 80241530 8E820074 */ lw $v0, 0x74($s4) +/* DCE204 80241534 2442FFFF */ addiu $v0, $v0, -1 +/* DCE208 80241538 10400019 */ beqz $v0, .L802415A0 +/* DCE20C 8024153C AE820074 */ sw $v0, 0x74($s4) +/* DCE210 80241540 8E220018 */ lw $v0, 0x18($s1) +/* DCE214 80241544 9442002A */ lhu $v0, 0x2a($v0) +/* DCE218 80241548 30420010 */ andi $v0, $v0, 0x10 +/* DCE21C 8024154C 14400007 */ bnez $v0, .L8024156C +/* DCE220 80241550 00000000 */ nop +/* DCE224 80241554 C600000C */ lwc1 $f0, 0xc($s0) +/* DCE228 80241558 3C014334 */ lui $at, 0x4334 +/* DCE22C 8024155C 44816000 */ mtc1 $at, $f12 +/* DCE230 80241560 0C00A6C9 */ jal clamp_angle +/* DCE234 80241564 460C0300 */ add.s $f12, $f0, $f12 +/* DCE238 80241568 E600000C */ swc1 $f0, 0xc($s0) +.L8024156C: +/* DCE23C 8024156C 8E440008 */ lw $a0, 8($s2) +/* DCE240 80241570 000417C2 */ srl $v0, $a0, 0x1f +/* DCE244 80241574 00822021 */ addu $a0, $a0, $v0 +/* DCE248 80241578 00042043 */ sra $a0, $a0, 1 +/* DCE24C 8024157C 0C00A67F */ jal rand_int +/* DCE250 80241580 24840001 */ addiu $a0, $a0, 1 +/* DCE254 80241584 8E430008 */ lw $v1, 8($s2) +/* DCE258 80241588 000327C2 */ srl $a0, $v1, 0x1f +/* DCE25C 8024158C 00641821 */ addu $v1, $v1, $a0 +/* DCE260 80241590 00031843 */ sra $v1, $v1, 1 +/* DCE264 80241594 00621821 */ addu $v1, $v1, $v0 +/* DCE268 80241598 0809056A */ j .L802415A8 +/* DCE26C 8024159C A603008E */ sh $v1, 0x8e($s0) +.L802415A0: +/* DCE270 802415A0 24020004 */ addiu $v0, $zero, 4 +.L802415A4: +/* DCE274 802415A4 AE820070 */ sw $v0, 0x70($s4) +.L802415A8: +/* DCE278 802415A8 8FBF0044 */ lw $ra, 0x44($sp) +/* DCE27C 802415AC 8FB40040 */ lw $s4, 0x40($sp) +/* DCE280 802415B0 8FB3003C */ lw $s3, 0x3c($sp) +/* DCE284 802415B4 8FB20038 */ lw $s2, 0x38($sp) +/* DCE288 802415B8 8FB10034 */ lw $s1, 0x34($sp) +/* DCE28C 802415BC 8FB00030 */ lw $s0, 0x30($sp) +/* DCE290 802415C0 03E00008 */ jr $ra +/* DCE294 802415C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802415C8_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802415C8_DCCCD0.s new file mode 100644 index 0000000000..fd9088f6ac --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802415C8_DCCCD0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415C8_DCE298 +/* DCE298 802415C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCE29C 802415CC AFB10014 */ sw $s1, 0x14($sp) +/* DCE2A0 802415D0 0080882D */ daddu $s1, $a0, $zero +/* DCE2A4 802415D4 AFBF001C */ sw $ra, 0x1c($sp) +/* DCE2A8 802415D8 AFB20018 */ sw $s2, 0x18($sp) +/* DCE2AC 802415DC AFB00010 */ sw $s0, 0x10($sp) +/* DCE2B0 802415E0 8E300148 */ lw $s0, 0x148($s1) +/* DCE2B4 802415E4 86040008 */ lh $a0, 8($s0) +/* DCE2B8 802415E8 0C00EABB */ jal get_npc_unsafe +/* DCE2BC 802415EC 00A0902D */ daddu $s2, $a1, $zero +/* DCE2C0 802415F0 8E230078 */ lw $v1, 0x78($s1) +/* DCE2C4 802415F4 24630001 */ addiu $v1, $v1, 1 +/* DCE2C8 802415F8 AE230078 */ sw $v1, 0x78($s1) +/* DCE2CC 802415FC 8E0400D0 */ lw $a0, 0xd0($s0) +/* DCE2D0 80241600 8C840000 */ lw $a0, ($a0) +/* DCE2D4 80241604 0064182A */ slt $v1, $v1, $a0 +/* DCE2D8 80241608 14600002 */ bnez $v1, .L80241614 +/* DCE2DC 8024160C 0040282D */ daddu $a1, $v0, $zero +/* DCE2E0 80241610 AE200078 */ sw $zero, 0x78($s1) +.L80241614: +/* DCE2E4 80241614 8E0200CC */ lw $v0, 0xcc($s0) +/* DCE2E8 80241618 8C420004 */ lw $v0, 4($v0) +/* DCE2EC 8024161C ACA20028 */ sw $v0, 0x28($a1) +/* DCE2F0 80241620 8E0200D0 */ lw $v0, 0xd0($s0) +/* DCE2F4 80241624 8C42007C */ lw $v0, 0x7c($v0) +/* DCE2F8 80241628 04410004 */ bgez $v0, .L8024163C +/* DCE2FC 8024162C 00000000 */ nop +/* DCE300 80241630 C6400000 */ lwc1 $f0, ($s2) +/* DCE304 80241634 08090597 */ j .L8024165C +/* DCE308 80241638 E4A00018 */ swc1 $f0, 0x18($a1) +.L8024163C: +/* DCE30C 8024163C 3C018025 */ lui $at, 0x8025 +/* DCE310 80241640 D422A7D8 */ ldc1 $f2, -0x5828($at) +/* DCE314 80241644 44820000 */ mtc1 $v0, $f0 +/* DCE318 80241648 00000000 */ nop +/* DCE31C 8024164C 46800021 */ cvt.d.w $f0, $f0 +/* DCE320 80241650 46220003 */ div.d $f0, $f0, $f2 +/* DCE324 80241654 46200020 */ cvt.s.d $f0, $f0 +/* DCE328 80241658 E4A00018 */ swc1 $f0, 0x18($a1) +.L8024165C: +/* DCE32C 8024165C 24020001 */ addiu $v0, $zero, 1 +/* DCE330 80241660 AE220070 */ sw $v0, 0x70($s1) +/* DCE334 80241664 8FBF001C */ lw $ra, 0x1c($sp) +/* DCE338 80241668 8FB20018 */ lw $s2, 0x18($sp) +/* DCE33C 8024166C 8FB10014 */ lw $s1, 0x14($sp) +/* DCE340 80241670 8FB00010 */ lw $s0, 0x10($sp) +/* DCE344 80241674 03E00008 */ jr $ra +/* DCE348 80241678 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024167C.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024167C.s new file mode 100644 index 0000000000..7e6b63d878 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024167C.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024167C +/* DCE34C 8024167C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCE350 80241680 AFB10014 */ sw $s1, 0x14($sp) +/* DCE354 80241684 0080882D */ daddu $s1, $a0, $zero +/* DCE358 80241688 AFBF0018 */ sw $ra, 0x18($sp) +/* DCE35C 8024168C AFB00010 */ sw $s0, 0x10($sp) +/* DCE360 80241690 8E300148 */ lw $s0, 0x148($s1) +/* DCE364 80241694 0C00EABB */ jal get_npc_unsafe +/* DCE368 80241698 86040008 */ lh $a0, 8($s0) +/* DCE36C 8024169C 8E0300CC */ lw $v1, 0xcc($s0) +/* DCE370 802416A0 3C014120 */ lui $at, 0x4120 +/* DCE374 802416A4 44812000 */ mtc1 $at, $f4 +/* DCE378 802416A8 3C014000 */ lui $at, 0x4000 +/* DCE37C 802416AC 44810000 */ mtc1 $at, $f0 +/* DCE380 802416B0 C442003C */ lwc1 $f2, 0x3c($v0) +/* DCE384 802416B4 8C640010 */ lw $a0, 0x10($v1) +/* DCE388 802416B8 8C430000 */ lw $v1, ($v0) +/* DCE38C 802416BC E444001C */ swc1 $f4, 0x1c($v0) +/* DCE390 802416C0 E4400014 */ swc1 $f0, 0x14($v0) +/* DCE394 802416C4 E4420064 */ swc1 $f2, 0x64($v0) +/* DCE398 802416C8 34630800 */ ori $v1, $v1, 0x800 +/* DCE39C 802416CC AC430000 */ sw $v1, ($v0) +/* DCE3A0 802416D0 AC440028 */ sw $a0, 0x28($v0) +/* DCE3A4 802416D4 2402000B */ addiu $v0, $zero, 0xb +/* DCE3A8 802416D8 AE220070 */ sw $v0, 0x70($s1) +/* DCE3AC 802416DC 8FBF0018 */ lw $ra, 0x18($sp) +/* DCE3B0 802416E0 8FB10014 */ lw $s1, 0x14($sp) +/* DCE3B4 802416E4 8FB00010 */ lw $s0, 0x10($sp) +/* DCE3B8 802416E8 03E00008 */ jr $ra +/* DCE3BC 802416EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802416F0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802416F0_DCCCD0.s new file mode 100644 index 0000000000..780b5437b9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802416F0_DCCCD0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F0_DCE3C0 +/* DCE3C0 802416F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DCE3C4 802416F4 AFB00010 */ sw $s0, 0x10($sp) +/* DCE3C8 802416F8 0080802D */ daddu $s0, $a0, $zero +/* DCE3CC 802416FC AFBF0014 */ sw $ra, 0x14($sp) +/* DCE3D0 80241700 8E020148 */ lw $v0, 0x148($s0) +/* DCE3D4 80241704 0C00EABB */ jal get_npc_unsafe +/* DCE3D8 80241708 84440008 */ lh $a0, 8($v0) +/* DCE3DC 8024170C 0040202D */ daddu $a0, $v0, $zero +/* DCE3E0 80241710 C482003C */ lwc1 $f2, 0x3c($a0) +/* DCE3E4 80241714 C480001C */ lwc1 $f0, 0x1c($a0) +/* DCE3E8 80241718 46001080 */ add.s $f2, $f2, $f0 +/* DCE3EC 8024171C C4840014 */ lwc1 $f4, 0x14($a0) +/* DCE3F0 80241720 46040001 */ sub.s $f0, $f0, $f4 +/* DCE3F4 80241724 C4840064 */ lwc1 $f4, 0x64($a0) +/* DCE3F8 80241728 4602203C */ c.lt.s $f4, $f2 +/* DCE3FC 8024172C E482003C */ swc1 $f2, 0x3c($a0) +/* DCE400 80241730 45010009 */ bc1t .L80241758 +/* DCE404 80241734 E480001C */ swc1 $f0, 0x1c($a0) +/* DCE408 80241738 8C820000 */ lw $v0, ($a0) +/* DCE40C 8024173C 2403F7FF */ addiu $v1, $zero, -0x801 +/* DCE410 80241740 E484003C */ swc1 $f4, 0x3c($a0) +/* DCE414 80241744 AC80001C */ sw $zero, 0x1c($a0) +/* DCE418 80241748 00431024 */ and $v0, $v0, $v1 +/* DCE41C 8024174C AC820000 */ sw $v0, ($a0) +/* DCE420 80241750 2402000C */ addiu $v0, $zero, 0xc +/* DCE424 80241754 AE020070 */ sw $v0, 0x70($s0) +.L80241758: +/* DCE428 80241758 8FBF0014 */ lw $ra, 0x14($sp) +/* DCE42C 8024175C 8FB00010 */ lw $s0, 0x10($sp) +/* DCE430 80241760 03E00008 */ jr $ra +/* DCE434 80241764 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241768.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241768.s new file mode 100644 index 0000000000..f44499b814 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241768.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241768 +/* DCE438 80241768 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCE43C 8024176C AFB3001C */ sw $s3, 0x1c($sp) +/* DCE440 80241770 0080982D */ daddu $s3, $a0, $zero +/* DCE444 80241774 AFBF0020 */ sw $ra, 0x20($sp) +/* DCE448 80241778 AFB20018 */ sw $s2, 0x18($sp) +/* DCE44C 8024177C AFB10014 */ sw $s1, 0x14($sp) +/* DCE450 80241780 AFB00010 */ sw $s0, 0x10($sp) +/* DCE454 80241784 F7B40028 */ sdc1 $f20, 0x28($sp) +/* DCE458 80241788 8E710148 */ lw $s1, 0x148($s3) +/* DCE45C 8024178C 86240008 */ lh $a0, 8($s1) +/* DCE460 80241790 0C00EABB */ jal get_npc_unsafe +/* DCE464 80241794 00A0802D */ daddu $s0, $a1, $zero +/* DCE468 80241798 8E040020 */ lw $a0, 0x20($s0) +/* DCE46C 8024179C 0040902D */ daddu $s2, $v0, $zero +/* DCE470 802417A0 00041FC2 */ srl $v1, $a0, 0x1f +/* DCE474 802417A4 00832021 */ addu $a0, $a0, $v1 +/* DCE478 802417A8 00042043 */ sra $a0, $a0, 1 +/* DCE47C 802417AC 0C00A67F */ jal rand_int +/* DCE480 802417B0 24840001 */ addiu $a0, $a0, 1 +/* DCE484 802417B4 8E030020 */ lw $v1, 0x20($s0) +/* DCE488 802417B8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* DCE48C 802417BC 000327C2 */ srl $a0, $v1, 0x1f +/* DCE490 802417C0 00641821 */ addu $v1, $v1, $a0 +/* DCE494 802417C4 00031843 */ sra $v1, $v1, 1 +/* DCE498 802417C8 00621821 */ addu $v1, $v1, $v0 +/* DCE49C 802417CC A643008E */ sh $v1, 0x8e($s2) +/* DCE4A0 802417D0 8E2200CC */ lw $v0, 0xcc($s1) +/* DCE4A4 802417D4 C64E0040 */ lwc1 $f14, 0x40($s2) +/* DCE4A8 802417D8 8C42000C */ lw $v0, 0xc($v0) +/* DCE4AC 802417DC AE420028 */ sw $v0, 0x28($s2) +/* DCE4B0 802417E0 C6000018 */ lwc1 $f0, 0x18($s0) +/* DCE4B4 802417E4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DCE4B8 802417E8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DCE4BC 802417EC E6400018 */ swc1 $f0, 0x18($s2) +/* DCE4C0 802417F0 8C460028 */ lw $a2, 0x28($v0) +/* DCE4C4 802417F4 0C00A720 */ jal atan2 +/* DCE4C8 802417F8 8C470030 */ lw $a3, 0x30($v0) +/* DCE4CC 802417FC 46000506 */ mov.s $f20, $f0 +/* DCE4D0 80241800 C64C000C */ lwc1 $f12, 0xc($s2) +/* DCE4D4 80241804 0C00A70A */ jal get_clamped_angle_diff +/* DCE4D8 80241808 4600A386 */ mov.s $f14, $f20 +/* DCE4DC 8024180C 46000086 */ mov.s $f2, $f0 +/* DCE4E0 80241810 8E02001C */ lw $v0, 0x1c($s0) +/* DCE4E4 80241814 46001005 */ abs.s $f0, $f2 +/* DCE4E8 80241818 44822000 */ mtc1 $v0, $f4 +/* DCE4EC 8024181C 00000000 */ nop +/* DCE4F0 80241820 46802120 */ cvt.s.w $f4, $f4 +/* DCE4F4 80241824 4600203C */ c.lt.s $f4, $f0 +/* DCE4F8 80241828 00000000 */ nop +/* DCE4FC 8024182C 4500000D */ bc1f .L80241864 +/* DCE500 80241830 00000000 */ nop +/* DCE504 80241834 44800000 */ mtc1 $zero, $f0 +/* DCE508 80241838 C654000C */ lwc1 $f20, 0xc($s2) +/* DCE50C 8024183C 4600103C */ c.lt.s $f2, $f0 +/* DCE510 80241840 00000000 */ nop +/* DCE514 80241844 45000006 */ bc1f .L80241860 +/* DCE518 80241848 00021023 */ negu $v0, $v0 +/* DCE51C 8024184C 44820000 */ mtc1 $v0, $f0 +/* DCE520 80241850 00000000 */ nop +/* DCE524 80241854 46800020 */ cvt.s.w $f0, $f0 +/* DCE528 80241858 08090619 */ j .L80241864 +/* DCE52C 8024185C 4600A500 */ add.s $f20, $f20, $f0 +.L80241860: +/* DCE530 80241860 4604A500 */ add.s $f20, $f20, $f4 +.L80241864: +/* DCE534 80241864 0C00A6C9 */ jal clamp_angle +/* DCE538 80241868 4600A306 */ mov.s $f12, $f20 +/* DCE53C 8024186C 2402000D */ addiu $v0, $zero, 0xd +/* DCE540 80241870 E640000C */ swc1 $f0, 0xc($s2) +/* DCE544 80241874 AE620070 */ sw $v0, 0x70($s3) +/* DCE548 80241878 8FBF0020 */ lw $ra, 0x20($sp) +/* DCE54C 8024187C 8FB3001C */ lw $s3, 0x1c($sp) +/* DCE550 80241880 8FB20018 */ lw $s2, 0x18($sp) +/* DCE554 80241884 8FB10014 */ lw $s1, 0x14($sp) +/* DCE558 80241888 8FB00010 */ lw $s0, 0x10($sp) +/* DCE55C 8024188C D7B40028 */ ldc1 $f20, 0x28($sp) +/* DCE560 80241890 03E00008 */ jr $ra +/* DCE564 80241894 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241898_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241898_DCCCD0.s new file mode 100644 index 0000000000..0742549116 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241898_DCCCD0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241898_DCE568 +/* DCE568 80241898 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DCE56C 8024189C AFB3003C */ sw $s3, 0x3c($sp) +/* DCE570 802418A0 0080982D */ daddu $s3, $a0, $zero +/* DCE574 802418A4 AFBF0040 */ sw $ra, 0x40($sp) +/* DCE578 802418A8 AFB20038 */ sw $s2, 0x38($sp) +/* DCE57C 802418AC AFB10034 */ sw $s1, 0x34($sp) +/* DCE580 802418B0 AFB00030 */ sw $s0, 0x30($sp) +/* DCE584 802418B4 8E720148 */ lw $s2, 0x148($s3) +/* DCE588 802418B8 00A0882D */ daddu $s1, $a1, $zero +/* DCE58C 802418BC 86440008 */ lh $a0, 8($s2) +/* DCE590 802418C0 0C00EABB */ jal get_npc_unsafe +/* DCE594 802418C4 00C0802D */ daddu $s0, $a2, $zero +/* DCE598 802418C8 0200202D */ daddu $a0, $s0, $zero +/* DCE59C 802418CC 0240282D */ daddu $a1, $s2, $zero +/* DCE5A0 802418D0 24030001 */ addiu $v1, $zero, 1 +/* DCE5A4 802418D4 AFA30010 */ sw $v1, 0x10($sp) +/* DCE5A8 802418D8 8E260024 */ lw $a2, 0x24($s1) +/* DCE5AC 802418DC 8E270028 */ lw $a3, 0x28($s1) +/* DCE5B0 802418E0 0C01242D */ jal func_800490B4 +/* DCE5B4 802418E4 0040802D */ daddu $s0, $v0, $zero +/* DCE5B8 802418E8 1440001E */ bnez $v0, .L80241964 +/* DCE5BC 802418EC 0200202D */ daddu $a0, $s0, $zero +/* DCE5C0 802418F0 24040002 */ addiu $a0, $zero, 2 +/* DCE5C4 802418F4 0200282D */ daddu $a1, $s0, $zero +/* DCE5C8 802418F8 0000302D */ daddu $a2, $zero, $zero +/* DCE5CC 802418FC 860300A8 */ lh $v1, 0xa8($s0) +/* DCE5D0 80241900 3C013F80 */ lui $at, 0x3f80 +/* DCE5D4 80241904 44810000 */ mtc1 $at, $f0 +/* DCE5D8 80241908 3C014000 */ lui $at, 0x4000 +/* DCE5DC 8024190C 44811000 */ mtc1 $at, $f2 +/* DCE5E0 80241910 3C01C1A0 */ lui $at, 0xc1a0 +/* DCE5E4 80241914 44812000 */ mtc1 $at, $f4 +/* DCE5E8 80241918 2402000F */ addiu $v0, $zero, 0xf +/* DCE5EC 8024191C AFA2001C */ sw $v0, 0x1c($sp) +/* DCE5F0 80241920 44833000 */ mtc1 $v1, $f6 +/* DCE5F4 80241924 00000000 */ nop +/* DCE5F8 80241928 468031A0 */ cvt.s.w $f6, $f6 +/* DCE5FC 8024192C 44073000 */ mfc1 $a3, $f6 +/* DCE600 80241930 27A20028 */ addiu $v0, $sp, 0x28 +/* DCE604 80241934 AFA20020 */ sw $v0, 0x20($sp) +/* DCE608 80241938 E7A00010 */ swc1 $f0, 0x10($sp) +/* DCE60C 8024193C E7A20014 */ swc1 $f2, 0x14($sp) +/* DCE610 80241940 0C01BFA4 */ jal fx_emote +/* DCE614 80241944 E7A40018 */ swc1 $f4, 0x18($sp) +/* DCE618 80241948 8E4200CC */ lw $v0, 0xcc($s2) +/* DCE61C 8024194C 8C430000 */ lw $v1, ($v0) +/* DCE620 80241950 24020019 */ addiu $v0, $zero, 0x19 +/* DCE624 80241954 A602008E */ sh $v0, 0x8e($s0) +/* DCE628 80241958 2402000E */ addiu $v0, $zero, 0xe +/* DCE62C 8024195C 08090666 */ j .L80241998 +/* DCE630 80241960 AE030028 */ sw $v1, 0x28($s0) +.L80241964: +/* DCE634 80241964 0C00F598 */ jal func_8003D660 +/* DCE638 80241968 24050001 */ addiu $a1, $zero, 1 +/* DCE63C 8024196C 8E050018 */ lw $a1, 0x18($s0) +/* DCE640 80241970 8E06000C */ lw $a2, 0xc($s0) +/* DCE644 80241974 0C00EA95 */ jal npc_move_heading +/* DCE648 80241978 0200202D */ daddu $a0, $s0, $zero +/* DCE64C 8024197C 8602008E */ lh $v0, 0x8e($s0) +/* DCE650 80241980 9603008E */ lhu $v1, 0x8e($s0) +/* DCE654 80241984 18400003 */ blez $v0, .L80241994 +/* DCE658 80241988 2462FFFF */ addiu $v0, $v1, -1 +/* DCE65C 8024198C 08090667 */ j .L8024199C +/* DCE660 80241990 A602008E */ sh $v0, 0x8e($s0) +.L80241994: +/* DCE664 80241994 2402000C */ addiu $v0, $zero, 0xc +.L80241998: +/* DCE668 80241998 AE620070 */ sw $v0, 0x70($s3) +.L8024199C: +/* DCE66C 8024199C 8FBF0040 */ lw $ra, 0x40($sp) +/* DCE670 802419A0 8FB3003C */ lw $s3, 0x3c($sp) +/* DCE674 802419A4 8FB20038 */ lw $s2, 0x38($sp) +/* DCE678 802419A8 8FB10034 */ lw $s1, 0x34($sp) +/* DCE67C 802419AC 8FB00030 */ lw $s0, 0x30($sp) +/* DCE680 802419B0 03E00008 */ jr $ra +/* DCE684 802419B4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802419B8.s b/asm/nonmatchings/world/area_omo/omo_09/func_802419B8.s new file mode 100644 index 0000000000..dcaf420985 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802419B8.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419B8 +/* DCE688 802419B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCE68C 802419BC AFB10014 */ sw $s1, 0x14($sp) +/* DCE690 802419C0 0080882D */ daddu $s1, $a0, $zero +/* DCE694 802419C4 AFBF0018 */ sw $ra, 0x18($sp) +/* DCE698 802419C8 AFB00010 */ sw $s0, 0x10($sp) +/* DCE69C 802419CC 8E300148 */ lw $s0, 0x148($s1) +/* DCE6A0 802419D0 0C00EABB */ jal get_npc_unsafe +/* DCE6A4 802419D4 86040008 */ lh $a0, 8($s0) +/* DCE6A8 802419D8 9443008E */ lhu $v1, 0x8e($v0) +/* DCE6AC 802419DC 2463FFFF */ addiu $v1, $v1, -1 +/* DCE6B0 802419E0 A443008E */ sh $v1, 0x8e($v0) +/* DCE6B4 802419E4 00031C00 */ sll $v1, $v1, 0x10 +/* DCE6B8 802419E8 14600008 */ bnez $v1, .L80241A0C +/* DCE6BC 802419EC 00000000 */ nop +/* DCE6C0 802419F0 8E0200B0 */ lw $v0, 0xb0($s0) +/* DCE6C4 802419F4 30420080 */ andi $v0, $v0, 0x80 +/* DCE6C8 802419F8 10400003 */ beqz $v0, .L80241A08 +/* DCE6CC 802419FC 2402000F */ addiu $v0, $zero, 0xf +/* DCE6D0 80241A00 08090683 */ j .L80241A0C +/* DCE6D4 80241A04 AE220070 */ sw $v0, 0x70($s1) +.L80241A08: +/* DCE6D8 80241A08 AE200070 */ sw $zero, 0x70($s1) +.L80241A0C: +/* DCE6DC 80241A0C 8FBF0018 */ lw $ra, 0x18($sp) +/* DCE6E0 80241A10 8FB10014 */ lw $s1, 0x14($sp) +/* DCE6E4 80241A14 8FB00010 */ lw $s0, 0x10($sp) +/* DCE6E8 80241A18 03E00008 */ jr $ra +/* DCE6EC 80241A1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241A20.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241A20.s new file mode 100644 index 0000000000..ddeb09d76f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241A20.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A20 +/* DCE6F0 80241A20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCE6F4 80241A24 AFB10014 */ sw $s1, 0x14($sp) +/* DCE6F8 80241A28 0080882D */ daddu $s1, $a0, $zero +/* DCE6FC 80241A2C AFBF001C */ sw $ra, 0x1c($sp) +/* DCE700 80241A30 AFB20018 */ sw $s2, 0x18($sp) +/* DCE704 80241A34 AFB00010 */ sw $s0, 0x10($sp) +/* DCE708 80241A38 8E300148 */ lw $s0, 0x148($s1) +/* DCE70C 80241A3C 86040008 */ lh $a0, 8($s0) +/* DCE710 80241A40 0C00EABB */ jal get_npc_unsafe +/* DCE714 80241A44 00A0902D */ daddu $s2, $a1, $zero +/* DCE718 80241A48 8E0300D0 */ lw $v1, 0xd0($s0) +/* DCE71C 80241A4C 8E240078 */ lw $a0, 0x78($s1) +/* DCE720 80241A50 8C630000 */ lw $v1, ($v1) +/* DCE724 80241A54 0083182A */ slt $v1, $a0, $v1 +/* DCE728 80241A58 10600013 */ beqz $v1, .L80241AA8 +/* DCE72C 80241A5C 0040302D */ daddu $a2, $v0, $zero +/* DCE730 80241A60 00041040 */ sll $v0, $a0, 1 +/* DCE734 80241A64 00441021 */ addu $v0, $v0, $a0 +/* DCE738 80241A68 00022880 */ sll $a1, $v0, 2 +.L80241A6C: +/* DCE73C 80241A6C 8E0300D0 */ lw $v1, 0xd0($s0) +/* DCE740 80241A70 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* DCE744 80241A74 00A31021 */ addu $v0, $a1, $v1 +/* DCE748 80241A78 C4400008 */ lwc1 $f0, 8($v0) +/* DCE74C 80241A7C 46800020 */ cvt.s.w $f0, $f0 +/* DCE750 80241A80 4602003E */ c.le.s $f0, $f2 +/* DCE754 80241A84 00000000 */ nop +/* DCE758 80241A88 45020003 */ bc1fl .L80241A98 +/* DCE75C 80241A8C 24840001 */ addiu $a0, $a0, 1 +/* DCE760 80241A90 080906AA */ j .L80241AA8 +/* DCE764 80241A94 AE240078 */ sw $a0, 0x78($s1) +.L80241A98: +/* DCE768 80241A98 8C620000 */ lw $v0, ($v1) +/* DCE76C 80241A9C 0082102A */ slt $v0, $a0, $v0 +/* DCE770 80241AA0 1440FFF2 */ bnez $v0, .L80241A6C +/* DCE774 80241AA4 24A5000C */ addiu $a1, $a1, 0xc +.L80241AA8: +/* DCE778 80241AA8 C6400000 */ lwc1 $f0, ($s2) +/* DCE77C 80241AAC E4C00018 */ swc1 $f0, 0x18($a2) +/* DCE780 80241AB0 8E0200CC */ lw $v0, 0xcc($s0) +/* DCE784 80241AB4 8C420004 */ lw $v0, 4($v0) +/* DCE788 80241AB8 ACC20028 */ sw $v0, 0x28($a2) +/* DCE78C 80241ABC 24020001 */ addiu $v0, $zero, 1 +/* DCE790 80241AC0 AE200074 */ sw $zero, 0x74($s1) +/* DCE794 80241AC4 AE220070 */ sw $v0, 0x70($s1) +/* DCE798 80241AC8 8FBF001C */ lw $ra, 0x1c($sp) +/* DCE79C 80241ACC 8FB20018 */ lw $s2, 0x18($sp) +/* DCE7A0 80241AD0 8FB10014 */ lw $s1, 0x14($sp) +/* DCE7A4 80241AD4 8FB00010 */ lw $s0, 0x10($sp) +/* DCE7A8 80241AD8 03E00008 */ jr $ra +/* DCE7AC 80241ADC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241AE0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241AE0_DCCCD0.s new file mode 100644 index 0000000000..2ca6d935d5 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241AE0_DCCCD0.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AE0_DCE7B0 +/* DCE7B0 80241AE0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DCE7B4 80241AE4 AFB40058 */ sw $s4, 0x58($sp) +/* DCE7B8 80241AE8 0080A02D */ daddu $s4, $a0, $zero +/* DCE7BC 80241AEC AFBF0060 */ sw $ra, 0x60($sp) +/* DCE7C0 80241AF0 AFB5005C */ sw $s5, 0x5c($sp) +/* DCE7C4 80241AF4 AFB30054 */ sw $s3, 0x54($sp) +/* DCE7C8 80241AF8 AFB20050 */ sw $s2, 0x50($sp) +/* DCE7CC 80241AFC AFB1004C */ sw $s1, 0x4c($sp) +/* DCE7D0 80241B00 AFB00048 */ sw $s0, 0x48($sp) +/* DCE7D4 80241B04 8E910148 */ lw $s1, 0x148($s4) +/* DCE7D8 80241B08 86240008 */ lh $a0, 8($s1) +/* DCE7DC 80241B0C 0C00EABB */ jal get_npc_unsafe +/* DCE7E0 80241B10 00A0802D */ daddu $s0, $a1, $zero +/* DCE7E4 80241B14 8E83000C */ lw $v1, 0xc($s4) +/* DCE7E8 80241B18 0280202D */ daddu $a0, $s4, $zero +/* DCE7EC 80241B1C 8C650000 */ lw $a1, ($v1) +/* DCE7F0 80241B20 0C0B1EAF */ jal get_variable +/* DCE7F4 80241B24 0040902D */ daddu $s2, $v0, $zero +/* DCE7F8 80241B28 AFA00018 */ sw $zero, 0x18($sp) +/* DCE7FC 80241B2C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCE800 80241B30 8C630094 */ lw $v1, 0x94($v1) +/* DCE804 80241B34 AFA3001C */ sw $v1, 0x1c($sp) +/* DCE808 80241B38 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCE80C 80241B3C 8C630080 */ lw $v1, 0x80($v1) +/* DCE810 80241B40 AFA30020 */ sw $v1, 0x20($sp) +/* DCE814 80241B44 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCE818 80241B48 8C630088 */ lw $v1, 0x88($v1) +/* DCE81C 80241B4C AFA30024 */ sw $v1, 0x24($sp) +/* DCE820 80241B50 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCE824 80241B54 8C63008C */ lw $v1, 0x8c($v1) +/* DCE828 80241B58 27B50018 */ addiu $s5, $sp, 0x18 +/* DCE82C 80241B5C AFA30028 */ sw $v1, 0x28($sp) +/* DCE830 80241B60 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCE834 80241B64 3C014282 */ lui $at, 0x4282 +/* DCE838 80241B68 44810000 */ mtc1 $at, $f0 +/* DCE83C 80241B6C 8C630090 */ lw $v1, 0x90($v1) +/* DCE840 80241B70 0040982D */ daddu $s3, $v0, $zero +/* DCE844 80241B74 E7A00030 */ swc1 $f0, 0x30($sp) +/* DCE848 80241B78 A7A00034 */ sh $zero, 0x34($sp) +/* DCE84C 80241B7C 16000005 */ bnez $s0, .L80241B94 +/* DCE850 80241B80 AFA3002C */ sw $v1, 0x2c($sp) +/* DCE854 80241B84 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCE858 80241B88 30420004 */ andi $v0, $v0, 4 +/* DCE85C 80241B8C 10400044 */ beqz $v0, .L80241CA0 +/* DCE860 80241B90 00000000 */ nop +.L80241B94: +/* DCE864 80241B94 2404F7FF */ addiu $a0, $zero, -0x801 +/* DCE868 80241B98 AE800070 */ sw $zero, 0x70($s4) +/* DCE86C 80241B9C A640008E */ sh $zero, 0x8e($s2) +/* DCE870 80241BA0 8E2200CC */ lw $v0, 0xcc($s1) +/* DCE874 80241BA4 8E430000 */ lw $v1, ($s2) +/* DCE878 80241BA8 8C420000 */ lw $v0, ($v0) +/* DCE87C 80241BAC 00641824 */ and $v1, $v1, $a0 +/* DCE880 80241BB0 AE430000 */ sw $v1, ($s2) +/* DCE884 80241BB4 AE420028 */ sw $v0, 0x28($s2) +/* DCE888 80241BB8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DCE88C 80241BBC 8C420098 */ lw $v0, 0x98($v0) +/* DCE890 80241BC0 54400005 */ bnel $v0, $zero, .L80241BD8 +/* DCE894 80241BC4 2402FDFF */ addiu $v0, $zero, -0x201 +/* DCE898 80241BC8 34620200 */ ori $v0, $v1, 0x200 +/* DCE89C 80241BCC 2403FFF7 */ addiu $v1, $zero, -9 +/* DCE8A0 80241BD0 080906F8 */ j .L80241BE0 +/* DCE8A4 80241BD4 00431024 */ and $v0, $v0, $v1 +.L80241BD8: +/* DCE8A8 80241BD8 00621024 */ and $v0, $v1, $v0 +/* DCE8AC 80241BDC 34420008 */ ori $v0, $v0, 8 +.L80241BE0: +/* DCE8B0 80241BE0 AE420000 */ sw $v0, ($s2) +/* DCE8B4 80241BE4 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCE8B8 80241BE8 30420004 */ andi $v0, $v0, 4 +/* DCE8BC 80241BEC 10400008 */ beqz $v0, .L80241C10 +/* DCE8C0 80241BF0 24020063 */ addiu $v0, $zero, 0x63 +/* DCE8C4 80241BF4 AE820070 */ sw $v0, 0x70($s4) +/* DCE8C8 80241BF8 AE800074 */ sw $zero, 0x74($s4) +/* DCE8CC 80241BFC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCE8D0 80241C00 2403FFFB */ addiu $v1, $zero, -5 +/* DCE8D4 80241C04 00431024 */ and $v0, $v0, $v1 +/* DCE8D8 80241C08 0809070F */ j .L80241C3C +/* DCE8DC 80241C0C AE2200B0 */ sw $v0, 0xb0($s1) +.L80241C10: +/* DCE8E0 80241C10 8E220000 */ lw $v0, ($s1) +/* DCE8E4 80241C14 3C034000 */ lui $v1, 0x4000 +/* DCE8E8 80241C18 00431024 */ and $v0, $v0, $v1 +/* DCE8EC 80241C1C 10400007 */ beqz $v0, .L80241C3C +/* DCE8F0 80241C20 3C03BFFF */ lui $v1, 0xbfff +/* DCE8F4 80241C24 2402000C */ addiu $v0, $zero, 0xc +/* DCE8F8 80241C28 AE820070 */ sw $v0, 0x70($s4) +/* DCE8FC 80241C2C 8E220000 */ lw $v0, ($s1) +/* DCE900 80241C30 3463FFFF */ ori $v1, $v1, 0xffff +/* DCE904 80241C34 00431024 */ and $v0, $v0, $v1 +/* DCE908 80241C38 AE220000 */ sw $v0, ($s1) +.L80241C3C: +/* DCE90C 80241C3C 27A50038 */ addiu $a1, $sp, 0x38 +/* DCE910 80241C40 27A6003C */ addiu $a2, $sp, 0x3c +/* DCE914 80241C44 C6400038 */ lwc1 $f0, 0x38($s2) +/* DCE918 80241C48 864200A8 */ lh $v0, 0xa8($s2) +/* DCE91C 80241C4C 3C0142C8 */ lui $at, 0x42c8 +/* DCE920 80241C50 44812000 */ mtc1 $at, $f4 +/* DCE924 80241C54 44823000 */ mtc1 $v0, $f6 +/* DCE928 80241C58 00000000 */ nop +/* DCE92C 80241C5C 468031A0 */ cvt.s.w $f6, $f6 +/* DCE930 80241C60 27A20044 */ addiu $v0, $sp, 0x44 +/* DCE934 80241C64 E7A00038 */ swc1 $f0, 0x38($sp) +/* DCE938 80241C68 C640003C */ lwc1 $f0, 0x3c($s2) +/* DCE93C 80241C6C C6420040 */ lwc1 $f2, 0x40($s2) +/* DCE940 80241C70 46060000 */ add.s $f0, $f0, $f6 +/* DCE944 80241C74 E7A40044 */ swc1 $f4, 0x44($sp) +/* DCE948 80241C78 E7A20040 */ swc1 $f2, 0x40($sp) +/* DCE94C 80241C7C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DCE950 80241C80 AFA20010 */ sw $v0, 0x10($sp) +/* DCE954 80241C84 8E440080 */ lw $a0, 0x80($s2) +/* DCE958 80241C88 0C0372DF */ jal func_800DCB7C +/* DCE95C 80241C8C 27A70040 */ addiu $a3, $sp, 0x40 +/* DCE960 80241C90 10400003 */ beqz $v0, .L80241CA0 +/* DCE964 80241C94 00000000 */ nop +/* DCE968 80241C98 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DCE96C 80241C9C E640003C */ swc1 $f0, 0x3c($s2) +.L80241CA0: +/* DCE970 80241CA0 8E830070 */ lw $v1, 0x70($s4) +/* DCE974 80241CA4 2C620064 */ sltiu $v0, $v1, 0x64 +/* DCE978 80241CA8 10400042 */ beqz $v0, .L80241DB4 +/* DCE97C 80241CAC 00031080 */ sll $v0, $v1, 2 +/* DCE980 80241CB0 3C018025 */ lui $at, 0x8025 +/* DCE984 80241CB4 00220821 */ addu $at, $at, $v0 +/* DCE988 80241CB8 8C22A7E0 */ lw $v0, -0x5820($at) +/* DCE98C 80241CBC 00400008 */ jr $v0 +/* DCE990 80241CC0 00000000 */ nop +/* DCE994 80241CC4 0280202D */ daddu $a0, $s4, $zero +/* DCE998 80241CC8 0260282D */ daddu $a1, $s3, $zero +/* DCE99C 80241CCC 0C0903D3 */ jal func_80240F4C +/* DCE9A0 80241CD0 02A0302D */ daddu $a2, $s5, $zero +/* DCE9A4 80241CD4 0280202D */ daddu $a0, $s4, $zero +/* DCE9A8 80241CD8 0260282D */ daddu $a1, $s3, $zero +/* DCE9AC 80241CDC 0C090429 */ jal func_802410A4 +/* DCE9B0 80241CE0 02A0302D */ daddu $a2, $s5, $zero +/* DCE9B4 80241CE4 0809076D */ j .L80241DB4 +/* DCE9B8 80241CE8 00000000 */ nop +/* DCE9BC 80241CEC 0280202D */ daddu $a0, $s4, $zero +/* DCE9C0 80241CF0 0260282D */ daddu $a1, $s3, $zero +/* DCE9C4 80241CF4 0C0904D3 */ jal func_8024134C +/* DCE9C8 80241CF8 02A0302D */ daddu $a2, $s5, $zero +/* DCE9CC 80241CFC 0280202D */ daddu $a0, $s4, $zero +/* DCE9D0 80241D00 0260282D */ daddu $a1, $s3, $zero +/* DCE9D4 80241D04 0C090503 */ jal func_8024140C +/* DCE9D8 80241D08 02A0302D */ daddu $a2, $s5, $zero +/* DCE9DC 80241D0C 0809076D */ j .L80241DB4 +/* DCE9E0 80241D10 00000000 */ nop +/* DCE9E4 80241D14 0280202D */ daddu $a0, $s4, $zero +/* DCE9E8 80241D18 0260282D */ daddu $a1, $s3, $zero +/* DCE9EC 80241D1C 0C090572 */ jal func_802415C8 +/* DCE9F0 80241D20 02A0302D */ daddu $a2, $s5, $zero +/* DCE9F4 80241D24 0809076D */ j .L80241DB4 +/* DCE9F8 80241D28 00000000 */ nop +/* DCE9FC 80241D2C 0280202D */ daddu $a0, $s4, $zero +/* DCEA00 80241D30 0260282D */ daddu $a1, $s3, $zero +/* DCEA04 80241D34 0C09059F */ jal func_8024167C +/* DCEA08 80241D38 02A0302D */ daddu $a2, $s5, $zero +/* DCEA0C 80241D3C 0280202D */ daddu $a0, $s4, $zero +/* DCEA10 80241D40 0260282D */ daddu $a1, $s3, $zero +/* DCEA14 80241D44 0C0905BC */ jal func_802416F0 +/* DCEA18 80241D48 02A0302D */ daddu $a2, $s5, $zero +/* DCEA1C 80241D4C 0809076D */ j .L80241DB4 +/* DCEA20 80241D50 00000000 */ nop +/* DCEA24 80241D54 0280202D */ daddu $a0, $s4, $zero +/* DCEA28 80241D58 0260282D */ daddu $a1, $s3, $zero +/* DCEA2C 80241D5C 0C0905DA */ jal func_80241768 +/* DCEA30 80241D60 02A0302D */ daddu $a2, $s5, $zero +/* DCEA34 80241D64 0280202D */ daddu $a0, $s4, $zero +/* DCEA38 80241D68 0260282D */ daddu $a1, $s3, $zero +/* DCEA3C 80241D6C 0C090626 */ jal func_80241898 +/* DCEA40 80241D70 02A0302D */ daddu $a2, $s5, $zero +/* DCEA44 80241D74 0809076D */ j .L80241DB4 +/* DCEA48 80241D78 00000000 */ nop +/* DCEA4C 80241D7C 0280202D */ daddu $a0, $s4, $zero +/* DCEA50 80241D80 0260282D */ daddu $a1, $s3, $zero +/* DCEA54 80241D84 0C09066E */ jal func_802419B8 +/* DCEA58 80241D88 02A0302D */ daddu $a2, $s5, $zero +/* DCEA5C 80241D8C 0809076D */ j .L80241DB4 +/* DCEA60 80241D90 00000000 */ nop +/* DCEA64 80241D94 0280202D */ daddu $a0, $s4, $zero +/* DCEA68 80241D98 0260282D */ daddu $a1, $s3, $zero +/* DCEA6C 80241D9C 0C090688 */ jal func_80241A20 +/* DCEA70 80241DA0 02A0302D */ daddu $a2, $s5, $zero +/* DCEA74 80241DA4 0809076D */ j .L80241DB4 +/* DCEA78 80241DA8 00000000 */ nop +/* DCEA7C 80241DAC 0C0129CF */ jal func_8004A73C +/* DCEA80 80241DB0 0280202D */ daddu $a0, $s4, $zero +.L80241DB4: +/* DCEA84 80241DB4 8FBF0060 */ lw $ra, 0x60($sp) +/* DCEA88 80241DB8 8FB5005C */ lw $s5, 0x5c($sp) +/* DCEA8C 80241DBC 8FB40058 */ lw $s4, 0x58($sp) +/* DCEA90 80241DC0 8FB30054 */ lw $s3, 0x54($sp) +/* DCEA94 80241DC4 8FB20050 */ lw $s2, 0x50($sp) +/* DCEA98 80241DC8 8FB1004C */ lw $s1, 0x4c($sp) +/* DCEA9C 80241DCC 8FB00048 */ lw $s0, 0x48($sp) +/* DCEAA0 80241DD0 0000102D */ daddu $v0, $zero, $zero +/* DCEAA4 80241DD4 03E00008 */ jr $ra +/* DCEAA8 80241DD8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241DDC.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241DDC.s new file mode 100644 index 0000000000..800a1f35a3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241DDC.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DDC +/* DCEAAC 80241DDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCEAB0 80241DE0 AFB10014 */ sw $s1, 0x14($sp) +/* DCEAB4 80241DE4 0080882D */ daddu $s1, $a0, $zero +/* DCEAB8 80241DE8 AFBF0018 */ sw $ra, 0x18($sp) +/* DCEABC 80241DEC AFB00010 */ sw $s0, 0x10($sp) +/* DCEAC0 80241DF0 8E300148 */ lw $s0, 0x148($s1) +/* DCEAC4 80241DF4 0C00EABB */ jal get_npc_unsafe +/* DCEAC8 80241DF8 86040008 */ lh $a0, 8($s0) +/* DCEACC 80241DFC C4400018 */ lwc1 $f0, 0x18($v0) +/* DCEAD0 80241E00 3C018025 */ lui $at, 0x8025 +/* DCEAD4 80241E04 D422A970 */ ldc1 $f2, -0x5690($at) +/* DCEAD8 80241E08 46000021 */ cvt.d.s $f0, $f0 +/* DCEADC 80241E0C 46220002 */ mul.d $f0, $f0, $f2 +/* DCEAE0 80241E10 00000000 */ nop +/* DCEAE4 80241E14 46200020 */ cvt.s.d $f0, $f0 +/* DCEAE8 80241E18 E4400018 */ swc1 $f0, 0x18($v0) +/* DCEAEC 80241E1C 8E0300CC */ lw $v1, 0xcc($s0) +/* DCEAF0 80241E20 8C640030 */ lw $a0, 0x30($v1) +/* DCEAF4 80241E24 24030005 */ addiu $v1, $zero, 5 +/* DCEAF8 80241E28 A443008E */ sh $v1, 0x8e($v0) +/* DCEAFC 80241E2C AC440028 */ sw $a0, 0x28($v0) +/* DCEB00 80241E30 2402000F */ addiu $v0, $zero, 0xf +/* DCEB04 80241E34 AE220070 */ sw $v0, 0x70($s1) +/* DCEB08 80241E38 8FBF0018 */ lw $ra, 0x18($sp) +/* DCEB0C 80241E3C 8FB10014 */ lw $s1, 0x14($sp) +/* DCEB10 80241E40 8FB00010 */ lw $s0, 0x10($sp) +/* DCEB14 80241E44 03E00008 */ jr $ra +/* DCEB18 80241E48 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241E4C.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241E4C.s new file mode 100644 index 0000000000..76e445e11c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241E4C.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E4C +/* DCEB1C 80241E4C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCEB20 80241E50 AFB20028 */ sw $s2, 0x28($sp) +/* DCEB24 80241E54 0080902D */ daddu $s2, $a0, $zero +/* DCEB28 80241E58 AFBF002C */ sw $ra, 0x2c($sp) +/* DCEB2C 80241E5C AFB10024 */ sw $s1, 0x24($sp) +/* DCEB30 80241E60 AFB00020 */ sw $s0, 0x20($sp) +/* DCEB34 80241E64 8E510148 */ lw $s1, 0x148($s2) +/* DCEB38 80241E68 0C00EABB */ jal get_npc_unsafe +/* DCEB3C 80241E6C 86240008 */ lh $a0, 8($s1) +/* DCEB40 80241E70 0040802D */ daddu $s0, $v0, $zero +/* DCEB44 80241E74 0200202D */ daddu $a0, $s0, $zero +/* DCEB48 80241E78 C600000C */ lwc1 $f0, 0xc($s0) +/* DCEB4C 80241E7C 27A60018 */ addiu $a2, $sp, 0x18 +/* DCEB50 80241E80 E7A00018 */ swc1 $f0, 0x18($sp) +/* DCEB54 80241E84 AFA00010 */ sw $zero, 0x10($sp) +/* DCEB58 80241E88 AFA00014 */ sw $zero, 0x14($sp) +/* DCEB5C 80241E8C 8E050018 */ lw $a1, 0x18($s0) +/* DCEB60 80241E90 0C0129E1 */ jal func_8004A784 +/* DCEB64 80241E94 0000382D */ daddu $a3, $zero, $zero +/* DCEB68 80241E98 14400005 */ bnez $v0, .L80241EB0 +/* DCEB6C 80241E9C 00000000 */ nop +/* DCEB70 80241EA0 8E050018 */ lw $a1, 0x18($s0) +/* DCEB74 80241EA4 8E06000C */ lw $a2, 0xc($s0) +/* DCEB78 80241EA8 0C00EA95 */ jal npc_move_heading +/* DCEB7C 80241EAC 0200202D */ daddu $a0, $s0, $zero +.L80241EB0: +/* DCEB80 80241EB0 9602008E */ lhu $v0, 0x8e($s0) +/* DCEB84 80241EB4 2442FFFF */ addiu $v0, $v0, -1 +/* DCEB88 80241EB8 A602008E */ sh $v0, 0x8e($s0) +/* DCEB8C 80241EBC 00021400 */ sll $v0, $v0, 0x10 +/* DCEB90 80241EC0 14400010 */ bnez $v0, .L80241F04 +/* DCEB94 80241EC4 00000000 */ nop +/* DCEB98 80241EC8 C6000018 */ lwc1 $f0, 0x18($s0) +/* DCEB9C 80241ECC 3C018025 */ lui $at, 0x8025 +/* DCEBA0 80241ED0 D422A978 */ ldc1 $f2, -0x5688($at) +/* DCEBA4 80241ED4 46000021 */ cvt.d.s $f0, $f0 +/* DCEBA8 80241ED8 46220002 */ mul.d $f0, $f0, $f2 +/* DCEBAC 80241EDC 00000000 */ nop +/* DCEBB0 80241EE0 46200020 */ cvt.s.d $f0, $f0 +/* DCEBB4 80241EE4 E6000018 */ swc1 $f0, 0x18($s0) +/* DCEBB8 80241EE8 8E2200CC */ lw $v0, 0xcc($s1) +/* DCEBBC 80241EEC 8C43002C */ lw $v1, 0x2c($v0) +/* DCEBC0 80241EF0 2402000A */ addiu $v0, $zero, 0xa +/* DCEBC4 80241EF4 A602008E */ sh $v0, 0x8e($s0) +/* DCEBC8 80241EF8 24020010 */ addiu $v0, $zero, 0x10 +/* DCEBCC 80241EFC AE030028 */ sw $v1, 0x28($s0) +/* DCEBD0 80241F00 AE420070 */ sw $v0, 0x70($s2) +.L80241F04: +/* DCEBD4 80241F04 8FBF002C */ lw $ra, 0x2c($sp) +/* DCEBD8 80241F08 8FB20028 */ lw $s2, 0x28($sp) +/* DCEBDC 80241F0C 8FB10024 */ lw $s1, 0x24($sp) +/* DCEBE0 80241F10 8FB00020 */ lw $s0, 0x20($sp) +/* DCEBE4 80241F14 03E00008 */ jr $ra +/* DCEBE8 80241F18 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241F1C.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241F1C.s new file mode 100644 index 0000000000..f137d55e57 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241F1C.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F1C +/* DCEBEC 80241F1C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCEBF0 80241F20 AFB10024 */ sw $s1, 0x24($sp) +/* DCEBF4 80241F24 0080882D */ daddu $s1, $a0, $zero +/* DCEBF8 80241F28 AFBF0028 */ sw $ra, 0x28($sp) +/* DCEBFC 80241F2C AFB00020 */ sw $s0, 0x20($sp) +/* DCEC00 80241F30 8E220148 */ lw $v0, 0x148($s1) +/* DCEC04 80241F34 0C00EABB */ jal get_npc_unsafe +/* DCEC08 80241F38 84440008 */ lh $a0, 8($v0) +/* DCEC0C 80241F3C 0040802D */ daddu $s0, $v0, $zero +/* DCEC10 80241F40 0200202D */ daddu $a0, $s0, $zero +/* DCEC14 80241F44 C600000C */ lwc1 $f0, 0xc($s0) +/* DCEC18 80241F48 27A60018 */ addiu $a2, $sp, 0x18 +/* DCEC1C 80241F4C E7A00018 */ swc1 $f0, 0x18($sp) +/* DCEC20 80241F50 AFA00010 */ sw $zero, 0x10($sp) +/* DCEC24 80241F54 AFA00014 */ sw $zero, 0x14($sp) +/* DCEC28 80241F58 8E050018 */ lw $a1, 0x18($s0) +/* DCEC2C 80241F5C 0C0129E1 */ jal func_8004A784 +/* DCEC30 80241F60 0000382D */ daddu $a3, $zero, $zero +/* DCEC34 80241F64 14400005 */ bnez $v0, .L80241F7C +/* DCEC38 80241F68 00000000 */ nop +/* DCEC3C 80241F6C 8E050018 */ lw $a1, 0x18($s0) +/* DCEC40 80241F70 8E06000C */ lw $a2, 0xc($s0) +/* DCEC44 80241F74 0C00EA95 */ jal npc_move_heading +/* DCEC48 80241F78 0200202D */ daddu $a0, $s0, $zero +.L80241F7C: +/* DCEC4C 80241F7C 9602008E */ lhu $v0, 0x8e($s0) +/* DCEC50 80241F80 2442FFFF */ addiu $v0, $v0, -1 +/* DCEC54 80241F84 A602008E */ sh $v0, 0x8e($s0) +/* DCEC58 80241F88 00021400 */ sll $v0, $v0, 0x10 +/* DCEC5C 80241F8C 14400004 */ bnez $v0, .L80241FA0 +/* DCEC60 80241F90 2402001E */ addiu $v0, $zero, 0x1e +/* DCEC64 80241F94 A602008E */ sh $v0, 0x8e($s0) +/* DCEC68 80241F98 24020011 */ addiu $v0, $zero, 0x11 +/* DCEC6C 80241F9C AE220070 */ sw $v0, 0x70($s1) +.L80241FA0: +/* DCEC70 80241FA0 8FBF0028 */ lw $ra, 0x28($sp) +/* DCEC74 80241FA4 8FB10024 */ lw $s1, 0x24($sp) +/* DCEC78 80241FA8 8FB00020 */ lw $s0, 0x20($sp) +/* DCEC7C 80241FAC 03E00008 */ jr $ra +/* DCEC80 80241FB0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80241FB4_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80241FB4_DCCCD0.s new file mode 100644 index 0000000000..fdd8226889 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80241FB4_DCCCD0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FB4_DCEC84 +/* DCEC84 80241FB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCEC88 80241FB8 AFB10014 */ sw $s1, 0x14($sp) +/* DCEC8C 80241FBC 0080882D */ daddu $s1, $a0, $zero +/* DCEC90 80241FC0 AFBF0018 */ sw $ra, 0x18($sp) +/* DCEC94 80241FC4 AFB00010 */ sw $s0, 0x10($sp) +/* DCEC98 80241FC8 8E300148 */ lw $s0, 0x148($s1) +/* DCEC9C 80241FCC 0C00EABB */ jal get_npc_unsafe +/* DCECA0 80241FD0 86040008 */ lh $a0, 8($s0) +/* DCECA4 80241FD4 0040182D */ daddu $v1, $v0, $zero +/* DCECA8 80241FD8 9462008E */ lhu $v0, 0x8e($v1) +/* DCECAC 80241FDC 2442FFFF */ addiu $v0, $v0, -1 +/* DCECB0 80241FE0 A462008E */ sh $v0, 0x8e($v1) +/* DCECB4 80241FE4 00021400 */ sll $v0, $v0, 0x10 +/* DCECB8 80241FE8 14400005 */ bnez $v0, .L80242000 +/* DCECBC 80241FEC 00000000 */ nop +/* DCECC0 80241FF0 8E0200CC */ lw $v0, 0xcc($s0) +/* DCECC4 80241FF4 8C420000 */ lw $v0, ($v0) +/* DCECC8 80241FF8 AC620028 */ sw $v0, 0x28($v1) +/* DCECCC 80241FFC AE200070 */ sw $zero, 0x70($s1) +.L80242000: +/* DCECD0 80242000 8FBF0018 */ lw $ra, 0x18($sp) +/* DCECD4 80242004 8FB10014 */ lw $s1, 0x14($sp) +/* DCECD8 80242008 8FB00010 */ lw $s0, 0x10($sp) +/* DCECDC 8024200C 03E00008 */ jr $ra +/* DCECE0 80242010 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80242014_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80242014_DCCCD0.s new file mode 100644 index 0000000000..494aca8e34 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80242014_DCCCD0.s @@ -0,0 +1,220 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242014_DCECE4 +/* DCECE4 80242014 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DCECE8 80242018 AFB30054 */ sw $s3, 0x54($sp) +/* DCECEC 8024201C 0080982D */ daddu $s3, $a0, $zero +/* DCECF0 80242020 AFBF0060 */ sw $ra, 0x60($sp) +/* DCECF4 80242024 AFB5005C */ sw $s5, 0x5c($sp) +/* DCECF8 80242028 AFB40058 */ sw $s4, 0x58($sp) +/* DCECFC 8024202C AFB20050 */ sw $s2, 0x50($sp) +/* DCED00 80242030 AFB1004C */ sw $s1, 0x4c($sp) +/* DCED04 80242034 AFB00048 */ sw $s0, 0x48($sp) +/* DCED08 80242038 8E710148 */ lw $s1, 0x148($s3) +/* DCED0C 8024203C 86240008 */ lh $a0, 8($s1) +/* DCED10 80242040 0C00EABB */ jal get_npc_unsafe +/* DCED14 80242044 00A0802D */ daddu $s0, $a1, $zero +/* DCED18 80242048 8E63000C */ lw $v1, 0xc($s3) +/* DCED1C 8024204C 0260202D */ daddu $a0, $s3, $zero +/* DCED20 80242050 8C650000 */ lw $a1, ($v1) +/* DCED24 80242054 0C0B1EAF */ jal get_variable +/* DCED28 80242058 0040902D */ daddu $s2, $v0, $zero +/* DCED2C 8024205C AFA00018 */ sw $zero, 0x18($sp) +/* DCED30 80242060 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCED34 80242064 8C630094 */ lw $v1, 0x94($v1) +/* DCED38 80242068 AFA3001C */ sw $v1, 0x1c($sp) +/* DCED3C 8024206C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCED40 80242070 8C630080 */ lw $v1, 0x80($v1) +/* DCED44 80242074 AFA30020 */ sw $v1, 0x20($sp) +/* DCED48 80242078 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCED4C 8024207C 8C630088 */ lw $v1, 0x88($v1) +/* DCED50 80242080 AFA30024 */ sw $v1, 0x24($sp) +/* DCED54 80242084 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCED58 80242088 8C63008C */ lw $v1, 0x8c($v1) +/* DCED5C 8024208C 27B50018 */ addiu $s5, $sp, 0x18 +/* DCED60 80242090 AFA30028 */ sw $v1, 0x28($sp) +/* DCED64 80242094 8E2300D0 */ lw $v1, 0xd0($s1) +/* DCED68 80242098 3C014282 */ lui $at, 0x4282 +/* DCED6C 8024209C 44810000 */ mtc1 $at, $f0 +/* DCED70 802420A0 8C630090 */ lw $v1, 0x90($v1) +/* DCED74 802420A4 0040A02D */ daddu $s4, $v0, $zero +/* DCED78 802420A8 E7A00030 */ swc1 $f0, 0x30($sp) +/* DCED7C 802420AC A7A00034 */ sh $zero, 0x34($sp) +/* DCED80 802420B0 16000005 */ bnez $s0, .L802420C8 +/* DCED84 802420B4 AFA3002C */ sw $v1, 0x2c($sp) +/* DCED88 802420B8 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCED8C 802420BC 30420004 */ andi $v0, $v0, 4 +/* DCED90 802420C0 10400044 */ beqz $v0, .L802421D4 +/* DCED94 802420C4 00000000 */ nop +.L802420C8: +/* DCED98 802420C8 2404F7FF */ addiu $a0, $zero, -0x801 +/* DCED9C 802420CC AE600070 */ sw $zero, 0x70($s3) +/* DCEDA0 802420D0 A640008E */ sh $zero, 0x8e($s2) +/* DCEDA4 802420D4 8E2200CC */ lw $v0, 0xcc($s1) +/* DCEDA8 802420D8 8E430000 */ lw $v1, ($s2) +/* DCEDAC 802420DC 8C420000 */ lw $v0, ($v0) +/* DCEDB0 802420E0 00641824 */ and $v1, $v1, $a0 +/* DCEDB4 802420E4 AE430000 */ sw $v1, ($s2) +/* DCEDB8 802420E8 AE420028 */ sw $v0, 0x28($s2) +/* DCEDBC 802420EC 8E2200D0 */ lw $v0, 0xd0($s1) +/* DCEDC0 802420F0 8C420098 */ lw $v0, 0x98($v0) +/* DCEDC4 802420F4 54400005 */ bnel $v0, $zero, .L8024210C +/* DCEDC8 802420F8 2402FDFF */ addiu $v0, $zero, -0x201 +/* DCEDCC 802420FC 34620200 */ ori $v0, $v1, 0x200 +/* DCEDD0 80242100 2403FFF7 */ addiu $v1, $zero, -9 +/* DCEDD4 80242104 08090845 */ j .L80242114 +/* DCEDD8 80242108 00431024 */ and $v0, $v0, $v1 +.L8024210C: +/* DCEDDC 8024210C 00621024 */ and $v0, $v1, $v0 +/* DCEDE0 80242110 34420008 */ ori $v0, $v0, 8 +.L80242114: +/* DCEDE4 80242114 AE420000 */ sw $v0, ($s2) +/* DCEDE8 80242118 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCEDEC 8024211C 30420004 */ andi $v0, $v0, 4 +/* DCEDF0 80242120 10400008 */ beqz $v0, .L80242144 +/* DCEDF4 80242124 24020063 */ addiu $v0, $zero, 0x63 +/* DCEDF8 80242128 AE620070 */ sw $v0, 0x70($s3) +/* DCEDFC 8024212C AE600074 */ sw $zero, 0x74($s3) +/* DCEE00 80242130 8E2200B0 */ lw $v0, 0xb0($s1) +/* DCEE04 80242134 2403FFFB */ addiu $v1, $zero, -5 +/* DCEE08 80242138 00431024 */ and $v0, $v0, $v1 +/* DCEE0C 8024213C 0809085C */ j .L80242170 +/* DCEE10 80242140 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242144: +/* DCEE14 80242144 8E220000 */ lw $v0, ($s1) +/* DCEE18 80242148 3C034000 */ lui $v1, 0x4000 +/* DCEE1C 8024214C 00431024 */ and $v0, $v0, $v1 +/* DCEE20 80242150 10400007 */ beqz $v0, .L80242170 +/* DCEE24 80242154 3C03BFFF */ lui $v1, 0xbfff +/* DCEE28 80242158 2402000C */ addiu $v0, $zero, 0xc +/* DCEE2C 8024215C AE620070 */ sw $v0, 0x70($s3) +/* DCEE30 80242160 8E220000 */ lw $v0, ($s1) +/* DCEE34 80242164 3463FFFF */ ori $v1, $v1, 0xffff +/* DCEE38 80242168 00431024 */ and $v0, $v0, $v1 +/* DCEE3C 8024216C AE220000 */ sw $v0, ($s1) +.L80242170: +/* DCEE40 80242170 27A50038 */ addiu $a1, $sp, 0x38 +/* DCEE44 80242174 27A6003C */ addiu $a2, $sp, 0x3c +/* DCEE48 80242178 C6400038 */ lwc1 $f0, 0x38($s2) +/* DCEE4C 8024217C 864200A8 */ lh $v0, 0xa8($s2) +/* DCEE50 80242180 3C0142C8 */ lui $at, 0x42c8 +/* DCEE54 80242184 44812000 */ mtc1 $at, $f4 +/* DCEE58 80242188 44823000 */ mtc1 $v0, $f6 +/* DCEE5C 8024218C 00000000 */ nop +/* DCEE60 80242190 468031A0 */ cvt.s.w $f6, $f6 +/* DCEE64 80242194 27A20044 */ addiu $v0, $sp, 0x44 +/* DCEE68 80242198 E7A00038 */ swc1 $f0, 0x38($sp) +/* DCEE6C 8024219C C640003C */ lwc1 $f0, 0x3c($s2) +/* DCEE70 802421A0 C6420040 */ lwc1 $f2, 0x40($s2) +/* DCEE74 802421A4 46060000 */ add.s $f0, $f0, $f6 +/* DCEE78 802421A8 E7A40044 */ swc1 $f4, 0x44($sp) +/* DCEE7C 802421AC E7A20040 */ swc1 $f2, 0x40($sp) +/* DCEE80 802421B0 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DCEE84 802421B4 AFA20010 */ sw $v0, 0x10($sp) +/* DCEE88 802421B8 8E440080 */ lw $a0, 0x80($s2) +/* DCEE8C 802421BC 0C0372DF */ jal func_800DCB7C +/* DCEE90 802421C0 27A70040 */ addiu $a3, $sp, 0x40 +/* DCEE94 802421C4 10400003 */ beqz $v0, .L802421D4 +/* DCEE98 802421C8 00000000 */ nop +/* DCEE9C 802421CC C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DCEEA0 802421D0 E640003C */ swc1 $f0, 0x3c($s2) +.L802421D4: +/* DCEEA4 802421D4 8E630070 */ lw $v1, 0x70($s3) +/* DCEEA8 802421D8 2C620064 */ sltiu $v0, $v1, 0x64 +/* DCEEAC 802421DC 10400054 */ beqz $v0, .L80242330 +/* DCEEB0 802421E0 00031080 */ sll $v0, $v1, 2 +/* DCEEB4 802421E4 3C018025 */ lui $at, 0x8025 +/* DCEEB8 802421E8 00220821 */ addu $at, $at, $v0 +/* DCEEBC 802421EC 8C22A980 */ lw $v0, -0x5680($at) +/* DCEEC0 802421F0 00400008 */ jr $v0 +/* DCEEC4 802421F4 00000000 */ nop +/* DCEEC8 802421F8 0260202D */ daddu $a0, $s3, $zero +/* DCEECC 802421FC 0280282D */ daddu $a1, $s4, $zero +/* DCEED0 80242200 0C0903D3 */ jal func_80240F4C +/* DCEED4 80242204 02A0302D */ daddu $a2, $s5, $zero +/* DCEED8 80242208 0260202D */ daddu $a0, $s3, $zero +/* DCEEDC 8024220C 0280282D */ daddu $a1, $s4, $zero +/* DCEEE0 80242210 0C090429 */ jal func_802410A4 +/* DCEEE4 80242214 02A0302D */ daddu $a2, $s5, $zero +/* DCEEE8 80242218 080908CC */ j .L80242330 +/* DCEEEC 8024221C 00000000 */ nop +/* DCEEF0 80242220 0260202D */ daddu $a0, $s3, $zero +/* DCEEF4 80242224 0280282D */ daddu $a1, $s4, $zero +/* DCEEF8 80242228 0C0904D3 */ jal func_8024134C +/* DCEEFC 8024222C 02A0302D */ daddu $a2, $s5, $zero +/* DCEF00 80242230 0260202D */ daddu $a0, $s3, $zero +/* DCEF04 80242234 0280282D */ daddu $a1, $s4, $zero +/* DCEF08 80242238 0C090503 */ jal func_8024140C +/* DCEF0C 8024223C 02A0302D */ daddu $a2, $s5, $zero +/* DCEF10 80242240 080908CC */ j .L80242330 +/* DCEF14 80242244 00000000 */ nop +/* DCEF18 80242248 0260202D */ daddu $a0, $s3, $zero +/* DCEF1C 8024224C 0280282D */ daddu $a1, $s4, $zero +/* DCEF20 80242250 0C090572 */ jal func_802415C8 +/* DCEF24 80242254 02A0302D */ daddu $a2, $s5, $zero +/* DCEF28 80242258 080908CC */ j .L80242330 +/* DCEF2C 8024225C 00000000 */ nop +/* DCEF30 80242260 0260202D */ daddu $a0, $s3, $zero +/* DCEF34 80242264 0280282D */ daddu $a1, $s4, $zero +/* DCEF38 80242268 0C09059F */ jal func_8024167C +/* DCEF3C 8024226C 02A0302D */ daddu $a2, $s5, $zero +/* DCEF40 80242270 0260202D */ daddu $a0, $s3, $zero +/* DCEF44 80242274 0280282D */ daddu $a1, $s4, $zero +/* DCEF48 80242278 0C0905BC */ jal func_802416F0 +/* DCEF4C 8024227C 02A0302D */ daddu $a2, $s5, $zero +/* DCEF50 80242280 080908CC */ j .L80242330 +/* DCEF54 80242284 00000000 */ nop +/* DCEF58 80242288 0260202D */ daddu $a0, $s3, $zero +/* DCEF5C 8024228C 0280282D */ daddu $a1, $s4, $zero +/* DCEF60 80242290 0C0905DA */ jal func_80241768 +/* DCEF64 80242294 02A0302D */ daddu $a2, $s5, $zero +/* DCEF68 80242298 0260202D */ daddu $a0, $s3, $zero +/* DCEF6C 8024229C 0280282D */ daddu $a1, $s4, $zero +/* DCEF70 802422A0 0C090626 */ jal func_80241898 +/* DCEF74 802422A4 02A0302D */ daddu $a2, $s5, $zero +/* DCEF78 802422A8 080908CC */ j .L80242330 +/* DCEF7C 802422AC 00000000 */ nop +/* DCEF80 802422B0 0260202D */ daddu $a0, $s3, $zero +/* DCEF84 802422B4 0280282D */ daddu $a1, $s4, $zero +/* DCEF88 802422B8 0C090777 */ jal func_80241DDC +/* DCEF8C 802422BC 02A0302D */ daddu $a2, $s5, $zero +/* DCEF90 802422C0 8E630070 */ lw $v1, 0x70($s3) +/* DCEF94 802422C4 2402000F */ addiu $v0, $zero, 0xf +/* DCEF98 802422C8 14620019 */ bne $v1, $v0, .L80242330 +/* DCEF9C 802422CC 00000000 */ nop +/* DCEFA0 802422D0 0260202D */ daddu $a0, $s3, $zero +/* DCEFA4 802422D4 0280282D */ daddu $a1, $s4, $zero +/* DCEFA8 802422D8 0C090793 */ jal func_80241E4C +/* DCEFAC 802422DC 02A0302D */ daddu $a2, $s5, $zero +/* DCEFB0 802422E0 8E630070 */ lw $v1, 0x70($s3) +/* DCEFB4 802422E4 24020010 */ addiu $v0, $zero, 0x10 +/* DCEFB8 802422E8 14620011 */ bne $v1, $v0, .L80242330 +/* DCEFBC 802422EC 00000000 */ nop +/* DCEFC0 802422F0 0260202D */ daddu $a0, $s3, $zero +/* DCEFC4 802422F4 0280282D */ daddu $a1, $s4, $zero +/* DCEFC8 802422F8 0C0907C7 */ jal func_80241F1C +/* DCEFCC 802422FC 02A0302D */ daddu $a2, $s5, $zero +/* DCEFD0 80242300 8E630070 */ lw $v1, 0x70($s3) +/* DCEFD4 80242304 24020011 */ addiu $v0, $zero, 0x11 +/* DCEFD8 80242308 14620009 */ bne $v1, $v0, .L80242330 +/* DCEFDC 8024230C 00000000 */ nop +/* DCEFE0 80242310 0260202D */ daddu $a0, $s3, $zero +/* DCEFE4 80242314 0280282D */ daddu $a1, $s4, $zero +/* DCEFE8 80242318 0C0907ED */ jal func_80241FB4 +/* DCEFEC 8024231C 02A0302D */ daddu $a2, $s5, $zero +/* DCEFF0 80242320 080908CC */ j .L80242330 +/* DCEFF4 80242324 00000000 */ nop +/* DCEFF8 80242328 0C0129CF */ jal func_8004A73C +/* DCEFFC 8024232C 0260202D */ daddu $a0, $s3, $zero +.L80242330: +/* DCF000 80242330 8FBF0060 */ lw $ra, 0x60($sp) +/* DCF004 80242334 8FB5005C */ lw $s5, 0x5c($sp) +/* DCF008 80242338 8FB40058 */ lw $s4, 0x58($sp) +/* DCF00C 8024233C 8FB30054 */ lw $s3, 0x54($sp) +/* DCF010 80242340 8FB20050 */ lw $s2, 0x50($sp) +/* DCF014 80242344 8FB1004C */ lw $s1, 0x4c($sp) +/* DCF018 80242348 8FB00048 */ lw $s0, 0x48($sp) +/* DCF01C 8024234C 0000102D */ daddu $v0, $zero, $zero +/* DCF020 80242350 03E00008 */ jr $ra +/* DCF024 80242354 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80242358.s b/asm/nonmatchings/world/area_omo/omo_09/func_80242358.s new file mode 100644 index 0000000000..653e115814 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80242358.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242358 +/* DCF028 80242358 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DCF02C 8024235C AFB10014 */ sw $s1, 0x14($sp) +/* DCF030 80242360 0080882D */ daddu $s1, $a0, $zero +/* DCF034 80242364 3C05800B */ lui $a1, %hi(gCameras) +/* DCF038 80242368 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* DCF03C 8024236C AFBF0020 */ sw $ra, 0x20($sp) +/* DCF040 80242370 AFB3001C */ sw $s3, 0x1c($sp) +/* DCF044 80242374 AFB20018 */ sw $s2, 0x18($sp) +/* DCF048 80242378 AFB00010 */ sw $s0, 0x10($sp) +/* DCF04C 8024237C F7B40028 */ sdc1 $f20, 0x28($sp) +/* DCF050 80242380 8E330148 */ lw $s3, 0x148($s1) +/* DCF054 80242384 3C03800A */ lui $v1, 0x800a +/* DCF058 80242388 8463A634 */ lh $v1, -0x59cc($v1) +/* DCF05C 8024238C 8E30000C */ lw $s0, 0xc($s1) +/* DCF060 80242390 00031080 */ sll $v0, $v1, 2 +/* DCF064 80242394 00431021 */ addu $v0, $v0, $v1 +/* DCF068 80242398 00021080 */ sll $v0, $v0, 2 +/* DCF06C 8024239C 00431023 */ subu $v0, $v0, $v1 +/* DCF070 802423A0 000218C0 */ sll $v1, $v0, 3 +/* DCF074 802423A4 00431021 */ addu $v0, $v0, $v1 +/* DCF078 802423A8 000210C0 */ sll $v0, $v0, 3 +/* DCF07C 802423AC 86640008 */ lh $a0, 8($s3) +/* DCF080 802423B0 0C00EABB */ jal get_npc_unsafe +/* DCF084 802423B4 00459021 */ addu $s2, $v0, $a1 +/* DCF088 802423B8 0220202D */ daddu $a0, $s1, $zero +/* DCF08C 802423BC 8E050000 */ lw $a1, ($s0) +/* DCF090 802423C0 0C0B1EAF */ jal get_variable +/* DCF094 802423C4 0040802D */ daddu $s0, $v0, $zero +/* DCF098 802423C8 0260202D */ daddu $a0, $s3, $zero +/* DCF09C 802423CC 8C460024 */ lw $a2, 0x24($v0) +/* DCF0A0 802423D0 8C470028 */ lw $a3, 0x28($v0) +/* DCF0A4 802423D4 0C0124FB */ jal func_800493EC +/* DCF0A8 802423D8 0000282D */ daddu $a1, $zero, $zero +/* DCF0AC 802423DC 10400052 */ beqz $v0, .L80242528 +/* DCF0B0 802423E0 2402FFFF */ addiu $v0, $zero, -1 +/* DCF0B4 802423E4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* DCF0B8 802423E8 C60E000C */ lwc1 $f14, 0xc($s0) +/* DCF0BC 802423EC 3C014387 */ lui $at, 0x4387 +/* DCF0C0 802423F0 4481A000 */ mtc1 $at, $f20 +/* DCF0C4 802423F4 0C00A70A */ jal get_clamped_angle_diff +/* DCF0C8 802423F8 00000000 */ nop +/* DCF0CC 802423FC 0C00A6C9 */ jal clamp_angle +/* DCF0D0 80242400 46000306 */ mov.s $f12, $f0 +/* DCF0D4 80242404 3C018025 */ lui $at, 0x8025 +/* DCF0D8 80242408 D422AB10 */ ldc1 $f2, -0x54f0($at) +/* DCF0DC 8024240C 46000021 */ cvt.d.s $f0, $f0 +/* DCF0E0 80242410 4622003C */ c.lt.d $f0, $f2 +/* DCF0E4 80242414 00000000 */ nop +/* DCF0E8 80242418 45000003 */ bc1f .L80242428 +/* DCF0EC 8024241C 00000000 */ nop +/* DCF0F0 80242420 3C0142B4 */ lui $at, 0x42b4 +/* DCF0F4 80242424 4481A000 */ mtc1 $at, $f20 +.L80242428: +/* DCF0F8 80242428 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* DCF0FC 8024242C 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* DCF100 80242430 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DCF104 80242434 8E220000 */ lw $v0, ($s1) +/* DCF108 80242438 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DCF10C 8024243C 8C460028 */ lw $a2, 0x28($v0) +/* DCF110 80242440 0C00A720 */ jal atan2 +/* DCF114 80242444 8C470030 */ lw $a3, 0x30($v0) +/* DCF118 80242448 4600A306 */ mov.s $f12, $f20 +/* DCF11C 8024244C 0C00A70A */ jal get_clamped_angle_diff +/* DCF120 80242450 46000386 */ mov.s $f14, $f0 +/* DCF124 80242454 46000005 */ abs.s $f0, $f0 +/* DCF128 80242458 3C018025 */ lui $at, 0x8025 +/* DCF12C 8024245C D422AB18 */ ldc1 $f2, -0x54e8($at) +/* DCF130 80242460 46000021 */ cvt.d.s $f0, $f0 +/* DCF134 80242464 4620103C */ c.lt.d $f2, $f0 +/* DCF138 80242468 00000000 */ nop +/* DCF13C 8024246C 4501002E */ bc1t .L80242528 +/* DCF140 80242470 2402FFFF */ addiu $v0, $zero, -1 +/* DCF144 80242474 8E220000 */ lw $v0, ($s1) +/* DCF148 80242478 C600003C */ lwc1 $f0, 0x3c($s0) +/* DCF14C 8024247C C442002C */ lwc1 $f2, 0x2c($v0) +/* DCF150 80242480 860200A8 */ lh $v0, 0xa8($s0) +/* DCF154 80242484 46020001 */ sub.s $f0, $f0, $f2 +/* DCF158 80242488 44821000 */ mtc1 $v0, $f2 +/* DCF15C 8024248C 00000000 */ nop +/* DCF160 80242490 468010A1 */ cvt.d.w $f2, $f2 +/* DCF164 80242494 46221080 */ add.d $f2, $f2, $f2 +/* DCF168 80242498 46000005 */ abs.s $f0, $f0 +/* DCF16C 8024249C 46000021 */ cvt.d.s $f0, $f0 +/* DCF170 802424A0 4620103E */ c.le.d $f2, $f0 +/* DCF174 802424A4 00000000 */ nop +/* DCF178 802424A8 4501001F */ bc1t .L80242528 +/* DCF17C 802424AC 2402FFFF */ addiu $v0, $zero, -1 +/* DCF180 802424B0 3C038011 */ lui $v1, 0x8011 +/* DCF184 802424B4 8063EBB3 */ lb $v1, -0x144d($v1) +/* DCF188 802424B8 24020009 */ addiu $v0, $zero, 9 +/* DCF18C 802424BC 10620019 */ beq $v1, $v0, .L80242524 +/* DCF190 802424C0 24020007 */ addiu $v0, $zero, 7 +/* DCF194 802424C4 14620005 */ bne $v1, $v0, .L802424DC +/* DCF198 802424C8 2402FFFF */ addiu $v0, $zero, -1 +/* DCF19C 802424CC 0809094A */ j .L80242528 +/* DCF1A0 802424D0 00000000 */ nop +.L802424D4: +/* DCF1A4 802424D4 0809094A */ j .L80242528 +/* DCF1A8 802424D8 0240102D */ daddu $v0, $s2, $zero +.L802424DC: +/* DCF1AC 802424DC 8E620078 */ lw $v0, 0x78($s3) +/* DCF1B0 802424E0 18400010 */ blez $v0, .L80242524 +/* DCF1B4 802424E4 0000882D */ daddu $s1, $zero, $zero +.L802424E8: +/* DCF1B8 802424E8 86620008 */ lh $v0, 8($s3) +/* DCF1BC 802424EC 00511021 */ addu $v0, $v0, $s1 +/* DCF1C0 802424F0 24520001 */ addiu $s2, $v0, 1 +/* DCF1C4 802424F4 0C00FB3A */ jal get_enemy +/* DCF1C8 802424F8 0240202D */ daddu $a0, $s2, $zero +/* DCF1CC 802424FC 0240202D */ daddu $a0, $s2, $zero +/* DCF1D0 80242500 0C00EABB */ jal get_npc_unsafe +/* DCF1D4 80242504 0040802D */ daddu $s0, $v0, $zero +/* DCF1D8 80242508 8E02006C */ lw $v0, 0x6c($s0) +/* DCF1DC 8024250C 1040FFF1 */ beqz $v0, .L802424D4 +/* DCF1E0 80242510 26310001 */ addiu $s1, $s1, 1 +/* DCF1E4 80242514 8E620078 */ lw $v0, 0x78($s3) +/* DCF1E8 80242518 0222102A */ slt $v0, $s1, $v0 +/* DCF1EC 8024251C 1440FFF2 */ bnez $v0, .L802424E8 +/* DCF1F0 80242520 00000000 */ nop +.L80242524: +/* DCF1F4 80242524 2402FFFF */ addiu $v0, $zero, -1 +.L80242528: +/* DCF1F8 80242528 8FBF0020 */ lw $ra, 0x20($sp) +/* DCF1FC 8024252C 8FB3001C */ lw $s3, 0x1c($sp) +/* DCF200 80242530 8FB20018 */ lw $s2, 0x18($sp) +/* DCF204 80242534 8FB10014 */ lw $s1, 0x14($sp) +/* DCF208 80242538 8FB00010 */ lw $s0, 0x10($sp) +/* DCF20C 8024253C D7B40028 */ ldc1 $f20, 0x28($sp) +/* DCF210 80242540 03E00008 */ jr $ra +/* DCF214 80242544 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80242548.s b/asm/nonmatchings/world/area_omo/omo_09/func_80242548.s new file mode 100644 index 0000000000..8be73454b5 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80242548.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242548 +/* DCF218 80242548 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DCF21C 8024254C AFB20038 */ sw $s2, 0x38($sp) +/* DCF220 80242550 0080902D */ daddu $s2, $a0, $zero +/* DCF224 80242554 AFB00030 */ sw $s0, 0x30($sp) +/* DCF228 80242558 AFBF003C */ sw $ra, 0x3c($sp) +/* DCF22C 8024255C AFB10034 */ sw $s1, 0x34($sp) +/* DCF230 80242560 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DCF234 80242564 F7B40040 */ sdc1 $f20, 0x40($sp) +/* DCF238 80242568 8E510148 */ lw $s1, 0x148($s2) +/* DCF23C 8024256C 4485A000 */ mtc1 $a1, $f20 +/* DCF240 80242570 86240008 */ lh $a0, 8($s1) +/* DCF244 80242574 4486B000 */ mtc1 $a2, $f22 +/* DCF248 80242578 0C00EABB */ jal get_npc_unsafe +/* DCF24C 8024257C 00E0802D */ daddu $s0, $a3, $zero +/* DCF250 80242580 0200202D */ daddu $a0, $s0, $zero +/* DCF254 80242584 0220282D */ daddu $a1, $s1, $zero +/* DCF258 80242588 24030001 */ addiu $v1, $zero, 1 +/* DCF25C 8024258C 4406A000 */ mfc1 $a2, $f20 +/* DCF260 80242590 4407B000 */ mfc1 $a3, $f22 +/* DCF264 80242594 0040802D */ daddu $s0, $v0, $zero +/* DCF268 80242598 0C01242D */ jal func_800490B4 +/* DCF26C 8024259C AFA30010 */ sw $v1, 0x10($sp) +/* DCF270 802425A0 1440001D */ bnez $v0, .L80242618 +/* DCF274 802425A4 24040002 */ addiu $a0, $zero, 2 +/* DCF278 802425A8 0200282D */ daddu $a1, $s0, $zero +/* DCF27C 802425AC 0000302D */ daddu $a2, $zero, $zero +/* DCF280 802425B0 860300A8 */ lh $v1, 0xa8($s0) +/* DCF284 802425B4 3C013F80 */ lui $at, 0x3f80 +/* DCF288 802425B8 44810000 */ mtc1 $at, $f0 +/* DCF28C 802425BC 3C014000 */ lui $at, 0x4000 +/* DCF290 802425C0 44811000 */ mtc1 $at, $f2 +/* DCF294 802425C4 3C01C1A0 */ lui $at, 0xc1a0 +/* DCF298 802425C8 44812000 */ mtc1 $at, $f4 +/* DCF29C 802425CC 2402000F */ addiu $v0, $zero, 0xf +/* DCF2A0 802425D0 AFA2001C */ sw $v0, 0x1c($sp) +/* DCF2A4 802425D4 44833000 */ mtc1 $v1, $f6 +/* DCF2A8 802425D8 00000000 */ nop +/* DCF2AC 802425DC 468031A0 */ cvt.s.w $f6, $f6 +/* DCF2B0 802425E0 44073000 */ mfc1 $a3, $f6 +/* DCF2B4 802425E4 27A20028 */ addiu $v0, $sp, 0x28 +/* DCF2B8 802425E8 AFA20020 */ sw $v0, 0x20($sp) +/* DCF2BC 802425EC E7A00010 */ swc1 $f0, 0x10($sp) +/* DCF2C0 802425F0 E7A20014 */ swc1 $f2, 0x14($sp) +/* DCF2C4 802425F4 0C01BFA4 */ jal fx_emote +/* DCF2C8 802425F8 E7A40018 */ swc1 $f4, 0x18($sp) +/* DCF2CC 802425FC 8E2200CC */ lw $v0, 0xcc($s1) +/* DCF2D0 80242600 8C430000 */ lw $v1, ($v0) +/* DCF2D4 80242604 24020014 */ addiu $v0, $zero, 0x14 +/* DCF2D8 80242608 A602008E */ sh $v0, 0x8e($s0) +/* DCF2DC 8024260C 24020021 */ addiu $v0, $zero, 0x21 +/* DCF2E0 80242610 0809099A */ j .L80242668 +/* DCF2E4 80242614 AE030028 */ sw $v1, 0x28($s0) +.L80242618: +/* DCF2E8 80242618 0C0908D6 */ jal func_80242358 +/* DCF2EC 8024261C 0240202D */ daddu $a0, $s2, $zero +/* DCF2F0 80242620 0040202D */ daddu $a0, $v0, $zero +/* DCF2F4 80242624 2402FFFF */ addiu $v0, $zero, -1 +/* DCF2F8 80242628 10820010 */ beq $a0, $v0, .L8024266C +/* DCF2FC 8024262C 00000000 */ nop +/* DCF300 80242630 0C00FB3A */ jal get_enemy +/* DCF304 80242634 00000000 */ nop +/* DCF308 80242638 8C42006C */ lw $v0, 0x6c($v0) +/* DCF30C 8024263C 1440000B */ bnez $v0, .L8024266C +/* DCF310 80242640 00000000 */ nop +/* DCF314 80242644 8602008C */ lh $v0, 0x8c($s0) +/* DCF318 80242648 14400008 */ bnez $v0, .L8024266C +/* DCF31C 8024264C 00000000 */ nop +/* DCF320 80242650 8E2200CC */ lw $v0, 0xcc($s1) +/* DCF324 80242654 8C420020 */ lw $v0, 0x20($v0) +/* DCF328 80242658 AE020028 */ sw $v0, 0x28($s0) +/* DCF32C 8024265C 96220072 */ lhu $v0, 0x72($s1) +/* DCF330 80242660 A602008E */ sh $v0, 0x8e($s0) +/* DCF334 80242664 2402001E */ addiu $v0, $zero, 0x1e +.L80242668: +/* DCF338 80242668 AE420070 */ sw $v0, 0x70($s2) +.L8024266C: +/* DCF33C 8024266C 8FBF003C */ lw $ra, 0x3c($sp) +/* DCF340 80242670 8FB20038 */ lw $s2, 0x38($sp) +/* DCF344 80242674 8FB10034 */ lw $s1, 0x34($sp) +/* DCF348 80242678 8FB00030 */ lw $s0, 0x30($sp) +/* DCF34C 8024267C D7B60048 */ ldc1 $f22, 0x48($sp) +/* DCF350 80242680 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DCF354 80242684 03E00008 */ jr $ra +/* DCF358 80242688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024268C_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024268C_DCCCD0.s new file mode 100644 index 0000000000..5017ca7072 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024268C_DCCCD0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024268C_DCF35C +/* DCF35C 8024268C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DCF360 80242690 AFB20038 */ sw $s2, 0x38($sp) +/* DCF364 80242694 0080902D */ daddu $s2, $a0, $zero +/* DCF368 80242698 AFBF003C */ sw $ra, 0x3c($sp) +/* DCF36C 8024269C AFB10034 */ sw $s1, 0x34($sp) +/* DCF370 802426A0 AFB00030 */ sw $s0, 0x30($sp) +/* DCF374 802426A4 8E510148 */ lw $s1, 0x148($s2) +/* DCF378 802426A8 0C00EABB */ jal get_npc_unsafe +/* DCF37C 802426AC 86240008 */ lh $a0, 8($s1) +/* DCF380 802426B0 0040802D */ daddu $s0, $v0, $zero +/* DCF384 802426B4 9602008E */ lhu $v0, 0x8e($s0) +/* DCF388 802426B8 2442FFFF */ addiu $v0, $v0, -1 +/* DCF38C 802426BC A602008E */ sh $v0, 0x8e($s0) +/* DCF390 802426C0 00021400 */ sll $v0, $v0, 0x10 +/* DCF394 802426C4 1C40002B */ bgtz $v0, .L80242774 +/* DCF398 802426C8 00000000 */ nop +/* DCF39C 802426CC 0C0908D6 */ jal func_80242358 +/* DCF3A0 802426D0 0240202D */ daddu $a0, $s2, $zero +/* DCF3A4 802426D4 0040202D */ daddu $a0, $v0, $zero +/* DCF3A8 802426D8 0481001A */ bgez $a0, .L80242744 +/* DCF3AC 802426DC 2402000F */ addiu $v0, $zero, 0xf +/* DCF3B0 802426E0 24040002 */ addiu $a0, $zero, 2 +/* DCF3B4 802426E4 860300A8 */ lh $v1, 0xa8($s0) +/* DCF3B8 802426E8 AFA2001C */ sw $v0, 0x1c($sp) +/* DCF3BC 802426EC 27A20028 */ addiu $v0, $sp, 0x28 +/* DCF3C0 802426F0 0200282D */ daddu $a1, $s0, $zero +/* DCF3C4 802426F4 3C013F80 */ lui $at, 0x3f80 +/* DCF3C8 802426F8 44810000 */ mtc1 $at, $f0 +/* DCF3CC 802426FC 3C014000 */ lui $at, 0x4000 +/* DCF3D0 80242700 44811000 */ mtc1 $at, $f2 +/* DCF3D4 80242704 3C01C1A0 */ lui $at, 0xc1a0 +/* DCF3D8 80242708 44812000 */ mtc1 $at, $f4 +/* DCF3DC 8024270C 44833000 */ mtc1 $v1, $f6 +/* DCF3E0 80242710 00000000 */ nop +/* DCF3E4 80242714 468031A0 */ cvt.s.w $f6, $f6 +/* DCF3E8 80242718 44073000 */ mfc1 $a3, $f6 +/* DCF3EC 8024271C 0000302D */ daddu $a2, $zero, $zero +/* DCF3F0 80242720 AFA20020 */ sw $v0, 0x20($sp) +/* DCF3F4 80242724 E7A00010 */ swc1 $f0, 0x10($sp) +/* DCF3F8 80242728 E7A20014 */ swc1 $f2, 0x14($sp) +/* DCF3FC 8024272C 0C01BFA4 */ jal fx_emote +/* DCF400 80242730 E7A40018 */ swc1 $f4, 0x18($sp) +/* DCF404 80242734 8E2200CC */ lw $v0, 0xcc($s1) +/* DCF408 80242738 8C420000 */ lw $v0, ($v0) +/* DCF40C 8024273C 080909D9 */ j .L80242764 +/* DCF410 80242740 AE020028 */ sw $v0, 0x28($s0) +.L80242744: +/* DCF414 80242744 8E2200CC */ lw $v0, 0xcc($s1) +/* DCF418 80242748 8C420024 */ lw $v0, 0x24($v0) +/* DCF41C 8024274C 0C00FB3A */ jal get_enemy +/* DCF420 80242750 AE020028 */ sw $v0, 0x28($s0) +/* DCF424 80242754 86240008 */ lh $a0, 8($s1) +/* DCF428 80242758 24030001 */ addiu $v1, $zero, 1 +/* DCF42C 8024275C AC43006C */ sw $v1, 0x6c($v0) +/* DCF430 80242760 AC44007C */ sw $a0, 0x7c($v0) +.L80242764: +/* DCF434 80242764 96220076 */ lhu $v0, 0x76($s1) +/* DCF438 80242768 A602008E */ sh $v0, 0x8e($s0) +/* DCF43C 8024276C 24020021 */ addiu $v0, $zero, 0x21 +/* DCF440 80242770 AE420070 */ sw $v0, 0x70($s2) +.L80242774: +/* DCF444 80242774 8FBF003C */ lw $ra, 0x3c($sp) +/* DCF448 80242778 8FB20038 */ lw $s2, 0x38($sp) +/* DCF44C 8024277C 8FB10034 */ lw $s1, 0x34($sp) +/* DCF450 80242780 8FB00030 */ lw $s0, 0x30($sp) +/* DCF454 80242784 03E00008 */ jr $ra +/* DCF458 80242788 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024278C.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024278C.s new file mode 100644 index 0000000000..078c03b600 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024278C.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024278C +/* DCF45C 8024278C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DCF460 80242790 AFB10014 */ sw $s1, 0x14($sp) +/* DCF464 80242794 0080882D */ daddu $s1, $a0, $zero +/* DCF468 80242798 AFBF0018 */ sw $ra, 0x18($sp) +/* DCF46C 8024279C AFB00010 */ sw $s0, 0x10($sp) +/* DCF470 802427A0 8E300148 */ lw $s0, 0x148($s1) +/* DCF474 802427A4 0C00EABB */ jal get_npc_unsafe +/* DCF478 802427A8 86040008 */ lh $a0, 8($s0) +/* DCF47C 802427AC 96030076 */ lhu $v1, 0x76($s0) +/* DCF480 802427B0 A443008E */ sh $v1, 0x8e($v0) +/* DCF484 802427B4 24020021 */ addiu $v0, $zero, 0x21 +/* DCF488 802427B8 AE220070 */ sw $v0, 0x70($s1) +/* DCF48C 802427BC 8FBF0018 */ lw $ra, 0x18($sp) +/* DCF490 802427C0 8FB10014 */ lw $s1, 0x14($sp) +/* DCF494 802427C4 8FB00010 */ lw $s0, 0x10($sp) +/* DCF498 802427C8 03E00008 */ jr $ra +/* DCF49C 802427CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802427D0_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_802427D0_DCCCD0.s new file mode 100644 index 0000000000..ff3970d572 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802427D0_DCCCD0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427D0_DCF4A0 +/* DCF4A0 802427D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DCF4A4 802427D4 AFB3001C */ sw $s3, 0x1c($sp) +/* DCF4A8 802427D8 0080982D */ daddu $s3, $a0, $zero +/* DCF4AC 802427DC AFBF0020 */ sw $ra, 0x20($sp) +/* DCF4B0 802427E0 AFB20018 */ sw $s2, 0x18($sp) +/* DCF4B4 802427E4 AFB10014 */ sw $s1, 0x14($sp) +/* DCF4B8 802427E8 AFB00010 */ sw $s0, 0x10($sp) +/* DCF4BC 802427EC 8E720148 */ lw $s2, 0x148($s3) +/* DCF4C0 802427F0 0C00EABB */ jal get_npc_unsafe +/* DCF4C4 802427F4 86440008 */ lh $a0, 8($s2) +/* DCF4C8 802427F8 86440008 */ lh $a0, 8($s2) +/* DCF4CC 802427FC 0040882D */ daddu $s1, $v0, $zero +/* DCF4D0 80242800 0C00FB3A */ jal get_enemy +/* DCF4D4 80242804 24840001 */ addiu $a0, $a0, 1 +/* DCF4D8 80242808 0040802D */ daddu $s0, $v0, $zero +/* DCF4DC 8024280C 0C00EABB */ jal get_npc_unsafe +/* DCF4E0 80242810 86040008 */ lh $a0, 8($s0) +/* DCF4E4 80242814 C62C0038 */ lwc1 $f12, 0x38($s1) +/* DCF4E8 80242818 C62E0040 */ lwc1 $f14, 0x40($s1) +/* DCF4EC 8024281C 8C460038 */ lw $a2, 0x38($v0) +/* DCF4F0 80242820 0C00A720 */ jal atan2 +/* DCF4F4 80242824 8C470040 */ lw $a3, 0x40($v0) +/* DCF4F8 80242828 E620000C */ swc1 $f0, 0xc($s1) +/* DCF4FC 8024282C 8E02006C */ lw $v0, 0x6c($s0) +/* DCF500 80242830 14400008 */ bnez $v0, .L80242854 +/* DCF504 80242834 00000000 */ nop +/* DCF508 80242838 8E4200CC */ lw $v0, 0xcc($s2) +/* DCF50C 8024283C 8C420000 */ lw $v0, ($v0) +/* DCF510 80242840 AE220028 */ sw $v0, 0x28($s1) +/* DCF514 80242844 96420076 */ lhu $v0, 0x76($s2) +/* DCF518 80242848 A622008E */ sh $v0, 0x8e($s1) +/* DCF51C 8024284C 24020021 */ addiu $v0, $zero, 0x21 +/* DCF520 80242850 AE620070 */ sw $v0, 0x70($s3) +.L80242854: +/* DCF524 80242854 8FBF0020 */ lw $ra, 0x20($sp) +/* DCF528 80242858 8FB3001C */ lw $s3, 0x1c($sp) +/* DCF52C 8024285C 8FB20018 */ lw $s2, 0x18($sp) +/* DCF530 80242860 8FB10014 */ lw $s1, 0x14($sp) +/* DCF534 80242864 8FB00010 */ lw $s0, 0x10($sp) +/* DCF538 80242868 03E00008 */ jr $ra +/* DCF53C 8024286C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80242870_DCCCD0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80242870_DCCCD0.s new file mode 100644 index 0000000000..f4a2ff9f4a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80242870_DCCCD0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242870_DCF540 +/* DCF540 80242870 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DCF544 80242874 AFB00010 */ sw $s0, 0x10($sp) +/* DCF548 80242878 0080802D */ daddu $s0, $a0, $zero +/* DCF54C 8024287C AFBF0014 */ sw $ra, 0x14($sp) +/* DCF550 80242880 8E020148 */ lw $v0, 0x148($s0) +/* DCF554 80242884 0C00EABB */ jal get_npc_unsafe +/* DCF558 80242888 84440008 */ lh $a0, 8($v0) +/* DCF55C 8024288C 9443008E */ lhu $v1, 0x8e($v0) +/* DCF560 80242890 2463FFFF */ addiu $v1, $v1, -1 +/* DCF564 80242894 A443008E */ sh $v1, 0x8e($v0) +/* DCF568 80242898 00031C00 */ sll $v1, $v1, 0x10 +/* DCF56C 8024289C 58600001 */ blezl $v1, .L802428A4 +/* DCF570 802428A0 AE000070 */ sw $zero, 0x70($s0) +.L802428A4: +/* DCF574 802428A4 8FBF0014 */ lw $ra, 0x14($sp) +/* DCF578 802428A8 8FB00010 */ lw $s0, 0x10($sp) +/* DCF57C 802428AC 03E00008 */ jr $ra +/* DCF580 802428B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802428B4.s b/asm/nonmatchings/world/area_omo/omo_09/func_802428B4.s new file mode 100644 index 0000000000..ad0b68f670 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802428B4.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428B4 +/* DCF584 802428B4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* DCF588 802428B8 AFB7004C */ sw $s7, 0x4c($sp) +/* DCF58C 802428BC 0080B82D */ daddu $s7, $a0, $zero +/* DCF590 802428C0 AFB10034 */ sw $s1, 0x34($sp) +/* DCF594 802428C4 00A0882D */ daddu $s1, $a1, $zero +/* DCF598 802428C8 AFBF0050 */ sw $ra, 0x50($sp) +/* DCF59C 802428CC AFB60048 */ sw $s6, 0x48($sp) +/* DCF5A0 802428D0 AFB50044 */ sw $s5, 0x44($sp) +/* DCF5A4 802428D4 AFB40040 */ sw $s4, 0x40($sp) +/* DCF5A8 802428D8 AFB3003C */ sw $s3, 0x3c($sp) +/* DCF5AC 802428DC AFB20038 */ sw $s2, 0x38($sp) +/* DCF5B0 802428E0 AFB00030 */ sw $s0, 0x30($sp) +/* DCF5B4 802428E4 8EF30148 */ lw $s3, 0x148($s7) +/* DCF5B8 802428E8 86640008 */ lh $a0, 8($s3) +/* DCF5BC 802428EC 8EF0000C */ lw $s0, 0xc($s7) +/* DCF5C0 802428F0 0C00FB5A */ jal get_enemy_safe +/* DCF5C4 802428F4 0000B02D */ daddu $s6, $zero, $zero +/* DCF5C8 802428F8 10400131 */ beqz $v0, .L80242DC0 +/* DCF5CC 802428FC 24020005 */ addiu $v0, $zero, 5 +/* DCF5D0 80242900 8E63006C */ lw $v1, 0x6c($s3) +/* DCF5D4 80242904 1062012F */ beq $v1, $v0, .L80242DC4 +/* DCF5D8 80242908 0000102D */ daddu $v0, $zero, $zero +/* DCF5DC 8024290C 8E050000 */ lw $a1, ($s0) +/* DCF5E0 80242910 0C0B1EAF */ jal get_variable +/* DCF5E4 80242914 02E0202D */ daddu $a0, $s7, $zero +/* DCF5E8 80242918 86640008 */ lh $a0, 8($s3) +/* DCF5EC 8024291C 0C00EABB */ jal get_npc_unsafe +/* DCF5F0 80242920 0040A82D */ daddu $s5, $v0, $zero +/* DCF5F4 80242924 8E630070 */ lw $v1, 0x70($s3) +/* DCF5F8 80242928 30630002 */ andi $v1, $v1, 2 +/* DCF5FC 8024292C 10600008 */ beqz $v1, .L80242950 +/* DCF600 80242930 0040902D */ daddu $s2, $v0, $zero +/* DCF604 80242934 964200A8 */ lhu $v0, 0xa8($s2) +/* DCF608 80242938 00021400 */ sll $v0, $v0, 0x10 +/* DCF60C 8024293C 00021C03 */ sra $v1, $v0, 0x10 +/* DCF610 80242940 000217C2 */ srl $v0, $v0, 0x1f +/* DCF614 80242944 00621821 */ addu $v1, $v1, $v0 +/* DCF618 80242948 00031843 */ sra $v1, $v1, 1 +/* DCF61C 8024294C A24300AB */ sb $v1, 0xab($s2) +.L80242950: +/* DCF620 80242950 16200005 */ bnez $s1, .L80242968 +/* DCF624 80242954 3C030004 */ lui $v1, 4 +/* DCF628 80242958 8E6200B0 */ lw $v0, 0xb0($s3) +/* DCF62C 8024295C 30420004 */ andi $v0, $v0, 4 +/* DCF630 80242960 10400019 */ beqz $v0, .L802429C8 +/* DCF634 80242964 00000000 */ nop +.L80242968: +/* DCF638 80242968 34630102 */ ori $v1, $v1, 0x102 +/* DCF63C 8024296C AEE00070 */ sw $zero, 0x70($s7) +/* DCF640 80242970 8E420000 */ lw $v0, ($s2) +/* DCF644 80242974 0240202D */ daddu $a0, $s2, $zero +/* DCF648 80242978 A640008E */ sh $zero, 0x8e($s2) +/* DCF64C 8024297C 00431025 */ or $v0, $v0, $v1 +/* DCF650 80242980 0C00EAFF */ jal disable_npc_shadow +/* DCF654 80242984 AE420000 */ sw $v0, ($s2) +/* DCF658 80242988 3C041F30 */ lui $a0, 0x1f30 +/* DCF65C 8024298C 8E420000 */ lw $v0, ($s2) +/* DCF660 80242990 2403F7FF */ addiu $v1, $zero, -0x801 +/* DCF664 80242994 00431024 */ and $v0, $v0, $v1 +/* DCF668 80242998 AE420000 */ sw $v0, ($s2) +/* DCF66C 8024299C 8E620000 */ lw $v0, ($s3) +/* DCF670 802429A0 8E6300B0 */ lw $v1, 0xb0($s3) +/* DCF674 802429A4 34840040 */ ori $a0, $a0, 0x40 +/* DCF678 802429A8 AE60006C */ sw $zero, 0x6c($s3) +/* DCF67C 802429AC 00441025 */ or $v0, $v0, $a0 +/* DCF680 802429B0 AE620000 */ sw $v0, ($s3) +/* DCF684 802429B4 30620004 */ andi $v0, $v1, 4 +/* DCF688 802429B8 10400003 */ beqz $v0, .L802429C8 +/* DCF68C 802429BC 2402FFFB */ addiu $v0, $zero, -5 +/* DCF690 802429C0 00621024 */ and $v0, $v1, $v0 +/* DCF694 802429C4 AE6200B0 */ sw $v0, 0xb0($s3) +.L802429C8: +/* DCF698 802429C8 8EE30070 */ lw $v1, 0x70($s7) +/* DCF69C 802429CC 24100001 */ addiu $s0, $zero, 1 +/* DCF6A0 802429D0 10700012 */ beq $v1, $s0, .L80242A1C +/* DCF6A4 802429D4 28620002 */ slti $v0, $v1, 2 +/* DCF6A8 802429D8 10400005 */ beqz $v0, .L802429F0 +/* DCF6AC 802429DC 24020002 */ addiu $v0, $zero, 2 +/* DCF6B0 802429E0 10600007 */ beqz $v1, .L80242A00 +/* DCF6B4 802429E4 0000102D */ daddu $v0, $zero, $zero +/* DCF6B8 802429E8 08090B71 */ j .L80242DC4 +/* DCF6BC 802429EC 00000000 */ nop +.L802429F0: +/* DCF6C0 802429F0 1062005B */ beq $v1, $v0, .L80242B60 +/* DCF6C4 802429F4 0000102D */ daddu $v0, $zero, $zero +/* DCF6C8 802429F8 08090B71 */ j .L80242DC4 +/* DCF6CC 802429FC 00000000 */ nop +.L80242A00: +/* DCF6D0 80242A00 8E420000 */ lw $v0, ($s2) +/* DCF6D4 80242A04 0240202D */ daddu $a0, $s2, $zero +/* DCF6D8 80242A08 34420002 */ ori $v0, $v0, 2 +/* DCF6DC 80242A0C 0C00EAFF */ jal disable_npc_shadow +/* DCF6E0 80242A10 AE420000 */ sw $v0, ($s2) +/* DCF6E4 80242A14 AE60006C */ sw $zero, 0x6c($s3) +/* DCF6E8 80242A18 AEF00070 */ sw $s0, 0x70($s7) +.L80242A1C: +/* DCF6EC 80242A1C 8E74006C */ lw $s4, 0x6c($s3) +/* DCF6F0 80242A20 24020001 */ addiu $v0, $zero, 1 +/* DCF6F4 80242A24 168200E7 */ bne $s4, $v0, .L80242DC4 +/* DCF6F8 80242A28 0000102D */ daddu $v0, $zero, $zero +/* DCF6FC 80242A2C 8E64007C */ lw $a0, 0x7c($s3) +/* DCF700 80242A30 24110002 */ addiu $s1, $zero, 2 +/* DCF704 80242A34 0C00EABB */ jal get_npc_unsafe +/* DCF708 80242A38 AE71006C */ sw $s1, 0x6c($s3) +/* DCF70C 80242A3C 0040802D */ daddu $s0, $v0, $zero +/* DCF710 80242A40 C6000038 */ lwc1 $f0, 0x38($s0) +/* DCF714 80242A44 E6400038 */ swc1 $f0, 0x38($s2) +/* DCF718 80242A48 C6000040 */ lwc1 $f0, 0x40($s0) +/* DCF71C 80242A4C E6400040 */ swc1 $f0, 0x40($s2) +/* DCF720 80242A50 C6020034 */ lwc1 $f2, 0x34($s0) +/* DCF724 80242A54 3C014387 */ lui $at, 0x4387 +/* DCF728 80242A58 44810000 */ mtc1 $at, $f0 +/* DCF72C 80242A5C 26440038 */ addiu $a0, $s2, 0x38 +/* DCF730 80242A60 46020001 */ sub.s $f0, $f0, $f2 +/* DCF734 80242A64 C6680078 */ lwc1 $f8, 0x78($s3) +/* DCF738 80242A68 46804220 */ cvt.s.w $f8, $f8 +/* DCF73C 80242A6C 44064000 */ mfc1 $a2, $f8 +/* DCF740 80242A70 44070000 */ mfc1 $a3, $f0 +/* DCF744 80242A74 0C00A7E7 */ jal add_vec2D_polar +/* DCF748 80242A78 26450040 */ addiu $a1, $s2, 0x40 +/* DCF74C 80242A7C C600003C */ lwc1 $f0, 0x3c($s0) +/* DCF750 80242A80 C6620074 */ lwc1 $f2, 0x74($s3) +/* DCF754 80242A84 468010A0 */ cvt.s.w $f2, $f2 +/* DCF758 80242A88 46020000 */ add.s $f0, $f0, $f2 +/* DCF75C 80242A8C E640003C */ swc1 $f0, 0x3c($s2) +/* DCF760 80242A90 A2740007 */ sb $s4, 7($s3) +/* DCF764 80242A94 C6400038 */ lwc1 $f0, 0x38($s2) +/* DCF768 80242A98 4600020D */ trunc.w.s $f8, $f0 +/* DCF76C 80242A9C 44024000 */ mfc1 $v0, $f8 +/* DCF770 80242AA0 00000000 */ nop +/* DCF774 80242AA4 A6620010 */ sh $v0, 0x10($s3) +/* DCF778 80242AA8 C640003C */ lwc1 $f0, 0x3c($s2) +/* DCF77C 80242AAC 4600020D */ trunc.w.s $f8, $f0 +/* DCF780 80242AB0 44024000 */ mfc1 $v0, $f8 +/* DCF784 80242AB4 00000000 */ nop +/* DCF788 80242AB8 A6620012 */ sh $v0, 0x12($s3) +/* DCF78C 80242ABC C6400040 */ lwc1 $f0, 0x40($s2) +/* DCF790 80242AC0 4600020D */ trunc.w.s $f8, $f0 +/* DCF794 80242AC4 44024000 */ mfc1 $v0, $f8 +/* DCF798 80242AC8 00000000 */ nop +/* DCF79C 80242ACC A6620014 */ sh $v0, 0x14($s3) +/* DCF7A0 80242AD0 AE400044 */ sw $zero, 0x44($s2) +/* DCF7A4 80242AD4 AE400048 */ sw $zero, 0x48($s2) +/* DCF7A8 80242AD8 AE40004C */ sw $zero, 0x4c($s2) +/* DCF7AC 80242ADC C6A00000 */ lwc1 $f0, ($s5) +/* DCF7B0 80242AE0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DCF7B4 80242AE4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DCF7B8 80242AE8 C64C0038 */ lwc1 $f12, 0x38($s2) +/* DCF7BC 80242AEC C64E0040 */ lwc1 $f14, 0x40($s2) +/* DCF7C0 80242AF0 E6400018 */ swc1 $f0, 0x18($s2) +/* DCF7C4 80242AF4 8C460028 */ lw $a2, 0x28($v0) +/* DCF7C8 80242AF8 0C00A720 */ jal atan2 +/* DCF7CC 80242AFC 8C470030 */ lw $a3, 0x30($v0) +/* DCF7D0 80242B00 E640000C */ swc1 $f0, 0xc($s2) +/* DCF7D4 80242B04 C6A0000C */ lwc1 $f0, 0xc($s5) +/* DCF7D8 80242B08 8E420000 */ lw $v0, ($s2) +/* DCF7DC 80242B0C 0240202D */ daddu $a0, $s2, $zero +/* DCF7E0 80242B10 E640001C */ swc1 $f0, 0x1c($s2) +/* DCF7E4 80242B14 C6A00010 */ lwc1 $f0, 0x10($s5) +/* DCF7E8 80242B18 2403FFFD */ addiu $v1, $zero, -3 +/* DCF7EC 80242B1C E6400014 */ swc1 $f0, 0x14($s2) +/* DCF7F0 80242B20 C600003C */ lwc1 $f0, 0x3c($s0) +/* DCF7F4 80242B24 00431024 */ and $v0, $v0, $v1 +/* DCF7F8 80242B28 AE420000 */ sw $v0, ($s2) +/* DCF7FC 80242B2C 0C00EAE8 */ jal enable_npc_shadow +/* DCF800 80242B30 E6400064 */ swc1 $f0, 0x64($s2) +/* DCF804 80242B34 8E420000 */ lw $v0, ($s2) +/* DCF808 80242B38 3C03E0FF */ lui $v1, 0xe0ff +/* DCF80C 80242B3C 34420800 */ ori $v0, $v0, 0x800 +/* DCF810 80242B40 AE420000 */ sw $v0, ($s2) +/* DCF814 80242B44 8E620000 */ lw $v0, ($s3) +/* DCF818 80242B48 3463FFFF */ ori $v1, $v1, 0xffff +/* DCF81C 80242B4C 00431024 */ and $v0, $v0, $v1 +/* DCF820 80242B50 AE620000 */ sw $v0, ($s3) +/* DCF824 80242B54 2402005A */ addiu $v0, $zero, 0x5a +/* DCF828 80242B58 A642008E */ sh $v0, 0x8e($s2) +/* DCF82C 80242B5C AEF10070 */ sw $s1, 0x70($s7) +.L80242B60: +/* DCF830 80242B60 0000202D */ daddu $a0, $zero, $zero +/* DCF834 80242B64 27B00020 */ addiu $s0, $sp, 0x20 +/* DCF838 80242B68 864200A8 */ lh $v0, 0xa8($s2) +/* DCF83C 80242B6C 3C013FE0 */ lui $at, 0x3fe0 +/* DCF840 80242B70 44810800 */ mtc1 $at, $f1 +/* DCF844 80242B74 44800000 */ mtc1 $zero, $f0 +/* DCF848 80242B78 44821000 */ mtc1 $v0, $f2 +/* DCF84C 80242B7C 00000000 */ nop +/* DCF850 80242B80 468010A1 */ cvt.d.w $f2, $f2 +/* DCF854 80242B84 46201082 */ mul.d $f2, $f2, $f0 +/* DCF858 80242B88 00000000 */ nop +/* DCF85C 80242B8C 0200282D */ daddu $a1, $s0, $zero +/* DCF860 80242B90 C6440038 */ lwc1 $f4, 0x38($s2) +/* DCF864 80242B94 C640003C */ lwc1 $f0, 0x3c($s2) +/* DCF868 80242B98 27B10024 */ addiu $s1, $sp, 0x24 +/* DCF86C 80242B9C E7A40020 */ swc1 $f4, 0x20($sp) +/* DCF870 80242BA0 C6440040 */ lwc1 $f4, 0x40($s2) +/* DCF874 80242BA4 46000021 */ cvt.d.s $f0, $f0 +/* DCF878 80242BA8 46220000 */ add.d $f0, $f0, $f2 +/* DCF87C 80242BAC E7A40028 */ swc1 $f4, 0x28($sp) +/* DCF880 80242BB0 C6420018 */ lwc1 $f2, 0x18($s2) +/* DCF884 80242BB4 46200020 */ cvt.s.d $f0, $f0 +/* DCF888 80242BB8 E7A00024 */ swc1 $f0, 0x24($sp) +/* DCF88C 80242BBC E7A20010 */ swc1 $f2, 0x10($sp) +/* DCF890 80242BC0 C640000C */ lwc1 $f0, 0xc($s2) +/* DCF894 80242BC4 0220302D */ daddu $a2, $s1, $zero +/* DCF898 80242BC8 E7A00014 */ swc1 $f0, 0x14($sp) +/* DCF89C 80242BCC 864200A6 */ lh $v0, 0xa6($s2) +/* DCF8A0 80242BD0 27B40028 */ addiu $s4, $sp, 0x28 +/* DCF8A4 80242BD4 44820000 */ mtc1 $v0, $f0 +/* DCF8A8 80242BD8 00000000 */ nop +/* DCF8AC 80242BDC 46800020 */ cvt.s.w $f0, $f0 +/* DCF8B0 80242BE0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DCF8B4 80242BE4 864200A8 */ lh $v0, 0xa8($s2) +/* DCF8B8 80242BE8 0280382D */ daddu $a3, $s4, $zero +/* DCF8BC 80242BEC 44820000 */ mtc1 $v0, $f0 +/* DCF8C0 80242BF0 00000000 */ nop +/* DCF8C4 80242BF4 46800020 */ cvt.s.w $f0, $f0 +/* DCF8C8 80242BF8 0C0376B9 */ jal func_800DDAE4 +/* DCF8CC 80242BFC E7A0001C */ swc1 $f0, 0x1c($sp) +/* DCF8D0 80242C00 54400001 */ bnel $v0, $zero, .L80242C08 +/* DCF8D4 80242C04 24160001 */ addiu $s6, $zero, 1 +.L80242C08: +/* DCF8D8 80242C08 0200282D */ daddu $a1, $s0, $zero +/* DCF8DC 80242C0C 0220302D */ daddu $a2, $s1, $zero +/* DCF8E0 80242C10 C6400038 */ lwc1 $f0, 0x38($s2) +/* DCF8E4 80242C14 C642003C */ lwc1 $f2, 0x3c($s2) +/* DCF8E8 80242C18 C6440040 */ lwc1 $f4, 0x40($s2) +/* DCF8EC 80242C1C 3C01447A */ lui $at, 0x447a +/* DCF8F0 80242C20 44813000 */ mtc1 $at, $f6 +/* DCF8F4 80242C24 27A2002C */ addiu $v0, $sp, 0x2c +/* DCF8F8 80242C28 E7A00020 */ swc1 $f0, 0x20($sp) +/* DCF8FC 80242C2C E7A20024 */ swc1 $f2, 0x24($sp) +/* DCF900 80242C30 E7A40028 */ swc1 $f4, 0x28($sp) +/* DCF904 80242C34 E7A6002C */ swc1 $f6, 0x2c($sp) +/* DCF908 80242C38 AFA20010 */ sw $v0, 0x10($sp) +/* DCF90C 80242C3C 8E440080 */ lw $a0, 0x80($s2) +/* DCF910 80242C40 0C0372DF */ jal func_800DCB7C +/* DCF914 80242C44 0280382D */ daddu $a3, $s4, $zero +/* DCF918 80242C48 10400019 */ beqz $v0, .L80242CB0 +/* DCF91C 80242C4C 00000000 */ nop +/* DCF920 80242C50 C640001C */ lwc1 $f0, 0x1c($s2) +/* DCF924 80242C54 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* DCF928 80242C58 46000005 */ abs.s $f0, $f0 +/* DCF92C 80242C5C 4600103C */ c.lt.s $f2, $f0 +/* DCF930 80242C60 00000000 */ nop +/* DCF934 80242C64 45000012 */ bc1f .L80242CB0 +/* DCF938 80242C68 00000000 */ nop +/* DCF93C 80242C6C C7A40024 */ lwc1 $f4, 0x24($sp) +/* DCF940 80242C70 C6400064 */ lwc1 $f0, 0x64($s2) +/* DCF944 80242C74 46002001 */ sub.s $f0, $f4, $f0 +/* DCF948 80242C78 3C014034 */ lui $at, 0x4034 +/* DCF94C 80242C7C 44811800 */ mtc1 $at, $f3 +/* DCF950 80242C80 44801000 */ mtc1 $zero, $f2 +/* DCF954 80242C84 46000005 */ abs.s $f0, $f0 +/* DCF958 80242C88 46000021 */ cvt.d.s $f0, $f0 +/* DCF95C 80242C8C 4622003C */ c.lt.d $f0, $f2 +/* DCF960 80242C90 00000000 */ nop +/* DCF964 80242C94 45000006 */ bc1f .L80242CB0 +/* DCF968 80242C98 0240202D */ daddu $a0, $s2, $zero +/* DCF96C 80242C9C 8E450018 */ lw $a1, 0x18($s2) +/* DCF970 80242CA0 8E46000C */ lw $a2, 0xc($s2) +/* DCF974 80242CA4 2416000A */ addiu $s6, $zero, 0xa +/* DCF978 80242CA8 0C00EA95 */ jal npc_move_heading +/* DCF97C 80242CAC E644003C */ swc1 $f4, 0x3c($s2) +.L80242CB0: +/* DCF980 80242CB0 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DCF984 80242CB4 3C013FF0 */ lui $at, 0x3ff0 +/* DCF988 80242CB8 44811800 */ mtc1 $at, $f3 +/* DCF98C 80242CBC 44801000 */ mtc1 $zero, $f2 +/* DCF990 80242CC0 46000021 */ cvt.d.s $f0, $f0 +/* DCF994 80242CC4 4622003C */ c.lt.d $f0, $f2 +/* DCF998 80242CC8 00000000 */ nop +/* DCF99C 80242CCC 45030001 */ bc1tl .L80242CD4 +/* DCF9A0 80242CD0 2416000B */ addiu $s6, $zero, 0xb +.L80242CD4: +/* DCF9A4 80242CD4 9642008E */ lhu $v0, 0x8e($s2) +/* DCF9A8 80242CD8 2442FFFF */ addiu $v0, $v0, -1 +/* DCF9AC 80242CDC A642008E */ sh $v0, 0x8e($s2) +/* DCF9B0 80242CE0 00021400 */ sll $v0, $v0, 0x10 +/* DCF9B4 80242CE4 58400001 */ blezl $v0, .L80242CEC +/* DCF9B8 80242CE8 24160014 */ addiu $s6, $zero, 0x14 +.L80242CEC: +/* DCF9BC 80242CEC 56C00019 */ bnel $s6, $zero, .L80242D54 +/* DCF9C0 80242CF0 AFA00010 */ sw $zero, 0x10($sp) +/* DCF9C4 80242CF4 8E620070 */ lw $v0, 0x70($s3) +/* DCF9C8 80242CF8 30420001 */ andi $v0, $v0, 1 +/* DCF9CC 80242CFC 10400009 */ beqz $v0, .L80242D24 +/* DCF9D0 80242D00 00000000 */ nop +/* DCF9D4 80242D04 C640004C */ lwc1 $f0, 0x4c($s2) +/* DCF9D8 80242D08 3C014044 */ lui $at, 0x4044 +/* DCF9DC 80242D0C 44811800 */ mtc1 $at, $f3 +/* DCF9E0 80242D10 44801000 */ mtc1 $zero, $f2 +/* DCF9E4 80242D14 46000021 */ cvt.d.s $f0, $f0 +/* DCF9E8 80242D18 46220000 */ add.d $f0, $f0, $f2 +/* DCF9EC 80242D1C 46200020 */ cvt.s.d $f0, $f0 +/* DCF9F0 80242D20 E640004C */ swc1 $f0, 0x4c($s2) +.L80242D24: +/* DCF9F4 80242D24 8E450018 */ lw $a1, 0x18($s2) +/* DCF9F8 80242D28 8E46000C */ lw $a2, 0xc($s2) +/* DCF9FC 80242D2C 0C00EA95 */ jal npc_move_heading +/* DCFA00 80242D30 0240202D */ daddu $a0, $s2, $zero +/* DCFA04 80242D34 C644003C */ lwc1 $f4, 0x3c($s2) +/* DCFA08 80242D38 C640001C */ lwc1 $f0, 0x1c($s2) +/* DCFA0C 80242D3C 46002100 */ add.s $f4, $f4, $f0 +/* DCFA10 80242D40 C6420014 */ lwc1 $f2, 0x14($s2) +/* DCFA14 80242D44 46020001 */ sub.s $f0, $f0, $f2 +/* DCFA18 80242D48 E644003C */ swc1 $f4, 0x3c($s2) +/* DCFA1C 80242D4C 08090B70 */ j .L80242DC0 +/* DCFA20 80242D50 E640001C */ swc1 $f0, 0x1c($s2) +.L80242D54: +/* DCFA24 80242D54 AFA00014 */ sw $zero, 0x14($sp) +/* DCFA28 80242D58 8E450038 */ lw $a1, 0x38($s2) +/* DCFA2C 80242D5C 8E46003C */ lw $a2, 0x3c($s2) +/* DCFA30 80242D60 8E470040 */ lw $a3, 0x40($s2) +/* DCFA34 80242D64 0C01BECC */ jal fx_walk_normal +/* DCFA38 80242D68 24040002 */ addiu $a0, $zero, 2 +/* DCFA3C 80242D6C 3C01C47A */ lui $at, 0xc47a +/* DCFA40 80242D70 44810000 */ mtc1 $at, $f0 +/* DCFA44 80242D74 AE60006C */ sw $zero, 0x6c($s3) +/* DCFA48 80242D78 8E420000 */ lw $v0, ($s2) +/* DCFA4C 80242D7C 0240202D */ daddu $a0, $s2, $zero +/* DCFA50 80242D80 AE400038 */ sw $zero, 0x38($s2) +/* DCFA54 80242D84 AE400040 */ sw $zero, 0x40($s2) +/* DCFA58 80242D88 AE40001C */ sw $zero, 0x1c($s2) +/* DCFA5C 80242D8C 34420002 */ ori $v0, $v0, 2 +/* DCFA60 80242D90 E640003C */ swc1 $f0, 0x3c($s2) +/* DCFA64 80242D94 0C00EAFF */ jal disable_npc_shadow +/* DCFA68 80242D98 AE420000 */ sw $v0, ($s2) +/* DCFA6C 80242D9C 8E420000 */ lw $v0, ($s2) +/* DCFA70 80242DA0 2403F7FF */ addiu $v1, $zero, -0x801 +/* DCFA74 80242DA4 00431024 */ and $v0, $v0, $v1 +/* DCFA78 80242DA8 AE420000 */ sw $v0, ($s2) +/* DCFA7C 80242DAC 8E620000 */ lw $v0, ($s3) +/* DCFA80 80242DB0 3C031F00 */ lui $v1, 0x1f00 +/* DCFA84 80242DB4 00431025 */ or $v0, $v0, $v1 +/* DCFA88 80242DB8 AE620000 */ sw $v0, ($s3) +/* DCFA8C 80242DBC AEE00070 */ sw $zero, 0x70($s7) +.L80242DC0: +/* DCFA90 80242DC0 0000102D */ daddu $v0, $zero, $zero +.L80242DC4: +/* DCFA94 80242DC4 8FBF0050 */ lw $ra, 0x50($sp) +/* DCFA98 80242DC8 8FB7004C */ lw $s7, 0x4c($sp) +/* DCFA9C 80242DCC 8FB60048 */ lw $s6, 0x48($sp) +/* DCFAA0 80242DD0 8FB50044 */ lw $s5, 0x44($sp) +/* DCFAA4 80242DD4 8FB40040 */ lw $s4, 0x40($sp) +/* DCFAA8 80242DD8 8FB3003C */ lw $s3, 0x3c($sp) +/* DCFAAC 80242DDC 8FB20038 */ lw $s2, 0x38($sp) +/* DCFAB0 80242DE0 8FB10034 */ lw $s1, 0x34($sp) +/* DCFAB4 80242DE4 8FB00030 */ lw $s0, 0x30($sp) +/* DCFAB8 80242DE8 03E00008 */ jr $ra +/* DCFABC 80242DEC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80242DF0.s b/asm/nonmatchings/world/area_omo/omo_09/func_80242DF0.s new file mode 100644 index 0000000000..b968850216 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80242DF0.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242DF0 +/* DCFAC0 80242DF0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* DCFAC4 80242DF4 AFB3003C */ sw $s3, 0x3c($sp) +/* DCFAC8 80242DF8 0080982D */ daddu $s3, $a0, $zero +/* DCFACC 80242DFC AFB40040 */ sw $s4, 0x40($sp) +/* DCFAD0 80242E00 0000A02D */ daddu $s4, $zero, $zero +/* DCFAD4 80242E04 3C03800A */ lui $v1, 0x800a +/* DCFAD8 80242E08 8463A634 */ lh $v1, -0x59cc($v1) +/* DCFADC 80242E0C 3C04800B */ lui $a0, %hi(gCameras) +/* DCFAE0 80242E10 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* DCFAE4 80242E14 AFBF0044 */ sw $ra, 0x44($sp) +/* DCFAE8 80242E18 AFB20038 */ sw $s2, 0x38($sp) +/* DCFAEC 80242E1C AFB10034 */ sw $s1, 0x34($sp) +/* DCFAF0 80242E20 AFB00030 */ sw $s0, 0x30($sp) +/* DCFAF4 80242E24 F7B80058 */ sdc1 $f24, 0x58($sp) +/* DCFAF8 80242E28 F7B60050 */ sdc1 $f22, 0x50($sp) +/* DCFAFC 80242E2C F7B40048 */ sdc1 $f20, 0x48($sp) +/* DCFB00 80242E30 8E710148 */ lw $s1, 0x148($s3) +/* DCFB04 80242E34 00031080 */ sll $v0, $v1, 2 +/* DCFB08 80242E38 00431021 */ addu $v0, $v0, $v1 +/* DCFB0C 80242E3C 00021080 */ sll $v0, $v0, 2 +/* DCFB10 80242E40 00431023 */ subu $v0, $v0, $v1 +/* DCFB14 80242E44 000218C0 */ sll $v1, $v0, 3 +/* DCFB18 80242E48 00431021 */ addu $v0, $v0, $v1 +/* DCFB1C 80242E4C 000210C0 */ sll $v0, $v0, 3 +/* DCFB20 80242E50 10A00002 */ beqz $a1, .L80242E5C +/* DCFB24 80242E54 00449021 */ addu $s2, $v0, $a0 +/* DCFB28 80242E58 AE600070 */ sw $zero, 0x70($s3) +.L80242E5C: +/* DCFB2C 80242E5C 0C00FB5A */ jal get_enemy_safe +/* DCFB30 80242E60 86240008 */ lh $a0, 8($s1) +/* DCFB34 80242E64 14400006 */ bnez $v0, .L80242E80 +/* DCFB38 80242E68 24020005 */ addiu $v0, $zero, 5 +/* DCFB3C 80242E6C 0260202D */ daddu $a0, $s3, $zero +/* DCFB40 80242E70 3C05FE36 */ lui $a1, 0xfe36 +/* DCFB44 80242E74 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DCFB48 80242E78 08090C78 */ j .L802431E0 +/* DCFB4C 80242E7C 0000302D */ daddu $a2, $zero, $zero +.L80242E80: +/* DCFB50 80242E80 8E23006C */ lw $v1, 0x6c($s1) +/* DCFB54 80242E84 14620005 */ bne $v1, $v0, .L80242E9C +/* DCFB58 80242E88 0260202D */ daddu $a0, $s3, $zero +/* DCFB5C 80242E8C 3C05FE36 */ lui $a1, 0xfe36 +/* DCFB60 80242E90 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DCFB64 80242E94 08090C78 */ j .L802431E0 +/* DCFB68 80242E98 0000302D */ daddu $a2, $zero, $zero +.L80242E9C: +/* DCFB6C 80242E9C 86240008 */ lh $a0, 8($s1) +/* DCFB70 80242EA0 0C00FB5A */ jal get_enemy_safe +/* DCFB74 80242EA4 00000000 */ nop +/* DCFB78 80242EA8 14400005 */ bnez $v0, .L80242EC0 +/* DCFB7C 80242EAC 0260202D */ daddu $a0, $s3, $zero +/* DCFB80 80242EB0 3C05FE36 */ lui $a1, 0xfe36 +/* DCFB84 80242EB4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DCFB88 80242EB8 08090C78 */ j .L802431E0 +/* DCFB8C 80242EBC 0000302D */ daddu $a2, $zero, $zero +.L80242EC0: +/* DCFB90 80242EC0 86240008 */ lh $a0, 8($s1) +/* DCFB94 80242EC4 0C00EABB */ jal get_npc_unsafe +/* DCFB98 80242EC8 00000000 */ nop +/* DCFB9C 80242ECC 8E630070 */ lw $v1, 0x70($s3) +/* DCFBA0 80242ED0 10600006 */ beqz $v1, .L80242EEC +/* DCFBA4 80242ED4 0040802D */ daddu $s0, $v0, $zero +/* DCFBA8 80242ED8 24020001 */ addiu $v0, $zero, 1 +/* DCFBAC 80242EDC 1062003F */ beq $v1, $v0, .L80242FDC +/* DCFBB0 80242EE0 0000102D */ daddu $v0, $zero, $zero +/* DCFBB4 80242EE4 08090C88 */ j .L80243220 +/* DCFBB8 80242EE8 00000000 */ nop +.L80242EEC: +/* DCFBBC 80242EEC AFA00010 */ sw $zero, 0x10($sp) +/* DCFBC0 80242EF0 AFA00014 */ sw $zero, 0x14($sp) +/* DCFBC4 80242EF4 8E050038 */ lw $a1, 0x38($s0) +/* DCFBC8 80242EF8 8E06003C */ lw $a2, 0x3c($s0) +/* DCFBCC 80242EFC 8E070040 */ lw $a3, 0x40($s0) +/* DCFBD0 80242F00 0C01BECC */ jal fx_walk_normal +/* DCFBD4 80242F04 24040002 */ addiu $a0, $zero, 2 +/* DCFBD8 80242F08 C64C006C */ lwc1 $f12, 0x6c($s2) +/* DCFBDC 80242F0C 0C00A6C9 */ jal clamp_angle +/* DCFBE0 80242F10 00000000 */ nop +/* DCFBE4 80242F14 3C018025 */ lui $at, 0x8025 +/* DCFBE8 80242F18 D438AB20 */ ldc1 $f24, -0x54e0($at) +/* DCFBEC 80242F1C 46000521 */ cvt.d.s $f20, $f0 +/* DCFBF0 80242F20 4638A300 */ add.d $f12, $f20, $f24 +/* DCFBF4 80242F24 3C018025 */ lui $at, 0x8025 +/* DCFBF8 80242F28 D436AB28 */ ldc1 $f22, -0x54d8($at) +/* DCFBFC 80242F2C 0C00A6C9 */ jal clamp_angle +/* DCFC00 80242F30 46206320 */ cvt.s.d $f12, $f12 +/* DCFC04 80242F34 4636A500 */ add.d $f20, $f20, $f22 +/* DCFC08 80242F38 4620A320 */ cvt.s.d $f12, $f20 +/* DCFC0C 80242F3C 0C00A6C9 */ jal clamp_angle +/* DCFC10 80242F40 46000506 */ mov.s $f20, $f0 +/* DCFC14 80242F44 4600A521 */ cvt.d.s $f20, $f20 +/* DCFC18 80242F48 4636A500 */ add.d $f20, $f20, $f22 +/* DCFC1C 80242F4C 46000586 */ mov.s $f22, $f0 +/* DCFC20 80242F50 0C00A6C9 */ jal clamp_angle +/* DCFC24 80242F54 4620A320 */ cvt.s.d $f12, $f20 +/* DCFC28 80242F58 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DCFC2C 80242F5C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DCFC30 80242F60 C64C006C */ lwc1 $f12, 0x6c($s2) +/* DCFC34 80242F64 C44E0084 */ lwc1 $f14, 0x84($v0) +/* DCFC38 80242F68 0C00A70A */ jal get_clamped_angle_diff +/* DCFC3C 80242F6C 46000506 */ mov.s $f20, $f0 +/* DCFC40 80242F70 0C00A6C9 */ jal clamp_angle +/* DCFC44 80242F74 46000306 */ mov.s $f12, $f0 +/* DCFC48 80242F78 46000021 */ cvt.d.s $f0, $f0 +/* DCFC4C 80242F7C 4638003C */ c.lt.d $f0, $f24 +/* DCFC50 80242F80 00000000 */ nop +/* DCFC54 80242F84 45020002 */ bc1fl .L80242F90 +/* DCFC58 80242F88 E614000C */ swc1 $f20, 0xc($s0) +/* DCFC5C 80242F8C E616000C */ swc1 $f22, 0xc($s0) +.L80242F90: +/* DCFC60 80242F90 C6000018 */ lwc1 $f0, 0x18($s0) +/* DCFC64 80242F94 3C018025 */ lui $at, 0x8025 +/* DCFC68 80242F98 D422AB30 */ ldc1 $f2, -0x54d0($at) +/* DCFC6C 80242F9C 46000021 */ cvt.d.s $f0, $f0 +/* DCFC70 80242FA0 46220002 */ mul.d $f0, $f0, $f2 +/* DCFC74 80242FA4 00000000 */ nop +/* DCFC78 80242FA8 3C013F66 */ lui $at, 0x3f66 +/* DCFC7C 80242FAC 34216666 */ ori $at, $at, 0x6666 +/* DCFC80 80242FB0 44812000 */ mtc1 $at, $f4 +/* DCFC84 80242FB4 2402001E */ addiu $v0, $zero, 0x1e +/* DCFC88 80242FB8 A602008E */ sh $v0, 0x8e($s0) +/* DCFC8C 80242FBC 3C014120 */ lui $at, 0x4120 +/* DCFC90 80242FC0 44811000 */ mtc1 $at, $f2 +/* DCFC94 80242FC4 24020001 */ addiu $v0, $zero, 1 +/* DCFC98 80242FC8 E6040014 */ swc1 $f4, 0x14($s0) +/* DCFC9C 80242FCC E602001C */ swc1 $f2, 0x1c($s0) +/* DCFCA0 80242FD0 46200020 */ cvt.s.d $f0, $f0 +/* DCFCA4 80242FD4 E6000018 */ swc1 $f0, 0x18($s0) +/* DCFCA8 80242FD8 AE620070 */ sw $v0, 0x70($s3) +.L80242FDC: +/* DCFCAC 80242FDC C6000038 */ lwc1 $f0, 0x38($s0) +/* DCFCB0 80242FE0 C602003C */ lwc1 $f2, 0x3c($s0) +/* DCFCB4 80242FE4 C6040040 */ lwc1 $f4, 0x40($s0) +/* DCFCB8 80242FE8 C6060018 */ lwc1 $f6, 0x18($s0) +/* DCFCBC 80242FEC 0000202D */ daddu $a0, $zero, $zero +/* DCFCC0 80242FF0 E7A00020 */ swc1 $f0, 0x20($sp) +/* DCFCC4 80242FF4 E7A20024 */ swc1 $f2, 0x24($sp) +/* DCFCC8 80242FF8 E7A40028 */ swc1 $f4, 0x28($sp) +/* DCFCCC 80242FFC E7A60010 */ swc1 $f6, 0x10($sp) +/* DCFCD0 80243000 C600000C */ lwc1 $f0, 0xc($s0) +/* DCFCD4 80243004 27A50020 */ addiu $a1, $sp, 0x20 +/* DCFCD8 80243008 E7A00014 */ swc1 $f0, 0x14($sp) +/* DCFCDC 8024300C 860200A6 */ lh $v0, 0xa6($s0) +/* DCFCE0 80243010 27A60024 */ addiu $a2, $sp, 0x24 +/* DCFCE4 80243014 44820000 */ mtc1 $v0, $f0 +/* DCFCE8 80243018 00000000 */ nop +/* DCFCEC 8024301C 46800020 */ cvt.s.w $f0, $f0 +/* DCFCF0 80243020 E7A00018 */ swc1 $f0, 0x18($sp) +/* DCFCF4 80243024 860200A8 */ lh $v0, 0xa8($s0) +/* DCFCF8 80243028 27A70028 */ addiu $a3, $sp, 0x28 +/* DCFCFC 8024302C 44820000 */ mtc1 $v0, $f0 +/* DCFD00 80243030 00000000 */ nop +/* DCFD04 80243034 46800020 */ cvt.s.w $f0, $f0 +/* DCFD08 80243038 0C037711 */ jal func_800DDC44 +/* DCFD0C 8024303C E7A0001C */ swc1 $f0, 0x1c($sp) +/* DCFD10 80243040 54400007 */ bnel $v0, $zero, .L80243060 +/* DCFD14 80243044 24140001 */ addiu $s4, $zero, 1 +/* DCFD18 80243048 8E050018 */ lw $a1, 0x18($s0) +/* DCFD1C 8024304C 8E06000C */ lw $a2, 0xc($s0) +/* DCFD20 80243050 0C00EA95 */ jal npc_move_heading +/* DCFD24 80243054 0200202D */ daddu $a0, $s0, $zero +/* DCFD28 80243058 08090C19 */ j .L80243064 +/* DCFD2C 8024305C 0000902D */ daddu $s2, $zero, $zero +.L80243060: +/* DCFD30 80243060 0000902D */ daddu $s2, $zero, $zero +.L80243064: +/* DCFD34 80243064 C600001C */ lwc1 $f0, 0x1c($s0) +/* DCFD38 80243068 44801000 */ mtc1 $zero, $f2 +/* DCFD3C 8024306C 44801800 */ mtc1 $zero, $f3 +/* DCFD40 80243070 46000021 */ cvt.d.s $f0, $f0 +/* DCFD44 80243074 4622003C */ c.lt.d $f0, $f2 +/* DCFD48 80243078 00000000 */ nop +/* DCFD4C 8024307C 45000028 */ bc1f .L80243120 +/* DCFD50 80243080 27A50020 */ addiu $a1, $sp, 0x20 +/* DCFD54 80243084 27A60024 */ addiu $a2, $sp, 0x24 +/* DCFD58 80243088 27A2002C */ addiu $v0, $sp, 0x2c +/* DCFD5C 8024308C C602003C */ lwc1 $f2, 0x3c($s0) +/* DCFD60 80243090 C6060038 */ lwc1 $f6, 0x38($s0) +/* DCFD64 80243094 3C01402A */ lui $at, 0x402a +/* DCFD68 80243098 4481A800 */ mtc1 $at, $f21 +/* DCFD6C 8024309C 4480A000 */ mtc1 $zero, $f20 +/* DCFD70 802430A0 460010A1 */ cvt.d.s $f2, $f2 +/* DCFD74 802430A4 46341080 */ add.d $f2, $f2, $f20 +/* DCFD78 802430A8 C600001C */ lwc1 $f0, 0x1c($s0) +/* DCFD7C 802430AC C6040040 */ lwc1 $f4, 0x40($s0) +/* DCFD80 802430B0 46000005 */ abs.s $f0, $f0 +/* DCFD84 802430B4 E7A40028 */ swc1 $f4, 0x28($sp) +/* DCFD88 802430B8 3C014030 */ lui $at, 0x4030 +/* DCFD8C 802430BC 44812800 */ mtc1 $at, $f5 +/* DCFD90 802430C0 44802000 */ mtc1 $zero, $f4 +/* DCFD94 802430C4 46000021 */ cvt.d.s $f0, $f0 +/* DCFD98 802430C8 E7A60020 */ swc1 $f6, 0x20($sp) +/* DCFD9C 802430CC 46240000 */ add.d $f0, $f0, $f4 +/* DCFDA0 802430D0 462010A0 */ cvt.s.d $f2, $f2 +/* DCFDA4 802430D4 E7A20024 */ swc1 $f2, 0x24($sp) +/* DCFDA8 802430D8 46200020 */ cvt.s.d $f0, $f0 +/* DCFDAC 802430DC E7A0002C */ swc1 $f0, 0x2c($sp) +/* DCFDB0 802430E0 AFA20010 */ sw $v0, 0x10($sp) +/* DCFDB4 802430E4 8E040080 */ lw $a0, 0x80($s0) +/* DCFDB8 802430E8 0C0372DF */ jal func_800DCB7C +/* DCFDBC 802430EC 27A70028 */ addiu $a3, $sp, 0x28 +/* DCFDC0 802430F0 1040000B */ beqz $v0, .L80243120 +/* DCFDC4 802430F4 00000000 */ nop +/* DCFDC8 802430F8 C600001C */ lwc1 $f0, 0x1c($s0) +/* DCFDCC 802430FC C7A2002C */ lwc1 $f2, 0x2c($sp) +/* DCFDD0 80243100 46000005 */ abs.s $f0, $f0 +/* DCFDD4 80243104 46000021 */ cvt.d.s $f0, $f0 +/* DCFDD8 80243108 46340000 */ add.d $f0, $f0, $f20 +/* DCFDDC 8024310C 460010A1 */ cvt.d.s $f2, $f2 +/* DCFDE0 80243110 4620103E */ c.le.d $f2, $f0 +/* DCFDE4 80243114 00000000 */ nop +/* DCFDE8 80243118 45030001 */ bc1tl .L80243120 +/* DCFDEC 8024311C 24120001 */ addiu $s2, $zero, 1 +.L80243120: +/* DCFDF0 80243120 56400008 */ bnel $s2, $zero, .L80243144 +/* DCFDF4 80243124 2414000A */ addiu $s4, $zero, 0xa +/* DCFDF8 80243128 C604003C */ lwc1 $f4, 0x3c($s0) +/* DCFDFC 8024312C C600001C */ lwc1 $f0, 0x1c($s0) +/* DCFE00 80243130 46002100 */ add.s $f4, $f4, $f0 +/* DCFE04 80243134 C6020014 */ lwc1 $f2, 0x14($s0) +/* DCFE08 80243138 46020001 */ sub.s $f0, $f0, $f2 +/* DCFE0C 8024313C E604003C */ swc1 $f4, 0x3c($s0) +/* DCFE10 80243140 E600001C */ swc1 $f0, 0x1c($s0) +.L80243144: +/* DCFE14 80243144 9602008E */ lhu $v0, 0x8e($s0) +/* DCFE18 80243148 2442FFFF */ addiu $v0, $v0, -1 +/* DCFE1C 8024314C A602008E */ sh $v0, 0x8e($s0) +/* DCFE20 80243150 00021400 */ sll $v0, $v0, 0x10 +/* DCFE24 80243154 58400001 */ blezl $v0, .L8024315C +/* DCFE28 80243158 2414000B */ addiu $s4, $zero, 0xb +.L8024315C: +/* DCFE2C 8024315C 12800024 */ beqz $s4, .L802431F0 +/* DCFE30 80243160 00000000 */ nop +/* DCFE34 80243164 AFA00010 */ sw $zero, 0x10($sp) +/* DCFE38 80243168 AFA00014 */ sw $zero, 0x14($sp) +/* DCFE3C 8024316C 8E050038 */ lw $a1, 0x38($s0) +/* DCFE40 80243170 8E06003C */ lw $a2, 0x3c($s0) +/* DCFE44 80243174 8E070040 */ lw $a3, 0x40($s0) +/* DCFE48 80243178 0C01BECC */ jal fx_walk_normal +/* DCFE4C 8024317C 24040002 */ addiu $a0, $zero, 2 +/* DCFE50 80243180 3C01C47A */ lui $at, 0xc47a +/* DCFE54 80243184 44810000 */ mtc1 $at, $f0 +/* DCFE58 80243188 AE20006C */ sw $zero, 0x6c($s1) +/* DCFE5C 8024318C 8E020000 */ lw $v0, ($s0) +/* DCFE60 80243190 0200202D */ daddu $a0, $s0, $zero +/* DCFE64 80243194 AE000038 */ sw $zero, 0x38($s0) +/* DCFE68 80243198 AE000040 */ sw $zero, 0x40($s0) +/* DCFE6C 8024319C 34420002 */ ori $v0, $v0, 2 +/* DCFE70 802431A0 E600003C */ swc1 $f0, 0x3c($s0) +/* DCFE74 802431A4 0C00EAFF */ jal disable_npc_shadow +/* DCFE78 802431A8 AE020000 */ sw $v0, ($s0) +/* DCFE7C 802431AC 0260202D */ daddu $a0, $s3, $zero +/* DCFE80 802431B0 3C05FE36 */ lui $a1, 0xfe36 +/* DCFE84 802431B4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DCFE88 802431B8 24060001 */ addiu $a2, $zero, 1 +/* DCFE8C 802431BC 8E020000 */ lw $v0, ($s0) +/* DCFE90 802431C0 2403F7FF */ addiu $v1, $zero, -0x801 +/* DCFE94 802431C4 00431024 */ and $v0, $v0, $v1 +/* DCFE98 802431C8 AE020000 */ sw $v0, ($s0) +/* DCFE9C 802431CC 8E220000 */ lw $v0, ($s1) +/* DCFEA0 802431D0 3C031F00 */ lui $v1, 0x1f00 +/* DCFEA4 802431D4 00431025 */ or $v0, $v0, $v1 +/* DCFEA8 802431D8 AE220000 */ sw $v0, ($s1) +/* DCFEAC 802431DC AC800070 */ sw $zero, 0x70($a0) +.L802431E0: +/* DCFEB0 802431E0 0C0B2026 */ jal set_variable +/* DCFEB4 802431E4 00000000 */ nop +/* DCFEB8 802431E8 08090C88 */ j .L80243220 +/* DCFEBC 802431EC 24020002 */ addiu $v0, $zero, 2 +.L802431F0: +/* DCFEC0 802431F0 8E220070 */ lw $v0, 0x70($s1) +/* DCFEC4 802431F4 30420001 */ andi $v0, $v0, 1 +/* DCFEC8 802431F8 10400009 */ beqz $v0, .L80243220 +/* DCFECC 802431FC 0000102D */ daddu $v0, $zero, $zero +/* DCFED0 80243200 C600004C */ lwc1 $f0, 0x4c($s0) +/* DCFED4 80243204 3C01404E */ lui $at, 0x404e +/* DCFED8 80243208 44811800 */ mtc1 $at, $f3 +/* DCFEDC 8024320C 44801000 */ mtc1 $zero, $f2 +/* DCFEE0 80243210 46000021 */ cvt.d.s $f0, $f0 +/* DCFEE4 80243214 46220000 */ add.d $f0, $f0, $f2 +/* DCFEE8 80243218 46200020 */ cvt.s.d $f0, $f0 +/* DCFEEC 8024321C E600004C */ swc1 $f0, 0x4c($s0) +.L80243220: +/* DCFEF0 80243220 8FBF0044 */ lw $ra, 0x44($sp) +/* DCFEF4 80243224 8FB40040 */ lw $s4, 0x40($sp) +/* DCFEF8 80243228 8FB3003C */ lw $s3, 0x3c($sp) +/* DCFEFC 8024322C 8FB20038 */ lw $s2, 0x38($sp) +/* DCFF00 80243230 8FB10034 */ lw $s1, 0x34($sp) +/* DCFF04 80243234 8FB00030 */ lw $s0, 0x30($sp) +/* DCFF08 80243238 D7B80058 */ ldc1 $f24, 0x58($sp) +/* DCFF0C 8024323C D7B60050 */ ldc1 $f22, 0x50($sp) +/* DCFF10 80243240 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DCFF14 80243244 03E00008 */ jr $ra +/* DCFF18 80243248 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024324C.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024324C.s new file mode 100644 index 0000000000..849e90f196 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024324C.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024324C +/* DCFF1C 8024324C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DCFF20 80243250 AFB3003C */ sw $s3, 0x3c($sp) +/* DCFF24 80243254 0080982D */ daddu $s3, $a0, $zero +/* DCFF28 80243258 AFBF0048 */ sw $ra, 0x48($sp) +/* DCFF2C 8024325C AFB50044 */ sw $s5, 0x44($sp) +/* DCFF30 80243260 AFB40040 */ sw $s4, 0x40($sp) +/* DCFF34 80243264 AFB20038 */ sw $s2, 0x38($sp) +/* DCFF38 80243268 AFB10034 */ sw $s1, 0x34($sp) +/* DCFF3C 8024326C AFB00030 */ sw $s0, 0x30($sp) +/* DCFF40 80243270 8E720148 */ lw $s2, 0x148($s3) +/* DCFF44 80243274 86440008 */ lh $a0, 8($s2) +/* DCFF48 80243278 8E70000C */ lw $s0, 0xc($s3) +/* DCFF4C 8024327C 0C00EABB */ jal get_npc_unsafe +/* DCFF50 80243280 00A0882D */ daddu $s1, $a1, $zero +/* DCFF54 80243284 0260202D */ daddu $a0, $s3, $zero +/* DCFF58 80243288 8E050000 */ lw $a1, ($s0) +/* DCFF5C 8024328C 0C0B1EAF */ jal get_variable +/* DCFF60 80243290 0040A02D */ daddu $s4, $v0, $zero +/* DCFF64 80243294 AFA00010 */ sw $zero, 0x10($sp) +/* DCFF68 80243298 8E4300D0 */ lw $v1, 0xd0($s2) +/* DCFF6C 8024329C 8C630030 */ lw $v1, 0x30($v1) +/* DCFF70 802432A0 AFA30014 */ sw $v1, 0x14($sp) +/* DCFF74 802432A4 8E4300D0 */ lw $v1, 0xd0($s2) +/* DCFF78 802432A8 8C63001C */ lw $v1, 0x1c($v1) +/* DCFF7C 802432AC AFA30018 */ sw $v1, 0x18($sp) +/* DCFF80 802432B0 8E4300D0 */ lw $v1, 0xd0($s2) +/* DCFF84 802432B4 8C630024 */ lw $v1, 0x24($v1) +/* DCFF88 802432B8 AFA3001C */ sw $v1, 0x1c($sp) +/* DCFF8C 802432BC 8E4300D0 */ lw $v1, 0xd0($s2) +/* DCFF90 802432C0 8C630028 */ lw $v1, 0x28($v1) +/* DCFF94 802432C4 27B50010 */ addiu $s5, $sp, 0x10 +/* DCFF98 802432C8 AFA30020 */ sw $v1, 0x20($sp) +/* DCFF9C 802432CC 8E4300D0 */ lw $v1, 0xd0($s2) +/* DCFFA0 802432D0 3C014220 */ lui $at, 0x4220 +/* DCFFA4 802432D4 44810000 */ mtc1 $at, $f0 +/* DCFFA8 802432D8 8C63002C */ lw $v1, 0x2c($v1) +/* DCFFAC 802432DC 0040802D */ daddu $s0, $v0, $zero +/* DCFFB0 802432E0 E7A00028 */ swc1 $f0, 0x28($sp) +/* DCFFB4 802432E4 A7A0002C */ sh $zero, 0x2c($sp) +/* DCFFB8 802432E8 16200005 */ bnez $s1, .L80243300 +/* DCFFBC 802432EC AFA30024 */ sw $v1, 0x24($sp) +/* DCFFC0 802432F0 8E4200B0 */ lw $v0, 0xb0($s2) +/* DCFFC4 802432F4 30420004 */ andi $v0, $v0, 4 +/* DCFFC8 802432F8 1040002F */ beqz $v0, .L802433B8 +/* DCFFCC 802432FC 00000000 */ nop +.L80243300: +/* DCFFD0 80243300 2404F7FF */ addiu $a0, $zero, -0x801 +/* DCFFD4 80243304 AE600070 */ sw $zero, 0x70($s3) +/* DCFFD8 80243308 A680008E */ sh $zero, 0x8e($s4) +/* DCFFDC 8024330C 8E4200CC */ lw $v0, 0xcc($s2) +/* DCFFE0 80243310 8E830000 */ lw $v1, ($s4) +/* DCFFE4 80243314 8C420000 */ lw $v0, ($v0) +/* DCFFE8 80243318 00641824 */ and $v1, $v1, $a0 +/* DCFFEC 8024331C AE830000 */ sw $v1, ($s4) +/* DCFFF0 80243320 AE820028 */ sw $v0, 0x28($s4) +/* DCFFF4 80243324 8E4200D0 */ lw $v0, 0xd0($s2) +/* DCFFF8 80243328 8C420034 */ lw $v0, 0x34($v0) +/* DCFFFC 8024332C 54400005 */ bnel $v0, $zero, .L80243344 +/* DD0000 80243330 2402FDFF */ addiu $v0, $zero, -0x201 +/* DD0004 80243334 34620200 */ ori $v0, $v1, 0x200 +/* DD0008 80243338 2403FFF7 */ addiu $v1, $zero, -9 +/* DD000C 8024333C 08090CD3 */ j .L8024334C +/* DD0010 80243340 00431024 */ and $v0, $v0, $v1 +.L80243344: +/* DD0014 80243344 00621024 */ and $v0, $v1, $v0 +/* DD0018 80243348 34420008 */ ori $v0, $v0, 8 +.L8024334C: +/* DD001C 8024334C AE820000 */ sw $v0, ($s4) +/* DD0020 80243350 8E4200B0 */ lw $v0, 0xb0($s2) +/* DD0024 80243354 30420004 */ andi $v0, $v0, 4 +/* DD0028 80243358 10400008 */ beqz $v0, .L8024337C +/* DD002C 8024335C 24020063 */ addiu $v0, $zero, 0x63 +/* DD0030 80243360 AE620070 */ sw $v0, 0x70($s3) +/* DD0034 80243364 AE600074 */ sw $zero, 0x74($s3) +/* DD0038 80243368 8E4200B0 */ lw $v0, 0xb0($s2) +/* DD003C 8024336C 2403FFFB */ addiu $v1, $zero, -5 +/* DD0040 80243370 00431024 */ and $v0, $v0, $v1 +/* DD0044 80243374 08090CE5 */ j .L80243394 +/* DD0048 80243378 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024337C: +/* DD004C 8024337C 8E420000 */ lw $v0, ($s2) +/* DD0050 80243380 3C034000 */ lui $v1, 0x4000 +/* DD0054 80243384 00431024 */ and $v0, $v0, $v1 +/* DD0058 80243388 10400002 */ beqz $v0, .L80243394 +/* DD005C 8024338C 2402000C */ addiu $v0, $zero, 0xc +/* DD0060 80243390 AE620070 */ sw $v0, 0x70($s3) +.L80243394: +/* DD0064 80243394 3C05BFFF */ lui $a1, 0xbfff +/* DD0068 80243398 34A5FFFF */ ori $a1, $a1, 0xffff +/* DD006C 8024339C 2404FFFB */ addiu $a0, $zero, -5 +/* DD0070 802433A0 8E4200B0 */ lw $v0, 0xb0($s2) +/* DD0074 802433A4 8E430000 */ lw $v1, ($s2) +/* DD0078 802433A8 00441024 */ and $v0, $v0, $a0 +/* DD007C 802433AC 00651824 */ and $v1, $v1, $a1 +/* DD0080 802433B0 AE4200B0 */ sw $v0, 0xb0($s2) +/* DD0084 802433B4 AE430000 */ sw $v1, ($s2) +.L802433B8: +/* DD0088 802433B8 8E630070 */ lw $v1, 0x70($s3) +/* DD008C 802433BC 2C620064 */ sltiu $v0, $v1, 0x64 +/* DD0090 802433C0 10400060 */ beqz $v0, .L80243544 +/* DD0094 802433C4 00031080 */ sll $v0, $v1, 2 +/* DD0098 802433C8 3C018025 */ lui $at, 0x8025 +/* DD009C 802433CC 00220821 */ addu $at, $at, $v0 +/* DD00A0 802433D0 8C22AB38 */ lw $v0, -0x54c8($at) +/* DD00A4 802433D4 00400008 */ jr $v0 +/* DD00A8 802433D8 00000000 */ nop +/* DD00AC 802433DC 0260202D */ daddu $a0, $s3, $zero +/* DD00B0 802433E0 0200282D */ daddu $a1, $s0, $zero +/* DD00B4 802433E4 0C012568 */ jal func_800495A0 +/* DD00B8 802433E8 02A0302D */ daddu $a2, $s5, $zero +/* DD00BC 802433EC 0260202D */ daddu $a0, $s3, $zero +/* DD00C0 802433F0 0200282D */ daddu $a1, $s0, $zero +/* DD00C4 802433F4 0C0125AE */ jal func_800496B8 +/* DD00C8 802433F8 02A0302D */ daddu $a2, $s5, $zero +/* DD00CC 802433FC 08090D51 */ j .L80243544 +/* DD00D0 80243400 00000000 */ nop +/* DD00D4 80243404 0260202D */ daddu $a0, $s3, $zero +/* DD00D8 80243408 0200282D */ daddu $a1, $s0, $zero +/* DD00DC 8024340C 0C0126D1 */ jal func_80049B44 +/* DD00E0 80243410 02A0302D */ daddu $a2, $s5, $zero +/* DD00E4 80243414 0260202D */ daddu $a0, $s3, $zero +/* DD00E8 80243418 0200282D */ daddu $a1, $s0, $zero +/* DD00EC 8024341C 0C012701 */ jal func_80049C04 +/* DD00F0 80243420 02A0302D */ daddu $a2, $s5, $zero +/* DD00F4 80243424 08090D51 */ j .L80243544 +/* DD00F8 80243428 00000000 */ nop +/* DD00FC 8024342C 0260202D */ daddu $a0, $s3, $zero +/* DD0100 80243430 0200282D */ daddu $a1, $s0, $zero +/* DD0104 80243434 0C01278F */ jal func_80049E3C +/* DD0108 80243438 02A0302D */ daddu $a2, $s5, $zero +/* DD010C 8024343C 0260202D */ daddu $a0, $s3, $zero +/* DD0110 80243440 0200282D */ daddu $a1, $s0, $zero +/* DD0114 80243444 0C0127B3 */ jal func_80049ECC +/* DD0118 80243448 02A0302D */ daddu $a2, $s5, $zero +/* DD011C 8024344C 08090D51 */ j .L80243544 +/* DD0120 80243450 00000000 */ nop +/* DD0124 80243454 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DD0128 80243458 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DD012C 8024345C C68C0038 */ lwc1 $f12, 0x38($s4) +/* DD0130 80243460 C68E0040 */ lwc1 $f14, 0x40($s4) +/* DD0134 80243464 8C460028 */ lw $a2, 0x28($v0) +/* DD0138 80243468 0C00A7B5 */ jal dist2D +/* DD013C 8024346C 8C470030 */ lw $a3, 0x30($v0) +/* DD0140 80243470 8E42006C */ lw $v0, 0x6c($s2) +/* DD0144 80243474 10400008 */ beqz $v0, .L80243498 +/* DD0148 80243478 46000086 */ mov.s $f2, $f0 +/* DD014C 8024347C 44820000 */ mtc1 $v0, $f0 +/* DD0150 80243480 00000000 */ nop +/* DD0154 80243484 46800020 */ cvt.s.w $f0, $f0 +/* DD0158 80243488 4602003C */ c.lt.s $f0, $f2 +/* DD015C 8024348C 00000000 */ nop +/* DD0160 80243490 4500000B */ bc1f .L802434C0 +/* DD0164 80243494 0260202D */ daddu $a0, $s3, $zero +.L80243498: +/* DD0168 80243498 0260202D */ daddu $a0, $s3, $zero +/* DD016C 8024349C 8E050024 */ lw $a1, 0x24($s0) +/* DD0170 802434A0 8E060028 */ lw $a2, 0x28($s0) +/* DD0174 802434A4 0C090952 */ jal func_80242548 +/* DD0178 802434A8 02A0382D */ daddu $a3, $s5, $zero +/* DD017C 802434AC 8E630070 */ lw $v1, 0x70($s3) +/* DD0180 802434B0 2402000C */ addiu $v0, $zero, 0xc +/* DD0184 802434B4 14620023 */ bne $v1, $v0, .L80243544 +/* DD0188 802434B8 00000000 */ nop +/* DD018C 802434BC 0260202D */ daddu $a0, $s3, $zero +.L802434C0: +/* DD0190 802434C0 0200282D */ daddu $a1, $s0, $zero +/* DD0194 802434C4 0C0127DF */ jal func_80049F7C +/* DD0198 802434C8 02A0302D */ daddu $a2, $s5, $zero +/* DD019C 802434CC 0260202D */ daddu $a0, $s3, $zero +/* DD01A0 802434D0 0200282D */ daddu $a1, $s0, $zero +/* DD01A4 802434D4 0C012849 */ jal func_8004A124 +/* DD01A8 802434D8 02A0302D */ daddu $a2, $s5, $zero +/* DD01AC 802434DC 08090D51 */ j .L80243544 +/* DD01B0 802434E0 00000000 */ nop +/* DD01B4 802434E4 0260202D */ daddu $a0, $s3, $zero +/* DD01B8 802434E8 0200282D */ daddu $a1, $s0, $zero +/* DD01BC 802434EC 0C0128FA */ jal func_8004A3E8 +/* DD01C0 802434F0 02A0302D */ daddu $a2, $s5, $zero +/* DD01C4 802434F4 08090D51 */ j .L80243544 +/* DD01C8 802434F8 00000000 */ nop +/* DD01CC 802434FC 0C0909A3 */ jal func_8024268C +/* DD01D0 80243500 0260202D */ daddu $a0, $s3, $zero +/* DD01D4 80243504 08090D51 */ j .L80243544 +/* DD01D8 80243508 00000000 */ nop +/* DD01DC 8024350C 0C0909E3 */ jal func_8024278C +/* DD01E0 80243510 0260202D */ daddu $a0, $s3, $zero +/* DD01E4 80243514 08090D51 */ j .L80243544 +/* DD01E8 80243518 00000000 */ nop +/* DD01EC 8024351C 0C0909F4 */ jal func_802427D0 +/* DD01F0 80243520 0260202D */ daddu $a0, $s3, $zero +/* DD01F4 80243524 08090D51 */ j .L80243544 +/* DD01F8 80243528 00000000 */ nop +/* DD01FC 8024352C 0C090A1C */ jal func_80242870 +/* DD0200 80243530 0260202D */ daddu $a0, $s3, $zero +/* DD0204 80243534 08090D51 */ j .L80243544 +/* DD0208 80243538 00000000 */ nop +/* DD020C 8024353C 0C0129CF */ jal func_8004A73C +/* DD0210 80243540 0260202D */ daddu $a0, $s3, $zero +.L80243544: +/* DD0214 80243544 8FBF0048 */ lw $ra, 0x48($sp) +/* DD0218 80243548 8FB50044 */ lw $s5, 0x44($sp) +/* DD021C 8024354C 8FB40040 */ lw $s4, 0x40($sp) +/* DD0220 80243550 8FB3003C */ lw $s3, 0x3c($sp) +/* DD0224 80243554 8FB20038 */ lw $s2, 0x38($sp) +/* DD0228 80243558 8FB10034 */ lw $s1, 0x34($sp) +/* DD022C 8024355C 8FB00030 */ lw $s0, 0x30($sp) +/* DD0230 80243560 0000102D */ daddu $v0, $zero, $zero +/* DD0234 80243564 03E00008 */ jr $ra +/* DD0238 80243568 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_8024356C.s b/asm/nonmatchings/world/area_omo/omo_09/func_8024356C.s new file mode 100644 index 0000000000..12b88e6749 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_8024356C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024356C +/* DD023C 8024356C 8C830148 */ lw $v1, 0x148($a0) +/* DD0240 80243570 24020003 */ addiu $v0, $zero, 3 +/* DD0244 80243574 A06200B5 */ sb $v0, 0xb5($v1) +/* DD0248 80243578 03E00008 */ jr $ra +/* DD024C 8024357C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80243580.s b/asm/nonmatchings/world/area_omo/omo_09/func_80243580.s new file mode 100644 index 0000000000..0b15633ce9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80243580.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243580 +/* DD0250 80243580 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DD0254 80243584 3C05FE36 */ lui $a1, 0xfe36 +/* DD0258 80243588 AFBF0010 */ sw $ra, 0x10($sp) +/* DD025C 8024358C 8C820148 */ lw $v0, 0x148($a0) +/* DD0260 80243590 3C06800B */ lui $a2, 0x800b +/* DD0264 80243594 8CC60F9C */ lw $a2, 0xf9c($a2) +/* DD0268 80243598 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DD026C 8024359C 00C23026 */ xor $a2, $a2, $v0 +/* DD0270 802435A0 0C0B2026 */ jal set_variable +/* DD0274 802435A4 2CC60001 */ sltiu $a2, $a2, 1 +/* DD0278 802435A8 8FBF0010 */ lw $ra, 0x10($sp) +/* DD027C 802435AC 24020002 */ addiu $v0, $zero, 2 +/* DD0280 802435B0 03E00008 */ jr $ra +/* DD0284 802435B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802435B8.s b/asm/nonmatchings/world/area_omo/omo_09/func_802435B8.s new file mode 100644 index 0000000000..fd4d2b83ac --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802435B8.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435B8 +/* DD0288 802435B8 8C830148 */ lw $v1, 0x148($a0) +/* DD028C 802435BC 24020003 */ addiu $v0, $zero, 3 +/* DD0290 802435C0 A06200B5 */ sb $v0, 0xb5($v1) +/* DD0294 802435C4 03E00008 */ jr $ra +/* DD0298 802435C8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802435CC.s b/asm/nonmatchings/world/area_omo/omo_09/func_802435CC.s new file mode 100644 index 0000000000..d8a579c181 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802435CC.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435CC +/* DD029C 802435CC 3C03800B */ lui $v1, %hi(gCameras) +/* DD02A0 802435D0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DD02A4 802435D4 94620000 */ lhu $v0, ($v1) +/* DD02A8 802435D8 34421000 */ ori $v0, $v0, 0x1000 +/* DD02AC 802435DC A4620000 */ sh $v0, ($v1) +/* DD02B0 802435E0 03E00008 */ jr $ra +/* DD02B4 802435E4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_802435E8.s b/asm/nonmatchings/world/area_omo/omo_09/func_802435E8.s new file mode 100644 index 0000000000..e45e789cfe --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_802435E8.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802435E8 +/* DD02B8 802435E8 3C03800B */ lui $v1, %hi(gCameras) +/* DD02BC 802435EC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DD02C0 802435F0 94620000 */ lhu $v0, ($v1) +/* DD02C4 802435F4 3042EFFF */ andi $v0, $v0, 0xefff +/* DD02C8 802435F8 A4620000 */ sh $v0, ($v1) +/* DD02CC 802435FC 03E00008 */ jr $ra +/* DD02D0 80243600 24020002 */ addiu $v0, $zero, 2 +/* DD02D4 80243604 00000000 */ nop +/* DD02D8 80243608 00000000 */ nop +/* DD02DC 8024360C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_09/func_80243610.s b/asm/nonmatchings/world/area_omo/omo_09/func_80243610.s new file mode 100644 index 0000000000..9b03d426e2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_09/func_80243610.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243610 +/* DD02E0 80243610 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DD02E4 80243614 AFB10014 */ sw $s1, 0x14($sp) +/* DD02E8 80243618 0080882D */ daddu $s1, $a0, $zero +/* DD02EC 8024361C AFBF001C */ sw $ra, 0x1c($sp) +/* DD02F0 80243620 AFB20018 */ sw $s2, 0x18($sp) +/* DD02F4 80243624 AFB00010 */ sw $s0, 0x10($sp) +/* DD02F8 80243628 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DD02FC 8024362C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DD0300 80243630 0C00EABB */ jal get_npc_unsafe +/* DD0304 80243634 24040007 */ addiu $a0, $zero, 7 +/* DD0308 80243638 0040802D */ daddu $s0, $v0, $zero +/* DD030C 8024363C 3C12800B */ lui $s2, %hi(gCameras) +/* DD0310 80243640 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* DD0314 80243644 C60C000C */ lwc1 $f12, 0xc($s0) +/* DD0318 80243648 C640006C */ lwc1 $f0, 0x6c($s2) +/* DD031C 8024364C 46006300 */ add.s $f12, $f12, $f0 +/* DD0320 80243650 3C014334 */ lui $at, 0x4334 +/* DD0324 80243654 4481A000 */ mtc1 $at, $f20 +/* DD0328 80243658 3C014220 */ lui $at, 0x4220 +/* DD032C 8024365C 4481B000 */ mtc1 $at, $f22 +/* DD0330 80243660 0C00A8BB */ jal sin_deg +/* DD0334 80243664 46146300 */ add.s $f12, $f12, $f20 +/* DD0338 80243668 46160002 */ mul.s $f0, $f0, $f22 +/* DD033C 8024366C 00000000 */ nop +/* DD0340 80243670 C6020038 */ lwc1 $f2, 0x38($s0) +/* DD0344 80243674 46001080 */ add.s $f2, $f2, $f0 +/* DD0348 80243678 4600110D */ trunc.w.s $f4, $f2 +/* DD034C 8024367C E6240084 */ swc1 $f4, 0x84($s1) +/* DD0350 80243680 C600003C */ lwc1 $f0, 0x3c($s0) +/* DD0354 80243684 3C014100 */ lui $at, 0x4100 +/* DD0358 80243688 44811000 */ mtc1 $at, $f2 +/* DD035C 8024368C 00000000 */ nop +/* DD0360 80243690 46020000 */ add.s $f0, $f0, $f2 +/* DD0364 80243694 4600010D */ trunc.w.s $f4, $f0 +/* DD0368 80243698 E6240088 */ swc1 $f4, 0x88($s1) +/* DD036C 8024369C C60C000C */ lwc1 $f12, 0xc($s0) +/* DD0370 802436A0 C640006C */ lwc1 $f0, 0x6c($s2) +/* DD0374 802436A4 46006300 */ add.s $f12, $f12, $f0 +/* DD0378 802436A8 0C00A8D4 */ jal cos_deg +/* DD037C 802436AC 46146300 */ add.s $f12, $f12, $f20 +/* DD0380 802436B0 46160002 */ mul.s $f0, $f0, $f22 +/* DD0384 802436B4 00000000 */ nop +/* DD0388 802436B8 C6020040 */ lwc1 $f2, 0x40($s0) +/* DD038C 802436BC 46001081 */ sub.s $f2, $f2, $f0 +/* DD0390 802436C0 4600110D */ trunc.w.s $f4, $f2 +/* DD0394 802436C4 E624008C */ swc1 $f4, 0x8c($s1) +/* DD0398 802436C8 8FBF001C */ lw $ra, 0x1c($sp) +/* DD039C 802436CC 8FB20018 */ lw $s2, 0x18($sp) +/* DD03A0 802436D0 8FB10014 */ lw $s1, 0x14($sp) +/* DD03A4 802436D4 8FB00010 */ lw $s0, 0x10($sp) +/* DD03A8 802436D8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DD03AC 802436DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* DD03B0 802436E0 24020002 */ addiu $v0, $zero, 2 +/* DD03B4 802436E4 03E00008 */ jr $ra +/* DD03B8 802436E8 27BD0030 */ addiu $sp, $sp, 0x30 +/* DD03BC 802436EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240000_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240000_DD79B0.s new file mode 100644 index 0000000000..3a5f09e35f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240000_DD79B0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DD79B0 +/* DD79B0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DD79B4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DD79B8 80240008 94620002 */ lhu $v0, 2($v1) +/* DD79BC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DD79C0 80240010 A4620002 */ sh $v0, 2($v1) +/* DD79C4 80240014 03E00008 */ jr $ra +/* DD79C8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_8024001C_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_8024001C_DD79B0.s new file mode 100644 index 0000000000..eb28898969 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_8024001C_DD79B0.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_DD79CC +/* DD79CC 8024001C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DD79D0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* DD79D4 80240024 0080882D */ daddu $s1, $a0, $zero +/* DD79D8 80240028 AFBF001C */ sw $ra, 0x1c($sp) +/* DD79DC 8024002C AFB20018 */ sw $s2, 0x18($sp) +/* DD79E0 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* DD79E4 80240034 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DD79E8 80240038 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DD79EC 8024003C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DD79F0 80240040 8E30000C */ lw $s0, 0xc($s1) +/* DD79F4 80240044 8E120000 */ lw $s2, ($s0) +/* DD79F8 80240048 26100004 */ addiu $s0, $s0, 4 +/* DD79FC 8024004C 8E050000 */ lw $a1, ($s0) +/* DD7A00 80240050 0C0B210B */ jal get_float_variable +/* DD7A04 80240054 26100004 */ addiu $s0, $s0, 4 +/* DD7A08 80240058 8E050000 */ lw $a1, ($s0) +/* DD7A0C 8024005C 26100004 */ addiu $s0, $s0, 4 +/* DD7A10 80240060 0220202D */ daddu $a0, $s1, $zero +/* DD7A14 80240064 0C0B210B */ jal get_float_variable +/* DD7A18 80240068 46000606 */ mov.s $f24, $f0 +/* DD7A1C 8024006C 8E050000 */ lw $a1, ($s0) +/* DD7A20 80240070 26100004 */ addiu $s0, $s0, 4 +/* DD7A24 80240074 0220202D */ daddu $a0, $s1, $zero +/* DD7A28 80240078 0C0B210B */ jal get_float_variable +/* DD7A2C 8024007C 46000586 */ mov.s $f22, $f0 +/* DD7A30 80240080 0220202D */ daddu $a0, $s1, $zero +/* DD7A34 80240084 8E050000 */ lw $a1, ($s0) +/* DD7A38 80240088 0C0B210B */ jal get_float_variable +/* DD7A3C 8024008C 46000506 */ mov.s $f20, $f0 +/* DD7A40 80240090 4600C306 */ mov.s $f12, $f24 +/* DD7A44 80240094 4406A000 */ mfc1 $a2, $f20 +/* DD7A48 80240098 44070000 */ mfc1 $a3, $f0 +/* DD7A4C 8024009C 0C00A720 */ jal atan2 +/* DD7A50 802400A0 4600B386 */ mov.s $f14, $f22 +/* DD7A54 802400A4 0C00A6C9 */ jal clamp_angle +/* DD7A58 802400A8 46000306 */ mov.s $f12, $f0 +/* DD7A5C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* DD7A60 802400B0 44060000 */ mfc1 $a2, $f0 +/* DD7A64 802400B4 0C0B2190 */ jal set_float_variable +/* DD7A68 802400B8 0240282D */ daddu $a1, $s2, $zero +/* DD7A6C 802400BC 8FBF001C */ lw $ra, 0x1c($sp) +/* DD7A70 802400C0 8FB20018 */ lw $s2, 0x18($sp) +/* DD7A74 802400C4 8FB10014 */ lw $s1, 0x14($sp) +/* DD7A78 802400C8 8FB00010 */ lw $s0, 0x10($sp) +/* DD7A7C 802400CC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DD7A80 802400D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DD7A84 802400D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DD7A88 802400D8 24020002 */ addiu $v0, $zero, 2 +/* DD7A8C 802400DC 03E00008 */ jr $ra +/* DD7A90 802400E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_802400E4_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_802400E4_DD79B0.s new file mode 100644 index 0000000000..78b68dbe33 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_802400E4_DD79B0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4_DD7A94 +/* DD7A94 802400E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DD7A98 802400E8 AFB10014 */ sw $s1, 0x14($sp) +/* DD7A9C 802400EC 0080882D */ daddu $s1, $a0, $zero +/* DD7AA0 802400F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DD7AA4 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* DD7AA8 802400F8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DD7AAC 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* DD7AB0 80240100 8E050000 */ lw $a1, ($s0) +/* DD7AB4 80240104 0C0B210B */ jal get_float_variable +/* DD7AB8 80240108 26100004 */ addiu $s0, $s0, 4 +/* DD7ABC 8024010C 8E050000 */ lw $a1, ($s0) +/* DD7AC0 80240110 26100004 */ addiu $s0, $s0, 4 +/* DD7AC4 80240114 0220202D */ daddu $a0, $s1, $zero +/* DD7AC8 80240118 0C0B210B */ jal get_float_variable +/* DD7ACC 8024011C 46000506 */ mov.s $f20, $f0 +/* DD7AD0 80240120 4614003C */ c.lt.s $f0, $f20 +/* DD7AD4 80240124 00000000 */ nop +/* DD7AD8 80240128 45000004 */ bc1f .L8024013C +/* DD7ADC 8024012C 0220202D */ daddu $a0, $s1, $zero +/* DD7AE0 80240130 8E050000 */ lw $a1, ($s0) +/* DD7AE4 80240134 08090051 */ j .L80240144 +/* DD7AE8 80240138 24060001 */ addiu $a2, $zero, 1 +.L8024013C: +/* DD7AEC 8024013C 8E050000 */ lw $a1, ($s0) +/* DD7AF0 80240140 0000302D */ daddu $a2, $zero, $zero +.L80240144: +/* DD7AF4 80240144 0C0B2026 */ jal set_variable +/* DD7AF8 80240148 00000000 */ nop +/* DD7AFC 8024014C 8FBF0018 */ lw $ra, 0x18($sp) +/* DD7B00 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* DD7B04 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* DD7B08 80240158 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DD7B0C 8024015C 24020002 */ addiu $v0, $zero, 2 +/* DD7B10 80240160 03E00008 */ jr $ra +/* DD7B14 80240164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240168_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240168_DD79B0.s new file mode 100644 index 0000000000..12e1133fbb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240168_DD79B0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240168_DD7B18 +/* DD7B18 80240168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DD7B1C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* DD7B20 80240170 0080902D */ daddu $s2, $a0, $zero +/* DD7B24 80240174 AFBF001C */ sw $ra, 0x1c($sp) +/* DD7B28 80240178 AFB10014 */ sw $s1, 0x14($sp) +/* DD7B2C 8024017C AFB00010 */ sw $s0, 0x10($sp) +/* DD7B30 80240180 8E50000C */ lw $s0, 0xc($s2) +/* DD7B34 80240184 8E050000 */ lw $a1, ($s0) +/* DD7B38 80240188 0C0B1EAF */ jal get_variable +/* DD7B3C 8024018C 26100004 */ addiu $s0, $s0, 4 +/* DD7B40 80240190 8E050000 */ lw $a1, ($s0) +/* DD7B44 80240194 26100004 */ addiu $s0, $s0, 4 +/* DD7B48 80240198 0240202D */ daddu $a0, $s2, $zero +/* DD7B4C 8024019C 0C0B1EAF */ jal get_variable +/* DD7B50 802401A0 0040882D */ daddu $s1, $v0, $zero +/* DD7B54 802401A4 0240202D */ daddu $a0, $s2, $zero +/* DD7B58 802401A8 8E050000 */ lw $a1, ($s0) +/* DD7B5C 802401AC 0C0B1EAF */ jal get_variable +/* DD7B60 802401B0 0040802D */ daddu $s0, $v0, $zero +/* DD7B64 802401B4 02020018 */ mult $s0, $v0 +/* DD7B68 802401B8 24020002 */ addiu $v0, $zero, 2 +/* DD7B6C 802401BC 8E430138 */ lw $v1, 0x138($s2) +/* DD7B70 802401C0 00003012 */ mflo $a2 +/* DD7B74 802401C4 02268821 */ addu $s1, $s1, $a2 +/* DD7B78 802401C8 00518804 */ sllv $s1, $s1, $v0 +/* DD7B7C 802401CC 00711821 */ addu $v1, $v1, $s1 +/* DD7B80 802401D0 AE430138 */ sw $v1, 0x138($s2) +/* DD7B84 802401D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DD7B88 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* DD7B8C 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* DD7B90 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* DD7B94 802401E4 03E00008 */ jr $ra +/* DD7B98 802401E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_802401EC_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_802401EC_DD79B0.s new file mode 100644 index 0000000000..2359a68412 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_802401EC_DD79B0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401EC_DD7B9C +/* DD7B9C 802401EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DD7BA0 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* DD7BA4 802401F4 0080882D */ daddu $s1, $a0, $zero +/* DD7BA8 802401F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DD7BAC 802401FC AFB00010 */ sw $s0, 0x10($sp) +/* DD7BB0 80240200 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DD7BB4 80240204 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DD7BB8 80240208 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DD7BBC 8024020C 8E30000C */ lw $s0, 0xc($s1) +/* DD7BC0 80240210 8E050000 */ lw $a1, ($s0) +/* DD7BC4 80240214 0C0B210B */ jal get_float_variable +/* DD7BC8 80240218 26100004 */ addiu $s0, $s0, 4 +/* DD7BCC 8024021C 8E050000 */ lw $a1, ($s0) +/* DD7BD0 80240220 26100004 */ addiu $s0, $s0, 4 +/* DD7BD4 80240224 0220202D */ daddu $a0, $s1, $zero +/* DD7BD8 80240228 0C0B210B */ jal get_float_variable +/* DD7BDC 8024022C 46000606 */ mov.s $f24, $f0 +/* DD7BE0 80240230 8E050000 */ lw $a1, ($s0) +/* DD7BE4 80240234 26100004 */ addiu $s0, $s0, 4 +/* DD7BE8 80240238 0220202D */ daddu $a0, $s1, $zero +/* DD7BEC 8024023C 0C0B210B */ jal get_float_variable +/* DD7BF0 80240240 46000586 */ mov.s $f22, $f0 +/* DD7BF4 80240244 0220202D */ daddu $a0, $s1, $zero +/* DD7BF8 80240248 8E050000 */ lw $a1, ($s0) +/* DD7BFC 8024024C 0C0B210B */ jal get_float_variable +/* DD7C00 80240250 46000506 */ mov.s $f20, $f0 +/* DD7C04 80240254 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DD7C08 80240258 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DD7C0C 8024025C E4580028 */ swc1 $f24, 0x28($v0) +/* DD7C10 80240260 E456002C */ swc1 $f22, 0x2c($v0) +/* DD7C14 80240264 E4540030 */ swc1 $f20, 0x30($v0) +/* DD7C18 80240268 E4400080 */ swc1 $f0, 0x80($v0) +/* DD7C1C 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* DD7C20 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* DD7C24 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* DD7C28 80240278 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DD7C2C 8024027C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DD7C30 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DD7C34 80240284 24020002 */ addiu $v0, $zero, 2 +/* DD7C38 80240288 03E00008 */ jr $ra +/* DD7C3C 8024028C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240290_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240290_DD79B0.s new file mode 100644 index 0000000000..3e5d0d0803 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240290_DD79B0.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_DD7C40 +/* DD7C40 80240290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DD7C44 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* DD7C48 80240298 0080882D */ daddu $s1, $a0, $zero +/* DD7C4C 8024029C AFBF001C */ sw $ra, 0x1c($sp) +/* DD7C50 802402A0 AFB20018 */ sw $s2, 0x18($sp) +/* DD7C54 802402A4 AFB00010 */ sw $s0, 0x10($sp) +/* DD7C58 802402A8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DD7C5C 802402AC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DD7C60 802402B0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DD7C64 802402B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DD7C68 802402B8 8E30000C */ lw $s0, 0xc($s1) +/* DD7C6C 802402BC 8E050000 */ lw $a1, ($s0) +/* DD7C70 802402C0 0C0B1EAF */ jal get_variable +/* DD7C74 802402C4 26100004 */ addiu $s0, $s0, 4 +/* DD7C78 802402C8 8E050000 */ lw $a1, ($s0) +/* DD7C7C 802402CC 26100004 */ addiu $s0, $s0, 4 +/* DD7C80 802402D0 0220202D */ daddu $a0, $s1, $zero +/* DD7C84 802402D4 0C0B210B */ jal get_float_variable +/* DD7C88 802402D8 0040902D */ daddu $s2, $v0, $zero +/* DD7C8C 802402DC 8E050000 */ lw $a1, ($s0) +/* DD7C90 802402E0 26100004 */ addiu $s0, $s0, 4 +/* DD7C94 802402E4 0220202D */ daddu $a0, $s1, $zero +/* DD7C98 802402E8 0C0B210B */ jal get_float_variable +/* DD7C9C 802402EC 46000686 */ mov.s $f26, $f0 +/* DD7CA0 802402F0 8E050000 */ lw $a1, ($s0) +/* DD7CA4 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DD7CA8 802402F8 0220202D */ daddu $a0, $s1, $zero +/* DD7CAC 802402FC 0C0B210B */ jal get_float_variable +/* DD7CB0 80240300 46000606 */ mov.s $f24, $f0 +/* DD7CB4 80240304 0220202D */ daddu $a0, $s1, $zero +/* DD7CB8 80240308 8E050000 */ lw $a1, ($s0) +/* DD7CBC 8024030C 0C0B210B */ jal get_float_variable +/* DD7CC0 80240310 46000506 */ mov.s $f20, $f0 +/* DD7CC4 80240314 0240202D */ daddu $a0, $s2, $zero +/* DD7CC8 80240318 0C00EAD2 */ jal get_npc_safe +/* DD7CCC 8024031C 46000586 */ mov.s $f22, $f0 +/* DD7CD0 80240320 0040202D */ daddu $a0, $v0, $zero +/* DD7CD4 80240324 E49A0038 */ swc1 $f26, 0x38($a0) +/* DD7CD8 80240328 4600D006 */ mov.s $f0, $f26 +/* DD7CDC 8024032C E498003C */ swc1 $f24, 0x3c($a0) +/* DD7CE0 80240330 4600C086 */ mov.s $f2, $f24 +/* DD7CE4 80240334 E4940040 */ swc1 $f20, 0x40($a0) +/* DD7CE8 80240338 4600A106 */ mov.s $f4, $f20 +/* DD7CEC 8024033C 8C830000 */ lw $v1, ($a0) +/* DD7CF0 80240340 3C050001 */ lui $a1, 1 +/* DD7CF4 80240344 E496000C */ swc1 $f22, 0xc($a0) +/* DD7CF8 80240348 E480006C */ swc1 $f0, 0x6c($a0) +/* DD7CFC 8024034C E4820070 */ swc1 $f2, 0x70($a0) +/* DD7D00 80240350 E4840074 */ swc1 $f4, 0x74($a0) +/* DD7D04 80240354 00651825 */ or $v1, $v1, $a1 +/* DD7D08 80240358 AC830000 */ sw $v1, ($a0) +/* DD7D0C 8024035C 8FBF001C */ lw $ra, 0x1c($sp) +/* DD7D10 80240360 8FB20018 */ lw $s2, 0x18($sp) +/* DD7D14 80240364 8FB10014 */ lw $s1, 0x14($sp) +/* DD7D18 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* DD7D1C 8024036C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DD7D20 80240370 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DD7D24 80240374 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DD7D28 80240378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DD7D2C 8024037C 24020002 */ addiu $v0, $zero, 2 +/* DD7D30 80240380 03E00008 */ jr $ra +/* DD7D34 80240384 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240388_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240388_DD79B0.s new file mode 100644 index 0000000000..71c513ed52 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240388_DD79B0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_DD7D38 +/* DD7D38 80240388 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DD7D3C 8024038C AFB20018 */ sw $s2, 0x18($sp) +/* DD7D40 80240390 0080902D */ daddu $s2, $a0, $zero +/* DD7D44 80240394 AFBF0028 */ sw $ra, 0x28($sp) +/* DD7D48 80240398 AFB50024 */ sw $s5, 0x24($sp) +/* DD7D4C 8024039C AFB40020 */ sw $s4, 0x20($sp) +/* DD7D50 802403A0 AFB3001C */ sw $s3, 0x1c($sp) +/* DD7D54 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* DD7D58 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* DD7D5C 802403AC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DD7D60 802403B0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DD7D64 802403B4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DD7D68 802403B8 8E50000C */ lw $s0, 0xc($s2) +/* DD7D6C 802403BC 8E140000 */ lw $s4, ($s0) +/* DD7D70 802403C0 26100004 */ addiu $s0, $s0, 4 +/* DD7D74 802403C4 0C0B1EAF */ jal get_variable +/* DD7D78 802403C8 0280282D */ daddu $a1, $s4, $zero +/* DD7D7C 802403CC 0040982D */ daddu $s3, $v0, $zero +/* DD7D80 802403D0 8E150000 */ lw $s5, ($s0) +/* DD7D84 802403D4 26100004 */ addiu $s0, $s0, 4 +/* DD7D88 802403D8 8E050000 */ lw $a1, ($s0) +/* DD7D8C 802403DC 26100004 */ addiu $s0, $s0, 4 +/* DD7D90 802403E0 0C0B210B */ jal get_float_variable +/* DD7D94 802403E4 0240202D */ daddu $a0, $s2, $zero +/* DD7D98 802403E8 8E050000 */ lw $a1, ($s0) +/* DD7D9C 802403EC 26100004 */ addiu $s0, $s0, 4 +/* DD7DA0 802403F0 0240202D */ daddu $a0, $s2, $zero +/* DD7DA4 802403F4 0C0B210B */ jal get_float_variable +/* DD7DA8 802403F8 46000606 */ mov.s $f24, $f0 +/* DD7DAC 802403FC 8E050000 */ lw $a1, ($s0) +/* DD7DB0 80240400 26100004 */ addiu $s0, $s0, 4 +/* DD7DB4 80240404 0240202D */ daddu $a0, $s2, $zero +/* DD7DB8 80240408 0C0B1EAF */ jal get_variable +/* DD7DBC 8024040C 46000506 */ mov.s $f20, $f0 +/* DD7DC0 80240410 8E050000 */ lw $a1, ($s0) +/* DD7DC4 80240414 26100004 */ addiu $s0, $s0, 4 +/* DD7DC8 80240418 0240202D */ daddu $a0, $s2, $zero +/* DD7DCC 8024041C 0C0B1EAF */ jal get_variable +/* DD7DD0 80240420 0040882D */ daddu $s1, $v0, $zero +/* DD7DD4 80240424 0240202D */ daddu $a0, $s2, $zero +/* DD7DD8 80240428 8E050000 */ lw $a1, ($s0) +/* DD7DDC 8024042C 0C0B210B */ jal get_float_variable +/* DD7DE0 80240430 0040802D */ daddu $s0, $v0, $zero +/* DD7DE4 80240434 3C014334 */ lui $at, 0x4334 +/* DD7DE8 80240438 44811000 */ mtc1 $at, $f2 +/* DD7DEC 8024043C 3C014049 */ lui $at, 0x4049 +/* DD7DF0 80240440 34210FD8 */ ori $at, $at, 0xfd8 +/* DD7DF4 80240444 44812000 */ mtc1 $at, $f4 +/* DD7DF8 80240448 46020003 */ div.s $f0, $f0, $f2 +/* DD7DFC 8024044C 46040582 */ mul.s $f22, $f0, $f4 +/* DD7E00 80240450 00000000 */ nop +/* DD7E04 80240454 4618A501 */ sub.s $f20, $f20, $f24 +/* DD7E08 80240458 3C013F00 */ lui $at, 0x3f00 +/* DD7E0C 8024045C 44810000 */ mtc1 $at, $f0 +/* DD7E10 80240460 00000000 */ nop +/* DD7E14 80240464 4600A502 */ mul.s $f20, $f20, $f0 +/* DD7E18 80240468 00000000 */ nop +/* DD7E1C 8024046C 12000007 */ beqz $s0, .L8024048C +/* DD7E20 80240470 0233102A */ slt $v0, $s1, $s3 +/* DD7E24 80240474 10400005 */ beqz $v0, .L8024048C +/* DD7E28 80240478 0240202D */ daddu $a0, $s2, $zero +/* DD7E2C 8024047C 0220982D */ daddu $s3, $s1, $zero +/* DD7E30 80240480 0280282D */ daddu $a1, $s4, $zero +/* DD7E34 80240484 0C0B2026 */ jal set_variable +/* DD7E38 80240488 0220302D */ daddu $a2, $s1, $zero +.L8024048C: +/* DD7E3C 8024048C 3C014049 */ lui $at, 0x4049 +/* DD7E40 80240490 34210FD8 */ ori $at, $at, 0xfd8 +/* DD7E44 80240494 44810000 */ mtc1 $at, $f0 +/* DD7E48 80240498 44936000 */ mtc1 $s3, $f12 +/* DD7E4C 8024049C 00000000 */ nop +/* DD7E50 802404A0 46806320 */ cvt.s.w $f12, $f12 +/* DD7E54 802404A4 46006302 */ mul.s $f12, $f12, $f0 +/* DD7E58 802404A8 00000000 */ nop +/* DD7E5C 802404AC 44910000 */ mtc1 $s1, $f0 +/* DD7E60 802404B0 00000000 */ nop +/* DD7E64 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* DD7E68 802404B8 46006303 */ div.s $f12, $f12, $f0 +/* DD7E6C 802404BC 0C00A874 */ jal cos_rad +/* DD7E70 802404C0 46166300 */ add.s $f12, $f12, $f22 +/* DD7E74 802404C4 4600A002 */ mul.s $f0, $f20, $f0 +/* DD7E78 802404C8 00000000 */ nop +/* DD7E7C 802404CC 4614C080 */ add.s $f2, $f24, $f20 +/* DD7E80 802404D0 46001081 */ sub.s $f2, $f2, $f0 +/* DD7E84 802404D4 0240202D */ daddu $a0, $s2, $zero +/* DD7E88 802404D8 44061000 */ mfc1 $a2, $f2 +/* DD7E8C 802404DC 0C0B2190 */ jal set_float_variable +/* DD7E90 802404E0 02A0282D */ daddu $a1, $s5, $zero +/* DD7E94 802404E4 8FBF0028 */ lw $ra, 0x28($sp) +/* DD7E98 802404E8 8FB50024 */ lw $s5, 0x24($sp) +/* DD7E9C 802404EC 8FB40020 */ lw $s4, 0x20($sp) +/* DD7EA0 802404F0 8FB3001C */ lw $s3, 0x1c($sp) +/* DD7EA4 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* DD7EA8 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* DD7EAC 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* DD7EB0 80240500 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DD7EB4 80240504 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DD7EB8 80240508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DD7EBC 8024050C 24020002 */ addiu $v0, $zero, 2 +/* DD7EC0 80240510 03E00008 */ jr $ra +/* DD7EC4 80240514 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240518_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240518_DD79B0.s new file mode 100644 index 0000000000..d3eb9dac2a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240518_DD79B0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_DD7EC8 +/* DD7EC8 80240518 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DD7ECC 8024051C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DD7ED0 80240520 8C620000 */ lw $v0, ($v1) +/* DD7ED4 80240524 AC800084 */ sw $zero, 0x84($a0) +/* DD7ED8 80240528 8C420010 */ lw $v0, 0x10($v0) +/* DD7EDC 8024052C 30428000 */ andi $v0, $v0, 0x8000 +/* DD7EE0 80240530 10400002 */ beqz $v0, .L8024053C +/* DD7EE4 80240534 24020001 */ addiu $v0, $zero, 1 +/* DD7EE8 80240538 AC820084 */ sw $v0, 0x84($a0) +.L8024053C: +/* DD7EEC 8024053C 8C620000 */ lw $v0, ($v1) +/* DD7EF0 80240540 8C420010 */ lw $v0, 0x10($v0) +/* DD7EF4 80240544 30424000 */ andi $v0, $v0, 0x4000 +/* DD7EF8 80240548 10400002 */ beqz $v0, .L80240554 +/* DD7EFC 8024054C 24020001 */ addiu $v0, $zero, 1 +/* DD7F00 80240550 AC820084 */ sw $v0, 0x84($a0) +.L80240554: +/* DD7F04 80240554 03E00008 */ jr $ra +/* DD7F08 80240558 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_8024055C_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_8024055C_DD79B0.s new file mode 100644 index 0000000000..281a1d0c30 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_8024055C_DD79B0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C_DD7F0C +/* DD7F0C 8024055C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DD7F10 80240560 AFB00010 */ sw $s0, 0x10($sp) +/* DD7F14 80240564 0080802D */ daddu $s0, $a0, $zero +/* DD7F18 80240568 AFBF0014 */ sw $ra, 0x14($sp) +/* DD7F1C 8024056C 8E0300A8 */ lw $v1, 0xa8($s0) +/* DD7F20 80240570 8E020088 */ lw $v0, 0x88($s0) +/* DD7F24 80240574 00621821 */ addu $v1, $v1, $v0 +/* DD7F28 80240578 04610004 */ bgez $v1, .L8024058C +/* DD7F2C 8024057C AE0300A8 */ sw $v1, 0xa8($s0) +/* DD7F30 80240580 3C020002 */ lui $v0, 2 +/* DD7F34 80240584 08090167 */ j .L8024059C +/* DD7F38 80240588 00621021 */ addu $v0, $v1, $v0 +.L8024058C: +/* DD7F3C 8024058C 3C040002 */ lui $a0, 2 +/* DD7F40 80240590 0083102A */ slt $v0, $a0, $v1 +/* DD7F44 80240594 10400002 */ beqz $v0, .L802405A0 +/* DD7F48 80240598 00641023 */ subu $v0, $v1, $a0 +.L8024059C: +/* DD7F4C 8024059C AE0200A8 */ sw $v0, 0xa8($s0) +.L802405A0: +/* DD7F50 802405A0 8E0300AC */ lw $v1, 0xac($s0) +/* DD7F54 802405A4 8E02008C */ lw $v0, 0x8c($s0) +/* DD7F58 802405A8 00621821 */ addu $v1, $v1, $v0 +/* DD7F5C 802405AC 04610004 */ bgez $v1, .L802405C0 +/* DD7F60 802405B0 AE0300AC */ sw $v1, 0xac($s0) +/* DD7F64 802405B4 3C020002 */ lui $v0, 2 +/* DD7F68 802405B8 08090174 */ j .L802405D0 +/* DD7F6C 802405BC 00621021 */ addu $v0, $v1, $v0 +.L802405C0: +/* DD7F70 802405C0 3C040002 */ lui $a0, 2 +/* DD7F74 802405C4 0083102A */ slt $v0, $a0, $v1 +/* DD7F78 802405C8 10400002 */ beqz $v0, .L802405D4 +/* DD7F7C 802405CC 00641023 */ subu $v0, $v1, $a0 +.L802405D0: +/* DD7F80 802405D0 AE0200AC */ sw $v0, 0xac($s0) +.L802405D4: +/* DD7F84 802405D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* DD7F88 802405D8 8E020090 */ lw $v0, 0x90($s0) +/* DD7F8C 802405DC 00621821 */ addu $v1, $v1, $v0 +/* DD7F90 802405E0 04610004 */ bgez $v1, .L802405F4 +/* DD7F94 802405E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* DD7F98 802405E8 3C020002 */ lui $v0, 2 +/* DD7F9C 802405EC 08090181 */ j .L80240604 +/* DD7FA0 802405F0 00621021 */ addu $v0, $v1, $v0 +.L802405F4: +/* DD7FA4 802405F4 3C040002 */ lui $a0, 2 +/* DD7FA8 802405F8 0083102A */ slt $v0, $a0, $v1 +/* DD7FAC 802405FC 10400002 */ beqz $v0, .L80240608 +/* DD7FB0 80240600 00641023 */ subu $v0, $v1, $a0 +.L80240604: +/* DD7FB4 80240604 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240608: +/* DD7FB8 80240608 8E0300B4 */ lw $v1, 0xb4($s0) +/* DD7FBC 8024060C 8E020094 */ lw $v0, 0x94($s0) +/* DD7FC0 80240610 00621821 */ addu $v1, $v1, $v0 +/* DD7FC4 80240614 04610004 */ bgez $v1, .L80240628 +/* DD7FC8 80240618 AE0300B4 */ sw $v1, 0xb4($s0) +/* DD7FCC 8024061C 3C020002 */ lui $v0, 2 +/* DD7FD0 80240620 0809018E */ j .L80240638 +/* DD7FD4 80240624 00621021 */ addu $v0, $v1, $v0 +.L80240628: +/* DD7FD8 80240628 3C040002 */ lui $a0, 2 +/* DD7FDC 8024062C 0083102A */ slt $v0, $a0, $v1 +/* DD7FE0 80240630 10400002 */ beqz $v0, .L8024063C +/* DD7FE4 80240634 00641023 */ subu $v0, $v1, $a0 +.L80240638: +/* DD7FE8 80240638 AE0200B4 */ sw $v0, 0xb4($s0) +.L8024063C: +/* DD7FEC 8024063C 8E040084 */ lw $a0, 0x84($s0) +/* DD7FF0 80240640 0C046F07 */ jal set_main_pan_u +/* DD7FF4 80240644 8E0500A8 */ lw $a1, 0xa8($s0) +/* DD7FF8 80240648 8E040084 */ lw $a0, 0x84($s0) +/* DD7FFC 8024064C 0C046F0D */ jal set_main_pan_v +/* DD8000 80240650 8E0500AC */ lw $a1, 0xac($s0) +/* DD8004 80240654 8E040084 */ lw $a0, 0x84($s0) +/* DD8008 80240658 0C046F13 */ jal set_aux_pan_u +/* DD800C 8024065C 8E0500B0 */ lw $a1, 0xb0($s0) +/* DD8010 80240660 8E040084 */ lw $a0, 0x84($s0) +/* DD8014 80240664 0C046F19 */ jal set_aux_pan_v +/* DD8018 80240668 8E0500B4 */ lw $a1, 0xb4($s0) +/* DD801C 8024066C 8FBF0014 */ lw $ra, 0x14($sp) +/* DD8020 80240670 8FB00010 */ lw $s0, 0x10($sp) +/* DD8024 80240674 0000102D */ daddu $v0, $zero, $zero +/* DD8028 80240678 03E00008 */ jr $ra +/* DD802C 8024067C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_10/func_80240680_DD79B0.s b/asm/nonmatchings/world/area_omo/omo_10/func_80240680_DD79B0.s new file mode 100644 index 0000000000..37c4f2a1ae --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_10/func_80240680_DD79B0.s @@ -0,0 +1,145 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_DD8030 +/* DD8030 80240680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DD8034 80240684 AFB00010 */ sw $s0, 0x10($sp) +/* DD8038 80240688 0080802D */ daddu $s0, $a0, $zero +/* DD803C 8024068C 10A00005 */ beqz $a1, .L802406A4 +/* DD8040 80240690 AFBF0014 */ sw $ra, 0x14($sp) +/* DD8044 80240694 AE000070 */ sw $zero, 0x70($s0) +/* DD8048 80240698 AE000074 */ sw $zero, 0x74($s0) +/* DD804C 8024069C AE000078 */ sw $zero, 0x78($s0) +/* DD8050 802406A0 AE00007C */ sw $zero, 0x7c($s0) +.L802406A4: +/* DD8054 802406A4 8E020070 */ lw $v0, 0x70($s0) +/* DD8058 802406A8 1440000E */ bnez $v0, .L802406E4 +/* DD805C 802406AC 00000000 */ nop +/* DD8060 802406B0 8E0300A8 */ lw $v1, 0xa8($s0) +/* DD8064 802406B4 8E020088 */ lw $v0, 0x88($s0) +/* DD8068 802406B8 00621821 */ addu $v1, $v1, $v0 +/* DD806C 802406BC 04610004 */ bgez $v1, .L802406D0 +/* DD8070 802406C0 AE0300A8 */ sw $v1, 0xa8($s0) +/* DD8074 802406C4 3C020002 */ lui $v0, 2 +/* DD8078 802406C8 080901B8 */ j .L802406E0 +/* DD807C 802406CC 00621021 */ addu $v0, $v1, $v0 +.L802406D0: +/* DD8080 802406D0 3C040002 */ lui $a0, 2 +/* DD8084 802406D4 0083102A */ slt $v0, $a0, $v1 +/* DD8088 802406D8 10400002 */ beqz $v0, .L802406E4 +/* DD808C 802406DC 00641023 */ subu $v0, $v1, $a0 +.L802406E0: +/* DD8090 802406E0 AE0200A8 */ sw $v0, 0xa8($s0) +.L802406E4: +/* DD8094 802406E4 8E020074 */ lw $v0, 0x74($s0) +/* DD8098 802406E8 1440000E */ bnez $v0, .L80240724 +/* DD809C 802406EC 00000000 */ nop +/* DD80A0 802406F0 8E0300AC */ lw $v1, 0xac($s0) +/* DD80A4 802406F4 8E02008C */ lw $v0, 0x8c($s0) +/* DD80A8 802406F8 00621821 */ addu $v1, $v1, $v0 +/* DD80AC 802406FC 04610004 */ bgez $v1, .L80240710 +/* DD80B0 80240700 AE0300AC */ sw $v1, 0xac($s0) +/* DD80B4 80240704 3C020002 */ lui $v0, 2 +/* DD80B8 80240708 080901C8 */ j .L80240720 +/* DD80BC 8024070C 00621021 */ addu $v0, $v1, $v0 +.L80240710: +/* DD80C0 80240710 3C040002 */ lui $a0, 2 +/* DD80C4 80240714 0083102A */ slt $v0, $a0, $v1 +/* DD80C8 80240718 10400002 */ beqz $v0, .L80240724 +/* DD80CC 8024071C 00641023 */ subu $v0, $v1, $a0 +.L80240720: +/* DD80D0 80240720 AE0200AC */ sw $v0, 0xac($s0) +.L80240724: +/* DD80D4 80240724 8E020078 */ lw $v0, 0x78($s0) +/* DD80D8 80240728 1440000E */ bnez $v0, .L80240764 +/* DD80DC 8024072C 00000000 */ nop +/* DD80E0 80240730 8E0300B0 */ lw $v1, 0xb0($s0) +/* DD80E4 80240734 8E020090 */ lw $v0, 0x90($s0) +/* DD80E8 80240738 00621821 */ addu $v1, $v1, $v0 +/* DD80EC 8024073C 04610004 */ bgez $v1, .L80240750 +/* DD80F0 80240740 AE0300B0 */ sw $v1, 0xb0($s0) +/* DD80F4 80240744 3C020002 */ lui $v0, 2 +/* DD80F8 80240748 080901D8 */ j .L80240760 +/* DD80FC 8024074C 00621021 */ addu $v0, $v1, $v0 +.L80240750: +/* DD8100 80240750 3C040002 */ lui $a0, 2 +/* DD8104 80240754 0083102A */ slt $v0, $a0, $v1 +/* DD8108 80240758 10400002 */ beqz $v0, .L80240764 +/* DD810C 8024075C 00641023 */ subu $v0, $v1, $a0 +.L80240760: +/* DD8110 80240760 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240764: +/* DD8114 80240764 8E02007C */ lw $v0, 0x7c($s0) +/* DD8118 80240768 1440000E */ bnez $v0, .L802407A4 +/* DD811C 8024076C 00000000 */ nop +/* DD8120 80240770 8E0300B4 */ lw $v1, 0xb4($s0) +/* DD8124 80240774 8E020094 */ lw $v0, 0x94($s0) +/* DD8128 80240778 00621821 */ addu $v1, $v1, $v0 +/* DD812C 8024077C 04610004 */ bgez $v1, .L80240790 +/* DD8130 80240780 AE0300B4 */ sw $v1, 0xb4($s0) +/* DD8134 80240784 3C020002 */ lui $v0, 2 +/* DD8138 80240788 080901E8 */ j .L802407A0 +/* DD813C 8024078C 00621021 */ addu $v0, $v1, $v0 +.L80240790: +/* DD8140 80240790 3C040002 */ lui $a0, 2 +/* DD8144 80240794 0083102A */ slt $v0, $a0, $v1 +/* DD8148 80240798 10400002 */ beqz $v0, .L802407A4 +/* DD814C 8024079C 00641023 */ subu $v0, $v1, $a0 +.L802407A0: +/* DD8150 802407A0 AE0200B4 */ sw $v0, 0xb4($s0) +.L802407A4: +/* DD8154 802407A4 8E040084 */ lw $a0, 0x84($s0) +/* DD8158 802407A8 0C046F07 */ jal set_main_pan_u +/* DD815C 802407AC 8E0500A8 */ lw $a1, 0xa8($s0) +/* DD8160 802407B0 8E040084 */ lw $a0, 0x84($s0) +/* DD8164 802407B4 0C046F0D */ jal set_main_pan_v +/* DD8168 802407B8 8E0500AC */ lw $a1, 0xac($s0) +/* DD816C 802407BC 8E040084 */ lw $a0, 0x84($s0) +/* DD8170 802407C0 0C046F13 */ jal set_aux_pan_u +/* DD8174 802407C4 8E0500B0 */ lw $a1, 0xb0($s0) +/* DD8178 802407C8 8E040084 */ lw $a0, 0x84($s0) +/* DD817C 802407CC 0C046F19 */ jal set_aux_pan_v +/* DD8180 802407D0 8E0500B4 */ lw $a1, 0xb4($s0) +/* DD8184 802407D4 8E020070 */ lw $v0, 0x70($s0) +/* DD8188 802407D8 8E030078 */ lw $v1, 0x78($s0) +/* DD818C 802407DC 8E040098 */ lw $a0, 0x98($s0) +/* DD8190 802407E0 24420001 */ addiu $v0, $v0, 1 +/* DD8194 802407E4 AE020070 */ sw $v0, 0x70($s0) +/* DD8198 802407E8 8E020074 */ lw $v0, 0x74($s0) +/* DD819C 802407EC 24630001 */ addiu $v1, $v1, 1 +/* DD81A0 802407F0 AE030078 */ sw $v1, 0x78($s0) +/* DD81A4 802407F4 8E030070 */ lw $v1, 0x70($s0) +/* DD81A8 802407F8 24420001 */ addiu $v0, $v0, 1 +/* DD81AC 802407FC AE020074 */ sw $v0, 0x74($s0) +/* DD81B0 80240800 8E02007C */ lw $v0, 0x7c($s0) +/* DD81B4 80240804 0064182A */ slt $v1, $v1, $a0 +/* DD81B8 80240808 24420001 */ addiu $v0, $v0, 1 +/* DD81BC 8024080C 14600002 */ bnez $v1, .L80240818 +/* DD81C0 80240810 AE02007C */ sw $v0, 0x7c($s0) +/* DD81C4 80240814 AE000070 */ sw $zero, 0x70($s0) +.L80240818: +/* DD81C8 80240818 8E020074 */ lw $v0, 0x74($s0) +/* DD81CC 8024081C 8E03009C */ lw $v1, 0x9c($s0) +/* DD81D0 80240820 0043102A */ slt $v0, $v0, $v1 +/* DD81D4 80240824 50400001 */ beql $v0, $zero, .L8024082C +/* DD81D8 80240828 AE000074 */ sw $zero, 0x74($s0) +.L8024082C: +/* DD81DC 8024082C 8E020078 */ lw $v0, 0x78($s0) +/* DD81E0 80240830 8E0300A0 */ lw $v1, 0xa0($s0) +/* DD81E4 80240834 0043102A */ slt $v0, $v0, $v1 +/* DD81E8 80240838 50400001 */ beql $v0, $zero, .L80240840 +/* DD81EC 8024083C AE000078 */ sw $zero, 0x78($s0) +.L80240840: +/* DD81F0 80240840 8E02007C */ lw $v0, 0x7c($s0) +/* DD81F4 80240844 8E0300A4 */ lw $v1, 0xa4($s0) +/* DD81F8 80240848 0043102A */ slt $v0, $v0, $v1 +/* DD81FC 8024084C 50400001 */ beql $v0, $zero, .L80240854 +/* DD8200 80240850 AE00007C */ sw $zero, 0x7c($s0) +.L80240854: +/* DD8204 80240854 8FBF0014 */ lw $ra, 0x14($sp) +/* DD8208 80240858 8FB00010 */ lw $s0, 0x10($sp) +/* DD820C 8024085C 0000102D */ daddu $v0, $zero, $zero +/* DD8210 80240860 03E00008 */ jr $ra +/* DD8214 80240864 27BD0018 */ addiu $sp, $sp, 0x18 +/* DD8218 80240868 00000000 */ nop +/* DD821C 8024086C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240000_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240000_DDC830.s new file mode 100644 index 0000000000..7bd46fd5aa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240000_DDC830.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DDC830 +/* DDC830 80240000 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DDC834 80240004 AFB40040 */ sw $s4, 0x40($sp) +/* DDC838 80240008 AFBF0044 */ sw $ra, 0x44($sp) +/* DDC83C 8024000C AFB3003C */ sw $s3, 0x3c($sp) +/* DDC840 80240010 AFB20038 */ sw $s2, 0x38($sp) +/* DDC844 80240014 AFB10034 */ sw $s1, 0x34($sp) +/* DDC848 80240018 AFB00030 */ sw $s0, 0x30($sp) +/* DDC84C 8024001C F7B40048 */ sdc1 $f20, 0x48($sp) +/* DDC850 80240020 10A0001B */ beqz $a1, .L80240090 +/* DDC854 80240024 0080A02D */ daddu $s4, $a0, $zero +/* DDC858 80240028 0C00AB39 */ jal heap_malloc +/* DDC85C 8024002C 24040020 */ addiu $a0, $zero, 0x20 +/* DDC860 80240030 0000902D */ daddu $s2, $zero, $zero +/* DDC864 80240034 0040802D */ daddu $s0, $v0, $zero +/* DDC868 80240038 3C0142C8 */ lui $at, 0x42c8 +/* DDC86C 8024003C 4481A000 */ mtc1 $at, $f20 +/* DDC870 80240040 3C118024 */ lui $s1, 0x8024 +/* DDC874 80240044 26311740 */ addiu $s1, $s1, 0x1740 +/* DDC878 80240048 AE900070 */ sw $s0, 0x70($s4) +.L8024004C: +/* DDC87C 8024004C 8E240000 */ lw $a0, ($s1) +/* DDC880 80240050 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDC884 80240054 26310004 */ addiu $s1, $s1, 4 +/* DDC888 80240058 0C046B4C */ jal get_model_from_list_index +/* DDC88C 8024005C 0040202D */ daddu $a0, $v0, $zero +/* DDC890 80240060 C440009C */ lwc1 $f0, 0x9c($v0) +/* DDC894 80240064 26520001 */ addiu $s2, $s2, 1 +/* DDC898 80240068 46140001 */ sub.s $f0, $f0, $f20 +/* DDC89C 8024006C 8C450098 */ lw $a1, 0x98($v0) +/* DDC8A0 80240070 8C4700A0 */ lw $a3, 0xa0($v0) +/* DDC8A4 80240074 44060000 */ mfc1 $a2, $f0 +/* DDC8A8 80240078 0C044898 */ jal create_shadow_type +/* DDC8AC 8024007C 0000202D */ daddu $a0, $zero, $zero +/* DDC8B0 80240080 AE020000 */ sw $v0, ($s0) +/* DDC8B4 80240084 2E420008 */ sltiu $v0, $s2, 8 +/* DDC8B8 80240088 1440FFF0 */ bnez $v0, .L8024004C +/* DDC8BC 8024008C 26100004 */ addiu $s0, $s0, 4 +.L80240090: +/* DDC8C0 80240090 0000902D */ daddu $s2, $zero, $zero +/* DDC8C4 80240094 3C138024 */ lui $s3, 0x8024 +/* DDC8C8 80240098 26731740 */ addiu $s3, $s3, 0x1740 +/* DDC8CC 8024009C 3C014040 */ lui $at, 0x4040 +/* DDC8D0 802400A0 4481A000 */ mtc1 $at, $f20 +/* DDC8D4 802400A4 8E910070 */ lw $s1, 0x70($s4) +.L802400A8: +/* DDC8D8 802400A8 8E240000 */ lw $a0, ($s1) +/* DDC8DC 802400AC 26310004 */ addiu $s1, $s1, 4 +/* DDC8E0 802400B0 0C044181 */ jal get_shadow_by_index +/* DDC8E4 802400B4 26520001 */ addiu $s2, $s2, 1 +/* DDC8E8 802400B8 8E640000 */ lw $a0, ($s3) +/* DDC8EC 802400BC 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDC8F0 802400C0 0040802D */ daddu $s0, $v0, $zero +/* DDC8F4 802400C4 0C046B4C */ jal get_model_from_list_index +/* DDC8F8 802400C8 0040202D */ daddu $a0, $v0, $zero +/* DDC8FC 802400CC 27A40018 */ addiu $a0, $sp, 0x18 +/* DDC900 802400D0 27A5001C */ addiu $a1, $sp, 0x1c +/* DDC904 802400D4 27A60020 */ addiu $a2, $sp, 0x20 +/* DDC908 802400D8 27A70024 */ addiu $a3, $sp, 0x24 +/* DDC90C 802400DC C4400098 */ lwc1 $f0, 0x98($v0) +/* DDC910 802400E0 C442009C */ lwc1 $f2, 0x9c($v0) +/* DDC914 802400E4 C44400A0 */ lwc1 $f4, 0xa0($v0) +/* DDC918 802400E8 3C01447A */ lui $at, 0x447a +/* DDC91C 802400EC 44813000 */ mtc1 $at, $f6 +/* DDC920 802400F0 27A20028 */ addiu $v0, $sp, 0x28 +/* DDC924 802400F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DDC928 802400F8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DDC92C 802400FC E7A40020 */ swc1 $f4, 0x20($sp) +/* DDC930 80240100 E7A6002C */ swc1 $f6, 0x2c($sp) +/* DDC934 80240104 AFA20010 */ sw $v0, 0x10($sp) +/* DDC938 80240108 27A2002C */ addiu $v0, $sp, 0x2c +/* DDC93C 8024010C 0C04497A */ jal func_801125E8 +/* DDC940 80240110 AFA20014 */ sw $v0, 0x14($sp) +/* DDC944 80240114 8FA5002C */ lw $a1, 0x2c($sp) +/* DDC948 80240118 0C044A17 */ jal set_standard_shadow_scale +/* DDC94C 8024011C 0200202D */ daddu $a0, $s0, $zero +/* DDC950 80240120 26730004 */ addiu $s3, $s3, 4 +/* DDC954 80240124 C7A00018 */ lwc1 $f0, 0x18($sp) +/* DDC958 80240128 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* DDC95C 8024012C C604001C */ lwc1 $f4, 0x1c($s0) +/* DDC960 80240130 2E420008 */ sltiu $v0, $s2, 8 +/* DDC964 80240134 AE00002C */ sw $zero, 0x2c($s0) +/* DDC968 80240138 46142102 */ mul.s $f4, $f4, $f20 +/* DDC96C 8024013C 00000000 */ nop +/* DDC970 80240140 E6000010 */ swc1 $f0, 0x10($s0) +/* DDC974 80240144 E6020014 */ swc1 $f2, 0x14($s0) +/* DDC978 80240148 C7A60020 */ lwc1 $f6, 0x20($sp) +/* DDC97C 8024014C C7A80024 */ lwc1 $f8, 0x24($sp) +/* DDC980 80240150 C6000024 */ lwc1 $f0, 0x24($s0) +/* DDC984 80240154 C7A20028 */ lwc1 $f2, 0x28($sp) +/* DDC988 80240158 46140002 */ mul.s $f0, $f0, $f20 +/* DDC98C 8024015C 00000000 */ nop +/* DDC990 80240160 E6060018 */ swc1 $f6, 0x18($s0) +/* DDC994 80240164 E6080028 */ swc1 $f8, 0x28($s0) +/* DDC998 80240168 E6020030 */ swc1 $f2, 0x30($s0) +/* DDC99C 8024016C E604001C */ swc1 $f4, 0x1c($s0) +/* DDC9A0 80240170 1440FFCD */ bnez $v0, .L802400A8 +/* DDC9A4 80240174 E6000024 */ swc1 $f0, 0x24($s0) +/* DDC9A8 80240178 8FBF0044 */ lw $ra, 0x44($sp) +/* DDC9AC 8024017C 8FB40040 */ lw $s4, 0x40($sp) +/* DDC9B0 80240180 8FB3003C */ lw $s3, 0x3c($sp) +/* DDC9B4 80240184 8FB20038 */ lw $s2, 0x38($sp) +/* DDC9B8 80240188 8FB10034 */ lw $s1, 0x34($sp) +/* DDC9BC 8024018C 8FB00030 */ lw $s0, 0x30($sp) +/* DDC9C0 80240190 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DDC9C4 80240194 0000102D */ daddu $v0, $zero, $zero +/* DDC9C8 80240198 03E00008 */ jr $ra +/* DDC9CC 8024019C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802401A0_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_802401A0_DDC830.s new file mode 100644 index 0000000000..b584074f61 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802401A0_DDC830.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401A0_DDC9D0 +/* DDC9D0 802401A0 27BDFE90 */ addiu $sp, $sp, -0x170 +/* DDC9D4 802401A4 AFB00138 */ sw $s0, 0x138($sp) +/* DDC9D8 802401A8 00A0802D */ daddu $s0, $a1, $zero +/* DDC9DC 802401AC AFA40170 */ sw $a0, 0x170($sp) +/* DDC9E0 802401B0 AFBF015C */ sw $ra, 0x15c($sp) +/* DDC9E4 802401B4 AFBE0158 */ sw $fp, 0x158($sp) +/* DDC9E8 802401B8 AFB70154 */ sw $s7, 0x154($sp) +/* DDC9EC 802401BC AFB60150 */ sw $s6, 0x150($sp) +/* DDC9F0 802401C0 AFB5014C */ sw $s5, 0x14c($sp) +/* DDC9F4 802401C4 AFB40148 */ sw $s4, 0x148($sp) +/* DDC9F8 802401C8 AFB30144 */ sw $s3, 0x144($sp) +/* DDC9FC 802401CC AFB20140 */ sw $s2, 0x140($sp) +/* DDCA00 802401D0 AFB1013C */ sw $s1, 0x13c($sp) +/* DDCA04 802401D4 F7B60168 */ sdc1 $f22, 0x168($sp) +/* DDCA08 802401D8 F7B40160 */ sdc1 $f20, 0x160($sp) +/* DDCA0C 802401DC 0C00EABB */ jal get_npc_unsafe +/* DDCA10 802401E0 2404FFFC */ addiu $a0, $zero, -4 +/* DDCA14 802401E4 2404004A */ addiu $a0, $zero, 0x4a +/* DDCA18 802401E8 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDCA1C 802401EC 0040B02D */ daddu $s6, $v0, $zero +/* DDCA20 802401F0 0C046B4C */ jal get_model_from_list_index +/* DDCA24 802401F4 0040202D */ daddu $a0, $v0, $zero +/* DDCA28 802401F8 2404003F */ addiu $a0, $zero, 0x3f +/* DDCA2C 802401FC 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDCA30 80240200 0040B82D */ daddu $s7, $v0, $zero +/* DDCA34 80240204 0C046B4C */ jal get_model_from_list_index +/* DDCA38 80240208 0040202D */ daddu $a0, $v0, $zero +/* DDCA3C 8024020C 3C1E8011 */ lui $fp, %hi(gPlayerStatus) +/* DDCA40 80240210 27DEEFC8 */ addiu $fp, $fp, %lo(gPlayerStatus) +/* DDCA44 80240214 1200005F */ beqz $s0, .L80240394 +/* DDCA48 80240218 AFA2012C */ sw $v0, 0x12c($sp) +/* DDCA4C 8024021C 3C048000 */ lui $a0, 0x8000 +/* DDCA50 80240220 34840016 */ ori $a0, $a0, 0x16 +/* DDCA54 80240224 0000282D */ daddu $a1, $zero, $zero +/* DDCA58 80240228 00A0982D */ daddu $s3, $a1, $zero +/* DDCA5C 8024022C 24150004 */ addiu $s5, $zero, 4 +/* DDCA60 80240230 3C06439D */ lui $a2, 0x439d +/* DDCA64 80240234 34C68000 */ ori $a2, $a2, 0x8000 +/* DDCA68 80240238 3C0742FA */ lui $a3, 0x42fa +/* DDCA6C 8024023C 3C01C2C8 */ lui $at, 0xc2c8 +/* DDCA70 80240240 44810000 */ mtc1 $at, $f0 +/* DDCA74 80240244 3C148024 */ lui $s4, 0x8024 +/* DDCA78 80240248 26941760 */ addiu $s4, $s4, 0x1760 +/* DDCA7C 8024024C 0C052757 */ jal play_sound_at_position +/* DDCA80 80240250 E7A00010 */ swc1 $f0, 0x10($sp) +/* DDCA84 80240254 0C00AB39 */ jal heap_malloc +/* DDCA88 80240258 24040210 */ addiu $a0, $zero, 0x210 +/* DDCA8C 8024025C 0040902D */ daddu $s2, $v0, $zero +/* DDCA90 80240260 8FA90170 */ lw $t1, 0x170($sp) +/* DDCA94 80240264 26510008 */ addiu $s1, $s2, 8 +/* DDCA98 80240268 AD320070 */ sw $s2, 0x70($t1) +/* DDCA9C 8024026C AD200074 */ sw $zero, 0x74($t1) +.L80240270: +/* DDCAA0 80240270 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDCAA4 80240274 8E840000 */ lw $a0, ($s4) +/* DDCAA8 80240278 0C046B4C */ jal get_model_from_list_index +/* DDCAAC 8024027C 0040202D */ daddu $a0, $v0, $zero +/* DDCAB0 80240280 0040802D */ daddu $s0, $v0, $zero +/* DDCAB4 80240284 C6060098 */ lwc1 $f6, 0x98($s0) +/* DDCAB8 80240288 C6E00098 */ lwc1 $f0, 0x98($s7) +/* DDCABC 8024028C 46003181 */ sub.s $f6, $f6, $f0 +/* DDCAC0 80240290 E6460000 */ swc1 $f6, ($s2) +/* DDCAC4 80240294 C604009C */ lwc1 $f4, 0x9c($s0) +/* DDCAC8 80240298 C6E0009C */ lwc1 $f0, 0x9c($s7) +/* DDCACC 8024029C 46002101 */ sub.s $f4, $f4, $f0 +/* DDCAD0 802402A0 E624FFFC */ swc1 $f4, -4($s1) +/* DDCAD4 802402A4 C60000A0 */ lwc1 $f0, 0xa0($s0) +/* DDCAD8 802402A8 C6E200A0 */ lwc1 $f2, 0xa0($s7) +/* DDCADC 802402AC 0000302D */ daddu $a2, $zero, $zero +/* DDCAE0 802402B0 46020001 */ sub.s $f0, $f0, $f2 +/* DDCAE4 802402B4 E7A60120 */ swc1 $f6, 0x120($sp) +/* DDCAE8 802402B8 E7A40124 */ swc1 $f4, 0x124($sp) +/* DDCAEC 802402BC E6200000 */ swc1 $f0, ($s1) +/* DDCAF0 802402C0 E7A00128 */ swc1 $f0, 0x128($sp) +/* DDCAF4 802402C4 0000282D */ daddu $a1, $zero, $zero +.L802402C8: +/* DDCAF8 802402C8 00062100 */ sll $a0, $a2, 4 +.L802402CC: +/* DDCAFC 802402CC 02441821 */ addu $v1, $s2, $a0 +/* DDCB00 802402D0 02041021 */ addu $v0, $s0, $a0 +/* DDCB04 802402D4 24840004 */ addiu $a0, $a0, 4 +/* DDCB08 802402D8 24A50001 */ addiu $a1, $a1, 1 +/* DDCB0C 802402DC C4400058 */ lwc1 $f0, 0x58($v0) +/* DDCB10 802402E0 28A20004 */ slti $v0, $a1, 4 +/* DDCB14 802402E4 1440FFF9 */ bnez $v0, .L802402CC +/* DDCB18 802402E8 E4600018 */ swc1 $f0, 0x18($v1) +/* DDCB1C 802402EC 24C60001 */ addiu $a2, $a2, 1 +/* DDCB20 802402F0 28C20004 */ slti $v0, $a2, 4 +/* DDCB24 802402F4 1440FFF4 */ bnez $v0, .L802402C8 +/* DDCB28 802402F8 0000282D */ daddu $a1, $zero, $zero +/* DDCB2C 802402FC 26310058 */ addiu $s1, $s1, 0x58 +/* DDCB30 80240300 3C098024 */ lui $t1, 0x8024 +/* DDCB34 80240304 25291760 */ addiu $t1, $t1, 0x1760 +/* DDCB38 80240308 02A91021 */ addu $v0, $s5, $t1 +/* DDCB3C 8024030C 8C440000 */ lw $a0, ($v0) +/* DDCB40 80240310 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDCB44 80240314 26520058 */ addiu $s2, $s2, 0x58 +/* DDCB48 80240318 0C046B4C */ jal get_model_from_list_index +/* DDCB4C 8024031C 0040202D */ daddu $a0, $v0, $zero +/* DDCB50 80240320 0040802D */ daddu $s0, $v0, $zero +/* DDCB54 80240324 C7A00120 */ lwc1 $f0, 0x120($sp) +/* DDCB58 80240328 C7A20124 */ lwc1 $f2, 0x124($sp) +/* DDCB5C 8024032C C7A40128 */ lwc1 $f4, 0x128($sp) +/* DDCB60 80240330 0000302D */ daddu $a2, $zero, $zero +/* DDCB64 80240334 E6400000 */ swc1 $f0, ($s2) +/* DDCB68 80240338 E622FFFC */ swc1 $f2, -4($s1) +/* DDCB6C 8024033C E6240000 */ swc1 $f4, ($s1) +/* DDCB70 80240340 0000282D */ daddu $a1, $zero, $zero +.L80240344: +/* DDCB74 80240344 00062100 */ sll $a0, $a2, 4 +.L80240348: +/* DDCB78 80240348 02441821 */ addu $v1, $s2, $a0 +/* DDCB7C 8024034C 02041021 */ addu $v0, $s0, $a0 +/* DDCB80 80240350 24840004 */ addiu $a0, $a0, 4 +/* DDCB84 80240354 24A50001 */ addiu $a1, $a1, 1 +/* DDCB88 80240358 C4400058 */ lwc1 $f0, 0x58($v0) +/* DDCB8C 8024035C 28A20004 */ slti $v0, $a1, 4 +/* DDCB90 80240360 1440FFF9 */ bnez $v0, .L80240348 +/* DDCB94 80240364 E4600018 */ swc1 $f0, 0x18($v1) +/* DDCB98 80240368 24C60001 */ addiu $a2, $a2, 1 +/* DDCB9C 8024036C 28C20004 */ slti $v0, $a2, 4 +/* DDCBA0 80240370 1440FFF4 */ bnez $v0, .L80240344 +/* DDCBA4 80240374 0000282D */ daddu $a1, $zero, $zero +/* DDCBA8 80240378 26310058 */ addiu $s1, $s1, 0x58 +/* DDCBAC 8024037C 26520058 */ addiu $s2, $s2, 0x58 +/* DDCBB0 80240380 26B50008 */ addiu $s5, $s5, 8 +/* DDCBB4 80240384 26730002 */ addiu $s3, $s3, 2 +/* DDCBB8 80240388 2E620006 */ sltiu $v0, $s3, 6 +/* DDCBBC 8024038C 1440FFB8 */ bnez $v0, .L80240270 +/* DDCBC0 80240390 26940008 */ addiu $s4, $s4, 8 +.L80240394: +/* DDCBC4 80240394 27B500A0 */ addiu $s5, $sp, 0xa0 +/* DDCBC8 80240398 27B40060 */ addiu $s4, $sp, 0x60 +/* DDCBCC 8024039C 27A900E0 */ addiu $t1, $sp, 0xe0 +/* DDCBD0 802403A0 AFA90130 */ sw $t1, 0x130($sp) +/* DDCBD4 802403A4 8FA90170 */ lw $t1, 0x170($sp) +/* DDCBD8 802403A8 4480A000 */ mtc1 $zero, $f20 +/* DDCBDC 802403AC 3C138024 */ lui $s3, 0x8024 +/* DDCBE0 802403B0 26731778 */ addiu $s3, $s3, 0x1778 +/* DDCBE4 802403B4 AFA00134 */ sw $zero, 0x134($sp) +/* DDCBE8 802403B8 8D320070 */ lw $s2, 0x70($t1) +/* DDCBEC 802403BC 3C013F80 */ lui $at, 0x3f80 +/* DDCBF0 802403C0 4481B000 */ mtc1 $at, $f22 +/* DDCBF4 802403C4 26510014 */ addiu $s1, $s2, 0x14 +.L802403C8: +/* DDCBF8 802403C8 8FA90134 */ lw $t1, 0x134($sp) +/* DDCBFC 802403CC 3C048024 */ lui $a0, 0x8024 +/* DDCC00 802403D0 00892021 */ addu $a0, $a0, $t1 +/* DDCC04 802403D4 0C046C04 */ jal get_model_list_index_from_tree_index +/* DDCC08 802403D8 8C841760 */ lw $a0, 0x1760($a0) +/* DDCC0C 802403DC 0C046B4C */ jal get_model_from_list_index +/* DDCC10 802403E0 0040202D */ daddu $a0, $v0, $zero +/* DDCC14 802403E4 0040802D */ daddu $s0, $v0, $zero +/* DDCC18 802403E8 0000302D */ daddu $a2, $zero, $zero +/* DDCC1C 802403EC 0000282D */ daddu $a1, $zero, $zero +.L802403F0: +/* DDCC20 802403F0 00062100 */ sll $a0, $a2, 4 +.L802403F4: +/* DDCC24 802403F4 02041821 */ addu $v1, $s0, $a0 +/* DDCC28 802403F8 02441021 */ addu $v0, $s2, $a0 +/* DDCC2C 802403FC 24840004 */ addiu $a0, $a0, 4 +/* DDCC30 80240400 24A50001 */ addiu $a1, $a1, 1 +/* DDCC34 80240404 C4400018 */ lwc1 $f0, 0x18($v0) +/* DDCC38 80240408 28A20004 */ slti $v0, $a1, 4 +/* DDCC3C 8024040C 1440FFF9 */ bnez $v0, .L802403F4 +/* DDCC40 80240410 E4600058 */ swc1 $f0, 0x58($v1) +/* DDCC44 80240414 24C60001 */ addiu $a2, $a2, 1 +/* DDCC48 80240418 28C20004 */ slti $v0, $a2, 4 +/* DDCC4C 8024041C 1440FFF4 */ bnez $v0, .L802403F0 +/* DDCC50 80240420 0000282D */ daddu $a1, $zero, $zero +/* DDCC54 80240424 96020000 */ lhu $v0, ($s0) +/* DDCC58 80240428 34421400 */ ori $v0, $v0, 0x1400 +/* DDCC5C 8024042C A6020000 */ sh $v0, ($s0) +/* DDCC60 80240430 8E450000 */ lw $a1, ($s2) +/* DDCC64 80240434 8E26FFF0 */ lw $a2, -0x10($s1) +/* DDCC68 80240438 8E27FFF4 */ lw $a3, -0xc($s1) +/* DDCC6C 8024043C 0C019E40 */ jal guTranslateF +/* DDCC70 80240440 27A40020 */ addiu $a0, $sp, 0x20 +/* DDCC74 80240444 8FA90170 */ lw $t1, 0x170($sp) +/* DDCC78 80240448 4406A000 */ mfc1 $a2, $f20 +/* DDCC7C 8024044C 4407A000 */ mfc1 $a3, $f20 +/* DDCC80 80240450 C5200074 */ lwc1 $f0, 0x74($t1) +/* DDCC84 80240454 46800020 */ cvt.s.w $f0, $f0 +/* DDCC88 80240458 44050000 */ mfc1 $a1, $f0 +/* DDCC8C 8024045C 02A0202D */ daddu $a0, $s5, $zero +/* DDCC90 80240460 0C019EC8 */ jal guRotateF +/* DDCC94 80240464 E7B60010 */ swc1 $f22, 0x10($sp) +/* DDCC98 80240468 C6400000 */ lwc1 $f0, ($s2) +/* DDCC9C 8024046C C622FFF4 */ lwc1 $f2, -0xc($s1) +/* DDCCA0 80240470 46000007 */ neg.s $f0, $f0 +/* DDCCA4 80240474 46001087 */ neg.s $f2, $f2 +/* DDCCA8 80240478 44050000 */ mfc1 $a1, $f0 +/* DDCCAC 8024047C C620FFF0 */ lwc1 $f0, -0x10($s1) +/* DDCCB0 80240480 44071000 */ mfc1 $a3, $f2 +/* DDCCB4 80240484 46000007 */ neg.s $f0, $f0 +/* DDCCB8 80240488 44060000 */ mfc1 $a2, $f0 +/* DDCCBC 8024048C 0C019E40 */ jal guTranslateF +/* DDCCC0 80240490 0280202D */ daddu $a0, $s4, $zero +/* DDCCC4 80240494 4406A000 */ mfc1 $a2, $f20 +/* DDCCC8 80240498 8FA90170 */ lw $t1, 0x170($sp) +/* DDCCCC 8024049C 4407A000 */ mfc1 $a3, $f20 +/* DDCCD0 802404A0 8D220074 */ lw $v0, 0x74($t1) +/* DDCCD4 802404A4 8FA40130 */ lw $a0, 0x130($sp) +/* DDCCD8 802404A8 00021023 */ negu $v0, $v0 +/* DDCCDC 802404AC 44824000 */ mtc1 $v0, $f8 +/* DDCCE0 802404B0 00000000 */ nop +/* DDCCE4 802404B4 46804220 */ cvt.s.w $f8, $f8 +/* DDCCE8 802404B8 44054000 */ mfc1 $a1, $f8 +/* DDCCEC 802404BC 0C019EC8 */ jal guRotateF +/* DDCCF0 802404C0 E7B60010 */ swc1 $f22, 0x10($sp) +/* DDCCF4 802404C4 27A40020 */ addiu $a0, $sp, 0x20 +/* DDCCF8 802404C8 02A0282D */ daddu $a1, $s5, $zero +/* DDCCFC 802404CC 0C019D80 */ jal guMtxCatF +/* DDCD00 802404D0 02A0302D */ daddu $a2, $s5, $zero +/* DDCD04 802404D4 02A0202D */ daddu $a0, $s5, $zero +/* DDCD08 802404D8 0280282D */ daddu $a1, $s4, $zero +/* DDCD0C 802404DC 0C019D80 */ jal guMtxCatF +/* DDCD10 802404E0 0280302D */ daddu $a2, $s4, $zero +/* DDCD14 802404E4 0280282D */ daddu $a1, $s4, $zero +/* DDCD18 802404E8 8FA40130 */ lw $a0, 0x130($sp) +/* DDCD1C 802404EC 0C019D80 */ jal guMtxCatF +/* DDCD20 802404F0 0280302D */ daddu $a2, $s4, $zero +/* DDCD24 802404F4 26100058 */ addiu $s0, $s0, 0x58 +/* DDCD28 802404F8 0200202D */ daddu $a0, $s0, $zero +/* DDCD2C 802404FC 0280282D */ daddu $a1, $s4, $zero +/* DDCD30 80240500 0C019D80 */ jal guMtxCatF +/* DDCD34 80240504 0200302D */ daddu $a2, $s0, $zero +/* DDCD38 80240508 86640002 */ lh $a0, 2($s3) +/* DDCD3C 8024050C 0C016E89 */ jal update_collider_transform +/* DDCD40 80240510 00000000 */ nop +/* DDCD44 80240514 0200202D */ daddu $a0, $s0, $zero +/* DDCD48 80240518 4405A000 */ mfc1 $a1, $f20 +/* DDCD4C 8024051C 4406A000 */ mfc1 $a2, $f20 +/* DDCD50 80240520 4407A000 */ mfc1 $a3, $f20 +/* DDCD54 80240524 27A20120 */ addiu $v0, $sp, 0x120 +/* DDCD58 80240528 AFA20010 */ sw $v0, 0x10($sp) +/* DDCD5C 8024052C 27A20124 */ addiu $v0, $sp, 0x124 +/* DDCD60 80240530 AFA20014 */ sw $v0, 0x14($sp) +/* DDCD64 80240534 27A20128 */ addiu $v0, $sp, 0x128 +/* DDCD68 80240538 0C019E9C */ jal guMtxXFMF +/* DDCD6C 8024053C AFA20018 */ sw $v0, 0x18($sp) +/* DDCD70 80240540 3C028016 */ lui $v0, 0x8016 +/* DDCD74 80240544 8442A552 */ lh $v0, -0x5aae($v0) +/* DDCD78 80240548 8E630000 */ lw $v1, ($s3) +/* DDCD7C 8024054C 10430005 */ beq $v0, $v1, .L80240564 +/* DDCD80 80240550 00000000 */ nop +/* DDCD84 80240554 3C028016 */ lui $v0, 0x8016 +/* DDCD88 80240558 8442A554 */ lh $v0, -0x5aac($v0) +/* DDCD8C 8024055C 1443000D */ bne $v0, $v1, .L80240594 +/* DDCD90 80240560 00000000 */ nop +.L80240564: +/* DDCD94 80240564 C7A00120 */ lwc1 $f0, 0x120($sp) +/* DDCD98 80240568 C622FFF8 */ lwc1 $f2, -8($s1) +/* DDCD9C 8024056C 46020001 */ sub.s $f0, $f0, $f2 +/* DDCDA0 80240570 E7C0001C */ swc1 $f0, 0x1c($fp) +/* DDCDA4 80240574 C7A00124 */ lwc1 $f0, 0x124($sp) +/* DDCDA8 80240578 C622FFFC */ lwc1 $f2, -4($s1) +/* DDCDAC 8024057C 46020001 */ sub.s $f0, $f0, $f2 +/* DDCDB0 80240580 E7C00020 */ swc1 $f0, 0x20($fp) +/* DDCDB4 80240584 C7A00128 */ lwc1 $f0, 0x128($sp) +/* DDCDB8 80240588 C6220000 */ lwc1 $f2, ($s1) +/* DDCDBC 8024058C 46020001 */ sub.s $f0, $f0, $f2 +/* DDCDC0 80240590 E7C00024 */ swc1 $f0, 0x24($fp) +.L80240594: +/* DDCDC4 80240594 86C30084 */ lh $v1, 0x84($s6) +/* DDCDC8 80240598 8E620000 */ lw $v0, ($s3) +/* DDCDCC 8024059C 14620013 */ bne $v1, $v0, .L802405EC +/* DDCDD0 802405A0 26730004 */ addiu $s3, $s3, 4 +/* DDCDD4 802405A4 C7A20120 */ lwc1 $f2, 0x120($sp) +/* DDCDD8 802405A8 C620FFF8 */ lwc1 $f0, -8($s1) +/* DDCDDC 802405AC 46001081 */ sub.s $f2, $f2, $f0 +/* DDCDE0 802405B0 C6C00038 */ lwc1 $f0, 0x38($s6) +/* DDCDE4 802405B4 46020000 */ add.s $f0, $f0, $f2 +/* DDCDE8 802405B8 E6C00038 */ swc1 $f0, 0x38($s6) +/* DDCDEC 802405BC C7A20124 */ lwc1 $f2, 0x124($sp) +/* DDCDF0 802405C0 C620FFFC */ lwc1 $f0, -4($s1) +/* DDCDF4 802405C4 46001081 */ sub.s $f2, $f2, $f0 +/* DDCDF8 802405C8 C6C0003C */ lwc1 $f0, 0x3c($s6) +/* DDCDFC 802405CC 46020000 */ add.s $f0, $f0, $f2 +/* DDCE00 802405D0 E6C0003C */ swc1 $f0, 0x3c($s6) +/* DDCE04 802405D4 C7A20128 */ lwc1 $f2, 0x128($sp) +/* DDCE08 802405D8 C6200000 */ lwc1 $f0, ($s1) +/* DDCE0C 802405DC 46001081 */ sub.s $f2, $f2, $f0 +/* DDCE10 802405E0 C6C00040 */ lwc1 $f0, 0x40($s6) +/* DDCE14 802405E4 46020000 */ add.s $f0, $f0, $f2 +/* DDCE18 802405E8 E6C00040 */ swc1 $f0, 0x40($s6) +.L802405EC: +/* DDCE1C 802405EC 26520058 */ addiu $s2, $s2, 0x58 +/* DDCE20 802405F0 8FA90134 */ lw $t1, 0x134($sp) +/* DDCE24 802405F4 C7A00120 */ lwc1 $f0, 0x120($sp) +/* DDCE28 802405F8 C7A20124 */ lwc1 $f2, 0x124($sp) +/* DDCE2C 802405FC C7A40128 */ lwc1 $f4, 0x128($sp) +/* DDCE30 80240600 25290004 */ addiu $t1, $t1, 4 +/* DDCE34 80240604 AFA90134 */ sw $t1, 0x134($sp) +/* DDCE38 80240608 E620FFF8 */ swc1 $f0, -8($s1) +/* DDCE3C 8024060C E622FFFC */ swc1 $f2, -4($s1) +/* DDCE40 80240610 E6240000 */ swc1 $f4, ($s1) +/* DDCE44 80240614 3C098024 */ lui $t1, 0x8024 +/* DDCE48 80240618 25291778 */ addiu $t1, $t1, 0x1778 +/* DDCE4C 8024061C 25220018 */ addiu $v0, $t1, 0x18 +/* DDCE50 80240620 0262102B */ sltu $v0, $s3, $v0 +/* DDCE54 80240624 1440FF68 */ bnez $v0, .L802403C8 +/* DDCE58 80240628 26310058 */ addiu $s1, $s1, 0x58 +/* DDCE5C 8024062C 8FA90170 */ lw $t1, 0x170($sp) +/* DDCE60 80240630 4480A000 */ mtc1 $zero, $f20 +/* DDCE64 80240634 3C013F80 */ lui $at, 0x3f80 +/* DDCE68 80240638 4481B000 */ mtc1 $at, $f22 +/* DDCE6C 8024063C C5200074 */ lwc1 $f0, 0x74($t1) +/* DDCE70 80240640 46800020 */ cvt.s.w $f0, $f0 +/* DDCE74 80240644 44050000 */ mfc1 $a1, $f0 +/* DDCE78 80240648 4406A000 */ mfc1 $a2, $f20 +/* DDCE7C 8024064C 4407A000 */ mfc1 $a3, $f20 +/* DDCE80 80240650 26E40058 */ addiu $a0, $s7, 0x58 +/* DDCE84 80240654 0C019EC8 */ jal guRotateF +/* DDCE88 80240658 E7B60010 */ swc1 $f22, 0x10($sp) +/* DDCE8C 8024065C 96E20000 */ lhu $v0, ($s7) +/* DDCE90 80240660 24040032 */ addiu $a0, $zero, 0x32 +/* DDCE94 80240664 34421400 */ ori $v0, $v0, 0x1400 +/* DDCE98 80240668 0C016E89 */ jal update_collider_transform +/* DDCE9C 8024066C A6E20000 */ sh $v0, ($s7) +/* DDCEA0 80240670 8FA90170 */ lw $t1, 0x170($sp) +/* DDCEA4 80240674 4406A000 */ mfc1 $a2, $f20 +/* DDCEA8 80240678 C5200074 */ lwc1 $f0, 0x74($t1) +/* DDCEAC 8024067C 46800020 */ cvt.s.w $f0, $f0 +/* DDCEB0 80240680 44050000 */ mfc1 $a1, $f0 +/* DDCEB4 80240684 8FA9012C */ lw $t1, 0x12c($sp) +/* DDCEB8 80240688 00C0382D */ daddu $a3, $a2, $zero +/* DDCEBC 8024068C E7B60010 */ swc1 $f22, 0x10($sp) +/* DDCEC0 80240690 0C019EC8 */ jal guRotateF +/* DDCEC4 80240694 25240058 */ addiu $a0, $t1, 0x58 +/* DDCEC8 80240698 8FA9012C */ lw $t1, 0x12c($sp) +/* DDCECC 8024069C 0000982D */ daddu $s3, $zero, $zero +/* DDCED0 802406A0 95220000 */ lhu $v0, ($t1) +/* DDCED4 802406A4 24040027 */ addiu $a0, $zero, 0x27 +/* DDCED8 802406A8 34421400 */ ori $v0, $v0, 0x1400 +/* DDCEDC 802406AC 0C016E89 */ jal update_collider_transform +/* DDCEE0 802406B0 A5220000 */ sh $v0, ($t1) +/* DDCEE4 802406B4 0260202D */ daddu $a0, $s3, $zero +/* DDCEE8 802406B8 3C05800B */ lui $a1, %hi(gCameras) +/* DDCEEC 802406BC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* DDCEF0 802406C0 2408000E */ addiu $t0, $zero, 0xe +/* DDCEF4 802406C4 24070010 */ addiu $a3, $zero, 0x10 +/* DDCEF8 802406C8 3C038024 */ lui $v1, 0x8024 +/* DDCEFC 802406CC 24631778 */ addiu $v1, $v1, 0x1778 +/* DDCF00 802406D0 3C068016 */ lui $a2, 0x8016 +/* DDCF04 802406D4 84C6A552 */ lh $a2, -0x5aae($a2) +.L802406D8: +/* DDCF08 802406D8 8C620000 */ lw $v0, ($v1) +/* DDCF0C 802406DC 54C20012 */ bnel $a2, $v0, .L80240728 +/* DDCF10 802406E0 26730001 */ addiu $s3, $s3, 1 +/* DDCF14 802406E4 8FC20000 */ lw $v0, ($fp) +/* DDCF18 802406E8 30421000 */ andi $v0, $v0, 0x1000 +/* DDCF1C 802406EC 10400007 */ beqz $v0, .L8024070C +/* DDCF20 802406F0 00000000 */ nop +/* DDCF24 802406F4 C7C00028 */ lwc1 $f0, 0x28($fp) +/* DDCF28 802406F8 C7C2002C */ lwc1 $f2, 0x2c($fp) +/* DDCF2C 802406FC C7C40030 */ lwc1 $f4, 0x30($fp) +/* DDCF30 80240700 E4A00060 */ swc1 $f0, 0x60($a1) +/* DDCF34 80240704 E4A20064 */ swc1 $f2, 0x64($a1) +/* DDCF38 80240708 E4A40068 */ swc1 $f4, 0x68($a1) +.L8024070C: +/* DDCF3C 8024070C 83C200B4 */ lb $v0, 0xb4($fp) +/* DDCF40 80240710 50480004 */ beql $v0, $t0, .L80240724 +/* DDCF44 80240714 24040001 */ addiu $a0, $zero, 1 +/* DDCF48 80240718 54470003 */ bnel $v0, $a3, .L80240728 +/* DDCF4C 8024071C 26730001 */ addiu $s3, $s3, 1 +/* DDCF50 80240720 24040001 */ addiu $a0, $zero, 1 +.L80240724: +/* DDCF54 80240724 26730001 */ addiu $s3, $s3, 1 +.L80240728: +/* DDCF58 80240728 2E620006 */ sltiu $v0, $s3, 6 +/* DDCF5C 8024072C 1440FFEA */ bnez $v0, .L802406D8 +/* DDCF60 80240730 24630004 */ addiu $v1, $v1, 4 +/* DDCF64 80240734 14800005 */ bnez $a0, .L8024074C +/* DDCF68 80240738 00000000 */ nop +/* DDCF6C 8024073C 8FA90170 */ lw $t1, 0x170($sp) +/* DDCF70 80240740 8D220074 */ lw $v0, 0x74($t1) +/* DDCF74 80240744 2442FFFF */ addiu $v0, $v0, -1 +/* DDCF78 80240748 AD220074 */ sw $v0, 0x74($t1) +.L8024074C: +/* DDCF7C 8024074C 8FBF015C */ lw $ra, 0x15c($sp) +/* DDCF80 80240750 8FBE0158 */ lw $fp, 0x158($sp) +/* DDCF84 80240754 8FB70154 */ lw $s7, 0x154($sp) +/* DDCF88 80240758 8FB60150 */ lw $s6, 0x150($sp) +/* DDCF8C 8024075C 8FB5014C */ lw $s5, 0x14c($sp) +/* DDCF90 80240760 8FB40148 */ lw $s4, 0x148($sp) +/* DDCF94 80240764 8FB30144 */ lw $s3, 0x144($sp) +/* DDCF98 80240768 8FB20140 */ lw $s2, 0x140($sp) +/* DDCF9C 8024076C 8FB1013C */ lw $s1, 0x13c($sp) +/* DDCFA0 80240770 8FB00138 */ lw $s0, 0x138($sp) +/* DDCFA4 80240774 D7B60168 */ ldc1 $f22, 0x168($sp) +/* DDCFA8 80240778 D7B40160 */ ldc1 $f20, 0x160($sp) +/* DDCFAC 8024077C 0000102D */ daddu $v0, $zero, $zero +/* DDCFB0 80240780 03E00008 */ jr $ra +/* DDCFB4 80240784 27BD0170 */ addiu $sp, $sp, 0x170 +/* DDCFB8 80240788 00000000 */ nop +/* DDCFBC 8024078C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240790_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240790_DDC830.s new file mode 100644 index 0000000000..0e94d02b2d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240790_DDC830.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240790_DDCFC0 +/* DDCFC0 80240790 3C03800A */ lui $v1, %hi(D_8009A650) +/* DDCFC4 80240794 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* DDCFC8 80240798 8C620000 */ lw $v0, ($v1) +/* DDCFCC 8024079C 34420040 */ ori $v0, $v0, 0x40 +/* DDCFD0 802407A0 AC620000 */ sw $v0, ($v1) +/* DDCFD4 802407A4 03E00008 */ jr $ra +/* DDCFD8 802407A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802407AC_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_802407AC_DDC830.s new file mode 100644 index 0000000000..6d82ebaa95 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802407AC_DDC830.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407AC_DDCFDC +/* DDCFDC 802407AC 3C02800A */ lui $v0, %hi(D_8009A650) +/* DDCFE0 802407B0 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* DDCFE4 802407B4 8C430000 */ lw $v1, ($v0) +/* DDCFE8 802407B8 2404FFBF */ addiu $a0, $zero, -0x41 +/* DDCFEC 802407BC 00641824 */ and $v1, $v1, $a0 +/* DDCFF0 802407C0 AC430000 */ sw $v1, ($v0) +/* DDCFF4 802407C4 03E00008 */ jr $ra +/* DDCFF8 802407C8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802407CC_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_802407CC_DDC830.s new file mode 100644 index 0000000000..fa8b677244 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802407CC_DDC830.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_DDCFFC +/* DDCFFC 802407CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DDD000 802407D0 AFBF0010 */ sw $ra, 0x10($sp) +/* DDD004 802407D4 8C82000C */ lw $v0, 0xc($a0) +/* DDD008 802407D8 0C0B1EAF */ jal get_variable +/* DDD00C 802407DC 8C450000 */ lw $a1, ($v0) +/* DDD010 802407E0 0C0B95A4 */ jal func_802E5690 +/* DDD014 802407E4 0040202D */ daddu $a0, $v0, $zero +/* DDD018 802407E8 8FBF0010 */ lw $ra, 0x10($sp) +/* DDD01C 802407EC 24020002 */ addiu $v0, $zero, 2 +/* DDD020 802407F0 03E00008 */ jr $ra +/* DDD024 802407F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802407F8.s b/asm/nonmatchings/world/area_omo/omo_11/func_802407F8.s new file mode 100644 index 0000000000..5c20294cf7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802407F8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F8 +/* DDD028 802407F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDD02C 802407FC AFB00010 */ sw $s0, 0x10($sp) +/* DDD030 80240800 0080802D */ daddu $s0, $a0, $zero +/* DDD034 80240804 AFBF0018 */ sw $ra, 0x18($sp) +/* DDD038 80240808 AFB10014 */ sw $s1, 0x14($sp) +/* DDD03C 8024080C 8E11000C */ lw $s1, 0xc($s0) +/* DDD040 80240810 8E250000 */ lw $a1, ($s1) +/* DDD044 80240814 0C0B1EAF */ jal get_variable +/* DDD048 80240818 26310004 */ addiu $s1, $s1, 4 +/* DDD04C 8024081C 0200202D */ daddu $a0, $s0, $zero +/* DDD050 80240820 3C038011 */ lui $v1, %hi(gPlayerData) +/* DDD054 80240824 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* DDD058 80240828 000210C0 */ sll $v0, $v0, 3 +/* DDD05C 8024082C 00431021 */ addu $v0, $v0, $v1 +/* DDD060 80240830 90460015 */ lbu $a2, 0x15($v0) +/* DDD064 80240834 8E250000 */ lw $a1, ($s1) +/* DDD068 80240838 24C60001 */ addiu $a2, $a2, 1 +/* DDD06C 8024083C A0460015 */ sb $a2, 0x15($v0) +/* DDD070 80240840 00063600 */ sll $a2, $a2, 0x18 +/* DDD074 80240844 0C0B2026 */ jal set_variable +/* DDD078 80240848 00063603 */ sra $a2, $a2, 0x18 +/* DDD07C 8024084C 8FBF0018 */ lw $ra, 0x18($sp) +/* DDD080 80240850 8FB10014 */ lw $s1, 0x14($sp) +/* DDD084 80240854 8FB00010 */ lw $s0, 0x10($sp) +/* DDD088 80240858 24020002 */ addiu $v0, $zero, 2 +/* DDD08C 8024085C 03E00008 */ jr $ra +/* DDD090 80240860 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240864.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240864.s new file mode 100644 index 0000000000..e2a39c723a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240864.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240864 +/* DDD094 80240864 3C028011 */ lui $v0, %hi(gPlayerData) +/* DDD098 80240868 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* DDD09C 8024086C 000420C0 */ sll $a0, $a0, 3 +/* DDD0A0 80240870 00822021 */ addu $a0, $a0, $v0 +/* DDD0A4 80240874 90820014 */ lbu $v0, 0x14($a0) +/* DDD0A8 80240878 10400009 */ beqz $v0, .L802408A0 +/* DDD0AC 8024087C 00000000 */ nop +/* DDD0B0 80240880 90820015 */ lbu $v0, 0x15($a0) +/* DDD0B4 80240884 00022600 */ sll $a0, $v0, 0x18 +/* DDD0B8 80240888 00041E03 */ sra $v1, $a0, 0x18 +/* DDD0BC 8024088C 00051400 */ sll $v0, $a1, 0x10 +/* DDD0C0 80240890 00021403 */ sra $v0, $v0, 0x10 +/* DDD0C4 80240894 0043102A */ slt $v0, $v0, $v1 +/* DDD0C8 80240898 10400003 */ beqz $v0, .L802408A8 +/* DDD0CC 8024089C 00000000 */ nop +.L802408A0: +/* DDD0D0 802408A0 03E00008 */ jr $ra +/* DDD0D4 802408A4 2402FFFF */ addiu $v0, $zero, -1 +.L802408A8: +/* DDD0D8 802408A8 03E00008 */ jr $ra +/* DDD0DC 802408AC 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802408B0_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_802408B0_DDC830.s new file mode 100644 index 0000000000..e7f9f32c77 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802408B0_DDC830.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B0_DDD0E0 +/* DDD0E0 802408B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DDD0E4 802408B4 AFB3001C */ sw $s3, 0x1c($sp) +/* DDD0E8 802408B8 0080982D */ daddu $s3, $a0, $zero +/* DDD0EC 802408BC AFB00010 */ sw $s0, 0x10($sp) +/* DDD0F0 802408C0 24100001 */ addiu $s0, $zero, 1 +/* DDD0F4 802408C4 AFB40020 */ sw $s4, 0x20($sp) +/* DDD0F8 802408C8 2414FFFF */ addiu $s4, $zero, -1 +/* DDD0FC 802408CC AFB50024 */ sw $s5, 0x24($sp) +/* DDD100 802408D0 0200A82D */ daddu $s5, $s0, $zero +/* DDD104 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* DDD108 802408D8 3C118011 */ lui $s1, 0x8011 +/* DDD10C 802408DC 2631F298 */ addiu $s1, $s1, -0xd68 +/* DDD110 802408E0 AFBF0028 */ sw $ra, 0x28($sp) +/* DDD114 802408E4 AFB20018 */ sw $s2, 0x18($sp) +/* DDD118 802408E8 8E6200B4 */ lw $v0, 0xb4($s3) +/* DDD11C 802408EC 0280182D */ daddu $v1, $s4, $zero +/* DDD120 802408F0 AE630084 */ sw $v1, 0x84($s3) +/* DDD124 802408F4 00021027 */ nor $v0, $zero, $v0 +/* DDD128 802408F8 000217C2 */ srl $v0, $v0, 0x1f +/* DDD12C 802408FC 00029400 */ sll $s2, $v0, 0x10 +.L80240900: +/* DDD130 80240900 92220014 */ lbu $v0, 0x14($s1) +/* DDD134 80240904 50400008 */ beql $v0, $zero, .L80240928 +/* DDD138 80240908 26100001 */ addiu $s0, $s0, 1 +/* DDD13C 8024090C 0200202D */ daddu $a0, $s0, $zero +/* DDD140 80240910 0C090219 */ jal func_80240864 +/* DDD144 80240914 00122C03 */ sra $a1, $s2, 0x10 +/* DDD148 80240918 10540003 */ beq $v0, $s4, .L80240928 +/* DDD14C 8024091C 26100001 */ addiu $s0, $s0, 1 +/* DDD150 80240920 0809024D */ j .L80240934 +/* DDD154 80240924 AE750084 */ sw $s5, 0x84($s3) +.L80240928: +/* DDD158 80240928 2A02000C */ slti $v0, $s0, 0xc +/* DDD15C 8024092C 1440FFF4 */ bnez $v0, .L80240900 +/* DDD160 80240930 26310008 */ addiu $s1, $s1, 8 +.L80240934: +/* DDD164 80240934 8FBF0028 */ lw $ra, 0x28($sp) +/* DDD168 80240938 8FB50024 */ lw $s5, 0x24($sp) +/* DDD16C 8024093C 8FB40020 */ lw $s4, 0x20($sp) +/* DDD170 80240940 8FB3001C */ lw $s3, 0x1c($sp) +/* DDD174 80240944 8FB20018 */ lw $s2, 0x18($sp) +/* DDD178 80240948 8FB10014 */ lw $s1, 0x14($sp) +/* DDD17C 8024094C 8FB00010 */ lw $s0, 0x10($sp) +/* DDD180 80240950 24020002 */ addiu $v0, $zero, 2 +/* DDD184 80240954 03E00008 */ jr $ra +/* DDD188 80240958 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_8024095C_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_8024095C_DDC830.s new file mode 100644 index 0000000000..7d9b73a34e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_8024095C_DDC830.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_DDD18C +/* DDD18C 8024095C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DDD190 80240960 AFB5002C */ sw $s5, 0x2c($sp) +/* DDD194 80240964 0080A82D */ daddu $s5, $a0, $zero +/* DDD198 80240968 AFBE0038 */ sw $fp, 0x38($sp) +/* DDD19C 8024096C 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* DDD1A0 80240970 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* DDD1A4 80240974 AFBF003C */ sw $ra, 0x3c($sp) +/* DDD1A8 80240978 AFB70034 */ sw $s7, 0x34($sp) +/* DDD1AC 8024097C AFB60030 */ sw $s6, 0x30($sp) +/* DDD1B0 80240980 AFB40028 */ sw $s4, 0x28($sp) +/* DDD1B4 80240984 AFB30024 */ sw $s3, 0x24($sp) +/* DDD1B8 80240988 AFB20020 */ sw $s2, 0x20($sp) +/* DDD1BC 8024098C AFB1001C */ sw $s1, 0x1c($sp) +/* DDD1C0 80240990 10A0004F */ beqz $a1, .L80240AD0 +/* DDD1C4 80240994 AFB00018 */ sw $s0, 0x18($sp) +/* DDD1C8 80240998 0C00AB39 */ jal heap_malloc +/* DDD1CC 8024099C 24040330 */ addiu $a0, $zero, 0x330 +/* DDD1D0 802409A0 0040982D */ daddu $s3, $v0, $zero +/* DDD1D4 802409A4 0000B02D */ daddu $s6, $zero, $zero +/* DDD1D8 802409A8 02C0902D */ daddu $s2, $s6, $zero +/* DDD1DC 802409AC 3C148024 */ lui $s4, 0x8024 +/* DDD1E0 802409B0 26941E48 */ addiu $s4, $s4, 0x1e48 +/* DDD1E4 802409B4 0260882D */ daddu $s1, $s3, $zero +/* DDD1E8 802409B8 8EA200B4 */ lw $v0, 0xb4($s5) +/* DDD1EC 802409BC 3C038024 */ lui $v1, 0x8024 +/* DDD1F0 802409C0 24631E40 */ addiu $v1, $v1, 0x1e40 +/* DDD1F4 802409C4 AEB30078 */ sw $s3, 0x78($s5) +/* DDD1F8 802409C8 00021027 */ nor $v0, $zero, $v0 +/* DDD1FC 802409CC 0002BFC2 */ srl $s7, $v0, 0x1f +/* DDD200 802409D0 00171080 */ sll $v0, $s7, 2 +/* DDD204 802409D4 00431021 */ addu $v0, $v0, $v1 +/* DDD208 802409D8 AFA20010 */ sw $v0, 0x10($sp) +.L802409DC: +/* DDD20C 802409DC 86900000 */ lh $s0, ($s4) +/* DDD210 802409E0 001010C0 */ sll $v0, $s0, 3 +/* DDD214 802409E4 03C21021 */ addu $v0, $fp, $v0 +/* DDD218 802409E8 90420014 */ lbu $v0, 0x14($v0) +/* DDD21C 802409EC 5040002E */ beql $v0, $zero, .L80240AA8 +/* DDD220 802409F0 26520001 */ addiu $s2, $s2, 1 +/* DDD224 802409F4 00101100 */ sll $v0, $s0, 4 +/* DDD228 802409F8 3C068009 */ lui $a2, 0x8009 +/* DDD22C 802409FC 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* DDD230 80240A00 00461021 */ addu $v0, $v0, $a2 +/* DDD234 80240A04 0200202D */ daddu $a0, $s0, $zero +/* DDD238 80240A08 AE300108 */ sw $s0, 0x108($s1) +/* DDD23C 80240A0C 8C420000 */ lw $v0, ($v0) +/* DDD240 80240A10 02E0282D */ daddu $a1, $s7, $zero +/* DDD244 80240A14 0C090219 */ jal func_80240864 +/* DDD248 80240A18 AE220084 */ sw $v0, 0x84($s1) +/* DDD24C 80240A1C 0040202D */ daddu $a0, $v0, $zero +/* DDD250 80240A20 04800011 */ bltz $a0, .L80240A68 +/* DDD254 80240A24 00101080 */ sll $v0, $s0, 2 +/* DDD258 80240A28 3C06800F */ lui $a2, 0x800f +/* DDD25C 80240A2C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* DDD260 80240A30 00461021 */ addu $v0, $v0, $a2 +/* DDD264 80240A34 8C430000 */ lw $v1, ($v0) +/* DDD268 80240A38 24020001 */ addiu $v0, $zero, 1 +/* DDD26C 80240A3C AE22018C */ sw $v0, 0x18c($s1) +/* DDD270 80240A40 00041080 */ sll $v0, $a0, 2 +/* DDD274 80240A44 3C068024 */ lui $a2, 0x8024 +/* DDD278 80240A48 24C61E58 */ addiu $a2, $a2, 0x1e58 +/* DDD27C 80240A4C AE230000 */ sw $v1, ($s1) +/* DDD280 80240A50 001218C0 */ sll $v1, $s2, 3 +/* DDD284 80240A54 00431021 */ addu $v0, $v0, $v1 +/* DDD288 80240A58 00461021 */ addu $v0, $v0, $a2 +/* DDD28C 80240A5C 8C420000 */ lw $v0, ($v0) +/* DDD290 80240A60 080902A3 */ j .L80240A8C +/* DDD294 80240A64 AE220294 */ sw $v0, 0x294($s1) +.L80240A68: +/* DDD298 80240A68 3C06800F */ lui $a2, 0x800f +/* DDD29C 80240A6C 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* DDD2A0 80240A70 00461021 */ addu $v0, $v0, $a2 +/* DDD2A4 80240A74 8C420000 */ lw $v0, ($v0) +/* DDD2A8 80240A78 AE20018C */ sw $zero, 0x18c($s1) +/* DDD2AC 80240A7C AE220000 */ sw $v0, ($s1) +/* DDD2B0 80240A80 8FA60010 */ lw $a2, 0x10($sp) +/* DDD2B4 80240A84 8CC20000 */ lw $v0, ($a2) +/* DDD2B8 80240A88 AE220294 */ sw $v0, 0x294($s1) +.L80240A8C: +/* DDD2BC 80240A8C 001010C0 */ sll $v0, $s0, 3 +/* DDD2C0 80240A90 03C21021 */ addu $v0, $fp, $v0 +/* DDD2C4 80240A94 80420015 */ lb $v0, 0x15($v0) +/* DDD2C8 80240A98 26D60001 */ addiu $s6, $s6, 1 +/* DDD2CC 80240A9C AE220210 */ sw $v0, 0x210($s1) +/* DDD2D0 80240AA0 26310004 */ addiu $s1, $s1, 4 +/* DDD2D4 80240AA4 26520001 */ addiu $s2, $s2, 1 +.L80240AA8: +/* DDD2D8 80240AA8 2A420008 */ slti $v0, $s2, 8 +/* DDD2DC 80240AAC 1440FFCB */ bnez $v0, .L802409DC +/* DDD2E0 80240AB0 26940002 */ addiu $s4, $s4, 2 +/* DDD2E4 80240AB4 0260202D */ daddu $a0, $s3, $zero +/* DDD2E8 80240AB8 24020004 */ addiu $v0, $zero, 4 +/* DDD2EC 80240ABC AC820318 */ sw $v0, 0x318($a0) +/* DDD2F0 80240AC0 AC960324 */ sw $s6, 0x324($a0) +/* DDD2F4 80240AC4 0C03D390 */ jal func_800F4E40 +/* DDD2F8 80240AC8 AC800328 */ sw $zero, 0x328($a0) +/* DDD2FC 80240ACC AEA00070 */ sw $zero, 0x70($s5) +.L80240AD0: +/* DDD300 80240AD0 8EA20070 */ lw $v0, 0x70($s5) +/* DDD304 80240AD4 8EB30078 */ lw $s3, 0x78($s5) +/* DDD308 80240AD8 14400008 */ bnez $v0, .L80240AFC +/* DDD30C 80240ADC 24420001 */ addiu $v0, $v0, 1 +/* DDD310 80240AE0 8662032C */ lh $v0, 0x32c($s3) +/* DDD314 80240AE4 10400009 */ beqz $v0, .L80240B0C +/* DDD318 80240AE8 AEA20074 */ sw $v0, 0x74($s5) +/* DDD31C 80240AEC 0C03C4EC */ jal func_800F13B0 +/* DDD320 80240AF0 00000000 */ nop +/* DDD324 80240AF4 8EA20070 */ lw $v0, 0x70($s5) +/* DDD328 80240AF8 24420001 */ addiu $v0, $v0, 1 +.L80240AFC: +/* DDD32C 80240AFC AEA20070 */ sw $v0, 0x70($s5) +/* DDD330 80240B00 2842000F */ slti $v0, $v0, 0xf +/* DDD334 80240B04 10400003 */ beqz $v0, .L80240B14 +/* DDD338 80240B08 00000000 */ nop +.L80240B0C: +/* DDD33C 80240B0C 080902DF */ j .L80240B7C +/* DDD340 80240B10 0000102D */ daddu $v0, $zero, $zero +.L80240B14: +/* DDD344 80240B14 0C03C54E */ jal func_800F1538 +/* DDD348 80240B18 00000000 */ nop +/* DDD34C 80240B1C 8EA30074 */ lw $v1, 0x74($s5) +/* DDD350 80240B20 240200FF */ addiu $v0, $zero, 0xff +/* DDD354 80240B24 10620010 */ beq $v1, $v0, .L80240B68 +/* DDD358 80240B28 2462FFFF */ addiu $v0, $v1, -1 +/* DDD35C 80240B2C 00021080 */ sll $v0, $v0, 2 +/* DDD360 80240B30 02621021 */ addu $v0, $s3, $v0 +/* DDD364 80240B34 8C420108 */ lw $v0, 0x108($v0) +/* DDD368 80240B38 00021100 */ sll $v0, $v0, 4 +/* DDD36C 80240B3C 3C038009 */ lui $v1, 0x8009 +/* DDD370 80240B40 00621821 */ addu $v1, $v1, $v0 +/* DDD374 80240B44 8C63EF20 */ lw $v1, -0x10e0($v1) +/* DDD378 80240B48 8EA20074 */ lw $v0, 0x74($s5) +/* DDD37C 80240B4C 2442FFFF */ addiu $v0, $v0, -1 +/* DDD380 80240B50 00021080 */ sll $v0, $v0, 2 +/* DDD384 80240B54 02621021 */ addu $v0, $s3, $v0 +/* DDD388 80240B58 AEA30084 */ sw $v1, 0x84($s5) +/* DDD38C 80240B5C 8C420108 */ lw $v0, 0x108($v0) +/* DDD390 80240B60 080902DC */ j .L80240B70 +/* DDD394 80240B64 AEA20088 */ sw $v0, 0x88($s5) +.L80240B68: +/* DDD398 80240B68 2402FFFF */ addiu $v0, $zero, -1 +/* DDD39C 80240B6C AEA20084 */ sw $v0, 0x84($s5) +.L80240B70: +/* DDD3A0 80240B70 0C00AB4B */ jal heap_free +/* DDD3A4 80240B74 8EA40078 */ lw $a0, 0x78($s5) +/* DDD3A8 80240B78 24020002 */ addiu $v0, $zero, 2 +.L80240B7C: +/* DDD3AC 80240B7C 8FBF003C */ lw $ra, 0x3c($sp) +/* DDD3B0 80240B80 8FBE0038 */ lw $fp, 0x38($sp) +/* DDD3B4 80240B84 8FB70034 */ lw $s7, 0x34($sp) +/* DDD3B8 80240B88 8FB60030 */ lw $s6, 0x30($sp) +/* DDD3BC 80240B8C 8FB5002C */ lw $s5, 0x2c($sp) +/* DDD3C0 80240B90 8FB40028 */ lw $s4, 0x28($sp) +/* DDD3C4 80240B94 8FB30024 */ lw $s3, 0x24($sp) +/* DDD3C8 80240B98 8FB20020 */ lw $s2, 0x20($sp) +/* DDD3CC 80240B9C 8FB1001C */ lw $s1, 0x1c($sp) +/* DDD3D0 80240BA0 8FB00018 */ lw $s0, 0x18($sp) +/* DDD3D4 80240BA4 03E00008 */ jr $ra +/* DDD3D8 80240BA8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240BAC_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240BAC_DDC830.s new file mode 100644 index 0000000000..35ccd8450c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240BAC_DDC830.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BAC_DDD3DC +/* DDD3DC 80240BAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DDD3E0 80240BB0 AFBF0010 */ sw $ra, 0x10($sp) +/* DDD3E4 80240BB4 8C82000C */ lw $v0, 0xc($a0) +/* DDD3E8 80240BB8 0C0B1EAF */ jal get_variable +/* DDD3EC 80240BBC 8C450000 */ lw $a1, ($v0) +/* DDD3F0 80240BC0 0C03AC5A */ jal func_800EB168 +/* DDD3F4 80240BC4 0040202D */ daddu $a0, $v0, $zero +/* DDD3F8 80240BC8 8FBF0010 */ lw $ra, 0x10($sp) +/* DDD3FC 80240BCC 24020002 */ addiu $v0, $zero, 2 +/* DDD400 80240BD0 03E00008 */ jr $ra +/* DDD404 80240BD4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240BD8_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240BD8_DDC830.s new file mode 100644 index 0000000000..9f71ad3c2a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240BD8_DDC830.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD8_DDD408 +/* DDD408 80240BD8 3C028011 */ lui $v0, 0x8011 +/* DDD40C 80240BDC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* DDD410 80240BE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DDD414 80240BE4 AFBF0010 */ sw $ra, 0x10($sp) +/* DDD418 80240BE8 00021100 */ sll $v0, $v0, 4 +/* DDD41C 80240BEC 3C048009 */ lui $a0, 0x8009 +/* DDD420 80240BF0 00822021 */ addu $a0, $a0, $v0 +/* DDD424 80240BF4 8C84EF20 */ lw $a0, -0x10e0($a0) +/* DDD428 80240BF8 0C0496CF */ jal set_message_string +/* DDD42C 80240BFC 0000282D */ daddu $a1, $zero, $zero +/* DDD430 80240C00 8FBF0010 */ lw $ra, 0x10($sp) +/* DDD434 80240C04 24020002 */ addiu $v0, $zero, 2 +/* DDD438 80240C08 03E00008 */ jr $ra +/* DDD43C 80240C0C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240C10_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240C10_DDC830.s new file mode 100644 index 0000000000..7b1ec1fbfa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240C10_DDC830.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C10_DDD440 +/* DDD440 80240C10 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DDD444 80240C14 AFB1001C */ sw $s1, 0x1c($sp) +/* DDD448 80240C18 0080882D */ daddu $s1, $a0, $zero +/* DDD44C 80240C1C AFBF0020 */ sw $ra, 0x20($sp) +/* DDD450 80240C20 AFB00018 */ sw $s0, 0x18($sp) +/* DDD454 80240C24 8E30000C */ lw $s0, 0xc($s1) +/* DDD458 80240C28 8E050000 */ lw $a1, ($s0) +/* DDD45C 80240C2C 0C0B1EAF */ jal get_variable +/* DDD460 80240C30 26100004 */ addiu $s0, $s0, 4 +/* DDD464 80240C34 0C04417A */ jal get_entity_by_index +/* DDD468 80240C38 0040202D */ daddu $a0, $v0, $zero +/* DDD46C 80240C3C 8E100000 */ lw $s0, ($s0) +/* DDD470 80240C40 C444004C */ lwc1 $f4, 0x4c($v0) +/* DDD474 80240C44 3C014148 */ lui $at, 0x4148 +/* DDD478 80240C48 44810000 */ mtc1 $at, $f0 +/* DDD47C 80240C4C 3C013F33 */ lui $at, 0x3f33 +/* DDD480 80240C50 34213333 */ ori $at, $at, 0x3333 +/* DDD484 80240C54 44811000 */ mtc1 $at, $f2 +/* DDD488 80240C58 AFA00014 */ sw $zero, 0x14($sp) +/* DDD48C 80240C5C 46002100 */ add.s $f4, $f4, $f0 +/* DDD490 80240C60 E7A20010 */ swc1 $f2, 0x10($sp) +/* DDD494 80240C64 8C450048 */ lw $a1, 0x48($v0) +/* DDD498 80240C68 8C470050 */ lw $a3, 0x50($v0) +/* DDD49C 80240C6C 44062000 */ mfc1 $a2, $f4 +/* DDD4A0 80240C70 0C01C5D4 */ jal func_80071750 +/* DDD4A4 80240C74 0000202D */ daddu $a0, $zero, $zero +/* DDD4A8 80240C78 0220202D */ daddu $a0, $s1, $zero +/* DDD4AC 80240C7C 0200282D */ daddu $a1, $s0, $zero +/* DDD4B0 80240C80 0C0B2026 */ jal set_variable +/* DDD4B4 80240C84 0040302D */ daddu $a2, $v0, $zero +/* DDD4B8 80240C88 8FBF0020 */ lw $ra, 0x20($sp) +/* DDD4BC 80240C8C 8FB1001C */ lw $s1, 0x1c($sp) +/* DDD4C0 80240C90 8FB00018 */ lw $s0, 0x18($sp) +/* DDD4C4 80240C94 24020002 */ addiu $v0, $zero, 2 +/* DDD4C8 80240C98 03E00008 */ jr $ra +/* DDD4CC 80240C9C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240CA0_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240CA0_DDC830.s new file mode 100644 index 0000000000..57a6b47dee --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240CA0_DDC830.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA0_DDD4D0 +/* DDD4D0 80240CA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DDD4D4 80240CA4 AFBF0010 */ sw $ra, 0x10($sp) +/* DDD4D8 80240CA8 8C82000C */ lw $v0, 0xc($a0) +/* DDD4DC 80240CAC 0C0B1EAF */ jal get_variable +/* DDD4E0 80240CB0 8C450000 */ lw $a1, ($v0) +/* DDD4E4 80240CB4 0040202D */ daddu $a0, $v0, $zero +/* DDD4E8 80240CB8 8C830000 */ lw $v1, ($a0) +/* DDD4EC 80240CBC 34630010 */ ori $v1, $v1, 0x10 +/* DDD4F0 80240CC0 AC830000 */ sw $v1, ($a0) +/* DDD4F4 80240CC4 8FBF0010 */ lw $ra, 0x10($sp) +/* DDD4F8 80240CC8 24020002 */ addiu $v0, $zero, 2 +/* DDD4FC 80240CCC 03E00008 */ jr $ra +/* DDD500 80240CD0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240CD4_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240CD4_DDC830.s new file mode 100644 index 0000000000..66337b265a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240CD4_DDC830.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD4_DDD504 +/* DDD504 80240CD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDD508 80240CD8 AFBF0018 */ sw $ra, 0x18($sp) +/* DDD50C 80240CDC 8C82000C */ lw $v0, 0xc($a0) +/* DDD510 80240CE0 0C0B1EAF */ jal get_variable +/* DDD514 80240CE4 8C450000 */ lw $a1, ($v0) +/* DDD518 80240CE8 0C04417A */ jal get_entity_by_index +/* DDD51C 80240CEC 0040202D */ daddu $a0, $v0, $zero +/* DDD520 80240CF0 3C013F80 */ lui $at, 0x3f80 +/* DDD524 80240CF4 44810000 */ mtc1 $at, $f0 +/* DDD528 80240CF8 C442004C */ lwc1 $f2, 0x4c($v0) +/* DDD52C 80240CFC E7A00010 */ swc1 $f0, 0x10($sp) +/* DDD530 80240D00 3C014148 */ lui $at, 0x4148 +/* DDD534 80240D04 44810000 */ mtc1 $at, $f0 +/* DDD538 80240D08 2403004B */ addiu $v1, $zero, 0x4b +/* DDD53C 80240D0C AFA30014 */ sw $v1, 0x14($sp) +/* DDD540 80240D10 46001080 */ add.s $f2, $f2, $f0 +/* DDD544 80240D14 8C450048 */ lw $a1, 0x48($v0) +/* DDD548 80240D18 8C470050 */ lw $a3, 0x50($v0) +/* DDD54C 80240D1C 44061000 */ mfc1 $a2, $f2 +/* DDD550 80240D20 0C01C2EC */ jal func_80070BB0 +/* DDD554 80240D24 24040004 */ addiu $a0, $zero, 4 +/* DDD558 80240D28 8FBF0018 */ lw $ra, 0x18($sp) +/* DDD55C 80240D2C 24020002 */ addiu $v0, $zero, 2 +/* DDD560 80240D30 03E00008 */ jr $ra +/* DDD564 80240D34 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240D38_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240D38_DDC830.s new file mode 100644 index 0000000000..eaf9871e80 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240D38_DDC830.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D38_DDD568 +/* DDD568 80240D38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDD56C 80240D3C AFBF0018 */ sw $ra, 0x18($sp) +/* DDD570 80240D40 0C00EAD2 */ jal get_npc_safe +/* DDD574 80240D44 2404FFFC */ addiu $a0, $zero, -4 +/* DDD578 80240D48 C444003C */ lwc1 $f4, 0x3c($v0) +/* DDD57C 80240D4C 3C014148 */ lui $at, 0x4148 +/* DDD580 80240D50 44811000 */ mtc1 $at, $f2 +/* DDD584 80240D54 3C013F80 */ lui $at, 0x3f80 +/* DDD588 80240D58 44810000 */ mtc1 $at, $f0 +/* DDD58C 80240D5C 2403001E */ addiu $v1, $zero, 0x1e +/* DDD590 80240D60 AFA30014 */ sw $v1, 0x14($sp) +/* DDD594 80240D64 46022100 */ add.s $f4, $f4, $f2 +/* DDD598 80240D68 E7A00010 */ swc1 $f0, 0x10($sp) +/* DDD59C 80240D6C 8C450038 */ lw $a1, 0x38($v0) +/* DDD5A0 80240D70 8C470040 */ lw $a3, 0x40($v0) +/* DDD5A4 80240D74 44062000 */ mfc1 $a2, $f4 +/* DDD5A8 80240D78 0C01C2EC */ jal func_80070BB0 +/* DDD5AC 80240D7C 24040009 */ addiu $a0, $zero, 9 +/* DDD5B0 80240D80 8FBF0018 */ lw $ra, 0x18($sp) +/* DDD5B4 80240D84 24020002 */ addiu $v0, $zero, 2 +/* DDD5B8 80240D88 03E00008 */ jr $ra +/* DDD5BC 80240D8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80240D90_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80240D90_DDC830.s new file mode 100644 index 0000000000..0ae7d1fffa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80240D90_DDC830.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D90_DDD5C0 +/* DDD5C0 80240D90 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* DDD5C4 80240D94 AFB60040 */ sw $s6, 0x40($sp) +/* DDD5C8 80240D98 0080B02D */ daddu $s6, $a0, $zero +/* DDD5CC 80240D9C AFB00028 */ sw $s0, 0x28($sp) +/* DDD5D0 80240DA0 00A0802D */ daddu $s0, $a1, $zero +/* DDD5D4 80240DA4 AFBF0044 */ sw $ra, 0x44($sp) +/* DDD5D8 80240DA8 AFB5003C */ sw $s5, 0x3c($sp) +/* DDD5DC 80240DAC AFB40038 */ sw $s4, 0x38($sp) +/* DDD5E0 80240DB0 AFB30034 */ sw $s3, 0x34($sp) +/* DDD5E4 80240DB4 AFB20030 */ sw $s2, 0x30($sp) +/* DDD5E8 80240DB8 AFB1002C */ sw $s1, 0x2c($sp) +/* DDD5EC 80240DBC F7B80058 */ sdc1 $f24, 0x58($sp) +/* DDD5F0 80240DC0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* DDD5F4 80240DC4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* DDD5F8 80240DC8 8ED3000C */ lw $s3, 0xc($s6) +/* DDD5FC 80240DCC 0C00EAD2 */ jal get_npc_safe +/* DDD600 80240DD0 2404FFFC */ addiu $a0, $zero, -4 +/* DDD604 80240DD4 27A50018 */ addiu $a1, $sp, 0x18 +/* DDD608 80240DD8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* DDD60C 80240DDC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* DDD610 80240DE0 27A6001C */ addiu $a2, $sp, 0x1c +/* DDD614 80240DE4 00041880 */ sll $v1, $a0, 2 +/* DDD618 80240DE8 00641821 */ addu $v1, $v1, $a0 +/* DDD61C 80240DEC 00031880 */ sll $v1, $v1, 2 +/* DDD620 80240DF0 00641823 */ subu $v1, $v1, $a0 +/* DDD624 80240DF4 000320C0 */ sll $a0, $v1, 3 +/* DDD628 80240DF8 00641821 */ addu $v1, $v1, $a0 +/* DDD62C 80240DFC 000318C0 */ sll $v1, $v1, 3 +/* DDD630 80240E00 3C01800B */ lui $at, 0x800b +/* DDD634 80240E04 00230821 */ addu $at, $at, $v1 +/* DDD638 80240E08 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* DDD63C 80240E0C 0C00A88D */ jal sin_cos_deg +/* DDD640 80240E10 0040A82D */ daddu $s5, $v0, $zero +/* DDD644 80240E14 1200005D */ beqz $s0, .L80240F8C +/* DDD648 80240E18 00000000 */ nop +/* DDD64C 80240E1C 0C00AB0A */ jal general_heap_malloc +/* DDD650 80240E20 24040068 */ addiu $a0, $zero, 0x68 +/* DDD654 80240E24 0040902D */ daddu $s2, $v0, $zero +/* DDD658 80240E28 02C0202D */ daddu $a0, $s6, $zero +/* DDD65C 80240E2C 0000882D */ daddu $s1, $zero, $zero +/* DDD660 80240E30 2414FFFF */ addiu $s4, $zero, -1 +/* DDD664 80240E34 AED20060 */ sw $s2, 0x60($s6) +/* DDD668 80240E38 8E650000 */ lw $a1, ($s3) +/* DDD66C 80240E3C 3C014148 */ lui $at, 0x4148 +/* DDD670 80240E40 4481C000 */ mtc1 $at, $f24 +/* DDD674 80240E44 3C013F80 */ lui $at, 0x3f80 +/* DDD678 80240E48 4481B000 */ mtc1 $at, $f22 +/* DDD67C 80240E4C 4480A000 */ mtc1 $zero, $f20 +/* DDD680 80240E50 0C0B1EAF */ jal get_variable +/* DDD684 80240E54 0240802D */ daddu $s0, $s2, $zero +/* DDD688 80240E58 0C04417A */ jal get_entity_by_index +/* DDD68C 80240E5C 0040202D */ daddu $a0, $v0, $zero +/* DDD690 80240E60 AE42005C */ sw $v0, 0x5c($s2) +.L80240E64: +/* DDD694 80240E64 8E42005C */ lw $v0, 0x5c($s2) +/* DDD698 80240E68 C440004C */ lwc1 $f0, 0x4c($v0) +/* DDD69C 80240E6C 0000202D */ daddu $a0, $zero, $zero +/* DDD6A0 80240E70 E7B60010 */ swc1 $f22, 0x10($sp) +/* DDD6A4 80240E74 AFB40014 */ sw $s4, 0x14($sp) +/* DDD6A8 80240E78 46180000 */ add.s $f0, $f0, $f24 +/* DDD6AC 80240E7C 8C450048 */ lw $a1, 0x48($v0) +/* DDD6B0 80240E80 8C470050 */ lw $a3, 0x50($v0) +/* DDD6B4 80240E84 44060000 */ mfc1 $a2, $f0 +/* DDD6B8 80240E88 0C01C5BC */ jal func_800716F0 +/* DDD6BC 80240E8C 26310001 */ addiu $s1, $s1, 1 +/* DDD6C0 80240E90 AE020008 */ sw $v0, 8($s0) +/* DDD6C4 80240E94 E614002C */ swc1 $f20, 0x2c($s0) +/* DDD6C8 80240E98 E6140020 */ swc1 $f20, 0x20($s0) +/* DDD6CC 80240E9C E6140014 */ swc1 $f20, 0x14($s0) +/* DDD6D0 80240EA0 E6140050 */ swc1 $f20, 0x50($s0) +/* DDD6D4 80240EA4 E6140044 */ swc1 $f20, 0x44($s0) +/* DDD6D8 80240EA8 E6140038 */ swc1 $f20, 0x38($s0) +/* DDD6DC 80240EAC 2A220003 */ slti $v0, $s1, 3 +/* DDD6E0 80240EB0 1440FFEC */ bnez $v0, .L80240E64 +/* DDD6E4 80240EB4 26100004 */ addiu $s0, $s0, 4 +/* DDD6E8 80240EB8 0000882D */ daddu $s1, $zero, $zero +/* DDD6EC 80240EBC 0240802D */ daddu $s0, $s2, $zero +/* DDD6F0 80240EC0 3C148024 */ lui $s4, 0x8024 +/* DDD6F4 80240EC4 26941E98 */ addiu $s4, $s4, 0x1e98 +/* DDD6F8 80240EC8 3C014248 */ lui $at, 0x4248 +/* DDD6FC 80240ECC 4481A000 */ mtc1 $at, $f20 +/* DDD700 80240ED0 24130044 */ addiu $s3, $zero, 0x44 +/* DDD704 80240ED4 AE400000 */ sw $zero, ($s2) +/* DDD708 80240ED8 AE400004 */ sw $zero, 4($s2) +/* DDD70C 80240EDC AE400060 */ sw $zero, 0x60($s2) +/* DDD710 80240EE0 AE400064 */ sw $zero, 0x64($s2) +.L80240EE4: +/* DDD714 80240EE4 27A40020 */ addiu $a0, $sp, 0x20 +/* DDD718 80240EE8 4406A000 */ mfc1 $a2, $f20 +/* DDD71C 80240EEC 8E870000 */ lw $a3, ($s4) +/* DDD720 80240EF0 02532821 */ addu $a1, $s2, $s3 +/* DDD724 80240EF4 0C00A7E7 */ jal add_vec2D_polar +/* DDD728 80240EF8 AFA00020 */ sw $zero, 0x20($sp) +/* DDD72C 80240EFC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* DDD730 80240F00 C7A40020 */ lwc1 $f4, 0x20($sp) +/* DDD734 80240F04 46041082 */ mul.s $f2, $f2, $f4 +/* DDD738 80240F08 00000000 */ nop +/* DDD73C 80240F0C C7A00018 */ lwc1 $f0, 0x18($sp) +/* DDD740 80240F10 46040002 */ mul.s $f0, $f0, $f4 +/* DDD744 80240F14 00000000 */ nop +/* DDD748 80240F18 E6020038 */ swc1 $f2, 0x38($s0) +/* DDD74C 80240F1C E6000050 */ swc1 $f0, 0x50($s0) +/* DDD750 80240F20 8E42005C */ lw $v0, 0x5c($s2) +/* DDD754 80240F24 C6000038 */ lwc1 $f0, 0x38($s0) +/* DDD758 80240F28 C4420048 */ lwc1 $f2, 0x48($v0) +/* DDD75C 80240F2C 46001080 */ add.s $f2, $f2, $f0 +/* DDD760 80240F30 C6A00038 */ lwc1 $f0, 0x38($s5) +/* DDD764 80240F34 46020001 */ sub.s $f0, $f0, $f2 +/* DDD768 80240F38 E6000038 */ swc1 $f0, 0x38($s0) +/* DDD76C 80240F3C 8E42005C */ lw $v0, 0x5c($s2) +/* DDD770 80240F40 C6000044 */ lwc1 $f0, 0x44($s0) +/* DDD774 80240F44 C442004C */ lwc1 $f2, 0x4c($v0) +/* DDD778 80240F48 46001080 */ add.s $f2, $f2, $f0 +/* DDD77C 80240F4C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* DDD780 80240F50 46020001 */ sub.s $f0, $f0, $f2 +/* DDD784 80240F54 E6000044 */ swc1 $f0, 0x44($s0) +/* DDD788 80240F58 8E42005C */ lw $v0, 0x5c($s2) +/* DDD78C 80240F5C C6000050 */ lwc1 $f0, 0x50($s0) +/* DDD790 80240F60 C4420050 */ lwc1 $f2, 0x50($v0) +/* DDD794 80240F64 26940004 */ addiu $s4, $s4, 4 +/* DDD798 80240F68 46001080 */ add.s $f2, $f2, $f0 +/* DDD79C 80240F6C C6A00040 */ lwc1 $f0, 0x40($s5) +/* DDD7A0 80240F70 26730004 */ addiu $s3, $s3, 4 +/* DDD7A4 80240F74 46020001 */ sub.s $f0, $f0, $f2 +/* DDD7A8 80240F78 26310001 */ addiu $s1, $s1, 1 +/* DDD7AC 80240F7C 2A220003 */ slti $v0, $s1, 3 +/* DDD7B0 80240F80 E6000050 */ swc1 $f0, 0x50($s0) +/* DDD7B4 80240F84 1440FFD7 */ bnez $v0, .L80240EE4 +/* DDD7B8 80240F88 26100004 */ addiu $s0, $s0, 4 +.L80240F8C: +/* DDD7BC 80240F8C 8ED20060 */ lw $s2, 0x60($s6) +/* DDD7C0 80240F90 8E430000 */ lw $v1, ($s2) +/* DDD7C4 80240F94 24020001 */ addiu $v0, $zero, 1 +/* DDD7C8 80240F98 10620038 */ beq $v1, $v0, .L8024107C +/* DDD7CC 80240F9C 28620002 */ slti $v0, $v1, 2 +/* DDD7D0 80240FA0 50400005 */ beql $v0, $zero, .L80240FB8 +/* DDD7D4 80240FA4 24020002 */ addiu $v0, $zero, 2 +/* DDD7D8 80240FA8 10600007 */ beqz $v1, .L80240FC8 +/* DDD7DC 80240FAC 24040005 */ addiu $a0, $zero, 5 +/* DDD7E0 80240FB0 08090458 */ j .L80241160 +/* DDD7E4 80240FB4 00000000 */ nop +.L80240FB8: +/* DDD7E8 80240FB8 10620058 */ beq $v1, $v0, .L8024111C +/* DDD7EC 80240FBC 00000000 */ nop +/* DDD7F0 80240FC0 08090458 */ j .L80241160 +/* DDD7F4 80240FC4 00000000 */ nop +.L80240FC8: +/* DDD7F8 80240FC8 0000882D */ daddu $s1, $zero, $zero +/* DDD7FC 80240FCC 3C148024 */ lui $s4, 0x8024 +/* DDD800 80240FD0 26941E98 */ addiu $s4, $s4, 0x1e98 +/* DDD804 80240FD4 24130020 */ addiu $s3, $zero, 0x20 +/* DDD808 80240FD8 3C064248 */ lui $a2, 0x4248 +/* DDD80C 80240FDC 44800000 */ mtc1 $zero, $f0 +/* DDD810 80240FE0 24020014 */ addiu $v0, $zero, 0x14 +/* DDD814 80240FE4 AFA20010 */ sw $v0, 0x10($sp) +/* DDD818 80240FE8 44050000 */ mfc1 $a1, $f0 +/* DDD81C 80240FEC 8E470060 */ lw $a3, 0x60($s2) +/* DDD820 80240FF0 4485B000 */ mtc1 $a1, $f22 +/* DDD824 80240FF4 0C00A8ED */ jal update_lerp +/* DDD828 80240FF8 0240802D */ daddu $s0, $s2, $zero +/* DDD82C 80240FFC 46000506 */ mov.s $f20, $f0 +.L80241000: +/* DDD830 80241000 4406A000 */ mfc1 $a2, $f20 +/* DDD834 80241004 27A40020 */ addiu $a0, $sp, 0x20 +/* DDD838 80241008 E6160020 */ swc1 $f22, 0x20($s0) +/* DDD83C 8024100C 8E870000 */ lw $a3, ($s4) +/* DDD840 80241010 02532821 */ addu $a1, $s2, $s3 +/* DDD844 80241014 0C00A7E7 */ jal add_vec2D_polar +/* DDD848 80241018 E7B60020 */ swc1 $f22, 0x20($sp) +/* DDD84C 8024101C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* DDD850 80241020 C7A00020 */ lwc1 $f0, 0x20($sp) +/* DDD854 80241024 46002102 */ mul.s $f4, $f4, $f0 +/* DDD858 80241028 00000000 */ nop +/* DDD85C 8024102C C7A20018 */ lwc1 $f2, 0x18($sp) +/* DDD860 80241030 26940004 */ addiu $s4, $s4, 4 +/* DDD864 80241034 46001082 */ mul.s $f2, $f2, $f0 +/* DDD868 80241038 00000000 */ nop +/* DDD86C 8024103C 26730004 */ addiu $s3, $s3, 4 +/* DDD870 80241040 26310001 */ addiu $s1, $s1, 1 +/* DDD874 80241044 2A220003 */ slti $v0, $s1, 3 +/* DDD878 80241048 E6040014 */ swc1 $f4, 0x14($s0) +/* DDD87C 8024104C E602002C */ swc1 $f2, 0x2c($s0) +/* DDD880 80241050 1440FFEB */ bnez $v0, .L80241000 +/* DDD884 80241054 26100004 */ addiu $s0, $s0, 4 +/* DDD888 80241058 8E420060 */ lw $v0, 0x60($s2) +/* DDD88C 8024105C 24420001 */ addiu $v0, $v0, 1 +/* DDD890 80241060 AE420060 */ sw $v0, 0x60($s2) +/* DDD894 80241064 28420015 */ slti $v0, $v0, 0x15 +/* DDD898 80241068 1440003D */ bnez $v0, .L80241160 +/* DDD89C 8024106C 24020001 */ addiu $v0, $zero, 1 +/* DDD8A0 80241070 AE420000 */ sw $v0, ($s2) +/* DDD8A4 80241074 08090458 */ j .L80241160 +/* DDD8A8 80241078 AE400060 */ sw $zero, 0x60($s2) +.L8024107C: +/* DDD8AC 8024107C 0000882D */ daddu $s1, $zero, $zero +/* DDD8B0 80241080 3C148024 */ lui $s4, 0x8024 +/* DDD8B4 80241084 26941E98 */ addiu $s4, $s4, 0x1e98 +/* DDD8B8 80241088 24130020 */ addiu $s3, $zero, 0x20 +/* DDD8BC 8024108C 0240802D */ daddu $s0, $s2, $zero +/* DDD8C0 80241090 3C014248 */ lui $at, 0x4248 +/* DDD8C4 80241094 4481A000 */ mtc1 $at, $f20 +/* DDD8C8 80241098 4480B000 */ mtc1 $zero, $f22 +.L8024109C: +/* DDD8CC 8024109C 4406A000 */ mfc1 $a2, $f20 +/* DDD8D0 802410A0 27A40020 */ addiu $a0, $sp, 0x20 +/* DDD8D4 802410A4 E6160020 */ swc1 $f22, 0x20($s0) +/* DDD8D8 802410A8 8E870000 */ lw $a3, ($s4) +/* DDD8DC 802410AC 02532821 */ addu $a1, $s2, $s3 +/* DDD8E0 802410B0 0C00A7E7 */ jal add_vec2D_polar +/* DDD8E4 802410B4 E7B60020 */ swc1 $f22, 0x20($sp) +/* DDD8E8 802410B8 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* DDD8EC 802410BC C7A00020 */ lwc1 $f0, 0x20($sp) +/* DDD8F0 802410C0 46002102 */ mul.s $f4, $f4, $f0 +/* DDD8F4 802410C4 00000000 */ nop +/* DDD8F8 802410C8 C7A20018 */ lwc1 $f2, 0x18($sp) +/* DDD8FC 802410CC 26940004 */ addiu $s4, $s4, 4 +/* DDD900 802410D0 46001082 */ mul.s $f2, $f2, $f0 +/* DDD904 802410D4 00000000 */ nop +/* DDD908 802410D8 26730004 */ addiu $s3, $s3, 4 +/* DDD90C 802410DC 26310001 */ addiu $s1, $s1, 1 +/* DDD910 802410E0 2A220003 */ slti $v0, $s1, 3 +/* DDD914 802410E4 E6040014 */ swc1 $f4, 0x14($s0) +/* DDD918 802410E8 E602002C */ swc1 $f2, 0x2c($s0) +/* DDD91C 802410EC 1440FFEB */ bnez $v0, .L8024109C +/* DDD920 802410F0 26100004 */ addiu $s0, $s0, 4 +/* DDD924 802410F4 8E420060 */ lw $v0, 0x60($s2) +/* DDD928 802410F8 24420001 */ addiu $v0, $v0, 1 +/* DDD92C 802410FC AE420060 */ sw $v0, 0x60($s2) +/* DDD930 80241100 28420010 */ slti $v0, $v0, 0x10 +/* DDD934 80241104 14400016 */ bnez $v0, .L80241160 +/* DDD938 80241108 2402000F */ addiu $v0, $zero, 0xf +/* DDD93C 8024110C AE420060 */ sw $v0, 0x60($s2) +/* DDD940 80241110 24020002 */ addiu $v0, $zero, 2 +/* DDD944 80241114 08090458 */ j .L80241160 +/* DDD948 80241118 AE420000 */ sw $v0, ($s2) +.L8024111C: +/* DDD94C 8024111C 8E420060 */ lw $v0, 0x60($s2) +/* DDD950 80241120 24420001 */ addiu $v0, $v0, 1 +/* DDD954 80241124 AE420060 */ sw $v0, 0x60($s2) +/* DDD958 80241128 2842001F */ slti $v0, $v0, 0x1f +/* DDD95C 8024112C 1440000C */ bnez $v0, .L80241160 +/* DDD960 80241130 0000882D */ daddu $s1, $zero, $zero +/* DDD964 80241134 0240282D */ daddu $a1, $s2, $zero +.L80241138: +/* DDD968 80241138 8CA20008 */ lw $v0, 8($a1) +/* DDD96C 8024113C 8C430000 */ lw $v1, ($v0) +/* DDD970 80241140 26310001 */ addiu $s1, $s1, 1 +/* DDD974 80241144 34630010 */ ori $v1, $v1, 0x10 +/* DDD978 80241148 AC430000 */ sw $v1, ($v0) +/* DDD97C 8024114C 2A220003 */ slti $v0, $s1, 3 +/* DDD980 80241150 1440FFF9 */ bnez $v0, .L80241138 +/* DDD984 80241154 24A50004 */ addiu $a1, $a1, 4 +/* DDD988 80241158 080904A5 */ j .L80241294 +/* DDD98C 8024115C 24020002 */ addiu $v0, $zero, 2 +.L80241160: +/* DDD990 80241160 8E430004 */ lw $v1, 4($s2) +/* DDD994 80241164 10600005 */ beqz $v1, .L8024117C +/* DDD998 80241168 24020001 */ addiu $v0, $zero, 1 +/* DDD99C 8024116C 1062000B */ beq $v1, $v0, .L8024119C +/* DDD9A0 80241170 0000882D */ daddu $s1, $zero, $zero +/* DDD9A4 80241174 08090494 */ j .L80241250 +/* DDD9A8 80241178 0240282D */ daddu $a1, $s2, $zero +.L8024117C: +/* DDD9AC 8024117C 8E420064 */ lw $v0, 0x64($s2) +/* DDD9B0 80241180 24420001 */ addiu $v0, $v0, 1 +/* DDD9B4 80241184 AE420064 */ sw $v0, 0x64($s2) +/* DDD9B8 80241188 28420010 */ slti $v0, $v0, 0x10 +/* DDD9BC 8024118C 1440002F */ bnez $v0, .L8024124C +/* DDD9C0 80241190 0000882D */ daddu $s1, $zero, $zero +/* DDD9C4 80241194 08090490 */ j .L80241240 +/* DDD9C8 80241198 24020001 */ addiu $v0, $zero, 1 +.L8024119C: +/* DDD9CC 8024119C 4480A000 */ mtc1 $zero, $f20 +/* DDD9D0 802411A0 24130014 */ addiu $s3, $zero, 0x14 +/* DDD9D4 802411A4 0240802D */ daddu $s0, $s2, $zero +.L802411A8: +/* DDD9D8 802411A8 4405A000 */ mfc1 $a1, $f20 +/* DDD9DC 802411AC AFB30010 */ sw $s3, 0x10($sp) +/* DDD9E0 802411B0 8E060038 */ lw $a2, 0x38($s0) +/* DDD9E4 802411B4 8E470064 */ lw $a3, 0x64($s2) +/* DDD9E8 802411B8 0C00A8ED */ jal update_lerp +/* DDD9EC 802411BC 24040001 */ addiu $a0, $zero, 1 +/* DDD9F0 802411C0 C6020014 */ lwc1 $f2, 0x14($s0) +/* DDD9F4 802411C4 46001080 */ add.s $f2, $f2, $f0 +/* DDD9F8 802411C8 4405A000 */ mfc1 $a1, $f20 +/* DDD9FC 802411CC E6020014 */ swc1 $f2, 0x14($s0) +/* DDDA00 802411D0 AFB30010 */ sw $s3, 0x10($sp) +/* DDDA04 802411D4 8E060044 */ lw $a2, 0x44($s0) +/* DDDA08 802411D8 8E470064 */ lw $a3, 0x64($s2) +/* DDDA0C 802411DC 0C00A8ED */ jal update_lerp +/* DDDA10 802411E0 24040001 */ addiu $a0, $zero, 1 +/* DDDA14 802411E4 C6020020 */ lwc1 $f2, 0x20($s0) +/* DDDA18 802411E8 46001080 */ add.s $f2, $f2, $f0 +/* DDDA1C 802411EC 4405A000 */ mfc1 $a1, $f20 +/* DDDA20 802411F0 E6020020 */ swc1 $f2, 0x20($s0) +/* DDDA24 802411F4 AFB30010 */ sw $s3, 0x10($sp) +/* DDDA28 802411F8 8E060050 */ lw $a2, 0x50($s0) +/* DDDA2C 802411FC 8E470064 */ lw $a3, 0x64($s2) +/* DDDA30 80241200 0C00A8ED */ jal update_lerp +/* DDDA34 80241204 24040001 */ addiu $a0, $zero, 1 +/* DDDA38 80241208 C602002C */ lwc1 $f2, 0x2c($s0) +/* DDDA3C 8024120C 46001080 */ add.s $f2, $f2, $f0 +/* DDDA40 80241210 26310001 */ addiu $s1, $s1, 1 +/* DDDA44 80241214 2A220003 */ slti $v0, $s1, 3 +/* DDDA48 80241218 E602002C */ swc1 $f2, 0x2c($s0) +/* DDDA4C 8024121C 1440FFE2 */ bnez $v0, .L802411A8 +/* DDDA50 80241220 26100004 */ addiu $s0, $s0, 4 +/* DDDA54 80241224 8E420064 */ lw $v0, 0x64($s2) +/* DDDA58 80241228 24420001 */ addiu $v0, $v0, 1 +/* DDDA5C 8024122C AE420064 */ sw $v0, 0x64($s2) +/* DDDA60 80241230 28420015 */ slti $v0, $v0, 0x15 +/* DDDA64 80241234 14400005 */ bnez $v0, .L8024124C +/* DDDA68 80241238 0000882D */ daddu $s1, $zero, $zero +/* DDDA6C 8024123C 24020002 */ addiu $v0, $zero, 2 +.L80241240: +/* DDDA70 80241240 AE420004 */ sw $v0, 4($s2) +/* DDDA74 80241244 AE400064 */ sw $zero, 0x64($s2) +/* DDDA78 80241248 0000882D */ daddu $s1, $zero, $zero +.L8024124C: +/* DDDA7C 8024124C 0240282D */ daddu $a1, $s2, $zero +.L80241250: +/* DDDA80 80241250 8CA20008 */ lw $v0, 8($a1) +/* DDDA84 80241254 C4A00014 */ lwc1 $f0, 0x14($a1) +/* DDDA88 80241258 8C42000C */ lw $v0, 0xc($v0) +/* DDDA8C 8024125C E4400010 */ swc1 $f0, 0x10($v0) +/* DDDA90 80241260 8CA20008 */ lw $v0, 8($a1) +/* DDDA94 80241264 C4A00020 */ lwc1 $f0, 0x20($a1) +/* DDDA98 80241268 8C42000C */ lw $v0, 0xc($v0) +/* DDDA9C 8024126C 26310001 */ addiu $s1, $s1, 1 +/* DDDAA0 80241270 E4400014 */ swc1 $f0, 0x14($v0) +/* DDDAA4 80241274 8CA20008 */ lw $v0, 8($a1) +/* DDDAA8 80241278 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* DDDAAC 8024127C 8C42000C */ lw $v0, 0xc($v0) +/* DDDAB0 80241280 E4400018 */ swc1 $f0, 0x18($v0) +/* DDDAB4 80241284 2A220003 */ slti $v0, $s1, 3 +/* DDDAB8 80241288 1440FFF1 */ bnez $v0, .L80241250 +/* DDDABC 8024128C 24A50004 */ addiu $a1, $a1, 4 +/* DDDAC0 80241290 0000102D */ daddu $v0, $zero, $zero +.L80241294: +/* DDDAC4 80241294 8FBF0044 */ lw $ra, 0x44($sp) +/* DDDAC8 80241298 8FB60040 */ lw $s6, 0x40($sp) +/* DDDACC 8024129C 8FB5003C */ lw $s5, 0x3c($sp) +/* DDDAD0 802412A0 8FB40038 */ lw $s4, 0x38($sp) +/* DDDAD4 802412A4 8FB30034 */ lw $s3, 0x34($sp) +/* DDDAD8 802412A8 8FB20030 */ lw $s2, 0x30($sp) +/* DDDADC 802412AC 8FB1002C */ lw $s1, 0x2c($sp) +/* DDDAE0 802412B0 8FB00028 */ lw $s0, 0x28($sp) +/* DDDAE4 802412B4 D7B80058 */ ldc1 $f24, 0x58($sp) +/* DDDAE8 802412B8 D7B60050 */ ldc1 $f22, 0x50($sp) +/* DDDAEC 802412BC D7B40048 */ ldc1 $f20, 0x48($sp) +/* DDDAF0 802412C0 03E00008 */ jr $ra +/* DDDAF4 802412C4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_802412C8_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_802412C8_DDC830.s new file mode 100644 index 0000000000..808a7efbbb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_802412C8_DDC830.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C8_DDDAF8 +/* DDDAF8 802412C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDDAFC 802412CC AFB10014 */ sw $s1, 0x14($sp) +/* DDDB00 802412D0 0080882D */ daddu $s1, $a0, $zero +/* DDDB04 802412D4 AFB20018 */ sw $s2, 0x18($sp) +/* DDDB08 802412D8 AFBF001C */ sw $ra, 0x1c($sp) +/* DDDB0C 802412DC AFB00010 */ sw $s0, 0x10($sp) +/* DDDB10 802412E0 8E30000C */ lw $s0, 0xc($s1) +/* DDDB14 802412E4 10A00010 */ beqz $a1, .L80241328 +/* DDDB18 802412E8 0000902D */ daddu $s2, $zero, $zero +/* DDDB1C 802412EC 8E050000 */ lw $a1, ($s0) +/* DDDB20 802412F0 0C0B1EAF */ jal get_variable +/* DDDB24 802412F4 26100004 */ addiu $s0, $s0, 4 +/* DDDB28 802412F8 AE220084 */ sw $v0, 0x84($s1) +/* DDDB2C 802412FC 8E050000 */ lw $a1, ($s0) +/* DDDB30 80241300 0C0B1EAF */ jal get_variable +/* DDDB34 80241304 0220202D */ daddu $a0, $s1, $zero +/* DDDB38 80241308 0240202D */ daddu $a0, $s2, $zero +/* DDDB3C 8024130C 240500D0 */ addiu $a1, $zero, 0xd0 +/* DDDB40 80241310 00A0302D */ daddu $a2, $a1, $zero +/* DDDB44 80241314 00A0382D */ daddu $a3, $a1, $zero +/* DDDB48 80241318 AE220088 */ sw $v0, 0x88($s1) +/* DDDB4C 8024131C AE200070 */ sw $zero, 0x70($s1) +/* DDDB50 80241320 0C04DF84 */ jal func_80137E10 +/* DDDB54 80241324 AE200074 */ sw $zero, 0x74($s1) +.L80241328: +/* DDDB58 80241328 8E230070 */ lw $v1, 0x70($s1) +/* DDDB5C 8024132C 24040001 */ addiu $a0, $zero, 1 +/* DDDB60 80241330 10640019 */ beq $v1, $a0, .L80241398 +/* DDDB64 80241334 28620002 */ slti $v0, $v1, 2 +/* DDDB68 80241338 10400005 */ beqz $v0, .L80241350 +/* DDDB6C 8024133C 24020002 */ addiu $v0, $zero, 2 +/* DDDB70 80241340 10600007 */ beqz $v1, .L80241360 +/* DDDB74 80241344 240500FF */ addiu $a1, $zero, 0xff +/* DDDB78 80241348 080904F6 */ j .L802413D8 +/* DDDB7C 8024134C 00000000 */ nop +.L80241350: +/* DDDB80 80241350 10620019 */ beq $v1, $v0, .L802413B8 +/* DDDB84 80241354 00000000 */ nop +/* DDDB88 80241358 080904F6 */ j .L802413D8 +/* DDDB8C 8024135C 00000000 */ nop +.L80241360: +/* DDDB90 80241360 8E220074 */ lw $v0, 0x74($s1) +/* DDDB94 80241364 14450004 */ bne $v0, $a1, .L80241378 +/* DDDB98 80241368 00000000 */ nop +/* DDDB9C 8024136C AE240070 */ sw $a0, 0x70($s1) +/* DDDBA0 80241370 AE200078 */ sw $zero, 0x78($s1) +/* DDDBA4 80241374 8E220074 */ lw $v0, 0x74($s1) +.L80241378: +/* DDDBA8 80241378 8E230084 */ lw $v1, 0x84($s1) +/* DDDBAC 8024137C 00431021 */ addu $v0, $v0, $v1 +/* DDDBB0 80241380 AE220074 */ sw $v0, 0x74($s1) +/* DDDBB4 80241384 28420100 */ slti $v0, $v0, 0x100 +/* DDDBB8 80241388 50400013 */ beql $v0, $zero, .L802413D8 +/* DDDBBC 8024138C AE250074 */ sw $a1, 0x74($s1) +/* DDDBC0 80241390 080904F6 */ j .L802413D8 +/* DDDBC4 80241394 00000000 */ nop +.L80241398: +/* DDDBC8 80241398 8E220078 */ lw $v0, 0x78($s1) +/* DDDBCC 8024139C 24420001 */ addiu $v0, $v0, 1 +/* DDDBD0 802413A0 AE220078 */ sw $v0, 0x78($s1) +/* DDDBD4 802413A4 28420002 */ slti $v0, $v0, 2 +/* DDDBD8 802413A8 1440000B */ bnez $v0, .L802413D8 +/* DDDBDC 802413AC 24020002 */ addiu $v0, $zero, 2 +/* DDDBE0 802413B0 080904F6 */ j .L802413D8 +/* DDDBE4 802413B4 AE220070 */ sw $v0, 0x70($s1) +.L802413B8: +/* DDDBE8 802413B8 8E230074 */ lw $v1, 0x74($s1) +/* DDDBEC 802413BC 50600001 */ beql $v1, $zero, .L802413C4 +/* DDDBF0 802413C0 24120001 */ addiu $s2, $zero, 1 +.L802413C4: +/* DDDBF4 802413C4 8E220088 */ lw $v0, 0x88($s1) +/* DDDBF8 802413C8 00621023 */ subu $v0, $v1, $v0 +/* DDDBFC 802413CC 04410002 */ bgez $v0, .L802413D8 +/* DDDC00 802413D0 AE220074 */ sw $v0, 0x74($s1) +/* DDDC04 802413D4 AE200074 */ sw $zero, 0x74($s1) +.L802413D8: +/* DDDC08 802413D8 C6200074 */ lwc1 $f0, 0x74($s1) +/* DDDC0C 802413DC 46800020 */ cvt.s.w $f0, $f0 +/* DDDC10 802413E0 44050000 */ mfc1 $a1, $f0 +/* DDDC14 802413E4 0C04DF62 */ jal func_80137D88 +/* DDDC18 802413E8 24040001 */ addiu $a0, $zero, 1 +/* DDDC1C 802413EC 0240102D */ daddu $v0, $s2, $zero +/* DDDC20 802413F0 8FBF001C */ lw $ra, 0x1c($sp) +/* DDDC24 802413F4 8FB20018 */ lw $s2, 0x18($sp) +/* DDDC28 802413F8 8FB10014 */ lw $s1, 0x14($sp) +/* DDDC2C 802413FC 8FB00010 */ lw $s0, 0x10($sp) +/* DDDC30 80241400 03E00008 */ jr $ra +/* DDDC34 80241404 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80241408.s b/asm/nonmatchings/world/area_omo/omo_11/func_80241408.s new file mode 100644 index 0000000000..e6b772c0df --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80241408.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241408 +/* DDDC38 80241408 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDDC3C 8024140C AFBF0018 */ sw $ra, 0x18($sp) +/* DDDC40 80241410 0C00EAD2 */ jal get_npc_safe +/* DDDC44 80241414 2404FFFC */ addiu $a0, $zero, -4 +/* DDDC48 80241418 3C0141F0 */ lui $at, 0x41f0 +/* DDDC4C 8024141C 44810000 */ mtc1 $at, $f0 +/* DDDC50 80241420 C442003C */ lwc1 $f2, 0x3c($v0) +/* DDDC54 80241424 46001080 */ add.s $f2, $f2, $f0 +/* DDDC58 80241428 E7A00010 */ swc1 $f0, 0x10($sp) +/* DDDC5C 8024142C 8C450038 */ lw $a1, 0x38($v0) +/* DDDC60 80241430 8C470040 */ lw $a3, 0x40($v0) +/* DDDC64 80241434 44061000 */ mfc1 $a2, $f2 +/* DDDC68 80241438 0C01BFBC */ jal func_8006FEF0 +/* DDDC6C 8024143C 24040002 */ addiu $a0, $zero, 2 +/* DDDC70 80241440 8FBF0018 */ lw $ra, 0x18($sp) +/* DDDC74 80241444 24020002 */ addiu $v0, $zero, 2 +/* DDDC78 80241448 03E00008 */ jr $ra +/* DDDC7C 8024144C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80241450_DDC830.s b/asm/nonmatchings/world/area_omo/omo_11/func_80241450_DDC830.s new file mode 100644 index 0000000000..fa49c6c1e0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80241450_DDC830.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241450_DDDC80 +/* DDDC80 80241450 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDDC84 80241454 AFBF0018 */ sw $ra, 0x18($sp) +/* DDDC88 80241458 0C00EAD2 */ jal get_npc_safe +/* DDDC8C 8024145C 2404FFFC */ addiu $a0, $zero, -4 +/* DDDC90 80241460 3C0141F0 */ lui $at, 0x41f0 +/* DDDC94 80241464 44810000 */ mtc1 $at, $f0 +/* DDDC98 80241468 C442003C */ lwc1 $f2, 0x3c($v0) +/* DDDC9C 8024146C 46001080 */ add.s $f2, $f2, $f0 +/* DDDCA0 80241470 E7A00010 */ swc1 $f0, 0x10($sp) +/* DDDCA4 80241474 8C450038 */ lw $a1, 0x38($v0) +/* DDDCA8 80241478 8C470040 */ lw $a3, 0x40($v0) +/* DDDCAC 8024147C 44061000 */ mfc1 $a2, $f2 +/* DDDCB0 80241480 0C01BFBC */ jal func_8006FEF0 +/* DDDCB4 80241484 24040004 */ addiu $a0, $zero, 4 +/* DDDCB8 80241488 8FBF0018 */ lw $ra, 0x18($sp) +/* DDDCBC 8024148C 24020002 */ addiu $v0, $zero, 2 +/* DDDCC0 80241490 03E00008 */ jr $ra +/* DDDCC4 80241494 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_11/func_80241498.s b/asm/nonmatchings/world/area_omo/omo_11/func_80241498.s new file mode 100644 index 0000000000..2097302270 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_11/func_80241498.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241498 +/* DDDCC8 80241498 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* DDDCCC 8024149C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* DDDCD0 802414A0 AC800084 */ sw $zero, 0x84($a0) +/* DDDCD4 802414A4 80620000 */ lb $v0, ($v1) +/* DDDCD8 802414A8 10400005 */ beqz $v0, .L802414C0 +/* DDDCDC 802414AC 24020003 */ addiu $v0, $zero, 3 +/* DDDCE0 802414B0 80630003 */ lb $v1, 3($v1) +/* DDDCE4 802414B4 14620002 */ bne $v1, $v0, .L802414C0 +/* DDDCE8 802414B8 24020001 */ addiu $v0, $zero, 1 +/* DDDCEC 802414BC AC820084 */ sw $v0, 0x84($a0) +.L802414C0: +/* DDDCF0 802414C0 03E00008 */ jr $ra +/* DDDCF4 802414C4 24020002 */ addiu $v0, $zero, 2 +/* DDDCF8 802414C8 00000000 */ nop +/* DDDCFC 802414CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_80240000_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_80240000_DDF310.s new file mode 100644 index 0000000000..9ffe0fcf70 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_80240000_DDF310.s @@ -0,0 +1,109 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DDF310 +/* DDF310 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DDF314 80240004 AFB20018 */ sw $s2, 0x18($sp) +/* DDF318 80240008 0080902D */ daddu $s2, $a0, $zero +/* DDF31C 8024000C AFB10014 */ sw $s1, 0x14($sp) +/* DDF320 80240010 00A0882D */ daddu $s1, $a1, $zero +/* DDF324 80240014 AFBF0024 */ sw $ra, 0x24($sp) +/* DDF328 80240018 AFB40020 */ sw $s4, 0x20($sp) +/* DDF32C 8024001C AFB3001C */ sw $s3, 0x1c($sp) +/* DDF330 80240020 AFB00010 */ sw $s0, 0x10($sp) +/* DDF334 80240024 8E50000C */ lw $s0, 0xc($s2) +/* DDF338 80240028 8E050000 */ lw $a1, ($s0) +/* DDF33C 8024002C 0C0B1EAF */ jal get_variable +/* DDF340 80240030 26100004 */ addiu $s0, $s0, 4 +/* DDF344 80240034 0240202D */ daddu $a0, $s2, $zero +/* DDF348 80240038 8E050000 */ lw $a1, ($s0) +/* DDF34C 8024003C 0C0B1EAF */ jal get_variable +/* DDF350 80240040 0040802D */ daddu $s0, $v0, $zero +/* DDF354 80240044 0200202D */ daddu $a0, $s0, $zero +/* DDF358 80240048 0C00EAD2 */ jal get_npc_safe +/* DDF35C 8024004C 0040A02D */ daddu $s4, $v0, $zero +/* DDF360 80240050 3C138011 */ lui $s3, %hi(gPlayerData) +/* DDF364 80240054 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* DDF368 80240058 12200006 */ beqz $s1, .L80240074 +/* DDF36C 8024005C 0040802D */ daddu $s0, $v0, $zero +/* DDF370 80240060 82620012 */ lb $v0, 0x12($s3) +/* DDF374 80240064 54400003 */ bnel $v0, $zero, .L80240074 +/* DDF378 80240068 AE400070 */ sw $zero, 0x70($s2) +/* DDF37C 8024006C 24020002 */ addiu $v0, $zero, 2 +/* DDF380 80240070 AE420070 */ sw $v0, 0x70($s2) +.L80240074: +/* DDF384 80240074 8E430070 */ lw $v1, 0x70($s2) +/* DDF388 80240078 24110001 */ addiu $s1, $zero, 1 +/* DDF38C 8024007C 10710013 */ beq $v1, $s1, .L802400CC +/* DDF390 80240080 28620002 */ slti $v0, $v1, 2 +/* DDF394 80240084 10400005 */ beqz $v0, .L8024009C +/* DDF398 80240088 24020002 */ addiu $v0, $zero, 2 +/* DDF39C 8024008C 10600009 */ beqz $v1, .L802400B4 +/* DDF3A0 80240090 0000102D */ daddu $v0, $zero, $zero +/* DDF3A4 80240094 08090059 */ j .L80240164 +/* DDF3A8 80240098 00000000 */ nop +.L8024009C: +/* DDF3AC 8024009C 10620013 */ beq $v1, $v0, .L802400EC +/* DDF3B0 802400A0 24020003 */ addiu $v0, $zero, 3 +/* DDF3B4 802400A4 1062001E */ beq $v1, $v0, .L80240120 +/* DDF3B8 802400A8 0000102D */ daddu $v0, $zero, $zero +/* DDF3BC 802400AC 08090059 */ j .L80240164 +/* DDF3C0 802400B0 00000000 */ nop +.L802400B4: +/* DDF3C4 802400B4 0C03AC5A */ jal func_800EB168 +/* DDF3C8 802400B8 0000202D */ daddu $a0, $zero, $zero +/* DDF3CC 802400BC 2402001E */ addiu $v0, $zero, 0x1e +/* DDF3D0 802400C0 AE420074 */ sw $v0, 0x74($s2) +/* DDF3D4 802400C4 08090058 */ j .L80240160 +/* DDF3D8 802400C8 AE510070 */ sw $s1, 0x70($s2) +.L802400CC: +/* DDF3DC 802400CC 8E420074 */ lw $v0, 0x74($s2) +/* DDF3E0 802400D0 2403FFFF */ addiu $v1, $zero, -1 +/* DDF3E4 802400D4 2442FFFF */ addiu $v0, $v0, -1 +/* DDF3E8 802400D8 14430021 */ bne $v0, $v1, .L80240160 +/* DDF3EC 802400DC AE420074 */ sw $v0, 0x74($s2) +/* DDF3F0 802400E0 24020002 */ addiu $v0, $zero, 2 +/* DDF3F4 802400E4 08090058 */ j .L80240160 +/* DDF3F8 802400E8 AE420070 */ sw $v0, 0x70($s2) +.L802400EC: +/* DDF3FC 802400EC 0200202D */ daddu $a0, $s0, $zero +/* DDF400 802400F0 00141600 */ sll $v0, $s4, 0x18 +/* DDF404 802400F4 00021543 */ sra $v0, $v0, 0x15 +/* DDF408 802400F8 02621021 */ addu $v0, $s3, $v0 +/* DDF40C 802400FC A2740012 */ sb $s4, 0x12($s3) +/* DDF410 80240100 0C03BD17 */ jal clear_partner_move_history +/* DDF414 80240104 A0510014 */ sb $s1, 0x14($v0) +/* DDF418 80240108 82640012 */ lb $a0, 0x12($s3) +/* DDF41C 8024010C 0C03ACA9 */ jal func_800EB2A4 +/* DDF420 80240110 00000000 */ nop +/* DDF424 80240114 24020003 */ addiu $v0, $zero, 3 +/* DDF428 80240118 08090058 */ j .L80240160 +/* DDF42C 8024011C AE420070 */ sw $v0, 0x70($s2) +.L80240120: +/* DDF430 80240120 0C00EAD2 */ jal get_npc_safe +/* DDF434 80240124 2404FFFC */ addiu $a0, $zero, -4 +/* DDF438 80240128 8E05000C */ lw $a1, 0xc($s0) +/* DDF43C 8024012C 0C00ECD0 */ jal set_npc_yaw +/* DDF440 80240130 0040202D */ daddu $a0, $v0, $zero +/* DDF444 80240134 0200202D */ daddu $a0, $s0, $zero +/* DDF448 80240138 8E020000 */ lw $v0, ($s0) +/* DDF44C 8024013C 2403FFFB */ addiu $v1, $zero, -5 +/* DDF450 80240140 00431024 */ and $v0, $v0, $v1 +/* DDF454 80240144 0C00EAFF */ jal disable_npc_shadow +/* DDF458 80240148 AE020000 */ sw $v0, ($s0) +/* DDF45C 8024014C 3C01C47A */ lui $at, 0xc47a +/* DDF460 80240150 44810000 */ mtc1 $at, $f0 +/* DDF464 80240154 24020002 */ addiu $v0, $zero, 2 +/* DDF468 80240158 08090059 */ j .L80240164 +/* DDF46C 8024015C E600003C */ swc1 $f0, 0x3c($s0) +.L80240160: +/* DDF470 80240160 0000102D */ daddu $v0, $zero, $zero +.L80240164: +/* DDF474 80240164 8FBF0024 */ lw $ra, 0x24($sp) +/* DDF478 80240168 8FB40020 */ lw $s4, 0x20($sp) +/* DDF47C 8024016C 8FB3001C */ lw $s3, 0x1c($sp) +/* DDF480 80240170 8FB20018 */ lw $s2, 0x18($sp) +/* DDF484 80240174 8FB10014 */ lw $s1, 0x14($sp) +/* DDF488 80240178 8FB00010 */ lw $s0, 0x10($sp) +/* DDF48C 8024017C 03E00008 */ jr $ra +/* DDF490 80240180 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_80240184_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_80240184_DDF310.s new file mode 100644 index 0000000000..08fcdd7c9d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_80240184_DDF310.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240184_DDF494 +/* DDF494 80240184 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DDF498 80240188 AFB00018 */ sw $s0, 0x18($sp) +/* DDF49C 8024018C 0080802D */ daddu $s0, $a0, $zero +/* DDF4A0 80240190 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* DDF4A4 80240194 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* DDF4A8 80240198 AFB1001C */ sw $s1, 0x1c($sp) +/* DDF4AC 8024019C 3C118011 */ lui $s1, %hi(gPlayerData) +/* DDF4B0 802401A0 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* DDF4B4 802401A4 AFB20020 */ sw $s2, 0x20($sp) +/* DDF4B8 802401A8 0220902D */ daddu $s2, $s1, $zero +/* DDF4BC 802401AC 10A00004 */ beqz $a1, .L802401C0 +/* DDF4C0 802401B0 AFBF0024 */ sw $ra, 0x24($sp) +/* DDF4C4 802401B4 240200FF */ addiu $v0, $zero, 0xff +/* DDF4C8 802401B8 AE020070 */ sw $v0, 0x70($s0) +/* DDF4CC 802401BC AE000074 */ sw $zero, 0x74($s0) +.L802401C0: +/* DDF4D0 802401C0 24040001 */ addiu $a0, $zero, 1 +/* DDF4D4 802401C4 C460002C */ lwc1 $f0, 0x2c($v1) +/* DDF4D8 802401C8 3C014100 */ lui $at, 0x4100 +/* DDF4DC 802401CC 44811000 */ mtc1 $at, $f2 +/* DDF4E0 802401D0 00000000 */ nop +/* DDF4E4 802401D4 46020000 */ add.s $f0, $f0, $f2 +/* DDF4E8 802401D8 C4620030 */ lwc1 $f2, 0x30($v1) +/* DDF4EC 802401DC C4640028 */ lwc1 $f4, 0x28($v1) +/* DDF4F0 802401E0 4600118D */ trunc.w.s $f6, $f2 +/* DDF4F4 802401E4 E7A60010 */ swc1 $f6, 0x10($sp) +/* DDF4F8 802401E8 4600218D */ trunc.w.s $f6, $f4 +/* DDF4FC 802401EC 44063000 */ mfc1 $a2, $f6 +/* DDF500 802401F0 4600018D */ trunc.w.s $f6, $f0 +/* DDF504 802401F4 44073000 */ mfc1 $a3, $f6 +/* DDF508 802401F8 0C04DFB0 */ jal func_80137EC0 +/* DDF50C 802401FC 0080282D */ daddu $a1, $a0, $zero +/* DDF510 80240200 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* DDF514 80240204 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* DDF518 80240208 10400012 */ beqz $v0, .L80240254 +/* DDF51C 8024020C 24020006 */ addiu $v0, $zero, 6 +/* DDF520 80240210 82230012 */ lb $v1, 0x12($s1) +/* DDF524 80240214 14620022 */ bne $v1, $v0, .L802402A0 +/* DDF528 80240218 00000000 */ nop +/* DDF52C 8024021C 8E020074 */ lw $v0, 0x74($s0) +/* DDF530 80240220 14400004 */ bnez $v0, .L80240234 +/* DDF534 80240224 24020001 */ addiu $v0, $zero, 1 +/* DDF538 80240228 AE020074 */ sw $v0, 0x74($s0) +/* DDF53C 8024022C 0C05272D */ jal play_sound +/* DDF540 80240230 24042011 */ addiu $a0, $zero, 0x2011 +.L80240234: +/* DDF544 80240234 8E020070 */ lw $v0, 0x70($s0) +/* DDF548 80240238 2442FFF8 */ addiu $v0, $v0, -8 +/* DDF54C 8024023C AE020070 */ sw $v0, 0x70($s0) +/* DDF550 80240240 2842005A */ slti $v0, $v0, 0x5a +/* DDF554 80240244 10400016 */ beqz $v0, .L802402A0 +/* DDF558 80240248 2402005A */ addiu $v0, $zero, 0x5a +/* DDF55C 8024024C 080900A8 */ j .L802402A0 +/* DDF560 80240250 AE020070 */ sw $v0, 0x70($s0) +.L80240254: +/* DDF564 80240254 82430012 */ lb $v1, 0x12($s2) +/* DDF568 80240258 14620010 */ bne $v1, $v0, .L8024029C +/* DDF56C 8024025C 240200FF */ addiu $v0, $zero, 0xff +/* DDF570 80240260 8E020074 */ lw $v0, 0x74($s0) +/* DDF574 80240264 10400007 */ beqz $v0, .L80240284 +/* DDF578 80240268 00000000 */ nop +/* DDF57C 8024026C 8E020070 */ lw $v0, 0x70($s0) +/* DDF580 80240270 284200FF */ slti $v0, $v0, 0xff +/* DDF584 80240274 10400003 */ beqz $v0, .L80240284 +/* DDF588 80240278 AE000074 */ sw $zero, 0x74($s0) +/* DDF58C 8024027C 0C05272D */ jal play_sound +/* DDF590 80240280 24042012 */ addiu $a0, $zero, 0x2012 +.L80240284: +/* DDF594 80240284 8E020070 */ lw $v0, 0x70($s0) +/* DDF598 80240288 24420008 */ addiu $v0, $v0, 8 +/* DDF59C 8024028C AE020070 */ sw $v0, 0x70($s0) +/* DDF5A0 80240290 284200FF */ slti $v0, $v0, 0xff +/* DDF5A4 80240294 14400002 */ bnez $v0, .L802402A0 +/* DDF5A8 80240298 240200FF */ addiu $v0, $zero, 0xff +.L8024029C: +/* DDF5AC 8024029C AE020070 */ sw $v0, 0x70($s0) +.L802402A0: +/* DDF5B0 802402A0 C6060070 */ lwc1 $f6, 0x70($s0) +/* DDF5B4 802402A4 468031A0 */ cvt.s.w $f6, $f6 +/* DDF5B8 802402A8 44053000 */ mfc1 $a1, $f6 +/* DDF5BC 802402AC 0C04E035 */ jal func_801380D4 +/* DDF5C0 802402B0 24040001 */ addiu $a0, $zero, 1 +/* DDF5C4 802402B4 3C05437F */ lui $a1, 0x437f +/* DDF5C8 802402B8 0C04DF69 */ jal func_80137DA4 +/* DDF5CC 802402BC 2404000B */ addiu $a0, $zero, 0xb +/* DDF5D0 802402C0 8FBF0024 */ lw $ra, 0x24($sp) +/* DDF5D4 802402C4 8FB20020 */ lw $s2, 0x20($sp) +/* DDF5D8 802402C8 8FB1001C */ lw $s1, 0x1c($sp) +/* DDF5DC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* DDF5E0 802402D0 0000102D */ daddu $v0, $zero, $zero +/* DDF5E4 802402D4 03E00008 */ jr $ra +/* DDF5E8 802402D8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_802402DC.s b/asm/nonmatchings/world/area_omo/omo_12/func_802402DC.s new file mode 100644 index 0000000000..bb20647212 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_802402DC.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402DC +/* DDF5EC 802402DC 3C03800B */ lui $v1, %hi(gCameras) +/* DDF5F0 802402E0 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DDF5F4 802402E4 94620000 */ lhu $v0, ($v1) +/* DDF5F8 802402E8 34421000 */ ori $v0, $v0, 0x1000 +/* DDF5FC 802402EC A4620000 */ sh $v0, ($v1) +/* DDF600 802402F0 03E00008 */ jr $ra +/* DDF604 802402F4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_802402F8_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_802402F8_DDF310.s new file mode 100644 index 0000000000..576ddf255f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_802402F8_DDF310.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F8_DDF608 +/* DDF608 802402F8 3C03800B */ lui $v1, %hi(gCameras) +/* DDF60C 802402FC 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DDF610 80240300 94620000 */ lhu $v0, ($v1) +/* DDF614 80240304 3042EFFF */ andi $v0, $v0, 0xefff +/* DDF618 80240308 A4620000 */ sh $v0, ($v1) +/* DDF61C 8024030C 03E00008 */ jr $ra +/* DDF620 80240310 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_80240314_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_80240314_DDF310.s new file mode 100644 index 0000000000..acd4c48ef5 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_80240314_DDF310.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240314_DDF624 +/* DDF624 80240314 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DDF628 80240318 AFB1001C */ sw $s1, 0x1c($sp) +/* DDF62C 8024031C 0080882D */ daddu $s1, $a0, $zero +/* DDF630 80240320 AFBF0028 */ sw $ra, 0x28($sp) +/* DDF634 80240324 AFB30024 */ sw $s3, 0x24($sp) +/* DDF638 80240328 AFB20020 */ sw $s2, 0x20($sp) +/* DDF63C 8024032C AFB00018 */ sw $s0, 0x18($sp) +/* DDF640 80240330 8E30000C */ lw $s0, 0xc($s1) +/* DDF644 80240334 8E050000 */ lw $a1, ($s0) +/* DDF648 80240338 0C0B1EAF */ jal get_variable +/* DDF64C 8024033C 26100004 */ addiu $s0, $s0, 4 +/* DDF650 80240340 8E050000 */ lw $a1, ($s0) +/* DDF654 80240344 26100004 */ addiu $s0, $s0, 4 +/* DDF658 80240348 0220202D */ daddu $a0, $s1, $zero +/* DDF65C 8024034C 0C0B1EAF */ jal get_variable +/* DDF660 80240350 0040982D */ daddu $s3, $v0, $zero +/* DDF664 80240354 8E050000 */ lw $a1, ($s0) +/* DDF668 80240358 26100004 */ addiu $s0, $s0, 4 +/* DDF66C 8024035C 0220202D */ daddu $a0, $s1, $zero +/* DDF670 80240360 0C0B1EAF */ jal get_variable +/* DDF674 80240364 0040902D */ daddu $s2, $v0, $zero +/* DDF678 80240368 0220202D */ daddu $a0, $s1, $zero +/* DDF67C 8024036C 8E050000 */ lw $a1, ($s0) +/* DDF680 80240370 0C0B1EAF */ jal get_variable +/* DDF684 80240374 0040802D */ daddu $s0, $v0, $zero +/* DDF688 80240378 24040001 */ addiu $a0, $zero, 1 +/* DDF68C 8024037C 0080282D */ daddu $a1, $a0, $zero +/* DDF690 80240380 AFB00010 */ sw $s0, 0x10($sp) +/* DDF694 80240384 0040802D */ daddu $s0, $v0, $zero +/* DDF698 80240388 0260302D */ daddu $a2, $s3, $zero +/* DDF69C 8024038C 0C04DFB0 */ jal func_80137EC0 +/* DDF6A0 80240390 0240382D */ daddu $a3, $s2, $zero +/* DDF6A4 80240394 44900000 */ mtc1 $s0, $f0 +/* DDF6A8 80240398 00000000 */ nop +/* DDF6AC 8024039C 46800020 */ cvt.s.w $f0, $f0 +/* DDF6B0 802403A0 44050000 */ mfc1 $a1, $f0 +/* DDF6B4 802403A4 0C04E035 */ jal func_801380D4 +/* DDF6B8 802403A8 24040001 */ addiu $a0, $zero, 1 +/* DDF6BC 802403AC 3C05437F */ lui $a1, 0x437f +/* DDF6C0 802403B0 0C04DF69 */ jal func_80137DA4 +/* DDF6C4 802403B4 2404000B */ addiu $a0, $zero, 0xb +/* DDF6C8 802403B8 8FBF0028 */ lw $ra, 0x28($sp) +/* DDF6CC 802403BC 8FB30024 */ lw $s3, 0x24($sp) +/* DDF6D0 802403C0 8FB20020 */ lw $s2, 0x20($sp) +/* DDF6D4 802403C4 8FB1001C */ lw $s1, 0x1c($sp) +/* DDF6D8 802403C8 8FB00018 */ lw $s0, 0x18($sp) +/* DDF6DC 802403CC 24020002 */ addiu $v0, $zero, 2 +/* DDF6E0 802403D0 03E00008 */ jr $ra +/* DDF6E4 802403D4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_802403D8_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_802403D8_DDF310.s new file mode 100644 index 0000000000..db0ee250fa --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_802403D8_DDF310.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D8_DDF6E8 +/* DDF6E8 802403D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DDF6EC 802403DC F7B40018 */ sdc1 $f20, 0x18($sp) +/* DDF6F0 802403E0 4480A000 */ mtc1 $zero, $f20 +/* DDF6F4 802403E4 00000000 */ nop +/* DDF6F8 802403E8 4405A000 */ mfc1 $a1, $f20 +/* DDF6FC 802403EC AFBF0010 */ sw $ra, 0x10($sp) +/* DDF700 802403F0 0C04E035 */ jal func_801380D4 +/* DDF704 802403F4 24040001 */ addiu $a0, $zero, 1 +/* DDF708 802403F8 4405A000 */ mfc1 $a1, $f20 +/* DDF70C 802403FC 0C04DF69 */ jal func_80137DA4 +/* DDF710 80240400 2404000B */ addiu $a0, $zero, 0xb +/* DDF714 80240404 8FBF0010 */ lw $ra, 0x10($sp) +/* DDF718 80240408 D7B40018 */ ldc1 $f20, 0x18($sp) +/* DDF71C 8024040C 24020002 */ addiu $v0, $zero, 2 +/* DDF720 80240410 03E00008 */ jr $ra +/* DDF724 80240414 27BD0020 */ addiu $sp, $sp, 0x20 +/* DDF728 80240418 00000000 */ nop +/* DDF72C 8024041C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_12/func_80240420_DDF310.s b/asm/nonmatchings/world/area_omo/omo_12/func_80240420_DDF310.s new file mode 100644 index 0000000000..37e799e8e3 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_12/func_80240420_DDF310.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240420_DDF730 +/* DDF730 80240420 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DDF734 80240424 3C048024 */ lui $a0, 0x8024 +/* DDF738 80240428 24843168 */ addiu $a0, $a0, 0x3168 +/* DDF73C 8024042C 27A50010 */ addiu $a1, $sp, 0x10 +/* DDF740 80240430 AFBF0020 */ sw $ra, 0x20($sp) +/* DDF744 80240434 AFB1001C */ sw $s1, 0x1c($sp) +/* DDF748 80240438 0C016B3A */ jal load_asset_by_name +/* DDF74C 8024043C AFB00018 */ sw $s0, 0x18($sp) +/* DDF750 80240440 0040802D */ daddu $s0, $v0, $zero +/* DDF754 80240444 0200202D */ daddu $a0, $s0, $zero +/* DDF758 80240448 3C118024 */ lui $s1, 0x8024 +/* DDF75C 8024044C 26313190 */ addiu $s1, $s1, 0x3190 +/* DDF760 80240450 0C01BB7C */ jal decode_yay0 +/* DDF764 80240454 0220282D */ daddu $a1, $s1, $zero +/* DDF768 80240458 0C00AB1E */ jal general_heap_free +/* DDF76C 8024045C 0200202D */ daddu $a0, $s0, $zero +/* DDF770 80240460 3C048024 */ lui $a0, 0x8024 +/* DDF774 80240464 24847120 */ addiu $a0, $a0, 0x7120 +/* DDF778 80240468 3C028024 */ lui $v0, 0x8024 +/* DDF77C 8024046C 24423390 */ addiu $v0, $v0, 0x3390 +/* DDF780 80240470 AC820000 */ sw $v0, ($a0) +/* DDF784 80240474 24020096 */ addiu $v0, $zero, 0x96 +/* DDF788 80240478 A4820008 */ sh $v0, 8($a0) +/* DDF78C 8024047C 24020069 */ addiu $v0, $zero, 0x69 +/* DDF790 80240480 A482000A */ sh $v0, 0xa($a0) +/* DDF794 80240484 24020002 */ addiu $v0, $zero, 2 +/* DDF798 80240488 AC82000C */ sw $v0, 0xc($a0) +/* DDF79C 8024048C 24020001 */ addiu $v0, $zero, 1 +/* DDF7A0 80240490 AC910004 */ sw $s1, 4($a0) +/* DDF7A4 80240494 0C0496CB */ jal set_message_images +/* DDF7A8 80240498 AC820010 */ sw $v0, 0x10($a0) +/* DDF7AC 8024049C 8FBF0020 */ lw $ra, 0x20($sp) +/* DDF7B0 802404A0 8FB1001C */ lw $s1, 0x1c($sp) +/* DDF7B4 802404A4 8FB00018 */ lw $s0, 0x18($sp) +/* DDF7B8 802404A8 24020002 */ addiu $v0, $zero, 2 +/* DDF7BC 802404AC 03E00008 */ jr $ra +/* DDF7C0 802404B0 27BD0028 */ addiu $sp, $sp, 0x28 +/* DDF7C4 802404B4 00000000 */ nop +/* DDF7C8 802404B8 00000000 */ nop +/* DDF7CC 802404BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240000_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240000_DE2490.s new file mode 100644 index 0000000000..85e74f77a4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240000_DE2490.s @@ -0,0 +1,170 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DE2490 +/* DE2490 80240000 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* DE2494 80240004 AFB600B0 */ sw $s6, 0xb0($sp) +/* DE2498 80240008 AFBF00B4 */ sw $ra, 0xb4($sp) +/* DE249C 8024000C AFB500AC */ sw $s5, 0xac($sp) +/* DE24A0 80240010 AFB400A8 */ sw $s4, 0xa8($sp) +/* DE24A4 80240014 AFB300A4 */ sw $s3, 0xa4($sp) +/* DE24A8 80240018 AFB200A0 */ sw $s2, 0xa0($sp) +/* DE24AC 8024001C AFB1009C */ sw $s1, 0x9c($sp) +/* DE24B0 80240020 AFB00098 */ sw $s0, 0x98($sp) +/* DE24B4 80240024 F7B800C8 */ sdc1 $f24, 0xc8($sp) +/* DE24B8 80240028 F7B600C0 */ sdc1 $f22, 0xc0($sp) +/* DE24BC 8024002C F7B400B8 */ sdc1 $f20, 0xb8($sp) +/* DE24C0 80240030 10A0001D */ beqz $a1, .L802400A8 +/* DE24C4 80240034 0080B02D */ daddu $s6, $a0, $zero +/* DE24C8 80240038 0C00AB39 */ jal heap_malloc +/* DE24CC 8024003C 24040018 */ addiu $a0, $zero, 0x18 +/* DE24D0 80240040 0040982D */ daddu $s3, $v0, $zero +/* DE24D4 80240044 0000A02D */ daddu $s4, $zero, $zero +/* DE24D8 80240048 26700008 */ addiu $s0, $s3, 8 +/* DE24DC 8024004C 3C014060 */ lui $at, 0x4060 +/* DE24E0 80240050 4481A000 */ mtc1 $at, $f20 +/* DE24E4 80240054 3C128024 */ lui $s2, 0x8024 +/* DE24E8 80240058 26521A78 */ addiu $s2, $s2, 0x1a78 +/* DE24EC 8024005C AED30070 */ sw $s3, 0x70($s6) +.L80240060: +/* DE24F0 80240060 8E440000 */ lw $a0, ($s2) +/* DE24F4 80240064 26520004 */ addiu $s2, $s2, 4 +/* DE24F8 80240068 0C046C04 */ jal get_model_list_index_from_tree_index +/* DE24FC 8024006C AE04000C */ sw $a0, 0xc($s0) +/* DE2500 80240070 0C046B4C */ jal get_model_from_list_index +/* DE2504 80240074 0040202D */ daddu $a0, $v0, $zero +/* DE2508 80240078 0040882D */ daddu $s1, $v0, $zero +/* DE250C 8024007C C6200098 */ lwc1 $f0, 0x98($s1) +/* DE2510 80240080 26940001 */ addiu $s4, $s4, 1 +/* DE2514 80240084 E6600000 */ swc1 $f0, ($s3) +/* DE2518 80240088 C62000A0 */ lwc1 $f0, 0xa0($s1) +/* DE251C 8024008C 26730018 */ addiu $s3, $s3, 0x18 +/* DE2520 80240090 E6140004 */ swc1 $f20, 4($s0) +/* DE2524 80240094 AE000008 */ sw $zero, 8($s0) +/* DE2528 80240098 AE000000 */ sw $zero, ($s0) +/* DE252C 8024009C E600FFFC */ swc1 $f0, -4($s0) +/* DE2530 802400A0 1280FFEF */ beqz $s4, .L80240060 +/* DE2534 802400A4 26100018 */ addiu $s0, $s0, 0x18 +.L802400A8: +/* DE2538 802400A8 0000A02D */ daddu $s4, $zero, $zero +/* DE253C 802400AC 27B50058 */ addiu $s5, $sp, 0x58 +/* DE2540 802400B0 8ED30070 */ lw $s3, 0x70($s6) +/* DE2544 802400B4 4480B000 */ mtc1 $zero, $f22 +/* DE2548 802400B8 26720004 */ addiu $s2, $s3, 4 +.L802400BC: +/* DE254C 802400BC C64C000C */ lwc1 $f12, 0xc($s2) +/* DE2550 802400C0 C6400008 */ lwc1 $f0, 8($s2) +/* DE2554 802400C4 46006300 */ add.s $f12, $f12, $f0 +/* DE2558 802400C8 0C00A6C9 */ jal clamp_angle +/* DE255C 802400CC E64C000C */ swc1 $f12, 0xc($s2) +/* DE2560 802400D0 3C014048 */ lui $at, 0x4048 +/* DE2564 802400D4 3421F5C3 */ ori $at, $at, 0xf5c3 +/* DE2568 802400D8 44816000 */ mtc1 $at, $f12 +/* DE256C 802400DC 00000000 */ nop +/* DE2570 802400E0 460C0302 */ mul.s $f12, $f0, $f12 +/* DE2574 802400E4 00000000 */ nop +/* DE2578 802400E8 3C014334 */ lui $at, 0x4334 +/* DE257C 802400EC 44811000 */ mtc1 $at, $f2 +/* DE2580 802400F0 E640000C */ swc1 $f0, 0xc($s2) +/* DE2584 802400F4 0C00A85B */ jal sin_rad +/* DE2588 802400F8 46026303 */ div.s $f12, $f12, $f2 +/* DE258C 802400FC 3C0141A0 */ lui $at, 0x41a0 +/* DE2590 80240100 44811000 */ mtc1 $at, $f2 +/* DE2594 80240104 00000000 */ nop +/* DE2598 80240108 46020502 */ mul.s $f20, $f0, $f2 +/* DE259C 8024010C 00000000 */ nop +/* DE25A0 80240110 4614A082 */ mul.s $f2, $f20, $f20 +/* DE25A4 80240114 00000000 */ nop +/* DE25A8 80240118 3C0142B4 */ lui $at, 0x42b4 +/* DE25AC 8024011C 44810000 */ mtc1 $at, $f0 +/* DE25B0 80240120 1680001B */ bnez $s4, .L80240190 +/* DE25B4 80240124 46001603 */ div.s $f24, $f2, $f0 +/* DE25B8 80240128 C6400004 */ lwc1 $f0, 4($s2) +/* DE25BC 8024012C 4600B03E */ c.le.s $f22, $f0 +/* DE25C0 80240130 00000000 */ nop +/* DE25C4 80240134 45000005 */ bc1f .L8024014C +/* DE25C8 80240138 00000000 */ nop +/* DE25CC 8024013C 4616A03C */ c.lt.s $f20, $f22 +/* DE25D0 80240140 00000000 */ nop +/* DE25D4 80240144 4501000A */ bc1t .L80240170 +/* DE25D8 80240148 240401D6 */ addiu $a0, $zero, 0x1d6 +.L8024014C: +/* DE25DC 8024014C 4616003C */ c.lt.s $f0, $f22 +/* DE25E0 80240150 00000000 */ nop +/* DE25E4 80240154 4502000E */ bc1fl .L80240190 +/* DE25E8 80240158 E6540004 */ swc1 $f20, 4($s2) +/* DE25EC 8024015C 4614B03E */ c.le.s $f22, $f20 +/* DE25F0 80240160 00000000 */ nop +/* DE25F4 80240164 4502000A */ bc1fl .L80240190 +/* DE25F8 80240168 E6540004 */ swc1 $f20, 4($s2) +/* DE25FC 8024016C 240401D6 */ addiu $a0, $zero, 0x1d6 +.L80240170: +/* DE2600 80240170 0000282D */ daddu $a1, $zero, $zero +/* DE2604 80240174 3C06C3A0 */ lui $a2, 0xc3a0 +/* DE2608 80240178 3C0142BE */ lui $at, 0x42be +/* DE260C 8024017C 44810000 */ mtc1 $at, $f0 +/* DE2610 80240180 0000382D */ daddu $a3, $zero, $zero +/* DE2614 80240184 0C052757 */ jal play_sound_at_position +/* DE2618 80240188 E7A00010 */ swc1 $f0, 0x10($sp) +/* DE261C 8024018C E6540004 */ swc1 $f20, 4($s2) +.L80240190: +/* DE2620 80240190 8E440010 */ lw $a0, 0x10($s2) +/* DE2624 80240194 0C046C04 */ jal get_model_list_index_from_tree_index +/* DE2628 80240198 26940001 */ addiu $s4, $s4, 1 +/* DE262C 8024019C 0C046B4C */ jal get_model_from_list_index +/* DE2630 802401A0 0040202D */ daddu $a0, $v0, $zero +/* DE2634 802401A4 0040882D */ daddu $s1, $v0, $zero +/* DE2638 802401A8 96220000 */ lhu $v0, ($s1) +/* DE263C 802401AC 4406B000 */ mfc1 $a2, $f22 +/* DE2640 802401B0 34421400 */ ori $v0, $v0, 0x1400 +/* DE2644 802401B4 A6220000 */ sh $v0, ($s1) +/* DE2648 802401B8 C6600000 */ lwc1 $f0, ($s3) +/* DE264C 802401BC C6420000 */ lwc1 $f2, ($s2) +/* DE2650 802401C0 46000007 */ neg.s $f0, $f0 +/* DE2654 802401C4 46001087 */ neg.s $f2, $f2 +/* DE2658 802401C8 44050000 */ mfc1 $a1, $f0 +/* DE265C 802401CC 44071000 */ mfc1 $a3, $f2 +/* DE2660 802401D0 0C019E40 */ jal guTranslateF +/* DE2664 802401D4 27A40018 */ addiu $a0, $sp, 0x18 +/* DE2668 802401D8 4405A000 */ mfc1 $a1, $f20 +/* DE266C 802401DC 4406B000 */ mfc1 $a2, $f22 +/* DE2670 802401E0 4407B000 */ mfc1 $a3, $f22 +/* DE2674 802401E4 3C013F80 */ lui $at, 0x3f80 +/* DE2678 802401E8 44810000 */ mtc1 $at, $f0 +/* DE267C 802401EC 02A0202D */ daddu $a0, $s5, $zero +/* DE2680 802401F0 0C019EC8 */ jal guRotateF +/* DE2684 802401F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* DE2688 802401F8 27A40018 */ addiu $a0, $sp, 0x18 +/* DE268C 802401FC 02A0282D */ daddu $a1, $s5, $zero +/* DE2690 80240200 26300058 */ addiu $s0, $s1, 0x58 +/* DE2694 80240204 0C019D80 */ jal guMtxCatF +/* DE2698 80240208 0200302D */ daddu $a2, $s0, $zero +/* DE269C 8024020C 27A40018 */ addiu $a0, $sp, 0x18 +/* DE26A0 80240210 8E470000 */ lw $a3, ($s2) +/* DE26A4 80240214 26520018 */ addiu $s2, $s2, 0x18 +/* DE26A8 80240218 8E650000 */ lw $a1, ($s3) +/* DE26AC 8024021C 4406C000 */ mfc1 $a2, $f24 +/* DE26B0 80240220 0C019E40 */ jal guTranslateF +/* DE26B4 80240224 26730018 */ addiu $s3, $s3, 0x18 +/* DE26B8 80240228 0200202D */ daddu $a0, $s0, $zero +/* DE26BC 8024022C 27A50018 */ addiu $a1, $sp, 0x18 +/* DE26C0 80240230 0C019D80 */ jal guMtxCatF +/* DE26C4 80240234 0080302D */ daddu $a2, $a0, $zero +/* DE26C8 80240238 1280FFA0 */ beqz $s4, .L802400BC +/* DE26CC 8024023C 0000102D */ daddu $v0, $zero, $zero +/* DE26D0 80240240 8FBF00B4 */ lw $ra, 0xb4($sp) +/* DE26D4 80240244 8FB600B0 */ lw $s6, 0xb0($sp) +/* DE26D8 80240248 8FB500AC */ lw $s5, 0xac($sp) +/* DE26DC 8024024C 8FB400A8 */ lw $s4, 0xa8($sp) +/* DE26E0 80240250 8FB300A4 */ lw $s3, 0xa4($sp) +/* DE26E4 80240254 8FB200A0 */ lw $s2, 0xa0($sp) +/* DE26E8 80240258 8FB1009C */ lw $s1, 0x9c($sp) +/* DE26EC 8024025C 8FB00098 */ lw $s0, 0x98($sp) +/* DE26F0 80240260 D7B800C8 */ ldc1 $f24, 0xc8($sp) +/* DE26F4 80240264 D7B600C0 */ ldc1 $f22, 0xc0($sp) +/* DE26F8 80240268 D7B400B8 */ ldc1 $f20, 0xb8($sp) +/* DE26FC 8024026C 03E00008 */ jr $ra +/* DE2700 80240270 27BD00D0 */ addiu $sp, $sp, 0xd0 +/* DE2704 80240274 00000000 */ nop +/* DE2708 80240278 00000000 */ nop +/* DE270C 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240280_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240280_DE2490.s new file mode 100644 index 0000000000..12d76c5d94 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240280_DE2490.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_DE2710 +/* DE2710 80240280 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE2714 80240284 AFB10014 */ sw $s1, 0x14($sp) +/* DE2718 80240288 0080882D */ daddu $s1, $a0, $zero +/* DE271C 8024028C AFBF0018 */ sw $ra, 0x18($sp) +/* DE2720 80240290 AFB00010 */ sw $s0, 0x10($sp) +/* DE2724 80240294 8E300148 */ lw $s0, 0x148($s1) +/* DE2728 80240298 0C00EABB */ jal get_npc_unsafe +/* DE272C 8024029C 86040008 */ lh $a0, 8($s0) +/* DE2730 802402A0 C4400018 */ lwc1 $f0, 0x18($v0) +/* DE2734 802402A4 3C018024 */ lui $at, 0x8024 +/* DE2738 802402A8 D4222EE0 */ ldc1 $f2, 0x2ee0($at) +/* DE273C 802402AC 46000021 */ cvt.d.s $f0, $f0 +/* DE2740 802402B0 46220002 */ mul.d $f0, $f0, $f2 +/* DE2744 802402B4 00000000 */ nop +/* DE2748 802402B8 46200020 */ cvt.s.d $f0, $f0 +/* DE274C 802402BC E4400018 */ swc1 $f0, 0x18($v0) +/* DE2750 802402C0 8E0300CC */ lw $v1, 0xcc($s0) +/* DE2754 802402C4 8C640030 */ lw $a0, 0x30($v1) +/* DE2758 802402C8 24030005 */ addiu $v1, $zero, 5 +/* DE275C 802402CC A443008E */ sh $v1, 0x8e($v0) +/* DE2760 802402D0 AC440028 */ sw $a0, 0x28($v0) +/* DE2764 802402D4 2402000F */ addiu $v0, $zero, 0xf +/* DE2768 802402D8 AE220070 */ sw $v0, 0x70($s1) +/* DE276C 802402DC 8FBF0018 */ lw $ra, 0x18($sp) +/* DE2770 802402E0 8FB10014 */ lw $s1, 0x14($sp) +/* DE2774 802402E4 8FB00010 */ lw $s0, 0x10($sp) +/* DE2778 802402E8 03E00008 */ jr $ra +/* DE277C 802402EC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_802402F0_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_802402F0_DE2490.s new file mode 100644 index 0000000000..ca9119cb42 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_802402F0_DE2490.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_DE2780 +/* DE2780 802402F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DE2784 802402F4 AFB20028 */ sw $s2, 0x28($sp) +/* DE2788 802402F8 0080902D */ daddu $s2, $a0, $zero +/* DE278C 802402FC AFBF002C */ sw $ra, 0x2c($sp) +/* DE2790 80240300 AFB10024 */ sw $s1, 0x24($sp) +/* DE2794 80240304 AFB00020 */ sw $s0, 0x20($sp) +/* DE2798 80240308 8E510148 */ lw $s1, 0x148($s2) +/* DE279C 8024030C 0C00EABB */ jal get_npc_unsafe +/* DE27A0 80240310 86240008 */ lh $a0, 8($s1) +/* DE27A4 80240314 0040802D */ daddu $s0, $v0, $zero +/* DE27A8 80240318 0200202D */ daddu $a0, $s0, $zero +/* DE27AC 8024031C C600000C */ lwc1 $f0, 0xc($s0) +/* DE27B0 80240320 27A60018 */ addiu $a2, $sp, 0x18 +/* DE27B4 80240324 E7A00018 */ swc1 $f0, 0x18($sp) +/* DE27B8 80240328 AFA00010 */ sw $zero, 0x10($sp) +/* DE27BC 8024032C AFA00014 */ sw $zero, 0x14($sp) +/* DE27C0 80240330 8E050018 */ lw $a1, 0x18($s0) +/* DE27C4 80240334 0C0129E1 */ jal func_8004A784 +/* DE27C8 80240338 0000382D */ daddu $a3, $zero, $zero +/* DE27CC 8024033C 14400005 */ bnez $v0, .L80240354 +/* DE27D0 80240340 00000000 */ nop +/* DE27D4 80240344 8E050018 */ lw $a1, 0x18($s0) +/* DE27D8 80240348 8E06000C */ lw $a2, 0xc($s0) +/* DE27DC 8024034C 0C00EA95 */ jal npc_move_heading +/* DE27E0 80240350 0200202D */ daddu $a0, $s0, $zero +.L80240354: +/* DE27E4 80240354 9602008E */ lhu $v0, 0x8e($s0) +/* DE27E8 80240358 2442FFFF */ addiu $v0, $v0, -1 +/* DE27EC 8024035C A602008E */ sh $v0, 0x8e($s0) +/* DE27F0 80240360 00021400 */ sll $v0, $v0, 0x10 +/* DE27F4 80240364 14400010 */ bnez $v0, .L802403A8 +/* DE27F8 80240368 00000000 */ nop +/* DE27FC 8024036C C6000018 */ lwc1 $f0, 0x18($s0) +/* DE2800 80240370 3C018024 */ lui $at, 0x8024 +/* DE2804 80240374 D4222EE8 */ ldc1 $f2, 0x2ee8($at) +/* DE2808 80240378 46000021 */ cvt.d.s $f0, $f0 +/* DE280C 8024037C 46220002 */ mul.d $f0, $f0, $f2 +/* DE2810 80240380 00000000 */ nop +/* DE2814 80240384 46200020 */ cvt.s.d $f0, $f0 +/* DE2818 80240388 E6000018 */ swc1 $f0, 0x18($s0) +/* DE281C 8024038C 8E2200CC */ lw $v0, 0xcc($s1) +/* DE2820 80240390 8C43002C */ lw $v1, 0x2c($v0) +/* DE2824 80240394 2402000A */ addiu $v0, $zero, 0xa +/* DE2828 80240398 A602008E */ sh $v0, 0x8e($s0) +/* DE282C 8024039C 24020010 */ addiu $v0, $zero, 0x10 +/* DE2830 802403A0 AE030028 */ sw $v1, 0x28($s0) +/* DE2834 802403A4 AE420070 */ sw $v0, 0x70($s2) +.L802403A8: +/* DE2838 802403A8 8FBF002C */ lw $ra, 0x2c($sp) +/* DE283C 802403AC 8FB20028 */ lw $s2, 0x28($sp) +/* DE2840 802403B0 8FB10024 */ lw $s1, 0x24($sp) +/* DE2844 802403B4 8FB00020 */ lw $s0, 0x20($sp) +/* DE2848 802403B8 03E00008 */ jr $ra +/* DE284C 802403BC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_802403C0_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_802403C0_DE2490.s new file mode 100644 index 0000000000..c000908942 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_802403C0_DE2490.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C0_DE2850 +/* DE2850 802403C0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DE2854 802403C4 AFB10024 */ sw $s1, 0x24($sp) +/* DE2858 802403C8 0080882D */ daddu $s1, $a0, $zero +/* DE285C 802403CC AFBF0028 */ sw $ra, 0x28($sp) +/* DE2860 802403D0 AFB00020 */ sw $s0, 0x20($sp) +/* DE2864 802403D4 8E220148 */ lw $v0, 0x148($s1) +/* DE2868 802403D8 0C00EABB */ jal get_npc_unsafe +/* DE286C 802403DC 84440008 */ lh $a0, 8($v0) +/* DE2870 802403E0 0040802D */ daddu $s0, $v0, $zero +/* DE2874 802403E4 0200202D */ daddu $a0, $s0, $zero +/* DE2878 802403E8 C600000C */ lwc1 $f0, 0xc($s0) +/* DE287C 802403EC 27A60018 */ addiu $a2, $sp, 0x18 +/* DE2880 802403F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DE2884 802403F4 AFA00010 */ sw $zero, 0x10($sp) +/* DE2888 802403F8 AFA00014 */ sw $zero, 0x14($sp) +/* DE288C 802403FC 8E050018 */ lw $a1, 0x18($s0) +/* DE2890 80240400 0C0129E1 */ jal func_8004A784 +/* DE2894 80240404 0000382D */ daddu $a3, $zero, $zero +/* DE2898 80240408 14400005 */ bnez $v0, .L80240420 +/* DE289C 8024040C 00000000 */ nop +/* DE28A0 80240410 8E050018 */ lw $a1, 0x18($s0) +/* DE28A4 80240414 8E06000C */ lw $a2, 0xc($s0) +/* DE28A8 80240418 0C00EA95 */ jal npc_move_heading +/* DE28AC 8024041C 0200202D */ daddu $a0, $s0, $zero +.L80240420: +/* DE28B0 80240420 9602008E */ lhu $v0, 0x8e($s0) +/* DE28B4 80240424 2442FFFF */ addiu $v0, $v0, -1 +/* DE28B8 80240428 A602008E */ sh $v0, 0x8e($s0) +/* DE28BC 8024042C 00021400 */ sll $v0, $v0, 0x10 +/* DE28C0 80240430 14400004 */ bnez $v0, .L80240444 +/* DE28C4 80240434 2402001E */ addiu $v0, $zero, 0x1e +/* DE28C8 80240438 A602008E */ sh $v0, 0x8e($s0) +/* DE28CC 8024043C 24020011 */ addiu $v0, $zero, 0x11 +/* DE28D0 80240440 AE220070 */ sw $v0, 0x70($s1) +.L80240444: +/* DE28D4 80240444 8FBF0028 */ lw $ra, 0x28($sp) +/* DE28D8 80240448 8FB10024 */ lw $s1, 0x24($sp) +/* DE28DC 8024044C 8FB00020 */ lw $s0, 0x20($sp) +/* DE28E0 80240450 03E00008 */ jr $ra +/* DE28E4 80240454 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240458_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240458_DE2490.s new file mode 100644 index 0000000000..25f8166c9e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240458_DE2490.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240458_DE28E8 +/* DE28E8 80240458 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE28EC 8024045C AFB10014 */ sw $s1, 0x14($sp) +/* DE28F0 80240460 0080882D */ daddu $s1, $a0, $zero +/* DE28F4 80240464 AFBF0018 */ sw $ra, 0x18($sp) +/* DE28F8 80240468 AFB00010 */ sw $s0, 0x10($sp) +/* DE28FC 8024046C 8E300148 */ lw $s0, 0x148($s1) +/* DE2900 80240470 0C00EABB */ jal get_npc_unsafe +/* DE2904 80240474 86040008 */ lh $a0, 8($s0) +/* DE2908 80240478 0040182D */ daddu $v1, $v0, $zero +/* DE290C 8024047C 9462008E */ lhu $v0, 0x8e($v1) +/* DE2910 80240480 2442FFFF */ addiu $v0, $v0, -1 +/* DE2914 80240484 A462008E */ sh $v0, 0x8e($v1) +/* DE2918 80240488 00021400 */ sll $v0, $v0, 0x10 +/* DE291C 8024048C 14400005 */ bnez $v0, .L802404A4 +/* DE2920 80240490 00000000 */ nop +/* DE2924 80240494 8E0200CC */ lw $v0, 0xcc($s0) +/* DE2928 80240498 8C420000 */ lw $v0, ($v0) +/* DE292C 8024049C AC620028 */ sw $v0, 0x28($v1) +/* DE2930 802404A0 AE200070 */ sw $zero, 0x70($s1) +.L802404A4: +/* DE2934 802404A4 8FBF0018 */ lw $ra, 0x18($sp) +/* DE2938 802404A8 8FB10014 */ lw $s1, 0x14($sp) +/* DE293C 802404AC 8FB00010 */ lw $s0, 0x10($sp) +/* DE2940 802404B0 03E00008 */ jr $ra +/* DE2944 802404B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_802404B8_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_802404B8_DE2490.s new file mode 100644 index 0000000000..0fee1a947a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_802404B8_DE2490.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B8_DE2948 +/* DE2948 802404B8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DE294C 802404BC AFB30054 */ sw $s3, 0x54($sp) +/* DE2950 802404C0 0080982D */ daddu $s3, $a0, $zero +/* DE2954 802404C4 AFBF0060 */ sw $ra, 0x60($sp) +/* DE2958 802404C8 AFB5005C */ sw $s5, 0x5c($sp) +/* DE295C 802404CC AFB40058 */ sw $s4, 0x58($sp) +/* DE2960 802404D0 AFB20050 */ sw $s2, 0x50($sp) +/* DE2964 802404D4 AFB1004C */ sw $s1, 0x4c($sp) +/* DE2968 802404D8 AFB00048 */ sw $s0, 0x48($sp) +/* DE296C 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* DE2970 802404E0 86240008 */ lh $a0, 8($s1) +/* DE2974 802404E4 0C00EABB */ jal get_npc_unsafe +/* DE2978 802404E8 00A0802D */ daddu $s0, $a1, $zero +/* DE297C 802404EC 8E63000C */ lw $v1, 0xc($s3) +/* DE2980 802404F0 0260202D */ daddu $a0, $s3, $zero +/* DE2984 802404F4 8C650000 */ lw $a1, ($v1) +/* DE2988 802404F8 0C0B1EAF */ jal get_variable +/* DE298C 802404FC 0040902D */ daddu $s2, $v0, $zero +/* DE2990 80240500 AFA00018 */ sw $zero, 0x18($sp) +/* DE2994 80240504 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2998 80240508 8C630030 */ lw $v1, 0x30($v1) +/* DE299C 8024050C AFA3001C */ sw $v1, 0x1c($sp) +/* DE29A0 80240510 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE29A4 80240514 8C63001C */ lw $v1, 0x1c($v1) +/* DE29A8 80240518 AFA30020 */ sw $v1, 0x20($sp) +/* DE29AC 8024051C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE29B0 80240520 8C630024 */ lw $v1, 0x24($v1) +/* DE29B4 80240524 AFA30024 */ sw $v1, 0x24($sp) +/* DE29B8 80240528 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE29BC 8024052C 8C630028 */ lw $v1, 0x28($v1) +/* DE29C0 80240530 27B50018 */ addiu $s5, $sp, 0x18 +/* DE29C4 80240534 AFA30028 */ sw $v1, 0x28($sp) +/* DE29C8 80240538 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE29CC 8024053C 3C014282 */ lui $at, 0x4282 +/* DE29D0 80240540 44810000 */ mtc1 $at, $f0 +/* DE29D4 80240544 8C63002C */ lw $v1, 0x2c($v1) +/* DE29D8 80240548 0040A02D */ daddu $s4, $v0, $zero +/* DE29DC 8024054C E7A00030 */ swc1 $f0, 0x30($sp) +/* DE29E0 80240550 A7A00034 */ sh $zero, 0x34($sp) +/* DE29E4 80240554 16000005 */ bnez $s0, .L8024056C +/* DE29E8 80240558 AFA3002C */ sw $v1, 0x2c($sp) +/* DE29EC 8024055C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE29F0 80240560 30420004 */ andi $v0, $v0, 4 +/* DE29F4 80240564 10400044 */ beqz $v0, .L80240678 +/* DE29F8 80240568 00000000 */ nop +.L8024056C: +/* DE29FC 8024056C 2404F7FF */ addiu $a0, $zero, -0x801 +/* DE2A00 80240570 AE600070 */ sw $zero, 0x70($s3) +/* DE2A04 80240574 A640008E */ sh $zero, 0x8e($s2) +/* DE2A08 80240578 8E2200CC */ lw $v0, 0xcc($s1) +/* DE2A0C 8024057C 8E430000 */ lw $v1, ($s2) +/* DE2A10 80240580 8C420000 */ lw $v0, ($v0) +/* DE2A14 80240584 00641824 */ and $v1, $v1, $a0 +/* DE2A18 80240588 AE430000 */ sw $v1, ($s2) +/* DE2A1C 8024058C AE420028 */ sw $v0, 0x28($s2) +/* DE2A20 80240590 8E2200D0 */ lw $v0, 0xd0($s1) +/* DE2A24 80240594 8C420034 */ lw $v0, 0x34($v0) +/* DE2A28 80240598 54400005 */ bnel $v0, $zero, .L802405B0 +/* DE2A2C 8024059C 2402FDFF */ addiu $v0, $zero, -0x201 +/* DE2A30 802405A0 34620200 */ ori $v0, $v1, 0x200 +/* DE2A34 802405A4 2403FFF7 */ addiu $v1, $zero, -9 +/* DE2A38 802405A8 0809016E */ j .L802405B8 +/* DE2A3C 802405AC 00431024 */ and $v0, $v0, $v1 +.L802405B0: +/* DE2A40 802405B0 00621024 */ and $v0, $v1, $v0 +/* DE2A44 802405B4 34420008 */ ori $v0, $v0, 8 +.L802405B8: +/* DE2A48 802405B8 AE420000 */ sw $v0, ($s2) +/* DE2A4C 802405BC 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE2A50 802405C0 30420004 */ andi $v0, $v0, 4 +/* DE2A54 802405C4 10400004 */ beqz $v0, .L802405D8 +/* DE2A58 802405C8 24020063 */ addiu $v0, $zero, 0x63 +/* DE2A5C 802405CC AE620070 */ sw $v0, 0x70($s3) +/* DE2A60 802405D0 0809017C */ j .L802405F0 +/* DE2A64 802405D4 AE600074 */ sw $zero, 0x74($s3) +.L802405D8: +/* DE2A68 802405D8 8E220000 */ lw $v0, ($s1) +/* DE2A6C 802405DC 3C034000 */ lui $v1, 0x4000 +/* DE2A70 802405E0 00431024 */ and $v0, $v0, $v1 +/* DE2A74 802405E4 10400002 */ beqz $v0, .L802405F0 +/* DE2A78 802405E8 2402000C */ addiu $v0, $zero, 0xc +/* DE2A7C 802405EC AE620070 */ sw $v0, 0x70($s3) +.L802405F0: +/* DE2A80 802405F0 3C06BFFF */ lui $a2, 0xbfff +/* DE2A84 802405F4 34C6FFFF */ ori $a2, $a2, 0xffff +/* DE2A88 802405F8 27A50038 */ addiu $a1, $sp, 0x38 +/* DE2A8C 802405FC 2404FFFB */ addiu $a0, $zero, -5 +/* DE2A90 80240600 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE2A94 80240604 8E230000 */ lw $v1, ($s1) +/* DE2A98 80240608 3C0142C8 */ lui $at, 0x42c8 +/* DE2A9C 8024060C 44810000 */ mtc1 $at, $f0 +/* DE2AA0 80240610 00441024 */ and $v0, $v0, $a0 +/* DE2AA4 80240614 00661824 */ and $v1, $v1, $a2 +/* DE2AA8 80240618 AE2200B0 */ sw $v0, 0xb0($s1) +/* DE2AAC 8024061C AE230000 */ sw $v1, ($s1) +/* DE2AB0 80240620 864200A8 */ lh $v0, 0xa8($s2) +/* DE2AB4 80240624 27A70040 */ addiu $a3, $sp, 0x40 +/* DE2AB8 80240628 E7A00044 */ swc1 $f0, 0x44($sp) +/* DE2ABC 8024062C C6460038 */ lwc1 $f6, 0x38($s2) +/* DE2AC0 80240630 C640003C */ lwc1 $f0, 0x3c($s2) +/* DE2AC4 80240634 C6420040 */ lwc1 $f2, 0x40($s2) +/* DE2AC8 80240638 44822000 */ mtc1 $v0, $f4 +/* DE2ACC 8024063C 00000000 */ nop +/* DE2AD0 80240640 46802120 */ cvt.s.w $f4, $f4 +/* DE2AD4 80240644 27A20044 */ addiu $v0, $sp, 0x44 +/* DE2AD8 80240648 46040000 */ add.s $f0, $f0, $f4 +/* DE2ADC 8024064C E7A60038 */ swc1 $f6, 0x38($sp) +/* DE2AE0 80240650 E7A20040 */ swc1 $f2, 0x40($sp) +/* DE2AE4 80240654 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DE2AE8 80240658 AFA20010 */ sw $v0, 0x10($sp) +/* DE2AEC 8024065C 8E440080 */ lw $a0, 0x80($s2) +/* DE2AF0 80240660 0C0372DF */ jal func_800DCB7C +/* DE2AF4 80240664 27A6003C */ addiu $a2, $sp, 0x3c +/* DE2AF8 80240668 10400003 */ beqz $v0, .L80240678 +/* DE2AFC 8024066C 00000000 */ nop +/* DE2B00 80240670 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DE2B04 80240674 E640003C */ swc1 $f0, 0x3c($s2) +.L80240678: +/* DE2B08 80240678 8E630070 */ lw $v1, 0x70($s3) +/* DE2B0C 8024067C 2C620064 */ sltiu $v0, $v1, 0x64 +/* DE2B10 80240680 10400050 */ beqz $v0, .L802407C4 +/* DE2B14 80240684 00031080 */ sll $v0, $v1, 2 +/* DE2B18 80240688 3C018024 */ lui $at, 0x8024 +/* DE2B1C 8024068C 00220821 */ addu $at, $at, $v0 +/* DE2B20 80240690 8C222EF0 */ lw $v0, 0x2ef0($at) +/* DE2B24 80240694 00400008 */ jr $v0 +/* DE2B28 80240698 00000000 */ nop +/* DE2B2C 8024069C 0260202D */ daddu $a0, $s3, $zero +/* DE2B30 802406A0 0280282D */ daddu $a1, $s4, $zero +/* DE2B34 802406A4 0C012568 */ jal func_800495A0 +/* DE2B38 802406A8 02A0302D */ daddu $a2, $s5, $zero +/* DE2B3C 802406AC 0260202D */ daddu $a0, $s3, $zero +/* DE2B40 802406B0 0280282D */ daddu $a1, $s4, $zero +/* DE2B44 802406B4 0C0125AE */ jal func_800496B8 +/* DE2B48 802406B8 02A0302D */ daddu $a2, $s5, $zero +/* DE2B4C 802406BC 080901F1 */ j .L802407C4 +/* DE2B50 802406C0 00000000 */ nop +/* DE2B54 802406C4 0260202D */ daddu $a0, $s3, $zero +/* DE2B58 802406C8 0280282D */ daddu $a1, $s4, $zero +/* DE2B5C 802406CC 0C0126D1 */ jal func_80049B44 +/* DE2B60 802406D0 02A0302D */ daddu $a2, $s5, $zero +/* DE2B64 802406D4 0260202D */ daddu $a0, $s3, $zero +/* DE2B68 802406D8 0280282D */ daddu $a1, $s4, $zero +/* DE2B6C 802406DC 0C012701 */ jal func_80049C04 +/* DE2B70 802406E0 02A0302D */ daddu $a2, $s5, $zero +/* DE2B74 802406E4 080901F1 */ j .L802407C4 +/* DE2B78 802406E8 00000000 */ nop +/* DE2B7C 802406EC 0260202D */ daddu $a0, $s3, $zero +/* DE2B80 802406F0 0280282D */ daddu $a1, $s4, $zero +/* DE2B84 802406F4 0C01278F */ jal func_80049E3C +/* DE2B88 802406F8 02A0302D */ daddu $a2, $s5, $zero +/* DE2B8C 802406FC 0260202D */ daddu $a0, $s3, $zero +/* DE2B90 80240700 0280282D */ daddu $a1, $s4, $zero +/* DE2B94 80240704 0C0127B3 */ jal func_80049ECC +/* DE2B98 80240708 02A0302D */ daddu $a2, $s5, $zero +/* DE2B9C 8024070C 080901F1 */ j .L802407C4 +/* DE2BA0 80240710 00000000 */ nop +/* DE2BA4 80240714 0260202D */ daddu $a0, $s3, $zero +/* DE2BA8 80240718 0280282D */ daddu $a1, $s4, $zero +/* DE2BAC 8024071C 0C0127DF */ jal func_80049F7C +/* DE2BB0 80240720 02A0302D */ daddu $a2, $s5, $zero +/* DE2BB4 80240724 0260202D */ daddu $a0, $s3, $zero +/* DE2BB8 80240728 0280282D */ daddu $a1, $s4, $zero +/* DE2BBC 8024072C 0C012849 */ jal func_8004A124 +/* DE2BC0 80240730 02A0302D */ daddu $a2, $s5, $zero +/* DE2BC4 80240734 8E630070 */ lw $v1, 0x70($s3) +/* DE2BC8 80240738 2402000E */ addiu $v0, $zero, 0xe +/* DE2BCC 8024073C 14620021 */ bne $v1, $v0, .L802407C4 +/* DE2BD0 80240740 00000000 */ nop +/* DE2BD4 80240744 0260202D */ daddu $a0, $s3, $zero +/* DE2BD8 80240748 0280282D */ daddu $a1, $s4, $zero +/* DE2BDC 8024074C 0C0900A0 */ jal func_80240280 +/* DE2BE0 80240750 02A0302D */ daddu $a2, $s5, $zero +/* DE2BE4 80240754 8E630070 */ lw $v1, 0x70($s3) +/* DE2BE8 80240758 2402000F */ addiu $v0, $zero, 0xf +/* DE2BEC 8024075C 14620019 */ bne $v1, $v0, .L802407C4 +/* DE2BF0 80240760 00000000 */ nop +/* DE2BF4 80240764 0260202D */ daddu $a0, $s3, $zero +/* DE2BF8 80240768 0280282D */ daddu $a1, $s4, $zero +/* DE2BFC 8024076C 0C0900BC */ jal func_802402F0 +/* DE2C00 80240770 02A0302D */ daddu $a2, $s5, $zero +/* DE2C04 80240774 8E630070 */ lw $v1, 0x70($s3) +/* DE2C08 80240778 24020010 */ addiu $v0, $zero, 0x10 +/* DE2C0C 8024077C 14620011 */ bne $v1, $v0, .L802407C4 +/* DE2C10 80240780 00000000 */ nop +/* DE2C14 80240784 0260202D */ daddu $a0, $s3, $zero +/* DE2C18 80240788 0280282D */ daddu $a1, $s4, $zero +/* DE2C1C 8024078C 0C0900F0 */ jal func_802403C0 +/* DE2C20 80240790 02A0302D */ daddu $a2, $s5, $zero +/* DE2C24 80240794 8E630070 */ lw $v1, 0x70($s3) +/* DE2C28 80240798 24020011 */ addiu $v0, $zero, 0x11 +/* DE2C2C 8024079C 14620009 */ bne $v1, $v0, .L802407C4 +/* DE2C30 802407A0 00000000 */ nop +/* DE2C34 802407A4 0260202D */ daddu $a0, $s3, $zero +/* DE2C38 802407A8 0280282D */ daddu $a1, $s4, $zero +/* DE2C3C 802407AC 0C090116 */ jal func_80240458 +/* DE2C40 802407B0 02A0302D */ daddu $a2, $s5, $zero +/* DE2C44 802407B4 080901F1 */ j .L802407C4 +/* DE2C48 802407B8 00000000 */ nop +/* DE2C4C 802407BC 0C0129CF */ jal func_8004A73C +/* DE2C50 802407C0 0260202D */ daddu $a0, $s3, $zero +.L802407C4: +/* DE2C54 802407C4 8FBF0060 */ lw $ra, 0x60($sp) +/* DE2C58 802407C8 8FB5005C */ lw $s5, 0x5c($sp) +/* DE2C5C 802407CC 8FB40058 */ lw $s4, 0x58($sp) +/* DE2C60 802407D0 8FB30054 */ lw $s3, 0x54($sp) +/* DE2C64 802407D4 8FB20050 */ lw $s2, 0x50($sp) +/* DE2C68 802407D8 8FB1004C */ lw $s1, 0x4c($sp) +/* DE2C6C 802407DC 8FB00048 */ lw $s0, 0x48($sp) +/* DE2C70 802407E0 0000102D */ daddu $v0, $zero, $zero +/* DE2C74 802407E4 03E00008 */ jr $ra +/* DE2C78 802407E8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_802407EC.s b/asm/nonmatchings/world/area_omo/omo_13/func_802407EC.s new file mode 100644 index 0000000000..fefea9c696 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_802407EC.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407EC +/* DE2C7C 802407EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE2C80 802407F0 AFB10014 */ sw $s1, 0x14($sp) +/* DE2C84 802407F4 0080882D */ daddu $s1, $a0, $zero +/* DE2C88 802407F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DE2C8C 802407FC AFB00010 */ sw $s0, 0x10($sp) +/* DE2C90 80240800 8E300148 */ lw $s0, 0x148($s1) +/* DE2C94 80240804 0C00EABB */ jal get_npc_unsafe +/* DE2C98 80240808 86040008 */ lh $a0, 8($s0) +/* DE2C9C 8024080C 3C054387 */ lui $a1, 0x4387 +/* DE2CA0 80240810 0040202D */ daddu $a0, $v0, $zero +/* DE2CA4 80240814 0C00ECD0 */ jal set_npc_yaw +/* DE2CA8 80240818 A480008E */ sh $zero, 0x8e($a0) +/* DE2CAC 8024081C 24020003 */ addiu $v0, $zero, 3 +/* DE2CB0 80240820 AE00006C */ sw $zero, 0x6c($s0) +/* DE2CB4 80240824 AE220070 */ sw $v0, 0x70($s1) +/* DE2CB8 80240828 8FBF0018 */ lw $ra, 0x18($sp) +/* DE2CBC 8024082C 8FB10014 */ lw $s1, 0x14($sp) +/* DE2CC0 80240830 8FB00010 */ lw $s0, 0x10($sp) +/* DE2CC4 80240834 03E00008 */ jr $ra +/* DE2CC8 80240838 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_8024083C_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_8024083C_DE2490.s new file mode 100644 index 0000000000..99d60fc244 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_8024083C_DE2490.s @@ -0,0 +1,132 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024083C_DE2CCC +/* DE2CCC 8024083C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE2CD0 80240840 AFB20018 */ sw $s2, 0x18($sp) +/* DE2CD4 80240844 0080902D */ daddu $s2, $a0, $zero +/* DE2CD8 80240848 AFBF001C */ sw $ra, 0x1c($sp) +/* DE2CDC 8024084C AFB10014 */ sw $s1, 0x14($sp) +/* DE2CE0 80240850 AFB00010 */ sw $s0, 0x10($sp) +/* DE2CE4 80240854 8E500148 */ lw $s0, 0x148($s2) +/* DE2CE8 80240858 0C00EABB */ jal get_npc_unsafe +/* DE2CEC 8024085C 86040008 */ lh $a0, 8($s0) +/* DE2CF0 80240860 8E03006C */ lw $v1, 0x6c($s0) +/* DE2CF4 80240864 24060001 */ addiu $a2, $zero, 1 +/* DE2CF8 80240868 10660016 */ beq $v1, $a2, .L802408C4 +/* DE2CFC 8024086C 0040882D */ daddu $s1, $v0, $zero +/* DE2D00 80240870 28620002 */ slti $v0, $v1, 2 +/* DE2D04 80240874 50400005 */ beql $v0, $zero, .L8024088C +/* DE2D08 80240878 24020002 */ addiu $v0, $zero, 2 +/* DE2D0C 8024087C 10600009 */ beqz $v1, .L802408A4 +/* DE2D10 80240880 3C02003C */ lui $v0, 0x3c +/* DE2D14 80240884 08090274 */ j .L802409D0 +/* DE2D18 80240888 24020004 */ addiu $v0, $zero, 4 +.L8024088C: +/* DE2D1C 8024088C 10620030 */ beq $v1, $v0, .L80240950 +/* DE2D20 80240890 24020003 */ addiu $v0, $zero, 3 +/* DE2D24 80240894 10620034 */ beq $v1, $v0, .L80240968 +/* DE2D28 80240898 00000000 */ nop +/* DE2D2C 8024089C 08090272 */ j .L802409C8 +/* DE2D30 802408A0 00000000 */ nop +.L802408A4: +/* DE2D34 802408A4 3442000C */ ori $v0, $v0, 0xc +/* DE2D38 802408A8 3C054387 */ lui $a1, 0x4387 +/* DE2D3C 802408AC 0220202D */ daddu $a0, $s1, $zero +/* DE2D40 802408B0 AE06006C */ sw $a2, 0x6c($s0) +/* DE2D44 802408B4 AE000070 */ sw $zero, 0x70($s0) +/* DE2D48 802408B8 0C00ECD0 */ jal set_npc_yaw +/* DE2D4C 802408BC AE220028 */ sw $v0, 0x28($s1) +/* DE2D50 802408C0 AE200048 */ sw $zero, 0x48($s1) +.L802408C4: +/* DE2D54 802408C4 8E030070 */ lw $v1, 0x70($s0) +/* DE2D58 802408C8 04610002 */ bgez $v1, .L802408D4 +/* DE2D5C 802408CC 0060102D */ daddu $v0, $v1, $zero +/* DE2D60 802408D0 2462000F */ addiu $v0, $v1, 0xf +.L802408D4: +/* DE2D64 802408D4 00022103 */ sra $a0, $v0, 4 +/* DE2D68 802408D8 00041100 */ sll $v0, $a0, 4 +/* DE2D6C 802408DC 00622023 */ subu $a0, $v1, $v0 +/* DE2D70 802408E0 28820004 */ slti $v0, $a0, 4 +/* DE2D74 802408E4 10400003 */ beqz $v0, .L802408F4 +/* DE2D78 802408E8 3C02003C */ lui $v0, 0x3c +/* DE2D7C 802408EC 0809024B */ j .L8024092C +/* DE2D80 802408F0 3442000C */ ori $v0, $v0, 0xc +.L802408F4: +/* DE2D84 802408F4 28820008 */ slti $v0, $a0, 8 +/* DE2D88 802408F8 10400003 */ beqz $v0, .L80240908 +/* DE2D8C 802408FC 3C02003C */ lui $v0, 0x3c +/* DE2D90 80240900 0809024B */ j .L8024092C +/* DE2D94 80240904 3442000B */ ori $v0, $v0, 0xb +.L80240908: +/* DE2D98 80240908 2882000C */ slti $v0, $a0, 0xc +/* DE2D9C 8024090C 10400003 */ beqz $v0, .L8024091C +/* DE2DA0 80240910 3C02003C */ lui $v0, 0x3c +/* DE2DA4 80240914 0809024B */ j .L8024092C +/* DE2DA8 80240918 3442000C */ ori $v0, $v0, 0xc +.L8024091C: +/* DE2DAC 8024091C 28820010 */ slti $v0, $a0, 0x10 +/* DE2DB0 80240920 10400003 */ beqz $v0, .L80240930 +/* DE2DB4 80240924 3C02003C */ lui $v0, 0x3c +/* DE2DB8 80240928 3442000D */ ori $v0, $v0, 0xd +.L8024092C: +/* DE2DBC 8024092C AE220028 */ sw $v0, 0x28($s1) +.L80240930: +/* DE2DC0 80240930 8E020070 */ lw $v0, 0x70($s0) +/* DE2DC4 80240934 24420001 */ addiu $v0, $v0, 1 +/* DE2DC8 80240938 AE020070 */ sw $v0, 0x70($s0) +/* DE2DCC 8024093C 28420041 */ slti $v0, $v0, 0x41 +/* DE2DD0 80240940 14400021 */ bnez $v0, .L802409C8 +/* DE2DD4 80240944 24020002 */ addiu $v0, $zero, 2 +/* DE2DD8 80240948 08090272 */ j .L802409C8 +/* DE2DDC 8024094C AE02006C */ sw $v0, 0x6c($s0) +.L80240950: +/* DE2DE0 80240950 3C03003C */ lui $v1, 0x3c +/* DE2DE4 80240954 3463000C */ ori $v1, $v1, 0xc +/* DE2DE8 80240958 AE02006C */ sw $v0, 0x6c($s0) +/* DE2DEC 8024095C AE000070 */ sw $zero, 0x70($s0) +/* DE2DF0 80240960 AE200048 */ sw $zero, 0x48($s1) +/* DE2DF4 80240964 AE230028 */ sw $v1, 0x28($s1) +.L80240968: +/* DE2DF8 80240968 C6200048 */ lwc1 $f0, 0x48($s1) +/* DE2DFC 8024096C 3C018024 */ lui $at, 0x8024 +/* DE2E00 80240970 D4223080 */ ldc1 $f2, 0x3080($at) +/* DE2E04 80240974 46000021 */ cvt.d.s $f0, $f0 +/* DE2E08 80240978 46220000 */ add.d $f0, $f0, $f2 +/* DE2E0C 8024097C 3C018024 */ lui $at, 0x8024 +/* DE2E10 80240980 D4223088 */ ldc1 $f2, 0x3088($at) +/* DE2E14 80240984 46200020 */ cvt.s.d $f0, $f0 +/* DE2E18 80240988 E6200048 */ swc1 $f0, 0x48($s1) +/* DE2E1C 8024098C 46000021 */ cvt.d.s $f0, $f0 +/* DE2E20 80240990 4620103C */ c.lt.d $f2, $f0 +/* DE2E24 80240994 00000000 */ nop +/* DE2E28 80240998 45000004 */ bc1f .L802409AC +/* DE2E2C 8024099C 00000000 */ nop +/* DE2E30 802409A0 46220001 */ sub.d $f0, $f0, $f2 +/* DE2E34 802409A4 46200020 */ cvt.s.d $f0, $f0 +/* DE2E38 802409A8 E6200048 */ swc1 $f0, 0x48($s1) +.L802409AC: +/* DE2E3C 802409AC 8E020070 */ lw $v0, 0x70($s0) +/* DE2E40 802409B0 24420001 */ addiu $v0, $v0, 1 +/* DE2E44 802409B4 AE020070 */ sw $v0, 0x70($s0) +/* DE2E48 802409B8 2842002E */ slti $v0, $v0, 0x2e +/* DE2E4C 802409BC 14400002 */ bnez $v0, .L802409C8 +/* DE2E50 802409C0 24020004 */ addiu $v0, $zero, 4 +/* DE2E54 802409C4 AE02006C */ sw $v0, 0x6c($s0) +.L802409C8: +/* DE2E58 802409C8 8E03006C */ lw $v1, 0x6c($s0) +/* DE2E5C 802409CC 24020004 */ addiu $v0, $zero, 4 +.L802409D0: +/* DE2E60 802409D0 14620005 */ bne $v1, $v0, .L802409E8 +/* DE2E64 802409D4 0220202D */ daddu $a0, $s1, $zero +/* DE2E68 802409D8 3C054387 */ lui $a1, 0x4387 +/* DE2E6C 802409DC 0C00ECD0 */ jal set_npc_yaw +/* DE2E70 802409E0 AC800048 */ sw $zero, 0x48($a0) +/* DE2E74 802409E4 AE400070 */ sw $zero, 0x70($s2) +.L802409E8: +/* DE2E78 802409E8 8FBF001C */ lw $ra, 0x1c($sp) +/* DE2E7C 802409EC 8FB20018 */ lw $s2, 0x18($sp) +/* DE2E80 802409F0 8FB10014 */ lw $s1, 0x14($sp) +/* DE2E84 802409F4 8FB00010 */ lw $s0, 0x10($sp) +/* DE2E88 802409F8 03E00008 */ jr $ra +/* DE2E8C 802409FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240A00_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240A00_DE2490.s new file mode 100644 index 0000000000..a74fc6ddb2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240A00_DE2490.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A00_DE2E90 +/* DE2E90 80240A00 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DE2E94 80240A04 AFB30054 */ sw $s3, 0x54($sp) +/* DE2E98 80240A08 0080982D */ daddu $s3, $a0, $zero +/* DE2E9C 80240A0C AFBF0060 */ sw $ra, 0x60($sp) +/* DE2EA0 80240A10 AFB5005C */ sw $s5, 0x5c($sp) +/* DE2EA4 80240A14 AFB40058 */ sw $s4, 0x58($sp) +/* DE2EA8 80240A18 AFB20050 */ sw $s2, 0x50($sp) +/* DE2EAC 80240A1C AFB1004C */ sw $s1, 0x4c($sp) +/* DE2EB0 80240A20 AFB00048 */ sw $s0, 0x48($sp) +/* DE2EB4 80240A24 8E710148 */ lw $s1, 0x148($s3) +/* DE2EB8 80240A28 86240008 */ lh $a0, 8($s1) +/* DE2EBC 80240A2C 0C00EABB */ jal get_npc_unsafe +/* DE2EC0 80240A30 00A0802D */ daddu $s0, $a1, $zero +/* DE2EC4 80240A34 8E63000C */ lw $v1, 0xc($s3) +/* DE2EC8 80240A38 0260202D */ daddu $a0, $s3, $zero +/* DE2ECC 80240A3C 8C650000 */ lw $a1, ($v1) +/* DE2ED0 80240A40 0C0B1EAF */ jal get_variable +/* DE2ED4 80240A44 0040902D */ daddu $s2, $v0, $zero +/* DE2ED8 80240A48 AFA00018 */ sw $zero, 0x18($sp) +/* DE2EDC 80240A4C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2EE0 80240A50 8C630030 */ lw $v1, 0x30($v1) +/* DE2EE4 80240A54 AFA3001C */ sw $v1, 0x1c($sp) +/* DE2EE8 80240A58 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2EEC 80240A5C 8C63001C */ lw $v1, 0x1c($v1) +/* DE2EF0 80240A60 AFA30020 */ sw $v1, 0x20($sp) +/* DE2EF4 80240A64 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2EF8 80240A68 8C630024 */ lw $v1, 0x24($v1) +/* DE2EFC 80240A6C AFA30024 */ sw $v1, 0x24($sp) +/* DE2F00 80240A70 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2F04 80240A74 8C630028 */ lw $v1, 0x28($v1) +/* DE2F08 80240A78 27B50018 */ addiu $s5, $sp, 0x18 +/* DE2F0C 80240A7C AFA30028 */ sw $v1, 0x28($sp) +/* DE2F10 80240A80 8E2300D0 */ lw $v1, 0xd0($s1) +/* DE2F14 80240A84 3C014282 */ lui $at, 0x4282 +/* DE2F18 80240A88 44810000 */ mtc1 $at, $f0 +/* DE2F1C 80240A8C 8C63002C */ lw $v1, 0x2c($v1) +/* DE2F20 80240A90 0040A02D */ daddu $s4, $v0, $zero +/* DE2F24 80240A94 E7A00030 */ swc1 $f0, 0x30($sp) +/* DE2F28 80240A98 A7A00034 */ sh $zero, 0x34($sp) +/* DE2F2C 80240A9C 16000005 */ bnez $s0, .L80240AB4 +/* DE2F30 80240AA0 AFA3002C */ sw $v1, 0x2c($sp) +/* DE2F34 80240AA4 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE2F38 80240AA8 30420004 */ andi $v0, $v0, 4 +/* DE2F3C 80240AAC 10400044 */ beqz $v0, .L80240BC0 +/* DE2F40 80240AB0 00000000 */ nop +.L80240AB4: +/* DE2F44 80240AB4 2404F7FF */ addiu $a0, $zero, -0x801 +/* DE2F48 80240AB8 AE600070 */ sw $zero, 0x70($s3) +/* DE2F4C 80240ABC A640008E */ sh $zero, 0x8e($s2) +/* DE2F50 80240AC0 8E2200CC */ lw $v0, 0xcc($s1) +/* DE2F54 80240AC4 8E430000 */ lw $v1, ($s2) +/* DE2F58 80240AC8 8C420000 */ lw $v0, ($v0) +/* DE2F5C 80240ACC 00641824 */ and $v1, $v1, $a0 +/* DE2F60 80240AD0 AE430000 */ sw $v1, ($s2) +/* DE2F64 80240AD4 AE420028 */ sw $v0, 0x28($s2) +/* DE2F68 80240AD8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DE2F6C 80240ADC 8C420034 */ lw $v0, 0x34($v0) +/* DE2F70 80240AE0 54400005 */ bnel $v0, $zero, .L80240AF8 +/* DE2F74 80240AE4 2402FDFF */ addiu $v0, $zero, -0x201 +/* DE2F78 80240AE8 34620200 */ ori $v0, $v1, 0x200 +/* DE2F7C 80240AEC 2403FFF7 */ addiu $v1, $zero, -9 +/* DE2F80 80240AF0 080902C0 */ j .L80240B00 +/* DE2F84 80240AF4 00431024 */ and $v0, $v0, $v1 +.L80240AF8: +/* DE2F88 80240AF8 00621024 */ and $v0, $v1, $v0 +/* DE2F8C 80240AFC 34420008 */ ori $v0, $v0, 8 +.L80240B00: +/* DE2F90 80240B00 AE420000 */ sw $v0, ($s2) +/* DE2F94 80240B04 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE2F98 80240B08 30420004 */ andi $v0, $v0, 4 +/* DE2F9C 80240B0C 10400004 */ beqz $v0, .L80240B20 +/* DE2FA0 80240B10 24020063 */ addiu $v0, $zero, 0x63 +/* DE2FA4 80240B14 AE620070 */ sw $v0, 0x70($s3) +/* DE2FA8 80240B18 080902CE */ j .L80240B38 +/* DE2FAC 80240B1C AE600074 */ sw $zero, 0x74($s3) +.L80240B20: +/* DE2FB0 80240B20 8E220000 */ lw $v0, ($s1) +/* DE2FB4 80240B24 3C034000 */ lui $v1, 0x4000 +/* DE2FB8 80240B28 00431024 */ and $v0, $v0, $v1 +/* DE2FBC 80240B2C 10400002 */ beqz $v0, .L80240B38 +/* DE2FC0 80240B30 2402000C */ addiu $v0, $zero, 0xc +/* DE2FC4 80240B34 AE620070 */ sw $v0, 0x70($s3) +.L80240B38: +/* DE2FC8 80240B38 3C06BFFF */ lui $a2, 0xbfff +/* DE2FCC 80240B3C 34C6FFFF */ ori $a2, $a2, 0xffff +/* DE2FD0 80240B40 27A50038 */ addiu $a1, $sp, 0x38 +/* DE2FD4 80240B44 2404FFFB */ addiu $a0, $zero, -5 +/* DE2FD8 80240B48 8E2200B0 */ lw $v0, 0xb0($s1) +/* DE2FDC 80240B4C 8E230000 */ lw $v1, ($s1) +/* DE2FE0 80240B50 3C0142C8 */ lui $at, 0x42c8 +/* DE2FE4 80240B54 44810000 */ mtc1 $at, $f0 +/* DE2FE8 80240B58 00441024 */ and $v0, $v0, $a0 +/* DE2FEC 80240B5C 00661824 */ and $v1, $v1, $a2 +/* DE2FF0 80240B60 AE2200B0 */ sw $v0, 0xb0($s1) +/* DE2FF4 80240B64 AE230000 */ sw $v1, ($s1) +/* DE2FF8 80240B68 864200A8 */ lh $v0, 0xa8($s2) +/* DE2FFC 80240B6C 27A70040 */ addiu $a3, $sp, 0x40 +/* DE3000 80240B70 E7A00044 */ swc1 $f0, 0x44($sp) +/* DE3004 80240B74 C6460038 */ lwc1 $f6, 0x38($s2) +/* DE3008 80240B78 C640003C */ lwc1 $f0, 0x3c($s2) +/* DE300C 80240B7C C6420040 */ lwc1 $f2, 0x40($s2) +/* DE3010 80240B80 44822000 */ mtc1 $v0, $f4 +/* DE3014 80240B84 00000000 */ nop +/* DE3018 80240B88 46802120 */ cvt.s.w $f4, $f4 +/* DE301C 80240B8C 27A20044 */ addiu $v0, $sp, 0x44 +/* DE3020 80240B90 46040000 */ add.s $f0, $f0, $f4 +/* DE3024 80240B94 E7A60038 */ swc1 $f6, 0x38($sp) +/* DE3028 80240B98 E7A20040 */ swc1 $f2, 0x40($sp) +/* DE302C 80240B9C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DE3030 80240BA0 AFA20010 */ sw $v0, 0x10($sp) +/* DE3034 80240BA4 8E440080 */ lw $a0, 0x80($s2) +/* DE3038 80240BA8 0C0372DF */ jal func_800DCB7C +/* DE303C 80240BAC 27A6003C */ addiu $a2, $sp, 0x3c +/* DE3040 80240BB0 10400003 */ beqz $v0, .L80240BC0 +/* DE3044 80240BB4 00000000 */ nop +/* DE3048 80240BB8 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DE304C 80240BBC E640003C */ swc1 $f0, 0x3c($s2) +.L80240BC0: +/* DE3050 80240BC0 8E630070 */ lw $v1, 0x70($s3) +/* DE3054 80240BC4 2C620064 */ sltiu $v0, $v1, 0x64 +/* DE3058 80240BC8 10400038 */ beqz $v0, .L80240CAC +/* DE305C 80240BCC 00031080 */ sll $v0, $v1, 2 +/* DE3060 80240BD0 3C018024 */ lui $at, 0x8024 +/* DE3064 80240BD4 00220821 */ addu $at, $at, $v0 +/* DE3068 80240BD8 8C223090 */ lw $v0, 0x3090($at) +/* DE306C 80240BDC 00400008 */ jr $v0 +/* DE3070 80240BE0 00000000 */ nop +/* DE3074 80240BE4 0260202D */ daddu $a0, $s3, $zero +/* DE3078 80240BE8 0280282D */ daddu $a1, $s4, $zero +/* DE307C 80240BEC 0C012568 */ jal func_800495A0 +/* DE3080 80240BF0 02A0302D */ daddu $a2, $s5, $zero +/* DE3084 80240BF4 0260202D */ daddu $a0, $s3, $zero +/* DE3088 80240BF8 0280282D */ daddu $a1, $s4, $zero +/* DE308C 80240BFC 0C0125AE */ jal func_800496B8 +/* DE3090 80240C00 02A0302D */ daddu $a2, $s5, $zero +/* DE3094 80240C04 0809032B */ j .L80240CAC +/* DE3098 80240C08 00000000 */ nop +/* DE309C 80240C0C 0260202D */ daddu $a0, $s3, $zero +/* DE30A0 80240C10 0280282D */ daddu $a1, $s4, $zero +/* DE30A4 80240C14 0C0901FB */ jal func_802407EC +/* DE30A8 80240C18 02A0302D */ daddu $a2, $s5, $zero +/* DE30AC 80240C1C 0260202D */ daddu $a0, $s3, $zero +/* DE30B0 80240C20 0280282D */ daddu $a1, $s4, $zero +/* DE30B4 80240C24 0C09020F */ jal func_8024083C +/* DE30B8 80240C28 02A0302D */ daddu $a2, $s5, $zero +/* DE30BC 80240C2C 0809032B */ j .L80240CAC +/* DE30C0 80240C30 00000000 */ nop +/* DE30C4 80240C34 0260202D */ daddu $a0, $s3, $zero +/* DE30C8 80240C38 0280282D */ daddu $a1, $s4, $zero +/* DE30CC 80240C3C 0C01278F */ jal func_80049E3C +/* DE30D0 80240C40 02A0302D */ daddu $a2, $s5, $zero +/* DE30D4 80240C44 0260202D */ daddu $a0, $s3, $zero +/* DE30D8 80240C48 0280282D */ daddu $a1, $s4, $zero +/* DE30DC 80240C4C 0C0127B3 */ jal func_80049ECC +/* DE30E0 80240C50 02A0302D */ daddu $a2, $s5, $zero +/* DE30E4 80240C54 0809032B */ j .L80240CAC +/* DE30E8 80240C58 00000000 */ nop +/* DE30EC 80240C5C 0260202D */ daddu $a0, $s3, $zero +/* DE30F0 80240C60 0280282D */ daddu $a1, $s4, $zero +/* DE30F4 80240C64 0C0127DF */ jal func_80049F7C +/* DE30F8 80240C68 02A0302D */ daddu $a2, $s5, $zero +/* DE30FC 80240C6C 0260202D */ daddu $a0, $s3, $zero +/* DE3100 80240C70 0280282D */ daddu $a1, $s4, $zero +/* DE3104 80240C74 0C012849 */ jal func_8004A124 +/* DE3108 80240C78 02A0302D */ daddu $a2, $s5, $zero +/* DE310C 80240C7C 8E630070 */ lw $v1, 0x70($s3) +/* DE3110 80240C80 2402000E */ addiu $v0, $zero, 0xe +/* DE3114 80240C84 14620009 */ bne $v1, $v0, .L80240CAC +/* DE3118 80240C88 00000000 */ nop +/* DE311C 80240C8C 0260202D */ daddu $a0, $s3, $zero +/* DE3120 80240C90 0280282D */ daddu $a1, $s4, $zero +/* DE3124 80240C94 0C0128FA */ jal func_8004A3E8 +/* DE3128 80240C98 02A0302D */ daddu $a2, $s5, $zero +/* DE312C 80240C9C 0809032B */ j .L80240CAC +/* DE3130 80240CA0 00000000 */ nop +/* DE3134 80240CA4 0C0129CF */ jal func_8004A73C +/* DE3138 80240CA8 0260202D */ daddu $a0, $s3, $zero +.L80240CAC: +/* DE313C 80240CAC 8FBF0060 */ lw $ra, 0x60($sp) +/* DE3140 80240CB0 8FB5005C */ lw $s5, 0x5c($sp) +/* DE3144 80240CB4 8FB40058 */ lw $s4, 0x58($sp) +/* DE3148 80240CB8 8FB30054 */ lw $s3, 0x54($sp) +/* DE314C 80240CBC 8FB20050 */ lw $s2, 0x50($sp) +/* DE3150 80240CC0 8FB1004C */ lw $s1, 0x4c($sp) +/* DE3154 80240CC4 8FB00048 */ lw $s0, 0x48($sp) +/* DE3158 80240CC8 0000102D */ daddu $v0, $zero, $zero +/* DE315C 80240CCC 03E00008 */ jr $ra +/* DE3160 80240CD0 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240CD4_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240CD4_DE2490.s new file mode 100644 index 0000000000..eb1fd6ba6c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240CD4_DE2490.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CD4_DE3164 +/* DE3164 80240CD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE3168 80240CD8 AFB10014 */ sw $s1, 0x14($sp) +/* DE316C 80240CDC 0080882D */ daddu $s1, $a0, $zero +/* DE3170 80240CE0 AFBF0018 */ sw $ra, 0x18($sp) +/* DE3174 80240CE4 AFB00010 */ sw $s0, 0x10($sp) +/* DE3178 80240CE8 8E30000C */ lw $s0, 0xc($s1) +/* DE317C 80240CEC 8E050000 */ lw $a1, ($s0) +/* DE3180 80240CF0 0C0B1EAF */ jal get_variable +/* DE3184 80240CF4 26100004 */ addiu $s0, $s0, 4 +/* DE3188 80240CF8 0C00EAD2 */ jal get_npc_safe +/* DE318C 80240CFC 0040202D */ daddu $a0, $v0, $zero +/* DE3190 80240D00 10400005 */ beqz $v0, .L80240D18 +/* DE3194 80240D04 00000000 */ nop +/* DE3198 80240D08 8E050000 */ lw $a1, ($s0) +/* DE319C 80240D0C 844600A8 */ lh $a2, 0xa8($v0) +/* DE31A0 80240D10 0C0B2026 */ jal set_variable +/* DE31A4 80240D14 0220202D */ daddu $a0, $s1, $zero +.L80240D18: +/* DE31A8 80240D18 8FBF0018 */ lw $ra, 0x18($sp) +/* DE31AC 80240D1C 8FB10014 */ lw $s1, 0x14($sp) +/* DE31B0 80240D20 8FB00010 */ lw $s0, 0x10($sp) +/* DE31B4 80240D24 24020002 */ addiu $v0, $zero, 2 +/* DE31B8 80240D28 03E00008 */ jr $ra +/* DE31BC 80240D2C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240D30_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240D30_DE2490.s new file mode 100644 index 0000000000..a39e1dc133 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240D30_DE2490.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D30_DE31C0 +/* DE31C0 80240D30 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DE31C4 80240D34 AFB10014 */ sw $s1, 0x14($sp) +/* DE31C8 80240D38 0080882D */ daddu $s1, $a0, $zero +/* DE31CC 80240D3C AFBF0024 */ sw $ra, 0x24($sp) +/* DE31D0 80240D40 AFB40020 */ sw $s4, 0x20($sp) +/* DE31D4 80240D44 AFB3001C */ sw $s3, 0x1c($sp) +/* DE31D8 80240D48 AFB20018 */ sw $s2, 0x18($sp) +/* DE31DC 80240D4C AFB00010 */ sw $s0, 0x10($sp) +/* DE31E0 80240D50 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* DE31E4 80240D54 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* DE31E8 80240D58 F7B80038 */ sdc1 $f24, 0x38($sp) +/* DE31EC 80240D5C F7B60030 */ sdc1 $f22, 0x30($sp) +/* DE31F0 80240D60 F7B40028 */ sdc1 $f20, 0x28($sp) +/* DE31F4 80240D64 8E30000C */ lw $s0, 0xc($s1) +/* DE31F8 80240D68 8E130000 */ lw $s3, ($s0) +/* DE31FC 80240D6C 26100004 */ addiu $s0, $s0, 4 +/* DE3200 80240D70 0C0B1EAF */ jal get_variable +/* DE3204 80240D74 0260282D */ daddu $a1, $s3, $zero +/* DE3208 80240D78 4482E000 */ mtc1 $v0, $f28 +/* DE320C 80240D7C 00000000 */ nop +/* DE3210 80240D80 4680E720 */ cvt.s.w $f28, $f28 +/* DE3214 80240D84 8E140000 */ lw $s4, ($s0) +/* DE3218 80240D88 26100004 */ addiu $s0, $s0, 4 +/* DE321C 80240D8C 0220202D */ daddu $a0, $s1, $zero +/* DE3220 80240D90 0C0B1EAF */ jal get_variable +/* DE3224 80240D94 0280282D */ daddu $a1, $s4, $zero +/* DE3228 80240D98 4482D000 */ mtc1 $v0, $f26 +/* DE322C 80240D9C 00000000 */ nop +/* DE3230 80240DA0 4680D6A0 */ cvt.s.w $f26, $f26 +/* DE3234 80240DA4 8E100000 */ lw $s0, ($s0) +/* DE3238 80240DA8 0220202D */ daddu $a0, $s1, $zero +/* DE323C 80240DAC 0C0B1EAF */ jal get_variable +/* DE3240 80240DB0 0200282D */ daddu $a1, $s0, $zero +/* DE3244 80240DB4 4482C000 */ mtc1 $v0, $f24 +/* DE3248 80240DB8 00000000 */ nop +/* DE324C 80240DBC 4680C620 */ cvt.s.w $f24, $f24 +/* DE3250 80240DC0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* DE3254 80240DC4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* DE3258 80240DC8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* DE325C 80240DCC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* DE3260 80240DD0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* DE3264 80240DD4 44800000 */ mtc1 $zero, $f0 +/* DE3268 80240DD8 00031080 */ sll $v0, $v1, 2 +/* DE326C 80240DDC 00431021 */ addu $v0, $v0, $v1 +/* DE3270 80240DE0 00021080 */ sll $v0, $v0, 2 +/* DE3274 80240DE4 00431023 */ subu $v0, $v0, $v1 +/* DE3278 80240DE8 000218C0 */ sll $v1, $v0, 3 +/* DE327C 80240DEC 00431021 */ addu $v0, $v0, $v1 +/* DE3280 80240DF0 000210C0 */ sll $v0, $v0, 3 +/* DE3284 80240DF4 46001032 */ c.eq.s $f2, $f0 +/* DE3288 80240DF8 3C01800B */ lui $at, 0x800b +/* DE328C 80240DFC 00220821 */ addu $at, $at, $v0 +/* DE3290 80240E00 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* DE3294 80240E04 45000005 */ bc1f .L80240E1C +/* DE3298 80240E08 00000000 */ nop +/* DE329C 80240E0C 3C0142C8 */ lui $at, 0x42c8 +/* DE32A0 80240E10 44810000 */ mtc1 $at, $f0 +/* DE32A4 80240E14 0809038B */ j .L80240E2C +/* DE32A8 80240E18 4600B581 */ sub.s $f22, $f22, $f0 +.L80240E1C: +/* DE32AC 80240E1C 3C0142C8 */ lui $at, 0x42c8 +/* DE32B0 80240E20 44810000 */ mtc1 $at, $f0 +/* DE32B4 80240E24 00000000 */ nop +/* DE32B8 80240E28 4600B580 */ add.s $f22, $f22, $f0 +.L80240E2C: +/* DE32BC 80240E2C 0C00A6C9 */ jal clamp_angle +/* DE32C0 80240E30 4600B306 */ mov.s $f12, $f22 +/* DE32C4 80240E34 46000586 */ mov.s $f22, $f0 +/* DE32C8 80240E38 3C014170 */ lui $at, 0x4170 +/* DE32CC 80240E3C 4481A000 */ mtc1 $at, $f20 +/* DE32D0 80240E40 0C00A8BB */ jal sin_deg +/* DE32D4 80240E44 4600B306 */ mov.s $f12, $f22 +/* DE32D8 80240E48 46140002 */ mul.s $f0, $f0, $f20 +/* DE32DC 80240E4C 00000000 */ nop +/* DE32E0 80240E50 864200B0 */ lh $v0, 0xb0($s2) +/* DE32E4 80240E54 3C013F00 */ lui $at, 0x3f00 +/* DE32E8 80240E58 44812000 */ mtc1 $at, $f4 +/* DE32EC 80240E5C 44821000 */ mtc1 $v0, $f2 +/* DE32F0 80240E60 00000000 */ nop +/* DE32F4 80240E64 468010A0 */ cvt.s.w $f2, $f2 +/* DE32F8 80240E68 46041082 */ mul.s $f2, $f2, $f4 +/* DE32FC 80240E6C 00000000 */ nop +/* DE3300 80240E70 4600E700 */ add.s $f28, $f28, $f0 +/* DE3304 80240E74 4602D680 */ add.s $f26, $f26, $f2 +/* DE3308 80240E78 0C00A8D4 */ jal cos_deg +/* DE330C 80240E7C 4600B306 */ mov.s $f12, $f22 +/* DE3310 80240E80 46140002 */ mul.s $f0, $f0, $f20 +/* DE3314 80240E84 00000000 */ nop +/* DE3318 80240E88 0220202D */ daddu $a0, $s1, $zero +/* DE331C 80240E8C 0260282D */ daddu $a1, $s3, $zero +/* DE3320 80240E90 4600E18D */ trunc.w.s $f6, $f28 +/* DE3324 80240E94 44063000 */ mfc1 $a2, $f6 +/* DE3328 80240E98 0C0B2026 */ jal set_variable +/* DE332C 80240E9C 4600C601 */ sub.s $f24, $f24, $f0 +/* DE3330 80240EA0 0220202D */ daddu $a0, $s1, $zero +/* DE3334 80240EA4 4600D18D */ trunc.w.s $f6, $f26 +/* DE3338 80240EA8 44063000 */ mfc1 $a2, $f6 +/* DE333C 80240EAC 0C0B2026 */ jal set_variable +/* DE3340 80240EB0 0280282D */ daddu $a1, $s4, $zero +/* DE3344 80240EB4 0220202D */ daddu $a0, $s1, $zero +/* DE3348 80240EB8 4600C18D */ trunc.w.s $f6, $f24 +/* DE334C 80240EBC 44063000 */ mfc1 $a2, $f6 +/* DE3350 80240EC0 0C0B2026 */ jal set_variable +/* DE3354 80240EC4 0200282D */ daddu $a1, $s0, $zero +/* DE3358 80240EC8 8FBF0024 */ lw $ra, 0x24($sp) +/* DE335C 80240ECC 8FB40020 */ lw $s4, 0x20($sp) +/* DE3360 80240ED0 8FB3001C */ lw $s3, 0x1c($sp) +/* DE3364 80240ED4 8FB20018 */ lw $s2, 0x18($sp) +/* DE3368 80240ED8 8FB10014 */ lw $s1, 0x14($sp) +/* DE336C 80240EDC 8FB00010 */ lw $s0, 0x10($sp) +/* DE3370 80240EE0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* DE3374 80240EE4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* DE3378 80240EE8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* DE337C 80240EEC D7B60030 */ ldc1 $f22, 0x30($sp) +/* DE3380 80240EF0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* DE3384 80240EF4 24020002 */ addiu $v0, $zero, 2 +/* DE3388 80240EF8 03E00008 */ jr $ra +/* DE338C 80240EFC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240F00_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240F00_DE2490.s new file mode 100644 index 0000000000..40805a9a08 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240F00_DE2490.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F00_DE3390 +/* DE3390 80240F00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE3394 80240F04 AFBF0010 */ sw $ra, 0x10($sp) +/* DE3398 80240F08 10A00003 */ beqz $a1, .L80240F18 +/* DE339C 80240F0C 8C86000C */ lw $a2, 0xc($a0) +/* DE33A0 80240F10 3C018024 */ lui $at, 0x8024 +/* DE33A4 80240F14 AC201C04 */ sw $zero, 0x1c04($at) +.L80240F18: +/* DE33A8 80240F18 3C038024 */ lui $v1, 0x8024 +/* DE33AC 80240F1C 24631C04 */ addiu $v1, $v1, 0x1c04 +/* DE33B0 80240F20 8C620000 */ lw $v0, ($v1) +/* DE33B4 80240F24 54400003 */ bnel $v0, $zero, .L80240F34 +/* DE33B8 80240F28 AC600000 */ sw $zero, ($v1) +/* DE33BC 80240F2C 080903D2 */ j .L80240F48 +/* DE33C0 80240F30 0000102D */ daddu $v0, $zero, $zero +.L80240F34: +/* DE33C4 80240F34 8CC50000 */ lw $a1, ($a2) +/* DE33C8 80240F38 3C068024 */ lui $a2, 0x8024 +/* DE33CC 80240F3C 0C0B2026 */ jal set_variable +/* DE33D0 80240F40 8CC61C08 */ lw $a2, 0x1c08($a2) +/* DE33D4 80240F44 24020002 */ addiu $v0, $zero, 2 +.L80240F48: +/* DE33D8 80240F48 8FBF0010 */ lw $ra, 0x10($sp) +/* DE33DC 80240F4C 03E00008 */ jr $ra +/* DE33E0 80240F50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240F54_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240F54_DE2490.s new file mode 100644 index 0000000000..676bbab251 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240F54_DE2490.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F54_DE33E4 +/* DE33E4 80240F54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE33E8 80240F58 AFBF0010 */ sw $ra, 0x10($sp) +/* DE33EC 80240F5C 8C82000C */ lw $v0, 0xc($a0) +/* DE33F0 80240F60 0C0B1EAF */ jal get_variable +/* DE33F4 80240F64 8C450000 */ lw $a1, ($v0) +/* DE33F8 80240F68 3C018024 */ lui $at, 0x8024 +/* DE33FC 80240F6C AC221C08 */ sw $v0, 0x1c08($at) +/* DE3400 80240F70 24020002 */ addiu $v0, $zero, 2 +/* DE3404 80240F74 8FBF0010 */ lw $ra, 0x10($sp) +/* DE3408 80240F78 24030001 */ addiu $v1, $zero, 1 +/* DE340C 80240F7C 3C018024 */ lui $at, 0x8024 +/* DE3410 80240F80 AC231C04 */ sw $v1, 0x1c04($at) +/* DE3414 80240F84 03E00008 */ jr $ra +/* DE3418 80240F88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80240F8C_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80240F8C_DE2490.s new file mode 100644 index 0000000000..8a7e5a9adf --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80240F8C_DE2490.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F8C_DE341C +/* DE341C 80240F8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE3420 80240F90 AFBF0010 */ sw $ra, 0x10($sp) +/* DE3424 80240F94 8C82000C */ lw $v0, 0xc($a0) +/* DE3428 80240F98 0C0B1EAF */ jal get_variable +/* DE342C 80240F9C 8C450000 */ lw $a1, ($v0) +/* DE3430 80240FA0 0040182D */ daddu $v1, $v0, $zero +/* DE3434 80240FA4 10600012 */ beqz $v1, .L80240FF0 +/* DE3438 80240FA8 0000202D */ daddu $a0, $zero, $zero +/* DE343C 80240FAC 8C620000 */ lw $v0, ($v1) +/* DE3440 80240FB0 5040000A */ beql $v0, $zero, .L80240FDC +/* DE3444 80240FB4 00041080 */ sll $v0, $a0, 2 +/* DE3448 80240FB8 3C058024 */ lui $a1, 0x8024 +/* DE344C 80240FBC 24A53220 */ addiu $a1, $a1, 0x3220 +.L80240FC0: +/* DE3450 80240FC0 24630004 */ addiu $v1, $v1, 4 +/* DE3454 80240FC4 24840001 */ addiu $a0, $a0, 1 +/* DE3458 80240FC8 ACA20000 */ sw $v0, ($a1) +/* DE345C 80240FCC 8C620000 */ lw $v0, ($v1) +/* DE3460 80240FD0 1440FFFB */ bnez $v0, .L80240FC0 +/* DE3464 80240FD4 24A50004 */ addiu $a1, $a1, 4 +/* DE3468 80240FD8 00041080 */ sll $v0, $a0, 2 +.L80240FDC: +/* DE346C 80240FDC 3C018024 */ lui $at, 0x8024 +/* DE3470 80240FE0 00220821 */ addu $at, $at, $v0 +/* DE3474 80240FE4 AC203220 */ sw $zero, 0x3220($at) +/* DE3478 80240FE8 08090406 */ j .L80241018 +/* DE347C 80240FEC 00000000 */ nop +.L80240FF0: +/* DE3480 80240FF0 3C038024 */ lui $v1, 0x8024 +/* DE3484 80240FF4 24633220 */ addiu $v1, $v1, 0x3220 +/* DE3488 80240FF8 0060282D */ daddu $a1, $v1, $zero +.L80240FFC: +/* DE348C 80240FFC 24820080 */ addiu $v0, $a0, 0x80 +/* DE3490 80241000 AC620000 */ sw $v0, ($v1) +/* DE3494 80241004 24630004 */ addiu $v1, $v1, 4 +/* DE3498 80241008 24840001 */ addiu $a0, $a0, 1 +/* DE349C 8024100C 2882005B */ slti $v0, $a0, 0x5b +/* DE34A0 80241010 1440FFFA */ bnez $v0, .L80240FFC +/* DE34A4 80241014 ACA0016C */ sw $zero, 0x16c($a1) +.L80241018: +/* DE34A8 80241018 8FBF0010 */ lw $ra, 0x10($sp) +/* DE34AC 8024101C 24020002 */ addiu $v0, $zero, 2 +/* DE34B0 80241020 03E00008 */ jr $ra +/* DE34B4 80241024 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80241028.s b/asm/nonmatchings/world/area_omo/omo_13/func_80241028.s new file mode 100644 index 0000000000..54d0ad799a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80241028.s @@ -0,0 +1,142 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241028 +/* DE34B8 80241028 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DE34BC 8024102C AFB20018 */ sw $s2, 0x18($sp) +/* DE34C0 80241030 0080902D */ daddu $s2, $a0, $zero +/* DE34C4 80241034 AFBF001C */ sw $ra, 0x1c($sp) +/* DE34C8 80241038 AFB10014 */ sw $s1, 0x14($sp) +/* DE34CC 8024103C AFB00010 */ sw $s0, 0x10($sp) +/* DE34D0 80241040 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DE34D4 80241044 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DE34D8 80241048 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DE34DC 8024104C 0C00EAD2 */ jal get_npc_safe +/* DE34E0 80241050 0000202D */ daddu $a0, $zero, $zero +/* DE34E4 80241054 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* DE34E8 80241058 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* DE34EC 8024105C 0040802D */ daddu $s0, $v0, $zero +/* DE34F0 80241060 8E260028 */ lw $a2, 0x28($s1) +/* DE34F4 80241064 8E270030 */ lw $a3, 0x30($s1) +/* DE34F8 80241068 3C0142DC */ lui $at, 0x42dc +/* DE34FC 8024106C 4481A000 */ mtc1 $at, $f20 +/* DE3500 80241070 3C01C234 */ lui $at, 0xc234 +/* DE3504 80241074 4481B000 */ mtc1 $at, $f22 +/* DE3508 80241078 4600A306 */ mov.s $f12, $f20 +/* DE350C 8024107C 0C00A7B5 */ jal dist2D +/* DE3510 80241080 4600B386 */ mov.s $f14, $f22 +/* DE3514 80241084 4600A306 */ mov.s $f12, $f20 +/* DE3518 80241088 8E260028 */ lw $a2, 0x28($s1) +/* DE351C 8024108C 8E270030 */ lw $a3, 0x30($s1) +/* DE3520 80241090 0C00A720 */ jal atan2 +/* DE3524 80241094 4600B386 */ mov.s $f14, $f22 +/* DE3528 80241098 0C00A6C9 */ jal clamp_angle +/* DE352C 8024109C 46000306 */ mov.s $f12, $f0 +/* DE3530 802410A0 46000586 */ mov.s $f22, $f0 +/* DE3534 802410A4 0C00A8BB */ jal sin_deg +/* DE3538 802410A8 4600B306 */ mov.s $f12, $f22 +/* DE353C 802410AC 3C0141F0 */ lui $at, 0x41f0 +/* DE3540 802410B0 44811000 */ mtc1 $at, $f2 +/* DE3544 802410B4 00000000 */ nop +/* DE3548 802410B8 46020002 */ mul.s $f0, $f0, $f2 +/* DE354C 802410BC 00000000 */ nop +/* DE3550 802410C0 8E4200B0 */ lw $v0, 0xb0($s2) +/* DE3554 802410C4 10400009 */ beqz $v0, .L802410EC +/* DE3558 802410C8 46140600 */ add.s $f24, $f0, $f20 +/* DE355C 802410CC C622002C */ lwc1 $f2, 0x2c($s1) +/* DE3560 802410D0 3C013F33 */ lui $at, 0x3f33 +/* DE3564 802410D4 34213333 */ ori $at, $at, 0x3333 +/* DE3568 802410D8 44810000 */ mtc1 $at, $f0 +/* DE356C 802410DC 00000000 */ nop +/* DE3570 802410E0 46001502 */ mul.s $f20, $f2, $f0 +/* DE3574 802410E4 0809043C */ j .L802410F0 +/* DE3578 802410E8 00000000 */ nop +.L802410EC: +/* DE357C 802410EC C614003C */ lwc1 $f20, 0x3c($s0) +.L802410F0: +/* DE3580 802410F0 0C00A8D4 */ jal cos_deg +/* DE3584 802410F4 4600B306 */ mov.s $f12, $f22 +/* DE3588 802410F8 3C0141F0 */ lui $at, 0x41f0 +/* DE358C 802410FC 44811000 */ mtc1 $at, $f2 +/* DE3590 80241100 00000000 */ nop +/* DE3594 80241104 46020002 */ mul.s $f0, $f0, $f2 +/* DE3598 80241108 00000000 */ nop +/* DE359C 8024110C 3C01C234 */ lui $at, 0xc234 +/* DE35A0 80241110 44811000 */ mtc1 $at, $f2 +/* DE35A4 80241114 8E4200B0 */ lw $v0, 0xb0($s2) +/* DE35A8 80241118 10400008 */ beqz $v0, .L8024113C +/* DE35AC 8024111C 46001101 */ sub.s $f4, $f2, $f0 +/* DE35B0 80241120 C602003C */ lwc1 $f2, 0x3c($s0) +/* DE35B4 80241124 44800000 */ mtc1 $zero, $f0 +/* DE35B8 80241128 00000000 */ nop +/* DE35BC 8024112C 46001032 */ c.eq.s $f2, $f0 +/* DE35C0 80241130 00000000 */ nop +/* DE35C4 80241134 45030001 */ bc1tl .L8024113C +/* DE35C8 80241138 AE4000B0 */ sw $zero, 0xb0($s2) +.L8024113C: +/* DE35CC 8024113C C6000038 */ lwc1 $f0, 0x38($s0) +/* DE35D0 80241140 46180032 */ c.eq.s $f0, $f24 +/* DE35D4 80241144 00000000 */ nop +/* DE35D8 80241148 4500000C */ bc1f .L8024117C +/* DE35DC 8024114C 3C04003B */ lui $a0, 0x3b +/* DE35E0 80241150 C600003C */ lwc1 $f0, 0x3c($s0) +/* DE35E4 80241154 46140032 */ c.eq.s $f0, $f20 +/* DE35E8 80241158 00000000 */ nop +/* DE35EC 8024115C 45000007 */ bc1f .L8024117C +/* DE35F0 80241160 00000000 */ nop +/* DE35F4 80241164 C6000040 */ lwc1 $f0, 0x40($s0) +/* DE35F8 80241168 46040032 */ c.eq.s $f0, $f4 +/* DE35FC 8024116C 00000000 */ nop +/* DE3600 80241170 4501001A */ bc1t .L802411DC +/* DE3604 80241174 3C03003B */ lui $v1, 0x3b +/* DE3608 80241178 3C04003B */ lui $a0, 0x3b +.L8024117C: +/* DE360C 8024117C 8E020028 */ lw $v0, 0x28($s0) +/* DE3610 80241180 34840502 */ ori $a0, $a0, 0x502 +/* DE3614 80241184 5044000A */ beql $v0, $a0, .L802411B0 +/* DE3618 80241188 E6180038 */ swc1 $f24, 0x38($s0) +/* DE361C 8024118C 8E4200AC */ lw $v0, 0xac($s2) +/* DE3620 80241190 0040182D */ daddu $v1, $v0, $zero +/* DE3624 80241194 24420001 */ addiu $v0, $v0, 1 +/* DE3628 80241198 28630006 */ slti $v1, $v1, 6 +/* DE362C 8024119C 14600003 */ bnez $v1, .L802411AC +/* DE3630 802411A0 AE4200AC */ sw $v0, 0xac($s2) +/* DE3634 802411A4 AE040028 */ sw $a0, 0x28($s0) +/* DE3638 802411A8 AE4000AC */ sw $zero, 0xac($s2) +.L802411AC: +/* DE363C 802411AC E6180038 */ swc1 $f24, 0x38($s0) +.L802411B0: +/* DE3640 802411B0 4600C006 */ mov.s $f0, $f24 +/* DE3644 802411B4 C602003C */ lwc1 $f2, 0x3c($s0) +/* DE3648 802411B8 8E020000 */ lw $v0, ($s0) +/* DE364C 802411BC 3C030001 */ lui $v1, 1 +/* DE3650 802411C0 E6040040 */ swc1 $f4, 0x40($s0) +/* DE3654 802411C4 E600006C */ swc1 $f0, 0x6c($s0) +/* DE3658 802411C8 E6040074 */ swc1 $f4, 0x74($s0) +/* DE365C 802411CC 00431025 */ or $v0, $v0, $v1 +/* DE3660 802411D0 E6020070 */ swc1 $f2, 0x70($s0) +/* DE3664 802411D4 0809047B */ j .L802411EC +/* DE3668 802411D8 AE020000 */ sw $v0, ($s0) +.L802411DC: +/* DE366C 802411DC 8E020028 */ lw $v0, 0x28($s0) +/* DE3670 802411E0 34630501 */ ori $v1, $v1, 0x501 +/* DE3674 802411E4 54430001 */ bnel $v0, $v1, .L802411EC +/* DE3678 802411E8 AE030028 */ sw $v1, 0x28($s0) +.L802411EC: +/* DE367C 802411EC C60C0038 */ lwc1 $f12, 0x38($s0) +/* DE3680 802411F0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DE3684 802411F4 8E260028 */ lw $a2, 0x28($s1) +/* DE3688 802411F8 0C00A720 */ jal atan2 +/* DE368C 802411FC 8E270030 */ lw $a3, 0x30($s1) +/* DE3690 80241200 E600000C */ swc1 $f0, 0xc($s0) +/* DE3694 80241204 8FBF001C */ lw $ra, 0x1c($sp) +/* DE3698 80241208 8FB20018 */ lw $s2, 0x18($sp) +/* DE369C 8024120C 8FB10014 */ lw $s1, 0x14($sp) +/* DE36A0 80241210 8FB00010 */ lw $s0, 0x10($sp) +/* DE36A4 80241214 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DE36A8 80241218 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DE36AC 8024121C D7B40020 */ ldc1 $f20, 0x20($sp) +/* DE36B0 80241220 24020002 */ addiu $v0, $zero, 2 +/* DE36B4 80241224 03E00008 */ jr $ra +/* DE36B8 80241228 27BD0038 */ addiu $sp, $sp, 0x38 +/* DE36BC 8024122C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80241230_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80241230_DE2490.s new file mode 100644 index 0000000000..9cdcb9c990 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80241230_DE2490.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241230_DE36C0 +/* DE36C0 80241230 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE36C4 80241234 AFB00010 */ sw $s0, 0x10($sp) +/* DE36C8 80241238 3C108024 */ lui $s0, 0x8024 +/* DE36CC 8024123C 26102C70 */ addiu $s0, $s0, 0x2c70 +/* DE36D0 80241240 AFBF0018 */ sw $ra, 0x18($sp) +/* DE36D4 80241244 AFB10014 */ sw $s1, 0x14($sp) +/* DE36D8 80241248 8E020000 */ lw $v0, ($s0) +/* DE36DC 8024124C 14400010 */ bnez $v0, .L80241290 +/* DE36E0 80241250 0080882D */ daddu $s1, $a0, $zero +/* DE36E4 80241254 0C00AB39 */ jal heap_malloc +/* DE36E8 80241258 24040040 */ addiu $a0, $zero, 0x40 +/* DE36EC 8024125C AE020000 */ sw $v0, ($s0) +/* DE36F0 80241260 0000182D */ daddu $v1, $zero, $zero +/* DE36F4 80241264 0040282D */ daddu $a1, $v0, $zero +/* DE36F8 80241268 0220202D */ daddu $a0, $s1, $zero +.L8024126C: +/* DE36FC 8024126C 8C820084 */ lw $v0, 0x84($a0) +/* DE3700 80241270 24840004 */ addiu $a0, $a0, 4 +/* DE3704 80241274 24630001 */ addiu $v1, $v1, 1 +/* DE3708 80241278 ACA20000 */ sw $v0, ($a1) +/* DE370C 8024127C 28620010 */ slti $v0, $v1, 0x10 +/* DE3710 80241280 1440FFFA */ bnez $v0, .L8024126C +/* DE3714 80241284 24A50004 */ addiu $a1, $a1, 4 +/* DE3718 80241288 080904B3 */ j .L802412CC +/* DE371C 8024128C 00000000 */ nop +.L80241290: +/* DE3720 80241290 0000182D */ daddu $v1, $zero, $zero +/* DE3724 80241294 0040282D */ daddu $a1, $v0, $zero +/* DE3728 80241298 0220202D */ daddu $a0, $s1, $zero +.L8024129C: +/* DE372C 8024129C 8CA20000 */ lw $v0, ($a1) +/* DE3730 802412A0 24A50004 */ addiu $a1, $a1, 4 +/* DE3734 802412A4 24630001 */ addiu $v1, $v1, 1 +/* DE3738 802412A8 AC820084 */ sw $v0, 0x84($a0) +/* DE373C 802412AC 28620010 */ slti $v0, $v1, 0x10 +/* DE3740 802412B0 1440FFFA */ bnez $v0, .L8024129C +/* DE3744 802412B4 24840004 */ addiu $a0, $a0, 4 +/* DE3748 802412B8 3C108024 */ lui $s0, 0x8024 +/* DE374C 802412BC 26102C70 */ addiu $s0, $s0, 0x2c70 +/* DE3750 802412C0 0C00AB4B */ jal heap_free +/* DE3754 802412C4 8E040000 */ lw $a0, ($s0) +/* DE3758 802412C8 AE000000 */ sw $zero, ($s0) +.L802412CC: +/* DE375C 802412CC 8FBF0018 */ lw $ra, 0x18($sp) +/* DE3760 802412D0 8FB10014 */ lw $s1, 0x14($sp) +/* DE3764 802412D4 8FB00010 */ lw $s0, 0x10($sp) +/* DE3768 802412D8 24020002 */ addiu $v0, $zero, 2 +/* DE376C 802412DC 03E00008 */ jr $ra +/* DE3770 802412E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_802412E4_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_802412E4_DE2490.s new file mode 100644 index 0000000000..3c5a9e07b8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_802412E4_DE2490.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E4_DE3774 +/* DE3774 802412E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE3778 802412E8 AFB00010 */ sw $s0, 0x10($sp) +/* DE377C 802412EC 0080802D */ daddu $s0, $a0, $zero +/* DE3780 802412F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DE3784 802412F4 AFB10014 */ sw $s1, 0x14($sp) +/* DE3788 802412F8 8E02000C */ lw $v0, 0xc($s0) +/* DE378C 802412FC 8C510000 */ lw $s1, ($v0) +/* DE3790 80241300 0C0B1EAF */ jal get_variable +/* DE3794 80241304 0220282D */ daddu $a1, $s1, $zero +/* DE3798 80241308 3C03FFF0 */ lui $v1, 0xfff0 +/* DE379C 8024130C 3463FFFF */ ori $v1, $v1, 0xffff +/* DE37A0 80241310 0200202D */ daddu $a0, $s0, $zero +/* DE37A4 80241314 00431024 */ and $v0, $v0, $v1 +/* DE37A8 80241318 00021140 */ sll $v0, $v0, 5 +/* DE37AC 8024131C 3C068008 */ lui $a2, %hi(gItemTable) +/* DE37B0 80241320 00C23021 */ addu $a2, $a2, $v0 +/* DE37B4 80241324 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* DE37B8 80241328 0C0B2026 */ jal set_variable +/* DE37BC 8024132C 0220282D */ daddu $a1, $s1, $zero +/* DE37C0 80241330 8FBF0018 */ lw $ra, 0x18($sp) +/* DE37C4 80241334 8FB10014 */ lw $s1, 0x14($sp) +/* DE37C8 80241338 8FB00010 */ lw $s0, 0x10($sp) +/* DE37CC 8024133C 24020002 */ addiu $v0, $zero, 2 +/* DE37D0 80241340 03E00008 */ jr $ra +/* DE37D4 80241344 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80241348.s b/asm/nonmatchings/world/area_omo/omo_13/func_80241348.s new file mode 100644 index 0000000000..bf3a044d22 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80241348.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241348 +/* DE37D8 80241348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE37DC 8024134C AFB10014 */ sw $s1, 0x14($sp) +/* DE37E0 80241350 0080882D */ daddu $s1, $a0, $zero +/* DE37E4 80241354 AFBF001C */ sw $ra, 0x1c($sp) +/* DE37E8 80241358 AFB20018 */ sw $s2, 0x18($sp) +/* DE37EC 8024135C AFB00010 */ sw $s0, 0x10($sp) +/* DE37F0 80241360 8E240084 */ lw $a0, 0x84($s1) +/* DE37F4 80241364 0C04C3D6 */ jal get_item_entity +/* DE37F8 80241368 00A0802D */ daddu $s0, $a1, $zero +/* DE37FC 8024136C 12000005 */ beqz $s0, .L80241384 +/* DE3800 80241370 0040902D */ daddu $s2, $v0, $zero +/* DE3804 80241374 C640000C */ lwc1 $f0, 0xc($s2) +/* DE3808 80241378 AE200074 */ sw $zero, 0x74($s1) +/* DE380C 8024137C AE20007C */ sw $zero, 0x7c($s1) +/* DE3810 80241380 E6200078 */ swc1 $f0, 0x78($s1) +.L80241384: +/* DE3814 80241384 8E230074 */ lw $v1, 0x74($s1) +/* DE3818 80241388 10600005 */ beqz $v1, .L802413A0 +/* DE381C 8024138C 24020001 */ addiu $v0, $zero, 1 +/* DE3820 80241390 10620024 */ beq $v1, $v0, .L80241424 +/* DE3824 80241394 00000000 */ nop +/* DE3828 80241398 0809051F */ j .L8024147C +/* DE382C 8024139C 00000000 */ nop +.L802413A0: +/* DE3830 802413A0 3C013FC9 */ lui $at, 0x3fc9 +/* DE3834 802413A4 34210FD8 */ ori $at, $at, 0xfd8 +/* DE3838 802413A8 44810000 */ mtc1 $at, $f0 +/* DE383C 802413AC C62C007C */ lwc1 $f12, 0x7c($s1) +/* DE3840 802413B0 46806320 */ cvt.s.w $f12, $f12 +/* DE3844 802413B4 46006302 */ mul.s $f12, $f12, $f0 +/* DE3848 802413B8 00000000 */ nop +/* DE384C 802413BC 3C0141F0 */ lui $at, 0x41f0 +/* DE3850 802413C0 44810000 */ mtc1 $at, $f0 +/* DE3854 802413C4 0C00A874 */ jal cos_rad +/* DE3858 802413C8 46006303 */ div.s $f12, $f12, $f0 +/* DE385C 802413CC 3C013F80 */ lui $at, 0x3f80 +/* DE3860 802413D0 44811000 */ mtc1 $at, $f2 +/* DE3864 802413D4 00000000 */ nop +/* DE3868 802413D8 46001081 */ sub.s $f2, $f2, $f0 +/* DE386C 802413DC 3C0141A0 */ lui $at, 0x41a0 +/* DE3870 802413E0 44810000 */ mtc1 $at, $f0 +/* DE3874 802413E4 00000000 */ nop +/* DE3878 802413E8 46001082 */ mul.s $f2, $f2, $f0 +/* DE387C 802413EC 00000000 */ nop +/* DE3880 802413F0 C6200078 */ lwc1 $f0, 0x78($s1) +/* DE3884 802413F4 46020000 */ add.s $f0, $f0, $f2 +/* DE3888 802413F8 E640000C */ swc1 $f0, 0xc($s2) +/* DE388C 802413FC 8E23007C */ lw $v1, 0x7c($s1) +/* DE3890 80241400 2402001E */ addiu $v0, $zero, 0x1e +/* DE3894 80241404 14620005 */ bne $v1, $v0, .L8024141C +/* DE3898 80241408 24620001 */ addiu $v0, $v1, 1 +/* DE389C 8024140C 24020001 */ addiu $v0, $zero, 1 +/* DE38A0 80241410 AE220074 */ sw $v0, 0x74($s1) +/* DE38A4 80241414 0809051F */ j .L8024147C +/* DE38A8 80241418 AE20007C */ sw $zero, 0x7c($s1) +.L8024141C: +/* DE38AC 8024141C 0809051F */ j .L8024147C +/* DE38B0 80241420 AE22007C */ sw $v0, 0x7c($s1) +.L80241424: +/* DE38B4 80241424 C62C007C */ lwc1 $f12, 0x7c($s1) +/* DE38B8 80241428 0C00A8D4 */ jal cos_deg +/* DE38BC 8024142C 46806320 */ cvt.s.w $f12, $f12 +/* DE38C0 80241430 3C014040 */ lui $at, 0x4040 +/* DE38C4 80241434 44811000 */ mtc1 $at, $f2 +/* DE38C8 80241438 00000000 */ nop +/* DE38CC 8024143C 46020002 */ mul.s $f0, $f0, $f2 +/* DE38D0 80241440 00000000 */ nop +/* DE38D4 80241444 3C014188 */ lui $at, 0x4188 +/* DE38D8 80241448 44812000 */ mtc1 $at, $f4 +/* DE38DC 8024144C C6220078 */ lwc1 $f2, 0x78($s1) +/* DE38E0 80241450 46041080 */ add.s $f2, $f2, $f4 +/* DE38E4 80241454 46001080 */ add.s $f2, $f2, $f0 +/* DE38E8 80241458 E642000C */ swc1 $f2, 0xc($s2) +/* DE38EC 8024145C 8E22007C */ lw $v0, 0x7c($s1) +/* DE38F0 80241460 24420009 */ addiu $v0, $v0, 9 +/* DE38F4 80241464 44826000 */ mtc1 $v0, $f12 +/* DE38F8 80241468 00000000 */ nop +/* DE38FC 8024146C 0C00A6C9 */ jal clamp_angle +/* DE3900 80241470 46806320 */ cvt.s.w $f12, $f12 +/* DE3904 80241474 4600018D */ trunc.w.s $f6, $f0 +/* DE3908 80241478 E626007C */ swc1 $f6, 0x7c($s1) +.L8024147C: +/* DE390C 8024147C 8FBF001C */ lw $ra, 0x1c($sp) +/* DE3910 80241480 8FB20018 */ lw $s2, 0x18($sp) +/* DE3914 80241484 8FB10014 */ lw $s1, 0x14($sp) +/* DE3918 80241488 8FB00010 */ lw $s0, 0x10($sp) +/* DE391C 8024148C 0000102D */ daddu $v0, $zero, $zero +/* DE3920 80241490 03E00008 */ jr $ra +/* DE3924 80241494 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_13/func_80241498_DE2490.s b/asm/nonmatchings/world/area_omo/omo_13/func_80241498_DE2490.s new file mode 100644 index 0000000000..68d5a009a2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_13/func_80241498_DE2490.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241498_DE3928 +/* DE3928 80241498 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE392C 8024149C AFB00010 */ sw $s0, 0x10($sp) +/* DE3930 802414A0 0080802D */ daddu $s0, $a0, $zero +/* DE3934 802414A4 AFBF0014 */ sw $ra, 0x14($sp) +/* DE3938 802414A8 8E02000C */ lw $v0, 0xc($s0) +/* DE393C 802414AC 0C0B1EAF */ jal get_variable +/* DE3940 802414B0 8C450000 */ lw $a1, ($v0) +/* DE3944 802414B4 00021140 */ sll $v0, $v0, 5 +/* DE3948 802414B8 AE000084 */ sw $zero, 0x84($s0) +/* DE394C 802414BC 3C018008 */ lui $at, 0x8008 +/* DE3950 802414C0 00220821 */ addu $at, $at, $v0 +/* DE3954 802414C4 942278F8 */ lhu $v0, 0x78f8($at) +/* DE3958 802414C8 30420040 */ andi $v0, $v0, 0x40 +/* DE395C 802414CC 10400002 */ beqz $v0, .L802414D8 +/* DE3960 802414D0 24020001 */ addiu $v0, $zero, 1 +/* DE3964 802414D4 AE020084 */ sw $v0, 0x84($s0) +.L802414D8: +/* DE3968 802414D8 8FBF0014 */ lw $ra, 0x14($sp) +/* DE396C 802414DC 8FB00010 */ lw $s0, 0x10($sp) +/* DE3970 802414E0 24020002 */ addiu $v0, $zero, 2 +/* DE3974 802414E4 03E00008 */ jr $ra +/* DE3978 802414E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* DE397C 802414EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_14/func_80240000_DE56B0.s b/asm/nonmatchings/world/area_omo/omo_14/func_80240000_DE56B0.s new file mode 100644 index 0000000000..c9ebc17c3e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_14/func_80240000_DE56B0.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DE56B0 +/* DE56B0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DE56B4 80240004 AFB00018 */ sw $s0, 0x18($sp) +/* DE56B8 80240008 0080802D */ daddu $s0, $a0, $zero +/* DE56BC 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* DE56C0 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* DE56C4 80240014 AFB1001C */ sw $s1, 0x1c($sp) +/* DE56C8 80240018 3C118011 */ lui $s1, %hi(gPlayerData) +/* DE56CC 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) +/* DE56D0 80240020 AFB20020 */ sw $s2, 0x20($sp) +/* DE56D4 80240024 0220902D */ daddu $s2, $s1, $zero +/* DE56D8 80240028 10A00004 */ beqz $a1, .L8024003C +/* DE56DC 8024002C AFBF0024 */ sw $ra, 0x24($sp) +/* DE56E0 80240030 240200FF */ addiu $v0, $zero, 0xff +/* DE56E4 80240034 AE020070 */ sw $v0, 0x70($s0) +/* DE56E8 80240038 AE000074 */ sw $zero, 0x74($s0) +.L8024003C: +/* DE56EC 8024003C 24040001 */ addiu $a0, $zero, 1 +/* DE56F0 80240040 C460002C */ lwc1 $f0, 0x2c($v1) +/* DE56F4 80240044 3C014100 */ lui $at, 0x4100 +/* DE56F8 80240048 44811000 */ mtc1 $at, $f2 +/* DE56FC 8024004C 00000000 */ nop +/* DE5700 80240050 46020000 */ add.s $f0, $f0, $f2 +/* DE5704 80240054 C4620030 */ lwc1 $f2, 0x30($v1) +/* DE5708 80240058 C4640028 */ lwc1 $f4, 0x28($v1) +/* DE570C 8024005C 4600118D */ trunc.w.s $f6, $f2 +/* DE5710 80240060 E7A60010 */ swc1 $f6, 0x10($sp) +/* DE5714 80240064 4600218D */ trunc.w.s $f6, $f4 +/* DE5718 80240068 44063000 */ mfc1 $a2, $f6 +/* DE571C 8024006C 4600018D */ trunc.w.s $f6, $f0 +/* DE5720 80240070 44073000 */ mfc1 $a3, $f6 +/* DE5724 80240074 0C04DFB0 */ jal func_80137EC0 +/* DE5728 80240078 0080282D */ daddu $a1, $a0, $zero +/* DE572C 8024007C 3C028011 */ lui $v0, %hi(D_8010EBB0) +/* DE5730 80240080 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) +/* DE5734 80240084 10400012 */ beqz $v0, .L802400D0 +/* DE5738 80240088 24020006 */ addiu $v0, $zero, 6 +/* DE573C 8024008C 82230012 */ lb $v1, 0x12($s1) +/* DE5740 80240090 14620022 */ bne $v1, $v0, .L8024011C +/* DE5744 80240094 00000000 */ nop +/* DE5748 80240098 8E020074 */ lw $v0, 0x74($s0) +/* DE574C 8024009C 14400004 */ bnez $v0, .L802400B0 +/* DE5750 802400A0 24020001 */ addiu $v0, $zero, 1 +/* DE5754 802400A4 AE020074 */ sw $v0, 0x74($s0) +/* DE5758 802400A8 0C05272D */ jal play_sound +/* DE575C 802400AC 24042011 */ addiu $a0, $zero, 0x2011 +.L802400B0: +/* DE5760 802400B0 8E020070 */ lw $v0, 0x70($s0) +/* DE5764 802400B4 2442FFF8 */ addiu $v0, $v0, -8 +/* DE5768 802400B8 AE020070 */ sw $v0, 0x70($s0) +/* DE576C 802400BC 2842005A */ slti $v0, $v0, 0x5a +/* DE5770 802400C0 10400016 */ beqz $v0, .L8024011C +/* DE5774 802400C4 2402005A */ addiu $v0, $zero, 0x5a +/* DE5778 802400C8 08090047 */ j .L8024011C +/* DE577C 802400CC AE020070 */ sw $v0, 0x70($s0) +.L802400D0: +/* DE5780 802400D0 82430012 */ lb $v1, 0x12($s2) +/* DE5784 802400D4 14620010 */ bne $v1, $v0, .L80240118 +/* DE5788 802400D8 240200FF */ addiu $v0, $zero, 0xff +/* DE578C 802400DC 8E020074 */ lw $v0, 0x74($s0) +/* DE5790 802400E0 10400007 */ beqz $v0, .L80240100 +/* DE5794 802400E4 00000000 */ nop +/* DE5798 802400E8 8E020070 */ lw $v0, 0x70($s0) +/* DE579C 802400EC 284200FF */ slti $v0, $v0, 0xff +/* DE57A0 802400F0 10400003 */ beqz $v0, .L80240100 +/* DE57A4 802400F4 AE000074 */ sw $zero, 0x74($s0) +/* DE57A8 802400F8 0C05272D */ jal play_sound +/* DE57AC 802400FC 24042012 */ addiu $a0, $zero, 0x2012 +.L80240100: +/* DE57B0 80240100 8E020070 */ lw $v0, 0x70($s0) +/* DE57B4 80240104 24420008 */ addiu $v0, $v0, 8 +/* DE57B8 80240108 AE020070 */ sw $v0, 0x70($s0) +/* DE57BC 8024010C 284200FF */ slti $v0, $v0, 0xff +/* DE57C0 80240110 14400002 */ bnez $v0, .L8024011C +/* DE57C4 80240114 240200FF */ addiu $v0, $zero, 0xff +.L80240118: +/* DE57C8 80240118 AE020070 */ sw $v0, 0x70($s0) +.L8024011C: +/* DE57CC 8024011C C6060070 */ lwc1 $f6, 0x70($s0) +/* DE57D0 80240120 468031A0 */ cvt.s.w $f6, $f6 +/* DE57D4 80240124 44053000 */ mfc1 $a1, $f6 +/* DE57D8 80240128 0C04E035 */ jal func_801380D4 +/* DE57DC 8024012C 24040001 */ addiu $a0, $zero, 1 +/* DE57E0 80240130 3C05437F */ lui $a1, 0x437f +/* DE57E4 80240134 0C04DF69 */ jal func_80137DA4 +/* DE57E8 80240138 2404000B */ addiu $a0, $zero, 0xb +/* DE57EC 8024013C 8FBF0024 */ lw $ra, 0x24($sp) +/* DE57F0 80240140 8FB20020 */ lw $s2, 0x20($sp) +/* DE57F4 80240144 8FB1001C */ lw $s1, 0x1c($sp) +/* DE57F8 80240148 8FB00018 */ lw $s0, 0x18($sp) +/* DE57FC 8024014C 0000102D */ daddu $v0, $zero, $zero +/* DE5800 80240150 03E00008 */ jr $ra +/* DE5804 80240154 27BD0028 */ addiu $sp, $sp, 0x28 +/* DE5808 80240158 00000000 */ nop +/* DE580C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_14/func_80240160_DE56B0.s b/asm/nonmatchings/world/area_omo/omo_14/func_80240160_DE56B0.s new file mode 100644 index 0000000000..cff77bf79d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_14/func_80240160_DE56B0.s @@ -0,0 +1,178 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_DE5810 +/* DE5810 80240160 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DE5814 80240164 AFB20018 */ sw $s2, 0x18($sp) +/* DE5818 80240168 0080902D */ daddu $s2, $a0, $zero +/* DE581C 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* DE5820 80240170 AFB10014 */ sw $s1, 0x14($sp) +/* DE5824 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* DE5828 80240178 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DE582C 8024017C F7B60028 */ sdc1 $f22, 0x28($sp) +/* DE5830 80240180 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DE5834 80240184 8E420148 */ lw $v0, 0x148($s2) +/* DE5838 80240188 0C00EABB */ jal get_npc_unsafe +/* DE583C 8024018C 84440008 */ lh $a0, 8($v0) +/* DE5840 80240190 0040802D */ daddu $s0, $v0, $zero +/* DE5844 80240194 820200A4 */ lb $v0, 0xa4($s0) +/* DE5848 80240198 3C0143B4 */ lui $at, 0x43b4 +/* DE584C 8024019C 4481A000 */ mtc1 $at, $f20 +/* DE5850 802401A0 44826000 */ mtc1 $v0, $f12 +/* DE5854 802401A4 00000000 */ nop +/* DE5858 802401A8 46806320 */ cvt.s.w $f12, $f12 +/* DE585C 802401AC 46146302 */ mul.s $f12, $f12, $f20 +/* DE5860 802401B0 00000000 */ nop +/* DE5864 802401B4 3C014120 */ lui $at, 0x4120 +/* DE5868 802401B8 4481B000 */ mtc1 $at, $f22 +/* DE586C 802401BC 0C00A8BB */ jal sin_deg +/* DE5870 802401C0 46166303 */ div.s $f12, $f12, $f22 +/* DE5874 802401C4 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* DE5878 802401C8 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* DE587C 802401CC 862200B2 */ lh $v0, 0xb2($s1) +/* DE5880 802401D0 860300A6 */ lh $v1, 0xa6($s0) +/* DE5884 802401D4 3C013F00 */ lui $at, 0x3f00 +/* DE5888 802401D8 4481C000 */ mtc1 $at, $f24 +/* DE588C 802401DC 00431021 */ addu $v0, $v0, $v1 +/* DE5890 802401E0 44821000 */ mtc1 $v0, $f2 +/* DE5894 802401E4 00000000 */ nop +/* DE5898 802401E8 468010A0 */ cvt.s.w $f2, $f2 +/* DE589C 802401EC 46181082 */ mul.s $f2, $f2, $f24 +/* DE58A0 802401F0 00000000 */ nop +/* DE58A4 802401F4 820200A4 */ lb $v0, 0xa4($s0) +/* DE58A8 802401F8 44826000 */ mtc1 $v0, $f12 +/* DE58AC 802401FC 00000000 */ nop +/* DE58B0 80240200 46806320 */ cvt.s.w $f12, $f12 +/* DE58B4 80240204 46146302 */ mul.s $f12, $f12, $f20 +/* DE58B8 80240208 00000000 */ nop +/* DE58BC 8024020C 46001082 */ mul.s $f2, $f2, $f0 +/* DE58C0 80240210 00000000 */ nop +/* DE58C4 80240214 C6200028 */ lwc1 $f0, 0x28($s1) +/* DE58C8 80240218 46166303 */ div.s $f12, $f12, $f22 +/* DE58CC 8024021C 0C00A8D4 */ jal cos_deg +/* DE58D0 80240220 46020580 */ add.s $f22, $f0, $f2 +/* DE58D4 80240224 862200B2 */ lh $v0, 0xb2($s1) +/* DE58D8 80240228 860300A6 */ lh $v1, 0xa6($s0) +/* DE58DC 8024022C 00431021 */ addu $v0, $v0, $v1 +/* DE58E0 80240230 44821000 */ mtc1 $v0, $f2 +/* DE58E4 80240234 00000000 */ nop +/* DE58E8 80240238 468010A0 */ cvt.s.w $f2, $f2 +/* DE58EC 8024023C 46181082 */ mul.s $f2, $f2, $f24 +/* DE58F0 80240240 00000000 */ nop +/* DE58F4 80240244 46001082 */ mul.s $f2, $f2, $f0 +/* DE58F8 80240248 00000000 */ nop +/* DE58FC 8024024C C6200030 */ lwc1 $f0, 0x30($s1) +/* DE5900 80240250 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DE5904 80240254 46020501 */ sub.s $f20, $f0, $f2 +/* DE5908 80240258 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DE590C 8024025C 4406B000 */ mfc1 $a2, $f22 +/* DE5910 80240260 4407A000 */ mfc1 $a3, $f20 +/* DE5914 80240264 0C00A7B5 */ jal dist2D +/* DE5918 80240268 00000000 */ nop +/* DE591C 8024026C C6020018 */ lwc1 $f2, 0x18($s0) +/* DE5920 80240270 46000606 */ mov.s $f24, $f0 +/* DE5924 80240274 4618103C */ c.lt.s $f2, $f24 +/* DE5928 80240278 00000000 */ nop +/* DE592C 8024027C 45000033 */ bc1f .L8024034C +/* DE5930 80240280 00000000 */ nop +/* DE5934 80240284 8E020000 */ lw $v0, ($s0) +/* DE5938 80240288 30422000 */ andi $v0, $v0, 0x2000 +/* DE593C 8024028C 10400022 */ beqz $v0, .L80240318 +/* DE5940 80240290 00000000 */ nop +/* DE5944 80240294 C602000C */ lwc1 $f2, 0xc($s0) +/* DE5948 80240298 3C014334 */ lui $at, 0x4334 +/* DE594C 8024029C 44810000 */ mtc1 $at, $f0 +/* DE5950 802402A0 00000000 */ nop +/* DE5954 802402A4 4600103C */ c.lt.s $f2, $f0 +/* DE5958 802402A8 00000000 */ nop +/* DE595C 802402AC 4500000D */ bc1f .L802402E4 +/* DE5960 802402B0 00000000 */ nop +/* DE5964 802402B4 C6020040 */ lwc1 $f2, 0x40($s0) +/* DE5968 802402B8 44800000 */ mtc1 $zero, $f0 +/* DE596C 802402BC 3C014307 */ lui $at, 0x4307 +/* DE5970 802402C0 44812000 */ mtc1 $at, $f4 +/* DE5974 802402C4 4602003C */ c.lt.s $f0, $f2 +/* DE5978 802402C8 00000000 */ nop +/* DE597C 802402CC 45020019 */ bc1fl .L80240334 +/* DE5980 802402D0 E604000C */ swc1 $f4, 0xc($s0) +/* DE5984 802402D4 3C014234 */ lui $at, 0x4234 +/* DE5988 802402D8 44812000 */ mtc1 $at, $f4 +/* DE598C 802402DC 080900CD */ j .L80240334 +/* DE5990 802402E0 E604000C */ swc1 $f4, 0xc($s0) +.L802402E4: +/* DE5994 802402E4 C6020040 */ lwc1 $f2, 0x40($s0) +/* DE5998 802402E8 44800000 */ mtc1 $zero, $f0 +/* DE599C 802402EC 3C014361 */ lui $at, 0x4361 +/* DE59A0 802402F0 44812000 */ mtc1 $at, $f4 +/* DE59A4 802402F4 4602003C */ c.lt.s $f0, $f2 +/* DE59A8 802402F8 00000000 */ nop +/* DE59AC 802402FC 4502000D */ bc1fl .L80240334 +/* DE59B0 80240300 E604000C */ swc1 $f4, 0xc($s0) +/* DE59B4 80240304 3C01439D */ lui $at, 0x439d +/* DE59B8 80240308 34218000 */ ori $at, $at, 0x8000 +/* DE59BC 8024030C 44812000 */ mtc1 $at, $f4 +/* DE59C0 80240310 080900CD */ j .L80240334 +/* DE59C4 80240314 E604000C */ swc1 $f4, 0xc($s0) +.L80240318: +/* DE59C8 80240318 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DE59CC 8024031C C60E0040 */ lwc1 $f14, 0x40($s0) +/* DE59D0 80240320 4406B000 */ mfc1 $a2, $f22 +/* DE59D4 80240324 4407A000 */ mfc1 $a3, $f20 +/* DE59D8 80240328 0C00A720 */ jal atan2 +/* DE59DC 8024032C 00000000 */ nop +/* DE59E0 80240330 E600000C */ swc1 $f0, 0xc($s0) +.L80240334: +/* DE59E4 80240334 8E06000C */ lw $a2, 0xc($s0) +/* DE59E8 80240338 8E050018 */ lw $a1, 0x18($s0) +/* DE59EC 8024033C 0C00EA95 */ jal npc_move_heading +/* DE59F0 80240340 0200202D */ daddu $a0, $s0, $zero +/* DE59F4 80240344 080900D9 */ j .L80240364 +/* DE59F8 80240348 00000000 */ nop +.L8024034C: +/* DE59FC 8024034C C60C0038 */ lwc1 $f12, 0x38($s0) +/* DE5A00 80240350 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DE5A04 80240354 8E260028 */ lw $a2, 0x28($s1) +/* DE5A08 80240358 0C00A720 */ jal atan2 +/* DE5A0C 8024035C 8E270030 */ lw $a3, 0x30($s1) +/* DE5A10 80240360 E600000C */ swc1 $f0, 0xc($s0) +.L80240364: +/* DE5A14 80240364 C64200B0 */ lwc1 $f2, 0xb0($s2) +/* DE5A18 80240368 C6200028 */ lwc1 $f0, 0x28($s1) +/* DE5A1C 8024036C 46001032 */ c.eq.s $f2, $f0 +/* DE5A20 80240370 00000000 */ nop +/* DE5A24 80240374 45020013 */ bc1fl .L802403C4 +/* DE5A28 80240378 E64000B0 */ swc1 $f0, 0xb0($s2) +/* DE5A2C 8024037C C64200B8 */ lwc1 $f2, 0xb8($s2) +/* DE5A30 80240380 C6200030 */ lwc1 $f0, 0x30($s1) +/* DE5A34 80240384 46001032 */ c.eq.s $f2, $f0 +/* DE5A38 80240388 00000000 */ nop +/* DE5A3C 8024038C 4500000B */ bc1f .L802403BC +/* DE5A40 80240390 00000000 */ nop +/* DE5A44 80240394 3C0141A0 */ lui $at, 0x41a0 +/* DE5A48 80240398 44810000 */ mtc1 $at, $f0 +/* DE5A4C 8024039C 00000000 */ nop +/* DE5A50 802403A0 4600C03C */ c.lt.s $f24, $f0 +/* DE5A54 802403A4 00000000 */ nop +/* DE5A58 802403A8 45020004 */ bc1fl .L802403BC +/* DE5A5C 802403AC AE4000BC */ sw $zero, 0xbc($s2) +/* DE5A60 802403B0 8E4200BC */ lw $v0, 0xbc($s2) +/* DE5A64 802403B4 24420001 */ addiu $v0, $v0, 1 +/* DE5A68 802403B8 AE4200BC */ sw $v0, 0xbc($s2) +.L802403BC: +/* DE5A6C 802403BC C6200028 */ lwc1 $f0, 0x28($s1) +/* DE5A70 802403C0 E64000B0 */ swc1 $f0, 0xb0($s2) +.L802403C4: +/* DE5A74 802403C4 C620002C */ lwc1 $f0, 0x2c($s1) +/* DE5A78 802403C8 E64000B4 */ swc1 $f0, 0xb4($s2) +/* DE5A7C 802403CC C6200030 */ lwc1 $f0, 0x30($s1) +/* DE5A80 802403D0 E64000B8 */ swc1 $f0, 0xb8($s2) +/* DE5A84 802403D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DE5A88 802403D8 8FB20018 */ lw $s2, 0x18($sp) +/* DE5A8C 802403DC 8FB10014 */ lw $s1, 0x14($sp) +/* DE5A90 802403E0 8FB00010 */ lw $s0, 0x10($sp) +/* DE5A94 802403E4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DE5A98 802403E8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DE5A9C 802403EC D7B40020 */ ldc1 $f20, 0x20($sp) +/* DE5AA0 802403F0 24020002 */ addiu $v0, $zero, 2 +/* DE5AA4 802403F4 03E00008 */ jr $ra +/* DE5AA8 802403F8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_14/func_802403FC_DE56B0.s b/asm/nonmatchings/world/area_omo/omo_14/func_802403FC_DE56B0.s new file mode 100644 index 0000000000..a325417f8a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_14/func_802403FC_DE56B0.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC_DE5AAC +/* DE5AAC 802403FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DE5AB0 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* DE5AB4 80240404 0080882D */ daddu $s1, $a0, $zero +/* DE5AB8 80240408 AFBF001C */ sw $ra, 0x1c($sp) +/* DE5ABC 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* DE5AC0 80240410 AFB00010 */ sw $s0, 0x10($sp) +/* DE5AC4 80240414 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DE5AC8 80240418 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DE5ACC 8024041C 8E220148 */ lw $v0, 0x148($s1) +/* DE5AD0 80240420 84440008 */ lh $a0, 8($v0) +/* DE5AD4 80240424 0C00EABB */ jal get_npc_unsafe +/* DE5AD8 80240428 8E30000C */ lw $s0, 0xc($s1) +/* DE5ADC 8024042C 8E050000 */ lw $a1, ($s0) +/* DE5AE0 80240430 26100004 */ addiu $s0, $s0, 4 +/* DE5AE4 80240434 0220202D */ daddu $a0, $s1, $zero +/* DE5AE8 80240438 0C0B210B */ jal get_float_variable +/* DE5AEC 8024043C 0040902D */ daddu $s2, $v0, $zero +/* DE5AF0 80240440 0220202D */ daddu $a0, $s1, $zero +/* DE5AF4 80240444 8E050000 */ lw $a1, ($s0) +/* DE5AF8 80240448 0C0B210B */ jal get_float_variable +/* DE5AFC 8024044C 46000586 */ mov.s $f22, $f0 +/* DE5B00 80240450 46000506 */ mov.s $f20, $f0 +/* DE5B04 80240454 C64C0038 */ lwc1 $f12, 0x38($s2) +/* DE5B08 80240458 C64E0040 */ lwc1 $f14, 0x40($s2) +/* DE5B0C 8024045C 4406B000 */ mfc1 $a2, $f22 +/* DE5B10 80240460 4407A000 */ mfc1 $a3, $f20 +/* DE5B14 80240464 0C00A7B5 */ jal dist2D +/* DE5B18 80240468 00000000 */ nop +/* DE5B1C 8024046C C6420018 */ lwc1 $f2, 0x18($s2) +/* DE5B20 80240470 4600103C */ c.lt.s $f2, $f0 +/* DE5B24 80240474 00000000 */ nop +/* DE5B28 80240478 45000031 */ bc1f .L80240540 +/* DE5B2C 8024047C 00000000 */ nop +/* DE5B30 80240480 8E420000 */ lw $v0, ($s2) +/* DE5B34 80240484 30422000 */ andi $v0, $v0, 0x2000 +/* DE5B38 80240488 10400022 */ beqz $v0, .L80240514 +/* DE5B3C 8024048C 00000000 */ nop +/* DE5B40 80240490 C642000C */ lwc1 $f2, 0xc($s2) +/* DE5B44 80240494 3C014334 */ lui $at, 0x4334 +/* DE5B48 80240498 44810000 */ mtc1 $at, $f0 +/* DE5B4C 8024049C 00000000 */ nop +/* DE5B50 802404A0 4600103C */ c.lt.s $f2, $f0 +/* DE5B54 802404A4 00000000 */ nop +/* DE5B58 802404A8 4500000D */ bc1f .L802404E0 +/* DE5B5C 802404AC 00000000 */ nop +/* DE5B60 802404B0 C6420040 */ lwc1 $f2, 0x40($s2) +/* DE5B64 802404B4 44800000 */ mtc1 $zero, $f0 +/* DE5B68 802404B8 3C014307 */ lui $at, 0x4307 +/* DE5B6C 802404BC 44812000 */ mtc1 $at, $f4 +/* DE5B70 802404C0 4602003C */ c.lt.s $f0, $f2 +/* DE5B74 802404C4 00000000 */ nop +/* DE5B78 802404C8 45020019 */ bc1fl .L80240530 +/* DE5B7C 802404CC E644000C */ swc1 $f4, 0xc($s2) +/* DE5B80 802404D0 3C014234 */ lui $at, 0x4234 +/* DE5B84 802404D4 44812000 */ mtc1 $at, $f4 +/* DE5B88 802404D8 0809014C */ j .L80240530 +/* DE5B8C 802404DC E644000C */ swc1 $f4, 0xc($s2) +.L802404E0: +/* DE5B90 802404E0 C6420040 */ lwc1 $f2, 0x40($s2) +/* DE5B94 802404E4 44800000 */ mtc1 $zero, $f0 +/* DE5B98 802404E8 3C014361 */ lui $at, 0x4361 +/* DE5B9C 802404EC 44812000 */ mtc1 $at, $f4 +/* DE5BA0 802404F0 4602003C */ c.lt.s $f0, $f2 +/* DE5BA4 802404F4 00000000 */ nop +/* DE5BA8 802404F8 4502000D */ bc1fl .L80240530 +/* DE5BAC 802404FC E644000C */ swc1 $f4, 0xc($s2) +/* DE5BB0 80240500 3C01439D */ lui $at, 0x439d +/* DE5BB4 80240504 34218000 */ ori $at, $at, 0x8000 +/* DE5BB8 80240508 44812000 */ mtc1 $at, $f4 +/* DE5BBC 8024050C 0809014C */ j .L80240530 +/* DE5BC0 80240510 E644000C */ swc1 $f4, 0xc($s2) +.L80240514: +/* DE5BC4 80240514 C64C0038 */ lwc1 $f12, 0x38($s2) +/* DE5BC8 80240518 C64E0040 */ lwc1 $f14, 0x40($s2) +/* DE5BCC 8024051C 4406B000 */ mfc1 $a2, $f22 +/* DE5BD0 80240520 4407A000 */ mfc1 $a3, $f20 +/* DE5BD4 80240524 0C00A720 */ jal atan2 +/* DE5BD8 80240528 00000000 */ nop +/* DE5BDC 8024052C E640000C */ swc1 $f0, 0xc($s2) +.L80240530: +/* DE5BE0 80240530 8E450018 */ lw $a1, 0x18($s2) +/* DE5BE4 80240534 8E46000C */ lw $a2, 0xc($s2) +/* DE5BE8 80240538 0C00EA95 */ jal npc_move_heading +/* DE5BEC 8024053C 0240202D */ daddu $a0, $s2, $zero +.L80240540: +/* DE5BF0 80240540 8FBF001C */ lw $ra, 0x1c($sp) +/* DE5BF4 80240544 8FB20018 */ lw $s2, 0x18($sp) +/* DE5BF8 80240548 8FB10014 */ lw $s1, 0x14($sp) +/* DE5BFC 8024054C 8FB00010 */ lw $s0, 0x10($sp) +/* DE5C00 80240550 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DE5C04 80240554 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DE5C08 80240558 24020002 */ addiu $v0, $zero, 2 +/* DE5C0C 8024055C 03E00008 */ jr $ra +/* DE5C10 80240560 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_14/func_80240564_DE56B0.s b/asm/nonmatchings/world/area_omo/omo_14/func_80240564_DE56B0.s new file mode 100644 index 0000000000..46be91c2e0 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_14/func_80240564_DE56B0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240564_DE5C14 +/* DE5C14 80240564 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* DE5C18 80240568 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* DE5C1C 8024056C 80620000 */ lb $v0, ($v1) +/* DE5C20 80240570 10400004 */ beqz $v0, .L80240584 +/* DE5C24 80240574 2402FFFF */ addiu $v0, $zero, -1 +/* DE5C28 80240578 80620003 */ lb $v0, 3($v1) +/* DE5C2C 8024057C 08090162 */ j .L80240588 +/* DE5C30 80240580 AC8200A8 */ sw $v0, 0xa8($a0) +.L80240584: +/* DE5C34 80240584 AC8200A8 */ sw $v0, 0xa8($a0) +.L80240588: +/* DE5C38 80240588 03E00008 */ jr $ra +/* DE5C3C 8024058C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_14/func_80240590_DE56B0.s b/asm/nonmatchings/world/area_omo/omo_14/func_80240590_DE56B0.s new file mode 100644 index 0000000000..1e9fa5dab2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_14/func_80240590_DE56B0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240590_DE5C40 +/* DE5C40 80240590 3C038011 */ lui $v1, 0x8011 +/* DE5C44 80240594 8063EBB3 */ lb $v1, -0x144d($v1) +/* DE5C48 80240598 24020006 */ addiu $v0, $zero, 6 +/* DE5C4C 8024059C 54620003 */ bnel $v1, $v0, .L802405AC +/* DE5C50 802405A0 AC800088 */ sw $zero, 0x88($a0) +/* DE5C54 802405A4 24020001 */ addiu $v0, $zero, 1 +/* DE5C58 802405A8 AC820088 */ sw $v0, 0x88($a0) +.L802405AC: +/* DE5C5C 802405AC 03E00008 */ jr $ra +/* DE5C60 802405B0 24020002 */ addiu $v0, $zero, 2 +/* DE5C64 802405B4 00000000 */ nop +/* DE5C68 802405B8 00000000 */ nop +/* DE5C6C 802405BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_80240000_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_80240000_DE8770.s new file mode 100644 index 0000000000..34e8ce39e8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_80240000_DE8770.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DE8770 +/* DE8770 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DE8774 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* DE8778 80240008 AFB00018 */ sw $s0, 0x18($sp) +/* DE877C 8024000C 8C900084 */ lw $s0, 0x84($a0) +/* DE8780 80240010 C6000008 */ lwc1 $f0, 8($s0) +/* DE8784 80240014 240400A2 */ addiu $a0, $zero, 0xa2 +/* DE8788 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* DE878C 8024001C 8E060000 */ lw $a2, ($s0) +/* DE8790 80240020 8E070004 */ lw $a3, 4($s0) +/* DE8794 80240024 0C05267B */ jal func_801499EC +/* DE8798 80240028 0000282D */ daddu $a1, $zero, $zero +/* DE879C 8024002C 86020044 */ lh $v0, 0x44($s0) +/* DE87A0 80240030 8FBF001C */ lw $ra, 0x1c($sp) +/* DE87A4 80240034 8FB00018 */ lw $s0, 0x18($sp) +/* DE87A8 80240038 28420002 */ slti $v0, $v0, 2 +/* DE87AC 8024003C 38420001 */ xori $v0, $v0, 1 +/* DE87B0 80240040 00021040 */ sll $v0, $v0, 1 +/* DE87B4 80240044 03E00008 */ jr $ra +/* DE87B8 80240048 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_8024004C_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_8024004C_DE8770.s new file mode 100644 index 0000000000..25d4183147 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_8024004C_DE8770.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C_DE87BC +/* DE87BC 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DE87C0 80240050 AFB20020 */ sw $s2, 0x20($sp) +/* DE87C4 80240054 0080902D */ daddu $s2, $a0, $zero +/* DE87C8 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* DE87CC 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* DE87D0 80240060 AFB00018 */ sw $s0, 0x18($sp) +/* DE87D4 80240064 10A0004A */ beqz $a1, .L80240190 +/* DE87D8 80240068 8E51000C */ lw $s1, 0xc($s2) +/* DE87DC 8024006C 0C00AB39 */ jal heap_malloc +/* DE87E0 80240070 24040058 */ addiu $a0, $zero, 0x58 +/* DE87E4 80240074 0000202D */ daddu $a0, $zero, $zero +/* DE87E8 80240078 3C05FD05 */ lui $a1, 0xfd05 +/* DE87EC 8024007C 34A50F81 */ ori $a1, $a1, 0xf81 +/* DE87F0 80240080 0040802D */ daddu $s0, $v0, $zero +/* DE87F4 80240084 0200302D */ daddu $a2, $s0, $zero +/* DE87F8 80240088 0C0B2026 */ jal set_variable +/* DE87FC 8024008C AE500084 */ sw $s0, 0x84($s2) +/* DE8800 80240090 8E250000 */ lw $a1, ($s1) +/* DE8804 80240094 26310004 */ addiu $s1, $s1, 4 +/* DE8808 80240098 0C0B1EAF */ jal get_variable +/* DE880C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* DE8810 802400A0 AE020038 */ sw $v0, 0x38($s0) +/* DE8814 802400A4 8E250000 */ lw $a1, ($s1) +/* DE8818 802400A8 26310004 */ addiu $s1, $s1, 4 +/* DE881C 802400AC 0C0B1EAF */ jal get_variable +/* DE8820 802400B0 0240202D */ daddu $a0, $s2, $zero +/* DE8824 802400B4 AE02003C */ sw $v0, 0x3c($s0) +/* DE8828 802400B8 8E250000 */ lw $a1, ($s1) +/* DE882C 802400BC 26310004 */ addiu $s1, $s1, 4 +/* DE8830 802400C0 0C0B210B */ jal get_float_variable +/* DE8834 802400C4 0240202D */ daddu $a0, $s2, $zero +/* DE8838 802400C8 E600000C */ swc1 $f0, 0xc($s0) +/* DE883C 802400CC 8E250000 */ lw $a1, ($s1) +/* DE8840 802400D0 26310004 */ addiu $s1, $s1, 4 +/* DE8844 802400D4 0C0B210B */ jal get_float_variable +/* DE8848 802400D8 0240202D */ daddu $a0, $s2, $zero +/* DE884C 802400DC E6000010 */ swc1 $f0, 0x10($s0) +/* DE8850 802400E0 8E250000 */ lw $a1, ($s1) +/* DE8854 802400E4 26310004 */ addiu $s1, $s1, 4 +/* DE8858 802400E8 0C0B210B */ jal get_float_variable +/* DE885C 802400EC 0240202D */ daddu $a0, $s2, $zero +/* DE8860 802400F0 E6000014 */ swc1 $f0, 0x14($s0) +/* DE8864 802400F4 8E250000 */ lw $a1, ($s1) +/* DE8868 802400F8 26310004 */ addiu $s1, $s1, 4 +/* DE886C 802400FC 0C0B210B */ jal get_float_variable +/* DE8870 80240100 0240202D */ daddu $a0, $s2, $zero +/* DE8874 80240104 E6000018 */ swc1 $f0, 0x18($s0) +/* DE8878 80240108 8E250000 */ lw $a1, ($s1) +/* DE887C 8024010C 26310004 */ addiu $s1, $s1, 4 +/* DE8880 80240110 0C0B210B */ jal get_float_variable +/* DE8884 80240114 0240202D */ daddu $a0, $s2, $zero +/* DE8888 80240118 E600001C */ swc1 $f0, 0x1c($s0) +/* DE888C 8024011C 8E250000 */ lw $a1, ($s1) +/* DE8890 80240120 26310004 */ addiu $s1, $s1, 4 +/* DE8894 80240124 0C0B210B */ jal get_float_variable +/* DE8898 80240128 0240202D */ daddu $a0, $s2, $zero +/* DE889C 8024012C E6000020 */ swc1 $f0, 0x20($s0) +/* DE88A0 80240130 8E250000 */ lw $a1, ($s1) +/* DE88A4 80240134 26310004 */ addiu $s1, $s1, 4 +/* DE88A8 80240138 0C0B210B */ jal get_float_variable +/* DE88AC 8024013C 0240202D */ daddu $a0, $s2, $zero +/* DE88B0 80240140 E6000024 */ swc1 $f0, 0x24($s0) +/* DE88B4 80240144 8E250000 */ lw $a1, ($s1) +/* DE88B8 80240148 0C0B210B */ jal get_float_variable +/* DE88BC 8024014C 0240202D */ daddu $a0, $s2, $zero +/* DE88C0 80240150 3C013F80 */ lui $at, 0x3f80 +/* DE88C4 80240154 44811000 */ mtc1 $at, $f2 +/* DE88C8 80240158 E6000028 */ swc1 $f0, 0x28($s0) +/* DE88CC 8024015C AFA00014 */ sw $zero, 0x14($sp) +/* DE88D0 80240160 E7A20010 */ swc1 $f2, 0x10($sp) +/* DE88D4 80240164 8E05000C */ lw $a1, 0xc($s0) +/* DE88D8 80240168 8E060010 */ lw $a2, 0x10($s0) +/* DE88DC 8024016C 8E070014 */ lw $a3, 0x14($s0) +/* DE88E0 80240170 0C01CA6C */ jal func_800729B0 +/* DE88E4 80240174 24040002 */ addiu $a0, $zero, 2 +/* DE88E8 80240178 AE020050 */ sw $v0, 0x50($s0) +/* DE88EC 8024017C A600004E */ sh $zero, 0x4e($s0) +/* DE88F0 80240180 A6000048 */ sh $zero, 0x48($s0) +/* DE88F4 80240184 A600004A */ sh $zero, 0x4a($s0) +/* DE88F8 80240188 A6000044 */ sh $zero, 0x44($s0) +/* DE88FC 8024018C A6000046 */ sh $zero, 0x46($s0) +.L80240190: +/* DE8900 80240190 8FBF0024 */ lw $ra, 0x24($sp) +/* DE8904 80240194 8FB20020 */ lw $s2, 0x20($sp) +/* DE8908 80240198 8FB1001C */ lw $s1, 0x1c($sp) +/* DE890C 8024019C 8FB00018 */ lw $s0, 0x18($sp) +/* DE8910 802401A0 24020002 */ addiu $v0, $zero, 2 +/* DE8914 802401A4 03E00008 */ jr $ra +/* DE8918 802401A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_802401AC_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_802401AC_DE8770.s new file mode 100644 index 0000000000..e7fc18fcdb --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_802401AC_DE8770.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC_DE891C +/* DE891C 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DE8920 802401B0 AFBF0020 */ sw $ra, 0x20($sp) +/* DE8924 802401B4 AFB1001C */ sw $s1, 0x1c($sp) +/* DE8928 802401B8 AFB00018 */ sw $s0, 0x18($sp) +/* DE892C 802401BC 8C910084 */ lw $s1, 0x84($a0) +/* DE8930 802401C0 86230044 */ lh $v1, 0x44($s1) +/* DE8934 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* DE8938 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* DE893C 802401CC 2C620005 */ sltiu $v0, $v1, 5 +/* DE8940 802401D0 1040008A */ beqz $v0, .L802403FC +/* DE8944 802401D4 00031080 */ sll $v0, $v1, 2 +/* DE8948 802401D8 3C018024 */ lui $at, 0x8024 +/* DE894C 802401DC 00220821 */ addu $at, $at, $v0 +/* DE8950 802401E0 8C223730 */ lw $v0, 0x3730($at) +/* DE8954 802401E4 00400008 */ jr $v0 +/* DE8958 802401E8 00000000 */ nop +/* DE895C 802401EC 8E22003C */ lw $v0, 0x3c($s1) +/* DE8960 802401F0 86270046 */ lh $a3, 0x46($s1) +/* DE8964 802401F4 AFA20010 */ sw $v0, 0x10($sp) +/* DE8968 802401F8 8E250010 */ lw $a1, 0x10($s1) +/* DE896C 802401FC 8E26001C */ lw $a2, 0x1c($s1) +/* DE8970 80240200 0C00A8ED */ jal update_lerp +/* DE8974 80240204 24040005 */ addiu $a0, $zero, 5 +/* DE8978 80240208 86270046 */ lh $a3, 0x46($s1) +/* DE897C 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* DE8980 80240210 E6200004 */ swc1 $f0, 4($s1) +/* DE8984 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* DE8988 80240218 8E25000C */ lw $a1, 0xc($s1) +/* DE898C 8024021C 8E260018 */ lw $a2, 0x18($s1) +/* DE8990 80240220 0C00A8ED */ jal update_lerp +/* DE8994 80240224 0000202D */ daddu $a0, $zero, $zero +/* DE8998 80240228 86270046 */ lh $a3, 0x46($s1) +/* DE899C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* DE89A0 80240230 E6200000 */ swc1 $f0, ($s1) +/* DE89A4 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* DE89A8 80240238 8E250014 */ lw $a1, 0x14($s1) +/* DE89AC 8024023C 8E260020 */ lw $a2, 0x20($s1) +/* DE89B0 80240240 0C00A8ED */ jal update_lerp +/* DE89B4 80240244 0000202D */ daddu $a0, $zero, $zero +/* DE89B8 80240248 8E220050 */ lw $v0, 0x50($s1) +/* DE89BC 8024024C E6200008 */ swc1 $f0, 8($s1) +/* DE89C0 80240250 C6200000 */ lwc1 $f0, ($s1) +/* DE89C4 80240254 8C42000C */ lw $v0, 0xc($v0) +/* DE89C8 80240258 E4400008 */ swc1 $f0, 8($v0) +/* DE89CC 8024025C 8E220050 */ lw $v0, 0x50($s1) +/* DE89D0 80240260 C6200004 */ lwc1 $f0, 4($s1) +/* DE89D4 80240264 8C42000C */ lw $v0, 0xc($v0) +/* DE89D8 80240268 E440000C */ swc1 $f0, 0xc($v0) +/* DE89DC 8024026C 8E220050 */ lw $v0, 0x50($s1) +/* DE89E0 80240270 C6200008 */ lwc1 $f0, 8($s1) +/* DE89E4 80240274 8C42000C */ lw $v0, 0xc($v0) +/* DE89E8 80240278 E4400010 */ swc1 $f0, 0x10($v0) +/* DE89EC 8024027C 96220046 */ lhu $v0, 0x46($s1) +/* DE89F0 80240280 8E23003C */ lw $v1, 0x3c($s1) +/* DE89F4 80240284 24420001 */ addiu $v0, $v0, 1 +/* DE89F8 80240288 A6220046 */ sh $v0, 0x46($s1) +/* DE89FC 8024028C 00021400 */ sll $v0, $v0, 0x10 +/* DE8A00 80240290 00021403 */ sra $v0, $v0, 0x10 +/* DE8A04 80240294 0043102A */ slt $v0, $v0, $v1 +/* DE8A08 80240298 14400058 */ bnez $v0, .L802403FC +/* DE8A0C 8024029C 24020001 */ addiu $v0, $zero, 1 +/* DE8A10 802402A0 A6220044 */ sh $v0, 0x44($s1) +/* DE8A14 802402A4 080900FF */ j .L802403FC +/* DE8A18 802402A8 A6200046 */ sh $zero, 0x46($s1) +/* DE8A1C 802402AC 96220046 */ lhu $v0, 0x46($s1) +/* DE8A20 802402B0 24420001 */ addiu $v0, $v0, 1 +/* DE8A24 802402B4 A6220046 */ sh $v0, 0x46($s1) +/* DE8A28 802402B8 00021400 */ sll $v0, $v0, 0x10 +/* DE8A2C 802402BC 00021403 */ sra $v0, $v0, 0x10 +/* DE8A30 802402C0 2842003C */ slti $v0, $v0, 0x3c +/* DE8A34 802402C4 1440004D */ bnez $v0, .L802403FC +/* DE8A38 802402C8 24020002 */ addiu $v0, $zero, 2 +/* DE8A3C 802402CC 8E230050 */ lw $v1, 0x50($s1) +/* DE8A40 802402D0 A6220044 */ sh $v0, 0x44($s1) +/* DE8A44 802402D4 A6200046 */ sh $zero, 0x46($s1) +/* DE8A48 802402D8 8C63000C */ lw $v1, 0xc($v1) +/* DE8A4C 802402DC 24020001 */ addiu $v0, $zero, 1 +/* DE8A50 802402E0 AC620070 */ sw $v0, 0x70($v1) +/* DE8A54 802402E4 8E220050 */ lw $v0, 0x50($s1) +/* DE8A58 802402E8 8C42000C */ lw $v0, 0xc($v0) +/* DE8A5C 802402EC 080900FF */ j .L802403FC +/* DE8A60 802402F0 AC400074 */ sw $zero, 0x74($v0) +/* DE8A64 802402F4 96220046 */ lhu $v0, 0x46($s1) +/* DE8A68 802402F8 24420001 */ addiu $v0, $v0, 1 +/* DE8A6C 802402FC A6220046 */ sh $v0, 0x46($s1) +/* DE8A70 80240300 00021400 */ sll $v0, $v0, 0x10 +/* DE8A74 80240304 00021403 */ sra $v0, $v0, 0x10 +/* DE8A78 80240308 2842003C */ slti $v0, $v0, 0x3c +/* DE8A7C 8024030C 1440003B */ bnez $v0, .L802403FC +/* DE8A80 80240310 00000000 */ nop +/* DE8A84 80240314 3C013F80 */ lui $at, 0x3f80 +/* DE8A88 80240318 44810000 */ mtc1 $at, $f0 +/* DE8A8C 8024031C AFA00014 */ sw $zero, 0x14($sp) +/* DE8A90 80240320 E7A00010 */ swc1 $f0, 0x10($sp) +/* DE8A94 80240324 8E250018 */ lw $a1, 0x18($s1) +/* DE8A98 80240328 8E26001C */ lw $a2, 0x1c($s1) +/* DE8A9C 8024032C 8E270020 */ lw $a3, 0x20($s1) +/* DE8AA0 80240330 0C01C9AC */ jal func_800726B0 +/* DE8AA4 80240334 24040001 */ addiu $a0, $zero, 1 +/* DE8AA8 80240338 AE220054 */ sw $v0, 0x54($s1) +/* DE8AAC 8024033C 8C43000C */ lw $v1, 0xc($v0) +/* DE8AB0 80240340 9222003B */ lbu $v0, 0x3b($s1) +/* DE8AB4 80240344 A0620034 */ sb $v0, 0x34($v1) +/* DE8AB8 80240348 8E220054 */ lw $v0, 0x54($s1) +/* DE8ABC 8024034C 8C42000C */ lw $v0, 0xc($v0) +/* DE8AC0 80240350 AC400020 */ sw $zero, 0x20($v0) +/* DE8AC4 80240354 8E250018 */ lw $a1, 0x18($s1) +/* DE8AC8 80240358 8E260028 */ lw $a2, 0x28($s1) +/* DE8ACC 8024035C 8E270020 */ lw $a3, 0x20($s1) +/* DE8AD0 80240360 0C044898 */ jal create_shadow_type +/* DE8AD4 80240364 0000202D */ daddu $a0, $zero, $zero +/* DE8AD8 80240368 3C014210 */ lui $at, 0x4210 +/* DE8ADC 8024036C 44810000 */ mtc1 $at, $f0 +/* DE8AE0 80240370 AE220040 */ sw $v0, 0x40($s1) +/* DE8AE4 80240374 24020003 */ addiu $v0, $zero, 3 +/* DE8AE8 80240378 A6220044 */ sh $v0, 0x44($s1) +/* DE8AEC 8024037C 24020001 */ addiu $v0, $zero, 1 +/* DE8AF0 80240380 A6200046 */ sh $zero, 0x46($s1) +/* DE8AF4 80240384 AE20002C */ sw $zero, 0x2c($s1) +/* DE8AF8 80240388 A6220048 */ sh $v0, 0x48($s1) +/* DE8AFC 8024038C 080900FF */ j .L802403FC +/* DE8B00 80240390 E6200030 */ swc1 $f0, 0x30($s1) +/* DE8B04 80240394 0000202D */ daddu $a0, $zero, $zero +/* DE8B08 80240398 3C054210 */ lui $a1, 0x4210 +/* DE8B0C 8024039C 3C064198 */ lui $a2, 0x4198 +/* DE8B10 802403A0 86270046 */ lh $a3, 0x46($s1) +/* DE8B14 802403A4 24020078 */ addiu $v0, $zero, 0x78 +/* DE8B18 802403A8 0C00A8ED */ jal update_lerp +/* DE8B1C 802403AC AFA20010 */ sw $v0, 0x10($sp) +/* DE8B20 802403B0 96220046 */ lhu $v0, 0x46($s1) +/* DE8B24 802403B4 E6200030 */ swc1 $f0, 0x30($s1) +/* DE8B28 802403B8 24420001 */ addiu $v0, $v0, 1 +/* DE8B2C 802403BC A6220046 */ sh $v0, 0x46($s1) +/* DE8B30 802403C0 00021400 */ sll $v0, $v0, 0x10 +/* DE8B34 802403C4 00021403 */ sra $v0, $v0, 0x10 +/* DE8B38 802403C8 28420078 */ slti $v0, $v0, 0x78 +/* DE8B3C 802403CC 1440000B */ bnez $v0, .L802403FC +/* DE8B40 802403D0 24030001 */ addiu $v1, $zero, 1 +/* DE8B44 802403D4 C620002C */ lwc1 $f0, 0x2c($s1) +/* DE8B48 802403D8 24020002 */ addiu $v0, $zero, 2 +/* DE8B4C 802403DC A6220048 */ sh $v0, 0x48($s1) +/* DE8B50 802403E0 24020004 */ addiu $v0, $zero, 4 +/* DE8B54 802403E4 A620004C */ sh $zero, 0x4c($s1) +/* DE8B58 802403E8 A623004A */ sh $v1, 0x4a($s1) +/* DE8B5C 802403EC A623004E */ sh $v1, 0x4e($s1) +/* DE8B60 802403F0 A6220044 */ sh $v0, 0x44($s1) +/* DE8B64 802403F4 A6200046 */ sh $zero, 0x46($s1) +/* DE8B68 802403F8 E6200034 */ swc1 $f0, 0x34($s1) +.L802403FC: +/* DE8B6C 802403FC 8623004A */ lh $v1, 0x4a($s1) +/* DE8B70 80240400 24020001 */ addiu $v0, $zero, 1 +/* DE8B74 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* DE8B78 80240408 24020002 */ addiu $v0, $zero, 2 +/* DE8B7C 8024040C 1062001E */ beq $v1, $v0, .L80240488 +/* DE8B80 80240410 00000000 */ nop +/* DE8B84 80240414 0809014C */ j .L80240530 +/* DE8B88 80240418 00000000 */ nop +.L8024041C: +/* DE8B8C 8024041C 8627004C */ lh $a3, 0x4c($s1) +/* DE8B90 80240420 24100078 */ addiu $s0, $zero, 0x78 +/* DE8B94 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* DE8B98 80240428 8E250034 */ lw $a1, 0x34($s1) +/* DE8B9C 8024042C 3C0644B4 */ lui $a2, 0x44b4 +/* DE8BA0 80240430 0C00A8ED */ jal update_lerp +/* DE8BA4 80240434 24040004 */ addiu $a0, $zero, 4 +/* DE8BA8 80240438 8627004C */ lh $a3, 0x4c($s1) +/* DE8BAC 8024043C E620002C */ swc1 $f0, 0x2c($s1) +/* DE8BB0 80240440 AFB00010 */ sw $s0, 0x10($sp) +/* DE8BB4 80240444 8E25001C */ lw $a1, 0x1c($s1) +/* DE8BB8 80240448 8E260024 */ lw $a2, 0x24($s1) +/* DE8BBC 8024044C 0C00A8ED */ jal update_lerp +/* DE8BC0 80240450 2404000A */ addiu $a0, $zero, 0xa +/* DE8BC4 80240454 9622004C */ lhu $v0, 0x4c($s1) +/* DE8BC8 80240458 E6200004 */ swc1 $f0, 4($s1) +/* DE8BCC 8024045C 24420001 */ addiu $v0, $v0, 1 +/* DE8BD0 80240460 A622004C */ sh $v0, 0x4c($s1) +/* DE8BD4 80240464 00021400 */ sll $v0, $v0, 0x10 +/* DE8BD8 80240468 00021403 */ sra $v0, $v0, 0x10 +/* DE8BDC 8024046C 0050102A */ slt $v0, $v0, $s0 +/* DE8BE0 80240470 1440002F */ bnez $v0, .L80240530 +/* DE8BE4 80240474 2402010E */ addiu $v0, $zero, 0x10e +/* DE8BE8 80240478 A622004C */ sh $v0, 0x4c($s1) +/* DE8BEC 8024047C 24020002 */ addiu $v0, $zero, 2 +/* DE8BF0 80240480 0809014B */ j .L8024052C +/* DE8BF4 80240484 A622004A */ sh $v0, 0x4a($s1) +.L80240488: +/* DE8BF8 80240488 8622004C */ lh $v0, 0x4c($s1) +/* DE8BFC 8024048C 44826000 */ mtc1 $v0, $f12 +/* DE8C00 80240490 00000000 */ nop +/* DE8C04 80240494 0C00A8BB */ jal sin_deg +/* DE8C08 80240498 46806320 */ cvt.s.w $f12, $f12 +/* DE8C0C 8024049C 3C013F80 */ lui $at, 0x3f80 +/* DE8C10 802404A0 44811000 */ mtc1 $at, $f2 +/* DE8C14 802404A4 00000000 */ nop +/* DE8C18 802404A8 46020000 */ add.s $f0, $f0, $f2 +/* DE8C1C 802404AC 46000000 */ add.s $f0, $f0, $f0 +/* DE8C20 802404B0 C6220024 */ lwc1 $f2, 0x24($s1) +/* DE8C24 802404B4 8622004C */ lh $v0, 0x4c($s1) +/* DE8C28 802404B8 46001080 */ add.s $f2, $f2, $f0 +/* DE8C2C 802404BC 24420008 */ addiu $v0, $v0, 8 +/* DE8C30 802404C0 44826000 */ mtc1 $v0, $f12 +/* DE8C34 802404C4 00000000 */ nop +/* DE8C38 802404C8 46806320 */ cvt.s.w $f12, $f12 +/* DE8C3C 802404CC 0C00A6C9 */ jal clamp_angle +/* DE8C40 802404D0 E6220004 */ swc1 $f2, 4($s1) +/* DE8C44 802404D4 4600010D */ trunc.w.s $f4, $f0 +/* DE8C48 802404D8 44022000 */ mfc1 $v0, $f4 +/* DE8C4C 802404DC C6200004 */ lwc1 $f0, 4($s1) +/* DE8C50 802404E0 A622004C */ sh $v0, 0x4c($s1) +/* DE8C54 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0) +/* DE8C58 802404E8 8E060030 */ lw $a2, 0x30($s0) +/* DE8C5C 802404EC 3C0141A0 */ lui $at, 0x41a0 +/* DE8C60 802404F0 44817000 */ mtc1 $at, $f14 +/* DE8C64 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* DE8C68 802404F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* DE8C6C 802404FC C6200008 */ lwc1 $f0, 8($s1) +/* DE8C70 80240500 E7A00014 */ swc1 $f0, 0x14($sp) +/* DE8C74 80240504 8E270000 */ lw $a3, ($s1) +/* DE8C78 80240508 0C00A7CB */ jal dist3D +/* DE8C7C 8024050C 460E1380 */ add.s $f14, $f2, $f14 +/* DE8C80 80240510 3C0141F0 */ lui $at, 0x41f0 +/* DE8C84 80240514 44811000 */ mtc1 $at, $f2 +/* DE8C88 80240518 00000000 */ nop +/* DE8C8C 8024051C 4600103C */ c.lt.s $f2, $f0 +/* DE8C90 80240520 00000000 */ nop +/* DE8C94 80240524 45010002 */ bc1t .L80240530 +/* DE8C98 80240528 24020003 */ addiu $v0, $zero, 3 +.L8024052C: +/* DE8C9C 8024052C A622004E */ sh $v0, 0x4e($s1) +.L80240530: +/* DE8CA0 80240530 86230048 */ lh $v1, 0x48($s1) +/* DE8CA4 80240534 24020001 */ addiu $v0, $zero, 1 +/* DE8CA8 80240538 10620005 */ beq $v1, $v0, .L80240550 +/* DE8CAC 8024053C 24020002 */ addiu $v0, $zero, 2 +/* DE8CB0 80240540 10620008 */ beq $v1, $v0, .L80240564 +/* DE8CB4 80240544 00000000 */ nop +/* DE8CB8 80240548 08090169 */ j .L802405A4 +/* DE8CBC 8024054C 00000000 */ nop +.L80240550: +/* DE8CC0 80240550 C620002C */ lwc1 $f0, 0x2c($s1) +/* DE8CC4 80240554 C62C0030 */ lwc1 $f12, 0x30($s1) +/* DE8CC8 80240558 0C00A6C9 */ jal clamp_angle +/* DE8CCC 8024055C 460C0300 */ add.s $f12, $f0, $f12 +/* DE8CD0 80240560 E620002C */ swc1 $f0, 0x2c($s1) +.L80240564: +/* DE8CD4 80240564 8E220054 */ lw $v0, 0x54($s1) +/* DE8CD8 80240568 C620002C */ lwc1 $f0, 0x2c($s1) +/* DE8CDC 8024056C 8C42000C */ lw $v0, 0xc($v0) +/* DE8CE0 80240570 E4400024 */ swc1 $f0, 0x24($v0) +/* DE8CE4 80240574 8E220054 */ lw $v0, 0x54($s1) +/* DE8CE8 80240578 C6200018 */ lwc1 $f0, 0x18($s1) +/* DE8CEC 8024057C 8C42000C */ lw $v0, 0xc($v0) +/* DE8CF0 80240580 E4400004 */ swc1 $f0, 4($v0) +/* DE8CF4 80240584 8E220054 */ lw $v0, 0x54($s1) +/* DE8CF8 80240588 C6200004 */ lwc1 $f0, 4($s1) +/* DE8CFC 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* DE8D00 80240590 E4400008 */ swc1 $f0, 8($v0) +/* DE8D04 80240594 8E220054 */ lw $v0, 0x54($s1) +/* DE8D08 80240598 C6200020 */ lwc1 $f0, 0x20($s1) +/* DE8D0C 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* DE8D10 802405A0 E440000C */ swc1 $f0, 0xc($v0) +.L802405A4: +/* DE8D14 802405A4 8FBF0020 */ lw $ra, 0x20($sp) +/* DE8D18 802405A8 8FB1001C */ lw $s1, 0x1c($sp) +/* DE8D1C 802405AC 8FB00018 */ lw $s0, 0x18($sp) +/* DE8D20 802405B0 0000102D */ daddu $v0, $zero, $zero +/* DE8D24 802405B4 03E00008 */ jr $ra +/* DE8D28 802405B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_802405BC_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_802405BC_DE8770.s new file mode 100644 index 0000000000..6831e54147 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_802405BC_DE8770.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_DE8D2C +/* DE8D2C 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE8D30 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* DE8D34 802405C4 0080802D */ daddu $s0, $a0, $zero +/* DE8D38 802405C8 AFBF0014 */ sw $ra, 0x14($sp) +/* DE8D3C 802405CC 8E02000C */ lw $v0, 0xc($s0) +/* DE8D40 802405D0 0C0B1EAF */ jal get_variable +/* DE8D44 802405D4 8C450000 */ lw $a1, ($v0) +/* DE8D48 802405D8 8E030084 */ lw $v1, 0x84($s0) +/* DE8D4C 802405DC 8FBF0014 */ lw $ra, 0x14($sp) +/* DE8D50 802405E0 8463004E */ lh $v1, 0x4e($v1) +/* DE8D54 802405E4 8FB00010 */ lw $s0, 0x10($sp) +/* DE8D58 802405E8 00621826 */ xor $v1, $v1, $v0 +/* DE8D5C 802405EC 2C630001 */ sltiu $v1, $v1, 1 +/* DE8D60 802405F0 00031040 */ sll $v0, $v1, 1 +/* DE8D64 802405F4 03E00008 */ jr $ra +/* DE8D68 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_802405FC_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_802405FC_DE8770.s new file mode 100644 index 0000000000..caa1110d11 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_802405FC_DE8770.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_DE8D6C +/* DE8D6C 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DE8D70 80240600 AFB20020 */ sw $s2, 0x20($sp) +/* DE8D74 80240604 0080902D */ daddu $s2, $a0, $zero +/* DE8D78 80240608 AFBF0024 */ sw $ra, 0x24($sp) +/* DE8D7C 8024060C AFB1001C */ sw $s1, 0x1c($sp) +/* DE8D80 80240610 AFB00018 */ sw $s0, 0x18($sp) +/* DE8D84 80240614 10A00035 */ beqz $a1, .L802406EC +/* DE8D88 80240618 8E51000C */ lw $s1, 0xc($s2) +/* DE8D8C 8024061C 0C00AB39 */ jal heap_malloc +/* DE8D90 80240620 24040058 */ addiu $a0, $zero, 0x58 +/* DE8D94 80240624 0040802D */ daddu $s0, $v0, $zero +/* DE8D98 80240628 AE500084 */ sw $s0, 0x84($s2) +/* DE8D9C 8024062C 8E250000 */ lw $a1, ($s1) +/* DE8DA0 80240630 26310004 */ addiu $s1, $s1, 4 +/* DE8DA4 80240634 0C0B1EAF */ jal get_variable +/* DE8DA8 80240638 0240202D */ daddu $a0, $s2, $zero +/* DE8DAC 8024063C AE020038 */ sw $v0, 0x38($s0) +/* DE8DB0 80240640 8E250000 */ lw $a1, ($s1) +/* DE8DB4 80240644 26310004 */ addiu $s1, $s1, 4 +/* DE8DB8 80240648 0C0B210B */ jal get_float_variable +/* DE8DBC 8024064C 0240202D */ daddu $a0, $s2, $zero +/* DE8DC0 80240650 E6000018 */ swc1 $f0, 0x18($s0) +/* DE8DC4 80240654 8E250000 */ lw $a1, ($s1) +/* DE8DC8 80240658 26310004 */ addiu $s1, $s1, 4 +/* DE8DCC 8024065C 0C0B210B */ jal get_float_variable +/* DE8DD0 80240660 0240202D */ daddu $a0, $s2, $zero +/* DE8DD4 80240664 E6000024 */ swc1 $f0, 0x24($s0) +/* DE8DD8 80240668 8E250000 */ lw $a1, ($s1) +/* DE8DDC 8024066C 26310004 */ addiu $s1, $s1, 4 +/* DE8DE0 80240670 0C0B210B */ jal get_float_variable +/* DE8DE4 80240674 0240202D */ daddu $a0, $s2, $zero +/* DE8DE8 80240678 E6000020 */ swc1 $f0, 0x20($s0) +/* DE8DEC 8024067C 8E250000 */ lw $a1, ($s1) +/* DE8DF0 80240680 0C0B210B */ jal get_float_variable +/* DE8DF4 80240684 0240202D */ daddu $a0, $s2, $zero +/* DE8DF8 80240688 3C013F80 */ lui $at, 0x3f80 +/* DE8DFC 8024068C 44811000 */ mtc1 $at, $f2 +/* DE8E00 80240690 E6000028 */ swc1 $f0, 0x28($s0) +/* DE8E04 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* DE8E08 80240698 E7A20010 */ swc1 $f2, 0x10($sp) +/* DE8E0C 8024069C 8E050018 */ lw $a1, 0x18($s0) +/* DE8E10 802406A0 8E060024 */ lw $a2, 0x24($s0) +/* DE8E14 802406A4 8E070020 */ lw $a3, 0x20($s0) +/* DE8E18 802406A8 0C01C9AC */ jal func_800726B0 +/* DE8E1C 802406AC 24040001 */ addiu $a0, $zero, 1 +/* DE8E20 802406B0 AE020054 */ sw $v0, 0x54($s0) +/* DE8E24 802406B4 8C43000C */ lw $v1, 0xc($v0) +/* DE8E28 802406B8 9202003B */ lbu $v0, 0x3b($s0) +/* DE8E2C 802406BC A0620034 */ sb $v0, 0x34($v1) +/* DE8E30 802406C0 8E020054 */ lw $v0, 0x54($s0) +/* DE8E34 802406C4 8C42000C */ lw $v0, 0xc($v0) +/* DE8E38 802406C8 AC400020 */ sw $zero, 0x20($v0) +/* DE8E3C 802406CC 8E050018 */ lw $a1, 0x18($s0) +/* DE8E40 802406D0 8E060028 */ lw $a2, 0x28($s0) +/* DE8E44 802406D4 8E070020 */ lw $a3, 0x20($s0) +/* DE8E48 802406D8 0C044898 */ jal create_shadow_type +/* DE8E4C 802406DC 0000202D */ daddu $a0, $zero, $zero +/* DE8E50 802406E0 AE020040 */ sw $v0, 0x40($s0) +/* DE8E54 802406E4 2402010E */ addiu $v0, $zero, 0x10e +/* DE8E58 802406E8 A602004C */ sh $v0, 0x4c($s0) +.L802406EC: +/* DE8E5C 802406EC 8FBF0024 */ lw $ra, 0x24($sp) +/* DE8E60 802406F0 8FB20020 */ lw $s2, 0x20($sp) +/* DE8E64 802406F4 8FB1001C */ lw $s1, 0x1c($sp) +/* DE8E68 802406F8 8FB00018 */ lw $s0, 0x18($sp) +/* DE8E6C 802406FC 24020002 */ addiu $v0, $zero, 2 +/* DE8E70 80240700 03E00008 */ jr $ra +/* DE8E74 80240704 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_15/func_80240708_DE8770.s b/asm/nonmatchings/world/area_omo/omo_15/func_80240708_DE8770.s new file mode 100644 index 0000000000..cb02d5837a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_15/func_80240708_DE8770.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708_DE8E78 +/* DE8E78 80240708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DE8E7C 8024070C AFBF0014 */ sw $ra, 0x14($sp) +/* DE8E80 80240710 AFB00010 */ sw $s0, 0x10($sp) +/* DE8E84 80240714 8C900084 */ lw $s0, 0x84($a0) +/* DE8E88 80240718 8602004C */ lh $v0, 0x4c($s0) +/* DE8E8C 8024071C 44826000 */ mtc1 $v0, $f12 +/* DE8E90 80240720 00000000 */ nop +/* DE8E94 80240724 0C00A8BB */ jal sin_deg +/* DE8E98 80240728 46806320 */ cvt.s.w $f12, $f12 +/* DE8E9C 8024072C 3C013F80 */ lui $at, 0x3f80 +/* DE8EA0 80240730 44811000 */ mtc1 $at, $f2 +/* DE8EA4 80240734 00000000 */ nop +/* DE8EA8 80240738 46020000 */ add.s $f0, $f0, $f2 +/* DE8EAC 8024073C 46000000 */ add.s $f0, $f0, $f0 +/* DE8EB0 80240740 C6020024 */ lwc1 $f2, 0x24($s0) +/* DE8EB4 80240744 8602004C */ lh $v0, 0x4c($s0) +/* DE8EB8 80240748 46001080 */ add.s $f2, $f2, $f0 +/* DE8EBC 8024074C 24420008 */ addiu $v0, $v0, 8 +/* DE8EC0 80240750 44826000 */ mtc1 $v0, $f12 +/* DE8EC4 80240754 00000000 */ nop +/* DE8EC8 80240758 46806320 */ cvt.s.w $f12, $f12 +/* DE8ECC 8024075C 0C00A6C9 */ jal clamp_angle +/* DE8ED0 80240760 E6020004 */ swc1 $f2, 4($s0) +/* DE8ED4 80240764 4600010D */ trunc.w.s $f4, $f0 +/* DE8ED8 80240768 44022000 */ mfc1 $v0, $f4 +/* DE8EDC 8024076C 00000000 */ nop +/* DE8EE0 80240770 A602004C */ sh $v0, 0x4c($s0) +/* DE8EE4 80240774 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DE8EE8 80240778 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DE8EEC 8024077C C44C0028 */ lwc1 $f12, 0x28($v0) +/* DE8EF0 80240780 C44E0030 */ lwc1 $f14, 0x30($v0) +/* DE8EF4 80240784 8E060018 */ lw $a2, 0x18($s0) +/* DE8EF8 80240788 0C00A7B5 */ jal dist2D +/* DE8EFC 8024078C 8E070020 */ lw $a3, 0x20($s0) +/* DE8F00 80240790 3C0141F0 */ lui $at, 0x41f0 +/* DE8F04 80240794 44811000 */ mtc1 $at, $f2 +/* DE8F08 80240798 00000000 */ nop +/* DE8F0C 8024079C 4602003E */ c.le.s $f0, $f2 +/* DE8F10 802407A0 00000000 */ nop +/* DE8F14 802407A4 45000002 */ bc1f .L802407B0 +/* DE8F18 802407A8 24020003 */ addiu $v0, $zero, 3 +/* DE8F1C 802407AC A602004E */ sh $v0, 0x4e($s0) +.L802407B0: +/* DE8F20 802407B0 8E020054 */ lw $v0, 0x54($s0) +/* DE8F24 802407B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* DE8F28 802407B8 8C42000C */ lw $v0, 0xc($v0) +/* DE8F2C 802407BC E4400004 */ swc1 $f0, 4($v0) +/* DE8F30 802407C0 8E020054 */ lw $v0, 0x54($s0) +/* DE8F34 802407C4 C6000004 */ lwc1 $f0, 4($s0) +/* DE8F38 802407C8 8C42000C */ lw $v0, 0xc($v0) +/* DE8F3C 802407CC E4400008 */ swc1 $f0, 8($v0) +/* DE8F40 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* DE8F44 802407D4 C6000020 */ lwc1 $f0, 0x20($s0) +/* DE8F48 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* DE8F4C 802407DC E440000C */ swc1 $f0, 0xc($v0) +/* DE8F50 802407E0 8FBF0014 */ lw $ra, 0x14($sp) +/* DE8F54 802407E4 8FB00010 */ lw $s0, 0x10($sp) +/* DE8F58 802407E8 0000102D */ daddu $v0, $zero, $zero +/* DE8F5C 802407EC 03E00008 */ jr $ra +/* DE8F60 802407F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* DE8F64 802407F4 00000000 */ nop +/* DE8F68 802407F8 00000000 */ nop +/* DE8F6C 802407FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_80240000_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_80240000_DEBED0.s new file mode 100644 index 0000000000..9620b34659 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_80240000_DEBED0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DEBED0 +/* DEBED0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DEBED4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DEBED8 80240008 94620002 */ lhu $v0, 2($v1) +/* DEBEDC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DEBEE0 80240010 A4620002 */ sh $v0, 2($v1) +/* DEBEE4 80240014 03E00008 */ jr $ra +/* DEBEE8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_8024001C_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_8024001C_DEBED0.s new file mode 100644 index 0000000000..162e98e558 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_8024001C_DEBED0.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_DEBEEC +/* DEBEEC 8024001C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DEBEF0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* DEBEF4 80240024 0080882D */ daddu $s1, $a0, $zero +/* DEBEF8 80240028 AFBF001C */ sw $ra, 0x1c($sp) +/* DEBEFC 8024002C AFB20018 */ sw $s2, 0x18($sp) +/* DEBF00 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* DEBF04 80240034 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEBF08 80240038 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEBF0C 8024003C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEBF10 80240040 8E30000C */ lw $s0, 0xc($s1) +/* DEBF14 80240044 8E120000 */ lw $s2, ($s0) +/* DEBF18 80240048 26100004 */ addiu $s0, $s0, 4 +/* DEBF1C 8024004C 8E050000 */ lw $a1, ($s0) +/* DEBF20 80240050 0C0B210B */ jal get_float_variable +/* DEBF24 80240054 26100004 */ addiu $s0, $s0, 4 +/* DEBF28 80240058 8E050000 */ lw $a1, ($s0) +/* DEBF2C 8024005C 26100004 */ addiu $s0, $s0, 4 +/* DEBF30 80240060 0220202D */ daddu $a0, $s1, $zero +/* DEBF34 80240064 0C0B210B */ jal get_float_variable +/* DEBF38 80240068 46000606 */ mov.s $f24, $f0 +/* DEBF3C 8024006C 8E050000 */ lw $a1, ($s0) +/* DEBF40 80240070 26100004 */ addiu $s0, $s0, 4 +/* DEBF44 80240074 0220202D */ daddu $a0, $s1, $zero +/* DEBF48 80240078 0C0B210B */ jal get_float_variable +/* DEBF4C 8024007C 46000586 */ mov.s $f22, $f0 +/* DEBF50 80240080 0220202D */ daddu $a0, $s1, $zero +/* DEBF54 80240084 8E050000 */ lw $a1, ($s0) +/* DEBF58 80240088 0C0B210B */ jal get_float_variable +/* DEBF5C 8024008C 46000506 */ mov.s $f20, $f0 +/* DEBF60 80240090 4600C306 */ mov.s $f12, $f24 +/* DEBF64 80240094 4406A000 */ mfc1 $a2, $f20 +/* DEBF68 80240098 44070000 */ mfc1 $a3, $f0 +/* DEBF6C 8024009C 0C00A720 */ jal atan2 +/* DEBF70 802400A0 4600B386 */ mov.s $f14, $f22 +/* DEBF74 802400A4 0C00A6C9 */ jal clamp_angle +/* DEBF78 802400A8 46000306 */ mov.s $f12, $f0 +/* DEBF7C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* DEBF80 802400B0 44060000 */ mfc1 $a2, $f0 +/* DEBF84 802400B4 0C0B2190 */ jal set_float_variable +/* DEBF88 802400B8 0240282D */ daddu $a1, $s2, $zero +/* DEBF8C 802400BC 8FBF001C */ lw $ra, 0x1c($sp) +/* DEBF90 802400C0 8FB20018 */ lw $s2, 0x18($sp) +/* DEBF94 802400C4 8FB10014 */ lw $s1, 0x14($sp) +/* DEBF98 802400C8 8FB00010 */ lw $s0, 0x10($sp) +/* DEBF9C 802400CC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEBFA0 802400D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEBFA4 802400D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEBFA8 802400D8 24020002 */ addiu $v0, $zero, 2 +/* DEBFAC 802400DC 03E00008 */ jr $ra +/* DEBFB0 802400E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_802400E4_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_802400E4_DEBED0.s new file mode 100644 index 0000000000..a82bea874c --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_802400E4_DEBED0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4_DEBFB4 +/* DEBFB4 802400E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DEBFB8 802400E8 AFB10014 */ sw $s1, 0x14($sp) +/* DEBFBC 802400EC 0080882D */ daddu $s1, $a0, $zero +/* DEBFC0 802400F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DEBFC4 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* DEBFC8 802400F8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEBFCC 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* DEBFD0 80240100 8E050000 */ lw $a1, ($s0) +/* DEBFD4 80240104 0C0B210B */ jal get_float_variable +/* DEBFD8 80240108 26100004 */ addiu $s0, $s0, 4 +/* DEBFDC 8024010C 8E050000 */ lw $a1, ($s0) +/* DEBFE0 80240110 26100004 */ addiu $s0, $s0, 4 +/* DEBFE4 80240114 0220202D */ daddu $a0, $s1, $zero +/* DEBFE8 80240118 0C0B210B */ jal get_float_variable +/* DEBFEC 8024011C 46000506 */ mov.s $f20, $f0 +/* DEBFF0 80240120 4614003C */ c.lt.s $f0, $f20 +/* DEBFF4 80240124 00000000 */ nop +/* DEBFF8 80240128 45000004 */ bc1f .L8024013C +/* DEBFFC 8024012C 0220202D */ daddu $a0, $s1, $zero +/* DEC000 80240130 8E050000 */ lw $a1, ($s0) +/* DEC004 80240134 08090051 */ j .L80240144 +/* DEC008 80240138 24060001 */ addiu $a2, $zero, 1 +.L8024013C: +/* DEC00C 8024013C 8E050000 */ lw $a1, ($s0) +/* DEC010 80240140 0000302D */ daddu $a2, $zero, $zero +.L80240144: +/* DEC014 80240144 0C0B2026 */ jal set_variable +/* DEC018 80240148 00000000 */ nop +/* DEC01C 8024014C 8FBF0018 */ lw $ra, 0x18($sp) +/* DEC020 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* DEC024 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* DEC028 80240158 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEC02C 8024015C 24020002 */ addiu $v0, $zero, 2 +/* DEC030 80240160 03E00008 */ jr $ra +/* DEC034 80240164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_80240168_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_80240168_DEBED0.s new file mode 100644 index 0000000000..f62f03e18b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_80240168_DEBED0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240168_DEC038 +/* DEC038 80240168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEC03C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* DEC040 80240170 0080902D */ daddu $s2, $a0, $zero +/* DEC044 80240174 AFBF001C */ sw $ra, 0x1c($sp) +/* DEC048 80240178 AFB10014 */ sw $s1, 0x14($sp) +/* DEC04C 8024017C AFB00010 */ sw $s0, 0x10($sp) +/* DEC050 80240180 8E50000C */ lw $s0, 0xc($s2) +/* DEC054 80240184 8E050000 */ lw $a1, ($s0) +/* DEC058 80240188 0C0B1EAF */ jal get_variable +/* DEC05C 8024018C 26100004 */ addiu $s0, $s0, 4 +/* DEC060 80240190 8E050000 */ lw $a1, ($s0) +/* DEC064 80240194 26100004 */ addiu $s0, $s0, 4 +/* DEC068 80240198 0240202D */ daddu $a0, $s2, $zero +/* DEC06C 8024019C 0C0B1EAF */ jal get_variable +/* DEC070 802401A0 0040882D */ daddu $s1, $v0, $zero +/* DEC074 802401A4 0240202D */ daddu $a0, $s2, $zero +/* DEC078 802401A8 8E050000 */ lw $a1, ($s0) +/* DEC07C 802401AC 0C0B1EAF */ jal get_variable +/* DEC080 802401B0 0040802D */ daddu $s0, $v0, $zero +/* DEC084 802401B4 02020018 */ mult $s0, $v0 +/* DEC088 802401B8 24020002 */ addiu $v0, $zero, 2 +/* DEC08C 802401BC 8E430138 */ lw $v1, 0x138($s2) +/* DEC090 802401C0 00003012 */ mflo $a2 +/* DEC094 802401C4 02268821 */ addu $s1, $s1, $a2 +/* DEC098 802401C8 00518804 */ sllv $s1, $s1, $v0 +/* DEC09C 802401CC 00711821 */ addu $v1, $v1, $s1 +/* DEC0A0 802401D0 AE430138 */ sw $v1, 0x138($s2) +/* DEC0A4 802401D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DEC0A8 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* DEC0AC 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* DEC0B0 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* DEC0B4 802401E4 03E00008 */ jr $ra +/* DEC0B8 802401E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_802401EC_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_802401EC_DEBED0.s new file mode 100644 index 0000000000..4c2a9ec315 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_802401EC_DEBED0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401EC_DEC0BC +/* DEC0BC 802401EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DEC0C0 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* DEC0C4 802401F4 0080882D */ daddu $s1, $a0, $zero +/* DEC0C8 802401F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DEC0CC 802401FC AFB00010 */ sw $s0, 0x10($sp) +/* DEC0D0 80240200 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEC0D4 80240204 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEC0D8 80240208 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEC0DC 8024020C 8E30000C */ lw $s0, 0xc($s1) +/* DEC0E0 80240210 8E050000 */ lw $a1, ($s0) +/* DEC0E4 80240214 0C0B210B */ jal get_float_variable +/* DEC0E8 80240218 26100004 */ addiu $s0, $s0, 4 +/* DEC0EC 8024021C 8E050000 */ lw $a1, ($s0) +/* DEC0F0 80240220 26100004 */ addiu $s0, $s0, 4 +/* DEC0F4 80240224 0220202D */ daddu $a0, $s1, $zero +/* DEC0F8 80240228 0C0B210B */ jal get_float_variable +/* DEC0FC 8024022C 46000606 */ mov.s $f24, $f0 +/* DEC100 80240230 8E050000 */ lw $a1, ($s0) +/* DEC104 80240234 26100004 */ addiu $s0, $s0, 4 +/* DEC108 80240238 0220202D */ daddu $a0, $s1, $zero +/* DEC10C 8024023C 0C0B210B */ jal get_float_variable +/* DEC110 80240240 46000586 */ mov.s $f22, $f0 +/* DEC114 80240244 0220202D */ daddu $a0, $s1, $zero +/* DEC118 80240248 8E050000 */ lw $a1, ($s0) +/* DEC11C 8024024C 0C0B210B */ jal get_float_variable +/* DEC120 80240250 46000506 */ mov.s $f20, $f0 +/* DEC124 80240254 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DEC128 80240258 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DEC12C 8024025C E4580028 */ swc1 $f24, 0x28($v0) +/* DEC130 80240260 E456002C */ swc1 $f22, 0x2c($v0) +/* DEC134 80240264 E4540030 */ swc1 $f20, 0x30($v0) +/* DEC138 80240268 E4400080 */ swc1 $f0, 0x80($v0) +/* DEC13C 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* DEC140 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* DEC144 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* DEC148 80240278 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEC14C 8024027C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEC150 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEC154 80240284 24020002 */ addiu $v0, $zero, 2 +/* DEC158 80240288 03E00008 */ jr $ra +/* DEC15C 8024028C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_80240290_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_80240290_DEBED0.s new file mode 100644 index 0000000000..f29f06eddd --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_80240290_DEBED0.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_DEC160 +/* DEC160 80240290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DEC164 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* DEC168 80240298 0080882D */ daddu $s1, $a0, $zero +/* DEC16C 8024029C AFBF001C */ sw $ra, 0x1c($sp) +/* DEC170 802402A0 AFB20018 */ sw $s2, 0x18($sp) +/* DEC174 802402A4 AFB00010 */ sw $s0, 0x10($sp) +/* DEC178 802402A8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DEC17C 802402AC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEC180 802402B0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEC184 802402B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEC188 802402B8 8E30000C */ lw $s0, 0xc($s1) +/* DEC18C 802402BC 8E050000 */ lw $a1, ($s0) +/* DEC190 802402C0 0C0B1EAF */ jal get_variable +/* DEC194 802402C4 26100004 */ addiu $s0, $s0, 4 +/* DEC198 802402C8 8E050000 */ lw $a1, ($s0) +/* DEC19C 802402CC 26100004 */ addiu $s0, $s0, 4 +/* DEC1A0 802402D0 0220202D */ daddu $a0, $s1, $zero +/* DEC1A4 802402D4 0C0B210B */ jal get_float_variable +/* DEC1A8 802402D8 0040902D */ daddu $s2, $v0, $zero +/* DEC1AC 802402DC 8E050000 */ lw $a1, ($s0) +/* DEC1B0 802402E0 26100004 */ addiu $s0, $s0, 4 +/* DEC1B4 802402E4 0220202D */ daddu $a0, $s1, $zero +/* DEC1B8 802402E8 0C0B210B */ jal get_float_variable +/* DEC1BC 802402EC 46000686 */ mov.s $f26, $f0 +/* DEC1C0 802402F0 8E050000 */ lw $a1, ($s0) +/* DEC1C4 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DEC1C8 802402F8 0220202D */ daddu $a0, $s1, $zero +/* DEC1CC 802402FC 0C0B210B */ jal get_float_variable +/* DEC1D0 80240300 46000606 */ mov.s $f24, $f0 +/* DEC1D4 80240304 0220202D */ daddu $a0, $s1, $zero +/* DEC1D8 80240308 8E050000 */ lw $a1, ($s0) +/* DEC1DC 8024030C 0C0B210B */ jal get_float_variable +/* DEC1E0 80240310 46000506 */ mov.s $f20, $f0 +/* DEC1E4 80240314 0240202D */ daddu $a0, $s2, $zero +/* DEC1E8 80240318 0C00EAD2 */ jal get_npc_safe +/* DEC1EC 8024031C 46000586 */ mov.s $f22, $f0 +/* DEC1F0 80240320 0040202D */ daddu $a0, $v0, $zero +/* DEC1F4 80240324 E49A0038 */ swc1 $f26, 0x38($a0) +/* DEC1F8 80240328 4600D006 */ mov.s $f0, $f26 +/* DEC1FC 8024032C E498003C */ swc1 $f24, 0x3c($a0) +/* DEC200 80240330 4600C086 */ mov.s $f2, $f24 +/* DEC204 80240334 E4940040 */ swc1 $f20, 0x40($a0) +/* DEC208 80240338 4600A106 */ mov.s $f4, $f20 +/* DEC20C 8024033C 8C830000 */ lw $v1, ($a0) +/* DEC210 80240340 3C050001 */ lui $a1, 1 +/* DEC214 80240344 E496000C */ swc1 $f22, 0xc($a0) +/* DEC218 80240348 E480006C */ swc1 $f0, 0x6c($a0) +/* DEC21C 8024034C E4820070 */ swc1 $f2, 0x70($a0) +/* DEC220 80240350 E4840074 */ swc1 $f4, 0x74($a0) +/* DEC224 80240354 00651825 */ or $v1, $v1, $a1 +/* DEC228 80240358 AC830000 */ sw $v1, ($a0) +/* DEC22C 8024035C 8FBF001C */ lw $ra, 0x1c($sp) +/* DEC230 80240360 8FB20018 */ lw $s2, 0x18($sp) +/* DEC234 80240364 8FB10014 */ lw $s1, 0x14($sp) +/* DEC238 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* DEC23C 8024036C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DEC240 80240370 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEC244 80240374 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEC248 80240378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEC24C 8024037C 24020002 */ addiu $v0, $zero, 2 +/* DEC250 80240380 03E00008 */ jr $ra +/* DEC254 80240384 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_80240388_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_80240388_DEBED0.s new file mode 100644 index 0000000000..9b76b2a61b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_80240388_DEBED0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_DEC258 +/* DEC258 80240388 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DEC25C 8024038C AFB20018 */ sw $s2, 0x18($sp) +/* DEC260 80240390 0080902D */ daddu $s2, $a0, $zero +/* DEC264 80240394 AFBF0028 */ sw $ra, 0x28($sp) +/* DEC268 80240398 AFB50024 */ sw $s5, 0x24($sp) +/* DEC26C 8024039C AFB40020 */ sw $s4, 0x20($sp) +/* DEC270 802403A0 AFB3001C */ sw $s3, 0x1c($sp) +/* DEC274 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* DEC278 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* DEC27C 802403AC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DEC280 802403B0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DEC284 802403B4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DEC288 802403B8 8E50000C */ lw $s0, 0xc($s2) +/* DEC28C 802403BC 8E140000 */ lw $s4, ($s0) +/* DEC290 802403C0 26100004 */ addiu $s0, $s0, 4 +/* DEC294 802403C4 0C0B1EAF */ jal get_variable +/* DEC298 802403C8 0280282D */ daddu $a1, $s4, $zero +/* DEC29C 802403CC 0040982D */ daddu $s3, $v0, $zero +/* DEC2A0 802403D0 8E150000 */ lw $s5, ($s0) +/* DEC2A4 802403D4 26100004 */ addiu $s0, $s0, 4 +/* DEC2A8 802403D8 8E050000 */ lw $a1, ($s0) +/* DEC2AC 802403DC 26100004 */ addiu $s0, $s0, 4 +/* DEC2B0 802403E0 0C0B210B */ jal get_float_variable +/* DEC2B4 802403E4 0240202D */ daddu $a0, $s2, $zero +/* DEC2B8 802403E8 8E050000 */ lw $a1, ($s0) +/* DEC2BC 802403EC 26100004 */ addiu $s0, $s0, 4 +/* DEC2C0 802403F0 0240202D */ daddu $a0, $s2, $zero +/* DEC2C4 802403F4 0C0B210B */ jal get_float_variable +/* DEC2C8 802403F8 46000606 */ mov.s $f24, $f0 +/* DEC2CC 802403FC 8E050000 */ lw $a1, ($s0) +/* DEC2D0 80240400 26100004 */ addiu $s0, $s0, 4 +/* DEC2D4 80240404 0240202D */ daddu $a0, $s2, $zero +/* DEC2D8 80240408 0C0B1EAF */ jal get_variable +/* DEC2DC 8024040C 46000506 */ mov.s $f20, $f0 +/* DEC2E0 80240410 8E050000 */ lw $a1, ($s0) +/* DEC2E4 80240414 26100004 */ addiu $s0, $s0, 4 +/* DEC2E8 80240418 0240202D */ daddu $a0, $s2, $zero +/* DEC2EC 8024041C 0C0B1EAF */ jal get_variable +/* DEC2F0 80240420 0040882D */ daddu $s1, $v0, $zero +/* DEC2F4 80240424 0240202D */ daddu $a0, $s2, $zero +/* DEC2F8 80240428 8E050000 */ lw $a1, ($s0) +/* DEC2FC 8024042C 0C0B210B */ jal get_float_variable +/* DEC300 80240430 0040802D */ daddu $s0, $v0, $zero +/* DEC304 80240434 3C014334 */ lui $at, 0x4334 +/* DEC308 80240438 44811000 */ mtc1 $at, $f2 +/* DEC30C 8024043C 3C014049 */ lui $at, 0x4049 +/* DEC310 80240440 34210FD8 */ ori $at, $at, 0xfd8 +/* DEC314 80240444 44812000 */ mtc1 $at, $f4 +/* DEC318 80240448 46020003 */ div.s $f0, $f0, $f2 +/* DEC31C 8024044C 46040582 */ mul.s $f22, $f0, $f4 +/* DEC320 80240450 00000000 */ nop +/* DEC324 80240454 4618A501 */ sub.s $f20, $f20, $f24 +/* DEC328 80240458 3C013F00 */ lui $at, 0x3f00 +/* DEC32C 8024045C 44810000 */ mtc1 $at, $f0 +/* DEC330 80240460 00000000 */ nop +/* DEC334 80240464 4600A502 */ mul.s $f20, $f20, $f0 +/* DEC338 80240468 00000000 */ nop +/* DEC33C 8024046C 12000007 */ beqz $s0, .L8024048C +/* DEC340 80240470 0233102A */ slt $v0, $s1, $s3 +/* DEC344 80240474 10400005 */ beqz $v0, .L8024048C +/* DEC348 80240478 0240202D */ daddu $a0, $s2, $zero +/* DEC34C 8024047C 0220982D */ daddu $s3, $s1, $zero +/* DEC350 80240480 0280282D */ daddu $a1, $s4, $zero +/* DEC354 80240484 0C0B2026 */ jal set_variable +/* DEC358 80240488 0220302D */ daddu $a2, $s1, $zero +.L8024048C: +/* DEC35C 8024048C 3C014049 */ lui $at, 0x4049 +/* DEC360 80240490 34210FD8 */ ori $at, $at, 0xfd8 +/* DEC364 80240494 44810000 */ mtc1 $at, $f0 +/* DEC368 80240498 44936000 */ mtc1 $s3, $f12 +/* DEC36C 8024049C 00000000 */ nop +/* DEC370 802404A0 46806320 */ cvt.s.w $f12, $f12 +/* DEC374 802404A4 46006302 */ mul.s $f12, $f12, $f0 +/* DEC378 802404A8 00000000 */ nop +/* DEC37C 802404AC 44910000 */ mtc1 $s1, $f0 +/* DEC380 802404B0 00000000 */ nop +/* DEC384 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* DEC388 802404B8 46006303 */ div.s $f12, $f12, $f0 +/* DEC38C 802404BC 0C00A874 */ jal cos_rad +/* DEC390 802404C0 46166300 */ add.s $f12, $f12, $f22 +/* DEC394 802404C4 4600A002 */ mul.s $f0, $f20, $f0 +/* DEC398 802404C8 00000000 */ nop +/* DEC39C 802404CC 4614C080 */ add.s $f2, $f24, $f20 +/* DEC3A0 802404D0 46001081 */ sub.s $f2, $f2, $f0 +/* DEC3A4 802404D4 0240202D */ daddu $a0, $s2, $zero +/* DEC3A8 802404D8 44061000 */ mfc1 $a2, $f2 +/* DEC3AC 802404DC 0C0B2190 */ jal set_float_variable +/* DEC3B0 802404E0 02A0282D */ daddu $a1, $s5, $zero +/* DEC3B4 802404E4 8FBF0028 */ lw $ra, 0x28($sp) +/* DEC3B8 802404E8 8FB50024 */ lw $s5, 0x24($sp) +/* DEC3BC 802404EC 8FB40020 */ lw $s4, 0x20($sp) +/* DEC3C0 802404F0 8FB3001C */ lw $s3, 0x1c($sp) +/* DEC3C4 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* DEC3C8 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* DEC3CC 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* DEC3D0 80240500 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DEC3D4 80240504 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DEC3D8 80240508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DEC3DC 8024050C 24020002 */ addiu $v0, $zero, 2 +/* DEC3E0 80240510 03E00008 */ jr $ra +/* DEC3E4 80240514 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_80240518_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_80240518_DEBED0.s new file mode 100644 index 0000000000..6a2b39fcb9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_80240518_DEBED0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_DEC3E8 +/* DEC3E8 80240518 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DEC3EC 8024051C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DEC3F0 80240520 8C620000 */ lw $v0, ($v1) +/* DEC3F4 80240524 AC800084 */ sw $zero, 0x84($a0) +/* DEC3F8 80240528 8C420010 */ lw $v0, 0x10($v0) +/* DEC3FC 8024052C 30428000 */ andi $v0, $v0, 0x8000 +/* DEC400 80240530 10400002 */ beqz $v0, .L8024053C +/* DEC404 80240534 24020001 */ addiu $v0, $zero, 1 +/* DEC408 80240538 AC820084 */ sw $v0, 0x84($a0) +.L8024053C: +/* DEC40C 8024053C 8C620000 */ lw $v0, ($v1) +/* DEC410 80240540 8C420010 */ lw $v0, 0x10($v0) +/* DEC414 80240544 30424000 */ andi $v0, $v0, 0x4000 +/* DEC418 80240548 10400002 */ beqz $v0, .L80240554 +/* DEC41C 8024054C 24020001 */ addiu $v0, $zero, 1 +/* DEC420 80240550 AC820084 */ sw $v0, 0x84($a0) +.L80240554: +/* DEC424 80240554 03E00008 */ jr $ra +/* DEC428 80240558 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_16/func_8024055C_DEBED0.s b/asm/nonmatchings/world/area_omo/omo_16/func_8024055C_DEBED0.s new file mode 100644 index 0000000000..cec356480a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_16/func_8024055C_DEBED0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024055C_DEC42C +/* DEC42C 8024055C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DEC430 80240560 AFB00010 */ sw $s0, 0x10($sp) +/* DEC434 80240564 0080802D */ daddu $s0, $a0, $zero +/* DEC438 80240568 3C05FD05 */ lui $a1, 0xfd05 +/* DEC43C 8024056C AFBF0014 */ sw $ra, 0x14($sp) +/* DEC440 80240570 0C0B210B */ jal get_float_variable +/* DEC444 80240574 34A50F8B */ ori $a1, $a1, 0xf8b +/* DEC448 80240578 46000106 */ mov.s $f4, $f0 +/* DEC44C 8024057C 3C0144FA */ lui $at, 0x44fa +/* DEC450 80240580 44811000 */ mtc1 $at, $f2 +/* DEC454 80240584 46002005 */ abs.s $f0, $f4 +/* DEC458 80240588 4602003C */ c.lt.s $f0, $f2 +/* DEC45C 8024058C 00000000 */ nop +/* DEC460 80240590 4500000D */ bc1f .L802405C8 +/* DEC464 80240594 AE000084 */ sw $zero, 0x84($s0) +/* DEC468 80240598 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* DEC46C 8024059C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* DEC470 802405A0 8C420010 */ lw $v0, 0x10($v0) +/* DEC474 802405A4 30428000 */ andi $v0, $v0, 0x8000 +/* DEC478 802405A8 10400007 */ beqz $v0, .L802405C8 +/* DEC47C 802405AC 24020001 */ addiu $v0, $zero, 1 +/* DEC480 802405B0 AE020084 */ sw $v0, 0x84($s0) +/* DEC484 802405B4 3C0144FA */ lui $at, 0x44fa +/* DEC488 802405B8 44811000 */ mtc1 $at, $f2 +/* DEC48C 802405BC 46002005 */ abs.s $f0, $f4 +/* DEC490 802405C0 4602003C */ c.lt.s $f0, $f2 +/* DEC494 802405C4 00000000 */ nop +.L802405C8: +/* DEC498 802405C8 45000008 */ bc1f .L802405EC +/* DEC49C 802405CC 00000000 */ nop +/* DEC4A0 802405D0 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* DEC4A4 802405D4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* DEC4A8 802405D8 8C420010 */ lw $v0, 0x10($v0) +/* DEC4AC 802405DC 30424000 */ andi $v0, $v0, 0x4000 +/* DEC4B0 802405E0 10400002 */ beqz $v0, .L802405EC +/* DEC4B4 802405E4 24020001 */ addiu $v0, $zero, 1 +/* DEC4B8 802405E8 AE020084 */ sw $v0, 0x84($s0) +.L802405EC: +/* DEC4BC 802405EC 8FBF0014 */ lw $ra, 0x14($sp) +/* DEC4C0 802405F0 8FB00010 */ lw $s0, 0x10($sp) +/* DEC4C4 802405F4 24020002 */ addiu $v0, $zero, 2 +/* DEC4C8 802405F8 03E00008 */ jr $ra +/* DEC4CC 802405FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240000_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240000_DEEEA0.s new file mode 100644 index 0000000000..240afc7ea8 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240000_DEEEA0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_DEEEA0 +/* DEEEA0 80240000 3C03800B */ lui $v1, %hi(gCameras) +/* DEEEA4 80240004 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* DEEEA8 80240008 94620002 */ lhu $v0, 2($v1) +/* DEEEAC 8024000C 3042FFFE */ andi $v0, $v0, 0xfffe +/* DEEEB0 80240010 A4620002 */ sh $v0, 2($v1) +/* DEEEB4 80240014 03E00008 */ jr $ra +/* DEEEB8 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_8024001C_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_8024001C_DEEEA0.s new file mode 100644 index 0000000000..6072dcf683 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_8024001C_DEEEA0.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_DEEEBC +/* DEEEBC 8024001C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DEEEC0 80240020 AFB10014 */ sw $s1, 0x14($sp) +/* DEEEC4 80240024 0080882D */ daddu $s1, $a0, $zero +/* DEEEC8 80240028 AFBF001C */ sw $ra, 0x1c($sp) +/* DEEECC 8024002C AFB20018 */ sw $s2, 0x18($sp) +/* DEEED0 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* DEEED4 80240034 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEEED8 80240038 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEEEDC 8024003C F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEEEE0 80240040 8E30000C */ lw $s0, 0xc($s1) +/* DEEEE4 80240044 8E120000 */ lw $s2, ($s0) +/* DEEEE8 80240048 26100004 */ addiu $s0, $s0, 4 +/* DEEEEC 8024004C 8E050000 */ lw $a1, ($s0) +/* DEEEF0 80240050 0C0B210B */ jal get_float_variable +/* DEEEF4 80240054 26100004 */ addiu $s0, $s0, 4 +/* DEEEF8 80240058 8E050000 */ lw $a1, ($s0) +/* DEEEFC 8024005C 26100004 */ addiu $s0, $s0, 4 +/* DEEF00 80240060 0220202D */ daddu $a0, $s1, $zero +/* DEEF04 80240064 0C0B210B */ jal get_float_variable +/* DEEF08 80240068 46000606 */ mov.s $f24, $f0 +/* DEEF0C 8024006C 8E050000 */ lw $a1, ($s0) +/* DEEF10 80240070 26100004 */ addiu $s0, $s0, 4 +/* DEEF14 80240074 0220202D */ daddu $a0, $s1, $zero +/* DEEF18 80240078 0C0B210B */ jal get_float_variable +/* DEEF1C 8024007C 46000586 */ mov.s $f22, $f0 +/* DEEF20 80240080 0220202D */ daddu $a0, $s1, $zero +/* DEEF24 80240084 8E050000 */ lw $a1, ($s0) +/* DEEF28 80240088 0C0B210B */ jal get_float_variable +/* DEEF2C 8024008C 46000506 */ mov.s $f20, $f0 +/* DEEF30 80240090 4600C306 */ mov.s $f12, $f24 +/* DEEF34 80240094 4406A000 */ mfc1 $a2, $f20 +/* DEEF38 80240098 44070000 */ mfc1 $a3, $f0 +/* DEEF3C 8024009C 0C00A720 */ jal atan2 +/* DEEF40 802400A0 4600B386 */ mov.s $f14, $f22 +/* DEEF44 802400A4 0C00A6C9 */ jal clamp_angle +/* DEEF48 802400A8 46000306 */ mov.s $f12, $f0 +/* DEEF4C 802400AC 0220202D */ daddu $a0, $s1, $zero +/* DEEF50 802400B0 44060000 */ mfc1 $a2, $f0 +/* DEEF54 802400B4 0C0B2190 */ jal set_float_variable +/* DEEF58 802400B8 0240282D */ daddu $a1, $s2, $zero +/* DEEF5C 802400BC 8FBF001C */ lw $ra, 0x1c($sp) +/* DEEF60 802400C0 8FB20018 */ lw $s2, 0x18($sp) +/* DEEF64 802400C4 8FB10014 */ lw $s1, 0x14($sp) +/* DEEF68 802400C8 8FB00010 */ lw $s0, 0x10($sp) +/* DEEF6C 802400CC D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEEF70 802400D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEEF74 802400D4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEEF78 802400D8 24020002 */ addiu $v0, $zero, 2 +/* DEEF7C 802400DC 03E00008 */ jr $ra +/* DEEF80 802400E0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802400E4_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802400E4_DEEEA0.s new file mode 100644 index 0000000000..e3285a0b24 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802400E4_DEEEA0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E4_DEEF84 +/* DEEF84 802400E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DEEF88 802400E8 AFB10014 */ sw $s1, 0x14($sp) +/* DEEF8C 802400EC 0080882D */ daddu $s1, $a0, $zero +/* DEEF90 802400F0 AFBF0018 */ sw $ra, 0x18($sp) +/* DEEF94 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* DEEF98 802400F8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEEF9C 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* DEEFA0 80240100 8E050000 */ lw $a1, ($s0) +/* DEEFA4 80240104 0C0B210B */ jal get_float_variable +/* DEEFA8 80240108 26100004 */ addiu $s0, $s0, 4 +/* DEEFAC 8024010C 8E050000 */ lw $a1, ($s0) +/* DEEFB0 80240110 26100004 */ addiu $s0, $s0, 4 +/* DEEFB4 80240114 0220202D */ daddu $a0, $s1, $zero +/* DEEFB8 80240118 0C0B210B */ jal get_float_variable +/* DEEFBC 8024011C 46000506 */ mov.s $f20, $f0 +/* DEEFC0 80240120 4614003C */ c.lt.s $f0, $f20 +/* DEEFC4 80240124 00000000 */ nop +/* DEEFC8 80240128 45000004 */ bc1f .L8024013C +/* DEEFCC 8024012C 0220202D */ daddu $a0, $s1, $zero +/* DEEFD0 80240130 8E050000 */ lw $a1, ($s0) +/* DEEFD4 80240134 08090051 */ j .L80240144 +/* DEEFD8 80240138 24060001 */ addiu $a2, $zero, 1 +.L8024013C: +/* DEEFDC 8024013C 8E050000 */ lw $a1, ($s0) +/* DEEFE0 80240140 0000302D */ daddu $a2, $zero, $zero +.L80240144: +/* DEEFE4 80240144 0C0B2026 */ jal set_variable +/* DEEFE8 80240148 00000000 */ nop +/* DEEFEC 8024014C 8FBF0018 */ lw $ra, 0x18($sp) +/* DEEFF0 80240150 8FB10014 */ lw $s1, 0x14($sp) +/* DEEFF4 80240154 8FB00010 */ lw $s0, 0x10($sp) +/* DEEFF8 80240158 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEEFFC 8024015C 24020002 */ addiu $v0, $zero, 2 +/* DEF000 80240160 03E00008 */ jr $ra +/* DEF004 80240164 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240168_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240168_DEEEA0.s new file mode 100644 index 0000000000..399e9c2585 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240168_DEEEA0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240168_DEF008 +/* DEF008 80240168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEF00C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* DEF010 80240170 0080902D */ daddu $s2, $a0, $zero +/* DEF014 80240174 AFBF001C */ sw $ra, 0x1c($sp) +/* DEF018 80240178 AFB10014 */ sw $s1, 0x14($sp) +/* DEF01C 8024017C AFB00010 */ sw $s0, 0x10($sp) +/* DEF020 80240180 8E50000C */ lw $s0, 0xc($s2) +/* DEF024 80240184 8E050000 */ lw $a1, ($s0) +/* DEF028 80240188 0C0B1EAF */ jal get_variable +/* DEF02C 8024018C 26100004 */ addiu $s0, $s0, 4 +/* DEF030 80240190 8E050000 */ lw $a1, ($s0) +/* DEF034 80240194 26100004 */ addiu $s0, $s0, 4 +/* DEF038 80240198 0240202D */ daddu $a0, $s2, $zero +/* DEF03C 8024019C 0C0B1EAF */ jal get_variable +/* DEF040 802401A0 0040882D */ daddu $s1, $v0, $zero +/* DEF044 802401A4 0240202D */ daddu $a0, $s2, $zero +/* DEF048 802401A8 8E050000 */ lw $a1, ($s0) +/* DEF04C 802401AC 0C0B1EAF */ jal get_variable +/* DEF050 802401B0 0040802D */ daddu $s0, $v0, $zero +/* DEF054 802401B4 02020018 */ mult $s0, $v0 +/* DEF058 802401B8 24020002 */ addiu $v0, $zero, 2 +/* DEF05C 802401BC 8E430138 */ lw $v1, 0x138($s2) +/* DEF060 802401C0 00003012 */ mflo $a2 +/* DEF064 802401C4 02268821 */ addu $s1, $s1, $a2 +/* DEF068 802401C8 00518804 */ sllv $s1, $s1, $v0 +/* DEF06C 802401CC 00711821 */ addu $v1, $v1, $s1 +/* DEF070 802401D0 AE430138 */ sw $v1, 0x138($s2) +/* DEF074 802401D4 8FBF001C */ lw $ra, 0x1c($sp) +/* DEF078 802401D8 8FB20018 */ lw $s2, 0x18($sp) +/* DEF07C 802401DC 8FB10014 */ lw $s1, 0x14($sp) +/* DEF080 802401E0 8FB00010 */ lw $s0, 0x10($sp) +/* DEF084 802401E4 03E00008 */ jr $ra +/* DEF088 802401E8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802401EC_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802401EC_DEEEA0.s new file mode 100644 index 0000000000..83a0e44d7d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802401EC_DEEEA0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401EC_DEF08C +/* DEF08C 802401EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DEF090 802401F0 AFB10014 */ sw $s1, 0x14($sp) +/* DEF094 802401F4 0080882D */ daddu $s1, $a0, $zero +/* DEF098 802401F8 AFBF0018 */ sw $ra, 0x18($sp) +/* DEF09C 802401FC AFB00010 */ sw $s0, 0x10($sp) +/* DEF0A0 80240200 F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEF0A4 80240204 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEF0A8 80240208 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEF0AC 8024020C 8E30000C */ lw $s0, 0xc($s1) +/* DEF0B0 80240210 8E050000 */ lw $a1, ($s0) +/* DEF0B4 80240214 0C0B210B */ jal get_float_variable +/* DEF0B8 80240218 26100004 */ addiu $s0, $s0, 4 +/* DEF0BC 8024021C 8E050000 */ lw $a1, ($s0) +/* DEF0C0 80240220 26100004 */ addiu $s0, $s0, 4 +/* DEF0C4 80240224 0220202D */ daddu $a0, $s1, $zero +/* DEF0C8 80240228 0C0B210B */ jal get_float_variable +/* DEF0CC 8024022C 46000606 */ mov.s $f24, $f0 +/* DEF0D0 80240230 8E050000 */ lw $a1, ($s0) +/* DEF0D4 80240234 26100004 */ addiu $s0, $s0, 4 +/* DEF0D8 80240238 0220202D */ daddu $a0, $s1, $zero +/* DEF0DC 8024023C 0C0B210B */ jal get_float_variable +/* DEF0E0 80240240 46000586 */ mov.s $f22, $f0 +/* DEF0E4 80240244 0220202D */ daddu $a0, $s1, $zero +/* DEF0E8 80240248 8E050000 */ lw $a1, ($s0) +/* DEF0EC 8024024C 0C0B210B */ jal get_float_variable +/* DEF0F0 80240250 46000506 */ mov.s $f20, $f0 +/* DEF0F4 80240254 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* DEF0F8 80240258 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* DEF0FC 8024025C E4580028 */ swc1 $f24, 0x28($v0) +/* DEF100 80240260 E456002C */ swc1 $f22, 0x2c($v0) +/* DEF104 80240264 E4540030 */ swc1 $f20, 0x30($v0) +/* DEF108 80240268 E4400080 */ swc1 $f0, 0x80($v0) +/* DEF10C 8024026C 8FBF0018 */ lw $ra, 0x18($sp) +/* DEF110 80240270 8FB10014 */ lw $s1, 0x14($sp) +/* DEF114 80240274 8FB00010 */ lw $s0, 0x10($sp) +/* DEF118 80240278 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEF11C 8024027C D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEF120 80240280 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEF124 80240284 24020002 */ addiu $v0, $zero, 2 +/* DEF128 80240288 03E00008 */ jr $ra +/* DEF12C 8024028C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240290_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240290_DEEEA0.s new file mode 100644 index 0000000000..ae71e380ae --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240290_DEEEA0.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_DEF130 +/* DEF130 80240290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DEF134 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* DEF138 80240298 0080882D */ daddu $s1, $a0, $zero +/* DEF13C 8024029C AFBF001C */ sw $ra, 0x1c($sp) +/* DEF140 802402A0 AFB20018 */ sw $s2, 0x18($sp) +/* DEF144 802402A4 AFB00010 */ sw $s0, 0x10($sp) +/* DEF148 802402A8 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* DEF14C 802402AC F7B80030 */ sdc1 $f24, 0x30($sp) +/* DEF150 802402B0 F7B60028 */ sdc1 $f22, 0x28($sp) +/* DEF154 802402B4 F7B40020 */ sdc1 $f20, 0x20($sp) +/* DEF158 802402B8 8E30000C */ lw $s0, 0xc($s1) +/* DEF15C 802402BC 8E050000 */ lw $a1, ($s0) +/* DEF160 802402C0 0C0B1EAF */ jal get_variable +/* DEF164 802402C4 26100004 */ addiu $s0, $s0, 4 +/* DEF168 802402C8 8E050000 */ lw $a1, ($s0) +/* DEF16C 802402CC 26100004 */ addiu $s0, $s0, 4 +/* DEF170 802402D0 0220202D */ daddu $a0, $s1, $zero +/* DEF174 802402D4 0C0B210B */ jal get_float_variable +/* DEF178 802402D8 0040902D */ daddu $s2, $v0, $zero +/* DEF17C 802402DC 8E050000 */ lw $a1, ($s0) +/* DEF180 802402E0 26100004 */ addiu $s0, $s0, 4 +/* DEF184 802402E4 0220202D */ daddu $a0, $s1, $zero +/* DEF188 802402E8 0C0B210B */ jal get_float_variable +/* DEF18C 802402EC 46000686 */ mov.s $f26, $f0 +/* DEF190 802402F0 8E050000 */ lw $a1, ($s0) +/* DEF194 802402F4 26100004 */ addiu $s0, $s0, 4 +/* DEF198 802402F8 0220202D */ daddu $a0, $s1, $zero +/* DEF19C 802402FC 0C0B210B */ jal get_float_variable +/* DEF1A0 80240300 46000606 */ mov.s $f24, $f0 +/* DEF1A4 80240304 0220202D */ daddu $a0, $s1, $zero +/* DEF1A8 80240308 8E050000 */ lw $a1, ($s0) +/* DEF1AC 8024030C 0C0B210B */ jal get_float_variable +/* DEF1B0 80240310 46000506 */ mov.s $f20, $f0 +/* DEF1B4 80240314 0240202D */ daddu $a0, $s2, $zero +/* DEF1B8 80240318 0C00EAD2 */ jal get_npc_safe +/* DEF1BC 8024031C 46000586 */ mov.s $f22, $f0 +/* DEF1C0 80240320 0040202D */ daddu $a0, $v0, $zero +/* DEF1C4 80240324 E49A0038 */ swc1 $f26, 0x38($a0) +/* DEF1C8 80240328 4600D006 */ mov.s $f0, $f26 +/* DEF1CC 8024032C E498003C */ swc1 $f24, 0x3c($a0) +/* DEF1D0 80240330 4600C086 */ mov.s $f2, $f24 +/* DEF1D4 80240334 E4940040 */ swc1 $f20, 0x40($a0) +/* DEF1D8 80240338 4600A106 */ mov.s $f4, $f20 +/* DEF1DC 8024033C 8C830000 */ lw $v1, ($a0) +/* DEF1E0 80240340 3C050001 */ lui $a1, 1 +/* DEF1E4 80240344 E496000C */ swc1 $f22, 0xc($a0) +/* DEF1E8 80240348 E480006C */ swc1 $f0, 0x6c($a0) +/* DEF1EC 8024034C E4820070 */ swc1 $f2, 0x70($a0) +/* DEF1F0 80240350 E4840074 */ swc1 $f4, 0x74($a0) +/* DEF1F4 80240354 00651825 */ or $v1, $v1, $a1 +/* DEF1F8 80240358 AC830000 */ sw $v1, ($a0) +/* DEF1FC 8024035C 8FBF001C */ lw $ra, 0x1c($sp) +/* DEF200 80240360 8FB20018 */ lw $s2, 0x18($sp) +/* DEF204 80240364 8FB10014 */ lw $s1, 0x14($sp) +/* DEF208 80240368 8FB00010 */ lw $s0, 0x10($sp) +/* DEF20C 8024036C D7BA0038 */ ldc1 $f26, 0x38($sp) +/* DEF210 80240370 D7B80030 */ ldc1 $f24, 0x30($sp) +/* DEF214 80240374 D7B60028 */ ldc1 $f22, 0x28($sp) +/* DEF218 80240378 D7B40020 */ ldc1 $f20, 0x20($sp) +/* DEF21C 8024037C 24020002 */ addiu $v0, $zero, 2 +/* DEF220 80240380 03E00008 */ jr $ra +/* DEF224 80240384 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240388_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240388_DEEEA0.s new file mode 100644 index 0000000000..0cc9f85d87 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240388_DEEEA0.s @@ -0,0 +1,105 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240388_DEF228 +/* DEF228 80240388 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* DEF22C 8024038C AFB20018 */ sw $s2, 0x18($sp) +/* DEF230 80240390 0080902D */ daddu $s2, $a0, $zero +/* DEF234 80240394 AFBF0028 */ sw $ra, 0x28($sp) +/* DEF238 80240398 AFB50024 */ sw $s5, 0x24($sp) +/* DEF23C 8024039C AFB40020 */ sw $s4, 0x20($sp) +/* DEF240 802403A0 AFB3001C */ sw $s3, 0x1c($sp) +/* DEF244 802403A4 AFB10014 */ sw $s1, 0x14($sp) +/* DEF248 802403A8 AFB00010 */ sw $s0, 0x10($sp) +/* DEF24C 802403AC F7B80040 */ sdc1 $f24, 0x40($sp) +/* DEF250 802403B0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* DEF254 802403B4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* DEF258 802403B8 8E50000C */ lw $s0, 0xc($s2) +/* DEF25C 802403BC 8E140000 */ lw $s4, ($s0) +/* DEF260 802403C0 26100004 */ addiu $s0, $s0, 4 +/* DEF264 802403C4 0C0B1EAF */ jal get_variable +/* DEF268 802403C8 0280282D */ daddu $a1, $s4, $zero +/* DEF26C 802403CC 0040982D */ daddu $s3, $v0, $zero +/* DEF270 802403D0 8E150000 */ lw $s5, ($s0) +/* DEF274 802403D4 26100004 */ addiu $s0, $s0, 4 +/* DEF278 802403D8 8E050000 */ lw $a1, ($s0) +/* DEF27C 802403DC 26100004 */ addiu $s0, $s0, 4 +/* DEF280 802403E0 0C0B210B */ jal get_float_variable +/* DEF284 802403E4 0240202D */ daddu $a0, $s2, $zero +/* DEF288 802403E8 8E050000 */ lw $a1, ($s0) +/* DEF28C 802403EC 26100004 */ addiu $s0, $s0, 4 +/* DEF290 802403F0 0240202D */ daddu $a0, $s2, $zero +/* DEF294 802403F4 0C0B210B */ jal get_float_variable +/* DEF298 802403F8 46000606 */ mov.s $f24, $f0 +/* DEF29C 802403FC 8E050000 */ lw $a1, ($s0) +/* DEF2A0 80240400 26100004 */ addiu $s0, $s0, 4 +/* DEF2A4 80240404 0240202D */ daddu $a0, $s2, $zero +/* DEF2A8 80240408 0C0B1EAF */ jal get_variable +/* DEF2AC 8024040C 46000506 */ mov.s $f20, $f0 +/* DEF2B0 80240410 8E050000 */ lw $a1, ($s0) +/* DEF2B4 80240414 26100004 */ addiu $s0, $s0, 4 +/* DEF2B8 80240418 0240202D */ daddu $a0, $s2, $zero +/* DEF2BC 8024041C 0C0B1EAF */ jal get_variable +/* DEF2C0 80240420 0040882D */ daddu $s1, $v0, $zero +/* DEF2C4 80240424 0240202D */ daddu $a0, $s2, $zero +/* DEF2C8 80240428 8E050000 */ lw $a1, ($s0) +/* DEF2CC 8024042C 0C0B210B */ jal get_float_variable +/* DEF2D0 80240430 0040802D */ daddu $s0, $v0, $zero +/* DEF2D4 80240434 3C014334 */ lui $at, 0x4334 +/* DEF2D8 80240438 44811000 */ mtc1 $at, $f2 +/* DEF2DC 8024043C 3C014049 */ lui $at, 0x4049 +/* DEF2E0 80240440 34210FD8 */ ori $at, $at, 0xfd8 +/* DEF2E4 80240444 44812000 */ mtc1 $at, $f4 +/* DEF2E8 80240448 46020003 */ div.s $f0, $f0, $f2 +/* DEF2EC 8024044C 46040582 */ mul.s $f22, $f0, $f4 +/* DEF2F0 80240450 00000000 */ nop +/* DEF2F4 80240454 4618A501 */ sub.s $f20, $f20, $f24 +/* DEF2F8 80240458 3C013F00 */ lui $at, 0x3f00 +/* DEF2FC 8024045C 44810000 */ mtc1 $at, $f0 +/* DEF300 80240460 00000000 */ nop +/* DEF304 80240464 4600A502 */ mul.s $f20, $f20, $f0 +/* DEF308 80240468 00000000 */ nop +/* DEF30C 8024046C 12000007 */ beqz $s0, .L8024048C +/* DEF310 80240470 0233102A */ slt $v0, $s1, $s3 +/* DEF314 80240474 10400005 */ beqz $v0, .L8024048C +/* DEF318 80240478 0240202D */ daddu $a0, $s2, $zero +/* DEF31C 8024047C 0220982D */ daddu $s3, $s1, $zero +/* DEF320 80240480 0280282D */ daddu $a1, $s4, $zero +/* DEF324 80240484 0C0B2026 */ jal set_variable +/* DEF328 80240488 0220302D */ daddu $a2, $s1, $zero +.L8024048C: +/* DEF32C 8024048C 3C014049 */ lui $at, 0x4049 +/* DEF330 80240490 34210FD8 */ ori $at, $at, 0xfd8 +/* DEF334 80240494 44810000 */ mtc1 $at, $f0 +/* DEF338 80240498 44936000 */ mtc1 $s3, $f12 +/* DEF33C 8024049C 00000000 */ nop +/* DEF340 802404A0 46806320 */ cvt.s.w $f12, $f12 +/* DEF344 802404A4 46006302 */ mul.s $f12, $f12, $f0 +/* DEF348 802404A8 00000000 */ nop +/* DEF34C 802404AC 44910000 */ mtc1 $s1, $f0 +/* DEF350 802404B0 00000000 */ nop +/* DEF354 802404B4 46800020 */ cvt.s.w $f0, $f0 +/* DEF358 802404B8 46006303 */ div.s $f12, $f12, $f0 +/* DEF35C 802404BC 0C00A874 */ jal cos_rad +/* DEF360 802404C0 46166300 */ add.s $f12, $f12, $f22 +/* DEF364 802404C4 4600A002 */ mul.s $f0, $f20, $f0 +/* DEF368 802404C8 00000000 */ nop +/* DEF36C 802404CC 4614C080 */ add.s $f2, $f24, $f20 +/* DEF370 802404D0 46001081 */ sub.s $f2, $f2, $f0 +/* DEF374 802404D4 0240202D */ daddu $a0, $s2, $zero +/* DEF378 802404D8 44061000 */ mfc1 $a2, $f2 +/* DEF37C 802404DC 0C0B2190 */ jal set_float_variable +/* DEF380 802404E0 02A0282D */ daddu $a1, $s5, $zero +/* DEF384 802404E4 8FBF0028 */ lw $ra, 0x28($sp) +/* DEF388 802404E8 8FB50024 */ lw $s5, 0x24($sp) +/* DEF38C 802404EC 8FB40020 */ lw $s4, 0x20($sp) +/* DEF390 802404F0 8FB3001C */ lw $s3, 0x1c($sp) +/* DEF394 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* DEF398 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* DEF39C 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* DEF3A0 80240500 D7B80040 */ ldc1 $f24, 0x40($sp) +/* DEF3A4 80240504 D7B60038 */ ldc1 $f22, 0x38($sp) +/* DEF3A8 80240508 D7B40030 */ ldc1 $f20, 0x30($sp) +/* DEF3AC 8024050C 24020002 */ addiu $v0, $zero, 2 +/* DEF3B0 80240510 03E00008 */ jr $ra +/* DEF3B4 80240514 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240518_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240518_DEEEA0.s new file mode 100644 index 0000000000..d2f2b60bc7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240518_DEEEA0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240518_DEF3B8 +/* DEF3B8 80240518 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* DEF3BC 8024051C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr) +/* DEF3C0 80240520 8C620000 */ lw $v0, ($v1) +/* DEF3C4 80240524 AC800084 */ sw $zero, 0x84($a0) +/* DEF3C8 80240528 8C420010 */ lw $v0, 0x10($v0) +/* DEF3CC 8024052C 30428000 */ andi $v0, $v0, 0x8000 +/* DEF3D0 80240530 10400002 */ beqz $v0, .L8024053C +/* DEF3D4 80240534 24020001 */ addiu $v0, $zero, 1 +/* DEF3D8 80240538 AC820084 */ sw $v0, 0x84($a0) +.L8024053C: +/* DEF3DC 8024053C 8C620000 */ lw $v0, ($v1) +/* DEF3E0 80240540 8C420010 */ lw $v0, 0x10($v0) +/* DEF3E4 80240544 30424000 */ andi $v0, $v0, 0x4000 +/* DEF3E8 80240548 10400002 */ beqz $v0, .L80240554 +/* DEF3EC 8024054C 24020001 */ addiu $v0, $zero, 1 +/* DEF3F0 80240550 AC820084 */ sw $v0, 0x84($a0) +.L80240554: +/* DEF3F4 80240554 03E00008 */ jr $ra +/* DEF3F8 80240558 24020002 */ addiu $v0, $zero, 2 +/* DEF3FC 8024055C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240560_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240560_DEEEA0.s new file mode 100644 index 0000000000..ebb44522bd --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240560_DEEEA0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240560_DEF400 +/* DEF400 80240560 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEF404 80240564 AFB10014 */ sw $s1, 0x14($sp) +/* DEF408 80240568 0080882D */ daddu $s1, $a0, $zero +/* DEF40C 8024056C AFBF0018 */ sw $ra, 0x18($sp) +/* DEF410 80240570 AFB00010 */ sw $s0, 0x10($sp) +/* DEF414 80240574 8E300148 */ lw $s0, 0x148($s1) +/* DEF418 80240578 0C00EABB */ jal get_npc_unsafe +/* DEF41C 8024057C 86040008 */ lh $a0, 8($s0) +/* DEF420 80240580 C4400018 */ lwc1 $f0, 0x18($v0) +/* DEF424 80240584 3C018024 */ lui $at, 0x8024 +/* DEF428 80240588 D4227610 */ ldc1 $f2, 0x7610($at) +/* DEF42C 8024058C 46000021 */ cvt.d.s $f0, $f0 +/* DEF430 80240590 46220002 */ mul.d $f0, $f0, $f2 +/* DEF434 80240594 00000000 */ nop +/* DEF438 80240598 46200020 */ cvt.s.d $f0, $f0 +/* DEF43C 8024059C E4400018 */ swc1 $f0, 0x18($v0) +/* DEF440 802405A0 8E0300CC */ lw $v1, 0xcc($s0) +/* DEF444 802405A4 8C640030 */ lw $a0, 0x30($v1) +/* DEF448 802405A8 24030005 */ addiu $v1, $zero, 5 +/* DEF44C 802405AC A443008E */ sh $v1, 0x8e($v0) +/* DEF450 802405B0 AC440028 */ sw $a0, 0x28($v0) +/* DEF454 802405B4 2402000F */ addiu $v0, $zero, 0xf +/* DEF458 802405B8 AE220070 */ sw $v0, 0x70($s1) +/* DEF45C 802405BC 8FBF0018 */ lw $ra, 0x18($sp) +/* DEF460 802405C0 8FB10014 */ lw $s1, 0x14($sp) +/* DEF464 802405C4 8FB00010 */ lw $s0, 0x10($sp) +/* DEF468 802405C8 03E00008 */ jr $ra +/* DEF46C 802405CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802405D0_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802405D0_DEEEA0.s new file mode 100644 index 0000000000..00e73dc128 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802405D0_DEEEA0.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0_DEF470 +/* DEF470 802405D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DEF474 802405D4 AFB20028 */ sw $s2, 0x28($sp) +/* DEF478 802405D8 0080902D */ daddu $s2, $a0, $zero +/* DEF47C 802405DC AFBF002C */ sw $ra, 0x2c($sp) +/* DEF480 802405E0 AFB10024 */ sw $s1, 0x24($sp) +/* DEF484 802405E4 AFB00020 */ sw $s0, 0x20($sp) +/* DEF488 802405E8 8E510148 */ lw $s1, 0x148($s2) +/* DEF48C 802405EC 0C00EABB */ jal get_npc_unsafe +/* DEF490 802405F0 86240008 */ lh $a0, 8($s1) +/* DEF494 802405F4 0040802D */ daddu $s0, $v0, $zero +/* DEF498 802405F8 0200202D */ daddu $a0, $s0, $zero +/* DEF49C 802405FC C600000C */ lwc1 $f0, 0xc($s0) +/* DEF4A0 80240600 27A60018 */ addiu $a2, $sp, 0x18 +/* DEF4A4 80240604 E7A00018 */ swc1 $f0, 0x18($sp) +/* DEF4A8 80240608 AFA00010 */ sw $zero, 0x10($sp) +/* DEF4AC 8024060C AFA00014 */ sw $zero, 0x14($sp) +/* DEF4B0 80240610 8E050018 */ lw $a1, 0x18($s0) +/* DEF4B4 80240614 0C0129E1 */ jal func_8004A784 +/* DEF4B8 80240618 0000382D */ daddu $a3, $zero, $zero +/* DEF4BC 8024061C 14400005 */ bnez $v0, .L80240634 +/* DEF4C0 80240620 00000000 */ nop +/* DEF4C4 80240624 8E050018 */ lw $a1, 0x18($s0) +/* DEF4C8 80240628 8E06000C */ lw $a2, 0xc($s0) +/* DEF4CC 8024062C 0C00EA95 */ jal npc_move_heading +/* DEF4D0 80240630 0200202D */ daddu $a0, $s0, $zero +.L80240634: +/* DEF4D4 80240634 9602008E */ lhu $v0, 0x8e($s0) +/* DEF4D8 80240638 2442FFFF */ addiu $v0, $v0, -1 +/* DEF4DC 8024063C A602008E */ sh $v0, 0x8e($s0) +/* DEF4E0 80240640 00021400 */ sll $v0, $v0, 0x10 +/* DEF4E4 80240644 14400010 */ bnez $v0, .L80240688 +/* DEF4E8 80240648 00000000 */ nop +/* DEF4EC 8024064C C6000018 */ lwc1 $f0, 0x18($s0) +/* DEF4F0 80240650 3C018024 */ lui $at, 0x8024 +/* DEF4F4 80240654 D4227618 */ ldc1 $f2, 0x7618($at) +/* DEF4F8 80240658 46000021 */ cvt.d.s $f0, $f0 +/* DEF4FC 8024065C 46220002 */ mul.d $f0, $f0, $f2 +/* DEF500 80240660 00000000 */ nop +/* DEF504 80240664 46200020 */ cvt.s.d $f0, $f0 +/* DEF508 80240668 E6000018 */ swc1 $f0, 0x18($s0) +/* DEF50C 8024066C 8E2200CC */ lw $v0, 0xcc($s1) +/* DEF510 80240670 8C43002C */ lw $v1, 0x2c($v0) +/* DEF514 80240674 2402000A */ addiu $v0, $zero, 0xa +/* DEF518 80240678 A602008E */ sh $v0, 0x8e($s0) +/* DEF51C 8024067C 24020010 */ addiu $v0, $zero, 0x10 +/* DEF520 80240680 AE030028 */ sw $v1, 0x28($s0) +/* DEF524 80240684 AE420070 */ sw $v0, 0x70($s2) +.L80240688: +/* DEF528 80240688 8FBF002C */ lw $ra, 0x2c($sp) +/* DEF52C 8024068C 8FB20028 */ lw $s2, 0x28($sp) +/* DEF530 80240690 8FB10024 */ lw $s1, 0x24($sp) +/* DEF534 80240694 8FB00020 */ lw $s0, 0x20($sp) +/* DEF538 80240698 03E00008 */ jr $ra +/* DEF53C 8024069C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802406A0_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802406A0_DEEEA0.s new file mode 100644 index 0000000000..f58e98c8cc --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802406A0_DEEEA0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A0_DEF540 +/* DEF540 802406A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DEF544 802406A4 AFB10024 */ sw $s1, 0x24($sp) +/* DEF548 802406A8 0080882D */ daddu $s1, $a0, $zero +/* DEF54C 802406AC AFBF0028 */ sw $ra, 0x28($sp) +/* DEF550 802406B0 AFB00020 */ sw $s0, 0x20($sp) +/* DEF554 802406B4 8E220148 */ lw $v0, 0x148($s1) +/* DEF558 802406B8 0C00EABB */ jal get_npc_unsafe +/* DEF55C 802406BC 84440008 */ lh $a0, 8($v0) +/* DEF560 802406C0 0040802D */ daddu $s0, $v0, $zero +/* DEF564 802406C4 0200202D */ daddu $a0, $s0, $zero +/* DEF568 802406C8 C600000C */ lwc1 $f0, 0xc($s0) +/* DEF56C 802406CC 27A60018 */ addiu $a2, $sp, 0x18 +/* DEF570 802406D0 E7A00018 */ swc1 $f0, 0x18($sp) +/* DEF574 802406D4 AFA00010 */ sw $zero, 0x10($sp) +/* DEF578 802406D8 AFA00014 */ sw $zero, 0x14($sp) +/* DEF57C 802406DC 8E050018 */ lw $a1, 0x18($s0) +/* DEF580 802406E0 0C0129E1 */ jal func_8004A784 +/* DEF584 802406E4 0000382D */ daddu $a3, $zero, $zero +/* DEF588 802406E8 14400005 */ bnez $v0, .L80240700 +/* DEF58C 802406EC 00000000 */ nop +/* DEF590 802406F0 8E050018 */ lw $a1, 0x18($s0) +/* DEF594 802406F4 8E06000C */ lw $a2, 0xc($s0) +/* DEF598 802406F8 0C00EA95 */ jal npc_move_heading +/* DEF59C 802406FC 0200202D */ daddu $a0, $s0, $zero +.L80240700: +/* DEF5A0 80240700 9602008E */ lhu $v0, 0x8e($s0) +/* DEF5A4 80240704 2442FFFF */ addiu $v0, $v0, -1 +/* DEF5A8 80240708 A602008E */ sh $v0, 0x8e($s0) +/* DEF5AC 8024070C 00021400 */ sll $v0, $v0, 0x10 +/* DEF5B0 80240710 14400004 */ bnez $v0, .L80240724 +/* DEF5B4 80240714 2402001E */ addiu $v0, $zero, 0x1e +/* DEF5B8 80240718 A602008E */ sh $v0, 0x8e($s0) +/* DEF5BC 8024071C 24020011 */ addiu $v0, $zero, 0x11 +/* DEF5C0 80240720 AE220070 */ sw $v0, 0x70($s1) +.L80240724: +/* DEF5C4 80240724 8FBF0028 */ lw $ra, 0x28($sp) +/* DEF5C8 80240728 8FB10024 */ lw $s1, 0x24($sp) +/* DEF5CC 8024072C 8FB00020 */ lw $s0, 0x20($sp) +/* DEF5D0 80240730 03E00008 */ jr $ra +/* DEF5D4 80240734 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240738_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240738_DEEEA0.s new file mode 100644 index 0000000000..4ced21c61f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240738_DEEEA0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240738_DEF5D8 +/* DEF5D8 80240738 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEF5DC 8024073C AFB10014 */ sw $s1, 0x14($sp) +/* DEF5E0 80240740 0080882D */ daddu $s1, $a0, $zero +/* DEF5E4 80240744 AFBF0018 */ sw $ra, 0x18($sp) +/* DEF5E8 80240748 AFB00010 */ sw $s0, 0x10($sp) +/* DEF5EC 8024074C 8E300148 */ lw $s0, 0x148($s1) +/* DEF5F0 80240750 0C00EABB */ jal get_npc_unsafe +/* DEF5F4 80240754 86040008 */ lh $a0, 8($s0) +/* DEF5F8 80240758 0040182D */ daddu $v1, $v0, $zero +/* DEF5FC 8024075C 9462008E */ lhu $v0, 0x8e($v1) +/* DEF600 80240760 2442FFFF */ addiu $v0, $v0, -1 +/* DEF604 80240764 A462008E */ sh $v0, 0x8e($v1) +/* DEF608 80240768 00021400 */ sll $v0, $v0, 0x10 +/* DEF60C 8024076C 14400005 */ bnez $v0, .L80240784 +/* DEF610 80240770 00000000 */ nop +/* DEF614 80240774 8E0200CC */ lw $v0, 0xcc($s0) +/* DEF618 80240778 8C420000 */ lw $v0, ($v0) +/* DEF61C 8024077C AC620028 */ sw $v0, 0x28($v1) +/* DEF620 80240780 AE200070 */ sw $zero, 0x70($s1) +.L80240784: +/* DEF624 80240784 8FBF0018 */ lw $ra, 0x18($sp) +/* DEF628 80240788 8FB10014 */ lw $s1, 0x14($sp) +/* DEF62C 8024078C 8FB00010 */ lw $s0, 0x10($sp) +/* DEF630 80240790 03E00008 */ jr $ra +/* DEF634 80240794 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240798_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240798_DEEEA0.s new file mode 100644 index 0000000000..9059cae0af --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240798_DEEEA0.s @@ -0,0 +1,216 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240798_DEF638 +/* DEF638 80240798 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DEF63C 8024079C AFB30054 */ sw $s3, 0x54($sp) +/* DEF640 802407A0 0080982D */ daddu $s3, $a0, $zero +/* DEF644 802407A4 AFBF0060 */ sw $ra, 0x60($sp) +/* DEF648 802407A8 AFB5005C */ sw $s5, 0x5c($sp) +/* DEF64C 802407AC AFB40058 */ sw $s4, 0x58($sp) +/* DEF650 802407B0 AFB20050 */ sw $s2, 0x50($sp) +/* DEF654 802407B4 AFB1004C */ sw $s1, 0x4c($sp) +/* DEF658 802407B8 AFB00048 */ sw $s0, 0x48($sp) +/* DEF65C 802407BC 8E710148 */ lw $s1, 0x148($s3) +/* DEF660 802407C0 86240008 */ lh $a0, 8($s1) +/* DEF664 802407C4 0C00EABB */ jal get_npc_unsafe +/* DEF668 802407C8 00A0802D */ daddu $s0, $a1, $zero +/* DEF66C 802407CC 8E63000C */ lw $v1, 0xc($s3) +/* DEF670 802407D0 0260202D */ daddu $a0, $s3, $zero +/* DEF674 802407D4 8C650000 */ lw $a1, ($v1) +/* DEF678 802407D8 0C0B1EAF */ jal get_variable +/* DEF67C 802407DC 0040902D */ daddu $s2, $v0, $zero +/* DEF680 802407E0 AFA00018 */ sw $zero, 0x18($sp) +/* DEF684 802407E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEF688 802407E8 8C630030 */ lw $v1, 0x30($v1) +/* DEF68C 802407EC AFA3001C */ sw $v1, 0x1c($sp) +/* DEF690 802407F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEF694 802407F4 8C63001C */ lw $v1, 0x1c($v1) +/* DEF698 802407F8 AFA30020 */ sw $v1, 0x20($sp) +/* DEF69C 802407FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEF6A0 80240800 8C630024 */ lw $v1, 0x24($v1) +/* DEF6A4 80240804 AFA30024 */ sw $v1, 0x24($sp) +/* DEF6A8 80240808 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEF6AC 8024080C 8C630028 */ lw $v1, 0x28($v1) +/* DEF6B0 80240810 27B50018 */ addiu $s5, $sp, 0x18 +/* DEF6B4 80240814 AFA30028 */ sw $v1, 0x28($sp) +/* DEF6B8 80240818 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEF6BC 8024081C 3C014282 */ lui $at, 0x4282 +/* DEF6C0 80240820 44810000 */ mtc1 $at, $f0 +/* DEF6C4 80240824 8C63002C */ lw $v1, 0x2c($v1) +/* DEF6C8 80240828 0040A02D */ daddu $s4, $v0, $zero +/* DEF6CC 8024082C E7A00030 */ swc1 $f0, 0x30($sp) +/* DEF6D0 80240830 A7A00034 */ sh $zero, 0x34($sp) +/* DEF6D4 80240834 16000005 */ bnez $s0, .L8024084C +/* DEF6D8 80240838 AFA3002C */ sw $v1, 0x2c($sp) +/* DEF6DC 8024083C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEF6E0 80240840 30420004 */ andi $v0, $v0, 4 +/* DEF6E4 80240844 10400044 */ beqz $v0, .L80240958 +/* DEF6E8 80240848 00000000 */ nop +.L8024084C: +/* DEF6EC 8024084C 2404F7FF */ addiu $a0, $zero, -0x801 +/* DEF6F0 80240850 AE600070 */ sw $zero, 0x70($s3) +/* DEF6F4 80240854 A640008E */ sh $zero, 0x8e($s2) +/* DEF6F8 80240858 8E2200CC */ lw $v0, 0xcc($s1) +/* DEF6FC 8024085C 8E430000 */ lw $v1, ($s2) +/* DEF700 80240860 8C420000 */ lw $v0, ($v0) +/* DEF704 80240864 00641824 */ and $v1, $v1, $a0 +/* DEF708 80240868 AE430000 */ sw $v1, ($s2) +/* DEF70C 8024086C AE420028 */ sw $v0, 0x28($s2) +/* DEF710 80240870 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEF714 80240874 8C420034 */ lw $v0, 0x34($v0) +/* DEF718 80240878 54400005 */ bnel $v0, $zero, .L80240890 +/* DEF71C 8024087C 2402FDFF */ addiu $v0, $zero, -0x201 +/* DEF720 80240880 34620200 */ ori $v0, $v1, 0x200 +/* DEF724 80240884 2403FFF7 */ addiu $v1, $zero, -9 +/* DEF728 80240888 08090226 */ j .L80240898 +/* DEF72C 8024088C 00431024 */ and $v0, $v0, $v1 +.L80240890: +/* DEF730 80240890 00621024 */ and $v0, $v1, $v0 +/* DEF734 80240894 34420008 */ ori $v0, $v0, 8 +.L80240898: +/* DEF738 80240898 AE420000 */ sw $v0, ($s2) +/* DEF73C 8024089C 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEF740 802408A0 30420004 */ andi $v0, $v0, 4 +/* DEF744 802408A4 10400004 */ beqz $v0, .L802408B8 +/* DEF748 802408A8 24020063 */ addiu $v0, $zero, 0x63 +/* DEF74C 802408AC AE620070 */ sw $v0, 0x70($s3) +/* DEF750 802408B0 08090234 */ j .L802408D0 +/* DEF754 802408B4 AE600074 */ sw $zero, 0x74($s3) +.L802408B8: +/* DEF758 802408B8 8E220000 */ lw $v0, ($s1) +/* DEF75C 802408BC 3C034000 */ lui $v1, 0x4000 +/* DEF760 802408C0 00431024 */ and $v0, $v0, $v1 +/* DEF764 802408C4 10400002 */ beqz $v0, .L802408D0 +/* DEF768 802408C8 2402000C */ addiu $v0, $zero, 0xc +/* DEF76C 802408CC AE620070 */ sw $v0, 0x70($s3) +.L802408D0: +/* DEF770 802408D0 3C06BFFF */ lui $a2, 0xbfff +/* DEF774 802408D4 34C6FFFF */ ori $a2, $a2, 0xffff +/* DEF778 802408D8 27A50038 */ addiu $a1, $sp, 0x38 +/* DEF77C 802408DC 2404FFFB */ addiu $a0, $zero, -5 +/* DEF780 802408E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEF784 802408E4 8E230000 */ lw $v1, ($s1) +/* DEF788 802408E8 3C0142C8 */ lui $at, 0x42c8 +/* DEF78C 802408EC 44810000 */ mtc1 $at, $f0 +/* DEF790 802408F0 00441024 */ and $v0, $v0, $a0 +/* DEF794 802408F4 00661824 */ and $v1, $v1, $a2 +/* DEF798 802408F8 AE2200B0 */ sw $v0, 0xb0($s1) +/* DEF79C 802408FC AE230000 */ sw $v1, ($s1) +/* DEF7A0 80240900 864200A8 */ lh $v0, 0xa8($s2) +/* DEF7A4 80240904 27A70040 */ addiu $a3, $sp, 0x40 +/* DEF7A8 80240908 E7A00044 */ swc1 $f0, 0x44($sp) +/* DEF7AC 8024090C C6460038 */ lwc1 $f6, 0x38($s2) +/* DEF7B0 80240910 C640003C */ lwc1 $f0, 0x3c($s2) +/* DEF7B4 80240914 C6420040 */ lwc1 $f2, 0x40($s2) +/* DEF7B8 80240918 44822000 */ mtc1 $v0, $f4 +/* DEF7BC 8024091C 00000000 */ nop +/* DEF7C0 80240920 46802120 */ cvt.s.w $f4, $f4 +/* DEF7C4 80240924 27A20044 */ addiu $v0, $sp, 0x44 +/* DEF7C8 80240928 46040000 */ add.s $f0, $f0, $f4 +/* DEF7CC 8024092C E7A60038 */ swc1 $f6, 0x38($sp) +/* DEF7D0 80240930 E7A20040 */ swc1 $f2, 0x40($sp) +/* DEF7D4 80240934 E7A0003C */ swc1 $f0, 0x3c($sp) +/* DEF7D8 80240938 AFA20010 */ sw $v0, 0x10($sp) +/* DEF7DC 8024093C 8E440080 */ lw $a0, 0x80($s2) +/* DEF7E0 80240940 0C0372DF */ jal func_800DCB7C +/* DEF7E4 80240944 27A6003C */ addiu $a2, $sp, 0x3c +/* DEF7E8 80240948 10400003 */ beqz $v0, .L80240958 +/* DEF7EC 8024094C 00000000 */ nop +/* DEF7F0 80240950 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DEF7F4 80240954 E640003C */ swc1 $f0, 0x3c($s2) +.L80240958: +/* DEF7F8 80240958 8E630070 */ lw $v1, 0x70($s3) +/* DEF7FC 8024095C 2C620064 */ sltiu $v0, $v1, 0x64 +/* DEF800 80240960 10400050 */ beqz $v0, .L80240AA4 +/* DEF804 80240964 00031080 */ sll $v0, $v1, 2 +/* DEF808 80240968 3C018024 */ lui $at, 0x8024 +/* DEF80C 8024096C 00220821 */ addu $at, $at, $v0 +/* DEF810 80240970 8C227620 */ lw $v0, 0x7620($at) +/* DEF814 80240974 00400008 */ jr $v0 +/* DEF818 80240978 00000000 */ nop +/* DEF81C 8024097C 0260202D */ daddu $a0, $s3, $zero +/* DEF820 80240980 0280282D */ daddu $a1, $s4, $zero +/* DEF824 80240984 0C012568 */ jal func_800495A0 +/* DEF828 80240988 02A0302D */ daddu $a2, $s5, $zero +/* DEF82C 8024098C 0260202D */ daddu $a0, $s3, $zero +/* DEF830 80240990 0280282D */ daddu $a1, $s4, $zero +/* DEF834 80240994 0C0125AE */ jal func_800496B8 +/* DEF838 80240998 02A0302D */ daddu $a2, $s5, $zero +/* DEF83C 8024099C 080902A9 */ j .L80240AA4 +/* DEF840 802409A0 00000000 */ nop +/* DEF844 802409A4 0260202D */ daddu $a0, $s3, $zero +/* DEF848 802409A8 0280282D */ daddu $a1, $s4, $zero +/* DEF84C 802409AC 0C0126D1 */ jal func_80049B44 +/* DEF850 802409B0 02A0302D */ daddu $a2, $s5, $zero +/* DEF854 802409B4 0260202D */ daddu $a0, $s3, $zero +/* DEF858 802409B8 0280282D */ daddu $a1, $s4, $zero +/* DEF85C 802409BC 0C012701 */ jal func_80049C04 +/* DEF860 802409C0 02A0302D */ daddu $a2, $s5, $zero +/* DEF864 802409C4 080902A9 */ j .L80240AA4 +/* DEF868 802409C8 00000000 */ nop +/* DEF86C 802409CC 0260202D */ daddu $a0, $s3, $zero +/* DEF870 802409D0 0280282D */ daddu $a1, $s4, $zero +/* DEF874 802409D4 0C01278F */ jal func_80049E3C +/* DEF878 802409D8 02A0302D */ daddu $a2, $s5, $zero +/* DEF87C 802409DC 0260202D */ daddu $a0, $s3, $zero +/* DEF880 802409E0 0280282D */ daddu $a1, $s4, $zero +/* DEF884 802409E4 0C0127B3 */ jal func_80049ECC +/* DEF888 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* DEF88C 802409EC 080902A9 */ j .L80240AA4 +/* DEF890 802409F0 00000000 */ nop +/* DEF894 802409F4 0260202D */ daddu $a0, $s3, $zero +/* DEF898 802409F8 0280282D */ daddu $a1, $s4, $zero +/* DEF89C 802409FC 0C0127DF */ jal func_80049F7C +/* DEF8A0 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* DEF8A4 80240A04 0260202D */ daddu $a0, $s3, $zero +/* DEF8A8 80240A08 0280282D */ daddu $a1, $s4, $zero +/* DEF8AC 80240A0C 0C012849 */ jal func_8004A124 +/* DEF8B0 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* DEF8B4 80240A14 8E630070 */ lw $v1, 0x70($s3) +/* DEF8B8 80240A18 2402000E */ addiu $v0, $zero, 0xe +/* DEF8BC 80240A1C 14620021 */ bne $v1, $v0, .L80240AA4 +/* DEF8C0 80240A20 00000000 */ nop +/* DEF8C4 80240A24 0260202D */ daddu $a0, $s3, $zero +/* DEF8C8 80240A28 0280282D */ daddu $a1, $s4, $zero +/* DEF8CC 80240A2C 0C090158 */ jal func_80240560 +/* DEF8D0 80240A30 02A0302D */ daddu $a2, $s5, $zero +/* DEF8D4 80240A34 8E630070 */ lw $v1, 0x70($s3) +/* DEF8D8 80240A38 2402000F */ addiu $v0, $zero, 0xf +/* DEF8DC 80240A3C 14620019 */ bne $v1, $v0, .L80240AA4 +/* DEF8E0 80240A40 00000000 */ nop +/* DEF8E4 80240A44 0260202D */ daddu $a0, $s3, $zero +/* DEF8E8 80240A48 0280282D */ daddu $a1, $s4, $zero +/* DEF8EC 80240A4C 0C090174 */ jal func_802405D0 +/* DEF8F0 80240A50 02A0302D */ daddu $a2, $s5, $zero +/* DEF8F4 80240A54 8E630070 */ lw $v1, 0x70($s3) +/* DEF8F8 80240A58 24020010 */ addiu $v0, $zero, 0x10 +/* DEF8FC 80240A5C 14620011 */ bne $v1, $v0, .L80240AA4 +/* DEF900 80240A60 00000000 */ nop +/* DEF904 80240A64 0260202D */ daddu $a0, $s3, $zero +/* DEF908 80240A68 0280282D */ daddu $a1, $s4, $zero +/* DEF90C 80240A6C 0C0901A8 */ jal func_802406A0 +/* DEF910 80240A70 02A0302D */ daddu $a2, $s5, $zero +/* DEF914 80240A74 8E630070 */ lw $v1, 0x70($s3) +/* DEF918 80240A78 24020011 */ addiu $v0, $zero, 0x11 +/* DEF91C 80240A7C 14620009 */ bne $v1, $v0, .L80240AA4 +/* DEF920 80240A80 00000000 */ nop +/* DEF924 80240A84 0260202D */ daddu $a0, $s3, $zero +/* DEF928 80240A88 0280282D */ daddu $a1, $s4, $zero +/* DEF92C 80240A8C 0C0901CE */ jal func_80240738 +/* DEF930 80240A90 02A0302D */ daddu $a2, $s5, $zero +/* DEF934 80240A94 080902A9 */ j .L80240AA4 +/* DEF938 80240A98 00000000 */ nop +/* DEF93C 80240A9C 0C0129CF */ jal func_8004A73C +/* DEF940 80240AA0 0260202D */ daddu $a0, $s3, $zero +.L80240AA4: +/* DEF944 80240AA4 8FBF0060 */ lw $ra, 0x60($sp) +/* DEF948 80240AA8 8FB5005C */ lw $s5, 0x5c($sp) +/* DEF94C 80240AAC 8FB40058 */ lw $s4, 0x58($sp) +/* DEF950 80240AB0 8FB30054 */ lw $s3, 0x54($sp) +/* DEF954 80240AB4 8FB20050 */ lw $s2, 0x50($sp) +/* DEF958 80240AB8 8FB1004C */ lw $s1, 0x4c($sp) +/* DEF95C 80240ABC 8FB00048 */ lw $s0, 0x48($sp) +/* DEF960 80240AC0 0000102D */ daddu $v0, $zero, $zero +/* DEF964 80240AC4 03E00008 */ jr $ra +/* DEF968 80240AC8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240ACC_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240ACC_DEEEA0.s new file mode 100644 index 0000000000..883d515bca --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240ACC_DEEEA0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ACC_DEF96C +/* DEF96C 80240ACC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEF970 80240AD0 AFB10014 */ sw $s1, 0x14($sp) +/* DEF974 80240AD4 0080882D */ daddu $s1, $a0, $zero +/* DEF978 80240AD8 AFBF0018 */ sw $ra, 0x18($sp) +/* DEF97C 80240ADC AFB00010 */ sw $s0, 0x10($sp) +/* DEF980 80240AE0 8E300148 */ lw $s0, 0x148($s1) +/* DEF984 80240AE4 0C00EABB */ jal get_npc_unsafe +/* DEF988 80240AE8 86040008 */ lh $a0, 8($s0) +/* DEF98C 80240AEC 3C054387 */ lui $a1, 0x4387 +/* DEF990 80240AF0 0040202D */ daddu $a0, $v0, $zero +/* DEF994 80240AF4 0C00ECD0 */ jal set_npc_yaw +/* DEF998 80240AF8 A480008E */ sh $zero, 0x8e($a0) +/* DEF99C 80240AFC 24020003 */ addiu $v0, $zero, 3 +/* DEF9A0 80240B00 AE00006C */ sw $zero, 0x6c($s0) +/* DEF9A4 80240B04 AE220070 */ sw $v0, 0x70($s1) +/* DEF9A8 80240B08 8FBF0018 */ lw $ra, 0x18($sp) +/* DEF9AC 80240B0C 8FB10014 */ lw $s1, 0x14($sp) +/* DEF9B0 80240B10 8FB00010 */ lw $s0, 0x10($sp) +/* DEF9B4 80240B14 03E00008 */ jr $ra +/* DEF9B8 80240B18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240B1C_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240B1C_DEEEA0.s new file mode 100644 index 0000000000..c34dd13362 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240B1C_DEEEA0.s @@ -0,0 +1,132 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B1C_DEF9BC +/* DEF9BC 80240B1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DEF9C0 80240B20 AFB20018 */ sw $s2, 0x18($sp) +/* DEF9C4 80240B24 0080902D */ daddu $s2, $a0, $zero +/* DEF9C8 80240B28 AFBF001C */ sw $ra, 0x1c($sp) +/* DEF9CC 80240B2C AFB10014 */ sw $s1, 0x14($sp) +/* DEF9D0 80240B30 AFB00010 */ sw $s0, 0x10($sp) +/* DEF9D4 80240B34 8E500148 */ lw $s0, 0x148($s2) +/* DEF9D8 80240B38 0C00EABB */ jal get_npc_unsafe +/* DEF9DC 80240B3C 86040008 */ lh $a0, 8($s0) +/* DEF9E0 80240B40 8E03006C */ lw $v1, 0x6c($s0) +/* DEF9E4 80240B44 24060001 */ addiu $a2, $zero, 1 +/* DEF9E8 80240B48 10660016 */ beq $v1, $a2, .L80240BA4 +/* DEF9EC 80240B4C 0040882D */ daddu $s1, $v0, $zero +/* DEF9F0 80240B50 28620002 */ slti $v0, $v1, 2 +/* DEF9F4 80240B54 50400005 */ beql $v0, $zero, .L80240B6C +/* DEF9F8 80240B58 24020002 */ addiu $v0, $zero, 2 +/* DEF9FC 80240B5C 10600009 */ beqz $v1, .L80240B84 +/* DEFA00 80240B60 3C02003C */ lui $v0, 0x3c +/* DEFA04 80240B64 0809032C */ j .L80240CB0 +/* DEFA08 80240B68 24020004 */ addiu $v0, $zero, 4 +.L80240B6C: +/* DEFA0C 80240B6C 10620030 */ beq $v1, $v0, .L80240C30 +/* DEFA10 80240B70 24020003 */ addiu $v0, $zero, 3 +/* DEFA14 80240B74 10620034 */ beq $v1, $v0, .L80240C48 +/* DEFA18 80240B78 00000000 */ nop +/* DEFA1C 80240B7C 0809032A */ j .L80240CA8 +/* DEFA20 80240B80 00000000 */ nop +.L80240B84: +/* DEFA24 80240B84 3442000C */ ori $v0, $v0, 0xc +/* DEFA28 80240B88 3C054387 */ lui $a1, 0x4387 +/* DEFA2C 80240B8C 0220202D */ daddu $a0, $s1, $zero +/* DEFA30 80240B90 AE06006C */ sw $a2, 0x6c($s0) +/* DEFA34 80240B94 AE000070 */ sw $zero, 0x70($s0) +/* DEFA38 80240B98 0C00ECD0 */ jal set_npc_yaw +/* DEFA3C 80240B9C AE220028 */ sw $v0, 0x28($s1) +/* DEFA40 80240BA0 AE200048 */ sw $zero, 0x48($s1) +.L80240BA4: +/* DEFA44 80240BA4 8E030070 */ lw $v1, 0x70($s0) +/* DEFA48 80240BA8 04610002 */ bgez $v1, .L80240BB4 +/* DEFA4C 80240BAC 0060102D */ daddu $v0, $v1, $zero +/* DEFA50 80240BB0 2462000F */ addiu $v0, $v1, 0xf +.L80240BB4: +/* DEFA54 80240BB4 00022103 */ sra $a0, $v0, 4 +/* DEFA58 80240BB8 00041100 */ sll $v0, $a0, 4 +/* DEFA5C 80240BBC 00622023 */ subu $a0, $v1, $v0 +/* DEFA60 80240BC0 28820004 */ slti $v0, $a0, 4 +/* DEFA64 80240BC4 10400003 */ beqz $v0, .L80240BD4 +/* DEFA68 80240BC8 3C02003C */ lui $v0, 0x3c +/* DEFA6C 80240BCC 08090303 */ j .L80240C0C +/* DEFA70 80240BD0 3442000C */ ori $v0, $v0, 0xc +.L80240BD4: +/* DEFA74 80240BD4 28820008 */ slti $v0, $a0, 8 +/* DEFA78 80240BD8 10400003 */ beqz $v0, .L80240BE8 +/* DEFA7C 80240BDC 3C02003C */ lui $v0, 0x3c +/* DEFA80 80240BE0 08090303 */ j .L80240C0C +/* DEFA84 80240BE4 3442000B */ ori $v0, $v0, 0xb +.L80240BE8: +/* DEFA88 80240BE8 2882000C */ slti $v0, $a0, 0xc +/* DEFA8C 80240BEC 10400003 */ beqz $v0, .L80240BFC +/* DEFA90 80240BF0 3C02003C */ lui $v0, 0x3c +/* DEFA94 80240BF4 08090303 */ j .L80240C0C +/* DEFA98 80240BF8 3442000C */ ori $v0, $v0, 0xc +.L80240BFC: +/* DEFA9C 80240BFC 28820010 */ slti $v0, $a0, 0x10 +/* DEFAA0 80240C00 10400003 */ beqz $v0, .L80240C10 +/* DEFAA4 80240C04 3C02003C */ lui $v0, 0x3c +/* DEFAA8 80240C08 3442000D */ ori $v0, $v0, 0xd +.L80240C0C: +/* DEFAAC 80240C0C AE220028 */ sw $v0, 0x28($s1) +.L80240C10: +/* DEFAB0 80240C10 8E020070 */ lw $v0, 0x70($s0) +/* DEFAB4 80240C14 24420001 */ addiu $v0, $v0, 1 +/* DEFAB8 80240C18 AE020070 */ sw $v0, 0x70($s0) +/* DEFABC 80240C1C 28420041 */ slti $v0, $v0, 0x41 +/* DEFAC0 80240C20 14400021 */ bnez $v0, .L80240CA8 +/* DEFAC4 80240C24 24020002 */ addiu $v0, $zero, 2 +/* DEFAC8 80240C28 0809032A */ j .L80240CA8 +/* DEFACC 80240C2C AE02006C */ sw $v0, 0x6c($s0) +.L80240C30: +/* DEFAD0 80240C30 3C03003C */ lui $v1, 0x3c +/* DEFAD4 80240C34 3463000C */ ori $v1, $v1, 0xc +/* DEFAD8 80240C38 AE02006C */ sw $v0, 0x6c($s0) +/* DEFADC 80240C3C AE000070 */ sw $zero, 0x70($s0) +/* DEFAE0 80240C40 AE200048 */ sw $zero, 0x48($s1) +/* DEFAE4 80240C44 AE230028 */ sw $v1, 0x28($s1) +.L80240C48: +/* DEFAE8 80240C48 C6200048 */ lwc1 $f0, 0x48($s1) +/* DEFAEC 80240C4C 3C018024 */ lui $at, 0x8024 +/* DEFAF0 80240C50 D42277B0 */ ldc1 $f2, 0x77b0($at) +/* DEFAF4 80240C54 46000021 */ cvt.d.s $f0, $f0 +/* DEFAF8 80240C58 46220000 */ add.d $f0, $f0, $f2 +/* DEFAFC 80240C5C 3C018024 */ lui $at, 0x8024 +/* DEFB00 80240C60 D42277B8 */ ldc1 $f2, 0x77b8($at) +/* DEFB04 80240C64 46200020 */ cvt.s.d $f0, $f0 +/* DEFB08 80240C68 E6200048 */ swc1 $f0, 0x48($s1) +/* DEFB0C 80240C6C 46000021 */ cvt.d.s $f0, $f0 +/* DEFB10 80240C70 4620103C */ c.lt.d $f2, $f0 +/* DEFB14 80240C74 00000000 */ nop +/* DEFB18 80240C78 45000004 */ bc1f .L80240C8C +/* DEFB1C 80240C7C 00000000 */ nop +/* DEFB20 80240C80 46220001 */ sub.d $f0, $f0, $f2 +/* DEFB24 80240C84 46200020 */ cvt.s.d $f0, $f0 +/* DEFB28 80240C88 E6200048 */ swc1 $f0, 0x48($s1) +.L80240C8C: +/* DEFB2C 80240C8C 8E020070 */ lw $v0, 0x70($s0) +/* DEFB30 80240C90 24420001 */ addiu $v0, $v0, 1 +/* DEFB34 80240C94 AE020070 */ sw $v0, 0x70($s0) +/* DEFB38 80240C98 2842002E */ slti $v0, $v0, 0x2e +/* DEFB3C 80240C9C 14400002 */ bnez $v0, .L80240CA8 +/* DEFB40 80240CA0 24020004 */ addiu $v0, $zero, 4 +/* DEFB44 80240CA4 AE02006C */ sw $v0, 0x6c($s0) +.L80240CA8: +/* DEFB48 80240CA8 8E03006C */ lw $v1, 0x6c($s0) +/* DEFB4C 80240CAC 24020004 */ addiu $v0, $zero, 4 +.L80240CB0: +/* DEFB50 80240CB0 14620005 */ bne $v1, $v0, .L80240CC8 +/* DEFB54 80240CB4 0220202D */ daddu $a0, $s1, $zero +/* DEFB58 80240CB8 3C054387 */ lui $a1, 0x4387 +/* DEFB5C 80240CBC 0C00ECD0 */ jal set_npc_yaw +/* DEFB60 80240CC0 AC800048 */ sw $zero, 0x48($a0) +/* DEFB64 80240CC4 AE400070 */ sw $zero, 0x70($s2) +.L80240CC8: +/* DEFB68 80240CC8 8FBF001C */ lw $ra, 0x1c($sp) +/* DEFB6C 80240CCC 8FB20018 */ lw $s2, 0x18($sp) +/* DEFB70 80240CD0 8FB10014 */ lw $s1, 0x14($sp) +/* DEFB74 80240CD4 8FB00010 */ lw $s0, 0x10($sp) +/* DEFB78 80240CD8 03E00008 */ jr $ra +/* DEFB7C 80240CDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240CE0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240CE0.s new file mode 100644 index 0000000000..baf8bdde5e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240CE0.s @@ -0,0 +1,192 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CE0 +/* DEFB80 80240CE0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* DEFB84 80240CE4 AFB30054 */ sw $s3, 0x54($sp) +/* DEFB88 80240CE8 0080982D */ daddu $s3, $a0, $zero +/* DEFB8C 80240CEC AFBF0060 */ sw $ra, 0x60($sp) +/* DEFB90 80240CF0 AFB5005C */ sw $s5, 0x5c($sp) +/* DEFB94 80240CF4 AFB40058 */ sw $s4, 0x58($sp) +/* DEFB98 80240CF8 AFB20050 */ sw $s2, 0x50($sp) +/* DEFB9C 80240CFC AFB1004C */ sw $s1, 0x4c($sp) +/* DEFBA0 80240D00 AFB00048 */ sw $s0, 0x48($sp) +/* DEFBA4 80240D04 8E710148 */ lw $s1, 0x148($s3) +/* DEFBA8 80240D08 86240008 */ lh $a0, 8($s1) +/* DEFBAC 80240D0C 0C00EABB */ jal get_npc_unsafe +/* DEFBB0 80240D10 00A0802D */ daddu $s0, $a1, $zero +/* DEFBB4 80240D14 8E63000C */ lw $v1, 0xc($s3) +/* DEFBB8 80240D18 0260202D */ daddu $a0, $s3, $zero +/* DEFBBC 80240D1C 8C650000 */ lw $a1, ($v1) +/* DEFBC0 80240D20 0C0B1EAF */ jal get_variable +/* DEFBC4 80240D24 0040902D */ daddu $s2, $v0, $zero +/* DEFBC8 80240D28 AFA00018 */ sw $zero, 0x18($sp) +/* DEFBCC 80240D2C 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFBD0 80240D30 8C630030 */ lw $v1, 0x30($v1) +/* DEFBD4 80240D34 AFA3001C */ sw $v1, 0x1c($sp) +/* DEFBD8 80240D38 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFBDC 80240D3C 8C63001C */ lw $v1, 0x1c($v1) +/* DEFBE0 80240D40 AFA30020 */ sw $v1, 0x20($sp) +/* DEFBE4 80240D44 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFBE8 80240D48 8C630024 */ lw $v1, 0x24($v1) +/* DEFBEC 80240D4C AFA30024 */ sw $v1, 0x24($sp) +/* DEFBF0 80240D50 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFBF4 80240D54 8C630028 */ lw $v1, 0x28($v1) +/* DEFBF8 80240D58 27B50018 */ addiu $s5, $sp, 0x18 +/* DEFBFC 80240D5C AFA30028 */ sw $v1, 0x28($sp) +/* DEFC00 80240D60 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFC04 80240D64 3C014282 */ lui $at, 0x4282 +/* DEFC08 80240D68 44810000 */ mtc1 $at, $f0 +/* DEFC0C 80240D6C 8C63002C */ lw $v1, 0x2c($v1) +/* DEFC10 80240D70 0040A02D */ daddu $s4, $v0, $zero +/* DEFC14 80240D74 E7A00030 */ swc1 $f0, 0x30($sp) +/* DEFC18 80240D78 A7A00034 */ sh $zero, 0x34($sp) +/* DEFC1C 80240D7C 16000005 */ bnez $s0, .L80240D94 +/* DEFC20 80240D80 AFA3002C */ sw $v1, 0x2c($sp) +/* DEFC24 80240D84 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEFC28 80240D88 30420004 */ andi $v0, $v0, 4 +/* DEFC2C 80240D8C 10400044 */ beqz $v0, .L80240EA0 +/* DEFC30 80240D90 00000000 */ nop +.L80240D94: +/* DEFC34 80240D94 2404F7FF */ addiu $a0, $zero, -0x801 +/* DEFC38 80240D98 AE600070 */ sw $zero, 0x70($s3) +/* DEFC3C 80240D9C A640008E */ sh $zero, 0x8e($s2) +/* DEFC40 80240DA0 8E2200CC */ lw $v0, 0xcc($s1) +/* DEFC44 80240DA4 8E430000 */ lw $v1, ($s2) +/* DEFC48 80240DA8 8C420000 */ lw $v0, ($v0) +/* DEFC4C 80240DAC 00641824 */ and $v1, $v1, $a0 +/* DEFC50 80240DB0 AE430000 */ sw $v1, ($s2) +/* DEFC54 80240DB4 AE420028 */ sw $v0, 0x28($s2) +/* DEFC58 80240DB8 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEFC5C 80240DBC 8C420034 */ lw $v0, 0x34($v0) +/* DEFC60 80240DC0 54400005 */ bnel $v0, $zero, .L80240DD8 +/* DEFC64 80240DC4 2402FDFF */ addiu $v0, $zero, -0x201 +/* DEFC68 80240DC8 34620200 */ ori $v0, $v1, 0x200 +/* DEFC6C 80240DCC 2403FFF7 */ addiu $v1, $zero, -9 +/* DEFC70 80240DD0 08090378 */ j .L80240DE0 +/* DEFC74 80240DD4 00431024 */ and $v0, $v0, $v1 +.L80240DD8: +/* DEFC78 80240DD8 00621024 */ and $v0, $v1, $v0 +/* DEFC7C 80240DDC 34420008 */ ori $v0, $v0, 8 +.L80240DE0: +/* DEFC80 80240DE0 AE420000 */ sw $v0, ($s2) +/* DEFC84 80240DE4 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEFC88 80240DE8 30420004 */ andi $v0, $v0, 4 +/* DEFC8C 80240DEC 10400004 */ beqz $v0, .L80240E00 +/* DEFC90 80240DF0 24020063 */ addiu $v0, $zero, 0x63 +/* DEFC94 80240DF4 AE620070 */ sw $v0, 0x70($s3) +/* DEFC98 80240DF8 08090386 */ j .L80240E18 +/* DEFC9C 80240DFC AE600074 */ sw $zero, 0x74($s3) +.L80240E00: +/* DEFCA0 80240E00 8E220000 */ lw $v0, ($s1) +/* DEFCA4 80240E04 3C034000 */ lui $v1, 0x4000 +/* DEFCA8 80240E08 00431024 */ and $v0, $v0, $v1 +/* DEFCAC 80240E0C 10400002 */ beqz $v0, .L80240E18 +/* DEFCB0 80240E10 2402000C */ addiu $v0, $zero, 0xc +/* DEFCB4 80240E14 AE620070 */ sw $v0, 0x70($s3) +.L80240E18: +/* DEFCB8 80240E18 3C06BFFF */ lui $a2, 0xbfff +/* DEFCBC 80240E1C 34C6FFFF */ ori $a2, $a2, 0xffff +/* DEFCC0 80240E20 27A50038 */ addiu $a1, $sp, 0x38 +/* DEFCC4 80240E24 2404FFFB */ addiu $a0, $zero, -5 +/* DEFCC8 80240E28 8E2200B0 */ lw $v0, 0xb0($s1) +/* DEFCCC 80240E2C 8E230000 */ lw $v1, ($s1) +/* DEFCD0 80240E30 3C0142C8 */ lui $at, 0x42c8 +/* DEFCD4 80240E34 44810000 */ mtc1 $at, $f0 +/* DEFCD8 80240E38 00441024 */ and $v0, $v0, $a0 +/* DEFCDC 80240E3C 00661824 */ and $v1, $v1, $a2 +/* DEFCE0 80240E40 AE2200B0 */ sw $v0, 0xb0($s1) +/* DEFCE4 80240E44 AE230000 */ sw $v1, ($s1) +/* DEFCE8 80240E48 864200A8 */ lh $v0, 0xa8($s2) +/* DEFCEC 80240E4C 27A70040 */ addiu $a3, $sp, 0x40 +/* DEFCF0 80240E50 E7A00044 */ swc1 $f0, 0x44($sp) +/* DEFCF4 80240E54 C6460038 */ lwc1 $f6, 0x38($s2) +/* DEFCF8 80240E58 C640003C */ lwc1 $f0, 0x3c($s2) +/* DEFCFC 80240E5C C6420040 */ lwc1 $f2, 0x40($s2) +/* DEFD00 80240E60 44822000 */ mtc1 $v0, $f4 +/* DEFD04 80240E64 00000000 */ nop +/* DEFD08 80240E68 46802120 */ cvt.s.w $f4, $f4 +/* DEFD0C 80240E6C 27A20044 */ addiu $v0, $sp, 0x44 +/* DEFD10 80240E70 46040000 */ add.s $f0, $f0, $f4 +/* DEFD14 80240E74 E7A60038 */ swc1 $f6, 0x38($sp) +/* DEFD18 80240E78 E7A20040 */ swc1 $f2, 0x40($sp) +/* DEFD1C 80240E7C E7A0003C */ swc1 $f0, 0x3c($sp) +/* DEFD20 80240E80 AFA20010 */ sw $v0, 0x10($sp) +/* DEFD24 80240E84 8E440080 */ lw $a0, 0x80($s2) +/* DEFD28 80240E88 0C0372DF */ jal func_800DCB7C +/* DEFD2C 80240E8C 27A6003C */ addiu $a2, $sp, 0x3c +/* DEFD30 80240E90 10400003 */ beqz $v0, .L80240EA0 +/* DEFD34 80240E94 00000000 */ nop +/* DEFD38 80240E98 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* DEFD3C 80240E9C E640003C */ swc1 $f0, 0x3c($s2) +.L80240EA0: +/* DEFD40 80240EA0 8E630070 */ lw $v1, 0x70($s3) +/* DEFD44 80240EA4 2C620064 */ sltiu $v0, $v1, 0x64 +/* DEFD48 80240EA8 10400038 */ beqz $v0, .L80240F8C +/* DEFD4C 80240EAC 00031080 */ sll $v0, $v1, 2 +/* DEFD50 80240EB0 3C018024 */ lui $at, 0x8024 +/* DEFD54 80240EB4 00220821 */ addu $at, $at, $v0 +/* DEFD58 80240EB8 8C2277C0 */ lw $v0, 0x77c0($at) +/* DEFD5C 80240EBC 00400008 */ jr $v0 +/* DEFD60 80240EC0 00000000 */ nop +/* DEFD64 80240EC4 0260202D */ daddu $a0, $s3, $zero +/* DEFD68 80240EC8 0280282D */ daddu $a1, $s4, $zero +/* DEFD6C 80240ECC 0C012568 */ jal func_800495A0 +/* DEFD70 80240ED0 02A0302D */ daddu $a2, $s5, $zero +/* DEFD74 80240ED4 0260202D */ daddu $a0, $s3, $zero +/* DEFD78 80240ED8 0280282D */ daddu $a1, $s4, $zero +/* DEFD7C 80240EDC 0C0125AE */ jal func_800496B8 +/* DEFD80 80240EE0 02A0302D */ daddu $a2, $s5, $zero +/* DEFD84 80240EE4 080903E3 */ j .L80240F8C +/* DEFD88 80240EE8 00000000 */ nop +/* DEFD8C 80240EEC 0260202D */ daddu $a0, $s3, $zero +/* DEFD90 80240EF0 0280282D */ daddu $a1, $s4, $zero +/* DEFD94 80240EF4 0C0902B3 */ jal func_80240ACC +/* DEFD98 80240EF8 02A0302D */ daddu $a2, $s5, $zero +/* DEFD9C 80240EFC 0260202D */ daddu $a0, $s3, $zero +/* DEFDA0 80240F00 0280282D */ daddu $a1, $s4, $zero +/* DEFDA4 80240F04 0C0902C7 */ jal func_80240B1C +/* DEFDA8 80240F08 02A0302D */ daddu $a2, $s5, $zero +/* DEFDAC 80240F0C 080903E3 */ j .L80240F8C +/* DEFDB0 80240F10 00000000 */ nop +/* DEFDB4 80240F14 0260202D */ daddu $a0, $s3, $zero +/* DEFDB8 80240F18 0280282D */ daddu $a1, $s4, $zero +/* DEFDBC 80240F1C 0C01278F */ jal func_80049E3C +/* DEFDC0 80240F20 02A0302D */ daddu $a2, $s5, $zero +/* DEFDC4 80240F24 0260202D */ daddu $a0, $s3, $zero +/* DEFDC8 80240F28 0280282D */ daddu $a1, $s4, $zero +/* DEFDCC 80240F2C 0C0127B3 */ jal func_80049ECC +/* DEFDD0 80240F30 02A0302D */ daddu $a2, $s5, $zero +/* DEFDD4 80240F34 080903E3 */ j .L80240F8C +/* DEFDD8 80240F38 00000000 */ nop +/* DEFDDC 80240F3C 0260202D */ daddu $a0, $s3, $zero +/* DEFDE0 80240F40 0280282D */ daddu $a1, $s4, $zero +/* DEFDE4 80240F44 0C0127DF */ jal func_80049F7C +/* DEFDE8 80240F48 02A0302D */ daddu $a2, $s5, $zero +/* DEFDEC 80240F4C 0260202D */ daddu $a0, $s3, $zero +/* DEFDF0 80240F50 0280282D */ daddu $a1, $s4, $zero +/* DEFDF4 80240F54 0C012849 */ jal func_8004A124 +/* DEFDF8 80240F58 02A0302D */ daddu $a2, $s5, $zero +/* DEFDFC 80240F5C 8E630070 */ lw $v1, 0x70($s3) +/* DEFE00 80240F60 2402000E */ addiu $v0, $zero, 0xe +/* DEFE04 80240F64 14620009 */ bne $v1, $v0, .L80240F8C +/* DEFE08 80240F68 00000000 */ nop +/* DEFE0C 80240F6C 0260202D */ daddu $a0, $s3, $zero +/* DEFE10 80240F70 0280282D */ daddu $a1, $s4, $zero +/* DEFE14 80240F74 0C0128FA */ jal func_8004A3E8 +/* DEFE18 80240F78 02A0302D */ daddu $a2, $s5, $zero +/* DEFE1C 80240F7C 080903E3 */ j .L80240F8C +/* DEFE20 80240F80 00000000 */ nop +/* DEFE24 80240F84 0C0129CF */ jal func_8004A73C +/* DEFE28 80240F88 0260202D */ daddu $a0, $s3, $zero +.L80240F8C: +/* DEFE2C 80240F8C 8FBF0060 */ lw $ra, 0x60($sp) +/* DEFE30 80240F90 8FB5005C */ lw $s5, 0x5c($sp) +/* DEFE34 80240F94 8FB40058 */ lw $s4, 0x58($sp) +/* DEFE38 80240F98 8FB30054 */ lw $s3, 0x54($sp) +/* DEFE3C 80240F9C 8FB20050 */ lw $s2, 0x50($sp) +/* DEFE40 80240FA0 8FB1004C */ lw $s1, 0x4c($sp) +/* DEFE44 80240FA4 8FB00048 */ lw $s0, 0x48($sp) +/* DEFE48 80240FA8 0000102D */ daddu $v0, $zero, $zero +/* DEFE4C 80240FAC 03E00008 */ jr $ra +/* DEFE50 80240FB0 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80240FB4_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80240FB4_DEEEA0.s new file mode 100644 index 0000000000..78d38fe3ab --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80240FB4_DEEEA0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FB4_DEFE54 +/* DEFE54 80240FB4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DEFE58 80240FB8 AFB3002C */ sw $s3, 0x2c($sp) +/* DEFE5C 80240FBC 0080982D */ daddu $s3, $a0, $zero +/* DEFE60 80240FC0 AFBF0030 */ sw $ra, 0x30($sp) +/* DEFE64 80240FC4 AFB20028 */ sw $s2, 0x28($sp) +/* DEFE68 80240FC8 AFB10024 */ sw $s1, 0x24($sp) +/* DEFE6C 80240FCC AFB00020 */ sw $s0, 0x20($sp) +/* DEFE70 80240FD0 8E710148 */ lw $s1, 0x148($s3) +/* DEFE74 80240FD4 86240008 */ lh $a0, 8($s1) +/* DEFE78 80240FD8 0C00EABB */ jal get_npc_unsafe +/* DEFE7C 80240FDC 00A0902D */ daddu $s2, $a1, $zero +/* DEFE80 80240FE0 8E440004 */ lw $a0, 4($s2) +/* DEFE84 80240FE4 0040802D */ daddu $s0, $v0, $zero +/* DEFE88 80240FE8 00041FC2 */ srl $v1, $a0, 0x1f +/* DEFE8C 80240FEC 00832021 */ addu $a0, $a0, $v1 +/* DEFE90 80240FF0 00042043 */ sra $a0, $a0, 1 +/* DEFE94 80240FF4 0C00A67F */ jal rand_int +/* DEFE98 80240FF8 24840001 */ addiu $a0, $a0, 1 +/* DEFE9C 80240FFC 8E430004 */ lw $v1, 4($s2) +/* DEFEA0 80241000 000327C2 */ srl $a0, $v1, 0x1f +/* DEFEA4 80241004 00641821 */ addu $v1, $v1, $a0 +/* DEFEA8 80241008 00031843 */ sra $v1, $v1, 1 +/* DEFEAC 8024100C 00621821 */ addu $v1, $v1, $v0 +/* DEFEB0 80241010 A603008E */ sh $v1, 0x8e($s0) +/* DEFEB4 80241014 8E2300D0 */ lw $v1, 0xd0($s1) +/* DEFEB8 80241018 C6000040 */ lwc1 $f0, 0x40($s0) +/* DEFEBC 8024101C C4640000 */ lwc1 $f4, ($v1) +/* DEFEC0 80241020 46802120 */ cvt.s.w $f4, $f4 +/* DEFEC4 80241024 C4620008 */ lwc1 $f2, 8($v1) +/* DEFEC8 80241028 468010A0 */ cvt.s.w $f2, $f2 +/* DEFECC 8024102C E7A00010 */ swc1 $f0, 0x10($sp) +/* DEFED0 80241030 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEFED4 80241034 44061000 */ mfc1 $a2, $f2 +/* DEFED8 80241038 C440000C */ lwc1 $f0, 0xc($v0) +/* DEFEDC 8024103C 46800020 */ cvt.s.w $f0, $f0 +/* DEFEE0 80241040 E7A00014 */ swc1 $f0, 0x14($sp) +/* DEFEE4 80241044 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEFEE8 80241048 44052000 */ mfc1 $a1, $f4 +/* DEFEEC 8024104C C4400010 */ lwc1 $f0, 0x10($v0) +/* DEFEF0 80241050 46800020 */ cvt.s.w $f0, $f0 +/* DEFEF4 80241054 E7A00018 */ swc1 $f0, 0x18($sp) +/* DEFEF8 80241058 8C640018 */ lw $a0, 0x18($v1) +/* DEFEFC 8024105C 0C0123F5 */ jal is_point_within_region +/* DEFF00 80241060 8E070038 */ lw $a3, 0x38($s0) +/* DEFF04 80241064 1040000E */ beqz $v0, .L802410A0 +/* DEFF08 80241068 00000000 */ nop +/* DEFF0C 8024106C 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEFF10 80241070 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DEFF14 80241074 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DEFF18 80241078 C4460000 */ lwc1 $f6, ($v0) +/* DEFF1C 8024107C 468031A0 */ cvt.s.w $f6, $f6 +/* DEFF20 80241080 44063000 */ mfc1 $a2, $f6 +/* DEFF24 80241084 C4460008 */ lwc1 $f6, 8($v0) +/* DEFF28 80241088 468031A0 */ cvt.s.w $f6, $f6 +/* DEFF2C 8024108C 44073000 */ mfc1 $a3, $f6 +/* DEFF30 80241090 0C00A720 */ jal atan2 +/* DEFF34 80241094 00000000 */ nop +/* DEFF38 80241098 08090434 */ j .L802410D0 +/* DEFF3C 8024109C E600000C */ swc1 $f0, 0xc($s0) +.L802410A0: +/* DEFF40 802410A0 0C00A67F */ jal rand_int +/* DEFF44 802410A4 2404003C */ addiu $a0, $zero, 0x3c +/* DEFF48 802410A8 C60C000C */ lwc1 $f12, 0xc($s0) +/* DEFF4C 802410AC 44820000 */ mtc1 $v0, $f0 +/* DEFF50 802410B0 00000000 */ nop +/* DEFF54 802410B4 46800020 */ cvt.s.w $f0, $f0 +/* DEFF58 802410B8 46006300 */ add.s $f12, $f12, $f0 +/* DEFF5C 802410BC 3C0141F0 */ lui $at, 0x41f0 +/* DEFF60 802410C0 44810000 */ mtc1 $at, $f0 +/* DEFF64 802410C4 0C00A6C9 */ jal clamp_angle +/* DEFF68 802410C8 46006301 */ sub.s $f12, $f12, $f0 +/* DEFF6C 802410CC E600000C */ swc1 $f0, 0xc($s0) +.L802410D0: +/* DEFF70 802410D0 8E2200CC */ lw $v0, 0xcc($s1) +/* DEFF74 802410D4 8C420004 */ lw $v0, 4($v0) +/* DEFF78 802410D8 AE020028 */ sw $v0, 0x28($s0) +/* DEFF7C 802410DC AE600074 */ sw $zero, 0x74($s3) +/* DEFF80 802410E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DEFF84 802410E4 8C420014 */ lw $v0, 0x14($v0) +/* DEFF88 802410E8 04410004 */ bgez $v0, .L802410FC +/* DEFF8C 802410EC 00000000 */ nop +/* DEFF90 802410F0 C6400000 */ lwc1 $f0, ($s2) +/* DEFF94 802410F4 08090447 */ j .L8024111C +/* DEFF98 802410F8 E6000018 */ swc1 $f0, 0x18($s0) +.L802410FC: +/* DEFF9C 802410FC 3C018024 */ lui $at, 0x8024 +/* DEFFA0 80241100 D4227950 */ ldc1 $f2, 0x7950($at) +/* DEFFA4 80241104 44820000 */ mtc1 $v0, $f0 +/* DEFFA8 80241108 00000000 */ nop +/* DEFFAC 8024110C 46800021 */ cvt.d.w $f0, $f0 +/* DEFFB0 80241110 46220003 */ div.d $f0, $f0, $f2 +/* DEFFB4 80241114 46200020 */ cvt.s.d $f0, $f0 +/* DEFFB8 80241118 E6000018 */ swc1 $f0, 0x18($s0) +.L8024111C: +/* DEFFBC 8024111C C600003C */ lwc1 $f0, 0x3c($s0) +/* DEFFC0 80241120 3C014059 */ lui $at, 0x4059 +/* DEFFC4 80241124 44811800 */ mtc1 $at, $f3 +/* DEFFC8 80241128 44801000 */ mtc1 $zero, $f2 +/* DEFFCC 8024112C 46000021 */ cvt.d.s $f0, $f0 +/* DEFFD0 80241130 46220002 */ mul.d $f0, $f0, $f2 +/* DEFFD4 80241134 00000000 */ nop +/* DEFFD8 80241138 24020001 */ addiu $v0, $zero, 1 +/* DEFFDC 8024113C 4620018D */ trunc.w.d $f6, $f0 +/* DEFFE0 80241140 E626007C */ swc1 $f6, 0x7c($s1) +/* DEFFE4 80241144 AE620070 */ sw $v0, 0x70($s3) +/* DEFFE8 80241148 8FBF0030 */ lw $ra, 0x30($sp) +/* DEFFEC 8024114C 8FB3002C */ lw $s3, 0x2c($sp) +/* DEFFF0 80241150 8FB20028 */ lw $s2, 0x28($sp) +/* DEFFF4 80241154 8FB10024 */ lw $s1, 0x24($sp) +/* DEFFF8 80241158 8FB00020 */ lw $s0, 0x20($sp) +/* DEFFFC 8024115C 03E00008 */ jr $ra +/* DF0000 80241160 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241164.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241164.s new file mode 100644 index 0000000000..294ddae072 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241164.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241164 +/* DF0004 80241164 27BDFF80 */ addiu $sp, $sp, -0x80 +/* DF0008 80241168 AFB3004C */ sw $s3, 0x4c($sp) +/* DF000C 8024116C 0080982D */ daddu $s3, $a0, $zero +/* DF0010 80241170 AFBF0058 */ sw $ra, 0x58($sp) +/* DF0014 80241174 AFB50054 */ sw $s5, 0x54($sp) +/* DF0018 80241178 AFB40050 */ sw $s4, 0x50($sp) +/* DF001C 8024117C AFB20048 */ sw $s2, 0x48($sp) +/* DF0020 80241180 AFB10044 */ sw $s1, 0x44($sp) +/* DF0024 80241184 AFB00040 */ sw $s0, 0x40($sp) +/* DF0028 80241188 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* DF002C 8024118C F7B80070 */ sdc1 $f24, 0x70($sp) +/* DF0030 80241190 F7B60068 */ sdc1 $f22, 0x68($sp) +/* DF0034 80241194 F7B40060 */ sdc1 $f20, 0x60($sp) +/* DF0038 80241198 8E710148 */ lw $s1, 0x148($s3) +/* DF003C 8024119C 00A0902D */ daddu $s2, $a1, $zero +/* DF0040 802411A0 86240008 */ lh $a0, 8($s1) +/* DF0044 802411A4 0C00EABB */ jal get_npc_unsafe +/* DF0048 802411A8 00C0A82D */ daddu $s5, $a2, $zero +/* DF004C 802411AC 0040802D */ daddu $s0, $v0, $zero +/* DF0050 802411B0 0000A02D */ daddu $s4, $zero, $zero +/* DF0054 802411B4 C624007C */ lwc1 $f4, 0x7c($s1) +/* DF0058 802411B8 46802120 */ cvt.s.w $f4, $f4 +/* DF005C 802411BC C6220088 */ lwc1 $f2, 0x88($s1) +/* DF0060 802411C0 468010A0 */ cvt.s.w $f2, $f2 +/* DF0064 802411C4 460010A1 */ cvt.d.s $f2, $f2 +/* DF0068 802411C8 46002121 */ cvt.d.s $f4, $f4 +/* DF006C 802411CC C600003C */ lwc1 $f0, 0x3c($s0) +/* DF0070 802411D0 3C014059 */ lui $at, 0x4059 +/* DF0074 802411D4 44813800 */ mtc1 $at, $f7 +/* DF0078 802411D8 44803000 */ mtc1 $zero, $f6 +/* DF007C 802411DC 46000021 */ cvt.d.s $f0, $f0 +/* DF0080 802411E0 46260002 */ mul.d $f0, $f0, $f6 +/* DF0084 802411E4 00000000 */ nop +/* DF0088 802411E8 24020001 */ addiu $v0, $zero, 1 +/* DF008C 802411EC 8E24006C */ lw $a0, 0x6c($s1) +/* DF0090 802411F0 46261083 */ div.d $f2, $f2, $f6 +/* DF0094 802411F4 462010A0 */ cvt.s.d $f2, $f2 +/* DF0098 802411F8 46262103 */ div.d $f4, $f4, $f6 +/* DF009C 802411FC 46202520 */ cvt.s.d $f20, $f4 +/* DF00A0 80241200 30830011 */ andi $v1, $a0, 0x11 +/* DF00A4 80241204 4620020D */ trunc.w.d $f8, $f0 +/* DF00A8 80241208 E628007C */ swc1 $f8, 0x7c($s1) +/* DF00AC 8024120C C6200078 */ lwc1 $f0, 0x78($s1) +/* DF00B0 80241210 46800020 */ cvt.s.w $f0, $f0 +/* DF00B4 80241214 46000021 */ cvt.d.s $f0, $f0 +/* DF00B8 80241218 46260003 */ div.d $f0, $f0, $f6 +/* DF00BC 8024121C 462006A0 */ cvt.s.d $f26, $f0 +/* DF00C0 80241220 C6200070 */ lwc1 $f0, 0x70($s1) +/* DF00C4 80241224 46800020 */ cvt.s.w $f0, $f0 +/* DF00C8 80241228 46000021 */ cvt.d.s $f0, $f0 +/* DF00CC 8024122C 46260003 */ div.d $f0, $f0, $f6 +/* DF00D0 80241230 462005A0 */ cvt.s.d $f22, $f0 +/* DF00D4 80241234 14620025 */ bne $v1, $v0, .L802412CC +/* DF00D8 80241238 4602D600 */ add.s $f24, $f26, $f2 +/* DF00DC 8024123C 8E020000 */ lw $v0, ($s0) +/* DF00E0 80241240 30420008 */ andi $v0, $v0, 8 +/* DF00E4 80241244 10400009 */ beqz $v0, .L8024126C +/* DF00E8 80241248 27A50028 */ addiu $a1, $sp, 0x28 +/* DF00EC 8024124C C600003C */ lwc1 $f0, 0x3c($s0) +/* DF00F0 80241250 4600C001 */ sub.s $f0, $f24, $f0 +/* DF00F4 80241254 4600B03C */ c.lt.s $f22, $f0 +/* DF00F8 80241258 00000000 */ nop +/* DF00FC 8024125C 4500001B */ bc1f .L802412CC +/* DF0100 80241260 34820010 */ ori $v0, $a0, 0x10 +/* DF0104 80241264 080904B3 */ j .L802412CC +/* DF0108 80241268 AE22006C */ sw $v0, 0x6c($s1) +.L8024126C: +/* DF010C 8024126C 27A6002C */ addiu $a2, $sp, 0x2c +/* DF0110 80241270 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF0114 80241274 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF0118 80241278 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF011C 8024127C 3C01447A */ lui $at, 0x447a +/* DF0120 80241280 44813000 */ mtc1 $at, $f6 +/* DF0124 80241284 27A20034 */ addiu $v0, $sp, 0x34 +/* DF0128 80241288 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF012C 8024128C E7A2002C */ swc1 $f2, 0x2c($sp) +/* DF0130 80241290 E7A40030 */ swc1 $f4, 0x30($sp) +/* DF0134 80241294 E7A60034 */ swc1 $f6, 0x34($sp) +/* DF0138 80241298 AFA20010 */ sw $v0, 0x10($sp) +/* DF013C 8024129C 8E040080 */ lw $a0, 0x80($s0) +/* DF0140 802412A0 0C0372DF */ jal func_800DCB7C +/* DF0144 802412A4 27A70030 */ addiu $a3, $sp, 0x30 +/* DF0148 802412A8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* DF014C 802412AC 4600D001 */ sub.s $f0, $f26, $f0 +/* DF0150 802412B0 4600B03C */ c.lt.s $f22, $f0 +/* DF0154 802412B4 00000000 */ nop +/* DF0158 802412B8 45000004 */ bc1f .L802412CC +/* DF015C 802412BC 00000000 */ nop +/* DF0160 802412C0 8E22006C */ lw $v0, 0x6c($s1) +/* DF0164 802412C4 34420010 */ ori $v0, $v0, 0x10 +/* DF0168 802412C8 AE22006C */ sw $v0, 0x6c($s1) +.L802412CC: +/* DF016C 802412CC 8E22006C */ lw $v0, 0x6c($s1) +/* DF0170 802412D0 24030011 */ addiu $v1, $zero, 0x11 +/* DF0174 802412D4 30420011 */ andi $v0, $v0, 0x11 +/* DF0178 802412D8 14430039 */ bne $v0, $v1, .L802413C0 +/* DF017C 802412DC 00000000 */ nop +/* DF0180 802412E0 8E020000 */ lw $v0, ($s0) +/* DF0184 802412E4 30420008 */ andi $v0, $v0, 8 +/* DF0188 802412E8 1040000A */ beqz $v0, .L80241314 +/* DF018C 802412EC 4600C106 */ mov.s $f4, $f24 +/* DF0190 802412F0 4614C081 */ sub.s $f2, $f24, $f20 +/* DF0194 802412F4 3C018024 */ lui $at, 0x8024 +/* DF0198 802412F8 D4207958 */ ldc1 $f0, 0x7958($at) +/* DF019C 802412FC 460010A1 */ cvt.d.s $f2, $f2 +/* DF01A0 80241300 46201082 */ mul.d $f2, $f2, $f0 +/* DF01A4 80241304 00000000 */ nop +/* DF01A8 80241308 4600A021 */ cvt.d.s $f0, $f20 +/* DF01AC 8024130C 080904DE */ j .L80241378 +/* DF01B0 80241310 46220000 */ add.d $f0, $f0, $f2 +.L80241314: +/* DF01B4 80241314 27A50028 */ addiu $a1, $sp, 0x28 +/* DF01B8 80241318 27A6002C */ addiu $a2, $sp, 0x2c +/* DF01BC 8024131C C6000038 */ lwc1 $f0, 0x38($s0) +/* DF01C0 80241320 C6020040 */ lwc1 $f2, 0x40($s0) +/* DF01C4 80241324 3C01447A */ lui $at, 0x447a +/* DF01C8 80241328 44812000 */ mtc1 $at, $f4 +/* DF01CC 8024132C 27A20034 */ addiu $v0, $sp, 0x34 +/* DF01D0 80241330 E7B4002C */ swc1 $f20, 0x2c($sp) +/* DF01D4 80241334 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF01D8 80241338 E7A20030 */ swc1 $f2, 0x30($sp) +/* DF01DC 8024133C E7A40034 */ swc1 $f4, 0x34($sp) +/* DF01E0 80241340 AFA20010 */ sw $v0, 0x10($sp) +/* DF01E4 80241344 8E040080 */ lw $a0, 0x80($s0) +/* DF01E8 80241348 0C0372DF */ jal func_800DCB7C +/* DF01EC 8024134C 27A70030 */ addiu $a3, $sp, 0x30 +/* DF01F0 80241350 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* DF01F4 80241354 461A2100 */ add.s $f4, $f4, $f26 +/* DF01F8 80241358 46142081 */ sub.s $f2, $f4, $f20 +/* DF01FC 8024135C 3C018024 */ lui $at, 0x8024 +/* DF0200 80241360 D4207960 */ ldc1 $f0, 0x7960($at) +/* DF0204 80241364 460010A1 */ cvt.d.s $f2, $f2 +/* DF0208 80241368 46201082 */ mul.d $f2, $f2, $f0 +/* DF020C 8024136C 00000000 */ nop +/* DF0210 80241370 4600A021 */ cvt.d.s $f0, $f20 +/* DF0214 80241374 46220000 */ add.d $f0, $f0, $f2 +.L80241378: +/* DF0218 80241378 46200020 */ cvt.s.d $f0, $f0 +/* DF021C 8024137C E600003C */ swc1 $f0, 0x3c($s0) +/* DF0220 80241380 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF0224 80241384 46002001 */ sub.s $f0, $f4, $f0 +/* DF0228 80241388 3C013FF0 */ lui $at, 0x3ff0 +/* DF022C 8024138C 44811800 */ mtc1 $at, $f3 +/* DF0230 80241390 44801000 */ mtc1 $zero, $f2 +/* DF0234 80241394 46000005 */ abs.s $f0, $f0 +/* DF0238 80241398 46000021 */ cvt.d.s $f0, $f0 +/* DF023C 8024139C 4622003C */ c.lt.d $f0, $f2 +/* DF0240 802413A0 00000000 */ nop +/* DF0244 802413A4 45000036 */ bc1f .L80241480 +/* DF0248 802413A8 2403FFEF */ addiu $v1, $zero, -0x11 +/* DF024C 802413AC E604003C */ swc1 $f4, 0x3c($s0) +/* DF0250 802413B0 8E22006C */ lw $v0, 0x6c($s1) +/* DF0254 802413B4 00431024 */ and $v0, $v0, $v1 +/* DF0258 802413B8 08090520 */ j .L80241480 +/* DF025C 802413BC AE22006C */ sw $v0, 0x6c($s1) +.L802413C0: +/* DF0260 802413C0 8E220070 */ lw $v0, 0x70($s1) +/* DF0264 802413C4 1840002E */ blez $v0, .L80241480 +/* DF0268 802413C8 00000000 */ nop +/* DF026C 802413CC C62C0074 */ lwc1 $f12, 0x74($s1) +/* DF0270 802413D0 0C00A8BB */ jal sin_deg +/* DF0274 802413D4 46806320 */ cvt.s.w $f12, $f12 +/* DF0278 802413D8 8E020000 */ lw $v0, ($s0) +/* DF027C 802413DC 30420008 */ andi $v0, $v0, 8 +/* DF0280 802413E0 10400003 */ beqz $v0, .L802413F0 +/* DF0284 802413E4 46000506 */ mov.s $f20, $f0 +/* DF0288 802413E8 0809050C */ j .L80241430 +/* DF028C 802413EC 0000102D */ daddu $v0, $zero, $zero +.L802413F0: +/* DF0290 802413F0 27A50028 */ addiu $a1, $sp, 0x28 +/* DF0294 802413F4 27A6002C */ addiu $a2, $sp, 0x2c +/* DF0298 802413F8 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF029C 802413FC C602003C */ lwc1 $f2, 0x3c($s0) +/* DF02A0 80241400 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF02A4 80241404 3C01447A */ lui $at, 0x447a +/* DF02A8 80241408 44813000 */ mtc1 $at, $f6 +/* DF02AC 8024140C 27A20034 */ addiu $v0, $sp, 0x34 +/* DF02B0 80241410 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF02B4 80241414 E7A2002C */ swc1 $f2, 0x2c($sp) +/* DF02B8 80241418 E7A40030 */ swc1 $f4, 0x30($sp) +/* DF02BC 8024141C E7A60034 */ swc1 $f6, 0x34($sp) +/* DF02C0 80241420 AFA20010 */ sw $v0, 0x10($sp) +/* DF02C4 80241424 8E040080 */ lw $a0, 0x80($s0) +/* DF02C8 80241428 0C0372DF */ jal func_800DCB7C +/* DF02CC 8024142C 27A70030 */ addiu $a3, $sp, 0x30 +.L80241430: +/* DF02D0 80241430 10400007 */ beqz $v0, .L80241450 +/* DF02D4 80241434 00000000 */ nop +/* DF02D8 80241438 4616A082 */ mul.s $f2, $f20, $f22 +/* DF02DC 8024143C 00000000 */ nop +/* DF02E0 80241440 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DF02E4 80241444 461A0000 */ add.s $f0, $f0, $f26 +/* DF02E8 80241448 08090517 */ j .L8024145C +/* DF02EC 8024144C 46020000 */ add.s $f0, $f0, $f2 +.L80241450: +/* DF02F0 80241450 4616A002 */ mul.s $f0, $f20, $f22 +/* DF02F4 80241454 00000000 */ nop +/* DF02F8 80241458 4600C000 */ add.s $f0, $f24, $f0 +.L8024145C: +/* DF02FC 8024145C E600003C */ swc1 $f0, 0x3c($s0) +/* DF0300 80241460 8E220074 */ lw $v0, 0x74($s1) +/* DF0304 80241464 2442000A */ addiu $v0, $v0, 0xa +/* DF0308 80241468 44826000 */ mtc1 $v0, $f12 +/* DF030C 8024146C 00000000 */ nop +/* DF0310 80241470 0C00A6C9 */ jal clamp_angle +/* DF0314 80241474 46806320 */ cvt.s.w $f12, $f12 +/* DF0318 80241478 4600020D */ trunc.w.s $f8, $f0 +/* DF031C 8024147C E6280074 */ swc1 $f8, 0x74($s1) +.L80241480: +/* DF0320 80241480 8E220090 */ lw $v0, 0x90($s1) +/* DF0324 80241484 1C40004A */ bgtz $v0, .L802415B0 +/* DF0328 80241488 2442FFFF */ addiu $v0, $v0, -1 +/* DF032C 8024148C 8E430014 */ lw $v1, 0x14($s2) +/* DF0330 80241490 04600048 */ bltz $v1, .L802415B4 +/* DF0334 80241494 00000000 */ nop +/* DF0338 80241498 8E620074 */ lw $v0, 0x74($s3) +/* DF033C 8024149C 1C400042 */ bgtz $v0, .L802415A8 +/* DF0340 802414A0 2442FFFF */ addiu $v0, $v0, -1 +/* DF0344 802414A4 AE630074 */ sw $v1, 0x74($s3) +/* DF0348 802414A8 860200A8 */ lh $v0, 0xa8($s0) +/* DF034C 802414AC C602003C */ lwc1 $f2, 0x3c($s0) +/* DF0350 802414B0 44820000 */ mtc1 $v0, $f0 +/* DF0354 802414B4 00000000 */ nop +/* DF0358 802414B8 46800020 */ cvt.s.w $f0, $f0 +/* DF035C 802414BC 46001080 */ add.s $f2, $f2, $f0 +/* DF0360 802414C0 3C014024 */ lui $at, 0x4024 +/* DF0364 802414C4 44810800 */ mtc1 $at, $f1 +/* DF0368 802414C8 44800000 */ mtc1 $zero, $f0 +/* DF036C 802414CC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF0370 802414D0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF0374 802414D4 460010A1 */ cvt.d.s $f2, $f2 +/* DF0378 802414D8 46201080 */ add.d $f2, $f2, $f0 +/* DF037C 802414DC C440002C */ lwc1 $f0, 0x2c($v0) +/* DF0380 802414E0 46000021 */ cvt.d.s $f0, $f0 +/* DF0384 802414E4 4622003C */ c.lt.d $f0, $f2 +/* DF0388 802414E8 00000000 */ nop +/* DF038C 802414EC 4500002C */ bc1f .L802415A0 +/* DF0390 802414F0 02A0202D */ daddu $a0, $s5, $zero +/* DF0394 802414F4 AFA00010 */ sw $zero, 0x10($sp) +/* DF0398 802414F8 8E46000C */ lw $a2, 0xc($s2) +/* DF039C 802414FC 8E470010 */ lw $a3, 0x10($s2) +/* DF03A0 80241500 0C01242D */ jal func_800490B4 +/* DF03A4 80241504 0220282D */ daddu $a1, $s1, $zero +/* DF03A8 80241508 10400025 */ beqz $v0, .L802415A0 +/* DF03AC 8024150C 0000202D */ daddu $a0, $zero, $zero +/* DF03B0 80241510 0200282D */ daddu $a1, $s0, $zero +/* DF03B4 80241514 0000302D */ daddu $a2, $zero, $zero +/* DF03B8 80241518 2412000C */ addiu $s2, $zero, 0xc +/* DF03BC 8024151C 860300A8 */ lh $v1, 0xa8($s0) +/* DF03C0 80241520 3C013F80 */ lui $at, 0x3f80 +/* DF03C4 80241524 44810000 */ mtc1 $at, $f0 +/* DF03C8 80241528 3C014000 */ lui $at, 0x4000 +/* DF03CC 8024152C 44811000 */ mtc1 $at, $f2 +/* DF03D0 80241530 3C01C1A0 */ lui $at, 0xc1a0 +/* DF03D4 80241534 44812000 */ mtc1 $at, $f4 +/* DF03D8 80241538 44834000 */ mtc1 $v1, $f8 +/* DF03DC 8024153C 00000000 */ nop +/* DF03E0 80241540 46804220 */ cvt.s.w $f8, $f8 +/* DF03E4 80241544 44074000 */ mfc1 $a3, $f8 +/* DF03E8 80241548 27A20038 */ addiu $v0, $sp, 0x38 +/* DF03EC 8024154C AFB2001C */ sw $s2, 0x1c($sp) +/* DF03F0 80241550 AFA20020 */ sw $v0, 0x20($sp) +/* DF03F4 80241554 E7A00010 */ swc1 $f0, 0x10($sp) +/* DF03F8 80241558 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF03FC 8024155C 0C01BFA4 */ jal fx_emote +/* DF0400 80241560 E7A40018 */ swc1 $f4, 0x18($sp) +/* DF0404 80241564 0200202D */ daddu $a0, $s0, $zero +/* DF0408 80241568 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DF040C 8024156C C480003C */ lwc1 $f0, 0x3c($a0) +/* DF0410 80241570 3C060020 */ lui $a2, 0x20 +/* DF0414 80241574 0C012530 */ jal func_800494C0 +/* DF0418 80241578 E4800064 */ swc1 $f0, 0x64($a0) +/* DF041C 8024157C 8E220018 */ lw $v0, 0x18($s1) +/* DF0420 80241580 9442002A */ lhu $v0, 0x2a($v0) +/* DF0424 80241584 30420001 */ andi $v0, $v0, 1 +/* DF0428 80241588 10400003 */ beqz $v0, .L80241598 +/* DF042C 8024158C 2402000A */ addiu $v0, $zero, 0xa +/* DF0430 80241590 080905D6 */ j .L80241758 +/* DF0434 80241594 AE620070 */ sw $v0, 0x70($s3) +.L80241598: +/* DF0438 80241598 080905D6 */ j .L80241758 +/* DF043C 8024159C AE720070 */ sw $s2, 0x70($s3) +.L802415A0: +/* DF0440 802415A0 8E620074 */ lw $v0, 0x74($s3) +/* DF0444 802415A4 2442FFFF */ addiu $v0, $v0, -1 +.L802415A8: +/* DF0448 802415A8 0809056D */ j .L802415B4 +/* DF044C 802415AC AE620074 */ sw $v0, 0x74($s3) +.L802415B0: +/* DF0450 802415B0 AE220090 */ sw $v0, 0x90($s1) +.L802415B4: +/* DF0454 802415B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* DF0458 802415B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* DF045C 802415BC C4620000 */ lwc1 $f2, ($v1) +/* DF0460 802415C0 468010A0 */ cvt.s.w $f2, $f2 +/* DF0464 802415C4 C4640008 */ lwc1 $f4, 8($v1) +/* DF0468 802415C8 46802120 */ cvt.s.w $f4, $f4 +/* DF046C 802415CC E7A00010 */ swc1 $f0, 0x10($sp) +/* DF0470 802415D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* DF0474 802415D4 44051000 */ mfc1 $a1, $f2 +/* DF0478 802415D8 C440000C */ lwc1 $f0, 0xc($v0) +/* DF047C 802415DC 46800020 */ cvt.s.w $f0, $f0 +/* DF0480 802415E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* DF0484 802415E4 8E2200D0 */ lw $v0, 0xd0($s1) +/* DF0488 802415E8 44062000 */ mfc1 $a2, $f4 +/* DF048C 802415EC C4400010 */ lwc1 $f0, 0x10($v0) +/* DF0490 802415F0 46800020 */ cvt.s.w $f0, $f0 +/* DF0494 802415F4 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF0498 802415F8 8C640018 */ lw $a0, 0x18($v1) +/* DF049C 802415FC 0C0123F5 */ jal is_point_within_region +/* DF04A0 80241600 8E070038 */ lw $a3, 0x38($s0) +/* DF04A4 80241604 1040001A */ beqz $v0, .L80241670 +/* DF04A8 80241608 00000000 */ nop +/* DF04AC 8024160C 8E060038 */ lw $a2, 0x38($s0) +/* DF04B0 80241610 8E2200D0 */ lw $v0, 0xd0($s1) +/* DF04B4 80241614 8E070040 */ lw $a3, 0x40($s0) +/* DF04B8 80241618 C44C0000 */ lwc1 $f12, ($v0) +/* DF04BC 8024161C 46806320 */ cvt.s.w $f12, $f12 +/* DF04C0 80241620 C44E0008 */ lwc1 $f14, 8($v0) +/* DF04C4 80241624 0C00A7B5 */ jal dist2D +/* DF04C8 80241628 468073A0 */ cvt.s.w $f14, $f14 +/* DF04CC 8024162C C6020018 */ lwc1 $f2, 0x18($s0) +/* DF04D0 80241630 4600103C */ c.lt.s $f2, $f0 +/* DF04D4 80241634 00000000 */ nop +/* DF04D8 80241638 4500000D */ bc1f .L80241670 +/* DF04DC 8024163C E7A00034 */ swc1 $f0, 0x34($sp) +/* DF04E0 80241640 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DF04E4 80241644 8E2200D0 */ lw $v0, 0xd0($s1) +/* DF04E8 80241648 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DF04EC 8024164C C4480000 */ lwc1 $f8, ($v0) +/* DF04F0 80241650 46804220 */ cvt.s.w $f8, $f8 +/* DF04F4 80241654 44064000 */ mfc1 $a2, $f8 +/* DF04F8 80241658 C4480008 */ lwc1 $f8, 8($v0) +/* DF04FC 8024165C 46804220 */ cvt.s.w $f8, $f8 +/* DF0500 80241660 44074000 */ mfc1 $a3, $f8 +/* DF0504 80241664 0C00A720 */ jal atan2 +/* DF0508 80241668 24140001 */ addiu $s4, $zero, 1 +/* DF050C 8024166C E600000C */ swc1 $f0, 0xc($s0) +.L80241670: +/* DF0510 80241670 8E2200D0 */ lw $v0, 0xd0($s1) +/* DF0514 80241674 8C43000C */ lw $v1, 0xc($v0) +/* DF0518 80241678 8C420010 */ lw $v0, 0x10($v0) +/* DF051C 8024167C 00621825 */ or $v1, $v1, $v0 +/* DF0520 80241680 00741825 */ or $v1, $v1, $s4 +/* DF0524 80241684 10600008 */ beqz $v1, .L802416A8 +/* DF0528 80241688 00000000 */ nop +/* DF052C 8024168C 8602008C */ lh $v0, 0x8c($s0) +/* DF0530 80241690 14400031 */ bnez $v0, .L80241758 +/* DF0534 80241694 00000000 */ nop +/* DF0538 80241698 8E050018 */ lw $a1, 0x18($s0) +/* DF053C 8024169C 8E06000C */ lw $a2, 0xc($s0) +/* DF0540 802416A0 0C00EA95 */ jal npc_move_heading +/* DF0544 802416A4 0200202D */ daddu $a0, $s0, $zero +.L802416A8: +/* DF0548 802416A8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF054C 802416AC 3C014059 */ lui $at, 0x4059 +/* DF0550 802416B0 44811800 */ mtc1 $at, $f3 +/* DF0554 802416B4 44801000 */ mtc1 $zero, $f2 +/* DF0558 802416B8 46000021 */ cvt.d.s $f0, $f0 +/* DF055C 802416BC 46220002 */ mul.d $f0, $f0, $f2 +/* DF0560 802416C0 00000000 */ nop +/* DF0564 802416C4 4620020D */ trunc.w.d $f8, $f0 +/* DF0568 802416C8 E628007C */ swc1 $f8, 0x7c($s1) +/* DF056C 802416CC 8E420004 */ lw $v0, 4($s2) +/* DF0570 802416D0 18400021 */ blez $v0, .L80241758 +/* DF0574 802416D4 00000000 */ nop +/* DF0578 802416D8 8602008E */ lh $v0, 0x8e($s0) +/* DF057C 802416DC 9603008E */ lhu $v1, 0x8e($s0) +/* DF0580 802416E0 18400005 */ blez $v0, .L802416F8 +/* DF0584 802416E4 2462FFFF */ addiu $v0, $v1, -1 +/* DF0588 802416E8 A602008E */ sh $v0, 0x8e($s0) +/* DF058C 802416EC 00021400 */ sll $v0, $v0, 0x10 +/* DF0590 802416F0 1C400019 */ bgtz $v0, .L80241758 +/* DF0594 802416F4 00000000 */ nop +.L802416F8: +/* DF0598 802416F8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DF059C 802416FC 24020002 */ addiu $v0, $zero, 2 +/* DF05A0 80241700 0C00A67F */ jal rand_int +/* DF05A4 80241704 AE620070 */ sw $v0, 0x70($s3) +/* DF05A8 80241708 3C035555 */ lui $v1, 0x5555 +/* DF05AC 8024170C 34635556 */ ori $v1, $v1, 0x5556 +/* DF05B0 80241710 00430018 */ mult $v0, $v1 +/* DF05B4 80241714 000227C3 */ sra $a0, $v0, 0x1f +/* DF05B8 80241718 00004010 */ mfhi $t0 +/* DF05BC 8024171C 01042023 */ subu $a0, $t0, $a0 +/* DF05C0 80241720 00041840 */ sll $v1, $a0, 1 +/* DF05C4 80241724 00641821 */ addu $v1, $v1, $a0 +/* DF05C8 80241728 00431023 */ subu $v0, $v0, $v1 +/* DF05CC 8024172C 24430002 */ addiu $v1, $v0, 2 +/* DF05D0 80241730 AE630074 */ sw $v1, 0x74($s3) +/* DF05D4 80241734 8E42002C */ lw $v0, 0x2c($s2) +/* DF05D8 80241738 58400007 */ blezl $v0, .L80241758 +/* DF05DC 8024173C AE600070 */ sw $zero, 0x70($s3) +/* DF05E0 80241740 8E420008 */ lw $v0, 8($s2) +/* DF05E4 80241744 18400003 */ blez $v0, .L80241754 +/* DF05E8 80241748 28620003 */ slti $v0, $v1, 3 +/* DF05EC 8024174C 10400002 */ beqz $v0, .L80241758 +/* DF05F0 80241750 00000000 */ nop +.L80241754: +/* DF05F4 80241754 AE600070 */ sw $zero, 0x70($s3) +.L80241758: +/* DF05F8 80241758 8FBF0058 */ lw $ra, 0x58($sp) +/* DF05FC 8024175C 8FB50054 */ lw $s5, 0x54($sp) +/* DF0600 80241760 8FB40050 */ lw $s4, 0x50($sp) +/* DF0604 80241764 8FB3004C */ lw $s3, 0x4c($sp) +/* DF0608 80241768 8FB20048 */ lw $s2, 0x48($sp) +/* DF060C 8024176C 8FB10044 */ lw $s1, 0x44($sp) +/* DF0610 80241770 8FB00040 */ lw $s0, 0x40($sp) +/* DF0614 80241774 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* DF0618 80241778 D7B80070 */ ldc1 $f24, 0x70($sp) +/* DF061C 8024177C D7B60068 */ ldc1 $f22, 0x68($sp) +/* DF0620 80241780 D7B40060 */ ldc1 $f20, 0x60($sp) +/* DF0624 80241784 03E00008 */ jr $ra +/* DF0628 80241788 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_8024178C.s b/asm/nonmatchings/world/area_omo/omo_17/func_8024178C.s new file mode 100644 index 0000000000..9255760b2f --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_8024178C.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024178C +/* DF062C 8024178C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DF0630 80241790 AFB3001C */ sw $s3, 0x1c($sp) +/* DF0634 80241794 0080982D */ daddu $s3, $a0, $zero +/* DF0638 80241798 AFBF0020 */ sw $ra, 0x20($sp) +/* DF063C 8024179C AFB20018 */ sw $s2, 0x18($sp) +/* DF0640 802417A0 AFB10014 */ sw $s1, 0x14($sp) +/* DF0644 802417A4 AFB00010 */ sw $s0, 0x10($sp) +/* DF0648 802417A8 8E720148 */ lw $s2, 0x148($s3) +/* DF064C 802417AC 86440008 */ lh $a0, 8($s2) +/* DF0650 802417B0 0C00EABB */ jal get_npc_unsafe +/* DF0654 802417B4 00A0882D */ daddu $s1, $a1, $zero +/* DF0658 802417B8 8E240008 */ lw $a0, 8($s1) +/* DF065C 802417BC 0040802D */ daddu $s0, $v0, $zero +/* DF0660 802417C0 00041FC2 */ srl $v1, $a0, 0x1f +/* DF0664 802417C4 00832021 */ addu $a0, $a0, $v1 +/* DF0668 802417C8 00042043 */ sra $a0, $a0, 1 +/* DF066C 802417CC 0C00A67F */ jal rand_int +/* DF0670 802417D0 24840001 */ addiu $a0, $a0, 1 +/* DF0674 802417D4 8E230008 */ lw $v1, 8($s1) +/* DF0678 802417D8 240400B4 */ addiu $a0, $zero, 0xb4 +/* DF067C 802417DC 00032FC2 */ srl $a1, $v1, 0x1f +/* DF0680 802417E0 00651821 */ addu $v1, $v1, $a1 +/* DF0684 802417E4 00031843 */ sra $v1, $v1, 1 +/* DF0688 802417E8 00621821 */ addu $v1, $v1, $v0 +/* DF068C 802417EC 0C00A67F */ jal rand_int +/* DF0690 802417F0 A603008E */ sh $v1, 0x8e($s0) +/* DF0694 802417F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* DF0698 802417F8 44820000 */ mtc1 $v0, $f0 +/* DF069C 802417FC 00000000 */ nop +/* DF06A0 80241800 46800020 */ cvt.s.w $f0, $f0 +/* DF06A4 80241804 46006300 */ add.s $f12, $f12, $f0 +/* DF06A8 80241808 3C0142B4 */ lui $at, 0x42b4 +/* DF06AC 8024180C 44810000 */ mtc1 $at, $f0 +/* DF06B0 80241810 0C00A6C9 */ jal clamp_angle +/* DF06B4 80241814 46006301 */ sub.s $f12, $f12, $f0 +/* DF06B8 80241818 E600000C */ swc1 $f0, 0xc($s0) +/* DF06BC 8024181C 8E4200CC */ lw $v0, 0xcc($s2) +/* DF06C0 80241820 8C420000 */ lw $v0, ($v0) +/* DF06C4 80241824 AE020028 */ sw $v0, 0x28($s0) +/* DF06C8 80241828 24020003 */ addiu $v0, $zero, 3 +/* DF06CC 8024182C AE620070 */ sw $v0, 0x70($s3) +/* DF06D0 80241830 8FBF0020 */ lw $ra, 0x20($sp) +/* DF06D4 80241834 8FB3001C */ lw $s3, 0x1c($sp) +/* DF06D8 80241838 8FB20018 */ lw $s2, 0x18($sp) +/* DF06DC 8024183C 8FB10014 */ lw $s1, 0x14($sp) +/* DF06E0 80241840 8FB00010 */ lw $s0, 0x10($sp) +/* DF06E4 80241844 03E00008 */ jr $ra +/* DF06E8 80241848 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_8024184C.s b/asm/nonmatchings/world/area_omo/omo_17/func_8024184C.s new file mode 100644 index 0000000000..c86c96d710 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_8024184C.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024184C +/* DF06EC 8024184C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* DF06F0 80241850 AFB3004C */ sw $s3, 0x4c($sp) +/* DF06F4 80241854 0080982D */ daddu $s3, $a0, $zero +/* DF06F8 80241858 AFBF0054 */ sw $ra, 0x54($sp) +/* DF06FC 8024185C AFB40050 */ sw $s4, 0x50($sp) +/* DF0700 80241860 AFB20048 */ sw $s2, 0x48($sp) +/* DF0704 80241864 AFB10044 */ sw $s1, 0x44($sp) +/* DF0708 80241868 AFB00040 */ sw $s0, 0x40($sp) +/* DF070C 8024186C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* DF0710 80241870 F7B80068 */ sdc1 $f24, 0x68($sp) +/* DF0714 80241874 F7B60060 */ sdc1 $f22, 0x60($sp) +/* DF0718 80241878 F7B40058 */ sdc1 $f20, 0x58($sp) +/* DF071C 8024187C 8E710148 */ lw $s1, 0x148($s3) +/* DF0720 80241880 00A0902D */ daddu $s2, $a1, $zero +/* DF0724 80241884 86240008 */ lh $a0, 8($s1) +/* DF0728 80241888 0C00EABB */ jal get_npc_unsafe +/* DF072C 8024188C 00C0A02D */ daddu $s4, $a2, $zero +/* DF0730 80241890 0040802D */ daddu $s0, $v0, $zero +/* DF0734 80241894 C6200078 */ lwc1 $f0, 0x78($s1) +/* DF0738 80241898 46800020 */ cvt.s.w $f0, $f0 +/* DF073C 8024189C 46000021 */ cvt.d.s $f0, $f0 +/* DF0740 802418A0 3C014059 */ lui $at, 0x4059 +/* DF0744 802418A4 44811800 */ mtc1 $at, $f3 +/* DF0748 802418A8 44801000 */ mtc1 $zero, $f2 +/* DF074C 802418AC 8602008E */ lh $v0, 0x8e($s0) +/* DF0750 802418B0 9603008E */ lhu $v1, 0x8e($s0) +/* DF0754 802418B4 46220003 */ div.d $f0, $f0, $f2 +/* DF0758 802418B8 46200620 */ cvt.s.d $f24, $f0 +/* DF075C 802418BC C6200088 */ lwc1 $f0, 0x88($s1) +/* DF0760 802418C0 46800020 */ cvt.s.w $f0, $f0 +/* DF0764 802418C4 46000021 */ cvt.d.s $f0, $f0 +/* DF0768 802418C8 46220003 */ div.d $f0, $f0, $f2 +/* DF076C 802418CC 46200020 */ cvt.s.d $f0, $f0 +/* DF0770 802418D0 18400003 */ blez $v0, .L802418E0 +/* DF0774 802418D4 4600C680 */ add.s $f26, $f24, $f0 +/* DF0778 802418D8 2462FFFF */ addiu $v0, $v1, -1 +/* DF077C 802418DC A602008E */ sh $v0, 0x8e($s0) +.L802418E0: +/* DF0780 802418E0 8E220070 */ lw $v0, 0x70($s1) +/* DF0784 802418E4 18400034 */ blez $v0, .L802419B8 +/* DF0788 802418E8 00000000 */ nop +/* DF078C 802418EC C62C0074 */ lwc1 $f12, 0x74($s1) +/* DF0790 802418F0 46806320 */ cvt.s.w $f12, $f12 +/* DF0794 802418F4 44820000 */ mtc1 $v0, $f0 +/* DF0798 802418F8 00000000 */ nop +/* DF079C 802418FC 46800020 */ cvt.s.w $f0, $f0 +/* DF07A0 80241900 46000021 */ cvt.d.s $f0, $f0 +/* DF07A4 80241904 46220003 */ div.d $f0, $f0, $f2 +/* DF07A8 80241908 0C00A8BB */ jal sin_deg +/* DF07AC 8024190C 462005A0 */ cvt.s.d $f22, $f0 +/* DF07B0 80241910 8E020000 */ lw $v0, ($s0) +/* DF07B4 80241914 30420008 */ andi $v0, $v0, 8 +/* DF07B8 80241918 10400003 */ beqz $v0, .L80241928 +/* DF07BC 8024191C 46000506 */ mov.s $f20, $f0 +/* DF07C0 80241920 0809065A */ j .L80241968 +/* DF07C4 80241924 0000102D */ daddu $v0, $zero, $zero +.L80241928: +/* DF07C8 80241928 27A50028 */ addiu $a1, $sp, 0x28 +/* DF07CC 8024192C 27A6002C */ addiu $a2, $sp, 0x2c +/* DF07D0 80241930 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF07D4 80241934 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF07D8 80241938 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF07DC 8024193C 3C01447A */ lui $at, 0x447a +/* DF07E0 80241940 44813000 */ mtc1 $at, $f6 +/* DF07E4 80241944 27A20034 */ addiu $v0, $sp, 0x34 +/* DF07E8 80241948 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF07EC 8024194C E7A2002C */ swc1 $f2, 0x2c($sp) +/* DF07F0 80241950 E7A40030 */ swc1 $f4, 0x30($sp) +/* DF07F4 80241954 E7A60034 */ swc1 $f6, 0x34($sp) +/* DF07F8 80241958 AFA20010 */ sw $v0, 0x10($sp) +/* DF07FC 8024195C 8E040080 */ lw $a0, 0x80($s0) +/* DF0800 80241960 0C0372DF */ jal func_800DCB7C +/* DF0804 80241964 27A70030 */ addiu $a3, $sp, 0x30 +.L80241968: +/* DF0808 80241968 10400007 */ beqz $v0, .L80241988 +/* DF080C 8024196C 00000000 */ nop +/* DF0810 80241970 4616A082 */ mul.s $f2, $f20, $f22 +/* DF0814 80241974 00000000 */ nop +/* DF0818 80241978 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DF081C 8024197C 46180000 */ add.s $f0, $f0, $f24 +/* DF0820 80241980 08090665 */ j .L80241994 +/* DF0824 80241984 46020000 */ add.s $f0, $f0, $f2 +.L80241988: +/* DF0828 80241988 4616A002 */ mul.s $f0, $f20, $f22 +/* DF082C 8024198C 00000000 */ nop +/* DF0830 80241990 4600D000 */ add.s $f0, $f26, $f0 +.L80241994: +/* DF0834 80241994 E600003C */ swc1 $f0, 0x3c($s0) +/* DF0838 80241998 8E220074 */ lw $v0, 0x74($s1) +/* DF083C 8024199C 2442000A */ addiu $v0, $v0, 0xa +/* DF0840 802419A0 44826000 */ mtc1 $v0, $f12 +/* DF0844 802419A4 00000000 */ nop +/* DF0848 802419A8 0C00A6C9 */ jal clamp_angle +/* DF084C 802419AC 46806320 */ cvt.s.w $f12, $f12 +/* DF0850 802419B0 4600020D */ trunc.w.s $f8, $f0 +/* DF0854 802419B4 E6280074 */ swc1 $f8, 0x74($s1) +.L802419B8: +/* DF0858 802419B8 8E220090 */ lw $v0, 0x90($s1) +/* DF085C 802419BC 1C400040 */ bgtz $v0, .L80241AC0 +/* DF0860 802419C0 2442FFFF */ addiu $v0, $v0, -1 +/* DF0864 802419C4 860200A8 */ lh $v0, 0xa8($s0) +/* DF0868 802419C8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF086C 802419CC 44821000 */ mtc1 $v0, $f2 +/* DF0870 802419D0 00000000 */ nop +/* DF0874 802419D4 468010A0 */ cvt.s.w $f2, $f2 +/* DF0878 802419D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF087C 802419DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF0880 802419E0 46020000 */ add.s $f0, $f0, $f2 +/* DF0884 802419E4 3C014024 */ lui $at, 0x4024 +/* DF0888 802419E8 44812800 */ mtc1 $at, $f5 +/* DF088C 802419EC 44802000 */ mtc1 $zero, $f4 +/* DF0890 802419F0 C442002C */ lwc1 $f2, 0x2c($v0) +/* DF0894 802419F4 46000021 */ cvt.d.s $f0, $f0 +/* DF0898 802419F8 46240000 */ add.d $f0, $f0, $f4 +/* DF089C 802419FC 460010A1 */ cvt.d.s $f2, $f2 +/* DF08A0 80241A00 4620103C */ c.lt.d $f2, $f0 +/* DF08A4 80241A04 00000000 */ nop +/* DF08A8 80241A08 4500002E */ bc1f .L80241AC4 +/* DF08AC 80241A0C 0280202D */ daddu $a0, $s4, $zero +/* DF08B0 80241A10 24020001 */ addiu $v0, $zero, 1 +/* DF08B4 80241A14 AFA20010 */ sw $v0, 0x10($sp) +/* DF08B8 80241A18 8E460024 */ lw $a2, 0x24($s2) +/* DF08BC 80241A1C 8E470028 */ lw $a3, 0x28($s2) +/* DF08C0 80241A20 0C01242D */ jal func_800490B4 +/* DF08C4 80241A24 0220282D */ daddu $a1, $s1, $zero +/* DF08C8 80241A28 10400026 */ beqz $v0, .L80241AC4 +/* DF08CC 80241A2C 0000202D */ daddu $a0, $zero, $zero +/* DF08D0 80241A30 0200282D */ daddu $a1, $s0, $zero +/* DF08D4 80241A34 0000302D */ daddu $a2, $zero, $zero +/* DF08D8 80241A38 2412000C */ addiu $s2, $zero, 0xc +/* DF08DC 80241A3C 860300A8 */ lh $v1, 0xa8($s0) +/* DF08E0 80241A40 3C013F80 */ lui $at, 0x3f80 +/* DF08E4 80241A44 44810000 */ mtc1 $at, $f0 +/* DF08E8 80241A48 3C014000 */ lui $at, 0x4000 +/* DF08EC 80241A4C 44811000 */ mtc1 $at, $f2 +/* DF08F0 80241A50 3C01C1A0 */ lui $at, 0xc1a0 +/* DF08F4 80241A54 44812000 */ mtc1 $at, $f4 +/* DF08F8 80241A58 44834000 */ mtc1 $v1, $f8 +/* DF08FC 80241A5C 00000000 */ nop +/* DF0900 80241A60 46804220 */ cvt.s.w $f8, $f8 +/* DF0904 80241A64 44074000 */ mfc1 $a3, $f8 +/* DF0908 80241A68 27A20038 */ addiu $v0, $sp, 0x38 +/* DF090C 80241A6C AFB2001C */ sw $s2, 0x1c($sp) +/* DF0910 80241A70 AFA20020 */ sw $v0, 0x20($sp) +/* DF0914 80241A74 E7A00010 */ swc1 $f0, 0x10($sp) +/* DF0918 80241A78 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF091C 80241A7C 0C01BFA4 */ jal fx_emote +/* DF0920 80241A80 E7A40018 */ swc1 $f4, 0x18($sp) +/* DF0924 80241A84 0200202D */ daddu $a0, $s0, $zero +/* DF0928 80241A88 240502F4 */ addiu $a1, $zero, 0x2f4 +/* DF092C 80241A8C C480003C */ lwc1 $f0, 0x3c($a0) +/* DF0930 80241A90 3C060020 */ lui $a2, 0x20 +/* DF0934 80241A94 0C012530 */ jal func_800494C0 +/* DF0938 80241A98 E4800064 */ swc1 $f0, 0x64($a0) +/* DF093C 80241A9C 8E220018 */ lw $v0, 0x18($s1) +/* DF0940 80241AA0 9442002A */ lhu $v0, 0x2a($v0) +/* DF0944 80241AA4 30420001 */ andi $v0, $v0, 1 +/* DF0948 80241AA8 10400003 */ beqz $v0, .L80241AB8 +/* DF094C 80241AAC 2402000A */ addiu $v0, $zero, 0xa +/* DF0950 80241AB0 080906D8 */ j .L80241B60 +/* DF0954 80241AB4 AE620070 */ sw $v0, 0x70($s3) +.L80241AB8: +/* DF0958 80241AB8 080906D8 */ j .L80241B60 +/* DF095C 80241ABC AE720070 */ sw $s2, 0x70($s3) +.L80241AC0: +/* DF0960 80241AC0 AE220090 */ sw $v0, 0x90($s1) +.L80241AC4: +/* DF0964 80241AC4 8602008C */ lh $v0, 0x8c($s0) +/* DF0968 80241AC8 14400025 */ bnez $v0, .L80241B60 +/* DF096C 80241ACC 00000000 */ nop +/* DF0970 80241AD0 8602008E */ lh $v0, 0x8e($s0) +/* DF0974 80241AD4 1C400022 */ bgtz $v0, .L80241B60 +/* DF0978 80241AD8 00000000 */ nop +/* DF097C 80241ADC 8E620074 */ lw $v0, 0x74($s3) +/* DF0980 80241AE0 2442FFFF */ addiu $v0, $v0, -1 +/* DF0984 80241AE4 1840001D */ blez $v0, .L80241B5C +/* DF0988 80241AE8 AE620074 */ sw $v0, 0x74($s3) +/* DF098C 80241AEC 8E220018 */ lw $v0, 0x18($s1) +/* DF0990 80241AF0 9442002A */ lhu $v0, 0x2a($v0) +/* DF0994 80241AF4 30420010 */ andi $v0, $v0, 0x10 +/* DF0998 80241AF8 14400007 */ bnez $v0, .L80241B18 +/* DF099C 80241AFC 00000000 */ nop +/* DF09A0 80241B00 C600000C */ lwc1 $f0, 0xc($s0) +/* DF09A4 80241B04 3C014334 */ lui $at, 0x4334 +/* DF09A8 80241B08 44816000 */ mtc1 $at, $f12 +/* DF09AC 80241B0C 0C00A6C9 */ jal clamp_angle +/* DF09B0 80241B10 460C0300 */ add.s $f12, $f0, $f12 +/* DF09B4 80241B14 E600000C */ swc1 $f0, 0xc($s0) +.L80241B18: +/* DF09B8 80241B18 0C00A67F */ jal rand_int +/* DF09BC 80241B1C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* DF09C0 80241B20 3C032E8B */ lui $v1, 0x2e8b +/* DF09C4 80241B24 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* DF09C8 80241B28 00430018 */ mult $v0, $v1 +/* DF09CC 80241B2C 00021FC3 */ sra $v1, $v0, 0x1f +/* DF09D0 80241B30 00004010 */ mfhi $t0 +/* DF09D4 80241B34 00082043 */ sra $a0, $t0, 1 +/* DF09D8 80241B38 00832023 */ subu $a0, $a0, $v1 +/* DF09DC 80241B3C 00041840 */ sll $v1, $a0, 1 +/* DF09E0 80241B40 00641821 */ addu $v1, $v1, $a0 +/* DF09E4 80241B44 00031880 */ sll $v1, $v1, 2 +/* DF09E8 80241B48 00641823 */ subu $v1, $v1, $a0 +/* DF09EC 80241B4C 00431023 */ subu $v0, $v0, $v1 +/* DF09F0 80241B50 24420005 */ addiu $v0, $v0, 5 +/* DF09F4 80241B54 080906D8 */ j .L80241B60 +/* DF09F8 80241B58 A602008E */ sh $v0, 0x8e($s0) +.L80241B5C: +/* DF09FC 80241B5C AE600070 */ sw $zero, 0x70($s3) +.L80241B60: +/* DF0A00 80241B60 8FBF0054 */ lw $ra, 0x54($sp) +/* DF0A04 80241B64 8FB40050 */ lw $s4, 0x50($sp) +/* DF0A08 80241B68 8FB3004C */ lw $s3, 0x4c($sp) +/* DF0A0C 80241B6C 8FB20048 */ lw $s2, 0x48($sp) +/* DF0A10 80241B70 8FB10044 */ lw $s1, 0x44($sp) +/* DF0A14 80241B74 8FB00040 */ lw $s0, 0x40($sp) +/* DF0A18 80241B78 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* DF0A1C 80241B7C D7B80068 */ ldc1 $f24, 0x68($sp) +/* DF0A20 80241B80 D7B60060 */ ldc1 $f22, 0x60($sp) +/* DF0A24 80241B84 D7B40058 */ ldc1 $f20, 0x58($sp) +/* DF0A28 80241B88 03E00008 */ jr $ra +/* DF0A2C 80241B8C 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241B90_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241B90_DEEEA0.s new file mode 100644 index 0000000000..914f2a3bf2 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241B90_DEEEA0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B90_DF0A30 +/* DF0A30 80241B90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DF0A34 80241B94 AFB20018 */ sw $s2, 0x18($sp) +/* DF0A38 80241B98 0080902D */ daddu $s2, $a0, $zero +/* DF0A3C 80241B9C AFBF001C */ sw $ra, 0x1c($sp) +/* DF0A40 80241BA0 AFB10014 */ sw $s1, 0x14($sp) +/* DF0A44 80241BA4 AFB00010 */ sw $s0, 0x10($sp) +/* DF0A48 80241BA8 8E510148 */ lw $s1, 0x148($s2) +/* DF0A4C 80241BAC 0C00EABB */ jal get_npc_unsafe +/* DF0A50 80241BB0 86240008 */ lh $a0, 8($s1) +/* DF0A54 80241BB4 0040802D */ daddu $s0, $v0, $zero +/* DF0A58 80241BB8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF0A5C 80241BBC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF0A60 80241BC0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DF0A64 80241BC4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* DF0A68 80241BC8 A600008E */ sh $zero, 0x8e($s0) +/* DF0A6C 80241BCC 8C460028 */ lw $a2, 0x28($v0) +/* DF0A70 80241BD0 0C00A720 */ jal atan2 +/* DF0A74 80241BD4 8C470030 */ lw $a3, 0x30($v0) +/* DF0A78 80241BD8 E600000C */ swc1 $f0, 0xc($s0) +/* DF0A7C 80241BDC 8E2200CC */ lw $v0, 0xcc($s1) +/* DF0A80 80241BE0 8C420020 */ lw $v0, 0x20($v0) +/* DF0A84 80241BE4 AE020028 */ sw $v0, 0x28($s0) +/* DF0A88 80241BE8 2402000B */ addiu $v0, $zero, 0xb +/* DF0A8C 80241BEC AE420070 */ sw $v0, 0x70($s2) +/* DF0A90 80241BF0 8FBF001C */ lw $ra, 0x1c($sp) +/* DF0A94 80241BF4 8FB20018 */ lw $s2, 0x18($sp) +/* DF0A98 80241BF8 8FB10014 */ lw $s1, 0x14($sp) +/* DF0A9C 80241BFC 8FB00010 */ lw $s0, 0x10($sp) +/* DF0AA0 80241C00 03E00008 */ jr $ra +/* DF0AA4 80241C04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241C08.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241C08.s new file mode 100644 index 0000000000..7e4aefadb4 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241C08.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C08 +/* DF0AA8 80241C08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF0AAC 80241C0C AFB00010 */ sw $s0, 0x10($sp) +/* DF0AB0 80241C10 0080802D */ daddu $s0, $a0, $zero +/* DF0AB4 80241C14 AFBF0014 */ sw $ra, 0x14($sp) +/* DF0AB8 80241C18 8E020148 */ lw $v0, 0x148($s0) +/* DF0ABC 80241C1C 0C00EABB */ jal get_npc_unsafe +/* DF0AC0 80241C20 84440008 */ lh $a0, 8($v0) +/* DF0AC4 80241C24 9443008E */ lhu $v1, 0x8e($v0) +/* DF0AC8 80241C28 C440003C */ lwc1 $f0, 0x3c($v0) +/* DF0ACC 80241C2C 24640001 */ addiu $a0, $v1, 1 +/* DF0AD0 80241C30 00031C00 */ sll $v1, $v1, 0x10 +/* DF0AD4 80241C34 00031B83 */ sra $v1, $v1, 0xe +/* DF0AD8 80241C38 A444008E */ sh $a0, 0x8e($v0) +/* DF0ADC 80241C3C 3C018024 */ lui $at, 0x8024 +/* DF0AE0 80241C40 00230821 */ addu $at, $at, $v1 +/* DF0AE4 80241C44 C4226184 */ lwc1 $f2, 0x6184($at) +/* DF0AE8 80241C48 8443008E */ lh $v1, 0x8e($v0) +/* DF0AEC 80241C4C 46020000 */ add.s $f0, $f0, $f2 +/* DF0AF0 80241C50 28630005 */ slti $v1, $v1, 5 +/* DF0AF4 80241C54 14600003 */ bnez $v1, .L80241C64 +/* DF0AF8 80241C58 E440003C */ swc1 $f0, 0x3c($v0) +/* DF0AFC 80241C5C 2402000C */ addiu $v0, $zero, 0xc +/* DF0B00 80241C60 AE020070 */ sw $v0, 0x70($s0) +.L80241C64: +/* DF0B04 80241C64 8FBF0014 */ lw $ra, 0x14($sp) +/* DF0B08 80241C68 8FB00010 */ lw $s0, 0x10($sp) +/* DF0B0C 80241C6C 03E00008 */ jr $ra +/* DF0B10 80241C70 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241C74_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241C74_DEEEA0.s new file mode 100644 index 0000000000..454ddb2bd9 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241C74_DEEEA0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C74_DF0B14 +/* DF0B14 80241C74 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DF0B18 80241C78 AFB3001C */ sw $s3, 0x1c($sp) +/* DF0B1C 80241C7C 0080982D */ daddu $s3, $a0, $zero +/* DF0B20 80241C80 AFBF0020 */ sw $ra, 0x20($sp) +/* DF0B24 80241C84 AFB20018 */ sw $s2, 0x18($sp) +/* DF0B28 80241C88 AFB10014 */ sw $s1, 0x14($sp) +/* DF0B2C 80241C8C AFB00010 */ sw $s0, 0x10($sp) +/* DF0B30 80241C90 8E720148 */ lw $s2, 0x148($s3) +/* DF0B34 80241C94 86440008 */ lh $a0, 8($s2) +/* DF0B38 80241C98 0C00EABB */ jal get_npc_unsafe +/* DF0B3C 80241C9C 00A0802D */ daddu $s0, $a1, $zero +/* DF0B40 80241CA0 0040882D */ daddu $s1, $v0, $zero +/* DF0B44 80241CA4 C6420080 */ lwc1 $f2, 0x80($s2) +/* DF0B48 80241CA8 468010A0 */ cvt.s.w $f2, $f2 +/* DF0B4C 80241CAC 460010A1 */ cvt.d.s $f2, $f2 +/* DF0B50 80241CB0 C6400084 */ lwc1 $f0, 0x84($s2) +/* DF0B54 80241CB4 46800020 */ cvt.s.w $f0, $f0 +/* DF0B58 80241CB8 46000021 */ cvt.d.s $f0, $f0 +/* DF0B5C 80241CBC 3C014059 */ lui $at, 0x4059 +/* DF0B60 80241CC0 44812800 */ mtc1 $at, $f5 +/* DF0B64 80241CC4 44802000 */ mtc1 $zero, $f4 +/* DF0B68 80241CC8 8E4200CC */ lw $v0, 0xcc($s2) +/* DF0B6C 80241CCC C62C0038 */ lwc1 $f12, 0x38($s1) +/* DF0B70 80241CD0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* DF0B74 80241CD4 46241083 */ div.d $f2, $f2, $f4 +/* DF0B78 80241CD8 462010A0 */ cvt.s.d $f2, $f2 +/* DF0B7C 80241CDC 46240003 */ div.d $f0, $f0, $f4 +/* DF0B80 80241CE0 8C420020 */ lw $v0, 0x20($v0) +/* DF0B84 80241CE4 46200020 */ cvt.s.d $f0, $f0 +/* DF0B88 80241CE8 E622001C */ swc1 $f2, 0x1c($s1) +/* DF0B8C 80241CEC E6200014 */ swc1 $f0, 0x14($s1) +/* DF0B90 80241CF0 AE220028 */ sw $v0, 0x28($s1) +/* DF0B94 80241CF4 C6000018 */ lwc1 $f0, 0x18($s0) +/* DF0B98 80241CF8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF0B9C 80241CFC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF0BA0 80241D00 E6200018 */ swc1 $f0, 0x18($s1) +/* DF0BA4 80241D04 8C460028 */ lw $a2, 0x28($v0) +/* DF0BA8 80241D08 0C00A720 */ jal atan2 +/* DF0BAC 80241D0C 8C470030 */ lw $a3, 0x30($v0) +/* DF0BB0 80241D10 E620000C */ swc1 $f0, 0xc($s1) +/* DF0BB4 80241D14 8E420018 */ lw $v0, 0x18($s2) +/* DF0BB8 80241D18 AE400074 */ sw $zero, 0x74($s2) +/* DF0BBC 80241D1C 9442002A */ lhu $v0, 0x2a($v0) +/* DF0BC0 80241D20 30420002 */ andi $v0, $v0, 2 +/* DF0BC4 80241D24 10400005 */ beqz $v0, .L80241D3C +/* DF0BC8 80241D28 24020003 */ addiu $v0, $zero, 3 +/* DF0BCC 80241D2C A622008E */ sh $v0, 0x8e($s1) +/* DF0BD0 80241D30 2402000D */ addiu $v0, $zero, 0xd +/* DF0BD4 80241D34 08090763 */ j .L80241D8C +/* DF0BD8 80241D38 AE620070 */ sw $v0, 0x70($s3) +.L80241D3C: +/* DF0BDC 80241D3C 24030001 */ addiu $v1, $zero, 1 +/* DF0BE0 80241D40 2402000E */ addiu $v0, $zero, 0xe +/* DF0BE4 80241D44 A623008E */ sh $v1, 0x8e($s1) +/* DF0BE8 80241D48 AE620070 */ sw $v0, 0x70($s3) +/* DF0BEC 80241D4C C6200038 */ lwc1 $f0, 0x38($s1) +/* DF0BF0 80241D50 4600018D */ trunc.w.s $f6, $f0 +/* DF0BF4 80241D54 44023000 */ mfc1 $v0, $f6 +/* DF0BF8 80241D58 00000000 */ nop +/* DF0BFC 80241D5C A6420010 */ sh $v0, 0x10($s2) +/* DF0C00 80241D60 C620003C */ lwc1 $f0, 0x3c($s1) +/* DF0C04 80241D64 4600018D */ trunc.w.s $f6, $f0 +/* DF0C08 80241D68 44023000 */ mfc1 $v0, $f6 +/* DF0C0C 80241D6C 00000000 */ nop +/* DF0C10 80241D70 A6420012 */ sh $v0, 0x12($s2) +/* DF0C14 80241D74 C6200040 */ lwc1 $f0, 0x40($s1) +/* DF0C18 80241D78 A2430007 */ sb $v1, 7($s2) +/* DF0C1C 80241D7C 4600018D */ trunc.w.s $f6, $f0 +/* DF0C20 80241D80 44023000 */ mfc1 $v0, $f6 +/* DF0C24 80241D84 00000000 */ nop +/* DF0C28 80241D88 A6420014 */ sh $v0, 0x14($s2) +.L80241D8C: +/* DF0C2C 80241D8C 8FBF0020 */ lw $ra, 0x20($sp) +/* DF0C30 80241D90 8FB3001C */ lw $s3, 0x1c($sp) +/* DF0C34 80241D94 8FB20018 */ lw $s2, 0x18($sp) +/* DF0C38 80241D98 8FB10014 */ lw $s1, 0x14($sp) +/* DF0C3C 80241D9C 8FB00010 */ lw $s0, 0x10($sp) +/* DF0C40 80241DA0 03E00008 */ jr $ra +/* DF0C44 80241DA4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241DA8_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241DA8_DEEEA0.s new file mode 100644 index 0000000000..df26fc4af7 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241DA8_DEEEA0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DA8_DF0C48 +/* DF0C48 80241DA8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF0C4C 80241DAC AFB00010 */ sw $s0, 0x10($sp) +/* DF0C50 80241DB0 0080802D */ daddu $s0, $a0, $zero +/* DF0C54 80241DB4 AFBF0014 */ sw $ra, 0x14($sp) +/* DF0C58 80241DB8 8E020148 */ lw $v0, 0x148($s0) +/* DF0C5C 80241DBC 0C00EABB */ jal get_npc_unsafe +/* DF0C60 80241DC0 84440008 */ lh $a0, 8($v0) +/* DF0C64 80241DC4 0040202D */ daddu $a0, $v0, $zero +/* DF0C68 80241DC8 8482008E */ lh $v0, 0x8e($a0) +/* DF0C6C 80241DCC 9483008E */ lhu $v1, 0x8e($a0) +/* DF0C70 80241DD0 18400005 */ blez $v0, .L80241DE8 +/* DF0C74 80241DD4 2462FFFF */ addiu $v0, $v1, -1 +/* DF0C78 80241DD8 A482008E */ sh $v0, 0x8e($a0) +/* DF0C7C 80241DDC 00021400 */ sll $v0, $v0, 0x10 +/* DF0C80 80241DE0 1C400006 */ bgtz $v0, .L80241DFC +/* DF0C84 80241DE4 00000000 */ nop +.L80241DE8: +/* DF0C88 80241DE8 8482008C */ lh $v0, 0x8c($a0) +/* DF0C8C 80241DEC 14400003 */ bnez $v0, .L80241DFC +/* DF0C90 80241DF0 2402000E */ addiu $v0, $zero, 0xe +/* DF0C94 80241DF4 A480008E */ sh $zero, 0x8e($a0) +/* DF0C98 80241DF8 AE020070 */ sw $v0, 0x70($s0) +.L80241DFC: +/* DF0C9C 80241DFC 8FBF0014 */ lw $ra, 0x14($sp) +/* DF0CA0 80241E00 8FB00010 */ lw $s0, 0x10($sp) +/* DF0CA4 80241E04 03E00008 */ jr $ra +/* DF0CA8 80241E08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80241E0C.s b/asm/nonmatchings/world/area_omo/omo_17/func_80241E0C.s new file mode 100644 index 0000000000..d42c26422b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80241E0C.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E0C +/* DF0CAC 80241E0C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DF0CB0 80241E10 AFB20030 */ sw $s2, 0x30($sp) +/* DF0CB4 80241E14 0080902D */ daddu $s2, $a0, $zero +/* DF0CB8 80241E18 AFBF0038 */ sw $ra, 0x38($sp) +/* DF0CBC 80241E1C AFB30034 */ sw $s3, 0x34($sp) +/* DF0CC0 80241E20 AFB1002C */ sw $s1, 0x2c($sp) +/* DF0CC4 80241E24 AFB00028 */ sw $s0, 0x28($sp) +/* DF0CC8 80241E28 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DF0CCC 80241E2C F7B40040 */ sdc1 $f20, 0x40($sp) +/* DF0CD0 80241E30 8E510148 */ lw $s1, 0x148($s2) +/* DF0CD4 80241E34 86240008 */ lh $a0, 8($s1) +/* DF0CD8 80241E38 0C00EABB */ jal get_npc_unsafe +/* DF0CDC 80241E3C 00A0982D */ daddu $s3, $a1, $zero +/* DF0CE0 80241E40 0040802D */ daddu $s0, $v0, $zero +/* DF0CE4 80241E44 0200202D */ daddu $a0, $s0, $zero +/* DF0CE8 80241E48 C6220088 */ lwc1 $f2, 0x88($s1) +/* DF0CEC 80241E4C 468010A0 */ cvt.s.w $f2, $f2 +/* DF0CF0 80241E50 460010A1 */ cvt.d.s $f2, $f2 +/* DF0CF4 80241E54 C604001C */ lwc1 $f4, 0x1c($s0) +/* DF0CF8 80241E58 C6000014 */ lwc1 $f0, 0x14($s0) +/* DF0CFC 80241E5C 8E050018 */ lw $a1, 0x18($s0) +/* DF0D00 80241E60 46002100 */ add.s $f4, $f4, $f0 +/* DF0D04 80241E64 8E06000C */ lw $a2, 0xc($s0) +/* DF0D08 80241E68 C6200078 */ lwc1 $f0, 0x78($s1) +/* DF0D0C 80241E6C 46800020 */ cvt.s.w $f0, $f0 +/* DF0D10 80241E70 E604001C */ swc1 $f4, 0x1c($s0) +/* DF0D14 80241E74 3C014059 */ lui $at, 0x4059 +/* DF0D18 80241E78 44812800 */ mtc1 $at, $f5 +/* DF0D1C 80241E7C 44802000 */ mtc1 $zero, $f4 +/* DF0D20 80241E80 46000021 */ cvt.d.s $f0, $f0 +/* DF0D24 80241E84 46240003 */ div.d $f0, $f0, $f4 +/* DF0D28 80241E88 46200520 */ cvt.s.d $f20, $f0 +/* DF0D2C 80241E8C 46241083 */ div.d $f2, $f2, $f4 +/* DF0D30 80241E90 0C00EA95 */ jal npc_move_heading +/* DF0D34 80241E94 462015A0 */ cvt.s.d $f22, $f2 +/* DF0D38 80241E98 C604001C */ lwc1 $f4, 0x1c($s0) +/* DF0D3C 80241E9C 44801000 */ mtc1 $zero, $f2 +/* DF0D40 80241EA0 44801800 */ mtc1 $zero, $f3 +/* DF0D44 80241EA4 46002021 */ cvt.d.s $f0, $f4 +/* DF0D48 80241EA8 4620103E */ c.le.d $f2, $f0 +/* DF0D4C 80241EAC 00000000 */ nop +/* DF0D50 80241EB0 45000030 */ bc1f .L80241F74 +/* DF0D54 80241EB4 00000000 */ nop +/* DF0D58 80241EB8 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF0D5C 80241EBC 46040000 */ add.s $f0, $f0, $f4 +/* DF0D60 80241EC0 E600003C */ swc1 $f0, 0x3c($s0) +/* DF0D64 80241EC4 8E2200CC */ lw $v0, 0xcc($s1) +/* DF0D68 80241EC8 8C420024 */ lw $v0, 0x24($v0) +/* DF0D6C 80241ECC AE020028 */ sw $v0, 0x28($s0) +/* DF0D70 80241ED0 A2200007 */ sb $zero, 7($s1) +/* DF0D74 80241ED4 8E020000 */ lw $v0, ($s0) +/* DF0D78 80241ED8 30420008 */ andi $v0, $v0, 8 +/* DF0D7C 80241EDC 14400011 */ bnez $v0, .L80241F24 +/* DF0D80 80241EE0 0000102D */ daddu $v0, $zero, $zero +/* DF0D84 80241EE4 27A50018 */ addiu $a1, $sp, 0x18 +/* DF0D88 80241EE8 27A6001C */ addiu $a2, $sp, 0x1c +/* DF0D8C 80241EEC C6000038 */ lwc1 $f0, 0x38($s0) +/* DF0D90 80241EF0 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF0D94 80241EF4 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF0D98 80241EF8 3C01447A */ lui $at, 0x447a +/* DF0D9C 80241EFC 44813000 */ mtc1 $at, $f6 +/* DF0DA0 80241F00 27A20024 */ addiu $v0, $sp, 0x24 +/* DF0DA4 80241F04 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF0DA8 80241F08 E7A2001C */ swc1 $f2, 0x1c($sp) +/* DF0DAC 80241F0C E7A40020 */ swc1 $f4, 0x20($sp) +/* DF0DB0 80241F10 E7A60024 */ swc1 $f6, 0x24($sp) +/* DF0DB4 80241F14 AFA20010 */ sw $v0, 0x10($sp) +/* DF0DB8 80241F18 8E040080 */ lw $a0, 0x80($s0) +/* DF0DBC 80241F1C 0C0372DF */ jal func_800DCB7C +/* DF0DC0 80241F20 27A70020 */ addiu $a3, $sp, 0x20 +.L80241F24: +/* DF0DC4 80241F24 1040000B */ beqz $v0, .L80241F54 +/* DF0DC8 80241F28 00000000 */ nop +/* DF0DCC 80241F2C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DF0DD0 80241F30 46140080 */ add.s $f2, $f0, $f20 +/* DF0DD4 80241F34 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF0DD8 80241F38 4600103E */ c.le.s $f2, $f0 +/* DF0DDC 80241F3C 00000000 */ nop +/* DF0DE0 80241F40 4500008D */ bc1f .L80242178 +/* DF0DE4 80241F44 00000000 */ nop +/* DF0DE8 80241F48 E602003C */ swc1 $f2, 0x3c($s0) +/* DF0DEC 80241F4C 0809085E */ j .L80242178 +/* DF0DF0 80241F50 AE400070 */ sw $zero, 0x70($s2) +.L80241F54: +/* DF0DF4 80241F54 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF0DF8 80241F58 C6000064 */ lwc1 $f0, 0x64($s0) +/* DF0DFC 80241F5C 4602003E */ c.le.s $f0, $f2 +/* DF0E00 80241F60 00000000 */ nop +/* DF0E04 80241F64 45030084 */ bc1tl .L80242178 +/* DF0E08 80241F68 AE400070 */ sw $zero, 0x70($s2) +/* DF0E0C 80241F6C 0809085E */ j .L80242178 +/* DF0E10 80241F70 00000000 */ nop +.L80241F74: +/* DF0E14 80241F74 4622003C */ c.lt.d $f0, $f2 +/* DF0E18 80241F78 00000000 */ nop +/* DF0E1C 80241F7C 4500007E */ bc1f .L80242178 +/* DF0E20 80241F80 00000000 */ nop +/* DF0E24 80241F84 9602008E */ lhu $v0, 0x8e($s0) +/* DF0E28 80241F88 24420001 */ addiu $v0, $v0, 1 +/* DF0E2C 80241F8C A602008E */ sh $v0, 0x8e($s0) +/* DF0E30 80241F90 00021400 */ sll $v0, $v0, 0x10 +/* DF0E34 80241F94 8E630020 */ lw $v1, 0x20($s3) +/* DF0E38 80241F98 00021403 */ sra $v0, $v0, 0x10 +/* DF0E3C 80241F9C 0043102A */ slt $v0, $v0, $v1 +/* DF0E40 80241FA0 14400026 */ bnez $v0, .L8024203C +/* DF0E44 80241FA4 00000000 */ nop +/* DF0E48 80241FA8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DF0E4C 80241FAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* DF0E50 80241FB0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF0E54 80241FB4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF0E58 80241FB8 A600008E */ sh $zero, 0x8e($s0) +/* DF0E5C 80241FBC 8C460028 */ lw $a2, 0x28($v0) +/* DF0E60 80241FC0 0C00A720 */ jal atan2 +/* DF0E64 80241FC4 8C470030 */ lw $a3, 0x30($v0) +/* DF0E68 80241FC8 46000506 */ mov.s $f20, $f0 +/* DF0E6C 80241FCC C60C000C */ lwc1 $f12, 0xc($s0) +/* DF0E70 80241FD0 0C00A70A */ jal get_clamped_angle_diff +/* DF0E74 80241FD4 4600A386 */ mov.s $f14, $f20 +/* DF0E78 80241FD8 46000086 */ mov.s $f2, $f0 +/* DF0E7C 80241FDC 8E62001C */ lw $v0, 0x1c($s3) +/* DF0E80 80241FE0 46001005 */ abs.s $f0, $f2 +/* DF0E84 80241FE4 44822000 */ mtc1 $v0, $f4 +/* DF0E88 80241FE8 00000000 */ nop +/* DF0E8C 80241FEC 46802120 */ cvt.s.w $f4, $f4 +/* DF0E90 80241FF0 4600203C */ c.lt.s $f4, $f0 +/* DF0E94 80241FF4 00000000 */ nop +/* DF0E98 80241FF8 4500000D */ bc1f .L80242030 +/* DF0E9C 80241FFC 00000000 */ nop +/* DF0EA0 80242000 44800000 */ mtc1 $zero, $f0 +/* DF0EA4 80242004 C614000C */ lwc1 $f20, 0xc($s0) +/* DF0EA8 80242008 4600103C */ c.lt.s $f2, $f0 +/* DF0EAC 8024200C 00000000 */ nop +/* DF0EB0 80242010 45000006 */ bc1f .L8024202C +/* DF0EB4 80242014 00021023 */ negu $v0, $v0 +/* DF0EB8 80242018 44820000 */ mtc1 $v0, $f0 +/* DF0EBC 8024201C 00000000 */ nop +/* DF0EC0 80242020 46800020 */ cvt.s.w $f0, $f0 +/* DF0EC4 80242024 0809080C */ j .L80242030 +/* DF0EC8 80242028 4600A500 */ add.s $f20, $f20, $f0 +.L8024202C: +/* DF0ECC 8024202C 4604A500 */ add.s $f20, $f20, $f4 +.L80242030: +/* DF0ED0 80242030 0C00A6C9 */ jal clamp_angle +/* DF0ED4 80242034 4600A306 */ mov.s $f12, $f20 +/* DF0ED8 80242038 E600000C */ swc1 $f0, 0xc($s0) +.L8024203C: +/* DF0EDC 8024203C 8E020000 */ lw $v0, ($s0) +/* DF0EE0 80242040 30420008 */ andi $v0, $v0, 8 +/* DF0EE4 80242044 1040000A */ beqz $v0, .L80242070 +/* DF0EE8 80242048 27A50018 */ addiu $a1, $sp, 0x18 +/* DF0EEC 8024204C C602003C */ lwc1 $f2, 0x3c($s0) +/* DF0EF0 80242050 C600001C */ lwc1 $f0, 0x1c($s0) +/* DF0EF4 80242054 46001080 */ add.s $f2, $f2, $f0 +/* DF0EF8 80242058 4616103C */ c.lt.s $f2, $f22 +/* DF0EFC 8024205C 00000000 */ nop +/* DF0F00 80242060 45020045 */ bc1fl .L80242178 +/* DF0F04 80242064 E602003C */ swc1 $f2, 0x3c($s0) +/* DF0F08 80242068 0809085D */ j .L80242174 +/* DF0F0C 8024206C E616003C */ swc1 $f22, 0x3c($s0) +.L80242070: +/* DF0F10 80242070 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF0F14 80242074 27A6001C */ addiu $a2, $sp, 0x1c +/* DF0F18 80242078 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF0F1C 8024207C 860200A8 */ lh $v0, 0xa8($s0) +/* DF0F20 80242080 C600001C */ lwc1 $f0, 0x1c($s0) +/* DF0F24 80242084 C604003C */ lwc1 $f4, 0x3c($s0) +/* DF0F28 80242088 44821000 */ mtc1 $v0, $f2 +/* DF0F2C 8024208C 00000000 */ nop +/* DF0F30 80242090 468010A0 */ cvt.s.w $f2, $f2 +/* DF0F34 80242094 46000005 */ abs.s $f0, $f0 +/* DF0F38 80242098 46020000 */ add.s $f0, $f0, $f2 +/* DF0F3C 8024209C C6060040 */ lwc1 $f6, 0x40($s0) +/* DF0F40 802420A0 27A20024 */ addiu $v0, $sp, 0x24 +/* DF0F44 802420A4 46022100 */ add.s $f4, $f4, $f2 +/* DF0F48 802420A8 3C014024 */ lui $at, 0x4024 +/* DF0F4C 802420AC 44811800 */ mtc1 $at, $f3 +/* DF0F50 802420B0 44801000 */ mtc1 $zero, $f2 +/* DF0F54 802420B4 46000021 */ cvt.d.s $f0, $f0 +/* DF0F58 802420B8 46220000 */ add.d $f0, $f0, $f2 +/* DF0F5C 802420BC E7A60020 */ swc1 $f6, 0x20($sp) +/* DF0F60 802420C0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* DF0F64 802420C4 46200020 */ cvt.s.d $f0, $f0 +/* DF0F68 802420C8 E7A00024 */ swc1 $f0, 0x24($sp) +/* DF0F6C 802420CC AFA20010 */ sw $v0, 0x10($sp) +/* DF0F70 802420D0 8E040080 */ lw $a0, 0x80($s0) +/* DF0F74 802420D4 0C0372DF */ jal func_800DCB7C +/* DF0F78 802420D8 27A70020 */ addiu $a3, $sp, 0x20 +/* DF0F7C 802420DC 10400015 */ beqz $v0, .L80242134 +/* DF0F80 802420E0 00000000 */ nop +/* DF0F84 802420E4 860200A8 */ lh $v0, 0xa8($s0) +/* DF0F88 802420E8 C604001C */ lwc1 $f4, 0x1c($s0) +/* DF0F8C 802420EC 44820000 */ mtc1 $v0, $f0 +/* DF0F90 802420F0 00000000 */ nop +/* DF0F94 802420F4 46800020 */ cvt.s.w $f0, $f0 +/* DF0F98 802420F8 46002085 */ abs.s $f2, $f4 +/* DF0F9C 802420FC 46020000 */ add.s $f0, $f0, $f2 +/* DF0FA0 80242100 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DF0FA4 80242104 4600103E */ c.le.s $f2, $f0 +/* DF0FA8 80242108 00000000 */ nop +/* DF0FAC 8024210C 45000005 */ bc1f .L80242124 +/* DF0FB0 80242110 00000000 */ nop +/* DF0FB4 80242114 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DF0FB8 80242118 AE00001C */ sw $zero, 0x1c($s0) +/* DF0FBC 8024211C 0809085E */ j .L80242178 +/* DF0FC0 80242120 E600003C */ swc1 $f0, 0x3c($s0) +.L80242124: +/* DF0FC4 80242124 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF0FC8 80242128 46040000 */ add.s $f0, $f0, $f4 +/* DF0FCC 8024212C 0809085E */ j .L80242178 +/* DF0FD0 80242130 E600003C */ swc1 $f0, 0x3c($s0) +.L80242134: +/* DF0FD4 80242134 C606003C */ lwc1 $f6, 0x3c($s0) +/* DF0FD8 80242138 860200A8 */ lh $v0, 0xa8($s0) +/* DF0FDC 8024213C 46163081 */ sub.s $f2, $f6, $f22 +/* DF0FE0 80242140 44820000 */ mtc1 $v0, $f0 +/* DF0FE4 80242144 00000000 */ nop +/* DF0FE8 80242148 46800020 */ cvt.s.w $f0, $f0 +/* DF0FEC 8024214C 46001080 */ add.s $f2, $f2, $f0 +/* DF0FF0 80242150 C604001C */ lwc1 $f4, 0x1c($s0) +/* DF0FF4 80242154 46002005 */ abs.s $f0, $f4 +/* DF0FF8 80242158 4602003C */ c.lt.s $f0, $f2 +/* DF0FFC 8024215C 00000000 */ nop +/* DF1000 80242160 45020005 */ bc1fl .L80242178 +/* DF1004 80242164 AE00001C */ sw $zero, 0x1c($s0) +/* DF1008 80242168 46043000 */ add.s $f0, $f6, $f4 +/* DF100C 8024216C 0809085E */ j .L80242178 +/* DF1010 80242170 E600003C */ swc1 $f0, 0x3c($s0) +.L80242174: +/* DF1014 80242174 AE00001C */ sw $zero, 0x1c($s0) +.L80242178: +/* DF1018 80242178 8FBF0038 */ lw $ra, 0x38($sp) +/* DF101C 8024217C 8FB30034 */ lw $s3, 0x34($sp) +/* DF1020 80242180 8FB20030 */ lw $s2, 0x30($sp) +/* DF1024 80242184 8FB1002C */ lw $s1, 0x2c($sp) +/* DF1028 80242188 8FB00028 */ lw $s0, 0x28($sp) +/* DF102C 8024218C D7B60048 */ ldc1 $f22, 0x48($sp) +/* DF1030 80242190 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DF1034 80242194 03E00008 */ jr $ra +/* DF1038 80242198 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_8024219C_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_8024219C_DEEEA0.s new file mode 100644 index 0000000000..6164bc46ee --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_8024219C_DEEEA0.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024219C_DF103C +/* DF103C 8024219C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* DF1040 802421A0 AFB00028 */ sw $s0, 0x28($sp) +/* DF1044 802421A4 00A0802D */ daddu $s0, $a1, $zero +/* DF1048 802421A8 AFB1002C */ sw $s1, 0x2c($sp) +/* DF104C 802421AC 00C0882D */ daddu $s1, $a2, $zero +/* DF1050 802421B0 AFBF0034 */ sw $ra, 0x34($sp) +/* DF1054 802421B4 AFB20030 */ sw $s2, 0x30($sp) +/* DF1058 802421B8 AE200070 */ sw $zero, 0x70($s1) +/* DF105C 802421BC 8C830000 */ lw $v1, ($a0) +/* DF1060 802421C0 2402FDFF */ addiu $v0, $zero, -0x201 +/* DF1064 802421C4 A480008E */ sh $zero, 0x8e($a0) +/* DF1068 802421C8 00621824 */ and $v1, $v1, $v0 +/* DF106C 802421CC 34650800 */ ori $a1, $v1, 0x800 +/* DF1070 802421D0 AC850000 */ sw $a1, ($a0) +/* DF1074 802421D4 8E0200D0 */ lw $v0, 0xd0($s0) +/* DF1078 802421D8 8C420034 */ lw $v0, 0x34($v0) +/* DF107C 802421DC 10400003 */ beqz $v0, .L802421EC +/* DF1080 802421E0 00E0902D */ daddu $s2, $a3, $zero +/* DF1084 802421E4 0809087D */ j .L802421F4 +/* DF1088 802421E8 34620808 */ ori $v0, $v1, 0x808 +.L802421EC: +/* DF108C 802421EC 2402FFF7 */ addiu $v0, $zero, -9 +/* DF1090 802421F0 00A21024 */ and $v0, $a1, $v0 +.L802421F4: +/* DF1094 802421F4 AC820000 */ sw $v0, ($a0) +/* DF1098 802421F8 27A20024 */ addiu $v0, $sp, 0x24 +/* DF109C 802421FC 27A50018 */ addiu $a1, $sp, 0x18 +/* DF10A0 80242200 C4800038 */ lwc1 $f0, 0x38($a0) +/* DF10A4 80242204 C482003C */ lwc1 $f2, 0x3c($a0) +/* DF10A8 80242208 C4840040 */ lwc1 $f4, 0x40($a0) +/* DF10AC 8024220C 3C01447A */ lui $at, 0x447a +/* DF10B0 80242210 44813000 */ mtc1 $at, $f6 +/* DF10B4 80242214 27A6001C */ addiu $a2, $sp, 0x1c +/* DF10B8 80242218 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF10BC 8024221C E7A2001C */ swc1 $f2, 0x1c($sp) +/* DF10C0 80242220 E7A40020 */ swc1 $f4, 0x20($sp) +/* DF10C4 80242224 E7A60024 */ swc1 $f6, 0x24($sp) +/* DF10C8 80242228 AFA20010 */ sw $v0, 0x10($sp) +/* DF10CC 8024222C 8C840080 */ lw $a0, 0x80($a0) +/* DF10D0 80242230 0C0372DF */ jal func_800DCB7C +/* DF10D4 80242234 27A70020 */ addiu $a3, $sp, 0x20 +/* DF10D8 80242238 C7A20024 */ lwc1 $f2, 0x24($sp) +/* DF10DC 8024223C 3C014059 */ lui $at, 0x4059 +/* DF10E0 80242240 44812800 */ mtc1 $at, $f5 +/* DF10E4 80242244 44802000 */ mtc1 $zero, $f4 +/* DF10E8 80242248 460010A1 */ cvt.d.s $f2, $f2 +/* DF10EC 8024224C 46241082 */ mul.d $f2, $f2, $f4 +/* DF10F0 80242250 00000000 */ nop +/* DF10F4 80242254 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* DF10F8 80242258 46000021 */ cvt.d.s $f0, $f0 +/* DF10FC 8024225C 46240002 */ mul.d $f0, $f0, $f4 +/* DF1100 80242260 00000000 */ nop +/* DF1104 80242264 3C013FE0 */ lui $at, 0x3fe0 +/* DF1108 80242268 44812800 */ mtc1 $at, $f5 +/* DF110C 8024226C 44802000 */ mtc1 $zero, $f4 +/* DF1110 80242270 00000000 */ nop +/* DF1114 80242274 46241080 */ add.d $f2, $f2, $f4 +/* DF1118 80242278 AE000074 */ sw $zero, 0x74($s0) +/* DF111C 8024227C 46240000 */ add.d $f0, $f0, $f4 +/* DF1120 80242280 AE000090 */ sw $zero, 0x90($s0) +/* DF1124 80242284 4620120D */ trunc.w.d $f8, $f2 +/* DF1128 80242288 E6080078 */ swc1 $f8, 0x78($s0) +/* DF112C 8024228C 4620020D */ trunc.w.d $f8, $f0 +/* DF1130 80242290 E6080088 */ swc1 $f8, 0x88($s0) +/* DF1134 80242294 8E420014 */ lw $v0, 0x14($s2) +/* DF1138 80242298 AE220074 */ sw $v0, 0x74($s1) +/* DF113C 8024229C 8E0200B0 */ lw $v0, 0xb0($s0) +/* DF1140 802422A0 34420010 */ ori $v0, $v0, 0x10 +/* DF1144 802422A4 AE0200B0 */ sw $v0, 0xb0($s0) +/* DF1148 802422A8 8FBF0034 */ lw $ra, 0x34($sp) +/* DF114C 802422AC 8FB20030 */ lw $s2, 0x30($sp) +/* DF1150 802422B0 8FB1002C */ lw $s1, 0x2c($sp) +/* DF1154 802422B4 8FB00028 */ lw $s0, 0x28($sp) +/* DF1158 802422B8 03E00008 */ jr $ra +/* DF115C 802422BC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802422C0_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802422C0_DEEEA0.s new file mode 100644 index 0000000000..959ae116e6 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802422C0_DEEEA0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422C0_DF1160 +/* DF1160 802422C0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DF1164 802422C4 AFB40040 */ sw $s4, 0x40($sp) +/* DF1168 802422C8 0080A02D */ daddu $s4, $a0, $zero +/* DF116C 802422CC AFBF0048 */ sw $ra, 0x48($sp) +/* DF1170 802422D0 AFB50044 */ sw $s5, 0x44($sp) +/* DF1174 802422D4 AFB3003C */ sw $s3, 0x3c($sp) +/* DF1178 802422D8 AFB20038 */ sw $s2, 0x38($sp) +/* DF117C 802422DC AFB10034 */ sw $s1, 0x34($sp) +/* DF1180 802422E0 AFB00030 */ sw $s0, 0x30($sp) +/* DF1184 802422E4 8E920148 */ lw $s2, 0x148($s4) +/* DF1188 802422E8 86440008 */ lh $a0, 8($s2) +/* DF118C 802422EC 8E90000C */ lw $s0, 0xc($s4) +/* DF1190 802422F0 0C00EABB */ jal get_npc_unsafe +/* DF1194 802422F4 00A0882D */ daddu $s1, $a1, $zero +/* DF1198 802422F8 0280202D */ daddu $a0, $s4, $zero +/* DF119C 802422FC 8E050000 */ lw $a1, ($s0) +/* DF11A0 80242300 0C0B1EAF */ jal get_variable +/* DF11A4 80242304 0040A82D */ daddu $s5, $v0, $zero +/* DF11A8 80242308 AFA00010 */ sw $zero, 0x10($sp) +/* DF11AC 8024230C 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF11B0 80242310 8C630030 */ lw $v1, 0x30($v1) +/* DF11B4 80242314 AFA30014 */ sw $v1, 0x14($sp) +/* DF11B8 80242318 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF11BC 8024231C 8C63001C */ lw $v1, 0x1c($v1) +/* DF11C0 80242320 AFA30018 */ sw $v1, 0x18($sp) +/* DF11C4 80242324 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF11C8 80242328 8C630024 */ lw $v1, 0x24($v1) +/* DF11CC 8024232C AFA3001C */ sw $v1, 0x1c($sp) +/* DF11D0 80242330 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF11D4 80242334 8C630028 */ lw $v1, 0x28($v1) +/* DF11D8 80242338 27B30010 */ addiu $s3, $sp, 0x10 +/* DF11DC 8024233C AFA30020 */ sw $v1, 0x20($sp) +/* DF11E0 80242340 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF11E4 80242344 3C0142F0 */ lui $at, 0x42f0 +/* DF11E8 80242348 44810000 */ mtc1 $at, $f0 +/* DF11EC 8024234C 8C63002C */ lw $v1, 0x2c($v1) +/* DF11F0 80242350 0040802D */ daddu $s0, $v0, $zero +/* DF11F4 80242354 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF11F8 80242358 A7A0002C */ sh $zero, 0x2c($sp) +/* DF11FC 8024235C 12200006 */ beqz $s1, .L80242378 +/* DF1200 80242360 AFA30024 */ sw $v1, 0x24($sp) +/* DF1204 80242364 02A0202D */ daddu $a0, $s5, $zero +/* DF1208 80242368 0240282D */ daddu $a1, $s2, $zero +/* DF120C 8024236C 0280302D */ daddu $a2, $s4, $zero +/* DF1210 80242370 0C090867 */ jal func_8024219C +/* DF1214 80242374 0200382D */ daddu $a3, $s0, $zero +.L80242378: +/* DF1218 80242378 2402FFFE */ addiu $v0, $zero, -2 +/* DF121C 8024237C A2A200AB */ sb $v0, 0xab($s5) +/* DF1220 80242380 8E4300B0 */ lw $v1, 0xb0($s2) +/* DF1224 80242384 30620004 */ andi $v0, $v1, 4 +/* DF1228 80242388 10400007 */ beqz $v0, .L802423A8 +/* DF122C 8024238C 00000000 */ nop +/* DF1230 80242390 824200B4 */ lb $v0, 0xb4($s2) +/* DF1234 80242394 1440003C */ bnez $v0, .L80242488 +/* DF1238 80242398 0000102D */ daddu $v0, $zero, $zero +/* DF123C 8024239C 2402FFFB */ addiu $v0, $zero, -5 +/* DF1240 802423A0 00621024 */ and $v0, $v1, $v0 +/* DF1244 802423A4 AE4200B0 */ sw $v0, 0xb0($s2) +.L802423A8: +/* DF1248 802423A8 8E830070 */ lw $v1, 0x70($s4) +/* DF124C 802423AC 2C62000F */ sltiu $v0, $v1, 0xf +/* DF1250 802423B0 10400034 */ beqz $v0, .L80242484 +/* DF1254 802423B4 00031080 */ sll $v0, $v1, 2 +/* DF1258 802423B8 3C018024 */ lui $at, 0x8024 +/* DF125C 802423BC 00220821 */ addu $at, $at, $v0 +/* DF1260 802423C0 8C227968 */ lw $v0, 0x7968($at) +/* DF1264 802423C4 00400008 */ jr $v0 +/* DF1268 802423C8 00000000 */ nop +/* DF126C 802423CC 0280202D */ daddu $a0, $s4, $zero +/* DF1270 802423D0 0200282D */ daddu $a1, $s0, $zero +/* DF1274 802423D4 0C0903ED */ jal func_80240FB4 +/* DF1278 802423D8 0260302D */ daddu $a2, $s3, $zero +/* DF127C 802423DC 0280202D */ daddu $a0, $s4, $zero +/* DF1280 802423E0 0200282D */ daddu $a1, $s0, $zero +/* DF1284 802423E4 0C090459 */ jal func_80241164 +/* DF1288 802423E8 0260302D */ daddu $a2, $s3, $zero +/* DF128C 802423EC 08090922 */ j .L80242488 +/* DF1290 802423F0 0000102D */ daddu $v0, $zero, $zero +/* DF1294 802423F4 0280202D */ daddu $a0, $s4, $zero +/* DF1298 802423F8 0200282D */ daddu $a1, $s0, $zero +/* DF129C 802423FC 0C0905E3 */ jal func_8024178C +/* DF12A0 80242400 0260302D */ daddu $a2, $s3, $zero +/* DF12A4 80242404 0280202D */ daddu $a0, $s4, $zero +/* DF12A8 80242408 0200282D */ daddu $a1, $s0, $zero +/* DF12AC 8024240C 0C090613 */ jal func_8024184C +/* DF12B0 80242410 0260302D */ daddu $a2, $s3, $zero +/* DF12B4 80242414 08090922 */ j .L80242488 +/* DF12B8 80242418 0000102D */ daddu $v0, $zero, $zero +/* DF12BC 8024241C 0280202D */ daddu $a0, $s4, $zero +/* DF12C0 80242420 0200282D */ daddu $a1, $s0, $zero +/* DF12C4 80242424 0C0906E4 */ jal func_80241B90 +/* DF12C8 80242428 0260302D */ daddu $a2, $s3, $zero +/* DF12CC 8024242C 0280202D */ daddu $a0, $s4, $zero +/* DF12D0 80242430 0200282D */ daddu $a1, $s0, $zero +/* DF12D4 80242434 0C090702 */ jal func_80241C08 +/* DF12D8 80242438 0260302D */ daddu $a2, $s3, $zero +/* DF12DC 8024243C 08090922 */ j .L80242488 +/* DF12E0 80242440 0000102D */ daddu $v0, $zero, $zero +/* DF12E4 80242444 0280202D */ daddu $a0, $s4, $zero +/* DF12E8 80242448 0200282D */ daddu $a1, $s0, $zero +/* DF12EC 8024244C 0C09071D */ jal func_80241C74 +/* DF12F0 80242450 0260302D */ daddu $a2, $s3, $zero +/* DF12F4 80242454 08090922 */ j .L80242488 +/* DF12F8 80242458 0000102D */ daddu $v0, $zero, $zero +/* DF12FC 8024245C 0280202D */ daddu $a0, $s4, $zero +/* DF1300 80242460 0200282D */ daddu $a1, $s0, $zero +/* DF1304 80242464 0C09076A */ jal func_80241DA8 +/* DF1308 80242468 0260302D */ daddu $a2, $s3, $zero +/* DF130C 8024246C 08090922 */ j .L80242488 +/* DF1310 80242470 0000102D */ daddu $v0, $zero, $zero +/* DF1314 80242474 0280202D */ daddu $a0, $s4, $zero +/* DF1318 80242478 0200282D */ daddu $a1, $s0, $zero +/* DF131C 8024247C 0C090783 */ jal func_80241E0C +/* DF1320 80242480 0260302D */ daddu $a2, $s3, $zero +.L80242484: +/* DF1324 80242484 0000102D */ daddu $v0, $zero, $zero +.L80242488: +/* DF1328 80242488 8FBF0048 */ lw $ra, 0x48($sp) +/* DF132C 8024248C 8FB50044 */ lw $s5, 0x44($sp) +/* DF1330 80242490 8FB40040 */ lw $s4, 0x40($sp) +/* DF1334 80242494 8FB3003C */ lw $s3, 0x3c($sp) +/* DF1338 80242498 8FB20038 */ lw $s2, 0x38($sp) +/* DF133C 8024249C 8FB10034 */ lw $s1, 0x34($sp) +/* DF1340 802424A0 8FB00030 */ lw $s0, 0x30($sp) +/* DF1344 802424A4 03E00008 */ jr $ra +/* DF1348 802424A8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802424AC.s b/asm/nonmatchings/world/area_omo/omo_17/func_802424AC.s new file mode 100644 index 0000000000..450421912d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802424AC.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424AC +/* DF134C 802424AC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* DF1350 802424B0 AFB10014 */ sw $s1, 0x14($sp) +/* DF1354 802424B4 0080882D */ daddu $s1, $a0, $zero +/* DF1358 802424B8 3C05800B */ lui $a1, %hi(gCameras) +/* DF135C 802424BC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* DF1360 802424C0 AFBF0020 */ sw $ra, 0x20($sp) +/* DF1364 802424C4 AFB3001C */ sw $s3, 0x1c($sp) +/* DF1368 802424C8 AFB20018 */ sw $s2, 0x18($sp) +/* DF136C 802424CC AFB00010 */ sw $s0, 0x10($sp) +/* DF1370 802424D0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* DF1374 802424D4 8E330148 */ lw $s3, 0x148($s1) +/* DF1378 802424D8 3C03800A */ lui $v1, 0x800a +/* DF137C 802424DC 8463A634 */ lh $v1, -0x59cc($v1) +/* DF1380 802424E0 8E30000C */ lw $s0, 0xc($s1) +/* DF1384 802424E4 00031080 */ sll $v0, $v1, 2 +/* DF1388 802424E8 00431021 */ addu $v0, $v0, $v1 +/* DF138C 802424EC 00021080 */ sll $v0, $v0, 2 +/* DF1390 802424F0 00431023 */ subu $v0, $v0, $v1 +/* DF1394 802424F4 000218C0 */ sll $v1, $v0, 3 +/* DF1398 802424F8 00431021 */ addu $v0, $v0, $v1 +/* DF139C 802424FC 000210C0 */ sll $v0, $v0, 3 +/* DF13A0 80242500 86640008 */ lh $a0, 8($s3) +/* DF13A4 80242504 0C00EABB */ jal get_npc_unsafe +/* DF13A8 80242508 00459021 */ addu $s2, $v0, $a1 +/* DF13AC 8024250C 0220202D */ daddu $a0, $s1, $zero +/* DF13B0 80242510 8E050000 */ lw $a1, ($s0) +/* DF13B4 80242514 0C0B1EAF */ jal get_variable +/* DF13B8 80242518 0040802D */ daddu $s0, $v0, $zero +/* DF13BC 8024251C 0260202D */ daddu $a0, $s3, $zero +/* DF13C0 80242520 8C460024 */ lw $a2, 0x24($v0) +/* DF13C4 80242524 8C470028 */ lw $a3, 0x28($v0) +/* DF13C8 80242528 0C0124FB */ jal func_800493EC +/* DF13CC 8024252C 0000282D */ daddu $a1, $zero, $zero +/* DF13D0 80242530 10400052 */ beqz $v0, .L8024267C +/* DF13D4 80242534 2402FFFF */ addiu $v0, $zero, -1 +/* DF13D8 80242538 C64C006C */ lwc1 $f12, 0x6c($s2) +/* DF13DC 8024253C C60E000C */ lwc1 $f14, 0xc($s0) +/* DF13E0 80242540 3C014387 */ lui $at, 0x4387 +/* DF13E4 80242544 4481A000 */ mtc1 $at, $f20 +/* DF13E8 80242548 0C00A70A */ jal get_clamped_angle_diff +/* DF13EC 8024254C 00000000 */ nop +/* DF13F0 80242550 0C00A6C9 */ jal clamp_angle +/* DF13F4 80242554 46000306 */ mov.s $f12, $f0 +/* DF13F8 80242558 3C018024 */ lui $at, 0x8024 +/* DF13FC 8024255C D42279A8 */ ldc1 $f2, 0x79a8($at) +/* DF1400 80242560 46000021 */ cvt.d.s $f0, $f0 +/* DF1404 80242564 4622003C */ c.lt.d $f0, $f2 +/* DF1408 80242568 00000000 */ nop +/* DF140C 8024256C 45000003 */ bc1f .L8024257C +/* DF1410 80242570 00000000 */ nop +/* DF1414 80242574 3C0142B4 */ lui $at, 0x42b4 +/* DF1418 80242578 4481A000 */ mtc1 $at, $f20 +.L8024257C: +/* DF141C 8024257C 3C11800F */ lui $s1, %hi(gPlayerStatusPtr) +/* DF1420 80242580 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr) +/* DF1424 80242584 C60C0038 */ lwc1 $f12, 0x38($s0) +/* DF1428 80242588 8E220000 */ lw $v0, ($s1) +/* DF142C 8024258C C60E0040 */ lwc1 $f14, 0x40($s0) +/* DF1430 80242590 8C460028 */ lw $a2, 0x28($v0) +/* DF1434 80242594 0C00A720 */ jal atan2 +/* DF1438 80242598 8C470030 */ lw $a3, 0x30($v0) +/* DF143C 8024259C 4600A306 */ mov.s $f12, $f20 +/* DF1440 802425A0 0C00A70A */ jal get_clamped_angle_diff +/* DF1444 802425A4 46000386 */ mov.s $f14, $f0 +/* DF1448 802425A8 46000005 */ abs.s $f0, $f0 +/* DF144C 802425AC 3C018024 */ lui $at, 0x8024 +/* DF1450 802425B0 D42279B0 */ ldc1 $f2, 0x79b0($at) +/* DF1454 802425B4 46000021 */ cvt.d.s $f0, $f0 +/* DF1458 802425B8 4620103C */ c.lt.d $f2, $f0 +/* DF145C 802425BC 00000000 */ nop +/* DF1460 802425C0 4501002E */ bc1t .L8024267C +/* DF1464 802425C4 2402FFFF */ addiu $v0, $zero, -1 +/* DF1468 802425C8 8E220000 */ lw $v0, ($s1) +/* DF146C 802425CC C600003C */ lwc1 $f0, 0x3c($s0) +/* DF1470 802425D0 C442002C */ lwc1 $f2, 0x2c($v0) +/* DF1474 802425D4 860200A8 */ lh $v0, 0xa8($s0) +/* DF1478 802425D8 46020001 */ sub.s $f0, $f0, $f2 +/* DF147C 802425DC 44821000 */ mtc1 $v0, $f2 +/* DF1480 802425E0 00000000 */ nop +/* DF1484 802425E4 468010A1 */ cvt.d.w $f2, $f2 +/* DF1488 802425E8 46221080 */ add.d $f2, $f2, $f2 +/* DF148C 802425EC 46000005 */ abs.s $f0, $f0 +/* DF1490 802425F0 46000021 */ cvt.d.s $f0, $f0 +/* DF1494 802425F4 4620103E */ c.le.d $f2, $f0 +/* DF1498 802425F8 00000000 */ nop +/* DF149C 802425FC 4501001F */ bc1t .L8024267C +/* DF14A0 80242600 2402FFFF */ addiu $v0, $zero, -1 +/* DF14A4 80242604 3C038011 */ lui $v1, 0x8011 +/* DF14A8 80242608 8063EBB3 */ lb $v1, -0x144d($v1) +/* DF14AC 8024260C 24020009 */ addiu $v0, $zero, 9 +/* DF14B0 80242610 10620019 */ beq $v1, $v0, .L80242678 +/* DF14B4 80242614 24020007 */ addiu $v0, $zero, 7 +/* DF14B8 80242618 14620005 */ bne $v1, $v0, .L80242630 +/* DF14BC 8024261C 2402FFFF */ addiu $v0, $zero, -1 +/* DF14C0 80242620 0809099F */ j .L8024267C +/* DF14C4 80242624 00000000 */ nop +.L80242628: +/* DF14C8 80242628 0809099F */ j .L8024267C +/* DF14CC 8024262C 0240102D */ daddu $v0, $s2, $zero +.L80242630: +/* DF14D0 80242630 8E620078 */ lw $v0, 0x78($s3) +/* DF14D4 80242634 18400010 */ blez $v0, .L80242678 +/* DF14D8 80242638 0000882D */ daddu $s1, $zero, $zero +.L8024263C: +/* DF14DC 8024263C 86620008 */ lh $v0, 8($s3) +/* DF14E0 80242640 00511021 */ addu $v0, $v0, $s1 +/* DF14E4 80242644 24520001 */ addiu $s2, $v0, 1 +/* DF14E8 80242648 0C00FB3A */ jal get_enemy +/* DF14EC 8024264C 0240202D */ daddu $a0, $s2, $zero +/* DF14F0 80242650 0240202D */ daddu $a0, $s2, $zero +/* DF14F4 80242654 0C00EABB */ jal get_npc_unsafe +/* DF14F8 80242658 0040802D */ daddu $s0, $v0, $zero +/* DF14FC 8024265C 8E02006C */ lw $v0, 0x6c($s0) +/* DF1500 80242660 1040FFF1 */ beqz $v0, .L80242628 +/* DF1504 80242664 26310001 */ addiu $s1, $s1, 1 +/* DF1508 80242668 8E620078 */ lw $v0, 0x78($s3) +/* DF150C 8024266C 0222102A */ slt $v0, $s1, $v0 +/* DF1510 80242670 1440FFF2 */ bnez $v0, .L8024263C +/* DF1514 80242674 00000000 */ nop +.L80242678: +/* DF1518 80242678 2402FFFF */ addiu $v0, $zero, -1 +.L8024267C: +/* DF151C 8024267C 8FBF0020 */ lw $ra, 0x20($sp) +/* DF1520 80242680 8FB3001C */ lw $s3, 0x1c($sp) +/* DF1524 80242684 8FB20018 */ lw $s2, 0x18($sp) +/* DF1528 80242688 8FB10014 */ lw $s1, 0x14($sp) +/* DF152C 8024268C 8FB00010 */ lw $s0, 0x10($sp) +/* DF1530 80242690 D7B40028 */ ldc1 $f20, 0x28($sp) +/* DF1534 80242694 03E00008 */ jr $ra +/* DF1538 80242698 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_8024269C.s b/asm/nonmatchings/world/area_omo/omo_17/func_8024269C.s new file mode 100644 index 0000000000..4776e5c071 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_8024269C.s @@ -0,0 +1,88 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024269C +/* DF153C 8024269C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DF1540 802426A0 AFB20038 */ sw $s2, 0x38($sp) +/* DF1544 802426A4 0080902D */ daddu $s2, $a0, $zero +/* DF1548 802426A8 AFB00030 */ sw $s0, 0x30($sp) +/* DF154C 802426AC AFBF003C */ sw $ra, 0x3c($sp) +/* DF1550 802426B0 AFB10034 */ sw $s1, 0x34($sp) +/* DF1554 802426B4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* DF1558 802426B8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* DF155C 802426BC 8E510148 */ lw $s1, 0x148($s2) +/* DF1560 802426C0 4485A000 */ mtc1 $a1, $f20 +/* DF1564 802426C4 86240008 */ lh $a0, 8($s1) +/* DF1568 802426C8 4486B000 */ mtc1 $a2, $f22 +/* DF156C 802426CC 0C00EABB */ jal get_npc_unsafe +/* DF1570 802426D0 00E0802D */ daddu $s0, $a3, $zero +/* DF1574 802426D4 0200202D */ daddu $a0, $s0, $zero +/* DF1578 802426D8 0220282D */ daddu $a1, $s1, $zero +/* DF157C 802426DC 24030001 */ addiu $v1, $zero, 1 +/* DF1580 802426E0 4406A000 */ mfc1 $a2, $f20 +/* DF1584 802426E4 4407B000 */ mfc1 $a3, $f22 +/* DF1588 802426E8 0040802D */ daddu $s0, $v0, $zero +/* DF158C 802426EC 0C01242D */ jal func_800490B4 +/* DF1590 802426F0 AFA30010 */ sw $v1, 0x10($sp) +/* DF1594 802426F4 1440001D */ bnez $v0, .L8024276C +/* DF1598 802426F8 24040002 */ addiu $a0, $zero, 2 +/* DF159C 802426FC 0200282D */ daddu $a1, $s0, $zero +/* DF15A0 80242700 0000302D */ daddu $a2, $zero, $zero +/* DF15A4 80242704 860300A8 */ lh $v1, 0xa8($s0) +/* DF15A8 80242708 3C013F80 */ lui $at, 0x3f80 +/* DF15AC 8024270C 44810000 */ mtc1 $at, $f0 +/* DF15B0 80242710 3C014000 */ lui $at, 0x4000 +/* DF15B4 80242714 44811000 */ mtc1 $at, $f2 +/* DF15B8 80242718 3C01C1A0 */ lui $at, 0xc1a0 +/* DF15BC 8024271C 44812000 */ mtc1 $at, $f4 +/* DF15C0 80242720 2402000F */ addiu $v0, $zero, 0xf +/* DF15C4 80242724 AFA2001C */ sw $v0, 0x1c($sp) +/* DF15C8 80242728 44833000 */ mtc1 $v1, $f6 +/* DF15CC 8024272C 00000000 */ nop +/* DF15D0 80242730 468031A0 */ cvt.s.w $f6, $f6 +/* DF15D4 80242734 44073000 */ mfc1 $a3, $f6 +/* DF15D8 80242738 27A20028 */ addiu $v0, $sp, 0x28 +/* DF15DC 8024273C AFA20020 */ sw $v0, 0x20($sp) +/* DF15E0 80242740 E7A00010 */ swc1 $f0, 0x10($sp) +/* DF15E4 80242744 E7A20014 */ swc1 $f2, 0x14($sp) +/* DF15E8 80242748 0C01BFA4 */ jal fx_emote +/* DF15EC 8024274C E7A40018 */ swc1 $f4, 0x18($sp) +/* DF15F0 80242750 8E2200CC */ lw $v0, 0xcc($s1) +/* DF15F4 80242754 8C430000 */ lw $v1, ($v0) +/* DF15F8 80242758 24020014 */ addiu $v0, $zero, 0x14 +/* DF15FC 8024275C A602008E */ sh $v0, 0x8e($s0) +/* DF1600 80242760 24020021 */ addiu $v0, $zero, 0x21 +/* DF1604 80242764 080909EF */ j .L802427BC +/* DF1608 80242768 AE030028 */ sw $v1, 0x28($s0) +.L8024276C: +/* DF160C 8024276C 0C09092B */ jal func_802424AC +/* DF1610 80242770 0240202D */ daddu $a0, $s2, $zero +/* DF1614 80242774 0040202D */ daddu $a0, $v0, $zero +/* DF1618 80242778 2402FFFF */ addiu $v0, $zero, -1 +/* DF161C 8024277C 10820010 */ beq $a0, $v0, .L802427C0 +/* DF1620 80242780 00000000 */ nop +/* DF1624 80242784 0C00FB3A */ jal get_enemy +/* DF1628 80242788 00000000 */ nop +/* DF162C 8024278C 8C42006C */ lw $v0, 0x6c($v0) +/* DF1630 80242790 1440000B */ bnez $v0, .L802427C0 +/* DF1634 80242794 00000000 */ nop +/* DF1638 80242798 8602008C */ lh $v0, 0x8c($s0) +/* DF163C 8024279C 14400008 */ bnez $v0, .L802427C0 +/* DF1640 802427A0 00000000 */ nop +/* DF1644 802427A4 8E2200CC */ lw $v0, 0xcc($s1) +/* DF1648 802427A8 8C420020 */ lw $v0, 0x20($v0) +/* DF164C 802427AC AE020028 */ sw $v0, 0x28($s0) +/* DF1650 802427B0 96220072 */ lhu $v0, 0x72($s1) +/* DF1654 802427B4 A602008E */ sh $v0, 0x8e($s0) +/* DF1658 802427B8 2402001E */ addiu $v0, $zero, 0x1e +.L802427BC: +/* DF165C 802427BC AE420070 */ sw $v0, 0x70($s2) +.L802427C0: +/* DF1660 802427C0 8FBF003C */ lw $ra, 0x3c($sp) +/* DF1664 802427C4 8FB20038 */ lw $s2, 0x38($sp) +/* DF1668 802427C8 8FB10034 */ lw $s1, 0x34($sp) +/* DF166C 802427CC 8FB00030 */ lw $s0, 0x30($sp) +/* DF1670 802427D0 D7B60048 */ ldc1 $f22, 0x48($sp) +/* DF1674 802427D4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* DF1678 802427D8 03E00008 */ jr $ra +/* DF167C 802427DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802427E0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802427E0.s new file mode 100644 index 0000000000..56b9c9bb9e --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802427E0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427E0 +/* DF1680 802427E0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* DF1684 802427E4 AFB20038 */ sw $s2, 0x38($sp) +/* DF1688 802427E8 0080902D */ daddu $s2, $a0, $zero +/* DF168C 802427EC AFBF003C */ sw $ra, 0x3c($sp) +/* DF1690 802427F0 AFB10034 */ sw $s1, 0x34($sp) +/* DF1694 802427F4 AFB00030 */ sw $s0, 0x30($sp) +/* DF1698 802427F8 8E510148 */ lw $s1, 0x148($s2) +/* DF169C 802427FC 0C00EABB */ jal get_npc_unsafe +/* DF16A0 80242800 86240008 */ lh $a0, 8($s1) +/* DF16A4 80242804 0040802D */ daddu $s0, $v0, $zero +/* DF16A8 80242808 9602008E */ lhu $v0, 0x8e($s0) +/* DF16AC 8024280C 2442FFFF */ addiu $v0, $v0, -1 +/* DF16B0 80242810 A602008E */ sh $v0, 0x8e($s0) +/* DF16B4 80242814 00021400 */ sll $v0, $v0, 0x10 +/* DF16B8 80242818 1C40002B */ bgtz $v0, .L802428C8 +/* DF16BC 8024281C 00000000 */ nop +/* DF16C0 80242820 0C09092B */ jal func_802424AC +/* DF16C4 80242824 0240202D */ daddu $a0, $s2, $zero +/* DF16C8 80242828 0040202D */ daddu $a0, $v0, $zero +/* DF16CC 8024282C 0481001A */ bgez $a0, .L80242898 +/* DF16D0 80242830 2402000F */ addiu $v0, $zero, 0xf +/* DF16D4 80242834 24040002 */ addiu $a0, $zero, 2 +/* DF16D8 80242838 860300A8 */ lh $v1, 0xa8($s0) +/* DF16DC 8024283C AFA2001C */ sw $v0, 0x1c($sp) +/* DF16E0 80242840 27A20028 */ addiu $v0, $sp, 0x28 +/* DF16E4 80242844 0200282D */ daddu $a1, $s0, $zero +/* DF16E8 80242848 3C013F80 */ lui $at, 0x3f80 +/* DF16EC 8024284C 44810000 */ mtc1 $at, $f0 +/* DF16F0 80242850 3C014000 */ lui $at, 0x4000 +/* DF16F4 80242854 44811000 */ mtc1 $at, $f2 +/* DF16F8 80242858 3C01C1A0 */ lui $at, 0xc1a0 +/* DF16FC 8024285C 44812000 */ mtc1 $at, $f4 +/* DF1700 80242860 44833000 */ mtc1 $v1, $f6 +/* DF1704 80242864 00000000 */ nop +/* DF1708 80242868 468031A0 */ cvt.s.w $f6, $f6 +/* DF170C 8024286C 44073000 */ mfc1 $a3, $f6 +/* DF1710 80242870 0000302D */ daddu $a2, $zero, $zero +/* DF1714 80242874 AFA20020 */ sw $v0, 0x20($sp) +/* DF1718 80242878 E7A00010 */ swc1 $f0, 0x10($sp) +/* DF171C 8024287C E7A20014 */ swc1 $f2, 0x14($sp) +/* DF1720 80242880 0C01BFA4 */ jal fx_emote +/* DF1724 80242884 E7A40018 */ swc1 $f4, 0x18($sp) +/* DF1728 80242888 8E2200CC */ lw $v0, 0xcc($s1) +/* DF172C 8024288C 8C420000 */ lw $v0, ($v0) +/* DF1730 80242890 08090A2E */ j .L802428B8 +/* DF1734 80242894 AE020028 */ sw $v0, 0x28($s0) +.L80242898: +/* DF1738 80242898 8E2200CC */ lw $v0, 0xcc($s1) +/* DF173C 8024289C 8C420024 */ lw $v0, 0x24($v0) +/* DF1740 802428A0 0C00FB3A */ jal get_enemy +/* DF1744 802428A4 AE020028 */ sw $v0, 0x28($s0) +/* DF1748 802428A8 86240008 */ lh $a0, 8($s1) +/* DF174C 802428AC 24030001 */ addiu $v1, $zero, 1 +/* DF1750 802428B0 AC43006C */ sw $v1, 0x6c($v0) +/* DF1754 802428B4 AC44007C */ sw $a0, 0x7c($v0) +.L802428B8: +/* DF1758 802428B8 96220076 */ lhu $v0, 0x76($s1) +/* DF175C 802428BC A602008E */ sh $v0, 0x8e($s0) +/* DF1760 802428C0 24020021 */ addiu $v0, $zero, 0x21 +/* DF1764 802428C4 AE420070 */ sw $v0, 0x70($s2) +.L802428C8: +/* DF1768 802428C8 8FBF003C */ lw $ra, 0x3c($sp) +/* DF176C 802428CC 8FB20038 */ lw $s2, 0x38($sp) +/* DF1770 802428D0 8FB10034 */ lw $s1, 0x34($sp) +/* DF1774 802428D4 8FB00030 */ lw $s0, 0x30($sp) +/* DF1778 802428D8 03E00008 */ jr $ra +/* DF177C 802428DC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802428E0_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802428E0_DEEEA0.s new file mode 100644 index 0000000000..a163fa1c95 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802428E0_DEEEA0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802428E0_DF1780 +/* DF1780 802428E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* DF1784 802428E4 AFB10014 */ sw $s1, 0x14($sp) +/* DF1788 802428E8 0080882D */ daddu $s1, $a0, $zero +/* DF178C 802428EC AFBF0018 */ sw $ra, 0x18($sp) +/* DF1790 802428F0 AFB00010 */ sw $s0, 0x10($sp) +/* DF1794 802428F4 8E300148 */ lw $s0, 0x148($s1) +/* DF1798 802428F8 0C00EABB */ jal get_npc_unsafe +/* DF179C 802428FC 86040008 */ lh $a0, 8($s0) +/* DF17A0 80242900 96030076 */ lhu $v1, 0x76($s0) +/* DF17A4 80242904 A443008E */ sh $v1, 0x8e($v0) +/* DF17A8 80242908 24020021 */ addiu $v0, $zero, 0x21 +/* DF17AC 8024290C AE220070 */ sw $v0, 0x70($s1) +/* DF17B0 80242910 8FBF0018 */ lw $ra, 0x18($sp) +/* DF17B4 80242914 8FB10014 */ lw $s1, 0x14($sp) +/* DF17B8 80242918 8FB00010 */ lw $s0, 0x10($sp) +/* DF17BC 8024291C 03E00008 */ jr $ra +/* DF17C0 80242920 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80242924.s b/asm/nonmatchings/world/area_omo/omo_17/func_80242924.s new file mode 100644 index 0000000000..25a70e1510 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80242924.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242924 +/* DF17C4 80242924 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* DF17C8 80242928 AFB3001C */ sw $s3, 0x1c($sp) +/* DF17CC 8024292C 0080982D */ daddu $s3, $a0, $zero +/* DF17D0 80242930 AFBF0020 */ sw $ra, 0x20($sp) +/* DF17D4 80242934 AFB20018 */ sw $s2, 0x18($sp) +/* DF17D8 80242938 AFB10014 */ sw $s1, 0x14($sp) +/* DF17DC 8024293C AFB00010 */ sw $s0, 0x10($sp) +/* DF17E0 80242940 8E720148 */ lw $s2, 0x148($s3) +/* DF17E4 80242944 0C00EABB */ jal get_npc_unsafe +/* DF17E8 80242948 86440008 */ lh $a0, 8($s2) +/* DF17EC 8024294C 86440008 */ lh $a0, 8($s2) +/* DF17F0 80242950 0040882D */ daddu $s1, $v0, $zero +/* DF17F4 80242954 0C00FB3A */ jal get_enemy +/* DF17F8 80242958 24840001 */ addiu $a0, $a0, 1 +/* DF17FC 8024295C 0040802D */ daddu $s0, $v0, $zero +/* DF1800 80242960 0C00EABB */ jal get_npc_unsafe +/* DF1804 80242964 86040008 */ lh $a0, 8($s0) +/* DF1808 80242968 C62C0038 */ lwc1 $f12, 0x38($s1) +/* DF180C 8024296C C62E0040 */ lwc1 $f14, 0x40($s1) +/* DF1810 80242970 8C460038 */ lw $a2, 0x38($v0) +/* DF1814 80242974 0C00A720 */ jal atan2 +/* DF1818 80242978 8C470040 */ lw $a3, 0x40($v0) +/* DF181C 8024297C E620000C */ swc1 $f0, 0xc($s1) +/* DF1820 80242980 8E02006C */ lw $v0, 0x6c($s0) +/* DF1824 80242984 14400008 */ bnez $v0, .L802429A8 +/* DF1828 80242988 00000000 */ nop +/* DF182C 8024298C 8E4200CC */ lw $v0, 0xcc($s2) +/* DF1830 80242990 8C420000 */ lw $v0, ($v0) +/* DF1834 80242994 AE220028 */ sw $v0, 0x28($s1) +/* DF1838 80242998 96420076 */ lhu $v0, 0x76($s2) +/* DF183C 8024299C A622008E */ sh $v0, 0x8e($s1) +/* DF1840 802429A0 24020021 */ addiu $v0, $zero, 0x21 +/* DF1844 802429A4 AE620070 */ sw $v0, 0x70($s3) +.L802429A8: +/* DF1848 802429A8 8FBF0020 */ lw $ra, 0x20($sp) +/* DF184C 802429AC 8FB3001C */ lw $s3, 0x1c($sp) +/* DF1850 802429B0 8FB20018 */ lw $s2, 0x18($sp) +/* DF1854 802429B4 8FB10014 */ lw $s1, 0x14($sp) +/* DF1858 802429B8 8FB00010 */ lw $s0, 0x10($sp) +/* DF185C 802429BC 03E00008 */ jr $ra +/* DF1860 802429C0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802429C4_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802429C4_DEEEA0.s new file mode 100644 index 0000000000..efe9ee4654 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802429C4_DEEEA0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429C4_DF1864 +/* DF1864 802429C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF1868 802429C8 AFB00010 */ sw $s0, 0x10($sp) +/* DF186C 802429CC 0080802D */ daddu $s0, $a0, $zero +/* DF1870 802429D0 AFBF0014 */ sw $ra, 0x14($sp) +/* DF1874 802429D4 8E020148 */ lw $v0, 0x148($s0) +/* DF1878 802429D8 0C00EABB */ jal get_npc_unsafe +/* DF187C 802429DC 84440008 */ lh $a0, 8($v0) +/* DF1880 802429E0 9443008E */ lhu $v1, 0x8e($v0) +/* DF1884 802429E4 2463FFFF */ addiu $v1, $v1, -1 +/* DF1888 802429E8 A443008E */ sh $v1, 0x8e($v0) +/* DF188C 802429EC 00031C00 */ sll $v1, $v1, 0x10 +/* DF1890 802429F0 58600001 */ blezl $v1, .L802429F8 +/* DF1894 802429F4 AE000070 */ sw $zero, 0x70($s0) +.L802429F8: +/* DF1898 802429F8 8FBF0014 */ lw $ra, 0x14($sp) +/* DF189C 802429FC 8FB00010 */ lw $s0, 0x10($sp) +/* DF18A0 80242A00 03E00008 */ jr $ra +/* DF18A4 80242A04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80242A08_DEEEA0.s b/asm/nonmatchings/world/area_omo/omo_17/func_80242A08_DEEEA0.s new file mode 100644 index 0000000000..836888dd5d --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80242A08_DEEEA0.s @@ -0,0 +1,354 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A08_DF18A8 +/* DF18A8 80242A08 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* DF18AC 80242A0C AFB7004C */ sw $s7, 0x4c($sp) +/* DF18B0 80242A10 0080B82D */ daddu $s7, $a0, $zero +/* DF18B4 80242A14 AFB10034 */ sw $s1, 0x34($sp) +/* DF18B8 80242A18 00A0882D */ daddu $s1, $a1, $zero +/* DF18BC 80242A1C AFBF0050 */ sw $ra, 0x50($sp) +/* DF18C0 80242A20 AFB60048 */ sw $s6, 0x48($sp) +/* DF18C4 80242A24 AFB50044 */ sw $s5, 0x44($sp) +/* DF18C8 80242A28 AFB40040 */ sw $s4, 0x40($sp) +/* DF18CC 80242A2C AFB3003C */ sw $s3, 0x3c($sp) +/* DF18D0 80242A30 AFB20038 */ sw $s2, 0x38($sp) +/* DF18D4 80242A34 AFB00030 */ sw $s0, 0x30($sp) +/* DF18D8 80242A38 8EF30148 */ lw $s3, 0x148($s7) +/* DF18DC 80242A3C 86640008 */ lh $a0, 8($s3) +/* DF18E0 80242A40 8EF0000C */ lw $s0, 0xc($s7) +/* DF18E4 80242A44 0C00FB5A */ jal get_enemy_safe +/* DF18E8 80242A48 0000B02D */ daddu $s6, $zero, $zero +/* DF18EC 80242A4C 10400131 */ beqz $v0, .L80242F14 +/* DF18F0 80242A50 24020005 */ addiu $v0, $zero, 5 +/* DF18F4 80242A54 8E63006C */ lw $v1, 0x6c($s3) +/* DF18F8 80242A58 1062012F */ beq $v1, $v0, .L80242F18 +/* DF18FC 80242A5C 0000102D */ daddu $v0, $zero, $zero +/* DF1900 80242A60 8E050000 */ lw $a1, ($s0) +/* DF1904 80242A64 0C0B1EAF */ jal get_variable +/* DF1908 80242A68 02E0202D */ daddu $a0, $s7, $zero +/* DF190C 80242A6C 86640008 */ lh $a0, 8($s3) +/* DF1910 80242A70 0C00EABB */ jal get_npc_unsafe +/* DF1914 80242A74 0040A82D */ daddu $s5, $v0, $zero +/* DF1918 80242A78 8E630070 */ lw $v1, 0x70($s3) +/* DF191C 80242A7C 30630002 */ andi $v1, $v1, 2 +/* DF1920 80242A80 10600008 */ beqz $v1, .L80242AA4 +/* DF1924 80242A84 0040902D */ daddu $s2, $v0, $zero +/* DF1928 80242A88 964200A8 */ lhu $v0, 0xa8($s2) +/* DF192C 80242A8C 00021400 */ sll $v0, $v0, 0x10 +/* DF1930 80242A90 00021C03 */ sra $v1, $v0, 0x10 +/* DF1934 80242A94 000217C2 */ srl $v0, $v0, 0x1f +/* DF1938 80242A98 00621821 */ addu $v1, $v1, $v0 +/* DF193C 80242A9C 00031843 */ sra $v1, $v1, 1 +/* DF1940 80242AA0 A24300AB */ sb $v1, 0xab($s2) +.L80242AA4: +/* DF1944 80242AA4 16200005 */ bnez $s1, .L80242ABC +/* DF1948 80242AA8 3C030004 */ lui $v1, 4 +/* DF194C 80242AAC 8E6200B0 */ lw $v0, 0xb0($s3) +/* DF1950 80242AB0 30420004 */ andi $v0, $v0, 4 +/* DF1954 80242AB4 10400019 */ beqz $v0, .L80242B1C +/* DF1958 80242AB8 00000000 */ nop +.L80242ABC: +/* DF195C 80242ABC 34630102 */ ori $v1, $v1, 0x102 +/* DF1960 80242AC0 AEE00070 */ sw $zero, 0x70($s7) +/* DF1964 80242AC4 8E420000 */ lw $v0, ($s2) +/* DF1968 80242AC8 0240202D */ daddu $a0, $s2, $zero +/* DF196C 80242ACC A640008E */ sh $zero, 0x8e($s2) +/* DF1970 80242AD0 00431025 */ or $v0, $v0, $v1 +/* DF1974 80242AD4 0C00EAFF */ jal disable_npc_shadow +/* DF1978 80242AD8 AE420000 */ sw $v0, ($s2) +/* DF197C 80242ADC 3C041F30 */ lui $a0, 0x1f30 +/* DF1980 80242AE0 8E420000 */ lw $v0, ($s2) +/* DF1984 80242AE4 2403F7FF */ addiu $v1, $zero, -0x801 +/* DF1988 80242AE8 00431024 */ and $v0, $v0, $v1 +/* DF198C 80242AEC AE420000 */ sw $v0, ($s2) +/* DF1990 80242AF0 8E620000 */ lw $v0, ($s3) +/* DF1994 80242AF4 8E6300B0 */ lw $v1, 0xb0($s3) +/* DF1998 80242AF8 34840040 */ ori $a0, $a0, 0x40 +/* DF199C 80242AFC AE60006C */ sw $zero, 0x6c($s3) +/* DF19A0 80242B00 00441025 */ or $v0, $v0, $a0 +/* DF19A4 80242B04 AE620000 */ sw $v0, ($s3) +/* DF19A8 80242B08 30620004 */ andi $v0, $v1, 4 +/* DF19AC 80242B0C 10400003 */ beqz $v0, .L80242B1C +/* DF19B0 80242B10 2402FFFB */ addiu $v0, $zero, -5 +/* DF19B4 80242B14 00621024 */ and $v0, $v1, $v0 +/* DF19B8 80242B18 AE6200B0 */ sw $v0, 0xb0($s3) +.L80242B1C: +/* DF19BC 80242B1C 8EE30070 */ lw $v1, 0x70($s7) +/* DF19C0 80242B20 24100001 */ addiu $s0, $zero, 1 +/* DF19C4 80242B24 10700012 */ beq $v1, $s0, .L80242B70 +/* DF19C8 80242B28 28620002 */ slti $v0, $v1, 2 +/* DF19CC 80242B2C 10400005 */ beqz $v0, .L80242B44 +/* DF19D0 80242B30 24020002 */ addiu $v0, $zero, 2 +/* DF19D4 80242B34 10600007 */ beqz $v1, .L80242B54 +/* DF19D8 80242B38 0000102D */ daddu $v0, $zero, $zero +/* DF19DC 80242B3C 08090BC6 */ j .L80242F18 +/* DF19E0 80242B40 00000000 */ nop +.L80242B44: +/* DF19E4 80242B44 1062005B */ beq $v1, $v0, .L80242CB4 +/* DF19E8 80242B48 0000102D */ daddu $v0, $zero, $zero +/* DF19EC 80242B4C 08090BC6 */ j .L80242F18 +/* DF19F0 80242B50 00000000 */ nop +.L80242B54: +/* DF19F4 80242B54 8E420000 */ lw $v0, ($s2) +/* DF19F8 80242B58 0240202D */ daddu $a0, $s2, $zero +/* DF19FC 80242B5C 34420002 */ ori $v0, $v0, 2 +/* DF1A00 80242B60 0C00EAFF */ jal disable_npc_shadow +/* DF1A04 80242B64 AE420000 */ sw $v0, ($s2) +/* DF1A08 80242B68 AE60006C */ sw $zero, 0x6c($s3) +/* DF1A0C 80242B6C AEF00070 */ sw $s0, 0x70($s7) +.L80242B70: +/* DF1A10 80242B70 8E74006C */ lw $s4, 0x6c($s3) +/* DF1A14 80242B74 24020001 */ addiu $v0, $zero, 1 +/* DF1A18 80242B78 168200E7 */ bne $s4, $v0, .L80242F18 +/* DF1A1C 80242B7C 0000102D */ daddu $v0, $zero, $zero +/* DF1A20 80242B80 8E64007C */ lw $a0, 0x7c($s3) +/* DF1A24 80242B84 24110002 */ addiu $s1, $zero, 2 +/* DF1A28 80242B88 0C00EABB */ jal get_npc_unsafe +/* DF1A2C 80242B8C AE71006C */ sw $s1, 0x6c($s3) +/* DF1A30 80242B90 0040802D */ daddu $s0, $v0, $zero +/* DF1A34 80242B94 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF1A38 80242B98 E6400038 */ swc1 $f0, 0x38($s2) +/* DF1A3C 80242B9C C6000040 */ lwc1 $f0, 0x40($s0) +/* DF1A40 80242BA0 E6400040 */ swc1 $f0, 0x40($s2) +/* DF1A44 80242BA4 C6020034 */ lwc1 $f2, 0x34($s0) +/* DF1A48 80242BA8 3C014387 */ lui $at, 0x4387 +/* DF1A4C 80242BAC 44810000 */ mtc1 $at, $f0 +/* DF1A50 80242BB0 26440038 */ addiu $a0, $s2, 0x38 +/* DF1A54 80242BB4 46020001 */ sub.s $f0, $f0, $f2 +/* DF1A58 80242BB8 C6680078 */ lwc1 $f8, 0x78($s3) +/* DF1A5C 80242BBC 46804220 */ cvt.s.w $f8, $f8 +/* DF1A60 80242BC0 44064000 */ mfc1 $a2, $f8 +/* DF1A64 80242BC4 44070000 */ mfc1 $a3, $f0 +/* DF1A68 80242BC8 0C00A7E7 */ jal add_vec2D_polar +/* DF1A6C 80242BCC 26450040 */ addiu $a1, $s2, 0x40 +/* DF1A70 80242BD0 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF1A74 80242BD4 C6620074 */ lwc1 $f2, 0x74($s3) +/* DF1A78 80242BD8 468010A0 */ cvt.s.w $f2, $f2 +/* DF1A7C 80242BDC 46020000 */ add.s $f0, $f0, $f2 +/* DF1A80 80242BE0 E640003C */ swc1 $f0, 0x3c($s2) +/* DF1A84 80242BE4 A2740007 */ sb $s4, 7($s3) +/* DF1A88 80242BE8 C6400038 */ lwc1 $f0, 0x38($s2) +/* DF1A8C 80242BEC 4600020D */ trunc.w.s $f8, $f0 +/* DF1A90 80242BF0 44024000 */ mfc1 $v0, $f8 +/* DF1A94 80242BF4 00000000 */ nop +/* DF1A98 80242BF8 A6620010 */ sh $v0, 0x10($s3) +/* DF1A9C 80242BFC C640003C */ lwc1 $f0, 0x3c($s2) +/* DF1AA0 80242C00 4600020D */ trunc.w.s $f8, $f0 +/* DF1AA4 80242C04 44024000 */ mfc1 $v0, $f8 +/* DF1AA8 80242C08 00000000 */ nop +/* DF1AAC 80242C0C A6620012 */ sh $v0, 0x12($s3) +/* DF1AB0 80242C10 C6400040 */ lwc1 $f0, 0x40($s2) +/* DF1AB4 80242C14 4600020D */ trunc.w.s $f8, $f0 +/* DF1AB8 80242C18 44024000 */ mfc1 $v0, $f8 +/* DF1ABC 80242C1C 00000000 */ nop +/* DF1AC0 80242C20 A6620014 */ sh $v0, 0x14($s3) +/* DF1AC4 80242C24 AE400044 */ sw $zero, 0x44($s2) +/* DF1AC8 80242C28 AE400048 */ sw $zero, 0x48($s2) +/* DF1ACC 80242C2C AE40004C */ sw $zero, 0x4c($s2) +/* DF1AD0 80242C30 C6A00000 */ lwc1 $f0, ($s5) +/* DF1AD4 80242C34 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF1AD8 80242C38 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF1ADC 80242C3C C64C0038 */ lwc1 $f12, 0x38($s2) +/* DF1AE0 80242C40 C64E0040 */ lwc1 $f14, 0x40($s2) +/* DF1AE4 80242C44 E6400018 */ swc1 $f0, 0x18($s2) +/* DF1AE8 80242C48 8C460028 */ lw $a2, 0x28($v0) +/* DF1AEC 80242C4C 0C00A720 */ jal atan2 +/* DF1AF0 80242C50 8C470030 */ lw $a3, 0x30($v0) +/* DF1AF4 80242C54 E640000C */ swc1 $f0, 0xc($s2) +/* DF1AF8 80242C58 C6A0000C */ lwc1 $f0, 0xc($s5) +/* DF1AFC 80242C5C 8E420000 */ lw $v0, ($s2) +/* DF1B00 80242C60 0240202D */ daddu $a0, $s2, $zero +/* DF1B04 80242C64 E640001C */ swc1 $f0, 0x1c($s2) +/* DF1B08 80242C68 C6A00010 */ lwc1 $f0, 0x10($s5) +/* DF1B0C 80242C6C 2403FFFD */ addiu $v1, $zero, -3 +/* DF1B10 80242C70 E6400014 */ swc1 $f0, 0x14($s2) +/* DF1B14 80242C74 C600003C */ lwc1 $f0, 0x3c($s0) +/* DF1B18 80242C78 00431024 */ and $v0, $v0, $v1 +/* DF1B1C 80242C7C AE420000 */ sw $v0, ($s2) +/* DF1B20 80242C80 0C00EAE8 */ jal enable_npc_shadow +/* DF1B24 80242C84 E6400064 */ swc1 $f0, 0x64($s2) +/* DF1B28 80242C88 8E420000 */ lw $v0, ($s2) +/* DF1B2C 80242C8C 3C03E0FF */ lui $v1, 0xe0ff +/* DF1B30 80242C90 34420800 */ ori $v0, $v0, 0x800 +/* DF1B34 80242C94 AE420000 */ sw $v0, ($s2) +/* DF1B38 80242C98 8E620000 */ lw $v0, ($s3) +/* DF1B3C 80242C9C 3463FFFF */ ori $v1, $v1, 0xffff +/* DF1B40 80242CA0 00431024 */ and $v0, $v0, $v1 +/* DF1B44 80242CA4 AE620000 */ sw $v0, ($s3) +/* DF1B48 80242CA8 2402005A */ addiu $v0, $zero, 0x5a +/* DF1B4C 80242CAC A642008E */ sh $v0, 0x8e($s2) +/* DF1B50 80242CB0 AEF10070 */ sw $s1, 0x70($s7) +.L80242CB4: +/* DF1B54 80242CB4 0000202D */ daddu $a0, $zero, $zero +/* DF1B58 80242CB8 27B00020 */ addiu $s0, $sp, 0x20 +/* DF1B5C 80242CBC 864200A8 */ lh $v0, 0xa8($s2) +/* DF1B60 80242CC0 3C013FE0 */ lui $at, 0x3fe0 +/* DF1B64 80242CC4 44810800 */ mtc1 $at, $f1 +/* DF1B68 80242CC8 44800000 */ mtc1 $zero, $f0 +/* DF1B6C 80242CCC 44821000 */ mtc1 $v0, $f2 +/* DF1B70 80242CD0 00000000 */ nop +/* DF1B74 80242CD4 468010A1 */ cvt.d.w $f2, $f2 +/* DF1B78 80242CD8 46201082 */ mul.d $f2, $f2, $f0 +/* DF1B7C 80242CDC 00000000 */ nop +/* DF1B80 80242CE0 0200282D */ daddu $a1, $s0, $zero +/* DF1B84 80242CE4 C6440038 */ lwc1 $f4, 0x38($s2) +/* DF1B88 80242CE8 C640003C */ lwc1 $f0, 0x3c($s2) +/* DF1B8C 80242CEC 27B10024 */ addiu $s1, $sp, 0x24 +/* DF1B90 80242CF0 E7A40020 */ swc1 $f4, 0x20($sp) +/* DF1B94 80242CF4 C6440040 */ lwc1 $f4, 0x40($s2) +/* DF1B98 80242CF8 46000021 */ cvt.d.s $f0, $f0 +/* DF1B9C 80242CFC 46220000 */ add.d $f0, $f0, $f2 +/* DF1BA0 80242D00 E7A40028 */ swc1 $f4, 0x28($sp) +/* DF1BA4 80242D04 C6420018 */ lwc1 $f2, 0x18($s2) +/* DF1BA8 80242D08 46200020 */ cvt.s.d $f0, $f0 +/* DF1BAC 80242D0C E7A00024 */ swc1 $f0, 0x24($sp) +/* DF1BB0 80242D10 E7A20010 */ swc1 $f2, 0x10($sp) +/* DF1BB4 80242D14 C640000C */ lwc1 $f0, 0xc($s2) +/* DF1BB8 80242D18 0220302D */ daddu $a2, $s1, $zero +/* DF1BBC 80242D1C E7A00014 */ swc1 $f0, 0x14($sp) +/* DF1BC0 80242D20 864200A6 */ lh $v0, 0xa6($s2) +/* DF1BC4 80242D24 27B40028 */ addiu $s4, $sp, 0x28 +/* DF1BC8 80242D28 44820000 */ mtc1 $v0, $f0 +/* DF1BCC 80242D2C 00000000 */ nop +/* DF1BD0 80242D30 46800020 */ cvt.s.w $f0, $f0 +/* DF1BD4 80242D34 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF1BD8 80242D38 864200A8 */ lh $v0, 0xa8($s2) +/* DF1BDC 80242D3C 0280382D */ daddu $a3, $s4, $zero +/* DF1BE0 80242D40 44820000 */ mtc1 $v0, $f0 +/* DF1BE4 80242D44 00000000 */ nop +/* DF1BE8 80242D48 46800020 */ cvt.s.w $f0, $f0 +/* DF1BEC 80242D4C 0C0376B9 */ jal func_800DDAE4 +/* DF1BF0 80242D50 E7A0001C */ swc1 $f0, 0x1c($sp) +/* DF1BF4 80242D54 54400001 */ bnel $v0, $zero, .L80242D5C +/* DF1BF8 80242D58 24160001 */ addiu $s6, $zero, 1 +.L80242D5C: +/* DF1BFC 80242D5C 0200282D */ daddu $a1, $s0, $zero +/* DF1C00 80242D60 0220302D */ daddu $a2, $s1, $zero +/* DF1C04 80242D64 C6400038 */ lwc1 $f0, 0x38($s2) +/* DF1C08 80242D68 C642003C */ lwc1 $f2, 0x3c($s2) +/* DF1C0C 80242D6C C6440040 */ lwc1 $f4, 0x40($s2) +/* DF1C10 80242D70 3C01447A */ lui $at, 0x447a +/* DF1C14 80242D74 44813000 */ mtc1 $at, $f6 +/* DF1C18 80242D78 27A2002C */ addiu $v0, $sp, 0x2c +/* DF1C1C 80242D7C E7A00020 */ swc1 $f0, 0x20($sp) +/* DF1C20 80242D80 E7A20024 */ swc1 $f2, 0x24($sp) +/* DF1C24 80242D84 E7A40028 */ swc1 $f4, 0x28($sp) +/* DF1C28 80242D88 E7A6002C */ swc1 $f6, 0x2c($sp) +/* DF1C2C 80242D8C AFA20010 */ sw $v0, 0x10($sp) +/* DF1C30 80242D90 8E440080 */ lw $a0, 0x80($s2) +/* DF1C34 80242D94 0C0372DF */ jal func_800DCB7C +/* DF1C38 80242D98 0280382D */ daddu $a3, $s4, $zero +/* DF1C3C 80242D9C 10400019 */ beqz $v0, .L80242E04 +/* DF1C40 80242DA0 00000000 */ nop +/* DF1C44 80242DA4 C640001C */ lwc1 $f0, 0x1c($s2) +/* DF1C48 80242DA8 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* DF1C4C 80242DAC 46000005 */ abs.s $f0, $f0 +/* DF1C50 80242DB0 4600103C */ c.lt.s $f2, $f0 +/* DF1C54 80242DB4 00000000 */ nop +/* DF1C58 80242DB8 45000012 */ bc1f .L80242E04 +/* DF1C5C 80242DBC 00000000 */ nop +/* DF1C60 80242DC0 C7A40024 */ lwc1 $f4, 0x24($sp) +/* DF1C64 80242DC4 C6400064 */ lwc1 $f0, 0x64($s2) +/* DF1C68 80242DC8 46002001 */ sub.s $f0, $f4, $f0 +/* DF1C6C 80242DCC 3C014034 */ lui $at, 0x4034 +/* DF1C70 80242DD0 44811800 */ mtc1 $at, $f3 +/* DF1C74 80242DD4 44801000 */ mtc1 $zero, $f2 +/* DF1C78 80242DD8 46000005 */ abs.s $f0, $f0 +/* DF1C7C 80242DDC 46000021 */ cvt.d.s $f0, $f0 +/* DF1C80 80242DE0 4622003C */ c.lt.d $f0, $f2 +/* DF1C84 80242DE4 00000000 */ nop +/* DF1C88 80242DE8 45000006 */ bc1f .L80242E04 +/* DF1C8C 80242DEC 0240202D */ daddu $a0, $s2, $zero +/* DF1C90 80242DF0 8E450018 */ lw $a1, 0x18($s2) +/* DF1C94 80242DF4 8E46000C */ lw $a2, 0xc($s2) +/* DF1C98 80242DF8 2416000A */ addiu $s6, $zero, 0xa +/* DF1C9C 80242DFC 0C00EA95 */ jal npc_move_heading +/* DF1CA0 80242E00 E644003C */ swc1 $f4, 0x3c($s2) +.L80242E04: +/* DF1CA4 80242E04 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* DF1CA8 80242E08 3C013FF0 */ lui $at, 0x3ff0 +/* DF1CAC 80242E0C 44811800 */ mtc1 $at, $f3 +/* DF1CB0 80242E10 44801000 */ mtc1 $zero, $f2 +/* DF1CB4 80242E14 46000021 */ cvt.d.s $f0, $f0 +/* DF1CB8 80242E18 4622003C */ c.lt.d $f0, $f2 +/* DF1CBC 80242E1C 00000000 */ nop +/* DF1CC0 80242E20 45030001 */ bc1tl .L80242E28 +/* DF1CC4 80242E24 2416000B */ addiu $s6, $zero, 0xb +.L80242E28: +/* DF1CC8 80242E28 9642008E */ lhu $v0, 0x8e($s2) +/* DF1CCC 80242E2C 2442FFFF */ addiu $v0, $v0, -1 +/* DF1CD0 80242E30 A642008E */ sh $v0, 0x8e($s2) +/* DF1CD4 80242E34 00021400 */ sll $v0, $v0, 0x10 +/* DF1CD8 80242E38 58400001 */ blezl $v0, .L80242E40 +/* DF1CDC 80242E3C 24160014 */ addiu $s6, $zero, 0x14 +.L80242E40: +/* DF1CE0 80242E40 56C00019 */ bnel $s6, $zero, .L80242EA8 +/* DF1CE4 80242E44 AFA00010 */ sw $zero, 0x10($sp) +/* DF1CE8 80242E48 8E620070 */ lw $v0, 0x70($s3) +/* DF1CEC 80242E4C 30420001 */ andi $v0, $v0, 1 +/* DF1CF0 80242E50 10400009 */ beqz $v0, .L80242E78 +/* DF1CF4 80242E54 00000000 */ nop +/* DF1CF8 80242E58 C640004C */ lwc1 $f0, 0x4c($s2) +/* DF1CFC 80242E5C 3C014044 */ lui $at, 0x4044 +/* DF1D00 80242E60 44811800 */ mtc1 $at, $f3 +/* DF1D04 80242E64 44801000 */ mtc1 $zero, $f2 +/* DF1D08 80242E68 46000021 */ cvt.d.s $f0, $f0 +/* DF1D0C 80242E6C 46220000 */ add.d $f0, $f0, $f2 +/* DF1D10 80242E70 46200020 */ cvt.s.d $f0, $f0 +/* DF1D14 80242E74 E640004C */ swc1 $f0, 0x4c($s2) +.L80242E78: +/* DF1D18 80242E78 8E450018 */ lw $a1, 0x18($s2) +/* DF1D1C 80242E7C 8E46000C */ lw $a2, 0xc($s2) +/* DF1D20 80242E80 0C00EA95 */ jal npc_move_heading +/* DF1D24 80242E84 0240202D */ daddu $a0, $s2, $zero +/* DF1D28 80242E88 C644003C */ lwc1 $f4, 0x3c($s2) +/* DF1D2C 80242E8C C640001C */ lwc1 $f0, 0x1c($s2) +/* DF1D30 80242E90 46002100 */ add.s $f4, $f4, $f0 +/* DF1D34 80242E94 C6420014 */ lwc1 $f2, 0x14($s2) +/* DF1D38 80242E98 46020001 */ sub.s $f0, $f0, $f2 +/* DF1D3C 80242E9C E644003C */ swc1 $f4, 0x3c($s2) +/* DF1D40 80242EA0 08090BC5 */ j .L80242F14 +/* DF1D44 80242EA4 E640001C */ swc1 $f0, 0x1c($s2) +.L80242EA8: +/* DF1D48 80242EA8 AFA00014 */ sw $zero, 0x14($sp) +/* DF1D4C 80242EAC 8E450038 */ lw $a1, 0x38($s2) +/* DF1D50 80242EB0 8E46003C */ lw $a2, 0x3c($s2) +/* DF1D54 80242EB4 8E470040 */ lw $a3, 0x40($s2) +/* DF1D58 80242EB8 0C01BECC */ jal fx_walk_normal +/* DF1D5C 80242EBC 24040002 */ addiu $a0, $zero, 2 +/* DF1D60 80242EC0 3C01C47A */ lui $at, 0xc47a +/* DF1D64 80242EC4 44810000 */ mtc1 $at, $f0 +/* DF1D68 80242EC8 AE60006C */ sw $zero, 0x6c($s3) +/* DF1D6C 80242ECC 8E420000 */ lw $v0, ($s2) +/* DF1D70 80242ED0 0240202D */ daddu $a0, $s2, $zero +/* DF1D74 80242ED4 AE400038 */ sw $zero, 0x38($s2) +/* DF1D78 80242ED8 AE400040 */ sw $zero, 0x40($s2) +/* DF1D7C 80242EDC AE40001C */ sw $zero, 0x1c($s2) +/* DF1D80 80242EE0 34420002 */ ori $v0, $v0, 2 +/* DF1D84 80242EE4 E640003C */ swc1 $f0, 0x3c($s2) +/* DF1D88 80242EE8 0C00EAFF */ jal disable_npc_shadow +/* DF1D8C 80242EEC AE420000 */ sw $v0, ($s2) +/* DF1D90 80242EF0 8E420000 */ lw $v0, ($s2) +/* DF1D94 80242EF4 2403F7FF */ addiu $v1, $zero, -0x801 +/* DF1D98 80242EF8 00431024 */ and $v0, $v0, $v1 +/* DF1D9C 80242EFC AE420000 */ sw $v0, ($s2) +/* DF1DA0 80242F00 8E620000 */ lw $v0, ($s3) +/* DF1DA4 80242F04 3C031F00 */ lui $v1, 0x1f00 +/* DF1DA8 80242F08 00431025 */ or $v0, $v0, $v1 +/* DF1DAC 80242F0C AE620000 */ sw $v0, ($s3) +/* DF1DB0 80242F10 AEE00070 */ sw $zero, 0x70($s7) +.L80242F14: +/* DF1DB4 80242F14 0000102D */ daddu $v0, $zero, $zero +.L80242F18: +/* DF1DB8 80242F18 8FBF0050 */ lw $ra, 0x50($sp) +/* DF1DBC 80242F1C 8FB7004C */ lw $s7, 0x4c($sp) +/* DF1DC0 80242F20 8FB60048 */ lw $s6, 0x48($sp) +/* DF1DC4 80242F24 8FB50044 */ lw $s5, 0x44($sp) +/* DF1DC8 80242F28 8FB40040 */ lw $s4, 0x40($sp) +/* DF1DCC 80242F2C 8FB3003C */ lw $s3, 0x3c($sp) +/* DF1DD0 80242F30 8FB20038 */ lw $s2, 0x38($sp) +/* DF1DD4 80242F34 8FB10034 */ lw $s1, 0x34($sp) +/* DF1DD8 80242F38 8FB00030 */ lw $s0, 0x30($sp) +/* DF1DDC 80242F3C 03E00008 */ jr $ra +/* DF1DE0 80242F40 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_80242F44.s b/asm/nonmatchings/world/area_omo/omo_17/func_80242F44.s new file mode 100644 index 0000000000..532ee30d3a --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_80242F44.s @@ -0,0 +1,298 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242F44 +/* DF1DE4 80242F44 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* DF1DE8 80242F48 AFB3003C */ sw $s3, 0x3c($sp) +/* DF1DEC 80242F4C 0080982D */ daddu $s3, $a0, $zero +/* DF1DF0 80242F50 AFB40040 */ sw $s4, 0x40($sp) +/* DF1DF4 80242F54 0000A02D */ daddu $s4, $zero, $zero +/* DF1DF8 80242F58 3C03800A */ lui $v1, 0x800a +/* DF1DFC 80242F5C 8463A634 */ lh $v1, -0x59cc($v1) +/* DF1E00 80242F60 3C04800B */ lui $a0, %hi(gCameras) +/* DF1E04 80242F64 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* DF1E08 80242F68 AFBF0044 */ sw $ra, 0x44($sp) +/* DF1E0C 80242F6C AFB20038 */ sw $s2, 0x38($sp) +/* DF1E10 80242F70 AFB10034 */ sw $s1, 0x34($sp) +/* DF1E14 80242F74 AFB00030 */ sw $s0, 0x30($sp) +/* DF1E18 80242F78 F7B80058 */ sdc1 $f24, 0x58($sp) +/* DF1E1C 80242F7C F7B60050 */ sdc1 $f22, 0x50($sp) +/* DF1E20 80242F80 F7B40048 */ sdc1 $f20, 0x48($sp) +/* DF1E24 80242F84 8E710148 */ lw $s1, 0x148($s3) +/* DF1E28 80242F88 00031080 */ sll $v0, $v1, 2 +/* DF1E2C 80242F8C 00431021 */ addu $v0, $v0, $v1 +/* DF1E30 80242F90 00021080 */ sll $v0, $v0, 2 +/* DF1E34 80242F94 00431023 */ subu $v0, $v0, $v1 +/* DF1E38 80242F98 000218C0 */ sll $v1, $v0, 3 +/* DF1E3C 80242F9C 00431021 */ addu $v0, $v0, $v1 +/* DF1E40 80242FA0 000210C0 */ sll $v0, $v0, 3 +/* DF1E44 80242FA4 10A00002 */ beqz $a1, .L80242FB0 +/* DF1E48 80242FA8 00449021 */ addu $s2, $v0, $a0 +/* DF1E4C 80242FAC AE600070 */ sw $zero, 0x70($s3) +.L80242FB0: +/* DF1E50 80242FB0 0C00FB5A */ jal get_enemy_safe +/* DF1E54 80242FB4 86240008 */ lh $a0, 8($s1) +/* DF1E58 80242FB8 14400006 */ bnez $v0, .L80242FD4 +/* DF1E5C 80242FBC 24020005 */ addiu $v0, $zero, 5 +/* DF1E60 80242FC0 0260202D */ daddu $a0, $s3, $zero +/* DF1E64 80242FC4 3C05FE36 */ lui $a1, 0xfe36 +/* DF1E68 80242FC8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DF1E6C 80242FCC 08090CCD */ j .L80243334 +/* DF1E70 80242FD0 0000302D */ daddu $a2, $zero, $zero +.L80242FD4: +/* DF1E74 80242FD4 8E23006C */ lw $v1, 0x6c($s1) +/* DF1E78 80242FD8 14620005 */ bne $v1, $v0, .L80242FF0 +/* DF1E7C 80242FDC 0260202D */ daddu $a0, $s3, $zero +/* DF1E80 80242FE0 3C05FE36 */ lui $a1, 0xfe36 +/* DF1E84 80242FE4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DF1E88 80242FE8 08090CCD */ j .L80243334 +/* DF1E8C 80242FEC 0000302D */ daddu $a2, $zero, $zero +.L80242FF0: +/* DF1E90 80242FF0 86240008 */ lh $a0, 8($s1) +/* DF1E94 80242FF4 0C00FB5A */ jal get_enemy_safe +/* DF1E98 80242FF8 00000000 */ nop +/* DF1E9C 80242FFC 14400005 */ bnez $v0, .L80243014 +/* DF1EA0 80243000 0260202D */ daddu $a0, $s3, $zero +/* DF1EA4 80243004 3C05FE36 */ lui $a1, 0xfe36 +/* DF1EA8 80243008 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DF1EAC 8024300C 08090CCD */ j .L80243334 +/* DF1EB0 80243010 0000302D */ daddu $a2, $zero, $zero +.L80243014: +/* DF1EB4 80243014 86240008 */ lh $a0, 8($s1) +/* DF1EB8 80243018 0C00EABB */ jal get_npc_unsafe +/* DF1EBC 8024301C 00000000 */ nop +/* DF1EC0 80243020 8E630070 */ lw $v1, 0x70($s3) +/* DF1EC4 80243024 10600006 */ beqz $v1, .L80243040 +/* DF1EC8 80243028 0040802D */ daddu $s0, $v0, $zero +/* DF1ECC 8024302C 24020001 */ addiu $v0, $zero, 1 +/* DF1ED0 80243030 1062003F */ beq $v1, $v0, .L80243130 +/* DF1ED4 80243034 0000102D */ daddu $v0, $zero, $zero +/* DF1ED8 80243038 08090CDD */ j .L80243374 +/* DF1EDC 8024303C 00000000 */ nop +.L80243040: +/* DF1EE0 80243040 AFA00010 */ sw $zero, 0x10($sp) +/* DF1EE4 80243044 AFA00014 */ sw $zero, 0x14($sp) +/* DF1EE8 80243048 8E050038 */ lw $a1, 0x38($s0) +/* DF1EEC 8024304C 8E06003C */ lw $a2, 0x3c($s0) +/* DF1EF0 80243050 8E070040 */ lw $a3, 0x40($s0) +/* DF1EF4 80243054 0C01BECC */ jal fx_walk_normal +/* DF1EF8 80243058 24040002 */ addiu $a0, $zero, 2 +/* DF1EFC 8024305C C64C006C */ lwc1 $f12, 0x6c($s2) +/* DF1F00 80243060 0C00A6C9 */ jal clamp_angle +/* DF1F04 80243064 00000000 */ nop +/* DF1F08 80243068 3C018024 */ lui $at, 0x8024 +/* DF1F0C 8024306C D43879B8 */ ldc1 $f24, 0x79b8($at) +/* DF1F10 80243070 46000521 */ cvt.d.s $f20, $f0 +/* DF1F14 80243074 4638A300 */ add.d $f12, $f20, $f24 +/* DF1F18 80243078 3C018024 */ lui $at, 0x8024 +/* DF1F1C 8024307C D43679C0 */ ldc1 $f22, 0x79c0($at) +/* DF1F20 80243080 0C00A6C9 */ jal clamp_angle +/* DF1F24 80243084 46206320 */ cvt.s.d $f12, $f12 +/* DF1F28 80243088 4636A500 */ add.d $f20, $f20, $f22 +/* DF1F2C 8024308C 4620A320 */ cvt.s.d $f12, $f20 +/* DF1F30 80243090 0C00A6C9 */ jal clamp_angle +/* DF1F34 80243094 46000506 */ mov.s $f20, $f0 +/* DF1F38 80243098 4600A521 */ cvt.d.s $f20, $f20 +/* DF1F3C 8024309C 4636A500 */ add.d $f20, $f20, $f22 +/* DF1F40 802430A0 46000586 */ mov.s $f22, $f0 +/* DF1F44 802430A4 0C00A6C9 */ jal clamp_angle +/* DF1F48 802430A8 4620A320 */ cvt.s.d $f12, $f20 +/* DF1F4C 802430AC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF1F50 802430B0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF1F54 802430B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* DF1F58 802430B8 C44E0084 */ lwc1 $f14, 0x84($v0) +/* DF1F5C 802430BC 0C00A70A */ jal get_clamped_angle_diff +/* DF1F60 802430C0 46000506 */ mov.s $f20, $f0 +/* DF1F64 802430C4 0C00A6C9 */ jal clamp_angle +/* DF1F68 802430C8 46000306 */ mov.s $f12, $f0 +/* DF1F6C 802430CC 46000021 */ cvt.d.s $f0, $f0 +/* DF1F70 802430D0 4638003C */ c.lt.d $f0, $f24 +/* DF1F74 802430D4 00000000 */ nop +/* DF1F78 802430D8 45020002 */ bc1fl .L802430E4 +/* DF1F7C 802430DC E614000C */ swc1 $f20, 0xc($s0) +/* DF1F80 802430E0 E616000C */ swc1 $f22, 0xc($s0) +.L802430E4: +/* DF1F84 802430E4 C6000018 */ lwc1 $f0, 0x18($s0) +/* DF1F88 802430E8 3C018024 */ lui $at, 0x8024 +/* DF1F8C 802430EC D42279C8 */ ldc1 $f2, 0x79c8($at) +/* DF1F90 802430F0 46000021 */ cvt.d.s $f0, $f0 +/* DF1F94 802430F4 46220002 */ mul.d $f0, $f0, $f2 +/* DF1F98 802430F8 00000000 */ nop +/* DF1F9C 802430FC 3C013F66 */ lui $at, 0x3f66 +/* DF1FA0 80243100 34216666 */ ori $at, $at, 0x6666 +/* DF1FA4 80243104 44812000 */ mtc1 $at, $f4 +/* DF1FA8 80243108 2402001E */ addiu $v0, $zero, 0x1e +/* DF1FAC 8024310C A602008E */ sh $v0, 0x8e($s0) +/* DF1FB0 80243110 3C014120 */ lui $at, 0x4120 +/* DF1FB4 80243114 44811000 */ mtc1 $at, $f2 +/* DF1FB8 80243118 24020001 */ addiu $v0, $zero, 1 +/* DF1FBC 8024311C E6040014 */ swc1 $f4, 0x14($s0) +/* DF1FC0 80243120 E602001C */ swc1 $f2, 0x1c($s0) +/* DF1FC4 80243124 46200020 */ cvt.s.d $f0, $f0 +/* DF1FC8 80243128 E6000018 */ swc1 $f0, 0x18($s0) +/* DF1FCC 8024312C AE620070 */ sw $v0, 0x70($s3) +.L80243130: +/* DF1FD0 80243130 C6000038 */ lwc1 $f0, 0x38($s0) +/* DF1FD4 80243134 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF1FD8 80243138 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF1FDC 8024313C C6060018 */ lwc1 $f6, 0x18($s0) +/* DF1FE0 80243140 0000202D */ daddu $a0, $zero, $zero +/* DF1FE4 80243144 E7A00020 */ swc1 $f0, 0x20($sp) +/* DF1FE8 80243148 E7A20024 */ swc1 $f2, 0x24($sp) +/* DF1FEC 8024314C E7A40028 */ swc1 $f4, 0x28($sp) +/* DF1FF0 80243150 E7A60010 */ swc1 $f6, 0x10($sp) +/* DF1FF4 80243154 C600000C */ lwc1 $f0, 0xc($s0) +/* DF1FF8 80243158 27A50020 */ addiu $a1, $sp, 0x20 +/* DF1FFC 8024315C E7A00014 */ swc1 $f0, 0x14($sp) +/* DF2000 80243160 860200A6 */ lh $v0, 0xa6($s0) +/* DF2004 80243164 27A60024 */ addiu $a2, $sp, 0x24 +/* DF2008 80243168 44820000 */ mtc1 $v0, $f0 +/* DF200C 8024316C 00000000 */ nop +/* DF2010 80243170 46800020 */ cvt.s.w $f0, $f0 +/* DF2014 80243174 E7A00018 */ swc1 $f0, 0x18($sp) +/* DF2018 80243178 860200A8 */ lh $v0, 0xa8($s0) +/* DF201C 8024317C 27A70028 */ addiu $a3, $sp, 0x28 +/* DF2020 80243180 44820000 */ mtc1 $v0, $f0 +/* DF2024 80243184 00000000 */ nop +/* DF2028 80243188 46800020 */ cvt.s.w $f0, $f0 +/* DF202C 8024318C 0C037711 */ jal func_800DDC44 +/* DF2030 80243190 E7A0001C */ swc1 $f0, 0x1c($sp) +/* DF2034 80243194 54400007 */ bnel $v0, $zero, .L802431B4 +/* DF2038 80243198 24140001 */ addiu $s4, $zero, 1 +/* DF203C 8024319C 8E050018 */ lw $a1, 0x18($s0) +/* DF2040 802431A0 8E06000C */ lw $a2, 0xc($s0) +/* DF2044 802431A4 0C00EA95 */ jal npc_move_heading +/* DF2048 802431A8 0200202D */ daddu $a0, $s0, $zero +/* DF204C 802431AC 08090C6E */ j .L802431B8 +/* DF2050 802431B0 0000902D */ daddu $s2, $zero, $zero +.L802431B4: +/* DF2054 802431B4 0000902D */ daddu $s2, $zero, $zero +.L802431B8: +/* DF2058 802431B8 C600001C */ lwc1 $f0, 0x1c($s0) +/* DF205C 802431BC 44801000 */ mtc1 $zero, $f2 +/* DF2060 802431C0 44801800 */ mtc1 $zero, $f3 +/* DF2064 802431C4 46000021 */ cvt.d.s $f0, $f0 +/* DF2068 802431C8 4622003C */ c.lt.d $f0, $f2 +/* DF206C 802431CC 00000000 */ nop +/* DF2070 802431D0 45000028 */ bc1f .L80243274 +/* DF2074 802431D4 27A50020 */ addiu $a1, $sp, 0x20 +/* DF2078 802431D8 27A60024 */ addiu $a2, $sp, 0x24 +/* DF207C 802431DC 27A2002C */ addiu $v0, $sp, 0x2c +/* DF2080 802431E0 C602003C */ lwc1 $f2, 0x3c($s0) +/* DF2084 802431E4 C6060038 */ lwc1 $f6, 0x38($s0) +/* DF2088 802431E8 3C01402A */ lui $at, 0x402a +/* DF208C 802431EC 4481A800 */ mtc1 $at, $f21 +/* DF2090 802431F0 4480A000 */ mtc1 $zero, $f20 +/* DF2094 802431F4 460010A1 */ cvt.d.s $f2, $f2 +/* DF2098 802431F8 46341080 */ add.d $f2, $f2, $f20 +/* DF209C 802431FC C600001C */ lwc1 $f0, 0x1c($s0) +/* DF20A0 80243200 C6040040 */ lwc1 $f4, 0x40($s0) +/* DF20A4 80243204 46000005 */ abs.s $f0, $f0 +/* DF20A8 80243208 E7A40028 */ swc1 $f4, 0x28($sp) +/* DF20AC 8024320C 3C014030 */ lui $at, 0x4030 +/* DF20B0 80243210 44812800 */ mtc1 $at, $f5 +/* DF20B4 80243214 44802000 */ mtc1 $zero, $f4 +/* DF20B8 80243218 46000021 */ cvt.d.s $f0, $f0 +/* DF20BC 8024321C E7A60020 */ swc1 $f6, 0x20($sp) +/* DF20C0 80243220 46240000 */ add.d $f0, $f0, $f4 +/* DF20C4 80243224 462010A0 */ cvt.s.d $f2, $f2 +/* DF20C8 80243228 E7A20024 */ swc1 $f2, 0x24($sp) +/* DF20CC 8024322C 46200020 */ cvt.s.d $f0, $f0 +/* DF20D0 80243230 E7A0002C */ swc1 $f0, 0x2c($sp) +/* DF20D4 80243234 AFA20010 */ sw $v0, 0x10($sp) +/* DF20D8 80243238 8E040080 */ lw $a0, 0x80($s0) +/* DF20DC 8024323C 0C0372DF */ jal func_800DCB7C +/* DF20E0 80243240 27A70028 */ addiu $a3, $sp, 0x28 +/* DF20E4 80243244 1040000B */ beqz $v0, .L80243274 +/* DF20E8 80243248 00000000 */ nop +/* DF20EC 8024324C C600001C */ lwc1 $f0, 0x1c($s0) +/* DF20F0 80243250 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* DF20F4 80243254 46000005 */ abs.s $f0, $f0 +/* DF20F8 80243258 46000021 */ cvt.d.s $f0, $f0 +/* DF20FC 8024325C 46340000 */ add.d $f0, $f0, $f20 +/* DF2100 80243260 460010A1 */ cvt.d.s $f2, $f2 +/* DF2104 80243264 4620103E */ c.le.d $f2, $f0 +/* DF2108 80243268 00000000 */ nop +/* DF210C 8024326C 45030001 */ bc1tl .L80243274 +/* DF2110 80243270 24120001 */ addiu $s2, $zero, 1 +.L80243274: +/* DF2114 80243274 56400008 */ bnel $s2, $zero, .L80243298 +/* DF2118 80243278 2414000A */ addiu $s4, $zero, 0xa +/* DF211C 8024327C C604003C */ lwc1 $f4, 0x3c($s0) +/* DF2120 80243280 C600001C */ lwc1 $f0, 0x1c($s0) +/* DF2124 80243284 46002100 */ add.s $f4, $f4, $f0 +/* DF2128 80243288 C6020014 */ lwc1 $f2, 0x14($s0) +/* DF212C 8024328C 46020001 */ sub.s $f0, $f0, $f2 +/* DF2130 80243290 E604003C */ swc1 $f4, 0x3c($s0) +/* DF2134 80243294 E600001C */ swc1 $f0, 0x1c($s0) +.L80243298: +/* DF2138 80243298 9602008E */ lhu $v0, 0x8e($s0) +/* DF213C 8024329C 2442FFFF */ addiu $v0, $v0, -1 +/* DF2140 802432A0 A602008E */ sh $v0, 0x8e($s0) +/* DF2144 802432A4 00021400 */ sll $v0, $v0, 0x10 +/* DF2148 802432A8 58400001 */ blezl $v0, .L802432B0 +/* DF214C 802432AC 2414000B */ addiu $s4, $zero, 0xb +.L802432B0: +/* DF2150 802432B0 12800024 */ beqz $s4, .L80243344 +/* DF2154 802432B4 00000000 */ nop +/* DF2158 802432B8 AFA00010 */ sw $zero, 0x10($sp) +/* DF215C 802432BC AFA00014 */ sw $zero, 0x14($sp) +/* DF2160 802432C0 8E050038 */ lw $a1, 0x38($s0) +/* DF2164 802432C4 8E06003C */ lw $a2, 0x3c($s0) +/* DF2168 802432C8 8E070040 */ lw $a3, 0x40($s0) +/* DF216C 802432CC 0C01BECC */ jal fx_walk_normal +/* DF2170 802432D0 24040002 */ addiu $a0, $zero, 2 +/* DF2174 802432D4 3C01C47A */ lui $at, 0xc47a +/* DF2178 802432D8 44810000 */ mtc1 $at, $f0 +/* DF217C 802432DC AE20006C */ sw $zero, 0x6c($s1) +/* DF2180 802432E0 8E020000 */ lw $v0, ($s0) +/* DF2184 802432E4 0200202D */ daddu $a0, $s0, $zero +/* DF2188 802432E8 AE000038 */ sw $zero, 0x38($s0) +/* DF218C 802432EC AE000040 */ sw $zero, 0x40($s0) +/* DF2190 802432F0 34420002 */ ori $v0, $v0, 2 +/* DF2194 802432F4 E600003C */ swc1 $f0, 0x3c($s0) +/* DF2198 802432F8 0C00EAFF */ jal disable_npc_shadow +/* DF219C 802432FC AE020000 */ sw $v0, ($s0) +/* DF21A0 80243300 0260202D */ daddu $a0, $s3, $zero +/* DF21A4 80243304 3C05FE36 */ lui $a1, 0xfe36 +/* DF21A8 80243308 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DF21AC 8024330C 24060001 */ addiu $a2, $zero, 1 +/* DF21B0 80243310 8E020000 */ lw $v0, ($s0) +/* DF21B4 80243314 2403F7FF */ addiu $v1, $zero, -0x801 +/* DF21B8 80243318 00431024 */ and $v0, $v0, $v1 +/* DF21BC 8024331C AE020000 */ sw $v0, ($s0) +/* DF21C0 80243320 8E220000 */ lw $v0, ($s1) +/* DF21C4 80243324 3C031F00 */ lui $v1, 0x1f00 +/* DF21C8 80243328 00431025 */ or $v0, $v0, $v1 +/* DF21CC 8024332C AE220000 */ sw $v0, ($s1) +/* DF21D0 80243330 AC800070 */ sw $zero, 0x70($a0) +.L80243334: +/* DF21D4 80243334 0C0B2026 */ jal set_variable +/* DF21D8 80243338 00000000 */ nop +/* DF21DC 8024333C 08090CDD */ j .L80243374 +/* DF21E0 80243340 24020002 */ addiu $v0, $zero, 2 +.L80243344: +/* DF21E4 80243344 8E220070 */ lw $v0, 0x70($s1) +/* DF21E8 80243348 30420001 */ andi $v0, $v0, 1 +/* DF21EC 8024334C 10400009 */ beqz $v0, .L80243374 +/* DF21F0 80243350 0000102D */ daddu $v0, $zero, $zero +/* DF21F4 80243354 C600004C */ lwc1 $f0, 0x4c($s0) +/* DF21F8 80243358 3C01404E */ lui $at, 0x404e +/* DF21FC 8024335C 44811800 */ mtc1 $at, $f3 +/* DF2200 80243360 44801000 */ mtc1 $zero, $f2 +/* DF2204 80243364 46000021 */ cvt.d.s $f0, $f0 +/* DF2208 80243368 46220000 */ add.d $f0, $f0, $f2 +/* DF220C 8024336C 46200020 */ cvt.s.d $f0, $f0 +/* DF2210 80243370 E600004C */ swc1 $f0, 0x4c($s0) +.L80243374: +/* DF2214 80243374 8FBF0044 */ lw $ra, 0x44($sp) +/* DF2218 80243378 8FB40040 */ lw $s4, 0x40($sp) +/* DF221C 8024337C 8FB3003C */ lw $s3, 0x3c($sp) +/* DF2220 80243380 8FB20038 */ lw $s2, 0x38($sp) +/* DF2224 80243384 8FB10034 */ lw $s1, 0x34($sp) +/* DF2228 80243388 8FB00030 */ lw $s0, 0x30($sp) +/* DF222C 8024338C D7B80058 */ ldc1 $f24, 0x58($sp) +/* DF2230 80243390 D7B60050 */ ldc1 $f22, 0x50($sp) +/* DF2234 80243394 D7B40048 */ ldc1 $f20, 0x48($sp) +/* DF2238 80243398 03E00008 */ jr $ra +/* DF223C 8024339C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802433A0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802433A0.s new file mode 100644 index 0000000000..e3254dba0b --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802433A0.s @@ -0,0 +1,213 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802433A0 +/* DF2240 802433A0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* DF2244 802433A4 AFB3003C */ sw $s3, 0x3c($sp) +/* DF2248 802433A8 0080982D */ daddu $s3, $a0, $zero +/* DF224C 802433AC AFBF0048 */ sw $ra, 0x48($sp) +/* DF2250 802433B0 AFB50044 */ sw $s5, 0x44($sp) +/* DF2254 802433B4 AFB40040 */ sw $s4, 0x40($sp) +/* DF2258 802433B8 AFB20038 */ sw $s2, 0x38($sp) +/* DF225C 802433BC AFB10034 */ sw $s1, 0x34($sp) +/* DF2260 802433C0 AFB00030 */ sw $s0, 0x30($sp) +/* DF2264 802433C4 8E720148 */ lw $s2, 0x148($s3) +/* DF2268 802433C8 86440008 */ lh $a0, 8($s2) +/* DF226C 802433CC 8E70000C */ lw $s0, 0xc($s3) +/* DF2270 802433D0 0C00EABB */ jal get_npc_unsafe +/* DF2274 802433D4 00A0882D */ daddu $s1, $a1, $zero +/* DF2278 802433D8 0260202D */ daddu $a0, $s3, $zero +/* DF227C 802433DC 8E050000 */ lw $a1, ($s0) +/* DF2280 802433E0 0C0B1EAF */ jal get_variable +/* DF2284 802433E4 0040A02D */ daddu $s4, $v0, $zero +/* DF2288 802433E8 AFA00010 */ sw $zero, 0x10($sp) +/* DF228C 802433EC 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF2290 802433F0 8C630030 */ lw $v1, 0x30($v1) +/* DF2294 802433F4 AFA30014 */ sw $v1, 0x14($sp) +/* DF2298 802433F8 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF229C 802433FC 8C63001C */ lw $v1, 0x1c($v1) +/* DF22A0 80243400 AFA30018 */ sw $v1, 0x18($sp) +/* DF22A4 80243404 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF22A8 80243408 8C630024 */ lw $v1, 0x24($v1) +/* DF22AC 8024340C AFA3001C */ sw $v1, 0x1c($sp) +/* DF22B0 80243410 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF22B4 80243414 8C630028 */ lw $v1, 0x28($v1) +/* DF22B8 80243418 27B50010 */ addiu $s5, $sp, 0x10 +/* DF22BC 8024341C AFA30020 */ sw $v1, 0x20($sp) +/* DF22C0 80243420 8E4300D0 */ lw $v1, 0xd0($s2) +/* DF22C4 80243424 3C014220 */ lui $at, 0x4220 +/* DF22C8 80243428 44810000 */ mtc1 $at, $f0 +/* DF22CC 8024342C 8C63002C */ lw $v1, 0x2c($v1) +/* DF22D0 80243430 0040802D */ daddu $s0, $v0, $zero +/* DF22D4 80243434 E7A00028 */ swc1 $f0, 0x28($sp) +/* DF22D8 80243438 A7A0002C */ sh $zero, 0x2c($sp) +/* DF22DC 8024343C 16200005 */ bnez $s1, .L80243454 +/* DF22E0 80243440 AFA30024 */ sw $v1, 0x24($sp) +/* DF22E4 80243444 8E4200B0 */ lw $v0, 0xb0($s2) +/* DF22E8 80243448 30420004 */ andi $v0, $v0, 4 +/* DF22EC 8024344C 1040002F */ beqz $v0, .L8024350C +/* DF22F0 80243450 00000000 */ nop +.L80243454: +/* DF22F4 80243454 2404F7FF */ addiu $a0, $zero, -0x801 +/* DF22F8 80243458 AE600070 */ sw $zero, 0x70($s3) +/* DF22FC 8024345C A680008E */ sh $zero, 0x8e($s4) +/* DF2300 80243460 8E4200CC */ lw $v0, 0xcc($s2) +/* DF2304 80243464 8E830000 */ lw $v1, ($s4) +/* DF2308 80243468 8C420000 */ lw $v0, ($v0) +/* DF230C 8024346C 00641824 */ and $v1, $v1, $a0 +/* DF2310 80243470 AE830000 */ sw $v1, ($s4) +/* DF2314 80243474 AE820028 */ sw $v0, 0x28($s4) +/* DF2318 80243478 8E4200D0 */ lw $v0, 0xd0($s2) +/* DF231C 8024347C 8C420034 */ lw $v0, 0x34($v0) +/* DF2320 80243480 54400005 */ bnel $v0, $zero, .L80243498 +/* DF2324 80243484 2402FDFF */ addiu $v0, $zero, -0x201 +/* DF2328 80243488 34620200 */ ori $v0, $v1, 0x200 +/* DF232C 8024348C 2403FFF7 */ addiu $v1, $zero, -9 +/* DF2330 80243490 08090D28 */ j .L802434A0 +/* DF2334 80243494 00431024 */ and $v0, $v0, $v1 +.L80243498: +/* DF2338 80243498 00621024 */ and $v0, $v1, $v0 +/* DF233C 8024349C 34420008 */ ori $v0, $v0, 8 +.L802434A0: +/* DF2340 802434A0 AE820000 */ sw $v0, ($s4) +/* DF2344 802434A4 8E4200B0 */ lw $v0, 0xb0($s2) +/* DF2348 802434A8 30420004 */ andi $v0, $v0, 4 +/* DF234C 802434AC 10400008 */ beqz $v0, .L802434D0 +/* DF2350 802434B0 24020063 */ addiu $v0, $zero, 0x63 +/* DF2354 802434B4 AE620070 */ sw $v0, 0x70($s3) +/* DF2358 802434B8 AE600074 */ sw $zero, 0x74($s3) +/* DF235C 802434BC 8E4200B0 */ lw $v0, 0xb0($s2) +/* DF2360 802434C0 2403FFFB */ addiu $v1, $zero, -5 +/* DF2364 802434C4 00431024 */ and $v0, $v0, $v1 +/* DF2368 802434C8 08090D3A */ j .L802434E8 +/* DF236C 802434CC AE4200B0 */ sw $v0, 0xb0($s2) +.L802434D0: +/* DF2370 802434D0 8E420000 */ lw $v0, ($s2) +/* DF2374 802434D4 3C034000 */ lui $v1, 0x4000 +/* DF2378 802434D8 00431024 */ and $v0, $v0, $v1 +/* DF237C 802434DC 10400002 */ beqz $v0, .L802434E8 +/* DF2380 802434E0 2402000C */ addiu $v0, $zero, 0xc +/* DF2384 802434E4 AE620070 */ sw $v0, 0x70($s3) +.L802434E8: +/* DF2388 802434E8 3C05BFFF */ lui $a1, 0xbfff +/* DF238C 802434EC 34A5FFFF */ ori $a1, $a1, 0xffff +/* DF2390 802434F0 2404FFFB */ addiu $a0, $zero, -5 +/* DF2394 802434F4 8E4200B0 */ lw $v0, 0xb0($s2) +/* DF2398 802434F8 8E430000 */ lw $v1, ($s2) +/* DF239C 802434FC 00441024 */ and $v0, $v0, $a0 +/* DF23A0 80243500 00651824 */ and $v1, $v1, $a1 +/* DF23A4 80243504 AE4200B0 */ sw $v0, 0xb0($s2) +/* DF23A8 80243508 AE430000 */ sw $v1, ($s2) +.L8024350C: +/* DF23AC 8024350C 8E630070 */ lw $v1, 0x70($s3) +/* DF23B0 80243510 2C620064 */ sltiu $v0, $v1, 0x64 +/* DF23B4 80243514 10400060 */ beqz $v0, .L80243698 +/* DF23B8 80243518 00031080 */ sll $v0, $v1, 2 +/* DF23BC 8024351C 3C018024 */ lui $at, 0x8024 +/* DF23C0 80243520 00220821 */ addu $at, $at, $v0 +/* DF23C4 80243524 8C2279D0 */ lw $v0, 0x79d0($at) +/* DF23C8 80243528 00400008 */ jr $v0 +/* DF23CC 8024352C 00000000 */ nop +/* DF23D0 80243530 0260202D */ daddu $a0, $s3, $zero +/* DF23D4 80243534 0200282D */ daddu $a1, $s0, $zero +/* DF23D8 80243538 0C012568 */ jal func_800495A0 +/* DF23DC 8024353C 02A0302D */ daddu $a2, $s5, $zero +/* DF23E0 80243540 0260202D */ daddu $a0, $s3, $zero +/* DF23E4 80243544 0200282D */ daddu $a1, $s0, $zero +/* DF23E8 80243548 0C0125AE */ jal func_800496B8 +/* DF23EC 8024354C 02A0302D */ daddu $a2, $s5, $zero +/* DF23F0 80243550 08090DA6 */ j .L80243698 +/* DF23F4 80243554 00000000 */ nop +/* DF23F8 80243558 0260202D */ daddu $a0, $s3, $zero +/* DF23FC 8024355C 0200282D */ daddu $a1, $s0, $zero +/* DF2400 80243560 0C0126D1 */ jal func_80049B44 +/* DF2404 80243564 02A0302D */ daddu $a2, $s5, $zero +/* DF2408 80243568 0260202D */ daddu $a0, $s3, $zero +/* DF240C 8024356C 0200282D */ daddu $a1, $s0, $zero +/* DF2410 80243570 0C012701 */ jal func_80049C04 +/* DF2414 80243574 02A0302D */ daddu $a2, $s5, $zero +/* DF2418 80243578 08090DA6 */ j .L80243698 +/* DF241C 8024357C 00000000 */ nop +/* DF2420 80243580 0260202D */ daddu $a0, $s3, $zero +/* DF2424 80243584 0200282D */ daddu $a1, $s0, $zero +/* DF2428 80243588 0C01278F */ jal func_80049E3C +/* DF242C 8024358C 02A0302D */ daddu $a2, $s5, $zero +/* DF2430 80243590 0260202D */ daddu $a0, $s3, $zero +/* DF2434 80243594 0200282D */ daddu $a1, $s0, $zero +/* DF2438 80243598 0C0127B3 */ jal func_80049ECC +/* DF243C 8024359C 02A0302D */ daddu $a2, $s5, $zero +/* DF2440 802435A0 08090DA6 */ j .L80243698 +/* DF2444 802435A4 00000000 */ nop +/* DF2448 802435A8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* DF244C 802435AC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* DF2450 802435B0 C68C0038 */ lwc1 $f12, 0x38($s4) +/* DF2454 802435B4 C68E0040 */ lwc1 $f14, 0x40($s4) +/* DF2458 802435B8 8C460028 */ lw $a2, 0x28($v0) +/* DF245C 802435BC 0C00A7B5 */ jal dist2D +/* DF2460 802435C0 8C470030 */ lw $a3, 0x30($v0) +/* DF2464 802435C4 8E42006C */ lw $v0, 0x6c($s2) +/* DF2468 802435C8 10400008 */ beqz $v0, .L802435EC +/* DF246C 802435CC 46000086 */ mov.s $f2, $f0 +/* DF2470 802435D0 44820000 */ mtc1 $v0, $f0 +/* DF2474 802435D4 00000000 */ nop +/* DF2478 802435D8 46800020 */ cvt.s.w $f0, $f0 +/* DF247C 802435DC 4602003C */ c.lt.s $f0, $f2 +/* DF2480 802435E0 00000000 */ nop +/* DF2484 802435E4 4500000B */ bc1f .L80243614 +/* DF2488 802435E8 0260202D */ daddu $a0, $s3, $zero +.L802435EC: +/* DF248C 802435EC 0260202D */ daddu $a0, $s3, $zero +/* DF2490 802435F0 8E050024 */ lw $a1, 0x24($s0) +/* DF2494 802435F4 8E060028 */ lw $a2, 0x28($s0) +/* DF2498 802435F8 0C0909A7 */ jal func_8024269C +/* DF249C 802435FC 02A0382D */ daddu $a3, $s5, $zero +/* DF24A0 80243600 8E630070 */ lw $v1, 0x70($s3) +/* DF24A4 80243604 2402000C */ addiu $v0, $zero, 0xc +/* DF24A8 80243608 14620023 */ bne $v1, $v0, .L80243698 +/* DF24AC 8024360C 00000000 */ nop +/* DF24B0 80243610 0260202D */ daddu $a0, $s3, $zero +.L80243614: +/* DF24B4 80243614 0200282D */ daddu $a1, $s0, $zero +/* DF24B8 80243618 0C0127DF */ jal func_80049F7C +/* DF24BC 8024361C 02A0302D */ daddu $a2, $s5, $zero +/* DF24C0 80243620 0260202D */ daddu $a0, $s3, $zero +/* DF24C4 80243624 0200282D */ daddu $a1, $s0, $zero +/* DF24C8 80243628 0C012849 */ jal func_8004A124 +/* DF24CC 8024362C 02A0302D */ daddu $a2, $s5, $zero +/* DF24D0 80243630 08090DA6 */ j .L80243698 +/* DF24D4 80243634 00000000 */ nop +/* DF24D8 80243638 0260202D */ daddu $a0, $s3, $zero +/* DF24DC 8024363C 0200282D */ daddu $a1, $s0, $zero +/* DF24E0 80243640 0C0128FA */ jal func_8004A3E8 +/* DF24E4 80243644 02A0302D */ daddu $a2, $s5, $zero +/* DF24E8 80243648 08090DA6 */ j .L80243698 +/* DF24EC 8024364C 00000000 */ nop +/* DF24F0 80243650 0C0909F8 */ jal func_802427E0 +/* DF24F4 80243654 0260202D */ daddu $a0, $s3, $zero +/* DF24F8 80243658 08090DA6 */ j .L80243698 +/* DF24FC 8024365C 00000000 */ nop +/* DF2500 80243660 0C090A38 */ jal func_802428E0 +/* DF2504 80243664 0260202D */ daddu $a0, $s3, $zero +/* DF2508 80243668 08090DA6 */ j .L80243698 +/* DF250C 8024366C 00000000 */ nop +/* DF2510 80243670 0C090A49 */ jal func_80242924 +/* DF2514 80243674 0260202D */ daddu $a0, $s3, $zero +/* DF2518 80243678 08090DA6 */ j .L80243698 +/* DF251C 8024367C 00000000 */ nop +/* DF2520 80243680 0C090A71 */ jal func_802429C4 +/* DF2524 80243684 0260202D */ daddu $a0, $s3, $zero +/* DF2528 80243688 08090DA6 */ j .L80243698 +/* DF252C 8024368C 00000000 */ nop +/* DF2530 80243690 0C0129CF */ jal func_8004A73C +/* DF2534 80243694 0260202D */ daddu $a0, $s3, $zero +.L80243698: +/* DF2538 80243698 8FBF0048 */ lw $ra, 0x48($sp) +/* DF253C 8024369C 8FB50044 */ lw $s5, 0x44($sp) +/* DF2540 802436A0 8FB40040 */ lw $s4, 0x40($sp) +/* DF2544 802436A4 8FB3003C */ lw $s3, 0x3c($sp) +/* DF2548 802436A8 8FB20038 */ lw $s2, 0x38($sp) +/* DF254C 802436AC 8FB10034 */ lw $s1, 0x34($sp) +/* DF2550 802436B0 8FB00030 */ lw $s0, 0x30($sp) +/* DF2554 802436B4 0000102D */ daddu $v0, $zero, $zero +/* DF2558 802436B8 03E00008 */ jr $ra +/* DF255C 802436BC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802436C0.s b/asm/nonmatchings/world/area_omo/omo_17/func_802436C0.s new file mode 100644 index 0000000000..386d257420 --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802436C0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802436C0 +/* DF2560 802436C0 8C830148 */ lw $v1, 0x148($a0) +/* DF2564 802436C4 24020003 */ addiu $v0, $zero, 3 +/* DF2568 802436C8 A06200B5 */ sb $v0, 0xb5($v1) +/* DF256C 802436CC 03E00008 */ jr $ra +/* DF2570 802436D0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_omo/omo_17/func_802436D4.s b/asm/nonmatchings/world/area_omo/omo_17/func_802436D4.s new file mode 100644 index 0000000000..10164f4cfd --- /dev/null +++ b/asm/nonmatchings/world/area_omo/omo_17/func_802436D4.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802436D4 +/* DF2574 802436D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* DF2578 802436D8 3C05FE36 */ lui $a1, 0xfe36 +/* DF257C 802436DC AFBF0010 */ sw $ra, 0x10($sp) +/* DF2580 802436E0 8C820148 */ lw $v0, 0x148($a0) +/* DF2584 802436E4 3C06800B */ lui $a2, 0x800b +/* DF2588 802436E8 8CC60F9C */ lw $a2, 0xf9c($a2) +/* DF258C 802436EC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* DF2590 802436F0 00C23026 */ xor $a2, $a2, $v0 +/* DF2594 802436F4 0C0B2026 */ jal set_variable +/* DF2598 802436F8 2CC60001 */ sltiu $a2, $a2, 1 +/* DF259C 802436FC 8FBF0010 */ lw $ra, 0x10($sp) +/* DF25A0 80243700 24020002 */ addiu $v0, $zero, 2 +/* DF25A4 80243704 03E00008 */ jr $ra +/* DF25A8 80243708 27BD0018 */ addiu $sp, $sp, 0x18 +/* DF25AC 8024370C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_80240000_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_80240000_AAC830.s new file mode 100644 index 0000000000..d8a92a4478 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_80240000_AAC830.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AAC830 +/* AAC830 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AAC834 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* AAC838 80240008 0080802D */ daddu $s0, $a0, $zero +/* AAC83C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* AAC840 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* AAC844 80240014 8E020088 */ lw $v0, 0x88($s0) +/* AAC848 80240018 00621821 */ addu $v1, $v1, $v0 +/* AAC84C 8024001C 04610004 */ bgez $v1, .L80240030 +/* AAC850 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* AAC854 80240024 3C020002 */ lui $v0, 2 +/* AAC858 80240028 08090010 */ j .L80240040 +/* AAC85C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* AAC860 80240030 3C040002 */ lui $a0, 2 +/* AAC864 80240034 0083102A */ slt $v0, $a0, $v1 +/* AAC868 80240038 10400002 */ beqz $v0, .L80240044 +/* AAC86C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* AAC870 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* AAC874 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* AAC878 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* AAC87C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* AAC880 80240050 04610004 */ bgez $v1, .L80240064 +/* AAC884 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* AAC888 80240058 3C020002 */ lui $v0, 2 +/* AAC88C 8024005C 0809001D */ j .L80240074 +/* AAC890 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* AAC894 80240064 3C040002 */ lui $a0, 2 +/* AAC898 80240068 0083102A */ slt $v0, $a0, $v1 +/* AAC89C 8024006C 10400002 */ beqz $v0, .L80240078 +/* AAC8A0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* AAC8A4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* AAC8A8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* AAC8AC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* AAC8B0 80240080 00621821 */ addu $v1, $v1, $v0 +/* AAC8B4 80240084 04610004 */ bgez $v1, .L80240098 +/* AAC8B8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* AAC8BC 8024008C 3C020002 */ lui $v0, 2 +/* AAC8C0 80240090 0809002A */ j .L802400A8 +/* AAC8C4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* AAC8C8 80240098 3C040002 */ lui $a0, 2 +/* AAC8CC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* AAC8D0 802400A0 10400002 */ beqz $v0, .L802400AC +/* AAC8D4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* AAC8D8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* AAC8DC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AAC8E0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* AAC8E4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* AAC8E8 802400B8 04610004 */ bgez $v1, .L802400CC +/* AAC8EC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* AAC8F0 802400C0 3C020002 */ lui $v0, 2 +/* AAC8F4 802400C4 08090037 */ j .L802400DC +/* AAC8F8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* AAC8FC 802400CC 3C040002 */ lui $a0, 2 +/* AAC900 802400D0 0083102A */ slt $v0, $a0, $v1 +/* AAC904 802400D4 10400002 */ beqz $v0, .L802400E0 +/* AAC908 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* AAC90C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* AAC910 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* AAC914 802400E4 0C046F07 */ jal set_main_pan_u +/* AAC918 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* AAC91C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* AAC920 802400F0 0C046F0D */ jal set_main_pan_v +/* AAC924 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* AAC928 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* AAC92C 802400FC 0C046F13 */ jal set_aux_pan_u +/* AAC930 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* AAC934 80240104 8E040084 */ lw $a0, 0x84($s0) +/* AAC938 80240108 0C046F19 */ jal set_aux_pan_v +/* AAC93C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AAC940 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* AAC944 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* AAC948 80240118 0000102D */ daddu $v0, $zero, $zero +/* AAC94C 8024011C 03E00008 */ jr $ra +/* AAC950 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_80240124_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_80240124_AAC830.s new file mode 100644 index 0000000000..5d8c1852fe --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_80240124_AAC830.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_AAC954 +/* AAC954 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AAC958 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* AAC95C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* AAC960 80240130 10A00005 */ beqz $a1, .L80240148 +/* AAC964 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* AAC968 80240138 AE000070 */ sw $zero, 0x70($s0) +/* AAC96C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* AAC970 80240140 AE000078 */ sw $zero, 0x78($s0) +/* AAC974 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* AAC978 80240148 8E020070 */ lw $v0, 0x70($s0) +/* AAC97C 8024014C 1440000E */ bnez $v0, .L80240188 +/* AAC980 80240150 00000000 */ nop +/* AAC984 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* AAC988 80240158 8E020088 */ lw $v0, 0x88($s0) +/* AAC98C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* AAC990 80240160 04610004 */ bgez $v1, .L80240174 +/* AAC994 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* AAC998 80240168 3C020002 */ lui $v0, 2 +/* AAC99C 8024016C 08090061 */ j .L80240184 +/* AAC9A0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* AAC9A4 80240174 3C040002 */ lui $a0, 2 +/* AAC9A8 80240178 0083102A */ slt $v0, $a0, $v1 +/* AAC9AC 8024017C 10400002 */ beqz $v0, .L80240188 +/* AAC9B0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* AAC9B4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* AAC9B8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* AAC9BC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* AAC9C0 80240190 00000000 */ nop +/* AAC9C4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* AAC9C8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* AAC9CC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* AAC9D0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* AAC9D4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* AAC9D8 802401A8 3C020002 */ lui $v0, 2 +/* AAC9DC 802401AC 08090071 */ j .L802401C4 +/* AAC9E0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* AAC9E4 802401B4 3C040002 */ lui $a0, 2 +/* AAC9E8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* AAC9EC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* AAC9F0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* AAC9F4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* AAC9F8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* AAC9FC 802401CC 1440000E */ bnez $v0, .L80240208 +/* AACA00 802401D0 00000000 */ nop +/* AACA04 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* AACA08 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* AACA0C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* AACA10 802401E0 04610004 */ bgez $v1, .L802401F4 +/* AACA14 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* AACA18 802401E8 3C020002 */ lui $v0, 2 +/* AACA1C 802401EC 08090081 */ j .L80240204 +/* AACA20 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* AACA24 802401F4 3C040002 */ lui $a0, 2 +/* AACA28 802401F8 0083102A */ slt $v0, $a0, $v1 +/* AACA2C 802401FC 10400002 */ beqz $v0, .L80240208 +/* AACA30 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* AACA34 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* AACA38 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* AACA3C 8024020C 1440000E */ bnez $v0, .L80240248 +/* AACA40 80240210 00000000 */ nop +/* AACA44 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* AACA48 80240218 8E020094 */ lw $v0, 0x94($s0) +/* AACA4C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* AACA50 80240220 04610004 */ bgez $v1, .L80240234 +/* AACA54 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* AACA58 80240228 3C020002 */ lui $v0, 2 +/* AACA5C 8024022C 08090091 */ j .L80240244 +/* AACA60 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* AACA64 80240234 3C040002 */ lui $a0, 2 +/* AACA68 80240238 0083102A */ slt $v0, $a0, $v1 +/* AACA6C 8024023C 10400002 */ beqz $v0, .L80240248 +/* AACA70 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* AACA74 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* AACA78 80240248 8E040084 */ lw $a0, 0x84($s0) +/* AACA7C 8024024C 0C046F07 */ jal set_main_pan_u +/* AACA80 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* AACA84 80240254 8E040084 */ lw $a0, 0x84($s0) +/* AACA88 80240258 0C046F0D */ jal set_main_pan_v +/* AACA8C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* AACA90 80240260 8E040084 */ lw $a0, 0x84($s0) +/* AACA94 80240264 0C046F13 */ jal set_aux_pan_u +/* AACA98 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* AACA9C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* AACAA0 80240270 0C046F19 */ jal set_aux_pan_v +/* AACAA4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* AACAA8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* AACAAC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* AACAB0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* AACAB4 80240284 24420001 */ addiu $v0, $v0, 1 +/* AACAB8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* AACABC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* AACAC0 80240290 24630001 */ addiu $v1, $v1, 1 +/* AACAC4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* AACAC8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* AACACC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* AACAD0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* AACAD4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* AACAD8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* AACADC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* AACAE0 802402B0 14600002 */ bnez $v1, .L802402BC +/* AACAE4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* AACAE8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* AACAEC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* AACAF0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* AACAF4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* AACAF8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* AACAFC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* AACB00 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* AACB04 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* AACB08 802402D8 0043102A */ slt $v0, $v0, $v1 +/* AACB0C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* AACB10 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* AACB14 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* AACB18 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* AACB1C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* AACB20 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* AACB24 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* AACB28 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* AACB2C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* AACB30 80240300 0000102D */ daddu $v0, $zero, $zero +/* AACB34 80240304 03E00008 */ jr $ra +/* AACB38 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_8024030C_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_8024030C_AAC830.s new file mode 100644 index 0000000000..dca9b5d173 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_8024030C_AAC830.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_AACB3C +/* AACB3C 8024030C 44800000 */ mtc1 $zero, $f0 +/* AACB40 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AACB44 80240314 44050000 */ mfc1 $a1, $f0 +/* AACB48 80240318 24040001 */ addiu $a0, $zero, 1 +/* AACB4C 8024031C AFBF0018 */ sw $ra, 0x18($sp) +/* AACB50 80240320 AFA00014 */ sw $zero, 0x14($sp) +/* AACB54 80240324 E7A00010 */ swc1 $f0, 0x10($sp) +/* AACB58 80240328 00A0302D */ daddu $a2, $a1, $zero +/* AACB5C 8024032C 0C01CA54 */ jal func_80072950 +/* AACB60 80240330 00A0382D */ daddu $a3, $a1, $zero +/* AACB64 80240334 8FBF0018 */ lw $ra, 0x18($sp) +/* AACB68 80240338 24020002 */ addiu $v0, $zero, 2 +/* AACB6C 8024033C 03E00008 */ jr $ra +/* AACB70 80240340 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_80240344_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_80240344_AAC830.s new file mode 100644 index 0000000000..572361ed0d --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_80240344_AAC830.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344_AACB74 +/* AACB74 80240344 44800000 */ mtc1 $zero, $f0 +/* AACB78 80240348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AACB7C 8024034C 44050000 */ mfc1 $a1, $f0 +/* AACB80 80240350 0000202D */ daddu $a0, $zero, $zero +/* AACB84 80240354 AFBF0018 */ sw $ra, 0x18($sp) +/* AACB88 80240358 AFA00014 */ sw $zero, 0x14($sp) +/* AACB8C 8024035C E7A00010 */ swc1 $f0, 0x10($sp) +/* AACB90 80240360 00A0302D */ daddu $a2, $a1, $zero +/* AACB94 80240364 0C01CA54 */ jal func_80072950 +/* AACB98 80240368 00A0382D */ daddu $a3, $a1, $zero +/* AACB9C 8024036C 8FBF0018 */ lw $ra, 0x18($sp) +/* AACBA0 80240370 24020002 */ addiu $v0, $zero, 2 +/* AACBA4 80240374 03E00008 */ jr $ra +/* AACBA8 80240378 27BD0020 */ addiu $sp, $sp, 0x20 +/* AACBAC 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_80240380_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_80240380_AAC830.s new file mode 100644 index 0000000000..c42ee6b77e --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_80240380_AAC830.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240380_AACBB0 +/* AACBB0 80240380 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AACBB4 80240384 AFB10014 */ sw $s1, 0x14($sp) +/* AACBB8 80240388 0080882D */ daddu $s1, $a0, $zero +/* AACBBC 8024038C AFBF001C */ sw $ra, 0x1c($sp) +/* AACBC0 80240390 AFB20018 */ sw $s2, 0x18($sp) +/* AACBC4 80240394 AFB00010 */ sw $s0, 0x10($sp) +/* AACBC8 80240398 8E30000C */ lw $s0, 0xc($s1) +/* AACBCC 8024039C 8E050000 */ lw $a1, ($s0) +/* AACBD0 802403A0 0C0B1EAF */ jal get_variable +/* AACBD4 802403A4 26100004 */ addiu $s0, $s0, 4 +/* AACBD8 802403A8 8E050000 */ lw $a1, ($s0) +/* AACBDC 802403AC 26100004 */ addiu $s0, $s0, 4 +/* AACBE0 802403B0 0220202D */ daddu $a0, $s1, $zero +/* AACBE4 802403B4 0C0B1EAF */ jal get_variable +/* AACBE8 802403B8 0040902D */ daddu $s2, $v0, $zero +/* AACBEC 802403BC 0220202D */ daddu $a0, $s1, $zero +/* AACBF0 802403C0 8E050000 */ lw $a1, ($s0) +/* AACBF4 802403C4 0C0B1EAF */ jal get_variable +/* AACBF8 802403C8 0040802D */ daddu $s0, $v0, $zero +/* AACBFC 802403CC 0040882D */ daddu $s1, $v0, $zero +/* AACC00 802403D0 2402FFFF */ addiu $v0, $zero, -1 +/* AACC04 802403D4 16020005 */ bne $s0, $v0, .L802403EC +/* AACC08 802403D8 24020001 */ addiu $v0, $zero, 1 +/* AACC0C 802403DC 0C04760B */ jal func_8011D82C +/* AACC10 802403E0 0220202D */ daddu $a0, $s1, $zero +/* AACC14 802403E4 08090123 */ j .L8024048C +/* AACC18 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* AACC1C 802403EC 12420018 */ beq $s2, $v0, .L80240450 +/* AACC20 802403F0 2A420002 */ slti $v0, $s2, 2 +/* AACC24 802403F4 10400005 */ beqz $v0, .L8024040C +/* AACC28 802403F8 24020002 */ addiu $v0, $zero, 2 +/* AACC2C 802403FC 12400007 */ beqz $s2, .L8024041C +/* AACC30 80240400 3412FFFF */ ori $s2, $zero, 0xffff +/* AACC34 80240404 08090123 */ j .L8024048C +/* AACC38 80240408 00000000 */ nop +.L8024040C: +/* AACC3C 8024040C 1242001B */ beq $s2, $v0, .L8024047C +/* AACC40 80240410 24020002 */ addiu $v0, $zero, 2 +/* AACC44 80240414 08090123 */ j .L8024048C +/* AACC48 80240418 00000000 */ nop +.L8024041C: +/* AACC4C 8024041C 8E040000 */ lw $a0, ($s0) +/* AACC50 80240420 1092001A */ beq $a0, $s2, .L8024048C +/* AACC54 80240424 24020002 */ addiu $v0, $zero, 2 +/* AACC58 80240428 0C046C04 */ jal get_model_list_index_from_tree_index +/* AACC5C 8024042C 26100004 */ addiu $s0, $s0, 4 +/* AACC60 80240430 0C046B4C */ jal get_model_from_list_index +/* AACC64 80240434 0040202D */ daddu $a0, $v0, $zero +/* AACC68 80240438 0040202D */ daddu $a0, $v0, $zero +/* AACC6C 8024043C 2405FFFF */ addiu $a1, $zero, -1 +/* AACC70 80240440 0C046F1F */ jal func_8011BC7C +/* AACC74 80240444 0220302D */ daddu $a2, $s1, $zero +/* AACC78 80240448 08090107 */ j .L8024041C +/* AACC7C 8024044C 00000000 */ nop +.L80240450: +/* AACC80 80240450 3412FFFF */ ori $s2, $zero, 0xffff +.L80240454: +/* AACC84 80240454 8E020000 */ lw $v0, ($s0) +/* AACC88 80240458 1052000B */ beq $v0, $s2, .L80240488 +/* AACC8C 8024045C 2405FFFF */ addiu $a1, $zero, -1 +/* AACC90 80240460 96040002 */ lhu $a0, 2($s0) +/* AACC94 80240464 0220302D */ daddu $a2, $s1, $zero +/* AACC98 80240468 26100004 */ addiu $s0, $s0, 4 +/* AACC9C 8024046C 0C046E54 */ jal func_8011B950 +/* AACCA0 80240470 0000382D */ daddu $a3, $zero, $zero +/* AACCA4 80240474 08090115 */ j .L80240454 +/* AACCA8 80240478 00000000 */ nop +.L8024047C: +/* AACCAC 8024047C 3C028015 */ lui $v0, 0x8015 +/* AACCB0 80240480 8C4212F0 */ lw $v0, 0x12f0($v0) +/* AACCB4 80240484 A0510000 */ sb $s1, ($v0) +.L80240488: +/* AACCB8 80240488 24020002 */ addiu $v0, $zero, 2 +.L8024048C: +/* AACCBC 8024048C 8FBF001C */ lw $ra, 0x1c($sp) +/* AACCC0 80240490 8FB20018 */ lw $s2, 0x18($sp) +/* AACCC4 80240494 8FB10014 */ lw $s1, 0x14($sp) +/* AACCC8 80240498 8FB00010 */ lw $s0, 0x10($sp) +/* AACCCC 8024049C 03E00008 */ jr $ra +/* AACCD0 802404A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_802404A4_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_802404A4_AAC830.s new file mode 100644 index 0000000000..92f361781f --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_802404A4_AAC830.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404A4_AACCD4 +/* AACCD4 802404A4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* AACCD8 802404A8 AFB10034 */ sw $s1, 0x34($sp) +/* AACCDC 802404AC 0080882D */ daddu $s1, $a0, $zero +/* AACCE0 802404B0 AFBF0054 */ sw $ra, 0x54($sp) +/* AACCE4 802404B4 AFBE0050 */ sw $fp, 0x50($sp) +/* AACCE8 802404B8 AFB7004C */ sw $s7, 0x4c($sp) +/* AACCEC 802404BC AFB60048 */ sw $s6, 0x48($sp) +/* AACCF0 802404C0 AFB50044 */ sw $s5, 0x44($sp) +/* AACCF4 802404C4 AFB40040 */ sw $s4, 0x40($sp) +/* AACCF8 802404C8 AFB3003C */ sw $s3, 0x3c($sp) +/* AACCFC 802404CC AFB20038 */ sw $s2, 0x38($sp) +/* AACD00 802404D0 AFB00030 */ sw $s0, 0x30($sp) +/* AACD04 802404D4 8E30000C */ lw $s0, 0xc($s1) +/* AACD08 802404D8 8E050000 */ lw $a1, ($s0) +/* AACD0C 802404DC 0C0B1EAF */ jal get_variable +/* AACD10 802404E0 26100004 */ addiu $s0, $s0, 4 +/* AACD14 802404E4 8E050000 */ lw $a1, ($s0) +/* AACD18 802404E8 26100004 */ addiu $s0, $s0, 4 +/* AACD1C 802404EC 0220202D */ daddu $a0, $s1, $zero +/* AACD20 802404F0 0C0B1EAF */ jal get_variable +/* AACD24 802404F4 0040982D */ daddu $s3, $v0, $zero +/* AACD28 802404F8 8E050000 */ lw $a1, ($s0) +/* AACD2C 802404FC 26100004 */ addiu $s0, $s0, 4 +/* AACD30 80240500 0220202D */ daddu $a0, $s1, $zero +/* AACD34 80240504 0C0B1EAF */ jal get_variable +/* AACD38 80240508 0040B02D */ daddu $s6, $v0, $zero +/* AACD3C 8024050C 8E050000 */ lw $a1, ($s0) +/* AACD40 80240510 26100004 */ addiu $s0, $s0, 4 +/* AACD44 80240514 0220202D */ daddu $a0, $s1, $zero +/* AACD48 80240518 0C0B1EAF */ jal get_variable +/* AACD4C 8024051C 0040A82D */ daddu $s5, $v0, $zero +/* AACD50 80240520 8E050000 */ lw $a1, ($s0) +/* AACD54 80240524 26100004 */ addiu $s0, $s0, 4 +/* AACD58 80240528 0220202D */ daddu $a0, $s1, $zero +/* AACD5C 8024052C 0C0B1EAF */ jal get_variable +/* AACD60 80240530 0040A02D */ daddu $s4, $v0, $zero +/* AACD64 80240534 8E050000 */ lw $a1, ($s0) +/* AACD68 80240538 26100004 */ addiu $s0, $s0, 4 +/* AACD6C 8024053C 0220202D */ daddu $a0, $s1, $zero +/* AACD70 80240540 0C0B1EAF */ jal get_variable +/* AACD74 80240544 0040902D */ daddu $s2, $v0, $zero +/* AACD78 80240548 8E050000 */ lw $a1, ($s0) +/* AACD7C 8024054C 26100004 */ addiu $s0, $s0, 4 +/* AACD80 80240550 0220202D */ daddu $a0, $s1, $zero +/* AACD84 80240554 0C0B1EAF */ jal get_variable +/* AACD88 80240558 AFA20028 */ sw $v0, 0x28($sp) +/* AACD8C 8024055C 8E050000 */ lw $a1, ($s0) +/* AACD90 80240560 26100004 */ addiu $s0, $s0, 4 +/* AACD94 80240564 0220202D */ daddu $a0, $s1, $zero +/* AACD98 80240568 0C0B1EAF */ jal get_variable +/* AACD9C 8024056C 0040F02D */ daddu $fp, $v0, $zero +/* AACDA0 80240570 8E050000 */ lw $a1, ($s0) +/* AACDA4 80240574 26100004 */ addiu $s0, $s0, 4 +/* AACDA8 80240578 0220202D */ daddu $a0, $s1, $zero +/* AACDAC 8024057C 0C0B1EAF */ jal get_variable +/* AACDB0 80240580 0040B82D */ daddu $s7, $v0, $zero +/* AACDB4 80240584 0220202D */ daddu $a0, $s1, $zero +/* AACDB8 80240588 8E050000 */ lw $a1, ($s0) +/* AACDBC 8024058C 0C0B1EAF */ jal get_variable +/* AACDC0 80240590 0040802D */ daddu $s0, $v0, $zero +/* AACDC4 80240594 0040182D */ daddu $v1, $v0, $zero +/* AACDC8 80240598 24020002 */ addiu $v0, $zero, 2 +/* AACDCC 8024059C 12620012 */ beq $s3, $v0, .L802405E8 +/* AACDD0 802405A0 2A620003 */ slti $v0, $s3, 3 +/* AACDD4 802405A4 10400005 */ beqz $v0, .L802405BC +/* AACDD8 802405A8 24020001 */ addiu $v0, $zero, 1 +/* AACDDC 802405AC 12620008 */ beq $s3, $v0, .L802405D0 +/* AACDE0 802405B0 32C400FF */ andi $a0, $s6, 0xff +/* AACDE4 802405B4 08090191 */ j .L80240644 +/* AACDE8 802405B8 00000000 */ nop +.L802405BC: +/* AACDEC 802405BC 24020003 */ addiu $v0, $zero, 3 +/* AACDF0 802405C0 12620018 */ beq $s3, $v0, .L80240624 +/* AACDF4 802405C4 32C400FF */ andi $a0, $s6, 0xff +/* AACDF8 802405C8 08090191 */ j .L80240644 +/* AACDFC 802405CC 00000000 */ nop +.L802405D0: +/* AACE00 802405D0 32A500FF */ andi $a1, $s5, 0xff +/* AACE04 802405D4 328600FF */ andi $a2, $s4, 0xff +/* AACE08 802405D8 0C046F97 */ jal set_background_color_blend +/* AACE0C 802405DC 324700FF */ andi $a3, $s2, 0xff +/* AACE10 802405E0 08090191 */ j .L80240644 +/* AACE14 802405E4 00000000 */ nop +.L802405E8: +/* AACE18 802405E8 32C400FF */ andi $a0, $s6, 0xff +/* AACE1C 802405EC 32A500FF */ andi $a1, $s5, 0xff +/* AACE20 802405F0 328600FF */ andi $a2, $s4, 0xff +/* AACE24 802405F4 324700FF */ andi $a3, $s2, 0xff +/* AACE28 802405F8 93A2002B */ lbu $v0, 0x2b($sp) +/* AACE2C 802405FC AFB0001C */ sw $s0, 0x1c($sp) +/* AACE30 80240600 AFA30020 */ sw $v1, 0x20($sp) +/* AACE34 80240604 AFA20010 */ sw $v0, 0x10($sp) +/* AACE38 80240608 33C200FF */ andi $v0, $fp, 0xff +/* AACE3C 8024060C AFA20014 */ sw $v0, 0x14($sp) +/* AACE40 80240610 32E200FF */ andi $v0, $s7, 0xff +/* AACE44 80240614 0C046FAD */ jal func_8011BEB4 +/* AACE48 80240618 AFA20018 */ sw $v0, 0x18($sp) +/* AACE4C 8024061C 08090191 */ j .L80240644 +/* AACE50 80240620 00000000 */ nop +.L80240624: +/* AACE54 80240624 32A500FF */ andi $a1, $s5, 0xff +/* AACE58 80240628 328600FF */ andi $a2, $s4, 0xff +/* AACE5C 8024062C 324700FF */ andi $a3, $s2, 0xff +/* AACE60 80240630 93A2002B */ lbu $v0, 0x2b($sp) +/* AACE64 80240634 AFA20010 */ sw $v0, 0x10($sp) +/* AACE68 80240638 33C200FF */ andi $v0, $fp, 0xff +/* AACE6C 8024063C 0C046FE6 */ jal func_8011BF98 +/* AACE70 80240640 AFA20014 */ sw $v0, 0x14($sp) +.L80240644: +/* AACE74 80240644 8FBF0054 */ lw $ra, 0x54($sp) +/* AACE78 80240648 8FBE0050 */ lw $fp, 0x50($sp) +/* AACE7C 8024064C 8FB7004C */ lw $s7, 0x4c($sp) +/* AACE80 80240650 8FB60048 */ lw $s6, 0x48($sp) +/* AACE84 80240654 8FB50044 */ lw $s5, 0x44($sp) +/* AACE88 80240658 8FB40040 */ lw $s4, 0x40($sp) +/* AACE8C 8024065C 8FB3003C */ lw $s3, 0x3c($sp) +/* AACE90 80240660 8FB20038 */ lw $s2, 0x38($sp) +/* AACE94 80240664 8FB10034 */ lw $s1, 0x34($sp) +/* AACE98 80240668 8FB00030 */ lw $s0, 0x30($sp) +/* AACE9C 8024066C 24020002 */ addiu $v0, $zero, 2 +/* AACEA0 80240670 03E00008 */ jr $ra +/* AACEA4 80240674 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_80240678_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_80240678_AAC830.s new file mode 100644 index 0000000000..d7c49b73d2 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_80240678_AAC830.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240678_AACEA8 +/* AACEA8 80240678 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AACEAC 8024067C AFBF0018 */ sw $ra, 0x18($sp) +/* AACEB0 80240680 8C82000C */ lw $v0, 0xc($a0) +/* AACEB4 80240684 8C440000 */ lw $a0, ($v0) +/* AACEB8 80240688 24420004 */ addiu $v0, $v0, 4 +/* AACEBC 8024068C 8C450000 */ lw $a1, ($v0) +/* AACEC0 80240690 24420004 */ addiu $v0, $v0, 4 +/* AACEC4 80240694 8C460000 */ lw $a2, ($v0) +/* AACEC8 80240698 24420004 */ addiu $v0, $v0, 4 +/* AACECC 8024069C 8C470000 */ lw $a3, ($v0) +/* AACED0 802406A0 24420004 */ addiu $v0, $v0, 4 +/* AACED4 802406A4 8C430000 */ lw $v1, ($v0) +/* AACED8 802406A8 8C420004 */ lw $v0, 4($v0) +/* AACEDC 802406AC 306300FF */ andi $v1, $v1, 0xff +/* AACEE0 802406B0 304200FF */ andi $v0, $v0, 0xff +/* AACEE4 802406B4 308400FF */ andi $a0, $a0, 0xff +/* AACEE8 802406B8 30A500FF */ andi $a1, $a1, 0xff +/* AACEEC 802406BC 30C600FF */ andi $a2, $a2, 0xff +/* AACEF0 802406C0 30E700FF */ andi $a3, $a3, 0xff +/* AACEF4 802406C4 AFA30010 */ sw $v1, 0x10($sp) +/* AACEF8 802406C8 0C046FE6 */ jal func_8011BF98 +/* AACEFC 802406CC AFA20014 */ sw $v0, 0x14($sp) +/* AACF00 802406D0 8FBF0018 */ lw $ra, 0x18($sp) +/* AACF04 802406D4 24020002 */ addiu $v0, $zero, 2 +/* AACF08 802406D8 03E00008 */ jr $ra +/* AACF0C 802406DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_00/func_802406E0_AAC830.s b/asm/nonmatchings/world/area_osr/osr_00/func_802406E0_AAC830.s new file mode 100644 index 0000000000..5efde2859c --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_00/func_802406E0_AAC830.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E0_AACF10 +/* AACF10 802406E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AACF14 802406E4 AFB00010 */ sw $s0, 0x10($sp) +/* AACF18 802406E8 3C100011 */ lui $s0, 0x11 +/* AACF1C 802406EC 2610F1B0 */ addiu $s0, $s0, -0xe50 +/* AACF20 802406F0 3C040000 */ lui $a0, 0 +/* AACF24 802406F4 24847308 */ addiu $a0, $a0, 0x7308 +/* AACF28 802406F8 02042021 */ addu $a0, $s0, $a0 +/* AACF2C 802406FC 24853D86 */ addiu $a1, $a0, 0x3d86 +/* AACF30 80240700 AFB10014 */ sw $s1, 0x14($sp) +/* AACF34 80240704 3C118024 */ lui $s1, 0x8024 +/* AACF38 80240708 263137C0 */ addiu $s1, $s1, 0x37c0 +/* AACF3C 8024070C AFBF0018 */ sw $ra, 0x18($sp) +/* AACF40 80240710 0C00A5CF */ jal dma_copy +/* AACF44 80240714 0220302D */ daddu $a2, $s1, $zero +/* AACF48 80240718 3C020001 */ lui $v0, 1 +/* AACF4C 8024071C 2442B090 */ addiu $v0, $v0, -0x4f70 +/* AACF50 80240720 02028021 */ addu $s0, $s0, $v0 +/* AACF54 80240724 0200202D */ daddu $a0, $s0, $zero +/* AACF58 80240728 24850200 */ addiu $a1, $a0, 0x200 +/* AACF5C 8024072C 3C108024 */ lui $s0, 0x8024 +/* AACF60 80240730 26107548 */ addiu $s0, $s0, 0x7548 +/* AACF64 80240734 0C00A5CF */ jal dma_copy +/* AACF68 80240738 0200302D */ daddu $a2, $s0, $zero +/* AACF6C 8024073C 3C048024 */ lui $a0, 0x8024 +/* AACF70 80240740 24847750 */ addiu $a0, $a0, 0x7750 +/* AACF74 80240744 24020096 */ addiu $v0, $zero, 0x96 +/* AACF78 80240748 A4820008 */ sh $v0, 8($a0) +/* AACF7C 8024074C 24020069 */ addiu $v0, $zero, 0x69 +/* AACF80 80240750 A482000A */ sh $v0, 0xa($a0) +/* AACF84 80240754 24020002 */ addiu $v0, $zero, 2 +/* AACF88 80240758 AC82000C */ sw $v0, 0xc($a0) +/* AACF8C 8024075C 24020001 */ addiu $v0, $zero, 1 +/* AACF90 80240760 AC910000 */ sw $s1, ($a0) +/* AACF94 80240764 AC900004 */ sw $s0, 4($a0) +/* AACF98 80240768 0C0496CB */ jal set_message_images +/* AACF9C 8024076C AC820010 */ sw $v0, 0x10($a0) +/* AACFA0 80240770 8FBF0018 */ lw $ra, 0x18($sp) +/* AACFA4 80240774 8FB10014 */ lw $s1, 0x14($sp) +/* AACFA8 80240778 8FB00010 */ lw $s0, 0x10($sp) +/* AACFAC 8024077C 24020002 */ addiu $v0, $zero, 2 +/* AACFB0 80240780 03E00008 */ jr $ra +/* AACFB4 80240784 27BD0020 */ addiu $sp, $sp, 0x20 +/* AACFB8 80240788 00000000 */ nop +/* AACFBC 8024078C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240000_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240000_AAFFF0.s new file mode 100644 index 0000000000..bcd7dd4657 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240000_AAFFF0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AAFFF0 +/* AAFFF0 80240000 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* AAFFF4 80240004 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* AAFFF8 80240008 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AAFFFC 8024000C AFBF0010 */ sw $ra, 0x10($sp) +/* AB0000 80240010 8443008E */ lh $v1, 0x8e($v0) +/* AB0004 80240014 24020003 */ addiu $v0, $zero, 3 +/* AB0008 80240018 14620006 */ bne $v1, $v0, .L80240034 +/* AB000C 8024001C 00000000 */ nop +/* AB0010 80240020 3C04800E */ lui $a0, 0x800e +/* AB0014 80240024 24849668 */ addiu $a0, $a0, -0x6998 +/* AB0018 80240028 3C058024 */ lui $a1, 0x8024 +/* AB001C 8024002C 0C01953C */ jal sprintf +/* AB0020 80240030 24A52160 */ addiu $a1, $a1, 0x2160 +.L80240034: +/* AB0024 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* AB0028 80240038 0000102D */ daddu $v0, $zero, $zero +/* AB002C 8024003C 03E00008 */ jr $ra +/* AB0030 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* AB0034 80240044 00000000 */ nop +/* AB0038 80240048 00000000 */ nop +/* AB003C 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240050_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240050_AAFFF0.s new file mode 100644 index 0000000000..8d565d9196 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240050_AAFFF0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_AB0040 +/* AB0040 80240050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0044 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* AB0048 80240058 0080802D */ daddu $s0, $a0, $zero +/* AB004C 8024005C AFBF0014 */ sw $ra, 0x14($sp) +/* AB0050 80240060 8E0300A8 */ lw $v1, 0xa8($s0) +/* AB0054 80240064 8E020088 */ lw $v0, 0x88($s0) +/* AB0058 80240068 00621821 */ addu $v1, $v1, $v0 +/* AB005C 8024006C 04610004 */ bgez $v1, .L80240080 +/* AB0060 80240070 AE0300A8 */ sw $v1, 0xa8($s0) +/* AB0064 80240074 3C020002 */ lui $v0, 2 +/* AB0068 80240078 08090024 */ j .L80240090 +/* AB006C 8024007C 00621021 */ addu $v0, $v1, $v0 +.L80240080: +/* AB0070 80240080 3C040002 */ lui $a0, 2 +/* AB0074 80240084 0083102A */ slt $v0, $a0, $v1 +/* AB0078 80240088 10400002 */ beqz $v0, .L80240094 +/* AB007C 8024008C 00641023 */ subu $v0, $v1, $a0 +.L80240090: +/* AB0080 80240090 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240094: +/* AB0084 80240094 8E0300AC */ lw $v1, 0xac($s0) +/* AB0088 80240098 8E02008C */ lw $v0, 0x8c($s0) +/* AB008C 8024009C 00621821 */ addu $v1, $v1, $v0 +/* AB0090 802400A0 04610004 */ bgez $v1, .L802400B4 +/* AB0094 802400A4 AE0300AC */ sw $v1, 0xac($s0) +/* AB0098 802400A8 3C020002 */ lui $v0, 2 +/* AB009C 802400AC 08090031 */ j .L802400C4 +/* AB00A0 802400B0 00621021 */ addu $v0, $v1, $v0 +.L802400B4: +/* AB00A4 802400B4 3C040002 */ lui $a0, 2 +/* AB00A8 802400B8 0083102A */ slt $v0, $a0, $v1 +/* AB00AC 802400BC 10400002 */ beqz $v0, .L802400C8 +/* AB00B0 802400C0 00641023 */ subu $v0, $v1, $a0 +.L802400C4: +/* AB00B4 802400C4 AE0200AC */ sw $v0, 0xac($s0) +.L802400C8: +/* AB00B8 802400C8 8E0300B0 */ lw $v1, 0xb0($s0) +/* AB00BC 802400CC 8E020090 */ lw $v0, 0x90($s0) +/* AB00C0 802400D0 00621821 */ addu $v1, $v1, $v0 +/* AB00C4 802400D4 04610004 */ bgez $v1, .L802400E8 +/* AB00C8 802400D8 AE0300B0 */ sw $v1, 0xb0($s0) +/* AB00CC 802400DC 3C020002 */ lui $v0, 2 +/* AB00D0 802400E0 0809003E */ j .L802400F8 +/* AB00D4 802400E4 00621021 */ addu $v0, $v1, $v0 +.L802400E8: +/* AB00D8 802400E8 3C040002 */ lui $a0, 2 +/* AB00DC 802400EC 0083102A */ slt $v0, $a0, $v1 +/* AB00E0 802400F0 10400002 */ beqz $v0, .L802400FC +/* AB00E4 802400F4 00641023 */ subu $v0, $v1, $a0 +.L802400F8: +/* AB00E8 802400F8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400FC: +/* AB00EC 802400FC 8E0300B4 */ lw $v1, 0xb4($s0) +/* AB00F0 80240100 8E020094 */ lw $v0, 0x94($s0) +/* AB00F4 80240104 00621821 */ addu $v1, $v1, $v0 +/* AB00F8 80240108 04610004 */ bgez $v1, .L8024011C +/* AB00FC 8024010C AE0300B4 */ sw $v1, 0xb4($s0) +/* AB0100 80240110 3C020002 */ lui $v0, 2 +/* AB0104 80240114 0809004B */ j .L8024012C +/* AB0108 80240118 00621021 */ addu $v0, $v1, $v0 +.L8024011C: +/* AB010C 8024011C 3C040002 */ lui $a0, 2 +/* AB0110 80240120 0083102A */ slt $v0, $a0, $v1 +/* AB0114 80240124 10400002 */ beqz $v0, .L80240130 +/* AB0118 80240128 00641023 */ subu $v0, $v1, $a0 +.L8024012C: +/* AB011C 8024012C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240130: +/* AB0120 80240130 8E040084 */ lw $a0, 0x84($s0) +/* AB0124 80240134 0C046F07 */ jal set_main_pan_u +/* AB0128 80240138 8E0500A8 */ lw $a1, 0xa8($s0) +/* AB012C 8024013C 8E040084 */ lw $a0, 0x84($s0) +/* AB0130 80240140 0C046F0D */ jal set_main_pan_v +/* AB0134 80240144 8E0500AC */ lw $a1, 0xac($s0) +/* AB0138 80240148 8E040084 */ lw $a0, 0x84($s0) +/* AB013C 8024014C 0C046F13 */ jal set_aux_pan_u +/* AB0140 80240150 8E0500B0 */ lw $a1, 0xb0($s0) +/* AB0144 80240154 8E040084 */ lw $a0, 0x84($s0) +/* AB0148 80240158 0C046F19 */ jal set_aux_pan_v +/* AB014C 8024015C 8E0500B4 */ lw $a1, 0xb4($s0) +/* AB0150 80240160 8FBF0014 */ lw $ra, 0x14($sp) +/* AB0154 80240164 8FB00010 */ lw $s0, 0x10($sp) +/* AB0158 80240168 0000102D */ daddu $v0, $zero, $zero +/* AB015C 8024016C 03E00008 */ jr $ra +/* AB0160 80240170 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240174_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240174_AAFFF0.s new file mode 100644 index 0000000000..dc61b3de3c --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240174_AAFFF0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240174_AB0164 +/* AB0164 80240174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0168 80240178 AFB00010 */ sw $s0, 0x10($sp) +/* AB016C 8024017C 0080802D */ daddu $s0, $a0, $zero +/* AB0170 80240180 10A00005 */ beqz $a1, .L80240198 +/* AB0174 80240184 AFBF0014 */ sw $ra, 0x14($sp) +/* AB0178 80240188 AE000070 */ sw $zero, 0x70($s0) +/* AB017C 8024018C AE000074 */ sw $zero, 0x74($s0) +/* AB0180 80240190 AE000078 */ sw $zero, 0x78($s0) +/* AB0184 80240194 AE00007C */ sw $zero, 0x7c($s0) +.L80240198: +/* AB0188 80240198 8E020070 */ lw $v0, 0x70($s0) +/* AB018C 8024019C 1440000E */ bnez $v0, .L802401D8 +/* AB0190 802401A0 00000000 */ nop +/* AB0194 802401A4 8E0300A8 */ lw $v1, 0xa8($s0) +/* AB0198 802401A8 8E020088 */ lw $v0, 0x88($s0) +/* AB019C 802401AC 00621821 */ addu $v1, $v1, $v0 +/* AB01A0 802401B0 04610004 */ bgez $v1, .L802401C4 +/* AB01A4 802401B4 AE0300A8 */ sw $v1, 0xa8($s0) +/* AB01A8 802401B8 3C020002 */ lui $v0, 2 +/* AB01AC 802401BC 08090075 */ j .L802401D4 +/* AB01B0 802401C0 00621021 */ addu $v0, $v1, $v0 +.L802401C4: +/* AB01B4 802401C4 3C040002 */ lui $a0, 2 +/* AB01B8 802401C8 0083102A */ slt $v0, $a0, $v1 +/* AB01BC 802401CC 10400002 */ beqz $v0, .L802401D8 +/* AB01C0 802401D0 00641023 */ subu $v0, $v1, $a0 +.L802401D4: +/* AB01C4 802401D4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401D8: +/* AB01C8 802401D8 8E020074 */ lw $v0, 0x74($s0) +/* AB01CC 802401DC 1440000E */ bnez $v0, .L80240218 +/* AB01D0 802401E0 00000000 */ nop +/* AB01D4 802401E4 8E0300AC */ lw $v1, 0xac($s0) +/* AB01D8 802401E8 8E02008C */ lw $v0, 0x8c($s0) +/* AB01DC 802401EC 00621821 */ addu $v1, $v1, $v0 +/* AB01E0 802401F0 04610004 */ bgez $v1, .L80240204 +/* AB01E4 802401F4 AE0300AC */ sw $v1, 0xac($s0) +/* AB01E8 802401F8 3C020002 */ lui $v0, 2 +/* AB01EC 802401FC 08090085 */ j .L80240214 +/* AB01F0 80240200 00621021 */ addu $v0, $v1, $v0 +.L80240204: +/* AB01F4 80240204 3C040002 */ lui $a0, 2 +/* AB01F8 80240208 0083102A */ slt $v0, $a0, $v1 +/* AB01FC 8024020C 10400002 */ beqz $v0, .L80240218 +/* AB0200 80240210 00641023 */ subu $v0, $v1, $a0 +.L80240214: +/* AB0204 80240214 AE0200AC */ sw $v0, 0xac($s0) +.L80240218: +/* AB0208 80240218 8E020078 */ lw $v0, 0x78($s0) +/* AB020C 8024021C 1440000E */ bnez $v0, .L80240258 +/* AB0210 80240220 00000000 */ nop +/* AB0214 80240224 8E0300B0 */ lw $v1, 0xb0($s0) +/* AB0218 80240228 8E020090 */ lw $v0, 0x90($s0) +/* AB021C 8024022C 00621821 */ addu $v1, $v1, $v0 +/* AB0220 80240230 04610004 */ bgez $v1, .L80240244 +/* AB0224 80240234 AE0300B0 */ sw $v1, 0xb0($s0) +/* AB0228 80240238 3C020002 */ lui $v0, 2 +/* AB022C 8024023C 08090095 */ j .L80240254 +/* AB0230 80240240 00621021 */ addu $v0, $v1, $v0 +.L80240244: +/* AB0234 80240244 3C040002 */ lui $a0, 2 +/* AB0238 80240248 0083102A */ slt $v0, $a0, $v1 +/* AB023C 8024024C 10400002 */ beqz $v0, .L80240258 +/* AB0240 80240250 00641023 */ subu $v0, $v1, $a0 +.L80240254: +/* AB0244 80240254 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240258: +/* AB0248 80240258 8E02007C */ lw $v0, 0x7c($s0) +/* AB024C 8024025C 1440000E */ bnez $v0, .L80240298 +/* AB0250 80240260 00000000 */ nop +/* AB0254 80240264 8E0300B4 */ lw $v1, 0xb4($s0) +/* AB0258 80240268 8E020094 */ lw $v0, 0x94($s0) +/* AB025C 8024026C 00621821 */ addu $v1, $v1, $v0 +/* AB0260 80240270 04610004 */ bgez $v1, .L80240284 +/* AB0264 80240274 AE0300B4 */ sw $v1, 0xb4($s0) +/* AB0268 80240278 3C020002 */ lui $v0, 2 +/* AB026C 8024027C 080900A5 */ j .L80240294 +/* AB0270 80240280 00621021 */ addu $v0, $v1, $v0 +.L80240284: +/* AB0274 80240284 3C040002 */ lui $a0, 2 +/* AB0278 80240288 0083102A */ slt $v0, $a0, $v1 +/* AB027C 8024028C 10400002 */ beqz $v0, .L80240298 +/* AB0280 80240290 00641023 */ subu $v0, $v1, $a0 +.L80240294: +/* AB0284 80240294 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240298: +/* AB0288 80240298 8E040084 */ lw $a0, 0x84($s0) +/* AB028C 8024029C 0C046F07 */ jal set_main_pan_u +/* AB0290 802402A0 8E0500A8 */ lw $a1, 0xa8($s0) +/* AB0294 802402A4 8E040084 */ lw $a0, 0x84($s0) +/* AB0298 802402A8 0C046F0D */ jal set_main_pan_v +/* AB029C 802402AC 8E0500AC */ lw $a1, 0xac($s0) +/* AB02A0 802402B0 8E040084 */ lw $a0, 0x84($s0) +/* AB02A4 802402B4 0C046F13 */ jal set_aux_pan_u +/* AB02A8 802402B8 8E0500B0 */ lw $a1, 0xb0($s0) +/* AB02AC 802402BC 8E040084 */ lw $a0, 0x84($s0) +/* AB02B0 802402C0 0C046F19 */ jal set_aux_pan_v +/* AB02B4 802402C4 8E0500B4 */ lw $a1, 0xb4($s0) +/* AB02B8 802402C8 8E020070 */ lw $v0, 0x70($s0) +/* AB02BC 802402CC 8E030078 */ lw $v1, 0x78($s0) +/* AB02C0 802402D0 8E040098 */ lw $a0, 0x98($s0) +/* AB02C4 802402D4 24420001 */ addiu $v0, $v0, 1 +/* AB02C8 802402D8 AE020070 */ sw $v0, 0x70($s0) +/* AB02CC 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* AB02D0 802402E0 24630001 */ addiu $v1, $v1, 1 +/* AB02D4 802402E4 AE030078 */ sw $v1, 0x78($s0) +/* AB02D8 802402E8 8E030070 */ lw $v1, 0x70($s0) +/* AB02DC 802402EC 24420001 */ addiu $v0, $v0, 1 +/* AB02E0 802402F0 AE020074 */ sw $v0, 0x74($s0) +/* AB02E4 802402F4 8E02007C */ lw $v0, 0x7c($s0) +/* AB02E8 802402F8 0064182A */ slt $v1, $v1, $a0 +/* AB02EC 802402FC 24420001 */ addiu $v0, $v0, 1 +/* AB02F0 80240300 14600002 */ bnez $v1, .L8024030C +/* AB02F4 80240304 AE02007C */ sw $v0, 0x7c($s0) +/* AB02F8 80240308 AE000070 */ sw $zero, 0x70($s0) +.L8024030C: +/* AB02FC 8024030C 8E020074 */ lw $v0, 0x74($s0) +/* AB0300 80240310 8E03009C */ lw $v1, 0x9c($s0) +/* AB0304 80240314 0043102A */ slt $v0, $v0, $v1 +/* AB0308 80240318 50400001 */ beql $v0, $zero, .L80240320 +/* AB030C 8024031C AE000074 */ sw $zero, 0x74($s0) +.L80240320: +/* AB0310 80240320 8E020078 */ lw $v0, 0x78($s0) +/* AB0314 80240324 8E0300A0 */ lw $v1, 0xa0($s0) +/* AB0318 80240328 0043102A */ slt $v0, $v0, $v1 +/* AB031C 8024032C 50400001 */ beql $v0, $zero, .L80240334 +/* AB0320 80240330 AE000078 */ sw $zero, 0x78($s0) +.L80240334: +/* AB0324 80240334 8E02007C */ lw $v0, 0x7c($s0) +/* AB0328 80240338 8E0300A4 */ lw $v1, 0xa4($s0) +/* AB032C 8024033C 0043102A */ slt $v0, $v0, $v1 +/* AB0330 80240340 50400001 */ beql $v0, $zero, .L80240348 +/* AB0334 80240344 AE00007C */ sw $zero, 0x7c($s0) +.L80240348: +/* AB0338 80240348 8FBF0014 */ lw $ra, 0x14($sp) +/* AB033C 8024034C 8FB00010 */ lw $s0, 0x10($sp) +/* AB0340 80240350 0000102D */ daddu $v0, $zero, $zero +/* AB0344 80240354 03E00008 */ jr $ra +/* AB0348 80240358 27BD0018 */ addiu $sp, $sp, 0x18 +/* AB034C 8024035C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240360_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240360_AAFFF0.s new file mode 100644 index 0000000000..e6085bde07 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240360_AAFFF0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_AB0350 +/* AB0350 80240360 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB0354 80240364 AFB00010 */ sw $s0, 0x10($sp) +/* AB0358 80240368 3C108024 */ lui $s0, 0x8024 +/* AB035C 8024036C 261011B8 */ addiu $s0, $s0, 0x11b8 +/* AB0360 80240370 AFBF0018 */ sw $ra, 0x18($sp) +/* AB0364 80240374 AFB10014 */ sw $s1, 0x14($sp) +/* AB0368 80240378 8E020000 */ lw $v0, ($s0) +/* AB036C 8024037C 14400010 */ bnez $v0, .L802403C0 +/* AB0370 80240380 0080882D */ daddu $s1, $a0, $zero +/* AB0374 80240384 0C00AB39 */ jal heap_malloc +/* AB0378 80240388 24040040 */ addiu $a0, $zero, 0x40 +/* AB037C 8024038C AE020000 */ sw $v0, ($s0) +/* AB0380 80240390 0000182D */ daddu $v1, $zero, $zero +/* AB0384 80240394 0040282D */ daddu $a1, $v0, $zero +/* AB0388 80240398 0220202D */ daddu $a0, $s1, $zero +.L8024039C: +/* AB038C 8024039C 8C820084 */ lw $v0, 0x84($a0) +/* AB0390 802403A0 24840004 */ addiu $a0, $a0, 4 +/* AB0394 802403A4 24630001 */ addiu $v1, $v1, 1 +/* AB0398 802403A8 ACA20000 */ sw $v0, ($a1) +/* AB039C 802403AC 28620010 */ slti $v0, $v1, 0x10 +/* AB03A0 802403B0 1440FFFA */ bnez $v0, .L8024039C +/* AB03A4 802403B4 24A50004 */ addiu $a1, $a1, 4 +/* AB03A8 802403B8 080900FF */ j .L802403FC +/* AB03AC 802403BC 00000000 */ nop +.L802403C0: +/* AB03B0 802403C0 0000182D */ daddu $v1, $zero, $zero +/* AB03B4 802403C4 0040282D */ daddu $a1, $v0, $zero +/* AB03B8 802403C8 0220202D */ daddu $a0, $s1, $zero +.L802403CC: +/* AB03BC 802403CC 8CA20000 */ lw $v0, ($a1) +/* AB03C0 802403D0 24A50004 */ addiu $a1, $a1, 4 +/* AB03C4 802403D4 24630001 */ addiu $v1, $v1, 1 +/* AB03C8 802403D8 AC820084 */ sw $v0, 0x84($a0) +/* AB03CC 802403DC 28620010 */ slti $v0, $v1, 0x10 +/* AB03D0 802403E0 1440FFFA */ bnez $v0, .L802403CC +/* AB03D4 802403E4 24840004 */ addiu $a0, $a0, 4 +/* AB03D8 802403E8 3C108024 */ lui $s0, 0x8024 +/* AB03DC 802403EC 261011B8 */ addiu $s0, $s0, 0x11b8 +/* AB03E0 802403F0 0C00AB4B */ jal heap_free +/* AB03E4 802403F4 8E040000 */ lw $a0, ($s0) +/* AB03E8 802403F8 AE000000 */ sw $zero, ($s0) +.L802403FC: +/* AB03EC 802403FC 8FBF0018 */ lw $ra, 0x18($sp) +/* AB03F0 80240400 8FB10014 */ lw $s1, 0x14($sp) +/* AB03F4 80240404 8FB00010 */ lw $s0, 0x10($sp) +/* AB03F8 80240408 24020002 */ addiu $v0, $zero, 2 +/* AB03FC 8024040C 03E00008 */ jr $ra +/* AB0400 80240410 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240414_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240414_AAFFF0.s new file mode 100644 index 0000000000..29784db7b7 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240414_AAFFF0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240414_AB0404 +/* AB0404 80240414 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB0408 80240418 AFB00010 */ sw $s0, 0x10($sp) +/* AB040C 8024041C 0080802D */ daddu $s0, $a0, $zero +/* AB0410 80240420 AFBF0018 */ sw $ra, 0x18($sp) +/* AB0414 80240424 AFB10014 */ sw $s1, 0x14($sp) +/* AB0418 80240428 8E02000C */ lw $v0, 0xc($s0) +/* AB041C 8024042C 8C510000 */ lw $s1, ($v0) +/* AB0420 80240430 0C0B1EAF */ jal get_variable +/* AB0424 80240434 0220282D */ daddu $a1, $s1, $zero +/* AB0428 80240438 3C03FFF0 */ lui $v1, 0xfff0 +/* AB042C 8024043C 3463FFFF */ ori $v1, $v1, 0xffff +/* AB0430 80240440 0200202D */ daddu $a0, $s0, $zero +/* AB0434 80240444 00431024 */ and $v0, $v0, $v1 +/* AB0438 80240448 00021140 */ sll $v0, $v0, 5 +/* AB043C 8024044C 3C068008 */ lui $a2, %hi(gItemTable) +/* AB0440 80240450 00C23021 */ addu $a2, $a2, $v0 +/* AB0444 80240454 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* AB0448 80240458 0C0B2026 */ jal set_variable +/* AB044C 8024045C 0220282D */ daddu $a1, $s1, $zero +/* AB0450 80240460 8FBF0018 */ lw $ra, 0x18($sp) +/* AB0454 80240464 8FB10014 */ lw $s1, 0x14($sp) +/* AB0458 80240468 8FB00010 */ lw $s0, 0x10($sp) +/* AB045C 8024046C 24020002 */ addiu $v0, $zero, 2 +/* AB0460 80240470 03E00008 */ jr $ra +/* AB0464 80240474 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240478_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240478_AAFFF0.s new file mode 100644 index 0000000000..165b6c3604 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240478_AAFFF0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240478_AB0468 +/* AB0468 80240478 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB046C 8024047C AFB10014 */ sw $s1, 0x14($sp) +/* AB0470 80240480 0080882D */ daddu $s1, $a0, $zero +/* AB0474 80240484 AFBF0018 */ sw $ra, 0x18($sp) +/* AB0478 80240488 AFB00010 */ sw $s0, 0x10($sp) +/* AB047C 8024048C 8E30000C */ lw $s0, 0xc($s1) +/* AB0480 80240490 8E050000 */ lw $a1, ($s0) +/* AB0484 80240494 0C0B1EAF */ jal get_variable +/* AB0488 80240498 26100004 */ addiu $s0, $s0, 4 +/* AB048C 8024049C 0C00EAD2 */ jal get_npc_safe +/* AB0490 802404A0 0040202D */ daddu $a0, $v0, $zero +/* AB0494 802404A4 10400005 */ beqz $v0, .L802404BC +/* AB0498 802404A8 00000000 */ nop +/* AB049C 802404AC 8E050000 */ lw $a1, ($s0) +/* AB04A0 802404B0 844600A8 */ lh $a2, 0xa8($v0) +/* AB04A4 802404B4 0C0B2026 */ jal set_variable +/* AB04A8 802404B8 0220202D */ daddu $a0, $s1, $zero +.L802404BC: +/* AB04AC 802404BC 8FBF0018 */ lw $ra, 0x18($sp) +/* AB04B0 802404C0 8FB10014 */ lw $s1, 0x14($sp) +/* AB04B4 802404C4 8FB00010 */ lw $s0, 0x10($sp) +/* AB04B8 802404C8 24020002 */ addiu $v0, $zero, 2 +/* AB04BC 802404CC 03E00008 */ jr $ra +/* AB04C0 802404D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_802404D4_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_802404D4_AAFFF0.s new file mode 100644 index 0000000000..6d12ca68f5 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_802404D4_AAFFF0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D4_AB04C4 +/* AB04C4 802404D4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* AB04C8 802404D8 AFB10014 */ sw $s1, 0x14($sp) +/* AB04CC 802404DC 0080882D */ daddu $s1, $a0, $zero +/* AB04D0 802404E0 AFBF0024 */ sw $ra, 0x24($sp) +/* AB04D4 802404E4 AFB40020 */ sw $s4, 0x20($sp) +/* AB04D8 802404E8 AFB3001C */ sw $s3, 0x1c($sp) +/* AB04DC 802404EC AFB20018 */ sw $s2, 0x18($sp) +/* AB04E0 802404F0 AFB00010 */ sw $s0, 0x10($sp) +/* AB04E4 802404F4 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* AB04E8 802404F8 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* AB04EC 802404FC F7B80038 */ sdc1 $f24, 0x38($sp) +/* AB04F0 80240500 F7B60030 */ sdc1 $f22, 0x30($sp) +/* AB04F4 80240504 F7B40028 */ sdc1 $f20, 0x28($sp) +/* AB04F8 80240508 8E30000C */ lw $s0, 0xc($s1) +/* AB04FC 8024050C 8E130000 */ lw $s3, ($s0) +/* AB0500 80240510 26100004 */ addiu $s0, $s0, 4 +/* AB0504 80240514 0C0B1EAF */ jal get_variable +/* AB0508 80240518 0260282D */ daddu $a1, $s3, $zero +/* AB050C 8024051C 4482E000 */ mtc1 $v0, $f28 +/* AB0510 80240520 00000000 */ nop +/* AB0514 80240524 4680E720 */ cvt.s.w $f28, $f28 +/* AB0518 80240528 8E140000 */ lw $s4, ($s0) +/* AB051C 8024052C 26100004 */ addiu $s0, $s0, 4 +/* AB0520 80240530 0220202D */ daddu $a0, $s1, $zero +/* AB0524 80240534 0C0B1EAF */ jal get_variable +/* AB0528 80240538 0280282D */ daddu $a1, $s4, $zero +/* AB052C 8024053C 4482D000 */ mtc1 $v0, $f26 +/* AB0530 80240540 00000000 */ nop +/* AB0534 80240544 4680D6A0 */ cvt.s.w $f26, $f26 +/* AB0538 80240548 8E100000 */ lw $s0, ($s0) +/* AB053C 8024054C 0220202D */ daddu $a0, $s1, $zero +/* AB0540 80240550 0C0B1EAF */ jal get_variable +/* AB0544 80240554 0200282D */ daddu $a1, $s0, $zero +/* AB0548 80240558 4482C000 */ mtc1 $v0, $f24 +/* AB054C 8024055C 00000000 */ nop +/* AB0550 80240560 4680C620 */ cvt.s.w $f24, $f24 +/* AB0554 80240564 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* AB0558 80240568 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* AB055C 8024056C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* AB0560 80240570 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* AB0564 80240574 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* AB0568 80240578 44800000 */ mtc1 $zero, $f0 +/* AB056C 8024057C 00031080 */ sll $v0, $v1, 2 +/* AB0570 80240580 00431021 */ addu $v0, $v0, $v1 +/* AB0574 80240584 00021080 */ sll $v0, $v0, 2 +/* AB0578 80240588 00431023 */ subu $v0, $v0, $v1 +/* AB057C 8024058C 000218C0 */ sll $v1, $v0, 3 +/* AB0580 80240590 00431021 */ addu $v0, $v0, $v1 +/* AB0584 80240594 000210C0 */ sll $v0, $v0, 3 +/* AB0588 80240598 46001032 */ c.eq.s $f2, $f0 +/* AB058C 8024059C 3C01800B */ lui $at, 0x800b +/* AB0590 802405A0 00220821 */ addu $at, $at, $v0 +/* AB0594 802405A4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* AB0598 802405A8 45000005 */ bc1f .L802405C0 +/* AB059C 802405AC 00000000 */ nop +/* AB05A0 802405B0 3C0142C8 */ lui $at, 0x42c8 +/* AB05A4 802405B4 44810000 */ mtc1 $at, $f0 +/* AB05A8 802405B8 08090174 */ j .L802405D0 +/* AB05AC 802405BC 4600B581 */ sub.s $f22, $f22, $f0 +.L802405C0: +/* AB05B0 802405C0 3C0142C8 */ lui $at, 0x42c8 +/* AB05B4 802405C4 44810000 */ mtc1 $at, $f0 +/* AB05B8 802405C8 00000000 */ nop +/* AB05BC 802405CC 4600B580 */ add.s $f22, $f22, $f0 +.L802405D0: +/* AB05C0 802405D0 0C00A6C9 */ jal clamp_angle +/* AB05C4 802405D4 4600B306 */ mov.s $f12, $f22 +/* AB05C8 802405D8 46000586 */ mov.s $f22, $f0 +/* AB05CC 802405DC 3C014170 */ lui $at, 0x4170 +/* AB05D0 802405E0 4481A000 */ mtc1 $at, $f20 +/* AB05D4 802405E4 0C00A8BB */ jal sin_deg +/* AB05D8 802405E8 4600B306 */ mov.s $f12, $f22 +/* AB05DC 802405EC 46140002 */ mul.s $f0, $f0, $f20 +/* AB05E0 802405F0 00000000 */ nop +/* AB05E4 802405F4 864200B0 */ lh $v0, 0xb0($s2) +/* AB05E8 802405F8 3C013F00 */ lui $at, 0x3f00 +/* AB05EC 802405FC 44812000 */ mtc1 $at, $f4 +/* AB05F0 80240600 44821000 */ mtc1 $v0, $f2 +/* AB05F4 80240604 00000000 */ nop +/* AB05F8 80240608 468010A0 */ cvt.s.w $f2, $f2 +/* AB05FC 8024060C 46041082 */ mul.s $f2, $f2, $f4 +/* AB0600 80240610 00000000 */ nop +/* AB0604 80240614 4600E700 */ add.s $f28, $f28, $f0 +/* AB0608 80240618 4602D680 */ add.s $f26, $f26, $f2 +/* AB060C 8024061C 0C00A8D4 */ jal cos_deg +/* AB0610 80240620 4600B306 */ mov.s $f12, $f22 +/* AB0614 80240624 46140002 */ mul.s $f0, $f0, $f20 +/* AB0618 80240628 00000000 */ nop +/* AB061C 8024062C 0220202D */ daddu $a0, $s1, $zero +/* AB0620 80240630 0260282D */ daddu $a1, $s3, $zero +/* AB0624 80240634 4600E18D */ trunc.w.s $f6, $f28 +/* AB0628 80240638 44063000 */ mfc1 $a2, $f6 +/* AB062C 8024063C 0C0B2026 */ jal set_variable +/* AB0630 80240640 4600C601 */ sub.s $f24, $f24, $f0 +/* AB0634 80240644 0220202D */ daddu $a0, $s1, $zero +/* AB0638 80240648 4600D18D */ trunc.w.s $f6, $f26 +/* AB063C 8024064C 44063000 */ mfc1 $a2, $f6 +/* AB0640 80240650 0C0B2026 */ jal set_variable +/* AB0644 80240654 0280282D */ daddu $a1, $s4, $zero +/* AB0648 80240658 0220202D */ daddu $a0, $s1, $zero +/* AB064C 8024065C 4600C18D */ trunc.w.s $f6, $f24 +/* AB0650 80240660 44063000 */ mfc1 $a2, $f6 +/* AB0654 80240664 0C0B2026 */ jal set_variable +/* AB0658 80240668 0200282D */ daddu $a1, $s0, $zero +/* AB065C 8024066C 8FBF0024 */ lw $ra, 0x24($sp) +/* AB0660 80240670 8FB40020 */ lw $s4, 0x20($sp) +/* AB0664 80240674 8FB3001C */ lw $s3, 0x1c($sp) +/* AB0668 80240678 8FB20018 */ lw $s2, 0x18($sp) +/* AB066C 8024067C 8FB10014 */ lw $s1, 0x14($sp) +/* AB0670 80240680 8FB00010 */ lw $s0, 0x10($sp) +/* AB0674 80240684 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* AB0678 80240688 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* AB067C 8024068C D7B80038 */ ldc1 $f24, 0x38($sp) +/* AB0680 80240690 D7B60030 */ ldc1 $f22, 0x30($sp) +/* AB0684 80240694 D7B40028 */ ldc1 $f20, 0x28($sp) +/* AB0688 80240698 24020002 */ addiu $v0, $zero, 2 +/* AB068C 8024069C 03E00008 */ jr $ra +/* AB0690 802406A0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_802406A4_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_802406A4_AAFFF0.s new file mode 100644 index 0000000000..b3e193aa3e --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_802406A4_AAFFF0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4_AB0694 +/* AB0694 802406A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0698 802406A8 AFBF0010 */ sw $ra, 0x10($sp) +/* AB069C 802406AC 10A00003 */ beqz $a1, .L802406BC +/* AB06A0 802406B0 8C86000C */ lw $a2, 0xc($a0) +/* AB06A4 802406B4 3C018024 */ lui $at, 0x8024 +/* AB06A8 802406B8 AC20121C */ sw $zero, 0x121c($at) +.L802406BC: +/* AB06AC 802406BC 3C038024 */ lui $v1, 0x8024 +/* AB06B0 802406C0 2463121C */ addiu $v1, $v1, 0x121c +/* AB06B4 802406C4 8C620000 */ lw $v0, ($v1) +/* AB06B8 802406C8 54400003 */ bnel $v0, $zero, .L802406D8 +/* AB06BC 802406CC AC600000 */ sw $zero, ($v1) +/* AB06C0 802406D0 080901BB */ j .L802406EC +/* AB06C4 802406D4 0000102D */ daddu $v0, $zero, $zero +.L802406D8: +/* AB06C8 802406D8 8CC50000 */ lw $a1, ($a2) +/* AB06CC 802406DC 3C068024 */ lui $a2, 0x8024 +/* AB06D0 802406E0 0C0B2026 */ jal set_variable +/* AB06D4 802406E4 8CC61220 */ lw $a2, 0x1220($a2) +/* AB06D8 802406E8 24020002 */ addiu $v0, $zero, 2 +.L802406EC: +/* AB06DC 802406EC 8FBF0010 */ lw $ra, 0x10($sp) +/* AB06E0 802406F0 03E00008 */ jr $ra +/* AB06E4 802406F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_802406F8.s b/asm/nonmatchings/world/area_osr/osr_01/func_802406F8.s new file mode 100644 index 0000000000..477651501e --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_802406F8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406F8 +/* AB06E8 802406F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB06EC 802406FC AFBF0010 */ sw $ra, 0x10($sp) +/* AB06F0 80240700 8C82000C */ lw $v0, 0xc($a0) +/* AB06F4 80240704 0C0B1EAF */ jal get_variable +/* AB06F8 80240708 8C450000 */ lw $a1, ($v0) +/* AB06FC 8024070C 3C018024 */ lui $at, 0x8024 +/* AB0700 80240710 AC221220 */ sw $v0, 0x1220($at) +/* AB0704 80240714 24020002 */ addiu $v0, $zero, 2 +/* AB0708 80240718 8FBF0010 */ lw $ra, 0x10($sp) +/* AB070C 8024071C 24030001 */ addiu $v1, $zero, 1 +/* AB0710 80240720 3C018024 */ lui $at, 0x8024 +/* AB0714 80240724 AC23121C */ sw $v1, 0x121c($at) +/* AB0718 80240728 03E00008 */ jr $ra +/* AB071C 8024072C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240730_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240730_AAFFF0.s new file mode 100644 index 0000000000..c7c6f7414a --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240730_AAFFF0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_AB0720 +/* AB0720 80240730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0724 80240734 AFBF0010 */ sw $ra, 0x10($sp) +/* AB0728 80240738 8C82000C */ lw $v0, 0xc($a0) +/* AB072C 8024073C 0C0B1EAF */ jal get_variable +/* AB0730 80240740 8C450000 */ lw $a1, ($v0) +/* AB0734 80240744 0040182D */ daddu $v1, $v0, $zero +/* AB0738 80240748 10600012 */ beqz $v1, .L80240794 +/* AB073C 8024074C 0000202D */ daddu $a0, $zero, $zero +/* AB0740 80240750 8C620000 */ lw $v0, ($v1) +/* AB0744 80240754 5040000A */ beql $v0, $zero, .L80240780 +/* AB0748 80240758 00041080 */ sll $v0, $a0, 2 +/* AB074C 8024075C 3C058024 */ lui $a1, 0x8024 +/* AB0750 80240760 24A52180 */ addiu $a1, $a1, 0x2180 +.L80240764: +/* AB0754 80240764 24630004 */ addiu $v1, $v1, 4 +/* AB0758 80240768 24840001 */ addiu $a0, $a0, 1 +/* AB075C 8024076C ACA20000 */ sw $v0, ($a1) +/* AB0760 80240770 8C620000 */ lw $v0, ($v1) +/* AB0764 80240774 1440FFFB */ bnez $v0, .L80240764 +/* AB0768 80240778 24A50004 */ addiu $a1, $a1, 4 +/* AB076C 8024077C 00041080 */ sll $v0, $a0, 2 +.L80240780: +/* AB0770 80240780 3C018024 */ lui $at, 0x8024 +/* AB0774 80240784 00220821 */ addu $at, $at, $v0 +/* AB0778 80240788 AC202180 */ sw $zero, 0x2180($at) +/* AB077C 8024078C 080901EF */ j .L802407BC +/* AB0780 80240790 00000000 */ nop +.L80240794: +/* AB0784 80240794 3C038024 */ lui $v1, 0x8024 +/* AB0788 80240798 24632180 */ addiu $v1, $v1, 0x2180 +/* AB078C 8024079C 0060282D */ daddu $a1, $v1, $zero +.L802407A0: +/* AB0790 802407A0 24820010 */ addiu $v0, $a0, 0x10 +/* AB0794 802407A4 AC620000 */ sw $v0, ($v1) +/* AB0798 802407A8 24630004 */ addiu $v1, $v1, 4 +/* AB079C 802407AC 24840001 */ addiu $a0, $a0, 1 +/* AB07A0 802407B0 28820070 */ slti $v0, $a0, 0x70 +/* AB07A4 802407B4 1440FFFA */ bnez $v0, .L802407A0 +/* AB07A8 802407B8 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802407BC: +/* AB07AC 802407BC 8FBF0010 */ lw $ra, 0x10($sp) +/* AB07B0 802407C0 24020002 */ addiu $v0, $zero, 2 +/* AB07B4 802407C4 03E00008 */ jr $ra +/* AB07B8 802407C8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_802407CC_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_802407CC_AAFFF0.s new file mode 100644 index 0000000000..23a7a36d5d --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_802407CC_AAFFF0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407CC_AB07BC +/* AB07BC 802407CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB07C0 802407D0 AFB10014 */ sw $s1, 0x14($sp) +/* AB07C4 802407D4 0080882D */ daddu $s1, $a0, $zero +/* AB07C8 802407D8 AFBF0018 */ sw $ra, 0x18($sp) +/* AB07CC 802407DC AFB00010 */ sw $s0, 0x10($sp) +/* AB07D0 802407E0 8E30000C */ lw $s0, 0xc($s1) +/* AB07D4 802407E4 8E050000 */ lw $a1, ($s0) +/* AB07D8 802407E8 0C0B1EAF */ jal get_variable +/* AB07DC 802407EC 26100004 */ addiu $s0, $s0, 4 +/* AB07E0 802407F0 AE22008C */ sw $v0, 0x8c($s1) +/* AB07E4 802407F4 8E050000 */ lw $a1, ($s0) +/* AB07E8 802407F8 26100004 */ addiu $s0, $s0, 4 +/* AB07EC 802407FC 0C0B1EAF */ jal get_variable +/* AB07F0 80240800 0220202D */ daddu $a0, $s1, $zero +/* AB07F4 80240804 AE220090 */ sw $v0, 0x90($s1) +/* AB07F8 80240808 8E050000 */ lw $a1, ($s0) +/* AB07FC 8024080C 26100004 */ addiu $s0, $s0, 4 +/* AB0800 80240810 0C0B1EAF */ jal get_variable +/* AB0804 80240814 0220202D */ daddu $a0, $s1, $zero +/* AB0808 80240818 AE220094 */ sw $v0, 0x94($s1) +/* AB080C 8024081C 8E050000 */ lw $a1, ($s0) +/* AB0810 80240820 26100004 */ addiu $s0, $s0, 4 +/* AB0814 80240824 0C0B1EAF */ jal get_variable +/* AB0818 80240828 0220202D */ daddu $a0, $s1, $zero +/* AB081C 8024082C AE220098 */ sw $v0, 0x98($s1) +/* AB0820 80240830 8E050000 */ lw $a1, ($s0) +/* AB0824 80240834 26100004 */ addiu $s0, $s0, 4 +/* AB0828 80240838 0C0B1EAF */ jal get_variable +/* AB082C 8024083C 0220202D */ daddu $a0, $s1, $zero +/* AB0830 80240840 AE22009C */ sw $v0, 0x9c($s1) +/* AB0834 80240844 8E050000 */ lw $a1, ($s0) +/* AB0838 80240848 26100004 */ addiu $s0, $s0, 4 +/* AB083C 8024084C 0C0B1EAF */ jal get_variable +/* AB0840 80240850 0220202D */ daddu $a0, $s1, $zero +/* AB0844 80240854 AE2200A0 */ sw $v0, 0xa0($s1) +/* AB0848 80240858 8E050000 */ lw $a1, ($s0) +/* AB084C 8024085C 26100004 */ addiu $s0, $s0, 4 +/* AB0850 80240860 0C0B1EAF */ jal get_variable +/* AB0854 80240864 0220202D */ daddu $a0, $s1, $zero +/* AB0858 80240868 AE2200A4 */ sw $v0, 0xa4($s1) +/* AB085C 8024086C 8E050000 */ lw $a1, ($s0) +/* AB0860 80240870 26100004 */ addiu $s0, $s0, 4 +/* AB0864 80240874 0C0B1EAF */ jal get_variable +/* AB0868 80240878 0220202D */ daddu $a0, $s1, $zero +/* AB086C 8024087C AE2200A8 */ sw $v0, 0xa8($s1) +/* AB0870 80240880 8E050000 */ lw $a1, ($s0) +/* AB0874 80240884 26100004 */ addiu $s0, $s0, 4 +/* AB0878 80240888 0C0B1EAF */ jal get_variable +/* AB087C 8024088C 0220202D */ daddu $a0, $s1, $zero +/* AB0880 80240890 AE2200AC */ sw $v0, 0xac($s1) +/* AB0884 80240894 8E050000 */ lw $a1, ($s0) +/* AB0888 80240898 0C0B1EAF */ jal get_variable +/* AB088C 8024089C 0220202D */ daddu $a0, $s1, $zero +/* AB0890 802408A0 AE2200B0 */ sw $v0, 0xb0($s1) +/* AB0894 802408A4 8FBF0018 */ lw $ra, 0x18($sp) +/* AB0898 802408A8 8FB10014 */ lw $s1, 0x14($sp) +/* AB089C 802408AC 8FB00010 */ lw $s0, 0x10($sp) +/* AB08A0 802408B0 24020002 */ addiu $v0, $zero, 2 +/* AB08A4 802408B4 03E00008 */ jr $ra +/* AB08A8 802408B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_802408BC.s b/asm/nonmatchings/world/area_osr/osr_01/func_802408BC.s new file mode 100644 index 0000000000..70dfc96848 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_802408BC.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408BC +/* AB08AC 802408BC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* AB08B0 802408C0 AFB1001C */ sw $s1, 0x1c($sp) +/* AB08B4 802408C4 0080882D */ daddu $s1, $a0, $zero +/* AB08B8 802408C8 AFBF0034 */ sw $ra, 0x34($sp) +/* AB08BC 802408CC AFB60030 */ sw $s6, 0x30($sp) +/* AB08C0 802408D0 AFB5002C */ sw $s5, 0x2c($sp) +/* AB08C4 802408D4 AFB40028 */ sw $s4, 0x28($sp) +/* AB08C8 802408D8 AFB30024 */ sw $s3, 0x24($sp) +/* AB08CC 802408DC AFB20020 */ sw $s2, 0x20($sp) +/* AB08D0 802408E0 AFB00018 */ sw $s0, 0x18($sp) +/* AB08D4 802408E4 F7B60040 */ sdc1 $f22, 0x40($sp) +/* AB08D8 802408E8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* AB08DC 802408EC 8E30000C */ lw $s0, 0xc($s1) +/* AB08E0 802408F0 8E160000 */ lw $s6, ($s0) +/* AB08E4 802408F4 26100004 */ addiu $s0, $s0, 4 +/* AB08E8 802408F8 0C0B1EAF */ jal get_variable +/* AB08EC 802408FC 02C0282D */ daddu $a1, $s6, $zero +/* AB08F0 80240900 44820000 */ mtc1 $v0, $f0 +/* AB08F4 80240904 00000000 */ nop +/* AB08F8 80240908 46800020 */ cvt.s.w $f0, $f0 +/* AB08FC 8024090C E7A00010 */ swc1 $f0, 0x10($sp) +/* AB0900 80240910 8E140000 */ lw $s4, ($s0) +/* AB0904 80240914 26100004 */ addiu $s0, $s0, 4 +/* AB0908 80240918 0220202D */ daddu $a0, $s1, $zero +/* AB090C 8024091C 0C0B1EAF */ jal get_variable +/* AB0910 80240920 0280282D */ daddu $a1, $s4, $zero +/* AB0914 80240924 0220202D */ daddu $a0, $s1, $zero +/* AB0918 80240928 8E150000 */ lw $s5, ($s0) +/* AB091C 8024092C 4482B000 */ mtc1 $v0, $f22 +/* AB0920 80240930 00000000 */ nop +/* AB0924 80240934 4680B5A0 */ cvt.s.w $f22, $f22 +/* AB0928 80240938 0C0B1EAF */ jal get_variable +/* AB092C 8024093C 02A0282D */ daddu $a1, $s5, $zero +/* AB0930 80240940 2404FFFC */ addiu $a0, $zero, -4 +/* AB0934 80240944 44820000 */ mtc1 $v0, $f0 +/* AB0938 80240948 00000000 */ nop +/* AB093C 8024094C 46800020 */ cvt.s.w $f0, $f0 +/* AB0940 80240950 0C00EABB */ jal get_npc_unsafe +/* AB0944 80240954 E7A00014 */ swc1 $f0, 0x14($sp) +/* AB0948 80240958 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* AB094C 8024095C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* AB0950 80240960 3C014334 */ lui $at, 0x4334 +/* AB0954 80240964 44816000 */ mtc1 $at, $f12 +/* AB0958 80240968 00041880 */ sll $v1, $a0, 2 +/* AB095C 8024096C 00641821 */ addu $v1, $v1, $a0 +/* AB0960 80240970 00031880 */ sll $v1, $v1, 2 +/* AB0964 80240974 00641823 */ subu $v1, $v1, $a0 +/* AB0968 80240978 000320C0 */ sll $a0, $v1, 3 +/* AB096C 8024097C 00641821 */ addu $v1, $v1, $a0 +/* AB0970 80240980 000318C0 */ sll $v1, $v1, 3 +/* AB0974 80240984 3C01800B */ lui $at, 0x800b +/* AB0978 80240988 00230821 */ addu $at, $at, $v1 +/* AB097C 8024098C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* AB0980 80240990 460C0300 */ add.s $f12, $f0, $f12 +/* AB0984 80240994 0C00A6C9 */ jal clamp_angle +/* AB0988 80240998 0040982D */ daddu $s3, $v0, $zero +/* AB098C 8024099C 27B00010 */ addiu $s0, $sp, 0x10 +/* AB0990 802409A0 0200202D */ daddu $a0, $s0, $zero +/* AB0994 802409A4 27B20014 */ addiu $s2, $sp, 0x14 +/* AB0998 802409A8 0240282D */ daddu $a1, $s2, $zero +/* AB099C 802409AC 3C064170 */ lui $a2, 0x4170 +/* AB09A0 802409B0 8E67000C */ lw $a3, 0xc($s3) +/* AB09A4 802409B4 0C00A7E7 */ jal add_vec2D_polar +/* AB09A8 802409B8 46000506 */ mov.s $f20, $f0 +/* AB09AC 802409BC 0200202D */ daddu $a0, $s0, $zero +/* AB09B0 802409C0 3C064120 */ lui $a2, 0x4120 +/* AB09B4 802409C4 4407A000 */ mfc1 $a3, $f20 +/* AB09B8 802409C8 0C00A7E7 */ jal add_vec2D_polar +/* AB09BC 802409CC 0240282D */ daddu $a1, $s2, $zero +/* AB09C0 802409D0 0220202D */ daddu $a0, $s1, $zero +/* AB09C4 802409D4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* AB09C8 802409D8 4600008D */ trunc.w.s $f2, $f0 +/* AB09CC 802409DC 44061000 */ mfc1 $a2, $f2 +/* AB09D0 802409E0 0C0B2026 */ jal set_variable +/* AB09D4 802409E4 02C0282D */ daddu $a1, $s6, $zero +/* AB09D8 802409E8 0220202D */ daddu $a0, $s1, $zero +/* AB09DC 802409EC 4600B08D */ trunc.w.s $f2, $f22 +/* AB09E0 802409F0 44061000 */ mfc1 $a2, $f2 +/* AB09E4 802409F4 0C0B2026 */ jal set_variable +/* AB09E8 802409F8 0280282D */ daddu $a1, $s4, $zero +/* AB09EC 802409FC 0220202D */ daddu $a0, $s1, $zero +/* AB09F0 80240A00 C7A00014 */ lwc1 $f0, 0x14($sp) +/* AB09F4 80240A04 4600008D */ trunc.w.s $f2, $f0 +/* AB09F8 80240A08 44061000 */ mfc1 $a2, $f2 +/* AB09FC 80240A0C 0C0B2026 */ jal set_variable +/* AB0A00 80240A10 02A0282D */ daddu $a1, $s5, $zero +/* AB0A04 80240A14 8FBF0034 */ lw $ra, 0x34($sp) +/* AB0A08 80240A18 8FB60030 */ lw $s6, 0x30($sp) +/* AB0A0C 80240A1C 8FB5002C */ lw $s5, 0x2c($sp) +/* AB0A10 80240A20 8FB40028 */ lw $s4, 0x28($sp) +/* AB0A14 80240A24 8FB30024 */ lw $s3, 0x24($sp) +/* AB0A18 80240A28 8FB20020 */ lw $s2, 0x20($sp) +/* AB0A1C 80240A2C 8FB1001C */ lw $s1, 0x1c($sp) +/* AB0A20 80240A30 8FB00018 */ lw $s0, 0x18($sp) +/* AB0A24 80240A34 D7B60040 */ ldc1 $f22, 0x40($sp) +/* AB0A28 80240A38 D7B40038 */ ldc1 $f20, 0x38($sp) +/* AB0A2C 80240A3C 24020002 */ addiu $v0, $zero, 2 +/* AB0A30 80240A40 03E00008 */ jr $ra +/* AB0A34 80240A44 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240A48_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240A48_AAFFF0.s new file mode 100644 index 0000000000..3eb7eb5412 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240A48_AAFFF0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A48_AB0A38 +/* AB0A38 80240A48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0A3C 80240A4C AFB00010 */ sw $s0, 0x10($sp) +/* AB0A40 80240A50 0080802D */ daddu $s0, $a0, $zero +/* AB0A44 80240A54 AFBF0014 */ sw $ra, 0x14($sp) +/* AB0A48 80240A58 0C00EABB */ jal get_npc_unsafe +/* AB0A4C 80240A5C 8E04008C */ lw $a0, 0x8c($s0) +/* AB0A50 80240A60 0040282D */ daddu $a1, $v0, $zero +/* AB0A54 80240A64 8E040094 */ lw $a0, 0x94($s0) +/* AB0A58 80240A68 8CA30028 */ lw $v1, 0x28($a1) +/* AB0A5C 80240A6C ACA40028 */ sw $a0, 0x28($a1) +/* AB0A60 80240A70 8FBF0014 */ lw $ra, 0x14($sp) +/* AB0A64 80240A74 8FB00010 */ lw $s0, 0x10($sp) +/* AB0A68 80240A78 24020002 */ addiu $v0, $zero, 2 +/* AB0A6C 80240A7C 3C018024 */ lui $at, 0x8024 +/* AB0A70 80240A80 AC232344 */ sw $v1, 0x2344($at) +/* AB0A74 80240A84 03E00008 */ jr $ra +/* AB0A78 80240A88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_01/func_80240A8C_AAFFF0.s b/asm/nonmatchings/world/area_osr/osr_01/func_80240A8C_AAFFF0.s new file mode 100644 index 0000000000..89f13a180c --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_01/func_80240A8C_AAFFF0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A8C_AB0A7C +/* AB0A7C 80240A8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB0A80 80240A90 AFBF0010 */ sw $ra, 0x10($sp) +/* AB0A84 80240A94 0C00EABB */ jal get_npc_unsafe +/* AB0A88 80240A98 8C84008C */ lw $a0, 0x8c($a0) +/* AB0A8C 80240A9C 3C038024 */ lui $v1, 0x8024 +/* AB0A90 80240AA0 8C632344 */ lw $v1, 0x2344($v1) +/* AB0A94 80240AA4 AC430028 */ sw $v1, 0x28($v0) +/* AB0A98 80240AA8 8FBF0010 */ lw $ra, 0x10($sp) +/* AB0A9C 80240AAC 24020002 */ addiu $v0, $zero, 2 +/* AB0AA0 80240AB0 03E00008 */ jr $ra +/* AB0AA4 80240AB4 27BD0018 */ addiu $sp, $sp, 0x18 +/* AB0AA8 80240AB8 00000000 */ nop +/* AB0AAC 80240ABC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_02/func_80240000_AB2170.s b/asm/nonmatchings/world/area_osr/osr_02/func_80240000_AB2170.s new file mode 100644 index 0000000000..663a80cdc7 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_02/func_80240000_AB2170.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AB2170 +/* AB2170 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AB2174 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AB2178 80240008 24020002 */ addiu $v0, $zero, 2 +/* AB217C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* AB2180 80240010 03E00008 */ jr $ra +/* AB2184 80240014 0000102D */ daddu $v0, $zero, $zero +/* AB2188 80240018 00000000 */ nop +/* AB218C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_02/func_80240020_AB2170.s b/asm/nonmatchings/world/area_osr/osr_02/func_80240020_AB2170.s new file mode 100644 index 0000000000..c5260c8342 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_02/func_80240020_AB2170.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_AB2190 +/* AB2190 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB2194 80240024 AFBF0010 */ sw $ra, 0x10($sp) +/* AB2198 80240028 8C82000C */ lw $v0, 0xc($a0) +/* AB219C 8024002C 0C0B210B */ jal get_float_variable +/* AB21A0 80240030 8C450000 */ lw $a1, ($v0) +/* AB21A4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* AB21A8 80240038 4600008D */ trunc.w.s $f2, $f0 +/* AB21AC 8024003C 44021000 */ mfc1 $v0, $f2 +/* AB21B0 80240040 00000000 */ nop +/* AB21B4 80240044 3C018011 */ lui $at, 0x8011 +/* AB21B8 80240048 A022EFD5 */ sb $v0, -0x102b($at) +/* AB21BC 8024004C 24020002 */ addiu $v0, $zero, 2 +/* AB21C0 80240050 03E00008 */ jr $ra +/* AB21C4 80240054 27BD0018 */ addiu $sp, $sp, 0x18 +/* AB21C8 80240058 00000000 */ nop +/* AB21CC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_02/func_80240060_AB2170.s b/asm/nonmatchings/world/area_osr/osr_02/func_80240060_AB2170.s new file mode 100644 index 0000000000..2c1e88684c --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_02/func_80240060_AB2170.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060_AB21D0 +/* AB21D0 80240060 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB21D4 80240064 AFB10014 */ sw $s1, 0x14($sp) +/* AB21D8 80240068 0080882D */ daddu $s1, $a0, $zero +/* AB21DC 8024006C AFBF0018 */ sw $ra, 0x18($sp) +/* AB21E0 80240070 10A0000C */ beqz $a1, .L802400A4 +/* AB21E4 80240074 AFB00010 */ sw $s0, 0x10($sp) +/* AB21E8 80240078 8E24014C */ lw $a0, 0x14c($s1) +/* AB21EC 8024007C 0C00EAD2 */ jal get_npc_safe +/* AB21F0 80240080 AE200074 */ sw $zero, 0x74($s1) +/* AB21F4 80240084 8E23014C */ lw $v1, 0x14c($s1) +/* AB21F8 80240088 AE220078 */ sw $v0, 0x78($s1) +/* AB21FC 8024008C 2463FFFE */ addiu $v1, $v1, -2 +/* AB2200 80240090 00031840 */ sll $v1, $v1, 1 +/* AB2204 80240094 3C028024 */ lui $v0, 0x8024 +/* AB2208 80240098 00431021 */ addu $v0, $v0, $v1 +/* AB220C 8024009C 8442253C */ lh $v0, 0x253c($v0) +/* AB2210 802400A0 AE22007C */ sw $v0, 0x7c($s1) +.L802400A4: +/* AB2214 802400A4 8E22007C */ lw $v0, 0x7c($s1) +/* AB2218 802400A8 14400015 */ bnez $v0, .L80240100 +/* AB221C 802400AC 2442FFFF */ addiu $v0, $v0, -1 +/* AB2220 802400B0 C62C0074 */ lwc1 $f12, 0x74($s1) +/* AB2224 802400B4 0C00A8BB */ jal sin_deg +/* AB2228 802400B8 8E300078 */ lw $s0, 0x78($s1) +/* AB222C 802400BC 3C013FC0 */ lui $at, 0x3fc0 +/* AB2230 802400C0 44811000 */ mtc1 $at, $f2 +/* AB2234 802400C4 00000000 */ nop +/* AB2238 802400C8 46020002 */ mul.s $f0, $f0, $f2 +/* AB223C 802400CC 00000000 */ nop +/* AB2240 802400D0 3C014190 */ lui $at, 0x4190 +/* AB2244 802400D4 44816000 */ mtc1 $at, $f12 +/* AB2248 802400D8 4600010D */ trunc.w.s $f4, $f0 +/* AB224C 802400DC 44022000 */ mfc1 $v0, $f4 +/* AB2250 802400E0 00000000 */ nop +/* AB2254 802400E4 A20200AB */ sb $v0, 0xab($s0) +/* AB2258 802400E8 C6200074 */ lwc1 $f0, 0x74($s1) +/* AB225C 802400EC 0C00A6C9 */ jal clamp_angle +/* AB2260 802400F0 460C0300 */ add.s $f12, $f0, $f12 +/* AB2264 802400F4 0000102D */ daddu $v0, $zero, $zero +/* AB2268 802400F8 08090042 */ j .L80240108 +/* AB226C 802400FC E6200074 */ swc1 $f0, 0x74($s1) +.L80240100: +/* AB2270 80240100 AE22007C */ sw $v0, 0x7c($s1) +/* AB2274 80240104 0000102D */ daddu $v0, $zero, $zero +.L80240108: +/* AB2278 80240108 8FBF0018 */ lw $ra, 0x18($sp) +/* AB227C 8024010C 8FB10014 */ lw $s1, 0x14($sp) +/* AB2280 80240110 8FB00010 */ lw $s0, 0x10($sp) +/* AB2284 80240114 03E00008 */ jr $ra +/* AB2288 80240118 27BD0020 */ addiu $sp, $sp, 0x20 +/* AB228C 8024011C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_02/func_80240120_AB2170.s b/asm/nonmatchings/world/area_osr/osr_02/func_80240120_AB2170.s new file mode 100644 index 0000000000..ffdeabcd3f --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_02/func_80240120_AB2170.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_AB2290 +/* AB2290 80240120 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB2294 80240124 AFBF0010 */ sw $ra, 0x10($sp) +/* AB2298 80240128 8C82000C */ lw $v0, 0xc($a0) +/* AB229C 8024012C 3C068011 */ lui $a2, 0x8011 +/* AB22A0 80240130 80C6EFD4 */ lb $a2, -0x102c($a2) +/* AB22A4 80240134 0C0B2026 */ jal set_variable +/* AB22A8 80240138 8C450000 */ lw $a1, ($v0) +/* AB22AC 8024013C 8FBF0010 */ lw $ra, 0x10($sp) +/* AB22B0 80240140 24020002 */ addiu $v0, $zero, 2 +/* AB22B4 80240144 03E00008 */ jr $ra +/* AB22B8 80240148 27BD0018 */ addiu $sp, $sp, 0x18 +/* AB22BC 8024014C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_80240000_AB6290.s b/asm/nonmatchings/world/area_osr/osr_03/func_80240000_AB6290.s new file mode 100644 index 0000000000..c4d5e0d077 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_80240000_AB6290.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AB6290 +/* AB6290 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AB6294 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AB6298 80240008 24020002 */ addiu $v0, $zero, 2 +/* AB629C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* AB62A0 80240010 03E00008 */ jr $ra +/* AB62A4 80240014 0000102D */ daddu $v0, $zero, $zero +/* AB62A8 80240018 00000000 */ nop +/* AB62AC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_80240020_AB6290.s b/asm/nonmatchings/world/area_osr/osr_03/func_80240020_AB6290.s new file mode 100644 index 0000000000..2364053851 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_80240020_AB6290.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_AB62B0 +/* AB62B0 80240020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB62B4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* AB62B8 80240028 0080802D */ daddu $s0, $a0, $zero +/* AB62BC 8024002C AFBF0018 */ sw $ra, 0x18($sp) +/* AB62C0 80240030 AFB10014 */ sw $s1, 0x14($sp) +/* AB62C4 80240034 8E11000C */ lw $s1, 0xc($s0) +/* AB62C8 80240038 0C0B1EAF */ jal get_variable +/* AB62CC 8024003C 8E250000 */ lw $a1, ($s1) +/* AB62D0 80240040 44826000 */ mtc1 $v0, $f12 +/* AB62D4 80240044 00000000 */ nop +/* AB62D8 80240048 0C00A8BB */ jal sin_deg +/* AB62DC 8024004C 46806320 */ cvt.s.w $f12, $f12 +/* AB62E0 80240050 3C0141A0 */ lui $at, 0x41a0 +/* AB62E4 80240054 44811000 */ mtc1 $at, $f2 +/* AB62E8 80240058 00000000 */ nop +/* AB62EC 8024005C 46020002 */ mul.s $f0, $f0, $f2 +/* AB62F0 80240060 00000000 */ nop +/* AB62F4 80240064 8E250000 */ lw $a1, ($s1) +/* AB62F8 80240068 4600010D */ trunc.w.s $f4, $f0 +/* AB62FC 8024006C 44062000 */ mfc1 $a2, $f4 +/* AB6300 80240070 0C0B2026 */ jal set_variable +/* AB6304 80240074 0200202D */ daddu $a0, $s0, $zero +/* AB6308 80240078 8FBF0018 */ lw $ra, 0x18($sp) +/* AB630C 8024007C 8FB10014 */ lw $s1, 0x14($sp) +/* AB6310 80240080 8FB00010 */ lw $s0, 0x10($sp) +/* AB6314 80240084 24020002 */ addiu $v0, $zero, 2 +/* AB6318 80240088 03E00008 */ jr $ra +/* AB631C 8024008C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_80240090.s b/asm/nonmatchings/world/area_osr/osr_03/func_80240090.s new file mode 100644 index 0000000000..83f01721c5 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_80240090.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240090 +/* AB6320 80240090 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AB6324 80240094 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AB6328 80240098 9062007E */ lbu $v0, 0x7e($v1) +/* AB632C 8024009C 34420001 */ ori $v0, $v0, 1 +/* AB6330 802400A0 A062007E */ sb $v0, 0x7e($v1) +/* AB6334 802400A4 3C038011 */ lui $v1, %hi(gPlayerData) +/* AB6338 802400A8 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* AB633C 802400AC 80620012 */ lb $v0, 0x12($v1) +/* AB6340 802400B0 AC820084 */ sw $v0, 0x84($a0) +/* AB6344 802400B4 2402000B */ addiu $v0, $zero, 0xb +/* AB6348 802400B8 A0620012 */ sb $v0, 0x12($v1) +/* AB634C 802400BC 03E00008 */ jr $ra +/* AB6350 802400C0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_802400C4.s b/asm/nonmatchings/world/area_osr/osr_03/func_802400C4.s new file mode 100644 index 0000000000..51c6711c47 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_802400C4.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C4 +/* AB6354 802400C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* AB6358 802400C8 AFB10014 */ sw $s1, 0x14($sp) +/* AB635C 802400CC 0080882D */ daddu $s1, $a0, $zero +/* AB6360 802400D0 AFBF001C */ sw $ra, 0x1c($sp) +/* AB6364 802400D4 AFB20018 */ sw $s2, 0x18($sp) +/* AB6368 802400D8 AFB00010 */ sw $s0, 0x10($sp) +/* AB636C 802400DC F7B60028 */ sdc1 $f22, 0x28($sp) +/* AB6370 802400E0 F7B40020 */ sdc1 $f20, 0x20($sp) +/* AB6374 802400E4 0C00EABB */ jal get_npc_unsafe +/* AB6378 802400E8 0000202D */ daddu $a0, $zero, $zero +/* AB637C 802400EC 0040802D */ daddu $s0, $v0, $zero +/* AB6380 802400F0 3C12800B */ lui $s2, %hi(gCameras) +/* AB6384 802400F4 26521D80 */ addiu $s2, $s2, %lo(gCameras) +/* AB6388 802400F8 C60C000C */ lwc1 $f12, 0xc($s0) +/* AB638C 802400FC C640006C */ lwc1 $f0, 0x6c($s2) +/* AB6390 80240100 46006300 */ add.s $f12, $f12, $f0 +/* AB6394 80240104 3C014334 */ lui $at, 0x4334 +/* AB6398 80240108 4481A000 */ mtc1 $at, $f20 +/* AB639C 8024010C 3C0141A0 */ lui $at, 0x41a0 +/* AB63A0 80240110 4481B000 */ mtc1 $at, $f22 +/* AB63A4 80240114 0C00A8BB */ jal sin_deg +/* AB63A8 80240118 46146300 */ add.s $f12, $f12, $f20 +/* AB63AC 8024011C 46160002 */ mul.s $f0, $f0, $f22 +/* AB63B0 80240120 00000000 */ nop +/* AB63B4 80240124 C6020038 */ lwc1 $f2, 0x38($s0) +/* AB63B8 80240128 46001080 */ add.s $f2, $f2, $f0 +/* AB63BC 8024012C 4600110D */ trunc.w.s $f4, $f2 +/* AB63C0 80240130 E6240084 */ swc1 $f4, 0x84($s1) +/* AB63C4 80240134 C600003C */ lwc1 $f0, 0x3c($s0) +/* AB63C8 80240138 3C014190 */ lui $at, 0x4190 +/* AB63CC 8024013C 44811000 */ mtc1 $at, $f2 +/* AB63D0 80240140 00000000 */ nop +/* AB63D4 80240144 46020000 */ add.s $f0, $f0, $f2 +/* AB63D8 80240148 4600010D */ trunc.w.s $f4, $f0 +/* AB63DC 8024014C E6240088 */ swc1 $f4, 0x88($s1) +/* AB63E0 80240150 C60C000C */ lwc1 $f12, 0xc($s0) +/* AB63E4 80240154 C640006C */ lwc1 $f0, 0x6c($s2) +/* AB63E8 80240158 46006300 */ add.s $f12, $f12, $f0 +/* AB63EC 8024015C 0C00A8D4 */ jal cos_deg +/* AB63F0 80240160 46146300 */ add.s $f12, $f12, $f20 +/* AB63F4 80240164 46160002 */ mul.s $f0, $f0, $f22 +/* AB63F8 80240168 00000000 */ nop +/* AB63FC 8024016C C6020040 */ lwc1 $f2, 0x40($s0) +/* AB6400 80240170 46001081 */ sub.s $f2, $f2, $f0 +/* AB6404 80240174 4600110D */ trunc.w.s $f4, $f2 +/* AB6408 80240178 E624008C */ swc1 $f4, 0x8c($s1) +/* AB640C 8024017C 8FBF001C */ lw $ra, 0x1c($sp) +/* AB6410 80240180 8FB20018 */ lw $s2, 0x18($sp) +/* AB6414 80240184 8FB10014 */ lw $s1, 0x14($sp) +/* AB6418 80240188 8FB00010 */ lw $s0, 0x10($sp) +/* AB641C 8024018C D7B60028 */ ldc1 $f22, 0x28($sp) +/* AB6420 80240190 D7B40020 */ ldc1 $f20, 0x20($sp) +/* AB6424 80240194 24020002 */ addiu $v0, $zero, 2 +/* AB6428 80240198 03E00008 */ jr $ra +/* AB642C 8024019C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_802401A0_AB6290.s b/asm/nonmatchings/world/area_osr/osr_03/func_802401A0_AB6290.s new file mode 100644 index 0000000000..ec3bc058c7 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_802401A0_AB6290.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401A0_AB6430 +/* AB6430 802401A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB6434 802401A4 AFB00010 */ sw $s0, 0x10($sp) +/* AB6438 802401A8 0080802D */ daddu $s0, $a0, $zero +/* AB643C 802401AC 10A00003 */ beqz $a1, .L802401BC +/* AB6440 802401B0 AFBF0014 */ sw $ra, 0x14($sp) +/* AB6444 802401B4 AE000074 */ sw $zero, 0x74($s0) +/* AB6448 802401B8 AE000078 */ sw $zero, 0x78($s0) +.L802401BC: +/* AB644C 802401BC 8E030078 */ lw $v1, 0x78($s0) +/* AB6450 802401C0 10600005 */ beqz $v1, .L802401D8 +/* AB6454 802401C4 24020001 */ addiu $v0, $zero, 1 +/* AB6458 802401C8 1062001A */ beq $v1, $v0, .L80240234 +/* AB645C 802401CC 0000102D */ daddu $v0, $zero, $zero +/* AB6460 802401D0 080900A0 */ j .L80240280 +/* AB6464 802401D4 00000000 */ nop +.L802401D8: +/* AB6468 802401D8 0000202D */ daddu $a0, $zero, $zero +/* AB646C 802401DC 240500D0 */ addiu $a1, $zero, 0xd0 +/* AB6470 802401E0 00A0302D */ daddu $a2, $a1, $zero +/* AB6474 802401E4 0C04DF84 */ jal func_80137E10 +/* AB6478 802401E8 00A0382D */ daddu $a3, $a1, $zero +/* AB647C 802401EC C6000074 */ lwc1 $f0, 0x74($s0) +/* AB6480 802401F0 46800020 */ cvt.s.w $f0, $f0 +/* AB6484 802401F4 44050000 */ mfc1 $a1, $f0 +/* AB6488 802401F8 0C04DF62 */ jal func_80137D88 +/* AB648C 802401FC 24040001 */ addiu $a0, $zero, 1 +/* AB6490 80240200 8E020074 */ lw $v0, 0x74($s0) +/* AB6494 80240204 240300FF */ addiu $v1, $zero, 0xff +/* AB6498 80240208 14430004 */ bne $v0, $v1, .L8024021C +/* AB649C 8024020C 24420040 */ addiu $v0, $v0, 0x40 +/* AB64A0 80240210 24020001 */ addiu $v0, $zero, 1 +/* AB64A4 80240214 0809009F */ j .L8024027C +/* AB64A8 80240218 AE020078 */ sw $v0, 0x78($s0) +.L8024021C: +/* AB64AC 8024021C AE020074 */ sw $v0, 0x74($s0) +/* AB64B0 80240220 28420100 */ slti $v0, $v0, 0x100 +/* AB64B4 80240224 50400015 */ beql $v0, $zero, .L8024027C +/* AB64B8 80240228 AE030074 */ sw $v1, 0x74($s0) +/* AB64BC 8024022C 080900A0 */ j .L80240280 +/* AB64C0 80240230 0000102D */ daddu $v0, $zero, $zero +.L80240234: +/* AB64C4 80240234 0000202D */ daddu $a0, $zero, $zero +/* AB64C8 80240238 240500D0 */ addiu $a1, $zero, 0xd0 +/* AB64CC 8024023C 00A0302D */ daddu $a2, $a1, $zero +/* AB64D0 80240240 0C04DF84 */ jal func_80137E10 +/* AB64D4 80240244 00A0382D */ daddu $a3, $a1, $zero +/* AB64D8 80240248 C6000074 */ lwc1 $f0, 0x74($s0) +/* AB64DC 8024024C 46800020 */ cvt.s.w $f0, $f0 +/* AB64E0 80240250 44050000 */ mfc1 $a1, $f0 +/* AB64E4 80240254 0C04DF62 */ jal func_80137D88 +/* AB64E8 80240258 24040001 */ addiu $a0, $zero, 1 +/* AB64EC 8024025C 8E020074 */ lw $v0, 0x74($s0) +/* AB64F0 80240260 14400003 */ bnez $v0, .L80240270 +/* AB64F4 80240264 2442FFC0 */ addiu $v0, $v0, -0x40 +/* AB64F8 80240268 080900A0 */ j .L80240280 +/* AB64FC 8024026C 24020002 */ addiu $v0, $zero, 2 +.L80240270: +/* AB6500 80240270 1C400002 */ bgtz $v0, .L8024027C +/* AB6504 80240274 AE020074 */ sw $v0, 0x74($s0) +/* AB6508 80240278 AE000074 */ sw $zero, 0x74($s0) +.L8024027C: +/* AB650C 8024027C 0000102D */ daddu $v0, $zero, $zero +.L80240280: +/* AB6510 80240280 8FBF0014 */ lw $ra, 0x14($sp) +/* AB6514 80240284 8FB00010 */ lw $s0, 0x10($sp) +/* AB6518 80240288 03E00008 */ jr $ra +/* AB651C 8024028C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_03/func_80240290_AB6290.s b/asm/nonmatchings/world/area_osr/osr_03/func_80240290_AB6290.s new file mode 100644 index 0000000000..03bab18d20 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_03/func_80240290_AB6290.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_AB6520 +/* AB6520 80240290 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB6524 80240294 AFB10014 */ sw $s1, 0x14($sp) +/* AB6528 80240298 0080882D */ daddu $s1, $a0, $zero +/* AB652C 8024029C AFBF0018 */ sw $ra, 0x18($sp) +/* AB6530 802402A0 AFB00010 */ sw $s0, 0x10($sp) +/* AB6534 802402A4 10A0002A */ beqz $a1, .L80240350 +/* AB6538 802402A8 8E30000C */ lw $s0, 0xc($s1) +/* AB653C 802402AC 8E050000 */ lw $a1, ($s0) +/* AB6540 802402B0 0C0B1EAF */ jal get_variable +/* AB6544 802402B4 26100004 */ addiu $s0, $s0, 4 +/* AB6548 802402B8 0220202D */ daddu $a0, $s1, $zero +/* AB654C 802402BC 8E050000 */ lw $a1, ($s0) +/* AB6550 802402C0 0C0B210B */ jal get_float_variable +/* AB6554 802402C4 0040802D */ daddu $s0, $v0, $zero +/* AB6558 802402C8 46000000 */ add.s $f0, $f0, $f0 +/* AB655C 802402CC 3C014120 */ lui $at, 0x4120 +/* AB6560 802402D0 44812000 */ mtc1 $at, $f4 +/* AB6564 802402D4 00000000 */ nop +/* AB6568 802402D8 4600203C */ c.lt.s $f4, $f0 +/* AB656C 802402DC 00000000 */ nop +/* AB6570 802402E0 45000002 */ bc1f .L802402EC +/* AB6574 802402E4 AE300070 */ sw $s0, 0x70($s1) +/* AB6578 802402E8 46002006 */ mov.s $f0, $f4 +.L802402EC: +/* AB657C 802402EC 3C014380 */ lui $at, 0x4380 +/* AB6580 802402F0 44811000 */ mtc1 $at, $f2 +/* AB6584 802402F4 46040003 */ div.s $f0, $f0, $f4 +/* AB6588 802402F8 46020002 */ mul.s $f0, $f0, $f2 +/* AB658C 802402FC 00000000 */ nop +/* AB6590 80240300 3C014F00 */ lui $at, 0x4f00 +/* AB6594 80240304 44811000 */ mtc1 $at, $f2 +/* AB6598 80240308 00000000 */ nop +/* AB659C 8024030C 4600103E */ c.le.s $f2, $f0 +/* AB65A0 80240310 00000000 */ nop +/* AB65A4 80240314 45030005 */ bc1tl .L8024032C +/* AB65A8 80240318 46020001 */ sub.s $f0, $f0, $f2 +/* AB65AC 8024031C 4600018D */ trunc.w.s $f6, $f0 +/* AB65B0 80240320 44043000 */ mfc1 $a0, $f6 +/* AB65B4 80240324 080900D1 */ j .L80240344 +/* AB65B8 80240328 308400FF */ andi $a0, $a0, 0xff +.L8024032C: +/* AB65BC 8024032C 3C028000 */ lui $v0, 0x8000 +/* AB65C0 80240330 4600018D */ trunc.w.s $f6, $f0 +/* AB65C4 80240334 44043000 */ mfc1 $a0, $f6 +/* AB65C8 80240338 00000000 */ nop +/* AB65CC 8024033C 00822025 */ or $a0, $a0, $v0 +/* AB65D0 80240340 308400FF */ andi $a0, $a0, 0xff +.L80240344: +/* AB65D4 80240344 3205FFFF */ andi $a1, $s0, 0xffff +/* AB65D8 80240348 0C00A3C2 */ jal start_rumble +/* AB65DC 8024034C 00052840 */ sll $a1, $a1, 1 +.L80240350: +/* AB65E0 80240350 8E230070 */ lw $v1, 0x70($s1) +/* AB65E4 80240354 2463FFFF */ addiu $v1, $v1, -1 +/* AB65E8 80240358 AE230070 */ sw $v1, 0x70($s1) +/* AB65EC 8024035C 8FBF0018 */ lw $ra, 0x18($sp) +/* AB65F0 80240360 8FB10014 */ lw $s1, 0x14($sp) +/* AB65F4 80240364 8FB00010 */ lw $s0, 0x10($sp) +/* AB65F8 80240368 2C620001 */ sltiu $v0, $v1, 1 +/* AB65FC 8024036C 03E00008 */ jr $ra +/* AB6600 80240370 27BD0020 */ addiu $sp, $sp, 0x20 +/* AB6604 80240374 00000000 */ nop +/* AB6608 80240378 00000000 */ nop +/* AB660C 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_osr/osr_04/func_80240000_AB92B0.s b/asm/nonmatchings/world/area_osr/osr_04/func_80240000_AB92B0.s new file mode 100644 index 0000000000..a296b8d1e4 --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_04/func_80240000_AB92B0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_AB92B0 +/* AB92B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* AB92B4 80240004 3C04800E */ lui $a0, 0x800e +/* AB92B8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* AB92BC 8024000C 3C058024 */ lui $a1, 0x8024 +/* AB92C0 80240010 24A51FB0 */ addiu $a1, $a1, 0x1fb0 +/* AB92C4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* AB92C8 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* AB92CC 8024001C 24020002 */ addiu $v0, $zero, 2 +/* AB92D0 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* AB92D4 80240024 0C01953C */ jal sprintf +/* AB92D8 80240028 A0620084 */ sb $v0, 0x84($v1) +/* AB92DC 8024002C 3C04800E */ lui $a0, 0x800e +/* AB92E0 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* AB92E4 80240034 3C058024 */ lui $a1, 0x8024 +/* AB92E8 80240038 0C01953C */ jal sprintf +/* AB92EC 8024003C 24A51FC0 */ addiu $a1, $a1, 0x1fc0 +/* AB92F0 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* AB92F4 80240044 0000102D */ daddu $v0, $zero, $zero +/* AB92F8 80240048 03E00008 */ jr $ra +/* AB92FC 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_osr/osr_04/func_80240050_AB92B0.s b/asm/nonmatchings/world/area_osr/osr_04/func_80240050_AB92B0.s new file mode 100644 index 0000000000..7248db451f --- /dev/null +++ b/asm/nonmatchings/world/area_osr/osr_04/func_80240050_AB92B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_AB9300 +/* AB9300 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* AB9304 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* AB9308 80240058 0080802D */ daddu $s0, $a0, $zero +/* AB930C 8024005C AFBF0018 */ sw $ra, 0x18($sp) +/* AB9310 80240060 AFB10014 */ sw $s1, 0x14($sp) +/* AB9314 80240064 8E11000C */ lw $s1, 0xc($s0) +/* AB9318 80240068 0C0B1EAF */ jal get_variable +/* AB931C 8024006C 8E250000 */ lw $a1, ($s1) +/* AB9320 80240070 44826000 */ mtc1 $v0, $f12 +/* AB9324 80240074 00000000 */ nop +/* AB9328 80240078 0C00A8BB */ jal sin_deg +/* AB932C 8024007C 46806320 */ cvt.s.w $f12, $f12 +/* AB9330 80240080 3C0141A0 */ lui $at, 0x41a0 +/* AB9334 80240084 44811000 */ mtc1 $at, $f2 +/* AB9338 80240088 00000000 */ nop +/* AB933C 8024008C 46020002 */ mul.s $f0, $f0, $f2 +/* AB9340 80240090 00000000 */ nop +/* AB9344 80240094 8E250000 */ lw $a1, ($s1) +/* AB9348 80240098 4600010D */ trunc.w.s $f4, $f0 +/* AB934C 8024009C 44062000 */ mfc1 $a2, $f4 +/* AB9350 802400A0 0C0B2026 */ jal set_variable +/* AB9354 802400A4 0200202D */ daddu $a0, $s0, $zero +/* AB9358 802400A8 8FBF0018 */ lw $ra, 0x18($sp) +/* AB935C 802400AC 8FB10014 */ lw $s1, 0x14($sp) +/* AB9360 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* AB9364 802400B4 24020002 */ addiu $v0, $zero, 2 +/* AB9368 802400B8 03E00008 */ jr $ra +/* AB936C 802400BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240000_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240000_D4D040.s new file mode 100644 index 0000000000..9f615af04d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240000_D4D040.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D4D040 +/* D4D040 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D4D044 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D4D048 80240008 24020001 */ addiu $v0, $zero, 1 +/* D4D04C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D4D050 80240010 03E00008 */ jr $ra +/* D4D054 80240014 0000102D */ daddu $v0, $zero, $zero +/* D4D058 80240018 00000000 */ nop +/* D4D05C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240020_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240020_D4D040.s new file mode 100644 index 0000000000..342a1ce077 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240020_D4D040.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D4D060 +/* D4D060 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D4D064 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D4D068 80240028 00822024 */ and $a0, $a0, $v0 +/* D4D06C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D4D070 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D4D074 80240034 00821821 */ addu $v1, $a0, $v0 +/* D4D078 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D4D07C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D4D080 80240040 30620001 */ andi $v0, $v1, 1 +/* D4D084 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D4D088 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D4D08C 8024004C 03E00008 */ jr $ra +/* D4D090 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240054.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240054.s new file mode 100644 index 0000000000..cb4a97260b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240054.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054 +/* D4D094 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D4D098 80240058 304300FF */ andi $v1, $v0, 0xff +/* D4D09C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D4D0A0 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D4D0A4 80240064 28620007 */ slti $v0, $v1, 7 +/* D4D0A8 80240068 10400005 */ beqz $v0, .L80240080 +/* D4D0AC 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D4D0B0 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D4D0B4 80240074 3C020100 */ lui $v0, 0x100 +/* D4D0B8 80240078 03E00008 */ jr $ra +/* D4D0BC 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D4D0C0 80240080 2862000A */ slti $v0, $v1, 0xa +/* D4D0C4 80240084 10400016 */ beqz $v0, .L802400E0 +/* D4D0C8 80240088 28620008 */ slti $v0, $v1, 8 +/* D4D0CC 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D4D0D0 80240090 3C020100 */ lui $v0, 0x100 +/* D4D0D4 80240094 03E00008 */ jr $ra +/* D4D0D8 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D4D0DC 8024009C 3C020001 */ lui $v0, 1 +/* D4D0E0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D4D0E4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D4D0E8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D4D0EC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D4D0F0 802400B0 03E00008 */ jr $ra +/* D4D0F4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D4D0F8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D4D0FC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D4D100 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D4D104 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D4D108 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D4D10C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D4D110 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D4D114 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D4D118 802400D8 03E00008 */ jr $ra +/* D4D11C 802400DC 00000000 */ nop +.L802400E0: +/* D4D120 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D4D124 802400E4 03E00008 */ jr $ra +/* D4D128 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_802400EC_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_802400EC_D4D040.s new file mode 100644 index 0000000000..58783d587a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_802400EC_D4D040.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D4D12C +/* D4D12C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4D130 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D4D134 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D4D138 802400F8 3C058024 */ lui $a1, 0x8024 +/* D4D13C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D4D140 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D4D144 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D4D148 80240108 0000202D */ daddu $a0, $zero, $zero +/* D4D14C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D4D150 80240110 AC620000 */ sw $v0, ($v1) +/* D4D154 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D4D158 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D4D15C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D4D160 80240120 03E00008 */ jr $ra +/* D4D164 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240128.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240128.s new file mode 100644 index 0000000000..b72338483e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240128.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128 +/* D4D168 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D4D16C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D4D170 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D4D174 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D4D178 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D4D17C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D4D180 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D4D184 80240144 8E020000 */ lw $v0, ($s0) +/* D4D188 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D4D18C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D4D190 80240150 10400061 */ beqz $v0, .L802402D8 +/* D4D194 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D4D198 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D4D19C 8024015C 0C044181 */ jal get_shadow_by_index +/* D4D1A0 80240160 00000000 */ nop +/* D4D1A4 80240164 0C048B77 */ jal func_80122DDC +/* D4D1A8 80240168 84440008 */ lh $a0, 8($v0) +/* D4D1AC 8024016C 8C430000 */ lw $v1, ($v0) +/* D4D1B0 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D4D1B4 80240174 AC430000 */ sw $v1, ($v0) +/* D4D1B8 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D4D1BC 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D4D1C0 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D4D1C4 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D4D1C8 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D4D1CC 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D4D1D0 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D4D1D4 80240194 3C04800A */ lui $a0, 0x800a +/* D4D1D8 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D4D1DC 8024019C 46000007 */ neg.s $f0, $f0 +/* D4D1E0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D4D1E4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D4D1E8 802401A8 0C00B94E */ jal get_screen_coords +/* D4D1EC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D4D1F0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D4D1F4 802401B4 0C090008 */ jal func_80240020 +/* D4D1F8 802401B8 00000000 */ nop +/* D4D1FC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D4D200 802401C0 3C014307 */ lui $at, 0x4307 +/* D4D204 802401C4 44810000 */ mtc1 $at, $f0 +/* D4D208 802401C8 00000000 */ nop +/* D4D20C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D4D210 802401D0 00000000 */ nop +/* D4D214 802401D4 4500000B */ bc1f .L80240204 +/* D4D218 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D4D21C 802401DC 3C014361 */ lui $at, 0x4361 +/* D4D220 802401E0 44810000 */ mtc1 $at, $f0 +/* D4D224 802401E4 00000000 */ nop +/* D4D228 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D4D22C 802401EC 00000000 */ nop +/* D4D230 802401F0 45000004 */ bc1f .L80240204 +/* D4D234 802401F4 00000000 */ nop +/* D4D238 802401F8 0C090015 */ jal func_80240054 +/* D4D23C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D4D240 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D4D244 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D4D248 80240208 0C0B76A3 */ jal func_802DDA8C +/* D4D24C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D4D250 80240210 8E020000 */ lw $v0, ($s0) +/* D4D254 80240214 3C030002 */ lui $v1, 2 +/* D4D258 80240218 00431024 */ and $v0, $v0, $v1 +/* D4D25C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D4D260 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D4D264 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D4D268 80240228 3C02802E */ lui $v0, 0x802e +/* D4D26C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D4D270 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D4D274 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D4D278 80240238 1040000B */ beqz $v0, .L80240268 +/* D4D27C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D4D280 80240240 24040002 */ addiu $a0, $zero, 2 +/* D4D284 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D4D288 80240248 24060007 */ addiu $a2, $zero, 7 +/* D4D28C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D4D290 80240250 0000382D */ daddu $a3, $zero, $zero +/* D4D294 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D4D298 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D4D29C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D4D2A0 80240260 080900A3 */ j .L8024028C +/* D4D2A4 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D4D2A8 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D4D2AC 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D4D2B0 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D4D2B4 80240274 0000302D */ daddu $a2, $zero, $zero +/* D4D2B8 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D4D2BC 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D4D2C0 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D4D2C4 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D4D2C8 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D4D2CC 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D4D2D0 80240290 00000000 */ nop +.L80240294: +/* D4D2D4 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D4D2D8 80240298 3C01802E */ lui $at, 0x802e +/* D4D2DC 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D4D2E0 802402A0 080900AD */ j .L802402B4 +/* D4D2E4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D4D2E8 802402A8 3C01802E */ lui $at, 0x802e +/* D4D2EC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D4D2F0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D4D2F4 802402B4 AC910000 */ sw $s1, ($a0) +/* D4D2F8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D4D2FC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D4D300 802402C0 3C038024 */ lui $v1, 0x8024 +/* D4D304 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D4D308 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D4D30C 802402CC 00021023 */ negu $v0, $v0 +/* D4D310 802402D0 0C047644 */ jal queue_render_task +/* D4D314 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D4D318 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D4D31C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D4D320 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D4D324 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D4D328 802402E8 03E00008 */ jr $ra +/* D4D32C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_802402F0_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_802402F0_D4D040.s new file mode 100644 index 0000000000..57bcb04abe --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_802402F0_D4D040.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D4D330 +/* D4D330 802402F0 3C03800A */ lui $v1, 0x800a +/* D4D334 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D4D338 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D4D33C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D4D340 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D4D344 80240304 4480A000 */ mtc1 $zero, $f20 +/* D4D348 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D4D34C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D4D350 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D4D354 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D4D358 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D4D35C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D4D360 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D4D364 80240324 00031080 */ sll $v0, $v1, 2 +/* D4D368 80240328 00431021 */ addu $v0, $v0, $v1 +/* D4D36C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D4D370 80240330 00431023 */ subu $v0, $v0, $v1 +/* D4D374 80240334 000218C0 */ sll $v1, $v0, 3 +/* D4D378 80240338 00431021 */ addu $v0, $v0, $v1 +/* D4D37C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D4D380 80240340 3C01800B */ lui $at, 0x800b +/* D4D384 80240344 00220821 */ addu $at, $at, $v0 +/* D4D388 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D4D38C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D4D390 80240350 4600B587 */ neg.s $f22, $f22 +/* D4D394 80240354 4405B000 */ mfc1 $a1, $f22 +/* D4D398 80240358 0200202D */ daddu $a0, $s0, $zero +/* D4D39C 8024035C 0C019EC8 */ jal guRotateF +/* D4D3A0 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D3A4 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D4D3A8 80240368 0C00A6C9 */ jal clamp_angle +/* D4D3AC 8024036C 00000000 */ nop +/* D4D3B0 80240370 44050000 */ mfc1 $a1, $f0 +/* D4D3B4 80240374 4406A000 */ mfc1 $a2, $f20 +/* D4D3B8 80240378 4407A000 */ mfc1 $a3, $f20 +/* D4D3BC 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D4D3C0 80240380 4481C000 */ mtc1 $at, $f24 +/* D4D3C4 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D3C8 80240388 0C019EC8 */ jal guRotateF +/* D4D3CC 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D4D3D0 80240390 0200202D */ daddu $a0, $s0, $zero +/* D4D3D4 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D4D3D8 80240398 0C019D80 */ jal guMtxCatF +/* D4D3DC 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D4D3E0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D4D3E4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D4D3E8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D4D3EC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D4D3F0 802403B0 0C019EC8 */ jal guRotateF +/* D4D3F4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D3F8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D3FC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D4D400 802403C0 0C019D80 */ jal guMtxCatF +/* D4D404 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D4D408 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D40C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D4D410 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D4D414 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D4D418 802403D8 0C019EC8 */ jal guRotateF +/* D4D41C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D4D420 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D424 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D4D428 802403E8 0C019D80 */ jal guMtxCatF +/* D4D42C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D4D430 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D4D434 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D4D438 802403F8 44810000 */ mtc1 $at, $f0 +/* D4D43C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D4D440 80240400 44050000 */ mfc1 $a1, $f0 +/* D4D444 80240404 0200202D */ daddu $a0, $s0, $zero +/* D4D448 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D4D44C 8024040C 0C019DF0 */ jal guScaleF +/* D4D450 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D4D454 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D458 80240418 0200282D */ daddu $a1, $s0, $zero +/* D4D45C 8024041C 0C019D80 */ jal guMtxCatF +/* D4D460 80240420 0080302D */ daddu $a2, $a0, $zero +/* D4D464 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D4D468 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D4D46C 8024042C 3C014040 */ lui $at, 0x4040 +/* D4D470 80240430 44811000 */ mtc1 $at, $f2 +/* D4D474 80240434 46000007 */ neg.s $f0, $f0 +/* D4D478 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D4D47C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D4D480 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D4D484 80240444 44070000 */ mfc1 $a3, $f0 +/* D4D488 80240448 0C019E40 */ jal guTranslateF +/* D4D48C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D4D490 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D494 80240454 0200282D */ daddu $a1, $s0, $zero +/* D4D498 80240458 0C019D80 */ jal guMtxCatF +/* D4D49C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D4D4A0 80240460 24040002 */ addiu $a0, $zero, 2 +/* D4D4A4 80240464 0000282D */ daddu $a1, $zero, $zero +/* D4D4A8 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D4D4AC 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D4D4B0 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D4D4B4 80240474 0C0B7710 */ jal render_sprite +/* D4D4B8 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D4D4BC 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D4D4C0 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D4D4C4 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D4D4C8 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D4D4CC 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D4D4D0 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D4D4D4 80240494 03E00008 */ jr $ra +/* D4D4D8 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_8024049C_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_8024049C_D4D040.s new file mode 100644 index 0000000000..83a51d1099 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_8024049C_D4D040.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D4D4DC +/* D4D4DC 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4D4E0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D4D4E4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D4D4E8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D4D4EC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D4D4F0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D4D4F4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D4D4F8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D4D4FC 802404BC 00000000 */ nop +/* D4D500 802404C0 3C058024 */ lui $a1, 0x8024 +/* D4D504 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D4D508 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D4D50C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D4D510 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D4D514 802404D4 AC620000 */ sw $v0, ($v1) +/* D4D518 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D4D51C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D4D520 802404E0 8C620000 */ lw $v0, ($v1) +/* D4D524 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D4D528 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D4D52C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D4D530 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D4D534 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D4D538 802404F8 03E00008 */ jr $ra +/* D4D53C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240500_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240500_D4D040.s new file mode 100644 index 0000000000..3de97791b5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240500_D4D040.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D4D540 +/* D4D540 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D4D544 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D4D548 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D4D54C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D4D550 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D4D554 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D4D558 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D4D55C 8024051C 8E020000 */ lw $v0, ($s0) +/* D4D560 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D4D564 80240524 30420001 */ andi $v0, $v0, 1 +/* D4D568 80240528 10400052 */ beqz $v0, .L80240674 +/* D4D56C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D4D570 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D4D574 80240534 0C044181 */ jal get_shadow_by_index +/* D4D578 80240538 00000000 */ nop +/* D4D57C 8024053C 0C048B77 */ jal func_80122DDC +/* D4D580 80240540 84440008 */ lh $a0, 8($v0) +/* D4D584 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D4D588 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D4D58C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D4D590 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D4D594 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D4D598 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D4D59C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D4D5A0 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D4D5A4 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D4D5A8 80240568 3C04800A */ lui $a0, 0x800a +/* D4D5AC 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D4D5B0 80240570 46000007 */ neg.s $f0, $f0 +/* D4D5B4 80240574 44060000 */ mfc1 $a2, $f0 +/* D4D5B8 80240578 0C00B94E */ jal get_screen_coords +/* D4D5BC 8024057C 00000000 */ nop +/* D4D5C0 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D4D5C4 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D4D5C8 80240588 0C0B76A3 */ jal func_802DDA8C +/* D4D5CC 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D4D5D0 80240590 8E020000 */ lw $v0, ($s0) +/* D4D5D4 80240594 3C030002 */ lui $v1, 2 +/* D4D5D8 80240598 00431024 */ and $v0, $v0, $v1 +/* D4D5DC 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D4D5E0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D4D5E4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D4D5E8 802405A8 3C02802E */ lui $v0, 0x802e +/* D4D5EC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D4D5F0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D4D5F4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D4D5F8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D4D5FC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D4D600 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D4D604 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D4D608 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D4D60C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D4D610 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D4D614 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D4D618 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D4D61C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D4D620 802405E0 08090183 */ j .L8024060C +/* D4D624 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D4D628 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D4D62C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D4D630 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D4D634 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D4D638 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D4D63C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D4D640 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D4D644 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D4D648 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D4D64C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D4D650 80240610 00000000 */ nop +.L80240614: +/* D4D654 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D4D658 80240618 3C01802E */ lui $at, 0x802e +/* D4D65C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D4D660 80240620 0809018C */ j .L80240630 +/* D4D664 80240624 00000000 */ nop +.L80240628: +/* D4D668 80240628 3C01802E */ lui $at, 0x802e +/* D4D66C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D4D670 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D4D674 80240634 3C048024 */ lui $a0, 0x8024 +/* D4D678 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D4D67C 8024063C AE320000 */ sw $s2, ($s1) +/* D4D680 80240640 AE300008 */ sw $s0, 8($s1) +/* D4D684 80240644 00021023 */ negu $v0, $v0 +/* D4D688 80240648 AE220004 */ sw $v0, 4($s1) +/* D4D68C 8024064C 8E020000 */ lw $v0, ($s0) +/* D4D690 80240650 3C030002 */ lui $v1, 2 +/* D4D694 80240654 00431024 */ and $v0, $v0, $v1 +/* D4D698 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D4D69C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D4D6A0 80240660 3C048024 */ lui $a0, 0x8024 +/* D4D6A4 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D4D6A8 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D4D6AC 8024066C 0C047644 */ jal queue_render_task +/* D4D6B0 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D4D6B4 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D4D6B8 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D4D6BC 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D4D6C0 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D4D6C4 80240684 03E00008 */ jr $ra +/* D4D6C8 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_8024068C_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_8024068C_D4D040.s new file mode 100644 index 0000000000..ba73f068f2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_8024068C_D4D040.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D4D6CC +/* D4D6CC 8024068C 3C03800A */ lui $v1, 0x800a +/* D4D6D0 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D4D6D4 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D4D6D8 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D4D6DC 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D4D6E0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D4D6E4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D4D6E8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D4D6EC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D4D6F0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D4D6F4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D4D6F8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D4D6FC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D4D700 802406C0 00031080 */ sll $v0, $v1, 2 +/* D4D704 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D4D708 802406C8 00021080 */ sll $v0, $v0, 2 +/* D4D70C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D4D710 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D4D714 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D4D718 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D4D71C 802406DC 3C01800B */ lui $at, 0x800b +/* D4D720 802406E0 00220821 */ addu $at, $at, $v0 +/* D4D724 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D4D728 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D4D72C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D4D730 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D4D734 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D4D738 802406F8 0C019EC8 */ jal guRotateF +/* D4D73C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D740 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D4D744 80240704 0C00A6C9 */ jal clamp_angle +/* D4D748 80240708 00000000 */ nop +/* D4D74C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D4D750 80240710 4406A000 */ mfc1 $a2, $f20 +/* D4D754 80240714 4407A000 */ mfc1 $a3, $f20 +/* D4D758 80240718 3C013F80 */ lui $at, 0x3f80 +/* D4D75C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D4D760 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D764 80240724 0C019EC8 */ jal guRotateF +/* D4D768 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D4D76C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D4D770 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D4D774 80240734 0C019D80 */ jal guMtxCatF +/* D4D778 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D4D77C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D4D780 80240740 4406A000 */ mfc1 $a2, $f20 +/* D4D784 80240744 4407C000 */ mfc1 $a3, $f24 +/* D4D788 80240748 0200202D */ daddu $a0, $s0, $zero +/* D4D78C 8024074C 0C019EC8 */ jal guRotateF +/* D4D790 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D794 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D798 80240758 0200282D */ daddu $a1, $s0, $zero +/* D4D79C 8024075C 0C019D80 */ jal guMtxCatF +/* D4D7A0 80240760 0080302D */ daddu $a2, $a0, $zero +/* D4D7A4 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D4D7A8 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D4D7AC 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D4D7B0 80240770 4407C000 */ mfc1 $a3, $f24 +/* D4D7B4 80240774 0C019EC8 */ jal guRotateF +/* D4D7B8 80240778 0200202D */ daddu $a0, $s0, $zero +/* D4D7BC 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D7C0 80240780 0200282D */ daddu $a1, $s0, $zero +/* D4D7C4 80240784 0C019D80 */ jal guMtxCatF +/* D4D7C8 80240788 0080302D */ daddu $a2, $a0, $zero +/* D4D7CC 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D4D7D0 80240790 3C013F36 */ lui $at, 0x3f36 +/* D4D7D4 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D4D7D8 80240798 44810000 */ mtc1 $at, $f0 +/* D4D7DC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D4D7E0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D4D7E4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D4D7E8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D4D7EC 802407AC 0C019DF0 */ jal guScaleF +/* D4D7F0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D4D7F4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D7F8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D4D7FC 802407BC 0C019D80 */ jal guMtxCatF +/* D4D800 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D4D804 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D4D808 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D4D80C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D4D810 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D4D814 802407D4 46000007 */ neg.s $f0, $f0 +/* D4D818 802407D8 44060000 */ mfc1 $a2, $f0 +/* D4D81C 802407DC 0C019E40 */ jal guTranslateF +/* D4D820 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D4D824 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D4D828 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D4D82C 802407EC 0C019D80 */ jal guMtxCatF +/* D4D830 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D4D834 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D4D838 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D4D83C 802407FC 44810000 */ mtc1 $at, $f0 +/* D4D840 80240800 00000000 */ nop +/* D4D844 80240804 4602003E */ c.le.s $f0, $f2 +/* D4D848 80240808 00000000 */ nop +/* D4D84C 8024080C 4500000A */ bc1f .L80240838 +/* D4D850 80240810 24040001 */ addiu $a0, $zero, 1 +/* D4D854 80240814 3C014387 */ lui $at, 0x4387 +/* D4D858 80240818 44810000 */ mtc1 $at, $f0 +/* D4D85C 8024081C 00000000 */ nop +/* D4D860 80240820 4600103C */ c.lt.s $f2, $f0 +/* D4D864 80240824 00000000 */ nop +/* D4D868 80240828 45000004 */ bc1f .L8024083C +/* D4D86C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D4D870 80240830 3C041000 */ lui $a0, 0x1000 +/* D4D874 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D4D878 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D4D87C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D4D880 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D4D884 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D4D888 80240848 0C0B7710 */ jal render_sprite +/* D4D88C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D4D890 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D4D894 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D4D898 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D4D89C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D4D8A0 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D4D8A4 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D4D8A8 80240868 03E00008 */ jr $ra +/* D4D8AC 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240870_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240870_D4D040.s new file mode 100644 index 0000000000..8f3047be97 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240870_D4D040.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D4D8B0 +/* D4D8B0 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D4D8B4 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D4D8B8 80240878 4480B000 */ mtc1 $zero, $f22 +/* D4D8BC 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D4D8C0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D4D8C4 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D4D8C8 80240888 0000982D */ daddu $s3, $zero, $zero +/* D4D8CC 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D4D8D0 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D4D8D4 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D4D8D8 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D4D8DC 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D4D8E0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D4D8E4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D4D8E8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D4D8EC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D4D8F0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D4D8F4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D4D8F8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D4D8FC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D4D900 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D4D904 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D4D908 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D4D90C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D4D910 802408D0 3C03800A */ lui $v1, 0x800a +/* D4D914 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D4D918 802408D8 00031080 */ sll $v0, $v1, 2 +/* D4D91C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D4D920 802408E0 00021080 */ sll $v0, $v0, 2 +/* D4D924 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D4D928 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D4D92C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D4D930 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D4D934 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D4D938 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D4D93C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D4D940 80240900 46000507 */ neg.s $f20, $f0 +/* D4D944 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D4D948 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D4D94C 8024090C 44810000 */ mtc1 $at, $f0 +/* D4D950 80240910 00000000 */ nop +/* D4D954 80240914 4602003C */ c.lt.s $f0, $f2 +/* D4D958 80240918 00000000 */ nop +/* D4D95C 8024091C 4500000A */ bc1f .L80240948 +/* D4D960 80240920 00000000 */ nop +/* D4D964 80240924 3C014334 */ lui $at, 0x4334 +/* D4D968 80240928 44812000 */ mtc1 $at, $f4 +/* D4D96C 8024092C 00000000 */ nop +/* D4D970 80240930 4604103E */ c.le.s $f2, $f4 +/* D4D974 80240934 00000000 */ nop +/* D4D978 80240938 45000003 */ bc1f .L80240948 +/* D4D97C 8024093C 00000000 */ nop +/* D4D980 80240940 08090276 */ j .L802409D8 +/* D4D984 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D4D988 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D4D98C 8024094C 3C014334 */ lui $at, 0x4334 +/* D4D990 80240950 44812000 */ mtc1 $at, $f4 +/* D4D994 80240954 00000000 */ nop +/* D4D998 80240958 4600203C */ c.lt.s $f4, $f0 +/* D4D99C 8024095C 00000000 */ nop +/* D4D9A0 80240960 4500000C */ bc1f .L80240994 +/* D4D9A4 80240964 00000000 */ nop +/* D4D9A8 80240968 3C014387 */ lui $at, 0x4387 +/* D4D9AC 8024096C 44812000 */ mtc1 $at, $f4 +/* D4D9B0 80240970 00000000 */ nop +/* D4D9B4 80240974 4604003E */ c.le.s $f0, $f4 +/* D4D9B8 80240978 00000000 */ nop +/* D4D9BC 8024097C 45000008 */ bc1f .L802409A0 +/* D4D9C0 80240980 00000000 */ nop +/* D4D9C4 80240984 3C014334 */ lui $at, 0x4334 +/* D4D9C8 80240988 44812000 */ mtc1 $at, $f4 +/* D4D9CC 8024098C 08090276 */ j .L802409D8 +/* D4D9D0 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D4D9D4 80240994 3C014387 */ lui $at, 0x4387 +/* D4D9D8 80240998 44812000 */ mtc1 $at, $f4 +/* D4D9DC 8024099C 00000000 */ nop +.L802409A0: +/* D4D9E0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D4D9E4 802409A4 00000000 */ nop +/* D4D9E8 802409A8 4500000A */ bc1f .L802409D4 +/* D4D9EC 802409AC 00000000 */ nop +/* D4D9F0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D4D9F4 802409B4 44811000 */ mtc1 $at, $f2 +/* D4D9F8 802409B8 00000000 */ nop +/* D4D9FC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D4DA00 802409C0 00000000 */ nop +/* D4DA04 802409C4 45000003 */ bc1f .L802409D4 +/* D4DA08 802409C8 00000000 */ nop +/* D4DA0C 802409CC 08090276 */ j .L802409D8 +/* D4DA10 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D4DA14 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D4DA18 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D4DA1C 802409DC 44810000 */ mtc1 $at, $f0 +/* D4DA20 802409E0 00000000 */ nop +/* D4DA24 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D4DA28 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D4DA2C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D4DA30 802409F0 00000000 */ nop +/* D4DA34 802409F4 00071100 */ sll $v0, $a3, 4 +/* D4DA38 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D4DA3C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D4DA40 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D4DA44 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D4DA48 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D4DA4C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D4DA50 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D4DA54 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D4DA58 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D4DA5C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D4DA60 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D4DA64 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D4DA68 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D4DA6C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D4DA70 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D4DA74 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D4DA78 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D4DA7C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D4DA80 80240A40 0C019EC8 */ jal guRotateF +/* D4DA84 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DA88 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D4DA8C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D4DA90 80240A50 00000000 */ nop +/* D4DA94 80240A54 44050000 */ mfc1 $a1, $f0 +/* D4DA98 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D4DA9C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D4DAA0 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D4DAA4 80240A64 44812000 */ mtc1 $at, $f4 +/* D4DAA8 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DAAC 80240A6C 0C019EC8 */ jal guRotateF +/* D4DAB0 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D4DAB4 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D4DAB8 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D4DABC 80240A7C 0C019D80 */ jal guMtxCatF +/* D4DAC0 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D4DAC4 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D4DAC8 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D4DACC 80240A8C 080902D6 */ j .L80240B58 +/* D4DAD0 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D4DAD4 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D4DAD8 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D4DADC 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D4DAE0 80240AA0 0C03964E */ jal func_800E5938 +/* D4DAE4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D4DAE8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D4DAEC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D4DAF0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D4DAF4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D4DAF8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D4DAFC 80240ABC 080902B5 */ j .L80240AD4 +/* D4DB00 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D4DB04 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D4DB08 80240AC8 00000000 */ nop +/* D4DB0C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D4DB10 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D4DB14 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D4DB18 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D4DB1C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D4DB20 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D4DB24 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D4DB28 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D4DB2C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D4DB30 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D4DB34 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D4DB38 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D4DB3C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D4DB40 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D4DB44 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D4DB48 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D4DB4C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DB50 80240B10 0C019EC8 */ jal guRotateF +/* D4DB54 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DB58 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D4DB5C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D4DB60 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D4DB64 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D4DB68 80240B28 0C019EC8 */ jal guRotateF +/* D4DB6C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DB70 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D4DB74 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D4DB78 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D4DB7C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DB80 80240B40 0C019EC8 */ jal guRotateF +/* D4DB84 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DB88 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D4DB8C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D4DB90 80240B50 0C019D80 */ jal guMtxCatF +/* D4DB94 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D4DB98 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D4DB9C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D4DBA0 80240B60 44812000 */ mtc1 $at, $f4 +/* D4DBA4 80240B64 00021023 */ negu $v0, $v0 +/* D4DBA8 80240B68 44820000 */ mtc1 $v0, $f0 +/* D4DBAC 80240B6C 00000000 */ nop +/* D4DBB0 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D4DBB4 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D4DBB8 80240B78 00000000 */ nop +/* D4DBBC 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D4DBC0 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D4DBC4 80240B84 44062000 */ mfc1 $a2, $f4 +/* D4DBC8 80240B88 0C019E40 */ jal guTranslateF +/* D4DBCC 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D4DBD0 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D4DBD4 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D4DBD8 80240B98 0C019D80 */ jal guMtxCatF +/* D4DBDC 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D4DBE0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D4DBE4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D4DBE8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D4DBEC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D4DBF0 80240BB0 0C019EC8 */ jal guRotateF +/* D4DBF4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DBF8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DBFC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D4DC00 80240BC0 0C019D80 */ jal guMtxCatF +/* D4DC04 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D4DC08 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D4DC0C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D4DC10 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D4DC14 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D4DC18 80240BD8 0C019EC8 */ jal guRotateF +/* D4DC1C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D4DC20 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DC24 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D4DC28 80240BE8 0C019D80 */ jal guMtxCatF +/* D4DC2C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D4DC30 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D4DC34 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D4DC38 80240BF8 44812000 */ mtc1 $at, $f4 +/* D4DC3C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D4DC40 80240C00 00000000 */ nop +/* D4DC44 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D4DC48 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D4DC4C 80240C0C 00000000 */ nop +/* D4DC50 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D4DC54 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D4DC58 80240C18 44062000 */ mfc1 $a2, $f4 +/* D4DC5C 80240C1C 0C019E40 */ jal guTranslateF +/* D4DC60 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D4DC64 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DC68 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D4DC6C 80240C2C 0C019D80 */ jal guMtxCatF +/* D4DC70 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D4DC74 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D4DC78 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D4DC7C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D4DC80 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D4DC84 80240C44 44050000 */ mfc1 $a1, $f0 +/* D4DC88 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D4DC8C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D4DC90 80240C50 0C019DF0 */ jal guScaleF +/* D4DC94 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D4DC98 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DC9C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D4DCA0 80240C60 0C019D80 */ jal guMtxCatF +/* D4DCA4 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D4DCA8 80240C68 4600D687 */ neg.s $f26, $f26 +/* D4DCAC 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D4DCB0 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D4DCB4 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D4DCB8 80240C78 0C019E40 */ jal guTranslateF +/* D4DCBC 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D4DCC0 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D4DCC4 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D4DCC8 80240C88 0C019D80 */ jal guMtxCatF +/* D4DCCC 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D4DCD0 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D4DCD4 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D4DCD8 80240C98 44810000 */ mtc1 $at, $f0 +/* D4DCDC 80240C9C 00000000 */ nop +/* D4DCE0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D4DCE4 80240CA4 00000000 */ nop +/* D4DCE8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D4DCEC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D4DCF0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D4DCF4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D4DCF8 80240CB8 00000000 */ nop +/* D4DCFC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D4DD00 80240CC0 00000000 */ nop +/* D4DD04 80240CC4 45000004 */ bc1f .L80240CD8 +/* D4DD08 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D4DD0C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D4DD10 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D4DD14 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D4DD18 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D4DD1C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D4DD20 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D4DD24 80240CE4 0C0B7710 */ jal render_sprite +/* D4DD28 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D4DD2C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D4DD30 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D4DD34 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D4DD38 80240CF8 00000000 */ nop +/* D4DD3C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D4DD40 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D4DD44 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D4DD48 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D4DD4C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D4DD50 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D4DD54 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D4DD58 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D4DD5C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D4DD60 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D4DD64 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D4DD68 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D4DD6C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D4DD70 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D4DD74 80240D34 03E00008 */ jr $ra +/* D4DD78 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240D3C_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240D3C_D4D040.s new file mode 100644 index 0000000000..97e521b0bd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240D3C_D4D040.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D4DD7C +/* D4DD7C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4DD80 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D4DD84 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D4DD88 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D4DD8C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D4DD90 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D4DD94 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D4DD98 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D4DD9C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D4DDA0 80240D60 00000000 */ nop +/* D4DDA4 80240D64 28620002 */ slti $v0, $v1, 2 +/* D4DDA8 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D4DDAC 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D4DDB0 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D4DDB4 80240D74 00000000 */ nop +/* D4DDB8 80240D78 08090378 */ j .L80240DE0 +/* D4DDBC 80240D7C 00000000 */ nop +.L80240D80: +/* D4DDC0 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D4DDC4 80240D84 00000000 */ nop +/* D4DDC8 80240D88 08090378 */ j .L80240DE0 +/* D4DDCC 80240D8C 00000000 */ nop +.L80240D90: +/* D4DDD0 80240D90 3C048024 */ lui $a0, 0x8024 +/* D4DDD4 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D4DDD8 80240D98 08090374 */ j .L80240DD0 +/* D4DDDC 80240D9C 00000000 */ nop +.L80240DA0: +/* D4DDE0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D4DDE4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D4DDE8 80240DA8 08090374 */ j .L80240DD0 +/* D4DDEC 80240DAC 00000000 */ nop +.L80240DB0: +/* D4DDF0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D4DDF4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D4DDF8 80240DB8 00000000 */ nop +/* D4DDFC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D4DE00 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D4DE04 80240DC4 00000000 */ nop +.L80240DC8: +/* D4DE08 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D4DE0C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D4DE10 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D4DE14 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D4DE18 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D4DE1C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D4DE20 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D4DE24 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D4DE28 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D4DE2C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D4DE30 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D4DE34 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D4DE38 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D4DE3C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D4DE40 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D4DE44 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D4DE48 80240E08 28820002 */ slti $v0, $a0, 2 +/* D4DE4C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D4DE50 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D4DE54 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D4DE58 80240E18 00000000 */ nop +/* D4DE5C 80240E1C 0809039D */ j .L80240E74 +/* D4DE60 80240E20 00000000 */ nop +.L80240E24: +/* D4DE64 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D4DE68 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D4DE6C 80240E2C 0809039D */ j .L80240E74 +/* D4DE70 80240E30 00000000 */ nop +.L80240E34: +/* D4DE74 80240E34 8CA20000 */ lw $v0, ($a1) +/* D4DE78 80240E38 0809039A */ j .L80240E68 +/* D4DE7C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D4DE80 80240E40 8CA20000 */ lw $v0, ($a1) +/* D4DE84 80240E44 0809039A */ j .L80240E68 +/* D4DE88 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D4DE8C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D4DE90 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D4DE94 80240E54 28420002 */ slti $v0, $v0, 2 +/* D4DE98 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D4DE9C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D4DEA0 80240E60 8CA20000 */ lw $v0, ($a1) +/* D4DEA4 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D4DEA8 80240E68 00431025 */ or $v0, $v0, $v1 +/* D4DEAC 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D4DEB0 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D4DEB4 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D4DEB8 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D4DEBC 80240E7C 03E00008 */ jr $ra +/* D4DEC0 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240E84_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240E84_D4D040.s new file mode 100644 index 0000000000..8dfb5b4304 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240E84_D4D040.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D4DEC4 +/* D4DEC4 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4DEC8 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D4DECC 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D4DED0 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D4DED4 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D4DED8 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D4DEDC 80240E9C 3C03000A */ lui $v1, 0xa +/* D4DEE0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D4DEE4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D4DEE8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D4DEEC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D4DEF0 80240EB0 03E00008 */ jr $ra +/* D4DEF4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240EB8_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240EB8_D4D040.s new file mode 100644 index 0000000000..d608d9f555 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240EB8_D4D040.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D4DEF8 +/* D4DEF8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4DEFC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D4DF00 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D4DF04 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D4DF08 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D4DF0C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D4DF10 80240ED0 3C030008 */ lui $v1, 8 +/* D4DF14 80240ED4 8C820000 */ lw $v0, ($a0) +/* D4DF18 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D4DF1C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D4DF20 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D4DF24 80240EE4 03E00008 */ jr $ra +/* D4DF28 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240EEC_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240EEC_D4D040.s new file mode 100644 index 0000000000..9f0b8b9186 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240EEC_D4D040.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D4DF2C +/* D4DF2C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4DF30 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D4DF34 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D4DF38 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D4DF3C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D4DF40 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D4DF44 80240F04 3C030002 */ lui $v1, 2 +/* D4DF48 80240F08 8C820000 */ lw $v0, ($a0) +/* D4DF4C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D4DF50 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D4DF54 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D4DF58 80240F18 03E00008 */ jr $ra +/* D4DF5C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240F20_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240F20_D4D040.s new file mode 100644 index 0000000000..4f001ffbba --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240F20_D4D040.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D4DF60 +/* D4DF60 80240F20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4DF64 80240F24 240403D4 */ addiu $a0, $zero, 0x3d4 +/* D4DF68 80240F28 AFBF0010 */ sw $ra, 0x10($sp) +/* D4DF6C 80240F2C 0C046EDD */ jal set_world_fog_dist +/* D4DF70 80240F30 240503E8 */ addiu $a1, $zero, 0x3e8 +/* D4DF74 80240F34 2404000F */ addiu $a0, $zero, 0xf +/* D4DF78 80240F38 24050005 */ addiu $a1, $zero, 5 +/* D4DF7C 80240F3C 24060037 */ addiu $a2, $zero, 0x37 +/* D4DF80 80240F40 0C046EE2 */ jal set_world_fog_color +/* D4DF84 80240F44 240700FF */ addiu $a3, $zero, 0xff +/* D4DF88 80240F48 0C046ED4 */ jal enable_world_fog +/* D4DF8C 80240F4C 00000000 */ nop +/* D4DF90 80240F50 8FBF0010 */ lw $ra, 0x10($sp) +/* D4DF94 80240F54 24020002 */ addiu $v0, $zero, 2 +/* D4DF98 80240F58 03E00008 */ jr $ra +/* D4DF9C 80240F5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240F60_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240F60_D4D040.s new file mode 100644 index 0000000000..5fed9861e1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240F60_D4D040.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F60_D4DFA0 +/* D4DFA0 80240F60 3C02800A */ lui $v0, %hi(D_8009A650) +/* D4DFA4 80240F64 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* D4DFA8 80240F68 8C430000 */ lw $v1, ($v0) +/* D4DFAC 80240F6C 2404FF7F */ addiu $a0, $zero, -0x81 +/* D4DFB0 80240F70 00641824 */ and $v1, $v1, $a0 +/* D4DFB4 80240F74 AC430000 */ sw $v1, ($v0) +/* D4DFB8 80240F78 03E00008 */ jr $ra +/* D4DFBC 80240F7C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240F80_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240F80_D4D040.s new file mode 100644 index 0000000000..752c034f9e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240F80_D4D040.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F80_D4DFC0 +/* D4DFC0 80240F80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D4DFC4 80240F84 AFB10014 */ sw $s1, 0x14($sp) +/* D4DFC8 80240F88 0080882D */ daddu $s1, $a0, $zero +/* D4DFCC 80240F8C AFBF0018 */ sw $ra, 0x18($sp) +/* D4DFD0 80240F90 AFB00010 */ sw $s0, 0x10($sp) +/* D4DFD4 80240F94 8E30000C */ lw $s0, 0xc($s1) +/* D4DFD8 80240F98 8E050000 */ lw $a1, ($s0) +/* D4DFDC 80240F9C 0C0B1EAF */ jal get_variable +/* D4DFE0 80240FA0 26100004 */ addiu $s0, $s0, 4 +/* D4DFE4 80240FA4 0C00EAD2 */ jal get_npc_safe +/* D4DFE8 80240FA8 0040202D */ daddu $a0, $v0, $zero +/* D4DFEC 80240FAC 10400005 */ beqz $v0, .L80240FC4 +/* D4DFF0 80240FB0 00000000 */ nop +/* D4DFF4 80240FB4 8E050000 */ lw $a1, ($s0) +/* D4DFF8 80240FB8 844600A8 */ lh $a2, 0xa8($v0) +/* D4DFFC 80240FBC 0C0B2026 */ jal set_variable +/* D4E000 80240FC0 0220202D */ daddu $a0, $s1, $zero +.L80240FC4: +/* D4E004 80240FC4 8FBF0018 */ lw $ra, 0x18($sp) +/* D4E008 80240FC8 8FB10014 */ lw $s1, 0x14($sp) +/* D4E00C 80240FCC 8FB00010 */ lw $s0, 0x10($sp) +/* D4E010 80240FD0 24020002 */ addiu $v0, $zero, 2 +/* D4E014 80240FD4 03E00008 */ jr $ra +/* D4E018 80240FD8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80240FDC_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80240FDC_D4D040.s new file mode 100644 index 0000000000..f753860e65 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80240FDC_D4D040.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FDC_D4E01C +/* D4E01C 80240FDC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D4E020 80240FE0 AFB10014 */ sw $s1, 0x14($sp) +/* D4E024 80240FE4 0080882D */ daddu $s1, $a0, $zero +/* D4E028 80240FE8 AFBF0024 */ sw $ra, 0x24($sp) +/* D4E02C 80240FEC AFB40020 */ sw $s4, 0x20($sp) +/* D4E030 80240FF0 AFB3001C */ sw $s3, 0x1c($sp) +/* D4E034 80240FF4 AFB20018 */ sw $s2, 0x18($sp) +/* D4E038 80240FF8 AFB00010 */ sw $s0, 0x10($sp) +/* D4E03C 80240FFC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D4E040 80241000 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D4E044 80241004 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D4E048 80241008 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D4E04C 8024100C F7B40028 */ sdc1 $f20, 0x28($sp) +/* D4E050 80241010 8E30000C */ lw $s0, 0xc($s1) +/* D4E054 80241014 8E130000 */ lw $s3, ($s0) +/* D4E058 80241018 26100004 */ addiu $s0, $s0, 4 +/* D4E05C 8024101C 0C0B1EAF */ jal get_variable +/* D4E060 80241020 0260282D */ daddu $a1, $s3, $zero +/* D4E064 80241024 4482E000 */ mtc1 $v0, $f28 +/* D4E068 80241028 00000000 */ nop +/* D4E06C 8024102C 4680E720 */ cvt.s.w $f28, $f28 +/* D4E070 80241030 8E140000 */ lw $s4, ($s0) +/* D4E074 80241034 26100004 */ addiu $s0, $s0, 4 +/* D4E078 80241038 0220202D */ daddu $a0, $s1, $zero +/* D4E07C 8024103C 0C0B1EAF */ jal get_variable +/* D4E080 80241040 0280282D */ daddu $a1, $s4, $zero +/* D4E084 80241044 4482D000 */ mtc1 $v0, $f26 +/* D4E088 80241048 00000000 */ nop +/* D4E08C 8024104C 4680D6A0 */ cvt.s.w $f26, $f26 +/* D4E090 80241050 8E100000 */ lw $s0, ($s0) +/* D4E094 80241054 0220202D */ daddu $a0, $s1, $zero +/* D4E098 80241058 0C0B1EAF */ jal get_variable +/* D4E09C 8024105C 0200282D */ daddu $a1, $s0, $zero +/* D4E0A0 80241060 4482C000 */ mtc1 $v0, $f24 +/* D4E0A4 80241064 00000000 */ nop +/* D4E0A8 80241068 4680C620 */ cvt.s.w $f24, $f24 +/* D4E0AC 8024106C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D4E0B0 80241070 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D4E0B4 80241074 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D4E0B8 80241078 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D4E0BC 8024107C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D4E0C0 80241080 44800000 */ mtc1 $zero, $f0 +/* D4E0C4 80241084 00031080 */ sll $v0, $v1, 2 +/* D4E0C8 80241088 00431021 */ addu $v0, $v0, $v1 +/* D4E0CC 8024108C 00021080 */ sll $v0, $v0, 2 +/* D4E0D0 80241090 00431023 */ subu $v0, $v0, $v1 +/* D4E0D4 80241094 000218C0 */ sll $v1, $v0, 3 +/* D4E0D8 80241098 00431021 */ addu $v0, $v0, $v1 +/* D4E0DC 8024109C 000210C0 */ sll $v0, $v0, 3 +/* D4E0E0 802410A0 46001032 */ c.eq.s $f2, $f0 +/* D4E0E4 802410A4 3C01800B */ lui $at, 0x800b +/* D4E0E8 802410A8 00220821 */ addu $at, $at, $v0 +/* D4E0EC 802410AC C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D4E0F0 802410B0 45000005 */ bc1f .L802410C8 +/* D4E0F4 802410B4 00000000 */ nop +/* D4E0F8 802410B8 3C0142C8 */ lui $at, 0x42c8 +/* D4E0FC 802410BC 44810000 */ mtc1 $at, $f0 +/* D4E100 802410C0 08090436 */ j .L802410D8 +/* D4E104 802410C4 4600B581 */ sub.s $f22, $f22, $f0 +.L802410C8: +/* D4E108 802410C8 3C0142C8 */ lui $at, 0x42c8 +/* D4E10C 802410CC 44810000 */ mtc1 $at, $f0 +/* D4E110 802410D0 00000000 */ nop +/* D4E114 802410D4 4600B580 */ add.s $f22, $f22, $f0 +.L802410D8: +/* D4E118 802410D8 0C00A6C9 */ jal clamp_angle +/* D4E11C 802410DC 4600B306 */ mov.s $f12, $f22 +/* D4E120 802410E0 46000586 */ mov.s $f22, $f0 +/* D4E124 802410E4 3C014170 */ lui $at, 0x4170 +/* D4E128 802410E8 4481A000 */ mtc1 $at, $f20 +/* D4E12C 802410EC 0C00A8BB */ jal sin_deg +/* D4E130 802410F0 4600B306 */ mov.s $f12, $f22 +/* D4E134 802410F4 46140002 */ mul.s $f0, $f0, $f20 +/* D4E138 802410F8 00000000 */ nop +/* D4E13C 802410FC 864200B0 */ lh $v0, 0xb0($s2) +/* D4E140 80241100 3C013F00 */ lui $at, 0x3f00 +/* D4E144 80241104 44812000 */ mtc1 $at, $f4 +/* D4E148 80241108 44821000 */ mtc1 $v0, $f2 +/* D4E14C 8024110C 00000000 */ nop +/* D4E150 80241110 468010A0 */ cvt.s.w $f2, $f2 +/* D4E154 80241114 46041082 */ mul.s $f2, $f2, $f4 +/* D4E158 80241118 00000000 */ nop +/* D4E15C 8024111C 4600E700 */ add.s $f28, $f28, $f0 +/* D4E160 80241120 4602D680 */ add.s $f26, $f26, $f2 +/* D4E164 80241124 0C00A8D4 */ jal cos_deg +/* D4E168 80241128 4600B306 */ mov.s $f12, $f22 +/* D4E16C 8024112C 46140002 */ mul.s $f0, $f0, $f20 +/* D4E170 80241130 00000000 */ nop +/* D4E174 80241134 0220202D */ daddu $a0, $s1, $zero +/* D4E178 80241138 0260282D */ daddu $a1, $s3, $zero +/* D4E17C 8024113C 4600E18D */ trunc.w.s $f6, $f28 +/* D4E180 80241140 44063000 */ mfc1 $a2, $f6 +/* D4E184 80241144 0C0B2026 */ jal set_variable +/* D4E188 80241148 4600C601 */ sub.s $f24, $f24, $f0 +/* D4E18C 8024114C 0220202D */ daddu $a0, $s1, $zero +/* D4E190 80241150 4600D18D */ trunc.w.s $f6, $f26 +/* D4E194 80241154 44063000 */ mfc1 $a2, $f6 +/* D4E198 80241158 0C0B2026 */ jal set_variable +/* D4E19C 8024115C 0280282D */ daddu $a1, $s4, $zero +/* D4E1A0 80241160 0220202D */ daddu $a0, $s1, $zero +/* D4E1A4 80241164 4600C18D */ trunc.w.s $f6, $f24 +/* D4E1A8 80241168 44063000 */ mfc1 $a2, $f6 +/* D4E1AC 8024116C 0C0B2026 */ jal set_variable +/* D4E1B0 80241170 0200282D */ daddu $a1, $s0, $zero +/* D4E1B4 80241174 8FBF0024 */ lw $ra, 0x24($sp) +/* D4E1B8 80241178 8FB40020 */ lw $s4, 0x20($sp) +/* D4E1BC 8024117C 8FB3001C */ lw $s3, 0x1c($sp) +/* D4E1C0 80241180 8FB20018 */ lw $s2, 0x18($sp) +/* D4E1C4 80241184 8FB10014 */ lw $s1, 0x14($sp) +/* D4E1C8 80241188 8FB00010 */ lw $s0, 0x10($sp) +/* D4E1CC 8024118C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D4E1D0 80241190 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D4E1D4 80241194 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D4E1D8 80241198 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D4E1DC 8024119C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D4E1E0 802411A0 24020002 */ addiu $v0, $zero, 2 +/* D4E1E4 802411A4 03E00008 */ jr $ra +/* D4E1E8 802411A8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_802411AC_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_802411AC_D4D040.s new file mode 100644 index 0000000000..23ce0179e8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_802411AC_D4D040.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411AC_D4E1EC +/* D4E1EC 802411AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4E1F0 802411B0 AFBF0010 */ sw $ra, 0x10($sp) +/* D4E1F4 802411B4 10A00003 */ beqz $a1, .L802411C4 +/* D4E1F8 802411B8 8C86000C */ lw $a2, 0xc($a0) +/* D4E1FC 802411BC 3C018024 */ lui $at, 0x8024 +/* D4E200 802411C0 AC201F94 */ sw $zero, 0x1f94($at) +.L802411C4: +/* D4E204 802411C4 3C038024 */ lui $v1, 0x8024 +/* D4E208 802411C8 24631F94 */ addiu $v1, $v1, 0x1f94 +/* D4E20C 802411CC 8C620000 */ lw $v0, ($v1) +/* D4E210 802411D0 54400003 */ bnel $v0, $zero, .L802411E0 +/* D4E214 802411D4 AC600000 */ sw $zero, ($v1) +/* D4E218 802411D8 0809047D */ j .L802411F4 +/* D4E21C 802411DC 0000102D */ daddu $v0, $zero, $zero +.L802411E0: +/* D4E220 802411E0 8CC50000 */ lw $a1, ($a2) +/* D4E224 802411E4 3C068024 */ lui $a2, 0x8024 +/* D4E228 802411E8 0C0B2026 */ jal set_variable +/* D4E22C 802411EC 8CC61F98 */ lw $a2, 0x1f98($a2) +/* D4E230 802411F0 24020002 */ addiu $v0, $zero, 2 +.L802411F4: +/* D4E234 802411F4 8FBF0010 */ lw $ra, 0x10($sp) +/* D4E238 802411F8 03E00008 */ jr $ra +/* D4E23C 802411FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80241200_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80241200_D4D040.s new file mode 100644 index 0000000000..75f0a5335e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80241200_D4D040.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241200_D4E240 +/* D4E240 80241200 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4E244 80241204 AFBF0010 */ sw $ra, 0x10($sp) +/* D4E248 80241208 8C82000C */ lw $v0, 0xc($a0) +/* D4E24C 8024120C 0C0B1EAF */ jal get_variable +/* D4E250 80241210 8C450000 */ lw $a1, ($v0) +/* D4E254 80241214 3C018024 */ lui $at, 0x8024 +/* D4E258 80241218 AC221F98 */ sw $v0, 0x1f98($at) +/* D4E25C 8024121C 24020002 */ addiu $v0, $zero, 2 +/* D4E260 80241220 8FBF0010 */ lw $ra, 0x10($sp) +/* D4E264 80241224 24030001 */ addiu $v1, $zero, 1 +/* D4E268 80241228 3C018024 */ lui $at, 0x8024 +/* D4E26C 8024122C AC231F94 */ sw $v1, 0x1f94($at) +/* D4E270 80241230 03E00008 */ jr $ra +/* D4E274 80241234 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80241238.s b/asm/nonmatchings/world/area_pra/pra_01/func_80241238.s new file mode 100644 index 0000000000..d311e11944 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80241238.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241238 +/* D4E278 80241238 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4E27C 8024123C AFBF0010 */ sw $ra, 0x10($sp) +/* D4E280 80241240 8C82000C */ lw $v0, 0xc($a0) +/* D4E284 80241244 0C0B1EAF */ jal get_variable +/* D4E288 80241248 8C450000 */ lw $a1, ($v0) +/* D4E28C 8024124C 0040182D */ daddu $v1, $v0, $zero +/* D4E290 80241250 10600012 */ beqz $v1, .L8024129C +/* D4E294 80241254 0000202D */ daddu $a0, $zero, $zero +/* D4E298 80241258 8C620000 */ lw $v0, ($v1) +/* D4E29C 8024125C 5040000A */ beql $v0, $zero, .L80241288 +/* D4E2A0 80241260 00041080 */ sll $v0, $a0, 2 +/* D4E2A4 80241264 3C058024 */ lui $a1, 0x8024 +/* D4E2A8 80241268 24A52FB0 */ addiu $a1, $a1, 0x2fb0 +.L8024126C: +/* D4E2AC 8024126C 24630004 */ addiu $v1, $v1, 4 +/* D4E2B0 80241270 24840001 */ addiu $a0, $a0, 1 +/* D4E2B4 80241274 ACA20000 */ sw $v0, ($a1) +/* D4E2B8 80241278 8C620000 */ lw $v0, ($v1) +/* D4E2BC 8024127C 1440FFFB */ bnez $v0, .L8024126C +/* D4E2C0 80241280 24A50004 */ addiu $a1, $a1, 4 +/* D4E2C4 80241284 00041080 */ sll $v0, $a0, 2 +.L80241288: +/* D4E2C8 80241288 3C018024 */ lui $at, 0x8024 +/* D4E2CC 8024128C 00220821 */ addu $at, $at, $v0 +/* D4E2D0 80241290 AC202FB0 */ sw $zero, 0x2fb0($at) +/* D4E2D4 80241294 080904B1 */ j .L802412C4 +/* D4E2D8 80241298 00000000 */ nop +.L8024129C: +/* D4E2DC 8024129C 3C038024 */ lui $v1, 0x8024 +/* D4E2E0 802412A0 24632FB0 */ addiu $v1, $v1, 0x2fb0 +/* D4E2E4 802412A4 0060282D */ daddu $a1, $v1, $zero +.L802412A8: +/* D4E2E8 802412A8 24820010 */ addiu $v0, $a0, 0x10 +/* D4E2EC 802412AC AC620000 */ sw $v0, ($v1) +/* D4E2F0 802412B0 24630004 */ addiu $v1, $v1, 4 +/* D4E2F4 802412B4 24840001 */ addiu $a0, $a0, 1 +/* D4E2F8 802412B8 28820070 */ slti $v0, $a0, 0x70 +/* D4E2FC 802412BC 1440FFFA */ bnez $v0, .L802412A8 +/* D4E300 802412C0 ACA001C0 */ sw $zero, 0x1c0($a1) +.L802412C4: +/* D4E304 802412C4 8FBF0010 */ lw $ra, 0x10($sp) +/* D4E308 802412C8 24020002 */ addiu $v0, $zero, 2 +/* D4E30C 802412CC 03E00008 */ jr $ra +/* D4E310 802412D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_802412D4_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_802412D4_D4D040.s new file mode 100644 index 0000000000..37f33b126f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_802412D4_D4D040.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412D4_D4E314 +/* D4E314 802412D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4E318 802412D8 AFBF0010 */ sw $ra, 0x10($sp) +/* D4E31C 802412DC 8C82000C */ lw $v0, 0xc($a0) +/* D4E320 802412E0 0C0B1EAF */ jal get_variable +/* D4E324 802412E4 8C450000 */ lw $a1, ($v0) +/* D4E328 802412E8 0040182D */ daddu $v1, $v0, $zero +/* D4E32C 802412EC 10600012 */ beqz $v1, .L80241338 +/* D4E330 802412F0 0000202D */ daddu $a0, $zero, $zero +/* D4E334 802412F4 8C620000 */ lw $v0, ($v1) +/* D4E338 802412F8 5040000A */ beql $v0, $zero, .L80241324 +/* D4E33C 802412FC 00041080 */ sll $v0, $a0, 2 +/* D4E340 80241300 3C058024 */ lui $a1, 0x8024 +/* D4E344 80241304 24A53178 */ addiu $a1, $a1, 0x3178 +.L80241308: +/* D4E348 80241308 24630004 */ addiu $v1, $v1, 4 +/* D4E34C 8024130C 24840001 */ addiu $a0, $a0, 1 +/* D4E350 80241310 ACA20000 */ sw $v0, ($a1) +/* D4E354 80241314 8C620000 */ lw $v0, ($v1) +/* D4E358 80241318 1440FFFB */ bnez $v0, .L80241308 +/* D4E35C 8024131C 24A50004 */ addiu $a1, $a1, 4 +/* D4E360 80241320 00041080 */ sll $v0, $a0, 2 +.L80241324: +/* D4E364 80241324 3C018024 */ lui $at, 0x8024 +/* D4E368 80241328 00220821 */ addu $at, $at, $v0 +/* D4E36C 8024132C AC203178 */ sw $zero, 0x3178($at) +/* D4E370 80241330 080904D8 */ j .L80241360 +/* D4E374 80241334 00000000 */ nop +.L80241338: +/* D4E378 80241338 3C038024 */ lui $v1, 0x8024 +/* D4E37C 8024133C 24633178 */ addiu $v1, $v1, 0x3178 +/* D4E380 80241340 0060282D */ daddu $a1, $v1, $zero +.L80241344: +/* D4E384 80241344 24820080 */ addiu $v0, $a0, 0x80 +/* D4E388 80241348 AC620000 */ sw $v0, ($v1) +/* D4E38C 8024134C 24630004 */ addiu $v1, $v1, 4 +/* D4E390 80241350 24840001 */ addiu $a0, $a0, 1 +/* D4E394 80241354 2882005B */ slti $v0, $a0, 0x5b +/* D4E398 80241358 1440FFFA */ bnez $v0, .L80241344 +/* D4E39C 8024135C ACA0016C */ sw $zero, 0x16c($a1) +.L80241360: +/* D4E3A0 80241360 8FBF0010 */ lw $ra, 0x10($sp) +/* D4E3A4 80241364 24020002 */ addiu $v0, $zero, 2 +/* D4E3A8 80241368 03E00008 */ jr $ra +/* D4E3AC 8024136C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_01/func_80241370_D4D040.s b/asm/nonmatchings/world/area_pra/pra_01/func_80241370_D4D040.s new file mode 100644 index 0000000000..34664a18e4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_01/func_80241370_D4D040.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241370_D4E3B0 +/* D4E3B0 80241370 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4E3B4 80241374 AFBF0010 */ sw $ra, 0x10($sp) +/* D4E3B8 80241378 0C03A876 */ jal set_max_SP +/* D4E3BC 8024137C 24040007 */ addiu $a0, $zero, 7 +/* D4E3C0 80241380 3C028011 */ lui $v0, %hi(gPlayerData) +/* D4E3C4 80241384 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* D4E3C8 80241388 90430003 */ lbu $v1, 3($v0) +/* D4E3CC 8024138C 90440006 */ lbu $a0, 6($v0) +/* D4E3D0 80241390 A0430002 */ sb $v1, 2($v0) +/* D4E3D4 80241394 0C03A6DB */ jal sync_status_menu +/* D4E3D8 80241398 A0440005 */ sb $a0, 5($v0) +/* D4E3DC 8024139C 8FBF0010 */ lw $ra, 0x10($sp) +/* D4E3E0 802413A0 24020002 */ addiu $v0, $zero, 2 +/* D4E3E4 802413A4 03E00008 */ jr $ra +/* D4E3E8 802413A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* D4E3EC 802413AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240000_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240000_D4FFF0.s new file mode 100644 index 0000000000..548ab69167 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240000_D4FFF0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D4FFF0 +/* D4FFF0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D4FFF4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D4FFF8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D4FFFC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D50000 80240010 03E00008 */ jr $ra +/* D50004 80240014 0000102D */ daddu $v0, $zero, $zero +/* D50008 80240018 00000000 */ nop +/* D5000C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240020_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240020_D4FFF0.s new file mode 100644 index 0000000000..ac9a1f7dfa --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240020_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D50010 +/* D50010 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D50014 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D50018 80240028 00822024 */ and $a0, $a0, $v0 +/* D5001C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D50020 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D50024 80240034 00821821 */ addu $v1, $a0, $v0 +/* D50028 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D5002C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D50030 80240040 30620001 */ andi $v0, $v1, 1 +/* D50034 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D50038 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D5003C 8024004C 03E00008 */ jr $ra +/* D50040 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240054_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240054_D4FFF0.s new file mode 100644 index 0000000000..de3a5b073d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240054_D4FFF0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D50044 +/* D50044 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D50048 80240058 304300FF */ andi $v1, $v0, 0xff +/* D5004C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D50050 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D50054 80240064 28620007 */ slti $v0, $v1, 7 +/* D50058 80240068 10400005 */ beqz $v0, .L80240080 +/* D5005C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D50060 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D50064 80240074 3C020100 */ lui $v0, 0x100 +/* D50068 80240078 03E00008 */ jr $ra +/* D5006C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D50070 80240080 2862000A */ slti $v0, $v1, 0xa +/* D50074 80240084 10400016 */ beqz $v0, .L802400E0 +/* D50078 80240088 28620008 */ slti $v0, $v1, 8 +/* D5007C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D50080 80240090 3C020100 */ lui $v0, 0x100 +/* D50084 80240094 03E00008 */ jr $ra +/* D50088 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D5008C 8024009C 3C020001 */ lui $v0, 1 +/* D50090 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D50094 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D50098 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D5009C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D500A0 802400B0 03E00008 */ jr $ra +/* D500A4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D500A8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D500AC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D500B0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D500B4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D500B8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D500BC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D500C0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D500C4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D500C8 802400D8 03E00008 */ jr $ra +/* D500CC 802400DC 00000000 */ nop +.L802400E0: +/* D500D0 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D500D4 802400E4 03E00008 */ jr $ra +/* D500D8 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802400EC_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_802400EC_D4FFF0.s new file mode 100644 index 0000000000..438f8ca4a4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802400EC_D4FFF0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D500DC +/* D500DC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D500E0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D500E4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D500E8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D500EC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D500F0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D500F4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D500F8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D500FC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D50100 80240110 AC620000 */ sw $v0, ($v1) +/* D50104 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D50108 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D5010C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D50110 80240120 03E00008 */ jr $ra +/* D50114 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240128_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240128_D4FFF0.s new file mode 100644 index 0000000000..c0f934b1ac --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240128_D4FFF0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D50118 +/* D50118 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D5011C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D50120 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D50124 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D50128 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D5012C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D50130 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D50134 80240144 8E020000 */ lw $v0, ($s0) +/* D50138 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D5013C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D50140 80240150 10400061 */ beqz $v0, .L802402D8 +/* D50144 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D50148 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D5014C 8024015C 0C044181 */ jal get_shadow_by_index +/* D50150 80240160 00000000 */ nop +/* D50154 80240164 0C048B77 */ jal func_80122DDC +/* D50158 80240168 84440008 */ lh $a0, 8($v0) +/* D5015C 8024016C 8C430000 */ lw $v1, ($v0) +/* D50160 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D50164 80240174 AC430000 */ sw $v1, ($v0) +/* D50168 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D5016C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D50170 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D50174 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D50178 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D5017C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D50180 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D50184 80240194 3C04800A */ lui $a0, 0x800a +/* D50188 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D5018C 8024019C 46000007 */ neg.s $f0, $f0 +/* D50190 802401A0 44070000 */ mfc1 $a3, $f0 +/* D50194 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D50198 802401A8 0C00B94E */ jal get_screen_coords +/* D5019C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D501A0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D501A4 802401B4 0C090008 */ jal func_80240020 +/* D501A8 802401B8 00000000 */ nop +/* D501AC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D501B0 802401C0 3C014307 */ lui $at, 0x4307 +/* D501B4 802401C4 44810000 */ mtc1 $at, $f0 +/* D501B8 802401C8 00000000 */ nop +/* D501BC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D501C0 802401D0 00000000 */ nop +/* D501C4 802401D4 4500000B */ bc1f .L80240204 +/* D501C8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D501CC 802401DC 3C014361 */ lui $at, 0x4361 +/* D501D0 802401E0 44810000 */ mtc1 $at, $f0 +/* D501D4 802401E4 00000000 */ nop +/* D501D8 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D501DC 802401EC 00000000 */ nop +/* D501E0 802401F0 45000004 */ bc1f .L80240204 +/* D501E4 802401F4 00000000 */ nop +/* D501E8 802401F8 0C090015 */ jal func_80240054 +/* D501EC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D501F0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D501F4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D501F8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D501FC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D50200 80240210 8E020000 */ lw $v0, ($s0) +/* D50204 80240214 3C030002 */ lui $v1, 2 +/* D50208 80240218 00431024 */ and $v0, $v0, $v1 +/* D5020C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D50210 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D50214 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D50218 80240228 3C02802E */ lui $v0, 0x802e +/* D5021C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D50220 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D50224 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D50228 80240238 1040000B */ beqz $v0, .L80240268 +/* D5022C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D50230 80240240 24040002 */ addiu $a0, $zero, 2 +/* D50234 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D50238 80240248 24060007 */ addiu $a2, $zero, 7 +/* D5023C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D50240 80240250 0000382D */ daddu $a3, $zero, $zero +/* D50244 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D50248 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D5024C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D50250 80240260 080900A3 */ j .L8024028C +/* D50254 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D50258 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D5025C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D50260 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D50264 80240274 0000302D */ daddu $a2, $zero, $zero +/* D50268 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D5026C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D50270 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D50274 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D50278 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D5027C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D50280 80240290 00000000 */ nop +.L80240294: +/* D50284 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D50288 80240298 3C01802E */ lui $at, 0x802e +/* D5028C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D50290 802402A0 080900AD */ j .L802402B4 +/* D50294 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D50298 802402A8 3C01802E */ lui $at, 0x802e +/* D5029C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D502A0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D502A4 802402B4 AC910000 */ sw $s1, ($a0) +/* D502A8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D502AC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D502B0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D502B4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D502B8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D502BC 802402CC 00021023 */ negu $v0, $v0 +/* D502C0 802402D0 0C047644 */ jal queue_render_task +/* D502C4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D502C8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D502CC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D502D0 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D502D4 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D502D8 802402E8 03E00008 */ jr $ra +/* D502DC 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802402F0_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_802402F0_D4FFF0.s new file mode 100644 index 0000000000..4c33402cb9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802402F0_D4FFF0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D502E0 +/* D502E0 802402F0 3C03800A */ lui $v1, 0x800a +/* D502E4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D502E8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D502EC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D502F0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D502F4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D502F8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D502FC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D50300 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D50304 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D50308 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D5030C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D50310 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D50314 80240324 00031080 */ sll $v0, $v1, 2 +/* D50318 80240328 00431021 */ addu $v0, $v0, $v1 +/* D5031C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D50320 80240330 00431023 */ subu $v0, $v0, $v1 +/* D50324 80240334 000218C0 */ sll $v1, $v0, 3 +/* D50328 80240338 00431021 */ addu $v0, $v0, $v1 +/* D5032C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D50330 80240340 3C01800B */ lui $at, 0x800b +/* D50334 80240344 00220821 */ addu $at, $at, $v0 +/* D50338 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D5033C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D50340 80240350 4600B587 */ neg.s $f22, $f22 +/* D50344 80240354 4405B000 */ mfc1 $a1, $f22 +/* D50348 80240358 0200202D */ daddu $a0, $s0, $zero +/* D5034C 8024035C 0C019EC8 */ jal guRotateF +/* D50350 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D50354 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D50358 80240368 0C00A6C9 */ jal clamp_angle +/* D5035C 8024036C 00000000 */ nop +/* D50360 80240370 44050000 */ mfc1 $a1, $f0 +/* D50364 80240374 4406A000 */ mfc1 $a2, $f20 +/* D50368 80240378 4407A000 */ mfc1 $a3, $f20 +/* D5036C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D50370 80240380 4481C000 */ mtc1 $at, $f24 +/* D50374 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D50378 80240388 0C019EC8 */ jal guRotateF +/* D5037C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D50380 80240390 0200202D */ daddu $a0, $s0, $zero +/* D50384 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D50388 80240398 0C019D80 */ jal guMtxCatF +/* D5038C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D50390 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D50394 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D50398 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D5039C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D503A0 802403B0 0C019EC8 */ jal guRotateF +/* D503A4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D503A8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D503AC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D503B0 802403C0 0C019D80 */ jal guMtxCatF +/* D503B4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D503B8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D503BC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D503C0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D503C4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D503C8 802403D8 0C019EC8 */ jal guRotateF +/* D503CC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D503D0 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D503D4 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D503D8 802403E8 0C019D80 */ jal guMtxCatF +/* D503DC 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D503E0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D503E4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D503E8 802403F8 44810000 */ mtc1 $at, $f0 +/* D503EC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D503F0 80240400 44050000 */ mfc1 $a1, $f0 +/* D503F4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D503F8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D503FC 8024040C 0C019DF0 */ jal guScaleF +/* D50400 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D50404 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D50408 80240418 0200282D */ daddu $a1, $s0, $zero +/* D5040C 8024041C 0C019D80 */ jal guMtxCatF +/* D50410 80240420 0080302D */ daddu $a2, $a0, $zero +/* D50414 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D50418 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D5041C 8024042C 3C014040 */ lui $at, 0x4040 +/* D50420 80240430 44811000 */ mtc1 $at, $f2 +/* D50424 80240434 46000007 */ neg.s $f0, $f0 +/* D50428 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D5042C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D50430 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D50434 80240444 44070000 */ mfc1 $a3, $f0 +/* D50438 80240448 0C019E40 */ jal guTranslateF +/* D5043C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D50440 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D50444 80240454 0200282D */ daddu $a1, $s0, $zero +/* D50448 80240458 0C019D80 */ jal guMtxCatF +/* D5044C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D50450 80240460 24040002 */ addiu $a0, $zero, 2 +/* D50454 80240464 0000282D */ daddu $a1, $zero, $zero +/* D50458 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D5045C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D50460 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D50464 80240474 0C0B7710 */ jal render_sprite +/* D50468 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D5046C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D50470 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D50474 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D50478 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D5047C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D50480 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D50484 80240494 03E00008 */ jr $ra +/* D50488 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_8024049C_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_8024049C_D4FFF0.s new file mode 100644 index 0000000000..fd7c9411a8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_8024049C_D4FFF0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D5048C +/* D5048C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D50490 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D50494 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D50498 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D5049C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D504A0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D504A4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D504A8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D504AC 802404BC 00000000 */ nop +/* D504B0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D504B4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D504B8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D504BC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D504C0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D504C4 802404D4 AC620000 */ sw $v0, ($v1) +/* D504C8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D504CC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D504D0 802404E0 8C620000 */ lw $v0, ($v1) +/* D504D4 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D504D8 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D504DC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D504E0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D504E4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D504E8 802404F8 03E00008 */ jr $ra +/* D504EC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240500_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240500_D4FFF0.s new file mode 100644 index 0000000000..67ee85999b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240500_D4FFF0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D504F0 +/* D504F0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D504F4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D504F8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D504FC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D50500 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D50504 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D50508 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D5050C 8024051C 8E020000 */ lw $v0, ($s0) +/* D50510 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D50514 80240524 30420001 */ andi $v0, $v0, 1 +/* D50518 80240528 10400052 */ beqz $v0, .L80240674 +/* D5051C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D50520 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D50524 80240534 0C044181 */ jal get_shadow_by_index +/* D50528 80240538 00000000 */ nop +/* D5052C 8024053C 0C048B77 */ jal func_80122DDC +/* D50530 80240540 84440008 */ lh $a0, 8($v0) +/* D50534 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D50538 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D5053C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D50540 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D50544 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D50548 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D5054C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D50550 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D50554 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D50558 80240568 3C04800A */ lui $a0, 0x800a +/* D5055C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D50560 80240570 46000007 */ neg.s $f0, $f0 +/* D50564 80240574 44060000 */ mfc1 $a2, $f0 +/* D50568 80240578 0C00B94E */ jal get_screen_coords +/* D5056C 8024057C 00000000 */ nop +/* D50570 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D50574 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D50578 80240588 0C0B76A3 */ jal func_802DDA8C +/* D5057C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D50580 80240590 8E020000 */ lw $v0, ($s0) +/* D50584 80240594 3C030002 */ lui $v1, 2 +/* D50588 80240598 00431024 */ and $v0, $v0, $v1 +/* D5058C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D50590 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D50594 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D50598 802405A8 3C02802E */ lui $v0, 0x802e +/* D5059C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D505A0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D505A4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D505A8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D505AC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D505B0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D505B4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D505B8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D505BC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D505C0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D505C4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D505C8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D505CC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D505D0 802405E0 08090183 */ j .L8024060C +/* D505D4 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D505D8 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D505DC 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D505E0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D505E4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D505E8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D505EC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D505F0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D505F4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D505F8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D505FC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D50600 80240610 00000000 */ nop +.L80240614: +/* D50604 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D50608 80240618 3C01802E */ lui $at, 0x802e +/* D5060C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D50610 80240620 0809018C */ j .L80240630 +/* D50614 80240624 00000000 */ nop +.L80240628: +/* D50618 80240628 3C01802E */ lui $at, 0x802e +/* D5061C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D50620 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D50624 80240634 3C048024 */ lui $a0, 0x8024 +/* D50628 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D5062C 8024063C AE320000 */ sw $s2, ($s1) +/* D50630 80240640 AE300008 */ sw $s0, 8($s1) +/* D50634 80240644 00021023 */ negu $v0, $v0 +/* D50638 80240648 AE220004 */ sw $v0, 4($s1) +/* D5063C 8024064C 8E020000 */ lw $v0, ($s0) +/* D50640 80240650 3C030002 */ lui $v1, 2 +/* D50644 80240654 00431024 */ and $v0, $v0, $v1 +/* D50648 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D5064C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D50650 80240660 3C048024 */ lui $a0, 0x8024 +/* D50654 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D50658 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D5065C 8024066C 0C047644 */ jal queue_render_task +/* D50660 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D50664 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D50668 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D5066C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D50670 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D50674 80240684 03E00008 */ jr $ra +/* D50678 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_8024068C_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_8024068C_D4FFF0.s new file mode 100644 index 0000000000..f9d5f1c2be --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_8024068C_D4FFF0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D5067C +/* D5067C 8024068C 3C03800A */ lui $v1, 0x800a +/* D50680 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D50684 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D50688 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D5068C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D50690 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D50694 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D50698 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D5069C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D506A0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D506A4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D506A8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D506AC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D506B0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D506B4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D506B8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D506BC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D506C0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D506C4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D506C8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D506CC 802406DC 3C01800B */ lui $at, 0x800b +/* D506D0 802406E0 00220821 */ addu $at, $at, $v0 +/* D506D4 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D506D8 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D506DC 802406EC 4600B587 */ neg.s $f22, $f22 +/* D506E0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D506E4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D506E8 802406F8 0C019EC8 */ jal guRotateF +/* D506EC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D506F0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D506F4 80240704 0C00A6C9 */ jal clamp_angle +/* D506F8 80240708 00000000 */ nop +/* D506FC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D50700 80240710 4406A000 */ mfc1 $a2, $f20 +/* D50704 80240714 4407A000 */ mfc1 $a3, $f20 +/* D50708 80240718 3C013F80 */ lui $at, 0x3f80 +/* D5070C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D50710 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D50714 80240724 0C019EC8 */ jal guRotateF +/* D50718 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D5071C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D50720 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D50724 80240734 0C019D80 */ jal guMtxCatF +/* D50728 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D5072C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D50730 80240740 4406A000 */ mfc1 $a2, $f20 +/* D50734 80240744 4407C000 */ mfc1 $a3, $f24 +/* D50738 80240748 0200202D */ daddu $a0, $s0, $zero +/* D5073C 8024074C 0C019EC8 */ jal guRotateF +/* D50740 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D50744 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D50748 80240758 0200282D */ daddu $a1, $s0, $zero +/* D5074C 8024075C 0C019D80 */ jal guMtxCatF +/* D50750 80240760 0080302D */ daddu $a2, $a0, $zero +/* D50754 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D50758 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D5075C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D50760 80240770 4407C000 */ mfc1 $a3, $f24 +/* D50764 80240774 0C019EC8 */ jal guRotateF +/* D50768 80240778 0200202D */ daddu $a0, $s0, $zero +/* D5076C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D50770 80240780 0200282D */ daddu $a1, $s0, $zero +/* D50774 80240784 0C019D80 */ jal guMtxCatF +/* D50778 80240788 0080302D */ daddu $a2, $a0, $zero +/* D5077C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D50780 80240790 3C013F36 */ lui $at, 0x3f36 +/* D50784 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D50788 80240798 44810000 */ mtc1 $at, $f0 +/* D5078C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D50790 802407A0 44050000 */ mfc1 $a1, $f0 +/* D50794 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D50798 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D5079C 802407AC 0C019DF0 */ jal guScaleF +/* D507A0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D507A4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D507A8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D507AC 802407BC 0C019D80 */ jal guMtxCatF +/* D507B0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D507B4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D507B8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D507BC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D507C0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D507C4 802407D4 46000007 */ neg.s $f0, $f0 +/* D507C8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D507CC 802407DC 0C019E40 */ jal guTranslateF +/* D507D0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D507D4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D507D8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D507DC 802407EC 0C019D80 */ jal guMtxCatF +/* D507E0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D507E4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D507E8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D507EC 802407FC 44810000 */ mtc1 $at, $f0 +/* D507F0 80240800 00000000 */ nop +/* D507F4 80240804 4602003E */ c.le.s $f0, $f2 +/* D507F8 80240808 00000000 */ nop +/* D507FC 8024080C 4500000A */ bc1f .L80240838 +/* D50800 80240810 24040001 */ addiu $a0, $zero, 1 +/* D50804 80240814 3C014387 */ lui $at, 0x4387 +/* D50808 80240818 44810000 */ mtc1 $at, $f0 +/* D5080C 8024081C 00000000 */ nop +/* D50810 80240820 4600103C */ c.lt.s $f2, $f0 +/* D50814 80240824 00000000 */ nop +/* D50818 80240828 45000004 */ bc1f .L8024083C +/* D5081C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D50820 80240830 3C041000 */ lui $a0, 0x1000 +/* D50824 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D50828 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D5082C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D50830 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D50834 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D50838 80240848 0C0B7710 */ jal render_sprite +/* D5083C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D50840 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D50844 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D50848 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D5084C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D50850 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D50854 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D50858 80240868 03E00008 */ jr $ra +/* D5085C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240870_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240870_D4FFF0.s new file mode 100644 index 0000000000..2f6c1b9877 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240870_D4FFF0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D50860 +/* D50860 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D50864 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D50868 80240878 4480B000 */ mtc1 $zero, $f22 +/* D5086C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D50870 80240880 0080882D */ daddu $s1, $a0, $zero +/* D50874 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D50878 80240888 0000982D */ daddu $s3, $zero, $zero +/* D5087C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D50880 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D50884 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D50888 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D5088C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D50890 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D50894 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D50898 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D5089C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D508A0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D508A4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D508A8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D508AC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D508B0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D508B4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D508B8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D508BC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D508C0 802408D0 3C03800A */ lui $v1, 0x800a +/* D508C4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D508C8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D508CC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D508D0 802408E0 00021080 */ sll $v0, $v0, 2 +/* D508D4 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D508D8 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D508DC 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D508E0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D508E4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D508E8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D508EC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D508F0 80240900 46000507 */ neg.s $f20, $f0 +/* D508F4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D508F8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D508FC 8024090C 44810000 */ mtc1 $at, $f0 +/* D50900 80240910 00000000 */ nop +/* D50904 80240914 4602003C */ c.lt.s $f0, $f2 +/* D50908 80240918 00000000 */ nop +/* D5090C 8024091C 4500000A */ bc1f .L80240948 +/* D50910 80240920 00000000 */ nop +/* D50914 80240924 3C014334 */ lui $at, 0x4334 +/* D50918 80240928 44812000 */ mtc1 $at, $f4 +/* D5091C 8024092C 00000000 */ nop +/* D50920 80240930 4604103E */ c.le.s $f2, $f4 +/* D50924 80240934 00000000 */ nop +/* D50928 80240938 45000003 */ bc1f .L80240948 +/* D5092C 8024093C 00000000 */ nop +/* D50930 80240940 08090276 */ j .L802409D8 +/* D50934 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D50938 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D5093C 8024094C 3C014334 */ lui $at, 0x4334 +/* D50940 80240950 44812000 */ mtc1 $at, $f4 +/* D50944 80240954 00000000 */ nop +/* D50948 80240958 4600203C */ c.lt.s $f4, $f0 +/* D5094C 8024095C 00000000 */ nop +/* D50950 80240960 4500000C */ bc1f .L80240994 +/* D50954 80240964 00000000 */ nop +/* D50958 80240968 3C014387 */ lui $at, 0x4387 +/* D5095C 8024096C 44812000 */ mtc1 $at, $f4 +/* D50960 80240970 00000000 */ nop +/* D50964 80240974 4604003E */ c.le.s $f0, $f4 +/* D50968 80240978 00000000 */ nop +/* D5096C 8024097C 45000008 */ bc1f .L802409A0 +/* D50970 80240980 00000000 */ nop +/* D50974 80240984 3C014334 */ lui $at, 0x4334 +/* D50978 80240988 44812000 */ mtc1 $at, $f4 +/* D5097C 8024098C 08090276 */ j .L802409D8 +/* D50980 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D50984 80240994 3C014387 */ lui $at, 0x4387 +/* D50988 80240998 44812000 */ mtc1 $at, $f4 +/* D5098C 8024099C 00000000 */ nop +.L802409A0: +/* D50990 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D50994 802409A4 00000000 */ nop +/* D50998 802409A8 4500000A */ bc1f .L802409D4 +/* D5099C 802409AC 00000000 */ nop +/* D509A0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D509A4 802409B4 44811000 */ mtc1 $at, $f2 +/* D509A8 802409B8 00000000 */ nop +/* D509AC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D509B0 802409C0 00000000 */ nop +/* D509B4 802409C4 45000003 */ bc1f .L802409D4 +/* D509B8 802409C8 00000000 */ nop +/* D509BC 802409CC 08090276 */ j .L802409D8 +/* D509C0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D509C4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D509C8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D509CC 802409DC 44810000 */ mtc1 $at, $f0 +/* D509D0 802409E0 00000000 */ nop +/* D509D4 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D509D8 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D509DC 802409EC 44072000 */ mfc1 $a3, $f4 +/* D509E0 802409F0 00000000 */ nop +/* D509E4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D509E8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D509EC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D509F0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D509F4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D509F8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D509FC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D50A00 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D50A04 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D50A08 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D50A0C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D50A10 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D50A14 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D50A18 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D50A1C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D50A20 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D50A24 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D50A28 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D50A2C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D50A30 80240A40 0C019EC8 */ jal guRotateF +/* D50A34 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D50A38 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D50A3C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D50A40 80240A50 00000000 */ nop +/* D50A44 80240A54 44050000 */ mfc1 $a1, $f0 +/* D50A48 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D50A4C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D50A50 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D50A54 80240A64 44812000 */ mtc1 $at, $f4 +/* D50A58 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D50A5C 80240A6C 0C019EC8 */ jal guRotateF +/* D50A60 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D50A64 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D50A68 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D50A6C 80240A7C 0C019D80 */ jal guMtxCatF +/* D50A70 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D50A74 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D50A78 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D50A7C 80240A8C 080902D6 */ j .L80240B58 +/* D50A80 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D50A84 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D50A88 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D50A8C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D50A90 80240AA0 0C03964E */ jal func_800E5938 +/* D50A94 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D50A98 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D50A9C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D50AA0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D50AA4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D50AA8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D50AAC 80240ABC 080902B5 */ j .L80240AD4 +/* D50AB0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D50AB4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D50AB8 80240AC8 00000000 */ nop +/* D50ABC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D50AC0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D50AC4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D50AC8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D50ACC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D50AD0 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D50AD4 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D50AD8 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D50ADC 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D50AE0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D50AE4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D50AE8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D50AEC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D50AF0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D50AF4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D50AF8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D50AFC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D50B00 80240B10 0C019EC8 */ jal guRotateF +/* D50B04 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D50B08 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D50B0C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D50B10 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D50B14 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D50B18 80240B28 0C019EC8 */ jal guRotateF +/* D50B1C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D50B20 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D50B24 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D50B28 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D50B2C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D50B30 80240B40 0C019EC8 */ jal guRotateF +/* D50B34 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D50B38 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D50B3C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D50B40 80240B50 0C019D80 */ jal guMtxCatF +/* D50B44 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D50B48 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D50B4C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D50B50 80240B60 44812000 */ mtc1 $at, $f4 +/* D50B54 80240B64 00021023 */ negu $v0, $v0 +/* D50B58 80240B68 44820000 */ mtc1 $v0, $f0 +/* D50B5C 80240B6C 00000000 */ nop +/* D50B60 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D50B64 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D50B68 80240B78 00000000 */ nop +/* D50B6C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D50B70 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D50B74 80240B84 44062000 */ mfc1 $a2, $f4 +/* D50B78 80240B88 0C019E40 */ jal guTranslateF +/* D50B7C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D50B80 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D50B84 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D50B88 80240B98 0C019D80 */ jal guMtxCatF +/* D50B8C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D50B90 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D50B94 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D50B98 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D50B9C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D50BA0 80240BB0 0C019EC8 */ jal guRotateF +/* D50BA4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D50BA8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D50BAC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D50BB0 80240BC0 0C019D80 */ jal guMtxCatF +/* D50BB4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D50BB8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D50BBC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D50BC0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D50BC4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D50BC8 80240BD8 0C019EC8 */ jal guRotateF +/* D50BCC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D50BD0 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D50BD4 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D50BD8 80240BE8 0C019D80 */ jal guMtxCatF +/* D50BDC 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D50BE0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D50BE4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D50BE8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D50BEC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D50BF0 80240C00 00000000 */ nop +/* D50BF4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D50BF8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D50BFC 80240C0C 00000000 */ nop +/* D50C00 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D50C04 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D50C08 80240C18 44062000 */ mfc1 $a2, $f4 +/* D50C0C 80240C1C 0C019E40 */ jal guTranslateF +/* D50C10 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D50C14 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D50C18 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D50C1C 80240C2C 0C019D80 */ jal guMtxCatF +/* D50C20 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D50C24 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D50C28 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D50C2C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D50C30 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D50C34 80240C44 44050000 */ mfc1 $a1, $f0 +/* D50C38 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D50C3C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D50C40 80240C50 0C019DF0 */ jal guScaleF +/* D50C44 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D50C48 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D50C4C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D50C50 80240C60 0C019D80 */ jal guMtxCatF +/* D50C54 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D50C58 80240C68 4600D687 */ neg.s $f26, $f26 +/* D50C5C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D50C60 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D50C64 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D50C68 80240C78 0C019E40 */ jal guTranslateF +/* D50C6C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D50C70 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D50C74 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D50C78 80240C88 0C019D80 */ jal guMtxCatF +/* D50C7C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D50C80 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D50C84 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D50C88 80240C98 44810000 */ mtc1 $at, $f0 +/* D50C8C 80240C9C 00000000 */ nop +/* D50C90 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D50C94 80240CA4 00000000 */ nop +/* D50C98 80240CA8 4500000A */ bc1f .L80240CD4 +/* D50C9C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D50CA0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D50CA4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D50CA8 80240CB8 00000000 */ nop +/* D50CAC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D50CB0 80240CC0 00000000 */ nop +/* D50CB4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D50CB8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D50CBC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D50CC0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D50CC4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D50CC8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D50CCC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D50CD0 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D50CD4 80240CE4 0C0B7710 */ jal render_sprite +/* D50CD8 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D50CDC 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D50CE0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D50CE4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D50CE8 80240CF8 00000000 */ nop +/* D50CEC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D50CF0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D50CF4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D50CF8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D50CFC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D50D00 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D50D04 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D50D08 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D50D0C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D50D10 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D50D14 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D50D18 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D50D1C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D50D20 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D50D24 80240D34 03E00008 */ jr $ra +/* D50D28 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240D3C_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240D3C_D4FFF0.s new file mode 100644 index 0000000000..cf30699561 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240D3C_D4FFF0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D50D2C +/* D50D2C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D50D30 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D50D34 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D50D38 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D50D3C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D50D40 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D50D44 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D50D48 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D50D4C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D50D50 80240D60 00000000 */ nop +/* D50D54 80240D64 28620002 */ slti $v0, $v1, 2 +/* D50D58 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D50D5C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D50D60 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D50D64 80240D74 00000000 */ nop +/* D50D68 80240D78 08090378 */ j .L80240DE0 +/* D50D6C 80240D7C 00000000 */ nop +.L80240D80: +/* D50D70 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D50D74 80240D84 00000000 */ nop +/* D50D78 80240D88 08090378 */ j .L80240DE0 +/* D50D7C 80240D8C 00000000 */ nop +.L80240D90: +/* D50D80 80240D90 3C048024 */ lui $a0, 0x8024 +/* D50D84 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D50D88 80240D98 08090374 */ j .L80240DD0 +/* D50D8C 80240D9C 00000000 */ nop +.L80240DA0: +/* D50D90 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D50D94 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D50D98 80240DA8 08090374 */ j .L80240DD0 +/* D50D9C 80240DAC 00000000 */ nop +.L80240DB0: +/* D50DA0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D50DA4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D50DA8 80240DB8 00000000 */ nop +/* D50DAC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D50DB0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D50DB4 80240DC4 00000000 */ nop +.L80240DC8: +/* D50DB8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D50DBC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D50DC0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D50DC4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D50DC8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D50DCC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D50DD0 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D50DD4 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D50DD8 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D50DDC 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D50DE0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D50DE4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D50DE8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D50DEC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D50DF0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D50DF4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D50DF8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D50DFC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D50E00 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D50E04 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D50E08 80240E18 00000000 */ nop +/* D50E0C 80240E1C 0809039D */ j .L80240E74 +/* D50E10 80240E20 00000000 */ nop +.L80240E24: +/* D50E14 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D50E18 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D50E1C 80240E2C 0809039D */ j .L80240E74 +/* D50E20 80240E30 00000000 */ nop +.L80240E34: +/* D50E24 80240E34 8CA20000 */ lw $v0, ($a1) +/* D50E28 80240E38 0809039A */ j .L80240E68 +/* D50E2C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D50E30 80240E40 8CA20000 */ lw $v0, ($a1) +/* D50E34 80240E44 0809039A */ j .L80240E68 +/* D50E38 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D50E3C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D50E40 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D50E44 80240E54 28420002 */ slti $v0, $v0, 2 +/* D50E48 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D50E4C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D50E50 80240E60 8CA20000 */ lw $v0, ($a1) +/* D50E54 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D50E58 80240E68 00431025 */ or $v0, $v0, $v1 +/* D50E5C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D50E60 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D50E64 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D50E68 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D50E6C 80240E7C 03E00008 */ jr $ra +/* D50E70 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240E84_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240E84_D4FFF0.s new file mode 100644 index 0000000000..427114b978 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240E84_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D50E74 +/* D50E74 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D50E78 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D50E7C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D50E80 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D50E84 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D50E88 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D50E8C 80240E9C 3C03000A */ lui $v1, 0xa +/* D50E90 80240EA0 8C820000 */ lw $v0, ($a0) +/* D50E94 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D50E98 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D50E9C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D50EA0 80240EB0 03E00008 */ jr $ra +/* D50EA4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240EB8_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240EB8_D4FFF0.s new file mode 100644 index 0000000000..0edde74182 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240EB8_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D50EA8 +/* D50EA8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D50EAC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D50EB0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D50EB4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D50EB8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D50EBC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D50EC0 80240ED0 3C030008 */ lui $v1, 8 +/* D50EC4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D50EC8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D50ECC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D50ED0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D50ED4 80240EE4 03E00008 */ jr $ra +/* D50ED8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240EEC_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240EEC_D4FFF0.s new file mode 100644 index 0000000000..eff97502c0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240EEC_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D50EDC +/* D50EDC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D50EE0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D50EE4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D50EE8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D50EEC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D50EF0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D50EF4 80240F04 3C030002 */ lui $v1, 2 +/* D50EF8 80240F08 8C820000 */ lw $v0, ($a0) +/* D50EFC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D50F00 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D50F04 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D50F08 80240F18 03E00008 */ jr $ra +/* D50F0C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240F20_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240F20_D4FFF0.s new file mode 100644 index 0000000000..b7b7babdbc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240F20_D4FFF0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D50F10 +/* D50F10 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D50F14 80240F24 AFB10014 */ sw $s1, 0x14($sp) +/* D50F18 80240F28 0080882D */ daddu $s1, $a0, $zero +/* D50F1C 80240F2C AFBF0018 */ sw $ra, 0x18($sp) +/* D50F20 80240F30 AFB00010 */ sw $s0, 0x10($sp) +/* D50F24 80240F34 8E30000C */ lw $s0, 0xc($s1) +/* D50F28 80240F38 8E050000 */ lw $a1, ($s0) +/* D50F2C 80240F3C 0C0B1EAF */ jal get_variable +/* D50F30 80240F40 26100004 */ addiu $s0, $s0, 4 +/* D50F34 80240F44 0C00EAD2 */ jal get_npc_safe +/* D50F38 80240F48 0040202D */ daddu $a0, $v0, $zero +/* D50F3C 80240F4C 10400005 */ beqz $v0, .L80240F64 +/* D50F40 80240F50 00000000 */ nop +/* D50F44 80240F54 8E050000 */ lw $a1, ($s0) +/* D50F48 80240F58 844600A8 */ lh $a2, 0xa8($v0) +/* D50F4C 80240F5C 0C0B2026 */ jal set_variable +/* D50F50 80240F60 0220202D */ daddu $a0, $s1, $zero +.L80240F64: +/* D50F54 80240F64 8FBF0018 */ lw $ra, 0x18($sp) +/* D50F58 80240F68 8FB10014 */ lw $s1, 0x14($sp) +/* D50F5C 80240F6C 8FB00010 */ lw $s0, 0x10($sp) +/* D50F60 80240F70 24020002 */ addiu $v0, $zero, 2 +/* D50F64 80240F74 03E00008 */ jr $ra +/* D50F68 80240F78 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80240F7C_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80240F7C_D4FFF0.s new file mode 100644 index 0000000000..93e80c3516 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80240F7C_D4FFF0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C_D50F6C +/* D50F6C 80240F7C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D50F70 80240F80 AFB10014 */ sw $s1, 0x14($sp) +/* D50F74 80240F84 0080882D */ daddu $s1, $a0, $zero +/* D50F78 80240F88 AFBF0024 */ sw $ra, 0x24($sp) +/* D50F7C 80240F8C AFB40020 */ sw $s4, 0x20($sp) +/* D50F80 80240F90 AFB3001C */ sw $s3, 0x1c($sp) +/* D50F84 80240F94 AFB20018 */ sw $s2, 0x18($sp) +/* D50F88 80240F98 AFB00010 */ sw $s0, 0x10($sp) +/* D50F8C 80240F9C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D50F90 80240FA0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D50F94 80240FA4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D50F98 80240FA8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D50F9C 80240FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D50FA0 80240FB0 8E30000C */ lw $s0, 0xc($s1) +/* D50FA4 80240FB4 8E130000 */ lw $s3, ($s0) +/* D50FA8 80240FB8 26100004 */ addiu $s0, $s0, 4 +/* D50FAC 80240FBC 0C0B1EAF */ jal get_variable +/* D50FB0 80240FC0 0260282D */ daddu $a1, $s3, $zero +/* D50FB4 80240FC4 4482E000 */ mtc1 $v0, $f28 +/* D50FB8 80240FC8 00000000 */ nop +/* D50FBC 80240FCC 4680E720 */ cvt.s.w $f28, $f28 +/* D50FC0 80240FD0 8E140000 */ lw $s4, ($s0) +/* D50FC4 80240FD4 26100004 */ addiu $s0, $s0, 4 +/* D50FC8 80240FD8 0220202D */ daddu $a0, $s1, $zero +/* D50FCC 80240FDC 0C0B1EAF */ jal get_variable +/* D50FD0 80240FE0 0280282D */ daddu $a1, $s4, $zero +/* D50FD4 80240FE4 4482D000 */ mtc1 $v0, $f26 +/* D50FD8 80240FE8 00000000 */ nop +/* D50FDC 80240FEC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D50FE0 80240FF0 8E100000 */ lw $s0, ($s0) +/* D50FE4 80240FF4 0220202D */ daddu $a0, $s1, $zero +/* D50FE8 80240FF8 0C0B1EAF */ jal get_variable +/* D50FEC 80240FFC 0200282D */ daddu $a1, $s0, $zero +/* D50FF0 80241000 4482C000 */ mtc1 $v0, $f24 +/* D50FF4 80241004 00000000 */ nop +/* D50FF8 80241008 4680C620 */ cvt.s.w $f24, $f24 +/* D50FFC 8024100C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D51000 80241010 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D51004 80241014 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D51008 80241018 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D5100C 8024101C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D51010 80241020 44800000 */ mtc1 $zero, $f0 +/* D51014 80241024 00031080 */ sll $v0, $v1, 2 +/* D51018 80241028 00431021 */ addu $v0, $v0, $v1 +/* D5101C 8024102C 00021080 */ sll $v0, $v0, 2 +/* D51020 80241030 00431023 */ subu $v0, $v0, $v1 +/* D51024 80241034 000218C0 */ sll $v1, $v0, 3 +/* D51028 80241038 00431021 */ addu $v0, $v0, $v1 +/* D5102C 8024103C 000210C0 */ sll $v0, $v0, 3 +/* D51030 80241040 46001032 */ c.eq.s $f2, $f0 +/* D51034 80241044 3C01800B */ lui $at, 0x800b +/* D51038 80241048 00220821 */ addu $at, $at, $v0 +/* D5103C 8024104C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D51040 80241050 45000005 */ bc1f .L80241068 +/* D51044 80241054 00000000 */ nop +/* D51048 80241058 3C0142C8 */ lui $at, 0x42c8 +/* D5104C 8024105C 44810000 */ mtc1 $at, $f0 +/* D51050 80241060 0809041E */ j .L80241078 +/* D51054 80241064 4600B581 */ sub.s $f22, $f22, $f0 +.L80241068: +/* D51058 80241068 3C0142C8 */ lui $at, 0x42c8 +/* D5105C 8024106C 44810000 */ mtc1 $at, $f0 +/* D51060 80241070 00000000 */ nop +/* D51064 80241074 4600B580 */ add.s $f22, $f22, $f0 +.L80241078: +/* D51068 80241078 0C00A6C9 */ jal clamp_angle +/* D5106C 8024107C 4600B306 */ mov.s $f12, $f22 +/* D51070 80241080 46000586 */ mov.s $f22, $f0 +/* D51074 80241084 3C014170 */ lui $at, 0x4170 +/* D51078 80241088 4481A000 */ mtc1 $at, $f20 +/* D5107C 8024108C 0C00A8BB */ jal sin_deg +/* D51080 80241090 4600B306 */ mov.s $f12, $f22 +/* D51084 80241094 46140002 */ mul.s $f0, $f0, $f20 +/* D51088 80241098 00000000 */ nop +/* D5108C 8024109C 864200B0 */ lh $v0, 0xb0($s2) +/* D51090 802410A0 3C013F00 */ lui $at, 0x3f00 +/* D51094 802410A4 44812000 */ mtc1 $at, $f4 +/* D51098 802410A8 44821000 */ mtc1 $v0, $f2 +/* D5109C 802410AC 00000000 */ nop +/* D510A0 802410B0 468010A0 */ cvt.s.w $f2, $f2 +/* D510A4 802410B4 46041082 */ mul.s $f2, $f2, $f4 +/* D510A8 802410B8 00000000 */ nop +/* D510AC 802410BC 4600E700 */ add.s $f28, $f28, $f0 +/* D510B0 802410C0 4602D680 */ add.s $f26, $f26, $f2 +/* D510B4 802410C4 0C00A8D4 */ jal cos_deg +/* D510B8 802410C8 4600B306 */ mov.s $f12, $f22 +/* D510BC 802410CC 46140002 */ mul.s $f0, $f0, $f20 +/* D510C0 802410D0 00000000 */ nop +/* D510C4 802410D4 0220202D */ daddu $a0, $s1, $zero +/* D510C8 802410D8 0260282D */ daddu $a1, $s3, $zero +/* D510CC 802410DC 4600E18D */ trunc.w.s $f6, $f28 +/* D510D0 802410E0 44063000 */ mfc1 $a2, $f6 +/* D510D4 802410E4 0C0B2026 */ jal set_variable +/* D510D8 802410E8 4600C601 */ sub.s $f24, $f24, $f0 +/* D510DC 802410EC 0220202D */ daddu $a0, $s1, $zero +/* D510E0 802410F0 4600D18D */ trunc.w.s $f6, $f26 +/* D510E4 802410F4 44063000 */ mfc1 $a2, $f6 +/* D510E8 802410F8 0C0B2026 */ jal set_variable +/* D510EC 802410FC 0280282D */ daddu $a1, $s4, $zero +/* D510F0 80241100 0220202D */ daddu $a0, $s1, $zero +/* D510F4 80241104 4600C18D */ trunc.w.s $f6, $f24 +/* D510F8 80241108 44063000 */ mfc1 $a2, $f6 +/* D510FC 8024110C 0C0B2026 */ jal set_variable +/* D51100 80241110 0200282D */ daddu $a1, $s0, $zero +/* D51104 80241114 8FBF0024 */ lw $ra, 0x24($sp) +/* D51108 80241118 8FB40020 */ lw $s4, 0x20($sp) +/* D5110C 8024111C 8FB3001C */ lw $s3, 0x1c($sp) +/* D51110 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* D51114 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* D51118 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* D5111C 8024112C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D51120 80241130 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D51124 80241134 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D51128 80241138 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D5112C 8024113C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D51130 80241140 24020002 */ addiu $v0, $zero, 2 +/* D51134 80241144 03E00008 */ jr $ra +/* D51138 80241148 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_8024114C_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_8024114C_D4FFF0.s new file mode 100644 index 0000000000..cc938450c9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_8024114C_D4FFF0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024114C_D5113C +/* D5113C 8024114C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D51140 80241150 AFBF0010 */ sw $ra, 0x10($sp) +/* D51144 80241154 10A00003 */ beqz $a1, .L80241164 +/* D51148 80241158 8C86000C */ lw $a2, 0xc($a0) +/* D5114C 8024115C 3C018024 */ lui $at, 0x8024 +/* D51150 80241160 AC202ACC */ sw $zero, 0x2acc($at) +.L80241164: +/* D51154 80241164 3C038024 */ lui $v1, 0x8024 +/* D51158 80241168 24632ACC */ addiu $v1, $v1, 0x2acc +/* D5115C 8024116C 8C620000 */ lw $v0, ($v1) +/* D51160 80241170 54400003 */ bnel $v0, $zero, .L80241180 +/* D51164 80241174 AC600000 */ sw $zero, ($v1) +/* D51168 80241178 08090465 */ j .L80241194 +/* D5116C 8024117C 0000102D */ daddu $v0, $zero, $zero +.L80241180: +/* D51170 80241180 8CC50000 */ lw $a1, ($a2) +/* D51174 80241184 3C068024 */ lui $a2, 0x8024 +/* D51178 80241188 0C0B2026 */ jal set_variable +/* D5117C 8024118C 8CC62AD0 */ lw $a2, 0x2ad0($a2) +/* D51180 80241190 24020002 */ addiu $v0, $zero, 2 +.L80241194: +/* D51184 80241194 8FBF0010 */ lw $ra, 0x10($sp) +/* D51188 80241198 03E00008 */ jr $ra +/* D5118C 8024119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802411A0_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_802411A0_D4FFF0.s new file mode 100644 index 0000000000..14b66f6b98 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802411A0_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_D51190 +/* D51190 802411A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D51194 802411A4 AFBF0010 */ sw $ra, 0x10($sp) +/* D51198 802411A8 8C82000C */ lw $v0, 0xc($a0) +/* D5119C 802411AC 0C0B1EAF */ jal get_variable +/* D511A0 802411B0 8C450000 */ lw $a1, ($v0) +/* D511A4 802411B4 3C018024 */ lui $at, 0x8024 +/* D511A8 802411B8 AC222AD0 */ sw $v0, 0x2ad0($at) +/* D511AC 802411BC 24020002 */ addiu $v0, $zero, 2 +/* D511B0 802411C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D511B4 802411C4 24030001 */ addiu $v1, $zero, 1 +/* D511B8 802411C8 3C018024 */ lui $at, 0x8024 +/* D511BC 802411CC AC232ACC */ sw $v1, 0x2acc($at) +/* D511C0 802411D0 03E00008 */ jr $ra +/* D511C4 802411D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802411D8_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_802411D8_D4FFF0.s new file mode 100644 index 0000000000..ebee9ed0ac --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802411D8_D4FFF0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D8_D511C8 +/* D511C8 802411D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D511CC 802411DC AFBF0010 */ sw $ra, 0x10($sp) +/* D511D0 802411E0 8C82000C */ lw $v0, 0xc($a0) +/* D511D4 802411E4 0C0B1EAF */ jal get_variable +/* D511D8 802411E8 8C450000 */ lw $a1, ($v0) +/* D511DC 802411EC 0040182D */ daddu $v1, $v0, $zero +/* D511E0 802411F0 10600012 */ beqz $v1, .L8024123C +/* D511E4 802411F4 0000202D */ daddu $a0, $zero, $zero +/* D511E8 802411F8 8C620000 */ lw $v0, ($v1) +/* D511EC 802411FC 5040000A */ beql $v0, $zero, .L80241228 +/* D511F0 80241200 00041080 */ sll $v0, $a0, 2 +/* D511F4 80241204 3C058024 */ lui $a1, 0x8024 +/* D511F8 80241208 24A53CC0 */ addiu $a1, $a1, 0x3cc0 +.L8024120C: +/* D511FC 8024120C 24630004 */ addiu $v1, $v1, 4 +/* D51200 80241210 24840001 */ addiu $a0, $a0, 1 +/* D51204 80241214 ACA20000 */ sw $v0, ($a1) +/* D51208 80241218 8C620000 */ lw $v0, ($v1) +/* D5120C 8024121C 1440FFFB */ bnez $v0, .L8024120C +/* D51210 80241220 24A50004 */ addiu $a1, $a1, 4 +/* D51214 80241224 00041080 */ sll $v0, $a0, 2 +.L80241228: +/* D51218 80241228 3C018024 */ lui $at, 0x8024 +/* D5121C 8024122C 00220821 */ addu $at, $at, $v0 +/* D51220 80241230 AC203CC0 */ sw $zero, 0x3cc0($at) +/* D51224 80241234 08090499 */ j .L80241264 +/* D51228 80241238 00000000 */ nop +.L8024123C: +/* D5122C 8024123C 3C038024 */ lui $v1, 0x8024 +/* D51230 80241240 24633CC0 */ addiu $v1, $v1, 0x3cc0 +/* D51234 80241244 0060282D */ daddu $a1, $v1, $zero +.L80241248: +/* D51238 80241248 24820010 */ addiu $v0, $a0, 0x10 +/* D5123C 8024124C AC620000 */ sw $v0, ($v1) +/* D51240 80241250 24630004 */ addiu $v1, $v1, 4 +/* D51244 80241254 24840001 */ addiu $a0, $a0, 1 +/* D51248 80241258 28820070 */ slti $v0, $a0, 0x70 +/* D5124C 8024125C 1440FFFA */ bnez $v0, .L80241248 +/* D51250 80241260 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241264: +/* D51254 80241264 8FBF0010 */ lw $ra, 0x10($sp) +/* D51258 80241268 24020002 */ addiu $v0, $zero, 2 +/* D5125C 8024126C 03E00008 */ jr $ra +/* D51260 80241270 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80241274_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80241274_D4FFF0.s new file mode 100644 index 0000000000..af3d1d79f8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80241274_D4FFF0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241274_D51264 +/* D51264 80241274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D51268 80241278 AFBF0010 */ sw $ra, 0x10($sp) +/* D5126C 8024127C 8C82000C */ lw $v0, 0xc($a0) +/* D51270 80241280 0C0B1EAF */ jal get_variable +/* D51274 80241284 8C450000 */ lw $a1, ($v0) +/* D51278 80241288 0040182D */ daddu $v1, $v0, $zero +/* D5127C 8024128C 10600012 */ beqz $v1, .L802412D8 +/* D51280 80241290 0000202D */ daddu $a0, $zero, $zero +/* D51284 80241294 8C620000 */ lw $v0, ($v1) +/* D51288 80241298 5040000A */ beql $v0, $zero, .L802412C4 +/* D5128C 8024129C 00041080 */ sll $v0, $a0, 2 +/* D51290 802412A0 3C058024 */ lui $a1, 0x8024 +/* D51294 802412A4 24A53E88 */ addiu $a1, $a1, 0x3e88 +.L802412A8: +/* D51298 802412A8 24630004 */ addiu $v1, $v1, 4 +/* D5129C 802412AC 24840001 */ addiu $a0, $a0, 1 +/* D512A0 802412B0 ACA20000 */ sw $v0, ($a1) +/* D512A4 802412B4 8C620000 */ lw $v0, ($v1) +/* D512A8 802412B8 1440FFFB */ bnez $v0, .L802412A8 +/* D512AC 802412BC 24A50004 */ addiu $a1, $a1, 4 +/* D512B0 802412C0 00041080 */ sll $v0, $a0, 2 +.L802412C4: +/* D512B4 802412C4 3C018024 */ lui $at, 0x8024 +/* D512B8 802412C8 00220821 */ addu $at, $at, $v0 +/* D512BC 802412CC AC203E88 */ sw $zero, 0x3e88($at) +/* D512C0 802412D0 080904C0 */ j .L80241300 +/* D512C4 802412D4 00000000 */ nop +.L802412D8: +/* D512C8 802412D8 3C038024 */ lui $v1, 0x8024 +/* D512CC 802412DC 24633E88 */ addiu $v1, $v1, 0x3e88 +/* D512D0 802412E0 0060282D */ daddu $a1, $v1, $zero +.L802412E4: +/* D512D4 802412E4 24820080 */ addiu $v0, $a0, 0x80 +/* D512D8 802412E8 AC620000 */ sw $v0, ($v1) +/* D512DC 802412EC 24630004 */ addiu $v1, $v1, 4 +/* D512E0 802412F0 24840001 */ addiu $a0, $a0, 1 +/* D512E4 802412F4 2882005B */ slti $v0, $a0, 0x5b +/* D512E8 802412F8 1440FFFA */ bnez $v0, .L802412E4 +/* D512EC 802412FC ACA0016C */ sw $zero, 0x16c($a1) +.L80241300: +/* D512F0 80241300 8FBF0010 */ lw $ra, 0x10($sp) +/* D512F4 80241304 24020002 */ addiu $v0, $zero, 2 +/* D512F8 80241308 03E00008 */ jr $ra +/* D512FC 8024130C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80241310.s b/asm/nonmatchings/world/area_pra/pra_02/func_80241310.s new file mode 100644 index 0000000000..a26168e806 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80241310.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241310 +/* D51300 80241310 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D51304 80241314 AFB10014 */ sw $s1, 0x14($sp) +/* D51308 80241318 0080882D */ daddu $s1, $a0, $zero +/* D5130C 8024131C AFBF001C */ sw $ra, 0x1c($sp) +/* D51310 80241320 AFB20018 */ sw $s2, 0x18($sp) +/* D51314 80241324 AFB00010 */ sw $s0, 0x10($sp) +/* D51318 80241328 F7B80030 */ sdc1 $f24, 0x30($sp) +/* D5131C 8024132C F7B60028 */ sdc1 $f22, 0x28($sp) +/* D51320 80241330 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D51324 80241334 8E30000C */ lw $s0, 0xc($s1) +/* D51328 80241338 8E050000 */ lw $a1, ($s0) +/* D5132C 8024133C 0C0B1EAF */ jal get_variable +/* D51330 80241340 26100004 */ addiu $s0, $s0, 4 +/* D51334 80241344 8E050000 */ lw $a1, ($s0) +/* D51338 80241348 26100004 */ addiu $s0, $s0, 4 +/* D5133C 8024134C 0220202D */ daddu $a0, $s1, $zero +/* D51340 80241350 0C0B1EAF */ jal get_variable +/* D51344 80241354 0040902D */ daddu $s2, $v0, $zero +/* D51348 80241358 8E050000 */ lw $a1, ($s0) +/* D5134C 8024135C 26100004 */ addiu $s0, $s0, 4 +/* D51350 80241360 4482C000 */ mtc1 $v0, $f24 +/* D51354 80241364 00000000 */ nop +/* D51358 80241368 4680C620 */ cvt.s.w $f24, $f24 +/* D5135C 8024136C 0C0B1EAF */ jal get_variable +/* D51360 80241370 0220202D */ daddu $a0, $s1, $zero +/* D51364 80241374 8E050000 */ lw $a1, ($s0) +/* D51368 80241378 4482B000 */ mtc1 $v0, $f22 +/* D5136C 8024137C 00000000 */ nop +/* D51370 80241380 4680B5A0 */ cvt.s.w $f22, $f22 +/* D51374 80241384 0C0B1EAF */ jal get_variable +/* D51378 80241388 0220202D */ daddu $a0, $s1, $zero +/* D5137C 8024138C 4482A000 */ mtc1 $v0, $f20 +/* D51380 80241390 00000000 */ nop +/* D51384 80241394 4680A520 */ cvt.s.w $f20, $f20 +/* D51388 80241398 0C04417A */ jal get_entity_by_index +/* D5138C 8024139C 0240202D */ daddu $a0, $s2, $zero +/* D51390 802413A0 0040182D */ daddu $v1, $v0, $zero +/* D51394 802413A4 E4780048 */ swc1 $f24, 0x48($v1) +/* D51398 802413A8 E476004C */ swc1 $f22, 0x4c($v1) +/* D5139C 802413AC E4740050 */ swc1 $f20, 0x50($v1) +/* D513A0 802413B0 8FBF001C */ lw $ra, 0x1c($sp) +/* D513A4 802413B4 8FB20018 */ lw $s2, 0x18($sp) +/* D513A8 802413B8 8FB10014 */ lw $s1, 0x14($sp) +/* D513AC 802413BC 8FB00010 */ lw $s0, 0x10($sp) +/* D513B0 802413C0 D7B80030 */ ldc1 $f24, 0x30($sp) +/* D513B4 802413C4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* D513B8 802413C8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D513BC 802413CC 24020002 */ addiu $v0, $zero, 2 +/* D513C0 802413D0 03E00008 */ jr $ra +/* D513C4 802413D4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802413D8.s b/asm/nonmatchings/world/area_pra/pra_02/func_802413D8.s new file mode 100644 index 0000000000..d4f1fd61e9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802413D8.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D8 +/* D513C8 802413D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D513CC 802413DC AFB20018 */ sw $s2, 0x18($sp) +/* D513D0 802413E0 0080902D */ daddu $s2, $a0, $zero +/* D513D4 802413E4 AFBF001C */ sw $ra, 0x1c($sp) +/* D513D8 802413E8 AFB10014 */ sw $s1, 0x14($sp) +/* D513DC 802413EC AFB00010 */ sw $s0, 0x10($sp) +/* D513E0 802413F0 8E50000C */ lw $s0, 0xc($s2) +/* D513E4 802413F4 8E050000 */ lw $a1, ($s0) +/* D513E8 802413F8 0C0B1EAF */ jal get_variable +/* D513EC 802413FC 26100004 */ addiu $s0, $s0, 4 +/* D513F0 80241400 0C04417A */ jal get_entity_by_index +/* D513F4 80241404 0040202D */ daddu $a0, $v0, $zero +/* D513F8 80241408 8E050000 */ lw $a1, ($s0) +/* D513FC 8024140C 26100004 */ addiu $s0, $s0, 4 +/* D51400 80241410 0040882D */ daddu $s1, $v0, $zero +/* D51404 80241414 C6200048 */ lwc1 $f0, 0x48($s1) +/* D51408 80241418 4600008D */ trunc.w.s $f2, $f0 +/* D5140C 8024141C 44061000 */ mfc1 $a2, $f2 +/* D51410 80241420 0C0B2026 */ jal set_variable +/* D51414 80241424 0240202D */ daddu $a0, $s2, $zero +/* D51418 80241428 8E050000 */ lw $a1, ($s0) +/* D5141C 8024142C 26100004 */ addiu $s0, $s0, 4 +/* D51420 80241430 C620004C */ lwc1 $f0, 0x4c($s1) +/* D51424 80241434 4600008D */ trunc.w.s $f2, $f0 +/* D51428 80241438 44061000 */ mfc1 $a2, $f2 +/* D5142C 8024143C 0C0B2026 */ jal set_variable +/* D51430 80241440 0240202D */ daddu $a0, $s2, $zero +/* D51434 80241444 C6200050 */ lwc1 $f0, 0x50($s1) +/* D51438 80241448 8E050000 */ lw $a1, ($s0) +/* D5143C 8024144C 4600008D */ trunc.w.s $f2, $f0 +/* D51440 80241450 44061000 */ mfc1 $a2, $f2 +/* D51444 80241454 0C0B2026 */ jal set_variable +/* D51448 80241458 0240202D */ daddu $a0, $s2, $zero +/* D5144C 8024145C 8FBF001C */ lw $ra, 0x1c($sp) +/* D51450 80241460 8FB20018 */ lw $s2, 0x18($sp) +/* D51454 80241464 8FB10014 */ lw $s1, 0x14($sp) +/* D51458 80241468 8FB00010 */ lw $s0, 0x10($sp) +/* D5145C 8024146C 24020002 */ addiu $v0, $zero, 2 +/* D51460 80241470 03E00008 */ jr $ra +/* D51464 80241474 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80241478_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80241478_D4FFF0.s new file mode 100644 index 0000000000..4d3ddeccf2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80241478_D4FFF0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241478_D51468 +/* D51468 80241478 AC800084 */ sw $zero, 0x84($a0) +/* D5146C 8024147C 3C038011 */ lui $v1, %hi(gPlayerActionState) +/* D51470 80241480 8063F07C */ lb $v1, %lo(gPlayerActionState)($v1) +/* D51474 80241484 2402000E */ addiu $v0, $zero, 0xe +/* D51478 80241488 10620004 */ beq $v1, $v0, .L8024149C +/* D5147C 8024148C 24020001 */ addiu $v0, $zero, 1 +/* D51480 80241490 24020010 */ addiu $v0, $zero, 0x10 +/* D51484 80241494 14620002 */ bne $v1, $v0, .L802414A0 +/* D51488 80241498 24020001 */ addiu $v0, $zero, 1 +.L8024149C: +/* D5148C 8024149C AC820084 */ sw $v0, 0x84($a0) +.L802414A0: +/* D51490 802414A0 03E00008 */ jr $ra +/* D51494 802414A4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802414A8_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_802414A8_D4FFF0.s new file mode 100644 index 0000000000..7de4d29365 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802414A8_D4FFF0.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414A8_D51498 +/* D51498 802414A8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D5149C 802414AC AFB10014 */ sw $s1, 0x14($sp) +/* D514A0 802414B0 0080882D */ daddu $s1, $a0, $zero +/* D514A4 802414B4 AFBF001C */ sw $ra, 0x1c($sp) +/* D514A8 802414B8 AFB20018 */ sw $s2, 0x18($sp) +/* D514AC 802414BC AFB00010 */ sw $s0, 0x10($sp) +/* D514B0 802414C0 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* D514B4 802414C4 F7B80030 */ sdc1 $f24, 0x30($sp) +/* D514B8 802414C8 F7B60028 */ sdc1 $f22, 0x28($sp) +/* D514BC 802414CC F7B40020 */ sdc1 $f20, 0x20($sp) +/* D514C0 802414D0 8E30000C */ lw $s0, 0xc($s1) +/* D514C4 802414D4 8E050000 */ lw $a1, ($s0) +/* D514C8 802414D8 0C0B1EAF */ jal get_variable +/* D514CC 802414DC 26100004 */ addiu $s0, $s0, 4 +/* D514D0 802414E0 8E050000 */ lw $a1, ($s0) +/* D514D4 802414E4 26100004 */ addiu $s0, $s0, 4 +/* D514D8 802414E8 0220202D */ daddu $a0, $s1, $zero +/* D514DC 802414EC 0C0B210B */ jal get_float_variable +/* D514E0 802414F0 0040902D */ daddu $s2, $v0, $zero +/* D514E4 802414F4 8E050000 */ lw $a1, ($s0) +/* D514E8 802414F8 26100004 */ addiu $s0, $s0, 4 +/* D514EC 802414FC 0220202D */ daddu $a0, $s1, $zero +/* D514F0 80241500 0C0B210B */ jal get_float_variable +/* D514F4 80241504 46000686 */ mov.s $f26, $f0 +/* D514F8 80241508 0220202D */ daddu $a0, $s1, $zero +/* D514FC 8024150C 8E050000 */ lw $a1, ($s0) +/* D51500 80241510 0C0B210B */ jal get_float_variable +/* D51504 80241514 46000606 */ mov.s $f24, $f0 +/* D51508 80241518 0220202D */ daddu $a0, $s1, $zero +/* D5150C 8024151C 3C05FD05 */ lui $a1, 0xfd05 +/* D51510 80241520 34A50F80 */ ori $a1, $a1, 0xf80 +/* D51514 80241524 0C0B210B */ jal get_float_variable +/* D51518 80241528 46000586 */ mov.s $f22, $f0 +/* D5151C 8024152C 2402FFFF */ addiu $v0, $zero, -1 +/* D51520 80241530 1242000A */ beq $s2, $v0, .L8024155C +/* D51524 80241534 46000506 */ mov.s $f20, $f0 +/* D51528 80241538 0C04417A */ jal get_entity_by_index +/* D5152C 8024153C 0240202D */ daddu $a0, $s2, $zero +/* D51530 80241540 0040182D */ daddu $v1, $v0, $zero +/* D51534 80241544 24020002 */ addiu $v0, $zero, 2 +/* D51538 80241548 4614C000 */ add.s $f0, $f24, $f20 +/* D5153C 8024154C E47A0048 */ swc1 $f26, 0x48($v1) +/* D51540 80241550 E4760050 */ swc1 $f22, 0x50($v1) +/* D51544 80241554 08090558 */ j .L80241560 +/* D51548 80241558 E460004C */ swc1 $f0, 0x4c($v1) +.L8024155C: +/* D5154C 8024155C 24020002 */ addiu $v0, $zero, 2 +.L80241560: +/* D51550 80241560 8FBF001C */ lw $ra, 0x1c($sp) +/* D51554 80241564 8FB20018 */ lw $s2, 0x18($sp) +/* D51558 80241568 8FB10014 */ lw $s1, 0x14($sp) +/* D5155C 8024156C 8FB00010 */ lw $s0, 0x10($sp) +/* D51560 80241570 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* D51564 80241574 D7B80030 */ ldc1 $f24, 0x30($sp) +/* D51568 80241578 D7B60028 */ ldc1 $f22, 0x28($sp) +/* D5156C 8024157C D7B40020 */ ldc1 $f20, 0x20($sp) +/* D51570 80241580 03E00008 */ jr $ra +/* D51574 80241584 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_80241588_D4FFF0.s b/asm/nonmatchings/world/area_pra/pra_02/func_80241588_D4FFF0.s new file mode 100644 index 0000000000..626acf2d49 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_80241588_D4FFF0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241588_D51578 +/* D51578 80241588 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5157C 8024158C AFBF0010 */ sw $ra, 0x10($sp) +/* D51580 80241590 0C04417A */ jal get_entity_by_index +/* D51584 80241594 8C840084 */ lw $a0, 0x84($a0) +/* D51588 80241598 0040182D */ daddu $v1, $v0, $zero +/* D5158C 8024159C 8C640000 */ lw $a0, ($v1) +/* D51590 802415A0 3C050010 */ lui $a1, 0x10 +/* D51594 802415A4 00852025 */ or $a0, $a0, $a1 +/* D51598 802415A8 AC640000 */ sw $a0, ($v1) +/* D5159C 802415AC 8FBF0010 */ lw $ra, 0x10($sp) +/* D515A0 802415B0 24020002 */ addiu $v0, $zero, 2 +/* D515A4 802415B4 03E00008 */ jr $ra +/* D515A8 802415B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_02/func_802415BC.s b/asm/nonmatchings/world/area_pra/pra_02/func_802415BC.s new file mode 100644 index 0000000000..d54cc68c93 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_02/func_802415BC.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415BC +/* D515AC 802415BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D515B0 802415C0 AFB20018 */ sw $s2, 0x18($sp) +/* D515B4 802415C4 0080902D */ daddu $s2, $a0, $zero +/* D515B8 802415C8 AFBF001C */ sw $ra, 0x1c($sp) +/* D515BC 802415CC AFB10014 */ sw $s1, 0x14($sp) +/* D515C0 802415D0 AFB00010 */ sw $s0, 0x10($sp) +/* D515C4 802415D4 8E50000C */ lw $s0, 0xc($s2) +/* D515C8 802415D8 8E050000 */ lw $a1, ($s0) +/* D515CC 802415DC 0C0B1EAF */ jal get_variable +/* D515D0 802415E0 26100004 */ addiu $s0, $s0, 4 +/* D515D4 802415E4 0C04417A */ jal get_entity_by_index +/* D515D8 802415E8 0040202D */ daddu $a0, $v0, $zero +/* D515DC 802415EC 8E050000 */ lw $a1, ($s0) +/* D515E0 802415F0 26100004 */ addiu $s0, $s0, 4 +/* D515E4 802415F4 0040882D */ daddu $s1, $v0, $zero +/* D515E8 802415F8 C6200048 */ lwc1 $f0, 0x48($s1) +/* D515EC 802415FC 4600008D */ trunc.w.s $f2, $f0 +/* D515F0 80241600 44061000 */ mfc1 $a2, $f2 +/* D515F4 80241604 0C0B2026 */ jal set_variable +/* D515F8 80241608 0240202D */ daddu $a0, $s2, $zero +/* D515FC 8024160C 8E050000 */ lw $a1, ($s0) +/* D51600 80241610 26100004 */ addiu $s0, $s0, 4 +/* D51604 80241614 C620004C */ lwc1 $f0, 0x4c($s1) +/* D51608 80241618 4600008D */ trunc.w.s $f2, $f0 +/* D5160C 8024161C 44061000 */ mfc1 $a2, $f2 +/* D51610 80241620 0C0B2026 */ jal set_variable +/* D51614 80241624 0240202D */ daddu $a0, $s2, $zero +/* D51618 80241628 C6200050 */ lwc1 $f0, 0x50($s1) +/* D5161C 8024162C 8E050000 */ lw $a1, ($s0) +/* D51620 80241630 4600008D */ trunc.w.s $f2, $f0 +/* D51624 80241634 44061000 */ mfc1 $a2, $f2 +/* D51628 80241638 0C0B2026 */ jal set_variable +/* D5162C 8024163C 0240202D */ daddu $a0, $s2, $zero +/* D51630 80241640 8FBF001C */ lw $ra, 0x1c($sp) +/* D51634 80241644 8FB20018 */ lw $s2, 0x18($sp) +/* D51638 80241648 8FB10014 */ lw $s1, 0x14($sp) +/* D5163C 8024164C 8FB00010 */ lw $s0, 0x10($sp) +/* D51640 80241650 24020002 */ addiu $v0, $zero, 2 +/* D51644 80241654 03E00008 */ jr $ra +/* D51648 80241658 27BD0020 */ addiu $sp, $sp, 0x20 +/* D5164C 8024165C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_03/func_80240000_D53CB0.s b/asm/nonmatchings/world/area_pra/pra_03/func_80240000_D53CB0.s new file mode 100644 index 0000000000..f79cef1276 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_03/func_80240000_D53CB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D53CB0 +/* D53CB0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D53CB4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D53CB8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D53CBC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D53CC0 80240010 03E00008 */ jr $ra +/* D53CC4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D53CC8 80240018 00000000 */ nop +/* D53CCC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_03/func_80240020_D53CB0.s b/asm/nonmatchings/world/area_pra/pra_03/func_80240020_D53CB0.s new file mode 100644 index 0000000000..0c78e6470f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_03/func_80240020_D53CB0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D53CD0 +/* D53CD0 80240020 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D53CD4 80240024 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D53CD8 80240028 C4620080 */ lwc1 $f2, 0x80($v1) +/* D53CDC 8024002C 44800000 */ mtc1 $zero, $f0 +/* D53CE0 80240030 00000000 */ nop +/* D53CE4 80240034 4602003E */ c.le.s $f0, $f2 +/* D53CE8 80240038 00000000 */ nop +/* D53CEC 8024003C 4500000A */ bc1f .L80240068 +/* D53CF0 80240040 00000000 */ nop +/* D53CF4 80240044 3C014334 */ lui $at, 0x4334 +/* D53CF8 80240048 44810000 */ mtc1 $at, $f0 +/* D53CFC 8024004C 00000000 */ nop +/* D53D00 80240050 4600103C */ c.lt.s $f2, $f0 +/* D53D04 80240054 00000000 */ nop +/* D53D08 80240058 45000006 */ bc1f .L80240074 +/* D53D0C 8024005C 24020096 */ addiu $v0, $zero, 0x96 +/* D53D10 80240060 AC820084 */ sw $v0, 0x84($a0) +/* D53D14 80240064 C4620080 */ lwc1 $f2, 0x80($v1) +.L80240068: +/* D53D18 80240068 3C014334 */ lui $at, 0x4334 +/* D53D1C 8024006C 44810000 */ mtc1 $at, $f0 +/* D53D20 80240070 00000000 */ nop +.L80240074: +/* D53D24 80240074 4602003E */ c.le.s $f0, $f2 +/* D53D28 80240078 00000000 */ nop +/* D53D2C 8024007C 45000009 */ bc1f .L802400A4 +/* D53D30 80240080 00000000 */ nop +/* D53D34 80240084 3C0143B4 */ lui $at, 0x43b4 +/* D53D38 80240088 44810000 */ mtc1 $at, $f0 +/* D53D3C 8024008C 00000000 */ nop +/* D53D40 80240090 4600103C */ c.lt.s $f2, $f0 +/* D53D44 80240094 00000000 */ nop +/* D53D48 80240098 45000002 */ bc1f .L802400A4 +/* D53D4C 8024009C 2402005F */ addiu $v0, $zero, 0x5f +/* D53D50 802400A0 AC820084 */ sw $v0, 0x84($a0) +.L802400A4: +/* D53D54 802400A4 03E00008 */ jr $ra +/* D53D58 802400A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_03/func_802400AC_D53CB0.s b/asm/nonmatchings/world/area_pra/pra_03/func_802400AC_D53CB0.s new file mode 100644 index 0000000000..50c7ab2780 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_03/func_802400AC_D53CB0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC_D53D5C +/* D53D5C 802400AC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D53D60 802400B0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D53D64 802400B4 C4620080 */ lwc1 $f2, 0x80($v1) +/* D53D68 802400B8 44800000 */ mtc1 $zero, $f0 +/* D53D6C 802400BC 00000000 */ nop +/* D53D70 802400C0 4602003E */ c.le.s $f0, $f2 +/* D53D74 802400C4 00000000 */ nop +/* D53D78 802400C8 4500000A */ bc1f .L802400F4 +/* D53D7C 802400CC 00000000 */ nop +/* D53D80 802400D0 3C014334 */ lui $at, 0x4334 +/* D53D84 802400D4 44810000 */ mtc1 $at, $f0 +/* D53D88 802400D8 00000000 */ nop +/* D53D8C 802400DC 4600103C */ c.lt.s $f2, $f0 +/* D53D90 802400E0 00000000 */ nop +/* D53D94 802400E4 45000006 */ bc1f .L80240100 +/* D53D98 802400E8 240200A5 */ addiu $v0, $zero, 0xa5 +/* D53D9C 802400EC AC820084 */ sw $v0, 0x84($a0) +/* D53DA0 802400F0 C4620080 */ lwc1 $f2, 0x80($v1) +.L802400F4: +/* D53DA4 802400F4 3C014334 */ lui $at, 0x4334 +/* D53DA8 802400F8 44810000 */ mtc1 $at, $f0 +/* D53DAC 802400FC 00000000 */ nop +.L80240100: +/* D53DB0 80240100 4602003E */ c.le.s $f0, $f2 +/* D53DB4 80240104 00000000 */ nop +/* D53DB8 80240108 45000009 */ bc1f .L80240130 +/* D53DBC 8024010C 00000000 */ nop +/* D53DC0 80240110 3C0143B4 */ lui $at, 0x43b4 +/* D53DC4 80240114 44810000 */ mtc1 $at, $f0 +/* D53DC8 80240118 00000000 */ nop +/* D53DCC 8024011C 4600103C */ c.lt.s $f2, $f0 +/* D53DD0 80240120 00000000 */ nop +/* D53DD4 80240124 45000002 */ bc1f .L80240130 +/* D53DD8 80240128 24020046 */ addiu $v0, $zero, 0x46 +/* D53DDC 8024012C AC820084 */ sw $v0, 0x84($a0) +.L80240130: +/* D53DE0 80240130 03E00008 */ jr $ra +/* D53DE4 80240134 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_03/func_80240138.s b/asm/nonmatchings/world/area_pra/pra_03/func_80240138.s new file mode 100644 index 0000000000..e607ebbde6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_03/func_80240138.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240138 +/* D53DE8 80240138 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D53DEC 8024013C AFB10014 */ sw $s1, 0x14($sp) +/* D53DF0 80240140 0080882D */ daddu $s1, $a0, $zero +/* D53DF4 80240144 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D53DF8 80240148 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D53DFC 8024014C AFBF0018 */ sw $ra, 0x18($sp) +/* D53E00 80240150 AFB00010 */ sw $s0, 0x10($sp) +/* D53E04 80240154 84430018 */ lh $v1, 0x18($v0) +/* D53E08 80240158 14600005 */ bnez $v1, .L80240170 +/* D53E0C 8024015C 0040802D */ daddu $s0, $v0, $zero +/* D53E10 80240160 3C05FD05 */ lui $a1, 0xfd05 +/* D53E14 80240164 34A50F80 */ ori $a1, $a1, 0xf80 +/* D53E18 80240168 0C0B2026 */ jal set_variable +/* D53E1C 8024016C 0000302D */ daddu $a2, $zero, $zero +.L80240170: +/* D53E20 80240170 86030018 */ lh $v1, 0x18($s0) +/* D53E24 80240174 2402FF38 */ addiu $v0, $zero, -0xc8 +/* D53E28 80240178 14620005 */ bne $v1, $v0, .L80240190 +/* D53E2C 8024017C 0220202D */ daddu $a0, $s1, $zero +/* D53E30 80240180 3C05FD05 */ lui $a1, 0xfd05 +/* D53E34 80240184 34A50F80 */ ori $a1, $a1, 0xf80 +/* D53E38 80240188 0C0B2026 */ jal set_variable +/* D53E3C 8024018C 24060001 */ addiu $a2, $zero, 1 +.L80240190: +/* D53E40 80240190 8FBF0018 */ lw $ra, 0x18($sp) +/* D53E44 80240194 8FB10014 */ lw $s1, 0x14($sp) +/* D53E48 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* D53E4C 8024019C 0000102D */ daddu $v0, $zero, $zero +/* D53E50 802401A0 03E00008 */ jr $ra +/* D53E54 802401A4 27BD0020 */ addiu $sp, $sp, 0x20 +/* D53E58 802401A8 00000000 */ nop +/* D53E5C 802401AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_04/func_80240000_D54690.s b/asm/nonmatchings/world/area_pra/pra_04/func_80240000_D54690.s new file mode 100644 index 0000000000..80a8c4fec1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_04/func_80240000_D54690.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D54690 +/* D54690 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D54694 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D54698 80240008 24020001 */ addiu $v0, $zero, 1 +/* D5469C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D546A0 80240010 03E00008 */ jr $ra +/* D546A4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D546A8 80240018 00000000 */ nop +/* D546AC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_04/func_80240020_D54690.s b/asm/nonmatchings/world/area_pra/pra_04/func_80240020_D54690.s new file mode 100644 index 0000000000..1eae79d463 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_04/func_80240020_D54690.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D546B0 +/* D546B0 80240020 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D546B4 80240024 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D546B8 80240028 C4620080 */ lwc1 $f2, 0x80($v1) +/* D546BC 8024002C 44800000 */ mtc1 $zero, $f0 +/* D546C0 80240030 00000000 */ nop +/* D546C4 80240034 4602003E */ c.le.s $f0, $f2 +/* D546C8 80240038 00000000 */ nop +/* D546CC 8024003C 4500000A */ bc1f .L80240068 +/* D546D0 80240040 00000000 */ nop +/* D546D4 80240044 3C014334 */ lui $at, 0x4334 +/* D546D8 80240048 44810000 */ mtc1 $at, $f0 +/* D546DC 8024004C 00000000 */ nop +/* D546E0 80240050 4600103C */ c.lt.s $f2, $f0 +/* D546E4 80240054 00000000 */ nop +/* D546E8 80240058 45000006 */ bc1f .L80240074 +/* D546EC 8024005C 24020096 */ addiu $v0, $zero, 0x96 +/* D546F0 80240060 AC820084 */ sw $v0, 0x84($a0) +/* D546F4 80240064 C4620080 */ lwc1 $f2, 0x80($v1) +.L80240068: +/* D546F8 80240068 3C014334 */ lui $at, 0x4334 +/* D546FC 8024006C 44810000 */ mtc1 $at, $f0 +/* D54700 80240070 00000000 */ nop +.L80240074: +/* D54704 80240074 4602003E */ c.le.s $f0, $f2 +/* D54708 80240078 00000000 */ nop +/* D5470C 8024007C 45000009 */ bc1f .L802400A4 +/* D54710 80240080 00000000 */ nop +/* D54714 80240084 3C0143B4 */ lui $at, 0x43b4 +/* D54718 80240088 44810000 */ mtc1 $at, $f0 +/* D5471C 8024008C 00000000 */ nop +/* D54720 80240090 4600103C */ c.lt.s $f2, $f0 +/* D54724 80240094 00000000 */ nop +/* D54728 80240098 45000002 */ bc1f .L802400A4 +/* D5472C 8024009C 2402005F */ addiu $v0, $zero, 0x5f +/* D54730 802400A0 AC820084 */ sw $v0, 0x84($a0) +.L802400A4: +/* D54734 802400A4 03E00008 */ jr $ra +/* D54738 802400A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_04/func_802400AC_D54690.s b/asm/nonmatchings/world/area_pra/pra_04/func_802400AC_D54690.s new file mode 100644 index 0000000000..178d25acc0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_04/func_802400AC_D54690.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC_D5473C +/* D5473C 802400AC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D54740 802400B0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D54744 802400B4 C4620080 */ lwc1 $f2, 0x80($v1) +/* D54748 802400B8 44800000 */ mtc1 $zero, $f0 +/* D5474C 802400BC 00000000 */ nop +/* D54750 802400C0 4602003E */ c.le.s $f0, $f2 +/* D54754 802400C4 00000000 */ nop +/* D54758 802400C8 4500000A */ bc1f .L802400F4 +/* D5475C 802400CC 00000000 */ nop +/* D54760 802400D0 3C014334 */ lui $at, 0x4334 +/* D54764 802400D4 44810000 */ mtc1 $at, $f0 +/* D54768 802400D8 00000000 */ nop +/* D5476C 802400DC 4600103C */ c.lt.s $f2, $f0 +/* D54770 802400E0 00000000 */ nop +/* D54774 802400E4 45000006 */ bc1f .L80240100 +/* D54778 802400E8 240200A5 */ addiu $v0, $zero, 0xa5 +/* D5477C 802400EC AC820084 */ sw $v0, 0x84($a0) +/* D54780 802400F0 C4620080 */ lwc1 $f2, 0x80($v1) +.L802400F4: +/* D54784 802400F4 3C014334 */ lui $at, 0x4334 +/* D54788 802400F8 44810000 */ mtc1 $at, $f0 +/* D5478C 802400FC 00000000 */ nop +.L80240100: +/* D54790 80240100 4602003E */ c.le.s $f0, $f2 +/* D54794 80240104 00000000 */ nop +/* D54798 80240108 45000009 */ bc1f .L80240130 +/* D5479C 8024010C 00000000 */ nop +/* D547A0 80240110 3C0143B4 */ lui $at, 0x43b4 +/* D547A4 80240114 44810000 */ mtc1 $at, $f0 +/* D547A8 80240118 00000000 */ nop +/* D547AC 8024011C 4600103C */ c.lt.s $f2, $f0 +/* D547B0 80240120 00000000 */ nop +/* D547B4 80240124 45000002 */ bc1f .L80240130 +/* D547B8 80240128 24020046 */ addiu $v0, $zero, 0x46 +/* D547BC 8024012C AC820084 */ sw $v0, 0x84($a0) +.L80240130: +/* D547C0 80240130 03E00008 */ jr $ra +/* D547C4 80240134 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_04/func_80240138_D54690.s b/asm/nonmatchings/world/area_pra/pra_04/func_80240138_D54690.s new file mode 100644 index 0000000000..5c89d76a2e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_04/func_80240138_D54690.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240138_D547C8 +/* D547C8 80240138 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D547CC 8024013C AFB10014 */ sw $s1, 0x14($sp) +/* D547D0 80240140 0080882D */ daddu $s1, $a0, $zero +/* D547D4 80240144 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D547D8 80240148 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D547DC 8024014C AFBF0018 */ sw $ra, 0x18($sp) +/* D547E0 80240150 AFB00010 */ sw $s0, 0x10($sp) +/* D547E4 80240154 84430018 */ lh $v1, 0x18($v0) +/* D547E8 80240158 14600005 */ bnez $v1, .L80240170 +/* D547EC 8024015C 0040802D */ daddu $s0, $v0, $zero +/* D547F0 80240160 3C05FD05 */ lui $a1, 0xfd05 +/* D547F4 80240164 34A50F80 */ ori $a1, $a1, 0xf80 +/* D547F8 80240168 0C0B2026 */ jal set_variable +/* D547FC 8024016C 0000302D */ daddu $a2, $zero, $zero +.L80240170: +/* D54800 80240170 86030018 */ lh $v1, 0x18($s0) +/* D54804 80240174 2402FF38 */ addiu $v0, $zero, -0xc8 +/* D54808 80240178 14620005 */ bne $v1, $v0, .L80240190 +/* D5480C 8024017C 0220202D */ daddu $a0, $s1, $zero +/* D54810 80240180 3C05FD05 */ lui $a1, 0xfd05 +/* D54814 80240184 34A50F80 */ ori $a1, $a1, 0xf80 +/* D54818 80240188 0C0B2026 */ jal set_variable +/* D5481C 8024018C 24060001 */ addiu $a2, $zero, 1 +.L80240190: +/* D54820 80240190 8FBF0018 */ lw $ra, 0x18($sp) +/* D54824 80240194 8FB10014 */ lw $s1, 0x14($sp) +/* D54828 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* D5482C 8024019C 0000102D */ daddu $v0, $zero, $zero +/* D54830 802401A0 03E00008 */ jr $ra +/* D54834 802401A4 27BD0020 */ addiu $sp, $sp, 0x20 +/* D54838 802401A8 00000000 */ nop +/* D5483C 802401AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_04/func_802401B0_D54690.s b/asm/nonmatchings/world/area_pra/pra_04/func_802401B0_D54690.s new file mode 100644 index 0000000000..f3cf635e8e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_04/func_802401B0_D54690.s @@ -0,0 +1,508 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_D54840 +/* D54840 802401B0 27BDFF88 */ addiu $sp, $sp, -0x78 +/* D54844 802401B4 AFB3005C */ sw $s3, 0x5c($sp) +/* D54848 802401B8 0080982D */ daddu $s3, $a0, $zero +/* D5484C 802401BC AFBF006C */ sw $ra, 0x6c($sp) +/* D54850 802401C0 AFB60068 */ sw $s6, 0x68($sp) +/* D54854 802401C4 AFB50064 */ sw $s5, 0x64($sp) +/* D54858 802401C8 AFB40060 */ sw $s4, 0x60($sp) +/* D5485C 802401CC AFB20058 */ sw $s2, 0x58($sp) +/* D54860 802401D0 AFB10054 */ sw $s1, 0x54($sp) +/* D54864 802401D4 AFB00050 */ sw $s0, 0x50($sp) +/* D54868 802401D8 F7B40070 */ sdc1 $f20, 0x70($sp) +/* D5486C 802401DC 8E720148 */ lw $s2, 0x148($s3) +/* D54870 802401E0 86440008 */ lh $a0, 8($s2) +/* D54874 802401E4 0C00EABB */ jal get_npc_unsafe +/* D54878 802401E8 00A0802D */ daddu $s0, $a1, $zero +/* D5487C 802401EC 8E63000C */ lw $v1, 0xc($s3) +/* D54880 802401F0 0260202D */ daddu $a0, $s3, $zero +/* D54884 802401F4 8C650000 */ lw $a1, ($v1) +/* D54888 802401F8 0C0B1EAF */ jal get_variable +/* D5488C 802401FC 0040882D */ daddu $s1, $v0, $zero +/* D54890 80240200 AFA00020 */ sw $zero, 0x20($sp) +/* D54894 80240204 8E4300D0 */ lw $v1, 0xd0($s2) +/* D54898 80240208 8C630030 */ lw $v1, 0x30($v1) +/* D5489C 8024020C AFA30024 */ sw $v1, 0x24($sp) +/* D548A0 80240210 8E4300D0 */ lw $v1, 0xd0($s2) +/* D548A4 80240214 8C63001C */ lw $v1, 0x1c($v1) +/* D548A8 80240218 AFA30028 */ sw $v1, 0x28($sp) +/* D548AC 8024021C 8E4300D0 */ lw $v1, 0xd0($s2) +/* D548B0 80240220 8C630024 */ lw $v1, 0x24($v1) +/* D548B4 80240224 AFA3002C */ sw $v1, 0x2c($sp) +/* D548B8 80240228 8E4300D0 */ lw $v1, 0xd0($s2) +/* D548BC 8024022C 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* D548C0 80240230 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* D548C4 80240234 8C630028 */ lw $v1, 0x28($v1) +/* D548C8 80240238 27B60020 */ addiu $s6, $sp, 0x20 +/* D548CC 8024023C AFA30030 */ sw $v1, 0x30($sp) +/* D548D0 80240240 8E4300D0 */ lw $v1, 0xd0($s2) +/* D548D4 80240244 3C0143FA */ lui $at, 0x43fa +/* D548D8 80240248 44810000 */ mtc1 $at, $f0 +/* D548DC 8024024C 8C63002C */ lw $v1, 0x2c($v1) +/* D548E0 80240250 0040A02D */ daddu $s4, $v0, $zero +/* D548E4 80240254 E7A00038 */ swc1 $f0, 0x38($sp) +/* D548E8 80240258 A7A0003C */ sh $zero, 0x3c($sp) +/* D548EC 8024025C 12000019 */ beqz $s0, .L802402C4 +/* D548F0 80240260 AFA30034 */ sw $v1, 0x34($sp) +/* D548F4 80240264 27A50040 */ addiu $a1, $sp, 0x40 +/* D548F8 80240268 27A60044 */ addiu $a2, $sp, 0x44 +/* D548FC 8024026C AE600070 */ sw $zero, 0x70($s3) +/* D54900 80240270 A620008E */ sh $zero, 0x8e($s1) +/* D54904 80240274 8E4200B0 */ lw $v0, 0xb0($s2) +/* D54908 80240278 3C01447A */ lui $at, 0x447a +/* D5490C 8024027C 44810000 */ mtc1 $at, $f0 +/* D54910 80240280 34420010 */ ori $v0, $v0, 0x10 +/* D54914 80240284 AE4200B0 */ sw $v0, 0xb0($s2) +/* D54918 80240288 C6220038 */ lwc1 $f2, 0x38($s1) +/* D5491C 8024028C C624003C */ lwc1 $f4, 0x3c($s1) +/* D54920 80240290 C6260040 */ lwc1 $f6, 0x40($s1) +/* D54924 80240294 27A2004C */ addiu $v0, $sp, 0x4c +/* D54928 80240298 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D5492C 8024029C E7A20040 */ swc1 $f2, 0x40($sp) +/* D54930 802402A0 E7A40044 */ swc1 $f4, 0x44($sp) +/* D54934 802402A4 E7A60048 */ swc1 $f6, 0x48($sp) +/* D54938 802402A8 AFA20010 */ sw $v0, 0x10($sp) +/* D5493C 802402AC 8E240080 */ lw $a0, 0x80($s1) +/* D54940 802402B0 0C0372DF */ jal func_800DCB7C +/* D54944 802402B4 27A70048 */ addiu $a3, $sp, 0x48 +/* D54948 802402B8 C7A00044 */ lwc1 $f0, 0x44($sp) +/* D5494C 802402BC 4600028D */ trunc.w.s $f10, $f0 +/* D54950 802402C0 E64A0070 */ swc1 $f10, 0x70($s2) +.L802402C4: +/* D54954 802402C4 8E4300B0 */ lw $v1, 0xb0($s2) +/* D54958 802402C8 30620004 */ andi $v0, $v1, 4 +/* D5495C 802402CC 10400007 */ beqz $v0, .L802402EC +/* D54960 802402D0 00000000 */ nop +/* D54964 802402D4 824200B4 */ lb $v0, 0xb4($s2) +/* D54968 802402D8 1440018D */ bnez $v0, .L80240910 +/* D5496C 802402DC 0000102D */ daddu $v0, $zero, $zero +/* D54970 802402E0 2402FFFB */ addiu $v0, $zero, -5 +/* D54974 802402E4 00621024 */ and $v0, $v1, $v0 +/* D54978 802402E8 AE4200B0 */ sw $v0, 0xb0($s2) +.L802402EC: +/* D5497C 802402EC 8E630070 */ lw $v1, 0x70($s3) +/* D54980 802402F0 2C620010 */ sltiu $v0, $v1, 0x10 +/* D54984 802402F4 10400185 */ beqz $v0, .L8024090C +/* D54988 802402F8 00031080 */ sll $v0, $v1, 2 +/* D5498C 802402FC 3C018024 */ lui $at, 0x8024 +/* D54990 80240300 00220821 */ addu $at, $at, $v0 +/* D54994 80240304 8C2214D0 */ lw $v0, 0x14d0($at) +/* D54998 80240308 00400008 */ jr $v0 +/* D5499C 8024030C 00000000 */ nop +/* D549A0 80240310 8E4200CC */ lw $v0, 0xcc($s2) +/* D549A4 80240314 922300A9 */ lbu $v1, 0xa9($s1) +/* D549A8 80240318 8C440000 */ lw $a0, ($v0) +/* D549AC 8024031C 8E220000 */ lw $v0, ($s1) +/* D549B0 80240320 A22300AB */ sb $v1, 0xab($s1) +/* D549B4 80240324 34420080 */ ori $v0, $v0, 0x80 +/* D549B8 80240328 AE220000 */ sw $v0, ($s1) +/* D549BC 8024032C 24020001 */ addiu $v0, $zero, 1 +/* D549C0 80240330 AE240028 */ sw $a0, 0x28($s1) +/* D549C4 80240334 AE600074 */ sw $zero, 0x74($s3) +/* D549C8 80240338 AE620070 */ sw $v0, 0x70($s3) +/* D549CC 8024033C 8E830014 */ lw $v1, 0x14($s4) +/* D549D0 80240340 04600015 */ bltz $v1, .L80240398 +/* D549D4 80240344 00000000 */ nop +/* D549D8 80240348 8E620074 */ lw $v0, 0x74($s3) +/* D549DC 8024034C 1C400011 */ bgtz $v0, .L80240394 +/* D549E0 80240350 2442FFFF */ addiu $v0, $v0, -1 +/* D549E4 80240354 02C0202D */ daddu $a0, $s6, $zero +/* D549E8 80240358 AE630074 */ sw $v1, 0x74($s3) +/* D549EC 8024035C AFA00010 */ sw $zero, 0x10($sp) +/* D549F0 80240360 8E86000C */ lw $a2, 0xc($s4) +/* D549F4 80240364 8E870010 */ lw $a3, 0x10($s4) +/* D549F8 80240368 0C01242D */ jal func_800490B4 +/* D549FC 8024036C 0240282D */ daddu $a1, $s2, $zero +/* D54A00 80240370 10400006 */ beqz $v0, .L8024038C +/* D54A04 80240374 0220202D */ daddu $a0, $s1, $zero +/* D54A08 80240378 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D54A0C 8024037C 0C012530 */ jal func_800494C0 +/* D54A10 80240380 3C060020 */ lui $a2, 0x20 +/* D54A14 80240384 2402000A */ addiu $v0, $zero, 0xa +/* D54A18 80240388 AE620070 */ sw $v0, 0x70($s3) +.L8024038C: +/* D54A1C 8024038C 8E620074 */ lw $v0, 0x74($s3) +/* D54A20 80240390 2442FFFF */ addiu $v0, $v0, -1 +.L80240394: +/* D54A24 80240394 AE620074 */ sw $v0, 0x74($s3) +.L80240398: +/* D54A28 80240398 8E630070 */ lw $v1, 0x70($s3) +/* D54A2C 8024039C 2402000A */ addiu $v0, $zero, 0xa +/* D54A30 802403A0 1462015B */ bne $v1, $v0, .L80240910 +/* D54A34 802403A4 0000102D */ daddu $v0, $zero, $zero +/* D54A38 802403A8 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D54A3C 802403AC 8E4200CC */ lw $v0, 0xcc($s2) +/* D54A40 802403B0 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D54A44 802403B4 8C42000C */ lw $v0, 0xc($v0) +/* D54A48 802403B8 AE220028 */ sw $v0, 0x28($s1) +/* D54A4C 802403BC 8EA60028 */ lw $a2, 0x28($s5) +/* D54A50 802403C0 0C00A720 */ jal atan2 +/* D54A54 802403C4 8EA70030 */ lw $a3, 0x30($s5) +/* D54A58 802403C8 3C013FA6 */ lui $at, 0x3fa6 +/* D54A5C 802403CC 34216666 */ ori $at, $at, 0x6666 +/* D54A60 802403D0 44811000 */ mtc1 $at, $f2 +/* D54A64 802403D4 27A50040 */ addiu $a1, $sp, 0x40 +/* D54A68 802403D8 E6200010 */ swc1 $f0, 0x10($s1) +/* D54A6C 802403DC C6200038 */ lwc1 $f0, 0x38($s1) +/* D54A70 802403E0 C6240040 */ lwc1 $f4, 0x40($s1) +/* D54A74 802403E4 3C01447A */ lui $at, 0x447a +/* D54A78 802403E8 44813000 */ mtc1 $at, $f6 +/* D54A7C 802403EC 27A60044 */ addiu $a2, $sp, 0x44 +/* D54A80 802403F0 AE20001C */ sw $zero, 0x1c($s1) +/* D54A84 802403F4 E6220014 */ swc1 $f2, 0x14($s1) +/* D54A88 802403F8 C6880000 */ lwc1 $f8, ($s4) +/* D54A8C 802403FC C622003C */ lwc1 $f2, 0x3c($s1) +/* D54A90 80240400 27A2004C */ addiu $v0, $sp, 0x4c +/* D54A94 80240404 E7A00040 */ swc1 $f0, 0x40($sp) +/* D54A98 80240408 E7A40048 */ swc1 $f4, 0x48($sp) +/* D54A9C 8024040C E7A6004C */ swc1 $f6, 0x4c($sp) +/* D54AA0 80240410 E7A20044 */ swc1 $f2, 0x44($sp) +/* D54AA4 80240414 E6280018 */ swc1 $f8, 0x18($s1) +/* D54AA8 80240418 AFA20010 */ sw $v0, 0x10($sp) +/* D54AAC 8024041C 8E240080 */ lw $a0, 0x80($s1) +/* D54AB0 80240420 0C0372DF */ jal func_800DCB7C +/* D54AB4 80240424 27A70048 */ addiu $a3, $sp, 0x48 +/* D54AB8 80240428 10400010 */ beqz $v0, .L8024046C +/* D54ABC 8024042C 00000000 */ nop +/* D54AC0 80240430 C620003C */ lwc1 $f0, 0x3c($s1) +/* D54AC4 80240434 C6440070 */ lwc1 $f4, 0x70($s2) +/* D54AC8 80240438 46802120 */ cvt.s.w $f4, $f4 +/* D54ACC 8024043C 46040001 */ sub.s $f0, $f0, $f4 +/* D54AD0 80240440 3C018024 */ lui $at, 0x8024 +/* D54AD4 80240444 D4221510 */ ldc1 $f2, 0x1510($at) +/* D54AD8 80240448 46000021 */ cvt.d.s $f0, $f0 +/* D54ADC 8024044C 46220002 */ mul.d $f0, $f0, $f2 +/* D54AE0 80240450 00000000 */ nop +/* D54AE4 80240454 460020A1 */ cvt.d.s $f2, $f4 +/* D54AE8 80240458 46201080 */ add.d $f2, $f2, $f0 +/* D54AEC 8024045C E7A40044 */ swc1 $f4, 0x44($sp) +/* D54AF0 80240460 462010A0 */ cvt.s.d $f2, $f2 +/* D54AF4 80240464 08090127 */ j .L8024049C +/* D54AF8 80240468 E6220064 */ swc1 $f2, 0x64($s1) +.L8024046C: +/* D54AFC 8024046C C6A0002C */ lwc1 $f0, 0x2c($s5) +/* D54B00 80240470 C622003C */ lwc1 $f2, 0x3c($s1) +/* D54B04 80240474 46001081 */ sub.s $f2, $f2, $f0 +/* D54B08 80240478 3C018024 */ lui $at, 0x8024 +/* D54B0C 8024047C D4241518 */ ldc1 $f4, 0x1518($at) +/* D54B10 80240480 460010A1 */ cvt.d.s $f2, $f2 +/* D54B14 80240484 46241082 */ mul.d $f2, $f2, $f4 +/* D54B18 80240488 00000000 */ nop +/* D54B1C 8024048C 46000021 */ cvt.d.s $f0, $f0 +/* D54B20 80240490 46220000 */ add.d $f0, $f0, $f2 +/* D54B24 80240494 46200020 */ cvt.s.d $f0, $f0 +/* D54B28 80240498 E6200064 */ swc1 $f0, 0x64($s1) +.L8024049C: +/* D54B2C 8024049C C620003C */ lwc1 $f0, 0x3c($s1) +/* D54B30 802404A0 2402000B */ addiu $v0, $zero, 0xb +/* D54B34 802404A4 E6200068 */ swc1 $f0, 0x68($s1) +/* D54B38 802404A8 AE620070 */ sw $v0, 0x70($s3) +/* D54B3C 802404AC C6200018 */ lwc1 $f0, 0x18($s1) +/* D54B40 802404B0 44801000 */ mtc1 $zero, $f2 +/* D54B44 802404B4 44801800 */ mtc1 $zero, $f3 +/* D54B48 802404B8 46000021 */ cvt.d.s $f0, $f0 +/* D54B4C 802404BC 4620103C */ c.lt.d $f2, $f0 +/* D54B50 802404C0 00000000 */ nop +/* D54B54 802404C4 45000025 */ bc1f .L8024055C +/* D54B58 802404C8 27A50040 */ addiu $a1, $sp, 0x40 +/* D54B5C 802404CC C6200038 */ lwc1 $f0, 0x38($s1) +/* D54B60 802404D0 C622003C */ lwc1 $f2, 0x3c($s1) +/* D54B64 802404D4 C6240040 */ lwc1 $f4, 0x40($s1) +/* D54B68 802404D8 C6260018 */ lwc1 $f6, 0x18($s1) +/* D54B6C 802404DC E7A00040 */ swc1 $f0, 0x40($sp) +/* D54B70 802404E0 E7A20044 */ swc1 $f2, 0x44($sp) +/* D54B74 802404E4 E7A40048 */ swc1 $f4, 0x48($sp) +/* D54B78 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* D54B7C 802404EC C620000C */ lwc1 $f0, 0xc($s1) +/* D54B80 802404F0 E7A00014 */ swc1 $f0, 0x14($sp) +/* D54B84 802404F4 862200A8 */ lh $v0, 0xa8($s1) +/* D54B88 802404F8 44820000 */ mtc1 $v0, $f0 +/* D54B8C 802404FC 00000000 */ nop +/* D54B90 80240500 46800020 */ cvt.s.w $f0, $f0 +/* D54B94 80240504 E7A00018 */ swc1 $f0, 0x18($sp) +/* D54B98 80240508 862200A6 */ lh $v0, 0xa6($s1) +/* D54B9C 8024050C 27A60044 */ addiu $a2, $sp, 0x44 +/* D54BA0 80240510 44820000 */ mtc1 $v0, $f0 +/* D54BA4 80240514 00000000 */ nop +/* D54BA8 80240518 46800020 */ cvt.s.w $f0, $f0 +/* D54BAC 8024051C E7A0001C */ swc1 $f0, 0x1c($sp) +/* D54BB0 80240520 8E240080 */ lw $a0, 0x80($s1) +/* D54BB4 80240524 0C037711 */ jal func_800DDC44 +/* D54BB8 80240528 27A70048 */ addiu $a3, $sp, 0x48 +/* D54BBC 8024052C 54400001 */ bnel $v0, $zero, .L80240534 +/* D54BC0 80240530 AE200018 */ sw $zero, 0x18($s1) +.L80240534: +/* D54BC4 80240534 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D54BC8 80240538 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D54BCC 8024053C 8EA60028 */ lw $a2, 0x28($s5) +/* D54BD0 80240540 0C00A720 */ jal atan2 +/* D54BD4 80240544 8EA70030 */ lw $a3, 0x30($s5) +/* D54BD8 80240548 8E250018 */ lw $a1, 0x18($s1) +/* D54BDC 8024054C 44060000 */ mfc1 $a2, $f0 +/* D54BE0 80240550 0220202D */ daddu $a0, $s1, $zero +/* D54BE4 80240554 0C00EA95 */ jal npc_move_heading +/* D54BE8 80240558 AE26000C */ sw $a2, 0xc($s1) +.L8024055C: +/* D54BEC 8024055C C620001C */ lwc1 $f0, 0x1c($s1) +/* D54BF0 80240560 C6220014 */ lwc1 $f2, 0x14($s1) +/* D54BF4 80240564 46020001 */ sub.s $f0, $f0, $f2 +/* D54BF8 80240568 C622003C */ lwc1 $f2, 0x3c($s1) +/* D54BFC 8024056C C6240064 */ lwc1 $f4, 0x64($s1) +/* D54C00 80240570 46001080 */ add.s $f2, $f2, $f0 +/* D54C04 80240574 E620001C */ swc1 $f0, 0x1c($s1) +/* D54C08 80240578 4604103C */ c.lt.s $f2, $f4 +/* D54C0C 8024057C 00000000 */ nop +/* D54C10 80240580 450000E2 */ bc1f .L8024090C +/* D54C14 80240584 E622003C */ swc1 $f2, 0x3c($s1) +/* D54C18 80240588 2402000C */ addiu $v0, $zero, 0xc +/* D54C1C 8024058C E624003C */ swc1 $f4, 0x3c($s1) +/* D54C20 80240590 AE620070 */ sw $v0, 0x70($s3) +/* D54C24 80240594 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D54C28 80240598 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D54C2C 8024059C 8EA60028 */ lw $a2, 0x28($s5) +/* D54C30 802405A0 0C00A7B5 */ jal dist2D +/* D54C34 802405A4 8EA70030 */ lw $a3, 0x30($s5) +/* D54C38 802405A8 3C014270 */ lui $at, 0x4270 +/* D54C3C 802405AC 44811000 */ mtc1 $at, $f2 +/* D54C40 802405B0 00000000 */ nop +/* D54C44 802405B4 4602003C */ c.lt.s $f0, $f2 +/* D54C48 802405B8 00000000 */ nop +/* D54C4C 802405BC 45000002 */ bc1f .L802405C8 +/* D54C50 802405C0 E6200010 */ swc1 $f0, 0x10($s1) +/* D54C54 802405C4 E6220010 */ swc1 $f2, 0x10($s1) +.L802405C8: +/* D54C58 802405C8 C6860018 */ lwc1 $f6, 0x18($s4) +/* D54C5C 802405CC C6400070 */ lwc1 $f0, 0x70($s2) +/* D54C60 802405D0 46800020 */ cvt.s.w $f0, $f0 +/* D54C64 802405D4 E7A00044 */ swc1 $f0, 0x44($sp) +/* D54C68 802405D8 46000021 */ cvt.d.s $f0, $f0 +/* D54C6C 802405DC C6240010 */ lwc1 $f4, 0x10($s1) +/* D54C70 802405E0 3C014024 */ lui $at, 0x4024 +/* D54C74 802405E4 44811800 */ mtc1 $at, $f3 +/* D54C78 802405E8 44801000 */ mtc1 $zero, $f2 +/* D54C7C 802405EC 46062103 */ div.s $f4, $f4, $f6 +/* D54C80 802405F0 46220000 */ add.d $f0, $f0, $f2 +/* D54C84 802405F4 C622003C */ lwc1 $f2, 0x3c($s1) +/* D54C88 802405F8 4600228D */ trunc.w.s $f10, $f4 +/* D54C8C 802405FC 44025000 */ mfc1 $v0, $f10 +/* D54C90 80240600 00000000 */ nop +/* D54C94 80240604 A622008E */ sh $v0, 0x8e($s1) +/* D54C98 80240608 460010A1 */ cvt.d.s $f2, $f2 +/* D54C9C 8024060C 46220001 */ sub.d $f0, $f0, $f2 +/* D54CA0 80240610 00021400 */ sll $v0, $v0, 0x10 +/* D54CA4 80240614 E6260018 */ swc1 $f6, 0x18($s1) +/* D54CA8 80240618 14400003 */ bnez $v0, .L80240628 +/* D54CAC 8024061C 46200120 */ cvt.s.d $f4, $f0 +/* D54CB0 80240620 24020001 */ addiu $v0, $zero, 1 +/* D54CB4 80240624 A622008E */ sh $v0, 0x8e($s1) +.L80240628: +/* D54CB8 80240628 8622008E */ lh $v0, 0x8e($s1) +/* D54CBC 8024062C C620001C */ lwc1 $f0, 0x1c($s1) +/* D54CC0 80240630 44821000 */ mtc1 $v0, $f2 +/* D54CC4 80240634 00000000 */ nop +/* D54CC8 80240638 468010A0 */ cvt.s.w $f2, $f2 +/* D54CCC 8024063C 46000007 */ neg.s $f0, $f0 +/* D54CD0 80240640 46020002 */ mul.s $f0, $f0, $f2 +/* D54CD4 80240644 00000000 */ nop +/* D54CD8 80240648 00420018 */ mult $v0, $v0 +/* D54CDC 8024064C 8E230000 */ lw $v1, ($s1) +/* D54CE0 80240650 46040000 */ add.s $f0, $f0, $f4 +/* D54CE4 80240654 A22000AB */ sb $zero, 0xab($s1) +/* D54CE8 80240658 2402FF7F */ addiu $v0, $zero, -0x81 +/* D54CEC 8024065C 00004012 */ mflo $t0 +/* D54CF0 80240660 00621824 */ and $v1, $v1, $v0 +/* D54CF4 80240664 24020005 */ addiu $v0, $zero, 5 +/* D54CF8 80240668 46000000 */ add.s $f0, $f0, $f0 +/* D54CFC 8024066C AE230000 */ sw $v1, ($s1) +/* D54D00 80240670 44881000 */ mtc1 $t0, $f2 +/* D54D04 80240674 00000000 */ nop +/* D54D08 80240678 468010A0 */ cvt.s.w $f2, $f2 +/* D54D0C 8024067C 46000007 */ neg.s $f0, $f0 +/* D54D10 80240680 46020003 */ div.s $f0, $f0, $f2 +/* D54D14 80240684 46000005 */ abs.s $f0, $f0 +/* D54D18 80240688 46000007 */ neg.s $f0, $f0 +/* D54D1C 8024068C E6200014 */ swc1 $f0, 0x14($s1) +/* D54D20 80240690 AE42006C */ sw $v0, 0x6c($s2) +/* D54D24 80240694 2402000D */ addiu $v0, $zero, 0xd +/* D54D28 80240698 A620008E */ sh $zero, 0x8e($s1) +/* D54D2C 8024069C AE620070 */ sw $v0, 0x70($s3) +/* D54D30 802406A0 C620001C */ lwc1 $f0, 0x1c($s1) +/* D54D34 802406A4 C6220014 */ lwc1 $f2, 0x14($s1) +/* D54D38 802406A8 46020001 */ sub.s $f0, $f0, $f2 +/* D54D3C 802406AC 4480A000 */ mtc1 $zero, $f20 +/* D54D40 802406B0 00000000 */ nop +/* D54D44 802406B4 4614003C */ c.lt.s $f0, $f20 +/* D54D48 802406B8 00000000 */ nop +/* D54D4C 802406BC 45000012 */ bc1f .L80240708 +/* D54D50 802406C0 E620001C */ swc1 $f0, 0x1c($s1) +/* D54D54 802406C4 27A50040 */ addiu $a1, $sp, 0x40 +/* D54D58 802406C8 27A60044 */ addiu $a2, $sp, 0x44 +/* D54D5C 802406CC 27A2004C */ addiu $v0, $sp, 0x4c +/* D54D60 802406D0 C6220038 */ lwc1 $f2, 0x38($s1) +/* D54D64 802406D4 C624003C */ lwc1 $f4, 0x3c($s1) +/* D54D68 802406D8 C6260040 */ lwc1 $f6, 0x40($s1) +/* D54D6C 802406DC 46000007 */ neg.s $f0, $f0 +/* D54D70 802406E0 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D54D74 802406E4 E7A20040 */ swc1 $f2, 0x40($sp) +/* D54D78 802406E8 E7A40044 */ swc1 $f4, 0x44($sp) +/* D54D7C 802406EC E7A60048 */ swc1 $f6, 0x48($sp) +/* D54D80 802406F0 AFA20010 */ sw $v0, 0x10($sp) +/* D54D84 802406F4 8E240080 */ lw $a0, 0x80($s1) +/* D54D88 802406F8 0C0372DF */ jal func_800DCB7C +/* D54D8C 802406FC 27A70048 */ addiu $a3, $sp, 0x48 +/* D54D90 80240700 54400001 */ bnel $v0, $zero, .L80240708 +/* D54D94 80240704 E634001C */ swc1 $f20, 0x1c($s1) +.L80240708: +/* D54D98 80240708 C624003C */ lwc1 $f4, 0x3c($s1) +/* D54D9C 8024070C C620001C */ lwc1 $f0, 0x1c($s1) +/* D54DA0 80240710 46002100 */ add.s $f4, $f4, $f0 +/* D54DA4 80240714 C6200018 */ lwc1 $f0, 0x18($s1) +/* D54DA8 80240718 44801000 */ mtc1 $zero, $f2 +/* D54DAC 8024071C 44801800 */ mtc1 $zero, $f3 +/* D54DB0 80240720 46000021 */ cvt.d.s $f0, $f0 +/* D54DB4 80240724 4620103C */ c.lt.d $f2, $f0 +/* D54DB8 80240728 00000000 */ nop +/* D54DBC 8024072C 45000057 */ bc1f .L8024088C +/* D54DC0 80240730 E624003C */ swc1 $f4, 0x3c($s1) +/* D54DC4 80240734 46002086 */ mov.s $f2, $f4 +/* D54DC8 80240738 C6200038 */ lwc1 $f0, 0x38($s1) +/* D54DCC 8024073C C6240040 */ lwc1 $f4, 0x40($s1) +/* D54DD0 80240740 C6260018 */ lwc1 $f6, 0x18($s1) +/* D54DD4 80240744 E7A20044 */ swc1 $f2, 0x44($sp) +/* D54DD8 80240748 E7A00040 */ swc1 $f0, 0x40($sp) +/* D54DDC 8024074C E7A40048 */ swc1 $f4, 0x48($sp) +/* D54DE0 80240750 E7A60010 */ swc1 $f6, 0x10($sp) +/* D54DE4 80240754 C620000C */ lwc1 $f0, 0xc($s1) +/* D54DE8 80240758 E7A00014 */ swc1 $f0, 0x14($sp) +/* D54DEC 8024075C 862200A8 */ lh $v0, 0xa8($s1) +/* D54DF0 80240760 27A50040 */ addiu $a1, $sp, 0x40 +/* D54DF4 80240764 44820000 */ mtc1 $v0, $f0 +/* D54DF8 80240768 00000000 */ nop +/* D54DFC 8024076C 46800020 */ cvt.s.w $f0, $f0 +/* D54E00 80240770 E7A00018 */ swc1 $f0, 0x18($sp) +/* D54E04 80240774 862200A6 */ lh $v0, 0xa6($s1) +/* D54E08 80240778 27A60044 */ addiu $a2, $sp, 0x44 +/* D54E0C 8024077C 44820000 */ mtc1 $v0, $f0 +/* D54E10 80240780 00000000 */ nop +/* D54E14 80240784 46800020 */ cvt.s.w $f0, $f0 +/* D54E18 80240788 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D54E1C 8024078C 8E240080 */ lw $a0, 0x80($s1) +/* D54E20 80240790 0C037711 */ jal func_800DDC44 +/* D54E24 80240794 27A70048 */ addiu $a3, $sp, 0x48 +/* D54E28 80240798 10400003 */ beqz $v0, .L802407A8 +/* D54E2C 8024079C 00000000 */ nop +/* D54E30 802407A0 0809021F */ j .L8024087C +/* D54E34 802407A4 AE200018 */ sw $zero, 0x18($s1) +.L802407A8: +/* D54E38 802407A8 C620001C */ lwc1 $f0, 0x1c($s1) +/* D54E3C 802407AC 3C01C004 */ lui $at, 0xc004 +/* D54E40 802407B0 44811800 */ mtc1 $at, $f3 +/* D54E44 802407B4 44801000 */ mtc1 $zero, $f2 +/* D54E48 802407B8 46000021 */ cvt.d.s $f0, $f0 +/* D54E4C 802407BC 4622003C */ c.lt.d $f0, $f2 +/* D54E50 802407C0 00000000 */ nop +/* D54E54 802407C4 4500002D */ bc1f .L8024087C +/* D54E58 802407C8 00000000 */ nop +/* D54E5C 802407CC 9622008E */ lhu $v0, 0x8e($s1) +/* D54E60 802407D0 24420001 */ addiu $v0, $v0, 1 +/* D54E64 802407D4 A622008E */ sh $v0, 0x8e($s1) +/* D54E68 802407D8 00021400 */ sll $v0, $v0, 0x10 +/* D54E6C 802407DC 8E830020 */ lw $v1, 0x20($s4) +/* D54E70 802407E0 00021403 */ sra $v0, $v0, 0x10 +/* D54E74 802407E4 0043102A */ slt $v0, $v0, $v1 +/* D54E78 802407E8 14400024 */ bnez $v0, .L8024087C +/* D54E7C 802407EC 00000000 */ nop +/* D54E80 802407F0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D54E84 802407F4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D54E88 802407F8 8EA60028 */ lw $a2, 0x28($s5) +/* D54E8C 802407FC 0C00A720 */ jal atan2 +/* D54E90 80240800 8EA70030 */ lw $a3, 0x30($s5) +/* D54E94 80240804 46000506 */ mov.s $f20, $f0 +/* D54E98 80240808 C62C000C */ lwc1 $f12, 0xc($s1) +/* D54E9C 8024080C 0C00A70A */ jal get_clamped_angle_diff +/* D54EA0 80240810 4600A386 */ mov.s $f14, $f20 +/* D54EA4 80240814 46000086 */ mov.s $f2, $f0 +/* D54EA8 80240818 8E82001C */ lw $v0, 0x1c($s4) +/* D54EAC 8024081C 46001005 */ abs.s $f0, $f2 +/* D54EB0 80240820 44822000 */ mtc1 $v0, $f4 +/* D54EB4 80240824 00000000 */ nop +/* D54EB8 80240828 46802120 */ cvt.s.w $f4, $f4 +/* D54EBC 8024082C 4600203C */ c.lt.s $f4, $f0 +/* D54EC0 80240830 00000000 */ nop +/* D54EC4 80240834 4500000D */ bc1f .L8024086C +/* D54EC8 80240838 00000000 */ nop +/* D54ECC 8024083C 44800000 */ mtc1 $zero, $f0 +/* D54ED0 80240840 C634000C */ lwc1 $f20, 0xc($s1) +/* D54ED4 80240844 4600103C */ c.lt.s $f2, $f0 +/* D54ED8 80240848 00000000 */ nop +/* D54EDC 8024084C 45000006 */ bc1f .L80240868 +/* D54EE0 80240850 00021023 */ negu $v0, $v0 +/* D54EE4 80240854 44820000 */ mtc1 $v0, $f0 +/* D54EE8 80240858 00000000 */ nop +/* D54EEC 8024085C 46800020 */ cvt.s.w $f0, $f0 +/* D54EF0 80240860 0809021B */ j .L8024086C +/* D54EF4 80240864 4600A500 */ add.s $f20, $f20, $f0 +.L80240868: +/* D54EF8 80240868 4604A500 */ add.s $f20, $f20, $f4 +.L8024086C: +/* D54EFC 8024086C 0C00A6C9 */ jal clamp_angle +/* D54F00 80240870 4600A306 */ mov.s $f12, $f20 +/* D54F04 80240874 E620000C */ swc1 $f0, 0xc($s1) +/* D54F08 80240878 A620008E */ sh $zero, 0x8e($s1) +.L8024087C: +/* D54F0C 8024087C 8E250018 */ lw $a1, 0x18($s1) +/* D54F10 80240880 8E26000C */ lw $a2, 0xc($s1) +/* D54F14 80240884 0C00EA95 */ jal npc_move_heading +/* D54F18 80240888 0220202D */ daddu $a0, $s1, $zero +.L8024088C: +/* D54F1C 8024088C 8E42006C */ lw $v0, 0x6c($s2) +/* D54F20 80240890 2442FFFF */ addiu $v0, $v0, -1 +/* D54F24 80240894 1C400003 */ bgtz $v0, .L802408A4 +/* D54F28 80240898 AE42006C */ sw $v0, 0x6c($s2) +/* D54F2C 8024089C 24020005 */ addiu $v0, $zero, 5 +/* D54F30 802408A0 AE42006C */ sw $v0, 0x6c($s2) +.L802408A4: +/* D54F34 802408A4 C620003C */ lwc1 $f0, 0x3c($s1) +/* D54F38 802408A8 C6220068 */ lwc1 $f2, 0x68($s1) +/* D54F3C 802408AC 4600103C */ c.lt.s $f2, $f0 +/* D54F40 802408B0 00000000 */ nop +/* D54F44 802408B4 45000015 */ bc1f .L8024090C +/* D54F48 802408B8 2402000E */ addiu $v0, $zero, 0xe +/* D54F4C 802408BC E622003C */ swc1 $f2, 0x3c($s1) +/* D54F50 802408C0 AE620070 */ sw $v0, 0x70($s3) +/* D54F54 802408C4 8E4200CC */ lw $v0, 0xcc($s2) +/* D54F58 802408C8 922300A9 */ lbu $v1, 0xa9($s1) +/* D54F5C 802408CC 8C440020 */ lw $a0, 0x20($v0) +/* D54F60 802408D0 8E220000 */ lw $v0, ($s1) +/* D54F64 802408D4 A22300AB */ sb $v1, 0xab($s1) +/* D54F68 802408D8 34420080 */ ori $v0, $v0, 0x80 +/* D54F6C 802408DC AE220000 */ sw $v0, ($s1) +/* D54F70 802408E0 2402000F */ addiu $v0, $zero, 0xf +/* D54F74 802408E4 A622008E */ sh $v0, 0x8e($s1) +/* D54F78 802408E8 2402000F */ addiu $v0, $zero, 0xf +/* D54F7C 802408EC AE240028 */ sw $a0, 0x28($s1) +/* D54F80 802408F0 AE620070 */ sw $v0, 0x70($s3) +/* D54F84 802408F4 9622008E */ lhu $v0, 0x8e($s1) +/* D54F88 802408F8 2442FFFF */ addiu $v0, $v0, -1 +/* D54F8C 802408FC A622008E */ sh $v0, 0x8e($s1) +/* D54F90 80240900 00021400 */ sll $v0, $v0, 0x10 +/* D54F94 80240904 58400001 */ blezl $v0, .L8024090C +/* D54F98 80240908 AE600070 */ sw $zero, 0x70($s3) +.L8024090C: +/* D54F9C 8024090C 0000102D */ daddu $v0, $zero, $zero +.L80240910: +/* D54FA0 80240910 8FBF006C */ lw $ra, 0x6c($sp) +/* D54FA4 80240914 8FB60068 */ lw $s6, 0x68($sp) +/* D54FA8 80240918 8FB50064 */ lw $s5, 0x64($sp) +/* D54FAC 8024091C 8FB40060 */ lw $s4, 0x60($sp) +/* D54FB0 80240920 8FB3005C */ lw $s3, 0x5c($sp) +/* D54FB4 80240924 8FB20058 */ lw $s2, 0x58($sp) +/* D54FB8 80240928 8FB10054 */ lw $s1, 0x54($sp) +/* D54FBC 8024092C 8FB00050 */ lw $s0, 0x50($sp) +/* D54FC0 80240930 D7B40070 */ ldc1 $f20, 0x70($sp) +/* D54FC4 80240934 03E00008 */ jr $ra +/* D54FC8 80240938 27BD0078 */ addiu $sp, $sp, 0x78 +/* D54FCC 8024093C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240000_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240000_D55BB0.s new file mode 100644 index 0000000000..da3ee57f70 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240000_D55BB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D55BB0 +/* D55BB0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D55BB4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D55BB8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D55BBC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D55BC0 80240010 03E00008 */ jr $ra +/* D55BC4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D55BC8 80240018 00000000 */ nop +/* D55BCC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240020_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240020_D55BB0.s new file mode 100644 index 0000000000..e48eeca155 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240020_D55BB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D55BD0 +/* D55BD0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D55BD4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D55BD8 80240028 00822024 */ and $a0, $a0, $v0 +/* D55BDC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D55BE0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D55BE4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D55BE8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D55BEC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D55BF0 80240040 30620001 */ andi $v0, $v1, 1 +/* D55BF4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D55BF8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D55BFC 8024004C 03E00008 */ jr $ra +/* D55C00 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240054_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240054_D55BB0.s new file mode 100644 index 0000000000..ee1423f334 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240054_D55BB0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D55C04 +/* D55C04 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D55C08 80240058 304300FF */ andi $v1, $v0, 0xff +/* D55C0C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D55C10 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D55C14 80240064 28620007 */ slti $v0, $v1, 7 +/* D55C18 80240068 10400005 */ beqz $v0, .L80240080 +/* D55C1C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D55C20 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D55C24 80240074 3C020100 */ lui $v0, 0x100 +/* D55C28 80240078 03E00008 */ jr $ra +/* D55C2C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D55C30 80240080 2862000A */ slti $v0, $v1, 0xa +/* D55C34 80240084 10400016 */ beqz $v0, .L802400E0 +/* D55C38 80240088 28620008 */ slti $v0, $v1, 8 +/* D55C3C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D55C40 80240090 3C020100 */ lui $v0, 0x100 +/* D55C44 80240094 03E00008 */ jr $ra +/* D55C48 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D55C4C 8024009C 3C020001 */ lui $v0, 1 +/* D55C50 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D55C54 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D55C58 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D55C5C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D55C60 802400B0 03E00008 */ jr $ra +/* D55C64 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D55C68 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D55C6C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D55C70 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D55C74 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D55C78 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D55C7C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D55C80 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D55C84 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D55C88 802400D8 03E00008 */ jr $ra +/* D55C8C 802400DC 00000000 */ nop +.L802400E0: +/* D55C90 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D55C94 802400E4 03E00008 */ jr $ra +/* D55C98 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_802400EC_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_802400EC_D55BB0.s new file mode 100644 index 0000000000..97acd58af9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_802400EC_D55BB0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D55C9C +/* D55C9C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D55CA0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D55CA4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D55CA8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D55CAC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D55CB0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D55CB4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D55CB8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D55CBC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D55CC0 80240110 AC620000 */ sw $v0, ($v1) +/* D55CC4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D55CC8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D55CCC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D55CD0 80240120 03E00008 */ jr $ra +/* D55CD4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240128_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240128_D55BB0.s new file mode 100644 index 0000000000..27908897fd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240128_D55BB0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D55CD8 +/* D55CD8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D55CDC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D55CE0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D55CE4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D55CE8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D55CEC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D55CF0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D55CF4 80240144 8E020000 */ lw $v0, ($s0) +/* D55CF8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D55CFC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D55D00 80240150 10400061 */ beqz $v0, .L802402D8 +/* D55D04 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D55D08 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D55D0C 8024015C 0C044181 */ jal get_shadow_by_index +/* D55D10 80240160 00000000 */ nop +/* D55D14 80240164 0C048B77 */ jal func_80122DDC +/* D55D18 80240168 84440008 */ lh $a0, 8($v0) +/* D55D1C 8024016C 8C430000 */ lw $v1, ($v0) +/* D55D20 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D55D24 80240174 AC430000 */ sw $v1, ($v0) +/* D55D28 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D55D2C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D55D30 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D55D34 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D55D38 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D55D3C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D55D40 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D55D44 80240194 3C04800A */ lui $a0, 0x800a +/* D55D48 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D55D4C 8024019C 46000007 */ neg.s $f0, $f0 +/* D55D50 802401A0 44070000 */ mfc1 $a3, $f0 +/* D55D54 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D55D58 802401A8 0C00B94E */ jal get_screen_coords +/* D55D5C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D55D60 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D55D64 802401B4 0C090008 */ jal func_80240020 +/* D55D68 802401B8 00000000 */ nop +/* D55D6C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D55D70 802401C0 3C014307 */ lui $at, 0x4307 +/* D55D74 802401C4 44810000 */ mtc1 $at, $f0 +/* D55D78 802401C8 00000000 */ nop +/* D55D7C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D55D80 802401D0 00000000 */ nop +/* D55D84 802401D4 4500000B */ bc1f .L80240204 +/* D55D88 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D55D8C 802401DC 3C014361 */ lui $at, 0x4361 +/* D55D90 802401E0 44810000 */ mtc1 $at, $f0 +/* D55D94 802401E4 00000000 */ nop +/* D55D98 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D55D9C 802401EC 00000000 */ nop +/* D55DA0 802401F0 45000004 */ bc1f .L80240204 +/* D55DA4 802401F4 00000000 */ nop +/* D55DA8 802401F8 0C090015 */ jal func_80240054 +/* D55DAC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D55DB0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D55DB4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D55DB8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D55DBC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D55DC0 80240210 8E020000 */ lw $v0, ($s0) +/* D55DC4 80240214 3C030002 */ lui $v1, 2 +/* D55DC8 80240218 00431024 */ and $v0, $v0, $v1 +/* D55DCC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D55DD0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D55DD4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D55DD8 80240228 3C02802E */ lui $v0, 0x802e +/* D55DDC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D55DE0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D55DE4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D55DE8 80240238 1040000B */ beqz $v0, .L80240268 +/* D55DEC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D55DF0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D55DF4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D55DF8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D55DFC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D55E00 80240250 0000382D */ daddu $a3, $zero, $zero +/* D55E04 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D55E08 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D55E0C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D55E10 80240260 080900A3 */ j .L8024028C +/* D55E14 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D55E18 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D55E1C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D55E20 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D55E24 80240274 0000302D */ daddu $a2, $zero, $zero +/* D55E28 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D55E2C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D55E30 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D55E34 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D55E38 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D55E3C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D55E40 80240290 00000000 */ nop +.L80240294: +/* D55E44 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D55E48 80240298 3C01802E */ lui $at, 0x802e +/* D55E4C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D55E50 802402A0 080900AD */ j .L802402B4 +/* D55E54 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D55E58 802402A8 3C01802E */ lui $at, 0x802e +/* D55E5C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D55E60 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D55E64 802402B4 AC910000 */ sw $s1, ($a0) +/* D55E68 802402B8 AC900008 */ sw $s0, 8($a0) +/* D55E6C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D55E70 802402C0 3C038024 */ lui $v1, 0x8024 +/* D55E74 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D55E78 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D55E7C 802402CC 00021023 */ negu $v0, $v0 +/* D55E80 802402D0 0C047644 */ jal queue_render_task +/* D55E84 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D55E88 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D55E8C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D55E90 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D55E94 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D55E98 802402E8 03E00008 */ jr $ra +/* D55E9C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_802402F0_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_802402F0_D55BB0.s new file mode 100644 index 0000000000..24994ffb19 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_802402F0_D55BB0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D55EA0 +/* D55EA0 802402F0 3C03800A */ lui $v1, 0x800a +/* D55EA4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D55EA8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D55EAC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D55EB0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D55EB4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D55EB8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D55EBC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D55EC0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D55EC4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D55EC8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D55ECC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D55ED0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D55ED4 80240324 00031080 */ sll $v0, $v1, 2 +/* D55ED8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D55EDC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D55EE0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D55EE4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D55EE8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D55EEC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D55EF0 80240340 3C01800B */ lui $at, 0x800b +/* D55EF4 80240344 00220821 */ addu $at, $at, $v0 +/* D55EF8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D55EFC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D55F00 80240350 4600B587 */ neg.s $f22, $f22 +/* D55F04 80240354 4405B000 */ mfc1 $a1, $f22 +/* D55F08 80240358 0200202D */ daddu $a0, $s0, $zero +/* D55F0C 8024035C 0C019EC8 */ jal guRotateF +/* D55F10 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D55F14 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D55F18 80240368 0C00A6C9 */ jal clamp_angle +/* D55F1C 8024036C 00000000 */ nop +/* D55F20 80240370 44050000 */ mfc1 $a1, $f0 +/* D55F24 80240374 4406A000 */ mfc1 $a2, $f20 +/* D55F28 80240378 4407A000 */ mfc1 $a3, $f20 +/* D55F2C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D55F30 80240380 4481C000 */ mtc1 $at, $f24 +/* D55F34 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D55F38 80240388 0C019EC8 */ jal guRotateF +/* D55F3C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D55F40 80240390 0200202D */ daddu $a0, $s0, $zero +/* D55F44 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D55F48 80240398 0C019D80 */ jal guMtxCatF +/* D55F4C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D55F50 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D55F54 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D55F58 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D55F5C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D55F60 802403B0 0C019EC8 */ jal guRotateF +/* D55F64 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D55F68 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D55F6C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D55F70 802403C0 0C019D80 */ jal guMtxCatF +/* D55F74 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D55F78 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D55F7C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D55F80 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D55F84 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D55F88 802403D8 0C019EC8 */ jal guRotateF +/* D55F8C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D55F90 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D55F94 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D55F98 802403E8 0C019D80 */ jal guMtxCatF +/* D55F9C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D55FA0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D55FA4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D55FA8 802403F8 44810000 */ mtc1 $at, $f0 +/* D55FAC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D55FB0 80240400 44050000 */ mfc1 $a1, $f0 +/* D55FB4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D55FB8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D55FBC 8024040C 0C019DF0 */ jal guScaleF +/* D55FC0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D55FC4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D55FC8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D55FCC 8024041C 0C019D80 */ jal guMtxCatF +/* D55FD0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D55FD4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D55FD8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D55FDC 8024042C 3C014040 */ lui $at, 0x4040 +/* D55FE0 80240430 44811000 */ mtc1 $at, $f2 +/* D55FE4 80240434 46000007 */ neg.s $f0, $f0 +/* D55FE8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D55FEC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D55FF0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D55FF4 80240444 44070000 */ mfc1 $a3, $f0 +/* D55FF8 80240448 0C019E40 */ jal guTranslateF +/* D55FFC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D56000 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D56004 80240454 0200282D */ daddu $a1, $s0, $zero +/* D56008 80240458 0C019D80 */ jal guMtxCatF +/* D5600C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D56010 80240460 24040002 */ addiu $a0, $zero, 2 +/* D56014 80240464 0000282D */ daddu $a1, $zero, $zero +/* D56018 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D5601C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D56020 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D56024 80240474 0C0B7710 */ jal render_sprite +/* D56028 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D5602C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D56030 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D56034 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D56038 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D5603C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D56040 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D56044 80240494 03E00008 */ jr $ra +/* D56048 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_8024049C_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_8024049C_D55BB0.s new file mode 100644 index 0000000000..a769b9aef7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_8024049C_D55BB0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D5604C +/* D5604C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D56050 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D56054 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D56058 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D5605C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D56060 802404B0 0440000E */ bltz $v0, .L802404EC +/* D56064 802404B4 28420002 */ slti $v0, $v0, 2 +/* D56068 802404B8 1040000C */ beqz $v0, .L802404EC +/* D5606C 802404BC 00000000 */ nop +/* D56070 802404C0 3C058024 */ lui $a1, 0x8024 +/* D56074 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D56078 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D5607C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D56080 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D56084 802404D4 AC620000 */ sw $v0, ($v1) +/* D56088 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D5608C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D56090 802404E0 8C620000 */ lw $v0, ($v1) +/* D56094 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D56098 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D5609C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D560A0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D560A4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D560A8 802404F8 03E00008 */ jr $ra +/* D560AC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240500_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240500_D55BB0.s new file mode 100644 index 0000000000..1428bfe572 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240500_D55BB0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D560B0 +/* D560B0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D560B4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D560B8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D560BC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D560C0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D560C4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D560C8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D560CC 8024051C 8E020000 */ lw $v0, ($s0) +/* D560D0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D560D4 80240524 30420001 */ andi $v0, $v0, 1 +/* D560D8 80240528 10400052 */ beqz $v0, .L80240674 +/* D560DC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D560E0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D560E4 80240534 0C044181 */ jal get_shadow_by_index +/* D560E8 80240538 00000000 */ nop +/* D560EC 8024053C 0C048B77 */ jal func_80122DDC +/* D560F0 80240540 84440008 */ lh $a0, 8($v0) +/* D560F4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D560F8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D560FC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D56100 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D56104 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D56108 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D5610C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D56110 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D56114 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D56118 80240568 3C04800A */ lui $a0, 0x800a +/* D5611C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D56120 80240570 46000007 */ neg.s $f0, $f0 +/* D56124 80240574 44060000 */ mfc1 $a2, $f0 +/* D56128 80240578 0C00B94E */ jal get_screen_coords +/* D5612C 8024057C 00000000 */ nop +/* D56130 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D56134 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D56138 80240588 0C0B76A3 */ jal func_802DDA8C +/* D5613C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D56140 80240590 8E020000 */ lw $v0, ($s0) +/* D56144 80240594 3C030002 */ lui $v1, 2 +/* D56148 80240598 00431024 */ and $v0, $v0, $v1 +/* D5614C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D56150 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D56154 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D56158 802405A8 3C02802E */ lui $v0, 0x802e +/* D5615C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D56160 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D56164 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D56168 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D5616C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D56170 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D56174 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D56178 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D5617C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D56180 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D56184 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D56188 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D5618C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D56190 802405E0 08090183 */ j .L8024060C +/* D56194 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D56198 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D5619C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D561A0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D561A4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D561A8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D561AC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D561B0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D561B4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D561B8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D561BC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D561C0 80240610 00000000 */ nop +.L80240614: +/* D561C4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D561C8 80240618 3C01802E */ lui $at, 0x802e +/* D561CC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D561D0 80240620 0809018C */ j .L80240630 +/* D561D4 80240624 00000000 */ nop +.L80240628: +/* D561D8 80240628 3C01802E */ lui $at, 0x802e +/* D561DC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D561E0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D561E4 80240634 3C048024 */ lui $a0, 0x8024 +/* D561E8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D561EC 8024063C AE320000 */ sw $s2, ($s1) +/* D561F0 80240640 AE300008 */ sw $s0, 8($s1) +/* D561F4 80240644 00021023 */ negu $v0, $v0 +/* D561F8 80240648 AE220004 */ sw $v0, 4($s1) +/* D561FC 8024064C 8E020000 */ lw $v0, ($s0) +/* D56200 80240650 3C030002 */ lui $v1, 2 +/* D56204 80240654 00431024 */ and $v0, $v0, $v1 +/* D56208 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D5620C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D56210 80240660 3C048024 */ lui $a0, 0x8024 +/* D56214 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D56218 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D5621C 8024066C 0C047644 */ jal queue_render_task +/* D56220 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D56224 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D56228 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D5622C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D56230 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D56234 80240684 03E00008 */ jr $ra +/* D56238 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_8024068C_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_8024068C_D55BB0.s new file mode 100644 index 0000000000..84a0167208 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_8024068C_D55BB0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D5623C +/* D5623C 8024068C 3C03800A */ lui $v1, 0x800a +/* D56240 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D56244 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D56248 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D5624C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D56250 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D56254 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D56258 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D5625C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D56260 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D56264 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D56268 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D5626C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D56270 802406C0 00031080 */ sll $v0, $v1, 2 +/* D56274 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D56278 802406C8 00021080 */ sll $v0, $v0, 2 +/* D5627C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D56280 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D56284 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D56288 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D5628C 802406DC 3C01800B */ lui $at, 0x800b +/* D56290 802406E0 00220821 */ addu $at, $at, $v0 +/* D56294 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D56298 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D5629C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D562A0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D562A4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D562A8 802406F8 0C019EC8 */ jal guRotateF +/* D562AC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D562B0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D562B4 80240704 0C00A6C9 */ jal clamp_angle +/* D562B8 80240708 00000000 */ nop +/* D562BC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D562C0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D562C4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D562C8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D562CC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D562D0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D562D4 80240724 0C019EC8 */ jal guRotateF +/* D562D8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D562DC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D562E0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D562E4 80240734 0C019D80 */ jal guMtxCatF +/* D562E8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D562EC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D562F0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D562F4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D562F8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D562FC 8024074C 0C019EC8 */ jal guRotateF +/* D56300 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D56304 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D56308 80240758 0200282D */ daddu $a1, $s0, $zero +/* D5630C 8024075C 0C019D80 */ jal guMtxCatF +/* D56310 80240760 0080302D */ daddu $a2, $a0, $zero +/* D56314 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D56318 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D5631C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D56320 80240770 4407C000 */ mfc1 $a3, $f24 +/* D56324 80240774 0C019EC8 */ jal guRotateF +/* D56328 80240778 0200202D */ daddu $a0, $s0, $zero +/* D5632C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D56330 80240780 0200282D */ daddu $a1, $s0, $zero +/* D56334 80240784 0C019D80 */ jal guMtxCatF +/* D56338 80240788 0080302D */ daddu $a2, $a0, $zero +/* D5633C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D56340 80240790 3C013F36 */ lui $at, 0x3f36 +/* D56344 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D56348 80240798 44810000 */ mtc1 $at, $f0 +/* D5634C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D56350 802407A0 44050000 */ mfc1 $a1, $f0 +/* D56354 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D56358 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D5635C 802407AC 0C019DF0 */ jal guScaleF +/* D56360 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D56364 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D56368 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D5636C 802407BC 0C019D80 */ jal guMtxCatF +/* D56370 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D56374 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D56378 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D5637C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D56380 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D56384 802407D4 46000007 */ neg.s $f0, $f0 +/* D56388 802407D8 44060000 */ mfc1 $a2, $f0 +/* D5638C 802407DC 0C019E40 */ jal guTranslateF +/* D56390 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D56394 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D56398 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D5639C 802407EC 0C019D80 */ jal guMtxCatF +/* D563A0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D563A4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D563A8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D563AC 802407FC 44810000 */ mtc1 $at, $f0 +/* D563B0 80240800 00000000 */ nop +/* D563B4 80240804 4602003E */ c.le.s $f0, $f2 +/* D563B8 80240808 00000000 */ nop +/* D563BC 8024080C 4500000A */ bc1f .L80240838 +/* D563C0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D563C4 80240814 3C014387 */ lui $at, 0x4387 +/* D563C8 80240818 44810000 */ mtc1 $at, $f0 +/* D563CC 8024081C 00000000 */ nop +/* D563D0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D563D4 80240824 00000000 */ nop +/* D563D8 80240828 45000004 */ bc1f .L8024083C +/* D563DC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D563E0 80240830 3C041000 */ lui $a0, 0x1000 +/* D563E4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D563E8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D563EC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D563F0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D563F4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D563F8 80240848 0C0B7710 */ jal render_sprite +/* D563FC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D56400 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D56404 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D56408 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D5640C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D56410 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D56414 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D56418 80240868 03E00008 */ jr $ra +/* D5641C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240870_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240870_D55BB0.s new file mode 100644 index 0000000000..1c242f75a3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240870_D55BB0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D56420 +/* D56420 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D56424 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D56428 80240878 4480B000 */ mtc1 $zero, $f22 +/* D5642C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D56430 80240880 0080882D */ daddu $s1, $a0, $zero +/* D56434 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D56438 80240888 0000982D */ daddu $s3, $zero, $zero +/* D5643C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D56440 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D56444 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D56448 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D5644C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D56450 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D56454 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D56458 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D5645C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D56460 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D56464 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D56468 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D5646C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D56470 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D56474 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D56478 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D5647C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D56480 802408D0 3C03800A */ lui $v1, 0x800a +/* D56484 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D56488 802408D8 00031080 */ sll $v0, $v1, 2 +/* D5648C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D56490 802408E0 00021080 */ sll $v0, $v0, 2 +/* D56494 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D56498 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D5649C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D564A0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D564A4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D564A8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D564AC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D564B0 80240900 46000507 */ neg.s $f20, $f0 +/* D564B4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D564B8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D564BC 8024090C 44810000 */ mtc1 $at, $f0 +/* D564C0 80240910 00000000 */ nop +/* D564C4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D564C8 80240918 00000000 */ nop +/* D564CC 8024091C 4500000A */ bc1f .L80240948 +/* D564D0 80240920 00000000 */ nop +/* D564D4 80240924 3C014334 */ lui $at, 0x4334 +/* D564D8 80240928 44812000 */ mtc1 $at, $f4 +/* D564DC 8024092C 00000000 */ nop +/* D564E0 80240930 4604103E */ c.le.s $f2, $f4 +/* D564E4 80240934 00000000 */ nop +/* D564E8 80240938 45000003 */ bc1f .L80240948 +/* D564EC 8024093C 00000000 */ nop +/* D564F0 80240940 08090276 */ j .L802409D8 +/* D564F4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D564F8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D564FC 8024094C 3C014334 */ lui $at, 0x4334 +/* D56500 80240950 44812000 */ mtc1 $at, $f4 +/* D56504 80240954 00000000 */ nop +/* D56508 80240958 4600203C */ c.lt.s $f4, $f0 +/* D5650C 8024095C 00000000 */ nop +/* D56510 80240960 4500000C */ bc1f .L80240994 +/* D56514 80240964 00000000 */ nop +/* D56518 80240968 3C014387 */ lui $at, 0x4387 +/* D5651C 8024096C 44812000 */ mtc1 $at, $f4 +/* D56520 80240970 00000000 */ nop +/* D56524 80240974 4604003E */ c.le.s $f0, $f4 +/* D56528 80240978 00000000 */ nop +/* D5652C 8024097C 45000008 */ bc1f .L802409A0 +/* D56530 80240980 00000000 */ nop +/* D56534 80240984 3C014334 */ lui $at, 0x4334 +/* D56538 80240988 44812000 */ mtc1 $at, $f4 +/* D5653C 8024098C 08090276 */ j .L802409D8 +/* D56540 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D56544 80240994 3C014387 */ lui $at, 0x4387 +/* D56548 80240998 44812000 */ mtc1 $at, $f4 +/* D5654C 8024099C 00000000 */ nop +.L802409A0: +/* D56550 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D56554 802409A4 00000000 */ nop +/* D56558 802409A8 4500000A */ bc1f .L802409D4 +/* D5655C 802409AC 00000000 */ nop +/* D56560 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D56564 802409B4 44811000 */ mtc1 $at, $f2 +/* D56568 802409B8 00000000 */ nop +/* D5656C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D56570 802409C0 00000000 */ nop +/* D56574 802409C4 45000003 */ bc1f .L802409D4 +/* D56578 802409C8 00000000 */ nop +/* D5657C 802409CC 08090276 */ j .L802409D8 +/* D56580 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D56584 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D56588 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D5658C 802409DC 44810000 */ mtc1 $at, $f0 +/* D56590 802409E0 00000000 */ nop +/* D56594 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D56598 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D5659C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D565A0 802409F0 00000000 */ nop +/* D565A4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D565A8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D565AC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D565B0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D565B4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D565B8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D565BC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D565C0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D565C4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D565C8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D565CC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D565D0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D565D4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D565D8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D565DC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D565E0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D565E4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D565E8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D565EC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D565F0 80240A40 0C019EC8 */ jal guRotateF +/* D565F4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D565F8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D565FC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D56600 80240A50 00000000 */ nop +/* D56604 80240A54 44050000 */ mfc1 $a1, $f0 +/* D56608 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D5660C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D56610 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D56614 80240A64 44812000 */ mtc1 $at, $f4 +/* D56618 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D5661C 80240A6C 0C019EC8 */ jal guRotateF +/* D56620 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D56624 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D56628 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D5662C 80240A7C 0C019D80 */ jal guMtxCatF +/* D56630 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D56634 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D56638 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5663C 80240A8C 080902D6 */ j .L80240B58 +/* D56640 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D56644 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D56648 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D5664C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D56650 80240AA0 0C03964E */ jal func_800E5938 +/* D56654 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D56658 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D5665C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D56660 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D56664 80240AB4 46000606 */ mov.s $f24, $f0 +/* D56668 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5666C 80240ABC 080902B5 */ j .L80240AD4 +/* D56670 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D56674 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D56678 80240AC8 00000000 */ nop +/* D5667C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D56680 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D56684 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D56688 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D5668C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D56690 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D56694 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D56698 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D5669C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D566A0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D566A4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D566A8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D566AC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D566B0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D566B4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D566B8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D566BC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D566C0 80240B10 0C019EC8 */ jal guRotateF +/* D566C4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D566C8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D566CC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D566D0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D566D4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D566D8 80240B28 0C019EC8 */ jal guRotateF +/* D566DC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D566E0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D566E4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D566E8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D566EC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D566F0 80240B40 0C019EC8 */ jal guRotateF +/* D566F4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D566F8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D566FC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D56700 80240B50 0C019D80 */ jal guMtxCatF +/* D56704 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D56708 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D5670C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D56710 80240B60 44812000 */ mtc1 $at, $f4 +/* D56714 80240B64 00021023 */ negu $v0, $v0 +/* D56718 80240B68 44820000 */ mtc1 $v0, $f0 +/* D5671C 80240B6C 00000000 */ nop +/* D56720 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D56724 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D56728 80240B78 00000000 */ nop +/* D5672C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D56730 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D56734 80240B84 44062000 */ mfc1 $a2, $f4 +/* D56738 80240B88 0C019E40 */ jal guTranslateF +/* D5673C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D56740 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D56744 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D56748 80240B98 0C019D80 */ jal guMtxCatF +/* D5674C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D56750 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D56754 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D56758 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D5675C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D56760 80240BB0 0C019EC8 */ jal guRotateF +/* D56764 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D56768 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D5676C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D56770 80240BC0 0C019D80 */ jal guMtxCatF +/* D56774 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D56778 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5677C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D56780 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D56784 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D56788 80240BD8 0C019EC8 */ jal guRotateF +/* D5678C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D56790 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D56794 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D56798 80240BE8 0C019D80 */ jal guMtxCatF +/* D5679C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D567A0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D567A4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D567A8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D567AC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D567B0 80240C00 00000000 */ nop +/* D567B4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D567B8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D567BC 80240C0C 00000000 */ nop +/* D567C0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D567C4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D567C8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D567CC 80240C1C 0C019E40 */ jal guTranslateF +/* D567D0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D567D4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D567D8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D567DC 80240C2C 0C019D80 */ jal guMtxCatF +/* D567E0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D567E4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D567E8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D567EC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D567F0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D567F4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D567F8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D567FC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D56800 80240C50 0C019DF0 */ jal guScaleF +/* D56804 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D56808 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D5680C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D56810 80240C60 0C019D80 */ jal guMtxCatF +/* D56814 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D56818 80240C68 4600D687 */ neg.s $f26, $f26 +/* D5681C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D56820 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D56824 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D56828 80240C78 0C019E40 */ jal guTranslateF +/* D5682C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D56830 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D56834 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D56838 80240C88 0C019D80 */ jal guMtxCatF +/* D5683C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D56840 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D56844 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D56848 80240C98 44810000 */ mtc1 $at, $f0 +/* D5684C 80240C9C 00000000 */ nop +/* D56850 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D56854 80240CA4 00000000 */ nop +/* D56858 80240CA8 4500000A */ bc1f .L80240CD4 +/* D5685C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D56860 80240CB0 3C014387 */ lui $at, 0x4387 +/* D56864 80240CB4 44812000 */ mtc1 $at, $f4 +/* D56868 80240CB8 00000000 */ nop +/* D5686C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D56870 80240CC0 00000000 */ nop +/* D56874 80240CC4 45000004 */ bc1f .L80240CD8 +/* D56878 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D5687C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D56880 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D56884 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D56888 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D5688C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D56890 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D56894 80240CE4 0C0B7710 */ jal render_sprite +/* D56898 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D5689C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D568A0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D568A4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D568A8 80240CF8 00000000 */ nop +/* D568AC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D568B0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D568B4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D568B8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D568BC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D568C0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D568C4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D568C8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D568CC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D568D0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D568D4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D568D8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D568DC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D568E0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D568E4 80240D34 03E00008 */ jr $ra +/* D568E8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240D3C_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240D3C_D55BB0.s new file mode 100644 index 0000000000..81e0896504 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240D3C_D55BB0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D568EC +/* D568EC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D568F0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D568F4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D568F8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D568FC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D56900 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D56904 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D56908 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D5690C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D56910 80240D60 00000000 */ nop +/* D56914 80240D64 28620002 */ slti $v0, $v1, 2 +/* D56918 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D5691C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D56920 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D56924 80240D74 00000000 */ nop +/* D56928 80240D78 08090378 */ j .L80240DE0 +/* D5692C 80240D7C 00000000 */ nop +.L80240D80: +/* D56930 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D56934 80240D84 00000000 */ nop +/* D56938 80240D88 08090378 */ j .L80240DE0 +/* D5693C 80240D8C 00000000 */ nop +.L80240D90: +/* D56940 80240D90 3C048024 */ lui $a0, 0x8024 +/* D56944 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D56948 80240D98 08090374 */ j .L80240DD0 +/* D5694C 80240D9C 00000000 */ nop +.L80240DA0: +/* D56950 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D56954 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D56958 80240DA8 08090374 */ j .L80240DD0 +/* D5695C 80240DAC 00000000 */ nop +.L80240DB0: +/* D56960 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D56964 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D56968 80240DB8 00000000 */ nop +/* D5696C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D56970 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D56974 80240DC4 00000000 */ nop +.L80240DC8: +/* D56978 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D5697C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D56980 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D56984 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D56988 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D5698C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D56990 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D56994 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D56998 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D5699C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D569A0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D569A4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D569A8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D569AC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D569B0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D569B4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D569B8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D569BC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D569C0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D569C4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D569C8 80240E18 00000000 */ nop +/* D569CC 80240E1C 0809039D */ j .L80240E74 +/* D569D0 80240E20 00000000 */ nop +.L80240E24: +/* D569D4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D569D8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D569DC 80240E2C 0809039D */ j .L80240E74 +/* D569E0 80240E30 00000000 */ nop +.L80240E34: +/* D569E4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D569E8 80240E38 0809039A */ j .L80240E68 +/* D569EC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D569F0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D569F4 80240E44 0809039A */ j .L80240E68 +/* D569F8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D569FC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D56A00 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D56A04 80240E54 28420002 */ slti $v0, $v0, 2 +/* D56A08 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D56A0C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D56A10 80240E60 8CA20000 */ lw $v0, ($a1) +/* D56A14 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D56A18 80240E68 00431025 */ or $v0, $v0, $v1 +/* D56A1C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D56A20 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D56A24 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D56A28 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D56A2C 80240E7C 03E00008 */ jr $ra +/* D56A30 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240E84_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240E84_D55BB0.s new file mode 100644 index 0000000000..47cd3c7dab --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240E84_D55BB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D56A34 +/* D56A34 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D56A38 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D56A3C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D56A40 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D56A44 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D56A48 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D56A4C 80240E9C 3C03000A */ lui $v1, 0xa +/* D56A50 80240EA0 8C820000 */ lw $v0, ($a0) +/* D56A54 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D56A58 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D56A5C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D56A60 80240EB0 03E00008 */ jr $ra +/* D56A64 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240EB8_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240EB8_D55BB0.s new file mode 100644 index 0000000000..c42acfe516 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240EB8_D55BB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D56A68 +/* D56A68 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D56A6C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D56A70 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D56A74 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D56A78 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D56A7C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D56A80 80240ED0 3C030008 */ lui $v1, 8 +/* D56A84 80240ED4 8C820000 */ lw $v0, ($a0) +/* D56A88 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D56A8C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D56A90 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D56A94 80240EE4 03E00008 */ jr $ra +/* D56A98 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240EEC_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240EEC_D55BB0.s new file mode 100644 index 0000000000..85a5c63b6c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240EEC_D55BB0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D56A9C +/* D56A9C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D56AA0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D56AA4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D56AA8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D56AAC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D56AB0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D56AB4 80240F04 3C030002 */ lui $v1, 2 +/* D56AB8 80240F08 8C820000 */ lw $v0, ($a0) +/* D56ABC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D56AC0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D56AC4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D56AC8 80240F18 03E00008 */ jr $ra +/* D56ACC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240F20_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240F20_D55BB0.s new file mode 100644 index 0000000000..8c9f17584f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240F20_D55BB0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D56AD0 +/* D56AD0 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D56AD4 80240F24 AFB00010 */ sw $s0, 0x10($sp) +/* D56AD8 80240F28 3C108024 */ lui $s0, 0x8024 +/* D56ADC 80240F2C 26101680 */ addiu $s0, $s0, 0x1680 +/* D56AE0 80240F30 AFBF0018 */ sw $ra, 0x18($sp) +/* D56AE4 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* D56AE8 80240F38 8E020000 */ lw $v0, ($s0) +/* D56AEC 80240F3C 14400010 */ bnez $v0, .L80240F80 +/* D56AF0 80240F40 0080882D */ daddu $s1, $a0, $zero +/* D56AF4 80240F44 0C00AB39 */ jal heap_malloc +/* D56AF8 80240F48 24040040 */ addiu $a0, $zero, 0x40 +/* D56AFC 80240F4C AE020000 */ sw $v0, ($s0) +/* D56B00 80240F50 0000182D */ daddu $v1, $zero, $zero +/* D56B04 80240F54 0040282D */ daddu $a1, $v0, $zero +/* D56B08 80240F58 0220202D */ daddu $a0, $s1, $zero +.L80240F5C: +/* D56B0C 80240F5C 8C820084 */ lw $v0, 0x84($a0) +/* D56B10 80240F60 24840004 */ addiu $a0, $a0, 4 +/* D56B14 80240F64 24630001 */ addiu $v1, $v1, 1 +/* D56B18 80240F68 ACA20000 */ sw $v0, ($a1) +/* D56B1C 80240F6C 28620010 */ slti $v0, $v1, 0x10 +/* D56B20 80240F70 1440FFFA */ bnez $v0, .L80240F5C +/* D56B24 80240F74 24A50004 */ addiu $a1, $a1, 4 +/* D56B28 80240F78 080903EF */ j .L80240FBC +/* D56B2C 80240F7C 00000000 */ nop +.L80240F80: +/* D56B30 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D56B34 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D56B38 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D56B3C 80240F8C 8CA20000 */ lw $v0, ($a1) +/* D56B40 80240F90 24A50004 */ addiu $a1, $a1, 4 +/* D56B44 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D56B48 80240F98 AC820084 */ sw $v0, 0x84($a0) +/* D56B4C 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D56B50 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D56B54 80240FA4 24840004 */ addiu $a0, $a0, 4 +/* D56B58 80240FA8 3C108024 */ lui $s0, 0x8024 +/* D56B5C 80240FAC 26101680 */ addiu $s0, $s0, 0x1680 +/* D56B60 80240FB0 0C00AB4B */ jal heap_free +/* D56B64 80240FB4 8E040000 */ lw $a0, ($s0) +/* D56B68 80240FB8 AE000000 */ sw $zero, ($s0) +.L80240FBC: +/* D56B6C 80240FBC 8FBF0018 */ lw $ra, 0x18($sp) +/* D56B70 80240FC0 8FB10014 */ lw $s1, 0x14($sp) +/* D56B74 80240FC4 8FB00010 */ lw $s0, 0x10($sp) +/* D56B78 80240FC8 24020002 */ addiu $v0, $zero, 2 +/* D56B7C 80240FCC 03E00008 */ jr $ra +/* D56B80 80240FD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80240FD4_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80240FD4_D55BB0.s new file mode 100644 index 0000000000..5688f46237 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80240FD4_D55BB0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD4_D56B84 +/* D56B84 80240FD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D56B88 80240FD8 AFB00010 */ sw $s0, 0x10($sp) +/* D56B8C 80240FDC 0080802D */ daddu $s0, $a0, $zero +/* D56B90 80240FE0 AFBF0018 */ sw $ra, 0x18($sp) +/* D56B94 80240FE4 AFB10014 */ sw $s1, 0x14($sp) +/* D56B98 80240FE8 8E02000C */ lw $v0, 0xc($s0) +/* D56B9C 80240FEC 8C510000 */ lw $s1, ($v0) +/* D56BA0 80240FF0 0C0B1EAF */ jal get_variable +/* D56BA4 80240FF4 0220282D */ daddu $a1, $s1, $zero +/* D56BA8 80240FF8 3C03FFF0 */ lui $v1, 0xfff0 +/* D56BAC 80240FFC 3463FFFF */ ori $v1, $v1, 0xffff +/* D56BB0 80241000 0200202D */ daddu $a0, $s0, $zero +/* D56BB4 80241004 00431024 */ and $v0, $v0, $v1 +/* D56BB8 80241008 00021140 */ sll $v0, $v0, 5 +/* D56BBC 8024100C 3C068008 */ lui $a2, %hi(gItemTable) +/* D56BC0 80241010 00C23021 */ addu $a2, $a2, $v0 +/* D56BC4 80241014 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D56BC8 80241018 0C0B2026 */ jal set_variable +/* D56BCC 8024101C 0220282D */ daddu $a1, $s1, $zero +/* D56BD0 80241020 8FBF0018 */ lw $ra, 0x18($sp) +/* D56BD4 80241024 8FB10014 */ lw $s1, 0x14($sp) +/* D56BD8 80241028 8FB00010 */ lw $s0, 0x10($sp) +/* D56BDC 8024102C 24020002 */ addiu $v0, $zero, 2 +/* D56BE0 80241030 03E00008 */ jr $ra +/* D56BE4 80241034 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80241038_D55BB0.s b/asm/nonmatchings/world/area_pra/pra_05/func_80241038_D55BB0.s new file mode 100644 index 0000000000..b357bf6367 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80241038_D55BB0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241038_D56BE8 +/* D56BE8 80241038 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D56BEC 8024103C AFB10014 */ sw $s1, 0x14($sp) +/* D56BF0 80241040 0080882D */ daddu $s1, $a0, $zero +/* D56BF4 80241044 AFBF001C */ sw $ra, 0x1c($sp) +/* D56BF8 80241048 AFB20018 */ sw $s2, 0x18($sp) +/* D56BFC 8024104C AFB00010 */ sw $s0, 0x10($sp) +/* D56C00 80241050 8E240084 */ lw $a0, 0x84($s1) +/* D56C04 80241054 0C04C3D6 */ jal get_item_entity +/* D56C08 80241058 00A0802D */ daddu $s0, $a1, $zero +/* D56C0C 8024105C 12000005 */ beqz $s0, .L80241074 +/* D56C10 80241060 0040902D */ daddu $s2, $v0, $zero +/* D56C14 80241064 C640000C */ lwc1 $f0, 0xc($s2) +/* D56C18 80241068 AE200074 */ sw $zero, 0x74($s1) +/* D56C1C 8024106C AE20007C */ sw $zero, 0x7c($s1) +/* D56C20 80241070 E6200078 */ swc1 $f0, 0x78($s1) +.L80241074: +/* D56C24 80241074 8E230074 */ lw $v1, 0x74($s1) +/* D56C28 80241078 10600005 */ beqz $v1, .L80241090 +/* D56C2C 8024107C 24020001 */ addiu $v0, $zero, 1 +/* D56C30 80241080 10620024 */ beq $v1, $v0, .L80241114 +/* D56C34 80241084 00000000 */ nop +/* D56C38 80241088 0809045B */ j .L8024116C +/* D56C3C 8024108C 00000000 */ nop +.L80241090: +/* D56C40 80241090 3C013FC9 */ lui $at, 0x3fc9 +/* D56C44 80241094 34210FD8 */ ori $at, $at, 0xfd8 +/* D56C48 80241098 44810000 */ mtc1 $at, $f0 +/* D56C4C 8024109C C62C007C */ lwc1 $f12, 0x7c($s1) +/* D56C50 802410A0 46806320 */ cvt.s.w $f12, $f12 +/* D56C54 802410A4 46006302 */ mul.s $f12, $f12, $f0 +/* D56C58 802410A8 00000000 */ nop +/* D56C5C 802410AC 3C0141F0 */ lui $at, 0x41f0 +/* D56C60 802410B0 44810000 */ mtc1 $at, $f0 +/* D56C64 802410B4 0C00A874 */ jal cos_rad +/* D56C68 802410B8 46006303 */ div.s $f12, $f12, $f0 +/* D56C6C 802410BC 3C013F80 */ lui $at, 0x3f80 +/* D56C70 802410C0 44811000 */ mtc1 $at, $f2 +/* D56C74 802410C4 00000000 */ nop +/* D56C78 802410C8 46001081 */ sub.s $f2, $f2, $f0 +/* D56C7C 802410CC 3C0141A0 */ lui $at, 0x41a0 +/* D56C80 802410D0 44810000 */ mtc1 $at, $f0 +/* D56C84 802410D4 00000000 */ nop +/* D56C88 802410D8 46001082 */ mul.s $f2, $f2, $f0 +/* D56C8C 802410DC 00000000 */ nop +/* D56C90 802410E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* D56C94 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* D56C98 802410E8 E640000C */ swc1 $f0, 0xc($s2) +/* D56C9C 802410EC 8E23007C */ lw $v1, 0x7c($s1) +/* D56CA0 802410F0 2402001E */ addiu $v0, $zero, 0x1e +/* D56CA4 802410F4 14620005 */ bne $v1, $v0, .L8024110C +/* D56CA8 802410F8 24620001 */ addiu $v0, $v1, 1 +/* D56CAC 802410FC 24020001 */ addiu $v0, $zero, 1 +/* D56CB0 80241100 AE220074 */ sw $v0, 0x74($s1) +/* D56CB4 80241104 0809045B */ j .L8024116C +/* D56CB8 80241108 AE20007C */ sw $zero, 0x7c($s1) +.L8024110C: +/* D56CBC 8024110C 0809045B */ j .L8024116C +/* D56CC0 80241110 AE22007C */ sw $v0, 0x7c($s1) +.L80241114: +/* D56CC4 80241114 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D56CC8 80241118 0C00A8D4 */ jal cos_deg +/* D56CCC 8024111C 46806320 */ cvt.s.w $f12, $f12 +/* D56CD0 80241120 3C014040 */ lui $at, 0x4040 +/* D56CD4 80241124 44811000 */ mtc1 $at, $f2 +/* D56CD8 80241128 00000000 */ nop +/* D56CDC 8024112C 46020002 */ mul.s $f0, $f0, $f2 +/* D56CE0 80241130 00000000 */ nop +/* D56CE4 80241134 3C014188 */ lui $at, 0x4188 +/* D56CE8 80241138 44812000 */ mtc1 $at, $f4 +/* D56CEC 8024113C C6220078 */ lwc1 $f2, 0x78($s1) +/* D56CF0 80241140 46041080 */ add.s $f2, $f2, $f4 +/* D56CF4 80241144 46001080 */ add.s $f2, $f2, $f0 +/* D56CF8 80241148 E642000C */ swc1 $f2, 0xc($s2) +/* D56CFC 8024114C 8E22007C */ lw $v0, 0x7c($s1) +/* D56D00 80241150 24420009 */ addiu $v0, $v0, 9 +/* D56D04 80241154 44826000 */ mtc1 $v0, $f12 +/* D56D08 80241158 00000000 */ nop +/* D56D0C 8024115C 0C00A6C9 */ jal clamp_angle +/* D56D10 80241160 46806320 */ cvt.s.w $f12, $f12 +/* D56D14 80241164 4600018D */ trunc.w.s $f6, $f0 +/* D56D18 80241168 E626007C */ swc1 $f6, 0x7c($s1) +.L8024116C: +/* D56D1C 8024116C 8FBF001C */ lw $ra, 0x1c($sp) +/* D56D20 80241170 8FB20018 */ lw $s2, 0x18($sp) +/* D56D24 80241174 8FB10014 */ lw $s1, 0x14($sp) +/* D56D28 80241178 8FB00010 */ lw $s0, 0x10($sp) +/* D56D2C 8024117C 0000102D */ daddu $v0, $zero, $zero +/* D56D30 80241180 03E00008 */ jr $ra +/* D56D34 80241184 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_05/func_80241188.s b/asm/nonmatchings/world/area_pra/pra_05/func_80241188.s new file mode 100644 index 0000000000..331f8d3f38 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_05/func_80241188.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241188 +/* D56D38 80241188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D56D3C 8024118C AFB00010 */ sw $s0, 0x10($sp) +/* D56D40 80241190 0080802D */ daddu $s0, $a0, $zero +/* D56D44 80241194 AFBF0014 */ sw $ra, 0x14($sp) +/* D56D48 80241198 8E02000C */ lw $v0, 0xc($s0) +/* D56D4C 8024119C 0C0B1EAF */ jal get_variable +/* D56D50 802411A0 8C450000 */ lw $a1, ($v0) +/* D56D54 802411A4 00021140 */ sll $v0, $v0, 5 +/* D56D58 802411A8 AE000084 */ sw $zero, 0x84($s0) +/* D56D5C 802411AC 3C018008 */ lui $at, 0x8008 +/* D56D60 802411B0 00220821 */ addu $at, $at, $v0 +/* D56D64 802411B4 942278F8 */ lhu $v0, 0x78f8($at) +/* D56D68 802411B8 30420040 */ andi $v0, $v0, 0x40 +/* D56D6C 802411BC 10400002 */ beqz $v0, .L802411C8 +/* D56D70 802411C0 24020001 */ addiu $v0, $zero, 1 +/* D56D74 802411C4 AE020084 */ sw $v0, 0x84($s0) +.L802411C8: +/* D56D78 802411C8 8FBF0014 */ lw $ra, 0x14($sp) +/* D56D7C 802411CC 8FB00010 */ lw $s0, 0x10($sp) +/* D56D80 802411D0 24020002 */ addiu $v0, $zero, 2 +/* D56D84 802411D4 03E00008 */ jr $ra +/* D56D88 802411D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* D56D8C 802411DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240000_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240000_D57430.s new file mode 100644 index 0000000000..6e11191e08 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240000_D57430.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D57430 +/* D57430 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D57434 80240004 3C04800E */ lui $a0, 0x800e +/* D57438 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D5743C 8024000C 3C058024 */ lui $a1, 0x8024 +/* D57440 80240010 24A51430 */ addiu $a1, $a1, 0x1430 +/* D57444 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D57448 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D5744C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D57450 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D57454 80240024 0C01953C */ jal sprintf +/* D57458 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D5745C 8024002C 3C04800E */ lui $a0, 0x800e +/* D57460 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D57464 80240034 3C058024 */ lui $a1, 0x8024 +/* D57468 80240038 0C01953C */ jal sprintf +/* D5746C 8024003C 24A51440 */ addiu $a1, $a1, 0x1440 +/* D57470 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D57474 80240044 0000102D */ daddu $v0, $zero, $zero +/* D57478 80240048 03E00008 */ jr $ra +/* D5747C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240050_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240050_D57430.s new file mode 100644 index 0000000000..a0539a2faf --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240050_D57430.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D57480 +/* D57480 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D57484 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D57488 80240058 00822024 */ and $a0, $a0, $v0 +/* D5748C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D57490 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D57494 80240064 00821821 */ addu $v1, $a0, $v0 +/* D57498 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D5749C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D574A0 80240070 30620001 */ andi $v0, $v1, 1 +/* D574A4 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D574A8 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D574AC 8024007C 03E00008 */ jr $ra +/* D574B0 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240084.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240084.s new file mode 100644 index 0000000000..18c8645fd7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240084.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084 +/* D574B4 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D574B8 80240088 304300FF */ andi $v1, $v0, 0xff +/* D574BC 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D574C0 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D574C4 80240094 28620007 */ slti $v0, $v1, 7 +/* D574C8 80240098 10400005 */ beqz $v0, .L802400B0 +/* D574CC 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D574D0 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D574D4 802400A4 3C020100 */ lui $v0, 0x100 +/* D574D8 802400A8 03E00008 */ jr $ra +/* D574DC 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D574E0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D574E4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D574E8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D574EC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D574F0 802400C0 3C020100 */ lui $v0, 0x100 +/* D574F4 802400C4 03E00008 */ jr $ra +/* D574F8 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D574FC 802400CC 3C020001 */ lui $v0, 1 +/* D57500 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D57504 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D57508 802400D8 1040000E */ beqz $v0, .L80240114 +/* D5750C 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D57510 802400E0 03E00008 */ jr $ra +/* D57514 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D57518 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D5751C 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D57520 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D57524 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D57528 802400F8 10400005 */ beqz $v0, .L80240110 +/* D5752C 802400FC 30620001 */ andi $v0, $v1, 1 +/* D57530 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D57534 80240104 24820001 */ addiu $v0, $a0, 1 +/* D57538 80240108 03E00008 */ jr $ra +/* D5753C 8024010C 00000000 */ nop +.L80240110: +/* D57540 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D57544 80240114 03E00008 */ jr $ra +/* D57548 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_8024011C_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_8024011C_D57430.s new file mode 100644 index 0000000000..673d8b0aa6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_8024011C_D57430.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D5754C +/* D5754C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D57550 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D57554 80240124 0080802D */ daddu $s0, $a0, $zero +/* D57558 80240128 3C058024 */ lui $a1, 0x8024 +/* D5755C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D57560 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D57564 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D57568 80240138 0000202D */ daddu $a0, $zero, $zero +/* D5756C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D57570 80240140 AC620000 */ sw $v0, ($v1) +/* D57574 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D57578 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D5757C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D57580 80240150 03E00008 */ jr $ra +/* D57584 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240158_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240158_D57430.s new file mode 100644 index 0000000000..3ecc24c17b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240158_D57430.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D57588 +/* D57588 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D5758C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D57590 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D57594 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D57598 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D5759C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D575A0 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D575A4 80240174 8E020000 */ lw $v0, ($s0) +/* D575A8 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D575AC 8024017C 30420001 */ andi $v0, $v0, 1 +/* D575B0 80240180 10400061 */ beqz $v0, .L80240308 +/* D575B4 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D575B8 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D575BC 8024018C 0C044181 */ jal get_shadow_by_index +/* D575C0 80240190 00000000 */ nop +/* D575C4 80240194 0C048B77 */ jal func_80122DDC +/* D575C8 80240198 84440008 */ lh $a0, 8($v0) +/* D575CC 8024019C 8C430000 */ lw $v1, ($v0) +/* D575D0 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D575D4 802401A4 AC430000 */ sw $v1, ($v0) +/* D575D8 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D575DC 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D575E0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D575E4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D575E8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D575EC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D575F0 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D575F4 802401C4 3C04800A */ lui $a0, 0x800a +/* D575F8 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D575FC 802401CC 46000007 */ neg.s $f0, $f0 +/* D57600 802401D0 44070000 */ mfc1 $a3, $f0 +/* D57604 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D57608 802401D8 0C00B94E */ jal get_screen_coords +/* D5760C 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D57610 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D57614 802401E4 0C090014 */ jal func_80240050 +/* D57618 802401E8 00000000 */ nop +/* D5761C 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D57620 802401F0 3C014307 */ lui $at, 0x4307 +/* D57624 802401F4 44810000 */ mtc1 $at, $f0 +/* D57628 802401F8 00000000 */ nop +/* D5762C 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D57630 80240200 00000000 */ nop +/* D57634 80240204 4500000B */ bc1f .L80240234 +/* D57638 80240208 24040002 */ addiu $a0, $zero, 2 +/* D5763C 8024020C 3C014361 */ lui $at, 0x4361 +/* D57640 80240210 44810000 */ mtc1 $at, $f0 +/* D57644 80240214 00000000 */ nop +/* D57648 80240218 4600103C */ c.lt.s $f2, $f0 +/* D5764C 8024021C 00000000 */ nop +/* D57650 80240220 45000004 */ bc1f .L80240234 +/* D57654 80240224 00000000 */ nop +/* D57658 80240228 0C090021 */ jal func_80240084 +/* D5765C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D57660 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D57664 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D57668 80240238 0C0B76A3 */ jal func_802DDA8C +/* D5766C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D57670 80240240 8E020000 */ lw $v0, ($s0) +/* D57674 80240244 3C030002 */ lui $v1, 2 +/* D57678 80240248 00431024 */ and $v0, $v0, $v1 +/* D5767C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D57680 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D57684 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D57688 80240258 3C02802E */ lui $v0, 0x802e +/* D5768C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D57690 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D57694 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D57698 80240268 1040000B */ beqz $v0, .L80240298 +/* D5769C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D576A0 80240270 24040002 */ addiu $a0, $zero, 2 +/* D576A4 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D576A8 80240278 24060007 */ addiu $a2, $zero, 7 +/* D576AC 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D576B0 80240280 0000382D */ daddu $a3, $zero, $zero +/* D576B4 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D576B8 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D576BC 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D576C0 80240290 080900AF */ j .L802402BC +/* D576C4 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D576C8 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D576CC 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D576D0 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D576D4 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D576D8 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D576DC 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D576E0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D576E4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D576E8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D576EC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D576F0 802402C0 00000000 */ nop +.L802402C4: +/* D576F4 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D576F8 802402C8 3C01802E */ lui $at, 0x802e +/* D576FC 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D57700 802402D0 080900B9 */ j .L802402E4 +/* D57704 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D57708 802402D8 3C01802E */ lui $at, 0x802e +/* D5770C 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D57710 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D57714 802402E4 AC910000 */ sw $s1, ($a0) +/* D57718 802402E8 AC900008 */ sw $s0, 8($a0) +/* D5771C 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D57720 802402F0 3C038024 */ lui $v1, 0x8024 +/* D57724 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D57728 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D5772C 802402FC 00021023 */ negu $v0, $v0 +/* D57730 80240300 0C047644 */ jal queue_render_task +/* D57734 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D57738 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D5773C 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D57740 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D57744 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D57748 80240318 03E00008 */ jr $ra +/* D5774C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240320_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240320_D57430.s new file mode 100644 index 0000000000..693a422519 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240320_D57430.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D57750 +/* D57750 80240320 3C03800A */ lui $v1, 0x800a +/* D57754 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D57758 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D5775C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D57760 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D57764 80240334 4480A000 */ mtc1 $zero, $f20 +/* D57768 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D5776C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D57770 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D57774 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D57778 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D5777C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D57780 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D57784 80240354 00031080 */ sll $v0, $v1, 2 +/* D57788 80240358 00431021 */ addu $v0, $v0, $v1 +/* D5778C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D57790 80240360 00431023 */ subu $v0, $v0, $v1 +/* D57794 80240364 000218C0 */ sll $v1, $v0, 3 +/* D57798 80240368 00431021 */ addu $v0, $v0, $v1 +/* D5779C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D577A0 80240370 3C01800B */ lui $at, 0x800b +/* D577A4 80240374 00220821 */ addu $at, $at, $v0 +/* D577A8 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D577AC 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D577B0 80240380 4600B587 */ neg.s $f22, $f22 +/* D577B4 80240384 4405B000 */ mfc1 $a1, $f22 +/* D577B8 80240388 0200202D */ daddu $a0, $s0, $zero +/* D577BC 8024038C 0C019EC8 */ jal guRotateF +/* D577C0 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D577C4 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D577C8 80240398 0C00A6C9 */ jal clamp_angle +/* D577CC 8024039C 00000000 */ nop +/* D577D0 802403A0 44050000 */ mfc1 $a1, $f0 +/* D577D4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D577D8 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D577DC 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D577E0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D577E4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D577E8 802403B8 0C019EC8 */ jal guRotateF +/* D577EC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D577F0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D577F4 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D577F8 802403C8 0C019D80 */ jal guMtxCatF +/* D577FC 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D57800 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D57804 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D57808 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D5780C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D57810 802403E0 0C019EC8 */ jal guRotateF +/* D57814 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D57818 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D5781C 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D57820 802403F0 0C019D80 */ jal guMtxCatF +/* D57824 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D57828 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5782C 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D57830 80240400 4406A000 */ mfc1 $a2, $f20 +/* D57834 80240404 4407C000 */ mfc1 $a3, $f24 +/* D57838 80240408 0C019EC8 */ jal guRotateF +/* D5783C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D57840 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D57844 80240414 0200282D */ daddu $a1, $s0, $zero +/* D57848 80240418 0C019D80 */ jal guMtxCatF +/* D5784C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D57850 80240420 3C013F36 */ lui $at, 0x3f36 +/* D57854 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D57858 80240428 44810000 */ mtc1 $at, $f0 +/* D5785C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D57860 80240430 44050000 */ mfc1 $a1, $f0 +/* D57864 80240434 0200202D */ daddu $a0, $s0, $zero +/* D57868 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D5786C 8024043C 0C019DF0 */ jal guScaleF +/* D57870 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D57874 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D57878 80240448 0200282D */ daddu $a1, $s0, $zero +/* D5787C 8024044C 0C019D80 */ jal guMtxCatF +/* D57880 80240450 0080302D */ daddu $a2, $a0, $zero +/* D57884 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D57888 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D5788C 8024045C 3C014040 */ lui $at, 0x4040 +/* D57890 80240460 44811000 */ mtc1 $at, $f2 +/* D57894 80240464 46000007 */ neg.s $f0, $f0 +/* D57898 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D5789C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D578A0 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D578A4 80240474 44070000 */ mfc1 $a3, $f0 +/* D578A8 80240478 0C019E40 */ jal guTranslateF +/* D578AC 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D578B0 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D578B4 80240484 0200282D */ daddu $a1, $s0, $zero +/* D578B8 80240488 0C019D80 */ jal guMtxCatF +/* D578BC 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D578C0 80240490 24040002 */ addiu $a0, $zero, 2 +/* D578C4 80240494 0000282D */ daddu $a1, $zero, $zero +/* D578C8 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D578CC 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D578D0 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D578D4 802404A4 0C0B7710 */ jal render_sprite +/* D578D8 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D578DC 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D578E0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D578E4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D578E8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D578EC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D578F0 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D578F4 802404C4 03E00008 */ jr $ra +/* D578F8 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_802404CC_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_802404CC_D57430.s new file mode 100644 index 0000000000..a0c0ec47dc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_802404CC_D57430.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D578FC +/* D578FC 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D57900 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D57904 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D57908 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D5790C 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D57910 802404E0 0440000E */ bltz $v0, .L8024051C +/* D57914 802404E4 28420002 */ slti $v0, $v0, 2 +/* D57918 802404E8 1040000C */ beqz $v0, .L8024051C +/* D5791C 802404EC 00000000 */ nop +/* D57920 802404F0 3C058024 */ lui $a1, 0x8024 +/* D57924 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D57928 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D5792C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D57930 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D57934 80240504 AC620000 */ sw $v0, ($v1) +/* D57938 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D5793C 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D57940 80240510 8C620000 */ lw $v0, ($v1) +/* D57944 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D57948 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D5794C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D57950 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D57954 80240524 24020002 */ addiu $v0, $zero, 2 +/* D57958 80240528 03E00008 */ jr $ra +/* D5795C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240530_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240530_D57430.s new file mode 100644 index 0000000000..dbadf9de89 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240530_D57430.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D57960 +/* D57960 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D57964 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D57968 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D5796C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D57970 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D57974 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D57978 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D5797C 8024054C 8E020000 */ lw $v0, ($s0) +/* D57980 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D57984 80240554 30420001 */ andi $v0, $v0, 1 +/* D57988 80240558 10400052 */ beqz $v0, .L802406A4 +/* D5798C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D57990 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D57994 80240564 0C044181 */ jal get_shadow_by_index +/* D57998 80240568 00000000 */ nop +/* D5799C 8024056C 0C048B77 */ jal func_80122DDC +/* D579A0 80240570 84440008 */ lh $a0, 8($v0) +/* D579A4 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D579A8 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D579AC 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D579B0 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D579B4 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D579B8 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D579BC 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D579C0 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D579C4 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D579C8 80240598 3C04800A */ lui $a0, 0x800a +/* D579CC 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D579D0 802405A0 46000007 */ neg.s $f0, $f0 +/* D579D4 802405A4 44060000 */ mfc1 $a2, $f0 +/* D579D8 802405A8 0C00B94E */ jal get_screen_coords +/* D579DC 802405AC 00000000 */ nop +/* D579E0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D579E4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D579E8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D579EC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D579F0 802405C0 8E020000 */ lw $v0, ($s0) +/* D579F4 802405C4 3C030002 */ lui $v1, 2 +/* D579F8 802405C8 00431024 */ and $v0, $v0, $v1 +/* D579FC 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D57A00 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D57A04 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D57A08 802405D8 3C02802E */ lui $v0, 0x802e +/* D57A0C 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D57A10 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D57A14 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D57A18 802405E8 1040000B */ beqz $v0, .L80240618 +/* D57A1C 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D57A20 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D57A24 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D57A28 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D57A2C 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D57A30 80240600 0000382D */ daddu $a3, $zero, $zero +/* D57A34 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D57A38 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D57A3C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D57A40 80240610 0809018F */ j .L8024063C +/* D57A44 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D57A48 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D57A4C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D57A50 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D57A54 80240624 0000302D */ daddu $a2, $zero, $zero +/* D57A58 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D57A5C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D57A60 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D57A64 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D57A68 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D57A6C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D57A70 80240640 00000000 */ nop +.L80240644: +/* D57A74 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D57A78 80240648 3C01802E */ lui $at, 0x802e +/* D57A7C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D57A80 80240650 08090198 */ j .L80240660 +/* D57A84 80240654 00000000 */ nop +.L80240658: +/* D57A88 80240658 3C01802E */ lui $at, 0x802e +/* D57A8C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D57A90 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D57A94 80240664 3C048024 */ lui $a0, 0x8024 +/* D57A98 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D57A9C 8024066C AE320000 */ sw $s2, ($s1) +/* D57AA0 80240670 AE300008 */ sw $s0, 8($s1) +/* D57AA4 80240674 00021023 */ negu $v0, $v0 +/* D57AA8 80240678 AE220004 */ sw $v0, 4($s1) +/* D57AAC 8024067C 8E020000 */ lw $v0, ($s0) +/* D57AB0 80240680 3C030002 */ lui $v1, 2 +/* D57AB4 80240684 00431024 */ and $v0, $v0, $v1 +/* D57AB8 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D57ABC 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D57AC0 80240690 3C048024 */ lui $a0, 0x8024 +/* D57AC4 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D57AC8 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D57ACC 8024069C 0C047644 */ jal queue_render_task +/* D57AD0 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D57AD4 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D57AD8 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D57ADC 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D57AE0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D57AE4 802406B4 03E00008 */ jr $ra +/* D57AE8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_802406BC_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_802406BC_D57430.s new file mode 100644 index 0000000000..4b31282e74 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_802406BC_D57430.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D57AEC +/* D57AEC 802406BC 3C03800A */ lui $v1, 0x800a +/* D57AF0 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D57AF4 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D57AF8 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D57AFC 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D57B00 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D57B04 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D57B08 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D57B0C 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D57B10 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D57B14 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D57B18 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D57B1C 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D57B20 802406F0 00031080 */ sll $v0, $v1, 2 +/* D57B24 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D57B28 802406F8 00021080 */ sll $v0, $v0, 2 +/* D57B2C 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D57B30 80240700 000218C0 */ sll $v1, $v0, 3 +/* D57B34 80240704 00431021 */ addu $v0, $v0, $v1 +/* D57B38 80240708 000210C0 */ sll $v0, $v0, 3 +/* D57B3C 8024070C 3C01800B */ lui $at, 0x800b +/* D57B40 80240710 00220821 */ addu $at, $at, $v0 +/* D57B44 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D57B48 80240718 4406A000 */ mfc1 $a2, $f20 +/* D57B4C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D57B50 80240720 4405B000 */ mfc1 $a1, $f22 +/* D57B54 80240724 0200202D */ daddu $a0, $s0, $zero +/* D57B58 80240728 0C019EC8 */ jal guRotateF +/* D57B5C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D57B60 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D57B64 80240734 0C00A6C9 */ jal clamp_angle +/* D57B68 80240738 00000000 */ nop +/* D57B6C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D57B70 80240740 4406A000 */ mfc1 $a2, $f20 +/* D57B74 80240744 4407A000 */ mfc1 $a3, $f20 +/* D57B78 80240748 3C013F80 */ lui $at, 0x3f80 +/* D57B7C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D57B80 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D57B84 80240754 0C019EC8 */ jal guRotateF +/* D57B88 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D57B8C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D57B90 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D57B94 80240764 0C019D80 */ jal guMtxCatF +/* D57B98 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D57B9C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D57BA0 80240770 4406A000 */ mfc1 $a2, $f20 +/* D57BA4 80240774 4407C000 */ mfc1 $a3, $f24 +/* D57BA8 80240778 0200202D */ daddu $a0, $s0, $zero +/* D57BAC 8024077C 0C019EC8 */ jal guRotateF +/* D57BB0 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D57BB4 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D57BB8 80240788 0200282D */ daddu $a1, $s0, $zero +/* D57BBC 8024078C 0C019D80 */ jal guMtxCatF +/* D57BC0 80240790 0080302D */ daddu $a2, $a0, $zero +/* D57BC4 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D57BC8 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D57BCC 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D57BD0 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D57BD4 802407A4 0C019EC8 */ jal guRotateF +/* D57BD8 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D57BDC 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D57BE0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D57BE4 802407B4 0C019D80 */ jal guMtxCatF +/* D57BE8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D57BEC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D57BF0 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D57BF4 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D57BF8 802407C8 44810000 */ mtc1 $at, $f0 +/* D57BFC 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D57C00 802407D0 44050000 */ mfc1 $a1, $f0 +/* D57C04 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D57C08 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D57C0C 802407DC 0C019DF0 */ jal guScaleF +/* D57C10 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D57C14 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D57C18 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D57C1C 802407EC 0C019D80 */ jal guMtxCatF +/* D57C20 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D57C24 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D57C28 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D57C2C 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D57C30 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D57C34 80240804 46000007 */ neg.s $f0, $f0 +/* D57C38 80240808 44060000 */ mfc1 $a2, $f0 +/* D57C3C 8024080C 0C019E40 */ jal guTranslateF +/* D57C40 80240810 0200202D */ daddu $a0, $s0, $zero +/* D57C44 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D57C48 80240818 0200282D */ daddu $a1, $s0, $zero +/* D57C4C 8024081C 0C019D80 */ jal guMtxCatF +/* D57C50 80240820 0080302D */ daddu $a2, $a0, $zero +/* D57C54 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D57C58 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D57C5C 8024082C 44810000 */ mtc1 $at, $f0 +/* D57C60 80240830 00000000 */ nop +/* D57C64 80240834 4602003E */ c.le.s $f0, $f2 +/* D57C68 80240838 00000000 */ nop +/* D57C6C 8024083C 4500000A */ bc1f .L80240868 +/* D57C70 80240840 24040001 */ addiu $a0, $zero, 1 +/* D57C74 80240844 3C014387 */ lui $at, 0x4387 +/* D57C78 80240848 44810000 */ mtc1 $at, $f0 +/* D57C7C 8024084C 00000000 */ nop +/* D57C80 80240850 4600103C */ c.lt.s $f2, $f0 +/* D57C84 80240854 00000000 */ nop +/* D57C88 80240858 45000004 */ bc1f .L8024086C +/* D57C8C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D57C90 80240860 3C041000 */ lui $a0, 0x1000 +/* D57C94 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D57C98 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D57C9C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D57CA0 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D57CA4 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D57CA8 80240878 0C0B7710 */ jal render_sprite +/* D57CAC 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D57CB0 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D57CB4 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D57CB8 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D57CBC 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D57CC0 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D57CC4 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D57CC8 80240898 03E00008 */ jr $ra +/* D57CCC 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_802408A0_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_802408A0_D57430.s new file mode 100644 index 0000000000..f793ebd9a2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_802408A0_D57430.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D57CD0 +/* D57CD0 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D57CD4 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D57CD8 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D57CDC 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D57CE0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D57CE4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D57CE8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D57CEC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D57CF0 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D57CF4 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D57CF8 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D57CFC 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D57D00 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D57D04 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D57D08 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D57D0C 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D57D10 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D57D14 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D57D18 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D57D1C 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D57D20 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D57D24 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D57D28 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D57D2C 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D57D30 80240900 3C03800A */ lui $v1, 0x800a +/* D57D34 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D57D38 80240908 00031080 */ sll $v0, $v1, 2 +/* D57D3C 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D57D40 80240910 00021080 */ sll $v0, $v0, 2 +/* D57D44 80240914 00431023 */ subu $v0, $v0, $v1 +/* D57D48 80240918 000218C0 */ sll $v1, $v0, 3 +/* D57D4C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D57D50 80240920 000210C0 */ sll $v0, $v0, 3 +/* D57D54 80240924 00561021 */ addu $v0, $v0, $s6 +/* D57D58 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D57D5C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D57D60 80240930 46000507 */ neg.s $f20, $f0 +/* D57D64 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D57D68 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D57D6C 8024093C 44810000 */ mtc1 $at, $f0 +/* D57D70 80240940 00000000 */ nop +/* D57D74 80240944 4602003C */ c.lt.s $f0, $f2 +/* D57D78 80240948 00000000 */ nop +/* D57D7C 8024094C 4500000A */ bc1f .L80240978 +/* D57D80 80240950 00000000 */ nop +/* D57D84 80240954 3C014334 */ lui $at, 0x4334 +/* D57D88 80240958 44812000 */ mtc1 $at, $f4 +/* D57D8C 8024095C 00000000 */ nop +/* D57D90 80240960 4604103E */ c.le.s $f2, $f4 +/* D57D94 80240964 00000000 */ nop +/* D57D98 80240968 45000003 */ bc1f .L80240978 +/* D57D9C 8024096C 00000000 */ nop +/* D57DA0 80240970 08090282 */ j .L80240A08 +/* D57DA4 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D57DA8 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D57DAC 8024097C 3C014334 */ lui $at, 0x4334 +/* D57DB0 80240980 44812000 */ mtc1 $at, $f4 +/* D57DB4 80240984 00000000 */ nop +/* D57DB8 80240988 4600203C */ c.lt.s $f4, $f0 +/* D57DBC 8024098C 00000000 */ nop +/* D57DC0 80240990 4500000C */ bc1f .L802409C4 +/* D57DC4 80240994 00000000 */ nop +/* D57DC8 80240998 3C014387 */ lui $at, 0x4387 +/* D57DCC 8024099C 44812000 */ mtc1 $at, $f4 +/* D57DD0 802409A0 00000000 */ nop +/* D57DD4 802409A4 4604003E */ c.le.s $f0, $f4 +/* D57DD8 802409A8 00000000 */ nop +/* D57DDC 802409AC 45000008 */ bc1f .L802409D0 +/* D57DE0 802409B0 00000000 */ nop +/* D57DE4 802409B4 3C014334 */ lui $at, 0x4334 +/* D57DE8 802409B8 44812000 */ mtc1 $at, $f4 +/* D57DEC 802409BC 08090282 */ j .L80240A08 +/* D57DF0 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D57DF4 802409C4 3C014387 */ lui $at, 0x4387 +/* D57DF8 802409C8 44812000 */ mtc1 $at, $f4 +/* D57DFC 802409CC 00000000 */ nop +.L802409D0: +/* D57E00 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D57E04 802409D4 00000000 */ nop +/* D57E08 802409D8 4500000A */ bc1f .L80240A04 +/* D57E0C 802409DC 00000000 */ nop +/* D57E10 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D57E14 802409E4 44811000 */ mtc1 $at, $f2 +/* D57E18 802409E8 00000000 */ nop +/* D57E1C 802409EC 4602003E */ c.le.s $f0, $f2 +/* D57E20 802409F0 00000000 */ nop +/* D57E24 802409F4 45000003 */ bc1f .L80240A04 +/* D57E28 802409F8 00000000 */ nop +/* D57E2C 802409FC 08090282 */ j .L80240A08 +/* D57E30 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D57E34 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D57E38 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D57E3C 80240A0C 44810000 */ mtc1 $at, $f0 +/* D57E40 80240A10 00000000 */ nop +/* D57E44 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D57E48 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D57E4C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D57E50 80240A20 00000000 */ nop +/* D57E54 80240A24 00071100 */ sll $v0, $a3, 4 +/* D57E58 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D57E5C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D57E60 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D57E64 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D57E68 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D57E6C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D57E70 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D57E74 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D57E78 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D57E7C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D57E80 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D57E84 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D57E88 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D57E8C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D57E90 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D57E94 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D57E98 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D57E9C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D57EA0 80240A70 0C019EC8 */ jal guRotateF +/* D57EA4 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D57EA8 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D57EAC 80240A7C 0C00A6C9 */ jal clamp_angle +/* D57EB0 80240A80 00000000 */ nop +/* D57EB4 80240A84 44050000 */ mfc1 $a1, $f0 +/* D57EB8 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D57EBC 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D57EC0 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D57EC4 80240A94 44812000 */ mtc1 $at, $f4 +/* D57EC8 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D57ECC 80240A9C 0C019EC8 */ jal guRotateF +/* D57ED0 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D57ED4 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D57ED8 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D57EDC 80240AAC 0C019D80 */ jal guMtxCatF +/* D57EE0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D57EE4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D57EE8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D57EEC 80240ABC 080902E2 */ j .L80240B88 +/* D57EF0 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D57EF4 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D57EF8 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D57EFC 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D57F00 80240AD0 0C03964E */ jal func_800E5938 +/* D57F04 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D57F08 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D57F0C 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D57F10 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D57F14 80240AE4 46000606 */ mov.s $f24, $f0 +/* D57F18 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D57F1C 80240AEC 080902C1 */ j .L80240B04 +/* D57F20 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D57F24 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D57F28 80240AF8 00000000 */ nop +/* D57F2C 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D57F30 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D57F34 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D57F38 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D57F3C 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D57F40 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D57F44 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D57F48 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D57F4C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D57F50 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D57F54 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D57F58 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D57F5C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D57F60 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D57F64 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D57F68 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D57F6C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D57F70 80240B40 0C019EC8 */ jal guRotateF +/* D57F74 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D57F78 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D57F7C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D57F80 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D57F84 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D57F88 80240B58 0C019EC8 */ jal guRotateF +/* D57F8C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D57F90 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D57F94 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D57F98 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D57F9C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D57FA0 80240B70 0C019EC8 */ jal guRotateF +/* D57FA4 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D57FA8 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D57FAC 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D57FB0 80240B80 0C019D80 */ jal guMtxCatF +/* D57FB4 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D57FB8 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D57FBC 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D57FC0 80240B90 44812000 */ mtc1 $at, $f4 +/* D57FC4 80240B94 00021023 */ negu $v0, $v0 +/* D57FC8 80240B98 44820000 */ mtc1 $v0, $f0 +/* D57FCC 80240B9C 00000000 */ nop +/* D57FD0 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D57FD4 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D57FD8 80240BA8 00000000 */ nop +/* D57FDC 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D57FE0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D57FE4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D57FE8 80240BB8 0C019E40 */ jal guTranslateF +/* D57FEC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D57FF0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D57FF4 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D57FF8 80240BC8 0C019D80 */ jal guMtxCatF +/* D57FFC 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D58000 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D58004 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D58008 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D5800C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D58010 80240BE0 0C019EC8 */ jal guRotateF +/* D58014 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D58018 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D5801C 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D58020 80240BF0 0C019D80 */ jal guMtxCatF +/* D58024 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D58028 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5802C 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D58030 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D58034 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D58038 80240C08 0C019EC8 */ jal guRotateF +/* D5803C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D58040 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D58044 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D58048 80240C18 0C019D80 */ jal guMtxCatF +/* D5804C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D58050 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D58054 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D58058 80240C28 44812000 */ mtc1 $at, $f4 +/* D5805C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D58060 80240C30 00000000 */ nop +/* D58064 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D58068 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D5806C 80240C3C 00000000 */ nop +/* D58070 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D58074 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D58078 80240C48 44062000 */ mfc1 $a2, $f4 +/* D5807C 80240C4C 0C019E40 */ jal guTranslateF +/* D58080 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D58084 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D58088 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D5808C 80240C5C 0C019D80 */ jal guMtxCatF +/* D58090 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D58094 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D58098 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D5809C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D580A0 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D580A4 80240C74 44050000 */ mfc1 $a1, $f0 +/* D580A8 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D580AC 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D580B0 80240C80 0C019DF0 */ jal guScaleF +/* D580B4 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D580B8 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D580BC 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D580C0 80240C90 0C019D80 */ jal guMtxCatF +/* D580C4 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D580C8 80240C98 4600D687 */ neg.s $f26, $f26 +/* D580CC 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D580D0 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D580D4 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D580D8 80240CA8 0C019E40 */ jal guTranslateF +/* D580DC 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D580E0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D580E4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D580E8 80240CB8 0C019D80 */ jal guMtxCatF +/* D580EC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D580F0 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D580F4 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D580F8 80240CC8 44810000 */ mtc1 $at, $f0 +/* D580FC 80240CCC 00000000 */ nop +/* D58100 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D58104 80240CD4 00000000 */ nop +/* D58108 80240CD8 4500000A */ bc1f .L80240D04 +/* D5810C 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D58110 80240CE0 3C014387 */ lui $at, 0x4387 +/* D58114 80240CE4 44812000 */ mtc1 $at, $f4 +/* D58118 80240CE8 00000000 */ nop +/* D5811C 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D58120 80240CF0 00000000 */ nop +/* D58124 80240CF4 45000004 */ bc1f .L80240D08 +/* D58128 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D5812C 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D58130 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D58134 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D58138 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D5813C 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D58140 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D58144 80240D14 0C0B7710 */ jal render_sprite +/* D58148 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D5814C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D58150 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D58154 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D58158 80240D28 00000000 */ nop +/* D5815C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D58160 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D58164 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D58168 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D5816C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D58170 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D58174 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D58178 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D5817C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D58180 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D58184 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D58188 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D5818C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D58190 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D58194 80240D64 03E00008 */ jr $ra +/* D58198 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240D6C_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240D6C_D57430.s new file mode 100644 index 0000000000..0fef7a95b6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240D6C_D57430.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D5819C +/* D5819C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D581A0 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D581A4 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D581A8 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D581AC 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D581B0 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D581B4 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D581B8 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D581BC 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D581C0 80240D90 00000000 */ nop +/* D581C4 80240D94 28620002 */ slti $v0, $v1, 2 +/* D581C8 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D581CC 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D581D0 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D581D4 80240DA4 00000000 */ nop +/* D581D8 80240DA8 08090384 */ j .L80240E10 +/* D581DC 80240DAC 00000000 */ nop +.L80240DB0: +/* D581E0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D581E4 80240DB4 00000000 */ nop +/* D581E8 80240DB8 08090384 */ j .L80240E10 +/* D581EC 80240DBC 00000000 */ nop +.L80240DC0: +/* D581F0 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D581F4 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D581F8 80240DC8 08090380 */ j .L80240E00 +/* D581FC 80240DCC 00000000 */ nop +.L80240DD0: +/* D58200 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D58204 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D58208 80240DD8 08090380 */ j .L80240E00 +/* D5820C 80240DDC 00000000 */ nop +.L80240DE0: +/* D58210 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D58214 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D58218 80240DE8 00000000 */ nop +/* D5821C 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D58220 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D58224 80240DF4 00000000 */ nop +.L80240DF8: +/* D58228 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D5822C 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D58230 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D58234 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D58238 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D5823C 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D58240 80240E10 0C00EAD2 */ jal get_npc_safe +/* D58244 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D58248 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D5824C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D58250 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D58254 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D58258 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D5825C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D58260 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D58264 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D58268 80240E38 28820002 */ slti $v0, $a0, 2 +/* D5826C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D58270 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D58274 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D58278 80240E48 00000000 */ nop +/* D5827C 80240E4C 080903A9 */ j .L80240EA4 +/* D58280 80240E50 00000000 */ nop +.L80240E54: +/* D58284 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D58288 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D5828C 80240E5C 080903A9 */ j .L80240EA4 +/* D58290 80240E60 00000000 */ nop +.L80240E64: +/* D58294 80240E64 8CA20000 */ lw $v0, ($a1) +/* D58298 80240E68 080903A6 */ j .L80240E98 +/* D5829C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D582A0 80240E70 8CA20000 */ lw $v0, ($a1) +/* D582A4 80240E74 080903A6 */ j .L80240E98 +/* D582A8 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D582AC 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D582B0 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D582B4 80240E84 28420002 */ slti $v0, $v0, 2 +/* D582B8 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D582BC 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D582C0 80240E90 8CA20000 */ lw $v0, ($a1) +/* D582C4 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D582C8 80240E98 00431025 */ or $v0, $v0, $v1 +/* D582CC 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D582D0 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D582D4 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D582D8 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D582DC 80240EAC 03E00008 */ jr $ra +/* D582E0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240EB4_D57430.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240EB4_D57430.s new file mode 100644 index 0000000000..624c7161a3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240EB4_D57430.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D582E4 +/* D582E4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D582E8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D582EC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D582F0 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D582F4 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D582F8 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D582FC 80240ECC 3C03000A */ lui $v1, 0xa +/* D58300 80240ED0 8C820000 */ lw $v0, ($a0) +/* D58304 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D58308 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D5830C 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D58310 80240EE0 03E00008 */ jr $ra +/* D58314 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240EE8.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240EE8.s new file mode 100644 index 0000000000..8d9cdcc950 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240EE8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8 +/* D58318 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5831C 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D58320 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D58324 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D58328 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D5832C 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D58330 80240F00 3C030008 */ lui $v1, 8 +/* D58334 80240F04 8C820000 */ lw $v0, ($a0) +/* D58338 80240F08 00431025 */ or $v0, $v0, $v1 +/* D5833C 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D58340 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D58344 80240F14 03E00008 */ jr $ra +/* D58348 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_06/func_80240F1C.s b/asm/nonmatchings/world/area_pra/pra_06/func_80240F1C.s new file mode 100644 index 0000000000..e8eee8c235 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_06/func_80240F1C.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C +/* D5834C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D58350 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D58354 80240F24 0C00EAD2 */ jal get_npc_safe +/* D58358 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D5835C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D58360 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D58364 80240F34 3C030002 */ lui $v1, 2 +/* D58368 80240F38 8C820000 */ lw $v0, ($a0) +/* D5836C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D58370 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D58374 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D58378 80240F48 03E00008 */ jr $ra +/* D5837C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240000_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240000_D58890.s new file mode 100644 index 0000000000..beb4e6b172 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240000_D58890.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D58890 +/* D58890 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D58894 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D58898 80240008 24020001 */ addiu $v0, $zero, 1 +/* D5889C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D588A0 80240010 03E00008 */ jr $ra +/* D588A4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D588A8 80240018 00000000 */ nop +/* D588AC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240020_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240020_D58890.s new file mode 100644 index 0000000000..03dffc4dcc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240020_D58890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D588B0 +/* D588B0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D588B4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D588B8 80240028 00822024 */ and $a0, $a0, $v0 +/* D588BC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D588C0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D588C4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D588C8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D588CC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D588D0 80240040 30620001 */ andi $v0, $v1, 1 +/* D588D4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D588D8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D588DC 8024004C 03E00008 */ jr $ra +/* D588E0 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240054_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240054_D58890.s new file mode 100644 index 0000000000..a11dae4324 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240054_D58890.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D588E4 +/* D588E4 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D588E8 80240058 304300FF */ andi $v1, $v0, 0xff +/* D588EC 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D588F0 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D588F4 80240064 28620007 */ slti $v0, $v1, 7 +/* D588F8 80240068 10400005 */ beqz $v0, .L80240080 +/* D588FC 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D58900 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D58904 80240074 3C020100 */ lui $v0, 0x100 +/* D58908 80240078 03E00008 */ jr $ra +/* D5890C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D58910 80240080 2862000A */ slti $v0, $v1, 0xa +/* D58914 80240084 10400016 */ beqz $v0, .L802400E0 +/* D58918 80240088 28620008 */ slti $v0, $v1, 8 +/* D5891C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D58920 80240090 3C020100 */ lui $v0, 0x100 +/* D58924 80240094 03E00008 */ jr $ra +/* D58928 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D5892C 8024009C 3C020001 */ lui $v0, 1 +/* D58930 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D58934 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D58938 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D5893C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D58940 802400B0 03E00008 */ jr $ra +/* D58944 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D58948 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D5894C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D58950 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D58954 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D58958 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D5895C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D58960 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D58964 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D58968 802400D8 03E00008 */ jr $ra +/* D5896C 802400DC 00000000 */ nop +.L802400E0: +/* D58970 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D58974 802400E4 03E00008 */ jr $ra +/* D58978 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802400EC_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802400EC_D58890.s new file mode 100644 index 0000000000..46756d7d45 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802400EC_D58890.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D5897C +/* D5897C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D58980 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D58984 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D58988 802400F8 3C058024 */ lui $a1, 0x8024 +/* D5898C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D58990 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D58994 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D58998 80240108 0000202D */ daddu $a0, $zero, $zero +/* D5899C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D589A0 80240110 AC620000 */ sw $v0, ($v1) +/* D589A4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D589A8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D589AC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D589B0 80240120 03E00008 */ jr $ra +/* D589B4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240128_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240128_D58890.s new file mode 100644 index 0000000000..4facca2231 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240128_D58890.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D589B8 +/* D589B8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D589BC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D589C0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D589C4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D589C8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D589CC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D589D0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D589D4 80240144 8E020000 */ lw $v0, ($s0) +/* D589D8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D589DC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D589E0 80240150 10400061 */ beqz $v0, .L802402D8 +/* D589E4 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D589E8 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D589EC 8024015C 0C044181 */ jal get_shadow_by_index +/* D589F0 80240160 00000000 */ nop +/* D589F4 80240164 0C048B77 */ jal func_80122DDC +/* D589F8 80240168 84440008 */ lh $a0, 8($v0) +/* D589FC 8024016C 8C430000 */ lw $v1, ($v0) +/* D58A00 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D58A04 80240174 AC430000 */ sw $v1, ($v0) +/* D58A08 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D58A0C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D58A10 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D58A14 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D58A18 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D58A1C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D58A20 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D58A24 80240194 3C04800A */ lui $a0, 0x800a +/* D58A28 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D58A2C 8024019C 46000007 */ neg.s $f0, $f0 +/* D58A30 802401A0 44070000 */ mfc1 $a3, $f0 +/* D58A34 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D58A38 802401A8 0C00B94E */ jal get_screen_coords +/* D58A3C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D58A40 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D58A44 802401B4 0C090008 */ jal func_80240020 +/* D58A48 802401B8 00000000 */ nop +/* D58A4C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D58A50 802401C0 3C014307 */ lui $at, 0x4307 +/* D58A54 802401C4 44810000 */ mtc1 $at, $f0 +/* D58A58 802401C8 00000000 */ nop +/* D58A5C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D58A60 802401D0 00000000 */ nop +/* D58A64 802401D4 4500000B */ bc1f .L80240204 +/* D58A68 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D58A6C 802401DC 3C014361 */ lui $at, 0x4361 +/* D58A70 802401E0 44810000 */ mtc1 $at, $f0 +/* D58A74 802401E4 00000000 */ nop +/* D58A78 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D58A7C 802401EC 00000000 */ nop +/* D58A80 802401F0 45000004 */ bc1f .L80240204 +/* D58A84 802401F4 00000000 */ nop +/* D58A88 802401F8 0C090015 */ jal func_80240054 +/* D58A8C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D58A90 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D58A94 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D58A98 80240208 0C0B76A3 */ jal func_802DDA8C +/* D58A9C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D58AA0 80240210 8E020000 */ lw $v0, ($s0) +/* D58AA4 80240214 3C030002 */ lui $v1, 2 +/* D58AA8 80240218 00431024 */ and $v0, $v0, $v1 +/* D58AAC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D58AB0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D58AB4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D58AB8 80240228 3C02802E */ lui $v0, 0x802e +/* D58ABC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D58AC0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D58AC4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D58AC8 80240238 1040000B */ beqz $v0, .L80240268 +/* D58ACC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D58AD0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D58AD4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D58AD8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D58ADC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D58AE0 80240250 0000382D */ daddu $a3, $zero, $zero +/* D58AE4 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D58AE8 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D58AEC 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D58AF0 80240260 080900A3 */ j .L8024028C +/* D58AF4 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D58AF8 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D58AFC 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D58B00 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D58B04 80240274 0000302D */ daddu $a2, $zero, $zero +/* D58B08 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D58B0C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D58B10 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D58B14 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D58B18 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D58B1C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D58B20 80240290 00000000 */ nop +.L80240294: +/* D58B24 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D58B28 80240298 3C01802E */ lui $at, 0x802e +/* D58B2C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D58B30 802402A0 080900AD */ j .L802402B4 +/* D58B34 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D58B38 802402A8 3C01802E */ lui $at, 0x802e +/* D58B3C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D58B40 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D58B44 802402B4 AC910000 */ sw $s1, ($a0) +/* D58B48 802402B8 AC900008 */ sw $s0, 8($a0) +/* D58B4C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D58B50 802402C0 3C038024 */ lui $v1, 0x8024 +/* D58B54 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D58B58 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D58B5C 802402CC 00021023 */ negu $v0, $v0 +/* D58B60 802402D0 0C047644 */ jal queue_render_task +/* D58B64 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D58B68 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D58B6C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D58B70 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D58B74 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D58B78 802402E8 03E00008 */ jr $ra +/* D58B7C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802402F0_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802402F0_D58890.s new file mode 100644 index 0000000000..1bc0c7b517 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802402F0_D58890.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D58B80 +/* D58B80 802402F0 3C03800A */ lui $v1, 0x800a +/* D58B84 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D58B88 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D58B8C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D58B90 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D58B94 80240304 4480A000 */ mtc1 $zero, $f20 +/* D58B98 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D58B9C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D58BA0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D58BA4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D58BA8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D58BAC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D58BB0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D58BB4 80240324 00031080 */ sll $v0, $v1, 2 +/* D58BB8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D58BBC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D58BC0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D58BC4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D58BC8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D58BCC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D58BD0 80240340 3C01800B */ lui $at, 0x800b +/* D58BD4 80240344 00220821 */ addu $at, $at, $v0 +/* D58BD8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D58BDC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D58BE0 80240350 4600B587 */ neg.s $f22, $f22 +/* D58BE4 80240354 4405B000 */ mfc1 $a1, $f22 +/* D58BE8 80240358 0200202D */ daddu $a0, $s0, $zero +/* D58BEC 8024035C 0C019EC8 */ jal guRotateF +/* D58BF0 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D58BF4 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D58BF8 80240368 0C00A6C9 */ jal clamp_angle +/* D58BFC 8024036C 00000000 */ nop +/* D58C00 80240370 44050000 */ mfc1 $a1, $f0 +/* D58C04 80240374 4406A000 */ mfc1 $a2, $f20 +/* D58C08 80240378 4407A000 */ mfc1 $a3, $f20 +/* D58C0C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D58C10 80240380 4481C000 */ mtc1 $at, $f24 +/* D58C14 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D58C18 80240388 0C019EC8 */ jal guRotateF +/* D58C1C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D58C20 80240390 0200202D */ daddu $a0, $s0, $zero +/* D58C24 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D58C28 80240398 0C019D80 */ jal guMtxCatF +/* D58C2C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D58C30 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D58C34 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D58C38 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D58C3C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D58C40 802403B0 0C019EC8 */ jal guRotateF +/* D58C44 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D58C48 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D58C4C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D58C50 802403C0 0C019D80 */ jal guMtxCatF +/* D58C54 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D58C58 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D58C5C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D58C60 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D58C64 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D58C68 802403D8 0C019EC8 */ jal guRotateF +/* D58C6C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D58C70 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D58C74 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D58C78 802403E8 0C019D80 */ jal guMtxCatF +/* D58C7C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D58C80 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D58C84 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D58C88 802403F8 44810000 */ mtc1 $at, $f0 +/* D58C8C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D58C90 80240400 44050000 */ mfc1 $a1, $f0 +/* D58C94 80240404 0200202D */ daddu $a0, $s0, $zero +/* D58C98 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D58C9C 8024040C 0C019DF0 */ jal guScaleF +/* D58CA0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D58CA4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D58CA8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D58CAC 8024041C 0C019D80 */ jal guMtxCatF +/* D58CB0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D58CB4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D58CB8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D58CBC 8024042C 3C014040 */ lui $at, 0x4040 +/* D58CC0 80240430 44811000 */ mtc1 $at, $f2 +/* D58CC4 80240434 46000007 */ neg.s $f0, $f0 +/* D58CC8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D58CCC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D58CD0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D58CD4 80240444 44070000 */ mfc1 $a3, $f0 +/* D58CD8 80240448 0C019E40 */ jal guTranslateF +/* D58CDC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D58CE0 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D58CE4 80240454 0200282D */ daddu $a1, $s0, $zero +/* D58CE8 80240458 0C019D80 */ jal guMtxCatF +/* D58CEC 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D58CF0 80240460 24040002 */ addiu $a0, $zero, 2 +/* D58CF4 80240464 0000282D */ daddu $a1, $zero, $zero +/* D58CF8 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D58CFC 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D58D00 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D58D04 80240474 0C0B7710 */ jal render_sprite +/* D58D08 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D58D0C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D58D10 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D58D14 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D58D18 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D58D1C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D58D20 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D58D24 80240494 03E00008 */ jr $ra +/* D58D28 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_8024049C_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_8024049C_D58890.s new file mode 100644 index 0000000000..643cbbe92b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_8024049C_D58890.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D58D2C +/* D58D2C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D58D30 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D58D34 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D58D38 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D58D3C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D58D40 802404B0 0440000E */ bltz $v0, .L802404EC +/* D58D44 802404B4 28420002 */ slti $v0, $v0, 2 +/* D58D48 802404B8 1040000C */ beqz $v0, .L802404EC +/* D58D4C 802404BC 00000000 */ nop +/* D58D50 802404C0 3C058024 */ lui $a1, 0x8024 +/* D58D54 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D58D58 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D58D5C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D58D60 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D58D64 802404D4 AC620000 */ sw $v0, ($v1) +/* D58D68 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D58D6C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D58D70 802404E0 8C620000 */ lw $v0, ($v1) +/* D58D74 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D58D78 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D58D7C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D58D80 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D58D84 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D58D88 802404F8 03E00008 */ jr $ra +/* D58D8C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240500_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240500_D58890.s new file mode 100644 index 0000000000..7cd05385bc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240500_D58890.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D58D90 +/* D58D90 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D58D94 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D58D98 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D58D9C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D58DA0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D58DA4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D58DA8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D58DAC 8024051C 8E020000 */ lw $v0, ($s0) +/* D58DB0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D58DB4 80240524 30420001 */ andi $v0, $v0, 1 +/* D58DB8 80240528 10400052 */ beqz $v0, .L80240674 +/* D58DBC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D58DC0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D58DC4 80240534 0C044181 */ jal get_shadow_by_index +/* D58DC8 80240538 00000000 */ nop +/* D58DCC 8024053C 0C048B77 */ jal func_80122DDC +/* D58DD0 80240540 84440008 */ lh $a0, 8($v0) +/* D58DD4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D58DD8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D58DDC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D58DE0 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D58DE4 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D58DE8 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D58DEC 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D58DF0 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D58DF4 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D58DF8 80240568 3C04800A */ lui $a0, 0x800a +/* D58DFC 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D58E00 80240570 46000007 */ neg.s $f0, $f0 +/* D58E04 80240574 44060000 */ mfc1 $a2, $f0 +/* D58E08 80240578 0C00B94E */ jal get_screen_coords +/* D58E0C 8024057C 00000000 */ nop +/* D58E10 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D58E14 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D58E18 80240588 0C0B76A3 */ jal func_802DDA8C +/* D58E1C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D58E20 80240590 8E020000 */ lw $v0, ($s0) +/* D58E24 80240594 3C030002 */ lui $v1, 2 +/* D58E28 80240598 00431024 */ and $v0, $v0, $v1 +/* D58E2C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D58E30 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D58E34 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D58E38 802405A8 3C02802E */ lui $v0, 0x802e +/* D58E3C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D58E40 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D58E44 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D58E48 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D58E4C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D58E50 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D58E54 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D58E58 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D58E5C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D58E60 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D58E64 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D58E68 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D58E6C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D58E70 802405E0 08090183 */ j .L8024060C +/* D58E74 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D58E78 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D58E7C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D58E80 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D58E84 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D58E88 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D58E8C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D58E90 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D58E94 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D58E98 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D58E9C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D58EA0 80240610 00000000 */ nop +.L80240614: +/* D58EA4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D58EA8 80240618 3C01802E */ lui $at, 0x802e +/* D58EAC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D58EB0 80240620 0809018C */ j .L80240630 +/* D58EB4 80240624 00000000 */ nop +.L80240628: +/* D58EB8 80240628 3C01802E */ lui $at, 0x802e +/* D58EBC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D58EC0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D58EC4 80240634 3C048024 */ lui $a0, 0x8024 +/* D58EC8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D58ECC 8024063C AE320000 */ sw $s2, ($s1) +/* D58ED0 80240640 AE300008 */ sw $s0, 8($s1) +/* D58ED4 80240644 00021023 */ negu $v0, $v0 +/* D58ED8 80240648 AE220004 */ sw $v0, 4($s1) +/* D58EDC 8024064C 8E020000 */ lw $v0, ($s0) +/* D58EE0 80240650 3C030002 */ lui $v1, 2 +/* D58EE4 80240654 00431024 */ and $v0, $v0, $v1 +/* D58EE8 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D58EEC 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D58EF0 80240660 3C048024 */ lui $a0, 0x8024 +/* D58EF4 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D58EF8 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D58EFC 8024066C 0C047644 */ jal queue_render_task +/* D58F00 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D58F04 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D58F08 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D58F0C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D58F10 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D58F14 80240684 03E00008 */ jr $ra +/* D58F18 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_8024068C_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_8024068C_D58890.s new file mode 100644 index 0000000000..9f97564348 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_8024068C_D58890.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D58F1C +/* D58F1C 8024068C 3C03800A */ lui $v1, 0x800a +/* D58F20 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D58F24 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D58F28 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D58F2C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D58F30 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D58F34 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D58F38 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D58F3C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D58F40 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D58F44 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D58F48 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D58F4C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D58F50 802406C0 00031080 */ sll $v0, $v1, 2 +/* D58F54 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D58F58 802406C8 00021080 */ sll $v0, $v0, 2 +/* D58F5C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D58F60 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D58F64 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D58F68 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D58F6C 802406DC 3C01800B */ lui $at, 0x800b +/* D58F70 802406E0 00220821 */ addu $at, $at, $v0 +/* D58F74 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D58F78 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D58F7C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D58F80 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D58F84 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D58F88 802406F8 0C019EC8 */ jal guRotateF +/* D58F8C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D58F90 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D58F94 80240704 0C00A6C9 */ jal clamp_angle +/* D58F98 80240708 00000000 */ nop +/* D58F9C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D58FA0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D58FA4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D58FA8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D58FAC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D58FB0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D58FB4 80240724 0C019EC8 */ jal guRotateF +/* D58FB8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D58FBC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D58FC0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D58FC4 80240734 0C019D80 */ jal guMtxCatF +/* D58FC8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D58FCC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D58FD0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D58FD4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D58FD8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D58FDC 8024074C 0C019EC8 */ jal guRotateF +/* D58FE0 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D58FE4 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D58FE8 80240758 0200282D */ daddu $a1, $s0, $zero +/* D58FEC 8024075C 0C019D80 */ jal guMtxCatF +/* D58FF0 80240760 0080302D */ daddu $a2, $a0, $zero +/* D58FF4 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D58FF8 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D58FFC 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D59000 80240770 4407C000 */ mfc1 $a3, $f24 +/* D59004 80240774 0C019EC8 */ jal guRotateF +/* D59008 80240778 0200202D */ daddu $a0, $s0, $zero +/* D5900C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D59010 80240780 0200282D */ daddu $a1, $s0, $zero +/* D59014 80240784 0C019D80 */ jal guMtxCatF +/* D59018 80240788 0080302D */ daddu $a2, $a0, $zero +/* D5901C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D59020 80240790 3C013F36 */ lui $at, 0x3f36 +/* D59024 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D59028 80240798 44810000 */ mtc1 $at, $f0 +/* D5902C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D59030 802407A0 44050000 */ mfc1 $a1, $f0 +/* D59034 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D59038 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D5903C 802407AC 0C019DF0 */ jal guScaleF +/* D59040 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D59044 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D59048 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D5904C 802407BC 0C019D80 */ jal guMtxCatF +/* D59050 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D59054 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D59058 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D5905C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D59060 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D59064 802407D4 46000007 */ neg.s $f0, $f0 +/* D59068 802407D8 44060000 */ mfc1 $a2, $f0 +/* D5906C 802407DC 0C019E40 */ jal guTranslateF +/* D59070 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D59074 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D59078 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D5907C 802407EC 0C019D80 */ jal guMtxCatF +/* D59080 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D59084 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D59088 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D5908C 802407FC 44810000 */ mtc1 $at, $f0 +/* D59090 80240800 00000000 */ nop +/* D59094 80240804 4602003E */ c.le.s $f0, $f2 +/* D59098 80240808 00000000 */ nop +/* D5909C 8024080C 4500000A */ bc1f .L80240838 +/* D590A0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D590A4 80240814 3C014387 */ lui $at, 0x4387 +/* D590A8 80240818 44810000 */ mtc1 $at, $f0 +/* D590AC 8024081C 00000000 */ nop +/* D590B0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D590B4 80240824 00000000 */ nop +/* D590B8 80240828 45000004 */ bc1f .L8024083C +/* D590BC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D590C0 80240830 3C041000 */ lui $a0, 0x1000 +/* D590C4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D590C8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D590CC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D590D0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D590D4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D590D8 80240848 0C0B7710 */ jal render_sprite +/* D590DC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D590E0 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D590E4 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D590E8 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D590EC 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D590F0 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D590F4 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D590F8 80240868 03E00008 */ jr $ra +/* D590FC 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240870_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240870_D58890.s new file mode 100644 index 0000000000..d775ed23e3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240870_D58890.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D59100 +/* D59100 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D59104 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D59108 80240878 4480B000 */ mtc1 $zero, $f22 +/* D5910C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D59110 80240880 0080882D */ daddu $s1, $a0, $zero +/* D59114 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D59118 80240888 0000982D */ daddu $s3, $zero, $zero +/* D5911C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D59120 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D59124 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D59128 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D5912C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D59130 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D59134 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D59138 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D5913C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D59140 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D59144 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D59148 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D5914C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D59150 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D59154 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D59158 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D5915C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D59160 802408D0 3C03800A */ lui $v1, 0x800a +/* D59164 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D59168 802408D8 00031080 */ sll $v0, $v1, 2 +/* D5916C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D59170 802408E0 00021080 */ sll $v0, $v0, 2 +/* D59174 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D59178 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D5917C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D59180 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D59184 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D59188 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D5918C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D59190 80240900 46000507 */ neg.s $f20, $f0 +/* D59194 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D59198 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D5919C 8024090C 44810000 */ mtc1 $at, $f0 +/* D591A0 80240910 00000000 */ nop +/* D591A4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D591A8 80240918 00000000 */ nop +/* D591AC 8024091C 4500000A */ bc1f .L80240948 +/* D591B0 80240920 00000000 */ nop +/* D591B4 80240924 3C014334 */ lui $at, 0x4334 +/* D591B8 80240928 44812000 */ mtc1 $at, $f4 +/* D591BC 8024092C 00000000 */ nop +/* D591C0 80240930 4604103E */ c.le.s $f2, $f4 +/* D591C4 80240934 00000000 */ nop +/* D591C8 80240938 45000003 */ bc1f .L80240948 +/* D591CC 8024093C 00000000 */ nop +/* D591D0 80240940 08090276 */ j .L802409D8 +/* D591D4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D591D8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D591DC 8024094C 3C014334 */ lui $at, 0x4334 +/* D591E0 80240950 44812000 */ mtc1 $at, $f4 +/* D591E4 80240954 00000000 */ nop +/* D591E8 80240958 4600203C */ c.lt.s $f4, $f0 +/* D591EC 8024095C 00000000 */ nop +/* D591F0 80240960 4500000C */ bc1f .L80240994 +/* D591F4 80240964 00000000 */ nop +/* D591F8 80240968 3C014387 */ lui $at, 0x4387 +/* D591FC 8024096C 44812000 */ mtc1 $at, $f4 +/* D59200 80240970 00000000 */ nop +/* D59204 80240974 4604003E */ c.le.s $f0, $f4 +/* D59208 80240978 00000000 */ nop +/* D5920C 8024097C 45000008 */ bc1f .L802409A0 +/* D59210 80240980 00000000 */ nop +/* D59214 80240984 3C014334 */ lui $at, 0x4334 +/* D59218 80240988 44812000 */ mtc1 $at, $f4 +/* D5921C 8024098C 08090276 */ j .L802409D8 +/* D59220 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D59224 80240994 3C014387 */ lui $at, 0x4387 +/* D59228 80240998 44812000 */ mtc1 $at, $f4 +/* D5922C 8024099C 00000000 */ nop +.L802409A0: +/* D59230 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D59234 802409A4 00000000 */ nop +/* D59238 802409A8 4500000A */ bc1f .L802409D4 +/* D5923C 802409AC 00000000 */ nop +/* D59240 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D59244 802409B4 44811000 */ mtc1 $at, $f2 +/* D59248 802409B8 00000000 */ nop +/* D5924C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D59250 802409C0 00000000 */ nop +/* D59254 802409C4 45000003 */ bc1f .L802409D4 +/* D59258 802409C8 00000000 */ nop +/* D5925C 802409CC 08090276 */ j .L802409D8 +/* D59260 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D59264 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D59268 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D5926C 802409DC 44810000 */ mtc1 $at, $f0 +/* D59270 802409E0 00000000 */ nop +/* D59274 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D59278 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D5927C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D59280 802409F0 00000000 */ nop +/* D59284 802409F4 00071100 */ sll $v0, $a3, 4 +/* D59288 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D5928C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D59290 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D59294 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D59298 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D5929C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D592A0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D592A4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D592A8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D592AC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D592B0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D592B4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D592B8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D592BC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D592C0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D592C4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D592C8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D592CC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D592D0 80240A40 0C019EC8 */ jal guRotateF +/* D592D4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D592D8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D592DC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D592E0 80240A50 00000000 */ nop +/* D592E4 80240A54 44050000 */ mfc1 $a1, $f0 +/* D592E8 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D592EC 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D592F0 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D592F4 80240A64 44812000 */ mtc1 $at, $f4 +/* D592F8 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D592FC 80240A6C 0C019EC8 */ jal guRotateF +/* D59300 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D59304 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D59308 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D5930C 80240A7C 0C019D80 */ jal guMtxCatF +/* D59310 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D59314 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D59318 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5931C 80240A8C 080902D6 */ j .L80240B58 +/* D59320 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D59324 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D59328 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D5932C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D59330 80240AA0 0C03964E */ jal func_800E5938 +/* D59334 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D59338 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D5933C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D59340 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D59344 80240AB4 46000606 */ mov.s $f24, $f0 +/* D59348 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5934C 80240ABC 080902B5 */ j .L80240AD4 +/* D59350 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D59354 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D59358 80240AC8 00000000 */ nop +/* D5935C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D59360 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D59364 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D59368 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D5936C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D59370 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D59374 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D59378 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D5937C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D59380 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D59384 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D59388 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D5938C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D59390 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D59394 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D59398 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D5939C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D593A0 80240B10 0C019EC8 */ jal guRotateF +/* D593A4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D593A8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D593AC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D593B0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D593B4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D593B8 80240B28 0C019EC8 */ jal guRotateF +/* D593BC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D593C0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D593C4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D593C8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D593CC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D593D0 80240B40 0C019EC8 */ jal guRotateF +/* D593D4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D593D8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D593DC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D593E0 80240B50 0C019D80 */ jal guMtxCatF +/* D593E4 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D593E8 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D593EC 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D593F0 80240B60 44812000 */ mtc1 $at, $f4 +/* D593F4 80240B64 00021023 */ negu $v0, $v0 +/* D593F8 80240B68 44820000 */ mtc1 $v0, $f0 +/* D593FC 80240B6C 00000000 */ nop +/* D59400 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D59404 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D59408 80240B78 00000000 */ nop +/* D5940C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D59410 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D59414 80240B84 44062000 */ mfc1 $a2, $f4 +/* D59418 80240B88 0C019E40 */ jal guTranslateF +/* D5941C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D59420 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D59424 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D59428 80240B98 0C019D80 */ jal guMtxCatF +/* D5942C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D59430 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D59434 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D59438 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D5943C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D59440 80240BB0 0C019EC8 */ jal guRotateF +/* D59444 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D59448 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D5944C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D59450 80240BC0 0C019D80 */ jal guMtxCatF +/* D59454 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D59458 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5945C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D59460 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D59464 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D59468 80240BD8 0C019EC8 */ jal guRotateF +/* D5946C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D59470 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D59474 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D59478 80240BE8 0C019D80 */ jal guMtxCatF +/* D5947C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D59480 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D59484 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D59488 80240BF8 44812000 */ mtc1 $at, $f4 +/* D5948C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D59490 80240C00 00000000 */ nop +/* D59494 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D59498 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D5949C 80240C0C 00000000 */ nop +/* D594A0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D594A4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D594A8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D594AC 80240C1C 0C019E40 */ jal guTranslateF +/* D594B0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D594B4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D594B8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D594BC 80240C2C 0C019D80 */ jal guMtxCatF +/* D594C0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D594C4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D594C8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D594CC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D594D0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D594D4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D594D8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D594DC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D594E0 80240C50 0C019DF0 */ jal guScaleF +/* D594E4 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D594E8 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D594EC 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D594F0 80240C60 0C019D80 */ jal guMtxCatF +/* D594F4 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D594F8 80240C68 4600D687 */ neg.s $f26, $f26 +/* D594FC 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D59500 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D59504 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D59508 80240C78 0C019E40 */ jal guTranslateF +/* D5950C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D59510 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D59514 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D59518 80240C88 0C019D80 */ jal guMtxCatF +/* D5951C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D59520 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D59524 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D59528 80240C98 44810000 */ mtc1 $at, $f0 +/* D5952C 80240C9C 00000000 */ nop +/* D59530 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D59534 80240CA4 00000000 */ nop +/* D59538 80240CA8 4500000A */ bc1f .L80240CD4 +/* D5953C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D59540 80240CB0 3C014387 */ lui $at, 0x4387 +/* D59544 80240CB4 44812000 */ mtc1 $at, $f4 +/* D59548 80240CB8 00000000 */ nop +/* D5954C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D59550 80240CC0 00000000 */ nop +/* D59554 80240CC4 45000004 */ bc1f .L80240CD8 +/* D59558 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D5955C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D59560 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D59564 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D59568 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D5956C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D59570 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D59574 80240CE4 0C0B7710 */ jal render_sprite +/* D59578 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D5957C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D59580 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D59584 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D59588 80240CF8 00000000 */ nop +/* D5958C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D59590 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D59594 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D59598 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D5959C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D595A0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D595A4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D595A8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D595AC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D595B0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D595B4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D595B8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D595BC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D595C0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D595C4 80240D34 03E00008 */ jr $ra +/* D595C8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240D3C_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240D3C_D58890.s new file mode 100644 index 0000000000..a29a878a5b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240D3C_D58890.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D595CC +/* D595CC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D595D0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D595D4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D595D8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D595DC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D595E0 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D595E4 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D595E8 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D595EC 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D595F0 80240D60 00000000 */ nop +/* D595F4 80240D64 28620002 */ slti $v0, $v1, 2 +/* D595F8 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D595FC 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D59600 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D59604 80240D74 00000000 */ nop +/* D59608 80240D78 08090378 */ j .L80240DE0 +/* D5960C 80240D7C 00000000 */ nop +.L80240D80: +/* D59610 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D59614 80240D84 00000000 */ nop +/* D59618 80240D88 08090378 */ j .L80240DE0 +/* D5961C 80240D8C 00000000 */ nop +.L80240D90: +/* D59620 80240D90 3C048024 */ lui $a0, 0x8024 +/* D59624 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D59628 80240D98 08090374 */ j .L80240DD0 +/* D5962C 80240D9C 00000000 */ nop +.L80240DA0: +/* D59630 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D59634 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D59638 80240DA8 08090374 */ j .L80240DD0 +/* D5963C 80240DAC 00000000 */ nop +.L80240DB0: +/* D59640 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D59644 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D59648 80240DB8 00000000 */ nop +/* D5964C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D59650 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D59654 80240DC4 00000000 */ nop +.L80240DC8: +/* D59658 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D5965C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D59660 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D59664 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D59668 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D5966C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D59670 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D59674 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D59678 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D5967C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D59680 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D59684 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D59688 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D5968C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D59690 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D59694 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D59698 80240E08 28820002 */ slti $v0, $a0, 2 +/* D5969C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D596A0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D596A4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D596A8 80240E18 00000000 */ nop +/* D596AC 80240E1C 0809039D */ j .L80240E74 +/* D596B0 80240E20 00000000 */ nop +.L80240E24: +/* D596B4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D596B8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D596BC 80240E2C 0809039D */ j .L80240E74 +/* D596C0 80240E30 00000000 */ nop +.L80240E34: +/* D596C4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D596C8 80240E38 0809039A */ j .L80240E68 +/* D596CC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D596D0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D596D4 80240E44 0809039A */ j .L80240E68 +/* D596D8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D596DC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D596E0 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D596E4 80240E54 28420002 */ slti $v0, $v0, 2 +/* D596E8 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D596EC 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D596F0 80240E60 8CA20000 */ lw $v0, ($a1) +/* D596F4 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D596F8 80240E68 00431025 */ or $v0, $v0, $v1 +/* D596FC 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D59700 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D59704 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D59708 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D5970C 80240E7C 03E00008 */ jr $ra +/* D59710 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240E84_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240E84_D58890.s new file mode 100644 index 0000000000..ac98ae42b0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240E84_D58890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D59714 +/* D59714 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59718 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D5971C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D59720 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D59724 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D59728 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D5972C 80240E9C 3C03000A */ lui $v1, 0xa +/* D59730 80240EA0 8C820000 */ lw $v0, ($a0) +/* D59734 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D59738 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D5973C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D59740 80240EB0 03E00008 */ jr $ra +/* D59744 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240EB8_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240EB8_D58890.s new file mode 100644 index 0000000000..3fe8b0982e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240EB8_D58890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D59748 +/* D59748 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5974C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D59750 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D59754 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D59758 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D5975C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D59760 80240ED0 3C030008 */ lui $v1, 8 +/* D59764 80240ED4 8C820000 */ lw $v0, ($a0) +/* D59768 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D5976C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D59770 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D59774 80240EE4 03E00008 */ jr $ra +/* D59778 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240EEC_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240EEC_D58890.s new file mode 100644 index 0000000000..86de1d3b40 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240EEC_D58890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D5977C +/* D5977C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59780 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D59784 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D59788 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D5978C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D59790 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D59794 80240F04 3C030002 */ lui $v1, 2 +/* D59798 80240F08 8C820000 */ lw $v0, ($a0) +/* D5979C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D597A0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D597A4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D597A8 80240F18 03E00008 */ jr $ra +/* D597AC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240F20_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240F20_D58890.s new file mode 100644 index 0000000000..d757b9fdf4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240F20_D58890.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D597B0 +/* D597B0 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D597B4 80240F24 AFB10014 */ sw $s1, 0x14($sp) +/* D597B8 80240F28 0080882D */ daddu $s1, $a0, $zero +/* D597BC 80240F2C AFBF0018 */ sw $ra, 0x18($sp) +/* D597C0 80240F30 AFB00010 */ sw $s0, 0x10($sp) +/* D597C4 80240F34 8E30000C */ lw $s0, 0xc($s1) +/* D597C8 80240F38 8E050000 */ lw $a1, ($s0) +/* D597CC 80240F3C 0C0B1EAF */ jal get_variable +/* D597D0 80240F40 26100004 */ addiu $s0, $s0, 4 +/* D597D4 80240F44 0C00EAD2 */ jal get_npc_safe +/* D597D8 80240F48 0040202D */ daddu $a0, $v0, $zero +/* D597DC 80240F4C 10400005 */ beqz $v0, .L80240F64 +/* D597E0 80240F50 00000000 */ nop +/* D597E4 80240F54 8E050000 */ lw $a1, ($s0) +/* D597E8 80240F58 844600A8 */ lh $a2, 0xa8($v0) +/* D597EC 80240F5C 0C0B2026 */ jal set_variable +/* D597F0 80240F60 0220202D */ daddu $a0, $s1, $zero +.L80240F64: +/* D597F4 80240F64 8FBF0018 */ lw $ra, 0x18($sp) +/* D597F8 80240F68 8FB10014 */ lw $s1, 0x14($sp) +/* D597FC 80240F6C 8FB00010 */ lw $s0, 0x10($sp) +/* D59800 80240F70 24020002 */ addiu $v0, $zero, 2 +/* D59804 80240F74 03E00008 */ jr $ra +/* D59808 80240F78 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80240F7C_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80240F7C_D58890.s new file mode 100644 index 0000000000..e7bfb81610 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80240F7C_D58890.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C_D5980C +/* D5980C 80240F7C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D59810 80240F80 AFB10014 */ sw $s1, 0x14($sp) +/* D59814 80240F84 0080882D */ daddu $s1, $a0, $zero +/* D59818 80240F88 AFBF0024 */ sw $ra, 0x24($sp) +/* D5981C 80240F8C AFB40020 */ sw $s4, 0x20($sp) +/* D59820 80240F90 AFB3001C */ sw $s3, 0x1c($sp) +/* D59824 80240F94 AFB20018 */ sw $s2, 0x18($sp) +/* D59828 80240F98 AFB00010 */ sw $s0, 0x10($sp) +/* D5982C 80240F9C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D59830 80240FA0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D59834 80240FA4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D59838 80240FA8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D5983C 80240FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D59840 80240FB0 8E30000C */ lw $s0, 0xc($s1) +/* D59844 80240FB4 8E130000 */ lw $s3, ($s0) +/* D59848 80240FB8 26100004 */ addiu $s0, $s0, 4 +/* D5984C 80240FBC 0C0B1EAF */ jal get_variable +/* D59850 80240FC0 0260282D */ daddu $a1, $s3, $zero +/* D59854 80240FC4 4482E000 */ mtc1 $v0, $f28 +/* D59858 80240FC8 00000000 */ nop +/* D5985C 80240FCC 4680E720 */ cvt.s.w $f28, $f28 +/* D59860 80240FD0 8E140000 */ lw $s4, ($s0) +/* D59864 80240FD4 26100004 */ addiu $s0, $s0, 4 +/* D59868 80240FD8 0220202D */ daddu $a0, $s1, $zero +/* D5986C 80240FDC 0C0B1EAF */ jal get_variable +/* D59870 80240FE0 0280282D */ daddu $a1, $s4, $zero +/* D59874 80240FE4 4482D000 */ mtc1 $v0, $f26 +/* D59878 80240FE8 00000000 */ nop +/* D5987C 80240FEC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D59880 80240FF0 8E100000 */ lw $s0, ($s0) +/* D59884 80240FF4 0220202D */ daddu $a0, $s1, $zero +/* D59888 80240FF8 0C0B1EAF */ jal get_variable +/* D5988C 80240FFC 0200282D */ daddu $a1, $s0, $zero +/* D59890 80241000 4482C000 */ mtc1 $v0, $f24 +/* D59894 80241004 00000000 */ nop +/* D59898 80241008 4680C620 */ cvt.s.w $f24, $f24 +/* D5989C 8024100C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D598A0 80241010 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D598A4 80241014 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D598A8 80241018 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D598AC 8024101C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D598B0 80241020 44800000 */ mtc1 $zero, $f0 +/* D598B4 80241024 00031080 */ sll $v0, $v1, 2 +/* D598B8 80241028 00431021 */ addu $v0, $v0, $v1 +/* D598BC 8024102C 00021080 */ sll $v0, $v0, 2 +/* D598C0 80241030 00431023 */ subu $v0, $v0, $v1 +/* D598C4 80241034 000218C0 */ sll $v1, $v0, 3 +/* D598C8 80241038 00431021 */ addu $v0, $v0, $v1 +/* D598CC 8024103C 000210C0 */ sll $v0, $v0, 3 +/* D598D0 80241040 46001032 */ c.eq.s $f2, $f0 +/* D598D4 80241044 3C01800B */ lui $at, 0x800b +/* D598D8 80241048 00220821 */ addu $at, $at, $v0 +/* D598DC 8024104C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D598E0 80241050 45000005 */ bc1f .L80241068 +/* D598E4 80241054 00000000 */ nop +/* D598E8 80241058 3C0142C8 */ lui $at, 0x42c8 +/* D598EC 8024105C 44810000 */ mtc1 $at, $f0 +/* D598F0 80241060 0809041E */ j .L80241078 +/* D598F4 80241064 4600B581 */ sub.s $f22, $f22, $f0 +.L80241068: +/* D598F8 80241068 3C0142C8 */ lui $at, 0x42c8 +/* D598FC 8024106C 44810000 */ mtc1 $at, $f0 +/* D59900 80241070 00000000 */ nop +/* D59904 80241074 4600B580 */ add.s $f22, $f22, $f0 +.L80241078: +/* D59908 80241078 0C00A6C9 */ jal clamp_angle +/* D5990C 8024107C 4600B306 */ mov.s $f12, $f22 +/* D59910 80241080 46000586 */ mov.s $f22, $f0 +/* D59914 80241084 3C014170 */ lui $at, 0x4170 +/* D59918 80241088 4481A000 */ mtc1 $at, $f20 +/* D5991C 8024108C 0C00A8BB */ jal sin_deg +/* D59920 80241090 4600B306 */ mov.s $f12, $f22 +/* D59924 80241094 46140002 */ mul.s $f0, $f0, $f20 +/* D59928 80241098 00000000 */ nop +/* D5992C 8024109C 864200B0 */ lh $v0, 0xb0($s2) +/* D59930 802410A0 3C013F00 */ lui $at, 0x3f00 +/* D59934 802410A4 44812000 */ mtc1 $at, $f4 +/* D59938 802410A8 44821000 */ mtc1 $v0, $f2 +/* D5993C 802410AC 00000000 */ nop +/* D59940 802410B0 468010A0 */ cvt.s.w $f2, $f2 +/* D59944 802410B4 46041082 */ mul.s $f2, $f2, $f4 +/* D59948 802410B8 00000000 */ nop +/* D5994C 802410BC 4600E700 */ add.s $f28, $f28, $f0 +/* D59950 802410C0 4602D680 */ add.s $f26, $f26, $f2 +/* D59954 802410C4 0C00A8D4 */ jal cos_deg +/* D59958 802410C8 4600B306 */ mov.s $f12, $f22 +/* D5995C 802410CC 46140002 */ mul.s $f0, $f0, $f20 +/* D59960 802410D0 00000000 */ nop +/* D59964 802410D4 0220202D */ daddu $a0, $s1, $zero +/* D59968 802410D8 0260282D */ daddu $a1, $s3, $zero +/* D5996C 802410DC 4600E18D */ trunc.w.s $f6, $f28 +/* D59970 802410E0 44063000 */ mfc1 $a2, $f6 +/* D59974 802410E4 0C0B2026 */ jal set_variable +/* D59978 802410E8 4600C601 */ sub.s $f24, $f24, $f0 +/* D5997C 802410EC 0220202D */ daddu $a0, $s1, $zero +/* D59980 802410F0 4600D18D */ trunc.w.s $f6, $f26 +/* D59984 802410F4 44063000 */ mfc1 $a2, $f6 +/* D59988 802410F8 0C0B2026 */ jal set_variable +/* D5998C 802410FC 0280282D */ daddu $a1, $s4, $zero +/* D59990 80241100 0220202D */ daddu $a0, $s1, $zero +/* D59994 80241104 4600C18D */ trunc.w.s $f6, $f24 +/* D59998 80241108 44063000 */ mfc1 $a2, $f6 +/* D5999C 8024110C 0C0B2026 */ jal set_variable +/* D599A0 80241110 0200282D */ daddu $a1, $s0, $zero +/* D599A4 80241114 8FBF0024 */ lw $ra, 0x24($sp) +/* D599A8 80241118 8FB40020 */ lw $s4, 0x20($sp) +/* D599AC 8024111C 8FB3001C */ lw $s3, 0x1c($sp) +/* D599B0 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* D599B4 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* D599B8 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* D599BC 8024112C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D599C0 80241130 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D599C4 80241134 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D599C8 80241138 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D599CC 8024113C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D599D0 80241140 24020002 */ addiu $v0, $zero, 2 +/* D599D4 80241144 03E00008 */ jr $ra +/* D599D8 80241148 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_8024114C_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_8024114C_D58890.s new file mode 100644 index 0000000000..f40362ae2b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_8024114C_D58890.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024114C_D599DC +/* D599DC 8024114C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D599E0 80241150 AFBF0010 */ sw $ra, 0x10($sp) +/* D599E4 80241154 10A00003 */ beqz $a1, .L80241164 +/* D599E8 80241158 8C86000C */ lw $a2, 0xc($a0) +/* D599EC 8024115C 3C018024 */ lui $at, 0x8024 +/* D599F0 80241160 AC201D98 */ sw $zero, 0x1d98($at) +.L80241164: +/* D599F4 80241164 3C038024 */ lui $v1, 0x8024 +/* D599F8 80241168 24631D98 */ addiu $v1, $v1, 0x1d98 +/* D599FC 8024116C 8C620000 */ lw $v0, ($v1) +/* D59A00 80241170 54400003 */ bnel $v0, $zero, .L80241180 +/* D59A04 80241174 AC600000 */ sw $zero, ($v1) +/* D59A08 80241178 08090465 */ j .L80241194 +/* D59A0C 8024117C 0000102D */ daddu $v0, $zero, $zero +.L80241180: +/* D59A10 80241180 8CC50000 */ lw $a1, ($a2) +/* D59A14 80241184 3C068024 */ lui $a2, 0x8024 +/* D59A18 80241188 0C0B2026 */ jal set_variable +/* D59A1C 8024118C 8CC61D9C */ lw $a2, 0x1d9c($a2) +/* D59A20 80241190 24020002 */ addiu $v0, $zero, 2 +.L80241194: +/* D59A24 80241194 8FBF0010 */ lw $ra, 0x10($sp) +/* D59A28 80241198 03E00008 */ jr $ra +/* D59A2C 8024119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802411A0_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802411A0_D58890.s new file mode 100644 index 0000000000..d5016f54fe --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802411A0_D58890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_D59A30 +/* D59A30 802411A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59A34 802411A4 AFBF0010 */ sw $ra, 0x10($sp) +/* D59A38 802411A8 8C82000C */ lw $v0, 0xc($a0) +/* D59A3C 802411AC 0C0B1EAF */ jal get_variable +/* D59A40 802411B0 8C450000 */ lw $a1, ($v0) +/* D59A44 802411B4 3C018024 */ lui $at, 0x8024 +/* D59A48 802411B8 AC221D9C */ sw $v0, 0x1d9c($at) +/* D59A4C 802411BC 24020002 */ addiu $v0, $zero, 2 +/* D59A50 802411C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D59A54 802411C4 24030001 */ addiu $v1, $zero, 1 +/* D59A58 802411C8 3C018024 */ lui $at, 0x8024 +/* D59A5C 802411CC AC231D98 */ sw $v1, 0x1d98($at) +/* D59A60 802411D0 03E00008 */ jr $ra +/* D59A64 802411D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802411D8_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802411D8_D58890.s new file mode 100644 index 0000000000..a11428f82b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802411D8_D58890.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D8_D59A68 +/* D59A68 802411D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59A6C 802411DC AFBF0010 */ sw $ra, 0x10($sp) +/* D59A70 802411E0 8C82000C */ lw $v0, 0xc($a0) +/* D59A74 802411E4 0C0B1EAF */ jal get_variable +/* D59A78 802411E8 8C450000 */ lw $a1, ($v0) +/* D59A7C 802411EC 0040182D */ daddu $v1, $v0, $zero +/* D59A80 802411F0 10600012 */ beqz $v1, .L8024123C +/* D59A84 802411F4 0000202D */ daddu $a0, $zero, $zero +/* D59A88 802411F8 8C620000 */ lw $v0, ($v1) +/* D59A8C 802411FC 5040000A */ beql $v0, $zero, .L80241228 +/* D59A90 80241200 00041080 */ sll $v0, $a0, 2 +/* D59A94 80241204 3C058024 */ lui $a1, 0x8024 +/* D59A98 80241208 24A56A20 */ addiu $a1, $a1, 0x6a20 +.L8024120C: +/* D59A9C 8024120C 24630004 */ addiu $v1, $v1, 4 +/* D59AA0 80241210 24840001 */ addiu $a0, $a0, 1 +/* D59AA4 80241214 ACA20000 */ sw $v0, ($a1) +/* D59AA8 80241218 8C620000 */ lw $v0, ($v1) +/* D59AAC 8024121C 1440FFFB */ bnez $v0, .L8024120C +/* D59AB0 80241220 24A50004 */ addiu $a1, $a1, 4 +/* D59AB4 80241224 00041080 */ sll $v0, $a0, 2 +.L80241228: +/* D59AB8 80241228 3C018024 */ lui $at, 0x8024 +/* D59ABC 8024122C 00220821 */ addu $at, $at, $v0 +/* D59AC0 80241230 AC206A20 */ sw $zero, 0x6a20($at) +/* D59AC4 80241234 08090499 */ j .L80241264 +/* D59AC8 80241238 00000000 */ nop +.L8024123C: +/* D59ACC 8024123C 3C038024 */ lui $v1, 0x8024 +/* D59AD0 80241240 24636A20 */ addiu $v1, $v1, 0x6a20 +/* D59AD4 80241244 0060282D */ daddu $a1, $v1, $zero +.L80241248: +/* D59AD8 80241248 24820010 */ addiu $v0, $a0, 0x10 +/* D59ADC 8024124C AC620000 */ sw $v0, ($v1) +/* D59AE0 80241250 24630004 */ addiu $v1, $v1, 4 +/* D59AE4 80241254 24840001 */ addiu $a0, $a0, 1 +/* D59AE8 80241258 28820070 */ slti $v0, $a0, 0x70 +/* D59AEC 8024125C 1440FFFA */ bnez $v0, .L80241248 +/* D59AF0 80241260 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241264: +/* D59AF4 80241264 8FBF0010 */ lw $ra, 0x10($sp) +/* D59AF8 80241268 24020002 */ addiu $v0, $zero, 2 +/* D59AFC 8024126C 03E00008 */ jr $ra +/* D59B00 80241270 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80241274_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80241274_D58890.s new file mode 100644 index 0000000000..8f53f196ea --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80241274_D58890.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241274_D59B04 +/* D59B04 80241274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59B08 80241278 AFBF0010 */ sw $ra, 0x10($sp) +/* D59B0C 8024127C 8C82000C */ lw $v0, 0xc($a0) +/* D59B10 80241280 0C0B1EAF */ jal get_variable +/* D59B14 80241284 8C450000 */ lw $a1, ($v0) +/* D59B18 80241288 0040182D */ daddu $v1, $v0, $zero +/* D59B1C 8024128C 10600012 */ beqz $v1, .L802412D8 +/* D59B20 80241290 0000202D */ daddu $a0, $zero, $zero +/* D59B24 80241294 8C620000 */ lw $v0, ($v1) +/* D59B28 80241298 5040000A */ beql $v0, $zero, .L802412C4 +/* D59B2C 8024129C 00041080 */ sll $v0, $a0, 2 +/* D59B30 802412A0 3C058024 */ lui $a1, 0x8024 +/* D59B34 802412A4 24A56BE8 */ addiu $a1, $a1, 0x6be8 +.L802412A8: +/* D59B38 802412A8 24630004 */ addiu $v1, $v1, 4 +/* D59B3C 802412AC 24840001 */ addiu $a0, $a0, 1 +/* D59B40 802412B0 ACA20000 */ sw $v0, ($a1) +/* D59B44 802412B4 8C620000 */ lw $v0, ($v1) +/* D59B48 802412B8 1440FFFB */ bnez $v0, .L802412A8 +/* D59B4C 802412BC 24A50004 */ addiu $a1, $a1, 4 +/* D59B50 802412C0 00041080 */ sll $v0, $a0, 2 +.L802412C4: +/* D59B54 802412C4 3C018024 */ lui $at, 0x8024 +/* D59B58 802412C8 00220821 */ addu $at, $at, $v0 +/* D59B5C 802412CC AC206BE8 */ sw $zero, 0x6be8($at) +/* D59B60 802412D0 080904C0 */ j .L80241300 +/* D59B64 802412D4 00000000 */ nop +.L802412D8: +/* D59B68 802412D8 3C038024 */ lui $v1, 0x8024 +/* D59B6C 802412DC 24636BE8 */ addiu $v1, $v1, 0x6be8 +/* D59B70 802412E0 0060282D */ daddu $a1, $v1, $zero +.L802412E4: +/* D59B74 802412E4 24820080 */ addiu $v0, $a0, 0x80 +/* D59B78 802412E8 AC620000 */ sw $v0, ($v1) +/* D59B7C 802412EC 24630004 */ addiu $v1, $v1, 4 +/* D59B80 802412F0 24840001 */ addiu $a0, $a0, 1 +/* D59B84 802412F4 2882005B */ slti $v0, $a0, 0x5b +/* D59B88 802412F8 1440FFFA */ bnez $v0, .L802412E4 +/* D59B8C 802412FC ACA0016C */ sw $zero, 0x16c($a1) +.L80241300: +/* D59B90 80241300 8FBF0010 */ lw $ra, 0x10($sp) +/* D59B94 80241304 24020002 */ addiu $v0, $zero, 2 +/* D59B98 80241308 03E00008 */ jr $ra +/* D59B9C 8024130C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_80241310_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_80241310_D58890.s new file mode 100644 index 0000000000..c7727aea0a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_80241310_D58890.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241310_D59BA0 +/* D59BA0 80241310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D59BA4 80241314 AFB10014 */ sw $s1, 0x14($sp) +/* D59BA8 80241318 0080882D */ daddu $s1, $a0, $zero +/* D59BAC 8024131C AFBF001C */ sw $ra, 0x1c($sp) +/* D59BB0 80241320 AFB20018 */ sw $s2, 0x18($sp) +/* D59BB4 80241324 AFB00010 */ sw $s0, 0x10($sp) +/* D59BB8 80241328 8E30000C */ lw $s0, 0xc($s1) +/* D59BBC 8024132C 8E050000 */ lw $a1, ($s0) +/* D59BC0 80241330 0C0B1EAF */ jal get_variable +/* D59BC4 80241334 26100004 */ addiu $s0, $s0, 4 +/* D59BC8 80241338 8E050000 */ lw $a1, ($s0) +/* D59BCC 8024133C 26100004 */ addiu $s0, $s0, 4 +/* D59BD0 80241340 0220202D */ daddu $a0, $s1, $zero +/* D59BD4 80241344 0C0B1EAF */ jal get_variable +/* D59BD8 80241348 0040902D */ daddu $s2, $v0, $zero +/* D59BDC 8024134C 0220202D */ daddu $a0, $s1, $zero +/* D59BE0 80241350 8E050000 */ lw $a1, ($s0) +/* D59BE4 80241354 0C0B1EAF */ jal get_variable +/* D59BE8 80241358 0040802D */ daddu $s0, $v0, $zero +/* D59BEC 8024135C 44926000 */ mtc1 $s2, $f12 +/* D59BF0 80241360 00000000 */ nop +/* D59BF4 80241364 46806320 */ cvt.s.w $f12, $f12 +/* D59BF8 80241368 44820000 */ mtc1 $v0, $f0 +/* D59BFC 8024136C 00000000 */ nop +/* D59C00 80241370 46800020 */ cvt.s.w $f0, $f0 +/* D59C04 80241374 44060000 */ mfc1 $a2, $f0 +/* D59C08 80241378 44907000 */ mtc1 $s0, $f14 +/* D59C0C 8024137C 00000000 */ nop +/* D59C10 80241380 0C01BE3C */ jal func_8006F8F0 +/* D59C14 80241384 468073A0 */ cvt.s.w $f14, $f14 +/* D59C18 80241388 8FBF001C */ lw $ra, 0x1c($sp) +/* D59C1C 8024138C 8FB20018 */ lw $s2, 0x18($sp) +/* D59C20 80241390 8FB10014 */ lw $s1, 0x14($sp) +/* D59C24 80241394 8FB00010 */ lw $s0, 0x10($sp) +/* D59C28 80241398 24020002 */ addiu $v0, $zero, 2 +/* D59C2C 8024139C 03E00008 */ jr $ra +/* D59C30 802413A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802413A4_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802413A4_D58890.s new file mode 100644 index 0000000000..756b865802 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802413A4_D58890.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A4_D59C34 +/* D59C34 802413A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D59C38 802413A8 AFB20018 */ sw $s2, 0x18($sp) +/* D59C3C 802413AC 0080902D */ daddu $s2, $a0, $zero +/* D59C40 802413B0 AFBF0024 */ sw $ra, 0x24($sp) +/* D59C44 802413B4 AFB40020 */ sw $s4, 0x20($sp) +/* D59C48 802413B8 AFB3001C */ sw $s3, 0x1c($sp) +/* D59C4C 802413BC AFB10014 */ sw $s1, 0x14($sp) +/* D59C50 802413C0 AFB00010 */ sw $s0, 0x10($sp) +/* D59C54 802413C4 8E50000C */ lw $s0, 0xc($s2) +/* D59C58 802413C8 8E530148 */ lw $s3, 0x148($s2) +/* D59C5C 802413CC 8E050000 */ lw $a1, ($s0) +/* D59C60 802413D0 0C0B1EAF */ jal get_variable +/* D59C64 802413D4 26100004 */ addiu $s0, $s0, 4 +/* D59C68 802413D8 2C510001 */ sltiu $s1, $v0, 1 +/* D59C6C 802413DC 8E050000 */ lw $a1, ($s0) +/* D59C70 802413E0 26100004 */ addiu $s0, $s0, 4 +/* D59C74 802413E4 3C14800B */ lui $s4, %hi(gCurrentEncounter) +/* D59C78 802413E8 26940F10 */ addiu $s4, $s4, %lo(gCurrentEncounter) +/* D59C7C 802413EC 0C0B1EAF */ jal get_variable +/* D59C80 802413F0 0240202D */ daddu $a0, $s2, $zero +/* D59C84 802413F4 50400001 */ beql $v0, $zero, .L802413FC +/* D59C88 802413F8 26310001 */ addiu $s1, $s1, 1 +.L802413FC: +/* D59C8C 802413FC 8E050000 */ lw $a1, ($s0) +/* D59C90 80241400 26100004 */ addiu $s0, $s0, 4 +/* D59C94 80241404 0C0B1EAF */ jal get_variable +/* D59C98 80241408 0240202D */ daddu $a0, $s2, $zero +/* D59C9C 8024140C 50400001 */ beql $v0, $zero, .L80241414 +/* D59CA0 80241410 26310001 */ addiu $s1, $s1, 1 +.L80241414: +/* D59CA4 80241414 8E050000 */ lw $a1, ($s0) +/* D59CA8 80241418 0C0B1EAF */ jal get_variable +/* D59CAC 8024141C 0240202D */ daddu $a0, $s2, $zero +/* D59CB0 80241420 50400001 */ beql $v0, $zero, .L80241428 +/* D59CB4 80241424 26310001 */ addiu $s1, $s1, 1 +.L80241428: +/* D59CB8 80241428 24020002 */ addiu $v0, $zero, 2 +/* D59CBC 8024142C 12220016 */ beq $s1, $v0, .L80241488 +/* D59CC0 80241430 00000000 */ nop +/* D59CC4 80241434 2A220003 */ slti $v0, $s1, 3 +/* D59CC8 80241438 10400005 */ beqz $v0, .L80241450 +/* D59CCC 8024143C 24020001 */ addiu $v0, $zero, 1 +/* D59CD0 80241440 1222000B */ beq $s1, $v0, .L80241470 +/* D59CD4 80241444 00000000 */ nop +/* D59CD8 80241448 08090534 */ j .L802414D0 +/* D59CDC 8024144C 00000000 */ nop +.L80241450: +/* D59CE0 80241450 24020003 */ addiu $v0, $zero, 3 +/* D59CE4 80241454 12220012 */ beq $s1, $v0, .L802414A0 +/* D59CE8 80241458 00000000 */ nop +/* D59CEC 8024145C 24020004 */ addiu $v0, $zero, 4 +/* D59CF0 80241460 12220015 */ beq $s1, $v0, .L802414B8 +/* D59CF4 80241464 00000000 */ nop +/* D59CF8 80241468 08090534 */ j .L802414D0 +/* D59CFC 8024146C 00000000 */ nop +.L80241470: +/* D59D00 80241470 82620004 */ lb $v0, 4($s3) +/* D59D04 80241474 00021080 */ sll $v0, $v0, 2 +/* D59D08 80241478 00541021 */ addu $v0, $v0, $s4 +/* D59D0C 8024147C 8C430028 */ lw $v1, 0x28($v0) +/* D59D10 80241480 08090533 */ j .L802414CC +/* D59D14 80241484 24022101 */ addiu $v0, $zero, 0x2101 +.L80241488: +/* D59D18 80241488 82620004 */ lb $v0, 4($s3) +/* D59D1C 8024148C 00021080 */ sll $v0, $v0, 2 +/* D59D20 80241490 00541021 */ addu $v0, $v0, $s4 +/* D59D24 80241494 8C430028 */ lw $v1, 0x28($v0) +/* D59D28 80241498 08090533 */ j .L802414CC +/* D59D2C 8024149C 24022102 */ addiu $v0, $zero, 0x2102 +.L802414A0: +/* D59D30 802414A0 82620004 */ lb $v0, 4($s3) +/* D59D34 802414A4 00021080 */ sll $v0, $v0, 2 +/* D59D38 802414A8 00541021 */ addu $v0, $v0, $s4 +/* D59D3C 802414AC 8C430028 */ lw $v1, 0x28($v0) +/* D59D40 802414B0 08090533 */ j .L802414CC +/* D59D44 802414B4 24022103 */ addiu $v0, $zero, 0x2103 +.L802414B8: +/* D59D48 802414B8 82620004 */ lb $v0, 4($s3) +/* D59D4C 802414BC 00021080 */ sll $v0, $v0, 2 +/* D59D50 802414C0 00541021 */ addu $v0, $v0, $s4 +/* D59D54 802414C4 8C430028 */ lw $v1, 0x28($v0) +/* D59D58 802414C8 24022104 */ addiu $v0, $zero, 0x2104 +.L802414CC: +/* D59D5C 802414CC A4620044 */ sh $v0, 0x44($v1) +.L802414D0: +/* D59D60 802414D0 8FBF0024 */ lw $ra, 0x24($sp) +/* D59D64 802414D4 8FB40020 */ lw $s4, 0x20($sp) +/* D59D68 802414D8 8FB3001C */ lw $s3, 0x1c($sp) +/* D59D6C 802414DC 8FB20018 */ lw $s2, 0x18($sp) +/* D59D70 802414E0 8FB10014 */ lw $s1, 0x14($sp) +/* D59D74 802414E4 8FB00010 */ lw $s0, 0x10($sp) +/* D59D78 802414E8 24020002 */ addiu $v0, $zero, 2 +/* D59D7C 802414EC 03E00008 */ jr $ra +/* D59D80 802414F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802414F4_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802414F4_D58890.s new file mode 100644 index 0000000000..b1cfcce43c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802414F4_D58890.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F4_D59D84 +/* D59D84 802414F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D59D88 802414F8 AFB10014 */ sw $s1, 0x14($sp) +/* D59D8C 802414FC 0080882D */ daddu $s1, $a0, $zero +/* D59D90 80241500 AFB00010 */ sw $s0, 0x10($sp) +/* D59D94 80241504 00A0802D */ daddu $s0, $a1, $zero +/* D59D98 80241508 AFBF0018 */ sw $ra, 0x18($sp) +/* D59D9C 8024150C 0C0B36B0 */ jal resolve_npc +/* D59DA0 80241510 8E250084 */ lw $a1, 0x84($s1) +/* D59DA4 80241514 12000012 */ beqz $s0, .L80241560 +/* D59DA8 80241518 0040202D */ daddu $a0, $v0, $zero +/* D59DAC 8024151C 3C020003 */ lui $v0, 3 +/* D59DB0 80241520 34420011 */ ori $v0, $v0, 0x11 +/* D59DB4 80241524 3C013F4C */ lui $at, 0x3f4c +/* D59DB8 80241528 3421CCCD */ ori $at, $at, 0xcccd +/* D59DBC 8024152C 44811000 */ mtc1 $at, $f2 +/* D59DC0 80241530 C6200088 */ lwc1 $f0, 0x88($s1) +/* D59DC4 80241534 46800020 */ cvt.s.w $f0, $f0 +/* D59DC8 80241538 E4800038 */ swc1 $f0, 0x38($a0) +/* D59DCC 8024153C C620008C */ lwc1 $f0, 0x8c($s1) +/* D59DD0 80241540 46800020 */ cvt.s.w $f0, $f0 +/* D59DD4 80241544 E480003C */ swc1 $f0, 0x3c($a0) +/* D59DD8 80241548 C6200090 */ lwc1 $f0, 0x90($s1) +/* D59DDC 8024154C 46800020 */ cvt.s.w $f0, $f0 +/* D59DE0 80241550 E4800040 */ swc1 $f0, 0x40($a0) +/* D59DE4 80241554 AC80001C */ sw $zero, 0x1c($a0) +/* D59DE8 80241558 AC820028 */ sw $v0, 0x28($a0) +/* D59DEC 8024155C E4820014 */ swc1 $f2, 0x14($a0) +.L80241560: +/* D59DF0 80241560 C486004C */ lwc1 $f6, 0x4c($a0) +/* D59DF4 80241564 3C01421C */ lui $at, 0x421c +/* D59DF8 80241568 44810000 */ mtc1 $at, $f0 +/* D59DFC 8024156C C482003C */ lwc1 $f2, 0x3c($a0) +/* D59E00 80241570 46003181 */ sub.s $f6, $f6, $f0 +/* D59E04 80241574 C480001C */ lwc1 $f0, 0x1c($a0) +/* D59E08 80241578 C4840044 */ lwc1 $f4, 0x44($a0) +/* D59E0C 8024157C 46001081 */ sub.s $f2, $f2, $f0 +/* D59E10 80241580 3C014204 */ lui $at, 0x4204 +/* D59E14 80241584 44810000 */ mtc1 $at, $f0 +/* D59E18 80241588 44805000 */ mtc1 $zero, $f10 +/* D59E1C 8024158C 46002101 */ sub.s $f4, $f4, $f0 +/* D59E20 80241590 C480001C */ lwc1 $f0, 0x1c($a0) +/* D59E24 80241594 E482003C */ swc1 $f2, 0x3c($a0) +/* D59E28 80241598 C4820014 */ lwc1 $f2, 0x14($a0) +/* D59E2C 8024159C C488003C */ lwc1 $f8, 0x3c($a0) +/* D59E30 802415A0 46020000 */ add.s $f0, $f0, $f2 +/* D59E34 802415A4 E486004C */ swc1 $f6, 0x4c($a0) +/* D59E38 802415A8 460A403E */ c.le.s $f8, $f10 +/* D59E3C 802415AC E4840044 */ swc1 $f4, 0x44($a0) +/* D59E40 802415B0 45010003 */ bc1t .L802415C0 +/* D59E44 802415B4 E480001C */ swc1 $f0, 0x1c($a0) +/* D59E48 802415B8 08090579 */ j .L802415E4 +/* D59E4C 802415BC 0000102D */ daddu $v0, $zero, $zero +.L802415C0: +/* D59E50 802415C0 3C030003 */ lui $v1, 3 +/* D59E54 802415C4 34630003 */ ori $v1, $v1, 3 +/* D59E58 802415C8 24020002 */ addiu $v0, $zero, 2 +/* D59E5C 802415CC E48A003C */ swc1 $f10, 0x3c($a0) +/* D59E60 802415D0 E48A004C */ swc1 $f10, 0x4c($a0) +/* D59E64 802415D4 E48A0044 */ swc1 $f10, 0x44($a0) +/* D59E68 802415D8 E48A001C */ swc1 $f10, 0x1c($a0) +/* D59E6C 802415DC E48A0014 */ swc1 $f10, 0x14($a0) +/* D59E70 802415E0 AC830028 */ sw $v1, 0x28($a0) +.L802415E4: +/* D59E74 802415E4 8FBF0018 */ lw $ra, 0x18($sp) +/* D59E78 802415E8 8FB10014 */ lw $s1, 0x14($sp) +/* D59E7C 802415EC 8FB00010 */ lw $s0, 0x10($sp) +/* D59E80 802415F0 03E00008 */ jr $ra +/* D59E84 802415F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_09/func_802415F8_D58890.s b/asm/nonmatchings/world/area_pra/pra_09/func_802415F8_D58890.s new file mode 100644 index 0000000000..d23039571a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_09/func_802415F8_D58890.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415F8_D59E88 +/* D59E88 802415F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D59E8C 802415FC AFB00010 */ sw $s0, 0x10($sp) +/* D59E90 80241600 0080802D */ daddu $s0, $a0, $zero +/* D59E94 80241604 AFBF0014 */ sw $ra, 0x14($sp) +/* D59E98 80241608 0C0B36B0 */ jal resolve_npc +/* D59E9C 8024160C 8E050090 */ lw $a1, 0x90($s0) +/* D59EA0 80241610 0200202D */ daddu $a0, $s0, $zero +/* D59EA4 80241614 8C850094 */ lw $a1, 0x94($a0) +/* D59EA8 80241618 0C0B36B0 */ jal resolve_npc +/* D59EAC 8024161C 0040802D */ daddu $s0, $v0, $zero +/* D59EB0 80241620 944300A6 */ lhu $v1, 0xa6($v0) +/* D59EB4 80241624 A60300A6 */ sh $v1, 0xa6($s0) +/* D59EB8 80241628 944300A8 */ lhu $v1, 0xa8($v0) +/* D59EBC 8024162C A60300A8 */ sh $v1, 0xa8($s0) +/* D59EC0 80241630 8FBF0014 */ lw $ra, 0x14($sp) +/* D59EC4 80241634 8FB00010 */ lw $s0, 0x10($sp) +/* D59EC8 80241638 24020002 */ addiu $v0, $zero, 2 +/* D59ECC 8024163C 03E00008 */ jr $ra +/* D59ED0 80241640 27BD0018 */ addiu $sp, $sp, 0x18 +/* D59ED4 80241644 00000000 */ nop +/* D59ED8 80241648 00000000 */ nop +/* D59EDC 8024164C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240000_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240000_D5F2B0.s new file mode 100644 index 0000000000..e7706aadd3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240000_D5F2B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D5F2B0 +/* D5F2B0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D5F2B4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D5F2B8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D5F2BC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D5F2C0 80240010 03E00008 */ jr $ra +/* D5F2C4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D5F2C8 80240018 00000000 */ nop +/* D5F2CC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240020_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240020_D5F2B0.s new file mode 100644 index 0000000000..17a1407d74 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240020_D5F2B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D5F2D0 +/* D5F2D0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D5F2D4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D5F2D8 80240028 00822024 */ and $a0, $a0, $v0 +/* D5F2DC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D5F2E0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D5F2E4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D5F2E8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D5F2EC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D5F2F0 80240040 30620001 */ andi $v0, $v1, 1 +/* D5F2F4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D5F2F8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D5F2FC 8024004C 03E00008 */ jr $ra +/* D5F300 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240054_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240054_D5F2B0.s new file mode 100644 index 0000000000..40236f8130 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240054_D5F2B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D5F304 +/* D5F304 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D5F308 80240058 304300FF */ andi $v1, $v0, 0xff +/* D5F30C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D5F310 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D5F314 80240064 28620007 */ slti $v0, $v1, 7 +/* D5F318 80240068 10400005 */ beqz $v0, .L80240080 +/* D5F31C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D5F320 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D5F324 80240074 3C020100 */ lui $v0, 0x100 +/* D5F328 80240078 03E00008 */ jr $ra +/* D5F32C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D5F330 80240080 2862000A */ slti $v0, $v1, 0xa +/* D5F334 80240084 10400016 */ beqz $v0, .L802400E0 +/* D5F338 80240088 28620008 */ slti $v0, $v1, 8 +/* D5F33C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D5F340 80240090 3C020100 */ lui $v0, 0x100 +/* D5F344 80240094 03E00008 */ jr $ra +/* D5F348 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D5F34C 8024009C 3C020001 */ lui $v0, 1 +/* D5F350 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D5F354 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D5F358 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D5F35C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D5F360 802400B0 03E00008 */ jr $ra +/* D5F364 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D5F368 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D5F36C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D5F370 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D5F374 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D5F378 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D5F37C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D5F380 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D5F384 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D5F388 802400D8 03E00008 */ jr $ra +/* D5F38C 802400DC 00000000 */ nop +.L802400E0: +/* D5F390 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D5F394 802400E4 03E00008 */ jr $ra +/* D5F398 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_802400EC_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_802400EC_D5F2B0.s new file mode 100644 index 0000000000..6783e0d425 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_802400EC_D5F2B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D5F39C +/* D5F39C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5F3A0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D5F3A4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D5F3A8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D5F3AC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D5F3B0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D5F3B4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D5F3B8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D5F3BC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D5F3C0 80240110 AC620000 */ sw $v0, ($v1) +/* D5F3C4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D5F3C8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D5F3CC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D5F3D0 80240120 03E00008 */ jr $ra +/* D5F3D4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240128_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240128_D5F2B0.s new file mode 100644 index 0000000000..80a45abdfe --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240128_D5F2B0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D5F3D8 +/* D5F3D8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D5F3DC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D5F3E0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D5F3E4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D5F3E8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D5F3EC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D5F3F0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D5F3F4 80240144 8E020000 */ lw $v0, ($s0) +/* D5F3F8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D5F3FC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D5F400 80240150 10400061 */ beqz $v0, .L802402D8 +/* D5F404 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D5F408 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D5F40C 8024015C 0C044181 */ jal get_shadow_by_index +/* D5F410 80240160 00000000 */ nop +/* D5F414 80240164 0C048B77 */ jal func_80122DDC +/* D5F418 80240168 84440008 */ lh $a0, 8($v0) +/* D5F41C 8024016C 8C430000 */ lw $v1, ($v0) +/* D5F420 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D5F424 80240174 AC430000 */ sw $v1, ($v0) +/* D5F428 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D5F42C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D5F430 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D5F434 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D5F438 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D5F43C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D5F440 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D5F444 80240194 3C04800A */ lui $a0, 0x800a +/* D5F448 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D5F44C 8024019C 46000007 */ neg.s $f0, $f0 +/* D5F450 802401A0 44070000 */ mfc1 $a3, $f0 +/* D5F454 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D5F458 802401A8 0C00B94E */ jal get_screen_coords +/* D5F45C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D5F460 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D5F464 802401B4 0C090008 */ jal func_80240020 +/* D5F468 802401B8 00000000 */ nop +/* D5F46C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D5F470 802401C0 3C014307 */ lui $at, 0x4307 +/* D5F474 802401C4 44810000 */ mtc1 $at, $f0 +/* D5F478 802401C8 00000000 */ nop +/* D5F47C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D5F480 802401D0 00000000 */ nop +/* D5F484 802401D4 4500000B */ bc1f .L80240204 +/* D5F488 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D5F48C 802401DC 3C014361 */ lui $at, 0x4361 +/* D5F490 802401E0 44810000 */ mtc1 $at, $f0 +/* D5F494 802401E4 00000000 */ nop +/* D5F498 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D5F49C 802401EC 00000000 */ nop +/* D5F4A0 802401F0 45000004 */ bc1f .L80240204 +/* D5F4A4 802401F4 00000000 */ nop +/* D5F4A8 802401F8 0C090015 */ jal func_80240054 +/* D5F4AC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D5F4B0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D5F4B4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D5F4B8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D5F4BC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D5F4C0 80240210 8E020000 */ lw $v0, ($s0) +/* D5F4C4 80240214 3C030002 */ lui $v1, 2 +/* D5F4C8 80240218 00431024 */ and $v0, $v0, $v1 +/* D5F4CC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D5F4D0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D5F4D4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D5F4D8 80240228 3C02802E */ lui $v0, 0x802e +/* D5F4DC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D5F4E0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D5F4E4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D5F4E8 80240238 1040000B */ beqz $v0, .L80240268 +/* D5F4EC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D5F4F0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D5F4F4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D5F4F8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D5F4FC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D5F500 80240250 0000382D */ daddu $a3, $zero, $zero +/* D5F504 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D5F508 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D5F50C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D5F510 80240260 080900A3 */ j .L8024028C +/* D5F514 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D5F518 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D5F51C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D5F520 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D5F524 80240274 0000302D */ daddu $a2, $zero, $zero +/* D5F528 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D5F52C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D5F530 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D5F534 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D5F538 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D5F53C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D5F540 80240290 00000000 */ nop +.L80240294: +/* D5F544 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D5F548 80240298 3C01802E */ lui $at, 0x802e +/* D5F54C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D5F550 802402A0 080900AD */ j .L802402B4 +/* D5F554 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D5F558 802402A8 3C01802E */ lui $at, 0x802e +/* D5F55C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D5F560 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D5F564 802402B4 AC910000 */ sw $s1, ($a0) +/* D5F568 802402B8 AC900008 */ sw $s0, 8($a0) +/* D5F56C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D5F570 802402C0 3C038024 */ lui $v1, 0x8024 +/* D5F574 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D5F578 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D5F57C 802402CC 00021023 */ negu $v0, $v0 +/* D5F580 802402D0 0C047644 */ jal queue_render_task +/* D5F584 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D5F588 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D5F58C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D5F590 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D5F594 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D5F598 802402E8 03E00008 */ jr $ra +/* D5F59C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_802402F0_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_802402F0_D5F2B0.s new file mode 100644 index 0000000000..3965020246 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_802402F0_D5F2B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D5F5A0 +/* D5F5A0 802402F0 3C03800A */ lui $v1, 0x800a +/* D5F5A4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D5F5A8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D5F5AC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D5F5B0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D5F5B4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D5F5B8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D5F5BC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D5F5C0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D5F5C4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D5F5C8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D5F5CC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D5F5D0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D5F5D4 80240324 00031080 */ sll $v0, $v1, 2 +/* D5F5D8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D5F5DC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D5F5E0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D5F5E4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D5F5E8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D5F5EC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D5F5F0 80240340 3C01800B */ lui $at, 0x800b +/* D5F5F4 80240344 00220821 */ addu $at, $at, $v0 +/* D5F5F8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D5F5FC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D5F600 80240350 4600B587 */ neg.s $f22, $f22 +/* D5F604 80240354 4405B000 */ mfc1 $a1, $f22 +/* D5F608 80240358 0200202D */ daddu $a0, $s0, $zero +/* D5F60C 8024035C 0C019EC8 */ jal guRotateF +/* D5F610 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5F614 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D5F618 80240368 0C00A6C9 */ jal clamp_angle +/* D5F61C 8024036C 00000000 */ nop +/* D5F620 80240370 44050000 */ mfc1 $a1, $f0 +/* D5F624 80240374 4406A000 */ mfc1 $a2, $f20 +/* D5F628 80240378 4407A000 */ mfc1 $a3, $f20 +/* D5F62C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D5F630 80240380 4481C000 */ mtc1 $at, $f24 +/* D5F634 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F638 80240388 0C019EC8 */ jal guRotateF +/* D5F63C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D5F640 80240390 0200202D */ daddu $a0, $s0, $zero +/* D5F644 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D5F648 80240398 0C019D80 */ jal guMtxCatF +/* D5F64C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D5F650 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D5F654 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D5F658 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D5F65C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D5F660 802403B0 0C019EC8 */ jal guRotateF +/* D5F664 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5F668 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F66C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D5F670 802403C0 0C019D80 */ jal guMtxCatF +/* D5F674 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D5F678 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5F67C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D5F680 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D5F684 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D5F688 802403D8 0C019EC8 */ jal guRotateF +/* D5F68C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D5F690 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F694 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D5F698 802403E8 0C019D80 */ jal guMtxCatF +/* D5F69C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D5F6A0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D5F6A4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D5F6A8 802403F8 44810000 */ mtc1 $at, $f0 +/* D5F6AC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D5F6B0 80240400 44050000 */ mfc1 $a1, $f0 +/* D5F6B4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D5F6B8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D5F6BC 8024040C 0C019DF0 */ jal guScaleF +/* D5F6C0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D5F6C4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F6C8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D5F6CC 8024041C 0C019D80 */ jal guMtxCatF +/* D5F6D0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D5F6D4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D5F6D8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D5F6DC 8024042C 3C014040 */ lui $at, 0x4040 +/* D5F6E0 80240430 44811000 */ mtc1 $at, $f2 +/* D5F6E4 80240434 46000007 */ neg.s $f0, $f0 +/* D5F6E8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D5F6EC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D5F6F0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D5F6F4 80240444 44070000 */ mfc1 $a3, $f0 +/* D5F6F8 80240448 0C019E40 */ jal guTranslateF +/* D5F6FC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D5F700 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F704 80240454 0200282D */ daddu $a1, $s0, $zero +/* D5F708 80240458 0C019D80 */ jal guMtxCatF +/* D5F70C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D5F710 80240460 24040002 */ addiu $a0, $zero, 2 +/* D5F714 80240464 0000282D */ daddu $a1, $zero, $zero +/* D5F718 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D5F71C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D5F720 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D5F724 80240474 0C0B7710 */ jal render_sprite +/* D5F728 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D5F72C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D5F730 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D5F734 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D5F738 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D5F73C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D5F740 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D5F744 80240494 03E00008 */ jr $ra +/* D5F748 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_8024049C_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_8024049C_D5F2B0.s new file mode 100644 index 0000000000..d67a1d17f4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_8024049C_D5F2B0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D5F74C +/* D5F74C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5F750 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D5F754 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D5F758 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D5F75C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D5F760 802404B0 0440000E */ bltz $v0, .L802404EC +/* D5F764 802404B4 28420002 */ slti $v0, $v0, 2 +/* D5F768 802404B8 1040000C */ beqz $v0, .L802404EC +/* D5F76C 802404BC 00000000 */ nop +/* D5F770 802404C0 3C058024 */ lui $a1, 0x8024 +/* D5F774 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D5F778 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D5F77C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D5F780 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D5F784 802404D4 AC620000 */ sw $v0, ($v1) +/* D5F788 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D5F78C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D5F790 802404E0 8C620000 */ lw $v0, ($v1) +/* D5F794 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D5F798 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D5F79C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D5F7A0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D5F7A4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D5F7A8 802404F8 03E00008 */ jr $ra +/* D5F7AC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240500_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240500_D5F2B0.s new file mode 100644 index 0000000000..fc3e983c46 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240500_D5F2B0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D5F7B0 +/* D5F7B0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D5F7B4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D5F7B8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D5F7BC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D5F7C0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D5F7C4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D5F7C8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D5F7CC 8024051C 8E020000 */ lw $v0, ($s0) +/* D5F7D0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D5F7D4 80240524 30420001 */ andi $v0, $v0, 1 +/* D5F7D8 80240528 10400052 */ beqz $v0, .L80240674 +/* D5F7DC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D5F7E0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D5F7E4 80240534 0C044181 */ jal get_shadow_by_index +/* D5F7E8 80240538 00000000 */ nop +/* D5F7EC 8024053C 0C048B77 */ jal func_80122DDC +/* D5F7F0 80240540 84440008 */ lh $a0, 8($v0) +/* D5F7F4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D5F7F8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D5F7FC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D5F800 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D5F804 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D5F808 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D5F80C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D5F810 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D5F814 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D5F818 80240568 3C04800A */ lui $a0, 0x800a +/* D5F81C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D5F820 80240570 46000007 */ neg.s $f0, $f0 +/* D5F824 80240574 44060000 */ mfc1 $a2, $f0 +/* D5F828 80240578 0C00B94E */ jal get_screen_coords +/* D5F82C 8024057C 00000000 */ nop +/* D5F830 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D5F834 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D5F838 80240588 0C0B76A3 */ jal func_802DDA8C +/* D5F83C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D5F840 80240590 8E020000 */ lw $v0, ($s0) +/* D5F844 80240594 3C030002 */ lui $v1, 2 +/* D5F848 80240598 00431024 */ and $v0, $v0, $v1 +/* D5F84C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D5F850 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D5F854 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D5F858 802405A8 3C02802E */ lui $v0, 0x802e +/* D5F85C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D5F860 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D5F864 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D5F868 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D5F86C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D5F870 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D5F874 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D5F878 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D5F87C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D5F880 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D5F884 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D5F888 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D5F88C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D5F890 802405E0 08090183 */ j .L8024060C +/* D5F894 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D5F898 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D5F89C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D5F8A0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D5F8A4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D5F8A8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D5F8AC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D5F8B0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D5F8B4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D5F8B8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D5F8BC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D5F8C0 80240610 00000000 */ nop +.L80240614: +/* D5F8C4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D5F8C8 80240618 3C01802E */ lui $at, 0x802e +/* D5F8CC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D5F8D0 80240620 0809018C */ j .L80240630 +/* D5F8D4 80240624 00000000 */ nop +.L80240628: +/* D5F8D8 80240628 3C01802E */ lui $at, 0x802e +/* D5F8DC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D5F8E0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D5F8E4 80240634 3C048024 */ lui $a0, 0x8024 +/* D5F8E8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D5F8EC 8024063C AE320000 */ sw $s2, ($s1) +/* D5F8F0 80240640 AE300008 */ sw $s0, 8($s1) +/* D5F8F4 80240644 00021023 */ negu $v0, $v0 +/* D5F8F8 80240648 AE220004 */ sw $v0, 4($s1) +/* D5F8FC 8024064C 8E020000 */ lw $v0, ($s0) +/* D5F900 80240650 3C030002 */ lui $v1, 2 +/* D5F904 80240654 00431024 */ and $v0, $v0, $v1 +/* D5F908 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D5F90C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D5F910 80240660 3C048024 */ lui $a0, 0x8024 +/* D5F914 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D5F918 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D5F91C 8024066C 0C047644 */ jal queue_render_task +/* D5F920 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D5F924 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D5F928 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D5F92C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D5F930 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D5F934 80240684 03E00008 */ jr $ra +/* D5F938 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_8024068C_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_8024068C_D5F2B0.s new file mode 100644 index 0000000000..dbd730943b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_8024068C_D5F2B0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D5F93C +/* D5F93C 8024068C 3C03800A */ lui $v1, 0x800a +/* D5F940 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D5F944 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D5F948 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D5F94C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D5F950 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D5F954 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D5F958 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D5F95C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D5F960 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D5F964 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D5F968 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D5F96C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D5F970 802406C0 00031080 */ sll $v0, $v1, 2 +/* D5F974 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D5F978 802406C8 00021080 */ sll $v0, $v0, 2 +/* D5F97C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D5F980 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D5F984 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D5F988 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D5F98C 802406DC 3C01800B */ lui $at, 0x800b +/* D5F990 802406E0 00220821 */ addu $at, $at, $v0 +/* D5F994 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D5F998 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D5F99C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D5F9A0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D5F9A4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D5F9A8 802406F8 0C019EC8 */ jal guRotateF +/* D5F9AC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D5F9B0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D5F9B4 80240704 0C00A6C9 */ jal clamp_angle +/* D5F9B8 80240708 00000000 */ nop +/* D5F9BC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D5F9C0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D5F9C4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D5F9C8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D5F9CC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D5F9D0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D5F9D4 80240724 0C019EC8 */ jal guRotateF +/* D5F9D8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D5F9DC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D5F9E0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D5F9E4 80240734 0C019D80 */ jal guMtxCatF +/* D5F9E8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D5F9EC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D5F9F0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D5F9F4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D5F9F8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D5F9FC 8024074C 0C019EC8 */ jal guRotateF +/* D5FA00 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5FA04 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D5FA08 80240758 0200282D */ daddu $a1, $s0, $zero +/* D5FA0C 8024075C 0C019D80 */ jal guMtxCatF +/* D5FA10 80240760 0080302D */ daddu $a2, $a0, $zero +/* D5FA14 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D5FA18 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D5FA1C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D5FA20 80240770 4407C000 */ mfc1 $a3, $f24 +/* D5FA24 80240774 0C019EC8 */ jal guRotateF +/* D5FA28 80240778 0200202D */ daddu $a0, $s0, $zero +/* D5FA2C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D5FA30 80240780 0200282D */ daddu $a1, $s0, $zero +/* D5FA34 80240784 0C019D80 */ jal guMtxCatF +/* D5FA38 80240788 0080302D */ daddu $a2, $a0, $zero +/* D5FA3C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D5FA40 80240790 3C013F36 */ lui $at, 0x3f36 +/* D5FA44 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D5FA48 80240798 44810000 */ mtc1 $at, $f0 +/* D5FA4C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D5FA50 802407A0 44050000 */ mfc1 $a1, $f0 +/* D5FA54 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D5FA58 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D5FA5C 802407AC 0C019DF0 */ jal guScaleF +/* D5FA60 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D5FA64 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D5FA68 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D5FA6C 802407BC 0C019D80 */ jal guMtxCatF +/* D5FA70 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D5FA74 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D5FA78 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D5FA7C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D5FA80 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D5FA84 802407D4 46000007 */ neg.s $f0, $f0 +/* D5FA88 802407D8 44060000 */ mfc1 $a2, $f0 +/* D5FA8C 802407DC 0C019E40 */ jal guTranslateF +/* D5FA90 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D5FA94 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D5FA98 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D5FA9C 802407EC 0C019D80 */ jal guMtxCatF +/* D5FAA0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D5FAA4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D5FAA8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D5FAAC 802407FC 44810000 */ mtc1 $at, $f0 +/* D5FAB0 80240800 00000000 */ nop +/* D5FAB4 80240804 4602003E */ c.le.s $f0, $f2 +/* D5FAB8 80240808 00000000 */ nop +/* D5FABC 8024080C 4500000A */ bc1f .L80240838 +/* D5FAC0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D5FAC4 80240814 3C014387 */ lui $at, 0x4387 +/* D5FAC8 80240818 44810000 */ mtc1 $at, $f0 +/* D5FACC 8024081C 00000000 */ nop +/* D5FAD0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D5FAD4 80240824 00000000 */ nop +/* D5FAD8 80240828 45000004 */ bc1f .L8024083C +/* D5FADC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D5FAE0 80240830 3C041000 */ lui $a0, 0x1000 +/* D5FAE4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D5FAE8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D5FAEC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D5FAF0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D5FAF4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D5FAF8 80240848 0C0B7710 */ jal render_sprite +/* D5FAFC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D5FB00 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D5FB04 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D5FB08 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D5FB0C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D5FB10 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D5FB14 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D5FB18 80240868 03E00008 */ jr $ra +/* D5FB1C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240870_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240870_D5F2B0.s new file mode 100644 index 0000000000..a48e1107be --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240870_D5F2B0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D5FB20 +/* D5FB20 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D5FB24 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D5FB28 80240878 4480B000 */ mtc1 $zero, $f22 +/* D5FB2C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D5FB30 80240880 0080882D */ daddu $s1, $a0, $zero +/* D5FB34 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D5FB38 80240888 0000982D */ daddu $s3, $zero, $zero +/* D5FB3C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D5FB40 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D5FB44 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D5FB48 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D5FB4C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D5FB50 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D5FB54 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D5FB58 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D5FB5C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D5FB60 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D5FB64 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D5FB68 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D5FB6C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D5FB70 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D5FB74 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D5FB78 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D5FB7C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D5FB80 802408D0 3C03800A */ lui $v1, 0x800a +/* D5FB84 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D5FB88 802408D8 00031080 */ sll $v0, $v1, 2 +/* D5FB8C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D5FB90 802408E0 00021080 */ sll $v0, $v0, 2 +/* D5FB94 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D5FB98 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D5FB9C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D5FBA0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D5FBA4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D5FBA8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D5FBAC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D5FBB0 80240900 46000507 */ neg.s $f20, $f0 +/* D5FBB4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D5FBB8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D5FBBC 8024090C 44810000 */ mtc1 $at, $f0 +/* D5FBC0 80240910 00000000 */ nop +/* D5FBC4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D5FBC8 80240918 00000000 */ nop +/* D5FBCC 8024091C 4500000A */ bc1f .L80240948 +/* D5FBD0 80240920 00000000 */ nop +/* D5FBD4 80240924 3C014334 */ lui $at, 0x4334 +/* D5FBD8 80240928 44812000 */ mtc1 $at, $f4 +/* D5FBDC 8024092C 00000000 */ nop +/* D5FBE0 80240930 4604103E */ c.le.s $f2, $f4 +/* D5FBE4 80240934 00000000 */ nop +/* D5FBE8 80240938 45000003 */ bc1f .L80240948 +/* D5FBEC 8024093C 00000000 */ nop +/* D5FBF0 80240940 08090276 */ j .L802409D8 +/* D5FBF4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D5FBF8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D5FBFC 8024094C 3C014334 */ lui $at, 0x4334 +/* D5FC00 80240950 44812000 */ mtc1 $at, $f4 +/* D5FC04 80240954 00000000 */ nop +/* D5FC08 80240958 4600203C */ c.lt.s $f4, $f0 +/* D5FC0C 8024095C 00000000 */ nop +/* D5FC10 80240960 4500000C */ bc1f .L80240994 +/* D5FC14 80240964 00000000 */ nop +/* D5FC18 80240968 3C014387 */ lui $at, 0x4387 +/* D5FC1C 8024096C 44812000 */ mtc1 $at, $f4 +/* D5FC20 80240970 00000000 */ nop +/* D5FC24 80240974 4604003E */ c.le.s $f0, $f4 +/* D5FC28 80240978 00000000 */ nop +/* D5FC2C 8024097C 45000008 */ bc1f .L802409A0 +/* D5FC30 80240980 00000000 */ nop +/* D5FC34 80240984 3C014334 */ lui $at, 0x4334 +/* D5FC38 80240988 44812000 */ mtc1 $at, $f4 +/* D5FC3C 8024098C 08090276 */ j .L802409D8 +/* D5FC40 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D5FC44 80240994 3C014387 */ lui $at, 0x4387 +/* D5FC48 80240998 44812000 */ mtc1 $at, $f4 +/* D5FC4C 8024099C 00000000 */ nop +.L802409A0: +/* D5FC50 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D5FC54 802409A4 00000000 */ nop +/* D5FC58 802409A8 4500000A */ bc1f .L802409D4 +/* D5FC5C 802409AC 00000000 */ nop +/* D5FC60 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D5FC64 802409B4 44811000 */ mtc1 $at, $f2 +/* D5FC68 802409B8 00000000 */ nop +/* D5FC6C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D5FC70 802409C0 00000000 */ nop +/* D5FC74 802409C4 45000003 */ bc1f .L802409D4 +/* D5FC78 802409C8 00000000 */ nop +/* D5FC7C 802409CC 08090276 */ j .L802409D8 +/* D5FC80 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D5FC84 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D5FC88 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D5FC8C 802409DC 44810000 */ mtc1 $at, $f0 +/* D5FC90 802409E0 00000000 */ nop +/* D5FC94 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D5FC98 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D5FC9C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D5FCA0 802409F0 00000000 */ nop +/* D5FCA4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D5FCA8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D5FCAC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D5FCB0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D5FCB4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D5FCB8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D5FCBC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D5FCC0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D5FCC4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D5FCC8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D5FCCC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D5FCD0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D5FCD4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D5FCD8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D5FCDC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D5FCE0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D5FCE4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D5FCE8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D5FCEC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D5FCF0 80240A40 0C019EC8 */ jal guRotateF +/* D5FCF4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FCF8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D5FCFC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D5FD00 80240A50 00000000 */ nop +/* D5FD04 80240A54 44050000 */ mfc1 $a1, $f0 +/* D5FD08 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D5FD0C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D5FD10 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D5FD14 80240A64 44812000 */ mtc1 $at, $f4 +/* D5FD18 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FD1C 80240A6C 0C019EC8 */ jal guRotateF +/* D5FD20 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D5FD24 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D5FD28 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D5FD2C 80240A7C 0C019D80 */ jal guMtxCatF +/* D5FD30 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D5FD34 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D5FD38 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5FD3C 80240A8C 080902D6 */ j .L80240B58 +/* D5FD40 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D5FD44 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D5FD48 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D5FD4C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D5FD50 80240AA0 0C03964E */ jal func_800E5938 +/* D5FD54 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D5FD58 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D5FD5C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D5FD60 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D5FD64 80240AB4 46000606 */ mov.s $f24, $f0 +/* D5FD68 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D5FD6C 80240ABC 080902B5 */ j .L80240AD4 +/* D5FD70 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D5FD74 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D5FD78 80240AC8 00000000 */ nop +/* D5FD7C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D5FD80 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D5FD84 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D5FD88 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D5FD8C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D5FD90 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D5FD94 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D5FD98 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D5FD9C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D5FDA0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D5FDA4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D5FDA8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D5FDAC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D5FDB0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D5FDB4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D5FDB8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D5FDBC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FDC0 80240B10 0C019EC8 */ jal guRotateF +/* D5FDC4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FDC8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D5FDCC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D5FDD0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D5FDD4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D5FDD8 80240B28 0C019EC8 */ jal guRotateF +/* D5FDDC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FDE0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D5FDE4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D5FDE8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D5FDEC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FDF0 80240B40 0C019EC8 */ jal guRotateF +/* D5FDF4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FDF8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D5FDFC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D5FE00 80240B50 0C019D80 */ jal guMtxCatF +/* D5FE04 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D5FE08 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D5FE0C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D5FE10 80240B60 44812000 */ mtc1 $at, $f4 +/* D5FE14 80240B64 00021023 */ negu $v0, $v0 +/* D5FE18 80240B68 44820000 */ mtc1 $v0, $f0 +/* D5FE1C 80240B6C 00000000 */ nop +/* D5FE20 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D5FE24 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D5FE28 80240B78 00000000 */ nop +/* D5FE2C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D5FE30 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D5FE34 80240B84 44062000 */ mfc1 $a2, $f4 +/* D5FE38 80240B88 0C019E40 */ jal guTranslateF +/* D5FE3C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D5FE40 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D5FE44 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D5FE48 80240B98 0C019D80 */ jal guMtxCatF +/* D5FE4C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D5FE50 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D5FE54 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D5FE58 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D5FE5C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D5FE60 80240BB0 0C019EC8 */ jal guRotateF +/* D5FE64 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FE68 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FE6C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D5FE70 80240BC0 0C019D80 */ jal guMtxCatF +/* D5FE74 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D5FE78 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D5FE7C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D5FE80 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D5FE84 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D5FE88 80240BD8 0C019EC8 */ jal guRotateF +/* D5FE8C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D5FE90 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FE94 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D5FE98 80240BE8 0C019D80 */ jal guMtxCatF +/* D5FE9C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D5FEA0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D5FEA4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D5FEA8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D5FEAC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D5FEB0 80240C00 00000000 */ nop +/* D5FEB4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D5FEB8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D5FEBC 80240C0C 00000000 */ nop +/* D5FEC0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D5FEC4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D5FEC8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D5FECC 80240C1C 0C019E40 */ jal guTranslateF +/* D5FED0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D5FED4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FED8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D5FEDC 80240C2C 0C019D80 */ jal guMtxCatF +/* D5FEE0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D5FEE4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D5FEE8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D5FEEC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D5FEF0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D5FEF4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D5FEF8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D5FEFC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D5FF00 80240C50 0C019DF0 */ jal guScaleF +/* D5FF04 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D5FF08 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FF0C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D5FF10 80240C60 0C019D80 */ jal guMtxCatF +/* D5FF14 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D5FF18 80240C68 4600D687 */ neg.s $f26, $f26 +/* D5FF1C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D5FF20 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D5FF24 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D5FF28 80240C78 0C019E40 */ jal guTranslateF +/* D5FF2C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D5FF30 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D5FF34 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D5FF38 80240C88 0C019D80 */ jal guMtxCatF +/* D5FF3C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D5FF40 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D5FF44 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D5FF48 80240C98 44810000 */ mtc1 $at, $f0 +/* D5FF4C 80240C9C 00000000 */ nop +/* D5FF50 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D5FF54 80240CA4 00000000 */ nop +/* D5FF58 80240CA8 4500000A */ bc1f .L80240CD4 +/* D5FF5C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D5FF60 80240CB0 3C014387 */ lui $at, 0x4387 +/* D5FF64 80240CB4 44812000 */ mtc1 $at, $f4 +/* D5FF68 80240CB8 00000000 */ nop +/* D5FF6C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D5FF70 80240CC0 00000000 */ nop +/* D5FF74 80240CC4 45000004 */ bc1f .L80240CD8 +/* D5FF78 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D5FF7C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D5FF80 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D5FF84 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D5FF88 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D5FF8C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D5FF90 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D5FF94 80240CE4 0C0B7710 */ jal render_sprite +/* D5FF98 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D5FF9C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D5FFA0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D5FFA4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D5FFA8 80240CF8 00000000 */ nop +/* D5FFAC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D5FFB0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D5FFB4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D5FFB8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D5FFBC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D5FFC0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D5FFC4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D5FFC8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D5FFCC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D5FFD0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D5FFD4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D5FFD8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D5FFDC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D5FFE0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D5FFE4 80240D34 03E00008 */ jr $ra +/* D5FFE8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240D3C_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240D3C_D5F2B0.s new file mode 100644 index 0000000000..b5d8fda19a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240D3C_D5F2B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D5FFEC +/* D5FFEC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D5FFF0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D5FFF4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D5FFF8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D5FFFC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D60000 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D60004 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D60008 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6000C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D60010 80240D60 00000000 */ nop +/* D60014 80240D64 28620002 */ slti $v0, $v1, 2 +/* D60018 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6001C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D60020 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D60024 80240D74 00000000 */ nop +/* D60028 80240D78 08090378 */ j .L80240DE0 +/* D6002C 80240D7C 00000000 */ nop +.L80240D80: +/* D60030 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D60034 80240D84 00000000 */ nop +/* D60038 80240D88 08090378 */ j .L80240DE0 +/* D6003C 80240D8C 00000000 */ nop +.L80240D90: +/* D60040 80240D90 3C048024 */ lui $a0, 0x8024 +/* D60044 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D60048 80240D98 08090374 */ j .L80240DD0 +/* D6004C 80240D9C 00000000 */ nop +.L80240DA0: +/* D60050 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D60054 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D60058 80240DA8 08090374 */ j .L80240DD0 +/* D6005C 80240DAC 00000000 */ nop +.L80240DB0: +/* D60060 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D60064 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D60068 80240DB8 00000000 */ nop +/* D6006C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D60070 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D60074 80240DC4 00000000 */ nop +.L80240DC8: +/* D60078 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D6007C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D60080 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D60084 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D60088 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D6008C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D60090 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D60094 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D60098 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D6009C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D600A0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D600A4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D600A8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D600AC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D600B0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D600B4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D600B8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D600BC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D600C0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D600C4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D600C8 80240E18 00000000 */ nop +/* D600CC 80240E1C 0809039D */ j .L80240E74 +/* D600D0 80240E20 00000000 */ nop +.L80240E24: +/* D600D4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D600D8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D600DC 80240E2C 0809039D */ j .L80240E74 +/* D600E0 80240E30 00000000 */ nop +.L80240E34: +/* D600E4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D600E8 80240E38 0809039A */ j .L80240E68 +/* D600EC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D600F0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D600F4 80240E44 0809039A */ j .L80240E68 +/* D600F8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D600FC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D60100 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D60104 80240E54 28420002 */ slti $v0, $v0, 2 +/* D60108 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6010C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D60110 80240E60 8CA20000 */ lw $v0, ($a1) +/* D60114 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D60118 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6011C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D60120 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D60124 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D60128 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6012C 80240E7C 03E00008 */ jr $ra +/* D60130 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240E84_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240E84_D5F2B0.s new file mode 100644 index 0000000000..4d9220e219 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240E84_D5F2B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D60134 +/* D60134 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D60138 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6013C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D60140 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D60144 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D60148 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6014C 80240E9C 3C03000A */ lui $v1, 0xa +/* D60150 80240EA0 8C820000 */ lw $v0, ($a0) +/* D60154 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D60158 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D6015C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D60160 80240EB0 03E00008 */ jr $ra +/* D60164 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240EB8_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240EB8_D5F2B0.s new file mode 100644 index 0000000000..111c1decf6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240EB8_D5F2B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D60168 +/* D60168 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6016C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D60170 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D60174 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D60178 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D6017C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D60180 80240ED0 3C030008 */ lui $v1, 8 +/* D60184 80240ED4 8C820000 */ lw $v0, ($a0) +/* D60188 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D6018C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D60190 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D60194 80240EE4 03E00008 */ jr $ra +/* D60198 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240EEC_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240EEC_D5F2B0.s new file mode 100644 index 0000000000..a85393256a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240EEC_D5F2B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D6019C +/* D6019C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D601A0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D601A4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D601A8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D601AC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D601B0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D601B4 80240F04 3C030002 */ lui $v1, 2 +/* D601B8 80240F08 8C820000 */ lw $v0, ($a0) +/* D601BC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D601C0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D601C4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D601C8 80240F18 03E00008 */ jr $ra +/* D601CC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_10/func_80240F20_D5F2B0.s b/asm/nonmatchings/world/area_pra/pra_10/func_80240F20_D5F2B0.s new file mode 100644 index 0000000000..686ecfa028 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_10/func_80240F20_D5F2B0.s @@ -0,0 +1,508 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D601D0 +/* D601D0 80240F20 27BDFF88 */ addiu $sp, $sp, -0x78 +/* D601D4 80240F24 AFB3005C */ sw $s3, 0x5c($sp) +/* D601D8 80240F28 0080982D */ daddu $s3, $a0, $zero +/* D601DC 80240F2C AFBF006C */ sw $ra, 0x6c($sp) +/* D601E0 80240F30 AFB60068 */ sw $s6, 0x68($sp) +/* D601E4 80240F34 AFB50064 */ sw $s5, 0x64($sp) +/* D601E8 80240F38 AFB40060 */ sw $s4, 0x60($sp) +/* D601EC 80240F3C AFB20058 */ sw $s2, 0x58($sp) +/* D601F0 80240F40 AFB10054 */ sw $s1, 0x54($sp) +/* D601F4 80240F44 AFB00050 */ sw $s0, 0x50($sp) +/* D601F8 80240F48 F7B40070 */ sdc1 $f20, 0x70($sp) +/* D601FC 80240F4C 8E720148 */ lw $s2, 0x148($s3) +/* D60200 80240F50 86440008 */ lh $a0, 8($s2) +/* D60204 80240F54 0C00EABB */ jal get_npc_unsafe +/* D60208 80240F58 00A0802D */ daddu $s0, $a1, $zero +/* D6020C 80240F5C 8E63000C */ lw $v1, 0xc($s3) +/* D60210 80240F60 0260202D */ daddu $a0, $s3, $zero +/* D60214 80240F64 8C650000 */ lw $a1, ($v1) +/* D60218 80240F68 0C0B1EAF */ jal get_variable +/* D6021C 80240F6C 0040882D */ daddu $s1, $v0, $zero +/* D60220 80240F70 AFA00020 */ sw $zero, 0x20($sp) +/* D60224 80240F74 8E4300D0 */ lw $v1, 0xd0($s2) +/* D60228 80240F78 8C630030 */ lw $v1, 0x30($v1) +/* D6022C 80240F7C AFA30024 */ sw $v1, 0x24($sp) +/* D60230 80240F80 8E4300D0 */ lw $v1, 0xd0($s2) +/* D60234 80240F84 8C63001C */ lw $v1, 0x1c($v1) +/* D60238 80240F88 AFA30028 */ sw $v1, 0x28($sp) +/* D6023C 80240F8C 8E4300D0 */ lw $v1, 0xd0($s2) +/* D60240 80240F90 8C630024 */ lw $v1, 0x24($v1) +/* D60244 80240F94 AFA3002C */ sw $v1, 0x2c($sp) +/* D60248 80240F98 8E4300D0 */ lw $v1, 0xd0($s2) +/* D6024C 80240F9C 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* D60250 80240FA0 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* D60254 80240FA4 8C630028 */ lw $v1, 0x28($v1) +/* D60258 80240FA8 27B60020 */ addiu $s6, $sp, 0x20 +/* D6025C 80240FAC AFA30030 */ sw $v1, 0x30($sp) +/* D60260 80240FB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D60264 80240FB4 3C0143FA */ lui $at, 0x43fa +/* D60268 80240FB8 44810000 */ mtc1 $at, $f0 +/* D6026C 80240FBC 8C63002C */ lw $v1, 0x2c($v1) +/* D60270 80240FC0 0040A02D */ daddu $s4, $v0, $zero +/* D60274 80240FC4 E7A00038 */ swc1 $f0, 0x38($sp) +/* D60278 80240FC8 A7A0003C */ sh $zero, 0x3c($sp) +/* D6027C 80240FCC 12000019 */ beqz $s0, .L80241034 +/* D60280 80240FD0 AFA30034 */ sw $v1, 0x34($sp) +/* D60284 80240FD4 27A50040 */ addiu $a1, $sp, 0x40 +/* D60288 80240FD8 27A60044 */ addiu $a2, $sp, 0x44 +/* D6028C 80240FDC AE600070 */ sw $zero, 0x70($s3) +/* D60290 80240FE0 A620008E */ sh $zero, 0x8e($s1) +/* D60294 80240FE4 8E4200B0 */ lw $v0, 0xb0($s2) +/* D60298 80240FE8 3C01447A */ lui $at, 0x447a +/* D6029C 80240FEC 44810000 */ mtc1 $at, $f0 +/* D602A0 80240FF0 34420010 */ ori $v0, $v0, 0x10 +/* D602A4 80240FF4 AE4200B0 */ sw $v0, 0xb0($s2) +/* D602A8 80240FF8 C6220038 */ lwc1 $f2, 0x38($s1) +/* D602AC 80240FFC C624003C */ lwc1 $f4, 0x3c($s1) +/* D602B0 80241000 C6260040 */ lwc1 $f6, 0x40($s1) +/* D602B4 80241004 27A2004C */ addiu $v0, $sp, 0x4c +/* D602B8 80241008 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D602BC 8024100C E7A20040 */ swc1 $f2, 0x40($sp) +/* D602C0 80241010 E7A40044 */ swc1 $f4, 0x44($sp) +/* D602C4 80241014 E7A60048 */ swc1 $f6, 0x48($sp) +/* D602C8 80241018 AFA20010 */ sw $v0, 0x10($sp) +/* D602CC 8024101C 8E240080 */ lw $a0, 0x80($s1) +/* D602D0 80241020 0C0372DF */ jal func_800DCB7C +/* D602D4 80241024 27A70048 */ addiu $a3, $sp, 0x48 +/* D602D8 80241028 C7A00044 */ lwc1 $f0, 0x44($sp) +/* D602DC 8024102C 4600028D */ trunc.w.s $f10, $f0 +/* D602E0 80241030 E64A0070 */ swc1 $f10, 0x70($s2) +.L80241034: +/* D602E4 80241034 8E4300B0 */ lw $v1, 0xb0($s2) +/* D602E8 80241038 30620004 */ andi $v0, $v1, 4 +/* D602EC 8024103C 10400007 */ beqz $v0, .L8024105C +/* D602F0 80241040 00000000 */ nop +/* D602F4 80241044 824200B4 */ lb $v0, 0xb4($s2) +/* D602F8 80241048 1440018D */ bnez $v0, .L80241680 +/* D602FC 8024104C 0000102D */ daddu $v0, $zero, $zero +/* D60300 80241050 2402FFFB */ addiu $v0, $zero, -5 +/* D60304 80241054 00621024 */ and $v0, $v1, $v0 +/* D60308 80241058 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024105C: +/* D6030C 8024105C 8E630070 */ lw $v1, 0x70($s3) +/* D60310 80241060 2C620010 */ sltiu $v0, $v1, 0x10 +/* D60314 80241064 10400185 */ beqz $v0, .L8024167C +/* D60318 80241068 00031080 */ sll $v0, $v1, 2 +/* D6031C 8024106C 3C018024 */ lui $at, 0x8024 +/* D60320 80241070 00220821 */ addu $at, $at, $v0 +/* D60324 80241074 8C222200 */ lw $v0, 0x2200($at) +/* D60328 80241078 00400008 */ jr $v0 +/* D6032C 8024107C 00000000 */ nop +/* D60330 80241080 8E4200CC */ lw $v0, 0xcc($s2) +/* D60334 80241084 922300A9 */ lbu $v1, 0xa9($s1) +/* D60338 80241088 8C440000 */ lw $a0, ($v0) +/* D6033C 8024108C 8E220000 */ lw $v0, ($s1) +/* D60340 80241090 A22300AB */ sb $v1, 0xab($s1) +/* D60344 80241094 34420080 */ ori $v0, $v0, 0x80 +/* D60348 80241098 AE220000 */ sw $v0, ($s1) +/* D6034C 8024109C 24020001 */ addiu $v0, $zero, 1 +/* D60350 802410A0 AE240028 */ sw $a0, 0x28($s1) +/* D60354 802410A4 AE600074 */ sw $zero, 0x74($s3) +/* D60358 802410A8 AE620070 */ sw $v0, 0x70($s3) +/* D6035C 802410AC 8E830014 */ lw $v1, 0x14($s4) +/* D60360 802410B0 04600015 */ bltz $v1, .L80241108 +/* D60364 802410B4 00000000 */ nop +/* D60368 802410B8 8E620074 */ lw $v0, 0x74($s3) +/* D6036C 802410BC 1C400011 */ bgtz $v0, .L80241104 +/* D60370 802410C0 2442FFFF */ addiu $v0, $v0, -1 +/* D60374 802410C4 02C0202D */ daddu $a0, $s6, $zero +/* D60378 802410C8 AE630074 */ sw $v1, 0x74($s3) +/* D6037C 802410CC AFA00010 */ sw $zero, 0x10($sp) +/* D60380 802410D0 8E86000C */ lw $a2, 0xc($s4) +/* D60384 802410D4 8E870010 */ lw $a3, 0x10($s4) +/* D60388 802410D8 0C01242D */ jal func_800490B4 +/* D6038C 802410DC 0240282D */ daddu $a1, $s2, $zero +/* D60390 802410E0 10400006 */ beqz $v0, .L802410FC +/* D60394 802410E4 0220202D */ daddu $a0, $s1, $zero +/* D60398 802410E8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D6039C 802410EC 0C012530 */ jal func_800494C0 +/* D603A0 802410F0 3C060020 */ lui $a2, 0x20 +/* D603A4 802410F4 2402000A */ addiu $v0, $zero, 0xa +/* D603A8 802410F8 AE620070 */ sw $v0, 0x70($s3) +.L802410FC: +/* D603AC 802410FC 8E620074 */ lw $v0, 0x74($s3) +/* D603B0 80241100 2442FFFF */ addiu $v0, $v0, -1 +.L80241104: +/* D603B4 80241104 AE620074 */ sw $v0, 0x74($s3) +.L80241108: +/* D603B8 80241108 8E630070 */ lw $v1, 0x70($s3) +/* D603BC 8024110C 2402000A */ addiu $v0, $zero, 0xa +/* D603C0 80241110 1462015B */ bne $v1, $v0, .L80241680 +/* D603C4 80241114 0000102D */ daddu $v0, $zero, $zero +/* D603C8 80241118 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D603CC 8024111C 8E4200CC */ lw $v0, 0xcc($s2) +/* D603D0 80241120 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D603D4 80241124 8C42000C */ lw $v0, 0xc($v0) +/* D603D8 80241128 AE220028 */ sw $v0, 0x28($s1) +/* D603DC 8024112C 8EA60028 */ lw $a2, 0x28($s5) +/* D603E0 80241130 0C00A720 */ jal atan2 +/* D603E4 80241134 8EA70030 */ lw $a3, 0x30($s5) +/* D603E8 80241138 3C013FA6 */ lui $at, 0x3fa6 +/* D603EC 8024113C 34216666 */ ori $at, $at, 0x6666 +/* D603F0 80241140 44811000 */ mtc1 $at, $f2 +/* D603F4 80241144 27A50040 */ addiu $a1, $sp, 0x40 +/* D603F8 80241148 E6200010 */ swc1 $f0, 0x10($s1) +/* D603FC 8024114C C6200038 */ lwc1 $f0, 0x38($s1) +/* D60400 80241150 C6240040 */ lwc1 $f4, 0x40($s1) +/* D60404 80241154 3C01447A */ lui $at, 0x447a +/* D60408 80241158 44813000 */ mtc1 $at, $f6 +/* D6040C 8024115C 27A60044 */ addiu $a2, $sp, 0x44 +/* D60410 80241160 AE20001C */ sw $zero, 0x1c($s1) +/* D60414 80241164 E6220014 */ swc1 $f2, 0x14($s1) +/* D60418 80241168 C6880000 */ lwc1 $f8, ($s4) +/* D6041C 8024116C C622003C */ lwc1 $f2, 0x3c($s1) +/* D60420 80241170 27A2004C */ addiu $v0, $sp, 0x4c +/* D60424 80241174 E7A00040 */ swc1 $f0, 0x40($sp) +/* D60428 80241178 E7A40048 */ swc1 $f4, 0x48($sp) +/* D6042C 8024117C E7A6004C */ swc1 $f6, 0x4c($sp) +/* D60430 80241180 E7A20044 */ swc1 $f2, 0x44($sp) +/* D60434 80241184 E6280018 */ swc1 $f8, 0x18($s1) +/* D60438 80241188 AFA20010 */ sw $v0, 0x10($sp) +/* D6043C 8024118C 8E240080 */ lw $a0, 0x80($s1) +/* D60440 80241190 0C0372DF */ jal func_800DCB7C +/* D60444 80241194 27A70048 */ addiu $a3, $sp, 0x48 +/* D60448 80241198 10400010 */ beqz $v0, .L802411DC +/* D6044C 8024119C 00000000 */ nop +/* D60450 802411A0 C620003C */ lwc1 $f0, 0x3c($s1) +/* D60454 802411A4 C6440070 */ lwc1 $f4, 0x70($s2) +/* D60458 802411A8 46802120 */ cvt.s.w $f4, $f4 +/* D6045C 802411AC 46040001 */ sub.s $f0, $f0, $f4 +/* D60460 802411B0 3C018024 */ lui $at, 0x8024 +/* D60464 802411B4 D4222240 */ ldc1 $f2, 0x2240($at) +/* D60468 802411B8 46000021 */ cvt.d.s $f0, $f0 +/* D6046C 802411BC 46220002 */ mul.d $f0, $f0, $f2 +/* D60470 802411C0 00000000 */ nop +/* D60474 802411C4 460020A1 */ cvt.d.s $f2, $f4 +/* D60478 802411C8 46201080 */ add.d $f2, $f2, $f0 +/* D6047C 802411CC E7A40044 */ swc1 $f4, 0x44($sp) +/* D60480 802411D0 462010A0 */ cvt.s.d $f2, $f2 +/* D60484 802411D4 08090483 */ j .L8024120C +/* D60488 802411D8 E6220064 */ swc1 $f2, 0x64($s1) +.L802411DC: +/* D6048C 802411DC C6A0002C */ lwc1 $f0, 0x2c($s5) +/* D60490 802411E0 C622003C */ lwc1 $f2, 0x3c($s1) +/* D60494 802411E4 46001081 */ sub.s $f2, $f2, $f0 +/* D60498 802411E8 3C018024 */ lui $at, 0x8024 +/* D6049C 802411EC D4242248 */ ldc1 $f4, 0x2248($at) +/* D604A0 802411F0 460010A1 */ cvt.d.s $f2, $f2 +/* D604A4 802411F4 46241082 */ mul.d $f2, $f2, $f4 +/* D604A8 802411F8 00000000 */ nop +/* D604AC 802411FC 46000021 */ cvt.d.s $f0, $f0 +/* D604B0 80241200 46220000 */ add.d $f0, $f0, $f2 +/* D604B4 80241204 46200020 */ cvt.s.d $f0, $f0 +/* D604B8 80241208 E6200064 */ swc1 $f0, 0x64($s1) +.L8024120C: +/* D604BC 8024120C C620003C */ lwc1 $f0, 0x3c($s1) +/* D604C0 80241210 2402000B */ addiu $v0, $zero, 0xb +/* D604C4 80241214 E6200068 */ swc1 $f0, 0x68($s1) +/* D604C8 80241218 AE620070 */ sw $v0, 0x70($s3) +/* D604CC 8024121C C6200018 */ lwc1 $f0, 0x18($s1) +/* D604D0 80241220 44801000 */ mtc1 $zero, $f2 +/* D604D4 80241224 44801800 */ mtc1 $zero, $f3 +/* D604D8 80241228 46000021 */ cvt.d.s $f0, $f0 +/* D604DC 8024122C 4620103C */ c.lt.d $f2, $f0 +/* D604E0 80241230 00000000 */ nop +/* D604E4 80241234 45000025 */ bc1f .L802412CC +/* D604E8 80241238 27A50040 */ addiu $a1, $sp, 0x40 +/* D604EC 8024123C C6200038 */ lwc1 $f0, 0x38($s1) +/* D604F0 80241240 C622003C */ lwc1 $f2, 0x3c($s1) +/* D604F4 80241244 C6240040 */ lwc1 $f4, 0x40($s1) +/* D604F8 80241248 C6260018 */ lwc1 $f6, 0x18($s1) +/* D604FC 8024124C E7A00040 */ swc1 $f0, 0x40($sp) +/* D60500 80241250 E7A20044 */ swc1 $f2, 0x44($sp) +/* D60504 80241254 E7A40048 */ swc1 $f4, 0x48($sp) +/* D60508 80241258 E7A60010 */ swc1 $f6, 0x10($sp) +/* D6050C 8024125C C620000C */ lwc1 $f0, 0xc($s1) +/* D60510 80241260 E7A00014 */ swc1 $f0, 0x14($sp) +/* D60514 80241264 862200A8 */ lh $v0, 0xa8($s1) +/* D60518 80241268 44820000 */ mtc1 $v0, $f0 +/* D6051C 8024126C 00000000 */ nop +/* D60520 80241270 46800020 */ cvt.s.w $f0, $f0 +/* D60524 80241274 E7A00018 */ swc1 $f0, 0x18($sp) +/* D60528 80241278 862200A6 */ lh $v0, 0xa6($s1) +/* D6052C 8024127C 27A60044 */ addiu $a2, $sp, 0x44 +/* D60530 80241280 44820000 */ mtc1 $v0, $f0 +/* D60534 80241284 00000000 */ nop +/* D60538 80241288 46800020 */ cvt.s.w $f0, $f0 +/* D6053C 8024128C E7A0001C */ swc1 $f0, 0x1c($sp) +/* D60540 80241290 8E240080 */ lw $a0, 0x80($s1) +/* D60544 80241294 0C037711 */ jal func_800DDC44 +/* D60548 80241298 27A70048 */ addiu $a3, $sp, 0x48 +/* D6054C 8024129C 54400001 */ bnel $v0, $zero, .L802412A4 +/* D60550 802412A0 AE200018 */ sw $zero, 0x18($s1) +.L802412A4: +/* D60554 802412A4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D60558 802412A8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D6055C 802412AC 8EA60028 */ lw $a2, 0x28($s5) +/* D60560 802412B0 0C00A720 */ jal atan2 +/* D60564 802412B4 8EA70030 */ lw $a3, 0x30($s5) +/* D60568 802412B8 8E250018 */ lw $a1, 0x18($s1) +/* D6056C 802412BC 44060000 */ mfc1 $a2, $f0 +/* D60570 802412C0 0220202D */ daddu $a0, $s1, $zero +/* D60574 802412C4 0C00EA95 */ jal npc_move_heading +/* D60578 802412C8 AE26000C */ sw $a2, 0xc($s1) +.L802412CC: +/* D6057C 802412CC C620001C */ lwc1 $f0, 0x1c($s1) +/* D60580 802412D0 C6220014 */ lwc1 $f2, 0x14($s1) +/* D60584 802412D4 46020001 */ sub.s $f0, $f0, $f2 +/* D60588 802412D8 C622003C */ lwc1 $f2, 0x3c($s1) +/* D6058C 802412DC C6240064 */ lwc1 $f4, 0x64($s1) +/* D60590 802412E0 46001080 */ add.s $f2, $f2, $f0 +/* D60594 802412E4 E620001C */ swc1 $f0, 0x1c($s1) +/* D60598 802412E8 4604103C */ c.lt.s $f2, $f4 +/* D6059C 802412EC 00000000 */ nop +/* D605A0 802412F0 450000E2 */ bc1f .L8024167C +/* D605A4 802412F4 E622003C */ swc1 $f2, 0x3c($s1) +/* D605A8 802412F8 2402000C */ addiu $v0, $zero, 0xc +/* D605AC 802412FC E624003C */ swc1 $f4, 0x3c($s1) +/* D605B0 80241300 AE620070 */ sw $v0, 0x70($s3) +/* D605B4 80241304 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D605B8 80241308 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D605BC 8024130C 8EA60028 */ lw $a2, 0x28($s5) +/* D605C0 80241310 0C00A7B5 */ jal dist2D +/* D605C4 80241314 8EA70030 */ lw $a3, 0x30($s5) +/* D605C8 80241318 3C014270 */ lui $at, 0x4270 +/* D605CC 8024131C 44811000 */ mtc1 $at, $f2 +/* D605D0 80241320 00000000 */ nop +/* D605D4 80241324 4602003C */ c.lt.s $f0, $f2 +/* D605D8 80241328 00000000 */ nop +/* D605DC 8024132C 45000002 */ bc1f .L80241338 +/* D605E0 80241330 E6200010 */ swc1 $f0, 0x10($s1) +/* D605E4 80241334 E6220010 */ swc1 $f2, 0x10($s1) +.L80241338: +/* D605E8 80241338 C6860018 */ lwc1 $f6, 0x18($s4) +/* D605EC 8024133C C6400070 */ lwc1 $f0, 0x70($s2) +/* D605F0 80241340 46800020 */ cvt.s.w $f0, $f0 +/* D605F4 80241344 E7A00044 */ swc1 $f0, 0x44($sp) +/* D605F8 80241348 46000021 */ cvt.d.s $f0, $f0 +/* D605FC 8024134C C6240010 */ lwc1 $f4, 0x10($s1) +/* D60600 80241350 3C014024 */ lui $at, 0x4024 +/* D60604 80241354 44811800 */ mtc1 $at, $f3 +/* D60608 80241358 44801000 */ mtc1 $zero, $f2 +/* D6060C 8024135C 46062103 */ div.s $f4, $f4, $f6 +/* D60610 80241360 46220000 */ add.d $f0, $f0, $f2 +/* D60614 80241364 C622003C */ lwc1 $f2, 0x3c($s1) +/* D60618 80241368 4600228D */ trunc.w.s $f10, $f4 +/* D6061C 8024136C 44025000 */ mfc1 $v0, $f10 +/* D60620 80241370 00000000 */ nop +/* D60624 80241374 A622008E */ sh $v0, 0x8e($s1) +/* D60628 80241378 460010A1 */ cvt.d.s $f2, $f2 +/* D6062C 8024137C 46220001 */ sub.d $f0, $f0, $f2 +/* D60630 80241380 00021400 */ sll $v0, $v0, 0x10 +/* D60634 80241384 E6260018 */ swc1 $f6, 0x18($s1) +/* D60638 80241388 14400003 */ bnez $v0, .L80241398 +/* D6063C 8024138C 46200120 */ cvt.s.d $f4, $f0 +/* D60640 80241390 24020001 */ addiu $v0, $zero, 1 +/* D60644 80241394 A622008E */ sh $v0, 0x8e($s1) +.L80241398: +/* D60648 80241398 8622008E */ lh $v0, 0x8e($s1) +/* D6064C 8024139C C620001C */ lwc1 $f0, 0x1c($s1) +/* D60650 802413A0 44821000 */ mtc1 $v0, $f2 +/* D60654 802413A4 00000000 */ nop +/* D60658 802413A8 468010A0 */ cvt.s.w $f2, $f2 +/* D6065C 802413AC 46000007 */ neg.s $f0, $f0 +/* D60660 802413B0 46020002 */ mul.s $f0, $f0, $f2 +/* D60664 802413B4 00000000 */ nop +/* D60668 802413B8 00420018 */ mult $v0, $v0 +/* D6066C 802413BC 8E230000 */ lw $v1, ($s1) +/* D60670 802413C0 46040000 */ add.s $f0, $f0, $f4 +/* D60674 802413C4 A22000AB */ sb $zero, 0xab($s1) +/* D60678 802413C8 2402FF7F */ addiu $v0, $zero, -0x81 +/* D6067C 802413CC 00004012 */ mflo $t0 +/* D60680 802413D0 00621824 */ and $v1, $v1, $v0 +/* D60684 802413D4 24020005 */ addiu $v0, $zero, 5 +/* D60688 802413D8 46000000 */ add.s $f0, $f0, $f0 +/* D6068C 802413DC AE230000 */ sw $v1, ($s1) +/* D60690 802413E0 44881000 */ mtc1 $t0, $f2 +/* D60694 802413E4 00000000 */ nop +/* D60698 802413E8 468010A0 */ cvt.s.w $f2, $f2 +/* D6069C 802413EC 46000007 */ neg.s $f0, $f0 +/* D606A0 802413F0 46020003 */ div.s $f0, $f0, $f2 +/* D606A4 802413F4 46000005 */ abs.s $f0, $f0 +/* D606A8 802413F8 46000007 */ neg.s $f0, $f0 +/* D606AC 802413FC E6200014 */ swc1 $f0, 0x14($s1) +/* D606B0 80241400 AE42006C */ sw $v0, 0x6c($s2) +/* D606B4 80241404 2402000D */ addiu $v0, $zero, 0xd +/* D606B8 80241408 A620008E */ sh $zero, 0x8e($s1) +/* D606BC 8024140C AE620070 */ sw $v0, 0x70($s3) +/* D606C0 80241410 C620001C */ lwc1 $f0, 0x1c($s1) +/* D606C4 80241414 C6220014 */ lwc1 $f2, 0x14($s1) +/* D606C8 80241418 46020001 */ sub.s $f0, $f0, $f2 +/* D606CC 8024141C 4480A000 */ mtc1 $zero, $f20 +/* D606D0 80241420 00000000 */ nop +/* D606D4 80241424 4614003C */ c.lt.s $f0, $f20 +/* D606D8 80241428 00000000 */ nop +/* D606DC 8024142C 45000012 */ bc1f .L80241478 +/* D606E0 80241430 E620001C */ swc1 $f0, 0x1c($s1) +/* D606E4 80241434 27A50040 */ addiu $a1, $sp, 0x40 +/* D606E8 80241438 27A60044 */ addiu $a2, $sp, 0x44 +/* D606EC 8024143C 27A2004C */ addiu $v0, $sp, 0x4c +/* D606F0 80241440 C6220038 */ lwc1 $f2, 0x38($s1) +/* D606F4 80241444 C624003C */ lwc1 $f4, 0x3c($s1) +/* D606F8 80241448 C6260040 */ lwc1 $f6, 0x40($s1) +/* D606FC 8024144C 46000007 */ neg.s $f0, $f0 +/* D60700 80241450 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D60704 80241454 E7A20040 */ swc1 $f2, 0x40($sp) +/* D60708 80241458 E7A40044 */ swc1 $f4, 0x44($sp) +/* D6070C 8024145C E7A60048 */ swc1 $f6, 0x48($sp) +/* D60710 80241460 AFA20010 */ sw $v0, 0x10($sp) +/* D60714 80241464 8E240080 */ lw $a0, 0x80($s1) +/* D60718 80241468 0C0372DF */ jal func_800DCB7C +/* D6071C 8024146C 27A70048 */ addiu $a3, $sp, 0x48 +/* D60720 80241470 54400001 */ bnel $v0, $zero, .L80241478 +/* D60724 80241474 E634001C */ swc1 $f20, 0x1c($s1) +.L80241478: +/* D60728 80241478 C624003C */ lwc1 $f4, 0x3c($s1) +/* D6072C 8024147C C620001C */ lwc1 $f0, 0x1c($s1) +/* D60730 80241480 46002100 */ add.s $f4, $f4, $f0 +/* D60734 80241484 C6200018 */ lwc1 $f0, 0x18($s1) +/* D60738 80241488 44801000 */ mtc1 $zero, $f2 +/* D6073C 8024148C 44801800 */ mtc1 $zero, $f3 +/* D60740 80241490 46000021 */ cvt.d.s $f0, $f0 +/* D60744 80241494 4620103C */ c.lt.d $f2, $f0 +/* D60748 80241498 00000000 */ nop +/* D6074C 8024149C 45000057 */ bc1f .L802415FC +/* D60750 802414A0 E624003C */ swc1 $f4, 0x3c($s1) +/* D60754 802414A4 46002086 */ mov.s $f2, $f4 +/* D60758 802414A8 C6200038 */ lwc1 $f0, 0x38($s1) +/* D6075C 802414AC C6240040 */ lwc1 $f4, 0x40($s1) +/* D60760 802414B0 C6260018 */ lwc1 $f6, 0x18($s1) +/* D60764 802414B4 E7A20044 */ swc1 $f2, 0x44($sp) +/* D60768 802414B8 E7A00040 */ swc1 $f0, 0x40($sp) +/* D6076C 802414BC E7A40048 */ swc1 $f4, 0x48($sp) +/* D60770 802414C0 E7A60010 */ swc1 $f6, 0x10($sp) +/* D60774 802414C4 C620000C */ lwc1 $f0, 0xc($s1) +/* D60778 802414C8 E7A00014 */ swc1 $f0, 0x14($sp) +/* D6077C 802414CC 862200A8 */ lh $v0, 0xa8($s1) +/* D60780 802414D0 27A50040 */ addiu $a1, $sp, 0x40 +/* D60784 802414D4 44820000 */ mtc1 $v0, $f0 +/* D60788 802414D8 00000000 */ nop +/* D6078C 802414DC 46800020 */ cvt.s.w $f0, $f0 +/* D60790 802414E0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D60794 802414E4 862200A6 */ lh $v0, 0xa6($s1) +/* D60798 802414E8 27A60044 */ addiu $a2, $sp, 0x44 +/* D6079C 802414EC 44820000 */ mtc1 $v0, $f0 +/* D607A0 802414F0 00000000 */ nop +/* D607A4 802414F4 46800020 */ cvt.s.w $f0, $f0 +/* D607A8 802414F8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D607AC 802414FC 8E240080 */ lw $a0, 0x80($s1) +/* D607B0 80241500 0C037711 */ jal func_800DDC44 +/* D607B4 80241504 27A70048 */ addiu $a3, $sp, 0x48 +/* D607B8 80241508 10400003 */ beqz $v0, .L80241518 +/* D607BC 8024150C 00000000 */ nop +/* D607C0 80241510 0809057B */ j .L802415EC +/* D607C4 80241514 AE200018 */ sw $zero, 0x18($s1) +.L80241518: +/* D607C8 80241518 C620001C */ lwc1 $f0, 0x1c($s1) +/* D607CC 8024151C 3C01C004 */ lui $at, 0xc004 +/* D607D0 80241520 44811800 */ mtc1 $at, $f3 +/* D607D4 80241524 44801000 */ mtc1 $zero, $f2 +/* D607D8 80241528 46000021 */ cvt.d.s $f0, $f0 +/* D607DC 8024152C 4622003C */ c.lt.d $f0, $f2 +/* D607E0 80241530 00000000 */ nop +/* D607E4 80241534 4500002D */ bc1f .L802415EC +/* D607E8 80241538 00000000 */ nop +/* D607EC 8024153C 9622008E */ lhu $v0, 0x8e($s1) +/* D607F0 80241540 24420001 */ addiu $v0, $v0, 1 +/* D607F4 80241544 A622008E */ sh $v0, 0x8e($s1) +/* D607F8 80241548 00021400 */ sll $v0, $v0, 0x10 +/* D607FC 8024154C 8E830020 */ lw $v1, 0x20($s4) +/* D60800 80241550 00021403 */ sra $v0, $v0, 0x10 +/* D60804 80241554 0043102A */ slt $v0, $v0, $v1 +/* D60808 80241558 14400024 */ bnez $v0, .L802415EC +/* D6080C 8024155C 00000000 */ nop +/* D60810 80241560 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D60814 80241564 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D60818 80241568 8EA60028 */ lw $a2, 0x28($s5) +/* D6081C 8024156C 0C00A720 */ jal atan2 +/* D60820 80241570 8EA70030 */ lw $a3, 0x30($s5) +/* D60824 80241574 46000506 */ mov.s $f20, $f0 +/* D60828 80241578 C62C000C */ lwc1 $f12, 0xc($s1) +/* D6082C 8024157C 0C00A70A */ jal get_clamped_angle_diff +/* D60830 80241580 4600A386 */ mov.s $f14, $f20 +/* D60834 80241584 46000086 */ mov.s $f2, $f0 +/* D60838 80241588 8E82001C */ lw $v0, 0x1c($s4) +/* D6083C 8024158C 46001005 */ abs.s $f0, $f2 +/* D60840 80241590 44822000 */ mtc1 $v0, $f4 +/* D60844 80241594 00000000 */ nop +/* D60848 80241598 46802120 */ cvt.s.w $f4, $f4 +/* D6084C 8024159C 4600203C */ c.lt.s $f4, $f0 +/* D60850 802415A0 00000000 */ nop +/* D60854 802415A4 4500000D */ bc1f .L802415DC +/* D60858 802415A8 00000000 */ nop +/* D6085C 802415AC 44800000 */ mtc1 $zero, $f0 +/* D60860 802415B0 C634000C */ lwc1 $f20, 0xc($s1) +/* D60864 802415B4 4600103C */ c.lt.s $f2, $f0 +/* D60868 802415B8 00000000 */ nop +/* D6086C 802415BC 45000006 */ bc1f .L802415D8 +/* D60870 802415C0 00021023 */ negu $v0, $v0 +/* D60874 802415C4 44820000 */ mtc1 $v0, $f0 +/* D60878 802415C8 00000000 */ nop +/* D6087C 802415CC 46800020 */ cvt.s.w $f0, $f0 +/* D60880 802415D0 08090577 */ j .L802415DC +/* D60884 802415D4 4600A500 */ add.s $f20, $f20, $f0 +.L802415D8: +/* D60888 802415D8 4604A500 */ add.s $f20, $f20, $f4 +.L802415DC: +/* D6088C 802415DC 0C00A6C9 */ jal clamp_angle +/* D60890 802415E0 4600A306 */ mov.s $f12, $f20 +/* D60894 802415E4 E620000C */ swc1 $f0, 0xc($s1) +/* D60898 802415E8 A620008E */ sh $zero, 0x8e($s1) +.L802415EC: +/* D6089C 802415EC 8E250018 */ lw $a1, 0x18($s1) +/* D608A0 802415F0 8E26000C */ lw $a2, 0xc($s1) +/* D608A4 802415F4 0C00EA95 */ jal npc_move_heading +/* D608A8 802415F8 0220202D */ daddu $a0, $s1, $zero +.L802415FC: +/* D608AC 802415FC 8E42006C */ lw $v0, 0x6c($s2) +/* D608B0 80241600 2442FFFF */ addiu $v0, $v0, -1 +/* D608B4 80241604 1C400003 */ bgtz $v0, .L80241614 +/* D608B8 80241608 AE42006C */ sw $v0, 0x6c($s2) +/* D608BC 8024160C 24020005 */ addiu $v0, $zero, 5 +/* D608C0 80241610 AE42006C */ sw $v0, 0x6c($s2) +.L80241614: +/* D608C4 80241614 C620003C */ lwc1 $f0, 0x3c($s1) +/* D608C8 80241618 C6220068 */ lwc1 $f2, 0x68($s1) +/* D608CC 8024161C 4600103C */ c.lt.s $f2, $f0 +/* D608D0 80241620 00000000 */ nop +/* D608D4 80241624 45000015 */ bc1f .L8024167C +/* D608D8 80241628 2402000E */ addiu $v0, $zero, 0xe +/* D608DC 8024162C E622003C */ swc1 $f2, 0x3c($s1) +/* D608E0 80241630 AE620070 */ sw $v0, 0x70($s3) +/* D608E4 80241634 8E4200CC */ lw $v0, 0xcc($s2) +/* D608E8 80241638 922300A9 */ lbu $v1, 0xa9($s1) +/* D608EC 8024163C 8C440020 */ lw $a0, 0x20($v0) +/* D608F0 80241640 8E220000 */ lw $v0, ($s1) +/* D608F4 80241644 A22300AB */ sb $v1, 0xab($s1) +/* D608F8 80241648 34420080 */ ori $v0, $v0, 0x80 +/* D608FC 8024164C AE220000 */ sw $v0, ($s1) +/* D60900 80241650 2402000F */ addiu $v0, $zero, 0xf +/* D60904 80241654 A622008E */ sh $v0, 0x8e($s1) +/* D60908 80241658 2402000F */ addiu $v0, $zero, 0xf +/* D6090C 8024165C AE240028 */ sw $a0, 0x28($s1) +/* D60910 80241660 AE620070 */ sw $v0, 0x70($s3) +/* D60914 80241664 9622008E */ lhu $v0, 0x8e($s1) +/* D60918 80241668 2442FFFF */ addiu $v0, $v0, -1 +/* D6091C 8024166C A622008E */ sh $v0, 0x8e($s1) +/* D60920 80241670 00021400 */ sll $v0, $v0, 0x10 +/* D60924 80241674 58400001 */ blezl $v0, .L8024167C +/* D60928 80241678 AE600070 */ sw $zero, 0x70($s3) +.L8024167C: +/* D6092C 8024167C 0000102D */ daddu $v0, $zero, $zero +.L80241680: +/* D60930 80241680 8FBF006C */ lw $ra, 0x6c($sp) +/* D60934 80241684 8FB60068 */ lw $s6, 0x68($sp) +/* D60938 80241688 8FB50064 */ lw $s5, 0x64($sp) +/* D6093C 8024168C 8FB40060 */ lw $s4, 0x60($sp) +/* D60940 80241690 8FB3005C */ lw $s3, 0x5c($sp) +/* D60944 80241694 8FB20058 */ lw $s2, 0x58($sp) +/* D60948 80241698 8FB10054 */ lw $s1, 0x54($sp) +/* D6094C 8024169C 8FB00050 */ lw $s0, 0x50($sp) +/* D60950 802416A0 D7B40070 */ ldc1 $f20, 0x70($sp) +/* D60954 802416A4 03E00008 */ jr $ra +/* D60958 802416A8 27BD0078 */ addiu $sp, $sp, 0x78 +/* D6095C 802416AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240000_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240000_D61500.s new file mode 100644 index 0000000000..6b6584c69b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240000_D61500.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D61500 +/* D61500 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D61504 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D61508 80240008 24020001 */ addiu $v0, $zero, 1 +/* D6150C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D61510 80240010 03E00008 */ jr $ra +/* D61514 80240014 0000102D */ daddu $v0, $zero, $zero +/* D61518 80240018 00000000 */ nop +/* D6151C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240020_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240020_D61500.s new file mode 100644 index 0000000000..d61d61b48e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240020_D61500.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D61520 +/* D61520 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D61524 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D61528 80240028 00822024 */ and $a0, $a0, $v0 +/* D6152C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D61530 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D61534 80240034 00821821 */ addu $v1, $a0, $v0 +/* D61538 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6153C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D61540 80240040 30620001 */ andi $v0, $v1, 1 +/* D61544 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D61548 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D6154C 8024004C 03E00008 */ jr $ra +/* D61550 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240054_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240054_D61500.s new file mode 100644 index 0000000000..c50a43de6e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240054_D61500.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D61554 +/* D61554 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D61558 80240058 304300FF */ andi $v1, $v0, 0xff +/* D6155C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D61560 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D61564 80240064 28620007 */ slti $v0, $v1, 7 +/* D61568 80240068 10400005 */ beqz $v0, .L80240080 +/* D6156C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D61570 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D61574 80240074 3C020100 */ lui $v0, 0x100 +/* D61578 80240078 03E00008 */ jr $ra +/* D6157C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D61580 80240080 2862000A */ slti $v0, $v1, 0xa +/* D61584 80240084 10400016 */ beqz $v0, .L802400E0 +/* D61588 80240088 28620008 */ slti $v0, $v1, 8 +/* D6158C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D61590 80240090 3C020100 */ lui $v0, 0x100 +/* D61594 80240094 03E00008 */ jr $ra +/* D61598 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D6159C 8024009C 3C020001 */ lui $v0, 1 +/* D615A0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D615A4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D615A8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D615AC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D615B0 802400B0 03E00008 */ jr $ra +/* D615B4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D615B8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D615BC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D615C0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D615C4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D615C8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D615CC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D615D0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D615D4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D615D8 802400D8 03E00008 */ jr $ra +/* D615DC 802400DC 00000000 */ nop +.L802400E0: +/* D615E0 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D615E4 802400E4 03E00008 */ jr $ra +/* D615E8 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_802400EC_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_802400EC_D61500.s new file mode 100644 index 0000000000..26aa57c14d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_802400EC_D61500.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D615EC +/* D615EC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D615F0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D615F4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D615F8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D615FC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D61600 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D61604 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D61608 80240108 0000202D */ daddu $a0, $zero, $zero +/* D6160C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D61610 80240110 AC620000 */ sw $v0, ($v1) +/* D61614 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D61618 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D6161C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D61620 80240120 03E00008 */ jr $ra +/* D61624 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240128_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240128_D61500.s new file mode 100644 index 0000000000..3bec3962a1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240128_D61500.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D61628 +/* D61628 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6162C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D61630 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D61634 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D61638 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D6163C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D61640 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D61644 80240144 8E020000 */ lw $v0, ($s0) +/* D61648 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D6164C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D61650 80240150 10400061 */ beqz $v0, .L802402D8 +/* D61654 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D61658 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D6165C 8024015C 0C044181 */ jal get_shadow_by_index +/* D61660 80240160 00000000 */ nop +/* D61664 80240164 0C048B77 */ jal func_80122DDC +/* D61668 80240168 84440008 */ lh $a0, 8($v0) +/* D6166C 8024016C 8C430000 */ lw $v1, ($v0) +/* D61670 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D61674 80240174 AC430000 */ sw $v1, ($v0) +/* D61678 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D6167C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D61680 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D61684 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D61688 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D6168C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D61690 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D61694 80240194 3C04800A */ lui $a0, 0x800a +/* D61698 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D6169C 8024019C 46000007 */ neg.s $f0, $f0 +/* D616A0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D616A4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D616A8 802401A8 0C00B94E */ jal get_screen_coords +/* D616AC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D616B0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D616B4 802401B4 0C090008 */ jal func_80240020 +/* D616B8 802401B8 00000000 */ nop +/* D616BC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D616C0 802401C0 3C014307 */ lui $at, 0x4307 +/* D616C4 802401C4 44810000 */ mtc1 $at, $f0 +/* D616C8 802401C8 00000000 */ nop +/* D616CC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D616D0 802401D0 00000000 */ nop +/* D616D4 802401D4 4500000B */ bc1f .L80240204 +/* D616D8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D616DC 802401DC 3C014361 */ lui $at, 0x4361 +/* D616E0 802401E0 44810000 */ mtc1 $at, $f0 +/* D616E4 802401E4 00000000 */ nop +/* D616E8 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D616EC 802401EC 00000000 */ nop +/* D616F0 802401F0 45000004 */ bc1f .L80240204 +/* D616F4 802401F4 00000000 */ nop +/* D616F8 802401F8 0C090015 */ jal func_80240054 +/* D616FC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D61700 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D61704 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D61708 80240208 0C0B76A3 */ jal func_802DDA8C +/* D6170C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D61710 80240210 8E020000 */ lw $v0, ($s0) +/* D61714 80240214 3C030002 */ lui $v1, 2 +/* D61718 80240218 00431024 */ and $v0, $v0, $v1 +/* D6171C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D61720 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D61724 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D61728 80240228 3C02802E */ lui $v0, 0x802e +/* D6172C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D61730 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D61734 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D61738 80240238 1040000B */ beqz $v0, .L80240268 +/* D6173C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D61740 80240240 24040002 */ addiu $a0, $zero, 2 +/* D61744 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D61748 80240248 24060007 */ addiu $a2, $zero, 7 +/* D6174C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D61750 80240250 0000382D */ daddu $a3, $zero, $zero +/* D61754 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D61758 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D6175C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D61760 80240260 080900A3 */ j .L8024028C +/* D61764 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D61768 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D6176C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D61770 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D61774 80240274 0000302D */ daddu $a2, $zero, $zero +/* D61778 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D6177C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D61780 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D61784 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D61788 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D6178C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D61790 80240290 00000000 */ nop +.L80240294: +/* D61794 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D61798 80240298 3C01802E */ lui $at, 0x802e +/* D6179C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D617A0 802402A0 080900AD */ j .L802402B4 +/* D617A4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D617A8 802402A8 3C01802E */ lui $at, 0x802e +/* D617AC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D617B0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D617B4 802402B4 AC910000 */ sw $s1, ($a0) +/* D617B8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D617BC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D617C0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D617C4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D617C8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D617CC 802402CC 00021023 */ negu $v0, $v0 +/* D617D0 802402D0 0C047644 */ jal queue_render_task +/* D617D4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D617D8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D617DC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D617E0 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D617E4 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D617E8 802402E8 03E00008 */ jr $ra +/* D617EC 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_802402F0_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_802402F0_D61500.s new file mode 100644 index 0000000000..7952f64ea0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_802402F0_D61500.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D617F0 +/* D617F0 802402F0 3C03800A */ lui $v1, 0x800a +/* D617F4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D617F8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D617FC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D61800 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D61804 80240304 4480A000 */ mtc1 $zero, $f20 +/* D61808 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D6180C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D61810 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D61814 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D61818 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D6181C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D61820 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D61824 80240324 00031080 */ sll $v0, $v1, 2 +/* D61828 80240328 00431021 */ addu $v0, $v0, $v1 +/* D6182C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D61830 80240330 00431023 */ subu $v0, $v0, $v1 +/* D61834 80240334 000218C0 */ sll $v1, $v0, 3 +/* D61838 80240338 00431021 */ addu $v0, $v0, $v1 +/* D6183C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D61840 80240340 3C01800B */ lui $at, 0x800b +/* D61844 80240344 00220821 */ addu $at, $at, $v0 +/* D61848 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6184C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D61850 80240350 4600B587 */ neg.s $f22, $f22 +/* D61854 80240354 4405B000 */ mfc1 $a1, $f22 +/* D61858 80240358 0200202D */ daddu $a0, $s0, $zero +/* D6185C 8024035C 0C019EC8 */ jal guRotateF +/* D61860 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D61864 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D61868 80240368 0C00A6C9 */ jal clamp_angle +/* D6186C 8024036C 00000000 */ nop +/* D61870 80240370 44050000 */ mfc1 $a1, $f0 +/* D61874 80240374 4406A000 */ mfc1 $a2, $f20 +/* D61878 80240378 4407A000 */ mfc1 $a3, $f20 +/* D6187C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D61880 80240380 4481C000 */ mtc1 $at, $f24 +/* D61884 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D61888 80240388 0C019EC8 */ jal guRotateF +/* D6188C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D61890 80240390 0200202D */ daddu $a0, $s0, $zero +/* D61894 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D61898 80240398 0C019D80 */ jal guMtxCatF +/* D6189C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D618A0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D618A4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D618A8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D618AC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D618B0 802403B0 0C019EC8 */ jal guRotateF +/* D618B4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D618B8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D618BC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D618C0 802403C0 0C019D80 */ jal guMtxCatF +/* D618C4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D618C8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D618CC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D618D0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D618D4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D618D8 802403D8 0C019EC8 */ jal guRotateF +/* D618DC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D618E0 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D618E4 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D618E8 802403E8 0C019D80 */ jal guMtxCatF +/* D618EC 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D618F0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D618F4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D618F8 802403F8 44810000 */ mtc1 $at, $f0 +/* D618FC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D61900 80240400 44050000 */ mfc1 $a1, $f0 +/* D61904 80240404 0200202D */ daddu $a0, $s0, $zero +/* D61908 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D6190C 8024040C 0C019DF0 */ jal guScaleF +/* D61910 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D61914 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D61918 80240418 0200282D */ daddu $a1, $s0, $zero +/* D6191C 8024041C 0C019D80 */ jal guMtxCatF +/* D61920 80240420 0080302D */ daddu $a2, $a0, $zero +/* D61924 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D61928 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D6192C 8024042C 3C014040 */ lui $at, 0x4040 +/* D61930 80240430 44811000 */ mtc1 $at, $f2 +/* D61934 80240434 46000007 */ neg.s $f0, $f0 +/* D61938 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D6193C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D61940 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D61944 80240444 44070000 */ mfc1 $a3, $f0 +/* D61948 80240448 0C019E40 */ jal guTranslateF +/* D6194C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D61950 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D61954 80240454 0200282D */ daddu $a1, $s0, $zero +/* D61958 80240458 0C019D80 */ jal guMtxCatF +/* D6195C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D61960 80240460 24040002 */ addiu $a0, $zero, 2 +/* D61964 80240464 0000282D */ daddu $a1, $zero, $zero +/* D61968 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D6196C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D61970 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D61974 80240474 0C0B7710 */ jal render_sprite +/* D61978 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D6197C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D61980 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D61984 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D61988 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6198C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D61990 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D61994 80240494 03E00008 */ jr $ra +/* D61998 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_8024049C_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_8024049C_D61500.s new file mode 100644 index 0000000000..2d6715c2bc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_8024049C_D61500.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D6199C +/* D6199C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D619A0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D619A4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D619A8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D619AC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D619B0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D619B4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D619B8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D619BC 802404BC 00000000 */ nop +/* D619C0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D619C4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D619C8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D619CC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D619D0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D619D4 802404D4 AC620000 */ sw $v0, ($v1) +/* D619D8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D619DC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D619E0 802404E0 8C620000 */ lw $v0, ($v1) +/* D619E4 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D619E8 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D619EC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D619F0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D619F4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D619F8 802404F8 03E00008 */ jr $ra +/* D619FC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240500_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240500_D61500.s new file mode 100644 index 0000000000..b46640779a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240500_D61500.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D61A00 +/* D61A00 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D61A04 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D61A08 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D61A0C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D61A10 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D61A14 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D61A18 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D61A1C 8024051C 8E020000 */ lw $v0, ($s0) +/* D61A20 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D61A24 80240524 30420001 */ andi $v0, $v0, 1 +/* D61A28 80240528 10400052 */ beqz $v0, .L80240674 +/* D61A2C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D61A30 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D61A34 80240534 0C044181 */ jal get_shadow_by_index +/* D61A38 80240538 00000000 */ nop +/* D61A3C 8024053C 0C048B77 */ jal func_80122DDC +/* D61A40 80240540 84440008 */ lh $a0, 8($v0) +/* D61A44 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D61A48 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D61A4C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D61A50 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D61A54 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D61A58 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D61A5C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D61A60 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D61A64 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D61A68 80240568 3C04800A */ lui $a0, 0x800a +/* D61A6C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D61A70 80240570 46000007 */ neg.s $f0, $f0 +/* D61A74 80240574 44060000 */ mfc1 $a2, $f0 +/* D61A78 80240578 0C00B94E */ jal get_screen_coords +/* D61A7C 8024057C 00000000 */ nop +/* D61A80 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D61A84 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D61A88 80240588 0C0B76A3 */ jal func_802DDA8C +/* D61A8C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D61A90 80240590 8E020000 */ lw $v0, ($s0) +/* D61A94 80240594 3C030002 */ lui $v1, 2 +/* D61A98 80240598 00431024 */ and $v0, $v0, $v1 +/* D61A9C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D61AA0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D61AA4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D61AA8 802405A8 3C02802E */ lui $v0, 0x802e +/* D61AAC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D61AB0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D61AB4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D61AB8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D61ABC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D61AC0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D61AC4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D61AC8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D61ACC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D61AD0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D61AD4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D61AD8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D61ADC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D61AE0 802405E0 08090183 */ j .L8024060C +/* D61AE4 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D61AE8 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D61AEC 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D61AF0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D61AF4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D61AF8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D61AFC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D61B00 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D61B04 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D61B08 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D61B0C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D61B10 80240610 00000000 */ nop +.L80240614: +/* D61B14 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D61B18 80240618 3C01802E */ lui $at, 0x802e +/* D61B1C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D61B20 80240620 0809018C */ j .L80240630 +/* D61B24 80240624 00000000 */ nop +.L80240628: +/* D61B28 80240628 3C01802E */ lui $at, 0x802e +/* D61B2C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D61B30 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D61B34 80240634 3C048024 */ lui $a0, 0x8024 +/* D61B38 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D61B3C 8024063C AE320000 */ sw $s2, ($s1) +/* D61B40 80240640 AE300008 */ sw $s0, 8($s1) +/* D61B44 80240644 00021023 */ negu $v0, $v0 +/* D61B48 80240648 AE220004 */ sw $v0, 4($s1) +/* D61B4C 8024064C 8E020000 */ lw $v0, ($s0) +/* D61B50 80240650 3C030002 */ lui $v1, 2 +/* D61B54 80240654 00431024 */ and $v0, $v0, $v1 +/* D61B58 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D61B5C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D61B60 80240660 3C048024 */ lui $a0, 0x8024 +/* D61B64 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D61B68 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D61B6C 8024066C 0C047644 */ jal queue_render_task +/* D61B70 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D61B74 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D61B78 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D61B7C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D61B80 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D61B84 80240684 03E00008 */ jr $ra +/* D61B88 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_8024068C_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_8024068C_D61500.s new file mode 100644 index 0000000000..b903c7367e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_8024068C_D61500.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D61B8C +/* D61B8C 8024068C 3C03800A */ lui $v1, 0x800a +/* D61B90 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D61B94 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D61B98 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D61B9C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D61BA0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D61BA4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D61BA8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D61BAC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D61BB0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D61BB4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D61BB8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D61BBC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D61BC0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D61BC4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D61BC8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D61BCC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D61BD0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D61BD4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D61BD8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D61BDC 802406DC 3C01800B */ lui $at, 0x800b +/* D61BE0 802406E0 00220821 */ addu $at, $at, $v0 +/* D61BE4 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D61BE8 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D61BEC 802406EC 4600B587 */ neg.s $f22, $f22 +/* D61BF0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D61BF4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D61BF8 802406F8 0C019EC8 */ jal guRotateF +/* D61BFC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D61C00 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D61C04 80240704 0C00A6C9 */ jal clamp_angle +/* D61C08 80240708 00000000 */ nop +/* D61C0C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D61C10 80240710 4406A000 */ mfc1 $a2, $f20 +/* D61C14 80240714 4407A000 */ mfc1 $a3, $f20 +/* D61C18 80240718 3C013F80 */ lui $at, 0x3f80 +/* D61C1C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D61C20 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D61C24 80240724 0C019EC8 */ jal guRotateF +/* D61C28 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D61C2C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D61C30 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D61C34 80240734 0C019D80 */ jal guMtxCatF +/* D61C38 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D61C3C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D61C40 80240740 4406A000 */ mfc1 $a2, $f20 +/* D61C44 80240744 4407C000 */ mfc1 $a3, $f24 +/* D61C48 80240748 0200202D */ daddu $a0, $s0, $zero +/* D61C4C 8024074C 0C019EC8 */ jal guRotateF +/* D61C50 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D61C54 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D61C58 80240758 0200282D */ daddu $a1, $s0, $zero +/* D61C5C 8024075C 0C019D80 */ jal guMtxCatF +/* D61C60 80240760 0080302D */ daddu $a2, $a0, $zero +/* D61C64 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D61C68 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D61C6C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D61C70 80240770 4407C000 */ mfc1 $a3, $f24 +/* D61C74 80240774 0C019EC8 */ jal guRotateF +/* D61C78 80240778 0200202D */ daddu $a0, $s0, $zero +/* D61C7C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D61C80 80240780 0200282D */ daddu $a1, $s0, $zero +/* D61C84 80240784 0C019D80 */ jal guMtxCatF +/* D61C88 80240788 0080302D */ daddu $a2, $a0, $zero +/* D61C8C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D61C90 80240790 3C013F36 */ lui $at, 0x3f36 +/* D61C94 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D61C98 80240798 44810000 */ mtc1 $at, $f0 +/* D61C9C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D61CA0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D61CA4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D61CA8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D61CAC 802407AC 0C019DF0 */ jal guScaleF +/* D61CB0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D61CB4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D61CB8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D61CBC 802407BC 0C019D80 */ jal guMtxCatF +/* D61CC0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D61CC4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D61CC8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D61CCC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D61CD0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D61CD4 802407D4 46000007 */ neg.s $f0, $f0 +/* D61CD8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D61CDC 802407DC 0C019E40 */ jal guTranslateF +/* D61CE0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D61CE4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D61CE8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D61CEC 802407EC 0C019D80 */ jal guMtxCatF +/* D61CF0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D61CF4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D61CF8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D61CFC 802407FC 44810000 */ mtc1 $at, $f0 +/* D61D00 80240800 00000000 */ nop +/* D61D04 80240804 4602003E */ c.le.s $f0, $f2 +/* D61D08 80240808 00000000 */ nop +/* D61D0C 8024080C 4500000A */ bc1f .L80240838 +/* D61D10 80240810 24040001 */ addiu $a0, $zero, 1 +/* D61D14 80240814 3C014387 */ lui $at, 0x4387 +/* D61D18 80240818 44810000 */ mtc1 $at, $f0 +/* D61D1C 8024081C 00000000 */ nop +/* D61D20 80240820 4600103C */ c.lt.s $f2, $f0 +/* D61D24 80240824 00000000 */ nop +/* D61D28 80240828 45000004 */ bc1f .L8024083C +/* D61D2C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D61D30 80240830 3C041000 */ lui $a0, 0x1000 +/* D61D34 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D61D38 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D61D3C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D61D40 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D61D44 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D61D48 80240848 0C0B7710 */ jal render_sprite +/* D61D4C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D61D50 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D61D54 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D61D58 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D61D5C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D61D60 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D61D64 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D61D68 80240868 03E00008 */ jr $ra +/* D61D6C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240870_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240870_D61500.s new file mode 100644 index 0000000000..8f786b524c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240870_D61500.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D61D70 +/* D61D70 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D61D74 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D61D78 80240878 4480B000 */ mtc1 $zero, $f22 +/* D61D7C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D61D80 80240880 0080882D */ daddu $s1, $a0, $zero +/* D61D84 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D61D88 80240888 0000982D */ daddu $s3, $zero, $zero +/* D61D8C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D61D90 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D61D94 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D61D98 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D61D9C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D61DA0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D61DA4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D61DA8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D61DAC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D61DB0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D61DB4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D61DB8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D61DBC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D61DC0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D61DC4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D61DC8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D61DCC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D61DD0 802408D0 3C03800A */ lui $v1, 0x800a +/* D61DD4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D61DD8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D61DDC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D61DE0 802408E0 00021080 */ sll $v0, $v0, 2 +/* D61DE4 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D61DE8 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D61DEC 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D61DF0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D61DF4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D61DF8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D61DFC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D61E00 80240900 46000507 */ neg.s $f20, $f0 +/* D61E04 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D61E08 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D61E0C 8024090C 44810000 */ mtc1 $at, $f0 +/* D61E10 80240910 00000000 */ nop +/* D61E14 80240914 4602003C */ c.lt.s $f0, $f2 +/* D61E18 80240918 00000000 */ nop +/* D61E1C 8024091C 4500000A */ bc1f .L80240948 +/* D61E20 80240920 00000000 */ nop +/* D61E24 80240924 3C014334 */ lui $at, 0x4334 +/* D61E28 80240928 44812000 */ mtc1 $at, $f4 +/* D61E2C 8024092C 00000000 */ nop +/* D61E30 80240930 4604103E */ c.le.s $f2, $f4 +/* D61E34 80240934 00000000 */ nop +/* D61E38 80240938 45000003 */ bc1f .L80240948 +/* D61E3C 8024093C 00000000 */ nop +/* D61E40 80240940 08090276 */ j .L802409D8 +/* D61E44 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D61E48 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D61E4C 8024094C 3C014334 */ lui $at, 0x4334 +/* D61E50 80240950 44812000 */ mtc1 $at, $f4 +/* D61E54 80240954 00000000 */ nop +/* D61E58 80240958 4600203C */ c.lt.s $f4, $f0 +/* D61E5C 8024095C 00000000 */ nop +/* D61E60 80240960 4500000C */ bc1f .L80240994 +/* D61E64 80240964 00000000 */ nop +/* D61E68 80240968 3C014387 */ lui $at, 0x4387 +/* D61E6C 8024096C 44812000 */ mtc1 $at, $f4 +/* D61E70 80240970 00000000 */ nop +/* D61E74 80240974 4604003E */ c.le.s $f0, $f4 +/* D61E78 80240978 00000000 */ nop +/* D61E7C 8024097C 45000008 */ bc1f .L802409A0 +/* D61E80 80240980 00000000 */ nop +/* D61E84 80240984 3C014334 */ lui $at, 0x4334 +/* D61E88 80240988 44812000 */ mtc1 $at, $f4 +/* D61E8C 8024098C 08090276 */ j .L802409D8 +/* D61E90 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D61E94 80240994 3C014387 */ lui $at, 0x4387 +/* D61E98 80240998 44812000 */ mtc1 $at, $f4 +/* D61E9C 8024099C 00000000 */ nop +.L802409A0: +/* D61EA0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D61EA4 802409A4 00000000 */ nop +/* D61EA8 802409A8 4500000A */ bc1f .L802409D4 +/* D61EAC 802409AC 00000000 */ nop +/* D61EB0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D61EB4 802409B4 44811000 */ mtc1 $at, $f2 +/* D61EB8 802409B8 00000000 */ nop +/* D61EBC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D61EC0 802409C0 00000000 */ nop +/* D61EC4 802409C4 45000003 */ bc1f .L802409D4 +/* D61EC8 802409C8 00000000 */ nop +/* D61ECC 802409CC 08090276 */ j .L802409D8 +/* D61ED0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D61ED4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D61ED8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D61EDC 802409DC 44810000 */ mtc1 $at, $f0 +/* D61EE0 802409E0 00000000 */ nop +/* D61EE4 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D61EE8 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D61EEC 802409EC 44072000 */ mfc1 $a3, $f4 +/* D61EF0 802409F0 00000000 */ nop +/* D61EF4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D61EF8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D61EFC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D61F00 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D61F04 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D61F08 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D61F0C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D61F10 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D61F14 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D61F18 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D61F1C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D61F20 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D61F24 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D61F28 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D61F2C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D61F30 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D61F34 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D61F38 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D61F3C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D61F40 80240A40 0C019EC8 */ jal guRotateF +/* D61F44 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D61F48 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D61F4C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D61F50 80240A50 00000000 */ nop +/* D61F54 80240A54 44050000 */ mfc1 $a1, $f0 +/* D61F58 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D61F5C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D61F60 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D61F64 80240A64 44812000 */ mtc1 $at, $f4 +/* D61F68 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D61F6C 80240A6C 0C019EC8 */ jal guRotateF +/* D61F70 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D61F74 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D61F78 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D61F7C 80240A7C 0C019D80 */ jal guMtxCatF +/* D61F80 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D61F84 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D61F88 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D61F8C 80240A8C 080902D6 */ j .L80240B58 +/* D61F90 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D61F94 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D61F98 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D61F9C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D61FA0 80240AA0 0C03964E */ jal func_800E5938 +/* D61FA4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D61FA8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D61FAC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D61FB0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D61FB4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D61FB8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D61FBC 80240ABC 080902B5 */ j .L80240AD4 +/* D61FC0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D61FC4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D61FC8 80240AC8 00000000 */ nop +/* D61FCC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D61FD0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D61FD4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D61FD8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D61FDC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D61FE0 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D61FE4 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D61FE8 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D61FEC 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D61FF0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D61FF4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D61FF8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D61FFC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D62000 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D62004 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D62008 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D6200C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D62010 80240B10 0C019EC8 */ jal guRotateF +/* D62014 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D62018 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D6201C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D62020 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D62024 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D62028 80240B28 0C019EC8 */ jal guRotateF +/* D6202C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D62030 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D62034 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D62038 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6203C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D62040 80240B40 0C019EC8 */ jal guRotateF +/* D62044 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D62048 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6204C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D62050 80240B50 0C019D80 */ jal guMtxCatF +/* D62054 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D62058 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6205C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D62060 80240B60 44812000 */ mtc1 $at, $f4 +/* D62064 80240B64 00021023 */ negu $v0, $v0 +/* D62068 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6206C 80240B6C 00000000 */ nop +/* D62070 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D62074 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D62078 80240B78 00000000 */ nop +/* D6207C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D62080 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D62084 80240B84 44062000 */ mfc1 $a2, $f4 +/* D62088 80240B88 0C019E40 */ jal guTranslateF +/* D6208C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D62090 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D62094 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D62098 80240B98 0C019D80 */ jal guMtxCatF +/* D6209C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D620A0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D620A4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D620A8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D620AC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D620B0 80240BB0 0C019EC8 */ jal guRotateF +/* D620B4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D620B8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D620BC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D620C0 80240BC0 0C019D80 */ jal guMtxCatF +/* D620C4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D620C8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D620CC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D620D0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D620D4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D620D8 80240BD8 0C019EC8 */ jal guRotateF +/* D620DC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D620E0 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D620E4 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D620E8 80240BE8 0C019D80 */ jal guMtxCatF +/* D620EC 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D620F0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D620F4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D620F8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D620FC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D62100 80240C00 00000000 */ nop +/* D62104 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D62108 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D6210C 80240C0C 00000000 */ nop +/* D62110 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D62114 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D62118 80240C18 44062000 */ mfc1 $a2, $f4 +/* D6211C 80240C1C 0C019E40 */ jal guTranslateF +/* D62120 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D62124 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D62128 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6212C 80240C2C 0C019D80 */ jal guMtxCatF +/* D62130 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D62134 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D62138 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6213C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D62140 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D62144 80240C44 44050000 */ mfc1 $a1, $f0 +/* D62148 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6214C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D62150 80240C50 0C019DF0 */ jal guScaleF +/* D62154 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D62158 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6215C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D62160 80240C60 0C019D80 */ jal guMtxCatF +/* D62164 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D62168 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6216C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D62170 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D62174 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D62178 80240C78 0C019E40 */ jal guTranslateF +/* D6217C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D62180 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D62184 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D62188 80240C88 0C019D80 */ jal guMtxCatF +/* D6218C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D62190 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D62194 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D62198 80240C98 44810000 */ mtc1 $at, $f0 +/* D6219C 80240C9C 00000000 */ nop +/* D621A0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D621A4 80240CA4 00000000 */ nop +/* D621A8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D621AC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D621B0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D621B4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D621B8 80240CB8 00000000 */ nop +/* D621BC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D621C0 80240CC0 00000000 */ nop +/* D621C4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D621C8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D621CC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D621D0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D621D4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D621D8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D621DC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D621E0 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D621E4 80240CE4 0C0B7710 */ jal render_sprite +/* D621E8 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D621EC 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D621F0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D621F4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D621F8 80240CF8 00000000 */ nop +/* D621FC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D62200 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D62204 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D62208 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D6220C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D62210 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D62214 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D62218 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D6221C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D62220 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D62224 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D62228 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D6222C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D62230 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D62234 80240D34 03E00008 */ jr $ra +/* D62238 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240D3C_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240D3C_D61500.s new file mode 100644 index 0000000000..af766d8f74 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240D3C_D61500.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D6223C +/* D6223C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D62240 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D62244 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D62248 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D6224C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D62250 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D62254 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D62258 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6225C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D62260 80240D60 00000000 */ nop +/* D62264 80240D64 28620002 */ slti $v0, $v1, 2 +/* D62268 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6226C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D62270 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D62274 80240D74 00000000 */ nop +/* D62278 80240D78 08090378 */ j .L80240DE0 +/* D6227C 80240D7C 00000000 */ nop +.L80240D80: +/* D62280 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D62284 80240D84 00000000 */ nop +/* D62288 80240D88 08090378 */ j .L80240DE0 +/* D6228C 80240D8C 00000000 */ nop +.L80240D90: +/* D62290 80240D90 3C048024 */ lui $a0, 0x8024 +/* D62294 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D62298 80240D98 08090374 */ j .L80240DD0 +/* D6229C 80240D9C 00000000 */ nop +.L80240DA0: +/* D622A0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D622A4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D622A8 80240DA8 08090374 */ j .L80240DD0 +/* D622AC 80240DAC 00000000 */ nop +.L80240DB0: +/* D622B0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D622B4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D622B8 80240DB8 00000000 */ nop +/* D622BC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D622C0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D622C4 80240DC4 00000000 */ nop +.L80240DC8: +/* D622C8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D622CC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D622D0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D622D4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D622D8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D622DC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D622E0 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D622E4 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D622E8 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D622EC 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D622F0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D622F4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D622F8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D622FC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D62300 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D62304 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D62308 80240E08 28820002 */ slti $v0, $a0, 2 +/* D6230C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D62310 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D62314 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D62318 80240E18 00000000 */ nop +/* D6231C 80240E1C 0809039D */ j .L80240E74 +/* D62320 80240E20 00000000 */ nop +.L80240E24: +/* D62324 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D62328 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D6232C 80240E2C 0809039D */ j .L80240E74 +/* D62330 80240E30 00000000 */ nop +.L80240E34: +/* D62334 80240E34 8CA20000 */ lw $v0, ($a1) +/* D62338 80240E38 0809039A */ j .L80240E68 +/* D6233C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D62340 80240E40 8CA20000 */ lw $v0, ($a1) +/* D62344 80240E44 0809039A */ j .L80240E68 +/* D62348 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D6234C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D62350 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D62354 80240E54 28420002 */ slti $v0, $v0, 2 +/* D62358 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6235C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D62360 80240E60 8CA20000 */ lw $v0, ($a1) +/* D62364 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D62368 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6236C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D62370 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D62374 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D62378 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6237C 80240E7C 03E00008 */ jr $ra +/* D62380 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240E84_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240E84_D61500.s new file mode 100644 index 0000000000..8bff1ad940 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240E84_D61500.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D62384 +/* D62384 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D62388 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6238C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D62390 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D62394 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D62398 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6239C 80240E9C 3C03000A */ lui $v1, 0xa +/* D623A0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D623A4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D623A8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D623AC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D623B0 80240EB0 03E00008 */ jr $ra +/* D623B4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240EB8_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240EB8_D61500.s new file mode 100644 index 0000000000..a8347c5c70 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240EB8_D61500.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D623B8 +/* D623B8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D623BC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D623C0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D623C4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D623C8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D623CC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D623D0 80240ED0 3C030008 */ lui $v1, 8 +/* D623D4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D623D8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D623DC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D623E0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D623E4 80240EE4 03E00008 */ jr $ra +/* D623E8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240EEC_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240EEC_D61500.s new file mode 100644 index 0000000000..1ca7cb6a0d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240EEC_D61500.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D623EC +/* D623EC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D623F0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D623F4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D623F8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D623FC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D62400 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D62404 80240F04 3C030002 */ lui $v1, 2 +/* D62408 80240F08 8C820000 */ lw $v0, ($a0) +/* D6240C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D62410 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D62414 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D62418 80240F18 03E00008 */ jr $ra +/* D6241C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240F20_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240F20_D61500.s new file mode 100644 index 0000000000..db83b53464 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240F20_D61500.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D62420 +/* D62420 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D62424 80240F24 AFB00010 */ sw $s0, 0x10($sp) +/* D62428 80240F28 3C108024 */ lui $s0, 0x8024 +/* D6242C 80240F2C 26101610 */ addiu $s0, $s0, 0x1610 +/* D62430 80240F30 AFBF0018 */ sw $ra, 0x18($sp) +/* D62434 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* D62438 80240F38 8E020000 */ lw $v0, ($s0) +/* D6243C 80240F3C 14400010 */ bnez $v0, .L80240F80 +/* D62440 80240F40 0080882D */ daddu $s1, $a0, $zero +/* D62444 80240F44 0C00AB39 */ jal heap_malloc +/* D62448 80240F48 24040040 */ addiu $a0, $zero, 0x40 +/* D6244C 80240F4C AE020000 */ sw $v0, ($s0) +/* D62450 80240F50 0000182D */ daddu $v1, $zero, $zero +/* D62454 80240F54 0040282D */ daddu $a1, $v0, $zero +/* D62458 80240F58 0220202D */ daddu $a0, $s1, $zero +.L80240F5C: +/* D6245C 80240F5C 8C820084 */ lw $v0, 0x84($a0) +/* D62460 80240F60 24840004 */ addiu $a0, $a0, 4 +/* D62464 80240F64 24630001 */ addiu $v1, $v1, 1 +/* D62468 80240F68 ACA20000 */ sw $v0, ($a1) +/* D6246C 80240F6C 28620010 */ slti $v0, $v1, 0x10 +/* D62470 80240F70 1440FFFA */ bnez $v0, .L80240F5C +/* D62474 80240F74 24A50004 */ addiu $a1, $a1, 4 +/* D62478 80240F78 080903EF */ j .L80240FBC +/* D6247C 80240F7C 00000000 */ nop +.L80240F80: +/* D62480 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D62484 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D62488 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D6248C 80240F8C 8CA20000 */ lw $v0, ($a1) +/* D62490 80240F90 24A50004 */ addiu $a1, $a1, 4 +/* D62494 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D62498 80240F98 AC820084 */ sw $v0, 0x84($a0) +/* D6249C 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D624A0 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D624A4 80240FA4 24840004 */ addiu $a0, $a0, 4 +/* D624A8 80240FA8 3C108024 */ lui $s0, 0x8024 +/* D624AC 80240FAC 26101610 */ addiu $s0, $s0, 0x1610 +/* D624B0 80240FB0 0C00AB4B */ jal heap_free +/* D624B4 80240FB4 8E040000 */ lw $a0, ($s0) +/* D624B8 80240FB8 AE000000 */ sw $zero, ($s0) +.L80240FBC: +/* D624BC 80240FBC 8FBF0018 */ lw $ra, 0x18($sp) +/* D624C0 80240FC0 8FB10014 */ lw $s1, 0x14($sp) +/* D624C4 80240FC4 8FB00010 */ lw $s0, 0x10($sp) +/* D624C8 80240FC8 24020002 */ addiu $v0, $zero, 2 +/* D624CC 80240FCC 03E00008 */ jr $ra +/* D624D0 80240FD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80240FD4_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80240FD4_D61500.s new file mode 100644 index 0000000000..8b4d9e795f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80240FD4_D61500.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD4_D624D4 +/* D624D4 80240FD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D624D8 80240FD8 AFB00010 */ sw $s0, 0x10($sp) +/* D624DC 80240FDC 0080802D */ daddu $s0, $a0, $zero +/* D624E0 80240FE0 AFBF0018 */ sw $ra, 0x18($sp) +/* D624E4 80240FE4 AFB10014 */ sw $s1, 0x14($sp) +/* D624E8 80240FE8 8E02000C */ lw $v0, 0xc($s0) +/* D624EC 80240FEC 8C510000 */ lw $s1, ($v0) +/* D624F0 80240FF0 0C0B1EAF */ jal get_variable +/* D624F4 80240FF4 0220282D */ daddu $a1, $s1, $zero +/* D624F8 80240FF8 3C03FFF0 */ lui $v1, 0xfff0 +/* D624FC 80240FFC 3463FFFF */ ori $v1, $v1, 0xffff +/* D62500 80241000 0200202D */ daddu $a0, $s0, $zero +/* D62504 80241004 00431024 */ and $v0, $v0, $v1 +/* D62508 80241008 00021140 */ sll $v0, $v0, 5 +/* D6250C 8024100C 3C068008 */ lui $a2, %hi(gItemTable) +/* D62510 80241010 00C23021 */ addu $a2, $a2, $v0 +/* D62514 80241014 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D62518 80241018 0C0B2026 */ jal set_variable +/* D6251C 8024101C 0220282D */ daddu $a1, $s1, $zero +/* D62520 80241020 8FBF0018 */ lw $ra, 0x18($sp) +/* D62524 80241024 8FB10014 */ lw $s1, 0x14($sp) +/* D62528 80241028 8FB00010 */ lw $s0, 0x10($sp) +/* D6252C 8024102C 24020002 */ addiu $v0, $zero, 2 +/* D62530 80241030 03E00008 */ jr $ra +/* D62534 80241034 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80241038_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80241038_D61500.s new file mode 100644 index 0000000000..7f8fab66e1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80241038_D61500.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241038_D62538 +/* D62538 80241038 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D6253C 8024103C AFB10014 */ sw $s1, 0x14($sp) +/* D62540 80241040 0080882D */ daddu $s1, $a0, $zero +/* D62544 80241044 AFBF001C */ sw $ra, 0x1c($sp) +/* D62548 80241048 AFB20018 */ sw $s2, 0x18($sp) +/* D6254C 8024104C AFB00010 */ sw $s0, 0x10($sp) +/* D62550 80241050 8E240084 */ lw $a0, 0x84($s1) +/* D62554 80241054 0C04C3D6 */ jal get_item_entity +/* D62558 80241058 00A0802D */ daddu $s0, $a1, $zero +/* D6255C 8024105C 12000005 */ beqz $s0, .L80241074 +/* D62560 80241060 0040902D */ daddu $s2, $v0, $zero +/* D62564 80241064 C640000C */ lwc1 $f0, 0xc($s2) +/* D62568 80241068 AE200074 */ sw $zero, 0x74($s1) +/* D6256C 8024106C AE20007C */ sw $zero, 0x7c($s1) +/* D62570 80241070 E6200078 */ swc1 $f0, 0x78($s1) +.L80241074: +/* D62574 80241074 8E230074 */ lw $v1, 0x74($s1) +/* D62578 80241078 10600005 */ beqz $v1, .L80241090 +/* D6257C 8024107C 24020001 */ addiu $v0, $zero, 1 +/* D62580 80241080 10620024 */ beq $v1, $v0, .L80241114 +/* D62584 80241084 00000000 */ nop +/* D62588 80241088 0809045B */ j .L8024116C +/* D6258C 8024108C 00000000 */ nop +.L80241090: +/* D62590 80241090 3C013FC9 */ lui $at, 0x3fc9 +/* D62594 80241094 34210FD8 */ ori $at, $at, 0xfd8 +/* D62598 80241098 44810000 */ mtc1 $at, $f0 +/* D6259C 8024109C C62C007C */ lwc1 $f12, 0x7c($s1) +/* D625A0 802410A0 46806320 */ cvt.s.w $f12, $f12 +/* D625A4 802410A4 46006302 */ mul.s $f12, $f12, $f0 +/* D625A8 802410A8 00000000 */ nop +/* D625AC 802410AC 3C0141F0 */ lui $at, 0x41f0 +/* D625B0 802410B0 44810000 */ mtc1 $at, $f0 +/* D625B4 802410B4 0C00A874 */ jal cos_rad +/* D625B8 802410B8 46006303 */ div.s $f12, $f12, $f0 +/* D625BC 802410BC 3C013F80 */ lui $at, 0x3f80 +/* D625C0 802410C0 44811000 */ mtc1 $at, $f2 +/* D625C4 802410C4 00000000 */ nop +/* D625C8 802410C8 46001081 */ sub.s $f2, $f2, $f0 +/* D625CC 802410CC 3C0141A0 */ lui $at, 0x41a0 +/* D625D0 802410D0 44810000 */ mtc1 $at, $f0 +/* D625D4 802410D4 00000000 */ nop +/* D625D8 802410D8 46001082 */ mul.s $f2, $f2, $f0 +/* D625DC 802410DC 00000000 */ nop +/* D625E0 802410E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* D625E4 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* D625E8 802410E8 E640000C */ swc1 $f0, 0xc($s2) +/* D625EC 802410EC 8E23007C */ lw $v1, 0x7c($s1) +/* D625F0 802410F0 2402001E */ addiu $v0, $zero, 0x1e +/* D625F4 802410F4 14620005 */ bne $v1, $v0, .L8024110C +/* D625F8 802410F8 24620001 */ addiu $v0, $v1, 1 +/* D625FC 802410FC 24020001 */ addiu $v0, $zero, 1 +/* D62600 80241100 AE220074 */ sw $v0, 0x74($s1) +/* D62604 80241104 0809045B */ j .L8024116C +/* D62608 80241108 AE20007C */ sw $zero, 0x7c($s1) +.L8024110C: +/* D6260C 8024110C 0809045B */ j .L8024116C +/* D62610 80241110 AE22007C */ sw $v0, 0x7c($s1) +.L80241114: +/* D62614 80241114 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D62618 80241118 0C00A8D4 */ jal cos_deg +/* D6261C 8024111C 46806320 */ cvt.s.w $f12, $f12 +/* D62620 80241120 3C014040 */ lui $at, 0x4040 +/* D62624 80241124 44811000 */ mtc1 $at, $f2 +/* D62628 80241128 00000000 */ nop +/* D6262C 8024112C 46020002 */ mul.s $f0, $f0, $f2 +/* D62630 80241130 00000000 */ nop +/* D62634 80241134 3C014188 */ lui $at, 0x4188 +/* D62638 80241138 44812000 */ mtc1 $at, $f4 +/* D6263C 8024113C C6220078 */ lwc1 $f2, 0x78($s1) +/* D62640 80241140 46041080 */ add.s $f2, $f2, $f4 +/* D62644 80241144 46001080 */ add.s $f2, $f2, $f0 +/* D62648 80241148 E642000C */ swc1 $f2, 0xc($s2) +/* D6264C 8024114C 8E22007C */ lw $v0, 0x7c($s1) +/* D62650 80241150 24420009 */ addiu $v0, $v0, 9 +/* D62654 80241154 44826000 */ mtc1 $v0, $f12 +/* D62658 80241158 00000000 */ nop +/* D6265C 8024115C 0C00A6C9 */ jal clamp_angle +/* D62660 80241160 46806320 */ cvt.s.w $f12, $f12 +/* D62664 80241164 4600018D */ trunc.w.s $f6, $f0 +/* D62668 80241168 E626007C */ swc1 $f6, 0x7c($s1) +.L8024116C: +/* D6266C 8024116C 8FBF001C */ lw $ra, 0x1c($sp) +/* D62670 80241170 8FB20018 */ lw $s2, 0x18($sp) +/* D62674 80241174 8FB10014 */ lw $s1, 0x14($sp) +/* D62678 80241178 8FB00010 */ lw $s0, 0x10($sp) +/* D6267C 8024117C 0000102D */ daddu $v0, $zero, $zero +/* D62680 80241180 03E00008 */ jr $ra +/* D62684 80241184 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_11/func_80241188_D61500.s b/asm/nonmatchings/world/area_pra/pra_11/func_80241188_D61500.s new file mode 100644 index 0000000000..aee5e60fe3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_11/func_80241188_D61500.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241188_D62688 +/* D62688 80241188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6268C 8024118C AFB00010 */ sw $s0, 0x10($sp) +/* D62690 80241190 0080802D */ daddu $s0, $a0, $zero +/* D62694 80241194 AFBF0014 */ sw $ra, 0x14($sp) +/* D62698 80241198 8E02000C */ lw $v0, 0xc($s0) +/* D6269C 8024119C 0C0B1EAF */ jal get_variable +/* D626A0 802411A0 8C450000 */ lw $a1, ($v0) +/* D626A4 802411A4 00021140 */ sll $v0, $v0, 5 +/* D626A8 802411A8 AE000084 */ sw $zero, 0x84($s0) +/* D626AC 802411AC 3C018008 */ lui $at, 0x8008 +/* D626B0 802411B0 00220821 */ addu $at, $at, $v0 +/* D626B4 802411B4 942278F8 */ lhu $v0, 0x78f8($at) +/* D626B8 802411B8 30420040 */ andi $v0, $v0, 0x40 +/* D626BC 802411BC 10400002 */ beqz $v0, .L802411C8 +/* D626C0 802411C0 24020001 */ addiu $v0, $zero, 1 +/* D626C4 802411C4 AE020084 */ sw $v0, 0x84($s0) +.L802411C8: +/* D626C8 802411C8 8FBF0014 */ lw $ra, 0x14($sp) +/* D626CC 802411CC 8FB00010 */ lw $s0, 0x10($sp) +/* D626D0 802411D0 24020002 */ addiu $v0, $zero, 2 +/* D626D4 802411D4 03E00008 */ jr $ra +/* D626D8 802411D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* D626DC 802411DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240000_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240000_D62D10.s new file mode 100644 index 0000000000..6e9ab86ad5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240000_D62D10.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D62D10 +/* D62D10 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D62D14 80240004 3C04800E */ lui $a0, 0x800e +/* D62D18 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D62D1C 8024000C 3C058024 */ lui $a1, 0x8024 +/* D62D20 80240010 24A518A0 */ addiu $a1, $a1, 0x18a0 +/* D62D24 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D62D28 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D62D2C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D62D30 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D62D34 80240024 0C01953C */ jal sprintf +/* D62D38 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D62D3C 8024002C 3C04800E */ lui $a0, 0x800e +/* D62D40 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D62D44 80240034 3C058024 */ lui $a1, 0x8024 +/* D62D48 80240038 0C01953C */ jal sprintf +/* D62D4C 8024003C 24A518B0 */ addiu $a1, $a1, 0x18b0 +/* D62D50 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D62D54 80240044 0000102D */ daddu $v0, $zero, $zero +/* D62D58 80240048 03E00008 */ jr $ra +/* D62D5C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240050_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240050_D62D10.s new file mode 100644 index 0000000000..7b8ead6925 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240050_D62D10.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D62D60 +/* D62D60 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D62D64 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D62D68 80240058 00822024 */ and $a0, $a0, $v0 +/* D62D6C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D62D70 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D62D74 80240064 00821821 */ addu $v1, $a0, $v0 +/* D62D78 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D62D7C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D62D80 80240070 30620001 */ andi $v0, $v1, 1 +/* D62D84 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D62D88 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D62D8C 8024007C 03E00008 */ jr $ra +/* D62D90 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240084_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240084_D62D10.s new file mode 100644 index 0000000000..b8c94c65e4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240084_D62D10.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D62D94 +/* D62D94 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D62D98 80240088 304300FF */ andi $v1, $v0, 0xff +/* D62D9C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D62DA0 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D62DA4 80240094 28620007 */ slti $v0, $v1, 7 +/* D62DA8 80240098 10400005 */ beqz $v0, .L802400B0 +/* D62DAC 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D62DB0 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D62DB4 802400A4 3C020100 */ lui $v0, 0x100 +/* D62DB8 802400A8 03E00008 */ jr $ra +/* D62DBC 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D62DC0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D62DC4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D62DC8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D62DCC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D62DD0 802400C0 3C020100 */ lui $v0, 0x100 +/* D62DD4 802400C4 03E00008 */ jr $ra +/* D62DD8 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D62DDC 802400CC 3C020001 */ lui $v0, 1 +/* D62DE0 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D62DE4 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D62DE8 802400D8 1040000E */ beqz $v0, .L80240114 +/* D62DEC 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D62DF0 802400E0 03E00008 */ jr $ra +/* D62DF4 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D62DF8 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D62DFC 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D62E00 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D62E04 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D62E08 802400F8 10400005 */ beqz $v0, .L80240110 +/* D62E0C 802400FC 30620001 */ andi $v0, $v1, 1 +/* D62E10 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D62E14 80240104 24820001 */ addiu $v0, $a0, 1 +/* D62E18 80240108 03E00008 */ jr $ra +/* D62E1C 8024010C 00000000 */ nop +.L80240110: +/* D62E20 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D62E24 80240114 03E00008 */ jr $ra +/* D62E28 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_8024011C_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_8024011C_D62D10.s new file mode 100644 index 0000000000..aa7e658b6f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_8024011C_D62D10.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D62E2C +/* D62E2C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D62E30 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D62E34 80240124 0080802D */ daddu $s0, $a0, $zero +/* D62E38 80240128 3C058024 */ lui $a1, 0x8024 +/* D62E3C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D62E40 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D62E44 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D62E48 80240138 0000202D */ daddu $a0, $zero, $zero +/* D62E4C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D62E50 80240140 AC620000 */ sw $v0, ($v1) +/* D62E54 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D62E58 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D62E5C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D62E60 80240150 03E00008 */ jr $ra +/* D62E64 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240158_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240158_D62D10.s new file mode 100644 index 0000000000..b2e9243f49 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240158_D62D10.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D62E68 +/* D62E68 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D62E6C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D62E70 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D62E74 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D62E78 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D62E7C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D62E80 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D62E84 80240174 8E020000 */ lw $v0, ($s0) +/* D62E88 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D62E8C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D62E90 80240180 10400061 */ beqz $v0, .L80240308 +/* D62E94 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D62E98 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D62E9C 8024018C 0C044181 */ jal get_shadow_by_index +/* D62EA0 80240190 00000000 */ nop +/* D62EA4 80240194 0C048B77 */ jal func_80122DDC +/* D62EA8 80240198 84440008 */ lh $a0, 8($v0) +/* D62EAC 8024019C 8C430000 */ lw $v1, ($v0) +/* D62EB0 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D62EB4 802401A4 AC430000 */ sw $v1, ($v0) +/* D62EB8 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D62EBC 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D62EC0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D62EC4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D62EC8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D62ECC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D62ED0 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D62ED4 802401C4 3C04800A */ lui $a0, 0x800a +/* D62ED8 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D62EDC 802401CC 46000007 */ neg.s $f0, $f0 +/* D62EE0 802401D0 44070000 */ mfc1 $a3, $f0 +/* D62EE4 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D62EE8 802401D8 0C00B94E */ jal get_screen_coords +/* D62EEC 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D62EF0 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D62EF4 802401E4 0C090014 */ jal func_80240050 +/* D62EF8 802401E8 00000000 */ nop +/* D62EFC 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D62F00 802401F0 3C014307 */ lui $at, 0x4307 +/* D62F04 802401F4 44810000 */ mtc1 $at, $f0 +/* D62F08 802401F8 00000000 */ nop +/* D62F0C 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D62F10 80240200 00000000 */ nop +/* D62F14 80240204 4500000B */ bc1f .L80240234 +/* D62F18 80240208 24040002 */ addiu $a0, $zero, 2 +/* D62F1C 8024020C 3C014361 */ lui $at, 0x4361 +/* D62F20 80240210 44810000 */ mtc1 $at, $f0 +/* D62F24 80240214 00000000 */ nop +/* D62F28 80240218 4600103C */ c.lt.s $f2, $f0 +/* D62F2C 8024021C 00000000 */ nop +/* D62F30 80240220 45000004 */ bc1f .L80240234 +/* D62F34 80240224 00000000 */ nop +/* D62F38 80240228 0C090021 */ jal func_80240084 +/* D62F3C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D62F40 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D62F44 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D62F48 80240238 0C0B76A3 */ jal func_802DDA8C +/* D62F4C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D62F50 80240240 8E020000 */ lw $v0, ($s0) +/* D62F54 80240244 3C030002 */ lui $v1, 2 +/* D62F58 80240248 00431024 */ and $v0, $v0, $v1 +/* D62F5C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D62F60 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D62F64 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D62F68 80240258 3C02802E */ lui $v0, 0x802e +/* D62F6C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D62F70 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D62F74 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D62F78 80240268 1040000B */ beqz $v0, .L80240298 +/* D62F7C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D62F80 80240270 24040002 */ addiu $a0, $zero, 2 +/* D62F84 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D62F88 80240278 24060007 */ addiu $a2, $zero, 7 +/* D62F8C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D62F90 80240280 0000382D */ daddu $a3, $zero, $zero +/* D62F94 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D62F98 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D62F9C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D62FA0 80240290 080900AF */ j .L802402BC +/* D62FA4 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D62FA8 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D62FAC 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D62FB0 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D62FB4 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D62FB8 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D62FBC 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D62FC0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D62FC4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D62FC8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D62FCC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D62FD0 802402C0 00000000 */ nop +.L802402C4: +/* D62FD4 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D62FD8 802402C8 3C01802E */ lui $at, 0x802e +/* D62FDC 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D62FE0 802402D0 080900B9 */ j .L802402E4 +/* D62FE4 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D62FE8 802402D8 3C01802E */ lui $at, 0x802e +/* D62FEC 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D62FF0 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D62FF4 802402E4 AC910000 */ sw $s1, ($a0) +/* D62FF8 802402E8 AC900008 */ sw $s0, 8($a0) +/* D62FFC 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D63000 802402F0 3C038024 */ lui $v1, 0x8024 +/* D63004 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D63008 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D6300C 802402FC 00021023 */ negu $v0, $v0 +/* D63010 80240300 0C047644 */ jal queue_render_task +/* D63014 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D63018 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D6301C 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D63020 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D63024 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D63028 80240318 03E00008 */ jr $ra +/* D6302C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240320_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240320_D62D10.s new file mode 100644 index 0000000000..332bcbb344 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240320_D62D10.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D63030 +/* D63030 80240320 3C03800A */ lui $v1, 0x800a +/* D63034 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D63038 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D6303C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D63040 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D63044 80240334 4480A000 */ mtc1 $zero, $f20 +/* D63048 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D6304C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D63050 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D63054 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D63058 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D6305C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D63060 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D63064 80240354 00031080 */ sll $v0, $v1, 2 +/* D63068 80240358 00431021 */ addu $v0, $v0, $v1 +/* D6306C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D63070 80240360 00431023 */ subu $v0, $v0, $v1 +/* D63074 80240364 000218C0 */ sll $v1, $v0, 3 +/* D63078 80240368 00431021 */ addu $v0, $v0, $v1 +/* D6307C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D63080 80240370 3C01800B */ lui $at, 0x800b +/* D63084 80240374 00220821 */ addu $at, $at, $v0 +/* D63088 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6308C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D63090 80240380 4600B587 */ neg.s $f22, $f22 +/* D63094 80240384 4405B000 */ mfc1 $a1, $f22 +/* D63098 80240388 0200202D */ daddu $a0, $s0, $zero +/* D6309C 8024038C 0C019EC8 */ jal guRotateF +/* D630A0 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D630A4 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D630A8 80240398 0C00A6C9 */ jal clamp_angle +/* D630AC 8024039C 00000000 */ nop +/* D630B0 802403A0 44050000 */ mfc1 $a1, $f0 +/* D630B4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D630B8 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D630BC 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D630C0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D630C4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D630C8 802403B8 0C019EC8 */ jal guRotateF +/* D630CC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D630D0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D630D4 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D630D8 802403C8 0C019D80 */ jal guMtxCatF +/* D630DC 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D630E0 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D630E4 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D630E8 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D630EC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D630F0 802403E0 0C019EC8 */ jal guRotateF +/* D630F4 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D630F8 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D630FC 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D63100 802403F0 0C019D80 */ jal guMtxCatF +/* D63104 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D63108 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6310C 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D63110 80240400 4406A000 */ mfc1 $a2, $f20 +/* D63114 80240404 4407C000 */ mfc1 $a3, $f24 +/* D63118 80240408 0C019EC8 */ jal guRotateF +/* D6311C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D63120 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D63124 80240414 0200282D */ daddu $a1, $s0, $zero +/* D63128 80240418 0C019D80 */ jal guMtxCatF +/* D6312C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D63130 80240420 3C013F36 */ lui $at, 0x3f36 +/* D63134 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D63138 80240428 44810000 */ mtc1 $at, $f0 +/* D6313C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D63140 80240430 44050000 */ mfc1 $a1, $f0 +/* D63144 80240434 0200202D */ daddu $a0, $s0, $zero +/* D63148 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D6314C 8024043C 0C019DF0 */ jal guScaleF +/* D63150 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D63154 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D63158 80240448 0200282D */ daddu $a1, $s0, $zero +/* D6315C 8024044C 0C019D80 */ jal guMtxCatF +/* D63160 80240450 0080302D */ daddu $a2, $a0, $zero +/* D63164 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D63168 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D6316C 8024045C 3C014040 */ lui $at, 0x4040 +/* D63170 80240460 44811000 */ mtc1 $at, $f2 +/* D63174 80240464 46000007 */ neg.s $f0, $f0 +/* D63178 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D6317C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D63180 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D63184 80240474 44070000 */ mfc1 $a3, $f0 +/* D63188 80240478 0C019E40 */ jal guTranslateF +/* D6318C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D63190 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D63194 80240484 0200282D */ daddu $a1, $s0, $zero +/* D63198 80240488 0C019D80 */ jal guMtxCatF +/* D6319C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D631A0 80240490 24040002 */ addiu $a0, $zero, 2 +/* D631A4 80240494 0000282D */ daddu $a1, $zero, $zero +/* D631A8 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D631AC 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D631B0 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D631B4 802404A4 0C0B7710 */ jal render_sprite +/* D631B8 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D631BC 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D631C0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D631C4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D631C8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D631CC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D631D0 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D631D4 802404C4 03E00008 */ jr $ra +/* D631D8 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_802404CC_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_802404CC_D62D10.s new file mode 100644 index 0000000000..c55be8218c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_802404CC_D62D10.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D631DC +/* D631DC 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D631E0 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D631E4 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D631E8 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D631EC 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D631F0 802404E0 0440000E */ bltz $v0, .L8024051C +/* D631F4 802404E4 28420002 */ slti $v0, $v0, 2 +/* D631F8 802404E8 1040000C */ beqz $v0, .L8024051C +/* D631FC 802404EC 00000000 */ nop +/* D63200 802404F0 3C058024 */ lui $a1, 0x8024 +/* D63204 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D63208 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D6320C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D63210 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D63214 80240504 AC620000 */ sw $v0, ($v1) +/* D63218 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D6321C 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D63220 80240510 8C620000 */ lw $v0, ($v1) +/* D63224 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D63228 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D6322C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D63230 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D63234 80240524 24020002 */ addiu $v0, $zero, 2 +/* D63238 80240528 03E00008 */ jr $ra +/* D6323C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240530_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240530_D62D10.s new file mode 100644 index 0000000000..42f58b3db5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240530_D62D10.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D63240 +/* D63240 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D63244 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D63248 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6324C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D63250 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D63254 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D63258 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D6325C 8024054C 8E020000 */ lw $v0, ($s0) +/* D63260 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D63264 80240554 30420001 */ andi $v0, $v0, 1 +/* D63268 80240558 10400052 */ beqz $v0, .L802406A4 +/* D6326C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D63270 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D63274 80240564 0C044181 */ jal get_shadow_by_index +/* D63278 80240568 00000000 */ nop +/* D6327C 8024056C 0C048B77 */ jal func_80122DDC +/* D63280 80240570 84440008 */ lh $a0, 8($v0) +/* D63284 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D63288 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D6328C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D63290 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D63294 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D63298 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D6329C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D632A0 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D632A4 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D632A8 80240598 3C04800A */ lui $a0, 0x800a +/* D632AC 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D632B0 802405A0 46000007 */ neg.s $f0, $f0 +/* D632B4 802405A4 44060000 */ mfc1 $a2, $f0 +/* D632B8 802405A8 0C00B94E */ jal get_screen_coords +/* D632BC 802405AC 00000000 */ nop +/* D632C0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D632C4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D632C8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D632CC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D632D0 802405C0 8E020000 */ lw $v0, ($s0) +/* D632D4 802405C4 3C030002 */ lui $v1, 2 +/* D632D8 802405C8 00431024 */ and $v0, $v0, $v1 +/* D632DC 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D632E0 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D632E4 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D632E8 802405D8 3C02802E */ lui $v0, 0x802e +/* D632EC 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D632F0 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D632F4 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D632F8 802405E8 1040000B */ beqz $v0, .L80240618 +/* D632FC 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D63300 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D63304 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D63308 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D6330C 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D63310 80240600 0000382D */ daddu $a3, $zero, $zero +/* D63314 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D63318 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D6331C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D63320 80240610 0809018F */ j .L8024063C +/* D63324 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D63328 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D6332C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D63330 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D63334 80240624 0000302D */ daddu $a2, $zero, $zero +/* D63338 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D6333C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D63340 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D63344 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D63348 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D6334C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D63350 80240640 00000000 */ nop +.L80240644: +/* D63354 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D63358 80240648 3C01802E */ lui $at, 0x802e +/* D6335C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D63360 80240650 08090198 */ j .L80240660 +/* D63364 80240654 00000000 */ nop +.L80240658: +/* D63368 80240658 3C01802E */ lui $at, 0x802e +/* D6336C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D63370 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D63374 80240664 3C048024 */ lui $a0, 0x8024 +/* D63378 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D6337C 8024066C AE320000 */ sw $s2, ($s1) +/* D63380 80240670 AE300008 */ sw $s0, 8($s1) +/* D63384 80240674 00021023 */ negu $v0, $v0 +/* D63388 80240678 AE220004 */ sw $v0, 4($s1) +/* D6338C 8024067C 8E020000 */ lw $v0, ($s0) +/* D63390 80240680 3C030002 */ lui $v1, 2 +/* D63394 80240684 00431024 */ and $v0, $v0, $v1 +/* D63398 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D6339C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D633A0 80240690 3C048024 */ lui $a0, 0x8024 +/* D633A4 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D633A8 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D633AC 8024069C 0C047644 */ jal queue_render_task +/* D633B0 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D633B4 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D633B8 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D633BC 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D633C0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D633C4 802406B4 03E00008 */ jr $ra +/* D633C8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_802406BC_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_802406BC_D62D10.s new file mode 100644 index 0000000000..72033ccd60 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_802406BC_D62D10.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D633CC +/* D633CC 802406BC 3C03800A */ lui $v1, 0x800a +/* D633D0 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D633D4 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D633D8 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D633DC 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D633E0 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D633E4 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D633E8 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D633EC 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D633F0 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D633F4 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D633F8 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D633FC 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D63400 802406F0 00031080 */ sll $v0, $v1, 2 +/* D63404 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D63408 802406F8 00021080 */ sll $v0, $v0, 2 +/* D6340C 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D63410 80240700 000218C0 */ sll $v1, $v0, 3 +/* D63414 80240704 00431021 */ addu $v0, $v0, $v1 +/* D63418 80240708 000210C0 */ sll $v0, $v0, 3 +/* D6341C 8024070C 3C01800B */ lui $at, 0x800b +/* D63420 80240710 00220821 */ addu $at, $at, $v0 +/* D63424 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D63428 80240718 4406A000 */ mfc1 $a2, $f20 +/* D6342C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D63430 80240720 4405B000 */ mfc1 $a1, $f22 +/* D63434 80240724 0200202D */ daddu $a0, $s0, $zero +/* D63438 80240728 0C019EC8 */ jal guRotateF +/* D6343C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D63440 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D63444 80240734 0C00A6C9 */ jal clamp_angle +/* D63448 80240738 00000000 */ nop +/* D6344C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D63450 80240740 4406A000 */ mfc1 $a2, $f20 +/* D63454 80240744 4407A000 */ mfc1 $a3, $f20 +/* D63458 80240748 3C013F80 */ lui $at, 0x3f80 +/* D6345C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D63460 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D63464 80240754 0C019EC8 */ jal guRotateF +/* D63468 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D6346C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D63470 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D63474 80240764 0C019D80 */ jal guMtxCatF +/* D63478 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D6347C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D63480 80240770 4406A000 */ mfc1 $a2, $f20 +/* D63484 80240774 4407C000 */ mfc1 $a3, $f24 +/* D63488 80240778 0200202D */ daddu $a0, $s0, $zero +/* D6348C 8024077C 0C019EC8 */ jal guRotateF +/* D63490 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D63494 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D63498 80240788 0200282D */ daddu $a1, $s0, $zero +/* D6349C 8024078C 0C019D80 */ jal guMtxCatF +/* D634A0 80240790 0080302D */ daddu $a2, $a0, $zero +/* D634A4 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D634A8 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D634AC 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D634B0 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D634B4 802407A4 0C019EC8 */ jal guRotateF +/* D634B8 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D634BC 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D634C0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D634C4 802407B4 0C019D80 */ jal guMtxCatF +/* D634C8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D634CC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D634D0 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D634D4 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D634D8 802407C8 44810000 */ mtc1 $at, $f0 +/* D634DC 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D634E0 802407D0 44050000 */ mfc1 $a1, $f0 +/* D634E4 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D634E8 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D634EC 802407DC 0C019DF0 */ jal guScaleF +/* D634F0 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D634F4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D634F8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D634FC 802407EC 0C019D80 */ jal guMtxCatF +/* D63500 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D63504 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D63508 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D6350C 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D63510 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D63514 80240804 46000007 */ neg.s $f0, $f0 +/* D63518 80240808 44060000 */ mfc1 $a2, $f0 +/* D6351C 8024080C 0C019E40 */ jal guTranslateF +/* D63520 80240810 0200202D */ daddu $a0, $s0, $zero +/* D63524 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D63528 80240818 0200282D */ daddu $a1, $s0, $zero +/* D6352C 8024081C 0C019D80 */ jal guMtxCatF +/* D63530 80240820 0080302D */ daddu $a2, $a0, $zero +/* D63534 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D63538 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D6353C 8024082C 44810000 */ mtc1 $at, $f0 +/* D63540 80240830 00000000 */ nop +/* D63544 80240834 4602003E */ c.le.s $f0, $f2 +/* D63548 80240838 00000000 */ nop +/* D6354C 8024083C 4500000A */ bc1f .L80240868 +/* D63550 80240840 24040001 */ addiu $a0, $zero, 1 +/* D63554 80240844 3C014387 */ lui $at, 0x4387 +/* D63558 80240848 44810000 */ mtc1 $at, $f0 +/* D6355C 8024084C 00000000 */ nop +/* D63560 80240850 4600103C */ c.lt.s $f2, $f0 +/* D63564 80240854 00000000 */ nop +/* D63568 80240858 45000004 */ bc1f .L8024086C +/* D6356C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D63570 80240860 3C041000 */ lui $a0, 0x1000 +/* D63574 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D63578 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D6357C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D63580 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D63584 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D63588 80240878 0C0B7710 */ jal render_sprite +/* D6358C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D63590 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D63594 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D63598 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D6359C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D635A0 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D635A4 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D635A8 80240898 03E00008 */ jr $ra +/* D635AC 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_802408A0_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_802408A0_D62D10.s new file mode 100644 index 0000000000..a25523c4ff --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_802408A0_D62D10.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D635B0 +/* D635B0 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D635B4 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D635B8 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D635BC 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D635C0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D635C4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D635C8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D635CC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D635D0 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D635D4 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D635D8 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D635DC 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D635E0 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D635E4 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D635E8 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D635EC 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D635F0 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D635F4 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D635F8 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D635FC 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D63600 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D63604 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D63608 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D6360C 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D63610 80240900 3C03800A */ lui $v1, 0x800a +/* D63614 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D63618 80240908 00031080 */ sll $v0, $v1, 2 +/* D6361C 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D63620 80240910 00021080 */ sll $v0, $v0, 2 +/* D63624 80240914 00431023 */ subu $v0, $v0, $v1 +/* D63628 80240918 000218C0 */ sll $v1, $v0, 3 +/* D6362C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D63630 80240920 000210C0 */ sll $v0, $v0, 3 +/* D63634 80240924 00561021 */ addu $v0, $v0, $s6 +/* D63638 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D6363C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D63640 80240930 46000507 */ neg.s $f20, $f0 +/* D63644 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D63648 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D6364C 8024093C 44810000 */ mtc1 $at, $f0 +/* D63650 80240940 00000000 */ nop +/* D63654 80240944 4602003C */ c.lt.s $f0, $f2 +/* D63658 80240948 00000000 */ nop +/* D6365C 8024094C 4500000A */ bc1f .L80240978 +/* D63660 80240950 00000000 */ nop +/* D63664 80240954 3C014334 */ lui $at, 0x4334 +/* D63668 80240958 44812000 */ mtc1 $at, $f4 +/* D6366C 8024095C 00000000 */ nop +/* D63670 80240960 4604103E */ c.le.s $f2, $f4 +/* D63674 80240964 00000000 */ nop +/* D63678 80240968 45000003 */ bc1f .L80240978 +/* D6367C 8024096C 00000000 */ nop +/* D63680 80240970 08090282 */ j .L80240A08 +/* D63684 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D63688 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D6368C 8024097C 3C014334 */ lui $at, 0x4334 +/* D63690 80240980 44812000 */ mtc1 $at, $f4 +/* D63694 80240984 00000000 */ nop +/* D63698 80240988 4600203C */ c.lt.s $f4, $f0 +/* D6369C 8024098C 00000000 */ nop +/* D636A0 80240990 4500000C */ bc1f .L802409C4 +/* D636A4 80240994 00000000 */ nop +/* D636A8 80240998 3C014387 */ lui $at, 0x4387 +/* D636AC 8024099C 44812000 */ mtc1 $at, $f4 +/* D636B0 802409A0 00000000 */ nop +/* D636B4 802409A4 4604003E */ c.le.s $f0, $f4 +/* D636B8 802409A8 00000000 */ nop +/* D636BC 802409AC 45000008 */ bc1f .L802409D0 +/* D636C0 802409B0 00000000 */ nop +/* D636C4 802409B4 3C014334 */ lui $at, 0x4334 +/* D636C8 802409B8 44812000 */ mtc1 $at, $f4 +/* D636CC 802409BC 08090282 */ j .L80240A08 +/* D636D0 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D636D4 802409C4 3C014387 */ lui $at, 0x4387 +/* D636D8 802409C8 44812000 */ mtc1 $at, $f4 +/* D636DC 802409CC 00000000 */ nop +.L802409D0: +/* D636E0 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D636E4 802409D4 00000000 */ nop +/* D636E8 802409D8 4500000A */ bc1f .L80240A04 +/* D636EC 802409DC 00000000 */ nop +/* D636F0 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D636F4 802409E4 44811000 */ mtc1 $at, $f2 +/* D636F8 802409E8 00000000 */ nop +/* D636FC 802409EC 4602003E */ c.le.s $f0, $f2 +/* D63700 802409F0 00000000 */ nop +/* D63704 802409F4 45000003 */ bc1f .L80240A04 +/* D63708 802409F8 00000000 */ nop +/* D6370C 802409FC 08090282 */ j .L80240A08 +/* D63710 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D63714 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D63718 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D6371C 80240A0C 44810000 */ mtc1 $at, $f0 +/* D63720 80240A10 00000000 */ nop +/* D63724 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D63728 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D6372C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D63730 80240A20 00000000 */ nop +/* D63734 80240A24 00071100 */ sll $v0, $a3, 4 +/* D63738 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D6373C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D63740 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D63744 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D63748 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D6374C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D63750 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D63754 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D63758 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D6375C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D63760 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D63764 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D63768 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D6376C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D63770 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D63774 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D63778 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D6377C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D63780 80240A70 0C019EC8 */ jal guRotateF +/* D63784 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D63788 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6378C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D63790 80240A80 00000000 */ nop +/* D63794 80240A84 44050000 */ mfc1 $a1, $f0 +/* D63798 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D6379C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D637A0 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D637A4 80240A94 44812000 */ mtc1 $at, $f4 +/* D637A8 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D637AC 80240A9C 0C019EC8 */ jal guRotateF +/* D637B0 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D637B4 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D637B8 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D637BC 80240AAC 0C019D80 */ jal guMtxCatF +/* D637C0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D637C4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D637C8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D637CC 80240ABC 080902E2 */ j .L80240B88 +/* D637D0 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D637D4 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D637D8 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D637DC 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D637E0 80240AD0 0C03964E */ jal func_800E5938 +/* D637E4 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D637E8 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D637EC 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D637F0 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D637F4 80240AE4 46000606 */ mov.s $f24, $f0 +/* D637F8 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D637FC 80240AEC 080902C1 */ j .L80240B04 +/* D63800 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D63804 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D63808 80240AF8 00000000 */ nop +/* D6380C 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D63810 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D63814 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D63818 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D6381C 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D63820 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D63824 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D63828 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D6382C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D63830 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D63834 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D63838 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D6383C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D63840 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D63844 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D63848 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D6384C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D63850 80240B40 0C019EC8 */ jal guRotateF +/* D63854 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D63858 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D6385C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D63860 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D63864 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D63868 80240B58 0C019EC8 */ jal guRotateF +/* D6386C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D63870 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D63874 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D63878 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D6387C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D63880 80240B70 0C019EC8 */ jal guRotateF +/* D63884 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D63888 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D6388C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D63890 80240B80 0C019D80 */ jal guMtxCatF +/* D63894 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D63898 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D6389C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D638A0 80240B90 44812000 */ mtc1 $at, $f4 +/* D638A4 80240B94 00021023 */ negu $v0, $v0 +/* D638A8 80240B98 44820000 */ mtc1 $v0, $f0 +/* D638AC 80240B9C 00000000 */ nop +/* D638B0 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D638B4 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D638B8 80240BA8 00000000 */ nop +/* D638BC 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D638C0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D638C4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D638C8 80240BB8 0C019E40 */ jal guTranslateF +/* D638CC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D638D0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D638D4 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D638D8 80240BC8 0C019D80 */ jal guMtxCatF +/* D638DC 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D638E0 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D638E4 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D638E8 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D638EC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D638F0 80240BE0 0C019EC8 */ jal guRotateF +/* D638F4 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D638F8 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D638FC 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D63900 80240BF0 0C019D80 */ jal guMtxCatF +/* D63904 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D63908 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6390C 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D63910 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D63914 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D63918 80240C08 0C019EC8 */ jal guRotateF +/* D6391C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D63920 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D63924 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D63928 80240C18 0C019D80 */ jal guMtxCatF +/* D6392C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D63930 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D63934 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D63938 80240C28 44812000 */ mtc1 $at, $f4 +/* D6393C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D63940 80240C30 00000000 */ nop +/* D63944 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D63948 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D6394C 80240C3C 00000000 */ nop +/* D63950 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D63954 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D63958 80240C48 44062000 */ mfc1 $a2, $f4 +/* D6395C 80240C4C 0C019E40 */ jal guTranslateF +/* D63960 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D63964 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D63968 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D6396C 80240C5C 0C019D80 */ jal guMtxCatF +/* D63970 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D63974 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D63978 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D6397C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D63980 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D63984 80240C74 44050000 */ mfc1 $a1, $f0 +/* D63988 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D6398C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D63990 80240C80 0C019DF0 */ jal guScaleF +/* D63994 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D63998 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D6399C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D639A0 80240C90 0C019D80 */ jal guMtxCatF +/* D639A4 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D639A8 80240C98 4600D687 */ neg.s $f26, $f26 +/* D639AC 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D639B0 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D639B4 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D639B8 80240CA8 0C019E40 */ jal guTranslateF +/* D639BC 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D639C0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D639C4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D639C8 80240CB8 0C019D80 */ jal guMtxCatF +/* D639CC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D639D0 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D639D4 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D639D8 80240CC8 44810000 */ mtc1 $at, $f0 +/* D639DC 80240CCC 00000000 */ nop +/* D639E0 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D639E4 80240CD4 00000000 */ nop +/* D639E8 80240CD8 4500000A */ bc1f .L80240D04 +/* D639EC 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D639F0 80240CE0 3C014387 */ lui $at, 0x4387 +/* D639F4 80240CE4 44812000 */ mtc1 $at, $f4 +/* D639F8 80240CE8 00000000 */ nop +/* D639FC 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D63A00 80240CF0 00000000 */ nop +/* D63A04 80240CF4 45000004 */ bc1f .L80240D08 +/* D63A08 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D63A0C 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D63A10 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D63A14 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D63A18 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D63A1C 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D63A20 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D63A24 80240D14 0C0B7710 */ jal render_sprite +/* D63A28 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D63A2C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D63A30 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D63A34 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D63A38 80240D28 00000000 */ nop +/* D63A3C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D63A40 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D63A44 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D63A48 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D63A4C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D63A50 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D63A54 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D63A58 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D63A5C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D63A60 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D63A64 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D63A68 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D63A6C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D63A70 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D63A74 80240D64 03E00008 */ jr $ra +/* D63A78 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240D6C_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240D6C_D62D10.s new file mode 100644 index 0000000000..bd4cb77bd7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240D6C_D62D10.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D63A7C +/* D63A7C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D63A80 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D63A84 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D63A88 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D63A8C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D63A90 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D63A94 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D63A98 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D63A9C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D63AA0 80240D90 00000000 */ nop +/* D63AA4 80240D94 28620002 */ slti $v0, $v1, 2 +/* D63AA8 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D63AAC 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D63AB0 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D63AB4 80240DA4 00000000 */ nop +/* D63AB8 80240DA8 08090384 */ j .L80240E10 +/* D63ABC 80240DAC 00000000 */ nop +.L80240DB0: +/* D63AC0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D63AC4 80240DB4 00000000 */ nop +/* D63AC8 80240DB8 08090384 */ j .L80240E10 +/* D63ACC 80240DBC 00000000 */ nop +.L80240DC0: +/* D63AD0 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D63AD4 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D63AD8 80240DC8 08090380 */ j .L80240E00 +/* D63ADC 80240DCC 00000000 */ nop +.L80240DD0: +/* D63AE0 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D63AE4 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D63AE8 80240DD8 08090380 */ j .L80240E00 +/* D63AEC 80240DDC 00000000 */ nop +.L80240DE0: +/* D63AF0 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D63AF4 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D63AF8 80240DE8 00000000 */ nop +/* D63AFC 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D63B00 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D63B04 80240DF4 00000000 */ nop +.L80240DF8: +/* D63B08 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D63B0C 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D63B10 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D63B14 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D63B18 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D63B1C 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D63B20 80240E10 0C00EAD2 */ jal get_npc_safe +/* D63B24 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D63B28 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D63B2C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D63B30 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D63B34 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D63B38 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D63B3C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D63B40 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D63B44 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D63B48 80240E38 28820002 */ slti $v0, $a0, 2 +/* D63B4C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D63B50 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D63B54 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D63B58 80240E48 00000000 */ nop +/* D63B5C 80240E4C 080903A9 */ j .L80240EA4 +/* D63B60 80240E50 00000000 */ nop +.L80240E54: +/* D63B64 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D63B68 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D63B6C 80240E5C 080903A9 */ j .L80240EA4 +/* D63B70 80240E60 00000000 */ nop +.L80240E64: +/* D63B74 80240E64 8CA20000 */ lw $v0, ($a1) +/* D63B78 80240E68 080903A6 */ j .L80240E98 +/* D63B7C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D63B80 80240E70 8CA20000 */ lw $v0, ($a1) +/* D63B84 80240E74 080903A6 */ j .L80240E98 +/* D63B88 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D63B8C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D63B90 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D63B94 80240E84 28420002 */ slti $v0, $v0, 2 +/* D63B98 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D63B9C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D63BA0 80240E90 8CA20000 */ lw $v0, ($a1) +/* D63BA4 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D63BA8 80240E98 00431025 */ or $v0, $v0, $v1 +/* D63BAC 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D63BB0 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D63BB4 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D63BB8 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D63BBC 80240EAC 03E00008 */ jr $ra +/* D63BC0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240EB4_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240EB4_D62D10.s new file mode 100644 index 0000000000..6686656070 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240EB4_D62D10.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D63BC4 +/* D63BC4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D63BC8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D63BCC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D63BD0 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D63BD4 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D63BD8 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D63BDC 80240ECC 3C03000A */ lui $v1, 0xa +/* D63BE0 80240ED0 8C820000 */ lw $v0, ($a0) +/* D63BE4 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D63BE8 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D63BEC 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D63BF0 80240EE0 03E00008 */ jr $ra +/* D63BF4 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240EE8_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240EE8_D62D10.s new file mode 100644 index 0000000000..e7d256a906 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240EE8_D62D10.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D63BF8 +/* D63BF8 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D63BFC 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D63C00 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D63C04 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D63C08 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D63C0C 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D63C10 80240F00 3C030008 */ lui $v1, 8 +/* D63C14 80240F04 8C820000 */ lw $v0, ($a0) +/* D63C18 80240F08 00431025 */ or $v0, $v0, $v1 +/* D63C1C 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D63C20 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D63C24 80240F14 03E00008 */ jr $ra +/* D63C28 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240F1C_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240F1C_D62D10.s new file mode 100644 index 0000000000..c841e08ca3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240F1C_D62D10.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D63C2C +/* D63C2C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D63C30 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D63C34 80240F24 0C00EAD2 */ jal get_npc_safe +/* D63C38 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D63C3C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D63C40 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D63C44 80240F34 3C030002 */ lui $v1, 2 +/* D63C48 80240F38 8C820000 */ lw $v0, ($a0) +/* D63C4C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D63C50 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D63C54 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D63C58 80240F48 03E00008 */ jr $ra +/* D63C5C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80240F50_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80240F50_D62D10.s new file mode 100644 index 0000000000..2a0cf73324 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80240F50_D62D10.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D63C60 +/* D63C60 80240F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D63C64 80240F54 AFB00010 */ sw $s0, 0x10($sp) +/* D63C68 80240F58 3C108024 */ lui $s0, 0x8024 +/* D63C6C 80240F5C 261016B0 */ addiu $s0, $s0, 0x16b0 +/* D63C70 80240F60 AFBF0018 */ sw $ra, 0x18($sp) +/* D63C74 80240F64 AFB10014 */ sw $s1, 0x14($sp) +/* D63C78 80240F68 8E020000 */ lw $v0, ($s0) +/* D63C7C 80240F6C 14400010 */ bnez $v0, .L80240FB0 +/* D63C80 80240F70 0080882D */ daddu $s1, $a0, $zero +/* D63C84 80240F74 0C00AB39 */ jal heap_malloc +/* D63C88 80240F78 24040040 */ addiu $a0, $zero, 0x40 +/* D63C8C 80240F7C AE020000 */ sw $v0, ($s0) +/* D63C90 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D63C94 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D63C98 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D63C9C 80240F8C 8C820084 */ lw $v0, 0x84($a0) +/* D63CA0 80240F90 24840004 */ addiu $a0, $a0, 4 +/* D63CA4 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D63CA8 80240F98 ACA20000 */ sw $v0, ($a1) +/* D63CAC 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D63CB0 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D63CB4 80240FA4 24A50004 */ addiu $a1, $a1, 4 +/* D63CB8 80240FA8 080903FB */ j .L80240FEC +/* D63CBC 80240FAC 00000000 */ nop +.L80240FB0: +/* D63CC0 80240FB0 0000182D */ daddu $v1, $zero, $zero +/* D63CC4 80240FB4 0040282D */ daddu $a1, $v0, $zero +/* D63CC8 80240FB8 0220202D */ daddu $a0, $s1, $zero +.L80240FBC: +/* D63CCC 80240FBC 8CA20000 */ lw $v0, ($a1) +/* D63CD0 80240FC0 24A50004 */ addiu $a1, $a1, 4 +/* D63CD4 80240FC4 24630001 */ addiu $v1, $v1, 1 +/* D63CD8 80240FC8 AC820084 */ sw $v0, 0x84($a0) +/* D63CDC 80240FCC 28620010 */ slti $v0, $v1, 0x10 +/* D63CE0 80240FD0 1440FFFA */ bnez $v0, .L80240FBC +/* D63CE4 80240FD4 24840004 */ addiu $a0, $a0, 4 +/* D63CE8 80240FD8 3C108024 */ lui $s0, 0x8024 +/* D63CEC 80240FDC 261016B0 */ addiu $s0, $s0, 0x16b0 +/* D63CF0 80240FE0 0C00AB4B */ jal heap_free +/* D63CF4 80240FE4 8E040000 */ lw $a0, ($s0) +/* D63CF8 80240FE8 AE000000 */ sw $zero, ($s0) +.L80240FEC: +/* D63CFC 80240FEC 8FBF0018 */ lw $ra, 0x18($sp) +/* D63D00 80240FF0 8FB10014 */ lw $s1, 0x14($sp) +/* D63D04 80240FF4 8FB00010 */ lw $s0, 0x10($sp) +/* D63D08 80240FF8 24020002 */ addiu $v0, $zero, 2 +/* D63D0C 80240FFC 03E00008 */ jr $ra +/* D63D10 80241000 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80241004.s b/asm/nonmatchings/world/area_pra/pra_12/func_80241004.s new file mode 100644 index 0000000000..9870645354 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80241004.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241004 +/* D63D14 80241004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D63D18 80241008 AFB00010 */ sw $s0, 0x10($sp) +/* D63D1C 8024100C 0080802D */ daddu $s0, $a0, $zero +/* D63D20 80241010 AFBF0018 */ sw $ra, 0x18($sp) +/* D63D24 80241014 AFB10014 */ sw $s1, 0x14($sp) +/* D63D28 80241018 8E02000C */ lw $v0, 0xc($s0) +/* D63D2C 8024101C 8C510000 */ lw $s1, ($v0) +/* D63D30 80241020 0C0B1EAF */ jal get_variable +/* D63D34 80241024 0220282D */ daddu $a1, $s1, $zero +/* D63D38 80241028 3C03FFF0 */ lui $v1, 0xfff0 +/* D63D3C 8024102C 3463FFFF */ ori $v1, $v1, 0xffff +/* D63D40 80241030 0200202D */ daddu $a0, $s0, $zero +/* D63D44 80241034 00431024 */ and $v0, $v0, $v1 +/* D63D48 80241038 00021140 */ sll $v0, $v0, 5 +/* D63D4C 8024103C 3C068008 */ lui $a2, %hi(gItemTable) +/* D63D50 80241040 00C23021 */ addu $a2, $a2, $v0 +/* D63D54 80241044 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D63D58 80241048 0C0B2026 */ jal set_variable +/* D63D5C 8024104C 0220282D */ daddu $a1, $s1, $zero +/* D63D60 80241050 8FBF0018 */ lw $ra, 0x18($sp) +/* D63D64 80241054 8FB10014 */ lw $s1, 0x14($sp) +/* D63D68 80241058 8FB00010 */ lw $s0, 0x10($sp) +/* D63D6C 8024105C 24020002 */ addiu $v0, $zero, 2 +/* D63D70 80241060 03E00008 */ jr $ra +/* D63D74 80241064 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_80241068_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_80241068_D62D10.s new file mode 100644 index 0000000000..aec247ffb6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_80241068_D62D10.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241068_D63D78 +/* D63D78 80241068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D63D7C 8024106C AFB10014 */ sw $s1, 0x14($sp) +/* D63D80 80241070 0080882D */ daddu $s1, $a0, $zero +/* D63D84 80241074 AFBF001C */ sw $ra, 0x1c($sp) +/* D63D88 80241078 AFB20018 */ sw $s2, 0x18($sp) +/* D63D8C 8024107C AFB00010 */ sw $s0, 0x10($sp) +/* D63D90 80241080 8E240084 */ lw $a0, 0x84($s1) +/* D63D94 80241084 0C04C3D6 */ jal get_item_entity +/* D63D98 80241088 00A0802D */ daddu $s0, $a1, $zero +/* D63D9C 8024108C 12000005 */ beqz $s0, .L802410A4 +/* D63DA0 80241090 0040902D */ daddu $s2, $v0, $zero +/* D63DA4 80241094 C640000C */ lwc1 $f0, 0xc($s2) +/* D63DA8 80241098 AE200074 */ sw $zero, 0x74($s1) +/* D63DAC 8024109C AE20007C */ sw $zero, 0x7c($s1) +/* D63DB0 802410A0 E6200078 */ swc1 $f0, 0x78($s1) +.L802410A4: +/* D63DB4 802410A4 8E230074 */ lw $v1, 0x74($s1) +/* D63DB8 802410A8 10600005 */ beqz $v1, .L802410C0 +/* D63DBC 802410AC 24020001 */ addiu $v0, $zero, 1 +/* D63DC0 802410B0 10620024 */ beq $v1, $v0, .L80241144 +/* D63DC4 802410B4 00000000 */ nop +/* D63DC8 802410B8 08090467 */ j .L8024119C +/* D63DCC 802410BC 00000000 */ nop +.L802410C0: +/* D63DD0 802410C0 3C013FC9 */ lui $at, 0x3fc9 +/* D63DD4 802410C4 34210FD8 */ ori $at, $at, 0xfd8 +/* D63DD8 802410C8 44810000 */ mtc1 $at, $f0 +/* D63DDC 802410CC C62C007C */ lwc1 $f12, 0x7c($s1) +/* D63DE0 802410D0 46806320 */ cvt.s.w $f12, $f12 +/* D63DE4 802410D4 46006302 */ mul.s $f12, $f12, $f0 +/* D63DE8 802410D8 00000000 */ nop +/* D63DEC 802410DC 3C0141F0 */ lui $at, 0x41f0 +/* D63DF0 802410E0 44810000 */ mtc1 $at, $f0 +/* D63DF4 802410E4 0C00A874 */ jal cos_rad +/* D63DF8 802410E8 46006303 */ div.s $f12, $f12, $f0 +/* D63DFC 802410EC 3C013F80 */ lui $at, 0x3f80 +/* D63E00 802410F0 44811000 */ mtc1 $at, $f2 +/* D63E04 802410F4 00000000 */ nop +/* D63E08 802410F8 46001081 */ sub.s $f2, $f2, $f0 +/* D63E0C 802410FC 3C0141A0 */ lui $at, 0x41a0 +/* D63E10 80241100 44810000 */ mtc1 $at, $f0 +/* D63E14 80241104 00000000 */ nop +/* D63E18 80241108 46001082 */ mul.s $f2, $f2, $f0 +/* D63E1C 8024110C 00000000 */ nop +/* D63E20 80241110 C6200078 */ lwc1 $f0, 0x78($s1) +/* D63E24 80241114 46020000 */ add.s $f0, $f0, $f2 +/* D63E28 80241118 E640000C */ swc1 $f0, 0xc($s2) +/* D63E2C 8024111C 8E23007C */ lw $v1, 0x7c($s1) +/* D63E30 80241120 2402001E */ addiu $v0, $zero, 0x1e +/* D63E34 80241124 14620005 */ bne $v1, $v0, .L8024113C +/* D63E38 80241128 24620001 */ addiu $v0, $v1, 1 +/* D63E3C 8024112C 24020001 */ addiu $v0, $zero, 1 +/* D63E40 80241130 AE220074 */ sw $v0, 0x74($s1) +/* D63E44 80241134 08090467 */ j .L8024119C +/* D63E48 80241138 AE20007C */ sw $zero, 0x7c($s1) +.L8024113C: +/* D63E4C 8024113C 08090467 */ j .L8024119C +/* D63E50 80241140 AE22007C */ sw $v0, 0x7c($s1) +.L80241144: +/* D63E54 80241144 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D63E58 80241148 0C00A8D4 */ jal cos_deg +/* D63E5C 8024114C 46806320 */ cvt.s.w $f12, $f12 +/* D63E60 80241150 3C014040 */ lui $at, 0x4040 +/* D63E64 80241154 44811000 */ mtc1 $at, $f2 +/* D63E68 80241158 00000000 */ nop +/* D63E6C 8024115C 46020002 */ mul.s $f0, $f0, $f2 +/* D63E70 80241160 00000000 */ nop +/* D63E74 80241164 3C014188 */ lui $at, 0x4188 +/* D63E78 80241168 44812000 */ mtc1 $at, $f4 +/* D63E7C 8024116C C6220078 */ lwc1 $f2, 0x78($s1) +/* D63E80 80241170 46041080 */ add.s $f2, $f2, $f4 +/* D63E84 80241174 46001080 */ add.s $f2, $f2, $f0 +/* D63E88 80241178 E642000C */ swc1 $f2, 0xc($s2) +/* D63E8C 8024117C 8E22007C */ lw $v0, 0x7c($s1) +/* D63E90 80241180 24420009 */ addiu $v0, $v0, 9 +/* D63E94 80241184 44826000 */ mtc1 $v0, $f12 +/* D63E98 80241188 00000000 */ nop +/* D63E9C 8024118C 0C00A6C9 */ jal clamp_angle +/* D63EA0 80241190 46806320 */ cvt.s.w $f12, $f12 +/* D63EA4 80241194 4600018D */ trunc.w.s $f6, $f0 +/* D63EA8 80241198 E626007C */ swc1 $f6, 0x7c($s1) +.L8024119C: +/* D63EAC 8024119C 8FBF001C */ lw $ra, 0x1c($sp) +/* D63EB0 802411A0 8FB20018 */ lw $s2, 0x18($sp) +/* D63EB4 802411A4 8FB10014 */ lw $s1, 0x14($sp) +/* D63EB8 802411A8 8FB00010 */ lw $s0, 0x10($sp) +/* D63EBC 802411AC 0000102D */ daddu $v0, $zero, $zero +/* D63EC0 802411B0 03E00008 */ jr $ra +/* D63EC4 802411B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_12/func_802411B8_D62D10.s b/asm/nonmatchings/world/area_pra/pra_12/func_802411B8_D62D10.s new file mode 100644 index 0000000000..d3c4603ad4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_12/func_802411B8_D62D10.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B8_D63EC8 +/* D63EC8 802411B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D63ECC 802411BC AFB00010 */ sw $s0, 0x10($sp) +/* D63ED0 802411C0 0080802D */ daddu $s0, $a0, $zero +/* D63ED4 802411C4 AFBF0014 */ sw $ra, 0x14($sp) +/* D63ED8 802411C8 8E02000C */ lw $v0, 0xc($s0) +/* D63EDC 802411CC 0C0B1EAF */ jal get_variable +/* D63EE0 802411D0 8C450000 */ lw $a1, ($v0) +/* D63EE4 802411D4 00021140 */ sll $v0, $v0, 5 +/* D63EE8 802411D8 AE000084 */ sw $zero, 0x84($s0) +/* D63EEC 802411DC 3C018008 */ lui $at, 0x8008 +/* D63EF0 802411E0 00220821 */ addu $at, $at, $v0 +/* D63EF4 802411E4 942278F8 */ lhu $v0, 0x78f8($at) +/* D63EF8 802411E8 30420040 */ andi $v0, $v0, 0x40 +/* D63EFC 802411EC 10400002 */ beqz $v0, .L802411F8 +/* D63F00 802411F0 24020001 */ addiu $v0, $zero, 1 +/* D63F04 802411F4 AE020084 */ sw $v0, 0x84($s0) +.L802411F8: +/* D63F08 802411F8 8FBF0014 */ lw $ra, 0x14($sp) +/* D63F0C 802411FC 8FB00010 */ lw $s0, 0x10($sp) +/* D63F10 80241200 24020002 */ addiu $v0, $zero, 2 +/* D63F14 80241204 03E00008 */ jr $ra +/* D63F18 80241208 27BD0018 */ addiu $sp, $sp, 0x18 +/* D63F1C 8024120C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240000_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240000_D645E0.s new file mode 100644 index 0000000000..6207ecc8f1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240000_D645E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D645E0 +/* D645E0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D645E4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D645E8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D645EC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D645F0 80240010 03E00008 */ jr $ra +/* D645F4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D645F8 80240018 00000000 */ nop +/* D645FC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240020_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240020_D645E0.s new file mode 100644 index 0000000000..0af9d2cf64 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240020_D645E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D64600 +/* D64600 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D64604 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D64608 80240028 00822024 */ and $a0, $a0, $v0 +/* D6460C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D64610 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D64614 80240034 00821821 */ addu $v1, $a0, $v0 +/* D64618 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6461C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D64620 80240040 30620001 */ andi $v0, $v1, 1 +/* D64624 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D64628 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D6462C 8024004C 03E00008 */ jr $ra +/* D64630 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240054_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240054_D645E0.s new file mode 100644 index 0000000000..e382ba846b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240054_D645E0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D64634 +/* D64634 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D64638 80240058 304300FF */ andi $v1, $v0, 0xff +/* D6463C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D64640 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D64644 80240064 28620007 */ slti $v0, $v1, 7 +/* D64648 80240068 10400005 */ beqz $v0, .L80240080 +/* D6464C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D64650 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D64654 80240074 3C020100 */ lui $v0, 0x100 +/* D64658 80240078 03E00008 */ jr $ra +/* D6465C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D64660 80240080 2862000A */ slti $v0, $v1, 0xa +/* D64664 80240084 10400016 */ beqz $v0, .L802400E0 +/* D64668 80240088 28620008 */ slti $v0, $v1, 8 +/* D6466C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D64670 80240090 3C020100 */ lui $v0, 0x100 +/* D64674 80240094 03E00008 */ jr $ra +/* D64678 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D6467C 8024009C 3C020001 */ lui $v0, 1 +/* D64680 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D64684 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D64688 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D6468C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D64690 802400B0 03E00008 */ jr $ra +/* D64694 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D64698 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D6469C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D646A0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D646A4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D646A8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D646AC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D646B0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D646B4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D646B8 802400D8 03E00008 */ jr $ra +/* D646BC 802400DC 00000000 */ nop +.L802400E0: +/* D646C0 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D646C4 802400E4 03E00008 */ jr $ra +/* D646C8 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802400EC_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802400EC_D645E0.s new file mode 100644 index 0000000000..28638884e7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802400EC_D645E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D646CC +/* D646CC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D646D0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D646D4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D646D8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D646DC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D646E0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D646E4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D646E8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D646EC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D646F0 80240110 AC620000 */ sw $v0, ($v1) +/* D646F4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D646F8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D646FC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D64700 80240120 03E00008 */ jr $ra +/* D64704 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240128_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240128_D645E0.s new file mode 100644 index 0000000000..c20a182b1a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240128_D645E0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D64708 +/* D64708 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6470C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D64710 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D64714 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D64718 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D6471C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D64720 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D64724 80240144 8E020000 */ lw $v0, ($s0) +/* D64728 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D6472C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D64730 80240150 10400061 */ beqz $v0, .L802402D8 +/* D64734 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D64738 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D6473C 8024015C 0C044181 */ jal get_shadow_by_index +/* D64740 80240160 00000000 */ nop +/* D64744 80240164 0C048B77 */ jal func_80122DDC +/* D64748 80240168 84440008 */ lh $a0, 8($v0) +/* D6474C 8024016C 8C430000 */ lw $v1, ($v0) +/* D64750 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D64754 80240174 AC430000 */ sw $v1, ($v0) +/* D64758 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D6475C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D64760 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D64764 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D64768 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D6476C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D64770 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D64774 80240194 3C04800A */ lui $a0, 0x800a +/* D64778 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D6477C 8024019C 46000007 */ neg.s $f0, $f0 +/* D64780 802401A0 44070000 */ mfc1 $a3, $f0 +/* D64784 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D64788 802401A8 0C00B94E */ jal get_screen_coords +/* D6478C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D64790 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D64794 802401B4 0C090008 */ jal func_80240020 +/* D64798 802401B8 00000000 */ nop +/* D6479C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D647A0 802401C0 3C014307 */ lui $at, 0x4307 +/* D647A4 802401C4 44810000 */ mtc1 $at, $f0 +/* D647A8 802401C8 00000000 */ nop +/* D647AC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D647B0 802401D0 00000000 */ nop +/* D647B4 802401D4 4500000B */ bc1f .L80240204 +/* D647B8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D647BC 802401DC 3C014361 */ lui $at, 0x4361 +/* D647C0 802401E0 44810000 */ mtc1 $at, $f0 +/* D647C4 802401E4 00000000 */ nop +/* D647C8 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D647CC 802401EC 00000000 */ nop +/* D647D0 802401F0 45000004 */ bc1f .L80240204 +/* D647D4 802401F4 00000000 */ nop +/* D647D8 802401F8 0C090015 */ jal func_80240054 +/* D647DC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D647E0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D647E4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D647E8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D647EC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D647F0 80240210 8E020000 */ lw $v0, ($s0) +/* D647F4 80240214 3C030002 */ lui $v1, 2 +/* D647F8 80240218 00431024 */ and $v0, $v0, $v1 +/* D647FC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D64800 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D64804 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D64808 80240228 3C02802E */ lui $v0, 0x802e +/* D6480C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D64810 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D64814 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D64818 80240238 1040000B */ beqz $v0, .L80240268 +/* D6481C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D64820 80240240 24040002 */ addiu $a0, $zero, 2 +/* D64824 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D64828 80240248 24060007 */ addiu $a2, $zero, 7 +/* D6482C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D64830 80240250 0000382D */ daddu $a3, $zero, $zero +/* D64834 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D64838 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D6483C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D64840 80240260 080900A3 */ j .L8024028C +/* D64844 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D64848 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D6484C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D64850 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D64854 80240274 0000302D */ daddu $a2, $zero, $zero +/* D64858 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D6485C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D64860 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D64864 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D64868 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D6486C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D64870 80240290 00000000 */ nop +.L80240294: +/* D64874 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D64878 80240298 3C01802E */ lui $at, 0x802e +/* D6487C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D64880 802402A0 080900AD */ j .L802402B4 +/* D64884 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D64888 802402A8 3C01802E */ lui $at, 0x802e +/* D6488C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D64890 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D64894 802402B4 AC910000 */ sw $s1, ($a0) +/* D64898 802402B8 AC900008 */ sw $s0, 8($a0) +/* D6489C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D648A0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D648A4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D648A8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D648AC 802402CC 00021023 */ negu $v0, $v0 +/* D648B0 802402D0 0C047644 */ jal queue_render_task +/* D648B4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D648B8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D648BC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D648C0 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D648C4 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D648C8 802402E8 03E00008 */ jr $ra +/* D648CC 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802402F0_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802402F0_D645E0.s new file mode 100644 index 0000000000..14209a7254 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802402F0_D645E0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D648D0 +/* D648D0 802402F0 3C03800A */ lui $v1, 0x800a +/* D648D4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D648D8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D648DC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D648E0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D648E4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D648E8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D648EC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D648F0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D648F4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D648F8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D648FC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D64900 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D64904 80240324 00031080 */ sll $v0, $v1, 2 +/* D64908 80240328 00431021 */ addu $v0, $v0, $v1 +/* D6490C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D64910 80240330 00431023 */ subu $v0, $v0, $v1 +/* D64914 80240334 000218C0 */ sll $v1, $v0, 3 +/* D64918 80240338 00431021 */ addu $v0, $v0, $v1 +/* D6491C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D64920 80240340 3C01800B */ lui $at, 0x800b +/* D64924 80240344 00220821 */ addu $at, $at, $v0 +/* D64928 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6492C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D64930 80240350 4600B587 */ neg.s $f22, $f22 +/* D64934 80240354 4405B000 */ mfc1 $a1, $f22 +/* D64938 80240358 0200202D */ daddu $a0, $s0, $zero +/* D6493C 8024035C 0C019EC8 */ jal guRotateF +/* D64940 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D64944 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D64948 80240368 0C00A6C9 */ jal clamp_angle +/* D6494C 8024036C 00000000 */ nop +/* D64950 80240370 44050000 */ mfc1 $a1, $f0 +/* D64954 80240374 4406A000 */ mfc1 $a2, $f20 +/* D64958 80240378 4407A000 */ mfc1 $a3, $f20 +/* D6495C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D64960 80240380 4481C000 */ mtc1 $at, $f24 +/* D64964 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D64968 80240388 0C019EC8 */ jal guRotateF +/* D6496C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D64970 80240390 0200202D */ daddu $a0, $s0, $zero +/* D64974 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D64978 80240398 0C019D80 */ jal guMtxCatF +/* D6497C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D64980 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D64984 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D64988 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D6498C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D64990 802403B0 0C019EC8 */ jal guRotateF +/* D64994 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D64998 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D6499C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D649A0 802403C0 0C019D80 */ jal guMtxCatF +/* D649A4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D649A8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D649AC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D649B0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D649B4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D649B8 802403D8 0C019EC8 */ jal guRotateF +/* D649BC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D649C0 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D649C4 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D649C8 802403E8 0C019D80 */ jal guMtxCatF +/* D649CC 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D649D0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D649D4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D649D8 802403F8 44810000 */ mtc1 $at, $f0 +/* D649DC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D649E0 80240400 44050000 */ mfc1 $a1, $f0 +/* D649E4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D649E8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D649EC 8024040C 0C019DF0 */ jal guScaleF +/* D649F0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D649F4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D649F8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D649FC 8024041C 0C019D80 */ jal guMtxCatF +/* D64A00 80240420 0080302D */ daddu $a2, $a0, $zero +/* D64A04 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D64A08 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D64A0C 8024042C 3C014040 */ lui $at, 0x4040 +/* D64A10 80240430 44811000 */ mtc1 $at, $f2 +/* D64A14 80240434 46000007 */ neg.s $f0, $f0 +/* D64A18 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D64A1C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D64A20 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D64A24 80240444 44070000 */ mfc1 $a3, $f0 +/* D64A28 80240448 0C019E40 */ jal guTranslateF +/* D64A2C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D64A30 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D64A34 80240454 0200282D */ daddu $a1, $s0, $zero +/* D64A38 80240458 0C019D80 */ jal guMtxCatF +/* D64A3C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D64A40 80240460 24040002 */ addiu $a0, $zero, 2 +/* D64A44 80240464 0000282D */ daddu $a1, $zero, $zero +/* D64A48 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D64A4C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D64A50 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D64A54 80240474 0C0B7710 */ jal render_sprite +/* D64A58 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D64A5C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D64A60 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D64A64 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D64A68 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D64A6C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D64A70 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D64A74 80240494 03E00008 */ jr $ra +/* D64A78 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_8024049C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_8024049C_D645E0.s new file mode 100644 index 0000000000..49d3aeacf1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_8024049C_D645E0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D64A7C +/* D64A7C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D64A80 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D64A84 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D64A88 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D64A8C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D64A90 802404B0 0440000E */ bltz $v0, .L802404EC +/* D64A94 802404B4 28420002 */ slti $v0, $v0, 2 +/* D64A98 802404B8 1040000C */ beqz $v0, .L802404EC +/* D64A9C 802404BC 00000000 */ nop +/* D64AA0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D64AA4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D64AA8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D64AAC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D64AB0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D64AB4 802404D4 AC620000 */ sw $v0, ($v1) +/* D64AB8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D64ABC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D64AC0 802404E0 8C620000 */ lw $v0, ($v1) +/* D64AC4 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D64AC8 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D64ACC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D64AD0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D64AD4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D64AD8 802404F8 03E00008 */ jr $ra +/* D64ADC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240500_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240500_D645E0.s new file mode 100644 index 0000000000..f3ebfd9cfd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240500_D645E0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D64AE0 +/* D64AE0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D64AE4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D64AE8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D64AEC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D64AF0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D64AF4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D64AF8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D64AFC 8024051C 8E020000 */ lw $v0, ($s0) +/* D64B00 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D64B04 80240524 30420001 */ andi $v0, $v0, 1 +/* D64B08 80240528 10400052 */ beqz $v0, .L80240674 +/* D64B0C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D64B10 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D64B14 80240534 0C044181 */ jal get_shadow_by_index +/* D64B18 80240538 00000000 */ nop +/* D64B1C 8024053C 0C048B77 */ jal func_80122DDC +/* D64B20 80240540 84440008 */ lh $a0, 8($v0) +/* D64B24 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D64B28 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D64B2C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D64B30 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D64B34 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D64B38 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D64B3C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D64B40 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D64B44 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D64B48 80240568 3C04800A */ lui $a0, 0x800a +/* D64B4C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D64B50 80240570 46000007 */ neg.s $f0, $f0 +/* D64B54 80240574 44060000 */ mfc1 $a2, $f0 +/* D64B58 80240578 0C00B94E */ jal get_screen_coords +/* D64B5C 8024057C 00000000 */ nop +/* D64B60 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D64B64 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D64B68 80240588 0C0B76A3 */ jal func_802DDA8C +/* D64B6C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D64B70 80240590 8E020000 */ lw $v0, ($s0) +/* D64B74 80240594 3C030002 */ lui $v1, 2 +/* D64B78 80240598 00431024 */ and $v0, $v0, $v1 +/* D64B7C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D64B80 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D64B84 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D64B88 802405A8 3C02802E */ lui $v0, 0x802e +/* D64B8C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D64B90 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D64B94 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D64B98 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D64B9C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D64BA0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D64BA4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D64BA8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D64BAC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D64BB0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D64BB4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D64BB8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D64BBC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D64BC0 802405E0 08090183 */ j .L8024060C +/* D64BC4 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D64BC8 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D64BCC 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D64BD0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D64BD4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D64BD8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D64BDC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D64BE0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D64BE4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D64BE8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D64BEC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D64BF0 80240610 00000000 */ nop +.L80240614: +/* D64BF4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D64BF8 80240618 3C01802E */ lui $at, 0x802e +/* D64BFC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D64C00 80240620 0809018C */ j .L80240630 +/* D64C04 80240624 00000000 */ nop +.L80240628: +/* D64C08 80240628 3C01802E */ lui $at, 0x802e +/* D64C0C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D64C10 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D64C14 80240634 3C048024 */ lui $a0, 0x8024 +/* D64C18 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D64C1C 8024063C AE320000 */ sw $s2, ($s1) +/* D64C20 80240640 AE300008 */ sw $s0, 8($s1) +/* D64C24 80240644 00021023 */ negu $v0, $v0 +/* D64C28 80240648 AE220004 */ sw $v0, 4($s1) +/* D64C2C 8024064C 8E020000 */ lw $v0, ($s0) +/* D64C30 80240650 3C030002 */ lui $v1, 2 +/* D64C34 80240654 00431024 */ and $v0, $v0, $v1 +/* D64C38 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D64C3C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D64C40 80240660 3C048024 */ lui $a0, 0x8024 +/* D64C44 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D64C48 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D64C4C 8024066C 0C047644 */ jal queue_render_task +/* D64C50 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D64C54 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D64C58 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D64C5C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D64C60 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D64C64 80240684 03E00008 */ jr $ra +/* D64C68 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_8024068C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_8024068C_D645E0.s new file mode 100644 index 0000000000..ce94fe01eb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_8024068C_D645E0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D64C6C +/* D64C6C 8024068C 3C03800A */ lui $v1, 0x800a +/* D64C70 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D64C74 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D64C78 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D64C7C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D64C80 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D64C84 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D64C88 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D64C8C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D64C90 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D64C94 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D64C98 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D64C9C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D64CA0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D64CA4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D64CA8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D64CAC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D64CB0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D64CB4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D64CB8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D64CBC 802406DC 3C01800B */ lui $at, 0x800b +/* D64CC0 802406E0 00220821 */ addu $at, $at, $v0 +/* D64CC4 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D64CC8 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D64CCC 802406EC 4600B587 */ neg.s $f22, $f22 +/* D64CD0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D64CD4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D64CD8 802406F8 0C019EC8 */ jal guRotateF +/* D64CDC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D64CE0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D64CE4 80240704 0C00A6C9 */ jal clamp_angle +/* D64CE8 80240708 00000000 */ nop +/* D64CEC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D64CF0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D64CF4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D64CF8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D64CFC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D64D00 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D64D04 80240724 0C019EC8 */ jal guRotateF +/* D64D08 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D64D0C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D64D10 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D64D14 80240734 0C019D80 */ jal guMtxCatF +/* D64D18 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D64D1C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D64D20 80240740 4406A000 */ mfc1 $a2, $f20 +/* D64D24 80240744 4407C000 */ mfc1 $a3, $f24 +/* D64D28 80240748 0200202D */ daddu $a0, $s0, $zero +/* D64D2C 8024074C 0C019EC8 */ jal guRotateF +/* D64D30 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D64D34 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D64D38 80240758 0200282D */ daddu $a1, $s0, $zero +/* D64D3C 8024075C 0C019D80 */ jal guMtxCatF +/* D64D40 80240760 0080302D */ daddu $a2, $a0, $zero +/* D64D44 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D64D48 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D64D4C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D64D50 80240770 4407C000 */ mfc1 $a3, $f24 +/* D64D54 80240774 0C019EC8 */ jal guRotateF +/* D64D58 80240778 0200202D */ daddu $a0, $s0, $zero +/* D64D5C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D64D60 80240780 0200282D */ daddu $a1, $s0, $zero +/* D64D64 80240784 0C019D80 */ jal guMtxCatF +/* D64D68 80240788 0080302D */ daddu $a2, $a0, $zero +/* D64D6C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D64D70 80240790 3C013F36 */ lui $at, 0x3f36 +/* D64D74 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D64D78 80240798 44810000 */ mtc1 $at, $f0 +/* D64D7C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D64D80 802407A0 44050000 */ mfc1 $a1, $f0 +/* D64D84 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D64D88 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D64D8C 802407AC 0C019DF0 */ jal guScaleF +/* D64D90 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D64D94 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D64D98 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D64D9C 802407BC 0C019D80 */ jal guMtxCatF +/* D64DA0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D64DA4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D64DA8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D64DAC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D64DB0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D64DB4 802407D4 46000007 */ neg.s $f0, $f0 +/* D64DB8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D64DBC 802407DC 0C019E40 */ jal guTranslateF +/* D64DC0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D64DC4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D64DC8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D64DCC 802407EC 0C019D80 */ jal guMtxCatF +/* D64DD0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D64DD4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D64DD8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D64DDC 802407FC 44810000 */ mtc1 $at, $f0 +/* D64DE0 80240800 00000000 */ nop +/* D64DE4 80240804 4602003E */ c.le.s $f0, $f2 +/* D64DE8 80240808 00000000 */ nop +/* D64DEC 8024080C 4500000A */ bc1f .L80240838 +/* D64DF0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D64DF4 80240814 3C014387 */ lui $at, 0x4387 +/* D64DF8 80240818 44810000 */ mtc1 $at, $f0 +/* D64DFC 8024081C 00000000 */ nop +/* D64E00 80240820 4600103C */ c.lt.s $f2, $f0 +/* D64E04 80240824 00000000 */ nop +/* D64E08 80240828 45000004 */ bc1f .L8024083C +/* D64E0C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D64E10 80240830 3C041000 */ lui $a0, 0x1000 +/* D64E14 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D64E18 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D64E1C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D64E20 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D64E24 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D64E28 80240848 0C0B7710 */ jal render_sprite +/* D64E2C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D64E30 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D64E34 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D64E38 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D64E3C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D64E40 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D64E44 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D64E48 80240868 03E00008 */ jr $ra +/* D64E4C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240870_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240870_D645E0.s new file mode 100644 index 0000000000..f32e2b4f8a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240870_D645E0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D64E50 +/* D64E50 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D64E54 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D64E58 80240878 4480B000 */ mtc1 $zero, $f22 +/* D64E5C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D64E60 80240880 0080882D */ daddu $s1, $a0, $zero +/* D64E64 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D64E68 80240888 0000982D */ daddu $s3, $zero, $zero +/* D64E6C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D64E70 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D64E74 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D64E78 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D64E7C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D64E80 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D64E84 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D64E88 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D64E8C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D64E90 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D64E94 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D64E98 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D64E9C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D64EA0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D64EA4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D64EA8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D64EAC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D64EB0 802408D0 3C03800A */ lui $v1, 0x800a +/* D64EB4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D64EB8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D64EBC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D64EC0 802408E0 00021080 */ sll $v0, $v0, 2 +/* D64EC4 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D64EC8 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D64ECC 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D64ED0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D64ED4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D64ED8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D64EDC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D64EE0 80240900 46000507 */ neg.s $f20, $f0 +/* D64EE4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D64EE8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D64EEC 8024090C 44810000 */ mtc1 $at, $f0 +/* D64EF0 80240910 00000000 */ nop +/* D64EF4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D64EF8 80240918 00000000 */ nop +/* D64EFC 8024091C 4500000A */ bc1f .L80240948 +/* D64F00 80240920 00000000 */ nop +/* D64F04 80240924 3C014334 */ lui $at, 0x4334 +/* D64F08 80240928 44812000 */ mtc1 $at, $f4 +/* D64F0C 8024092C 00000000 */ nop +/* D64F10 80240930 4604103E */ c.le.s $f2, $f4 +/* D64F14 80240934 00000000 */ nop +/* D64F18 80240938 45000003 */ bc1f .L80240948 +/* D64F1C 8024093C 00000000 */ nop +/* D64F20 80240940 08090276 */ j .L802409D8 +/* D64F24 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D64F28 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D64F2C 8024094C 3C014334 */ lui $at, 0x4334 +/* D64F30 80240950 44812000 */ mtc1 $at, $f4 +/* D64F34 80240954 00000000 */ nop +/* D64F38 80240958 4600203C */ c.lt.s $f4, $f0 +/* D64F3C 8024095C 00000000 */ nop +/* D64F40 80240960 4500000C */ bc1f .L80240994 +/* D64F44 80240964 00000000 */ nop +/* D64F48 80240968 3C014387 */ lui $at, 0x4387 +/* D64F4C 8024096C 44812000 */ mtc1 $at, $f4 +/* D64F50 80240970 00000000 */ nop +/* D64F54 80240974 4604003E */ c.le.s $f0, $f4 +/* D64F58 80240978 00000000 */ nop +/* D64F5C 8024097C 45000008 */ bc1f .L802409A0 +/* D64F60 80240980 00000000 */ nop +/* D64F64 80240984 3C014334 */ lui $at, 0x4334 +/* D64F68 80240988 44812000 */ mtc1 $at, $f4 +/* D64F6C 8024098C 08090276 */ j .L802409D8 +/* D64F70 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D64F74 80240994 3C014387 */ lui $at, 0x4387 +/* D64F78 80240998 44812000 */ mtc1 $at, $f4 +/* D64F7C 8024099C 00000000 */ nop +.L802409A0: +/* D64F80 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D64F84 802409A4 00000000 */ nop +/* D64F88 802409A8 4500000A */ bc1f .L802409D4 +/* D64F8C 802409AC 00000000 */ nop +/* D64F90 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D64F94 802409B4 44811000 */ mtc1 $at, $f2 +/* D64F98 802409B8 00000000 */ nop +/* D64F9C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D64FA0 802409C0 00000000 */ nop +/* D64FA4 802409C4 45000003 */ bc1f .L802409D4 +/* D64FA8 802409C8 00000000 */ nop +/* D64FAC 802409CC 08090276 */ j .L802409D8 +/* D64FB0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D64FB4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D64FB8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D64FBC 802409DC 44810000 */ mtc1 $at, $f0 +/* D64FC0 802409E0 00000000 */ nop +/* D64FC4 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D64FC8 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D64FCC 802409EC 44072000 */ mfc1 $a3, $f4 +/* D64FD0 802409F0 00000000 */ nop +/* D64FD4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D64FD8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D64FDC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D64FE0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D64FE4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D64FE8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D64FEC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D64FF0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D64FF4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D64FF8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D64FFC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D65000 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D65004 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D65008 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D6500C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D65010 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D65014 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D65018 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D6501C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D65020 80240A40 0C019EC8 */ jal guRotateF +/* D65024 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D65028 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6502C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D65030 80240A50 00000000 */ nop +/* D65034 80240A54 44050000 */ mfc1 $a1, $f0 +/* D65038 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D6503C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D65040 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D65044 80240A64 44812000 */ mtc1 $at, $f4 +/* D65048 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D6504C 80240A6C 0C019EC8 */ jal guRotateF +/* D65050 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D65054 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D65058 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D6505C 80240A7C 0C019D80 */ jal guMtxCatF +/* D65060 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D65064 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D65068 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6506C 80240A8C 080902D6 */ j .L80240B58 +/* D65070 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D65074 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D65078 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D6507C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D65080 80240AA0 0C03964E */ jal func_800E5938 +/* D65084 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D65088 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D6508C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D65090 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D65094 80240AB4 46000606 */ mov.s $f24, $f0 +/* D65098 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6509C 80240ABC 080902B5 */ j .L80240AD4 +/* D650A0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D650A4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D650A8 80240AC8 00000000 */ nop +/* D650AC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D650B0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D650B4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D650B8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D650BC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D650C0 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D650C4 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D650C8 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D650CC 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D650D0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D650D4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D650D8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D650DC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D650E0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D650E4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D650E8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D650EC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D650F0 80240B10 0C019EC8 */ jal guRotateF +/* D650F4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D650F8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D650FC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D65100 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D65104 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D65108 80240B28 0C019EC8 */ jal guRotateF +/* D6510C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D65110 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D65114 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D65118 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6511C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D65120 80240B40 0C019EC8 */ jal guRotateF +/* D65124 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D65128 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6512C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D65130 80240B50 0C019D80 */ jal guMtxCatF +/* D65134 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D65138 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6513C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D65140 80240B60 44812000 */ mtc1 $at, $f4 +/* D65144 80240B64 00021023 */ negu $v0, $v0 +/* D65148 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6514C 80240B6C 00000000 */ nop +/* D65150 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D65154 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D65158 80240B78 00000000 */ nop +/* D6515C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D65160 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D65164 80240B84 44062000 */ mfc1 $a2, $f4 +/* D65168 80240B88 0C019E40 */ jal guTranslateF +/* D6516C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D65170 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D65174 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D65178 80240B98 0C019D80 */ jal guMtxCatF +/* D6517C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D65180 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D65184 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D65188 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D6518C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D65190 80240BB0 0C019EC8 */ jal guRotateF +/* D65194 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D65198 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D6519C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D651A0 80240BC0 0C019D80 */ jal guMtxCatF +/* D651A4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D651A8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D651AC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D651B0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D651B4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D651B8 80240BD8 0C019EC8 */ jal guRotateF +/* D651BC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D651C0 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D651C4 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D651C8 80240BE8 0C019D80 */ jal guMtxCatF +/* D651CC 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D651D0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D651D4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D651D8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D651DC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D651E0 80240C00 00000000 */ nop +/* D651E4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D651E8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D651EC 80240C0C 00000000 */ nop +/* D651F0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D651F4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D651F8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D651FC 80240C1C 0C019E40 */ jal guTranslateF +/* D65200 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D65204 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D65208 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6520C 80240C2C 0C019D80 */ jal guMtxCatF +/* D65210 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D65214 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D65218 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6521C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D65220 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D65224 80240C44 44050000 */ mfc1 $a1, $f0 +/* D65228 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6522C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D65230 80240C50 0C019DF0 */ jal guScaleF +/* D65234 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D65238 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6523C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D65240 80240C60 0C019D80 */ jal guMtxCatF +/* D65244 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D65248 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6524C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D65250 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D65254 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D65258 80240C78 0C019E40 */ jal guTranslateF +/* D6525C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D65260 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D65264 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D65268 80240C88 0C019D80 */ jal guMtxCatF +/* D6526C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D65270 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D65274 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D65278 80240C98 44810000 */ mtc1 $at, $f0 +/* D6527C 80240C9C 00000000 */ nop +/* D65280 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D65284 80240CA4 00000000 */ nop +/* D65288 80240CA8 4500000A */ bc1f .L80240CD4 +/* D6528C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D65290 80240CB0 3C014387 */ lui $at, 0x4387 +/* D65294 80240CB4 44812000 */ mtc1 $at, $f4 +/* D65298 80240CB8 00000000 */ nop +/* D6529C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D652A0 80240CC0 00000000 */ nop +/* D652A4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D652A8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D652AC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D652B0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D652B4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D652B8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D652BC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D652C0 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D652C4 80240CE4 0C0B7710 */ jal render_sprite +/* D652C8 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D652CC 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D652D0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D652D4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D652D8 80240CF8 00000000 */ nop +/* D652DC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D652E0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D652E4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D652E8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D652EC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D652F0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D652F4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D652F8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D652FC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D65300 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D65304 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D65308 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D6530C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D65310 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D65314 80240D34 03E00008 */ jr $ra +/* D65318 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240D3C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240D3C_D645E0.s new file mode 100644 index 0000000000..9b5a4b9b4c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240D3C_D645E0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D6531C +/* D6531C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65320 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D65324 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D65328 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D6532C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D65330 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D65334 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D65338 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6533C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D65340 80240D60 00000000 */ nop +/* D65344 80240D64 28620002 */ slti $v0, $v1, 2 +/* D65348 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6534C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D65350 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D65354 80240D74 00000000 */ nop +/* D65358 80240D78 08090378 */ j .L80240DE0 +/* D6535C 80240D7C 00000000 */ nop +.L80240D80: +/* D65360 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D65364 80240D84 00000000 */ nop +/* D65368 80240D88 08090378 */ j .L80240DE0 +/* D6536C 80240D8C 00000000 */ nop +.L80240D90: +/* D65370 80240D90 3C048024 */ lui $a0, 0x8024 +/* D65374 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D65378 80240D98 08090374 */ j .L80240DD0 +/* D6537C 80240D9C 00000000 */ nop +.L80240DA0: +/* D65380 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D65384 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D65388 80240DA8 08090374 */ j .L80240DD0 +/* D6538C 80240DAC 00000000 */ nop +.L80240DB0: +/* D65390 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D65394 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D65398 80240DB8 00000000 */ nop +/* D6539C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D653A0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D653A4 80240DC4 00000000 */ nop +.L80240DC8: +/* D653A8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D653AC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D653B0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D653B4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D653B8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D653BC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D653C0 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D653C4 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D653C8 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D653CC 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D653D0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D653D4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D653D8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D653DC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D653E0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D653E4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D653E8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D653EC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D653F0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D653F4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D653F8 80240E18 00000000 */ nop +/* D653FC 80240E1C 0809039D */ j .L80240E74 +/* D65400 80240E20 00000000 */ nop +.L80240E24: +/* D65404 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D65408 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D6540C 80240E2C 0809039D */ j .L80240E74 +/* D65410 80240E30 00000000 */ nop +.L80240E34: +/* D65414 80240E34 8CA20000 */ lw $v0, ($a1) +/* D65418 80240E38 0809039A */ j .L80240E68 +/* D6541C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D65420 80240E40 8CA20000 */ lw $v0, ($a1) +/* D65424 80240E44 0809039A */ j .L80240E68 +/* D65428 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D6542C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D65430 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D65434 80240E54 28420002 */ slti $v0, $v0, 2 +/* D65438 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6543C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D65440 80240E60 8CA20000 */ lw $v0, ($a1) +/* D65444 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D65448 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6544C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D65450 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D65454 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D65458 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6545C 80240E7C 03E00008 */ jr $ra +/* D65460 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240E84_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240E84_D645E0.s new file mode 100644 index 0000000000..2eb3f0b55f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240E84_D645E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D65464 +/* D65464 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65468 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6546C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D65470 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D65474 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D65478 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6547C 80240E9C 3C03000A */ lui $v1, 0xa +/* D65480 80240EA0 8C820000 */ lw $v0, ($a0) +/* D65484 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D65488 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D6548C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D65490 80240EB0 03E00008 */ jr $ra +/* D65494 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240EB8_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240EB8_D645E0.s new file mode 100644 index 0000000000..b4618eed55 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240EB8_D645E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D65498 +/* D65498 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6549C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D654A0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D654A4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D654A8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D654AC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D654B0 80240ED0 3C030008 */ lui $v1, 8 +/* D654B4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D654B8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D654BC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D654C0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D654C4 80240EE4 03E00008 */ jr $ra +/* D654C8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240EEC_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240EEC_D645E0.s new file mode 100644 index 0000000000..9e3ff80015 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240EEC_D645E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D654CC +/* D654CC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D654D0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D654D4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D654D8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D654DC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D654E0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D654E4 80240F04 3C030002 */ lui $v1, 2 +/* D654E8 80240F08 8C820000 */ lw $v0, ($a0) +/* D654EC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D654F0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D654F4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D654F8 80240F18 03E00008 */ jr $ra +/* D654FC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240F20_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240F20_D645E0.s new file mode 100644 index 0000000000..1455eaf97b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240F20_D645E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D65500 +/* D65500 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D65504 80240F24 AFB10014 */ sw $s1, 0x14($sp) +/* D65508 80240F28 0080882D */ daddu $s1, $a0, $zero +/* D6550C 80240F2C AFBF0018 */ sw $ra, 0x18($sp) +/* D65510 80240F30 AFB00010 */ sw $s0, 0x10($sp) +/* D65514 80240F34 8E30000C */ lw $s0, 0xc($s1) +/* D65518 80240F38 8E050000 */ lw $a1, ($s0) +/* D6551C 80240F3C 0C0B1EAF */ jal get_variable +/* D65520 80240F40 26100004 */ addiu $s0, $s0, 4 +/* D65524 80240F44 0C00EAD2 */ jal get_npc_safe +/* D65528 80240F48 0040202D */ daddu $a0, $v0, $zero +/* D6552C 80240F4C 10400005 */ beqz $v0, .L80240F64 +/* D65530 80240F50 00000000 */ nop +/* D65534 80240F54 8E050000 */ lw $a1, ($s0) +/* D65538 80240F58 844600A8 */ lh $a2, 0xa8($v0) +/* D6553C 80240F5C 0C0B2026 */ jal set_variable +/* D65540 80240F60 0220202D */ daddu $a0, $s1, $zero +.L80240F64: +/* D65544 80240F64 8FBF0018 */ lw $ra, 0x18($sp) +/* D65548 80240F68 8FB10014 */ lw $s1, 0x14($sp) +/* D6554C 80240F6C 8FB00010 */ lw $s0, 0x10($sp) +/* D65550 80240F70 24020002 */ addiu $v0, $zero, 2 +/* D65554 80240F74 03E00008 */ jr $ra +/* D65558 80240F78 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80240F7C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80240F7C_D645E0.s new file mode 100644 index 0000000000..3f47a5ed3c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80240F7C_D645E0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C_D6555C +/* D6555C 80240F7C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D65560 80240F80 AFB10014 */ sw $s1, 0x14($sp) +/* D65564 80240F84 0080882D */ daddu $s1, $a0, $zero +/* D65568 80240F88 AFBF0024 */ sw $ra, 0x24($sp) +/* D6556C 80240F8C AFB40020 */ sw $s4, 0x20($sp) +/* D65570 80240F90 AFB3001C */ sw $s3, 0x1c($sp) +/* D65574 80240F94 AFB20018 */ sw $s2, 0x18($sp) +/* D65578 80240F98 AFB00010 */ sw $s0, 0x10($sp) +/* D6557C 80240F9C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D65580 80240FA0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D65584 80240FA4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D65588 80240FA8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D6558C 80240FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D65590 80240FB0 8E30000C */ lw $s0, 0xc($s1) +/* D65594 80240FB4 8E130000 */ lw $s3, ($s0) +/* D65598 80240FB8 26100004 */ addiu $s0, $s0, 4 +/* D6559C 80240FBC 0C0B1EAF */ jal get_variable +/* D655A0 80240FC0 0260282D */ daddu $a1, $s3, $zero +/* D655A4 80240FC4 4482E000 */ mtc1 $v0, $f28 +/* D655A8 80240FC8 00000000 */ nop +/* D655AC 80240FCC 4680E720 */ cvt.s.w $f28, $f28 +/* D655B0 80240FD0 8E140000 */ lw $s4, ($s0) +/* D655B4 80240FD4 26100004 */ addiu $s0, $s0, 4 +/* D655B8 80240FD8 0220202D */ daddu $a0, $s1, $zero +/* D655BC 80240FDC 0C0B1EAF */ jal get_variable +/* D655C0 80240FE0 0280282D */ daddu $a1, $s4, $zero +/* D655C4 80240FE4 4482D000 */ mtc1 $v0, $f26 +/* D655C8 80240FE8 00000000 */ nop +/* D655CC 80240FEC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D655D0 80240FF0 8E100000 */ lw $s0, ($s0) +/* D655D4 80240FF4 0220202D */ daddu $a0, $s1, $zero +/* D655D8 80240FF8 0C0B1EAF */ jal get_variable +/* D655DC 80240FFC 0200282D */ daddu $a1, $s0, $zero +/* D655E0 80241000 4482C000 */ mtc1 $v0, $f24 +/* D655E4 80241004 00000000 */ nop +/* D655E8 80241008 4680C620 */ cvt.s.w $f24, $f24 +/* D655EC 8024100C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D655F0 80241010 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D655F4 80241014 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D655F8 80241018 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D655FC 8024101C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D65600 80241020 44800000 */ mtc1 $zero, $f0 +/* D65604 80241024 00031080 */ sll $v0, $v1, 2 +/* D65608 80241028 00431021 */ addu $v0, $v0, $v1 +/* D6560C 8024102C 00021080 */ sll $v0, $v0, 2 +/* D65610 80241030 00431023 */ subu $v0, $v0, $v1 +/* D65614 80241034 000218C0 */ sll $v1, $v0, 3 +/* D65618 80241038 00431021 */ addu $v0, $v0, $v1 +/* D6561C 8024103C 000210C0 */ sll $v0, $v0, 3 +/* D65620 80241040 46001032 */ c.eq.s $f2, $f0 +/* D65624 80241044 3C01800B */ lui $at, 0x800b +/* D65628 80241048 00220821 */ addu $at, $at, $v0 +/* D6562C 8024104C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D65630 80241050 45000005 */ bc1f .L80241068 +/* D65634 80241054 00000000 */ nop +/* D65638 80241058 3C0142C8 */ lui $at, 0x42c8 +/* D6563C 8024105C 44810000 */ mtc1 $at, $f0 +/* D65640 80241060 0809041E */ j .L80241078 +/* D65644 80241064 4600B581 */ sub.s $f22, $f22, $f0 +.L80241068: +/* D65648 80241068 3C0142C8 */ lui $at, 0x42c8 +/* D6564C 8024106C 44810000 */ mtc1 $at, $f0 +/* D65650 80241070 00000000 */ nop +/* D65654 80241074 4600B580 */ add.s $f22, $f22, $f0 +.L80241078: +/* D65658 80241078 0C00A6C9 */ jal clamp_angle +/* D6565C 8024107C 4600B306 */ mov.s $f12, $f22 +/* D65660 80241080 46000586 */ mov.s $f22, $f0 +/* D65664 80241084 3C014170 */ lui $at, 0x4170 +/* D65668 80241088 4481A000 */ mtc1 $at, $f20 +/* D6566C 8024108C 0C00A8BB */ jal sin_deg +/* D65670 80241090 4600B306 */ mov.s $f12, $f22 +/* D65674 80241094 46140002 */ mul.s $f0, $f0, $f20 +/* D65678 80241098 00000000 */ nop +/* D6567C 8024109C 864200B0 */ lh $v0, 0xb0($s2) +/* D65680 802410A0 3C013F00 */ lui $at, 0x3f00 +/* D65684 802410A4 44812000 */ mtc1 $at, $f4 +/* D65688 802410A8 44821000 */ mtc1 $v0, $f2 +/* D6568C 802410AC 00000000 */ nop +/* D65690 802410B0 468010A0 */ cvt.s.w $f2, $f2 +/* D65694 802410B4 46041082 */ mul.s $f2, $f2, $f4 +/* D65698 802410B8 00000000 */ nop +/* D6569C 802410BC 4600E700 */ add.s $f28, $f28, $f0 +/* D656A0 802410C0 4602D680 */ add.s $f26, $f26, $f2 +/* D656A4 802410C4 0C00A8D4 */ jal cos_deg +/* D656A8 802410C8 4600B306 */ mov.s $f12, $f22 +/* D656AC 802410CC 46140002 */ mul.s $f0, $f0, $f20 +/* D656B0 802410D0 00000000 */ nop +/* D656B4 802410D4 0220202D */ daddu $a0, $s1, $zero +/* D656B8 802410D8 0260282D */ daddu $a1, $s3, $zero +/* D656BC 802410DC 4600E18D */ trunc.w.s $f6, $f28 +/* D656C0 802410E0 44063000 */ mfc1 $a2, $f6 +/* D656C4 802410E4 0C0B2026 */ jal set_variable +/* D656C8 802410E8 4600C601 */ sub.s $f24, $f24, $f0 +/* D656CC 802410EC 0220202D */ daddu $a0, $s1, $zero +/* D656D0 802410F0 4600D18D */ trunc.w.s $f6, $f26 +/* D656D4 802410F4 44063000 */ mfc1 $a2, $f6 +/* D656D8 802410F8 0C0B2026 */ jal set_variable +/* D656DC 802410FC 0280282D */ daddu $a1, $s4, $zero +/* D656E0 80241100 0220202D */ daddu $a0, $s1, $zero +/* D656E4 80241104 4600C18D */ trunc.w.s $f6, $f24 +/* D656E8 80241108 44063000 */ mfc1 $a2, $f6 +/* D656EC 8024110C 0C0B2026 */ jal set_variable +/* D656F0 80241110 0200282D */ daddu $a1, $s0, $zero +/* D656F4 80241114 8FBF0024 */ lw $ra, 0x24($sp) +/* D656F8 80241118 8FB40020 */ lw $s4, 0x20($sp) +/* D656FC 8024111C 8FB3001C */ lw $s3, 0x1c($sp) +/* D65700 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* D65704 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* D65708 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* D6570C 8024112C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D65710 80241130 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D65714 80241134 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D65718 80241138 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D6571C 8024113C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D65720 80241140 24020002 */ addiu $v0, $zero, 2 +/* D65724 80241144 03E00008 */ jr $ra +/* D65728 80241148 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_8024114C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_8024114C_D645E0.s new file mode 100644 index 0000000000..f914b699ac --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_8024114C_D645E0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024114C_D6572C +/* D6572C 8024114C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65730 80241150 AFBF0010 */ sw $ra, 0x10($sp) +/* D65734 80241154 10A00003 */ beqz $a1, .L80241164 +/* D65738 80241158 8C86000C */ lw $a2, 0xc($a0) +/* D6573C 8024115C 3C018024 */ lui $at, 0x8024 +/* D65740 80241160 AC2022CC */ sw $zero, 0x22cc($at) +.L80241164: +/* D65744 80241164 3C038024 */ lui $v1, 0x8024 +/* D65748 80241168 246322CC */ addiu $v1, $v1, 0x22cc +/* D6574C 8024116C 8C620000 */ lw $v0, ($v1) +/* D65750 80241170 54400003 */ bnel $v0, $zero, .L80241180 +/* D65754 80241174 AC600000 */ sw $zero, ($v1) +/* D65758 80241178 08090465 */ j .L80241194 +/* D6575C 8024117C 0000102D */ daddu $v0, $zero, $zero +.L80241180: +/* D65760 80241180 8CC50000 */ lw $a1, ($a2) +/* D65764 80241184 3C068024 */ lui $a2, 0x8024 +/* D65768 80241188 0C0B2026 */ jal set_variable +/* D6576C 8024118C 8CC622D0 */ lw $a2, 0x22d0($a2) +/* D65770 80241190 24020002 */ addiu $v0, $zero, 2 +.L80241194: +/* D65774 80241194 8FBF0010 */ lw $ra, 0x10($sp) +/* D65778 80241198 03E00008 */ jr $ra +/* D6577C 8024119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802411A0_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802411A0_D645E0.s new file mode 100644 index 0000000000..3f99cba7da --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802411A0_D645E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_D65780 +/* D65780 802411A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65784 802411A4 AFBF0010 */ sw $ra, 0x10($sp) +/* D65788 802411A8 8C82000C */ lw $v0, 0xc($a0) +/* D6578C 802411AC 0C0B1EAF */ jal get_variable +/* D65790 802411B0 8C450000 */ lw $a1, ($v0) +/* D65794 802411B4 3C018024 */ lui $at, 0x8024 +/* D65798 802411B8 AC2222D0 */ sw $v0, 0x22d0($at) +/* D6579C 802411BC 24020002 */ addiu $v0, $zero, 2 +/* D657A0 802411C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D657A4 802411C4 24030001 */ addiu $v1, $zero, 1 +/* D657A8 802411C8 3C018024 */ lui $at, 0x8024 +/* D657AC 802411CC AC2322CC */ sw $v1, 0x22cc($at) +/* D657B0 802411D0 03E00008 */ jr $ra +/* D657B4 802411D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802411D8_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802411D8_D645E0.s new file mode 100644 index 0000000000..60ff537750 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802411D8_D645E0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D8_D657B8 +/* D657B8 802411D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D657BC 802411DC AFBF0010 */ sw $ra, 0x10($sp) +/* D657C0 802411E0 8C82000C */ lw $v0, 0xc($a0) +/* D657C4 802411E4 0C0B1EAF */ jal get_variable +/* D657C8 802411E8 8C450000 */ lw $a1, ($v0) +/* D657CC 802411EC 0040182D */ daddu $v1, $v0, $zero +/* D657D0 802411F0 10600012 */ beqz $v1, .L8024123C +/* D657D4 802411F4 0000202D */ daddu $a0, $zero, $zero +/* D657D8 802411F8 8C620000 */ lw $v0, ($v1) +/* D657DC 802411FC 5040000A */ beql $v0, $zero, .L80241228 +/* D657E0 80241200 00041080 */ sll $v0, $a0, 2 +/* D657E4 80241204 3C058024 */ lui $a1, 0x8024 +/* D657E8 80241208 24A53720 */ addiu $a1, $a1, 0x3720 +.L8024120C: +/* D657EC 8024120C 24630004 */ addiu $v1, $v1, 4 +/* D657F0 80241210 24840001 */ addiu $a0, $a0, 1 +/* D657F4 80241214 ACA20000 */ sw $v0, ($a1) +/* D657F8 80241218 8C620000 */ lw $v0, ($v1) +/* D657FC 8024121C 1440FFFB */ bnez $v0, .L8024120C +/* D65800 80241220 24A50004 */ addiu $a1, $a1, 4 +/* D65804 80241224 00041080 */ sll $v0, $a0, 2 +.L80241228: +/* D65808 80241228 3C018024 */ lui $at, 0x8024 +/* D6580C 8024122C 00220821 */ addu $at, $at, $v0 +/* D65810 80241230 AC203720 */ sw $zero, 0x3720($at) +/* D65814 80241234 08090499 */ j .L80241264 +/* D65818 80241238 00000000 */ nop +.L8024123C: +/* D6581C 8024123C 3C038024 */ lui $v1, 0x8024 +/* D65820 80241240 24633720 */ addiu $v1, $v1, 0x3720 +/* D65824 80241244 0060282D */ daddu $a1, $v1, $zero +.L80241248: +/* D65828 80241248 24820010 */ addiu $v0, $a0, 0x10 +/* D6582C 8024124C AC620000 */ sw $v0, ($v1) +/* D65830 80241250 24630004 */ addiu $v1, $v1, 4 +/* D65834 80241254 24840001 */ addiu $a0, $a0, 1 +/* D65838 80241258 28820070 */ slti $v0, $a0, 0x70 +/* D6583C 8024125C 1440FFFA */ bnez $v0, .L80241248 +/* D65840 80241260 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241264: +/* D65844 80241264 8FBF0010 */ lw $ra, 0x10($sp) +/* D65848 80241268 24020002 */ addiu $v0, $zero, 2 +/* D6584C 8024126C 03E00008 */ jr $ra +/* D65850 80241270 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80241274_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80241274_D645E0.s new file mode 100644 index 0000000000..5c7771654c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80241274_D645E0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241274_D65854 +/* D65854 80241274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65858 80241278 AFBF0010 */ sw $ra, 0x10($sp) +/* D6585C 8024127C 8C82000C */ lw $v0, 0xc($a0) +/* D65860 80241280 0C0B1EAF */ jal get_variable +/* D65864 80241284 8C450000 */ lw $a1, ($v0) +/* D65868 80241288 0040182D */ daddu $v1, $v0, $zero +/* D6586C 8024128C 10600012 */ beqz $v1, .L802412D8 +/* D65870 80241290 0000202D */ daddu $a0, $zero, $zero +/* D65874 80241294 8C620000 */ lw $v0, ($v1) +/* D65878 80241298 5040000A */ beql $v0, $zero, .L802412C4 +/* D6587C 8024129C 00041080 */ sll $v0, $a0, 2 +/* D65880 802412A0 3C058024 */ lui $a1, 0x8024 +/* D65884 802412A4 24A538E8 */ addiu $a1, $a1, 0x38e8 +.L802412A8: +/* D65888 802412A8 24630004 */ addiu $v1, $v1, 4 +/* D6588C 802412AC 24840001 */ addiu $a0, $a0, 1 +/* D65890 802412B0 ACA20000 */ sw $v0, ($a1) +/* D65894 802412B4 8C620000 */ lw $v0, ($v1) +/* D65898 802412B8 1440FFFB */ bnez $v0, .L802412A8 +/* D6589C 802412BC 24A50004 */ addiu $a1, $a1, 4 +/* D658A0 802412C0 00041080 */ sll $v0, $a0, 2 +.L802412C4: +/* D658A4 802412C4 3C018024 */ lui $at, 0x8024 +/* D658A8 802412C8 00220821 */ addu $at, $at, $v0 +/* D658AC 802412CC AC2038E8 */ sw $zero, 0x38e8($at) +/* D658B0 802412D0 080904C0 */ j .L80241300 +/* D658B4 802412D4 00000000 */ nop +.L802412D8: +/* D658B8 802412D8 3C038024 */ lui $v1, 0x8024 +/* D658BC 802412DC 246338E8 */ addiu $v1, $v1, 0x38e8 +/* D658C0 802412E0 0060282D */ daddu $a1, $v1, $zero +.L802412E4: +/* D658C4 802412E4 24820080 */ addiu $v0, $a0, 0x80 +/* D658C8 802412E8 AC620000 */ sw $v0, ($v1) +/* D658CC 802412EC 24630004 */ addiu $v1, $v1, 4 +/* D658D0 802412F0 24840001 */ addiu $a0, $a0, 1 +/* D658D4 802412F4 2882005B */ slti $v0, $a0, 0x5b +/* D658D8 802412F8 1440FFFA */ bnez $v0, .L802412E4 +/* D658DC 802412FC ACA0016C */ sw $zero, 0x16c($a1) +.L80241300: +/* D658E0 80241300 8FBF0010 */ lw $ra, 0x10($sp) +/* D658E4 80241304 24020002 */ addiu $v0, $zero, 2 +/* D658E8 80241308 03E00008 */ jr $ra +/* D658EC 8024130C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_80241310_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_80241310_D645E0.s new file mode 100644 index 0000000000..559b25ce3f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_80241310_D645E0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241310_D658F0 +/* D658F0 80241310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D658F4 80241314 AFB10014 */ sw $s1, 0x14($sp) +/* D658F8 80241318 0080882D */ daddu $s1, $a0, $zero +/* D658FC 8024131C AFBF001C */ sw $ra, 0x1c($sp) +/* D65900 80241320 AFB20018 */ sw $s2, 0x18($sp) +/* D65904 80241324 AFB00010 */ sw $s0, 0x10($sp) +/* D65908 80241328 8E30000C */ lw $s0, 0xc($s1) +/* D6590C 8024132C 8E050000 */ lw $a1, ($s0) +/* D65910 80241330 0C0B1EAF */ jal get_variable +/* D65914 80241334 26100004 */ addiu $s0, $s0, 4 +/* D65918 80241338 8E050000 */ lw $a1, ($s0) +/* D6591C 8024133C 26100004 */ addiu $s0, $s0, 4 +/* D65920 80241340 0220202D */ daddu $a0, $s1, $zero +/* D65924 80241344 0C0B1EAF */ jal get_variable +/* D65928 80241348 0040902D */ daddu $s2, $v0, $zero +/* D6592C 8024134C 0220202D */ daddu $a0, $s1, $zero +/* D65930 80241350 8E050000 */ lw $a1, ($s0) +/* D65934 80241354 0C0B1EAF */ jal get_variable +/* D65938 80241358 0040802D */ daddu $s0, $v0, $zero +/* D6593C 8024135C 44926000 */ mtc1 $s2, $f12 +/* D65940 80241360 00000000 */ nop +/* D65944 80241364 46806320 */ cvt.s.w $f12, $f12 +/* D65948 80241368 44820000 */ mtc1 $v0, $f0 +/* D6594C 8024136C 00000000 */ nop +/* D65950 80241370 46800020 */ cvt.s.w $f0, $f0 +/* D65954 80241374 44060000 */ mfc1 $a2, $f0 +/* D65958 80241378 44907000 */ mtc1 $s0, $f14 +/* D6595C 8024137C 00000000 */ nop +/* D65960 80241380 0C01BE3C */ jal func_8006F8F0 +/* D65964 80241384 468073A0 */ cvt.s.w $f14, $f14 +/* D65968 80241388 8FBF001C */ lw $ra, 0x1c($sp) +/* D6596C 8024138C 8FB20018 */ lw $s2, 0x18($sp) +/* D65970 80241390 8FB10014 */ lw $s1, 0x14($sp) +/* D65974 80241394 8FB00010 */ lw $s0, 0x10($sp) +/* D65978 80241398 24020002 */ addiu $v0, $zero, 2 +/* D6597C 8024139C 03E00008 */ jr $ra +/* D65980 802413A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802413A4_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802413A4_D645E0.s new file mode 100644 index 0000000000..cb142ed165 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802413A4_D645E0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A4_D65984 +/* D65984 802413A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D65988 802413A8 AFBF0010 */ sw $ra, 0x10($sp) +/* D6598C 802413AC 8C82000C */ lw $v0, 0xc($a0) +/* D65990 802413B0 0C0B1EAF */ jal get_variable +/* D65994 802413B4 8C450000 */ lw $a1, ($v0) +/* D65998 802413B8 0C00EAD2 */ jal get_npc_safe +/* D6599C 802413BC 0040202D */ daddu $a0, $v0, $zero +/* D659A0 802413C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D659A4 802413C4 24020002 */ addiu $v0, $zero, 2 +/* D659A8 802413C8 03E00008 */ jr $ra +/* D659AC 802413CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802413D0_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802413D0_D645E0.s new file mode 100644 index 0000000000..2137587f27 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802413D0_D645E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D0_D659B0 +/* D659B0 802413D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D659B4 802413D4 AFB00010 */ sw $s0, 0x10($sp) +/* D659B8 802413D8 0080802D */ daddu $s0, $a0, $zero +/* D659BC 802413DC 3C058024 */ lui $a1, 0x8024 +/* D659C0 802413E0 24A5140C */ addiu $a1, $a1, 0x140c +/* D659C4 802413E4 AFBF0014 */ sw $ra, 0x14($sp) +/* D659C8 802413E8 0C048C56 */ jal bind_dynamic_entity_3 +/* D659CC 802413EC 0000202D */ daddu $a0, $zero, $zero +/* D659D0 802413F0 8E03013C */ lw $v1, 0x13c($s0) +/* D659D4 802413F4 AC620000 */ sw $v0, ($v1) +/* D659D8 802413F8 8FBF0014 */ lw $ra, 0x14($sp) +/* D659DC 802413FC 8FB00010 */ lw $s0, 0x10($sp) +/* D659E0 80241400 24020002 */ addiu $v0, $zero, 2 +/* D659E4 80241404 03E00008 */ jr $ra +/* D659E8 80241408 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_8024140C_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_8024140C_D645E0.s new file mode 100644 index 0000000000..05bce9a683 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_8024140C_D645E0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024140C_D659EC +/* D659EC 8024140C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D659F0 80241410 0000202D */ daddu $a0, $zero, $zero +/* D659F4 80241414 AFBF0048 */ sw $ra, 0x48($sp) +/* D659F8 80241418 AFB10044 */ sw $s1, 0x44($sp) +/* D659FC 8024141C 0C00EAD2 */ jal get_npc_safe +/* D65A00 80241420 AFB00040 */ sw $s0, 0x40($sp) +/* D65A04 80241424 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D65A08 80241428 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D65A0C 8024142C 27B10020 */ addiu $s1, $sp, 0x20 +/* D65A10 80241430 8C630000 */ lw $v1, ($v1) +/* D65A14 80241434 30630001 */ andi $v1, $v1, 1 +/* D65A18 80241438 1060001B */ beqz $v1, .L802414A8 +/* D65A1C 8024143C 0040802D */ daddu $s0, $v0, $zero +/* D65A20 80241440 C6000040 */ lwc1 $f0, 0x40($s0) +/* D65A24 80241444 3C04800A */ lui $a0, 0x800a +/* D65A28 80241448 8484A634 */ lh $a0, -0x59cc($a0) +/* D65A2C 8024144C 27A20030 */ addiu $v0, $sp, 0x30 +/* D65A30 80241450 AFA20010 */ sw $v0, 0x10($sp) +/* D65A34 80241454 27A20034 */ addiu $v0, $sp, 0x34 +/* D65A38 80241458 AFA20014 */ sw $v0, 0x14($sp) +/* D65A3C 8024145C 27A20038 */ addiu $v0, $sp, 0x38 +/* D65A40 80241460 AFA20018 */ sw $v0, 0x18($sp) +/* D65A44 80241464 8E050038 */ lw $a1, 0x38($s0) +/* D65A48 80241468 8E06003C */ lw $a2, 0x3c($s0) +/* D65A4C 8024146C 46000007 */ neg.s $f0, $f0 +/* D65A50 80241470 44070000 */ mfc1 $a3, $f0 +/* D65A54 80241474 0C00B94E */ jal get_screen_coords +/* D65A58 80241478 00000000 */ nop +/* D65A5C 8024147C 0220202D */ daddu $a0, $s1, $zero +/* D65A60 80241480 820500AA */ lb $a1, 0xaa($s0) +/* D65A64 80241484 8FA30038 */ lw $v1, 0x38($sp) +/* D65A68 80241488 3C028024 */ lui $v0, 0x8024 +/* D65A6C 8024148C 244214BC */ addiu $v0, $v0, 0x14bc +/* D65A70 80241490 AFB00028 */ sw $s0, 0x28($sp) +/* D65A74 80241494 AFA2002C */ sw $v0, 0x2c($sp) +/* D65A78 80241498 00031823 */ negu $v1, $v1 +/* D65A7C 8024149C AFA50020 */ sw $a1, 0x20($sp) +/* D65A80 802414A0 0C047644 */ jal queue_render_task +/* D65A84 802414A4 AFA30024 */ sw $v1, 0x24($sp) +.L802414A8: +/* D65A88 802414A8 8FBF0048 */ lw $ra, 0x48($sp) +/* D65A8C 802414AC 8FB10044 */ lw $s1, 0x44($sp) +/* D65A90 802414B0 8FB00040 */ lw $s0, 0x40($sp) +/* D65A94 802414B4 03E00008 */ jr $ra +/* D65A98 802414B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_13/func_802414BC_D645E0.s b/asm/nonmatchings/world/area_pra/pra_13/func_802414BC_D645E0.s new file mode 100644 index 0000000000..3275827551 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_13/func_802414BC_D645E0.s @@ -0,0 +1,77 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414BC_D65A9C +/* D65A9C 802414BC 27BDFED0 */ addiu $sp, $sp, -0x130 +/* D65AA0 802414C0 AFB1011C */ sw $s1, 0x11c($sp) +/* D65AA4 802414C4 AFBF0120 */ sw $ra, 0x120($sp) +/* D65AA8 802414C8 AFB00118 */ sw $s0, 0x118($sp) +/* D65AAC 802414CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D65AB0 802414D0 0C00E769 */ jal func_80039DA4 +/* D65AB4 802414D4 0080882D */ daddu $s1, $a0, $zero +/* D65AB8 802414D8 44800000 */ mtc1 $zero, $f0 +/* D65ABC 802414DC 3C03800A */ lui $v1, 0x800a +/* D65AC0 802414E0 8463A634 */ lh $v1, -0x59cc($v1) +/* D65AC4 802414E4 C6220034 */ lwc1 $f2, 0x34($s1) +/* D65AC8 802414E8 00031080 */ sll $v0, $v1, 2 +/* D65ACC 802414EC 00431021 */ addu $v0, $v0, $v1 +/* D65AD0 802414F0 00021080 */ sll $v0, $v0, 2 +/* D65AD4 802414F4 00431023 */ subu $v0, $v0, $v1 +/* D65AD8 802414F8 000218C0 */ sll $v1, $v0, 3 +/* D65ADC 802414FC 00431021 */ addu $v0, $v0, $v1 +/* D65AE0 80241500 000210C0 */ sll $v0, $v0, 3 +/* D65AE4 80241504 44060000 */ mfc1 $a2, $f0 +/* D65AE8 80241508 3C01800B */ lui $at, 0x800b +/* D65AEC 8024150C 00220821 */ addu $at, $at, $v0 +/* D65AF0 80241510 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D65AF4 80241514 3C013F80 */ lui $at, 0x3f80 +/* D65AF8 80241518 4481A000 */ mtc1 $at, $f20 +/* D65AFC 8024151C 46001080 */ add.s $f2, $f2, $f0 +/* D65B00 80241520 4407A000 */ mfc1 $a3, $f20 +/* D65B04 80241524 44051000 */ mfc1 $a1, $f2 +/* D65B08 80241528 27A40018 */ addiu $a0, $sp, 0x18 +/* D65B0C 8024152C 0C019EC8 */ jal guRotateF +/* D65B10 80241530 AFA60010 */ sw $a2, 0x10($sp) +/* D65B14 80241534 3C013F36 */ lui $at, 0x3f36 +/* D65B18 80241538 3421DB6E */ ori $at, $at, 0xdb6e +/* D65B1C 8024153C 44810000 */ mtc1 $at, $f0 +/* D65B20 80241540 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D65B24 80241544 44050000 */ mfc1 $a1, $f0 +/* D65B28 80241548 0200202D */ daddu $a0, $s0, $zero +/* D65B2C 8024154C 00A0302D */ daddu $a2, $a1, $zero +/* D65B30 80241550 0C019DF0 */ jal guScaleF +/* D65B34 80241554 00A0382D */ daddu $a3, $a1, $zero +/* D65B38 80241558 27A40018 */ addiu $a0, $sp, 0x18 +/* D65B3C 8024155C 0200282D */ daddu $a1, $s0, $zero +/* D65B40 80241560 0C019D80 */ jal guMtxCatF +/* D65B44 80241564 0080302D */ daddu $a2, $a0, $zero +/* D65B48 80241568 27B00058 */ addiu $s0, $sp, 0x58 +/* D65B4C 8024156C 8E250038 */ lw $a1, 0x38($s1) +/* D65B50 80241570 8E26003C */ lw $a2, 0x3c($s1) +/* D65B54 80241574 8E270040 */ lw $a3, 0x40($s1) +/* D65B58 80241578 0C019E40 */ jal guTranslateF +/* D65B5C 8024157C 0200202D */ daddu $a0, $s0, $zero +/* D65B60 80241580 27A40018 */ addiu $a0, $sp, 0x18 +/* D65B64 80241584 0200282D */ daddu $a1, $s0, $zero +/* D65B68 80241588 0C019D80 */ jal guMtxCatF +/* D65B6C 8024158C 0080302D */ daddu $a2, $a0, $zero +/* D65B70 80241590 8E250028 */ lw $a1, 0x28($s1) +/* D65B74 80241594 4406A000 */ mfc1 $a2, $f20 +/* D65B78 80241598 0C0B76A3 */ jal func_802DDA8C +/* D65B7C 8024159C 24040002 */ addiu $a0, $zero, 2 +/* D65B80 802415A0 24040002 */ addiu $a0, $zero, 2 +/* D65B84 802415A4 0000282D */ daddu $a1, $zero, $zero +/* D65B88 802415A8 00A0302D */ daddu $a2, $a1, $zero +/* D65B8C 802415AC 00A0382D */ daddu $a3, $a1, $zero +/* D65B90 802415B0 27A20018 */ addiu $v0, $sp, 0x18 +/* D65B94 802415B4 0C0B7710 */ jal render_sprite +/* D65B98 802415B8 AFA20010 */ sw $v0, 0x10($sp) +/* D65B9C 802415BC 8FBF0120 */ lw $ra, 0x120($sp) +/* D65BA0 802415C0 8FB1011C */ lw $s1, 0x11c($sp) +/* D65BA4 802415C4 8FB00118 */ lw $s0, 0x118($sp) +/* D65BA8 802415C8 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D65BAC 802415CC 03E00008 */ jr $ra +/* D65BB0 802415D0 27BD0130 */ addiu $sp, $sp, 0x130 +/* D65BB4 802415D4 00000000 */ nop +/* D65BB8 802415D8 00000000 */ nop +/* D65BBC 802415DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240000_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240000_D67D00.s new file mode 100644 index 0000000000..cc4c51bec7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240000_D67D00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D67D00 +/* D67D00 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D67D04 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D67D08 80240008 24020001 */ addiu $v0, $zero, 1 +/* D67D0C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D67D10 80240010 03E00008 */ jr $ra +/* D67D14 80240014 0000102D */ daddu $v0, $zero, $zero +/* D67D18 80240018 00000000 */ nop +/* D67D1C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240020_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240020_D67D00.s new file mode 100644 index 0000000000..5d92775e54 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240020_D67D00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D67D20 +/* D67D20 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D67D24 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D67D28 80240028 00822024 */ and $a0, $a0, $v0 +/* D67D2C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D67D30 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D67D34 80240034 00821821 */ addu $v1, $a0, $v0 +/* D67D38 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D67D3C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D67D40 80240040 30620001 */ andi $v0, $v1, 1 +/* D67D44 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D67D48 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D67D4C 8024004C 03E00008 */ jr $ra +/* D67D50 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240054_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240054_D67D00.s new file mode 100644 index 0000000000..dd64475a90 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240054_D67D00.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D67D54 +/* D67D54 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D67D58 80240058 304300FF */ andi $v1, $v0, 0xff +/* D67D5C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D67D60 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D67D64 80240064 28620007 */ slti $v0, $v1, 7 +/* D67D68 80240068 10400005 */ beqz $v0, .L80240080 +/* D67D6C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D67D70 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D67D74 80240074 3C020100 */ lui $v0, 0x100 +/* D67D78 80240078 03E00008 */ jr $ra +/* D67D7C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D67D80 80240080 2862000A */ slti $v0, $v1, 0xa +/* D67D84 80240084 10400016 */ beqz $v0, .L802400E0 +/* D67D88 80240088 28620008 */ slti $v0, $v1, 8 +/* D67D8C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D67D90 80240090 3C020100 */ lui $v0, 0x100 +/* D67D94 80240094 03E00008 */ jr $ra +/* D67D98 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D67D9C 8024009C 3C020001 */ lui $v0, 1 +/* D67DA0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D67DA4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D67DA8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D67DAC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D67DB0 802400B0 03E00008 */ jr $ra +/* D67DB4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D67DB8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D67DBC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D67DC0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D67DC4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D67DC8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D67DCC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D67DD0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D67DD4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D67DD8 802400D8 03E00008 */ jr $ra +/* D67DDC 802400DC 00000000 */ nop +.L802400E0: +/* D67DE0 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D67DE4 802400E4 03E00008 */ jr $ra +/* D67DE8 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_802400EC_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_802400EC_D67D00.s new file mode 100644 index 0000000000..5708677d15 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_802400EC_D67D00.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D67DEC +/* D67DEC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D67DF0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D67DF4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D67DF8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D67DFC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D67E00 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D67E04 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D67E08 80240108 0000202D */ daddu $a0, $zero, $zero +/* D67E0C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D67E10 80240110 AC620000 */ sw $v0, ($v1) +/* D67E14 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D67E18 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D67E1C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D67E20 80240120 03E00008 */ jr $ra +/* D67E24 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240128_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240128_D67D00.s new file mode 100644 index 0000000000..f8d01a18eb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240128_D67D00.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D67E28 +/* D67E28 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D67E2C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D67E30 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D67E34 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D67E38 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D67E3C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D67E40 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D67E44 80240144 8E020000 */ lw $v0, ($s0) +/* D67E48 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D67E4C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D67E50 80240150 10400061 */ beqz $v0, .L802402D8 +/* D67E54 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D67E58 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D67E5C 8024015C 0C044181 */ jal get_shadow_by_index +/* D67E60 80240160 00000000 */ nop +/* D67E64 80240164 0C048B77 */ jal func_80122DDC +/* D67E68 80240168 84440008 */ lh $a0, 8($v0) +/* D67E6C 8024016C 8C430000 */ lw $v1, ($v0) +/* D67E70 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D67E74 80240174 AC430000 */ sw $v1, ($v0) +/* D67E78 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D67E7C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D67E80 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D67E84 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D67E88 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D67E8C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D67E90 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D67E94 80240194 3C04800A */ lui $a0, 0x800a +/* D67E98 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D67E9C 8024019C 46000007 */ neg.s $f0, $f0 +/* D67EA0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D67EA4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D67EA8 802401A8 0C00B94E */ jal get_screen_coords +/* D67EAC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D67EB0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D67EB4 802401B4 0C090008 */ jal func_80240020 +/* D67EB8 802401B8 00000000 */ nop +/* D67EBC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D67EC0 802401C0 3C014307 */ lui $at, 0x4307 +/* D67EC4 802401C4 44810000 */ mtc1 $at, $f0 +/* D67EC8 802401C8 00000000 */ nop +/* D67ECC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D67ED0 802401D0 00000000 */ nop +/* D67ED4 802401D4 4500000B */ bc1f .L80240204 +/* D67ED8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D67EDC 802401DC 3C014361 */ lui $at, 0x4361 +/* D67EE0 802401E0 44810000 */ mtc1 $at, $f0 +/* D67EE4 802401E4 00000000 */ nop +/* D67EE8 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D67EEC 802401EC 00000000 */ nop +/* D67EF0 802401F0 45000004 */ bc1f .L80240204 +/* D67EF4 802401F4 00000000 */ nop +/* D67EF8 802401F8 0C090015 */ jal func_80240054 +/* D67EFC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D67F00 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D67F04 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D67F08 80240208 0C0B76A3 */ jal func_802DDA8C +/* D67F0C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D67F10 80240210 8E020000 */ lw $v0, ($s0) +/* D67F14 80240214 3C030002 */ lui $v1, 2 +/* D67F18 80240218 00431024 */ and $v0, $v0, $v1 +/* D67F1C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D67F20 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D67F24 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D67F28 80240228 3C02802E */ lui $v0, 0x802e +/* D67F2C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D67F30 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D67F34 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D67F38 80240238 1040000B */ beqz $v0, .L80240268 +/* D67F3C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D67F40 80240240 24040002 */ addiu $a0, $zero, 2 +/* D67F44 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D67F48 80240248 24060007 */ addiu $a2, $zero, 7 +/* D67F4C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D67F50 80240250 0000382D */ daddu $a3, $zero, $zero +/* D67F54 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D67F58 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D67F5C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D67F60 80240260 080900A3 */ j .L8024028C +/* D67F64 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D67F68 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D67F6C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D67F70 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D67F74 80240274 0000302D */ daddu $a2, $zero, $zero +/* D67F78 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D67F7C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D67F80 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D67F84 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D67F88 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D67F8C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D67F90 80240290 00000000 */ nop +.L80240294: +/* D67F94 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D67F98 80240298 3C01802E */ lui $at, 0x802e +/* D67F9C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D67FA0 802402A0 080900AD */ j .L802402B4 +/* D67FA4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D67FA8 802402A8 3C01802E */ lui $at, 0x802e +/* D67FAC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D67FB0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D67FB4 802402B4 AC910000 */ sw $s1, ($a0) +/* D67FB8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D67FBC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D67FC0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D67FC4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D67FC8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D67FCC 802402CC 00021023 */ negu $v0, $v0 +/* D67FD0 802402D0 0C047644 */ jal queue_render_task +/* D67FD4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D67FD8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D67FDC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D67FE0 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D67FE4 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D67FE8 802402E8 03E00008 */ jr $ra +/* D67FEC 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_802402F0_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_802402F0_D67D00.s new file mode 100644 index 0000000000..6798643cbc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_802402F0_D67D00.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D67FF0 +/* D67FF0 802402F0 3C03800A */ lui $v1, 0x800a +/* D67FF4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D67FF8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D67FFC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D68000 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D68004 80240304 4480A000 */ mtc1 $zero, $f20 +/* D68008 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D6800C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D68010 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D68014 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D68018 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D6801C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D68020 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D68024 80240324 00031080 */ sll $v0, $v1, 2 +/* D68028 80240328 00431021 */ addu $v0, $v0, $v1 +/* D6802C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D68030 80240330 00431023 */ subu $v0, $v0, $v1 +/* D68034 80240334 000218C0 */ sll $v1, $v0, 3 +/* D68038 80240338 00431021 */ addu $v0, $v0, $v1 +/* D6803C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D68040 80240340 3C01800B */ lui $at, 0x800b +/* D68044 80240344 00220821 */ addu $at, $at, $v0 +/* D68048 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6804C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D68050 80240350 4600B587 */ neg.s $f22, $f22 +/* D68054 80240354 4405B000 */ mfc1 $a1, $f22 +/* D68058 80240358 0200202D */ daddu $a0, $s0, $zero +/* D6805C 8024035C 0C019EC8 */ jal guRotateF +/* D68060 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D68064 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D68068 80240368 0C00A6C9 */ jal clamp_angle +/* D6806C 8024036C 00000000 */ nop +/* D68070 80240370 44050000 */ mfc1 $a1, $f0 +/* D68074 80240374 4406A000 */ mfc1 $a2, $f20 +/* D68078 80240378 4407A000 */ mfc1 $a3, $f20 +/* D6807C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D68080 80240380 4481C000 */ mtc1 $at, $f24 +/* D68084 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D68088 80240388 0C019EC8 */ jal guRotateF +/* D6808C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D68090 80240390 0200202D */ daddu $a0, $s0, $zero +/* D68094 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D68098 80240398 0C019D80 */ jal guMtxCatF +/* D6809C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D680A0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D680A4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D680A8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D680AC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D680B0 802403B0 0C019EC8 */ jal guRotateF +/* D680B4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D680B8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D680BC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D680C0 802403C0 0C019D80 */ jal guMtxCatF +/* D680C4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D680C8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D680CC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D680D0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D680D4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D680D8 802403D8 0C019EC8 */ jal guRotateF +/* D680DC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D680E0 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D680E4 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D680E8 802403E8 0C019D80 */ jal guMtxCatF +/* D680EC 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D680F0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D680F4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D680F8 802403F8 44810000 */ mtc1 $at, $f0 +/* D680FC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D68100 80240400 44050000 */ mfc1 $a1, $f0 +/* D68104 80240404 0200202D */ daddu $a0, $s0, $zero +/* D68108 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D6810C 8024040C 0C019DF0 */ jal guScaleF +/* D68110 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D68114 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D68118 80240418 0200282D */ daddu $a1, $s0, $zero +/* D6811C 8024041C 0C019D80 */ jal guMtxCatF +/* D68120 80240420 0080302D */ daddu $a2, $a0, $zero +/* D68124 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D68128 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D6812C 8024042C 3C014040 */ lui $at, 0x4040 +/* D68130 80240430 44811000 */ mtc1 $at, $f2 +/* D68134 80240434 46000007 */ neg.s $f0, $f0 +/* D68138 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D6813C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D68140 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D68144 80240444 44070000 */ mfc1 $a3, $f0 +/* D68148 80240448 0C019E40 */ jal guTranslateF +/* D6814C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D68150 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D68154 80240454 0200282D */ daddu $a1, $s0, $zero +/* D68158 80240458 0C019D80 */ jal guMtxCatF +/* D6815C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D68160 80240460 24040002 */ addiu $a0, $zero, 2 +/* D68164 80240464 0000282D */ daddu $a1, $zero, $zero +/* D68168 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D6816C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D68170 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D68174 80240474 0C0B7710 */ jal render_sprite +/* D68178 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D6817C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D68180 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D68184 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D68188 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6818C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D68190 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D68194 80240494 03E00008 */ jr $ra +/* D68198 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_8024049C_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_8024049C_D67D00.s new file mode 100644 index 0000000000..cbfae4df8d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_8024049C_D67D00.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D6819C +/* D6819C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D681A0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D681A4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D681A8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D681AC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D681B0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D681B4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D681B8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D681BC 802404BC 00000000 */ nop +/* D681C0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D681C4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D681C8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D681CC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D681D0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D681D4 802404D4 AC620000 */ sw $v0, ($v1) +/* D681D8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D681DC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D681E0 802404E0 8C620000 */ lw $v0, ($v1) +/* D681E4 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D681E8 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D681EC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D681F0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D681F4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D681F8 802404F8 03E00008 */ jr $ra +/* D681FC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240500_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240500_D67D00.s new file mode 100644 index 0000000000..5c1528ee42 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240500_D67D00.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D68200 +/* D68200 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D68204 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D68208 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6820C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D68210 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D68214 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D68218 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D6821C 8024051C 8E020000 */ lw $v0, ($s0) +/* D68220 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D68224 80240524 30420001 */ andi $v0, $v0, 1 +/* D68228 80240528 10400052 */ beqz $v0, .L80240674 +/* D6822C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D68230 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D68234 80240534 0C044181 */ jal get_shadow_by_index +/* D68238 80240538 00000000 */ nop +/* D6823C 8024053C 0C048B77 */ jal func_80122DDC +/* D68240 80240540 84440008 */ lh $a0, 8($v0) +/* D68244 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D68248 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D6824C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D68250 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D68254 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D68258 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D6825C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D68260 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D68264 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D68268 80240568 3C04800A */ lui $a0, 0x800a +/* D6826C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D68270 80240570 46000007 */ neg.s $f0, $f0 +/* D68274 80240574 44060000 */ mfc1 $a2, $f0 +/* D68278 80240578 0C00B94E */ jal get_screen_coords +/* D6827C 8024057C 00000000 */ nop +/* D68280 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D68284 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D68288 80240588 0C0B76A3 */ jal func_802DDA8C +/* D6828C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D68290 80240590 8E020000 */ lw $v0, ($s0) +/* D68294 80240594 3C030002 */ lui $v1, 2 +/* D68298 80240598 00431024 */ and $v0, $v0, $v1 +/* D6829C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D682A0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D682A4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D682A8 802405A8 3C02802E */ lui $v0, 0x802e +/* D682AC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D682B0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D682B4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D682B8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D682BC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D682C0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D682C4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D682C8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D682CC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D682D0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D682D4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D682D8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D682DC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D682E0 802405E0 08090183 */ j .L8024060C +/* D682E4 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D682E8 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D682EC 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D682F0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D682F4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D682F8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D682FC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D68300 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D68304 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D68308 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D6830C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D68310 80240610 00000000 */ nop +.L80240614: +/* D68314 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D68318 80240618 3C01802E */ lui $at, 0x802e +/* D6831C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D68320 80240620 0809018C */ j .L80240630 +/* D68324 80240624 00000000 */ nop +.L80240628: +/* D68328 80240628 3C01802E */ lui $at, 0x802e +/* D6832C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D68330 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D68334 80240634 3C048024 */ lui $a0, 0x8024 +/* D68338 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D6833C 8024063C AE320000 */ sw $s2, ($s1) +/* D68340 80240640 AE300008 */ sw $s0, 8($s1) +/* D68344 80240644 00021023 */ negu $v0, $v0 +/* D68348 80240648 AE220004 */ sw $v0, 4($s1) +/* D6834C 8024064C 8E020000 */ lw $v0, ($s0) +/* D68350 80240650 3C030002 */ lui $v1, 2 +/* D68354 80240654 00431024 */ and $v0, $v0, $v1 +/* D68358 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D6835C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D68360 80240660 3C048024 */ lui $a0, 0x8024 +/* D68364 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D68368 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D6836C 8024066C 0C047644 */ jal queue_render_task +/* D68370 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D68374 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D68378 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D6837C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D68380 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D68384 80240684 03E00008 */ jr $ra +/* D68388 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_8024068C_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_8024068C_D67D00.s new file mode 100644 index 0000000000..0fd8e4a9fc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_8024068C_D67D00.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D6838C +/* D6838C 8024068C 3C03800A */ lui $v1, 0x800a +/* D68390 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D68394 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D68398 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6839C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D683A0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D683A4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D683A8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D683AC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D683B0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D683B4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D683B8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D683BC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D683C0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D683C4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D683C8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D683CC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D683D0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D683D4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D683D8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D683DC 802406DC 3C01800B */ lui $at, 0x800b +/* D683E0 802406E0 00220821 */ addu $at, $at, $v0 +/* D683E4 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D683E8 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D683EC 802406EC 4600B587 */ neg.s $f22, $f22 +/* D683F0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D683F4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D683F8 802406F8 0C019EC8 */ jal guRotateF +/* D683FC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D68400 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D68404 80240704 0C00A6C9 */ jal clamp_angle +/* D68408 80240708 00000000 */ nop +/* D6840C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D68410 80240710 4406A000 */ mfc1 $a2, $f20 +/* D68414 80240714 4407A000 */ mfc1 $a3, $f20 +/* D68418 80240718 3C013F80 */ lui $at, 0x3f80 +/* D6841C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D68420 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D68424 80240724 0C019EC8 */ jal guRotateF +/* D68428 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D6842C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D68430 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D68434 80240734 0C019D80 */ jal guMtxCatF +/* D68438 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D6843C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D68440 80240740 4406A000 */ mfc1 $a2, $f20 +/* D68444 80240744 4407C000 */ mfc1 $a3, $f24 +/* D68448 80240748 0200202D */ daddu $a0, $s0, $zero +/* D6844C 8024074C 0C019EC8 */ jal guRotateF +/* D68450 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D68454 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D68458 80240758 0200282D */ daddu $a1, $s0, $zero +/* D6845C 8024075C 0C019D80 */ jal guMtxCatF +/* D68460 80240760 0080302D */ daddu $a2, $a0, $zero +/* D68464 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D68468 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6846C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D68470 80240770 4407C000 */ mfc1 $a3, $f24 +/* D68474 80240774 0C019EC8 */ jal guRotateF +/* D68478 80240778 0200202D */ daddu $a0, $s0, $zero +/* D6847C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D68480 80240780 0200282D */ daddu $a1, $s0, $zero +/* D68484 80240784 0C019D80 */ jal guMtxCatF +/* D68488 80240788 0080302D */ daddu $a2, $a0, $zero +/* D6848C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D68490 80240790 3C013F36 */ lui $at, 0x3f36 +/* D68494 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D68498 80240798 44810000 */ mtc1 $at, $f0 +/* D6849C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D684A0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D684A4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D684A8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D684AC 802407AC 0C019DF0 */ jal guScaleF +/* D684B0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D684B4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D684B8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D684BC 802407BC 0C019D80 */ jal guMtxCatF +/* D684C0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D684C4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D684C8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D684CC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D684D0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D684D4 802407D4 46000007 */ neg.s $f0, $f0 +/* D684D8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D684DC 802407DC 0C019E40 */ jal guTranslateF +/* D684E0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D684E4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D684E8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D684EC 802407EC 0C019D80 */ jal guMtxCatF +/* D684F0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D684F4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D684F8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D684FC 802407FC 44810000 */ mtc1 $at, $f0 +/* D68500 80240800 00000000 */ nop +/* D68504 80240804 4602003E */ c.le.s $f0, $f2 +/* D68508 80240808 00000000 */ nop +/* D6850C 8024080C 4500000A */ bc1f .L80240838 +/* D68510 80240810 24040001 */ addiu $a0, $zero, 1 +/* D68514 80240814 3C014387 */ lui $at, 0x4387 +/* D68518 80240818 44810000 */ mtc1 $at, $f0 +/* D6851C 8024081C 00000000 */ nop +/* D68520 80240820 4600103C */ c.lt.s $f2, $f0 +/* D68524 80240824 00000000 */ nop +/* D68528 80240828 45000004 */ bc1f .L8024083C +/* D6852C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D68530 80240830 3C041000 */ lui $a0, 0x1000 +/* D68534 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D68538 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D6853C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D68540 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D68544 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D68548 80240848 0C0B7710 */ jal render_sprite +/* D6854C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D68550 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D68554 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D68558 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D6855C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D68560 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D68564 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D68568 80240868 03E00008 */ jr $ra +/* D6856C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240870_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240870_D67D00.s new file mode 100644 index 0000000000..95c7062cf8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240870_D67D00.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D68570 +/* D68570 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D68574 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D68578 80240878 4480B000 */ mtc1 $zero, $f22 +/* D6857C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D68580 80240880 0080882D */ daddu $s1, $a0, $zero +/* D68584 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D68588 80240888 0000982D */ daddu $s3, $zero, $zero +/* D6858C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D68590 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D68594 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D68598 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D6859C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D685A0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D685A4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D685A8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D685AC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D685B0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D685B4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D685B8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D685BC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D685C0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D685C4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D685C8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D685CC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D685D0 802408D0 3C03800A */ lui $v1, 0x800a +/* D685D4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D685D8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D685DC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D685E0 802408E0 00021080 */ sll $v0, $v0, 2 +/* D685E4 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D685E8 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D685EC 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D685F0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D685F4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D685F8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D685FC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D68600 80240900 46000507 */ neg.s $f20, $f0 +/* D68604 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D68608 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D6860C 8024090C 44810000 */ mtc1 $at, $f0 +/* D68610 80240910 00000000 */ nop +/* D68614 80240914 4602003C */ c.lt.s $f0, $f2 +/* D68618 80240918 00000000 */ nop +/* D6861C 8024091C 4500000A */ bc1f .L80240948 +/* D68620 80240920 00000000 */ nop +/* D68624 80240924 3C014334 */ lui $at, 0x4334 +/* D68628 80240928 44812000 */ mtc1 $at, $f4 +/* D6862C 8024092C 00000000 */ nop +/* D68630 80240930 4604103E */ c.le.s $f2, $f4 +/* D68634 80240934 00000000 */ nop +/* D68638 80240938 45000003 */ bc1f .L80240948 +/* D6863C 8024093C 00000000 */ nop +/* D68640 80240940 08090276 */ j .L802409D8 +/* D68644 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D68648 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D6864C 8024094C 3C014334 */ lui $at, 0x4334 +/* D68650 80240950 44812000 */ mtc1 $at, $f4 +/* D68654 80240954 00000000 */ nop +/* D68658 80240958 4600203C */ c.lt.s $f4, $f0 +/* D6865C 8024095C 00000000 */ nop +/* D68660 80240960 4500000C */ bc1f .L80240994 +/* D68664 80240964 00000000 */ nop +/* D68668 80240968 3C014387 */ lui $at, 0x4387 +/* D6866C 8024096C 44812000 */ mtc1 $at, $f4 +/* D68670 80240970 00000000 */ nop +/* D68674 80240974 4604003E */ c.le.s $f0, $f4 +/* D68678 80240978 00000000 */ nop +/* D6867C 8024097C 45000008 */ bc1f .L802409A0 +/* D68680 80240980 00000000 */ nop +/* D68684 80240984 3C014334 */ lui $at, 0x4334 +/* D68688 80240988 44812000 */ mtc1 $at, $f4 +/* D6868C 8024098C 08090276 */ j .L802409D8 +/* D68690 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D68694 80240994 3C014387 */ lui $at, 0x4387 +/* D68698 80240998 44812000 */ mtc1 $at, $f4 +/* D6869C 8024099C 00000000 */ nop +.L802409A0: +/* D686A0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D686A4 802409A4 00000000 */ nop +/* D686A8 802409A8 4500000A */ bc1f .L802409D4 +/* D686AC 802409AC 00000000 */ nop +/* D686B0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D686B4 802409B4 44811000 */ mtc1 $at, $f2 +/* D686B8 802409B8 00000000 */ nop +/* D686BC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D686C0 802409C0 00000000 */ nop +/* D686C4 802409C4 45000003 */ bc1f .L802409D4 +/* D686C8 802409C8 00000000 */ nop +/* D686CC 802409CC 08090276 */ j .L802409D8 +/* D686D0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D686D4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D686D8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D686DC 802409DC 44810000 */ mtc1 $at, $f0 +/* D686E0 802409E0 00000000 */ nop +/* D686E4 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D686E8 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D686EC 802409EC 44072000 */ mfc1 $a3, $f4 +/* D686F0 802409F0 00000000 */ nop +/* D686F4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D686F8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D686FC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D68700 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D68704 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D68708 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D6870C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D68710 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D68714 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D68718 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D6871C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D68720 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D68724 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D68728 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D6872C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D68730 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D68734 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D68738 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D6873C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D68740 80240A40 0C019EC8 */ jal guRotateF +/* D68744 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D68748 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6874C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D68750 80240A50 00000000 */ nop +/* D68754 80240A54 44050000 */ mfc1 $a1, $f0 +/* D68758 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D6875C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D68760 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D68764 80240A64 44812000 */ mtc1 $at, $f4 +/* D68768 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D6876C 80240A6C 0C019EC8 */ jal guRotateF +/* D68770 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D68774 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D68778 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D6877C 80240A7C 0C019D80 */ jal guMtxCatF +/* D68780 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D68784 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D68788 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6878C 80240A8C 080902D6 */ j .L80240B58 +/* D68790 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D68794 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D68798 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D6879C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D687A0 80240AA0 0C03964E */ jal func_800E5938 +/* D687A4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D687A8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D687AC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D687B0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D687B4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D687B8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D687BC 80240ABC 080902B5 */ j .L80240AD4 +/* D687C0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D687C4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D687C8 80240AC8 00000000 */ nop +/* D687CC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D687D0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D687D4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D687D8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D687DC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D687E0 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D687E4 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D687E8 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D687EC 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D687F0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D687F4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D687F8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D687FC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D68800 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D68804 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D68808 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D6880C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D68810 80240B10 0C019EC8 */ jal guRotateF +/* D68814 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D68818 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D6881C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D68820 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D68824 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D68828 80240B28 0C019EC8 */ jal guRotateF +/* D6882C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D68830 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D68834 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D68838 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6883C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D68840 80240B40 0C019EC8 */ jal guRotateF +/* D68844 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D68848 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6884C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D68850 80240B50 0C019D80 */ jal guMtxCatF +/* D68854 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D68858 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6885C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D68860 80240B60 44812000 */ mtc1 $at, $f4 +/* D68864 80240B64 00021023 */ negu $v0, $v0 +/* D68868 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6886C 80240B6C 00000000 */ nop +/* D68870 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D68874 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D68878 80240B78 00000000 */ nop +/* D6887C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D68880 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D68884 80240B84 44062000 */ mfc1 $a2, $f4 +/* D68888 80240B88 0C019E40 */ jal guTranslateF +/* D6888C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D68890 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D68894 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D68898 80240B98 0C019D80 */ jal guMtxCatF +/* D6889C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D688A0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D688A4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D688A8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D688AC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D688B0 80240BB0 0C019EC8 */ jal guRotateF +/* D688B4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D688B8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D688BC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D688C0 80240BC0 0C019D80 */ jal guMtxCatF +/* D688C4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D688C8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D688CC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D688D0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D688D4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D688D8 80240BD8 0C019EC8 */ jal guRotateF +/* D688DC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D688E0 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D688E4 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D688E8 80240BE8 0C019D80 */ jal guMtxCatF +/* D688EC 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D688F0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D688F4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D688F8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D688FC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D68900 80240C00 00000000 */ nop +/* D68904 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D68908 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D6890C 80240C0C 00000000 */ nop +/* D68910 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D68914 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D68918 80240C18 44062000 */ mfc1 $a2, $f4 +/* D6891C 80240C1C 0C019E40 */ jal guTranslateF +/* D68920 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D68924 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D68928 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6892C 80240C2C 0C019D80 */ jal guMtxCatF +/* D68930 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D68934 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D68938 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6893C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D68940 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D68944 80240C44 44050000 */ mfc1 $a1, $f0 +/* D68948 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6894C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D68950 80240C50 0C019DF0 */ jal guScaleF +/* D68954 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D68958 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6895C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D68960 80240C60 0C019D80 */ jal guMtxCatF +/* D68964 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D68968 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6896C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D68970 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D68974 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D68978 80240C78 0C019E40 */ jal guTranslateF +/* D6897C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D68980 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D68984 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D68988 80240C88 0C019D80 */ jal guMtxCatF +/* D6898C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D68990 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D68994 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D68998 80240C98 44810000 */ mtc1 $at, $f0 +/* D6899C 80240C9C 00000000 */ nop +/* D689A0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D689A4 80240CA4 00000000 */ nop +/* D689A8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D689AC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D689B0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D689B4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D689B8 80240CB8 00000000 */ nop +/* D689BC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D689C0 80240CC0 00000000 */ nop +/* D689C4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D689C8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D689CC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D689D0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D689D4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D689D8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D689DC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D689E0 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D689E4 80240CE4 0C0B7710 */ jal render_sprite +/* D689E8 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D689EC 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D689F0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D689F4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D689F8 80240CF8 00000000 */ nop +/* D689FC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D68A00 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D68A04 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D68A08 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D68A0C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D68A10 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D68A14 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D68A18 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D68A1C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D68A20 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D68A24 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D68A28 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D68A2C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D68A30 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D68A34 80240D34 03E00008 */ jr $ra +/* D68A38 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240D3C_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240D3C_D67D00.s new file mode 100644 index 0000000000..756a258996 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240D3C_D67D00.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D68A3C +/* D68A3C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D68A40 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D68A44 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D68A48 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D68A4C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D68A50 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D68A54 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D68A58 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D68A5C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D68A60 80240D60 00000000 */ nop +/* D68A64 80240D64 28620002 */ slti $v0, $v1, 2 +/* D68A68 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D68A6C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D68A70 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D68A74 80240D74 00000000 */ nop +/* D68A78 80240D78 08090378 */ j .L80240DE0 +/* D68A7C 80240D7C 00000000 */ nop +.L80240D80: +/* D68A80 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D68A84 80240D84 00000000 */ nop +/* D68A88 80240D88 08090378 */ j .L80240DE0 +/* D68A8C 80240D8C 00000000 */ nop +.L80240D90: +/* D68A90 80240D90 3C048024 */ lui $a0, 0x8024 +/* D68A94 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D68A98 80240D98 08090374 */ j .L80240DD0 +/* D68A9C 80240D9C 00000000 */ nop +.L80240DA0: +/* D68AA0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D68AA4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D68AA8 80240DA8 08090374 */ j .L80240DD0 +/* D68AAC 80240DAC 00000000 */ nop +.L80240DB0: +/* D68AB0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D68AB4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D68AB8 80240DB8 00000000 */ nop +/* D68ABC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D68AC0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D68AC4 80240DC4 00000000 */ nop +.L80240DC8: +/* D68AC8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D68ACC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D68AD0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D68AD4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D68AD8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D68ADC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D68AE0 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D68AE4 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D68AE8 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D68AEC 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D68AF0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D68AF4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D68AF8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D68AFC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D68B00 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D68B04 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D68B08 80240E08 28820002 */ slti $v0, $a0, 2 +/* D68B0C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D68B10 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D68B14 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D68B18 80240E18 00000000 */ nop +/* D68B1C 80240E1C 0809039D */ j .L80240E74 +/* D68B20 80240E20 00000000 */ nop +.L80240E24: +/* D68B24 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D68B28 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D68B2C 80240E2C 0809039D */ j .L80240E74 +/* D68B30 80240E30 00000000 */ nop +.L80240E34: +/* D68B34 80240E34 8CA20000 */ lw $v0, ($a1) +/* D68B38 80240E38 0809039A */ j .L80240E68 +/* D68B3C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D68B40 80240E40 8CA20000 */ lw $v0, ($a1) +/* D68B44 80240E44 0809039A */ j .L80240E68 +/* D68B48 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D68B4C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D68B50 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D68B54 80240E54 28420002 */ slti $v0, $v0, 2 +/* D68B58 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D68B5C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D68B60 80240E60 8CA20000 */ lw $v0, ($a1) +/* D68B64 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D68B68 80240E68 00431025 */ or $v0, $v0, $v1 +/* D68B6C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D68B70 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D68B74 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D68B78 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D68B7C 80240E7C 03E00008 */ jr $ra +/* D68B80 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240E84_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240E84_D67D00.s new file mode 100644 index 0000000000..7c4795fc99 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240E84_D67D00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D68B84 +/* D68B84 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D68B88 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D68B8C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D68B90 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D68B94 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D68B98 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D68B9C 80240E9C 3C03000A */ lui $v1, 0xa +/* D68BA0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D68BA4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D68BA8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D68BAC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D68BB0 80240EB0 03E00008 */ jr $ra +/* D68BB4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240EB8_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240EB8_D67D00.s new file mode 100644 index 0000000000..ce465a9a10 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240EB8_D67D00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D68BB8 +/* D68BB8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D68BBC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D68BC0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D68BC4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D68BC8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D68BCC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D68BD0 80240ED0 3C030008 */ lui $v1, 8 +/* D68BD4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D68BD8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D68BDC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D68BE0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D68BE4 80240EE4 03E00008 */ jr $ra +/* D68BE8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240EEC_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240EEC_D67D00.s new file mode 100644 index 0000000000..0622fcbaac --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240EEC_D67D00.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D68BEC +/* D68BEC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D68BF0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D68BF4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D68BF8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D68BFC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D68C00 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D68C04 80240F04 3C030002 */ lui $v1, 2 +/* D68C08 80240F08 8C820000 */ lw $v0, ($a0) +/* D68C0C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D68C10 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D68C14 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D68C18 80240F18 03E00008 */ jr $ra +/* D68C1C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240F20_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240F20_D67D00.s new file mode 100644 index 0000000000..e0a141a9fd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240F20_D67D00.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D68C20 +/* D68C20 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D68C24 80240F24 AFB00010 */ sw $s0, 0x10($sp) +/* D68C28 80240F28 3C108024 */ lui $s0, 0x8024 +/* D68C2C 80240F2C 26101930 */ addiu $s0, $s0, 0x1930 +/* D68C30 80240F30 AFBF0018 */ sw $ra, 0x18($sp) +/* D68C34 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* D68C38 80240F38 8E020000 */ lw $v0, ($s0) +/* D68C3C 80240F3C 14400010 */ bnez $v0, .L80240F80 +/* D68C40 80240F40 0080882D */ daddu $s1, $a0, $zero +/* D68C44 80240F44 0C00AB39 */ jal heap_malloc +/* D68C48 80240F48 24040040 */ addiu $a0, $zero, 0x40 +/* D68C4C 80240F4C AE020000 */ sw $v0, ($s0) +/* D68C50 80240F50 0000182D */ daddu $v1, $zero, $zero +/* D68C54 80240F54 0040282D */ daddu $a1, $v0, $zero +/* D68C58 80240F58 0220202D */ daddu $a0, $s1, $zero +.L80240F5C: +/* D68C5C 80240F5C 8C820084 */ lw $v0, 0x84($a0) +/* D68C60 80240F60 24840004 */ addiu $a0, $a0, 4 +/* D68C64 80240F64 24630001 */ addiu $v1, $v1, 1 +/* D68C68 80240F68 ACA20000 */ sw $v0, ($a1) +/* D68C6C 80240F6C 28620010 */ slti $v0, $v1, 0x10 +/* D68C70 80240F70 1440FFFA */ bnez $v0, .L80240F5C +/* D68C74 80240F74 24A50004 */ addiu $a1, $a1, 4 +/* D68C78 80240F78 080903EF */ j .L80240FBC +/* D68C7C 80240F7C 00000000 */ nop +.L80240F80: +/* D68C80 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D68C84 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D68C88 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D68C8C 80240F8C 8CA20000 */ lw $v0, ($a1) +/* D68C90 80240F90 24A50004 */ addiu $a1, $a1, 4 +/* D68C94 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D68C98 80240F98 AC820084 */ sw $v0, 0x84($a0) +/* D68C9C 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D68CA0 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D68CA4 80240FA4 24840004 */ addiu $a0, $a0, 4 +/* D68CA8 80240FA8 3C108024 */ lui $s0, 0x8024 +/* D68CAC 80240FAC 26101930 */ addiu $s0, $s0, 0x1930 +/* D68CB0 80240FB0 0C00AB4B */ jal heap_free +/* D68CB4 80240FB4 8E040000 */ lw $a0, ($s0) +/* D68CB8 80240FB8 AE000000 */ sw $zero, ($s0) +.L80240FBC: +/* D68CBC 80240FBC 8FBF0018 */ lw $ra, 0x18($sp) +/* D68CC0 80240FC0 8FB10014 */ lw $s1, 0x14($sp) +/* D68CC4 80240FC4 8FB00010 */ lw $s0, 0x10($sp) +/* D68CC8 80240FC8 24020002 */ addiu $v0, $zero, 2 +/* D68CCC 80240FCC 03E00008 */ jr $ra +/* D68CD0 80240FD0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80240FD4_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80240FD4_D67D00.s new file mode 100644 index 0000000000..403c05ed54 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80240FD4_D67D00.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD4_D68CD4 +/* D68CD4 80240FD4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D68CD8 80240FD8 AFB00010 */ sw $s0, 0x10($sp) +/* D68CDC 80240FDC 0080802D */ daddu $s0, $a0, $zero +/* D68CE0 80240FE0 AFBF0018 */ sw $ra, 0x18($sp) +/* D68CE4 80240FE4 AFB10014 */ sw $s1, 0x14($sp) +/* D68CE8 80240FE8 8E02000C */ lw $v0, 0xc($s0) +/* D68CEC 80240FEC 8C510000 */ lw $s1, ($v0) +/* D68CF0 80240FF0 0C0B1EAF */ jal get_variable +/* D68CF4 80240FF4 0220282D */ daddu $a1, $s1, $zero +/* D68CF8 80240FF8 3C03FFF0 */ lui $v1, 0xfff0 +/* D68CFC 80240FFC 3463FFFF */ ori $v1, $v1, 0xffff +/* D68D00 80241000 0200202D */ daddu $a0, $s0, $zero +/* D68D04 80241004 00431024 */ and $v0, $v0, $v1 +/* D68D08 80241008 00021140 */ sll $v0, $v0, 5 +/* D68D0C 8024100C 3C068008 */ lui $a2, %hi(gItemTable) +/* D68D10 80241010 00C23021 */ addu $a2, $a2, $v0 +/* D68D14 80241014 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D68D18 80241018 0C0B2026 */ jal set_variable +/* D68D1C 8024101C 0220282D */ daddu $a1, $s1, $zero +/* D68D20 80241020 8FBF0018 */ lw $ra, 0x18($sp) +/* D68D24 80241024 8FB10014 */ lw $s1, 0x14($sp) +/* D68D28 80241028 8FB00010 */ lw $s0, 0x10($sp) +/* D68D2C 8024102C 24020002 */ addiu $v0, $zero, 2 +/* D68D30 80241030 03E00008 */ jr $ra +/* D68D34 80241034 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80241038_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80241038_D67D00.s new file mode 100644 index 0000000000..afe81421c0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80241038_D67D00.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241038_D68D38 +/* D68D38 80241038 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D68D3C 8024103C AFB10014 */ sw $s1, 0x14($sp) +/* D68D40 80241040 0080882D */ daddu $s1, $a0, $zero +/* D68D44 80241044 AFBF001C */ sw $ra, 0x1c($sp) +/* D68D48 80241048 AFB20018 */ sw $s2, 0x18($sp) +/* D68D4C 8024104C AFB00010 */ sw $s0, 0x10($sp) +/* D68D50 80241050 8E240084 */ lw $a0, 0x84($s1) +/* D68D54 80241054 0C04C3D6 */ jal get_item_entity +/* D68D58 80241058 00A0802D */ daddu $s0, $a1, $zero +/* D68D5C 8024105C 12000005 */ beqz $s0, .L80241074 +/* D68D60 80241060 0040902D */ daddu $s2, $v0, $zero +/* D68D64 80241064 C640000C */ lwc1 $f0, 0xc($s2) +/* D68D68 80241068 AE200074 */ sw $zero, 0x74($s1) +/* D68D6C 8024106C AE20007C */ sw $zero, 0x7c($s1) +/* D68D70 80241070 E6200078 */ swc1 $f0, 0x78($s1) +.L80241074: +/* D68D74 80241074 8E230074 */ lw $v1, 0x74($s1) +/* D68D78 80241078 10600005 */ beqz $v1, .L80241090 +/* D68D7C 8024107C 24020001 */ addiu $v0, $zero, 1 +/* D68D80 80241080 10620024 */ beq $v1, $v0, .L80241114 +/* D68D84 80241084 00000000 */ nop +/* D68D88 80241088 0809045B */ j .L8024116C +/* D68D8C 8024108C 00000000 */ nop +.L80241090: +/* D68D90 80241090 3C013FC9 */ lui $at, 0x3fc9 +/* D68D94 80241094 34210FD8 */ ori $at, $at, 0xfd8 +/* D68D98 80241098 44810000 */ mtc1 $at, $f0 +/* D68D9C 8024109C C62C007C */ lwc1 $f12, 0x7c($s1) +/* D68DA0 802410A0 46806320 */ cvt.s.w $f12, $f12 +/* D68DA4 802410A4 46006302 */ mul.s $f12, $f12, $f0 +/* D68DA8 802410A8 00000000 */ nop +/* D68DAC 802410AC 3C0141F0 */ lui $at, 0x41f0 +/* D68DB0 802410B0 44810000 */ mtc1 $at, $f0 +/* D68DB4 802410B4 0C00A874 */ jal cos_rad +/* D68DB8 802410B8 46006303 */ div.s $f12, $f12, $f0 +/* D68DBC 802410BC 3C013F80 */ lui $at, 0x3f80 +/* D68DC0 802410C0 44811000 */ mtc1 $at, $f2 +/* D68DC4 802410C4 00000000 */ nop +/* D68DC8 802410C8 46001081 */ sub.s $f2, $f2, $f0 +/* D68DCC 802410CC 3C0141A0 */ lui $at, 0x41a0 +/* D68DD0 802410D0 44810000 */ mtc1 $at, $f0 +/* D68DD4 802410D4 00000000 */ nop +/* D68DD8 802410D8 46001082 */ mul.s $f2, $f2, $f0 +/* D68DDC 802410DC 00000000 */ nop +/* D68DE0 802410E0 C6200078 */ lwc1 $f0, 0x78($s1) +/* D68DE4 802410E4 46020000 */ add.s $f0, $f0, $f2 +/* D68DE8 802410E8 E640000C */ swc1 $f0, 0xc($s2) +/* D68DEC 802410EC 8E23007C */ lw $v1, 0x7c($s1) +/* D68DF0 802410F0 2402001E */ addiu $v0, $zero, 0x1e +/* D68DF4 802410F4 14620005 */ bne $v1, $v0, .L8024110C +/* D68DF8 802410F8 24620001 */ addiu $v0, $v1, 1 +/* D68DFC 802410FC 24020001 */ addiu $v0, $zero, 1 +/* D68E00 80241100 AE220074 */ sw $v0, 0x74($s1) +/* D68E04 80241104 0809045B */ j .L8024116C +/* D68E08 80241108 AE20007C */ sw $zero, 0x7c($s1) +.L8024110C: +/* D68E0C 8024110C 0809045B */ j .L8024116C +/* D68E10 80241110 AE22007C */ sw $v0, 0x7c($s1) +.L80241114: +/* D68E14 80241114 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D68E18 80241118 0C00A8D4 */ jal cos_deg +/* D68E1C 8024111C 46806320 */ cvt.s.w $f12, $f12 +/* D68E20 80241120 3C014040 */ lui $at, 0x4040 +/* D68E24 80241124 44811000 */ mtc1 $at, $f2 +/* D68E28 80241128 00000000 */ nop +/* D68E2C 8024112C 46020002 */ mul.s $f0, $f0, $f2 +/* D68E30 80241130 00000000 */ nop +/* D68E34 80241134 3C014188 */ lui $at, 0x4188 +/* D68E38 80241138 44812000 */ mtc1 $at, $f4 +/* D68E3C 8024113C C6220078 */ lwc1 $f2, 0x78($s1) +/* D68E40 80241140 46041080 */ add.s $f2, $f2, $f4 +/* D68E44 80241144 46001080 */ add.s $f2, $f2, $f0 +/* D68E48 80241148 E642000C */ swc1 $f2, 0xc($s2) +/* D68E4C 8024114C 8E22007C */ lw $v0, 0x7c($s1) +/* D68E50 80241150 24420009 */ addiu $v0, $v0, 9 +/* D68E54 80241154 44826000 */ mtc1 $v0, $f12 +/* D68E58 80241158 00000000 */ nop +/* D68E5C 8024115C 0C00A6C9 */ jal clamp_angle +/* D68E60 80241160 46806320 */ cvt.s.w $f12, $f12 +/* D68E64 80241164 4600018D */ trunc.w.s $f6, $f0 +/* D68E68 80241168 E626007C */ swc1 $f6, 0x7c($s1) +.L8024116C: +/* D68E6C 8024116C 8FBF001C */ lw $ra, 0x1c($sp) +/* D68E70 80241170 8FB20018 */ lw $s2, 0x18($sp) +/* D68E74 80241174 8FB10014 */ lw $s1, 0x14($sp) +/* D68E78 80241178 8FB00010 */ lw $s0, 0x10($sp) +/* D68E7C 8024117C 0000102D */ daddu $v0, $zero, $zero +/* D68E80 80241180 03E00008 */ jr $ra +/* D68E84 80241184 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_14/func_80241188_D67D00.s b/asm/nonmatchings/world/area_pra/pra_14/func_80241188_D67D00.s new file mode 100644 index 0000000000..e708da90fe --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_14/func_80241188_D67D00.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241188_D68E88 +/* D68E88 80241188 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D68E8C 8024118C AFB00010 */ sw $s0, 0x10($sp) +/* D68E90 80241190 0080802D */ daddu $s0, $a0, $zero +/* D68E94 80241194 AFBF0014 */ sw $ra, 0x14($sp) +/* D68E98 80241198 8E02000C */ lw $v0, 0xc($s0) +/* D68E9C 8024119C 0C0B1EAF */ jal get_variable +/* D68EA0 802411A0 8C450000 */ lw $a1, ($v0) +/* D68EA4 802411A4 00021140 */ sll $v0, $v0, 5 +/* D68EA8 802411A8 AE000084 */ sw $zero, 0x84($s0) +/* D68EAC 802411AC 3C018008 */ lui $at, 0x8008 +/* D68EB0 802411B0 00220821 */ addu $at, $at, $v0 +/* D68EB4 802411B4 942278F8 */ lhu $v0, 0x78f8($at) +/* D68EB8 802411B8 30420040 */ andi $v0, $v0, 0x40 +/* D68EBC 802411BC 10400002 */ beqz $v0, .L802411C8 +/* D68EC0 802411C0 24020001 */ addiu $v0, $zero, 1 +/* D68EC4 802411C4 AE020084 */ sw $v0, 0x84($s0) +.L802411C8: +/* D68EC8 802411C8 8FBF0014 */ lw $ra, 0x14($sp) +/* D68ECC 802411CC 8FB00010 */ lw $s0, 0x10($sp) +/* D68ED0 802411D0 24020002 */ addiu $v0, $zero, 2 +/* D68ED4 802411D4 03E00008 */ jr $ra +/* D68ED8 802411D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* D68EDC 802411DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_15/func_80240000_D69810.s b/asm/nonmatchings/world/area_pra/pra_15/func_80240000_D69810.s new file mode 100644 index 0000000000..126d748169 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_15/func_80240000_D69810.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D69810 +/* D69810 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D69814 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D69818 80240008 24020001 */ addiu $v0, $zero, 1 +/* D6981C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D69820 80240010 03E00008 */ jr $ra +/* D69824 80240014 0000102D */ daddu $v0, $zero, $zero +/* D69828 80240018 00000000 */ nop +/* D6982C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_15/func_80240020_D69810.s b/asm/nonmatchings/world/area_pra/pra_15/func_80240020_D69810.s new file mode 100644 index 0000000000..d1276f07d5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_15/func_80240020_D69810.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D69830 +/* D69830 80240020 3C02800A */ lui $v0, %hi(D_8009A650) +/* D69834 80240024 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* D69838 80240028 8C430000 */ lw $v1, ($v0) +/* D6983C 8024002C 2404FF7F */ addiu $a0, $zero, -0x81 +/* D69840 80240030 00641824 */ and $v1, $v1, $a0 +/* D69844 80240034 AC430000 */ sw $v1, ($v0) +/* D69848 80240038 03E00008 */ jr $ra +/* D6984C 8024003C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240000_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240000_D69B20.s new file mode 100644 index 0000000000..339d762738 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240000_D69B20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D69B20 +/* D69B20 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D69B24 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D69B28 80240008 24020001 */ addiu $v0, $zero, 1 +/* D69B2C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D69B30 80240010 03E00008 */ jr $ra +/* D69B34 80240014 0000102D */ daddu $v0, $zero, $zero +/* D69B38 80240018 00000000 */ nop +/* D69B3C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240020_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240020_D69B20.s new file mode 100644 index 0000000000..c3047d05ab --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240020_D69B20.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D69B40 +/* D69B40 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D69B44 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D69B48 80240028 00822024 */ and $a0, $a0, $v0 +/* D69B4C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D69B50 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D69B54 80240034 00821821 */ addu $v1, $a0, $v0 +/* D69B58 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D69B5C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D69B60 80240040 30620001 */ andi $v0, $v1, 1 +/* D69B64 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D69B68 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D69B6C 8024004C 03E00008 */ jr $ra +/* D69B70 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240054_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240054_D69B20.s new file mode 100644 index 0000000000..fb96b73ec3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240054_D69B20.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D69B74 +/* D69B74 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D69B78 80240058 304300FF */ andi $v1, $v0, 0xff +/* D69B7C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D69B80 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D69B84 80240064 28620007 */ slti $v0, $v1, 7 +/* D69B88 80240068 10400005 */ beqz $v0, .L80240080 +/* D69B8C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D69B90 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D69B94 80240074 3C020100 */ lui $v0, 0x100 +/* D69B98 80240078 03E00008 */ jr $ra +/* D69B9C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D69BA0 80240080 2862000A */ slti $v0, $v1, 0xa +/* D69BA4 80240084 10400016 */ beqz $v0, .L802400E0 +/* D69BA8 80240088 28620008 */ slti $v0, $v1, 8 +/* D69BAC 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D69BB0 80240090 3C020100 */ lui $v0, 0x100 +/* D69BB4 80240094 03E00008 */ jr $ra +/* D69BB8 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D69BBC 8024009C 3C020001 */ lui $v0, 1 +/* D69BC0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D69BC4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D69BC8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D69BCC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D69BD0 802400B0 03E00008 */ jr $ra +/* D69BD4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D69BD8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D69BDC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D69BE0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D69BE4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D69BE8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D69BEC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D69BF0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D69BF4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D69BF8 802400D8 03E00008 */ jr $ra +/* D69BFC 802400DC 00000000 */ nop +.L802400E0: +/* D69C00 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D69C04 802400E4 03E00008 */ jr $ra +/* D69C08 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_802400EC_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_802400EC_D69B20.s new file mode 100644 index 0000000000..7af4aefb96 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_802400EC_D69B20.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D69C0C +/* D69C0C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D69C10 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D69C14 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D69C18 802400F8 3C058024 */ lui $a1, 0x8024 +/* D69C1C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D69C20 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D69C24 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D69C28 80240108 0000202D */ daddu $a0, $zero, $zero +/* D69C2C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D69C30 80240110 AC620000 */ sw $v0, ($v1) +/* D69C34 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D69C38 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D69C3C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D69C40 80240120 03E00008 */ jr $ra +/* D69C44 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240128_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240128_D69B20.s new file mode 100644 index 0000000000..b6fa7e0ae0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240128_D69B20.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D69C48 +/* D69C48 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D69C4C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D69C50 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D69C54 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D69C58 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D69C5C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D69C60 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D69C64 80240144 8E020000 */ lw $v0, ($s0) +/* D69C68 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D69C6C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D69C70 80240150 10400061 */ beqz $v0, .L802402D8 +/* D69C74 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D69C78 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D69C7C 8024015C 0C044181 */ jal get_shadow_by_index +/* D69C80 80240160 00000000 */ nop +/* D69C84 80240164 0C048B77 */ jal func_80122DDC +/* D69C88 80240168 84440008 */ lh $a0, 8($v0) +/* D69C8C 8024016C 8C430000 */ lw $v1, ($v0) +/* D69C90 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D69C94 80240174 AC430000 */ sw $v1, ($v0) +/* D69C98 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D69C9C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D69CA0 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D69CA4 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D69CA8 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D69CAC 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D69CB0 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D69CB4 80240194 3C04800A */ lui $a0, 0x800a +/* D69CB8 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D69CBC 8024019C 46000007 */ neg.s $f0, $f0 +/* D69CC0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D69CC4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D69CC8 802401A8 0C00B94E */ jal get_screen_coords +/* D69CCC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D69CD0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D69CD4 802401B4 0C090008 */ jal func_80240020 +/* D69CD8 802401B8 00000000 */ nop +/* D69CDC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D69CE0 802401C0 3C014307 */ lui $at, 0x4307 +/* D69CE4 802401C4 44810000 */ mtc1 $at, $f0 +/* D69CE8 802401C8 00000000 */ nop +/* D69CEC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D69CF0 802401D0 00000000 */ nop +/* D69CF4 802401D4 4500000B */ bc1f .L80240204 +/* D69CF8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D69CFC 802401DC 3C014361 */ lui $at, 0x4361 +/* D69D00 802401E0 44810000 */ mtc1 $at, $f0 +/* D69D04 802401E4 00000000 */ nop +/* D69D08 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D69D0C 802401EC 00000000 */ nop +/* D69D10 802401F0 45000004 */ bc1f .L80240204 +/* D69D14 802401F4 00000000 */ nop +/* D69D18 802401F8 0C090015 */ jal func_80240054 +/* D69D1C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D69D20 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D69D24 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D69D28 80240208 0C0B76A3 */ jal func_802DDA8C +/* D69D2C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D69D30 80240210 8E020000 */ lw $v0, ($s0) +/* D69D34 80240214 3C030002 */ lui $v1, 2 +/* D69D38 80240218 00431024 */ and $v0, $v0, $v1 +/* D69D3C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D69D40 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D69D44 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D69D48 80240228 3C02802E */ lui $v0, 0x802e +/* D69D4C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D69D50 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D69D54 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D69D58 80240238 1040000B */ beqz $v0, .L80240268 +/* D69D5C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D69D60 80240240 24040002 */ addiu $a0, $zero, 2 +/* D69D64 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D69D68 80240248 24060007 */ addiu $a2, $zero, 7 +/* D69D6C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D69D70 80240250 0000382D */ daddu $a3, $zero, $zero +/* D69D74 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D69D78 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D69D7C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D69D80 80240260 080900A3 */ j .L8024028C +/* D69D84 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D69D88 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D69D8C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D69D90 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D69D94 80240274 0000302D */ daddu $a2, $zero, $zero +/* D69D98 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D69D9C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D69DA0 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D69DA4 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D69DA8 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D69DAC 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D69DB0 80240290 00000000 */ nop +.L80240294: +/* D69DB4 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D69DB8 80240298 3C01802E */ lui $at, 0x802e +/* D69DBC 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D69DC0 802402A0 080900AD */ j .L802402B4 +/* D69DC4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D69DC8 802402A8 3C01802E */ lui $at, 0x802e +/* D69DCC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D69DD0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D69DD4 802402B4 AC910000 */ sw $s1, ($a0) +/* D69DD8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D69DDC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D69DE0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D69DE4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D69DE8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D69DEC 802402CC 00021023 */ negu $v0, $v0 +/* D69DF0 802402D0 0C047644 */ jal queue_render_task +/* D69DF4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D69DF8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D69DFC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D69E00 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D69E04 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D69E08 802402E8 03E00008 */ jr $ra +/* D69E0C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_802402F0_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_802402F0_D69B20.s new file mode 100644 index 0000000000..0695d79439 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_802402F0_D69B20.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D69E10 +/* D69E10 802402F0 3C03800A */ lui $v1, 0x800a +/* D69E14 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D69E18 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D69E1C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D69E20 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D69E24 80240304 4480A000 */ mtc1 $zero, $f20 +/* D69E28 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D69E2C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D69E30 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D69E34 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D69E38 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D69E3C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D69E40 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D69E44 80240324 00031080 */ sll $v0, $v1, 2 +/* D69E48 80240328 00431021 */ addu $v0, $v0, $v1 +/* D69E4C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D69E50 80240330 00431023 */ subu $v0, $v0, $v1 +/* D69E54 80240334 000218C0 */ sll $v1, $v0, 3 +/* D69E58 80240338 00431021 */ addu $v0, $v0, $v1 +/* D69E5C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D69E60 80240340 3C01800B */ lui $at, 0x800b +/* D69E64 80240344 00220821 */ addu $at, $at, $v0 +/* D69E68 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D69E6C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D69E70 80240350 4600B587 */ neg.s $f22, $f22 +/* D69E74 80240354 4405B000 */ mfc1 $a1, $f22 +/* D69E78 80240358 0200202D */ daddu $a0, $s0, $zero +/* D69E7C 8024035C 0C019EC8 */ jal guRotateF +/* D69E80 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D69E84 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D69E88 80240368 0C00A6C9 */ jal clamp_angle +/* D69E8C 8024036C 00000000 */ nop +/* D69E90 80240370 44050000 */ mfc1 $a1, $f0 +/* D69E94 80240374 4406A000 */ mfc1 $a2, $f20 +/* D69E98 80240378 4407A000 */ mfc1 $a3, $f20 +/* D69E9C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D69EA0 80240380 4481C000 */ mtc1 $at, $f24 +/* D69EA4 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D69EA8 80240388 0C019EC8 */ jal guRotateF +/* D69EAC 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D69EB0 80240390 0200202D */ daddu $a0, $s0, $zero +/* D69EB4 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D69EB8 80240398 0C019D80 */ jal guMtxCatF +/* D69EBC 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D69EC0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D69EC4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D69EC8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D69ECC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D69ED0 802403B0 0C019EC8 */ jal guRotateF +/* D69ED4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D69ED8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D69EDC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D69EE0 802403C0 0C019D80 */ jal guMtxCatF +/* D69EE4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D69EE8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D69EEC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D69EF0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D69EF4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D69EF8 802403D8 0C019EC8 */ jal guRotateF +/* D69EFC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D69F00 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D69F04 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D69F08 802403E8 0C019D80 */ jal guMtxCatF +/* D69F0C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D69F10 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D69F14 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D69F18 802403F8 44810000 */ mtc1 $at, $f0 +/* D69F1C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D69F20 80240400 44050000 */ mfc1 $a1, $f0 +/* D69F24 80240404 0200202D */ daddu $a0, $s0, $zero +/* D69F28 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D69F2C 8024040C 0C019DF0 */ jal guScaleF +/* D69F30 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D69F34 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D69F38 80240418 0200282D */ daddu $a1, $s0, $zero +/* D69F3C 8024041C 0C019D80 */ jal guMtxCatF +/* D69F40 80240420 0080302D */ daddu $a2, $a0, $zero +/* D69F44 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D69F48 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D69F4C 8024042C 3C014040 */ lui $at, 0x4040 +/* D69F50 80240430 44811000 */ mtc1 $at, $f2 +/* D69F54 80240434 46000007 */ neg.s $f0, $f0 +/* D69F58 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D69F5C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D69F60 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D69F64 80240444 44070000 */ mfc1 $a3, $f0 +/* D69F68 80240448 0C019E40 */ jal guTranslateF +/* D69F6C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D69F70 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D69F74 80240454 0200282D */ daddu $a1, $s0, $zero +/* D69F78 80240458 0C019D80 */ jal guMtxCatF +/* D69F7C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D69F80 80240460 24040002 */ addiu $a0, $zero, 2 +/* D69F84 80240464 0000282D */ daddu $a1, $zero, $zero +/* D69F88 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D69F8C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D69F90 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D69F94 80240474 0C0B7710 */ jal render_sprite +/* D69F98 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D69F9C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D69FA0 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D69FA4 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D69FA8 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D69FAC 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D69FB0 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D69FB4 80240494 03E00008 */ jr $ra +/* D69FB8 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_8024049C_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_8024049C_D69B20.s new file mode 100644 index 0000000000..ca61b6abe5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_8024049C_D69B20.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D69FBC +/* D69FBC 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D69FC0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D69FC4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D69FC8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D69FCC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D69FD0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D69FD4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D69FD8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D69FDC 802404BC 00000000 */ nop +/* D69FE0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D69FE4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D69FE8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D69FEC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D69FF0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D69FF4 802404D4 AC620000 */ sw $v0, ($v1) +/* D69FF8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D69FFC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D6A000 802404E0 8C620000 */ lw $v0, ($v1) +/* D6A004 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D6A008 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D6A00C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D6A010 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D6A014 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D6A018 802404F8 03E00008 */ jr $ra +/* D6A01C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240500_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240500_D69B20.s new file mode 100644 index 0000000000..3feb2b1e67 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240500_D69B20.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D6A020 +/* D6A020 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6A024 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D6A028 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6A02C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D6A030 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D6A034 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D6A038 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D6A03C 8024051C 8E020000 */ lw $v0, ($s0) +/* D6A040 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D6A044 80240524 30420001 */ andi $v0, $v0, 1 +/* D6A048 80240528 10400052 */ beqz $v0, .L80240674 +/* D6A04C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D6A050 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D6A054 80240534 0C044181 */ jal get_shadow_by_index +/* D6A058 80240538 00000000 */ nop +/* D6A05C 8024053C 0C048B77 */ jal func_80122DDC +/* D6A060 80240540 84440008 */ lh $a0, 8($v0) +/* D6A064 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D6A068 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D6A06C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D6A070 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D6A074 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D6A078 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D6A07C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D6A080 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D6A084 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D6A088 80240568 3C04800A */ lui $a0, 0x800a +/* D6A08C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D6A090 80240570 46000007 */ neg.s $f0, $f0 +/* D6A094 80240574 44060000 */ mfc1 $a2, $f0 +/* D6A098 80240578 0C00B94E */ jal get_screen_coords +/* D6A09C 8024057C 00000000 */ nop +/* D6A0A0 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D6A0A4 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D6A0A8 80240588 0C0B76A3 */ jal func_802DDA8C +/* D6A0AC 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D6A0B0 80240590 8E020000 */ lw $v0, ($s0) +/* D6A0B4 80240594 3C030002 */ lui $v1, 2 +/* D6A0B8 80240598 00431024 */ and $v0, $v0, $v1 +/* D6A0BC 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D6A0C0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D6A0C4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D6A0C8 802405A8 3C02802E */ lui $v0, 0x802e +/* D6A0CC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D6A0D0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D6A0D4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D6A0D8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D6A0DC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D6A0E0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D6A0E4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D6A0E8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D6A0EC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D6A0F0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D6A0F4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D6A0F8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D6A0FC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D6A100 802405E0 08090183 */ j .L8024060C +/* D6A104 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D6A108 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D6A10C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D6A110 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D6A114 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D6A118 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D6A11C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D6A120 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D6A124 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D6A128 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D6A12C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D6A130 80240610 00000000 */ nop +.L80240614: +/* D6A134 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D6A138 80240618 3C01802E */ lui $at, 0x802e +/* D6A13C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D6A140 80240620 0809018C */ j .L80240630 +/* D6A144 80240624 00000000 */ nop +.L80240628: +/* D6A148 80240628 3C01802E */ lui $at, 0x802e +/* D6A14C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D6A150 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D6A154 80240634 3C048024 */ lui $a0, 0x8024 +/* D6A158 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D6A15C 8024063C AE320000 */ sw $s2, ($s1) +/* D6A160 80240640 AE300008 */ sw $s0, 8($s1) +/* D6A164 80240644 00021023 */ negu $v0, $v0 +/* D6A168 80240648 AE220004 */ sw $v0, 4($s1) +/* D6A16C 8024064C 8E020000 */ lw $v0, ($s0) +/* D6A170 80240650 3C030002 */ lui $v1, 2 +/* D6A174 80240654 00431024 */ and $v0, $v0, $v1 +/* D6A178 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D6A17C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D6A180 80240660 3C048024 */ lui $a0, 0x8024 +/* D6A184 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D6A188 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D6A18C 8024066C 0C047644 */ jal queue_render_task +/* D6A190 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D6A194 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D6A198 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D6A19C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D6A1A0 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D6A1A4 80240684 03E00008 */ jr $ra +/* D6A1A8 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_8024068C_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_8024068C_D69B20.s new file mode 100644 index 0000000000..d0f6a4290e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_8024068C_D69B20.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D6A1AC +/* D6A1AC 8024068C 3C03800A */ lui $v1, 0x800a +/* D6A1B0 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D6A1B4 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D6A1B8 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6A1BC 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D6A1C0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D6A1C4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D6A1C8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D6A1CC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D6A1D0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D6A1D4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D6A1D8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D6A1DC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D6A1E0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D6A1E4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D6A1E8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D6A1EC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D6A1F0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D6A1F4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D6A1F8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D6A1FC 802406DC 3C01800B */ lui $at, 0x800b +/* D6A200 802406E0 00220821 */ addu $at, $at, $v0 +/* D6A204 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6A208 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D6A20C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D6A210 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D6A214 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D6A218 802406F8 0C019EC8 */ jal guRotateF +/* D6A21C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D6A220 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6A224 80240704 0C00A6C9 */ jal clamp_angle +/* D6A228 80240708 00000000 */ nop +/* D6A22C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D6A230 80240710 4406A000 */ mfc1 $a2, $f20 +/* D6A234 80240714 4407A000 */ mfc1 $a3, $f20 +/* D6A238 80240718 3C013F80 */ lui $at, 0x3f80 +/* D6A23C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D6A240 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D6A244 80240724 0C019EC8 */ jal guRotateF +/* D6A248 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D6A24C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D6A250 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D6A254 80240734 0C019D80 */ jal guMtxCatF +/* D6A258 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D6A25C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D6A260 80240740 4406A000 */ mfc1 $a2, $f20 +/* D6A264 80240744 4407C000 */ mfc1 $a3, $f24 +/* D6A268 80240748 0200202D */ daddu $a0, $s0, $zero +/* D6A26C 8024074C 0C019EC8 */ jal guRotateF +/* D6A270 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6A274 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D6A278 80240758 0200282D */ daddu $a1, $s0, $zero +/* D6A27C 8024075C 0C019D80 */ jal guMtxCatF +/* D6A280 80240760 0080302D */ daddu $a2, $a0, $zero +/* D6A284 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6A288 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6A28C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D6A290 80240770 4407C000 */ mfc1 $a3, $f24 +/* D6A294 80240774 0C019EC8 */ jal guRotateF +/* D6A298 80240778 0200202D */ daddu $a0, $s0, $zero +/* D6A29C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D6A2A0 80240780 0200282D */ daddu $a1, $s0, $zero +/* D6A2A4 80240784 0C019D80 */ jal guMtxCatF +/* D6A2A8 80240788 0080302D */ daddu $a2, $a0, $zero +/* D6A2AC 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D6A2B0 80240790 3C013F36 */ lui $at, 0x3f36 +/* D6A2B4 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D6A2B8 80240798 44810000 */ mtc1 $at, $f0 +/* D6A2BC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D6A2C0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D6A2C4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D6A2C8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6A2CC 802407AC 0C019DF0 */ jal guScaleF +/* D6A2D0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D6A2D4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6A2D8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D6A2DC 802407BC 0C019D80 */ jal guMtxCatF +/* D6A2E0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D6A2E4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D6A2E8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D6A2EC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D6A2F0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D6A2F4 802407D4 46000007 */ neg.s $f0, $f0 +/* D6A2F8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D6A2FC 802407DC 0C019E40 */ jal guTranslateF +/* D6A300 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D6A304 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6A308 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D6A30C 802407EC 0C019D80 */ jal guMtxCatF +/* D6A310 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D6A314 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6A318 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D6A31C 802407FC 44810000 */ mtc1 $at, $f0 +/* D6A320 80240800 00000000 */ nop +/* D6A324 80240804 4602003E */ c.le.s $f0, $f2 +/* D6A328 80240808 00000000 */ nop +/* D6A32C 8024080C 4500000A */ bc1f .L80240838 +/* D6A330 80240810 24040001 */ addiu $a0, $zero, 1 +/* D6A334 80240814 3C014387 */ lui $at, 0x4387 +/* D6A338 80240818 44810000 */ mtc1 $at, $f0 +/* D6A33C 8024081C 00000000 */ nop +/* D6A340 80240820 4600103C */ c.lt.s $f2, $f0 +/* D6A344 80240824 00000000 */ nop +/* D6A348 80240828 45000004 */ bc1f .L8024083C +/* D6A34C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D6A350 80240830 3C041000 */ lui $a0, 0x1000 +/* D6A354 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D6A358 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D6A35C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D6A360 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D6A364 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D6A368 80240848 0C0B7710 */ jal render_sprite +/* D6A36C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D6A370 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D6A374 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D6A378 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D6A37C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6A380 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D6A384 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D6A388 80240868 03E00008 */ jr $ra +/* D6A38C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240870_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240870_D69B20.s new file mode 100644 index 0000000000..c0e07c2807 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240870_D69B20.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D6A390 +/* D6A390 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D6A394 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D6A398 80240878 4480B000 */ mtc1 $zero, $f22 +/* D6A39C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D6A3A0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D6A3A4 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D6A3A8 80240888 0000982D */ daddu $s3, $zero, $zero +/* D6A3AC 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D6A3B0 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D6A3B4 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D6A3B8 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D6A3BC 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D6A3C0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D6A3C4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D6A3C8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D6A3CC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D6A3D0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D6A3D4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D6A3D8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D6A3DC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D6A3E0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D6A3E4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D6A3E8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D6A3EC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D6A3F0 802408D0 3C03800A */ lui $v1, 0x800a +/* D6A3F4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D6A3F8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D6A3FC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D6A400 802408E0 00021080 */ sll $v0, $v0, 2 +/* D6A404 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D6A408 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D6A40C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D6A410 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D6A414 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D6A418 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D6A41C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D6A420 80240900 46000507 */ neg.s $f20, $f0 +/* D6A424 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6A428 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D6A42C 8024090C 44810000 */ mtc1 $at, $f0 +/* D6A430 80240910 00000000 */ nop +/* D6A434 80240914 4602003C */ c.lt.s $f0, $f2 +/* D6A438 80240918 00000000 */ nop +/* D6A43C 8024091C 4500000A */ bc1f .L80240948 +/* D6A440 80240920 00000000 */ nop +/* D6A444 80240924 3C014334 */ lui $at, 0x4334 +/* D6A448 80240928 44812000 */ mtc1 $at, $f4 +/* D6A44C 8024092C 00000000 */ nop +/* D6A450 80240930 4604103E */ c.le.s $f2, $f4 +/* D6A454 80240934 00000000 */ nop +/* D6A458 80240938 45000003 */ bc1f .L80240948 +/* D6A45C 8024093C 00000000 */ nop +/* D6A460 80240940 08090276 */ j .L802409D8 +/* D6A464 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D6A468 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D6A46C 8024094C 3C014334 */ lui $at, 0x4334 +/* D6A470 80240950 44812000 */ mtc1 $at, $f4 +/* D6A474 80240954 00000000 */ nop +/* D6A478 80240958 4600203C */ c.lt.s $f4, $f0 +/* D6A47C 8024095C 00000000 */ nop +/* D6A480 80240960 4500000C */ bc1f .L80240994 +/* D6A484 80240964 00000000 */ nop +/* D6A488 80240968 3C014387 */ lui $at, 0x4387 +/* D6A48C 8024096C 44812000 */ mtc1 $at, $f4 +/* D6A490 80240970 00000000 */ nop +/* D6A494 80240974 4604003E */ c.le.s $f0, $f4 +/* D6A498 80240978 00000000 */ nop +/* D6A49C 8024097C 45000008 */ bc1f .L802409A0 +/* D6A4A0 80240980 00000000 */ nop +/* D6A4A4 80240984 3C014334 */ lui $at, 0x4334 +/* D6A4A8 80240988 44812000 */ mtc1 $at, $f4 +/* D6A4AC 8024098C 08090276 */ j .L802409D8 +/* D6A4B0 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D6A4B4 80240994 3C014387 */ lui $at, 0x4387 +/* D6A4B8 80240998 44812000 */ mtc1 $at, $f4 +/* D6A4BC 8024099C 00000000 */ nop +.L802409A0: +/* D6A4C0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D6A4C4 802409A4 00000000 */ nop +/* D6A4C8 802409A8 4500000A */ bc1f .L802409D4 +/* D6A4CC 802409AC 00000000 */ nop +/* D6A4D0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D6A4D4 802409B4 44811000 */ mtc1 $at, $f2 +/* D6A4D8 802409B8 00000000 */ nop +/* D6A4DC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D6A4E0 802409C0 00000000 */ nop +/* D6A4E4 802409C4 45000003 */ bc1f .L802409D4 +/* D6A4E8 802409C8 00000000 */ nop +/* D6A4EC 802409CC 08090276 */ j .L802409D8 +/* D6A4F0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D6A4F4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D6A4F8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D6A4FC 802409DC 44810000 */ mtc1 $at, $f0 +/* D6A500 802409E0 00000000 */ nop +/* D6A504 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D6A508 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D6A50C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D6A510 802409F0 00000000 */ nop +/* D6A514 802409F4 00071100 */ sll $v0, $a3, 4 +/* D6A518 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D6A51C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D6A520 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D6A524 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D6A528 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D6A52C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D6A530 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D6A534 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D6A538 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D6A53C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D6A540 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D6A544 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D6A548 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D6A54C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D6A550 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D6A554 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D6A558 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D6A55C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D6A560 80240A40 0C019EC8 */ jal guRotateF +/* D6A564 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A568 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6A56C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D6A570 80240A50 00000000 */ nop +/* D6A574 80240A54 44050000 */ mfc1 $a1, $f0 +/* D6A578 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D6A57C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D6A580 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D6A584 80240A64 44812000 */ mtc1 $at, $f4 +/* D6A588 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A58C 80240A6C 0C019EC8 */ jal guRotateF +/* D6A590 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D6A594 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D6A598 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D6A59C 80240A7C 0C019D80 */ jal guMtxCatF +/* D6A5A0 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D6A5A4 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6A5A8 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6A5AC 80240A8C 080902D6 */ j .L80240B58 +/* D6A5B0 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D6A5B4 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D6A5B8 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D6A5BC 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D6A5C0 80240AA0 0C03964E */ jal func_800E5938 +/* D6A5C4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D6A5C8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D6A5CC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D6A5D0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D6A5D4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D6A5D8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6A5DC 80240ABC 080902B5 */ j .L80240AD4 +/* D6A5E0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D6A5E4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D6A5E8 80240AC8 00000000 */ nop +/* D6A5EC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D6A5F0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D6A5F4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D6A5F8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D6A5FC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D6A600 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6A604 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D6A608 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D6A60C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D6A610 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D6A614 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D6A618 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D6A61C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D6A620 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D6A624 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D6A628 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D6A62C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A630 80240B10 0C019EC8 */ jal guRotateF +/* D6A634 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A638 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D6A63C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D6A640 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D6A644 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D6A648 80240B28 0C019EC8 */ jal guRotateF +/* D6A64C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A650 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D6A654 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D6A658 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6A65C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A660 80240B40 0C019EC8 */ jal guRotateF +/* D6A664 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A668 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6A66C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D6A670 80240B50 0C019D80 */ jal guMtxCatF +/* D6A674 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D6A678 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6A67C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D6A680 80240B60 44812000 */ mtc1 $at, $f4 +/* D6A684 80240B64 00021023 */ negu $v0, $v0 +/* D6A688 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6A68C 80240B6C 00000000 */ nop +/* D6A690 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D6A694 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D6A698 80240B78 00000000 */ nop +/* D6A69C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D6A6A0 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D6A6A4 80240B84 44062000 */ mfc1 $a2, $f4 +/* D6A6A8 80240B88 0C019E40 */ jal guTranslateF +/* D6A6AC 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D6A6B0 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D6A6B4 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D6A6B8 80240B98 0C019D80 */ jal guMtxCatF +/* D6A6BC 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D6A6C0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D6A6C4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D6A6C8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D6A6CC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D6A6D0 80240BB0 0C019EC8 */ jal guRotateF +/* D6A6D4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A6D8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A6DC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D6A6E0 80240BC0 0C019D80 */ jal guMtxCatF +/* D6A6E4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D6A6E8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6A6EC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6A6F0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D6A6F4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D6A6F8 80240BD8 0C019EC8 */ jal guRotateF +/* D6A6FC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D6A700 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A704 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D6A708 80240BE8 0C019D80 */ jal guMtxCatF +/* D6A70C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D6A710 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D6A714 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D6A718 80240BF8 44812000 */ mtc1 $at, $f4 +/* D6A71C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D6A720 80240C00 00000000 */ nop +/* D6A724 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D6A728 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D6A72C 80240C0C 00000000 */ nop +/* D6A730 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D6A734 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D6A738 80240C18 44062000 */ mfc1 $a2, $f4 +/* D6A73C 80240C1C 0C019E40 */ jal guTranslateF +/* D6A740 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D6A744 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A748 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6A74C 80240C2C 0C019D80 */ jal guMtxCatF +/* D6A750 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D6A754 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D6A758 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6A75C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D6A760 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D6A764 80240C44 44050000 */ mfc1 $a1, $f0 +/* D6A768 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6A76C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6A770 80240C50 0C019DF0 */ jal guScaleF +/* D6A774 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D6A778 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A77C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D6A780 80240C60 0C019D80 */ jal guMtxCatF +/* D6A784 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D6A788 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6A78C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D6A790 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D6A794 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D6A798 80240C78 0C019E40 */ jal guTranslateF +/* D6A79C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D6A7A0 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D6A7A4 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D6A7A8 80240C88 0C019D80 */ jal guMtxCatF +/* D6A7AC 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D6A7B0 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6A7B4 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D6A7B8 80240C98 44810000 */ mtc1 $at, $f0 +/* D6A7BC 80240C9C 00000000 */ nop +/* D6A7C0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D6A7C4 80240CA4 00000000 */ nop +/* D6A7C8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D6A7CC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D6A7D0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D6A7D4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D6A7D8 80240CB8 00000000 */ nop +/* D6A7DC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D6A7E0 80240CC0 00000000 */ nop +/* D6A7E4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D6A7E8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D6A7EC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D6A7F0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D6A7F4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D6A7F8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D6A7FC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D6A800 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D6A804 80240CE4 0C0B7710 */ jal render_sprite +/* D6A808 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D6A80C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D6A810 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D6A814 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D6A818 80240CF8 00000000 */ nop +/* D6A81C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D6A820 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D6A824 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D6A828 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D6A82C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D6A830 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D6A834 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D6A838 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D6A83C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D6A840 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D6A844 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D6A848 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D6A84C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D6A850 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D6A854 80240D34 03E00008 */ jr $ra +/* D6A858 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240D3C_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240D3C_D69B20.s new file mode 100644 index 0000000000..e82be80eb5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240D3C_D69B20.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D6A85C +/* D6A85C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6A860 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D6A864 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D6A868 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D6A86C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D6A870 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D6A874 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D6A878 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6A87C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D6A880 80240D60 00000000 */ nop +/* D6A884 80240D64 28620002 */ slti $v0, $v1, 2 +/* D6A888 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6A88C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D6A890 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D6A894 80240D74 00000000 */ nop +/* D6A898 80240D78 08090378 */ j .L80240DE0 +/* D6A89C 80240D7C 00000000 */ nop +.L80240D80: +/* D6A8A0 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D6A8A4 80240D84 00000000 */ nop +/* D6A8A8 80240D88 08090378 */ j .L80240DE0 +/* D6A8AC 80240D8C 00000000 */ nop +.L80240D90: +/* D6A8B0 80240D90 3C048024 */ lui $a0, 0x8024 +/* D6A8B4 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D6A8B8 80240D98 08090374 */ j .L80240DD0 +/* D6A8BC 80240D9C 00000000 */ nop +.L80240DA0: +/* D6A8C0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D6A8C4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D6A8C8 80240DA8 08090374 */ j .L80240DD0 +/* D6A8CC 80240DAC 00000000 */ nop +.L80240DB0: +/* D6A8D0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D6A8D4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D6A8D8 80240DB8 00000000 */ nop +/* D6A8DC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D6A8E0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D6A8E4 80240DC4 00000000 */ nop +.L80240DC8: +/* D6A8E8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D6A8EC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D6A8F0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D6A8F4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D6A8F8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D6A8FC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D6A900 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D6A904 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D6A908 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D6A90C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D6A910 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D6A914 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D6A918 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D6A91C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D6A920 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D6A924 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D6A928 80240E08 28820002 */ slti $v0, $a0, 2 +/* D6A92C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D6A930 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D6A934 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D6A938 80240E18 00000000 */ nop +/* D6A93C 80240E1C 0809039D */ j .L80240E74 +/* D6A940 80240E20 00000000 */ nop +.L80240E24: +/* D6A944 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D6A948 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D6A94C 80240E2C 0809039D */ j .L80240E74 +/* D6A950 80240E30 00000000 */ nop +.L80240E34: +/* D6A954 80240E34 8CA20000 */ lw $v0, ($a1) +/* D6A958 80240E38 0809039A */ j .L80240E68 +/* D6A95C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D6A960 80240E40 8CA20000 */ lw $v0, ($a1) +/* D6A964 80240E44 0809039A */ j .L80240E68 +/* D6A968 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D6A96C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D6A970 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D6A974 80240E54 28420002 */ slti $v0, $v0, 2 +/* D6A978 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6A97C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D6A980 80240E60 8CA20000 */ lw $v0, ($a1) +/* D6A984 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D6A988 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6A98C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D6A990 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D6A994 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D6A998 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6A99C 80240E7C 03E00008 */ jr $ra +/* D6A9A0 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240E84_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240E84_D69B20.s new file mode 100644 index 0000000000..ef4e1d4a84 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240E84_D69B20.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D6A9A4 +/* D6A9A4 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6A9A8 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6A9AC 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D6A9B0 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D6A9B4 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D6A9B8 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6A9BC 80240E9C 3C03000A */ lui $v1, 0xa +/* D6A9C0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D6A9C4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D6A9C8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D6A9CC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D6A9D0 80240EB0 03E00008 */ jr $ra +/* D6A9D4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240EB8_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240EB8_D69B20.s new file mode 100644 index 0000000000..8f095a59f8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240EB8_D69B20.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D6A9D8 +/* D6A9D8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6A9DC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D6A9E0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D6A9E4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D6A9E8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D6A9EC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D6A9F0 80240ED0 3C030008 */ lui $v1, 8 +/* D6A9F4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D6A9F8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D6A9FC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D6AA00 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D6AA04 80240EE4 03E00008 */ jr $ra +/* D6AA08 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_16/func_80240EEC_D69B20.s b/asm/nonmatchings/world/area_pra/pra_16/func_80240EEC_D69B20.s new file mode 100644 index 0000000000..dbe89d4e89 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_16/func_80240EEC_D69B20.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D6AA0C +/* D6AA0C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6AA10 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D6AA14 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D6AA18 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D6AA1C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D6AA20 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D6AA24 80240F04 3C030002 */ lui $v1, 2 +/* D6AA28 80240F08 8C820000 */ lw $v0, ($a0) +/* D6AA2C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D6AA30 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D6AA34 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D6AA38 80240F18 03E00008 */ jr $ra +/* D6AA3C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240000_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240000_D6B620.s new file mode 100644 index 0000000000..8533ad9038 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240000_D6B620.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D6B620 +/* D6B620 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D6B624 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D6B628 80240008 24020001 */ addiu $v0, $zero, 1 +/* D6B62C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D6B630 80240010 03E00008 */ jr $ra +/* D6B634 80240014 0000102D */ daddu $v0, $zero, $zero +/* D6B638 80240018 00000000 */ nop +/* D6B63C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240020_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240020_D6B620.s new file mode 100644 index 0000000000..ae85c8a5fb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240020_D6B620.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D6B640 +/* D6B640 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D6B644 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D6B648 80240028 00822024 */ and $a0, $a0, $v0 +/* D6B64C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D6B650 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D6B654 80240034 00821821 */ addu $v1, $a0, $v0 +/* D6B658 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6B65C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D6B660 80240040 30620001 */ andi $v0, $v1, 1 +/* D6B664 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D6B668 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D6B66C 8024004C 03E00008 */ jr $ra +/* D6B670 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240054_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240054_D6B620.s new file mode 100644 index 0000000000..2de4466724 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240054_D6B620.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D6B674 +/* D6B674 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D6B678 80240058 304300FF */ andi $v1, $v0, 0xff +/* D6B67C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D6B680 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D6B684 80240064 28620007 */ slti $v0, $v1, 7 +/* D6B688 80240068 10400005 */ beqz $v0, .L80240080 +/* D6B68C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D6B690 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D6B694 80240074 3C020100 */ lui $v0, 0x100 +/* D6B698 80240078 03E00008 */ jr $ra +/* D6B69C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D6B6A0 80240080 2862000A */ slti $v0, $v1, 0xa +/* D6B6A4 80240084 10400016 */ beqz $v0, .L802400E0 +/* D6B6A8 80240088 28620008 */ slti $v0, $v1, 8 +/* D6B6AC 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D6B6B0 80240090 3C020100 */ lui $v0, 0x100 +/* D6B6B4 80240094 03E00008 */ jr $ra +/* D6B6B8 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D6B6BC 8024009C 3C020001 */ lui $v0, 1 +/* D6B6C0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D6B6C4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D6B6C8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D6B6CC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D6B6D0 802400B0 03E00008 */ jr $ra +/* D6B6D4 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D6B6D8 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D6B6DC 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D6B6E0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D6B6E4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6B6E8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D6B6EC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D6B6F0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D6B6F4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D6B6F8 802400D8 03E00008 */ jr $ra +/* D6B6FC 802400DC 00000000 */ nop +.L802400E0: +/* D6B700 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D6B704 802400E4 03E00008 */ jr $ra +/* D6B708 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_802400EC_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_802400EC_D6B620.s new file mode 100644 index 0000000000..af4638d959 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_802400EC_D6B620.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D6B70C +/* D6B70C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6B710 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D6B714 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D6B718 802400F8 3C058024 */ lui $a1, 0x8024 +/* D6B71C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D6B720 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D6B724 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D6B728 80240108 0000202D */ daddu $a0, $zero, $zero +/* D6B72C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D6B730 80240110 AC620000 */ sw $v0, ($v1) +/* D6B734 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D6B738 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D6B73C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D6B740 80240120 03E00008 */ jr $ra +/* D6B744 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240128_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240128_D6B620.s new file mode 100644 index 0000000000..ffa7a52ad9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240128_D6B620.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D6B748 +/* D6B748 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6B74C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D6B750 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6B754 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D6B758 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D6B75C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D6B760 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D6B764 80240144 8E020000 */ lw $v0, ($s0) +/* D6B768 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D6B76C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D6B770 80240150 10400061 */ beqz $v0, .L802402D8 +/* D6B774 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D6B778 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D6B77C 8024015C 0C044181 */ jal get_shadow_by_index +/* D6B780 80240160 00000000 */ nop +/* D6B784 80240164 0C048B77 */ jal func_80122DDC +/* D6B788 80240168 84440008 */ lh $a0, 8($v0) +/* D6B78C 8024016C 8C430000 */ lw $v1, ($v0) +/* D6B790 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D6B794 80240174 AC430000 */ sw $v1, ($v0) +/* D6B798 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D6B79C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D6B7A0 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D6B7A4 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D6B7A8 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D6B7AC 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D6B7B0 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D6B7B4 80240194 3C04800A */ lui $a0, 0x800a +/* D6B7B8 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D6B7BC 8024019C 46000007 */ neg.s $f0, $f0 +/* D6B7C0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D6B7C4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D6B7C8 802401A8 0C00B94E */ jal get_screen_coords +/* D6B7CC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D6B7D0 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D6B7D4 802401B4 0C090008 */ jal func_80240020 +/* D6B7D8 802401B8 00000000 */ nop +/* D6B7DC 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D6B7E0 802401C0 3C014307 */ lui $at, 0x4307 +/* D6B7E4 802401C4 44810000 */ mtc1 $at, $f0 +/* D6B7E8 802401C8 00000000 */ nop +/* D6B7EC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D6B7F0 802401D0 00000000 */ nop +/* D6B7F4 802401D4 4500000B */ bc1f .L80240204 +/* D6B7F8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D6B7FC 802401DC 3C014361 */ lui $at, 0x4361 +/* D6B800 802401E0 44810000 */ mtc1 $at, $f0 +/* D6B804 802401E4 00000000 */ nop +/* D6B808 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D6B80C 802401EC 00000000 */ nop +/* D6B810 802401F0 45000004 */ bc1f .L80240204 +/* D6B814 802401F4 00000000 */ nop +/* D6B818 802401F8 0C090015 */ jal func_80240054 +/* D6B81C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D6B820 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D6B824 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D6B828 80240208 0C0B76A3 */ jal func_802DDA8C +/* D6B82C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D6B830 80240210 8E020000 */ lw $v0, ($s0) +/* D6B834 80240214 3C030002 */ lui $v1, 2 +/* D6B838 80240218 00431024 */ and $v0, $v0, $v1 +/* D6B83C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D6B840 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D6B844 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D6B848 80240228 3C02802E */ lui $v0, 0x802e +/* D6B84C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D6B850 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D6B854 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D6B858 80240238 1040000B */ beqz $v0, .L80240268 +/* D6B85C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D6B860 80240240 24040002 */ addiu $a0, $zero, 2 +/* D6B864 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D6B868 80240248 24060007 */ addiu $a2, $zero, 7 +/* D6B86C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D6B870 80240250 0000382D */ daddu $a3, $zero, $zero +/* D6B874 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D6B878 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D6B87C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D6B880 80240260 080900A3 */ j .L8024028C +/* D6B884 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D6B888 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D6B88C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D6B890 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D6B894 80240274 0000302D */ daddu $a2, $zero, $zero +/* D6B898 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D6B89C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D6B8A0 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D6B8A4 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D6B8A8 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D6B8AC 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D6B8B0 80240290 00000000 */ nop +.L80240294: +/* D6B8B4 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D6B8B8 80240298 3C01802E */ lui $at, 0x802e +/* D6B8BC 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D6B8C0 802402A0 080900AD */ j .L802402B4 +/* D6B8C4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D6B8C8 802402A8 3C01802E */ lui $at, 0x802e +/* D6B8CC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D6B8D0 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D6B8D4 802402B4 AC910000 */ sw $s1, ($a0) +/* D6B8D8 802402B8 AC900008 */ sw $s0, 8($a0) +/* D6B8DC 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D6B8E0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D6B8E4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D6B8E8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D6B8EC 802402CC 00021023 */ negu $v0, $v0 +/* D6B8F0 802402D0 0C047644 */ jal queue_render_task +/* D6B8F4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D6B8F8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D6B8FC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D6B900 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D6B904 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D6B908 802402E8 03E00008 */ jr $ra +/* D6B90C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_802402F0_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_802402F0_D6B620.s new file mode 100644 index 0000000000..e05bcd5d64 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_802402F0_D6B620.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D6B910 +/* D6B910 802402F0 3C03800A */ lui $v1, 0x800a +/* D6B914 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D6B918 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D6B91C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6B920 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D6B924 80240304 4480A000 */ mtc1 $zero, $f20 +/* D6B928 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D6B92C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D6B930 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D6B934 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D6B938 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D6B93C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D6B940 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D6B944 80240324 00031080 */ sll $v0, $v1, 2 +/* D6B948 80240328 00431021 */ addu $v0, $v0, $v1 +/* D6B94C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D6B950 80240330 00431023 */ subu $v0, $v0, $v1 +/* D6B954 80240334 000218C0 */ sll $v1, $v0, 3 +/* D6B958 80240338 00431021 */ addu $v0, $v0, $v1 +/* D6B95C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D6B960 80240340 3C01800B */ lui $at, 0x800b +/* D6B964 80240344 00220821 */ addu $at, $at, $v0 +/* D6B968 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6B96C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D6B970 80240350 4600B587 */ neg.s $f22, $f22 +/* D6B974 80240354 4405B000 */ mfc1 $a1, $f22 +/* D6B978 80240358 0200202D */ daddu $a0, $s0, $zero +/* D6B97C 8024035C 0C019EC8 */ jal guRotateF +/* D6B980 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6B984 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6B988 80240368 0C00A6C9 */ jal clamp_angle +/* D6B98C 8024036C 00000000 */ nop +/* D6B990 80240370 44050000 */ mfc1 $a1, $f0 +/* D6B994 80240374 4406A000 */ mfc1 $a2, $f20 +/* D6B998 80240378 4407A000 */ mfc1 $a3, $f20 +/* D6B99C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D6B9A0 80240380 4481C000 */ mtc1 $at, $f24 +/* D6B9A4 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D6B9A8 80240388 0C019EC8 */ jal guRotateF +/* D6B9AC 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D6B9B0 80240390 0200202D */ daddu $a0, $s0, $zero +/* D6B9B4 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D6B9B8 80240398 0C019D80 */ jal guMtxCatF +/* D6B9BC 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D6B9C0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D6B9C4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D6B9C8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D6B9CC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D6B9D0 802403B0 0C019EC8 */ jal guRotateF +/* D6B9D4 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6B9D8 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D6B9DC 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D6B9E0 802403C0 0C019D80 */ jal guMtxCatF +/* D6B9E4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D6B9E8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6B9EC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6B9F0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D6B9F4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D6B9F8 802403D8 0C019EC8 */ jal guRotateF +/* D6B9FC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D6BA00 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BA04 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D6BA08 802403E8 0C019D80 */ jal guMtxCatF +/* D6BA0C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D6BA10 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D6BA14 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D6BA18 802403F8 44810000 */ mtc1 $at, $f0 +/* D6BA1C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D6BA20 80240400 44050000 */ mfc1 $a1, $f0 +/* D6BA24 80240404 0200202D */ daddu $a0, $s0, $zero +/* D6BA28 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D6BA2C 8024040C 0C019DF0 */ jal guScaleF +/* D6BA30 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D6BA34 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BA38 80240418 0200282D */ daddu $a1, $s0, $zero +/* D6BA3C 8024041C 0C019D80 */ jal guMtxCatF +/* D6BA40 80240420 0080302D */ daddu $a2, $a0, $zero +/* D6BA44 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D6BA48 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D6BA4C 8024042C 3C014040 */ lui $at, 0x4040 +/* D6BA50 80240430 44811000 */ mtc1 $at, $f2 +/* D6BA54 80240434 46000007 */ neg.s $f0, $f0 +/* D6BA58 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D6BA5C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D6BA60 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D6BA64 80240444 44070000 */ mfc1 $a3, $f0 +/* D6BA68 80240448 0C019E40 */ jal guTranslateF +/* D6BA6C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D6BA70 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BA74 80240454 0200282D */ daddu $a1, $s0, $zero +/* D6BA78 80240458 0C019D80 */ jal guMtxCatF +/* D6BA7C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D6BA80 80240460 24040002 */ addiu $a0, $zero, 2 +/* D6BA84 80240464 0000282D */ daddu $a1, $zero, $zero +/* D6BA88 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D6BA8C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D6BA90 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D6BA94 80240474 0C0B7710 */ jal render_sprite +/* D6BA98 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D6BA9C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D6BAA0 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D6BAA4 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D6BAA8 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6BAAC 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D6BAB0 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D6BAB4 80240494 03E00008 */ jr $ra +/* D6BAB8 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_8024049C_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_8024049C_D6B620.s new file mode 100644 index 0000000000..ec75aa47d5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_8024049C_D6B620.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D6BABC +/* D6BABC 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6BAC0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D6BAC4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D6BAC8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D6BACC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D6BAD0 802404B0 0440000E */ bltz $v0, .L802404EC +/* D6BAD4 802404B4 28420002 */ slti $v0, $v0, 2 +/* D6BAD8 802404B8 1040000C */ beqz $v0, .L802404EC +/* D6BADC 802404BC 00000000 */ nop +/* D6BAE0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D6BAE4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D6BAE8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D6BAEC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D6BAF0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D6BAF4 802404D4 AC620000 */ sw $v0, ($v1) +/* D6BAF8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D6BAFC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D6BB00 802404E0 8C620000 */ lw $v0, ($v1) +/* D6BB04 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D6BB08 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D6BB0C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D6BB10 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D6BB14 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D6BB18 802404F8 03E00008 */ jr $ra +/* D6BB1C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240500_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240500_D6B620.s new file mode 100644 index 0000000000..89130d77cb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240500_D6B620.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D6BB20 +/* D6BB20 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6BB24 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D6BB28 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6BB2C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D6BB30 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D6BB34 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D6BB38 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D6BB3C 8024051C 8E020000 */ lw $v0, ($s0) +/* D6BB40 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D6BB44 80240524 30420001 */ andi $v0, $v0, 1 +/* D6BB48 80240528 10400052 */ beqz $v0, .L80240674 +/* D6BB4C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D6BB50 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D6BB54 80240534 0C044181 */ jal get_shadow_by_index +/* D6BB58 80240538 00000000 */ nop +/* D6BB5C 8024053C 0C048B77 */ jal func_80122DDC +/* D6BB60 80240540 84440008 */ lh $a0, 8($v0) +/* D6BB64 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D6BB68 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D6BB6C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D6BB70 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D6BB74 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D6BB78 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D6BB7C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D6BB80 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D6BB84 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D6BB88 80240568 3C04800A */ lui $a0, 0x800a +/* D6BB8C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D6BB90 80240570 46000007 */ neg.s $f0, $f0 +/* D6BB94 80240574 44060000 */ mfc1 $a2, $f0 +/* D6BB98 80240578 0C00B94E */ jal get_screen_coords +/* D6BB9C 8024057C 00000000 */ nop +/* D6BBA0 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D6BBA4 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D6BBA8 80240588 0C0B76A3 */ jal func_802DDA8C +/* D6BBAC 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D6BBB0 80240590 8E020000 */ lw $v0, ($s0) +/* D6BBB4 80240594 3C030002 */ lui $v1, 2 +/* D6BBB8 80240598 00431024 */ and $v0, $v0, $v1 +/* D6BBBC 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D6BBC0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D6BBC4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D6BBC8 802405A8 3C02802E */ lui $v0, 0x802e +/* D6BBCC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D6BBD0 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D6BBD4 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D6BBD8 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D6BBDC 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D6BBE0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D6BBE4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D6BBE8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D6BBEC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D6BBF0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D6BBF4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D6BBF8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D6BBFC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D6BC00 802405E0 08090183 */ j .L8024060C +/* D6BC04 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D6BC08 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D6BC0C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D6BC10 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D6BC14 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D6BC18 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D6BC1C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D6BC20 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D6BC24 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D6BC28 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D6BC2C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D6BC30 80240610 00000000 */ nop +.L80240614: +/* D6BC34 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D6BC38 80240618 3C01802E */ lui $at, 0x802e +/* D6BC3C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D6BC40 80240620 0809018C */ j .L80240630 +/* D6BC44 80240624 00000000 */ nop +.L80240628: +/* D6BC48 80240628 3C01802E */ lui $at, 0x802e +/* D6BC4C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D6BC50 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D6BC54 80240634 3C048024 */ lui $a0, 0x8024 +/* D6BC58 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D6BC5C 8024063C AE320000 */ sw $s2, ($s1) +/* D6BC60 80240640 AE300008 */ sw $s0, 8($s1) +/* D6BC64 80240644 00021023 */ negu $v0, $v0 +/* D6BC68 80240648 AE220004 */ sw $v0, 4($s1) +/* D6BC6C 8024064C 8E020000 */ lw $v0, ($s0) +/* D6BC70 80240650 3C030002 */ lui $v1, 2 +/* D6BC74 80240654 00431024 */ and $v0, $v0, $v1 +/* D6BC78 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D6BC7C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D6BC80 80240660 3C048024 */ lui $a0, 0x8024 +/* D6BC84 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D6BC88 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D6BC8C 8024066C 0C047644 */ jal queue_render_task +/* D6BC90 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D6BC94 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D6BC98 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D6BC9C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D6BCA0 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D6BCA4 80240684 03E00008 */ jr $ra +/* D6BCA8 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_8024068C_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_8024068C_D6B620.s new file mode 100644 index 0000000000..95c87cf21c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_8024068C_D6B620.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D6BCAC +/* D6BCAC 8024068C 3C03800A */ lui $v1, 0x800a +/* D6BCB0 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D6BCB4 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D6BCB8 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6BCBC 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D6BCC0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D6BCC4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D6BCC8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D6BCCC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D6BCD0 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D6BCD4 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D6BCD8 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D6BCDC 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D6BCE0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D6BCE4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D6BCE8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D6BCEC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D6BCF0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D6BCF4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D6BCF8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D6BCFC 802406DC 3C01800B */ lui $at, 0x800b +/* D6BD00 802406E0 00220821 */ addu $at, $at, $v0 +/* D6BD04 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6BD08 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D6BD0C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D6BD10 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D6BD14 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D6BD18 802406F8 0C019EC8 */ jal guRotateF +/* D6BD1C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D6BD20 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6BD24 80240704 0C00A6C9 */ jal clamp_angle +/* D6BD28 80240708 00000000 */ nop +/* D6BD2C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D6BD30 80240710 4406A000 */ mfc1 $a2, $f20 +/* D6BD34 80240714 4407A000 */ mfc1 $a3, $f20 +/* D6BD38 80240718 3C013F80 */ lui $at, 0x3f80 +/* D6BD3C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D6BD40 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BD44 80240724 0C019EC8 */ jal guRotateF +/* D6BD48 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D6BD4C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D6BD50 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D6BD54 80240734 0C019D80 */ jal guMtxCatF +/* D6BD58 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D6BD5C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D6BD60 80240740 4406A000 */ mfc1 $a2, $f20 +/* D6BD64 80240744 4407C000 */ mfc1 $a3, $f24 +/* D6BD68 80240748 0200202D */ daddu $a0, $s0, $zero +/* D6BD6C 8024074C 0C019EC8 */ jal guRotateF +/* D6BD70 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6BD74 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BD78 80240758 0200282D */ daddu $a1, $s0, $zero +/* D6BD7C 8024075C 0C019D80 */ jal guMtxCatF +/* D6BD80 80240760 0080302D */ daddu $a2, $a0, $zero +/* D6BD84 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6BD88 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6BD8C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D6BD90 80240770 4407C000 */ mfc1 $a3, $f24 +/* D6BD94 80240774 0C019EC8 */ jal guRotateF +/* D6BD98 80240778 0200202D */ daddu $a0, $s0, $zero +/* D6BD9C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BDA0 80240780 0200282D */ daddu $a1, $s0, $zero +/* D6BDA4 80240784 0C019D80 */ jal guMtxCatF +/* D6BDA8 80240788 0080302D */ daddu $a2, $a0, $zero +/* D6BDAC 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D6BDB0 80240790 3C013F36 */ lui $at, 0x3f36 +/* D6BDB4 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D6BDB8 80240798 44810000 */ mtc1 $at, $f0 +/* D6BDBC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D6BDC0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D6BDC4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D6BDC8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6BDCC 802407AC 0C019DF0 */ jal guScaleF +/* D6BDD0 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D6BDD4 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BDD8 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D6BDDC 802407BC 0C019D80 */ jal guMtxCatF +/* D6BDE0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D6BDE4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D6BDE8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D6BDEC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D6BDF0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D6BDF4 802407D4 46000007 */ neg.s $f0, $f0 +/* D6BDF8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D6BDFC 802407DC 0C019E40 */ jal guTranslateF +/* D6BE00 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D6BE04 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6BE08 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D6BE0C 802407EC 0C019D80 */ jal guMtxCatF +/* D6BE10 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D6BE14 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6BE18 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D6BE1C 802407FC 44810000 */ mtc1 $at, $f0 +/* D6BE20 80240800 00000000 */ nop +/* D6BE24 80240804 4602003E */ c.le.s $f0, $f2 +/* D6BE28 80240808 00000000 */ nop +/* D6BE2C 8024080C 4500000A */ bc1f .L80240838 +/* D6BE30 80240810 24040001 */ addiu $a0, $zero, 1 +/* D6BE34 80240814 3C014387 */ lui $at, 0x4387 +/* D6BE38 80240818 44810000 */ mtc1 $at, $f0 +/* D6BE3C 8024081C 00000000 */ nop +/* D6BE40 80240820 4600103C */ c.lt.s $f2, $f0 +/* D6BE44 80240824 00000000 */ nop +/* D6BE48 80240828 45000004 */ bc1f .L8024083C +/* D6BE4C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D6BE50 80240830 3C041000 */ lui $a0, 0x1000 +/* D6BE54 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D6BE58 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D6BE5C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D6BE60 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D6BE64 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D6BE68 80240848 0C0B7710 */ jal render_sprite +/* D6BE6C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D6BE70 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D6BE74 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D6BE78 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D6BE7C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6BE80 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D6BE84 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D6BE88 80240868 03E00008 */ jr $ra +/* D6BE8C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240870_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240870_D6B620.s new file mode 100644 index 0000000000..5e14ae33eb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240870_D6B620.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D6BE90 +/* D6BE90 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D6BE94 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D6BE98 80240878 4480B000 */ mtc1 $zero, $f22 +/* D6BE9C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D6BEA0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D6BEA4 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D6BEA8 80240888 0000982D */ daddu $s3, $zero, $zero +/* D6BEAC 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D6BEB0 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D6BEB4 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D6BEB8 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D6BEBC 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D6BEC0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D6BEC4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D6BEC8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D6BECC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D6BED0 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D6BED4 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D6BED8 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D6BEDC 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D6BEE0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D6BEE4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D6BEE8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D6BEEC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D6BEF0 802408D0 3C03800A */ lui $v1, 0x800a +/* D6BEF4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D6BEF8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D6BEFC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D6BF00 802408E0 00021080 */ sll $v0, $v0, 2 +/* D6BF04 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D6BF08 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D6BF0C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D6BF10 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D6BF14 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D6BF18 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D6BF1C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D6BF20 80240900 46000507 */ neg.s $f20, $f0 +/* D6BF24 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6BF28 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D6BF2C 8024090C 44810000 */ mtc1 $at, $f0 +/* D6BF30 80240910 00000000 */ nop +/* D6BF34 80240914 4602003C */ c.lt.s $f0, $f2 +/* D6BF38 80240918 00000000 */ nop +/* D6BF3C 8024091C 4500000A */ bc1f .L80240948 +/* D6BF40 80240920 00000000 */ nop +/* D6BF44 80240924 3C014334 */ lui $at, 0x4334 +/* D6BF48 80240928 44812000 */ mtc1 $at, $f4 +/* D6BF4C 8024092C 00000000 */ nop +/* D6BF50 80240930 4604103E */ c.le.s $f2, $f4 +/* D6BF54 80240934 00000000 */ nop +/* D6BF58 80240938 45000003 */ bc1f .L80240948 +/* D6BF5C 8024093C 00000000 */ nop +/* D6BF60 80240940 08090276 */ j .L802409D8 +/* D6BF64 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D6BF68 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D6BF6C 8024094C 3C014334 */ lui $at, 0x4334 +/* D6BF70 80240950 44812000 */ mtc1 $at, $f4 +/* D6BF74 80240954 00000000 */ nop +/* D6BF78 80240958 4600203C */ c.lt.s $f4, $f0 +/* D6BF7C 8024095C 00000000 */ nop +/* D6BF80 80240960 4500000C */ bc1f .L80240994 +/* D6BF84 80240964 00000000 */ nop +/* D6BF88 80240968 3C014387 */ lui $at, 0x4387 +/* D6BF8C 8024096C 44812000 */ mtc1 $at, $f4 +/* D6BF90 80240970 00000000 */ nop +/* D6BF94 80240974 4604003E */ c.le.s $f0, $f4 +/* D6BF98 80240978 00000000 */ nop +/* D6BF9C 8024097C 45000008 */ bc1f .L802409A0 +/* D6BFA0 80240980 00000000 */ nop +/* D6BFA4 80240984 3C014334 */ lui $at, 0x4334 +/* D6BFA8 80240988 44812000 */ mtc1 $at, $f4 +/* D6BFAC 8024098C 08090276 */ j .L802409D8 +/* D6BFB0 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D6BFB4 80240994 3C014387 */ lui $at, 0x4387 +/* D6BFB8 80240998 44812000 */ mtc1 $at, $f4 +/* D6BFBC 8024099C 00000000 */ nop +.L802409A0: +/* D6BFC0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D6BFC4 802409A4 00000000 */ nop +/* D6BFC8 802409A8 4500000A */ bc1f .L802409D4 +/* D6BFCC 802409AC 00000000 */ nop +/* D6BFD0 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D6BFD4 802409B4 44811000 */ mtc1 $at, $f2 +/* D6BFD8 802409B8 00000000 */ nop +/* D6BFDC 802409BC 4602003E */ c.le.s $f0, $f2 +/* D6BFE0 802409C0 00000000 */ nop +/* D6BFE4 802409C4 45000003 */ bc1f .L802409D4 +/* D6BFE8 802409C8 00000000 */ nop +/* D6BFEC 802409CC 08090276 */ j .L802409D8 +/* D6BFF0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D6BFF4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D6BFF8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D6BFFC 802409DC 44810000 */ mtc1 $at, $f0 +/* D6C000 802409E0 00000000 */ nop +/* D6C004 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D6C008 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D6C00C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D6C010 802409F0 00000000 */ nop +/* D6C014 802409F4 00071100 */ sll $v0, $a3, 4 +/* D6C018 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D6C01C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D6C020 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D6C024 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D6C028 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D6C02C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D6C030 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D6C034 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D6C038 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D6C03C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D6C040 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D6C044 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D6C048 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D6C04C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D6C050 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D6C054 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D6C058 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D6C05C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D6C060 80240A40 0C019EC8 */ jal guRotateF +/* D6C064 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C068 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6C06C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D6C070 80240A50 00000000 */ nop +/* D6C074 80240A54 44050000 */ mfc1 $a1, $f0 +/* D6C078 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D6C07C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D6C080 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D6C084 80240A64 44812000 */ mtc1 $at, $f4 +/* D6C088 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C08C 80240A6C 0C019EC8 */ jal guRotateF +/* D6C090 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D6C094 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D6C098 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D6C09C 80240A7C 0C019D80 */ jal guMtxCatF +/* D6C0A0 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D6C0A4 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6C0A8 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6C0AC 80240A8C 080902D6 */ j .L80240B58 +/* D6C0B0 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D6C0B4 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D6C0B8 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D6C0BC 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D6C0C0 80240AA0 0C03964E */ jal func_800E5938 +/* D6C0C4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D6C0C8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D6C0CC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D6C0D0 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D6C0D4 80240AB4 46000606 */ mov.s $f24, $f0 +/* D6C0D8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6C0DC 80240ABC 080902B5 */ j .L80240AD4 +/* D6C0E0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D6C0E4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D6C0E8 80240AC8 00000000 */ nop +/* D6C0EC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D6C0F0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D6C0F4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D6C0F8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D6C0FC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D6C100 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6C104 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D6C108 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D6C10C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D6C110 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D6C114 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D6C118 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D6C11C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D6C120 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D6C124 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D6C128 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D6C12C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C130 80240B10 0C019EC8 */ jal guRotateF +/* D6C134 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C138 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D6C13C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D6C140 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D6C144 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D6C148 80240B28 0C019EC8 */ jal guRotateF +/* D6C14C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C150 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D6C154 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D6C158 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6C15C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C160 80240B40 0C019EC8 */ jal guRotateF +/* D6C164 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C168 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6C16C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D6C170 80240B50 0C019D80 */ jal guMtxCatF +/* D6C174 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D6C178 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6C17C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D6C180 80240B60 44812000 */ mtc1 $at, $f4 +/* D6C184 80240B64 00021023 */ negu $v0, $v0 +/* D6C188 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6C18C 80240B6C 00000000 */ nop +/* D6C190 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D6C194 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D6C198 80240B78 00000000 */ nop +/* D6C19C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D6C1A0 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D6C1A4 80240B84 44062000 */ mfc1 $a2, $f4 +/* D6C1A8 80240B88 0C019E40 */ jal guTranslateF +/* D6C1AC 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D6C1B0 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D6C1B4 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D6C1B8 80240B98 0C019D80 */ jal guMtxCatF +/* D6C1BC 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D6C1C0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D6C1C4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D6C1C8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D6C1CC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D6C1D0 80240BB0 0C019EC8 */ jal guRotateF +/* D6C1D4 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C1D8 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C1DC 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D6C1E0 80240BC0 0C019D80 */ jal guMtxCatF +/* D6C1E4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D6C1E8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6C1EC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6C1F0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D6C1F4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D6C1F8 80240BD8 0C019EC8 */ jal guRotateF +/* D6C1FC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D6C200 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C204 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D6C208 80240BE8 0C019D80 */ jal guMtxCatF +/* D6C20C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D6C210 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D6C214 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D6C218 80240BF8 44812000 */ mtc1 $at, $f4 +/* D6C21C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D6C220 80240C00 00000000 */ nop +/* D6C224 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D6C228 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D6C22C 80240C0C 00000000 */ nop +/* D6C230 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D6C234 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D6C238 80240C18 44062000 */ mfc1 $a2, $f4 +/* D6C23C 80240C1C 0C019E40 */ jal guTranslateF +/* D6C240 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D6C244 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C248 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6C24C 80240C2C 0C019D80 */ jal guMtxCatF +/* D6C250 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D6C254 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D6C258 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6C25C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D6C260 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D6C264 80240C44 44050000 */ mfc1 $a1, $f0 +/* D6C268 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6C26C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6C270 80240C50 0C019DF0 */ jal guScaleF +/* D6C274 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D6C278 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C27C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D6C280 80240C60 0C019D80 */ jal guMtxCatF +/* D6C284 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D6C288 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6C28C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D6C290 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D6C294 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D6C298 80240C78 0C019E40 */ jal guTranslateF +/* D6C29C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D6C2A0 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D6C2A4 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D6C2A8 80240C88 0C019D80 */ jal guMtxCatF +/* D6C2AC 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D6C2B0 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6C2B4 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D6C2B8 80240C98 44810000 */ mtc1 $at, $f0 +/* D6C2BC 80240C9C 00000000 */ nop +/* D6C2C0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D6C2C4 80240CA4 00000000 */ nop +/* D6C2C8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D6C2CC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D6C2D0 80240CB0 3C014387 */ lui $at, 0x4387 +/* D6C2D4 80240CB4 44812000 */ mtc1 $at, $f4 +/* D6C2D8 80240CB8 00000000 */ nop +/* D6C2DC 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D6C2E0 80240CC0 00000000 */ nop +/* D6C2E4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D6C2E8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D6C2EC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D6C2F0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D6C2F4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D6C2F8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D6C2FC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D6C300 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D6C304 80240CE4 0C0B7710 */ jal render_sprite +/* D6C308 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D6C30C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D6C310 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D6C314 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D6C318 80240CF8 00000000 */ nop +/* D6C31C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D6C320 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D6C324 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D6C328 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D6C32C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D6C330 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D6C334 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D6C338 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D6C33C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D6C340 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D6C344 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D6C348 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D6C34C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D6C350 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D6C354 80240D34 03E00008 */ jr $ra +/* D6C358 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240D3C_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240D3C_D6B620.s new file mode 100644 index 0000000000..3f9ae22fc0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240D3C_D6B620.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D6C35C +/* D6C35C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6C360 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D6C364 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D6C368 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D6C36C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D6C370 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D6C374 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D6C378 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6C37C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D6C380 80240D60 00000000 */ nop +/* D6C384 80240D64 28620002 */ slti $v0, $v1, 2 +/* D6C388 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6C38C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D6C390 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D6C394 80240D74 00000000 */ nop +/* D6C398 80240D78 08090378 */ j .L80240DE0 +/* D6C39C 80240D7C 00000000 */ nop +.L80240D80: +/* D6C3A0 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D6C3A4 80240D84 00000000 */ nop +/* D6C3A8 80240D88 08090378 */ j .L80240DE0 +/* D6C3AC 80240D8C 00000000 */ nop +.L80240D90: +/* D6C3B0 80240D90 3C048024 */ lui $a0, 0x8024 +/* D6C3B4 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D6C3B8 80240D98 08090374 */ j .L80240DD0 +/* D6C3BC 80240D9C 00000000 */ nop +.L80240DA0: +/* D6C3C0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D6C3C4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D6C3C8 80240DA8 08090374 */ j .L80240DD0 +/* D6C3CC 80240DAC 00000000 */ nop +.L80240DB0: +/* D6C3D0 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D6C3D4 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D6C3D8 80240DB8 00000000 */ nop +/* D6C3DC 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D6C3E0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D6C3E4 80240DC4 00000000 */ nop +.L80240DC8: +/* D6C3E8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D6C3EC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D6C3F0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D6C3F4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D6C3F8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D6C3FC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D6C400 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D6C404 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D6C408 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D6C40C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D6C410 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D6C414 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D6C418 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D6C41C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D6C420 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D6C424 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D6C428 80240E08 28820002 */ slti $v0, $a0, 2 +/* D6C42C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D6C430 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D6C434 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D6C438 80240E18 00000000 */ nop +/* D6C43C 80240E1C 0809039D */ j .L80240E74 +/* D6C440 80240E20 00000000 */ nop +.L80240E24: +/* D6C444 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D6C448 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D6C44C 80240E2C 0809039D */ j .L80240E74 +/* D6C450 80240E30 00000000 */ nop +.L80240E34: +/* D6C454 80240E34 8CA20000 */ lw $v0, ($a1) +/* D6C458 80240E38 0809039A */ j .L80240E68 +/* D6C45C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D6C460 80240E40 8CA20000 */ lw $v0, ($a1) +/* D6C464 80240E44 0809039A */ j .L80240E68 +/* D6C468 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D6C46C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D6C470 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D6C474 80240E54 28420002 */ slti $v0, $v0, 2 +/* D6C478 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6C47C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D6C480 80240E60 8CA20000 */ lw $v0, ($a1) +/* D6C484 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D6C488 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6C48C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D6C490 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D6C494 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D6C498 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6C49C 80240E7C 03E00008 */ jr $ra +/* D6C4A0 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240E84_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240E84_D6B620.s new file mode 100644 index 0000000000..2ef59400c7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240E84_D6B620.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D6C4A4 +/* D6C4A4 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6C4A8 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6C4AC 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D6C4B0 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D6C4B4 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D6C4B8 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6C4BC 80240E9C 3C03000A */ lui $v1, 0xa +/* D6C4C0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D6C4C4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D6C4C8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D6C4CC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D6C4D0 80240EB0 03E00008 */ jr $ra +/* D6C4D4 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240EB8_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240EB8_D6B620.s new file mode 100644 index 0000000000..a913222bc8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240EB8_D6B620.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D6C4D8 +/* D6C4D8 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6C4DC 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D6C4E0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D6C4E4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D6C4E8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D6C4EC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D6C4F0 80240ED0 3C030008 */ lui $v1, 8 +/* D6C4F4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D6C4F8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D6C4FC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D6C500 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D6C504 80240EE4 03E00008 */ jr $ra +/* D6C508 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_18/func_80240EEC_D6B620.s b/asm/nonmatchings/world/area_pra/pra_18/func_80240EEC_D6B620.s new file mode 100644 index 0000000000..44ac3c1c06 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_18/func_80240EEC_D6B620.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D6C50C +/* D6C50C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6C510 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D6C514 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D6C518 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D6C51C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D6C520 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D6C524 80240F04 3C030002 */ lui $v1, 2 +/* D6C528 80240F08 8C820000 */ lw $v0, ($a0) +/* D6C52C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D6C530 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D6C534 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D6C538 80240F18 03E00008 */ jr $ra +/* D6C53C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240000_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240000_D6E9B0.s new file mode 100644 index 0000000000..305c210009 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240000_D6E9B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D6E9B0 +/* D6E9B0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D6E9B4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D6E9B8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D6E9BC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D6E9C0 80240010 03E00008 */ jr $ra +/* D6E9C4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D6E9C8 80240018 00000000 */ nop +/* D6E9CC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240020_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240020_D6E9B0.s new file mode 100644 index 0000000000..7189e20355 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240020_D6E9B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D6E9D0 +/* D6E9D0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D6E9D4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D6E9D8 80240028 00822024 */ and $a0, $a0, $v0 +/* D6E9DC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D6E9E0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D6E9E4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D6E9E8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6E9EC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D6E9F0 80240040 30620001 */ andi $v0, $v1, 1 +/* D6E9F4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D6E9F8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D6E9FC 8024004C 03E00008 */ jr $ra +/* D6EA00 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240054_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240054_D6E9B0.s new file mode 100644 index 0000000000..fb488222a8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240054_D6E9B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D6EA04 +/* D6EA04 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D6EA08 80240058 304300FF */ andi $v1, $v0, 0xff +/* D6EA0C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D6EA10 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D6EA14 80240064 28620007 */ slti $v0, $v1, 7 +/* D6EA18 80240068 10400005 */ beqz $v0, .L80240080 +/* D6EA1C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D6EA20 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D6EA24 80240074 3C020100 */ lui $v0, 0x100 +/* D6EA28 80240078 03E00008 */ jr $ra +/* D6EA2C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D6EA30 80240080 2862000A */ slti $v0, $v1, 0xa +/* D6EA34 80240084 10400016 */ beqz $v0, .L802400E0 +/* D6EA38 80240088 28620008 */ slti $v0, $v1, 8 +/* D6EA3C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D6EA40 80240090 3C020100 */ lui $v0, 0x100 +/* D6EA44 80240094 03E00008 */ jr $ra +/* D6EA48 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D6EA4C 8024009C 3C020001 */ lui $v0, 1 +/* D6EA50 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D6EA54 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D6EA58 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D6EA5C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D6EA60 802400B0 03E00008 */ jr $ra +/* D6EA64 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D6EA68 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D6EA6C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D6EA70 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D6EA74 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D6EA78 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D6EA7C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D6EA80 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D6EA84 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D6EA88 802400D8 03E00008 */ jr $ra +/* D6EA8C 802400DC 00000000 */ nop +.L802400E0: +/* D6EA90 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D6EA94 802400E4 03E00008 */ jr $ra +/* D6EA98 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802400EC_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802400EC_D6E9B0.s new file mode 100644 index 0000000000..1557409adf --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802400EC_D6E9B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D6EA9C +/* D6EA9C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6EAA0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D6EAA4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D6EAA8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D6EAAC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D6EAB0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D6EAB4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D6EAB8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D6EABC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D6EAC0 80240110 AC620000 */ sw $v0, ($v1) +/* D6EAC4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D6EAC8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D6EACC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D6EAD0 80240120 03E00008 */ jr $ra +/* D6EAD4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240128_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240128_D6E9B0.s new file mode 100644 index 0000000000..064d687529 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240128_D6E9B0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D6EAD8 +/* D6EAD8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6EADC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D6EAE0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6EAE4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D6EAE8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D6EAEC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D6EAF0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D6EAF4 80240144 8E020000 */ lw $v0, ($s0) +/* D6EAF8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D6EAFC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D6EB00 80240150 10400061 */ beqz $v0, .L802402D8 +/* D6EB04 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D6EB08 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D6EB0C 8024015C 0C044181 */ jal get_shadow_by_index +/* D6EB10 80240160 00000000 */ nop +/* D6EB14 80240164 0C048B77 */ jal func_80122DDC +/* D6EB18 80240168 84440008 */ lh $a0, 8($v0) +/* D6EB1C 8024016C 8C430000 */ lw $v1, ($v0) +/* D6EB20 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D6EB24 80240174 AC430000 */ sw $v1, ($v0) +/* D6EB28 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D6EB2C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D6EB30 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D6EB34 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D6EB38 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D6EB3C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D6EB40 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D6EB44 80240194 3C04800A */ lui $a0, 0x800a +/* D6EB48 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D6EB4C 8024019C 46000007 */ neg.s $f0, $f0 +/* D6EB50 802401A0 44070000 */ mfc1 $a3, $f0 +/* D6EB54 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D6EB58 802401A8 0C00B94E */ jal get_screen_coords +/* D6EB5C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D6EB60 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D6EB64 802401B4 0C090008 */ jal func_80240020 +/* D6EB68 802401B8 00000000 */ nop +/* D6EB6C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D6EB70 802401C0 3C014307 */ lui $at, 0x4307 +/* D6EB74 802401C4 44810000 */ mtc1 $at, $f0 +/* D6EB78 802401C8 00000000 */ nop +/* D6EB7C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D6EB80 802401D0 00000000 */ nop +/* D6EB84 802401D4 4500000B */ bc1f .L80240204 +/* D6EB88 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D6EB8C 802401DC 3C014361 */ lui $at, 0x4361 +/* D6EB90 802401E0 44810000 */ mtc1 $at, $f0 +/* D6EB94 802401E4 00000000 */ nop +/* D6EB98 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D6EB9C 802401EC 00000000 */ nop +/* D6EBA0 802401F0 45000004 */ bc1f .L80240204 +/* D6EBA4 802401F4 00000000 */ nop +/* D6EBA8 802401F8 0C090015 */ jal func_80240054 +/* D6EBAC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D6EBB0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D6EBB4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D6EBB8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D6EBBC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D6EBC0 80240210 8E020000 */ lw $v0, ($s0) +/* D6EBC4 80240214 3C030002 */ lui $v1, 2 +/* D6EBC8 80240218 00431024 */ and $v0, $v0, $v1 +/* D6EBCC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D6EBD0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D6EBD4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D6EBD8 80240228 3C02802E */ lui $v0, 0x802e +/* D6EBDC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D6EBE0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D6EBE4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D6EBE8 80240238 1040000B */ beqz $v0, .L80240268 +/* D6EBEC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D6EBF0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D6EBF4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D6EBF8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D6EBFC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D6EC00 80240250 0000382D */ daddu $a3, $zero, $zero +/* D6EC04 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D6EC08 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D6EC0C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D6EC10 80240260 080900A3 */ j .L8024028C +/* D6EC14 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D6EC18 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D6EC1C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D6EC20 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D6EC24 80240274 0000302D */ daddu $a2, $zero, $zero +/* D6EC28 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D6EC2C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D6EC30 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D6EC34 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D6EC38 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D6EC3C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D6EC40 80240290 00000000 */ nop +.L80240294: +/* D6EC44 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D6EC48 80240298 3C01802E */ lui $at, 0x802e +/* D6EC4C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D6EC50 802402A0 080900AD */ j .L802402B4 +/* D6EC54 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D6EC58 802402A8 3C01802E */ lui $at, 0x802e +/* D6EC5C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D6EC60 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D6EC64 802402B4 AC910000 */ sw $s1, ($a0) +/* D6EC68 802402B8 AC900008 */ sw $s0, 8($a0) +/* D6EC6C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D6EC70 802402C0 3C038024 */ lui $v1, 0x8024 +/* D6EC74 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D6EC78 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D6EC7C 802402CC 00021023 */ negu $v0, $v0 +/* D6EC80 802402D0 0C047644 */ jal queue_render_task +/* D6EC84 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D6EC88 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D6EC8C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D6EC90 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D6EC94 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D6EC98 802402E8 03E00008 */ jr $ra +/* D6EC9C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802402F0_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802402F0_D6E9B0.s new file mode 100644 index 0000000000..8617c7837e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802402F0_D6E9B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D6ECA0 +/* D6ECA0 802402F0 3C03800A */ lui $v1, 0x800a +/* D6ECA4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D6ECA8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D6ECAC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6ECB0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D6ECB4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D6ECB8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D6ECBC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D6ECC0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D6ECC4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D6ECC8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D6ECCC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D6ECD0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D6ECD4 80240324 00031080 */ sll $v0, $v1, 2 +/* D6ECD8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D6ECDC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D6ECE0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D6ECE4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D6ECE8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D6ECEC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D6ECF0 80240340 3C01800B */ lui $at, 0x800b +/* D6ECF4 80240344 00220821 */ addu $at, $at, $v0 +/* D6ECF8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6ECFC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D6ED00 80240350 4600B587 */ neg.s $f22, $f22 +/* D6ED04 80240354 4405B000 */ mfc1 $a1, $f22 +/* D6ED08 80240358 0200202D */ daddu $a0, $s0, $zero +/* D6ED0C 8024035C 0C019EC8 */ jal guRotateF +/* D6ED10 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6ED14 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6ED18 80240368 0C00A6C9 */ jal clamp_angle +/* D6ED1C 8024036C 00000000 */ nop +/* D6ED20 80240370 44050000 */ mfc1 $a1, $f0 +/* D6ED24 80240374 4406A000 */ mfc1 $a2, $f20 +/* D6ED28 80240378 4407A000 */ mfc1 $a3, $f20 +/* D6ED2C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D6ED30 80240380 4481C000 */ mtc1 $at, $f24 +/* D6ED34 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D6ED38 80240388 0C019EC8 */ jal guRotateF +/* D6ED3C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D6ED40 80240390 0200202D */ daddu $a0, $s0, $zero +/* D6ED44 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D6ED48 80240398 0C019D80 */ jal guMtxCatF +/* D6ED4C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D6ED50 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D6ED54 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D6ED58 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D6ED5C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D6ED60 802403B0 0C019EC8 */ jal guRotateF +/* D6ED64 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6ED68 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D6ED6C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D6ED70 802403C0 0C019D80 */ jal guMtxCatF +/* D6ED74 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D6ED78 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6ED7C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6ED80 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D6ED84 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D6ED88 802403D8 0C019EC8 */ jal guRotateF +/* D6ED8C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D6ED90 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D6ED94 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D6ED98 802403E8 0C019D80 */ jal guMtxCatF +/* D6ED9C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D6EDA0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D6EDA4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D6EDA8 802403F8 44810000 */ mtc1 $at, $f0 +/* D6EDAC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D6EDB0 80240400 44050000 */ mfc1 $a1, $f0 +/* D6EDB4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D6EDB8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D6EDBC 8024040C 0C019DF0 */ jal guScaleF +/* D6EDC0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D6EDC4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D6EDC8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D6EDCC 8024041C 0C019D80 */ jal guMtxCatF +/* D6EDD0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D6EDD4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D6EDD8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D6EDDC 8024042C 3C014040 */ lui $at, 0x4040 +/* D6EDE0 80240430 44811000 */ mtc1 $at, $f2 +/* D6EDE4 80240434 46000007 */ neg.s $f0, $f0 +/* D6EDE8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D6EDEC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D6EDF0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D6EDF4 80240444 44070000 */ mfc1 $a3, $f0 +/* D6EDF8 80240448 0C019E40 */ jal guTranslateF +/* D6EDFC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D6EE00 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D6EE04 80240454 0200282D */ daddu $a1, $s0, $zero +/* D6EE08 80240458 0C019D80 */ jal guMtxCatF +/* D6EE0C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D6EE10 80240460 24040002 */ addiu $a0, $zero, 2 +/* D6EE14 80240464 0000282D */ daddu $a1, $zero, $zero +/* D6EE18 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D6EE1C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D6EE20 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D6EE24 80240474 0C0B7710 */ jal render_sprite +/* D6EE28 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D6EE2C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D6EE30 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D6EE34 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D6EE38 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6EE3C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D6EE40 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D6EE44 80240494 03E00008 */ jr $ra +/* D6EE48 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_8024049C_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_8024049C_D6E9B0.s new file mode 100644 index 0000000000..9afb83ed4e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_8024049C_D6E9B0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D6EE4C +/* D6EE4C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6EE50 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D6EE54 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D6EE58 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D6EE5C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D6EE60 802404B0 0440000E */ bltz $v0, .L802404EC +/* D6EE64 802404B4 28420002 */ slti $v0, $v0, 2 +/* D6EE68 802404B8 1040000C */ beqz $v0, .L802404EC +/* D6EE6C 802404BC 00000000 */ nop +/* D6EE70 802404C0 3C058024 */ lui $a1, 0x8024 +/* D6EE74 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D6EE78 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D6EE7C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D6EE80 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D6EE84 802404D4 AC620000 */ sw $v0, ($v1) +/* D6EE88 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D6EE8C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D6EE90 802404E0 8C620000 */ lw $v0, ($v1) +/* D6EE94 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D6EE98 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D6EE9C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D6EEA0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D6EEA4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D6EEA8 802404F8 03E00008 */ jr $ra +/* D6EEAC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240500_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240500_D6E9B0.s new file mode 100644 index 0000000000..32da49dedb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240500_D6E9B0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D6EEB0 +/* D6EEB0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6EEB4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D6EEB8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D6EEBC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D6EEC0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D6EEC4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D6EEC8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D6EECC 8024051C 8E020000 */ lw $v0, ($s0) +/* D6EED0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D6EED4 80240524 30420001 */ andi $v0, $v0, 1 +/* D6EED8 80240528 10400052 */ beqz $v0, .L80240674 +/* D6EEDC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D6EEE0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D6EEE4 80240534 0C044181 */ jal get_shadow_by_index +/* D6EEE8 80240538 00000000 */ nop +/* D6EEEC 8024053C 0C048B77 */ jal func_80122DDC +/* D6EEF0 80240540 84440008 */ lh $a0, 8($v0) +/* D6EEF4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D6EEF8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D6EEFC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D6EF00 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D6EF04 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D6EF08 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D6EF0C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D6EF10 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D6EF14 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D6EF18 80240568 3C04800A */ lui $a0, 0x800a +/* D6EF1C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D6EF20 80240570 46000007 */ neg.s $f0, $f0 +/* D6EF24 80240574 44060000 */ mfc1 $a2, $f0 +/* D6EF28 80240578 0C00B94E */ jal get_screen_coords +/* D6EF2C 8024057C 00000000 */ nop +/* D6EF30 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D6EF34 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D6EF38 80240588 0C0B76A3 */ jal func_802DDA8C +/* D6EF3C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D6EF40 80240590 8E020000 */ lw $v0, ($s0) +/* D6EF44 80240594 3C030002 */ lui $v1, 2 +/* D6EF48 80240598 00431024 */ and $v0, $v0, $v1 +/* D6EF4C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D6EF50 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D6EF54 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D6EF58 802405A8 3C02802E */ lui $v0, 0x802e +/* D6EF5C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D6EF60 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D6EF64 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D6EF68 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D6EF6C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D6EF70 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D6EF74 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D6EF78 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D6EF7C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D6EF80 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D6EF84 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D6EF88 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D6EF8C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D6EF90 802405E0 08090183 */ j .L8024060C +/* D6EF94 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D6EF98 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D6EF9C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D6EFA0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D6EFA4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D6EFA8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D6EFAC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D6EFB0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D6EFB4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D6EFB8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D6EFBC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D6EFC0 80240610 00000000 */ nop +.L80240614: +/* D6EFC4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D6EFC8 80240618 3C01802E */ lui $at, 0x802e +/* D6EFCC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D6EFD0 80240620 0809018C */ j .L80240630 +/* D6EFD4 80240624 00000000 */ nop +.L80240628: +/* D6EFD8 80240628 3C01802E */ lui $at, 0x802e +/* D6EFDC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D6EFE0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D6EFE4 80240634 3C048024 */ lui $a0, 0x8024 +/* D6EFE8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D6EFEC 8024063C AE320000 */ sw $s2, ($s1) +/* D6EFF0 80240640 AE300008 */ sw $s0, 8($s1) +/* D6EFF4 80240644 00021023 */ negu $v0, $v0 +/* D6EFF8 80240648 AE220004 */ sw $v0, 4($s1) +/* D6EFFC 8024064C 8E020000 */ lw $v0, ($s0) +/* D6F000 80240650 3C030002 */ lui $v1, 2 +/* D6F004 80240654 00431024 */ and $v0, $v0, $v1 +/* D6F008 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D6F00C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D6F010 80240660 3C048024 */ lui $a0, 0x8024 +/* D6F014 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D6F018 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D6F01C 8024066C 0C047644 */ jal queue_render_task +/* D6F020 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D6F024 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D6F028 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D6F02C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D6F030 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D6F034 80240684 03E00008 */ jr $ra +/* D6F038 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_8024068C_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_8024068C_D6E9B0.s new file mode 100644 index 0000000000..5de64a7418 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_8024068C_D6E9B0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D6F03C +/* D6F03C 8024068C 3C03800A */ lui $v1, 0x800a +/* D6F040 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D6F044 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D6F048 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D6F04C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D6F050 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D6F054 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D6F058 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D6F05C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D6F060 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D6F064 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D6F068 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D6F06C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D6F070 802406C0 00031080 */ sll $v0, $v1, 2 +/* D6F074 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D6F078 802406C8 00021080 */ sll $v0, $v0, 2 +/* D6F07C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D6F080 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D6F084 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D6F088 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D6F08C 802406DC 3C01800B */ lui $at, 0x800b +/* D6F090 802406E0 00220821 */ addu $at, $at, $v0 +/* D6F094 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6F098 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D6F09C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D6F0A0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D6F0A4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D6F0A8 802406F8 0C019EC8 */ jal guRotateF +/* D6F0AC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D6F0B0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6F0B4 80240704 0C00A6C9 */ jal clamp_angle +/* D6F0B8 80240708 00000000 */ nop +/* D6F0BC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D6F0C0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D6F0C4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D6F0C8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D6F0CC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D6F0D0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D6F0D4 80240724 0C019EC8 */ jal guRotateF +/* D6F0D8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D6F0DC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D6F0E0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D6F0E4 80240734 0C019D80 */ jal guMtxCatF +/* D6F0E8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D6F0EC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D6F0F0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D6F0F4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D6F0F8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D6F0FC 8024074C 0C019EC8 */ jal guRotateF +/* D6F100 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6F104 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D6F108 80240758 0200282D */ daddu $a1, $s0, $zero +/* D6F10C 8024075C 0C019D80 */ jal guMtxCatF +/* D6F110 80240760 0080302D */ daddu $a2, $a0, $zero +/* D6F114 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D6F118 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6F11C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D6F120 80240770 4407C000 */ mfc1 $a3, $f24 +/* D6F124 80240774 0C019EC8 */ jal guRotateF +/* D6F128 80240778 0200202D */ daddu $a0, $s0, $zero +/* D6F12C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D6F130 80240780 0200282D */ daddu $a1, $s0, $zero +/* D6F134 80240784 0C019D80 */ jal guMtxCatF +/* D6F138 80240788 0080302D */ daddu $a2, $a0, $zero +/* D6F13C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D6F140 80240790 3C013F36 */ lui $at, 0x3f36 +/* D6F144 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D6F148 80240798 44810000 */ mtc1 $at, $f0 +/* D6F14C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D6F150 802407A0 44050000 */ mfc1 $a1, $f0 +/* D6F154 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D6F158 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6F15C 802407AC 0C019DF0 */ jal guScaleF +/* D6F160 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D6F164 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6F168 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D6F16C 802407BC 0C019D80 */ jal guMtxCatF +/* D6F170 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D6F174 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D6F178 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D6F17C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D6F180 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D6F184 802407D4 46000007 */ neg.s $f0, $f0 +/* D6F188 802407D8 44060000 */ mfc1 $a2, $f0 +/* D6F18C 802407DC 0C019E40 */ jal guTranslateF +/* D6F190 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D6F194 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D6F198 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D6F19C 802407EC 0C019D80 */ jal guMtxCatF +/* D6F1A0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D6F1A4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6F1A8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D6F1AC 802407FC 44810000 */ mtc1 $at, $f0 +/* D6F1B0 80240800 00000000 */ nop +/* D6F1B4 80240804 4602003E */ c.le.s $f0, $f2 +/* D6F1B8 80240808 00000000 */ nop +/* D6F1BC 8024080C 4500000A */ bc1f .L80240838 +/* D6F1C0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D6F1C4 80240814 3C014387 */ lui $at, 0x4387 +/* D6F1C8 80240818 44810000 */ mtc1 $at, $f0 +/* D6F1CC 8024081C 00000000 */ nop +/* D6F1D0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D6F1D4 80240824 00000000 */ nop +/* D6F1D8 80240828 45000004 */ bc1f .L8024083C +/* D6F1DC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D6F1E0 80240830 3C041000 */ lui $a0, 0x1000 +/* D6F1E4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D6F1E8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D6F1EC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D6F1F0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D6F1F4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D6F1F8 80240848 0C0B7710 */ jal render_sprite +/* D6F1FC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D6F200 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D6F204 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D6F208 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D6F20C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D6F210 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D6F214 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D6F218 80240868 03E00008 */ jr $ra +/* D6F21C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240870_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240870_D6E9B0.s new file mode 100644 index 0000000000..60bafe9fe0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240870_D6E9B0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D6F220 +/* D6F220 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D6F224 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D6F228 80240878 4480B000 */ mtc1 $zero, $f22 +/* D6F22C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D6F230 80240880 0080882D */ daddu $s1, $a0, $zero +/* D6F234 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D6F238 80240888 0000982D */ daddu $s3, $zero, $zero +/* D6F23C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D6F240 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D6F244 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D6F248 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D6F24C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D6F250 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D6F254 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D6F258 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D6F25C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D6F260 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D6F264 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D6F268 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D6F26C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D6F270 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D6F274 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D6F278 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D6F27C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D6F280 802408D0 3C03800A */ lui $v1, 0x800a +/* D6F284 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D6F288 802408D8 00031080 */ sll $v0, $v1, 2 +/* D6F28C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D6F290 802408E0 00021080 */ sll $v0, $v0, 2 +/* D6F294 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D6F298 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D6F29C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D6F2A0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D6F2A4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D6F2A8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D6F2AC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D6F2B0 80240900 46000507 */ neg.s $f20, $f0 +/* D6F2B4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6F2B8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D6F2BC 8024090C 44810000 */ mtc1 $at, $f0 +/* D6F2C0 80240910 00000000 */ nop +/* D6F2C4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D6F2C8 80240918 00000000 */ nop +/* D6F2CC 8024091C 4500000A */ bc1f .L80240948 +/* D6F2D0 80240920 00000000 */ nop +/* D6F2D4 80240924 3C014334 */ lui $at, 0x4334 +/* D6F2D8 80240928 44812000 */ mtc1 $at, $f4 +/* D6F2DC 8024092C 00000000 */ nop +/* D6F2E0 80240930 4604103E */ c.le.s $f2, $f4 +/* D6F2E4 80240934 00000000 */ nop +/* D6F2E8 80240938 45000003 */ bc1f .L80240948 +/* D6F2EC 8024093C 00000000 */ nop +/* D6F2F0 80240940 08090276 */ j .L802409D8 +/* D6F2F4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D6F2F8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D6F2FC 8024094C 3C014334 */ lui $at, 0x4334 +/* D6F300 80240950 44812000 */ mtc1 $at, $f4 +/* D6F304 80240954 00000000 */ nop +/* D6F308 80240958 4600203C */ c.lt.s $f4, $f0 +/* D6F30C 8024095C 00000000 */ nop +/* D6F310 80240960 4500000C */ bc1f .L80240994 +/* D6F314 80240964 00000000 */ nop +/* D6F318 80240968 3C014387 */ lui $at, 0x4387 +/* D6F31C 8024096C 44812000 */ mtc1 $at, $f4 +/* D6F320 80240970 00000000 */ nop +/* D6F324 80240974 4604003E */ c.le.s $f0, $f4 +/* D6F328 80240978 00000000 */ nop +/* D6F32C 8024097C 45000008 */ bc1f .L802409A0 +/* D6F330 80240980 00000000 */ nop +/* D6F334 80240984 3C014334 */ lui $at, 0x4334 +/* D6F338 80240988 44812000 */ mtc1 $at, $f4 +/* D6F33C 8024098C 08090276 */ j .L802409D8 +/* D6F340 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D6F344 80240994 3C014387 */ lui $at, 0x4387 +/* D6F348 80240998 44812000 */ mtc1 $at, $f4 +/* D6F34C 8024099C 00000000 */ nop +.L802409A0: +/* D6F350 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D6F354 802409A4 00000000 */ nop +/* D6F358 802409A8 4500000A */ bc1f .L802409D4 +/* D6F35C 802409AC 00000000 */ nop +/* D6F360 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D6F364 802409B4 44811000 */ mtc1 $at, $f2 +/* D6F368 802409B8 00000000 */ nop +/* D6F36C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D6F370 802409C0 00000000 */ nop +/* D6F374 802409C4 45000003 */ bc1f .L802409D4 +/* D6F378 802409C8 00000000 */ nop +/* D6F37C 802409CC 08090276 */ j .L802409D8 +/* D6F380 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D6F384 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D6F388 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D6F38C 802409DC 44810000 */ mtc1 $at, $f0 +/* D6F390 802409E0 00000000 */ nop +/* D6F394 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D6F398 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D6F39C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D6F3A0 802409F0 00000000 */ nop +/* D6F3A4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D6F3A8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D6F3AC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D6F3B0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D6F3B4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D6F3B8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D6F3BC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D6F3C0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D6F3C4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D6F3C8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D6F3CC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D6F3D0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D6F3D4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D6F3D8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D6F3DC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D6F3E0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D6F3E4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D6F3E8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D6F3EC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D6F3F0 80240A40 0C019EC8 */ jal guRotateF +/* D6F3F4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F3F8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D6F3FC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D6F400 80240A50 00000000 */ nop +/* D6F404 80240A54 44050000 */ mfc1 $a1, $f0 +/* D6F408 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D6F40C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D6F410 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D6F414 80240A64 44812000 */ mtc1 $at, $f4 +/* D6F418 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F41C 80240A6C 0C019EC8 */ jal guRotateF +/* D6F420 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D6F424 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D6F428 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D6F42C 80240A7C 0C019D80 */ jal guMtxCatF +/* D6F430 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D6F434 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6F438 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6F43C 80240A8C 080902D6 */ j .L80240B58 +/* D6F440 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D6F444 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D6F448 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D6F44C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D6F450 80240AA0 0C03964E */ jal func_800E5938 +/* D6F454 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D6F458 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D6F45C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D6F460 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D6F464 80240AB4 46000606 */ mov.s $f24, $f0 +/* D6F468 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D6F46C 80240ABC 080902B5 */ j .L80240AD4 +/* D6F470 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D6F474 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D6F478 80240AC8 00000000 */ nop +/* D6F47C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D6F480 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D6F484 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D6F488 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D6F48C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D6F490 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D6F494 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D6F498 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D6F49C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D6F4A0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D6F4A4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D6F4A8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D6F4AC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D6F4B0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D6F4B4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D6F4B8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D6F4BC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F4C0 80240B10 0C019EC8 */ jal guRotateF +/* D6F4C4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F4C8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D6F4CC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D6F4D0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D6F4D4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D6F4D8 80240B28 0C019EC8 */ jal guRotateF +/* D6F4DC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F4E0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D6F4E4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D6F4E8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D6F4EC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F4F0 80240B40 0C019EC8 */ jal guRotateF +/* D6F4F4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F4F8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D6F4FC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D6F500 80240B50 0C019D80 */ jal guMtxCatF +/* D6F504 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D6F508 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D6F50C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D6F510 80240B60 44812000 */ mtc1 $at, $f4 +/* D6F514 80240B64 00021023 */ negu $v0, $v0 +/* D6F518 80240B68 44820000 */ mtc1 $v0, $f0 +/* D6F51C 80240B6C 00000000 */ nop +/* D6F520 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D6F524 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D6F528 80240B78 00000000 */ nop +/* D6F52C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D6F530 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D6F534 80240B84 44062000 */ mfc1 $a2, $f4 +/* D6F538 80240B88 0C019E40 */ jal guTranslateF +/* D6F53C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D6F540 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D6F544 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D6F548 80240B98 0C019D80 */ jal guMtxCatF +/* D6F54C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D6F550 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D6F554 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D6F558 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D6F55C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D6F560 80240BB0 0C019EC8 */ jal guRotateF +/* D6F564 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F568 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F56C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D6F570 80240BC0 0C019D80 */ jal guMtxCatF +/* D6F574 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D6F578 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D6F57C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D6F580 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D6F584 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D6F588 80240BD8 0C019EC8 */ jal guRotateF +/* D6F58C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D6F590 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F594 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D6F598 80240BE8 0C019D80 */ jal guMtxCatF +/* D6F59C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D6F5A0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D6F5A4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D6F5A8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D6F5AC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D6F5B0 80240C00 00000000 */ nop +/* D6F5B4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D6F5B8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D6F5BC 80240C0C 00000000 */ nop +/* D6F5C0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D6F5C4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D6F5C8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D6F5CC 80240C1C 0C019E40 */ jal guTranslateF +/* D6F5D0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D6F5D4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F5D8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D6F5DC 80240C2C 0C019D80 */ jal guMtxCatF +/* D6F5E0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D6F5E4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D6F5E8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D6F5EC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D6F5F0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D6F5F4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D6F5F8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D6F5FC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D6F600 80240C50 0C019DF0 */ jal guScaleF +/* D6F604 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D6F608 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F60C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D6F610 80240C60 0C019D80 */ jal guMtxCatF +/* D6F614 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D6F618 80240C68 4600D687 */ neg.s $f26, $f26 +/* D6F61C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D6F620 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D6F624 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D6F628 80240C78 0C019E40 */ jal guTranslateF +/* D6F62C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D6F630 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D6F634 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D6F638 80240C88 0C019D80 */ jal guMtxCatF +/* D6F63C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D6F640 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D6F644 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D6F648 80240C98 44810000 */ mtc1 $at, $f0 +/* D6F64C 80240C9C 00000000 */ nop +/* D6F650 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D6F654 80240CA4 00000000 */ nop +/* D6F658 80240CA8 4500000A */ bc1f .L80240CD4 +/* D6F65C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D6F660 80240CB0 3C014387 */ lui $at, 0x4387 +/* D6F664 80240CB4 44812000 */ mtc1 $at, $f4 +/* D6F668 80240CB8 00000000 */ nop +/* D6F66C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D6F670 80240CC0 00000000 */ nop +/* D6F674 80240CC4 45000004 */ bc1f .L80240CD8 +/* D6F678 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D6F67C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D6F680 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D6F684 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D6F688 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D6F68C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D6F690 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D6F694 80240CE4 0C0B7710 */ jal render_sprite +/* D6F698 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D6F69C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D6F6A0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D6F6A4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D6F6A8 80240CF8 00000000 */ nop +/* D6F6AC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D6F6B0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D6F6B4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D6F6B8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D6F6BC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D6F6C0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D6F6C4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D6F6C8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D6F6CC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D6F6D0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D6F6D4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D6F6D8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D6F6DC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D6F6E0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D6F6E4 80240D34 03E00008 */ jr $ra +/* D6F6E8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240D3C_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240D3C_D6E9B0.s new file mode 100644 index 0000000000..a4c1ccaee8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240D3C_D6E9B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D6F6EC +/* D6F6EC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6F6F0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D6F6F4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D6F6F8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D6F6FC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D6F700 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D6F704 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D6F708 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D6F70C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D6F710 80240D60 00000000 */ nop +/* D6F714 80240D64 28620002 */ slti $v0, $v1, 2 +/* D6F718 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D6F71C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D6F720 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D6F724 80240D74 00000000 */ nop +/* D6F728 80240D78 08090378 */ j .L80240DE0 +/* D6F72C 80240D7C 00000000 */ nop +.L80240D80: +/* D6F730 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D6F734 80240D84 00000000 */ nop +/* D6F738 80240D88 08090378 */ j .L80240DE0 +/* D6F73C 80240D8C 00000000 */ nop +.L80240D90: +/* D6F740 80240D90 3C048024 */ lui $a0, 0x8024 +/* D6F744 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D6F748 80240D98 08090374 */ j .L80240DD0 +/* D6F74C 80240D9C 00000000 */ nop +.L80240DA0: +/* D6F750 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D6F754 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D6F758 80240DA8 08090374 */ j .L80240DD0 +/* D6F75C 80240DAC 00000000 */ nop +.L80240DB0: +/* D6F760 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D6F764 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D6F768 80240DB8 00000000 */ nop +/* D6F76C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D6F770 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D6F774 80240DC4 00000000 */ nop +.L80240DC8: +/* D6F778 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D6F77C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D6F780 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D6F784 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D6F788 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D6F78C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D6F790 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D6F794 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D6F798 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D6F79C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D6F7A0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D6F7A4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D6F7A8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D6F7AC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D6F7B0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D6F7B4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D6F7B8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D6F7BC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D6F7C0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D6F7C4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D6F7C8 80240E18 00000000 */ nop +/* D6F7CC 80240E1C 0809039D */ j .L80240E74 +/* D6F7D0 80240E20 00000000 */ nop +.L80240E24: +/* D6F7D4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D6F7D8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D6F7DC 80240E2C 0809039D */ j .L80240E74 +/* D6F7E0 80240E30 00000000 */ nop +.L80240E34: +/* D6F7E4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D6F7E8 80240E38 0809039A */ j .L80240E68 +/* D6F7EC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D6F7F0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D6F7F4 80240E44 0809039A */ j .L80240E68 +/* D6F7F8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D6F7FC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D6F800 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D6F804 80240E54 28420002 */ slti $v0, $v0, 2 +/* D6F808 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D6F80C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D6F810 80240E60 8CA20000 */ lw $v0, ($a1) +/* D6F814 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D6F818 80240E68 00431025 */ or $v0, $v0, $v1 +/* D6F81C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D6F820 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D6F824 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D6F828 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D6F82C 80240E7C 03E00008 */ jr $ra +/* D6F830 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240E84_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240E84_D6E9B0.s new file mode 100644 index 0000000000..20f27efd06 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240E84_D6E9B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D6F834 +/* D6F834 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6F838 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D6F83C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D6F840 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D6F844 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D6F848 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D6F84C 80240E9C 3C03000A */ lui $v1, 0xa +/* D6F850 80240EA0 8C820000 */ lw $v0, ($a0) +/* D6F854 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D6F858 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D6F85C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D6F860 80240EB0 03E00008 */ jr $ra +/* D6F864 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240EB8_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240EB8_D6E9B0.s new file mode 100644 index 0000000000..239337dd86 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240EB8_D6E9B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D6F868 +/* D6F868 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6F86C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D6F870 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D6F874 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D6F878 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D6F87C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D6F880 80240ED0 3C030008 */ lui $v1, 8 +/* D6F884 80240ED4 8C820000 */ lw $v0, ($a0) +/* D6F888 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D6F88C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D6F890 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D6F894 80240EE4 03E00008 */ jr $ra +/* D6F898 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240EEC_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240EEC_D6E9B0.s new file mode 100644 index 0000000000..c99f84b5c1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240EEC_D6E9B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D6F89C +/* D6F89C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6F8A0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D6F8A4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D6F8A8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D6F8AC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D6F8B0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D6F8B4 80240F04 3C030002 */ lui $v1, 2 +/* D6F8B8 80240F08 8C820000 */ lw $v0, ($a0) +/* D6F8BC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D6F8C0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D6F8C4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D6F8C8 80240F18 03E00008 */ jr $ra +/* D6F8CC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240F20_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240F20_D6E9B0.s new file mode 100644 index 0000000000..dfde9eb3d8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240F20_D6E9B0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D6F8D0 +/* D6F8D0 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D6F8D4 80240F24 AFB10014 */ sw $s1, 0x14($sp) +/* D6F8D8 80240F28 0080882D */ daddu $s1, $a0, $zero +/* D6F8DC 80240F2C AFBF0018 */ sw $ra, 0x18($sp) +/* D6F8E0 80240F30 AFB00010 */ sw $s0, 0x10($sp) +/* D6F8E4 80240F34 8E30000C */ lw $s0, 0xc($s1) +/* D6F8E8 80240F38 8E050000 */ lw $a1, ($s0) +/* D6F8EC 80240F3C 0C0B1EAF */ jal get_variable +/* D6F8F0 80240F40 26100004 */ addiu $s0, $s0, 4 +/* D6F8F4 80240F44 0C00EAD2 */ jal get_npc_safe +/* D6F8F8 80240F48 0040202D */ daddu $a0, $v0, $zero +/* D6F8FC 80240F4C 10400005 */ beqz $v0, .L80240F64 +/* D6F900 80240F50 00000000 */ nop +/* D6F904 80240F54 8E050000 */ lw $a1, ($s0) +/* D6F908 80240F58 844600A8 */ lh $a2, 0xa8($v0) +/* D6F90C 80240F5C 0C0B2026 */ jal set_variable +/* D6F910 80240F60 0220202D */ daddu $a0, $s1, $zero +.L80240F64: +/* D6F914 80240F64 8FBF0018 */ lw $ra, 0x18($sp) +/* D6F918 80240F68 8FB10014 */ lw $s1, 0x14($sp) +/* D6F91C 80240F6C 8FB00010 */ lw $s0, 0x10($sp) +/* D6F920 80240F70 24020002 */ addiu $v0, $zero, 2 +/* D6F924 80240F74 03E00008 */ jr $ra +/* D6F928 80240F78 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80240F7C_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80240F7C_D6E9B0.s new file mode 100644 index 0000000000..e9c2b0c0e7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80240F7C_D6E9B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F7C_D6F92C +/* D6F92C 80240F7C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6F930 80240F80 AFB10014 */ sw $s1, 0x14($sp) +/* D6F934 80240F84 0080882D */ daddu $s1, $a0, $zero +/* D6F938 80240F88 AFBF0024 */ sw $ra, 0x24($sp) +/* D6F93C 80240F8C AFB40020 */ sw $s4, 0x20($sp) +/* D6F940 80240F90 AFB3001C */ sw $s3, 0x1c($sp) +/* D6F944 80240F94 AFB20018 */ sw $s2, 0x18($sp) +/* D6F948 80240F98 AFB00010 */ sw $s0, 0x10($sp) +/* D6F94C 80240F9C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D6F950 80240FA0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D6F954 80240FA4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D6F958 80240FA8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D6F95C 80240FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D6F960 80240FB0 8E30000C */ lw $s0, 0xc($s1) +/* D6F964 80240FB4 8E130000 */ lw $s3, ($s0) +/* D6F968 80240FB8 26100004 */ addiu $s0, $s0, 4 +/* D6F96C 80240FBC 0C0B1EAF */ jal get_variable +/* D6F970 80240FC0 0260282D */ daddu $a1, $s3, $zero +/* D6F974 80240FC4 4482E000 */ mtc1 $v0, $f28 +/* D6F978 80240FC8 00000000 */ nop +/* D6F97C 80240FCC 4680E720 */ cvt.s.w $f28, $f28 +/* D6F980 80240FD0 8E140000 */ lw $s4, ($s0) +/* D6F984 80240FD4 26100004 */ addiu $s0, $s0, 4 +/* D6F988 80240FD8 0220202D */ daddu $a0, $s1, $zero +/* D6F98C 80240FDC 0C0B1EAF */ jal get_variable +/* D6F990 80240FE0 0280282D */ daddu $a1, $s4, $zero +/* D6F994 80240FE4 4482D000 */ mtc1 $v0, $f26 +/* D6F998 80240FE8 00000000 */ nop +/* D6F99C 80240FEC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D6F9A0 80240FF0 8E100000 */ lw $s0, ($s0) +/* D6F9A4 80240FF4 0220202D */ daddu $a0, $s1, $zero +/* D6F9A8 80240FF8 0C0B1EAF */ jal get_variable +/* D6F9AC 80240FFC 0200282D */ daddu $a1, $s0, $zero +/* D6F9B0 80241000 4482C000 */ mtc1 $v0, $f24 +/* D6F9B4 80241004 00000000 */ nop +/* D6F9B8 80241008 4680C620 */ cvt.s.w $f24, $f24 +/* D6F9BC 8024100C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D6F9C0 80241010 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D6F9C4 80241014 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D6F9C8 80241018 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D6F9CC 8024101C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D6F9D0 80241020 44800000 */ mtc1 $zero, $f0 +/* D6F9D4 80241024 00031080 */ sll $v0, $v1, 2 +/* D6F9D8 80241028 00431021 */ addu $v0, $v0, $v1 +/* D6F9DC 8024102C 00021080 */ sll $v0, $v0, 2 +/* D6F9E0 80241030 00431023 */ subu $v0, $v0, $v1 +/* D6F9E4 80241034 000218C0 */ sll $v1, $v0, 3 +/* D6F9E8 80241038 00431021 */ addu $v0, $v0, $v1 +/* D6F9EC 8024103C 000210C0 */ sll $v0, $v0, 3 +/* D6F9F0 80241040 46001032 */ c.eq.s $f2, $f0 +/* D6F9F4 80241044 3C01800B */ lui $at, 0x800b +/* D6F9F8 80241048 00220821 */ addu $at, $at, $v0 +/* D6F9FC 8024104C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D6FA00 80241050 45000005 */ bc1f .L80241068 +/* D6FA04 80241054 00000000 */ nop +/* D6FA08 80241058 3C0142C8 */ lui $at, 0x42c8 +/* D6FA0C 8024105C 44810000 */ mtc1 $at, $f0 +/* D6FA10 80241060 0809041E */ j .L80241078 +/* D6FA14 80241064 4600B581 */ sub.s $f22, $f22, $f0 +.L80241068: +/* D6FA18 80241068 3C0142C8 */ lui $at, 0x42c8 +/* D6FA1C 8024106C 44810000 */ mtc1 $at, $f0 +/* D6FA20 80241070 00000000 */ nop +/* D6FA24 80241074 4600B580 */ add.s $f22, $f22, $f0 +.L80241078: +/* D6FA28 80241078 0C00A6C9 */ jal clamp_angle +/* D6FA2C 8024107C 4600B306 */ mov.s $f12, $f22 +/* D6FA30 80241080 46000586 */ mov.s $f22, $f0 +/* D6FA34 80241084 3C014170 */ lui $at, 0x4170 +/* D6FA38 80241088 4481A000 */ mtc1 $at, $f20 +/* D6FA3C 8024108C 0C00A8BB */ jal sin_deg +/* D6FA40 80241090 4600B306 */ mov.s $f12, $f22 +/* D6FA44 80241094 46140002 */ mul.s $f0, $f0, $f20 +/* D6FA48 80241098 00000000 */ nop +/* D6FA4C 8024109C 864200B0 */ lh $v0, 0xb0($s2) +/* D6FA50 802410A0 3C013F00 */ lui $at, 0x3f00 +/* D6FA54 802410A4 44812000 */ mtc1 $at, $f4 +/* D6FA58 802410A8 44821000 */ mtc1 $v0, $f2 +/* D6FA5C 802410AC 00000000 */ nop +/* D6FA60 802410B0 468010A0 */ cvt.s.w $f2, $f2 +/* D6FA64 802410B4 46041082 */ mul.s $f2, $f2, $f4 +/* D6FA68 802410B8 00000000 */ nop +/* D6FA6C 802410BC 4600E700 */ add.s $f28, $f28, $f0 +/* D6FA70 802410C0 4602D680 */ add.s $f26, $f26, $f2 +/* D6FA74 802410C4 0C00A8D4 */ jal cos_deg +/* D6FA78 802410C8 4600B306 */ mov.s $f12, $f22 +/* D6FA7C 802410CC 46140002 */ mul.s $f0, $f0, $f20 +/* D6FA80 802410D0 00000000 */ nop +/* D6FA84 802410D4 0220202D */ daddu $a0, $s1, $zero +/* D6FA88 802410D8 0260282D */ daddu $a1, $s3, $zero +/* D6FA8C 802410DC 4600E18D */ trunc.w.s $f6, $f28 +/* D6FA90 802410E0 44063000 */ mfc1 $a2, $f6 +/* D6FA94 802410E4 0C0B2026 */ jal set_variable +/* D6FA98 802410E8 4600C601 */ sub.s $f24, $f24, $f0 +/* D6FA9C 802410EC 0220202D */ daddu $a0, $s1, $zero +/* D6FAA0 802410F0 4600D18D */ trunc.w.s $f6, $f26 +/* D6FAA4 802410F4 44063000 */ mfc1 $a2, $f6 +/* D6FAA8 802410F8 0C0B2026 */ jal set_variable +/* D6FAAC 802410FC 0280282D */ daddu $a1, $s4, $zero +/* D6FAB0 80241100 0220202D */ daddu $a0, $s1, $zero +/* D6FAB4 80241104 4600C18D */ trunc.w.s $f6, $f24 +/* D6FAB8 80241108 44063000 */ mfc1 $a2, $f6 +/* D6FABC 8024110C 0C0B2026 */ jal set_variable +/* D6FAC0 80241110 0200282D */ daddu $a1, $s0, $zero +/* D6FAC4 80241114 8FBF0024 */ lw $ra, 0x24($sp) +/* D6FAC8 80241118 8FB40020 */ lw $s4, 0x20($sp) +/* D6FACC 8024111C 8FB3001C */ lw $s3, 0x1c($sp) +/* D6FAD0 80241120 8FB20018 */ lw $s2, 0x18($sp) +/* D6FAD4 80241124 8FB10014 */ lw $s1, 0x14($sp) +/* D6FAD8 80241128 8FB00010 */ lw $s0, 0x10($sp) +/* D6FADC 8024112C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D6FAE0 80241130 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D6FAE4 80241134 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D6FAE8 80241138 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D6FAEC 8024113C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D6FAF0 80241140 24020002 */ addiu $v0, $zero, 2 +/* D6FAF4 80241144 03E00008 */ jr $ra +/* D6FAF8 80241148 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_8024114C_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_8024114C_D6E9B0.s new file mode 100644 index 0000000000..e9b0bc30a3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_8024114C_D6E9B0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024114C_D6FAFC +/* D6FAFC 8024114C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6FB00 80241150 AFBF0010 */ sw $ra, 0x10($sp) +/* D6FB04 80241154 10A00003 */ beqz $a1, .L80241164 +/* D6FB08 80241158 8C86000C */ lw $a2, 0xc($a0) +/* D6FB0C 8024115C 3C018024 */ lui $at, 0x8024 +/* D6FB10 80241160 AC20219C */ sw $zero, 0x219c($at) +.L80241164: +/* D6FB14 80241164 3C038024 */ lui $v1, 0x8024 +/* D6FB18 80241168 2463219C */ addiu $v1, $v1, 0x219c +/* D6FB1C 8024116C 8C620000 */ lw $v0, ($v1) +/* D6FB20 80241170 54400003 */ bnel $v0, $zero, .L80241180 +/* D6FB24 80241174 AC600000 */ sw $zero, ($v1) +/* D6FB28 80241178 08090465 */ j .L80241194 +/* D6FB2C 8024117C 0000102D */ daddu $v0, $zero, $zero +.L80241180: +/* D6FB30 80241180 8CC50000 */ lw $a1, ($a2) +/* D6FB34 80241184 3C068024 */ lui $a2, 0x8024 +/* D6FB38 80241188 0C0B2026 */ jal set_variable +/* D6FB3C 8024118C 8CC621A0 */ lw $a2, 0x21a0($a2) +/* D6FB40 80241190 24020002 */ addiu $v0, $zero, 2 +.L80241194: +/* D6FB44 80241194 8FBF0010 */ lw $ra, 0x10($sp) +/* D6FB48 80241198 03E00008 */ jr $ra +/* D6FB4C 8024119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802411A0_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802411A0_D6E9B0.s new file mode 100644 index 0000000000..87f142d597 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802411A0_D6E9B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A0_D6FB50 +/* D6FB50 802411A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6FB54 802411A4 AFBF0010 */ sw $ra, 0x10($sp) +/* D6FB58 802411A8 8C82000C */ lw $v0, 0xc($a0) +/* D6FB5C 802411AC 0C0B1EAF */ jal get_variable +/* D6FB60 802411B0 8C450000 */ lw $a1, ($v0) +/* D6FB64 802411B4 3C018024 */ lui $at, 0x8024 +/* D6FB68 802411B8 AC2221A0 */ sw $v0, 0x21a0($at) +/* D6FB6C 802411BC 24020002 */ addiu $v0, $zero, 2 +/* D6FB70 802411C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D6FB74 802411C4 24030001 */ addiu $v1, $zero, 1 +/* D6FB78 802411C8 3C018024 */ lui $at, 0x8024 +/* D6FB7C 802411CC AC23219C */ sw $v1, 0x219c($at) +/* D6FB80 802411D0 03E00008 */ jr $ra +/* D6FB84 802411D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802411D8_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802411D8_D6E9B0.s new file mode 100644 index 0000000000..f5de9c37cb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802411D8_D6E9B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D8_D6FB88 +/* D6FB88 802411D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6FB8C 802411DC AFBF0010 */ sw $ra, 0x10($sp) +/* D6FB90 802411E0 8C82000C */ lw $v0, 0xc($a0) +/* D6FB94 802411E4 0C0B1EAF */ jal get_variable +/* D6FB98 802411E8 8C450000 */ lw $a1, ($v0) +/* D6FB9C 802411EC 0040182D */ daddu $v1, $v0, $zero +/* D6FBA0 802411F0 10600012 */ beqz $v1, .L8024123C +/* D6FBA4 802411F4 0000202D */ daddu $a0, $zero, $zero +/* D6FBA8 802411F8 8C620000 */ lw $v0, ($v1) +/* D6FBAC 802411FC 5040000A */ beql $v0, $zero, .L80241228 +/* D6FBB0 80241200 00041080 */ sll $v0, $a0, 2 +/* D6FBB4 80241204 3C058024 */ lui $a1, 0x8024 +/* D6FBB8 80241208 24A579F0 */ addiu $a1, $a1, 0x79f0 +.L8024120C: +/* D6FBBC 8024120C 24630004 */ addiu $v1, $v1, 4 +/* D6FBC0 80241210 24840001 */ addiu $a0, $a0, 1 +/* D6FBC4 80241214 ACA20000 */ sw $v0, ($a1) +/* D6FBC8 80241218 8C620000 */ lw $v0, ($v1) +/* D6FBCC 8024121C 1440FFFB */ bnez $v0, .L8024120C +/* D6FBD0 80241220 24A50004 */ addiu $a1, $a1, 4 +/* D6FBD4 80241224 00041080 */ sll $v0, $a0, 2 +.L80241228: +/* D6FBD8 80241228 3C018024 */ lui $at, 0x8024 +/* D6FBDC 8024122C 00220821 */ addu $at, $at, $v0 +/* D6FBE0 80241230 AC2079F0 */ sw $zero, 0x79f0($at) +/* D6FBE4 80241234 08090499 */ j .L80241264 +/* D6FBE8 80241238 00000000 */ nop +.L8024123C: +/* D6FBEC 8024123C 3C038024 */ lui $v1, 0x8024 +/* D6FBF0 80241240 246379F0 */ addiu $v1, $v1, 0x79f0 +/* D6FBF4 80241244 0060282D */ daddu $a1, $v1, $zero +.L80241248: +/* D6FBF8 80241248 24820010 */ addiu $v0, $a0, 0x10 +/* D6FBFC 8024124C AC620000 */ sw $v0, ($v1) +/* D6FC00 80241250 24630004 */ addiu $v1, $v1, 4 +/* D6FC04 80241254 24840001 */ addiu $a0, $a0, 1 +/* D6FC08 80241258 28820070 */ slti $v0, $a0, 0x70 +/* D6FC0C 8024125C 1440FFFA */ bnez $v0, .L80241248 +/* D6FC10 80241260 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241264: +/* D6FC14 80241264 8FBF0010 */ lw $ra, 0x10($sp) +/* D6FC18 80241268 24020002 */ addiu $v0, $zero, 2 +/* D6FC1C 8024126C 03E00008 */ jr $ra +/* D6FC20 80241270 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80241274_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80241274_D6E9B0.s new file mode 100644 index 0000000000..f370e6463e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80241274_D6E9B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241274_D6FC24 +/* D6FC24 80241274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6FC28 80241278 AFBF0010 */ sw $ra, 0x10($sp) +/* D6FC2C 8024127C 8C82000C */ lw $v0, 0xc($a0) +/* D6FC30 80241280 0C0B1EAF */ jal get_variable +/* D6FC34 80241284 8C450000 */ lw $a1, ($v0) +/* D6FC38 80241288 0040182D */ daddu $v1, $v0, $zero +/* D6FC3C 8024128C 10600012 */ beqz $v1, .L802412D8 +/* D6FC40 80241290 0000202D */ daddu $a0, $zero, $zero +/* D6FC44 80241294 8C620000 */ lw $v0, ($v1) +/* D6FC48 80241298 5040000A */ beql $v0, $zero, .L802412C4 +/* D6FC4C 8024129C 00041080 */ sll $v0, $a0, 2 +/* D6FC50 802412A0 3C058024 */ lui $a1, 0x8024 +/* D6FC54 802412A4 24A57BB8 */ addiu $a1, $a1, 0x7bb8 +.L802412A8: +/* D6FC58 802412A8 24630004 */ addiu $v1, $v1, 4 +/* D6FC5C 802412AC 24840001 */ addiu $a0, $a0, 1 +/* D6FC60 802412B0 ACA20000 */ sw $v0, ($a1) +/* D6FC64 802412B4 8C620000 */ lw $v0, ($v1) +/* D6FC68 802412B8 1440FFFB */ bnez $v0, .L802412A8 +/* D6FC6C 802412BC 24A50004 */ addiu $a1, $a1, 4 +/* D6FC70 802412C0 00041080 */ sll $v0, $a0, 2 +.L802412C4: +/* D6FC74 802412C4 3C018024 */ lui $at, 0x8024 +/* D6FC78 802412C8 00220821 */ addu $at, $at, $v0 +/* D6FC7C 802412CC AC207BB8 */ sw $zero, 0x7bb8($at) +/* D6FC80 802412D0 080904C0 */ j .L80241300 +/* D6FC84 802412D4 00000000 */ nop +.L802412D8: +/* D6FC88 802412D8 3C038024 */ lui $v1, 0x8024 +/* D6FC8C 802412DC 24637BB8 */ addiu $v1, $v1, 0x7bb8 +/* D6FC90 802412E0 0060282D */ daddu $a1, $v1, $zero +.L802412E4: +/* D6FC94 802412E4 24820080 */ addiu $v0, $a0, 0x80 +/* D6FC98 802412E8 AC620000 */ sw $v0, ($v1) +/* D6FC9C 802412EC 24630004 */ addiu $v1, $v1, 4 +/* D6FCA0 802412F0 24840001 */ addiu $a0, $a0, 1 +/* D6FCA4 802412F4 2882005B */ slti $v0, $a0, 0x5b +/* D6FCA8 802412F8 1440FFFA */ bnez $v0, .L802412E4 +/* D6FCAC 802412FC ACA0016C */ sw $zero, 0x16c($a1) +.L80241300: +/* D6FCB0 80241300 8FBF0010 */ lw $ra, 0x10($sp) +/* D6FCB4 80241304 24020002 */ addiu $v0, $zero, 2 +/* D6FCB8 80241308 03E00008 */ jr $ra +/* D6FCBC 8024130C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80241310_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80241310_D6E9B0.s new file mode 100644 index 0000000000..2d787fe6e8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80241310_D6E9B0.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241310_D6FCC0 +/* D6FCC0 80241310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D6FCC4 80241314 AFB10014 */ sw $s1, 0x14($sp) +/* D6FCC8 80241318 0080882D */ daddu $s1, $a0, $zero +/* D6FCCC 8024131C AFBF001C */ sw $ra, 0x1c($sp) +/* D6FCD0 80241320 AFB20018 */ sw $s2, 0x18($sp) +/* D6FCD4 80241324 AFB00010 */ sw $s0, 0x10($sp) +/* D6FCD8 80241328 8E30000C */ lw $s0, 0xc($s1) +/* D6FCDC 8024132C 8E050000 */ lw $a1, ($s0) +/* D6FCE0 80241330 0C0B1EAF */ jal get_variable +/* D6FCE4 80241334 26100004 */ addiu $s0, $s0, 4 +/* D6FCE8 80241338 8E050000 */ lw $a1, ($s0) +/* D6FCEC 8024133C 26100004 */ addiu $s0, $s0, 4 +/* D6FCF0 80241340 0220202D */ daddu $a0, $s1, $zero +/* D6FCF4 80241344 0C0B1EAF */ jal get_variable +/* D6FCF8 80241348 0040902D */ daddu $s2, $v0, $zero +/* D6FCFC 8024134C 0220202D */ daddu $a0, $s1, $zero +/* D6FD00 80241350 8E050000 */ lw $a1, ($s0) +/* D6FD04 80241354 0C0B1EAF */ jal get_variable +/* D6FD08 80241358 0040802D */ daddu $s0, $v0, $zero +/* D6FD0C 8024135C 44926000 */ mtc1 $s2, $f12 +/* D6FD10 80241360 00000000 */ nop +/* D6FD14 80241364 46806320 */ cvt.s.w $f12, $f12 +/* D6FD18 80241368 44820000 */ mtc1 $v0, $f0 +/* D6FD1C 8024136C 00000000 */ nop +/* D6FD20 80241370 46800020 */ cvt.s.w $f0, $f0 +/* D6FD24 80241374 44060000 */ mfc1 $a2, $f0 +/* D6FD28 80241378 44907000 */ mtc1 $s0, $f14 +/* D6FD2C 8024137C 00000000 */ nop +/* D6FD30 80241380 0C01BE3C */ jal func_8006F8F0 +/* D6FD34 80241384 468073A0 */ cvt.s.w $f14, $f14 +/* D6FD38 80241388 8FBF001C */ lw $ra, 0x1c($sp) +/* D6FD3C 8024138C 8FB20018 */ lw $s2, 0x18($sp) +/* D6FD40 80241390 8FB10014 */ lw $s1, 0x14($sp) +/* D6FD44 80241394 8FB00010 */ lw $s0, 0x10($sp) +/* D6FD48 80241398 24020002 */ addiu $v0, $zero, 2 +/* D6FD4C 8024139C 03E00008 */ jr $ra +/* D6FD50 802413A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802413A4_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802413A4_D6E9B0.s new file mode 100644 index 0000000000..813e28f99e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802413A4_D6E9B0.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A4_D6FD54 +/* D6FD54 802413A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D6FD58 802413A8 AFB20018 */ sw $s2, 0x18($sp) +/* D6FD5C 802413AC 0080902D */ daddu $s2, $a0, $zero +/* D6FD60 802413B0 AFBF0024 */ sw $ra, 0x24($sp) +/* D6FD64 802413B4 AFB40020 */ sw $s4, 0x20($sp) +/* D6FD68 802413B8 AFB3001C */ sw $s3, 0x1c($sp) +/* D6FD6C 802413BC AFB10014 */ sw $s1, 0x14($sp) +/* D6FD70 802413C0 AFB00010 */ sw $s0, 0x10($sp) +/* D6FD74 802413C4 8E50000C */ lw $s0, 0xc($s2) +/* D6FD78 802413C8 8E530148 */ lw $s3, 0x148($s2) +/* D6FD7C 802413CC 8E050000 */ lw $a1, ($s0) +/* D6FD80 802413D0 0C0B1EAF */ jal get_variable +/* D6FD84 802413D4 26100004 */ addiu $s0, $s0, 4 +/* D6FD88 802413D8 2C510001 */ sltiu $s1, $v0, 1 +/* D6FD8C 802413DC 8E050000 */ lw $a1, ($s0) +/* D6FD90 802413E0 26100004 */ addiu $s0, $s0, 4 +/* D6FD94 802413E4 3C14800B */ lui $s4, %hi(gCurrentEncounter) +/* D6FD98 802413E8 26940F10 */ addiu $s4, $s4, %lo(gCurrentEncounter) +/* D6FD9C 802413EC 0C0B1EAF */ jal get_variable +/* D6FDA0 802413F0 0240202D */ daddu $a0, $s2, $zero +/* D6FDA4 802413F4 50400001 */ beql $v0, $zero, .L802413FC +/* D6FDA8 802413F8 26310001 */ addiu $s1, $s1, 1 +.L802413FC: +/* D6FDAC 802413FC 8E050000 */ lw $a1, ($s0) +/* D6FDB0 80241400 26100004 */ addiu $s0, $s0, 4 +/* D6FDB4 80241404 0C0B1EAF */ jal get_variable +/* D6FDB8 80241408 0240202D */ daddu $a0, $s2, $zero +/* D6FDBC 8024140C 50400001 */ beql $v0, $zero, .L80241414 +/* D6FDC0 80241410 26310001 */ addiu $s1, $s1, 1 +.L80241414: +/* D6FDC4 80241414 8E050000 */ lw $a1, ($s0) +/* D6FDC8 80241418 0C0B1EAF */ jal get_variable +/* D6FDCC 8024141C 0240202D */ daddu $a0, $s2, $zero +/* D6FDD0 80241420 50400001 */ beql $v0, $zero, .L80241428 +/* D6FDD4 80241424 26310001 */ addiu $s1, $s1, 1 +.L80241428: +/* D6FDD8 80241428 24020002 */ addiu $v0, $zero, 2 +/* D6FDDC 8024142C 12220016 */ beq $s1, $v0, .L80241488 +/* D6FDE0 80241430 00000000 */ nop +/* D6FDE4 80241434 2A220003 */ slti $v0, $s1, 3 +/* D6FDE8 80241438 10400005 */ beqz $v0, .L80241450 +/* D6FDEC 8024143C 24020001 */ addiu $v0, $zero, 1 +/* D6FDF0 80241440 1222000B */ beq $s1, $v0, .L80241470 +/* D6FDF4 80241444 00000000 */ nop +/* D6FDF8 80241448 08090534 */ j .L802414D0 +/* D6FDFC 8024144C 00000000 */ nop +.L80241450: +/* D6FE00 80241450 24020003 */ addiu $v0, $zero, 3 +/* D6FE04 80241454 12220012 */ beq $s1, $v0, .L802414A0 +/* D6FE08 80241458 00000000 */ nop +/* D6FE0C 8024145C 24020004 */ addiu $v0, $zero, 4 +/* D6FE10 80241460 12220015 */ beq $s1, $v0, .L802414B8 +/* D6FE14 80241464 00000000 */ nop +/* D6FE18 80241468 08090534 */ j .L802414D0 +/* D6FE1C 8024146C 00000000 */ nop +.L80241470: +/* D6FE20 80241470 82620004 */ lb $v0, 4($s3) +/* D6FE24 80241474 00021080 */ sll $v0, $v0, 2 +/* D6FE28 80241478 00541021 */ addu $v0, $v0, $s4 +/* D6FE2C 8024147C 8C430028 */ lw $v1, 0x28($v0) +/* D6FE30 80241480 08090533 */ j .L802414CC +/* D6FE34 80241484 24022101 */ addiu $v0, $zero, 0x2101 +.L80241488: +/* D6FE38 80241488 82620004 */ lb $v0, 4($s3) +/* D6FE3C 8024148C 00021080 */ sll $v0, $v0, 2 +/* D6FE40 80241490 00541021 */ addu $v0, $v0, $s4 +/* D6FE44 80241494 8C430028 */ lw $v1, 0x28($v0) +/* D6FE48 80241498 08090533 */ j .L802414CC +/* D6FE4C 8024149C 24022102 */ addiu $v0, $zero, 0x2102 +.L802414A0: +/* D6FE50 802414A0 82620004 */ lb $v0, 4($s3) +/* D6FE54 802414A4 00021080 */ sll $v0, $v0, 2 +/* D6FE58 802414A8 00541021 */ addu $v0, $v0, $s4 +/* D6FE5C 802414AC 8C430028 */ lw $v1, 0x28($v0) +/* D6FE60 802414B0 08090533 */ j .L802414CC +/* D6FE64 802414B4 24022103 */ addiu $v0, $zero, 0x2103 +.L802414B8: +/* D6FE68 802414B8 82620004 */ lb $v0, 4($s3) +/* D6FE6C 802414BC 00021080 */ sll $v0, $v0, 2 +/* D6FE70 802414C0 00541021 */ addu $v0, $v0, $s4 +/* D6FE74 802414C4 8C430028 */ lw $v1, 0x28($v0) +/* D6FE78 802414C8 24022104 */ addiu $v0, $zero, 0x2104 +.L802414CC: +/* D6FE7C 802414CC A4620044 */ sh $v0, 0x44($v1) +.L802414D0: +/* D6FE80 802414D0 8FBF0024 */ lw $ra, 0x24($sp) +/* D6FE84 802414D4 8FB40020 */ lw $s4, 0x20($sp) +/* D6FE88 802414D8 8FB3001C */ lw $s3, 0x1c($sp) +/* D6FE8C 802414DC 8FB20018 */ lw $s2, 0x18($sp) +/* D6FE90 802414E0 8FB10014 */ lw $s1, 0x14($sp) +/* D6FE94 802414E4 8FB00010 */ lw $s0, 0x10($sp) +/* D6FE98 802414E8 24020002 */ addiu $v0, $zero, 2 +/* D6FE9C 802414EC 03E00008 */ jr $ra +/* D6FEA0 802414F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802414F4_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802414F4_D6E9B0.s new file mode 100644 index 0000000000..7140bfea31 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802414F4_D6E9B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414F4_D6FEA4 +/* D6FEA4 802414F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D6FEA8 802414F8 AFB00010 */ sw $s0, 0x10($sp) +/* D6FEAC 802414FC 0080802D */ daddu $s0, $a0, $zero +/* D6FEB0 80241500 3C058024 */ lui $a1, 0x8024 +/* D6FEB4 80241504 24A51530 */ addiu $a1, $a1, 0x1530 +/* D6FEB8 80241508 AFBF0014 */ sw $ra, 0x14($sp) +/* D6FEBC 8024150C 0C048C56 */ jal bind_dynamic_entity_3 +/* D6FEC0 80241510 0000202D */ daddu $a0, $zero, $zero +/* D6FEC4 80241514 8E03013C */ lw $v1, 0x13c($s0) +/* D6FEC8 80241518 AC620000 */ sw $v0, ($v1) +/* D6FECC 8024151C 8FBF0014 */ lw $ra, 0x14($sp) +/* D6FED0 80241520 8FB00010 */ lw $s0, 0x10($sp) +/* D6FED4 80241524 24020002 */ addiu $v0, $zero, 2 +/* D6FED8 80241528 03E00008 */ jr $ra +/* D6FEDC 8024152C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80241530_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80241530_D6E9B0.s new file mode 100644 index 0000000000..fcd3168c4f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80241530_D6E9B0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241530_D6FEE0 +/* D6FEE0 80241530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D6FEE4 80241534 24040005 */ addiu $a0, $zero, 5 +/* D6FEE8 80241538 AFBF0048 */ sw $ra, 0x48($sp) +/* D6FEEC 8024153C AFB10044 */ sw $s1, 0x44($sp) +/* D6FEF0 80241540 0C00EAD2 */ jal get_npc_safe +/* D6FEF4 80241544 AFB00040 */ sw $s0, 0x40($sp) +/* D6FEF8 80241548 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D6FEFC 8024154C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D6FF00 80241550 27B10020 */ addiu $s1, $sp, 0x20 +/* D6FF04 80241554 8C630000 */ lw $v1, ($v1) +/* D6FF08 80241558 30630001 */ andi $v1, $v1, 1 +/* D6FF0C 8024155C 1060001B */ beqz $v1, .L802415CC +/* D6FF10 80241560 0040802D */ daddu $s0, $v0, $zero +/* D6FF14 80241564 C6000040 */ lwc1 $f0, 0x40($s0) +/* D6FF18 80241568 3C04800A */ lui $a0, 0x800a +/* D6FF1C 8024156C 8484A634 */ lh $a0, -0x59cc($a0) +/* D6FF20 80241570 27A20030 */ addiu $v0, $sp, 0x30 +/* D6FF24 80241574 AFA20010 */ sw $v0, 0x10($sp) +/* D6FF28 80241578 27A20034 */ addiu $v0, $sp, 0x34 +/* D6FF2C 8024157C AFA20014 */ sw $v0, 0x14($sp) +/* D6FF30 80241580 27A20038 */ addiu $v0, $sp, 0x38 +/* D6FF34 80241584 AFA20018 */ sw $v0, 0x18($sp) +/* D6FF38 80241588 8E050038 */ lw $a1, 0x38($s0) +/* D6FF3C 8024158C 8E06003C */ lw $a2, 0x3c($s0) +/* D6FF40 80241590 46000007 */ neg.s $f0, $f0 +/* D6FF44 80241594 44070000 */ mfc1 $a3, $f0 +/* D6FF48 80241598 0C00B94E */ jal get_screen_coords +/* D6FF4C 8024159C 00000000 */ nop +/* D6FF50 802415A0 0220202D */ daddu $a0, $s1, $zero +/* D6FF54 802415A4 820500AA */ lb $a1, 0xaa($s0) +/* D6FF58 802415A8 8FA30038 */ lw $v1, 0x38($sp) +/* D6FF5C 802415AC 3C028024 */ lui $v0, 0x8024 +/* D6FF60 802415B0 244215E0 */ addiu $v0, $v0, 0x15e0 +/* D6FF64 802415B4 AFB00028 */ sw $s0, 0x28($sp) +/* D6FF68 802415B8 AFA2002C */ sw $v0, 0x2c($sp) +/* D6FF6C 802415BC 00031823 */ negu $v1, $v1 +/* D6FF70 802415C0 AFA50020 */ sw $a1, 0x20($sp) +/* D6FF74 802415C4 0C047644 */ jal queue_render_task +/* D6FF78 802415C8 AFA30024 */ sw $v1, 0x24($sp) +.L802415CC: +/* D6FF7C 802415CC 8FBF0048 */ lw $ra, 0x48($sp) +/* D6FF80 802415D0 8FB10044 */ lw $s1, 0x44($sp) +/* D6FF84 802415D4 8FB00040 */ lw $s0, 0x40($sp) +/* D6FF88 802415D8 03E00008 */ jr $ra +/* D6FF8C 802415DC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802415E0_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802415E0_D6E9B0.s new file mode 100644 index 0000000000..d040e54b0f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802415E0_D6E9B0.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415E0_D6FF90 +/* D6FF90 802415E0 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* D6FF94 802415E4 AFB100DC */ sw $s1, 0xdc($sp) +/* D6FF98 802415E8 AFBF00E0 */ sw $ra, 0xe0($sp) +/* D6FF9C 802415EC AFB000D8 */ sw $s0, 0xd8($sp) +/* D6FFA0 802415F0 F7B400E8 */ sdc1 $f20, 0xe8($sp) +/* D6FFA4 802415F4 0C00E769 */ jal func_80039DA4 +/* D6FFA8 802415F8 0080882D */ daddu $s1, $a0, $zero +/* D6FFAC 802415FC 44800000 */ mtc1 $zero, $f0 +/* D6FFB0 80241600 3C03800A */ lui $v1, 0x800a +/* D6FFB4 80241604 8463A634 */ lh $v1, -0x59cc($v1) +/* D6FFB8 80241608 C6220034 */ lwc1 $f2, 0x34($s1) +/* D6FFBC 8024160C 00031080 */ sll $v0, $v1, 2 +/* D6FFC0 80241610 00431021 */ addu $v0, $v0, $v1 +/* D6FFC4 80241614 00021080 */ sll $v0, $v0, 2 +/* D6FFC8 80241618 00431023 */ subu $v0, $v0, $v1 +/* D6FFCC 8024161C 000218C0 */ sll $v1, $v0, 3 +/* D6FFD0 80241620 00431021 */ addu $v0, $v0, $v1 +/* D6FFD4 80241624 000210C0 */ sll $v0, $v0, 3 +/* D6FFD8 80241628 44060000 */ mfc1 $a2, $f0 +/* D6FFDC 8024162C 3C01800B */ lui $at, 0x800b +/* D6FFE0 80241630 00220821 */ addu $at, $at, $v0 +/* D6FFE4 80241634 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D6FFE8 80241638 3C013F80 */ lui $at, 0x3f80 +/* D6FFEC 8024163C 4481A000 */ mtc1 $at, $f20 +/* D6FFF0 80241640 46001080 */ add.s $f2, $f2, $f0 +/* D6FFF4 80241644 4407A000 */ mfc1 $a3, $f20 +/* D6FFF8 80241648 44051000 */ mfc1 $a1, $f2 +/* D6FFFC 8024164C 27A40018 */ addiu $a0, $sp, 0x18 +/* D70000 80241650 0C019EC8 */ jal guRotateF +/* D70004 80241654 AFA60010 */ sw $a2, 0x10($sp) +/* D70008 80241658 3C013F36 */ lui $at, 0x3f36 +/* D7000C 8024165C 3421DB6E */ ori $at, $at, 0xdb6e +/* D70010 80241660 44810000 */ mtc1 $at, $f0 +/* D70014 80241664 27B00098 */ addiu $s0, $sp, 0x98 +/* D70018 80241668 44050000 */ mfc1 $a1, $f0 +/* D7001C 8024166C 0200202D */ daddu $a0, $s0, $zero +/* D70020 80241670 00A0302D */ daddu $a2, $a1, $zero +/* D70024 80241674 0C019DF0 */ jal guScaleF +/* D70028 80241678 00A0382D */ daddu $a3, $a1, $zero +/* D7002C 8024167C 27A40018 */ addiu $a0, $sp, 0x18 +/* D70030 80241680 0200282D */ daddu $a1, $s0, $zero +/* D70034 80241684 0C019D80 */ jal guMtxCatF +/* D70038 80241688 0080302D */ daddu $a2, $a0, $zero +/* D7003C 8024168C 27B00058 */ addiu $s0, $sp, 0x58 +/* D70040 80241690 8E250038 */ lw $a1, 0x38($s1) +/* D70044 80241694 8E26003C */ lw $a2, 0x3c($s1) +/* D70048 80241698 8E270040 */ lw $a3, 0x40($s1) +/* D7004C 8024169C 0C019E40 */ jal guTranslateF +/* D70050 802416A0 0200202D */ daddu $a0, $s0, $zero +/* D70054 802416A4 27A40018 */ addiu $a0, $sp, 0x18 +/* D70058 802416A8 0200282D */ daddu $a1, $s0, $zero +/* D7005C 802416AC 0C019D80 */ jal guMtxCatF +/* D70060 802416B0 0080302D */ daddu $a2, $a0, $zero +/* D70064 802416B4 8E250028 */ lw $a1, 0x28($s1) +/* D70068 802416B8 4406A000 */ mfc1 $a2, $f20 +/* D7006C 802416BC 0C0B76A3 */ jal func_802DDA8C +/* D70070 802416C0 24040002 */ addiu $a0, $zero, 2 +/* D70074 802416C4 24040002 */ addiu $a0, $zero, 2 +/* D70078 802416C8 0000282D */ daddu $a1, $zero, $zero +/* D7007C 802416CC 00A0302D */ daddu $a2, $a1, $zero +/* D70080 802416D0 00A0382D */ daddu $a3, $a1, $zero +/* D70084 802416D4 27A20018 */ addiu $v0, $sp, 0x18 +/* D70088 802416D8 0C0B7710 */ jal render_sprite +/* D7008C 802416DC AFA20010 */ sw $v0, 0x10($sp) +/* D70090 802416E0 8FBF00E0 */ lw $ra, 0xe0($sp) +/* D70094 802416E4 8FB100DC */ lw $s1, 0xdc($sp) +/* D70098 802416E8 8FB000D8 */ lw $s0, 0xd8($sp) +/* D7009C 802416EC D7B400E8 */ ldc1 $f20, 0xe8($sp) +/* D700A0 802416F0 03E00008 */ jr $ra +/* D700A4 802416F4 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_802416F8_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_802416F8_D6E9B0.s new file mode 100644 index 0000000000..1c83ef1c7b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_802416F8_D6E9B0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8_D700A8 +/* D700A8 802416F8 C4800084 */ lwc1 $f0, 0x84($a0) +/* D700AC 802416FC 46800020 */ cvt.s.w $f0, $f0 +/* D700B0 80241700 3C018011 */ lui $at, 0x8011 +/* D700B4 80241704 E420F070 */ swc1 $f0, -0xf90($at) +/* D700B8 80241708 03E00008 */ jr $ra +/* D700BC 8024170C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80241710_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80241710_D6E9B0.s new file mode 100644 index 0000000000..e249e9e329 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80241710_D6E9B0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241710_D700C0 +/* D700C0 80241710 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D700C4 80241714 AFB00010 */ sw $s0, 0x10($sp) +/* D700C8 80241718 0080802D */ daddu $s0, $a0, $zero +/* D700CC 8024171C AFBF0014 */ sw $ra, 0x14($sp) +/* D700D0 80241720 0C0B36B0 */ jal resolve_npc +/* D700D4 80241724 8E050090 */ lw $a1, 0x90($s0) +/* D700D8 80241728 0200202D */ daddu $a0, $s0, $zero +/* D700DC 8024172C 8C850094 */ lw $a1, 0x94($a0) +/* D700E0 80241730 0C0B36B0 */ jal resolve_npc +/* D700E4 80241734 0040802D */ daddu $s0, $v0, $zero +/* D700E8 80241738 944300A6 */ lhu $v1, 0xa6($v0) +/* D700EC 8024173C A60300A6 */ sh $v1, 0xa6($s0) +/* D700F0 80241740 944300A8 */ lhu $v1, 0xa8($v0) +/* D700F4 80241744 A60300A8 */ sh $v1, 0xa8($s0) +/* D700F8 80241748 8FBF0014 */ lw $ra, 0x14($sp) +/* D700FC 8024174C 8FB00010 */ lw $s0, 0x10($sp) +/* D70100 80241750 24020002 */ addiu $v0, $zero, 2 +/* D70104 80241754 03E00008 */ jr $ra +/* D70108 80241758 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_8024175C.s b/asm/nonmatchings/world/area_pra/pra_19/func_8024175C.s new file mode 100644 index 0000000000..835f9003e1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_8024175C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024175C +/* D7010C 8024175C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D70110 80241760 0000202D */ daddu $a0, $zero, $zero +/* D70114 80241764 AFBF0020 */ sw $ra, 0x20($sp) +/* D70118 80241768 AFB3001C */ sw $s3, 0x1c($sp) +/* D7011C 8024176C AFB20018 */ sw $s2, 0x18($sp) +/* D70120 80241770 AFB10014 */ sw $s1, 0x14($sp) +/* D70124 80241774 0C00EABB */ jal get_npc_unsafe +/* D70128 80241778 AFB00010 */ sw $s0, 0x10($sp) +/* D7012C 8024177C 24040001 */ addiu $a0, $zero, 1 +/* D70130 80241780 0C00EABB */ jal get_npc_unsafe +/* D70134 80241784 0040802D */ daddu $s0, $v0, $zero +/* D70138 80241788 24040002 */ addiu $a0, $zero, 2 +/* D7013C 8024178C 0C00EABB */ jal get_npc_unsafe +/* D70140 80241790 0040882D */ daddu $s1, $v0, $zero +/* D70144 80241794 24040003 */ addiu $a0, $zero, 3 +/* D70148 80241798 0C00EABB */ jal get_npc_unsafe +/* D7014C 8024179C 0040902D */ daddu $s2, $v0, $zero +/* D70150 802417A0 24040004 */ addiu $a0, $zero, 4 +/* D70154 802417A4 0C00EABB */ jal get_npc_unsafe +/* D70158 802417A8 0040982D */ daddu $s3, $v0, $zero +/* D7015C 802417AC 3C018011 */ lui $at, 0x8011 +/* D70160 802417B0 C422EFF0 */ lwc1 $f2, -0x1010($at) +/* D70164 802417B4 C6000038 */ lwc1 $f0, 0x38($s0) +/* D70168 802417B8 4602003C */ c.lt.s $f0, $f2 +/* D7016C 802417BC 00000000 */ nop +/* D70170 802417C0 45030016 */ bc1tl .L8024181C +/* D70174 802417C4 24020002 */ addiu $v0, $zero, 2 +/* D70178 802417C8 C6200038 */ lwc1 $f0, 0x38($s1) +/* D7017C 802417CC 4602003C */ c.lt.s $f0, $f2 +/* D70180 802417D0 00000000 */ nop +/* D70184 802417D4 45030011 */ bc1tl .L8024181C +/* D70188 802417D8 24020002 */ addiu $v0, $zero, 2 +/* D7018C 802417DC C6400038 */ lwc1 $f0, 0x38($s2) +/* D70190 802417E0 4602003C */ c.lt.s $f0, $f2 +/* D70194 802417E4 00000000 */ nop +/* D70198 802417E8 4503000C */ bc1tl .L8024181C +/* D7019C 802417EC 24020002 */ addiu $v0, $zero, 2 +/* D701A0 802417F0 C6600038 */ lwc1 $f0, 0x38($s3) +/* D701A4 802417F4 4602003C */ c.lt.s $f0, $f2 +/* D701A8 802417F8 00000000 */ nop +/* D701AC 802417FC 45030007 */ bc1tl .L8024181C +/* D701B0 80241800 24020002 */ addiu $v0, $zero, 2 +/* D701B4 80241804 C4400038 */ lwc1 $f0, 0x38($v0) +/* D701B8 80241808 4602003C */ c.lt.s $f0, $f2 +/* D701BC 8024180C 00000000 */ nop +/* D701C0 80241810 45010002 */ bc1t .L8024181C +/* D701C4 80241814 24020002 */ addiu $v0, $zero, 2 +/* D701C8 80241818 0000102D */ daddu $v0, $zero, $zero +.L8024181C: +/* D701CC 8024181C 8FBF0020 */ lw $ra, 0x20($sp) +/* D701D0 80241820 8FB3001C */ lw $s3, 0x1c($sp) +/* D701D4 80241824 8FB20018 */ lw $s2, 0x18($sp) +/* D701D8 80241828 8FB10014 */ lw $s1, 0x14($sp) +/* D701DC 8024182C 8FB00010 */ lw $s0, 0x10($sp) +/* D701E0 80241830 03E00008 */ jr $ra +/* D701E4 80241834 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_19/func_80241838_D6E9B0.s b/asm/nonmatchings/world/area_pra/pra_19/func_80241838_D6E9B0.s new file mode 100644 index 0000000000..e1de75258e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_19/func_80241838_D6E9B0.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241838_D701E8 +/* D701E8 80241838 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D701EC 8024183C AFB20018 */ sw $s2, 0x18($sp) +/* D701F0 80241840 0080902D */ daddu $s2, $a0, $zero +/* D701F4 80241844 AFB00010 */ sw $s0, 0x10($sp) +/* D701F8 80241848 00A0802D */ daddu $s0, $a1, $zero +/* D701FC 8024184C AFBF0020 */ sw $ra, 0x20($sp) +/* D70200 80241850 AFB3001C */ sw $s3, 0x1c($sp) +/* D70204 80241854 AFB10014 */ sw $s1, 0x14($sp) +/* D70208 80241858 8E51000C */ lw $s1, 0xc($s2) +/* D7020C 8024185C 8E250000 */ lw $a1, ($s1) +/* D70210 80241860 0C0B1EAF */ jal get_variable +/* D70214 80241864 26310004 */ addiu $s1, $s1, 4 +/* D70218 80241868 0C00EABB */ jal get_npc_unsafe +/* D7021C 8024186C 0040202D */ daddu $a0, $v0, $zero +/* D70220 80241870 12000016 */ beqz $s0, .L802418CC +/* D70224 80241874 0040982D */ daddu $s3, $v0, $zero +/* D70228 80241878 8E250000 */ lw $a1, ($s1) +/* D7022C 8024187C 26310004 */ addiu $s1, $s1, 4 +/* D70230 80241880 0C0B1EAF */ jal get_variable +/* D70234 80241884 0240202D */ daddu $a0, $s2, $zero +/* D70238 80241888 AE4200AC */ sw $v0, 0xac($s2) +/* D7023C 8024188C 24020008 */ addiu $v0, $zero, 8 +/* D70240 80241890 AE4200B0 */ sw $v0, 0xb0($s2) +/* D70244 80241894 8E250000 */ lw $a1, ($s1) +/* D70248 80241898 0C0B1EAF */ jal get_variable +/* D7024C 8024189C 0240202D */ daddu $a0, $s2, $zero +/* D70250 802418A0 AE4200B4 */ sw $v0, 0xb4($s2) +/* D70254 802418A4 C6620038 */ lwc1 $f2, 0x38($s3) +/* D70258 802418A8 C64000AC */ lwc1 $f0, 0xac($s2) +/* D7025C 802418AC 46800020 */ cvt.s.w $f0, $f0 +/* D70260 802418B0 4600103C */ c.lt.s $f2, $f0 +/* D70264 802418B4 00000000 */ nop +/* D70268 802418B8 45000003 */ bc1f .L802418C8 +/* D7026C 802418BC 24020001 */ addiu $v0, $zero, 1 +/* D70270 802418C0 08090633 */ j .L802418CC +/* D70274 802418C4 AE4000B8 */ sw $zero, 0xb8($s2) +.L802418C8: +/* D70278 802418C8 AE4200B8 */ sw $v0, 0xb8($s2) +.L802418CC: +/* D7027C 802418CC 8E4200B8 */ lw $v0, 0xb8($s2) +/* D70280 802418D0 1440000C */ bnez $v0, .L80241904 +/* D70284 802418D4 00000000 */ nop +/* D70288 802418D8 C6620038 */ lwc1 $f2, 0x38($s3) +/* D7028C 802418DC C64000AC */ lwc1 $f0, 0xac($s2) +/* D70290 802418E0 46800020 */ cvt.s.w $f0, $f0 +/* D70294 802418E4 4602003E */ c.le.s $f0, $f2 +/* D70298 802418E8 00000000 */ nop +/* D7029C 802418EC 4503000D */ bc1tl .L80241924 +/* D702A0 802418F0 E6600038 */ swc1 $f0, 0x38($s3) +/* D702A4 802418F4 C64000B0 */ lwc1 $f0, 0xb0($s2) +/* D702A8 802418F8 46800020 */ cvt.s.w $f0, $f0 +/* D702AC 802418FC 0809064E */ j .L80241938 +/* D702B0 80241900 46001000 */ add.s $f0, $f2, $f0 +.L80241904: +/* D702B4 80241904 C6620038 */ lwc1 $f2, 0x38($s3) +/* D702B8 80241908 C64000AC */ lwc1 $f0, 0xac($s2) +/* D702BC 8024190C 46800020 */ cvt.s.w $f0, $f0 +/* D702C0 80241910 4600103E */ c.le.s $f2, $f0 +/* D702C4 80241914 00000000 */ nop +/* D702C8 80241918 45000004 */ bc1f .L8024192C +/* D702CC 8024191C 00000000 */ nop +/* D702D0 80241920 E6600038 */ swc1 $f0, 0x38($s3) +.L80241924: +/* D702D4 80241924 08090662 */ j .L80241988 +/* D702D8 80241928 24020002 */ addiu $v0, $zero, 2 +.L8024192C: +/* D702DC 8024192C C64000B0 */ lwc1 $f0, 0xb0($s2) +/* D702E0 80241930 46800020 */ cvt.s.w $f0, $f0 +/* D702E4 80241934 46001001 */ sub.s $f0, $f2, $f0 +.L80241938: +/* D702E8 80241938 E6600038 */ swc1 $f0, 0x38($s3) +/* D702EC 8024193C 8E4200B4 */ lw $v0, 0xb4($s2) +/* D702F0 80241940 14400009 */ bnez $v0, .L80241968 +/* D702F4 80241944 00000000 */ nop +/* D702F8 80241948 8E4200B0 */ lw $v0, 0xb0($s2) +/* D702FC 8024194C 24420002 */ addiu $v0, $v0, 2 +/* D70300 80241950 AE4200B0 */ sw $v0, 0xb0($s2) +/* D70304 80241954 2842000E */ slti $v0, $v0, 0xe +/* D70308 80241958 1440000B */ bnez $v0, .L80241988 +/* D7030C 8024195C 0000102D */ daddu $v0, $zero, $zero +/* D70310 80241960 08090660 */ j .L80241980 +/* D70314 80241964 2402000E */ addiu $v0, $zero, 0xe +.L80241968: +/* D70318 80241968 8E4200B0 */ lw $v0, 0xb0($s2) +/* D7031C 8024196C 2442FFFE */ addiu $v0, $v0, -2 +/* D70320 80241970 AE4200B0 */ sw $v0, 0xb0($s2) +/* D70324 80241974 28420009 */ slti $v0, $v0, 9 +/* D70328 80241978 10400002 */ beqz $v0, .L80241984 +/* D7032C 8024197C 24020008 */ addiu $v0, $zero, 8 +.L80241980: +/* D70330 80241980 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241984: +/* D70334 80241984 0000102D */ daddu $v0, $zero, $zero +.L80241988: +/* D70338 80241988 8FBF0020 */ lw $ra, 0x20($sp) +/* D7033C 8024198C 8FB3001C */ lw $s3, 0x1c($sp) +/* D70340 80241990 8FB20018 */ lw $s2, 0x18($sp) +/* D70344 80241994 8FB10014 */ lw $s1, 0x14($sp) +/* D70348 80241998 8FB00010 */ lw $s0, 0x10($sp) +/* D7034C 8024199C 03E00008 */ jr $ra +/* D70350 802419A0 27BD0028 */ addiu $sp, $sp, 0x28 +/* D70354 802419A4 00000000 */ nop +/* D70358 802419A8 00000000 */ nop +/* D7035C 802419AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240000_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240000_D763A0.s new file mode 100644 index 0000000000..d70179964e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240000_D763A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D763A0 +/* D763A0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D763A4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D763A8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D763AC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D763B0 80240010 03E00008 */ jr $ra +/* D763B4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D763B8 80240018 00000000 */ nop +/* D763BC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240020_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240020_D763A0.s new file mode 100644 index 0000000000..73aa43b4ee --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240020_D763A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D763C0 +/* D763C0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D763C4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D763C8 80240028 00822024 */ and $a0, $a0, $v0 +/* D763CC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D763D0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D763D4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D763D8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D763DC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D763E0 80240040 30620001 */ andi $v0, $v1, 1 +/* D763E4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D763E8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D763EC 8024004C 03E00008 */ jr $ra +/* D763F0 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240054_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240054_D763A0.s new file mode 100644 index 0000000000..e41cc91121 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240054_D763A0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D763F4 +/* D763F4 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D763F8 80240058 304300FF */ andi $v1, $v0, 0xff +/* D763FC 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D76400 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D76404 80240064 28620007 */ slti $v0, $v1, 7 +/* D76408 80240068 10400005 */ beqz $v0, .L80240080 +/* D7640C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D76410 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D76414 80240074 3C020100 */ lui $v0, 0x100 +/* D76418 80240078 03E00008 */ jr $ra +/* D7641C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D76420 80240080 2862000A */ slti $v0, $v1, 0xa +/* D76424 80240084 10400016 */ beqz $v0, .L802400E0 +/* D76428 80240088 28620008 */ slti $v0, $v1, 8 +/* D7642C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D76430 80240090 3C020100 */ lui $v0, 0x100 +/* D76434 80240094 03E00008 */ jr $ra +/* D76438 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D7643C 8024009C 3C020001 */ lui $v0, 1 +/* D76440 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D76444 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D76448 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D7644C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D76450 802400B0 03E00008 */ jr $ra +/* D76454 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D76458 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D7645C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D76460 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D76464 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D76468 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D7646C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D76470 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D76474 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D76478 802400D8 03E00008 */ jr $ra +/* D7647C 802400DC 00000000 */ nop +.L802400E0: +/* D76480 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D76484 802400E4 03E00008 */ jr $ra +/* D76488 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_802400EC_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_802400EC_D763A0.s new file mode 100644 index 0000000000..239440b6c2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_802400EC_D763A0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D7648C +/* D7648C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D76490 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D76494 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D76498 802400F8 3C058024 */ lui $a1, 0x8024 +/* D7649C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D764A0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D764A4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D764A8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D764AC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D764B0 80240110 AC620000 */ sw $v0, ($v1) +/* D764B4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D764B8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D764BC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D764C0 80240120 03E00008 */ jr $ra +/* D764C4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240128_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240128_D763A0.s new file mode 100644 index 0000000000..3aa7b668f9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240128_D763A0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D764C8 +/* D764C8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D764CC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D764D0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D764D4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D764D8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D764DC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D764E0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D764E4 80240144 8E020000 */ lw $v0, ($s0) +/* D764E8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D764EC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D764F0 80240150 10400061 */ beqz $v0, .L802402D8 +/* D764F4 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D764F8 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D764FC 8024015C 0C044181 */ jal get_shadow_by_index +/* D76500 80240160 00000000 */ nop +/* D76504 80240164 0C048B77 */ jal func_80122DDC +/* D76508 80240168 84440008 */ lh $a0, 8($v0) +/* D7650C 8024016C 8C430000 */ lw $v1, ($v0) +/* D76510 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D76514 80240174 AC430000 */ sw $v1, ($v0) +/* D76518 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D7651C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D76520 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D76524 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D76528 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D7652C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D76530 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D76534 80240194 3C04800A */ lui $a0, 0x800a +/* D76538 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D7653C 8024019C 46000007 */ neg.s $f0, $f0 +/* D76540 802401A0 44070000 */ mfc1 $a3, $f0 +/* D76544 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D76548 802401A8 0C00B94E */ jal get_screen_coords +/* D7654C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D76550 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D76554 802401B4 0C090008 */ jal func_80240020 +/* D76558 802401B8 00000000 */ nop +/* D7655C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D76560 802401C0 3C014307 */ lui $at, 0x4307 +/* D76564 802401C4 44810000 */ mtc1 $at, $f0 +/* D76568 802401C8 00000000 */ nop +/* D7656C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D76570 802401D0 00000000 */ nop +/* D76574 802401D4 4500000B */ bc1f .L80240204 +/* D76578 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D7657C 802401DC 3C014361 */ lui $at, 0x4361 +/* D76580 802401E0 44810000 */ mtc1 $at, $f0 +/* D76584 802401E4 00000000 */ nop +/* D76588 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D7658C 802401EC 00000000 */ nop +/* D76590 802401F0 45000004 */ bc1f .L80240204 +/* D76594 802401F4 00000000 */ nop +/* D76598 802401F8 0C090015 */ jal func_80240054 +/* D7659C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D765A0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D765A4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D765A8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D765AC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D765B0 80240210 8E020000 */ lw $v0, ($s0) +/* D765B4 80240214 3C030002 */ lui $v1, 2 +/* D765B8 80240218 00431024 */ and $v0, $v0, $v1 +/* D765BC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D765C0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D765C4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D765C8 80240228 3C02802E */ lui $v0, 0x802e +/* D765CC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D765D0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D765D4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D765D8 80240238 1040000B */ beqz $v0, .L80240268 +/* D765DC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D765E0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D765E4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D765E8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D765EC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D765F0 80240250 0000382D */ daddu $a3, $zero, $zero +/* D765F4 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D765F8 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D765FC 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D76600 80240260 080900A3 */ j .L8024028C +/* D76604 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D76608 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D7660C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D76610 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D76614 80240274 0000302D */ daddu $a2, $zero, $zero +/* D76618 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D7661C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D76620 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D76624 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D76628 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D7662C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D76630 80240290 00000000 */ nop +.L80240294: +/* D76634 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D76638 80240298 3C01802E */ lui $at, 0x802e +/* D7663C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D76640 802402A0 080900AD */ j .L802402B4 +/* D76644 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D76648 802402A8 3C01802E */ lui $at, 0x802e +/* D7664C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D76650 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D76654 802402B4 AC910000 */ sw $s1, ($a0) +/* D76658 802402B8 AC900008 */ sw $s0, 8($a0) +/* D7665C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D76660 802402C0 3C038024 */ lui $v1, 0x8024 +/* D76664 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D76668 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D7666C 802402CC 00021023 */ negu $v0, $v0 +/* D76670 802402D0 0C047644 */ jal queue_render_task +/* D76674 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D76678 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D7667C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D76680 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D76684 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D76688 802402E8 03E00008 */ jr $ra +/* D7668C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_802402F0_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_802402F0_D763A0.s new file mode 100644 index 0000000000..ef0c889b7c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_802402F0_D763A0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D76690 +/* D76690 802402F0 3C03800A */ lui $v1, 0x800a +/* D76694 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D76698 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D7669C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D766A0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D766A4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D766A8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D766AC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D766B0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D766B4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D766B8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D766BC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D766C0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D766C4 80240324 00031080 */ sll $v0, $v1, 2 +/* D766C8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D766CC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D766D0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D766D4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D766D8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D766DC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D766E0 80240340 3C01800B */ lui $at, 0x800b +/* D766E4 80240344 00220821 */ addu $at, $at, $v0 +/* D766E8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D766EC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D766F0 80240350 4600B587 */ neg.s $f22, $f22 +/* D766F4 80240354 4405B000 */ mfc1 $a1, $f22 +/* D766F8 80240358 0200202D */ daddu $a0, $s0, $zero +/* D766FC 8024035C 0C019EC8 */ jal guRotateF +/* D76700 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D76704 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D76708 80240368 0C00A6C9 */ jal clamp_angle +/* D7670C 8024036C 00000000 */ nop +/* D76710 80240370 44050000 */ mfc1 $a1, $f0 +/* D76714 80240374 4406A000 */ mfc1 $a2, $f20 +/* D76718 80240378 4407A000 */ mfc1 $a3, $f20 +/* D7671C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D76720 80240380 4481C000 */ mtc1 $at, $f24 +/* D76724 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D76728 80240388 0C019EC8 */ jal guRotateF +/* D7672C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D76730 80240390 0200202D */ daddu $a0, $s0, $zero +/* D76734 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D76738 80240398 0C019D80 */ jal guMtxCatF +/* D7673C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D76740 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D76744 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D76748 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D7674C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D76750 802403B0 0C019EC8 */ jal guRotateF +/* D76754 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D76758 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D7675C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D76760 802403C0 0C019D80 */ jal guMtxCatF +/* D76764 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D76768 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7676C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D76770 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D76774 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D76778 802403D8 0C019EC8 */ jal guRotateF +/* D7677C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D76780 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D76784 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D76788 802403E8 0C019D80 */ jal guMtxCatF +/* D7678C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D76790 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D76794 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D76798 802403F8 44810000 */ mtc1 $at, $f0 +/* D7679C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D767A0 80240400 44050000 */ mfc1 $a1, $f0 +/* D767A4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D767A8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D767AC 8024040C 0C019DF0 */ jal guScaleF +/* D767B0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D767B4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D767B8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D767BC 8024041C 0C019D80 */ jal guMtxCatF +/* D767C0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D767C4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D767C8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D767CC 8024042C 3C014040 */ lui $at, 0x4040 +/* D767D0 80240430 44811000 */ mtc1 $at, $f2 +/* D767D4 80240434 46000007 */ neg.s $f0, $f0 +/* D767D8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D767DC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D767E0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D767E4 80240444 44070000 */ mfc1 $a3, $f0 +/* D767E8 80240448 0C019E40 */ jal guTranslateF +/* D767EC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D767F0 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D767F4 80240454 0200282D */ daddu $a1, $s0, $zero +/* D767F8 80240458 0C019D80 */ jal guMtxCatF +/* D767FC 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D76800 80240460 24040002 */ addiu $a0, $zero, 2 +/* D76804 80240464 0000282D */ daddu $a1, $zero, $zero +/* D76808 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D7680C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D76810 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D76814 80240474 0C0B7710 */ jal render_sprite +/* D76818 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D7681C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D76820 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D76824 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D76828 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7682C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D76830 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D76834 80240494 03E00008 */ jr $ra +/* D76838 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_8024049C_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_8024049C_D763A0.s new file mode 100644 index 0000000000..1e62c5296b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_8024049C_D763A0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D7683C +/* D7683C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D76840 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D76844 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D76848 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D7684C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D76850 802404B0 0440000E */ bltz $v0, .L802404EC +/* D76854 802404B4 28420002 */ slti $v0, $v0, 2 +/* D76858 802404B8 1040000C */ beqz $v0, .L802404EC +/* D7685C 802404BC 00000000 */ nop +/* D76860 802404C0 3C058024 */ lui $a1, 0x8024 +/* D76864 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D76868 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D7686C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D76870 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D76874 802404D4 AC620000 */ sw $v0, ($v1) +/* D76878 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D7687C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D76880 802404E0 8C620000 */ lw $v0, ($v1) +/* D76884 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D76888 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D7688C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D76890 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D76894 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D76898 802404F8 03E00008 */ jr $ra +/* D7689C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240500_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240500_D763A0.s new file mode 100644 index 0000000000..c4dd29303b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240500_D763A0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D768A0 +/* D768A0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D768A4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D768A8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D768AC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D768B0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D768B4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D768B8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D768BC 8024051C 8E020000 */ lw $v0, ($s0) +/* D768C0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D768C4 80240524 30420001 */ andi $v0, $v0, 1 +/* D768C8 80240528 10400052 */ beqz $v0, .L80240674 +/* D768CC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D768D0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D768D4 80240534 0C044181 */ jal get_shadow_by_index +/* D768D8 80240538 00000000 */ nop +/* D768DC 8024053C 0C048B77 */ jal func_80122DDC +/* D768E0 80240540 84440008 */ lh $a0, 8($v0) +/* D768E4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D768E8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D768EC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D768F0 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D768F4 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D768F8 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D768FC 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D76900 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D76904 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D76908 80240568 3C04800A */ lui $a0, 0x800a +/* D7690C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D76910 80240570 46000007 */ neg.s $f0, $f0 +/* D76914 80240574 44060000 */ mfc1 $a2, $f0 +/* D76918 80240578 0C00B94E */ jal get_screen_coords +/* D7691C 8024057C 00000000 */ nop +/* D76920 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D76924 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D76928 80240588 0C0B76A3 */ jal func_802DDA8C +/* D7692C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D76930 80240590 8E020000 */ lw $v0, ($s0) +/* D76934 80240594 3C030002 */ lui $v1, 2 +/* D76938 80240598 00431024 */ and $v0, $v0, $v1 +/* D7693C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D76940 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D76944 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D76948 802405A8 3C02802E */ lui $v0, 0x802e +/* D7694C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D76950 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D76954 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D76958 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D7695C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D76960 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D76964 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D76968 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D7696C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D76970 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D76974 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D76978 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D7697C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D76980 802405E0 08090183 */ j .L8024060C +/* D76984 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D76988 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D7698C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D76990 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D76994 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D76998 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D7699C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D769A0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D769A4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D769A8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D769AC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D769B0 80240610 00000000 */ nop +.L80240614: +/* D769B4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D769B8 80240618 3C01802E */ lui $at, 0x802e +/* D769BC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D769C0 80240620 0809018C */ j .L80240630 +/* D769C4 80240624 00000000 */ nop +.L80240628: +/* D769C8 80240628 3C01802E */ lui $at, 0x802e +/* D769CC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D769D0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D769D4 80240634 3C048024 */ lui $a0, 0x8024 +/* D769D8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D769DC 8024063C AE320000 */ sw $s2, ($s1) +/* D769E0 80240640 AE300008 */ sw $s0, 8($s1) +/* D769E4 80240644 00021023 */ negu $v0, $v0 +/* D769E8 80240648 AE220004 */ sw $v0, 4($s1) +/* D769EC 8024064C 8E020000 */ lw $v0, ($s0) +/* D769F0 80240650 3C030002 */ lui $v1, 2 +/* D769F4 80240654 00431024 */ and $v0, $v0, $v1 +/* D769F8 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D769FC 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D76A00 80240660 3C048024 */ lui $a0, 0x8024 +/* D76A04 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D76A08 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D76A0C 8024066C 0C047644 */ jal queue_render_task +/* D76A10 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D76A14 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D76A18 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D76A1C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D76A20 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D76A24 80240684 03E00008 */ jr $ra +/* D76A28 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_8024068C_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_8024068C_D763A0.s new file mode 100644 index 0000000000..5722dea5bf --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_8024068C_D763A0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D76A2C +/* D76A2C 8024068C 3C03800A */ lui $v1, 0x800a +/* D76A30 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D76A34 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D76A38 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D76A3C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D76A40 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D76A44 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D76A48 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D76A4C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D76A50 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D76A54 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D76A58 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D76A5C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D76A60 802406C0 00031080 */ sll $v0, $v1, 2 +/* D76A64 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D76A68 802406C8 00021080 */ sll $v0, $v0, 2 +/* D76A6C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D76A70 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D76A74 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D76A78 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D76A7C 802406DC 3C01800B */ lui $at, 0x800b +/* D76A80 802406E0 00220821 */ addu $at, $at, $v0 +/* D76A84 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D76A88 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D76A8C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D76A90 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D76A94 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D76A98 802406F8 0C019EC8 */ jal guRotateF +/* D76A9C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D76AA0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D76AA4 80240704 0C00A6C9 */ jal clamp_angle +/* D76AA8 80240708 00000000 */ nop +/* D76AAC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D76AB0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D76AB4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D76AB8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D76ABC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D76AC0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D76AC4 80240724 0C019EC8 */ jal guRotateF +/* D76AC8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D76ACC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D76AD0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D76AD4 80240734 0C019D80 */ jal guMtxCatF +/* D76AD8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D76ADC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D76AE0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D76AE4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D76AE8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D76AEC 8024074C 0C019EC8 */ jal guRotateF +/* D76AF0 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D76AF4 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D76AF8 80240758 0200282D */ daddu $a1, $s0, $zero +/* D76AFC 8024075C 0C019D80 */ jal guMtxCatF +/* D76B00 80240760 0080302D */ daddu $a2, $a0, $zero +/* D76B04 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D76B08 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D76B0C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D76B10 80240770 4407C000 */ mfc1 $a3, $f24 +/* D76B14 80240774 0C019EC8 */ jal guRotateF +/* D76B18 80240778 0200202D */ daddu $a0, $s0, $zero +/* D76B1C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D76B20 80240780 0200282D */ daddu $a1, $s0, $zero +/* D76B24 80240784 0C019D80 */ jal guMtxCatF +/* D76B28 80240788 0080302D */ daddu $a2, $a0, $zero +/* D76B2C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D76B30 80240790 3C013F36 */ lui $at, 0x3f36 +/* D76B34 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D76B38 80240798 44810000 */ mtc1 $at, $f0 +/* D76B3C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D76B40 802407A0 44050000 */ mfc1 $a1, $f0 +/* D76B44 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D76B48 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D76B4C 802407AC 0C019DF0 */ jal guScaleF +/* D76B50 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D76B54 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D76B58 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D76B5C 802407BC 0C019D80 */ jal guMtxCatF +/* D76B60 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D76B64 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D76B68 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D76B6C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D76B70 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D76B74 802407D4 46000007 */ neg.s $f0, $f0 +/* D76B78 802407D8 44060000 */ mfc1 $a2, $f0 +/* D76B7C 802407DC 0C019E40 */ jal guTranslateF +/* D76B80 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D76B84 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D76B88 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D76B8C 802407EC 0C019D80 */ jal guMtxCatF +/* D76B90 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D76B94 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D76B98 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D76B9C 802407FC 44810000 */ mtc1 $at, $f0 +/* D76BA0 80240800 00000000 */ nop +/* D76BA4 80240804 4602003E */ c.le.s $f0, $f2 +/* D76BA8 80240808 00000000 */ nop +/* D76BAC 8024080C 4500000A */ bc1f .L80240838 +/* D76BB0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D76BB4 80240814 3C014387 */ lui $at, 0x4387 +/* D76BB8 80240818 44810000 */ mtc1 $at, $f0 +/* D76BBC 8024081C 00000000 */ nop +/* D76BC0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D76BC4 80240824 00000000 */ nop +/* D76BC8 80240828 45000004 */ bc1f .L8024083C +/* D76BCC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D76BD0 80240830 3C041000 */ lui $a0, 0x1000 +/* D76BD4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D76BD8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D76BDC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D76BE0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D76BE4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D76BE8 80240848 0C0B7710 */ jal render_sprite +/* D76BEC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D76BF0 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D76BF4 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D76BF8 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D76BFC 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D76C00 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D76C04 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D76C08 80240868 03E00008 */ jr $ra +/* D76C0C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240870_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240870_D763A0.s new file mode 100644 index 0000000000..6eaf6acb1e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240870_D763A0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D76C10 +/* D76C10 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D76C14 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D76C18 80240878 4480B000 */ mtc1 $zero, $f22 +/* D76C1C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D76C20 80240880 0080882D */ daddu $s1, $a0, $zero +/* D76C24 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D76C28 80240888 0000982D */ daddu $s3, $zero, $zero +/* D76C2C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D76C30 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D76C34 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D76C38 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D76C3C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D76C40 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D76C44 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D76C48 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D76C4C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D76C50 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D76C54 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D76C58 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D76C5C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D76C60 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D76C64 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D76C68 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D76C6C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D76C70 802408D0 3C03800A */ lui $v1, 0x800a +/* D76C74 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D76C78 802408D8 00031080 */ sll $v0, $v1, 2 +/* D76C7C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D76C80 802408E0 00021080 */ sll $v0, $v0, 2 +/* D76C84 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D76C88 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D76C8C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D76C90 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D76C94 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D76C98 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D76C9C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D76CA0 80240900 46000507 */ neg.s $f20, $f0 +/* D76CA4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D76CA8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D76CAC 8024090C 44810000 */ mtc1 $at, $f0 +/* D76CB0 80240910 00000000 */ nop +/* D76CB4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D76CB8 80240918 00000000 */ nop +/* D76CBC 8024091C 4500000A */ bc1f .L80240948 +/* D76CC0 80240920 00000000 */ nop +/* D76CC4 80240924 3C014334 */ lui $at, 0x4334 +/* D76CC8 80240928 44812000 */ mtc1 $at, $f4 +/* D76CCC 8024092C 00000000 */ nop +/* D76CD0 80240930 4604103E */ c.le.s $f2, $f4 +/* D76CD4 80240934 00000000 */ nop +/* D76CD8 80240938 45000003 */ bc1f .L80240948 +/* D76CDC 8024093C 00000000 */ nop +/* D76CE0 80240940 08090276 */ j .L802409D8 +/* D76CE4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D76CE8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D76CEC 8024094C 3C014334 */ lui $at, 0x4334 +/* D76CF0 80240950 44812000 */ mtc1 $at, $f4 +/* D76CF4 80240954 00000000 */ nop +/* D76CF8 80240958 4600203C */ c.lt.s $f4, $f0 +/* D76CFC 8024095C 00000000 */ nop +/* D76D00 80240960 4500000C */ bc1f .L80240994 +/* D76D04 80240964 00000000 */ nop +/* D76D08 80240968 3C014387 */ lui $at, 0x4387 +/* D76D0C 8024096C 44812000 */ mtc1 $at, $f4 +/* D76D10 80240970 00000000 */ nop +/* D76D14 80240974 4604003E */ c.le.s $f0, $f4 +/* D76D18 80240978 00000000 */ nop +/* D76D1C 8024097C 45000008 */ bc1f .L802409A0 +/* D76D20 80240980 00000000 */ nop +/* D76D24 80240984 3C014334 */ lui $at, 0x4334 +/* D76D28 80240988 44812000 */ mtc1 $at, $f4 +/* D76D2C 8024098C 08090276 */ j .L802409D8 +/* D76D30 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D76D34 80240994 3C014387 */ lui $at, 0x4387 +/* D76D38 80240998 44812000 */ mtc1 $at, $f4 +/* D76D3C 8024099C 00000000 */ nop +.L802409A0: +/* D76D40 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D76D44 802409A4 00000000 */ nop +/* D76D48 802409A8 4500000A */ bc1f .L802409D4 +/* D76D4C 802409AC 00000000 */ nop +/* D76D50 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D76D54 802409B4 44811000 */ mtc1 $at, $f2 +/* D76D58 802409B8 00000000 */ nop +/* D76D5C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D76D60 802409C0 00000000 */ nop +/* D76D64 802409C4 45000003 */ bc1f .L802409D4 +/* D76D68 802409C8 00000000 */ nop +/* D76D6C 802409CC 08090276 */ j .L802409D8 +/* D76D70 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D76D74 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D76D78 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D76D7C 802409DC 44810000 */ mtc1 $at, $f0 +/* D76D80 802409E0 00000000 */ nop +/* D76D84 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D76D88 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D76D8C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D76D90 802409F0 00000000 */ nop +/* D76D94 802409F4 00071100 */ sll $v0, $a3, 4 +/* D76D98 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D76D9C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D76DA0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D76DA4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D76DA8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D76DAC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D76DB0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D76DB4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D76DB8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D76DBC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D76DC0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D76DC4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D76DC8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D76DCC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D76DD0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D76DD4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D76DD8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D76DDC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D76DE0 80240A40 0C019EC8 */ jal guRotateF +/* D76DE4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D76DE8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D76DEC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D76DF0 80240A50 00000000 */ nop +/* D76DF4 80240A54 44050000 */ mfc1 $a1, $f0 +/* D76DF8 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D76DFC 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D76E00 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D76E04 80240A64 44812000 */ mtc1 $at, $f4 +/* D76E08 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D76E0C 80240A6C 0C019EC8 */ jal guRotateF +/* D76E10 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D76E14 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D76E18 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D76E1C 80240A7C 0C019D80 */ jal guMtxCatF +/* D76E20 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D76E24 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D76E28 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D76E2C 80240A8C 080902D6 */ j .L80240B58 +/* D76E30 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D76E34 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D76E38 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D76E3C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D76E40 80240AA0 0C03964E */ jal func_800E5938 +/* D76E44 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D76E48 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D76E4C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D76E50 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D76E54 80240AB4 46000606 */ mov.s $f24, $f0 +/* D76E58 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D76E5C 80240ABC 080902B5 */ j .L80240AD4 +/* D76E60 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D76E64 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D76E68 80240AC8 00000000 */ nop +/* D76E6C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D76E70 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D76E74 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D76E78 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D76E7C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D76E80 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D76E84 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D76E88 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D76E8C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D76E90 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D76E94 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D76E98 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D76E9C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D76EA0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D76EA4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D76EA8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D76EAC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D76EB0 80240B10 0C019EC8 */ jal guRotateF +/* D76EB4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D76EB8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D76EBC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D76EC0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D76EC4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D76EC8 80240B28 0C019EC8 */ jal guRotateF +/* D76ECC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D76ED0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D76ED4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D76ED8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D76EDC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D76EE0 80240B40 0C019EC8 */ jal guRotateF +/* D76EE4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D76EE8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D76EEC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D76EF0 80240B50 0C019D80 */ jal guMtxCatF +/* D76EF4 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D76EF8 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D76EFC 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D76F00 80240B60 44812000 */ mtc1 $at, $f4 +/* D76F04 80240B64 00021023 */ negu $v0, $v0 +/* D76F08 80240B68 44820000 */ mtc1 $v0, $f0 +/* D76F0C 80240B6C 00000000 */ nop +/* D76F10 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D76F14 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D76F18 80240B78 00000000 */ nop +/* D76F1C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D76F20 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D76F24 80240B84 44062000 */ mfc1 $a2, $f4 +/* D76F28 80240B88 0C019E40 */ jal guTranslateF +/* D76F2C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D76F30 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D76F34 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D76F38 80240B98 0C019D80 */ jal guMtxCatF +/* D76F3C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D76F40 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D76F44 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D76F48 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D76F4C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D76F50 80240BB0 0C019EC8 */ jal guRotateF +/* D76F54 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D76F58 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D76F5C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D76F60 80240BC0 0C019D80 */ jal guMtxCatF +/* D76F64 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D76F68 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D76F6C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D76F70 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D76F74 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D76F78 80240BD8 0C019EC8 */ jal guRotateF +/* D76F7C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D76F80 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D76F84 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D76F88 80240BE8 0C019D80 */ jal guMtxCatF +/* D76F8C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D76F90 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D76F94 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D76F98 80240BF8 44812000 */ mtc1 $at, $f4 +/* D76F9C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D76FA0 80240C00 00000000 */ nop +/* D76FA4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D76FA8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D76FAC 80240C0C 00000000 */ nop +/* D76FB0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D76FB4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D76FB8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D76FBC 80240C1C 0C019E40 */ jal guTranslateF +/* D76FC0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D76FC4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D76FC8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D76FCC 80240C2C 0C019D80 */ jal guMtxCatF +/* D76FD0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D76FD4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D76FD8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D76FDC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D76FE0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D76FE4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D76FE8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D76FEC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D76FF0 80240C50 0C019DF0 */ jal guScaleF +/* D76FF4 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D76FF8 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D76FFC 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D77000 80240C60 0C019D80 */ jal guMtxCatF +/* D77004 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D77008 80240C68 4600D687 */ neg.s $f26, $f26 +/* D7700C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D77010 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D77014 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D77018 80240C78 0C019E40 */ jal guTranslateF +/* D7701C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D77020 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D77024 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D77028 80240C88 0C019D80 */ jal guMtxCatF +/* D7702C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D77030 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D77034 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D77038 80240C98 44810000 */ mtc1 $at, $f0 +/* D7703C 80240C9C 00000000 */ nop +/* D77040 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D77044 80240CA4 00000000 */ nop +/* D77048 80240CA8 4500000A */ bc1f .L80240CD4 +/* D7704C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D77050 80240CB0 3C014387 */ lui $at, 0x4387 +/* D77054 80240CB4 44812000 */ mtc1 $at, $f4 +/* D77058 80240CB8 00000000 */ nop +/* D7705C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D77060 80240CC0 00000000 */ nop +/* D77064 80240CC4 45000004 */ bc1f .L80240CD8 +/* D77068 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D7706C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D77070 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D77074 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D77078 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D7707C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D77080 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D77084 80240CE4 0C0B7710 */ jal render_sprite +/* D77088 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D7708C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D77090 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D77094 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D77098 80240CF8 00000000 */ nop +/* D7709C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D770A0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D770A4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D770A8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D770AC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D770B0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D770B4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D770B8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D770BC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D770C0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D770C4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D770C8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D770CC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D770D0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D770D4 80240D34 03E00008 */ jr $ra +/* D770D8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240D3C_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240D3C_D763A0.s new file mode 100644 index 0000000000..89cd213031 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240D3C_D763A0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D770DC +/* D770DC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D770E0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D770E4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D770E8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D770EC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D770F0 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D770F4 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D770F8 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D770FC 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D77100 80240D60 00000000 */ nop +/* D77104 80240D64 28620002 */ slti $v0, $v1, 2 +/* D77108 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D7710C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D77110 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D77114 80240D74 00000000 */ nop +/* D77118 80240D78 08090378 */ j .L80240DE0 +/* D7711C 80240D7C 00000000 */ nop +.L80240D80: +/* D77120 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D77124 80240D84 00000000 */ nop +/* D77128 80240D88 08090378 */ j .L80240DE0 +/* D7712C 80240D8C 00000000 */ nop +.L80240D90: +/* D77130 80240D90 3C048024 */ lui $a0, 0x8024 +/* D77134 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D77138 80240D98 08090374 */ j .L80240DD0 +/* D7713C 80240D9C 00000000 */ nop +.L80240DA0: +/* D77140 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D77144 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D77148 80240DA8 08090374 */ j .L80240DD0 +/* D7714C 80240DAC 00000000 */ nop +.L80240DB0: +/* D77150 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D77154 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D77158 80240DB8 00000000 */ nop +/* D7715C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D77160 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D77164 80240DC4 00000000 */ nop +.L80240DC8: +/* D77168 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D7716C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D77170 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D77174 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D77178 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D7717C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D77180 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D77184 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D77188 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D7718C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D77190 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D77194 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D77198 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D7719C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D771A0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D771A4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D771A8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D771AC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D771B0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D771B4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D771B8 80240E18 00000000 */ nop +/* D771BC 80240E1C 0809039D */ j .L80240E74 +/* D771C0 80240E20 00000000 */ nop +.L80240E24: +/* D771C4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D771C8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D771CC 80240E2C 0809039D */ j .L80240E74 +/* D771D0 80240E30 00000000 */ nop +.L80240E34: +/* D771D4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D771D8 80240E38 0809039A */ j .L80240E68 +/* D771DC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D771E0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D771E4 80240E44 0809039A */ j .L80240E68 +/* D771E8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D771EC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D771F0 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D771F4 80240E54 28420002 */ slti $v0, $v0, 2 +/* D771F8 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D771FC 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D77200 80240E60 8CA20000 */ lw $v0, ($a1) +/* D77204 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D77208 80240E68 00431025 */ or $v0, $v0, $v1 +/* D7720C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D77210 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D77214 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D77218 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D7721C 80240E7C 03E00008 */ jr $ra +/* D77220 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240E84_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240E84_D763A0.s new file mode 100644 index 0000000000..0d92f872a7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240E84_D763A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D77224 +/* D77224 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D77228 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D7722C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D77230 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D77234 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D77238 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D7723C 80240E9C 3C03000A */ lui $v1, 0xa +/* D77240 80240EA0 8C820000 */ lw $v0, ($a0) +/* D77244 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D77248 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D7724C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D77250 80240EB0 03E00008 */ jr $ra +/* D77254 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240EB8_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240EB8_D763A0.s new file mode 100644 index 0000000000..29bbc75b9b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240EB8_D763A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D77258 +/* D77258 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7725C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D77260 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D77264 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D77268 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D7726C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D77270 80240ED0 3C030008 */ lui $v1, 8 +/* D77274 80240ED4 8C820000 */ lw $v0, ($a0) +/* D77278 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D7727C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D77280 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D77284 80240EE4 03E00008 */ jr $ra +/* D77288 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_20/func_80240EEC_D763A0.s b/asm/nonmatchings/world/area_pra/pra_20/func_80240EEC_D763A0.s new file mode 100644 index 0000000000..b4ab4a302b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_20/func_80240EEC_D763A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D7728C +/* D7728C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D77290 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D77294 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D77298 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D7729C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D772A0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D772A4 80240F04 3C030002 */ lui $v1, 2 +/* D772A8 80240F08 8C820000 */ lw $v0, ($a0) +/* D772AC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D772B0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D772B4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D772B8 80240F18 03E00008 */ jr $ra +/* D772BC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_21/func_80240000_D77F20.s b/asm/nonmatchings/world/area_pra/pra_21/func_80240000_D77F20.s new file mode 100644 index 0000000000..1262194525 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_21/func_80240000_D77F20.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D77F20 +/* D77F20 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D77F24 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D77F28 80240008 24020001 */ addiu $v0, $zero, 1 +/* D77F2C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D77F30 80240010 03E00008 */ jr $ra +/* D77F34 80240014 0000102D */ daddu $v0, $zero, $zero +/* D77F38 80240018 00000000 */ nop +/* D77F3C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_21/func_80240020_D77F20.s b/asm/nonmatchings/world/area_pra/pra_21/func_80240020_D77F20.s new file mode 100644 index 0000000000..994f1b401f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_21/func_80240020_D77F20.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D77F40 +/* D77F40 80240020 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D77F44 80240024 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D77F48 80240028 C4620080 */ lwc1 $f2, 0x80($v1) +/* D77F4C 8024002C 44800000 */ mtc1 $zero, $f0 +/* D77F50 80240030 00000000 */ nop +/* D77F54 80240034 4602003E */ c.le.s $f0, $f2 +/* D77F58 80240038 00000000 */ nop +/* D77F5C 8024003C 4500000A */ bc1f .L80240068 +/* D77F60 80240040 00000000 */ nop +/* D77F64 80240044 3C014334 */ lui $at, 0x4334 +/* D77F68 80240048 44810000 */ mtc1 $at, $f0 +/* D77F6C 8024004C 00000000 */ nop +/* D77F70 80240050 4600103C */ c.lt.s $f2, $f0 +/* D77F74 80240054 00000000 */ nop +/* D77F78 80240058 45000006 */ bc1f .L80240074 +/* D77F7C 8024005C 240201A9 */ addiu $v0, $zero, 0x1a9 +/* D77F80 80240060 AC820084 */ sw $v0, 0x84($a0) +/* D77F84 80240064 C4620080 */ lwc1 $f2, 0x80($v1) +.L80240068: +/* D77F88 80240068 3C014334 */ lui $at, 0x4334 +/* D77F8C 8024006C 44810000 */ mtc1 $at, $f0 +/* D77F90 80240070 00000000 */ nop +.L80240074: +/* D77F94 80240074 4602003E */ c.le.s $f0, $f2 +/* D77F98 80240078 00000000 */ nop +/* D77F9C 8024007C 45000009 */ bc1f .L802400A4 +/* D77FA0 80240080 00000000 */ nop +/* D77FA4 80240084 3C0143B4 */ lui $at, 0x43b4 +/* D77FA8 80240088 44810000 */ mtc1 $at, $f0 +/* D77FAC 8024008C 00000000 */ nop +/* D77FB0 80240090 4600103C */ c.lt.s $f2, $f0 +/* D77FB4 80240094 00000000 */ nop +/* D77FB8 80240098 45000002 */ bc1f .L802400A4 +/* D77FBC 8024009C 24020145 */ addiu $v0, $zero, 0x145 +/* D77FC0 802400A0 AC820084 */ sw $v0, 0x84($a0) +.L802400A4: +/* D77FC4 802400A4 03E00008 */ jr $ra +/* D77FC8 802400A8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_21/func_802400AC_D77F20.s b/asm/nonmatchings/world/area_pra/pra_21/func_802400AC_D77F20.s new file mode 100644 index 0000000000..1a7b3060dd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_21/func_802400AC_D77F20.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400AC_D77FCC +/* D77FCC 802400AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D77FD0 802400B0 AFB10014 */ sw $s1, 0x14($sp) +/* D77FD4 802400B4 0080882D */ daddu $s1, $a0, $zero +/* D77FD8 802400B8 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D77FDC 802400BC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D77FE0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* D77FE4 802400C4 AFB00010 */ sw $s0, 0x10($sp) +/* D77FE8 802400C8 84430018 */ lh $v1, 0x18($v0) +/* D77FEC 802400CC 14600005 */ bnez $v1, .L802400E4 +/* D77FF0 802400D0 0040802D */ daddu $s0, $v0, $zero +/* D77FF4 802400D4 3C05FD05 */ lui $a1, 0xfd05 +/* D77FF8 802400D8 34A50F80 */ ori $a1, $a1, 0xf80 +/* D77FFC 802400DC 0C0B2026 */ jal set_variable +/* D78000 802400E0 0000302D */ daddu $a2, $zero, $zero +.L802400E4: +/* D78004 802400E4 86030018 */ lh $v1, 0x18($s0) +/* D78008 802400E8 2402FF38 */ addiu $v0, $zero, -0xc8 +/* D7800C 802400EC 14620005 */ bne $v1, $v0, .L80240104 +/* D78010 802400F0 0220202D */ daddu $a0, $s1, $zero +/* D78014 802400F4 3C05FD05 */ lui $a1, 0xfd05 +/* D78018 802400F8 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7801C 802400FC 0C0B2026 */ jal set_variable +/* D78020 80240100 24060001 */ addiu $a2, $zero, 1 +.L80240104: +/* D78024 80240104 8FBF0018 */ lw $ra, 0x18($sp) +/* D78028 80240108 8FB10014 */ lw $s1, 0x14($sp) +/* D7802C 8024010C 8FB00010 */ lw $s0, 0x10($sp) +/* D78030 80240110 0000102D */ daddu $v0, $zero, $zero +/* D78034 80240114 03E00008 */ jr $ra +/* D78038 80240118 27BD0020 */ addiu $sp, $sp, 0x20 +/* D7803C 8024011C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_22/func_80240000_D78880.s b/asm/nonmatchings/world/area_pra/pra_22/func_80240000_D78880.s new file mode 100644 index 0000000000..c21f08b034 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_22/func_80240000_D78880.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D78880 +/* D78880 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D78884 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D78888 80240008 24020001 */ addiu $v0, $zero, 1 +/* D7888C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D78890 80240010 03E00008 */ jr $ra +/* D78894 80240014 0000102D */ daddu $v0, $zero, $zero +/* D78898 80240018 00000000 */ nop +/* D7889C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_22/func_80240020_D78880.s b/asm/nonmatchings/world/area_pra/pra_22/func_80240020_D78880.s new file mode 100644 index 0000000000..1d50ec83ec --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_22/func_80240020_D78880.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D788A0 +/* D788A0 80240020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D788A4 80240024 AFB00010 */ sw $s0, 0x10($sp) +/* D788A8 80240028 0080802D */ daddu $s0, $a0, $zero +/* D788AC 8024002C AFBF0014 */ sw $ra, 0x14($sp) +/* D788B0 80240030 8E02000C */ lw $v0, 0xc($s0) +/* D788B4 80240034 0C0B1EAF */ jal get_variable +/* D788B8 80240038 8C450000 */ lw $a1, ($v0) +/* D788BC 8024003C 0040302D */ daddu $a2, $v0, $zero +/* D788C0 80240040 3C058016 */ lui $a1, 0x8016 +/* D788C4 80240044 84A5A550 */ lh $a1, -0x5ab0($a1) +/* D788C8 80240048 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* D788CC 8024004C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* D788D0 80240050 10A60004 */ beq $a1, $a2, .L80240064 +/* D788D4 80240054 24020014 */ addiu $v0, $zero, 0x14 +/* D788D8 80240058 808300B4 */ lb $v1, 0xb4($a0) +/* D788DC 8024005C 10620006 */ beq $v1, $v0, .L80240078 +/* D788E0 80240060 00000000 */ nop +.L80240064: +/* D788E4 80240064 8C820014 */ lw $v0, 0x14($a0) +/* D788E8 80240068 3C03FFFF */ lui $v1, 0xffff +/* D788EC 8024006C 00431024 */ and $v0, $v0, $v1 +/* D788F0 80240070 10400005 */ beqz $v0, .L80240088 +/* D788F4 80240074 00000000 */ nop +.L80240078: +/* D788F8 80240078 0C039769 */ jal set_action_state +/* D788FC 8024007C 0000202D */ daddu $a0, $zero, $zero +/* D78900 80240080 08090032 */ j .L802400C8 +/* D78904 80240084 AE000084 */ sw $zero, 0x84($s0) +.L80240088: +/* D78908 80240088 54A6000F */ bnel $a1, $a2, .L802400C8 +/* D7890C 8024008C AE000084 */ sw $zero, 0x84($s0) +/* D78910 80240090 808300B4 */ lb $v1, 0xb4($a0) +/* D78914 80240094 24020014 */ addiu $v0, $zero, 0x14 +/* D78918 80240098 10620005 */ beq $v1, $v0, .L802400B0 +/* D7891C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D78920 802400A0 10620003 */ beq $v1, $v0, .L802400B0 +/* D78924 802400A4 24020002 */ addiu $v0, $zero, 2 +/* D78928 802400A8 54620008 */ bnel $v1, $v0, .L802400CC +/* D7892C 802400AC AE000084 */ sw $zero, 0x84($s0) +.L802400B0: +/* D78930 802400B0 8C820004 */ lw $v0, 4($a0) +/* D78934 802400B4 30420001 */ andi $v0, $v0, 1 +/* D78938 802400B8 54400003 */ bnel $v0, $zero, .L802400C8 +/* D7893C 802400BC AE000084 */ sw $zero, 0x84($s0) +/* D78940 802400C0 24020001 */ addiu $v0, $zero, 1 +/* D78944 802400C4 AE020084 */ sw $v0, 0x84($s0) +.L802400C8: +/* D78948 802400C8 24020002 */ addiu $v0, $zero, 2 +.L802400CC: +/* D7894C 802400CC 8FBF0014 */ lw $ra, 0x14($sp) +/* D78950 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* D78954 802400D4 03E00008 */ jr $ra +/* D78958 802400D8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_22/func_802400DC_D78880.s b/asm/nonmatchings/world/area_pra/pra_22/func_802400DC_D78880.s new file mode 100644 index 0000000000..7581d52b25 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_22/func_802400DC_D78880.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_D7895C +/* D7895C 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D78960 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* D78964 802400E4 0080882D */ daddu $s1, $a0, $zero +/* D78968 802400E8 AFB00030 */ sw $s0, 0x30($sp) +/* D7896C 802400EC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D78970 802400F0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D78974 802400F4 AFBF0038 */ sw $ra, 0x38($sp) +/* D78978 802400F8 C6200084 */ lwc1 $f0, 0x84($s1) +/* D7897C 802400FC 46800020 */ cvt.s.w $f0, $f0 +/* D78980 80240100 27A2002C */ addiu $v0, $sp, 0x2c +/* D78984 80240104 0000202D */ daddu $a0, $zero, $zero +/* D78988 80240108 27A50020 */ addiu $a1, $sp, 0x20 +/* D7898C 8024010C 27A60024 */ addiu $a2, $sp, 0x24 +/* D78990 80240110 E6000028 */ swc1 $f0, 0x28($s0) +/* D78994 80240114 E7A00020 */ swc1 $f0, 0x20($sp) +/* D78998 80240118 C600002C */ lwc1 $f0, 0x2c($s0) +/* D7899C 8024011C 3C014120 */ lui $at, 0x4120 +/* D789A0 80240120 44811000 */ mtc1 $at, $f2 +/* D789A4 80240124 C6040030 */ lwc1 $f4, 0x30($s0) +/* D789A8 80240128 3C014396 */ lui $at, 0x4396 +/* D789AC 8024012C 44813000 */ mtc1 $at, $f6 +/* D789B0 80240130 46020000 */ add.s $f0, $f0, $f2 +/* D789B4 80240134 E7A40028 */ swc1 $f4, 0x28($sp) +/* D789B8 80240138 E7A6002C */ swc1 $f6, 0x2c($sp) +/* D789BC 8024013C E7A00024 */ swc1 $f0, 0x24($sp) +/* D789C0 80240140 3C014387 */ lui $at, 0x4387 +/* D789C4 80240144 44810000 */ mtc1 $at, $f0 +/* D789C8 80240148 860300B2 */ lh $v1, 0xb2($s0) +/* D789CC 8024014C 27A70028 */ addiu $a3, $sp, 0x28 +/* D789D0 80240150 AFA20010 */ sw $v0, 0x10($sp) +/* D789D4 80240154 E7A00014 */ swc1 $f0, 0x14($sp) +/* D789D8 80240158 44830000 */ mtc1 $v1, $f0 +/* D789DC 8024015C 00000000 */ nop +/* D789E0 80240160 46800020 */ cvt.s.w $f0, $f0 +/* D789E4 80240164 0C0371DE */ jal func_800DC778 +/* D789E8 80240168 E7A00018 */ swc1 $f0, 0x18($sp) +/* D789EC 8024016C C7A00020 */ lwc1 $f0, 0x20($sp) +/* D789F0 80240170 C7A20028 */ lwc1 $f2, 0x28($sp) +/* D789F4 80240174 E6000028 */ swc1 $f0, 0x28($s0) +/* D789F8 80240178 E6020030 */ swc1 $f2, 0x30($s0) +/* D789FC 8024017C AE2000AC */ sw $zero, 0xac($s1) +/* D78A00 80240180 C602002C */ lwc1 $f2, 0x2c($s0) +/* D78A04 80240184 C7A00024 */ lwc1 $f0, 0x24($sp) +/* D78A08 80240188 46001032 */ c.eq.s $f2, $f0 +/* D78A0C 8024018C 00000000 */ nop +/* D78A10 80240190 45010009 */ bc1t .L802401B8 +/* D78A14 80240194 00000000 */ nop +/* D78A18 80240198 AE00002C */ sw $zero, 0x2c($s0) +/* D78A1C 8024019C 8E220090 */ lw $v0, 0x90($s1) +/* D78A20 802401A0 24420001 */ addiu $v0, $v0, 1 +/* D78A24 802401A4 AE220090 */ sw $v0, 0x90($s1) +/* D78A28 802401A8 2842001E */ slti $v0, $v0, 0x1e +/* D78A2C 802401AC 14400002 */ bnez $v0, .L802401B8 +/* D78A30 802401B0 24020001 */ addiu $v0, $zero, 1 +/* D78A34 802401B4 AE2200AC */ sw $v0, 0xac($s1) +.L802401B8: +/* D78A38 802401B8 8FBF0038 */ lw $ra, 0x38($sp) +/* D78A3C 802401BC 8FB10034 */ lw $s1, 0x34($sp) +/* D78A40 802401C0 8FB00030 */ lw $s0, 0x30($sp) +/* D78A44 802401C4 24020002 */ addiu $v0, $zero, 2 +/* D78A48 802401C8 03E00008 */ jr $ra +/* D78A4C 802401CC 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_pra/pra_22/func_802401D0_D78880.s b/asm/nonmatchings/world/area_pra/pra_22/func_802401D0_D78880.s new file mode 100644 index 0000000000..16feeddad4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_22/func_802401D0_D78880.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_D78A50 +/* D78A50 802401D0 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D78A54 802401D4 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D78A58 802401D8 C4620080 */ lwc1 $f2, 0x80($v1) +/* D78A5C 802401DC 44800000 */ mtc1 $zero, $f0 +/* D78A60 802401E0 00000000 */ nop +/* D78A64 802401E4 4602003E */ c.le.s $f0, $f2 +/* D78A68 802401E8 00000000 */ nop +/* D78A6C 802401EC 4500000A */ bc1f .L80240218 +/* D78A70 802401F0 00000000 */ nop +/* D78A74 802401F4 3C014334 */ lui $at, 0x4334 +/* D78A78 802401F8 44810000 */ mtc1 $at, $f0 +/* D78A7C 802401FC 00000000 */ nop +/* D78A80 80240200 4600103C */ c.lt.s $f2, $f0 +/* D78A84 80240204 00000000 */ nop +/* D78A88 80240208 45000006 */ bc1f .L80240224 +/* D78A8C 8024020C 240201A9 */ addiu $v0, $zero, 0x1a9 +/* D78A90 80240210 AC820084 */ sw $v0, 0x84($a0) +/* D78A94 80240214 C4620080 */ lwc1 $f2, 0x80($v1) +.L80240218: +/* D78A98 80240218 3C014334 */ lui $at, 0x4334 +/* D78A9C 8024021C 44810000 */ mtc1 $at, $f0 +/* D78AA0 80240220 00000000 */ nop +.L80240224: +/* D78AA4 80240224 4602003E */ c.le.s $f0, $f2 +/* D78AA8 80240228 00000000 */ nop +/* D78AAC 8024022C 45000009 */ bc1f .L80240254 +/* D78AB0 80240230 00000000 */ nop +/* D78AB4 80240234 3C0143B4 */ lui $at, 0x43b4 +/* D78AB8 80240238 44810000 */ mtc1 $at, $f0 +/* D78ABC 8024023C 00000000 */ nop +/* D78AC0 80240240 4600103C */ c.lt.s $f2, $f0 +/* D78AC4 80240244 00000000 */ nop +/* D78AC8 80240248 45000002 */ bc1f .L80240254 +/* D78ACC 8024024C 24020145 */ addiu $v0, $zero, 0x145 +/* D78AD0 80240250 AC820084 */ sw $v0, 0x84($a0) +.L80240254: +/* D78AD4 80240254 03E00008 */ jr $ra +/* D78AD8 80240258 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_22/func_8024025C_D78880.s b/asm/nonmatchings/world/area_pra/pra_22/func_8024025C_D78880.s new file mode 100644 index 0000000000..0ed6bad049 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_22/func_8024025C_D78880.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024025C_D78ADC +/* D78ADC 8024025C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D78AE0 80240260 AFB10014 */ sw $s1, 0x14($sp) +/* D78AE4 80240264 0080882D */ daddu $s1, $a0, $zero +/* D78AE8 80240268 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D78AEC 8024026C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D78AF0 80240270 AFBF0018 */ sw $ra, 0x18($sp) +/* D78AF4 80240274 AFB00010 */ sw $s0, 0x10($sp) +/* D78AF8 80240278 84430018 */ lh $v1, 0x18($v0) +/* D78AFC 8024027C 14600005 */ bnez $v1, .L80240294 +/* D78B00 80240280 0040802D */ daddu $s0, $v0, $zero +/* D78B04 80240284 3C05FD05 */ lui $a1, 0xfd05 +/* D78B08 80240288 34A50F80 */ ori $a1, $a1, 0xf80 +/* D78B0C 8024028C 0C0B2026 */ jal set_variable +/* D78B10 80240290 0000302D */ daddu $a2, $zero, $zero +.L80240294: +/* D78B14 80240294 86030018 */ lh $v1, 0x18($s0) +/* D78B18 80240298 2402FF38 */ addiu $v0, $zero, -0xc8 +/* D78B1C 8024029C 14620005 */ bne $v1, $v0, .L802402B4 +/* D78B20 802402A0 0220202D */ daddu $a0, $s1, $zero +/* D78B24 802402A4 3C05FD05 */ lui $a1, 0xfd05 +/* D78B28 802402A8 34A50F80 */ ori $a1, $a1, 0xf80 +/* D78B2C 802402AC 0C0B2026 */ jal set_variable +/* D78B30 802402B0 24060001 */ addiu $a2, $zero, 1 +.L802402B4: +/* D78B34 802402B4 8FBF0018 */ lw $ra, 0x18($sp) +/* D78B38 802402B8 8FB10014 */ lw $s1, 0x14($sp) +/* D78B3C 802402BC 8FB00010 */ lw $s0, 0x10($sp) +/* D78B40 802402C0 0000102D */ daddu $v0, $zero, $zero +/* D78B44 802402C4 03E00008 */ jr $ra +/* D78B48 802402C8 27BD0020 */ addiu $sp, $sp, 0x20 +/* D78B4C 802402CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240000_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240000_D799F0.s new file mode 100644 index 0000000000..78798f1a2e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240000_D799F0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D799F0 +/* D799F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D799F4 80240004 3C04800E */ lui $a0, 0x800e +/* D799F8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D799FC 8024000C 3C058024 */ lui $a1, 0x8024 +/* D79A00 80240010 24A51880 */ addiu $a1, $a1, 0x1880 +/* D79A04 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D79A08 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D79A0C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D79A10 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D79A14 80240024 0C01953C */ jal sprintf +/* D79A18 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D79A1C 8024002C 3C04800E */ lui $a0, 0x800e +/* D79A20 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D79A24 80240034 3C058024 */ lui $a1, 0x8024 +/* D79A28 80240038 0C01953C */ jal sprintf +/* D79A2C 8024003C 24A51890 */ addiu $a1, $a1, 0x1890 +/* D79A30 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D79A34 80240044 0000102D */ daddu $v0, $zero, $zero +/* D79A38 80240048 03E00008 */ jr $ra +/* D79A3C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240050_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240050_D799F0.s new file mode 100644 index 0000000000..8a0f90ef96 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240050_D799F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D79A40 +/* D79A40 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D79A44 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D79A48 80240058 00822024 */ and $a0, $a0, $v0 +/* D79A4C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D79A50 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D79A54 80240064 00821821 */ addu $v1, $a0, $v0 +/* D79A58 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D79A5C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D79A60 80240070 30620001 */ andi $v0, $v1, 1 +/* D79A64 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D79A68 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D79A6C 8024007C 03E00008 */ jr $ra +/* D79A70 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240084_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240084_D799F0.s new file mode 100644 index 0000000000..19824b0e70 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240084_D799F0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D79A74 +/* D79A74 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D79A78 80240088 304300FF */ andi $v1, $v0, 0xff +/* D79A7C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D79A80 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D79A84 80240094 28620007 */ slti $v0, $v1, 7 +/* D79A88 80240098 10400005 */ beqz $v0, .L802400B0 +/* D79A8C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D79A90 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D79A94 802400A4 3C020100 */ lui $v0, 0x100 +/* D79A98 802400A8 03E00008 */ jr $ra +/* D79A9C 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D79AA0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D79AA4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D79AA8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D79AAC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D79AB0 802400C0 3C020100 */ lui $v0, 0x100 +/* D79AB4 802400C4 03E00008 */ jr $ra +/* D79AB8 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D79ABC 802400CC 3C020001 */ lui $v0, 1 +/* D79AC0 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D79AC4 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D79AC8 802400D8 1040000E */ beqz $v0, .L80240114 +/* D79ACC 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D79AD0 802400E0 03E00008 */ jr $ra +/* D79AD4 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D79AD8 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D79ADC 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D79AE0 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D79AE4 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D79AE8 802400F8 10400005 */ beqz $v0, .L80240110 +/* D79AEC 802400FC 30620001 */ andi $v0, $v1, 1 +/* D79AF0 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D79AF4 80240104 24820001 */ addiu $v0, $a0, 1 +/* D79AF8 80240108 03E00008 */ jr $ra +/* D79AFC 8024010C 00000000 */ nop +.L80240110: +/* D79B00 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D79B04 80240114 03E00008 */ jr $ra +/* D79B08 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_8024011C_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_8024011C_D799F0.s new file mode 100644 index 0000000000..ced8241017 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_8024011C_D799F0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D79B0C +/* D79B0C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D79B10 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D79B14 80240124 0080802D */ daddu $s0, $a0, $zero +/* D79B18 80240128 3C058024 */ lui $a1, 0x8024 +/* D79B1C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D79B20 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D79B24 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D79B28 80240138 0000202D */ daddu $a0, $zero, $zero +/* D79B2C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D79B30 80240140 AC620000 */ sw $v0, ($v1) +/* D79B34 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D79B38 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D79B3C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D79B40 80240150 03E00008 */ jr $ra +/* D79B44 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240158_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240158_D799F0.s new file mode 100644 index 0000000000..405fba3273 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240158_D799F0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D79B48 +/* D79B48 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D79B4C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D79B50 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D79B54 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D79B58 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D79B5C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D79B60 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D79B64 80240174 8E020000 */ lw $v0, ($s0) +/* D79B68 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D79B6C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D79B70 80240180 10400061 */ beqz $v0, .L80240308 +/* D79B74 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D79B78 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D79B7C 8024018C 0C044181 */ jal get_shadow_by_index +/* D79B80 80240190 00000000 */ nop +/* D79B84 80240194 0C048B77 */ jal func_80122DDC +/* D79B88 80240198 84440008 */ lh $a0, 8($v0) +/* D79B8C 8024019C 8C430000 */ lw $v1, ($v0) +/* D79B90 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D79B94 802401A4 AC430000 */ sw $v1, ($v0) +/* D79B98 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D79B9C 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D79BA0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D79BA4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D79BA8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D79BAC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D79BB0 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D79BB4 802401C4 3C04800A */ lui $a0, 0x800a +/* D79BB8 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D79BBC 802401CC 46000007 */ neg.s $f0, $f0 +/* D79BC0 802401D0 44070000 */ mfc1 $a3, $f0 +/* D79BC4 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D79BC8 802401D8 0C00B94E */ jal get_screen_coords +/* D79BCC 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D79BD0 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D79BD4 802401E4 0C090014 */ jal func_80240050 +/* D79BD8 802401E8 00000000 */ nop +/* D79BDC 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D79BE0 802401F0 3C014307 */ lui $at, 0x4307 +/* D79BE4 802401F4 44810000 */ mtc1 $at, $f0 +/* D79BE8 802401F8 00000000 */ nop +/* D79BEC 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D79BF0 80240200 00000000 */ nop +/* D79BF4 80240204 4500000B */ bc1f .L80240234 +/* D79BF8 80240208 24040002 */ addiu $a0, $zero, 2 +/* D79BFC 8024020C 3C014361 */ lui $at, 0x4361 +/* D79C00 80240210 44810000 */ mtc1 $at, $f0 +/* D79C04 80240214 00000000 */ nop +/* D79C08 80240218 4600103C */ c.lt.s $f2, $f0 +/* D79C0C 8024021C 00000000 */ nop +/* D79C10 80240220 45000004 */ bc1f .L80240234 +/* D79C14 80240224 00000000 */ nop +/* D79C18 80240228 0C090021 */ jal func_80240084 +/* D79C1C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D79C20 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D79C24 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D79C28 80240238 0C0B76A3 */ jal func_802DDA8C +/* D79C2C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D79C30 80240240 8E020000 */ lw $v0, ($s0) +/* D79C34 80240244 3C030002 */ lui $v1, 2 +/* D79C38 80240248 00431024 */ and $v0, $v0, $v1 +/* D79C3C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D79C40 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D79C44 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D79C48 80240258 3C02802E */ lui $v0, 0x802e +/* D79C4C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D79C50 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D79C54 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D79C58 80240268 1040000B */ beqz $v0, .L80240298 +/* D79C5C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D79C60 80240270 24040002 */ addiu $a0, $zero, 2 +/* D79C64 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D79C68 80240278 24060007 */ addiu $a2, $zero, 7 +/* D79C6C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D79C70 80240280 0000382D */ daddu $a3, $zero, $zero +/* D79C74 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D79C78 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D79C7C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D79C80 80240290 080900AF */ j .L802402BC +/* D79C84 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D79C88 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D79C8C 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D79C90 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D79C94 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D79C98 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D79C9C 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D79CA0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D79CA4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D79CA8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D79CAC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D79CB0 802402C0 00000000 */ nop +.L802402C4: +/* D79CB4 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D79CB8 802402C8 3C01802E */ lui $at, 0x802e +/* D79CBC 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D79CC0 802402D0 080900B9 */ j .L802402E4 +/* D79CC4 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D79CC8 802402D8 3C01802E */ lui $at, 0x802e +/* D79CCC 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D79CD0 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D79CD4 802402E4 AC910000 */ sw $s1, ($a0) +/* D79CD8 802402E8 AC900008 */ sw $s0, 8($a0) +/* D79CDC 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D79CE0 802402F0 3C038024 */ lui $v1, 0x8024 +/* D79CE4 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D79CE8 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D79CEC 802402FC 00021023 */ negu $v0, $v0 +/* D79CF0 80240300 0C047644 */ jal queue_render_task +/* D79CF4 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D79CF8 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D79CFC 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D79D00 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D79D04 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D79D08 80240318 03E00008 */ jr $ra +/* D79D0C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240320_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240320_D799F0.s new file mode 100644 index 0000000000..3ae8511e66 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240320_D799F0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D79D10 +/* D79D10 80240320 3C03800A */ lui $v1, 0x800a +/* D79D14 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D79D18 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D79D1C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D79D20 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D79D24 80240334 4480A000 */ mtc1 $zero, $f20 +/* D79D28 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D79D2C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D79D30 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D79D34 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D79D38 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D79D3C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D79D40 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D79D44 80240354 00031080 */ sll $v0, $v1, 2 +/* D79D48 80240358 00431021 */ addu $v0, $v0, $v1 +/* D79D4C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D79D50 80240360 00431023 */ subu $v0, $v0, $v1 +/* D79D54 80240364 000218C0 */ sll $v1, $v0, 3 +/* D79D58 80240368 00431021 */ addu $v0, $v0, $v1 +/* D79D5C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D79D60 80240370 3C01800B */ lui $at, 0x800b +/* D79D64 80240374 00220821 */ addu $at, $at, $v0 +/* D79D68 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D79D6C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D79D70 80240380 4600B587 */ neg.s $f22, $f22 +/* D79D74 80240384 4405B000 */ mfc1 $a1, $f22 +/* D79D78 80240388 0200202D */ daddu $a0, $s0, $zero +/* D79D7C 8024038C 0C019EC8 */ jal guRotateF +/* D79D80 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D79D84 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D79D88 80240398 0C00A6C9 */ jal clamp_angle +/* D79D8C 8024039C 00000000 */ nop +/* D79D90 802403A0 44050000 */ mfc1 $a1, $f0 +/* D79D94 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D79D98 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D79D9C 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D79DA0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D79DA4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D79DA8 802403B8 0C019EC8 */ jal guRotateF +/* D79DAC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D79DB0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D79DB4 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D79DB8 802403C8 0C019D80 */ jal guMtxCatF +/* D79DBC 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D79DC0 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D79DC4 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D79DC8 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D79DCC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D79DD0 802403E0 0C019EC8 */ jal guRotateF +/* D79DD4 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D79DD8 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D79DDC 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D79DE0 802403F0 0C019D80 */ jal guMtxCatF +/* D79DE4 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D79DE8 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D79DEC 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D79DF0 80240400 4406A000 */ mfc1 $a2, $f20 +/* D79DF4 80240404 4407C000 */ mfc1 $a3, $f24 +/* D79DF8 80240408 0C019EC8 */ jal guRotateF +/* D79DFC 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D79E00 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D79E04 80240414 0200282D */ daddu $a1, $s0, $zero +/* D79E08 80240418 0C019D80 */ jal guMtxCatF +/* D79E0C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D79E10 80240420 3C013F36 */ lui $at, 0x3f36 +/* D79E14 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D79E18 80240428 44810000 */ mtc1 $at, $f0 +/* D79E1C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D79E20 80240430 44050000 */ mfc1 $a1, $f0 +/* D79E24 80240434 0200202D */ daddu $a0, $s0, $zero +/* D79E28 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D79E2C 8024043C 0C019DF0 */ jal guScaleF +/* D79E30 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D79E34 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D79E38 80240448 0200282D */ daddu $a1, $s0, $zero +/* D79E3C 8024044C 0C019D80 */ jal guMtxCatF +/* D79E40 80240450 0080302D */ daddu $a2, $a0, $zero +/* D79E44 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D79E48 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D79E4C 8024045C 3C014040 */ lui $at, 0x4040 +/* D79E50 80240460 44811000 */ mtc1 $at, $f2 +/* D79E54 80240464 46000007 */ neg.s $f0, $f0 +/* D79E58 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D79E5C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D79E60 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D79E64 80240474 44070000 */ mfc1 $a3, $f0 +/* D79E68 80240478 0C019E40 */ jal guTranslateF +/* D79E6C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D79E70 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D79E74 80240484 0200282D */ daddu $a1, $s0, $zero +/* D79E78 80240488 0C019D80 */ jal guMtxCatF +/* D79E7C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D79E80 80240490 24040002 */ addiu $a0, $zero, 2 +/* D79E84 80240494 0000282D */ daddu $a1, $zero, $zero +/* D79E88 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D79E8C 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D79E90 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D79E94 802404A4 0C0B7710 */ jal render_sprite +/* D79E98 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D79E9C 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D79EA0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D79EA4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D79EA8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D79EAC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D79EB0 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D79EB4 802404C4 03E00008 */ jr $ra +/* D79EB8 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_802404CC_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_802404CC_D799F0.s new file mode 100644 index 0000000000..de758fb9a4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_802404CC_D799F0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D79EBC +/* D79EBC 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D79EC0 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D79EC4 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D79EC8 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D79ECC 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D79ED0 802404E0 0440000E */ bltz $v0, .L8024051C +/* D79ED4 802404E4 28420002 */ slti $v0, $v0, 2 +/* D79ED8 802404E8 1040000C */ beqz $v0, .L8024051C +/* D79EDC 802404EC 00000000 */ nop +/* D79EE0 802404F0 3C058024 */ lui $a1, 0x8024 +/* D79EE4 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D79EE8 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D79EEC 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D79EF0 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D79EF4 80240504 AC620000 */ sw $v0, ($v1) +/* D79EF8 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D79EFC 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D79F00 80240510 8C620000 */ lw $v0, ($v1) +/* D79F04 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D79F08 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D79F0C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D79F10 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D79F14 80240524 24020002 */ addiu $v0, $zero, 2 +/* D79F18 80240528 03E00008 */ jr $ra +/* D79F1C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240530_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240530_D799F0.s new file mode 100644 index 0000000000..f7675aff1d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240530_D799F0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D79F20 +/* D79F20 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D79F24 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D79F28 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D79F2C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D79F30 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D79F34 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D79F38 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D79F3C 8024054C 8E020000 */ lw $v0, ($s0) +/* D79F40 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D79F44 80240554 30420001 */ andi $v0, $v0, 1 +/* D79F48 80240558 10400052 */ beqz $v0, .L802406A4 +/* D79F4C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D79F50 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D79F54 80240564 0C044181 */ jal get_shadow_by_index +/* D79F58 80240568 00000000 */ nop +/* D79F5C 8024056C 0C048B77 */ jal func_80122DDC +/* D79F60 80240570 84440008 */ lh $a0, 8($v0) +/* D79F64 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D79F68 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D79F6C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D79F70 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D79F74 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D79F78 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D79F7C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D79F80 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D79F84 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D79F88 80240598 3C04800A */ lui $a0, 0x800a +/* D79F8C 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D79F90 802405A0 46000007 */ neg.s $f0, $f0 +/* D79F94 802405A4 44060000 */ mfc1 $a2, $f0 +/* D79F98 802405A8 0C00B94E */ jal get_screen_coords +/* D79F9C 802405AC 00000000 */ nop +/* D79FA0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D79FA4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D79FA8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D79FAC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D79FB0 802405C0 8E020000 */ lw $v0, ($s0) +/* D79FB4 802405C4 3C030002 */ lui $v1, 2 +/* D79FB8 802405C8 00431024 */ and $v0, $v0, $v1 +/* D79FBC 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D79FC0 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D79FC4 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D79FC8 802405D8 3C02802E */ lui $v0, 0x802e +/* D79FCC 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D79FD0 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D79FD4 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D79FD8 802405E8 1040000B */ beqz $v0, .L80240618 +/* D79FDC 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D79FE0 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D79FE4 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D79FE8 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D79FEC 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D79FF0 80240600 0000382D */ daddu $a3, $zero, $zero +/* D79FF4 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D79FF8 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D79FFC 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D7A000 80240610 0809018F */ j .L8024063C +/* D7A004 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D7A008 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D7A00C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D7A010 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D7A014 80240624 0000302D */ daddu $a2, $zero, $zero +/* D7A018 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D7A01C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D7A020 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D7A024 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D7A028 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D7A02C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D7A030 80240640 00000000 */ nop +.L80240644: +/* D7A034 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D7A038 80240648 3C01802E */ lui $at, 0x802e +/* D7A03C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D7A040 80240650 08090198 */ j .L80240660 +/* D7A044 80240654 00000000 */ nop +.L80240658: +/* D7A048 80240658 3C01802E */ lui $at, 0x802e +/* D7A04C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D7A050 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D7A054 80240664 3C048024 */ lui $a0, 0x8024 +/* D7A058 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D7A05C 8024066C AE320000 */ sw $s2, ($s1) +/* D7A060 80240670 AE300008 */ sw $s0, 8($s1) +/* D7A064 80240674 00021023 */ negu $v0, $v0 +/* D7A068 80240678 AE220004 */ sw $v0, 4($s1) +/* D7A06C 8024067C 8E020000 */ lw $v0, ($s0) +/* D7A070 80240680 3C030002 */ lui $v1, 2 +/* D7A074 80240684 00431024 */ and $v0, $v0, $v1 +/* D7A078 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D7A07C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D7A080 80240690 3C048024 */ lui $a0, 0x8024 +/* D7A084 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D7A088 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D7A08C 8024069C 0C047644 */ jal queue_render_task +/* D7A090 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D7A094 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D7A098 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D7A09C 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D7A0A0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D7A0A4 802406B4 03E00008 */ jr $ra +/* D7A0A8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_802406BC_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_802406BC_D799F0.s new file mode 100644 index 0000000000..7c490021cd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_802406BC_D799F0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D7A0AC +/* D7A0AC 802406BC 3C03800A */ lui $v1, 0x800a +/* D7A0B0 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D7A0B4 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D7A0B8 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D7A0BC 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D7A0C0 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D7A0C4 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D7A0C8 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D7A0CC 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D7A0D0 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D7A0D4 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D7A0D8 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D7A0DC 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D7A0E0 802406F0 00031080 */ sll $v0, $v1, 2 +/* D7A0E4 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D7A0E8 802406F8 00021080 */ sll $v0, $v0, 2 +/* D7A0EC 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D7A0F0 80240700 000218C0 */ sll $v1, $v0, 3 +/* D7A0F4 80240704 00431021 */ addu $v0, $v0, $v1 +/* D7A0F8 80240708 000210C0 */ sll $v0, $v0, 3 +/* D7A0FC 8024070C 3C01800B */ lui $at, 0x800b +/* D7A100 80240710 00220821 */ addu $at, $at, $v0 +/* D7A104 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7A108 80240718 4406A000 */ mfc1 $a2, $f20 +/* D7A10C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D7A110 80240720 4405B000 */ mfc1 $a1, $f22 +/* D7A114 80240724 0200202D */ daddu $a0, $s0, $zero +/* D7A118 80240728 0C019EC8 */ jal guRotateF +/* D7A11C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D7A120 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7A124 80240734 0C00A6C9 */ jal clamp_angle +/* D7A128 80240738 00000000 */ nop +/* D7A12C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D7A130 80240740 4406A000 */ mfc1 $a2, $f20 +/* D7A134 80240744 4407A000 */ mfc1 $a3, $f20 +/* D7A138 80240748 3C013F80 */ lui $at, 0x3f80 +/* D7A13C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D7A140 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D7A144 80240754 0C019EC8 */ jal guRotateF +/* D7A148 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D7A14C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D7A150 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D7A154 80240764 0C019D80 */ jal guMtxCatF +/* D7A158 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D7A15C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D7A160 80240770 4406A000 */ mfc1 $a2, $f20 +/* D7A164 80240774 4407C000 */ mfc1 $a3, $f24 +/* D7A168 80240778 0200202D */ daddu $a0, $s0, $zero +/* D7A16C 8024077C 0C019EC8 */ jal guRotateF +/* D7A170 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7A174 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D7A178 80240788 0200282D */ daddu $a1, $s0, $zero +/* D7A17C 8024078C 0C019D80 */ jal guMtxCatF +/* D7A180 80240790 0080302D */ daddu $a2, $a0, $zero +/* D7A184 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7A188 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7A18C 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D7A190 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D7A194 802407A4 0C019EC8 */ jal guRotateF +/* D7A198 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D7A19C 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D7A1A0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D7A1A4 802407B4 0C019D80 */ jal guMtxCatF +/* D7A1A8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D7A1AC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D7A1B0 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D7A1B4 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D7A1B8 802407C8 44810000 */ mtc1 $at, $f0 +/* D7A1BC 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D7A1C0 802407D0 44050000 */ mfc1 $a1, $f0 +/* D7A1C4 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D7A1C8 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7A1CC 802407DC 0C019DF0 */ jal guScaleF +/* D7A1D0 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D7A1D4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D7A1D8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D7A1DC 802407EC 0C019D80 */ jal guMtxCatF +/* D7A1E0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D7A1E4 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D7A1E8 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D7A1EC 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D7A1F0 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D7A1F4 80240804 46000007 */ neg.s $f0, $f0 +/* D7A1F8 80240808 44060000 */ mfc1 $a2, $f0 +/* D7A1FC 8024080C 0C019E40 */ jal guTranslateF +/* D7A200 80240810 0200202D */ daddu $a0, $s0, $zero +/* D7A204 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D7A208 80240818 0200282D */ daddu $a1, $s0, $zero +/* D7A20C 8024081C 0C019D80 */ jal guMtxCatF +/* D7A210 80240820 0080302D */ daddu $a2, $a0, $zero +/* D7A214 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7A218 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D7A21C 8024082C 44810000 */ mtc1 $at, $f0 +/* D7A220 80240830 00000000 */ nop +/* D7A224 80240834 4602003E */ c.le.s $f0, $f2 +/* D7A228 80240838 00000000 */ nop +/* D7A22C 8024083C 4500000A */ bc1f .L80240868 +/* D7A230 80240840 24040001 */ addiu $a0, $zero, 1 +/* D7A234 80240844 3C014387 */ lui $at, 0x4387 +/* D7A238 80240848 44810000 */ mtc1 $at, $f0 +/* D7A23C 8024084C 00000000 */ nop +/* D7A240 80240850 4600103C */ c.lt.s $f2, $f0 +/* D7A244 80240854 00000000 */ nop +/* D7A248 80240858 45000004 */ bc1f .L8024086C +/* D7A24C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D7A250 80240860 3C041000 */ lui $a0, 0x1000 +/* D7A254 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D7A258 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D7A25C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D7A260 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D7A264 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D7A268 80240878 0C0B7710 */ jal render_sprite +/* D7A26C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D7A270 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D7A274 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D7A278 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D7A27C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7A280 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D7A284 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D7A288 80240898 03E00008 */ jr $ra +/* D7A28C 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_802408A0_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_802408A0_D799F0.s new file mode 100644 index 0000000000..155cb7dd07 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_802408A0_D799F0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D7A290 +/* D7A290 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D7A294 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D7A298 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D7A29C 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D7A2A0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D7A2A4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D7A2A8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D7A2AC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D7A2B0 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D7A2B4 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D7A2B8 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D7A2BC 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D7A2C0 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D7A2C4 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D7A2C8 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D7A2CC 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D7A2D0 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D7A2D4 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D7A2D8 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D7A2DC 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D7A2E0 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D7A2E4 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D7A2E8 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D7A2EC 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D7A2F0 80240900 3C03800A */ lui $v1, 0x800a +/* D7A2F4 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D7A2F8 80240908 00031080 */ sll $v0, $v1, 2 +/* D7A2FC 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D7A300 80240910 00021080 */ sll $v0, $v0, 2 +/* D7A304 80240914 00431023 */ subu $v0, $v0, $v1 +/* D7A308 80240918 000218C0 */ sll $v1, $v0, 3 +/* D7A30C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D7A310 80240920 000210C0 */ sll $v0, $v0, 3 +/* D7A314 80240924 00561021 */ addu $v0, $v0, $s6 +/* D7A318 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D7A31C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D7A320 80240930 46000507 */ neg.s $f20, $f0 +/* D7A324 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7A328 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D7A32C 8024093C 44810000 */ mtc1 $at, $f0 +/* D7A330 80240940 00000000 */ nop +/* D7A334 80240944 4602003C */ c.lt.s $f0, $f2 +/* D7A338 80240948 00000000 */ nop +/* D7A33C 8024094C 4500000A */ bc1f .L80240978 +/* D7A340 80240950 00000000 */ nop +/* D7A344 80240954 3C014334 */ lui $at, 0x4334 +/* D7A348 80240958 44812000 */ mtc1 $at, $f4 +/* D7A34C 8024095C 00000000 */ nop +/* D7A350 80240960 4604103E */ c.le.s $f2, $f4 +/* D7A354 80240964 00000000 */ nop +/* D7A358 80240968 45000003 */ bc1f .L80240978 +/* D7A35C 8024096C 00000000 */ nop +/* D7A360 80240970 08090282 */ j .L80240A08 +/* D7A364 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D7A368 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D7A36C 8024097C 3C014334 */ lui $at, 0x4334 +/* D7A370 80240980 44812000 */ mtc1 $at, $f4 +/* D7A374 80240984 00000000 */ nop +/* D7A378 80240988 4600203C */ c.lt.s $f4, $f0 +/* D7A37C 8024098C 00000000 */ nop +/* D7A380 80240990 4500000C */ bc1f .L802409C4 +/* D7A384 80240994 00000000 */ nop +/* D7A388 80240998 3C014387 */ lui $at, 0x4387 +/* D7A38C 8024099C 44812000 */ mtc1 $at, $f4 +/* D7A390 802409A0 00000000 */ nop +/* D7A394 802409A4 4604003E */ c.le.s $f0, $f4 +/* D7A398 802409A8 00000000 */ nop +/* D7A39C 802409AC 45000008 */ bc1f .L802409D0 +/* D7A3A0 802409B0 00000000 */ nop +/* D7A3A4 802409B4 3C014334 */ lui $at, 0x4334 +/* D7A3A8 802409B8 44812000 */ mtc1 $at, $f4 +/* D7A3AC 802409BC 08090282 */ j .L80240A08 +/* D7A3B0 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D7A3B4 802409C4 3C014387 */ lui $at, 0x4387 +/* D7A3B8 802409C8 44812000 */ mtc1 $at, $f4 +/* D7A3BC 802409CC 00000000 */ nop +.L802409D0: +/* D7A3C0 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D7A3C4 802409D4 00000000 */ nop +/* D7A3C8 802409D8 4500000A */ bc1f .L80240A04 +/* D7A3CC 802409DC 00000000 */ nop +/* D7A3D0 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D7A3D4 802409E4 44811000 */ mtc1 $at, $f2 +/* D7A3D8 802409E8 00000000 */ nop +/* D7A3DC 802409EC 4602003E */ c.le.s $f0, $f2 +/* D7A3E0 802409F0 00000000 */ nop +/* D7A3E4 802409F4 45000003 */ bc1f .L80240A04 +/* D7A3E8 802409F8 00000000 */ nop +/* D7A3EC 802409FC 08090282 */ j .L80240A08 +/* D7A3F0 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D7A3F4 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D7A3F8 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D7A3FC 80240A0C 44810000 */ mtc1 $at, $f0 +/* D7A400 80240A10 00000000 */ nop +/* D7A404 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D7A408 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D7A40C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D7A410 80240A20 00000000 */ nop +/* D7A414 80240A24 00071100 */ sll $v0, $a3, 4 +/* D7A418 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D7A41C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D7A420 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D7A424 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D7A428 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D7A42C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D7A430 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D7A434 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D7A438 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D7A43C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D7A440 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D7A444 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D7A448 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D7A44C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D7A450 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D7A454 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D7A458 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D7A45C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D7A460 80240A70 0C019EC8 */ jal guRotateF +/* D7A464 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A468 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7A46C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D7A470 80240A80 00000000 */ nop +/* D7A474 80240A84 44050000 */ mfc1 $a1, $f0 +/* D7A478 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D7A47C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D7A480 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D7A484 80240A94 44812000 */ mtc1 $at, $f4 +/* D7A488 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A48C 80240A9C 0C019EC8 */ jal guRotateF +/* D7A490 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D7A494 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D7A498 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D7A49C 80240AAC 0C019D80 */ jal guMtxCatF +/* D7A4A0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D7A4A4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7A4A8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7A4AC 80240ABC 080902E2 */ j .L80240B88 +/* D7A4B0 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D7A4B4 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D7A4B8 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D7A4BC 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D7A4C0 80240AD0 0C03964E */ jal func_800E5938 +/* D7A4C4 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D7A4C8 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D7A4CC 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D7A4D0 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D7A4D4 80240AE4 46000606 */ mov.s $f24, $f0 +/* D7A4D8 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7A4DC 80240AEC 080902C1 */ j .L80240B04 +/* D7A4E0 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D7A4E4 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D7A4E8 80240AF8 00000000 */ nop +/* D7A4EC 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D7A4F0 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D7A4F4 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D7A4F8 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D7A4FC 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D7A500 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7A504 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D7A508 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D7A50C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D7A510 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D7A514 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D7A518 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D7A51C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D7A520 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D7A524 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D7A528 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D7A52C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A530 80240B40 0C019EC8 */ jal guRotateF +/* D7A534 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A538 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D7A53C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D7A540 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D7A544 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D7A548 80240B58 0C019EC8 */ jal guRotateF +/* D7A54C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A550 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D7A554 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D7A558 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D7A55C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A560 80240B70 0C019EC8 */ jal guRotateF +/* D7A564 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A568 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D7A56C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D7A570 80240B80 0C019D80 */ jal guMtxCatF +/* D7A574 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D7A578 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D7A57C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D7A580 80240B90 44812000 */ mtc1 $at, $f4 +/* D7A584 80240B94 00021023 */ negu $v0, $v0 +/* D7A588 80240B98 44820000 */ mtc1 $v0, $f0 +/* D7A58C 80240B9C 00000000 */ nop +/* D7A590 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D7A594 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D7A598 80240BA8 00000000 */ nop +/* D7A59C 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D7A5A0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D7A5A4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D7A5A8 80240BB8 0C019E40 */ jal guTranslateF +/* D7A5AC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D7A5B0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D7A5B4 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D7A5B8 80240BC8 0C019D80 */ jal guMtxCatF +/* D7A5BC 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D7A5C0 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D7A5C4 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D7A5C8 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D7A5CC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D7A5D0 80240BE0 0C019EC8 */ jal guRotateF +/* D7A5D4 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A5D8 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A5DC 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D7A5E0 80240BF0 0C019D80 */ jal guMtxCatF +/* D7A5E4 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D7A5E8 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7A5EC 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7A5F0 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D7A5F4 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D7A5F8 80240C08 0C019EC8 */ jal guRotateF +/* D7A5FC 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D7A600 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A604 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D7A608 80240C18 0C019D80 */ jal guMtxCatF +/* D7A60C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D7A610 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D7A614 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D7A618 80240C28 44812000 */ mtc1 $at, $f4 +/* D7A61C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D7A620 80240C30 00000000 */ nop +/* D7A624 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D7A628 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D7A62C 80240C3C 00000000 */ nop +/* D7A630 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D7A634 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D7A638 80240C48 44062000 */ mfc1 $a2, $f4 +/* D7A63C 80240C4C 0C019E40 */ jal guTranslateF +/* D7A640 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D7A644 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A648 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D7A64C 80240C5C 0C019D80 */ jal guMtxCatF +/* D7A650 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D7A654 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D7A658 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D7A65C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D7A660 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D7A664 80240C74 44050000 */ mfc1 $a1, $f0 +/* D7A668 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D7A66C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7A670 80240C80 0C019DF0 */ jal guScaleF +/* D7A674 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D7A678 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A67C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D7A680 80240C90 0C019D80 */ jal guMtxCatF +/* D7A684 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D7A688 80240C98 4600D687 */ neg.s $f26, $f26 +/* D7A68C 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D7A690 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D7A694 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D7A698 80240CA8 0C019E40 */ jal guTranslateF +/* D7A69C 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D7A6A0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D7A6A4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D7A6A8 80240CB8 0C019D80 */ jal guMtxCatF +/* D7A6AC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D7A6B0 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7A6B4 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D7A6B8 80240CC8 44810000 */ mtc1 $at, $f0 +/* D7A6BC 80240CCC 00000000 */ nop +/* D7A6C0 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D7A6C4 80240CD4 00000000 */ nop +/* D7A6C8 80240CD8 4500000A */ bc1f .L80240D04 +/* D7A6CC 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D7A6D0 80240CE0 3C014387 */ lui $at, 0x4387 +/* D7A6D4 80240CE4 44812000 */ mtc1 $at, $f4 +/* D7A6D8 80240CE8 00000000 */ nop +/* D7A6DC 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D7A6E0 80240CF0 00000000 */ nop +/* D7A6E4 80240CF4 45000004 */ bc1f .L80240D08 +/* D7A6E8 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D7A6EC 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D7A6F0 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D7A6F4 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D7A6F8 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D7A6FC 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D7A700 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D7A704 80240D14 0C0B7710 */ jal render_sprite +/* D7A708 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D7A70C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D7A710 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D7A714 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D7A718 80240D28 00000000 */ nop +/* D7A71C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D7A720 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D7A724 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D7A728 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D7A72C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D7A730 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D7A734 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D7A738 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D7A73C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D7A740 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D7A744 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D7A748 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D7A74C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D7A750 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D7A754 80240D64 03E00008 */ jr $ra +/* D7A758 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240D6C_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240D6C_D799F0.s new file mode 100644 index 0000000000..743cbefcb2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240D6C_D799F0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D7A75C +/* D7A75C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7A760 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D7A764 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D7A768 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D7A76C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D7A770 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D7A774 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D7A778 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D7A77C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D7A780 80240D90 00000000 */ nop +/* D7A784 80240D94 28620002 */ slti $v0, $v1, 2 +/* D7A788 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D7A78C 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D7A790 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D7A794 80240DA4 00000000 */ nop +/* D7A798 80240DA8 08090384 */ j .L80240E10 +/* D7A79C 80240DAC 00000000 */ nop +.L80240DB0: +/* D7A7A0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D7A7A4 80240DB4 00000000 */ nop +/* D7A7A8 80240DB8 08090384 */ j .L80240E10 +/* D7A7AC 80240DBC 00000000 */ nop +.L80240DC0: +/* D7A7B0 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D7A7B4 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D7A7B8 80240DC8 08090380 */ j .L80240E00 +/* D7A7BC 80240DCC 00000000 */ nop +.L80240DD0: +/* D7A7C0 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D7A7C4 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D7A7C8 80240DD8 08090380 */ j .L80240E00 +/* D7A7CC 80240DDC 00000000 */ nop +.L80240DE0: +/* D7A7D0 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D7A7D4 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D7A7D8 80240DE8 00000000 */ nop +/* D7A7DC 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D7A7E0 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D7A7E4 80240DF4 00000000 */ nop +.L80240DF8: +/* D7A7E8 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D7A7EC 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D7A7F0 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D7A7F4 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D7A7F8 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D7A7FC 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D7A800 80240E10 0C00EAD2 */ jal get_npc_safe +/* D7A804 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D7A808 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D7A80C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D7A810 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D7A814 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D7A818 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D7A81C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D7A820 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D7A824 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D7A828 80240E38 28820002 */ slti $v0, $a0, 2 +/* D7A82C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D7A830 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D7A834 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D7A838 80240E48 00000000 */ nop +/* D7A83C 80240E4C 080903A9 */ j .L80240EA4 +/* D7A840 80240E50 00000000 */ nop +.L80240E54: +/* D7A844 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D7A848 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D7A84C 80240E5C 080903A9 */ j .L80240EA4 +/* D7A850 80240E60 00000000 */ nop +.L80240E64: +/* D7A854 80240E64 8CA20000 */ lw $v0, ($a1) +/* D7A858 80240E68 080903A6 */ j .L80240E98 +/* D7A85C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D7A860 80240E70 8CA20000 */ lw $v0, ($a1) +/* D7A864 80240E74 080903A6 */ j .L80240E98 +/* D7A868 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D7A86C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D7A870 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D7A874 80240E84 28420002 */ slti $v0, $v0, 2 +/* D7A878 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D7A87C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D7A880 80240E90 8CA20000 */ lw $v0, ($a1) +/* D7A884 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D7A888 80240E98 00431025 */ or $v0, $v0, $v1 +/* D7A88C 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D7A890 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D7A894 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D7A898 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D7A89C 80240EAC 03E00008 */ jr $ra +/* D7A8A0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240EB4_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240EB4_D799F0.s new file mode 100644 index 0000000000..e01e22ac08 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240EB4_D799F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D7A8A4 +/* D7A8A4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7A8A8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D7A8AC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D7A8B0 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D7A8B4 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D7A8B8 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D7A8BC 80240ECC 3C03000A */ lui $v1, 0xa +/* D7A8C0 80240ED0 8C820000 */ lw $v0, ($a0) +/* D7A8C4 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D7A8C8 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D7A8CC 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D7A8D0 80240EE0 03E00008 */ jr $ra +/* D7A8D4 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240EE8_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240EE8_D799F0.s new file mode 100644 index 0000000000..002b084bc4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240EE8_D799F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D7A8D8 +/* D7A8D8 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7A8DC 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D7A8E0 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D7A8E4 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D7A8E8 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D7A8EC 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D7A8F0 80240F00 3C030008 */ lui $v1, 8 +/* D7A8F4 80240F04 8C820000 */ lw $v0, ($a0) +/* D7A8F8 80240F08 00431025 */ or $v0, $v0, $v1 +/* D7A8FC 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D7A900 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D7A904 80240F14 03E00008 */ jr $ra +/* D7A908 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240F1C_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240F1C_D799F0.s new file mode 100644 index 0000000000..4775e3e0fb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240F1C_D799F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D7A90C +/* D7A90C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7A910 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D7A914 80240F24 0C00EAD2 */ jal get_npc_safe +/* D7A918 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D7A91C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D7A920 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D7A924 80240F34 3C030002 */ lui $v1, 2 +/* D7A928 80240F38 8C820000 */ lw $v0, ($a0) +/* D7A92C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D7A930 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D7A934 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D7A938 80240F48 03E00008 */ jr $ra +/* D7A93C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80240F50_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80240F50_D799F0.s new file mode 100644 index 0000000000..6ce9b84c36 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80240F50_D799F0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D7A940 +/* D7A940 80240F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7A944 80240F54 AFB00010 */ sw $s0, 0x10($sp) +/* D7A948 80240F58 3C108024 */ lui $s0, 0x8024 +/* D7A94C 80240F5C 26101690 */ addiu $s0, $s0, 0x1690 +/* D7A950 80240F60 AFBF0018 */ sw $ra, 0x18($sp) +/* D7A954 80240F64 AFB10014 */ sw $s1, 0x14($sp) +/* D7A958 80240F68 8E020000 */ lw $v0, ($s0) +/* D7A95C 80240F6C 14400010 */ bnez $v0, .L80240FB0 +/* D7A960 80240F70 0080882D */ daddu $s1, $a0, $zero +/* D7A964 80240F74 0C00AB39 */ jal heap_malloc +/* D7A968 80240F78 24040040 */ addiu $a0, $zero, 0x40 +/* D7A96C 80240F7C AE020000 */ sw $v0, ($s0) +/* D7A970 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D7A974 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D7A978 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D7A97C 80240F8C 8C820084 */ lw $v0, 0x84($a0) +/* D7A980 80240F90 24840004 */ addiu $a0, $a0, 4 +/* D7A984 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D7A988 80240F98 ACA20000 */ sw $v0, ($a1) +/* D7A98C 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D7A990 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D7A994 80240FA4 24A50004 */ addiu $a1, $a1, 4 +/* D7A998 80240FA8 080903FB */ j .L80240FEC +/* D7A99C 80240FAC 00000000 */ nop +.L80240FB0: +/* D7A9A0 80240FB0 0000182D */ daddu $v1, $zero, $zero +/* D7A9A4 80240FB4 0040282D */ daddu $a1, $v0, $zero +/* D7A9A8 80240FB8 0220202D */ daddu $a0, $s1, $zero +.L80240FBC: +/* D7A9AC 80240FBC 8CA20000 */ lw $v0, ($a1) +/* D7A9B0 80240FC0 24A50004 */ addiu $a1, $a1, 4 +/* D7A9B4 80240FC4 24630001 */ addiu $v1, $v1, 1 +/* D7A9B8 80240FC8 AC820084 */ sw $v0, 0x84($a0) +/* D7A9BC 80240FCC 28620010 */ slti $v0, $v1, 0x10 +/* D7A9C0 80240FD0 1440FFFA */ bnez $v0, .L80240FBC +/* D7A9C4 80240FD4 24840004 */ addiu $a0, $a0, 4 +/* D7A9C8 80240FD8 3C108024 */ lui $s0, 0x8024 +/* D7A9CC 80240FDC 26101690 */ addiu $s0, $s0, 0x1690 +/* D7A9D0 80240FE0 0C00AB4B */ jal heap_free +/* D7A9D4 80240FE4 8E040000 */ lw $a0, ($s0) +/* D7A9D8 80240FE8 AE000000 */ sw $zero, ($s0) +.L80240FEC: +/* D7A9DC 80240FEC 8FBF0018 */ lw $ra, 0x18($sp) +/* D7A9E0 80240FF0 8FB10014 */ lw $s1, 0x14($sp) +/* D7A9E4 80240FF4 8FB00010 */ lw $s0, 0x10($sp) +/* D7A9E8 80240FF8 24020002 */ addiu $v0, $zero, 2 +/* D7A9EC 80240FFC 03E00008 */ jr $ra +/* D7A9F0 80241000 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80241004_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80241004_D799F0.s new file mode 100644 index 0000000000..97021b7723 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80241004_D799F0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241004_D7A9F4 +/* D7A9F4 80241004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7A9F8 80241008 AFB00010 */ sw $s0, 0x10($sp) +/* D7A9FC 8024100C 0080802D */ daddu $s0, $a0, $zero +/* D7AA00 80241010 AFBF0018 */ sw $ra, 0x18($sp) +/* D7AA04 80241014 AFB10014 */ sw $s1, 0x14($sp) +/* D7AA08 80241018 8E02000C */ lw $v0, 0xc($s0) +/* D7AA0C 8024101C 8C510000 */ lw $s1, ($v0) +/* D7AA10 80241020 0C0B1EAF */ jal get_variable +/* D7AA14 80241024 0220282D */ daddu $a1, $s1, $zero +/* D7AA18 80241028 3C03FFF0 */ lui $v1, 0xfff0 +/* D7AA1C 8024102C 3463FFFF */ ori $v1, $v1, 0xffff +/* D7AA20 80241030 0200202D */ daddu $a0, $s0, $zero +/* D7AA24 80241034 00431024 */ and $v0, $v0, $v1 +/* D7AA28 80241038 00021140 */ sll $v0, $v0, 5 +/* D7AA2C 8024103C 3C068008 */ lui $a2, %hi(gItemTable) +/* D7AA30 80241040 00C23021 */ addu $a2, $a2, $v0 +/* D7AA34 80241044 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D7AA38 80241048 0C0B2026 */ jal set_variable +/* D7AA3C 8024104C 0220282D */ daddu $a1, $s1, $zero +/* D7AA40 80241050 8FBF0018 */ lw $ra, 0x18($sp) +/* D7AA44 80241054 8FB10014 */ lw $s1, 0x14($sp) +/* D7AA48 80241058 8FB00010 */ lw $s0, 0x10($sp) +/* D7AA4C 8024105C 24020002 */ addiu $v0, $zero, 2 +/* D7AA50 80241060 03E00008 */ jr $ra +/* D7AA54 80241064 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_80241068_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_80241068_D799F0.s new file mode 100644 index 0000000000..c783874814 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_80241068_D799F0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241068_D7AA58 +/* D7AA58 80241068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7AA5C 8024106C AFB10014 */ sw $s1, 0x14($sp) +/* D7AA60 80241070 0080882D */ daddu $s1, $a0, $zero +/* D7AA64 80241074 AFBF001C */ sw $ra, 0x1c($sp) +/* D7AA68 80241078 AFB20018 */ sw $s2, 0x18($sp) +/* D7AA6C 8024107C AFB00010 */ sw $s0, 0x10($sp) +/* D7AA70 80241080 8E240084 */ lw $a0, 0x84($s1) +/* D7AA74 80241084 0C04C3D6 */ jal get_item_entity +/* D7AA78 80241088 00A0802D */ daddu $s0, $a1, $zero +/* D7AA7C 8024108C 12000005 */ beqz $s0, .L802410A4 +/* D7AA80 80241090 0040902D */ daddu $s2, $v0, $zero +/* D7AA84 80241094 C640000C */ lwc1 $f0, 0xc($s2) +/* D7AA88 80241098 AE200074 */ sw $zero, 0x74($s1) +/* D7AA8C 8024109C AE20007C */ sw $zero, 0x7c($s1) +/* D7AA90 802410A0 E6200078 */ swc1 $f0, 0x78($s1) +.L802410A4: +/* D7AA94 802410A4 8E230074 */ lw $v1, 0x74($s1) +/* D7AA98 802410A8 10600005 */ beqz $v1, .L802410C0 +/* D7AA9C 802410AC 24020001 */ addiu $v0, $zero, 1 +/* D7AAA0 802410B0 10620024 */ beq $v1, $v0, .L80241144 +/* D7AAA4 802410B4 00000000 */ nop +/* D7AAA8 802410B8 08090467 */ j .L8024119C +/* D7AAAC 802410BC 00000000 */ nop +.L802410C0: +/* D7AAB0 802410C0 3C013FC9 */ lui $at, 0x3fc9 +/* D7AAB4 802410C4 34210FD8 */ ori $at, $at, 0xfd8 +/* D7AAB8 802410C8 44810000 */ mtc1 $at, $f0 +/* D7AABC 802410CC C62C007C */ lwc1 $f12, 0x7c($s1) +/* D7AAC0 802410D0 46806320 */ cvt.s.w $f12, $f12 +/* D7AAC4 802410D4 46006302 */ mul.s $f12, $f12, $f0 +/* D7AAC8 802410D8 00000000 */ nop +/* D7AACC 802410DC 3C0141F0 */ lui $at, 0x41f0 +/* D7AAD0 802410E0 44810000 */ mtc1 $at, $f0 +/* D7AAD4 802410E4 0C00A874 */ jal cos_rad +/* D7AAD8 802410E8 46006303 */ div.s $f12, $f12, $f0 +/* D7AADC 802410EC 3C013F80 */ lui $at, 0x3f80 +/* D7AAE0 802410F0 44811000 */ mtc1 $at, $f2 +/* D7AAE4 802410F4 00000000 */ nop +/* D7AAE8 802410F8 46001081 */ sub.s $f2, $f2, $f0 +/* D7AAEC 802410FC 3C0141A0 */ lui $at, 0x41a0 +/* D7AAF0 80241100 44810000 */ mtc1 $at, $f0 +/* D7AAF4 80241104 00000000 */ nop +/* D7AAF8 80241108 46001082 */ mul.s $f2, $f2, $f0 +/* D7AAFC 8024110C 00000000 */ nop +/* D7AB00 80241110 C6200078 */ lwc1 $f0, 0x78($s1) +/* D7AB04 80241114 46020000 */ add.s $f0, $f0, $f2 +/* D7AB08 80241118 E640000C */ swc1 $f0, 0xc($s2) +/* D7AB0C 8024111C 8E23007C */ lw $v1, 0x7c($s1) +/* D7AB10 80241120 2402001E */ addiu $v0, $zero, 0x1e +/* D7AB14 80241124 14620005 */ bne $v1, $v0, .L8024113C +/* D7AB18 80241128 24620001 */ addiu $v0, $v1, 1 +/* D7AB1C 8024112C 24020001 */ addiu $v0, $zero, 1 +/* D7AB20 80241130 AE220074 */ sw $v0, 0x74($s1) +/* D7AB24 80241134 08090467 */ j .L8024119C +/* D7AB28 80241138 AE20007C */ sw $zero, 0x7c($s1) +.L8024113C: +/* D7AB2C 8024113C 08090467 */ j .L8024119C +/* D7AB30 80241140 AE22007C */ sw $v0, 0x7c($s1) +.L80241144: +/* D7AB34 80241144 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D7AB38 80241148 0C00A8D4 */ jal cos_deg +/* D7AB3C 8024114C 46806320 */ cvt.s.w $f12, $f12 +/* D7AB40 80241150 3C014040 */ lui $at, 0x4040 +/* D7AB44 80241154 44811000 */ mtc1 $at, $f2 +/* D7AB48 80241158 00000000 */ nop +/* D7AB4C 8024115C 46020002 */ mul.s $f0, $f0, $f2 +/* D7AB50 80241160 00000000 */ nop +/* D7AB54 80241164 3C014188 */ lui $at, 0x4188 +/* D7AB58 80241168 44812000 */ mtc1 $at, $f4 +/* D7AB5C 8024116C C6220078 */ lwc1 $f2, 0x78($s1) +/* D7AB60 80241170 46041080 */ add.s $f2, $f2, $f4 +/* D7AB64 80241174 46001080 */ add.s $f2, $f2, $f0 +/* D7AB68 80241178 E642000C */ swc1 $f2, 0xc($s2) +/* D7AB6C 8024117C 8E22007C */ lw $v0, 0x7c($s1) +/* D7AB70 80241180 24420009 */ addiu $v0, $v0, 9 +/* D7AB74 80241184 44826000 */ mtc1 $v0, $f12 +/* D7AB78 80241188 00000000 */ nop +/* D7AB7C 8024118C 0C00A6C9 */ jal clamp_angle +/* D7AB80 80241190 46806320 */ cvt.s.w $f12, $f12 +/* D7AB84 80241194 4600018D */ trunc.w.s $f6, $f0 +/* D7AB88 80241198 E626007C */ swc1 $f6, 0x7c($s1) +.L8024119C: +/* D7AB8C 8024119C 8FBF001C */ lw $ra, 0x1c($sp) +/* D7AB90 802411A0 8FB20018 */ lw $s2, 0x18($sp) +/* D7AB94 802411A4 8FB10014 */ lw $s1, 0x14($sp) +/* D7AB98 802411A8 8FB00010 */ lw $s0, 0x10($sp) +/* D7AB9C 802411AC 0000102D */ daddu $v0, $zero, $zero +/* D7ABA0 802411B0 03E00008 */ jr $ra +/* D7ABA4 802411B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_27/func_802411B8_D799F0.s b/asm/nonmatchings/world/area_pra/pra_27/func_802411B8_D799F0.s new file mode 100644 index 0000000000..451146e8f9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_27/func_802411B8_D799F0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B8_D7ABA8 +/* D7ABA8 802411B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7ABAC 802411BC AFB00010 */ sw $s0, 0x10($sp) +/* D7ABB0 802411C0 0080802D */ daddu $s0, $a0, $zero +/* D7ABB4 802411C4 AFBF0014 */ sw $ra, 0x14($sp) +/* D7ABB8 802411C8 8E02000C */ lw $v0, 0xc($s0) +/* D7ABBC 802411CC 0C0B1EAF */ jal get_variable +/* D7ABC0 802411D0 8C450000 */ lw $a1, ($v0) +/* D7ABC4 802411D4 00021140 */ sll $v0, $v0, 5 +/* D7ABC8 802411D8 AE000084 */ sw $zero, 0x84($s0) +/* D7ABCC 802411DC 3C018008 */ lui $at, 0x8008 +/* D7ABD0 802411E0 00220821 */ addu $at, $at, $v0 +/* D7ABD4 802411E4 942278F8 */ lhu $v0, 0x78f8($at) +/* D7ABD8 802411E8 30420040 */ andi $v0, $v0, 0x40 +/* D7ABDC 802411EC 10400002 */ beqz $v0, .L802411F8 +/* D7ABE0 802411F0 24020001 */ addiu $v0, $zero, 1 +/* D7ABE4 802411F4 AE020084 */ sw $v0, 0x84($s0) +.L802411F8: +/* D7ABE8 802411F8 8FBF0014 */ lw $ra, 0x14($sp) +/* D7ABEC 802411FC 8FB00010 */ lw $s0, 0x10($sp) +/* D7ABF0 80241200 24020002 */ addiu $v0, $zero, 2 +/* D7ABF4 80241204 03E00008 */ jr $ra +/* D7ABF8 80241208 27BD0018 */ addiu $sp, $sp, 0x18 +/* D7ABFC 8024120C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240000_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240000_D7B2A0.s new file mode 100644 index 0000000000..f80fb120a4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240000_D7B2A0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D7B2A0 +/* D7B2A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7B2A4 80240004 3C04800E */ lui $a0, 0x800e +/* D7B2A8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D7B2AC 8024000C 3C058024 */ lui $a1, 0x8024 +/* D7B2B0 80240010 24A51880 */ addiu $a1, $a1, 0x1880 +/* D7B2B4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D7B2B8 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D7B2BC 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D7B2C0 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D7B2C4 80240024 0C01953C */ jal sprintf +/* D7B2C8 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D7B2CC 8024002C 3C04800E */ lui $a0, 0x800e +/* D7B2D0 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D7B2D4 80240034 3C058024 */ lui $a1, 0x8024 +/* D7B2D8 80240038 0C01953C */ jal sprintf +/* D7B2DC 8024003C 24A51890 */ addiu $a1, $a1, 0x1890 +/* D7B2E0 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D7B2E4 80240044 0000102D */ daddu $v0, $zero, $zero +/* D7B2E8 80240048 03E00008 */ jr $ra +/* D7B2EC 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240050_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240050_D7B2A0.s new file mode 100644 index 0000000000..433e2e7e9b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240050_D7B2A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D7B2F0 +/* D7B2F0 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D7B2F4 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D7B2F8 80240058 00822024 */ and $a0, $a0, $v0 +/* D7B2FC 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D7B300 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D7B304 80240064 00821821 */ addu $v1, $a0, $v0 +/* D7B308 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D7B30C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D7B310 80240070 30620001 */ andi $v0, $v1, 1 +/* D7B314 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D7B318 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D7B31C 8024007C 03E00008 */ jr $ra +/* D7B320 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240084_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240084_D7B2A0.s new file mode 100644 index 0000000000..7c47deeb40 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240084_D7B2A0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D7B324 +/* D7B324 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D7B328 80240088 304300FF */ andi $v1, $v0, 0xff +/* D7B32C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D7B330 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D7B334 80240094 28620007 */ slti $v0, $v1, 7 +/* D7B338 80240098 10400005 */ beqz $v0, .L802400B0 +/* D7B33C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D7B340 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D7B344 802400A4 3C020100 */ lui $v0, 0x100 +/* D7B348 802400A8 03E00008 */ jr $ra +/* D7B34C 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D7B350 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D7B354 802400B4 10400016 */ beqz $v0, .L80240110 +/* D7B358 802400B8 28620008 */ slti $v0, $v1, 8 +/* D7B35C 802400BC 14400015 */ bnez $v0, .L80240114 +/* D7B360 802400C0 3C020100 */ lui $v0, 0x100 +/* D7B364 802400C4 03E00008 */ jr $ra +/* D7B368 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D7B36C 802400CC 3C020001 */ lui $v0, 1 +/* D7B370 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D7B374 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D7B378 802400D8 1040000E */ beqz $v0, .L80240114 +/* D7B37C 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D7B380 802400E0 03E00008 */ jr $ra +/* D7B384 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D7B388 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D7B38C 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D7B390 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D7B394 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D7B398 802400F8 10400005 */ beqz $v0, .L80240110 +/* D7B39C 802400FC 30620001 */ andi $v0, $v1, 1 +/* D7B3A0 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D7B3A4 80240104 24820001 */ addiu $v0, $a0, 1 +/* D7B3A8 80240108 03E00008 */ jr $ra +/* D7B3AC 8024010C 00000000 */ nop +.L80240110: +/* D7B3B0 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D7B3B4 80240114 03E00008 */ jr $ra +/* D7B3B8 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_8024011C_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_8024011C_D7B2A0.s new file mode 100644 index 0000000000..2783a0532e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_8024011C_D7B2A0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D7B3BC +/* D7B3BC 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7B3C0 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D7B3C4 80240124 0080802D */ daddu $s0, $a0, $zero +/* D7B3C8 80240128 3C058024 */ lui $a1, 0x8024 +/* D7B3CC 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D7B3D0 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D7B3D4 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D7B3D8 80240138 0000202D */ daddu $a0, $zero, $zero +/* D7B3DC 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D7B3E0 80240140 AC620000 */ sw $v0, ($v1) +/* D7B3E4 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D7B3E8 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D7B3EC 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D7B3F0 80240150 03E00008 */ jr $ra +/* D7B3F4 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240158_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240158_D7B2A0.s new file mode 100644 index 0000000000..35a373a686 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240158_D7B2A0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D7B3F8 +/* D7B3F8 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D7B3FC 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D7B400 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7B404 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7B408 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D7B40C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D7B410 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D7B414 80240174 8E020000 */ lw $v0, ($s0) +/* D7B418 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D7B41C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D7B420 80240180 10400061 */ beqz $v0, .L80240308 +/* D7B424 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D7B428 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D7B42C 8024018C 0C044181 */ jal get_shadow_by_index +/* D7B430 80240190 00000000 */ nop +/* D7B434 80240194 0C048B77 */ jal func_80122DDC +/* D7B438 80240198 84440008 */ lh $a0, 8($v0) +/* D7B43C 8024019C 8C430000 */ lw $v1, ($v0) +/* D7B440 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D7B444 802401A4 AC430000 */ sw $v1, ($v0) +/* D7B448 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D7B44C 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D7B450 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D7B454 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D7B458 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D7B45C 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D7B460 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D7B464 802401C4 3C04800A */ lui $a0, 0x800a +/* D7B468 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D7B46C 802401CC 46000007 */ neg.s $f0, $f0 +/* D7B470 802401D0 44070000 */ mfc1 $a3, $f0 +/* D7B474 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D7B478 802401D8 0C00B94E */ jal get_screen_coords +/* D7B47C 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D7B480 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D7B484 802401E4 0C090014 */ jal func_80240050 +/* D7B488 802401E8 00000000 */ nop +/* D7B48C 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D7B490 802401F0 3C014307 */ lui $at, 0x4307 +/* D7B494 802401F4 44810000 */ mtc1 $at, $f0 +/* D7B498 802401F8 00000000 */ nop +/* D7B49C 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D7B4A0 80240200 00000000 */ nop +/* D7B4A4 80240204 4500000B */ bc1f .L80240234 +/* D7B4A8 80240208 24040002 */ addiu $a0, $zero, 2 +/* D7B4AC 8024020C 3C014361 */ lui $at, 0x4361 +/* D7B4B0 80240210 44810000 */ mtc1 $at, $f0 +/* D7B4B4 80240214 00000000 */ nop +/* D7B4B8 80240218 4600103C */ c.lt.s $f2, $f0 +/* D7B4BC 8024021C 00000000 */ nop +/* D7B4C0 80240220 45000004 */ bc1f .L80240234 +/* D7B4C4 80240224 00000000 */ nop +/* D7B4C8 80240228 0C090021 */ jal func_80240084 +/* D7B4CC 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D7B4D0 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D7B4D4 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D7B4D8 80240238 0C0B76A3 */ jal func_802DDA8C +/* D7B4DC 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D7B4E0 80240240 8E020000 */ lw $v0, ($s0) +/* D7B4E4 80240244 3C030002 */ lui $v1, 2 +/* D7B4E8 80240248 00431024 */ and $v0, $v0, $v1 +/* D7B4EC 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D7B4F0 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D7B4F4 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D7B4F8 80240258 3C02802E */ lui $v0, 0x802e +/* D7B4FC 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D7B500 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D7B504 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D7B508 80240268 1040000B */ beqz $v0, .L80240298 +/* D7B50C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D7B510 80240270 24040002 */ addiu $a0, $zero, 2 +/* D7B514 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D7B518 80240278 24060007 */ addiu $a2, $zero, 7 +/* D7B51C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D7B520 80240280 0000382D */ daddu $a3, $zero, $zero +/* D7B524 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D7B528 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D7B52C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D7B530 80240290 080900AF */ j .L802402BC +/* D7B534 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D7B538 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D7B53C 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D7B540 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D7B544 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D7B548 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D7B54C 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D7B550 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D7B554 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D7B558 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D7B55C 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D7B560 802402C0 00000000 */ nop +.L802402C4: +/* D7B564 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D7B568 802402C8 3C01802E */ lui $at, 0x802e +/* D7B56C 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D7B570 802402D0 080900B9 */ j .L802402E4 +/* D7B574 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D7B578 802402D8 3C01802E */ lui $at, 0x802e +/* D7B57C 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D7B580 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D7B584 802402E4 AC910000 */ sw $s1, ($a0) +/* D7B588 802402E8 AC900008 */ sw $s0, 8($a0) +/* D7B58C 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D7B590 802402F0 3C038024 */ lui $v1, 0x8024 +/* D7B594 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D7B598 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D7B59C 802402FC 00021023 */ negu $v0, $v0 +/* D7B5A0 80240300 0C047644 */ jal queue_render_task +/* D7B5A4 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D7B5A8 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D7B5AC 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D7B5B0 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D7B5B4 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D7B5B8 80240318 03E00008 */ jr $ra +/* D7B5BC 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240320_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240320_D7B2A0.s new file mode 100644 index 0000000000..d557abe367 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240320_D7B2A0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D7B5C0 +/* D7B5C0 80240320 3C03800A */ lui $v1, 0x800a +/* D7B5C4 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D7B5C8 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D7B5CC 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D7B5D0 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D7B5D4 80240334 4480A000 */ mtc1 $zero, $f20 +/* D7B5D8 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D7B5DC 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D7B5E0 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D7B5E4 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D7B5E8 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D7B5EC 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D7B5F0 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D7B5F4 80240354 00031080 */ sll $v0, $v1, 2 +/* D7B5F8 80240358 00431021 */ addu $v0, $v0, $v1 +/* D7B5FC 8024035C 00021080 */ sll $v0, $v0, 2 +/* D7B600 80240360 00431023 */ subu $v0, $v0, $v1 +/* D7B604 80240364 000218C0 */ sll $v1, $v0, 3 +/* D7B608 80240368 00431021 */ addu $v0, $v0, $v1 +/* D7B60C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D7B610 80240370 3C01800B */ lui $at, 0x800b +/* D7B614 80240374 00220821 */ addu $at, $at, $v0 +/* D7B618 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7B61C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D7B620 80240380 4600B587 */ neg.s $f22, $f22 +/* D7B624 80240384 4405B000 */ mfc1 $a1, $f22 +/* D7B628 80240388 0200202D */ daddu $a0, $s0, $zero +/* D7B62C 8024038C 0C019EC8 */ jal guRotateF +/* D7B630 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7B634 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7B638 80240398 0C00A6C9 */ jal clamp_angle +/* D7B63C 8024039C 00000000 */ nop +/* D7B640 802403A0 44050000 */ mfc1 $a1, $f0 +/* D7B644 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D7B648 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D7B64C 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D7B650 802403B0 4481C000 */ mtc1 $at, $f24 +/* D7B654 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B658 802403B8 0C019EC8 */ jal guRotateF +/* D7B65C 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D7B660 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D7B664 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D7B668 802403C8 0C019D80 */ jal guMtxCatF +/* D7B66C 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D7B670 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D7B674 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D7B678 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D7B67C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D7B680 802403E0 0C019EC8 */ jal guRotateF +/* D7B684 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7B688 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B68C 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D7B690 802403F0 0C019D80 */ jal guMtxCatF +/* D7B694 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D7B698 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7B69C 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7B6A0 80240400 4406A000 */ mfc1 $a2, $f20 +/* D7B6A4 80240404 4407C000 */ mfc1 $a3, $f24 +/* D7B6A8 80240408 0C019EC8 */ jal guRotateF +/* D7B6AC 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D7B6B0 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B6B4 80240414 0200282D */ daddu $a1, $s0, $zero +/* D7B6B8 80240418 0C019D80 */ jal guMtxCatF +/* D7B6BC 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D7B6C0 80240420 3C013F36 */ lui $at, 0x3f36 +/* D7B6C4 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D7B6C8 80240428 44810000 */ mtc1 $at, $f0 +/* D7B6CC 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D7B6D0 80240430 44050000 */ mfc1 $a1, $f0 +/* D7B6D4 80240434 0200202D */ daddu $a0, $s0, $zero +/* D7B6D8 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D7B6DC 8024043C 0C019DF0 */ jal guScaleF +/* D7B6E0 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D7B6E4 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B6E8 80240448 0200282D */ daddu $a1, $s0, $zero +/* D7B6EC 8024044C 0C019D80 */ jal guMtxCatF +/* D7B6F0 80240450 0080302D */ daddu $a2, $a0, $zero +/* D7B6F4 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D7B6F8 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D7B6FC 8024045C 3C014040 */ lui $at, 0x4040 +/* D7B700 80240460 44811000 */ mtc1 $at, $f2 +/* D7B704 80240464 46000007 */ neg.s $f0, $f0 +/* D7B708 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D7B70C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D7B710 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D7B714 80240474 44070000 */ mfc1 $a3, $f0 +/* D7B718 80240478 0C019E40 */ jal guTranslateF +/* D7B71C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D7B720 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B724 80240484 0200282D */ daddu $a1, $s0, $zero +/* D7B728 80240488 0C019D80 */ jal guMtxCatF +/* D7B72C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D7B730 80240490 24040002 */ addiu $a0, $zero, 2 +/* D7B734 80240494 0000282D */ daddu $a1, $zero, $zero +/* D7B738 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D7B73C 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D7B740 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D7B744 802404A4 0C0B7710 */ jal render_sprite +/* D7B748 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D7B74C 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D7B750 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D7B754 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D7B758 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7B75C 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D7B760 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D7B764 802404C4 03E00008 */ jr $ra +/* D7B768 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_802404CC_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_802404CC_D7B2A0.s new file mode 100644 index 0000000000..586514feed --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_802404CC_D7B2A0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D7B76C +/* D7B76C 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7B770 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D7B774 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D7B778 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D7B77C 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D7B780 802404E0 0440000E */ bltz $v0, .L8024051C +/* D7B784 802404E4 28420002 */ slti $v0, $v0, 2 +/* D7B788 802404E8 1040000C */ beqz $v0, .L8024051C +/* D7B78C 802404EC 00000000 */ nop +/* D7B790 802404F0 3C058024 */ lui $a1, 0x8024 +/* D7B794 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D7B798 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D7B79C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D7B7A0 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D7B7A4 80240504 AC620000 */ sw $v0, ($v1) +/* D7B7A8 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D7B7AC 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D7B7B0 80240510 8C620000 */ lw $v0, ($v1) +/* D7B7B4 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D7B7B8 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D7B7BC 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D7B7C0 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D7B7C4 80240524 24020002 */ addiu $v0, $zero, 2 +/* D7B7C8 80240528 03E00008 */ jr $ra +/* D7B7CC 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240530_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240530_D7B2A0.s new file mode 100644 index 0000000000..49a6b1ce81 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240530_D7B2A0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D7B7D0 +/* D7B7D0 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D7B7D4 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D7B7D8 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7B7DC 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7B7E0 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D7B7E4 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D7B7E8 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D7B7EC 8024054C 8E020000 */ lw $v0, ($s0) +/* D7B7F0 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D7B7F4 80240554 30420001 */ andi $v0, $v0, 1 +/* D7B7F8 80240558 10400052 */ beqz $v0, .L802406A4 +/* D7B7FC 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D7B800 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D7B804 80240564 0C044181 */ jal get_shadow_by_index +/* D7B808 80240568 00000000 */ nop +/* D7B80C 8024056C 0C048B77 */ jal func_80122DDC +/* D7B810 80240570 84440008 */ lh $a0, 8($v0) +/* D7B814 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D7B818 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D7B81C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D7B820 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D7B824 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D7B828 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D7B82C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D7B830 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D7B834 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D7B838 80240598 3C04800A */ lui $a0, 0x800a +/* D7B83C 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D7B840 802405A0 46000007 */ neg.s $f0, $f0 +/* D7B844 802405A4 44060000 */ mfc1 $a2, $f0 +/* D7B848 802405A8 0C00B94E */ jal get_screen_coords +/* D7B84C 802405AC 00000000 */ nop +/* D7B850 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D7B854 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D7B858 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D7B85C 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D7B860 802405C0 8E020000 */ lw $v0, ($s0) +/* D7B864 802405C4 3C030002 */ lui $v1, 2 +/* D7B868 802405C8 00431024 */ and $v0, $v0, $v1 +/* D7B86C 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D7B870 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D7B874 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D7B878 802405D8 3C02802E */ lui $v0, 0x802e +/* D7B87C 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D7B880 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D7B884 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D7B888 802405E8 1040000B */ beqz $v0, .L80240618 +/* D7B88C 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D7B890 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D7B894 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D7B898 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D7B89C 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D7B8A0 80240600 0000382D */ daddu $a3, $zero, $zero +/* D7B8A4 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D7B8A8 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D7B8AC 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D7B8B0 80240610 0809018F */ j .L8024063C +/* D7B8B4 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D7B8B8 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D7B8BC 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D7B8C0 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D7B8C4 80240624 0000302D */ daddu $a2, $zero, $zero +/* D7B8C8 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D7B8CC 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D7B8D0 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D7B8D4 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D7B8D8 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D7B8DC 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D7B8E0 80240640 00000000 */ nop +.L80240644: +/* D7B8E4 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D7B8E8 80240648 3C01802E */ lui $at, 0x802e +/* D7B8EC 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D7B8F0 80240650 08090198 */ j .L80240660 +/* D7B8F4 80240654 00000000 */ nop +.L80240658: +/* D7B8F8 80240658 3C01802E */ lui $at, 0x802e +/* D7B8FC 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D7B900 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D7B904 80240664 3C048024 */ lui $a0, 0x8024 +/* D7B908 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D7B90C 8024066C AE320000 */ sw $s2, ($s1) +/* D7B910 80240670 AE300008 */ sw $s0, 8($s1) +/* D7B914 80240674 00021023 */ negu $v0, $v0 +/* D7B918 80240678 AE220004 */ sw $v0, 4($s1) +/* D7B91C 8024067C 8E020000 */ lw $v0, ($s0) +/* D7B920 80240680 3C030002 */ lui $v1, 2 +/* D7B924 80240684 00431024 */ and $v0, $v0, $v1 +/* D7B928 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D7B92C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D7B930 80240690 3C048024 */ lui $a0, 0x8024 +/* D7B934 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D7B938 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D7B93C 8024069C 0C047644 */ jal queue_render_task +/* D7B940 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D7B944 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D7B948 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D7B94C 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D7B950 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D7B954 802406B4 03E00008 */ jr $ra +/* D7B958 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_802406BC_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_802406BC_D7B2A0.s new file mode 100644 index 0000000000..f22564d240 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_802406BC_D7B2A0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D7B95C +/* D7B95C 802406BC 3C03800A */ lui $v1, 0x800a +/* D7B960 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D7B964 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D7B968 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D7B96C 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D7B970 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D7B974 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D7B978 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D7B97C 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D7B980 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D7B984 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D7B988 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D7B98C 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D7B990 802406F0 00031080 */ sll $v0, $v1, 2 +/* D7B994 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D7B998 802406F8 00021080 */ sll $v0, $v0, 2 +/* D7B99C 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D7B9A0 80240700 000218C0 */ sll $v1, $v0, 3 +/* D7B9A4 80240704 00431021 */ addu $v0, $v0, $v1 +/* D7B9A8 80240708 000210C0 */ sll $v0, $v0, 3 +/* D7B9AC 8024070C 3C01800B */ lui $at, 0x800b +/* D7B9B0 80240710 00220821 */ addu $at, $at, $v0 +/* D7B9B4 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7B9B8 80240718 4406A000 */ mfc1 $a2, $f20 +/* D7B9BC 8024071C 4600B587 */ neg.s $f22, $f22 +/* D7B9C0 80240720 4405B000 */ mfc1 $a1, $f22 +/* D7B9C4 80240724 0200202D */ daddu $a0, $s0, $zero +/* D7B9C8 80240728 0C019EC8 */ jal guRotateF +/* D7B9CC 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D7B9D0 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7B9D4 80240734 0C00A6C9 */ jal clamp_angle +/* D7B9D8 80240738 00000000 */ nop +/* D7B9DC 8024073C 44050000 */ mfc1 $a1, $f0 +/* D7B9E0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D7B9E4 80240744 4407A000 */ mfc1 $a3, $f20 +/* D7B9E8 80240748 3C013F80 */ lui $at, 0x3f80 +/* D7B9EC 8024074C 4481C000 */ mtc1 $at, $f24 +/* D7B9F0 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D7B9F4 80240754 0C019EC8 */ jal guRotateF +/* D7B9F8 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D7B9FC 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D7BA00 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D7BA04 80240764 0C019D80 */ jal guMtxCatF +/* D7BA08 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D7BA0C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D7BA10 80240770 4406A000 */ mfc1 $a2, $f20 +/* D7BA14 80240774 4407C000 */ mfc1 $a3, $f24 +/* D7BA18 80240778 0200202D */ daddu $a0, $s0, $zero +/* D7BA1C 8024077C 0C019EC8 */ jal guRotateF +/* D7BA20 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7BA24 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D7BA28 80240788 0200282D */ daddu $a1, $s0, $zero +/* D7BA2C 8024078C 0C019D80 */ jal guMtxCatF +/* D7BA30 80240790 0080302D */ daddu $a2, $a0, $zero +/* D7BA34 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7BA38 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7BA3C 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D7BA40 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D7BA44 802407A4 0C019EC8 */ jal guRotateF +/* D7BA48 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D7BA4C 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D7BA50 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D7BA54 802407B4 0C019D80 */ jal guMtxCatF +/* D7BA58 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D7BA5C 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D7BA60 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D7BA64 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D7BA68 802407C8 44810000 */ mtc1 $at, $f0 +/* D7BA6C 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D7BA70 802407D0 44050000 */ mfc1 $a1, $f0 +/* D7BA74 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D7BA78 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7BA7C 802407DC 0C019DF0 */ jal guScaleF +/* D7BA80 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D7BA84 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D7BA88 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D7BA8C 802407EC 0C019D80 */ jal guMtxCatF +/* D7BA90 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D7BA94 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D7BA98 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D7BA9C 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D7BAA0 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D7BAA4 80240804 46000007 */ neg.s $f0, $f0 +/* D7BAA8 80240808 44060000 */ mfc1 $a2, $f0 +/* D7BAAC 8024080C 0C019E40 */ jal guTranslateF +/* D7BAB0 80240810 0200202D */ daddu $a0, $s0, $zero +/* D7BAB4 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D7BAB8 80240818 0200282D */ daddu $a1, $s0, $zero +/* D7BABC 8024081C 0C019D80 */ jal guMtxCatF +/* D7BAC0 80240820 0080302D */ daddu $a2, $a0, $zero +/* D7BAC4 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7BAC8 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D7BACC 8024082C 44810000 */ mtc1 $at, $f0 +/* D7BAD0 80240830 00000000 */ nop +/* D7BAD4 80240834 4602003E */ c.le.s $f0, $f2 +/* D7BAD8 80240838 00000000 */ nop +/* D7BADC 8024083C 4500000A */ bc1f .L80240868 +/* D7BAE0 80240840 24040001 */ addiu $a0, $zero, 1 +/* D7BAE4 80240844 3C014387 */ lui $at, 0x4387 +/* D7BAE8 80240848 44810000 */ mtc1 $at, $f0 +/* D7BAEC 8024084C 00000000 */ nop +/* D7BAF0 80240850 4600103C */ c.lt.s $f2, $f0 +/* D7BAF4 80240854 00000000 */ nop +/* D7BAF8 80240858 45000004 */ bc1f .L8024086C +/* D7BAFC 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D7BB00 80240860 3C041000 */ lui $a0, 0x1000 +/* D7BB04 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D7BB08 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D7BB0C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D7BB10 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D7BB14 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D7BB18 80240878 0C0B7710 */ jal render_sprite +/* D7BB1C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D7BB20 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D7BB24 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D7BB28 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D7BB2C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7BB30 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D7BB34 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D7BB38 80240898 03E00008 */ jr $ra +/* D7BB3C 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_802408A0_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_802408A0_D7B2A0.s new file mode 100644 index 0000000000..61df1ca3ff --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_802408A0_D7B2A0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D7BB40 +/* D7BB40 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D7BB44 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D7BB48 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D7BB4C 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D7BB50 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D7BB54 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D7BB58 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D7BB5C 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D7BB60 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D7BB64 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D7BB68 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D7BB6C 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D7BB70 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D7BB74 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D7BB78 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D7BB7C 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D7BB80 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D7BB84 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D7BB88 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D7BB8C 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D7BB90 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D7BB94 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D7BB98 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D7BB9C 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D7BBA0 80240900 3C03800A */ lui $v1, 0x800a +/* D7BBA4 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D7BBA8 80240908 00031080 */ sll $v0, $v1, 2 +/* D7BBAC 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D7BBB0 80240910 00021080 */ sll $v0, $v0, 2 +/* D7BBB4 80240914 00431023 */ subu $v0, $v0, $v1 +/* D7BBB8 80240918 000218C0 */ sll $v1, $v0, 3 +/* D7BBBC 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D7BBC0 80240920 000210C0 */ sll $v0, $v0, 3 +/* D7BBC4 80240924 00561021 */ addu $v0, $v0, $s6 +/* D7BBC8 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D7BBCC 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D7BBD0 80240930 46000507 */ neg.s $f20, $f0 +/* D7BBD4 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7BBD8 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D7BBDC 8024093C 44810000 */ mtc1 $at, $f0 +/* D7BBE0 80240940 00000000 */ nop +/* D7BBE4 80240944 4602003C */ c.lt.s $f0, $f2 +/* D7BBE8 80240948 00000000 */ nop +/* D7BBEC 8024094C 4500000A */ bc1f .L80240978 +/* D7BBF0 80240950 00000000 */ nop +/* D7BBF4 80240954 3C014334 */ lui $at, 0x4334 +/* D7BBF8 80240958 44812000 */ mtc1 $at, $f4 +/* D7BBFC 8024095C 00000000 */ nop +/* D7BC00 80240960 4604103E */ c.le.s $f2, $f4 +/* D7BC04 80240964 00000000 */ nop +/* D7BC08 80240968 45000003 */ bc1f .L80240978 +/* D7BC0C 8024096C 00000000 */ nop +/* D7BC10 80240970 08090282 */ j .L80240A08 +/* D7BC14 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D7BC18 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D7BC1C 8024097C 3C014334 */ lui $at, 0x4334 +/* D7BC20 80240980 44812000 */ mtc1 $at, $f4 +/* D7BC24 80240984 00000000 */ nop +/* D7BC28 80240988 4600203C */ c.lt.s $f4, $f0 +/* D7BC2C 8024098C 00000000 */ nop +/* D7BC30 80240990 4500000C */ bc1f .L802409C4 +/* D7BC34 80240994 00000000 */ nop +/* D7BC38 80240998 3C014387 */ lui $at, 0x4387 +/* D7BC3C 8024099C 44812000 */ mtc1 $at, $f4 +/* D7BC40 802409A0 00000000 */ nop +/* D7BC44 802409A4 4604003E */ c.le.s $f0, $f4 +/* D7BC48 802409A8 00000000 */ nop +/* D7BC4C 802409AC 45000008 */ bc1f .L802409D0 +/* D7BC50 802409B0 00000000 */ nop +/* D7BC54 802409B4 3C014334 */ lui $at, 0x4334 +/* D7BC58 802409B8 44812000 */ mtc1 $at, $f4 +/* D7BC5C 802409BC 08090282 */ j .L80240A08 +/* D7BC60 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D7BC64 802409C4 3C014387 */ lui $at, 0x4387 +/* D7BC68 802409C8 44812000 */ mtc1 $at, $f4 +/* D7BC6C 802409CC 00000000 */ nop +.L802409D0: +/* D7BC70 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D7BC74 802409D4 00000000 */ nop +/* D7BC78 802409D8 4500000A */ bc1f .L80240A04 +/* D7BC7C 802409DC 00000000 */ nop +/* D7BC80 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D7BC84 802409E4 44811000 */ mtc1 $at, $f2 +/* D7BC88 802409E8 00000000 */ nop +/* D7BC8C 802409EC 4602003E */ c.le.s $f0, $f2 +/* D7BC90 802409F0 00000000 */ nop +/* D7BC94 802409F4 45000003 */ bc1f .L80240A04 +/* D7BC98 802409F8 00000000 */ nop +/* D7BC9C 802409FC 08090282 */ j .L80240A08 +/* D7BCA0 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D7BCA4 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D7BCA8 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D7BCAC 80240A0C 44810000 */ mtc1 $at, $f0 +/* D7BCB0 80240A10 00000000 */ nop +/* D7BCB4 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D7BCB8 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D7BCBC 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D7BCC0 80240A20 00000000 */ nop +/* D7BCC4 80240A24 00071100 */ sll $v0, $a3, 4 +/* D7BCC8 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D7BCCC 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D7BCD0 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D7BCD4 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D7BCD8 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D7BCDC 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D7BCE0 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D7BCE4 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D7BCE8 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D7BCEC 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D7BCF0 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D7BCF4 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D7BCF8 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D7BCFC 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D7BD00 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D7BD04 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D7BD08 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D7BD0C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D7BD10 80240A70 0C019EC8 */ jal guRotateF +/* D7BD14 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BD18 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7BD1C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D7BD20 80240A80 00000000 */ nop +/* D7BD24 80240A84 44050000 */ mfc1 $a1, $f0 +/* D7BD28 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D7BD2C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D7BD30 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D7BD34 80240A94 44812000 */ mtc1 $at, $f4 +/* D7BD38 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BD3C 80240A9C 0C019EC8 */ jal guRotateF +/* D7BD40 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D7BD44 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D7BD48 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D7BD4C 80240AAC 0C019D80 */ jal guMtxCatF +/* D7BD50 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D7BD54 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7BD58 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7BD5C 80240ABC 080902E2 */ j .L80240B88 +/* D7BD60 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D7BD64 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D7BD68 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D7BD6C 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D7BD70 80240AD0 0C03964E */ jal func_800E5938 +/* D7BD74 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D7BD78 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D7BD7C 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D7BD80 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D7BD84 80240AE4 46000606 */ mov.s $f24, $f0 +/* D7BD88 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7BD8C 80240AEC 080902C1 */ j .L80240B04 +/* D7BD90 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D7BD94 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D7BD98 80240AF8 00000000 */ nop +/* D7BD9C 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D7BDA0 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D7BDA4 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D7BDA8 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D7BDAC 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D7BDB0 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7BDB4 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D7BDB8 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D7BDBC 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D7BDC0 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D7BDC4 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D7BDC8 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D7BDCC 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D7BDD0 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D7BDD4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D7BDD8 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D7BDDC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BDE0 80240B40 0C019EC8 */ jal guRotateF +/* D7BDE4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BDE8 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D7BDEC 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D7BDF0 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D7BDF4 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D7BDF8 80240B58 0C019EC8 */ jal guRotateF +/* D7BDFC 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BE00 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D7BE04 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D7BE08 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D7BE0C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BE10 80240B70 0C019EC8 */ jal guRotateF +/* D7BE14 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BE18 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D7BE1C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D7BE20 80240B80 0C019D80 */ jal guMtxCatF +/* D7BE24 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D7BE28 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D7BE2C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D7BE30 80240B90 44812000 */ mtc1 $at, $f4 +/* D7BE34 80240B94 00021023 */ negu $v0, $v0 +/* D7BE38 80240B98 44820000 */ mtc1 $v0, $f0 +/* D7BE3C 80240B9C 00000000 */ nop +/* D7BE40 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D7BE44 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D7BE48 80240BA8 00000000 */ nop +/* D7BE4C 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D7BE50 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D7BE54 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D7BE58 80240BB8 0C019E40 */ jal guTranslateF +/* D7BE5C 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D7BE60 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D7BE64 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D7BE68 80240BC8 0C019D80 */ jal guMtxCatF +/* D7BE6C 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D7BE70 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D7BE74 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D7BE78 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D7BE7C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D7BE80 80240BE0 0C019EC8 */ jal guRotateF +/* D7BE84 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BE88 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BE8C 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D7BE90 80240BF0 0C019D80 */ jal guMtxCatF +/* D7BE94 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D7BE98 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7BE9C 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7BEA0 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D7BEA4 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D7BEA8 80240C08 0C019EC8 */ jal guRotateF +/* D7BEAC 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D7BEB0 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BEB4 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D7BEB8 80240C18 0C019D80 */ jal guMtxCatF +/* D7BEBC 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D7BEC0 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D7BEC4 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D7BEC8 80240C28 44812000 */ mtc1 $at, $f4 +/* D7BECC 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D7BED0 80240C30 00000000 */ nop +/* D7BED4 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D7BED8 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D7BEDC 80240C3C 00000000 */ nop +/* D7BEE0 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D7BEE4 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D7BEE8 80240C48 44062000 */ mfc1 $a2, $f4 +/* D7BEEC 80240C4C 0C019E40 */ jal guTranslateF +/* D7BEF0 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D7BEF4 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BEF8 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D7BEFC 80240C5C 0C019D80 */ jal guMtxCatF +/* D7BF00 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D7BF04 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D7BF08 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D7BF0C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D7BF10 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D7BF14 80240C74 44050000 */ mfc1 $a1, $f0 +/* D7BF18 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D7BF1C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7BF20 80240C80 0C019DF0 */ jal guScaleF +/* D7BF24 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D7BF28 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BF2C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D7BF30 80240C90 0C019D80 */ jal guMtxCatF +/* D7BF34 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D7BF38 80240C98 4600D687 */ neg.s $f26, $f26 +/* D7BF3C 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D7BF40 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D7BF44 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D7BF48 80240CA8 0C019E40 */ jal guTranslateF +/* D7BF4C 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D7BF50 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D7BF54 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D7BF58 80240CB8 0C019D80 */ jal guMtxCatF +/* D7BF5C 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D7BF60 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7BF64 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D7BF68 80240CC8 44810000 */ mtc1 $at, $f0 +/* D7BF6C 80240CCC 00000000 */ nop +/* D7BF70 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D7BF74 80240CD4 00000000 */ nop +/* D7BF78 80240CD8 4500000A */ bc1f .L80240D04 +/* D7BF7C 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D7BF80 80240CE0 3C014387 */ lui $at, 0x4387 +/* D7BF84 80240CE4 44812000 */ mtc1 $at, $f4 +/* D7BF88 80240CE8 00000000 */ nop +/* D7BF8C 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D7BF90 80240CF0 00000000 */ nop +/* D7BF94 80240CF4 45000004 */ bc1f .L80240D08 +/* D7BF98 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D7BF9C 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D7BFA0 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D7BFA4 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D7BFA8 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D7BFAC 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D7BFB0 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D7BFB4 80240D14 0C0B7710 */ jal render_sprite +/* D7BFB8 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D7BFBC 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D7BFC0 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D7BFC4 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D7BFC8 80240D28 00000000 */ nop +/* D7BFCC 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D7BFD0 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D7BFD4 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D7BFD8 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D7BFDC 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D7BFE0 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D7BFE4 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D7BFE8 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D7BFEC 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D7BFF0 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D7BFF4 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D7BFF8 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D7BFFC 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D7C000 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D7C004 80240D64 03E00008 */ jr $ra +/* D7C008 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240D6C_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240D6C_D7B2A0.s new file mode 100644 index 0000000000..504d8e9614 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240D6C_D7B2A0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D7C00C +/* D7C00C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7C010 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D7C014 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D7C018 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D7C01C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D7C020 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D7C024 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D7C028 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D7C02C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D7C030 80240D90 00000000 */ nop +/* D7C034 80240D94 28620002 */ slti $v0, $v1, 2 +/* D7C038 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D7C03C 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D7C040 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D7C044 80240DA4 00000000 */ nop +/* D7C048 80240DA8 08090384 */ j .L80240E10 +/* D7C04C 80240DAC 00000000 */ nop +.L80240DB0: +/* D7C050 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D7C054 80240DB4 00000000 */ nop +/* D7C058 80240DB8 08090384 */ j .L80240E10 +/* D7C05C 80240DBC 00000000 */ nop +.L80240DC0: +/* D7C060 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D7C064 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D7C068 80240DC8 08090380 */ j .L80240E00 +/* D7C06C 80240DCC 00000000 */ nop +.L80240DD0: +/* D7C070 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D7C074 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D7C078 80240DD8 08090380 */ j .L80240E00 +/* D7C07C 80240DDC 00000000 */ nop +.L80240DE0: +/* D7C080 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D7C084 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D7C088 80240DE8 00000000 */ nop +/* D7C08C 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D7C090 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D7C094 80240DF4 00000000 */ nop +.L80240DF8: +/* D7C098 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D7C09C 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D7C0A0 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D7C0A4 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D7C0A8 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D7C0AC 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D7C0B0 80240E10 0C00EAD2 */ jal get_npc_safe +/* D7C0B4 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D7C0B8 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D7C0BC 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D7C0C0 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D7C0C4 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D7C0C8 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D7C0CC 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D7C0D0 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D7C0D4 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D7C0D8 80240E38 28820002 */ slti $v0, $a0, 2 +/* D7C0DC 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D7C0E0 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D7C0E4 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D7C0E8 80240E48 00000000 */ nop +/* D7C0EC 80240E4C 080903A9 */ j .L80240EA4 +/* D7C0F0 80240E50 00000000 */ nop +.L80240E54: +/* D7C0F4 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D7C0F8 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D7C0FC 80240E5C 080903A9 */ j .L80240EA4 +/* D7C100 80240E60 00000000 */ nop +.L80240E64: +/* D7C104 80240E64 8CA20000 */ lw $v0, ($a1) +/* D7C108 80240E68 080903A6 */ j .L80240E98 +/* D7C10C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D7C110 80240E70 8CA20000 */ lw $v0, ($a1) +/* D7C114 80240E74 080903A6 */ j .L80240E98 +/* D7C118 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D7C11C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D7C120 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D7C124 80240E84 28420002 */ slti $v0, $v0, 2 +/* D7C128 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D7C12C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D7C130 80240E90 8CA20000 */ lw $v0, ($a1) +/* D7C134 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D7C138 80240E98 00431025 */ or $v0, $v0, $v1 +/* D7C13C 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D7C140 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D7C144 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D7C148 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D7C14C 80240EAC 03E00008 */ jr $ra +/* D7C150 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240EB4_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240EB4_D7B2A0.s new file mode 100644 index 0000000000..d7855298ad --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240EB4_D7B2A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D7C154 +/* D7C154 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7C158 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D7C15C 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D7C160 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D7C164 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D7C168 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D7C16C 80240ECC 3C03000A */ lui $v1, 0xa +/* D7C170 80240ED0 8C820000 */ lw $v0, ($a0) +/* D7C174 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D7C178 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D7C17C 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D7C180 80240EE0 03E00008 */ jr $ra +/* D7C184 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240EE8_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240EE8_D7B2A0.s new file mode 100644 index 0000000000..757f35800e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240EE8_D7B2A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D7C188 +/* D7C188 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7C18C 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D7C190 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D7C194 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D7C198 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D7C19C 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D7C1A0 80240F00 3C030008 */ lui $v1, 8 +/* D7C1A4 80240F04 8C820000 */ lw $v0, ($a0) +/* D7C1A8 80240F08 00431025 */ or $v0, $v0, $v1 +/* D7C1AC 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D7C1B0 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D7C1B4 80240F14 03E00008 */ jr $ra +/* D7C1B8 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240F1C_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240F1C_D7B2A0.s new file mode 100644 index 0000000000..72a264f5c6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240F1C_D7B2A0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D7C1BC +/* D7C1BC 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7C1C0 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D7C1C4 80240F24 0C00EAD2 */ jal get_npc_safe +/* D7C1C8 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D7C1CC 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D7C1D0 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D7C1D4 80240F34 3C030002 */ lui $v1, 2 +/* D7C1D8 80240F38 8C820000 */ lw $v0, ($a0) +/* D7C1DC 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D7C1E0 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D7C1E4 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D7C1E8 80240F48 03E00008 */ jr $ra +/* D7C1EC 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80240F50_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80240F50_D7B2A0.s new file mode 100644 index 0000000000..7c70fb936f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80240F50_D7B2A0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D7C1F0 +/* D7C1F0 80240F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7C1F4 80240F54 AFB00010 */ sw $s0, 0x10($sp) +/* D7C1F8 80240F58 3C108024 */ lui $s0, 0x8024 +/* D7C1FC 80240F5C 26101690 */ addiu $s0, $s0, 0x1690 +/* D7C200 80240F60 AFBF0018 */ sw $ra, 0x18($sp) +/* D7C204 80240F64 AFB10014 */ sw $s1, 0x14($sp) +/* D7C208 80240F68 8E020000 */ lw $v0, ($s0) +/* D7C20C 80240F6C 14400010 */ bnez $v0, .L80240FB0 +/* D7C210 80240F70 0080882D */ daddu $s1, $a0, $zero +/* D7C214 80240F74 0C00AB39 */ jal heap_malloc +/* D7C218 80240F78 24040040 */ addiu $a0, $zero, 0x40 +/* D7C21C 80240F7C AE020000 */ sw $v0, ($s0) +/* D7C220 80240F80 0000182D */ daddu $v1, $zero, $zero +/* D7C224 80240F84 0040282D */ daddu $a1, $v0, $zero +/* D7C228 80240F88 0220202D */ daddu $a0, $s1, $zero +.L80240F8C: +/* D7C22C 80240F8C 8C820084 */ lw $v0, 0x84($a0) +/* D7C230 80240F90 24840004 */ addiu $a0, $a0, 4 +/* D7C234 80240F94 24630001 */ addiu $v1, $v1, 1 +/* D7C238 80240F98 ACA20000 */ sw $v0, ($a1) +/* D7C23C 80240F9C 28620010 */ slti $v0, $v1, 0x10 +/* D7C240 80240FA0 1440FFFA */ bnez $v0, .L80240F8C +/* D7C244 80240FA4 24A50004 */ addiu $a1, $a1, 4 +/* D7C248 80240FA8 080903FB */ j .L80240FEC +/* D7C24C 80240FAC 00000000 */ nop +.L80240FB0: +/* D7C250 80240FB0 0000182D */ daddu $v1, $zero, $zero +/* D7C254 80240FB4 0040282D */ daddu $a1, $v0, $zero +/* D7C258 80240FB8 0220202D */ daddu $a0, $s1, $zero +.L80240FBC: +/* D7C25C 80240FBC 8CA20000 */ lw $v0, ($a1) +/* D7C260 80240FC0 24A50004 */ addiu $a1, $a1, 4 +/* D7C264 80240FC4 24630001 */ addiu $v1, $v1, 1 +/* D7C268 80240FC8 AC820084 */ sw $v0, 0x84($a0) +/* D7C26C 80240FCC 28620010 */ slti $v0, $v1, 0x10 +/* D7C270 80240FD0 1440FFFA */ bnez $v0, .L80240FBC +/* D7C274 80240FD4 24840004 */ addiu $a0, $a0, 4 +/* D7C278 80240FD8 3C108024 */ lui $s0, 0x8024 +/* D7C27C 80240FDC 26101690 */ addiu $s0, $s0, 0x1690 +/* D7C280 80240FE0 0C00AB4B */ jal heap_free +/* D7C284 80240FE4 8E040000 */ lw $a0, ($s0) +/* D7C288 80240FE8 AE000000 */ sw $zero, ($s0) +.L80240FEC: +/* D7C28C 80240FEC 8FBF0018 */ lw $ra, 0x18($sp) +/* D7C290 80240FF0 8FB10014 */ lw $s1, 0x14($sp) +/* D7C294 80240FF4 8FB00010 */ lw $s0, 0x10($sp) +/* D7C298 80240FF8 24020002 */ addiu $v0, $zero, 2 +/* D7C29C 80240FFC 03E00008 */ jr $ra +/* D7C2A0 80241000 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80241004_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80241004_D7B2A0.s new file mode 100644 index 0000000000..bcb6d85cc8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80241004_D7B2A0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241004_D7C2A4 +/* D7C2A4 80241004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7C2A8 80241008 AFB00010 */ sw $s0, 0x10($sp) +/* D7C2AC 8024100C 0080802D */ daddu $s0, $a0, $zero +/* D7C2B0 80241010 AFBF0018 */ sw $ra, 0x18($sp) +/* D7C2B4 80241014 AFB10014 */ sw $s1, 0x14($sp) +/* D7C2B8 80241018 8E02000C */ lw $v0, 0xc($s0) +/* D7C2BC 8024101C 8C510000 */ lw $s1, ($v0) +/* D7C2C0 80241020 0C0B1EAF */ jal get_variable +/* D7C2C4 80241024 0220282D */ daddu $a1, $s1, $zero +/* D7C2C8 80241028 3C03FFF0 */ lui $v1, 0xfff0 +/* D7C2CC 8024102C 3463FFFF */ ori $v1, $v1, 0xffff +/* D7C2D0 80241030 0200202D */ daddu $a0, $s0, $zero +/* D7C2D4 80241034 00431024 */ and $v0, $v0, $v1 +/* D7C2D8 80241038 00021140 */ sll $v0, $v0, 5 +/* D7C2DC 8024103C 3C068008 */ lui $a2, %hi(gItemTable) +/* D7C2E0 80241040 00C23021 */ addu $a2, $a2, $v0 +/* D7C2E4 80241044 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D7C2E8 80241048 0C0B2026 */ jal set_variable +/* D7C2EC 8024104C 0220282D */ daddu $a1, $s1, $zero +/* D7C2F0 80241050 8FBF0018 */ lw $ra, 0x18($sp) +/* D7C2F4 80241054 8FB10014 */ lw $s1, 0x14($sp) +/* D7C2F8 80241058 8FB00010 */ lw $s0, 0x10($sp) +/* D7C2FC 8024105C 24020002 */ addiu $v0, $zero, 2 +/* D7C300 80241060 03E00008 */ jr $ra +/* D7C304 80241064 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_80241068_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_80241068_D7B2A0.s new file mode 100644 index 0000000000..6fe8b6229a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_80241068_D7B2A0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241068_D7C308 +/* D7C308 80241068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7C30C 8024106C AFB10014 */ sw $s1, 0x14($sp) +/* D7C310 80241070 0080882D */ daddu $s1, $a0, $zero +/* D7C314 80241074 AFBF001C */ sw $ra, 0x1c($sp) +/* D7C318 80241078 AFB20018 */ sw $s2, 0x18($sp) +/* D7C31C 8024107C AFB00010 */ sw $s0, 0x10($sp) +/* D7C320 80241080 8E240084 */ lw $a0, 0x84($s1) +/* D7C324 80241084 0C04C3D6 */ jal get_item_entity +/* D7C328 80241088 00A0802D */ daddu $s0, $a1, $zero +/* D7C32C 8024108C 12000005 */ beqz $s0, .L802410A4 +/* D7C330 80241090 0040902D */ daddu $s2, $v0, $zero +/* D7C334 80241094 C640000C */ lwc1 $f0, 0xc($s2) +/* D7C338 80241098 AE200074 */ sw $zero, 0x74($s1) +/* D7C33C 8024109C AE20007C */ sw $zero, 0x7c($s1) +/* D7C340 802410A0 E6200078 */ swc1 $f0, 0x78($s1) +.L802410A4: +/* D7C344 802410A4 8E230074 */ lw $v1, 0x74($s1) +/* D7C348 802410A8 10600005 */ beqz $v1, .L802410C0 +/* D7C34C 802410AC 24020001 */ addiu $v0, $zero, 1 +/* D7C350 802410B0 10620024 */ beq $v1, $v0, .L80241144 +/* D7C354 802410B4 00000000 */ nop +/* D7C358 802410B8 08090467 */ j .L8024119C +/* D7C35C 802410BC 00000000 */ nop +.L802410C0: +/* D7C360 802410C0 3C013FC9 */ lui $at, 0x3fc9 +/* D7C364 802410C4 34210FD8 */ ori $at, $at, 0xfd8 +/* D7C368 802410C8 44810000 */ mtc1 $at, $f0 +/* D7C36C 802410CC C62C007C */ lwc1 $f12, 0x7c($s1) +/* D7C370 802410D0 46806320 */ cvt.s.w $f12, $f12 +/* D7C374 802410D4 46006302 */ mul.s $f12, $f12, $f0 +/* D7C378 802410D8 00000000 */ nop +/* D7C37C 802410DC 3C0141F0 */ lui $at, 0x41f0 +/* D7C380 802410E0 44810000 */ mtc1 $at, $f0 +/* D7C384 802410E4 0C00A874 */ jal cos_rad +/* D7C388 802410E8 46006303 */ div.s $f12, $f12, $f0 +/* D7C38C 802410EC 3C013F80 */ lui $at, 0x3f80 +/* D7C390 802410F0 44811000 */ mtc1 $at, $f2 +/* D7C394 802410F4 00000000 */ nop +/* D7C398 802410F8 46001081 */ sub.s $f2, $f2, $f0 +/* D7C39C 802410FC 3C0141A0 */ lui $at, 0x41a0 +/* D7C3A0 80241100 44810000 */ mtc1 $at, $f0 +/* D7C3A4 80241104 00000000 */ nop +/* D7C3A8 80241108 46001082 */ mul.s $f2, $f2, $f0 +/* D7C3AC 8024110C 00000000 */ nop +/* D7C3B0 80241110 C6200078 */ lwc1 $f0, 0x78($s1) +/* D7C3B4 80241114 46020000 */ add.s $f0, $f0, $f2 +/* D7C3B8 80241118 E640000C */ swc1 $f0, 0xc($s2) +/* D7C3BC 8024111C 8E23007C */ lw $v1, 0x7c($s1) +/* D7C3C0 80241120 2402001E */ addiu $v0, $zero, 0x1e +/* D7C3C4 80241124 14620005 */ bne $v1, $v0, .L8024113C +/* D7C3C8 80241128 24620001 */ addiu $v0, $v1, 1 +/* D7C3CC 8024112C 24020001 */ addiu $v0, $zero, 1 +/* D7C3D0 80241130 AE220074 */ sw $v0, 0x74($s1) +/* D7C3D4 80241134 08090467 */ j .L8024119C +/* D7C3D8 80241138 AE20007C */ sw $zero, 0x7c($s1) +.L8024113C: +/* D7C3DC 8024113C 08090467 */ j .L8024119C +/* D7C3E0 80241140 AE22007C */ sw $v0, 0x7c($s1) +.L80241144: +/* D7C3E4 80241144 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D7C3E8 80241148 0C00A8D4 */ jal cos_deg +/* D7C3EC 8024114C 46806320 */ cvt.s.w $f12, $f12 +/* D7C3F0 80241150 3C014040 */ lui $at, 0x4040 +/* D7C3F4 80241154 44811000 */ mtc1 $at, $f2 +/* D7C3F8 80241158 00000000 */ nop +/* D7C3FC 8024115C 46020002 */ mul.s $f0, $f0, $f2 +/* D7C400 80241160 00000000 */ nop +/* D7C404 80241164 3C014188 */ lui $at, 0x4188 +/* D7C408 80241168 44812000 */ mtc1 $at, $f4 +/* D7C40C 8024116C C6220078 */ lwc1 $f2, 0x78($s1) +/* D7C410 80241170 46041080 */ add.s $f2, $f2, $f4 +/* D7C414 80241174 46001080 */ add.s $f2, $f2, $f0 +/* D7C418 80241178 E642000C */ swc1 $f2, 0xc($s2) +/* D7C41C 8024117C 8E22007C */ lw $v0, 0x7c($s1) +/* D7C420 80241180 24420009 */ addiu $v0, $v0, 9 +/* D7C424 80241184 44826000 */ mtc1 $v0, $f12 +/* D7C428 80241188 00000000 */ nop +/* D7C42C 8024118C 0C00A6C9 */ jal clamp_angle +/* D7C430 80241190 46806320 */ cvt.s.w $f12, $f12 +/* D7C434 80241194 4600018D */ trunc.w.s $f6, $f0 +/* D7C438 80241198 E626007C */ swc1 $f6, 0x7c($s1) +.L8024119C: +/* D7C43C 8024119C 8FBF001C */ lw $ra, 0x1c($sp) +/* D7C440 802411A0 8FB20018 */ lw $s2, 0x18($sp) +/* D7C444 802411A4 8FB10014 */ lw $s1, 0x14($sp) +/* D7C448 802411A8 8FB00010 */ lw $s0, 0x10($sp) +/* D7C44C 802411AC 0000102D */ daddu $v0, $zero, $zero +/* D7C450 802411B0 03E00008 */ jr $ra +/* D7C454 802411B4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_28/func_802411B8_D7B2A0.s b/asm/nonmatchings/world/area_pra/pra_28/func_802411B8_D7B2A0.s new file mode 100644 index 0000000000..16b5b1982b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_28/func_802411B8_D7B2A0.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B8_D7C458 +/* D7C458 802411B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7C45C 802411BC AFB00010 */ sw $s0, 0x10($sp) +/* D7C460 802411C0 0080802D */ daddu $s0, $a0, $zero +/* D7C464 802411C4 AFBF0014 */ sw $ra, 0x14($sp) +/* D7C468 802411C8 8E02000C */ lw $v0, 0xc($s0) +/* D7C46C 802411CC 0C0B1EAF */ jal get_variable +/* D7C470 802411D0 8C450000 */ lw $a1, ($v0) +/* D7C474 802411D4 00021140 */ sll $v0, $v0, 5 +/* D7C478 802411D8 AE000084 */ sw $zero, 0x84($s0) +/* D7C47C 802411DC 3C018008 */ lui $at, 0x8008 +/* D7C480 802411E0 00220821 */ addu $at, $at, $v0 +/* D7C484 802411E4 942278F8 */ lhu $v0, 0x78f8($at) +/* D7C488 802411E8 30420040 */ andi $v0, $v0, 0x40 +/* D7C48C 802411EC 10400002 */ beqz $v0, .L802411F8 +/* D7C490 802411F0 24020001 */ addiu $v0, $zero, 1 +/* D7C494 802411F4 AE020084 */ sw $v0, 0x84($s0) +.L802411F8: +/* D7C498 802411F8 8FBF0014 */ lw $ra, 0x14($sp) +/* D7C49C 802411FC 8FB00010 */ lw $s0, 0x10($sp) +/* D7C4A0 80241200 24020002 */ addiu $v0, $zero, 2 +/* D7C4A4 80241204 03E00008 */ jr $ra +/* D7C4A8 80241208 27BD0018 */ addiu $sp, $sp, 0x18 +/* D7C4AC 8024120C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240000_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240000_D7CB50.s new file mode 100644 index 0000000000..e2cda7520a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240000_D7CB50.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D7CB50 +/* D7CB50 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D7CB54 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D7CB58 80240008 24020001 */ addiu $v0, $zero, 1 +/* D7CB5C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D7CB60 80240010 03E00008 */ jr $ra +/* D7CB64 80240014 0000102D */ daddu $v0, $zero, $zero +/* D7CB68 80240018 00000000 */ nop +/* D7CB6C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240020_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240020_D7CB50.s new file mode 100644 index 0000000000..dee5fe419a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240020_D7CB50.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D7CB70 +/* D7CB70 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D7CB74 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D7CB78 80240028 00822024 */ and $a0, $a0, $v0 +/* D7CB7C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D7CB80 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D7CB84 80240034 00821821 */ addu $v1, $a0, $v0 +/* D7CB88 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D7CB8C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D7CB90 80240040 30620001 */ andi $v0, $v1, 1 +/* D7CB94 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D7CB98 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D7CB9C 8024004C 03E00008 */ jr $ra +/* D7CBA0 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240054_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240054_D7CB50.s new file mode 100644 index 0000000000..dc4979427d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240054_D7CB50.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D7CBA4 +/* D7CBA4 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D7CBA8 80240058 304300FF */ andi $v1, $v0, 0xff +/* D7CBAC 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D7CBB0 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D7CBB4 80240064 28620007 */ slti $v0, $v1, 7 +/* D7CBB8 80240068 10400005 */ beqz $v0, .L80240080 +/* D7CBBC 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D7CBC0 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D7CBC4 80240074 3C020100 */ lui $v0, 0x100 +/* D7CBC8 80240078 03E00008 */ jr $ra +/* D7CBCC 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D7CBD0 80240080 2862000A */ slti $v0, $v1, 0xa +/* D7CBD4 80240084 10400016 */ beqz $v0, .L802400E0 +/* D7CBD8 80240088 28620008 */ slti $v0, $v1, 8 +/* D7CBDC 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D7CBE0 80240090 3C020100 */ lui $v0, 0x100 +/* D7CBE4 80240094 03E00008 */ jr $ra +/* D7CBE8 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D7CBEC 8024009C 3C020001 */ lui $v0, 1 +/* D7CBF0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D7CBF4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D7CBF8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D7CBFC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D7CC00 802400B0 03E00008 */ jr $ra +/* D7CC04 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D7CC08 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D7CC0C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D7CC10 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D7CC14 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D7CC18 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D7CC1C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D7CC20 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D7CC24 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D7CC28 802400D8 03E00008 */ jr $ra +/* D7CC2C 802400DC 00000000 */ nop +.L802400E0: +/* D7CC30 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D7CC34 802400E4 03E00008 */ jr $ra +/* D7CC38 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_802400EC_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_802400EC_D7CB50.s new file mode 100644 index 0000000000..3ca38f336f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_802400EC_D7CB50.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D7CC3C +/* D7CC3C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7CC40 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D7CC44 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D7CC48 802400F8 3C058024 */ lui $a1, 0x8024 +/* D7CC4C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D7CC50 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D7CC54 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D7CC58 80240108 0000202D */ daddu $a0, $zero, $zero +/* D7CC5C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D7CC60 80240110 AC620000 */ sw $v0, ($v1) +/* D7CC64 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D7CC68 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D7CC6C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D7CC70 80240120 03E00008 */ jr $ra +/* D7CC74 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240128_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240128_D7CB50.s new file mode 100644 index 0000000000..2634b59ef0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240128_D7CB50.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D7CC78 +/* D7CC78 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D7CC7C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D7CC80 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7CC84 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7CC88 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D7CC8C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D7CC90 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D7CC94 80240144 8E020000 */ lw $v0, ($s0) +/* D7CC98 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D7CC9C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D7CCA0 80240150 10400061 */ beqz $v0, .L802402D8 +/* D7CCA4 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D7CCA8 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D7CCAC 8024015C 0C044181 */ jal get_shadow_by_index +/* D7CCB0 80240160 00000000 */ nop +/* D7CCB4 80240164 0C048B77 */ jal func_80122DDC +/* D7CCB8 80240168 84440008 */ lh $a0, 8($v0) +/* D7CCBC 8024016C 8C430000 */ lw $v1, ($v0) +/* D7CCC0 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D7CCC4 80240174 AC430000 */ sw $v1, ($v0) +/* D7CCC8 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D7CCCC 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D7CCD0 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D7CCD4 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D7CCD8 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D7CCDC 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D7CCE0 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D7CCE4 80240194 3C04800A */ lui $a0, 0x800a +/* D7CCE8 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D7CCEC 8024019C 46000007 */ neg.s $f0, $f0 +/* D7CCF0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D7CCF4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D7CCF8 802401A8 0C00B94E */ jal get_screen_coords +/* D7CCFC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D7CD00 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D7CD04 802401B4 0C090008 */ jal func_80240020 +/* D7CD08 802401B8 00000000 */ nop +/* D7CD0C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D7CD10 802401C0 3C014307 */ lui $at, 0x4307 +/* D7CD14 802401C4 44810000 */ mtc1 $at, $f0 +/* D7CD18 802401C8 00000000 */ nop +/* D7CD1C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D7CD20 802401D0 00000000 */ nop +/* D7CD24 802401D4 4500000B */ bc1f .L80240204 +/* D7CD28 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D7CD2C 802401DC 3C014361 */ lui $at, 0x4361 +/* D7CD30 802401E0 44810000 */ mtc1 $at, $f0 +/* D7CD34 802401E4 00000000 */ nop +/* D7CD38 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D7CD3C 802401EC 00000000 */ nop +/* D7CD40 802401F0 45000004 */ bc1f .L80240204 +/* D7CD44 802401F4 00000000 */ nop +/* D7CD48 802401F8 0C090015 */ jal func_80240054 +/* D7CD4C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D7CD50 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D7CD54 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D7CD58 80240208 0C0B76A3 */ jal func_802DDA8C +/* D7CD5C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D7CD60 80240210 8E020000 */ lw $v0, ($s0) +/* D7CD64 80240214 3C030002 */ lui $v1, 2 +/* D7CD68 80240218 00431024 */ and $v0, $v0, $v1 +/* D7CD6C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D7CD70 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D7CD74 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D7CD78 80240228 3C02802E */ lui $v0, 0x802e +/* D7CD7C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D7CD80 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D7CD84 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D7CD88 80240238 1040000B */ beqz $v0, .L80240268 +/* D7CD8C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D7CD90 80240240 24040002 */ addiu $a0, $zero, 2 +/* D7CD94 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D7CD98 80240248 24060007 */ addiu $a2, $zero, 7 +/* D7CD9C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D7CDA0 80240250 0000382D */ daddu $a3, $zero, $zero +/* D7CDA4 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D7CDA8 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D7CDAC 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D7CDB0 80240260 080900A3 */ j .L8024028C +/* D7CDB4 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D7CDB8 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D7CDBC 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D7CDC0 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D7CDC4 80240274 0000302D */ daddu $a2, $zero, $zero +/* D7CDC8 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D7CDCC 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D7CDD0 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D7CDD4 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D7CDD8 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D7CDDC 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D7CDE0 80240290 00000000 */ nop +.L80240294: +/* D7CDE4 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D7CDE8 80240298 3C01802E */ lui $at, 0x802e +/* D7CDEC 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D7CDF0 802402A0 080900AD */ j .L802402B4 +/* D7CDF4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D7CDF8 802402A8 3C01802E */ lui $at, 0x802e +/* D7CDFC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D7CE00 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D7CE04 802402B4 AC910000 */ sw $s1, ($a0) +/* D7CE08 802402B8 AC900008 */ sw $s0, 8($a0) +/* D7CE0C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D7CE10 802402C0 3C038024 */ lui $v1, 0x8024 +/* D7CE14 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D7CE18 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D7CE1C 802402CC 00021023 */ negu $v0, $v0 +/* D7CE20 802402D0 0C047644 */ jal queue_render_task +/* D7CE24 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D7CE28 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D7CE2C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D7CE30 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D7CE34 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D7CE38 802402E8 03E00008 */ jr $ra +/* D7CE3C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_802402F0_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_802402F0_D7CB50.s new file mode 100644 index 0000000000..f53b8f903b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_802402F0_D7CB50.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D7CE40 +/* D7CE40 802402F0 3C03800A */ lui $v1, 0x800a +/* D7CE44 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D7CE48 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D7CE4C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D7CE50 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D7CE54 80240304 4480A000 */ mtc1 $zero, $f20 +/* D7CE58 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D7CE5C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D7CE60 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D7CE64 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D7CE68 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D7CE6C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D7CE70 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D7CE74 80240324 00031080 */ sll $v0, $v1, 2 +/* D7CE78 80240328 00431021 */ addu $v0, $v0, $v1 +/* D7CE7C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D7CE80 80240330 00431023 */ subu $v0, $v0, $v1 +/* D7CE84 80240334 000218C0 */ sll $v1, $v0, 3 +/* D7CE88 80240338 00431021 */ addu $v0, $v0, $v1 +/* D7CE8C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D7CE90 80240340 3C01800B */ lui $at, 0x800b +/* D7CE94 80240344 00220821 */ addu $at, $at, $v0 +/* D7CE98 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7CE9C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D7CEA0 80240350 4600B587 */ neg.s $f22, $f22 +/* D7CEA4 80240354 4405B000 */ mfc1 $a1, $f22 +/* D7CEA8 80240358 0200202D */ daddu $a0, $s0, $zero +/* D7CEAC 8024035C 0C019EC8 */ jal guRotateF +/* D7CEB0 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7CEB4 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7CEB8 80240368 0C00A6C9 */ jal clamp_angle +/* D7CEBC 8024036C 00000000 */ nop +/* D7CEC0 80240370 44050000 */ mfc1 $a1, $f0 +/* D7CEC4 80240374 4406A000 */ mfc1 $a2, $f20 +/* D7CEC8 80240378 4407A000 */ mfc1 $a3, $f20 +/* D7CECC 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D7CED0 80240380 4481C000 */ mtc1 $at, $f24 +/* D7CED4 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D7CED8 80240388 0C019EC8 */ jal guRotateF +/* D7CEDC 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D7CEE0 80240390 0200202D */ daddu $a0, $s0, $zero +/* D7CEE4 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D7CEE8 80240398 0C019D80 */ jal guMtxCatF +/* D7CEEC 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D7CEF0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D7CEF4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D7CEF8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D7CEFC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D7CF00 802403B0 0C019EC8 */ jal guRotateF +/* D7CF04 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7CF08 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D7CF0C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D7CF10 802403C0 0C019D80 */ jal guMtxCatF +/* D7CF14 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D7CF18 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7CF1C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7CF20 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D7CF24 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D7CF28 802403D8 0C019EC8 */ jal guRotateF +/* D7CF2C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D7CF30 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D7CF34 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D7CF38 802403E8 0C019D80 */ jal guMtxCatF +/* D7CF3C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D7CF40 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D7CF44 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D7CF48 802403F8 44810000 */ mtc1 $at, $f0 +/* D7CF4C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D7CF50 80240400 44050000 */ mfc1 $a1, $f0 +/* D7CF54 80240404 0200202D */ daddu $a0, $s0, $zero +/* D7CF58 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D7CF5C 8024040C 0C019DF0 */ jal guScaleF +/* D7CF60 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D7CF64 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D7CF68 80240418 0200282D */ daddu $a1, $s0, $zero +/* D7CF6C 8024041C 0C019D80 */ jal guMtxCatF +/* D7CF70 80240420 0080302D */ daddu $a2, $a0, $zero +/* D7CF74 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D7CF78 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D7CF7C 8024042C 3C014040 */ lui $at, 0x4040 +/* D7CF80 80240430 44811000 */ mtc1 $at, $f2 +/* D7CF84 80240434 46000007 */ neg.s $f0, $f0 +/* D7CF88 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D7CF8C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D7CF90 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D7CF94 80240444 44070000 */ mfc1 $a3, $f0 +/* D7CF98 80240448 0C019E40 */ jal guTranslateF +/* D7CF9C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D7CFA0 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D7CFA4 80240454 0200282D */ daddu $a1, $s0, $zero +/* D7CFA8 80240458 0C019D80 */ jal guMtxCatF +/* D7CFAC 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D7CFB0 80240460 24040002 */ addiu $a0, $zero, 2 +/* D7CFB4 80240464 0000282D */ daddu $a1, $zero, $zero +/* D7CFB8 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D7CFBC 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D7CFC0 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D7CFC4 80240474 0C0B7710 */ jal render_sprite +/* D7CFC8 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D7CFCC 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D7CFD0 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D7CFD4 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D7CFD8 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7CFDC 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D7CFE0 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D7CFE4 80240494 03E00008 */ jr $ra +/* D7CFE8 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_8024049C_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_8024049C_D7CB50.s new file mode 100644 index 0000000000..87ca99794f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_8024049C_D7CB50.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D7CFEC +/* D7CFEC 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7CFF0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D7CFF4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D7CFF8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D7CFFC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D7D000 802404B0 0440000E */ bltz $v0, .L802404EC +/* D7D004 802404B4 28420002 */ slti $v0, $v0, 2 +/* D7D008 802404B8 1040000C */ beqz $v0, .L802404EC +/* D7D00C 802404BC 00000000 */ nop +/* D7D010 802404C0 3C058024 */ lui $a1, 0x8024 +/* D7D014 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D7D018 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D7D01C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D7D020 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D7D024 802404D4 AC620000 */ sw $v0, ($v1) +/* D7D028 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D7D02C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D7D030 802404E0 8C620000 */ lw $v0, ($v1) +/* D7D034 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D7D038 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D7D03C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D7D040 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D7D044 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D7D048 802404F8 03E00008 */ jr $ra +/* D7D04C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240500_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240500_D7CB50.s new file mode 100644 index 0000000000..10f62d2f18 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240500_D7CB50.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D7D050 +/* D7D050 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D7D054 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D7D058 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7D05C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7D060 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D7D064 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D7D068 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D7D06C 8024051C 8E020000 */ lw $v0, ($s0) +/* D7D070 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D7D074 80240524 30420001 */ andi $v0, $v0, 1 +/* D7D078 80240528 10400052 */ beqz $v0, .L80240674 +/* D7D07C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D7D080 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D7D084 80240534 0C044181 */ jal get_shadow_by_index +/* D7D088 80240538 00000000 */ nop +/* D7D08C 8024053C 0C048B77 */ jal func_80122DDC +/* D7D090 80240540 84440008 */ lh $a0, 8($v0) +/* D7D094 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D7D098 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D7D09C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D7D0A0 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D7D0A4 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D7D0A8 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D7D0AC 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D7D0B0 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D7D0B4 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D7D0B8 80240568 3C04800A */ lui $a0, 0x800a +/* D7D0BC 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D7D0C0 80240570 46000007 */ neg.s $f0, $f0 +/* D7D0C4 80240574 44060000 */ mfc1 $a2, $f0 +/* D7D0C8 80240578 0C00B94E */ jal get_screen_coords +/* D7D0CC 8024057C 00000000 */ nop +/* D7D0D0 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D7D0D4 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D7D0D8 80240588 0C0B76A3 */ jal func_802DDA8C +/* D7D0DC 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D7D0E0 80240590 8E020000 */ lw $v0, ($s0) +/* D7D0E4 80240594 3C030002 */ lui $v1, 2 +/* D7D0E8 80240598 00431024 */ and $v0, $v0, $v1 +/* D7D0EC 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D7D0F0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D7D0F4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D7D0F8 802405A8 3C02802E */ lui $v0, 0x802e +/* D7D0FC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D7D100 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D7D104 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D7D108 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D7D10C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D7D110 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D7D114 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D7D118 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D7D11C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D7D120 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D7D124 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D7D128 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D7D12C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D7D130 802405E0 08090183 */ j .L8024060C +/* D7D134 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D7D138 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D7D13C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D7D140 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D7D144 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D7D148 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D7D14C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D7D150 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D7D154 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D7D158 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D7D15C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D7D160 80240610 00000000 */ nop +.L80240614: +/* D7D164 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D7D168 80240618 3C01802E */ lui $at, 0x802e +/* D7D16C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D7D170 80240620 0809018C */ j .L80240630 +/* D7D174 80240624 00000000 */ nop +.L80240628: +/* D7D178 80240628 3C01802E */ lui $at, 0x802e +/* D7D17C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D7D180 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D7D184 80240634 3C048024 */ lui $a0, 0x8024 +/* D7D188 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D7D18C 8024063C AE320000 */ sw $s2, ($s1) +/* D7D190 80240640 AE300008 */ sw $s0, 8($s1) +/* D7D194 80240644 00021023 */ negu $v0, $v0 +/* D7D198 80240648 AE220004 */ sw $v0, 4($s1) +/* D7D19C 8024064C 8E020000 */ lw $v0, ($s0) +/* D7D1A0 80240650 3C030002 */ lui $v1, 2 +/* D7D1A4 80240654 00431024 */ and $v0, $v0, $v1 +/* D7D1A8 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D7D1AC 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D7D1B0 80240660 3C048024 */ lui $a0, 0x8024 +/* D7D1B4 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D7D1B8 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D7D1BC 8024066C 0C047644 */ jal queue_render_task +/* D7D1C0 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D7D1C4 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D7D1C8 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D7D1CC 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D7D1D0 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D7D1D4 80240684 03E00008 */ jr $ra +/* D7D1D8 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_8024068C_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_8024068C_D7CB50.s new file mode 100644 index 0000000000..d35092876c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_8024068C_D7CB50.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D7D1DC +/* D7D1DC 8024068C 3C03800A */ lui $v1, 0x800a +/* D7D1E0 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D7D1E4 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D7D1E8 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D7D1EC 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D7D1F0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D7D1F4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D7D1F8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D7D1FC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D7D200 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D7D204 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D7D208 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D7D20C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D7D210 802406C0 00031080 */ sll $v0, $v1, 2 +/* D7D214 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D7D218 802406C8 00021080 */ sll $v0, $v0, 2 +/* D7D21C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D7D220 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D7D224 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D7D228 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D7D22C 802406DC 3C01800B */ lui $at, 0x800b +/* D7D230 802406E0 00220821 */ addu $at, $at, $v0 +/* D7D234 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7D238 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D7D23C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D7D240 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D7D244 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D7D248 802406F8 0C019EC8 */ jal guRotateF +/* D7D24C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D7D250 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7D254 80240704 0C00A6C9 */ jal clamp_angle +/* D7D258 80240708 00000000 */ nop +/* D7D25C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D7D260 80240710 4406A000 */ mfc1 $a2, $f20 +/* D7D264 80240714 4407A000 */ mfc1 $a3, $f20 +/* D7D268 80240718 3C013F80 */ lui $at, 0x3f80 +/* D7D26C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D7D270 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D7D274 80240724 0C019EC8 */ jal guRotateF +/* D7D278 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D7D27C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D7D280 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D7D284 80240734 0C019D80 */ jal guMtxCatF +/* D7D288 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D7D28C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D7D290 80240740 4406A000 */ mfc1 $a2, $f20 +/* D7D294 80240744 4407C000 */ mfc1 $a3, $f24 +/* D7D298 80240748 0200202D */ daddu $a0, $s0, $zero +/* D7D29C 8024074C 0C019EC8 */ jal guRotateF +/* D7D2A0 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7D2A4 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D7D2A8 80240758 0200282D */ daddu $a1, $s0, $zero +/* D7D2AC 8024075C 0C019D80 */ jal guMtxCatF +/* D7D2B0 80240760 0080302D */ daddu $a2, $a0, $zero +/* D7D2B4 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D7D2B8 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7D2BC 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D7D2C0 80240770 4407C000 */ mfc1 $a3, $f24 +/* D7D2C4 80240774 0C019EC8 */ jal guRotateF +/* D7D2C8 80240778 0200202D */ daddu $a0, $s0, $zero +/* D7D2CC 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D7D2D0 80240780 0200282D */ daddu $a1, $s0, $zero +/* D7D2D4 80240784 0C019D80 */ jal guMtxCatF +/* D7D2D8 80240788 0080302D */ daddu $a2, $a0, $zero +/* D7D2DC 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D7D2E0 80240790 3C013F36 */ lui $at, 0x3f36 +/* D7D2E4 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D7D2E8 80240798 44810000 */ mtc1 $at, $f0 +/* D7D2EC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D7D2F0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D7D2F4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D7D2F8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7D2FC 802407AC 0C019DF0 */ jal guScaleF +/* D7D300 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D7D304 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D7D308 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D7D30C 802407BC 0C019D80 */ jal guMtxCatF +/* D7D310 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D7D314 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D7D318 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D7D31C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D7D320 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D7D324 802407D4 46000007 */ neg.s $f0, $f0 +/* D7D328 802407D8 44060000 */ mfc1 $a2, $f0 +/* D7D32C 802407DC 0C019E40 */ jal guTranslateF +/* D7D330 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D7D334 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D7D338 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D7D33C 802407EC 0C019D80 */ jal guMtxCatF +/* D7D340 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D7D344 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7D348 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D7D34C 802407FC 44810000 */ mtc1 $at, $f0 +/* D7D350 80240800 00000000 */ nop +/* D7D354 80240804 4602003E */ c.le.s $f0, $f2 +/* D7D358 80240808 00000000 */ nop +/* D7D35C 8024080C 4500000A */ bc1f .L80240838 +/* D7D360 80240810 24040001 */ addiu $a0, $zero, 1 +/* D7D364 80240814 3C014387 */ lui $at, 0x4387 +/* D7D368 80240818 44810000 */ mtc1 $at, $f0 +/* D7D36C 8024081C 00000000 */ nop +/* D7D370 80240820 4600103C */ c.lt.s $f2, $f0 +/* D7D374 80240824 00000000 */ nop +/* D7D378 80240828 45000004 */ bc1f .L8024083C +/* D7D37C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D7D380 80240830 3C041000 */ lui $a0, 0x1000 +/* D7D384 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D7D388 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D7D38C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D7D390 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D7D394 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D7D398 80240848 0C0B7710 */ jal render_sprite +/* D7D39C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D7D3A0 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D7D3A4 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D7D3A8 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D7D3AC 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D7D3B0 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D7D3B4 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D7D3B8 80240868 03E00008 */ jr $ra +/* D7D3BC 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240870_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240870_D7CB50.s new file mode 100644 index 0000000000..d7c8dd0615 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240870_D7CB50.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D7D3C0 +/* D7D3C0 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D7D3C4 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D7D3C8 80240878 4480B000 */ mtc1 $zero, $f22 +/* D7D3CC 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D7D3D0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D7D3D4 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D7D3D8 80240888 0000982D */ daddu $s3, $zero, $zero +/* D7D3DC 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D7D3E0 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D7D3E4 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D7D3E8 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D7D3EC 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D7D3F0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D7D3F4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D7D3F8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D7D3FC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D7D400 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D7D404 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D7D408 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D7D40C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D7D410 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D7D414 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D7D418 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D7D41C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D7D420 802408D0 3C03800A */ lui $v1, 0x800a +/* D7D424 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D7D428 802408D8 00031080 */ sll $v0, $v1, 2 +/* D7D42C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D7D430 802408E0 00021080 */ sll $v0, $v0, 2 +/* D7D434 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D7D438 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D7D43C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D7D440 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D7D444 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D7D448 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D7D44C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D7D450 80240900 46000507 */ neg.s $f20, $f0 +/* D7D454 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7D458 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D7D45C 8024090C 44810000 */ mtc1 $at, $f0 +/* D7D460 80240910 00000000 */ nop +/* D7D464 80240914 4602003C */ c.lt.s $f0, $f2 +/* D7D468 80240918 00000000 */ nop +/* D7D46C 8024091C 4500000A */ bc1f .L80240948 +/* D7D470 80240920 00000000 */ nop +/* D7D474 80240924 3C014334 */ lui $at, 0x4334 +/* D7D478 80240928 44812000 */ mtc1 $at, $f4 +/* D7D47C 8024092C 00000000 */ nop +/* D7D480 80240930 4604103E */ c.le.s $f2, $f4 +/* D7D484 80240934 00000000 */ nop +/* D7D488 80240938 45000003 */ bc1f .L80240948 +/* D7D48C 8024093C 00000000 */ nop +/* D7D490 80240940 08090276 */ j .L802409D8 +/* D7D494 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D7D498 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D7D49C 8024094C 3C014334 */ lui $at, 0x4334 +/* D7D4A0 80240950 44812000 */ mtc1 $at, $f4 +/* D7D4A4 80240954 00000000 */ nop +/* D7D4A8 80240958 4600203C */ c.lt.s $f4, $f0 +/* D7D4AC 8024095C 00000000 */ nop +/* D7D4B0 80240960 4500000C */ bc1f .L80240994 +/* D7D4B4 80240964 00000000 */ nop +/* D7D4B8 80240968 3C014387 */ lui $at, 0x4387 +/* D7D4BC 8024096C 44812000 */ mtc1 $at, $f4 +/* D7D4C0 80240970 00000000 */ nop +/* D7D4C4 80240974 4604003E */ c.le.s $f0, $f4 +/* D7D4C8 80240978 00000000 */ nop +/* D7D4CC 8024097C 45000008 */ bc1f .L802409A0 +/* D7D4D0 80240980 00000000 */ nop +/* D7D4D4 80240984 3C014334 */ lui $at, 0x4334 +/* D7D4D8 80240988 44812000 */ mtc1 $at, $f4 +/* D7D4DC 8024098C 08090276 */ j .L802409D8 +/* D7D4E0 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D7D4E4 80240994 3C014387 */ lui $at, 0x4387 +/* D7D4E8 80240998 44812000 */ mtc1 $at, $f4 +/* D7D4EC 8024099C 00000000 */ nop +.L802409A0: +/* D7D4F0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D7D4F4 802409A4 00000000 */ nop +/* D7D4F8 802409A8 4500000A */ bc1f .L802409D4 +/* D7D4FC 802409AC 00000000 */ nop +/* D7D500 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D7D504 802409B4 44811000 */ mtc1 $at, $f2 +/* D7D508 802409B8 00000000 */ nop +/* D7D50C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D7D510 802409C0 00000000 */ nop +/* D7D514 802409C4 45000003 */ bc1f .L802409D4 +/* D7D518 802409C8 00000000 */ nop +/* D7D51C 802409CC 08090276 */ j .L802409D8 +/* D7D520 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D7D524 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D7D528 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D7D52C 802409DC 44810000 */ mtc1 $at, $f0 +/* D7D530 802409E0 00000000 */ nop +/* D7D534 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D7D538 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D7D53C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D7D540 802409F0 00000000 */ nop +/* D7D544 802409F4 00071100 */ sll $v0, $a3, 4 +/* D7D548 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D7D54C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D7D550 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D7D554 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D7D558 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D7D55C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D7D560 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D7D564 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D7D568 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D7D56C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D7D570 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D7D574 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D7D578 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D7D57C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D7D580 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D7D584 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D7D588 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D7D58C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D7D590 80240A40 0C019EC8 */ jal guRotateF +/* D7D594 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D598 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D7D59C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D7D5A0 80240A50 00000000 */ nop +/* D7D5A4 80240A54 44050000 */ mfc1 $a1, $f0 +/* D7D5A8 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D7D5AC 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D7D5B0 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D7D5B4 80240A64 44812000 */ mtc1 $at, $f4 +/* D7D5B8 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D5BC 80240A6C 0C019EC8 */ jal guRotateF +/* D7D5C0 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D7D5C4 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D7D5C8 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D7D5CC 80240A7C 0C019D80 */ jal guMtxCatF +/* D7D5D0 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D7D5D4 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7D5D8 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7D5DC 80240A8C 080902D6 */ j .L80240B58 +/* D7D5E0 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D7D5E4 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D7D5E8 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D7D5EC 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D7D5F0 80240AA0 0C03964E */ jal func_800E5938 +/* D7D5F4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D7D5F8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D7D5FC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D7D600 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D7D604 80240AB4 46000606 */ mov.s $f24, $f0 +/* D7D608 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D7D60C 80240ABC 080902B5 */ j .L80240AD4 +/* D7D610 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D7D614 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D7D618 80240AC8 00000000 */ nop +/* D7D61C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D7D620 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D7D624 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D7D628 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D7D62C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D7D630 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D7D634 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D7D638 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D7D63C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D7D640 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D7D644 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D7D648 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D7D64C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D7D650 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D7D654 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D7D658 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D7D65C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D660 80240B10 0C019EC8 */ jal guRotateF +/* D7D664 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D668 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D7D66C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D7D670 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D7D674 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D7D678 80240B28 0C019EC8 */ jal guRotateF +/* D7D67C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D680 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D7D684 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D7D688 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D7D68C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D690 80240B40 0C019EC8 */ jal guRotateF +/* D7D694 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D698 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D7D69C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D7D6A0 80240B50 0C019D80 */ jal guMtxCatF +/* D7D6A4 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D7D6A8 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D7D6AC 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D7D6B0 80240B60 44812000 */ mtc1 $at, $f4 +/* D7D6B4 80240B64 00021023 */ negu $v0, $v0 +/* D7D6B8 80240B68 44820000 */ mtc1 $v0, $f0 +/* D7D6BC 80240B6C 00000000 */ nop +/* D7D6C0 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D7D6C4 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D7D6C8 80240B78 00000000 */ nop +/* D7D6CC 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D7D6D0 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D7D6D4 80240B84 44062000 */ mfc1 $a2, $f4 +/* D7D6D8 80240B88 0C019E40 */ jal guTranslateF +/* D7D6DC 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D7D6E0 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D7D6E4 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D7D6E8 80240B98 0C019D80 */ jal guMtxCatF +/* D7D6EC 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D7D6F0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D7D6F4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D7D6F8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D7D6FC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D7D700 80240BB0 0C019EC8 */ jal guRotateF +/* D7D704 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D708 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D70C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D7D710 80240BC0 0C019D80 */ jal guMtxCatF +/* D7D714 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D7D718 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D7D71C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D7D720 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D7D724 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D7D728 80240BD8 0C019EC8 */ jal guRotateF +/* D7D72C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D7D730 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D734 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D7D738 80240BE8 0C019D80 */ jal guMtxCatF +/* D7D73C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D7D740 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D7D744 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D7D748 80240BF8 44812000 */ mtc1 $at, $f4 +/* D7D74C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D7D750 80240C00 00000000 */ nop +/* D7D754 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D7D758 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D7D75C 80240C0C 00000000 */ nop +/* D7D760 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D7D764 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D7D768 80240C18 44062000 */ mfc1 $a2, $f4 +/* D7D76C 80240C1C 0C019E40 */ jal guTranslateF +/* D7D770 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D7D774 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D778 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D7D77C 80240C2C 0C019D80 */ jal guMtxCatF +/* D7D780 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D7D784 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D7D788 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D7D78C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D7D790 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D7D794 80240C44 44050000 */ mfc1 $a1, $f0 +/* D7D798 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D7D79C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D7D7A0 80240C50 0C019DF0 */ jal guScaleF +/* D7D7A4 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D7D7A8 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D7AC 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D7D7B0 80240C60 0C019D80 */ jal guMtxCatF +/* D7D7B4 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D7D7B8 80240C68 4600D687 */ neg.s $f26, $f26 +/* D7D7BC 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D7D7C0 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D7D7C4 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D7D7C8 80240C78 0C019E40 */ jal guTranslateF +/* D7D7CC 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D7D7D0 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D7D7D4 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D7D7D8 80240C88 0C019D80 */ jal guMtxCatF +/* D7D7DC 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D7D7E0 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D7D7E4 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D7D7E8 80240C98 44810000 */ mtc1 $at, $f0 +/* D7D7EC 80240C9C 00000000 */ nop +/* D7D7F0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D7D7F4 80240CA4 00000000 */ nop +/* D7D7F8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D7D7FC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D7D800 80240CB0 3C014387 */ lui $at, 0x4387 +/* D7D804 80240CB4 44812000 */ mtc1 $at, $f4 +/* D7D808 80240CB8 00000000 */ nop +/* D7D80C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D7D810 80240CC0 00000000 */ nop +/* D7D814 80240CC4 45000004 */ bc1f .L80240CD8 +/* D7D818 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D7D81C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D7D820 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D7D824 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D7D828 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D7D82C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D7D830 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D7D834 80240CE4 0C0B7710 */ jal render_sprite +/* D7D838 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D7D83C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D7D840 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D7D844 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D7D848 80240CF8 00000000 */ nop +/* D7D84C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D7D850 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D7D854 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D7D858 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D7D85C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D7D860 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D7D864 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D7D868 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D7D86C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D7D870 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D7D874 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D7D878 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D7D87C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D7D880 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D7D884 80240D34 03E00008 */ jr $ra +/* D7D888 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240D3C_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240D3C_D7CB50.s new file mode 100644 index 0000000000..89a05915a1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240D3C_D7CB50.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D7D88C +/* D7D88C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7D890 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D7D894 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D7D898 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D7D89C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D7D8A0 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D7D8A4 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D7D8A8 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D7D8AC 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D7D8B0 80240D60 00000000 */ nop +/* D7D8B4 80240D64 28620002 */ slti $v0, $v1, 2 +/* D7D8B8 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D7D8BC 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D7D8C0 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D7D8C4 80240D74 00000000 */ nop +/* D7D8C8 80240D78 08090378 */ j .L80240DE0 +/* D7D8CC 80240D7C 00000000 */ nop +.L80240D80: +/* D7D8D0 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D7D8D4 80240D84 00000000 */ nop +/* D7D8D8 80240D88 08090378 */ j .L80240DE0 +/* D7D8DC 80240D8C 00000000 */ nop +.L80240D90: +/* D7D8E0 80240D90 3C048024 */ lui $a0, 0x8024 +/* D7D8E4 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D7D8E8 80240D98 08090374 */ j .L80240DD0 +/* D7D8EC 80240D9C 00000000 */ nop +.L80240DA0: +/* D7D8F0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D7D8F4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D7D8F8 80240DA8 08090374 */ j .L80240DD0 +/* D7D8FC 80240DAC 00000000 */ nop +.L80240DB0: +/* D7D900 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D7D904 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D7D908 80240DB8 00000000 */ nop +/* D7D90C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D7D910 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D7D914 80240DC4 00000000 */ nop +.L80240DC8: +/* D7D918 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D7D91C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D7D920 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D7D924 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D7D928 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D7D92C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D7D930 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D7D934 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D7D938 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D7D93C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D7D940 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D7D944 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D7D948 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D7D94C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D7D950 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D7D954 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D7D958 80240E08 28820002 */ slti $v0, $a0, 2 +/* D7D95C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D7D960 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D7D964 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D7D968 80240E18 00000000 */ nop +/* D7D96C 80240E1C 0809039D */ j .L80240E74 +/* D7D970 80240E20 00000000 */ nop +.L80240E24: +/* D7D974 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D7D978 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D7D97C 80240E2C 0809039D */ j .L80240E74 +/* D7D980 80240E30 00000000 */ nop +.L80240E34: +/* D7D984 80240E34 8CA20000 */ lw $v0, ($a1) +/* D7D988 80240E38 0809039A */ j .L80240E68 +/* D7D98C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D7D990 80240E40 8CA20000 */ lw $v0, ($a1) +/* D7D994 80240E44 0809039A */ j .L80240E68 +/* D7D998 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D7D99C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D7D9A0 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D7D9A4 80240E54 28420002 */ slti $v0, $v0, 2 +/* D7D9A8 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D7D9AC 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D7D9B0 80240E60 8CA20000 */ lw $v0, ($a1) +/* D7D9B4 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D7D9B8 80240E68 00431025 */ or $v0, $v0, $v1 +/* D7D9BC 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D7D9C0 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D7D9C4 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D7D9C8 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D7D9CC 80240E7C 03E00008 */ jr $ra +/* D7D9D0 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240E84_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240E84_D7CB50.s new file mode 100644 index 0000000000..ea49f421f8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240E84_D7CB50.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D7D9D4 +/* D7D9D4 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7D9D8 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D7D9DC 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D7D9E0 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D7D9E4 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D7D9E8 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D7D9EC 80240E9C 3C03000A */ lui $v1, 0xa +/* D7D9F0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D7D9F4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D7D9F8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D7D9FC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D7DA00 80240EB0 03E00008 */ jr $ra +/* D7DA04 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240EB8_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240EB8_D7CB50.s new file mode 100644 index 0000000000..1dd8da396c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240EB8_D7CB50.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D7DA08 +/* D7DA08 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7DA0C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D7DA10 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D7DA14 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D7DA18 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D7DA1C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D7DA20 80240ED0 3C030008 */ lui $v1, 8 +/* D7DA24 80240ED4 8C820000 */ lw $v0, ($a0) +/* D7DA28 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D7DA2C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D7DA30 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D7DA34 80240EE4 03E00008 */ jr $ra +/* D7DA38 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240EEC_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240EEC_D7CB50.s new file mode 100644 index 0000000000..5fcc6c0966 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240EEC_D7CB50.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D7DA3C +/* D7DA3C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7DA40 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D7DA44 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D7DA48 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D7DA4C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D7DA50 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D7DA54 80240F04 3C030002 */ lui $v1, 2 +/* D7DA58 80240F08 8C820000 */ lw $v0, ($a0) +/* D7DA5C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D7DA60 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D7DA64 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D7DA68 80240F18 03E00008 */ jr $ra +/* D7DA6C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_80240F20_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_80240F20_D7CB50.s new file mode 100644 index 0000000000..b877f01518 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_80240F20_D7CB50.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D7DA70 +/* D7DA70 80240F20 8FAC0010 */ lw $t4, 0x10($sp) +/* D7DA74 80240F24 240300FF */ addiu $v1, $zero, 0xff +/* D7DA78 80240F28 0180502D */ daddu $t2, $t4, $zero +/* D7DA7C 80240F2C 29420100 */ slti $v0, $t2, 0x100 +/* D7DA80 80240F30 14400002 */ bnez $v0, .L80240F3C +/* D7DA84 80240F34 006C5823 */ subu $t3, $v1, $t4 +/* D7DA88 80240F38 0060502D */ daddu $t2, $v1, $zero +.L80240F3C: +/* D7DA8C 80240F3C 0000482D */ daddu $t1, $zero, $zero +/* D7DA90 80240F40 18E00059 */ blez $a3, .L802410A8 +/* D7DA94 80240F44 006A6823 */ subu $t5, $v1, $t2 +/* D7DA98 80240F48 3C088080 */ lui $t0, 0x8080 +/* D7DA9C 80240F4C 35088081 */ ori $t0, $t0, 0x8081 +.L80240F50: +/* D7DAA0 80240F50 84820000 */ lh $v0, ($a0) +/* D7DAA4 80240F54 004B0018 */ mult $v0, $t3 +/* D7DAA8 80240F58 00001812 */ mflo $v1 +/* D7DAAC 80240F5C 84A20000 */ lh $v0, ($a1) +/* D7DAB0 80240F60 00000000 */ nop +/* D7DAB4 80240F64 004C0018 */ mult $v0, $t4 +/* D7DAB8 80240F68 00001012 */ mflo $v0 +/* D7DABC 80240F6C 00621821 */ addu $v1, $v1, $v0 +/* D7DAC0 80240F70 00000000 */ nop +/* D7DAC4 80240F74 00680018 */ mult $v1, $t0 +/* D7DAC8 80240F78 00001010 */ mfhi $v0 +/* D7DACC 80240F7C 00431021 */ addu $v0, $v0, $v1 +/* D7DAD0 80240F80 000211C3 */ sra $v0, $v0, 7 +/* D7DAD4 80240F84 00031FC3 */ sra $v1, $v1, 0x1f +/* D7DAD8 80240F88 00431023 */ subu $v0, $v0, $v1 +/* D7DADC 80240F8C A4C20000 */ sh $v0, ($a2) +/* D7DAE0 80240F90 84820002 */ lh $v0, 2($a0) +/* D7DAE4 80240F94 004B0018 */ mult $v0, $t3 +/* D7DAE8 80240F98 00001812 */ mflo $v1 +/* D7DAEC 80240F9C 84A20002 */ lh $v0, 2($a1) +/* D7DAF0 80240FA0 00000000 */ nop +/* D7DAF4 80240FA4 004C0018 */ mult $v0, $t4 +/* D7DAF8 80240FA8 00001012 */ mflo $v0 +/* D7DAFC 80240FAC 00621821 */ addu $v1, $v1, $v0 +/* D7DB00 80240FB0 00000000 */ nop +/* D7DB04 80240FB4 00680018 */ mult $v1, $t0 +/* D7DB08 80240FB8 00001010 */ mfhi $v0 +/* D7DB0C 80240FBC 00431021 */ addu $v0, $v0, $v1 +/* D7DB10 80240FC0 000211C3 */ sra $v0, $v0, 7 +/* D7DB14 80240FC4 00031FC3 */ sra $v1, $v1, 0x1f +/* D7DB18 80240FC8 00431023 */ subu $v0, $v0, $v1 +/* D7DB1C 80240FCC A4C20002 */ sh $v0, 2($a2) +/* D7DB20 80240FD0 84820004 */ lh $v0, 4($a0) +/* D7DB24 80240FD4 004B0018 */ mult $v0, $t3 +/* D7DB28 80240FD8 00001812 */ mflo $v1 +/* D7DB2C 80240FDC 84A20004 */ lh $v0, 4($a1) +/* D7DB30 80240FE0 00000000 */ nop +/* D7DB34 80240FE4 004C0018 */ mult $v0, $t4 +/* D7DB38 80240FE8 00001012 */ mflo $v0 +/* D7DB3C 80240FEC 00621821 */ addu $v1, $v1, $v0 +/* D7DB40 80240FF0 00000000 */ nop +/* D7DB44 80240FF4 00680018 */ mult $v1, $t0 +/* D7DB48 80240FF8 00001010 */ mfhi $v0 +/* D7DB4C 80240FFC 00431021 */ addu $v0, $v0, $v1 +/* D7DB50 80241000 000211C3 */ sra $v0, $v0, 7 +/* D7DB54 80241004 00031FC3 */ sra $v1, $v1, 0x1f +/* D7DB58 80241008 00431023 */ subu $v0, $v0, $v1 +/* D7DB5C 8024100C A4C20004 */ sh $v0, 4($a2) +/* D7DB60 80241010 84820008 */ lh $v0, 8($a0) +/* D7DB64 80241014 004D0018 */ mult $v0, $t5 +/* D7DB68 80241018 00001812 */ mflo $v1 +/* D7DB6C 8024101C 84A20008 */ lh $v0, 8($a1) +/* D7DB70 80241020 00000000 */ nop +/* D7DB74 80241024 004A0018 */ mult $v0, $t2 +/* D7DB78 80241028 00001012 */ mflo $v0 +/* D7DB7C 8024102C 00621821 */ addu $v1, $v1, $v0 +/* D7DB80 80241030 00000000 */ nop +/* D7DB84 80241034 00680018 */ mult $v1, $t0 +/* D7DB88 80241038 00001010 */ mfhi $v0 +/* D7DB8C 8024103C 00431021 */ addu $v0, $v0, $v1 +/* D7DB90 80241040 000211C3 */ sra $v0, $v0, 7 +/* D7DB94 80241044 00031FC3 */ sra $v1, $v1, 0x1f +/* D7DB98 80241048 00431023 */ subu $v0, $v0, $v1 +/* D7DB9C 8024104C A4C20008 */ sh $v0, 8($a2) +/* D7DBA0 80241050 8482000A */ lh $v0, 0xa($a0) +/* D7DBA4 80241054 004D0018 */ mult $v0, $t5 +/* D7DBA8 80241058 00001812 */ mflo $v1 +/* D7DBAC 8024105C 84A2000A */ lh $v0, 0xa($a1) +/* D7DBB0 80241060 00000000 */ nop +/* D7DBB4 80241064 004A0018 */ mult $v0, $t2 +/* D7DBB8 80241068 00001012 */ mflo $v0 +/* D7DBBC 8024106C 00621821 */ addu $v1, $v1, $v0 +/* D7DBC0 80241070 00000000 */ nop +/* D7DBC4 80241074 00680018 */ mult $v1, $t0 +/* D7DBC8 80241078 25290001 */ addiu $t1, $t1, 1 +/* D7DBCC 8024107C 24840010 */ addiu $a0, $a0, 0x10 +/* D7DBD0 80241080 24A50010 */ addiu $a1, $a1, 0x10 +/* D7DBD4 80241084 00001010 */ mfhi $v0 +/* D7DBD8 80241088 00431021 */ addu $v0, $v0, $v1 +/* D7DBDC 8024108C 000211C3 */ sra $v0, $v0, 7 +/* D7DBE0 80241090 00031FC3 */ sra $v1, $v1, 0x1f +/* D7DBE4 80241094 00431023 */ subu $v0, $v0, $v1 +/* D7DBE8 80241098 A4C2000A */ sh $v0, 0xa($a2) +/* D7DBEC 8024109C 0127102A */ slt $v0, $t1, $a3 +/* D7DBF0 802410A0 1440FFAB */ bnez $v0, .L80240F50 +/* D7DBF4 802410A4 24C60010 */ addiu $a2, $a2, 0x10 +.L802410A8: +/* D7DBF8 802410A8 03E00008 */ jr $ra +/* D7DBFC 802410AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_802410B0_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_802410B0_D7CB50.s new file mode 100644 index 0000000000..5eb0e1055b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_802410B0_D7CB50.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410B0_D7DC00 +/* D7DC00 802410B0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D7DC04 802410B4 AFB00030 */ sw $s0, 0x30($sp) +/* D7DC08 802410B8 0080802D */ daddu $s0, $a0, $zero +/* D7DC0C 802410BC 0000202D */ daddu $a0, $zero, $zero +/* D7DC10 802410C0 3C05FD05 */ lui $a1, 0xfd05 +/* D7DC14 802410C4 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7DC18 802410C8 AFBF003C */ sw $ra, 0x3c($sp) +/* D7DC1C 802410CC AFB20038 */ sw $s2, 0x38($sp) +/* D7DC20 802410D0 0C0B1EAF */ jal get_variable +/* D7DC24 802410D4 AFB10034 */ sw $s1, 0x34($sp) +/* D7DC28 802410D8 0040902D */ daddu $s2, $v0, $zero +/* D7DC2C 802410DC 2A420100 */ slti $v0, $s2, 0x100 +/* D7DC30 802410E0 10400017 */ beqz $v0, .L80241140 +/* D7DC34 802410E4 00101040 */ sll $v0, $s0, 1 +/* D7DC38 802410E8 00508821 */ addu $s1, $v0, $s0 +/* D7DC3C 802410EC 0220202D */ daddu $a0, $s1, $zero +/* D7DC40 802410F0 27A50018 */ addiu $a1, $sp, 0x18 +/* D7DC44 802410F4 27A6001C */ addiu $a2, $sp, 0x1c +/* D7DC48 802410F8 27B00020 */ addiu $s0, $sp, 0x20 +/* D7DC4C 802410FC 0C0470AC */ jal func_8011C2B0 +/* D7DC50 80241100 0200382D */ daddu $a3, $s0, $zero +/* D7DC54 80241104 26240001 */ addiu $a0, $s1, 1 +/* D7DC58 80241108 27A50024 */ addiu $a1, $sp, 0x24 +/* D7DC5C 8024110C 27A60028 */ addiu $a2, $sp, 0x28 +/* D7DC60 80241110 0C0470AC */ jal func_8011C2B0 +/* D7DC64 80241114 0200382D */ daddu $a3, $s0, $zero +/* D7DC68 80241118 8FA40024 */ lw $a0, 0x24($sp) +/* D7DC6C 8024111C 8FA50018 */ lw $a1, 0x18($sp) +/* D7DC70 80241120 8FA6001C */ lw $a2, 0x1c($sp) +/* D7DC74 80241124 8FA70020 */ lw $a3, 0x20($sp) +/* D7DC78 80241128 0C0903C8 */ jal func_80240F20 +/* D7DC7C 8024112C AFB20010 */ sw $s2, 0x10($sp) +/* D7DC80 80241130 12400022 */ beqz $s2, .L802411BC +/* D7DC84 80241134 00000000 */ nop +/* D7DC88 80241138 08090464 */ j .L80241190 +/* D7DC8C 8024113C 00000000 */ nop +.L80241140: +/* D7DC90 80241140 00108840 */ sll $s1, $s0, 1 +/* D7DC94 80241144 02308821 */ addu $s1, $s1, $s0 +/* D7DC98 80241148 0220202D */ daddu $a0, $s1, $zero +/* D7DC9C 8024114C 27A50018 */ addiu $a1, $sp, 0x18 +/* D7DCA0 80241150 27A6001C */ addiu $a2, $sp, 0x1c +/* D7DCA4 80241154 27B00020 */ addiu $s0, $sp, 0x20 +/* D7DCA8 80241158 0C0470AC */ jal func_8011C2B0 +/* D7DCAC 8024115C 0200382D */ daddu $a3, $s0, $zero +/* D7DCB0 80241160 26240002 */ addiu $a0, $s1, 2 +/* D7DCB4 80241164 27A50024 */ addiu $a1, $sp, 0x24 +/* D7DCB8 80241168 27A60028 */ addiu $a2, $sp, 0x28 +/* D7DCBC 8024116C 0C0470AC */ jal func_8011C2B0 +/* D7DCC0 80241170 0200382D */ daddu $a3, $s0, $zero +/* D7DCC4 80241174 8FA40018 */ lw $a0, 0x18($sp) +/* D7DCC8 80241178 8FA50024 */ lw $a1, 0x24($sp) +/* D7DCCC 8024117C 8FA6001C */ lw $a2, 0x1c($sp) +/* D7DCD0 80241180 8FA70020 */ lw $a3, 0x20($sp) +/* D7DCD4 80241184 2642FF00 */ addiu $v0, $s2, -0x100 +/* D7DCD8 80241188 0C0903C8 */ jal func_80240F20 +/* D7DCDC 8024118C AFA20010 */ sw $v0, 0x10($sp) +.L80241190: +/* D7DCE0 80241190 3C03800A */ lui $v1, 0x800a +/* D7DCE4 80241194 2463A66C */ addiu $v1, $v1, -0x5994 +/* D7DCE8 80241198 8C620000 */ lw $v0, ($v1) +/* D7DCEC 8024119C 0220202D */ daddu $a0, $s1, $zero +/* D7DCF0 802411A0 0040802D */ daddu $s0, $v0, $zero +/* D7DCF4 802411A4 24420008 */ addiu $v0, $v0, 8 +/* D7DCF8 802411A8 AC620000 */ sw $v0, ($v1) +/* D7DCFC 802411AC 3C02DE00 */ lui $v0, 0xde00 +/* D7DD00 802411B0 0C0470BB */ jal func_8011C2EC +/* D7DD04 802411B4 AE020000 */ sw $v0, ($s0) +/* D7DD08 802411B8 AE020004 */ sw $v0, 4($s0) +.L802411BC: +/* D7DD0C 802411BC 8FBF003C */ lw $ra, 0x3c($sp) +/* D7DD10 802411C0 8FB20038 */ lw $s2, 0x38($sp) +/* D7DD14 802411C4 8FB10034 */ lw $s1, 0x34($sp) +/* D7DD18 802411C8 8FB00030 */ lw $s0, 0x30($sp) +/* D7DD1C 802411CC 03E00008 */ jr $ra +/* D7DD20 802411D0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_pra/pra_29/func_802411D4_D7CB50.s b/asm/nonmatchings/world/area_pra/pra_29/func_802411D4_D7CB50.s new file mode 100644 index 0000000000..ecf52834cd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_29/func_802411D4_D7CB50.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411D4_D7DD24 +/* D7DD24 802411D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D7DD28 802411D8 AFB1001C */ sw $s1, 0x1c($sp) +/* D7DD2C 802411DC 0080882D */ daddu $s1, $a0, $zero +/* D7DD30 802411E0 AFBF0024 */ sw $ra, 0x24($sp) +/* D7DD34 802411E4 AFB20020 */ sw $s2, 0x20($sp) +/* D7DD38 802411E8 AFB00018 */ sw $s0, 0x18($sp) +/* D7DD3C 802411EC 8E30000C */ lw $s0, 0xc($s1) +/* D7DD40 802411F0 8E050000 */ lw $a1, ($s0) +/* D7DD44 802411F4 0C0B1EAF */ jal get_variable +/* D7DD48 802411F8 26100004 */ addiu $s0, $s0, 4 +/* D7DD4C 802411FC 8E050000 */ lw $a1, ($s0) +/* D7DD50 80241200 26100004 */ addiu $s0, $s0, 4 +/* D7DD54 80241204 0220202D */ daddu $a0, $s1, $zero +/* D7DD58 80241208 0C0B1EAF */ jal get_variable +/* D7DD5C 8024120C 0040902D */ daddu $s2, $v0, $zero +/* D7DD60 80241210 0220202D */ daddu $a0, $s1, $zero +/* D7DD64 80241214 8E050000 */ lw $a1, ($s0) +/* D7DD68 80241218 0C0B1EAF */ jal get_variable +/* D7DD6C 8024121C 0040802D */ daddu $s0, $v0, $zero +/* D7DD70 80241220 44920000 */ mtc1 $s2, $f0 +/* D7DD74 80241224 00000000 */ nop +/* D7DD78 80241228 46800020 */ cvt.s.w $f0, $f0 +/* D7DD7C 8024122C 44050000 */ mfc1 $a1, $f0 +/* D7DD80 80241230 44900000 */ mtc1 $s0, $f0 +/* D7DD84 80241234 00000000 */ nop +/* D7DD88 80241238 46800020 */ cvt.s.w $f0, $f0 +/* D7DD8C 8024123C 44060000 */ mfc1 $a2, $f0 +/* D7DD90 80241240 44820000 */ mtc1 $v0, $f0 +/* D7DD94 80241244 00000000 */ nop +/* D7DD98 80241248 46800020 */ cvt.s.w $f0, $f0 +/* D7DD9C 8024124C 44070000 */ mfc1 $a3, $f0 +/* D7DDA0 80241250 0000202D */ daddu $a0, $zero, $zero +/* D7DDA4 80241254 0C01C16C */ jal func_800705B0 +/* D7DDA8 80241258 AFA00010 */ sw $zero, 0x10($sp) +/* D7DDAC 8024125C 8FBF0024 */ lw $ra, 0x24($sp) +/* D7DDB0 80241260 8FB20020 */ lw $s2, 0x20($sp) +/* D7DDB4 80241264 8FB1001C */ lw $s1, 0x1c($sp) +/* D7DDB8 80241268 8FB00018 */ lw $s0, 0x18($sp) +/* D7DDBC 8024126C 24020002 */ addiu $v0, $zero, 2 +/* D7DDC0 80241270 03E00008 */ jr $ra +/* D7DDC4 80241274 27BD0028 */ addiu $sp, $sp, 0x28 +/* D7DDC8 80241278 00000000 */ nop +/* D7DDCC 8024127C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_31/delete_actor_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/delete_actor_D7ED60.s new file mode 100644 index 0000000000..4b0d41a8d0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/delete_actor_D7ED60.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel delete_actor_D7F91C +/* D7F91C 80240BBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7F920 80240BC0 AFB10014 */ sw $s1, 0x14($sp) +/* D7F924 80240BC4 0080882D */ daddu $s1, $a0, $zero +/* D7F928 80240BC8 AFBF0018 */ sw $ra, 0x18($sp) +/* D7F92C 80240BCC AFB00010 */ sw $s0, 0x10($sp) +/* D7F930 80240BD0 8E22000C */ lw $v0, 0xc($s1) +/* D7F934 80240BD4 0C0B1EAF */ jal get_variable +/* D7F938 80240BD8 8C450000 */ lw $a1, ($v0) +/* D7F93C 80240BDC 0220202D */ daddu $a0, $s1, $zero +/* D7F940 80240BE0 3C05FD05 */ lui $a1, 0xfd05 +/* D7F944 80240BE4 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F948 80240BE8 0C0B1EAF */ jal get_variable +/* D7F94C 80240BEC 0040802D */ daddu $s0, $v0, $zero +/* D7F950 80240BF0 00101840 */ sll $v1, $s0, 1 +/* D7F954 80240BF4 00701821 */ addu $v1, $v1, $s0 +/* D7F958 80240BF8 000318C0 */ sll $v1, $v1, 3 +/* D7F95C 80240BFC 00431021 */ addu $v0, $v0, $v1 +/* D7F960 80240C00 C4400014 */ lwc1 $f0, 0x14($v0) +/* D7F964 80240C04 2402005A */ addiu $v0, $zero, 0x5a +/* D7F968 80240C08 4600008D */ trunc.w.s $f2, $f0 +/* D7F96C 80240C0C 44031000 */ mfc1 $v1, $f2 +/* D7F970 80240C10 00000000 */ nop +/* D7F974 80240C14 1062000F */ beq $v1, $v0, .L80240C54 +/* D7F978 80240C18 2862005B */ slti $v0, $v1, 0x5b +/* D7F97C 80240C1C 10400005 */ beqz $v0, .L80240C34 +/* D7F980 80240C20 240200B4 */ addiu $v0, $zero, 0xb4 +/* D7F984 80240C24 5060000C */ beql $v1, $zero, .L80240C58 +/* D7F988 80240C28 AE220084 */ sw $v0, 0x84($s1) +/* D7F98C 80240C2C 08090316 */ j .L80240C58 +/* D7F990 80240C30 00000000 */ nop +.L80240C34: +/* D7F994 80240C34 10620005 */ beq $v1, $v0, .L80240C4C +/* D7F998 80240C38 2402010E */ addiu $v0, $zero, 0x10e +/* D7F99C 80240C3C 50620006 */ beql $v1, $v0, .L80240C58 +/* D7F9A0 80240C40 AE230084 */ sw $v1, 0x84($s1) +/* D7F9A4 80240C44 08090316 */ j .L80240C58 +/* D7F9A8 80240C48 00000000 */ nop +.L80240C4C: +/* D7F9AC 80240C4C 08090316 */ j .L80240C58 +/* D7F9B0 80240C50 AE200084 */ sw $zero, 0x84($s1) +.L80240C54: +/* D7F9B4 80240C54 AE230084 */ sw $v1, 0x84($s1) +.L80240C58: +/* D7F9B8 80240C58 8FBF0018 */ lw $ra, 0x18($sp) +/* D7F9BC 80240C5C 8FB10014 */ lw $s1, 0x14($sp) +/* D7F9C0 80240C60 8FB00010 */ lw $s0, 0x10($sp) +/* D7F9C4 80240C64 24020002 */ addiu $v0, $zero, 2 +/* D7F9C8 80240C68 03E00008 */ jr $ra +/* D7F9CC 80240C6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240000_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240000_D7ED60.s new file mode 100644 index 0000000000..adad13c24e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240000_D7ED60.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D7ED60 +/* D7ED60 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D7ED64 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D7ED68 80240008 24020001 */ addiu $v0, $zero, 1 +/* D7ED6C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D7ED70 80240010 03E00008 */ jr $ra +/* D7ED74 80240014 0000102D */ daddu $v0, $zero, $zero +/* D7ED78 80240018 00000000 */ nop +/* D7ED7C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240020_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240020_D7ED60.s new file mode 100644 index 0000000000..d03dfbb14e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240020_D7ED60.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D7ED80 +/* D7ED80 80240020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7ED84 80240024 AFB10014 */ sw $s1, 0x14($sp) +/* D7ED88 80240028 0080882D */ daddu $s1, $a0, $zero +/* D7ED8C 8024002C AFBF0018 */ sw $ra, 0x18($sp) +/* D7ED90 80240030 AFB00010 */ sw $s0, 0x10($sp) +/* D7ED94 80240034 8E30000C */ lw $s0, 0xc($s1) +/* D7ED98 80240038 8E050000 */ lw $a1, ($s0) +/* D7ED9C 8024003C 0C0B1EAF */ jal get_variable +/* D7EDA0 80240040 26100004 */ addiu $s0, $s0, 4 +/* D7EDA4 80240044 0C00EAD2 */ jal get_npc_safe +/* D7EDA8 80240048 0040202D */ daddu $a0, $v0, $zero +/* D7EDAC 8024004C 10400005 */ beqz $v0, .L80240064 +/* D7EDB0 80240050 00000000 */ nop +/* D7EDB4 80240054 8E050000 */ lw $a1, ($s0) +/* D7EDB8 80240058 844600A8 */ lh $a2, 0xa8($v0) +/* D7EDBC 8024005C 0C0B2026 */ jal set_variable +/* D7EDC0 80240060 0220202D */ daddu $a0, $s1, $zero +.L80240064: +/* D7EDC4 80240064 8FBF0018 */ lw $ra, 0x18($sp) +/* D7EDC8 80240068 8FB10014 */ lw $s1, 0x14($sp) +/* D7EDCC 8024006C 8FB00010 */ lw $s0, 0x10($sp) +/* D7EDD0 80240070 24020002 */ addiu $v0, $zero, 2 +/* D7EDD4 80240074 03E00008 */ jr $ra +/* D7EDD8 80240078 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_8024007C_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_8024007C_D7ED60.s new file mode 100644 index 0000000000..98283a1fad --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_8024007C_D7ED60.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024007C_D7EDDC +/* D7EDDC 8024007C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D7EDE0 80240080 AFB10014 */ sw $s1, 0x14($sp) +/* D7EDE4 80240084 0080882D */ daddu $s1, $a0, $zero +/* D7EDE8 80240088 AFBF0024 */ sw $ra, 0x24($sp) +/* D7EDEC 8024008C AFB40020 */ sw $s4, 0x20($sp) +/* D7EDF0 80240090 AFB3001C */ sw $s3, 0x1c($sp) +/* D7EDF4 80240094 AFB20018 */ sw $s2, 0x18($sp) +/* D7EDF8 80240098 AFB00010 */ sw $s0, 0x10($sp) +/* D7EDFC 8024009C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D7EE00 802400A0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D7EE04 802400A4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D7EE08 802400A8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D7EE0C 802400AC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D7EE10 802400B0 8E30000C */ lw $s0, 0xc($s1) +/* D7EE14 802400B4 8E130000 */ lw $s3, ($s0) +/* D7EE18 802400B8 26100004 */ addiu $s0, $s0, 4 +/* D7EE1C 802400BC 0C0B1EAF */ jal get_variable +/* D7EE20 802400C0 0260282D */ daddu $a1, $s3, $zero +/* D7EE24 802400C4 4482E000 */ mtc1 $v0, $f28 +/* D7EE28 802400C8 00000000 */ nop +/* D7EE2C 802400CC 4680E720 */ cvt.s.w $f28, $f28 +/* D7EE30 802400D0 8E140000 */ lw $s4, ($s0) +/* D7EE34 802400D4 26100004 */ addiu $s0, $s0, 4 +/* D7EE38 802400D8 0220202D */ daddu $a0, $s1, $zero +/* D7EE3C 802400DC 0C0B1EAF */ jal get_variable +/* D7EE40 802400E0 0280282D */ daddu $a1, $s4, $zero +/* D7EE44 802400E4 4482D000 */ mtc1 $v0, $f26 +/* D7EE48 802400E8 00000000 */ nop +/* D7EE4C 802400EC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D7EE50 802400F0 8E100000 */ lw $s0, ($s0) +/* D7EE54 802400F4 0220202D */ daddu $a0, $s1, $zero +/* D7EE58 802400F8 0C0B1EAF */ jal get_variable +/* D7EE5C 802400FC 0200282D */ daddu $a1, $s0, $zero +/* D7EE60 80240100 4482C000 */ mtc1 $v0, $f24 +/* D7EE64 80240104 00000000 */ nop +/* D7EE68 80240108 4680C620 */ cvt.s.w $f24, $f24 +/* D7EE6C 8024010C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D7EE70 80240110 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D7EE74 80240114 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D7EE78 80240118 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D7EE7C 8024011C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D7EE80 80240120 44800000 */ mtc1 $zero, $f0 +/* D7EE84 80240124 00031080 */ sll $v0, $v1, 2 +/* D7EE88 80240128 00431021 */ addu $v0, $v0, $v1 +/* D7EE8C 8024012C 00021080 */ sll $v0, $v0, 2 +/* D7EE90 80240130 00431023 */ subu $v0, $v0, $v1 +/* D7EE94 80240134 000218C0 */ sll $v1, $v0, 3 +/* D7EE98 80240138 00431021 */ addu $v0, $v0, $v1 +/* D7EE9C 8024013C 000210C0 */ sll $v0, $v0, 3 +/* D7EEA0 80240140 46001032 */ c.eq.s $f2, $f0 +/* D7EEA4 80240144 3C01800B */ lui $at, 0x800b +/* D7EEA8 80240148 00220821 */ addu $at, $at, $v0 +/* D7EEAC 8024014C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D7EEB0 80240150 45000005 */ bc1f .L80240168 +/* D7EEB4 80240154 00000000 */ nop +/* D7EEB8 80240158 3C0142C8 */ lui $at, 0x42c8 +/* D7EEBC 8024015C 44810000 */ mtc1 $at, $f0 +/* D7EEC0 80240160 0809005E */ j .L80240178 +/* D7EEC4 80240164 4600B581 */ sub.s $f22, $f22, $f0 +.L80240168: +/* D7EEC8 80240168 3C0142C8 */ lui $at, 0x42c8 +/* D7EECC 8024016C 44810000 */ mtc1 $at, $f0 +/* D7EED0 80240170 00000000 */ nop +/* D7EED4 80240174 4600B580 */ add.s $f22, $f22, $f0 +.L80240178: +/* D7EED8 80240178 0C00A6C9 */ jal clamp_angle +/* D7EEDC 8024017C 4600B306 */ mov.s $f12, $f22 +/* D7EEE0 80240180 46000586 */ mov.s $f22, $f0 +/* D7EEE4 80240184 3C014170 */ lui $at, 0x4170 +/* D7EEE8 80240188 4481A000 */ mtc1 $at, $f20 +/* D7EEEC 8024018C 0C00A8BB */ jal sin_deg +/* D7EEF0 80240190 4600B306 */ mov.s $f12, $f22 +/* D7EEF4 80240194 46140002 */ mul.s $f0, $f0, $f20 +/* D7EEF8 80240198 00000000 */ nop +/* D7EEFC 8024019C 864200B0 */ lh $v0, 0xb0($s2) +/* D7EF00 802401A0 3C013F00 */ lui $at, 0x3f00 +/* D7EF04 802401A4 44812000 */ mtc1 $at, $f4 +/* D7EF08 802401A8 44821000 */ mtc1 $v0, $f2 +/* D7EF0C 802401AC 00000000 */ nop +/* D7EF10 802401B0 468010A0 */ cvt.s.w $f2, $f2 +/* D7EF14 802401B4 46041082 */ mul.s $f2, $f2, $f4 +/* D7EF18 802401B8 00000000 */ nop +/* D7EF1C 802401BC 4600E700 */ add.s $f28, $f28, $f0 +/* D7EF20 802401C0 4602D680 */ add.s $f26, $f26, $f2 +/* D7EF24 802401C4 0C00A8D4 */ jal cos_deg +/* D7EF28 802401C8 4600B306 */ mov.s $f12, $f22 +/* D7EF2C 802401CC 46140002 */ mul.s $f0, $f0, $f20 +/* D7EF30 802401D0 00000000 */ nop +/* D7EF34 802401D4 0220202D */ daddu $a0, $s1, $zero +/* D7EF38 802401D8 0260282D */ daddu $a1, $s3, $zero +/* D7EF3C 802401DC 4600E18D */ trunc.w.s $f6, $f28 +/* D7EF40 802401E0 44063000 */ mfc1 $a2, $f6 +/* D7EF44 802401E4 0C0B2026 */ jal set_variable +/* D7EF48 802401E8 4600C601 */ sub.s $f24, $f24, $f0 +/* D7EF4C 802401EC 0220202D */ daddu $a0, $s1, $zero +/* D7EF50 802401F0 4600D18D */ trunc.w.s $f6, $f26 +/* D7EF54 802401F4 44063000 */ mfc1 $a2, $f6 +/* D7EF58 802401F8 0C0B2026 */ jal set_variable +/* D7EF5C 802401FC 0280282D */ daddu $a1, $s4, $zero +/* D7EF60 80240200 0220202D */ daddu $a0, $s1, $zero +/* D7EF64 80240204 4600C18D */ trunc.w.s $f6, $f24 +/* D7EF68 80240208 44063000 */ mfc1 $a2, $f6 +/* D7EF6C 8024020C 0C0B2026 */ jal set_variable +/* D7EF70 80240210 0200282D */ daddu $a1, $s0, $zero +/* D7EF74 80240214 8FBF0024 */ lw $ra, 0x24($sp) +/* D7EF78 80240218 8FB40020 */ lw $s4, 0x20($sp) +/* D7EF7C 8024021C 8FB3001C */ lw $s3, 0x1c($sp) +/* D7EF80 80240220 8FB20018 */ lw $s2, 0x18($sp) +/* D7EF84 80240224 8FB10014 */ lw $s1, 0x14($sp) +/* D7EF88 80240228 8FB00010 */ lw $s0, 0x10($sp) +/* D7EF8C 8024022C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D7EF90 80240230 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D7EF94 80240234 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D7EF98 80240238 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D7EF9C 8024023C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D7EFA0 80240240 24020002 */ addiu $v0, $zero, 2 +/* D7EFA4 80240244 03E00008 */ jr $ra +/* D7EFA8 80240248 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_8024024C_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_8024024C_D7ED60.s new file mode 100644 index 0000000000..20749badc0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_8024024C_D7ED60.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024024C_D7EFAC +/* D7EFAC 8024024C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7EFB0 80240250 AFBF0010 */ sw $ra, 0x10($sp) +/* D7EFB4 80240254 10A00003 */ beqz $a1, .L80240264 +/* D7EFB8 80240258 8C86000C */ lw $a2, 0xc($a0) +/* D7EFBC 8024025C 3C018024 */ lui $at, 0x8024 +/* D7EFC0 80240260 AC20119C */ sw $zero, 0x119c($at) +.L80240264: +/* D7EFC4 80240264 3C038024 */ lui $v1, 0x8024 +/* D7EFC8 80240268 2463119C */ addiu $v1, $v1, 0x119c +/* D7EFCC 8024026C 8C620000 */ lw $v0, ($v1) +/* D7EFD0 80240270 54400003 */ bnel $v0, $zero, .L80240280 +/* D7EFD4 80240274 AC600000 */ sw $zero, ($v1) +/* D7EFD8 80240278 080900A5 */ j .L80240294 +/* D7EFDC 8024027C 0000102D */ daddu $v0, $zero, $zero +.L80240280: +/* D7EFE0 80240280 8CC50000 */ lw $a1, ($a2) +/* D7EFE4 80240284 3C068024 */ lui $a2, 0x8024 +/* D7EFE8 80240288 0C0B2026 */ jal set_variable +/* D7EFEC 8024028C 8CC611A0 */ lw $a2, 0x11a0($a2) +/* D7EFF0 80240290 24020002 */ addiu $v0, $zero, 2 +.L80240294: +/* D7EFF4 80240294 8FBF0010 */ lw $ra, 0x10($sp) +/* D7EFF8 80240298 03E00008 */ jr $ra +/* D7EFFC 8024029C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_802402A0_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_802402A0_D7ED60.s new file mode 100644 index 0000000000..c507d467c6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_802402A0_D7ED60.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402A0_D7F000 +/* D7F000 802402A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7F004 802402A4 AFBF0010 */ sw $ra, 0x10($sp) +/* D7F008 802402A8 8C82000C */ lw $v0, 0xc($a0) +/* D7F00C 802402AC 0C0B1EAF */ jal get_variable +/* D7F010 802402B0 8C450000 */ lw $a1, ($v0) +/* D7F014 802402B4 3C018024 */ lui $at, 0x8024 +/* D7F018 802402B8 AC2211A0 */ sw $v0, 0x11a0($at) +/* D7F01C 802402BC 24020002 */ addiu $v0, $zero, 2 +/* D7F020 802402C0 8FBF0010 */ lw $ra, 0x10($sp) +/* D7F024 802402C4 24030001 */ addiu $v1, $zero, 1 +/* D7F028 802402C8 3C018024 */ lui $at, 0x8024 +/* D7F02C 802402CC AC23119C */ sw $v1, 0x119c($at) +/* D7F030 802402D0 03E00008 */ jr $ra +/* D7F034 802402D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_802402D8.s b/asm/nonmatchings/world/area_pra/pra_31/func_802402D8.s new file mode 100644 index 0000000000..eaf521dd4f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_802402D8.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402D8 +/* D7F038 802402D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7F03C 802402DC AFBF0010 */ sw $ra, 0x10($sp) +/* D7F040 802402E0 8C82000C */ lw $v0, 0xc($a0) +/* D7F044 802402E4 0C0B1EAF */ jal get_variable +/* D7F048 802402E8 8C450000 */ lw $a1, ($v0) +/* D7F04C 802402EC 0040182D */ daddu $v1, $v0, $zero +/* D7F050 802402F0 10600012 */ beqz $v1, .L8024033C +/* D7F054 802402F4 0000202D */ daddu $a0, $zero, $zero +/* D7F058 802402F8 8C620000 */ lw $v0, ($v1) +/* D7F05C 802402FC 5040000A */ beql $v0, $zero, .L80240328 +/* D7F060 80240300 00041080 */ sll $v0, $a0, 2 +/* D7F064 80240304 3C058024 */ lui $a1, 0x8024 +/* D7F068 80240308 24A57CA0 */ addiu $a1, $a1, 0x7ca0 +.L8024030C: +/* D7F06C 8024030C 24630004 */ addiu $v1, $v1, 4 +/* D7F070 80240310 24840001 */ addiu $a0, $a0, 1 +/* D7F074 80240314 ACA20000 */ sw $v0, ($a1) +/* D7F078 80240318 8C620000 */ lw $v0, ($v1) +/* D7F07C 8024031C 1440FFFB */ bnez $v0, .L8024030C +/* D7F080 80240320 24A50004 */ addiu $a1, $a1, 4 +/* D7F084 80240324 00041080 */ sll $v0, $a0, 2 +.L80240328: +/* D7F088 80240328 3C018024 */ lui $at, 0x8024 +/* D7F08C 8024032C 00220821 */ addu $at, $at, $v0 +/* D7F090 80240330 AC207CA0 */ sw $zero, 0x7ca0($at) +/* D7F094 80240334 080900D9 */ j .L80240364 +/* D7F098 80240338 00000000 */ nop +.L8024033C: +/* D7F09C 8024033C 3C038024 */ lui $v1, 0x8024 +/* D7F0A0 80240340 24637CA0 */ addiu $v1, $v1, 0x7ca0 +/* D7F0A4 80240344 0060282D */ daddu $a1, $v1, $zero +.L80240348: +/* D7F0A8 80240348 24820010 */ addiu $v0, $a0, 0x10 +/* D7F0AC 8024034C AC620000 */ sw $v0, ($v1) +/* D7F0B0 80240350 24630004 */ addiu $v1, $v1, 4 +/* D7F0B4 80240354 24840001 */ addiu $a0, $a0, 1 +/* D7F0B8 80240358 28820070 */ slti $v0, $a0, 0x70 +/* D7F0BC 8024035C 1440FFFA */ bnez $v0, .L80240348 +/* D7F0C0 80240360 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240364: +/* D7F0C4 80240364 8FBF0010 */ lw $ra, 0x10($sp) +/* D7F0C8 80240368 24020002 */ addiu $v0, $zero, 2 +/* D7F0CC 8024036C 03E00008 */ jr $ra +/* D7F0D0 80240370 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240374_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240374_D7ED60.s new file mode 100644 index 0000000000..7e9cbf9b0d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240374_D7ED60.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240374_D7F0D4 +/* D7F0D4 80240374 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7F0D8 80240378 AFBF0010 */ sw $ra, 0x10($sp) +/* D7F0DC 8024037C 8C82000C */ lw $v0, 0xc($a0) +/* D7F0E0 80240380 0C0B1EAF */ jal get_variable +/* D7F0E4 80240384 8C450000 */ lw $a1, ($v0) +/* D7F0E8 80240388 0040182D */ daddu $v1, $v0, $zero +/* D7F0EC 8024038C 10600012 */ beqz $v1, .L802403D8 +/* D7F0F0 80240390 0000202D */ daddu $a0, $zero, $zero +/* D7F0F4 80240394 8C620000 */ lw $v0, ($v1) +/* D7F0F8 80240398 5040000A */ beql $v0, $zero, .L802403C4 +/* D7F0FC 8024039C 00041080 */ sll $v0, $a0, 2 +/* D7F100 802403A0 3C058024 */ lui $a1, 0x8024 +/* D7F104 802403A4 24A57E68 */ addiu $a1, $a1, 0x7e68 +.L802403A8: +/* D7F108 802403A8 24630004 */ addiu $v1, $v1, 4 +/* D7F10C 802403AC 24840001 */ addiu $a0, $a0, 1 +/* D7F110 802403B0 ACA20000 */ sw $v0, ($a1) +/* D7F114 802403B4 8C620000 */ lw $v0, ($v1) +/* D7F118 802403B8 1440FFFB */ bnez $v0, .L802403A8 +/* D7F11C 802403BC 24A50004 */ addiu $a1, $a1, 4 +/* D7F120 802403C0 00041080 */ sll $v0, $a0, 2 +.L802403C4: +/* D7F124 802403C4 3C018024 */ lui $at, 0x8024 +/* D7F128 802403C8 00220821 */ addu $at, $at, $v0 +/* D7F12C 802403CC AC207E68 */ sw $zero, 0x7e68($at) +/* D7F130 802403D0 08090100 */ j .L80240400 +/* D7F134 802403D4 00000000 */ nop +.L802403D8: +/* D7F138 802403D8 3C038024 */ lui $v1, 0x8024 +/* D7F13C 802403DC 24637E68 */ addiu $v1, $v1, 0x7e68 +/* D7F140 802403E0 0060282D */ daddu $a1, $v1, $zero +.L802403E4: +/* D7F144 802403E4 24820080 */ addiu $v0, $a0, 0x80 +/* D7F148 802403E8 AC620000 */ sw $v0, ($v1) +/* D7F14C 802403EC 24630004 */ addiu $v1, $v1, 4 +/* D7F150 802403F0 24840001 */ addiu $a0, $a0, 1 +/* D7F154 802403F4 2882005B */ slti $v0, $a0, 0x5b +/* D7F158 802403F8 1440FFFA */ bnez $v0, .L802403E4 +/* D7F15C 802403FC ACA0016C */ sw $zero, 0x16c($a1) +.L80240400: +/* D7F160 80240400 8FBF0010 */ lw $ra, 0x10($sp) +/* D7F164 80240404 24020002 */ addiu $v0, $zero, 2 +/* D7F168 80240408 03E00008 */ jr $ra +/* D7F16C 8024040C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240410_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240410_D7ED60.s new file mode 100644 index 0000000000..aa7afec0dd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240410_D7ED60.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410_D7F170 +/* D7F170 80240410 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7F174 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* D7F178 80240418 0080802D */ daddu $s0, $a0, $zero +/* D7F17C 8024041C AFBF0014 */ sw $ra, 0x14($sp) +/* D7F180 80240420 0C00EAD2 */ jal get_npc_safe +/* D7F184 80240424 8E04014C */ lw $a0, 0x14c($s0) +/* D7F188 80240428 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D7F18C 8024042C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D7F190 80240430 C44C0038 */ lwc1 $f12, 0x38($v0) +/* D7F194 80240434 C44E0040 */ lwc1 $f14, 0x40($v0) +/* D7F198 80240438 8C660028 */ lw $a2, 0x28($v1) +/* D7F19C 8024043C 0C00A720 */ jal atan2 +/* D7F1A0 80240440 8C670030 */ lw $a3, 0x30($v1) +/* D7F1A4 80240444 0C00A6C9 */ jal clamp_angle +/* D7F1A8 80240448 46000306 */ mov.s $f12, $f0 +/* D7F1AC 8024044C 4600008D */ trunc.w.s $f2, $f0 +/* D7F1B0 80240450 E6020084 */ swc1 $f2, 0x84($s0) +/* D7F1B4 80240454 8FBF0014 */ lw $ra, 0x14($sp) +/* D7F1B8 80240458 8FB00010 */ lw $s0, 0x10($sp) +/* D7F1BC 8024045C 24020002 */ addiu $v0, $zero, 2 +/* D7F1C0 80240460 03E00008 */ jr $ra +/* D7F1C4 80240464 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240468_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240468_D7ED60.s new file mode 100644 index 0000000000..31ba28cb2c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240468_D7ED60.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240468_D7F1C8 +/* D7F1C8 80240468 8C820084 */ lw $v0, 0x84($a0) +/* D7F1CC 8024046C 2442005A */ addiu $v0, $v0, 0x5a +/* D7F1D0 80240470 AC82009C */ sw $v0, 0x9c($a0) +/* D7F1D4 80240474 8C820098 */ lw $v0, 0x98($a0) +/* D7F1D8 80240478 8C83009C */ lw $v1, 0x9c($a0) +/* D7F1DC 8024047C 2442005A */ addiu $v0, $v0, 0x5a +/* D7F1E0 80240480 00621823 */ subu $v1, $v1, $v0 +/* D7F1E4 80240484 04620001 */ bltzl $v1, .L8024048C +/* D7F1E8 80240488 00031823 */ negu $v1, $v1 +.L8024048C: +/* D7F1EC 8024048C AC8200A0 */ sw $v0, 0xa0($a0) +/* D7F1F0 80240490 2402010E */ addiu $v0, $zero, 0x10e +/* D7F1F4 80240494 1462000C */ bne $v1, $v0, .L802404C8 +/* D7F1F8 80240498 AC8300A4 */ sw $v1, 0xa4($a0) +/* D7F1FC 8024049C 8C85009C */ lw $a1, 0x9c($a0) +/* D7F200 802404A0 8C8300A0 */ lw $v1, 0xa0($a0) +/* D7F204 802404A4 2402005A */ addiu $v0, $zero, 0x5a +/* D7F208 802404A8 AC8200A4 */ sw $v0, 0xa4($a0) +/* D7F20C 802404AC 0065102A */ slt $v0, $v1, $a1 +/* D7F210 802404B0 50400004 */ beql $v0, $zero, .L802404C4 +/* D7F214 802404B4 2462FE98 */ addiu $v0, $v1, -0x168 +/* D7F218 802404B8 24A2FE98 */ addiu $v0, $a1, -0x168 +/* D7F21C 802404BC 08090132 */ j .L802404C8 +/* D7F220 802404C0 AC82009C */ sw $v0, 0x9c($a0) +.L802404C4: +/* D7F224 802404C4 AC8200A0 */ sw $v0, 0xa0($a0) +.L802404C8: +/* D7F228 802404C8 3C03B60B */ lui $v1, 0xb60b +/* D7F22C 802404CC 8C8200A4 */ lw $v0, 0xa4($a0) +/* D7F230 802404D0 346360B7 */ ori $v1, $v1, 0x60b7 +/* D7F234 802404D4 00430018 */ mult $v0, $v1 +/* D7F238 802404D8 00003010 */ mfhi $a2 +/* D7F23C 802404DC 00C21821 */ addu $v1, $a2, $v0 +/* D7F240 802404E0 00031983 */ sra $v1, $v1, 6 +/* D7F244 802404E4 000217C3 */ sra $v0, $v0, 0x1f +/* D7F248 802404E8 00621823 */ subu $v1, $v1, $v0 +/* D7F24C 802404EC 00031080 */ sll $v0, $v1, 2 +/* D7F250 802404F0 00431021 */ addu $v0, $v0, $v1 +/* D7F254 802404F4 00021080 */ sll $v0, $v0, 2 +/* D7F258 802404F8 AC8200A4 */ sw $v0, 0xa4($a0) +/* D7F25C 802404FC 03E00008 */ jr $ra +/* D7F260 80240500 24020002 */ addiu $v0, $zero, 2 +/* D7F264 80240504 00000000 */ nop +/* D7F268 80240508 00000000 */ nop +/* D7F26C 8024050C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240510_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240510_D7ED60.s new file mode 100644 index 0000000000..e07e610937 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240510_D7ED60.s @@ -0,0 +1,214 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_D7F270 +/* D7F270 80240510 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7F274 80240514 AFB10014 */ sw $s1, 0x14($sp) +/* D7F278 80240518 0080882D */ daddu $s1, $a0, $zero +/* D7F27C 8024051C AFBF0018 */ sw $ra, 0x18($sp) +/* D7F280 80240520 10A0006B */ beqz $a1, .L802406D0 +/* D7F284 80240524 AFB00010 */ sw $s0, 0x10($sp) +/* D7F288 80240528 0C00AB39 */ jal heap_malloc +/* D7F28C 8024052C 24040080 */ addiu $a0, $zero, 0x80 +/* D7F290 80240530 0040802D */ daddu $s0, $v0, $zero +/* D7F294 80240534 0220202D */ daddu $a0, $s1, $zero +/* D7F298 80240538 3C05FD05 */ lui $a1, 0xfd05 +/* D7F29C 8024053C 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F2A0 80240540 0C0B2026 */ jal set_variable +/* D7F2A4 80240544 0200302D */ daddu $a2, $s0, $zero +/* D7F2A8 80240548 0220202D */ daddu $a0, $s1, $zero +/* D7F2AC 8024054C 3C05F5DE */ lui $a1, 0xf5de +/* D7F2B0 80240550 0C0B1EAF */ jal get_variable +/* D7F2B4 80240554 34A50180 */ ori $a1, $a1, 0x180 +/* D7F2B8 80240558 0040282D */ daddu $a1, $v0, $zero +/* D7F2BC 8024055C 0000382D */ daddu $a3, $zero, $zero +/* D7F2C0 80240560 00E0202D */ daddu $a0, $a3, $zero +.L80240564: +/* D7F2C4 80240564 0000302D */ daddu $a2, $zero, $zero +/* D7F2C8 80240568 0080182D */ daddu $v1, $a0, $zero +.L8024056C: +/* D7F2CC 8024056C 02031021 */ addu $v0, $s0, $v1 +/* D7F2D0 80240570 A4400048 */ sh $zero, 0x48($v0) +/* D7F2D4 80240574 24C60001 */ addiu $a2, $a2, 1 +/* D7F2D8 80240578 28C20009 */ slti $v0, $a2, 9 +/* D7F2DC 8024057C 1440FFFB */ bnez $v0, .L8024056C +/* D7F2E0 80240580 24630002 */ addiu $v1, $v1, 2 +/* D7F2E4 80240584 24E70001 */ addiu $a3, $a3, 1 +/* D7F2E8 80240588 28E20003 */ slti $v0, $a3, 3 +/* D7F2EC 8024058C 1440FFF5 */ bnez $v0, .L80240564 +/* D7F2F0 80240590 24840012 */ addiu $a0, $a0, 0x12 +/* D7F2F4 80240594 0000302D */ daddu $a2, $zero, $zero +/* D7F2F8 80240598 0200382D */ daddu $a3, $s0, $zero +/* D7F2FC 8024059C 28AA0055 */ slti $t2, $a1, 0x55 +/* D7F300 802405A0 240BFFFF */ addiu $t3, $zero, -1 +/* D7F304 802405A4 26050002 */ addiu $a1, $s0, 2 +/* D7F308 802405A8 3C098024 */ lui $t1, 0x8024 +/* D7F30C 802405AC 25292514 */ addiu $t1, $t1, 0x2514 +/* D7F310 802405B0 3C088024 */ lui $t0, 0x8024 +/* D7F314 802405B4 250824F0 */ addiu $t0, $t0, 0x24f0 +.L802405B8: +/* D7F318 802405B8 11400009 */ beqz $t2, .L802405E0 +/* D7F31C 802405BC 00000000 */ nop +/* D7F320 802405C0 95020002 */ lhu $v0, 2($t0) +/* D7F324 802405C4 A4E20000 */ sh $v0, ($a3) +/* D7F328 802405C8 95020006 */ lhu $v0, 6($t0) +/* D7F32C 802405CC A4A20000 */ sh $v0, ($a1) +/* D7F330 802405D0 C5000008 */ lwc1 $f0, 8($t0) +/* D7F334 802405D4 46800020 */ cvt.s.w $f0, $f0 +/* D7F338 802405D8 0809017F */ j .L802405FC +/* D7F33C 802405DC E4A00012 */ swc1 $f0, 0x12($a1) +.L802405E0: +/* D7F340 802405E0 95220002 */ lhu $v0, 2($t1) +/* D7F344 802405E4 A4E20000 */ sh $v0, ($a3) +/* D7F348 802405E8 95220006 */ lhu $v0, 6($t1) +/* D7F34C 802405EC A4A20000 */ sh $v0, ($a1) +/* D7F350 802405F0 C5200008 */ lwc1 $f0, 8($t1) +/* D7F354 802405F4 46800020 */ cvt.s.w $f0, $f0 +/* D7F358 802405F8 E4A00012 */ swc1 $f0, 0x12($a1) +.L802405FC: +/* D7F35C 802405FC 2529000C */ addiu $t1, $t1, 0xc +/* D7F360 80240600 2508000C */ addiu $t0, $t0, 0xc +/* D7F364 80240604 84E30000 */ lh $v1, ($a3) +/* D7F368 80240608 24C60001 */ addiu $a2, $a2, 1 +/* D7F36C 8024060C 00031040 */ sll $v0, $v1, 1 +/* D7F370 80240610 00431021 */ addu $v0, $v0, $v1 +/* D7F374 80240614 000210C0 */ sll $v0, $v0, 3 +/* D7F378 80240618 00431021 */ addu $v0, $v0, $v1 +/* D7F37C 8024061C 00021040 */ sll $v0, $v0, 1 +/* D7F380 80240620 24420032 */ addiu $v0, $v0, 0x32 +/* D7F384 80240624 84A30000 */ lh $v1, ($a1) +/* D7F388 80240628 44820000 */ mtc1 $v0, $f0 +/* D7F38C 8024062C 00000000 */ nop +/* D7F390 80240630 46800020 */ cvt.s.w $f0, $f0 +/* D7F394 80240634 E4A0000A */ swc1 $f0, 0xa($a1) +/* D7F398 80240638 E4A00002 */ swc1 $f0, 2($a1) +/* D7F39C 8024063C 00031040 */ sll $v0, $v1, 1 +/* D7F3A0 80240640 00431021 */ addu $v0, $v0, $v1 +/* D7F3A4 80240644 000210C0 */ sll $v0, $v0, 3 +/* D7F3A8 80240648 00431021 */ addu $v0, $v0, $v1 +/* D7F3AC 8024064C 00021040 */ sll $v0, $v0, 1 +/* D7F3B0 80240650 2442004B */ addiu $v0, $v0, 0x4b +/* D7F3B4 80240654 44820000 */ mtc1 $v0, $f0 +/* D7F3B8 80240658 00000000 */ nop +/* D7F3BC 8024065C 46800020 */ cvt.s.w $f0, $f0 +/* D7F3C0 80240660 E4A0000E */ swc1 $f0, 0xe($a1) +/* D7F3C4 80240664 E4A00006 */ swc1 $f0, 6($a1) +/* D7F3C8 80240668 24A50018 */ addiu $a1, $a1, 0x18 +/* D7F3CC 8024066C 84E40000 */ lh $a0, ($a3) +/* D7F3D0 80240670 000310C0 */ sll $v0, $v1, 3 +/* D7F3D4 80240674 00431021 */ addu $v0, $v0, $v1 +/* D7F3D8 80240678 00441021 */ addu $v0, $v0, $a0 +/* D7F3DC 8024067C 00021040 */ sll $v0, $v0, 1 +/* D7F3E0 80240680 02021021 */ addu $v0, $s0, $v0 +/* D7F3E4 80240684 A44B0048 */ sh $t3, 0x48($v0) +/* D7F3E8 80240688 28C20003 */ slti $v0, $a2, 3 +/* D7F3EC 8024068C 1440FFCA */ bnez $v0, .L802405B8 +/* D7F3F0 80240690 24E70018 */ addiu $a3, $a3, 0x18 +/* D7F3F4 80240694 0220202D */ daddu $a0, $s1, $zero +/* D7F3F8 80240698 3C05FD05 */ lui $a1, 0xfd05 +/* D7F3FC 8024069C 34A50F83 */ ori $a1, $a1, 0xf83 +/* D7F400 802406A0 0C0B2026 */ jal set_variable +/* D7F404 802406A4 2406010E */ addiu $a2, $zero, 0x10e +/* D7F408 802406A8 0220202D */ daddu $a0, $s1, $zero +/* D7F40C 802406AC 3C05FD05 */ lui $a1, 0xfd05 +/* D7F410 802406B0 34A50F84 */ ori $a1, $a1, 0xf84 +/* D7F414 802406B4 0C0B2026 */ jal set_variable +/* D7F418 802406B8 2406010E */ addiu $a2, $zero, 0x10e +/* D7F41C 802406BC 0220202D */ daddu $a0, $s1, $zero +/* D7F420 802406C0 3C05FD05 */ lui $a1, 0xfd05 +/* D7F424 802406C4 34A50F85 */ ori $a1, $a1, 0xf85 +/* D7F428 802406C8 0C0B2026 */ jal set_variable +/* D7F42C 802406CC 2406010E */ addiu $a2, $zero, 0x10e +.L802406D0: +/* D7F430 802406D0 0220202D */ daddu $a0, $s1, $zero +/* D7F434 802406D4 3C05FD05 */ lui $a1, 0xfd05 +/* D7F438 802406D8 0C0B1EAF */ jal get_variable +/* D7F43C 802406DC 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F440 802406E0 0040802D */ daddu $s0, $v0, $zero +/* D7F444 802406E4 0000302D */ daddu $a2, $zero, $zero +/* D7F448 802406E8 3C013FA0 */ lui $at, 0x3fa0 +/* D7F44C 802406EC 44812000 */ mtc1 $at, $f4 +/* D7F450 802406F0 26030008 */ addiu $v1, $s0, 8 +.L802406F4: +/* D7F454 802406F4 C462FFFC */ lwc1 $f2, -4($v1) +/* D7F458 802406F8 C4600004 */ lwc1 $f0, 4($v1) +/* D7F45C 802406FC 4600103C */ c.lt.s $f2, $f0 +/* D7F460 80240700 00000000 */ nop +/* D7F464 80240704 45000005 */ bc1f .L8024071C +/* D7F468 80240708 00000000 */ nop +/* D7F46C 8024070C 46041000 */ add.s $f0, $f2, $f4 +/* D7F470 80240710 E460FFFC */ swc1 $f0, -4($v1) +/* D7F474 80240714 C462FFFC */ lwc1 $f2, -4($v1) +/* D7F478 80240718 C4600004 */ lwc1 $f0, 4($v1) +.L8024071C: +/* D7F47C 8024071C 4602003C */ c.lt.s $f0, $f2 +/* D7F480 80240720 00000000 */ nop +/* D7F484 80240724 45000003 */ bc1f .L80240734 +/* D7F488 80240728 00000000 */ nop +/* D7F48C 8024072C 46041001 */ sub.s $f0, $f2, $f4 +/* D7F490 80240730 E460FFFC */ swc1 $f0, -4($v1) +.L80240734: +/* D7F494 80240734 C4620000 */ lwc1 $f2, ($v1) +/* D7F498 80240738 C4600008 */ lwc1 $f0, 8($v1) +/* D7F49C 8024073C 4600103C */ c.lt.s $f2, $f0 +/* D7F4A0 80240740 00000000 */ nop +/* D7F4A4 80240744 45000005 */ bc1f .L8024075C +/* D7F4A8 80240748 00000000 */ nop +/* D7F4AC 8024074C 46041000 */ add.s $f0, $f2, $f4 +/* D7F4B0 80240750 E4600000 */ swc1 $f0, ($v1) +/* D7F4B4 80240754 C4620000 */ lwc1 $f2, ($v1) +/* D7F4B8 80240758 C4600008 */ lwc1 $f0, 8($v1) +.L8024075C: +/* D7F4BC 8024075C 4602003C */ c.lt.s $f0, $f2 +/* D7F4C0 80240760 00000000 */ nop +/* D7F4C4 80240764 45000003 */ bc1f .L80240774 +/* D7F4C8 80240768 24C60001 */ addiu $a2, $a2, 1 +/* D7F4CC 8024076C 46041001 */ sub.s $f0, $f2, $f4 +/* D7F4D0 80240770 E4600000 */ swc1 $f0, ($v1) +.L80240774: +/* D7F4D4 80240774 28C20003 */ slti $v0, $a2, 3 +/* D7F4D8 80240778 1440FFDE */ bnez $v0, .L802406F4 +/* D7F4DC 8024077C 24630018 */ addiu $v1, $v1, 0x18 +/* D7F4E0 80240780 0000482D */ daddu $t1, $zero, $zero +/* D7F4E4 80240784 0120382D */ daddu $a3, $t1, $zero +/* D7F4E8 80240788 3C0A8024 */ lui $t2, 0x8024 +/* D7F4EC 8024078C 254A2538 */ addiu $t2, $t2, 0x2538 +/* D7F4F0 80240790 0120402D */ daddu $t0, $t1, $zero +.L80240794: +/* D7F4F4 80240794 0000302D */ daddu $a2, $zero, $zero +/* D7F4F8 80240798 0100282D */ daddu $a1, $t0, $zero +.L8024079C: +/* D7F4FC 8024079C 02052021 */ addu $a0, $s0, $a1 +/* D7F500 802407A0 84820048 */ lh $v0, 0x48($a0) +/* D7F504 802407A4 94830048 */ lhu $v1, 0x48($a0) +/* D7F508 802407A8 18400002 */ blez $v0, .L802407B4 +/* D7F50C 802407AC 2462FFFF */ addiu $v0, $v1, -1 +/* D7F510 802407B0 A4820048 */ sh $v0, 0x48($a0) +.L802407B4: +/* D7F514 802407B4 00AA1021 */ addu $v0, $a1, $t2 +/* D7F518 802407B8 84830048 */ lh $v1, 0x48($a0) +/* D7F51C 802407BC 84420000 */ lh $v0, ($v0) +/* D7F520 802407C0 54620001 */ bnel $v1, $v0, .L802407C8 +/* D7F524 802407C4 24090001 */ addiu $t1, $zero, 1 +.L802407C8: +/* D7F528 802407C8 24C60001 */ addiu $a2, $a2, 1 +/* D7F52C 802407CC 28C20009 */ slti $v0, $a2, 9 +/* D7F530 802407D0 1440FFF2 */ bnez $v0, .L8024079C +/* D7F534 802407D4 24A50002 */ addiu $a1, $a1, 2 +/* D7F538 802407D8 24E70001 */ addiu $a3, $a3, 1 +/* D7F53C 802407DC 28E20003 */ slti $v0, $a3, 3 +/* D7F540 802407E0 1440FFEC */ bnez $v0, .L80240794 +/* D7F544 802407E4 25080012 */ addiu $t0, $t0, 0x12 +/* D7F548 802407E8 15200005 */ bnez $t1, .L80240800 +/* D7F54C 802407EC 0220202D */ daddu $a0, $s1, $zero +/* D7F550 802407F0 3C05FD05 */ lui $a1, 0xfd05 +/* D7F554 802407F4 34A50F81 */ ori $a1, $a1, 0xf81 +/* D7F558 802407F8 0C0B2026 */ jal set_variable +/* D7F55C 802407FC 24060001 */ addiu $a2, $zero, 1 +.L80240800: +/* D7F560 80240800 8FBF0018 */ lw $ra, 0x18($sp) +/* D7F564 80240804 8FB10014 */ lw $s1, 0x14($sp) +/* D7F568 80240808 8FB00010 */ lw $s0, 0x10($sp) +/* D7F56C 8024080C 0000102D */ daddu $v0, $zero, $zero +/* D7F570 80240810 03E00008 */ jr $ra +/* D7F574 80240814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240818_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240818_D7ED60.s new file mode 100644 index 0000000000..4851090893 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240818_D7ED60.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240818_D7F578 +/* D7F578 80240818 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D7F57C 8024081C AFB10014 */ sw $s1, 0x14($sp) +/* D7F580 80240820 0080882D */ daddu $s1, $a0, $zero +/* D7F584 80240824 AFBF0018 */ sw $ra, 0x18($sp) +/* D7F588 80240828 AFB00010 */ sw $s0, 0x10($sp) +/* D7F58C 8024082C F7B40020 */ sdc1 $f20, 0x20($sp) +/* D7F590 80240830 8E30000C */ lw $s0, 0xc($s1) +/* D7F594 80240834 8E050000 */ lw $a1, ($s0) +/* D7F598 80240838 0C0B1EAF */ jal get_variable +/* D7F59C 8024083C 26100004 */ addiu $s0, $s0, 4 +/* D7F5A0 80240840 0220202D */ daddu $a0, $s1, $zero +/* D7F5A4 80240844 8E050000 */ lw $a1, ($s0) +/* D7F5A8 80240848 0C0B210B */ jal get_float_variable +/* D7F5AC 8024084C 0040802D */ daddu $s0, $v0, $zero +/* D7F5B0 80240850 0220202D */ daddu $a0, $s1, $zero +/* D7F5B4 80240854 3C05FD05 */ lui $a1, 0xfd05 +/* D7F5B8 80240858 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F5BC 8024085C 0C0B1EAF */ jal get_variable +/* D7F5C0 80240860 46000506 */ mov.s $f20, $f0 +/* D7F5C4 80240864 00101840 */ sll $v1, $s0, 1 +/* D7F5C8 80240868 00701821 */ addu $v1, $v1, $s0 +/* D7F5CC 8024086C 000318C0 */ sll $v1, $v1, 3 +/* D7F5D0 80240870 00431821 */ addu $v1, $v0, $v1 +/* D7F5D4 80240874 E4740014 */ swc1 $f20, 0x14($v1) +/* D7F5D8 80240878 8FBF0018 */ lw $ra, 0x18($sp) +/* D7F5DC 8024087C 8FB10014 */ lw $s1, 0x14($sp) +/* D7F5E0 80240880 8FB00010 */ lw $s0, 0x10($sp) +/* D7F5E4 80240884 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D7F5E8 80240888 24020002 */ addiu $v0, $zero, 2 +/* D7F5EC 8024088C 03E00008 */ jr $ra +/* D7F5F0 80240890 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240894_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240894_D7ED60.s new file mode 100644 index 0000000000..1f11151fdc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240894_D7ED60.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240894_D7F5F4 +/* D7F5F4 80240894 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D7F5F8 80240898 AFB20018 */ sw $s2, 0x18($sp) +/* D7F5FC 8024089C 0080902D */ daddu $s2, $a0, $zero +/* D7F600 802408A0 AFBF0020 */ sw $ra, 0x20($sp) +/* D7F604 802408A4 AFB3001C */ sw $s3, 0x1c($sp) +/* D7F608 802408A8 AFB10014 */ sw $s1, 0x14($sp) +/* D7F60C 802408AC AFB00010 */ sw $s0, 0x10($sp) +/* D7F610 802408B0 8E42000C */ lw $v0, 0xc($s2) +/* D7F614 802408B4 0C0B1EAF */ jal get_variable +/* D7F618 802408B8 8C450000 */ lw $a1, ($v0) +/* D7F61C 802408BC 0240202D */ daddu $a0, $s2, $zero +/* D7F620 802408C0 3C05FD05 */ lui $a1, 0xfd05 +/* D7F624 802408C4 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F628 802408C8 0C0B1EAF */ jal get_variable +/* D7F62C 802408CC 0040982D */ daddu $s3, $v0, $zero +/* D7F630 802408D0 0040302D */ daddu $a2, $v0, $zero +/* D7F634 802408D4 00131040 */ sll $v0, $s3, 1 +/* D7F638 802408D8 00531021 */ addu $v0, $v0, $s3 +/* D7F63C 802408DC 000210C0 */ sll $v0, $v0, 3 +/* D7F640 802408E0 00C21821 */ addu $v1, $a2, $v0 +/* D7F644 802408E4 AE400084 */ sw $zero, 0x84($s2) +/* D7F648 802408E8 C4600014 */ lwc1 $f0, 0x14($v1) +/* D7F64C 802408EC 2402005A */ addiu $v0, $zero, 0x5a +/* D7F650 802408F0 4600008D */ trunc.w.s $f2, $f0 +/* D7F654 802408F4 44041000 */ mfc1 $a0, $f2 +/* D7F658 802408F8 00000000 */ nop +/* D7F65C 802408FC 10820011 */ beq $a0, $v0, .L80240944 +/* D7F660 80240900 2882005B */ slti $v0, $a0, 0x5b +/* D7F664 80240904 50400005 */ beql $v0, $zero, .L8024091C +/* D7F668 80240908 240200B4 */ addiu $v0, $zero, 0xb4 +/* D7F66C 8024090C 10800009 */ beqz $a0, .L80240934 +/* D7F670 80240910 0000202D */ daddu $a0, $zero, $zero +/* D7F674 80240914 0809025E */ j .L80240978 +/* D7F678 80240918 24050001 */ addiu $a1, $zero, 1 +.L8024091C: +/* D7F67C 8024091C 1082000D */ beq $a0, $v0, .L80240954 +/* D7F680 80240920 2402010E */ addiu $v0, $zero, 0x10e +/* D7F684 80240924 1082000F */ beq $a0, $v0, .L80240964 +/* D7F688 80240928 0000202D */ daddu $a0, $zero, $zero +/* D7F68C 8024092C 0809025E */ j .L80240978 +/* D7F690 80240930 24050001 */ addiu $a1, $zero, 1 +.L80240934: +/* D7F694 80240934 84620002 */ lh $v0, 2($v1) +/* D7F698 80240938 84700000 */ lh $s0, ($v1) +/* D7F69C 8024093C 0809025C */ j .L80240970 +/* D7F6A0 80240940 2451FFFF */ addiu $s1, $v0, -1 +.L80240944: +/* D7F6A4 80240944 84620000 */ lh $v0, ($v1) +/* D7F6A8 80240948 84710002 */ lh $s1, 2($v1) +/* D7F6AC 8024094C 0809025C */ j .L80240970 +/* D7F6B0 80240950 24500001 */ addiu $s0, $v0, 1 +.L80240954: +/* D7F6B4 80240954 84620002 */ lh $v0, 2($v1) +/* D7F6B8 80240958 84700000 */ lh $s0, ($v1) +/* D7F6BC 8024095C 0809025C */ j .L80240970 +/* D7F6C0 80240960 24510001 */ addiu $s1, $v0, 1 +.L80240964: +/* D7F6C4 80240964 84620000 */ lh $v0, ($v1) +/* D7F6C8 80240968 84710002 */ lh $s1, 2($v1) +/* D7F6CC 8024096C 2450FFFF */ addiu $s0, $v0, -1 +.L80240970: +/* D7F6D0 80240970 0000202D */ daddu $a0, $zero, $zero +/* D7F6D4 80240974 24050001 */ addiu $a1, $zero, 1 +.L80240978: +/* D7F6D8 80240978 00C0182D */ daddu $v1, $a2, $zero +.L8024097C: +/* D7F6DC 8024097C 50930008 */ beql $a0, $s3, .L802409A0 +/* D7F6E0 80240980 24840001 */ addiu $a0, $a0, 1 +/* D7F6E4 80240984 84620000 */ lh $v0, ($v1) +/* D7F6E8 80240988 56020005 */ bnel $s0, $v0, .L802409A0 +/* D7F6EC 8024098C 24840001 */ addiu $a0, $a0, 1 +/* D7F6F0 80240990 84620002 */ lh $v0, 2($v1) +/* D7F6F4 80240994 52220001 */ beql $s1, $v0, .L8024099C +/* D7F6F8 80240998 AE450084 */ sw $a1, 0x84($s2) +.L8024099C: +/* D7F6FC 8024099C 24840001 */ addiu $a0, $a0, 1 +.L802409A0: +/* D7F700 802409A0 28820003 */ slti $v0, $a0, 3 +/* D7F704 802409A4 1440FFF5 */ bnez $v0, .L8024097C +/* D7F708 802409A8 24630018 */ addiu $v1, $v1, 0x18 +/* D7F70C 802409AC 06010004 */ bgez $s0, .L802409C0 +/* D7F710 802409B0 2A020009 */ slti $v0, $s0, 9 +/* D7F714 802409B4 24020001 */ addiu $v0, $zero, 1 +/* D7F718 802409B8 AE420084 */ sw $v0, 0x84($s2) +/* D7F71C 802409BC 2A020009 */ slti $v0, $s0, 9 +.L802409C0: +/* D7F720 802409C0 14400002 */ bnez $v0, .L802409CC +/* D7F724 802409C4 24020001 */ addiu $v0, $zero, 1 +/* D7F728 802409C8 AE420084 */ sw $v0, 0x84($s2) +.L802409CC: +/* D7F72C 802409CC 06210004 */ bgez $s1, .L802409E0 +/* D7F730 802409D0 2A220003 */ slti $v0, $s1, 3 +/* D7F734 802409D4 24020001 */ addiu $v0, $zero, 1 +/* D7F738 802409D8 AE420084 */ sw $v0, 0x84($s2) +/* D7F73C 802409DC 2A220003 */ slti $v0, $s1, 3 +.L802409E0: +/* D7F740 802409E0 14400002 */ bnez $v0, .L802409EC +/* D7F744 802409E4 24020001 */ addiu $v0, $zero, 1 +/* D7F748 802409E8 AE420084 */ sw $v0, 0x84($s2) +.L802409EC: +/* D7F74C 802409EC 8E430084 */ lw $v1, 0x84($s2) +/* D7F750 802409F0 24020001 */ addiu $v0, $zero, 1 +/* D7F754 802409F4 14620009 */ bne $v1, $v0, .L80240A1C +/* D7F758 802409F8 00000000 */ nop +/* D7F75C 802409FC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D7F760 80240A00 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D7F764 80240A04 804300B4 */ lb $v1, 0xb4($v0) +/* D7F768 80240A08 24020014 */ addiu $v0, $zero, 0x14 +/* D7F76C 80240A0C 14620003 */ bne $v1, $v0, .L80240A1C +/* D7F770 80240A10 00000000 */ nop +/* D7F774 80240A14 0C039769 */ jal set_action_state +/* D7F778 80240A18 0000202D */ daddu $a0, $zero, $zero +.L80240A1C: +/* D7F77C 80240A1C 8FBF0020 */ lw $ra, 0x20($sp) +/* D7F780 80240A20 8FB3001C */ lw $s3, 0x1c($sp) +/* D7F784 80240A24 8FB20018 */ lw $s2, 0x18($sp) +/* D7F788 80240A28 8FB10014 */ lw $s1, 0x14($sp) +/* D7F78C 80240A2C 8FB00010 */ lw $s0, 0x10($sp) +/* D7F790 80240A30 24020002 */ addiu $v0, $zero, 2 +/* D7F794 80240A34 03E00008 */ jr $ra +/* D7F798 80240A38 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240A3C_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240A3C_D7ED60.s new file mode 100644 index 0000000000..47e2f8415c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240A3C_D7ED60.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A3C_D7F79C +/* D7F79C 80240A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7F7A0 80240A40 AFB00010 */ sw $s0, 0x10($sp) +/* D7F7A4 80240A44 0080802D */ daddu $s0, $a0, $zero +/* D7F7A8 80240A48 AFBF0014 */ sw $ra, 0x14($sp) +/* D7F7AC 80240A4C 8E02000C */ lw $v0, 0xc($s0) +/* D7F7B0 80240A50 0C0B1EAF */ jal get_variable +/* D7F7B4 80240A54 8C450000 */ lw $a1, ($v0) +/* D7F7B8 80240A58 0200202D */ daddu $a0, $s0, $zero +/* D7F7BC 80240A5C 3C05FD05 */ lui $a1, 0xfd05 +/* D7F7C0 80240A60 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F7C4 80240A64 0C0B1EAF */ jal get_variable +/* D7F7C8 80240A68 0040802D */ daddu $s0, $v0, $zero +/* D7F7CC 80240A6C 0040302D */ daddu $a2, $v0, $zero +/* D7F7D0 80240A70 00101040 */ sll $v0, $s0, 1 +/* D7F7D4 80240A74 00501021 */ addu $v0, $v0, $s0 +/* D7F7D8 80240A78 000210C0 */ sll $v0, $v0, 3 +/* D7F7DC 80240A7C 00C22821 */ addu $a1, $a2, $v0 +/* D7F7E0 80240A80 84A30002 */ lh $v1, 2($a1) +/* D7F7E4 80240A84 84A40000 */ lh $a0, ($a1) +/* D7F7E8 80240A88 000310C0 */ sll $v0, $v1, 3 +/* D7F7EC 80240A8C 00431021 */ addu $v0, $v0, $v1 +/* D7F7F0 80240A90 00441021 */ addu $v0, $v0, $a0 +/* D7F7F4 80240A94 00021040 */ sll $v0, $v0, 1 +/* D7F7F8 80240A98 00C21021 */ addu $v0, $a2, $v0 +/* D7F7FC 80240A9C 24030014 */ addiu $v1, $zero, 0x14 +/* D7F800 80240AA0 A4430048 */ sh $v1, 0x48($v0) +/* D7F804 80240AA4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* D7F808 80240AA8 2402005A */ addiu $v0, $zero, 0x5a +/* D7F80C 80240AAC 4600008D */ trunc.w.s $f2, $f0 +/* D7F810 80240AB0 44031000 */ mfc1 $v1, $f2 +/* D7F814 80240AB4 00000000 */ nop +/* D7F818 80240AB8 10620012 */ beq $v1, $v0, .L80240B04 +/* D7F81C 80240ABC 00000000 */ nop +/* D7F820 80240AC0 2862005B */ slti $v0, $v1, 0x5b +/* D7F824 80240AC4 10400005 */ beqz $v0, .L80240ADC +/* D7F828 80240AC8 240200B4 */ addiu $v0, $zero, 0xb4 +/* D7F82C 80240ACC 10600009 */ beqz $v1, .L80240AF4 +/* D7F830 80240AD0 00000000 */ nop +/* D7F834 80240AD4 080902CB */ j .L80240B2C +/* D7F838 80240AD8 00000000 */ nop +.L80240ADC: +/* D7F83C 80240ADC 1062000C */ beq $v1, $v0, .L80240B10 +/* D7F840 80240AE0 2402010E */ addiu $v0, $zero, 0x10e +/* D7F844 80240AE4 1062000E */ beq $v1, $v0, .L80240B20 +/* D7F848 80240AE8 00000000 */ nop +/* D7F84C 80240AEC 080902CB */ j .L80240B2C +/* D7F850 80240AF0 00000000 */ nop +.L80240AF4: +/* D7F854 80240AF4 94A20002 */ lhu $v0, 2($a1) +/* D7F858 80240AF8 2442FFFF */ addiu $v0, $v0, -1 +/* D7F85C 80240AFC 080902CB */ j .L80240B2C +/* D7F860 80240B00 A4A20002 */ sh $v0, 2($a1) +.L80240B04: +/* D7F864 80240B04 94A20000 */ lhu $v0, ($a1) +/* D7F868 80240B08 080902CA */ j .L80240B28 +/* D7F86C 80240B0C 24420001 */ addiu $v0, $v0, 1 +.L80240B10: +/* D7F870 80240B10 94A20002 */ lhu $v0, 2($a1) +/* D7F874 80240B14 24420001 */ addiu $v0, $v0, 1 +/* D7F878 80240B18 080902CB */ j .L80240B2C +/* D7F87C 80240B1C A4A20002 */ sh $v0, 2($a1) +.L80240B20: +/* D7F880 80240B20 94A20000 */ lhu $v0, ($a1) +/* D7F884 80240B24 2442FFFF */ addiu $v0, $v0, -1 +.L80240B28: +/* D7F888 80240B28 A4A20000 */ sh $v0, ($a1) +.L80240B2C: +/* D7F88C 80240B2C 84A30002 */ lh $v1, 2($a1) +/* D7F890 80240B30 84A40000 */ lh $a0, ($a1) +/* D7F894 80240B34 000310C0 */ sll $v0, $v1, 3 +/* D7F898 80240B38 00431021 */ addu $v0, $v0, $v1 +/* D7F89C 80240B3C 00441021 */ addu $v0, $v0, $a0 +/* D7F8A0 80240B40 00021040 */ sll $v0, $v0, 1 +/* D7F8A4 80240B44 00C21021 */ addu $v0, $a2, $v0 +/* D7F8A8 80240B48 2403FFFF */ addiu $v1, $zero, -1 +/* D7F8AC 80240B4C A4430048 */ sh $v1, 0x48($v0) +/* D7F8B0 80240B50 84A40000 */ lh $a0, ($a1) +/* D7F8B4 80240B54 00041840 */ sll $v1, $a0, 1 +/* D7F8B8 80240B58 00641821 */ addu $v1, $v1, $a0 +/* D7F8BC 80240B5C 000318C0 */ sll $v1, $v1, 3 +/* D7F8C0 80240B60 00641821 */ addu $v1, $v1, $a0 +/* D7F8C4 80240B64 00031840 */ sll $v1, $v1, 1 +/* D7F8C8 80240B68 24630032 */ addiu $v1, $v1, 0x32 +/* D7F8CC 80240B6C 84A40002 */ lh $a0, 2($a1) +/* D7F8D0 80240B70 44830000 */ mtc1 $v1, $f0 +/* D7F8D4 80240B74 00000000 */ nop +/* D7F8D8 80240B78 46800020 */ cvt.s.w $f0, $f0 +/* D7F8DC 80240B7C E4A0000C */ swc1 $f0, 0xc($a1) +/* D7F8E0 80240B80 00041840 */ sll $v1, $a0, 1 +/* D7F8E4 80240B84 00641821 */ addu $v1, $v1, $a0 +/* D7F8E8 80240B88 000318C0 */ sll $v1, $v1, 3 +/* D7F8EC 80240B8C 00641821 */ addu $v1, $v1, $a0 +/* D7F8F0 80240B90 00031840 */ sll $v1, $v1, 1 +/* D7F8F4 80240B94 2463004B */ addiu $v1, $v1, 0x4b +/* D7F8F8 80240B98 44830000 */ mtc1 $v1, $f0 +/* D7F8FC 80240B9C 00000000 */ nop +/* D7F900 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D7F904 80240BA4 E4A00010 */ swc1 $f0, 0x10($a1) +/* D7F908 80240BA8 8FBF0014 */ lw $ra, 0x14($sp) +/* D7F90C 80240BAC 8FB00010 */ lw $s0, 0x10($sp) +/* D7F910 80240BB0 24020002 */ addiu $v0, $zero, 2 +/* D7F914 80240BB4 03E00008 */ jr $ra +/* D7F918 80240BB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240C70.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240C70.s new file mode 100644 index 0000000000..9e6985b79f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240C70.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C70 +/* D7F9D0 80240C70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7F9D4 80240C74 AFB10014 */ sw $s1, 0x14($sp) +/* D7F9D8 80240C78 0080882D */ daddu $s1, $a0, $zero +/* D7F9DC 80240C7C AFBF0018 */ sw $ra, 0x18($sp) +/* D7F9E0 80240C80 AFB00010 */ sw $s0, 0x10($sp) +/* D7F9E4 80240C84 8E22000C */ lw $v0, 0xc($s1) +/* D7F9E8 80240C88 0C0B1EAF */ jal get_variable +/* D7F9EC 80240C8C 8C450000 */ lw $a1, ($v0) +/* D7F9F0 80240C90 0220202D */ daddu $a0, $s1, $zero +/* D7F9F4 80240C94 3C05FD05 */ lui $a1, 0xfd05 +/* D7F9F8 80240C98 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7F9FC 80240C9C 0C0B1EAF */ jal get_variable +/* D7FA00 80240CA0 0040802D */ daddu $s0, $v0, $zero +/* D7FA04 80240CA4 00101840 */ sll $v1, $s0, 1 +/* D7FA08 80240CA8 00701821 */ addu $v1, $v1, $s0 +/* D7FA0C 80240CAC 000318C0 */ sll $v1, $v1, 3 +/* D7FA10 80240CB0 00431021 */ addu $v0, $v0, $v1 +/* D7FA14 80240CB4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7FA18 80240CB8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7FA1C 80240CBC C4400014 */ lwc1 $f0, 0x14($v0) +/* D7FA20 80240CC0 2402005A */ addiu $v0, $zero, 0x5a +/* D7FA24 80240CC4 4600010D */ trunc.w.s $f4, $f0 +/* D7FA28 80240CC8 44032000 */ mfc1 $v1, $f4 +/* D7FA2C 80240CCC 00000000 */ nop +/* D7FA30 80240CD0 10620015 */ beq $v1, $v0, .L80240D28 +/* D7FA34 80240CD4 2862005B */ slti $v0, $v1, 0x5b +/* D7FA38 80240CD8 10400005 */ beqz $v0, .L80240CF0 +/* D7FA3C 80240CDC 240200B4 */ addiu $v0, $zero, 0xb4 +/* D7FA40 80240CE0 10600009 */ beqz $v1, .L80240D08 +/* D7FA44 80240CE4 00000000 */ nop +/* D7FA48 80240CE8 08090369 */ j .L80240DA4 +/* D7FA4C 80240CEC 00000000 */ nop +.L80240CF0: +/* D7FA50 80240CF0 10620015 */ beq $v1, $v0, .L80240D48 +/* D7FA54 80240CF4 2402010E */ addiu $v0, $zero, 0x10e +/* D7FA58 80240CF8 10620020 */ beq $v1, $v0, .L80240D7C +/* D7FA5C 80240CFC 00000000 */ nop +/* D7FA60 80240D00 08090369 */ j .L80240DA4 +/* D7FA64 80240D04 00000000 */ nop +.L80240D08: +/* D7FA68 80240D08 C6000030 */ lwc1 $f0, 0x30($s0) +/* D7FA6C 80240D0C 4600010D */ trunc.w.s $f4, $f0 +/* D7FA70 80240D10 E6240090 */ swc1 $f4, 0x90($s1) +/* D7FA74 80240D14 C6020030 */ lwc1 $f2, 0x30($s0) +/* D7FA78 80240D18 3C014248 */ lui $at, 0x4248 +/* D7FA7C 80240D1C 44810000 */ mtc1 $at, $f0 +/* D7FA80 80240D20 0809035A */ j .L80240D68 +/* D7FA84 80240D24 46001080 */ add.s $f2, $f2, $f0 +.L80240D28: +/* D7FA88 80240D28 C6000028 */ lwc1 $f0, 0x28($s0) +/* D7FA8C 80240D2C 3C014248 */ lui $at, 0x4248 +/* D7FA90 80240D30 44811000 */ mtc1 $at, $f2 +/* D7FA94 80240D34 4600010D */ trunc.w.s $f4, $f0 +/* D7FA98 80240D38 E6240090 */ swc1 $f4, 0x90($s1) +/* D7FA9C 80240D3C C6000028 */ lwc1 $f0, 0x28($s0) +/* D7FAA0 80240D40 08090366 */ j .L80240D98 +/* D7FAA4 80240D44 46020000 */ add.s $f0, $f0, $f2 +.L80240D48: +/* D7FAA8 80240D48 C6000030 */ lwc1 $f0, 0x30($s0) +/* D7FAAC 80240D4C 4600010D */ trunc.w.s $f4, $f0 +/* D7FAB0 80240D50 E6240090 */ swc1 $f4, 0x90($s1) +/* D7FAB4 80240D54 C6020030 */ lwc1 $f2, 0x30($s0) +/* D7FAB8 80240D58 3C014248 */ lui $at, 0x4248 +/* D7FABC 80240D5C 44810000 */ mtc1 $at, $f0 +/* D7FAC0 80240D60 00000000 */ nop +/* D7FAC4 80240D64 46001081 */ sub.s $f2, $f2, $f0 +.L80240D68: +/* D7FAC8 80240D68 24020001 */ addiu $v0, $zero, 1 +/* D7FACC 80240D6C AE220098 */ sw $v0, 0x98($s1) +/* D7FAD0 80240D70 4600110D */ trunc.w.s $f4, $f2 +/* D7FAD4 80240D74 08090369 */ j .L80240DA4 +/* D7FAD8 80240D78 E6240094 */ swc1 $f4, 0x94($s1) +.L80240D7C: +/* D7FADC 80240D7C C6000028 */ lwc1 $f0, 0x28($s0) +/* D7FAE0 80240D80 3C014248 */ lui $at, 0x4248 +/* D7FAE4 80240D84 44811000 */ mtc1 $at, $f2 +/* D7FAE8 80240D88 4600010D */ trunc.w.s $f4, $f0 +/* D7FAEC 80240D8C E6240090 */ swc1 $f4, 0x90($s1) +/* D7FAF0 80240D90 C6000028 */ lwc1 $f0, 0x28($s0) +/* D7FAF4 80240D94 46020001 */ sub.s $f0, $f0, $f2 +.L80240D98: +/* D7FAF8 80240D98 AE200098 */ sw $zero, 0x98($s1) +/* D7FAFC 80240D9C 4600010D */ trunc.w.s $f4, $f0 +/* D7FB00 80240DA0 E6240094 */ swc1 $f4, 0x94($s1) +.L80240DA4: +/* D7FB04 80240DA4 8FBF0018 */ lw $ra, 0x18($sp) +/* D7FB08 80240DA8 8FB10014 */ lw $s1, 0x14($sp) +/* D7FB0C 80240DAC 8FB00010 */ lw $s0, 0x10($sp) +/* D7FB10 80240DB0 24020002 */ addiu $v0, $zero, 2 +/* D7FB14 80240DB4 03E00008 */ jr $ra +/* D7FB18 80240DB8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240DBC.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240DBC.s new file mode 100644 index 0000000000..bfdecb93d9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240DBC.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DBC +/* D7FB1C 80240DBC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D7FB20 80240DC0 AFBF002C */ sw $ra, 0x2c($sp) +/* D7FB24 80240DC4 AFB00028 */ sw $s0, 0x28($sp) +/* D7FB28 80240DC8 8C820098 */ lw $v0, 0x98($a0) +/* D7FB2C 80240DCC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D7FB30 80240DD0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D7FB34 80240DD4 14400005 */ bnez $v0, .L80240DEC +/* D7FB38 80240DD8 00000000 */ nop +/* D7FB3C 80240DDC C4800084 */ lwc1 $f0, 0x84($a0) +/* D7FB40 80240DE0 46800020 */ cvt.s.w $f0, $f0 +/* D7FB44 80240DE4 0809037E */ j .L80240DF8 +/* D7FB48 80240DE8 E6000028 */ swc1 $f0, 0x28($s0) +.L80240DEC: +/* D7FB4C 80240DEC C4800084 */ lwc1 $f0, 0x84($a0) +/* D7FB50 80240DF0 46800020 */ cvt.s.w $f0, $f0 +/* D7FB54 80240DF4 E6000030 */ swc1 $f0, 0x30($s0) +.L80240DF8: +/* D7FB58 80240DF8 27A20024 */ addiu $v0, $sp, 0x24 +/* D7FB5C 80240DFC 0000202D */ daddu $a0, $zero, $zero +/* D7FB60 80240E00 27A50018 */ addiu $a1, $sp, 0x18 +/* D7FB64 80240E04 27A6001C */ addiu $a2, $sp, 0x1c +/* D7FB68 80240E08 C6000028 */ lwc1 $f0, 0x28($s0) +/* D7FB6C 80240E0C 3C014120 */ lui $at, 0x4120 +/* D7FB70 80240E10 44811000 */ mtc1 $at, $f2 +/* D7FB74 80240E14 3C014220 */ lui $at, 0x4220 +/* D7FB78 80240E18 44813000 */ mtc1 $at, $f6 +/* D7FB7C 80240E1C 27A70020 */ addiu $a3, $sp, 0x20 +/* D7FB80 80240E20 E7A00018 */ swc1 $f0, 0x18($sp) +/* D7FB84 80240E24 C600002C */ lwc1 $f0, 0x2c($s0) +/* D7FB88 80240E28 C6040030 */ lwc1 $f4, 0x30($s0) +/* D7FB8C 80240E2C 46020000 */ add.s $f0, $f0, $f2 +/* D7FB90 80240E30 E7A60024 */ swc1 $f6, 0x24($sp) +/* D7FB94 80240E34 E7A40020 */ swc1 $f4, 0x20($sp) +/* D7FB98 80240E38 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D7FB9C 80240E3C 0C0372DF */ jal func_800DCB7C +/* D7FBA0 80240E40 AFA20010 */ sw $v0, 0x10($sp) +/* D7FBA4 80240E44 C7A00018 */ lwc1 $f0, 0x18($sp) +/* D7FBA8 80240E48 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* D7FBAC 80240E4C C7A40020 */ lwc1 $f4, 0x20($sp) +/* D7FBB0 80240E50 E6000028 */ swc1 $f0, 0x28($s0) +/* D7FBB4 80240E54 E602002C */ swc1 $f2, 0x2c($s0) +/* D7FBB8 80240E58 E6040030 */ swc1 $f4, 0x30($s0) +/* D7FBBC 80240E5C 8FBF002C */ lw $ra, 0x2c($sp) +/* D7FBC0 80240E60 8FB00028 */ lw $s0, 0x28($sp) +/* D7FBC4 80240E64 24020002 */ addiu $v0, $zero, 2 +/* D7FBC8 80240E68 03E00008 */ jr $ra +/* D7FBCC 80240E6C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240E70_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240E70_D7ED60.s new file mode 100644 index 0000000000..34e94550e5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240E70_D7ED60.s @@ -0,0 +1,51 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E70_D7FBD0 +/* D7FBD0 80240E70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7FBD4 80240E74 AFB10014 */ sw $s1, 0x14($sp) +/* D7FBD8 80240E78 0080882D */ daddu $s1, $a0, $zero +/* D7FBDC 80240E7C AFBF0018 */ sw $ra, 0x18($sp) +/* D7FBE0 80240E80 AFB00010 */ sw $s0, 0x10($sp) +/* D7FBE4 80240E84 8E22000C */ lw $v0, 0xc($s1) +/* D7FBE8 80240E88 0C0B1EAF */ jal get_variable +/* D7FBEC 80240E8C 8C450000 */ lw $a1, ($v0) +/* D7FBF0 80240E90 0220202D */ daddu $a0, $s1, $zero +/* D7FBF4 80240E94 3C05FD05 */ lui $a1, 0xfd05 +/* D7FBF8 80240E98 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7FBFC 80240E9C 0C0B1EAF */ jal get_variable +/* D7FC00 80240EA0 0040802D */ daddu $s0, $v0, $zero +/* D7FC04 80240EA4 0220202D */ daddu $a0, $s1, $zero +/* D7FC08 80240EA8 3C05FE36 */ lui $a1, 0xfe36 +/* D7FC0C 80240EAC 00101840 */ sll $v1, $s0, 1 +/* D7FC10 80240EB0 00701821 */ addu $v1, $v1, $s0 +/* D7FC14 80240EB4 000318C0 */ sll $v1, $v1, 3 +/* D7FC18 80240EB8 00438021 */ addu $s0, $v0, $v1 +/* D7FC1C 80240EBC 8E060004 */ lw $a2, 4($s0) +/* D7FC20 80240EC0 0C0B2190 */ jal set_float_variable +/* D7FC24 80240EC4 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D7FC28 80240EC8 0220202D */ daddu $a0, $s1, $zero +/* D7FC2C 80240ECC C6000008 */ lwc1 $f0, 8($s0) +/* D7FC30 80240ED0 3C05FE36 */ lui $a1, 0xfe36 +/* D7FC34 80240ED4 46000007 */ neg.s $f0, $f0 +/* D7FC38 80240ED8 44060000 */ mfc1 $a2, $f0 +/* D7FC3C 80240EDC 0C0B2190 */ jal set_float_variable +/* D7FC40 80240EE0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D7FC44 80240EE4 C60C0014 */ lwc1 $f12, 0x14($s0) +/* D7FC48 80240EE8 3C018024 */ lui $at, 0x8024 +/* D7FC4C 80240EEC D4207C90 */ ldc1 $f0, 0x7c90($at) +/* D7FC50 80240EF0 46006321 */ cvt.d.s $f12, $f12 +/* D7FC54 80240EF4 46206300 */ add.d $f12, $f12, $f0 +/* D7FC58 80240EF8 0C00A6C9 */ jal clamp_angle +/* D7FC5C 80240EFC 46206320 */ cvt.s.d $f12, $f12 +/* D7FC60 80240F00 0220202D */ daddu $a0, $s1, $zero +/* D7FC64 80240F04 3C05FE36 */ lui $a1, 0xfe36 +/* D7FC68 80240F08 44060000 */ mfc1 $a2, $f0 +/* D7FC6C 80240F0C 0C0B2190 */ jal set_float_variable +/* D7FC70 80240F10 34A53C82 */ ori $a1, $a1, 0x3c82 +/* D7FC74 80240F14 8FBF0018 */ lw $ra, 0x18($sp) +/* D7FC78 80240F18 8FB10014 */ lw $s1, 0x14($sp) +/* D7FC7C 80240F1C 8FB00010 */ lw $s0, 0x10($sp) +/* D7FC80 80240F20 24020002 */ addiu $v0, $zero, 2 +/* D7FC84 80240F24 03E00008 */ jr $ra +/* D7FC88 80240F28 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240F2C_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240F2C_D7ED60.s new file mode 100644 index 0000000000..e0d117924b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240F2C_D7ED60.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F2C_D7FC8C +/* D7FC8C 80240F2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D7FC90 80240F30 AFB10014 */ sw $s1, 0x14($sp) +/* D7FC94 80240F34 0080882D */ daddu $s1, $a0, $zero +/* D7FC98 80240F38 AFBF0018 */ sw $ra, 0x18($sp) +/* D7FC9C 80240F3C AFB00010 */ sw $s0, 0x10($sp) +/* D7FCA0 80240F40 8E22000C */ lw $v0, 0xc($s1) +/* D7FCA4 80240F44 0C0B1EAF */ jal get_variable +/* D7FCA8 80240F48 8C450000 */ lw $a1, ($v0) +/* D7FCAC 80240F4C 0220202D */ daddu $a0, $s1, $zero +/* D7FCB0 80240F50 3C05FD05 */ lui $a1, 0xfd05 +/* D7FCB4 80240F54 34A50F80 */ ori $a1, $a1, 0xf80 +/* D7FCB8 80240F58 0C0B1EAF */ jal get_variable +/* D7FCBC 80240F5C 0040802D */ daddu $s0, $v0, $zero +/* D7FCC0 80240F60 0220202D */ daddu $a0, $s1, $zero +/* D7FCC4 80240F64 3C05FE36 */ lui $a1, 0xfe36 +/* D7FCC8 80240F68 00101840 */ sll $v1, $s0, 1 +/* D7FCCC 80240F6C 00701821 */ addu $v1, $v1, $s0 +/* D7FCD0 80240F70 000318C0 */ sll $v1, $v1, 3 +/* D7FCD4 80240F74 00438021 */ addu $s0, $v0, $v1 +/* D7FCD8 80240F78 8E060004 */ lw $a2, 4($s0) +/* D7FCDC 80240F7C 0C0B2190 */ jal set_float_variable +/* D7FCE0 80240F80 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D7FCE4 80240F84 0220202D */ daddu $a0, $s1, $zero +/* D7FCE8 80240F88 3C05FE36 */ lui $a1, 0xfe36 +/* D7FCEC 80240F8C 8E060008 */ lw $a2, 8($s0) +/* D7FCF0 80240F90 0C0B2190 */ jal set_float_variable +/* D7FCF4 80240F94 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D7FCF8 80240F98 C60C0014 */ lwc1 $f12, 0x14($s0) +/* D7FCFC 80240F9C 0C00A6C9 */ jal clamp_angle +/* D7FD00 80240FA0 00000000 */ nop +/* D7FD04 80240FA4 0220202D */ daddu $a0, $s1, $zero +/* D7FD08 80240FA8 3C05FE36 */ lui $a1, 0xfe36 +/* D7FD0C 80240FAC 44060000 */ mfc1 $a2, $f0 +/* D7FD10 80240FB0 0C0B2190 */ jal set_float_variable +/* D7FD14 80240FB4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* D7FD18 80240FB8 8FBF0018 */ lw $ra, 0x18($sp) +/* D7FD1C 80240FBC 8FB10014 */ lw $s1, 0x14($sp) +/* D7FD20 80240FC0 8FB00010 */ lw $s0, 0x10($sp) +/* D7FD24 80240FC4 24020002 */ addiu $v0, $zero, 2 +/* D7FD28 80240FC8 03E00008 */ jr $ra +/* D7FD2C 80240FCC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240FD0_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240FD0_D7ED60.s new file mode 100644 index 0000000000..c7adcdd038 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240FD0_D7ED60.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FD0_D7FD30 +/* D7FD30 80240FD0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D7FD34 80240FD4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D7FD38 80240FD8 8C430004 */ lw $v1, 4($v0) +/* D7FD3C 80240FDC 3C040080 */ lui $a0, 0x80 +/* D7FD40 80240FE0 00641825 */ or $v1, $v1, $a0 +/* D7FD44 80240FE4 AC430004 */ sw $v1, 4($v0) +/* D7FD48 80240FE8 03E00008 */ jr $ra +/* D7FD4C 80240FEC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_31/func_80240FF0_D7ED60.s b/asm/nonmatchings/world/area_pra/pra_31/func_80240FF0_D7ED60.s new file mode 100644 index 0000000000..84c73a3764 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_31/func_80240FF0_D7ED60.s @@ -0,0 +1,58 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FF0_D7FD50 +/* D7FD50 80240FF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D7FD54 80240FF4 AFB00010 */ sw $s0, 0x10($sp) +/* D7FD58 80240FF8 0080802D */ daddu $s0, $a0, $zero +/* D7FD5C 80240FFC AFBF0014 */ sw $ra, 0x14($sp) +/* D7FD60 80241000 8E02000C */ lw $v0, 0xc($s0) +/* D7FD64 80241004 0C0B1EAF */ jal get_variable +/* D7FD68 80241008 8C450000 */ lw $a1, ($v0) +/* D7FD6C 8024100C 0040302D */ daddu $a2, $v0, $zero +/* D7FD70 80241010 3C058016 */ lui $a1, 0x8016 +/* D7FD74 80241014 84A5A550 */ lh $a1, -0x5ab0($a1) +/* D7FD78 80241018 3C048011 */ lui $a0, %hi(gPlayerStatus) +/* D7FD7C 8024101C 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus) +/* D7FD80 80241020 10A60004 */ beq $a1, $a2, .L80241034 +/* D7FD84 80241024 24020014 */ addiu $v0, $zero, 0x14 +/* D7FD88 80241028 808300B4 */ lb $v1, 0xb4($a0) +/* D7FD8C 8024102C 10620006 */ beq $v1, $v0, .L80241048 +/* D7FD90 80241030 00000000 */ nop +.L80241034: +/* D7FD94 80241034 8C820014 */ lw $v0, 0x14($a0) +/* D7FD98 80241038 3C03FFFF */ lui $v1, 0xffff +/* D7FD9C 8024103C 00431024 */ and $v0, $v0, $v1 +/* D7FDA0 80241040 10400005 */ beqz $v0, .L80241058 +/* D7FDA4 80241044 00000000 */ nop +.L80241048: +/* D7FDA8 80241048 0C039769 */ jal set_action_state +/* D7FDAC 8024104C 0000202D */ daddu $a0, $zero, $zero +/* D7FDB0 80241050 08090426 */ j .L80241098 +/* D7FDB4 80241054 AE000084 */ sw $zero, 0x84($s0) +.L80241058: +/* D7FDB8 80241058 54A6000F */ bnel $a1, $a2, .L80241098 +/* D7FDBC 8024105C AE000084 */ sw $zero, 0x84($s0) +/* D7FDC0 80241060 808300B4 */ lb $v1, 0xb4($a0) +/* D7FDC4 80241064 24020014 */ addiu $v0, $zero, 0x14 +/* D7FDC8 80241068 10620005 */ beq $v1, $v0, .L80241080 +/* D7FDCC 8024106C 24020001 */ addiu $v0, $zero, 1 +/* D7FDD0 80241070 10620003 */ beq $v1, $v0, .L80241080 +/* D7FDD4 80241074 24020002 */ addiu $v0, $zero, 2 +/* D7FDD8 80241078 54620008 */ bnel $v1, $v0, .L8024109C +/* D7FDDC 8024107C AE000084 */ sw $zero, 0x84($s0) +.L80241080: +/* D7FDE0 80241080 8C820004 */ lw $v0, 4($a0) +/* D7FDE4 80241084 30420001 */ andi $v0, $v0, 1 +/* D7FDE8 80241088 54400003 */ bnel $v0, $zero, .L80241098 +/* D7FDEC 8024108C AE000084 */ sw $zero, 0x84($s0) +/* D7FDF0 80241090 24020001 */ addiu $v0, $zero, 1 +/* D7FDF4 80241094 AE020084 */ sw $v0, 0x84($s0) +.L80241098: +/* D7FDF8 80241098 24020002 */ addiu $v0, $zero, 2 +.L8024109C: +/* D7FDFC 8024109C 8FBF0014 */ lw $ra, 0x14($sp) +/* D7FE00 802410A0 8FB00010 */ lw $s0, 0x10($sp) +/* D7FE04 802410A4 03E00008 */ jr $ra +/* D7FE08 802410A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* D7FE0C 802410AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_80240000_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_80240000_D86A00.s new file mode 100644 index 0000000000..9308c86f10 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_80240000_D86A00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D86A00 +/* D86A00 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D86A04 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D86A08 80240008 24020001 */ addiu $v0, $zero, 1 +/* D86A0C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D86A10 80240010 03E00008 */ jr $ra +/* D86A14 80240014 0000102D */ daddu $v0, $zero, $zero +/* D86A18 80240018 00000000 */ nop +/* D86A1C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_80240020_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_80240020_D86A00.s new file mode 100644 index 0000000000..82cc16d51f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_80240020_D86A00.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D86A20 +/* D86A20 80240020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D86A24 80240024 AFBF001C */ sw $ra, 0x1c($sp) +/* D86A28 80240028 AFB00018 */ sw $s0, 0x18($sp) +/* D86A2C 8024002C 8C900084 */ lw $s0, 0x84($a0) +/* D86A30 80240030 C6000008 */ lwc1 $f0, 8($s0) +/* D86A34 80240034 240400A2 */ addiu $a0, $zero, 0xa2 +/* D86A38 80240038 E7A00010 */ swc1 $f0, 0x10($sp) +/* D86A3C 8024003C 8E060000 */ lw $a2, ($s0) +/* D86A40 80240040 8E070004 */ lw $a3, 4($s0) +/* D86A44 80240044 0C05267B */ jal func_801499EC +/* D86A48 80240048 0000282D */ daddu $a1, $zero, $zero +/* D86A4C 8024004C 86020044 */ lh $v0, 0x44($s0) +/* D86A50 80240050 8FBF001C */ lw $ra, 0x1c($sp) +/* D86A54 80240054 8FB00018 */ lw $s0, 0x18($sp) +/* D86A58 80240058 28420002 */ slti $v0, $v0, 2 +/* D86A5C 8024005C 38420001 */ xori $v0, $v0, 1 +/* D86A60 80240060 00021040 */ sll $v0, $v0, 1 +/* D86A64 80240064 03E00008 */ jr $ra +/* D86A68 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_8024006C_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_8024006C_D86A00.s new file mode 100644 index 0000000000..3634766c0e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_8024006C_D86A00.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_D86A6C +/* D86A6C 8024006C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D86A70 80240070 AFB20020 */ sw $s2, 0x20($sp) +/* D86A74 80240074 0080902D */ daddu $s2, $a0, $zero +/* D86A78 80240078 AFBF0024 */ sw $ra, 0x24($sp) +/* D86A7C 8024007C AFB1001C */ sw $s1, 0x1c($sp) +/* D86A80 80240080 AFB00018 */ sw $s0, 0x18($sp) +/* D86A84 80240084 10A0004A */ beqz $a1, .L802401B0 +/* D86A88 80240088 8E51000C */ lw $s1, 0xc($s2) +/* D86A8C 8024008C 0C00AB39 */ jal heap_malloc +/* D86A90 80240090 24040058 */ addiu $a0, $zero, 0x58 +/* D86A94 80240094 0000202D */ daddu $a0, $zero, $zero +/* D86A98 80240098 3C05FD05 */ lui $a1, 0xfd05 +/* D86A9C 8024009C 34A50F81 */ ori $a1, $a1, 0xf81 +/* D86AA0 802400A0 0040802D */ daddu $s0, $v0, $zero +/* D86AA4 802400A4 0200302D */ daddu $a2, $s0, $zero +/* D86AA8 802400A8 0C0B2026 */ jal set_variable +/* D86AAC 802400AC AE500084 */ sw $s0, 0x84($s2) +/* D86AB0 802400B0 8E250000 */ lw $a1, ($s1) +/* D86AB4 802400B4 26310004 */ addiu $s1, $s1, 4 +/* D86AB8 802400B8 0C0B1EAF */ jal get_variable +/* D86ABC 802400BC 0240202D */ daddu $a0, $s2, $zero +/* D86AC0 802400C0 AE020038 */ sw $v0, 0x38($s0) +/* D86AC4 802400C4 8E250000 */ lw $a1, ($s1) +/* D86AC8 802400C8 26310004 */ addiu $s1, $s1, 4 +/* D86ACC 802400CC 0C0B1EAF */ jal get_variable +/* D86AD0 802400D0 0240202D */ daddu $a0, $s2, $zero +/* D86AD4 802400D4 AE02003C */ sw $v0, 0x3c($s0) +/* D86AD8 802400D8 8E250000 */ lw $a1, ($s1) +/* D86ADC 802400DC 26310004 */ addiu $s1, $s1, 4 +/* D86AE0 802400E0 0C0B210B */ jal get_float_variable +/* D86AE4 802400E4 0240202D */ daddu $a0, $s2, $zero +/* D86AE8 802400E8 E600000C */ swc1 $f0, 0xc($s0) +/* D86AEC 802400EC 8E250000 */ lw $a1, ($s1) +/* D86AF0 802400F0 26310004 */ addiu $s1, $s1, 4 +/* D86AF4 802400F4 0C0B210B */ jal get_float_variable +/* D86AF8 802400F8 0240202D */ daddu $a0, $s2, $zero +/* D86AFC 802400FC E6000010 */ swc1 $f0, 0x10($s0) +/* D86B00 80240100 8E250000 */ lw $a1, ($s1) +/* D86B04 80240104 26310004 */ addiu $s1, $s1, 4 +/* D86B08 80240108 0C0B210B */ jal get_float_variable +/* D86B0C 8024010C 0240202D */ daddu $a0, $s2, $zero +/* D86B10 80240110 E6000014 */ swc1 $f0, 0x14($s0) +/* D86B14 80240114 8E250000 */ lw $a1, ($s1) +/* D86B18 80240118 26310004 */ addiu $s1, $s1, 4 +/* D86B1C 8024011C 0C0B210B */ jal get_float_variable +/* D86B20 80240120 0240202D */ daddu $a0, $s2, $zero +/* D86B24 80240124 E6000018 */ swc1 $f0, 0x18($s0) +/* D86B28 80240128 8E250000 */ lw $a1, ($s1) +/* D86B2C 8024012C 26310004 */ addiu $s1, $s1, 4 +/* D86B30 80240130 0C0B210B */ jal get_float_variable +/* D86B34 80240134 0240202D */ daddu $a0, $s2, $zero +/* D86B38 80240138 E600001C */ swc1 $f0, 0x1c($s0) +/* D86B3C 8024013C 8E250000 */ lw $a1, ($s1) +/* D86B40 80240140 26310004 */ addiu $s1, $s1, 4 +/* D86B44 80240144 0C0B210B */ jal get_float_variable +/* D86B48 80240148 0240202D */ daddu $a0, $s2, $zero +/* D86B4C 8024014C E6000020 */ swc1 $f0, 0x20($s0) +/* D86B50 80240150 8E250000 */ lw $a1, ($s1) +/* D86B54 80240154 26310004 */ addiu $s1, $s1, 4 +/* D86B58 80240158 0C0B210B */ jal get_float_variable +/* D86B5C 8024015C 0240202D */ daddu $a0, $s2, $zero +/* D86B60 80240160 E6000024 */ swc1 $f0, 0x24($s0) +/* D86B64 80240164 8E250000 */ lw $a1, ($s1) +/* D86B68 80240168 0C0B210B */ jal get_float_variable +/* D86B6C 8024016C 0240202D */ daddu $a0, $s2, $zero +/* D86B70 80240170 3C013F80 */ lui $at, 0x3f80 +/* D86B74 80240174 44811000 */ mtc1 $at, $f2 +/* D86B78 80240178 E6000028 */ swc1 $f0, 0x28($s0) +/* D86B7C 8024017C AFA00014 */ sw $zero, 0x14($sp) +/* D86B80 80240180 E7A20010 */ swc1 $f2, 0x10($sp) +/* D86B84 80240184 8E05000C */ lw $a1, 0xc($s0) +/* D86B88 80240188 8E060010 */ lw $a2, 0x10($s0) +/* D86B8C 8024018C 8E070014 */ lw $a3, 0x14($s0) +/* D86B90 80240190 0C01CA6C */ jal func_800729B0 +/* D86B94 80240194 24040002 */ addiu $a0, $zero, 2 +/* D86B98 80240198 AE020050 */ sw $v0, 0x50($s0) +/* D86B9C 8024019C A600004E */ sh $zero, 0x4e($s0) +/* D86BA0 802401A0 A6000048 */ sh $zero, 0x48($s0) +/* D86BA4 802401A4 A600004A */ sh $zero, 0x4a($s0) +/* D86BA8 802401A8 A6000044 */ sh $zero, 0x44($s0) +/* D86BAC 802401AC A6000046 */ sh $zero, 0x46($s0) +.L802401B0: +/* D86BB0 802401B0 8FBF0024 */ lw $ra, 0x24($sp) +/* D86BB4 802401B4 8FB20020 */ lw $s2, 0x20($sp) +/* D86BB8 802401B8 8FB1001C */ lw $s1, 0x1c($sp) +/* D86BBC 802401BC 8FB00018 */ lw $s0, 0x18($sp) +/* D86BC0 802401C0 24020002 */ addiu $v0, $zero, 2 +/* D86BC4 802401C4 03E00008 */ jr $ra +/* D86BC8 802401C8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_802401CC_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_802401CC_D86A00.s new file mode 100644 index 0000000000..f405afefa0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_802401CC_D86A00.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_D86BCC +/* D86BCC 802401CC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D86BD0 802401D0 AFBF0020 */ sw $ra, 0x20($sp) +/* D86BD4 802401D4 AFB1001C */ sw $s1, 0x1c($sp) +/* D86BD8 802401D8 AFB00018 */ sw $s0, 0x18($sp) +/* D86BDC 802401DC 8C910084 */ lw $s1, 0x84($a0) +/* D86BE0 802401E0 86230044 */ lh $v1, 0x44($s1) +/* D86BE4 802401E4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D86BE8 802401E8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D86BEC 802401EC 2C620005 */ sltiu $v0, $v1, 5 +/* D86BF0 802401F0 1040008A */ beqz $v0, .L8024041C +/* D86BF4 802401F4 00031080 */ sll $v0, $v1, 2 +/* D86BF8 802401F8 3C018024 */ lui $at, 0x8024 +/* D86BFC 802401FC 00220821 */ addu $at, $at, $v0 +/* D86C00 80240200 8C222CB0 */ lw $v0, 0x2cb0($at) +/* D86C04 80240204 00400008 */ jr $v0 +/* D86C08 80240208 00000000 */ nop +/* D86C0C 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* D86C10 80240210 86270046 */ lh $a3, 0x46($s1) +/* D86C14 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* D86C18 80240218 8E250010 */ lw $a1, 0x10($s1) +/* D86C1C 8024021C 8E26001C */ lw $a2, 0x1c($s1) +/* D86C20 80240220 0C00A8ED */ jal update_lerp +/* D86C24 80240224 24040005 */ addiu $a0, $zero, 5 +/* D86C28 80240228 86270046 */ lh $a3, 0x46($s1) +/* D86C2C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* D86C30 80240230 E6200004 */ swc1 $f0, 4($s1) +/* D86C34 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* D86C38 80240238 8E25000C */ lw $a1, 0xc($s1) +/* D86C3C 8024023C 8E260018 */ lw $a2, 0x18($s1) +/* D86C40 80240240 0C00A8ED */ jal update_lerp +/* D86C44 80240244 0000202D */ daddu $a0, $zero, $zero +/* D86C48 80240248 86270046 */ lh $a3, 0x46($s1) +/* D86C4C 8024024C 8E22003C */ lw $v0, 0x3c($s1) +/* D86C50 80240250 E6200000 */ swc1 $f0, ($s1) +/* D86C54 80240254 AFA20010 */ sw $v0, 0x10($sp) +/* D86C58 80240258 8E250014 */ lw $a1, 0x14($s1) +/* D86C5C 8024025C 8E260020 */ lw $a2, 0x20($s1) +/* D86C60 80240260 0C00A8ED */ jal update_lerp +/* D86C64 80240264 0000202D */ daddu $a0, $zero, $zero +/* D86C68 80240268 8E220050 */ lw $v0, 0x50($s1) +/* D86C6C 8024026C E6200008 */ swc1 $f0, 8($s1) +/* D86C70 80240270 C6200000 */ lwc1 $f0, ($s1) +/* D86C74 80240274 8C42000C */ lw $v0, 0xc($v0) +/* D86C78 80240278 E4400008 */ swc1 $f0, 8($v0) +/* D86C7C 8024027C 8E220050 */ lw $v0, 0x50($s1) +/* D86C80 80240280 C6200004 */ lwc1 $f0, 4($s1) +/* D86C84 80240284 8C42000C */ lw $v0, 0xc($v0) +/* D86C88 80240288 E440000C */ swc1 $f0, 0xc($v0) +/* D86C8C 8024028C 8E220050 */ lw $v0, 0x50($s1) +/* D86C90 80240290 C6200008 */ lwc1 $f0, 8($s1) +/* D86C94 80240294 8C42000C */ lw $v0, 0xc($v0) +/* D86C98 80240298 E4400010 */ swc1 $f0, 0x10($v0) +/* D86C9C 8024029C 96220046 */ lhu $v0, 0x46($s1) +/* D86CA0 802402A0 8E23003C */ lw $v1, 0x3c($s1) +/* D86CA4 802402A4 24420001 */ addiu $v0, $v0, 1 +/* D86CA8 802402A8 A6220046 */ sh $v0, 0x46($s1) +/* D86CAC 802402AC 00021400 */ sll $v0, $v0, 0x10 +/* D86CB0 802402B0 00021403 */ sra $v0, $v0, 0x10 +/* D86CB4 802402B4 0043102A */ slt $v0, $v0, $v1 +/* D86CB8 802402B8 14400058 */ bnez $v0, .L8024041C +/* D86CBC 802402BC 24020001 */ addiu $v0, $zero, 1 +/* D86CC0 802402C0 A6220044 */ sh $v0, 0x44($s1) +/* D86CC4 802402C4 08090107 */ j .L8024041C +/* D86CC8 802402C8 A6200046 */ sh $zero, 0x46($s1) +/* D86CCC 802402CC 96220046 */ lhu $v0, 0x46($s1) +/* D86CD0 802402D0 24420001 */ addiu $v0, $v0, 1 +/* D86CD4 802402D4 A6220046 */ sh $v0, 0x46($s1) +/* D86CD8 802402D8 00021400 */ sll $v0, $v0, 0x10 +/* D86CDC 802402DC 00021403 */ sra $v0, $v0, 0x10 +/* D86CE0 802402E0 2842003C */ slti $v0, $v0, 0x3c +/* D86CE4 802402E4 1440004D */ bnez $v0, .L8024041C +/* D86CE8 802402E8 24020002 */ addiu $v0, $zero, 2 +/* D86CEC 802402EC 8E230050 */ lw $v1, 0x50($s1) +/* D86CF0 802402F0 A6220044 */ sh $v0, 0x44($s1) +/* D86CF4 802402F4 A6200046 */ sh $zero, 0x46($s1) +/* D86CF8 802402F8 8C63000C */ lw $v1, 0xc($v1) +/* D86CFC 802402FC 24020001 */ addiu $v0, $zero, 1 +/* D86D00 80240300 AC620070 */ sw $v0, 0x70($v1) +/* D86D04 80240304 8E220050 */ lw $v0, 0x50($s1) +/* D86D08 80240308 8C42000C */ lw $v0, 0xc($v0) +/* D86D0C 8024030C 08090107 */ j .L8024041C +/* D86D10 80240310 AC400074 */ sw $zero, 0x74($v0) +/* D86D14 80240314 96220046 */ lhu $v0, 0x46($s1) +/* D86D18 80240318 24420001 */ addiu $v0, $v0, 1 +/* D86D1C 8024031C A6220046 */ sh $v0, 0x46($s1) +/* D86D20 80240320 00021400 */ sll $v0, $v0, 0x10 +/* D86D24 80240324 00021403 */ sra $v0, $v0, 0x10 +/* D86D28 80240328 2842003C */ slti $v0, $v0, 0x3c +/* D86D2C 8024032C 1440003B */ bnez $v0, .L8024041C +/* D86D30 80240330 00000000 */ nop +/* D86D34 80240334 3C013F80 */ lui $at, 0x3f80 +/* D86D38 80240338 44810000 */ mtc1 $at, $f0 +/* D86D3C 8024033C AFA00014 */ sw $zero, 0x14($sp) +/* D86D40 80240340 E7A00010 */ swc1 $f0, 0x10($sp) +/* D86D44 80240344 8E250018 */ lw $a1, 0x18($s1) +/* D86D48 80240348 8E26001C */ lw $a2, 0x1c($s1) +/* D86D4C 8024034C 8E270020 */ lw $a3, 0x20($s1) +/* D86D50 80240350 0C01C9AC */ jal func_800726B0 +/* D86D54 80240354 24040001 */ addiu $a0, $zero, 1 +/* D86D58 80240358 AE220054 */ sw $v0, 0x54($s1) +/* D86D5C 8024035C 8C43000C */ lw $v1, 0xc($v0) +/* D86D60 80240360 9222003B */ lbu $v0, 0x3b($s1) +/* D86D64 80240364 A0620034 */ sb $v0, 0x34($v1) +/* D86D68 80240368 8E220054 */ lw $v0, 0x54($s1) +/* D86D6C 8024036C 8C42000C */ lw $v0, 0xc($v0) +/* D86D70 80240370 AC400020 */ sw $zero, 0x20($v0) +/* D86D74 80240374 8E250018 */ lw $a1, 0x18($s1) +/* D86D78 80240378 8E260028 */ lw $a2, 0x28($s1) +/* D86D7C 8024037C 8E270020 */ lw $a3, 0x20($s1) +/* D86D80 80240380 0C044898 */ jal create_shadow_type +/* D86D84 80240384 0000202D */ daddu $a0, $zero, $zero +/* D86D88 80240388 3C014210 */ lui $at, 0x4210 +/* D86D8C 8024038C 44810000 */ mtc1 $at, $f0 +/* D86D90 80240390 AE220040 */ sw $v0, 0x40($s1) +/* D86D94 80240394 24020003 */ addiu $v0, $zero, 3 +/* D86D98 80240398 A6220044 */ sh $v0, 0x44($s1) +/* D86D9C 8024039C 24020001 */ addiu $v0, $zero, 1 +/* D86DA0 802403A0 A6200046 */ sh $zero, 0x46($s1) +/* D86DA4 802403A4 AE20002C */ sw $zero, 0x2c($s1) +/* D86DA8 802403A8 A6220048 */ sh $v0, 0x48($s1) +/* D86DAC 802403AC 08090107 */ j .L8024041C +/* D86DB0 802403B0 E6200030 */ swc1 $f0, 0x30($s1) +/* D86DB4 802403B4 0000202D */ daddu $a0, $zero, $zero +/* D86DB8 802403B8 3C054210 */ lui $a1, 0x4210 +/* D86DBC 802403BC 3C064198 */ lui $a2, 0x4198 +/* D86DC0 802403C0 86270046 */ lh $a3, 0x46($s1) +/* D86DC4 802403C4 24020078 */ addiu $v0, $zero, 0x78 +/* D86DC8 802403C8 0C00A8ED */ jal update_lerp +/* D86DCC 802403CC AFA20010 */ sw $v0, 0x10($sp) +/* D86DD0 802403D0 96220046 */ lhu $v0, 0x46($s1) +/* D86DD4 802403D4 E6200030 */ swc1 $f0, 0x30($s1) +/* D86DD8 802403D8 24420001 */ addiu $v0, $v0, 1 +/* D86DDC 802403DC A6220046 */ sh $v0, 0x46($s1) +/* D86DE0 802403E0 00021400 */ sll $v0, $v0, 0x10 +/* D86DE4 802403E4 00021403 */ sra $v0, $v0, 0x10 +/* D86DE8 802403E8 28420078 */ slti $v0, $v0, 0x78 +/* D86DEC 802403EC 1440000B */ bnez $v0, .L8024041C +/* D86DF0 802403F0 24030001 */ addiu $v1, $zero, 1 +/* D86DF4 802403F4 C620002C */ lwc1 $f0, 0x2c($s1) +/* D86DF8 802403F8 24020002 */ addiu $v0, $zero, 2 +/* D86DFC 802403FC A6220048 */ sh $v0, 0x48($s1) +/* D86E00 80240400 24020004 */ addiu $v0, $zero, 4 +/* D86E04 80240404 A620004C */ sh $zero, 0x4c($s1) +/* D86E08 80240408 A623004A */ sh $v1, 0x4a($s1) +/* D86E0C 8024040C A623004E */ sh $v1, 0x4e($s1) +/* D86E10 80240410 A6220044 */ sh $v0, 0x44($s1) +/* D86E14 80240414 A6200046 */ sh $zero, 0x46($s1) +/* D86E18 80240418 E6200034 */ swc1 $f0, 0x34($s1) +.L8024041C: +/* D86E1C 8024041C 8623004A */ lh $v1, 0x4a($s1) +/* D86E20 80240420 24020001 */ addiu $v0, $zero, 1 +/* D86E24 80240424 10620005 */ beq $v1, $v0, .L8024043C +/* D86E28 80240428 24020002 */ addiu $v0, $zero, 2 +/* D86E2C 8024042C 1062001E */ beq $v1, $v0, .L802404A8 +/* D86E30 80240430 00000000 */ nop +/* D86E34 80240434 08090154 */ j .L80240550 +/* D86E38 80240438 00000000 */ nop +.L8024043C: +/* D86E3C 8024043C 8627004C */ lh $a3, 0x4c($s1) +/* D86E40 80240440 24100078 */ addiu $s0, $zero, 0x78 +/* D86E44 80240444 AFB00010 */ sw $s0, 0x10($sp) +/* D86E48 80240448 8E250034 */ lw $a1, 0x34($s1) +/* D86E4C 8024044C 3C0644B4 */ lui $a2, 0x44b4 +/* D86E50 80240450 0C00A8ED */ jal update_lerp +/* D86E54 80240454 24040004 */ addiu $a0, $zero, 4 +/* D86E58 80240458 8627004C */ lh $a3, 0x4c($s1) +/* D86E5C 8024045C E620002C */ swc1 $f0, 0x2c($s1) +/* D86E60 80240460 AFB00010 */ sw $s0, 0x10($sp) +/* D86E64 80240464 8E25001C */ lw $a1, 0x1c($s1) +/* D86E68 80240468 8E260024 */ lw $a2, 0x24($s1) +/* D86E6C 8024046C 0C00A8ED */ jal update_lerp +/* D86E70 80240470 2404000A */ addiu $a0, $zero, 0xa +/* D86E74 80240474 9622004C */ lhu $v0, 0x4c($s1) +/* D86E78 80240478 E6200004 */ swc1 $f0, 4($s1) +/* D86E7C 8024047C 24420001 */ addiu $v0, $v0, 1 +/* D86E80 80240480 A622004C */ sh $v0, 0x4c($s1) +/* D86E84 80240484 00021400 */ sll $v0, $v0, 0x10 +/* D86E88 80240488 00021403 */ sra $v0, $v0, 0x10 +/* D86E8C 8024048C 0050102A */ slt $v0, $v0, $s0 +/* D86E90 80240490 1440002F */ bnez $v0, .L80240550 +/* D86E94 80240494 2402010E */ addiu $v0, $zero, 0x10e +/* D86E98 80240498 A622004C */ sh $v0, 0x4c($s1) +/* D86E9C 8024049C 24020002 */ addiu $v0, $zero, 2 +/* D86EA0 802404A0 08090153 */ j .L8024054C +/* D86EA4 802404A4 A622004A */ sh $v0, 0x4a($s1) +.L802404A8: +/* D86EA8 802404A8 8622004C */ lh $v0, 0x4c($s1) +/* D86EAC 802404AC 44826000 */ mtc1 $v0, $f12 +/* D86EB0 802404B0 00000000 */ nop +/* D86EB4 802404B4 0C00A8BB */ jal sin_deg +/* D86EB8 802404B8 46806320 */ cvt.s.w $f12, $f12 +/* D86EBC 802404BC 3C013F80 */ lui $at, 0x3f80 +/* D86EC0 802404C0 44811000 */ mtc1 $at, $f2 +/* D86EC4 802404C4 00000000 */ nop +/* D86EC8 802404C8 46020000 */ add.s $f0, $f0, $f2 +/* D86ECC 802404CC 46000000 */ add.s $f0, $f0, $f0 +/* D86ED0 802404D0 C6220024 */ lwc1 $f2, 0x24($s1) +/* D86ED4 802404D4 8622004C */ lh $v0, 0x4c($s1) +/* D86ED8 802404D8 46001080 */ add.s $f2, $f2, $f0 +/* D86EDC 802404DC 24420008 */ addiu $v0, $v0, 8 +/* D86EE0 802404E0 44826000 */ mtc1 $v0, $f12 +/* D86EE4 802404E4 00000000 */ nop +/* D86EE8 802404E8 46806320 */ cvt.s.w $f12, $f12 +/* D86EEC 802404EC 0C00A6C9 */ jal clamp_angle +/* D86EF0 802404F0 E6220004 */ swc1 $f2, 4($s1) +/* D86EF4 802404F4 4600010D */ trunc.w.s $f4, $f0 +/* D86EF8 802404F8 44022000 */ mfc1 $v0, $f4 +/* D86EFC 802404FC C6200004 */ lwc1 $f0, 4($s1) +/* D86F00 80240500 A622004C */ sh $v0, 0x4c($s1) +/* D86F04 80240504 C60C0028 */ lwc1 $f12, 0x28($s0) +/* D86F08 80240508 8E060030 */ lw $a2, 0x30($s0) +/* D86F0C 8024050C 3C0141A0 */ lui $at, 0x41a0 +/* D86F10 80240510 44817000 */ mtc1 $at, $f14 +/* D86F14 80240514 E7A00010 */ swc1 $f0, 0x10($sp) +/* D86F18 80240518 C602002C */ lwc1 $f2, 0x2c($s0) +/* D86F1C 8024051C C6200008 */ lwc1 $f0, 8($s1) +/* D86F20 80240520 E7A00014 */ swc1 $f0, 0x14($sp) +/* D86F24 80240524 8E270000 */ lw $a3, ($s1) +/* D86F28 80240528 0C00A7CB */ jal dist3D +/* D86F2C 8024052C 460E1380 */ add.s $f14, $f2, $f14 +/* D86F30 80240530 3C0141F0 */ lui $at, 0x41f0 +/* D86F34 80240534 44811000 */ mtc1 $at, $f2 +/* D86F38 80240538 00000000 */ nop +/* D86F3C 8024053C 4600103C */ c.lt.s $f2, $f0 +/* D86F40 80240540 00000000 */ nop +/* D86F44 80240544 45010002 */ bc1t .L80240550 +/* D86F48 80240548 24020003 */ addiu $v0, $zero, 3 +.L8024054C: +/* D86F4C 8024054C A622004E */ sh $v0, 0x4e($s1) +.L80240550: +/* D86F50 80240550 86230048 */ lh $v1, 0x48($s1) +/* D86F54 80240554 24020001 */ addiu $v0, $zero, 1 +/* D86F58 80240558 10620005 */ beq $v1, $v0, .L80240570 +/* D86F5C 8024055C 24020002 */ addiu $v0, $zero, 2 +/* D86F60 80240560 10620008 */ beq $v1, $v0, .L80240584 +/* D86F64 80240564 00000000 */ nop +/* D86F68 80240568 08090171 */ j .L802405C4 +/* D86F6C 8024056C 00000000 */ nop +.L80240570: +/* D86F70 80240570 C620002C */ lwc1 $f0, 0x2c($s1) +/* D86F74 80240574 C62C0030 */ lwc1 $f12, 0x30($s1) +/* D86F78 80240578 0C00A6C9 */ jal clamp_angle +/* D86F7C 8024057C 460C0300 */ add.s $f12, $f0, $f12 +/* D86F80 80240580 E620002C */ swc1 $f0, 0x2c($s1) +.L80240584: +/* D86F84 80240584 8E220054 */ lw $v0, 0x54($s1) +/* D86F88 80240588 C620002C */ lwc1 $f0, 0x2c($s1) +/* D86F8C 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* D86F90 80240590 E4400024 */ swc1 $f0, 0x24($v0) +/* D86F94 80240594 8E220054 */ lw $v0, 0x54($s1) +/* D86F98 80240598 C6200018 */ lwc1 $f0, 0x18($s1) +/* D86F9C 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* D86FA0 802405A0 E4400004 */ swc1 $f0, 4($v0) +/* D86FA4 802405A4 8E220054 */ lw $v0, 0x54($s1) +/* D86FA8 802405A8 C6200004 */ lwc1 $f0, 4($s1) +/* D86FAC 802405AC 8C42000C */ lw $v0, 0xc($v0) +/* D86FB0 802405B0 E4400008 */ swc1 $f0, 8($v0) +/* D86FB4 802405B4 8E220054 */ lw $v0, 0x54($s1) +/* D86FB8 802405B8 C6200020 */ lwc1 $f0, 0x20($s1) +/* D86FBC 802405BC 8C42000C */ lw $v0, 0xc($v0) +/* D86FC0 802405C0 E440000C */ swc1 $f0, 0xc($v0) +.L802405C4: +/* D86FC4 802405C4 8FBF0020 */ lw $ra, 0x20($sp) +/* D86FC8 802405C8 8FB1001C */ lw $s1, 0x1c($sp) +/* D86FCC 802405CC 8FB00018 */ lw $s0, 0x18($sp) +/* D86FD0 802405D0 0000102D */ daddu $v0, $zero, $zero +/* D86FD4 802405D4 03E00008 */ jr $ra +/* D86FD8 802405D8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_802405DC_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_802405DC_D86A00.s new file mode 100644 index 0000000000..4b137a70e8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_802405DC_D86A00.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405DC_D86FDC +/* D86FDC 802405DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D86FE0 802405E0 AFB00010 */ sw $s0, 0x10($sp) +/* D86FE4 802405E4 0080802D */ daddu $s0, $a0, $zero +/* D86FE8 802405E8 AFBF0014 */ sw $ra, 0x14($sp) +/* D86FEC 802405EC 8E02000C */ lw $v0, 0xc($s0) +/* D86FF0 802405F0 0C0B1EAF */ jal get_variable +/* D86FF4 802405F4 8C450000 */ lw $a1, ($v0) +/* D86FF8 802405F8 8E030084 */ lw $v1, 0x84($s0) +/* D86FFC 802405FC 8FBF0014 */ lw $ra, 0x14($sp) +/* D87000 80240600 8463004E */ lh $v1, 0x4e($v1) +/* D87004 80240604 8FB00010 */ lw $s0, 0x10($sp) +/* D87008 80240608 00621826 */ xor $v1, $v1, $v0 +/* D8700C 8024060C 2C630001 */ sltiu $v1, $v1, 1 +/* D87010 80240610 00031040 */ sll $v0, $v1, 1 +/* D87014 80240614 03E00008 */ jr $ra +/* D87018 80240618 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_8024061C_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_8024061C_D86A00.s new file mode 100644 index 0000000000..0f8b610075 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_8024061C_D86A00.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_D8701C +/* D8701C 8024061C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D87020 80240620 AFB20020 */ sw $s2, 0x20($sp) +/* D87024 80240624 0080902D */ daddu $s2, $a0, $zero +/* D87028 80240628 AFBF0024 */ sw $ra, 0x24($sp) +/* D8702C 8024062C AFB1001C */ sw $s1, 0x1c($sp) +/* D87030 80240630 AFB00018 */ sw $s0, 0x18($sp) +/* D87034 80240634 10A00035 */ beqz $a1, .L8024070C +/* D87038 80240638 8E51000C */ lw $s1, 0xc($s2) +/* D8703C 8024063C 0C00AB39 */ jal heap_malloc +/* D87040 80240640 24040058 */ addiu $a0, $zero, 0x58 +/* D87044 80240644 0040802D */ daddu $s0, $v0, $zero +/* D87048 80240648 AE500084 */ sw $s0, 0x84($s2) +/* D8704C 8024064C 8E250000 */ lw $a1, ($s1) +/* D87050 80240650 26310004 */ addiu $s1, $s1, 4 +/* D87054 80240654 0C0B1EAF */ jal get_variable +/* D87058 80240658 0240202D */ daddu $a0, $s2, $zero +/* D8705C 8024065C AE020038 */ sw $v0, 0x38($s0) +/* D87060 80240660 8E250000 */ lw $a1, ($s1) +/* D87064 80240664 26310004 */ addiu $s1, $s1, 4 +/* D87068 80240668 0C0B210B */ jal get_float_variable +/* D8706C 8024066C 0240202D */ daddu $a0, $s2, $zero +/* D87070 80240670 E6000018 */ swc1 $f0, 0x18($s0) +/* D87074 80240674 8E250000 */ lw $a1, ($s1) +/* D87078 80240678 26310004 */ addiu $s1, $s1, 4 +/* D8707C 8024067C 0C0B210B */ jal get_float_variable +/* D87080 80240680 0240202D */ daddu $a0, $s2, $zero +/* D87084 80240684 E6000024 */ swc1 $f0, 0x24($s0) +/* D87088 80240688 8E250000 */ lw $a1, ($s1) +/* D8708C 8024068C 26310004 */ addiu $s1, $s1, 4 +/* D87090 80240690 0C0B210B */ jal get_float_variable +/* D87094 80240694 0240202D */ daddu $a0, $s2, $zero +/* D87098 80240698 E6000020 */ swc1 $f0, 0x20($s0) +/* D8709C 8024069C 8E250000 */ lw $a1, ($s1) +/* D870A0 802406A0 0C0B210B */ jal get_float_variable +/* D870A4 802406A4 0240202D */ daddu $a0, $s2, $zero +/* D870A8 802406A8 3C013F80 */ lui $at, 0x3f80 +/* D870AC 802406AC 44811000 */ mtc1 $at, $f2 +/* D870B0 802406B0 E6000028 */ swc1 $f0, 0x28($s0) +/* D870B4 802406B4 AFA00014 */ sw $zero, 0x14($sp) +/* D870B8 802406B8 E7A20010 */ swc1 $f2, 0x10($sp) +/* D870BC 802406BC 8E050018 */ lw $a1, 0x18($s0) +/* D870C0 802406C0 8E060024 */ lw $a2, 0x24($s0) +/* D870C4 802406C4 8E070020 */ lw $a3, 0x20($s0) +/* D870C8 802406C8 0C01C9AC */ jal func_800726B0 +/* D870CC 802406CC 24040001 */ addiu $a0, $zero, 1 +/* D870D0 802406D0 AE020054 */ sw $v0, 0x54($s0) +/* D870D4 802406D4 8C43000C */ lw $v1, 0xc($v0) +/* D870D8 802406D8 9202003B */ lbu $v0, 0x3b($s0) +/* D870DC 802406DC A0620034 */ sb $v0, 0x34($v1) +/* D870E0 802406E0 8E020054 */ lw $v0, 0x54($s0) +/* D870E4 802406E4 8C42000C */ lw $v0, 0xc($v0) +/* D870E8 802406E8 AC400020 */ sw $zero, 0x20($v0) +/* D870EC 802406EC 8E050018 */ lw $a1, 0x18($s0) +/* D870F0 802406F0 8E060028 */ lw $a2, 0x28($s0) +/* D870F4 802406F4 8E070020 */ lw $a3, 0x20($s0) +/* D870F8 802406F8 0C044898 */ jal create_shadow_type +/* D870FC 802406FC 0000202D */ daddu $a0, $zero, $zero +/* D87100 80240700 AE020040 */ sw $v0, 0x40($s0) +/* D87104 80240704 2402010E */ addiu $v0, $zero, 0x10e +/* D87108 80240708 A602004C */ sh $v0, 0x4c($s0) +.L8024070C: +/* D8710C 8024070C 8FBF0024 */ lw $ra, 0x24($sp) +/* D87110 80240710 8FB20020 */ lw $s2, 0x20($sp) +/* D87114 80240714 8FB1001C */ lw $s1, 0x1c($sp) +/* D87118 80240718 8FB00018 */ lw $s0, 0x18($sp) +/* D8711C 8024071C 24020002 */ addiu $v0, $zero, 2 +/* D87120 80240720 03E00008 */ jr $ra +/* D87124 80240724 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_80240728_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_80240728_D86A00.s new file mode 100644 index 0000000000..de3b642613 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_80240728_D86A00.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728_D87128 +/* D87128 80240728 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8712C 8024072C AFBF0014 */ sw $ra, 0x14($sp) +/* D87130 80240730 AFB00010 */ sw $s0, 0x10($sp) +/* D87134 80240734 8C900084 */ lw $s0, 0x84($a0) +/* D87138 80240738 8602004C */ lh $v0, 0x4c($s0) +/* D8713C 8024073C 44826000 */ mtc1 $v0, $f12 +/* D87140 80240740 00000000 */ nop +/* D87144 80240744 0C00A8BB */ jal sin_deg +/* D87148 80240748 46806320 */ cvt.s.w $f12, $f12 +/* D8714C 8024074C 3C013F80 */ lui $at, 0x3f80 +/* D87150 80240750 44811000 */ mtc1 $at, $f2 +/* D87154 80240754 00000000 */ nop +/* D87158 80240758 46020000 */ add.s $f0, $f0, $f2 +/* D8715C 8024075C 46000000 */ add.s $f0, $f0, $f0 +/* D87160 80240760 C6020024 */ lwc1 $f2, 0x24($s0) +/* D87164 80240764 8602004C */ lh $v0, 0x4c($s0) +/* D87168 80240768 46001080 */ add.s $f2, $f2, $f0 +/* D8716C 8024076C 24420008 */ addiu $v0, $v0, 8 +/* D87170 80240770 44826000 */ mtc1 $v0, $f12 +/* D87174 80240774 00000000 */ nop +/* D87178 80240778 46806320 */ cvt.s.w $f12, $f12 +/* D8717C 8024077C 0C00A6C9 */ jal clamp_angle +/* D87180 80240780 E6020004 */ swc1 $f2, 4($s0) +/* D87184 80240784 4600010D */ trunc.w.s $f4, $f0 +/* D87188 80240788 44022000 */ mfc1 $v0, $f4 +/* D8718C 8024078C 00000000 */ nop +/* D87190 80240790 A602004C */ sh $v0, 0x4c($s0) +/* D87194 80240794 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D87198 80240798 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D8719C 8024079C C44C0028 */ lwc1 $f12, 0x28($v0) +/* D871A0 802407A0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* D871A4 802407A4 8E060018 */ lw $a2, 0x18($s0) +/* D871A8 802407A8 0C00A7B5 */ jal dist2D +/* D871AC 802407AC 8E070020 */ lw $a3, 0x20($s0) +/* D871B0 802407B0 3C0141F0 */ lui $at, 0x41f0 +/* D871B4 802407B4 44811000 */ mtc1 $at, $f2 +/* D871B8 802407B8 00000000 */ nop +/* D871BC 802407BC 4602003E */ c.le.s $f0, $f2 +/* D871C0 802407C0 00000000 */ nop +/* D871C4 802407C4 45000002 */ bc1f .L802407D0 +/* D871C8 802407C8 24020003 */ addiu $v0, $zero, 3 +/* D871CC 802407CC A602004E */ sh $v0, 0x4e($s0) +.L802407D0: +/* D871D0 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* D871D4 802407D4 C6000018 */ lwc1 $f0, 0x18($s0) +/* D871D8 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* D871DC 802407DC E4400004 */ swc1 $f0, 4($v0) +/* D871E0 802407E0 8E020054 */ lw $v0, 0x54($s0) +/* D871E4 802407E4 C6000004 */ lwc1 $f0, 4($s0) +/* D871E8 802407E8 8C42000C */ lw $v0, 0xc($v0) +/* D871EC 802407EC E4400008 */ swc1 $f0, 8($v0) +/* D871F0 802407F0 8E020054 */ lw $v0, 0x54($s0) +/* D871F4 802407F4 C6000020 */ lwc1 $f0, 0x20($s0) +/* D871F8 802407F8 8C42000C */ lw $v0, 0xc($v0) +/* D871FC 802407FC E440000C */ swc1 $f0, 0xc($v0) +/* D87200 80240800 8FBF0014 */ lw $ra, 0x14($sp) +/* D87204 80240804 8FB00010 */ lw $s0, 0x10($sp) +/* D87208 80240808 0000102D */ daddu $v0, $zero, $zero +/* D8720C 8024080C 03E00008 */ jr $ra +/* D87210 80240810 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_32/func_80240814_D86A00.s b/asm/nonmatchings/world/area_pra/pra_32/func_80240814_D86A00.s new file mode 100644 index 0000000000..e68d8b267a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_32/func_80240814_D86A00.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240814_D87214 +/* D87214 80240814 3C02800A */ lui $v0, %hi(D_8009A650) +/* D87218 80240818 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* D8721C 8024081C 8C430000 */ lw $v1, ($v0) +/* D87220 80240820 2404FF7F */ addiu $a0, $zero, -0x81 +/* D87224 80240824 00641824 */ and $v1, $v1, $a0 +/* D87228 80240828 AC430000 */ sw $v1, ($v0) +/* D8722C 8024082C 03E00008 */ jr $ra +/* D87230 80240830 24020002 */ addiu $v0, $zero, 2 +/* D87234 80240834 00000000 */ nop +/* D87238 80240838 00000000 */ nop +/* D8723C 8024083C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240000_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240000_D896E0.s new file mode 100644 index 0000000000..e4fe241ef2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240000_D896E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D896E0 +/* D896E0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D896E4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D896E8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D896EC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D896F0 80240010 03E00008 */ jr $ra +/* D896F4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D896F8 80240018 00000000 */ nop +/* D896FC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240020_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240020_D896E0.s new file mode 100644 index 0000000000..dbb7093f81 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240020_D896E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D89700 +/* D89700 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D89704 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D89708 80240028 00822024 */ and $a0, $a0, $v0 +/* D8970C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D89710 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D89714 80240034 00821821 */ addu $v1, $a0, $v0 +/* D89718 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D8971C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D89720 80240040 30620001 */ andi $v0, $v1, 1 +/* D89724 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D89728 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D8972C 8024004C 03E00008 */ jr $ra +/* D89730 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240054_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240054_D896E0.s new file mode 100644 index 0000000000..2437f0e579 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240054_D896E0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D89734 +/* D89734 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D89738 80240058 304300FF */ andi $v1, $v0, 0xff +/* D8973C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D89740 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D89744 80240064 28620007 */ slti $v0, $v1, 7 +/* D89748 80240068 10400005 */ beqz $v0, .L80240080 +/* D8974C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D89750 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D89754 80240074 3C020100 */ lui $v0, 0x100 +/* D89758 80240078 03E00008 */ jr $ra +/* D8975C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D89760 80240080 2862000A */ slti $v0, $v1, 0xa +/* D89764 80240084 10400016 */ beqz $v0, .L802400E0 +/* D89768 80240088 28620008 */ slti $v0, $v1, 8 +/* D8976C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D89770 80240090 3C020100 */ lui $v0, 0x100 +/* D89774 80240094 03E00008 */ jr $ra +/* D89778 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D8977C 8024009C 3C020001 */ lui $v0, 1 +/* D89780 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D89784 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D89788 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D8978C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D89790 802400B0 03E00008 */ jr $ra +/* D89794 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D89798 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D8979C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D897A0 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D897A4 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D897A8 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D897AC 802400CC 30620001 */ andi $v0, $v1, 1 +/* D897B0 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D897B4 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D897B8 802400D8 03E00008 */ jr $ra +/* D897BC 802400DC 00000000 */ nop +.L802400E0: +/* D897C0 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D897C4 802400E4 03E00008 */ jr $ra +/* D897C8 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_802400EC_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_802400EC_D896E0.s new file mode 100644 index 0000000000..c6cc1a8475 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_802400EC_D896E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D897CC +/* D897CC 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D897D0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D897D4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D897D8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D897DC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D897E0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D897E4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D897E8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D897EC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D897F0 80240110 AC620000 */ sw $v0, ($v1) +/* D897F4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D897F8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D897FC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D89800 80240120 03E00008 */ jr $ra +/* D89804 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240128_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240128_D896E0.s new file mode 100644 index 0000000000..b2c5aabd0a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240128_D896E0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D89808 +/* D89808 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8980C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D89810 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D89814 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D89818 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D8981C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D89820 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D89824 80240144 8E020000 */ lw $v0, ($s0) +/* D89828 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D8982C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D89830 80240150 10400061 */ beqz $v0, .L802402D8 +/* D89834 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D89838 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D8983C 8024015C 0C044181 */ jal get_shadow_by_index +/* D89840 80240160 00000000 */ nop +/* D89844 80240164 0C048B77 */ jal func_80122DDC +/* D89848 80240168 84440008 */ lh $a0, 8($v0) +/* D8984C 8024016C 8C430000 */ lw $v1, ($v0) +/* D89850 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D89854 80240174 AC430000 */ sw $v1, ($v0) +/* D89858 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D8985C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D89860 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D89864 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D89868 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D8986C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D89870 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D89874 80240194 3C04800A */ lui $a0, 0x800a +/* D89878 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D8987C 8024019C 46000007 */ neg.s $f0, $f0 +/* D89880 802401A0 44070000 */ mfc1 $a3, $f0 +/* D89884 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D89888 802401A8 0C00B94E */ jal get_screen_coords +/* D8988C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D89890 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D89894 802401B4 0C090008 */ jal func_80240020 +/* D89898 802401B8 00000000 */ nop +/* D8989C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D898A0 802401C0 3C014307 */ lui $at, 0x4307 +/* D898A4 802401C4 44810000 */ mtc1 $at, $f0 +/* D898A8 802401C8 00000000 */ nop +/* D898AC 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D898B0 802401D0 00000000 */ nop +/* D898B4 802401D4 4500000B */ bc1f .L80240204 +/* D898B8 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D898BC 802401DC 3C014361 */ lui $at, 0x4361 +/* D898C0 802401E0 44810000 */ mtc1 $at, $f0 +/* D898C4 802401E4 00000000 */ nop +/* D898C8 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D898CC 802401EC 00000000 */ nop +/* D898D0 802401F0 45000004 */ bc1f .L80240204 +/* D898D4 802401F4 00000000 */ nop +/* D898D8 802401F8 0C090015 */ jal func_80240054 +/* D898DC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D898E0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D898E4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D898E8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D898EC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D898F0 80240210 8E020000 */ lw $v0, ($s0) +/* D898F4 80240214 3C030002 */ lui $v1, 2 +/* D898F8 80240218 00431024 */ and $v0, $v0, $v1 +/* D898FC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D89900 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D89904 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D89908 80240228 3C02802E */ lui $v0, 0x802e +/* D8990C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D89910 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D89914 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D89918 80240238 1040000B */ beqz $v0, .L80240268 +/* D8991C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D89920 80240240 24040002 */ addiu $a0, $zero, 2 +/* D89924 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D89928 80240248 24060007 */ addiu $a2, $zero, 7 +/* D8992C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D89930 80240250 0000382D */ daddu $a3, $zero, $zero +/* D89934 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D89938 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D8993C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D89940 80240260 080900A3 */ j .L8024028C +/* D89944 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D89948 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D8994C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D89950 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D89954 80240274 0000302D */ daddu $a2, $zero, $zero +/* D89958 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D8995C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D89960 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D89964 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D89968 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D8996C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D89970 80240290 00000000 */ nop +.L80240294: +/* D89974 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D89978 80240298 3C01802E */ lui $at, 0x802e +/* D8997C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D89980 802402A0 080900AD */ j .L802402B4 +/* D89984 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D89988 802402A8 3C01802E */ lui $at, 0x802e +/* D8998C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D89990 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D89994 802402B4 AC910000 */ sw $s1, ($a0) +/* D89998 802402B8 AC900008 */ sw $s0, 8($a0) +/* D8999C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D899A0 802402C0 3C038024 */ lui $v1, 0x8024 +/* D899A4 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D899A8 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D899AC 802402CC 00021023 */ negu $v0, $v0 +/* D899B0 802402D0 0C047644 */ jal queue_render_task +/* D899B4 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D899B8 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D899BC 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D899C0 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D899C4 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D899C8 802402E8 03E00008 */ jr $ra +/* D899CC 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_802402F0_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_802402F0_D896E0.s new file mode 100644 index 0000000000..84f8188ccd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_802402F0_D896E0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D899D0 +/* D899D0 802402F0 3C03800A */ lui $v1, 0x800a +/* D899D4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D899D8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D899DC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D899E0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D899E4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D899E8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D899EC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D899F0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D899F4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D899F8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D899FC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D89A00 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D89A04 80240324 00031080 */ sll $v0, $v1, 2 +/* D89A08 80240328 00431021 */ addu $v0, $v0, $v1 +/* D89A0C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D89A10 80240330 00431023 */ subu $v0, $v0, $v1 +/* D89A14 80240334 000218C0 */ sll $v1, $v0, 3 +/* D89A18 80240338 00431021 */ addu $v0, $v0, $v1 +/* D89A1C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D89A20 80240340 3C01800B */ lui $at, 0x800b +/* D89A24 80240344 00220821 */ addu $at, $at, $v0 +/* D89A28 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D89A2C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D89A30 80240350 4600B587 */ neg.s $f22, $f22 +/* D89A34 80240354 4405B000 */ mfc1 $a1, $f22 +/* D89A38 80240358 0200202D */ daddu $a0, $s0, $zero +/* D89A3C 8024035C 0C019EC8 */ jal guRotateF +/* D89A40 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D89A44 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D89A48 80240368 0C00A6C9 */ jal clamp_angle +/* D89A4C 8024036C 00000000 */ nop +/* D89A50 80240370 44050000 */ mfc1 $a1, $f0 +/* D89A54 80240374 4406A000 */ mfc1 $a2, $f20 +/* D89A58 80240378 4407A000 */ mfc1 $a3, $f20 +/* D89A5C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D89A60 80240380 4481C000 */ mtc1 $at, $f24 +/* D89A64 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D89A68 80240388 0C019EC8 */ jal guRotateF +/* D89A6C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D89A70 80240390 0200202D */ daddu $a0, $s0, $zero +/* D89A74 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D89A78 80240398 0C019D80 */ jal guMtxCatF +/* D89A7C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D89A80 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D89A84 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D89A88 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D89A8C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D89A90 802403B0 0C019EC8 */ jal guRotateF +/* D89A94 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D89A98 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D89A9C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D89AA0 802403C0 0C019D80 */ jal guMtxCatF +/* D89AA4 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D89AA8 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D89AAC 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D89AB0 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D89AB4 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D89AB8 802403D8 0C019EC8 */ jal guRotateF +/* D89ABC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D89AC0 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D89AC4 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D89AC8 802403E8 0C019D80 */ jal guMtxCatF +/* D89ACC 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D89AD0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D89AD4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D89AD8 802403F8 44810000 */ mtc1 $at, $f0 +/* D89ADC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D89AE0 80240400 44050000 */ mfc1 $a1, $f0 +/* D89AE4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D89AE8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D89AEC 8024040C 0C019DF0 */ jal guScaleF +/* D89AF0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D89AF4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D89AF8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D89AFC 8024041C 0C019D80 */ jal guMtxCatF +/* D89B00 80240420 0080302D */ daddu $a2, $a0, $zero +/* D89B04 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D89B08 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D89B0C 8024042C 3C014040 */ lui $at, 0x4040 +/* D89B10 80240430 44811000 */ mtc1 $at, $f2 +/* D89B14 80240434 46000007 */ neg.s $f0, $f0 +/* D89B18 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D89B1C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D89B20 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D89B24 80240444 44070000 */ mfc1 $a3, $f0 +/* D89B28 80240448 0C019E40 */ jal guTranslateF +/* D89B2C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D89B30 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D89B34 80240454 0200282D */ daddu $a1, $s0, $zero +/* D89B38 80240458 0C019D80 */ jal guMtxCatF +/* D89B3C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D89B40 80240460 24040002 */ addiu $a0, $zero, 2 +/* D89B44 80240464 0000282D */ daddu $a1, $zero, $zero +/* D89B48 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D89B4C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D89B50 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D89B54 80240474 0C0B7710 */ jal render_sprite +/* D89B58 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D89B5C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D89B60 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D89B64 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D89B68 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D89B6C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D89B70 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D89B74 80240494 03E00008 */ jr $ra +/* D89B78 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_8024049C_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_8024049C_D896E0.s new file mode 100644 index 0000000000..b4bc7f4376 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_8024049C_D896E0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D89B7C +/* D89B7C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D89B80 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D89B84 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D89B88 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D89B8C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D89B90 802404B0 0440000E */ bltz $v0, .L802404EC +/* D89B94 802404B4 28420002 */ slti $v0, $v0, 2 +/* D89B98 802404B8 1040000C */ beqz $v0, .L802404EC +/* D89B9C 802404BC 00000000 */ nop +/* D89BA0 802404C0 3C058024 */ lui $a1, 0x8024 +/* D89BA4 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D89BA8 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D89BAC 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D89BB0 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D89BB4 802404D4 AC620000 */ sw $v0, ($v1) +/* D89BB8 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D89BBC 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D89BC0 802404E0 8C620000 */ lw $v0, ($v1) +/* D89BC4 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D89BC8 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D89BCC 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D89BD0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D89BD4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D89BD8 802404F8 03E00008 */ jr $ra +/* D89BDC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240500_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240500_D896E0.s new file mode 100644 index 0000000000..44f3b9b3b2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240500_D896E0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D89BE0 +/* D89BE0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D89BE4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D89BE8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D89BEC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D89BF0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D89BF4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D89BF8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D89BFC 8024051C 8E020000 */ lw $v0, ($s0) +/* D89C00 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D89C04 80240524 30420001 */ andi $v0, $v0, 1 +/* D89C08 80240528 10400052 */ beqz $v0, .L80240674 +/* D89C0C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D89C10 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D89C14 80240534 0C044181 */ jal get_shadow_by_index +/* D89C18 80240538 00000000 */ nop +/* D89C1C 8024053C 0C048B77 */ jal func_80122DDC +/* D89C20 80240540 84440008 */ lh $a0, 8($v0) +/* D89C24 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D89C28 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D89C2C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D89C30 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D89C34 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D89C38 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D89C3C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D89C40 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D89C44 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D89C48 80240568 3C04800A */ lui $a0, 0x800a +/* D89C4C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D89C50 80240570 46000007 */ neg.s $f0, $f0 +/* D89C54 80240574 44060000 */ mfc1 $a2, $f0 +/* D89C58 80240578 0C00B94E */ jal get_screen_coords +/* D89C5C 8024057C 00000000 */ nop +/* D89C60 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D89C64 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D89C68 80240588 0C0B76A3 */ jal func_802DDA8C +/* D89C6C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D89C70 80240590 8E020000 */ lw $v0, ($s0) +/* D89C74 80240594 3C030002 */ lui $v1, 2 +/* D89C78 80240598 00431024 */ and $v0, $v0, $v1 +/* D89C7C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D89C80 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D89C84 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D89C88 802405A8 3C02802E */ lui $v0, 0x802e +/* D89C8C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D89C90 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D89C94 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D89C98 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D89C9C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D89CA0 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D89CA4 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D89CA8 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D89CAC 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D89CB0 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D89CB4 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D89CB8 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D89CBC 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D89CC0 802405E0 08090183 */ j .L8024060C +/* D89CC4 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D89CC8 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D89CCC 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D89CD0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D89CD4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D89CD8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D89CDC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D89CE0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D89CE4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D89CE8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D89CEC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D89CF0 80240610 00000000 */ nop +.L80240614: +/* D89CF4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D89CF8 80240618 3C01802E */ lui $at, 0x802e +/* D89CFC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D89D00 80240620 0809018C */ j .L80240630 +/* D89D04 80240624 00000000 */ nop +.L80240628: +/* D89D08 80240628 3C01802E */ lui $at, 0x802e +/* D89D0C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D89D10 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D89D14 80240634 3C048024 */ lui $a0, 0x8024 +/* D89D18 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D89D1C 8024063C AE320000 */ sw $s2, ($s1) +/* D89D20 80240640 AE300008 */ sw $s0, 8($s1) +/* D89D24 80240644 00021023 */ negu $v0, $v0 +/* D89D28 80240648 AE220004 */ sw $v0, 4($s1) +/* D89D2C 8024064C 8E020000 */ lw $v0, ($s0) +/* D89D30 80240650 3C030002 */ lui $v1, 2 +/* D89D34 80240654 00431024 */ and $v0, $v0, $v1 +/* D89D38 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D89D3C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D89D40 80240660 3C048024 */ lui $a0, 0x8024 +/* D89D44 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D89D48 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D89D4C 8024066C 0C047644 */ jal queue_render_task +/* D89D50 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D89D54 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D89D58 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D89D5C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D89D60 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D89D64 80240684 03E00008 */ jr $ra +/* D89D68 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_8024068C_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_8024068C_D896E0.s new file mode 100644 index 0000000000..803f2b84f5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_8024068C_D896E0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D89D6C +/* D89D6C 8024068C 3C03800A */ lui $v1, 0x800a +/* D89D70 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D89D74 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D89D78 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D89D7C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D89D80 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D89D84 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D89D88 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D89D8C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D89D90 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D89D94 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D89D98 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D89D9C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D89DA0 802406C0 00031080 */ sll $v0, $v1, 2 +/* D89DA4 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D89DA8 802406C8 00021080 */ sll $v0, $v0, 2 +/* D89DAC 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D89DB0 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D89DB4 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D89DB8 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D89DBC 802406DC 3C01800B */ lui $at, 0x800b +/* D89DC0 802406E0 00220821 */ addu $at, $at, $v0 +/* D89DC4 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D89DC8 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D89DCC 802406EC 4600B587 */ neg.s $f22, $f22 +/* D89DD0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D89DD4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D89DD8 802406F8 0C019EC8 */ jal guRotateF +/* D89DDC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D89DE0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D89DE4 80240704 0C00A6C9 */ jal clamp_angle +/* D89DE8 80240708 00000000 */ nop +/* D89DEC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D89DF0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D89DF4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D89DF8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D89DFC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D89E00 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D89E04 80240724 0C019EC8 */ jal guRotateF +/* D89E08 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D89E0C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D89E10 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D89E14 80240734 0C019D80 */ jal guMtxCatF +/* D89E18 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D89E1C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D89E20 80240740 4406A000 */ mfc1 $a2, $f20 +/* D89E24 80240744 4407C000 */ mfc1 $a3, $f24 +/* D89E28 80240748 0200202D */ daddu $a0, $s0, $zero +/* D89E2C 8024074C 0C019EC8 */ jal guRotateF +/* D89E30 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D89E34 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D89E38 80240758 0200282D */ daddu $a1, $s0, $zero +/* D89E3C 8024075C 0C019D80 */ jal guMtxCatF +/* D89E40 80240760 0080302D */ daddu $a2, $a0, $zero +/* D89E44 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D89E48 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D89E4C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D89E50 80240770 4407C000 */ mfc1 $a3, $f24 +/* D89E54 80240774 0C019EC8 */ jal guRotateF +/* D89E58 80240778 0200202D */ daddu $a0, $s0, $zero +/* D89E5C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D89E60 80240780 0200282D */ daddu $a1, $s0, $zero +/* D89E64 80240784 0C019D80 */ jal guMtxCatF +/* D89E68 80240788 0080302D */ daddu $a2, $a0, $zero +/* D89E6C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D89E70 80240790 3C013F36 */ lui $at, 0x3f36 +/* D89E74 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D89E78 80240798 44810000 */ mtc1 $at, $f0 +/* D89E7C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D89E80 802407A0 44050000 */ mfc1 $a1, $f0 +/* D89E84 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D89E88 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D89E8C 802407AC 0C019DF0 */ jal guScaleF +/* D89E90 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D89E94 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D89E98 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D89E9C 802407BC 0C019D80 */ jal guMtxCatF +/* D89EA0 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D89EA4 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D89EA8 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D89EAC 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D89EB0 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D89EB4 802407D4 46000007 */ neg.s $f0, $f0 +/* D89EB8 802407D8 44060000 */ mfc1 $a2, $f0 +/* D89EBC 802407DC 0C019E40 */ jal guTranslateF +/* D89EC0 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D89EC4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D89EC8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D89ECC 802407EC 0C019D80 */ jal guMtxCatF +/* D89ED0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D89ED4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D89ED8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D89EDC 802407FC 44810000 */ mtc1 $at, $f0 +/* D89EE0 80240800 00000000 */ nop +/* D89EE4 80240804 4602003E */ c.le.s $f0, $f2 +/* D89EE8 80240808 00000000 */ nop +/* D89EEC 8024080C 4500000A */ bc1f .L80240838 +/* D89EF0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D89EF4 80240814 3C014387 */ lui $at, 0x4387 +/* D89EF8 80240818 44810000 */ mtc1 $at, $f0 +/* D89EFC 8024081C 00000000 */ nop +/* D89F00 80240820 4600103C */ c.lt.s $f2, $f0 +/* D89F04 80240824 00000000 */ nop +/* D89F08 80240828 45000004 */ bc1f .L8024083C +/* D89F0C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D89F10 80240830 3C041000 */ lui $a0, 0x1000 +/* D89F14 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D89F18 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D89F1C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D89F20 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D89F24 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D89F28 80240848 0C0B7710 */ jal render_sprite +/* D89F2C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D89F30 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D89F34 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D89F38 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D89F3C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D89F40 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D89F44 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D89F48 80240868 03E00008 */ jr $ra +/* D89F4C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240870_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240870_D896E0.s new file mode 100644 index 0000000000..f943474246 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240870_D896E0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D89F50 +/* D89F50 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D89F54 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D89F58 80240878 4480B000 */ mtc1 $zero, $f22 +/* D89F5C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D89F60 80240880 0080882D */ daddu $s1, $a0, $zero +/* D89F64 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D89F68 80240888 0000982D */ daddu $s3, $zero, $zero +/* D89F6C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D89F70 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D89F74 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D89F78 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D89F7C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D89F80 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D89F84 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D89F88 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D89F8C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D89F90 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D89F94 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D89F98 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D89F9C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D89FA0 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D89FA4 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D89FA8 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D89FAC 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D89FB0 802408D0 3C03800A */ lui $v1, 0x800a +/* D89FB4 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D89FB8 802408D8 00031080 */ sll $v0, $v1, 2 +/* D89FBC 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D89FC0 802408E0 00021080 */ sll $v0, $v0, 2 +/* D89FC4 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D89FC8 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D89FCC 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D89FD0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D89FD4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D89FD8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D89FDC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D89FE0 80240900 46000507 */ neg.s $f20, $f0 +/* D89FE4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D89FE8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D89FEC 8024090C 44810000 */ mtc1 $at, $f0 +/* D89FF0 80240910 00000000 */ nop +/* D89FF4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D89FF8 80240918 00000000 */ nop +/* D89FFC 8024091C 4500000A */ bc1f .L80240948 +/* D8A000 80240920 00000000 */ nop +/* D8A004 80240924 3C014334 */ lui $at, 0x4334 +/* D8A008 80240928 44812000 */ mtc1 $at, $f4 +/* D8A00C 8024092C 00000000 */ nop +/* D8A010 80240930 4604103E */ c.le.s $f2, $f4 +/* D8A014 80240934 00000000 */ nop +/* D8A018 80240938 45000003 */ bc1f .L80240948 +/* D8A01C 8024093C 00000000 */ nop +/* D8A020 80240940 08090276 */ j .L802409D8 +/* D8A024 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D8A028 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D8A02C 8024094C 3C014334 */ lui $at, 0x4334 +/* D8A030 80240950 44812000 */ mtc1 $at, $f4 +/* D8A034 80240954 00000000 */ nop +/* D8A038 80240958 4600203C */ c.lt.s $f4, $f0 +/* D8A03C 8024095C 00000000 */ nop +/* D8A040 80240960 4500000C */ bc1f .L80240994 +/* D8A044 80240964 00000000 */ nop +/* D8A048 80240968 3C014387 */ lui $at, 0x4387 +/* D8A04C 8024096C 44812000 */ mtc1 $at, $f4 +/* D8A050 80240970 00000000 */ nop +/* D8A054 80240974 4604003E */ c.le.s $f0, $f4 +/* D8A058 80240978 00000000 */ nop +/* D8A05C 8024097C 45000008 */ bc1f .L802409A0 +/* D8A060 80240980 00000000 */ nop +/* D8A064 80240984 3C014334 */ lui $at, 0x4334 +/* D8A068 80240988 44812000 */ mtc1 $at, $f4 +/* D8A06C 8024098C 08090276 */ j .L802409D8 +/* D8A070 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D8A074 80240994 3C014387 */ lui $at, 0x4387 +/* D8A078 80240998 44812000 */ mtc1 $at, $f4 +/* D8A07C 8024099C 00000000 */ nop +.L802409A0: +/* D8A080 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D8A084 802409A4 00000000 */ nop +/* D8A088 802409A8 4500000A */ bc1f .L802409D4 +/* D8A08C 802409AC 00000000 */ nop +/* D8A090 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D8A094 802409B4 44811000 */ mtc1 $at, $f2 +/* D8A098 802409B8 00000000 */ nop +/* D8A09C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D8A0A0 802409C0 00000000 */ nop +/* D8A0A4 802409C4 45000003 */ bc1f .L802409D4 +/* D8A0A8 802409C8 00000000 */ nop +/* D8A0AC 802409CC 08090276 */ j .L802409D8 +/* D8A0B0 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D8A0B4 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D8A0B8 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D8A0BC 802409DC 44810000 */ mtc1 $at, $f0 +/* D8A0C0 802409E0 00000000 */ nop +/* D8A0C4 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D8A0C8 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D8A0CC 802409EC 44072000 */ mfc1 $a3, $f4 +/* D8A0D0 802409F0 00000000 */ nop +/* D8A0D4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D8A0D8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D8A0DC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D8A0E0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D8A0E4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D8A0E8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D8A0EC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D8A0F0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D8A0F4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D8A0F8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D8A0FC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D8A100 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D8A104 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D8A108 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D8A10C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D8A110 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D8A114 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D8A118 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D8A11C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D8A120 80240A40 0C019EC8 */ jal guRotateF +/* D8A124 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A128 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8A12C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D8A130 80240A50 00000000 */ nop +/* D8A134 80240A54 44050000 */ mfc1 $a1, $f0 +/* D8A138 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D8A13C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D8A140 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D8A144 80240A64 44812000 */ mtc1 $at, $f4 +/* D8A148 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A14C 80240A6C 0C019EC8 */ jal guRotateF +/* D8A150 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D8A154 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D8A158 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D8A15C 80240A7C 0C019D80 */ jal guMtxCatF +/* D8A160 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D8A164 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8A168 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8A16C 80240A8C 080902D6 */ j .L80240B58 +/* D8A170 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D8A174 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D8A178 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D8A17C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D8A180 80240AA0 0C03964E */ jal func_800E5938 +/* D8A184 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D8A188 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D8A18C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D8A190 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D8A194 80240AB4 46000606 */ mov.s $f24, $f0 +/* D8A198 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8A19C 80240ABC 080902B5 */ j .L80240AD4 +/* D8A1A0 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D8A1A4 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D8A1A8 80240AC8 00000000 */ nop +/* D8A1AC 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D8A1B0 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D8A1B4 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D8A1B8 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D8A1BC 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D8A1C0 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8A1C4 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D8A1C8 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D8A1CC 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D8A1D0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D8A1D4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D8A1D8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D8A1DC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D8A1E0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D8A1E4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D8A1E8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D8A1EC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A1F0 80240B10 0C019EC8 */ jal guRotateF +/* D8A1F4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A1F8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D8A1FC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D8A200 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D8A204 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D8A208 80240B28 0C019EC8 */ jal guRotateF +/* D8A20C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A210 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D8A214 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D8A218 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D8A21C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A220 80240B40 0C019EC8 */ jal guRotateF +/* D8A224 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A228 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D8A22C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D8A230 80240B50 0C019D80 */ jal guMtxCatF +/* D8A234 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D8A238 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D8A23C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D8A240 80240B60 44812000 */ mtc1 $at, $f4 +/* D8A244 80240B64 00021023 */ negu $v0, $v0 +/* D8A248 80240B68 44820000 */ mtc1 $v0, $f0 +/* D8A24C 80240B6C 00000000 */ nop +/* D8A250 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D8A254 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D8A258 80240B78 00000000 */ nop +/* D8A25C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D8A260 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D8A264 80240B84 44062000 */ mfc1 $a2, $f4 +/* D8A268 80240B88 0C019E40 */ jal guTranslateF +/* D8A26C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D8A270 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D8A274 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D8A278 80240B98 0C019D80 */ jal guMtxCatF +/* D8A27C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D8A280 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D8A284 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D8A288 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D8A28C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D8A290 80240BB0 0C019EC8 */ jal guRotateF +/* D8A294 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A298 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A29C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D8A2A0 80240BC0 0C019D80 */ jal guMtxCatF +/* D8A2A4 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D8A2A8 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8A2AC 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8A2B0 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D8A2B4 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D8A2B8 80240BD8 0C019EC8 */ jal guRotateF +/* D8A2BC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D8A2C0 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A2C4 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D8A2C8 80240BE8 0C019D80 */ jal guMtxCatF +/* D8A2CC 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D8A2D0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D8A2D4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D8A2D8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D8A2DC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D8A2E0 80240C00 00000000 */ nop +/* D8A2E4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D8A2E8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D8A2EC 80240C0C 00000000 */ nop +/* D8A2F0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D8A2F4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D8A2F8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D8A2FC 80240C1C 0C019E40 */ jal guTranslateF +/* D8A300 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D8A304 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A308 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D8A30C 80240C2C 0C019D80 */ jal guMtxCatF +/* D8A310 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D8A314 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D8A318 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D8A31C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D8A320 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D8A324 80240C44 44050000 */ mfc1 $a1, $f0 +/* D8A328 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D8A32C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D8A330 80240C50 0C019DF0 */ jal guScaleF +/* D8A334 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D8A338 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A33C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D8A340 80240C60 0C019D80 */ jal guMtxCatF +/* D8A344 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D8A348 80240C68 4600D687 */ neg.s $f26, $f26 +/* D8A34C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D8A350 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D8A354 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D8A358 80240C78 0C019E40 */ jal guTranslateF +/* D8A35C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D8A360 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D8A364 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D8A368 80240C88 0C019D80 */ jal guMtxCatF +/* D8A36C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D8A370 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8A374 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D8A378 80240C98 44810000 */ mtc1 $at, $f0 +/* D8A37C 80240C9C 00000000 */ nop +/* D8A380 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D8A384 80240CA4 00000000 */ nop +/* D8A388 80240CA8 4500000A */ bc1f .L80240CD4 +/* D8A38C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D8A390 80240CB0 3C014387 */ lui $at, 0x4387 +/* D8A394 80240CB4 44812000 */ mtc1 $at, $f4 +/* D8A398 80240CB8 00000000 */ nop +/* D8A39C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D8A3A0 80240CC0 00000000 */ nop +/* D8A3A4 80240CC4 45000004 */ bc1f .L80240CD8 +/* D8A3A8 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D8A3AC 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D8A3B0 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D8A3B4 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D8A3B8 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D8A3BC 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D8A3C0 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D8A3C4 80240CE4 0C0B7710 */ jal render_sprite +/* D8A3C8 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D8A3CC 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D8A3D0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D8A3D4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D8A3D8 80240CF8 00000000 */ nop +/* D8A3DC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D8A3E0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D8A3E4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D8A3E8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D8A3EC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D8A3F0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D8A3F4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D8A3F8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D8A3FC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D8A400 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D8A404 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D8A408 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D8A40C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D8A410 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D8A414 80240D34 03E00008 */ jr $ra +/* D8A418 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240D3C_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240D3C_D896E0.s new file mode 100644 index 0000000000..0d8ef694ab --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240D3C_D896E0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D8A41C +/* D8A41C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8A420 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D8A424 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D8A428 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D8A42C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D8A430 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D8A434 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D8A438 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D8A43C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D8A440 80240D60 00000000 */ nop +/* D8A444 80240D64 28620002 */ slti $v0, $v1, 2 +/* D8A448 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D8A44C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D8A450 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D8A454 80240D74 00000000 */ nop +/* D8A458 80240D78 08090378 */ j .L80240DE0 +/* D8A45C 80240D7C 00000000 */ nop +.L80240D80: +/* D8A460 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D8A464 80240D84 00000000 */ nop +/* D8A468 80240D88 08090378 */ j .L80240DE0 +/* D8A46C 80240D8C 00000000 */ nop +.L80240D90: +/* D8A470 80240D90 3C048024 */ lui $a0, 0x8024 +/* D8A474 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D8A478 80240D98 08090374 */ j .L80240DD0 +/* D8A47C 80240D9C 00000000 */ nop +.L80240DA0: +/* D8A480 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D8A484 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D8A488 80240DA8 08090374 */ j .L80240DD0 +/* D8A48C 80240DAC 00000000 */ nop +.L80240DB0: +/* D8A490 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D8A494 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D8A498 80240DB8 00000000 */ nop +/* D8A49C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D8A4A0 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D8A4A4 80240DC4 00000000 */ nop +.L80240DC8: +/* D8A4A8 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D8A4AC 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D8A4B0 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D8A4B4 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D8A4B8 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D8A4BC 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D8A4C0 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D8A4C4 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D8A4C8 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D8A4CC 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D8A4D0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D8A4D4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D8A4D8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D8A4DC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D8A4E0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D8A4E4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D8A4E8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D8A4EC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D8A4F0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D8A4F4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D8A4F8 80240E18 00000000 */ nop +/* D8A4FC 80240E1C 0809039D */ j .L80240E74 +/* D8A500 80240E20 00000000 */ nop +.L80240E24: +/* D8A504 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D8A508 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D8A50C 80240E2C 0809039D */ j .L80240E74 +/* D8A510 80240E30 00000000 */ nop +.L80240E34: +/* D8A514 80240E34 8CA20000 */ lw $v0, ($a1) +/* D8A518 80240E38 0809039A */ j .L80240E68 +/* D8A51C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D8A520 80240E40 8CA20000 */ lw $v0, ($a1) +/* D8A524 80240E44 0809039A */ j .L80240E68 +/* D8A528 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D8A52C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D8A530 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D8A534 80240E54 28420002 */ slti $v0, $v0, 2 +/* D8A538 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D8A53C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D8A540 80240E60 8CA20000 */ lw $v0, ($a1) +/* D8A544 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D8A548 80240E68 00431025 */ or $v0, $v0, $v1 +/* D8A54C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D8A550 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D8A554 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D8A558 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D8A55C 80240E7C 03E00008 */ jr $ra +/* D8A560 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240E84_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240E84_D896E0.s new file mode 100644 index 0000000000..0ecd57a2de --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240E84_D896E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D8A564 +/* D8A564 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8A568 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D8A56C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D8A570 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D8A574 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D8A578 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D8A57C 80240E9C 3C03000A */ lui $v1, 0xa +/* D8A580 80240EA0 8C820000 */ lw $v0, ($a0) +/* D8A584 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D8A588 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D8A58C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D8A590 80240EB0 03E00008 */ jr $ra +/* D8A594 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240EB8_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240EB8_D896E0.s new file mode 100644 index 0000000000..61122c3eb9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240EB8_D896E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D8A598 +/* D8A598 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8A59C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D8A5A0 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D8A5A4 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D8A5A8 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D8A5AC 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D8A5B0 80240ED0 3C030008 */ lui $v1, 8 +/* D8A5B4 80240ED4 8C820000 */ lw $v0, ($a0) +/* D8A5B8 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D8A5BC 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D8A5C0 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D8A5C4 80240EE4 03E00008 */ jr $ra +/* D8A5C8 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240EEC_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240EEC_D896E0.s new file mode 100644 index 0000000000..6763b73f3e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240EEC_D896E0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D8A5CC +/* D8A5CC 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8A5D0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D8A5D4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D8A5D8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D8A5DC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D8A5E0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D8A5E4 80240F04 3C030002 */ lui $v1, 2 +/* D8A5E8 80240F08 8C820000 */ lw $v0, ($a0) +/* D8A5EC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D8A5F0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D8A5F4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D8A5F8 80240F18 03E00008 */ jr $ra +/* D8A5FC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240F20_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240F20_D896E0.s new file mode 100644 index 0000000000..056ae74214 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240F20_D896E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D8A600 +/* D8A600 80240F20 3C058016 */ lui $a1, 0x8016 +/* D8A604 80240F24 24A5A550 */ addiu $a1, $a1, -0x5ab0 +/* D8A608 80240F28 AC8000AC */ sw $zero, 0xac($a0) +/* D8A60C 80240F2C 84A20002 */ lh $v0, 2($a1) +/* D8A610 80240F30 2403001C */ addiu $v1, $zero, 0x1c +/* D8A614 80240F34 14430002 */ bne $v0, $v1, .L80240F40 +/* D8A618 80240F38 24020001 */ addiu $v0, $zero, 1 +/* D8A61C 80240F3C AC8200AC */ sw $v0, 0xac($a0) +.L80240F40: +/* D8A620 80240F40 84A20004 */ lh $v0, 4($a1) +/* D8A624 80240F44 14430002 */ bne $v0, $v1, .L80240F50 +/* D8A628 80240F48 24020001 */ addiu $v0, $zero, 1 +/* D8A62C 80240F4C AC8200AC */ sw $v0, 0xac($a0) +.L80240F50: +/* D8A630 80240F50 03E00008 */ jr $ra +/* D8A634 80240F54 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80240F58_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80240F58_D896E0.s new file mode 100644 index 0000000000..d6b78af8ae --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80240F58_D896E0.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F58_D8A638 +/* D8A638 80240F58 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D8A63C 80240F5C AFB10014 */ sw $s1, 0x14($sp) +/* D8A640 80240F60 0080882D */ daddu $s1, $a0, $zero +/* D8A644 80240F64 AFB00010 */ sw $s0, 0x10($sp) +/* D8A648 80240F68 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D8A64C 80240F6C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D8A650 80240F70 AFBF0018 */ sw $ra, 0x18($sp) +/* D8A654 80240F74 F7B60028 */ sdc1 $f22, 0x28($sp) +/* D8A658 80240F78 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D8A65C 80240F7C 8E060028 */ lw $a2, 0x28($s0) +/* D8A660 80240F80 8E070030 */ lw $a3, 0x30($s0) +/* D8A664 80240F84 3C014348 */ lui $at, 0x4348 +/* D8A668 80240F88 4481A000 */ mtc1 $at, $f20 +/* D8A66C 80240F8C 4480B000 */ mtc1 $zero, $f22 +/* D8A670 80240F90 4600A306 */ mov.s $f12, $f20 +/* D8A674 80240F94 0C00A7B5 */ jal dist2D +/* D8A678 80240F98 4600B386 */ mov.s $f14, $f22 +/* D8A67C 80240F9C 4600008D */ trunc.w.s $f2, $f0 +/* D8A680 80240FA0 E622009C */ swc1 $f2, 0x9c($s1) +/* D8A684 80240FA4 4600A306 */ mov.s $f12, $f20 +/* D8A688 80240FA8 8E060028 */ lw $a2, 0x28($s0) +/* D8A68C 80240FAC 8E070030 */ lw $a3, 0x30($s0) +/* D8A690 80240FB0 0C00A720 */ jal atan2 +/* D8A694 80240FB4 4600B386 */ mov.s $f14, $f22 +/* D8A698 80240FB8 4600008D */ trunc.w.s $f2, $f0 +/* D8A69C 80240FBC 44021000 */ mfc1 $v0, $f2 +/* D8A6A0 80240FC0 00000000 */ nop +/* D8A6A4 80240FC4 44826000 */ mtc1 $v0, $f12 +/* D8A6A8 80240FC8 00000000 */ nop +/* D8A6AC 80240FCC 46806320 */ cvt.s.w $f12, $f12 +/* D8A6B0 80240FD0 0C00A6C9 */ jal clamp_angle +/* D8A6B4 80240FD4 AE2200A0 */ sw $v0, 0xa0($s1) +/* D8A6B8 80240FD8 4600008D */ trunc.w.s $f2, $f0 +/* D8A6BC 80240FDC E62200A0 */ swc1 $f2, 0xa0($s1) +/* D8A6C0 80240FE0 8FBF0018 */ lw $ra, 0x18($sp) +/* D8A6C4 80240FE4 8FB10014 */ lw $s1, 0x14($sp) +/* D8A6C8 80240FE8 8FB00010 */ lw $s0, 0x10($sp) +/* D8A6CC 80240FEC D7B60028 */ ldc1 $f22, 0x28($sp) +/* D8A6D0 80240FF0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D8A6D4 80240FF4 24020002 */ addiu $v0, $zero, 2 +/* D8A6D8 80240FF8 03E00008 */ jr $ra +/* D8A6DC 80240FFC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_33/func_80241000_D896E0.s b/asm/nonmatchings/world/area_pra/pra_33/func_80241000_D896E0.s new file mode 100644 index 0000000000..6758116f29 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_33/func_80241000_D896E0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241000_D8A6E0 +/* D8A6E0 80241000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8A6E4 80241004 AFB00018 */ sw $s0, 0x18($sp) +/* D8A6E8 80241008 0080802D */ daddu $s0, $a0, $zero +/* D8A6EC 8024100C AFBF001C */ sw $ra, 0x1c($sp) +/* D8A6F0 80241010 C60C00A0 */ lwc1 $f12, 0xa0($s0) +/* D8A6F4 80241014 46806320 */ cvt.s.w $f12, $f12 +/* D8A6F8 80241018 27A50010 */ addiu $a1, $sp, 0x10 +/* D8A6FC 8024101C 0C00A88D */ jal sin_cos_deg +/* D8A700 80241020 27A60014 */ addiu $a2, $sp, 0x14 +/* D8A704 80241024 C7A20010 */ lwc1 $f2, 0x10($sp) +/* D8A708 80241028 C600009C */ lwc1 $f0, 0x9c($s0) +/* D8A70C 8024102C 46800020 */ cvt.s.w $f0, $f0 +/* D8A710 80241030 46020002 */ mul.s $f0, $f0, $f2 +/* D8A714 80241034 00000000 */ nop +/* D8A718 80241038 3C014348 */ lui $at, 0x4348 +/* D8A71C 8024103C 44811000 */ mtc1 $at, $f2 +/* D8A720 80241040 00000000 */ nop +/* D8A724 80241044 46020000 */ add.s $f0, $f0, $f2 +/* D8A728 80241048 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D8A72C 8024104C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D8A730 80241050 E4400028 */ swc1 $f0, 0x28($v0) +/* D8A734 80241054 C7A00014 */ lwc1 $f0, 0x14($sp) +/* D8A738 80241058 C602009C */ lwc1 $f2, 0x9c($s0) +/* D8A73C 8024105C 468010A0 */ cvt.s.w $f2, $f2 +/* D8A740 80241060 46000007 */ neg.s $f0, $f0 +/* D8A744 80241064 46001082 */ mul.s $f2, $f2, $f0 +/* D8A748 80241068 00000000 */ nop +/* D8A74C 8024106C 44800000 */ mtc1 $zero, $f0 +/* D8A750 80241070 00000000 */ nop +/* D8A754 80241074 46001080 */ add.s $f2, $f2, $f0 +/* D8A758 80241078 E4420030 */ swc1 $f2, 0x30($v0) +/* D8A75C 8024107C 8FBF001C */ lw $ra, 0x1c($sp) +/* D8A760 80241080 8FB00018 */ lw $s0, 0x18($sp) +/* D8A764 80241084 24020002 */ addiu $v0, $zero, 2 +/* D8A768 80241088 03E00008 */ jr $ra +/* D8A76C 8024108C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240000_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240000_D8B3B0.s new file mode 100644 index 0000000000..f8de6f4862 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240000_D8B3B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D8B3B0 +/* D8B3B0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D8B3B4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D8B3B8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D8B3BC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D8B3C0 80240010 03E00008 */ jr $ra +/* D8B3C4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D8B3C8 80240018 00000000 */ nop +/* D8B3CC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240020_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240020_D8B3B0.s new file mode 100644 index 0000000000..bd55909e06 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240020_D8B3B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D8B3D0 +/* D8B3D0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D8B3D4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D8B3D8 80240028 00822024 */ and $a0, $a0, $v0 +/* D8B3DC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D8B3E0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D8B3E4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D8B3E8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D8B3EC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D8B3F0 80240040 30620001 */ andi $v0, $v1, 1 +/* D8B3F4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D8B3F8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D8B3FC 8024004C 03E00008 */ jr $ra +/* D8B400 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240054_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240054_D8B3B0.s new file mode 100644 index 0000000000..4794166151 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240054_D8B3B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D8B404 +/* D8B404 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D8B408 80240058 304300FF */ andi $v1, $v0, 0xff +/* D8B40C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D8B410 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D8B414 80240064 28620007 */ slti $v0, $v1, 7 +/* D8B418 80240068 10400005 */ beqz $v0, .L80240080 +/* D8B41C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D8B420 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D8B424 80240074 3C020100 */ lui $v0, 0x100 +/* D8B428 80240078 03E00008 */ jr $ra +/* D8B42C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D8B430 80240080 2862000A */ slti $v0, $v1, 0xa +/* D8B434 80240084 10400016 */ beqz $v0, .L802400E0 +/* D8B438 80240088 28620008 */ slti $v0, $v1, 8 +/* D8B43C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D8B440 80240090 3C020100 */ lui $v0, 0x100 +/* D8B444 80240094 03E00008 */ jr $ra +/* D8B448 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D8B44C 8024009C 3C020001 */ lui $v0, 1 +/* D8B450 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D8B454 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D8B458 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D8B45C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D8B460 802400B0 03E00008 */ jr $ra +/* D8B464 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D8B468 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D8B46C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D8B470 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D8B474 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D8B478 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D8B47C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D8B480 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D8B484 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D8B488 802400D8 03E00008 */ jr $ra +/* D8B48C 802400DC 00000000 */ nop +.L802400E0: +/* D8B490 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D8B494 802400E4 03E00008 */ jr $ra +/* D8B498 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_802400EC_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_802400EC_D8B3B0.s new file mode 100644 index 0000000000..369575dc88 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_802400EC_D8B3B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D8B49C +/* D8B49C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8B4A0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D8B4A4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D8B4A8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D8B4AC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D8B4B0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D8B4B4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D8B4B8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D8B4BC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D8B4C0 80240110 AC620000 */ sw $v0, ($v1) +/* D8B4C4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D8B4C8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D8B4CC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D8B4D0 80240120 03E00008 */ jr $ra +/* D8B4D4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240128_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240128_D8B3B0.s new file mode 100644 index 0000000000..6c4a52025e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240128_D8B3B0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D8B4D8 +/* D8B4D8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8B4DC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D8B4E0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D8B4E4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D8B4E8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D8B4EC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D8B4F0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D8B4F4 80240144 8E020000 */ lw $v0, ($s0) +/* D8B4F8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D8B4FC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D8B500 80240150 10400061 */ beqz $v0, .L802402D8 +/* D8B504 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D8B508 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D8B50C 8024015C 0C044181 */ jal get_shadow_by_index +/* D8B510 80240160 00000000 */ nop +/* D8B514 80240164 0C048B77 */ jal func_80122DDC +/* D8B518 80240168 84440008 */ lh $a0, 8($v0) +/* D8B51C 8024016C 8C430000 */ lw $v1, ($v0) +/* D8B520 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D8B524 80240174 AC430000 */ sw $v1, ($v0) +/* D8B528 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D8B52C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D8B530 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D8B534 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D8B538 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D8B53C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D8B540 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D8B544 80240194 3C04800A */ lui $a0, 0x800a +/* D8B548 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D8B54C 8024019C 46000007 */ neg.s $f0, $f0 +/* D8B550 802401A0 44070000 */ mfc1 $a3, $f0 +/* D8B554 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D8B558 802401A8 0C00B94E */ jal get_screen_coords +/* D8B55C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D8B560 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D8B564 802401B4 0C090008 */ jal func_80240020 +/* D8B568 802401B8 00000000 */ nop +/* D8B56C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D8B570 802401C0 3C014307 */ lui $at, 0x4307 +/* D8B574 802401C4 44810000 */ mtc1 $at, $f0 +/* D8B578 802401C8 00000000 */ nop +/* D8B57C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D8B580 802401D0 00000000 */ nop +/* D8B584 802401D4 4500000B */ bc1f .L80240204 +/* D8B588 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D8B58C 802401DC 3C014361 */ lui $at, 0x4361 +/* D8B590 802401E0 44810000 */ mtc1 $at, $f0 +/* D8B594 802401E4 00000000 */ nop +/* D8B598 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D8B59C 802401EC 00000000 */ nop +/* D8B5A0 802401F0 45000004 */ bc1f .L80240204 +/* D8B5A4 802401F4 00000000 */ nop +/* D8B5A8 802401F8 0C090015 */ jal func_80240054 +/* D8B5AC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D8B5B0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D8B5B4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D8B5B8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D8B5BC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D8B5C0 80240210 8E020000 */ lw $v0, ($s0) +/* D8B5C4 80240214 3C030002 */ lui $v1, 2 +/* D8B5C8 80240218 00431024 */ and $v0, $v0, $v1 +/* D8B5CC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D8B5D0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D8B5D4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D8B5D8 80240228 3C02802E */ lui $v0, 0x802e +/* D8B5DC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D8B5E0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D8B5E4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D8B5E8 80240238 1040000B */ beqz $v0, .L80240268 +/* D8B5EC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D8B5F0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D8B5F4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D8B5F8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D8B5FC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D8B600 80240250 0000382D */ daddu $a3, $zero, $zero +/* D8B604 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D8B608 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D8B60C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D8B610 80240260 080900A3 */ j .L8024028C +/* D8B614 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D8B618 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D8B61C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D8B620 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D8B624 80240274 0000302D */ daddu $a2, $zero, $zero +/* D8B628 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D8B62C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D8B630 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D8B634 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D8B638 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D8B63C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D8B640 80240290 00000000 */ nop +.L80240294: +/* D8B644 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D8B648 80240298 3C01802E */ lui $at, 0x802e +/* D8B64C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D8B650 802402A0 080900AD */ j .L802402B4 +/* D8B654 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D8B658 802402A8 3C01802E */ lui $at, 0x802e +/* D8B65C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D8B660 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D8B664 802402B4 AC910000 */ sw $s1, ($a0) +/* D8B668 802402B8 AC900008 */ sw $s0, 8($a0) +/* D8B66C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D8B670 802402C0 3C038024 */ lui $v1, 0x8024 +/* D8B674 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D8B678 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D8B67C 802402CC 00021023 */ negu $v0, $v0 +/* D8B680 802402D0 0C047644 */ jal queue_render_task +/* D8B684 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D8B688 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D8B68C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D8B690 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D8B694 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D8B698 802402E8 03E00008 */ jr $ra +/* D8B69C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_802402F0_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_802402F0_D8B3B0.s new file mode 100644 index 0000000000..5950892ede --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_802402F0_D8B3B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D8B6A0 +/* D8B6A0 802402F0 3C03800A */ lui $v1, 0x800a +/* D8B6A4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D8B6A8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D8B6AC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D8B6B0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D8B6B4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D8B6B8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D8B6BC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D8B6C0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D8B6C4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D8B6C8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D8B6CC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D8B6D0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D8B6D4 80240324 00031080 */ sll $v0, $v1, 2 +/* D8B6D8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D8B6DC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D8B6E0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D8B6E4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D8B6E8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D8B6EC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D8B6F0 80240340 3C01800B */ lui $at, 0x800b +/* D8B6F4 80240344 00220821 */ addu $at, $at, $v0 +/* D8B6F8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D8B6FC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D8B700 80240350 4600B587 */ neg.s $f22, $f22 +/* D8B704 80240354 4405B000 */ mfc1 $a1, $f22 +/* D8B708 80240358 0200202D */ daddu $a0, $s0, $zero +/* D8B70C 8024035C 0C019EC8 */ jal guRotateF +/* D8B710 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8B714 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8B718 80240368 0C00A6C9 */ jal clamp_angle +/* D8B71C 8024036C 00000000 */ nop +/* D8B720 80240370 44050000 */ mfc1 $a1, $f0 +/* D8B724 80240374 4406A000 */ mfc1 $a2, $f20 +/* D8B728 80240378 4407A000 */ mfc1 $a3, $f20 +/* D8B72C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D8B730 80240380 4481C000 */ mtc1 $at, $f24 +/* D8B734 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D8B738 80240388 0C019EC8 */ jal guRotateF +/* D8B73C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D8B740 80240390 0200202D */ daddu $a0, $s0, $zero +/* D8B744 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D8B748 80240398 0C019D80 */ jal guMtxCatF +/* D8B74C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D8B750 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D8B754 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D8B758 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D8B75C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D8B760 802403B0 0C019EC8 */ jal guRotateF +/* D8B764 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8B768 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D8B76C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D8B770 802403C0 0C019D80 */ jal guMtxCatF +/* D8B774 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D8B778 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8B77C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8B780 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D8B784 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D8B788 802403D8 0C019EC8 */ jal guRotateF +/* D8B78C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D8B790 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D8B794 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D8B798 802403E8 0C019D80 */ jal guMtxCatF +/* D8B79C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D8B7A0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D8B7A4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D8B7A8 802403F8 44810000 */ mtc1 $at, $f0 +/* D8B7AC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D8B7B0 80240400 44050000 */ mfc1 $a1, $f0 +/* D8B7B4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D8B7B8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D8B7BC 8024040C 0C019DF0 */ jal guScaleF +/* D8B7C0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D8B7C4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D8B7C8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D8B7CC 8024041C 0C019D80 */ jal guMtxCatF +/* D8B7D0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D8B7D4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D8B7D8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D8B7DC 8024042C 3C014040 */ lui $at, 0x4040 +/* D8B7E0 80240430 44811000 */ mtc1 $at, $f2 +/* D8B7E4 80240434 46000007 */ neg.s $f0, $f0 +/* D8B7E8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D8B7EC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D8B7F0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D8B7F4 80240444 44070000 */ mfc1 $a3, $f0 +/* D8B7F8 80240448 0C019E40 */ jal guTranslateF +/* D8B7FC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D8B800 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D8B804 80240454 0200282D */ daddu $a1, $s0, $zero +/* D8B808 80240458 0C019D80 */ jal guMtxCatF +/* D8B80C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D8B810 80240460 24040002 */ addiu $a0, $zero, 2 +/* D8B814 80240464 0000282D */ daddu $a1, $zero, $zero +/* D8B818 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D8B81C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D8B820 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D8B824 80240474 0C0B7710 */ jal render_sprite +/* D8B828 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D8B82C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D8B830 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D8B834 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D8B838 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D8B83C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D8B840 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D8B844 80240494 03E00008 */ jr $ra +/* D8B848 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_8024049C_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_8024049C_D8B3B0.s new file mode 100644 index 0000000000..1b217f5f03 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_8024049C_D8B3B0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D8B84C +/* D8B84C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8B850 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D8B854 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D8B858 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D8B85C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D8B860 802404B0 0440000E */ bltz $v0, .L802404EC +/* D8B864 802404B4 28420002 */ slti $v0, $v0, 2 +/* D8B868 802404B8 1040000C */ beqz $v0, .L802404EC +/* D8B86C 802404BC 00000000 */ nop +/* D8B870 802404C0 3C058024 */ lui $a1, 0x8024 +/* D8B874 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D8B878 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D8B87C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D8B880 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D8B884 802404D4 AC620000 */ sw $v0, ($v1) +/* D8B888 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D8B88C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D8B890 802404E0 8C620000 */ lw $v0, ($v1) +/* D8B894 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D8B898 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D8B89C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D8B8A0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D8B8A4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D8B8A8 802404F8 03E00008 */ jr $ra +/* D8B8AC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240500_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240500_D8B3B0.s new file mode 100644 index 0000000000..bc6f63c393 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240500_D8B3B0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D8B8B0 +/* D8B8B0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8B8B4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D8B8B8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D8B8BC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D8B8C0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D8B8C4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D8B8C8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D8B8CC 8024051C 8E020000 */ lw $v0, ($s0) +/* D8B8D0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D8B8D4 80240524 30420001 */ andi $v0, $v0, 1 +/* D8B8D8 80240528 10400052 */ beqz $v0, .L80240674 +/* D8B8DC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D8B8E0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D8B8E4 80240534 0C044181 */ jal get_shadow_by_index +/* D8B8E8 80240538 00000000 */ nop +/* D8B8EC 8024053C 0C048B77 */ jal func_80122DDC +/* D8B8F0 80240540 84440008 */ lh $a0, 8($v0) +/* D8B8F4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D8B8F8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D8B8FC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D8B900 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D8B904 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D8B908 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D8B90C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D8B910 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D8B914 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D8B918 80240568 3C04800A */ lui $a0, 0x800a +/* D8B91C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D8B920 80240570 46000007 */ neg.s $f0, $f0 +/* D8B924 80240574 44060000 */ mfc1 $a2, $f0 +/* D8B928 80240578 0C00B94E */ jal get_screen_coords +/* D8B92C 8024057C 00000000 */ nop +/* D8B930 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D8B934 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D8B938 80240588 0C0B76A3 */ jal func_802DDA8C +/* D8B93C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D8B940 80240590 8E020000 */ lw $v0, ($s0) +/* D8B944 80240594 3C030002 */ lui $v1, 2 +/* D8B948 80240598 00431024 */ and $v0, $v0, $v1 +/* D8B94C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D8B950 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D8B954 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D8B958 802405A8 3C02802E */ lui $v0, 0x802e +/* D8B95C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D8B960 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D8B964 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D8B968 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D8B96C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D8B970 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D8B974 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D8B978 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D8B97C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D8B980 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D8B984 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D8B988 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D8B98C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D8B990 802405E0 08090183 */ j .L8024060C +/* D8B994 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D8B998 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D8B99C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D8B9A0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D8B9A4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D8B9A8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D8B9AC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D8B9B0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D8B9B4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D8B9B8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D8B9BC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D8B9C0 80240610 00000000 */ nop +.L80240614: +/* D8B9C4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D8B9C8 80240618 3C01802E */ lui $at, 0x802e +/* D8B9CC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D8B9D0 80240620 0809018C */ j .L80240630 +/* D8B9D4 80240624 00000000 */ nop +.L80240628: +/* D8B9D8 80240628 3C01802E */ lui $at, 0x802e +/* D8B9DC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D8B9E0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D8B9E4 80240634 3C048024 */ lui $a0, 0x8024 +/* D8B9E8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D8B9EC 8024063C AE320000 */ sw $s2, ($s1) +/* D8B9F0 80240640 AE300008 */ sw $s0, 8($s1) +/* D8B9F4 80240644 00021023 */ negu $v0, $v0 +/* D8B9F8 80240648 AE220004 */ sw $v0, 4($s1) +/* D8B9FC 8024064C 8E020000 */ lw $v0, ($s0) +/* D8BA00 80240650 3C030002 */ lui $v1, 2 +/* D8BA04 80240654 00431024 */ and $v0, $v0, $v1 +/* D8BA08 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D8BA0C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D8BA10 80240660 3C048024 */ lui $a0, 0x8024 +/* D8BA14 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D8BA18 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D8BA1C 8024066C 0C047644 */ jal queue_render_task +/* D8BA20 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D8BA24 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D8BA28 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D8BA2C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D8BA30 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D8BA34 80240684 03E00008 */ jr $ra +/* D8BA38 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_8024068C_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_8024068C_D8B3B0.s new file mode 100644 index 0000000000..45ac554b08 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_8024068C_D8B3B0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D8BA3C +/* D8BA3C 8024068C 3C03800A */ lui $v1, 0x800a +/* D8BA40 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D8BA44 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D8BA48 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D8BA4C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D8BA50 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D8BA54 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D8BA58 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D8BA5C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D8BA60 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D8BA64 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D8BA68 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D8BA6C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D8BA70 802406C0 00031080 */ sll $v0, $v1, 2 +/* D8BA74 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D8BA78 802406C8 00021080 */ sll $v0, $v0, 2 +/* D8BA7C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D8BA80 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D8BA84 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D8BA88 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D8BA8C 802406DC 3C01800B */ lui $at, 0x800b +/* D8BA90 802406E0 00220821 */ addu $at, $at, $v0 +/* D8BA94 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D8BA98 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D8BA9C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D8BAA0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D8BAA4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D8BAA8 802406F8 0C019EC8 */ jal guRotateF +/* D8BAAC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D8BAB0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8BAB4 80240704 0C00A6C9 */ jal clamp_angle +/* D8BAB8 80240708 00000000 */ nop +/* D8BABC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D8BAC0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D8BAC4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D8BAC8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D8BACC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D8BAD0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D8BAD4 80240724 0C019EC8 */ jal guRotateF +/* D8BAD8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D8BADC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D8BAE0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D8BAE4 80240734 0C019D80 */ jal guMtxCatF +/* D8BAE8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D8BAEC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D8BAF0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D8BAF4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D8BAF8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D8BAFC 8024074C 0C019EC8 */ jal guRotateF +/* D8BB00 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8BB04 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D8BB08 80240758 0200282D */ daddu $a1, $s0, $zero +/* D8BB0C 8024075C 0C019D80 */ jal guMtxCatF +/* D8BB10 80240760 0080302D */ daddu $a2, $a0, $zero +/* D8BB14 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8BB18 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8BB1C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D8BB20 80240770 4407C000 */ mfc1 $a3, $f24 +/* D8BB24 80240774 0C019EC8 */ jal guRotateF +/* D8BB28 80240778 0200202D */ daddu $a0, $s0, $zero +/* D8BB2C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D8BB30 80240780 0200282D */ daddu $a1, $s0, $zero +/* D8BB34 80240784 0C019D80 */ jal guMtxCatF +/* D8BB38 80240788 0080302D */ daddu $a2, $a0, $zero +/* D8BB3C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D8BB40 80240790 3C013F36 */ lui $at, 0x3f36 +/* D8BB44 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D8BB48 80240798 44810000 */ mtc1 $at, $f0 +/* D8BB4C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D8BB50 802407A0 44050000 */ mfc1 $a1, $f0 +/* D8BB54 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D8BB58 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D8BB5C 802407AC 0C019DF0 */ jal guScaleF +/* D8BB60 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D8BB64 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D8BB68 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D8BB6C 802407BC 0C019D80 */ jal guMtxCatF +/* D8BB70 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D8BB74 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D8BB78 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D8BB7C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D8BB80 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D8BB84 802407D4 46000007 */ neg.s $f0, $f0 +/* D8BB88 802407D8 44060000 */ mfc1 $a2, $f0 +/* D8BB8C 802407DC 0C019E40 */ jal guTranslateF +/* D8BB90 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D8BB94 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D8BB98 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D8BB9C 802407EC 0C019D80 */ jal guMtxCatF +/* D8BBA0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D8BBA4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8BBA8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D8BBAC 802407FC 44810000 */ mtc1 $at, $f0 +/* D8BBB0 80240800 00000000 */ nop +/* D8BBB4 80240804 4602003E */ c.le.s $f0, $f2 +/* D8BBB8 80240808 00000000 */ nop +/* D8BBBC 8024080C 4500000A */ bc1f .L80240838 +/* D8BBC0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D8BBC4 80240814 3C014387 */ lui $at, 0x4387 +/* D8BBC8 80240818 44810000 */ mtc1 $at, $f0 +/* D8BBCC 8024081C 00000000 */ nop +/* D8BBD0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D8BBD4 80240824 00000000 */ nop +/* D8BBD8 80240828 45000004 */ bc1f .L8024083C +/* D8BBDC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D8BBE0 80240830 3C041000 */ lui $a0, 0x1000 +/* D8BBE4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D8BBE8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D8BBEC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D8BBF0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D8BBF4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D8BBF8 80240848 0C0B7710 */ jal render_sprite +/* D8BBFC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D8BC00 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D8BC04 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D8BC08 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D8BC0C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D8BC10 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D8BC14 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D8BC18 80240868 03E00008 */ jr $ra +/* D8BC1C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240870_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240870_D8B3B0.s new file mode 100644 index 0000000000..34d5f553c6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240870_D8B3B0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D8BC20 +/* D8BC20 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D8BC24 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D8BC28 80240878 4480B000 */ mtc1 $zero, $f22 +/* D8BC2C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D8BC30 80240880 0080882D */ daddu $s1, $a0, $zero +/* D8BC34 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D8BC38 80240888 0000982D */ daddu $s3, $zero, $zero +/* D8BC3C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D8BC40 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D8BC44 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D8BC48 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D8BC4C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D8BC50 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D8BC54 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D8BC58 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D8BC5C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D8BC60 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D8BC64 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D8BC68 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D8BC6C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D8BC70 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D8BC74 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D8BC78 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D8BC7C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D8BC80 802408D0 3C03800A */ lui $v1, 0x800a +/* D8BC84 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D8BC88 802408D8 00031080 */ sll $v0, $v1, 2 +/* D8BC8C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D8BC90 802408E0 00021080 */ sll $v0, $v0, 2 +/* D8BC94 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D8BC98 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D8BC9C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D8BCA0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D8BCA4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D8BCA8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D8BCAC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D8BCB0 80240900 46000507 */ neg.s $f20, $f0 +/* D8BCB4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8BCB8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D8BCBC 8024090C 44810000 */ mtc1 $at, $f0 +/* D8BCC0 80240910 00000000 */ nop +/* D8BCC4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D8BCC8 80240918 00000000 */ nop +/* D8BCCC 8024091C 4500000A */ bc1f .L80240948 +/* D8BCD0 80240920 00000000 */ nop +/* D8BCD4 80240924 3C014334 */ lui $at, 0x4334 +/* D8BCD8 80240928 44812000 */ mtc1 $at, $f4 +/* D8BCDC 8024092C 00000000 */ nop +/* D8BCE0 80240930 4604103E */ c.le.s $f2, $f4 +/* D8BCE4 80240934 00000000 */ nop +/* D8BCE8 80240938 45000003 */ bc1f .L80240948 +/* D8BCEC 8024093C 00000000 */ nop +/* D8BCF0 80240940 08090276 */ j .L802409D8 +/* D8BCF4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D8BCF8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D8BCFC 8024094C 3C014334 */ lui $at, 0x4334 +/* D8BD00 80240950 44812000 */ mtc1 $at, $f4 +/* D8BD04 80240954 00000000 */ nop +/* D8BD08 80240958 4600203C */ c.lt.s $f4, $f0 +/* D8BD0C 8024095C 00000000 */ nop +/* D8BD10 80240960 4500000C */ bc1f .L80240994 +/* D8BD14 80240964 00000000 */ nop +/* D8BD18 80240968 3C014387 */ lui $at, 0x4387 +/* D8BD1C 8024096C 44812000 */ mtc1 $at, $f4 +/* D8BD20 80240970 00000000 */ nop +/* D8BD24 80240974 4604003E */ c.le.s $f0, $f4 +/* D8BD28 80240978 00000000 */ nop +/* D8BD2C 8024097C 45000008 */ bc1f .L802409A0 +/* D8BD30 80240980 00000000 */ nop +/* D8BD34 80240984 3C014334 */ lui $at, 0x4334 +/* D8BD38 80240988 44812000 */ mtc1 $at, $f4 +/* D8BD3C 8024098C 08090276 */ j .L802409D8 +/* D8BD40 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D8BD44 80240994 3C014387 */ lui $at, 0x4387 +/* D8BD48 80240998 44812000 */ mtc1 $at, $f4 +/* D8BD4C 8024099C 00000000 */ nop +.L802409A0: +/* D8BD50 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D8BD54 802409A4 00000000 */ nop +/* D8BD58 802409A8 4500000A */ bc1f .L802409D4 +/* D8BD5C 802409AC 00000000 */ nop +/* D8BD60 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D8BD64 802409B4 44811000 */ mtc1 $at, $f2 +/* D8BD68 802409B8 00000000 */ nop +/* D8BD6C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D8BD70 802409C0 00000000 */ nop +/* D8BD74 802409C4 45000003 */ bc1f .L802409D4 +/* D8BD78 802409C8 00000000 */ nop +/* D8BD7C 802409CC 08090276 */ j .L802409D8 +/* D8BD80 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D8BD84 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D8BD88 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D8BD8C 802409DC 44810000 */ mtc1 $at, $f0 +/* D8BD90 802409E0 00000000 */ nop +/* D8BD94 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D8BD98 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D8BD9C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D8BDA0 802409F0 00000000 */ nop +/* D8BDA4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D8BDA8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D8BDAC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D8BDB0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D8BDB4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D8BDB8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D8BDBC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D8BDC0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D8BDC4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D8BDC8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D8BDCC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D8BDD0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D8BDD4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D8BDD8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D8BDDC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D8BDE0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D8BDE4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D8BDE8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D8BDEC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D8BDF0 80240A40 0C019EC8 */ jal guRotateF +/* D8BDF4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BDF8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8BDFC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D8BE00 80240A50 00000000 */ nop +/* D8BE04 80240A54 44050000 */ mfc1 $a1, $f0 +/* D8BE08 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D8BE0C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D8BE10 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D8BE14 80240A64 44812000 */ mtc1 $at, $f4 +/* D8BE18 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BE1C 80240A6C 0C019EC8 */ jal guRotateF +/* D8BE20 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D8BE24 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D8BE28 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D8BE2C 80240A7C 0C019D80 */ jal guMtxCatF +/* D8BE30 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D8BE34 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8BE38 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8BE3C 80240A8C 080902D6 */ j .L80240B58 +/* D8BE40 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D8BE44 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D8BE48 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D8BE4C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D8BE50 80240AA0 0C03964E */ jal func_800E5938 +/* D8BE54 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D8BE58 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D8BE5C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D8BE60 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D8BE64 80240AB4 46000606 */ mov.s $f24, $f0 +/* D8BE68 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8BE6C 80240ABC 080902B5 */ j .L80240AD4 +/* D8BE70 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D8BE74 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D8BE78 80240AC8 00000000 */ nop +/* D8BE7C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D8BE80 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D8BE84 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D8BE88 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D8BE8C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D8BE90 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8BE94 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D8BE98 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D8BE9C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D8BEA0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D8BEA4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D8BEA8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D8BEAC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D8BEB0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D8BEB4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D8BEB8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D8BEBC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BEC0 80240B10 0C019EC8 */ jal guRotateF +/* D8BEC4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BEC8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D8BECC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D8BED0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D8BED4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D8BED8 80240B28 0C019EC8 */ jal guRotateF +/* D8BEDC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BEE0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D8BEE4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D8BEE8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D8BEEC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BEF0 80240B40 0C019EC8 */ jal guRotateF +/* D8BEF4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BEF8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D8BEFC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D8BF00 80240B50 0C019D80 */ jal guMtxCatF +/* D8BF04 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D8BF08 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D8BF0C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D8BF10 80240B60 44812000 */ mtc1 $at, $f4 +/* D8BF14 80240B64 00021023 */ negu $v0, $v0 +/* D8BF18 80240B68 44820000 */ mtc1 $v0, $f0 +/* D8BF1C 80240B6C 00000000 */ nop +/* D8BF20 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D8BF24 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D8BF28 80240B78 00000000 */ nop +/* D8BF2C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D8BF30 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D8BF34 80240B84 44062000 */ mfc1 $a2, $f4 +/* D8BF38 80240B88 0C019E40 */ jal guTranslateF +/* D8BF3C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D8BF40 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D8BF44 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D8BF48 80240B98 0C019D80 */ jal guMtxCatF +/* D8BF4C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D8BF50 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D8BF54 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D8BF58 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D8BF5C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D8BF60 80240BB0 0C019EC8 */ jal guRotateF +/* D8BF64 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BF68 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BF6C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D8BF70 80240BC0 0C019D80 */ jal guMtxCatF +/* D8BF74 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D8BF78 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8BF7C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8BF80 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D8BF84 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D8BF88 80240BD8 0C019EC8 */ jal guRotateF +/* D8BF8C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D8BF90 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BF94 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D8BF98 80240BE8 0C019D80 */ jal guMtxCatF +/* D8BF9C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D8BFA0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D8BFA4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D8BFA8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D8BFAC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D8BFB0 80240C00 00000000 */ nop +/* D8BFB4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D8BFB8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D8BFBC 80240C0C 00000000 */ nop +/* D8BFC0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D8BFC4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D8BFC8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D8BFCC 80240C1C 0C019E40 */ jal guTranslateF +/* D8BFD0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D8BFD4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D8BFD8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D8BFDC 80240C2C 0C019D80 */ jal guMtxCatF +/* D8BFE0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D8BFE4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D8BFE8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D8BFEC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D8BFF0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D8BFF4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D8BFF8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D8BFFC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D8C000 80240C50 0C019DF0 */ jal guScaleF +/* D8C004 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D8C008 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D8C00C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D8C010 80240C60 0C019D80 */ jal guMtxCatF +/* D8C014 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D8C018 80240C68 4600D687 */ neg.s $f26, $f26 +/* D8C01C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D8C020 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D8C024 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D8C028 80240C78 0C019E40 */ jal guTranslateF +/* D8C02C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D8C030 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D8C034 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D8C038 80240C88 0C019D80 */ jal guMtxCatF +/* D8C03C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D8C040 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8C044 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D8C048 80240C98 44810000 */ mtc1 $at, $f0 +/* D8C04C 80240C9C 00000000 */ nop +/* D8C050 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D8C054 80240CA4 00000000 */ nop +/* D8C058 80240CA8 4500000A */ bc1f .L80240CD4 +/* D8C05C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D8C060 80240CB0 3C014387 */ lui $at, 0x4387 +/* D8C064 80240CB4 44812000 */ mtc1 $at, $f4 +/* D8C068 80240CB8 00000000 */ nop +/* D8C06C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D8C070 80240CC0 00000000 */ nop +/* D8C074 80240CC4 45000004 */ bc1f .L80240CD8 +/* D8C078 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D8C07C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D8C080 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D8C084 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D8C088 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D8C08C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D8C090 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D8C094 80240CE4 0C0B7710 */ jal render_sprite +/* D8C098 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D8C09C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D8C0A0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D8C0A4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D8C0A8 80240CF8 00000000 */ nop +/* D8C0AC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D8C0B0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D8C0B4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D8C0B8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D8C0BC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D8C0C0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D8C0C4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D8C0C8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D8C0CC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D8C0D0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D8C0D4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D8C0D8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D8C0DC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D8C0E0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D8C0E4 80240D34 03E00008 */ jr $ra +/* D8C0E8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240D3C_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240D3C_D8B3B0.s new file mode 100644 index 0000000000..eb6139a2be --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240D3C_D8B3B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D8C0EC +/* D8C0EC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8C0F0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D8C0F4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D8C0F8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D8C0FC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D8C100 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D8C104 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D8C108 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D8C10C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D8C110 80240D60 00000000 */ nop +/* D8C114 80240D64 28620002 */ slti $v0, $v1, 2 +/* D8C118 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D8C11C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D8C120 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D8C124 80240D74 00000000 */ nop +/* D8C128 80240D78 08090378 */ j .L80240DE0 +/* D8C12C 80240D7C 00000000 */ nop +.L80240D80: +/* D8C130 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D8C134 80240D84 00000000 */ nop +/* D8C138 80240D88 08090378 */ j .L80240DE0 +/* D8C13C 80240D8C 00000000 */ nop +.L80240D90: +/* D8C140 80240D90 3C048024 */ lui $a0, 0x8024 +/* D8C144 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D8C148 80240D98 08090374 */ j .L80240DD0 +/* D8C14C 80240D9C 00000000 */ nop +.L80240DA0: +/* D8C150 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D8C154 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D8C158 80240DA8 08090374 */ j .L80240DD0 +/* D8C15C 80240DAC 00000000 */ nop +.L80240DB0: +/* D8C160 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D8C164 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D8C168 80240DB8 00000000 */ nop +/* D8C16C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D8C170 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D8C174 80240DC4 00000000 */ nop +.L80240DC8: +/* D8C178 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D8C17C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D8C180 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D8C184 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D8C188 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D8C18C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D8C190 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D8C194 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D8C198 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D8C19C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D8C1A0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D8C1A4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D8C1A8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D8C1AC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D8C1B0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D8C1B4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D8C1B8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D8C1BC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D8C1C0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D8C1C4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D8C1C8 80240E18 00000000 */ nop +/* D8C1CC 80240E1C 0809039D */ j .L80240E74 +/* D8C1D0 80240E20 00000000 */ nop +.L80240E24: +/* D8C1D4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D8C1D8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D8C1DC 80240E2C 0809039D */ j .L80240E74 +/* D8C1E0 80240E30 00000000 */ nop +.L80240E34: +/* D8C1E4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D8C1E8 80240E38 0809039A */ j .L80240E68 +/* D8C1EC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D8C1F0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D8C1F4 80240E44 0809039A */ j .L80240E68 +/* D8C1F8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D8C1FC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D8C200 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D8C204 80240E54 28420002 */ slti $v0, $v0, 2 +/* D8C208 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D8C20C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D8C210 80240E60 8CA20000 */ lw $v0, ($a1) +/* D8C214 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D8C218 80240E68 00431025 */ or $v0, $v0, $v1 +/* D8C21C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D8C220 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D8C224 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D8C228 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D8C22C 80240E7C 03E00008 */ jr $ra +/* D8C230 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240E84_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240E84_D8B3B0.s new file mode 100644 index 0000000000..ab40d19093 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240E84_D8B3B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D8C234 +/* D8C234 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8C238 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D8C23C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D8C240 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D8C244 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D8C248 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D8C24C 80240E9C 3C03000A */ lui $v1, 0xa +/* D8C250 80240EA0 8C820000 */ lw $v0, ($a0) +/* D8C254 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D8C258 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D8C25C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D8C260 80240EB0 03E00008 */ jr $ra +/* D8C264 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240EB8_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240EB8_D8B3B0.s new file mode 100644 index 0000000000..b24a0e3087 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240EB8_D8B3B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D8C268 +/* D8C268 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8C26C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D8C270 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D8C274 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D8C278 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D8C27C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D8C280 80240ED0 3C030008 */ lui $v1, 8 +/* D8C284 80240ED4 8C820000 */ lw $v0, ($a0) +/* D8C288 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D8C28C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D8C290 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D8C294 80240EE4 03E00008 */ jr $ra +/* D8C298 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240EEC_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240EEC_D8B3B0.s new file mode 100644 index 0000000000..854df4daac --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240EEC_D8B3B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D8C29C +/* D8C29C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8C2A0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D8C2A4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D8C2A8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D8C2AC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D8C2B0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D8C2B4 80240F04 3C030002 */ lui $v1, 2 +/* D8C2B8 80240F08 8C820000 */ lw $v0, ($a0) +/* D8C2BC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D8C2C0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D8C2C4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D8C2C8 80240F18 03E00008 */ jr $ra +/* D8C2CC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240F20_D8B3B0.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240F20_D8B3B0.s new file mode 100644 index 0000000000..4b065abaef --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240F20_D8B3B0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D8C2D0 +/* D8C2D0 80240F20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8C2D4 80240F24 AFBF0010 */ sw $ra, 0x10($sp) +/* D8C2D8 80240F28 0C04417A */ jal get_entity_by_index +/* D8C2DC 80240F2C 8C840084 */ lw $a0, 0x84($a0) +/* D8C2E0 80240F30 0040182D */ daddu $v1, $v0, $zero +/* D8C2E4 80240F34 8C640000 */ lw $a0, ($v1) +/* D8C2E8 80240F38 3C050010 */ lui $a1, 0x10 +/* D8C2EC 80240F3C 00852025 */ or $a0, $a0, $a1 +/* D8C2F0 80240F40 AC640000 */ sw $a0, ($v1) +/* D8C2F4 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D8C2F8 80240F48 24020002 */ addiu $v0, $zero, 2 +/* D8C2FC 80240F4C 03E00008 */ jr $ra +/* D8C300 80240F50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_34/func_80240F54.s b/asm/nonmatchings/world/area_pra/pra_34/func_80240F54.s new file mode 100644 index 0000000000..62e67a421f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_34/func_80240F54.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F54 +/* D8C304 80240F54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8C308 80240F58 AFB20018 */ sw $s2, 0x18($sp) +/* D8C30C 80240F5C 0080902D */ daddu $s2, $a0, $zero +/* D8C310 80240F60 AFBF001C */ sw $ra, 0x1c($sp) +/* D8C314 80240F64 AFB10014 */ sw $s1, 0x14($sp) +/* D8C318 80240F68 AFB00010 */ sw $s0, 0x10($sp) +/* D8C31C 80240F6C 8E50000C */ lw $s0, 0xc($s2) +/* D8C320 80240F70 8E050000 */ lw $a1, ($s0) +/* D8C324 80240F74 0C0B1EAF */ jal get_variable +/* D8C328 80240F78 26100004 */ addiu $s0, $s0, 4 +/* D8C32C 80240F7C 0C04417A */ jal get_entity_by_index +/* D8C330 80240F80 0040202D */ daddu $a0, $v0, $zero +/* D8C334 80240F84 8E050000 */ lw $a1, ($s0) +/* D8C338 80240F88 26100004 */ addiu $s0, $s0, 4 +/* D8C33C 80240F8C 0040882D */ daddu $s1, $v0, $zero +/* D8C340 80240F90 C6200048 */ lwc1 $f0, 0x48($s1) +/* D8C344 80240F94 4600008D */ trunc.w.s $f2, $f0 +/* D8C348 80240F98 44061000 */ mfc1 $a2, $f2 +/* D8C34C 80240F9C 0C0B2026 */ jal set_variable +/* D8C350 80240FA0 0240202D */ daddu $a0, $s2, $zero +/* D8C354 80240FA4 8E050000 */ lw $a1, ($s0) +/* D8C358 80240FA8 26100004 */ addiu $s0, $s0, 4 +/* D8C35C 80240FAC C620004C */ lwc1 $f0, 0x4c($s1) +/* D8C360 80240FB0 4600008D */ trunc.w.s $f2, $f0 +/* D8C364 80240FB4 44061000 */ mfc1 $a2, $f2 +/* D8C368 80240FB8 0C0B2026 */ jal set_variable +/* D8C36C 80240FBC 0240202D */ daddu $a0, $s2, $zero +/* D8C370 80240FC0 C6200050 */ lwc1 $f0, 0x50($s1) +/* D8C374 80240FC4 8E050000 */ lw $a1, ($s0) +/* D8C378 80240FC8 4600008D */ trunc.w.s $f2, $f0 +/* D8C37C 80240FCC 44061000 */ mfc1 $a2, $f2 +/* D8C380 80240FD0 0C0B2026 */ jal set_variable +/* D8C384 80240FD4 0240202D */ daddu $a0, $s2, $zero +/* D8C388 80240FD8 8FBF001C */ lw $ra, 0x1c($sp) +/* D8C38C 80240FDC 8FB20018 */ lw $s2, 0x18($sp) +/* D8C390 80240FE0 8FB10014 */ lw $s1, 0x14($sp) +/* D8C394 80240FE4 8FB00010 */ lw $s0, 0x10($sp) +/* D8C398 80240FE8 24020002 */ addiu $v0, $zero, 2 +/* D8C39C 80240FEC 03E00008 */ jr $ra +/* D8C3A0 80240FF0 27BD0020 */ addiu $sp, $sp, 0x20 +/* D8C3A4 80240FF4 00000000 */ nop +/* D8C3A8 80240FF8 00000000 */ nop +/* D8C3AC 80240FFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240000_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240000_D8D250.s new file mode 100644 index 0000000000..d7d2c6983a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240000_D8D250.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D8D250 +/* D8D250 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D8D254 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D8D258 80240008 24020001 */ addiu $v0, $zero, 1 +/* D8D25C 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D8D260 80240010 03E00008 */ jr $ra +/* D8D264 80240014 0000102D */ daddu $v0, $zero, $zero +/* D8D268 80240018 00000000 */ nop +/* D8D26C 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240020_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240020_D8D250.s new file mode 100644 index 0000000000..d8438c0f51 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240020_D8D250.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D8D270 +/* D8D270 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D8D274 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D8D278 80240028 00822024 */ and $a0, $a0, $v0 +/* D8D27C 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D8D280 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D8D284 80240034 00821821 */ addu $v1, $a0, $v0 +/* D8D288 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D8D28C 8024003C 10400003 */ beqz $v0, .L8024004C +/* D8D290 80240040 30620001 */ andi $v0, $v1, 1 +/* D8D294 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D8D298 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D8D29C 8024004C 03E00008 */ jr $ra +/* D8D2A0 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240054_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240054_D8D250.s new file mode 100644 index 0000000000..224370cf53 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240054_D8D250.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D8D2A4 +/* D8D2A4 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D8D2A8 80240058 304300FF */ andi $v1, $v0, 0xff +/* D8D2AC 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D8D2B0 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D8D2B4 80240064 28620007 */ slti $v0, $v1, 7 +/* D8D2B8 80240068 10400005 */ beqz $v0, .L80240080 +/* D8D2BC 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D8D2C0 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D8D2C4 80240074 3C020100 */ lui $v0, 0x100 +/* D8D2C8 80240078 03E00008 */ jr $ra +/* D8D2CC 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D8D2D0 80240080 2862000A */ slti $v0, $v1, 0xa +/* D8D2D4 80240084 10400016 */ beqz $v0, .L802400E0 +/* D8D2D8 80240088 28620008 */ slti $v0, $v1, 8 +/* D8D2DC 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D8D2E0 80240090 3C020100 */ lui $v0, 0x100 +/* D8D2E4 80240094 03E00008 */ jr $ra +/* D8D2E8 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D8D2EC 8024009C 3C020001 */ lui $v0, 1 +/* D8D2F0 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D8D2F4 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D8D2F8 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D8D2FC 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D8D300 802400B0 03E00008 */ jr $ra +/* D8D304 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D8D308 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D8D30C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D8D310 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D8D314 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D8D318 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D8D31C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D8D320 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D8D324 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D8D328 802400D8 03E00008 */ jr $ra +/* D8D32C 802400DC 00000000 */ nop +.L802400E0: +/* D8D330 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D8D334 802400E4 03E00008 */ jr $ra +/* D8D338 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802400EC_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802400EC_D8D250.s new file mode 100644 index 0000000000..01f0e994b6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802400EC_D8D250.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D8D33C +/* D8D33C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8D340 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D8D344 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D8D348 802400F8 3C058024 */ lui $a1, 0x8024 +/* D8D34C 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D8D350 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D8D354 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D8D358 80240108 0000202D */ daddu $a0, $zero, $zero +/* D8D35C 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D8D360 80240110 AC620000 */ sw $v0, ($v1) +/* D8D364 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D8D368 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D8D36C 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D8D370 80240120 03E00008 */ jr $ra +/* D8D374 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240128_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240128_D8D250.s new file mode 100644 index 0000000000..96fc97f55f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240128_D8D250.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D8D378 +/* D8D378 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8D37C 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D8D380 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D8D384 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D8D388 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D8D38C 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D8D390 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D8D394 80240144 8E020000 */ lw $v0, ($s0) +/* D8D398 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D8D39C 8024014C 30420001 */ andi $v0, $v0, 1 +/* D8D3A0 80240150 10400061 */ beqz $v0, .L802402D8 +/* D8D3A4 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D8D3A8 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D8D3AC 8024015C 0C044181 */ jal get_shadow_by_index +/* D8D3B0 80240160 00000000 */ nop +/* D8D3B4 80240164 0C048B77 */ jal func_80122DDC +/* D8D3B8 80240168 84440008 */ lh $a0, 8($v0) +/* D8D3BC 8024016C 8C430000 */ lw $v1, ($v0) +/* D8D3C0 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D8D3C4 80240174 AC430000 */ sw $v1, ($v0) +/* D8D3C8 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D8D3CC 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D8D3D0 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D8D3D4 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D8D3D8 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D8D3DC 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D8D3E0 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D8D3E4 80240194 3C04800A */ lui $a0, 0x800a +/* D8D3E8 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D8D3EC 8024019C 46000007 */ neg.s $f0, $f0 +/* D8D3F0 802401A0 44070000 */ mfc1 $a3, $f0 +/* D8D3F4 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D8D3F8 802401A8 0C00B94E */ jal get_screen_coords +/* D8D3FC 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D8D400 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D8D404 802401B4 0C090008 */ jal func_80240020 +/* D8D408 802401B8 00000000 */ nop +/* D8D40C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D8D410 802401C0 3C014307 */ lui $at, 0x4307 +/* D8D414 802401C4 44810000 */ mtc1 $at, $f0 +/* D8D418 802401C8 00000000 */ nop +/* D8D41C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D8D420 802401D0 00000000 */ nop +/* D8D424 802401D4 4500000B */ bc1f .L80240204 +/* D8D428 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D8D42C 802401DC 3C014361 */ lui $at, 0x4361 +/* D8D430 802401E0 44810000 */ mtc1 $at, $f0 +/* D8D434 802401E4 00000000 */ nop +/* D8D438 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D8D43C 802401EC 00000000 */ nop +/* D8D440 802401F0 45000004 */ bc1f .L80240204 +/* D8D444 802401F4 00000000 */ nop +/* D8D448 802401F8 0C090015 */ jal func_80240054 +/* D8D44C 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D8D450 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D8D454 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D8D458 80240208 0C0B76A3 */ jal func_802DDA8C +/* D8D45C 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D8D460 80240210 8E020000 */ lw $v0, ($s0) +/* D8D464 80240214 3C030002 */ lui $v1, 2 +/* D8D468 80240218 00431024 */ and $v0, $v0, $v1 +/* D8D46C 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D8D470 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D8D474 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D8D478 80240228 3C02802E */ lui $v0, 0x802e +/* D8D47C 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D8D480 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D8D484 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D8D488 80240238 1040000B */ beqz $v0, .L80240268 +/* D8D48C 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D8D490 80240240 24040002 */ addiu $a0, $zero, 2 +/* D8D494 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D8D498 80240248 24060007 */ addiu $a2, $zero, 7 +/* D8D49C 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D8D4A0 80240250 0000382D */ daddu $a3, $zero, $zero +/* D8D4A4 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D8D4A8 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D8D4AC 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D8D4B0 80240260 080900A3 */ j .L8024028C +/* D8D4B4 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D8D4B8 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D8D4BC 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D8D4C0 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D8D4C4 80240274 0000302D */ daddu $a2, $zero, $zero +/* D8D4C8 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D8D4CC 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D8D4D0 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D8D4D4 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D8D4D8 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D8D4DC 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D8D4E0 80240290 00000000 */ nop +.L80240294: +/* D8D4E4 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D8D4E8 80240298 3C01802E */ lui $at, 0x802e +/* D8D4EC 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D8D4F0 802402A0 080900AD */ j .L802402B4 +/* D8D4F4 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D8D4F8 802402A8 3C01802E */ lui $at, 0x802e +/* D8D4FC 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D8D500 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D8D504 802402B4 AC910000 */ sw $s1, ($a0) +/* D8D508 802402B8 AC900008 */ sw $s0, 8($a0) +/* D8D50C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D8D510 802402C0 3C038024 */ lui $v1, 0x8024 +/* D8D514 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D8D518 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D8D51C 802402CC 00021023 */ negu $v0, $v0 +/* D8D520 802402D0 0C047644 */ jal queue_render_task +/* D8D524 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D8D528 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D8D52C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D8D530 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D8D534 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D8D538 802402E8 03E00008 */ jr $ra +/* D8D53C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802402F0_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802402F0_D8D250.s new file mode 100644 index 0000000000..dd91de712f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802402F0_D8D250.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D8D540 +/* D8D540 802402F0 3C03800A */ lui $v1, 0x800a +/* D8D544 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D8D548 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D8D54C 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D8D550 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D8D554 80240304 4480A000 */ mtc1 $zero, $f20 +/* D8D558 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D8D55C 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D8D560 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D8D564 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D8D568 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D8D56C 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D8D570 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D8D574 80240324 00031080 */ sll $v0, $v1, 2 +/* D8D578 80240328 00431021 */ addu $v0, $v0, $v1 +/* D8D57C 8024032C 00021080 */ sll $v0, $v0, 2 +/* D8D580 80240330 00431023 */ subu $v0, $v0, $v1 +/* D8D584 80240334 000218C0 */ sll $v1, $v0, 3 +/* D8D588 80240338 00431021 */ addu $v0, $v0, $v1 +/* D8D58C 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D8D590 80240340 3C01800B */ lui $at, 0x800b +/* D8D594 80240344 00220821 */ addu $at, $at, $v0 +/* D8D598 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D8D59C 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D8D5A0 80240350 4600B587 */ neg.s $f22, $f22 +/* D8D5A4 80240354 4405B000 */ mfc1 $a1, $f22 +/* D8D5A8 80240358 0200202D */ daddu $a0, $s0, $zero +/* D8D5AC 8024035C 0C019EC8 */ jal guRotateF +/* D8D5B0 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D5B4 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8D5B8 80240368 0C00A6C9 */ jal clamp_angle +/* D8D5BC 8024036C 00000000 */ nop +/* D8D5C0 80240370 44050000 */ mfc1 $a1, $f0 +/* D8D5C4 80240374 4406A000 */ mfc1 $a2, $f20 +/* D8D5C8 80240378 4407A000 */ mfc1 $a3, $f20 +/* D8D5CC 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D8D5D0 80240380 4481C000 */ mtc1 $at, $f24 +/* D8D5D4 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D5D8 80240388 0C019EC8 */ jal guRotateF +/* D8D5DC 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D8D5E0 80240390 0200202D */ daddu $a0, $s0, $zero +/* D8D5E4 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D8D5E8 80240398 0C019D80 */ jal guMtxCatF +/* D8D5EC 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D8D5F0 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D8D5F4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D8D5F8 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D8D5FC 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D8D600 802403B0 0C019EC8 */ jal guRotateF +/* D8D604 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D608 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D60C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D8D610 802403C0 0C019D80 */ jal guMtxCatF +/* D8D614 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D8D618 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D61C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8D620 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D8D624 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D8D628 802403D8 0C019EC8 */ jal guRotateF +/* D8D62C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D8D630 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D634 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D8D638 802403E8 0C019D80 */ jal guMtxCatF +/* D8D63C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D8D640 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D8D644 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D8D648 802403F8 44810000 */ mtc1 $at, $f0 +/* D8D64C 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D8D650 80240400 44050000 */ mfc1 $a1, $f0 +/* D8D654 80240404 0200202D */ daddu $a0, $s0, $zero +/* D8D658 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D8D65C 8024040C 0C019DF0 */ jal guScaleF +/* D8D660 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D8D664 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D668 80240418 0200282D */ daddu $a1, $s0, $zero +/* D8D66C 8024041C 0C019D80 */ jal guMtxCatF +/* D8D670 80240420 0080302D */ daddu $a2, $a0, $zero +/* D8D674 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D8D678 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D8D67C 8024042C 3C014040 */ lui $at, 0x4040 +/* D8D680 80240430 44811000 */ mtc1 $at, $f2 +/* D8D684 80240434 46000007 */ neg.s $f0, $f0 +/* D8D688 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D8D68C 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D8D690 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D8D694 80240444 44070000 */ mfc1 $a3, $f0 +/* D8D698 80240448 0C019E40 */ jal guTranslateF +/* D8D69C 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D8D6A0 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D6A4 80240454 0200282D */ daddu $a1, $s0, $zero +/* D8D6A8 80240458 0C019D80 */ jal guMtxCatF +/* D8D6AC 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D8D6B0 80240460 24040002 */ addiu $a0, $zero, 2 +/* D8D6B4 80240464 0000282D */ daddu $a1, $zero, $zero +/* D8D6B8 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D8D6BC 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D8D6C0 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D8D6C4 80240474 0C0B7710 */ jal render_sprite +/* D8D6C8 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D8D6CC 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D8D6D0 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D8D6D4 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D8D6D8 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D8D6DC 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D8D6E0 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D8D6E4 80240494 03E00008 */ jr $ra +/* D8D6E8 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024049C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024049C_D8D250.s new file mode 100644 index 0000000000..82f5f1d2a4 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024049C_D8D250.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D8D6EC +/* D8D6EC 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8D6F0 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D8D6F4 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D8D6F8 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D8D6FC 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D8D700 802404B0 0440000E */ bltz $v0, .L802404EC +/* D8D704 802404B4 28420002 */ slti $v0, $v0, 2 +/* D8D708 802404B8 1040000C */ beqz $v0, .L802404EC +/* D8D70C 802404BC 00000000 */ nop +/* D8D710 802404C0 3C058024 */ lui $a1, 0x8024 +/* D8D714 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D8D718 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D8D71C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D8D720 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D8D724 802404D4 AC620000 */ sw $v0, ($v1) +/* D8D728 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D8D72C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D8D730 802404E0 8C620000 */ lw $v0, ($v1) +/* D8D734 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D8D738 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D8D73C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D8D740 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D8D744 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D8D748 802404F8 03E00008 */ jr $ra +/* D8D74C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240500_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240500_D8D250.s new file mode 100644 index 0000000000..63cf4672c6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240500_D8D250.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D8D750 +/* D8D750 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8D754 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D8D758 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D8D75C 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D8D760 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D8D764 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D8D768 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D8D76C 8024051C 8E020000 */ lw $v0, ($s0) +/* D8D770 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D8D774 80240524 30420001 */ andi $v0, $v0, 1 +/* D8D778 80240528 10400052 */ beqz $v0, .L80240674 +/* D8D77C 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D8D780 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D8D784 80240534 0C044181 */ jal get_shadow_by_index +/* D8D788 80240538 00000000 */ nop +/* D8D78C 8024053C 0C048B77 */ jal func_80122DDC +/* D8D790 80240540 84440008 */ lh $a0, 8($v0) +/* D8D794 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D8D798 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D8D79C 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D8D7A0 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D8D7A4 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D8D7A8 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D8D7AC 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D8D7B0 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D8D7B4 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D8D7B8 80240568 3C04800A */ lui $a0, 0x800a +/* D8D7BC 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D8D7C0 80240570 46000007 */ neg.s $f0, $f0 +/* D8D7C4 80240574 44060000 */ mfc1 $a2, $f0 +/* D8D7C8 80240578 0C00B94E */ jal get_screen_coords +/* D8D7CC 8024057C 00000000 */ nop +/* D8D7D0 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D8D7D4 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D8D7D8 80240588 0C0B76A3 */ jal func_802DDA8C +/* D8D7DC 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D8D7E0 80240590 8E020000 */ lw $v0, ($s0) +/* D8D7E4 80240594 3C030002 */ lui $v1, 2 +/* D8D7E8 80240598 00431024 */ and $v0, $v0, $v1 +/* D8D7EC 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D8D7F0 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D8D7F4 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D8D7F8 802405A8 3C02802E */ lui $v0, 0x802e +/* D8D7FC 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D8D800 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D8D804 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D8D808 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D8D80C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D8D810 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D8D814 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D8D818 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D8D81C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D8D820 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D8D824 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D8D828 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D8D82C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D8D830 802405E0 08090183 */ j .L8024060C +/* D8D834 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D8D838 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D8D83C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D8D840 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D8D844 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D8D848 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D8D84C 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D8D850 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D8D854 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D8D858 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D8D85C 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D8D860 80240610 00000000 */ nop +.L80240614: +/* D8D864 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D8D868 80240618 3C01802E */ lui $at, 0x802e +/* D8D86C 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D8D870 80240620 0809018C */ j .L80240630 +/* D8D874 80240624 00000000 */ nop +.L80240628: +/* D8D878 80240628 3C01802E */ lui $at, 0x802e +/* D8D87C 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D8D880 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D8D884 80240634 3C048024 */ lui $a0, 0x8024 +/* D8D888 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D8D88C 8024063C AE320000 */ sw $s2, ($s1) +/* D8D890 80240640 AE300008 */ sw $s0, 8($s1) +/* D8D894 80240644 00021023 */ negu $v0, $v0 +/* D8D898 80240648 AE220004 */ sw $v0, 4($s1) +/* D8D89C 8024064C 8E020000 */ lw $v0, ($s0) +/* D8D8A0 80240650 3C030002 */ lui $v1, 2 +/* D8D8A4 80240654 00431024 */ and $v0, $v0, $v1 +/* D8D8A8 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D8D8AC 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D8D8B0 80240660 3C048024 */ lui $a0, 0x8024 +/* D8D8B4 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D8D8B8 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D8D8BC 8024066C 0C047644 */ jal queue_render_task +/* D8D8C0 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D8D8C4 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D8D8C8 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D8D8CC 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D8D8D0 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D8D8D4 80240684 03E00008 */ jr $ra +/* D8D8D8 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024068C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024068C_D8D250.s new file mode 100644 index 0000000000..860deac038 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024068C_D8D250.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D8D8DC +/* D8D8DC 8024068C 3C03800A */ lui $v1, 0x800a +/* D8D8E0 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D8D8E4 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D8D8E8 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D8D8EC 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D8D8F0 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D8D8F4 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D8D8F8 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D8D8FC 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D8D900 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D8D904 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D8D908 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D8D90C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D8D910 802406C0 00031080 */ sll $v0, $v1, 2 +/* D8D914 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D8D918 802406C8 00021080 */ sll $v0, $v0, 2 +/* D8D91C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D8D920 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D8D924 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D8D928 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D8D92C 802406DC 3C01800B */ lui $at, 0x800b +/* D8D930 802406E0 00220821 */ addu $at, $at, $v0 +/* D8D934 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D8D938 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D8D93C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D8D940 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D8D944 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D8D948 802406F8 0C019EC8 */ jal guRotateF +/* D8D94C 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D950 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8D954 80240704 0C00A6C9 */ jal clamp_angle +/* D8D958 80240708 00000000 */ nop +/* D8D95C 8024070C 44050000 */ mfc1 $a1, $f0 +/* D8D960 80240710 4406A000 */ mfc1 $a2, $f20 +/* D8D964 80240714 4407A000 */ mfc1 $a3, $f20 +/* D8D968 80240718 3C013F80 */ lui $at, 0x3f80 +/* D8D96C 8024071C 4481C000 */ mtc1 $at, $f24 +/* D8D970 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D974 80240724 0C019EC8 */ jal guRotateF +/* D8D978 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D8D97C 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D8D980 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D8D984 80240734 0C019D80 */ jal guMtxCatF +/* D8D988 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D8D98C 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D8D990 80240740 4406A000 */ mfc1 $a2, $f20 +/* D8D994 80240744 4407C000 */ mfc1 $a3, $f24 +/* D8D998 80240748 0200202D */ daddu $a0, $s0, $zero +/* D8D99C 8024074C 0C019EC8 */ jal guRotateF +/* D8D9A0 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D9A4 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D9A8 80240758 0200282D */ daddu $a1, $s0, $zero +/* D8D9AC 8024075C 0C019D80 */ jal guMtxCatF +/* D8D9B0 80240760 0080302D */ daddu $a2, $a0, $zero +/* D8D9B4 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D8D9B8 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8D9BC 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D8D9C0 80240770 4407C000 */ mfc1 $a3, $f24 +/* D8D9C4 80240774 0C019EC8 */ jal guRotateF +/* D8D9C8 80240778 0200202D */ daddu $a0, $s0, $zero +/* D8D9CC 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D8D9D0 80240780 0200282D */ daddu $a1, $s0, $zero +/* D8D9D4 80240784 0C019D80 */ jal guMtxCatF +/* D8D9D8 80240788 0080302D */ daddu $a2, $a0, $zero +/* D8D9DC 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D8D9E0 80240790 3C013F36 */ lui $at, 0x3f36 +/* D8D9E4 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D8D9E8 80240798 44810000 */ mtc1 $at, $f0 +/* D8D9EC 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D8D9F0 802407A0 44050000 */ mfc1 $a1, $f0 +/* D8D9F4 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D8D9F8 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D8D9FC 802407AC 0C019DF0 */ jal guScaleF +/* D8DA00 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D8DA04 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D8DA08 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D8DA0C 802407BC 0C019D80 */ jal guMtxCatF +/* D8DA10 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D8DA14 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D8DA18 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D8DA1C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D8DA20 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D8DA24 802407D4 46000007 */ neg.s $f0, $f0 +/* D8DA28 802407D8 44060000 */ mfc1 $a2, $f0 +/* D8DA2C 802407DC 0C019E40 */ jal guTranslateF +/* D8DA30 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D8DA34 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D8DA38 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D8DA3C 802407EC 0C019D80 */ jal guMtxCatF +/* D8DA40 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D8DA44 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8DA48 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D8DA4C 802407FC 44810000 */ mtc1 $at, $f0 +/* D8DA50 80240800 00000000 */ nop +/* D8DA54 80240804 4602003E */ c.le.s $f0, $f2 +/* D8DA58 80240808 00000000 */ nop +/* D8DA5C 8024080C 4500000A */ bc1f .L80240838 +/* D8DA60 80240810 24040001 */ addiu $a0, $zero, 1 +/* D8DA64 80240814 3C014387 */ lui $at, 0x4387 +/* D8DA68 80240818 44810000 */ mtc1 $at, $f0 +/* D8DA6C 8024081C 00000000 */ nop +/* D8DA70 80240820 4600103C */ c.lt.s $f2, $f0 +/* D8DA74 80240824 00000000 */ nop +/* D8DA78 80240828 45000004 */ bc1f .L8024083C +/* D8DA7C 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D8DA80 80240830 3C041000 */ lui $a0, 0x1000 +/* D8DA84 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D8DA88 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D8DA8C 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D8DA90 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D8DA94 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D8DA98 80240848 0C0B7710 */ jal render_sprite +/* D8DA9C 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D8DAA0 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D8DAA4 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D8DAA8 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D8DAAC 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D8DAB0 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D8DAB4 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D8DAB8 80240868 03E00008 */ jr $ra +/* D8DABC 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240870_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240870_D8D250.s new file mode 100644 index 0000000000..a38b37d07c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240870_D8D250.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D8DAC0 +/* D8DAC0 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D8DAC4 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D8DAC8 80240878 4480B000 */ mtc1 $zero, $f22 +/* D8DACC 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D8DAD0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D8DAD4 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D8DAD8 80240888 0000982D */ daddu $s3, $zero, $zero +/* D8DADC 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D8DAE0 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D8DAE4 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D8DAE8 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D8DAEC 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D8DAF0 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D8DAF4 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D8DAF8 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D8DAFC 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D8DB00 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D8DB04 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D8DB08 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D8DB0C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D8DB10 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D8DB14 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D8DB18 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D8DB1C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D8DB20 802408D0 3C03800A */ lui $v1, 0x800a +/* D8DB24 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D8DB28 802408D8 00031080 */ sll $v0, $v1, 2 +/* D8DB2C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D8DB30 802408E0 00021080 */ sll $v0, $v0, 2 +/* D8DB34 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D8DB38 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D8DB3C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D8DB40 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D8DB44 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D8DB48 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D8DB4C 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D8DB50 80240900 46000507 */ neg.s $f20, $f0 +/* D8DB54 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8DB58 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D8DB5C 8024090C 44810000 */ mtc1 $at, $f0 +/* D8DB60 80240910 00000000 */ nop +/* D8DB64 80240914 4602003C */ c.lt.s $f0, $f2 +/* D8DB68 80240918 00000000 */ nop +/* D8DB6C 8024091C 4500000A */ bc1f .L80240948 +/* D8DB70 80240920 00000000 */ nop +/* D8DB74 80240924 3C014334 */ lui $at, 0x4334 +/* D8DB78 80240928 44812000 */ mtc1 $at, $f4 +/* D8DB7C 8024092C 00000000 */ nop +/* D8DB80 80240930 4604103E */ c.le.s $f2, $f4 +/* D8DB84 80240934 00000000 */ nop +/* D8DB88 80240938 45000003 */ bc1f .L80240948 +/* D8DB8C 8024093C 00000000 */ nop +/* D8DB90 80240940 08090276 */ j .L802409D8 +/* D8DB94 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D8DB98 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D8DB9C 8024094C 3C014334 */ lui $at, 0x4334 +/* D8DBA0 80240950 44812000 */ mtc1 $at, $f4 +/* D8DBA4 80240954 00000000 */ nop +/* D8DBA8 80240958 4600203C */ c.lt.s $f4, $f0 +/* D8DBAC 8024095C 00000000 */ nop +/* D8DBB0 80240960 4500000C */ bc1f .L80240994 +/* D8DBB4 80240964 00000000 */ nop +/* D8DBB8 80240968 3C014387 */ lui $at, 0x4387 +/* D8DBBC 8024096C 44812000 */ mtc1 $at, $f4 +/* D8DBC0 80240970 00000000 */ nop +/* D8DBC4 80240974 4604003E */ c.le.s $f0, $f4 +/* D8DBC8 80240978 00000000 */ nop +/* D8DBCC 8024097C 45000008 */ bc1f .L802409A0 +/* D8DBD0 80240980 00000000 */ nop +/* D8DBD4 80240984 3C014334 */ lui $at, 0x4334 +/* D8DBD8 80240988 44812000 */ mtc1 $at, $f4 +/* D8DBDC 8024098C 08090276 */ j .L802409D8 +/* D8DBE0 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D8DBE4 80240994 3C014387 */ lui $at, 0x4387 +/* D8DBE8 80240998 44812000 */ mtc1 $at, $f4 +/* D8DBEC 8024099C 00000000 */ nop +.L802409A0: +/* D8DBF0 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D8DBF4 802409A4 00000000 */ nop +/* D8DBF8 802409A8 4500000A */ bc1f .L802409D4 +/* D8DBFC 802409AC 00000000 */ nop +/* D8DC00 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D8DC04 802409B4 44811000 */ mtc1 $at, $f2 +/* D8DC08 802409B8 00000000 */ nop +/* D8DC0C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D8DC10 802409C0 00000000 */ nop +/* D8DC14 802409C4 45000003 */ bc1f .L802409D4 +/* D8DC18 802409C8 00000000 */ nop +/* D8DC1C 802409CC 08090276 */ j .L802409D8 +/* D8DC20 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D8DC24 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D8DC28 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D8DC2C 802409DC 44810000 */ mtc1 $at, $f0 +/* D8DC30 802409E0 00000000 */ nop +/* D8DC34 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D8DC38 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D8DC3C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D8DC40 802409F0 00000000 */ nop +/* D8DC44 802409F4 00071100 */ sll $v0, $a3, 4 +/* D8DC48 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D8DC4C 802409FC 00021080 */ sll $v0, $v0, 2 +/* D8DC50 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D8DC54 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D8DC58 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D8DC5C 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D8DC60 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D8DC64 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D8DC68 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D8DC6C 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D8DC70 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D8DC74 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D8DC78 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D8DC7C 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D8DC80 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D8DC84 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D8DC88 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D8DC8C 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D8DC90 80240A40 0C019EC8 */ jal guRotateF +/* D8DC94 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DC98 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D8DC9C 80240A4C 0C00A6C9 */ jal clamp_angle +/* D8DCA0 80240A50 00000000 */ nop +/* D8DCA4 80240A54 44050000 */ mfc1 $a1, $f0 +/* D8DCA8 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D8DCAC 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D8DCB0 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D8DCB4 80240A64 44812000 */ mtc1 $at, $f4 +/* D8DCB8 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DCBC 80240A6C 0C019EC8 */ jal guRotateF +/* D8DCC0 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D8DCC4 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D8DCC8 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D8DCCC 80240A7C 0C019D80 */ jal guMtxCatF +/* D8DCD0 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D8DCD4 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8DCD8 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8DCDC 80240A8C 080902D6 */ j .L80240B58 +/* D8DCE0 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D8DCE4 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D8DCE8 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D8DCEC 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D8DCF0 80240AA0 0C03964E */ jal func_800E5938 +/* D8DCF4 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D8DCF8 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D8DCFC 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D8DD00 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D8DD04 80240AB4 46000606 */ mov.s $f24, $f0 +/* D8DD08 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D8DD0C 80240ABC 080902B5 */ j .L80240AD4 +/* D8DD10 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D8DD14 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D8DD18 80240AC8 00000000 */ nop +/* D8DD1C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D8DD20 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D8DD24 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D8DD28 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D8DD2C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D8DD30 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D8DD34 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D8DD38 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D8DD3C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D8DD40 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D8DD44 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D8DD48 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D8DD4C 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D8DD50 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D8DD54 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D8DD58 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D8DD5C 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DD60 80240B10 0C019EC8 */ jal guRotateF +/* D8DD64 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DD68 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D8DD6C 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D8DD70 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D8DD74 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D8DD78 80240B28 0C019EC8 */ jal guRotateF +/* D8DD7C 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DD80 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D8DD84 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D8DD88 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D8DD8C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DD90 80240B40 0C019EC8 */ jal guRotateF +/* D8DD94 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DD98 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D8DD9C 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D8DDA0 80240B50 0C019D80 */ jal guMtxCatF +/* D8DDA4 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D8DDA8 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D8DDAC 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D8DDB0 80240B60 44812000 */ mtc1 $at, $f4 +/* D8DDB4 80240B64 00021023 */ negu $v0, $v0 +/* D8DDB8 80240B68 44820000 */ mtc1 $v0, $f0 +/* D8DDBC 80240B6C 00000000 */ nop +/* D8DDC0 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D8DDC4 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D8DDC8 80240B78 00000000 */ nop +/* D8DDCC 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D8DDD0 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D8DDD4 80240B84 44062000 */ mfc1 $a2, $f4 +/* D8DDD8 80240B88 0C019E40 */ jal guTranslateF +/* D8DDDC 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D8DDE0 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D8DDE4 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D8DDE8 80240B98 0C019D80 */ jal guMtxCatF +/* D8DDEC 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D8DDF0 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D8DDF4 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D8DDF8 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D8DDFC 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D8DE00 80240BB0 0C019EC8 */ jal guRotateF +/* D8DE04 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DE08 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DE0C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D8DE10 80240BC0 0C019D80 */ jal guMtxCatF +/* D8DE14 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D8DE18 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D8DE1C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8DE20 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D8DE24 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D8DE28 80240BD8 0C019EC8 */ jal guRotateF +/* D8DE2C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D8DE30 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DE34 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D8DE38 80240BE8 0C019D80 */ jal guMtxCatF +/* D8DE3C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D8DE40 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D8DE44 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D8DE48 80240BF8 44812000 */ mtc1 $at, $f4 +/* D8DE4C 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D8DE50 80240C00 00000000 */ nop +/* D8DE54 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D8DE58 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D8DE5C 80240C0C 00000000 */ nop +/* D8DE60 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D8DE64 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D8DE68 80240C18 44062000 */ mfc1 $a2, $f4 +/* D8DE6C 80240C1C 0C019E40 */ jal guTranslateF +/* D8DE70 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D8DE74 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DE78 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D8DE7C 80240C2C 0C019D80 */ jal guMtxCatF +/* D8DE80 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D8DE84 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D8DE88 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D8DE8C 80240C3C 44810000 */ mtc1 $at, $f0 +/* D8DE90 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D8DE94 80240C44 44050000 */ mfc1 $a1, $f0 +/* D8DE98 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D8DE9C 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D8DEA0 80240C50 0C019DF0 */ jal guScaleF +/* D8DEA4 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D8DEA8 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DEAC 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D8DEB0 80240C60 0C019D80 */ jal guMtxCatF +/* D8DEB4 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D8DEB8 80240C68 4600D687 */ neg.s $f26, $f26 +/* D8DEBC 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D8DEC0 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D8DEC4 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D8DEC8 80240C78 0C019E40 */ jal guTranslateF +/* D8DECC 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D8DED0 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D8DED4 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D8DED8 80240C88 0C019D80 */ jal guMtxCatF +/* D8DEDC 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D8DEE0 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D8DEE4 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D8DEE8 80240C98 44810000 */ mtc1 $at, $f0 +/* D8DEEC 80240C9C 00000000 */ nop +/* D8DEF0 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D8DEF4 80240CA4 00000000 */ nop +/* D8DEF8 80240CA8 4500000A */ bc1f .L80240CD4 +/* D8DEFC 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D8DF00 80240CB0 3C014387 */ lui $at, 0x4387 +/* D8DF04 80240CB4 44812000 */ mtc1 $at, $f4 +/* D8DF08 80240CB8 00000000 */ nop +/* D8DF0C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D8DF10 80240CC0 00000000 */ nop +/* D8DF14 80240CC4 45000004 */ bc1f .L80240CD8 +/* D8DF18 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D8DF1C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D8DF20 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D8DF24 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D8DF28 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D8DF2C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D8DF30 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D8DF34 80240CE4 0C0B7710 */ jal render_sprite +/* D8DF38 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D8DF3C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D8DF40 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D8DF44 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D8DF48 80240CF8 00000000 */ nop +/* D8DF4C 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D8DF50 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D8DF54 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D8DF58 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D8DF5C 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D8DF60 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D8DF64 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D8DF68 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D8DF6C 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D8DF70 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D8DF74 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D8DF78 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D8DF7C 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D8DF80 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D8DF84 80240D34 03E00008 */ jr $ra +/* D8DF88 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240D3C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240D3C_D8D250.s new file mode 100644 index 0000000000..6cfa0a9f95 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240D3C_D8D250.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D8DF8C +/* D8DF8C 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8DF90 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D8DF94 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D8DF98 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D8DF9C 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D8DFA0 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D8DFA4 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D8DFA8 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D8DFAC 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D8DFB0 80240D60 00000000 */ nop +/* D8DFB4 80240D64 28620002 */ slti $v0, $v1, 2 +/* D8DFB8 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D8DFBC 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D8DFC0 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D8DFC4 80240D74 00000000 */ nop +/* D8DFC8 80240D78 08090378 */ j .L80240DE0 +/* D8DFCC 80240D7C 00000000 */ nop +.L80240D80: +/* D8DFD0 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D8DFD4 80240D84 00000000 */ nop +/* D8DFD8 80240D88 08090378 */ j .L80240DE0 +/* D8DFDC 80240D8C 00000000 */ nop +.L80240D90: +/* D8DFE0 80240D90 3C048024 */ lui $a0, 0x8024 +/* D8DFE4 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D8DFE8 80240D98 08090374 */ j .L80240DD0 +/* D8DFEC 80240D9C 00000000 */ nop +.L80240DA0: +/* D8DFF0 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D8DFF4 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D8DFF8 80240DA8 08090374 */ j .L80240DD0 +/* D8DFFC 80240DAC 00000000 */ nop +.L80240DB0: +/* D8E000 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D8E004 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D8E008 80240DB8 00000000 */ nop +/* D8E00C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D8E010 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D8E014 80240DC4 00000000 */ nop +.L80240DC8: +/* D8E018 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D8E01C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D8E020 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D8E024 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D8E028 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D8E02C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D8E030 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D8E034 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D8E038 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D8E03C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D8E040 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D8E044 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D8E048 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D8E04C 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D8E050 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D8E054 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D8E058 80240E08 28820002 */ slti $v0, $a0, 2 +/* D8E05C 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D8E060 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D8E064 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D8E068 80240E18 00000000 */ nop +/* D8E06C 80240E1C 0809039D */ j .L80240E74 +/* D8E070 80240E20 00000000 */ nop +.L80240E24: +/* D8E074 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D8E078 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D8E07C 80240E2C 0809039D */ j .L80240E74 +/* D8E080 80240E30 00000000 */ nop +.L80240E34: +/* D8E084 80240E34 8CA20000 */ lw $v0, ($a1) +/* D8E088 80240E38 0809039A */ j .L80240E68 +/* D8E08C 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D8E090 80240E40 8CA20000 */ lw $v0, ($a1) +/* D8E094 80240E44 0809039A */ j .L80240E68 +/* D8E098 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D8E09C 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D8E0A0 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D8E0A4 80240E54 28420002 */ slti $v0, $v0, 2 +/* D8E0A8 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D8E0AC 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D8E0B0 80240E60 8CA20000 */ lw $v0, ($a1) +/* D8E0B4 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D8E0B8 80240E68 00431025 */ or $v0, $v0, $v1 +/* D8E0BC 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D8E0C0 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D8E0C4 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D8E0C8 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D8E0CC 80240E7C 03E00008 */ jr $ra +/* D8E0D0 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240E84_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240E84_D8D250.s new file mode 100644 index 0000000000..e7a0fc0d4b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240E84_D8D250.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D8E0D4 +/* D8E0D4 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8E0D8 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D8E0DC 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D8E0E0 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D8E0E4 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D8E0E8 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D8E0EC 80240E9C 3C03000A */ lui $v1, 0xa +/* D8E0F0 80240EA0 8C820000 */ lw $v0, ($a0) +/* D8E0F4 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D8E0F8 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D8E0FC 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D8E100 80240EB0 03E00008 */ jr $ra +/* D8E104 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240EB8_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240EB8_D8D250.s new file mode 100644 index 0000000000..c70b3cbbde --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240EB8_D8D250.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D8E108 +/* D8E108 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8E10C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D8E110 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D8E114 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D8E118 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D8E11C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D8E120 80240ED0 3C030008 */ lui $v1, 8 +/* D8E124 80240ED4 8C820000 */ lw $v0, ($a0) +/* D8E128 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D8E12C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D8E130 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D8E134 80240EE4 03E00008 */ jr $ra +/* D8E138 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240EEC_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240EEC_D8D250.s new file mode 100644 index 0000000000..c6da5354e7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240EEC_D8D250.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D8E13C +/* D8E13C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8E140 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D8E144 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D8E148 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D8E14C 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D8E150 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D8E154 80240F04 3C030002 */ lui $v1, 2 +/* D8E158 80240F08 8C820000 */ lw $v0, ($a0) +/* D8E15C 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D8E160 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D8E164 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D8E168 80240F18 03E00008 */ jr $ra +/* D8E16C 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80240F20_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80240F20_D8D250.s new file mode 100644 index 0000000000..c2fdc05fe9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80240F20_D8D250.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D8E170 +/* D8E170 80240F20 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D8E174 80240F24 AFB50024 */ sw $s5, 0x24($sp) +/* D8E178 80240F28 0080A82D */ daddu $s5, $a0, $zero +/* D8E17C 80240F2C AFBF002C */ sw $ra, 0x2c($sp) +/* D8E180 80240F30 AFB60028 */ sw $s6, 0x28($sp) +/* D8E184 80240F34 AFB40020 */ sw $s4, 0x20($sp) +/* D8E188 80240F38 AFB3001C */ sw $s3, 0x1c($sp) +/* D8E18C 80240F3C AFB20018 */ sw $s2, 0x18($sp) +/* D8E190 80240F40 AFB10014 */ sw $s1, 0x14($sp) +/* D8E194 80240F44 AFB00010 */ sw $s0, 0x10($sp) +/* D8E198 80240F48 F7B80040 */ sdc1 $f24, 0x40($sp) +/* D8E19C 80240F4C F7B60038 */ sdc1 $f22, 0x38($sp) +/* D8E1A0 80240F50 F7B40030 */ sdc1 $f20, 0x30($sp) +/* D8E1A4 80240F54 8EB30148 */ lw $s3, 0x148($s5) +/* D8E1A8 80240F58 86640008 */ lh $a0, 8($s3) +/* D8E1AC 80240F5C 0C00EABB */ jal get_npc_unsafe +/* D8E1B0 80240F60 00A0B02D */ daddu $s6, $a1, $zero +/* D8E1B4 80240F64 0040A02D */ daddu $s4, $v0, $zero +/* D8E1B8 80240F68 AEA00074 */ sw $zero, 0x74($s5) +/* D8E1BC 80240F6C C6980038 */ lwc1 $f24, 0x38($s4) +/* D8E1C0 80240F70 C6960040 */ lwc1 $f22, 0x40($s4) +/* D8E1C4 80240F74 0000902D */ daddu $s2, $zero, $zero +/* D8E1C8 80240F78 AEA00078 */ sw $zero, 0x78($s5) +/* D8E1CC 80240F7C 8E6300D0 */ lw $v1, 0xd0($s3) +/* D8E1D0 80240F80 8C620000 */ lw $v0, ($v1) +/* D8E1D4 80240F84 3C0146FF */ lui $at, 0x46ff +/* D8E1D8 80240F88 3421FE00 */ ori $at, $at, 0xfe00 +/* D8E1DC 80240F8C 4481A000 */ mtc1 $at, $f20 +/* D8E1E0 80240F90 18400018 */ blez $v0, .L80240FF4 +/* D8E1E4 80240F94 0240802D */ daddu $s0, $s2, $zero +/* D8E1E8 80240F98 0240882D */ daddu $s1, $s2, $zero +.L80240F9C: +/* D8E1EC 80240F9C 02231021 */ addu $v0, $s1, $v1 +/* D8E1F0 80240FA0 4600C306 */ mov.s $f12, $f24 +/* D8E1F4 80240FA4 C4440004 */ lwc1 $f4, 4($v0) +/* D8E1F8 80240FA8 46802120 */ cvt.s.w $f4, $f4 +/* D8E1FC 80240FAC 44062000 */ mfc1 $a2, $f4 +/* D8E200 80240FB0 C444000C */ lwc1 $f4, 0xc($v0) +/* D8E204 80240FB4 46802120 */ cvt.s.w $f4, $f4 +/* D8E208 80240FB8 44072000 */ mfc1 $a3, $f4 +/* D8E20C 80240FBC 0C00A7B5 */ jal dist2D +/* D8E210 80240FC0 4600B386 */ mov.s $f14, $f22 +/* D8E214 80240FC4 4614003C */ c.lt.s $f0, $f20 +/* D8E218 80240FC8 00000000 */ nop +/* D8E21C 80240FCC 45000003 */ bc1f .L80240FDC +/* D8E220 80240FD0 2631000C */ addiu $s1, $s1, 0xc +/* D8E224 80240FD4 46000506 */ mov.s $f20, $f0 +/* D8E228 80240FD8 AEB20078 */ sw $s2, 0x78($s5) +.L80240FDC: +/* D8E22C 80240FDC 8E6300D0 */ lw $v1, 0xd0($s3) +/* D8E230 80240FE0 26100001 */ addiu $s0, $s0, 1 +/* D8E234 80240FE4 8C620000 */ lw $v0, ($v1) +/* D8E238 80240FE8 0202102A */ slt $v0, $s0, $v0 +/* D8E23C 80240FEC 1440FFEB */ bnez $v0, .L80240F9C +/* D8E240 80240FF0 26520001 */ addiu $s2, $s2, 1 +.L80240FF4: +/* D8E244 80240FF4 8E6200CC */ lw $v0, 0xcc($s3) +/* D8E248 80240FF8 8C420004 */ lw $v0, 4($v0) +/* D8E24C 80240FFC AE820028 */ sw $v0, 0x28($s4) +/* D8E250 80241000 8E6200D0 */ lw $v0, 0xd0($s3) +/* D8E254 80241004 8C42007C */ lw $v0, 0x7c($v0) +/* D8E258 80241008 04410004 */ bgez $v0, .L8024101C +/* D8E25C 8024100C 00000000 */ nop +/* D8E260 80241010 C6C00000 */ lwc1 $f0, ($s6) +/* D8E264 80241014 0809040F */ j .L8024103C +/* D8E268 80241018 E6800018 */ swc1 $f0, 0x18($s4) +.L8024101C: +/* D8E26C 8024101C 3C018024 */ lui $at, 0x8024 +/* D8E270 80241020 D4223FE0 */ ldc1 $f2, 0x3fe0($at) +/* D8E274 80241024 44820000 */ mtc1 $v0, $f0 +/* D8E278 80241028 00000000 */ nop +/* D8E27C 8024102C 46800021 */ cvt.d.w $f0, $f0 +/* D8E280 80241030 46220003 */ div.d $f0, $f0, $f2 +/* D8E284 80241034 46200020 */ cvt.s.d $f0, $f0 +/* D8E288 80241038 E6800018 */ swc1 $f0, 0x18($s4) +.L8024103C: +/* D8E28C 8024103C 24020001 */ addiu $v0, $zero, 1 +/* D8E290 80241040 AEA20070 */ sw $v0, 0x70($s5) +/* D8E294 80241044 8FBF002C */ lw $ra, 0x2c($sp) +/* D8E298 80241048 8FB60028 */ lw $s6, 0x28($sp) +/* D8E29C 8024104C 8FB50024 */ lw $s5, 0x24($sp) +/* D8E2A0 80241050 8FB40020 */ lw $s4, 0x20($sp) +/* D8E2A4 80241054 8FB3001C */ lw $s3, 0x1c($sp) +/* D8E2A8 80241058 8FB20018 */ lw $s2, 0x18($sp) +/* D8E2AC 8024105C 8FB10014 */ lw $s1, 0x14($sp) +/* D8E2B0 80241060 8FB00010 */ lw $s0, 0x10($sp) +/* D8E2B4 80241064 D7B80040 */ ldc1 $f24, 0x40($sp) +/* D8E2B8 80241068 D7B60038 */ ldc1 $f22, 0x38($sp) +/* D8E2BC 8024106C D7B40030 */ ldc1 $f20, 0x30($sp) +/* D8E2C0 80241070 03E00008 */ jr $ra +/* D8E2C4 80241074 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241078_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241078_D8D250.s new file mode 100644 index 0000000000..7c6e1add80 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241078_D8D250.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241078_D8E2C8 +/* D8E2C8 80241078 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* D8E2CC 8024107C AFB20038 */ sw $s2, 0x38($sp) +/* D8E2D0 80241080 0080902D */ daddu $s2, $a0, $zero +/* D8E2D4 80241084 AFBF0044 */ sw $ra, 0x44($sp) +/* D8E2D8 80241088 AFB40040 */ sw $s4, 0x40($sp) +/* D8E2DC 8024108C AFB3003C */ sw $s3, 0x3c($sp) +/* D8E2E0 80241090 AFB10034 */ sw $s1, 0x34($sp) +/* D8E2E4 80241094 AFB00030 */ sw $s0, 0x30($sp) +/* D8E2E8 80241098 F7B60050 */ sdc1 $f22, 0x50($sp) +/* D8E2EC 8024109C F7B40048 */ sdc1 $f20, 0x48($sp) +/* D8E2F0 802410A0 8E510148 */ lw $s1, 0x148($s2) +/* D8E2F4 802410A4 00A0982D */ daddu $s3, $a1, $zero +/* D8E2F8 802410A8 86240008 */ lh $a0, 8($s1) +/* D8E2FC 802410AC 0C00EABB */ jal get_npc_unsafe +/* D8E300 802410B0 00C0A02D */ daddu $s4, $a2, $zero +/* D8E304 802410B4 8E630014 */ lw $v1, 0x14($s3) +/* D8E308 802410B8 04600030 */ bltz $v1, .L8024117C +/* D8E30C 802410BC 0040802D */ daddu $s0, $v0, $zero +/* D8E310 802410C0 8E420074 */ lw $v0, 0x74($s2) +/* D8E314 802410C4 1C40002C */ bgtz $v0, .L80241178 +/* D8E318 802410C8 2442FFFF */ addiu $v0, $v0, -1 +/* D8E31C 802410CC 0280202D */ daddu $a0, $s4, $zero +/* D8E320 802410D0 AE430074 */ sw $v1, 0x74($s2) +/* D8E324 802410D4 AFA00010 */ sw $zero, 0x10($sp) +/* D8E328 802410D8 8E66000C */ lw $a2, 0xc($s3) +/* D8E32C 802410DC 8E670010 */ lw $a3, 0x10($s3) +/* D8E330 802410E0 0C01242D */ jal func_800490B4 +/* D8E334 802410E4 0220282D */ daddu $a1, $s1, $zero +/* D8E338 802410E8 10400021 */ beqz $v0, .L80241170 +/* D8E33C 802410EC 0000202D */ daddu $a0, $zero, $zero +/* D8E340 802410F0 0200282D */ daddu $a1, $s0, $zero +/* D8E344 802410F4 0000302D */ daddu $a2, $zero, $zero +/* D8E348 802410F8 860300A8 */ lh $v1, 0xa8($s0) +/* D8E34C 802410FC 3C013F80 */ lui $at, 0x3f80 +/* D8E350 80241100 44810000 */ mtc1 $at, $f0 +/* D8E354 80241104 3C014000 */ lui $at, 0x4000 +/* D8E358 80241108 44811000 */ mtc1 $at, $f2 +/* D8E35C 8024110C 3C01C1A0 */ lui $at, 0xc1a0 +/* D8E360 80241110 44812000 */ mtc1 $at, $f4 +/* D8E364 80241114 2402000F */ addiu $v0, $zero, 0xf +/* D8E368 80241118 AFA2001C */ sw $v0, 0x1c($sp) +/* D8E36C 8024111C 44833000 */ mtc1 $v1, $f6 +/* D8E370 80241120 00000000 */ nop +/* D8E374 80241124 468031A0 */ cvt.s.w $f6, $f6 +/* D8E378 80241128 44073000 */ mfc1 $a3, $f6 +/* D8E37C 8024112C 27A20028 */ addiu $v0, $sp, 0x28 +/* D8E380 80241130 AFA20020 */ sw $v0, 0x20($sp) +/* D8E384 80241134 E7A00010 */ swc1 $f0, 0x10($sp) +/* D8E388 80241138 E7A20014 */ swc1 $f2, 0x14($sp) +/* D8E38C 8024113C 0C01BFA4 */ jal fx_emote +/* D8E390 80241140 E7A40018 */ swc1 $f4, 0x18($sp) +/* D8E394 80241144 0200202D */ daddu $a0, $s0, $zero +/* D8E398 80241148 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D8E39C 8024114C 0C012530 */ jal func_800494C0 +/* D8E3A0 80241150 3C060020 */ lui $a2, 0x20 +/* D8E3A4 80241154 8E220018 */ lw $v0, 0x18($s1) +/* D8E3A8 80241158 9442002A */ lhu $v0, 0x2a($v0) +/* D8E3AC 8024115C 30420001 */ andi $v0, $v0, 1 +/* D8E3B0 80241160 14400064 */ bnez $v0, .L802412F4 +/* D8E3B4 80241164 2402000A */ addiu $v0, $zero, 0xa +/* D8E3B8 80241168 080904BD */ j .L802412F4 +/* D8E3BC 8024116C 2402000C */ addiu $v0, $zero, 0xc +.L80241170: +/* D8E3C0 80241170 8E420074 */ lw $v0, 0x74($s2) +/* D8E3C4 80241174 2442FFFF */ addiu $v0, $v0, -1 +.L80241178: +/* D8E3C8 80241178 AE420074 */ sw $v0, 0x74($s2) +.L8024117C: +/* D8E3CC 8024117C 8602008C */ lh $v0, 0x8c($s0) +/* D8E3D0 80241180 1440005D */ bnez $v0, .L802412F8 +/* D8E3D4 80241184 00000000 */ nop +/* D8E3D8 80241188 C6000018 */ lwc1 $f0, 0x18($s0) +/* D8E3DC 8024118C 3C014010 */ lui $at, 0x4010 +/* D8E3E0 80241190 44811800 */ mtc1 $at, $f3 +/* D8E3E4 80241194 44801000 */ mtc1 $zero, $f2 +/* D8E3E8 80241198 46000021 */ cvt.d.s $f0, $f0 +/* D8E3EC 8024119C 4622003C */ c.lt.d $f0, $f2 +/* D8E3F0 802411A0 00000000 */ nop +/* D8E3F4 802411A4 45000003 */ bc1f .L802411B4 +/* D8E3F8 802411A8 0200202D */ daddu $a0, $s0, $zero +/* D8E3FC 802411AC 0809046E */ j .L802411B8 +/* D8E400 802411B0 0000282D */ daddu $a1, $zero, $zero +.L802411B4: +/* D8E404 802411B4 24050001 */ addiu $a1, $zero, 1 +.L802411B8: +/* D8E408 802411B8 0C00F598 */ jal func_8003D660 +/* D8E40C 802411BC 00000000 */ nop +/* D8E410 802411C0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D8E414 802411C4 8E430078 */ lw $v1, 0x78($s2) +/* D8E418 802411C8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D8E41C 802411CC 00031040 */ sll $v0, $v1, 1 +/* D8E420 802411D0 00431021 */ addu $v0, $v0, $v1 +/* D8E424 802411D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8E428 802411D8 00021080 */ sll $v0, $v0, 2 +/* D8E42C 802411DC 00431021 */ addu $v0, $v0, $v1 +/* D8E430 802411E0 C4560004 */ lwc1 $f22, 4($v0) +/* D8E434 802411E4 4680B5A0 */ cvt.s.w $f22, $f22 +/* D8E438 802411E8 C454000C */ lwc1 $f20, 0xc($v0) +/* D8E43C 802411EC 4680A520 */ cvt.s.w $f20, $f20 +/* D8E440 802411F0 4406B000 */ mfc1 $a2, $f22 +/* D8E444 802411F4 4407A000 */ mfc1 $a3, $f20 +/* D8E448 802411F8 0C00A720 */ jal atan2 +/* D8E44C 802411FC 00000000 */ nop +/* D8E450 80241200 8E050018 */ lw $a1, 0x18($s0) +/* D8E454 80241204 44060000 */ mfc1 $a2, $f0 +/* D8E458 80241208 0200202D */ daddu $a0, $s0, $zero +/* D8E45C 8024120C 0C00EA95 */ jal npc_move_heading +/* D8E460 80241210 AE06000C */ sw $a2, 0xc($s0) +/* D8E464 80241214 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D8E468 80241218 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D8E46C 8024121C 4406B000 */ mfc1 $a2, $f22 +/* D8E470 80241220 4407A000 */ mfc1 $a3, $f20 +/* D8E474 80241224 0C00A7B5 */ jal dist2D +/* D8E478 80241228 00000000 */ nop +/* D8E47C 8024122C C6020018 */ lwc1 $f2, 0x18($s0) +/* D8E480 80241230 4602003E */ c.le.s $f0, $f2 +/* D8E484 80241234 00000000 */ nop +/* D8E488 80241238 4500002F */ bc1f .L802412F8 +/* D8E48C 8024123C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* D8E490 80241240 24020002 */ addiu $v0, $zero, 2 +/* D8E494 80241244 0C00A67F */ jal rand_int +/* D8E498 80241248 AE420070 */ sw $v0, 0x70($s2) +/* D8E49C 8024124C 3C035555 */ lui $v1, 0x5555 +/* D8E4A0 80241250 34635556 */ ori $v1, $v1, 0x5556 +/* D8E4A4 80241254 00430018 */ mult $v0, $v1 +/* D8E4A8 80241258 000227C3 */ sra $a0, $v0, 0x1f +/* D8E4AC 8024125C 00004010 */ mfhi $t0 +/* D8E4B0 80241260 01042023 */ subu $a0, $t0, $a0 +/* D8E4B4 80241264 00041840 */ sll $v1, $a0, 1 +/* D8E4B8 80241268 00641821 */ addu $v1, $v1, $a0 +/* D8E4BC 8024126C 00431023 */ subu $v0, $v0, $v1 +/* D8E4C0 80241270 24430002 */ addiu $v1, $v0, 2 +/* D8E4C4 80241274 AE430074 */ sw $v1, 0x74($s2) +/* D8E4C8 80241278 8E62002C */ lw $v0, 0x2c($s3) +/* D8E4CC 8024127C 18400009 */ blez $v0, .L802412A4 +/* D8E4D0 80241280 24020004 */ addiu $v0, $zero, 4 +/* D8E4D4 80241284 8E620004 */ lw $v0, 4($s3) +/* D8E4D8 80241288 18400006 */ blez $v0, .L802412A4 +/* D8E4DC 8024128C 24020004 */ addiu $v0, $zero, 4 +/* D8E4E0 80241290 8E620008 */ lw $v0, 8($s3) +/* D8E4E4 80241294 18400003 */ blez $v0, .L802412A4 +/* D8E4E8 80241298 24020004 */ addiu $v0, $zero, 4 +/* D8E4EC 8024129C 14600002 */ bnez $v1, .L802412A8 +/* D8E4F0 802412A0 00000000 */ nop +.L802412A4: +/* D8E4F4 802412A4 AE420070 */ sw $v0, 0x70($s2) +.L802412A8: +/* D8E4F8 802412A8 0C00A67F */ jal rand_int +/* D8E4FC 802412AC 24042710 */ addiu $a0, $zero, 0x2710 +/* D8E500 802412B0 3C0351EB */ lui $v1, 0x51eb +/* D8E504 802412B4 3463851F */ ori $v1, $v1, 0x851f +/* D8E508 802412B8 00430018 */ mult $v0, $v1 +/* D8E50C 802412BC 00021FC3 */ sra $v1, $v0, 0x1f +/* D8E510 802412C0 00004010 */ mfhi $t0 +/* D8E514 802412C4 00082143 */ sra $a0, $t0, 5 +/* D8E518 802412C8 00832023 */ subu $a0, $a0, $v1 +/* D8E51C 802412CC 00041840 */ sll $v1, $a0, 1 +/* D8E520 802412D0 00641821 */ addu $v1, $v1, $a0 +/* D8E524 802412D4 000318C0 */ sll $v1, $v1, 3 +/* D8E528 802412D8 00641821 */ addu $v1, $v1, $a0 +/* D8E52C 802412DC 00031880 */ sll $v1, $v1, 2 +/* D8E530 802412E0 8E640004 */ lw $a0, 4($s3) +/* D8E534 802412E4 00431023 */ subu $v0, $v0, $v1 +/* D8E538 802412E8 0044102A */ slt $v0, $v0, $a0 +/* D8E53C 802412EC 10400002 */ beqz $v0, .L802412F8 +/* D8E540 802412F0 24020004 */ addiu $v0, $zero, 4 +.L802412F4: +/* D8E544 802412F4 AE420070 */ sw $v0, 0x70($s2) +.L802412F8: +/* D8E548 802412F8 8FBF0044 */ lw $ra, 0x44($sp) +/* D8E54C 802412FC 8FB40040 */ lw $s4, 0x40($sp) +/* D8E550 80241300 8FB3003C */ lw $s3, 0x3c($sp) +/* D8E554 80241304 8FB20038 */ lw $s2, 0x38($sp) +/* D8E558 80241308 8FB10034 */ lw $s1, 0x34($sp) +/* D8E55C 8024130C 8FB00030 */ lw $s0, 0x30($sp) +/* D8E560 80241310 D7B60050 */ ldc1 $f22, 0x50($sp) +/* D8E564 80241314 D7B40048 */ ldc1 $f20, 0x48($sp) +/* D8E568 80241318 03E00008 */ jr $ra +/* D8E56C 8024131C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241320_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241320_D8D250.s new file mode 100644 index 0000000000..aed6642c59 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241320_D8D250.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241320_D8E570 +/* D8E570 80241320 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D8E574 80241324 AFB3001C */ sw $s3, 0x1c($sp) +/* D8E578 80241328 0080982D */ daddu $s3, $a0, $zero +/* D8E57C 8024132C AFBF0020 */ sw $ra, 0x20($sp) +/* D8E580 80241330 AFB20018 */ sw $s2, 0x18($sp) +/* D8E584 80241334 AFB10014 */ sw $s1, 0x14($sp) +/* D8E588 80241338 AFB00010 */ sw $s0, 0x10($sp) +/* D8E58C 8024133C 8E720148 */ lw $s2, 0x148($s3) +/* D8E590 80241340 86440008 */ lh $a0, 8($s2) +/* D8E594 80241344 0C00EABB */ jal get_npc_unsafe +/* D8E598 80241348 00A0882D */ daddu $s1, $a1, $zero +/* D8E59C 8024134C 8E240008 */ lw $a0, 8($s1) +/* D8E5A0 80241350 0040802D */ daddu $s0, $v0, $zero +/* D8E5A4 80241354 00041FC2 */ srl $v1, $a0, 0x1f +/* D8E5A8 80241358 00832021 */ addu $a0, $a0, $v1 +/* D8E5AC 8024135C 00042043 */ sra $a0, $a0, 1 +/* D8E5B0 80241360 0C00A67F */ jal rand_int +/* D8E5B4 80241364 24840001 */ addiu $a0, $a0, 1 +/* D8E5B8 80241368 8E230008 */ lw $v1, 8($s1) +/* D8E5BC 8024136C 240400B4 */ addiu $a0, $zero, 0xb4 +/* D8E5C0 80241370 00032FC2 */ srl $a1, $v1, 0x1f +/* D8E5C4 80241374 00651821 */ addu $v1, $v1, $a1 +/* D8E5C8 80241378 00031843 */ sra $v1, $v1, 1 +/* D8E5CC 8024137C 00621821 */ addu $v1, $v1, $v0 +/* D8E5D0 80241380 0C00A67F */ jal rand_int +/* D8E5D4 80241384 A603008E */ sh $v1, 0x8e($s0) +/* D8E5D8 80241388 C60C000C */ lwc1 $f12, 0xc($s0) +/* D8E5DC 8024138C 44820000 */ mtc1 $v0, $f0 +/* D8E5E0 80241390 00000000 */ nop +/* D8E5E4 80241394 46800020 */ cvt.s.w $f0, $f0 +/* D8E5E8 80241398 46006300 */ add.s $f12, $f12, $f0 +/* D8E5EC 8024139C 3C0142B4 */ lui $at, 0x42b4 +/* D8E5F0 802413A0 44810000 */ mtc1 $at, $f0 +/* D8E5F4 802413A4 0C00A6C9 */ jal clamp_angle +/* D8E5F8 802413A8 46006301 */ sub.s $f12, $f12, $f0 +/* D8E5FC 802413AC E600000C */ swc1 $f0, 0xc($s0) +/* D8E600 802413B0 8E4200CC */ lw $v0, 0xcc($s2) +/* D8E604 802413B4 8C420000 */ lw $v0, ($v0) +/* D8E608 802413B8 AE020028 */ sw $v0, 0x28($s0) +/* D8E60C 802413BC 24020003 */ addiu $v0, $zero, 3 +/* D8E610 802413C0 AE620070 */ sw $v0, 0x70($s3) +/* D8E614 802413C4 8FBF0020 */ lw $ra, 0x20($sp) +/* D8E618 802413C8 8FB3001C */ lw $s3, 0x1c($sp) +/* D8E61C 802413CC 8FB20018 */ lw $s2, 0x18($sp) +/* D8E620 802413D0 8FB10014 */ lw $s1, 0x14($sp) +/* D8E624 802413D4 8FB00010 */ lw $s0, 0x10($sp) +/* D8E628 802413D8 03E00008 */ jr $ra +/* D8E62C 802413DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802413E0_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802413E0_D8D250.s new file mode 100644 index 0000000000..4f57541f47 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802413E0_D8D250.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413E0_D8E630 +/* D8E630 802413E0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D8E634 802413E4 AFB40040 */ sw $s4, 0x40($sp) +/* D8E638 802413E8 0080A02D */ daddu $s4, $a0, $zero +/* D8E63C 802413EC AFBF0044 */ sw $ra, 0x44($sp) +/* D8E640 802413F0 AFB3003C */ sw $s3, 0x3c($sp) +/* D8E644 802413F4 AFB20038 */ sw $s2, 0x38($sp) +/* D8E648 802413F8 AFB10034 */ sw $s1, 0x34($sp) +/* D8E64C 802413FC AFB00030 */ sw $s0, 0x30($sp) +/* D8E650 80241400 8E910148 */ lw $s1, 0x148($s4) +/* D8E654 80241404 00A0902D */ daddu $s2, $a1, $zero +/* D8E658 80241408 86240008 */ lh $a0, 8($s1) +/* D8E65C 8024140C 0C00EABB */ jal get_npc_unsafe +/* D8E660 80241410 00C0982D */ daddu $s3, $a2, $zero +/* D8E664 80241414 8E430014 */ lw $v1, 0x14($s2) +/* D8E668 80241418 04600031 */ bltz $v1, .L802414E0 +/* D8E66C 8024141C 0040802D */ daddu $s0, $v0, $zero +/* D8E670 80241420 0260202D */ daddu $a0, $s3, $zero +/* D8E674 80241424 AFA00010 */ sw $zero, 0x10($sp) +/* D8E678 80241428 8E460024 */ lw $a2, 0x24($s2) +/* D8E67C 8024142C 8E470028 */ lw $a3, 0x28($s2) +/* D8E680 80241430 0C01242D */ jal func_800490B4 +/* D8E684 80241434 0220282D */ daddu $a1, $s1, $zero +/* D8E688 80241438 10400029 */ beqz $v0, .L802414E0 +/* D8E68C 8024143C 0000202D */ daddu $a0, $zero, $zero +/* D8E690 80241440 0200282D */ daddu $a1, $s0, $zero +/* D8E694 80241444 0000302D */ daddu $a2, $zero, $zero +/* D8E698 80241448 860300A8 */ lh $v1, 0xa8($s0) +/* D8E69C 8024144C 3C013F80 */ lui $at, 0x3f80 +/* D8E6A0 80241450 44810000 */ mtc1 $at, $f0 +/* D8E6A4 80241454 3C014000 */ lui $at, 0x4000 +/* D8E6A8 80241458 44811000 */ mtc1 $at, $f2 +/* D8E6AC 8024145C 3C01C1A0 */ lui $at, 0xc1a0 +/* D8E6B0 80241460 44812000 */ mtc1 $at, $f4 +/* D8E6B4 80241464 2402000F */ addiu $v0, $zero, 0xf +/* D8E6B8 80241468 AFA2001C */ sw $v0, 0x1c($sp) +/* D8E6BC 8024146C 44833000 */ mtc1 $v1, $f6 +/* D8E6C0 80241470 00000000 */ nop +/* D8E6C4 80241474 468031A0 */ cvt.s.w $f6, $f6 +/* D8E6C8 80241478 44073000 */ mfc1 $a3, $f6 +/* D8E6CC 8024147C 27A20028 */ addiu $v0, $sp, 0x28 +/* D8E6D0 80241480 AFA20020 */ sw $v0, 0x20($sp) +/* D8E6D4 80241484 E7A00010 */ swc1 $f0, 0x10($sp) +/* D8E6D8 80241488 E7A20014 */ swc1 $f2, 0x14($sp) +/* D8E6DC 8024148C 0C01BFA4 */ jal fx_emote +/* D8E6E0 80241490 E7A40018 */ swc1 $f4, 0x18($sp) +/* D8E6E4 80241494 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D8E6E8 80241498 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D8E6EC 8024149C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D8E6F0 802414A0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D8E6F4 802414A4 8C460028 */ lw $a2, 0x28($v0) +/* D8E6F8 802414A8 0C00A720 */ jal atan2 +/* D8E6FC 802414AC 8C470030 */ lw $a3, 0x30($v0) +/* D8E700 802414B0 0200202D */ daddu $a0, $s0, $zero +/* D8E704 802414B4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D8E708 802414B8 3C060020 */ lui $a2, 0x20 +/* D8E70C 802414BC 0C012530 */ jal func_800494C0 +/* D8E710 802414C0 E480000C */ swc1 $f0, 0xc($a0) +/* D8E714 802414C4 8E220018 */ lw $v0, 0x18($s1) +/* D8E718 802414C8 9442002A */ lhu $v0, 0x2a($v0) +/* D8E71C 802414CC 30420001 */ andi $v0, $v0, 1 +/* D8E720 802414D0 14400029 */ bnez $v0, .L80241578 +/* D8E724 802414D4 2402000A */ addiu $v0, $zero, 0xa +/* D8E728 802414D8 0809055E */ j .L80241578 +/* D8E72C 802414DC 2402000C */ addiu $v0, $zero, 0xc +.L802414E0: +/* D8E730 802414E0 8602008C */ lh $v0, 0x8c($s0) +/* D8E734 802414E4 14400025 */ bnez $v0, .L8024157C +/* D8E738 802414E8 00000000 */ nop +/* D8E73C 802414EC 9602008E */ lhu $v0, 0x8e($s0) +/* D8E740 802414F0 2442FFFF */ addiu $v0, $v0, -1 +/* D8E744 802414F4 A602008E */ sh $v0, 0x8e($s0) +/* D8E748 802414F8 00021400 */ sll $v0, $v0, 0x10 +/* D8E74C 802414FC 1440001F */ bnez $v0, .L8024157C +/* D8E750 80241500 00000000 */ nop +/* D8E754 80241504 8E820074 */ lw $v0, 0x74($s4) +/* D8E758 80241508 2442FFFF */ addiu $v0, $v0, -1 +/* D8E75C 8024150C 10400019 */ beqz $v0, .L80241574 +/* D8E760 80241510 AE820074 */ sw $v0, 0x74($s4) +/* D8E764 80241514 8E220018 */ lw $v0, 0x18($s1) +/* D8E768 80241518 9442002A */ lhu $v0, 0x2a($v0) +/* D8E76C 8024151C 30420010 */ andi $v0, $v0, 0x10 +/* D8E770 80241520 14400007 */ bnez $v0, .L80241540 +/* D8E774 80241524 00000000 */ nop +/* D8E778 80241528 C600000C */ lwc1 $f0, 0xc($s0) +/* D8E77C 8024152C 3C014334 */ lui $at, 0x4334 +/* D8E780 80241530 44816000 */ mtc1 $at, $f12 +/* D8E784 80241534 0C00A6C9 */ jal clamp_angle +/* D8E788 80241538 460C0300 */ add.s $f12, $f0, $f12 +/* D8E78C 8024153C E600000C */ swc1 $f0, 0xc($s0) +.L80241540: +/* D8E790 80241540 8E440008 */ lw $a0, 8($s2) +/* D8E794 80241544 000417C2 */ srl $v0, $a0, 0x1f +/* D8E798 80241548 00822021 */ addu $a0, $a0, $v0 +/* D8E79C 8024154C 00042043 */ sra $a0, $a0, 1 +/* D8E7A0 80241550 0C00A67F */ jal rand_int +/* D8E7A4 80241554 24840001 */ addiu $a0, $a0, 1 +/* D8E7A8 80241558 8E430008 */ lw $v1, 8($s2) +/* D8E7AC 8024155C 000327C2 */ srl $a0, $v1, 0x1f +/* D8E7B0 80241560 00641821 */ addu $v1, $v1, $a0 +/* D8E7B4 80241564 00031843 */ sra $v1, $v1, 1 +/* D8E7B8 80241568 00621821 */ addu $v1, $v1, $v0 +/* D8E7BC 8024156C 0809055F */ j .L8024157C +/* D8E7C0 80241570 A603008E */ sh $v1, 0x8e($s0) +.L80241574: +/* D8E7C4 80241574 24020004 */ addiu $v0, $zero, 4 +.L80241578: +/* D8E7C8 80241578 AE820070 */ sw $v0, 0x70($s4) +.L8024157C: +/* D8E7CC 8024157C 8FBF0044 */ lw $ra, 0x44($sp) +/* D8E7D0 80241580 8FB40040 */ lw $s4, 0x40($sp) +/* D8E7D4 80241584 8FB3003C */ lw $s3, 0x3c($sp) +/* D8E7D8 80241588 8FB20038 */ lw $s2, 0x38($sp) +/* D8E7DC 8024158C 8FB10034 */ lw $s1, 0x34($sp) +/* D8E7E0 80241590 8FB00030 */ lw $s0, 0x30($sp) +/* D8E7E4 80241594 03E00008 */ jr $ra +/* D8E7E8 80241598 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024159C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024159C_D8D250.s new file mode 100644 index 0000000000..1d3b09ac3b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024159C_D8D250.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024159C_D8E7EC +/* D8E7EC 8024159C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8E7F0 802415A0 AFB10014 */ sw $s1, 0x14($sp) +/* D8E7F4 802415A4 0080882D */ daddu $s1, $a0, $zero +/* D8E7F8 802415A8 AFBF001C */ sw $ra, 0x1c($sp) +/* D8E7FC 802415AC AFB20018 */ sw $s2, 0x18($sp) +/* D8E800 802415B0 AFB00010 */ sw $s0, 0x10($sp) +/* D8E804 802415B4 8E300148 */ lw $s0, 0x148($s1) +/* D8E808 802415B8 86040008 */ lh $a0, 8($s0) +/* D8E80C 802415BC 0C00EABB */ jal get_npc_unsafe +/* D8E810 802415C0 00A0902D */ daddu $s2, $a1, $zero +/* D8E814 802415C4 8E230078 */ lw $v1, 0x78($s1) +/* D8E818 802415C8 24630001 */ addiu $v1, $v1, 1 +/* D8E81C 802415CC AE230078 */ sw $v1, 0x78($s1) +/* D8E820 802415D0 8E0400D0 */ lw $a0, 0xd0($s0) +/* D8E824 802415D4 8C840000 */ lw $a0, ($a0) +/* D8E828 802415D8 0064182A */ slt $v1, $v1, $a0 +/* D8E82C 802415DC 14600002 */ bnez $v1, .L802415E8 +/* D8E830 802415E0 0040282D */ daddu $a1, $v0, $zero +/* D8E834 802415E4 AE200078 */ sw $zero, 0x78($s1) +.L802415E8: +/* D8E838 802415E8 8E0200CC */ lw $v0, 0xcc($s0) +/* D8E83C 802415EC 8C420004 */ lw $v0, 4($v0) +/* D8E840 802415F0 ACA20028 */ sw $v0, 0x28($a1) +/* D8E844 802415F4 8E0200D0 */ lw $v0, 0xd0($s0) +/* D8E848 802415F8 8C42007C */ lw $v0, 0x7c($v0) +/* D8E84C 802415FC 04410004 */ bgez $v0, .L80241610 +/* D8E850 80241600 00000000 */ nop +/* D8E854 80241604 C6400000 */ lwc1 $f0, ($s2) +/* D8E858 80241608 0809058C */ j .L80241630 +/* D8E85C 8024160C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241610: +/* D8E860 80241610 3C018024 */ lui $at, 0x8024 +/* D8E864 80241614 D4223FE8 */ ldc1 $f2, 0x3fe8($at) +/* D8E868 80241618 44820000 */ mtc1 $v0, $f0 +/* D8E86C 8024161C 00000000 */ nop +/* D8E870 80241620 46800021 */ cvt.d.w $f0, $f0 +/* D8E874 80241624 46220003 */ div.d $f0, $f0, $f2 +/* D8E878 80241628 46200020 */ cvt.s.d $f0, $f0 +/* D8E87C 8024162C E4A00018 */ swc1 $f0, 0x18($a1) +.L80241630: +/* D8E880 80241630 24020001 */ addiu $v0, $zero, 1 +/* D8E884 80241634 AE220070 */ sw $v0, 0x70($s1) +/* D8E888 80241638 8FBF001C */ lw $ra, 0x1c($sp) +/* D8E88C 8024163C 8FB20018 */ lw $s2, 0x18($sp) +/* D8E890 80241640 8FB10014 */ lw $s1, 0x14($sp) +/* D8E894 80241644 8FB00010 */ lw $s0, 0x10($sp) +/* D8E898 80241648 03E00008 */ jr $ra +/* D8E89C 8024164C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241650_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241650_D8D250.s new file mode 100644 index 0000000000..923c1785d3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241650_D8D250.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650_D8E8A0 +/* D8E8A0 80241650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8E8A4 80241654 AFB10014 */ sw $s1, 0x14($sp) +/* D8E8A8 80241658 0080882D */ daddu $s1, $a0, $zero +/* D8E8AC 8024165C AFBF0018 */ sw $ra, 0x18($sp) +/* D8E8B0 80241660 AFB00010 */ sw $s0, 0x10($sp) +/* D8E8B4 80241664 8E300148 */ lw $s0, 0x148($s1) +/* D8E8B8 80241668 0C00EABB */ jal get_npc_unsafe +/* D8E8BC 8024166C 86040008 */ lh $a0, 8($s0) +/* D8E8C0 80241670 8E0300CC */ lw $v1, 0xcc($s0) +/* D8E8C4 80241674 3C014120 */ lui $at, 0x4120 +/* D8E8C8 80241678 44812000 */ mtc1 $at, $f4 +/* D8E8CC 8024167C 3C014000 */ lui $at, 0x4000 +/* D8E8D0 80241680 44810000 */ mtc1 $at, $f0 +/* D8E8D4 80241684 C442003C */ lwc1 $f2, 0x3c($v0) +/* D8E8D8 80241688 8C640010 */ lw $a0, 0x10($v1) +/* D8E8DC 8024168C 8C430000 */ lw $v1, ($v0) +/* D8E8E0 80241690 E444001C */ swc1 $f4, 0x1c($v0) +/* D8E8E4 80241694 E4400014 */ swc1 $f0, 0x14($v0) +/* D8E8E8 80241698 E4420064 */ swc1 $f2, 0x64($v0) +/* D8E8EC 8024169C 34630800 */ ori $v1, $v1, 0x800 +/* D8E8F0 802416A0 AC430000 */ sw $v1, ($v0) +/* D8E8F4 802416A4 AC440028 */ sw $a0, 0x28($v0) +/* D8E8F8 802416A8 2402000B */ addiu $v0, $zero, 0xb +/* D8E8FC 802416AC AE220070 */ sw $v0, 0x70($s1) +/* D8E900 802416B0 8FBF0018 */ lw $ra, 0x18($sp) +/* D8E904 802416B4 8FB10014 */ lw $s1, 0x14($sp) +/* D8E908 802416B8 8FB00010 */ lw $s0, 0x10($sp) +/* D8E90C 802416BC 03E00008 */ jr $ra +/* D8E910 802416C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802416C4_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802416C4_D8D250.s new file mode 100644 index 0000000000..136e653f10 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802416C4_D8D250.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C4_D8E914 +/* D8E914 802416C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8E918 802416C8 AFB00010 */ sw $s0, 0x10($sp) +/* D8E91C 802416CC 0080802D */ daddu $s0, $a0, $zero +/* D8E920 802416D0 AFBF0014 */ sw $ra, 0x14($sp) +/* D8E924 802416D4 8E020148 */ lw $v0, 0x148($s0) +/* D8E928 802416D8 0C00EABB */ jal get_npc_unsafe +/* D8E92C 802416DC 84440008 */ lh $a0, 8($v0) +/* D8E930 802416E0 0040202D */ daddu $a0, $v0, $zero +/* D8E934 802416E4 C482003C */ lwc1 $f2, 0x3c($a0) +/* D8E938 802416E8 C480001C */ lwc1 $f0, 0x1c($a0) +/* D8E93C 802416EC 46001080 */ add.s $f2, $f2, $f0 +/* D8E940 802416F0 C4840014 */ lwc1 $f4, 0x14($a0) +/* D8E944 802416F4 46040001 */ sub.s $f0, $f0, $f4 +/* D8E948 802416F8 C4840064 */ lwc1 $f4, 0x64($a0) +/* D8E94C 802416FC 4602203C */ c.lt.s $f4, $f2 +/* D8E950 80241700 E482003C */ swc1 $f2, 0x3c($a0) +/* D8E954 80241704 45010009 */ bc1t .L8024172C +/* D8E958 80241708 E480001C */ swc1 $f0, 0x1c($a0) +/* D8E95C 8024170C 8C820000 */ lw $v0, ($a0) +/* D8E960 80241710 2403F7FF */ addiu $v1, $zero, -0x801 +/* D8E964 80241714 E484003C */ swc1 $f4, 0x3c($a0) +/* D8E968 80241718 AC80001C */ sw $zero, 0x1c($a0) +/* D8E96C 8024171C 00431024 */ and $v0, $v0, $v1 +/* D8E970 80241720 AC820000 */ sw $v0, ($a0) +/* D8E974 80241724 2402000C */ addiu $v0, $zero, 0xc +/* D8E978 80241728 AE020070 */ sw $v0, 0x70($s0) +.L8024172C: +/* D8E97C 8024172C 8FBF0014 */ lw $ra, 0x14($sp) +/* D8E980 80241730 8FB00010 */ lw $s0, 0x10($sp) +/* D8E984 80241734 03E00008 */ jr $ra +/* D8E988 80241738 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024173C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024173C_D8D250.s new file mode 100644 index 0000000000..ba7e40e58d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024173C_D8D250.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024173C_D8E98C +/* D8E98C 8024173C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D8E990 80241740 AFB3001C */ sw $s3, 0x1c($sp) +/* D8E994 80241744 0080982D */ daddu $s3, $a0, $zero +/* D8E998 80241748 AFBF0020 */ sw $ra, 0x20($sp) +/* D8E99C 8024174C AFB20018 */ sw $s2, 0x18($sp) +/* D8E9A0 80241750 AFB10014 */ sw $s1, 0x14($sp) +/* D8E9A4 80241754 AFB00010 */ sw $s0, 0x10($sp) +/* D8E9A8 80241758 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D8E9AC 8024175C 8E710148 */ lw $s1, 0x148($s3) +/* D8E9B0 80241760 86240008 */ lh $a0, 8($s1) +/* D8E9B4 80241764 0C00EABB */ jal get_npc_unsafe +/* D8E9B8 80241768 00A0802D */ daddu $s0, $a1, $zero +/* D8E9BC 8024176C 8E040020 */ lw $a0, 0x20($s0) +/* D8E9C0 80241770 0040902D */ daddu $s2, $v0, $zero +/* D8E9C4 80241774 00041FC2 */ srl $v1, $a0, 0x1f +/* D8E9C8 80241778 00832021 */ addu $a0, $a0, $v1 +/* D8E9CC 8024177C 00042043 */ sra $a0, $a0, 1 +/* D8E9D0 80241780 0C00A67F */ jal rand_int +/* D8E9D4 80241784 24840001 */ addiu $a0, $a0, 1 +/* D8E9D8 80241788 8E030020 */ lw $v1, 0x20($s0) +/* D8E9DC 8024178C C64C0038 */ lwc1 $f12, 0x38($s2) +/* D8E9E0 80241790 000327C2 */ srl $a0, $v1, 0x1f +/* D8E9E4 80241794 00641821 */ addu $v1, $v1, $a0 +/* D8E9E8 80241798 00031843 */ sra $v1, $v1, 1 +/* D8E9EC 8024179C 00621821 */ addu $v1, $v1, $v0 +/* D8E9F0 802417A0 A643008E */ sh $v1, 0x8e($s2) +/* D8E9F4 802417A4 8E2200CC */ lw $v0, 0xcc($s1) +/* D8E9F8 802417A8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D8E9FC 802417AC 8C42000C */ lw $v0, 0xc($v0) +/* D8EA00 802417B0 AE420028 */ sw $v0, 0x28($s2) +/* D8EA04 802417B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* D8EA08 802417B8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D8EA0C 802417BC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D8EA10 802417C0 E6400018 */ swc1 $f0, 0x18($s2) +/* D8EA14 802417C4 8C460028 */ lw $a2, 0x28($v0) +/* D8EA18 802417C8 0C00A720 */ jal atan2 +/* D8EA1C 802417CC 8C470030 */ lw $a3, 0x30($v0) +/* D8EA20 802417D0 46000506 */ mov.s $f20, $f0 +/* D8EA24 802417D4 C64C000C */ lwc1 $f12, 0xc($s2) +/* D8EA28 802417D8 0C00A70A */ jal get_clamped_angle_diff +/* D8EA2C 802417DC 4600A386 */ mov.s $f14, $f20 +/* D8EA30 802417E0 46000086 */ mov.s $f2, $f0 +/* D8EA34 802417E4 8E02001C */ lw $v0, 0x1c($s0) +/* D8EA38 802417E8 46001005 */ abs.s $f0, $f2 +/* D8EA3C 802417EC 44822000 */ mtc1 $v0, $f4 +/* D8EA40 802417F0 00000000 */ nop +/* D8EA44 802417F4 46802120 */ cvt.s.w $f4, $f4 +/* D8EA48 802417F8 4600203C */ c.lt.s $f4, $f0 +/* D8EA4C 802417FC 00000000 */ nop +/* D8EA50 80241800 4500000D */ bc1f .L80241838 +/* D8EA54 80241804 00000000 */ nop +/* D8EA58 80241808 44800000 */ mtc1 $zero, $f0 +/* D8EA5C 8024180C C654000C */ lwc1 $f20, 0xc($s2) +/* D8EA60 80241810 4600103C */ c.lt.s $f2, $f0 +/* D8EA64 80241814 00000000 */ nop +/* D8EA68 80241818 45000006 */ bc1f .L80241834 +/* D8EA6C 8024181C 00021023 */ negu $v0, $v0 +/* D8EA70 80241820 44820000 */ mtc1 $v0, $f0 +/* D8EA74 80241824 00000000 */ nop +/* D8EA78 80241828 46800020 */ cvt.s.w $f0, $f0 +/* D8EA7C 8024182C 0809060E */ j .L80241838 +/* D8EA80 80241830 4600A500 */ add.s $f20, $f20, $f0 +.L80241834: +/* D8EA84 80241834 4604A500 */ add.s $f20, $f20, $f4 +.L80241838: +/* D8EA88 80241838 0C00A6C9 */ jal clamp_angle +/* D8EA8C 8024183C 4600A306 */ mov.s $f12, $f20 +/* D8EA90 80241840 2402000D */ addiu $v0, $zero, 0xd +/* D8EA94 80241844 E640000C */ swc1 $f0, 0xc($s2) +/* D8EA98 80241848 AE620070 */ sw $v0, 0x70($s3) +/* D8EA9C 8024184C 8FBF0020 */ lw $ra, 0x20($sp) +/* D8EAA0 80241850 8FB3001C */ lw $s3, 0x1c($sp) +/* D8EAA4 80241854 8FB20018 */ lw $s2, 0x18($sp) +/* D8EAA8 80241858 8FB10014 */ lw $s1, 0x14($sp) +/* D8EAAC 8024185C 8FB00010 */ lw $s0, 0x10($sp) +/* D8EAB0 80241860 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D8EAB4 80241864 03E00008 */ jr $ra +/* D8EAB8 80241868 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024186C.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024186C.s new file mode 100644 index 0000000000..d5eb8a074b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024186C.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024186C +/* D8EABC 8024186C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D8EAC0 80241870 AFB3003C */ sw $s3, 0x3c($sp) +/* D8EAC4 80241874 0080982D */ daddu $s3, $a0, $zero +/* D8EAC8 80241878 AFBF0040 */ sw $ra, 0x40($sp) +/* D8EACC 8024187C AFB20038 */ sw $s2, 0x38($sp) +/* D8EAD0 80241880 AFB10034 */ sw $s1, 0x34($sp) +/* D8EAD4 80241884 AFB00030 */ sw $s0, 0x30($sp) +/* D8EAD8 80241888 8E720148 */ lw $s2, 0x148($s3) +/* D8EADC 8024188C 00A0882D */ daddu $s1, $a1, $zero +/* D8EAE0 80241890 86440008 */ lh $a0, 8($s2) +/* D8EAE4 80241894 0C00EABB */ jal get_npc_unsafe +/* D8EAE8 80241898 00C0802D */ daddu $s0, $a2, $zero +/* D8EAEC 8024189C 0200202D */ daddu $a0, $s0, $zero +/* D8EAF0 802418A0 0240282D */ daddu $a1, $s2, $zero +/* D8EAF4 802418A4 24030001 */ addiu $v1, $zero, 1 +/* D8EAF8 802418A8 AFA30010 */ sw $v1, 0x10($sp) +/* D8EAFC 802418AC 8E260024 */ lw $a2, 0x24($s1) +/* D8EB00 802418B0 8E270028 */ lw $a3, 0x28($s1) +/* D8EB04 802418B4 0C01242D */ jal func_800490B4 +/* D8EB08 802418B8 0040802D */ daddu $s0, $v0, $zero +/* D8EB0C 802418BC 1440001E */ bnez $v0, .L80241938 +/* D8EB10 802418C0 0200202D */ daddu $a0, $s0, $zero +/* D8EB14 802418C4 24040002 */ addiu $a0, $zero, 2 +/* D8EB18 802418C8 0200282D */ daddu $a1, $s0, $zero +/* D8EB1C 802418CC 0000302D */ daddu $a2, $zero, $zero +/* D8EB20 802418D0 860300A8 */ lh $v1, 0xa8($s0) +/* D8EB24 802418D4 3C013F80 */ lui $at, 0x3f80 +/* D8EB28 802418D8 44810000 */ mtc1 $at, $f0 +/* D8EB2C 802418DC 3C014000 */ lui $at, 0x4000 +/* D8EB30 802418E0 44811000 */ mtc1 $at, $f2 +/* D8EB34 802418E4 3C01C1A0 */ lui $at, 0xc1a0 +/* D8EB38 802418E8 44812000 */ mtc1 $at, $f4 +/* D8EB3C 802418EC 2402000F */ addiu $v0, $zero, 0xf +/* D8EB40 802418F0 AFA2001C */ sw $v0, 0x1c($sp) +/* D8EB44 802418F4 44833000 */ mtc1 $v1, $f6 +/* D8EB48 802418F8 00000000 */ nop +/* D8EB4C 802418FC 468031A0 */ cvt.s.w $f6, $f6 +/* D8EB50 80241900 44073000 */ mfc1 $a3, $f6 +/* D8EB54 80241904 27A20028 */ addiu $v0, $sp, 0x28 +/* D8EB58 80241908 AFA20020 */ sw $v0, 0x20($sp) +/* D8EB5C 8024190C E7A00010 */ swc1 $f0, 0x10($sp) +/* D8EB60 80241910 E7A20014 */ swc1 $f2, 0x14($sp) +/* D8EB64 80241914 0C01BFA4 */ jal fx_emote +/* D8EB68 80241918 E7A40018 */ swc1 $f4, 0x18($sp) +/* D8EB6C 8024191C 8E4200CC */ lw $v0, 0xcc($s2) +/* D8EB70 80241920 8C430000 */ lw $v1, ($v0) +/* D8EB74 80241924 24020019 */ addiu $v0, $zero, 0x19 +/* D8EB78 80241928 A602008E */ sh $v0, 0x8e($s0) +/* D8EB7C 8024192C 2402000E */ addiu $v0, $zero, 0xe +/* D8EB80 80241930 0809065B */ j .L8024196C +/* D8EB84 80241934 AE030028 */ sw $v1, 0x28($s0) +.L80241938: +/* D8EB88 80241938 0C00F598 */ jal func_8003D660 +/* D8EB8C 8024193C 24050001 */ addiu $a1, $zero, 1 +/* D8EB90 80241940 8E050018 */ lw $a1, 0x18($s0) +/* D8EB94 80241944 8E06000C */ lw $a2, 0xc($s0) +/* D8EB98 80241948 0C00EA95 */ jal npc_move_heading +/* D8EB9C 8024194C 0200202D */ daddu $a0, $s0, $zero +/* D8EBA0 80241950 8602008E */ lh $v0, 0x8e($s0) +/* D8EBA4 80241954 9603008E */ lhu $v1, 0x8e($s0) +/* D8EBA8 80241958 18400003 */ blez $v0, .L80241968 +/* D8EBAC 8024195C 2462FFFF */ addiu $v0, $v1, -1 +/* D8EBB0 80241960 0809065C */ j .L80241970 +/* D8EBB4 80241964 A602008E */ sh $v0, 0x8e($s0) +.L80241968: +/* D8EBB8 80241968 2402000C */ addiu $v0, $zero, 0xc +.L8024196C: +/* D8EBBC 8024196C AE620070 */ sw $v0, 0x70($s3) +.L80241970: +/* D8EBC0 80241970 8FBF0040 */ lw $ra, 0x40($sp) +/* D8EBC4 80241974 8FB3003C */ lw $s3, 0x3c($sp) +/* D8EBC8 80241978 8FB20038 */ lw $s2, 0x38($sp) +/* D8EBCC 8024197C 8FB10034 */ lw $s1, 0x34($sp) +/* D8EBD0 80241980 8FB00030 */ lw $s0, 0x30($sp) +/* D8EBD4 80241984 03E00008 */ jr $ra +/* D8EBD8 80241988 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024198C.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024198C.s new file mode 100644 index 0000000000..ce9f130e2e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024198C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024198C +/* D8EBDC 8024198C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8EBE0 80241990 AFB10014 */ sw $s1, 0x14($sp) +/* D8EBE4 80241994 0080882D */ daddu $s1, $a0, $zero +/* D8EBE8 80241998 AFBF0018 */ sw $ra, 0x18($sp) +/* D8EBEC 8024199C AFB00010 */ sw $s0, 0x10($sp) +/* D8EBF0 802419A0 8E300148 */ lw $s0, 0x148($s1) +/* D8EBF4 802419A4 0C00EABB */ jal get_npc_unsafe +/* D8EBF8 802419A8 86040008 */ lh $a0, 8($s0) +/* D8EBFC 802419AC 9443008E */ lhu $v1, 0x8e($v0) +/* D8EC00 802419B0 2463FFFF */ addiu $v1, $v1, -1 +/* D8EC04 802419B4 A443008E */ sh $v1, 0x8e($v0) +/* D8EC08 802419B8 00031C00 */ sll $v1, $v1, 0x10 +/* D8EC0C 802419BC 14600008 */ bnez $v1, .L802419E0 +/* D8EC10 802419C0 00000000 */ nop +/* D8EC14 802419C4 8E0200B0 */ lw $v0, 0xb0($s0) +/* D8EC18 802419C8 30420080 */ andi $v0, $v0, 0x80 +/* D8EC1C 802419CC 10400003 */ beqz $v0, .L802419DC +/* D8EC20 802419D0 2402000F */ addiu $v0, $zero, 0xf +/* D8EC24 802419D4 08090678 */ j .L802419E0 +/* D8EC28 802419D8 AE220070 */ sw $v0, 0x70($s1) +.L802419DC: +/* D8EC2C 802419DC AE200070 */ sw $zero, 0x70($s1) +.L802419E0: +/* D8EC30 802419E0 8FBF0018 */ lw $ra, 0x18($sp) +/* D8EC34 802419E4 8FB10014 */ lw $s1, 0x14($sp) +/* D8EC38 802419E8 8FB00010 */ lw $s0, 0x10($sp) +/* D8EC3C 802419EC 03E00008 */ jr $ra +/* D8EC40 802419F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802419F4_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802419F4_D8D250.s new file mode 100644 index 0000000000..f22765049a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802419F4_D8D250.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419F4_D8EC44 +/* D8EC44 802419F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8EC48 802419F8 AFB10014 */ sw $s1, 0x14($sp) +/* D8EC4C 802419FC 0080882D */ daddu $s1, $a0, $zero +/* D8EC50 80241A00 AFBF001C */ sw $ra, 0x1c($sp) +/* D8EC54 80241A04 AFB20018 */ sw $s2, 0x18($sp) +/* D8EC58 80241A08 AFB00010 */ sw $s0, 0x10($sp) +/* D8EC5C 80241A0C 8E300148 */ lw $s0, 0x148($s1) +/* D8EC60 80241A10 86040008 */ lh $a0, 8($s0) +/* D8EC64 80241A14 0C00EABB */ jal get_npc_unsafe +/* D8EC68 80241A18 00A0902D */ daddu $s2, $a1, $zero +/* D8EC6C 80241A1C 8E0300D0 */ lw $v1, 0xd0($s0) +/* D8EC70 80241A20 8E240078 */ lw $a0, 0x78($s1) +/* D8EC74 80241A24 8C630000 */ lw $v1, ($v1) +/* D8EC78 80241A28 0083182A */ slt $v1, $a0, $v1 +/* D8EC7C 80241A2C 10600013 */ beqz $v1, .L80241A7C +/* D8EC80 80241A30 0040302D */ daddu $a2, $v0, $zero +/* D8EC84 80241A34 00041040 */ sll $v0, $a0, 1 +/* D8EC88 80241A38 00441021 */ addu $v0, $v0, $a0 +/* D8EC8C 80241A3C 00022880 */ sll $a1, $v0, 2 +.L80241A40: +/* D8EC90 80241A40 8E0300D0 */ lw $v1, 0xd0($s0) +/* D8EC94 80241A44 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* D8EC98 80241A48 00A31021 */ addu $v0, $a1, $v1 +/* D8EC9C 80241A4C C4400008 */ lwc1 $f0, 8($v0) +/* D8ECA0 80241A50 46800020 */ cvt.s.w $f0, $f0 +/* D8ECA4 80241A54 4602003E */ c.le.s $f0, $f2 +/* D8ECA8 80241A58 00000000 */ nop +/* D8ECAC 80241A5C 45020003 */ bc1fl .L80241A6C +/* D8ECB0 80241A60 24840001 */ addiu $a0, $a0, 1 +/* D8ECB4 80241A64 0809069F */ j .L80241A7C +/* D8ECB8 80241A68 AE240078 */ sw $a0, 0x78($s1) +.L80241A6C: +/* D8ECBC 80241A6C 8C620000 */ lw $v0, ($v1) +/* D8ECC0 80241A70 0082102A */ slt $v0, $a0, $v0 +/* D8ECC4 80241A74 1440FFF2 */ bnez $v0, .L80241A40 +/* D8ECC8 80241A78 24A5000C */ addiu $a1, $a1, 0xc +.L80241A7C: +/* D8ECCC 80241A7C C6400000 */ lwc1 $f0, ($s2) +/* D8ECD0 80241A80 E4C00018 */ swc1 $f0, 0x18($a2) +/* D8ECD4 80241A84 8E0200CC */ lw $v0, 0xcc($s0) +/* D8ECD8 80241A88 8C420004 */ lw $v0, 4($v0) +/* D8ECDC 80241A8C ACC20028 */ sw $v0, 0x28($a2) +/* D8ECE0 80241A90 24020001 */ addiu $v0, $zero, 1 +/* D8ECE4 80241A94 AE200074 */ sw $zero, 0x74($s1) +/* D8ECE8 80241A98 AE220070 */ sw $v0, 0x70($s1) +/* D8ECEC 80241A9C 8FBF001C */ lw $ra, 0x1c($sp) +/* D8ECF0 80241AA0 8FB20018 */ lw $s2, 0x18($sp) +/* D8ECF4 80241AA4 8FB10014 */ lw $s1, 0x14($sp) +/* D8ECF8 80241AA8 8FB00010 */ lw $s0, 0x10($sp) +/* D8ECFC 80241AAC 03E00008 */ jr $ra +/* D8ED00 80241AB0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241AB4_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241AB4_D8D250.s new file mode 100644 index 0000000000..0caa47e06a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241AB4_D8D250.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AB4_D8ED04 +/* D8ED04 80241AB4 27BDFF98 */ addiu $sp, $sp, -0x68 +/* D8ED08 80241AB8 AFB40058 */ sw $s4, 0x58($sp) +/* D8ED0C 80241ABC 0080A02D */ daddu $s4, $a0, $zero +/* D8ED10 80241AC0 AFBF0060 */ sw $ra, 0x60($sp) +/* D8ED14 80241AC4 AFB5005C */ sw $s5, 0x5c($sp) +/* D8ED18 80241AC8 AFB30054 */ sw $s3, 0x54($sp) +/* D8ED1C 80241ACC AFB20050 */ sw $s2, 0x50($sp) +/* D8ED20 80241AD0 AFB1004C */ sw $s1, 0x4c($sp) +/* D8ED24 80241AD4 AFB00048 */ sw $s0, 0x48($sp) +/* D8ED28 80241AD8 8E910148 */ lw $s1, 0x148($s4) +/* D8ED2C 80241ADC 86240008 */ lh $a0, 8($s1) +/* D8ED30 80241AE0 0C00EABB */ jal get_npc_unsafe +/* D8ED34 80241AE4 00A0802D */ daddu $s0, $a1, $zero +/* D8ED38 80241AE8 8E83000C */ lw $v1, 0xc($s4) +/* D8ED3C 80241AEC 0280202D */ daddu $a0, $s4, $zero +/* D8ED40 80241AF0 8C650000 */ lw $a1, ($v1) +/* D8ED44 80241AF4 0C0B1EAF */ jal get_variable +/* D8ED48 80241AF8 0040902D */ daddu $s2, $v0, $zero +/* D8ED4C 80241AFC AFA00018 */ sw $zero, 0x18($sp) +/* D8ED50 80241B00 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8ED54 80241B04 8C630094 */ lw $v1, 0x94($v1) +/* D8ED58 80241B08 AFA3001C */ sw $v1, 0x1c($sp) +/* D8ED5C 80241B0C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8ED60 80241B10 8C630080 */ lw $v1, 0x80($v1) +/* D8ED64 80241B14 AFA30020 */ sw $v1, 0x20($sp) +/* D8ED68 80241B18 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8ED6C 80241B1C 8C630088 */ lw $v1, 0x88($v1) +/* D8ED70 80241B20 AFA30024 */ sw $v1, 0x24($sp) +/* D8ED74 80241B24 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8ED78 80241B28 8C63008C */ lw $v1, 0x8c($v1) +/* D8ED7C 80241B2C 27B50018 */ addiu $s5, $sp, 0x18 +/* D8ED80 80241B30 AFA30028 */ sw $v1, 0x28($sp) +/* D8ED84 80241B34 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8ED88 80241B38 3C014282 */ lui $at, 0x4282 +/* D8ED8C 80241B3C 44810000 */ mtc1 $at, $f0 +/* D8ED90 80241B40 8C630090 */ lw $v1, 0x90($v1) +/* D8ED94 80241B44 0040982D */ daddu $s3, $v0, $zero +/* D8ED98 80241B48 E7A00030 */ swc1 $f0, 0x30($sp) +/* D8ED9C 80241B4C A7A00034 */ sh $zero, 0x34($sp) +/* D8EDA0 80241B50 16000005 */ bnez $s0, .L80241B68 +/* D8EDA4 80241B54 AFA3002C */ sw $v1, 0x2c($sp) +/* D8EDA8 80241B58 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8EDAC 80241B5C 30420004 */ andi $v0, $v0, 4 +/* D8EDB0 80241B60 10400044 */ beqz $v0, .L80241C74 +/* D8EDB4 80241B64 00000000 */ nop +.L80241B68: +/* D8EDB8 80241B68 2404F7FF */ addiu $a0, $zero, -0x801 +/* D8EDBC 80241B6C AE800070 */ sw $zero, 0x70($s4) +/* D8EDC0 80241B70 A640008E */ sh $zero, 0x8e($s2) +/* D8EDC4 80241B74 8E2200CC */ lw $v0, 0xcc($s1) +/* D8EDC8 80241B78 8E430000 */ lw $v1, ($s2) +/* D8EDCC 80241B7C 8C420000 */ lw $v0, ($v0) +/* D8EDD0 80241B80 00641824 */ and $v1, $v1, $a0 +/* D8EDD4 80241B84 AE430000 */ sw $v1, ($s2) +/* D8EDD8 80241B88 AE420028 */ sw $v0, 0x28($s2) +/* D8EDDC 80241B8C 8E2200D0 */ lw $v0, 0xd0($s1) +/* D8EDE0 80241B90 8C420098 */ lw $v0, 0x98($v0) +/* D8EDE4 80241B94 54400005 */ bnel $v0, $zero, .L80241BAC +/* D8EDE8 80241B98 2402FDFF */ addiu $v0, $zero, -0x201 +/* D8EDEC 80241B9C 34620200 */ ori $v0, $v1, 0x200 +/* D8EDF0 80241BA0 2403FFF7 */ addiu $v1, $zero, -9 +/* D8EDF4 80241BA4 080906ED */ j .L80241BB4 +/* D8EDF8 80241BA8 00431024 */ and $v0, $v0, $v1 +.L80241BAC: +/* D8EDFC 80241BAC 00621024 */ and $v0, $v1, $v0 +/* D8EE00 80241BB0 34420008 */ ori $v0, $v0, 8 +.L80241BB4: +/* D8EE04 80241BB4 AE420000 */ sw $v0, ($s2) +/* D8EE08 80241BB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8EE0C 80241BBC 30420004 */ andi $v0, $v0, 4 +/* D8EE10 80241BC0 10400008 */ beqz $v0, .L80241BE4 +/* D8EE14 80241BC4 24020063 */ addiu $v0, $zero, 0x63 +/* D8EE18 80241BC8 AE820070 */ sw $v0, 0x70($s4) +/* D8EE1C 80241BCC AE800074 */ sw $zero, 0x74($s4) +/* D8EE20 80241BD0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8EE24 80241BD4 2403FFFB */ addiu $v1, $zero, -5 +/* D8EE28 80241BD8 00431024 */ and $v0, $v0, $v1 +/* D8EE2C 80241BDC 08090704 */ j .L80241C10 +/* D8EE30 80241BE0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241BE4: +/* D8EE34 80241BE4 8E220000 */ lw $v0, ($s1) +/* D8EE38 80241BE8 3C034000 */ lui $v1, 0x4000 +/* D8EE3C 80241BEC 00431024 */ and $v0, $v0, $v1 +/* D8EE40 80241BF0 10400007 */ beqz $v0, .L80241C10 +/* D8EE44 80241BF4 3C03BFFF */ lui $v1, 0xbfff +/* D8EE48 80241BF8 2402000C */ addiu $v0, $zero, 0xc +/* D8EE4C 80241BFC AE820070 */ sw $v0, 0x70($s4) +/* D8EE50 80241C00 8E220000 */ lw $v0, ($s1) +/* D8EE54 80241C04 3463FFFF */ ori $v1, $v1, 0xffff +/* D8EE58 80241C08 00431024 */ and $v0, $v0, $v1 +/* D8EE5C 80241C0C AE220000 */ sw $v0, ($s1) +.L80241C10: +/* D8EE60 80241C10 27A50038 */ addiu $a1, $sp, 0x38 +/* D8EE64 80241C14 27A6003C */ addiu $a2, $sp, 0x3c +/* D8EE68 80241C18 C6400038 */ lwc1 $f0, 0x38($s2) +/* D8EE6C 80241C1C 864200A8 */ lh $v0, 0xa8($s2) +/* D8EE70 80241C20 3C0142C8 */ lui $at, 0x42c8 +/* D8EE74 80241C24 44812000 */ mtc1 $at, $f4 +/* D8EE78 80241C28 44823000 */ mtc1 $v0, $f6 +/* D8EE7C 80241C2C 00000000 */ nop +/* D8EE80 80241C30 468031A0 */ cvt.s.w $f6, $f6 +/* D8EE84 80241C34 27A20044 */ addiu $v0, $sp, 0x44 +/* D8EE88 80241C38 E7A00038 */ swc1 $f0, 0x38($sp) +/* D8EE8C 80241C3C C640003C */ lwc1 $f0, 0x3c($s2) +/* D8EE90 80241C40 C6420040 */ lwc1 $f2, 0x40($s2) +/* D8EE94 80241C44 46060000 */ add.s $f0, $f0, $f6 +/* D8EE98 80241C48 E7A40044 */ swc1 $f4, 0x44($sp) +/* D8EE9C 80241C4C E7A20040 */ swc1 $f2, 0x40($sp) +/* D8EEA0 80241C50 E7A0003C */ swc1 $f0, 0x3c($sp) +/* D8EEA4 80241C54 AFA20010 */ sw $v0, 0x10($sp) +/* D8EEA8 80241C58 8E440080 */ lw $a0, 0x80($s2) +/* D8EEAC 80241C5C 0C0372DF */ jal func_800DCB7C +/* D8EEB0 80241C60 27A70040 */ addiu $a3, $sp, 0x40 +/* D8EEB4 80241C64 10400003 */ beqz $v0, .L80241C74 +/* D8EEB8 80241C68 00000000 */ nop +/* D8EEBC 80241C6C C7A0003C */ lwc1 $f0, 0x3c($sp) +/* D8EEC0 80241C70 E640003C */ swc1 $f0, 0x3c($s2) +.L80241C74: +/* D8EEC4 80241C74 8E830070 */ lw $v1, 0x70($s4) +/* D8EEC8 80241C78 2C620064 */ sltiu $v0, $v1, 0x64 +/* D8EECC 80241C7C 10400042 */ beqz $v0, .L80241D88 +/* D8EED0 80241C80 00031080 */ sll $v0, $v1, 2 +/* D8EED4 80241C84 3C018024 */ lui $at, 0x8024 +/* D8EED8 80241C88 00220821 */ addu $at, $at, $v0 +/* D8EEDC 80241C8C 8C223FF0 */ lw $v0, 0x3ff0($at) +/* D8EEE0 80241C90 00400008 */ jr $v0 +/* D8EEE4 80241C94 00000000 */ nop +/* D8EEE8 80241C98 0280202D */ daddu $a0, $s4, $zero +/* D8EEEC 80241C9C 0260282D */ daddu $a1, $s3, $zero +/* D8EEF0 80241CA0 0C0903C8 */ jal func_80240F20 +/* D8EEF4 80241CA4 02A0302D */ daddu $a2, $s5, $zero +/* D8EEF8 80241CA8 0280202D */ daddu $a0, $s4, $zero +/* D8EEFC 80241CAC 0260282D */ daddu $a1, $s3, $zero +/* D8EF00 80241CB0 0C09041E */ jal func_80241078 +/* D8EF04 80241CB4 02A0302D */ daddu $a2, $s5, $zero +/* D8EF08 80241CB8 08090762 */ j .L80241D88 +/* D8EF0C 80241CBC 00000000 */ nop +/* D8EF10 80241CC0 0280202D */ daddu $a0, $s4, $zero +/* D8EF14 80241CC4 0260282D */ daddu $a1, $s3, $zero +/* D8EF18 80241CC8 0C0904C8 */ jal func_80241320 +/* D8EF1C 80241CCC 02A0302D */ daddu $a2, $s5, $zero +/* D8EF20 80241CD0 0280202D */ daddu $a0, $s4, $zero +/* D8EF24 80241CD4 0260282D */ daddu $a1, $s3, $zero +/* D8EF28 80241CD8 0C0904F8 */ jal func_802413E0 +/* D8EF2C 80241CDC 02A0302D */ daddu $a2, $s5, $zero +/* D8EF30 80241CE0 08090762 */ j .L80241D88 +/* D8EF34 80241CE4 00000000 */ nop +/* D8EF38 80241CE8 0280202D */ daddu $a0, $s4, $zero +/* D8EF3C 80241CEC 0260282D */ daddu $a1, $s3, $zero +/* D8EF40 80241CF0 0C090567 */ jal func_8024159C +/* D8EF44 80241CF4 02A0302D */ daddu $a2, $s5, $zero +/* D8EF48 80241CF8 08090762 */ j .L80241D88 +/* D8EF4C 80241CFC 00000000 */ nop +/* D8EF50 80241D00 0280202D */ daddu $a0, $s4, $zero +/* D8EF54 80241D04 0260282D */ daddu $a1, $s3, $zero +/* D8EF58 80241D08 0C090594 */ jal func_80241650 +/* D8EF5C 80241D0C 02A0302D */ daddu $a2, $s5, $zero +/* D8EF60 80241D10 0280202D */ daddu $a0, $s4, $zero +/* D8EF64 80241D14 0260282D */ daddu $a1, $s3, $zero +/* D8EF68 80241D18 0C0905B1 */ jal func_802416C4 +/* D8EF6C 80241D1C 02A0302D */ daddu $a2, $s5, $zero +/* D8EF70 80241D20 08090762 */ j .L80241D88 +/* D8EF74 80241D24 00000000 */ nop +/* D8EF78 80241D28 0280202D */ daddu $a0, $s4, $zero +/* D8EF7C 80241D2C 0260282D */ daddu $a1, $s3, $zero +/* D8EF80 80241D30 0C0905CF */ jal func_8024173C +/* D8EF84 80241D34 02A0302D */ daddu $a2, $s5, $zero +/* D8EF88 80241D38 0280202D */ daddu $a0, $s4, $zero +/* D8EF8C 80241D3C 0260282D */ daddu $a1, $s3, $zero +/* D8EF90 80241D40 0C09061B */ jal func_8024186C +/* D8EF94 80241D44 02A0302D */ daddu $a2, $s5, $zero +/* D8EF98 80241D48 08090762 */ j .L80241D88 +/* D8EF9C 80241D4C 00000000 */ nop +/* D8EFA0 80241D50 0280202D */ daddu $a0, $s4, $zero +/* D8EFA4 80241D54 0260282D */ daddu $a1, $s3, $zero +/* D8EFA8 80241D58 0C090663 */ jal func_8024198C +/* D8EFAC 80241D5C 02A0302D */ daddu $a2, $s5, $zero +/* D8EFB0 80241D60 08090762 */ j .L80241D88 +/* D8EFB4 80241D64 00000000 */ nop +/* D8EFB8 80241D68 0280202D */ daddu $a0, $s4, $zero +/* D8EFBC 80241D6C 0260282D */ daddu $a1, $s3, $zero +/* D8EFC0 80241D70 0C09067D */ jal func_802419F4 +/* D8EFC4 80241D74 02A0302D */ daddu $a2, $s5, $zero +/* D8EFC8 80241D78 08090762 */ j .L80241D88 +/* D8EFCC 80241D7C 00000000 */ nop +/* D8EFD0 80241D80 0C0129CF */ jal func_8004A73C +/* D8EFD4 80241D84 0280202D */ daddu $a0, $s4, $zero +.L80241D88: +/* D8EFD8 80241D88 8FBF0060 */ lw $ra, 0x60($sp) +/* D8EFDC 80241D8C 8FB5005C */ lw $s5, 0x5c($sp) +/* D8EFE0 80241D90 8FB40058 */ lw $s4, 0x58($sp) +/* D8EFE4 80241D94 8FB30054 */ lw $s3, 0x54($sp) +/* D8EFE8 80241D98 8FB20050 */ lw $s2, 0x50($sp) +/* D8EFEC 80241D9C 8FB1004C */ lw $s1, 0x4c($sp) +/* D8EFF0 80241DA0 8FB00048 */ lw $s0, 0x48($sp) +/* D8EFF4 80241DA4 0000102D */ daddu $v0, $zero, $zero +/* D8EFF8 80241DA8 03E00008 */ jr $ra +/* D8EFFC 80241DAC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241DB0.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241DB0.s new file mode 100644 index 0000000000..2205188698 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241DB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DB0 +/* D8F000 80241DB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8F004 80241DB4 AFB10014 */ sw $s1, 0x14($sp) +/* D8F008 80241DB8 0080882D */ daddu $s1, $a0, $zero +/* D8F00C 80241DBC AFBF0018 */ sw $ra, 0x18($sp) +/* D8F010 80241DC0 AFB00010 */ sw $s0, 0x10($sp) +/* D8F014 80241DC4 8E300148 */ lw $s0, 0x148($s1) +/* D8F018 80241DC8 0C00EABB */ jal get_npc_unsafe +/* D8F01C 80241DCC 86040008 */ lh $a0, 8($s0) +/* D8F020 80241DD0 24030001 */ addiu $v1, $zero, 1 +/* D8F024 80241DD4 0040202D */ daddu $a0, $v0, $zero +/* D8F028 80241DD8 AE03006C */ sw $v1, 0x6c($s0) +/* D8F02C 80241DDC 8482008C */ lh $v0, 0x8c($a0) +/* D8F030 80241DE0 14400009 */ bnez $v0, .L80241E08 +/* D8F034 80241DE4 24020002 */ addiu $v0, $zero, 2 +/* D8F038 80241DE8 96030072 */ lhu $v1, 0x72($s0) +/* D8F03C 80241DEC AE02006C */ sw $v0, 0x6c($s0) +/* D8F040 80241DF0 A483008E */ sh $v1, 0x8e($a0) +/* D8F044 80241DF4 8E0200CC */ lw $v0, 0xcc($s0) +/* D8F048 80241DF8 8C420020 */ lw $v0, 0x20($v0) +/* D8F04C 80241DFC AC820028 */ sw $v0, 0x28($a0) +/* D8F050 80241E00 2402001F */ addiu $v0, $zero, 0x1f +/* D8F054 80241E04 AE220070 */ sw $v0, 0x70($s1) +.L80241E08: +/* D8F058 80241E08 8FBF0018 */ lw $ra, 0x18($sp) +/* D8F05C 80241E0C 8FB10014 */ lw $s1, 0x14($sp) +/* D8F060 80241E10 8FB00010 */ lw $s0, 0x10($sp) +/* D8F064 80241E14 03E00008 */ jr $ra +/* D8F068 80241E18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241E1C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241E1C_D8D250.s new file mode 100644 index 0000000000..130c95ae9e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241E1C_D8D250.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E1C_D8F06C +/* D8F06C 80241E1C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8F070 80241E20 AFB10014 */ sw $s1, 0x14($sp) +/* D8F074 80241E24 0080882D */ daddu $s1, $a0, $zero +/* D8F078 80241E28 AFBF0018 */ sw $ra, 0x18($sp) +/* D8F07C 80241E2C AFB00010 */ sw $s0, 0x10($sp) +/* D8F080 80241E30 8E300148 */ lw $s0, 0x148($s1) +/* D8F084 80241E34 0C00EABB */ jal get_npc_unsafe +/* D8F088 80241E38 86040008 */ lh $a0, 8($s0) +/* D8F08C 80241E3C 0040202D */ daddu $a0, $v0, $zero +/* D8F090 80241E40 9482008E */ lhu $v0, 0x8e($a0) +/* D8F094 80241E44 2442FFFF */ addiu $v0, $v0, -1 +/* D8F098 80241E48 A482008E */ sh $v0, 0x8e($a0) +/* D8F09C 80241E4C 00021400 */ sll $v0, $v0, 0x10 +/* D8F0A0 80241E50 1C400009 */ bgtz $v0, .L80241E78 +/* D8F0A4 80241E54 24020003 */ addiu $v0, $zero, 3 +/* D8F0A8 80241E58 96030076 */ lhu $v1, 0x76($s0) +/* D8F0AC 80241E5C AE02006C */ sw $v0, 0x6c($s0) +/* D8F0B0 80241E60 A483008E */ sh $v1, 0x8e($a0) +/* D8F0B4 80241E64 8E0200CC */ lw $v0, 0xcc($s0) +/* D8F0B8 80241E68 8C420024 */ lw $v0, 0x24($v0) +/* D8F0BC 80241E6C AC820028 */ sw $v0, 0x28($a0) +/* D8F0C0 80241E70 24020020 */ addiu $v0, $zero, 0x20 +/* D8F0C4 80241E74 AE220070 */ sw $v0, 0x70($s1) +.L80241E78: +/* D8F0C8 80241E78 8FBF0018 */ lw $ra, 0x18($sp) +/* D8F0CC 80241E7C 8FB10014 */ lw $s1, 0x14($sp) +/* D8F0D0 80241E80 8FB00010 */ lw $s0, 0x10($sp) +/* D8F0D4 80241E84 03E00008 */ jr $ra +/* D8F0D8 80241E88 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241E8C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241E8C_D8D250.s new file mode 100644 index 0000000000..64766a8fe7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241E8C_D8D250.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E8C_D8F0DC +/* D8F0DC 80241E8C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D8F0E0 80241E90 AFB10034 */ sw $s1, 0x34($sp) +/* D8F0E4 80241E94 0080882D */ daddu $s1, $a0, $zero +/* D8F0E8 80241E98 AFBF0038 */ sw $ra, 0x38($sp) +/* D8F0EC 80241E9C AFB00030 */ sw $s0, 0x30($sp) +/* D8F0F0 80241EA0 8E300148 */ lw $s0, 0x148($s1) +/* D8F0F4 80241EA4 0C00EABB */ jal get_npc_unsafe +/* D8F0F8 80241EA8 86040008 */ lh $a0, 8($s0) +/* D8F0FC 80241EAC 0040282D */ daddu $a1, $v0, $zero +/* D8F100 80241EB0 94A2008E */ lhu $v0, 0x8e($a1) +/* D8F104 80241EB4 2442FFFF */ addiu $v0, $v0, -1 +/* D8F108 80241EB8 A4A2008E */ sh $v0, 0x8e($a1) +/* D8F10C 80241EBC 00021400 */ sll $v0, $v0, 0x10 +/* D8F110 80241EC0 1C400023 */ bgtz $v0, .L80241F50 +/* D8F114 80241EC4 24020004 */ addiu $v0, $zero, 4 +/* D8F118 80241EC8 8E0300CC */ lw $v1, 0xcc($s0) +/* D8F11C 80241ECC AE02006C */ sw $v0, 0x6c($s0) +/* D8F120 80241ED0 8C620000 */ lw $v0, ($v1) +/* D8F124 80241ED4 ACA20028 */ sw $v0, 0x28($a1) +/* D8F128 80241ED8 9602007A */ lhu $v0, 0x7a($s0) +/* D8F12C 80241EDC A4A2008E */ sh $v0, 0x8e($a1) +/* D8F130 80241EE0 8E020078 */ lw $v0, 0x78($s0) +/* D8F134 80241EE4 28420008 */ slti $v0, $v0, 8 +/* D8F138 80241EE8 14400018 */ bnez $v0, .L80241F4C +/* D8F13C 80241EEC 24020021 */ addiu $v0, $zero, 0x21 +/* D8F140 80241EF0 24040003 */ addiu $a0, $zero, 3 +/* D8F144 80241EF4 27A30028 */ addiu $v1, $sp, 0x28 +/* D8F148 80241EF8 84A700A8 */ lh $a3, 0xa8($a1) +/* D8F14C 80241EFC 3C013F80 */ lui $at, 0x3f80 +/* D8F150 80241F00 44810000 */ mtc1 $at, $f0 +/* D8F154 80241F04 3C014000 */ lui $at, 0x4000 +/* D8F158 80241F08 44811000 */ mtc1 $at, $f2 +/* D8F15C 80241F0C 3C01C1A0 */ lui $at, 0xc1a0 +/* D8F160 80241F10 44812000 */ mtc1 $at, $f4 +/* D8F164 80241F14 44873000 */ mtc1 $a3, $f6 +/* D8F168 80241F18 00000000 */ nop +/* D8F16C 80241F1C 468031A0 */ cvt.s.w $f6, $f6 +/* D8F170 80241F20 E7A00010 */ swc1 $f0, 0x10($sp) +/* D8F174 80241F24 E7A20014 */ swc1 $f2, 0x14($sp) +/* D8F178 80241F28 E7A40018 */ swc1 $f4, 0x18($sp) +/* D8F17C 80241F2C 8E020078 */ lw $v0, 0x78($s0) +/* D8F180 80241F30 44073000 */ mfc1 $a3, $f6 +/* D8F184 80241F34 0000302D */ daddu $a2, $zero, $zero +/* D8F188 80241F38 AFA30020 */ sw $v1, 0x20($sp) +/* D8F18C 80241F3C 2442FFFF */ addiu $v0, $v0, -1 +/* D8F190 80241F40 0C01BFA4 */ jal fx_emote +/* D8F194 80241F44 AFA2001C */ sw $v0, 0x1c($sp) +/* D8F198 80241F48 24020021 */ addiu $v0, $zero, 0x21 +.L80241F4C: +/* D8F19C 80241F4C AE220070 */ sw $v0, 0x70($s1) +.L80241F50: +/* D8F1A0 80241F50 8FBF0038 */ lw $ra, 0x38($sp) +/* D8F1A4 80241F54 8FB10034 */ lw $s1, 0x34($sp) +/* D8F1A8 80241F58 8FB00030 */ lw $s0, 0x30($sp) +/* D8F1AC 80241F5C 03E00008 */ jr $ra +/* D8F1B0 80241F60 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241F64.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241F64.s new file mode 100644 index 0000000000..e176d7a488 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241F64.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F64 +/* D8F1B4 80241F64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8F1B8 80241F68 AFB10014 */ sw $s1, 0x14($sp) +/* D8F1BC 80241F6C 0080882D */ daddu $s1, $a0, $zero +/* D8F1C0 80241F70 AFBF0018 */ sw $ra, 0x18($sp) +/* D8F1C4 80241F74 AFB00010 */ sw $s0, 0x10($sp) +/* D8F1C8 80241F78 8E300148 */ lw $s0, 0x148($s1) +/* D8F1CC 80241F7C 0C00EABB */ jal get_npc_unsafe +/* D8F1D0 80241F80 86040008 */ lh $a0, 8($s0) +/* D8F1D4 80241F84 9443008E */ lhu $v1, 0x8e($v0) +/* D8F1D8 80241F88 2463FFFF */ addiu $v1, $v1, -1 +/* D8F1DC 80241F8C A443008E */ sh $v1, 0x8e($v0) +/* D8F1E0 80241F90 00031C00 */ sll $v1, $v1, 0x10 +/* D8F1E4 80241F94 1C600003 */ bgtz $v1, .L80241FA4 +/* D8F1E8 80241F98 2402000C */ addiu $v0, $zero, 0xc +/* D8F1EC 80241F9C AE00006C */ sw $zero, 0x6c($s0) +/* D8F1F0 80241FA0 AE220070 */ sw $v0, 0x70($s1) +.L80241FA4: +/* D8F1F4 80241FA4 8FBF0018 */ lw $ra, 0x18($sp) +/* D8F1F8 80241FA8 8FB10014 */ lw $s1, 0x14($sp) +/* D8F1FC 80241FAC 8FB00010 */ lw $s0, 0x10($sp) +/* D8F200 80241FB0 03E00008 */ jr $ra +/* D8F204 80241FB4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80241FB8.s b/asm/nonmatchings/world/area_pra/pra_35/func_80241FB8.s new file mode 100644 index 0000000000..4b82fb3197 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80241FB8.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FB8 +/* D8F208 80241FB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D8F20C 80241FBC AFBF0024 */ sw $ra, 0x24($sp) +/* D8F210 80241FC0 AFB40020 */ sw $s4, 0x20($sp) +/* D8F214 80241FC4 AFB3001C */ sw $s3, 0x1c($sp) +/* D8F218 80241FC8 AFB20018 */ sw $s2, 0x18($sp) +/* D8F21C 80241FCC AFB10014 */ sw $s1, 0x14($sp) +/* D8F220 80241FD0 AFB00010 */ sw $s0, 0x10($sp) +/* D8F224 80241FD4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D8F228 80241FD8 8C900148 */ lw $s0, 0x148($a0) +/* D8F22C 80241FDC 86040008 */ lh $a0, 8($s0) +/* D8F230 80241FE0 0C00EABB */ jal get_npc_unsafe +/* D8F234 80241FE4 24110001 */ addiu $s1, $zero, 1 +/* D8F238 80241FE8 86040008 */ lh $a0, 8($s0) +/* D8F23C 80241FEC 0040802D */ daddu $s0, $v0, $zero +/* D8F240 80241FF0 3C05800B */ lui $a1, %hi(gCameras) +/* D8F244 80241FF4 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D8F248 80241FF8 3C03800A */ lui $v1, 0x800a +/* D8F24C 80241FFC 8463A634 */ lh $v1, -0x59cc($v1) +/* D8F250 80242000 00912021 */ addu $a0, $a0, $s1 +/* D8F254 80242004 00031080 */ sll $v0, $v1, 2 +/* D8F258 80242008 00431021 */ addu $v0, $v0, $v1 +/* D8F25C 8024200C 00021080 */ sll $v0, $v0, 2 +/* D8F260 80242010 00431023 */ subu $v0, $v0, $v1 +/* D8F264 80242014 000218C0 */ sll $v1, $v0, 3 +/* D8F268 80242018 00431021 */ addu $v0, $v0, $v1 +/* D8F26C 8024201C 000210C0 */ sll $v0, $v0, 3 +/* D8F270 80242020 0C00FB3A */ jal get_enemy +/* D8F274 80242024 00459021 */ addu $s2, $v0, $a1 +/* D8F278 80242028 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D8F27C 8024202C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D8F280 80242030 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D8F284 80242034 8E830000 */ lw $v1, ($s4) +/* D8F288 80242038 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D8F28C 8024203C 8C660028 */ lw $a2, 0x28($v1) +/* D8F290 80242040 8C670030 */ lw $a3, 0x30($v1) +/* D8F294 80242044 0C00A7B5 */ jal dist2D +/* D8F298 80242048 0040982D */ daddu $s3, $v0, $zero +/* D8F29C 8024204C C6620074 */ lwc1 $f2, 0x74($s3) +/* D8F2A0 80242050 468010A0 */ cvt.s.w $f2, $f2 +/* D8F2A4 80242054 4600103C */ c.lt.s $f2, $f0 +/* D8F2A8 80242058 00000000 */ nop +/* D8F2AC 8024205C 45030001 */ bc1tl .L80242064 +/* D8F2B0 80242060 0000882D */ daddu $s1, $zero, $zero +.L80242064: +/* D8F2B4 80242064 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D8F2B8 80242068 C60E000C */ lwc1 $f14, 0xc($s0) +/* D8F2BC 8024206C 3C014387 */ lui $at, 0x4387 +/* D8F2C0 80242070 4481A000 */ mtc1 $at, $f20 +/* D8F2C4 80242074 0C00A70A */ jal get_clamped_angle_diff +/* D8F2C8 80242078 00000000 */ nop +/* D8F2CC 8024207C 0C00A6C9 */ jal clamp_angle +/* D8F2D0 80242080 46000306 */ mov.s $f12, $f0 +/* D8F2D4 80242084 3C018024 */ lui $at, 0x8024 +/* D8F2D8 80242088 D4224180 */ ldc1 $f2, 0x4180($at) +/* D8F2DC 8024208C 46000021 */ cvt.d.s $f0, $f0 +/* D8F2E0 80242090 4622003C */ c.lt.d $f0, $f2 +/* D8F2E4 80242094 00000000 */ nop +/* D8F2E8 80242098 45000003 */ bc1f .L802420A8 +/* D8F2EC 8024209C 00000000 */ nop +/* D8F2F0 802420A0 3C0142B4 */ lui $at, 0x42b4 +/* D8F2F4 802420A4 4481A000 */ mtc1 $at, $f20 +.L802420A8: +/* D8F2F8 802420A8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D8F2FC 802420AC 8E820000 */ lw $v0, ($s4) +/* D8F300 802420B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D8F304 802420B4 8C460028 */ lw $a2, 0x28($v0) +/* D8F308 802420B8 0C00A720 */ jal atan2 +/* D8F30C 802420BC 8C470030 */ lw $a3, 0x30($v0) +/* D8F310 802420C0 4600A306 */ mov.s $f12, $f20 +/* D8F314 802420C4 0C00A70A */ jal get_clamped_angle_diff +/* D8F318 802420C8 46000386 */ mov.s $f14, $f0 +/* D8F31C 802420CC C6620078 */ lwc1 $f2, 0x78($s3) +/* D8F320 802420D0 468010A0 */ cvt.s.w $f2, $f2 +/* D8F324 802420D4 46000005 */ abs.s $f0, $f0 +/* D8F328 802420D8 4600103C */ c.lt.s $f2, $f0 +/* D8F32C 802420DC 00000000 */ nop +/* D8F330 802420E0 45030001 */ bc1tl .L802420E8 +/* D8F334 802420E4 0000882D */ daddu $s1, $zero, $zero +.L802420E8: +/* D8F338 802420E8 8E820000 */ lw $v0, ($s4) +/* D8F33C 802420EC C600003C */ lwc1 $f0, 0x3c($s0) +/* D8F340 802420F0 C442002C */ lwc1 $f2, 0x2c($v0) +/* D8F344 802420F4 860200A8 */ lh $v0, 0xa8($s0) +/* D8F348 802420F8 46020001 */ sub.s $f0, $f0, $f2 +/* D8F34C 802420FC 44821000 */ mtc1 $v0, $f2 +/* D8F350 80242100 00000000 */ nop +/* D8F354 80242104 468010A1 */ cvt.d.w $f2, $f2 +/* D8F358 80242108 46221080 */ add.d $f2, $f2, $f2 +/* D8F35C 8024210C 46000005 */ abs.s $f0, $f0 +/* D8F360 80242110 46000021 */ cvt.d.s $f0, $f0 +/* D8F364 80242114 4620103E */ c.le.d $f2, $f0 +/* D8F368 80242118 00000000 */ nop +/* D8F36C 8024211C 45030001 */ bc1tl .L80242124 +/* D8F370 80242120 0000882D */ daddu $s1, $zero, $zero +.L80242124: +/* D8F374 80242124 3C038011 */ lui $v1, 0x8011 +/* D8F378 80242128 8063EBB3 */ lb $v1, -0x144d($v1) +/* D8F37C 8024212C 24020009 */ addiu $v0, $zero, 9 +/* D8F380 80242130 50620001 */ beql $v1, $v0, .L80242138 +/* D8F384 80242134 0000882D */ daddu $s1, $zero, $zero +.L80242138: +/* D8F388 80242138 24020007 */ addiu $v0, $zero, 7 +/* D8F38C 8024213C 50620001 */ beql $v1, $v0, .L80242144 +/* D8F390 80242140 0000882D */ daddu $s1, $zero, $zero +.L80242144: +/* D8F394 80242144 0220102D */ daddu $v0, $s1, $zero +/* D8F398 80242148 8FBF0024 */ lw $ra, 0x24($sp) +/* D8F39C 8024214C 8FB40020 */ lw $s4, 0x20($sp) +/* D8F3A0 80242150 8FB3001C */ lw $s3, 0x1c($sp) +/* D8F3A4 80242154 8FB20018 */ lw $s2, 0x18($sp) +/* D8F3A8 80242158 8FB10014 */ lw $s1, 0x14($sp) +/* D8F3AC 8024215C 8FB00010 */ lw $s0, 0x10($sp) +/* D8F3B0 80242160 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D8F3B4 80242164 03E00008 */ jr $ra +/* D8F3B8 80242168 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_8024216C_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_8024216C_D8D250.s new file mode 100644 index 0000000000..35d2c3c879 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_8024216C_D8D250.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024216C_D8F3BC +/* D8F3BC 8024216C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D8F3C0 80242170 AFB40028 */ sw $s4, 0x28($sp) +/* D8F3C4 80242174 0080A02D */ daddu $s4, $a0, $zero +/* D8F3C8 80242178 AFBF002C */ sw $ra, 0x2c($sp) +/* D8F3CC 8024217C AFB30024 */ sw $s3, 0x24($sp) +/* D8F3D0 80242180 AFB20020 */ sw $s2, 0x20($sp) +/* D8F3D4 80242184 AFB1001C */ sw $s1, 0x1c($sp) +/* D8F3D8 80242188 AFB00018 */ sw $s0, 0x18($sp) +/* D8F3DC 8024218C 8E910148 */ lw $s1, 0x148($s4) +/* D8F3E0 80242190 86240008 */ lh $a0, 8($s1) +/* D8F3E4 80242194 0C00EABB */ jal get_npc_unsafe +/* D8F3E8 80242198 00A0802D */ daddu $s0, $a1, $zero +/* D8F3EC 8024219C 16000005 */ bnez $s0, .L802421B4 +/* D8F3F0 802421A0 0040902D */ daddu $s2, $v0, $zero +/* D8F3F4 802421A4 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F3F8 802421A8 30420004 */ andi $v0, $v0, 4 +/* D8F3FC 802421AC 10400015 */ beqz $v0, .L80242204 +/* D8F400 802421B0 00000000 */ nop +.L802421B4: +/* D8F404 802421B4 AE800070 */ sw $zero, 0x70($s4) +/* D8F408 802421B8 8E420000 */ lw $v0, ($s2) +/* D8F40C 802421BC 3C031F30 */ lui $v1, 0x1f30 +/* D8F410 802421C0 A640008E */ sh $zero, 0x8e($s2) +/* D8F414 802421C4 34420102 */ ori $v0, $v0, 0x102 +/* D8F418 802421C8 AE420000 */ sw $v0, ($s2) +/* D8F41C 802421CC 8E220000 */ lw $v0, ($s1) +/* D8F420 802421D0 3C01C47A */ lui $at, 0xc47a +/* D8F424 802421D4 44810000 */ mtc1 $at, $f0 +/* D8F428 802421D8 00431025 */ or $v0, $v0, $v1 +/* D8F42C 802421DC AE220000 */ sw $v0, ($s1) +/* D8F430 802421E0 AE400038 */ sw $zero, 0x38($s2) +/* D8F434 802421E4 E640003C */ swc1 $f0, 0x3c($s2) +/* D8F438 802421E8 AE400040 */ sw $zero, 0x40($s2) +/* D8F43C 802421EC 8E2300B0 */ lw $v1, 0xb0($s1) +/* D8F440 802421F0 30620004 */ andi $v0, $v1, 4 +/* D8F444 802421F4 10400003 */ beqz $v0, .L80242204 +/* D8F448 802421F8 2402FFFB */ addiu $v0, $zero, -5 +/* D8F44C 802421FC 00621024 */ and $v0, $v1, $v0 +/* D8F450 80242200 AE2200B0 */ sw $v0, 0xb0($s1) +.L80242204: +/* D8F454 80242204 8E930070 */ lw $s3, 0x70($s4) +/* D8F458 80242208 12600005 */ beqz $s3, .L80242220 +/* D8F45C 8024220C 24020001 */ addiu $v0, $zero, 1 +/* D8F460 80242210 12620048 */ beq $s3, $v0, .L80242334 +/* D8F464 80242214 00000000 */ nop +/* D8F468 80242218 080908EA */ j .L802423A8 +/* D8F46C 8024221C 00000000 */ nop +.L80242220: +/* D8F470 80242220 86240008 */ lh $a0, 8($s1) +/* D8F474 80242224 0C00FB3A */ jal get_enemy +/* D8F478 80242228 2484FFFF */ addiu $a0, $a0, -1 +/* D8F47C 8024222C 0040802D */ daddu $s0, $v0, $zero +/* D8F480 80242230 0C00EABB */ jal get_npc_unsafe +/* D8F484 80242234 86040008 */ lh $a0, 8($s0) +/* D8F488 80242238 24030001 */ addiu $v1, $zero, 1 +/* D8F48C 8024223C 0040982D */ daddu $s3, $v0, $zero +/* D8F490 80242240 A2230007 */ sb $v1, 7($s1) +/* D8F494 80242244 8E03006C */ lw $v1, 0x6c($s0) +/* D8F498 80242248 24020003 */ addiu $v0, $zero, 3 +/* D8F49C 8024224C 14620056 */ bne $v1, $v0, .L802423A8 +/* D8F4A0 80242250 00000000 */ nop +/* D8F4A4 80242254 8E2500A8 */ lw $a1, 0xa8($s1) +/* D8F4A8 80242258 10A00003 */ beqz $a1, .L80242268 +/* D8F4AC 8024225C 0260202D */ daddu $a0, $s3, $zero +/* D8F4B0 80242260 0C012530 */ jal func_800494C0 +/* D8F4B4 80242264 0000302D */ daddu $a2, $zero, $zero +.L80242268: +/* D8F4B8 80242268 27A40010 */ addiu $a0, $sp, 0x10 +/* D8F4BC 8024226C C6280070 */ lwc1 $f8, 0x70($s1) +/* D8F4C0 80242270 46804220 */ cvt.s.w $f8, $f8 +/* D8F4C4 80242274 C6620034 */ lwc1 $f2, 0x34($s3) +/* D8F4C8 80242278 3C014387 */ lui $at, 0x4387 +/* D8F4CC 8024227C 44810000 */ mtc1 $at, $f0 +/* D8F4D0 80242280 44064000 */ mfc1 $a2, $f8 +/* D8F4D4 80242284 46020001 */ sub.s $f0, $f0, $f2 +/* D8F4D8 80242288 C6660038 */ lwc1 $f6, 0x38($s3) +/* D8F4DC 8024228C C6640040 */ lwc1 $f4, 0x40($s3) +/* D8F4E0 80242290 44070000 */ mfc1 $a3, $f0 +/* D8F4E4 80242294 27A50014 */ addiu $a1, $sp, 0x14 +/* D8F4E8 80242298 E7A60010 */ swc1 $f6, 0x10($sp) +/* D8F4EC 8024229C 0C00A7E7 */ jal add_vec2D_polar +/* D8F4F0 802422A0 E7A40014 */ swc1 $f4, 0x14($sp) +/* D8F4F4 802422A4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D8F4F8 802422A8 4600020D */ trunc.w.s $f8, $f0 +/* D8F4FC 802422AC 44024000 */ mfc1 $v0, $f8 +/* D8F500 802422B0 E6400038 */ swc1 $f0, 0x38($s2) +/* D8F504 802422B4 A6220010 */ sh $v0, 0x10($s1) +/* D8F508 802422B8 C660003C */ lwc1 $f0, 0x3c($s3) +/* D8F50C 802422BC C622006C */ lwc1 $f2, 0x6c($s1) +/* D8F510 802422C0 468010A0 */ cvt.s.w $f2, $f2 +/* D8F514 802422C4 46020000 */ add.s $f0, $f0, $f2 +/* D8F518 802422C8 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D8F51C 802422CC 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D8F520 802422D0 E640003C */ swc1 $f0, 0x3c($s2) +/* D8F524 802422D4 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D8F528 802422D8 4600020D */ trunc.w.s $f8, $f0 +/* D8F52C 802422DC 44024000 */ mfc1 $v0, $f8 +/* D8F530 802422E0 00000000 */ nop +/* D8F534 802422E4 A6220012 */ sh $v0, 0x12($s1) +/* D8F538 802422E8 4600120D */ trunc.w.s $f8, $f2 +/* D8F53C 802422EC 44024000 */ mfc1 $v0, $f8 +/* D8F540 802422F0 E6420040 */ swc1 $f2, 0x40($s2) +/* D8F544 802422F4 A6220014 */ sh $v0, 0x14($s1) +/* D8F548 802422F8 8C660028 */ lw $a2, 0x28($v1) +/* D8F54C 802422FC 8C670030 */ lw $a3, 0x30($v1) +/* D8F550 80242300 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D8F554 80242304 0C00A720 */ jal atan2 +/* D8F558 80242308 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D8F55C 8024230C 3C03E0EF */ lui $v1, 0xe0ef +/* D8F560 80242310 E640000C */ swc1 $f0, 0xc($s2) +/* D8F564 80242314 8E220000 */ lw $v0, ($s1) +/* D8F568 80242318 3463FFFF */ ori $v1, $v1, 0xffff +/* D8F56C 8024231C 00431024 */ and $v0, $v0, $v1 +/* D8F570 80242320 AE220000 */ sw $v0, ($s1) +/* D8F574 80242324 24020001 */ addiu $v0, $zero, 1 +/* D8F578 80242328 A640008E */ sh $zero, 0x8e($s2) +/* D8F57C 8024232C 080908EA */ j .L802423A8 +/* D8F580 80242330 AE820070 */ sw $v0, 0x70($s4) +.L80242334: +/* D8F584 80242334 86240008 */ lh $a0, 8($s1) +/* D8F588 80242338 0C00FB3A */ jal get_enemy +/* D8F58C 8024233C 2484FFFF */ addiu $a0, $a0, -1 +/* D8F590 80242340 0040802D */ daddu $s0, $v0, $zero +/* D8F594 80242344 0C00EABB */ jal get_npc_unsafe +/* D8F598 80242348 86040008 */ lh $a0, 8($s0) +/* D8F59C 8024234C 9642008E */ lhu $v0, 0x8e($s2) +/* D8F5A0 80242350 24420001 */ addiu $v0, $v0, 1 +/* D8F5A4 80242354 A642008E */ sh $v0, 0x8e($s2) +/* D8F5A8 80242358 00021400 */ sll $v0, $v0, 0x10 +/* D8F5AC 8024235C 8E23007C */ lw $v1, 0x7c($s1) +/* D8F5B0 80242360 00021403 */ sra $v0, $v0, 0x10 +/* D8F5B4 80242364 0043102A */ slt $v0, $v0, $v1 +/* D8F5B8 80242368 50400001 */ beql $v0, $zero, .L80242370 +/* D8F5BC 8024236C A2200007 */ sb $zero, 7($s1) +.L80242370: +/* D8F5C0 80242370 8E03006C */ lw $v1, 0x6c($s0) +/* D8F5C4 80242374 24020004 */ addiu $v0, $zero, 4 +/* D8F5C8 80242378 1462000B */ bne $v1, $v0, .L802423A8 +/* D8F5CC 8024237C 3C021F10 */ lui $v0, 0x1f10 +/* D8F5D0 80242380 8E230000 */ lw $v1, ($s1) +/* D8F5D4 80242384 3C01C47A */ lui $at, 0xc47a +/* D8F5D8 80242388 44810000 */ mtc1 $at, $f0 +/* D8F5DC 8024238C 00621825 */ or $v1, $v1, $v0 +/* D8F5E0 80242390 AE230000 */ sw $v1, ($s1) +/* D8F5E4 80242394 AE400038 */ sw $zero, 0x38($s2) +/* D8F5E8 80242398 E640003C */ swc1 $f0, 0x3c($s2) +/* D8F5EC 8024239C AE400040 */ sw $zero, 0x40($s2) +/* D8F5F0 802423A0 A2330007 */ sb $s3, 7($s1) +/* D8F5F4 802423A4 AE800070 */ sw $zero, 0x70($s4) +.L802423A8: +/* D8F5F8 802423A8 8FBF002C */ lw $ra, 0x2c($sp) +/* D8F5FC 802423AC 8FB40028 */ lw $s4, 0x28($sp) +/* D8F600 802423B0 8FB30024 */ lw $s3, 0x24($sp) +/* D8F604 802423B4 8FB20020 */ lw $s2, 0x20($sp) +/* D8F608 802423B8 8FB1001C */ lw $s1, 0x1c($sp) +/* D8F60C 802423BC 8FB00018 */ lw $s0, 0x18($sp) +/* D8F610 802423C0 0000102D */ daddu $v0, $zero, $zero +/* D8F614 802423C4 03E00008 */ jr $ra +/* D8F618 802423C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_802423CC_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_802423CC_D8D250.s new file mode 100644 index 0000000000..399f392dbd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_802423CC_D8D250.s @@ -0,0 +1,190 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802423CC_D8F61C +/* D8F61C 802423CC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8F620 802423D0 AFB20038 */ sw $s2, 0x38($sp) +/* D8F624 802423D4 0080902D */ daddu $s2, $a0, $zero +/* D8F628 802423D8 AFBF0048 */ sw $ra, 0x48($sp) +/* D8F62C 802423DC AFB50044 */ sw $s5, 0x44($sp) +/* D8F630 802423E0 AFB40040 */ sw $s4, 0x40($sp) +/* D8F634 802423E4 AFB3003C */ sw $s3, 0x3c($sp) +/* D8F638 802423E8 AFB10034 */ sw $s1, 0x34($sp) +/* D8F63C 802423EC AFB00030 */ sw $s0, 0x30($sp) +/* D8F640 802423F0 8E510148 */ lw $s1, 0x148($s2) +/* D8F644 802423F4 86240008 */ lh $a0, 8($s1) +/* D8F648 802423F8 0C00EABB */ jal get_npc_unsafe +/* D8F64C 802423FC 00A0802D */ daddu $s0, $a1, $zero +/* D8F650 80242400 8E43000C */ lw $v1, 0xc($s2) +/* D8F654 80242404 0240202D */ daddu $a0, $s2, $zero +/* D8F658 80242408 8C650000 */ lw $a1, ($v1) +/* D8F65C 8024240C 0C0B1EAF */ jal get_variable +/* D8F660 80242410 0040A82D */ daddu $s5, $v0, $zero +/* D8F664 80242414 AFA00010 */ sw $zero, 0x10($sp) +/* D8F668 80242418 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F66C 8024241C 8C630094 */ lw $v1, 0x94($v1) +/* D8F670 80242420 AFA30014 */ sw $v1, 0x14($sp) +/* D8F674 80242424 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F678 80242428 8C630080 */ lw $v1, 0x80($v1) +/* D8F67C 8024242C AFA30018 */ sw $v1, 0x18($sp) +/* D8F680 80242430 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F684 80242434 8C630088 */ lw $v1, 0x88($v1) +/* D8F688 80242438 AFA3001C */ sw $v1, 0x1c($sp) +/* D8F68C 8024243C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F690 80242440 8C63008C */ lw $v1, 0x8c($v1) +/* D8F694 80242444 27B40010 */ addiu $s4, $sp, 0x10 +/* D8F698 80242448 AFA30020 */ sw $v1, 0x20($sp) +/* D8F69C 8024244C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F6A0 80242450 3C014282 */ lui $at, 0x4282 +/* D8F6A4 80242454 44810000 */ mtc1 $at, $f0 +/* D8F6A8 80242458 8C630090 */ lw $v1, 0x90($v1) +/* D8F6AC 8024245C 0040982D */ daddu $s3, $v0, $zero +/* D8F6B0 80242460 E7A00028 */ swc1 $f0, 0x28($sp) +/* D8F6B4 80242464 A7A0002C */ sh $zero, 0x2c($sp) +/* D8F6B8 80242468 16000005 */ bnez $s0, .L80242480 +/* D8F6BC 8024246C AFA30024 */ sw $v1, 0x24($sp) +/* D8F6C0 80242470 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F6C4 80242474 30420004 */ andi $v0, $v0, 4 +/* D8F6C8 80242478 10400020 */ beqz $v0, .L802424FC +/* D8F6CC 8024247C 00000000 */ nop +.L80242480: +/* D8F6D0 80242480 2404F7FF */ addiu $a0, $zero, -0x801 +/* D8F6D4 80242484 AE400070 */ sw $zero, 0x70($s2) +/* D8F6D8 80242488 A6A0008E */ sh $zero, 0x8e($s5) +/* D8F6DC 8024248C 8E2200CC */ lw $v0, 0xcc($s1) +/* D8F6E0 80242490 8EA30000 */ lw $v1, ($s5) +/* D8F6E4 80242494 8C420000 */ lw $v0, ($v0) +/* D8F6E8 80242498 00641824 */ and $v1, $v1, $a0 +/* D8F6EC 8024249C AEA30000 */ sw $v1, ($s5) +/* D8F6F0 802424A0 AEA20028 */ sw $v0, 0x28($s5) +/* D8F6F4 802424A4 8E2200D0 */ lw $v0, 0xd0($s1) +/* D8F6F8 802424A8 8C420098 */ lw $v0, 0x98($v0) +/* D8F6FC 802424AC 54400005 */ bnel $v0, $zero, .L802424C4 +/* D8F700 802424B0 2402FDFF */ addiu $v0, $zero, -0x201 +/* D8F704 802424B4 34620200 */ ori $v0, $v1, 0x200 +/* D8F708 802424B8 2403FFF7 */ addiu $v1, $zero, -9 +/* D8F70C 802424BC 08090933 */ j .L802424CC +/* D8F710 802424C0 00431024 */ and $v0, $v0, $v1 +.L802424C4: +/* D8F714 802424C4 00621024 */ and $v0, $v1, $v0 +/* D8F718 802424C8 34420008 */ ori $v0, $v0, 8 +.L802424CC: +/* D8F71C 802424CC AEA20000 */ sw $v0, ($s5) +/* D8F720 802424D0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F724 802424D4 30420004 */ andi $v0, $v0, 4 +/* D8F728 802424D8 10400007 */ beqz $v0, .L802424F8 +/* D8F72C 802424DC 24020063 */ addiu $v0, $zero, 0x63 +/* D8F730 802424E0 AE420070 */ sw $v0, 0x70($s2) +/* D8F734 802424E4 AE400074 */ sw $zero, 0x74($s2) +/* D8F738 802424E8 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F73C 802424EC 2403FFFB */ addiu $v1, $zero, -5 +/* D8F740 802424F0 00431024 */ and $v0, $v0, $v1 +/* D8F744 802424F4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802424F8: +/* D8F748 802424F8 AE20006C */ sw $zero, 0x6c($s1) +.L802424FC: +/* D8F74C 802424FC 8E420070 */ lw $v0, 0x70($s2) +/* D8F750 80242500 2842001E */ slti $v0, $v0, 0x1e +/* D8F754 80242504 10400009 */ beqz $v0, .L8024252C +/* D8F758 80242508 00000000 */ nop +/* D8F75C 8024250C 8E22006C */ lw $v0, 0x6c($s1) +/* D8F760 80242510 14400006 */ bnez $v0, .L8024252C +/* D8F764 80242514 00000000 */ nop +/* D8F768 80242518 0C0907EE */ jal func_80241FB8 +/* D8F76C 8024251C 0240202D */ daddu $a0, $s2, $zero +/* D8F770 80242520 10400002 */ beqz $v0, .L8024252C +/* D8F774 80242524 2402001E */ addiu $v0, $zero, 0x1e +/* D8F778 80242528 AE420070 */ sw $v0, 0x70($s2) +.L8024252C: +/* D8F77C 8024252C 8E430070 */ lw $v1, 0x70($s2) +/* D8F780 80242530 2C620064 */ sltiu $v0, $v1, 0x64 +/* D8F784 80242534 1040004E */ beqz $v0, .L80242670 +/* D8F788 80242538 00031080 */ sll $v0, $v1, 2 +/* D8F78C 8024253C 3C018024 */ lui $at, 0x8024 +/* D8F790 80242540 00220821 */ addu $at, $at, $v0 +/* D8F794 80242544 8C224188 */ lw $v0, 0x4188($at) +/* D8F798 80242548 00400008 */ jr $v0 +/* D8F79C 8024254C 00000000 */ nop +/* D8F7A0 80242550 0240202D */ daddu $a0, $s2, $zero +/* D8F7A4 80242554 0260282D */ daddu $a1, $s3, $zero +/* D8F7A8 80242558 0C0903C8 */ jal func_80240F20 +/* D8F7AC 8024255C 0280302D */ daddu $a2, $s4, $zero +/* D8F7B0 80242560 0240202D */ daddu $a0, $s2, $zero +/* D8F7B4 80242564 0260282D */ daddu $a1, $s3, $zero +/* D8F7B8 80242568 0C09041E */ jal func_80241078 +/* D8F7BC 8024256C 0280302D */ daddu $a2, $s4, $zero +/* D8F7C0 80242570 0809099C */ j .L80242670 +/* D8F7C4 80242574 00000000 */ nop +/* D8F7C8 80242578 0240202D */ daddu $a0, $s2, $zero +/* D8F7CC 8024257C 0260282D */ daddu $a1, $s3, $zero +/* D8F7D0 80242580 0C0904C8 */ jal func_80241320 +/* D8F7D4 80242584 0280302D */ daddu $a2, $s4, $zero +/* D8F7D8 80242588 0240202D */ daddu $a0, $s2, $zero +/* D8F7DC 8024258C 0260282D */ daddu $a1, $s3, $zero +/* D8F7E0 80242590 0C0904F8 */ jal func_802413E0 +/* D8F7E4 80242594 0280302D */ daddu $a2, $s4, $zero +/* D8F7E8 80242598 0809099C */ j .L80242670 +/* D8F7EC 8024259C 00000000 */ nop +/* D8F7F0 802425A0 0240202D */ daddu $a0, $s2, $zero +/* D8F7F4 802425A4 0260282D */ daddu $a1, $s3, $zero +/* D8F7F8 802425A8 0C090567 */ jal func_8024159C +/* D8F7FC 802425AC 0280302D */ daddu $a2, $s4, $zero +/* D8F800 802425B0 0809099C */ j .L80242670 +/* D8F804 802425B4 00000000 */ nop +/* D8F808 802425B8 0240202D */ daddu $a0, $s2, $zero +/* D8F80C 802425BC 0260282D */ daddu $a1, $s3, $zero +/* D8F810 802425C0 0C090594 */ jal func_80241650 +/* D8F814 802425C4 0280302D */ daddu $a2, $s4, $zero +/* D8F818 802425C8 0240202D */ daddu $a0, $s2, $zero +/* D8F81C 802425CC 0260282D */ daddu $a1, $s3, $zero +/* D8F820 802425D0 0C0905B1 */ jal func_802416C4 +/* D8F824 802425D4 0280302D */ daddu $a2, $s4, $zero +/* D8F828 802425D8 0809099C */ j .L80242670 +/* D8F82C 802425DC 00000000 */ nop +/* D8F830 802425E0 0240202D */ daddu $a0, $s2, $zero +/* D8F834 802425E4 0260282D */ daddu $a1, $s3, $zero +/* D8F838 802425E8 0C0905CF */ jal func_8024173C +/* D8F83C 802425EC 0280302D */ daddu $a2, $s4, $zero +/* D8F840 802425F0 0240202D */ daddu $a0, $s2, $zero +/* D8F844 802425F4 0260282D */ daddu $a1, $s3, $zero +/* D8F848 802425F8 0C09061B */ jal func_8024186C +/* D8F84C 802425FC 0280302D */ daddu $a2, $s4, $zero +/* D8F850 80242600 0809099C */ j .L80242670 +/* D8F854 80242604 00000000 */ nop +/* D8F858 80242608 0240202D */ daddu $a0, $s2, $zero +/* D8F85C 8024260C 0260282D */ daddu $a1, $s3, $zero +/* D8F860 80242610 0C090663 */ jal func_8024198C +/* D8F864 80242614 0280302D */ daddu $a2, $s4, $zero +/* D8F868 80242618 0809099C */ j .L80242670 +/* D8F86C 8024261C 00000000 */ nop +/* D8F870 80242620 0C09076C */ jal func_80241DB0 +/* D8F874 80242624 0240202D */ daddu $a0, $s2, $zero +/* D8F878 80242628 0C090787 */ jal func_80241E1C +/* D8F87C 8024262C 0240202D */ daddu $a0, $s2, $zero +/* D8F880 80242630 8E430070 */ lw $v1, 0x70($s2) +/* D8F884 80242634 24020020 */ addiu $v0, $zero, 0x20 +/* D8F888 80242638 1462000D */ bne $v1, $v0, .L80242670 +/* D8F88C 8024263C 00000000 */ nop +/* D8F890 80242640 0C0907A3 */ jal func_80241E8C +/* D8F894 80242644 0240202D */ daddu $a0, $s2, $zero +/* D8F898 80242648 8E430070 */ lw $v1, 0x70($s2) +/* D8F89C 8024264C 24020021 */ addiu $v0, $zero, 0x21 +/* D8F8A0 80242650 14620007 */ bne $v1, $v0, .L80242670 +/* D8F8A4 80242654 00000000 */ nop +/* D8F8A8 80242658 0C0907D9 */ jal func_80241F64 +/* D8F8AC 8024265C 0240202D */ daddu $a0, $s2, $zero +/* D8F8B0 80242660 0809099C */ j .L80242670 +/* D8F8B4 80242664 00000000 */ nop +/* D8F8B8 80242668 0C0129CF */ jal func_8004A73C +/* D8F8BC 8024266C 0240202D */ daddu $a0, $s2, $zero +.L80242670: +/* D8F8C0 80242670 8FBF0048 */ lw $ra, 0x48($sp) +/* D8F8C4 80242674 8FB50044 */ lw $s5, 0x44($sp) +/* D8F8C8 80242678 8FB40040 */ lw $s4, 0x40($sp) +/* D8F8CC 8024267C 8FB3003C */ lw $s3, 0x3c($sp) +/* D8F8D0 80242680 8FB20038 */ lw $s2, 0x38($sp) +/* D8F8D4 80242684 8FB10034 */ lw $s1, 0x34($sp) +/* D8F8D8 80242688 8FB00030 */ lw $s0, 0x30($sp) +/* D8F8DC 8024268C 0000102D */ daddu $v0, $zero, $zero +/* D8F8E0 80242690 03E00008 */ jr $ra +/* D8F8E4 80242694 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80242698.s b/asm/nonmatchings/world/area_pra/pra_35/func_80242698.s new file mode 100644 index 0000000000..f2cafb367b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80242698.s @@ -0,0 +1,185 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242698 +/* D8F8E8 80242698 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D8F8EC 8024269C AFB20038 */ sw $s2, 0x38($sp) +/* D8F8F0 802426A0 0080902D */ daddu $s2, $a0, $zero +/* D8F8F4 802426A4 AFBF0048 */ sw $ra, 0x48($sp) +/* D8F8F8 802426A8 AFB50044 */ sw $s5, 0x44($sp) +/* D8F8FC 802426AC AFB40040 */ sw $s4, 0x40($sp) +/* D8F900 802426B0 AFB3003C */ sw $s3, 0x3c($sp) +/* D8F904 802426B4 AFB10034 */ sw $s1, 0x34($sp) +/* D8F908 802426B8 AFB00030 */ sw $s0, 0x30($sp) +/* D8F90C 802426BC 8E510148 */ lw $s1, 0x148($s2) +/* D8F910 802426C0 86240008 */ lh $a0, 8($s1) +/* D8F914 802426C4 0C00EABB */ jal get_npc_unsafe +/* D8F918 802426C8 00A0802D */ daddu $s0, $a1, $zero +/* D8F91C 802426CC 8E43000C */ lw $v1, 0xc($s2) +/* D8F920 802426D0 0240202D */ daddu $a0, $s2, $zero +/* D8F924 802426D4 8C650000 */ lw $a1, ($v1) +/* D8F928 802426D8 0C0B1EAF */ jal get_variable +/* D8F92C 802426DC 0040A82D */ daddu $s5, $v0, $zero +/* D8F930 802426E0 AFA00010 */ sw $zero, 0x10($sp) +/* D8F934 802426E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F938 802426E8 8C630030 */ lw $v1, 0x30($v1) +/* D8F93C 802426EC AFA30014 */ sw $v1, 0x14($sp) +/* D8F940 802426F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F944 802426F4 8C63001C */ lw $v1, 0x1c($v1) +/* D8F948 802426F8 AFA30018 */ sw $v1, 0x18($sp) +/* D8F94C 802426FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F950 80242700 8C630024 */ lw $v1, 0x24($v1) +/* D8F954 80242704 AFA3001C */ sw $v1, 0x1c($sp) +/* D8F958 80242708 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F95C 8024270C 8C630028 */ lw $v1, 0x28($v1) +/* D8F960 80242710 27B40010 */ addiu $s4, $sp, 0x10 +/* D8F964 80242714 AFA30020 */ sw $v1, 0x20($sp) +/* D8F968 80242718 8E2300D0 */ lw $v1, 0xd0($s1) +/* D8F96C 8024271C 3C014282 */ lui $at, 0x4282 +/* D8F970 80242720 44810000 */ mtc1 $at, $f0 +/* D8F974 80242724 8C63002C */ lw $v1, 0x2c($v1) +/* D8F978 80242728 0040982D */ daddu $s3, $v0, $zero +/* D8F97C 8024272C E7A00028 */ swc1 $f0, 0x28($sp) +/* D8F980 80242730 A7A0002C */ sh $zero, 0x2c($sp) +/* D8F984 80242734 16000005 */ bnez $s0, .L8024274C +/* D8F988 80242738 AFA30024 */ sw $v1, 0x24($sp) +/* D8F98C 8024273C 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F990 80242740 30420004 */ andi $v0, $v0, 4 +/* D8F994 80242744 10400020 */ beqz $v0, .L802427C8 +/* D8F998 80242748 00000000 */ nop +.L8024274C: +/* D8F99C 8024274C 2404F7FF */ addiu $a0, $zero, -0x801 +/* D8F9A0 80242750 AE400070 */ sw $zero, 0x70($s2) +/* D8F9A4 80242754 A6A0008E */ sh $zero, 0x8e($s5) +/* D8F9A8 80242758 8E2200CC */ lw $v0, 0xcc($s1) +/* D8F9AC 8024275C 8EA30000 */ lw $v1, ($s5) +/* D8F9B0 80242760 8C420000 */ lw $v0, ($v0) +/* D8F9B4 80242764 00641824 */ and $v1, $v1, $a0 +/* D8F9B8 80242768 AEA30000 */ sw $v1, ($s5) +/* D8F9BC 8024276C AEA20028 */ sw $v0, 0x28($s5) +/* D8F9C0 80242770 8E2200D0 */ lw $v0, 0xd0($s1) +/* D8F9C4 80242774 8C420034 */ lw $v0, 0x34($v0) +/* D8F9C8 80242778 54400005 */ bnel $v0, $zero, .L80242790 +/* D8F9CC 8024277C 2402FDFF */ addiu $v0, $zero, -0x201 +/* D8F9D0 80242780 34620200 */ ori $v0, $v1, 0x200 +/* D8F9D4 80242784 2403FFF7 */ addiu $v1, $zero, -9 +/* D8F9D8 80242788 080909E6 */ j .L80242798 +/* D8F9DC 8024278C 00431024 */ and $v0, $v0, $v1 +.L80242790: +/* D8F9E0 80242790 00621024 */ and $v0, $v1, $v0 +/* D8F9E4 80242794 34420008 */ ori $v0, $v0, 8 +.L80242798: +/* D8F9E8 80242798 AEA20000 */ sw $v0, ($s5) +/* D8F9EC 8024279C 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8F9F0 802427A0 30420004 */ andi $v0, $v0, 4 +/* D8F9F4 802427A4 10400007 */ beqz $v0, .L802427C4 +/* D8F9F8 802427A8 24020063 */ addiu $v0, $zero, 0x63 +/* D8F9FC 802427AC AE420070 */ sw $v0, 0x70($s2) +/* D8FA00 802427B0 AE400074 */ sw $zero, 0x74($s2) +/* D8FA04 802427B4 8E2200B0 */ lw $v0, 0xb0($s1) +/* D8FA08 802427B8 2403FFFB */ addiu $v1, $zero, -5 +/* D8FA0C 802427BC 00431024 */ and $v0, $v0, $v1 +/* D8FA10 802427C0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802427C4: +/* D8FA14 802427C4 AE20006C */ sw $zero, 0x6c($s1) +.L802427C8: +/* D8FA18 802427C8 8E420070 */ lw $v0, 0x70($s2) +/* D8FA1C 802427CC 2842001E */ slti $v0, $v0, 0x1e +/* D8FA20 802427D0 10400009 */ beqz $v0, .L802427F8 +/* D8FA24 802427D4 00000000 */ nop +/* D8FA28 802427D8 8E22006C */ lw $v0, 0x6c($s1) +/* D8FA2C 802427DC 14400006 */ bnez $v0, .L802427F8 +/* D8FA30 802427E0 00000000 */ nop +/* D8FA34 802427E4 0C0907EE */ jal func_80241FB8 +/* D8FA38 802427E8 0240202D */ daddu $a0, $s2, $zero +/* D8FA3C 802427EC 10400002 */ beqz $v0, .L802427F8 +/* D8FA40 802427F0 2402001E */ addiu $v0, $zero, 0x1e +/* D8FA44 802427F4 AE420070 */ sw $v0, 0x70($s2) +.L802427F8: +/* D8FA48 802427F8 8E430070 */ lw $v1, 0x70($s2) +/* D8FA4C 802427FC 2C620064 */ sltiu $v0, $v1, 0x64 +/* D8FA50 80242800 10400048 */ beqz $v0, .L80242924 +/* D8FA54 80242804 00031080 */ sll $v0, $v1, 2 +/* D8FA58 80242808 3C018024 */ lui $at, 0x8024 +/* D8FA5C 8024280C 00220821 */ addu $at, $at, $v0 +/* D8FA60 80242810 8C224318 */ lw $v0, 0x4318($at) +/* D8FA64 80242814 00400008 */ jr $v0 +/* D8FA68 80242818 00000000 */ nop +/* D8FA6C 8024281C 0240202D */ daddu $a0, $s2, $zero +/* D8FA70 80242820 0260282D */ daddu $a1, $s3, $zero +/* D8FA74 80242824 0C012568 */ jal func_800495A0 +/* D8FA78 80242828 0280302D */ daddu $a2, $s4, $zero +/* D8FA7C 8024282C 0240202D */ daddu $a0, $s2, $zero +/* D8FA80 80242830 0260282D */ daddu $a1, $s3, $zero +/* D8FA84 80242834 0C0125AE */ jal func_800496B8 +/* D8FA88 80242838 0280302D */ daddu $a2, $s4, $zero +/* D8FA8C 8024283C 08090A49 */ j .L80242924 +/* D8FA90 80242840 00000000 */ nop +/* D8FA94 80242844 0240202D */ daddu $a0, $s2, $zero +/* D8FA98 80242848 0260282D */ daddu $a1, $s3, $zero +/* D8FA9C 8024284C 0C0126D1 */ jal func_80049B44 +/* D8FAA0 80242850 0280302D */ daddu $a2, $s4, $zero +/* D8FAA4 80242854 0240202D */ daddu $a0, $s2, $zero +/* D8FAA8 80242858 0260282D */ daddu $a1, $s3, $zero +/* D8FAAC 8024285C 0C012701 */ jal func_80049C04 +/* D8FAB0 80242860 0280302D */ daddu $a2, $s4, $zero +/* D8FAB4 80242864 08090A49 */ j .L80242924 +/* D8FAB8 80242868 00000000 */ nop +/* D8FABC 8024286C 0240202D */ daddu $a0, $s2, $zero +/* D8FAC0 80242870 0260282D */ daddu $a1, $s3, $zero +/* D8FAC4 80242874 0C01278F */ jal func_80049E3C +/* D8FAC8 80242878 0280302D */ daddu $a2, $s4, $zero +/* D8FACC 8024287C 0240202D */ daddu $a0, $s2, $zero +/* D8FAD0 80242880 0260282D */ daddu $a1, $s3, $zero +/* D8FAD4 80242884 0C0127B3 */ jal func_80049ECC +/* D8FAD8 80242888 0280302D */ daddu $a2, $s4, $zero +/* D8FADC 8024288C 08090A49 */ j .L80242924 +/* D8FAE0 80242890 00000000 */ nop +/* D8FAE4 80242894 0240202D */ daddu $a0, $s2, $zero +/* D8FAE8 80242898 0260282D */ daddu $a1, $s3, $zero +/* D8FAEC 8024289C 0C0127DF */ jal func_80049F7C +/* D8FAF0 802428A0 0280302D */ daddu $a2, $s4, $zero +/* D8FAF4 802428A4 0240202D */ daddu $a0, $s2, $zero +/* D8FAF8 802428A8 0260282D */ daddu $a1, $s3, $zero +/* D8FAFC 802428AC 0C012849 */ jal func_8004A124 +/* D8FB00 802428B0 0280302D */ daddu $a2, $s4, $zero +/* D8FB04 802428B4 08090A49 */ j .L80242924 +/* D8FB08 802428B8 00000000 */ nop +/* D8FB0C 802428BC 0240202D */ daddu $a0, $s2, $zero +/* D8FB10 802428C0 0260282D */ daddu $a1, $s3, $zero +/* D8FB14 802428C4 0C0128FA */ jal func_8004A3E8 +/* D8FB18 802428C8 0280302D */ daddu $a2, $s4, $zero +/* D8FB1C 802428CC 08090A49 */ j .L80242924 +/* D8FB20 802428D0 00000000 */ nop +/* D8FB24 802428D4 0C09076C */ jal func_80241DB0 +/* D8FB28 802428D8 0240202D */ daddu $a0, $s2, $zero +/* D8FB2C 802428DC 0C090787 */ jal func_80241E1C +/* D8FB30 802428E0 0240202D */ daddu $a0, $s2, $zero +/* D8FB34 802428E4 8E430070 */ lw $v1, 0x70($s2) +/* D8FB38 802428E8 24020020 */ addiu $v0, $zero, 0x20 +/* D8FB3C 802428EC 1462000D */ bne $v1, $v0, .L80242924 +/* D8FB40 802428F0 00000000 */ nop +/* D8FB44 802428F4 0C0907A3 */ jal func_80241E8C +/* D8FB48 802428F8 0240202D */ daddu $a0, $s2, $zero +/* D8FB4C 802428FC 8E430070 */ lw $v1, 0x70($s2) +/* D8FB50 80242900 24020021 */ addiu $v0, $zero, 0x21 +/* D8FB54 80242904 14620007 */ bne $v1, $v0, .L80242924 +/* D8FB58 80242908 00000000 */ nop +/* D8FB5C 8024290C 0C0907D9 */ jal func_80241F64 +/* D8FB60 80242910 0240202D */ daddu $a0, $s2, $zero +/* D8FB64 80242914 08090A49 */ j .L80242924 +/* D8FB68 80242918 00000000 */ nop +/* D8FB6C 8024291C 0C0129CF */ jal func_8004A73C +/* D8FB70 80242920 0240202D */ daddu $a0, $s2, $zero +.L80242924: +/* D8FB74 80242924 8FBF0048 */ lw $ra, 0x48($sp) +/* D8FB78 80242928 8FB50044 */ lw $s5, 0x44($sp) +/* D8FB7C 8024292C 8FB40040 */ lw $s4, 0x40($sp) +/* D8FB80 80242930 8FB3003C */ lw $s3, 0x3c($sp) +/* D8FB84 80242934 8FB20038 */ lw $s2, 0x38($sp) +/* D8FB88 80242938 8FB10034 */ lw $s1, 0x34($sp) +/* D8FB8C 8024293C 8FB00030 */ lw $s0, 0x30($sp) +/* D8FB90 80242940 0000102D */ daddu $v0, $zero, $zero +/* D8FB94 80242944 03E00008 */ jr $ra +/* D8FB98 80242948 27BD0050 */ addiu $sp, $sp, 0x50 +/* D8FB9C 8024294C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80242950.s b/asm/nonmatchings/world/area_pra/pra_35/func_80242950.s new file mode 100644 index 0000000000..9a3e0c9f03 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80242950.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242950 +/* D8FBA0 80242950 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8FBA4 80242954 AFB00010 */ sw $s0, 0x10($sp) +/* D8FBA8 80242958 3C108024 */ lui $s0, 0x8024 +/* D8FBAC 8024295C 26103DE0 */ addiu $s0, $s0, 0x3de0 +/* D8FBB0 80242960 AFBF0018 */ sw $ra, 0x18($sp) +/* D8FBB4 80242964 AFB10014 */ sw $s1, 0x14($sp) +/* D8FBB8 80242968 8E020000 */ lw $v0, ($s0) +/* D8FBBC 8024296C 14400010 */ bnez $v0, .L802429B0 +/* D8FBC0 80242970 0080882D */ daddu $s1, $a0, $zero +/* D8FBC4 80242974 0C00AB39 */ jal heap_malloc +/* D8FBC8 80242978 24040040 */ addiu $a0, $zero, 0x40 +/* D8FBCC 8024297C AE020000 */ sw $v0, ($s0) +/* D8FBD0 80242980 0000182D */ daddu $v1, $zero, $zero +/* D8FBD4 80242984 0040282D */ daddu $a1, $v0, $zero +/* D8FBD8 80242988 0220202D */ daddu $a0, $s1, $zero +.L8024298C: +/* D8FBDC 8024298C 8C820084 */ lw $v0, 0x84($a0) +/* D8FBE0 80242990 24840004 */ addiu $a0, $a0, 4 +/* D8FBE4 80242994 24630001 */ addiu $v1, $v1, 1 +/* D8FBE8 80242998 ACA20000 */ sw $v0, ($a1) +/* D8FBEC 8024299C 28620010 */ slti $v0, $v1, 0x10 +/* D8FBF0 802429A0 1440FFFA */ bnez $v0, .L8024298C +/* D8FBF4 802429A4 24A50004 */ addiu $a1, $a1, 4 +/* D8FBF8 802429A8 08090A7B */ j .L802429EC +/* D8FBFC 802429AC 00000000 */ nop +.L802429B0: +/* D8FC00 802429B0 0000182D */ daddu $v1, $zero, $zero +/* D8FC04 802429B4 0040282D */ daddu $a1, $v0, $zero +/* D8FC08 802429B8 0220202D */ daddu $a0, $s1, $zero +.L802429BC: +/* D8FC0C 802429BC 8CA20000 */ lw $v0, ($a1) +/* D8FC10 802429C0 24A50004 */ addiu $a1, $a1, 4 +/* D8FC14 802429C4 24630001 */ addiu $v1, $v1, 1 +/* D8FC18 802429C8 AC820084 */ sw $v0, 0x84($a0) +/* D8FC1C 802429CC 28620010 */ slti $v0, $v1, 0x10 +/* D8FC20 802429D0 1440FFFA */ bnez $v0, .L802429BC +/* D8FC24 802429D4 24840004 */ addiu $a0, $a0, 4 +/* D8FC28 802429D8 3C108024 */ lui $s0, 0x8024 +/* D8FC2C 802429DC 26103DE0 */ addiu $s0, $s0, 0x3de0 +/* D8FC30 802429E0 0C00AB4B */ jal heap_free +/* D8FC34 802429E4 8E040000 */ lw $a0, ($s0) +/* D8FC38 802429E8 AE000000 */ sw $zero, ($s0) +.L802429EC: +/* D8FC3C 802429EC 8FBF0018 */ lw $ra, 0x18($sp) +/* D8FC40 802429F0 8FB10014 */ lw $s1, 0x14($sp) +/* D8FC44 802429F4 8FB00010 */ lw $s0, 0x10($sp) +/* D8FC48 802429F8 24020002 */ addiu $v0, $zero, 2 +/* D8FC4C 802429FC 03E00008 */ jr $ra +/* D8FC50 80242A00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80242A04_D8D250.s b/asm/nonmatchings/world/area_pra/pra_35/func_80242A04_D8D250.s new file mode 100644 index 0000000000..ead90d0611 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80242A04_D8D250.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A04_D8FC54 +/* D8FC54 80242A04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8FC58 80242A08 AFB00010 */ sw $s0, 0x10($sp) +/* D8FC5C 80242A0C 0080802D */ daddu $s0, $a0, $zero +/* D8FC60 80242A10 AFBF0018 */ sw $ra, 0x18($sp) +/* D8FC64 80242A14 AFB10014 */ sw $s1, 0x14($sp) +/* D8FC68 80242A18 8E02000C */ lw $v0, 0xc($s0) +/* D8FC6C 80242A1C 8C510000 */ lw $s1, ($v0) +/* D8FC70 80242A20 0C0B1EAF */ jal get_variable +/* D8FC74 80242A24 0220282D */ daddu $a1, $s1, $zero +/* D8FC78 80242A28 3C03FFF0 */ lui $v1, 0xfff0 +/* D8FC7C 80242A2C 3463FFFF */ ori $v1, $v1, 0xffff +/* D8FC80 80242A30 0200202D */ daddu $a0, $s0, $zero +/* D8FC84 80242A34 00431024 */ and $v0, $v0, $v1 +/* D8FC88 80242A38 00021140 */ sll $v0, $v0, 5 +/* D8FC8C 80242A3C 3C068008 */ lui $a2, %hi(gItemTable) +/* D8FC90 80242A40 00C23021 */ addu $a2, $a2, $v0 +/* D8FC94 80242A44 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D8FC98 80242A48 0C0B2026 */ jal set_variable +/* D8FC9C 80242A4C 0220282D */ daddu $a1, $s1, $zero +/* D8FCA0 80242A50 8FBF0018 */ lw $ra, 0x18($sp) +/* D8FCA4 80242A54 8FB10014 */ lw $s1, 0x14($sp) +/* D8FCA8 80242A58 8FB00010 */ lw $s0, 0x10($sp) +/* D8FCAC 80242A5C 24020002 */ addiu $v0, $zero, 2 +/* D8FCB0 80242A60 03E00008 */ jr $ra +/* D8FCB4 80242A64 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80242A68.s b/asm/nonmatchings/world/area_pra/pra_35/func_80242A68.s new file mode 100644 index 0000000000..b8ef3259cd --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80242A68.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A68 +/* D8FCB8 80242A68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D8FCBC 80242A6C AFB10014 */ sw $s1, 0x14($sp) +/* D8FCC0 80242A70 0080882D */ daddu $s1, $a0, $zero +/* D8FCC4 80242A74 AFBF001C */ sw $ra, 0x1c($sp) +/* D8FCC8 80242A78 AFB20018 */ sw $s2, 0x18($sp) +/* D8FCCC 80242A7C AFB00010 */ sw $s0, 0x10($sp) +/* D8FCD0 80242A80 8E240084 */ lw $a0, 0x84($s1) +/* D8FCD4 80242A84 0C04C3D6 */ jal get_item_entity +/* D8FCD8 80242A88 00A0802D */ daddu $s0, $a1, $zero +/* D8FCDC 80242A8C 12000005 */ beqz $s0, .L80242AA4 +/* D8FCE0 80242A90 0040902D */ daddu $s2, $v0, $zero +/* D8FCE4 80242A94 C640000C */ lwc1 $f0, 0xc($s2) +/* D8FCE8 80242A98 AE200074 */ sw $zero, 0x74($s1) +/* D8FCEC 80242A9C AE20007C */ sw $zero, 0x7c($s1) +/* D8FCF0 80242AA0 E6200078 */ swc1 $f0, 0x78($s1) +.L80242AA4: +/* D8FCF4 80242AA4 8E230074 */ lw $v1, 0x74($s1) +/* D8FCF8 80242AA8 10600005 */ beqz $v1, .L80242AC0 +/* D8FCFC 80242AAC 24020001 */ addiu $v0, $zero, 1 +/* D8FD00 80242AB0 10620024 */ beq $v1, $v0, .L80242B44 +/* D8FD04 80242AB4 00000000 */ nop +/* D8FD08 80242AB8 08090AE7 */ j .L80242B9C +/* D8FD0C 80242ABC 00000000 */ nop +.L80242AC0: +/* D8FD10 80242AC0 3C013FC9 */ lui $at, 0x3fc9 +/* D8FD14 80242AC4 34210FD8 */ ori $at, $at, 0xfd8 +/* D8FD18 80242AC8 44810000 */ mtc1 $at, $f0 +/* D8FD1C 80242ACC C62C007C */ lwc1 $f12, 0x7c($s1) +/* D8FD20 80242AD0 46806320 */ cvt.s.w $f12, $f12 +/* D8FD24 80242AD4 46006302 */ mul.s $f12, $f12, $f0 +/* D8FD28 80242AD8 00000000 */ nop +/* D8FD2C 80242ADC 3C0141F0 */ lui $at, 0x41f0 +/* D8FD30 80242AE0 44810000 */ mtc1 $at, $f0 +/* D8FD34 80242AE4 0C00A874 */ jal cos_rad +/* D8FD38 80242AE8 46006303 */ div.s $f12, $f12, $f0 +/* D8FD3C 80242AEC 3C013F80 */ lui $at, 0x3f80 +/* D8FD40 80242AF0 44811000 */ mtc1 $at, $f2 +/* D8FD44 80242AF4 00000000 */ nop +/* D8FD48 80242AF8 46001081 */ sub.s $f2, $f2, $f0 +/* D8FD4C 80242AFC 3C0141A0 */ lui $at, 0x41a0 +/* D8FD50 80242B00 44810000 */ mtc1 $at, $f0 +/* D8FD54 80242B04 00000000 */ nop +/* D8FD58 80242B08 46001082 */ mul.s $f2, $f2, $f0 +/* D8FD5C 80242B0C 00000000 */ nop +/* D8FD60 80242B10 C6200078 */ lwc1 $f0, 0x78($s1) +/* D8FD64 80242B14 46020000 */ add.s $f0, $f0, $f2 +/* D8FD68 80242B18 E640000C */ swc1 $f0, 0xc($s2) +/* D8FD6C 80242B1C 8E23007C */ lw $v1, 0x7c($s1) +/* D8FD70 80242B20 2402001E */ addiu $v0, $zero, 0x1e +/* D8FD74 80242B24 14620005 */ bne $v1, $v0, .L80242B3C +/* D8FD78 80242B28 24620001 */ addiu $v0, $v1, 1 +/* D8FD7C 80242B2C 24020001 */ addiu $v0, $zero, 1 +/* D8FD80 80242B30 AE220074 */ sw $v0, 0x74($s1) +/* D8FD84 80242B34 08090AE7 */ j .L80242B9C +/* D8FD88 80242B38 AE20007C */ sw $zero, 0x7c($s1) +.L80242B3C: +/* D8FD8C 80242B3C 08090AE7 */ j .L80242B9C +/* D8FD90 80242B40 AE22007C */ sw $v0, 0x7c($s1) +.L80242B44: +/* D8FD94 80242B44 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D8FD98 80242B48 0C00A8D4 */ jal cos_deg +/* D8FD9C 80242B4C 46806320 */ cvt.s.w $f12, $f12 +/* D8FDA0 80242B50 3C014040 */ lui $at, 0x4040 +/* D8FDA4 80242B54 44811000 */ mtc1 $at, $f2 +/* D8FDA8 80242B58 00000000 */ nop +/* D8FDAC 80242B5C 46020002 */ mul.s $f0, $f0, $f2 +/* D8FDB0 80242B60 00000000 */ nop +/* D8FDB4 80242B64 3C014188 */ lui $at, 0x4188 +/* D8FDB8 80242B68 44812000 */ mtc1 $at, $f4 +/* D8FDBC 80242B6C C6220078 */ lwc1 $f2, 0x78($s1) +/* D8FDC0 80242B70 46041080 */ add.s $f2, $f2, $f4 +/* D8FDC4 80242B74 46001080 */ add.s $f2, $f2, $f0 +/* D8FDC8 80242B78 E642000C */ swc1 $f2, 0xc($s2) +/* D8FDCC 80242B7C 8E22007C */ lw $v0, 0x7c($s1) +/* D8FDD0 80242B80 24420009 */ addiu $v0, $v0, 9 +/* D8FDD4 80242B84 44826000 */ mtc1 $v0, $f12 +/* D8FDD8 80242B88 00000000 */ nop +/* D8FDDC 80242B8C 0C00A6C9 */ jal clamp_angle +/* D8FDE0 80242B90 46806320 */ cvt.s.w $f12, $f12 +/* D8FDE4 80242B94 4600018D */ trunc.w.s $f6, $f0 +/* D8FDE8 80242B98 E626007C */ swc1 $f6, 0x7c($s1) +.L80242B9C: +/* D8FDEC 80242B9C 8FBF001C */ lw $ra, 0x1c($sp) +/* D8FDF0 80242BA0 8FB20018 */ lw $s2, 0x18($sp) +/* D8FDF4 80242BA4 8FB10014 */ lw $s1, 0x14($sp) +/* D8FDF8 80242BA8 8FB00010 */ lw $s0, 0x10($sp) +/* D8FDFC 80242BAC 0000102D */ daddu $v0, $zero, $zero +/* D8FE00 80242BB0 03E00008 */ jr $ra +/* D8FE04 80242BB4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_35/func_80242BB8.s b/asm/nonmatchings/world/area_pra/pra_35/func_80242BB8.s new file mode 100644 index 0000000000..833f80fb12 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_35/func_80242BB8.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242BB8 +/* D8FE08 80242BB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D8FE0C 80242BBC AFB00010 */ sw $s0, 0x10($sp) +/* D8FE10 80242BC0 0080802D */ daddu $s0, $a0, $zero +/* D8FE14 80242BC4 AFBF0014 */ sw $ra, 0x14($sp) +/* D8FE18 80242BC8 8E02000C */ lw $v0, 0xc($s0) +/* D8FE1C 80242BCC 0C0B1EAF */ jal get_variable +/* D8FE20 80242BD0 8C450000 */ lw $a1, ($v0) +/* D8FE24 80242BD4 00021140 */ sll $v0, $v0, 5 +/* D8FE28 80242BD8 AE000084 */ sw $zero, 0x84($s0) +/* D8FE2C 80242BDC 3C018008 */ lui $at, 0x8008 +/* D8FE30 80242BE0 00220821 */ addu $at, $at, $v0 +/* D8FE34 80242BE4 942278F8 */ lhu $v0, 0x78f8($at) +/* D8FE38 80242BE8 30420040 */ andi $v0, $v0, 0x40 +/* D8FE3C 80242BEC 10400002 */ beqz $v0, .L80242BF8 +/* D8FE40 80242BF0 24020001 */ addiu $v0, $zero, 1 +/* D8FE44 80242BF4 AE020084 */ sw $v0, 0x84($s0) +.L80242BF8: +/* D8FE48 80242BF8 8FBF0014 */ lw $ra, 0x14($sp) +/* D8FE4C 80242BFC 8FB00010 */ lw $s0, 0x10($sp) +/* D8FE50 80242C00 24020002 */ addiu $v0, $zero, 2 +/* D8FE54 80242C04 03E00008 */ jr $ra +/* D8FE58 80242C08 27BD0018 */ addiu $sp, $sp, 0x18 +/* D8FE5C 80242C0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240000_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240000_D91700.s new file mode 100644 index 0000000000..0d9569b6b1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240000_D91700.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D91700 +/* D91700 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D91704 80240004 3C04800E */ lui $a0, 0x800e +/* D91708 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D9170C 8024000C 3C058024 */ lui $a1, 0x8024 +/* D91710 80240010 24A51810 */ addiu $a1, $a1, 0x1810 +/* D91714 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D91718 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D9171C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D91720 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D91724 80240024 0C01953C */ jal sprintf +/* D91728 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D9172C 8024002C 3C04800E */ lui $a0, 0x800e +/* D91730 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D91734 80240034 3C058024 */ lui $a1, 0x8024 +/* D91738 80240038 0C01953C */ jal sprintf +/* D9173C 8024003C 24A51820 */ addiu $a1, $a1, 0x1820 +/* D91740 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D91744 80240044 0000102D */ daddu $v0, $zero, $zero +/* D91748 80240048 03E00008 */ jr $ra +/* D9174C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240050_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240050_D91700.s new file mode 100644 index 0000000000..4b160927a2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240050_D91700.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D91750 +/* D91750 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D91754 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D91758 80240058 00822024 */ and $a0, $a0, $v0 +/* D9175C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D91760 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D91764 80240064 00821821 */ addu $v1, $a0, $v0 +/* D91768 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D9176C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D91770 80240070 30620001 */ andi $v0, $v1, 1 +/* D91774 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D91778 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D9177C 8024007C 03E00008 */ jr $ra +/* D91780 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240084_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240084_D91700.s new file mode 100644 index 0000000000..f761e06e13 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240084_D91700.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D91784 +/* D91784 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D91788 80240088 304300FF */ andi $v1, $v0, 0xff +/* D9178C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D91790 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D91794 80240094 28620007 */ slti $v0, $v1, 7 +/* D91798 80240098 10400005 */ beqz $v0, .L802400B0 +/* D9179C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D917A0 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D917A4 802400A4 3C020100 */ lui $v0, 0x100 +/* D917A8 802400A8 03E00008 */ jr $ra +/* D917AC 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D917B0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D917B4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D917B8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D917BC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D917C0 802400C0 3C020100 */ lui $v0, 0x100 +/* D917C4 802400C4 03E00008 */ jr $ra +/* D917C8 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D917CC 802400CC 3C020001 */ lui $v0, 1 +/* D917D0 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D917D4 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D917D8 802400D8 1040000E */ beqz $v0, .L80240114 +/* D917DC 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D917E0 802400E0 03E00008 */ jr $ra +/* D917E4 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D917E8 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D917EC 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D917F0 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D917F4 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D917F8 802400F8 10400005 */ beqz $v0, .L80240110 +/* D917FC 802400FC 30620001 */ andi $v0, $v1, 1 +/* D91800 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D91804 80240104 24820001 */ addiu $v0, $a0, 1 +/* D91808 80240108 03E00008 */ jr $ra +/* D9180C 8024010C 00000000 */ nop +.L80240110: +/* D91810 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D91814 80240114 03E00008 */ jr $ra +/* D91818 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_8024011C_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_8024011C_D91700.s new file mode 100644 index 0000000000..62876a5b28 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_8024011C_D91700.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D9181C +/* D9181C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D91820 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D91824 80240124 0080802D */ daddu $s0, $a0, $zero +/* D91828 80240128 3C058024 */ lui $a1, 0x8024 +/* D9182C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D91830 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D91834 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D91838 80240138 0000202D */ daddu $a0, $zero, $zero +/* D9183C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D91840 80240140 AC620000 */ sw $v0, ($v1) +/* D91844 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D91848 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D9184C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D91850 80240150 03E00008 */ jr $ra +/* D91854 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240158_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240158_D91700.s new file mode 100644 index 0000000000..447005e38f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240158_D91700.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D91858 +/* D91858 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9185C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D91860 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D91864 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D91868 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D9186C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D91870 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D91874 80240174 8E020000 */ lw $v0, ($s0) +/* D91878 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D9187C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D91880 80240180 10400061 */ beqz $v0, .L80240308 +/* D91884 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D91888 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D9188C 8024018C 0C044181 */ jal get_shadow_by_index +/* D91890 80240190 00000000 */ nop +/* D91894 80240194 0C048B77 */ jal func_80122DDC +/* D91898 80240198 84440008 */ lh $a0, 8($v0) +/* D9189C 8024019C 8C430000 */ lw $v1, ($v0) +/* D918A0 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D918A4 802401A4 AC430000 */ sw $v1, ($v0) +/* D918A8 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D918AC 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D918B0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D918B4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D918B8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D918BC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D918C0 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D918C4 802401C4 3C04800A */ lui $a0, 0x800a +/* D918C8 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D918CC 802401CC 46000007 */ neg.s $f0, $f0 +/* D918D0 802401D0 44070000 */ mfc1 $a3, $f0 +/* D918D4 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D918D8 802401D8 0C00B94E */ jal get_screen_coords +/* D918DC 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D918E0 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D918E4 802401E4 0C090014 */ jal func_80240050 +/* D918E8 802401E8 00000000 */ nop +/* D918EC 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D918F0 802401F0 3C014307 */ lui $at, 0x4307 +/* D918F4 802401F4 44810000 */ mtc1 $at, $f0 +/* D918F8 802401F8 00000000 */ nop +/* D918FC 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D91900 80240200 00000000 */ nop +/* D91904 80240204 4500000B */ bc1f .L80240234 +/* D91908 80240208 24040002 */ addiu $a0, $zero, 2 +/* D9190C 8024020C 3C014361 */ lui $at, 0x4361 +/* D91910 80240210 44810000 */ mtc1 $at, $f0 +/* D91914 80240214 00000000 */ nop +/* D91918 80240218 4600103C */ c.lt.s $f2, $f0 +/* D9191C 8024021C 00000000 */ nop +/* D91920 80240220 45000004 */ bc1f .L80240234 +/* D91924 80240224 00000000 */ nop +/* D91928 80240228 0C090021 */ jal func_80240084 +/* D9192C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D91930 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D91934 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D91938 80240238 0C0B76A3 */ jal func_802DDA8C +/* D9193C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D91940 80240240 8E020000 */ lw $v0, ($s0) +/* D91944 80240244 3C030002 */ lui $v1, 2 +/* D91948 80240248 00431024 */ and $v0, $v0, $v1 +/* D9194C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D91950 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D91954 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D91958 80240258 3C02802E */ lui $v0, 0x802e +/* D9195C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D91960 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D91964 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D91968 80240268 1040000B */ beqz $v0, .L80240298 +/* D9196C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D91970 80240270 24040002 */ addiu $a0, $zero, 2 +/* D91974 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D91978 80240278 24060007 */ addiu $a2, $zero, 7 +/* D9197C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D91980 80240280 0000382D */ daddu $a3, $zero, $zero +/* D91984 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D91988 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D9198C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D91990 80240290 080900AF */ j .L802402BC +/* D91994 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D91998 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D9199C 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D919A0 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D919A4 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D919A8 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D919AC 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D919B0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D919B4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D919B8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D919BC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D919C0 802402C0 00000000 */ nop +.L802402C4: +/* D919C4 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D919C8 802402C8 3C01802E */ lui $at, 0x802e +/* D919CC 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D919D0 802402D0 080900B9 */ j .L802402E4 +/* D919D4 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D919D8 802402D8 3C01802E */ lui $at, 0x802e +/* D919DC 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D919E0 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D919E4 802402E4 AC910000 */ sw $s1, ($a0) +/* D919E8 802402E8 AC900008 */ sw $s0, 8($a0) +/* D919EC 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D919F0 802402F0 3C038024 */ lui $v1, 0x8024 +/* D919F4 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D919F8 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D919FC 802402FC 00021023 */ negu $v0, $v0 +/* D91A00 80240300 0C047644 */ jal queue_render_task +/* D91A04 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D91A08 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D91A0C 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D91A10 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D91A14 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D91A18 80240318 03E00008 */ jr $ra +/* D91A1C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240320_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240320_D91700.s new file mode 100644 index 0000000000..e9ccb8280d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240320_D91700.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D91A20 +/* D91A20 80240320 3C03800A */ lui $v1, 0x800a +/* D91A24 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D91A28 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D91A2C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D91A30 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D91A34 80240334 4480A000 */ mtc1 $zero, $f20 +/* D91A38 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D91A3C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D91A40 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D91A44 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D91A48 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D91A4C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D91A50 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D91A54 80240354 00031080 */ sll $v0, $v1, 2 +/* D91A58 80240358 00431021 */ addu $v0, $v0, $v1 +/* D91A5C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D91A60 80240360 00431023 */ subu $v0, $v0, $v1 +/* D91A64 80240364 000218C0 */ sll $v1, $v0, 3 +/* D91A68 80240368 00431021 */ addu $v0, $v0, $v1 +/* D91A6C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D91A70 80240370 3C01800B */ lui $at, 0x800b +/* D91A74 80240374 00220821 */ addu $at, $at, $v0 +/* D91A78 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D91A7C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D91A80 80240380 4600B587 */ neg.s $f22, $f22 +/* D91A84 80240384 4405B000 */ mfc1 $a1, $f22 +/* D91A88 80240388 0200202D */ daddu $a0, $s0, $zero +/* D91A8C 8024038C 0C019EC8 */ jal guRotateF +/* D91A90 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D91A94 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D91A98 80240398 0C00A6C9 */ jal clamp_angle +/* D91A9C 8024039C 00000000 */ nop +/* D91AA0 802403A0 44050000 */ mfc1 $a1, $f0 +/* D91AA4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D91AA8 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D91AAC 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D91AB0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D91AB4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D91AB8 802403B8 0C019EC8 */ jal guRotateF +/* D91ABC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D91AC0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D91AC4 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D91AC8 802403C8 0C019D80 */ jal guMtxCatF +/* D91ACC 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D91AD0 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D91AD4 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D91AD8 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D91ADC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D91AE0 802403E0 0C019EC8 */ jal guRotateF +/* D91AE4 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D91AE8 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D91AEC 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D91AF0 802403F0 0C019D80 */ jal guMtxCatF +/* D91AF4 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D91AF8 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D91AFC 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D91B00 80240400 4406A000 */ mfc1 $a2, $f20 +/* D91B04 80240404 4407C000 */ mfc1 $a3, $f24 +/* D91B08 80240408 0C019EC8 */ jal guRotateF +/* D91B0C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D91B10 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D91B14 80240414 0200282D */ daddu $a1, $s0, $zero +/* D91B18 80240418 0C019D80 */ jal guMtxCatF +/* D91B1C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D91B20 80240420 3C013F36 */ lui $at, 0x3f36 +/* D91B24 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D91B28 80240428 44810000 */ mtc1 $at, $f0 +/* D91B2C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D91B30 80240430 44050000 */ mfc1 $a1, $f0 +/* D91B34 80240434 0200202D */ daddu $a0, $s0, $zero +/* D91B38 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D91B3C 8024043C 0C019DF0 */ jal guScaleF +/* D91B40 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D91B44 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D91B48 80240448 0200282D */ daddu $a1, $s0, $zero +/* D91B4C 8024044C 0C019D80 */ jal guMtxCatF +/* D91B50 80240450 0080302D */ daddu $a2, $a0, $zero +/* D91B54 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D91B58 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D91B5C 8024045C 3C014040 */ lui $at, 0x4040 +/* D91B60 80240460 44811000 */ mtc1 $at, $f2 +/* D91B64 80240464 46000007 */ neg.s $f0, $f0 +/* D91B68 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D91B6C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D91B70 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D91B74 80240474 44070000 */ mfc1 $a3, $f0 +/* D91B78 80240478 0C019E40 */ jal guTranslateF +/* D91B7C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D91B80 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D91B84 80240484 0200282D */ daddu $a1, $s0, $zero +/* D91B88 80240488 0C019D80 */ jal guMtxCatF +/* D91B8C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D91B90 80240490 24040002 */ addiu $a0, $zero, 2 +/* D91B94 80240494 0000282D */ daddu $a1, $zero, $zero +/* D91B98 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D91B9C 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D91BA0 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D91BA4 802404A4 0C0B7710 */ jal render_sprite +/* D91BA8 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D91BAC 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D91BB0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D91BB4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D91BB8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D91BBC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D91BC0 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D91BC4 802404C4 03E00008 */ jr $ra +/* D91BC8 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_802404CC_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_802404CC_D91700.s new file mode 100644 index 0000000000..77c4128b8b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_802404CC_D91700.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D91BCC +/* D91BCC 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D91BD0 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D91BD4 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D91BD8 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D91BDC 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D91BE0 802404E0 0440000E */ bltz $v0, .L8024051C +/* D91BE4 802404E4 28420002 */ slti $v0, $v0, 2 +/* D91BE8 802404E8 1040000C */ beqz $v0, .L8024051C +/* D91BEC 802404EC 00000000 */ nop +/* D91BF0 802404F0 3C058024 */ lui $a1, 0x8024 +/* D91BF4 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D91BF8 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D91BFC 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D91C00 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D91C04 80240504 AC620000 */ sw $v0, ($v1) +/* D91C08 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D91C0C 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D91C10 80240510 8C620000 */ lw $v0, ($v1) +/* D91C14 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D91C18 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D91C1C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D91C20 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D91C24 80240524 24020002 */ addiu $v0, $zero, 2 +/* D91C28 80240528 03E00008 */ jr $ra +/* D91C2C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240530_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240530_D91700.s new file mode 100644 index 0000000000..fcaf000306 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240530_D91700.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D91C30 +/* D91C30 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D91C34 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D91C38 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D91C3C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D91C40 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D91C44 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D91C48 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D91C4C 8024054C 8E020000 */ lw $v0, ($s0) +/* D91C50 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D91C54 80240554 30420001 */ andi $v0, $v0, 1 +/* D91C58 80240558 10400052 */ beqz $v0, .L802406A4 +/* D91C5C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D91C60 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D91C64 80240564 0C044181 */ jal get_shadow_by_index +/* D91C68 80240568 00000000 */ nop +/* D91C6C 8024056C 0C048B77 */ jal func_80122DDC +/* D91C70 80240570 84440008 */ lh $a0, 8($v0) +/* D91C74 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D91C78 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D91C7C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D91C80 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D91C84 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D91C88 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D91C8C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D91C90 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D91C94 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D91C98 80240598 3C04800A */ lui $a0, 0x800a +/* D91C9C 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D91CA0 802405A0 46000007 */ neg.s $f0, $f0 +/* D91CA4 802405A4 44060000 */ mfc1 $a2, $f0 +/* D91CA8 802405A8 0C00B94E */ jal get_screen_coords +/* D91CAC 802405AC 00000000 */ nop +/* D91CB0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D91CB4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D91CB8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D91CBC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D91CC0 802405C0 8E020000 */ lw $v0, ($s0) +/* D91CC4 802405C4 3C030002 */ lui $v1, 2 +/* D91CC8 802405C8 00431024 */ and $v0, $v0, $v1 +/* D91CCC 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D91CD0 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D91CD4 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D91CD8 802405D8 3C02802E */ lui $v0, 0x802e +/* D91CDC 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D91CE0 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D91CE4 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D91CE8 802405E8 1040000B */ beqz $v0, .L80240618 +/* D91CEC 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D91CF0 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D91CF4 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D91CF8 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D91CFC 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D91D00 80240600 0000382D */ daddu $a3, $zero, $zero +/* D91D04 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D91D08 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D91D0C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D91D10 80240610 0809018F */ j .L8024063C +/* D91D14 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D91D18 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D91D1C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D91D20 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D91D24 80240624 0000302D */ daddu $a2, $zero, $zero +/* D91D28 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D91D2C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D91D30 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D91D34 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D91D38 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D91D3C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D91D40 80240640 00000000 */ nop +.L80240644: +/* D91D44 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D91D48 80240648 3C01802E */ lui $at, 0x802e +/* D91D4C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D91D50 80240650 08090198 */ j .L80240660 +/* D91D54 80240654 00000000 */ nop +.L80240658: +/* D91D58 80240658 3C01802E */ lui $at, 0x802e +/* D91D5C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D91D60 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D91D64 80240664 3C048024 */ lui $a0, 0x8024 +/* D91D68 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D91D6C 8024066C AE320000 */ sw $s2, ($s1) +/* D91D70 80240670 AE300008 */ sw $s0, 8($s1) +/* D91D74 80240674 00021023 */ negu $v0, $v0 +/* D91D78 80240678 AE220004 */ sw $v0, 4($s1) +/* D91D7C 8024067C 8E020000 */ lw $v0, ($s0) +/* D91D80 80240680 3C030002 */ lui $v1, 2 +/* D91D84 80240684 00431024 */ and $v0, $v0, $v1 +/* D91D88 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D91D8C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D91D90 80240690 3C048024 */ lui $a0, 0x8024 +/* D91D94 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D91D98 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D91D9C 8024069C 0C047644 */ jal queue_render_task +/* D91DA0 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D91DA4 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D91DA8 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D91DAC 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D91DB0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D91DB4 802406B4 03E00008 */ jr $ra +/* D91DB8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_802406BC_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_802406BC_D91700.s new file mode 100644 index 0000000000..24de2adffc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_802406BC_D91700.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D91DBC +/* D91DBC 802406BC 3C03800A */ lui $v1, 0x800a +/* D91DC0 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D91DC4 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D91DC8 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D91DCC 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D91DD0 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D91DD4 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D91DD8 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D91DDC 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D91DE0 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D91DE4 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D91DE8 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D91DEC 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D91DF0 802406F0 00031080 */ sll $v0, $v1, 2 +/* D91DF4 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D91DF8 802406F8 00021080 */ sll $v0, $v0, 2 +/* D91DFC 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D91E00 80240700 000218C0 */ sll $v1, $v0, 3 +/* D91E04 80240704 00431021 */ addu $v0, $v0, $v1 +/* D91E08 80240708 000210C0 */ sll $v0, $v0, 3 +/* D91E0C 8024070C 3C01800B */ lui $at, 0x800b +/* D91E10 80240710 00220821 */ addu $at, $at, $v0 +/* D91E14 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D91E18 80240718 4406A000 */ mfc1 $a2, $f20 +/* D91E1C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D91E20 80240720 4405B000 */ mfc1 $a1, $f22 +/* D91E24 80240724 0200202D */ daddu $a0, $s0, $zero +/* D91E28 80240728 0C019EC8 */ jal guRotateF +/* D91E2C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D91E30 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D91E34 80240734 0C00A6C9 */ jal clamp_angle +/* D91E38 80240738 00000000 */ nop +/* D91E3C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D91E40 80240740 4406A000 */ mfc1 $a2, $f20 +/* D91E44 80240744 4407A000 */ mfc1 $a3, $f20 +/* D91E48 80240748 3C013F80 */ lui $at, 0x3f80 +/* D91E4C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D91E50 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D91E54 80240754 0C019EC8 */ jal guRotateF +/* D91E58 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D91E5C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D91E60 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D91E64 80240764 0C019D80 */ jal guMtxCatF +/* D91E68 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D91E6C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D91E70 80240770 4406A000 */ mfc1 $a2, $f20 +/* D91E74 80240774 4407C000 */ mfc1 $a3, $f24 +/* D91E78 80240778 0200202D */ daddu $a0, $s0, $zero +/* D91E7C 8024077C 0C019EC8 */ jal guRotateF +/* D91E80 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D91E84 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D91E88 80240788 0200282D */ daddu $a1, $s0, $zero +/* D91E8C 8024078C 0C019D80 */ jal guMtxCatF +/* D91E90 80240790 0080302D */ daddu $a2, $a0, $zero +/* D91E94 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D91E98 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D91E9C 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D91EA0 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D91EA4 802407A4 0C019EC8 */ jal guRotateF +/* D91EA8 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D91EAC 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D91EB0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D91EB4 802407B4 0C019D80 */ jal guMtxCatF +/* D91EB8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D91EBC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D91EC0 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D91EC4 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D91EC8 802407C8 44810000 */ mtc1 $at, $f0 +/* D91ECC 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D91ED0 802407D0 44050000 */ mfc1 $a1, $f0 +/* D91ED4 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D91ED8 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D91EDC 802407DC 0C019DF0 */ jal guScaleF +/* D91EE0 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D91EE4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D91EE8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D91EEC 802407EC 0C019D80 */ jal guMtxCatF +/* D91EF0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D91EF4 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D91EF8 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D91EFC 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D91F00 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D91F04 80240804 46000007 */ neg.s $f0, $f0 +/* D91F08 80240808 44060000 */ mfc1 $a2, $f0 +/* D91F0C 8024080C 0C019E40 */ jal guTranslateF +/* D91F10 80240810 0200202D */ daddu $a0, $s0, $zero +/* D91F14 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D91F18 80240818 0200282D */ daddu $a1, $s0, $zero +/* D91F1C 8024081C 0C019D80 */ jal guMtxCatF +/* D91F20 80240820 0080302D */ daddu $a2, $a0, $zero +/* D91F24 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D91F28 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D91F2C 8024082C 44810000 */ mtc1 $at, $f0 +/* D91F30 80240830 00000000 */ nop +/* D91F34 80240834 4602003E */ c.le.s $f0, $f2 +/* D91F38 80240838 00000000 */ nop +/* D91F3C 8024083C 4500000A */ bc1f .L80240868 +/* D91F40 80240840 24040001 */ addiu $a0, $zero, 1 +/* D91F44 80240844 3C014387 */ lui $at, 0x4387 +/* D91F48 80240848 44810000 */ mtc1 $at, $f0 +/* D91F4C 8024084C 00000000 */ nop +/* D91F50 80240850 4600103C */ c.lt.s $f2, $f0 +/* D91F54 80240854 00000000 */ nop +/* D91F58 80240858 45000004 */ bc1f .L8024086C +/* D91F5C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D91F60 80240860 3C041000 */ lui $a0, 0x1000 +/* D91F64 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D91F68 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D91F6C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D91F70 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D91F74 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D91F78 80240878 0C0B7710 */ jal render_sprite +/* D91F7C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D91F80 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D91F84 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D91F88 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D91F8C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D91F90 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D91F94 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D91F98 80240898 03E00008 */ jr $ra +/* D91F9C 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_802408A0_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_802408A0_D91700.s new file mode 100644 index 0000000000..475a4d3f79 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_802408A0_D91700.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D91FA0 +/* D91FA0 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D91FA4 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D91FA8 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D91FAC 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D91FB0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D91FB4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D91FB8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D91FBC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D91FC0 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D91FC4 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D91FC8 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D91FCC 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D91FD0 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D91FD4 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D91FD8 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D91FDC 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D91FE0 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D91FE4 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D91FE8 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D91FEC 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D91FF0 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D91FF4 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D91FF8 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D91FFC 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D92000 80240900 3C03800A */ lui $v1, 0x800a +/* D92004 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D92008 80240908 00031080 */ sll $v0, $v1, 2 +/* D9200C 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D92010 80240910 00021080 */ sll $v0, $v0, 2 +/* D92014 80240914 00431023 */ subu $v0, $v0, $v1 +/* D92018 80240918 000218C0 */ sll $v1, $v0, 3 +/* D9201C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D92020 80240920 000210C0 */ sll $v0, $v0, 3 +/* D92024 80240924 00561021 */ addu $v0, $v0, $s6 +/* D92028 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D9202C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D92030 80240930 46000507 */ neg.s $f20, $f0 +/* D92034 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D92038 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D9203C 8024093C 44810000 */ mtc1 $at, $f0 +/* D92040 80240940 00000000 */ nop +/* D92044 80240944 4602003C */ c.lt.s $f0, $f2 +/* D92048 80240948 00000000 */ nop +/* D9204C 8024094C 4500000A */ bc1f .L80240978 +/* D92050 80240950 00000000 */ nop +/* D92054 80240954 3C014334 */ lui $at, 0x4334 +/* D92058 80240958 44812000 */ mtc1 $at, $f4 +/* D9205C 8024095C 00000000 */ nop +/* D92060 80240960 4604103E */ c.le.s $f2, $f4 +/* D92064 80240964 00000000 */ nop +/* D92068 80240968 45000003 */ bc1f .L80240978 +/* D9206C 8024096C 00000000 */ nop +/* D92070 80240970 08090282 */ j .L80240A08 +/* D92074 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D92078 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D9207C 8024097C 3C014334 */ lui $at, 0x4334 +/* D92080 80240980 44812000 */ mtc1 $at, $f4 +/* D92084 80240984 00000000 */ nop +/* D92088 80240988 4600203C */ c.lt.s $f4, $f0 +/* D9208C 8024098C 00000000 */ nop +/* D92090 80240990 4500000C */ bc1f .L802409C4 +/* D92094 80240994 00000000 */ nop +/* D92098 80240998 3C014387 */ lui $at, 0x4387 +/* D9209C 8024099C 44812000 */ mtc1 $at, $f4 +/* D920A0 802409A0 00000000 */ nop +/* D920A4 802409A4 4604003E */ c.le.s $f0, $f4 +/* D920A8 802409A8 00000000 */ nop +/* D920AC 802409AC 45000008 */ bc1f .L802409D0 +/* D920B0 802409B0 00000000 */ nop +/* D920B4 802409B4 3C014334 */ lui $at, 0x4334 +/* D920B8 802409B8 44812000 */ mtc1 $at, $f4 +/* D920BC 802409BC 08090282 */ j .L80240A08 +/* D920C0 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D920C4 802409C4 3C014387 */ lui $at, 0x4387 +/* D920C8 802409C8 44812000 */ mtc1 $at, $f4 +/* D920CC 802409CC 00000000 */ nop +.L802409D0: +/* D920D0 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D920D4 802409D4 00000000 */ nop +/* D920D8 802409D8 4500000A */ bc1f .L80240A04 +/* D920DC 802409DC 00000000 */ nop +/* D920E0 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D920E4 802409E4 44811000 */ mtc1 $at, $f2 +/* D920E8 802409E8 00000000 */ nop +/* D920EC 802409EC 4602003E */ c.le.s $f0, $f2 +/* D920F0 802409F0 00000000 */ nop +/* D920F4 802409F4 45000003 */ bc1f .L80240A04 +/* D920F8 802409F8 00000000 */ nop +/* D920FC 802409FC 08090282 */ j .L80240A08 +/* D92100 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D92104 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D92108 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D9210C 80240A0C 44810000 */ mtc1 $at, $f0 +/* D92110 80240A10 00000000 */ nop +/* D92114 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D92118 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D9211C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D92120 80240A20 00000000 */ nop +/* D92124 80240A24 00071100 */ sll $v0, $a3, 4 +/* D92128 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D9212C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D92130 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D92134 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D92138 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D9213C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D92140 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D92144 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D92148 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D9214C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D92150 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D92154 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D92158 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D9215C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D92160 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D92164 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D92168 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D9216C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D92170 80240A70 0C019EC8 */ jal guRotateF +/* D92174 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D92178 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D9217C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D92180 80240A80 00000000 */ nop +/* D92184 80240A84 44050000 */ mfc1 $a1, $f0 +/* D92188 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D9218C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D92190 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D92194 80240A94 44812000 */ mtc1 $at, $f4 +/* D92198 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D9219C 80240A9C 0C019EC8 */ jal guRotateF +/* D921A0 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D921A4 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D921A8 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D921AC 80240AAC 0C019D80 */ jal guMtxCatF +/* D921B0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D921B4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D921B8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D921BC 80240ABC 080902E2 */ j .L80240B88 +/* D921C0 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D921C4 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D921C8 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D921CC 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D921D0 80240AD0 0C03964E */ jal func_800E5938 +/* D921D4 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D921D8 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D921DC 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D921E0 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D921E4 80240AE4 46000606 */ mov.s $f24, $f0 +/* D921E8 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D921EC 80240AEC 080902C1 */ j .L80240B04 +/* D921F0 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D921F4 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D921F8 80240AF8 00000000 */ nop +/* D921FC 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D92200 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D92204 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D92208 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D9220C 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D92210 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D92214 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D92218 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D9221C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D92220 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D92224 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D92228 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D9222C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D92230 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D92234 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D92238 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D9223C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D92240 80240B40 0C019EC8 */ jal guRotateF +/* D92244 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D92248 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D9224C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D92250 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D92254 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D92258 80240B58 0C019EC8 */ jal guRotateF +/* D9225C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D92260 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D92264 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D92268 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D9226C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D92270 80240B70 0C019EC8 */ jal guRotateF +/* D92274 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D92278 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D9227C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D92280 80240B80 0C019D80 */ jal guMtxCatF +/* D92284 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D92288 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D9228C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D92290 80240B90 44812000 */ mtc1 $at, $f4 +/* D92294 80240B94 00021023 */ negu $v0, $v0 +/* D92298 80240B98 44820000 */ mtc1 $v0, $f0 +/* D9229C 80240B9C 00000000 */ nop +/* D922A0 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D922A4 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D922A8 80240BA8 00000000 */ nop +/* D922AC 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D922B0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D922B4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D922B8 80240BB8 0C019E40 */ jal guTranslateF +/* D922BC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D922C0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D922C4 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D922C8 80240BC8 0C019D80 */ jal guMtxCatF +/* D922CC 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D922D0 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D922D4 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D922D8 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D922DC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D922E0 80240BE0 0C019EC8 */ jal guRotateF +/* D922E4 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D922E8 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D922EC 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D922F0 80240BF0 0C019D80 */ jal guMtxCatF +/* D922F4 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D922F8 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D922FC 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D92300 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D92304 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D92308 80240C08 0C019EC8 */ jal guRotateF +/* D9230C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D92310 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D92314 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D92318 80240C18 0C019D80 */ jal guMtxCatF +/* D9231C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D92320 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D92324 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D92328 80240C28 44812000 */ mtc1 $at, $f4 +/* D9232C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D92330 80240C30 00000000 */ nop +/* D92334 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D92338 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D9233C 80240C3C 00000000 */ nop +/* D92340 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D92344 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D92348 80240C48 44062000 */ mfc1 $a2, $f4 +/* D9234C 80240C4C 0C019E40 */ jal guTranslateF +/* D92350 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D92354 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D92358 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D9235C 80240C5C 0C019D80 */ jal guMtxCatF +/* D92360 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D92364 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D92368 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D9236C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D92370 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D92374 80240C74 44050000 */ mfc1 $a1, $f0 +/* D92378 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D9237C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D92380 80240C80 0C019DF0 */ jal guScaleF +/* D92384 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D92388 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D9238C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D92390 80240C90 0C019D80 */ jal guMtxCatF +/* D92394 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D92398 80240C98 4600D687 */ neg.s $f26, $f26 +/* D9239C 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D923A0 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D923A4 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D923A8 80240CA8 0C019E40 */ jal guTranslateF +/* D923AC 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D923B0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D923B4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D923B8 80240CB8 0C019D80 */ jal guMtxCatF +/* D923BC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D923C0 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D923C4 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D923C8 80240CC8 44810000 */ mtc1 $at, $f0 +/* D923CC 80240CCC 00000000 */ nop +/* D923D0 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D923D4 80240CD4 00000000 */ nop +/* D923D8 80240CD8 4500000A */ bc1f .L80240D04 +/* D923DC 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D923E0 80240CE0 3C014387 */ lui $at, 0x4387 +/* D923E4 80240CE4 44812000 */ mtc1 $at, $f4 +/* D923E8 80240CE8 00000000 */ nop +/* D923EC 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D923F0 80240CF0 00000000 */ nop +/* D923F4 80240CF4 45000004 */ bc1f .L80240D08 +/* D923F8 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D923FC 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D92400 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D92404 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D92408 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D9240C 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D92410 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D92414 80240D14 0C0B7710 */ jal render_sprite +/* D92418 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D9241C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D92420 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D92424 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D92428 80240D28 00000000 */ nop +/* D9242C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D92430 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D92434 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D92438 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D9243C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D92440 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D92444 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D92448 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D9244C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D92450 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D92454 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D92458 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D9245C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D92460 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D92464 80240D64 03E00008 */ jr $ra +/* D92468 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240D6C_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240D6C_D91700.s new file mode 100644 index 0000000000..0bbdcff77d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240D6C_D91700.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D9246C +/* D9246C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D92470 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D92474 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D92478 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D9247C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D92480 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D92484 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D92488 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D9248C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D92490 80240D90 00000000 */ nop +/* D92494 80240D94 28620002 */ slti $v0, $v1, 2 +/* D92498 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D9249C 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D924A0 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D924A4 80240DA4 00000000 */ nop +/* D924A8 80240DA8 08090384 */ j .L80240E10 +/* D924AC 80240DAC 00000000 */ nop +.L80240DB0: +/* D924B0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D924B4 80240DB4 00000000 */ nop +/* D924B8 80240DB8 08090384 */ j .L80240E10 +/* D924BC 80240DBC 00000000 */ nop +.L80240DC0: +/* D924C0 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D924C4 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D924C8 80240DC8 08090380 */ j .L80240E00 +/* D924CC 80240DCC 00000000 */ nop +.L80240DD0: +/* D924D0 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D924D4 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D924D8 80240DD8 08090380 */ j .L80240E00 +/* D924DC 80240DDC 00000000 */ nop +.L80240DE0: +/* D924E0 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D924E4 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D924E8 80240DE8 00000000 */ nop +/* D924EC 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D924F0 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D924F4 80240DF4 00000000 */ nop +.L80240DF8: +/* D924F8 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D924FC 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D92500 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D92504 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D92508 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D9250C 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D92510 80240E10 0C00EAD2 */ jal get_npc_safe +/* D92514 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D92518 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D9251C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D92520 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D92524 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D92528 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D9252C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D92530 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D92534 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D92538 80240E38 28820002 */ slti $v0, $a0, 2 +/* D9253C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D92540 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D92544 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D92548 80240E48 00000000 */ nop +/* D9254C 80240E4C 080903A9 */ j .L80240EA4 +/* D92550 80240E50 00000000 */ nop +.L80240E54: +/* D92554 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D92558 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D9255C 80240E5C 080903A9 */ j .L80240EA4 +/* D92560 80240E60 00000000 */ nop +.L80240E64: +/* D92564 80240E64 8CA20000 */ lw $v0, ($a1) +/* D92568 80240E68 080903A6 */ j .L80240E98 +/* D9256C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D92570 80240E70 8CA20000 */ lw $v0, ($a1) +/* D92574 80240E74 080903A6 */ j .L80240E98 +/* D92578 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D9257C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D92580 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D92584 80240E84 28420002 */ slti $v0, $v0, 2 +/* D92588 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D9258C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D92590 80240E90 8CA20000 */ lw $v0, ($a1) +/* D92594 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D92598 80240E98 00431025 */ or $v0, $v0, $v1 +/* D9259C 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D925A0 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D925A4 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D925A8 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D925AC 80240EAC 03E00008 */ jr $ra +/* D925B0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240EB4_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240EB4_D91700.s new file mode 100644 index 0000000000..54be3fa4c2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240EB4_D91700.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D925B4 +/* D925B4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D925B8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D925BC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D925C0 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D925C4 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D925C8 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D925CC 80240ECC 3C03000A */ lui $v1, 0xa +/* D925D0 80240ED0 8C820000 */ lw $v0, ($a0) +/* D925D4 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D925D8 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D925DC 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D925E0 80240EE0 03E00008 */ jr $ra +/* D925E4 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240EE8_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240EE8_D91700.s new file mode 100644 index 0000000000..31bc9968b3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240EE8_D91700.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D925E8 +/* D925E8 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D925EC 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D925F0 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D925F4 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D925F8 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D925FC 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D92600 80240F00 3C030008 */ lui $v1, 8 +/* D92604 80240F04 8C820000 */ lw $v0, ($a0) +/* D92608 80240F08 00431025 */ or $v0, $v0, $v1 +/* D9260C 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D92610 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D92614 80240F14 03E00008 */ jr $ra +/* D92618 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_36/func_80240F1C_D91700.s b/asm/nonmatchings/world/area_pra/pra_36/func_80240F1C_D91700.s new file mode 100644 index 0000000000..da883f24f1 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_36/func_80240F1C_D91700.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D9261C +/* D9261C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D92620 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D92624 80240F24 0C00EAD2 */ jal get_npc_safe +/* D92628 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D9262C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D92630 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D92634 80240F34 3C030002 */ lui $v1, 2 +/* D92638 80240F38 8C820000 */ lw $v0, ($a0) +/* D9263C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D92640 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D92644 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D92648 80240F48 03E00008 */ jr $ra +/* D9264C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240000_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240000_D92F40.s new file mode 100644 index 0000000000..55b680a461 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240000_D92F40.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D92F40 +/* D92F40 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D92F44 80240004 3C04800E */ lui $a0, 0x800e +/* D92F48 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D92F4C 8024000C 3C058024 */ lui $a1, 0x8024 +/* D92F50 80240010 24A524E0 */ addiu $a1, $a1, 0x24e0 +/* D92F54 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D92F58 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D92F5C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D92F60 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D92F64 80240024 0C01953C */ jal sprintf +/* D92F68 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D92F6C 8024002C 3C04800E */ lui $a0, 0x800e +/* D92F70 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D92F74 80240034 3C058024 */ lui $a1, 0x8024 +/* D92F78 80240038 0C01953C */ jal sprintf +/* D92F7C 8024003C 24A524F0 */ addiu $a1, $a1, 0x24f0 +/* D92F80 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D92F84 80240044 0000102D */ daddu $v0, $zero, $zero +/* D92F88 80240048 03E00008 */ jr $ra +/* D92F8C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240050_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240050_D92F40.s new file mode 100644 index 0000000000..cae6353cb9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240050_D92F40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D92F90 +/* D92F90 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D92F94 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D92F98 80240058 00822024 */ and $a0, $a0, $v0 +/* D92F9C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D92FA0 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D92FA4 80240064 00821821 */ addu $v1, $a0, $v0 +/* D92FA8 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D92FAC 8024006C 10400003 */ beqz $v0, .L8024007C +/* D92FB0 80240070 30620001 */ andi $v0, $v1, 1 +/* D92FB4 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D92FB8 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D92FBC 8024007C 03E00008 */ jr $ra +/* D92FC0 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240084_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240084_D92F40.s new file mode 100644 index 0000000000..adfb8279e8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240084_D92F40.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D92FC4 +/* D92FC4 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D92FC8 80240088 304300FF */ andi $v1, $v0, 0xff +/* D92FCC 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D92FD0 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D92FD4 80240094 28620007 */ slti $v0, $v1, 7 +/* D92FD8 80240098 10400005 */ beqz $v0, .L802400B0 +/* D92FDC 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D92FE0 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D92FE4 802400A4 3C020100 */ lui $v0, 0x100 +/* D92FE8 802400A8 03E00008 */ jr $ra +/* D92FEC 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D92FF0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D92FF4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D92FF8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D92FFC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D93000 802400C0 3C020100 */ lui $v0, 0x100 +/* D93004 802400C4 03E00008 */ jr $ra +/* D93008 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D9300C 802400CC 3C020001 */ lui $v0, 1 +/* D93010 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D93014 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D93018 802400D8 1040000E */ beqz $v0, .L80240114 +/* D9301C 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D93020 802400E0 03E00008 */ jr $ra +/* D93024 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D93028 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D9302C 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D93030 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D93034 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D93038 802400F8 10400005 */ beqz $v0, .L80240110 +/* D9303C 802400FC 30620001 */ andi $v0, $v1, 1 +/* D93040 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D93044 80240104 24820001 */ addiu $v0, $a0, 1 +/* D93048 80240108 03E00008 */ jr $ra +/* D9304C 8024010C 00000000 */ nop +.L80240110: +/* D93050 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D93054 80240114 03E00008 */ jr $ra +/* D93058 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_8024011C_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_8024011C_D92F40.s new file mode 100644 index 0000000000..c12624a85e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_8024011C_D92F40.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D9305C +/* D9305C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93060 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D93064 80240124 0080802D */ daddu $s0, $a0, $zero +/* D93068 80240128 3C058024 */ lui $a1, 0x8024 +/* D9306C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D93070 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D93074 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D93078 80240138 0000202D */ daddu $a0, $zero, $zero +/* D9307C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D93080 80240140 AC620000 */ sw $v0, ($v1) +/* D93084 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D93088 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D9308C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D93090 80240150 03E00008 */ jr $ra +/* D93094 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240158_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240158_D92F40.s new file mode 100644 index 0000000000..da446aa502 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240158_D92F40.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D93098 +/* D93098 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9309C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D930A0 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D930A4 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D930A8 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D930AC 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D930B0 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D930B4 80240174 8E020000 */ lw $v0, ($s0) +/* D930B8 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D930BC 8024017C 30420001 */ andi $v0, $v0, 1 +/* D930C0 80240180 10400061 */ beqz $v0, .L80240308 +/* D930C4 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D930C8 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D930CC 8024018C 0C044181 */ jal get_shadow_by_index +/* D930D0 80240190 00000000 */ nop +/* D930D4 80240194 0C048B77 */ jal func_80122DDC +/* D930D8 80240198 84440008 */ lh $a0, 8($v0) +/* D930DC 8024019C 8C430000 */ lw $v1, ($v0) +/* D930E0 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D930E4 802401A4 AC430000 */ sw $v1, ($v0) +/* D930E8 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D930EC 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D930F0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D930F4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D930F8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D930FC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D93100 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D93104 802401C4 3C04800A */ lui $a0, 0x800a +/* D93108 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D9310C 802401CC 46000007 */ neg.s $f0, $f0 +/* D93110 802401D0 44070000 */ mfc1 $a3, $f0 +/* D93114 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D93118 802401D8 0C00B94E */ jal get_screen_coords +/* D9311C 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D93120 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D93124 802401E4 0C090014 */ jal func_80240050 +/* D93128 802401E8 00000000 */ nop +/* D9312C 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D93130 802401F0 3C014307 */ lui $at, 0x4307 +/* D93134 802401F4 44810000 */ mtc1 $at, $f0 +/* D93138 802401F8 00000000 */ nop +/* D9313C 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D93140 80240200 00000000 */ nop +/* D93144 80240204 4500000B */ bc1f .L80240234 +/* D93148 80240208 24040002 */ addiu $a0, $zero, 2 +/* D9314C 8024020C 3C014361 */ lui $at, 0x4361 +/* D93150 80240210 44810000 */ mtc1 $at, $f0 +/* D93154 80240214 00000000 */ nop +/* D93158 80240218 4600103C */ c.lt.s $f2, $f0 +/* D9315C 8024021C 00000000 */ nop +/* D93160 80240220 45000004 */ bc1f .L80240234 +/* D93164 80240224 00000000 */ nop +/* D93168 80240228 0C090021 */ jal func_80240084 +/* D9316C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D93170 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D93174 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D93178 80240238 0C0B76A3 */ jal func_802DDA8C +/* D9317C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D93180 80240240 8E020000 */ lw $v0, ($s0) +/* D93184 80240244 3C030002 */ lui $v1, 2 +/* D93188 80240248 00431024 */ and $v0, $v0, $v1 +/* D9318C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D93190 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D93194 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D93198 80240258 3C02802E */ lui $v0, 0x802e +/* D9319C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D931A0 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D931A4 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D931A8 80240268 1040000B */ beqz $v0, .L80240298 +/* D931AC 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D931B0 80240270 24040002 */ addiu $a0, $zero, 2 +/* D931B4 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D931B8 80240278 24060007 */ addiu $a2, $zero, 7 +/* D931BC 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D931C0 80240280 0000382D */ daddu $a3, $zero, $zero +/* D931C4 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D931C8 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D931CC 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D931D0 80240290 080900AF */ j .L802402BC +/* D931D4 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D931D8 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D931DC 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D931E0 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D931E4 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D931E8 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D931EC 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D931F0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D931F4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D931F8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D931FC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D93200 802402C0 00000000 */ nop +.L802402C4: +/* D93204 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D93208 802402C8 3C01802E */ lui $at, 0x802e +/* D9320C 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D93210 802402D0 080900B9 */ j .L802402E4 +/* D93214 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D93218 802402D8 3C01802E */ lui $at, 0x802e +/* D9321C 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D93220 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D93224 802402E4 AC910000 */ sw $s1, ($a0) +/* D93228 802402E8 AC900008 */ sw $s0, 8($a0) +/* D9322C 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D93230 802402F0 3C038024 */ lui $v1, 0x8024 +/* D93234 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D93238 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D9323C 802402FC 00021023 */ negu $v0, $v0 +/* D93240 80240300 0C047644 */ jal queue_render_task +/* D93244 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D93248 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D9324C 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D93250 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D93254 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D93258 80240318 03E00008 */ jr $ra +/* D9325C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240320_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240320_D92F40.s new file mode 100644 index 0000000000..a49931f928 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240320_D92F40.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D93260 +/* D93260 80240320 3C03800A */ lui $v1, 0x800a +/* D93264 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D93268 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D9326C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D93270 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D93274 80240334 4480A000 */ mtc1 $zero, $f20 +/* D93278 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D9327C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D93280 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D93284 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D93288 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D9328C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D93290 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D93294 80240354 00031080 */ sll $v0, $v1, 2 +/* D93298 80240358 00431021 */ addu $v0, $v0, $v1 +/* D9329C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D932A0 80240360 00431023 */ subu $v0, $v0, $v1 +/* D932A4 80240364 000218C0 */ sll $v1, $v0, 3 +/* D932A8 80240368 00431021 */ addu $v0, $v0, $v1 +/* D932AC 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D932B0 80240370 3C01800B */ lui $at, 0x800b +/* D932B4 80240374 00220821 */ addu $at, $at, $v0 +/* D932B8 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D932BC 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D932C0 80240380 4600B587 */ neg.s $f22, $f22 +/* D932C4 80240384 4405B000 */ mfc1 $a1, $f22 +/* D932C8 80240388 0200202D */ daddu $a0, $s0, $zero +/* D932CC 8024038C 0C019EC8 */ jal guRotateF +/* D932D0 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D932D4 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D932D8 80240398 0C00A6C9 */ jal clamp_angle +/* D932DC 8024039C 00000000 */ nop +/* D932E0 802403A0 44050000 */ mfc1 $a1, $f0 +/* D932E4 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D932E8 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D932EC 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D932F0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D932F4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D932F8 802403B8 0C019EC8 */ jal guRotateF +/* D932FC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D93300 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D93304 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D93308 802403C8 0C019D80 */ jal guMtxCatF +/* D9330C 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D93310 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D93314 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D93318 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D9331C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D93320 802403E0 0C019EC8 */ jal guRotateF +/* D93324 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D93328 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D9332C 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D93330 802403F0 0C019D80 */ jal guMtxCatF +/* D93334 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D93338 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D9333C 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D93340 80240400 4406A000 */ mfc1 $a2, $f20 +/* D93344 80240404 4407C000 */ mfc1 $a3, $f24 +/* D93348 80240408 0C019EC8 */ jal guRotateF +/* D9334C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D93350 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D93354 80240414 0200282D */ daddu $a1, $s0, $zero +/* D93358 80240418 0C019D80 */ jal guMtxCatF +/* D9335C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D93360 80240420 3C013F36 */ lui $at, 0x3f36 +/* D93364 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D93368 80240428 44810000 */ mtc1 $at, $f0 +/* D9336C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D93370 80240430 44050000 */ mfc1 $a1, $f0 +/* D93374 80240434 0200202D */ daddu $a0, $s0, $zero +/* D93378 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D9337C 8024043C 0C019DF0 */ jal guScaleF +/* D93380 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D93384 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D93388 80240448 0200282D */ daddu $a1, $s0, $zero +/* D9338C 8024044C 0C019D80 */ jal guMtxCatF +/* D93390 80240450 0080302D */ daddu $a2, $a0, $zero +/* D93394 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D93398 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D9339C 8024045C 3C014040 */ lui $at, 0x4040 +/* D933A0 80240460 44811000 */ mtc1 $at, $f2 +/* D933A4 80240464 46000007 */ neg.s $f0, $f0 +/* D933A8 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D933AC 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D933B0 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D933B4 80240474 44070000 */ mfc1 $a3, $f0 +/* D933B8 80240478 0C019E40 */ jal guTranslateF +/* D933BC 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D933C0 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D933C4 80240484 0200282D */ daddu $a1, $s0, $zero +/* D933C8 80240488 0C019D80 */ jal guMtxCatF +/* D933CC 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D933D0 80240490 24040002 */ addiu $a0, $zero, 2 +/* D933D4 80240494 0000282D */ daddu $a1, $zero, $zero +/* D933D8 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D933DC 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D933E0 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D933E4 802404A4 0C0B7710 */ jal render_sprite +/* D933E8 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D933EC 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D933F0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D933F4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D933F8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D933FC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D93400 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D93404 802404C4 03E00008 */ jr $ra +/* D93408 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_802404CC_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_802404CC_D92F40.s new file mode 100644 index 0000000000..7e1df09ed3 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_802404CC_D92F40.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D9340C +/* D9340C 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93410 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D93414 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D93418 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D9341C 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D93420 802404E0 0440000E */ bltz $v0, .L8024051C +/* D93424 802404E4 28420002 */ slti $v0, $v0, 2 +/* D93428 802404E8 1040000C */ beqz $v0, .L8024051C +/* D9342C 802404EC 00000000 */ nop +/* D93430 802404F0 3C058024 */ lui $a1, 0x8024 +/* D93434 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D93438 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D9343C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D93440 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D93444 80240504 AC620000 */ sw $v0, ($v1) +/* D93448 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D9344C 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D93450 80240510 8C620000 */ lw $v0, ($v1) +/* D93454 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D93458 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D9345C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D93460 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D93464 80240524 24020002 */ addiu $v0, $zero, 2 +/* D93468 80240528 03E00008 */ jr $ra +/* D9346C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240530_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240530_D92F40.s new file mode 100644 index 0000000000..cfd19f893e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240530_D92F40.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D93470 +/* D93470 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D93474 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D93478 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D9347C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D93480 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D93484 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D93488 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D9348C 8024054C 8E020000 */ lw $v0, ($s0) +/* D93490 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D93494 80240554 30420001 */ andi $v0, $v0, 1 +/* D93498 80240558 10400052 */ beqz $v0, .L802406A4 +/* D9349C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D934A0 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D934A4 80240564 0C044181 */ jal get_shadow_by_index +/* D934A8 80240568 00000000 */ nop +/* D934AC 8024056C 0C048B77 */ jal func_80122DDC +/* D934B0 80240570 84440008 */ lh $a0, 8($v0) +/* D934B4 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D934B8 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D934BC 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D934C0 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D934C4 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D934C8 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D934CC 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D934D0 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D934D4 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D934D8 80240598 3C04800A */ lui $a0, 0x800a +/* D934DC 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D934E0 802405A0 46000007 */ neg.s $f0, $f0 +/* D934E4 802405A4 44060000 */ mfc1 $a2, $f0 +/* D934E8 802405A8 0C00B94E */ jal get_screen_coords +/* D934EC 802405AC 00000000 */ nop +/* D934F0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D934F4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D934F8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D934FC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D93500 802405C0 8E020000 */ lw $v0, ($s0) +/* D93504 802405C4 3C030002 */ lui $v1, 2 +/* D93508 802405C8 00431024 */ and $v0, $v0, $v1 +/* D9350C 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D93510 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D93514 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D93518 802405D8 3C02802E */ lui $v0, 0x802e +/* D9351C 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D93520 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D93524 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D93528 802405E8 1040000B */ beqz $v0, .L80240618 +/* D9352C 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D93530 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D93534 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D93538 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D9353C 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D93540 80240600 0000382D */ daddu $a3, $zero, $zero +/* D93544 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D93548 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D9354C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D93550 80240610 0809018F */ j .L8024063C +/* D93554 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D93558 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D9355C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D93560 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D93564 80240624 0000302D */ daddu $a2, $zero, $zero +/* D93568 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D9356C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D93570 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D93574 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D93578 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D9357C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D93580 80240640 00000000 */ nop +.L80240644: +/* D93584 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D93588 80240648 3C01802E */ lui $at, 0x802e +/* D9358C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D93590 80240650 08090198 */ j .L80240660 +/* D93594 80240654 00000000 */ nop +.L80240658: +/* D93598 80240658 3C01802E */ lui $at, 0x802e +/* D9359C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D935A0 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D935A4 80240664 3C048024 */ lui $a0, 0x8024 +/* D935A8 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D935AC 8024066C AE320000 */ sw $s2, ($s1) +/* D935B0 80240670 AE300008 */ sw $s0, 8($s1) +/* D935B4 80240674 00021023 */ negu $v0, $v0 +/* D935B8 80240678 AE220004 */ sw $v0, 4($s1) +/* D935BC 8024067C 8E020000 */ lw $v0, ($s0) +/* D935C0 80240680 3C030002 */ lui $v1, 2 +/* D935C4 80240684 00431024 */ and $v0, $v0, $v1 +/* D935C8 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D935CC 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D935D0 80240690 3C048024 */ lui $a0, 0x8024 +/* D935D4 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D935D8 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D935DC 8024069C 0C047644 */ jal queue_render_task +/* D935E0 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D935E4 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D935E8 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D935EC 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D935F0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D935F4 802406B4 03E00008 */ jr $ra +/* D935F8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_802406BC_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_802406BC_D92F40.s new file mode 100644 index 0000000000..9ecfb102a5 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_802406BC_D92F40.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D935FC +/* D935FC 802406BC 3C03800A */ lui $v1, 0x800a +/* D93600 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D93604 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D93608 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D9360C 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D93610 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D93614 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D93618 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D9361C 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D93620 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D93624 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D93628 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D9362C 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D93630 802406F0 00031080 */ sll $v0, $v1, 2 +/* D93634 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D93638 802406F8 00021080 */ sll $v0, $v0, 2 +/* D9363C 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D93640 80240700 000218C0 */ sll $v1, $v0, 3 +/* D93644 80240704 00431021 */ addu $v0, $v0, $v1 +/* D93648 80240708 000210C0 */ sll $v0, $v0, 3 +/* D9364C 8024070C 3C01800B */ lui $at, 0x800b +/* D93650 80240710 00220821 */ addu $at, $at, $v0 +/* D93654 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D93658 80240718 4406A000 */ mfc1 $a2, $f20 +/* D9365C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D93660 80240720 4405B000 */ mfc1 $a1, $f22 +/* D93664 80240724 0200202D */ daddu $a0, $s0, $zero +/* D93668 80240728 0C019EC8 */ jal guRotateF +/* D9366C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D93670 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D93674 80240734 0C00A6C9 */ jal clamp_angle +/* D93678 80240738 00000000 */ nop +/* D9367C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D93680 80240740 4406A000 */ mfc1 $a2, $f20 +/* D93684 80240744 4407A000 */ mfc1 $a3, $f20 +/* D93688 80240748 3C013F80 */ lui $at, 0x3f80 +/* D9368C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D93690 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D93694 80240754 0C019EC8 */ jal guRotateF +/* D93698 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D9369C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D936A0 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D936A4 80240764 0C019D80 */ jal guMtxCatF +/* D936A8 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D936AC 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D936B0 80240770 4406A000 */ mfc1 $a2, $f20 +/* D936B4 80240774 4407C000 */ mfc1 $a3, $f24 +/* D936B8 80240778 0200202D */ daddu $a0, $s0, $zero +/* D936BC 8024077C 0C019EC8 */ jal guRotateF +/* D936C0 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D936C4 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D936C8 80240788 0200282D */ daddu $a1, $s0, $zero +/* D936CC 8024078C 0C019D80 */ jal guMtxCatF +/* D936D0 80240790 0080302D */ daddu $a2, $a0, $zero +/* D936D4 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D936D8 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D936DC 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D936E0 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D936E4 802407A4 0C019EC8 */ jal guRotateF +/* D936E8 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D936EC 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D936F0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D936F4 802407B4 0C019D80 */ jal guMtxCatF +/* D936F8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D936FC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D93700 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D93704 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D93708 802407C8 44810000 */ mtc1 $at, $f0 +/* D9370C 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D93710 802407D0 44050000 */ mfc1 $a1, $f0 +/* D93714 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D93718 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D9371C 802407DC 0C019DF0 */ jal guScaleF +/* D93720 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D93724 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D93728 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D9372C 802407EC 0C019D80 */ jal guMtxCatF +/* D93730 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D93734 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D93738 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D9373C 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D93740 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D93744 80240804 46000007 */ neg.s $f0, $f0 +/* D93748 80240808 44060000 */ mfc1 $a2, $f0 +/* D9374C 8024080C 0C019E40 */ jal guTranslateF +/* D93750 80240810 0200202D */ daddu $a0, $s0, $zero +/* D93754 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D93758 80240818 0200282D */ daddu $a1, $s0, $zero +/* D9375C 8024081C 0C019D80 */ jal guMtxCatF +/* D93760 80240820 0080302D */ daddu $a2, $a0, $zero +/* D93764 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D93768 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D9376C 8024082C 44810000 */ mtc1 $at, $f0 +/* D93770 80240830 00000000 */ nop +/* D93774 80240834 4602003E */ c.le.s $f0, $f2 +/* D93778 80240838 00000000 */ nop +/* D9377C 8024083C 4500000A */ bc1f .L80240868 +/* D93780 80240840 24040001 */ addiu $a0, $zero, 1 +/* D93784 80240844 3C014387 */ lui $at, 0x4387 +/* D93788 80240848 44810000 */ mtc1 $at, $f0 +/* D9378C 8024084C 00000000 */ nop +/* D93790 80240850 4600103C */ c.lt.s $f2, $f0 +/* D93794 80240854 00000000 */ nop +/* D93798 80240858 45000004 */ bc1f .L8024086C +/* D9379C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D937A0 80240860 3C041000 */ lui $a0, 0x1000 +/* D937A4 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D937A8 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D937AC 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D937B0 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D937B4 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D937B8 80240878 0C0B7710 */ jal render_sprite +/* D937BC 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D937C0 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D937C4 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D937C8 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D937CC 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D937D0 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D937D4 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D937D8 80240898 03E00008 */ jr $ra +/* D937DC 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_802408A0_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_802408A0_D92F40.s new file mode 100644 index 0000000000..d80ddf7775 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_802408A0_D92F40.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D937E0 +/* D937E0 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D937E4 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D937E8 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D937EC 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D937F0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D937F4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D937F8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D937FC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D93800 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D93804 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D93808 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D9380C 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D93810 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D93814 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D93818 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D9381C 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D93820 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D93824 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D93828 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D9382C 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D93830 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D93834 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D93838 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D9383C 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D93840 80240900 3C03800A */ lui $v1, 0x800a +/* D93844 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D93848 80240908 00031080 */ sll $v0, $v1, 2 +/* D9384C 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D93850 80240910 00021080 */ sll $v0, $v0, 2 +/* D93854 80240914 00431023 */ subu $v0, $v0, $v1 +/* D93858 80240918 000218C0 */ sll $v1, $v0, 3 +/* D9385C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D93860 80240920 000210C0 */ sll $v0, $v0, 3 +/* D93864 80240924 00561021 */ addu $v0, $v0, $s6 +/* D93868 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D9386C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D93870 80240930 46000507 */ neg.s $f20, $f0 +/* D93874 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D93878 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D9387C 8024093C 44810000 */ mtc1 $at, $f0 +/* D93880 80240940 00000000 */ nop +/* D93884 80240944 4602003C */ c.lt.s $f0, $f2 +/* D93888 80240948 00000000 */ nop +/* D9388C 8024094C 4500000A */ bc1f .L80240978 +/* D93890 80240950 00000000 */ nop +/* D93894 80240954 3C014334 */ lui $at, 0x4334 +/* D93898 80240958 44812000 */ mtc1 $at, $f4 +/* D9389C 8024095C 00000000 */ nop +/* D938A0 80240960 4604103E */ c.le.s $f2, $f4 +/* D938A4 80240964 00000000 */ nop +/* D938A8 80240968 45000003 */ bc1f .L80240978 +/* D938AC 8024096C 00000000 */ nop +/* D938B0 80240970 08090282 */ j .L80240A08 +/* D938B4 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D938B8 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D938BC 8024097C 3C014334 */ lui $at, 0x4334 +/* D938C0 80240980 44812000 */ mtc1 $at, $f4 +/* D938C4 80240984 00000000 */ nop +/* D938C8 80240988 4600203C */ c.lt.s $f4, $f0 +/* D938CC 8024098C 00000000 */ nop +/* D938D0 80240990 4500000C */ bc1f .L802409C4 +/* D938D4 80240994 00000000 */ nop +/* D938D8 80240998 3C014387 */ lui $at, 0x4387 +/* D938DC 8024099C 44812000 */ mtc1 $at, $f4 +/* D938E0 802409A0 00000000 */ nop +/* D938E4 802409A4 4604003E */ c.le.s $f0, $f4 +/* D938E8 802409A8 00000000 */ nop +/* D938EC 802409AC 45000008 */ bc1f .L802409D0 +/* D938F0 802409B0 00000000 */ nop +/* D938F4 802409B4 3C014334 */ lui $at, 0x4334 +/* D938F8 802409B8 44812000 */ mtc1 $at, $f4 +/* D938FC 802409BC 08090282 */ j .L80240A08 +/* D93900 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D93904 802409C4 3C014387 */ lui $at, 0x4387 +/* D93908 802409C8 44812000 */ mtc1 $at, $f4 +/* D9390C 802409CC 00000000 */ nop +.L802409D0: +/* D93910 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D93914 802409D4 00000000 */ nop +/* D93918 802409D8 4500000A */ bc1f .L80240A04 +/* D9391C 802409DC 00000000 */ nop +/* D93920 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D93924 802409E4 44811000 */ mtc1 $at, $f2 +/* D93928 802409E8 00000000 */ nop +/* D9392C 802409EC 4602003E */ c.le.s $f0, $f2 +/* D93930 802409F0 00000000 */ nop +/* D93934 802409F4 45000003 */ bc1f .L80240A04 +/* D93938 802409F8 00000000 */ nop +/* D9393C 802409FC 08090282 */ j .L80240A08 +/* D93940 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D93944 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D93948 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D9394C 80240A0C 44810000 */ mtc1 $at, $f0 +/* D93950 80240A10 00000000 */ nop +/* D93954 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D93958 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D9395C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D93960 80240A20 00000000 */ nop +/* D93964 80240A24 00071100 */ sll $v0, $a3, 4 +/* D93968 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D9396C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D93970 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D93974 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D93978 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D9397C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D93980 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D93984 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D93988 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D9398C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D93990 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D93994 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D93998 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D9399C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D939A0 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D939A4 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D939A8 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D939AC 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D939B0 80240A70 0C019EC8 */ jal guRotateF +/* D939B4 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D939B8 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D939BC 80240A7C 0C00A6C9 */ jal clamp_angle +/* D939C0 80240A80 00000000 */ nop +/* D939C4 80240A84 44050000 */ mfc1 $a1, $f0 +/* D939C8 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D939CC 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D939D0 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D939D4 80240A94 44812000 */ mtc1 $at, $f4 +/* D939D8 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D939DC 80240A9C 0C019EC8 */ jal guRotateF +/* D939E0 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D939E4 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D939E8 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D939EC 80240AAC 0C019D80 */ jal guMtxCatF +/* D939F0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D939F4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D939F8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D939FC 80240ABC 080902E2 */ j .L80240B88 +/* D93A00 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D93A04 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D93A08 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D93A0C 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D93A10 80240AD0 0C03964E */ jal func_800E5938 +/* D93A14 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D93A18 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D93A1C 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D93A20 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D93A24 80240AE4 46000606 */ mov.s $f24, $f0 +/* D93A28 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D93A2C 80240AEC 080902C1 */ j .L80240B04 +/* D93A30 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D93A34 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D93A38 80240AF8 00000000 */ nop +/* D93A3C 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D93A40 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D93A44 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D93A48 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D93A4C 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D93A50 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D93A54 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D93A58 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D93A5C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D93A60 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D93A64 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D93A68 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D93A6C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D93A70 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D93A74 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D93A78 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D93A7C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D93A80 80240B40 0C019EC8 */ jal guRotateF +/* D93A84 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D93A88 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D93A8C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D93A90 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D93A94 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D93A98 80240B58 0C019EC8 */ jal guRotateF +/* D93A9C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D93AA0 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D93AA4 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D93AA8 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D93AAC 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D93AB0 80240B70 0C019EC8 */ jal guRotateF +/* D93AB4 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D93AB8 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D93ABC 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D93AC0 80240B80 0C019D80 */ jal guMtxCatF +/* D93AC4 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D93AC8 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D93ACC 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D93AD0 80240B90 44812000 */ mtc1 $at, $f4 +/* D93AD4 80240B94 00021023 */ negu $v0, $v0 +/* D93AD8 80240B98 44820000 */ mtc1 $v0, $f0 +/* D93ADC 80240B9C 00000000 */ nop +/* D93AE0 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D93AE4 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D93AE8 80240BA8 00000000 */ nop +/* D93AEC 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D93AF0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D93AF4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D93AF8 80240BB8 0C019E40 */ jal guTranslateF +/* D93AFC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D93B00 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D93B04 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D93B08 80240BC8 0C019D80 */ jal guMtxCatF +/* D93B0C 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D93B10 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D93B14 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D93B18 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D93B1C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D93B20 80240BE0 0C019EC8 */ jal guRotateF +/* D93B24 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D93B28 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D93B2C 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D93B30 80240BF0 0C019D80 */ jal guMtxCatF +/* D93B34 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D93B38 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D93B3C 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D93B40 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D93B44 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D93B48 80240C08 0C019EC8 */ jal guRotateF +/* D93B4C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D93B50 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D93B54 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D93B58 80240C18 0C019D80 */ jal guMtxCatF +/* D93B5C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D93B60 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D93B64 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D93B68 80240C28 44812000 */ mtc1 $at, $f4 +/* D93B6C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D93B70 80240C30 00000000 */ nop +/* D93B74 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D93B78 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D93B7C 80240C3C 00000000 */ nop +/* D93B80 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D93B84 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D93B88 80240C48 44062000 */ mfc1 $a2, $f4 +/* D93B8C 80240C4C 0C019E40 */ jal guTranslateF +/* D93B90 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D93B94 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D93B98 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D93B9C 80240C5C 0C019D80 */ jal guMtxCatF +/* D93BA0 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D93BA4 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D93BA8 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D93BAC 80240C6C 44810000 */ mtc1 $at, $f0 +/* D93BB0 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D93BB4 80240C74 44050000 */ mfc1 $a1, $f0 +/* D93BB8 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D93BBC 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D93BC0 80240C80 0C019DF0 */ jal guScaleF +/* D93BC4 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D93BC8 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D93BCC 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D93BD0 80240C90 0C019D80 */ jal guMtxCatF +/* D93BD4 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D93BD8 80240C98 4600D687 */ neg.s $f26, $f26 +/* D93BDC 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D93BE0 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D93BE4 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D93BE8 80240CA8 0C019E40 */ jal guTranslateF +/* D93BEC 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D93BF0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D93BF4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D93BF8 80240CB8 0C019D80 */ jal guMtxCatF +/* D93BFC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D93C00 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D93C04 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D93C08 80240CC8 44810000 */ mtc1 $at, $f0 +/* D93C0C 80240CCC 00000000 */ nop +/* D93C10 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D93C14 80240CD4 00000000 */ nop +/* D93C18 80240CD8 4500000A */ bc1f .L80240D04 +/* D93C1C 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D93C20 80240CE0 3C014387 */ lui $at, 0x4387 +/* D93C24 80240CE4 44812000 */ mtc1 $at, $f4 +/* D93C28 80240CE8 00000000 */ nop +/* D93C2C 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D93C30 80240CF0 00000000 */ nop +/* D93C34 80240CF4 45000004 */ bc1f .L80240D08 +/* D93C38 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D93C3C 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D93C40 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D93C44 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D93C48 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D93C4C 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D93C50 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D93C54 80240D14 0C0B7710 */ jal render_sprite +/* D93C58 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D93C5C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D93C60 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D93C64 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D93C68 80240D28 00000000 */ nop +/* D93C6C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D93C70 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D93C74 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D93C78 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D93C7C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D93C80 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D93C84 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D93C88 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D93C8C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D93C90 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D93C94 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D93C98 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D93C9C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D93CA0 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D93CA4 80240D64 03E00008 */ jr $ra +/* D93CA8 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240D6C_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240D6C_D92F40.s new file mode 100644 index 0000000000..1658f17140 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240D6C_D92F40.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D93CAC +/* D93CAC 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93CB0 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D93CB4 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D93CB8 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D93CBC 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D93CC0 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D93CC4 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D93CC8 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D93CCC 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D93CD0 80240D90 00000000 */ nop +/* D93CD4 80240D94 28620002 */ slti $v0, $v1, 2 +/* D93CD8 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D93CDC 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D93CE0 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D93CE4 80240DA4 00000000 */ nop +/* D93CE8 80240DA8 08090384 */ j .L80240E10 +/* D93CEC 80240DAC 00000000 */ nop +.L80240DB0: +/* D93CF0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D93CF4 80240DB4 00000000 */ nop +/* D93CF8 80240DB8 08090384 */ j .L80240E10 +/* D93CFC 80240DBC 00000000 */ nop +.L80240DC0: +/* D93D00 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D93D04 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D93D08 80240DC8 08090380 */ j .L80240E00 +/* D93D0C 80240DCC 00000000 */ nop +.L80240DD0: +/* D93D10 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D93D14 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D93D18 80240DD8 08090380 */ j .L80240E00 +/* D93D1C 80240DDC 00000000 */ nop +.L80240DE0: +/* D93D20 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D93D24 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D93D28 80240DE8 00000000 */ nop +/* D93D2C 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D93D30 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D93D34 80240DF4 00000000 */ nop +.L80240DF8: +/* D93D38 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D93D3C 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D93D40 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D93D44 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D93D48 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D93D4C 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D93D50 80240E10 0C00EAD2 */ jal get_npc_safe +/* D93D54 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D93D58 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D93D5C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D93D60 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D93D64 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D93D68 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D93D6C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D93D70 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D93D74 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D93D78 80240E38 28820002 */ slti $v0, $a0, 2 +/* D93D7C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D93D80 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D93D84 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D93D88 80240E48 00000000 */ nop +/* D93D8C 80240E4C 080903A9 */ j .L80240EA4 +/* D93D90 80240E50 00000000 */ nop +.L80240E54: +/* D93D94 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D93D98 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D93D9C 80240E5C 080903A9 */ j .L80240EA4 +/* D93DA0 80240E60 00000000 */ nop +.L80240E64: +/* D93DA4 80240E64 8CA20000 */ lw $v0, ($a1) +/* D93DA8 80240E68 080903A6 */ j .L80240E98 +/* D93DAC 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D93DB0 80240E70 8CA20000 */ lw $v0, ($a1) +/* D93DB4 80240E74 080903A6 */ j .L80240E98 +/* D93DB8 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D93DBC 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D93DC0 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D93DC4 80240E84 28420002 */ slti $v0, $v0, 2 +/* D93DC8 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D93DCC 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D93DD0 80240E90 8CA20000 */ lw $v0, ($a1) +/* D93DD4 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D93DD8 80240E98 00431025 */ or $v0, $v0, $v1 +/* D93DDC 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D93DE0 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D93DE4 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D93DE8 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D93DEC 80240EAC 03E00008 */ jr $ra +/* D93DF0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240EB4_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240EB4_D92F40.s new file mode 100644 index 0000000000..f713b605cf --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240EB4_D92F40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D93DF4 +/* D93DF4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93DF8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D93DFC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D93E00 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D93E04 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D93E08 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D93E0C 80240ECC 3C03000A */ lui $v1, 0xa +/* D93E10 80240ED0 8C820000 */ lw $v0, ($a0) +/* D93E14 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D93E18 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D93E1C 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D93E20 80240EE0 03E00008 */ jr $ra +/* D93E24 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240EE8_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240EE8_D92F40.s new file mode 100644 index 0000000000..d5e5e070a7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240EE8_D92F40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D93E28 +/* D93E28 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93E2C 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D93E30 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D93E34 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D93E38 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D93E3C 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D93E40 80240F00 3C030008 */ lui $v1, 8 +/* D93E44 80240F04 8C820000 */ lw $v0, ($a0) +/* D93E48 80240F08 00431025 */ or $v0, $v0, $v1 +/* D93E4C 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D93E50 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D93E54 80240F14 03E00008 */ jr $ra +/* D93E58 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240F1C_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240F1C_D92F40.s new file mode 100644 index 0000000000..961dc4a3d7 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240F1C_D92F40.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D93E5C +/* D93E5C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D93E60 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D93E64 80240F24 0C00EAD2 */ jal get_npc_safe +/* D93E68 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D93E6C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D93E70 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D93E74 80240F34 3C030002 */ lui $v1, 2 +/* D93E78 80240F38 8C820000 */ lw $v0, ($a0) +/* D93E7C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D93E80 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D93E84 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D93E88 80240F48 03E00008 */ jr $ra +/* D93E8C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240F50_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240F50_D92F40.s new file mode 100644 index 0000000000..cf5311752b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240F50_D92F40.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D93E90 +/* D93E90 80240F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D93E94 80240F54 AFB10014 */ sw $s1, 0x14($sp) +/* D93E98 80240F58 0080882D */ daddu $s1, $a0, $zero +/* D93E9C 80240F5C AFBF0018 */ sw $ra, 0x18($sp) +/* D93EA0 80240F60 AFB00010 */ sw $s0, 0x10($sp) +/* D93EA4 80240F64 8E300148 */ lw $s0, 0x148($s1) +/* D93EA8 80240F68 0C00EABB */ jal get_npc_unsafe +/* D93EAC 80240F6C 86040008 */ lh $a0, 8($s0) +/* D93EB0 80240F70 24030001 */ addiu $v1, $zero, 1 +/* D93EB4 80240F74 0040202D */ daddu $a0, $v0, $zero +/* D93EB8 80240F78 AE03006C */ sw $v1, 0x6c($s0) +/* D93EBC 80240F7C 8482008C */ lh $v0, 0x8c($a0) +/* D93EC0 80240F80 14400009 */ bnez $v0, .L80240FA8 +/* D93EC4 80240F84 24020002 */ addiu $v0, $zero, 2 +/* D93EC8 80240F88 96030072 */ lhu $v1, 0x72($s0) +/* D93ECC 80240F8C AE02006C */ sw $v0, 0x6c($s0) +/* D93ED0 80240F90 A483008E */ sh $v1, 0x8e($a0) +/* D93ED4 80240F94 8E0200CC */ lw $v0, 0xcc($s0) +/* D93ED8 80240F98 8C420020 */ lw $v0, 0x20($v0) +/* D93EDC 80240F9C AC820028 */ sw $v0, 0x28($a0) +/* D93EE0 80240FA0 2402001F */ addiu $v0, $zero, 0x1f +/* D93EE4 80240FA4 AE220070 */ sw $v0, 0x70($s1) +.L80240FA8: +/* D93EE8 80240FA8 8FBF0018 */ lw $ra, 0x18($sp) +/* D93EEC 80240FAC 8FB10014 */ lw $s1, 0x14($sp) +/* D93EF0 80240FB0 8FB00010 */ lw $s0, 0x10($sp) +/* D93EF4 80240FB4 03E00008 */ jr $ra +/* D93EF8 80240FB8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80240FBC.s b/asm/nonmatchings/world/area_pra/pra_37/func_80240FBC.s new file mode 100644 index 0000000000..b5e55343fc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80240FBC.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FBC +/* D93EFC 80240FBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D93F00 80240FC0 AFB10014 */ sw $s1, 0x14($sp) +/* D93F04 80240FC4 0080882D */ daddu $s1, $a0, $zero +/* D93F08 80240FC8 AFBF0018 */ sw $ra, 0x18($sp) +/* D93F0C 80240FCC AFB00010 */ sw $s0, 0x10($sp) +/* D93F10 80240FD0 8E300148 */ lw $s0, 0x148($s1) +/* D93F14 80240FD4 0C00EABB */ jal get_npc_unsafe +/* D93F18 80240FD8 86040008 */ lh $a0, 8($s0) +/* D93F1C 80240FDC 0040202D */ daddu $a0, $v0, $zero +/* D93F20 80240FE0 9482008E */ lhu $v0, 0x8e($a0) +/* D93F24 80240FE4 2442FFFF */ addiu $v0, $v0, -1 +/* D93F28 80240FE8 A482008E */ sh $v0, 0x8e($a0) +/* D93F2C 80240FEC 00021400 */ sll $v0, $v0, 0x10 +/* D93F30 80240FF0 1C400009 */ bgtz $v0, .L80241018 +/* D93F34 80240FF4 24020003 */ addiu $v0, $zero, 3 +/* D93F38 80240FF8 96030076 */ lhu $v1, 0x76($s0) +/* D93F3C 80240FFC AE02006C */ sw $v0, 0x6c($s0) +/* D93F40 80241000 A483008E */ sh $v1, 0x8e($a0) +/* D93F44 80241004 8E0200CC */ lw $v0, 0xcc($s0) +/* D93F48 80241008 8C420024 */ lw $v0, 0x24($v0) +/* D93F4C 8024100C AC820028 */ sw $v0, 0x28($a0) +/* D93F50 80241010 24020020 */ addiu $v0, $zero, 0x20 +/* D93F54 80241014 AE220070 */ sw $v0, 0x70($s1) +.L80241018: +/* D93F58 80241018 8FBF0018 */ lw $ra, 0x18($sp) +/* D93F5C 8024101C 8FB10014 */ lw $s1, 0x14($sp) +/* D93F60 80241020 8FB00010 */ lw $s0, 0x10($sp) +/* D93F64 80241024 03E00008 */ jr $ra +/* D93F68 80241028 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_8024102C.s b/asm/nonmatchings/world/area_pra/pra_37/func_8024102C.s new file mode 100644 index 0000000000..841e15b168 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_8024102C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024102C +/* D93F6C 8024102C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D93F70 80241030 AFB10034 */ sw $s1, 0x34($sp) +/* D93F74 80241034 0080882D */ daddu $s1, $a0, $zero +/* D93F78 80241038 AFBF0038 */ sw $ra, 0x38($sp) +/* D93F7C 8024103C AFB00030 */ sw $s0, 0x30($sp) +/* D93F80 80241040 8E300148 */ lw $s0, 0x148($s1) +/* D93F84 80241044 0C00EABB */ jal get_npc_unsafe +/* D93F88 80241048 86040008 */ lh $a0, 8($s0) +/* D93F8C 8024104C 0040282D */ daddu $a1, $v0, $zero +/* D93F90 80241050 94A2008E */ lhu $v0, 0x8e($a1) +/* D93F94 80241054 2442FFFF */ addiu $v0, $v0, -1 +/* D93F98 80241058 A4A2008E */ sh $v0, 0x8e($a1) +/* D93F9C 8024105C 00021400 */ sll $v0, $v0, 0x10 +/* D93FA0 80241060 1C400023 */ bgtz $v0, .L802410F0 +/* D93FA4 80241064 24020004 */ addiu $v0, $zero, 4 +/* D93FA8 80241068 8E0300CC */ lw $v1, 0xcc($s0) +/* D93FAC 8024106C AE02006C */ sw $v0, 0x6c($s0) +/* D93FB0 80241070 8C620000 */ lw $v0, ($v1) +/* D93FB4 80241074 ACA20028 */ sw $v0, 0x28($a1) +/* D93FB8 80241078 9602007A */ lhu $v0, 0x7a($s0) +/* D93FBC 8024107C A4A2008E */ sh $v0, 0x8e($a1) +/* D93FC0 80241080 8E020078 */ lw $v0, 0x78($s0) +/* D93FC4 80241084 28420008 */ slti $v0, $v0, 8 +/* D93FC8 80241088 14400018 */ bnez $v0, .L802410EC +/* D93FCC 8024108C 24020021 */ addiu $v0, $zero, 0x21 +/* D93FD0 80241090 24040003 */ addiu $a0, $zero, 3 +/* D93FD4 80241094 27A30028 */ addiu $v1, $sp, 0x28 +/* D93FD8 80241098 84A700A8 */ lh $a3, 0xa8($a1) +/* D93FDC 8024109C 3C013F80 */ lui $at, 0x3f80 +/* D93FE0 802410A0 44810000 */ mtc1 $at, $f0 +/* D93FE4 802410A4 3C014000 */ lui $at, 0x4000 +/* D93FE8 802410A8 44811000 */ mtc1 $at, $f2 +/* D93FEC 802410AC 3C01C1A0 */ lui $at, 0xc1a0 +/* D93FF0 802410B0 44812000 */ mtc1 $at, $f4 +/* D93FF4 802410B4 44873000 */ mtc1 $a3, $f6 +/* D93FF8 802410B8 00000000 */ nop +/* D93FFC 802410BC 468031A0 */ cvt.s.w $f6, $f6 +/* D94000 802410C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D94004 802410C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D94008 802410C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* D9400C 802410CC 8E020078 */ lw $v0, 0x78($s0) +/* D94010 802410D0 44073000 */ mfc1 $a3, $f6 +/* D94014 802410D4 0000302D */ daddu $a2, $zero, $zero +/* D94018 802410D8 AFA30020 */ sw $v1, 0x20($sp) +/* D9401C 802410DC 2442FFFF */ addiu $v0, $v0, -1 +/* D94020 802410E0 0C01BFA4 */ jal fx_emote +/* D94024 802410E4 AFA2001C */ sw $v0, 0x1c($sp) +/* D94028 802410E8 24020021 */ addiu $v0, $zero, 0x21 +.L802410EC: +/* D9402C 802410EC AE220070 */ sw $v0, 0x70($s1) +.L802410F0: +/* D94030 802410F0 8FBF0038 */ lw $ra, 0x38($sp) +/* D94034 802410F4 8FB10034 */ lw $s1, 0x34($sp) +/* D94038 802410F8 8FB00030 */ lw $s0, 0x30($sp) +/* D9403C 802410FC 03E00008 */ jr $ra +/* D94040 80241100 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80241104_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80241104_D92F40.s new file mode 100644 index 0000000000..b8631d76cc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80241104_D92F40.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241104_D94044 +/* D94044 80241104 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D94048 80241108 AFB10014 */ sw $s1, 0x14($sp) +/* D9404C 8024110C 0080882D */ daddu $s1, $a0, $zero +/* D94050 80241110 AFBF0018 */ sw $ra, 0x18($sp) +/* D94054 80241114 AFB00010 */ sw $s0, 0x10($sp) +/* D94058 80241118 8E300148 */ lw $s0, 0x148($s1) +/* D9405C 8024111C 0C00EABB */ jal get_npc_unsafe +/* D94060 80241120 86040008 */ lh $a0, 8($s0) +/* D94064 80241124 9443008E */ lhu $v1, 0x8e($v0) +/* D94068 80241128 2463FFFF */ addiu $v1, $v1, -1 +/* D9406C 8024112C A443008E */ sh $v1, 0x8e($v0) +/* D94070 80241130 00031C00 */ sll $v1, $v1, 0x10 +/* D94074 80241134 1C600003 */ bgtz $v1, .L80241144 +/* D94078 80241138 2402000C */ addiu $v0, $zero, 0xc +/* D9407C 8024113C AE00006C */ sw $zero, 0x6c($s0) +/* D94080 80241140 AE220070 */ sw $v0, 0x70($s1) +.L80241144: +/* D94084 80241144 8FBF0018 */ lw $ra, 0x18($sp) +/* D94088 80241148 8FB10014 */ lw $s1, 0x14($sp) +/* D9408C 8024114C 8FB00010 */ lw $s0, 0x10($sp) +/* D94090 80241150 03E00008 */ jr $ra +/* D94094 80241154 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_80241158_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_80241158_D92F40.s new file mode 100644 index 0000000000..b48d5f11fc --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_80241158_D92F40.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241158_D94098 +/* D94098 80241158 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D9409C 8024115C AFBF0024 */ sw $ra, 0x24($sp) +/* D940A0 80241160 AFB40020 */ sw $s4, 0x20($sp) +/* D940A4 80241164 AFB3001C */ sw $s3, 0x1c($sp) +/* D940A8 80241168 AFB20018 */ sw $s2, 0x18($sp) +/* D940AC 8024116C AFB10014 */ sw $s1, 0x14($sp) +/* D940B0 80241170 AFB00010 */ sw $s0, 0x10($sp) +/* D940B4 80241174 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D940B8 80241178 8C900148 */ lw $s0, 0x148($a0) +/* D940BC 8024117C 86040008 */ lh $a0, 8($s0) +/* D940C0 80241180 0C00EABB */ jal get_npc_unsafe +/* D940C4 80241184 24110001 */ addiu $s1, $zero, 1 +/* D940C8 80241188 86040008 */ lh $a0, 8($s0) +/* D940CC 8024118C 0040802D */ daddu $s0, $v0, $zero +/* D940D0 80241190 3C05800B */ lui $a1, %hi(gCameras) +/* D940D4 80241194 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D940D8 80241198 3C03800A */ lui $v1, 0x800a +/* D940DC 8024119C 8463A634 */ lh $v1, -0x59cc($v1) +/* D940E0 802411A0 00912021 */ addu $a0, $a0, $s1 +/* D940E4 802411A4 00031080 */ sll $v0, $v1, 2 +/* D940E8 802411A8 00431021 */ addu $v0, $v0, $v1 +/* D940EC 802411AC 00021080 */ sll $v0, $v0, 2 +/* D940F0 802411B0 00431023 */ subu $v0, $v0, $v1 +/* D940F4 802411B4 000218C0 */ sll $v1, $v0, 3 +/* D940F8 802411B8 00431021 */ addu $v0, $v0, $v1 +/* D940FC 802411BC 000210C0 */ sll $v0, $v0, 3 +/* D94100 802411C0 0C00FB3A */ jal get_enemy +/* D94104 802411C4 00459021 */ addu $s2, $v0, $a1 +/* D94108 802411C8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D9410C 802411CC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D94110 802411D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D94114 802411D4 8E830000 */ lw $v1, ($s4) +/* D94118 802411D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D9411C 802411DC 8C660028 */ lw $a2, 0x28($v1) +/* D94120 802411E0 8C670030 */ lw $a3, 0x30($v1) +/* D94124 802411E4 0C00A7B5 */ jal dist2D +/* D94128 802411E8 0040982D */ daddu $s3, $v0, $zero +/* D9412C 802411EC C6620074 */ lwc1 $f2, 0x74($s3) +/* D94130 802411F0 468010A0 */ cvt.s.w $f2, $f2 +/* D94134 802411F4 4600103C */ c.lt.s $f2, $f0 +/* D94138 802411F8 00000000 */ nop +/* D9413C 802411FC 45030001 */ bc1tl .L80241204 +/* D94140 80241200 0000882D */ daddu $s1, $zero, $zero +.L80241204: +/* D94144 80241204 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D94148 80241208 C60E000C */ lwc1 $f14, 0xc($s0) +/* D9414C 8024120C 3C014387 */ lui $at, 0x4387 +/* D94150 80241210 4481A000 */ mtc1 $at, $f20 +/* D94154 80241214 0C00A70A */ jal get_clamped_angle_diff +/* D94158 80241218 00000000 */ nop +/* D9415C 8024121C 0C00A6C9 */ jal clamp_angle +/* D94160 80241220 46000306 */ mov.s $f12, $f0 +/* D94164 80241224 3C018024 */ lui $at, 0x8024 +/* D94168 80241228 D4222510 */ ldc1 $f2, 0x2510($at) +/* D9416C 8024122C 46000021 */ cvt.d.s $f0, $f0 +/* D94170 80241230 4622003C */ c.lt.d $f0, $f2 +/* D94174 80241234 00000000 */ nop +/* D94178 80241238 45000003 */ bc1f .L80241248 +/* D9417C 8024123C 00000000 */ nop +/* D94180 80241240 3C0142B4 */ lui $at, 0x42b4 +/* D94184 80241244 4481A000 */ mtc1 $at, $f20 +.L80241248: +/* D94188 80241248 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D9418C 8024124C 8E820000 */ lw $v0, ($s4) +/* D94190 80241250 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D94194 80241254 8C460028 */ lw $a2, 0x28($v0) +/* D94198 80241258 0C00A720 */ jal atan2 +/* D9419C 8024125C 8C470030 */ lw $a3, 0x30($v0) +/* D941A0 80241260 4600A306 */ mov.s $f12, $f20 +/* D941A4 80241264 0C00A70A */ jal get_clamped_angle_diff +/* D941A8 80241268 46000386 */ mov.s $f14, $f0 +/* D941AC 8024126C C6620078 */ lwc1 $f2, 0x78($s3) +/* D941B0 80241270 468010A0 */ cvt.s.w $f2, $f2 +/* D941B4 80241274 46000005 */ abs.s $f0, $f0 +/* D941B8 80241278 4600103C */ c.lt.s $f2, $f0 +/* D941BC 8024127C 00000000 */ nop +/* D941C0 80241280 45030001 */ bc1tl .L80241288 +/* D941C4 80241284 0000882D */ daddu $s1, $zero, $zero +.L80241288: +/* D941C8 80241288 8E820000 */ lw $v0, ($s4) +/* D941CC 8024128C C600003C */ lwc1 $f0, 0x3c($s0) +/* D941D0 80241290 C442002C */ lwc1 $f2, 0x2c($v0) +/* D941D4 80241294 860200A8 */ lh $v0, 0xa8($s0) +/* D941D8 80241298 46020001 */ sub.s $f0, $f0, $f2 +/* D941DC 8024129C 44821000 */ mtc1 $v0, $f2 +/* D941E0 802412A0 00000000 */ nop +/* D941E4 802412A4 468010A1 */ cvt.d.w $f2, $f2 +/* D941E8 802412A8 46221080 */ add.d $f2, $f2, $f2 +/* D941EC 802412AC 46000005 */ abs.s $f0, $f0 +/* D941F0 802412B0 46000021 */ cvt.d.s $f0, $f0 +/* D941F4 802412B4 4620103E */ c.le.d $f2, $f0 +/* D941F8 802412B8 00000000 */ nop +/* D941FC 802412BC 45030001 */ bc1tl .L802412C4 +/* D94200 802412C0 0000882D */ daddu $s1, $zero, $zero +.L802412C4: +/* D94204 802412C4 3C038011 */ lui $v1, 0x8011 +/* D94208 802412C8 8063EBB3 */ lb $v1, -0x144d($v1) +/* D9420C 802412CC 24020009 */ addiu $v0, $zero, 9 +/* D94210 802412D0 50620001 */ beql $v1, $v0, .L802412D8 +/* D94214 802412D4 0000882D */ daddu $s1, $zero, $zero +.L802412D8: +/* D94218 802412D8 24020007 */ addiu $v0, $zero, 7 +/* D9421C 802412DC 50620001 */ beql $v1, $v0, .L802412E4 +/* D94220 802412E0 0000882D */ daddu $s1, $zero, $zero +.L802412E4: +/* D94224 802412E4 0220102D */ daddu $v0, $s1, $zero +/* D94228 802412E8 8FBF0024 */ lw $ra, 0x24($sp) +/* D9422C 802412EC 8FB40020 */ lw $s4, 0x20($sp) +/* D94230 802412F0 8FB3001C */ lw $s3, 0x1c($sp) +/* D94234 802412F4 8FB20018 */ lw $s2, 0x18($sp) +/* D94238 802412F8 8FB10014 */ lw $s1, 0x14($sp) +/* D9423C 802412FC 8FB00010 */ lw $s0, 0x10($sp) +/* D94240 80241300 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D94244 80241304 03E00008 */ jr $ra +/* D94248 80241308 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_8024130C_D92F40.s b/asm/nonmatchings/world/area_pra/pra_37/func_8024130C_D92F40.s new file mode 100644 index 0000000000..aa413b55ff --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_8024130C_D92F40.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_D9424C +/* D9424C 8024130C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D94250 80241310 AFB40028 */ sw $s4, 0x28($sp) +/* D94254 80241314 0080A02D */ daddu $s4, $a0, $zero +/* D94258 80241318 AFBF002C */ sw $ra, 0x2c($sp) +/* D9425C 8024131C AFB30024 */ sw $s3, 0x24($sp) +/* D94260 80241320 AFB20020 */ sw $s2, 0x20($sp) +/* D94264 80241324 AFB1001C */ sw $s1, 0x1c($sp) +/* D94268 80241328 AFB00018 */ sw $s0, 0x18($sp) +/* D9426C 8024132C 8E910148 */ lw $s1, 0x148($s4) +/* D94270 80241330 86240008 */ lh $a0, 8($s1) +/* D94274 80241334 0C00EABB */ jal get_npc_unsafe +/* D94278 80241338 00A0802D */ daddu $s0, $a1, $zero +/* D9427C 8024133C 16000005 */ bnez $s0, .L80241354 +/* D94280 80241340 0040902D */ daddu $s2, $v0, $zero +/* D94284 80241344 8E2200B0 */ lw $v0, 0xb0($s1) +/* D94288 80241348 30420004 */ andi $v0, $v0, 4 +/* D9428C 8024134C 10400015 */ beqz $v0, .L802413A4 +/* D94290 80241350 00000000 */ nop +.L80241354: +/* D94294 80241354 AE800070 */ sw $zero, 0x70($s4) +/* D94298 80241358 8E420000 */ lw $v0, ($s2) +/* D9429C 8024135C 3C031F30 */ lui $v1, 0x1f30 +/* D942A0 80241360 A640008E */ sh $zero, 0x8e($s2) +/* D942A4 80241364 34420102 */ ori $v0, $v0, 0x102 +/* D942A8 80241368 AE420000 */ sw $v0, ($s2) +/* D942AC 8024136C 8E220000 */ lw $v0, ($s1) +/* D942B0 80241370 3C01C47A */ lui $at, 0xc47a +/* D942B4 80241374 44810000 */ mtc1 $at, $f0 +/* D942B8 80241378 00431025 */ or $v0, $v0, $v1 +/* D942BC 8024137C AE220000 */ sw $v0, ($s1) +/* D942C0 80241380 AE400038 */ sw $zero, 0x38($s2) +/* D942C4 80241384 E640003C */ swc1 $f0, 0x3c($s2) +/* D942C8 80241388 AE400040 */ sw $zero, 0x40($s2) +/* D942CC 8024138C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D942D0 80241390 30620004 */ andi $v0, $v1, 4 +/* D942D4 80241394 10400003 */ beqz $v0, .L802413A4 +/* D942D8 80241398 2402FFFB */ addiu $v0, $zero, -5 +/* D942DC 8024139C 00621024 */ and $v0, $v1, $v0 +/* D942E0 802413A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802413A4: +/* D942E4 802413A4 8E930070 */ lw $s3, 0x70($s4) +/* D942E8 802413A8 12600005 */ beqz $s3, .L802413C0 +/* D942EC 802413AC 24020001 */ addiu $v0, $zero, 1 +/* D942F0 802413B0 12620048 */ beq $s3, $v0, .L802414D4 +/* D942F4 802413B4 00000000 */ nop +/* D942F8 802413B8 08090552 */ j .L80241548 +/* D942FC 802413BC 00000000 */ nop +.L802413C0: +/* D94300 802413C0 86240008 */ lh $a0, 8($s1) +/* D94304 802413C4 0C00FB3A */ jal get_enemy +/* D94308 802413C8 2484FFFF */ addiu $a0, $a0, -1 +/* D9430C 802413CC 0040802D */ daddu $s0, $v0, $zero +/* D94310 802413D0 0C00EABB */ jal get_npc_unsafe +/* D94314 802413D4 86040008 */ lh $a0, 8($s0) +/* D94318 802413D8 24030001 */ addiu $v1, $zero, 1 +/* D9431C 802413DC 0040982D */ daddu $s3, $v0, $zero +/* D94320 802413E0 A2230007 */ sb $v1, 7($s1) +/* D94324 802413E4 8E03006C */ lw $v1, 0x6c($s0) +/* D94328 802413E8 24020003 */ addiu $v0, $zero, 3 +/* D9432C 802413EC 14620056 */ bne $v1, $v0, .L80241548 +/* D94330 802413F0 00000000 */ nop +/* D94334 802413F4 8E2500A8 */ lw $a1, 0xa8($s1) +/* D94338 802413F8 10A00003 */ beqz $a1, .L80241408 +/* D9433C 802413FC 0260202D */ daddu $a0, $s3, $zero +/* D94340 80241400 0C012530 */ jal func_800494C0 +/* D94344 80241404 0000302D */ daddu $a2, $zero, $zero +.L80241408: +/* D94348 80241408 27A40010 */ addiu $a0, $sp, 0x10 +/* D9434C 8024140C C6280070 */ lwc1 $f8, 0x70($s1) +/* D94350 80241410 46804220 */ cvt.s.w $f8, $f8 +/* D94354 80241414 C6620034 */ lwc1 $f2, 0x34($s3) +/* D94358 80241418 3C014387 */ lui $at, 0x4387 +/* D9435C 8024141C 44810000 */ mtc1 $at, $f0 +/* D94360 80241420 44064000 */ mfc1 $a2, $f8 +/* D94364 80241424 46020001 */ sub.s $f0, $f0, $f2 +/* D94368 80241428 C6660038 */ lwc1 $f6, 0x38($s3) +/* D9436C 8024142C C6640040 */ lwc1 $f4, 0x40($s3) +/* D94370 80241430 44070000 */ mfc1 $a3, $f0 +/* D94374 80241434 27A50014 */ addiu $a1, $sp, 0x14 +/* D94378 80241438 E7A60010 */ swc1 $f6, 0x10($sp) +/* D9437C 8024143C 0C00A7E7 */ jal add_vec2D_polar +/* D94380 80241440 E7A40014 */ swc1 $f4, 0x14($sp) +/* D94384 80241444 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D94388 80241448 4600020D */ trunc.w.s $f8, $f0 +/* D9438C 8024144C 44024000 */ mfc1 $v0, $f8 +/* D94390 80241450 E6400038 */ swc1 $f0, 0x38($s2) +/* D94394 80241454 A6220010 */ sh $v0, 0x10($s1) +/* D94398 80241458 C660003C */ lwc1 $f0, 0x3c($s3) +/* D9439C 8024145C C622006C */ lwc1 $f2, 0x6c($s1) +/* D943A0 80241460 468010A0 */ cvt.s.w $f2, $f2 +/* D943A4 80241464 46020000 */ add.s $f0, $f0, $f2 +/* D943A8 80241468 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D943AC 8024146C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D943B0 80241470 E640003C */ swc1 $f0, 0x3c($s2) +/* D943B4 80241474 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D943B8 80241478 4600020D */ trunc.w.s $f8, $f0 +/* D943BC 8024147C 44024000 */ mfc1 $v0, $f8 +/* D943C0 80241480 00000000 */ nop +/* D943C4 80241484 A6220012 */ sh $v0, 0x12($s1) +/* D943C8 80241488 4600120D */ trunc.w.s $f8, $f2 +/* D943CC 8024148C 44024000 */ mfc1 $v0, $f8 +/* D943D0 80241490 E6420040 */ swc1 $f2, 0x40($s2) +/* D943D4 80241494 A6220014 */ sh $v0, 0x14($s1) +/* D943D8 80241498 8C660028 */ lw $a2, 0x28($v1) +/* D943DC 8024149C 8C670030 */ lw $a3, 0x30($v1) +/* D943E0 802414A0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D943E4 802414A4 0C00A720 */ jal atan2 +/* D943E8 802414A8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D943EC 802414AC 3C03E0EF */ lui $v1, 0xe0ef +/* D943F0 802414B0 E640000C */ swc1 $f0, 0xc($s2) +/* D943F4 802414B4 8E220000 */ lw $v0, ($s1) +/* D943F8 802414B8 3463FFFF */ ori $v1, $v1, 0xffff +/* D943FC 802414BC 00431024 */ and $v0, $v0, $v1 +/* D94400 802414C0 AE220000 */ sw $v0, ($s1) +/* D94404 802414C4 24020001 */ addiu $v0, $zero, 1 +/* D94408 802414C8 A640008E */ sh $zero, 0x8e($s2) +/* D9440C 802414CC 08090552 */ j .L80241548 +/* D94410 802414D0 AE820070 */ sw $v0, 0x70($s4) +.L802414D4: +/* D94414 802414D4 86240008 */ lh $a0, 8($s1) +/* D94418 802414D8 0C00FB3A */ jal get_enemy +/* D9441C 802414DC 2484FFFF */ addiu $a0, $a0, -1 +/* D94420 802414E0 0040802D */ daddu $s0, $v0, $zero +/* D94424 802414E4 0C00EABB */ jal get_npc_unsafe +/* D94428 802414E8 86040008 */ lh $a0, 8($s0) +/* D9442C 802414EC 9642008E */ lhu $v0, 0x8e($s2) +/* D94430 802414F0 24420001 */ addiu $v0, $v0, 1 +/* D94434 802414F4 A642008E */ sh $v0, 0x8e($s2) +/* D94438 802414F8 00021400 */ sll $v0, $v0, 0x10 +/* D9443C 802414FC 8E23007C */ lw $v1, 0x7c($s1) +/* D94440 80241500 00021403 */ sra $v0, $v0, 0x10 +/* D94444 80241504 0043102A */ slt $v0, $v0, $v1 +/* D94448 80241508 50400001 */ beql $v0, $zero, .L80241510 +/* D9444C 8024150C A2200007 */ sb $zero, 7($s1) +.L80241510: +/* D94450 80241510 8E03006C */ lw $v1, 0x6c($s0) +/* D94454 80241514 24020004 */ addiu $v0, $zero, 4 +/* D94458 80241518 1462000B */ bne $v1, $v0, .L80241548 +/* D9445C 8024151C 3C021F10 */ lui $v0, 0x1f10 +/* D94460 80241520 8E230000 */ lw $v1, ($s1) +/* D94464 80241524 3C01C47A */ lui $at, 0xc47a +/* D94468 80241528 44810000 */ mtc1 $at, $f0 +/* D9446C 8024152C 00621825 */ or $v1, $v1, $v0 +/* D94470 80241530 AE230000 */ sw $v1, ($s1) +/* D94474 80241534 AE400038 */ sw $zero, 0x38($s2) +/* D94478 80241538 E640003C */ swc1 $f0, 0x3c($s2) +/* D9447C 8024153C AE400040 */ sw $zero, 0x40($s2) +/* D94480 80241540 A2330007 */ sb $s3, 7($s1) +/* D94484 80241544 AE800070 */ sw $zero, 0x70($s4) +.L80241548: +/* D94488 80241548 8FBF002C */ lw $ra, 0x2c($sp) +/* D9448C 8024154C 8FB40028 */ lw $s4, 0x28($sp) +/* D94490 80241550 8FB30024 */ lw $s3, 0x24($sp) +/* D94494 80241554 8FB20020 */ lw $s2, 0x20($sp) +/* D94498 80241558 8FB1001C */ lw $s1, 0x1c($sp) +/* D9449C 8024155C 8FB00018 */ lw $s0, 0x18($sp) +/* D944A0 80241560 0000102D */ daddu $v0, $zero, $zero +/* D944A4 80241564 03E00008 */ jr $ra +/* D944A8 80241568 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_pra/pra_37/func_8024156C.s b/asm/nonmatchings/world/area_pra/pra_37/func_8024156C.s new file mode 100644 index 0000000000..acbbf585c2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_37/func_8024156C.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024156C +/* D944AC 8024156C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D944B0 80241570 AFB20038 */ sw $s2, 0x38($sp) +/* D944B4 80241574 0080902D */ daddu $s2, $a0, $zero +/* D944B8 80241578 AFBF0048 */ sw $ra, 0x48($sp) +/* D944BC 8024157C AFB50044 */ sw $s5, 0x44($sp) +/* D944C0 80241580 AFB40040 */ sw $s4, 0x40($sp) +/* D944C4 80241584 AFB3003C */ sw $s3, 0x3c($sp) +/* D944C8 80241588 AFB10034 */ sw $s1, 0x34($sp) +/* D944CC 8024158C AFB00030 */ sw $s0, 0x30($sp) +/* D944D0 80241590 8E510148 */ lw $s1, 0x148($s2) +/* D944D4 80241594 86240008 */ lh $a0, 8($s1) +/* D944D8 80241598 0C00EABB */ jal get_npc_unsafe +/* D944DC 8024159C 00A0802D */ daddu $s0, $a1, $zero +/* D944E0 802415A0 8E43000C */ lw $v1, 0xc($s2) +/* D944E4 802415A4 0240202D */ daddu $a0, $s2, $zero +/* D944E8 802415A8 8C650000 */ lw $a1, ($v1) +/* D944EC 802415AC 0C0B1EAF */ jal get_variable +/* D944F0 802415B0 0040A82D */ daddu $s5, $v0, $zero +/* D944F4 802415B4 AFA00010 */ sw $zero, 0x10($sp) +/* D944F8 802415B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* D944FC 802415BC 8C630030 */ lw $v1, 0x30($v1) +/* D94500 802415C0 AFA30014 */ sw $v1, 0x14($sp) +/* D94504 802415C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D94508 802415C8 8C63001C */ lw $v1, 0x1c($v1) +/* D9450C 802415CC AFA30018 */ sw $v1, 0x18($sp) +/* D94510 802415D0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D94514 802415D4 8C630024 */ lw $v1, 0x24($v1) +/* D94518 802415D8 AFA3001C */ sw $v1, 0x1c($sp) +/* D9451C 802415DC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D94520 802415E0 8C630028 */ lw $v1, 0x28($v1) +/* D94524 802415E4 27B40010 */ addiu $s4, $sp, 0x10 +/* D94528 802415E8 AFA30020 */ sw $v1, 0x20($sp) +/* D9452C 802415EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D94530 802415F0 3C014282 */ lui $at, 0x4282 +/* D94534 802415F4 44810000 */ mtc1 $at, $f0 +/* D94538 802415F8 8C63002C */ lw $v1, 0x2c($v1) +/* D9453C 802415FC 0040982D */ daddu $s3, $v0, $zero +/* D94540 80241600 E7A00028 */ swc1 $f0, 0x28($sp) +/* D94544 80241604 A7A0002C */ sh $zero, 0x2c($sp) +/* D94548 80241608 16000005 */ bnez $s0, .L80241620 +/* D9454C 8024160C AFA30024 */ sw $v1, 0x24($sp) +/* D94550 80241610 8E2200B0 */ lw $v0, 0xb0($s1) +/* D94554 80241614 30420004 */ andi $v0, $v0, 4 +/* D94558 80241618 10400020 */ beqz $v0, .L8024169C +/* D9455C 8024161C 00000000 */ nop +.L80241620: +/* D94560 80241620 2404F7FF */ addiu $a0, $zero, -0x801 +/* D94564 80241624 AE400070 */ sw $zero, 0x70($s2) +/* D94568 80241628 A6A0008E */ sh $zero, 0x8e($s5) +/* D9456C 8024162C 8E2200CC */ lw $v0, 0xcc($s1) +/* D94570 80241630 8EA30000 */ lw $v1, ($s5) +/* D94574 80241634 8C420000 */ lw $v0, ($v0) +/* D94578 80241638 00641824 */ and $v1, $v1, $a0 +/* D9457C 8024163C AEA30000 */ sw $v1, ($s5) +/* D94580 80241640 AEA20028 */ sw $v0, 0x28($s5) +/* D94584 80241644 8E2200D0 */ lw $v0, 0xd0($s1) +/* D94588 80241648 8C420034 */ lw $v0, 0x34($v0) +/* D9458C 8024164C 54400005 */ bnel $v0, $zero, .L80241664 +/* D94590 80241650 2402FDFF */ addiu $v0, $zero, -0x201 +/* D94594 80241654 34620200 */ ori $v0, $v1, 0x200 +/* D94598 80241658 2403FFF7 */ addiu $v1, $zero, -9 +/* D9459C 8024165C 0809059B */ j .L8024166C +/* D945A0 80241660 00431024 */ and $v0, $v0, $v1 +.L80241664: +/* D945A4 80241664 00621024 */ and $v0, $v1, $v0 +/* D945A8 80241668 34420008 */ ori $v0, $v0, 8 +.L8024166C: +/* D945AC 8024166C AEA20000 */ sw $v0, ($s5) +/* D945B0 80241670 8E2200B0 */ lw $v0, 0xb0($s1) +/* D945B4 80241674 30420004 */ andi $v0, $v0, 4 +/* D945B8 80241678 10400007 */ beqz $v0, .L80241698 +/* D945BC 8024167C 24020063 */ addiu $v0, $zero, 0x63 +/* D945C0 80241680 AE420070 */ sw $v0, 0x70($s2) +/* D945C4 80241684 AE400074 */ sw $zero, 0x74($s2) +/* D945C8 80241688 8E2200B0 */ lw $v0, 0xb0($s1) +/* D945CC 8024168C 2403FFFB */ addiu $v1, $zero, -5 +/* D945D0 80241690 00431024 */ and $v0, $v0, $v1 +/* D945D4 80241694 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241698: +/* D945D8 80241698 AE20006C */ sw $zero, 0x6c($s1) +.L8024169C: +/* D945DC 8024169C 8E420070 */ lw $v0, 0x70($s2) +/* D945E0 802416A0 2842001E */ slti $v0, $v0, 0x1e +/* D945E4 802416A4 10400009 */ beqz $v0, .L802416CC +/* D945E8 802416A8 00000000 */ nop +/* D945EC 802416AC 8E22006C */ lw $v0, 0x6c($s1) +/* D945F0 802416B0 14400006 */ bnez $v0, .L802416CC +/* D945F4 802416B4 00000000 */ nop +/* D945F8 802416B8 0C090456 */ jal func_80241158 +/* D945FC 802416BC 0240202D */ daddu $a0, $s2, $zero +/* D94600 802416C0 10400002 */ beqz $v0, .L802416CC +/* D94604 802416C4 2402001E */ addiu $v0, $zero, 0x1e +/* D94608 802416C8 AE420070 */ sw $v0, 0x70($s2) +.L802416CC: +/* D9460C 802416CC 8E430070 */ lw $v1, 0x70($s2) +/* D94610 802416D0 2C620064 */ sltiu $v0, $v1, 0x64 +/* D94614 802416D4 10400048 */ beqz $v0, .L802417F8 +/* D94618 802416D8 00031080 */ sll $v0, $v1, 2 +/* D9461C 802416DC 3C018024 */ lui $at, 0x8024 +/* D94620 802416E0 00220821 */ addu $at, $at, $v0 +/* D94624 802416E4 8C222518 */ lw $v0, 0x2518($at) +/* D94628 802416E8 00400008 */ jr $v0 +/* D9462C 802416EC 00000000 */ nop +/* D94630 802416F0 0240202D */ daddu $a0, $s2, $zero +/* D94634 802416F4 0260282D */ daddu $a1, $s3, $zero +/* D94638 802416F8 0C012568 */ jal func_800495A0 +/* D9463C 802416FC 0280302D */ daddu $a2, $s4, $zero +/* D94640 80241700 0240202D */ daddu $a0, $s2, $zero +/* D94644 80241704 0260282D */ daddu $a1, $s3, $zero +/* D94648 80241708 0C0125AE */ jal func_800496B8 +/* D9464C 8024170C 0280302D */ daddu $a2, $s4, $zero +/* D94650 80241710 080905FE */ j .L802417F8 +/* D94654 80241714 00000000 */ nop +/* D94658 80241718 0240202D */ daddu $a0, $s2, $zero +/* D9465C 8024171C 0260282D */ daddu $a1, $s3, $zero +/* D94660 80241720 0C0126D1 */ jal func_80049B44 +/* D94664 80241724 0280302D */ daddu $a2, $s4, $zero +/* D94668 80241728 0240202D */ daddu $a0, $s2, $zero +/* D9466C 8024172C 0260282D */ daddu $a1, $s3, $zero +/* D94670 80241730 0C012701 */ jal func_80049C04 +/* D94674 80241734 0280302D */ daddu $a2, $s4, $zero +/* D94678 80241738 080905FE */ j .L802417F8 +/* D9467C 8024173C 00000000 */ nop +/* D94680 80241740 0240202D */ daddu $a0, $s2, $zero +/* D94684 80241744 0260282D */ daddu $a1, $s3, $zero +/* D94688 80241748 0C01278F */ jal func_80049E3C +/* D9468C 8024174C 0280302D */ daddu $a2, $s4, $zero +/* D94690 80241750 0240202D */ daddu $a0, $s2, $zero +/* D94694 80241754 0260282D */ daddu $a1, $s3, $zero +/* D94698 80241758 0C0127B3 */ jal func_80049ECC +/* D9469C 8024175C 0280302D */ daddu $a2, $s4, $zero +/* D946A0 80241760 080905FE */ j .L802417F8 +/* D946A4 80241764 00000000 */ nop +/* D946A8 80241768 0240202D */ daddu $a0, $s2, $zero +/* D946AC 8024176C 0260282D */ daddu $a1, $s3, $zero +/* D946B0 80241770 0C0127DF */ jal func_80049F7C +/* D946B4 80241774 0280302D */ daddu $a2, $s4, $zero +/* D946B8 80241778 0240202D */ daddu $a0, $s2, $zero +/* D946BC 8024177C 0260282D */ daddu $a1, $s3, $zero +/* D946C0 80241780 0C012849 */ jal func_8004A124 +/* D946C4 80241784 0280302D */ daddu $a2, $s4, $zero +/* D946C8 80241788 080905FE */ j .L802417F8 +/* D946CC 8024178C 00000000 */ nop +/* D946D0 80241790 0240202D */ daddu $a0, $s2, $zero +/* D946D4 80241794 0260282D */ daddu $a1, $s3, $zero +/* D946D8 80241798 0C0128FA */ jal func_8004A3E8 +/* D946DC 8024179C 0280302D */ daddu $a2, $s4, $zero +/* D946E0 802417A0 080905FE */ j .L802417F8 +/* D946E4 802417A4 00000000 */ nop +/* D946E8 802417A8 0C0903D4 */ jal func_80240F50 +/* D946EC 802417AC 0240202D */ daddu $a0, $s2, $zero +/* D946F0 802417B0 0C0903EF */ jal func_80240FBC +/* D946F4 802417B4 0240202D */ daddu $a0, $s2, $zero +/* D946F8 802417B8 8E430070 */ lw $v1, 0x70($s2) +/* D946FC 802417BC 24020020 */ addiu $v0, $zero, 0x20 +/* D94700 802417C0 1462000D */ bne $v1, $v0, .L802417F8 +/* D94704 802417C4 00000000 */ nop +/* D94708 802417C8 0C09040B */ jal func_8024102C +/* D9470C 802417CC 0240202D */ daddu $a0, $s2, $zero +/* D94710 802417D0 8E430070 */ lw $v1, 0x70($s2) +/* D94714 802417D4 24020021 */ addiu $v0, $zero, 0x21 +/* D94718 802417D8 14620007 */ bne $v1, $v0, .L802417F8 +/* D9471C 802417DC 00000000 */ nop +/* D94720 802417E0 0C090441 */ jal func_80241104 +/* D94724 802417E4 0240202D */ daddu $a0, $s2, $zero +/* D94728 802417E8 080905FE */ j .L802417F8 +/* D9472C 802417EC 00000000 */ nop +/* D94730 802417F0 0C0129CF */ jal func_8004A73C +/* D94734 802417F4 0240202D */ daddu $a0, $s2, $zero +.L802417F8: +/* D94738 802417F8 8FBF0048 */ lw $ra, 0x48($sp) +/* D9473C 802417FC 8FB50044 */ lw $s5, 0x44($sp) +/* D94740 80241800 8FB40040 */ lw $s4, 0x40($sp) +/* D94744 80241804 8FB3003C */ lw $s3, 0x3c($sp) +/* D94748 80241808 8FB20038 */ lw $s2, 0x38($sp) +/* D9474C 8024180C 8FB10034 */ lw $s1, 0x34($sp) +/* D94750 80241810 8FB00030 */ lw $s0, 0x30($sp) +/* D94754 80241814 0000102D */ daddu $v0, $zero, $zero +/* D94758 80241818 03E00008 */ jr $ra +/* D9475C 8024181C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240000_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240000_D955F0.s new file mode 100644 index 0000000000..acfb66c22d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240000_D955F0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D955F0 +/* D955F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D955F4 80240004 3C04800E */ lui $a0, 0x800e +/* D955F8 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D955FC 8024000C 3C058024 */ lui $a1, 0x8024 +/* D95600 80240010 24A52220 */ addiu $a1, $a1, 0x2220 +/* D95604 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D95608 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D9560C 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D95610 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D95614 80240024 0C01953C */ jal sprintf +/* D95618 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D9561C 8024002C 3C04800E */ lui $a0, 0x800e +/* D95620 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D95624 80240034 3C058024 */ lui $a1, 0x8024 +/* D95628 80240038 0C01953C */ jal sprintf +/* D9562C 8024003C 24A52230 */ addiu $a1, $a1, 0x2230 +/* D95630 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D95634 80240044 0000102D */ daddu $v0, $zero, $zero +/* D95638 80240048 03E00008 */ jr $ra +/* D9563C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240050_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240050_D955F0.s new file mode 100644 index 0000000000..bf7b950d89 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240050_D955F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D95640 +/* D95640 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D95644 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D95648 80240058 00822024 */ and $a0, $a0, $v0 +/* D9564C 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D95650 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D95654 80240064 00821821 */ addu $v1, $a0, $v0 +/* D95658 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D9565C 8024006C 10400003 */ beqz $v0, .L8024007C +/* D95660 80240070 30620001 */ andi $v0, $v1, 1 +/* D95664 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D95668 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D9566C 8024007C 03E00008 */ jr $ra +/* D95670 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240084_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240084_D955F0.s new file mode 100644 index 0000000000..b81c4bb999 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240084_D955F0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D95674 +/* D95674 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D95678 80240088 304300FF */ andi $v1, $v0, 0xff +/* D9567C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D95680 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D95684 80240094 28620007 */ slti $v0, $v1, 7 +/* D95688 80240098 10400005 */ beqz $v0, .L802400B0 +/* D9568C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D95690 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D95694 802400A4 3C020100 */ lui $v0, 0x100 +/* D95698 802400A8 03E00008 */ jr $ra +/* D9569C 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D956A0 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D956A4 802400B4 10400016 */ beqz $v0, .L80240110 +/* D956A8 802400B8 28620008 */ slti $v0, $v1, 8 +/* D956AC 802400BC 14400015 */ bnez $v0, .L80240114 +/* D956B0 802400C0 3C020100 */ lui $v0, 0x100 +/* D956B4 802400C4 03E00008 */ jr $ra +/* D956B8 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D956BC 802400CC 3C020001 */ lui $v0, 1 +/* D956C0 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D956C4 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D956C8 802400D8 1040000E */ beqz $v0, .L80240114 +/* D956CC 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D956D0 802400E0 03E00008 */ jr $ra +/* D956D4 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D956D8 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D956DC 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D956E0 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D956E4 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D956E8 802400F8 10400005 */ beqz $v0, .L80240110 +/* D956EC 802400FC 30620001 */ andi $v0, $v1, 1 +/* D956F0 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D956F4 80240104 24820001 */ addiu $v0, $a0, 1 +/* D956F8 80240108 03E00008 */ jr $ra +/* D956FC 8024010C 00000000 */ nop +.L80240110: +/* D95700 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D95704 80240114 03E00008 */ jr $ra +/* D95708 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_8024011C_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_8024011C_D955F0.s new file mode 100644 index 0000000000..e379e1c522 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_8024011C_D955F0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D9570C +/* D9570C 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D95710 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D95714 80240124 0080802D */ daddu $s0, $a0, $zero +/* D95718 80240128 3C058024 */ lui $a1, 0x8024 +/* D9571C 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D95720 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D95724 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D95728 80240138 0000202D */ daddu $a0, $zero, $zero +/* D9572C 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D95730 80240140 AC620000 */ sw $v0, ($v1) +/* D95734 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D95738 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D9573C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D95740 80240150 03E00008 */ jr $ra +/* D95744 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240158_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240158_D955F0.s new file mode 100644 index 0000000000..d192cd555b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240158_D955F0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D95748 +/* D95748 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D9574C 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D95750 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D95754 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D95758 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D9575C 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D95760 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D95764 80240174 8E020000 */ lw $v0, ($s0) +/* D95768 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D9576C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D95770 80240180 10400061 */ beqz $v0, .L80240308 +/* D95774 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D95778 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D9577C 8024018C 0C044181 */ jal get_shadow_by_index +/* D95780 80240190 00000000 */ nop +/* D95784 80240194 0C048B77 */ jal func_80122DDC +/* D95788 80240198 84440008 */ lh $a0, 8($v0) +/* D9578C 8024019C 8C430000 */ lw $v1, ($v0) +/* D95790 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D95794 802401A4 AC430000 */ sw $v1, ($v0) +/* D95798 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D9579C 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D957A0 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D957A4 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D957A8 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D957AC 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D957B0 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D957B4 802401C4 3C04800A */ lui $a0, 0x800a +/* D957B8 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D957BC 802401CC 46000007 */ neg.s $f0, $f0 +/* D957C0 802401D0 44070000 */ mfc1 $a3, $f0 +/* D957C4 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D957C8 802401D8 0C00B94E */ jal get_screen_coords +/* D957CC 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D957D0 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D957D4 802401E4 0C090014 */ jal func_80240050 +/* D957D8 802401E8 00000000 */ nop +/* D957DC 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D957E0 802401F0 3C014307 */ lui $at, 0x4307 +/* D957E4 802401F4 44810000 */ mtc1 $at, $f0 +/* D957E8 802401F8 00000000 */ nop +/* D957EC 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D957F0 80240200 00000000 */ nop +/* D957F4 80240204 4500000B */ bc1f .L80240234 +/* D957F8 80240208 24040002 */ addiu $a0, $zero, 2 +/* D957FC 8024020C 3C014361 */ lui $at, 0x4361 +/* D95800 80240210 44810000 */ mtc1 $at, $f0 +/* D95804 80240214 00000000 */ nop +/* D95808 80240218 4600103C */ c.lt.s $f2, $f0 +/* D9580C 8024021C 00000000 */ nop +/* D95810 80240220 45000004 */ bc1f .L80240234 +/* D95814 80240224 00000000 */ nop +/* D95818 80240228 0C090021 */ jal func_80240084 +/* D9581C 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D95820 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D95824 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D95828 80240238 0C0B76A3 */ jal func_802DDA8C +/* D9582C 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D95830 80240240 8E020000 */ lw $v0, ($s0) +/* D95834 80240244 3C030002 */ lui $v1, 2 +/* D95838 80240248 00431024 */ and $v0, $v0, $v1 +/* D9583C 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D95840 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D95844 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D95848 80240258 3C02802E */ lui $v0, 0x802e +/* D9584C 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D95850 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D95854 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D95858 80240268 1040000B */ beqz $v0, .L80240298 +/* D9585C 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D95860 80240270 24040002 */ addiu $a0, $zero, 2 +/* D95864 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D95868 80240278 24060007 */ addiu $a2, $zero, 7 +/* D9586C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D95870 80240280 0000382D */ daddu $a3, $zero, $zero +/* D95874 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D95878 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D9587C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D95880 80240290 080900AF */ j .L802402BC +/* D95884 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D95888 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D9588C 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D95890 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D95894 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D95898 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D9589C 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D958A0 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D958A4 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D958A8 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D958AC 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D958B0 802402C0 00000000 */ nop +.L802402C4: +/* D958B4 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D958B8 802402C8 3C01802E */ lui $at, 0x802e +/* D958BC 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D958C0 802402D0 080900B9 */ j .L802402E4 +/* D958C4 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D958C8 802402D8 3C01802E */ lui $at, 0x802e +/* D958CC 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D958D0 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D958D4 802402E4 AC910000 */ sw $s1, ($a0) +/* D958D8 802402E8 AC900008 */ sw $s0, 8($a0) +/* D958DC 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D958E0 802402F0 3C038024 */ lui $v1, 0x8024 +/* D958E4 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D958E8 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D958EC 802402FC 00021023 */ negu $v0, $v0 +/* D958F0 80240300 0C047644 */ jal queue_render_task +/* D958F4 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D958F8 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D958FC 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D95900 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D95904 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D95908 80240318 03E00008 */ jr $ra +/* D9590C 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240320_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240320_D955F0.s new file mode 100644 index 0000000000..ac2f1770bb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240320_D955F0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D95910 +/* D95910 80240320 3C03800A */ lui $v1, 0x800a +/* D95914 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D95918 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D9591C 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D95920 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D95924 80240334 4480A000 */ mtc1 $zero, $f20 +/* D95928 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D9592C 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D95930 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D95934 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D95938 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D9593C 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D95940 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D95944 80240354 00031080 */ sll $v0, $v1, 2 +/* D95948 80240358 00431021 */ addu $v0, $v0, $v1 +/* D9594C 8024035C 00021080 */ sll $v0, $v0, 2 +/* D95950 80240360 00431023 */ subu $v0, $v0, $v1 +/* D95954 80240364 000218C0 */ sll $v1, $v0, 3 +/* D95958 80240368 00431021 */ addu $v0, $v0, $v1 +/* D9595C 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D95960 80240370 3C01800B */ lui $at, 0x800b +/* D95964 80240374 00220821 */ addu $at, $at, $v0 +/* D95968 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D9596C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D95970 80240380 4600B587 */ neg.s $f22, $f22 +/* D95974 80240384 4405B000 */ mfc1 $a1, $f22 +/* D95978 80240388 0200202D */ daddu $a0, $s0, $zero +/* D9597C 8024038C 0C019EC8 */ jal guRotateF +/* D95980 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D95984 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D95988 80240398 0C00A6C9 */ jal clamp_angle +/* D9598C 8024039C 00000000 */ nop +/* D95990 802403A0 44050000 */ mfc1 $a1, $f0 +/* D95994 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D95998 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D9599C 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D959A0 802403B0 4481C000 */ mtc1 $at, $f24 +/* D959A4 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D959A8 802403B8 0C019EC8 */ jal guRotateF +/* D959AC 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D959B0 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D959B4 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D959B8 802403C8 0C019D80 */ jal guMtxCatF +/* D959BC 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D959C0 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D959C4 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D959C8 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D959CC 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D959D0 802403E0 0C019EC8 */ jal guRotateF +/* D959D4 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D959D8 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D959DC 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D959E0 802403F0 0C019D80 */ jal guMtxCatF +/* D959E4 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D959E8 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D959EC 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D959F0 80240400 4406A000 */ mfc1 $a2, $f20 +/* D959F4 80240404 4407C000 */ mfc1 $a3, $f24 +/* D959F8 80240408 0C019EC8 */ jal guRotateF +/* D959FC 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D95A00 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D95A04 80240414 0200282D */ daddu $a1, $s0, $zero +/* D95A08 80240418 0C019D80 */ jal guMtxCatF +/* D95A0C 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D95A10 80240420 3C013F36 */ lui $at, 0x3f36 +/* D95A14 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D95A18 80240428 44810000 */ mtc1 $at, $f0 +/* D95A1C 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D95A20 80240430 44050000 */ mfc1 $a1, $f0 +/* D95A24 80240434 0200202D */ daddu $a0, $s0, $zero +/* D95A28 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D95A2C 8024043C 0C019DF0 */ jal guScaleF +/* D95A30 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D95A34 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D95A38 80240448 0200282D */ daddu $a1, $s0, $zero +/* D95A3C 8024044C 0C019D80 */ jal guMtxCatF +/* D95A40 80240450 0080302D */ daddu $a2, $a0, $zero +/* D95A44 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D95A48 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D95A4C 8024045C 3C014040 */ lui $at, 0x4040 +/* D95A50 80240460 44811000 */ mtc1 $at, $f2 +/* D95A54 80240464 46000007 */ neg.s $f0, $f0 +/* D95A58 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D95A5C 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D95A60 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D95A64 80240474 44070000 */ mfc1 $a3, $f0 +/* D95A68 80240478 0C019E40 */ jal guTranslateF +/* D95A6C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D95A70 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D95A74 80240484 0200282D */ daddu $a1, $s0, $zero +/* D95A78 80240488 0C019D80 */ jal guMtxCatF +/* D95A7C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D95A80 80240490 24040002 */ addiu $a0, $zero, 2 +/* D95A84 80240494 0000282D */ daddu $a1, $zero, $zero +/* D95A88 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D95A8C 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D95A90 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D95A94 802404A4 0C0B7710 */ jal render_sprite +/* D95A98 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D95A9C 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D95AA0 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D95AA4 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D95AA8 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D95AAC 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D95AB0 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D95AB4 802404C4 03E00008 */ jr $ra +/* D95AB8 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_802404CC_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_802404CC_D955F0.s new file mode 100644 index 0000000000..f6d321235e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_802404CC_D955F0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D95ABC +/* D95ABC 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D95AC0 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D95AC4 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D95AC8 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D95ACC 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D95AD0 802404E0 0440000E */ bltz $v0, .L8024051C +/* D95AD4 802404E4 28420002 */ slti $v0, $v0, 2 +/* D95AD8 802404E8 1040000C */ beqz $v0, .L8024051C +/* D95ADC 802404EC 00000000 */ nop +/* D95AE0 802404F0 3C058024 */ lui $a1, 0x8024 +/* D95AE4 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D95AE8 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D95AEC 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D95AF0 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D95AF4 80240504 AC620000 */ sw $v0, ($v1) +/* D95AF8 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D95AFC 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D95B00 80240510 8C620000 */ lw $v0, ($v1) +/* D95B04 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D95B08 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D95B0C 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D95B10 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D95B14 80240524 24020002 */ addiu $v0, $zero, 2 +/* D95B18 80240528 03E00008 */ jr $ra +/* D95B1C 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240530_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240530_D955F0.s new file mode 100644 index 0000000000..59ac42bc72 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240530_D955F0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D95B20 +/* D95B20 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D95B24 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D95B28 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D95B2C 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D95B30 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D95B34 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D95B38 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D95B3C 8024054C 8E020000 */ lw $v0, ($s0) +/* D95B40 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D95B44 80240554 30420001 */ andi $v0, $v0, 1 +/* D95B48 80240558 10400052 */ beqz $v0, .L802406A4 +/* D95B4C 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D95B50 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D95B54 80240564 0C044181 */ jal get_shadow_by_index +/* D95B58 80240568 00000000 */ nop +/* D95B5C 8024056C 0C048B77 */ jal func_80122DDC +/* D95B60 80240570 84440008 */ lh $a0, 8($v0) +/* D95B64 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D95B68 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D95B6C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D95B70 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D95B74 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D95B78 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D95B7C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D95B80 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D95B84 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D95B88 80240598 3C04800A */ lui $a0, 0x800a +/* D95B8C 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D95B90 802405A0 46000007 */ neg.s $f0, $f0 +/* D95B94 802405A4 44060000 */ mfc1 $a2, $f0 +/* D95B98 802405A8 0C00B94E */ jal get_screen_coords +/* D95B9C 802405AC 00000000 */ nop +/* D95BA0 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D95BA4 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D95BA8 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D95BAC 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D95BB0 802405C0 8E020000 */ lw $v0, ($s0) +/* D95BB4 802405C4 3C030002 */ lui $v1, 2 +/* D95BB8 802405C8 00431024 */ and $v0, $v0, $v1 +/* D95BBC 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D95BC0 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D95BC4 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D95BC8 802405D8 3C02802E */ lui $v0, 0x802e +/* D95BCC 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D95BD0 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D95BD4 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D95BD8 802405E8 1040000B */ beqz $v0, .L80240618 +/* D95BDC 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D95BE0 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D95BE4 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D95BE8 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D95BEC 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D95BF0 80240600 0000382D */ daddu $a3, $zero, $zero +/* D95BF4 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D95BF8 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D95BFC 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D95C00 80240610 0809018F */ j .L8024063C +/* D95C04 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D95C08 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D95C0C 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D95C10 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D95C14 80240624 0000302D */ daddu $a2, $zero, $zero +/* D95C18 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D95C1C 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D95C20 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D95C24 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D95C28 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D95C2C 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D95C30 80240640 00000000 */ nop +.L80240644: +/* D95C34 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D95C38 80240648 3C01802E */ lui $at, 0x802e +/* D95C3C 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D95C40 80240650 08090198 */ j .L80240660 +/* D95C44 80240654 00000000 */ nop +.L80240658: +/* D95C48 80240658 3C01802E */ lui $at, 0x802e +/* D95C4C 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D95C50 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D95C54 80240664 3C048024 */ lui $a0, 0x8024 +/* D95C58 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D95C5C 8024066C AE320000 */ sw $s2, ($s1) +/* D95C60 80240670 AE300008 */ sw $s0, 8($s1) +/* D95C64 80240674 00021023 */ negu $v0, $v0 +/* D95C68 80240678 AE220004 */ sw $v0, 4($s1) +/* D95C6C 8024067C 8E020000 */ lw $v0, ($s0) +/* D95C70 80240680 3C030002 */ lui $v1, 2 +/* D95C74 80240684 00431024 */ and $v0, $v0, $v1 +/* D95C78 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D95C7C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D95C80 80240690 3C048024 */ lui $a0, 0x8024 +/* D95C84 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D95C88 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D95C8C 8024069C 0C047644 */ jal queue_render_task +/* D95C90 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D95C94 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D95C98 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D95C9C 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D95CA0 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D95CA4 802406B4 03E00008 */ jr $ra +/* D95CA8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_802406BC_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_802406BC_D955F0.s new file mode 100644 index 0000000000..0cd22f2c7d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_802406BC_D955F0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D95CAC +/* D95CAC 802406BC 3C03800A */ lui $v1, 0x800a +/* D95CB0 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D95CB4 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D95CB8 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D95CBC 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D95CC0 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D95CC4 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D95CC8 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D95CCC 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D95CD0 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D95CD4 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D95CD8 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D95CDC 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D95CE0 802406F0 00031080 */ sll $v0, $v1, 2 +/* D95CE4 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D95CE8 802406F8 00021080 */ sll $v0, $v0, 2 +/* D95CEC 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D95CF0 80240700 000218C0 */ sll $v1, $v0, 3 +/* D95CF4 80240704 00431021 */ addu $v0, $v0, $v1 +/* D95CF8 80240708 000210C0 */ sll $v0, $v0, 3 +/* D95CFC 8024070C 3C01800B */ lui $at, 0x800b +/* D95D00 80240710 00220821 */ addu $at, $at, $v0 +/* D95D04 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D95D08 80240718 4406A000 */ mfc1 $a2, $f20 +/* D95D0C 8024071C 4600B587 */ neg.s $f22, $f22 +/* D95D10 80240720 4405B000 */ mfc1 $a1, $f22 +/* D95D14 80240724 0200202D */ daddu $a0, $s0, $zero +/* D95D18 80240728 0C019EC8 */ jal guRotateF +/* D95D1C 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D95D20 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D95D24 80240734 0C00A6C9 */ jal clamp_angle +/* D95D28 80240738 00000000 */ nop +/* D95D2C 8024073C 44050000 */ mfc1 $a1, $f0 +/* D95D30 80240740 4406A000 */ mfc1 $a2, $f20 +/* D95D34 80240744 4407A000 */ mfc1 $a3, $f20 +/* D95D38 80240748 3C013F80 */ lui $at, 0x3f80 +/* D95D3C 8024074C 4481C000 */ mtc1 $at, $f24 +/* D95D40 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D95D44 80240754 0C019EC8 */ jal guRotateF +/* D95D48 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D95D4C 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D95D50 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D95D54 80240764 0C019D80 */ jal guMtxCatF +/* D95D58 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D95D5C 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D95D60 80240770 4406A000 */ mfc1 $a2, $f20 +/* D95D64 80240774 4407C000 */ mfc1 $a3, $f24 +/* D95D68 80240778 0200202D */ daddu $a0, $s0, $zero +/* D95D6C 8024077C 0C019EC8 */ jal guRotateF +/* D95D70 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D95D74 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D95D78 80240788 0200282D */ daddu $a1, $s0, $zero +/* D95D7C 8024078C 0C019D80 */ jal guMtxCatF +/* D95D80 80240790 0080302D */ daddu $a2, $a0, $zero +/* D95D84 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D95D88 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D95D8C 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D95D90 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D95D94 802407A4 0C019EC8 */ jal guRotateF +/* D95D98 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D95D9C 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D95DA0 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D95DA4 802407B4 0C019D80 */ jal guMtxCatF +/* D95DA8 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D95DAC 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D95DB0 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D95DB4 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D95DB8 802407C8 44810000 */ mtc1 $at, $f0 +/* D95DBC 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D95DC0 802407D0 44050000 */ mfc1 $a1, $f0 +/* D95DC4 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D95DC8 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D95DCC 802407DC 0C019DF0 */ jal guScaleF +/* D95DD0 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D95DD4 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D95DD8 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D95DDC 802407EC 0C019D80 */ jal guMtxCatF +/* D95DE0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D95DE4 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D95DE8 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D95DEC 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D95DF0 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D95DF4 80240804 46000007 */ neg.s $f0, $f0 +/* D95DF8 80240808 44060000 */ mfc1 $a2, $f0 +/* D95DFC 8024080C 0C019E40 */ jal guTranslateF +/* D95E00 80240810 0200202D */ daddu $a0, $s0, $zero +/* D95E04 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D95E08 80240818 0200282D */ daddu $a1, $s0, $zero +/* D95E0C 8024081C 0C019D80 */ jal guMtxCatF +/* D95E10 80240820 0080302D */ daddu $a2, $a0, $zero +/* D95E14 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D95E18 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D95E1C 8024082C 44810000 */ mtc1 $at, $f0 +/* D95E20 80240830 00000000 */ nop +/* D95E24 80240834 4602003E */ c.le.s $f0, $f2 +/* D95E28 80240838 00000000 */ nop +/* D95E2C 8024083C 4500000A */ bc1f .L80240868 +/* D95E30 80240840 24040001 */ addiu $a0, $zero, 1 +/* D95E34 80240844 3C014387 */ lui $at, 0x4387 +/* D95E38 80240848 44810000 */ mtc1 $at, $f0 +/* D95E3C 8024084C 00000000 */ nop +/* D95E40 80240850 4600103C */ c.lt.s $f2, $f0 +/* D95E44 80240854 00000000 */ nop +/* D95E48 80240858 45000004 */ bc1f .L8024086C +/* D95E4C 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D95E50 80240860 3C041000 */ lui $a0, 0x1000 +/* D95E54 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D95E58 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D95E5C 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D95E60 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D95E64 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D95E68 80240878 0C0B7710 */ jal render_sprite +/* D95E6C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D95E70 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D95E74 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D95E78 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D95E7C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D95E80 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D95E84 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D95E88 80240898 03E00008 */ jr $ra +/* D95E8C 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_802408A0_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_802408A0_D955F0.s new file mode 100644 index 0000000000..32f61fcd0c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_802408A0_D955F0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D95E90 +/* D95E90 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D95E94 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D95E98 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D95E9C 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D95EA0 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D95EA4 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D95EA8 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D95EAC 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D95EB0 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D95EB4 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D95EB8 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D95EBC 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D95EC0 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D95EC4 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D95EC8 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D95ECC 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D95ED0 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D95ED4 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D95ED8 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D95EDC 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D95EE0 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D95EE4 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D95EE8 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D95EEC 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D95EF0 80240900 3C03800A */ lui $v1, 0x800a +/* D95EF4 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D95EF8 80240908 00031080 */ sll $v0, $v1, 2 +/* D95EFC 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D95F00 80240910 00021080 */ sll $v0, $v0, 2 +/* D95F04 80240914 00431023 */ subu $v0, $v0, $v1 +/* D95F08 80240918 000218C0 */ sll $v1, $v0, 3 +/* D95F0C 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D95F10 80240920 000210C0 */ sll $v0, $v0, 3 +/* D95F14 80240924 00561021 */ addu $v0, $v0, $s6 +/* D95F18 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D95F1C 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D95F20 80240930 46000507 */ neg.s $f20, $f0 +/* D95F24 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D95F28 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D95F2C 8024093C 44810000 */ mtc1 $at, $f0 +/* D95F30 80240940 00000000 */ nop +/* D95F34 80240944 4602003C */ c.lt.s $f0, $f2 +/* D95F38 80240948 00000000 */ nop +/* D95F3C 8024094C 4500000A */ bc1f .L80240978 +/* D95F40 80240950 00000000 */ nop +/* D95F44 80240954 3C014334 */ lui $at, 0x4334 +/* D95F48 80240958 44812000 */ mtc1 $at, $f4 +/* D95F4C 8024095C 00000000 */ nop +/* D95F50 80240960 4604103E */ c.le.s $f2, $f4 +/* D95F54 80240964 00000000 */ nop +/* D95F58 80240968 45000003 */ bc1f .L80240978 +/* D95F5C 8024096C 00000000 */ nop +/* D95F60 80240970 08090282 */ j .L80240A08 +/* D95F64 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D95F68 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D95F6C 8024097C 3C014334 */ lui $at, 0x4334 +/* D95F70 80240980 44812000 */ mtc1 $at, $f4 +/* D95F74 80240984 00000000 */ nop +/* D95F78 80240988 4600203C */ c.lt.s $f4, $f0 +/* D95F7C 8024098C 00000000 */ nop +/* D95F80 80240990 4500000C */ bc1f .L802409C4 +/* D95F84 80240994 00000000 */ nop +/* D95F88 80240998 3C014387 */ lui $at, 0x4387 +/* D95F8C 8024099C 44812000 */ mtc1 $at, $f4 +/* D95F90 802409A0 00000000 */ nop +/* D95F94 802409A4 4604003E */ c.le.s $f0, $f4 +/* D95F98 802409A8 00000000 */ nop +/* D95F9C 802409AC 45000008 */ bc1f .L802409D0 +/* D95FA0 802409B0 00000000 */ nop +/* D95FA4 802409B4 3C014334 */ lui $at, 0x4334 +/* D95FA8 802409B8 44812000 */ mtc1 $at, $f4 +/* D95FAC 802409BC 08090282 */ j .L80240A08 +/* D95FB0 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D95FB4 802409C4 3C014387 */ lui $at, 0x4387 +/* D95FB8 802409C8 44812000 */ mtc1 $at, $f4 +/* D95FBC 802409CC 00000000 */ nop +.L802409D0: +/* D95FC0 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D95FC4 802409D4 00000000 */ nop +/* D95FC8 802409D8 4500000A */ bc1f .L80240A04 +/* D95FCC 802409DC 00000000 */ nop +/* D95FD0 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D95FD4 802409E4 44811000 */ mtc1 $at, $f2 +/* D95FD8 802409E8 00000000 */ nop +/* D95FDC 802409EC 4602003E */ c.le.s $f0, $f2 +/* D95FE0 802409F0 00000000 */ nop +/* D95FE4 802409F4 45000003 */ bc1f .L80240A04 +/* D95FE8 802409F8 00000000 */ nop +/* D95FEC 802409FC 08090282 */ j .L80240A08 +/* D95FF0 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D95FF4 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D95FF8 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D95FFC 80240A0C 44810000 */ mtc1 $at, $f0 +/* D96000 80240A10 00000000 */ nop +/* D96004 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D96008 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D9600C 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D96010 80240A20 00000000 */ nop +/* D96014 80240A24 00071100 */ sll $v0, $a3, 4 +/* D96018 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D9601C 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D96020 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D96024 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D96028 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D9602C 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D96030 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D96034 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D96038 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D9603C 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D96040 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D96044 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D96048 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D9604C 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D96050 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D96054 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D96058 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D9605C 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D96060 80240A70 0C019EC8 */ jal guRotateF +/* D96064 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D96068 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D9606C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D96070 80240A80 00000000 */ nop +/* D96074 80240A84 44050000 */ mfc1 $a1, $f0 +/* D96078 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D9607C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D96080 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D96084 80240A94 44812000 */ mtc1 $at, $f4 +/* D96088 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D9608C 80240A9C 0C019EC8 */ jal guRotateF +/* D96090 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D96094 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D96098 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D9609C 80240AAC 0C019D80 */ jal guMtxCatF +/* D960A0 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D960A4 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D960A8 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D960AC 80240ABC 080902E2 */ j .L80240B88 +/* D960B0 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D960B4 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D960B8 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D960BC 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D960C0 80240AD0 0C03964E */ jal func_800E5938 +/* D960C4 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D960C8 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D960CC 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D960D0 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D960D4 80240AE4 46000606 */ mov.s $f24, $f0 +/* D960D8 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D960DC 80240AEC 080902C1 */ j .L80240B04 +/* D960E0 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D960E4 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D960E8 80240AF8 00000000 */ nop +/* D960EC 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D960F0 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D960F4 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D960F8 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D960FC 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D96100 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D96104 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D96108 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D9610C 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D96110 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D96114 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D96118 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D9611C 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D96120 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D96124 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D96128 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D9612C 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D96130 80240B40 0C019EC8 */ jal guRotateF +/* D96134 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D96138 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D9613C 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D96140 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D96144 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D96148 80240B58 0C019EC8 */ jal guRotateF +/* D9614C 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D96150 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D96154 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D96158 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D9615C 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D96160 80240B70 0C019EC8 */ jal guRotateF +/* D96164 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D96168 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D9616C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D96170 80240B80 0C019D80 */ jal guMtxCatF +/* D96174 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D96178 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D9617C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D96180 80240B90 44812000 */ mtc1 $at, $f4 +/* D96184 80240B94 00021023 */ negu $v0, $v0 +/* D96188 80240B98 44820000 */ mtc1 $v0, $f0 +/* D9618C 80240B9C 00000000 */ nop +/* D96190 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D96194 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D96198 80240BA8 00000000 */ nop +/* D9619C 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D961A0 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D961A4 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D961A8 80240BB8 0C019E40 */ jal guTranslateF +/* D961AC 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D961B0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D961B4 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D961B8 80240BC8 0C019D80 */ jal guMtxCatF +/* D961BC 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D961C0 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D961C4 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D961C8 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D961CC 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D961D0 80240BE0 0C019EC8 */ jal guRotateF +/* D961D4 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D961D8 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D961DC 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D961E0 80240BF0 0C019D80 */ jal guMtxCatF +/* D961E4 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D961E8 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D961EC 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D961F0 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D961F4 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D961F8 80240C08 0C019EC8 */ jal guRotateF +/* D961FC 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D96200 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D96204 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D96208 80240C18 0C019D80 */ jal guMtxCatF +/* D9620C 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D96210 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D96214 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D96218 80240C28 44812000 */ mtc1 $at, $f4 +/* D9621C 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D96220 80240C30 00000000 */ nop +/* D96224 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D96228 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D9622C 80240C3C 00000000 */ nop +/* D96230 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D96234 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D96238 80240C48 44062000 */ mfc1 $a2, $f4 +/* D9623C 80240C4C 0C019E40 */ jal guTranslateF +/* D96240 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D96244 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D96248 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D9624C 80240C5C 0C019D80 */ jal guMtxCatF +/* D96250 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D96254 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D96258 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D9625C 80240C6C 44810000 */ mtc1 $at, $f0 +/* D96260 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D96264 80240C74 44050000 */ mfc1 $a1, $f0 +/* D96268 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D9626C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D96270 80240C80 0C019DF0 */ jal guScaleF +/* D96274 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D96278 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D9627C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D96280 80240C90 0C019D80 */ jal guMtxCatF +/* D96284 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D96288 80240C98 4600D687 */ neg.s $f26, $f26 +/* D9628C 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D96290 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D96294 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D96298 80240CA8 0C019E40 */ jal guTranslateF +/* D9629C 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D962A0 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D962A4 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D962A8 80240CB8 0C019D80 */ jal guMtxCatF +/* D962AC 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D962B0 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D962B4 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D962B8 80240CC8 44810000 */ mtc1 $at, $f0 +/* D962BC 80240CCC 00000000 */ nop +/* D962C0 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D962C4 80240CD4 00000000 */ nop +/* D962C8 80240CD8 4500000A */ bc1f .L80240D04 +/* D962CC 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D962D0 80240CE0 3C014387 */ lui $at, 0x4387 +/* D962D4 80240CE4 44812000 */ mtc1 $at, $f4 +/* D962D8 80240CE8 00000000 */ nop +/* D962DC 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D962E0 80240CF0 00000000 */ nop +/* D962E4 80240CF4 45000004 */ bc1f .L80240D08 +/* D962E8 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D962EC 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D962F0 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D962F4 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D962F8 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D962FC 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D96300 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D96304 80240D14 0C0B7710 */ jal render_sprite +/* D96308 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D9630C 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D96310 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D96314 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D96318 80240D28 00000000 */ nop +/* D9631C 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D96320 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D96324 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D96328 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D9632C 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D96330 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D96334 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D96338 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D9633C 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D96340 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D96344 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D96348 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D9634C 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D96350 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D96354 80240D64 03E00008 */ jr $ra +/* D96358 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240D6C_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240D6C_D955F0.s new file mode 100644 index 0000000000..d09e4a6241 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240D6C_D955F0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D9635C +/* D9635C 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D96360 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D96364 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D96368 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D9636C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D96370 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D96374 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D96378 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D9637C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D96380 80240D90 00000000 */ nop +/* D96384 80240D94 28620002 */ slti $v0, $v1, 2 +/* D96388 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D9638C 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D96390 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D96394 80240DA4 00000000 */ nop +/* D96398 80240DA8 08090384 */ j .L80240E10 +/* D9639C 80240DAC 00000000 */ nop +.L80240DB0: +/* D963A0 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D963A4 80240DB4 00000000 */ nop +/* D963A8 80240DB8 08090384 */ j .L80240E10 +/* D963AC 80240DBC 00000000 */ nop +.L80240DC0: +/* D963B0 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D963B4 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D963B8 80240DC8 08090380 */ j .L80240E00 +/* D963BC 80240DCC 00000000 */ nop +.L80240DD0: +/* D963C0 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D963C4 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D963C8 80240DD8 08090380 */ j .L80240E00 +/* D963CC 80240DDC 00000000 */ nop +.L80240DE0: +/* D963D0 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D963D4 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D963D8 80240DE8 00000000 */ nop +/* D963DC 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D963E0 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D963E4 80240DF4 00000000 */ nop +.L80240DF8: +/* D963E8 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D963EC 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D963F0 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D963F4 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D963F8 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D963FC 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D96400 80240E10 0C00EAD2 */ jal get_npc_safe +/* D96404 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D96408 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D9640C 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D96410 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D96414 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D96418 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D9641C 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D96420 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D96424 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D96428 80240E38 28820002 */ slti $v0, $a0, 2 +/* D9642C 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D96430 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D96434 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D96438 80240E48 00000000 */ nop +/* D9643C 80240E4C 080903A9 */ j .L80240EA4 +/* D96440 80240E50 00000000 */ nop +.L80240E54: +/* D96444 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D96448 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D9644C 80240E5C 080903A9 */ j .L80240EA4 +/* D96450 80240E60 00000000 */ nop +.L80240E64: +/* D96454 80240E64 8CA20000 */ lw $v0, ($a1) +/* D96458 80240E68 080903A6 */ j .L80240E98 +/* D9645C 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D96460 80240E70 8CA20000 */ lw $v0, ($a1) +/* D96464 80240E74 080903A6 */ j .L80240E98 +/* D96468 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D9646C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D96470 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D96474 80240E84 28420002 */ slti $v0, $v0, 2 +/* D96478 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D9647C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D96480 80240E90 8CA20000 */ lw $v0, ($a1) +/* D96484 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D96488 80240E98 00431025 */ or $v0, $v0, $v1 +/* D9648C 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D96490 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D96494 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D96498 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D9649C 80240EAC 03E00008 */ jr $ra +/* D964A0 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240EB4_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240EB4_D955F0.s new file mode 100644 index 0000000000..ffa191a56f --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240EB4_D955F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D964A4 +/* D964A4 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D964A8 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D964AC 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D964B0 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D964B4 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D964B8 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D964BC 80240ECC 3C03000A */ lui $v1, 0xa +/* D964C0 80240ED0 8C820000 */ lw $v0, ($a0) +/* D964C4 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D964C8 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D964CC 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D964D0 80240EE0 03E00008 */ jr $ra +/* D964D4 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240EE8_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240EE8_D955F0.s new file mode 100644 index 0000000000..6c37085265 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240EE8_D955F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D964D8 +/* D964D8 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D964DC 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D964E0 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D964E4 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D964E8 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D964EC 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D964F0 80240F00 3C030008 */ lui $v1, 8 +/* D964F4 80240F04 8C820000 */ lw $v0, ($a0) +/* D964F8 80240F08 00431025 */ or $v0, $v0, $v1 +/* D964FC 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D96500 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D96504 80240F14 03E00008 */ jr $ra +/* D96508 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240F1C_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240F1C_D955F0.s new file mode 100644 index 0000000000..3135ed1e2e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240F1C_D955F0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D9650C +/* D9650C 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D96510 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D96514 80240F24 0C00EAD2 */ jal get_npc_safe +/* D96518 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D9651C 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D96520 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D96524 80240F34 3C030002 */ lui $v1, 2 +/* D96528 80240F38 8C820000 */ lw $v0, ($a0) +/* D9652C 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D96530 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D96534 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D96538 80240F48 03E00008 */ jr $ra +/* D9653C 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_38/func_80240F50_D955F0.s b/asm/nonmatchings/world/area_pra/pra_38/func_80240F50_D955F0.s new file mode 100644 index 0000000000..a30271a155 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_38/func_80240F50_D955F0.s @@ -0,0 +1,508 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D96540 +/* D96540 80240F50 27BDFF88 */ addiu $sp, $sp, -0x78 +/* D96544 80240F54 AFB3005C */ sw $s3, 0x5c($sp) +/* D96548 80240F58 0080982D */ daddu $s3, $a0, $zero +/* D9654C 80240F5C AFBF006C */ sw $ra, 0x6c($sp) +/* D96550 80240F60 AFB60068 */ sw $s6, 0x68($sp) +/* D96554 80240F64 AFB50064 */ sw $s5, 0x64($sp) +/* D96558 80240F68 AFB40060 */ sw $s4, 0x60($sp) +/* D9655C 80240F6C AFB20058 */ sw $s2, 0x58($sp) +/* D96560 80240F70 AFB10054 */ sw $s1, 0x54($sp) +/* D96564 80240F74 AFB00050 */ sw $s0, 0x50($sp) +/* D96568 80240F78 F7B40070 */ sdc1 $f20, 0x70($sp) +/* D9656C 80240F7C 8E720148 */ lw $s2, 0x148($s3) +/* D96570 80240F80 86440008 */ lh $a0, 8($s2) +/* D96574 80240F84 0C00EABB */ jal get_npc_unsafe +/* D96578 80240F88 00A0802D */ daddu $s0, $a1, $zero +/* D9657C 80240F8C 8E63000C */ lw $v1, 0xc($s3) +/* D96580 80240F90 0260202D */ daddu $a0, $s3, $zero +/* D96584 80240F94 8C650000 */ lw $a1, ($v1) +/* D96588 80240F98 0C0B1EAF */ jal get_variable +/* D9658C 80240F9C 0040882D */ daddu $s1, $v0, $zero +/* D96590 80240FA0 AFA00020 */ sw $zero, 0x20($sp) +/* D96594 80240FA4 8E4300D0 */ lw $v1, 0xd0($s2) +/* D96598 80240FA8 8C630030 */ lw $v1, 0x30($v1) +/* D9659C 80240FAC AFA30024 */ sw $v1, 0x24($sp) +/* D965A0 80240FB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D965A4 80240FB4 8C63001C */ lw $v1, 0x1c($v1) +/* D965A8 80240FB8 AFA30028 */ sw $v1, 0x28($sp) +/* D965AC 80240FBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D965B0 80240FC0 8C630024 */ lw $v1, 0x24($v1) +/* D965B4 80240FC4 AFA3002C */ sw $v1, 0x2c($sp) +/* D965B8 80240FC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* D965BC 80240FCC 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* D965C0 80240FD0 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* D965C4 80240FD4 8C630028 */ lw $v1, 0x28($v1) +/* D965C8 80240FD8 27B60020 */ addiu $s6, $sp, 0x20 +/* D965CC 80240FDC AFA30030 */ sw $v1, 0x30($sp) +/* D965D0 80240FE0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D965D4 80240FE4 3C0143FA */ lui $at, 0x43fa +/* D965D8 80240FE8 44810000 */ mtc1 $at, $f0 +/* D965DC 80240FEC 8C63002C */ lw $v1, 0x2c($v1) +/* D965E0 80240FF0 0040A02D */ daddu $s4, $v0, $zero +/* D965E4 80240FF4 E7A00038 */ swc1 $f0, 0x38($sp) +/* D965E8 80240FF8 A7A0003C */ sh $zero, 0x3c($sp) +/* D965EC 80240FFC 12000019 */ beqz $s0, .L80241064 +/* D965F0 80241000 AFA30034 */ sw $v1, 0x34($sp) +/* D965F4 80241004 27A50040 */ addiu $a1, $sp, 0x40 +/* D965F8 80241008 27A60044 */ addiu $a2, $sp, 0x44 +/* D965FC 8024100C AE600070 */ sw $zero, 0x70($s3) +/* D96600 80241010 A620008E */ sh $zero, 0x8e($s1) +/* D96604 80241014 8E4200B0 */ lw $v0, 0xb0($s2) +/* D96608 80241018 3C01447A */ lui $at, 0x447a +/* D9660C 8024101C 44810000 */ mtc1 $at, $f0 +/* D96610 80241020 34420010 */ ori $v0, $v0, 0x10 +/* D96614 80241024 AE4200B0 */ sw $v0, 0xb0($s2) +/* D96618 80241028 C6220038 */ lwc1 $f2, 0x38($s1) +/* D9661C 8024102C C624003C */ lwc1 $f4, 0x3c($s1) +/* D96620 80241030 C6260040 */ lwc1 $f6, 0x40($s1) +/* D96624 80241034 27A2004C */ addiu $v0, $sp, 0x4c +/* D96628 80241038 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D9662C 8024103C E7A20040 */ swc1 $f2, 0x40($sp) +/* D96630 80241040 E7A40044 */ swc1 $f4, 0x44($sp) +/* D96634 80241044 E7A60048 */ swc1 $f6, 0x48($sp) +/* D96638 80241048 AFA20010 */ sw $v0, 0x10($sp) +/* D9663C 8024104C 8E240080 */ lw $a0, 0x80($s1) +/* D96640 80241050 0C0372DF */ jal func_800DCB7C +/* D96644 80241054 27A70048 */ addiu $a3, $sp, 0x48 +/* D96648 80241058 C7A00044 */ lwc1 $f0, 0x44($sp) +/* D9664C 8024105C 4600028D */ trunc.w.s $f10, $f0 +/* D96650 80241060 E64A0070 */ swc1 $f10, 0x70($s2) +.L80241064: +/* D96654 80241064 8E4300B0 */ lw $v1, 0xb0($s2) +/* D96658 80241068 30620004 */ andi $v0, $v1, 4 +/* D9665C 8024106C 10400007 */ beqz $v0, .L8024108C +/* D96660 80241070 00000000 */ nop +/* D96664 80241074 824200B4 */ lb $v0, 0xb4($s2) +/* D96668 80241078 1440018D */ bnez $v0, .L802416B0 +/* D9666C 8024107C 0000102D */ daddu $v0, $zero, $zero +/* D96670 80241080 2402FFFB */ addiu $v0, $zero, -5 +/* D96674 80241084 00621024 */ and $v0, $v1, $v0 +/* D96678 80241088 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024108C: +/* D9667C 8024108C 8E630070 */ lw $v1, 0x70($s3) +/* D96680 80241090 2C620010 */ sltiu $v0, $v1, 0x10 +/* D96684 80241094 10400185 */ beqz $v0, .L802416AC +/* D96688 80241098 00031080 */ sll $v0, $v1, 2 +/* D9668C 8024109C 3C018024 */ lui $at, 0x8024 +/* D96690 802410A0 00220821 */ addu $at, $at, $v0 +/* D96694 802410A4 8C222250 */ lw $v0, 0x2250($at) +/* D96698 802410A8 00400008 */ jr $v0 +/* D9669C 802410AC 00000000 */ nop +/* D966A0 802410B0 8E4200CC */ lw $v0, 0xcc($s2) +/* D966A4 802410B4 922300A9 */ lbu $v1, 0xa9($s1) +/* D966A8 802410B8 8C440000 */ lw $a0, ($v0) +/* D966AC 802410BC 8E220000 */ lw $v0, ($s1) +/* D966B0 802410C0 A22300AB */ sb $v1, 0xab($s1) +/* D966B4 802410C4 34420080 */ ori $v0, $v0, 0x80 +/* D966B8 802410C8 AE220000 */ sw $v0, ($s1) +/* D966BC 802410CC 24020001 */ addiu $v0, $zero, 1 +/* D966C0 802410D0 AE240028 */ sw $a0, 0x28($s1) +/* D966C4 802410D4 AE600074 */ sw $zero, 0x74($s3) +/* D966C8 802410D8 AE620070 */ sw $v0, 0x70($s3) +/* D966CC 802410DC 8E830014 */ lw $v1, 0x14($s4) +/* D966D0 802410E0 04600015 */ bltz $v1, .L80241138 +/* D966D4 802410E4 00000000 */ nop +/* D966D8 802410E8 8E620074 */ lw $v0, 0x74($s3) +/* D966DC 802410EC 1C400011 */ bgtz $v0, .L80241134 +/* D966E0 802410F0 2442FFFF */ addiu $v0, $v0, -1 +/* D966E4 802410F4 02C0202D */ daddu $a0, $s6, $zero +/* D966E8 802410F8 AE630074 */ sw $v1, 0x74($s3) +/* D966EC 802410FC AFA00010 */ sw $zero, 0x10($sp) +/* D966F0 80241100 8E86000C */ lw $a2, 0xc($s4) +/* D966F4 80241104 8E870010 */ lw $a3, 0x10($s4) +/* D966F8 80241108 0C01242D */ jal func_800490B4 +/* D966FC 8024110C 0240282D */ daddu $a1, $s2, $zero +/* D96700 80241110 10400006 */ beqz $v0, .L8024112C +/* D96704 80241114 0220202D */ daddu $a0, $s1, $zero +/* D96708 80241118 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D9670C 8024111C 0C012530 */ jal func_800494C0 +/* D96710 80241120 3C060020 */ lui $a2, 0x20 +/* D96714 80241124 2402000A */ addiu $v0, $zero, 0xa +/* D96718 80241128 AE620070 */ sw $v0, 0x70($s3) +.L8024112C: +/* D9671C 8024112C 8E620074 */ lw $v0, 0x74($s3) +/* D96720 80241130 2442FFFF */ addiu $v0, $v0, -1 +.L80241134: +/* D96724 80241134 AE620074 */ sw $v0, 0x74($s3) +.L80241138: +/* D96728 80241138 8E630070 */ lw $v1, 0x70($s3) +/* D9672C 8024113C 2402000A */ addiu $v0, $zero, 0xa +/* D96730 80241140 1462015B */ bne $v1, $v0, .L802416B0 +/* D96734 80241144 0000102D */ daddu $v0, $zero, $zero +/* D96738 80241148 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D9673C 8024114C 8E4200CC */ lw $v0, 0xcc($s2) +/* D96740 80241150 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D96744 80241154 8C42000C */ lw $v0, 0xc($v0) +/* D96748 80241158 AE220028 */ sw $v0, 0x28($s1) +/* D9674C 8024115C 8EA60028 */ lw $a2, 0x28($s5) +/* D96750 80241160 0C00A720 */ jal atan2 +/* D96754 80241164 8EA70030 */ lw $a3, 0x30($s5) +/* D96758 80241168 3C013FA6 */ lui $at, 0x3fa6 +/* D9675C 8024116C 34216666 */ ori $at, $at, 0x6666 +/* D96760 80241170 44811000 */ mtc1 $at, $f2 +/* D96764 80241174 27A50040 */ addiu $a1, $sp, 0x40 +/* D96768 80241178 E6200010 */ swc1 $f0, 0x10($s1) +/* D9676C 8024117C C6200038 */ lwc1 $f0, 0x38($s1) +/* D96770 80241180 C6240040 */ lwc1 $f4, 0x40($s1) +/* D96774 80241184 3C01447A */ lui $at, 0x447a +/* D96778 80241188 44813000 */ mtc1 $at, $f6 +/* D9677C 8024118C 27A60044 */ addiu $a2, $sp, 0x44 +/* D96780 80241190 AE20001C */ sw $zero, 0x1c($s1) +/* D96784 80241194 E6220014 */ swc1 $f2, 0x14($s1) +/* D96788 80241198 C6880000 */ lwc1 $f8, ($s4) +/* D9678C 8024119C C622003C */ lwc1 $f2, 0x3c($s1) +/* D96790 802411A0 27A2004C */ addiu $v0, $sp, 0x4c +/* D96794 802411A4 E7A00040 */ swc1 $f0, 0x40($sp) +/* D96798 802411A8 E7A40048 */ swc1 $f4, 0x48($sp) +/* D9679C 802411AC E7A6004C */ swc1 $f6, 0x4c($sp) +/* D967A0 802411B0 E7A20044 */ swc1 $f2, 0x44($sp) +/* D967A4 802411B4 E6280018 */ swc1 $f8, 0x18($s1) +/* D967A8 802411B8 AFA20010 */ sw $v0, 0x10($sp) +/* D967AC 802411BC 8E240080 */ lw $a0, 0x80($s1) +/* D967B0 802411C0 0C0372DF */ jal func_800DCB7C +/* D967B4 802411C4 27A70048 */ addiu $a3, $sp, 0x48 +/* D967B8 802411C8 10400010 */ beqz $v0, .L8024120C +/* D967BC 802411CC 00000000 */ nop +/* D967C0 802411D0 C620003C */ lwc1 $f0, 0x3c($s1) +/* D967C4 802411D4 C6440070 */ lwc1 $f4, 0x70($s2) +/* D967C8 802411D8 46802120 */ cvt.s.w $f4, $f4 +/* D967CC 802411DC 46040001 */ sub.s $f0, $f0, $f4 +/* D967D0 802411E0 3C018024 */ lui $at, 0x8024 +/* D967D4 802411E4 D4222290 */ ldc1 $f2, 0x2290($at) +/* D967D8 802411E8 46000021 */ cvt.d.s $f0, $f0 +/* D967DC 802411EC 46220002 */ mul.d $f0, $f0, $f2 +/* D967E0 802411F0 00000000 */ nop +/* D967E4 802411F4 460020A1 */ cvt.d.s $f2, $f4 +/* D967E8 802411F8 46201080 */ add.d $f2, $f2, $f0 +/* D967EC 802411FC E7A40044 */ swc1 $f4, 0x44($sp) +/* D967F0 80241200 462010A0 */ cvt.s.d $f2, $f2 +/* D967F4 80241204 0809048F */ j .L8024123C +/* D967F8 80241208 E6220064 */ swc1 $f2, 0x64($s1) +.L8024120C: +/* D967FC 8024120C C6A0002C */ lwc1 $f0, 0x2c($s5) +/* D96800 80241210 C622003C */ lwc1 $f2, 0x3c($s1) +/* D96804 80241214 46001081 */ sub.s $f2, $f2, $f0 +/* D96808 80241218 3C018024 */ lui $at, 0x8024 +/* D9680C 8024121C D4242298 */ ldc1 $f4, 0x2298($at) +/* D96810 80241220 460010A1 */ cvt.d.s $f2, $f2 +/* D96814 80241224 46241082 */ mul.d $f2, $f2, $f4 +/* D96818 80241228 00000000 */ nop +/* D9681C 8024122C 46000021 */ cvt.d.s $f0, $f0 +/* D96820 80241230 46220000 */ add.d $f0, $f0, $f2 +/* D96824 80241234 46200020 */ cvt.s.d $f0, $f0 +/* D96828 80241238 E6200064 */ swc1 $f0, 0x64($s1) +.L8024123C: +/* D9682C 8024123C C620003C */ lwc1 $f0, 0x3c($s1) +/* D96830 80241240 2402000B */ addiu $v0, $zero, 0xb +/* D96834 80241244 E6200068 */ swc1 $f0, 0x68($s1) +/* D96838 80241248 AE620070 */ sw $v0, 0x70($s3) +/* D9683C 8024124C C6200018 */ lwc1 $f0, 0x18($s1) +/* D96840 80241250 44801000 */ mtc1 $zero, $f2 +/* D96844 80241254 44801800 */ mtc1 $zero, $f3 +/* D96848 80241258 46000021 */ cvt.d.s $f0, $f0 +/* D9684C 8024125C 4620103C */ c.lt.d $f2, $f0 +/* D96850 80241260 00000000 */ nop +/* D96854 80241264 45000025 */ bc1f .L802412FC +/* D96858 80241268 27A50040 */ addiu $a1, $sp, 0x40 +/* D9685C 8024126C C6200038 */ lwc1 $f0, 0x38($s1) +/* D96860 80241270 C622003C */ lwc1 $f2, 0x3c($s1) +/* D96864 80241274 C6240040 */ lwc1 $f4, 0x40($s1) +/* D96868 80241278 C6260018 */ lwc1 $f6, 0x18($s1) +/* D9686C 8024127C E7A00040 */ swc1 $f0, 0x40($sp) +/* D96870 80241280 E7A20044 */ swc1 $f2, 0x44($sp) +/* D96874 80241284 E7A40048 */ swc1 $f4, 0x48($sp) +/* D96878 80241288 E7A60010 */ swc1 $f6, 0x10($sp) +/* D9687C 8024128C C620000C */ lwc1 $f0, 0xc($s1) +/* D96880 80241290 E7A00014 */ swc1 $f0, 0x14($sp) +/* D96884 80241294 862200A8 */ lh $v0, 0xa8($s1) +/* D96888 80241298 44820000 */ mtc1 $v0, $f0 +/* D9688C 8024129C 00000000 */ nop +/* D96890 802412A0 46800020 */ cvt.s.w $f0, $f0 +/* D96894 802412A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* D96898 802412A8 862200A6 */ lh $v0, 0xa6($s1) +/* D9689C 802412AC 27A60044 */ addiu $a2, $sp, 0x44 +/* D968A0 802412B0 44820000 */ mtc1 $v0, $f0 +/* D968A4 802412B4 00000000 */ nop +/* D968A8 802412B8 46800020 */ cvt.s.w $f0, $f0 +/* D968AC 802412BC E7A0001C */ swc1 $f0, 0x1c($sp) +/* D968B0 802412C0 8E240080 */ lw $a0, 0x80($s1) +/* D968B4 802412C4 0C037711 */ jal func_800DDC44 +/* D968B8 802412C8 27A70048 */ addiu $a3, $sp, 0x48 +/* D968BC 802412CC 54400001 */ bnel $v0, $zero, .L802412D4 +/* D968C0 802412D0 AE200018 */ sw $zero, 0x18($s1) +.L802412D4: +/* D968C4 802412D4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D968C8 802412D8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D968CC 802412DC 8EA60028 */ lw $a2, 0x28($s5) +/* D968D0 802412E0 0C00A720 */ jal atan2 +/* D968D4 802412E4 8EA70030 */ lw $a3, 0x30($s5) +/* D968D8 802412E8 8E250018 */ lw $a1, 0x18($s1) +/* D968DC 802412EC 44060000 */ mfc1 $a2, $f0 +/* D968E0 802412F0 0220202D */ daddu $a0, $s1, $zero +/* D968E4 802412F4 0C00EA95 */ jal npc_move_heading +/* D968E8 802412F8 AE26000C */ sw $a2, 0xc($s1) +.L802412FC: +/* D968EC 802412FC C620001C */ lwc1 $f0, 0x1c($s1) +/* D968F0 80241300 C6220014 */ lwc1 $f2, 0x14($s1) +/* D968F4 80241304 46020001 */ sub.s $f0, $f0, $f2 +/* D968F8 80241308 C622003C */ lwc1 $f2, 0x3c($s1) +/* D968FC 8024130C C6240064 */ lwc1 $f4, 0x64($s1) +/* D96900 80241310 46001080 */ add.s $f2, $f2, $f0 +/* D96904 80241314 E620001C */ swc1 $f0, 0x1c($s1) +/* D96908 80241318 4604103C */ c.lt.s $f2, $f4 +/* D9690C 8024131C 00000000 */ nop +/* D96910 80241320 450000E2 */ bc1f .L802416AC +/* D96914 80241324 E622003C */ swc1 $f2, 0x3c($s1) +/* D96918 80241328 2402000C */ addiu $v0, $zero, 0xc +/* D9691C 8024132C E624003C */ swc1 $f4, 0x3c($s1) +/* D96920 80241330 AE620070 */ sw $v0, 0x70($s3) +/* D96924 80241334 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D96928 80241338 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D9692C 8024133C 8EA60028 */ lw $a2, 0x28($s5) +/* D96930 80241340 0C00A7B5 */ jal dist2D +/* D96934 80241344 8EA70030 */ lw $a3, 0x30($s5) +/* D96938 80241348 3C014270 */ lui $at, 0x4270 +/* D9693C 8024134C 44811000 */ mtc1 $at, $f2 +/* D96940 80241350 00000000 */ nop +/* D96944 80241354 4602003C */ c.lt.s $f0, $f2 +/* D96948 80241358 00000000 */ nop +/* D9694C 8024135C 45000002 */ bc1f .L80241368 +/* D96950 80241360 E6200010 */ swc1 $f0, 0x10($s1) +/* D96954 80241364 E6220010 */ swc1 $f2, 0x10($s1) +.L80241368: +/* D96958 80241368 C6860018 */ lwc1 $f6, 0x18($s4) +/* D9695C 8024136C C6400070 */ lwc1 $f0, 0x70($s2) +/* D96960 80241370 46800020 */ cvt.s.w $f0, $f0 +/* D96964 80241374 E7A00044 */ swc1 $f0, 0x44($sp) +/* D96968 80241378 46000021 */ cvt.d.s $f0, $f0 +/* D9696C 8024137C C6240010 */ lwc1 $f4, 0x10($s1) +/* D96970 80241380 3C014024 */ lui $at, 0x4024 +/* D96974 80241384 44811800 */ mtc1 $at, $f3 +/* D96978 80241388 44801000 */ mtc1 $zero, $f2 +/* D9697C 8024138C 46062103 */ div.s $f4, $f4, $f6 +/* D96980 80241390 46220000 */ add.d $f0, $f0, $f2 +/* D96984 80241394 C622003C */ lwc1 $f2, 0x3c($s1) +/* D96988 80241398 4600228D */ trunc.w.s $f10, $f4 +/* D9698C 8024139C 44025000 */ mfc1 $v0, $f10 +/* D96990 802413A0 00000000 */ nop +/* D96994 802413A4 A622008E */ sh $v0, 0x8e($s1) +/* D96998 802413A8 460010A1 */ cvt.d.s $f2, $f2 +/* D9699C 802413AC 46220001 */ sub.d $f0, $f0, $f2 +/* D969A0 802413B0 00021400 */ sll $v0, $v0, 0x10 +/* D969A4 802413B4 E6260018 */ swc1 $f6, 0x18($s1) +/* D969A8 802413B8 14400003 */ bnez $v0, .L802413C8 +/* D969AC 802413BC 46200120 */ cvt.s.d $f4, $f0 +/* D969B0 802413C0 24020001 */ addiu $v0, $zero, 1 +/* D969B4 802413C4 A622008E */ sh $v0, 0x8e($s1) +.L802413C8: +/* D969B8 802413C8 8622008E */ lh $v0, 0x8e($s1) +/* D969BC 802413CC C620001C */ lwc1 $f0, 0x1c($s1) +/* D969C0 802413D0 44821000 */ mtc1 $v0, $f2 +/* D969C4 802413D4 00000000 */ nop +/* D969C8 802413D8 468010A0 */ cvt.s.w $f2, $f2 +/* D969CC 802413DC 46000007 */ neg.s $f0, $f0 +/* D969D0 802413E0 46020002 */ mul.s $f0, $f0, $f2 +/* D969D4 802413E4 00000000 */ nop +/* D969D8 802413E8 00420018 */ mult $v0, $v0 +/* D969DC 802413EC 8E230000 */ lw $v1, ($s1) +/* D969E0 802413F0 46040000 */ add.s $f0, $f0, $f4 +/* D969E4 802413F4 A22000AB */ sb $zero, 0xab($s1) +/* D969E8 802413F8 2402FF7F */ addiu $v0, $zero, -0x81 +/* D969EC 802413FC 00004012 */ mflo $t0 +/* D969F0 80241400 00621824 */ and $v1, $v1, $v0 +/* D969F4 80241404 24020005 */ addiu $v0, $zero, 5 +/* D969F8 80241408 46000000 */ add.s $f0, $f0, $f0 +/* D969FC 8024140C AE230000 */ sw $v1, ($s1) +/* D96A00 80241410 44881000 */ mtc1 $t0, $f2 +/* D96A04 80241414 00000000 */ nop +/* D96A08 80241418 468010A0 */ cvt.s.w $f2, $f2 +/* D96A0C 8024141C 46000007 */ neg.s $f0, $f0 +/* D96A10 80241420 46020003 */ div.s $f0, $f0, $f2 +/* D96A14 80241424 46000005 */ abs.s $f0, $f0 +/* D96A18 80241428 46000007 */ neg.s $f0, $f0 +/* D96A1C 8024142C E6200014 */ swc1 $f0, 0x14($s1) +/* D96A20 80241430 AE42006C */ sw $v0, 0x6c($s2) +/* D96A24 80241434 2402000D */ addiu $v0, $zero, 0xd +/* D96A28 80241438 A620008E */ sh $zero, 0x8e($s1) +/* D96A2C 8024143C AE620070 */ sw $v0, 0x70($s3) +/* D96A30 80241440 C620001C */ lwc1 $f0, 0x1c($s1) +/* D96A34 80241444 C6220014 */ lwc1 $f2, 0x14($s1) +/* D96A38 80241448 46020001 */ sub.s $f0, $f0, $f2 +/* D96A3C 8024144C 4480A000 */ mtc1 $zero, $f20 +/* D96A40 80241450 00000000 */ nop +/* D96A44 80241454 4614003C */ c.lt.s $f0, $f20 +/* D96A48 80241458 00000000 */ nop +/* D96A4C 8024145C 45000012 */ bc1f .L802414A8 +/* D96A50 80241460 E620001C */ swc1 $f0, 0x1c($s1) +/* D96A54 80241464 27A50040 */ addiu $a1, $sp, 0x40 +/* D96A58 80241468 27A60044 */ addiu $a2, $sp, 0x44 +/* D96A5C 8024146C 27A2004C */ addiu $v0, $sp, 0x4c +/* D96A60 80241470 C6220038 */ lwc1 $f2, 0x38($s1) +/* D96A64 80241474 C624003C */ lwc1 $f4, 0x3c($s1) +/* D96A68 80241478 C6260040 */ lwc1 $f6, 0x40($s1) +/* D96A6C 8024147C 46000007 */ neg.s $f0, $f0 +/* D96A70 80241480 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D96A74 80241484 E7A20040 */ swc1 $f2, 0x40($sp) +/* D96A78 80241488 E7A40044 */ swc1 $f4, 0x44($sp) +/* D96A7C 8024148C E7A60048 */ swc1 $f6, 0x48($sp) +/* D96A80 80241490 AFA20010 */ sw $v0, 0x10($sp) +/* D96A84 80241494 8E240080 */ lw $a0, 0x80($s1) +/* D96A88 80241498 0C0372DF */ jal func_800DCB7C +/* D96A8C 8024149C 27A70048 */ addiu $a3, $sp, 0x48 +/* D96A90 802414A0 54400001 */ bnel $v0, $zero, .L802414A8 +/* D96A94 802414A4 E634001C */ swc1 $f20, 0x1c($s1) +.L802414A8: +/* D96A98 802414A8 C624003C */ lwc1 $f4, 0x3c($s1) +/* D96A9C 802414AC C620001C */ lwc1 $f0, 0x1c($s1) +/* D96AA0 802414B0 46002100 */ add.s $f4, $f4, $f0 +/* D96AA4 802414B4 C6200018 */ lwc1 $f0, 0x18($s1) +/* D96AA8 802414B8 44801000 */ mtc1 $zero, $f2 +/* D96AAC 802414BC 44801800 */ mtc1 $zero, $f3 +/* D96AB0 802414C0 46000021 */ cvt.d.s $f0, $f0 +/* D96AB4 802414C4 4620103C */ c.lt.d $f2, $f0 +/* D96AB8 802414C8 00000000 */ nop +/* D96ABC 802414CC 45000057 */ bc1f .L8024162C +/* D96AC0 802414D0 E624003C */ swc1 $f4, 0x3c($s1) +/* D96AC4 802414D4 46002086 */ mov.s $f2, $f4 +/* D96AC8 802414D8 C6200038 */ lwc1 $f0, 0x38($s1) +/* D96ACC 802414DC C6240040 */ lwc1 $f4, 0x40($s1) +/* D96AD0 802414E0 C6260018 */ lwc1 $f6, 0x18($s1) +/* D96AD4 802414E4 E7A20044 */ swc1 $f2, 0x44($sp) +/* D96AD8 802414E8 E7A00040 */ swc1 $f0, 0x40($sp) +/* D96ADC 802414EC E7A40048 */ swc1 $f4, 0x48($sp) +/* D96AE0 802414F0 E7A60010 */ swc1 $f6, 0x10($sp) +/* D96AE4 802414F4 C620000C */ lwc1 $f0, 0xc($s1) +/* D96AE8 802414F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* D96AEC 802414FC 862200A8 */ lh $v0, 0xa8($s1) +/* D96AF0 80241500 27A50040 */ addiu $a1, $sp, 0x40 +/* D96AF4 80241504 44820000 */ mtc1 $v0, $f0 +/* D96AF8 80241508 00000000 */ nop +/* D96AFC 8024150C 46800020 */ cvt.s.w $f0, $f0 +/* D96B00 80241510 E7A00018 */ swc1 $f0, 0x18($sp) +/* D96B04 80241514 862200A6 */ lh $v0, 0xa6($s1) +/* D96B08 80241518 27A60044 */ addiu $a2, $sp, 0x44 +/* D96B0C 8024151C 44820000 */ mtc1 $v0, $f0 +/* D96B10 80241520 00000000 */ nop +/* D96B14 80241524 46800020 */ cvt.s.w $f0, $f0 +/* D96B18 80241528 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D96B1C 8024152C 8E240080 */ lw $a0, 0x80($s1) +/* D96B20 80241530 0C037711 */ jal func_800DDC44 +/* D96B24 80241534 27A70048 */ addiu $a3, $sp, 0x48 +/* D96B28 80241538 10400003 */ beqz $v0, .L80241548 +/* D96B2C 8024153C 00000000 */ nop +/* D96B30 80241540 08090587 */ j .L8024161C +/* D96B34 80241544 AE200018 */ sw $zero, 0x18($s1) +.L80241548: +/* D96B38 80241548 C620001C */ lwc1 $f0, 0x1c($s1) +/* D96B3C 8024154C 3C01C004 */ lui $at, 0xc004 +/* D96B40 80241550 44811800 */ mtc1 $at, $f3 +/* D96B44 80241554 44801000 */ mtc1 $zero, $f2 +/* D96B48 80241558 46000021 */ cvt.d.s $f0, $f0 +/* D96B4C 8024155C 4622003C */ c.lt.d $f0, $f2 +/* D96B50 80241560 00000000 */ nop +/* D96B54 80241564 4500002D */ bc1f .L8024161C +/* D96B58 80241568 00000000 */ nop +/* D96B5C 8024156C 9622008E */ lhu $v0, 0x8e($s1) +/* D96B60 80241570 24420001 */ addiu $v0, $v0, 1 +/* D96B64 80241574 A622008E */ sh $v0, 0x8e($s1) +/* D96B68 80241578 00021400 */ sll $v0, $v0, 0x10 +/* D96B6C 8024157C 8E830020 */ lw $v1, 0x20($s4) +/* D96B70 80241580 00021403 */ sra $v0, $v0, 0x10 +/* D96B74 80241584 0043102A */ slt $v0, $v0, $v1 +/* D96B78 80241588 14400024 */ bnez $v0, .L8024161C +/* D96B7C 8024158C 00000000 */ nop +/* D96B80 80241590 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D96B84 80241594 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D96B88 80241598 8EA60028 */ lw $a2, 0x28($s5) +/* D96B8C 8024159C 0C00A720 */ jal atan2 +/* D96B90 802415A0 8EA70030 */ lw $a3, 0x30($s5) +/* D96B94 802415A4 46000506 */ mov.s $f20, $f0 +/* D96B98 802415A8 C62C000C */ lwc1 $f12, 0xc($s1) +/* D96B9C 802415AC 0C00A70A */ jal get_clamped_angle_diff +/* D96BA0 802415B0 4600A386 */ mov.s $f14, $f20 +/* D96BA4 802415B4 46000086 */ mov.s $f2, $f0 +/* D96BA8 802415B8 8E82001C */ lw $v0, 0x1c($s4) +/* D96BAC 802415BC 46001005 */ abs.s $f0, $f2 +/* D96BB0 802415C0 44822000 */ mtc1 $v0, $f4 +/* D96BB4 802415C4 00000000 */ nop +/* D96BB8 802415C8 46802120 */ cvt.s.w $f4, $f4 +/* D96BBC 802415CC 4600203C */ c.lt.s $f4, $f0 +/* D96BC0 802415D0 00000000 */ nop +/* D96BC4 802415D4 4500000D */ bc1f .L8024160C +/* D96BC8 802415D8 00000000 */ nop +/* D96BCC 802415DC 44800000 */ mtc1 $zero, $f0 +/* D96BD0 802415E0 C634000C */ lwc1 $f20, 0xc($s1) +/* D96BD4 802415E4 4600103C */ c.lt.s $f2, $f0 +/* D96BD8 802415E8 00000000 */ nop +/* D96BDC 802415EC 45000006 */ bc1f .L80241608 +/* D96BE0 802415F0 00021023 */ negu $v0, $v0 +/* D96BE4 802415F4 44820000 */ mtc1 $v0, $f0 +/* D96BE8 802415F8 00000000 */ nop +/* D96BEC 802415FC 46800020 */ cvt.s.w $f0, $f0 +/* D96BF0 80241600 08090583 */ j .L8024160C +/* D96BF4 80241604 4600A500 */ add.s $f20, $f20, $f0 +.L80241608: +/* D96BF8 80241608 4604A500 */ add.s $f20, $f20, $f4 +.L8024160C: +/* D96BFC 8024160C 0C00A6C9 */ jal clamp_angle +/* D96C00 80241610 4600A306 */ mov.s $f12, $f20 +/* D96C04 80241614 E620000C */ swc1 $f0, 0xc($s1) +/* D96C08 80241618 A620008E */ sh $zero, 0x8e($s1) +.L8024161C: +/* D96C0C 8024161C 8E250018 */ lw $a1, 0x18($s1) +/* D96C10 80241620 8E26000C */ lw $a2, 0xc($s1) +/* D96C14 80241624 0C00EA95 */ jal npc_move_heading +/* D96C18 80241628 0220202D */ daddu $a0, $s1, $zero +.L8024162C: +/* D96C1C 8024162C 8E42006C */ lw $v0, 0x6c($s2) +/* D96C20 80241630 2442FFFF */ addiu $v0, $v0, -1 +/* D96C24 80241634 1C400003 */ bgtz $v0, .L80241644 +/* D96C28 80241638 AE42006C */ sw $v0, 0x6c($s2) +/* D96C2C 8024163C 24020005 */ addiu $v0, $zero, 5 +/* D96C30 80241640 AE42006C */ sw $v0, 0x6c($s2) +.L80241644: +/* D96C34 80241644 C620003C */ lwc1 $f0, 0x3c($s1) +/* D96C38 80241648 C6220068 */ lwc1 $f2, 0x68($s1) +/* D96C3C 8024164C 4600103C */ c.lt.s $f2, $f0 +/* D96C40 80241650 00000000 */ nop +/* D96C44 80241654 45000015 */ bc1f .L802416AC +/* D96C48 80241658 2402000E */ addiu $v0, $zero, 0xe +/* D96C4C 8024165C E622003C */ swc1 $f2, 0x3c($s1) +/* D96C50 80241660 AE620070 */ sw $v0, 0x70($s3) +/* D96C54 80241664 8E4200CC */ lw $v0, 0xcc($s2) +/* D96C58 80241668 922300A9 */ lbu $v1, 0xa9($s1) +/* D96C5C 8024166C 8C440020 */ lw $a0, 0x20($v0) +/* D96C60 80241670 8E220000 */ lw $v0, ($s1) +/* D96C64 80241674 A22300AB */ sb $v1, 0xab($s1) +/* D96C68 80241678 34420080 */ ori $v0, $v0, 0x80 +/* D96C6C 8024167C AE220000 */ sw $v0, ($s1) +/* D96C70 80241680 2402000F */ addiu $v0, $zero, 0xf +/* D96C74 80241684 A622008E */ sh $v0, 0x8e($s1) +/* D96C78 80241688 2402000F */ addiu $v0, $zero, 0xf +/* D96C7C 8024168C AE240028 */ sw $a0, 0x28($s1) +/* D96C80 80241690 AE620070 */ sw $v0, 0x70($s3) +/* D96C84 80241694 9622008E */ lhu $v0, 0x8e($s1) +/* D96C88 80241698 2442FFFF */ addiu $v0, $v0, -1 +/* D96C8C 8024169C A622008E */ sh $v0, 0x8e($s1) +/* D96C90 802416A0 00021400 */ sll $v0, $v0, 0x10 +/* D96C94 802416A4 58400001 */ blezl $v0, .L802416AC +/* D96C98 802416A8 AE600070 */ sw $zero, 0x70($s3) +.L802416AC: +/* D96C9C 802416AC 0000102D */ daddu $v0, $zero, $zero +.L802416B0: +/* D96CA0 802416B0 8FBF006C */ lw $ra, 0x6c($sp) +/* D96CA4 802416B4 8FB60068 */ lw $s6, 0x68($sp) +/* D96CA8 802416B8 8FB50064 */ lw $s5, 0x64($sp) +/* D96CAC 802416BC 8FB40060 */ lw $s4, 0x60($sp) +/* D96CB0 802416C0 8FB3005C */ lw $s3, 0x5c($sp) +/* D96CB4 802416C4 8FB20058 */ lw $s2, 0x58($sp) +/* D96CB8 802416C8 8FB10054 */ lw $s1, 0x54($sp) +/* D96CBC 802416CC 8FB00050 */ lw $s0, 0x50($sp) +/* D96CC0 802416D0 D7B40070 */ ldc1 $f20, 0x70($sp) +/* D96CC4 802416D4 03E00008 */ jr $ra +/* D96CC8 802416D8 27BD0078 */ addiu $sp, $sp, 0x78 +/* D96CCC 802416DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240000_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240000_D97890.s new file mode 100644 index 0000000000..63144eef4d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240000_D97890.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D97890 +/* D97890 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D97894 80240004 3C04800E */ lui $a0, 0x800e +/* D97898 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* D9789C 8024000C 3C058024 */ lui $a1, 0x8024 +/* D978A0 80240010 24A520A0 */ addiu $a1, $a1, 0x20a0 +/* D978A4 80240014 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D978A8 80240018 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D978AC 8024001C 24020001 */ addiu $v0, $zero, 1 +/* D978B0 80240020 AFBF0010 */ sw $ra, 0x10($sp) +/* D978B4 80240024 0C01953C */ jal sprintf +/* D978B8 80240028 A0620084 */ sb $v0, 0x84($v1) +/* D978BC 8024002C 3C04800E */ lui $a0, 0x800e +/* D978C0 80240030 248491E0 */ addiu $a0, $a0, -0x6e20 +/* D978C4 80240034 3C058024 */ lui $a1, 0x8024 +/* D978C8 80240038 0C01953C */ jal sprintf +/* D978CC 8024003C 24A520B0 */ addiu $a1, $a1, 0x20b0 +/* D978D0 80240040 8FBF0010 */ lw $ra, 0x10($sp) +/* D978D4 80240044 0000102D */ daddu $v0, $zero, $zero +/* D978D8 80240048 03E00008 */ jr $ra +/* D978DC 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240050_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240050_D97890.s new file mode 100644 index 0000000000..eb13d4dc10 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240050_D97890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D978E0 +/* D978E0 80240050 3C02FEFF */ lui $v0, 0xfeff +/* D978E4 80240054 3442FFFF */ ori $v0, $v0, 0xffff +/* D978E8 80240058 00822024 */ and $a0, $a0, $v0 +/* D978EC 8024005C 3C02FFF9 */ lui $v0, 0xfff9 +/* D978F0 80240060 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D978F4 80240064 00821821 */ addu $v1, $a0, $v0 +/* D978F8 80240068 2C620010 */ sltiu $v0, $v1, 0x10 +/* D978FC 8024006C 10400003 */ beqz $v0, .L8024007C +/* D97900 80240070 30620001 */ andi $v0, $v1, 1 +/* D97904 80240074 54400001 */ bnel $v0, $zero, .L8024007C +/* D97908 80240078 2484FFFF */ addiu $a0, $a0, -1 +.L8024007C: +/* D9790C 8024007C 03E00008 */ jr $ra +/* D97910 80240080 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240084_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240084_D97890.s new file mode 100644 index 0000000000..adce6c4cba --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240084_D97890.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240084_D97914 +/* D97914 80240084 00041403 */ sra $v0, $a0, 0x10 +/* D97918 80240088 304300FF */ andi $v1, $v0, 0xff +/* D9791C 8024008C 24020006 */ addiu $v0, $zero, 6 +/* D97920 80240090 10620015 */ beq $v1, $v0, .L802400E8 +/* D97924 80240094 28620007 */ slti $v0, $v1, 7 +/* D97928 80240098 10400005 */ beqz $v0, .L802400B0 +/* D9792C 8024009C 24020001 */ addiu $v0, $zero, 1 +/* D97930 802400A0 1062000A */ beq $v1, $v0, .L802400CC +/* D97934 802400A4 3C020100 */ lui $v0, 0x100 +/* D97938 802400A8 03E00008 */ jr $ra +/* D9793C 802400AC 00821025 */ or $v0, $a0, $v0 +.L802400B0: +/* D97940 802400B0 2862000A */ slti $v0, $v1, 0xa +/* D97944 802400B4 10400016 */ beqz $v0, .L80240110 +/* D97948 802400B8 28620008 */ slti $v0, $v1, 8 +/* D9794C 802400BC 14400015 */ bnez $v0, .L80240114 +/* D97950 802400C0 3C020100 */ lui $v0, 0x100 +/* D97954 802400C4 03E00008 */ jr $ra +/* D97958 802400C8 0080102D */ daddu $v0, $a0, $zero +.L802400CC: +/* D9795C 802400CC 3C020001 */ lui $v0, 1 +/* D97960 802400D0 3442000C */ ori $v0, $v0, 0xc +/* D97964 802400D4 0044102A */ slt $v0, $v0, $a0 +/* D97968 802400D8 1040000E */ beqz $v0, .L80240114 +/* D9796C 802400DC 3C020100 */ lui $v0, 0x100 +.L802400E0: +/* D97970 802400E0 03E00008 */ jr $ra +/* D97974 802400E4 0080102D */ daddu $v0, $a0, $zero +.L802400E8: +/* D97978 802400E8 3C02FFF9 */ lui $v0, 0xfff9 +/* D9797C 802400EC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D97980 802400F0 00821821 */ addu $v1, $a0, $v0 +/* D97984 802400F4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D97988 802400F8 10400005 */ beqz $v0, .L80240110 +/* D9798C 802400FC 30620001 */ andi $v0, $v1, 1 +/* D97990 80240100 1440FFF7 */ bnez $v0, .L802400E0 +/* D97994 80240104 24820001 */ addiu $v0, $a0, 1 +/* D97998 80240108 03E00008 */ jr $ra +/* D9799C 8024010C 00000000 */ nop +.L80240110: +/* D979A0 80240110 3C020100 */ lui $v0, 0x100 +.L80240114: +/* D979A4 80240114 03E00008 */ jr $ra +/* D979A8 80240118 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_8024011C_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_8024011C_D97890.s new file mode 100644 index 0000000000..34a3cc9db9 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_8024011C_D97890.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C_D979AC +/* D979AC 8024011C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D979B0 80240120 AFB00010 */ sw $s0, 0x10($sp) +/* D979B4 80240124 0080802D */ daddu $s0, $a0, $zero +/* D979B8 80240128 3C058024 */ lui $a1, 0x8024 +/* D979BC 8024012C 24A50158 */ addiu $a1, $a1, 0x158 +/* D979C0 80240130 AFBF0014 */ sw $ra, 0x14($sp) +/* D979C4 80240134 0C048C56 */ jal bind_dynamic_entity_3 +/* D979C8 80240138 0000202D */ daddu $a0, $zero, $zero +/* D979CC 8024013C 8E03013C */ lw $v1, 0x13c($s0) +/* D979D0 80240140 AC620000 */ sw $v0, ($v1) +/* D979D4 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D979D8 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D979DC 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D979E0 80240150 03E00008 */ jr $ra +/* D979E4 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240158_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240158_D97890.s new file mode 100644 index 0000000000..e032d61d97 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240158_D97890.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D979E8 +/* D979E8 80240158 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D979EC 8024015C AFB00040 */ sw $s0, 0x40($sp) +/* D979F0 80240160 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D979F4 80240164 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D979F8 80240168 AFB20048 */ sw $s2, 0x48($sp) +/* D979FC 8024016C AFBF004C */ sw $ra, 0x4c($sp) +/* D97A00 80240170 AFB10044 */ sw $s1, 0x44($sp) +/* D97A04 80240174 8E020000 */ lw $v0, ($s0) +/* D97A08 80240178 821100BE */ lb $s1, 0xbe($s0) +/* D97A0C 8024017C 30420001 */ andi $v0, $v0, 1 +/* D97A10 80240180 10400061 */ beqz $v0, .L80240308 +/* D97A14 80240184 27B20020 */ addiu $s2, $sp, 0x20 +/* D97A18 80240188 8E0400CC */ lw $a0, 0xcc($s0) +/* D97A1C 8024018C 0C044181 */ jal get_shadow_by_index +/* D97A20 80240190 00000000 */ nop +/* D97A24 80240194 0C048B77 */ jal func_80122DDC +/* D97A28 80240198 84440008 */ lh $a0, 8($v0) +/* D97A2C 8024019C 8C430000 */ lw $v1, ($v0) +/* D97A30 802401A0 34630200 */ ori $v1, $v1, 0x200 +/* D97A34 802401A4 AC430000 */ sw $v1, ($v0) +/* D97A38 802401A8 8E050028 */ lw $a1, 0x28($s0) +/* D97A3C 802401AC 8E06002C */ lw $a2, 0x2c($s0) +/* D97A40 802401B0 27A20030 */ addiu $v0, $sp, 0x30 +/* D97A44 802401B4 AFA20010 */ sw $v0, 0x10($sp) +/* D97A48 802401B8 27A20034 */ addiu $v0, $sp, 0x34 +/* D97A4C 802401BC AFA20014 */ sw $v0, 0x14($sp) +/* D97A50 802401C0 C6000030 */ lwc1 $f0, 0x30($s0) +/* D97A54 802401C4 3C04800A */ lui $a0, 0x800a +/* D97A58 802401C8 8484A634 */ lh $a0, -0x59cc($a0) +/* D97A5C 802401CC 46000007 */ neg.s $f0, $f0 +/* D97A60 802401D0 44070000 */ mfc1 $a3, $f0 +/* D97A64 802401D4 27A20038 */ addiu $v0, $sp, 0x38 +/* D97A68 802401D8 0C00B94E */ jal get_screen_coords +/* D97A6C 802401DC AFA20018 */ sw $v0, 0x18($sp) +/* D97A70 802401E0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D97A74 802401E4 0C090014 */ jal func_80240050 +/* D97A78 802401E8 00000000 */ nop +/* D97A7C 802401EC C6020080 */ lwc1 $f2, 0x80($s0) +/* D97A80 802401F0 3C014307 */ lui $at, 0x4307 +/* D97A84 802401F4 44810000 */ mtc1 $at, $f0 +/* D97A88 802401F8 00000000 */ nop +/* D97A8C 802401FC 4602003C */ c.lt.s $f0, $f2 +/* D97A90 80240200 00000000 */ nop +/* D97A94 80240204 4500000B */ bc1f .L80240234 +/* D97A98 80240208 24040002 */ addiu $a0, $zero, 2 +/* D97A9C 8024020C 3C014361 */ lui $at, 0x4361 +/* D97AA0 80240210 44810000 */ mtc1 $at, $f0 +/* D97AA4 80240214 00000000 */ nop +/* D97AA8 80240218 4600103C */ c.lt.s $f2, $f0 +/* D97AAC 8024021C 00000000 */ nop +/* D97AB0 80240220 45000004 */ bc1f .L80240234 +/* D97AB4 80240224 00000000 */ nop +/* D97AB8 80240228 0C090021 */ jal func_80240084 +/* D97ABC 8024022C 0040202D */ daddu $a0, $v0, $zero +/* D97AC0 80240230 24040002 */ addiu $a0, $zero, 2 +.L80240234: +/* D97AC4 80240234 3C063F80 */ lui $a2, 0x3f80 +/* D97AC8 80240238 0C0B76A3 */ jal func_802DDA8C +/* D97ACC 8024023C 0040282D */ daddu $a1, $v0, $zero +/* D97AD0 80240240 8E020000 */ lw $v0, ($s0) +/* D97AD4 80240244 3C030002 */ lui $v1, 2 +/* D97AD8 80240248 00431024 */ and $v0, $v0, $v1 +/* D97ADC 8024024C 54400022 */ bnel $v0, $zero, .L802402D8 +/* D97AE0 80240250 24110011 */ addiu $s1, $zero, 0x11 +/* D97AE4 80240254 9203000E */ lbu $v1, 0xe($s0) +/* D97AE8 80240258 3C02802E */ lui $v0, 0x802e +/* D97AEC 8024025C 90429D70 */ lbu $v0, -0x6290($v0) +/* D97AF0 80240260 10620018 */ beq $v1, $v0, .L802402C4 +/* D97AF4 80240264 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D97AF8 80240268 1040000B */ beqz $v0, .L80240298 +/* D97AFC 8024026C 24110011 */ addiu $s1, $zero, 0x11 +/* D97B00 80240270 24040002 */ addiu $a0, $zero, 2 +/* D97B04 80240274 2405FFFF */ addiu $a1, $zero, -1 +/* D97B08 80240278 24060007 */ addiu $a2, $zero, 7 +/* D97B0C 8024027C 0060102D */ daddu $v0, $v1, $zero +/* D97B10 80240280 0000382D */ daddu $a3, $zero, $zero +/* D97B14 80240284 AFA00010 */ sw $zero, 0x10($sp) +/* D97B18 80240288 AFA00014 */ sw $zero, 0x14($sp) +/* D97B1C 8024028C AFA0001C */ sw $zero, 0x1c($sp) +/* D97B20 80240290 080900AF */ j .L802402BC +/* D97B24 80240294 AFA20018 */ sw $v0, 0x18($sp) +.L80240298: +/* D97B28 80240298 2411000D */ addiu $s1, $zero, 0xd +/* D97B2C 8024029C 24040002 */ addiu $a0, $zero, 2 +/* D97B30 802402A0 2405FFFF */ addiu $a1, $zero, -1 +/* D97B34 802402A4 0000302D */ daddu $a2, $zero, $zero +/* D97B38 802402A8 00C0382D */ daddu $a3, $a2, $zero +/* D97B3C 802402AC AFA00010 */ sw $zero, 0x10($sp) +/* D97B40 802402B0 AFA00014 */ sw $zero, 0x14($sp) +/* D97B44 802402B4 AFA00018 */ sw $zero, 0x18($sp) +/* D97B48 802402B8 AFA0001C */ sw $zero, 0x1c($sp) +.L802402BC: +/* D97B4C 802402BC 0C0B77B9 */ jal func_802DDEE4 +/* D97B50 802402C0 00000000 */ nop +.L802402C4: +/* D97B54 802402C4 9202000E */ lbu $v0, 0xe($s0) +/* D97B58 802402C8 3C01802E */ lui $at, 0x802e +/* D97B5C 802402CC A0229D70 */ sb $v0, -0x6290($at) +/* D97B60 802402D0 080900B9 */ j .L802402E4 +/* D97B64 802402D4 0240202D */ daddu $a0, $s2, $zero +.L802402D8: +/* D97B68 802402D8 3C01802E */ lui $at, 0x802e +/* D97B6C 802402DC A0209D70 */ sb $zero, -0x6290($at) +/* D97B70 802402E0 0240202D */ daddu $a0, $s2, $zero +.L802402E4: +/* D97B74 802402E4 AC910000 */ sw $s1, ($a0) +/* D97B78 802402E8 AC900008 */ sw $s0, 8($a0) +/* D97B7C 802402EC 8FA20038 */ lw $v0, 0x38($sp) +/* D97B80 802402F0 3C038024 */ lui $v1, 0x8024 +/* D97B84 802402F4 24630320 */ addiu $v1, $v1, 0x320 +/* D97B88 802402F8 AC83000C */ sw $v1, 0xc($a0) +/* D97B8C 802402FC 00021023 */ negu $v0, $v0 +/* D97B90 80240300 0C047644 */ jal queue_render_task +/* D97B94 80240304 AC820004 */ sw $v0, 4($a0) +.L80240308: +/* D97B98 80240308 8FBF004C */ lw $ra, 0x4c($sp) +/* D97B9C 8024030C 8FB20048 */ lw $s2, 0x48($sp) +/* D97BA0 80240310 8FB10044 */ lw $s1, 0x44($sp) +/* D97BA4 80240314 8FB00040 */ lw $s0, 0x40($sp) +/* D97BA8 80240318 03E00008 */ jr $ra +/* D97BAC 8024031C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240320_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240320_D97890.s new file mode 100644 index 0000000000..37ef8d6714 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240320_D97890.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240320_D97BB0 +/* D97BB0 80240320 3C03800A */ lui $v1, 0x800a +/* D97BB4 80240324 8463A634 */ lh $v1, -0x59cc($v1) +/* D97BB8 80240328 3C07BF80 */ lui $a3, 0xbf80 +/* D97BBC 8024032C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D97BC0 80240330 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D97BC4 80240334 4480A000 */ mtc1 $zero, $f20 +/* D97BC8 80240338 AFB1011C */ sw $s1, 0x11c($sp) +/* D97BCC 8024033C 0080882D */ daddu $s1, $a0, $zero +/* D97BD0 80240340 AFB00118 */ sw $s0, 0x118($sp) +/* D97BD4 80240344 27B00098 */ addiu $s0, $sp, 0x98 +/* D97BD8 80240348 AFBF0120 */ sw $ra, 0x120($sp) +/* D97BDC 8024034C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D97BE0 80240350 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D97BE4 80240354 00031080 */ sll $v0, $v1, 2 +/* D97BE8 80240358 00431021 */ addu $v0, $v0, $v1 +/* D97BEC 8024035C 00021080 */ sll $v0, $v0, 2 +/* D97BF0 80240360 00431023 */ subu $v0, $v0, $v1 +/* D97BF4 80240364 000218C0 */ sll $v1, $v0, 3 +/* D97BF8 80240368 00431021 */ addu $v0, $v0, $v1 +/* D97BFC 8024036C 000210C0 */ sll $v0, $v0, 3 +/* D97C00 80240370 3C01800B */ lui $at, 0x800b +/* D97C04 80240374 00220821 */ addu $at, $at, $v0 +/* D97C08 80240378 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D97C0C 8024037C 4406A000 */ mfc1 $a2, $f20 +/* D97C10 80240380 4600B587 */ neg.s $f22, $f22 +/* D97C14 80240384 4405B000 */ mfc1 $a1, $f22 +/* D97C18 80240388 0200202D */ daddu $a0, $s0, $zero +/* D97C1C 8024038C 0C019EC8 */ jal guRotateF +/* D97C20 80240390 E7B40010 */ swc1 $f20, 0x10($sp) +/* D97C24 80240394 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D97C28 80240398 0C00A6C9 */ jal clamp_angle +/* D97C2C 8024039C 00000000 */ nop +/* D97C30 802403A0 44050000 */ mfc1 $a1, $f0 +/* D97C34 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D97C38 802403A8 4407A000 */ mfc1 $a3, $f20 +/* D97C3C 802403AC 3C013F80 */ lui $at, 0x3f80 +/* D97C40 802403B0 4481C000 */ mtc1 $at, $f24 +/* D97C44 802403B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D97C48 802403B8 0C019EC8 */ jal guRotateF +/* D97C4C 802403BC E7B80010 */ swc1 $f24, 0x10($sp) +/* D97C50 802403C0 0200202D */ daddu $a0, $s0, $zero +/* D97C54 802403C4 27A50018 */ addiu $a1, $sp, 0x18 +/* D97C58 802403C8 0C019D80 */ jal guMtxCatF +/* D97C5C 802403CC 00A0302D */ daddu $a2, $a1, $zero +/* D97C60 802403D0 4405B000 */ mfc1 $a1, $f22 +/* D97C64 802403D4 4406A000 */ mfc1 $a2, $f20 +/* D97C68 802403D8 4407C000 */ mfc1 $a3, $f24 +/* D97C6C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D97C70 802403E0 0C019EC8 */ jal guRotateF +/* D97C74 802403E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D97C78 802403E8 27A40018 */ addiu $a0, $sp, 0x18 +/* D97C7C 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D97C80 802403F0 0C019D80 */ jal guMtxCatF +/* D97C84 802403F4 0080302D */ daddu $a2, $a0, $zero +/* D97C88 802403F8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D97C8C 802403FC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D97C90 80240400 4406A000 */ mfc1 $a2, $f20 +/* D97C94 80240404 4407C000 */ mfc1 $a3, $f24 +/* D97C98 80240408 0C019EC8 */ jal guRotateF +/* D97C9C 8024040C 0200202D */ daddu $a0, $s0, $zero +/* D97CA0 80240410 27A40018 */ addiu $a0, $sp, 0x18 +/* D97CA4 80240414 0200282D */ daddu $a1, $s0, $zero +/* D97CA8 80240418 0C019D80 */ jal guMtxCatF +/* D97CAC 8024041C 0080302D */ daddu $a2, $a0, $zero +/* D97CB0 80240420 3C013F36 */ lui $at, 0x3f36 +/* D97CB4 80240424 3421DB6E */ ori $at, $at, 0xdb6e +/* D97CB8 80240428 44810000 */ mtc1 $at, $f0 +/* D97CBC 8024042C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D97CC0 80240430 44050000 */ mfc1 $a1, $f0 +/* D97CC4 80240434 0200202D */ daddu $a0, $s0, $zero +/* D97CC8 80240438 00A0302D */ daddu $a2, $a1, $zero +/* D97CCC 8024043C 0C019DF0 */ jal guScaleF +/* D97CD0 80240440 00A0382D */ daddu $a3, $a1, $zero +/* D97CD4 80240444 27A40018 */ addiu $a0, $sp, 0x18 +/* D97CD8 80240448 0200282D */ daddu $a1, $s0, $zero +/* D97CDC 8024044C 0C019D80 */ jal guMtxCatF +/* D97CE0 80240450 0080302D */ daddu $a2, $a0, $zero +/* D97CE4 80240454 27B00058 */ addiu $s0, $sp, 0x58 +/* D97CE8 80240458 C6200030 */ lwc1 $f0, 0x30($s1) +/* D97CEC 8024045C 3C014040 */ lui $at, 0x4040 +/* D97CF0 80240460 44811000 */ mtc1 $at, $f2 +/* D97CF4 80240464 46000007 */ neg.s $f0, $f0 +/* D97CF8 80240468 46020001 */ sub.s $f0, $f0, $f2 +/* D97CFC 8024046C 8E250028 */ lw $a1, 0x28($s1) +/* D97D00 80240470 8E26002C */ lw $a2, 0x2c($s1) +/* D97D04 80240474 44070000 */ mfc1 $a3, $f0 +/* D97D08 80240478 0C019E40 */ jal guTranslateF +/* D97D0C 8024047C 0200202D */ daddu $a0, $s0, $zero +/* D97D10 80240480 27A40018 */ addiu $a0, $sp, 0x18 +/* D97D14 80240484 0200282D */ daddu $a1, $s0, $zero +/* D97D18 80240488 0C019D80 */ jal guMtxCatF +/* D97D1C 8024048C 0080302D */ daddu $a2, $a0, $zero +/* D97D20 80240490 24040002 */ addiu $a0, $zero, 2 +/* D97D24 80240494 0000282D */ daddu $a1, $zero, $zero +/* D97D28 80240498 00A0302D */ daddu $a2, $a1, $zero +/* D97D2C 8024049C 00A0382D */ daddu $a3, $a1, $zero +/* D97D30 802404A0 27A20018 */ addiu $v0, $sp, 0x18 +/* D97D34 802404A4 0C0B7710 */ jal render_sprite +/* D97D38 802404A8 AFA20010 */ sw $v0, 0x10($sp) +/* D97D3C 802404AC 8FBF0120 */ lw $ra, 0x120($sp) +/* D97D40 802404B0 8FB1011C */ lw $s1, 0x11c($sp) +/* D97D44 802404B4 8FB00118 */ lw $s0, 0x118($sp) +/* D97D48 802404B8 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D97D4C 802404BC D7B60130 */ ldc1 $f22, 0x130($sp) +/* D97D50 802404C0 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D97D54 802404C4 03E00008 */ jr $ra +/* D97D58 802404C8 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_802404CC_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_802404CC_D97890.s new file mode 100644 index 0000000000..9e1ec2cbc6 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_802404CC_D97890.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404CC_D97D5C +/* D97D5C 802404CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D97D60 802404D0 AFB00010 */ sw $s0, 0x10($sp) +/* D97D64 802404D4 0080802D */ daddu $s0, $a0, $zero +/* D97D68 802404D8 AFBF0014 */ sw $ra, 0x14($sp) +/* D97D6C 802404DC 8E020084 */ lw $v0, 0x84($s0) +/* D97D70 802404E0 0440000E */ bltz $v0, .L8024051C +/* D97D74 802404E4 28420002 */ slti $v0, $v0, 2 +/* D97D78 802404E8 1040000C */ beqz $v0, .L8024051C +/* D97D7C 802404EC 00000000 */ nop +/* D97D80 802404F0 3C058024 */ lui $a1, 0x8024 +/* D97D84 802404F4 24A50530 */ addiu $a1, $a1, 0x530 +/* D97D88 802404F8 0C048C56 */ jal bind_dynamic_entity_3 +/* D97D8C 802404FC 0000202D */ daddu $a0, $zero, $zero +/* D97D90 80240500 8E03013C */ lw $v1, 0x13c($s0) +/* D97D94 80240504 AC620000 */ sw $v0, ($v1) +/* D97D98 80240508 3C03800A */ lui $v1, %hi(D_8009A650) +/* D97D9C 8024050C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D97DA0 80240510 8C620000 */ lw $v0, ($v1) +/* D97DA4 80240514 34420080 */ ori $v0, $v0, 0x80 +/* D97DA8 80240518 AC620000 */ sw $v0, ($v1) +.L8024051C: +/* D97DAC 8024051C 8FBF0014 */ lw $ra, 0x14($sp) +/* D97DB0 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* D97DB4 80240524 24020002 */ addiu $v0, $zero, 2 +/* D97DB8 80240528 03E00008 */ jr $ra +/* D97DBC 8024052C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240530_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240530_D97890.s new file mode 100644 index 0000000000..91ae438748 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240530_D97890.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240530_D97DC0 +/* D97DC0 80240530 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D97DC4 80240534 AFB00040 */ sw $s0, 0x40($sp) +/* D97DC8 80240538 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D97DCC 8024053C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D97DD0 80240540 AFB10044 */ sw $s1, 0x44($sp) +/* D97DD4 80240544 AFBF004C */ sw $ra, 0x4c($sp) +/* D97DD8 80240548 AFB20048 */ sw $s2, 0x48($sp) +/* D97DDC 8024054C 8E020000 */ lw $v0, ($s0) +/* D97DE0 80240550 821200BE */ lb $s2, 0xbe($s0) +/* D97DE4 80240554 30420001 */ andi $v0, $v0, 1 +/* D97DE8 80240558 10400052 */ beqz $v0, .L802406A4 +/* D97DEC 8024055C 27B10020 */ addiu $s1, $sp, 0x20 +/* D97DF0 80240560 8E0400CC */ lw $a0, 0xcc($s0) +/* D97DF4 80240564 0C044181 */ jal get_shadow_by_index +/* D97DF8 80240568 00000000 */ nop +/* D97DFC 8024056C 0C048B77 */ jal func_80122DDC +/* D97E00 80240570 84440008 */ lh $a0, 8($v0) +/* D97E04 80240574 8E050028 */ lw $a1, 0x28($s0) +/* D97E08 80240578 8E070030 */ lw $a3, 0x30($s0) +/* D97E0C 8024057C 27A20030 */ addiu $v0, $sp, 0x30 +/* D97E10 80240580 AFA20010 */ sw $v0, 0x10($sp) +/* D97E14 80240584 27A20034 */ addiu $v0, $sp, 0x34 +/* D97E18 80240588 AFA20014 */ sw $v0, 0x14($sp) +/* D97E1C 8024058C 27A20038 */ addiu $v0, $sp, 0x38 +/* D97E20 80240590 AFA20018 */ sw $v0, 0x18($sp) +/* D97E24 80240594 C600002C */ lwc1 $f0, 0x2c($s0) +/* D97E28 80240598 3C04800A */ lui $a0, 0x800a +/* D97E2C 8024059C 8484A634 */ lh $a0, -0x59cc($a0) +/* D97E30 802405A0 46000007 */ neg.s $f0, $f0 +/* D97E34 802405A4 44060000 */ mfc1 $a2, $f0 +/* D97E38 802405A8 0C00B94E */ jal get_screen_coords +/* D97E3C 802405AC 00000000 */ nop +/* D97E40 802405B0 8E0500A4 */ lw $a1, 0xa4($s0) +/* D97E44 802405B4 3C063F80 */ lui $a2, 0x3f80 +/* D97E48 802405B8 0C0B76A3 */ jal func_802DDA8C +/* D97E4C 802405BC 24040001 */ addiu $a0, $zero, 1 +/* D97E50 802405C0 8E020000 */ lw $v0, ($s0) +/* D97E54 802405C4 3C030002 */ lui $v1, 2 +/* D97E58 802405C8 00431024 */ and $v0, $v0, $v1 +/* D97E5C 802405CC 54400022 */ bnel $v0, $zero, .L80240658 +/* D97E60 802405D0 24120011 */ addiu $s2, $zero, 0x11 +/* D97E64 802405D4 9203000E */ lbu $v1, 0xe($s0) +/* D97E68 802405D8 3C02802E */ lui $v0, 0x802e +/* D97E6C 802405DC 90429D71 */ lbu $v0, -0x628f($v0) +/* D97E70 802405E0 10620018 */ beq $v1, $v0, .L80240644 +/* D97E74 802405E4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D97E78 802405E8 1040000B */ beqz $v0, .L80240618 +/* D97E7C 802405EC 24120011 */ addiu $s2, $zero, 0x11 +/* D97E80 802405F0 24040001 */ addiu $a0, $zero, 1 +/* D97E84 802405F4 2405FFFF */ addiu $a1, $zero, -1 +/* D97E88 802405F8 24060007 */ addiu $a2, $zero, 7 +/* D97E8C 802405FC 0060102D */ daddu $v0, $v1, $zero +/* D97E90 80240600 0000382D */ daddu $a3, $zero, $zero +/* D97E94 80240604 AFA00010 */ sw $zero, 0x10($sp) +/* D97E98 80240608 AFA00014 */ sw $zero, 0x14($sp) +/* D97E9C 8024060C AFA0001C */ sw $zero, 0x1c($sp) +/* D97EA0 80240610 0809018F */ j .L8024063C +/* D97EA4 80240614 AFA20018 */ sw $v0, 0x18($sp) +.L80240618: +/* D97EA8 80240618 2412000D */ addiu $s2, $zero, 0xd +/* D97EAC 8024061C 24040001 */ addiu $a0, $zero, 1 +/* D97EB0 80240620 2405FFFF */ addiu $a1, $zero, -1 +/* D97EB4 80240624 0000302D */ daddu $a2, $zero, $zero +/* D97EB8 80240628 00C0382D */ daddu $a3, $a2, $zero +/* D97EBC 8024062C AFA00010 */ sw $zero, 0x10($sp) +/* D97EC0 80240630 AFA00014 */ sw $zero, 0x14($sp) +/* D97EC4 80240634 AFA00018 */ sw $zero, 0x18($sp) +/* D97EC8 80240638 AFA0001C */ sw $zero, 0x1c($sp) +.L8024063C: +/* D97ECC 8024063C 0C0B77B9 */ jal func_802DDEE4 +/* D97ED0 80240640 00000000 */ nop +.L80240644: +/* D97ED4 80240644 9202000E */ lbu $v0, 0xe($s0) +/* D97ED8 80240648 3C01802E */ lui $at, 0x802e +/* D97EDC 8024064C A0229D71 */ sb $v0, -0x628f($at) +/* D97EE0 80240650 08090198 */ j .L80240660 +/* D97EE4 80240654 00000000 */ nop +.L80240658: +/* D97EE8 80240658 3C01802E */ lui $at, 0x802e +/* D97EEC 8024065C A0209D71 */ sb $zero, -0x628f($at) +.L80240660: +/* D97EF0 80240660 8FA20038 */ lw $v0, 0x38($sp) +/* D97EF4 80240664 3C048024 */ lui $a0, 0x8024 +/* D97EF8 80240668 248408A0 */ addiu $a0, $a0, 0x8a0 +/* D97EFC 8024066C AE320000 */ sw $s2, ($s1) +/* D97F00 80240670 AE300008 */ sw $s0, 8($s1) +/* D97F04 80240674 00021023 */ negu $v0, $v0 +/* D97F08 80240678 AE220004 */ sw $v0, 4($s1) +/* D97F0C 8024067C 8E020000 */ lw $v0, ($s0) +/* D97F10 80240680 3C030002 */ lui $v1, 2 +/* D97F14 80240684 00431024 */ and $v0, $v0, $v1 +/* D97F18 80240688 54400004 */ bnel $v0, $zero, .L8024069C +/* D97F1C 8024068C AE24000C */ sw $a0, 0xc($s1) +/* D97F20 80240690 3C048024 */ lui $a0, 0x8024 +/* D97F24 80240694 248406BC */ addiu $a0, $a0, 0x6bc +/* D97F28 80240698 AE24000C */ sw $a0, 0xc($s1) +.L8024069C: +/* D97F2C 8024069C 0C047644 */ jal queue_render_task +/* D97F30 802406A0 0220202D */ daddu $a0, $s1, $zero +.L802406A4: +/* D97F34 802406A4 8FBF004C */ lw $ra, 0x4c($sp) +/* D97F38 802406A8 8FB20048 */ lw $s2, 0x48($sp) +/* D97F3C 802406AC 8FB10044 */ lw $s1, 0x44($sp) +/* D97F40 802406B0 8FB00040 */ lw $s0, 0x40($sp) +/* D97F44 802406B4 03E00008 */ jr $ra +/* D97F48 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_802406BC_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_802406BC_D97890.s new file mode 100644 index 0000000000..bc7429ab0a --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_802406BC_D97890.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D97F4C +/* D97F4C 802406BC 3C03800A */ lui $v1, 0x800a +/* D97F50 802406C0 8463A634 */ lh $v1, -0x59cc($v1) +/* D97F54 802406C4 3C07BF80 */ lui $a3, 0xbf80 +/* D97F58 802406C8 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D97F5C 802406CC F7B40128 */ sdc1 $f20, 0x128($sp) +/* D97F60 802406D0 4480A000 */ mtc1 $zero, $f20 +/* D97F64 802406D4 AFB1011C */ sw $s1, 0x11c($sp) +/* D97F68 802406D8 0080882D */ daddu $s1, $a0, $zero +/* D97F6C 802406DC AFB00118 */ sw $s0, 0x118($sp) +/* D97F70 802406E0 27B00098 */ addiu $s0, $sp, 0x98 +/* D97F74 802406E4 AFBF0120 */ sw $ra, 0x120($sp) +/* D97F78 802406E8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D97F7C 802406EC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D97F80 802406F0 00031080 */ sll $v0, $v1, 2 +/* D97F84 802406F4 00431021 */ addu $v0, $v0, $v1 +/* D97F88 802406F8 00021080 */ sll $v0, $v0, 2 +/* D97F8C 802406FC 00431023 */ subu $v0, $v0, $v1 +/* D97F90 80240700 000218C0 */ sll $v1, $v0, 3 +/* D97F94 80240704 00431021 */ addu $v0, $v0, $v1 +/* D97F98 80240708 000210C0 */ sll $v0, $v0, 3 +/* D97F9C 8024070C 3C01800B */ lui $at, 0x800b +/* D97FA0 80240710 00220821 */ addu $at, $at, $v0 +/* D97FA4 80240714 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D97FA8 80240718 4406A000 */ mfc1 $a2, $f20 +/* D97FAC 8024071C 4600B587 */ neg.s $f22, $f22 +/* D97FB0 80240720 4405B000 */ mfc1 $a1, $f22 +/* D97FB4 80240724 0200202D */ daddu $a0, $s0, $zero +/* D97FB8 80240728 0C019EC8 */ jal guRotateF +/* D97FBC 8024072C E7B40010 */ swc1 $f20, 0x10($sp) +/* D97FC0 80240730 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D97FC4 80240734 0C00A6C9 */ jal clamp_angle +/* D97FC8 80240738 00000000 */ nop +/* D97FCC 8024073C 44050000 */ mfc1 $a1, $f0 +/* D97FD0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D97FD4 80240744 4407A000 */ mfc1 $a3, $f20 +/* D97FD8 80240748 3C013F80 */ lui $at, 0x3f80 +/* D97FDC 8024074C 4481C000 */ mtc1 $at, $f24 +/* D97FE0 80240750 27A40018 */ addiu $a0, $sp, 0x18 +/* D97FE4 80240754 0C019EC8 */ jal guRotateF +/* D97FE8 80240758 E7B80010 */ swc1 $f24, 0x10($sp) +/* D97FEC 8024075C 0200202D */ daddu $a0, $s0, $zero +/* D97FF0 80240760 27A50018 */ addiu $a1, $sp, 0x18 +/* D97FF4 80240764 0C019D80 */ jal guMtxCatF +/* D97FF8 80240768 00A0302D */ daddu $a2, $a1, $zero +/* D97FFC 8024076C 4405B000 */ mfc1 $a1, $f22 +/* D98000 80240770 4406A000 */ mfc1 $a2, $f20 +/* D98004 80240774 4407C000 */ mfc1 $a3, $f24 +/* D98008 80240778 0200202D */ daddu $a0, $s0, $zero +/* D9800C 8024077C 0C019EC8 */ jal guRotateF +/* D98010 80240780 E7B40010 */ swc1 $f20, 0x10($sp) +/* D98014 80240784 27A40018 */ addiu $a0, $sp, 0x18 +/* D98018 80240788 0200282D */ daddu $a1, $s0, $zero +/* D9801C 8024078C 0C019D80 */ jal guMtxCatF +/* D98020 80240790 0080302D */ daddu $a2, $a0, $zero +/* D98024 80240794 E7B40010 */ swc1 $f20, 0x10($sp) +/* D98028 80240798 8E2500A8 */ lw $a1, 0xa8($s1) +/* D9802C 8024079C 4406A000 */ mfc1 $a2, $f20 +/* D98030 802407A0 4407C000 */ mfc1 $a3, $f24 +/* D98034 802407A4 0C019EC8 */ jal guRotateF +/* D98038 802407A8 0200202D */ daddu $a0, $s0, $zero +/* D9803C 802407AC 27A40018 */ addiu $a0, $sp, 0x18 +/* D98040 802407B0 0200282D */ daddu $a1, $s0, $zero +/* D98044 802407B4 0C019D80 */ jal guMtxCatF +/* D98048 802407B8 0080302D */ daddu $a2, $a0, $zero +/* D9804C 802407BC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D98050 802407C0 3C013F36 */ lui $at, 0x3f36 +/* D98054 802407C4 3421DB6E */ ori $at, $at, 0xdb6e +/* D98058 802407C8 44810000 */ mtc1 $at, $f0 +/* D9805C 802407CC 0200202D */ daddu $a0, $s0, $zero +/* D98060 802407D0 44050000 */ mfc1 $a1, $f0 +/* D98064 802407D4 3C06BF36 */ lui $a2, 0xbf36 +/* D98068 802407D8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D9806C 802407DC 0C019DF0 */ jal guScaleF +/* D98070 802407E0 00A0382D */ daddu $a3, $a1, $zero +/* D98074 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D98078 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D9807C 802407EC 0C019D80 */ jal guMtxCatF +/* D98080 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D98084 802407F4 27B00058 */ addiu $s0, $sp, 0x58 +/* D98088 802407F8 8E250028 */ lw $a1, 0x28($s1) +/* D9808C 802407FC C620002C */ lwc1 $f0, 0x2c($s1) +/* D98090 80240800 8E270030 */ lw $a3, 0x30($s1) +/* D98094 80240804 46000007 */ neg.s $f0, $f0 +/* D98098 80240808 44060000 */ mfc1 $a2, $f0 +/* D9809C 8024080C 0C019E40 */ jal guTranslateF +/* D980A0 80240810 0200202D */ daddu $a0, $s0, $zero +/* D980A4 80240814 27A40018 */ addiu $a0, $sp, 0x18 +/* D980A8 80240818 0200282D */ daddu $a1, $s0, $zero +/* D980AC 8024081C 0C019D80 */ jal guMtxCatF +/* D980B0 80240820 0080302D */ daddu $a2, $a0, $zero +/* D980B4 80240824 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D980B8 80240828 3C0142B4 */ lui $at, 0x42b4 +/* D980BC 8024082C 44810000 */ mtc1 $at, $f0 +/* D980C0 80240830 00000000 */ nop +/* D980C4 80240834 4602003E */ c.le.s $f0, $f2 +/* D980C8 80240838 00000000 */ nop +/* D980CC 8024083C 4500000A */ bc1f .L80240868 +/* D980D0 80240840 24040001 */ addiu $a0, $zero, 1 +/* D980D4 80240844 3C014387 */ lui $at, 0x4387 +/* D980D8 80240848 44810000 */ mtc1 $at, $f0 +/* D980DC 8024084C 00000000 */ nop +/* D980E0 80240850 4600103C */ c.lt.s $f2, $f0 +/* D980E4 80240854 00000000 */ nop +/* D980E8 80240858 45000004 */ bc1f .L8024086C +/* D980EC 8024085C 27A20018 */ addiu $v0, $sp, 0x18 +/* D980F0 80240860 3C041000 */ lui $a0, 0x1000 +/* D980F4 80240864 34840001 */ ori $a0, $a0, 1 +.L80240868: +/* D980F8 80240868 27A20018 */ addiu $v0, $sp, 0x18 +.L8024086C: +/* D980FC 8024086C 0000282D */ daddu $a1, $zero, $zero +/* D98100 80240870 00A0302D */ daddu $a2, $a1, $zero +/* D98104 80240874 00A0382D */ daddu $a3, $a1, $zero +/* D98108 80240878 0C0B7710 */ jal render_sprite +/* D9810C 8024087C AFA20010 */ sw $v0, 0x10($sp) +/* D98110 80240880 8FBF0120 */ lw $ra, 0x120($sp) +/* D98114 80240884 8FB1011C */ lw $s1, 0x11c($sp) +/* D98118 80240888 8FB00118 */ lw $s0, 0x118($sp) +/* D9811C 8024088C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D98120 80240890 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D98124 80240894 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D98128 80240898 03E00008 */ jr $ra +/* D9812C 8024089C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_802408A0_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_802408A0_D97890.s new file mode 100644 index 0000000000..7eb2b2464d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_802408A0_D97890.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408A0_D98130 +/* D98130 802408A0 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D98134 802408A4 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D98138 802408A8 4480B000 */ mtc1 $zero, $f22 +/* D9813C 802408AC AFB10134 */ sw $s1, 0x134($sp) +/* D98140 802408B0 0080882D */ daddu $s1, $a0, $zero +/* D98144 802408B4 AFB3013C */ sw $s3, 0x13c($sp) +/* D98148 802408B8 0000982D */ daddu $s3, $zero, $zero +/* D9814C 802408BC AFB60148 */ sw $s6, 0x148($sp) +/* D98150 802408C0 3C16800B */ lui $s6, %hi(gCameras) +/* D98154 802408C4 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D98158 802408C8 AFB50144 */ sw $s5, 0x144($sp) +/* D9815C 802408CC 241500FF */ addiu $s5, $zero, 0xff +/* D98160 802408D0 AFB00130 */ sw $s0, 0x130($sp) +/* D98164 802408D4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D98168 802408D8 AFB20138 */ sw $s2, 0x138($sp) +/* D9816C 802408DC 27B20060 */ addiu $s2, $sp, 0x60 +/* D98170 802408E0 AFB40140 */ sw $s4, 0x140($sp) +/* D98174 802408E4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D98178 802408E8 AFBF014C */ sw $ra, 0x14c($sp) +/* D9817C 802408EC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D98180 802408F0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D98184 802408F4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D98188 802408F8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D9818C 802408FC F7B40150 */ sdc1 $f20, 0x150($sp) +.L80240900: +/* D98190 80240900 3C03800A */ lui $v1, 0x800a +/* D98194 80240904 8463A634 */ lh $v1, -0x59cc($v1) +/* D98198 80240908 00031080 */ sll $v0, $v1, 2 +/* D9819C 8024090C 00431021 */ addu $v0, $v0, $v1 +/* D981A0 80240910 00021080 */ sll $v0, $v0, 2 +/* D981A4 80240914 00431023 */ subu $v0, $v0, $v1 +/* D981A8 80240918 000218C0 */ sll $v1, $v0, 3 +/* D981AC 8024091C 00431021 */ addu $v0, $v0, $v1 +/* D981B0 80240920 000210C0 */ sll $v0, $v0, 3 +/* D981B4 80240924 00561021 */ addu $v0, $v0, $s6 +/* D981B8 80240928 C440006C */ lwc1 $f0, 0x6c($v0) +/* D981BC 8024092C 16600065 */ bnez $s3, .L80240AC4 +/* D981C0 80240930 46000507 */ neg.s $f20, $f0 +/* D981C4 80240934 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D981C8 80240938 3C0142B4 */ lui $at, 0x42b4 +/* D981CC 8024093C 44810000 */ mtc1 $at, $f0 +/* D981D0 80240940 00000000 */ nop +/* D981D4 80240944 4602003C */ c.lt.s $f0, $f2 +/* D981D8 80240948 00000000 */ nop +/* D981DC 8024094C 4500000A */ bc1f .L80240978 +/* D981E0 80240950 00000000 */ nop +/* D981E4 80240954 3C014334 */ lui $at, 0x4334 +/* D981E8 80240958 44812000 */ mtc1 $at, $f4 +/* D981EC 8024095C 00000000 */ nop +/* D981F0 80240960 4604103E */ c.le.s $f2, $f4 +/* D981F4 80240964 00000000 */ nop +/* D981F8 80240968 45000003 */ bc1f .L80240978 +/* D981FC 8024096C 00000000 */ nop +/* D98200 80240970 08090282 */ j .L80240A08 +/* D98204 80240974 46022501 */ sub.s $f20, $f4, $f2 +.L80240978: +/* D98208 80240978 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D9820C 8024097C 3C014334 */ lui $at, 0x4334 +/* D98210 80240980 44812000 */ mtc1 $at, $f4 +/* D98214 80240984 00000000 */ nop +/* D98218 80240988 4600203C */ c.lt.s $f4, $f0 +/* D9821C 8024098C 00000000 */ nop +/* D98220 80240990 4500000C */ bc1f .L802409C4 +/* D98224 80240994 00000000 */ nop +/* D98228 80240998 3C014387 */ lui $at, 0x4387 +/* D9822C 8024099C 44812000 */ mtc1 $at, $f4 +/* D98230 802409A0 00000000 */ nop +/* D98234 802409A4 4604003E */ c.le.s $f0, $f4 +/* D98238 802409A8 00000000 */ nop +/* D9823C 802409AC 45000008 */ bc1f .L802409D0 +/* D98240 802409B0 00000000 */ nop +/* D98244 802409B4 3C014334 */ lui $at, 0x4334 +/* D98248 802409B8 44812000 */ mtc1 $at, $f4 +/* D9824C 802409BC 08090282 */ j .L80240A08 +/* D98250 802409C0 46040501 */ sub.s $f20, $f0, $f4 +.L802409C4: +/* D98254 802409C4 3C014387 */ lui $at, 0x4387 +/* D98258 802409C8 44812000 */ mtc1 $at, $f4 +/* D9825C 802409CC 00000000 */ nop +.L802409D0: +/* D98260 802409D0 4600203C */ c.lt.s $f4, $f0 +/* D98264 802409D4 00000000 */ nop +/* D98268 802409D8 4500000A */ bc1f .L80240A04 +/* D9826C 802409DC 00000000 */ nop +/* D98270 802409E0 3C0143B4 */ lui $at, 0x43b4 +/* D98274 802409E4 44811000 */ mtc1 $at, $f2 +/* D98278 802409E8 00000000 */ nop +/* D9827C 802409EC 4602003E */ c.le.s $f0, $f2 +/* D98280 802409F0 00000000 */ nop +/* D98284 802409F4 45000003 */ bc1f .L80240A04 +/* D98288 802409F8 00000000 */ nop +/* D9828C 802409FC 08090282 */ j .L80240A08 +/* D98290 80240A00 46001501 */ sub.s $f20, $f2, $f0 +.L80240A04: +/* D98294 80240A04 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L80240A08: +/* D98298 80240A08 3C0141C8 */ lui $at, 0x41c8 +/* D9829C 80240A0C 44810000 */ mtc1 $at, $f0 +/* D982A0 80240A10 00000000 */ nop +/* D982A4 80240A14 4600A003 */ div.s $f0, $f20, $f0 +/* D982A8 80240A18 4600010D */ trunc.w.s $f4, $f0 +/* D982AC 80240A1C 44072000 */ mfc1 $a3, $f4 +/* D982B0 80240A20 00000000 */ nop +/* D982B4 80240A24 00071100 */ sll $v0, $a3, 4 +/* D982B8 80240A28 00471023 */ subu $v0, $v0, $a3 +/* D982BC 80240A2C 00021080 */ sll $v0, $v0, 2 +/* D982C0 80240A30 02A23823 */ subu $a3, $s5, $v0 +/* D982C4 80240A34 28E20064 */ slti $v0, $a3, 0x64 +/* D982C8 80240A38 54400001 */ bnel $v0, $zero, .L80240A40 +/* D982CC 80240A3C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A40: +/* D982D0 80240A40 24040001 */ addiu $a0, $zero, 1 +/* D982D4 80240A44 2405FFFF */ addiu $a1, $zero, -1 +/* D982D8 80240A48 24060006 */ addiu $a2, $zero, 6 +/* D982DC 80240A4C AFA70010 */ sw $a3, 0x10($sp) +/* D982E0 80240A50 AFA70014 */ sw $a3, 0x14($sp) +/* D982E4 80240A54 AFB50018 */ sw $s5, 0x18($sp) +/* D982E8 80240A58 0C0B77B9 */ jal func_802DDEE4 +/* D982EC 80240A5C AFA0001C */ sw $zero, 0x1c($sp) +/* D982F0 80240A60 4405A000 */ mfc1 $a1, $f20 +/* D982F4 80240A64 4406B000 */ mfc1 $a2, $f22 +/* D982F8 80240A68 3C07BF80 */ lui $a3, 0xbf80 +/* D982FC 80240A6C 0200202D */ daddu $a0, $s0, $zero +/* D98300 80240A70 0C019EC8 */ jal guRotateF +/* D98304 80240A74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D98308 80240A78 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D9830C 80240A7C 0C00A6C9 */ jal clamp_angle +/* D98310 80240A80 00000000 */ nop +/* D98314 80240A84 44050000 */ mfc1 $a1, $f0 +/* D98318 80240A88 4406B000 */ mfc1 $a2, $f22 +/* D9831C 80240A8C 4407B000 */ mfc1 $a3, $f22 +/* D98320 80240A90 3C013F80 */ lui $at, 0x3f80 +/* D98324 80240A94 44812000 */ mtc1 $at, $f4 +/* D98328 80240A98 27A40020 */ addiu $a0, $sp, 0x20 +/* D9832C 80240A9C 0C019EC8 */ jal guRotateF +/* D98330 80240AA0 E7A40010 */ swc1 $f4, 0x10($sp) +/* D98334 80240AA4 0200202D */ daddu $a0, $s0, $zero +/* D98338 80240AA8 27A50020 */ addiu $a1, $sp, 0x20 +/* D9833C 80240AAC 0C019D80 */ jal guMtxCatF +/* D98340 80240AB0 00A0302D */ daddu $a2, $a1, $zero +/* D98344 80240AB4 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D98348 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D9834C 80240ABC 080902E2 */ j .L80240B88 +/* D98350 80240AC0 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240AC4: +/* D98354 80240AC4 0260202D */ daddu $a0, $s3, $zero +/* D98358 80240AC8 27A50120 */ addiu $a1, $sp, 0x120 +/* D9835C 80240ACC 27A60124 */ addiu $a2, $sp, 0x124 +/* D98360 80240AD0 0C03964E */ jal func_800E5938 +/* D98364 80240AD4 27A70128 */ addiu $a3, $sp, 0x128 +/* D98368 80240AD8 8FA60124 */ lw $a2, 0x124($sp) +/* D9836C 80240ADC 3C028000 */ lui $v0, 0x8000 +/* D98370 80240AE0 14C20004 */ bne $a2, $v0, .L80240AF4 +/* D98374 80240AE4 46000606 */ mov.s $f24, $f0 +/* D98378 80240AE8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D9837C 80240AEC 080902C1 */ j .L80240B04 +/* D98380 80240AF0 24040001 */ addiu $a0, $zero, 1 +.L80240AF4: +/* D98384 80240AF4 4486D000 */ mtc1 $a2, $f26 +/* D98388 80240AF8 00000000 */ nop +/* D9838C 80240AFC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D98390 80240B00 24040001 */ addiu $a0, $zero, 1 +.L80240B04: +/* D98394 80240B04 2405FFFF */ addiu $a1, $zero, -1 +/* D98398 80240B08 24060007 */ addiu $a2, $zero, 7 +/* D9839C 80240B0C 0000382D */ daddu $a3, $zero, $zero +/* D983A0 80240B10 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D983A4 80240B14 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D983A8 80240B18 24020040 */ addiu $v0, $zero, 0x40 +/* D983AC 80240B1C AFA00010 */ sw $zero, 0x10($sp) +/* D983B0 80240B20 AFA00014 */ sw $zero, 0x14($sp) +/* D983B4 80240B24 AFA20018 */ sw $v0, 0x18($sp) +/* D983B8 80240B28 0C0B77B9 */ jal func_802DDEE4 +/* D983BC 80240B2C AFA0001C */ sw $zero, 0x1c($sp) +/* D983C0 80240B30 4405A000 */ mfc1 $a1, $f20 +/* D983C4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D983C8 80240B38 3C07BF80 */ lui $a3, 0xbf80 +/* D983CC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D983D0 80240B40 0C019EC8 */ jal guRotateF +/* D983D4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D983D8 80240B48 4405A000 */ mfc1 $a1, $f20 +/* D983DC 80240B4C 4406B000 */ mfc1 $a2, $f22 +/* D983E0 80240B50 3C07BF80 */ lui $a3, 0xbf80 +/* D983E4 80240B54 0200202D */ daddu $a0, $s0, $zero +/* D983E8 80240B58 0C019EC8 */ jal guRotateF +/* D983EC 80240B5C E7B60010 */ swc1 $f22, 0x10($sp) +/* D983F0 80240B60 4405C000 */ mfc1 $a1, $f24 +/* D983F4 80240B64 4406B000 */ mfc1 $a2, $f22 +/* D983F8 80240B68 3C073F80 */ lui $a3, 0x3f80 +/* D983FC 80240B6C 27A40020 */ addiu $a0, $sp, 0x20 +/* D98400 80240B70 0C019EC8 */ jal guRotateF +/* D98404 80240B74 E7B60010 */ swc1 $f22, 0x10($sp) +/* D98408 80240B78 0200202D */ daddu $a0, $s0, $zero +/* D9840C 80240B7C 27A50020 */ addiu $a1, $sp, 0x20 +/* D98410 80240B80 0C019D80 */ jal guMtxCatF +/* D98414 80240B84 00A0302D */ daddu $a2, $a1, $zero +.L80240B88: +/* D98418 80240B88 862200B0 */ lh $v0, 0xb0($s1) +/* D9841C 80240B8C 3C013F00 */ lui $at, 0x3f00 +/* D98420 80240B90 44812000 */ mtc1 $at, $f4 +/* D98424 80240B94 00021023 */ negu $v0, $v0 +/* D98428 80240B98 44820000 */ mtc1 $v0, $f0 +/* D9842C 80240B9C 00000000 */ nop +/* D98430 80240BA0 46800020 */ cvt.s.w $f0, $f0 +/* D98434 80240BA4 46040102 */ mul.s $f4, $f0, $f4 +/* D98438 80240BA8 00000000 */ nop +/* D9843C 80240BAC 4405B000 */ mfc1 $a1, $f22 +/* D98440 80240BB0 4407B000 */ mfc1 $a3, $f22 +/* D98444 80240BB4 44062000 */ mfc1 $a2, $f4 +/* D98448 80240BB8 0C019E40 */ jal guTranslateF +/* D9844C 80240BBC 0240202D */ daddu $a0, $s2, $zero +/* D98450 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D98454 80240BC4 27A50020 */ addiu $a1, $sp, 0x20 +/* D98458 80240BC8 0C019D80 */ jal guMtxCatF +/* D9845C 80240BCC 00A0302D */ daddu $a2, $a1, $zero +/* D98460 80240BD0 4405A000 */ mfc1 $a1, $f20 +/* D98464 80240BD4 4406B000 */ mfc1 $a2, $f22 +/* D98468 80240BD8 3C073F80 */ lui $a3, 0x3f80 +/* D9846C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D98470 80240BE0 0C019EC8 */ jal guRotateF +/* D98474 80240BE4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D98478 80240BE8 27A40020 */ addiu $a0, $sp, 0x20 +/* D9847C 80240BEC 0200282D */ daddu $a1, $s0, $zero +/* D98480 80240BF0 0C019D80 */ jal guMtxCatF +/* D98484 80240BF4 0080302D */ daddu $a2, $a0, $zero +/* D98488 80240BF8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9848C 80240BFC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D98490 80240C00 4406B000 */ mfc1 $a2, $f22 +/* D98494 80240C04 3C073F80 */ lui $a3, 0x3f80 +/* D98498 80240C08 0C019EC8 */ jal guRotateF +/* D9849C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D984A0 80240C10 27A40020 */ addiu $a0, $sp, 0x20 +/* D984A4 80240C14 0200282D */ daddu $a1, $s0, $zero +/* D984A8 80240C18 0C019D80 */ jal guMtxCatF +/* D984AC 80240C1C 0080302D */ daddu $a2, $a0, $zero +/* D984B0 80240C20 862200B0 */ lh $v0, 0xb0($s1) +/* D984B4 80240C24 3C013F00 */ lui $at, 0x3f00 +/* D984B8 80240C28 44812000 */ mtc1 $at, $f4 +/* D984BC 80240C2C 44820000 */ mtc1 $v0, $f0 +/* D984C0 80240C30 00000000 */ nop +/* D984C4 80240C34 46800020 */ cvt.s.w $f0, $f0 +/* D984C8 80240C38 46040102 */ mul.s $f4, $f0, $f4 +/* D984CC 80240C3C 00000000 */ nop +/* D984D0 80240C40 4405B000 */ mfc1 $a1, $f22 +/* D984D4 80240C44 4407B000 */ mfc1 $a3, $f22 +/* D984D8 80240C48 44062000 */ mfc1 $a2, $f4 +/* D984DC 80240C4C 0C019E40 */ jal guTranslateF +/* D984E0 80240C50 0240202D */ daddu $a0, $s2, $zero +/* D984E4 80240C54 27A40020 */ addiu $a0, $sp, 0x20 +/* D984E8 80240C58 0240282D */ daddu $a1, $s2, $zero +/* D984EC 80240C5C 0C019D80 */ jal guMtxCatF +/* D984F0 80240C60 0080302D */ daddu $a2, $a0, $zero +/* D984F4 80240C64 3C013F36 */ lui $at, 0x3f36 +/* D984F8 80240C68 3421DB6E */ ori $at, $at, 0xdb6e +/* D984FC 80240C6C 44810000 */ mtc1 $at, $f0 +/* D98500 80240C70 0280202D */ daddu $a0, $s4, $zero +/* D98504 80240C74 44050000 */ mfc1 $a1, $f0 +/* D98508 80240C78 3C06BF36 */ lui $a2, 0xbf36 +/* D9850C 80240C7C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D98510 80240C80 0C019DF0 */ jal guScaleF +/* D98514 80240C84 00A0382D */ daddu $a3, $a1, $zero +/* D98518 80240C88 27A40020 */ addiu $a0, $sp, 0x20 +/* D9851C 80240C8C 0280282D */ daddu $a1, $s4, $zero +/* D98520 80240C90 0C019D80 */ jal guMtxCatF +/* D98524 80240C94 0080302D */ daddu $a2, $a0, $zero +/* D98528 80240C98 4600D687 */ neg.s $f26, $f26 +/* D9852C 80240C9C 4405F000 */ mfc1 $a1, $f30 +/* D98530 80240CA0 4407E000 */ mfc1 $a3, $f28 +/* D98534 80240CA4 4406D000 */ mfc1 $a2, $f26 +/* D98538 80240CA8 0C019E40 */ jal guTranslateF +/* D9853C 80240CAC 0240202D */ daddu $a0, $s2, $zero +/* D98540 80240CB0 27A40020 */ addiu $a0, $sp, 0x20 +/* D98544 80240CB4 0240282D */ daddu $a1, $s2, $zero +/* D98548 80240CB8 0C019D80 */ jal guMtxCatF +/* D9854C 80240CBC 0080302D */ daddu $a2, $a0, $zero +/* D98550 80240CC0 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D98554 80240CC4 3C0142B4 */ lui $at, 0x42b4 +/* D98558 80240CC8 44810000 */ mtc1 $at, $f0 +/* D9855C 80240CCC 00000000 */ nop +/* D98560 80240CD0 4602003E */ c.le.s $f0, $f2 +/* D98564 80240CD4 00000000 */ nop +/* D98568 80240CD8 4500000A */ bc1f .L80240D04 +/* D9856C 80240CDC 24040001 */ addiu $a0, $zero, 1 +/* D98570 80240CE0 3C014387 */ lui $at, 0x4387 +/* D98574 80240CE4 44812000 */ mtc1 $at, $f4 +/* D98578 80240CE8 00000000 */ nop +/* D9857C 80240CEC 4604103C */ c.lt.s $f2, $f4 +/* D98580 80240CF0 00000000 */ nop +/* D98584 80240CF4 45000004 */ bc1f .L80240D08 +/* D98588 80240CF8 27A20020 */ addiu $v0, $sp, 0x20 +/* D9858C 80240CFC 3C041000 */ lui $a0, 0x1000 +/* D98590 80240D00 34840001 */ ori $a0, $a0, 1 +.L80240D04: +/* D98594 80240D04 27A20020 */ addiu $v0, $sp, 0x20 +.L80240D08: +/* D98598 80240D08 AFA20010 */ sw $v0, 0x10($sp) +/* D9859C 80240D0C 0000282D */ daddu $a1, $zero, $zero +/* D985A0 80240D10 00A0302D */ daddu $a2, $a1, $zero +/* D985A4 80240D14 0C0B7710 */ jal render_sprite +/* D985A8 80240D18 00A0382D */ daddu $a3, $a1, $zero +/* D985AC 80240D1C 26730001 */ addiu $s3, $s3, 1 +/* D985B0 80240D20 2A620002 */ slti $v0, $s3, 2 +/* D985B4 80240D24 1440FEF6 */ bnez $v0, .L80240900 +/* D985B8 80240D28 00000000 */ nop +/* D985BC 80240D2C 8FBF014C */ lw $ra, 0x14c($sp) +/* D985C0 80240D30 8FB60148 */ lw $s6, 0x148($sp) +/* D985C4 80240D34 8FB50144 */ lw $s5, 0x144($sp) +/* D985C8 80240D38 8FB40140 */ lw $s4, 0x140($sp) +/* D985CC 80240D3C 8FB3013C */ lw $s3, 0x13c($sp) +/* D985D0 80240D40 8FB20138 */ lw $s2, 0x138($sp) +/* D985D4 80240D44 8FB10134 */ lw $s1, 0x134($sp) +/* D985D8 80240D48 8FB00130 */ lw $s0, 0x130($sp) +/* D985DC 80240D4C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D985E0 80240D50 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D985E4 80240D54 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D985E8 80240D58 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D985EC 80240D5C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D985F0 80240D60 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D985F4 80240D64 03E00008 */ jr $ra +/* D985F8 80240D68 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240D6C_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240D6C_D97890.s new file mode 100644 index 0000000000..3c5320ff8d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240D6C_D97890.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D6C_D985FC +/* D985FC 80240D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D98600 80240D70 AFB00010 */ sw $s0, 0x10($sp) +/* D98604 80240D74 0080802D */ daddu $s0, $a0, $zero +/* D98608 80240D78 AFBF0014 */ sw $ra, 0x14($sp) +/* D9860C 80240D7C 8E020088 */ lw $v0, 0x88($s0) +/* D98610 80240D80 14400017 */ bnez $v0, .L80240DE0 +/* D98614 80240D84 24020001 */ addiu $v0, $zero, 1 +/* D98618 80240D88 8E030084 */ lw $v1, 0x84($s0) +/* D9861C 80240D8C 1062001A */ beq $v1, $v0, .L80240DF8 +/* D98620 80240D90 00000000 */ nop +/* D98624 80240D94 28620002 */ slti $v0, $v1, 2 +/* D98628 80240D98 50400005 */ beql $v0, $zero, .L80240DB0 +/* D9862C 80240D9C 24020002 */ addiu $v0, $zero, 2 +/* D98630 80240DA0 10600007 */ beqz $v1, .L80240DC0 +/* D98634 80240DA4 00000000 */ nop +/* D98638 80240DA8 08090384 */ j .L80240E10 +/* D9863C 80240DAC 00000000 */ nop +.L80240DB0: +/* D98640 80240DB0 10620007 */ beq $v1, $v0, .L80240DD0 +/* D98644 80240DB4 00000000 */ nop +/* D98648 80240DB8 08090384 */ j .L80240E10 +/* D9864C 80240DBC 00000000 */ nop +.L80240DC0: +/* D98650 80240DC0 3C048024 */ lui $a0, 0x8024 +/* D98654 80240DC4 24840EB4 */ addiu $a0, $a0, 0xeb4 +/* D98658 80240DC8 08090380 */ j .L80240E00 +/* D9865C 80240DCC 00000000 */ nop +.L80240DD0: +/* D98660 80240DD0 3C048024 */ lui $a0, 0x8024 +/* D98664 80240DD4 24840F1C */ addiu $a0, $a0, 0xf1c +/* D98668 80240DD8 08090380 */ j .L80240E00 +/* D9866C 80240DDC 00000000 */ nop +.L80240DE0: +/* D98670 80240DE0 8E020084 */ lw $v0, 0x84($s0) +/* D98674 80240DE4 0440000A */ bltz $v0, .L80240E10 +/* D98678 80240DE8 00000000 */ nop +/* D9867C 80240DEC 28420002 */ slti $v0, $v0, 2 +/* D98680 80240DF0 10400007 */ beqz $v0, .L80240E10 +/* D98684 80240DF4 00000000 */ nop +.L80240DF8: +/* D98688 80240DF8 3C048024 */ lui $a0, 0x8024 +/* D9868C 80240DFC 24840EE8 */ addiu $a0, $a0, 0xee8 +.L80240E00: +/* D98690 80240E00 0C048C56 */ jal bind_dynamic_entity_3 +/* D98694 80240E04 0000282D */ daddu $a1, $zero, $zero +/* D98698 80240E08 8E03013C */ lw $v1, 0x13c($s0) +/* D9869C 80240E0C AC620004 */ sw $v0, 4($v1) +.L80240E10: +/* D986A0 80240E10 0C00EAD2 */ jal get_npc_safe +/* D986A4 80240E14 2404FFFC */ addiu $a0, $zero, -4 +/* D986A8 80240E18 0040282D */ daddu $a1, $v0, $zero +/* D986AC 80240E1C 10A00021 */ beqz $a1, .L80240EA4 +/* D986B0 80240E20 24020002 */ addiu $v0, $zero, 2 +/* D986B4 80240E24 8E020088 */ lw $v0, 0x88($s0) +/* D986B8 80240E28 14400014 */ bnez $v0, .L80240E7C +/* D986BC 80240E2C 24020001 */ addiu $v0, $zero, 1 +/* D986C0 80240E30 8E040084 */ lw $a0, 0x84($s0) +/* D986C4 80240E34 10820016 */ beq $a0, $v0, .L80240E90 +/* D986C8 80240E38 28820002 */ slti $v0, $a0, 2 +/* D986CC 80240E3C 10400005 */ beqz $v0, .L80240E54 +/* D986D0 80240E40 24020002 */ addiu $v0, $zero, 2 +/* D986D4 80240E44 10800007 */ beqz $a0, .L80240E64 +/* D986D8 80240E48 00000000 */ nop +/* D986DC 80240E4C 080903A9 */ j .L80240EA4 +/* D986E0 80240E50 00000000 */ nop +.L80240E54: +/* D986E4 80240E54 10820006 */ beq $a0, $v0, .L80240E70 +/* D986E8 80240E58 24020002 */ addiu $v0, $zero, 2 +/* D986EC 80240E5C 080903A9 */ j .L80240EA4 +/* D986F0 80240E60 00000000 */ nop +.L80240E64: +/* D986F4 80240E64 8CA20000 */ lw $v0, ($a1) +/* D986F8 80240E68 080903A6 */ j .L80240E98 +/* D986FC 80240E6C 3C03000A */ lui $v1, 0xa +.L80240E70: +/* D98700 80240E70 8CA20000 */ lw $v0, ($a1) +/* D98704 80240E74 080903A6 */ j .L80240E98 +/* D98708 80240E78 3C030002 */ lui $v1, 2 +.L80240E7C: +/* D9870C 80240E7C 8E020084 */ lw $v0, 0x84($s0) +/* D98710 80240E80 04400007 */ bltz $v0, .L80240EA0 +/* D98714 80240E84 28420002 */ slti $v0, $v0, 2 +/* D98718 80240E88 10400006 */ beqz $v0, .L80240EA4 +/* D9871C 80240E8C 24020002 */ addiu $v0, $zero, 2 +.L80240E90: +/* D98720 80240E90 8CA20000 */ lw $v0, ($a1) +/* D98724 80240E94 3C030008 */ lui $v1, 8 +.L80240E98: +/* D98728 80240E98 00431025 */ or $v0, $v0, $v1 +/* D9872C 80240E9C ACA20000 */ sw $v0, ($a1) +.L80240EA0: +/* D98730 80240EA0 24020002 */ addiu $v0, $zero, 2 +.L80240EA4: +/* D98734 80240EA4 8FBF0014 */ lw $ra, 0x14($sp) +/* D98738 80240EA8 8FB00010 */ lw $s0, 0x10($sp) +/* D9873C 80240EAC 03E00008 */ jr $ra +/* D98740 80240EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240EB4_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240EB4_D97890.s new file mode 100644 index 0000000000..2e97c7af1b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240EB4_D97890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB4_D98744 +/* D98744 80240EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D98748 80240EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D9874C 80240EBC 0C00EAD2 */ jal get_npc_safe +/* D98750 80240EC0 2404FFFC */ addiu $a0, $zero, -4 +/* D98754 80240EC4 0040202D */ daddu $a0, $v0, $zero +/* D98758 80240EC8 10800004 */ beqz $a0, .L80240EDC +/* D9875C 80240ECC 3C03000A */ lui $v1, 0xa +/* D98760 80240ED0 8C820000 */ lw $v0, ($a0) +/* D98764 80240ED4 00431025 */ or $v0, $v0, $v1 +/* D98768 80240ED8 AC820000 */ sw $v0, ($a0) +.L80240EDC: +/* D9876C 80240EDC 8FBF0010 */ lw $ra, 0x10($sp) +/* D98770 80240EE0 03E00008 */ jr $ra +/* D98774 80240EE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240EE8_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240EE8_D97890.s new file mode 100644 index 0000000000..b05aed2582 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240EE8_D97890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EE8_D98778 +/* D98778 80240EE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9877C 80240EEC AFBF0010 */ sw $ra, 0x10($sp) +/* D98780 80240EF0 0C00EAD2 */ jal get_npc_safe +/* D98784 80240EF4 2404FFFC */ addiu $a0, $zero, -4 +/* D98788 80240EF8 0040202D */ daddu $a0, $v0, $zero +/* D9878C 80240EFC 10800004 */ beqz $a0, .L80240F10 +/* D98790 80240F00 3C030008 */ lui $v1, 8 +/* D98794 80240F04 8C820000 */ lw $v0, ($a0) +/* D98798 80240F08 00431025 */ or $v0, $v0, $v1 +/* D9879C 80240F0C AC820000 */ sw $v0, ($a0) +.L80240F10: +/* D987A0 80240F10 8FBF0010 */ lw $ra, 0x10($sp) +/* D987A4 80240F14 03E00008 */ jr $ra +/* D987A8 80240F18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240F1C_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240F1C_D97890.s new file mode 100644 index 0000000000..c285860b83 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240F1C_D97890.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F1C_D987AC +/* D987AC 80240F1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D987B0 80240F20 AFBF0010 */ sw $ra, 0x10($sp) +/* D987B4 80240F24 0C00EAD2 */ jal get_npc_safe +/* D987B8 80240F28 2404FFFC */ addiu $a0, $zero, -4 +/* D987BC 80240F2C 0040202D */ daddu $a0, $v0, $zero +/* D987C0 80240F30 10800004 */ beqz $a0, .L80240F44 +/* D987C4 80240F34 3C030002 */ lui $v1, 2 +/* D987C8 80240F38 8C820000 */ lw $v0, ($a0) +/* D987CC 80240F3C 00431025 */ or $v0, $v0, $v1 +/* D987D0 80240F40 AC820000 */ sw $v0, ($a0) +.L80240F44: +/* D987D4 80240F44 8FBF0010 */ lw $ra, 0x10($sp) +/* D987D8 80240F48 03E00008 */ jr $ra +/* D987DC 80240F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_39/func_80240F50_D97890.s b/asm/nonmatchings/world/area_pra/pra_39/func_80240F50_D97890.s new file mode 100644 index 0000000000..08bc600713 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_39/func_80240F50_D97890.s @@ -0,0 +1,508 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_D987E0 +/* D987E0 80240F50 27BDFF88 */ addiu $sp, $sp, -0x78 +/* D987E4 80240F54 AFB3005C */ sw $s3, 0x5c($sp) +/* D987E8 80240F58 0080982D */ daddu $s3, $a0, $zero +/* D987EC 80240F5C AFBF006C */ sw $ra, 0x6c($sp) +/* D987F0 80240F60 AFB60068 */ sw $s6, 0x68($sp) +/* D987F4 80240F64 AFB50064 */ sw $s5, 0x64($sp) +/* D987F8 80240F68 AFB40060 */ sw $s4, 0x60($sp) +/* D987FC 80240F6C AFB20058 */ sw $s2, 0x58($sp) +/* D98800 80240F70 AFB10054 */ sw $s1, 0x54($sp) +/* D98804 80240F74 AFB00050 */ sw $s0, 0x50($sp) +/* D98808 80240F78 F7B40070 */ sdc1 $f20, 0x70($sp) +/* D9880C 80240F7C 8E720148 */ lw $s2, 0x148($s3) +/* D98810 80240F80 86440008 */ lh $a0, 8($s2) +/* D98814 80240F84 0C00EABB */ jal get_npc_unsafe +/* D98818 80240F88 00A0802D */ daddu $s0, $a1, $zero +/* D9881C 80240F8C 8E63000C */ lw $v1, 0xc($s3) +/* D98820 80240F90 0260202D */ daddu $a0, $s3, $zero +/* D98824 80240F94 8C650000 */ lw $a1, ($v1) +/* D98828 80240F98 0C0B1EAF */ jal get_variable +/* D9882C 80240F9C 0040882D */ daddu $s1, $v0, $zero +/* D98830 80240FA0 AFA00020 */ sw $zero, 0x20($sp) +/* D98834 80240FA4 8E4300D0 */ lw $v1, 0xd0($s2) +/* D98838 80240FA8 8C630030 */ lw $v1, 0x30($v1) +/* D9883C 80240FAC AFA30024 */ sw $v1, 0x24($sp) +/* D98840 80240FB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D98844 80240FB4 8C63001C */ lw $v1, 0x1c($v1) +/* D98848 80240FB8 AFA30028 */ sw $v1, 0x28($sp) +/* D9884C 80240FBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D98850 80240FC0 8C630024 */ lw $v1, 0x24($v1) +/* D98854 80240FC4 AFA3002C */ sw $v1, 0x2c($sp) +/* D98858 80240FC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* D9885C 80240FCC 3C158011 */ lui $s5, %hi(gPlayerStatus) +/* D98860 80240FD0 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus) +/* D98864 80240FD4 8C630028 */ lw $v1, 0x28($v1) +/* D98868 80240FD8 27B60020 */ addiu $s6, $sp, 0x20 +/* D9886C 80240FDC AFA30030 */ sw $v1, 0x30($sp) +/* D98870 80240FE0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D98874 80240FE4 3C0143FA */ lui $at, 0x43fa +/* D98878 80240FE8 44810000 */ mtc1 $at, $f0 +/* D9887C 80240FEC 8C63002C */ lw $v1, 0x2c($v1) +/* D98880 80240FF0 0040A02D */ daddu $s4, $v0, $zero +/* D98884 80240FF4 E7A00038 */ swc1 $f0, 0x38($sp) +/* D98888 80240FF8 A7A0003C */ sh $zero, 0x3c($sp) +/* D9888C 80240FFC 12000019 */ beqz $s0, .L80241064 +/* D98890 80241000 AFA30034 */ sw $v1, 0x34($sp) +/* D98894 80241004 27A50040 */ addiu $a1, $sp, 0x40 +/* D98898 80241008 27A60044 */ addiu $a2, $sp, 0x44 +/* D9889C 8024100C AE600070 */ sw $zero, 0x70($s3) +/* D988A0 80241010 A620008E */ sh $zero, 0x8e($s1) +/* D988A4 80241014 8E4200B0 */ lw $v0, 0xb0($s2) +/* D988A8 80241018 3C01447A */ lui $at, 0x447a +/* D988AC 8024101C 44810000 */ mtc1 $at, $f0 +/* D988B0 80241020 34420010 */ ori $v0, $v0, 0x10 +/* D988B4 80241024 AE4200B0 */ sw $v0, 0xb0($s2) +/* D988B8 80241028 C6220038 */ lwc1 $f2, 0x38($s1) +/* D988BC 8024102C C624003C */ lwc1 $f4, 0x3c($s1) +/* D988C0 80241030 C6260040 */ lwc1 $f6, 0x40($s1) +/* D988C4 80241034 27A2004C */ addiu $v0, $sp, 0x4c +/* D988C8 80241038 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D988CC 8024103C E7A20040 */ swc1 $f2, 0x40($sp) +/* D988D0 80241040 E7A40044 */ swc1 $f4, 0x44($sp) +/* D988D4 80241044 E7A60048 */ swc1 $f6, 0x48($sp) +/* D988D8 80241048 AFA20010 */ sw $v0, 0x10($sp) +/* D988DC 8024104C 8E240080 */ lw $a0, 0x80($s1) +/* D988E0 80241050 0C0372DF */ jal func_800DCB7C +/* D988E4 80241054 27A70048 */ addiu $a3, $sp, 0x48 +/* D988E8 80241058 C7A00044 */ lwc1 $f0, 0x44($sp) +/* D988EC 8024105C 4600028D */ trunc.w.s $f10, $f0 +/* D988F0 80241060 E64A0070 */ swc1 $f10, 0x70($s2) +.L80241064: +/* D988F4 80241064 8E4300B0 */ lw $v1, 0xb0($s2) +/* D988F8 80241068 30620004 */ andi $v0, $v1, 4 +/* D988FC 8024106C 10400007 */ beqz $v0, .L8024108C +/* D98900 80241070 00000000 */ nop +/* D98904 80241074 824200B4 */ lb $v0, 0xb4($s2) +/* D98908 80241078 1440018D */ bnez $v0, .L802416B0 +/* D9890C 8024107C 0000102D */ daddu $v0, $zero, $zero +/* D98910 80241080 2402FFFB */ addiu $v0, $zero, -5 +/* D98914 80241084 00621024 */ and $v0, $v1, $v0 +/* D98918 80241088 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024108C: +/* D9891C 8024108C 8E630070 */ lw $v1, 0x70($s3) +/* D98920 80241090 2C620010 */ sltiu $v0, $v1, 0x10 +/* D98924 80241094 10400185 */ beqz $v0, .L802416AC +/* D98928 80241098 00031080 */ sll $v0, $v1, 2 +/* D9892C 8024109C 3C018024 */ lui $at, 0x8024 +/* D98930 802410A0 00220821 */ addu $at, $at, $v0 +/* D98934 802410A4 8C2220D0 */ lw $v0, 0x20d0($at) +/* D98938 802410A8 00400008 */ jr $v0 +/* D9893C 802410AC 00000000 */ nop +/* D98940 802410B0 8E4200CC */ lw $v0, 0xcc($s2) +/* D98944 802410B4 922300A9 */ lbu $v1, 0xa9($s1) +/* D98948 802410B8 8C440000 */ lw $a0, ($v0) +/* D9894C 802410BC 8E220000 */ lw $v0, ($s1) +/* D98950 802410C0 A22300AB */ sb $v1, 0xab($s1) +/* D98954 802410C4 34420080 */ ori $v0, $v0, 0x80 +/* D98958 802410C8 AE220000 */ sw $v0, ($s1) +/* D9895C 802410CC 24020001 */ addiu $v0, $zero, 1 +/* D98960 802410D0 AE240028 */ sw $a0, 0x28($s1) +/* D98964 802410D4 AE600074 */ sw $zero, 0x74($s3) +/* D98968 802410D8 AE620070 */ sw $v0, 0x70($s3) +/* D9896C 802410DC 8E830014 */ lw $v1, 0x14($s4) +/* D98970 802410E0 04600015 */ bltz $v1, .L80241138 +/* D98974 802410E4 00000000 */ nop +/* D98978 802410E8 8E620074 */ lw $v0, 0x74($s3) +/* D9897C 802410EC 1C400011 */ bgtz $v0, .L80241134 +/* D98980 802410F0 2442FFFF */ addiu $v0, $v0, -1 +/* D98984 802410F4 02C0202D */ daddu $a0, $s6, $zero +/* D98988 802410F8 AE630074 */ sw $v1, 0x74($s3) +/* D9898C 802410FC AFA00010 */ sw $zero, 0x10($sp) +/* D98990 80241100 8E86000C */ lw $a2, 0xc($s4) +/* D98994 80241104 8E870010 */ lw $a3, 0x10($s4) +/* D98998 80241108 0C01242D */ jal func_800490B4 +/* D9899C 8024110C 0240282D */ daddu $a1, $s2, $zero +/* D989A0 80241110 10400006 */ beqz $v0, .L8024112C +/* D989A4 80241114 0220202D */ daddu $a0, $s1, $zero +/* D989A8 80241118 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D989AC 8024111C 0C012530 */ jal func_800494C0 +/* D989B0 80241120 3C060020 */ lui $a2, 0x20 +/* D989B4 80241124 2402000A */ addiu $v0, $zero, 0xa +/* D989B8 80241128 AE620070 */ sw $v0, 0x70($s3) +.L8024112C: +/* D989BC 8024112C 8E620074 */ lw $v0, 0x74($s3) +/* D989C0 80241130 2442FFFF */ addiu $v0, $v0, -1 +.L80241134: +/* D989C4 80241134 AE620074 */ sw $v0, 0x74($s3) +.L80241138: +/* D989C8 80241138 8E630070 */ lw $v1, 0x70($s3) +/* D989CC 8024113C 2402000A */ addiu $v0, $zero, 0xa +/* D989D0 80241140 1462015B */ bne $v1, $v0, .L802416B0 +/* D989D4 80241144 0000102D */ daddu $v0, $zero, $zero +/* D989D8 80241148 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D989DC 8024114C 8E4200CC */ lw $v0, 0xcc($s2) +/* D989E0 80241150 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D989E4 80241154 8C42000C */ lw $v0, 0xc($v0) +/* D989E8 80241158 AE220028 */ sw $v0, 0x28($s1) +/* D989EC 8024115C 8EA60028 */ lw $a2, 0x28($s5) +/* D989F0 80241160 0C00A720 */ jal atan2 +/* D989F4 80241164 8EA70030 */ lw $a3, 0x30($s5) +/* D989F8 80241168 3C013FA6 */ lui $at, 0x3fa6 +/* D989FC 8024116C 34216666 */ ori $at, $at, 0x6666 +/* D98A00 80241170 44811000 */ mtc1 $at, $f2 +/* D98A04 80241174 27A50040 */ addiu $a1, $sp, 0x40 +/* D98A08 80241178 E6200010 */ swc1 $f0, 0x10($s1) +/* D98A0C 8024117C C6200038 */ lwc1 $f0, 0x38($s1) +/* D98A10 80241180 C6240040 */ lwc1 $f4, 0x40($s1) +/* D98A14 80241184 3C01447A */ lui $at, 0x447a +/* D98A18 80241188 44813000 */ mtc1 $at, $f6 +/* D98A1C 8024118C 27A60044 */ addiu $a2, $sp, 0x44 +/* D98A20 80241190 AE20001C */ sw $zero, 0x1c($s1) +/* D98A24 80241194 E6220014 */ swc1 $f2, 0x14($s1) +/* D98A28 80241198 C6880000 */ lwc1 $f8, ($s4) +/* D98A2C 8024119C C622003C */ lwc1 $f2, 0x3c($s1) +/* D98A30 802411A0 27A2004C */ addiu $v0, $sp, 0x4c +/* D98A34 802411A4 E7A00040 */ swc1 $f0, 0x40($sp) +/* D98A38 802411A8 E7A40048 */ swc1 $f4, 0x48($sp) +/* D98A3C 802411AC E7A6004C */ swc1 $f6, 0x4c($sp) +/* D98A40 802411B0 E7A20044 */ swc1 $f2, 0x44($sp) +/* D98A44 802411B4 E6280018 */ swc1 $f8, 0x18($s1) +/* D98A48 802411B8 AFA20010 */ sw $v0, 0x10($sp) +/* D98A4C 802411BC 8E240080 */ lw $a0, 0x80($s1) +/* D98A50 802411C0 0C0372DF */ jal func_800DCB7C +/* D98A54 802411C4 27A70048 */ addiu $a3, $sp, 0x48 +/* D98A58 802411C8 10400010 */ beqz $v0, .L8024120C +/* D98A5C 802411CC 00000000 */ nop +/* D98A60 802411D0 C620003C */ lwc1 $f0, 0x3c($s1) +/* D98A64 802411D4 C6440070 */ lwc1 $f4, 0x70($s2) +/* D98A68 802411D8 46802120 */ cvt.s.w $f4, $f4 +/* D98A6C 802411DC 46040001 */ sub.s $f0, $f0, $f4 +/* D98A70 802411E0 3C018024 */ lui $at, 0x8024 +/* D98A74 802411E4 D4222110 */ ldc1 $f2, 0x2110($at) +/* D98A78 802411E8 46000021 */ cvt.d.s $f0, $f0 +/* D98A7C 802411EC 46220002 */ mul.d $f0, $f0, $f2 +/* D98A80 802411F0 00000000 */ nop +/* D98A84 802411F4 460020A1 */ cvt.d.s $f2, $f4 +/* D98A88 802411F8 46201080 */ add.d $f2, $f2, $f0 +/* D98A8C 802411FC E7A40044 */ swc1 $f4, 0x44($sp) +/* D98A90 80241200 462010A0 */ cvt.s.d $f2, $f2 +/* D98A94 80241204 0809048F */ j .L8024123C +/* D98A98 80241208 E6220064 */ swc1 $f2, 0x64($s1) +.L8024120C: +/* D98A9C 8024120C C6A0002C */ lwc1 $f0, 0x2c($s5) +/* D98AA0 80241210 C622003C */ lwc1 $f2, 0x3c($s1) +/* D98AA4 80241214 46001081 */ sub.s $f2, $f2, $f0 +/* D98AA8 80241218 3C018024 */ lui $at, 0x8024 +/* D98AAC 8024121C D4242118 */ ldc1 $f4, 0x2118($at) +/* D98AB0 80241220 460010A1 */ cvt.d.s $f2, $f2 +/* D98AB4 80241224 46241082 */ mul.d $f2, $f2, $f4 +/* D98AB8 80241228 00000000 */ nop +/* D98ABC 8024122C 46000021 */ cvt.d.s $f0, $f0 +/* D98AC0 80241230 46220000 */ add.d $f0, $f0, $f2 +/* D98AC4 80241234 46200020 */ cvt.s.d $f0, $f0 +/* D98AC8 80241238 E6200064 */ swc1 $f0, 0x64($s1) +.L8024123C: +/* D98ACC 8024123C C620003C */ lwc1 $f0, 0x3c($s1) +/* D98AD0 80241240 2402000B */ addiu $v0, $zero, 0xb +/* D98AD4 80241244 E6200068 */ swc1 $f0, 0x68($s1) +/* D98AD8 80241248 AE620070 */ sw $v0, 0x70($s3) +/* D98ADC 8024124C C6200018 */ lwc1 $f0, 0x18($s1) +/* D98AE0 80241250 44801000 */ mtc1 $zero, $f2 +/* D98AE4 80241254 44801800 */ mtc1 $zero, $f3 +/* D98AE8 80241258 46000021 */ cvt.d.s $f0, $f0 +/* D98AEC 8024125C 4620103C */ c.lt.d $f2, $f0 +/* D98AF0 80241260 00000000 */ nop +/* D98AF4 80241264 45000025 */ bc1f .L802412FC +/* D98AF8 80241268 27A50040 */ addiu $a1, $sp, 0x40 +/* D98AFC 8024126C C6200038 */ lwc1 $f0, 0x38($s1) +/* D98B00 80241270 C622003C */ lwc1 $f2, 0x3c($s1) +/* D98B04 80241274 C6240040 */ lwc1 $f4, 0x40($s1) +/* D98B08 80241278 C6260018 */ lwc1 $f6, 0x18($s1) +/* D98B0C 8024127C E7A00040 */ swc1 $f0, 0x40($sp) +/* D98B10 80241280 E7A20044 */ swc1 $f2, 0x44($sp) +/* D98B14 80241284 E7A40048 */ swc1 $f4, 0x48($sp) +/* D98B18 80241288 E7A60010 */ swc1 $f6, 0x10($sp) +/* D98B1C 8024128C C620000C */ lwc1 $f0, 0xc($s1) +/* D98B20 80241290 E7A00014 */ swc1 $f0, 0x14($sp) +/* D98B24 80241294 862200A8 */ lh $v0, 0xa8($s1) +/* D98B28 80241298 44820000 */ mtc1 $v0, $f0 +/* D98B2C 8024129C 00000000 */ nop +/* D98B30 802412A0 46800020 */ cvt.s.w $f0, $f0 +/* D98B34 802412A4 E7A00018 */ swc1 $f0, 0x18($sp) +/* D98B38 802412A8 862200A6 */ lh $v0, 0xa6($s1) +/* D98B3C 802412AC 27A60044 */ addiu $a2, $sp, 0x44 +/* D98B40 802412B0 44820000 */ mtc1 $v0, $f0 +/* D98B44 802412B4 00000000 */ nop +/* D98B48 802412B8 46800020 */ cvt.s.w $f0, $f0 +/* D98B4C 802412BC E7A0001C */ swc1 $f0, 0x1c($sp) +/* D98B50 802412C0 8E240080 */ lw $a0, 0x80($s1) +/* D98B54 802412C4 0C037711 */ jal func_800DDC44 +/* D98B58 802412C8 27A70048 */ addiu $a3, $sp, 0x48 +/* D98B5C 802412CC 54400001 */ bnel $v0, $zero, .L802412D4 +/* D98B60 802412D0 AE200018 */ sw $zero, 0x18($s1) +.L802412D4: +/* D98B64 802412D4 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D98B68 802412D8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D98B6C 802412DC 8EA60028 */ lw $a2, 0x28($s5) +/* D98B70 802412E0 0C00A720 */ jal atan2 +/* D98B74 802412E4 8EA70030 */ lw $a3, 0x30($s5) +/* D98B78 802412E8 8E250018 */ lw $a1, 0x18($s1) +/* D98B7C 802412EC 44060000 */ mfc1 $a2, $f0 +/* D98B80 802412F0 0220202D */ daddu $a0, $s1, $zero +/* D98B84 802412F4 0C00EA95 */ jal npc_move_heading +/* D98B88 802412F8 AE26000C */ sw $a2, 0xc($s1) +.L802412FC: +/* D98B8C 802412FC C620001C */ lwc1 $f0, 0x1c($s1) +/* D98B90 80241300 C6220014 */ lwc1 $f2, 0x14($s1) +/* D98B94 80241304 46020001 */ sub.s $f0, $f0, $f2 +/* D98B98 80241308 C622003C */ lwc1 $f2, 0x3c($s1) +/* D98B9C 8024130C C6240064 */ lwc1 $f4, 0x64($s1) +/* D98BA0 80241310 46001080 */ add.s $f2, $f2, $f0 +/* D98BA4 80241314 E620001C */ swc1 $f0, 0x1c($s1) +/* D98BA8 80241318 4604103C */ c.lt.s $f2, $f4 +/* D98BAC 8024131C 00000000 */ nop +/* D98BB0 80241320 450000E2 */ bc1f .L802416AC +/* D98BB4 80241324 E622003C */ swc1 $f2, 0x3c($s1) +/* D98BB8 80241328 2402000C */ addiu $v0, $zero, 0xc +/* D98BBC 8024132C E624003C */ swc1 $f4, 0x3c($s1) +/* D98BC0 80241330 AE620070 */ sw $v0, 0x70($s3) +/* D98BC4 80241334 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D98BC8 80241338 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D98BCC 8024133C 8EA60028 */ lw $a2, 0x28($s5) +/* D98BD0 80241340 0C00A7B5 */ jal dist2D +/* D98BD4 80241344 8EA70030 */ lw $a3, 0x30($s5) +/* D98BD8 80241348 3C014270 */ lui $at, 0x4270 +/* D98BDC 8024134C 44811000 */ mtc1 $at, $f2 +/* D98BE0 80241350 00000000 */ nop +/* D98BE4 80241354 4602003C */ c.lt.s $f0, $f2 +/* D98BE8 80241358 00000000 */ nop +/* D98BEC 8024135C 45000002 */ bc1f .L80241368 +/* D98BF0 80241360 E6200010 */ swc1 $f0, 0x10($s1) +/* D98BF4 80241364 E6220010 */ swc1 $f2, 0x10($s1) +.L80241368: +/* D98BF8 80241368 C6860018 */ lwc1 $f6, 0x18($s4) +/* D98BFC 8024136C C6400070 */ lwc1 $f0, 0x70($s2) +/* D98C00 80241370 46800020 */ cvt.s.w $f0, $f0 +/* D98C04 80241374 E7A00044 */ swc1 $f0, 0x44($sp) +/* D98C08 80241378 46000021 */ cvt.d.s $f0, $f0 +/* D98C0C 8024137C C6240010 */ lwc1 $f4, 0x10($s1) +/* D98C10 80241380 3C014024 */ lui $at, 0x4024 +/* D98C14 80241384 44811800 */ mtc1 $at, $f3 +/* D98C18 80241388 44801000 */ mtc1 $zero, $f2 +/* D98C1C 8024138C 46062103 */ div.s $f4, $f4, $f6 +/* D98C20 80241390 46220000 */ add.d $f0, $f0, $f2 +/* D98C24 80241394 C622003C */ lwc1 $f2, 0x3c($s1) +/* D98C28 80241398 4600228D */ trunc.w.s $f10, $f4 +/* D98C2C 8024139C 44025000 */ mfc1 $v0, $f10 +/* D98C30 802413A0 00000000 */ nop +/* D98C34 802413A4 A622008E */ sh $v0, 0x8e($s1) +/* D98C38 802413A8 460010A1 */ cvt.d.s $f2, $f2 +/* D98C3C 802413AC 46220001 */ sub.d $f0, $f0, $f2 +/* D98C40 802413B0 00021400 */ sll $v0, $v0, 0x10 +/* D98C44 802413B4 E6260018 */ swc1 $f6, 0x18($s1) +/* D98C48 802413B8 14400003 */ bnez $v0, .L802413C8 +/* D98C4C 802413BC 46200120 */ cvt.s.d $f4, $f0 +/* D98C50 802413C0 24020001 */ addiu $v0, $zero, 1 +/* D98C54 802413C4 A622008E */ sh $v0, 0x8e($s1) +.L802413C8: +/* D98C58 802413C8 8622008E */ lh $v0, 0x8e($s1) +/* D98C5C 802413CC C620001C */ lwc1 $f0, 0x1c($s1) +/* D98C60 802413D0 44821000 */ mtc1 $v0, $f2 +/* D98C64 802413D4 00000000 */ nop +/* D98C68 802413D8 468010A0 */ cvt.s.w $f2, $f2 +/* D98C6C 802413DC 46000007 */ neg.s $f0, $f0 +/* D98C70 802413E0 46020002 */ mul.s $f0, $f0, $f2 +/* D98C74 802413E4 00000000 */ nop +/* D98C78 802413E8 00420018 */ mult $v0, $v0 +/* D98C7C 802413EC 8E230000 */ lw $v1, ($s1) +/* D98C80 802413F0 46040000 */ add.s $f0, $f0, $f4 +/* D98C84 802413F4 A22000AB */ sb $zero, 0xab($s1) +/* D98C88 802413F8 2402FF7F */ addiu $v0, $zero, -0x81 +/* D98C8C 802413FC 00004012 */ mflo $t0 +/* D98C90 80241400 00621824 */ and $v1, $v1, $v0 +/* D98C94 80241404 24020005 */ addiu $v0, $zero, 5 +/* D98C98 80241408 46000000 */ add.s $f0, $f0, $f0 +/* D98C9C 8024140C AE230000 */ sw $v1, ($s1) +/* D98CA0 80241410 44881000 */ mtc1 $t0, $f2 +/* D98CA4 80241414 00000000 */ nop +/* D98CA8 80241418 468010A0 */ cvt.s.w $f2, $f2 +/* D98CAC 8024141C 46000007 */ neg.s $f0, $f0 +/* D98CB0 80241420 46020003 */ div.s $f0, $f0, $f2 +/* D98CB4 80241424 46000005 */ abs.s $f0, $f0 +/* D98CB8 80241428 46000007 */ neg.s $f0, $f0 +/* D98CBC 8024142C E6200014 */ swc1 $f0, 0x14($s1) +/* D98CC0 80241430 AE42006C */ sw $v0, 0x6c($s2) +/* D98CC4 80241434 2402000D */ addiu $v0, $zero, 0xd +/* D98CC8 80241438 A620008E */ sh $zero, 0x8e($s1) +/* D98CCC 8024143C AE620070 */ sw $v0, 0x70($s3) +/* D98CD0 80241440 C620001C */ lwc1 $f0, 0x1c($s1) +/* D98CD4 80241444 C6220014 */ lwc1 $f2, 0x14($s1) +/* D98CD8 80241448 46020001 */ sub.s $f0, $f0, $f2 +/* D98CDC 8024144C 4480A000 */ mtc1 $zero, $f20 +/* D98CE0 80241450 00000000 */ nop +/* D98CE4 80241454 4614003C */ c.lt.s $f0, $f20 +/* D98CE8 80241458 00000000 */ nop +/* D98CEC 8024145C 45000012 */ bc1f .L802414A8 +/* D98CF0 80241460 E620001C */ swc1 $f0, 0x1c($s1) +/* D98CF4 80241464 27A50040 */ addiu $a1, $sp, 0x40 +/* D98CF8 80241468 27A60044 */ addiu $a2, $sp, 0x44 +/* D98CFC 8024146C 27A2004C */ addiu $v0, $sp, 0x4c +/* D98D00 80241470 C6220038 */ lwc1 $f2, 0x38($s1) +/* D98D04 80241474 C624003C */ lwc1 $f4, 0x3c($s1) +/* D98D08 80241478 C6260040 */ lwc1 $f6, 0x40($s1) +/* D98D0C 8024147C 46000007 */ neg.s $f0, $f0 +/* D98D10 80241480 E7A0004C */ swc1 $f0, 0x4c($sp) +/* D98D14 80241484 E7A20040 */ swc1 $f2, 0x40($sp) +/* D98D18 80241488 E7A40044 */ swc1 $f4, 0x44($sp) +/* D98D1C 8024148C E7A60048 */ swc1 $f6, 0x48($sp) +/* D98D20 80241490 AFA20010 */ sw $v0, 0x10($sp) +/* D98D24 80241494 8E240080 */ lw $a0, 0x80($s1) +/* D98D28 80241498 0C0372DF */ jal func_800DCB7C +/* D98D2C 8024149C 27A70048 */ addiu $a3, $sp, 0x48 +/* D98D30 802414A0 54400001 */ bnel $v0, $zero, .L802414A8 +/* D98D34 802414A4 E634001C */ swc1 $f20, 0x1c($s1) +.L802414A8: +/* D98D38 802414A8 C624003C */ lwc1 $f4, 0x3c($s1) +/* D98D3C 802414AC C620001C */ lwc1 $f0, 0x1c($s1) +/* D98D40 802414B0 46002100 */ add.s $f4, $f4, $f0 +/* D98D44 802414B4 C6200018 */ lwc1 $f0, 0x18($s1) +/* D98D48 802414B8 44801000 */ mtc1 $zero, $f2 +/* D98D4C 802414BC 44801800 */ mtc1 $zero, $f3 +/* D98D50 802414C0 46000021 */ cvt.d.s $f0, $f0 +/* D98D54 802414C4 4620103C */ c.lt.d $f2, $f0 +/* D98D58 802414C8 00000000 */ nop +/* D98D5C 802414CC 45000057 */ bc1f .L8024162C +/* D98D60 802414D0 E624003C */ swc1 $f4, 0x3c($s1) +/* D98D64 802414D4 46002086 */ mov.s $f2, $f4 +/* D98D68 802414D8 C6200038 */ lwc1 $f0, 0x38($s1) +/* D98D6C 802414DC C6240040 */ lwc1 $f4, 0x40($s1) +/* D98D70 802414E0 C6260018 */ lwc1 $f6, 0x18($s1) +/* D98D74 802414E4 E7A20044 */ swc1 $f2, 0x44($sp) +/* D98D78 802414E8 E7A00040 */ swc1 $f0, 0x40($sp) +/* D98D7C 802414EC E7A40048 */ swc1 $f4, 0x48($sp) +/* D98D80 802414F0 E7A60010 */ swc1 $f6, 0x10($sp) +/* D98D84 802414F4 C620000C */ lwc1 $f0, 0xc($s1) +/* D98D88 802414F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* D98D8C 802414FC 862200A8 */ lh $v0, 0xa8($s1) +/* D98D90 80241500 27A50040 */ addiu $a1, $sp, 0x40 +/* D98D94 80241504 44820000 */ mtc1 $v0, $f0 +/* D98D98 80241508 00000000 */ nop +/* D98D9C 8024150C 46800020 */ cvt.s.w $f0, $f0 +/* D98DA0 80241510 E7A00018 */ swc1 $f0, 0x18($sp) +/* D98DA4 80241514 862200A6 */ lh $v0, 0xa6($s1) +/* D98DA8 80241518 27A60044 */ addiu $a2, $sp, 0x44 +/* D98DAC 8024151C 44820000 */ mtc1 $v0, $f0 +/* D98DB0 80241520 00000000 */ nop +/* D98DB4 80241524 46800020 */ cvt.s.w $f0, $f0 +/* D98DB8 80241528 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D98DBC 8024152C 8E240080 */ lw $a0, 0x80($s1) +/* D98DC0 80241530 0C037711 */ jal func_800DDC44 +/* D98DC4 80241534 27A70048 */ addiu $a3, $sp, 0x48 +/* D98DC8 80241538 10400003 */ beqz $v0, .L80241548 +/* D98DCC 8024153C 00000000 */ nop +/* D98DD0 80241540 08090587 */ j .L8024161C +/* D98DD4 80241544 AE200018 */ sw $zero, 0x18($s1) +.L80241548: +/* D98DD8 80241548 C620001C */ lwc1 $f0, 0x1c($s1) +/* D98DDC 8024154C 3C01C004 */ lui $at, 0xc004 +/* D98DE0 80241550 44811800 */ mtc1 $at, $f3 +/* D98DE4 80241554 44801000 */ mtc1 $zero, $f2 +/* D98DE8 80241558 46000021 */ cvt.d.s $f0, $f0 +/* D98DEC 8024155C 4622003C */ c.lt.d $f0, $f2 +/* D98DF0 80241560 00000000 */ nop +/* D98DF4 80241564 4500002D */ bc1f .L8024161C +/* D98DF8 80241568 00000000 */ nop +/* D98DFC 8024156C 9622008E */ lhu $v0, 0x8e($s1) +/* D98E00 80241570 24420001 */ addiu $v0, $v0, 1 +/* D98E04 80241574 A622008E */ sh $v0, 0x8e($s1) +/* D98E08 80241578 00021400 */ sll $v0, $v0, 0x10 +/* D98E0C 8024157C 8E830020 */ lw $v1, 0x20($s4) +/* D98E10 80241580 00021403 */ sra $v0, $v0, 0x10 +/* D98E14 80241584 0043102A */ slt $v0, $v0, $v1 +/* D98E18 80241588 14400024 */ bnez $v0, .L8024161C +/* D98E1C 8024158C 00000000 */ nop +/* D98E20 80241590 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D98E24 80241594 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D98E28 80241598 8EA60028 */ lw $a2, 0x28($s5) +/* D98E2C 8024159C 0C00A720 */ jal atan2 +/* D98E30 802415A0 8EA70030 */ lw $a3, 0x30($s5) +/* D98E34 802415A4 46000506 */ mov.s $f20, $f0 +/* D98E38 802415A8 C62C000C */ lwc1 $f12, 0xc($s1) +/* D98E3C 802415AC 0C00A70A */ jal get_clamped_angle_diff +/* D98E40 802415B0 4600A386 */ mov.s $f14, $f20 +/* D98E44 802415B4 46000086 */ mov.s $f2, $f0 +/* D98E48 802415B8 8E82001C */ lw $v0, 0x1c($s4) +/* D98E4C 802415BC 46001005 */ abs.s $f0, $f2 +/* D98E50 802415C0 44822000 */ mtc1 $v0, $f4 +/* D98E54 802415C4 00000000 */ nop +/* D98E58 802415C8 46802120 */ cvt.s.w $f4, $f4 +/* D98E5C 802415CC 4600203C */ c.lt.s $f4, $f0 +/* D98E60 802415D0 00000000 */ nop +/* D98E64 802415D4 4500000D */ bc1f .L8024160C +/* D98E68 802415D8 00000000 */ nop +/* D98E6C 802415DC 44800000 */ mtc1 $zero, $f0 +/* D98E70 802415E0 C634000C */ lwc1 $f20, 0xc($s1) +/* D98E74 802415E4 4600103C */ c.lt.s $f2, $f0 +/* D98E78 802415E8 00000000 */ nop +/* D98E7C 802415EC 45000006 */ bc1f .L80241608 +/* D98E80 802415F0 00021023 */ negu $v0, $v0 +/* D98E84 802415F4 44820000 */ mtc1 $v0, $f0 +/* D98E88 802415F8 00000000 */ nop +/* D98E8C 802415FC 46800020 */ cvt.s.w $f0, $f0 +/* D98E90 80241600 08090583 */ j .L8024160C +/* D98E94 80241604 4600A500 */ add.s $f20, $f20, $f0 +.L80241608: +/* D98E98 80241608 4604A500 */ add.s $f20, $f20, $f4 +.L8024160C: +/* D98E9C 8024160C 0C00A6C9 */ jal clamp_angle +/* D98EA0 80241610 4600A306 */ mov.s $f12, $f20 +/* D98EA4 80241614 E620000C */ swc1 $f0, 0xc($s1) +/* D98EA8 80241618 A620008E */ sh $zero, 0x8e($s1) +.L8024161C: +/* D98EAC 8024161C 8E250018 */ lw $a1, 0x18($s1) +/* D98EB0 80241620 8E26000C */ lw $a2, 0xc($s1) +/* D98EB4 80241624 0C00EA95 */ jal npc_move_heading +/* D98EB8 80241628 0220202D */ daddu $a0, $s1, $zero +.L8024162C: +/* D98EBC 8024162C 8E42006C */ lw $v0, 0x6c($s2) +/* D98EC0 80241630 2442FFFF */ addiu $v0, $v0, -1 +/* D98EC4 80241634 1C400003 */ bgtz $v0, .L80241644 +/* D98EC8 80241638 AE42006C */ sw $v0, 0x6c($s2) +/* D98ECC 8024163C 24020005 */ addiu $v0, $zero, 5 +/* D98ED0 80241640 AE42006C */ sw $v0, 0x6c($s2) +.L80241644: +/* D98ED4 80241644 C620003C */ lwc1 $f0, 0x3c($s1) +/* D98ED8 80241648 C6220068 */ lwc1 $f2, 0x68($s1) +/* D98EDC 8024164C 4600103C */ c.lt.s $f2, $f0 +/* D98EE0 80241650 00000000 */ nop +/* D98EE4 80241654 45000015 */ bc1f .L802416AC +/* D98EE8 80241658 2402000E */ addiu $v0, $zero, 0xe +/* D98EEC 8024165C E622003C */ swc1 $f2, 0x3c($s1) +/* D98EF0 80241660 AE620070 */ sw $v0, 0x70($s3) +/* D98EF4 80241664 8E4200CC */ lw $v0, 0xcc($s2) +/* D98EF8 80241668 922300A9 */ lbu $v1, 0xa9($s1) +/* D98EFC 8024166C 8C440020 */ lw $a0, 0x20($v0) +/* D98F00 80241670 8E220000 */ lw $v0, ($s1) +/* D98F04 80241674 A22300AB */ sb $v1, 0xab($s1) +/* D98F08 80241678 34420080 */ ori $v0, $v0, 0x80 +/* D98F0C 8024167C AE220000 */ sw $v0, ($s1) +/* D98F10 80241680 2402000F */ addiu $v0, $zero, 0xf +/* D98F14 80241684 A622008E */ sh $v0, 0x8e($s1) +/* D98F18 80241688 2402000F */ addiu $v0, $zero, 0xf +/* D98F1C 8024168C AE240028 */ sw $a0, 0x28($s1) +/* D98F20 80241690 AE620070 */ sw $v0, 0x70($s3) +/* D98F24 80241694 9622008E */ lhu $v0, 0x8e($s1) +/* D98F28 80241698 2442FFFF */ addiu $v0, $v0, -1 +/* D98F2C 8024169C A622008E */ sh $v0, 0x8e($s1) +/* D98F30 802416A0 00021400 */ sll $v0, $v0, 0x10 +/* D98F34 802416A4 58400001 */ blezl $v0, .L802416AC +/* D98F38 802416A8 AE600070 */ sw $zero, 0x70($s3) +.L802416AC: +/* D98F3C 802416AC 0000102D */ daddu $v0, $zero, $zero +.L802416B0: +/* D98F40 802416B0 8FBF006C */ lw $ra, 0x6c($sp) +/* D98F44 802416B4 8FB60068 */ lw $s6, 0x68($sp) +/* D98F48 802416B8 8FB50064 */ lw $s5, 0x64($sp) +/* D98F4C 802416BC 8FB40060 */ lw $s4, 0x60($sp) +/* D98F50 802416C0 8FB3005C */ lw $s3, 0x5c($sp) +/* D98F54 802416C4 8FB20058 */ lw $s2, 0x58($sp) +/* D98F58 802416C8 8FB10054 */ lw $s1, 0x54($sp) +/* D98F5C 802416CC 8FB00050 */ lw $s0, 0x50($sp) +/* D98F60 802416D0 D7B40070 */ ldc1 $f20, 0x70($sp) +/* D98F64 802416D4 03E00008 */ jr $ra +/* D98F68 802416D8 27BD0078 */ addiu $sp, $sp, 0x78 +/* D98F6C 802416DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240000_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240000_D999B0.s new file mode 100644 index 0000000000..a539761336 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240000_D999B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D999B0 +/* D999B0 80240000 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D999B4 80240004 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D999B8 80240008 24020001 */ addiu $v0, $zero, 1 +/* D999BC 8024000C A0620084 */ sb $v0, 0x84($v1) +/* D999C0 80240010 03E00008 */ jr $ra +/* D999C4 80240014 0000102D */ daddu $v0, $zero, $zero +/* D999C8 80240018 00000000 */ nop +/* D999CC 8024001C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240020_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240020_D999B0.s new file mode 100644 index 0000000000..dbc6d0a3d0 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240020_D999B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D999D0 +/* D999D0 80240020 3C02FEFF */ lui $v0, 0xfeff +/* D999D4 80240024 3442FFFF */ ori $v0, $v0, 0xffff +/* D999D8 80240028 00822024 */ and $a0, $a0, $v0 +/* D999DC 8024002C 3C02FFF9 */ lui $v0, 0xfff9 +/* D999E0 80240030 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D999E4 80240034 00821821 */ addu $v1, $a0, $v0 +/* D999E8 80240038 2C620010 */ sltiu $v0, $v1, 0x10 +/* D999EC 8024003C 10400003 */ beqz $v0, .L8024004C +/* D999F0 80240040 30620001 */ andi $v0, $v1, 1 +/* D999F4 80240044 54400001 */ bnel $v0, $zero, .L8024004C +/* D999F8 80240048 2484FFFF */ addiu $a0, $a0, -1 +.L8024004C: +/* D999FC 8024004C 03E00008 */ jr $ra +/* D99A00 80240050 0080102D */ daddu $v0, $a0, $zero diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240054_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240054_D999B0.s new file mode 100644 index 0000000000..fb3432309e --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240054_D999B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240054_D99A04 +/* D99A04 80240054 00041403 */ sra $v0, $a0, 0x10 +/* D99A08 80240058 304300FF */ andi $v1, $v0, 0xff +/* D99A0C 8024005C 24020006 */ addiu $v0, $zero, 6 +/* D99A10 80240060 10620015 */ beq $v1, $v0, .L802400B8 +/* D99A14 80240064 28620007 */ slti $v0, $v1, 7 +/* D99A18 80240068 10400005 */ beqz $v0, .L80240080 +/* D99A1C 8024006C 24020001 */ addiu $v0, $zero, 1 +/* D99A20 80240070 1062000A */ beq $v1, $v0, .L8024009C +/* D99A24 80240074 3C020100 */ lui $v0, 0x100 +/* D99A28 80240078 03E00008 */ jr $ra +/* D99A2C 8024007C 00821025 */ or $v0, $a0, $v0 +.L80240080: +/* D99A30 80240080 2862000A */ slti $v0, $v1, 0xa +/* D99A34 80240084 10400016 */ beqz $v0, .L802400E0 +/* D99A38 80240088 28620008 */ slti $v0, $v1, 8 +/* D99A3C 8024008C 14400015 */ bnez $v0, .L802400E4 +/* D99A40 80240090 3C020100 */ lui $v0, 0x100 +/* D99A44 80240094 03E00008 */ jr $ra +/* D99A48 80240098 0080102D */ daddu $v0, $a0, $zero +.L8024009C: +/* D99A4C 8024009C 3C020001 */ lui $v0, 1 +/* D99A50 802400A0 3442000C */ ori $v0, $v0, 0xc +/* D99A54 802400A4 0044102A */ slt $v0, $v0, $a0 +/* D99A58 802400A8 1040000E */ beqz $v0, .L802400E4 +/* D99A5C 802400AC 3C020100 */ lui $v0, 0x100 +.L802400B0: +/* D99A60 802400B0 03E00008 */ jr $ra +/* D99A64 802400B4 0080102D */ daddu $v0, $a0, $zero +.L802400B8: +/* D99A68 802400B8 3C02FFF9 */ lui $v0, 0xfff9 +/* D99A6C 802400BC 3442FFF4 */ ori $v0, $v0, 0xfff4 +/* D99A70 802400C0 00821821 */ addu $v1, $a0, $v0 +/* D99A74 802400C4 2C620010 */ sltiu $v0, $v1, 0x10 +/* D99A78 802400C8 10400005 */ beqz $v0, .L802400E0 +/* D99A7C 802400CC 30620001 */ andi $v0, $v1, 1 +/* D99A80 802400D0 1440FFF7 */ bnez $v0, .L802400B0 +/* D99A84 802400D4 24820001 */ addiu $v0, $a0, 1 +/* D99A88 802400D8 03E00008 */ jr $ra +/* D99A8C 802400DC 00000000 */ nop +.L802400E0: +/* D99A90 802400E0 3C020100 */ lui $v0, 0x100 +.L802400E4: +/* D99A94 802400E4 03E00008 */ jr $ra +/* D99A98 802400E8 00821025 */ or $v0, $a0, $v0 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_802400EC_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_802400EC_D999B0.s new file mode 100644 index 0000000000..8dbca5517d --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_802400EC_D999B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400EC_D99A9C +/* D99A9C 802400EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D99AA0 802400F0 AFB00010 */ sw $s0, 0x10($sp) +/* D99AA4 802400F4 0080802D */ daddu $s0, $a0, $zero +/* D99AA8 802400F8 3C058024 */ lui $a1, 0x8024 +/* D99AAC 802400FC 24A50128 */ addiu $a1, $a1, 0x128 +/* D99AB0 80240100 AFBF0014 */ sw $ra, 0x14($sp) +/* D99AB4 80240104 0C048C56 */ jal bind_dynamic_entity_3 +/* D99AB8 80240108 0000202D */ daddu $a0, $zero, $zero +/* D99ABC 8024010C 8E03013C */ lw $v1, 0x13c($s0) +/* D99AC0 80240110 AC620000 */ sw $v0, ($v1) +/* D99AC4 80240114 8FBF0014 */ lw $ra, 0x14($sp) +/* D99AC8 80240118 8FB00010 */ lw $s0, 0x10($sp) +/* D99ACC 8024011C 24020002 */ addiu $v0, $zero, 2 +/* D99AD0 80240120 03E00008 */ jr $ra +/* D99AD4 80240124 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240128_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240128_D999B0.s new file mode 100644 index 0000000000..4f73fffffb --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240128_D999B0.s @@ -0,0 +1,125 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240128_D99AD8 +/* D99AD8 80240128 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D99ADC 8024012C AFB00040 */ sw $s0, 0x40($sp) +/* D99AE0 80240130 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D99AE4 80240134 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D99AE8 80240138 AFB20048 */ sw $s2, 0x48($sp) +/* D99AEC 8024013C AFBF004C */ sw $ra, 0x4c($sp) +/* D99AF0 80240140 AFB10044 */ sw $s1, 0x44($sp) +/* D99AF4 80240144 8E020000 */ lw $v0, ($s0) +/* D99AF8 80240148 821100BE */ lb $s1, 0xbe($s0) +/* D99AFC 8024014C 30420001 */ andi $v0, $v0, 1 +/* D99B00 80240150 10400061 */ beqz $v0, .L802402D8 +/* D99B04 80240154 27B20020 */ addiu $s2, $sp, 0x20 +/* D99B08 80240158 8E0400CC */ lw $a0, 0xcc($s0) +/* D99B0C 8024015C 0C044181 */ jal get_shadow_by_index +/* D99B10 80240160 00000000 */ nop +/* D99B14 80240164 0C048B77 */ jal func_80122DDC +/* D99B18 80240168 84440008 */ lh $a0, 8($v0) +/* D99B1C 8024016C 8C430000 */ lw $v1, ($v0) +/* D99B20 80240170 34630200 */ ori $v1, $v1, 0x200 +/* D99B24 80240174 AC430000 */ sw $v1, ($v0) +/* D99B28 80240178 8E050028 */ lw $a1, 0x28($s0) +/* D99B2C 8024017C 8E06002C */ lw $a2, 0x2c($s0) +/* D99B30 80240180 27A20030 */ addiu $v0, $sp, 0x30 +/* D99B34 80240184 AFA20010 */ sw $v0, 0x10($sp) +/* D99B38 80240188 27A20034 */ addiu $v0, $sp, 0x34 +/* D99B3C 8024018C AFA20014 */ sw $v0, 0x14($sp) +/* D99B40 80240190 C6000030 */ lwc1 $f0, 0x30($s0) +/* D99B44 80240194 3C04800A */ lui $a0, 0x800a +/* D99B48 80240198 8484A634 */ lh $a0, -0x59cc($a0) +/* D99B4C 8024019C 46000007 */ neg.s $f0, $f0 +/* D99B50 802401A0 44070000 */ mfc1 $a3, $f0 +/* D99B54 802401A4 27A20038 */ addiu $v0, $sp, 0x38 +/* D99B58 802401A8 0C00B94E */ jal get_screen_coords +/* D99B5C 802401AC AFA20018 */ sw $v0, 0x18($sp) +/* D99B60 802401B0 8E0400A4 */ lw $a0, 0xa4($s0) +/* D99B64 802401B4 0C090008 */ jal func_80240020 +/* D99B68 802401B8 00000000 */ nop +/* D99B6C 802401BC C6020080 */ lwc1 $f2, 0x80($s0) +/* D99B70 802401C0 3C014307 */ lui $at, 0x4307 +/* D99B74 802401C4 44810000 */ mtc1 $at, $f0 +/* D99B78 802401C8 00000000 */ nop +/* D99B7C 802401CC 4602003C */ c.lt.s $f0, $f2 +/* D99B80 802401D0 00000000 */ nop +/* D99B84 802401D4 4500000B */ bc1f .L80240204 +/* D99B88 802401D8 24040002 */ addiu $a0, $zero, 2 +/* D99B8C 802401DC 3C014361 */ lui $at, 0x4361 +/* D99B90 802401E0 44810000 */ mtc1 $at, $f0 +/* D99B94 802401E4 00000000 */ nop +/* D99B98 802401E8 4600103C */ c.lt.s $f2, $f0 +/* D99B9C 802401EC 00000000 */ nop +/* D99BA0 802401F0 45000004 */ bc1f .L80240204 +/* D99BA4 802401F4 00000000 */ nop +/* D99BA8 802401F8 0C090015 */ jal func_80240054 +/* D99BAC 802401FC 0040202D */ daddu $a0, $v0, $zero +/* D99BB0 80240200 24040002 */ addiu $a0, $zero, 2 +.L80240204: +/* D99BB4 80240204 3C063F80 */ lui $a2, 0x3f80 +/* D99BB8 80240208 0C0B76A3 */ jal func_802DDA8C +/* D99BBC 8024020C 0040282D */ daddu $a1, $v0, $zero +/* D99BC0 80240210 8E020000 */ lw $v0, ($s0) +/* D99BC4 80240214 3C030002 */ lui $v1, 2 +/* D99BC8 80240218 00431024 */ and $v0, $v0, $v1 +/* D99BCC 8024021C 54400022 */ bnel $v0, $zero, .L802402A8 +/* D99BD0 80240220 24110011 */ addiu $s1, $zero, 0x11 +/* D99BD4 80240224 9203000E */ lbu $v1, 0xe($s0) +/* D99BD8 80240228 3C02802E */ lui $v0, 0x802e +/* D99BDC 8024022C 90429D70 */ lbu $v0, -0x6290($v0) +/* D99BE0 80240230 10620018 */ beq $v1, $v0, .L80240294 +/* D99BE4 80240234 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D99BE8 80240238 1040000B */ beqz $v0, .L80240268 +/* D99BEC 8024023C 24110011 */ addiu $s1, $zero, 0x11 +/* D99BF0 80240240 24040002 */ addiu $a0, $zero, 2 +/* D99BF4 80240244 2405FFFF */ addiu $a1, $zero, -1 +/* D99BF8 80240248 24060007 */ addiu $a2, $zero, 7 +/* D99BFC 8024024C 0060102D */ daddu $v0, $v1, $zero +/* D99C00 80240250 0000382D */ daddu $a3, $zero, $zero +/* D99C04 80240254 AFA00010 */ sw $zero, 0x10($sp) +/* D99C08 80240258 AFA00014 */ sw $zero, 0x14($sp) +/* D99C0C 8024025C AFA0001C */ sw $zero, 0x1c($sp) +/* D99C10 80240260 080900A3 */ j .L8024028C +/* D99C14 80240264 AFA20018 */ sw $v0, 0x18($sp) +.L80240268: +/* D99C18 80240268 2411000D */ addiu $s1, $zero, 0xd +/* D99C1C 8024026C 24040002 */ addiu $a0, $zero, 2 +/* D99C20 80240270 2405FFFF */ addiu $a1, $zero, -1 +/* D99C24 80240274 0000302D */ daddu $a2, $zero, $zero +/* D99C28 80240278 00C0382D */ daddu $a3, $a2, $zero +/* D99C2C 8024027C AFA00010 */ sw $zero, 0x10($sp) +/* D99C30 80240280 AFA00014 */ sw $zero, 0x14($sp) +/* D99C34 80240284 AFA00018 */ sw $zero, 0x18($sp) +/* D99C38 80240288 AFA0001C */ sw $zero, 0x1c($sp) +.L8024028C: +/* D99C3C 8024028C 0C0B77B9 */ jal func_802DDEE4 +/* D99C40 80240290 00000000 */ nop +.L80240294: +/* D99C44 80240294 9202000E */ lbu $v0, 0xe($s0) +/* D99C48 80240298 3C01802E */ lui $at, 0x802e +/* D99C4C 8024029C A0229D70 */ sb $v0, -0x6290($at) +/* D99C50 802402A0 080900AD */ j .L802402B4 +/* D99C54 802402A4 0240202D */ daddu $a0, $s2, $zero +.L802402A8: +/* D99C58 802402A8 3C01802E */ lui $at, 0x802e +/* D99C5C 802402AC A0209D70 */ sb $zero, -0x6290($at) +/* D99C60 802402B0 0240202D */ daddu $a0, $s2, $zero +.L802402B4: +/* D99C64 802402B4 AC910000 */ sw $s1, ($a0) +/* D99C68 802402B8 AC900008 */ sw $s0, 8($a0) +/* D99C6C 802402BC 8FA20038 */ lw $v0, 0x38($sp) +/* D99C70 802402C0 3C038024 */ lui $v1, 0x8024 +/* D99C74 802402C4 246302F0 */ addiu $v1, $v1, 0x2f0 +/* D99C78 802402C8 AC83000C */ sw $v1, 0xc($a0) +/* D99C7C 802402CC 00021023 */ negu $v0, $v0 +/* D99C80 802402D0 0C047644 */ jal queue_render_task +/* D99C84 802402D4 AC820004 */ sw $v0, 4($a0) +.L802402D8: +/* D99C88 802402D8 8FBF004C */ lw $ra, 0x4c($sp) +/* D99C8C 802402DC 8FB20048 */ lw $s2, 0x48($sp) +/* D99C90 802402E0 8FB10044 */ lw $s1, 0x44($sp) +/* D99C94 802402E4 8FB00040 */ lw $s0, 0x40($sp) +/* D99C98 802402E8 03E00008 */ jr $ra +/* D99C9C 802402EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_802402F0_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_802402F0_D999B0.s new file mode 100644 index 0000000000..139c4df6ce --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_802402F0_D999B0.s @@ -0,0 +1,111 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D99CA0 +/* D99CA0 802402F0 3C03800A */ lui $v1, 0x800a +/* D99CA4 802402F4 8463A634 */ lh $v1, -0x59cc($v1) +/* D99CA8 802402F8 3C07BF80 */ lui $a3, 0xbf80 +/* D99CAC 802402FC 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D99CB0 80240300 F7B40128 */ sdc1 $f20, 0x128($sp) +/* D99CB4 80240304 4480A000 */ mtc1 $zero, $f20 +/* D99CB8 80240308 AFB1011C */ sw $s1, 0x11c($sp) +/* D99CBC 8024030C 0080882D */ daddu $s1, $a0, $zero +/* D99CC0 80240310 AFB00118 */ sw $s0, 0x118($sp) +/* D99CC4 80240314 27B00098 */ addiu $s0, $sp, 0x98 +/* D99CC8 80240318 AFBF0120 */ sw $ra, 0x120($sp) +/* D99CCC 8024031C F7B80138 */ sdc1 $f24, 0x138($sp) +/* D99CD0 80240320 F7B60130 */ sdc1 $f22, 0x130($sp) +/* D99CD4 80240324 00031080 */ sll $v0, $v1, 2 +/* D99CD8 80240328 00431021 */ addu $v0, $v0, $v1 +/* D99CDC 8024032C 00021080 */ sll $v0, $v0, 2 +/* D99CE0 80240330 00431023 */ subu $v0, $v0, $v1 +/* D99CE4 80240334 000218C0 */ sll $v1, $v0, 3 +/* D99CE8 80240338 00431021 */ addu $v0, $v0, $v1 +/* D99CEC 8024033C 000210C0 */ sll $v0, $v0, 3 +/* D99CF0 80240340 3C01800B */ lui $at, 0x800b +/* D99CF4 80240344 00220821 */ addu $at, $at, $v0 +/* D99CF8 80240348 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D99CFC 8024034C 4406A000 */ mfc1 $a2, $f20 +/* D99D00 80240350 4600B587 */ neg.s $f22, $f22 +/* D99D04 80240354 4405B000 */ mfc1 $a1, $f22 +/* D99D08 80240358 0200202D */ daddu $a0, $s0, $zero +/* D99D0C 8024035C 0C019EC8 */ jal guRotateF +/* D99D10 80240360 E7B40010 */ swc1 $f20, 0x10($sp) +/* D99D14 80240364 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D99D18 80240368 0C00A6C9 */ jal clamp_angle +/* D99D1C 8024036C 00000000 */ nop +/* D99D20 80240370 44050000 */ mfc1 $a1, $f0 +/* D99D24 80240374 4406A000 */ mfc1 $a2, $f20 +/* D99D28 80240378 4407A000 */ mfc1 $a3, $f20 +/* D99D2C 8024037C 3C013F80 */ lui $at, 0x3f80 +/* D99D30 80240380 4481C000 */ mtc1 $at, $f24 +/* D99D34 80240384 27A40018 */ addiu $a0, $sp, 0x18 +/* D99D38 80240388 0C019EC8 */ jal guRotateF +/* D99D3C 8024038C E7B80010 */ swc1 $f24, 0x10($sp) +/* D99D40 80240390 0200202D */ daddu $a0, $s0, $zero +/* D99D44 80240394 27A50018 */ addiu $a1, $sp, 0x18 +/* D99D48 80240398 0C019D80 */ jal guMtxCatF +/* D99D4C 8024039C 00A0302D */ daddu $a2, $a1, $zero +/* D99D50 802403A0 4405B000 */ mfc1 $a1, $f22 +/* D99D54 802403A4 4406A000 */ mfc1 $a2, $f20 +/* D99D58 802403A8 4407C000 */ mfc1 $a3, $f24 +/* D99D5C 802403AC 0200202D */ daddu $a0, $s0, $zero +/* D99D60 802403B0 0C019EC8 */ jal guRotateF +/* D99D64 802403B4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D99D68 802403B8 27A40018 */ addiu $a0, $sp, 0x18 +/* D99D6C 802403BC 0200282D */ daddu $a1, $s0, $zero +/* D99D70 802403C0 0C019D80 */ jal guMtxCatF +/* D99D74 802403C4 0080302D */ daddu $a2, $a0, $zero +/* D99D78 802403C8 E7B40010 */ swc1 $f20, 0x10($sp) +/* D99D7C 802403CC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D99D80 802403D0 4406A000 */ mfc1 $a2, $f20 +/* D99D84 802403D4 4407C000 */ mfc1 $a3, $f24 +/* D99D88 802403D8 0C019EC8 */ jal guRotateF +/* D99D8C 802403DC 0200202D */ daddu $a0, $s0, $zero +/* D99D90 802403E0 27A40018 */ addiu $a0, $sp, 0x18 +/* D99D94 802403E4 0200282D */ daddu $a1, $s0, $zero +/* D99D98 802403E8 0C019D80 */ jal guMtxCatF +/* D99D9C 802403EC 0080302D */ daddu $a2, $a0, $zero +/* D99DA0 802403F0 3C013F36 */ lui $at, 0x3f36 +/* D99DA4 802403F4 3421DB6E */ ori $at, $at, 0xdb6e +/* D99DA8 802403F8 44810000 */ mtc1 $at, $f0 +/* D99DAC 802403FC 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D99DB0 80240400 44050000 */ mfc1 $a1, $f0 +/* D99DB4 80240404 0200202D */ daddu $a0, $s0, $zero +/* D99DB8 80240408 00A0302D */ daddu $a2, $a1, $zero +/* D99DBC 8024040C 0C019DF0 */ jal guScaleF +/* D99DC0 80240410 00A0382D */ daddu $a3, $a1, $zero +/* D99DC4 80240414 27A40018 */ addiu $a0, $sp, 0x18 +/* D99DC8 80240418 0200282D */ daddu $a1, $s0, $zero +/* D99DCC 8024041C 0C019D80 */ jal guMtxCatF +/* D99DD0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D99DD4 80240424 27B00058 */ addiu $s0, $sp, 0x58 +/* D99DD8 80240428 C6200030 */ lwc1 $f0, 0x30($s1) +/* D99DDC 8024042C 3C014040 */ lui $at, 0x4040 +/* D99DE0 80240430 44811000 */ mtc1 $at, $f2 +/* D99DE4 80240434 46000007 */ neg.s $f0, $f0 +/* D99DE8 80240438 46020001 */ sub.s $f0, $f0, $f2 +/* D99DEC 8024043C 8E250028 */ lw $a1, 0x28($s1) +/* D99DF0 80240440 8E26002C */ lw $a2, 0x2c($s1) +/* D99DF4 80240444 44070000 */ mfc1 $a3, $f0 +/* D99DF8 80240448 0C019E40 */ jal guTranslateF +/* D99DFC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* D99E00 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* D99E04 80240454 0200282D */ daddu $a1, $s0, $zero +/* D99E08 80240458 0C019D80 */ jal guMtxCatF +/* D99E0C 8024045C 0080302D */ daddu $a2, $a0, $zero +/* D99E10 80240460 24040002 */ addiu $a0, $zero, 2 +/* D99E14 80240464 0000282D */ daddu $a1, $zero, $zero +/* D99E18 80240468 00A0302D */ daddu $a2, $a1, $zero +/* D99E1C 8024046C 00A0382D */ daddu $a3, $a1, $zero +/* D99E20 80240470 27A20018 */ addiu $v0, $sp, 0x18 +/* D99E24 80240474 0C0B7710 */ jal render_sprite +/* D99E28 80240478 AFA20010 */ sw $v0, 0x10($sp) +/* D99E2C 8024047C 8FBF0120 */ lw $ra, 0x120($sp) +/* D99E30 80240480 8FB1011C */ lw $s1, 0x11c($sp) +/* D99E34 80240484 8FB00118 */ lw $s0, 0x118($sp) +/* D99E38 80240488 D7B80138 */ ldc1 $f24, 0x138($sp) +/* D99E3C 8024048C D7B60130 */ ldc1 $f22, 0x130($sp) +/* D99E40 80240490 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D99E44 80240494 03E00008 */ jr $ra +/* D99E48 80240498 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_8024049C_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_8024049C_D999B0.s new file mode 100644 index 0000000000..facf4f92e2 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_8024049C_D999B0.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C_D99E4C +/* D99E4C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D99E50 802404A0 AFB00010 */ sw $s0, 0x10($sp) +/* D99E54 802404A4 0080802D */ daddu $s0, $a0, $zero +/* D99E58 802404A8 AFBF0014 */ sw $ra, 0x14($sp) +/* D99E5C 802404AC 8E020084 */ lw $v0, 0x84($s0) +/* D99E60 802404B0 0440000E */ bltz $v0, .L802404EC +/* D99E64 802404B4 28420002 */ slti $v0, $v0, 2 +/* D99E68 802404B8 1040000C */ beqz $v0, .L802404EC +/* D99E6C 802404BC 00000000 */ nop +/* D99E70 802404C0 3C058024 */ lui $a1, 0x8024 +/* D99E74 802404C4 24A50500 */ addiu $a1, $a1, 0x500 +/* D99E78 802404C8 0C048C56 */ jal bind_dynamic_entity_3 +/* D99E7C 802404CC 0000202D */ daddu $a0, $zero, $zero +/* D99E80 802404D0 8E03013C */ lw $v1, 0x13c($s0) +/* D99E84 802404D4 AC620000 */ sw $v0, ($v1) +/* D99E88 802404D8 3C03800A */ lui $v1, %hi(D_8009A650) +/* D99E8C 802404DC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D99E90 802404E0 8C620000 */ lw $v0, ($v1) +/* D99E94 802404E4 34420080 */ ori $v0, $v0, 0x80 +/* D99E98 802404E8 AC620000 */ sw $v0, ($v1) +.L802404EC: +/* D99E9C 802404EC 8FBF0014 */ lw $ra, 0x14($sp) +/* D99EA0 802404F0 8FB00010 */ lw $s0, 0x10($sp) +/* D99EA4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* D99EA8 802404F8 03E00008 */ jr $ra +/* D99EAC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240500_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240500_D999B0.s new file mode 100644 index 0000000000..a1bfc96f5c --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240500_D999B0.s @@ -0,0 +1,110 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_D99EB0 +/* D99EB0 80240500 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D99EB4 80240504 AFB00040 */ sw $s0, 0x40($sp) +/* D99EB8 80240508 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D99EBC 8024050C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D99EC0 80240510 AFB10044 */ sw $s1, 0x44($sp) +/* D99EC4 80240514 AFBF004C */ sw $ra, 0x4c($sp) +/* D99EC8 80240518 AFB20048 */ sw $s2, 0x48($sp) +/* D99ECC 8024051C 8E020000 */ lw $v0, ($s0) +/* D99ED0 80240520 821200BE */ lb $s2, 0xbe($s0) +/* D99ED4 80240524 30420001 */ andi $v0, $v0, 1 +/* D99ED8 80240528 10400052 */ beqz $v0, .L80240674 +/* D99EDC 8024052C 27B10020 */ addiu $s1, $sp, 0x20 +/* D99EE0 80240530 8E0400CC */ lw $a0, 0xcc($s0) +/* D99EE4 80240534 0C044181 */ jal get_shadow_by_index +/* D99EE8 80240538 00000000 */ nop +/* D99EEC 8024053C 0C048B77 */ jal func_80122DDC +/* D99EF0 80240540 84440008 */ lh $a0, 8($v0) +/* D99EF4 80240544 8E050028 */ lw $a1, 0x28($s0) +/* D99EF8 80240548 8E070030 */ lw $a3, 0x30($s0) +/* D99EFC 8024054C 27A20030 */ addiu $v0, $sp, 0x30 +/* D99F00 80240550 AFA20010 */ sw $v0, 0x10($sp) +/* D99F04 80240554 27A20034 */ addiu $v0, $sp, 0x34 +/* D99F08 80240558 AFA20014 */ sw $v0, 0x14($sp) +/* D99F0C 8024055C 27A20038 */ addiu $v0, $sp, 0x38 +/* D99F10 80240560 AFA20018 */ sw $v0, 0x18($sp) +/* D99F14 80240564 C600002C */ lwc1 $f0, 0x2c($s0) +/* D99F18 80240568 3C04800A */ lui $a0, 0x800a +/* D99F1C 8024056C 8484A634 */ lh $a0, -0x59cc($a0) +/* D99F20 80240570 46000007 */ neg.s $f0, $f0 +/* D99F24 80240574 44060000 */ mfc1 $a2, $f0 +/* D99F28 80240578 0C00B94E */ jal get_screen_coords +/* D99F2C 8024057C 00000000 */ nop +/* D99F30 80240580 8E0500A4 */ lw $a1, 0xa4($s0) +/* D99F34 80240584 3C063F80 */ lui $a2, 0x3f80 +/* D99F38 80240588 0C0B76A3 */ jal func_802DDA8C +/* D99F3C 8024058C 24040001 */ addiu $a0, $zero, 1 +/* D99F40 80240590 8E020000 */ lw $v0, ($s0) +/* D99F44 80240594 3C030002 */ lui $v1, 2 +/* D99F48 80240598 00431024 */ and $v0, $v0, $v1 +/* D99F4C 8024059C 54400022 */ bnel $v0, $zero, .L80240628 +/* D99F50 802405A0 24120011 */ addiu $s2, $zero, 0x11 +/* D99F54 802405A4 9203000E */ lbu $v1, 0xe($s0) +/* D99F58 802405A8 3C02802E */ lui $v0, 0x802e +/* D99F5C 802405AC 90429D71 */ lbu $v0, -0x628f($v0) +/* D99F60 802405B0 10620018 */ beq $v1, $v0, .L80240614 +/* D99F64 802405B4 2C6200FE */ sltiu $v0, $v1, 0xfe +/* D99F68 802405B8 1040000B */ beqz $v0, .L802405E8 +/* D99F6C 802405BC 24120011 */ addiu $s2, $zero, 0x11 +/* D99F70 802405C0 24040001 */ addiu $a0, $zero, 1 +/* D99F74 802405C4 2405FFFF */ addiu $a1, $zero, -1 +/* D99F78 802405C8 24060007 */ addiu $a2, $zero, 7 +/* D99F7C 802405CC 0060102D */ daddu $v0, $v1, $zero +/* D99F80 802405D0 0000382D */ daddu $a3, $zero, $zero +/* D99F84 802405D4 AFA00010 */ sw $zero, 0x10($sp) +/* D99F88 802405D8 AFA00014 */ sw $zero, 0x14($sp) +/* D99F8C 802405DC AFA0001C */ sw $zero, 0x1c($sp) +/* D99F90 802405E0 08090183 */ j .L8024060C +/* D99F94 802405E4 AFA20018 */ sw $v0, 0x18($sp) +.L802405E8: +/* D99F98 802405E8 2412000D */ addiu $s2, $zero, 0xd +/* D99F9C 802405EC 24040001 */ addiu $a0, $zero, 1 +/* D99FA0 802405F0 2405FFFF */ addiu $a1, $zero, -1 +/* D99FA4 802405F4 0000302D */ daddu $a2, $zero, $zero +/* D99FA8 802405F8 00C0382D */ daddu $a3, $a2, $zero +/* D99FAC 802405FC AFA00010 */ sw $zero, 0x10($sp) +/* D99FB0 80240600 AFA00014 */ sw $zero, 0x14($sp) +/* D99FB4 80240604 AFA00018 */ sw $zero, 0x18($sp) +/* D99FB8 80240608 AFA0001C */ sw $zero, 0x1c($sp) +.L8024060C: +/* D99FBC 8024060C 0C0B77B9 */ jal func_802DDEE4 +/* D99FC0 80240610 00000000 */ nop +.L80240614: +/* D99FC4 80240614 9202000E */ lbu $v0, 0xe($s0) +/* D99FC8 80240618 3C01802E */ lui $at, 0x802e +/* D99FCC 8024061C A0229D71 */ sb $v0, -0x628f($at) +/* D99FD0 80240620 0809018C */ j .L80240630 +/* D99FD4 80240624 00000000 */ nop +.L80240628: +/* D99FD8 80240628 3C01802E */ lui $at, 0x802e +/* D99FDC 8024062C A0209D71 */ sb $zero, -0x628f($at) +.L80240630: +/* D99FE0 80240630 8FA20038 */ lw $v0, 0x38($sp) +/* D99FE4 80240634 3C048024 */ lui $a0, 0x8024 +/* D99FE8 80240638 24840870 */ addiu $a0, $a0, 0x870 +/* D99FEC 8024063C AE320000 */ sw $s2, ($s1) +/* D99FF0 80240640 AE300008 */ sw $s0, 8($s1) +/* D99FF4 80240644 00021023 */ negu $v0, $v0 +/* D99FF8 80240648 AE220004 */ sw $v0, 4($s1) +/* D99FFC 8024064C 8E020000 */ lw $v0, ($s0) +/* D9A000 80240650 3C030002 */ lui $v1, 2 +/* D9A004 80240654 00431024 */ and $v0, $v0, $v1 +/* D9A008 80240658 54400004 */ bnel $v0, $zero, .L8024066C +/* D9A00C 8024065C AE24000C */ sw $a0, 0xc($s1) +/* D9A010 80240660 3C048024 */ lui $a0, 0x8024 +/* D9A014 80240664 2484068C */ addiu $a0, $a0, 0x68c +/* D9A018 80240668 AE24000C */ sw $a0, 0xc($s1) +.L8024066C: +/* D9A01C 8024066C 0C047644 */ jal queue_render_task +/* D9A020 80240670 0220202D */ daddu $a0, $s1, $zero +.L80240674: +/* D9A024 80240674 8FBF004C */ lw $ra, 0x4c($sp) +/* D9A028 80240678 8FB20048 */ lw $s2, 0x48($sp) +/* D9A02C 8024067C 8FB10044 */ lw $s1, 0x44($sp) +/* D9A030 80240680 8FB00040 */ lw $s0, 0x40($sp) +/* D9A034 80240684 03E00008 */ jr $ra +/* D9A038 80240688 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_8024068C_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_8024068C_D999B0.s new file mode 100644 index 0000000000..8cdd003dc8 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_8024068C_D999B0.s @@ -0,0 +1,127 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024068C_D9A03C +/* D9A03C 8024068C 3C03800A */ lui $v1, 0x800a +/* D9A040 80240690 8463A634 */ lh $v1, -0x59cc($v1) +/* D9A044 80240694 3C07BF80 */ lui $a3, 0xbf80 +/* D9A048 80240698 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* D9A04C 8024069C F7B40128 */ sdc1 $f20, 0x128($sp) +/* D9A050 802406A0 4480A000 */ mtc1 $zero, $f20 +/* D9A054 802406A4 AFB1011C */ sw $s1, 0x11c($sp) +/* D9A058 802406A8 0080882D */ daddu $s1, $a0, $zero +/* D9A05C 802406AC AFB00118 */ sw $s0, 0x118($sp) +/* D9A060 802406B0 27B00098 */ addiu $s0, $sp, 0x98 +/* D9A064 802406B4 AFBF0120 */ sw $ra, 0x120($sp) +/* D9A068 802406B8 F7B80138 */ sdc1 $f24, 0x138($sp) +/* D9A06C 802406BC F7B60130 */ sdc1 $f22, 0x130($sp) +/* D9A070 802406C0 00031080 */ sll $v0, $v1, 2 +/* D9A074 802406C4 00431021 */ addu $v0, $v0, $v1 +/* D9A078 802406C8 00021080 */ sll $v0, $v0, 2 +/* D9A07C 802406CC 00431023 */ subu $v0, $v0, $v1 +/* D9A080 802406D0 000218C0 */ sll $v1, $v0, 3 +/* D9A084 802406D4 00431021 */ addu $v0, $v0, $v1 +/* D9A088 802406D8 000210C0 */ sll $v0, $v0, 3 +/* D9A08C 802406DC 3C01800B */ lui $at, 0x800b +/* D9A090 802406E0 00220821 */ addu $at, $at, $v0 +/* D9A094 802406E4 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D9A098 802406E8 4406A000 */ mfc1 $a2, $f20 +/* D9A09C 802406EC 4600B587 */ neg.s $f22, $f22 +/* D9A0A0 802406F0 4405B000 */ mfc1 $a1, $f22 +/* D9A0A4 802406F4 0200202D */ daddu $a0, $s0, $zero +/* D9A0A8 802406F8 0C019EC8 */ jal guRotateF +/* D9A0AC 802406FC E7B40010 */ swc1 $f20, 0x10($sp) +/* D9A0B0 80240700 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D9A0B4 80240704 0C00A6C9 */ jal clamp_angle +/* D9A0B8 80240708 00000000 */ nop +/* D9A0BC 8024070C 44050000 */ mfc1 $a1, $f0 +/* D9A0C0 80240710 4406A000 */ mfc1 $a2, $f20 +/* D9A0C4 80240714 4407A000 */ mfc1 $a3, $f20 +/* D9A0C8 80240718 3C013F80 */ lui $at, 0x3f80 +/* D9A0CC 8024071C 4481C000 */ mtc1 $at, $f24 +/* D9A0D0 80240720 27A40018 */ addiu $a0, $sp, 0x18 +/* D9A0D4 80240724 0C019EC8 */ jal guRotateF +/* D9A0D8 80240728 E7B80010 */ swc1 $f24, 0x10($sp) +/* D9A0DC 8024072C 0200202D */ daddu $a0, $s0, $zero +/* D9A0E0 80240730 27A50018 */ addiu $a1, $sp, 0x18 +/* D9A0E4 80240734 0C019D80 */ jal guMtxCatF +/* D9A0E8 80240738 00A0302D */ daddu $a2, $a1, $zero +/* D9A0EC 8024073C 4405B000 */ mfc1 $a1, $f22 +/* D9A0F0 80240740 4406A000 */ mfc1 $a2, $f20 +/* D9A0F4 80240744 4407C000 */ mfc1 $a3, $f24 +/* D9A0F8 80240748 0200202D */ daddu $a0, $s0, $zero +/* D9A0FC 8024074C 0C019EC8 */ jal guRotateF +/* D9A100 80240750 E7B40010 */ swc1 $f20, 0x10($sp) +/* D9A104 80240754 27A40018 */ addiu $a0, $sp, 0x18 +/* D9A108 80240758 0200282D */ daddu $a1, $s0, $zero +/* D9A10C 8024075C 0C019D80 */ jal guMtxCatF +/* D9A110 80240760 0080302D */ daddu $a2, $a0, $zero +/* D9A114 80240764 E7B40010 */ swc1 $f20, 0x10($sp) +/* D9A118 80240768 8E2500A8 */ lw $a1, 0xa8($s1) +/* D9A11C 8024076C 4406A000 */ mfc1 $a2, $f20 +/* D9A120 80240770 4407C000 */ mfc1 $a3, $f24 +/* D9A124 80240774 0C019EC8 */ jal guRotateF +/* D9A128 80240778 0200202D */ daddu $a0, $s0, $zero +/* D9A12C 8024077C 27A40018 */ addiu $a0, $sp, 0x18 +/* D9A130 80240780 0200282D */ daddu $a1, $s0, $zero +/* D9A134 80240784 0C019D80 */ jal guMtxCatF +/* D9A138 80240788 0080302D */ daddu $a2, $a0, $zero +/* D9A13C 8024078C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* D9A140 80240790 3C013F36 */ lui $at, 0x3f36 +/* D9A144 80240794 3421DB6E */ ori $at, $at, 0xdb6e +/* D9A148 80240798 44810000 */ mtc1 $at, $f0 +/* D9A14C 8024079C 0200202D */ daddu $a0, $s0, $zero +/* D9A150 802407A0 44050000 */ mfc1 $a1, $f0 +/* D9A154 802407A4 3C06BF36 */ lui $a2, 0xbf36 +/* D9A158 802407A8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D9A15C 802407AC 0C019DF0 */ jal guScaleF +/* D9A160 802407B0 00A0382D */ daddu $a3, $a1, $zero +/* D9A164 802407B4 27A40018 */ addiu $a0, $sp, 0x18 +/* D9A168 802407B8 0200282D */ daddu $a1, $s0, $zero +/* D9A16C 802407BC 0C019D80 */ jal guMtxCatF +/* D9A170 802407C0 0080302D */ daddu $a2, $a0, $zero +/* D9A174 802407C4 27B00058 */ addiu $s0, $sp, 0x58 +/* D9A178 802407C8 8E250028 */ lw $a1, 0x28($s1) +/* D9A17C 802407CC C620002C */ lwc1 $f0, 0x2c($s1) +/* D9A180 802407D0 8E270030 */ lw $a3, 0x30($s1) +/* D9A184 802407D4 46000007 */ neg.s $f0, $f0 +/* D9A188 802407D8 44060000 */ mfc1 $a2, $f0 +/* D9A18C 802407DC 0C019E40 */ jal guTranslateF +/* D9A190 802407E0 0200202D */ daddu $a0, $s0, $zero +/* D9A194 802407E4 27A40018 */ addiu $a0, $sp, 0x18 +/* D9A198 802407E8 0200282D */ daddu $a1, $s0, $zero +/* D9A19C 802407EC 0C019D80 */ jal guMtxCatF +/* D9A1A0 802407F0 0080302D */ daddu $a2, $a0, $zero +/* D9A1A4 802407F4 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D9A1A8 802407F8 3C0142B4 */ lui $at, 0x42b4 +/* D9A1AC 802407FC 44810000 */ mtc1 $at, $f0 +/* D9A1B0 80240800 00000000 */ nop +/* D9A1B4 80240804 4602003E */ c.le.s $f0, $f2 +/* D9A1B8 80240808 00000000 */ nop +/* D9A1BC 8024080C 4500000A */ bc1f .L80240838 +/* D9A1C0 80240810 24040001 */ addiu $a0, $zero, 1 +/* D9A1C4 80240814 3C014387 */ lui $at, 0x4387 +/* D9A1C8 80240818 44810000 */ mtc1 $at, $f0 +/* D9A1CC 8024081C 00000000 */ nop +/* D9A1D0 80240820 4600103C */ c.lt.s $f2, $f0 +/* D9A1D4 80240824 00000000 */ nop +/* D9A1D8 80240828 45000004 */ bc1f .L8024083C +/* D9A1DC 8024082C 27A20018 */ addiu $v0, $sp, 0x18 +/* D9A1E0 80240830 3C041000 */ lui $a0, 0x1000 +/* D9A1E4 80240834 34840001 */ ori $a0, $a0, 1 +.L80240838: +/* D9A1E8 80240838 27A20018 */ addiu $v0, $sp, 0x18 +.L8024083C: +/* D9A1EC 8024083C 0000282D */ daddu $a1, $zero, $zero +/* D9A1F0 80240840 00A0302D */ daddu $a2, $a1, $zero +/* D9A1F4 80240844 00A0382D */ daddu $a3, $a1, $zero +/* D9A1F8 80240848 0C0B7710 */ jal render_sprite +/* D9A1FC 8024084C AFA20010 */ sw $v0, 0x10($sp) +/* D9A200 80240850 8FBF0120 */ lw $ra, 0x120($sp) +/* D9A204 80240854 8FB1011C */ lw $s1, 0x11c($sp) +/* D9A208 80240858 8FB00118 */ lw $s0, 0x118($sp) +/* D9A20C 8024085C D7B80138 */ ldc1 $f24, 0x138($sp) +/* D9A210 80240860 D7B60130 */ ldc1 $f22, 0x130($sp) +/* D9A214 80240864 D7B40128 */ ldc1 $f20, 0x128($sp) +/* D9A218 80240868 03E00008 */ jr $ra +/* D9A21C 8024086C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240870_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240870_D999B0.s new file mode 100644 index 0000000000..183e65dd40 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240870_D999B0.s @@ -0,0 +1,324 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240870_D9A220 +/* D9A220 80240870 27BDFE80 */ addiu $sp, $sp, -0x180 +/* D9A224 80240874 F7B60158 */ sdc1 $f22, 0x158($sp) +/* D9A228 80240878 4480B000 */ mtc1 $zero, $f22 +/* D9A22C 8024087C AFB10134 */ sw $s1, 0x134($sp) +/* D9A230 80240880 0080882D */ daddu $s1, $a0, $zero +/* D9A234 80240884 AFB3013C */ sw $s3, 0x13c($sp) +/* D9A238 80240888 0000982D */ daddu $s3, $zero, $zero +/* D9A23C 8024088C AFB60148 */ sw $s6, 0x148($sp) +/* D9A240 80240890 3C16800B */ lui $s6, %hi(gCameras) +/* D9A244 80240894 26D61D80 */ addiu $s6, $s6, %lo(gCameras) +/* D9A248 80240898 AFB50144 */ sw $s5, 0x144($sp) +/* D9A24C 8024089C 241500FF */ addiu $s5, $zero, 0xff +/* D9A250 802408A0 AFB00130 */ sw $s0, 0x130($sp) +/* D9A254 802408A4 27B000A0 */ addiu $s0, $sp, 0xa0 +/* D9A258 802408A8 AFB20138 */ sw $s2, 0x138($sp) +/* D9A25C 802408AC 27B20060 */ addiu $s2, $sp, 0x60 +/* D9A260 802408B0 AFB40140 */ sw $s4, 0x140($sp) +/* D9A264 802408B4 27B400E0 */ addiu $s4, $sp, 0xe0 +/* D9A268 802408B8 AFBF014C */ sw $ra, 0x14c($sp) +/* D9A26C 802408BC F7BE0178 */ sdc1 $f30, 0x178($sp) +/* D9A270 802408C0 F7BC0170 */ sdc1 $f28, 0x170($sp) +/* D9A274 802408C4 F7BA0168 */ sdc1 $f26, 0x168($sp) +/* D9A278 802408C8 F7B80160 */ sdc1 $f24, 0x160($sp) +/* D9A27C 802408CC F7B40150 */ sdc1 $f20, 0x150($sp) +.L802408D0: +/* D9A280 802408D0 3C03800A */ lui $v1, 0x800a +/* D9A284 802408D4 8463A634 */ lh $v1, -0x59cc($v1) +/* D9A288 802408D8 00031080 */ sll $v0, $v1, 2 +/* D9A28C 802408DC 00431021 */ addu $v0, $v0, $v1 +/* D9A290 802408E0 00021080 */ sll $v0, $v0, 2 +/* D9A294 802408E4 00431023 */ subu $v0, $v0, $v1 +/* D9A298 802408E8 000218C0 */ sll $v1, $v0, 3 +/* D9A29C 802408EC 00431021 */ addu $v0, $v0, $v1 +/* D9A2A0 802408F0 000210C0 */ sll $v0, $v0, 3 +/* D9A2A4 802408F4 00561021 */ addu $v0, $v0, $s6 +/* D9A2A8 802408F8 C440006C */ lwc1 $f0, 0x6c($v0) +/* D9A2AC 802408FC 16600065 */ bnez $s3, .L80240A94 +/* D9A2B0 80240900 46000507 */ neg.s $f20, $f0 +/* D9A2B4 80240904 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D9A2B8 80240908 3C0142B4 */ lui $at, 0x42b4 +/* D9A2BC 8024090C 44810000 */ mtc1 $at, $f0 +/* D9A2C0 80240910 00000000 */ nop +/* D9A2C4 80240914 4602003C */ c.lt.s $f0, $f2 +/* D9A2C8 80240918 00000000 */ nop +/* D9A2CC 8024091C 4500000A */ bc1f .L80240948 +/* D9A2D0 80240920 00000000 */ nop +/* D9A2D4 80240924 3C014334 */ lui $at, 0x4334 +/* D9A2D8 80240928 44812000 */ mtc1 $at, $f4 +/* D9A2DC 8024092C 00000000 */ nop +/* D9A2E0 80240930 4604103E */ c.le.s $f2, $f4 +/* D9A2E4 80240934 00000000 */ nop +/* D9A2E8 80240938 45000003 */ bc1f .L80240948 +/* D9A2EC 8024093C 00000000 */ nop +/* D9A2F0 80240940 08090276 */ j .L802409D8 +/* D9A2F4 80240944 46022501 */ sub.s $f20, $f4, $f2 +.L80240948: +/* D9A2F8 80240948 C62000A8 */ lwc1 $f0, 0xa8($s1) +/* D9A2FC 8024094C 3C014334 */ lui $at, 0x4334 +/* D9A300 80240950 44812000 */ mtc1 $at, $f4 +/* D9A304 80240954 00000000 */ nop +/* D9A308 80240958 4600203C */ c.lt.s $f4, $f0 +/* D9A30C 8024095C 00000000 */ nop +/* D9A310 80240960 4500000C */ bc1f .L80240994 +/* D9A314 80240964 00000000 */ nop +/* D9A318 80240968 3C014387 */ lui $at, 0x4387 +/* D9A31C 8024096C 44812000 */ mtc1 $at, $f4 +/* D9A320 80240970 00000000 */ nop +/* D9A324 80240974 4604003E */ c.le.s $f0, $f4 +/* D9A328 80240978 00000000 */ nop +/* D9A32C 8024097C 45000008 */ bc1f .L802409A0 +/* D9A330 80240980 00000000 */ nop +/* D9A334 80240984 3C014334 */ lui $at, 0x4334 +/* D9A338 80240988 44812000 */ mtc1 $at, $f4 +/* D9A33C 8024098C 08090276 */ j .L802409D8 +/* D9A340 80240990 46040501 */ sub.s $f20, $f0, $f4 +.L80240994: +/* D9A344 80240994 3C014387 */ lui $at, 0x4387 +/* D9A348 80240998 44812000 */ mtc1 $at, $f4 +/* D9A34C 8024099C 00000000 */ nop +.L802409A0: +/* D9A350 802409A0 4600203C */ c.lt.s $f4, $f0 +/* D9A354 802409A4 00000000 */ nop +/* D9A358 802409A8 4500000A */ bc1f .L802409D4 +/* D9A35C 802409AC 00000000 */ nop +/* D9A360 802409B0 3C0143B4 */ lui $at, 0x43b4 +/* D9A364 802409B4 44811000 */ mtc1 $at, $f2 +/* D9A368 802409B8 00000000 */ nop +/* D9A36C 802409BC 4602003E */ c.le.s $f0, $f2 +/* D9A370 802409C0 00000000 */ nop +/* D9A374 802409C4 45000003 */ bc1f .L802409D4 +/* D9A378 802409C8 00000000 */ nop +/* D9A37C 802409CC 08090276 */ j .L802409D8 +/* D9A380 802409D0 46001501 */ sub.s $f20, $f2, $f0 +.L802409D4: +/* D9A384 802409D4 C63400A8 */ lwc1 $f20, 0xa8($s1) +.L802409D8: +/* D9A388 802409D8 3C0141C8 */ lui $at, 0x41c8 +/* D9A38C 802409DC 44810000 */ mtc1 $at, $f0 +/* D9A390 802409E0 00000000 */ nop +/* D9A394 802409E4 4600A003 */ div.s $f0, $f20, $f0 +/* D9A398 802409E8 4600010D */ trunc.w.s $f4, $f0 +/* D9A39C 802409EC 44072000 */ mfc1 $a3, $f4 +/* D9A3A0 802409F0 00000000 */ nop +/* D9A3A4 802409F4 00071100 */ sll $v0, $a3, 4 +/* D9A3A8 802409F8 00471023 */ subu $v0, $v0, $a3 +/* D9A3AC 802409FC 00021080 */ sll $v0, $v0, 2 +/* D9A3B0 80240A00 02A23823 */ subu $a3, $s5, $v0 +/* D9A3B4 80240A04 28E20064 */ slti $v0, $a3, 0x64 +/* D9A3B8 80240A08 54400001 */ bnel $v0, $zero, .L80240A10 +/* D9A3BC 80240A0C 24070064 */ addiu $a3, $zero, 0x64 +.L80240A10: +/* D9A3C0 80240A10 24040001 */ addiu $a0, $zero, 1 +/* D9A3C4 80240A14 2405FFFF */ addiu $a1, $zero, -1 +/* D9A3C8 80240A18 24060006 */ addiu $a2, $zero, 6 +/* D9A3CC 80240A1C AFA70010 */ sw $a3, 0x10($sp) +/* D9A3D0 80240A20 AFA70014 */ sw $a3, 0x14($sp) +/* D9A3D4 80240A24 AFB50018 */ sw $s5, 0x18($sp) +/* D9A3D8 80240A28 0C0B77B9 */ jal func_802DDEE4 +/* D9A3DC 80240A2C AFA0001C */ sw $zero, 0x1c($sp) +/* D9A3E0 80240A30 4405A000 */ mfc1 $a1, $f20 +/* D9A3E4 80240A34 4406B000 */ mfc1 $a2, $f22 +/* D9A3E8 80240A38 3C07BF80 */ lui $a3, 0xbf80 +/* D9A3EC 80240A3C 0200202D */ daddu $a0, $s0, $zero +/* D9A3F0 80240A40 0C019EC8 */ jal guRotateF +/* D9A3F4 80240A44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A3F8 80240A48 C62C008C */ lwc1 $f12, 0x8c($s1) +/* D9A3FC 80240A4C 0C00A6C9 */ jal clamp_angle +/* D9A400 80240A50 00000000 */ nop +/* D9A404 80240A54 44050000 */ mfc1 $a1, $f0 +/* D9A408 80240A58 4406B000 */ mfc1 $a2, $f22 +/* D9A40C 80240A5C 4407B000 */ mfc1 $a3, $f22 +/* D9A410 80240A60 3C013F80 */ lui $at, 0x3f80 +/* D9A414 80240A64 44812000 */ mtc1 $at, $f4 +/* D9A418 80240A68 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A41C 80240A6C 0C019EC8 */ jal guRotateF +/* D9A420 80240A70 E7A40010 */ swc1 $f4, 0x10($sp) +/* D9A424 80240A74 0200202D */ daddu $a0, $s0, $zero +/* D9A428 80240A78 27A50020 */ addiu $a1, $sp, 0x20 +/* D9A42C 80240A7C 0C019D80 */ jal guMtxCatF +/* D9A430 80240A80 00A0302D */ daddu $a2, $a1, $zero +/* D9A434 80240A84 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D9A438 80240A88 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D9A43C 80240A8C 080902D6 */ j .L80240B58 +/* D9A440 80240A90 C63C0030 */ lwc1 $f28, 0x30($s1) +.L80240A94: +/* D9A444 80240A94 0260202D */ daddu $a0, $s3, $zero +/* D9A448 80240A98 27A50120 */ addiu $a1, $sp, 0x120 +/* D9A44C 80240A9C 27A60124 */ addiu $a2, $sp, 0x124 +/* D9A450 80240AA0 0C03964E */ jal func_800E5938 +/* D9A454 80240AA4 27A70128 */ addiu $a3, $sp, 0x128 +/* D9A458 80240AA8 8FA60124 */ lw $a2, 0x124($sp) +/* D9A45C 80240AAC 3C028000 */ lui $v0, 0x8000 +/* D9A460 80240AB0 14C20004 */ bne $a2, $v0, .L80240AC4 +/* D9A464 80240AB4 46000606 */ mov.s $f24, $f0 +/* D9A468 80240AB8 C63A002C */ lwc1 $f26, 0x2c($s1) +/* D9A46C 80240ABC 080902B5 */ j .L80240AD4 +/* D9A470 80240AC0 24040001 */ addiu $a0, $zero, 1 +.L80240AC4: +/* D9A474 80240AC4 4486D000 */ mtc1 $a2, $f26 +/* D9A478 80240AC8 00000000 */ nop +/* D9A47C 80240ACC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D9A480 80240AD0 24040001 */ addiu $a0, $zero, 1 +.L80240AD4: +/* D9A484 80240AD4 2405FFFF */ addiu $a1, $zero, -1 +/* D9A488 80240AD8 24060007 */ addiu $a2, $zero, 7 +/* D9A48C 80240ADC 0000382D */ daddu $a3, $zero, $zero +/* D9A490 80240AE0 C63E0028 */ lwc1 $f30, 0x28($s1) +/* D9A494 80240AE4 C63C0030 */ lwc1 $f28, 0x30($s1) +/* D9A498 80240AE8 24020040 */ addiu $v0, $zero, 0x40 +/* D9A49C 80240AEC AFA00010 */ sw $zero, 0x10($sp) +/* D9A4A0 80240AF0 AFA00014 */ sw $zero, 0x14($sp) +/* D9A4A4 80240AF4 AFA20018 */ sw $v0, 0x18($sp) +/* D9A4A8 80240AF8 0C0B77B9 */ jal func_802DDEE4 +/* D9A4AC 80240AFC AFA0001C */ sw $zero, 0x1c($sp) +/* D9A4B0 80240B00 4405A000 */ mfc1 $a1, $f20 +/* D9A4B4 80240B04 4406B000 */ mfc1 $a2, $f22 +/* D9A4B8 80240B08 3C07BF80 */ lui $a3, 0xbf80 +/* D9A4BC 80240B0C 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A4C0 80240B10 0C019EC8 */ jal guRotateF +/* D9A4C4 80240B14 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A4C8 80240B18 4405A000 */ mfc1 $a1, $f20 +/* D9A4CC 80240B1C 4406B000 */ mfc1 $a2, $f22 +/* D9A4D0 80240B20 3C07BF80 */ lui $a3, 0xbf80 +/* D9A4D4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* D9A4D8 80240B28 0C019EC8 */ jal guRotateF +/* D9A4DC 80240B2C E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A4E0 80240B30 4405C000 */ mfc1 $a1, $f24 +/* D9A4E4 80240B34 4406B000 */ mfc1 $a2, $f22 +/* D9A4E8 80240B38 3C073F80 */ lui $a3, 0x3f80 +/* D9A4EC 80240B3C 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A4F0 80240B40 0C019EC8 */ jal guRotateF +/* D9A4F4 80240B44 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A4F8 80240B48 0200202D */ daddu $a0, $s0, $zero +/* D9A4FC 80240B4C 27A50020 */ addiu $a1, $sp, 0x20 +/* D9A500 80240B50 0C019D80 */ jal guMtxCatF +/* D9A504 80240B54 00A0302D */ daddu $a2, $a1, $zero +.L80240B58: +/* D9A508 80240B58 862200B0 */ lh $v0, 0xb0($s1) +/* D9A50C 80240B5C 3C013F00 */ lui $at, 0x3f00 +/* D9A510 80240B60 44812000 */ mtc1 $at, $f4 +/* D9A514 80240B64 00021023 */ negu $v0, $v0 +/* D9A518 80240B68 44820000 */ mtc1 $v0, $f0 +/* D9A51C 80240B6C 00000000 */ nop +/* D9A520 80240B70 46800020 */ cvt.s.w $f0, $f0 +/* D9A524 80240B74 46040102 */ mul.s $f4, $f0, $f4 +/* D9A528 80240B78 00000000 */ nop +/* D9A52C 80240B7C 4405B000 */ mfc1 $a1, $f22 +/* D9A530 80240B80 4407B000 */ mfc1 $a3, $f22 +/* D9A534 80240B84 44062000 */ mfc1 $a2, $f4 +/* D9A538 80240B88 0C019E40 */ jal guTranslateF +/* D9A53C 80240B8C 0240202D */ daddu $a0, $s2, $zero +/* D9A540 80240B90 0240202D */ daddu $a0, $s2, $zero +/* D9A544 80240B94 27A50020 */ addiu $a1, $sp, 0x20 +/* D9A548 80240B98 0C019D80 */ jal guMtxCatF +/* D9A54C 80240B9C 00A0302D */ daddu $a2, $a1, $zero +/* D9A550 80240BA0 4405A000 */ mfc1 $a1, $f20 +/* D9A554 80240BA4 4406B000 */ mfc1 $a2, $f22 +/* D9A558 80240BA8 3C073F80 */ lui $a3, 0x3f80 +/* D9A55C 80240BAC 0200202D */ daddu $a0, $s0, $zero +/* D9A560 80240BB0 0C019EC8 */ jal guRotateF +/* D9A564 80240BB4 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A568 80240BB8 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A56C 80240BBC 0200282D */ daddu $a1, $s0, $zero +/* D9A570 80240BC0 0C019D80 */ jal guMtxCatF +/* D9A574 80240BC4 0080302D */ daddu $a2, $a0, $zero +/* D9A578 80240BC8 E7B60010 */ swc1 $f22, 0x10($sp) +/* D9A57C 80240BCC 8E2500A8 */ lw $a1, 0xa8($s1) +/* D9A580 80240BD0 4406B000 */ mfc1 $a2, $f22 +/* D9A584 80240BD4 3C073F80 */ lui $a3, 0x3f80 +/* D9A588 80240BD8 0C019EC8 */ jal guRotateF +/* D9A58C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* D9A590 80240BE0 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A594 80240BE4 0200282D */ daddu $a1, $s0, $zero +/* D9A598 80240BE8 0C019D80 */ jal guMtxCatF +/* D9A59C 80240BEC 0080302D */ daddu $a2, $a0, $zero +/* D9A5A0 80240BF0 862200B0 */ lh $v0, 0xb0($s1) +/* D9A5A4 80240BF4 3C013F00 */ lui $at, 0x3f00 +/* D9A5A8 80240BF8 44812000 */ mtc1 $at, $f4 +/* D9A5AC 80240BFC 44820000 */ mtc1 $v0, $f0 +/* D9A5B0 80240C00 00000000 */ nop +/* D9A5B4 80240C04 46800020 */ cvt.s.w $f0, $f0 +/* D9A5B8 80240C08 46040102 */ mul.s $f4, $f0, $f4 +/* D9A5BC 80240C0C 00000000 */ nop +/* D9A5C0 80240C10 4405B000 */ mfc1 $a1, $f22 +/* D9A5C4 80240C14 4407B000 */ mfc1 $a3, $f22 +/* D9A5C8 80240C18 44062000 */ mfc1 $a2, $f4 +/* D9A5CC 80240C1C 0C019E40 */ jal guTranslateF +/* D9A5D0 80240C20 0240202D */ daddu $a0, $s2, $zero +/* D9A5D4 80240C24 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A5D8 80240C28 0240282D */ daddu $a1, $s2, $zero +/* D9A5DC 80240C2C 0C019D80 */ jal guMtxCatF +/* D9A5E0 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D9A5E4 80240C34 3C013F36 */ lui $at, 0x3f36 +/* D9A5E8 80240C38 3421DB6E */ ori $at, $at, 0xdb6e +/* D9A5EC 80240C3C 44810000 */ mtc1 $at, $f0 +/* D9A5F0 80240C40 0280202D */ daddu $a0, $s4, $zero +/* D9A5F4 80240C44 44050000 */ mfc1 $a1, $f0 +/* D9A5F8 80240C48 3C06BF36 */ lui $a2, 0xbf36 +/* D9A5FC 80240C4C 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* D9A600 80240C50 0C019DF0 */ jal guScaleF +/* D9A604 80240C54 00A0382D */ daddu $a3, $a1, $zero +/* D9A608 80240C58 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A60C 80240C5C 0280282D */ daddu $a1, $s4, $zero +/* D9A610 80240C60 0C019D80 */ jal guMtxCatF +/* D9A614 80240C64 0080302D */ daddu $a2, $a0, $zero +/* D9A618 80240C68 4600D687 */ neg.s $f26, $f26 +/* D9A61C 80240C6C 4405F000 */ mfc1 $a1, $f30 +/* D9A620 80240C70 4407E000 */ mfc1 $a3, $f28 +/* D9A624 80240C74 4406D000 */ mfc1 $a2, $f26 +/* D9A628 80240C78 0C019E40 */ jal guTranslateF +/* D9A62C 80240C7C 0240202D */ daddu $a0, $s2, $zero +/* D9A630 80240C80 27A40020 */ addiu $a0, $sp, 0x20 +/* D9A634 80240C84 0240282D */ daddu $a1, $s2, $zero +/* D9A638 80240C88 0C019D80 */ jal guMtxCatF +/* D9A63C 80240C8C 0080302D */ daddu $a2, $a0, $zero +/* D9A640 80240C90 C62200A8 */ lwc1 $f2, 0xa8($s1) +/* D9A644 80240C94 3C0142B4 */ lui $at, 0x42b4 +/* D9A648 80240C98 44810000 */ mtc1 $at, $f0 +/* D9A64C 80240C9C 00000000 */ nop +/* D9A650 80240CA0 4602003E */ c.le.s $f0, $f2 +/* D9A654 80240CA4 00000000 */ nop +/* D9A658 80240CA8 4500000A */ bc1f .L80240CD4 +/* D9A65C 80240CAC 24040001 */ addiu $a0, $zero, 1 +/* D9A660 80240CB0 3C014387 */ lui $at, 0x4387 +/* D9A664 80240CB4 44812000 */ mtc1 $at, $f4 +/* D9A668 80240CB8 00000000 */ nop +/* D9A66C 80240CBC 4604103C */ c.lt.s $f2, $f4 +/* D9A670 80240CC0 00000000 */ nop +/* D9A674 80240CC4 45000004 */ bc1f .L80240CD8 +/* D9A678 80240CC8 27A20020 */ addiu $v0, $sp, 0x20 +/* D9A67C 80240CCC 3C041000 */ lui $a0, 0x1000 +/* D9A680 80240CD0 34840001 */ ori $a0, $a0, 1 +.L80240CD4: +/* D9A684 80240CD4 27A20020 */ addiu $v0, $sp, 0x20 +.L80240CD8: +/* D9A688 80240CD8 AFA20010 */ sw $v0, 0x10($sp) +/* D9A68C 80240CDC 0000282D */ daddu $a1, $zero, $zero +/* D9A690 80240CE0 00A0302D */ daddu $a2, $a1, $zero +/* D9A694 80240CE4 0C0B7710 */ jal render_sprite +/* D9A698 80240CE8 00A0382D */ daddu $a3, $a1, $zero +/* D9A69C 80240CEC 26730001 */ addiu $s3, $s3, 1 +/* D9A6A0 80240CF0 2A620002 */ slti $v0, $s3, 2 +/* D9A6A4 80240CF4 1440FEF6 */ bnez $v0, .L802408D0 +/* D9A6A8 80240CF8 00000000 */ nop +/* D9A6AC 80240CFC 8FBF014C */ lw $ra, 0x14c($sp) +/* D9A6B0 80240D00 8FB60148 */ lw $s6, 0x148($sp) +/* D9A6B4 80240D04 8FB50144 */ lw $s5, 0x144($sp) +/* D9A6B8 80240D08 8FB40140 */ lw $s4, 0x140($sp) +/* D9A6BC 80240D0C 8FB3013C */ lw $s3, 0x13c($sp) +/* D9A6C0 80240D10 8FB20138 */ lw $s2, 0x138($sp) +/* D9A6C4 80240D14 8FB10134 */ lw $s1, 0x134($sp) +/* D9A6C8 80240D18 8FB00130 */ lw $s0, 0x130($sp) +/* D9A6CC 80240D1C D7BE0178 */ ldc1 $f30, 0x178($sp) +/* D9A6D0 80240D20 D7BC0170 */ ldc1 $f28, 0x170($sp) +/* D9A6D4 80240D24 D7BA0168 */ ldc1 $f26, 0x168($sp) +/* D9A6D8 80240D28 D7B80160 */ ldc1 $f24, 0x160($sp) +/* D9A6DC 80240D2C D7B60158 */ ldc1 $f22, 0x158($sp) +/* D9A6E0 80240D30 D7B40150 */ ldc1 $f20, 0x150($sp) +/* D9A6E4 80240D34 03E00008 */ jr $ra +/* D9A6E8 80240D38 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240D3C_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240D3C_D999B0.s new file mode 100644 index 0000000000..015fb79d0b --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240D3C_D999B0.s @@ -0,0 +1,101 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C_D9A6EC +/* D9A6EC 80240D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9A6F0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D9A6F4 80240D44 0080802D */ daddu $s0, $a0, $zero +/* D9A6F8 80240D48 AFBF0014 */ sw $ra, 0x14($sp) +/* D9A6FC 80240D4C 8E020088 */ lw $v0, 0x88($s0) +/* D9A700 80240D50 14400017 */ bnez $v0, .L80240DB0 +/* D9A704 80240D54 24020001 */ addiu $v0, $zero, 1 +/* D9A708 80240D58 8E030084 */ lw $v1, 0x84($s0) +/* D9A70C 80240D5C 1062001A */ beq $v1, $v0, .L80240DC8 +/* D9A710 80240D60 00000000 */ nop +/* D9A714 80240D64 28620002 */ slti $v0, $v1, 2 +/* D9A718 80240D68 50400005 */ beql $v0, $zero, .L80240D80 +/* D9A71C 80240D6C 24020002 */ addiu $v0, $zero, 2 +/* D9A720 80240D70 10600007 */ beqz $v1, .L80240D90 +/* D9A724 80240D74 00000000 */ nop +/* D9A728 80240D78 08090378 */ j .L80240DE0 +/* D9A72C 80240D7C 00000000 */ nop +.L80240D80: +/* D9A730 80240D80 10620007 */ beq $v1, $v0, .L80240DA0 +/* D9A734 80240D84 00000000 */ nop +/* D9A738 80240D88 08090378 */ j .L80240DE0 +/* D9A73C 80240D8C 00000000 */ nop +.L80240D90: +/* D9A740 80240D90 3C048024 */ lui $a0, 0x8024 +/* D9A744 80240D94 24840E84 */ addiu $a0, $a0, 0xe84 +/* D9A748 80240D98 08090374 */ j .L80240DD0 +/* D9A74C 80240D9C 00000000 */ nop +.L80240DA0: +/* D9A750 80240DA0 3C048024 */ lui $a0, 0x8024 +/* D9A754 80240DA4 24840EEC */ addiu $a0, $a0, 0xeec +/* D9A758 80240DA8 08090374 */ j .L80240DD0 +/* D9A75C 80240DAC 00000000 */ nop +.L80240DB0: +/* D9A760 80240DB0 8E020084 */ lw $v0, 0x84($s0) +/* D9A764 80240DB4 0440000A */ bltz $v0, .L80240DE0 +/* D9A768 80240DB8 00000000 */ nop +/* D9A76C 80240DBC 28420002 */ slti $v0, $v0, 2 +/* D9A770 80240DC0 10400007 */ beqz $v0, .L80240DE0 +/* D9A774 80240DC4 00000000 */ nop +.L80240DC8: +/* D9A778 80240DC8 3C048024 */ lui $a0, 0x8024 +/* D9A77C 80240DCC 24840EB8 */ addiu $a0, $a0, 0xeb8 +.L80240DD0: +/* D9A780 80240DD0 0C048C56 */ jal bind_dynamic_entity_3 +/* D9A784 80240DD4 0000282D */ daddu $a1, $zero, $zero +/* D9A788 80240DD8 8E03013C */ lw $v1, 0x13c($s0) +/* D9A78C 80240DDC AC620004 */ sw $v0, 4($v1) +.L80240DE0: +/* D9A790 80240DE0 0C00EAD2 */ jal get_npc_safe +/* D9A794 80240DE4 2404FFFC */ addiu $a0, $zero, -4 +/* D9A798 80240DE8 0040282D */ daddu $a1, $v0, $zero +/* D9A79C 80240DEC 10A00021 */ beqz $a1, .L80240E74 +/* D9A7A0 80240DF0 24020002 */ addiu $v0, $zero, 2 +/* D9A7A4 80240DF4 8E020088 */ lw $v0, 0x88($s0) +/* D9A7A8 80240DF8 14400014 */ bnez $v0, .L80240E4C +/* D9A7AC 80240DFC 24020001 */ addiu $v0, $zero, 1 +/* D9A7B0 80240E00 8E040084 */ lw $a0, 0x84($s0) +/* D9A7B4 80240E04 10820016 */ beq $a0, $v0, .L80240E60 +/* D9A7B8 80240E08 28820002 */ slti $v0, $a0, 2 +/* D9A7BC 80240E0C 10400005 */ beqz $v0, .L80240E24 +/* D9A7C0 80240E10 24020002 */ addiu $v0, $zero, 2 +/* D9A7C4 80240E14 10800007 */ beqz $a0, .L80240E34 +/* D9A7C8 80240E18 00000000 */ nop +/* D9A7CC 80240E1C 0809039D */ j .L80240E74 +/* D9A7D0 80240E20 00000000 */ nop +.L80240E24: +/* D9A7D4 80240E24 10820006 */ beq $a0, $v0, .L80240E40 +/* D9A7D8 80240E28 24020002 */ addiu $v0, $zero, 2 +/* D9A7DC 80240E2C 0809039D */ j .L80240E74 +/* D9A7E0 80240E30 00000000 */ nop +.L80240E34: +/* D9A7E4 80240E34 8CA20000 */ lw $v0, ($a1) +/* D9A7E8 80240E38 0809039A */ j .L80240E68 +/* D9A7EC 80240E3C 3C03000A */ lui $v1, 0xa +.L80240E40: +/* D9A7F0 80240E40 8CA20000 */ lw $v0, ($a1) +/* D9A7F4 80240E44 0809039A */ j .L80240E68 +/* D9A7F8 80240E48 3C030002 */ lui $v1, 2 +.L80240E4C: +/* D9A7FC 80240E4C 8E020084 */ lw $v0, 0x84($s0) +/* D9A800 80240E50 04400007 */ bltz $v0, .L80240E70 +/* D9A804 80240E54 28420002 */ slti $v0, $v0, 2 +/* D9A808 80240E58 10400006 */ beqz $v0, .L80240E74 +/* D9A80C 80240E5C 24020002 */ addiu $v0, $zero, 2 +.L80240E60: +/* D9A810 80240E60 8CA20000 */ lw $v0, ($a1) +/* D9A814 80240E64 3C030008 */ lui $v1, 8 +.L80240E68: +/* D9A818 80240E68 00431025 */ or $v0, $v0, $v1 +/* D9A81C 80240E6C ACA20000 */ sw $v0, ($a1) +.L80240E70: +/* D9A820 80240E70 24020002 */ addiu $v0, $zero, 2 +.L80240E74: +/* D9A824 80240E74 8FBF0014 */ lw $ra, 0x14($sp) +/* D9A828 80240E78 8FB00010 */ lw $s0, 0x10($sp) +/* D9A82C 80240E7C 03E00008 */ jr $ra +/* D9A830 80240E80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240E84_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240E84_D999B0.s new file mode 100644 index 0000000000..b7a8aa4564 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240E84_D999B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E84_D9A834 +/* D9A834 80240E84 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9A838 80240E88 AFBF0010 */ sw $ra, 0x10($sp) +/* D9A83C 80240E8C 0C00EAD2 */ jal get_npc_safe +/* D9A840 80240E90 2404FFFC */ addiu $a0, $zero, -4 +/* D9A844 80240E94 0040202D */ daddu $a0, $v0, $zero +/* D9A848 80240E98 10800004 */ beqz $a0, .L80240EAC +/* D9A84C 80240E9C 3C03000A */ lui $v1, 0xa +/* D9A850 80240EA0 8C820000 */ lw $v0, ($a0) +/* D9A854 80240EA4 00431025 */ or $v0, $v0, $v1 +/* D9A858 80240EA8 AC820000 */ sw $v0, ($a0) +.L80240EAC: +/* D9A85C 80240EAC 8FBF0010 */ lw $ra, 0x10($sp) +/* D9A860 80240EB0 03E00008 */ jr $ra +/* D9A864 80240EB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240EB8_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240EB8_D999B0.s new file mode 100644 index 0000000000..f0f8949c32 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240EB8_D999B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EB8_D9A868 +/* D9A868 80240EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9A86C 80240EBC AFBF0010 */ sw $ra, 0x10($sp) +/* D9A870 80240EC0 0C00EAD2 */ jal get_npc_safe +/* D9A874 80240EC4 2404FFFC */ addiu $a0, $zero, -4 +/* D9A878 80240EC8 0040202D */ daddu $a0, $v0, $zero +/* D9A87C 80240ECC 10800004 */ beqz $a0, .L80240EE0 +/* D9A880 80240ED0 3C030008 */ lui $v1, 8 +/* D9A884 80240ED4 8C820000 */ lw $v0, ($a0) +/* D9A888 80240ED8 00431025 */ or $v0, $v0, $v1 +/* D9A88C 80240EDC AC820000 */ sw $v0, ($a0) +.L80240EE0: +/* D9A890 80240EE0 8FBF0010 */ lw $ra, 0x10($sp) +/* D9A894 80240EE4 03E00008 */ jr $ra +/* D9A898 80240EE8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_pra/pra_40/func_80240EEC_D999B0.s b/asm/nonmatchings/world/area_pra/pra_40/func_80240EEC_D999B0.s new file mode 100644 index 0000000000..f5d4965a22 --- /dev/null +++ b/asm/nonmatchings/world/area_pra/pra_40/func_80240EEC_D999B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EEC_D9A89C +/* D9A89C 80240EEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D9A8A0 80240EF0 AFBF0010 */ sw $ra, 0x10($sp) +/* D9A8A4 80240EF4 0C00EAD2 */ jal get_npc_safe +/* D9A8A8 80240EF8 2404FFFC */ addiu $a0, $zero, -4 +/* D9A8AC 80240EFC 0040202D */ daddu $a0, $v0, $zero +/* D9A8B0 80240F00 10800004 */ beqz $a0, .L80240F14 +/* D9A8B4 80240F04 3C030002 */ lui $v1, 2 +/* D9A8B8 80240F08 8C820000 */ lw $v0, ($a0) +/* D9A8BC 80240F0C 00431025 */ or $v0, $v0, $v1 +/* D9A8C0 80240F10 AC820000 */ sw $v0, ($a0) +.L80240F14: +/* D9A8C4 80240F14 8FBF0010 */ lw $ra, 0x10($sp) +/* D9A8C8 80240F18 03E00008 */ jr $ra +/* D9A8CC 80240F1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240000_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240000_CF7B70.s new file mode 100644 index 0000000000..d62b792d2e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240000_CF7B70.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_CF7B70 +/* CF7B70 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF7B74 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* CF7B78 80240008 0080802D */ daddu $s0, $a0, $zero +/* CF7B7C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* CF7B80 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* CF7B84 80240014 8E020088 */ lw $v0, 0x88($s0) +/* CF7B88 80240018 00621821 */ addu $v1, $v1, $v0 +/* CF7B8C 8024001C 04610004 */ bgez $v1, .L80240030 +/* CF7B90 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* CF7B94 80240024 3C020002 */ lui $v0, 2 +/* CF7B98 80240028 08090010 */ j .L80240040 +/* CF7B9C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* CF7BA0 80240030 3C040002 */ lui $a0, 2 +/* CF7BA4 80240034 0083102A */ slt $v0, $a0, $v1 +/* CF7BA8 80240038 10400002 */ beqz $v0, .L80240044 +/* CF7BAC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* CF7BB0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* CF7BB4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* CF7BB8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* CF7BBC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* CF7BC0 80240050 04610004 */ bgez $v1, .L80240064 +/* CF7BC4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* CF7BC8 80240058 3C020002 */ lui $v0, 2 +/* CF7BCC 8024005C 0809001D */ j .L80240074 +/* CF7BD0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* CF7BD4 80240064 3C040002 */ lui $a0, 2 +/* CF7BD8 80240068 0083102A */ slt $v0, $a0, $v1 +/* CF7BDC 8024006C 10400002 */ beqz $v0, .L80240078 +/* CF7BE0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* CF7BE4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* CF7BE8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* CF7BEC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* CF7BF0 80240080 00621821 */ addu $v1, $v1, $v0 +/* CF7BF4 80240084 04610004 */ bgez $v1, .L80240098 +/* CF7BF8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* CF7BFC 8024008C 3C020002 */ lui $v0, 2 +/* CF7C00 80240090 0809002A */ j .L802400A8 +/* CF7C04 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* CF7C08 80240098 3C040002 */ lui $a0, 2 +/* CF7C0C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* CF7C10 802400A0 10400002 */ beqz $v0, .L802400AC +/* CF7C14 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* CF7C18 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* CF7C1C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* CF7C20 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* CF7C24 802400B4 00621821 */ addu $v1, $v1, $v0 +/* CF7C28 802400B8 04610004 */ bgez $v1, .L802400CC +/* CF7C2C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* CF7C30 802400C0 3C020002 */ lui $v0, 2 +/* CF7C34 802400C4 08090037 */ j .L802400DC +/* CF7C38 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* CF7C3C 802400CC 3C040002 */ lui $a0, 2 +/* CF7C40 802400D0 0083102A */ slt $v0, $a0, $v1 +/* CF7C44 802400D4 10400002 */ beqz $v0, .L802400E0 +/* CF7C48 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* CF7C4C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* CF7C50 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* CF7C54 802400E4 0C046F07 */ jal set_main_pan_u +/* CF7C58 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* CF7C5C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* CF7C60 802400F0 0C046F0D */ jal set_main_pan_v +/* CF7C64 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* CF7C68 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* CF7C6C 802400FC 0C046F13 */ jal set_aux_pan_u +/* CF7C70 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* CF7C74 80240104 8E040084 */ lw $a0, 0x84($s0) +/* CF7C78 80240108 0C046F19 */ jal set_aux_pan_v +/* CF7C7C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* CF7C80 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* CF7C84 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* CF7C88 80240118 0000102D */ daddu $v0, $zero, $zero +/* CF7C8C 8024011C 03E00008 */ jr $ra +/* CF7C90 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240124_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240124_CF7B70.s new file mode 100644 index 0000000000..cb05aae46a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240124_CF7B70.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_CF7C94 +/* CF7C94 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF7C98 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* CF7C9C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* CF7CA0 80240130 10A00005 */ beqz $a1, .L80240148 +/* CF7CA4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* CF7CA8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* CF7CAC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* CF7CB0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* CF7CB4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* CF7CB8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* CF7CBC 8024014C 1440000E */ bnez $v0, .L80240188 +/* CF7CC0 80240150 00000000 */ nop +/* CF7CC4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* CF7CC8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* CF7CCC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* CF7CD0 80240160 04610004 */ bgez $v1, .L80240174 +/* CF7CD4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* CF7CD8 80240168 3C020002 */ lui $v0, 2 +/* CF7CDC 8024016C 08090061 */ j .L80240184 +/* CF7CE0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* CF7CE4 80240174 3C040002 */ lui $a0, 2 +/* CF7CE8 80240178 0083102A */ slt $v0, $a0, $v1 +/* CF7CEC 8024017C 10400002 */ beqz $v0, .L80240188 +/* CF7CF0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* CF7CF4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* CF7CF8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* CF7CFC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* CF7D00 80240190 00000000 */ nop +/* CF7D04 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* CF7D08 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* CF7D0C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* CF7D10 802401A0 04610004 */ bgez $v1, .L802401B4 +/* CF7D14 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* CF7D18 802401A8 3C020002 */ lui $v0, 2 +/* CF7D1C 802401AC 08090071 */ j .L802401C4 +/* CF7D20 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* CF7D24 802401B4 3C040002 */ lui $a0, 2 +/* CF7D28 802401B8 0083102A */ slt $v0, $a0, $v1 +/* CF7D2C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* CF7D30 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* CF7D34 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* CF7D38 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* CF7D3C 802401CC 1440000E */ bnez $v0, .L80240208 +/* CF7D40 802401D0 00000000 */ nop +/* CF7D44 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* CF7D48 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* CF7D4C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* CF7D50 802401E0 04610004 */ bgez $v1, .L802401F4 +/* CF7D54 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* CF7D58 802401E8 3C020002 */ lui $v0, 2 +/* CF7D5C 802401EC 08090081 */ j .L80240204 +/* CF7D60 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* CF7D64 802401F4 3C040002 */ lui $a0, 2 +/* CF7D68 802401F8 0083102A */ slt $v0, $a0, $v1 +/* CF7D6C 802401FC 10400002 */ beqz $v0, .L80240208 +/* CF7D70 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* CF7D74 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* CF7D78 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* CF7D7C 8024020C 1440000E */ bnez $v0, .L80240248 +/* CF7D80 80240210 00000000 */ nop +/* CF7D84 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* CF7D88 80240218 8E020094 */ lw $v0, 0x94($s0) +/* CF7D8C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* CF7D90 80240220 04610004 */ bgez $v1, .L80240234 +/* CF7D94 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* CF7D98 80240228 3C020002 */ lui $v0, 2 +/* CF7D9C 8024022C 08090091 */ j .L80240244 +/* CF7DA0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* CF7DA4 80240234 3C040002 */ lui $a0, 2 +/* CF7DA8 80240238 0083102A */ slt $v0, $a0, $v1 +/* CF7DAC 8024023C 10400002 */ beqz $v0, .L80240248 +/* CF7DB0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* CF7DB4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* CF7DB8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* CF7DBC 8024024C 0C046F07 */ jal set_main_pan_u +/* CF7DC0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* CF7DC4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* CF7DC8 80240258 0C046F0D */ jal set_main_pan_v +/* CF7DCC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* CF7DD0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* CF7DD4 80240264 0C046F13 */ jal set_aux_pan_u +/* CF7DD8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* CF7DDC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* CF7DE0 80240270 0C046F19 */ jal set_aux_pan_v +/* CF7DE4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* CF7DE8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* CF7DEC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* CF7DF0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* CF7DF4 80240284 24420001 */ addiu $v0, $v0, 1 +/* CF7DF8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* CF7DFC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* CF7E00 80240290 24630001 */ addiu $v1, $v1, 1 +/* CF7E04 80240294 AE030078 */ sw $v1, 0x78($s0) +/* CF7E08 80240298 8E030070 */ lw $v1, 0x70($s0) +/* CF7E0C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* CF7E10 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* CF7E14 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* CF7E18 802402A8 0064182A */ slt $v1, $v1, $a0 +/* CF7E1C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* CF7E20 802402B0 14600002 */ bnez $v1, .L802402BC +/* CF7E24 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* CF7E28 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* CF7E2C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* CF7E30 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* CF7E34 802402C4 0043102A */ slt $v0, $v0, $v1 +/* CF7E38 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* CF7E3C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* CF7E40 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* CF7E44 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* CF7E48 802402D8 0043102A */ slt $v0, $v0, $v1 +/* CF7E4C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* CF7E50 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* CF7E54 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* CF7E58 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* CF7E5C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* CF7E60 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* CF7E64 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* CF7E68 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* CF7E6C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* CF7E70 80240300 0000102D */ daddu $v0, $zero, $zero +/* CF7E74 80240304 03E00008 */ jr $ra +/* CF7E78 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* CF7E7C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240310_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240310_CF7B70.s new file mode 100644 index 0000000000..fa72f354f1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240310_CF7B70.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_CF7E80 +/* CF7E80 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF7E84 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* CF7E88 80240318 0080882D */ daddu $s1, $a0, $zero +/* CF7E8C 8024031C AFBF0018 */ sw $ra, 0x18($sp) +/* CF7E90 80240320 AFB00010 */ sw $s0, 0x10($sp) +/* CF7E94 80240324 8E30000C */ lw $s0, 0xc($s1) +/* CF7E98 80240328 8E050000 */ lw $a1, ($s0) +/* CF7E9C 8024032C 0C0B1EAF */ jal get_variable +/* CF7EA0 80240330 26100004 */ addiu $s0, $s0, 4 +/* CF7EA4 80240334 0C00EAD2 */ jal get_npc_safe +/* CF7EA8 80240338 0040202D */ daddu $a0, $v0, $zero +/* CF7EAC 8024033C 10400005 */ beqz $v0, .L80240354 +/* CF7EB0 80240340 00000000 */ nop +/* CF7EB4 80240344 8E050000 */ lw $a1, ($s0) +/* CF7EB8 80240348 844600A8 */ lh $a2, 0xa8($v0) +/* CF7EBC 8024034C 0C0B2026 */ jal set_variable +/* CF7EC0 80240350 0220202D */ daddu $a0, $s1, $zero +.L80240354: +/* CF7EC4 80240354 8FBF0018 */ lw $ra, 0x18($sp) +/* CF7EC8 80240358 8FB10014 */ lw $s1, 0x14($sp) +/* CF7ECC 8024035C 8FB00010 */ lw $s0, 0x10($sp) +/* CF7ED0 80240360 24020002 */ addiu $v0, $zero, 2 +/* CF7ED4 80240364 03E00008 */ jr $ra +/* CF7ED8 80240368 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024036C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024036C_CF7B70.s new file mode 100644 index 0000000000..3af04e028a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024036C_CF7B70.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_CF7EDC +/* CF7EDC 8024036C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF7EE0 80240370 AFB10014 */ sw $s1, 0x14($sp) +/* CF7EE4 80240374 0080882D */ daddu $s1, $a0, $zero +/* CF7EE8 80240378 AFBF0024 */ sw $ra, 0x24($sp) +/* CF7EEC 8024037C AFB40020 */ sw $s4, 0x20($sp) +/* CF7EF0 80240380 AFB3001C */ sw $s3, 0x1c($sp) +/* CF7EF4 80240384 AFB20018 */ sw $s2, 0x18($sp) +/* CF7EF8 80240388 AFB00010 */ sw $s0, 0x10($sp) +/* CF7EFC 8024038C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CF7F00 80240390 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CF7F04 80240394 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CF7F08 80240398 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CF7F0C 8024039C F7B40028 */ sdc1 $f20, 0x28($sp) +/* CF7F10 802403A0 8E30000C */ lw $s0, 0xc($s1) +/* CF7F14 802403A4 8E130000 */ lw $s3, ($s0) +/* CF7F18 802403A8 26100004 */ addiu $s0, $s0, 4 +/* CF7F1C 802403AC 0C0B1EAF */ jal get_variable +/* CF7F20 802403B0 0260282D */ daddu $a1, $s3, $zero +/* CF7F24 802403B4 4482E000 */ mtc1 $v0, $f28 +/* CF7F28 802403B8 00000000 */ nop +/* CF7F2C 802403BC 4680E720 */ cvt.s.w $f28, $f28 +/* CF7F30 802403C0 8E140000 */ lw $s4, ($s0) +/* CF7F34 802403C4 26100004 */ addiu $s0, $s0, 4 +/* CF7F38 802403C8 0220202D */ daddu $a0, $s1, $zero +/* CF7F3C 802403CC 0C0B1EAF */ jal get_variable +/* CF7F40 802403D0 0280282D */ daddu $a1, $s4, $zero +/* CF7F44 802403D4 4482D000 */ mtc1 $v0, $f26 +/* CF7F48 802403D8 00000000 */ nop +/* CF7F4C 802403DC 4680D6A0 */ cvt.s.w $f26, $f26 +/* CF7F50 802403E0 8E100000 */ lw $s0, ($s0) +/* CF7F54 802403E4 0220202D */ daddu $a0, $s1, $zero +/* CF7F58 802403E8 0C0B1EAF */ jal get_variable +/* CF7F5C 802403EC 0200282D */ daddu $a1, $s0, $zero +/* CF7F60 802403F0 4482C000 */ mtc1 $v0, $f24 +/* CF7F64 802403F4 00000000 */ nop +/* CF7F68 802403F8 4680C620 */ cvt.s.w $f24, $f24 +/* CF7F6C 802403FC 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* CF7F70 80240400 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* CF7F74 80240404 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* CF7F78 80240408 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* CF7F7C 8024040C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* CF7F80 80240410 44800000 */ mtc1 $zero, $f0 +/* CF7F84 80240414 00031080 */ sll $v0, $v1, 2 +/* CF7F88 80240418 00431021 */ addu $v0, $v0, $v1 +/* CF7F8C 8024041C 00021080 */ sll $v0, $v0, 2 +/* CF7F90 80240420 00431023 */ subu $v0, $v0, $v1 +/* CF7F94 80240424 000218C0 */ sll $v1, $v0, 3 +/* CF7F98 80240428 00431021 */ addu $v0, $v0, $v1 +/* CF7F9C 8024042C 000210C0 */ sll $v0, $v0, 3 +/* CF7FA0 80240430 46001032 */ c.eq.s $f2, $f0 +/* CF7FA4 80240434 3C01800B */ lui $at, 0x800b +/* CF7FA8 80240438 00220821 */ addu $at, $at, $v0 +/* CF7FAC 8024043C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* CF7FB0 80240440 45000005 */ bc1f .L80240458 +/* CF7FB4 80240444 00000000 */ nop +/* CF7FB8 80240448 3C0142C8 */ lui $at, 0x42c8 +/* CF7FBC 8024044C 44810000 */ mtc1 $at, $f0 +/* CF7FC0 80240450 0809011A */ j .L80240468 +/* CF7FC4 80240454 4600B581 */ sub.s $f22, $f22, $f0 +.L80240458: +/* CF7FC8 80240458 3C0142C8 */ lui $at, 0x42c8 +/* CF7FCC 8024045C 44810000 */ mtc1 $at, $f0 +/* CF7FD0 80240460 00000000 */ nop +/* CF7FD4 80240464 4600B580 */ add.s $f22, $f22, $f0 +.L80240468: +/* CF7FD8 80240468 0C00A6C9 */ jal clamp_angle +/* CF7FDC 8024046C 4600B306 */ mov.s $f12, $f22 +/* CF7FE0 80240470 46000586 */ mov.s $f22, $f0 +/* CF7FE4 80240474 3C014170 */ lui $at, 0x4170 +/* CF7FE8 80240478 4481A000 */ mtc1 $at, $f20 +/* CF7FEC 8024047C 0C00A8BB */ jal sin_deg +/* CF7FF0 80240480 4600B306 */ mov.s $f12, $f22 +/* CF7FF4 80240484 46140002 */ mul.s $f0, $f0, $f20 +/* CF7FF8 80240488 00000000 */ nop +/* CF7FFC 8024048C 864200B0 */ lh $v0, 0xb0($s2) +/* CF8000 80240490 3C013F00 */ lui $at, 0x3f00 +/* CF8004 80240494 44812000 */ mtc1 $at, $f4 +/* CF8008 80240498 44821000 */ mtc1 $v0, $f2 +/* CF800C 8024049C 00000000 */ nop +/* CF8010 802404A0 468010A0 */ cvt.s.w $f2, $f2 +/* CF8014 802404A4 46041082 */ mul.s $f2, $f2, $f4 +/* CF8018 802404A8 00000000 */ nop +/* CF801C 802404AC 4600E700 */ add.s $f28, $f28, $f0 +/* CF8020 802404B0 4602D680 */ add.s $f26, $f26, $f2 +/* CF8024 802404B4 0C00A8D4 */ jal cos_deg +/* CF8028 802404B8 4600B306 */ mov.s $f12, $f22 +/* CF802C 802404BC 46140002 */ mul.s $f0, $f0, $f20 +/* CF8030 802404C0 00000000 */ nop +/* CF8034 802404C4 0220202D */ daddu $a0, $s1, $zero +/* CF8038 802404C8 0260282D */ daddu $a1, $s3, $zero +/* CF803C 802404CC 4600E18D */ trunc.w.s $f6, $f28 +/* CF8040 802404D0 44063000 */ mfc1 $a2, $f6 +/* CF8044 802404D4 0C0B2026 */ jal set_variable +/* CF8048 802404D8 4600C601 */ sub.s $f24, $f24, $f0 +/* CF804C 802404DC 0220202D */ daddu $a0, $s1, $zero +/* CF8050 802404E0 4600D18D */ trunc.w.s $f6, $f26 +/* CF8054 802404E4 44063000 */ mfc1 $a2, $f6 +/* CF8058 802404E8 0C0B2026 */ jal set_variable +/* CF805C 802404EC 0280282D */ daddu $a1, $s4, $zero +/* CF8060 802404F0 0220202D */ daddu $a0, $s1, $zero +/* CF8064 802404F4 4600C18D */ trunc.w.s $f6, $f24 +/* CF8068 802404F8 44063000 */ mfc1 $a2, $f6 +/* CF806C 802404FC 0C0B2026 */ jal set_variable +/* CF8070 80240500 0200282D */ daddu $a1, $s0, $zero +/* CF8074 80240504 8FBF0024 */ lw $ra, 0x24($sp) +/* CF8078 80240508 8FB40020 */ lw $s4, 0x20($sp) +/* CF807C 8024050C 8FB3001C */ lw $s3, 0x1c($sp) +/* CF8080 80240510 8FB20018 */ lw $s2, 0x18($sp) +/* CF8084 80240514 8FB10014 */ lw $s1, 0x14($sp) +/* CF8088 80240518 8FB00010 */ lw $s0, 0x10($sp) +/* CF808C 8024051C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CF8090 80240520 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CF8094 80240524 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CF8098 80240528 D7B60030 */ ldc1 $f22, 0x30($sp) +/* CF809C 8024052C D7B40028 */ ldc1 $f20, 0x28($sp) +/* CF80A0 80240530 24020002 */ addiu $v0, $zero, 2 +/* CF80A4 80240534 03E00008 */ jr $ra +/* CF80A8 80240538 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024053C.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024053C.s new file mode 100644 index 0000000000..780e44a130 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024053C.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024053C +/* CF80AC 8024053C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF80B0 80240540 AFBF0010 */ sw $ra, 0x10($sp) +/* CF80B4 80240544 10A00003 */ beqz $a1, .L80240554 +/* CF80B8 80240548 8C86000C */ lw $a2, 0xc($a0) +/* CF80BC 8024054C 3C018024 */ lui $at, 0x8024 +/* CF80C0 80240550 AC2032D0 */ sw $zero, 0x32d0($at) +.L80240554: +/* CF80C4 80240554 3C038024 */ lui $v1, 0x8024 +/* CF80C8 80240558 246332D0 */ addiu $v1, $v1, 0x32d0 +/* CF80CC 8024055C 8C620000 */ lw $v0, ($v1) +/* CF80D0 80240560 54400003 */ bnel $v0, $zero, .L80240570 +/* CF80D4 80240564 AC600000 */ sw $zero, ($v1) +/* CF80D8 80240568 08090161 */ j .L80240584 +/* CF80DC 8024056C 0000102D */ daddu $v0, $zero, $zero +.L80240570: +/* CF80E0 80240570 8CC50000 */ lw $a1, ($a2) +/* CF80E4 80240574 3C068024 */ lui $a2, 0x8024 +/* CF80E8 80240578 0C0B2026 */ jal set_variable +/* CF80EC 8024057C 8CC632D4 */ lw $a2, 0x32d4($a2) +/* CF80F0 80240580 24020002 */ addiu $v0, $zero, 2 +.L80240584: +/* CF80F4 80240584 8FBF0010 */ lw $ra, 0x10($sp) +/* CF80F8 80240588 03E00008 */ jr $ra +/* CF80FC 8024058C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240590_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240590_CF7B70.s new file mode 100644 index 0000000000..2d7fa2b4ac --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240590_CF7B70.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240590_CF8100 +/* CF8100 80240590 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8104 80240594 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8108 80240598 8C82000C */ lw $v0, 0xc($a0) +/* CF810C 8024059C 0C0B1EAF */ jal get_variable +/* CF8110 802405A0 8C450000 */ lw $a1, ($v0) +/* CF8114 802405A4 3C018024 */ lui $at, 0x8024 +/* CF8118 802405A8 AC2232D4 */ sw $v0, 0x32d4($at) +/* CF811C 802405AC 24020002 */ addiu $v0, $zero, 2 +/* CF8120 802405B0 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8124 802405B4 24030001 */ addiu $v1, $zero, 1 +/* CF8128 802405B8 3C018024 */ lui $at, 0x8024 +/* CF812C 802405BC AC2332D0 */ sw $v1, 0x32d0($at) +/* CF8130 802405C0 03E00008 */ jr $ra +/* CF8134 802405C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_802405C8_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_802405C8_CF7B70.s new file mode 100644 index 0000000000..93409d509e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_802405C8_CF7B70.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C8_CF8138 +/* CF8138 802405C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF813C 802405CC AFBF0010 */ sw $ra, 0x10($sp) +/* CF8140 802405D0 8C82000C */ lw $v0, 0xc($a0) +/* CF8144 802405D4 0C0B1EAF */ jal get_variable +/* CF8148 802405D8 8C450000 */ lw $a1, ($v0) +/* CF814C 802405DC 0040182D */ daddu $v1, $v0, $zero +/* CF8150 802405E0 10600012 */ beqz $v1, .L8024062C +/* CF8154 802405E4 0000202D */ daddu $a0, $zero, $zero +/* CF8158 802405E8 8C620000 */ lw $v0, ($v1) +/* CF815C 802405EC 5040000A */ beql $v0, $zero, .L80240618 +/* CF8160 802405F0 00041080 */ sll $v0, $a0, 2 +/* CF8164 802405F4 3C058025 */ lui $a1, 0x8025 +/* CF8168 802405F8 24A5DBC0 */ addiu $a1, $a1, -0x2440 +.L802405FC: +/* CF816C 802405FC 24630004 */ addiu $v1, $v1, 4 +/* CF8170 80240600 24840001 */ addiu $a0, $a0, 1 +/* CF8174 80240604 ACA20000 */ sw $v0, ($a1) +/* CF8178 80240608 8C620000 */ lw $v0, ($v1) +/* CF817C 8024060C 1440FFFB */ bnez $v0, .L802405FC +/* CF8180 80240610 24A50004 */ addiu $a1, $a1, 4 +/* CF8184 80240614 00041080 */ sll $v0, $a0, 2 +.L80240618: +/* CF8188 80240618 3C018025 */ lui $at, 0x8025 +/* CF818C 8024061C 00220821 */ addu $at, $at, $v0 +/* CF8190 80240620 AC20DBC0 */ sw $zero, -0x2440($at) +/* CF8194 80240624 08090195 */ j .L80240654 +/* CF8198 80240628 00000000 */ nop +.L8024062C: +/* CF819C 8024062C 3C038025 */ lui $v1, 0x8025 +/* CF81A0 80240630 2463DBC0 */ addiu $v1, $v1, -0x2440 +/* CF81A4 80240634 0060282D */ daddu $a1, $v1, $zero +.L80240638: +/* CF81A8 80240638 24820010 */ addiu $v0, $a0, 0x10 +/* CF81AC 8024063C AC620000 */ sw $v0, ($v1) +/* CF81B0 80240640 24630004 */ addiu $v1, $v1, 4 +/* CF81B4 80240644 24840001 */ addiu $a0, $a0, 1 +/* CF81B8 80240648 28820070 */ slti $v0, $a0, 0x70 +/* CF81BC 8024064C 1440FFFA */ bnez $v0, .L80240638 +/* CF81C0 80240650 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240654: +/* CF81C4 80240654 8FBF0010 */ lw $ra, 0x10($sp) +/* CF81C8 80240658 24020002 */ addiu $v0, $zero, 2 +/* CF81CC 8024065C 03E00008 */ jr $ra +/* CF81D0 80240660 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240664.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240664.s new file mode 100644 index 0000000000..0d94ec00e9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240664.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240664 +/* CF81D4 80240664 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF81D8 80240668 AFBF0010 */ sw $ra, 0x10($sp) +/* CF81DC 8024066C 8C82000C */ lw $v0, 0xc($a0) +/* CF81E0 80240670 0C0B1EAF */ jal get_variable +/* CF81E4 80240674 8C450000 */ lw $a1, ($v0) +/* CF81E8 80240678 0040182D */ daddu $v1, $v0, $zero +/* CF81EC 8024067C 10600012 */ beqz $v1, .L802406C8 +/* CF81F0 80240680 0000202D */ daddu $a0, $zero, $zero +/* CF81F4 80240684 8C620000 */ lw $v0, ($v1) +/* CF81F8 80240688 5040000A */ beql $v0, $zero, .L802406B4 +/* CF81FC 8024068C 00041080 */ sll $v0, $a0, 2 +/* CF8200 80240690 3C058025 */ lui $a1, 0x8025 +/* CF8204 80240694 24A5DD88 */ addiu $a1, $a1, -0x2278 +.L80240698: +/* CF8208 80240698 24630004 */ addiu $v1, $v1, 4 +/* CF820C 8024069C 24840001 */ addiu $a0, $a0, 1 +/* CF8210 802406A0 ACA20000 */ sw $v0, ($a1) +/* CF8214 802406A4 8C620000 */ lw $v0, ($v1) +/* CF8218 802406A8 1440FFFB */ bnez $v0, .L80240698 +/* CF821C 802406AC 24A50004 */ addiu $a1, $a1, 4 +/* CF8220 802406B0 00041080 */ sll $v0, $a0, 2 +.L802406B4: +/* CF8224 802406B4 3C018025 */ lui $at, 0x8025 +/* CF8228 802406B8 00220821 */ addu $at, $at, $v0 +/* CF822C 802406BC AC20DD88 */ sw $zero, -0x2278($at) +/* CF8230 802406C0 080901BC */ j .L802406F0 +/* CF8234 802406C4 00000000 */ nop +.L802406C8: +/* CF8238 802406C8 3C038025 */ lui $v1, 0x8025 +/* CF823C 802406CC 2463DD88 */ addiu $v1, $v1, -0x2278 +/* CF8240 802406D0 0060282D */ daddu $a1, $v1, $zero +.L802406D4: +/* CF8244 802406D4 24820080 */ addiu $v0, $a0, 0x80 +/* CF8248 802406D8 AC620000 */ sw $v0, ($v1) +/* CF824C 802406DC 24630004 */ addiu $v1, $v1, 4 +/* CF8250 802406E0 24840001 */ addiu $a0, $a0, 1 +/* CF8254 802406E4 2882005B */ slti $v0, $a0, 0x5b +/* CF8258 802406E8 1440FFFA */ bnez $v0, .L802406D4 +/* CF825C 802406EC ACA0016C */ sw $zero, 0x16c($a1) +.L802406F0: +/* CF8260 802406F0 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8264 802406F4 24020002 */ addiu $v0, $zero, 2 +/* CF8268 802406F8 03E00008 */ jr $ra +/* CF826C 802406FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240700.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240700.s new file mode 100644 index 0000000000..672d8a5bfb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240700.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240700 +/* CF8270 80240700 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF8274 80240704 AFB00010 */ sw $s0, 0x10($sp) +/* CF8278 80240708 3C108024 */ lui $s0, 0x8024 +/* CF827C 8024070C 261035F0 */ addiu $s0, $s0, 0x35f0 +/* CF8280 80240710 AFBF0018 */ sw $ra, 0x18($sp) +/* CF8284 80240714 AFB10014 */ sw $s1, 0x14($sp) +/* CF8288 80240718 8E020000 */ lw $v0, ($s0) +/* CF828C 8024071C 14400010 */ bnez $v0, .L80240760 +/* CF8290 80240720 0080882D */ daddu $s1, $a0, $zero +/* CF8294 80240724 0C00AB39 */ jal heap_malloc +/* CF8298 80240728 24040040 */ addiu $a0, $zero, 0x40 +/* CF829C 8024072C AE020000 */ sw $v0, ($s0) +/* CF82A0 80240730 0000182D */ daddu $v1, $zero, $zero +/* CF82A4 80240734 0040282D */ daddu $a1, $v0, $zero +/* CF82A8 80240738 0220202D */ daddu $a0, $s1, $zero +.L8024073C: +/* CF82AC 8024073C 8C820084 */ lw $v0, 0x84($a0) +/* CF82B0 80240740 24840004 */ addiu $a0, $a0, 4 +/* CF82B4 80240744 24630001 */ addiu $v1, $v1, 1 +/* CF82B8 80240748 ACA20000 */ sw $v0, ($a1) +/* CF82BC 8024074C 28620010 */ slti $v0, $v1, 0x10 +/* CF82C0 80240750 1440FFFA */ bnez $v0, .L8024073C +/* CF82C4 80240754 24A50004 */ addiu $a1, $a1, 4 +/* CF82C8 80240758 080901E7 */ j .L8024079C +/* CF82CC 8024075C 00000000 */ nop +.L80240760: +/* CF82D0 80240760 0000182D */ daddu $v1, $zero, $zero +/* CF82D4 80240764 0040282D */ daddu $a1, $v0, $zero +/* CF82D8 80240768 0220202D */ daddu $a0, $s1, $zero +.L8024076C: +/* CF82DC 8024076C 8CA20000 */ lw $v0, ($a1) +/* CF82E0 80240770 24A50004 */ addiu $a1, $a1, 4 +/* CF82E4 80240774 24630001 */ addiu $v1, $v1, 1 +/* CF82E8 80240778 AC820084 */ sw $v0, 0x84($a0) +/* CF82EC 8024077C 28620010 */ slti $v0, $v1, 0x10 +/* CF82F0 80240780 1440FFFA */ bnez $v0, .L8024076C +/* CF82F4 80240784 24840004 */ addiu $a0, $a0, 4 +/* CF82F8 80240788 3C108024 */ lui $s0, 0x8024 +/* CF82FC 8024078C 261035F0 */ addiu $s0, $s0, 0x35f0 +/* CF8300 80240790 0C00AB4B */ jal heap_free +/* CF8304 80240794 8E040000 */ lw $a0, ($s0) +/* CF8308 80240798 AE000000 */ sw $zero, ($s0) +.L8024079C: +/* CF830C 8024079C 8FBF0018 */ lw $ra, 0x18($sp) +/* CF8310 802407A0 8FB10014 */ lw $s1, 0x14($sp) +/* CF8314 802407A4 8FB00010 */ lw $s0, 0x10($sp) +/* CF8318 802407A8 24020002 */ addiu $v0, $zero, 2 +/* CF831C 802407AC 03E00008 */ jr $ra +/* CF8320 802407B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_802407B4.s b/asm/nonmatchings/world/area_sam/sam_01/func_802407B4.s new file mode 100644 index 0000000000..f0e6e226ac --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_802407B4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407B4 +/* CF8324 802407B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF8328 802407B8 AFB00010 */ sw $s0, 0x10($sp) +/* CF832C 802407BC 0080802D */ daddu $s0, $a0, $zero +/* CF8330 802407C0 AFBF0018 */ sw $ra, 0x18($sp) +/* CF8334 802407C4 AFB10014 */ sw $s1, 0x14($sp) +/* CF8338 802407C8 8E02000C */ lw $v0, 0xc($s0) +/* CF833C 802407CC 8C510000 */ lw $s1, ($v0) +/* CF8340 802407D0 0C0B1EAF */ jal get_variable +/* CF8344 802407D4 0220282D */ daddu $a1, $s1, $zero +/* CF8348 802407D8 3C03FFF0 */ lui $v1, 0xfff0 +/* CF834C 802407DC 3463FFFF */ ori $v1, $v1, 0xffff +/* CF8350 802407E0 0200202D */ daddu $a0, $s0, $zero +/* CF8354 802407E4 00431024 */ and $v0, $v0, $v1 +/* CF8358 802407E8 00021140 */ sll $v0, $v0, 5 +/* CF835C 802407EC 3C068008 */ lui $a2, %hi(gItemTable) +/* CF8360 802407F0 00C23021 */ addu $a2, $a2, $v0 +/* CF8364 802407F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CF8368 802407F8 0C0B2026 */ jal set_variable +/* CF836C 802407FC 0220282D */ daddu $a1, $s1, $zero +/* CF8370 80240800 8FBF0018 */ lw $ra, 0x18($sp) +/* CF8374 80240804 8FB10014 */ lw $s1, 0x14($sp) +/* CF8378 80240808 8FB00010 */ lw $s0, 0x10($sp) +/* CF837C 8024080C 24020002 */ addiu $v0, $zero, 2 +/* CF8380 80240810 03E00008 */ jr $ra +/* CF8384 80240814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240818_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240818_CF7B70.s new file mode 100644 index 0000000000..dadba2d8a8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240818_CF7B70.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240818_CF8388 +/* CF8388 80240818 24020001 */ addiu $v0, $zero, 1 +/* CF838C 8024081C 3C018015 */ lui $at, %hi(D_80151310) +/* CF8390 80240820 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* CF8394 80240824 03E00008 */ jr $ra +/* CF8398 80240828 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024082C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024082C_CF7B70.s new file mode 100644 index 0000000000..3aa0d280ba --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024082C_CF7B70.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024082C_CF839C +/* CF839C 8024082C 3C018015 */ lui $at, %hi(D_80151310) +/* CF83A0 80240830 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* CF83A4 80240834 03E00008 */ jr $ra +/* CF83A8 80240838 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024083C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024083C_CF7B70.s new file mode 100644 index 0000000000..75704cbdd6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024083C_CF7B70.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024083C_CF83AC +/* CF83AC 8024083C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CF83B0 80240840 AFB10024 */ sw $s1, 0x24($sp) +/* CF83B4 80240844 0080882D */ daddu $s1, $a0, $zero +/* CF83B8 80240848 3C05F840 */ lui $a1, 0xf840 +/* CF83BC 8024084C AFBF0044 */ sw $ra, 0x44($sp) +/* CF83C0 80240850 AFBE0040 */ sw $fp, 0x40($sp) +/* CF83C4 80240854 AFB7003C */ sw $s7, 0x3c($sp) +/* CF83C8 80240858 AFB60038 */ sw $s6, 0x38($sp) +/* CF83CC 8024085C AFB50034 */ sw $s5, 0x34($sp) +/* CF83D0 80240860 AFB40030 */ sw $s4, 0x30($sp) +/* CF83D4 80240864 AFB3002C */ sw $s3, 0x2c($sp) +/* CF83D8 80240868 AFB20028 */ sw $s2, 0x28($sp) +/* CF83DC 8024086C AFB00020 */ sw $s0, 0x20($sp) +/* CF83E0 80240870 8E3E0148 */ lw $fp, 0x148($s1) +/* CF83E4 80240874 0C0B1EAF */ jal get_variable +/* CF83E8 80240878 34A56268 */ ori $a1, $a1, 0x6268 +/* CF83EC 8024087C 0040802D */ daddu $s0, $v0, $zero +/* CF83F0 80240880 0220202D */ daddu $a0, $s1, $zero +/* CF83F4 80240884 3C05F840 */ lui $a1, 0xf840 +/* CF83F8 80240888 0C0B1EAF */ jal get_variable +/* CF83FC 8024088C 34A56269 */ ori $a1, $a1, 0x6269 +/* CF8400 80240890 0040B82D */ daddu $s7, $v0, $zero +/* CF8404 80240894 0220202D */ daddu $a0, $s1, $zero +/* CF8408 80240898 3C05F5DE */ lui $a1, 0xf5de +/* CF840C 8024089C 0C0B1EAF */ jal get_variable +/* CF8410 802408A0 34A502DE */ ori $a1, $a1, 0x2de +/* CF8414 802408A4 0040B02D */ daddu $s6, $v0, $zero +/* CF8418 802408A8 0220202D */ daddu $a0, $s1, $zero +/* CF841C 802408AC 3C05F5DE */ lui $a1, 0xf5de +/* CF8420 802408B0 0C0B1EAF */ jal get_variable +/* CF8424 802408B4 34A502DF */ ori $a1, $a1, 0x2df +/* CF8428 802408B8 0040A82D */ daddu $s5, $v0, $zero +/* CF842C 802408BC 93D3006D */ lbu $s3, 0x6d($fp) +/* CF8430 802408C0 32C2FFFF */ andi $v0, $s6, 0xffff +/* CF8434 802408C4 A7B30010 */ sh $s3, 0x10($sp) +/* CF8438 802408C8 93D2006E */ lbu $s2, 0x6e($fp) +/* CF843C 802408CC 93C7006F */ lbu $a3, 0x6f($fp) +/* CF8440 802408D0 3274FFFF */ andi $s4, $s3, 0xffff +/* CF8444 802408D4 12820003 */ beq $s4, $v0, .L802408E4 +/* CF8448 802408D8 A7A7001E */ sh $a3, 0x1e($sp) +/* CF844C 802408DC 0000B82D */ daddu $s7, $zero, $zero +/* CF8450 802408E0 02E0802D */ daddu $s0, $s7, $zero +.L802408E4: +/* CF8454 802408E4 3202FFFF */ andi $v0, $s0, 0xffff +/* CF8458 802408E8 14400016 */ bnez $v0, .L80240944 +/* CF845C 802408EC 0220202D */ daddu $a0, $s1, $zero +/* CF8460 802408F0 0C00A67F */ jal rand_int +/* CF8464 802408F4 24040064 */ addiu $a0, $zero, 0x64 +/* CF8468 802408F8 2842001E */ slti $v0, $v0, 0x1e +/* CF846C 802408FC 10400011 */ beqz $v0, .L80240944 +/* CF8470 80240900 0220202D */ daddu $a0, $s1, $zero +/* CF8474 80240904 0C00A67F */ jal rand_int +/* CF8478 80240908 2644FFFF */ addiu $a0, $s2, -1 +/* CF847C 8024090C 0040A82D */ daddu $s5, $v0, $zero +/* CF8480 80240910 0260B02D */ daddu $s6, $s3, $zero +/* CF8484 80240914 0220202D */ daddu $a0, $s1, $zero +/* CF8488 80240918 3C05F5DE */ lui $a1, 0xf5de +/* CF848C 8024091C 34A502DE */ ori $a1, $a1, 0x2de +/* CF8490 80240920 0C0B2026 */ jal set_variable +/* CF8494 80240924 0280302D */ daddu $a2, $s4, $zero +/* CF8498 80240928 0220202D */ daddu $a0, $s1, $zero +/* CF849C 8024092C 3C05F5DE */ lui $a1, 0xf5de +/* CF84A0 80240930 34A502DF */ ori $a1, $a1, 0x2df +/* CF84A4 80240934 0C0B2026 */ jal set_variable +/* CF84A8 80240938 32A6FFFF */ andi $a2, $s5, 0xffff +/* CF84AC 8024093C 24100001 */ addiu $s0, $zero, 1 +/* CF84B0 80240940 0220202D */ daddu $a0, $s1, $zero +.L80240944: +/* CF84B4 80240944 3C05F840 */ lui $a1, 0xf840 +/* CF84B8 80240948 34A56268 */ ori $a1, $a1, 0x6268 +/* CF84BC 8024094C 0C0B2026 */ jal set_variable +/* CF84C0 80240950 3206FFFF */ andi $a2, $s0, 0xffff +/* CF84C4 80240954 0220202D */ daddu $a0, $s1, $zero +/* CF84C8 80240958 3C05F840 */ lui $a1, 0xf840 +/* CF84CC 8024095C 34A56269 */ ori $a1, $a1, 0x6269 +/* CF84D0 80240960 0C0B2026 */ jal set_variable +/* CF84D4 80240964 32E6FFFF */ andi $a2, $s7, 0xffff +/* CF84D8 80240968 0000202D */ daddu $a0, $zero, $zero +/* CF84DC 8024096C 3C05F5DE */ lui $a1, 0xf5de +/* CF84E0 80240970 0C0B1EAF */ jal get_variable +/* CF84E4 80240974 34A502E0 */ ori $a1, $a1, 0x2e0 +/* CF84E8 80240978 0000202D */ daddu $a0, $zero, $zero +/* CF84EC 8024097C 3C05F5DE */ lui $a1, 0xf5de +/* CF84F0 80240980 34A50180 */ ori $a1, $a1, 0x180 +/* CF84F4 80240984 0C0B1EAF */ jal get_variable +/* CF84F8 80240988 0040802D */ daddu $s0, $v0, $zero +/* CF84FC 8024098C 0040282D */ daddu $a1, $v0, $zero +/* CF8500 80240990 0000182D */ daddu $v1, $zero, $zero +/* CF8504 80240994 3C068024 */ lui $a2, 0x8024 +/* CF8508 80240998 24C6373C */ addiu $a2, $a2, 0x373c +/* CF850C 8024099C 00C0202D */ daddu $a0, $a2, $zero +.L802409A0: +/* CF8510 802409A0 8C820000 */ lw $v0, ($a0) +/* CF8514 802409A4 00A2102A */ slt $v0, $a1, $v0 +/* CF8518 802409A8 14400006 */ bnez $v0, .L802409C4 +/* CF851C 802409AC 000310C0 */ sll $v0, $v1, 3 +/* CF8520 802409B0 24630001 */ addiu $v1, $v1, 1 +/* CF8524 802409B4 28620008 */ slti $v0, $v1, 8 +/* CF8528 802409B8 1440FFF9 */ bnez $v0, .L802409A0 +/* CF852C 802409BC 24840008 */ addiu $a0, $a0, 8 +/* CF8530 802409C0 000310C0 */ sll $v0, $v1, 3 +.L802409C4: +/* CF8534 802409C4 00461021 */ addu $v0, $v0, $a2 +/* CF8538 802409C8 8C420004 */ lw $v0, 4($v0) +/* CF853C 802409CC 97A30010 */ lhu $v1, 0x10($sp) +/* CF8540 802409D0 0202202A */ slt $a0, $s0, $v0 +/* CF8544 802409D4 32C2FFFF */ andi $v0, $s6, 0xffff +/* CF8548 802409D8 14620008 */ bne $v1, $v0, .L802409FC +/* CF854C 802409DC 32A2FFFF */ andi $v0, $s5, 0xffff +/* CF8550 802409E0 97A7001E */ lhu $a3, 0x1e($sp) +/* CF8554 802409E4 14E20005 */ bne $a3, $v0, .L802409FC +/* CF8558 802409E8 32E2FFFF */ andi $v0, $s7, 0xffff +/* CF855C 802409EC 14400003 */ bnez $v0, .L802409FC +/* CF8560 802409F0 00000000 */ nop +/* CF8564 802409F4 14800008 */ bnez $a0, .L80240A18 +/* CF8568 802409F8 24020001 */ addiu $v0, $zero, 1 +.L802409FC: +/* CF856C 802409FC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* CF8570 80240A00 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* CF8574 80240A04 80420075 */ lb $v0, 0x75($v0) +/* CF8578 80240A08 10400005 */ beqz $v0, .L80240A20 +/* CF857C 80240A0C 00000000 */ nop +/* CF8580 80240A10 10800003 */ beqz $a0, .L80240A20 +/* CF8584 80240A14 24020001 */ addiu $v0, $zero, 1 +.L80240A18: +/* CF8588 80240A18 0809028B */ j .L80240A2C +/* CF858C 80240A1C AE220084 */ sw $v0, 0x84($s1) +.L80240A20: +/* CF8590 80240A20 0C00F9EB */ jal kill_enemy +/* CF8594 80240A24 03C0202D */ daddu $a0, $fp, $zero +/* CF8598 80240A28 AE200084 */ sw $zero, 0x84($s1) +.L80240A2C: +/* CF859C 80240A2C 8FBF0044 */ lw $ra, 0x44($sp) +/* CF85A0 80240A30 8FBE0040 */ lw $fp, 0x40($sp) +/* CF85A4 80240A34 8FB7003C */ lw $s7, 0x3c($sp) +/* CF85A8 80240A38 8FB60038 */ lw $s6, 0x38($sp) +/* CF85AC 80240A3C 8FB50034 */ lw $s5, 0x34($sp) +/* CF85B0 80240A40 8FB40030 */ lw $s4, 0x30($sp) +/* CF85B4 80240A44 8FB3002C */ lw $s3, 0x2c($sp) +/* CF85B8 80240A48 8FB20028 */ lw $s2, 0x28($sp) +/* CF85BC 80240A4C 8FB10024 */ lw $s1, 0x24($sp) +/* CF85C0 80240A50 8FB00020 */ lw $s0, 0x20($sp) +/* CF85C4 80240A54 24020002 */ addiu $v0, $zero, 2 +/* CF85C8 80240A58 03E00008 */ jr $ra +/* CF85CC 80240A5C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240A60_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240A60_CF7B70.s new file mode 100644 index 0000000000..b449a731d6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240A60_CF7B70.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A60_CF85D0 +/* CF85D0 80240A60 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF85D4 80240A64 AFBF0014 */ sw $ra, 0x14($sp) +/* CF85D8 80240A68 AFB00010 */ sw $s0, 0x10($sp) +/* CF85DC 80240A6C 0C00EABB */ jal get_npc_unsafe +/* CF85E0 80240A70 8C84014C */ lw $a0, 0x14c($a0) +/* CF85E4 80240A74 24040008 */ addiu $a0, $zero, 8 +/* CF85E8 80240A78 0040802D */ daddu $s0, $v0, $zero +/* CF85EC 80240A7C 3C028024 */ lui $v0, 0x8024 +/* CF85F0 80240A80 24420ACC */ addiu $v0, $v0, 0xacc +/* CF85F4 80240A84 0C00AB39 */ jal heap_malloc +/* CF85F8 80240A88 AE020008 */ sw $v0, 8($s0) +/* CF85FC 80240A8C 0040182D */ daddu $v1, $v0, $zero +/* CF8600 80240A90 AE030020 */ sw $v1, 0x20($s0) +/* CF8604 80240A94 AC600000 */ sw $zero, ($v1) +/* CF8608 80240A98 8FBF0014 */ lw $ra, 0x14($sp) +/* CF860C 80240A9C 8FB00010 */ lw $s0, 0x10($sp) +/* CF8610 80240AA0 24020001 */ addiu $v0, $zero, 1 +/* CF8614 80240AA4 03E00008 */ jr $ra +/* CF8618 80240AA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240AAC_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240AAC_CF7B70.s new file mode 100644 index 0000000000..da8920679c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240AAC_CF7B70.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC_CF861C +/* CF861C 80240AAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8620 80240AB0 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8624 80240AB4 0C00EABB */ jal get_npc_unsafe +/* CF8628 80240AB8 8C84014C */ lw $a0, 0x14c($a0) +/* CF862C 80240ABC 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8630 80240AC0 0000102D */ daddu $v0, $zero, $zero +/* CF8634 80240AC4 03E00008 */ jr $ra +/* CF8638 80240AC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240ACC.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240ACC.s new file mode 100644 index 0000000000..1503343ab1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240ACC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ACC +/* CF863C 80240ACC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8640 80240AD0 3C03800A */ lui $v1, 0x800a +/* CF8644 80240AD4 8463A634 */ lh $v1, -0x59cc($v1) +/* CF8648 80240AD8 3C05800B */ lui $a1, %hi(gCameras) +/* CF864C 80240ADC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* CF8650 80240AE0 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8654 80240AE4 00031080 */ sll $v0, $v1, 2 +/* CF8658 80240AE8 00431021 */ addu $v0, $v0, $v1 +/* CF865C 80240AEC 00021080 */ sll $v0, $v0, 2 +/* CF8660 80240AF0 00431023 */ subu $v0, $v0, $v1 +/* CF8664 80240AF4 000218C0 */ sll $v1, $v0, 3 +/* CF8668 80240AF8 00431021 */ addu $v0, $v0, $v1 +/* CF866C 80240AFC 8C830020 */ lw $v1, 0x20($a0) +/* CF8670 80240B00 000210C0 */ sll $v0, $v0, 3 +/* CF8674 80240B04 8C630000 */ lw $v1, ($v1) +/* CF8678 80240B08 30630001 */ andi $v1, $v1, 1 +/* CF867C 80240B0C 10600004 */ beqz $v1, .L80240B20 +/* CF8680 80240B10 00451021 */ addu $v0, $v0, $a1 +/* CF8684 80240B14 C44C006C */ lwc1 $f12, 0x6c($v0) +/* CF8688 80240B18 0C00A6C9 */ jal clamp_angle +/* CF868C 80240B1C 46006307 */ neg.s $f12, $f12 +.L80240B20: +/* CF8690 80240B20 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8694 80240B24 03E00008 */ jr $ra +/* CF8698 80240B28 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240B2C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240B2C_CF7B70.s new file mode 100644 index 0000000000..c5a5eb3f66 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240B2C_CF7B70.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B2C_CF869C +/* CF869C 80240B2C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF86A0 80240B30 AFB10014 */ sw $s1, 0x14($sp) +/* CF86A4 80240B34 0080882D */ daddu $s1, $a0, $zero +/* CF86A8 80240B38 AFBF0024 */ sw $ra, 0x24($sp) +/* CF86AC 80240B3C AFB40020 */ sw $s4, 0x20($sp) +/* CF86B0 80240B40 AFB3001C */ sw $s3, 0x1c($sp) +/* CF86B4 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* CF86B8 80240B48 10A00033 */ beqz $a1, .L80240C18 +/* CF86BC 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* CF86C0 80240B50 0C04760B */ jal func_8011D82C +/* CF86C4 80240B54 24040001 */ addiu $a0, $zero, 1 +/* CF86C8 80240B58 0000202D */ daddu $a0, $zero, $zero +/* CF86CC 80240B5C 0080282D */ daddu $a1, $a0, $zero +/* CF86D0 80240B60 0080302D */ daddu $a2, $a0, $zero +/* CF86D4 80240B64 0080382D */ daddu $a3, $a0, $zero +/* CF86D8 80240B68 0080802D */ daddu $s0, $a0, $zero +/* CF86DC 80240B6C 2414FFFC */ addiu $s4, $zero, -4 +/* CF86E0 80240B70 2413000E */ addiu $s3, $zero, 0xe +/* CF86E4 80240B74 3C120080 */ lui $s2, 0x80 +/* CF86E8 80240B78 3C038015 */ lui $v1, 0x8015 +/* CF86EC 80240B7C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* CF86F0 80240B80 24020001 */ addiu $v0, $zero, 1 +/* CF86F4 80240B84 0C046F97 */ jal set_background_color_blend +/* CF86F8 80240B88 A0620000 */ sb $v0, ($v1) +.L80240B8C: +/* CF86FC 80240B8C 0C00E2B7 */ jal get_npc_by_index +/* CF8700 80240B90 0200202D */ daddu $a0, $s0, $zero +/* CF8704 80240B94 0040202D */ daddu $a0, $v0, $zero +/* CF8708 80240B98 5080000B */ beql $a0, $zero, .L80240BC8 +/* CF870C 80240B9C 26100001 */ addiu $s0, $s0, 1 +/* CF8710 80240BA0 8C820000 */ lw $v0, ($a0) +/* CF8714 80240BA4 50400008 */ beql $v0, $zero, .L80240BC8 +/* CF8718 80240BA8 26100001 */ addiu $s0, $s0, 1 +/* CF871C 80240BAC 808300A4 */ lb $v1, 0xa4($a0) +/* CF8720 80240BB0 10740005 */ beq $v1, $s4, .L80240BC8 +/* CF8724 80240BB4 26100001 */ addiu $s0, $s0, 1 +/* CF8728 80240BB8 10730003 */ beq $v1, $s3, .L80240BC8 +/* CF872C 80240BBC 00000000 */ nop +/* CF8730 80240BC0 00521025 */ or $v0, $v0, $s2 +/* CF8734 80240BC4 AC820000 */ sw $v0, ($a0) +.L80240BC8: +/* CF8738 80240BC8 2A020040 */ slti $v0, $s0, 0x40 +/* CF873C 80240BCC 1440FFEF */ bnez $v0, .L80240B8C +/* CF8740 80240BD0 00000000 */ nop +/* CF8744 80240BD4 0000802D */ daddu $s0, $zero, $zero +/* CF8748 80240BD8 3C120800 */ lui $s2, 0x800 +.L80240BDC: +/* CF874C 80240BDC 0C04C3D6 */ jal get_item_entity +/* CF8750 80240BE0 0200202D */ daddu $a0, $s0, $zero +/* CF8754 80240BE4 0040182D */ daddu $v1, $v0, $zero +/* CF8758 80240BE8 10600007 */ beqz $v1, .L80240C08 +/* CF875C 80240BEC 26100001 */ addiu $s0, $s0, 1 +/* CF8760 80240BF0 8C640000 */ lw $a0, ($v1) +/* CF8764 80240BF4 30820010 */ andi $v0, $a0, 0x10 +/* CF8768 80240BF8 10400003 */ beqz $v0, .L80240C08 +/* CF876C 80240BFC 00000000 */ nop +/* CF8770 80240C00 00921025 */ or $v0, $a0, $s2 +/* CF8774 80240C04 AC620000 */ sw $v0, ($v1) +.L80240C08: +/* CF8778 80240C08 2A020100 */ slti $v0, $s0, 0x100 +/* CF877C 80240C0C 1440FFF3 */ bnez $v0, .L80240BDC +/* CF8780 80240C10 00000000 */ nop +/* CF8784 80240C14 AE200070 */ sw $zero, 0x70($s1) +.L80240C18: +/* CF8788 80240C18 8E220070 */ lw $v0, 0x70($s1) +/* CF878C 80240C1C 24420008 */ addiu $v0, $v0, 8 +/* CF8790 80240C20 AE220070 */ sw $v0, 0x70($s1) +/* CF8794 80240C24 28420100 */ slti $v0, $v0, 0x100 +/* CF8798 80240C28 14400003 */ bnez $v0, .L80240C38 +/* CF879C 80240C2C 0000202D */ daddu $a0, $zero, $zero +/* CF87A0 80240C30 240200FF */ addiu $v0, $zero, 0xff +/* CF87A4 80240C34 AE220070 */ sw $v0, 0x70($s1) +.L80240C38: +/* CF87A8 80240C38 0080282D */ daddu $a1, $a0, $zero +/* CF87AC 80240C3C 92270073 */ lbu $a3, 0x73($s1) +/* CF87B0 80240C40 0C046F97 */ jal set_background_color_blend +/* CF87B4 80240C44 0080302D */ daddu $a2, $a0, $zero +/* CF87B8 80240C48 8E220070 */ lw $v0, 0x70($s1) +/* CF87BC 80240C4C 8FBF0024 */ lw $ra, 0x24($sp) +/* CF87C0 80240C50 8FB40020 */ lw $s4, 0x20($sp) +/* CF87C4 80240C54 8FB3001C */ lw $s3, 0x1c($sp) +/* CF87C8 80240C58 8FB20018 */ lw $s2, 0x18($sp) +/* CF87CC 80240C5C 8FB10014 */ lw $s1, 0x14($sp) +/* CF87D0 80240C60 8FB00010 */ lw $s0, 0x10($sp) +/* CF87D4 80240C64 384200FF */ xori $v0, $v0, 0xff +/* CF87D8 80240C68 2C420001 */ sltiu $v0, $v0, 1 +/* CF87DC 80240C6C 00021040 */ sll $v0, $v0, 1 +/* CF87E0 80240C70 03E00008 */ jr $ra +/* CF87E4 80240C74 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240C78_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240C78_CF7B70.s new file mode 100644 index 0000000000..20513571b3 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240C78_CF7B70.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_CF87E8 +/* CF87E8 80240C78 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF87EC 80240C7C AFB00010 */ sw $s0, 0x10($sp) +/* CF87F0 80240C80 0080802D */ daddu $s0, $a0, $zero +/* CF87F4 80240C84 AFBF0020 */ sw $ra, 0x20($sp) +/* CF87F8 80240C88 AFB3001C */ sw $s3, 0x1c($sp) +/* CF87FC 80240C8C AFB20018 */ sw $s2, 0x18($sp) +/* CF8800 80240C90 10A00009 */ beqz $a1, .L80240CB8 +/* CF8804 80240C94 AFB10014 */ sw $s1, 0x14($sp) +/* CF8808 80240C98 0000202D */ daddu $a0, $zero, $zero +/* CF880C 80240C9C 0080282D */ daddu $a1, $a0, $zero +/* CF8810 80240CA0 0080302D */ daddu $a2, $a0, $zero +/* CF8814 80240CA4 0C046F97 */ jal set_background_color_blend +/* CF8818 80240CA8 240700FF */ addiu $a3, $zero, 0xff +/* CF881C 80240CAC 240200FF */ addiu $v0, $zero, 0xff +/* CF8820 80240CB0 AE020070 */ sw $v0, 0x70($s0) +/* CF8824 80240CB4 AE000074 */ sw $zero, 0x74($s0) +.L80240CB8: +/* CF8828 80240CB8 8E020070 */ lw $v0, 0x70($s0) +/* CF882C 80240CBC 2442FFF8 */ addiu $v0, $v0, -8 +/* CF8830 80240CC0 04410002 */ bgez $v0, .L80240CCC +/* CF8834 80240CC4 AE020070 */ sw $v0, 0x70($s0) +/* CF8838 80240CC8 AE000070 */ sw $zero, 0x70($s0) +.L80240CCC: +/* CF883C 80240CCC 0000202D */ daddu $a0, $zero, $zero +/* CF8840 80240CD0 0080282D */ daddu $a1, $a0, $zero +/* CF8844 80240CD4 92070073 */ lbu $a3, 0x73($s0) +/* CF8848 80240CD8 0C046F97 */ jal set_background_color_blend +/* CF884C 80240CDC 0080302D */ daddu $a2, $a0, $zero +/* CF8850 80240CE0 8E020070 */ lw $v0, 0x70($s0) +/* CF8854 80240CE4 14400006 */ bnez $v0, .L80240D00 +/* CF8858 80240CE8 00000000 */ nop +/* CF885C 80240CEC 8E020074 */ lw $v0, 0x74($s0) +/* CF8860 80240CF0 14400003 */ bnez $v0, .L80240D00 +/* CF8864 80240CF4 24020001 */ addiu $v0, $zero, 1 +/* CF8868 80240CF8 08090373 */ j .L80240DCC +/* CF886C 80240CFC AE020074 */ sw $v0, 0x74($s0) +.L80240D00: +/* CF8870 80240D00 8E030074 */ lw $v1, 0x74($s0) +/* CF8874 80240D04 24020001 */ addiu $v0, $zero, 1 +/* CF8878 80240D08 14620031 */ bne $v1, $v0, .L80240DD0 +/* CF887C 80240D0C 0000102D */ daddu $v0, $zero, $zero +/* CF8880 80240D10 0C04760B */ jal func_8011D82C +/* CF8884 80240D14 0000202D */ daddu $a0, $zero, $zero +/* CF8888 80240D18 0000802D */ daddu $s0, $zero, $zero +/* CF888C 80240D1C 2413FFFC */ addiu $s3, $zero, -4 +/* CF8890 80240D20 2412000E */ addiu $s2, $zero, 0xe +/* CF8894 80240D24 3C11FF7F */ lui $s1, 0xff7f +/* CF8898 80240D28 3C028015 */ lui $v0, 0x8015 +/* CF889C 80240D2C 8C4212F0 */ lw $v0, 0x12f0($v0) +/* CF88A0 80240D30 3631FFFF */ ori $s1, $s1, 0xffff +/* CF88A4 80240D34 A0400000 */ sb $zero, ($v0) +.L80240D38: +/* CF88A8 80240D38 0C00E2B7 */ jal get_npc_by_index +/* CF88AC 80240D3C 0200202D */ daddu $a0, $s0, $zero +/* CF88B0 80240D40 0040202D */ daddu $a0, $v0, $zero +/* CF88B4 80240D44 5080000B */ beql $a0, $zero, .L80240D74 +/* CF88B8 80240D48 26100001 */ addiu $s0, $s0, 1 +/* CF88BC 80240D4C 8C820000 */ lw $v0, ($a0) +/* CF88C0 80240D50 50400008 */ beql $v0, $zero, .L80240D74 +/* CF88C4 80240D54 26100001 */ addiu $s0, $s0, 1 +/* CF88C8 80240D58 808300A4 */ lb $v1, 0xa4($a0) +/* CF88CC 80240D5C 10730005 */ beq $v1, $s3, .L80240D74 +/* CF88D0 80240D60 26100001 */ addiu $s0, $s0, 1 +/* CF88D4 80240D64 10720003 */ beq $v1, $s2, .L80240D74 +/* CF88D8 80240D68 00000000 */ nop +/* CF88DC 80240D6C 00511024 */ and $v0, $v0, $s1 +/* CF88E0 80240D70 AC820000 */ sw $v0, ($a0) +.L80240D74: +/* CF88E4 80240D74 2A020040 */ slti $v0, $s0, 0x40 +/* CF88E8 80240D78 1440FFEF */ bnez $v0, .L80240D38 +/* CF88EC 80240D7C 00000000 */ nop +/* CF88F0 80240D80 0000802D */ daddu $s0, $zero, $zero +/* CF88F4 80240D84 3C11F7FF */ lui $s1, 0xf7ff +/* CF88F8 80240D88 3631FFFF */ ori $s1, $s1, 0xffff +.L80240D8C: +/* CF88FC 80240D8C 0C04C3D6 */ jal get_item_entity +/* CF8900 80240D90 0200202D */ daddu $a0, $s0, $zero +/* CF8904 80240D94 0040182D */ daddu $v1, $v0, $zero +/* CF8908 80240D98 10600007 */ beqz $v1, .L80240DB8 +/* CF890C 80240D9C 26100001 */ addiu $s0, $s0, 1 +/* CF8910 80240DA0 8C640000 */ lw $a0, ($v1) +/* CF8914 80240DA4 30820010 */ andi $v0, $a0, 0x10 +/* CF8918 80240DA8 10400003 */ beqz $v0, .L80240DB8 +/* CF891C 80240DAC 00000000 */ nop +/* CF8920 80240DB0 00911024 */ and $v0, $a0, $s1 +/* CF8924 80240DB4 AC620000 */ sw $v0, ($v1) +.L80240DB8: +/* CF8928 80240DB8 2A020100 */ slti $v0, $s0, 0x100 +/* CF892C 80240DBC 1440FFF3 */ bnez $v0, .L80240D8C +/* CF8930 80240DC0 24020002 */ addiu $v0, $zero, 2 +/* CF8934 80240DC4 08090374 */ j .L80240DD0 +/* CF8938 80240DC8 00000000 */ nop +.L80240DCC: +/* CF893C 80240DCC 0000102D */ daddu $v0, $zero, $zero +.L80240DD0: +/* CF8940 80240DD0 8FBF0020 */ lw $ra, 0x20($sp) +/* CF8944 80240DD4 8FB3001C */ lw $s3, 0x1c($sp) +/* CF8948 80240DD8 8FB20018 */ lw $s2, 0x18($sp) +/* CF894C 80240DDC 8FB10014 */ lw $s1, 0x14($sp) +/* CF8950 80240DE0 8FB00010 */ lw $s0, 0x10($sp) +/* CF8954 80240DE4 03E00008 */ jr $ra +/* CF8958 80240DE8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240DEC_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240DEC_CF7B70.s new file mode 100644 index 0000000000..afb8b827a9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240DEC_CF7B70.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DEC_CF895C +/* CF895C 80240DEC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF8960 80240DF0 AFB00010 */ sw $s0, 0x10($sp) +/* CF8964 80240DF4 3C108011 */ lui $s0, %hi(gPlayerData) +/* CF8968 80240DF8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* CF896C 80240DFC AFBF0018 */ sw $ra, 0x18($sp) +/* CF8970 80240E00 AFB10014 */ sw $s1, 0x14($sp) +/* CF8974 80240E04 960302C0 */ lhu $v1, 0x2c0($s0) +/* CF8978 80240E08 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* CF897C 80240E0C 10400003 */ beqz $v0, .L80240E1C +/* CF8980 80240E10 0080882D */ daddu $s1, $a0, $zero +/* CF8984 80240E14 24620001 */ addiu $v0, $v1, 1 +/* CF8988 80240E18 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240E1C: +/* CF898C 80240E1C 3C05F5DE */ lui $a1, 0xf5de +/* CF8990 80240E20 34A502E0 */ ori $a1, $a1, 0x2e0 +/* CF8994 80240E24 0C0B1EAF */ jal get_variable +/* CF8998 80240E28 0000202D */ daddu $a0, $zero, $zero +/* CF899C 80240E2C 3C038024 */ lui $v1, 0x8024 +/* CF89A0 80240E30 00621821 */ addu $v1, $v1, $v0 +/* CF89A4 80240E34 906336FC */ lbu $v1, 0x36fc($v1) +/* CF89A8 80240E38 8E220084 */ lw $v0, 0x84($s1) +/* CF89AC 80240E3C 54430006 */ bnel $v0, $v1, .L80240E58 +/* CF89B0 80240E40 AE200084 */ sw $zero, 0x84($s1) +/* CF89B4 80240E44 24020001 */ addiu $v0, $zero, 1 +/* CF89B8 80240E48 AE220084 */ sw $v0, 0x84($s1) +/* CF89BC 80240E4C 960202C2 */ lhu $v0, 0x2c2($s0) +/* CF89C0 80240E50 24420001 */ addiu $v0, $v0, 1 +/* CF89C4 80240E54 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240E58: +/* CF89C8 80240E58 8FBF0018 */ lw $ra, 0x18($sp) +/* CF89CC 80240E5C 8FB10014 */ lw $s1, 0x14($sp) +/* CF89D0 80240E60 8FB00010 */ lw $s0, 0x10($sp) +/* CF89D4 80240E64 24020002 */ addiu $v0, $zero, 2 +/* CF89D8 80240E68 03E00008 */ jr $ra +/* CF89DC 80240E6C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80240E70_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80240E70_CF7B70.s new file mode 100644 index 0000000000..93a9e803ea --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80240E70_CF7B70.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E70_CF89E0 +/* CF89E0 80240E70 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* CF89E4 80240E74 AFB1001C */ sw $s1, 0x1c($sp) +/* CF89E8 80240E78 AFBF0020 */ sw $ra, 0x20($sp) +/* CF89EC 80240E7C AFB00018 */ sw $s0, 0x18($sp) +/* CF89F0 80240E80 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CF89F4 80240E84 F7B40028 */ sdc1 $f20, 0x28($sp) +/* CF89F8 80240E88 10A00060 */ beqz $a1, .L8024100C +/* CF89FC 80240E8C 0080882D */ daddu $s1, $a0, $zero +/* CF8A00 80240E90 3C05F4AC */ lui $a1, 0xf4ac +/* CF8A04 80240E94 0C0B1EAF */ jal get_variable +/* CF8A08 80240E98 34A5D481 */ ori $a1, $a1, 0xd481 +/* CF8A0C 80240E9C 0220202D */ daddu $a0, $s1, $zero +/* CF8A10 80240EA0 3C05F4AC */ lui $a1, 0xf4ac +/* CF8A14 80240EA4 4482B000 */ mtc1 $v0, $f22 +/* CF8A18 80240EA8 00000000 */ nop +/* CF8A1C 80240EAC 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF8A20 80240EB0 0C0B1EAF */ jal get_variable +/* CF8A24 80240EB4 34A5D482 */ ori $a1, $a1, 0xd482 +/* CF8A28 80240EB8 0220202D */ daddu $a0, $s1, $zero +/* CF8A2C 80240EBC 3C05F4AC */ lui $a1, 0xf4ac +/* CF8A30 80240EC0 4482A000 */ mtc1 $v0, $f20 +/* CF8A34 80240EC4 00000000 */ nop +/* CF8A38 80240EC8 4680A520 */ cvt.s.w $f20, $f20 +/* CF8A3C 80240ECC 0C0B1EAF */ jal get_variable +/* CF8A40 80240ED0 34A5D483 */ ori $a1, $a1, 0xd483 +/* CF8A44 80240ED4 44821000 */ mtc1 $v0, $f2 +/* CF8A48 80240ED8 00000000 */ nop +/* CF8A4C 80240EDC 468010A0 */ cvt.s.w $f2, $f2 +/* CF8A50 80240EE0 4405B000 */ mfc1 $a1, $f22 +/* CF8A54 80240EE4 4406A000 */ mfc1 $a2, $f20 +/* CF8A58 80240EE8 44071000 */ mfc1 $a3, $f2 +/* CF8A5C 80240EEC 0C01C574 */ jal func_800715D0 +/* CF8A60 80240EF0 0000202D */ daddu $a0, $zero, $zero +/* CF8A64 80240EF4 0220202D */ daddu $a0, $s1, $zero +/* CF8A68 80240EF8 3C05F4AC */ lui $a1, 0xf4ac +/* CF8A6C 80240EFC 34A5D481 */ ori $a1, $a1, 0xd481 +/* CF8A70 80240F00 3C108025 */ lui $s0, 0x8025 +/* CF8A74 80240F04 2610DF18 */ addiu $s0, $s0, -0x20e8 +/* CF8A78 80240F08 0C0B1EAF */ jal get_variable +/* CF8A7C 80240F0C AE020000 */ sw $v0, ($s0) +/* CF8A80 80240F10 0220202D */ daddu $a0, $s1, $zero +/* CF8A84 80240F14 3C05F4AC */ lui $a1, 0xf4ac +/* CF8A88 80240F18 4482B000 */ mtc1 $v0, $f22 +/* CF8A8C 80240F1C 00000000 */ nop +/* CF8A90 80240F20 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF8A94 80240F24 0C0B1EAF */ jal get_variable +/* CF8A98 80240F28 34A5D482 */ ori $a1, $a1, 0xd482 +/* CF8A9C 80240F2C 0220202D */ daddu $a0, $s1, $zero +/* CF8AA0 80240F30 3C05F4AC */ lui $a1, 0xf4ac +/* CF8AA4 80240F34 4482A000 */ mtc1 $v0, $f20 +/* CF8AA8 80240F38 00000000 */ nop +/* CF8AAC 80240F3C 4680A520 */ cvt.s.w $f20, $f20 +/* CF8AB0 80240F40 0C0B1EAF */ jal get_variable +/* CF8AB4 80240F44 34A5D483 */ ori $a1, $a1, 0xd483 +/* CF8AB8 80240F48 44821000 */ mtc1 $v0, $f2 +/* CF8ABC 80240F4C 00000000 */ nop +/* CF8AC0 80240F50 468010A0 */ cvt.s.w $f2, $f2 +/* CF8AC4 80240F54 4405B000 */ mfc1 $a1, $f22 +/* CF8AC8 80240F58 4406A000 */ mfc1 $a2, $f20 +/* CF8ACC 80240F5C 44071000 */ mfc1 $a3, $f2 +/* CF8AD0 80240F60 0C01C604 */ jal func_80071810 +/* CF8AD4 80240F64 0000202D */ daddu $a0, $zero, $zero +/* CF8AD8 80240F68 0220202D */ daddu $a0, $s1, $zero +/* CF8ADC 80240F6C 3C05F4AC */ lui $a1, 0xf4ac +/* CF8AE0 80240F70 3C018025 */ lui $at, 0x8025 +/* CF8AE4 80240F74 AC22DF1C */ sw $v0, -0x20e4($at) +/* CF8AE8 80240F78 0C0B1EAF */ jal get_variable +/* CF8AEC 80240F7C 34A5D481 */ ori $a1, $a1, 0xd481 +/* CF8AF0 80240F80 0220202D */ daddu $a0, $s1, $zero +/* CF8AF4 80240F84 3C05F4AC */ lui $a1, 0xf4ac +/* CF8AF8 80240F88 4482B000 */ mtc1 $v0, $f22 +/* CF8AFC 80240F8C 00000000 */ nop +/* CF8B00 80240F90 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF8B04 80240F94 0C0B1EAF */ jal get_variable +/* CF8B08 80240F98 34A5D482 */ ori $a1, $a1, 0xd482 +/* CF8B0C 80240F9C 0220202D */ daddu $a0, $s1, $zero +/* CF8B10 80240FA0 3C05F4AC */ lui $a1, 0xf4ac +/* CF8B14 80240FA4 4482A000 */ mtc1 $v0, $f20 +/* CF8B18 80240FA8 00000000 */ nop +/* CF8B1C 80240FAC 4680A520 */ cvt.s.w $f20, $f20 +/* CF8B20 80240FB0 0C0B1EAF */ jal get_variable +/* CF8B24 80240FB4 34A5D483 */ ori $a1, $a1, 0xd483 +/* CF8B28 80240FB8 44821000 */ mtc1 $v0, $f2 +/* CF8B2C 80240FBC 00000000 */ nop +/* CF8B30 80240FC0 468010A0 */ cvt.s.w $f2, $f2 +/* CF8B34 80240FC4 4405B000 */ mfc1 $a1, $f22 +/* CF8B38 80240FC8 4406A000 */ mfc1 $a2, $f20 +/* CF8B3C 80240FCC 3C013F80 */ lui $at, 0x3f80 +/* CF8B40 80240FD0 44810000 */ mtc1 $at, $f0 +/* CF8B44 80240FD4 44071000 */ mfc1 $a3, $f2 +/* CF8B48 80240FD8 0000202D */ daddu $a0, $zero, $zero +/* CF8B4C 80240FDC AFA00014 */ sw $zero, 0x14($sp) +/* CF8B50 80240FE0 0C01CA24 */ jal func_80072890 +/* CF8B54 80240FE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF8B58 80240FE8 8E030000 */ lw $v1, ($s0) +/* CF8B5C 80240FEC 8C64000C */ lw $a0, 0xc($v1) +/* CF8B60 80240FF0 3C018025 */ lui $at, 0x8025 +/* CF8B64 80240FF4 AC22DF20 */ sw $v0, -0x20e0($at) +/* CF8B68 80240FF8 AC800018 */ sw $zero, 0x18($a0) +/* CF8B6C 80240FFC AC800020 */ sw $zero, 0x20($a0) +/* CF8B70 80241000 AC800024 */ sw $zero, 0x24($a0) +/* CF8B74 80241004 AC800028 */ sw $zero, 0x28($a0) +/* CF8B78 80241008 AC80001C */ sw $zero, 0x1c($a0) +.L8024100C: +/* CF8B7C 8024100C 3C028025 */ lui $v0, 0x8025 +/* CF8B80 80241010 8C42DF18 */ lw $v0, -0x20e8($v0) +/* CF8B84 80241014 8C44000C */ lw $a0, 0xc($v0) +/* CF8B88 80241018 8C820020 */ lw $v0, 0x20($a0) +/* CF8B8C 8024101C 8C830028 */ lw $v1, 0x28($a0) +/* CF8B90 80241020 2442000A */ addiu $v0, $v0, 0xa +/* CF8B94 80241024 AC820020 */ sw $v0, 0x20($a0) +/* CF8B98 80241028 8C820024 */ lw $v0, 0x24($a0) +/* CF8B9C 8024102C 2463000A */ addiu $v1, $v1, 0xa +/* CF8BA0 80241030 AC830028 */ sw $v1, 0x28($a0) +/* CF8BA4 80241034 8C830018 */ lw $v1, 0x18($a0) +/* CF8BA8 80241038 2442000A */ addiu $v0, $v0, 0xa +/* CF8BAC 8024103C AC820024 */ sw $v0, 0x24($a0) +/* CF8BB0 80241040 8C82001C */ lw $v0, 0x1c($a0) +/* CF8BB4 80241044 2463000A */ addiu $v1, $v1, 0xa +/* CF8BB8 80241048 AC830018 */ sw $v1, 0x18($a0) +/* CF8BBC 8024104C 286300FF */ slti $v1, $v1, 0xff +/* CF8BC0 80241050 2442000A */ addiu $v0, $v0, 0xa +/* CF8BC4 80241054 AC82001C */ sw $v0, 0x1c($a0) +/* CF8BC8 80241058 14600004 */ bnez $v1, .L8024106C +/* CF8BCC 8024105C 0000102D */ daddu $v0, $zero, $zero +/* CF8BD0 80241060 240200FF */ addiu $v0, $zero, 0xff +/* CF8BD4 80241064 AC820018 */ sw $v0, 0x18($a0) +/* CF8BD8 80241068 24020002 */ addiu $v0, $zero, 2 +.L8024106C: +/* CF8BDC 8024106C 8FBF0020 */ lw $ra, 0x20($sp) +/* CF8BE0 80241070 8FB1001C */ lw $s1, 0x1c($sp) +/* CF8BE4 80241074 8FB00018 */ lw $s0, 0x18($sp) +/* CF8BE8 80241078 D7B60030 */ ldc1 $f22, 0x30($sp) +/* CF8BEC 8024107C D7B40028 */ ldc1 $f20, 0x28($sp) +/* CF8BF0 80241080 03E00008 */ jr $ra +/* CF8BF4 80241084 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241088.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241088.s new file mode 100644 index 0000000000..97a110a41a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241088.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241088 +/* CF8BF8 80241088 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8BFC 8024108C 10A0000B */ beqz $a1, .L802410BC +/* CF8C00 80241090 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8C04 80241094 3C038025 */ lui $v1, 0x8025 +/* CF8C08 80241098 8C63DF1C */ lw $v1, -0x20e4($v1) +/* CF8C0C 8024109C 8C620000 */ lw $v0, ($v1) +/* CF8C10 802410A0 3C048025 */ lui $a0, 0x8025 +/* CF8C14 802410A4 8C84DF20 */ lw $a0, -0x20e0($a0) +/* CF8C18 802410A8 34420010 */ ori $v0, $v0, 0x10 +/* CF8C1C 802410AC AC620000 */ sw $v0, ($v1) +/* CF8C20 802410B0 8C820000 */ lw $v0, ($a0) +/* CF8C24 802410B4 34420010 */ ori $v0, $v0, 0x10 +/* CF8C28 802410B8 AC820000 */ sw $v0, ($a0) +.L802410BC: +/* CF8C2C 802410BC 3C048025 */ lui $a0, 0x8025 +/* CF8C30 802410C0 8C84DF18 */ lw $a0, -0x20e8($a0) +/* CF8C34 802410C4 8C85000C */ lw $a1, 0xc($a0) +/* CF8C38 802410C8 8CA20018 */ lw $v0, 0x18($a1) +/* CF8C3C 802410CC 8CA30020 */ lw $v1, 0x20($a1) +/* CF8C40 802410D0 2442FFF6 */ addiu $v0, $v0, -0xa +/* CF8C44 802410D4 ACA20018 */ sw $v0, 0x18($a1) +/* CF8C48 802410D8 8CA20024 */ lw $v0, 0x24($a1) +/* CF8C4C 802410DC 2463FFF6 */ addiu $v1, $v1, -0xa +/* CF8C50 802410E0 ACA30020 */ sw $v1, 0x20($a1) +/* CF8C54 802410E4 8CA30028 */ lw $v1, 0x28($a1) +/* CF8C58 802410E8 2442FFF6 */ addiu $v0, $v0, -0xa +/* CF8C5C 802410EC ACA20024 */ sw $v0, 0x24($a1) +/* CF8C60 802410F0 8CA2001C */ lw $v0, 0x1c($a1) +/* CF8C64 802410F4 2463FFF6 */ addiu $v1, $v1, -0xa +/* CF8C68 802410F8 ACA30028 */ sw $v1, 0x28($a1) +/* CF8C6C 802410FC 8CA30018 */ lw $v1, 0x18($a1) +/* CF8C70 80241100 2442FFF6 */ addiu $v0, $v0, -0xa +/* CF8C74 80241104 18600003 */ blez $v1, .L80241114 +/* CF8C78 80241108 ACA2001C */ sw $v0, 0x1c($a1) +/* CF8C7C 8024110C 0809044C */ j .L80241130 +/* CF8C80 80241110 0000102D */ daddu $v0, $zero, $zero +.L80241114: +/* CF8C84 80241114 0C016914 */ jal remove_effect +/* CF8C88 80241118 ACA00018 */ sw $zero, 0x18($a1) +/* CF8C8C 8024111C 3C048025 */ lui $a0, 0x8025 +/* CF8C90 80241120 8C84DEF8 */ lw $a0, -0x2108($a0) +/* CF8C94 80241124 0C048D70 */ jal func_801235C0 +/* CF8C98 80241128 00000000 */ nop +/* CF8C9C 8024112C 24020002 */ addiu $v0, $zero, 2 +.L80241130: +/* CF8CA0 80241130 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8CA4 80241134 03E00008 */ jr $ra +/* CF8CA8 80241138 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024113C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024113C_CF7B70.s new file mode 100644 index 0000000000..d734fbeb0f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024113C_CF7B70.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024113C_CF8CAC +/* CF8CAC 8024113C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8CB0 80241140 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8CB4 80241144 8C82000C */ lw $v0, 0xc($a0) +/* CF8CB8 80241148 0C0B1EAF */ jal get_variable +/* CF8CBC 8024114C 8C450000 */ lw $a1, ($v0) +/* CF8CC0 80241150 3C038025 */ lui $v1, 0x8025 +/* CF8CC4 80241154 8C63DF18 */ lw $v1, -0x20e8($v1) +/* CF8CC8 80241158 8C63000C */ lw $v1, 0xc($v1) +/* CF8CCC 8024115C AC620034 */ sw $v0, 0x34($v1) +/* CF8CD0 80241160 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8CD4 80241164 24020002 */ addiu $v0, $zero, 2 +/* CF8CD8 80241168 03E00008 */ jr $ra +/* CF8CDC 8024116C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241170_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241170_CF7B70.s new file mode 100644 index 0000000000..fd42da8ef7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241170_CF7B70.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241170_CF8CE0 +/* CF8CE0 80241170 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8CE4 80241174 AFBF0010 */ sw $ra, 0x10($sp) +/* CF8CE8 80241178 8C82000C */ lw $v0, 0xc($a0) +/* CF8CEC 8024117C 0C0B1EAF */ jal get_variable +/* CF8CF0 80241180 8C450000 */ lw $a1, ($v0) +/* CF8CF4 80241184 0040202D */ daddu $a0, $v0, $zero +/* CF8CF8 80241188 3C028025 */ lui $v0, 0x8025 +/* CF8CFC 8024118C 8C42DF18 */ lw $v0, -0x20e8($v0) +/* CF8D00 80241190 24030001 */ addiu $v1, $zero, 1 +/* CF8D04 80241194 8C45000C */ lw $a1, 0xc($v0) +/* CF8D08 80241198 1083000D */ beq $a0, $v1, .L802411D0 +/* CF8D0C 8024119C 28820002 */ slti $v0, $a0, 2 +/* CF8D10 802411A0 10400005 */ beqz $v0, .L802411B8 +/* CF8D14 802411A4 24020002 */ addiu $v0, $zero, 2 +/* CF8D18 802411A8 10800007 */ beqz $a0, .L802411C8 +/* CF8D1C 802411AC 240200C0 */ addiu $v0, $zero, 0xc0 +/* CF8D20 802411B0 08090478 */ j .L802411E0 +/* CF8D24 802411B4 ACA00038 */ sw $zero, 0x38($a1) +.L802411B8: +/* CF8D28 802411B8 10820008 */ beq $a0, $v0, .L802411DC +/* CF8D2C 802411BC 24020040 */ addiu $v0, $zero, 0x40 +/* CF8D30 802411C0 08090478 */ j .L802411E0 +/* CF8D34 802411C4 ACA00038 */ sw $zero, 0x38($a1) +.L802411C8: +/* CF8D38 802411C8 08090478 */ j .L802411E0 +/* CF8D3C 802411CC ACA20038 */ sw $v0, 0x38($a1) +.L802411D0: +/* CF8D40 802411D0 24020080 */ addiu $v0, $zero, 0x80 +/* CF8D44 802411D4 08090478 */ j .L802411E0 +/* CF8D48 802411D8 ACA20038 */ sw $v0, 0x38($a1) +.L802411DC: +/* CF8D4C 802411DC ACA20038 */ sw $v0, 0x38($a1) +.L802411E0: +/* CF8D50 802411E0 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8D54 802411E4 24020002 */ addiu $v0, $zero, 2 +/* CF8D58 802411E8 03E00008 */ jr $ra +/* CF8D5C 802411EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_802411F0_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_802411F0_CF7B70.s new file mode 100644 index 0000000000..af537c7ca8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_802411F0_CF7B70.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411F0_CF8D60 +/* CF8D60 802411F0 3C028025 */ lui $v0, 0x8025 +/* CF8D64 802411F4 8C42DF20 */ lw $v0, -0x20e0($v0) +/* CF8D68 802411F8 8C42000C */ lw $v0, 0xc($v0) +/* CF8D6C 802411FC AC40001C */ sw $zero, 0x1c($v0) +/* CF8D70 80241200 03E00008 */ jr $ra +/* CF8D74 80241204 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241208.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241208.s new file mode 100644 index 0000000000..917c05f833 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241208.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241208 +/* CF8D78 80241208 3C028025 */ lui $v0, 0x8025 +/* CF8D7C 8024120C 8C42DF20 */ lw $v0, -0x20e0($v0) +/* CF8D80 80241210 8C43000C */ lw $v1, 0xc($v0) +/* CF8D84 80241214 24020001 */ addiu $v0, $zero, 1 +/* CF8D88 80241218 AC62001C */ sw $v0, 0x1c($v1) +/* CF8D8C 8024121C 03E00008 */ jr $ra +/* CF8D90 80241220 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241224_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241224_CF7B70.s new file mode 100644 index 0000000000..ecf660d0db --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241224_CF7B70.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241224_CF8D94 +/* CF8D94 80241224 3C028025 */ lui $v0, 0x8025 +/* CF8D98 80241228 8C42DF20 */ lw $v0, -0x20e0($v0) +/* CF8D9C 8024122C 8C43000C */ lw $v1, 0xc($v0) +/* CF8DA0 80241230 24020002 */ addiu $v0, $zero, 2 +/* CF8DA4 80241234 03E00008 */ jr $ra +/* CF8DA8 80241238 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024123C.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024123C.s new file mode 100644 index 0000000000..82afd203f3 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024123C.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024123C +/* CF8DAC 8024123C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF8DB0 80241240 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* CF8DB4 80241244 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* CF8DB8 80241248 3C05FE36 */ lui $a1, 0xfe36 +/* CF8DBC 8024124C AFBF0010 */ sw $ra, 0x10($sp) +/* CF8DC0 80241250 80460075 */ lb $a2, 0x75($v0) +/* CF8DC4 80241254 0C0B2026 */ jal set_variable +/* CF8DC8 80241258 34A53C80 */ ori $a1, $a1, 0x3c80 +/* CF8DCC 8024125C 8FBF0010 */ lw $ra, 0x10($sp) +/* CF8DD0 80241260 24020002 */ addiu $v0, $zero, 2 +/* CF8DD4 80241264 03E00008 */ jr $ra +/* CF8DD8 80241268 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024126C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024126C_CF7B70.s new file mode 100644 index 0000000000..5c5430a400 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024126C_CF7B70.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024126C_CF8DDC +/* CF8DDC 8024126C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF8DE0 80241270 AFB10014 */ sw $s1, 0x14($sp) +/* CF8DE4 80241274 0080882D */ daddu $s1, $a0, $zero +/* CF8DE8 80241278 AFBF0018 */ sw $ra, 0x18($sp) +/* CF8DEC 8024127C AFB00010 */ sw $s0, 0x10($sp) +/* CF8DF0 80241280 8E30000C */ lw $s0, 0xc($s1) +/* CF8DF4 80241284 8E050000 */ lw $a1, ($s0) +/* CF8DF8 80241288 0C0B1EAF */ jal get_variable +/* CF8DFC 8024128C 26100004 */ addiu $s0, $s0, 4 +/* CF8E00 80241290 0220202D */ daddu $a0, $s1, $zero +/* CF8E04 80241294 8E050000 */ lw $a1, ($s0) +/* CF8E08 80241298 0C0B210B */ jal get_float_variable +/* CF8E0C 8024129C 0040802D */ daddu $s0, $v0, $zero +/* CF8E10 802412A0 24020002 */ addiu $v0, $zero, 2 +/* CF8E14 802412A4 00501804 */ sllv $v1, $s0, $v0 +/* CF8E18 802412A8 00701821 */ addu $v1, $v1, $s0 +/* CF8E1C 802412AC 00431804 */ sllv $v1, $v1, $v0 +/* CF8E20 802412B0 00701823 */ subu $v1, $v1, $s0 +/* CF8E24 802412B4 000320C0 */ sll $a0, $v1, 3 +/* CF8E28 802412B8 00641821 */ addu $v1, $v1, $a0 +/* CF8E2C 802412BC 000318C0 */ sll $v1, $v1, 3 +/* CF8E30 802412C0 3C01800B */ lui $at, 0x800b +/* CF8E34 802412C4 00230821 */ addu $at, $at, $v1 +/* CF8E38 802412C8 E4201D98 */ swc1 $f0, 0x1d98($at) +/* CF8E3C 802412CC 8FBF0018 */ lw $ra, 0x18($sp) +/* CF8E40 802412D0 8FB10014 */ lw $s1, 0x14($sp) +/* CF8E44 802412D4 8FB00010 */ lw $s0, 0x10($sp) +/* CF8E48 802412D8 03E00008 */ jr $ra +/* CF8E4C 802412DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_802412E0_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_802412E0_CF7B70.s new file mode 100644 index 0000000000..06fac4e40f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_802412E0_CF7B70.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E0_CF8E50 +/* CF8E50 802412E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF8E54 802412E4 AFB10014 */ sw $s1, 0x14($sp) +/* CF8E58 802412E8 0080882D */ daddu $s1, $a0, $zero +/* CF8E5C 802412EC AFBF0018 */ sw $ra, 0x18($sp) +/* CF8E60 802412F0 AFB00010 */ sw $s0, 0x10($sp) +/* CF8E64 802412F4 8E30000C */ lw $s0, 0xc($s1) +/* CF8E68 802412F8 8E050000 */ lw $a1, ($s0) +/* CF8E6C 802412FC 0C0B1EAF */ jal get_variable +/* CF8E70 80241300 26100004 */ addiu $s0, $s0, 4 +/* CF8E74 80241304 00021880 */ sll $v1, $v0, 2 +/* CF8E78 80241308 00621821 */ addu $v1, $v1, $v0 +/* CF8E7C 8024130C 00031880 */ sll $v1, $v1, 2 +/* CF8E80 80241310 00621823 */ subu $v1, $v1, $v0 +/* CF8E84 80241314 000310C0 */ sll $v0, $v1, 3 +/* CF8E88 80241318 00621821 */ addu $v1, $v1, $v0 +/* CF8E8C 8024131C 000318C0 */ sll $v1, $v1, 3 +/* CF8E90 80241320 3C01800B */ lui $at, 0x800b +/* CF8E94 80241324 00230821 */ addu $at, $at, $v1 +/* CF8E98 80241328 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* CF8E9C 8024132C 3C014480 */ lui $at, 0x4480 +/* CF8EA0 80241330 44810000 */ mtc1 $at, $f0 +/* CF8EA4 80241334 00000000 */ nop +/* CF8EA8 80241338 46001082 */ mul.s $f2, $f2, $f0 +/* CF8EAC 8024133C 00000000 */ nop +/* CF8EB0 80241340 3C01CD5B */ lui $at, 0xcd5b +/* CF8EB4 80241344 34215858 */ ori $at, $at, 0x5858 +/* CF8EB8 80241348 44810000 */ mtc1 $at, $f0 +/* CF8EBC 8024134C 00000000 */ nop +/* CF8EC0 80241350 46001080 */ add.s $f2, $f2, $f0 +/* CF8EC4 80241354 8E050000 */ lw $a1, ($s0) +/* CF8EC8 80241358 4600110D */ trunc.w.s $f4, $f2 +/* CF8ECC 8024135C 44062000 */ mfc1 $a2, $f4 +/* CF8ED0 80241360 0C0B2026 */ jal set_variable +/* CF8ED4 80241364 0220202D */ daddu $a0, $s1, $zero +/* CF8ED8 80241368 8FBF0018 */ lw $ra, 0x18($sp) +/* CF8EDC 8024136C 8FB10014 */ lw $s1, 0x14($sp) +/* CF8EE0 80241370 8FB00010 */ lw $s0, 0x10($sp) +/* CF8EE4 80241374 24020002 */ addiu $v0, $zero, 2 +/* CF8EE8 80241378 03E00008 */ jr $ra +/* CF8EEC 8024137C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241380.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241380.s new file mode 100644 index 0000000000..6a9a03cbd0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241380.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241380 +/* CF8EF0 80241380 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CF8EF4 80241384 AFB20018 */ sw $s2, 0x18($sp) +/* CF8EF8 80241388 0080902D */ daddu $s2, $a0, $zero +/* CF8EFC 8024138C AFBF0030 */ sw $ra, 0x30($sp) +/* CF8F00 80241390 AFB7002C */ sw $s7, 0x2c($sp) +/* CF8F04 80241394 AFB60028 */ sw $s6, 0x28($sp) +/* CF8F08 80241398 AFB50024 */ sw $s5, 0x24($sp) +/* CF8F0C 8024139C AFB40020 */ sw $s4, 0x20($sp) +/* CF8F10 802413A0 AFB3001C */ sw $s3, 0x1c($sp) +/* CF8F14 802413A4 AFB10014 */ sw $s1, 0x14($sp) +/* CF8F18 802413A8 AFB00010 */ sw $s0, 0x10($sp) +/* CF8F1C 802413AC F7B60040 */ sdc1 $f22, 0x40($sp) +/* CF8F20 802413B0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* CF8F24 802413B4 8E50000C */ lw $s0, 0xc($s2) +/* CF8F28 802413B8 8E050000 */ lw $a1, ($s0) +/* CF8F2C 802413BC 0C0B1EAF */ jal get_variable +/* CF8F30 802413C0 26100004 */ addiu $s0, $s0, 4 +/* CF8F34 802413C4 8E050000 */ lw $a1, ($s0) +/* CF8F38 802413C8 26100004 */ addiu $s0, $s0, 4 +/* CF8F3C 802413CC 0240202D */ daddu $a0, $s2, $zero +/* CF8F40 802413D0 0C0B1EAF */ jal get_variable +/* CF8F44 802413D4 0040B82D */ daddu $s7, $v0, $zero +/* CF8F48 802413D8 8E050000 */ lw $a1, ($s0) +/* CF8F4C 802413DC 26100004 */ addiu $s0, $s0, 4 +/* CF8F50 802413E0 0240202D */ daddu $a0, $s2, $zero +/* CF8F54 802413E4 0C0B1EAF */ jal get_variable +/* CF8F58 802413E8 0040B02D */ daddu $s6, $v0, $zero +/* CF8F5C 802413EC 0240202D */ daddu $a0, $s2, $zero +/* CF8F60 802413F0 3C05F4AC */ lui $a1, 0xf4ac +/* CF8F64 802413F4 34A5D481 */ ori $a1, $a1, 0xd481 +/* CF8F68 802413F8 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* CF8F6C 802413FC 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* CF8F70 80241400 8E140000 */ lw $s4, ($s0) +/* CF8F74 80241404 00061880 */ sll $v1, $a2, 2 +/* CF8F78 80241408 00661821 */ addu $v1, $v1, $a2 +/* CF8F7C 8024140C 00031880 */ sll $v1, $v1, 2 +/* CF8F80 80241410 00661823 */ subu $v1, $v1, $a2 +/* CF8F84 80241414 000330C0 */ sll $a2, $v1, 3 +/* CF8F88 80241418 00661821 */ addu $v1, $v1, $a2 +/* CF8F8C 8024141C 000318C0 */ sll $v1, $v1, 3 +/* CF8F90 80241420 3C01800B */ lui $at, 0x800b +/* CF8F94 80241424 00230821 */ addu $at, $at, $v1 +/* CF8F98 80241428 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* CF8F9C 8024142C 8E150004 */ lw $s5, 4($s0) +/* CF8FA0 80241430 4600010D */ trunc.w.s $f4, $f0 +/* CF8FA4 80241434 44112000 */ mfc1 $s1, $f4 +/* CF8FA8 80241438 0C0B1EAF */ jal get_variable +/* CF8FAC 8024143C 0040982D */ daddu $s3, $v0, $zero +/* CF8FB0 80241440 4491B000 */ mtc1 $s1, $f22 +/* CF8FB4 80241444 00000000 */ nop +/* CF8FB8 80241448 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF8FBC 8024144C 4600B306 */ mov.s $f12, $f22 +/* CF8FC0 80241450 0C00A8D4 */ jal cos_deg +/* CF8FC4 80241454 0040802D */ daddu $s0, $v0, $zero +/* CF8FC8 80241458 4493A000 */ mtc1 $s3, $f20 +/* CF8FCC 8024145C 00000000 */ nop +/* CF8FD0 80241460 4680A520 */ cvt.s.w $f20, $f20 +/* CF8FD4 80241464 4600A002 */ mul.s $f0, $f20, $f0 +/* CF8FD8 80241468 00000000 */ nop +/* CF8FDC 8024146C 0240202D */ daddu $a0, $s2, $zero +/* CF8FE0 80241470 44901000 */ mtc1 $s0, $f2 +/* CF8FE4 80241474 00000000 */ nop +/* CF8FE8 80241478 468010A0 */ cvt.s.w $f2, $f2 +/* CF8FEC 8024147C 46001081 */ sub.s $f2, $f2, $f0 +/* CF8FF0 80241480 3C05F4AC */ lui $a1, 0xf4ac +/* CF8FF4 80241484 4600110D */ trunc.w.s $f4, $f2 +/* CF8FF8 80241488 44102000 */ mfc1 $s0, $f4 +/* CF8FFC 8024148C 0C0B1EAF */ jal get_variable +/* CF9000 80241490 34A5D483 */ ori $a1, $a1, 0xd483 +/* CF9004 80241494 4600B306 */ mov.s $f12, $f22 +/* CF9008 80241498 0C00A8BB */ jal sin_deg +/* CF900C 8024149C 0040882D */ daddu $s1, $v0, $zero +/* CF9010 802414A0 4600A502 */ mul.s $f20, $f20, $f0 +/* CF9014 802414A4 00000000 */ nop +/* CF9018 802414A8 0240202D */ daddu $a0, $s2, $zero +/* CF901C 802414AC 44910000 */ mtc1 $s1, $f0 +/* CF9020 802414B0 00000000 */ nop +/* CF9024 802414B4 46800020 */ cvt.s.w $f0, $f0 +/* CF9028 802414B8 46140001 */ sub.s $f0, $f0, $f20 +/* CF902C 802414BC 0280282D */ daddu $a1, $s4, $zero +/* CF9030 802414C0 02173023 */ subu $a2, $s0, $s7 +/* CF9034 802414C4 4600010D */ trunc.w.s $f4, $f0 +/* CF9038 802414C8 44102000 */ mfc1 $s0, $f4 +/* CF903C 802414CC 0C0B2026 */ jal set_variable +/* CF9040 802414D0 02168023 */ subu $s0, $s0, $s6 +/* CF9044 802414D4 0240202D */ daddu $a0, $s2, $zero +/* CF9048 802414D8 02A0282D */ daddu $a1, $s5, $zero +/* CF904C 802414DC 0C0B2026 */ jal set_variable +/* CF9050 802414E0 0200302D */ daddu $a2, $s0, $zero +/* CF9054 802414E4 8FBF0030 */ lw $ra, 0x30($sp) +/* CF9058 802414E8 8FB7002C */ lw $s7, 0x2c($sp) +/* CF905C 802414EC 8FB60028 */ lw $s6, 0x28($sp) +/* CF9060 802414F0 8FB50024 */ lw $s5, 0x24($sp) +/* CF9064 802414F4 8FB40020 */ lw $s4, 0x20($sp) +/* CF9068 802414F8 8FB3001C */ lw $s3, 0x1c($sp) +/* CF906C 802414FC 8FB20018 */ lw $s2, 0x18($sp) +/* CF9070 80241500 8FB10014 */ lw $s1, 0x14($sp) +/* CF9074 80241504 8FB00010 */ lw $s0, 0x10($sp) +/* CF9078 80241508 D7B60040 */ ldc1 $f22, 0x40($sp) +/* CF907C 8024150C D7B40038 */ ldc1 $f20, 0x38($sp) +/* CF9080 80241510 24020002 */ addiu $v0, $zero, 2 +/* CF9084 80241514 03E00008 */ jr $ra +/* CF9088 80241518 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_8024151C_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_8024151C_CF7B70.s new file mode 100644 index 0000000000..50b2d10126 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_8024151C_CF7B70.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024151C_CF908C +/* CF908C 8024151C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* CF9090 80241520 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* CF9094 80241524 10A00002 */ beqz $a1, .L80241530 +/* CF9098 80241528 2402003C */ addiu $v0, $zero, 0x3c +/* CF909C 8024152C AC820070 */ sw $v0, 0x70($a0) +.L80241530: +/* CF90A0 80241530 C4620080 */ lwc1 $f2, 0x80($v1) +/* CF90A4 80241534 3C0141F0 */ lui $at, 0x41f0 +/* CF90A8 80241538 44810000 */ mtc1 $at, $f0 +/* CF90AC 8024153C 00000000 */ nop +/* CF90B0 80241540 46001000 */ add.s $f0, $f2, $f0 +/* CF90B4 80241544 3C0143B4 */ lui $at, 0x43b4 +/* CF90B8 80241548 44811000 */ mtc1 $at, $f2 +/* CF90BC 8024154C 00000000 */ nop +/* CF90C0 80241550 4600103E */ c.le.s $f2, $f0 +/* CF90C4 80241554 00000000 */ nop +/* CF90C8 80241558 45000003 */ bc1f .L80241568 +/* CF90CC 8024155C E4600080 */ swc1 $f0, 0x80($v1) +/* CF90D0 80241560 46020001 */ sub.s $f0, $f0, $f2 +/* CF90D4 80241564 E4600080 */ swc1 $f0, 0x80($v1) +.L80241568: +/* CF90D8 80241568 8C820070 */ lw $v0, 0x70($a0) +/* CF90DC 8024156C 2442FFFF */ addiu $v0, $v0, -1 +/* CF90E0 80241570 AC820070 */ sw $v0, 0x70($a0) +/* CF90E4 80241574 000217C3 */ sra $v0, $v0, 0x1f +/* CF90E8 80241578 03E00008 */ jr $ra +/* CF90EC 8024157C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241580_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241580_CF7B70.s new file mode 100644 index 0000000000..d9ad39c33f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241580_CF7B70.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241580_CF90F0 +/* CF90F0 80241580 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF90F4 80241584 AFB10014 */ sw $s1, 0x14($sp) +/* CF90F8 80241588 0080882D */ daddu $s1, $a0, $zero +/* CF90FC 8024158C AFB00010 */ sw $s0, 0x10($sp) +/* CF9100 80241590 00A0802D */ daddu $s0, $a1, $zero +/* CF9104 80241594 AFBF0018 */ sw $ra, 0x18($sp) +/* CF9108 80241598 0C00EABB */ jal get_npc_unsafe +/* CF910C 8024159C 2404FFFC */ addiu $a0, $zero, -4 +/* CF9110 802415A0 12000003 */ beqz $s0, .L802415B0 +/* CF9114 802415A4 0040182D */ daddu $v1, $v0, $zero +/* CF9118 802415A8 2402003C */ addiu $v0, $zero, 0x3c +/* CF911C 802415AC AE220070 */ sw $v0, 0x70($s1) +.L802415B0: +/* CF9120 802415B0 C462000C */ lwc1 $f2, 0xc($v1) +/* CF9124 802415B4 3C0141F0 */ lui $at, 0x41f0 +/* CF9128 802415B8 44810000 */ mtc1 $at, $f0 +/* CF912C 802415BC 00000000 */ nop +/* CF9130 802415C0 46001000 */ add.s $f0, $f2, $f0 +/* CF9134 802415C4 3C0143B4 */ lui $at, 0x43b4 +/* CF9138 802415C8 44811000 */ mtc1 $at, $f2 +/* CF913C 802415CC 00000000 */ nop +/* CF9140 802415D0 4600103E */ c.le.s $f2, $f0 +/* CF9144 802415D4 00000000 */ nop +/* CF9148 802415D8 45000003 */ bc1f .L802415E8 +/* CF914C 802415DC E460000C */ swc1 $f0, 0xc($v1) +/* CF9150 802415E0 46020001 */ sub.s $f0, $f0, $f2 +/* CF9154 802415E4 E460000C */ swc1 $f0, 0xc($v1) +.L802415E8: +/* CF9158 802415E8 8E230070 */ lw $v1, 0x70($s1) +/* CF915C 802415EC 2463FFFF */ addiu $v1, $v1, -1 +/* CF9160 802415F0 000317C3 */ sra $v0, $v1, 0x1f +/* CF9164 802415F4 AE230070 */ sw $v1, 0x70($s1) +/* CF9168 802415F8 8FBF0018 */ lw $ra, 0x18($sp) +/* CF916C 802415FC 8FB10014 */ lw $s1, 0x14($sp) +/* CF9170 80241600 8FB00010 */ lw $s0, 0x10($sp) +/* CF9174 80241604 30420002 */ andi $v0, $v0, 2 +/* CF9178 80241608 03E00008 */ jr $ra +/* CF917C 8024160C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241610_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241610_CF7B70.s new file mode 100644 index 0000000000..ada9d7a6c1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241610_CF7B70.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610_CF9180 +/* CF9180 80241610 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* CF9184 80241614 AFB10014 */ sw $s1, 0x14($sp) +/* CF9188 80241618 0080882D */ daddu $s1, $a0, $zero +/* CF918C 8024161C AFB00010 */ sw $s0, 0x10($sp) +/* CF9190 80241620 00A0802D */ daddu $s0, $a1, $zero +/* CF9194 80241624 AFBF001C */ sw $ra, 0x1c($sp) +/* CF9198 80241628 AFB20018 */ sw $s2, 0x18($sp) +/* CF919C 8024162C F7B40020 */ sdc1 $f20, 0x20($sp) +/* CF91A0 80241630 0C00EABB */ jal get_npc_unsafe +/* CF91A4 80241634 2404FFFC */ addiu $a0, $zero, -4 +/* CF91A8 80241638 12000017 */ beqz $s0, .L80241698 +/* CF91AC 8024163C 0040902D */ daddu $s2, $v0, $zero +/* CF91B0 80241640 0220202D */ daddu $a0, $s1, $zero +/* CF91B4 80241644 3C05FE36 */ lui $a1, 0xfe36 +/* CF91B8 80241648 0C0B210B */ jal get_float_variable +/* CF91BC 8024164C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* CF91C0 80241650 0220202D */ daddu $a0, $s1, $zero +/* CF91C4 80241654 3C05FE36 */ lui $a1, 0xfe36 +/* CF91C8 80241658 3C014270 */ lui $at, 0x4270 +/* CF91CC 8024165C 4481A000 */ mtc1 $at, $f20 +/* CF91D0 80241660 34A53C85 */ ori $a1, $a1, 0x3c85 +/* CF91D4 80241664 46140003 */ div.s $f0, $f0, $f20 +/* CF91D8 80241668 0C0B210B */ jal get_float_variable +/* CF91DC 8024166C E6200074 */ swc1 $f0, 0x74($s1) +/* CF91E0 80241670 0220202D */ daddu $a0, $s1, $zero +/* CF91E4 80241674 3C05FE36 */ lui $a1, 0xfe36 +/* CF91E8 80241678 34A53C81 */ ori $a1, $a1, 0x3c81 +/* CF91EC 8024167C 46140003 */ div.s $f0, $f0, $f20 +/* CF91F0 80241680 0C0B210B */ jal get_float_variable +/* CF91F4 80241684 E6200078 */ swc1 $f0, 0x78($s1) +/* CF91F8 80241688 46140003 */ div.s $f0, $f0, $f20 +/* CF91FC 8024168C 2402003C */ addiu $v0, $zero, 0x3c +/* CF9200 80241690 E620007C */ swc1 $f0, 0x7c($s1) +/* CF9204 80241694 AE220070 */ sw $v0, 0x70($s1) +.L80241698: +/* CF9208 80241698 C6400038 */ lwc1 $f0, 0x38($s2) +/* CF920C 8024169C C6220074 */ lwc1 $f2, 0x74($s1) +/* CF9210 802416A0 46020000 */ add.s $f0, $f0, $f2 +/* CF9214 802416A4 E6400038 */ swc1 $f0, 0x38($s2) +/* CF9218 802416A8 C640003C */ lwc1 $f0, 0x3c($s2) +/* CF921C 802416AC C6220078 */ lwc1 $f2, 0x78($s1) +/* CF9220 802416B0 46020000 */ add.s $f0, $f0, $f2 +/* CF9224 802416B4 E640003C */ swc1 $f0, 0x3c($s2) +/* CF9228 802416B8 C6400040 */ lwc1 $f0, 0x40($s2) +/* CF922C 802416BC C622007C */ lwc1 $f2, 0x7c($s1) +/* CF9230 802416C0 46020000 */ add.s $f0, $f0, $f2 +/* CF9234 802416C4 E6400040 */ swc1 $f0, 0x40($s2) +/* CF9238 802416C8 8E230070 */ lw $v1, 0x70($s1) +/* CF923C 802416CC 2463FFFF */ addiu $v1, $v1, -1 +/* CF9240 802416D0 2C620001 */ sltiu $v0, $v1, 1 +/* CF9244 802416D4 AE230070 */ sw $v1, 0x70($s1) +/* CF9248 802416D8 8FBF001C */ lw $ra, 0x1c($sp) +/* CF924C 802416DC 8FB20018 */ lw $s2, 0x18($sp) +/* CF9250 802416E0 8FB10014 */ lw $s1, 0x14($sp) +/* CF9254 802416E4 8FB00010 */ lw $s0, 0x10($sp) +/* CF9258 802416E8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* CF925C 802416EC 00021040 */ sll $v0, $v0, 1 +/* CF9260 802416F0 03E00008 */ jr $ra +/* CF9264 802416F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_802416F8_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_802416F8_CF7B70.s new file mode 100644 index 0000000000..bdba73fd8b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_802416F8_CF7B70.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F8_CF9268 +/* CF9268 802416F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF926C 802416FC 3C058025 */ lui $a1, 0x8025 +/* CF9270 80241700 8CA5DF10 */ lw $a1, -0x20f0($a1) +/* CF9274 80241704 AFBF0010 */ sw $ra, 0x10($sp) +/* CF9278 80241708 0C0B1EAF */ jal get_variable +/* CF927C 8024170C 0000202D */ daddu $a0, $zero, $zero +/* CF9280 80241710 0040182D */ daddu $v1, $v0, $zero +/* CF9284 80241714 24020001 */ addiu $v0, $zero, 1 +/* CF9288 80241718 14620006 */ bne $v1, $v0, .L80241734 +/* CF928C 8024171C 24020002 */ addiu $v0, $zero, 2 +/* CF9290 80241720 44800000 */ mtc1 $zero, $f0 +/* CF9294 80241724 00000000 */ nop +/* CF9298 80241728 44050000 */ mfc1 $a1, $f0 +/* CF929C 8024172C 080905D3 */ j .L8024174C +/* CF92A0 80241730 0000202D */ daddu $a0, $zero, $zero +.L80241734: +/* CF92A4 80241734 14620008 */ bne $v1, $v0, .L80241758 +/* CF92A8 80241738 24040001 */ addiu $a0, $zero, 1 +/* CF92AC 8024173C 44800000 */ mtc1 $zero, $f0 +/* CF92B0 80241740 00000000 */ nop +/* CF92B4 80241744 44050000 */ mfc1 $a1, $f0 +/* CF92B8 80241748 00000000 */ nop +.L8024174C: +/* CF92BC 8024174C 00A0302D */ daddu $a2, $a1, $zero +/* CF92C0 80241750 0C01C5A4 */ jal func_80071690 +/* CF92C4 80241754 00A0382D */ daddu $a3, $a1, $zero +.L80241758: +/* CF92C8 80241758 8FBF0010 */ lw $ra, 0x10($sp) +/* CF92CC 8024175C 03E00008 */ jr $ra +/* CF92D0 80241760 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241764_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241764_CF7B70.s new file mode 100644 index 0000000000..b5cae0653b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241764_CF7B70.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241764_CF92D4 +/* CF92D4 80241764 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF92D8 80241768 3C058024 */ lui $a1, 0x8024 +/* CF92DC 8024176C 24A516F8 */ addiu $a1, $a1, 0x16f8 +/* CF92E0 80241770 AFBF0010 */ sw $ra, 0x10($sp) +/* CF92E4 80241774 0C048C8F */ jal bind_dynamic_entity_7 +/* CF92E8 80241778 0000202D */ daddu $a0, $zero, $zero +/* CF92EC 8024177C 8FBF0010 */ lw $ra, 0x10($sp) +/* CF92F0 80241780 3C018025 */ lui $at, 0x8025 +/* CF92F4 80241784 AC22DEF8 */ sw $v0, -0x2108($at) +/* CF92F8 80241788 24020002 */ addiu $v0, $zero, 2 +/* CF92FC 8024178C 03E00008 */ jr $ra +/* CF9300 80241790 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241794.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241794.s new file mode 100644 index 0000000000..25df6bdf0a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241794.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241794 +/* CF9304 80241794 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF9308 80241798 AFB10014 */ sw $s1, 0x14($sp) +/* CF930C 8024179C 0080882D */ daddu $s1, $a0, $zero +/* CF9310 802417A0 AFBF0018 */ sw $ra, 0x18($sp) +/* CF9314 802417A4 AFB00010 */ sw $s0, 0x10($sp) +/* CF9318 802417A8 8E30000C */ lw $s0, 0xc($s1) +/* CF931C 802417AC 8E050000 */ lw $a1, ($s0) +/* CF9320 802417B0 0C0B1EAF */ jal get_variable +/* CF9324 802417B4 26100004 */ addiu $s0, $s0, 4 +/* CF9328 802417B8 AE22008C */ sw $v0, 0x8c($s1) +/* CF932C 802417BC 8E050000 */ lw $a1, ($s0) +/* CF9330 802417C0 26100004 */ addiu $s0, $s0, 4 +/* CF9334 802417C4 0C0B1EAF */ jal get_variable +/* CF9338 802417C8 0220202D */ daddu $a0, $s1, $zero +/* CF933C 802417CC AE220090 */ sw $v0, 0x90($s1) +/* CF9340 802417D0 8E050000 */ lw $a1, ($s0) +/* CF9344 802417D4 26100004 */ addiu $s0, $s0, 4 +/* CF9348 802417D8 0C0B1EAF */ jal get_variable +/* CF934C 802417DC 0220202D */ daddu $a0, $s1, $zero +/* CF9350 802417E0 AE220094 */ sw $v0, 0x94($s1) +/* CF9354 802417E4 8E050000 */ lw $a1, ($s0) +/* CF9358 802417E8 26100004 */ addiu $s0, $s0, 4 +/* CF935C 802417EC 0C0B1EAF */ jal get_variable +/* CF9360 802417F0 0220202D */ daddu $a0, $s1, $zero +/* CF9364 802417F4 AE220098 */ sw $v0, 0x98($s1) +/* CF9368 802417F8 8E050000 */ lw $a1, ($s0) +/* CF936C 802417FC 26100004 */ addiu $s0, $s0, 4 +/* CF9370 80241800 0C0B1EAF */ jal get_variable +/* CF9374 80241804 0220202D */ daddu $a0, $s1, $zero +/* CF9378 80241808 AE22009C */ sw $v0, 0x9c($s1) +/* CF937C 8024180C 8E050000 */ lw $a1, ($s0) +/* CF9380 80241810 26100004 */ addiu $s0, $s0, 4 +/* CF9384 80241814 0C0B1EAF */ jal get_variable +/* CF9388 80241818 0220202D */ daddu $a0, $s1, $zero +/* CF938C 8024181C AE2200A0 */ sw $v0, 0xa0($s1) +/* CF9390 80241820 8E050000 */ lw $a1, ($s0) +/* CF9394 80241824 26100004 */ addiu $s0, $s0, 4 +/* CF9398 80241828 0C0B1EAF */ jal get_variable +/* CF939C 8024182C 0220202D */ daddu $a0, $s1, $zero +/* CF93A0 80241830 AE2200A4 */ sw $v0, 0xa4($s1) +/* CF93A4 80241834 8E050000 */ lw $a1, ($s0) +/* CF93A8 80241838 26100004 */ addiu $s0, $s0, 4 +/* CF93AC 8024183C 0C0B1EAF */ jal get_variable +/* CF93B0 80241840 0220202D */ daddu $a0, $s1, $zero +/* CF93B4 80241844 AE2200A8 */ sw $v0, 0xa8($s1) +/* CF93B8 80241848 8E050000 */ lw $a1, ($s0) +/* CF93BC 8024184C 26100004 */ addiu $s0, $s0, 4 +/* CF93C0 80241850 0C0B1EAF */ jal get_variable +/* CF93C4 80241854 0220202D */ daddu $a0, $s1, $zero +/* CF93C8 80241858 AE2200AC */ sw $v0, 0xac($s1) +/* CF93CC 8024185C 8E050000 */ lw $a1, ($s0) +/* CF93D0 80241860 0C0B1EAF */ jal get_variable +/* CF93D4 80241864 0220202D */ daddu $a0, $s1, $zero +/* CF93D8 80241868 AE2200B0 */ sw $v0, 0xb0($s1) +/* CF93DC 8024186C 8FBF0018 */ lw $ra, 0x18($sp) +/* CF93E0 80241870 8FB10014 */ lw $s1, 0x14($sp) +/* CF93E4 80241874 8FB00010 */ lw $s0, 0x10($sp) +/* CF93E8 80241878 24020002 */ addiu $v0, $zero, 2 +/* CF93EC 8024187C 03E00008 */ jr $ra +/* CF93F0 80241880 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241884.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241884.s new file mode 100644 index 0000000000..e95dc6695f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241884.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241884 +/* CF93F4 80241884 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* CF93F8 80241888 AFB1001C */ sw $s1, 0x1c($sp) +/* CF93FC 8024188C 0080882D */ daddu $s1, $a0, $zero +/* CF9400 80241890 AFBF0034 */ sw $ra, 0x34($sp) +/* CF9404 80241894 AFB60030 */ sw $s6, 0x30($sp) +/* CF9408 80241898 AFB5002C */ sw $s5, 0x2c($sp) +/* CF940C 8024189C AFB40028 */ sw $s4, 0x28($sp) +/* CF9410 802418A0 AFB30024 */ sw $s3, 0x24($sp) +/* CF9414 802418A4 AFB20020 */ sw $s2, 0x20($sp) +/* CF9418 802418A8 AFB00018 */ sw $s0, 0x18($sp) +/* CF941C 802418AC F7B60040 */ sdc1 $f22, 0x40($sp) +/* CF9420 802418B0 F7B40038 */ sdc1 $f20, 0x38($sp) +/* CF9424 802418B4 8E30000C */ lw $s0, 0xc($s1) +/* CF9428 802418B8 8E160000 */ lw $s6, ($s0) +/* CF942C 802418BC 26100004 */ addiu $s0, $s0, 4 +/* CF9430 802418C0 0C0B1EAF */ jal get_variable +/* CF9434 802418C4 02C0282D */ daddu $a1, $s6, $zero +/* CF9438 802418C8 44820000 */ mtc1 $v0, $f0 +/* CF943C 802418CC 00000000 */ nop +/* CF9440 802418D0 46800020 */ cvt.s.w $f0, $f0 +/* CF9444 802418D4 E7A00010 */ swc1 $f0, 0x10($sp) +/* CF9448 802418D8 8E140000 */ lw $s4, ($s0) +/* CF944C 802418DC 26100004 */ addiu $s0, $s0, 4 +/* CF9450 802418E0 0220202D */ daddu $a0, $s1, $zero +/* CF9454 802418E4 0C0B1EAF */ jal get_variable +/* CF9458 802418E8 0280282D */ daddu $a1, $s4, $zero +/* CF945C 802418EC 0220202D */ daddu $a0, $s1, $zero +/* CF9460 802418F0 8E150000 */ lw $s5, ($s0) +/* CF9464 802418F4 4482B000 */ mtc1 $v0, $f22 +/* CF9468 802418F8 00000000 */ nop +/* CF946C 802418FC 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF9470 80241900 0C0B1EAF */ jal get_variable +/* CF9474 80241904 02A0282D */ daddu $a1, $s5, $zero +/* CF9478 80241908 2404FFFC */ addiu $a0, $zero, -4 +/* CF947C 8024190C 44820000 */ mtc1 $v0, $f0 +/* CF9480 80241910 00000000 */ nop +/* CF9484 80241914 46800020 */ cvt.s.w $f0, $f0 +/* CF9488 80241918 0C00EABB */ jal get_npc_unsafe +/* CF948C 8024191C E7A00014 */ swc1 $f0, 0x14($sp) +/* CF9490 80241920 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* CF9494 80241924 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* CF9498 80241928 3C014334 */ lui $at, 0x4334 +/* CF949C 8024192C 44816000 */ mtc1 $at, $f12 +/* CF94A0 80241930 00041880 */ sll $v1, $a0, 2 +/* CF94A4 80241934 00641821 */ addu $v1, $v1, $a0 +/* CF94A8 80241938 00031880 */ sll $v1, $v1, 2 +/* CF94AC 8024193C 00641823 */ subu $v1, $v1, $a0 +/* CF94B0 80241940 000320C0 */ sll $a0, $v1, 3 +/* CF94B4 80241944 00641821 */ addu $v1, $v1, $a0 +/* CF94B8 80241948 000318C0 */ sll $v1, $v1, 3 +/* CF94BC 8024194C 3C01800B */ lui $at, 0x800b +/* CF94C0 80241950 00230821 */ addu $at, $at, $v1 +/* CF94C4 80241954 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* CF94C8 80241958 460C0300 */ add.s $f12, $f0, $f12 +/* CF94CC 8024195C 0C00A6C9 */ jal clamp_angle +/* CF94D0 80241960 0040982D */ daddu $s3, $v0, $zero +/* CF94D4 80241964 27B00010 */ addiu $s0, $sp, 0x10 +/* CF94D8 80241968 0200202D */ daddu $a0, $s0, $zero +/* CF94DC 8024196C 27B20014 */ addiu $s2, $sp, 0x14 +/* CF94E0 80241970 0240282D */ daddu $a1, $s2, $zero +/* CF94E4 80241974 3C064170 */ lui $a2, 0x4170 +/* CF94E8 80241978 8E67000C */ lw $a3, 0xc($s3) +/* CF94EC 8024197C 0C00A7E7 */ jal add_vec2D_polar +/* CF94F0 80241980 46000506 */ mov.s $f20, $f0 +/* CF94F4 80241984 0200202D */ daddu $a0, $s0, $zero +/* CF94F8 80241988 3C064120 */ lui $a2, 0x4120 +/* CF94FC 8024198C 4407A000 */ mfc1 $a3, $f20 +/* CF9500 80241990 0C00A7E7 */ jal add_vec2D_polar +/* CF9504 80241994 0240282D */ daddu $a1, $s2, $zero +/* CF9508 80241998 0220202D */ daddu $a0, $s1, $zero +/* CF950C 8024199C C7A00010 */ lwc1 $f0, 0x10($sp) +/* CF9510 802419A0 4600008D */ trunc.w.s $f2, $f0 +/* CF9514 802419A4 44061000 */ mfc1 $a2, $f2 +/* CF9518 802419A8 0C0B2026 */ jal set_variable +/* CF951C 802419AC 02C0282D */ daddu $a1, $s6, $zero +/* CF9520 802419B0 0220202D */ daddu $a0, $s1, $zero +/* CF9524 802419B4 4600B08D */ trunc.w.s $f2, $f22 +/* CF9528 802419B8 44061000 */ mfc1 $a2, $f2 +/* CF952C 802419BC 0C0B2026 */ jal set_variable +/* CF9530 802419C0 0280282D */ daddu $a1, $s4, $zero +/* CF9534 802419C4 0220202D */ daddu $a0, $s1, $zero +/* CF9538 802419C8 C7A00014 */ lwc1 $f0, 0x14($sp) +/* CF953C 802419CC 4600008D */ trunc.w.s $f2, $f0 +/* CF9540 802419D0 44061000 */ mfc1 $a2, $f2 +/* CF9544 802419D4 0C0B2026 */ jal set_variable +/* CF9548 802419D8 02A0282D */ daddu $a1, $s5, $zero +/* CF954C 802419DC 8FBF0034 */ lw $ra, 0x34($sp) +/* CF9550 802419E0 8FB60030 */ lw $s6, 0x30($sp) +/* CF9554 802419E4 8FB5002C */ lw $s5, 0x2c($sp) +/* CF9558 802419E8 8FB40028 */ lw $s4, 0x28($sp) +/* CF955C 802419EC 8FB30024 */ lw $s3, 0x24($sp) +/* CF9560 802419F0 8FB20020 */ lw $s2, 0x20($sp) +/* CF9564 802419F4 8FB1001C */ lw $s1, 0x1c($sp) +/* CF9568 802419F8 8FB00018 */ lw $s0, 0x18($sp) +/* CF956C 802419FC D7B60040 */ ldc1 $f22, 0x40($sp) +/* CF9570 80241A00 D7B40038 */ ldc1 $f20, 0x38($sp) +/* CF9574 80241A04 24020002 */ addiu $v0, $zero, 2 +/* CF9578 80241A08 03E00008 */ jr $ra +/* CF957C 80241A0C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241A10_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241A10_CF7B70.s new file mode 100644 index 0000000000..32fc33f0a3 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241A10_CF7B70.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A10_CF9580 +/* CF9580 80241A10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF9584 80241A14 AFB00010 */ sw $s0, 0x10($sp) +/* CF9588 80241A18 0080802D */ daddu $s0, $a0, $zero +/* CF958C 80241A1C AFBF0014 */ sw $ra, 0x14($sp) +/* CF9590 80241A20 0C00EABB */ jal get_npc_unsafe +/* CF9594 80241A24 8E04008C */ lw $a0, 0x8c($s0) +/* CF9598 80241A28 0040282D */ daddu $a1, $v0, $zero +/* CF959C 80241A2C 8E040094 */ lw $a0, 0x94($s0) +/* CF95A0 80241A30 8CA30028 */ lw $v1, 0x28($a1) +/* CF95A4 80241A34 ACA40028 */ sw $a0, 0x28($a1) +/* CF95A8 80241A38 8FBF0014 */ lw $ra, 0x14($sp) +/* CF95AC 80241A3C 8FB00010 */ lw $s0, 0x10($sp) +/* CF95B0 80241A40 24020002 */ addiu $v0, $zero, 2 +/* CF95B4 80241A44 3C018025 */ lui $at, 0x8025 +/* CF95B8 80241A48 AC23DF24 */ sw $v1, -0x20dc($at) +/* CF95BC 80241A4C 03E00008 */ jr $ra +/* CF95C0 80241A50 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241A54.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241A54.s new file mode 100644 index 0000000000..09968d3d38 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241A54.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A54 +/* CF95C4 80241A54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF95C8 80241A58 AFBF0010 */ sw $ra, 0x10($sp) +/* CF95CC 80241A5C 0C00EABB */ jal get_npc_unsafe +/* CF95D0 80241A60 8C84008C */ lw $a0, 0x8c($a0) +/* CF95D4 80241A64 3C038025 */ lui $v1, 0x8025 +/* CF95D8 80241A68 8C63DF24 */ lw $v1, -0x20dc($v1) +/* CF95DC 80241A6C AC430028 */ sw $v1, 0x28($v0) +/* CF95E0 80241A70 8FBF0010 */ lw $ra, 0x10($sp) +/* CF95E4 80241A74 24020002 */ addiu $v0, $zero, 2 +/* CF95E8 80241A78 03E00008 */ jr $ra +/* CF95EC 80241A7C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241A80_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241A80_CF7B70.s new file mode 100644 index 0000000000..38ab059e13 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241A80_CF7B70.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A80_CF95F0 +/* CF95F0 80241A80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF95F4 80241A84 AFB20018 */ sw $s2, 0x18($sp) +/* CF95F8 80241A88 0080902D */ daddu $s2, $a0, $zero +/* CF95FC 80241A8C AFBF001C */ sw $ra, 0x1c($sp) +/* CF9600 80241A90 AFB10014 */ sw $s1, 0x14($sp) +/* CF9604 80241A94 AFB00010 */ sw $s0, 0x10($sp) +/* CF9608 80241A98 8E50000C */ lw $s0, 0xc($s2) +/* CF960C 80241A9C 8E050000 */ lw $a1, ($s0) +/* CF9610 80241AA0 0C0B1EAF */ jal get_variable +/* CF9614 80241AA4 26100004 */ addiu $s0, $s0, 4 +/* CF9618 80241AA8 0C04C3D6 */ jal get_item_entity +/* CF961C 80241AAC 0040202D */ daddu $a0, $v0, $zero +/* CF9620 80241AB0 8E050000 */ lw $a1, ($s0) +/* CF9624 80241AB4 26100004 */ addiu $s0, $s0, 4 +/* CF9628 80241AB8 0040882D */ daddu $s1, $v0, $zero +/* CF962C 80241ABC C6200008 */ lwc1 $f0, 8($s1) +/* CF9630 80241AC0 4600008D */ trunc.w.s $f2, $f0 +/* CF9634 80241AC4 44061000 */ mfc1 $a2, $f2 +/* CF9638 80241AC8 0C0B2026 */ jal set_variable +/* CF963C 80241ACC 0240202D */ daddu $a0, $s2, $zero +/* CF9640 80241AD0 8E050000 */ lw $a1, ($s0) +/* CF9644 80241AD4 26100004 */ addiu $s0, $s0, 4 +/* CF9648 80241AD8 C620000C */ lwc1 $f0, 0xc($s1) +/* CF964C 80241ADC 4600008D */ trunc.w.s $f2, $f0 +/* CF9650 80241AE0 44061000 */ mfc1 $a2, $f2 +/* CF9654 80241AE4 0C0B2026 */ jal set_variable +/* CF9658 80241AE8 0240202D */ daddu $a0, $s2, $zero +/* CF965C 80241AEC C6200010 */ lwc1 $f0, 0x10($s1) +/* CF9660 80241AF0 8E050000 */ lw $a1, ($s0) +/* CF9664 80241AF4 4600008D */ trunc.w.s $f2, $f0 +/* CF9668 80241AF8 44061000 */ mfc1 $a2, $f2 +/* CF966C 80241AFC 0C0B2026 */ jal set_variable +/* CF9670 80241B00 0240202D */ daddu $a0, $s2, $zero +/* CF9674 80241B04 8FBF001C */ lw $ra, 0x1c($sp) +/* CF9678 80241B08 8FB20018 */ lw $s2, 0x18($sp) +/* CF967C 80241B0C 8FB10014 */ lw $s1, 0x14($sp) +/* CF9680 80241B10 8FB00010 */ lw $s0, 0x10($sp) +/* CF9684 80241B14 24020002 */ addiu $v0, $zero, 2 +/* CF9688 80241B18 03E00008 */ jr $ra +/* CF968C 80241B1C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241B20_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241B20_CF7B70.s new file mode 100644 index 0000000000..3a129746a4 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241B20_CF7B70.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B20_CF9690 +/* CF9690 80241B20 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* CF9694 80241B24 AFB10014 */ sw $s1, 0x14($sp) +/* CF9698 80241B28 0080882D */ daddu $s1, $a0, $zero +/* CF969C 80241B2C AFBF0020 */ sw $ra, 0x20($sp) +/* CF96A0 80241B30 AFB3001C */ sw $s3, 0x1c($sp) +/* CF96A4 80241B34 AFB20018 */ sw $s2, 0x18($sp) +/* CF96A8 80241B38 AFB00010 */ sw $s0, 0x10($sp) +/* CF96AC 80241B3C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* CF96B0 80241B40 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* CF96B4 80241B44 F7B80038 */ sdc1 $f24, 0x38($sp) +/* CF96B8 80241B48 F7B60030 */ sdc1 $f22, 0x30($sp) +/* CF96BC 80241B4C F7B40028 */ sdc1 $f20, 0x28($sp) +/* CF96C0 80241B50 8E30000C */ lw $s0, 0xc($s1) +/* CF96C4 80241B54 8E050000 */ lw $a1, ($s0) +/* CF96C8 80241B58 0C0B1EAF */ jal get_variable +/* CF96CC 80241B5C 26100004 */ addiu $s0, $s0, 4 +/* CF96D0 80241B60 8E050000 */ lw $a1, ($s0) +/* CF96D4 80241B64 26100004 */ addiu $s0, $s0, 4 +/* CF96D8 80241B68 0220202D */ daddu $a0, $s1, $zero +/* CF96DC 80241B6C 0C0B1EAF */ jal get_variable +/* CF96E0 80241B70 0040902D */ daddu $s2, $v0, $zero +/* CF96E4 80241B74 0220202D */ daddu $a0, $s1, $zero +/* CF96E8 80241B78 8E050000 */ lw $a1, ($s0) +/* CF96EC 80241B7C 0C0B1EAF */ jal get_variable +/* CF96F0 80241B80 0040982D */ daddu $s3, $v0, $zero +/* CF96F4 80241B84 3C10800B */ lui $s0, %hi(gCameras) +/* CF96F8 80241B88 26101D80 */ addiu $s0, $s0, %lo(gCameras) +/* CF96FC 80241B8C C60C006C */ lwc1 $f12, 0x6c($s0) +/* CF9700 80241B90 3C014387 */ lui $at, 0x4387 +/* CF9704 80241B94 4481B000 */ mtc1 $at, $f22 +/* CF9708 80241B98 00000000 */ nop +/* CF970C 80241B9C 46166300 */ add.s $f12, $f12, $f22 +/* CF9710 80241BA0 4482C000 */ mtc1 $v0, $f24 +/* CF9714 80241BA4 00000000 */ nop +/* CF9718 80241BA8 4680C620 */ cvt.s.w $f24, $f24 +/* CF971C 80241BAC 3C0142C8 */ lui $at, 0x42c8 +/* CF9720 80241BB0 4481D000 */ mtc1 $at, $f26 +/* CF9724 80241BB4 0C00A8BB */ jal sin_deg +/* CF9728 80241BB8 46186300 */ add.s $f12, $f12, $f24 +/* CF972C 80241BBC 461A0002 */ mul.s $f0, $f0, $f26 +/* CF9730 80241BC0 00000000 */ nop +/* CF9734 80241BC4 4492A000 */ mtc1 $s2, $f20 +/* CF9738 80241BC8 00000000 */ nop +/* CF973C 80241BCC 4680A520 */ cvt.s.w $f20, $f20 +/* CF9740 80241BD0 4600A000 */ add.s $f0, $f20, $f0 +/* CF9744 80241BD4 4600008D */ trunc.w.s $f2, $f0 +/* CF9748 80241BD8 E6220084 */ swc1 $f2, 0x84($s1) +/* CF974C 80241BDC C60C006C */ lwc1 $f12, 0x6c($s0) +/* CF9750 80241BE0 46166300 */ add.s $f12, $f12, $f22 +/* CF9754 80241BE4 0C00A8D4 */ jal cos_deg +/* CF9758 80241BE8 46186300 */ add.s $f12, $f12, $f24 +/* CF975C 80241BEC 461A0002 */ mul.s $f0, $f0, $f26 +/* CF9760 80241BF0 00000000 */ nop +/* CF9764 80241BF4 4493B000 */ mtc1 $s3, $f22 +/* CF9768 80241BF8 00000000 */ nop +/* CF976C 80241BFC 4680B5A0 */ cvt.s.w $f22, $f22 +/* CF9770 80241C00 4600B001 */ sub.s $f0, $f22, $f0 +/* CF9774 80241C04 3C0142B4 */ lui $at, 0x42b4 +/* CF9778 80241C08 4481E000 */ mtc1 $at, $f28 +/* CF977C 80241C0C 4600008D */ trunc.w.s $f2, $f0 +/* CF9780 80241C10 E6220088 */ swc1 $f2, 0x88($s1) +/* CF9784 80241C14 C60C006C */ lwc1 $f12, 0x6c($s0) +/* CF9788 80241C18 461C6300 */ add.s $f12, $f12, $f28 +/* CF978C 80241C1C 0C00A8BB */ jal sin_deg +/* CF9790 80241C20 46186300 */ add.s $f12, $f12, $f24 +/* CF9794 80241C24 461A0002 */ mul.s $f0, $f0, $f26 +/* CF9798 80241C28 00000000 */ nop +/* CF979C 80241C2C 4600A500 */ add.s $f20, $f20, $f0 +/* CF97A0 80241C30 4600A08D */ trunc.w.s $f2, $f20 +/* CF97A4 80241C34 E622008C */ swc1 $f2, 0x8c($s1) +/* CF97A8 80241C38 C60C006C */ lwc1 $f12, 0x6c($s0) +/* CF97AC 80241C3C 461C6300 */ add.s $f12, $f12, $f28 +/* CF97B0 80241C40 0C00A8D4 */ jal cos_deg +/* CF97B4 80241C44 46186300 */ add.s $f12, $f12, $f24 +/* CF97B8 80241C48 461A0002 */ mul.s $f0, $f0, $f26 +/* CF97BC 80241C4C 00000000 */ nop +/* CF97C0 80241C50 4600B581 */ sub.s $f22, $f22, $f0 +/* CF97C4 80241C54 4600B08D */ trunc.w.s $f2, $f22 +/* CF97C8 80241C58 E6220090 */ swc1 $f2, 0x90($s1) +/* CF97CC 80241C5C 8FBF0020 */ lw $ra, 0x20($sp) +/* CF97D0 80241C60 8FB3001C */ lw $s3, 0x1c($sp) +/* CF97D4 80241C64 8FB20018 */ lw $s2, 0x18($sp) +/* CF97D8 80241C68 8FB10014 */ lw $s1, 0x14($sp) +/* CF97DC 80241C6C 8FB00010 */ lw $s0, 0x10($sp) +/* CF97E0 80241C70 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* CF97E4 80241C74 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* CF97E8 80241C78 D7B80038 */ ldc1 $f24, 0x38($sp) +/* CF97EC 80241C7C D7B60030 */ ldc1 $f22, 0x30($sp) +/* CF97F0 80241C80 D7B40028 */ ldc1 $f20, 0x28($sp) +/* CF97F4 80241C84 24020002 */ addiu $v0, $zero, 2 +/* CF97F8 80241C88 03E00008 */ jr $ra +/* CF97FC 80241C8C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241C90_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241C90_CF7B70.s new file mode 100644 index 0000000000..eadfd28f40 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241C90_CF7B70.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C90_CF9800 +/* CF9800 80241C90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF9804 80241C94 AFB00010 */ sw $s0, 0x10($sp) +/* CF9808 80241C98 3C108025 */ lui $s0, 0x8025 +/* CF980C 80241C9C 2610D8F0 */ addiu $s0, $s0, -0x2710 +/* CF9810 80241CA0 AFBF0018 */ sw $ra, 0x18($sp) +/* CF9814 80241CA4 AFB10014 */ sw $s1, 0x14($sp) +/* CF9818 80241CA8 8E020000 */ lw $v0, ($s0) +/* CF981C 80241CAC 14400010 */ bnez $v0, .L80241CF0 +/* CF9820 80241CB0 0080882D */ daddu $s1, $a0, $zero +/* CF9824 80241CB4 0C00AB39 */ jal heap_malloc +/* CF9828 80241CB8 24040040 */ addiu $a0, $zero, 0x40 +/* CF982C 80241CBC AE020000 */ sw $v0, ($s0) +/* CF9830 80241CC0 0000182D */ daddu $v1, $zero, $zero +/* CF9834 80241CC4 0040282D */ daddu $a1, $v0, $zero +/* CF9838 80241CC8 0220202D */ daddu $a0, $s1, $zero +.L80241CCC: +/* CF983C 80241CCC 8C820084 */ lw $v0, 0x84($a0) +/* CF9840 80241CD0 24840004 */ addiu $a0, $a0, 4 +/* CF9844 80241CD4 24630001 */ addiu $v1, $v1, 1 +/* CF9848 80241CD8 ACA20000 */ sw $v0, ($a1) +/* CF984C 80241CDC 28620010 */ slti $v0, $v1, 0x10 +/* CF9850 80241CE0 1440FFFA */ bnez $v0, .L80241CCC +/* CF9854 80241CE4 24A50004 */ addiu $a1, $a1, 4 +/* CF9858 80241CE8 0809074B */ j .L80241D2C +/* CF985C 80241CEC 00000000 */ nop +.L80241CF0: +/* CF9860 80241CF0 0000182D */ daddu $v1, $zero, $zero +/* CF9864 80241CF4 0040282D */ daddu $a1, $v0, $zero +/* CF9868 80241CF8 0220202D */ daddu $a0, $s1, $zero +.L80241CFC: +/* CF986C 80241CFC 8CA20000 */ lw $v0, ($a1) +/* CF9870 80241D00 24A50004 */ addiu $a1, $a1, 4 +/* CF9874 80241D04 24630001 */ addiu $v1, $v1, 1 +/* CF9878 80241D08 AC820084 */ sw $v0, 0x84($a0) +/* CF987C 80241D0C 28620010 */ slti $v0, $v1, 0x10 +/* CF9880 80241D10 1440FFFA */ bnez $v0, .L80241CFC +/* CF9884 80241D14 24840004 */ addiu $a0, $a0, 4 +/* CF9888 80241D18 3C108025 */ lui $s0, 0x8025 +/* CF988C 80241D1C 2610D8F0 */ addiu $s0, $s0, -0x2710 +/* CF9890 80241D20 0C00AB4B */ jal heap_free +/* CF9894 80241D24 8E040000 */ lw $a0, ($s0) +/* CF9898 80241D28 AE000000 */ sw $zero, ($s0) +.L80241D2C: +/* CF989C 80241D2C 8FBF0018 */ lw $ra, 0x18($sp) +/* CF98A0 80241D30 8FB10014 */ lw $s1, 0x14($sp) +/* CF98A4 80241D34 8FB00010 */ lw $s0, 0x10($sp) +/* CF98A8 80241D38 24020002 */ addiu $v0, $zero, 2 +/* CF98AC 80241D3C 03E00008 */ jr $ra +/* CF98B0 80241D40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241D44_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241D44_CF7B70.s new file mode 100644 index 0000000000..8ed37cb5cf --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241D44_CF7B70.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D44_CF98B4 +/* CF98B4 80241D44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF98B8 80241D48 AFB00010 */ sw $s0, 0x10($sp) +/* CF98BC 80241D4C 0080802D */ daddu $s0, $a0, $zero +/* CF98C0 80241D50 AFBF0018 */ sw $ra, 0x18($sp) +/* CF98C4 80241D54 AFB10014 */ sw $s1, 0x14($sp) +/* CF98C8 80241D58 8E02000C */ lw $v0, 0xc($s0) +/* CF98CC 80241D5C 8C510000 */ lw $s1, ($v0) +/* CF98D0 80241D60 0C0B1EAF */ jal get_variable +/* CF98D4 80241D64 0220282D */ daddu $a1, $s1, $zero +/* CF98D8 80241D68 3C03FFF0 */ lui $v1, 0xfff0 +/* CF98DC 80241D6C 3463FFFF */ ori $v1, $v1, 0xffff +/* CF98E0 80241D70 0200202D */ daddu $a0, $s0, $zero +/* CF98E4 80241D74 00431024 */ and $v0, $v0, $v1 +/* CF98E8 80241D78 00021140 */ sll $v0, $v0, 5 +/* CF98EC 80241D7C 3C068008 */ lui $a2, %hi(gItemTable) +/* CF98F0 80241D80 00C23021 */ addu $a2, $a2, $v0 +/* CF98F4 80241D84 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* CF98F8 80241D88 0C0B2026 */ jal set_variable +/* CF98FC 80241D8C 0220282D */ daddu $a1, $s1, $zero +/* CF9900 80241D90 8FBF0018 */ lw $ra, 0x18($sp) +/* CF9904 80241D94 8FB10014 */ lw $s1, 0x14($sp) +/* CF9908 80241D98 8FB00010 */ lw $s0, 0x10($sp) +/* CF990C 80241D9C 24020002 */ addiu $v0, $zero, 2 +/* CF9910 80241DA0 03E00008 */ jr $ra +/* CF9914 80241DA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241DA8.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241DA8.s new file mode 100644 index 0000000000..f99302113b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241DA8.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DA8 +/* CF9918 80241DA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* CF991C 80241DAC AFB10014 */ sw $s1, 0x14($sp) +/* CF9920 80241DB0 0080882D */ daddu $s1, $a0, $zero +/* CF9924 80241DB4 AFBF001C */ sw $ra, 0x1c($sp) +/* CF9928 80241DB8 AFB20018 */ sw $s2, 0x18($sp) +/* CF992C 80241DBC AFB00010 */ sw $s0, 0x10($sp) +/* CF9930 80241DC0 8E240084 */ lw $a0, 0x84($s1) +/* CF9934 80241DC4 0C04C3D6 */ jal get_item_entity +/* CF9938 80241DC8 00A0802D */ daddu $s0, $a1, $zero +/* CF993C 80241DCC 12000005 */ beqz $s0, .L80241DE4 +/* CF9940 80241DD0 0040902D */ daddu $s2, $v0, $zero +/* CF9944 80241DD4 C640000C */ lwc1 $f0, 0xc($s2) +/* CF9948 80241DD8 AE200074 */ sw $zero, 0x74($s1) +/* CF994C 80241DDC AE20007C */ sw $zero, 0x7c($s1) +/* CF9950 80241DE0 E6200078 */ swc1 $f0, 0x78($s1) +.L80241DE4: +/* CF9954 80241DE4 8E230074 */ lw $v1, 0x74($s1) +/* CF9958 80241DE8 10600005 */ beqz $v1, .L80241E00 +/* CF995C 80241DEC 24020001 */ addiu $v0, $zero, 1 +/* CF9960 80241DF0 10620024 */ beq $v1, $v0, .L80241E84 +/* CF9964 80241DF4 00000000 */ nop +/* CF9968 80241DF8 080907B7 */ j .L80241EDC +/* CF996C 80241DFC 00000000 */ nop +.L80241E00: +/* CF9970 80241E00 3C013FC9 */ lui $at, 0x3fc9 +/* CF9974 80241E04 34210FD8 */ ori $at, $at, 0xfd8 +/* CF9978 80241E08 44810000 */ mtc1 $at, $f0 +/* CF997C 80241E0C C62C007C */ lwc1 $f12, 0x7c($s1) +/* CF9980 80241E10 46806320 */ cvt.s.w $f12, $f12 +/* CF9984 80241E14 46006302 */ mul.s $f12, $f12, $f0 +/* CF9988 80241E18 00000000 */ nop +/* CF998C 80241E1C 3C0141F0 */ lui $at, 0x41f0 +/* CF9990 80241E20 44810000 */ mtc1 $at, $f0 +/* CF9994 80241E24 0C00A874 */ jal cos_rad +/* CF9998 80241E28 46006303 */ div.s $f12, $f12, $f0 +/* CF999C 80241E2C 3C013F80 */ lui $at, 0x3f80 +/* CF99A0 80241E30 44811000 */ mtc1 $at, $f2 +/* CF99A4 80241E34 00000000 */ nop +/* CF99A8 80241E38 46001081 */ sub.s $f2, $f2, $f0 +/* CF99AC 80241E3C 3C0141A0 */ lui $at, 0x41a0 +/* CF99B0 80241E40 44810000 */ mtc1 $at, $f0 +/* CF99B4 80241E44 00000000 */ nop +/* CF99B8 80241E48 46001082 */ mul.s $f2, $f2, $f0 +/* CF99BC 80241E4C 00000000 */ nop +/* CF99C0 80241E50 C6200078 */ lwc1 $f0, 0x78($s1) +/* CF99C4 80241E54 46020000 */ add.s $f0, $f0, $f2 +/* CF99C8 80241E58 E640000C */ swc1 $f0, 0xc($s2) +/* CF99CC 80241E5C 8E23007C */ lw $v1, 0x7c($s1) +/* CF99D0 80241E60 2402001E */ addiu $v0, $zero, 0x1e +/* CF99D4 80241E64 14620005 */ bne $v1, $v0, .L80241E7C +/* CF99D8 80241E68 24620001 */ addiu $v0, $v1, 1 +/* CF99DC 80241E6C 24020001 */ addiu $v0, $zero, 1 +/* CF99E0 80241E70 AE220074 */ sw $v0, 0x74($s1) +/* CF99E4 80241E74 080907B7 */ j .L80241EDC +/* CF99E8 80241E78 AE20007C */ sw $zero, 0x7c($s1) +.L80241E7C: +/* CF99EC 80241E7C 080907B7 */ j .L80241EDC +/* CF99F0 80241E80 AE22007C */ sw $v0, 0x7c($s1) +.L80241E84: +/* CF99F4 80241E84 C62C007C */ lwc1 $f12, 0x7c($s1) +/* CF99F8 80241E88 0C00A8D4 */ jal cos_deg +/* CF99FC 80241E8C 46806320 */ cvt.s.w $f12, $f12 +/* CF9A00 80241E90 3C014040 */ lui $at, 0x4040 +/* CF9A04 80241E94 44811000 */ mtc1 $at, $f2 +/* CF9A08 80241E98 00000000 */ nop +/* CF9A0C 80241E9C 46020002 */ mul.s $f0, $f0, $f2 +/* CF9A10 80241EA0 00000000 */ nop +/* CF9A14 80241EA4 3C014188 */ lui $at, 0x4188 +/* CF9A18 80241EA8 44812000 */ mtc1 $at, $f4 +/* CF9A1C 80241EAC C6220078 */ lwc1 $f2, 0x78($s1) +/* CF9A20 80241EB0 46041080 */ add.s $f2, $f2, $f4 +/* CF9A24 80241EB4 46001080 */ add.s $f2, $f2, $f0 +/* CF9A28 80241EB8 E642000C */ swc1 $f2, 0xc($s2) +/* CF9A2C 80241EBC 8E22007C */ lw $v0, 0x7c($s1) +/* CF9A30 80241EC0 24420009 */ addiu $v0, $v0, 9 +/* CF9A34 80241EC4 44826000 */ mtc1 $v0, $f12 +/* CF9A38 80241EC8 00000000 */ nop +/* CF9A3C 80241ECC 0C00A6C9 */ jal clamp_angle +/* CF9A40 80241ED0 46806320 */ cvt.s.w $f12, $f12 +/* CF9A44 80241ED4 4600018D */ trunc.w.s $f6, $f0 +/* CF9A48 80241ED8 E626007C */ swc1 $f6, 0x7c($s1) +.L80241EDC: +/* CF9A4C 80241EDC 8FBF001C */ lw $ra, 0x1c($sp) +/* CF9A50 80241EE0 8FB20018 */ lw $s2, 0x18($sp) +/* CF9A54 80241EE4 8FB10014 */ lw $s1, 0x14($sp) +/* CF9A58 80241EE8 8FB00010 */ lw $s0, 0x10($sp) +/* CF9A5C 80241EEC 0000102D */ daddu $v0, $zero, $zero +/* CF9A60 80241EF0 03E00008 */ jr $ra +/* CF9A64 80241EF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_01/func_80241EF8_CF7B70.s b/asm/nonmatchings/world/area_sam/sam_01/func_80241EF8_CF7B70.s new file mode 100644 index 0000000000..b0013735bd --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_01/func_80241EF8_CF7B70.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EF8_CF9A68 +/* CF9A68 80241EF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* CF9A6C 80241EFC AFB00010 */ sw $s0, 0x10($sp) +/* CF9A70 80241F00 0080802D */ daddu $s0, $a0, $zero +/* CF9A74 80241F04 AFBF0014 */ sw $ra, 0x14($sp) +/* CF9A78 80241F08 8E02000C */ lw $v0, 0xc($s0) +/* CF9A7C 80241F0C 0C0B1EAF */ jal get_variable +/* CF9A80 80241F10 8C450000 */ lw $a1, ($v0) +/* CF9A84 80241F14 00021140 */ sll $v0, $v0, 5 +/* CF9A88 80241F18 AE000084 */ sw $zero, 0x84($s0) +/* CF9A8C 80241F1C 3C018008 */ lui $at, 0x8008 +/* CF9A90 80241F20 00220821 */ addu $at, $at, $v0 +/* CF9A94 80241F24 942278F8 */ lhu $v0, 0x78f8($at) +/* CF9A98 80241F28 30420040 */ andi $v0, $v0, 0x40 +/* CF9A9C 80241F2C 10400002 */ beqz $v0, .L80241F38 +/* CF9AA0 80241F30 24020001 */ addiu $v0, $zero, 1 +/* CF9AA4 80241F34 AE020084 */ sw $v0, 0x84($s0) +.L80241F38: +/* CF9AA8 80241F38 8FBF0014 */ lw $ra, 0x14($sp) +/* CF9AAC 80241F3C 8FB00010 */ lw $s0, 0x10($sp) +/* CF9AB0 80241F40 24020002 */ addiu $v0, $zero, 2 +/* CF9AB4 80241F44 03E00008 */ jr $ra +/* CF9AB8 80241F48 27BD0018 */ addiu $sp, $sp, 0x18 +/* CF9ABC 80241F4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_02/begin_battle_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/begin_battle_D05730.s new file mode 100644 index 0000000000..c37d6ec0c2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/begin_battle_D05730.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel begin_battle_D06948 +/* D06948 80241218 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D0694C 8024121C AFB00010 */ sw $s0, 0x10($sp) +/* D06950 80241220 3C108011 */ lui $s0, %hi(gPlayerData) +/* D06954 80241224 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* D06958 80241228 AFBF0018 */ sw $ra, 0x18($sp) +/* D0695C 8024122C AFB10014 */ sw $s1, 0x14($sp) +/* D06960 80241230 960302C0 */ lhu $v1, 0x2c0($s0) +/* D06964 80241234 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* D06968 80241238 10400003 */ beqz $v0, .L80241248 +/* D0696C 8024123C 0080882D */ daddu $s1, $a0, $zero +/* D06970 80241240 24620001 */ addiu $v0, $v1, 1 +/* D06974 80241244 A60202C0 */ sh $v0, 0x2c0($s0) +.L80241248: +/* D06978 80241248 3C05F5DE */ lui $a1, 0xf5de +/* D0697C 8024124C 34A502E0 */ ori $a1, $a1, 0x2e0 +/* D06980 80241250 0C0B1EAF */ jal get_variable +/* D06984 80241254 0000202D */ daddu $a0, $zero, $zero +/* D06988 80241258 3C038024 */ lui $v1, 0x8024 +/* D0698C 8024125C 00621821 */ addu $v1, $v1, $v0 +/* D06990 80241260 90636BC4 */ lbu $v1, 0x6bc4($v1) +/* D06994 80241264 8E220084 */ lw $v0, 0x84($s1) +/* D06998 80241268 54430006 */ bnel $v0, $v1, .L80241284 +/* D0699C 8024126C AE200084 */ sw $zero, 0x84($s1) +/* D069A0 80241270 24020001 */ addiu $v0, $zero, 1 +/* D069A4 80241274 AE220084 */ sw $v0, 0x84($s1) +/* D069A8 80241278 960202C2 */ lhu $v0, 0x2c2($s0) +/* D069AC 8024127C 24420001 */ addiu $v0, $v0, 1 +/* D069B0 80241280 A60202C2 */ sh $v0, 0x2c2($s0) +.L80241284: +/* D069B4 80241284 8FBF0018 */ lw $ra, 0x18($sp) +/* D069B8 80241288 8FB10014 */ lw $s1, 0x14($sp) +/* D069BC 8024128C 8FB00010 */ lw $s0, 0x10($sp) +/* D069C0 80241290 24020002 */ addiu $v0, $zero, 2 +/* D069C4 80241294 03E00008 */ jr $ra +/* D069C8 80241298 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240000_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240000_D05730.s new file mode 100644 index 0000000000..8256258174 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240000_D05730.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D05730 +/* D05730 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D05734 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D05738 80240008 8C430004 */ lw $v1, 4($v0) +/* D0573C 8024000C 3C040010 */ lui $a0, 0x10 +/* D05740 80240010 00641825 */ or $v1, $v1, $a0 +/* D05744 80240014 AC430004 */ sw $v1, 4($v0) +/* D05748 80240018 03E00008 */ jr $ra +/* D0574C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240020_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240020_D05730.s new file mode 100644 index 0000000000..30e5604637 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240020_D05730.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_D05750 +/* D05750 80240020 3C028016 */ lui $v0, 0x8016 +/* D05754 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* D05758 80240028 AC820084 */ sw $v0, 0x84($a0) +/* D0575C 8024002C 03E00008 */ jr $ra +/* D05760 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240034_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240034_D05730.s new file mode 100644 index 0000000000..8a1741eff4 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240034_D05730.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_D05764 +/* D05764 80240034 3C038016 */ lui $v1, 0x8016 +/* D05768 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* D0576C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05770 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* D05774 80240044 0080802D */ daddu $s0, $a0, $zero +/* D05778 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* D0577C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* D05780 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* D05784 80240054 24020002 */ addiu $v0, $zero, 2 +/* D05788 80240058 08090038 */ j .L802400E0 +/* D0578C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* D05790 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* D05794 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* D05798 80240068 80620040 */ lb $v0, 0x40($v1) +/* D0579C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* D057A0 80240070 04420001 */ bltzl $v0, .L80240078 +/* D057A4 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* D057A8 80240078 14400003 */ bnez $v0, .L80240088 +/* D057AC 8024007C 00000000 */ nop +/* D057B0 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* D057B4 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* D057B8 80240088 44822000 */ mtc1 $v0, $f4 +/* D057BC 8024008C 00000000 */ nop +/* D057C0 80240090 46802120 */ cvt.s.w $f4, $f4 +/* D057C4 80240094 44062000 */ mfc1 $a2, $f4 +/* D057C8 80240098 44872000 */ mtc1 $a3, $f4 +/* D057CC 8024009C 00000000 */ nop +/* D057D0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* D057D4 802400A4 44806000 */ mtc1 $zero, $f12 +/* D057D8 802400A8 44072000 */ mfc1 $a3, $f4 +/* D057DC 802400AC 0C00A720 */ jal atan2 +/* D057E0 802400B0 46006386 */ mov.s $f14, $f12 +/* D057E4 802400B4 3C014270 */ lui $at, 0x4270 +/* D057E8 802400B8 44811000 */ mtc1 $at, $f2 +/* D057EC 802400BC 00000000 */ nop +/* D057F0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* D057F4 802400C4 00000000 */ nop +/* D057F8 802400C8 45000004 */ bc1f .L802400DC +/* D057FC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* D05800 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* D05804 802400D4 08090038 */ j .L802400E0 +/* D05808 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* D0580C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* D05810 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* D05814 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* D05818 802400E8 03E00008 */ jr $ra +/* D0581C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802400F0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802400F0_D05730.s new file mode 100644 index 0000000000..ad8e0b2f91 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802400F0_D05730.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_D05820 +/* D05820 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D05824 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* D05828 802400F8 0080882D */ daddu $s1, $a0, $zero +/* D0582C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* D05830 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* D05834 80240104 0C016AFA */ jal get_current_map_header +/* D05838 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* D0583C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* D05840 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* D05844 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D05848 80240118 0C0B1EAF */ jal get_variable +/* D0584C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* D05850 80240120 0220202D */ daddu $a0, $s1, $zero +/* D05854 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* D05858 80240128 8E430014 */ lw $v1, 0x14($s2) +/* D0585C 8024012C 00028100 */ sll $s0, $v0, 4 +/* D05860 80240130 02031821 */ addu $v1, $s0, $v1 +/* D05864 80240134 C4600000 */ lwc1 $f0, ($v1) +/* D05868 80240138 4600008D */ trunc.w.s $f2, $f0 +/* D0586C 8024013C 44061000 */ mfc1 $a2, $f2 +/* D05870 80240140 0C0B2026 */ jal set_variable +/* D05874 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D05878 80240148 0220202D */ daddu $a0, $s1, $zero +/* D0587C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* D05880 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* D05884 80240154 02021021 */ addu $v0, $s0, $v0 +/* D05888 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* D0588C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* D05890 80240160 44061000 */ mfc1 $a2, $f2 +/* D05894 80240164 0C0B2026 */ jal set_variable +/* D05898 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* D0589C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* D058A0 80240170 8E420014 */ lw $v0, 0x14($s2) +/* D058A4 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* D058A8 80240178 02021021 */ addu $v0, $s0, $v0 +/* D058AC 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* D058B0 80240180 4600008D */ trunc.w.s $f2, $f0 +/* D058B4 80240184 44061000 */ mfc1 $a2, $f2 +/* D058B8 80240188 0C0B2026 */ jal set_variable +/* D058BC 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* D058C0 80240190 0220202D */ daddu $a0, $s1, $zero +/* D058C4 80240194 8E420014 */ lw $v0, 0x14($s2) +/* D058C8 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* D058CC 8024019C 02028021 */ addu $s0, $s0, $v0 +/* D058D0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* D058D4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* D058D8 802401A8 44061000 */ mfc1 $a2, $f2 +/* D058DC 802401AC 0C0B2026 */ jal set_variable +/* D058E0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* D058E4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* D058E8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* D058EC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* D058F0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* D058F4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* D058F8 802401C8 03E00008 */ jr $ra +/* D058FC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802401D0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802401D0_D05730.s new file mode 100644 index 0000000000..207dce635d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802401D0_D05730.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_D05900 +/* D05900 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D05904 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D05908 802401D8 3C014334 */ lui $at, 0x4334 +/* D0590C 802401DC 44816000 */ mtc1 $at, $f12 +/* D05910 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05914 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* D05918 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* D0591C 802401EC 00031080 */ sll $v0, $v1, 2 +/* D05920 802401F0 00431021 */ addu $v0, $v0, $v1 +/* D05924 802401F4 00021080 */ sll $v0, $v0, 2 +/* D05928 802401F8 00431023 */ subu $v0, $v0, $v1 +/* D0592C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* D05930 80240200 00431021 */ addu $v0, $v0, $v1 +/* D05934 80240204 000210C0 */ sll $v0, $v0, 3 +/* D05938 80240208 3C01800B */ lui $at, 0x800b +/* D0593C 8024020C 00220821 */ addu $at, $at, $v0 +/* D05940 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D05944 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* D05948 80240218 0C00A6C9 */ jal clamp_angle +/* D0594C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* D05950 80240220 4600008D */ trunc.w.s $f2, $f0 +/* D05954 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* D05958 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* D0595C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* D05960 80240230 24020002 */ addiu $v0, $zero, 2 +/* D05964 80240234 03E00008 */ jr $ra +/* D05968 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024023C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024023C_D05730.s new file mode 100644 index 0000000000..e723b679f9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024023C_D05730.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_D0596C +/* D0596C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D05970 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* D05974 80240244 0080802D */ daddu $s0, $a0, $zero +/* D05978 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* D0597C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* D05980 80240250 8E02000C */ lw $v0, 0xc($s0) +/* D05984 80240254 0C0B210B */ jal get_float_variable +/* D05988 80240258 8C450000 */ lw $a1, ($v0) +/* D0598C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* D05990 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D05994 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D05998 80240268 44060000 */ mfc1 $a2, $f0 +/* D0599C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* D059A0 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* D059A4 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* D059A8 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* D059AC 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* D059B0 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* D059B4 80240284 0C00A7E7 */ jal add_vec2D_polar +/* D059B8 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* D059BC 8024028C 0200202D */ daddu $a0, $s0, $zero +/* D059C0 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* D059C4 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* D059C8 80240298 0C0B2190 */ jal set_float_variable +/* D059CC 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D059D0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* D059D4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* D059D8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* D059DC 802402AC 0C0B2190 */ jal set_float_variable +/* D059E0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D059E4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* D059E8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* D059EC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* D059F0 802402C0 0C0B2190 */ jal set_float_variable +/* D059F4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* D059F8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* D059FC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* D05A00 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D05A04 802402D4 24020002 */ addiu $v0, $zero, 2 +/* D05A08 802402D8 03E00008 */ jr $ra +/* D05A0C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802402E0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802402E0_D05730.s new file mode 100644 index 0000000000..249276038d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802402E0_D05730.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_D05A10 +/* D05A10 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05A14 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* D05A18 802402E8 0080802D */ daddu $s0, $a0, $zero +/* D05A1C 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* D05A20 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* D05A24 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* D05A28 802402F8 00621821 */ addu $v1, $v1, $v0 +/* D05A2C 802402FC 04610004 */ bgez $v1, .L80240310 +/* D05A30 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* D05A34 80240304 3C020002 */ lui $v0, 2 +/* D05A38 80240308 080900C8 */ j .L80240320 +/* D05A3C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* D05A40 80240310 3C040002 */ lui $a0, 2 +/* D05A44 80240314 0083102A */ slt $v0, $a0, $v1 +/* D05A48 80240318 10400002 */ beqz $v0, .L80240324 +/* D05A4C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* D05A50 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* D05A54 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* D05A58 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* D05A5C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* D05A60 80240330 04610004 */ bgez $v1, .L80240344 +/* D05A64 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* D05A68 80240338 3C020002 */ lui $v0, 2 +/* D05A6C 8024033C 080900D5 */ j .L80240354 +/* D05A70 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* D05A74 80240344 3C040002 */ lui $a0, 2 +/* D05A78 80240348 0083102A */ slt $v0, $a0, $v1 +/* D05A7C 8024034C 10400002 */ beqz $v0, .L80240358 +/* D05A80 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* D05A84 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* D05A88 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* D05A8C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* D05A90 80240360 00621821 */ addu $v1, $v1, $v0 +/* D05A94 80240364 04610004 */ bgez $v1, .L80240378 +/* D05A98 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* D05A9C 8024036C 3C020002 */ lui $v0, 2 +/* D05AA0 80240370 080900E2 */ j .L80240388 +/* D05AA4 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* D05AA8 80240378 3C040002 */ lui $a0, 2 +/* D05AAC 8024037C 0083102A */ slt $v0, $a0, $v1 +/* D05AB0 80240380 10400002 */ beqz $v0, .L8024038C +/* D05AB4 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* D05AB8 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* D05ABC 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* D05AC0 80240390 8E020094 */ lw $v0, 0x94($s0) +/* D05AC4 80240394 00621821 */ addu $v1, $v1, $v0 +/* D05AC8 80240398 04610004 */ bgez $v1, .L802403AC +/* D05ACC 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* D05AD0 802403A0 3C020002 */ lui $v0, 2 +/* D05AD4 802403A4 080900EF */ j .L802403BC +/* D05AD8 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* D05ADC 802403AC 3C040002 */ lui $a0, 2 +/* D05AE0 802403B0 0083102A */ slt $v0, $a0, $v1 +/* D05AE4 802403B4 10400002 */ beqz $v0, .L802403C0 +/* D05AE8 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* D05AEC 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* D05AF0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* D05AF4 802403C4 0C046F07 */ jal set_main_pan_u +/* D05AF8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* D05AFC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* D05B00 802403D0 0C046F0D */ jal set_main_pan_v +/* D05B04 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* D05B08 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* D05B0C 802403DC 0C046F13 */ jal set_aux_pan_u +/* D05B10 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* D05B14 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* D05B18 802403E8 0C046F19 */ jal set_aux_pan_v +/* D05B1C 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* D05B20 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* D05B24 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* D05B28 802403F8 0000102D */ daddu $v0, $zero, $zero +/* D05B2C 802403FC 03E00008 */ jr $ra +/* D05B30 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240404_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240404_D05730.s new file mode 100644 index 0000000000..98782aed29 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240404_D05730.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_D05B34 +/* D05B34 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05B38 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* D05B3C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* D05B40 80240410 10A00005 */ beqz $a1, .L80240428 +/* D05B44 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* D05B48 80240418 AE000070 */ sw $zero, 0x70($s0) +/* D05B4C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* D05B50 80240420 AE000078 */ sw $zero, 0x78($s0) +/* D05B54 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* D05B58 80240428 8E020070 */ lw $v0, 0x70($s0) +/* D05B5C 8024042C 1440000E */ bnez $v0, .L80240468 +/* D05B60 80240430 00000000 */ nop +/* D05B64 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* D05B68 80240438 8E020088 */ lw $v0, 0x88($s0) +/* D05B6C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* D05B70 80240440 04610004 */ bgez $v1, .L80240454 +/* D05B74 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* D05B78 80240448 3C020002 */ lui $v0, 2 +/* D05B7C 8024044C 08090119 */ j .L80240464 +/* D05B80 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* D05B84 80240454 3C040002 */ lui $a0, 2 +/* D05B88 80240458 0083102A */ slt $v0, $a0, $v1 +/* D05B8C 8024045C 10400002 */ beqz $v0, .L80240468 +/* D05B90 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* D05B94 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* D05B98 80240468 8E020074 */ lw $v0, 0x74($s0) +/* D05B9C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* D05BA0 80240470 00000000 */ nop +/* D05BA4 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* D05BA8 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* D05BAC 8024047C 00621821 */ addu $v1, $v1, $v0 +/* D05BB0 80240480 04610004 */ bgez $v1, .L80240494 +/* D05BB4 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* D05BB8 80240488 3C020002 */ lui $v0, 2 +/* D05BBC 8024048C 08090129 */ j .L802404A4 +/* D05BC0 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* D05BC4 80240494 3C040002 */ lui $a0, 2 +/* D05BC8 80240498 0083102A */ slt $v0, $a0, $v1 +/* D05BCC 8024049C 10400002 */ beqz $v0, .L802404A8 +/* D05BD0 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* D05BD4 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* D05BD8 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* D05BDC 802404AC 1440000E */ bnez $v0, .L802404E8 +/* D05BE0 802404B0 00000000 */ nop +/* D05BE4 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* D05BE8 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* D05BEC 802404BC 00621821 */ addu $v1, $v1, $v0 +/* D05BF0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* D05BF4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* D05BF8 802404C8 3C020002 */ lui $v0, 2 +/* D05BFC 802404CC 08090139 */ j .L802404E4 +/* D05C00 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* D05C04 802404D4 3C040002 */ lui $a0, 2 +/* D05C08 802404D8 0083102A */ slt $v0, $a0, $v1 +/* D05C0C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* D05C10 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* D05C14 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* D05C18 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* D05C1C 802404EC 1440000E */ bnez $v0, .L80240528 +/* D05C20 802404F0 00000000 */ nop +/* D05C24 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* D05C28 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* D05C2C 802404FC 00621821 */ addu $v1, $v1, $v0 +/* D05C30 80240500 04610004 */ bgez $v1, .L80240514 +/* D05C34 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* D05C38 80240508 3C020002 */ lui $v0, 2 +/* D05C3C 8024050C 08090149 */ j .L80240524 +/* D05C40 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* D05C44 80240514 3C040002 */ lui $a0, 2 +/* D05C48 80240518 0083102A */ slt $v0, $a0, $v1 +/* D05C4C 8024051C 10400002 */ beqz $v0, .L80240528 +/* D05C50 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* D05C54 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* D05C58 80240528 8E040084 */ lw $a0, 0x84($s0) +/* D05C5C 8024052C 0C046F07 */ jal set_main_pan_u +/* D05C60 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* D05C64 80240534 8E040084 */ lw $a0, 0x84($s0) +/* D05C68 80240538 0C046F0D */ jal set_main_pan_v +/* D05C6C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* D05C70 80240540 8E040084 */ lw $a0, 0x84($s0) +/* D05C74 80240544 0C046F13 */ jal set_aux_pan_u +/* D05C78 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* D05C7C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* D05C80 80240550 0C046F19 */ jal set_aux_pan_v +/* D05C84 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* D05C88 80240558 8E020070 */ lw $v0, 0x70($s0) +/* D05C8C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* D05C90 80240560 8E040098 */ lw $a0, 0x98($s0) +/* D05C94 80240564 24420001 */ addiu $v0, $v0, 1 +/* D05C98 80240568 AE020070 */ sw $v0, 0x70($s0) +/* D05C9C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* D05CA0 80240570 24630001 */ addiu $v1, $v1, 1 +/* D05CA4 80240574 AE030078 */ sw $v1, 0x78($s0) +/* D05CA8 80240578 8E030070 */ lw $v1, 0x70($s0) +/* D05CAC 8024057C 24420001 */ addiu $v0, $v0, 1 +/* D05CB0 80240580 AE020074 */ sw $v0, 0x74($s0) +/* D05CB4 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* D05CB8 80240588 0064182A */ slt $v1, $v1, $a0 +/* D05CBC 8024058C 24420001 */ addiu $v0, $v0, 1 +/* D05CC0 80240590 14600002 */ bnez $v1, .L8024059C +/* D05CC4 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* D05CC8 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* D05CCC 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* D05CD0 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* D05CD4 802405A4 0043102A */ slt $v0, $v0, $v1 +/* D05CD8 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* D05CDC 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* D05CE0 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* D05CE4 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* D05CE8 802405B8 0043102A */ slt $v0, $v0, $v1 +/* D05CEC 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* D05CF0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* D05CF4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* D05CF8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* D05CFC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* D05D00 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* D05D04 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* D05D08 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* D05D0C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* D05D10 802405E0 0000102D */ daddu $v0, $zero, $zero +/* D05D14 802405E4 03E00008 */ jr $ra +/* D05D18 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802405EC_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802405EC_D05730.s new file mode 100644 index 0000000000..003b73ceb2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802405EC_D05730.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_D05D1C +/* D05D1C 802405EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D05D20 802405F0 F7B40018 */ sdc1 $f20, 0x18($sp) +/* D05D24 802405F4 4485A000 */ mtc1 $a1, $f20 +/* D05D28 802405F8 F7B60020 */ sdc1 $f22, 0x20($sp) +/* D05D2C 802405FC 4486B000 */ mtc1 $a2, $f22 +/* D05D30 80240600 AFB00010 */ sw $s0, 0x10($sp) +/* D05D34 80240604 F7B80028 */ sdc1 $f24, 0x28($sp) +/* D05D38 80240608 4487C000 */ mtc1 $a3, $f24 +/* D05D3C 8024060C AFBF0014 */ sw $ra, 0x14($sp) +/* D05D40 80240610 0C019D28 */ jal guMtxIdentF +/* D05D44 80240614 0080802D */ daddu $s0, $a0, $zero +/* D05D48 80240618 4616A582 */ mul.s $f22, $f20, $f22 +/* D05D4C 8024061C 00000000 */ nop +/* D05D50 80240620 4618A502 */ mul.s $f20, $f20, $f24 +/* D05D54 80240624 00000000 */ nop +/* D05D58 80240628 3C013F80 */ lui $at, 0x3f80 +/* D05D5C 8024062C 44810000 */ mtc1 $at, $f0 +/* D05D60 80240630 00000000 */ nop +/* D05D64 80240634 E6000014 */ swc1 $f0, 0x14($s0) +/* D05D68 80240638 E6160010 */ swc1 $f22, 0x10($s0) +/* D05D6C 8024063C E6140018 */ swc1 $f20, 0x18($s0) +/* D05D70 80240640 8FBF0014 */ lw $ra, 0x14($sp) +/* D05D74 80240644 8FB00010 */ lw $s0, 0x10($sp) +/* D05D78 80240648 D7B80028 */ ldc1 $f24, 0x28($sp) +/* D05D7C 8024064C D7B60020 */ ldc1 $f22, 0x20($sp) +/* D05D80 80240650 D7B40018 */ ldc1 $f20, 0x18($sp) +/* D05D84 80240654 03E00008 */ jr $ra +/* D05D88 80240658 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024065C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024065C_D05730.s new file mode 100644 index 0000000000..bf25e770e7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024065C_D05730.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024065C_D05D8C +/* D05D8C 8024065C 27BDFF78 */ addiu $sp, $sp, -0x88 +/* D05D90 80240660 AFB10054 */ sw $s1, 0x54($sp) +/* D05D94 80240664 0080882D */ daddu $s1, $a0, $zero +/* D05D98 80240668 AFBF005C */ sw $ra, 0x5c($sp) +/* D05D9C 8024066C AFB20058 */ sw $s2, 0x58($sp) +/* D05DA0 80240670 AFB00050 */ sw $s0, 0x50($sp) +/* D05DA4 80240674 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* D05DA8 80240678 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* D05DAC 8024067C F7B80070 */ sdc1 $f24, 0x70($sp) +/* D05DB0 80240680 F7B60068 */ sdc1 $f22, 0x68($sp) +/* D05DB4 80240684 F7B40060 */ sdc1 $f20, 0x60($sp) +/* D05DB8 80240688 8E30000C */ lw $s0, 0xc($s1) +/* D05DBC 8024068C 8E050000 */ lw $a1, ($s0) +/* D05DC0 80240690 0C0B1EAF */ jal get_variable +/* D05DC4 80240694 26100004 */ addiu $s0, $s0, 4 +/* D05DC8 80240698 0C046C04 */ jal get_model_list_index_from_tree_index +/* D05DCC 8024069C 0040202D */ daddu $a0, $v0, $zero +/* D05DD0 802406A0 8E050000 */ lw $a1, ($s0) +/* D05DD4 802406A4 26100004 */ addiu $s0, $s0, 4 +/* D05DD8 802406A8 0220202D */ daddu $a0, $s1, $zero +/* D05DDC 802406AC 0C0B210B */ jal get_float_variable +/* D05DE0 802406B0 0040902D */ daddu $s2, $v0, $zero +/* D05DE4 802406B4 8E050000 */ lw $a1, ($s0) +/* D05DE8 802406B8 26100004 */ addiu $s0, $s0, 4 +/* D05DEC 802406BC 0220202D */ daddu $a0, $s1, $zero +/* D05DF0 802406C0 0C0B210B */ jal get_float_variable +/* D05DF4 802406C4 46000706 */ mov.s $f28, $f0 +/* D05DF8 802406C8 8E050000 */ lw $a1, ($s0) +/* D05DFC 802406CC 26100004 */ addiu $s0, $s0, 4 +/* D05E00 802406D0 0220202D */ daddu $a0, $s1, $zero +/* D05E04 802406D4 0C0B210B */ jal get_float_variable +/* D05E08 802406D8 46000686 */ mov.s $f26, $f0 +/* D05E0C 802406DC 0220202D */ daddu $a0, $s1, $zero +/* D05E10 802406E0 8E050000 */ lw $a1, ($s0) +/* D05E14 802406E4 0C0B210B */ jal get_float_variable +/* D05E18 802406E8 46000586 */ mov.s $f22, $f0 +/* D05E1C 802406EC 0240202D */ daddu $a0, $s2, $zero +/* D05E20 802406F0 0C046B4C */ jal get_model_from_list_index +/* D05E24 802406F4 46000606 */ mov.s $f24, $f0 +/* D05E28 802406F8 0040882D */ daddu $s1, $v0, $zero +/* D05E2C 802406FC 96220000 */ lhu $v0, ($s1) +/* D05E30 80240700 30420400 */ andi $v0, $v0, 0x400 +/* D05E34 80240704 1440001E */ bnez $v0, .L80240780 +/* D05E38 80240708 26300058 */ addiu $s0, $s1, 0x58 +/* D05E3C 8024070C 4480A000 */ mtc1 $zero, $f20 +/* D05E40 80240710 4406B000 */ mfc1 $a2, $f22 +/* D05E44 80240714 4405A000 */ mfc1 $a1, $f20 +/* D05E48 80240718 4407A000 */ mfc1 $a3, $f20 +/* D05E4C 8024071C 0C019E40 */ jal guTranslateF +/* D05E50 80240720 0200202D */ daddu $a0, $s0, $zero +/* D05E54 80240724 4405E000 */ mfc1 $a1, $f28 +/* D05E58 80240728 4406D000 */ mfc1 $a2, $f26 +/* D05E5C 8024072C 4407C000 */ mfc1 $a3, $f24 +/* D05E60 80240730 0C09017B */ jal func_802405EC +/* D05E64 80240734 27A40010 */ addiu $a0, $sp, 0x10 +/* D05E68 80240738 27A40010 */ addiu $a0, $sp, 0x10 +/* D05E6C 8024073C 0200282D */ daddu $a1, $s0, $zero +/* D05E70 80240740 0C019D80 */ jal guMtxCatF +/* D05E74 80240744 0200302D */ daddu $a2, $s0, $zero +/* D05E78 80240748 27A40010 */ addiu $a0, $sp, 0x10 +/* D05E7C 8024074C 4600B587 */ neg.s $f22, $f22 +/* D05E80 80240750 4405A000 */ mfc1 $a1, $f20 +/* D05E84 80240754 4406B000 */ mfc1 $a2, $f22 +/* D05E88 80240758 0C019E40 */ jal guTranslateF +/* D05E8C 8024075C 00A0382D */ daddu $a3, $a1, $zero +/* D05E90 80240760 27A40010 */ addiu $a0, $sp, 0x10 +/* D05E94 80240764 0200282D */ daddu $a1, $s0, $zero +/* D05E98 80240768 0C019D80 */ jal guMtxCatF +/* D05E9C 8024076C 00A0302D */ daddu $a2, $a1, $zero +/* D05EA0 80240770 96220000 */ lhu $v0, ($s1) +/* D05EA4 80240774 34421400 */ ori $v0, $v0, 0x1400 +/* D05EA8 80240778 080901FE */ j .L802407F8 +/* D05EAC 8024077C A6220000 */ sh $v0, ($s1) +.L80240780: +/* D05EB0 80240780 4480A000 */ mtc1 $zero, $f20 +/* D05EB4 80240784 4406B000 */ mfc1 $a2, $f22 +/* D05EB8 80240788 4405A000 */ mfc1 $a1, $f20 +/* D05EBC 8024078C 4407A000 */ mfc1 $a3, $f20 +/* D05EC0 80240790 0C019E40 */ jal guTranslateF +/* D05EC4 80240794 27A40010 */ addiu $a0, $sp, 0x10 +/* D05EC8 80240798 27A40010 */ addiu $a0, $sp, 0x10 +/* D05ECC 8024079C 26300058 */ addiu $s0, $s1, 0x58 +/* D05ED0 802407A0 0200282D */ daddu $a1, $s0, $zero +/* D05ED4 802407A4 0C019D80 */ jal guMtxCatF +/* D05ED8 802407A8 0200302D */ daddu $a2, $s0, $zero +/* D05EDC 802407AC 4405E000 */ mfc1 $a1, $f28 +/* D05EE0 802407B0 4406D000 */ mfc1 $a2, $f26 +/* D05EE4 802407B4 4407C000 */ mfc1 $a3, $f24 +/* D05EE8 802407B8 0C09017B */ jal func_802405EC +/* D05EEC 802407BC 27A40010 */ addiu $a0, $sp, 0x10 +/* D05EF0 802407C0 27A40010 */ addiu $a0, $sp, 0x10 +/* D05EF4 802407C4 0200282D */ daddu $a1, $s0, $zero +/* D05EF8 802407C8 0C019D80 */ jal guMtxCatF +/* D05EFC 802407CC 0200302D */ daddu $a2, $s0, $zero +/* D05F00 802407D0 27A40010 */ addiu $a0, $sp, 0x10 +/* D05F04 802407D4 4600B587 */ neg.s $f22, $f22 +/* D05F08 802407D8 4405A000 */ mfc1 $a1, $f20 +/* D05F0C 802407DC 4406B000 */ mfc1 $a2, $f22 +/* D05F10 802407E0 0C019E40 */ jal guTranslateF +/* D05F14 802407E4 00A0382D */ daddu $a3, $a1, $zero +/* D05F18 802407E8 27A40010 */ addiu $a0, $sp, 0x10 +/* D05F1C 802407EC 0200282D */ daddu $a1, $s0, $zero +/* D05F20 802407F0 0C019D80 */ jal guMtxCatF +/* D05F24 802407F4 00A0302D */ daddu $a2, $a1, $zero +.L802407F8: +/* D05F28 802407F8 8FBF005C */ lw $ra, 0x5c($sp) +/* D05F2C 802407FC 8FB20058 */ lw $s2, 0x58($sp) +/* D05F30 80240800 8FB10054 */ lw $s1, 0x54($sp) +/* D05F34 80240804 8FB00050 */ lw $s0, 0x50($sp) +/* D05F38 80240808 D7BC0080 */ ldc1 $f28, 0x80($sp) +/* D05F3C 8024080C D7BA0078 */ ldc1 $f26, 0x78($sp) +/* D05F40 80240810 D7B80070 */ ldc1 $f24, 0x70($sp) +/* D05F44 80240814 D7B60068 */ ldc1 $f22, 0x68($sp) +/* D05F48 80240818 D7B40060 */ ldc1 $f20, 0x60($sp) +/* D05F4C 8024081C 24020002 */ addiu $v0, $zero, 2 +/* D05F50 80240820 03E00008 */ jr $ra +/* D05F54 80240824 27BD0088 */ addiu $sp, $sp, 0x88 +/* D05F58 80240828 00000000 */ nop +/* D05F5C 8024082C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240830_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240830_D05730.s new file mode 100644 index 0000000000..28763cfcd6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240830_D05730.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240830_D05F60 +/* D05F60 80240830 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05F64 80240834 AFBF0010 */ sw $ra, 0x10($sp) +/* D05F68 80240838 0C03A625 */ jal func_800E9894 +/* D05F6C 8024083C 00000000 */ nop +/* D05F70 80240840 8FBF0010 */ lw $ra, 0x10($sp) +/* D05F74 80240844 24020002 */ addiu $v0, $zero, 2 +/* D05F78 80240848 03E00008 */ jr $ra +/* D05F7C 8024084C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240850_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240850_D05730.s new file mode 100644 index 0000000000..79f4dca6c4 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240850_D05730.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240850_D05F80 +/* D05F80 80240850 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D05F84 80240854 AFBF0010 */ sw $ra, 0x10($sp) +/* D05F88 80240858 0C03A631 */ jal func_800E98C4 +/* D05F8C 8024085C 00000000 */ nop +/* D05F90 80240860 0C03A6DB */ jal sync_status_menu +/* D05F94 80240864 00000000 */ nop +/* D05F98 80240868 8FBF0010 */ lw $ra, 0x10($sp) +/* D05F9C 8024086C 24020002 */ addiu $v0, $zero, 2 +/* D05FA0 80240870 03E00008 */ jr $ra +/* D05FA4 80240874 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240878_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240878_D05730.s new file mode 100644 index 0000000000..3b4a9ca74f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240878_D05730.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240878_D05FA8 +/* D05FA8 80240878 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D05FAC 8024087C AFB10014 */ sw $s1, 0x14($sp) +/* D05FB0 80240880 0080882D */ daddu $s1, $a0, $zero +/* D05FB4 80240884 AFBF0018 */ sw $ra, 0x18($sp) +/* D05FB8 80240888 AFB00010 */ sw $s0, 0x10($sp) +/* D05FBC 8024088C 8E30000C */ lw $s0, 0xc($s1) +/* D05FC0 80240890 8E050000 */ lw $a1, ($s0) +/* D05FC4 80240894 0C0B1EAF */ jal get_variable +/* D05FC8 80240898 26100004 */ addiu $s0, $s0, 4 +/* D05FCC 8024089C 0220202D */ daddu $a0, $s1, $zero +/* D05FD0 802408A0 8E050000 */ lw $a1, ($s0) +/* D05FD4 802408A4 0C0B1EAF */ jal get_variable +/* D05FD8 802408A8 0040882D */ daddu $s1, $v0, $zero +/* D05FDC 802408AC 0000202D */ daddu $a0, $zero, $zero +/* D05FE0 802408B0 0080282D */ daddu $a1, $a0, $zero +/* D05FE4 802408B4 0040802D */ daddu $s0, $v0, $zero +/* D05FE8 802408B8 240600BE */ addiu $a2, $zero, 0xbe +/* D05FEC 802408BC 0C04DF93 */ jal func_80137E4C +/* D05FF0 802408C0 24070091 */ addiu $a3, $zero, 0x91 +/* D05FF4 802408C4 44900000 */ mtc1 $s0, $f0 +/* D05FF8 802408C8 00000000 */ nop +/* D05FFC 802408CC 46800020 */ cvt.s.w $f0, $f0 +/* D06000 802408D0 44050000 */ mfc1 $a1, $f0 +/* D06004 802408D4 0C04DF62 */ jal func_80137D88 +/* D06008 802408D8 322400FF */ andi $a0, $s1, 0xff +/* D0600C 802408DC 8FBF0018 */ lw $ra, 0x18($sp) +/* D06010 802408E0 8FB10014 */ lw $s1, 0x14($sp) +/* D06014 802408E4 8FB00010 */ lw $s0, 0x10($sp) +/* D06018 802408E8 24020002 */ addiu $v0, $zero, 2 +/* D0601C 802408EC 03E00008 */ jr $ra +/* D06020 802408F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802408F4.s b/asm/nonmatchings/world/area_sam/sam_02/func_802408F4.s new file mode 100644 index 0000000000..447bc00fd5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802408F4.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408F4 +/* D06024 802408F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06028 802408F8 AFB10014 */ sw $s1, 0x14($sp) +/* D0602C 802408FC 0080882D */ daddu $s1, $a0, $zero +/* D06030 80240900 AFBF0018 */ sw $ra, 0x18($sp) +/* D06034 80240904 AFB00010 */ sw $s0, 0x10($sp) +/* D06038 80240908 8E30000C */ lw $s0, 0xc($s1) +/* D0603C 8024090C 8E050000 */ lw $a1, ($s0) +/* D06040 80240910 0C0B1EAF */ jal get_variable +/* D06044 80240914 26100004 */ addiu $s0, $s0, 4 +/* D06048 80240918 0220202D */ daddu $a0, $s1, $zero +/* D0604C 8024091C 8E050000 */ lw $a1, ($s0) +/* D06050 80240920 0C0B1EAF */ jal get_variable +/* D06054 80240924 0040802D */ daddu $s0, $v0, $zero +/* D06058 80240928 44820000 */ mtc1 $v0, $f0 +/* D0605C 8024092C 00000000 */ nop +/* D06060 80240930 46800020 */ cvt.s.w $f0, $f0 +/* D06064 80240934 24020002 */ addiu $v0, $zero, 2 +/* D06068 80240938 00501804 */ sllv $v1, $s0, $v0 +/* D0606C 8024093C 00701821 */ addu $v1, $v1, $s0 +/* D06070 80240940 00431804 */ sllv $v1, $v1, $v0 +/* D06074 80240944 00701823 */ subu $v1, $v1, $s0 +/* D06078 80240948 000320C0 */ sll $a0, $v1, 3 +/* D0607C 8024094C 00641821 */ addu $v1, $v1, $a0 +/* D06080 80240950 000318C0 */ sll $v1, $v1, 3 +/* D06084 80240954 3C01800B */ lui $at, 0x800b +/* D06088 80240958 00230821 */ addu $at, $at, $v1 +/* D0608C 8024095C E4201D98 */ swc1 $f0, 0x1d98($at) +/* D06090 80240960 8FBF0018 */ lw $ra, 0x18($sp) +/* D06094 80240964 8FB10014 */ lw $s1, 0x14($sp) +/* D06098 80240968 8FB00010 */ lw $s0, 0x10($sp) +/* D0609C 8024096C 03E00008 */ jr $ra +/* D060A0 80240970 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240974_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240974_D05730.s new file mode 100644 index 0000000000..2eaaf35507 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240974_D05730.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240974_D060A4 +/* D060A4 80240974 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D060A8 80240978 AFBF0010 */ sw $ra, 0x10($sp) +/* D060AC 8024097C 8C82000C */ lw $v0, 0xc($a0) +/* D060B0 80240980 0C0B1EAF */ jal get_variable +/* D060B4 80240984 8C450000 */ lw $a1, ($v0) +/* D060B8 80240988 0C0B1059 */ jal does_script_exist +/* D060BC 8024098C 0040202D */ daddu $a0, $v0, $zero +/* D060C0 80240990 2C420001 */ sltiu $v0, $v0, 1 +/* D060C4 80240994 8FBF0010 */ lw $ra, 0x10($sp) +/* D060C8 80240998 00021040 */ sll $v0, $v0, 1 +/* D060CC 8024099C 03E00008 */ jr $ra +/* D060D0 802409A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802409A4.s b/asm/nonmatchings/world/area_sam/sam_02/func_802409A4.s new file mode 100644 index 0000000000..1c816399e6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802409A4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409A4 +/* D060D4 802409A4 3C028011 */ lui $v0, 0x8011 +/* D060D8 802409A8 8042F2A2 */ lb $v0, -0xd5e($v0) +/* D060DC 802409AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D060E0 802409B0 10400003 */ beqz $v0, .L802409C0 +/* D060E4 802409B4 AFBF0010 */ sw $ra, 0x10($sp) +/* D060E8 802409B8 0C03AE06 */ jal partner_suspend_ability_script +/* D060EC 802409BC 00000000 */ nop +.L802409C0: +/* D060F0 802409C0 24020002 */ addiu $v0, $zero, 2 +/* D060F4 802409C4 8FBF0010 */ lw $ra, 0x10($sp) +/* D060F8 802409C8 03E00008 */ jr $ra +/* D060FC 802409CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802409D0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802409D0_D05730.s new file mode 100644 index 0000000000..6f9347d460 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802409D0_D05730.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409D0_D06100 +/* D06100 802409D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06104 802409D4 AFBF0010 */ sw $ra, 0x10($sp) +/* D06108 802409D8 0C03AE18 */ jal partner_resume_ability_script +/* D0610C 802409DC 00000000 */ nop +/* D06110 802409E0 8FBF0010 */ lw $ra, 0x10($sp) +/* D06114 802409E4 24020002 */ addiu $v0, $zero, 2 +/* D06118 802409E8 03E00008 */ jr $ra +/* D0611C 802409EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802409F0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802409F0_D05730.s new file mode 100644 index 0000000000..7e9acbcc65 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802409F0_D05730.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409F0_D06120 +/* D06120 802409F0 3C058011 */ lui $a1, %hi(gPlayerData) +/* D06124 802409F4 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* D06128 802409F8 AC800088 */ sw $zero, 0x88($a0) +/* D0612C 802409FC 80A30003 */ lb $v1, 3($a1) +/* D06130 80240A00 80A20002 */ lb $v0, 2($a1) +/* D06134 80240A04 1462000B */ bne $v1, $v0, .L80240A34 +/* D06138 80240A08 00A0302D */ daddu $a2, $a1, $zero +/* D0613C 80240A0C 80A30006 */ lb $v1, 6($a1) +/* D06140 80240A10 80A20005 */ lb $v0, 5($a1) +/* D06144 80240A14 14620007 */ bne $v1, $v0, .L80240A34 +/* D06148 80240A18 00000000 */ nop +/* D0614C 80240A1C 80C2028E */ lb $v0, 0x28e($a2) +/* D06150 80240A20 84C30290 */ lh $v1, 0x290($a2) +/* D06154 80240A24 00021200 */ sll $v0, $v0, 8 +/* D06158 80240A28 14620004 */ bne $v1, $v0, .L80240A3C +/* D0615C 80240A2C 24020001 */ addiu $v0, $zero, 1 +/* D06160 80240A30 AC820088 */ sw $v0, 0x88($a0) +.L80240A34: +/* D06164 80240A34 03E00008 */ jr $ra +/* D06168 80240A38 24020002 */ addiu $v0, $zero, 2 +.L80240A3C: +/* D0616C 80240A3C 03E00008 */ jr $ra +/* D06170 80240A40 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240A44_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240A44_D05730.s new file mode 100644 index 0000000000..cb49d1440b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240A44_D05730.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A44_D06174 +/* D06174 80240A44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06178 80240A48 AFB10014 */ sw $s1, 0x14($sp) +/* D0617C 80240A4C 0080882D */ daddu $s1, $a0, $zero +/* D06180 80240A50 AFBF001C */ sw $ra, 0x1c($sp) +/* D06184 80240A54 AFB20018 */ sw $s2, 0x18($sp) +/* D06188 80240A58 AFB00010 */ sw $s0, 0x10($sp) +/* D0618C 80240A5C 8E30000C */ lw $s0, 0xc($s1) +/* D06190 80240A60 8E050000 */ lw $a1, ($s0) +/* D06194 80240A64 0C0B1EAF */ jal get_variable +/* D06198 80240A68 26100004 */ addiu $s0, $s0, 4 +/* D0619C 80240A6C 8E050000 */ lw $a1, ($s0) +/* D061A0 80240A70 26100004 */ addiu $s0, $s0, 4 +/* D061A4 80240A74 0220202D */ daddu $a0, $s1, $zero +/* D061A8 80240A78 0C0B1EAF */ jal get_variable +/* D061AC 80240A7C 0040902D */ daddu $s2, $v0, $zero +/* D061B0 80240A80 0220202D */ daddu $a0, $s1, $zero +/* D061B4 80240A84 8E050000 */ lw $a1, ($s0) +/* D061B8 80240A88 0C0B1EAF */ jal get_variable +/* D061BC 80240A8C 0040802D */ daddu $s0, $v0, $zero +/* D061C0 80240A90 0000202D */ daddu $a0, $zero, $zero +/* D061C4 80240A94 324500FF */ andi $a1, $s2, 0xff +/* D061C8 80240A98 320600FF */ andi $a2, $s0, 0xff +/* D061CC 80240A9C 0C04DF84 */ jal func_80137E10 +/* D061D0 80240AA0 304700FF */ andi $a3, $v0, 0xff +/* D061D4 80240AA4 8FBF001C */ lw $ra, 0x1c($sp) +/* D061D8 80240AA8 8FB20018 */ lw $s2, 0x18($sp) +/* D061DC 80240AAC 8FB10014 */ lw $s1, 0x14($sp) +/* D061E0 80240AB0 8FB00010 */ lw $s0, 0x10($sp) +/* D061E4 80240AB4 24020002 */ addiu $v0, $zero, 2 +/* D061E8 80240AB8 03E00008 */ jr $ra +/* D061EC 80240ABC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240AC0.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240AC0.s new file mode 100644 index 0000000000..c2cbe0951c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240AC0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AC0 +/* D061F0 80240AC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D061F4 80240AC4 AFBF0010 */ sw $ra, 0x10($sp) +/* D061F8 80240AC8 8C82000C */ lw $v0, 0xc($a0) +/* D061FC 80240ACC 3C068011 */ lui $a2, 0x8011 +/* D06200 80240AD0 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* D06204 80240AD4 0C0B2026 */ jal set_variable +/* D06208 80240AD8 8C450000 */ lw $a1, ($v0) +/* D0620C 80240ADC 0C03AC5A */ jal func_800EB168 +/* D06210 80240AE0 0000202D */ daddu $a0, $zero, $zero +/* D06214 80240AE4 8FBF0010 */ lw $ra, 0x10($sp) +/* D06218 80240AE8 24020002 */ addiu $v0, $zero, 2 +/* D0621C 80240AEC 03E00008 */ jr $ra +/* D06220 80240AF0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240AF4.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240AF4.s new file mode 100644 index 0000000000..aaadf649ba --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240AF4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF4 +/* D06224 80240AF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06228 80240AF8 AFBF0010 */ sw $ra, 0x10($sp) +/* D0622C 80240AFC 8C82000C */ lw $v0, 0xc($a0) +/* D06230 80240B00 0C0B1EAF */ jal get_variable +/* D06234 80240B04 8C450000 */ lw $a1, ($v0) +/* D06238 80240B08 00021600 */ sll $v0, $v0, 0x18 +/* D0623C 80240B0C 0C03AC5A */ jal func_800EB168 +/* D06240 80240B10 00022603 */ sra $a0, $v0, 0x18 +/* D06244 80240B14 8FBF0010 */ lw $ra, 0x10($sp) +/* D06248 80240B18 24020002 */ addiu $v0, $zero, 2 +/* D0624C 80240B1C 03E00008 */ jr $ra +/* D06250 80240B20 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240B24_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240B24_D05730.s new file mode 100644 index 0000000000..5479636028 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240B24_D05730.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B24_D06254 +/* D06254 80240B24 03E00008 */ jr $ra +/* D06258 80240B28 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240B2C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240B2C_D05730.s new file mode 100644 index 0000000000..9e2f111f13 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240B2C_D05730.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B2C_D0625C +/* D0625C 80240B2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06260 80240B30 AFB00010 */ sw $s0, 0x10($sp) +/* D06264 80240B34 3C108024 */ lui $s0, 0x8024 +/* D06268 80240B38 26106B60 */ addiu $s0, $s0, 0x6b60 +/* D0626C 80240B3C AFBF0018 */ sw $ra, 0x18($sp) +/* D06270 80240B40 AFB10014 */ sw $s1, 0x14($sp) +/* D06274 80240B44 8E020000 */ lw $v0, ($s0) +/* D06278 80240B48 14400010 */ bnez $v0, .L80240B8C +/* D0627C 80240B4C 0080882D */ daddu $s1, $a0, $zero +/* D06280 80240B50 0C00AB39 */ jal heap_malloc +/* D06284 80240B54 24040040 */ addiu $a0, $zero, 0x40 +/* D06288 80240B58 AE020000 */ sw $v0, ($s0) +/* D0628C 80240B5C 0000182D */ daddu $v1, $zero, $zero +/* D06290 80240B60 0040282D */ daddu $a1, $v0, $zero +/* D06294 80240B64 0220202D */ daddu $a0, $s1, $zero +.L80240B68: +/* D06298 80240B68 8C820084 */ lw $v0, 0x84($a0) +/* D0629C 80240B6C 24840004 */ addiu $a0, $a0, 4 +/* D062A0 80240B70 24630001 */ addiu $v1, $v1, 1 +/* D062A4 80240B74 ACA20000 */ sw $v0, ($a1) +/* D062A8 80240B78 28620010 */ slti $v0, $v1, 0x10 +/* D062AC 80240B7C 1440FFFA */ bnez $v0, .L80240B68 +/* D062B0 80240B80 24A50004 */ addiu $a1, $a1, 4 +/* D062B4 80240B84 080902F2 */ j .L80240BC8 +/* D062B8 80240B88 00000000 */ nop +.L80240B8C: +/* D062BC 80240B8C 0000182D */ daddu $v1, $zero, $zero +/* D062C0 80240B90 0040282D */ daddu $a1, $v0, $zero +/* D062C4 80240B94 0220202D */ daddu $a0, $s1, $zero +.L80240B98: +/* D062C8 80240B98 8CA20000 */ lw $v0, ($a1) +/* D062CC 80240B9C 24A50004 */ addiu $a1, $a1, 4 +/* D062D0 80240BA0 24630001 */ addiu $v1, $v1, 1 +/* D062D4 80240BA4 AC820084 */ sw $v0, 0x84($a0) +/* D062D8 80240BA8 28620010 */ slti $v0, $v1, 0x10 +/* D062DC 80240BAC 1440FFFA */ bnez $v0, .L80240B98 +/* D062E0 80240BB0 24840004 */ addiu $a0, $a0, 4 +/* D062E4 80240BB4 3C108024 */ lui $s0, 0x8024 +/* D062E8 80240BB8 26106B60 */ addiu $s0, $s0, 0x6b60 +/* D062EC 80240BBC 0C00AB4B */ jal heap_free +/* D062F0 80240BC0 8E040000 */ lw $a0, ($s0) +/* D062F4 80240BC4 AE000000 */ sw $zero, ($s0) +.L80240BC8: +/* D062F8 80240BC8 8FBF0018 */ lw $ra, 0x18($sp) +/* D062FC 80240BCC 8FB10014 */ lw $s1, 0x14($sp) +/* D06300 80240BD0 8FB00010 */ lw $s0, 0x10($sp) +/* D06304 80240BD4 24020002 */ addiu $v0, $zero, 2 +/* D06308 80240BD8 03E00008 */ jr $ra +/* D0630C 80240BDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240BE0_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240BE0_D05730.s new file mode 100644 index 0000000000..bdc7708f93 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240BE0_D05730.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE0_D06310 +/* D06310 80240BE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06314 80240BE4 AFB00010 */ sw $s0, 0x10($sp) +/* D06318 80240BE8 0080802D */ daddu $s0, $a0, $zero +/* D0631C 80240BEC AFBF0018 */ sw $ra, 0x18($sp) +/* D06320 80240BF0 AFB10014 */ sw $s1, 0x14($sp) +/* D06324 80240BF4 8E02000C */ lw $v0, 0xc($s0) +/* D06328 80240BF8 8C510000 */ lw $s1, ($v0) +/* D0632C 80240BFC 0C0B1EAF */ jal get_variable +/* D06330 80240C00 0220282D */ daddu $a1, $s1, $zero +/* D06334 80240C04 3C03FFF0 */ lui $v1, 0xfff0 +/* D06338 80240C08 3463FFFF */ ori $v1, $v1, 0xffff +/* D0633C 80240C0C 0200202D */ daddu $a0, $s0, $zero +/* D06340 80240C10 00431024 */ and $v0, $v0, $v1 +/* D06344 80240C14 00021140 */ sll $v0, $v0, 5 +/* D06348 80240C18 3C068008 */ lui $a2, %hi(gItemTable) +/* D0634C 80240C1C 00C23021 */ addu $a2, $a2, $v0 +/* D06350 80240C20 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D06354 80240C24 0C0B2026 */ jal set_variable +/* D06358 80240C28 0220282D */ daddu $a1, $s1, $zero +/* D0635C 80240C2C 8FBF0018 */ lw $ra, 0x18($sp) +/* D06360 80240C30 8FB10014 */ lw $s1, 0x14($sp) +/* D06364 80240C34 8FB00010 */ lw $s0, 0x10($sp) +/* D06368 80240C38 24020002 */ addiu $v0, $zero, 2 +/* D0636C 80240C3C 03E00008 */ jr $ra +/* D06370 80240C40 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240C44_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240C44_D05730.s new file mode 100644 index 0000000000..e90f8d35f5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240C44_D05730.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C44_D06374 +/* D06374 80240C44 24020001 */ addiu $v0, $zero, 1 +/* D06378 80240C48 3C018015 */ lui $at, %hi(D_80151310) +/* D0637C 80240C4C AC221310 */ sw $v0, %lo(D_80151310)($at) +/* D06380 80240C50 03E00008 */ jr $ra +/* D06384 80240C54 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240C58_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240C58_D05730.s new file mode 100644 index 0000000000..478c4497ba --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240C58_D05730.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C58_D06388 +/* D06388 80240C58 3C018015 */ lui $at, %hi(D_80151310) +/* D0638C 80240C5C AC201310 */ sw $zero, %lo(D_80151310)($at) +/* D06390 80240C60 03E00008 */ jr $ra +/* D06394 80240C64 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240C68.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240C68.s new file mode 100644 index 0000000000..e0aaf80727 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240C68.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C68 +/* D06398 80240C68 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D0639C 80240C6C AFB10024 */ sw $s1, 0x24($sp) +/* D063A0 80240C70 0080882D */ daddu $s1, $a0, $zero +/* D063A4 80240C74 3C05F840 */ lui $a1, 0xf840 +/* D063A8 80240C78 AFBF0044 */ sw $ra, 0x44($sp) +/* D063AC 80240C7C AFBE0040 */ sw $fp, 0x40($sp) +/* D063B0 80240C80 AFB7003C */ sw $s7, 0x3c($sp) +/* D063B4 80240C84 AFB60038 */ sw $s6, 0x38($sp) +/* D063B8 80240C88 AFB50034 */ sw $s5, 0x34($sp) +/* D063BC 80240C8C AFB40030 */ sw $s4, 0x30($sp) +/* D063C0 80240C90 AFB3002C */ sw $s3, 0x2c($sp) +/* D063C4 80240C94 AFB20028 */ sw $s2, 0x28($sp) +/* D063C8 80240C98 AFB00020 */ sw $s0, 0x20($sp) +/* D063CC 80240C9C 8E3E0148 */ lw $fp, 0x148($s1) +/* D063D0 80240CA0 0C0B1EAF */ jal get_variable +/* D063D4 80240CA4 34A56268 */ ori $a1, $a1, 0x6268 +/* D063D8 80240CA8 0040802D */ daddu $s0, $v0, $zero +/* D063DC 80240CAC 0220202D */ daddu $a0, $s1, $zero +/* D063E0 80240CB0 3C05F840 */ lui $a1, 0xf840 +/* D063E4 80240CB4 0C0B1EAF */ jal get_variable +/* D063E8 80240CB8 34A56269 */ ori $a1, $a1, 0x6269 +/* D063EC 80240CBC 0040B82D */ daddu $s7, $v0, $zero +/* D063F0 80240CC0 0220202D */ daddu $a0, $s1, $zero +/* D063F4 80240CC4 3C05F5DE */ lui $a1, 0xf5de +/* D063F8 80240CC8 0C0B1EAF */ jal get_variable +/* D063FC 80240CCC 34A502DE */ ori $a1, $a1, 0x2de +/* D06400 80240CD0 0040B02D */ daddu $s6, $v0, $zero +/* D06404 80240CD4 0220202D */ daddu $a0, $s1, $zero +/* D06408 80240CD8 3C05F5DE */ lui $a1, 0xf5de +/* D0640C 80240CDC 0C0B1EAF */ jal get_variable +/* D06410 80240CE0 34A502DF */ ori $a1, $a1, 0x2df +/* D06414 80240CE4 0040A82D */ daddu $s5, $v0, $zero +/* D06418 80240CE8 93D3006D */ lbu $s3, 0x6d($fp) +/* D0641C 80240CEC 32C2FFFF */ andi $v0, $s6, 0xffff +/* D06420 80240CF0 A7B30010 */ sh $s3, 0x10($sp) +/* D06424 80240CF4 93D2006E */ lbu $s2, 0x6e($fp) +/* D06428 80240CF8 93C7006F */ lbu $a3, 0x6f($fp) +/* D0642C 80240CFC 3274FFFF */ andi $s4, $s3, 0xffff +/* D06430 80240D00 12820003 */ beq $s4, $v0, .L80240D10 +/* D06434 80240D04 A7A7001E */ sh $a3, 0x1e($sp) +/* D06438 80240D08 0000B82D */ daddu $s7, $zero, $zero +/* D0643C 80240D0C 02E0802D */ daddu $s0, $s7, $zero +.L80240D10: +/* D06440 80240D10 3202FFFF */ andi $v0, $s0, 0xffff +/* D06444 80240D14 14400016 */ bnez $v0, .L80240D70 +/* D06448 80240D18 0220202D */ daddu $a0, $s1, $zero +/* D0644C 80240D1C 0C00A67F */ jal rand_int +/* D06450 80240D20 24040064 */ addiu $a0, $zero, 0x64 +/* D06454 80240D24 2842001E */ slti $v0, $v0, 0x1e +/* D06458 80240D28 10400011 */ beqz $v0, .L80240D70 +/* D0645C 80240D2C 0220202D */ daddu $a0, $s1, $zero +/* D06460 80240D30 0C00A67F */ jal rand_int +/* D06464 80240D34 2644FFFF */ addiu $a0, $s2, -1 +/* D06468 80240D38 0040A82D */ daddu $s5, $v0, $zero +/* D0646C 80240D3C 0260B02D */ daddu $s6, $s3, $zero +/* D06470 80240D40 0220202D */ daddu $a0, $s1, $zero +/* D06474 80240D44 3C05F5DE */ lui $a1, 0xf5de +/* D06478 80240D48 34A502DE */ ori $a1, $a1, 0x2de +/* D0647C 80240D4C 0C0B2026 */ jal set_variable +/* D06480 80240D50 0280302D */ daddu $a2, $s4, $zero +/* D06484 80240D54 0220202D */ daddu $a0, $s1, $zero +/* D06488 80240D58 3C05F5DE */ lui $a1, 0xf5de +/* D0648C 80240D5C 34A502DF */ ori $a1, $a1, 0x2df +/* D06490 80240D60 0C0B2026 */ jal set_variable +/* D06494 80240D64 32A6FFFF */ andi $a2, $s5, 0xffff +/* D06498 80240D68 24100001 */ addiu $s0, $zero, 1 +/* D0649C 80240D6C 0220202D */ daddu $a0, $s1, $zero +.L80240D70: +/* D064A0 80240D70 3C05F840 */ lui $a1, 0xf840 +/* D064A4 80240D74 34A56268 */ ori $a1, $a1, 0x6268 +/* D064A8 80240D78 0C0B2026 */ jal set_variable +/* D064AC 80240D7C 3206FFFF */ andi $a2, $s0, 0xffff +/* D064B0 80240D80 0220202D */ daddu $a0, $s1, $zero +/* D064B4 80240D84 3C05F840 */ lui $a1, 0xf840 +/* D064B8 80240D88 34A56269 */ ori $a1, $a1, 0x6269 +/* D064BC 80240D8C 0C0B2026 */ jal set_variable +/* D064C0 80240D90 32E6FFFF */ andi $a2, $s7, 0xffff +/* D064C4 80240D94 0000202D */ daddu $a0, $zero, $zero +/* D064C8 80240D98 3C05F5DE */ lui $a1, 0xf5de +/* D064CC 80240D9C 0C0B1EAF */ jal get_variable +/* D064D0 80240DA0 34A502E0 */ ori $a1, $a1, 0x2e0 +/* D064D4 80240DA4 0000202D */ daddu $a0, $zero, $zero +/* D064D8 80240DA8 3C05F5DE */ lui $a1, 0xf5de +/* D064DC 80240DAC 34A50180 */ ori $a1, $a1, 0x180 +/* D064E0 80240DB0 0C0B1EAF */ jal get_variable +/* D064E4 80240DB4 0040802D */ daddu $s0, $v0, $zero +/* D064E8 80240DB8 0040282D */ daddu $a1, $v0, $zero +/* D064EC 80240DBC 0000182D */ daddu $v1, $zero, $zero +/* D064F0 80240DC0 3C068024 */ lui $a2, 0x8024 +/* D064F4 80240DC4 24C66C04 */ addiu $a2, $a2, 0x6c04 +/* D064F8 80240DC8 00C0202D */ daddu $a0, $a2, $zero +.L80240DCC: +/* D064FC 80240DCC 8C820000 */ lw $v0, ($a0) +/* D06500 80240DD0 00A2102A */ slt $v0, $a1, $v0 +/* D06504 80240DD4 14400006 */ bnez $v0, .L80240DF0 +/* D06508 80240DD8 000310C0 */ sll $v0, $v1, 3 +/* D0650C 80240DDC 24630001 */ addiu $v1, $v1, 1 +/* D06510 80240DE0 28620008 */ slti $v0, $v1, 8 +/* D06514 80240DE4 1440FFF9 */ bnez $v0, .L80240DCC +/* D06518 80240DE8 24840008 */ addiu $a0, $a0, 8 +/* D0651C 80240DEC 000310C0 */ sll $v0, $v1, 3 +.L80240DF0: +/* D06520 80240DF0 00461021 */ addu $v0, $v0, $a2 +/* D06524 80240DF4 8C420004 */ lw $v0, 4($v0) +/* D06528 80240DF8 97A30010 */ lhu $v1, 0x10($sp) +/* D0652C 80240DFC 0202202A */ slt $a0, $s0, $v0 +/* D06530 80240E00 32C2FFFF */ andi $v0, $s6, 0xffff +/* D06534 80240E04 14620008 */ bne $v1, $v0, .L80240E28 +/* D06538 80240E08 32A2FFFF */ andi $v0, $s5, 0xffff +/* D0653C 80240E0C 97A7001E */ lhu $a3, 0x1e($sp) +/* D06540 80240E10 14E20005 */ bne $a3, $v0, .L80240E28 +/* D06544 80240E14 32E2FFFF */ andi $v0, $s7, 0xffff +/* D06548 80240E18 14400003 */ bnez $v0, .L80240E28 +/* D0654C 80240E1C 00000000 */ nop +/* D06550 80240E20 14800008 */ bnez $a0, .L80240E44 +/* D06554 80240E24 24020001 */ addiu $v0, $zero, 1 +.L80240E28: +/* D06558 80240E28 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* D0655C 80240E2C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* D06560 80240E30 80420075 */ lb $v0, 0x75($v0) +/* D06564 80240E34 10400005 */ beqz $v0, .L80240E4C +/* D06568 80240E38 00000000 */ nop +/* D0656C 80240E3C 10800003 */ beqz $a0, .L80240E4C +/* D06570 80240E40 24020001 */ addiu $v0, $zero, 1 +.L80240E44: +/* D06574 80240E44 08090396 */ j .L80240E58 +/* D06578 80240E48 AE220084 */ sw $v0, 0x84($s1) +.L80240E4C: +/* D0657C 80240E4C 0C00F9EB */ jal kill_enemy +/* D06580 80240E50 03C0202D */ daddu $a0, $fp, $zero +/* D06584 80240E54 AE200084 */ sw $zero, 0x84($s1) +.L80240E58: +/* D06588 80240E58 8FBF0044 */ lw $ra, 0x44($sp) +/* D0658C 80240E5C 8FBE0040 */ lw $fp, 0x40($sp) +/* D06590 80240E60 8FB7003C */ lw $s7, 0x3c($sp) +/* D06594 80240E64 8FB60038 */ lw $s6, 0x38($sp) +/* D06598 80240E68 8FB50034 */ lw $s5, 0x34($sp) +/* D0659C 80240E6C 8FB40030 */ lw $s4, 0x30($sp) +/* D065A0 80240E70 8FB3002C */ lw $s3, 0x2c($sp) +/* D065A4 80240E74 8FB20028 */ lw $s2, 0x28($sp) +/* D065A8 80240E78 8FB10024 */ lw $s1, 0x24($sp) +/* D065AC 80240E7C 8FB00020 */ lw $s0, 0x20($sp) +/* D065B0 80240E80 24020002 */ addiu $v0, $zero, 2 +/* D065B4 80240E84 03E00008 */ jr $ra +/* D065B8 80240E88 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240E8C.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240E8C.s new file mode 100644 index 0000000000..dff27e9c39 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240E8C.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E8C +/* D065BC 80240E8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D065C0 80240E90 AFBF0014 */ sw $ra, 0x14($sp) +/* D065C4 80240E94 AFB00010 */ sw $s0, 0x10($sp) +/* D065C8 80240E98 0C00EABB */ jal get_npc_unsafe +/* D065CC 80240E9C 8C84014C */ lw $a0, 0x14c($a0) +/* D065D0 80240EA0 24040008 */ addiu $a0, $zero, 8 +/* D065D4 80240EA4 0040802D */ daddu $s0, $v0, $zero +/* D065D8 80240EA8 3C028024 */ lui $v0, 0x8024 +/* D065DC 80240EAC 24420EF8 */ addiu $v0, $v0, 0xef8 +/* D065E0 80240EB0 0C00AB39 */ jal heap_malloc +/* D065E4 80240EB4 AE020008 */ sw $v0, 8($s0) +/* D065E8 80240EB8 0040182D */ daddu $v1, $v0, $zero +/* D065EC 80240EBC AE030020 */ sw $v1, 0x20($s0) +/* D065F0 80240EC0 AC600000 */ sw $zero, ($v1) +/* D065F4 80240EC4 8FBF0014 */ lw $ra, 0x14($sp) +/* D065F8 80240EC8 8FB00010 */ lw $s0, 0x10($sp) +/* D065FC 80240ECC 24020001 */ addiu $v0, $zero, 1 +/* D06600 80240ED0 03E00008 */ jr $ra +/* D06604 80240ED4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240ED8_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240ED8_D05730.s new file mode 100644 index 0000000000..3850de84f6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240ED8_D05730.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240ED8_D06608 +/* D06608 80240ED8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D0660C 80240EDC AFBF0010 */ sw $ra, 0x10($sp) +/* D06610 80240EE0 0C00EABB */ jal get_npc_unsafe +/* D06614 80240EE4 8C84014C */ lw $a0, 0x14c($a0) +/* D06618 80240EE8 8FBF0010 */ lw $ra, 0x10($sp) +/* D0661C 80240EEC 0000102D */ daddu $v0, $zero, $zero +/* D06620 80240EF0 03E00008 */ jr $ra +/* D06624 80240EF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240EF8_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240EF8_D05730.s new file mode 100644 index 0000000000..7af892f679 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240EF8_D05730.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF8_D06628 +/* D06628 80240EF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D0662C 80240EFC 3C03800A */ lui $v1, 0x800a +/* D06630 80240F00 8463A634 */ lh $v1, -0x59cc($v1) +/* D06634 80240F04 3C05800B */ lui $a1, %hi(gCameras) +/* D06638 80240F08 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D0663C 80240F0C AFBF0010 */ sw $ra, 0x10($sp) +/* D06640 80240F10 00031080 */ sll $v0, $v1, 2 +/* D06644 80240F14 00431021 */ addu $v0, $v0, $v1 +/* D06648 80240F18 00021080 */ sll $v0, $v0, 2 +/* D0664C 80240F1C 00431023 */ subu $v0, $v0, $v1 +/* D06650 80240F20 000218C0 */ sll $v1, $v0, 3 +/* D06654 80240F24 00431021 */ addu $v0, $v0, $v1 +/* D06658 80240F28 8C830020 */ lw $v1, 0x20($a0) +/* D0665C 80240F2C 000210C0 */ sll $v0, $v0, 3 +/* D06660 80240F30 8C630000 */ lw $v1, ($v1) +/* D06664 80240F34 30630001 */ andi $v1, $v1, 1 +/* D06668 80240F38 10600004 */ beqz $v1, .L80240F4C +/* D0666C 80240F3C 00451021 */ addu $v0, $v0, $a1 +/* D06670 80240F40 C44C006C */ lwc1 $f12, 0x6c($v0) +/* D06674 80240F44 0C00A6C9 */ jal clamp_angle +/* D06678 80240F48 46006307 */ neg.s $f12, $f12 +.L80240F4C: +/* D0667C 80240F4C 8FBF0010 */ lw $ra, 0x10($sp) +/* D06680 80240F50 03E00008 */ jr $ra +/* D06684 80240F54 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80240F58_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80240F58_D05730.s new file mode 100644 index 0000000000..279ce6a6c8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80240F58_D05730.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F58_D06688 +/* D06688 80240F58 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D0668C 80240F5C AFB10014 */ sw $s1, 0x14($sp) +/* D06690 80240F60 0080882D */ daddu $s1, $a0, $zero +/* D06694 80240F64 AFBF0024 */ sw $ra, 0x24($sp) +/* D06698 80240F68 AFB40020 */ sw $s4, 0x20($sp) +/* D0669C 80240F6C AFB3001C */ sw $s3, 0x1c($sp) +/* D066A0 80240F70 AFB20018 */ sw $s2, 0x18($sp) +/* D066A4 80240F74 10A00033 */ beqz $a1, .L80241044 +/* D066A8 80240F78 AFB00010 */ sw $s0, 0x10($sp) +/* D066AC 80240F7C 0C04760B */ jal func_8011D82C +/* D066B0 80240F80 24040001 */ addiu $a0, $zero, 1 +/* D066B4 80240F84 0000202D */ daddu $a0, $zero, $zero +/* D066B8 80240F88 0080282D */ daddu $a1, $a0, $zero +/* D066BC 80240F8C 0080302D */ daddu $a2, $a0, $zero +/* D066C0 80240F90 0080382D */ daddu $a3, $a0, $zero +/* D066C4 80240F94 0080802D */ daddu $s0, $a0, $zero +/* D066C8 80240F98 2414FFFC */ addiu $s4, $zero, -4 +/* D066CC 80240F9C 24130008 */ addiu $s3, $zero, 8 +/* D066D0 80240FA0 3C120080 */ lui $s2, 0x80 +/* D066D4 80240FA4 3C038015 */ lui $v1, 0x8015 +/* D066D8 80240FA8 8C6312F0 */ lw $v1, 0x12f0($v1) +/* D066DC 80240FAC 24020001 */ addiu $v0, $zero, 1 +/* D066E0 80240FB0 0C046F97 */ jal set_background_color_blend +/* D066E4 80240FB4 A0620000 */ sb $v0, ($v1) +.L80240FB8: +/* D066E8 80240FB8 0C00E2B7 */ jal get_npc_by_index +/* D066EC 80240FBC 0200202D */ daddu $a0, $s0, $zero +/* D066F0 80240FC0 0040202D */ daddu $a0, $v0, $zero +/* D066F4 80240FC4 5080000B */ beql $a0, $zero, .L80240FF4 +/* D066F8 80240FC8 26100001 */ addiu $s0, $s0, 1 +/* D066FC 80240FCC 8C820000 */ lw $v0, ($a0) +/* D06700 80240FD0 50400008 */ beql $v0, $zero, .L80240FF4 +/* D06704 80240FD4 26100001 */ addiu $s0, $s0, 1 +/* D06708 80240FD8 808300A4 */ lb $v1, 0xa4($a0) +/* D0670C 80240FDC 10740005 */ beq $v1, $s4, .L80240FF4 +/* D06710 80240FE0 26100001 */ addiu $s0, $s0, 1 +/* D06714 80240FE4 10730003 */ beq $v1, $s3, .L80240FF4 +/* D06718 80240FE8 00000000 */ nop +/* D0671C 80240FEC 00521025 */ or $v0, $v0, $s2 +/* D06720 80240FF0 AC820000 */ sw $v0, ($a0) +.L80240FF4: +/* D06724 80240FF4 2A020040 */ slti $v0, $s0, 0x40 +/* D06728 80240FF8 1440FFEF */ bnez $v0, .L80240FB8 +/* D0672C 80240FFC 00000000 */ nop +/* D06730 80241000 0000802D */ daddu $s0, $zero, $zero +/* D06734 80241004 3C120800 */ lui $s2, 0x800 +.L80241008: +/* D06738 80241008 0C04C3D6 */ jal get_item_entity +/* D0673C 8024100C 0200202D */ daddu $a0, $s0, $zero +/* D06740 80241010 0040182D */ daddu $v1, $v0, $zero +/* D06744 80241014 10600007 */ beqz $v1, .L80241034 +/* D06748 80241018 26100001 */ addiu $s0, $s0, 1 +/* D0674C 8024101C 8C640000 */ lw $a0, ($v1) +/* D06750 80241020 30820010 */ andi $v0, $a0, 0x10 +/* D06754 80241024 10400003 */ beqz $v0, .L80241034 +/* D06758 80241028 00000000 */ nop +/* D0675C 8024102C 00921025 */ or $v0, $a0, $s2 +/* D06760 80241030 AC620000 */ sw $v0, ($v1) +.L80241034: +/* D06764 80241034 2A020100 */ slti $v0, $s0, 0x100 +/* D06768 80241038 1440FFF3 */ bnez $v0, .L80241008 +/* D0676C 8024103C 00000000 */ nop +/* D06770 80241040 AE200070 */ sw $zero, 0x70($s1) +.L80241044: +/* D06774 80241044 8E220070 */ lw $v0, 0x70($s1) +/* D06778 80241048 24420008 */ addiu $v0, $v0, 8 +/* D0677C 8024104C AE220070 */ sw $v0, 0x70($s1) +/* D06780 80241050 28420100 */ slti $v0, $v0, 0x100 +/* D06784 80241054 14400003 */ bnez $v0, .L80241064 +/* D06788 80241058 0000202D */ daddu $a0, $zero, $zero +/* D0678C 8024105C 240200FF */ addiu $v0, $zero, 0xff +/* D06790 80241060 AE220070 */ sw $v0, 0x70($s1) +.L80241064: +/* D06794 80241064 0080282D */ daddu $a1, $a0, $zero +/* D06798 80241068 92270073 */ lbu $a3, 0x73($s1) +/* D0679C 8024106C 0C046F97 */ jal set_background_color_blend +/* D067A0 80241070 0080302D */ daddu $a2, $a0, $zero +/* D067A4 80241074 8E220070 */ lw $v0, 0x70($s1) +/* D067A8 80241078 8FBF0024 */ lw $ra, 0x24($sp) +/* D067AC 8024107C 8FB40020 */ lw $s4, 0x20($sp) +/* D067B0 80241080 8FB3001C */ lw $s3, 0x1c($sp) +/* D067B4 80241084 8FB20018 */ lw $s2, 0x18($sp) +/* D067B8 80241088 8FB10014 */ lw $s1, 0x14($sp) +/* D067BC 8024108C 8FB00010 */ lw $s0, 0x10($sp) +/* D067C0 80241090 384200FF */ xori $v0, $v0, 0xff +/* D067C4 80241094 2C420001 */ sltiu $v0, $v0, 1 +/* D067C8 80241098 00021040 */ sll $v0, $v0, 1 +/* D067CC 8024109C 03E00008 */ jr $ra +/* D067D0 802410A0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802410A4_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802410A4_D05730.s new file mode 100644 index 0000000000..9b29db2790 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802410A4_D05730.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410A4_D067D4 +/* D067D4 802410A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D067D8 802410A8 AFB00010 */ sw $s0, 0x10($sp) +/* D067DC 802410AC 0080802D */ daddu $s0, $a0, $zero +/* D067E0 802410B0 AFBF0020 */ sw $ra, 0x20($sp) +/* D067E4 802410B4 AFB3001C */ sw $s3, 0x1c($sp) +/* D067E8 802410B8 AFB20018 */ sw $s2, 0x18($sp) +/* D067EC 802410BC 10A00009 */ beqz $a1, .L802410E4 +/* D067F0 802410C0 AFB10014 */ sw $s1, 0x14($sp) +/* D067F4 802410C4 0000202D */ daddu $a0, $zero, $zero +/* D067F8 802410C8 0080282D */ daddu $a1, $a0, $zero +/* D067FC 802410CC 0080302D */ daddu $a2, $a0, $zero +/* D06800 802410D0 0C046F97 */ jal set_background_color_blend +/* D06804 802410D4 240700FF */ addiu $a3, $zero, 0xff +/* D06808 802410D8 240200FF */ addiu $v0, $zero, 0xff +/* D0680C 802410DC AE020070 */ sw $v0, 0x70($s0) +/* D06810 802410E0 AE000074 */ sw $zero, 0x74($s0) +.L802410E4: +/* D06814 802410E4 8E020070 */ lw $v0, 0x70($s0) +/* D06818 802410E8 2442FFF8 */ addiu $v0, $v0, -8 +/* D0681C 802410EC 04410002 */ bgez $v0, .L802410F8 +/* D06820 802410F0 AE020070 */ sw $v0, 0x70($s0) +/* D06824 802410F4 AE000070 */ sw $zero, 0x70($s0) +.L802410F8: +/* D06828 802410F8 0000202D */ daddu $a0, $zero, $zero +/* D0682C 802410FC 0080282D */ daddu $a1, $a0, $zero +/* D06830 80241100 92070073 */ lbu $a3, 0x73($s0) +/* D06834 80241104 0C046F97 */ jal set_background_color_blend +/* D06838 80241108 0080302D */ daddu $a2, $a0, $zero +/* D0683C 8024110C 8E020070 */ lw $v0, 0x70($s0) +/* D06840 80241110 14400006 */ bnez $v0, .L8024112C +/* D06844 80241114 00000000 */ nop +/* D06848 80241118 8E020074 */ lw $v0, 0x74($s0) +/* D0684C 8024111C 14400003 */ bnez $v0, .L8024112C +/* D06850 80241120 24020001 */ addiu $v0, $zero, 1 +/* D06854 80241124 0809047E */ j .L802411F8 +/* D06858 80241128 AE020074 */ sw $v0, 0x74($s0) +.L8024112C: +/* D0685C 8024112C 8E030074 */ lw $v1, 0x74($s0) +/* D06860 80241130 24020001 */ addiu $v0, $zero, 1 +/* D06864 80241134 14620031 */ bne $v1, $v0, .L802411FC +/* D06868 80241138 0000102D */ daddu $v0, $zero, $zero +/* D0686C 8024113C 0C04760B */ jal func_8011D82C +/* D06870 80241140 0000202D */ daddu $a0, $zero, $zero +/* D06874 80241144 0000802D */ daddu $s0, $zero, $zero +/* D06878 80241148 2413FFFC */ addiu $s3, $zero, -4 +/* D0687C 8024114C 24120008 */ addiu $s2, $zero, 8 +/* D06880 80241150 3C11FF7F */ lui $s1, 0xff7f +/* D06884 80241154 3C028015 */ lui $v0, 0x8015 +/* D06888 80241158 8C4212F0 */ lw $v0, 0x12f0($v0) +/* D0688C 8024115C 3631FFFF */ ori $s1, $s1, 0xffff +/* D06890 80241160 A0400000 */ sb $zero, ($v0) +.L80241164: +/* D06894 80241164 0C00E2B7 */ jal get_npc_by_index +/* D06898 80241168 0200202D */ daddu $a0, $s0, $zero +/* D0689C 8024116C 0040202D */ daddu $a0, $v0, $zero +/* D068A0 80241170 5080000B */ beql $a0, $zero, .L802411A0 +/* D068A4 80241174 26100001 */ addiu $s0, $s0, 1 +/* D068A8 80241178 8C820000 */ lw $v0, ($a0) +/* D068AC 8024117C 50400008 */ beql $v0, $zero, .L802411A0 +/* D068B0 80241180 26100001 */ addiu $s0, $s0, 1 +/* D068B4 80241184 808300A4 */ lb $v1, 0xa4($a0) +/* D068B8 80241188 10730005 */ beq $v1, $s3, .L802411A0 +/* D068BC 8024118C 26100001 */ addiu $s0, $s0, 1 +/* D068C0 80241190 10720003 */ beq $v1, $s2, .L802411A0 +/* D068C4 80241194 00000000 */ nop +/* D068C8 80241198 00511024 */ and $v0, $v0, $s1 +/* D068CC 8024119C AC820000 */ sw $v0, ($a0) +.L802411A0: +/* D068D0 802411A0 2A020040 */ slti $v0, $s0, 0x40 +/* D068D4 802411A4 1440FFEF */ bnez $v0, .L80241164 +/* D068D8 802411A8 00000000 */ nop +/* D068DC 802411AC 0000802D */ daddu $s0, $zero, $zero +/* D068E0 802411B0 3C11F7FF */ lui $s1, 0xf7ff +/* D068E4 802411B4 3631FFFF */ ori $s1, $s1, 0xffff +.L802411B8: +/* D068E8 802411B8 0C04C3D6 */ jal get_item_entity +/* D068EC 802411BC 0200202D */ daddu $a0, $s0, $zero +/* D068F0 802411C0 0040182D */ daddu $v1, $v0, $zero +/* D068F4 802411C4 10600007 */ beqz $v1, .L802411E4 +/* D068F8 802411C8 26100001 */ addiu $s0, $s0, 1 +/* D068FC 802411CC 8C640000 */ lw $a0, ($v1) +/* D06900 802411D0 30820010 */ andi $v0, $a0, 0x10 +/* D06904 802411D4 10400003 */ beqz $v0, .L802411E4 +/* D06908 802411D8 00000000 */ nop +/* D0690C 802411DC 00911024 */ and $v0, $a0, $s1 +/* D06910 802411E0 AC620000 */ sw $v0, ($v1) +.L802411E4: +/* D06914 802411E4 2A020100 */ slti $v0, $s0, 0x100 +/* D06918 802411E8 1440FFF3 */ bnez $v0, .L802411B8 +/* D0691C 802411EC 24020002 */ addiu $v0, $zero, 2 +/* D06920 802411F0 0809047F */ j .L802411FC +/* D06924 802411F4 00000000 */ nop +.L802411F8: +/* D06928 802411F8 0000102D */ daddu $v0, $zero, $zero +.L802411FC: +/* D0692C 802411FC 8FBF0020 */ lw $ra, 0x20($sp) +/* D06930 80241200 8FB3001C */ lw $s3, 0x1c($sp) +/* D06934 80241204 8FB20018 */ lw $s2, 0x18($sp) +/* D06938 80241208 8FB10014 */ lw $s1, 0x14($sp) +/* D0693C 8024120C 8FB00010 */ lw $s0, 0x10($sp) +/* D06940 80241210 03E00008 */ jr $ra +/* D06944 80241214 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024129C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024129C_D05730.s new file mode 100644 index 0000000000..34aae16205 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024129C_D05730.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024129C_D069CC +/* D069CC 8024129C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D069D0 802412A0 AFB1001C */ sw $s1, 0x1c($sp) +/* D069D4 802412A4 AFBF0020 */ sw $ra, 0x20($sp) +/* D069D8 802412A8 AFB00018 */ sw $s0, 0x18($sp) +/* D069DC 802412AC F7B60030 */ sdc1 $f22, 0x30($sp) +/* D069E0 802412B0 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D069E4 802412B4 10A00060 */ beqz $a1, .L80241438 +/* D069E8 802412B8 0080882D */ daddu $s1, $a0, $zero +/* D069EC 802412BC 3C05F4AC */ lui $a1, 0xf4ac +/* D069F0 802412C0 0C0B1EAF */ jal get_variable +/* D069F4 802412C4 34A5D481 */ ori $a1, $a1, 0xd481 +/* D069F8 802412C8 0220202D */ daddu $a0, $s1, $zero +/* D069FC 802412CC 3C05F4AC */ lui $a1, 0xf4ac +/* D06A00 802412D0 4482B000 */ mtc1 $v0, $f22 +/* D06A04 802412D4 00000000 */ nop +/* D06A08 802412D8 4680B5A0 */ cvt.s.w $f22, $f22 +/* D06A0C 802412DC 0C0B1EAF */ jal get_variable +/* D06A10 802412E0 34A5D482 */ ori $a1, $a1, 0xd482 +/* D06A14 802412E4 0220202D */ daddu $a0, $s1, $zero +/* D06A18 802412E8 3C05F4AC */ lui $a1, 0xf4ac +/* D06A1C 802412EC 4482A000 */ mtc1 $v0, $f20 +/* D06A20 802412F0 00000000 */ nop +/* D06A24 802412F4 4680A520 */ cvt.s.w $f20, $f20 +/* D06A28 802412F8 0C0B1EAF */ jal get_variable +/* D06A2C 802412FC 34A5D483 */ ori $a1, $a1, 0xd483 +/* D06A30 80241300 44821000 */ mtc1 $v0, $f2 +/* D06A34 80241304 00000000 */ nop +/* D06A38 80241308 468010A0 */ cvt.s.w $f2, $f2 +/* D06A3C 8024130C 4405B000 */ mfc1 $a1, $f22 +/* D06A40 80241310 4406A000 */ mfc1 $a2, $f20 +/* D06A44 80241314 44071000 */ mfc1 $a3, $f2 +/* D06A48 80241318 0C01C574 */ jal func_800715D0 +/* D06A4C 8024131C 0000202D */ daddu $a0, $zero, $zero +/* D06A50 80241320 0220202D */ daddu $a0, $s1, $zero +/* D06A54 80241324 3C05F4AC */ lui $a1, 0xf4ac +/* D06A58 80241328 34A5D481 */ ori $a1, $a1, 0xd481 +/* D06A5C 8024132C 3C108025 */ lui $s0, 0x8025 +/* D06A60 80241330 2610B9B0 */ addiu $s0, $s0, -0x4650 +/* D06A64 80241334 0C0B1EAF */ jal get_variable +/* D06A68 80241338 AE020000 */ sw $v0, ($s0) +/* D06A6C 8024133C 0220202D */ daddu $a0, $s1, $zero +/* D06A70 80241340 3C05F4AC */ lui $a1, 0xf4ac +/* D06A74 80241344 4482B000 */ mtc1 $v0, $f22 +/* D06A78 80241348 00000000 */ nop +/* D06A7C 8024134C 4680B5A0 */ cvt.s.w $f22, $f22 +/* D06A80 80241350 0C0B1EAF */ jal get_variable +/* D06A84 80241354 34A5D482 */ ori $a1, $a1, 0xd482 +/* D06A88 80241358 0220202D */ daddu $a0, $s1, $zero +/* D06A8C 8024135C 3C05F4AC */ lui $a1, 0xf4ac +/* D06A90 80241360 4482A000 */ mtc1 $v0, $f20 +/* D06A94 80241364 00000000 */ nop +/* D06A98 80241368 4680A520 */ cvt.s.w $f20, $f20 +/* D06A9C 8024136C 0C0B1EAF */ jal get_variable +/* D06AA0 80241370 34A5D483 */ ori $a1, $a1, 0xd483 +/* D06AA4 80241374 44821000 */ mtc1 $v0, $f2 +/* D06AA8 80241378 00000000 */ nop +/* D06AAC 8024137C 468010A0 */ cvt.s.w $f2, $f2 +/* D06AB0 80241380 4405B000 */ mfc1 $a1, $f22 +/* D06AB4 80241384 4406A000 */ mfc1 $a2, $f20 +/* D06AB8 80241388 44071000 */ mfc1 $a3, $f2 +/* D06ABC 8024138C 0C01C604 */ jal func_80071810 +/* D06AC0 80241390 0000202D */ daddu $a0, $zero, $zero +/* D06AC4 80241394 0220202D */ daddu $a0, $s1, $zero +/* D06AC8 80241398 3C05F4AC */ lui $a1, 0xf4ac +/* D06ACC 8024139C 3C018025 */ lui $at, 0x8025 +/* D06AD0 802413A0 AC22B9B4 */ sw $v0, -0x464c($at) +/* D06AD4 802413A4 0C0B1EAF */ jal get_variable +/* D06AD8 802413A8 34A5D481 */ ori $a1, $a1, 0xd481 +/* D06ADC 802413AC 0220202D */ daddu $a0, $s1, $zero +/* D06AE0 802413B0 3C05F4AC */ lui $a1, 0xf4ac +/* D06AE4 802413B4 4482B000 */ mtc1 $v0, $f22 +/* D06AE8 802413B8 00000000 */ nop +/* D06AEC 802413BC 4680B5A0 */ cvt.s.w $f22, $f22 +/* D06AF0 802413C0 0C0B1EAF */ jal get_variable +/* D06AF4 802413C4 34A5D482 */ ori $a1, $a1, 0xd482 +/* D06AF8 802413C8 0220202D */ daddu $a0, $s1, $zero +/* D06AFC 802413CC 3C05F4AC */ lui $a1, 0xf4ac +/* D06B00 802413D0 4482A000 */ mtc1 $v0, $f20 +/* D06B04 802413D4 00000000 */ nop +/* D06B08 802413D8 4680A520 */ cvt.s.w $f20, $f20 +/* D06B0C 802413DC 0C0B1EAF */ jal get_variable +/* D06B10 802413E0 34A5D483 */ ori $a1, $a1, 0xd483 +/* D06B14 802413E4 44821000 */ mtc1 $v0, $f2 +/* D06B18 802413E8 00000000 */ nop +/* D06B1C 802413EC 468010A0 */ cvt.s.w $f2, $f2 +/* D06B20 802413F0 4405B000 */ mfc1 $a1, $f22 +/* D06B24 802413F4 4406A000 */ mfc1 $a2, $f20 +/* D06B28 802413F8 3C013F80 */ lui $at, 0x3f80 +/* D06B2C 802413FC 44810000 */ mtc1 $at, $f0 +/* D06B30 80241400 44071000 */ mfc1 $a3, $f2 +/* D06B34 80241404 0000202D */ daddu $a0, $zero, $zero +/* D06B38 80241408 AFA00014 */ sw $zero, 0x14($sp) +/* D06B3C 8024140C 0C01CA24 */ jal func_80072890 +/* D06B40 80241410 E7A00010 */ swc1 $f0, 0x10($sp) +/* D06B44 80241414 8E030000 */ lw $v1, ($s0) +/* D06B48 80241418 8C64000C */ lw $a0, 0xc($v1) +/* D06B4C 8024141C 3C018025 */ lui $at, 0x8025 +/* D06B50 80241420 AC22B9B8 */ sw $v0, -0x4648($at) +/* D06B54 80241424 AC800018 */ sw $zero, 0x18($a0) +/* D06B58 80241428 AC800020 */ sw $zero, 0x20($a0) +/* D06B5C 8024142C AC800024 */ sw $zero, 0x24($a0) +/* D06B60 80241430 AC800028 */ sw $zero, 0x28($a0) +/* D06B64 80241434 AC80001C */ sw $zero, 0x1c($a0) +.L80241438: +/* D06B68 80241438 3C028025 */ lui $v0, 0x8025 +/* D06B6C 8024143C 8C42B9B0 */ lw $v0, -0x4650($v0) +/* D06B70 80241440 8C44000C */ lw $a0, 0xc($v0) +/* D06B74 80241444 8C820020 */ lw $v0, 0x20($a0) +/* D06B78 80241448 8C830028 */ lw $v1, 0x28($a0) +/* D06B7C 8024144C 2442000A */ addiu $v0, $v0, 0xa +/* D06B80 80241450 AC820020 */ sw $v0, 0x20($a0) +/* D06B84 80241454 8C820024 */ lw $v0, 0x24($a0) +/* D06B88 80241458 2463000A */ addiu $v1, $v1, 0xa +/* D06B8C 8024145C AC830028 */ sw $v1, 0x28($a0) +/* D06B90 80241460 8C830018 */ lw $v1, 0x18($a0) +/* D06B94 80241464 2442000A */ addiu $v0, $v0, 0xa +/* D06B98 80241468 AC820024 */ sw $v0, 0x24($a0) +/* D06B9C 8024146C 8C82001C */ lw $v0, 0x1c($a0) +/* D06BA0 80241470 2463000A */ addiu $v1, $v1, 0xa +/* D06BA4 80241474 AC830018 */ sw $v1, 0x18($a0) +/* D06BA8 80241478 286300FF */ slti $v1, $v1, 0xff +/* D06BAC 8024147C 2442000A */ addiu $v0, $v0, 0xa +/* D06BB0 80241480 AC82001C */ sw $v0, 0x1c($a0) +/* D06BB4 80241484 14600004 */ bnez $v1, .L80241498 +/* D06BB8 80241488 0000102D */ daddu $v0, $zero, $zero +/* D06BBC 8024148C 240200FF */ addiu $v0, $zero, 0xff +/* D06BC0 80241490 AC820018 */ sw $v0, 0x18($a0) +/* D06BC4 80241494 24020002 */ addiu $v0, $zero, 2 +.L80241498: +/* D06BC8 80241498 8FBF0020 */ lw $ra, 0x20($sp) +/* D06BCC 8024149C 8FB1001C */ lw $s1, 0x1c($sp) +/* D06BD0 802414A0 8FB00018 */ lw $s0, 0x18($sp) +/* D06BD4 802414A4 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D06BD8 802414A8 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D06BDC 802414AC 03E00008 */ jr $ra +/* D06BE0 802414B0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802414B4_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802414B4_D05730.s new file mode 100644 index 0000000000..6b69371017 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802414B4_D05730.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414B4_D06BE4 +/* D06BE4 802414B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06BE8 802414B8 10A0000B */ beqz $a1, .L802414E8 +/* D06BEC 802414BC AFBF0010 */ sw $ra, 0x10($sp) +/* D06BF0 802414C0 3C038025 */ lui $v1, 0x8025 +/* D06BF4 802414C4 8C63B9B4 */ lw $v1, -0x464c($v1) +/* D06BF8 802414C8 8C620000 */ lw $v0, ($v1) +/* D06BFC 802414CC 3C048025 */ lui $a0, 0x8025 +/* D06C00 802414D0 8C84B9B8 */ lw $a0, -0x4648($a0) +/* D06C04 802414D4 34420010 */ ori $v0, $v0, 0x10 +/* D06C08 802414D8 AC620000 */ sw $v0, ($v1) +/* D06C0C 802414DC 8C820000 */ lw $v0, ($a0) +/* D06C10 802414E0 34420010 */ ori $v0, $v0, 0x10 +/* D06C14 802414E4 AC820000 */ sw $v0, ($a0) +.L802414E8: +/* D06C18 802414E8 3C048025 */ lui $a0, 0x8025 +/* D06C1C 802414EC 8C84B9B0 */ lw $a0, -0x4650($a0) +/* D06C20 802414F0 8C85000C */ lw $a1, 0xc($a0) +/* D06C24 802414F4 8CA20018 */ lw $v0, 0x18($a1) +/* D06C28 802414F8 8CA30020 */ lw $v1, 0x20($a1) +/* D06C2C 802414FC 2442FFF6 */ addiu $v0, $v0, -0xa +/* D06C30 80241500 ACA20018 */ sw $v0, 0x18($a1) +/* D06C34 80241504 8CA20024 */ lw $v0, 0x24($a1) +/* D06C38 80241508 2463FFF6 */ addiu $v1, $v1, -0xa +/* D06C3C 8024150C ACA30020 */ sw $v1, 0x20($a1) +/* D06C40 80241510 8CA30028 */ lw $v1, 0x28($a1) +/* D06C44 80241514 2442FFF6 */ addiu $v0, $v0, -0xa +/* D06C48 80241518 ACA20024 */ sw $v0, 0x24($a1) +/* D06C4C 8024151C 8CA2001C */ lw $v0, 0x1c($a1) +/* D06C50 80241520 2463FFF6 */ addiu $v1, $v1, -0xa +/* D06C54 80241524 ACA30028 */ sw $v1, 0x28($a1) +/* D06C58 80241528 8CA30018 */ lw $v1, 0x18($a1) +/* D06C5C 8024152C 2442FFF6 */ addiu $v0, $v0, -0xa +/* D06C60 80241530 18600003 */ blez $v1, .L80241540 +/* D06C64 80241534 ACA2001C */ sw $v0, 0x1c($a1) +/* D06C68 80241538 08090557 */ j .L8024155C +/* D06C6C 8024153C 0000102D */ daddu $v0, $zero, $zero +.L80241540: +/* D06C70 80241540 0C016914 */ jal remove_effect +/* D06C74 80241544 ACA00018 */ sw $zero, 0x18($a1) +/* D06C78 80241548 3C048025 */ lui $a0, 0x8025 +/* D06C7C 8024154C 8C84B990 */ lw $a0, -0x4670($a0) +/* D06C80 80241550 0C048D70 */ jal func_801235C0 +/* D06C84 80241554 00000000 */ nop +/* D06C88 80241558 24020002 */ addiu $v0, $zero, 2 +.L8024155C: +/* D06C8C 8024155C 8FBF0010 */ lw $ra, 0x10($sp) +/* D06C90 80241560 03E00008 */ jr $ra +/* D06C94 80241564 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241568_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241568_D05730.s new file mode 100644 index 0000000000..3a13f04b6b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241568_D05730.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241568_D06C98 +/* D06C98 80241568 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06C9C 8024156C AFBF0010 */ sw $ra, 0x10($sp) +/* D06CA0 80241570 8C82000C */ lw $v0, 0xc($a0) +/* D06CA4 80241574 0C0B1EAF */ jal get_variable +/* D06CA8 80241578 8C450000 */ lw $a1, ($v0) +/* D06CAC 8024157C 3C038025 */ lui $v1, 0x8025 +/* D06CB0 80241580 8C63B9B0 */ lw $v1, -0x4650($v1) +/* D06CB4 80241584 8C63000C */ lw $v1, 0xc($v1) +/* D06CB8 80241588 AC620034 */ sw $v0, 0x34($v1) +/* D06CBC 8024158C 8FBF0010 */ lw $ra, 0x10($sp) +/* D06CC0 80241590 24020002 */ addiu $v0, $zero, 2 +/* D06CC4 80241594 03E00008 */ jr $ra +/* D06CC8 80241598 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024159C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024159C_D05730.s new file mode 100644 index 0000000000..10e2a8cf9c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024159C_D05730.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024159C_D06CCC +/* D06CCC 8024159C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06CD0 802415A0 AFBF0010 */ sw $ra, 0x10($sp) +/* D06CD4 802415A4 8C82000C */ lw $v0, 0xc($a0) +/* D06CD8 802415A8 0C0B1EAF */ jal get_variable +/* D06CDC 802415AC 8C450000 */ lw $a1, ($v0) +/* D06CE0 802415B0 0040202D */ daddu $a0, $v0, $zero +/* D06CE4 802415B4 3C028025 */ lui $v0, 0x8025 +/* D06CE8 802415B8 8C42B9B0 */ lw $v0, -0x4650($v0) +/* D06CEC 802415BC 24030001 */ addiu $v1, $zero, 1 +/* D06CF0 802415C0 8C45000C */ lw $a1, 0xc($v0) +/* D06CF4 802415C4 1083000D */ beq $a0, $v1, .L802415FC +/* D06CF8 802415C8 28820002 */ slti $v0, $a0, 2 +/* D06CFC 802415CC 10400005 */ beqz $v0, .L802415E4 +/* D06D00 802415D0 24020002 */ addiu $v0, $zero, 2 +/* D06D04 802415D4 10800007 */ beqz $a0, .L802415F4 +/* D06D08 802415D8 240200C0 */ addiu $v0, $zero, 0xc0 +/* D06D0C 802415DC 08090583 */ j .L8024160C +/* D06D10 802415E0 ACA00038 */ sw $zero, 0x38($a1) +.L802415E4: +/* D06D14 802415E4 10820008 */ beq $a0, $v0, .L80241608 +/* D06D18 802415E8 24020040 */ addiu $v0, $zero, 0x40 +/* D06D1C 802415EC 08090583 */ j .L8024160C +/* D06D20 802415F0 ACA00038 */ sw $zero, 0x38($a1) +.L802415F4: +/* D06D24 802415F4 08090583 */ j .L8024160C +/* D06D28 802415F8 ACA20038 */ sw $v0, 0x38($a1) +.L802415FC: +/* D06D2C 802415FC 24020080 */ addiu $v0, $zero, 0x80 +/* D06D30 80241600 08090583 */ j .L8024160C +/* D06D34 80241604 ACA20038 */ sw $v0, 0x38($a1) +.L80241608: +/* D06D38 80241608 ACA20038 */ sw $v0, 0x38($a1) +.L8024160C: +/* D06D3C 8024160C 8FBF0010 */ lw $ra, 0x10($sp) +/* D06D40 80241610 24020002 */ addiu $v0, $zero, 2 +/* D06D44 80241614 03E00008 */ jr $ra +/* D06D48 80241618 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024161C.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024161C.s new file mode 100644 index 0000000000..693856492a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024161C.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024161C +/* D06D4C 8024161C 3C028025 */ lui $v0, 0x8025 +/* D06D50 80241620 8C42B9B8 */ lw $v0, -0x4648($v0) +/* D06D54 80241624 8C42000C */ lw $v0, 0xc($v0) +/* D06D58 80241628 AC40001C */ sw $zero, 0x1c($v0) +/* D06D5C 8024162C 03E00008 */ jr $ra +/* D06D60 80241630 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241634.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241634.s new file mode 100644 index 0000000000..3538e44a06 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241634.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241634 +/* D06D64 80241634 3C028025 */ lui $v0, 0x8025 +/* D06D68 80241638 8C42B9B8 */ lw $v0, -0x4648($v0) +/* D06D6C 8024163C 8C43000C */ lw $v1, 0xc($v0) +/* D06D70 80241640 24020001 */ addiu $v0, $zero, 1 +/* D06D74 80241644 AC62001C */ sw $v0, 0x1c($v1) +/* D06D78 80241648 03E00008 */ jr $ra +/* D06D7C 8024164C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241650_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241650_D05730.s new file mode 100644 index 0000000000..26be5e8d21 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241650_D05730.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650_D06D80 +/* D06D80 80241650 3C028025 */ lui $v0, 0x8025 +/* D06D84 80241654 8C42B9B8 */ lw $v0, -0x4648($v0) +/* D06D88 80241658 8C43000C */ lw $v1, 0xc($v0) +/* D06D8C 8024165C 24020002 */ addiu $v0, $zero, 2 +/* D06D90 80241660 03E00008 */ jr $ra +/* D06D94 80241664 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241668_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241668_D05730.s new file mode 100644 index 0000000000..05d98f2420 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241668_D05730.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_D06D98 +/* D06D98 80241668 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D06D9C 8024166C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* D06DA0 80241670 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* D06DA4 80241674 3C05FE36 */ lui $a1, 0xfe36 +/* D06DA8 80241678 AFBF0010 */ sw $ra, 0x10($sp) +/* D06DAC 8024167C 80460075 */ lb $a2, 0x75($v0) +/* D06DB0 80241680 0C0B2026 */ jal set_variable +/* D06DB4 80241684 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D06DB8 80241688 8FBF0010 */ lw $ra, 0x10($sp) +/* D06DBC 8024168C 24020002 */ addiu $v0, $zero, 2 +/* D06DC0 80241690 03E00008 */ jr $ra +/* D06DC4 80241694 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241698.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241698.s new file mode 100644 index 0000000000..f05b833230 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241698.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241698 +/* D06DC8 80241698 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06DCC 8024169C AFB10014 */ sw $s1, 0x14($sp) +/* D06DD0 802416A0 0080882D */ daddu $s1, $a0, $zero +/* D06DD4 802416A4 AFBF0018 */ sw $ra, 0x18($sp) +/* D06DD8 802416A8 AFB00010 */ sw $s0, 0x10($sp) +/* D06DDC 802416AC 8E30000C */ lw $s0, 0xc($s1) +/* D06DE0 802416B0 8E050000 */ lw $a1, ($s0) +/* D06DE4 802416B4 0C0B1EAF */ jal get_variable +/* D06DE8 802416B8 26100004 */ addiu $s0, $s0, 4 +/* D06DEC 802416BC 0220202D */ daddu $a0, $s1, $zero +/* D06DF0 802416C0 8E050000 */ lw $a1, ($s0) +/* D06DF4 802416C4 0C0B210B */ jal get_float_variable +/* D06DF8 802416C8 0040802D */ daddu $s0, $v0, $zero +/* D06DFC 802416CC 24020002 */ addiu $v0, $zero, 2 +/* D06E00 802416D0 00501804 */ sllv $v1, $s0, $v0 +/* D06E04 802416D4 00701821 */ addu $v1, $v1, $s0 +/* D06E08 802416D8 00431804 */ sllv $v1, $v1, $v0 +/* D06E0C 802416DC 00701823 */ subu $v1, $v1, $s0 +/* D06E10 802416E0 000320C0 */ sll $a0, $v1, 3 +/* D06E14 802416E4 00641821 */ addu $v1, $v1, $a0 +/* D06E18 802416E8 000318C0 */ sll $v1, $v1, 3 +/* D06E1C 802416EC 3C01800B */ lui $at, 0x800b +/* D06E20 802416F0 00230821 */ addu $at, $at, $v1 +/* D06E24 802416F4 E4201D98 */ swc1 $f0, 0x1d98($at) +/* D06E28 802416F8 8FBF0018 */ lw $ra, 0x18($sp) +/* D06E2C 802416FC 8FB10014 */ lw $s1, 0x14($sp) +/* D06E30 80241700 8FB00010 */ lw $s0, 0x10($sp) +/* D06E34 80241704 03E00008 */ jr $ra +/* D06E38 80241708 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_8024170C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_8024170C_D05730.s new file mode 100644 index 0000000000..ec1da9607d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_8024170C_D05730.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024170C_D06E3C +/* D06E3C 8024170C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D06E40 80241710 AFB10014 */ sw $s1, 0x14($sp) +/* D06E44 80241714 0080882D */ daddu $s1, $a0, $zero +/* D06E48 80241718 AFBF0018 */ sw $ra, 0x18($sp) +/* D06E4C 8024171C AFB00010 */ sw $s0, 0x10($sp) +/* D06E50 80241720 8E30000C */ lw $s0, 0xc($s1) +/* D06E54 80241724 8E050000 */ lw $a1, ($s0) +/* D06E58 80241728 0C0B1EAF */ jal get_variable +/* D06E5C 8024172C 26100004 */ addiu $s0, $s0, 4 +/* D06E60 80241730 00021880 */ sll $v1, $v0, 2 +/* D06E64 80241734 00621821 */ addu $v1, $v1, $v0 +/* D06E68 80241738 00031880 */ sll $v1, $v1, 2 +/* D06E6C 8024173C 00621823 */ subu $v1, $v1, $v0 +/* D06E70 80241740 000310C0 */ sll $v0, $v1, 3 +/* D06E74 80241744 00621821 */ addu $v1, $v1, $v0 +/* D06E78 80241748 000318C0 */ sll $v1, $v1, 3 +/* D06E7C 8024174C 3C01800B */ lui $at, 0x800b +/* D06E80 80241750 00230821 */ addu $at, $at, $v1 +/* D06E84 80241754 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* D06E88 80241758 3C014480 */ lui $at, 0x4480 +/* D06E8C 8024175C 44810000 */ mtc1 $at, $f0 +/* D06E90 80241760 00000000 */ nop +/* D06E94 80241764 46001082 */ mul.s $f2, $f2, $f0 +/* D06E98 80241768 00000000 */ nop +/* D06E9C 8024176C 3C01CD5B */ lui $at, 0xcd5b +/* D06EA0 80241770 34215858 */ ori $at, $at, 0x5858 +/* D06EA4 80241774 44810000 */ mtc1 $at, $f0 +/* D06EA8 80241778 00000000 */ nop +/* D06EAC 8024177C 46001080 */ add.s $f2, $f2, $f0 +/* D06EB0 80241780 8E050000 */ lw $a1, ($s0) +/* D06EB4 80241784 4600110D */ trunc.w.s $f4, $f2 +/* D06EB8 80241788 44062000 */ mfc1 $a2, $f4 +/* D06EBC 8024178C 0C0B2026 */ jal set_variable +/* D06EC0 80241790 0220202D */ daddu $a0, $s1, $zero +/* D06EC4 80241794 8FBF0018 */ lw $ra, 0x18($sp) +/* D06EC8 80241798 8FB10014 */ lw $s1, 0x14($sp) +/* D06ECC 8024179C 8FB00010 */ lw $s0, 0x10($sp) +/* D06ED0 802417A0 24020002 */ addiu $v0, $zero, 2 +/* D06ED4 802417A4 03E00008 */ jr $ra +/* D06ED8 802417A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802417AC_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802417AC_D05730.s new file mode 100644 index 0000000000..26ee6de3ae --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802417AC_D05730.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417AC_D06EDC +/* D06EDC 802417AC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D06EE0 802417B0 AFB20018 */ sw $s2, 0x18($sp) +/* D06EE4 802417B4 0080902D */ daddu $s2, $a0, $zero +/* D06EE8 802417B8 AFBF0030 */ sw $ra, 0x30($sp) +/* D06EEC 802417BC AFB7002C */ sw $s7, 0x2c($sp) +/* D06EF0 802417C0 AFB60028 */ sw $s6, 0x28($sp) +/* D06EF4 802417C4 AFB50024 */ sw $s5, 0x24($sp) +/* D06EF8 802417C8 AFB40020 */ sw $s4, 0x20($sp) +/* D06EFC 802417CC AFB3001C */ sw $s3, 0x1c($sp) +/* D06F00 802417D0 AFB10014 */ sw $s1, 0x14($sp) +/* D06F04 802417D4 AFB00010 */ sw $s0, 0x10($sp) +/* D06F08 802417D8 F7B60040 */ sdc1 $f22, 0x40($sp) +/* D06F0C 802417DC F7B40038 */ sdc1 $f20, 0x38($sp) +/* D06F10 802417E0 8E50000C */ lw $s0, 0xc($s2) +/* D06F14 802417E4 8E050000 */ lw $a1, ($s0) +/* D06F18 802417E8 0C0B1EAF */ jal get_variable +/* D06F1C 802417EC 26100004 */ addiu $s0, $s0, 4 +/* D06F20 802417F0 8E050000 */ lw $a1, ($s0) +/* D06F24 802417F4 26100004 */ addiu $s0, $s0, 4 +/* D06F28 802417F8 0240202D */ daddu $a0, $s2, $zero +/* D06F2C 802417FC 0C0B1EAF */ jal get_variable +/* D06F30 80241800 0040B82D */ daddu $s7, $v0, $zero +/* D06F34 80241804 8E050000 */ lw $a1, ($s0) +/* D06F38 80241808 26100004 */ addiu $s0, $s0, 4 +/* D06F3C 8024180C 0240202D */ daddu $a0, $s2, $zero +/* D06F40 80241810 0C0B1EAF */ jal get_variable +/* D06F44 80241814 0040B02D */ daddu $s6, $v0, $zero +/* D06F48 80241818 0240202D */ daddu $a0, $s2, $zero +/* D06F4C 8024181C 3C05F4AC */ lui $a1, 0xf4ac +/* D06F50 80241820 34A5D481 */ ori $a1, $a1, 0xd481 +/* D06F54 80241824 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* D06F58 80241828 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* D06F5C 8024182C 8E140000 */ lw $s4, ($s0) +/* D06F60 80241830 00061880 */ sll $v1, $a2, 2 +/* D06F64 80241834 00661821 */ addu $v1, $v1, $a2 +/* D06F68 80241838 00031880 */ sll $v1, $v1, 2 +/* D06F6C 8024183C 00661823 */ subu $v1, $v1, $a2 +/* D06F70 80241840 000330C0 */ sll $a2, $v1, 3 +/* D06F74 80241844 00661821 */ addu $v1, $v1, $a2 +/* D06F78 80241848 000318C0 */ sll $v1, $v1, 3 +/* D06F7C 8024184C 3C01800B */ lui $at, 0x800b +/* D06F80 80241850 00230821 */ addu $at, $at, $v1 +/* D06F84 80241854 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D06F88 80241858 8E150004 */ lw $s5, 4($s0) +/* D06F8C 8024185C 4600010D */ trunc.w.s $f4, $f0 +/* D06F90 80241860 44112000 */ mfc1 $s1, $f4 +/* D06F94 80241864 0C0B1EAF */ jal get_variable +/* D06F98 80241868 0040982D */ daddu $s3, $v0, $zero +/* D06F9C 8024186C 4491B000 */ mtc1 $s1, $f22 +/* D06FA0 80241870 00000000 */ nop +/* D06FA4 80241874 4680B5A0 */ cvt.s.w $f22, $f22 +/* D06FA8 80241878 4600B306 */ mov.s $f12, $f22 +/* D06FAC 8024187C 0C00A8D4 */ jal cos_deg +/* D06FB0 80241880 0040802D */ daddu $s0, $v0, $zero +/* D06FB4 80241884 4493A000 */ mtc1 $s3, $f20 +/* D06FB8 80241888 00000000 */ nop +/* D06FBC 8024188C 4680A520 */ cvt.s.w $f20, $f20 +/* D06FC0 80241890 4600A002 */ mul.s $f0, $f20, $f0 +/* D06FC4 80241894 00000000 */ nop +/* D06FC8 80241898 0240202D */ daddu $a0, $s2, $zero +/* D06FCC 8024189C 44901000 */ mtc1 $s0, $f2 +/* D06FD0 802418A0 00000000 */ nop +/* D06FD4 802418A4 468010A0 */ cvt.s.w $f2, $f2 +/* D06FD8 802418A8 46001081 */ sub.s $f2, $f2, $f0 +/* D06FDC 802418AC 3C05F4AC */ lui $a1, 0xf4ac +/* D06FE0 802418B0 4600110D */ trunc.w.s $f4, $f2 +/* D06FE4 802418B4 44102000 */ mfc1 $s0, $f4 +/* D06FE8 802418B8 0C0B1EAF */ jal get_variable +/* D06FEC 802418BC 34A5D483 */ ori $a1, $a1, 0xd483 +/* D06FF0 802418C0 4600B306 */ mov.s $f12, $f22 +/* D06FF4 802418C4 0C00A8BB */ jal sin_deg +/* D06FF8 802418C8 0040882D */ daddu $s1, $v0, $zero +/* D06FFC 802418CC 4600A502 */ mul.s $f20, $f20, $f0 +/* D07000 802418D0 00000000 */ nop +/* D07004 802418D4 0240202D */ daddu $a0, $s2, $zero +/* D07008 802418D8 44910000 */ mtc1 $s1, $f0 +/* D0700C 802418DC 00000000 */ nop +/* D07010 802418E0 46800020 */ cvt.s.w $f0, $f0 +/* D07014 802418E4 46140001 */ sub.s $f0, $f0, $f20 +/* D07018 802418E8 0280282D */ daddu $a1, $s4, $zero +/* D0701C 802418EC 02173023 */ subu $a2, $s0, $s7 +/* D07020 802418F0 4600010D */ trunc.w.s $f4, $f0 +/* D07024 802418F4 44102000 */ mfc1 $s0, $f4 +/* D07028 802418F8 0C0B2026 */ jal set_variable +/* D0702C 802418FC 02168023 */ subu $s0, $s0, $s6 +/* D07030 80241900 0240202D */ daddu $a0, $s2, $zero +/* D07034 80241904 02A0282D */ daddu $a1, $s5, $zero +/* D07038 80241908 0C0B2026 */ jal set_variable +/* D0703C 8024190C 0200302D */ daddu $a2, $s0, $zero +/* D07040 80241910 8FBF0030 */ lw $ra, 0x30($sp) +/* D07044 80241914 8FB7002C */ lw $s7, 0x2c($sp) +/* D07048 80241918 8FB60028 */ lw $s6, 0x28($sp) +/* D0704C 8024191C 8FB50024 */ lw $s5, 0x24($sp) +/* D07050 80241920 8FB40020 */ lw $s4, 0x20($sp) +/* D07054 80241924 8FB3001C */ lw $s3, 0x1c($sp) +/* D07058 80241928 8FB20018 */ lw $s2, 0x18($sp) +/* D0705C 8024192C 8FB10014 */ lw $s1, 0x14($sp) +/* D07060 80241930 8FB00010 */ lw $s0, 0x10($sp) +/* D07064 80241934 D7B60040 */ ldc1 $f22, 0x40($sp) +/* D07068 80241938 D7B40038 */ ldc1 $f20, 0x38($sp) +/* D0706C 8024193C 24020002 */ addiu $v0, $zero, 2 +/* D07070 80241940 03E00008 */ jr $ra +/* D07074 80241944 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241948_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241948_D05730.s new file mode 100644 index 0000000000..82bc1f8e14 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241948_D05730.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241948_D07078 +/* D07078 80241948 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D0707C 8024194C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D07080 80241950 10A00002 */ beqz $a1, .L8024195C +/* D07084 80241954 2402003C */ addiu $v0, $zero, 0x3c +/* D07088 80241958 AC820070 */ sw $v0, 0x70($a0) +.L8024195C: +/* D0708C 8024195C C4620080 */ lwc1 $f2, 0x80($v1) +/* D07090 80241960 3C0141F0 */ lui $at, 0x41f0 +/* D07094 80241964 44810000 */ mtc1 $at, $f0 +/* D07098 80241968 00000000 */ nop +/* D0709C 8024196C 46001000 */ add.s $f0, $f2, $f0 +/* D070A0 80241970 3C0143B4 */ lui $at, 0x43b4 +/* D070A4 80241974 44811000 */ mtc1 $at, $f2 +/* D070A8 80241978 00000000 */ nop +/* D070AC 8024197C 4600103E */ c.le.s $f2, $f0 +/* D070B0 80241980 00000000 */ nop +/* D070B4 80241984 45000003 */ bc1f .L80241994 +/* D070B8 80241988 E4600080 */ swc1 $f0, 0x80($v1) +/* D070BC 8024198C 46020001 */ sub.s $f0, $f0, $f2 +/* D070C0 80241990 E4600080 */ swc1 $f0, 0x80($v1) +.L80241994: +/* D070C4 80241994 8C820070 */ lw $v0, 0x70($a0) +/* D070C8 80241998 2442FFFF */ addiu $v0, $v0, -1 +/* D070CC 8024199C AC820070 */ sw $v0, 0x70($a0) +/* D070D0 802419A0 000217C3 */ sra $v0, $v0, 0x1f +/* D070D4 802419A4 03E00008 */ jr $ra +/* D070D8 802419A8 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_802419AC_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_802419AC_D05730.s new file mode 100644 index 0000000000..d6e0afad60 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_802419AC_D05730.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419AC_D070DC +/* D070DC 802419AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D070E0 802419B0 AFB10014 */ sw $s1, 0x14($sp) +/* D070E4 802419B4 0080882D */ daddu $s1, $a0, $zero +/* D070E8 802419B8 AFB00010 */ sw $s0, 0x10($sp) +/* D070EC 802419BC 00A0802D */ daddu $s0, $a1, $zero +/* D070F0 802419C0 AFBF0018 */ sw $ra, 0x18($sp) +/* D070F4 802419C4 0C00EABB */ jal get_npc_unsafe +/* D070F8 802419C8 2404FFFC */ addiu $a0, $zero, -4 +/* D070FC 802419CC 12000003 */ beqz $s0, .L802419DC +/* D07100 802419D0 0040182D */ daddu $v1, $v0, $zero +/* D07104 802419D4 2402003C */ addiu $v0, $zero, 0x3c +/* D07108 802419D8 AE220070 */ sw $v0, 0x70($s1) +.L802419DC: +/* D0710C 802419DC C462000C */ lwc1 $f2, 0xc($v1) +/* D07110 802419E0 3C0141F0 */ lui $at, 0x41f0 +/* D07114 802419E4 44810000 */ mtc1 $at, $f0 +/* D07118 802419E8 00000000 */ nop +/* D0711C 802419EC 46001000 */ add.s $f0, $f2, $f0 +/* D07120 802419F0 3C0143B4 */ lui $at, 0x43b4 +/* D07124 802419F4 44811000 */ mtc1 $at, $f2 +/* D07128 802419F8 00000000 */ nop +/* D0712C 802419FC 4600103E */ c.le.s $f2, $f0 +/* D07130 80241A00 00000000 */ nop +/* D07134 80241A04 45000003 */ bc1f .L80241A14 +/* D07138 80241A08 E460000C */ swc1 $f0, 0xc($v1) +/* D0713C 80241A0C 46020001 */ sub.s $f0, $f0, $f2 +/* D07140 80241A10 E460000C */ swc1 $f0, 0xc($v1) +.L80241A14: +/* D07144 80241A14 8E230070 */ lw $v1, 0x70($s1) +/* D07148 80241A18 2463FFFF */ addiu $v1, $v1, -1 +/* D0714C 80241A1C 000317C3 */ sra $v0, $v1, 0x1f +/* D07150 80241A20 AE230070 */ sw $v1, 0x70($s1) +/* D07154 80241A24 8FBF0018 */ lw $ra, 0x18($sp) +/* D07158 80241A28 8FB10014 */ lw $s1, 0x14($sp) +/* D0715C 80241A2C 8FB00010 */ lw $s0, 0x10($sp) +/* D07160 80241A30 30420002 */ andi $v0, $v0, 2 +/* D07164 80241A34 03E00008 */ jr $ra +/* D07168 80241A38 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241A3C_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241A3C_D05730.s new file mode 100644 index 0000000000..60094ee900 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241A3C_D05730.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A3C_D0716C +/* D0716C 80241A3C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D07170 80241A40 AFB10014 */ sw $s1, 0x14($sp) +/* D07174 80241A44 0080882D */ daddu $s1, $a0, $zero +/* D07178 80241A48 AFB00010 */ sw $s0, 0x10($sp) +/* D0717C 80241A4C 00A0802D */ daddu $s0, $a1, $zero +/* D07180 80241A50 AFBF001C */ sw $ra, 0x1c($sp) +/* D07184 80241A54 AFB20018 */ sw $s2, 0x18($sp) +/* D07188 80241A58 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D0718C 80241A5C 0C00EABB */ jal get_npc_unsafe +/* D07190 80241A60 2404FFFC */ addiu $a0, $zero, -4 +/* D07194 80241A64 12000017 */ beqz $s0, .L80241AC4 +/* D07198 80241A68 0040902D */ daddu $s2, $v0, $zero +/* D0719C 80241A6C 0220202D */ daddu $a0, $s1, $zero +/* D071A0 80241A70 3C05FE36 */ lui $a1, 0xfe36 +/* D071A4 80241A74 0C0B210B */ jal get_float_variable +/* D071A8 80241A78 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D071AC 80241A7C 0220202D */ daddu $a0, $s1, $zero +/* D071B0 80241A80 3C05FE36 */ lui $a1, 0xfe36 +/* D071B4 80241A84 3C014270 */ lui $at, 0x4270 +/* D071B8 80241A88 4481A000 */ mtc1 $at, $f20 +/* D071BC 80241A8C 34A53C85 */ ori $a1, $a1, 0x3c85 +/* D071C0 80241A90 46140003 */ div.s $f0, $f0, $f20 +/* D071C4 80241A94 0C0B210B */ jal get_float_variable +/* D071C8 80241A98 E6200074 */ swc1 $f0, 0x74($s1) +/* D071CC 80241A9C 0220202D */ daddu $a0, $s1, $zero +/* D071D0 80241AA0 3C05FE36 */ lui $a1, 0xfe36 +/* D071D4 80241AA4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D071D8 80241AA8 46140003 */ div.s $f0, $f0, $f20 +/* D071DC 80241AAC 0C0B210B */ jal get_float_variable +/* D071E0 80241AB0 E6200078 */ swc1 $f0, 0x78($s1) +/* D071E4 80241AB4 46140003 */ div.s $f0, $f0, $f20 +/* D071E8 80241AB8 2402003C */ addiu $v0, $zero, 0x3c +/* D071EC 80241ABC E620007C */ swc1 $f0, 0x7c($s1) +/* D071F0 80241AC0 AE220070 */ sw $v0, 0x70($s1) +.L80241AC4: +/* D071F4 80241AC4 C6400038 */ lwc1 $f0, 0x38($s2) +/* D071F8 80241AC8 C6220074 */ lwc1 $f2, 0x74($s1) +/* D071FC 80241ACC 46020000 */ add.s $f0, $f0, $f2 +/* D07200 80241AD0 E6400038 */ swc1 $f0, 0x38($s2) +/* D07204 80241AD4 C640003C */ lwc1 $f0, 0x3c($s2) +/* D07208 80241AD8 C6220078 */ lwc1 $f2, 0x78($s1) +/* D0720C 80241ADC 46020000 */ add.s $f0, $f0, $f2 +/* D07210 80241AE0 E640003C */ swc1 $f0, 0x3c($s2) +/* D07214 80241AE4 C6400040 */ lwc1 $f0, 0x40($s2) +/* D07218 80241AE8 C622007C */ lwc1 $f2, 0x7c($s1) +/* D0721C 80241AEC 46020000 */ add.s $f0, $f0, $f2 +/* D07220 80241AF0 E6400040 */ swc1 $f0, 0x40($s2) +/* D07224 80241AF4 8E230070 */ lw $v1, 0x70($s1) +/* D07228 80241AF8 2463FFFF */ addiu $v1, $v1, -1 +/* D0722C 80241AFC 2C620001 */ sltiu $v0, $v1, 1 +/* D07230 80241B00 AE230070 */ sw $v1, 0x70($s1) +/* D07234 80241B04 8FBF001C */ lw $ra, 0x1c($sp) +/* D07238 80241B08 8FB20018 */ lw $s2, 0x18($sp) +/* D0723C 80241B0C 8FB10014 */ lw $s1, 0x14($sp) +/* D07240 80241B10 8FB00010 */ lw $s0, 0x10($sp) +/* D07244 80241B14 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D07248 80241B18 00021040 */ sll $v0, $v0, 1 +/* D0724C 80241B1C 03E00008 */ jr $ra +/* D07250 80241B20 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241B24.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241B24.s new file mode 100644 index 0000000000..d9c6308083 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241B24.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B24 +/* D07254 80241B24 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D07258 80241B28 3C058025 */ lui $a1, 0x8025 +/* D0725C 80241B2C 8CA5B9A8 */ lw $a1, -0x4658($a1) +/* D07260 80241B30 AFBF0010 */ sw $ra, 0x10($sp) +/* D07264 80241B34 0C0B1EAF */ jal get_variable +/* D07268 80241B38 0000202D */ daddu $a0, $zero, $zero +/* D0726C 80241B3C 0040182D */ daddu $v1, $v0, $zero +/* D07270 80241B40 24020001 */ addiu $v0, $zero, 1 +/* D07274 80241B44 14620006 */ bne $v1, $v0, .L80241B60 +/* D07278 80241B48 24020002 */ addiu $v0, $zero, 2 +/* D0727C 80241B4C 44800000 */ mtc1 $zero, $f0 +/* D07280 80241B50 00000000 */ nop +/* D07284 80241B54 44050000 */ mfc1 $a1, $f0 +/* D07288 80241B58 080906DE */ j .L80241B78 +/* D0728C 80241B5C 0000202D */ daddu $a0, $zero, $zero +.L80241B60: +/* D07290 80241B60 14620008 */ bne $v1, $v0, .L80241B84 +/* D07294 80241B64 24040001 */ addiu $a0, $zero, 1 +/* D07298 80241B68 44800000 */ mtc1 $zero, $f0 +/* D0729C 80241B6C 00000000 */ nop +/* D072A0 80241B70 44050000 */ mfc1 $a1, $f0 +/* D072A4 80241B74 00000000 */ nop +.L80241B78: +/* D072A8 80241B78 00A0302D */ daddu $a2, $a1, $zero +/* D072AC 80241B7C 0C01C5A4 */ jal func_80071690 +/* D072B0 80241B80 00A0382D */ daddu $a3, $a1, $zero +.L80241B84: +/* D072B4 80241B84 8FBF0010 */ lw $ra, 0x10($sp) +/* D072B8 80241B88 03E00008 */ jr $ra +/* D072BC 80241B8C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_02/func_80241B90_D05730.s b/asm/nonmatchings/world/area_sam/sam_02/func_80241B90_D05730.s new file mode 100644 index 0000000000..04b79cc2f6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_02/func_80241B90_D05730.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B90_D072C0 +/* D072C0 80241B90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D072C4 80241B94 3C058024 */ lui $a1, 0x8024 +/* D072C8 80241B98 24A51B24 */ addiu $a1, $a1, 0x1b24 +/* D072CC 80241B9C AFBF0010 */ sw $ra, 0x10($sp) +/* D072D0 80241BA0 0C048C8F */ jal bind_dynamic_entity_7 +/* D072D4 80241BA4 0000202D */ daddu $a0, $zero, $zero +/* D072D8 80241BA8 8FBF0010 */ lw $ra, 0x10($sp) +/* D072DC 80241BAC 3C018025 */ lui $at, 0x8025 +/* D072E0 80241BB0 AC22B990 */ sw $v0, -0x4670($at) +/* D072E4 80241BB4 24020002 */ addiu $v0, $zero, 2 +/* D072E8 80241BB8 03E00008 */ jr $ra +/* D072EC 80241BBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_80240000_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_80240000_D110C0.s new file mode 100644 index 0000000000..0fd6c4fa8b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_80240000_D110C0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D110C0 +/* D110C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D110C4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* D110C8 80240008 0080802D */ daddu $s0, $a0, $zero +/* D110CC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* D110D0 80240010 0C00EABB */ jal get_npc_unsafe +/* D110D4 80240014 0000202D */ daddu $a0, $zero, $zero +/* D110D8 80240018 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D110DC 8024001C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D110E0 80240020 C44C0038 */ lwc1 $f12, 0x38($v0) +/* D110E4 80240024 C44E0040 */ lwc1 $f14, 0x40($v0) +/* D110E8 80240028 8C660028 */ lw $a2, 0x28($v1) +/* D110EC 8024002C 0C00A720 */ jal atan2 +/* D110F0 80240030 8C670030 */ lw $a3, 0x30($v1) +/* D110F4 80240034 4600008D */ trunc.w.s $f2, $f0 +/* D110F8 80240038 E6020084 */ swc1 $f2, 0x84($s0) +/* D110FC 8024003C 8FBF0014 */ lw $ra, 0x14($sp) +/* D11100 80240040 8FB00010 */ lw $s0, 0x10($sp) +/* D11104 80240044 24020002 */ addiu $v0, $zero, 2 +/* D11108 80240048 03E00008 */ jr $ra +/* D1110C 8024004C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_80240050_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_80240050_D110C0.s new file mode 100644 index 0000000000..1437f7576d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_80240050_D110C0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_D11110 +/* D11110 80240050 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D11114 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* D11118 80240058 0080882D */ daddu $s1, $a0, $zero +/* D1111C 8024005C AFBF0018 */ sw $ra, 0x18($sp) +/* D11120 80240060 AFB00010 */ sw $s0, 0x10($sp) +/* D11124 80240064 8E300148 */ lw $s0, 0x148($s1) +/* D11128 80240068 0C00EABB */ jal get_npc_unsafe +/* D1112C 8024006C 86040008 */ lh $a0, 8($s0) +/* D11130 80240070 24030001 */ addiu $v1, $zero, 1 +/* D11134 80240074 0040202D */ daddu $a0, $v0, $zero +/* D11138 80240078 AE03006C */ sw $v1, 0x6c($s0) +/* D1113C 8024007C 8482008C */ lh $v0, 0x8c($a0) +/* D11140 80240080 14400009 */ bnez $v0, .L802400A8 +/* D11144 80240084 24020002 */ addiu $v0, $zero, 2 +/* D11148 80240088 96030072 */ lhu $v1, 0x72($s0) +/* D1114C 8024008C AE02006C */ sw $v0, 0x6c($s0) +/* D11150 80240090 A483008E */ sh $v1, 0x8e($a0) +/* D11154 80240094 8E0200CC */ lw $v0, 0xcc($s0) +/* D11158 80240098 8C420020 */ lw $v0, 0x20($v0) +/* D1115C 8024009C AC820028 */ sw $v0, 0x28($a0) +/* D11160 802400A0 2402001F */ addiu $v0, $zero, 0x1f +/* D11164 802400A4 AE220070 */ sw $v0, 0x70($s1) +.L802400A8: +/* D11168 802400A8 8FBF0018 */ lw $ra, 0x18($sp) +/* D1116C 802400AC 8FB10014 */ lw $s1, 0x14($sp) +/* D11170 802400B0 8FB00010 */ lw $s0, 0x10($sp) +/* D11174 802400B4 03E00008 */ jr $ra +/* D11178 802400B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_802400BC_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_802400BC_D110C0.s new file mode 100644 index 0000000000..3ebdb78f6a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_802400BC_D110C0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC_D1117C +/* D1117C 802400BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D11180 802400C0 AFB10014 */ sw $s1, 0x14($sp) +/* D11184 802400C4 0080882D */ daddu $s1, $a0, $zero +/* D11188 802400C8 AFBF0018 */ sw $ra, 0x18($sp) +/* D1118C 802400CC AFB00010 */ sw $s0, 0x10($sp) +/* D11190 802400D0 8E300148 */ lw $s0, 0x148($s1) +/* D11194 802400D4 0C00EABB */ jal get_npc_unsafe +/* D11198 802400D8 86040008 */ lh $a0, 8($s0) +/* D1119C 802400DC 0040202D */ daddu $a0, $v0, $zero +/* D111A0 802400E0 9482008E */ lhu $v0, 0x8e($a0) +/* D111A4 802400E4 2442FFFF */ addiu $v0, $v0, -1 +/* D111A8 802400E8 A482008E */ sh $v0, 0x8e($a0) +/* D111AC 802400EC 00021400 */ sll $v0, $v0, 0x10 +/* D111B0 802400F0 1C400009 */ bgtz $v0, .L80240118 +/* D111B4 802400F4 24020003 */ addiu $v0, $zero, 3 +/* D111B8 802400F8 96030076 */ lhu $v1, 0x76($s0) +/* D111BC 802400FC AE02006C */ sw $v0, 0x6c($s0) +/* D111C0 80240100 A483008E */ sh $v1, 0x8e($a0) +/* D111C4 80240104 8E0200CC */ lw $v0, 0xcc($s0) +/* D111C8 80240108 8C420024 */ lw $v0, 0x24($v0) +/* D111CC 8024010C AC820028 */ sw $v0, 0x28($a0) +/* D111D0 80240110 24020020 */ addiu $v0, $zero, 0x20 +/* D111D4 80240114 AE220070 */ sw $v0, 0x70($s1) +.L80240118: +/* D111D8 80240118 8FBF0018 */ lw $ra, 0x18($sp) +/* D111DC 8024011C 8FB10014 */ lw $s1, 0x14($sp) +/* D111E0 80240120 8FB00010 */ lw $s0, 0x10($sp) +/* D111E4 80240124 03E00008 */ jr $ra +/* D111E8 80240128 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_8024012C.s b/asm/nonmatchings/world/area_sam/sam_03/func_8024012C.s new file mode 100644 index 0000000000..ffdc768b4e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_8024012C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024012C +/* D111EC 8024012C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D111F0 80240130 AFB10034 */ sw $s1, 0x34($sp) +/* D111F4 80240134 0080882D */ daddu $s1, $a0, $zero +/* D111F8 80240138 AFBF0038 */ sw $ra, 0x38($sp) +/* D111FC 8024013C AFB00030 */ sw $s0, 0x30($sp) +/* D11200 80240140 8E300148 */ lw $s0, 0x148($s1) +/* D11204 80240144 0C00EABB */ jal get_npc_unsafe +/* D11208 80240148 86040008 */ lh $a0, 8($s0) +/* D1120C 8024014C 0040282D */ daddu $a1, $v0, $zero +/* D11210 80240150 94A2008E */ lhu $v0, 0x8e($a1) +/* D11214 80240154 2442FFFF */ addiu $v0, $v0, -1 +/* D11218 80240158 A4A2008E */ sh $v0, 0x8e($a1) +/* D1121C 8024015C 00021400 */ sll $v0, $v0, 0x10 +/* D11220 80240160 1C400023 */ bgtz $v0, .L802401F0 +/* D11224 80240164 24020004 */ addiu $v0, $zero, 4 +/* D11228 80240168 8E0300CC */ lw $v1, 0xcc($s0) +/* D1122C 8024016C AE02006C */ sw $v0, 0x6c($s0) +/* D11230 80240170 8C620000 */ lw $v0, ($v1) +/* D11234 80240174 ACA20028 */ sw $v0, 0x28($a1) +/* D11238 80240178 9602007A */ lhu $v0, 0x7a($s0) +/* D1123C 8024017C A4A2008E */ sh $v0, 0x8e($a1) +/* D11240 80240180 8E020078 */ lw $v0, 0x78($s0) +/* D11244 80240184 28420008 */ slti $v0, $v0, 8 +/* D11248 80240188 14400018 */ bnez $v0, .L802401EC +/* D1124C 8024018C 24020021 */ addiu $v0, $zero, 0x21 +/* D11250 80240190 24040003 */ addiu $a0, $zero, 3 +/* D11254 80240194 27A30028 */ addiu $v1, $sp, 0x28 +/* D11258 80240198 84A700A8 */ lh $a3, 0xa8($a1) +/* D1125C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* D11260 802401A0 44810000 */ mtc1 $at, $f0 +/* D11264 802401A4 3C014000 */ lui $at, 0x4000 +/* D11268 802401A8 44811000 */ mtc1 $at, $f2 +/* D1126C 802401AC 3C01C1A0 */ lui $at, 0xc1a0 +/* D11270 802401B0 44812000 */ mtc1 $at, $f4 +/* D11274 802401B4 44873000 */ mtc1 $a3, $f6 +/* D11278 802401B8 00000000 */ nop +/* D1127C 802401BC 468031A0 */ cvt.s.w $f6, $f6 +/* D11280 802401C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D11284 802401C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D11288 802401C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* D1128C 802401CC 8E020078 */ lw $v0, 0x78($s0) +/* D11290 802401D0 44073000 */ mfc1 $a3, $f6 +/* D11294 802401D4 0000302D */ daddu $a2, $zero, $zero +/* D11298 802401D8 AFA30020 */ sw $v1, 0x20($sp) +/* D1129C 802401DC 2442FFFF */ addiu $v0, $v0, -1 +/* D112A0 802401E0 0C01BFA4 */ jal fx_emote +/* D112A4 802401E4 AFA2001C */ sw $v0, 0x1c($sp) +/* D112A8 802401E8 24020021 */ addiu $v0, $zero, 0x21 +.L802401EC: +/* D112AC 802401EC AE220070 */ sw $v0, 0x70($s1) +.L802401F0: +/* D112B0 802401F0 8FBF0038 */ lw $ra, 0x38($sp) +/* D112B4 802401F4 8FB10034 */ lw $s1, 0x34($sp) +/* D112B8 802401F8 8FB00030 */ lw $s0, 0x30($sp) +/* D112BC 802401FC 03E00008 */ jr $ra +/* D112C0 80240200 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_80240204_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_80240204_D110C0.s new file mode 100644 index 0000000000..610e5cb35c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_80240204_D110C0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240204_D112C4 +/* D112C4 80240204 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D112C8 80240208 AFB10014 */ sw $s1, 0x14($sp) +/* D112CC 8024020C 0080882D */ daddu $s1, $a0, $zero +/* D112D0 80240210 AFBF0018 */ sw $ra, 0x18($sp) +/* D112D4 80240214 AFB00010 */ sw $s0, 0x10($sp) +/* D112D8 80240218 8E300148 */ lw $s0, 0x148($s1) +/* D112DC 8024021C 0C00EABB */ jal get_npc_unsafe +/* D112E0 80240220 86040008 */ lh $a0, 8($s0) +/* D112E4 80240224 9443008E */ lhu $v1, 0x8e($v0) +/* D112E8 80240228 2463FFFF */ addiu $v1, $v1, -1 +/* D112EC 8024022C A443008E */ sh $v1, 0x8e($v0) +/* D112F0 80240230 00031C00 */ sll $v1, $v1, 0x10 +/* D112F4 80240234 1C600003 */ bgtz $v1, .L80240244 +/* D112F8 80240238 2402000C */ addiu $v0, $zero, 0xc +/* D112FC 8024023C AE00006C */ sw $zero, 0x6c($s0) +/* D11300 80240240 AE220070 */ sw $v0, 0x70($s1) +.L80240244: +/* D11304 80240244 8FBF0018 */ lw $ra, 0x18($sp) +/* D11308 80240248 8FB10014 */ lw $s1, 0x14($sp) +/* D1130C 8024024C 8FB00010 */ lw $s0, 0x10($sp) +/* D11310 80240250 03E00008 */ jr $ra +/* D11314 80240254 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_80240258.s b/asm/nonmatchings/world/area_sam/sam_03/func_80240258.s new file mode 100644 index 0000000000..510c62935f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_80240258.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240258 +/* D11318 80240258 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D1131C 8024025C AFBF0024 */ sw $ra, 0x24($sp) +/* D11320 80240260 AFB40020 */ sw $s4, 0x20($sp) +/* D11324 80240264 AFB3001C */ sw $s3, 0x1c($sp) +/* D11328 80240268 AFB20018 */ sw $s2, 0x18($sp) +/* D1132C 8024026C AFB10014 */ sw $s1, 0x14($sp) +/* D11330 80240270 AFB00010 */ sw $s0, 0x10($sp) +/* D11334 80240274 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D11338 80240278 8C900148 */ lw $s0, 0x148($a0) +/* D1133C 8024027C 86040008 */ lh $a0, 8($s0) +/* D11340 80240280 0C00EABB */ jal get_npc_unsafe +/* D11344 80240284 24110001 */ addiu $s1, $zero, 1 +/* D11348 80240288 86040008 */ lh $a0, 8($s0) +/* D1134C 8024028C 0040802D */ daddu $s0, $v0, $zero +/* D11350 80240290 3C05800B */ lui $a1, %hi(gCameras) +/* D11354 80240294 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D11358 80240298 3C03800A */ lui $v1, 0x800a +/* D1135C 8024029C 8463A634 */ lh $v1, -0x59cc($v1) +/* D11360 802402A0 00912021 */ addu $a0, $a0, $s1 +/* D11364 802402A4 00031080 */ sll $v0, $v1, 2 +/* D11368 802402A8 00431021 */ addu $v0, $v0, $v1 +/* D1136C 802402AC 00021080 */ sll $v0, $v0, 2 +/* D11370 802402B0 00431023 */ subu $v0, $v0, $v1 +/* D11374 802402B4 000218C0 */ sll $v1, $v0, 3 +/* D11378 802402B8 00431021 */ addu $v0, $v0, $v1 +/* D1137C 802402BC 000210C0 */ sll $v0, $v0, 3 +/* D11380 802402C0 0C00FB3A */ jal get_enemy +/* D11384 802402C4 00459021 */ addu $s2, $v0, $a1 +/* D11388 802402C8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D1138C 802402CC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D11390 802402D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D11394 802402D4 8E830000 */ lw $v1, ($s4) +/* D11398 802402D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D1139C 802402DC 8C660028 */ lw $a2, 0x28($v1) +/* D113A0 802402E0 8C670030 */ lw $a3, 0x30($v1) +/* D113A4 802402E4 0C00A7B5 */ jal dist2D +/* D113A8 802402E8 0040982D */ daddu $s3, $v0, $zero +/* D113AC 802402EC C6620074 */ lwc1 $f2, 0x74($s3) +/* D113B0 802402F0 468010A0 */ cvt.s.w $f2, $f2 +/* D113B4 802402F4 4600103C */ c.lt.s $f2, $f0 +/* D113B8 802402F8 00000000 */ nop +/* D113BC 802402FC 45030001 */ bc1tl .L80240304 +/* D113C0 80240300 0000882D */ daddu $s1, $zero, $zero +.L80240304: +/* D113C4 80240304 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D113C8 80240308 C60E000C */ lwc1 $f14, 0xc($s0) +/* D113CC 8024030C 3C014387 */ lui $at, 0x4387 +/* D113D0 80240310 4481A000 */ mtc1 $at, $f20 +/* D113D4 80240314 0C00A70A */ jal get_clamped_angle_diff +/* D113D8 80240318 00000000 */ nop +/* D113DC 8024031C 0C00A6C9 */ jal clamp_angle +/* D113E0 80240320 46000306 */ mov.s $f12, $f0 +/* D113E4 80240324 3C018024 */ lui $at, 0x8024 +/* D113E8 80240328 D4222370 */ ldc1 $f2, 0x2370($at) +/* D113EC 8024032C 46000021 */ cvt.d.s $f0, $f0 +/* D113F0 80240330 4622003C */ c.lt.d $f0, $f2 +/* D113F4 80240334 00000000 */ nop +/* D113F8 80240338 45000003 */ bc1f .L80240348 +/* D113FC 8024033C 00000000 */ nop +/* D11400 80240340 3C0142B4 */ lui $at, 0x42b4 +/* D11404 80240344 4481A000 */ mtc1 $at, $f20 +.L80240348: +/* D11408 80240348 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D1140C 8024034C 8E820000 */ lw $v0, ($s4) +/* D11410 80240350 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D11414 80240354 8C460028 */ lw $a2, 0x28($v0) +/* D11418 80240358 0C00A720 */ jal atan2 +/* D1141C 8024035C 8C470030 */ lw $a3, 0x30($v0) +/* D11420 80240360 4600A306 */ mov.s $f12, $f20 +/* D11424 80240364 0C00A70A */ jal get_clamped_angle_diff +/* D11428 80240368 46000386 */ mov.s $f14, $f0 +/* D1142C 8024036C C6620078 */ lwc1 $f2, 0x78($s3) +/* D11430 80240370 468010A0 */ cvt.s.w $f2, $f2 +/* D11434 80240374 46000005 */ abs.s $f0, $f0 +/* D11438 80240378 4600103C */ c.lt.s $f2, $f0 +/* D1143C 8024037C 00000000 */ nop +/* D11440 80240380 45030001 */ bc1tl .L80240388 +/* D11444 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* D11448 80240388 8E820000 */ lw $v0, ($s4) +/* D1144C 8024038C C600003C */ lwc1 $f0, 0x3c($s0) +/* D11450 80240390 C442002C */ lwc1 $f2, 0x2c($v0) +/* D11454 80240394 860200A8 */ lh $v0, 0xa8($s0) +/* D11458 80240398 46020001 */ sub.s $f0, $f0, $f2 +/* D1145C 8024039C 44821000 */ mtc1 $v0, $f2 +/* D11460 802403A0 00000000 */ nop +/* D11464 802403A4 468010A1 */ cvt.d.w $f2, $f2 +/* D11468 802403A8 46221080 */ add.d $f2, $f2, $f2 +/* D1146C 802403AC 46000005 */ abs.s $f0, $f0 +/* D11470 802403B0 46000021 */ cvt.d.s $f0, $f0 +/* D11474 802403B4 4620103E */ c.le.d $f2, $f0 +/* D11478 802403B8 00000000 */ nop +/* D1147C 802403BC 45030001 */ bc1tl .L802403C4 +/* D11480 802403C0 0000882D */ daddu $s1, $zero, $zero +.L802403C4: +/* D11484 802403C4 3C038011 */ lui $v1, 0x8011 +/* D11488 802403C8 8063EBB3 */ lb $v1, -0x144d($v1) +/* D1148C 802403CC 24020009 */ addiu $v0, $zero, 9 +/* D11490 802403D0 50620001 */ beql $v1, $v0, .L802403D8 +/* D11494 802403D4 0000882D */ daddu $s1, $zero, $zero +.L802403D8: +/* D11498 802403D8 24020007 */ addiu $v0, $zero, 7 +/* D1149C 802403DC 50620001 */ beql $v1, $v0, .L802403E4 +/* D114A0 802403E0 0000882D */ daddu $s1, $zero, $zero +.L802403E4: +/* D114A4 802403E4 0220102D */ daddu $v0, $s1, $zero +/* D114A8 802403E8 8FBF0024 */ lw $ra, 0x24($sp) +/* D114AC 802403EC 8FB40020 */ lw $s4, 0x20($sp) +/* D114B0 802403F0 8FB3001C */ lw $s3, 0x1c($sp) +/* D114B4 802403F4 8FB20018 */ lw $s2, 0x18($sp) +/* D114B8 802403F8 8FB10014 */ lw $s1, 0x14($sp) +/* D114BC 802403FC 8FB00010 */ lw $s0, 0x10($sp) +/* D114C0 80240400 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D114C4 80240404 03E00008 */ jr $ra +/* D114C8 80240408 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_8024040C_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_8024040C_D110C0.s new file mode 100644 index 0000000000..d28c35f589 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_8024040C_D110C0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024040C_D114CC +/* D114CC 8024040C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D114D0 80240410 AFB40028 */ sw $s4, 0x28($sp) +/* D114D4 80240414 0080A02D */ daddu $s4, $a0, $zero +/* D114D8 80240418 AFBF002C */ sw $ra, 0x2c($sp) +/* D114DC 8024041C AFB30024 */ sw $s3, 0x24($sp) +/* D114E0 80240420 AFB20020 */ sw $s2, 0x20($sp) +/* D114E4 80240424 AFB1001C */ sw $s1, 0x1c($sp) +/* D114E8 80240428 AFB00018 */ sw $s0, 0x18($sp) +/* D114EC 8024042C 8E910148 */ lw $s1, 0x148($s4) +/* D114F0 80240430 86240008 */ lh $a0, 8($s1) +/* D114F4 80240434 0C00EABB */ jal get_npc_unsafe +/* D114F8 80240438 00A0802D */ daddu $s0, $a1, $zero +/* D114FC 8024043C 16000005 */ bnez $s0, .L80240454 +/* D11500 80240440 0040902D */ daddu $s2, $v0, $zero +/* D11504 80240444 8E2200B0 */ lw $v0, 0xb0($s1) +/* D11508 80240448 30420004 */ andi $v0, $v0, 4 +/* D1150C 8024044C 10400015 */ beqz $v0, .L802404A4 +/* D11510 80240450 00000000 */ nop +.L80240454: +/* D11514 80240454 AE800070 */ sw $zero, 0x70($s4) +/* D11518 80240458 8E420000 */ lw $v0, ($s2) +/* D1151C 8024045C 3C031F30 */ lui $v1, 0x1f30 +/* D11520 80240460 A640008E */ sh $zero, 0x8e($s2) +/* D11524 80240464 34420102 */ ori $v0, $v0, 0x102 +/* D11528 80240468 AE420000 */ sw $v0, ($s2) +/* D1152C 8024046C 8E220000 */ lw $v0, ($s1) +/* D11530 80240470 3C01C47A */ lui $at, 0xc47a +/* D11534 80240474 44810000 */ mtc1 $at, $f0 +/* D11538 80240478 00431025 */ or $v0, $v0, $v1 +/* D1153C 8024047C AE220000 */ sw $v0, ($s1) +/* D11540 80240480 AE400038 */ sw $zero, 0x38($s2) +/* D11544 80240484 E640003C */ swc1 $f0, 0x3c($s2) +/* D11548 80240488 AE400040 */ sw $zero, 0x40($s2) +/* D1154C 8024048C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D11550 80240490 30620004 */ andi $v0, $v1, 4 +/* D11554 80240494 10400003 */ beqz $v0, .L802404A4 +/* D11558 80240498 2402FFFB */ addiu $v0, $zero, -5 +/* D1155C 8024049C 00621024 */ and $v0, $v1, $v0 +/* D11560 802404A0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802404A4: +/* D11564 802404A4 8E930070 */ lw $s3, 0x70($s4) +/* D11568 802404A8 12600005 */ beqz $s3, .L802404C0 +/* D1156C 802404AC 24020001 */ addiu $v0, $zero, 1 +/* D11570 802404B0 12620048 */ beq $s3, $v0, .L802405D4 +/* D11574 802404B4 00000000 */ nop +/* D11578 802404B8 08090192 */ j .L80240648 +/* D1157C 802404BC 00000000 */ nop +.L802404C0: +/* D11580 802404C0 86240008 */ lh $a0, 8($s1) +/* D11584 802404C4 0C00FB3A */ jal get_enemy +/* D11588 802404C8 2484FFFF */ addiu $a0, $a0, -1 +/* D1158C 802404CC 0040802D */ daddu $s0, $v0, $zero +/* D11590 802404D0 0C00EABB */ jal get_npc_unsafe +/* D11594 802404D4 86040008 */ lh $a0, 8($s0) +/* D11598 802404D8 24030001 */ addiu $v1, $zero, 1 +/* D1159C 802404DC 0040982D */ daddu $s3, $v0, $zero +/* D115A0 802404E0 A2230007 */ sb $v1, 7($s1) +/* D115A4 802404E4 8E03006C */ lw $v1, 0x6c($s0) +/* D115A8 802404E8 24020003 */ addiu $v0, $zero, 3 +/* D115AC 802404EC 14620056 */ bne $v1, $v0, .L80240648 +/* D115B0 802404F0 00000000 */ nop +/* D115B4 802404F4 8E2500A8 */ lw $a1, 0xa8($s1) +/* D115B8 802404F8 10A00003 */ beqz $a1, .L80240508 +/* D115BC 802404FC 0260202D */ daddu $a0, $s3, $zero +/* D115C0 80240500 0C012530 */ jal func_800494C0 +/* D115C4 80240504 0000302D */ daddu $a2, $zero, $zero +.L80240508: +/* D115C8 80240508 27A40010 */ addiu $a0, $sp, 0x10 +/* D115CC 8024050C C6280070 */ lwc1 $f8, 0x70($s1) +/* D115D0 80240510 46804220 */ cvt.s.w $f8, $f8 +/* D115D4 80240514 C6620034 */ lwc1 $f2, 0x34($s3) +/* D115D8 80240518 3C014387 */ lui $at, 0x4387 +/* D115DC 8024051C 44810000 */ mtc1 $at, $f0 +/* D115E0 80240520 44064000 */ mfc1 $a2, $f8 +/* D115E4 80240524 46020001 */ sub.s $f0, $f0, $f2 +/* D115E8 80240528 C6660038 */ lwc1 $f6, 0x38($s3) +/* D115EC 8024052C C6640040 */ lwc1 $f4, 0x40($s3) +/* D115F0 80240530 44070000 */ mfc1 $a3, $f0 +/* D115F4 80240534 27A50014 */ addiu $a1, $sp, 0x14 +/* D115F8 80240538 E7A60010 */ swc1 $f6, 0x10($sp) +/* D115FC 8024053C 0C00A7E7 */ jal add_vec2D_polar +/* D11600 80240540 E7A40014 */ swc1 $f4, 0x14($sp) +/* D11604 80240544 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D11608 80240548 4600020D */ trunc.w.s $f8, $f0 +/* D1160C 8024054C 44024000 */ mfc1 $v0, $f8 +/* D11610 80240550 E6400038 */ swc1 $f0, 0x38($s2) +/* D11614 80240554 A6220010 */ sh $v0, 0x10($s1) +/* D11618 80240558 C660003C */ lwc1 $f0, 0x3c($s3) +/* D1161C 8024055C C622006C */ lwc1 $f2, 0x6c($s1) +/* D11620 80240560 468010A0 */ cvt.s.w $f2, $f2 +/* D11624 80240564 46020000 */ add.s $f0, $f0, $f2 +/* D11628 80240568 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D1162C 8024056C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D11630 80240570 E640003C */ swc1 $f0, 0x3c($s2) +/* D11634 80240574 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D11638 80240578 4600020D */ trunc.w.s $f8, $f0 +/* D1163C 8024057C 44024000 */ mfc1 $v0, $f8 +/* D11640 80240580 00000000 */ nop +/* D11644 80240584 A6220012 */ sh $v0, 0x12($s1) +/* D11648 80240588 4600120D */ trunc.w.s $f8, $f2 +/* D1164C 8024058C 44024000 */ mfc1 $v0, $f8 +/* D11650 80240590 E6420040 */ swc1 $f2, 0x40($s2) +/* D11654 80240594 A6220014 */ sh $v0, 0x14($s1) +/* D11658 80240598 8C660028 */ lw $a2, 0x28($v1) +/* D1165C 8024059C 8C670030 */ lw $a3, 0x30($v1) +/* D11660 802405A0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D11664 802405A4 0C00A720 */ jal atan2 +/* D11668 802405A8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D1166C 802405AC 3C03E0EF */ lui $v1, 0xe0ef +/* D11670 802405B0 E640000C */ swc1 $f0, 0xc($s2) +/* D11674 802405B4 8E220000 */ lw $v0, ($s1) +/* D11678 802405B8 3463FFFF */ ori $v1, $v1, 0xffff +/* D1167C 802405BC 00431024 */ and $v0, $v0, $v1 +/* D11680 802405C0 AE220000 */ sw $v0, ($s1) +/* D11684 802405C4 24020001 */ addiu $v0, $zero, 1 +/* D11688 802405C8 A640008E */ sh $zero, 0x8e($s2) +/* D1168C 802405CC 08090192 */ j .L80240648 +/* D11690 802405D0 AE820070 */ sw $v0, 0x70($s4) +.L802405D4: +/* D11694 802405D4 86240008 */ lh $a0, 8($s1) +/* D11698 802405D8 0C00FB3A */ jal get_enemy +/* D1169C 802405DC 2484FFFF */ addiu $a0, $a0, -1 +/* D116A0 802405E0 0040802D */ daddu $s0, $v0, $zero +/* D116A4 802405E4 0C00EABB */ jal get_npc_unsafe +/* D116A8 802405E8 86040008 */ lh $a0, 8($s0) +/* D116AC 802405EC 9642008E */ lhu $v0, 0x8e($s2) +/* D116B0 802405F0 24420001 */ addiu $v0, $v0, 1 +/* D116B4 802405F4 A642008E */ sh $v0, 0x8e($s2) +/* D116B8 802405F8 00021400 */ sll $v0, $v0, 0x10 +/* D116BC 802405FC 8E23007C */ lw $v1, 0x7c($s1) +/* D116C0 80240600 00021403 */ sra $v0, $v0, 0x10 +/* D116C4 80240604 0043102A */ slt $v0, $v0, $v1 +/* D116C8 80240608 50400001 */ beql $v0, $zero, .L80240610 +/* D116CC 8024060C A2200007 */ sb $zero, 7($s1) +.L80240610: +/* D116D0 80240610 8E03006C */ lw $v1, 0x6c($s0) +/* D116D4 80240614 24020004 */ addiu $v0, $zero, 4 +/* D116D8 80240618 1462000B */ bne $v1, $v0, .L80240648 +/* D116DC 8024061C 3C021F10 */ lui $v0, 0x1f10 +/* D116E0 80240620 8E230000 */ lw $v1, ($s1) +/* D116E4 80240624 3C01C47A */ lui $at, 0xc47a +/* D116E8 80240628 44810000 */ mtc1 $at, $f0 +/* D116EC 8024062C 00621825 */ or $v1, $v1, $v0 +/* D116F0 80240630 AE230000 */ sw $v1, ($s1) +/* D116F4 80240634 AE400038 */ sw $zero, 0x38($s2) +/* D116F8 80240638 E640003C */ swc1 $f0, 0x3c($s2) +/* D116FC 8024063C AE400040 */ sw $zero, 0x40($s2) +/* D11700 80240640 A2330007 */ sb $s3, 7($s1) +/* D11704 80240644 AE800070 */ sw $zero, 0x70($s4) +.L80240648: +/* D11708 80240648 8FBF002C */ lw $ra, 0x2c($sp) +/* D1170C 8024064C 8FB40028 */ lw $s4, 0x28($sp) +/* D11710 80240650 8FB30024 */ lw $s3, 0x24($sp) +/* D11714 80240654 8FB20020 */ lw $s2, 0x20($sp) +/* D11718 80240658 8FB1001C */ lw $s1, 0x1c($sp) +/* D1171C 8024065C 8FB00018 */ lw $s0, 0x18($sp) +/* D11720 80240660 0000102D */ daddu $v0, $zero, $zero +/* D11724 80240664 03E00008 */ jr $ra +/* D11728 80240668 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_03/func_8024066C_D110C0.s b/asm/nonmatchings/world/area_sam/sam_03/func_8024066C_D110C0.s new file mode 100644 index 0000000000..2fbf4a5760 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_03/func_8024066C_D110C0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024066C_D1172C +/* D1172C 8024066C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D11730 80240670 AFB20038 */ sw $s2, 0x38($sp) +/* D11734 80240674 0080902D */ daddu $s2, $a0, $zero +/* D11738 80240678 AFBF0048 */ sw $ra, 0x48($sp) +/* D1173C 8024067C AFB50044 */ sw $s5, 0x44($sp) +/* D11740 80240680 AFB40040 */ sw $s4, 0x40($sp) +/* D11744 80240684 AFB3003C */ sw $s3, 0x3c($sp) +/* D11748 80240688 AFB10034 */ sw $s1, 0x34($sp) +/* D1174C 8024068C AFB00030 */ sw $s0, 0x30($sp) +/* D11750 80240690 8E510148 */ lw $s1, 0x148($s2) +/* D11754 80240694 86240008 */ lh $a0, 8($s1) +/* D11758 80240698 0C00EABB */ jal get_npc_unsafe +/* D1175C 8024069C 00A0802D */ daddu $s0, $a1, $zero +/* D11760 802406A0 8E43000C */ lw $v1, 0xc($s2) +/* D11764 802406A4 0240202D */ daddu $a0, $s2, $zero +/* D11768 802406A8 8C650000 */ lw $a1, ($v1) +/* D1176C 802406AC 0C0B1EAF */ jal get_variable +/* D11770 802406B0 0040A82D */ daddu $s5, $v0, $zero +/* D11774 802406B4 AFA00010 */ sw $zero, 0x10($sp) +/* D11778 802406B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* D1177C 802406BC 8C630030 */ lw $v1, 0x30($v1) +/* D11780 802406C0 AFA30014 */ sw $v1, 0x14($sp) +/* D11784 802406C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D11788 802406C8 8C63001C */ lw $v1, 0x1c($v1) +/* D1178C 802406CC AFA30018 */ sw $v1, 0x18($sp) +/* D11790 802406D0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D11794 802406D4 8C630024 */ lw $v1, 0x24($v1) +/* D11798 802406D8 AFA3001C */ sw $v1, 0x1c($sp) +/* D1179C 802406DC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D117A0 802406E0 8C630028 */ lw $v1, 0x28($v1) +/* D117A4 802406E4 27B40010 */ addiu $s4, $sp, 0x10 +/* D117A8 802406E8 AFA30020 */ sw $v1, 0x20($sp) +/* D117AC 802406EC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D117B0 802406F0 3C014282 */ lui $at, 0x4282 +/* D117B4 802406F4 44810000 */ mtc1 $at, $f0 +/* D117B8 802406F8 8C63002C */ lw $v1, 0x2c($v1) +/* D117BC 802406FC 0040982D */ daddu $s3, $v0, $zero +/* D117C0 80240700 E7A00028 */ swc1 $f0, 0x28($sp) +/* D117C4 80240704 A7A0002C */ sh $zero, 0x2c($sp) +/* D117C8 80240708 16000005 */ bnez $s0, .L80240720 +/* D117CC 8024070C AFA30024 */ sw $v1, 0x24($sp) +/* D117D0 80240710 8E2200B0 */ lw $v0, 0xb0($s1) +/* D117D4 80240714 30420004 */ andi $v0, $v0, 4 +/* D117D8 80240718 10400020 */ beqz $v0, .L8024079C +/* D117DC 8024071C 00000000 */ nop +.L80240720: +/* D117E0 80240720 2404F7FF */ addiu $a0, $zero, -0x801 +/* D117E4 80240724 AE400070 */ sw $zero, 0x70($s2) +/* D117E8 80240728 A6A0008E */ sh $zero, 0x8e($s5) +/* D117EC 8024072C 8E2200CC */ lw $v0, 0xcc($s1) +/* D117F0 80240730 8EA30000 */ lw $v1, ($s5) +/* D117F4 80240734 8C420000 */ lw $v0, ($v0) +/* D117F8 80240738 00641824 */ and $v1, $v1, $a0 +/* D117FC 8024073C AEA30000 */ sw $v1, ($s5) +/* D11800 80240740 AEA20028 */ sw $v0, 0x28($s5) +/* D11804 80240744 8E2200D0 */ lw $v0, 0xd0($s1) +/* D11808 80240748 8C420034 */ lw $v0, 0x34($v0) +/* D1180C 8024074C 54400005 */ bnel $v0, $zero, .L80240764 +/* D11810 80240750 2402FDFF */ addiu $v0, $zero, -0x201 +/* D11814 80240754 34620200 */ ori $v0, $v1, 0x200 +/* D11818 80240758 2403FFF7 */ addiu $v1, $zero, -9 +/* D1181C 8024075C 080901DB */ j .L8024076C +/* D11820 80240760 00431024 */ and $v0, $v0, $v1 +.L80240764: +/* D11824 80240764 00621024 */ and $v0, $v1, $v0 +/* D11828 80240768 34420008 */ ori $v0, $v0, 8 +.L8024076C: +/* D1182C 8024076C AEA20000 */ sw $v0, ($s5) +/* D11830 80240770 8E2200B0 */ lw $v0, 0xb0($s1) +/* D11834 80240774 30420004 */ andi $v0, $v0, 4 +/* D11838 80240778 10400007 */ beqz $v0, .L80240798 +/* D1183C 8024077C 24020063 */ addiu $v0, $zero, 0x63 +/* D11840 80240780 AE420070 */ sw $v0, 0x70($s2) +/* D11844 80240784 AE400074 */ sw $zero, 0x74($s2) +/* D11848 80240788 8E2200B0 */ lw $v0, 0xb0($s1) +/* D1184C 8024078C 2403FFFB */ addiu $v1, $zero, -5 +/* D11850 80240790 00431024 */ and $v0, $v0, $v1 +/* D11854 80240794 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240798: +/* D11858 80240798 AE20006C */ sw $zero, 0x6c($s1) +.L8024079C: +/* D1185C 8024079C 8E420070 */ lw $v0, 0x70($s2) +/* D11860 802407A0 2842001E */ slti $v0, $v0, 0x1e +/* D11864 802407A4 10400009 */ beqz $v0, .L802407CC +/* D11868 802407A8 00000000 */ nop +/* D1186C 802407AC 8E22006C */ lw $v0, 0x6c($s1) +/* D11870 802407B0 14400006 */ bnez $v0, .L802407CC +/* D11874 802407B4 00000000 */ nop +/* D11878 802407B8 0C090096 */ jal func_80240258 +/* D1187C 802407BC 0240202D */ daddu $a0, $s2, $zero +/* D11880 802407C0 10400002 */ beqz $v0, .L802407CC +/* D11884 802407C4 2402001E */ addiu $v0, $zero, 0x1e +/* D11888 802407C8 AE420070 */ sw $v0, 0x70($s2) +.L802407CC: +/* D1188C 802407CC 8E430070 */ lw $v1, 0x70($s2) +/* D11890 802407D0 2C620064 */ sltiu $v0, $v1, 0x64 +/* D11894 802407D4 10400048 */ beqz $v0, .L802408F8 +/* D11898 802407D8 00031080 */ sll $v0, $v1, 2 +/* D1189C 802407DC 3C018024 */ lui $at, 0x8024 +/* D118A0 802407E0 00220821 */ addu $at, $at, $v0 +/* D118A4 802407E4 8C222378 */ lw $v0, 0x2378($at) +/* D118A8 802407E8 00400008 */ jr $v0 +/* D118AC 802407EC 00000000 */ nop +/* D118B0 802407F0 0240202D */ daddu $a0, $s2, $zero +/* D118B4 802407F4 0260282D */ daddu $a1, $s3, $zero +/* D118B8 802407F8 0C012568 */ jal func_800495A0 +/* D118BC 802407FC 0280302D */ daddu $a2, $s4, $zero +/* D118C0 80240800 0240202D */ daddu $a0, $s2, $zero +/* D118C4 80240804 0260282D */ daddu $a1, $s3, $zero +/* D118C8 80240808 0C0125AE */ jal func_800496B8 +/* D118CC 8024080C 0280302D */ daddu $a2, $s4, $zero +/* D118D0 80240810 0809023E */ j .L802408F8 +/* D118D4 80240814 00000000 */ nop +/* D118D8 80240818 0240202D */ daddu $a0, $s2, $zero +/* D118DC 8024081C 0260282D */ daddu $a1, $s3, $zero +/* D118E0 80240820 0C0126D1 */ jal func_80049B44 +/* D118E4 80240824 0280302D */ daddu $a2, $s4, $zero +/* D118E8 80240828 0240202D */ daddu $a0, $s2, $zero +/* D118EC 8024082C 0260282D */ daddu $a1, $s3, $zero +/* D118F0 80240830 0C012701 */ jal func_80049C04 +/* D118F4 80240834 0280302D */ daddu $a2, $s4, $zero +/* D118F8 80240838 0809023E */ j .L802408F8 +/* D118FC 8024083C 00000000 */ nop +/* D11900 80240840 0240202D */ daddu $a0, $s2, $zero +/* D11904 80240844 0260282D */ daddu $a1, $s3, $zero +/* D11908 80240848 0C01278F */ jal func_80049E3C +/* D1190C 8024084C 0280302D */ daddu $a2, $s4, $zero +/* D11910 80240850 0240202D */ daddu $a0, $s2, $zero +/* D11914 80240854 0260282D */ daddu $a1, $s3, $zero +/* D11918 80240858 0C0127B3 */ jal func_80049ECC +/* D1191C 8024085C 0280302D */ daddu $a2, $s4, $zero +/* D11920 80240860 0809023E */ j .L802408F8 +/* D11924 80240864 00000000 */ nop +/* D11928 80240868 0240202D */ daddu $a0, $s2, $zero +/* D1192C 8024086C 0260282D */ daddu $a1, $s3, $zero +/* D11930 80240870 0C0127DF */ jal func_80049F7C +/* D11934 80240874 0280302D */ daddu $a2, $s4, $zero +/* D11938 80240878 0240202D */ daddu $a0, $s2, $zero +/* D1193C 8024087C 0260282D */ daddu $a1, $s3, $zero +/* D11940 80240880 0C012849 */ jal func_8004A124 +/* D11944 80240884 0280302D */ daddu $a2, $s4, $zero +/* D11948 80240888 0809023E */ j .L802408F8 +/* D1194C 8024088C 00000000 */ nop +/* D11950 80240890 0240202D */ daddu $a0, $s2, $zero +/* D11954 80240894 0260282D */ daddu $a1, $s3, $zero +/* D11958 80240898 0C0128FA */ jal func_8004A3E8 +/* D1195C 8024089C 0280302D */ daddu $a2, $s4, $zero +/* D11960 802408A0 0809023E */ j .L802408F8 +/* D11964 802408A4 00000000 */ nop +/* D11968 802408A8 0C090014 */ jal func_80240050 +/* D1196C 802408AC 0240202D */ daddu $a0, $s2, $zero +/* D11970 802408B0 0C09002F */ jal func_802400BC +/* D11974 802408B4 0240202D */ daddu $a0, $s2, $zero +/* D11978 802408B8 8E430070 */ lw $v1, 0x70($s2) +/* D1197C 802408BC 24020020 */ addiu $v0, $zero, 0x20 +/* D11980 802408C0 1462000D */ bne $v1, $v0, .L802408F8 +/* D11984 802408C4 00000000 */ nop +/* D11988 802408C8 0C09004B */ jal func_8024012C +/* D1198C 802408CC 0240202D */ daddu $a0, $s2, $zero +/* D11990 802408D0 8E430070 */ lw $v1, 0x70($s2) +/* D11994 802408D4 24020021 */ addiu $v0, $zero, 0x21 +/* D11998 802408D8 14620007 */ bne $v1, $v0, .L802408F8 +/* D1199C 802408DC 00000000 */ nop +/* D119A0 802408E0 0C090081 */ jal func_80240204 +/* D119A4 802408E4 0240202D */ daddu $a0, $s2, $zero +/* D119A8 802408E8 0809023E */ j .L802408F8 +/* D119AC 802408EC 00000000 */ nop +/* D119B0 802408F0 0C0129CF */ jal func_8004A73C +/* D119B4 802408F4 0240202D */ daddu $a0, $s2, $zero +.L802408F8: +/* D119B8 802408F8 8FBF0048 */ lw $ra, 0x48($sp) +/* D119BC 802408FC 8FB50044 */ lw $s5, 0x44($sp) +/* D119C0 80240900 8FB40040 */ lw $s4, 0x40($sp) +/* D119C4 80240904 8FB3003C */ lw $s3, 0x3c($sp) +/* D119C8 80240908 8FB20038 */ lw $s2, 0x38($sp) +/* D119CC 8024090C 8FB10034 */ lw $s1, 0x34($sp) +/* D119D0 80240910 8FB00030 */ lw $s0, 0x30($sp) +/* D119D4 80240914 0000102D */ daddu $v0, $zero, $zero +/* D119D8 80240918 03E00008 */ jr $ra +/* D119DC 8024091C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240000_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240000_D135D0.s new file mode 100644 index 0000000000..f1c886d3c5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240000_D135D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D135D0 +/* D135D0 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D135D4 80240004 F7B40018 */ sdc1 $f20, 0x18($sp) +/* D135D8 80240008 4485A000 */ mtc1 $a1, $f20 +/* D135DC 8024000C F7B60020 */ sdc1 $f22, 0x20($sp) +/* D135E0 80240010 4486B000 */ mtc1 $a2, $f22 +/* D135E4 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* D135E8 80240018 F7B80028 */ sdc1 $f24, 0x28($sp) +/* D135EC 8024001C 4487C000 */ mtc1 $a3, $f24 +/* D135F0 80240020 AFBF0014 */ sw $ra, 0x14($sp) +/* D135F4 80240024 0C019D28 */ jal guMtxIdentF +/* D135F8 80240028 0080802D */ daddu $s0, $a0, $zero +/* D135FC 8024002C 4616A582 */ mul.s $f22, $f20, $f22 +/* D13600 80240030 00000000 */ nop +/* D13604 80240034 4618A502 */ mul.s $f20, $f20, $f24 +/* D13608 80240038 00000000 */ nop +/* D1360C 8024003C 3C013F80 */ lui $at, 0x3f80 +/* D13610 80240040 44810000 */ mtc1 $at, $f0 +/* D13614 80240044 00000000 */ nop +/* D13618 80240048 E6000014 */ swc1 $f0, 0x14($s0) +/* D1361C 8024004C E6160010 */ swc1 $f22, 0x10($s0) +/* D13620 80240050 E6140018 */ swc1 $f20, 0x18($s0) +/* D13624 80240054 8FBF0014 */ lw $ra, 0x14($sp) +/* D13628 80240058 8FB00010 */ lw $s0, 0x10($sp) +/* D1362C 8024005C D7B80028 */ ldc1 $f24, 0x28($sp) +/* D13630 80240060 D7B60020 */ ldc1 $f22, 0x20($sp) +/* D13634 80240064 D7B40018 */ ldc1 $f20, 0x18($sp) +/* D13638 80240068 03E00008 */ jr $ra +/* D1363C 8024006C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240070_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240070_D135D0.s new file mode 100644 index 0000000000..c87615d5a0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240070_D135D0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240070_D13640 +/* D13640 80240070 27BDFF78 */ addiu $sp, $sp, -0x88 +/* D13644 80240074 AFB10054 */ sw $s1, 0x54($sp) +/* D13648 80240078 0080882D */ daddu $s1, $a0, $zero +/* D1364C 8024007C AFBF005C */ sw $ra, 0x5c($sp) +/* D13650 80240080 AFB20058 */ sw $s2, 0x58($sp) +/* D13654 80240084 AFB00050 */ sw $s0, 0x50($sp) +/* D13658 80240088 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* D1365C 8024008C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* D13660 80240090 F7B80070 */ sdc1 $f24, 0x70($sp) +/* D13664 80240094 F7B60068 */ sdc1 $f22, 0x68($sp) +/* D13668 80240098 F7B40060 */ sdc1 $f20, 0x60($sp) +/* D1366C 8024009C 8E30000C */ lw $s0, 0xc($s1) +/* D13670 802400A0 8E050000 */ lw $a1, ($s0) +/* D13674 802400A4 0C0B1EAF */ jal get_variable +/* D13678 802400A8 26100004 */ addiu $s0, $s0, 4 +/* D1367C 802400AC 0C046C04 */ jal get_model_list_index_from_tree_index +/* D13680 802400B0 0040202D */ daddu $a0, $v0, $zero +/* D13684 802400B4 8E050000 */ lw $a1, ($s0) +/* D13688 802400B8 26100004 */ addiu $s0, $s0, 4 +/* D1368C 802400BC 0220202D */ daddu $a0, $s1, $zero +/* D13690 802400C0 0C0B210B */ jal get_float_variable +/* D13694 802400C4 0040902D */ daddu $s2, $v0, $zero +/* D13698 802400C8 8E050000 */ lw $a1, ($s0) +/* D1369C 802400CC 26100004 */ addiu $s0, $s0, 4 +/* D136A0 802400D0 0220202D */ daddu $a0, $s1, $zero +/* D136A4 802400D4 0C0B210B */ jal get_float_variable +/* D136A8 802400D8 46000706 */ mov.s $f28, $f0 +/* D136AC 802400DC 8E050000 */ lw $a1, ($s0) +/* D136B0 802400E0 26100004 */ addiu $s0, $s0, 4 +/* D136B4 802400E4 0220202D */ daddu $a0, $s1, $zero +/* D136B8 802400E8 0C0B210B */ jal get_float_variable +/* D136BC 802400EC 46000686 */ mov.s $f26, $f0 +/* D136C0 802400F0 0220202D */ daddu $a0, $s1, $zero +/* D136C4 802400F4 8E050000 */ lw $a1, ($s0) +/* D136C8 802400F8 0C0B210B */ jal get_float_variable +/* D136CC 802400FC 46000586 */ mov.s $f22, $f0 +/* D136D0 80240100 0240202D */ daddu $a0, $s2, $zero +/* D136D4 80240104 0C046B4C */ jal get_model_from_list_index +/* D136D8 80240108 46000606 */ mov.s $f24, $f0 +/* D136DC 8024010C 0040882D */ daddu $s1, $v0, $zero +/* D136E0 80240110 96220000 */ lhu $v0, ($s1) +/* D136E4 80240114 30420400 */ andi $v0, $v0, 0x400 +/* D136E8 80240118 1440001E */ bnez $v0, .L80240194 +/* D136EC 8024011C 26300058 */ addiu $s0, $s1, 0x58 +/* D136F0 80240120 4480A000 */ mtc1 $zero, $f20 +/* D136F4 80240124 4406B000 */ mfc1 $a2, $f22 +/* D136F8 80240128 4405A000 */ mfc1 $a1, $f20 +/* D136FC 8024012C 4407A000 */ mfc1 $a3, $f20 +/* D13700 80240130 0C019E40 */ jal guTranslateF +/* D13704 80240134 0200202D */ daddu $a0, $s0, $zero +/* D13708 80240138 4405E000 */ mfc1 $a1, $f28 +/* D1370C 8024013C 4406D000 */ mfc1 $a2, $f26 +/* D13710 80240140 4407C000 */ mfc1 $a3, $f24 +/* D13714 80240144 0C090000 */ jal func_80240000 +/* D13718 80240148 27A40010 */ addiu $a0, $sp, 0x10 +/* D1371C 8024014C 27A40010 */ addiu $a0, $sp, 0x10 +/* D13720 80240150 0200282D */ daddu $a1, $s0, $zero +/* D13724 80240154 0C019D80 */ jal guMtxCatF +/* D13728 80240158 0200302D */ daddu $a2, $s0, $zero +/* D1372C 8024015C 27A40010 */ addiu $a0, $sp, 0x10 +/* D13730 80240160 4600B587 */ neg.s $f22, $f22 +/* D13734 80240164 4405A000 */ mfc1 $a1, $f20 +/* D13738 80240168 4406B000 */ mfc1 $a2, $f22 +/* D1373C 8024016C 0C019E40 */ jal guTranslateF +/* D13740 80240170 00A0382D */ daddu $a3, $a1, $zero +/* D13744 80240174 27A40010 */ addiu $a0, $sp, 0x10 +/* D13748 80240178 0200282D */ daddu $a1, $s0, $zero +/* D1374C 8024017C 0C019D80 */ jal guMtxCatF +/* D13750 80240180 00A0302D */ daddu $a2, $a1, $zero +/* D13754 80240184 96220000 */ lhu $v0, ($s1) +/* D13758 80240188 34421400 */ ori $v0, $v0, 0x1400 +/* D1375C 8024018C 08090083 */ j .L8024020C +/* D13760 80240190 A6220000 */ sh $v0, ($s1) +.L80240194: +/* D13764 80240194 4480A000 */ mtc1 $zero, $f20 +/* D13768 80240198 4406B000 */ mfc1 $a2, $f22 +/* D1376C 8024019C 4405A000 */ mfc1 $a1, $f20 +/* D13770 802401A0 4407A000 */ mfc1 $a3, $f20 +/* D13774 802401A4 0C019E40 */ jal guTranslateF +/* D13778 802401A8 27A40010 */ addiu $a0, $sp, 0x10 +/* D1377C 802401AC 27A40010 */ addiu $a0, $sp, 0x10 +/* D13780 802401B0 26300058 */ addiu $s0, $s1, 0x58 +/* D13784 802401B4 0200282D */ daddu $a1, $s0, $zero +/* D13788 802401B8 0C019D80 */ jal guMtxCatF +/* D1378C 802401BC 0200302D */ daddu $a2, $s0, $zero +/* D13790 802401C0 4405E000 */ mfc1 $a1, $f28 +/* D13794 802401C4 4406D000 */ mfc1 $a2, $f26 +/* D13798 802401C8 4407C000 */ mfc1 $a3, $f24 +/* D1379C 802401CC 0C090000 */ jal func_80240000 +/* D137A0 802401D0 27A40010 */ addiu $a0, $sp, 0x10 +/* D137A4 802401D4 27A40010 */ addiu $a0, $sp, 0x10 +/* D137A8 802401D8 0200282D */ daddu $a1, $s0, $zero +/* D137AC 802401DC 0C019D80 */ jal guMtxCatF +/* D137B0 802401E0 0200302D */ daddu $a2, $s0, $zero +/* D137B4 802401E4 27A40010 */ addiu $a0, $sp, 0x10 +/* D137B8 802401E8 4600B587 */ neg.s $f22, $f22 +/* D137BC 802401EC 4405A000 */ mfc1 $a1, $f20 +/* D137C0 802401F0 4406B000 */ mfc1 $a2, $f22 +/* D137C4 802401F4 0C019E40 */ jal guTranslateF +/* D137C8 802401F8 00A0382D */ daddu $a3, $a1, $zero +/* D137CC 802401FC 27A40010 */ addiu $a0, $sp, 0x10 +/* D137D0 80240200 0200282D */ daddu $a1, $s0, $zero +/* D137D4 80240204 0C019D80 */ jal guMtxCatF +/* D137D8 80240208 00A0302D */ daddu $a2, $a1, $zero +.L8024020C: +/* D137DC 8024020C 8FBF005C */ lw $ra, 0x5c($sp) +/* D137E0 80240210 8FB20058 */ lw $s2, 0x58($sp) +/* D137E4 80240214 8FB10054 */ lw $s1, 0x54($sp) +/* D137E8 80240218 8FB00050 */ lw $s0, 0x50($sp) +/* D137EC 8024021C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* D137F0 80240220 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* D137F4 80240224 D7B80070 */ ldc1 $f24, 0x70($sp) +/* D137F8 80240228 D7B60068 */ ldc1 $f22, 0x68($sp) +/* D137FC 8024022C D7B40060 */ ldc1 $f20, 0x60($sp) +/* D13800 80240230 24020002 */ addiu $v0, $zero, 2 +/* D13804 80240234 03E00008 */ jr $ra +/* D13808 80240238 27BD0088 */ addiu $sp, $sp, 0x88 +/* D1380C 8024023C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240240_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240240_D135D0.s new file mode 100644 index 0000000000..bdec32d8fd --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240240_D135D0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240240_D13810 +/* D13810 80240240 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D13814 80240244 AFB10014 */ sw $s1, 0x14($sp) +/* D13818 80240248 0080882D */ daddu $s1, $a0, $zero +/* D1381C 8024024C AFBF001C */ sw $ra, 0x1c($sp) +/* D13820 80240250 AFB20018 */ sw $s2, 0x18($sp) +/* D13824 80240254 AFB00010 */ sw $s0, 0x10($sp) +/* D13828 80240258 F7B80030 */ sdc1 $f24, 0x30($sp) +/* D1382C 8024025C F7B60028 */ sdc1 $f22, 0x28($sp) +/* D13830 80240260 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D13834 80240264 8E30000C */ lw $s0, 0xc($s1) +/* D13838 80240268 8E120000 */ lw $s2, ($s0) +/* D1383C 8024026C 26100004 */ addiu $s0, $s0, 4 +/* D13840 80240270 8E050000 */ lw $a1, ($s0) +/* D13844 80240274 0C0B210B */ jal get_float_variable +/* D13848 80240278 26100004 */ addiu $s0, $s0, 4 +/* D1384C 8024027C 8E050000 */ lw $a1, ($s0) +/* D13850 80240280 26100004 */ addiu $s0, $s0, 4 +/* D13854 80240284 0220202D */ daddu $a0, $s1, $zero +/* D13858 80240288 0C0B210B */ jal get_float_variable +/* D1385C 8024028C 46000606 */ mov.s $f24, $f0 +/* D13860 80240290 8E050000 */ lw $a1, ($s0) +/* D13864 80240294 26100004 */ addiu $s0, $s0, 4 +/* D13868 80240298 0220202D */ daddu $a0, $s1, $zero +/* D1386C 8024029C 0C0B210B */ jal get_float_variable +/* D13870 802402A0 46000586 */ mov.s $f22, $f0 +/* D13874 802402A4 0220202D */ daddu $a0, $s1, $zero +/* D13878 802402A8 8E050000 */ lw $a1, ($s0) +/* D1387C 802402AC 0C0B210B */ jal get_float_variable +/* D13880 802402B0 46000506 */ mov.s $f20, $f0 +/* D13884 802402B4 4600C306 */ mov.s $f12, $f24 +/* D13888 802402B8 4406A000 */ mfc1 $a2, $f20 +/* D1388C 802402BC 44070000 */ mfc1 $a3, $f0 +/* D13890 802402C0 0C00A720 */ jal atan2 +/* D13894 802402C4 4600B386 */ mov.s $f14, $f22 +/* D13898 802402C8 0C00A6C9 */ jal clamp_angle +/* D1389C 802402CC 46000306 */ mov.s $f12, $f0 +/* D138A0 802402D0 0220202D */ daddu $a0, $s1, $zero +/* D138A4 802402D4 44060000 */ mfc1 $a2, $f0 +/* D138A8 802402D8 0C0B2190 */ jal set_float_variable +/* D138AC 802402DC 0240282D */ daddu $a1, $s2, $zero +/* D138B0 802402E0 8FBF001C */ lw $ra, 0x1c($sp) +/* D138B4 802402E4 8FB20018 */ lw $s2, 0x18($sp) +/* D138B8 802402E8 8FB10014 */ lw $s1, 0x14($sp) +/* D138BC 802402EC 8FB00010 */ lw $s0, 0x10($sp) +/* D138C0 802402F0 D7B80030 */ ldc1 $f24, 0x30($sp) +/* D138C4 802402F4 D7B60028 */ ldc1 $f22, 0x28($sp) +/* D138C8 802402F8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D138CC 802402FC 24020002 */ addiu $v0, $zero, 2 +/* D138D0 80240300 03E00008 */ jr $ra +/* D138D4 80240304 27BD0038 */ addiu $sp, $sp, 0x38 +/* D138D8 80240308 00000000 */ nop +/* D138DC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240310_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240310_D135D0.s new file mode 100644 index 0000000000..dd69b186ae --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240310_D135D0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_D138E0 +/* D138E0 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D138E4 80240314 AFB10014 */ sw $s1, 0x14($sp) +/* D138E8 80240318 0080882D */ daddu $s1, $a0, $zero +/* D138EC 8024031C AFBF0018 */ sw $ra, 0x18($sp) +/* D138F0 80240320 AFB00010 */ sw $s0, 0x10($sp) +/* D138F4 80240324 8E30000C */ lw $s0, 0xc($s1) +/* D138F8 80240328 8E050000 */ lw $a1, ($s0) +/* D138FC 8024032C 0C0B1EAF */ jal get_variable +/* D13900 80240330 26100004 */ addiu $s0, $s0, 4 +/* D13904 80240334 0C00EAD2 */ jal get_npc_safe +/* D13908 80240338 0040202D */ daddu $a0, $v0, $zero +/* D1390C 8024033C 10400005 */ beqz $v0, .L80240354 +/* D13910 80240340 00000000 */ nop +/* D13914 80240344 8E050000 */ lw $a1, ($s0) +/* D13918 80240348 844600A8 */ lh $a2, 0xa8($v0) +/* D1391C 8024034C 0C0B2026 */ jal set_variable +/* D13920 80240350 0220202D */ daddu $a0, $s1, $zero +.L80240354: +/* D13924 80240354 8FBF0018 */ lw $ra, 0x18($sp) +/* D13928 80240358 8FB10014 */ lw $s1, 0x14($sp) +/* D1392C 8024035C 8FB00010 */ lw $s0, 0x10($sp) +/* D13930 80240360 24020002 */ addiu $v0, $zero, 2 +/* D13934 80240364 03E00008 */ jr $ra +/* D13938 80240368 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_8024036C_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_8024036C_D135D0.s new file mode 100644 index 0000000000..d053f418c0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_8024036C_D135D0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024036C_D1393C +/* D1393C 8024036C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D13940 80240370 AFB10014 */ sw $s1, 0x14($sp) +/* D13944 80240374 0080882D */ daddu $s1, $a0, $zero +/* D13948 80240378 AFBF0024 */ sw $ra, 0x24($sp) +/* D1394C 8024037C AFB40020 */ sw $s4, 0x20($sp) +/* D13950 80240380 AFB3001C */ sw $s3, 0x1c($sp) +/* D13954 80240384 AFB20018 */ sw $s2, 0x18($sp) +/* D13958 80240388 AFB00010 */ sw $s0, 0x10($sp) +/* D1395C 8024038C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D13960 80240390 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D13964 80240394 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D13968 80240398 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D1396C 8024039C F7B40028 */ sdc1 $f20, 0x28($sp) +/* D13970 802403A0 8E30000C */ lw $s0, 0xc($s1) +/* D13974 802403A4 8E130000 */ lw $s3, ($s0) +/* D13978 802403A8 26100004 */ addiu $s0, $s0, 4 +/* D1397C 802403AC 0C0B1EAF */ jal get_variable +/* D13980 802403B0 0260282D */ daddu $a1, $s3, $zero +/* D13984 802403B4 4482E000 */ mtc1 $v0, $f28 +/* D13988 802403B8 00000000 */ nop +/* D1398C 802403BC 4680E720 */ cvt.s.w $f28, $f28 +/* D13990 802403C0 8E140000 */ lw $s4, ($s0) +/* D13994 802403C4 26100004 */ addiu $s0, $s0, 4 +/* D13998 802403C8 0220202D */ daddu $a0, $s1, $zero +/* D1399C 802403CC 0C0B1EAF */ jal get_variable +/* D139A0 802403D0 0280282D */ daddu $a1, $s4, $zero +/* D139A4 802403D4 4482D000 */ mtc1 $v0, $f26 +/* D139A8 802403D8 00000000 */ nop +/* D139AC 802403DC 4680D6A0 */ cvt.s.w $f26, $f26 +/* D139B0 802403E0 8E100000 */ lw $s0, ($s0) +/* D139B4 802403E4 0220202D */ daddu $a0, $s1, $zero +/* D139B8 802403E8 0C0B1EAF */ jal get_variable +/* D139BC 802403EC 0200282D */ daddu $a1, $s0, $zero +/* D139C0 802403F0 4482C000 */ mtc1 $v0, $f24 +/* D139C4 802403F4 00000000 */ nop +/* D139C8 802403F8 4680C620 */ cvt.s.w $f24, $f24 +/* D139CC 802403FC 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D139D0 80240400 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D139D4 80240404 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D139D8 80240408 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D139DC 8024040C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D139E0 80240410 44800000 */ mtc1 $zero, $f0 +/* D139E4 80240414 00031080 */ sll $v0, $v1, 2 +/* D139E8 80240418 00431021 */ addu $v0, $v0, $v1 +/* D139EC 8024041C 00021080 */ sll $v0, $v0, 2 +/* D139F0 80240420 00431023 */ subu $v0, $v0, $v1 +/* D139F4 80240424 000218C0 */ sll $v1, $v0, 3 +/* D139F8 80240428 00431021 */ addu $v0, $v0, $v1 +/* D139FC 8024042C 000210C0 */ sll $v0, $v0, 3 +/* D13A00 80240430 46001032 */ c.eq.s $f2, $f0 +/* D13A04 80240434 3C01800B */ lui $at, 0x800b +/* D13A08 80240438 00220821 */ addu $at, $at, $v0 +/* D13A0C 8024043C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D13A10 80240440 45000005 */ bc1f .L80240458 +/* D13A14 80240444 00000000 */ nop +/* D13A18 80240448 3C0142C8 */ lui $at, 0x42c8 +/* D13A1C 8024044C 44810000 */ mtc1 $at, $f0 +/* D13A20 80240450 0809011A */ j .L80240468 +/* D13A24 80240454 4600B581 */ sub.s $f22, $f22, $f0 +.L80240458: +/* D13A28 80240458 3C0142C8 */ lui $at, 0x42c8 +/* D13A2C 8024045C 44810000 */ mtc1 $at, $f0 +/* D13A30 80240460 00000000 */ nop +/* D13A34 80240464 4600B580 */ add.s $f22, $f22, $f0 +.L80240468: +/* D13A38 80240468 0C00A6C9 */ jal clamp_angle +/* D13A3C 8024046C 4600B306 */ mov.s $f12, $f22 +/* D13A40 80240470 46000586 */ mov.s $f22, $f0 +/* D13A44 80240474 3C014170 */ lui $at, 0x4170 +/* D13A48 80240478 4481A000 */ mtc1 $at, $f20 +/* D13A4C 8024047C 0C00A8BB */ jal sin_deg +/* D13A50 80240480 4600B306 */ mov.s $f12, $f22 +/* D13A54 80240484 46140002 */ mul.s $f0, $f0, $f20 +/* D13A58 80240488 00000000 */ nop +/* D13A5C 8024048C 864200B0 */ lh $v0, 0xb0($s2) +/* D13A60 80240490 3C013F00 */ lui $at, 0x3f00 +/* D13A64 80240494 44812000 */ mtc1 $at, $f4 +/* D13A68 80240498 44821000 */ mtc1 $v0, $f2 +/* D13A6C 8024049C 00000000 */ nop +/* D13A70 802404A0 468010A0 */ cvt.s.w $f2, $f2 +/* D13A74 802404A4 46041082 */ mul.s $f2, $f2, $f4 +/* D13A78 802404A8 00000000 */ nop +/* D13A7C 802404AC 4600E700 */ add.s $f28, $f28, $f0 +/* D13A80 802404B0 4602D680 */ add.s $f26, $f26, $f2 +/* D13A84 802404B4 0C00A8D4 */ jal cos_deg +/* D13A88 802404B8 4600B306 */ mov.s $f12, $f22 +/* D13A8C 802404BC 46140002 */ mul.s $f0, $f0, $f20 +/* D13A90 802404C0 00000000 */ nop +/* D13A94 802404C4 0220202D */ daddu $a0, $s1, $zero +/* D13A98 802404C8 0260282D */ daddu $a1, $s3, $zero +/* D13A9C 802404CC 4600E18D */ trunc.w.s $f6, $f28 +/* D13AA0 802404D0 44063000 */ mfc1 $a2, $f6 +/* D13AA4 802404D4 0C0B2026 */ jal set_variable +/* D13AA8 802404D8 4600C601 */ sub.s $f24, $f24, $f0 +/* D13AAC 802404DC 0220202D */ daddu $a0, $s1, $zero +/* D13AB0 802404E0 4600D18D */ trunc.w.s $f6, $f26 +/* D13AB4 802404E4 44063000 */ mfc1 $a2, $f6 +/* D13AB8 802404E8 0C0B2026 */ jal set_variable +/* D13ABC 802404EC 0280282D */ daddu $a1, $s4, $zero +/* D13AC0 802404F0 0220202D */ daddu $a0, $s1, $zero +/* D13AC4 802404F4 4600C18D */ trunc.w.s $f6, $f24 +/* D13AC8 802404F8 44063000 */ mfc1 $a2, $f6 +/* D13ACC 802404FC 0C0B2026 */ jal set_variable +/* D13AD0 80240500 0200282D */ daddu $a1, $s0, $zero +/* D13AD4 80240504 8FBF0024 */ lw $ra, 0x24($sp) +/* D13AD8 80240508 8FB40020 */ lw $s4, 0x20($sp) +/* D13ADC 8024050C 8FB3001C */ lw $s3, 0x1c($sp) +/* D13AE0 80240510 8FB20018 */ lw $s2, 0x18($sp) +/* D13AE4 80240514 8FB10014 */ lw $s1, 0x14($sp) +/* D13AE8 80240518 8FB00010 */ lw $s0, 0x10($sp) +/* D13AEC 8024051C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D13AF0 80240520 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D13AF4 80240524 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D13AF8 80240528 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D13AFC 8024052C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D13B00 80240530 24020002 */ addiu $v0, $zero, 2 +/* D13B04 80240534 03E00008 */ jr $ra +/* D13B08 80240538 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_8024053C_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_8024053C_D135D0.s new file mode 100644 index 0000000000..aee3181563 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_8024053C_D135D0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024053C_D13B0C +/* D13B0C 8024053C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D13B10 80240540 AFBF0010 */ sw $ra, 0x10($sp) +/* D13B14 80240544 10A00003 */ beqz $a1, .L80240554 +/* D13B18 80240548 8C86000C */ lw $a2, 0xc($a0) +/* D13B1C 8024054C 3C018024 */ lui $at, 0x8024 +/* D13B20 80240550 AC20387C */ sw $zero, 0x387c($at) +.L80240554: +/* D13B24 80240554 3C038024 */ lui $v1, 0x8024 +/* D13B28 80240558 2463387C */ addiu $v1, $v1, 0x387c +/* D13B2C 8024055C 8C620000 */ lw $v0, ($v1) +/* D13B30 80240560 54400003 */ bnel $v0, $zero, .L80240570 +/* D13B34 80240564 AC600000 */ sw $zero, ($v1) +/* D13B38 80240568 08090161 */ j .L80240584 +/* D13B3C 8024056C 0000102D */ daddu $v0, $zero, $zero +.L80240570: +/* D13B40 80240570 8CC50000 */ lw $a1, ($a2) +/* D13B44 80240574 3C068024 */ lui $a2, 0x8024 +/* D13B48 80240578 0C0B2026 */ jal set_variable +/* D13B4C 8024057C 8CC63880 */ lw $a2, 0x3880($a2) +/* D13B50 80240580 24020002 */ addiu $v0, $zero, 2 +.L80240584: +/* D13B54 80240584 8FBF0010 */ lw $ra, 0x10($sp) +/* D13B58 80240588 03E00008 */ jr $ra +/* D13B5C 8024058C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240590_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240590_D135D0.s new file mode 100644 index 0000000000..52d4fec4ab --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240590_D135D0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240590_D13B60 +/* D13B60 80240590 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D13B64 80240594 AFBF0010 */ sw $ra, 0x10($sp) +/* D13B68 80240598 8C82000C */ lw $v0, 0xc($a0) +/* D13B6C 8024059C 0C0B1EAF */ jal get_variable +/* D13B70 802405A0 8C450000 */ lw $a1, ($v0) +/* D13B74 802405A4 3C018024 */ lui $at, 0x8024 +/* D13B78 802405A8 AC223880 */ sw $v0, 0x3880($at) +/* D13B7C 802405AC 24020002 */ addiu $v0, $zero, 2 +/* D13B80 802405B0 8FBF0010 */ lw $ra, 0x10($sp) +/* D13B84 802405B4 24030001 */ addiu $v1, $zero, 1 +/* D13B88 802405B8 3C018024 */ lui $at, 0x8024 +/* D13B8C 802405BC AC23387C */ sw $v1, 0x387c($at) +/* D13B90 802405C0 03E00008 */ jr $ra +/* D13B94 802405C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_802405C8_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_802405C8_D135D0.s new file mode 100644 index 0000000000..1c3bbfcd25 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_802405C8_D135D0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C8_D13B98 +/* D13B98 802405C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D13B9C 802405CC AFBF0010 */ sw $ra, 0x10($sp) +/* D13BA0 802405D0 8C82000C */ lw $v0, 0xc($a0) +/* D13BA4 802405D4 0C0B1EAF */ jal get_variable +/* D13BA8 802405D8 8C450000 */ lw $a1, ($v0) +/* D13BAC 802405DC 0040182D */ daddu $v1, $v0, $zero +/* D13BB0 802405E0 10600012 */ beqz $v1, .L8024062C +/* D13BB4 802405E4 0000202D */ daddu $a0, $zero, $zero +/* D13BB8 802405E8 8C620000 */ lw $v0, ($v1) +/* D13BBC 802405EC 5040000A */ beql $v0, $zero, .L80240618 +/* D13BC0 802405F0 00041080 */ sll $v0, $a0, 2 +/* D13BC4 802405F4 3C058024 */ lui $a1, 0x8024 +/* D13BC8 802405F8 24A55210 */ addiu $a1, $a1, 0x5210 +.L802405FC: +/* D13BCC 802405FC 24630004 */ addiu $v1, $v1, 4 +/* D13BD0 80240600 24840001 */ addiu $a0, $a0, 1 +/* D13BD4 80240604 ACA20000 */ sw $v0, ($a1) +/* D13BD8 80240608 8C620000 */ lw $v0, ($v1) +/* D13BDC 8024060C 1440FFFB */ bnez $v0, .L802405FC +/* D13BE0 80240610 24A50004 */ addiu $a1, $a1, 4 +/* D13BE4 80240614 00041080 */ sll $v0, $a0, 2 +.L80240618: +/* D13BE8 80240618 3C018024 */ lui $at, 0x8024 +/* D13BEC 8024061C 00220821 */ addu $at, $at, $v0 +/* D13BF0 80240620 AC205210 */ sw $zero, 0x5210($at) +/* D13BF4 80240624 08090195 */ j .L80240654 +/* D13BF8 80240628 00000000 */ nop +.L8024062C: +/* D13BFC 8024062C 3C038024 */ lui $v1, 0x8024 +/* D13C00 80240630 24635210 */ addiu $v1, $v1, 0x5210 +/* D13C04 80240634 0060282D */ daddu $a1, $v1, $zero +.L80240638: +/* D13C08 80240638 24820010 */ addiu $v0, $a0, 0x10 +/* D13C0C 8024063C AC620000 */ sw $v0, ($v1) +/* D13C10 80240640 24630004 */ addiu $v1, $v1, 4 +/* D13C14 80240644 24840001 */ addiu $a0, $a0, 1 +/* D13C18 80240648 28820070 */ slti $v0, $a0, 0x70 +/* D13C1C 8024064C 1440FFFA */ bnez $v0, .L80240638 +/* D13C20 80240650 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80240654: +/* D13C24 80240654 8FBF0010 */ lw $ra, 0x10($sp) +/* D13C28 80240658 24020002 */ addiu $v0, $zero, 2 +/* D13C2C 8024065C 03E00008 */ jr $ra +/* D13C30 80240660 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_04/func_80240664_D135D0.s b/asm/nonmatchings/world/area_sam/sam_04/func_80240664_D135D0.s new file mode 100644 index 0000000000..2db003f144 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_04/func_80240664_D135D0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240664_D13C34 +/* D13C34 80240664 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D13C38 80240668 AFBF0010 */ sw $ra, 0x10($sp) +/* D13C3C 8024066C 8C82000C */ lw $v0, 0xc($a0) +/* D13C40 80240670 0C0B1EAF */ jal get_variable +/* D13C44 80240674 8C450000 */ lw $a1, ($v0) +/* D13C48 80240678 0040182D */ daddu $v1, $v0, $zero +/* D13C4C 8024067C 10600012 */ beqz $v1, .L802406C8 +/* D13C50 80240680 0000202D */ daddu $a0, $zero, $zero +/* D13C54 80240684 8C620000 */ lw $v0, ($v1) +/* D13C58 80240688 5040000A */ beql $v0, $zero, .L802406B4 +/* D13C5C 8024068C 00041080 */ sll $v0, $a0, 2 +/* D13C60 80240690 3C058024 */ lui $a1, 0x8024 +/* D13C64 80240694 24A553D8 */ addiu $a1, $a1, 0x53d8 +.L80240698: +/* D13C68 80240698 24630004 */ addiu $v1, $v1, 4 +/* D13C6C 8024069C 24840001 */ addiu $a0, $a0, 1 +/* D13C70 802406A0 ACA20000 */ sw $v0, ($a1) +/* D13C74 802406A4 8C620000 */ lw $v0, ($v1) +/* D13C78 802406A8 1440FFFB */ bnez $v0, .L80240698 +/* D13C7C 802406AC 24A50004 */ addiu $a1, $a1, 4 +/* D13C80 802406B0 00041080 */ sll $v0, $a0, 2 +.L802406B4: +/* D13C84 802406B4 3C018024 */ lui $at, 0x8024 +/* D13C88 802406B8 00220821 */ addu $at, $at, $v0 +/* D13C8C 802406BC AC2053D8 */ sw $zero, 0x53d8($at) +/* D13C90 802406C0 080901BC */ j .L802406F0 +/* D13C94 802406C4 00000000 */ nop +.L802406C8: +/* D13C98 802406C8 3C038024 */ lui $v1, 0x8024 +/* D13C9C 802406CC 246353D8 */ addiu $v1, $v1, 0x53d8 +/* D13CA0 802406D0 0060282D */ daddu $a1, $v1, $zero +.L802406D4: +/* D13CA4 802406D4 24820080 */ addiu $v0, $a0, 0x80 +/* D13CA8 802406D8 AC620000 */ sw $v0, ($v1) +/* D13CAC 802406DC 24630004 */ addiu $v1, $v1, 4 +/* D13CB0 802406E0 24840001 */ addiu $a0, $a0, 1 +/* D13CB4 802406E4 2882005B */ slti $v0, $a0, 0x5b +/* D13CB8 802406E8 1440FFFA */ bnez $v0, .L802406D4 +/* D13CBC 802406EC ACA0016C */ sw $zero, 0x16c($a1) +.L802406F0: +/* D13CC0 802406F0 8FBF0010 */ lw $ra, 0x10($sp) +/* D13CC4 802406F4 24020002 */ addiu $v0, $zero, 2 +/* D13CC8 802406F8 03E00008 */ jr $ra +/* D13CCC 802406FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80240000_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80240000_D187E0.s new file mode 100644 index 0000000000..d5797da920 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80240000_D187E0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D187E0 +/* D187E0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D187E4 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* D187E8 80240008 0080882D */ daddu $s1, $a0, $zero +/* D187EC 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* D187F0 80240010 AFB00010 */ sw $s0, 0x10($sp) +/* D187F4 80240014 8E300148 */ lw $s0, 0x148($s1) +/* D187F8 80240018 0C00EABB */ jal get_npc_unsafe +/* D187FC 8024001C 86040008 */ lh $a0, 8($s0) +/* D18800 80240020 24030001 */ addiu $v1, $zero, 1 +/* D18804 80240024 0040202D */ daddu $a0, $v0, $zero +/* D18808 80240028 AE03006C */ sw $v1, 0x6c($s0) +/* D1880C 8024002C 8482008C */ lh $v0, 0x8c($a0) +/* D18810 80240030 14400009 */ bnez $v0, .L80240058 +/* D18814 80240034 24020002 */ addiu $v0, $zero, 2 +/* D18818 80240038 96030072 */ lhu $v1, 0x72($s0) +/* D1881C 8024003C AE02006C */ sw $v0, 0x6c($s0) +/* D18820 80240040 A483008E */ sh $v1, 0x8e($a0) +/* D18824 80240044 8E0200CC */ lw $v0, 0xcc($s0) +/* D18828 80240048 8C420020 */ lw $v0, 0x20($v0) +/* D1882C 8024004C AC820028 */ sw $v0, 0x28($a0) +/* D18830 80240050 2402001F */ addiu $v0, $zero, 0x1f +/* D18834 80240054 AE220070 */ sw $v0, 0x70($s1) +.L80240058: +/* D18838 80240058 8FBF0018 */ lw $ra, 0x18($sp) +/* D1883C 8024005C 8FB10014 */ lw $s1, 0x14($sp) +/* D18840 80240060 8FB00010 */ lw $s0, 0x10($sp) +/* D18844 80240064 03E00008 */ jr $ra +/* D18848 80240068 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_8024006C_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_8024006C_D187E0.s new file mode 100644 index 0000000000..742e943ad5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_8024006C_D187E0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_D1884C +/* D1884C 8024006C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D18850 80240070 AFB10014 */ sw $s1, 0x14($sp) +/* D18854 80240074 0080882D */ daddu $s1, $a0, $zero +/* D18858 80240078 AFBF0018 */ sw $ra, 0x18($sp) +/* D1885C 8024007C AFB00010 */ sw $s0, 0x10($sp) +/* D18860 80240080 8E300148 */ lw $s0, 0x148($s1) +/* D18864 80240084 0C00EABB */ jal get_npc_unsafe +/* D18868 80240088 86040008 */ lh $a0, 8($s0) +/* D1886C 8024008C 0040202D */ daddu $a0, $v0, $zero +/* D18870 80240090 9482008E */ lhu $v0, 0x8e($a0) +/* D18874 80240094 2442FFFF */ addiu $v0, $v0, -1 +/* D18878 80240098 A482008E */ sh $v0, 0x8e($a0) +/* D1887C 8024009C 00021400 */ sll $v0, $v0, 0x10 +/* D18880 802400A0 1C400009 */ bgtz $v0, .L802400C8 +/* D18884 802400A4 24020003 */ addiu $v0, $zero, 3 +/* D18888 802400A8 96030076 */ lhu $v1, 0x76($s0) +/* D1888C 802400AC AE02006C */ sw $v0, 0x6c($s0) +/* D18890 802400B0 A483008E */ sh $v1, 0x8e($a0) +/* D18894 802400B4 8E0200CC */ lw $v0, 0xcc($s0) +/* D18898 802400B8 8C420024 */ lw $v0, 0x24($v0) +/* D1889C 802400BC AC820028 */ sw $v0, 0x28($a0) +/* D188A0 802400C0 24020020 */ addiu $v0, $zero, 0x20 +/* D188A4 802400C4 AE220070 */ sw $v0, 0x70($s1) +.L802400C8: +/* D188A8 802400C8 8FBF0018 */ lw $ra, 0x18($sp) +/* D188AC 802400CC 8FB10014 */ lw $s1, 0x14($sp) +/* D188B0 802400D0 8FB00010 */ lw $s0, 0x10($sp) +/* D188B4 802400D4 03E00008 */ jr $ra +/* D188B8 802400D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_802400DC_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_802400DC_D187E0.s new file mode 100644 index 0000000000..1deb32170c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_802400DC_D187E0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400DC_D188BC +/* D188BC 802400DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D188C0 802400E0 AFB10034 */ sw $s1, 0x34($sp) +/* D188C4 802400E4 0080882D */ daddu $s1, $a0, $zero +/* D188C8 802400E8 AFBF0038 */ sw $ra, 0x38($sp) +/* D188CC 802400EC AFB00030 */ sw $s0, 0x30($sp) +/* D188D0 802400F0 8E300148 */ lw $s0, 0x148($s1) +/* D188D4 802400F4 0C00EABB */ jal get_npc_unsafe +/* D188D8 802400F8 86040008 */ lh $a0, 8($s0) +/* D188DC 802400FC 0040282D */ daddu $a1, $v0, $zero +/* D188E0 80240100 94A2008E */ lhu $v0, 0x8e($a1) +/* D188E4 80240104 2442FFFF */ addiu $v0, $v0, -1 +/* D188E8 80240108 A4A2008E */ sh $v0, 0x8e($a1) +/* D188EC 8024010C 00021400 */ sll $v0, $v0, 0x10 +/* D188F0 80240110 1C400023 */ bgtz $v0, .L802401A0 +/* D188F4 80240114 24020004 */ addiu $v0, $zero, 4 +/* D188F8 80240118 8E0300CC */ lw $v1, 0xcc($s0) +/* D188FC 8024011C AE02006C */ sw $v0, 0x6c($s0) +/* D18900 80240120 8C620000 */ lw $v0, ($v1) +/* D18904 80240124 ACA20028 */ sw $v0, 0x28($a1) +/* D18908 80240128 9602007A */ lhu $v0, 0x7a($s0) +/* D1890C 8024012C A4A2008E */ sh $v0, 0x8e($a1) +/* D18910 80240130 8E020078 */ lw $v0, 0x78($s0) +/* D18914 80240134 28420008 */ slti $v0, $v0, 8 +/* D18918 80240138 14400018 */ bnez $v0, .L8024019C +/* D1891C 8024013C 24020021 */ addiu $v0, $zero, 0x21 +/* D18920 80240140 24040003 */ addiu $a0, $zero, 3 +/* D18924 80240144 27A30028 */ addiu $v1, $sp, 0x28 +/* D18928 80240148 84A700A8 */ lh $a3, 0xa8($a1) +/* D1892C 8024014C 3C013F80 */ lui $at, 0x3f80 +/* D18930 80240150 44810000 */ mtc1 $at, $f0 +/* D18934 80240154 3C014000 */ lui $at, 0x4000 +/* D18938 80240158 44811000 */ mtc1 $at, $f2 +/* D1893C 8024015C 3C01C1A0 */ lui $at, 0xc1a0 +/* D18940 80240160 44812000 */ mtc1 $at, $f4 +/* D18944 80240164 44873000 */ mtc1 $a3, $f6 +/* D18948 80240168 00000000 */ nop +/* D1894C 8024016C 468031A0 */ cvt.s.w $f6, $f6 +/* D18950 80240170 E7A00010 */ swc1 $f0, 0x10($sp) +/* D18954 80240174 E7A20014 */ swc1 $f2, 0x14($sp) +/* D18958 80240178 E7A40018 */ swc1 $f4, 0x18($sp) +/* D1895C 8024017C 8E020078 */ lw $v0, 0x78($s0) +/* D18960 80240180 44073000 */ mfc1 $a3, $f6 +/* D18964 80240184 0000302D */ daddu $a2, $zero, $zero +/* D18968 80240188 AFA30020 */ sw $v1, 0x20($sp) +/* D1896C 8024018C 2442FFFF */ addiu $v0, $v0, -1 +/* D18970 80240190 0C01BFA4 */ jal fx_emote +/* D18974 80240194 AFA2001C */ sw $v0, 0x1c($sp) +/* D18978 80240198 24020021 */ addiu $v0, $zero, 0x21 +.L8024019C: +/* D1897C 8024019C AE220070 */ sw $v0, 0x70($s1) +.L802401A0: +/* D18980 802401A0 8FBF0038 */ lw $ra, 0x38($sp) +/* D18984 802401A4 8FB10034 */ lw $s1, 0x34($sp) +/* D18988 802401A8 8FB00030 */ lw $s0, 0x30($sp) +/* D1898C 802401AC 03E00008 */ jr $ra +/* D18990 802401B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_802401B4_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_802401B4_D187E0.s new file mode 100644 index 0000000000..4489c865bb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_802401B4_D187E0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4_D18994 +/* D18994 802401B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D18998 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* D1899C 802401BC 0080882D */ daddu $s1, $a0, $zero +/* D189A0 802401C0 AFBF0018 */ sw $ra, 0x18($sp) +/* D189A4 802401C4 AFB00010 */ sw $s0, 0x10($sp) +/* D189A8 802401C8 8E300148 */ lw $s0, 0x148($s1) +/* D189AC 802401CC 0C00EABB */ jal get_npc_unsafe +/* D189B0 802401D0 86040008 */ lh $a0, 8($s0) +/* D189B4 802401D4 9443008E */ lhu $v1, 0x8e($v0) +/* D189B8 802401D8 2463FFFF */ addiu $v1, $v1, -1 +/* D189BC 802401DC A443008E */ sh $v1, 0x8e($v0) +/* D189C0 802401E0 00031C00 */ sll $v1, $v1, 0x10 +/* D189C4 802401E4 1C600003 */ bgtz $v1, .L802401F4 +/* D189C8 802401E8 2402000C */ addiu $v0, $zero, 0xc +/* D189CC 802401EC AE00006C */ sw $zero, 0x6c($s0) +/* D189D0 802401F0 AE220070 */ sw $v0, 0x70($s1) +.L802401F4: +/* D189D4 802401F4 8FBF0018 */ lw $ra, 0x18($sp) +/* D189D8 802401F8 8FB10014 */ lw $s1, 0x14($sp) +/* D189DC 802401FC 8FB00010 */ lw $s0, 0x10($sp) +/* D189E0 80240200 03E00008 */ jr $ra +/* D189E4 80240204 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80240208_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80240208_D187E0.s new file mode 100644 index 0000000000..ac3555908a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80240208_D187E0.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240208_D189E8 +/* D189E8 80240208 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D189EC 8024020C AFBF0024 */ sw $ra, 0x24($sp) +/* D189F0 80240210 AFB40020 */ sw $s4, 0x20($sp) +/* D189F4 80240214 AFB3001C */ sw $s3, 0x1c($sp) +/* D189F8 80240218 AFB20018 */ sw $s2, 0x18($sp) +/* D189FC 8024021C AFB10014 */ sw $s1, 0x14($sp) +/* D18A00 80240220 AFB00010 */ sw $s0, 0x10($sp) +/* D18A04 80240224 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D18A08 80240228 8C900148 */ lw $s0, 0x148($a0) +/* D18A0C 8024022C 86040008 */ lh $a0, 8($s0) +/* D18A10 80240230 0C00EABB */ jal get_npc_unsafe +/* D18A14 80240234 24110001 */ addiu $s1, $zero, 1 +/* D18A18 80240238 86040008 */ lh $a0, 8($s0) +/* D18A1C 8024023C 0040802D */ daddu $s0, $v0, $zero +/* D18A20 80240240 3C05800B */ lui $a1, %hi(gCameras) +/* D18A24 80240244 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D18A28 80240248 3C03800A */ lui $v1, 0x800a +/* D18A2C 8024024C 8463A634 */ lh $v1, -0x59cc($v1) +/* D18A30 80240250 00912021 */ addu $a0, $a0, $s1 +/* D18A34 80240254 00031080 */ sll $v0, $v1, 2 +/* D18A38 80240258 00431021 */ addu $v0, $v0, $v1 +/* D18A3C 8024025C 00021080 */ sll $v0, $v0, 2 +/* D18A40 80240260 00431023 */ subu $v0, $v0, $v1 +/* D18A44 80240264 000218C0 */ sll $v1, $v0, 3 +/* D18A48 80240268 00431021 */ addu $v0, $v0, $v1 +/* D18A4C 8024026C 000210C0 */ sll $v0, $v0, 3 +/* D18A50 80240270 0C00FB3A */ jal get_enemy +/* D18A54 80240274 00459021 */ addu $s2, $v0, $a1 +/* D18A58 80240278 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D18A5C 8024027C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D18A60 80240280 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D18A64 80240284 8E830000 */ lw $v1, ($s4) +/* D18A68 80240288 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D18A6C 8024028C 8C660028 */ lw $a2, 0x28($v1) +/* D18A70 80240290 8C670030 */ lw $a3, 0x30($v1) +/* D18A74 80240294 0C00A7B5 */ jal dist2D +/* D18A78 80240298 0040982D */ daddu $s3, $v0, $zero +/* D18A7C 8024029C C6620074 */ lwc1 $f2, 0x74($s3) +/* D18A80 802402A0 468010A0 */ cvt.s.w $f2, $f2 +/* D18A84 802402A4 4600103C */ c.lt.s $f2, $f0 +/* D18A88 802402A8 00000000 */ nop +/* D18A8C 802402AC 45030001 */ bc1tl .L802402B4 +/* D18A90 802402B0 0000882D */ daddu $s1, $zero, $zero +.L802402B4: +/* D18A94 802402B4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D18A98 802402B8 C60E000C */ lwc1 $f14, 0xc($s0) +/* D18A9C 802402BC 3C014387 */ lui $at, 0x4387 +/* D18AA0 802402C0 4481A000 */ mtc1 $at, $f20 +/* D18AA4 802402C4 0C00A70A */ jal get_clamped_angle_diff +/* D18AA8 802402C8 00000000 */ nop +/* D18AAC 802402CC 0C00A6C9 */ jal clamp_angle +/* D18AB0 802402D0 46000306 */ mov.s $f12, $f0 +/* D18AB4 802402D4 3C018024 */ lui $at, 0x8024 +/* D18AB8 802402D8 D42274E0 */ ldc1 $f2, 0x74e0($at) +/* D18ABC 802402DC 46000021 */ cvt.d.s $f0, $f0 +/* D18AC0 802402E0 4622003C */ c.lt.d $f0, $f2 +/* D18AC4 802402E4 00000000 */ nop +/* D18AC8 802402E8 45000003 */ bc1f .L802402F8 +/* D18ACC 802402EC 00000000 */ nop +/* D18AD0 802402F0 3C0142B4 */ lui $at, 0x42b4 +/* D18AD4 802402F4 4481A000 */ mtc1 $at, $f20 +.L802402F8: +/* D18AD8 802402F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D18ADC 802402FC 8E820000 */ lw $v0, ($s4) +/* D18AE0 80240300 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D18AE4 80240304 8C460028 */ lw $a2, 0x28($v0) +/* D18AE8 80240308 0C00A720 */ jal atan2 +/* D18AEC 8024030C 8C470030 */ lw $a3, 0x30($v0) +/* D18AF0 80240310 4600A306 */ mov.s $f12, $f20 +/* D18AF4 80240314 0C00A70A */ jal get_clamped_angle_diff +/* D18AF8 80240318 46000386 */ mov.s $f14, $f0 +/* D18AFC 8024031C C6620078 */ lwc1 $f2, 0x78($s3) +/* D18B00 80240320 468010A0 */ cvt.s.w $f2, $f2 +/* D18B04 80240324 46000005 */ abs.s $f0, $f0 +/* D18B08 80240328 4600103C */ c.lt.s $f2, $f0 +/* D18B0C 8024032C 00000000 */ nop +/* D18B10 80240330 45030001 */ bc1tl .L80240338 +/* D18B14 80240334 0000882D */ daddu $s1, $zero, $zero +.L80240338: +/* D18B18 80240338 8E820000 */ lw $v0, ($s4) +/* D18B1C 8024033C C600003C */ lwc1 $f0, 0x3c($s0) +/* D18B20 80240340 C442002C */ lwc1 $f2, 0x2c($v0) +/* D18B24 80240344 860200A8 */ lh $v0, 0xa8($s0) +/* D18B28 80240348 46020001 */ sub.s $f0, $f0, $f2 +/* D18B2C 8024034C 44821000 */ mtc1 $v0, $f2 +/* D18B30 80240350 00000000 */ nop +/* D18B34 80240354 468010A1 */ cvt.d.w $f2, $f2 +/* D18B38 80240358 46221080 */ add.d $f2, $f2, $f2 +/* D18B3C 8024035C 46000005 */ abs.s $f0, $f0 +/* D18B40 80240360 46000021 */ cvt.d.s $f0, $f0 +/* D18B44 80240364 4620103E */ c.le.d $f2, $f0 +/* D18B48 80240368 00000000 */ nop +/* D18B4C 8024036C 45030001 */ bc1tl .L80240374 +/* D18B50 80240370 0000882D */ daddu $s1, $zero, $zero +.L80240374: +/* D18B54 80240374 3C038011 */ lui $v1, 0x8011 +/* D18B58 80240378 8063EBB3 */ lb $v1, -0x144d($v1) +/* D18B5C 8024037C 24020009 */ addiu $v0, $zero, 9 +/* D18B60 80240380 50620001 */ beql $v1, $v0, .L80240388 +/* D18B64 80240384 0000882D */ daddu $s1, $zero, $zero +.L80240388: +/* D18B68 80240388 24020007 */ addiu $v0, $zero, 7 +/* D18B6C 8024038C 50620001 */ beql $v1, $v0, .L80240394 +/* D18B70 80240390 0000882D */ daddu $s1, $zero, $zero +.L80240394: +/* D18B74 80240394 0220102D */ daddu $v0, $s1, $zero +/* D18B78 80240398 8FBF0024 */ lw $ra, 0x24($sp) +/* D18B7C 8024039C 8FB40020 */ lw $s4, 0x20($sp) +/* D18B80 802403A0 8FB3001C */ lw $s3, 0x1c($sp) +/* D18B84 802403A4 8FB20018 */ lw $s2, 0x18($sp) +/* D18B88 802403A8 8FB10014 */ lw $s1, 0x14($sp) +/* D18B8C 802403AC 8FB00010 */ lw $s0, 0x10($sp) +/* D18B90 802403B0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D18B94 802403B4 03E00008 */ jr $ra +/* D18B98 802403B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_8024061C_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_8024061C_D187E0.s new file mode 100644 index 0000000000..40d8450830 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_8024061C_D187E0.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_D18DFC +/* D18DFC 8024061C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D18E00 80240620 AFB20038 */ sw $s2, 0x38($sp) +/* D18E04 80240624 0080902D */ daddu $s2, $a0, $zero +/* D18E08 80240628 AFBF0048 */ sw $ra, 0x48($sp) +/* D18E0C 8024062C AFB50044 */ sw $s5, 0x44($sp) +/* D18E10 80240630 AFB40040 */ sw $s4, 0x40($sp) +/* D18E14 80240634 AFB3003C */ sw $s3, 0x3c($sp) +/* D18E18 80240638 AFB10034 */ sw $s1, 0x34($sp) +/* D18E1C 8024063C AFB00030 */ sw $s0, 0x30($sp) +/* D18E20 80240640 8E510148 */ lw $s1, 0x148($s2) +/* D18E24 80240644 86240008 */ lh $a0, 8($s1) +/* D18E28 80240648 0C00EABB */ jal get_npc_unsafe +/* D18E2C 8024064C 00A0802D */ daddu $s0, $a1, $zero +/* D18E30 80240650 8E43000C */ lw $v1, 0xc($s2) +/* D18E34 80240654 0240202D */ daddu $a0, $s2, $zero +/* D18E38 80240658 8C650000 */ lw $a1, ($v1) +/* D18E3C 8024065C 0C0B1EAF */ jal get_variable +/* D18E40 80240660 0040A82D */ daddu $s5, $v0, $zero +/* D18E44 80240664 AFA00010 */ sw $zero, 0x10($sp) +/* D18E48 80240668 8E2300D0 */ lw $v1, 0xd0($s1) +/* D18E4C 8024066C 8C630030 */ lw $v1, 0x30($v1) +/* D18E50 80240670 AFA30014 */ sw $v1, 0x14($sp) +/* D18E54 80240674 8E2300D0 */ lw $v1, 0xd0($s1) +/* D18E58 80240678 8C63001C */ lw $v1, 0x1c($v1) +/* D18E5C 8024067C AFA30018 */ sw $v1, 0x18($sp) +/* D18E60 80240680 8E2300D0 */ lw $v1, 0xd0($s1) +/* D18E64 80240684 8C630024 */ lw $v1, 0x24($v1) +/* D18E68 80240688 AFA3001C */ sw $v1, 0x1c($sp) +/* D18E6C 8024068C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D18E70 80240690 8C630028 */ lw $v1, 0x28($v1) +/* D18E74 80240694 27B40010 */ addiu $s4, $sp, 0x10 +/* D18E78 80240698 AFA30020 */ sw $v1, 0x20($sp) +/* D18E7C 8024069C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D18E80 802406A0 3C014282 */ lui $at, 0x4282 +/* D18E84 802406A4 44810000 */ mtc1 $at, $f0 +/* D18E88 802406A8 8C63002C */ lw $v1, 0x2c($v1) +/* D18E8C 802406AC 0040982D */ daddu $s3, $v0, $zero +/* D18E90 802406B0 E7A00028 */ swc1 $f0, 0x28($sp) +/* D18E94 802406B4 A7A0002C */ sh $zero, 0x2c($sp) +/* D18E98 802406B8 16000005 */ bnez $s0, .L802406D0 +/* D18E9C 802406BC AFA30024 */ sw $v1, 0x24($sp) +/* D18EA0 802406C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D18EA4 802406C4 30420004 */ andi $v0, $v0, 4 +/* D18EA8 802406C8 10400020 */ beqz $v0, .L8024074C +/* D18EAC 802406CC 00000000 */ nop +.L802406D0: +/* D18EB0 802406D0 2404F7FF */ addiu $a0, $zero, -0x801 +/* D18EB4 802406D4 AE400070 */ sw $zero, 0x70($s2) +/* D18EB8 802406D8 A6A0008E */ sh $zero, 0x8e($s5) +/* D18EBC 802406DC 8E2200CC */ lw $v0, 0xcc($s1) +/* D18EC0 802406E0 8EA30000 */ lw $v1, ($s5) +/* D18EC4 802406E4 8C420000 */ lw $v0, ($v0) +/* D18EC8 802406E8 00641824 */ and $v1, $v1, $a0 +/* D18ECC 802406EC AEA30000 */ sw $v1, ($s5) +/* D18ED0 802406F0 AEA20028 */ sw $v0, 0x28($s5) +/* D18ED4 802406F4 8E2200D0 */ lw $v0, 0xd0($s1) +/* D18ED8 802406F8 8C420034 */ lw $v0, 0x34($v0) +/* D18EDC 802406FC 54400005 */ bnel $v0, $zero, .L80240714 +/* D18EE0 80240700 2402FDFF */ addiu $v0, $zero, -0x201 +/* D18EE4 80240704 34620200 */ ori $v0, $v1, 0x200 +/* D18EE8 80240708 2403FFF7 */ addiu $v1, $zero, -9 +/* D18EEC 8024070C 080901C7 */ j .L8024071C +/* D18EF0 80240710 00431024 */ and $v0, $v0, $v1 +.L80240714: +/* D18EF4 80240714 00621024 */ and $v0, $v1, $v0 +/* D18EF8 80240718 34420008 */ ori $v0, $v0, 8 +.L8024071C: +/* D18EFC 8024071C AEA20000 */ sw $v0, ($s5) +/* D18F00 80240720 8E2200B0 */ lw $v0, 0xb0($s1) +/* D18F04 80240724 30420004 */ andi $v0, $v0, 4 +/* D18F08 80240728 10400007 */ beqz $v0, .L80240748 +/* D18F0C 8024072C 24020063 */ addiu $v0, $zero, 0x63 +/* D18F10 80240730 AE420070 */ sw $v0, 0x70($s2) +/* D18F14 80240734 AE400074 */ sw $zero, 0x74($s2) +/* D18F18 80240738 8E2200B0 */ lw $v0, 0xb0($s1) +/* D18F1C 8024073C 2403FFFB */ addiu $v1, $zero, -5 +/* D18F20 80240740 00431024 */ and $v0, $v0, $v1 +/* D18F24 80240744 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240748: +/* D18F28 80240748 AE20006C */ sw $zero, 0x6c($s1) +.L8024074C: +/* D18F2C 8024074C 8E420070 */ lw $v0, 0x70($s2) +/* D18F30 80240750 2842001E */ slti $v0, $v0, 0x1e +/* D18F34 80240754 10400009 */ beqz $v0, .L8024077C +/* D18F38 80240758 00000000 */ nop +/* D18F3C 8024075C 8E22006C */ lw $v0, 0x6c($s1) +/* D18F40 80240760 14400006 */ bnez $v0, .L8024077C +/* D18F44 80240764 00000000 */ nop +/* D18F48 80240768 0C090082 */ jal func_80240208 +/* D18F4C 8024076C 0240202D */ daddu $a0, $s2, $zero +/* D18F50 80240770 10400002 */ beqz $v0, .L8024077C +/* D18F54 80240774 2402001E */ addiu $v0, $zero, 0x1e +/* D18F58 80240778 AE420070 */ sw $v0, 0x70($s2) +.L8024077C: +/* D18F5C 8024077C 8E430070 */ lw $v1, 0x70($s2) +/* D18F60 80240780 2C620064 */ sltiu $v0, $v1, 0x64 +/* D18F64 80240784 10400048 */ beqz $v0, .L802408A8 +/* D18F68 80240788 00031080 */ sll $v0, $v1, 2 +/* D18F6C 8024078C 3C018024 */ lui $at, 0x8024 +/* D18F70 80240790 00220821 */ addu $at, $at, $v0 +/* D18F74 80240794 8C2274E8 */ lw $v0, 0x74e8($at) +/* D18F78 80240798 00400008 */ jr $v0 +/* D18F7C 8024079C 00000000 */ nop +/* D18F80 802407A0 0240202D */ daddu $a0, $s2, $zero +/* D18F84 802407A4 0260282D */ daddu $a1, $s3, $zero +/* D18F88 802407A8 0C012568 */ jal func_800495A0 +/* D18F8C 802407AC 0280302D */ daddu $a2, $s4, $zero +/* D18F90 802407B0 0240202D */ daddu $a0, $s2, $zero +/* D18F94 802407B4 0260282D */ daddu $a1, $s3, $zero +/* D18F98 802407B8 0C0125AE */ jal func_800496B8 +/* D18F9C 802407BC 0280302D */ daddu $a2, $s4, $zero +/* D18FA0 802407C0 0809022A */ j .L802408A8 +/* D18FA4 802407C4 00000000 */ nop +/* D18FA8 802407C8 0240202D */ daddu $a0, $s2, $zero +/* D18FAC 802407CC 0260282D */ daddu $a1, $s3, $zero +/* D18FB0 802407D0 0C0126D1 */ jal func_80049B44 +/* D18FB4 802407D4 0280302D */ daddu $a2, $s4, $zero +/* D18FB8 802407D8 0240202D */ daddu $a0, $s2, $zero +/* D18FBC 802407DC 0260282D */ daddu $a1, $s3, $zero +/* D18FC0 802407E0 0C012701 */ jal func_80049C04 +/* D18FC4 802407E4 0280302D */ daddu $a2, $s4, $zero +/* D18FC8 802407E8 0809022A */ j .L802408A8 +/* D18FCC 802407EC 00000000 */ nop +/* D18FD0 802407F0 0240202D */ daddu $a0, $s2, $zero +/* D18FD4 802407F4 0260282D */ daddu $a1, $s3, $zero +/* D18FD8 802407F8 0C01278F */ jal func_80049E3C +/* D18FDC 802407FC 0280302D */ daddu $a2, $s4, $zero +/* D18FE0 80240800 0240202D */ daddu $a0, $s2, $zero +/* D18FE4 80240804 0260282D */ daddu $a1, $s3, $zero +/* D18FE8 80240808 0C0127B3 */ jal func_80049ECC +/* D18FEC 8024080C 0280302D */ daddu $a2, $s4, $zero +/* D18FF0 80240810 0809022A */ j .L802408A8 +/* D18FF4 80240814 00000000 */ nop +/* D18FF8 80240818 0240202D */ daddu $a0, $s2, $zero +/* D18FFC 8024081C 0260282D */ daddu $a1, $s3, $zero +/* D19000 80240820 0C0127DF */ jal func_80049F7C +/* D19004 80240824 0280302D */ daddu $a2, $s4, $zero +/* D19008 80240828 0240202D */ daddu $a0, $s2, $zero +/* D1900C 8024082C 0260282D */ daddu $a1, $s3, $zero +/* D19010 80240830 0C012849 */ jal func_8004A124 +/* D19014 80240834 0280302D */ daddu $a2, $s4, $zero +/* D19018 80240838 0809022A */ j .L802408A8 +/* D1901C 8024083C 00000000 */ nop +/* D19020 80240840 0240202D */ daddu $a0, $s2, $zero +/* D19024 80240844 0260282D */ daddu $a1, $s3, $zero +/* D19028 80240848 0C0128FA */ jal func_8004A3E8 +/* D1902C 8024084C 0280302D */ daddu $a2, $s4, $zero +/* D19030 80240850 0809022A */ j .L802408A8 +/* D19034 80240854 00000000 */ nop +/* D19038 80240858 0C090000 */ jal func_80240000 +/* D1903C 8024085C 0240202D */ daddu $a0, $s2, $zero +/* D19040 80240860 0C09001B */ jal func_8024006C +/* D19044 80240864 0240202D */ daddu $a0, $s2, $zero +/* D19048 80240868 8E430070 */ lw $v1, 0x70($s2) +/* D1904C 8024086C 24020020 */ addiu $v0, $zero, 0x20 +/* D19050 80240870 1462000D */ bne $v1, $v0, .L802408A8 +/* D19054 80240874 00000000 */ nop +/* D19058 80240878 0C090037 */ jal func_802400DC +/* D1905C 8024087C 0240202D */ daddu $a0, $s2, $zero +/* D19060 80240880 8E430070 */ lw $v1, 0x70($s2) +/* D19064 80240884 24020021 */ addiu $v0, $zero, 0x21 +/* D19068 80240888 14620007 */ bne $v1, $v0, .L802408A8 +/* D1906C 8024088C 00000000 */ nop +/* D19070 80240890 0C09006D */ jal func_802401B4 +/* D19074 80240894 0240202D */ daddu $a0, $s2, $zero +/* D19078 80240898 0809022A */ j .L802408A8 +/* D1907C 8024089C 00000000 */ nop +/* D19080 802408A0 0C0129CF */ jal func_8004A73C +/* D19084 802408A4 0240202D */ daddu $a0, $s2, $zero +.L802408A8: +/* D19088 802408A8 8FBF0048 */ lw $ra, 0x48($sp) +/* D1908C 802408AC 8FB50044 */ lw $s5, 0x44($sp) +/* D19090 802408B0 8FB40040 */ lw $s4, 0x40($sp) +/* D19094 802408B4 8FB3003C */ lw $s3, 0x3c($sp) +/* D19098 802408B8 8FB20038 */ lw $s2, 0x38($sp) +/* D1909C 802408BC 8FB10034 */ lw $s1, 0x34($sp) +/* D190A0 802408C0 8FB00030 */ lw $s0, 0x30($sp) +/* D190A4 802408C4 0000102D */ daddu $v0, $zero, $zero +/* D190A8 802408C8 03E00008 */ jr $ra +/* D190AC 802408CC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_802408D0_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_802408D0_D187E0.s new file mode 100644 index 0000000000..46a4bd2e83 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_802408D0_D187E0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408D0_D190B0 +/* D190B0 802408D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D190B4 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* D190B8 802408D8 0080882D */ daddu $s1, $a0, $zero +/* D190BC 802408DC AFBF0018 */ sw $ra, 0x18($sp) +/* D190C0 802408E0 AFB00010 */ sw $s0, 0x10($sp) +/* D190C4 802408E4 8E300148 */ lw $s0, 0x148($s1) +/* D190C8 802408E8 0C00EABB */ jal get_npc_unsafe +/* D190CC 802408EC 86040008 */ lh $a0, 8($s0) +/* D190D0 802408F0 0040202D */ daddu $a0, $v0, $zero +/* D190D4 802408F4 8482008E */ lh $v0, 0x8e($a0) +/* D190D8 802408F8 9483008E */ lhu $v1, 0x8e($a0) +/* D190DC 802408FC 18400003 */ blez $v0, .L8024090C +/* D190E0 80240900 2462FFFF */ addiu $v0, $v1, -1 +/* D190E4 80240904 0809024A */ j .L80240928 +/* D190E8 80240908 A482008E */ sh $v0, 0x8e($a0) +.L8024090C: +/* D190EC 8024090C 8E0200CC */ lw $v0, 0xcc($s0) +/* D190F0 80240910 AE00006C */ sw $zero, 0x6c($s0) +/* D190F4 80240914 8C420000 */ lw $v0, ($v0) +/* D190F8 80240918 AC820028 */ sw $v0, 0x28($a0) +/* D190FC 8024091C 24020001 */ addiu $v0, $zero, 1 +/* D19100 80240920 AE200074 */ sw $zero, 0x74($s1) +/* D19104 80240924 AE220070 */ sw $v0, 0x70($s1) +.L80240928: +/* D19108 80240928 8FBF0018 */ lw $ra, 0x18($sp) +/* D1910C 8024092C 8FB10014 */ lw $s1, 0x14($sp) +/* D19110 80240930 8FB00010 */ lw $s0, 0x10($sp) +/* D19114 80240934 03E00008 */ jr $ra +/* D19118 80240938 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_8024093C_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_8024093C_D187E0.s new file mode 100644 index 0000000000..4077dc0bc4 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_8024093C_D187E0.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024093C_D1911C +/* D1911C 8024093C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D19120 80240940 AFB3003C */ sw $s3, 0x3c($sp) +/* D19124 80240944 0080982D */ daddu $s3, $a0, $zero +/* D19128 80240948 AFBF0040 */ sw $ra, 0x40($sp) +/* D1912C 8024094C AFB20038 */ sw $s2, 0x38($sp) +/* D19130 80240950 AFB10034 */ sw $s1, 0x34($sp) +/* D19134 80240954 AFB00030 */ sw $s0, 0x30($sp) +/* D19138 80240958 8E720148 */ lw $s2, 0x148($s3) +/* D1913C 8024095C 00A0882D */ daddu $s1, $a1, $zero +/* D19140 80240960 86440008 */ lh $a0, 8($s2) +/* D19144 80240964 0C00EABB */ jal get_npc_unsafe +/* D19148 80240968 00C0802D */ daddu $s0, $a2, $zero +/* D1914C 8024096C 0200202D */ daddu $a0, $s0, $zero +/* D19150 80240970 0240282D */ daddu $a1, $s2, $zero +/* D19154 80240974 AFA00010 */ sw $zero, 0x10($sp) +/* D19158 80240978 8E26000C */ lw $a2, 0xc($s1) +/* D1915C 8024097C 8E270010 */ lw $a3, 0x10($s1) +/* D19160 80240980 0C01242D */ jal func_800490B4 +/* D19164 80240984 0040882D */ daddu $s1, $v0, $zero +/* D19168 80240988 10400024 */ beqz $v0, .L80240A1C +/* D1916C 8024098C 0220202D */ daddu $a0, $s1, $zero +/* D19170 80240990 24050322 */ addiu $a1, $zero, 0x322 +/* D19174 80240994 0C012530 */ jal func_800494C0 +/* D19178 80240998 0000302D */ daddu $a2, $zero, $zero +/* D1917C 8024099C 0000202D */ daddu $a0, $zero, $zero +/* D19180 802409A0 0220282D */ daddu $a1, $s1, $zero +/* D19184 802409A4 0000302D */ daddu $a2, $zero, $zero +/* D19188 802409A8 2410000A */ addiu $s0, $zero, 0xa +/* D1918C 802409AC 862300A8 */ lh $v1, 0xa8($s1) +/* D19190 802409B0 3C013F80 */ lui $at, 0x3f80 +/* D19194 802409B4 44810000 */ mtc1 $at, $f0 +/* D19198 802409B8 3C014000 */ lui $at, 0x4000 +/* D1919C 802409BC 44811000 */ mtc1 $at, $f2 +/* D191A0 802409C0 3C01C1A0 */ lui $at, 0xc1a0 +/* D191A4 802409C4 44812000 */ mtc1 $at, $f4 +/* D191A8 802409C8 44833000 */ mtc1 $v1, $f6 +/* D191AC 802409CC 00000000 */ nop +/* D191B0 802409D0 468031A0 */ cvt.s.w $f6, $f6 +/* D191B4 802409D4 44073000 */ mfc1 $a3, $f6 +/* D191B8 802409D8 27A20028 */ addiu $v0, $sp, 0x28 +/* D191BC 802409DC AFB0001C */ sw $s0, 0x1c($sp) +/* D191C0 802409E0 AFA20020 */ sw $v0, 0x20($sp) +/* D191C4 802409E4 E7A00010 */ swc1 $f0, 0x10($sp) +/* D191C8 802409E8 E7A20014 */ swc1 $f2, 0x14($sp) +/* D191CC 802409EC 0C01BFA4 */ jal fx_emote +/* D191D0 802409F0 E7A40018 */ swc1 $f4, 0x18($sp) +/* D191D4 802409F4 0220202D */ daddu $a0, $s1, $zero +/* D191D8 802409F8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D191DC 802409FC 0C012530 */ jal func_800494C0 +/* D191E0 80240A00 3C060020 */ lui $a2, 0x20 +/* D191E4 80240A04 8E4200CC */ lw $v0, 0xcc($s2) +/* D191E8 80240A08 8C420020 */ lw $v0, 0x20($v0) +/* D191EC 80240A0C AE220028 */ sw $v0, 0x28($s1) +/* D191F0 80240A10 9642008E */ lhu $v0, 0x8e($s2) +/* D191F4 80240A14 A622008E */ sh $v0, 0x8e($s1) +/* D191F8 80240A18 AE700070 */ sw $s0, 0x70($s3) +.L80240A1C: +/* D191FC 80240A1C 8FBF0040 */ lw $ra, 0x40($sp) +/* D19200 80240A20 8FB3003C */ lw $s3, 0x3c($sp) +/* D19204 80240A24 8FB20038 */ lw $s2, 0x38($sp) +/* D19208 80240A28 8FB10034 */ lw $s1, 0x34($sp) +/* D1920C 80240A2C 8FB00030 */ lw $s0, 0x30($sp) +/* D19210 80240A30 03E00008 */ jr $ra +/* D19214 80240A34 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80240A38_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80240A38_D187E0.s new file mode 100644 index 0000000000..76229013e5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80240A38_D187E0.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A38_D19218 +/* D19218 80240A38 27BDFF80 */ addiu $sp, $sp, -0x80 +/* D1921C 80240A3C AFBF0064 */ sw $ra, 0x64($sp) +/* D19220 80240A40 AFBE0060 */ sw $fp, 0x60($sp) +/* D19224 80240A44 AFB7005C */ sw $s7, 0x5c($sp) +/* D19228 80240A48 AFB60058 */ sw $s6, 0x58($sp) +/* D1922C 80240A4C AFB50054 */ sw $s5, 0x54($sp) +/* D19230 80240A50 AFB40050 */ sw $s4, 0x50($sp) +/* D19234 80240A54 AFB3004C */ sw $s3, 0x4c($sp) +/* D19238 80240A58 AFB20048 */ sw $s2, 0x48($sp) +/* D1923C 80240A5C AFB10044 */ sw $s1, 0x44($sp) +/* D19240 80240A60 AFB00040 */ sw $s0, 0x40($sp) +/* D19244 80240A64 F7B80078 */ sdc1 $f24, 0x78($sp) +/* D19248 80240A68 F7B60070 */ sdc1 $f22, 0x70($sp) +/* D1924C 80240A6C F7B40068 */ sdc1 $f20, 0x68($sp) +/* D19250 80240A70 AFA40080 */ sw $a0, 0x80($sp) +/* D19254 80240A74 8C960148 */ lw $s6, 0x148($a0) +/* D19258 80240A78 00C0902D */ daddu $s2, $a2, $zero +/* D1925C 80240A7C 86C40008 */ lh $a0, 8($s6) +/* D19260 80240A80 0C00EABB */ jal get_npc_unsafe +/* D19264 80240A84 0000B82D */ daddu $s7, $zero, $zero +/* D19268 80240A88 0040882D */ daddu $s1, $v0, $zero +/* D1926C 80240A8C 9622008E */ lhu $v0, 0x8e($s1) +/* D19270 80240A90 2442FFFF */ addiu $v0, $v0, -1 +/* D19274 80240A94 A622008E */ sh $v0, 0x8e($s1) +/* D19278 80240A98 00021400 */ sll $v0, $v0, 0x10 +/* D1927C 80240A9C 8EC30090 */ lw $v1, 0x90($s6) +/* D19280 80240AA0 00021403 */ sra $v0, $v0, 0x10 +/* D19284 80240AA4 0062182A */ slt $v1, $v1, $v0 +/* D19288 80240AA8 14600005 */ bnez $v1, .L80240AC0 +/* D1928C 80240AAC 02E0F02D */ daddu $fp, $s7, $zero +/* D19290 80240AB0 8EC20000 */ lw $v0, ($s6) +/* D19294 80240AB4 3C031F10 */ lui $v1, 0x1f10 +/* D19298 80240AB8 00431025 */ or $v0, $v0, $v1 +/* D1929C 80240ABC AEC20000 */ sw $v0, ($s6) +.L80240AC0: +/* D192A0 80240AC0 8622008E */ lh $v0, 0x8e($s1) +/* D192A4 80240AC4 1440025D */ bnez $v0, .L8024143C +/* D192A8 80240AC8 00000000 */ nop +/* D192AC 80240ACC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D192B0 80240AD0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D192B4 80240AD4 0C00A6C9 */ jal clamp_angle +/* D192B8 80240AD8 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* D192BC 80240ADC 3C014334 */ lui $at, 0x4334 +/* D192C0 80240AE0 44811000 */ mtc1 $at, $f2 +/* D192C4 80240AE4 00000000 */ nop +/* D192C8 80240AE8 4602003C */ c.lt.s $f0, $f2 +/* D192CC 80240AEC 00000000 */ nop +/* D192D0 80240AF0 45000011 */ bc1f .L80240B38 +/* D192D4 80240AF4 00000000 */ nop +/* D192D8 80240AF8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D192DC 80240AFC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D192E0 80240B00 3C0142B4 */ lui $at, 0x42b4 +/* D192E4 80240B04 44816000 */ mtc1 $at, $f12 +/* D192E8 80240B08 00031080 */ sll $v0, $v1, 2 +/* D192EC 80240B0C 00431021 */ addu $v0, $v0, $v1 +/* D192F0 80240B10 00021080 */ sll $v0, $v0, 2 +/* D192F4 80240B14 00431023 */ subu $v0, $v0, $v1 +/* D192F8 80240B18 000218C0 */ sll $v1, $v0, 3 +/* D192FC 80240B1C 00431021 */ addu $v0, $v0, $v1 +/* D19300 80240B20 000210C0 */ sll $v0, $v0, 3 +/* D19304 80240B24 3C01800B */ lui $at, 0x800b +/* D19308 80240B28 00220821 */ addu $at, $at, $v0 +/* D1930C 80240B2C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D19310 80240B30 080902DD */ j .L80240B74 +/* D19314 80240B34 460C0301 */ sub.s $f12, $f0, $f12 +.L80240B38: +/* D19318 80240B38 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D1931C 80240B3C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D19320 80240B40 3C0142B4 */ lui $at, 0x42b4 +/* D19324 80240B44 44816000 */ mtc1 $at, $f12 +/* D19328 80240B48 00031080 */ sll $v0, $v1, 2 +/* D1932C 80240B4C 00431021 */ addu $v0, $v0, $v1 +/* D19330 80240B50 00021080 */ sll $v0, $v0, 2 +/* D19334 80240B54 00431023 */ subu $v0, $v0, $v1 +/* D19338 80240B58 000218C0 */ sll $v1, $v0, 3 +/* D1933C 80240B5C 00431021 */ addu $v0, $v0, $v1 +/* D19340 80240B60 000210C0 */ sll $v0, $v0, 3 +/* D19344 80240B64 3C01800B */ lui $at, 0x800b +/* D19348 80240B68 00220821 */ addu $at, $at, $v0 +/* D1934C 80240B6C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D19350 80240B70 460C0300 */ add.s $f12, $f0, $f12 +.L80240B74: +/* D19354 80240B74 0C00A6C9 */ jal clamp_angle +/* D19358 80240B78 00000000 */ nop +/* D1935C 80240B7C 46000586 */ mov.s $f22, $f0 +/* D19360 80240B80 3C014334 */ lui $at, 0x4334 +/* D19364 80240B84 44816000 */ mtc1 $at, $f12 +/* D19368 80240B88 0C00A6C9 */ jal clamp_angle +/* D1936C 80240B8C 460CB300 */ add.s $f12, $f22, $f12 +/* D19370 80240B90 8EC20088 */ lw $v0, 0x88($s6) +/* D19374 80240B94 14400010 */ bnez $v0, .L80240BD8 +/* D19378 80240B98 46000606 */ mov.s $f24, $f0 +/* D1937C 80240B9C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D19380 80240BA0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D19384 80240BA4 804300B4 */ lb $v1, 0xb4($v0) +/* D19388 80240BA8 3C014200 */ lui $at, 0x4200 +/* D1938C 80240BAC 4481A000 */ mtc1 $at, $f20 +/* D19390 80240BB0 10600016 */ beqz $v1, .L80240C0C +/* D19394 80240BB4 24020001 */ addiu $v0, $zero, 1 +/* D19398 80240BB8 3C0142C8 */ lui $at, 0x42c8 +/* D1939C 80240BBC 4481A000 */ mtc1 $at, $f20 +/* D193A0 80240BC0 14620013 */ bne $v1, $v0, .L80240C10 +/* D193A4 80240BC4 26300038 */ addiu $s0, $s1, 0x38 +/* D193A8 80240BC8 3C0142B4 */ lui $at, 0x42b4 +/* D193AC 80240BCC 4481A000 */ mtc1 $at, $f20 +/* D193B0 80240BD0 08090305 */ j .L80240C14 +/* D193B4 80240BD4 0200202D */ daddu $a0, $s0, $zero +.L80240BD8: +/* D193B8 80240BD8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D193BC 80240BDC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D193C0 80240BE0 804300B4 */ lb $v1, 0xb4($v0) +/* D193C4 80240BE4 3C014218 */ lui $at, 0x4218 +/* D193C8 80240BE8 4481A000 */ mtc1 $at, $f20 +/* D193CC 80240BEC 10600007 */ beqz $v1, .L80240C0C +/* D193D0 80240BF0 24020001 */ addiu $v0, $zero, 1 +/* D193D4 80240BF4 3C0142B4 */ lui $at, 0x42b4 +/* D193D8 80240BF8 4481A000 */ mtc1 $at, $f20 +/* D193DC 80240BFC 14620004 */ bne $v1, $v0, .L80240C10 +/* D193E0 80240C00 26300038 */ addiu $s0, $s1, 0x38 +/* D193E4 80240C04 3C014296 */ lui $at, 0x4296 +/* D193E8 80240C08 4481A000 */ mtc1 $at, $f20 +.L80240C0C: +/* D193EC 80240C0C 26300038 */ addiu $s0, $s1, 0x38 +.L80240C10: +/* D193F0 80240C10 0200202D */ daddu $a0, $s0, $zero +.L80240C14: +/* D193F4 80240C14 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* D193F8 80240C18 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* D193FC 80240C1C 4407C000 */ mfc1 $a3, $f24 +/* D19400 80240C20 862200A6 */ lh $v0, 0xa6($s1) +/* D19404 80240C24 8EA30000 */ lw $v1, ($s5) +/* D19408 80240C28 44824000 */ mtc1 $v0, $f8 +/* D1940C 80240C2C 00000000 */ nop +/* D19410 80240C30 46804220 */ cvt.s.w $f8, $f8 +/* D19414 80240C34 C4600028 */ lwc1 $f0, 0x28($v1) +/* D19418 80240C38 44064000 */ mfc1 $a2, $f8 +/* D1941C 80240C3C 26330040 */ addiu $s3, $s1, 0x40 +/* D19420 80240C40 E6200038 */ swc1 $f0, 0x38($s1) +/* D19424 80240C44 C4600030 */ lwc1 $f0, 0x30($v1) +/* D19428 80240C48 0260282D */ daddu $a1, $s3, $zero +/* D1942C 80240C4C 0C00A7E7 */ jal add_vec2D_polar +/* D19430 80240C50 E6200040 */ swc1 $f0, 0x40($s1) +/* D19434 80240C54 862200A6 */ lh $v0, 0xa6($s1) +/* D19438 80240C58 44820000 */ mtc1 $v0, $f0 +/* D1943C 80240C5C 00000000 */ nop +/* D19440 80240C60 46800020 */ cvt.s.w $f0, $f0 +/* D19444 80240C64 4600A000 */ add.s $f0, $f20, $f0 +/* D19448 80240C68 4406B000 */ mfc1 $a2, $f22 +/* D1944C 80240C6C 44050000 */ mfc1 $a1, $f0 +/* D19450 80240C70 0C00EA95 */ jal npc_move_heading +/* D19454 80240C74 0220202D */ daddu $a0, $s1, $zero +/* D19458 80240C78 8EC20088 */ lw $v0, 0x88($s6) +/* D1945C 80240C7C 1440005D */ bnez $v0, .L80240DF4 +/* D19460 80240C80 00000000 */ nop +/* D19464 80240C84 C6200038 */ lwc1 $f0, 0x38($s1) +/* D19468 80240C88 3C018024 */ lui $at, 0x8024 +/* D1946C 80240C8C D4247678 */ ldc1 $f4, 0x7678($at) +/* D19470 80240C90 46000021 */ cvt.d.s $f0, $f0 +/* D19474 80240C94 4620203C */ c.lt.d $f4, $f0 +/* D19478 80240C98 00000000 */ nop +/* D1947C 80240C9C 45000005 */ bc1f .L80240CB4 +/* D19480 80240CA0 00000000 */ nop +/* D19484 80240CA4 3C0143BE */ lui $at, 0x43be +/* D19488 80240CA8 44810000 */ mtc1 $at, $f0 +/* D1948C 80240CAC 00000000 */ nop +/* D19490 80240CB0 E6200038 */ swc1 $f0, 0x38($s1) +.L80240CB4: +/* D19494 80240CB4 C6200038 */ lwc1 $f0, 0x38($s1) +/* D19498 80240CB8 3C018024 */ lui $at, 0x8024 +/* D1949C 80240CBC D4227680 */ ldc1 $f2, 0x7680($at) +/* D194A0 80240CC0 46000021 */ cvt.d.s $f0, $f0 +/* D194A4 80240CC4 4622003C */ c.lt.d $f0, $f2 +/* D194A8 80240CC8 00000000 */ nop +/* D194AC 80240CCC 45000005 */ bc1f .L80240CE4 +/* D194B0 80240CD0 00000000 */ nop +/* D194B4 80240CD4 3C01C3BE */ lui $at, 0xc3be +/* D194B8 80240CD8 44810000 */ mtc1 $at, $f0 +/* D194BC 80240CDC 00000000 */ nop +/* D194C0 80240CE0 E6200038 */ swc1 $f0, 0x38($s1) +.L80240CE4: +/* D194C4 80240CE4 C6200040 */ lwc1 $f0, 0x40($s1) +/* D194C8 80240CE8 46000021 */ cvt.d.s $f0, $f0 +/* D194CC 80240CEC 4620203C */ c.lt.d $f4, $f0 +/* D194D0 80240CF0 00000000 */ nop +/* D194D4 80240CF4 45000005 */ bc1f .L80240D0C +/* D194D8 80240CF8 00000000 */ nop +/* D194DC 80240CFC 3C0143BE */ lui $at, 0x43be +/* D194E0 80240D00 44810000 */ mtc1 $at, $f0 +/* D194E4 80240D04 00000000 */ nop +/* D194E8 80240D08 E6200040 */ swc1 $f0, 0x40($s1) +.L80240D0C: +/* D194EC 80240D0C C6200040 */ lwc1 $f0, 0x40($s1) +/* D194F0 80240D10 46000021 */ cvt.d.s $f0, $f0 +/* D194F4 80240D14 4622003C */ c.lt.d $f0, $f2 +/* D194F8 80240D18 00000000 */ nop +/* D194FC 80240D1C 45000005 */ bc1f .L80240D34 +/* D19500 80240D20 00000000 */ nop +/* D19504 80240D24 3C01C3BE */ lui $at, 0xc3be +/* D19508 80240D28 44810000 */ mtc1 $at, $f0 +/* D1950C 80240D2C 00000000 */ nop +/* D19510 80240D30 E6200040 */ swc1 $f0, 0x40($s1) +.L80240D34: +/* D19514 80240D34 C6220038 */ lwc1 $f2, 0x38($s1) +/* D19518 80240D38 46021082 */ mul.s $f2, $f2, $f2 +/* D1951C 80240D3C 00000000 */ nop +/* D19520 80240D40 C6200040 */ lwc1 $f0, 0x40($s1) +/* D19524 80240D44 46000002 */ mul.s $f0, $f0, $f0 +/* D19528 80240D48 00000000 */ nop +/* D1952C 80240D4C 46001300 */ add.s $f12, $f2, $f0 +/* D19530 80240D50 46006004 */ sqrt.s $f0, $f12 +/* D19534 80240D54 46000032 */ c.eq.s $f0, $f0 +/* D19538 80240D58 00000000 */ nop +/* D1953C 80240D5C 45010003 */ bc1t .L80240D6C +/* D19540 80240D60 00000000 */ nop +/* D19544 80240D64 0C0187BC */ jal sqrtf +/* D19548 80240D68 00000000 */ nop +.L80240D6C: +/* D1954C 80240D6C 8E260038 */ lw $a2, 0x38($s1) +/* D19550 80240D70 8E270040 */ lw $a3, 0x40($s1) +/* D19554 80240D74 4480A000 */ mtc1 $zero, $f20 +/* D19558 80240D78 E7A00038 */ swc1 $f0, 0x38($sp) +/* D1955C 80240D7C 4600A306 */ mov.s $f12, $f20 +/* D19560 80240D80 0C00A720 */ jal atan2 +/* D19564 80240D84 4600A386 */ mov.s $f14, $f20 +/* D19568 80240D88 46000586 */ mov.s $f22, $f0 +/* D1956C 80240D8C C7A20038 */ lwc1 $f2, 0x38($sp) +/* D19570 80240D90 3C018024 */ lui $at, 0x8024 +/* D19574 80240D94 D4207688 */ ldc1 $f0, 0x7688($at) +/* D19578 80240D98 460010A1 */ cvt.d.s $f2, $f2 +/* D1957C 80240D9C 4620103C */ c.lt.d $f2, $f0 +/* D19580 80240DA0 00000000 */ nop +/* D19584 80240DA4 45000004 */ bc1f .L80240DB8 +/* D19588 80240DA8 0200202D */ daddu $a0, $s0, $zero +/* D1958C 80240DAC 3C064398 */ lui $a2, 0x4398 +/* D19590 80240DB0 08090376 */ j .L80240DD8 +/* D19594 80240DB4 34C68000 */ ori $a2, $a2, 0x8000 +.L80240DB8: +/* D19598 80240DB8 3C018024 */ lui $at, 0x8024 +/* D1959C 80240DBC D4207690 */ ldc1 $f0, 0x7690($at) +/* D195A0 80240DC0 4622003C */ c.lt.d $f0, $f2 +/* D195A4 80240DC4 00000000 */ nop +/* D195A8 80240DC8 450000FA */ bc1f .L802411B4 +/* D195AC 80240DCC 00000000 */ nop +/* D195B0 80240DD0 3C0643BB */ lui $a2, 0x43bb +/* D195B4 80240DD4 34C68000 */ ori $a2, $a2, 0x8000 +.L80240DD8: +/* D195B8 80240DD8 4407B000 */ mfc1 $a3, $f22 +/* D195BC 80240DDC 0260282D */ daddu $a1, $s3, $zero +/* D195C0 80240DE0 E6340038 */ swc1 $f20, 0x38($s1) +/* D195C4 80240DE4 0C00A7E7 */ jal add_vec2D_polar +/* D195C8 80240DE8 E6340040 */ swc1 $f20, 0x40($s1) +/* D195CC 80240DEC 0809046D */ j .L802411B4 +/* D195D0 80240DF0 00000000 */ nop +.L80240DF4: +/* D195D4 80240DF4 8E220000 */ lw $v0, ($s1) +/* D195D8 80240DF8 30420040 */ andi $v0, $v0, 0x40 +/* D195DC 80240DFC 144000B0 */ bnez $v0, .L802410C0 +/* D195E0 80240E00 27A50020 */ addiu $a1, $sp, 0x20 +/* D195E4 80240E04 27B40020 */ addiu $s4, $sp, 0x20 +/* D195E8 80240E08 0280282D */ daddu $a1, $s4, $zero +/* D195EC 80240E0C 27B30024 */ addiu $s3, $sp, 0x24 +/* D195F0 80240E10 8EA20000 */ lw $v0, ($s5) +/* D195F4 80240E14 3C014032 */ lui $at, 0x4032 +/* D195F8 80240E18 44811800 */ mtc1 $at, $f3 +/* D195FC 80240E1C 44801000 */ mtc1 $zero, $f2 +/* D19600 80240E20 C440002C */ lwc1 $f0, 0x2c($v0) +/* D19604 80240E24 C4460028 */ lwc1 $f6, 0x28($v0) +/* D19608 80240E28 C4440030 */ lwc1 $f4, 0x30($v0) +/* D1960C 80240E2C 46000021 */ cvt.d.s $f0, $f0 +/* D19610 80240E30 46220000 */ add.d $f0, $f0, $f2 +/* D19614 80240E34 E7A60020 */ swc1 $f6, 0x20($sp) +/* D19618 80240E38 E7A40028 */ swc1 $f4, 0x28($sp) +/* D1961C 80240E3C 46200020 */ cvt.s.d $f0, $f0 +/* D19620 80240E40 E7A00024 */ swc1 $f0, 0x24($sp) +/* D19624 80240E44 E7B40010 */ swc1 $f20, 0x10($sp) +/* D19628 80240E48 E7B60014 */ swc1 $f22, 0x14($sp) +/* D1962C 80240E4C 862200A8 */ lh $v0, 0xa8($s1) +/* D19630 80240E50 0260302D */ daddu $a2, $s3, $zero +/* D19634 80240E54 44820000 */ mtc1 $v0, $f0 +/* D19638 80240E58 00000000 */ nop +/* D1963C 80240E5C 46800020 */ cvt.s.w $f0, $f0 +/* D19640 80240E60 E7A00018 */ swc1 $f0, 0x18($sp) +/* D19644 80240E64 862200A6 */ lh $v0, 0xa6($s1) +/* D19648 80240E68 27B00028 */ addiu $s0, $sp, 0x28 +/* D1964C 80240E6C 44820000 */ mtc1 $v0, $f0 +/* D19650 80240E70 00000000 */ nop +/* D19654 80240E74 46800020 */ cvt.s.w $f0, $f0 +/* D19658 80240E78 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D1965C 80240E7C 8E240080 */ lw $a0, 0x80($s1) +/* D19660 80240E80 0C037711 */ jal func_800DDC44 +/* D19664 80240E84 0200382D */ daddu $a3, $s0, $zero +/* D19668 80240E88 104000CA */ beqz $v0, .L802411B4 +/* D1966C 80240E8C 0280282D */ daddu $a1, $s4, $zero +/* D19670 80240E90 8EA20000 */ lw $v0, ($s5) +/* D19674 80240E94 3C018024 */ lui $at, 0x8024 +/* D19678 80240E98 D4227698 */ ldc1 $f2, 0x7698($at) +/* D1967C 80240E9C C440002C */ lwc1 $f0, 0x2c($v0) +/* D19680 80240EA0 C4460028 */ lwc1 $f6, 0x28($v0) +/* D19684 80240EA4 C4440030 */ lwc1 $f4, 0x30($v0) +/* D19688 80240EA8 46000021 */ cvt.d.s $f0, $f0 +/* D1968C 80240EAC 46220000 */ add.d $f0, $f0, $f2 +/* D19690 80240EB0 E7A60020 */ swc1 $f6, 0x20($sp) +/* D19694 80240EB4 E7A40028 */ swc1 $f4, 0x28($sp) +/* D19698 80240EB8 46200020 */ cvt.s.d $f0, $f0 +/* D1969C 80240EBC E7A00024 */ swc1 $f0, 0x24($sp) +/* D196A0 80240EC0 E7B40010 */ swc1 $f20, 0x10($sp) +/* D196A4 80240EC4 E7B60014 */ swc1 $f22, 0x14($sp) +/* D196A8 80240EC8 862200A8 */ lh $v0, 0xa8($s1) +/* D196AC 80240ECC 44820000 */ mtc1 $v0, $f0 +/* D196B0 80240ED0 00000000 */ nop +/* D196B4 80240ED4 46800020 */ cvt.s.w $f0, $f0 +/* D196B8 80240ED8 E7A00018 */ swc1 $f0, 0x18($sp) +/* D196BC 80240EDC 862200A6 */ lh $v0, 0xa6($s1) +/* D196C0 80240EE0 0260302D */ daddu $a2, $s3, $zero +/* D196C4 80240EE4 44820000 */ mtc1 $v0, $f0 +/* D196C8 80240EE8 00000000 */ nop +/* D196CC 80240EEC 46800020 */ cvt.s.w $f0, $f0 +/* D196D0 80240EF0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D196D4 80240EF4 8E240080 */ lw $a0, 0x80($s1) +/* D196D8 80240EF8 0C037711 */ jal func_800DDC44 +/* D196DC 80240EFC 0200382D */ daddu $a3, $s0, $zero +/* D196E0 80240F00 27A5002C */ addiu $a1, $sp, 0x2c +/* D196E4 80240F04 27A60030 */ addiu $a2, $sp, 0x30 +/* D196E8 80240F08 27A70034 */ addiu $a3, $sp, 0x34 +/* D196EC 80240F0C 27A30038 */ addiu $v1, $sp, 0x38 +/* D196F0 80240F10 C6220038 */ lwc1 $f2, 0x38($s1) +/* D196F4 80240F14 C620003C */ lwc1 $f0, 0x3c($s1) +/* D196F8 80240F18 3C014348 */ lui $at, 0x4348 +/* D196FC 80240F1C 44813000 */ mtc1 $at, $f6 +/* D19700 80240F20 46000021 */ cvt.d.s $f0, $f0 +/* D19704 80240F24 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D19708 80240F28 3C014059 */ lui $at, 0x4059 +/* D1970C 80240F2C 44811800 */ mtc1 $at, $f3 +/* D19710 80240F30 44801000 */ mtc1 $zero, $f2 +/* D19714 80240F34 C6240040 */ lwc1 $f4, 0x40($s1) +/* D19718 80240F38 46220000 */ add.d $f0, $f0, $f2 +/* D1971C 80240F3C E7A60038 */ swc1 $f6, 0x38($sp) +/* D19720 80240F40 E7A40034 */ swc1 $f4, 0x34($sp) +/* D19724 80240F44 46200020 */ cvt.s.d $f0, $f0 +/* D19728 80240F48 E7A00030 */ swc1 $f0, 0x30($sp) +/* D1972C 80240F4C AFA30010 */ sw $v1, 0x10($sp) +/* D19730 80240F50 8E240080 */ lw $a0, 0x80($s1) +/* D19734 80240F54 0C0372DF */ jal func_800DCB7C +/* D19738 80240F58 0040802D */ daddu $s0, $v0, $zero +/* D1973C 80240F5C 1600001C */ bnez $s0, .L80240FD0 +/* D19740 80240F60 00000000 */ nop +/* D19744 80240F64 1040001A */ beqz $v0, .L80240FD0 +/* D19748 80240F68 00000000 */ nop +/* D1974C 80240F6C C7A20038 */ lwc1 $f2, 0x38($sp) +/* D19750 80240F70 3C014054 */ lui $at, 0x4054 +/* D19754 80240F74 44810800 */ mtc1 $at, $f1 +/* D19758 80240F78 44800000 */ mtc1 $zero, $f0 +/* D1975C 80240F7C 460010A1 */ cvt.d.s $f2, $f2 +/* D19760 80240F80 4622003C */ c.lt.d $f0, $f2 +/* D19764 80240F84 00000000 */ nop +/* D19768 80240F88 45000011 */ bc1f .L80240FD0 +/* D1976C 80240F8C 00000000 */ nop +/* D19770 80240F90 3C01405E */ lui $at, 0x405e +/* D19774 80240F94 44810800 */ mtc1 $at, $f1 +/* D19778 80240F98 44800000 */ mtc1 $zero, $f0 +/* D1977C 80240F9C 00000000 */ nop +/* D19780 80240FA0 4620103C */ c.lt.d $f2, $f0 +/* D19784 80240FA4 00000000 */ nop +/* D19788 80240FA8 45000009 */ bc1f .L80240FD0 +/* D1978C 80240FAC 00000000 */ nop +/* D19790 80240FB0 C622003C */ lwc1 $f2, 0x3c($s1) +/* D19794 80240FB4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* D19798 80240FB8 46001032 */ c.eq.s $f2, $f0 +/* D1979C 80240FBC 00000000 */ nop +/* D197A0 80240FC0 45010003 */ bc1t .L80240FD0 +/* D197A4 80240FC4 00000000 */ nop +/* D197A8 80240FC8 0809046D */ j .L802411B4 +/* D197AC 80240FCC 241E0001 */ addiu $fp, $zero, 1 +.L80240FD0: +/* D197B0 80240FD0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* D197B4 80240FD4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* D197B8 80240FD8 8E020000 */ lw $v0, ($s0) +/* D197BC 80240FDC 3C014024 */ lui $at, 0x4024 +/* D197C0 80240FE0 44811800 */ mtc1 $at, $f3 +/* D197C4 80240FE4 44801000 */ mtc1 $zero, $f2 +/* D197C8 80240FE8 C440002C */ lwc1 $f0, 0x2c($v0) +/* D197CC 80240FEC C4460028 */ lwc1 $f6, 0x28($v0) +/* D197D0 80240FF0 C4440030 */ lwc1 $f4, 0x30($v0) +/* D197D4 80240FF4 46000021 */ cvt.d.s $f0, $f0 +/* D197D8 80240FF8 46220000 */ add.d $f0, $f0, $f2 +/* D197DC 80240FFC E7A60020 */ swc1 $f6, 0x20($sp) +/* D197E0 80241000 E7A40028 */ swc1 $f4, 0x28($sp) +/* D197E4 80241004 46200020 */ cvt.s.d $f0, $f0 +/* D197E8 80241008 E7A00024 */ swc1 $f0, 0x24($sp) +/* D197EC 8024100C E7B40010 */ swc1 $f20, 0x10($sp) +/* D197F0 80241010 E7B60014 */ swc1 $f22, 0x14($sp) +/* D197F4 80241014 862200A8 */ lh $v0, 0xa8($s1) +/* D197F8 80241018 27A50020 */ addiu $a1, $sp, 0x20 +/* D197FC 8024101C 44820000 */ mtc1 $v0, $f0 +/* D19800 80241020 00000000 */ nop +/* D19804 80241024 46800020 */ cvt.s.w $f0, $f0 +/* D19808 80241028 E7A00018 */ swc1 $f0, 0x18($sp) +/* D1980C 8024102C 862200A6 */ lh $v0, 0xa6($s1) +/* D19810 80241030 27A60024 */ addiu $a2, $sp, 0x24 +/* D19814 80241034 44820000 */ mtc1 $v0, $f0 +/* D19818 80241038 00000000 */ nop +/* D1981C 8024103C 46800020 */ cvt.s.w $f0, $f0 +/* D19820 80241040 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D19824 80241044 8E240080 */ lw $a0, 0x80($s1) +/* D19828 80241048 0C037711 */ jal func_800DDC44 +/* D1982C 8024104C 27A70028 */ addiu $a3, $sp, 0x28 +/* D19830 80241050 8FA60020 */ lw $a2, 0x20($sp) +/* D19834 80241054 8E020000 */ lw $v0, ($s0) +/* D19838 80241058 8FA70028 */ lw $a3, 0x28($sp) +/* D1983C 8024105C C44C0028 */ lwc1 $f12, 0x28($v0) +/* D19840 80241060 C44E0030 */ lwc1 $f14, 0x30($v0) +/* D19844 80241064 0C00A7B5 */ jal dist2D +/* D19848 80241068 24170001 */ addiu $s7, $zero, 1 +/* D1984C 8024106C 46000506 */ mov.s $f20, $f0 +/* D19850 80241070 8E030000 */ lw $v1, ($s0) +/* D19854 80241074 862200A6 */ lh $v0, 0xa6($s1) +/* D19858 80241078 4407C000 */ mfc1 $a3, $f24 +/* D1985C 8024107C 44824000 */ mtc1 $v0, $f8 +/* D19860 80241080 00000000 */ nop +/* D19864 80241084 46804220 */ cvt.s.w $f8, $f8 +/* D19868 80241088 C4600028 */ lwc1 $f0, 0x28($v1) +/* D1986C 8024108C 44064000 */ mfc1 $a2, $f8 +/* D19870 80241090 26240038 */ addiu $a0, $s1, 0x38 +/* D19874 80241094 E6200038 */ swc1 $f0, 0x38($s1) +/* D19878 80241098 C4600030 */ lwc1 $f0, 0x30($v1) +/* D1987C 8024109C 26250040 */ addiu $a1, $s1, 0x40 +/* D19880 802410A0 0C00A7E7 */ jal add_vec2D_polar +/* D19884 802410A4 E6200040 */ swc1 $f0, 0x40($s1) +/* D19888 802410A8 862200A6 */ lh $v0, 0xa6($s1) +/* D1988C 802410AC 44820000 */ mtc1 $v0, $f0 +/* D19890 802410B0 00000000 */ nop +/* D19894 802410B4 46800020 */ cvt.s.w $f0, $f0 +/* D19898 802410B8 08090469 */ j .L802411A4 +/* D1989C 802410BC 4600A500 */ add.s $f20, $f20, $f0 +.L802410C0: +/* D198A0 802410C0 8EA20000 */ lw $v0, ($s5) +/* D198A4 802410C4 3C014032 */ lui $at, 0x4032 +/* D198A8 802410C8 44811800 */ mtc1 $at, $f3 +/* D198AC 802410CC 44801000 */ mtc1 $zero, $f2 +/* D198B0 802410D0 C440002C */ lwc1 $f0, 0x2c($v0) +/* D198B4 802410D4 C4460028 */ lwc1 $f6, 0x28($v0) +/* D198B8 802410D8 C4440030 */ lwc1 $f4, 0x30($v0) +/* D198BC 802410DC 46000021 */ cvt.d.s $f0, $f0 +/* D198C0 802410E0 46220000 */ add.d $f0, $f0, $f2 +/* D198C4 802410E4 E7A60020 */ swc1 $f6, 0x20($sp) +/* D198C8 802410E8 E7A40028 */ swc1 $f4, 0x28($sp) +/* D198CC 802410EC 46200020 */ cvt.s.d $f0, $f0 +/* D198D0 802410F0 E7A00024 */ swc1 $f0, 0x24($sp) +/* D198D4 802410F4 E7B40010 */ swc1 $f20, 0x10($sp) +/* D198D8 802410F8 E7B60014 */ swc1 $f22, 0x14($sp) +/* D198DC 802410FC 862200A8 */ lh $v0, 0xa8($s1) +/* D198E0 80241100 44820000 */ mtc1 $v0, $f0 +/* D198E4 80241104 00000000 */ nop +/* D198E8 80241108 46800020 */ cvt.s.w $f0, $f0 +/* D198EC 8024110C E7A00018 */ swc1 $f0, 0x18($sp) +/* D198F0 80241110 862200A6 */ lh $v0, 0xa6($s1) +/* D198F4 80241114 27A60024 */ addiu $a2, $sp, 0x24 +/* D198F8 80241118 44820000 */ mtc1 $v0, $f0 +/* D198FC 8024111C 00000000 */ nop +/* D19900 80241120 46800020 */ cvt.s.w $f0, $f0 +/* D19904 80241124 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D19908 80241128 8E240080 */ lw $a0, 0x80($s1) +/* D1990C 8024112C 0C037711 */ jal func_800DDC44 +/* D19910 80241130 27A70028 */ addiu $a3, $sp, 0x28 +/* D19914 80241134 1040001F */ beqz $v0, .L802411B4 +/* D19918 80241138 00000000 */ nop +/* D1991C 8024113C 8FA60020 */ lw $a2, 0x20($sp) +/* D19920 80241140 8EA20000 */ lw $v0, ($s5) +/* D19924 80241144 8FA70028 */ lw $a3, 0x28($sp) +/* D19928 80241148 C44C0028 */ lwc1 $f12, 0x28($v0) +/* D1992C 8024114C 0C00A7B5 */ jal dist2D +/* D19930 80241150 C44E0030 */ lwc1 $f14, 0x30($v0) +/* D19934 80241154 46000506 */ mov.s $f20, $f0 +/* D19938 80241158 8EA30000 */ lw $v1, ($s5) +/* D1993C 8024115C 862200A6 */ lh $v0, 0xa6($s1) +/* D19940 80241160 4407C000 */ mfc1 $a3, $f24 +/* D19944 80241164 44824000 */ mtc1 $v0, $f8 +/* D19948 80241168 00000000 */ nop +/* D1994C 8024116C 46804220 */ cvt.s.w $f8, $f8 +/* D19950 80241170 C4600028 */ lwc1 $f0, 0x28($v1) +/* D19954 80241174 44064000 */ mfc1 $a2, $f8 +/* D19958 80241178 0200202D */ daddu $a0, $s0, $zero +/* D1995C 8024117C E6200038 */ swc1 $f0, 0x38($s1) +/* D19960 80241180 C4600030 */ lwc1 $f0, 0x30($v1) +/* D19964 80241184 0260282D */ daddu $a1, $s3, $zero +/* D19968 80241188 0C00A7E7 */ jal add_vec2D_polar +/* D1996C 8024118C E6200040 */ swc1 $f0, 0x40($s1) +/* D19970 80241190 862200A6 */ lh $v0, 0xa6($s1) +/* D19974 80241194 44820000 */ mtc1 $v0, $f0 +/* D19978 80241198 00000000 */ nop +/* D1997C 8024119C 46800020 */ cvt.s.w $f0, $f0 +/* D19980 802411A0 4600A500 */ add.s $f20, $f20, $f0 +.L802411A4: +/* D19984 802411A4 4406B000 */ mfc1 $a2, $f22 +/* D19988 802411A8 4405A000 */ mfc1 $a1, $f20 +/* D1998C 802411AC 0C00EA95 */ jal npc_move_heading +/* D19990 802411B0 0220202D */ daddu $a0, $s1, $zero +.L802411B4: +/* D19994 802411B4 C6400008 */ lwc1 $f0, 8($s2) +/* D19998 802411B8 46800020 */ cvt.s.w $f0, $f0 +/* D1999C 802411BC 44050000 */ mfc1 $a1, $f0 +/* D199A0 802411C0 C640000C */ lwc1 $f0, 0xc($s2) +/* D199A4 802411C4 46800020 */ cvt.s.w $f0, $f0 +/* D199A8 802411C8 44060000 */ mfc1 $a2, $f0 +/* D199AC 802411CC C6200040 */ lwc1 $f0, 0x40($s1) +/* D199B0 802411D0 26300038 */ addiu $s0, $s1, 0x38 +/* D199B4 802411D4 E7A00010 */ swc1 $f0, 0x10($sp) +/* D199B8 802411D8 C6400010 */ lwc1 $f0, 0x10($s2) +/* D199BC 802411DC 46800020 */ cvt.s.w $f0, $f0 +/* D199C0 802411E0 E7A00014 */ swc1 $f0, 0x14($sp) +/* D199C4 802411E4 C6400014 */ lwc1 $f0, 0x14($s2) +/* D199C8 802411E8 46800020 */ cvt.s.w $f0, $f0 +/* D199CC 802411EC E7A00018 */ swc1 $f0, 0x18($sp) +/* D199D0 802411F0 8E440004 */ lw $a0, 4($s2) +/* D199D4 802411F4 8E270038 */ lw $a3, 0x38($s1) +/* D199D8 802411F8 0C0123F5 */ jal is_point_within_region +/* D199DC 802411FC 26330040 */ addiu $s3, $s1, 0x40 +/* D199E0 80241200 1040005A */ beqz $v0, .L8024136C +/* D199E4 80241204 00000000 */ nop +/* D199E8 80241208 8E430004 */ lw $v1, 4($s2) +/* D199EC 8024120C 10600005 */ beqz $v1, .L80241224 +/* D199F0 80241210 24020001 */ addiu $v0, $zero, 1 +/* D199F4 80241214 10620029 */ beq $v1, $v0, .L802412BC +/* D199F8 80241218 00000000 */ nop +/* D199FC 8024121C 080904DB */ j .L8024136C +/* D19A00 80241220 00000000 */ nop +.L80241224: +/* D19A04 80241224 C6480008 */ lwc1 $f8, 8($s2) +/* D19A08 80241228 46804220 */ cvt.s.w $f8, $f8 +/* D19A0C 8024122C 44064000 */ mfc1 $a2, $f8 +/* D19A10 80241230 C648000C */ lwc1 $f8, 0xc($s2) +/* D19A14 80241234 46804220 */ cvt.s.w $f8, $f8 +/* D19A18 80241238 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D19A1C 8024123C C62E0040 */ lwc1 $f14, 0x40($s1) +/* D19A20 80241240 44074000 */ mfc1 $a3, $f8 +/* D19A24 80241244 0C00A7B5 */ jal dist2D +/* D19A28 80241248 00000000 */ nop +/* D19A2C 8024124C C6420010 */ lwc1 $f2, 0x10($s2) +/* D19A30 80241250 468010A0 */ cvt.s.w $f2, $f2 +/* D19A34 80241254 4600103C */ c.lt.s $f2, $f0 +/* D19A38 80241258 00000000 */ nop +/* D19A3C 8024125C 45000043 */ bc1f .L8024136C +/* D19A40 80241260 E7A00038 */ swc1 $f0, 0x38($sp) +/* D19A44 80241264 C64C0008 */ lwc1 $f12, 8($s2) +/* D19A48 80241268 46806320 */ cvt.s.w $f12, $f12 +/* D19A4C 8024126C 8E260038 */ lw $a2, 0x38($s1) +/* D19A50 80241270 8E270040 */ lw $a3, 0x40($s1) +/* D19A54 80241274 C64E000C */ lwc1 $f14, 0xc($s2) +/* D19A58 80241278 0C00A720 */ jal atan2 +/* D19A5C 8024127C 468073A0 */ cvt.s.w $f14, $f14 +/* D19A60 80241280 0200202D */ daddu $a0, $s0, $zero +/* D19A64 80241284 44070000 */ mfc1 $a3, $f0 +/* D19A68 80241288 C6400008 */ lwc1 $f0, 8($s2) +/* D19A6C 8024128C 46800020 */ cvt.s.w $f0, $f0 +/* D19A70 80241290 E6200038 */ swc1 $f0, 0x38($s1) +/* D19A74 80241294 C640000C */ lwc1 $f0, 0xc($s2) +/* D19A78 80241298 46800020 */ cvt.s.w $f0, $f0 +/* D19A7C 8024129C E6200040 */ swc1 $f0, 0x40($s1) +/* D19A80 802412A0 C6480010 */ lwc1 $f8, 0x10($s2) +/* D19A84 802412A4 46804220 */ cvt.s.w $f8, $f8 +/* D19A88 802412A8 44064000 */ mfc1 $a2, $f8 +/* D19A8C 802412AC 0C00A7E7 */ jal add_vec2D_polar +/* D19A90 802412B0 0260282D */ daddu $a1, $s3, $zero +/* D19A94 802412B4 080904DB */ j .L8024136C +/* D19A98 802412B8 00000000 */ nop +.L802412BC: +/* D19A9C 802412BC 8E420008 */ lw $v0, 8($s2) +/* D19AA0 802412C0 8E430010 */ lw $v1, 0x10($s2) +/* D19AA4 802412C4 C6200038 */ lwc1 $f0, 0x38($s1) +/* D19AA8 802412C8 00431021 */ addu $v0, $v0, $v1 +/* D19AAC 802412CC 44821000 */ mtc1 $v0, $f2 +/* D19AB0 802412D0 00000000 */ nop +/* D19AB4 802412D4 468010A0 */ cvt.s.w $f2, $f2 +/* D19AB8 802412D8 4600103C */ c.lt.s $f2, $f0 +/* D19ABC 802412DC 00000000 */ nop +/* D19AC0 802412E0 45030001 */ bc1tl .L802412E8 +/* D19AC4 802412E4 E6220038 */ swc1 $f2, 0x38($s1) +.L802412E8: +/* D19AC8 802412E8 8E420008 */ lw $v0, 8($s2) +/* D19ACC 802412EC 8E430010 */ lw $v1, 0x10($s2) +/* D19AD0 802412F0 C6200038 */ lwc1 $f0, 0x38($s1) +/* D19AD4 802412F4 00431023 */ subu $v0, $v0, $v1 +/* D19AD8 802412F8 44821000 */ mtc1 $v0, $f2 +/* D19ADC 802412FC 00000000 */ nop +/* D19AE0 80241300 468010A0 */ cvt.s.w $f2, $f2 +/* D19AE4 80241304 4602003C */ c.lt.s $f0, $f2 +/* D19AE8 80241308 00000000 */ nop +/* D19AEC 8024130C 45030001 */ bc1tl .L80241314 +/* D19AF0 80241310 E6220038 */ swc1 $f2, 0x38($s1) +.L80241314: +/* D19AF4 80241314 8E42000C */ lw $v0, 0xc($s2) +/* D19AF8 80241318 8E430014 */ lw $v1, 0x14($s2) +/* D19AFC 8024131C C6200040 */ lwc1 $f0, 0x40($s1) +/* D19B00 80241320 00431021 */ addu $v0, $v0, $v1 +/* D19B04 80241324 44821000 */ mtc1 $v0, $f2 +/* D19B08 80241328 00000000 */ nop +/* D19B0C 8024132C 468010A0 */ cvt.s.w $f2, $f2 +/* D19B10 80241330 4600103C */ c.lt.s $f2, $f0 +/* D19B14 80241334 00000000 */ nop +/* D19B18 80241338 45030001 */ bc1tl .L80241340 +/* D19B1C 8024133C E6220040 */ swc1 $f2, 0x40($s1) +.L80241340: +/* D19B20 80241340 8E42000C */ lw $v0, 0xc($s2) +/* D19B24 80241344 8E430014 */ lw $v1, 0x14($s2) +/* D19B28 80241348 C6200040 */ lwc1 $f0, 0x40($s1) +/* D19B2C 8024134C 00431023 */ subu $v0, $v0, $v1 +/* D19B30 80241350 44821000 */ mtc1 $v0, $f2 +/* D19B34 80241354 00000000 */ nop +/* D19B38 80241358 468010A0 */ cvt.s.w $f2, $f2 +/* D19B3C 8024135C 4602003C */ c.lt.s $f0, $f2 +/* D19B40 80241360 00000000 */ nop +/* D19B44 80241364 45030001 */ bc1tl .L8024136C +/* D19B48 80241368 E6220040 */ swc1 $f2, 0x40($s1) +.L8024136C: +/* D19B4C 8024136C 16E0001F */ bnez $s7, .L802413EC +/* D19B50 80241370 00000000 */ nop +/* D19B54 80241374 8E220000 */ lw $v0, ($s1) +/* D19B58 80241378 30420008 */ andi $v0, $v0, 8 +/* D19B5C 8024137C 10400003 */ beqz $v0, .L8024138C +/* D19B60 80241380 27A50020 */ addiu $a1, $sp, 0x20 +/* D19B64 80241384 13C00019 */ beqz $fp, .L802413EC +/* D19B68 80241388 00000000 */ nop +.L8024138C: +/* D19B6C 8024138C 27A60024 */ addiu $a2, $sp, 0x24 +/* D19B70 80241390 27A20038 */ addiu $v0, $sp, 0x38 +/* D19B74 80241394 C6220038 */ lwc1 $f2, 0x38($s1) +/* D19B78 80241398 C620003C */ lwc1 $f0, 0x3c($s1) +/* D19B7C 8024139C 3C0143C8 */ lui $at, 0x43c8 +/* D19B80 802413A0 44813000 */ mtc1 $at, $f6 +/* D19B84 802413A4 46000021 */ cvt.d.s $f0, $f0 +/* D19B88 802413A8 E7A20020 */ swc1 $f2, 0x20($sp) +/* D19B8C 802413AC 3C018024 */ lui $at, 0x8024 +/* D19B90 802413B0 D42276A0 */ ldc1 $f2, 0x76a0($at) +/* D19B94 802413B4 C6240040 */ lwc1 $f4, 0x40($s1) +/* D19B98 802413B8 46220000 */ add.d $f0, $f0, $f2 +/* D19B9C 802413BC E7A60038 */ swc1 $f6, 0x38($sp) +/* D19BA0 802413C0 E7A40028 */ swc1 $f4, 0x28($sp) +/* D19BA4 802413C4 46200020 */ cvt.s.d $f0, $f0 +/* D19BA8 802413C8 E7A00024 */ swc1 $f0, 0x24($sp) +/* D19BAC 802413CC AFA20010 */ sw $v0, 0x10($sp) +/* D19BB0 802413D0 8E240080 */ lw $a0, 0x80($s1) +/* D19BB4 802413D4 0C0372DF */ jal func_800DCB7C +/* D19BB8 802413D8 27A70028 */ addiu $a3, $sp, 0x28 +/* D19BBC 802413DC 10400003 */ beqz $v0, .L802413EC +/* D19BC0 802413E0 00000000 */ nop +/* D19BC4 802413E4 C7A00024 */ lwc1 $f0, 0x24($sp) +/* D19BC8 802413E8 E620003C */ swc1 $f0, 0x3c($s1) +.L802413EC: +/* D19BCC 802413EC C62C0038 */ lwc1 $f12, 0x38($s1) +/* D19BD0 802413F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D19BD4 802413F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D19BD8 802413F8 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D19BDC 802413FC 8C460028 */ lw $a2, 0x28($v0) +/* D19BE0 80241400 0C00A720 */ jal atan2 +/* D19BE4 80241404 8C470030 */ lw $a3, 0x30($v0) +/* D19BE8 80241408 0220202D */ daddu $a0, $s1, $zero +/* D19BEC 8024140C 24050321 */ addiu $a1, $zero, 0x321 +/* D19BF0 80241410 0000302D */ daddu $a2, $zero, $zero +/* D19BF4 80241414 0C012530 */ jal func_800494C0 +/* D19BF8 80241418 E620000C */ swc1 $f0, 0xc($s1) +/* D19BFC 8024141C 8EC200CC */ lw $v0, 0xcc($s6) +/* D19C00 80241420 8C420024 */ lw $v0, 0x24($v0) +/* D19C04 80241424 AE220028 */ sw $v0, 0x28($s1) +/* D19C08 80241428 96C20096 */ lhu $v0, 0x96($s6) +/* D19C0C 8024142C A622008E */ sh $v0, 0x8e($s1) +/* D19C10 80241430 8FA80080 */ lw $t0, 0x80($sp) +/* D19C14 80241434 2402000B */ addiu $v0, $zero, 0xb +/* D19C18 80241438 AD020070 */ sw $v0, 0x70($t0) +.L8024143C: +/* D19C1C 8024143C 8FBF0064 */ lw $ra, 0x64($sp) +/* D19C20 80241440 8FBE0060 */ lw $fp, 0x60($sp) +/* D19C24 80241444 8FB7005C */ lw $s7, 0x5c($sp) +/* D19C28 80241448 8FB60058 */ lw $s6, 0x58($sp) +/* D19C2C 8024144C 8FB50054 */ lw $s5, 0x54($sp) +/* D19C30 80241450 8FB40050 */ lw $s4, 0x50($sp) +/* D19C34 80241454 8FB3004C */ lw $s3, 0x4c($sp) +/* D19C38 80241458 8FB20048 */ lw $s2, 0x48($sp) +/* D19C3C 8024145C 8FB10044 */ lw $s1, 0x44($sp) +/* D19C40 80241460 8FB00040 */ lw $s0, 0x40($sp) +/* D19C44 80241464 D7B80078 */ ldc1 $f24, 0x78($sp) +/* D19C48 80241468 D7B60070 */ ldc1 $f22, 0x70($sp) +/* D19C4C 8024146C D7B40068 */ ldc1 $f20, 0x68($sp) +/* D19C50 80241470 03E00008 */ jr $ra +/* D19C54 80241474 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241478.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241478.s new file mode 100644 index 0000000000..d1d9508df8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241478.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241478 +/* D19C58 80241478 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D19C5C 8024147C AFB10014 */ sw $s1, 0x14($sp) +/* D19C60 80241480 0080882D */ daddu $s1, $a0, $zero +/* D19C64 80241484 AFBF0018 */ sw $ra, 0x18($sp) +/* D19C68 80241488 AFB00010 */ sw $s0, 0x10($sp) +/* D19C6C 8024148C 8E300148 */ lw $s0, 0x148($s1) +/* D19C70 80241490 0C00EABB */ jal get_npc_unsafe +/* D19C74 80241494 86040008 */ lh $a0, 8($s0) +/* D19C78 80241498 0040202D */ daddu $a0, $v0, $zero +/* D19C7C 8024149C 9482008E */ lhu $v0, 0x8e($a0) +/* D19C80 802414A0 2442FFFF */ addiu $v0, $v0, -1 +/* D19C84 802414A4 A482008E */ sh $v0, 0x8e($a0) +/* D19C88 802414A8 00021400 */ sll $v0, $v0, 0x10 +/* D19C8C 802414AC 8E030098 */ lw $v1, 0x98($s0) +/* D19C90 802414B0 00021403 */ sra $v0, $v0, 0x10 +/* D19C94 802414B4 0062182A */ slt $v1, $v1, $v0 +/* D19C98 802414B8 14600005 */ bnez $v1, .L802414D0 +/* D19C9C 802414BC 3C03E0EF */ lui $v1, 0xe0ef +/* D19CA0 802414C0 8E020000 */ lw $v0, ($s0) +/* D19CA4 802414C4 3463FFFF */ ori $v1, $v1, 0xffff +/* D19CA8 802414C8 00431024 */ and $v0, $v0, $v1 +/* D19CAC 802414CC AE020000 */ sw $v0, ($s0) +.L802414D0: +/* D19CB0 802414D0 8482008E */ lh $v0, 0x8e($a0) +/* D19CB4 802414D4 14400007 */ bnez $v0, .L802414F4 +/* D19CB8 802414D8 00000000 */ nop +/* D19CBC 802414DC 8E0200CC */ lw $v0, 0xcc($s0) +/* D19CC0 802414E0 8C420028 */ lw $v0, 0x28($v0) +/* D19CC4 802414E4 A480008E */ sh $zero, 0x8e($a0) +/* D19CC8 802414E8 AC820028 */ sw $v0, 0x28($a0) +/* D19CCC 802414EC 2402000C */ addiu $v0, $zero, 0xc +/* D19CD0 802414F0 AE220070 */ sw $v0, 0x70($s1) +.L802414F4: +/* D19CD4 802414F4 8FBF0018 */ lw $ra, 0x18($sp) +/* D19CD8 802414F8 8FB10014 */ lw $s1, 0x14($sp) +/* D19CDC 802414FC 8FB00010 */ lw $s0, 0x10($sp) +/* D19CE0 80241500 03E00008 */ jr $ra +/* D19CE4 80241504 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241508_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241508_D187E0.s new file mode 100644 index 0000000000..557922c18e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241508_D187E0.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241508_D19CE8 +/* D19CE8 80241508 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D19CEC 8024150C AFB10034 */ sw $s1, 0x34($sp) +/* D19CF0 80241510 0080882D */ daddu $s1, $a0, $zero +/* D19CF4 80241514 AFBF0038 */ sw $ra, 0x38($sp) +/* D19CF8 80241518 AFB00030 */ sw $s0, 0x30($sp) +/* D19CFC 8024151C 8E300148 */ lw $s0, 0x148($s1) +/* D19D00 80241520 0C00EABB */ jal get_npc_unsafe +/* D19D04 80241524 86040008 */ lh $a0, 8($s0) +/* D19D08 80241528 0040282D */ daddu $a1, $v0, $zero +/* D19D0C 8024152C 94A2008E */ lhu $v0, 0x8e($a1) +/* D19D10 80241530 24420001 */ addiu $v0, $v0, 1 +/* D19D14 80241534 A4A2008E */ sh $v0, 0x8e($a1) +/* D19D18 80241538 00021400 */ sll $v0, $v0, 0x10 +/* D19D1C 8024153C 8E0300A0 */ lw $v1, 0xa0($s0) +/* D19D20 80241540 00021403 */ sra $v0, $v0, 0x10 +/* D19D24 80241544 14430004 */ bne $v0, $v1, .L80241558 +/* D19D28 80241548 00000000 */ nop +/* D19D2C 8024154C 8E0200CC */ lw $v0, 0xcc($s0) +/* D19D30 80241550 8C42002C */ lw $v0, 0x2c($v0) +/* D19D34 80241554 ACA20028 */ sw $v0, 0x28($a1) +.L80241558: +/* D19D38 80241558 84A3008E */ lh $v1, 0x8e($a1) +/* D19D3C 8024155C 8E0200A4 */ lw $v0, 0xa4($s0) +/* D19D40 80241560 14620002 */ bne $v1, $v0, .L8024156C +/* D19D44 80241564 24020003 */ addiu $v0, $zero, 3 +/* D19D48 80241568 AE02006C */ sw $v0, 0x6c($s0) +.L8024156C: +/* D19D4C 8024156C 84A2008E */ lh $v0, 0x8e($a1) +/* D19D50 80241570 8E03009C */ lw $v1, 0x9c($s0) +/* D19D54 80241574 0043102A */ slt $v0, $v0, $v1 +/* D19D58 80241578 1440001E */ bnez $v0, .L802415F4 +/* D19D5C 8024157C 24020004 */ addiu $v0, $zero, 4 +/* D19D60 80241580 AE02006C */ sw $v0, 0x6c($s0) +/* D19D64 80241584 24020008 */ addiu $v0, $zero, 8 +/* D19D68 80241588 24040003 */ addiu $a0, $zero, 3 +/* D19D6C 8024158C A4A2008E */ sh $v0, 0x8e($a1) +/* D19D70 80241590 8E0200CC */ lw $v0, 0xcc($s0) +/* D19D74 80241594 84A300A8 */ lh $v1, 0xa8($a1) +/* D19D78 80241598 3C013F80 */ lui $at, 0x3f80 +/* D19D7C 8024159C 44810000 */ mtc1 $at, $f0 +/* D19D80 802415A0 3C014000 */ lui $at, 0x4000 +/* D19D84 802415A4 44811000 */ mtc1 $at, $f2 +/* D19D88 802415A8 3C01C1A0 */ lui $at, 0xc1a0 +/* D19D8C 802415AC 44812000 */ mtc1 $at, $f4 +/* D19D90 802415B0 44833000 */ mtc1 $v1, $f6 +/* D19D94 802415B4 00000000 */ nop +/* D19D98 802415B8 468031A0 */ cvt.s.w $f6, $f6 +/* D19D9C 802415BC 8C420000 */ lw $v0, ($v0) +/* D19DA0 802415C0 44073000 */ mfc1 $a3, $f6 +/* D19DA4 802415C4 0000302D */ daddu $a2, $zero, $zero +/* D19DA8 802415C8 ACA20028 */ sw $v0, 0x28($a1) +/* D19DAC 802415CC 2402000A */ addiu $v0, $zero, 0xa +/* D19DB0 802415D0 AFA2001C */ sw $v0, 0x1c($sp) +/* D19DB4 802415D4 27A20028 */ addiu $v0, $sp, 0x28 +/* D19DB8 802415D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* D19DBC 802415DC E7A20014 */ swc1 $f2, 0x14($sp) +/* D19DC0 802415E0 E7A40018 */ swc1 $f4, 0x18($sp) +/* D19DC4 802415E4 0C01BFA4 */ jal fx_emote +/* D19DC8 802415E8 AFA20020 */ sw $v0, 0x20($sp) +/* D19DCC 802415EC 2402000D */ addiu $v0, $zero, 0xd +/* D19DD0 802415F0 AE220070 */ sw $v0, 0x70($s1) +.L802415F4: +/* D19DD4 802415F4 8FBF0038 */ lw $ra, 0x38($sp) +/* D19DD8 802415F8 8FB10034 */ lw $s1, 0x34($sp) +/* D19DDC 802415FC 8FB00030 */ lw $s0, 0x30($sp) +/* D19DE0 80241600 03E00008 */ jr $ra +/* D19DE4 80241604 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241608_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241608_D187E0.s new file mode 100644 index 0000000000..ffeaf17dd7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241608_D187E0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241608_D19DE8 +/* D19DE8 80241608 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D19DEC 8024160C AFB10014 */ sw $s1, 0x14($sp) +/* D19DF0 80241610 0080882D */ daddu $s1, $a0, $zero +/* D19DF4 80241614 AFBF0018 */ sw $ra, 0x18($sp) +/* D19DF8 80241618 AFB00010 */ sw $s0, 0x10($sp) +/* D19DFC 8024161C 8E300148 */ lw $s0, 0x148($s1) +/* D19E00 80241620 0C00EABB */ jal get_npc_unsafe +/* D19E04 80241624 86040008 */ lh $a0, 8($s0) +/* D19E08 80241628 0040182D */ daddu $v1, $v0, $zero +/* D19E0C 8024162C 9462008E */ lhu $v0, 0x8e($v1) +/* D19E10 80241630 2442FFFF */ addiu $v0, $v0, -1 +/* D19E14 80241634 A462008E */ sh $v0, 0x8e($v1) +/* D19E18 80241638 00021400 */ sll $v0, $v0, 0x10 +/* D19E1C 8024163C 14400005 */ bnez $v0, .L80241654 +/* D19E20 80241640 00000000 */ nop +/* D19E24 80241644 960200AA */ lhu $v0, 0xaa($s0) +/* D19E28 80241648 A462008E */ sh $v0, 0x8e($v1) +/* D19E2C 8024164C 2402000E */ addiu $v0, $zero, 0xe +/* D19E30 80241650 AE220070 */ sw $v0, 0x70($s1) +.L80241654: +/* D19E34 80241654 8FBF0018 */ lw $ra, 0x18($sp) +/* D19E38 80241658 8FB10014 */ lw $s1, 0x14($sp) +/* D19E3C 8024165C 8FB00010 */ lw $s0, 0x10($sp) +/* D19E40 80241660 03E00008 */ jr $ra +/* D19E44 80241664 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241668_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241668_D187E0.s new file mode 100644 index 0000000000..4b392ff6ee --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241668_D187E0.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241668_D19E48 +/* D19E48 80241668 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D19E4C 8024166C AFB40040 */ sw $s4, 0x40($sp) +/* D19E50 80241670 0080A02D */ daddu $s4, $a0, $zero +/* D19E54 80241674 AFBF0044 */ sw $ra, 0x44($sp) +/* D19E58 80241678 AFB3003C */ sw $s3, 0x3c($sp) +/* D19E5C 8024167C AFB20038 */ sw $s2, 0x38($sp) +/* D19E60 80241680 AFB10034 */ sw $s1, 0x34($sp) +/* D19E64 80241684 AFB00030 */ sw $s0, 0x30($sp) +/* D19E68 80241688 8E910148 */ lw $s1, 0x148($s4) +/* D19E6C 8024168C 00A0902D */ daddu $s2, $a1, $zero +/* D19E70 80241690 86240008 */ lh $a0, 8($s1) +/* D19E74 80241694 0C00EABB */ jal get_npc_unsafe +/* D19E78 80241698 00C0982D */ daddu $s3, $a2, $zero +/* D19E7C 8024169C 0040802D */ daddu $s0, $v0, $zero +/* D19E80 802416A0 9602008E */ lhu $v0, 0x8e($s0) +/* D19E84 802416A4 2442FFFF */ addiu $v0, $v0, -1 +/* D19E88 802416A8 A602008E */ sh $v0, 0x8e($s0) +/* D19E8C 802416AC 00021400 */ sll $v0, $v0, 0x10 +/* D19E90 802416B0 14400020 */ bnez $v0, .L80241734 +/* D19E94 802416B4 0260202D */ daddu $a0, $s3, $zero +/* D19E98 802416B8 AFA00010 */ sw $zero, 0x10($sp) +/* D19E9C 802416BC 8E46000C */ lw $a2, 0xc($s2) +/* D19EA0 802416C0 8E470010 */ lw $a3, 0x10($s2) +/* D19EA4 802416C4 0C01242D */ jal func_800490B4 +/* D19EA8 802416C8 0220282D */ daddu $a1, $s1, $zero +/* D19EAC 802416CC 54400018 */ bnel $v0, $zero, .L80241730 +/* D19EB0 802416D0 A600008E */ sh $zero, 0x8e($s0) +/* D19EB4 802416D4 24040002 */ addiu $a0, $zero, 2 +/* D19EB8 802416D8 0200282D */ daddu $a1, $s0, $zero +/* D19EBC 802416DC 0000302D */ daddu $a2, $zero, $zero +/* D19EC0 802416E0 860300A8 */ lh $v1, 0xa8($s0) +/* D19EC4 802416E4 3C013F80 */ lui $at, 0x3f80 +/* D19EC8 802416E8 44810000 */ mtc1 $at, $f0 +/* D19ECC 802416EC 3C014000 */ lui $at, 0x4000 +/* D19ED0 802416F0 44811000 */ mtc1 $at, $f2 +/* D19ED4 802416F4 3C01C1A0 */ lui $at, 0xc1a0 +/* D19ED8 802416F8 44812000 */ mtc1 $at, $f4 +/* D19EDC 802416FC 2402000F */ addiu $v0, $zero, 0xf +/* D19EE0 80241700 AFA2001C */ sw $v0, 0x1c($sp) +/* D19EE4 80241704 44833000 */ mtc1 $v1, $f6 +/* D19EE8 80241708 00000000 */ nop +/* D19EEC 8024170C 468031A0 */ cvt.s.w $f6, $f6 +/* D19EF0 80241710 44073000 */ mfc1 $a3, $f6 +/* D19EF4 80241714 27A20028 */ addiu $v0, $sp, 0x28 +/* D19EF8 80241718 AFA20020 */ sw $v0, 0x20($sp) +/* D19EFC 8024171C E7A00010 */ swc1 $f0, 0x10($sp) +/* D19F00 80241720 E7A20014 */ swc1 $f2, 0x14($sp) +/* D19F04 80241724 0C01BFA4 */ jal fx_emote +/* D19F08 80241728 E7A40018 */ swc1 $f4, 0x18($sp) +/* D19F0C 8024172C A600008E */ sh $zero, 0x8e($s0) +.L80241730: +/* D19F10 80241730 AE800070 */ sw $zero, 0x70($s4) +.L80241734: +/* D19F14 80241734 8FBF0044 */ lw $ra, 0x44($sp) +/* D19F18 80241738 8FB40040 */ lw $s4, 0x40($sp) +/* D19F1C 8024173C 8FB3003C */ lw $s3, 0x3c($sp) +/* D19F20 80241740 8FB20038 */ lw $s2, 0x38($sp) +/* D19F24 80241744 8FB10034 */ lw $s1, 0x34($sp) +/* D19F28 80241748 8FB00030 */ lw $s0, 0x30($sp) +/* D19F2C 8024174C 03E00008 */ jr $ra +/* D19F30 80241750 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241754_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241754_D187E0.s new file mode 100644 index 0000000000..9f6097f04f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241754_D187E0.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241754_D19F34 +/* D19F34 80241754 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D19F38 80241758 AFB20038 */ sw $s2, 0x38($sp) +/* D19F3C 8024175C 0080902D */ daddu $s2, $a0, $zero +/* D19F40 80241760 AFBF0048 */ sw $ra, 0x48($sp) +/* D19F44 80241764 AFB50044 */ sw $s5, 0x44($sp) +/* D19F48 80241768 AFB40040 */ sw $s4, 0x40($sp) +/* D19F4C 8024176C AFB3003C */ sw $s3, 0x3c($sp) +/* D19F50 80241770 AFB10034 */ sw $s1, 0x34($sp) +/* D19F54 80241774 AFB00030 */ sw $s0, 0x30($sp) +/* D19F58 80241778 8E510148 */ lw $s1, 0x148($s2) +/* D19F5C 8024177C 86240008 */ lh $a0, 8($s1) +/* D19F60 80241780 0C00EABB */ jal get_npc_unsafe +/* D19F64 80241784 00A0802D */ daddu $s0, $a1, $zero +/* D19F68 80241788 8E43000C */ lw $v1, 0xc($s2) +/* D19F6C 8024178C 0240202D */ daddu $a0, $s2, $zero +/* D19F70 80241790 8C650000 */ lw $a1, ($v1) +/* D19F74 80241794 0C0B1EAF */ jal get_variable +/* D19F78 80241798 0040A82D */ daddu $s5, $v0, $zero +/* D19F7C 8024179C AFA00010 */ sw $zero, 0x10($sp) +/* D19F80 802417A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D19F84 802417A4 8C630030 */ lw $v1, 0x30($v1) +/* D19F88 802417A8 AFA30014 */ sw $v1, 0x14($sp) +/* D19F8C 802417AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D19F90 802417B0 8C63001C */ lw $v1, 0x1c($v1) +/* D19F94 802417B4 AFA30018 */ sw $v1, 0x18($sp) +/* D19F98 802417B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* D19F9C 802417BC 8C630024 */ lw $v1, 0x24($v1) +/* D19FA0 802417C0 AFA3001C */ sw $v1, 0x1c($sp) +/* D19FA4 802417C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D19FA8 802417C8 8C630028 */ lw $v1, 0x28($v1) +/* D19FAC 802417CC 27B40010 */ addiu $s4, $sp, 0x10 +/* D19FB0 802417D0 AFA30020 */ sw $v1, 0x20($sp) +/* D19FB4 802417D4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D19FB8 802417D8 3C014348 */ lui $at, 0x4348 +/* D19FBC 802417DC 44810000 */ mtc1 $at, $f0 +/* D19FC0 802417E0 8C63002C */ lw $v1, 0x2c($v1) +/* D19FC4 802417E4 0040982D */ daddu $s3, $v0, $zero +/* D19FC8 802417E8 E7A00028 */ swc1 $f0, 0x28($sp) +/* D19FCC 802417EC A7A0002C */ sh $zero, 0x2c($sp) +/* D19FD0 802417F0 16000005 */ bnez $s0, .L80241808 +/* D19FD4 802417F4 AFA30024 */ sw $v1, 0x24($sp) +/* D19FD8 802417F8 8E2200B0 */ lw $v0, 0xb0($s1) +/* D19FDC 802417FC 30420004 */ andi $v0, $v0, 4 +/* D19FE0 80241800 10400011 */ beqz $v0, .L80241848 +/* D19FE4 80241804 00000000 */ nop +.L80241808: +/* D19FE8 80241808 AE400070 */ sw $zero, 0x70($s2) +/* D19FEC 8024180C A6A0008E */ sh $zero, 0x8e($s5) +/* D19FF0 80241810 8E2200CC */ lw $v0, 0xcc($s1) +/* D19FF4 80241814 8C420000 */ lw $v0, ($v0) +/* D19FF8 80241818 AEA20028 */ sw $v0, 0x28($s5) +/* D19FFC 8024181C 8E2200B0 */ lw $v0, 0xb0($s1) +/* D1A000 80241820 30420004 */ andi $v0, $v0, 4 +/* D1A004 80241824 10400008 */ beqz $v0, .L80241848 +/* D1A008 80241828 AE20006C */ sw $zero, 0x6c($s1) +/* D1A00C 8024182C 24020063 */ addiu $v0, $zero, 0x63 +/* D1A010 80241830 AE420070 */ sw $v0, 0x70($s2) +/* D1A014 80241834 AE400074 */ sw $zero, 0x74($s2) +/* D1A018 80241838 8E2200B0 */ lw $v0, 0xb0($s1) +/* D1A01C 8024183C 2403FFFB */ addiu $v1, $zero, -5 +/* D1A020 80241840 00431024 */ and $v0, $v0, $v1 +/* D1A024 80241844 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241848: +/* D1A028 80241848 8E430070 */ lw $v1, 0x70($s2) +/* D1A02C 8024184C 2410000B */ addiu $s0, $zero, 0xb +/* D1A030 80241850 1070002A */ beq $v1, $s0, .L802418FC +/* D1A034 80241854 2862000C */ slti $v0, $v1, 0xc +/* D1A038 80241858 1040000D */ beqz $v0, .L80241890 +/* D1A03C 8024185C 24020001 */ addiu $v0, $zero, 1 +/* D1A040 80241860 1062001A */ beq $v1, $v0, .L802418CC +/* D1A044 80241864 28620002 */ slti $v0, $v1, 2 +/* D1A048 80241868 10400005 */ beqz $v0, .L80241880 +/* D1A04C 8024186C 2402000A */ addiu $v0, $zero, 0xa +/* D1A050 80241870 10600013 */ beqz $v1, .L802418C0 +/* D1A054 80241874 0240202D */ daddu $a0, $s2, $zero +/* D1A058 80241878 0809065F */ j .L8024197C +/* D1A05C 8024187C 00000000 */ nop +.L80241880: +/* D1A060 80241880 10620018 */ beq $v1, $v0, .L802418E4 +/* D1A064 80241884 0240202D */ daddu $a0, $s2, $zero +/* D1A068 80241888 0809065F */ j .L8024197C +/* D1A06C 8024188C 00000000 */ nop +.L80241890: +/* D1A070 80241890 2402000D */ addiu $v0, $zero, 0xd +/* D1A074 80241894 10620029 */ beq $v1, $v0, .L8024193C +/* D1A078 80241898 0062102A */ slt $v0, $v1, $v0 +/* D1A07C 8024189C 14400020 */ bnez $v0, .L80241920 +/* D1A080 802418A0 0240202D */ daddu $a0, $s2, $zero +/* D1A084 802418A4 2402000E */ addiu $v0, $zero, 0xe +/* D1A088 802418A8 1062002D */ beq $v1, $v0, .L80241960 +/* D1A08C 802418AC 24020063 */ addiu $v0, $zero, 0x63 +/* D1A090 802418B0 10620030 */ beq $v1, $v0, .L80241974 +/* D1A094 802418B4 00000000 */ nop +/* D1A098 802418B8 0809065F */ j .L8024197C +/* D1A09C 802418BC 00000000 */ nop +.L802418C0: +/* D1A0A0 802418C0 0260282D */ daddu $a1, $s3, $zero +/* D1A0A4 802418C4 0C090234 */ jal func_802408D0 +/* D1A0A8 802418C8 0280302D */ daddu $a2, $s4, $zero +.L802418CC: +/* D1A0AC 802418CC 0240202D */ daddu $a0, $s2, $zero +/* D1A0B0 802418D0 0260282D */ daddu $a1, $s3, $zero +/* D1A0B4 802418D4 0C09024F */ jal func_8024093C +/* D1A0B8 802418D8 0280302D */ daddu $a2, $s4, $zero +/* D1A0BC 802418DC 0809065F */ j .L8024197C +/* D1A0C0 802418E0 00000000 */ nop +.L802418E4: +/* D1A0C4 802418E4 0260282D */ daddu $a1, $s3, $zero +/* D1A0C8 802418E8 0C09028E */ jal func_80240A38 +/* D1A0CC 802418EC 0280302D */ daddu $a2, $s4, $zero +/* D1A0D0 802418F0 8E420070 */ lw $v0, 0x70($s2) +/* D1A0D4 802418F4 14500021 */ bne $v0, $s0, .L8024197C +/* D1A0D8 802418F8 00000000 */ nop +.L802418FC: +/* D1A0DC 802418FC 0240202D */ daddu $a0, $s2, $zero +/* D1A0E0 80241900 0260282D */ daddu $a1, $s3, $zero +/* D1A0E4 80241904 0C09051E */ jal func_80241478 +/* D1A0E8 80241908 0280302D */ daddu $a2, $s4, $zero +/* D1A0EC 8024190C 8E430070 */ lw $v1, 0x70($s2) +/* D1A0F0 80241910 2402000C */ addiu $v0, $zero, 0xc +/* D1A0F4 80241914 14620019 */ bne $v1, $v0, .L8024197C +/* D1A0F8 80241918 00000000 */ nop +/* D1A0FC 8024191C 0240202D */ daddu $a0, $s2, $zero +.L80241920: +/* D1A100 80241920 0260282D */ daddu $a1, $s3, $zero +/* D1A104 80241924 0C090542 */ jal func_80241508 +/* D1A108 80241928 0280302D */ daddu $a2, $s4, $zero +/* D1A10C 8024192C 8E430070 */ lw $v1, 0x70($s2) +/* D1A110 80241930 2402000D */ addiu $v0, $zero, 0xd +/* D1A114 80241934 14620011 */ bne $v1, $v0, .L8024197C +/* D1A118 80241938 00000000 */ nop +.L8024193C: +/* D1A11C 8024193C 0240202D */ daddu $a0, $s2, $zero +/* D1A120 80241940 0260282D */ daddu $a1, $s3, $zero +/* D1A124 80241944 0C090582 */ jal func_80241608 +/* D1A128 80241948 0280302D */ daddu $a2, $s4, $zero +/* D1A12C 8024194C 8E430070 */ lw $v1, 0x70($s2) +/* D1A130 80241950 2402000E */ addiu $v0, $zero, 0xe +/* D1A134 80241954 14620009 */ bne $v1, $v0, .L8024197C +/* D1A138 80241958 00000000 */ nop +/* D1A13C 8024195C 0240202D */ daddu $a0, $s2, $zero +.L80241960: +/* D1A140 80241960 0260282D */ daddu $a1, $s3, $zero +/* D1A144 80241964 0C09059A */ jal func_80241668 +/* D1A148 80241968 0280302D */ daddu $a2, $s4, $zero +/* D1A14C 8024196C 0809065F */ j .L8024197C +/* D1A150 80241970 00000000 */ nop +.L80241974: +/* D1A154 80241974 0C0129CF */ jal func_8004A73C +/* D1A158 80241978 0240202D */ daddu $a0, $s2, $zero +.L8024197C: +/* D1A15C 8024197C 8FBF0048 */ lw $ra, 0x48($sp) +/* D1A160 80241980 8FB50044 */ lw $s5, 0x44($sp) +/* D1A164 80241984 8FB40040 */ lw $s4, 0x40($sp) +/* D1A168 80241988 8FB3003C */ lw $s3, 0x3c($sp) +/* D1A16C 8024198C 8FB20038 */ lw $s2, 0x38($sp) +/* D1A170 80241990 8FB10034 */ lw $s1, 0x34($sp) +/* D1A174 80241994 8FB00030 */ lw $s0, 0x30($sp) +/* D1A178 80241998 0000102D */ daddu $v0, $zero, $zero +/* D1A17C 8024199C 03E00008 */ jr $ra +/* D1A180 802419A0 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_802419A4.s b/asm/nonmatchings/world/area_sam/sam_05/func_802419A4.s new file mode 100644 index 0000000000..25038791f7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_802419A4.s @@ -0,0 +1,240 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419A4 +/* D1A184 802419A4 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* D1A188 802419A8 AFBE00A0 */ sw $fp, 0xa0($sp) +/* D1A18C 802419AC 0080F02D */ daddu $fp, $a0, $zero +/* D1A190 802419B0 AFBF00A4 */ sw $ra, 0xa4($sp) +/* D1A194 802419B4 AFB7009C */ sw $s7, 0x9c($sp) +/* D1A198 802419B8 AFB60098 */ sw $s6, 0x98($sp) +/* D1A19C 802419BC AFB50094 */ sw $s5, 0x94($sp) +/* D1A1A0 802419C0 AFB40090 */ sw $s4, 0x90($sp) +/* D1A1A4 802419C4 AFB3008C */ sw $s3, 0x8c($sp) +/* D1A1A8 802419C8 AFB20088 */ sw $s2, 0x88($sp) +/* D1A1AC 802419CC AFB10084 */ sw $s1, 0x84($sp) +/* D1A1B0 802419D0 AFB00080 */ sw $s0, 0x80($sp) +/* D1A1B4 802419D4 F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* D1A1B8 802419D8 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* D1A1BC 802419DC F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* D1A1C0 802419E0 8FD70148 */ lw $s7, 0x148($fp) +/* D1A1C4 802419E4 86E40008 */ lh $a0, 8($s7) +/* D1A1C8 802419E8 0C00EABB */ jal get_npc_unsafe +/* D1A1CC 802419EC 00A0802D */ daddu $s0, $a1, $zero +/* D1A1D0 802419F0 12000003 */ beqz $s0, .L80241A00 +/* D1A1D4 802419F4 0040B02D */ daddu $s6, $v0, $zero +/* D1A1D8 802419F8 A6C0008E */ sh $zero, 0x8e($s6) +/* D1A1DC 802419FC AFC00070 */ sw $zero, 0x70($fp) +.L80241A00: +/* D1A1E0 80241A00 8EE20078 */ lw $v0, 0x78($s7) +/* D1A1E4 80241A04 1440000B */ bnez $v0, .L80241A34 +/* D1A1E8 80241A08 0000282D */ daddu $a1, $zero, $zero +/* D1A1EC 80241A0C 24050001 */ addiu $a1, $zero, 1 +/* D1A1F0 80241A10 24060007 */ addiu $a2, $zero, 7 +/* D1A1F4 80241A14 240200FF */ addiu $v0, $zero, 0xff +/* D1A1F8 80241A18 AFA20010 */ sw $v0, 0x10($sp) +/* D1A1FC 80241A1C AFA20014 */ sw $v0, 0x14($sp) +/* D1A200 80241A20 AFA00018 */ sw $zero, 0x18($sp) +/* D1A204 80241A24 AFA0001C */ sw $zero, 0x1c($sp) +/* D1A208 80241A28 8EC40024 */ lw $a0, 0x24($s6) +/* D1A20C 80241A2C 08090736 */ j .L80241CD8 +/* D1A210 80241A30 0040382D */ daddu $a3, $v0, $zero +.L80241A34: +/* D1A214 80241A34 24060011 */ addiu $a2, $zero, 0x11 +/* D1A218 80241A38 240200FF */ addiu $v0, $zero, 0xff +/* D1A21C 80241A3C AFA00010 */ sw $zero, 0x10($sp) +/* D1A220 80241A40 AFA00014 */ sw $zero, 0x14($sp) +/* D1A224 80241A44 AFA20018 */ sw $v0, 0x18($sp) +/* D1A228 80241A48 AFA0001C */ sw $zero, 0x1c($sp) +/* D1A22C 80241A4C 8EC40024 */ lw $a0, 0x24($s6) +/* D1A230 80241A50 0C0B79E0 */ jal func_802DE780 +/* D1A234 80241A54 24070014 */ addiu $a3, $zero, 0x14 +/* D1A238 80241A58 8FC20070 */ lw $v0, 0x70($fp) +/* D1A23C 80241A5C 2444000A */ addiu $a0, $v0, 0xa +/* D1A240 80241A60 28820168 */ slti $v0, $a0, 0x168 +/* D1A244 80241A64 14400010 */ bnez $v0, .L80241AA8 +/* D1A248 80241A68 AFC40070 */ sw $a0, 0x70($fp) +/* D1A24C 80241A6C 3C02B60B */ lui $v0, 0xb60b +/* D1A250 80241A70 344260B7 */ ori $v0, $v0, 0x60b7 +/* D1A254 80241A74 00820018 */ mult $a0, $v0 +/* D1A258 80241A78 00041FC3 */ sra $v1, $a0, 0x1f +/* D1A25C 80241A7C 00004810 */ mfhi $t1 +/* D1A260 80241A80 01241021 */ addu $v0, $t1, $a0 +/* D1A264 80241A84 00021203 */ sra $v0, $v0, 8 +/* D1A268 80241A88 00431023 */ subu $v0, $v0, $v1 +/* D1A26C 80241A8C 00021840 */ sll $v1, $v0, 1 +/* D1A270 80241A90 00621821 */ addu $v1, $v1, $v0 +/* D1A274 80241A94 00031100 */ sll $v0, $v1, 4 +/* D1A278 80241A98 00431023 */ subu $v0, $v0, $v1 +/* D1A27C 80241A9C 000210C0 */ sll $v0, $v0, 3 +/* D1A280 80241AA0 00821023 */ subu $v0, $a0, $v0 +/* D1A284 80241AA4 AFC20070 */ sw $v0, 0x70($fp) +.L80241AA8: +/* D1A288 80241AA8 0000882D */ daddu $s1, $zero, $zero +/* D1A28C 80241AAC 27B50050 */ addiu $s5, $sp, 0x50 +/* D1A290 80241AB0 27B40038 */ addiu $s4, $sp, 0x38 +/* D1A294 80241AB4 27B20020 */ addiu $s2, $sp, 0x20 +/* D1A298 80241AB8 0220802D */ daddu $s0, $s1, $zero +/* D1A29C 80241ABC 3C013FF0 */ lui $at, 0x3ff0 +/* D1A2A0 80241AC0 4481C800 */ mtc1 $at, $f25 +/* D1A2A4 80241AC4 4480C000 */ mtc1 $zero, $f24 +/* D1A2A8 80241AC8 3C01404C */ lui $at, 0x404c +/* D1A2AC 80241ACC 4481B800 */ mtc1 $at, $f23 +/* D1A2B0 80241AD0 4480B000 */ mtc1 $zero, $f22 +/* D1A2B4 80241AD4 3C0141E0 */ lui $at, 0x41e0 +/* D1A2B8 80241AD8 4481A800 */ mtc1 $at, $f21 +/* D1A2BC 80241ADC 4480A000 */ mtc1 $zero, $f20 +.L80241AE0: +/* D1A2C0 80241AE0 97C40072 */ lhu $a0, 0x72($fp) +/* D1A2C4 80241AE4 00902021 */ addu $a0, $a0, $s0 +/* D1A2C8 80241AE8 00042400 */ sll $a0, $a0, 0x10 +/* D1A2CC 80241AEC 0C00A4F5 */ jal cosine +/* D1A2D0 80241AF0 00042403 */ sra $a0, $a0, 0x10 +/* D1A2D4 80241AF4 46000021 */ cvt.d.s $f0, $f0 +/* D1A2D8 80241AF8 46380000 */ add.d $f0, $f0, $f24 +/* D1A2DC 80241AFC 46360002 */ mul.d $f0, $f0, $f22 +/* D1A2E0 80241B00 00000000 */ nop +/* D1A2E4 80241B04 4620A03E */ c.le.d $f20, $f0 +/* D1A2E8 80241B08 00000000 */ nop +/* D1A2EC 80241B0C 45030005 */ bc1tl .L80241B24 +/* D1A2F0 80241B10 46340001 */ sub.d $f0, $f0, $f20 +/* D1A2F4 80241B14 4620008D */ trunc.w.d $f2, $f0 +/* D1A2F8 80241B18 44021000 */ mfc1 $v0, $f2 +/* D1A2FC 80241B1C 080906CE */ j .L80241B38 +/* D1A300 80241B20 A2420000 */ sb $v0, ($s2) +.L80241B24: +/* D1A304 80241B24 4620008D */ trunc.w.d $f2, $f0 +/* D1A308 80241B28 44021000 */ mfc1 $v0, $f2 +/* D1A30C 80241B2C 3C098000 */ lui $t1, 0x8000 +/* D1A310 80241B30 00491025 */ or $v0, $v0, $t1 +/* D1A314 80241B34 A2420000 */ sb $v0, ($s2) +.L80241B38: +/* D1A318 80241B38 97C40072 */ lhu $a0, 0x72($fp) +/* D1A31C 80241B3C 00902021 */ addu $a0, $a0, $s0 +/* D1A320 80241B40 2484002D */ addiu $a0, $a0, 0x2d +/* D1A324 80241B44 00042400 */ sll $a0, $a0, 0x10 +/* D1A328 80241B48 0C00A4F5 */ jal cosine +/* D1A32C 80241B4C 00042403 */ sra $a0, $a0, 0x10 +/* D1A330 80241B50 46000021 */ cvt.d.s $f0, $f0 +/* D1A334 80241B54 46380000 */ add.d $f0, $f0, $f24 +/* D1A338 80241B58 46360002 */ mul.d $f0, $f0, $f22 +/* D1A33C 80241B5C 00000000 */ nop +/* D1A340 80241B60 4620A03E */ c.le.d $f20, $f0 +/* D1A344 80241B64 00000000 */ nop +/* D1A348 80241B68 45010005 */ bc1t .L80241B80 +/* D1A34C 80241B6C 0280182D */ daddu $v1, $s4, $zero +/* D1A350 80241B70 4620008D */ trunc.w.d $f2, $f0 +/* D1A354 80241B74 44021000 */ mfc1 $v0, $f2 +/* D1A358 80241B78 080906E6 */ j .L80241B98 +/* D1A35C 80241B7C A0620000 */ sb $v0, ($v1) +.L80241B80: +/* D1A360 80241B80 46340001 */ sub.d $f0, $f0, $f20 +/* D1A364 80241B84 4620008D */ trunc.w.d $f2, $f0 +/* D1A368 80241B88 44021000 */ mfc1 $v0, $f2 +/* D1A36C 80241B8C 3C098000 */ lui $t1, 0x8000 +/* D1A370 80241B90 00491025 */ or $v0, $v0, $t1 +/* D1A374 80241B94 A0620000 */ sb $v0, ($v1) +.L80241B98: +/* D1A378 80241B98 97C40072 */ lhu $a0, 0x72($fp) +/* D1A37C 80241B9C 00902021 */ addu $a0, $a0, $s0 +/* D1A380 80241BA0 2484005A */ addiu $a0, $a0, 0x5a +/* D1A384 80241BA4 00042400 */ sll $a0, $a0, 0x10 +/* D1A388 80241BA8 0C00A4F5 */ jal cosine +/* D1A38C 80241BAC 00042403 */ sra $a0, $a0, 0x10 +/* D1A390 80241BB0 46000021 */ cvt.d.s $f0, $f0 +/* D1A394 80241BB4 46380000 */ add.d $f0, $f0, $f24 +/* D1A398 80241BB8 46360002 */ mul.d $f0, $f0, $f22 +/* D1A39C 80241BBC 00000000 */ nop +/* D1A3A0 80241BC0 4620A03E */ c.le.d $f20, $f0 +/* D1A3A4 80241BC4 00000000 */ nop +/* D1A3A8 80241BC8 45010005 */ bc1t .L80241BE0 +/* D1A3AC 80241BCC 02A0182D */ daddu $v1, $s5, $zero +/* D1A3B0 80241BD0 4620008D */ trunc.w.d $f2, $f0 +/* D1A3B4 80241BD4 44021000 */ mfc1 $v0, $f2 +/* D1A3B8 80241BD8 080906FE */ j .L80241BF8 +/* D1A3BC 80241BDC 0000282D */ daddu $a1, $zero, $zero +.L80241BE0: +/* D1A3C0 80241BE0 46340001 */ sub.d $f0, $f0, $f20 +/* D1A3C4 80241BE4 4620008D */ trunc.w.d $f2, $f0 +/* D1A3C8 80241BE8 44021000 */ mfc1 $v0, $f2 +/* D1A3CC 80241BEC 3C098000 */ lui $t1, 0x8000 +/* D1A3D0 80241BF0 00491025 */ or $v0, $v0, $t1 +/* D1A3D4 80241BF4 0000282D */ daddu $a1, $zero, $zero +.L80241BF8: +/* D1A3D8 80241BF8 2406000C */ addiu $a2, $zero, 0xc +/* D1A3DC 80241BFC 0220382D */ daddu $a3, $s1, $zero +/* D1A3E0 80241C00 26100019 */ addiu $s0, $s0, 0x19 +/* D1A3E4 80241C04 A0620000 */ sb $v0, ($v1) +/* D1A3E8 80241C08 27A30068 */ addiu $v1, $sp, 0x68 +/* D1A3EC 80241C0C 00711821 */ addu $v1, $v1, $s1 +/* D1A3F0 80241C10 26310001 */ addiu $s1, $s1, 1 +/* D1A3F4 80241C14 92E2007B */ lbu $v0, 0x7b($s7) +/* D1A3F8 80241C18 241300FF */ addiu $s3, $zero, 0xff +/* D1A3FC 80241C1C A0620000 */ sb $v0, ($v1) +/* D1A400 80241C20 92A80000 */ lbu $t0, ($s5) +/* D1A404 80241C24 26B50001 */ addiu $s5, $s5, 1 +/* D1A408 80241C28 92420000 */ lbu $v0, ($s2) +/* D1A40C 80241C2C 92840000 */ lbu $a0, ($s4) +/* D1A410 80241C30 90630000 */ lbu $v1, ($v1) +/* D1A414 80241C34 26940001 */ addiu $s4, $s4, 1 +/* D1A418 80241C38 AFA00014 */ sw $zero, 0x14($sp) +/* D1A41C 80241C3C AFB30018 */ sw $s3, 0x18($sp) +/* D1A420 80241C40 AFA0001C */ sw $zero, 0x1c($sp) +/* D1A424 80241C44 00021600 */ sll $v0, $v0, 0x18 +/* D1A428 80241C48 00042400 */ sll $a0, $a0, 0x10 +/* D1A42C 80241C4C 00441025 */ or $v0, $v0, $a0 +/* D1A430 80241C50 00084200 */ sll $t0, $t0, 8 +/* D1A434 80241C54 00481025 */ or $v0, $v0, $t0 +/* D1A438 80241C58 00431025 */ or $v0, $v0, $v1 +/* D1A43C 80241C5C AFA20010 */ sw $v0, 0x10($sp) +/* D1A440 80241C60 8EC40024 */ lw $a0, 0x24($s6) +/* D1A444 80241C64 0C0B79E0 */ jal func_802DE780 +/* D1A448 80241C68 26520001 */ addiu $s2, $s2, 1 +/* D1A44C 80241C6C 2A220014 */ slti $v0, $s1, 0x14 +/* D1A450 80241C70 1440FF9B */ bnez $v0, .L80241AE0 +/* D1A454 80241C74 00000000 */ nop +/* D1A458 80241C78 8EE30078 */ lw $v1, 0x78($s7) +/* D1A45C 80241C7C 1473000A */ bne $v1, $s3, .L80241CA8 +/* D1A460 80241C80 24020016 */ addiu $v0, $zero, 0x16 +/* D1A464 80241C84 24050001 */ addiu $a1, $zero, 1 +/* D1A468 80241C88 2406000F */ addiu $a2, $zero, 0xf +/* D1A46C 80241C8C 2402000D */ addiu $v0, $zero, 0xd +/* D1A470 80241C90 A2C200AA */ sb $v0, 0xaa($s6) +/* D1A474 80241C94 AFA30010 */ sw $v1, 0x10($sp) +/* D1A478 80241C98 AFA00014 */ sw $zero, 0x14($sp) +/* D1A47C 80241C9C AFA30018 */ sw $v1, 0x18($sp) +/* D1A480 80241CA0 08090733 */ j .L80241CCC +/* D1A484 80241CA4 AFA0001C */ sw $zero, 0x1c($sp) +.L80241CA8: +/* D1A488 80241CA8 A2C200AA */ sb $v0, 0xaa($s6) +/* D1A48C 80241CAC 8EE20078 */ lw $v0, 0x78($s7) +/* D1A490 80241CB0 24050001 */ addiu $a1, $zero, 1 +/* D1A494 80241CB4 AFA00014 */ sw $zero, 0x14($sp) +/* D1A498 80241CB8 AFA20010 */ sw $v0, 0x10($sp) +/* D1A49C 80241CBC 8EE20078 */ lw $v0, 0x78($s7) +/* D1A4A0 80241CC0 2406000F */ addiu $a2, $zero, 0xf +/* D1A4A4 80241CC4 AFA0001C */ sw $zero, 0x1c($sp) +/* D1A4A8 80241CC8 AFA20018 */ sw $v0, 0x18($sp) +.L80241CCC: +/* D1A4AC 80241CCC 8EC40024 */ lw $a0, 0x24($s6) +/* D1A4B0 80241CD0 3C078024 */ lui $a3, 0x8024 +/* D1A4B4 80241CD4 24E72F90 */ addiu $a3, $a3, 0x2f90 +.L80241CD8: +/* D1A4B8 80241CD8 0C0B79E0 */ jal func_802DE780 +/* D1A4BC 80241CDC 00000000 */ nop +/* D1A4C0 80241CE0 0000102D */ daddu $v0, $zero, $zero +/* D1A4C4 80241CE4 8FBF00A4 */ lw $ra, 0xa4($sp) +/* D1A4C8 80241CE8 8FBE00A0 */ lw $fp, 0xa0($sp) +/* D1A4CC 80241CEC 8FB7009C */ lw $s7, 0x9c($sp) +/* D1A4D0 80241CF0 8FB60098 */ lw $s6, 0x98($sp) +/* D1A4D4 80241CF4 8FB50094 */ lw $s5, 0x94($sp) +/* D1A4D8 80241CF8 8FB40090 */ lw $s4, 0x90($sp) +/* D1A4DC 80241CFC 8FB3008C */ lw $s3, 0x8c($sp) +/* D1A4E0 80241D00 8FB20088 */ lw $s2, 0x88($sp) +/* D1A4E4 80241D04 8FB10084 */ lw $s1, 0x84($sp) +/* D1A4E8 80241D08 8FB00080 */ lw $s0, 0x80($sp) +/* D1A4EC 80241D0C D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* D1A4F0 80241D10 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* D1A4F4 80241D14 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* D1A4F8 80241D18 03E00008 */ jr $ra +/* D1A4FC 80241D1C 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/nonmatchings/world/area_sam/sam_05/func_80241D20_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/func_80241D20_D187E0.s new file mode 100644 index 0000000000..e9b6d146ea --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/func_80241D20_D187E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D20_D1A500 +/* D1A500 80241D20 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* D1A504 80241D24 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* D1A508 80241D28 90420012 */ lbu $v0, 0x12($v0) +/* D1A50C 80241D2C 000211C2 */ srl $v0, $v0, 7 +/* D1A510 80241D30 03E00008 */ jr $ra +/* D1A514 80241D34 00021040 */ sll $v0, $v0, 1 +/* D1A518 80241D38 00000000 */ nop +/* D1A51C 80241D3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_05/update_starpoints_display_D187E0.s b/asm/nonmatchings/world/area_sam/sam_05/update_starpoints_display_D187E0.s new file mode 100644 index 0000000000..473a53e3bc --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_05/update_starpoints_display_D187E0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel update_starpoints_display_D18B9C +/* D18B9C 802403BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D18BA0 802403C0 AFB40028 */ sw $s4, 0x28($sp) +/* D18BA4 802403C4 0080A02D */ daddu $s4, $a0, $zero +/* D18BA8 802403C8 AFBF002C */ sw $ra, 0x2c($sp) +/* D18BAC 802403CC AFB30024 */ sw $s3, 0x24($sp) +/* D18BB0 802403D0 AFB20020 */ sw $s2, 0x20($sp) +/* D18BB4 802403D4 AFB1001C */ sw $s1, 0x1c($sp) +/* D18BB8 802403D8 AFB00018 */ sw $s0, 0x18($sp) +/* D18BBC 802403DC 8E910148 */ lw $s1, 0x148($s4) +/* D18BC0 802403E0 86240008 */ lh $a0, 8($s1) +/* D18BC4 802403E4 0C00EABB */ jal get_npc_unsafe +/* D18BC8 802403E8 00A0802D */ daddu $s0, $a1, $zero +/* D18BCC 802403EC 16000005 */ bnez $s0, .L80240404 +/* D18BD0 802403F0 0040902D */ daddu $s2, $v0, $zero +/* D18BD4 802403F4 8E2200B0 */ lw $v0, 0xb0($s1) +/* D18BD8 802403F8 30420004 */ andi $v0, $v0, 4 +/* D18BDC 802403FC 10400015 */ beqz $v0, .L80240454 +/* D18BE0 80240400 00000000 */ nop +.L80240404: +/* D18BE4 80240404 AE800070 */ sw $zero, 0x70($s4) +/* D18BE8 80240408 8E420000 */ lw $v0, ($s2) +/* D18BEC 8024040C 3C031F30 */ lui $v1, 0x1f30 +/* D18BF0 80240410 A640008E */ sh $zero, 0x8e($s2) +/* D18BF4 80240414 34420102 */ ori $v0, $v0, 0x102 +/* D18BF8 80240418 AE420000 */ sw $v0, ($s2) +/* D18BFC 8024041C 8E220000 */ lw $v0, ($s1) +/* D18C00 80240420 3C01C47A */ lui $at, 0xc47a +/* D18C04 80240424 44810000 */ mtc1 $at, $f0 +/* D18C08 80240428 00431025 */ or $v0, $v0, $v1 +/* D18C0C 8024042C AE220000 */ sw $v0, ($s1) +/* D18C10 80240430 AE400038 */ sw $zero, 0x38($s2) +/* D18C14 80240434 E640003C */ swc1 $f0, 0x3c($s2) +/* D18C18 80240438 AE400040 */ sw $zero, 0x40($s2) +/* D18C1C 8024043C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D18C20 80240440 30620004 */ andi $v0, $v1, 4 +/* D18C24 80240444 10400003 */ beqz $v0, .L80240454 +/* D18C28 80240448 2402FFFB */ addiu $v0, $zero, -5 +/* D18C2C 8024044C 00621024 */ and $v0, $v1, $v0 +/* D18C30 80240450 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240454: +/* D18C34 80240454 8E930070 */ lw $s3, 0x70($s4) +/* D18C38 80240458 12600005 */ beqz $s3, .L80240470 +/* D18C3C 8024045C 24020001 */ addiu $v0, $zero, 1 +/* D18C40 80240460 12620048 */ beq $s3, $v0, .L80240584 +/* D18C44 80240464 00000000 */ nop +/* D18C48 80240468 0809017E */ j .L802405F8 +/* D18C4C 8024046C 00000000 */ nop +.L80240470: +/* D18C50 80240470 86240008 */ lh $a0, 8($s1) +/* D18C54 80240474 0C00FB3A */ jal get_enemy +/* D18C58 80240478 2484FFFF */ addiu $a0, $a0, -1 +/* D18C5C 8024047C 0040802D */ daddu $s0, $v0, $zero +/* D18C60 80240480 0C00EABB */ jal get_npc_unsafe +/* D18C64 80240484 86040008 */ lh $a0, 8($s0) +/* D18C68 80240488 24030001 */ addiu $v1, $zero, 1 +/* D18C6C 8024048C 0040982D */ daddu $s3, $v0, $zero +/* D18C70 80240490 A2230007 */ sb $v1, 7($s1) +/* D18C74 80240494 8E03006C */ lw $v1, 0x6c($s0) +/* D18C78 80240498 24020003 */ addiu $v0, $zero, 3 +/* D18C7C 8024049C 14620056 */ bne $v1, $v0, .L802405F8 +/* D18C80 802404A0 00000000 */ nop +/* D18C84 802404A4 8E2500A8 */ lw $a1, 0xa8($s1) +/* D18C88 802404A8 10A00003 */ beqz $a1, .L802404B8 +/* D18C8C 802404AC 0260202D */ daddu $a0, $s3, $zero +/* D18C90 802404B0 0C012530 */ jal func_800494C0 +/* D18C94 802404B4 0000302D */ daddu $a2, $zero, $zero +.L802404B8: +/* D18C98 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* D18C9C 802404BC C6280070 */ lwc1 $f8, 0x70($s1) +/* D18CA0 802404C0 46804220 */ cvt.s.w $f8, $f8 +/* D18CA4 802404C4 C6620034 */ lwc1 $f2, 0x34($s3) +/* D18CA8 802404C8 3C014387 */ lui $at, 0x4387 +/* D18CAC 802404CC 44810000 */ mtc1 $at, $f0 +/* D18CB0 802404D0 44064000 */ mfc1 $a2, $f8 +/* D18CB4 802404D4 46020001 */ sub.s $f0, $f0, $f2 +/* D18CB8 802404D8 C6660038 */ lwc1 $f6, 0x38($s3) +/* D18CBC 802404DC C6640040 */ lwc1 $f4, 0x40($s3) +/* D18CC0 802404E0 44070000 */ mfc1 $a3, $f0 +/* D18CC4 802404E4 27A50014 */ addiu $a1, $sp, 0x14 +/* D18CC8 802404E8 E7A60010 */ swc1 $f6, 0x10($sp) +/* D18CCC 802404EC 0C00A7E7 */ jal add_vec2D_polar +/* D18CD0 802404F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* D18CD4 802404F4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D18CD8 802404F8 4600020D */ trunc.w.s $f8, $f0 +/* D18CDC 802404FC 44024000 */ mfc1 $v0, $f8 +/* D18CE0 80240500 E6400038 */ swc1 $f0, 0x38($s2) +/* D18CE4 80240504 A6220010 */ sh $v0, 0x10($s1) +/* D18CE8 80240508 C660003C */ lwc1 $f0, 0x3c($s3) +/* D18CEC 8024050C C622006C */ lwc1 $f2, 0x6c($s1) +/* D18CF0 80240510 468010A0 */ cvt.s.w $f2, $f2 +/* D18CF4 80240514 46020000 */ add.s $f0, $f0, $f2 +/* D18CF8 80240518 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D18CFC 8024051C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D18D00 80240520 E640003C */ swc1 $f0, 0x3c($s2) +/* D18D04 80240524 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D18D08 80240528 4600020D */ trunc.w.s $f8, $f0 +/* D18D0C 8024052C 44024000 */ mfc1 $v0, $f8 +/* D18D10 80240530 00000000 */ nop +/* D18D14 80240534 A6220012 */ sh $v0, 0x12($s1) +/* D18D18 80240538 4600120D */ trunc.w.s $f8, $f2 +/* D18D1C 8024053C 44024000 */ mfc1 $v0, $f8 +/* D18D20 80240540 E6420040 */ swc1 $f2, 0x40($s2) +/* D18D24 80240544 A6220014 */ sh $v0, 0x14($s1) +/* D18D28 80240548 8C660028 */ lw $a2, 0x28($v1) +/* D18D2C 8024054C 8C670030 */ lw $a3, 0x30($v1) +/* D18D30 80240550 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D18D34 80240554 0C00A720 */ jal atan2 +/* D18D38 80240558 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D18D3C 8024055C 3C03E0EF */ lui $v1, 0xe0ef +/* D18D40 80240560 E640000C */ swc1 $f0, 0xc($s2) +/* D18D44 80240564 8E220000 */ lw $v0, ($s1) +/* D18D48 80240568 3463FFFF */ ori $v1, $v1, 0xffff +/* D18D4C 8024056C 00431024 */ and $v0, $v0, $v1 +/* D18D50 80240570 AE220000 */ sw $v0, ($s1) +/* D18D54 80240574 24020001 */ addiu $v0, $zero, 1 +/* D18D58 80240578 A640008E */ sh $zero, 0x8e($s2) +/* D18D5C 8024057C 0809017E */ j .L802405F8 +/* D18D60 80240580 AE820070 */ sw $v0, 0x70($s4) +.L80240584: +/* D18D64 80240584 86240008 */ lh $a0, 8($s1) +/* D18D68 80240588 0C00FB3A */ jal get_enemy +/* D18D6C 8024058C 2484FFFF */ addiu $a0, $a0, -1 +/* D18D70 80240590 0040802D */ daddu $s0, $v0, $zero +/* D18D74 80240594 0C00EABB */ jal get_npc_unsafe +/* D18D78 80240598 86040008 */ lh $a0, 8($s0) +/* D18D7C 8024059C 9642008E */ lhu $v0, 0x8e($s2) +/* D18D80 802405A0 24420001 */ addiu $v0, $v0, 1 +/* D18D84 802405A4 A642008E */ sh $v0, 0x8e($s2) +/* D18D88 802405A8 00021400 */ sll $v0, $v0, 0x10 +/* D18D8C 802405AC 8E23007C */ lw $v1, 0x7c($s1) +/* D18D90 802405B0 00021403 */ sra $v0, $v0, 0x10 +/* D18D94 802405B4 0043102A */ slt $v0, $v0, $v1 +/* D18D98 802405B8 50400001 */ beql $v0, $zero, .L802405C0 +/* D18D9C 802405BC A2200007 */ sb $zero, 7($s1) +.L802405C0: +/* D18DA0 802405C0 8E03006C */ lw $v1, 0x6c($s0) +/* D18DA4 802405C4 24020004 */ addiu $v0, $zero, 4 +/* D18DA8 802405C8 1462000B */ bne $v1, $v0, .L802405F8 +/* D18DAC 802405CC 3C021F10 */ lui $v0, 0x1f10 +/* D18DB0 802405D0 8E230000 */ lw $v1, ($s1) +/* D18DB4 802405D4 3C01C47A */ lui $at, 0xc47a +/* D18DB8 802405D8 44810000 */ mtc1 $at, $f0 +/* D18DBC 802405DC 00621825 */ or $v1, $v1, $v0 +/* D18DC0 802405E0 AE230000 */ sw $v1, ($s1) +/* D18DC4 802405E4 AE400038 */ sw $zero, 0x38($s2) +/* D18DC8 802405E8 E640003C */ swc1 $f0, 0x3c($s2) +/* D18DCC 802405EC AE400040 */ sw $zero, 0x40($s2) +/* D18DD0 802405F0 A2330007 */ sb $s3, 7($s1) +/* D18DD4 802405F4 AE800070 */ sw $zero, 0x70($s4) +.L802405F8: +/* D18DD8 802405F8 8FBF002C */ lw $ra, 0x2c($sp) +/* D18DDC 802405FC 8FB40028 */ lw $s4, 0x28($sp) +/* D18DE0 80240600 8FB30024 */ lw $s3, 0x24($sp) +/* D18DE4 80240604 8FB20020 */ lw $s2, 0x20($sp) +/* D18DE8 80240608 8FB1001C */ lw $s1, 0x1c($sp) +/* D18DEC 8024060C 8FB00018 */ lw $s0, 0x18($sp) +/* D18DF0 80240610 0000102D */ daddu $v0, $zero, $zero +/* D18DF4 80240614 03E00008 */ jr $ra +/* D18DF8 80240618 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240000_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240000_D1FE90.s new file mode 100644 index 0000000000..788ac4327c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240000_D1FE90.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D1FE90 +/* D1FE90 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D1FE94 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* D1FE98 80240008 0080802D */ daddu $s0, $a0, $zero +/* D1FE9C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* D1FEA0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* D1FEA4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* D1FEA8 80240018 00621821 */ addu $v1, $v1, $v0 +/* D1FEAC 8024001C 04610004 */ bgez $v1, .L80240030 +/* D1FEB0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* D1FEB4 80240024 3C020002 */ lui $v0, 2 +/* D1FEB8 80240028 08090010 */ j .L80240040 +/* D1FEBC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* D1FEC0 80240030 3C040002 */ lui $a0, 2 +/* D1FEC4 80240034 0083102A */ slt $v0, $a0, $v1 +/* D1FEC8 80240038 10400002 */ beqz $v0, .L80240044 +/* D1FECC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* D1FED0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* D1FED4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* D1FED8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* D1FEDC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* D1FEE0 80240050 04610004 */ bgez $v1, .L80240064 +/* D1FEE4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* D1FEE8 80240058 3C020002 */ lui $v0, 2 +/* D1FEEC 8024005C 0809001D */ j .L80240074 +/* D1FEF0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* D1FEF4 80240064 3C040002 */ lui $a0, 2 +/* D1FEF8 80240068 0083102A */ slt $v0, $a0, $v1 +/* D1FEFC 8024006C 10400002 */ beqz $v0, .L80240078 +/* D1FF00 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* D1FF04 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* D1FF08 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* D1FF0C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* D1FF10 80240080 00621821 */ addu $v1, $v1, $v0 +/* D1FF14 80240084 04610004 */ bgez $v1, .L80240098 +/* D1FF18 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* D1FF1C 8024008C 3C020002 */ lui $v0, 2 +/* D1FF20 80240090 0809002A */ j .L802400A8 +/* D1FF24 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* D1FF28 80240098 3C040002 */ lui $a0, 2 +/* D1FF2C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* D1FF30 802400A0 10400002 */ beqz $v0, .L802400AC +/* D1FF34 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* D1FF38 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* D1FF3C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* D1FF40 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* D1FF44 802400B4 00621821 */ addu $v1, $v1, $v0 +/* D1FF48 802400B8 04610004 */ bgez $v1, .L802400CC +/* D1FF4C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* D1FF50 802400C0 3C020002 */ lui $v0, 2 +/* D1FF54 802400C4 08090037 */ j .L802400DC +/* D1FF58 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* D1FF5C 802400CC 3C040002 */ lui $a0, 2 +/* D1FF60 802400D0 0083102A */ slt $v0, $a0, $v1 +/* D1FF64 802400D4 10400002 */ beqz $v0, .L802400E0 +/* D1FF68 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* D1FF6C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* D1FF70 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* D1FF74 802400E4 0C046F07 */ jal set_main_pan_u +/* D1FF78 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* D1FF7C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* D1FF80 802400F0 0C046F0D */ jal set_main_pan_v +/* D1FF84 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* D1FF88 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* D1FF8C 802400FC 0C046F13 */ jal set_aux_pan_u +/* D1FF90 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* D1FF94 80240104 8E040084 */ lw $a0, 0x84($s0) +/* D1FF98 80240108 0C046F19 */ jal set_aux_pan_v +/* D1FF9C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* D1FFA0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* D1FFA4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* D1FFA8 80240118 0000102D */ daddu $v0, $zero, $zero +/* D1FFAC 8024011C 03E00008 */ jr $ra +/* D1FFB0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240124_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240124_D1FE90.s new file mode 100644 index 0000000000..614cd1acf8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240124_D1FE90.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_D1FFB4 +/* D1FFB4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D1FFB8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* D1FFBC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* D1FFC0 80240130 10A00005 */ beqz $a1, .L80240148 +/* D1FFC4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* D1FFC8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* D1FFCC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* D1FFD0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* D1FFD4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* D1FFD8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* D1FFDC 8024014C 1440000E */ bnez $v0, .L80240188 +/* D1FFE0 80240150 00000000 */ nop +/* D1FFE4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* D1FFE8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* D1FFEC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* D1FFF0 80240160 04610004 */ bgez $v1, .L80240174 +/* D1FFF4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* D1FFF8 80240168 3C020002 */ lui $v0, 2 +/* D1FFFC 8024016C 08090061 */ j .L80240184 +/* D20000 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* D20004 80240174 3C040002 */ lui $a0, 2 +/* D20008 80240178 0083102A */ slt $v0, $a0, $v1 +/* D2000C 8024017C 10400002 */ beqz $v0, .L80240188 +/* D20010 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* D20014 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* D20018 80240188 8E020074 */ lw $v0, 0x74($s0) +/* D2001C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* D20020 80240190 00000000 */ nop +/* D20024 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* D20028 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* D2002C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* D20030 802401A0 04610004 */ bgez $v1, .L802401B4 +/* D20034 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* D20038 802401A8 3C020002 */ lui $v0, 2 +/* D2003C 802401AC 08090071 */ j .L802401C4 +/* D20040 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* D20044 802401B4 3C040002 */ lui $a0, 2 +/* D20048 802401B8 0083102A */ slt $v0, $a0, $v1 +/* D2004C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* D20050 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* D20054 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* D20058 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* D2005C 802401CC 1440000E */ bnez $v0, .L80240208 +/* D20060 802401D0 00000000 */ nop +/* D20064 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* D20068 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* D2006C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* D20070 802401E0 04610004 */ bgez $v1, .L802401F4 +/* D20074 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* D20078 802401E8 3C020002 */ lui $v0, 2 +/* D2007C 802401EC 08090081 */ j .L80240204 +/* D20080 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* D20084 802401F4 3C040002 */ lui $a0, 2 +/* D20088 802401F8 0083102A */ slt $v0, $a0, $v1 +/* D2008C 802401FC 10400002 */ beqz $v0, .L80240208 +/* D20090 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* D20094 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* D20098 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* D2009C 8024020C 1440000E */ bnez $v0, .L80240248 +/* D200A0 80240210 00000000 */ nop +/* D200A4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* D200A8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* D200AC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* D200B0 80240220 04610004 */ bgez $v1, .L80240234 +/* D200B4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* D200B8 80240228 3C020002 */ lui $v0, 2 +/* D200BC 8024022C 08090091 */ j .L80240244 +/* D200C0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* D200C4 80240234 3C040002 */ lui $a0, 2 +/* D200C8 80240238 0083102A */ slt $v0, $a0, $v1 +/* D200CC 8024023C 10400002 */ beqz $v0, .L80240248 +/* D200D0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* D200D4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* D200D8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* D200DC 8024024C 0C046F07 */ jal set_main_pan_u +/* D200E0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* D200E4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* D200E8 80240258 0C046F0D */ jal set_main_pan_v +/* D200EC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* D200F0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* D200F4 80240264 0C046F13 */ jal set_aux_pan_u +/* D200F8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* D200FC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* D20100 80240270 0C046F19 */ jal set_aux_pan_v +/* D20104 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* D20108 80240278 8E020070 */ lw $v0, 0x70($s0) +/* D2010C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* D20110 80240280 8E040098 */ lw $a0, 0x98($s0) +/* D20114 80240284 24420001 */ addiu $v0, $v0, 1 +/* D20118 80240288 AE020070 */ sw $v0, 0x70($s0) +/* D2011C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* D20120 80240290 24630001 */ addiu $v1, $v1, 1 +/* D20124 80240294 AE030078 */ sw $v1, 0x78($s0) +/* D20128 80240298 8E030070 */ lw $v1, 0x70($s0) +/* D2012C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* D20130 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* D20134 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* D20138 802402A8 0064182A */ slt $v1, $v1, $a0 +/* D2013C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* D20140 802402B0 14600002 */ bnez $v1, .L802402BC +/* D20144 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* D20148 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* D2014C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* D20150 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* D20154 802402C4 0043102A */ slt $v0, $v0, $v1 +/* D20158 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* D2015C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* D20160 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* D20164 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* D20168 802402D8 0043102A */ slt $v0, $v0, $v1 +/* D2016C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* D20170 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* D20174 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* D20178 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* D2017C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* D20180 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* D20184 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* D20188 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* D2018C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* D20190 80240300 0000102D */ daddu $v0, $zero, $zero +/* D20194 80240304 03E00008 */ jr $ra +/* D20198 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024030C_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024030C_D1FE90.s new file mode 100644 index 0000000000..0a987824e0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024030C_D1FE90.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_D2019C +/* D2019C 8024030C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D201A0 80240310 F7B40018 */ sdc1 $f20, 0x18($sp) +/* D201A4 80240314 4485A000 */ mtc1 $a1, $f20 +/* D201A8 80240318 F7B60020 */ sdc1 $f22, 0x20($sp) +/* D201AC 8024031C 4486B000 */ mtc1 $a2, $f22 +/* D201B0 80240320 AFB00010 */ sw $s0, 0x10($sp) +/* D201B4 80240324 F7B80028 */ sdc1 $f24, 0x28($sp) +/* D201B8 80240328 4487C000 */ mtc1 $a3, $f24 +/* D201BC 8024032C AFBF0014 */ sw $ra, 0x14($sp) +/* D201C0 80240330 0C019D28 */ jal guMtxIdentF +/* D201C4 80240334 0080802D */ daddu $s0, $a0, $zero +/* D201C8 80240338 4616A582 */ mul.s $f22, $f20, $f22 +/* D201CC 8024033C 00000000 */ nop +/* D201D0 80240340 4618A502 */ mul.s $f20, $f20, $f24 +/* D201D4 80240344 00000000 */ nop +/* D201D8 80240348 3C013F80 */ lui $at, 0x3f80 +/* D201DC 8024034C 44810000 */ mtc1 $at, $f0 +/* D201E0 80240350 00000000 */ nop +/* D201E4 80240354 E6000014 */ swc1 $f0, 0x14($s0) +/* D201E8 80240358 E6160010 */ swc1 $f22, 0x10($s0) +/* D201EC 8024035C E6140018 */ swc1 $f20, 0x18($s0) +/* D201F0 80240360 8FBF0014 */ lw $ra, 0x14($sp) +/* D201F4 80240364 8FB00010 */ lw $s0, 0x10($sp) +/* D201F8 80240368 D7B80028 */ ldc1 $f24, 0x28($sp) +/* D201FC 8024036C D7B60020 */ ldc1 $f22, 0x20($sp) +/* D20200 80240370 D7B40018 */ ldc1 $f20, 0x18($sp) +/* D20204 80240374 03E00008 */ jr $ra +/* D20208 80240378 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024037C_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024037C_D1FE90.s new file mode 100644 index 0000000000..6cd7270bbf --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024037C_D1FE90.s @@ -0,0 +1,123 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024037C_D2020C +/* D2020C 8024037C 27BDFF78 */ addiu $sp, $sp, -0x88 +/* D20210 80240380 AFB10054 */ sw $s1, 0x54($sp) +/* D20214 80240384 0080882D */ daddu $s1, $a0, $zero +/* D20218 80240388 AFBF005C */ sw $ra, 0x5c($sp) +/* D2021C 8024038C AFB20058 */ sw $s2, 0x58($sp) +/* D20220 80240390 AFB00050 */ sw $s0, 0x50($sp) +/* D20224 80240394 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* D20228 80240398 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* D2022C 8024039C F7B80070 */ sdc1 $f24, 0x70($sp) +/* D20230 802403A0 F7B60068 */ sdc1 $f22, 0x68($sp) +/* D20234 802403A4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* D20238 802403A8 8E30000C */ lw $s0, 0xc($s1) +/* D2023C 802403AC 8E050000 */ lw $a1, ($s0) +/* D20240 802403B0 0C0B1EAF */ jal get_variable +/* D20244 802403B4 26100004 */ addiu $s0, $s0, 4 +/* D20248 802403B8 0C046C04 */ jal get_model_list_index_from_tree_index +/* D2024C 802403BC 0040202D */ daddu $a0, $v0, $zero +/* D20250 802403C0 8E050000 */ lw $a1, ($s0) +/* D20254 802403C4 26100004 */ addiu $s0, $s0, 4 +/* D20258 802403C8 0220202D */ daddu $a0, $s1, $zero +/* D2025C 802403CC 0C0B210B */ jal get_float_variable +/* D20260 802403D0 0040902D */ daddu $s2, $v0, $zero +/* D20264 802403D4 8E050000 */ lw $a1, ($s0) +/* D20268 802403D8 26100004 */ addiu $s0, $s0, 4 +/* D2026C 802403DC 0220202D */ daddu $a0, $s1, $zero +/* D20270 802403E0 0C0B210B */ jal get_float_variable +/* D20274 802403E4 46000706 */ mov.s $f28, $f0 +/* D20278 802403E8 8E050000 */ lw $a1, ($s0) +/* D2027C 802403EC 26100004 */ addiu $s0, $s0, 4 +/* D20280 802403F0 0220202D */ daddu $a0, $s1, $zero +/* D20284 802403F4 0C0B210B */ jal get_float_variable +/* D20288 802403F8 46000686 */ mov.s $f26, $f0 +/* D2028C 802403FC 0220202D */ daddu $a0, $s1, $zero +/* D20290 80240400 8E050000 */ lw $a1, ($s0) +/* D20294 80240404 0C0B210B */ jal get_float_variable +/* D20298 80240408 46000586 */ mov.s $f22, $f0 +/* D2029C 8024040C 0240202D */ daddu $a0, $s2, $zero +/* D202A0 80240410 0C046B4C */ jal get_model_from_list_index +/* D202A4 80240414 46000606 */ mov.s $f24, $f0 +/* D202A8 80240418 0040882D */ daddu $s1, $v0, $zero +/* D202AC 8024041C 96220000 */ lhu $v0, ($s1) +/* D202B0 80240420 30420400 */ andi $v0, $v0, 0x400 +/* D202B4 80240424 1440001E */ bnez $v0, .L802404A0 +/* D202B8 80240428 26300058 */ addiu $s0, $s1, 0x58 +/* D202BC 8024042C 4480A000 */ mtc1 $zero, $f20 +/* D202C0 80240430 4406B000 */ mfc1 $a2, $f22 +/* D202C4 80240434 4405A000 */ mfc1 $a1, $f20 +/* D202C8 80240438 4407A000 */ mfc1 $a3, $f20 +/* D202CC 8024043C 0C019E40 */ jal guTranslateF +/* D202D0 80240440 0200202D */ daddu $a0, $s0, $zero +/* D202D4 80240444 4405E000 */ mfc1 $a1, $f28 +/* D202D8 80240448 4406D000 */ mfc1 $a2, $f26 +/* D202DC 8024044C 4407C000 */ mfc1 $a3, $f24 +/* D202E0 80240450 0C0900C3 */ jal func_8024030C +/* D202E4 80240454 27A40010 */ addiu $a0, $sp, 0x10 +/* D202E8 80240458 27A40010 */ addiu $a0, $sp, 0x10 +/* D202EC 8024045C 0200282D */ daddu $a1, $s0, $zero +/* D202F0 80240460 0C019D80 */ jal guMtxCatF +/* D202F4 80240464 0200302D */ daddu $a2, $s0, $zero +/* D202F8 80240468 27A40010 */ addiu $a0, $sp, 0x10 +/* D202FC 8024046C 4600B587 */ neg.s $f22, $f22 +/* D20300 80240470 4405A000 */ mfc1 $a1, $f20 +/* D20304 80240474 4406B000 */ mfc1 $a2, $f22 +/* D20308 80240478 0C019E40 */ jal guTranslateF +/* D2030C 8024047C 00A0382D */ daddu $a3, $a1, $zero +/* D20310 80240480 27A40010 */ addiu $a0, $sp, 0x10 +/* D20314 80240484 0200282D */ daddu $a1, $s0, $zero +/* D20318 80240488 0C019D80 */ jal guMtxCatF +/* D2031C 8024048C 00A0302D */ daddu $a2, $a1, $zero +/* D20320 80240490 96220000 */ lhu $v0, ($s1) +/* D20324 80240494 34421400 */ ori $v0, $v0, 0x1400 +/* D20328 80240498 08090146 */ j .L80240518 +/* D2032C 8024049C A6220000 */ sh $v0, ($s1) +.L802404A0: +/* D20330 802404A0 4480A000 */ mtc1 $zero, $f20 +/* D20334 802404A4 4406B000 */ mfc1 $a2, $f22 +/* D20338 802404A8 4405A000 */ mfc1 $a1, $f20 +/* D2033C 802404AC 4407A000 */ mfc1 $a3, $f20 +/* D20340 802404B0 0C019E40 */ jal guTranslateF +/* D20344 802404B4 27A40010 */ addiu $a0, $sp, 0x10 +/* D20348 802404B8 27A40010 */ addiu $a0, $sp, 0x10 +/* D2034C 802404BC 26300058 */ addiu $s0, $s1, 0x58 +/* D20350 802404C0 0200282D */ daddu $a1, $s0, $zero +/* D20354 802404C4 0C019D80 */ jal guMtxCatF +/* D20358 802404C8 0200302D */ daddu $a2, $s0, $zero +/* D2035C 802404CC 4405E000 */ mfc1 $a1, $f28 +/* D20360 802404D0 4406D000 */ mfc1 $a2, $f26 +/* D20364 802404D4 4407C000 */ mfc1 $a3, $f24 +/* D20368 802404D8 0C0900C3 */ jal func_8024030C +/* D2036C 802404DC 27A40010 */ addiu $a0, $sp, 0x10 +/* D20370 802404E0 27A40010 */ addiu $a0, $sp, 0x10 +/* D20374 802404E4 0200282D */ daddu $a1, $s0, $zero +/* D20378 802404E8 0C019D80 */ jal guMtxCatF +/* D2037C 802404EC 0200302D */ daddu $a2, $s0, $zero +/* D20380 802404F0 27A40010 */ addiu $a0, $sp, 0x10 +/* D20384 802404F4 4600B587 */ neg.s $f22, $f22 +/* D20388 802404F8 4405A000 */ mfc1 $a1, $f20 +/* D2038C 802404FC 4406B000 */ mfc1 $a2, $f22 +/* D20390 80240500 0C019E40 */ jal guTranslateF +/* D20394 80240504 00A0382D */ daddu $a3, $a1, $zero +/* D20398 80240508 27A40010 */ addiu $a0, $sp, 0x10 +/* D2039C 8024050C 0200282D */ daddu $a1, $s0, $zero +/* D203A0 80240510 0C019D80 */ jal guMtxCatF +/* D203A4 80240514 00A0302D */ daddu $a2, $a1, $zero +.L80240518: +/* D203A8 80240518 8FBF005C */ lw $ra, 0x5c($sp) +/* D203AC 8024051C 8FB20058 */ lw $s2, 0x58($sp) +/* D203B0 80240520 8FB10054 */ lw $s1, 0x54($sp) +/* D203B4 80240524 8FB00050 */ lw $s0, 0x50($sp) +/* D203B8 80240528 D7BC0080 */ ldc1 $f28, 0x80($sp) +/* D203BC 8024052C D7BA0078 */ ldc1 $f26, 0x78($sp) +/* D203C0 80240530 D7B80070 */ ldc1 $f24, 0x70($sp) +/* D203C4 80240534 D7B60068 */ ldc1 $f22, 0x68($sp) +/* D203C8 80240538 D7B40060 */ ldc1 $f20, 0x60($sp) +/* D203CC 8024053C 24020002 */ addiu $v0, $zero, 2 +/* D203D0 80240540 03E00008 */ jr $ra +/* D203D4 80240544 27BD0088 */ addiu $sp, $sp, 0x88 +/* D203D8 80240548 00000000 */ nop +/* D203DC 8024054C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240550_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240550_D1FE90.s new file mode 100644 index 0000000000..3b974202d0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240550_D1FE90.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240550_D203E0 +/* D203E0 80240550 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D203E4 80240554 AFB3002C */ sw $s3, 0x2c($sp) +/* D203E8 80240558 0080982D */ daddu $s3, $a0, $zero +/* D203EC 8024055C AFBF0030 */ sw $ra, 0x30($sp) +/* D203F0 80240560 AFB20028 */ sw $s2, 0x28($sp) +/* D203F4 80240564 AFB10024 */ sw $s1, 0x24($sp) +/* D203F8 80240568 AFB00020 */ sw $s0, 0x20($sp) +/* D203FC 8024056C 8E710148 */ lw $s1, 0x148($s3) +/* D20400 80240570 86240008 */ lh $a0, 8($s1) +/* D20404 80240574 0C00EABB */ jal get_npc_unsafe +/* D20408 80240578 00A0902D */ daddu $s2, $a1, $zero +/* D2040C 8024057C 8E440004 */ lw $a0, 4($s2) +/* D20410 80240580 0040802D */ daddu $s0, $v0, $zero +/* D20414 80240584 00041FC2 */ srl $v1, $a0, 0x1f +/* D20418 80240588 00832021 */ addu $a0, $a0, $v1 +/* D2041C 8024058C 00042043 */ sra $a0, $a0, 1 +/* D20420 80240590 0C00A67F */ jal rand_int +/* D20424 80240594 24840001 */ addiu $a0, $a0, 1 +/* D20428 80240598 8E430004 */ lw $v1, 4($s2) +/* D2042C 8024059C 000327C2 */ srl $a0, $v1, 0x1f +/* D20430 802405A0 00641821 */ addu $v1, $v1, $a0 +/* D20434 802405A4 00031843 */ sra $v1, $v1, 1 +/* D20438 802405A8 00621821 */ addu $v1, $v1, $v0 +/* D2043C 802405AC A603008E */ sh $v1, 0x8e($s0) +/* D20440 802405B0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D20444 802405B4 C6000040 */ lwc1 $f0, 0x40($s0) +/* D20448 802405B8 C4640000 */ lwc1 $f4, ($v1) +/* D2044C 802405BC 46802120 */ cvt.s.w $f4, $f4 +/* D20450 802405C0 C4620008 */ lwc1 $f2, 8($v1) +/* D20454 802405C4 468010A0 */ cvt.s.w $f2, $f2 +/* D20458 802405C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* D2045C 802405CC 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20460 802405D0 44061000 */ mfc1 $a2, $f2 +/* D20464 802405D4 C440000C */ lwc1 $f0, 0xc($v0) +/* D20468 802405D8 46800020 */ cvt.s.w $f0, $f0 +/* D2046C 802405DC E7A00014 */ swc1 $f0, 0x14($sp) +/* D20470 802405E0 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20474 802405E4 44052000 */ mfc1 $a1, $f4 +/* D20478 802405E8 C4400010 */ lwc1 $f0, 0x10($v0) +/* D2047C 802405EC 46800020 */ cvt.s.w $f0, $f0 +/* D20480 802405F0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D20484 802405F4 8C640018 */ lw $a0, 0x18($v1) +/* D20488 802405F8 0C0123F5 */ jal is_point_within_region +/* D2048C 802405FC 8E070038 */ lw $a3, 0x38($s0) +/* D20490 80240600 1040000E */ beqz $v0, .L8024063C +/* D20494 80240604 00000000 */ nop +/* D20498 80240608 8E2200D0 */ lw $v0, 0xd0($s1) +/* D2049C 8024060C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D204A0 80240610 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D204A4 80240614 C4460000 */ lwc1 $f6, ($v0) +/* D204A8 80240618 468031A0 */ cvt.s.w $f6, $f6 +/* D204AC 8024061C 44063000 */ mfc1 $a2, $f6 +/* D204B0 80240620 C4460008 */ lwc1 $f6, 8($v0) +/* D204B4 80240624 468031A0 */ cvt.s.w $f6, $f6 +/* D204B8 80240628 44073000 */ mfc1 $a3, $f6 +/* D204BC 8024062C 0C00A720 */ jal atan2 +/* D204C0 80240630 00000000 */ nop +/* D204C4 80240634 0809019B */ j .L8024066C +/* D204C8 80240638 E600000C */ swc1 $f0, 0xc($s0) +.L8024063C: +/* D204CC 8024063C 0C00A67F */ jal rand_int +/* D204D0 80240640 2404003C */ addiu $a0, $zero, 0x3c +/* D204D4 80240644 C60C000C */ lwc1 $f12, 0xc($s0) +/* D204D8 80240648 44820000 */ mtc1 $v0, $f0 +/* D204DC 8024064C 00000000 */ nop +/* D204E0 80240650 46800020 */ cvt.s.w $f0, $f0 +/* D204E4 80240654 46006300 */ add.s $f12, $f12, $f0 +/* D204E8 80240658 3C0141F0 */ lui $at, 0x41f0 +/* D204EC 8024065C 44810000 */ mtc1 $at, $f0 +/* D204F0 80240660 0C00A6C9 */ jal clamp_angle +/* D204F4 80240664 46006301 */ sub.s $f12, $f12, $f0 +/* D204F8 80240668 E600000C */ swc1 $f0, 0xc($s0) +.L8024066C: +/* D204FC 8024066C 8E2200CC */ lw $v0, 0xcc($s1) +/* D20500 80240670 8C420004 */ lw $v0, 4($v0) +/* D20504 80240674 AE020028 */ sw $v0, 0x28($s0) +/* D20508 80240678 AE600074 */ sw $zero, 0x74($s3) +/* D2050C 8024067C 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20510 80240680 8C420014 */ lw $v0, 0x14($v0) +/* D20514 80240684 04410004 */ bgez $v0, .L80240698 +/* D20518 80240688 00000000 */ nop +/* D2051C 8024068C C6400000 */ lwc1 $f0, ($s2) +/* D20520 80240690 080901AE */ j .L802406B8 +/* D20524 80240694 E6000018 */ swc1 $f0, 0x18($s0) +.L80240698: +/* D20528 80240698 3C018025 */ lui $at, 0x8025 +/* D2052C 8024069C D422BE40 */ ldc1 $f2, -0x41c0($at) +/* D20530 802406A0 44820000 */ mtc1 $v0, $f0 +/* D20534 802406A4 00000000 */ nop +/* D20538 802406A8 46800021 */ cvt.d.w $f0, $f0 +/* D2053C 802406AC 46220003 */ div.d $f0, $f0, $f2 +/* D20540 802406B0 46200020 */ cvt.s.d $f0, $f0 +/* D20544 802406B4 E6000018 */ swc1 $f0, 0x18($s0) +.L802406B8: +/* D20548 802406B8 C600003C */ lwc1 $f0, 0x3c($s0) +/* D2054C 802406BC 3C014059 */ lui $at, 0x4059 +/* D20550 802406C0 44811800 */ mtc1 $at, $f3 +/* D20554 802406C4 44801000 */ mtc1 $zero, $f2 +/* D20558 802406C8 46000021 */ cvt.d.s $f0, $f0 +/* D2055C 802406CC 46220002 */ mul.d $f0, $f0, $f2 +/* D20560 802406D0 00000000 */ nop +/* D20564 802406D4 24020001 */ addiu $v0, $zero, 1 +/* D20568 802406D8 4620018D */ trunc.w.d $f6, $f0 +/* D2056C 802406DC E626007C */ swc1 $f6, 0x7c($s1) +/* D20570 802406E0 AE620070 */ sw $v0, 0x70($s3) +/* D20574 802406E4 8FBF0030 */ lw $ra, 0x30($sp) +/* D20578 802406E8 8FB3002C */ lw $s3, 0x2c($sp) +/* D2057C 802406EC 8FB20028 */ lw $s2, 0x28($sp) +/* D20580 802406F0 8FB10024 */ lw $s1, 0x24($sp) +/* D20584 802406F4 8FB00020 */ lw $s0, 0x20($sp) +/* D20588 802406F8 03E00008 */ jr $ra +/* D2058C 802406FC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240700_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240700_D1FE90.s new file mode 100644 index 0000000000..84a09e1e54 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240700_D1FE90.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240700_D20590 +/* D20590 80240700 27BDFF80 */ addiu $sp, $sp, -0x80 +/* D20594 80240704 AFB3004C */ sw $s3, 0x4c($sp) +/* D20598 80240708 0080982D */ daddu $s3, $a0, $zero +/* D2059C 8024070C AFBF0058 */ sw $ra, 0x58($sp) +/* D205A0 80240710 AFB50054 */ sw $s5, 0x54($sp) +/* D205A4 80240714 AFB40050 */ sw $s4, 0x50($sp) +/* D205A8 80240718 AFB20048 */ sw $s2, 0x48($sp) +/* D205AC 8024071C AFB10044 */ sw $s1, 0x44($sp) +/* D205B0 80240720 AFB00040 */ sw $s0, 0x40($sp) +/* D205B4 80240724 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* D205B8 80240728 F7B80070 */ sdc1 $f24, 0x70($sp) +/* D205BC 8024072C F7B60068 */ sdc1 $f22, 0x68($sp) +/* D205C0 80240730 F7B40060 */ sdc1 $f20, 0x60($sp) +/* D205C4 80240734 8E710148 */ lw $s1, 0x148($s3) +/* D205C8 80240738 00A0902D */ daddu $s2, $a1, $zero +/* D205CC 8024073C 86240008 */ lh $a0, 8($s1) +/* D205D0 80240740 0C00EABB */ jal get_npc_unsafe +/* D205D4 80240744 00C0A82D */ daddu $s5, $a2, $zero +/* D205D8 80240748 0040802D */ daddu $s0, $v0, $zero +/* D205DC 8024074C 0000A02D */ daddu $s4, $zero, $zero +/* D205E0 80240750 C624007C */ lwc1 $f4, 0x7c($s1) +/* D205E4 80240754 46802120 */ cvt.s.w $f4, $f4 +/* D205E8 80240758 C6220088 */ lwc1 $f2, 0x88($s1) +/* D205EC 8024075C 468010A0 */ cvt.s.w $f2, $f2 +/* D205F0 80240760 460010A1 */ cvt.d.s $f2, $f2 +/* D205F4 80240764 46002121 */ cvt.d.s $f4, $f4 +/* D205F8 80240768 C600003C */ lwc1 $f0, 0x3c($s0) +/* D205FC 8024076C 3C014059 */ lui $at, 0x4059 +/* D20600 80240770 44813800 */ mtc1 $at, $f7 +/* D20604 80240774 44803000 */ mtc1 $zero, $f6 +/* D20608 80240778 46000021 */ cvt.d.s $f0, $f0 +/* D2060C 8024077C 46260002 */ mul.d $f0, $f0, $f6 +/* D20610 80240780 00000000 */ nop +/* D20614 80240784 24020001 */ addiu $v0, $zero, 1 +/* D20618 80240788 8E24006C */ lw $a0, 0x6c($s1) +/* D2061C 8024078C 46261083 */ div.d $f2, $f2, $f6 +/* D20620 80240790 462010A0 */ cvt.s.d $f2, $f2 +/* D20624 80240794 46262103 */ div.d $f4, $f4, $f6 +/* D20628 80240798 46202520 */ cvt.s.d $f20, $f4 +/* D2062C 8024079C 30830011 */ andi $v1, $a0, 0x11 +/* D20630 802407A0 4620020D */ trunc.w.d $f8, $f0 +/* D20634 802407A4 E628007C */ swc1 $f8, 0x7c($s1) +/* D20638 802407A8 C6200078 */ lwc1 $f0, 0x78($s1) +/* D2063C 802407AC 46800020 */ cvt.s.w $f0, $f0 +/* D20640 802407B0 46000021 */ cvt.d.s $f0, $f0 +/* D20644 802407B4 46260003 */ div.d $f0, $f0, $f6 +/* D20648 802407B8 462006A0 */ cvt.s.d $f26, $f0 +/* D2064C 802407BC C6200070 */ lwc1 $f0, 0x70($s1) +/* D20650 802407C0 46800020 */ cvt.s.w $f0, $f0 +/* D20654 802407C4 46000021 */ cvt.d.s $f0, $f0 +/* D20658 802407C8 46260003 */ div.d $f0, $f0, $f6 +/* D2065C 802407CC 462005A0 */ cvt.s.d $f22, $f0 +/* D20660 802407D0 14620025 */ bne $v1, $v0, .L80240868 +/* D20664 802407D4 4602D600 */ add.s $f24, $f26, $f2 +/* D20668 802407D8 8E020000 */ lw $v0, ($s0) +/* D2066C 802407DC 30420008 */ andi $v0, $v0, 8 +/* D20670 802407E0 10400009 */ beqz $v0, .L80240808 +/* D20674 802407E4 27A50028 */ addiu $a1, $sp, 0x28 +/* D20678 802407E8 C600003C */ lwc1 $f0, 0x3c($s0) +/* D2067C 802407EC 4600C001 */ sub.s $f0, $f24, $f0 +/* D20680 802407F0 4600B03C */ c.lt.s $f22, $f0 +/* D20684 802407F4 00000000 */ nop +/* D20688 802407F8 4500001B */ bc1f .L80240868 +/* D2068C 802407FC 34820010 */ ori $v0, $a0, 0x10 +/* D20690 80240800 0809021A */ j .L80240868 +/* D20694 80240804 AE22006C */ sw $v0, 0x6c($s1) +.L80240808: +/* D20698 80240808 27A6002C */ addiu $a2, $sp, 0x2c +/* D2069C 8024080C C6000038 */ lwc1 $f0, 0x38($s0) +/* D206A0 80240810 C602003C */ lwc1 $f2, 0x3c($s0) +/* D206A4 80240814 C6040040 */ lwc1 $f4, 0x40($s0) +/* D206A8 80240818 3C01447A */ lui $at, 0x447a +/* D206AC 8024081C 44813000 */ mtc1 $at, $f6 +/* D206B0 80240820 27A20034 */ addiu $v0, $sp, 0x34 +/* D206B4 80240824 E7A00028 */ swc1 $f0, 0x28($sp) +/* D206B8 80240828 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D206BC 8024082C E7A40030 */ swc1 $f4, 0x30($sp) +/* D206C0 80240830 E7A60034 */ swc1 $f6, 0x34($sp) +/* D206C4 80240834 AFA20010 */ sw $v0, 0x10($sp) +/* D206C8 80240838 8E040080 */ lw $a0, 0x80($s0) +/* D206CC 8024083C 0C0372DF */ jal func_800DCB7C +/* D206D0 80240840 27A70030 */ addiu $a3, $sp, 0x30 +/* D206D4 80240844 C7A00034 */ lwc1 $f0, 0x34($sp) +/* D206D8 80240848 4600D001 */ sub.s $f0, $f26, $f0 +/* D206DC 8024084C 4600B03C */ c.lt.s $f22, $f0 +/* D206E0 80240850 00000000 */ nop +/* D206E4 80240854 45000004 */ bc1f .L80240868 +/* D206E8 80240858 00000000 */ nop +/* D206EC 8024085C 8E22006C */ lw $v0, 0x6c($s1) +/* D206F0 80240860 34420010 */ ori $v0, $v0, 0x10 +/* D206F4 80240864 AE22006C */ sw $v0, 0x6c($s1) +.L80240868: +/* D206F8 80240868 8E22006C */ lw $v0, 0x6c($s1) +/* D206FC 8024086C 24030011 */ addiu $v1, $zero, 0x11 +/* D20700 80240870 30420011 */ andi $v0, $v0, 0x11 +/* D20704 80240874 14430039 */ bne $v0, $v1, .L8024095C +/* D20708 80240878 00000000 */ nop +/* D2070C 8024087C 8E020000 */ lw $v0, ($s0) +/* D20710 80240880 30420008 */ andi $v0, $v0, 8 +/* D20714 80240884 1040000A */ beqz $v0, .L802408B0 +/* D20718 80240888 4600C106 */ mov.s $f4, $f24 +/* D2071C 8024088C 4614C081 */ sub.s $f2, $f24, $f20 +/* D20720 80240890 3C018025 */ lui $at, 0x8025 +/* D20724 80240894 D420BE48 */ ldc1 $f0, -0x41b8($at) +/* D20728 80240898 460010A1 */ cvt.d.s $f2, $f2 +/* D2072C 8024089C 46201082 */ mul.d $f2, $f2, $f0 +/* D20730 802408A0 00000000 */ nop +/* D20734 802408A4 4600A021 */ cvt.d.s $f0, $f20 +/* D20738 802408A8 08090245 */ j .L80240914 +/* D2073C 802408AC 46220000 */ add.d $f0, $f0, $f2 +.L802408B0: +/* D20740 802408B0 27A50028 */ addiu $a1, $sp, 0x28 +/* D20744 802408B4 27A6002C */ addiu $a2, $sp, 0x2c +/* D20748 802408B8 C6000038 */ lwc1 $f0, 0x38($s0) +/* D2074C 802408BC C6020040 */ lwc1 $f2, 0x40($s0) +/* D20750 802408C0 3C01447A */ lui $at, 0x447a +/* D20754 802408C4 44812000 */ mtc1 $at, $f4 +/* D20758 802408C8 27A20034 */ addiu $v0, $sp, 0x34 +/* D2075C 802408CC E7B4002C */ swc1 $f20, 0x2c($sp) +/* D20760 802408D0 E7A00028 */ swc1 $f0, 0x28($sp) +/* D20764 802408D4 E7A20030 */ swc1 $f2, 0x30($sp) +/* D20768 802408D8 E7A40034 */ swc1 $f4, 0x34($sp) +/* D2076C 802408DC AFA20010 */ sw $v0, 0x10($sp) +/* D20770 802408E0 8E040080 */ lw $a0, 0x80($s0) +/* D20774 802408E4 0C0372DF */ jal func_800DCB7C +/* D20778 802408E8 27A70030 */ addiu $a3, $sp, 0x30 +/* D2077C 802408EC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* D20780 802408F0 461A2100 */ add.s $f4, $f4, $f26 +/* D20784 802408F4 46142081 */ sub.s $f2, $f4, $f20 +/* D20788 802408F8 3C018025 */ lui $at, 0x8025 +/* D2078C 802408FC D420BE50 */ ldc1 $f0, -0x41b0($at) +/* D20790 80240900 460010A1 */ cvt.d.s $f2, $f2 +/* D20794 80240904 46201082 */ mul.d $f2, $f2, $f0 +/* D20798 80240908 00000000 */ nop +/* D2079C 8024090C 4600A021 */ cvt.d.s $f0, $f20 +/* D207A0 80240910 46220000 */ add.d $f0, $f0, $f2 +.L80240914: +/* D207A4 80240914 46200020 */ cvt.s.d $f0, $f0 +/* D207A8 80240918 E600003C */ swc1 $f0, 0x3c($s0) +/* D207AC 8024091C C600003C */ lwc1 $f0, 0x3c($s0) +/* D207B0 80240920 46002001 */ sub.s $f0, $f4, $f0 +/* D207B4 80240924 3C013FF0 */ lui $at, 0x3ff0 +/* D207B8 80240928 44811800 */ mtc1 $at, $f3 +/* D207BC 8024092C 44801000 */ mtc1 $zero, $f2 +/* D207C0 80240930 46000005 */ abs.s $f0, $f0 +/* D207C4 80240934 46000021 */ cvt.d.s $f0, $f0 +/* D207C8 80240938 4622003C */ c.lt.d $f0, $f2 +/* D207CC 8024093C 00000000 */ nop +/* D207D0 80240940 45000036 */ bc1f .L80240A1C +/* D207D4 80240944 2403FFEF */ addiu $v1, $zero, -0x11 +/* D207D8 80240948 E604003C */ swc1 $f4, 0x3c($s0) +/* D207DC 8024094C 8E22006C */ lw $v0, 0x6c($s1) +/* D207E0 80240950 00431024 */ and $v0, $v0, $v1 +/* D207E4 80240954 08090287 */ j .L80240A1C +/* D207E8 80240958 AE22006C */ sw $v0, 0x6c($s1) +.L8024095C: +/* D207EC 8024095C 8E220070 */ lw $v0, 0x70($s1) +/* D207F0 80240960 1840002E */ blez $v0, .L80240A1C +/* D207F4 80240964 00000000 */ nop +/* D207F8 80240968 C62C0074 */ lwc1 $f12, 0x74($s1) +/* D207FC 8024096C 0C00A8BB */ jal sin_deg +/* D20800 80240970 46806320 */ cvt.s.w $f12, $f12 +/* D20804 80240974 8E020000 */ lw $v0, ($s0) +/* D20808 80240978 30420008 */ andi $v0, $v0, 8 +/* D2080C 8024097C 10400003 */ beqz $v0, .L8024098C +/* D20810 80240980 46000506 */ mov.s $f20, $f0 +/* D20814 80240984 08090273 */ j .L802409CC +/* D20818 80240988 0000102D */ daddu $v0, $zero, $zero +.L8024098C: +/* D2081C 8024098C 27A50028 */ addiu $a1, $sp, 0x28 +/* D20820 80240990 27A6002C */ addiu $a2, $sp, 0x2c +/* D20824 80240994 C6000038 */ lwc1 $f0, 0x38($s0) +/* D20828 80240998 C602003C */ lwc1 $f2, 0x3c($s0) +/* D2082C 8024099C C6040040 */ lwc1 $f4, 0x40($s0) +/* D20830 802409A0 3C01447A */ lui $at, 0x447a +/* D20834 802409A4 44813000 */ mtc1 $at, $f6 +/* D20838 802409A8 27A20034 */ addiu $v0, $sp, 0x34 +/* D2083C 802409AC E7A00028 */ swc1 $f0, 0x28($sp) +/* D20840 802409B0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D20844 802409B4 E7A40030 */ swc1 $f4, 0x30($sp) +/* D20848 802409B8 E7A60034 */ swc1 $f6, 0x34($sp) +/* D2084C 802409BC AFA20010 */ sw $v0, 0x10($sp) +/* D20850 802409C0 8E040080 */ lw $a0, 0x80($s0) +/* D20854 802409C4 0C0372DF */ jal func_800DCB7C +/* D20858 802409C8 27A70030 */ addiu $a3, $sp, 0x30 +.L802409CC: +/* D2085C 802409CC 10400007 */ beqz $v0, .L802409EC +/* D20860 802409D0 00000000 */ nop +/* D20864 802409D4 4616A082 */ mul.s $f2, $f20, $f22 +/* D20868 802409D8 00000000 */ nop +/* D2086C 802409DC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* D20870 802409E0 461A0000 */ add.s $f0, $f0, $f26 +/* D20874 802409E4 0809027E */ j .L802409F8 +/* D20878 802409E8 46020000 */ add.s $f0, $f0, $f2 +.L802409EC: +/* D2087C 802409EC 4616A002 */ mul.s $f0, $f20, $f22 +/* D20880 802409F0 00000000 */ nop +/* D20884 802409F4 4600C000 */ add.s $f0, $f24, $f0 +.L802409F8: +/* D20888 802409F8 E600003C */ swc1 $f0, 0x3c($s0) +/* D2088C 802409FC 8E220074 */ lw $v0, 0x74($s1) +/* D20890 80240A00 2442000A */ addiu $v0, $v0, 0xa +/* D20894 80240A04 44826000 */ mtc1 $v0, $f12 +/* D20898 80240A08 00000000 */ nop +/* D2089C 80240A0C 0C00A6C9 */ jal clamp_angle +/* D208A0 80240A10 46806320 */ cvt.s.w $f12, $f12 +/* D208A4 80240A14 4600020D */ trunc.w.s $f8, $f0 +/* D208A8 80240A18 E6280074 */ swc1 $f8, 0x74($s1) +.L80240A1C: +/* D208AC 80240A1C 8E220090 */ lw $v0, 0x90($s1) +/* D208B0 80240A20 1C40004A */ bgtz $v0, .L80240B4C +/* D208B4 80240A24 2442FFFF */ addiu $v0, $v0, -1 +/* D208B8 80240A28 8E430014 */ lw $v1, 0x14($s2) +/* D208BC 80240A2C 04600048 */ bltz $v1, .L80240B50 +/* D208C0 80240A30 00000000 */ nop +/* D208C4 80240A34 8E620074 */ lw $v0, 0x74($s3) +/* D208C8 80240A38 1C400042 */ bgtz $v0, .L80240B44 +/* D208CC 80240A3C 2442FFFF */ addiu $v0, $v0, -1 +/* D208D0 80240A40 AE630074 */ sw $v1, 0x74($s3) +/* D208D4 80240A44 860200A8 */ lh $v0, 0xa8($s0) +/* D208D8 80240A48 C602003C */ lwc1 $f2, 0x3c($s0) +/* D208DC 80240A4C 44820000 */ mtc1 $v0, $f0 +/* D208E0 80240A50 00000000 */ nop +/* D208E4 80240A54 46800020 */ cvt.s.w $f0, $f0 +/* D208E8 80240A58 46001080 */ add.s $f2, $f2, $f0 +/* D208EC 80240A5C 3C014024 */ lui $at, 0x4024 +/* D208F0 80240A60 44810800 */ mtc1 $at, $f1 +/* D208F4 80240A64 44800000 */ mtc1 $zero, $f0 +/* D208F8 80240A68 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D208FC 80240A6C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D20900 80240A70 460010A1 */ cvt.d.s $f2, $f2 +/* D20904 80240A74 46201080 */ add.d $f2, $f2, $f0 +/* D20908 80240A78 C440002C */ lwc1 $f0, 0x2c($v0) +/* D2090C 80240A7C 46000021 */ cvt.d.s $f0, $f0 +/* D20910 80240A80 4622003C */ c.lt.d $f0, $f2 +/* D20914 80240A84 00000000 */ nop +/* D20918 80240A88 4500002C */ bc1f .L80240B3C +/* D2091C 80240A8C 02A0202D */ daddu $a0, $s5, $zero +/* D20920 80240A90 AFA00010 */ sw $zero, 0x10($sp) +/* D20924 80240A94 8E46000C */ lw $a2, 0xc($s2) +/* D20928 80240A98 8E470010 */ lw $a3, 0x10($s2) +/* D2092C 80240A9C 0C01242D */ jal func_800490B4 +/* D20930 80240AA0 0220282D */ daddu $a1, $s1, $zero +/* D20934 80240AA4 10400025 */ beqz $v0, .L80240B3C +/* D20938 80240AA8 0000202D */ daddu $a0, $zero, $zero +/* D2093C 80240AAC 0200282D */ daddu $a1, $s0, $zero +/* D20940 80240AB0 0000302D */ daddu $a2, $zero, $zero +/* D20944 80240AB4 2412000C */ addiu $s2, $zero, 0xc +/* D20948 80240AB8 860300A8 */ lh $v1, 0xa8($s0) +/* D2094C 80240ABC 3C013F80 */ lui $at, 0x3f80 +/* D20950 80240AC0 44810000 */ mtc1 $at, $f0 +/* D20954 80240AC4 3C014000 */ lui $at, 0x4000 +/* D20958 80240AC8 44811000 */ mtc1 $at, $f2 +/* D2095C 80240ACC 3C01C1A0 */ lui $at, 0xc1a0 +/* D20960 80240AD0 44812000 */ mtc1 $at, $f4 +/* D20964 80240AD4 44834000 */ mtc1 $v1, $f8 +/* D20968 80240AD8 00000000 */ nop +/* D2096C 80240ADC 46804220 */ cvt.s.w $f8, $f8 +/* D20970 80240AE0 44074000 */ mfc1 $a3, $f8 +/* D20974 80240AE4 27A20038 */ addiu $v0, $sp, 0x38 +/* D20978 80240AE8 AFB2001C */ sw $s2, 0x1c($sp) +/* D2097C 80240AEC AFA20020 */ sw $v0, 0x20($sp) +/* D20980 80240AF0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D20984 80240AF4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D20988 80240AF8 0C01BFA4 */ jal fx_emote +/* D2098C 80240AFC E7A40018 */ swc1 $f4, 0x18($sp) +/* D20990 80240B00 0200202D */ daddu $a0, $s0, $zero +/* D20994 80240B04 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D20998 80240B08 C480003C */ lwc1 $f0, 0x3c($a0) +/* D2099C 80240B0C 3C060020 */ lui $a2, 0x20 +/* D209A0 80240B10 0C012530 */ jal func_800494C0 +/* D209A4 80240B14 E4800064 */ swc1 $f0, 0x64($a0) +/* D209A8 80240B18 8E220018 */ lw $v0, 0x18($s1) +/* D209AC 80240B1C 9442002A */ lhu $v0, 0x2a($v0) +/* D209B0 80240B20 30420001 */ andi $v0, $v0, 1 +/* D209B4 80240B24 10400003 */ beqz $v0, .L80240B34 +/* D209B8 80240B28 2402000A */ addiu $v0, $zero, 0xa +/* D209BC 80240B2C 0809033D */ j .L80240CF4 +/* D209C0 80240B30 AE620070 */ sw $v0, 0x70($s3) +.L80240B34: +/* D209C4 80240B34 0809033D */ j .L80240CF4 +/* D209C8 80240B38 AE720070 */ sw $s2, 0x70($s3) +.L80240B3C: +/* D209CC 80240B3C 8E620074 */ lw $v0, 0x74($s3) +/* D209D0 80240B40 2442FFFF */ addiu $v0, $v0, -1 +.L80240B44: +/* D209D4 80240B44 080902D4 */ j .L80240B50 +/* D209D8 80240B48 AE620074 */ sw $v0, 0x74($s3) +.L80240B4C: +/* D209DC 80240B4C AE220090 */ sw $v0, 0x90($s1) +.L80240B50: +/* D209E0 80240B50 8E2300D0 */ lw $v1, 0xd0($s1) +/* D209E4 80240B54 C6000040 */ lwc1 $f0, 0x40($s0) +/* D209E8 80240B58 C4620000 */ lwc1 $f2, ($v1) +/* D209EC 80240B5C 468010A0 */ cvt.s.w $f2, $f2 +/* D209F0 80240B60 C4640008 */ lwc1 $f4, 8($v1) +/* D209F4 80240B64 46802120 */ cvt.s.w $f4, $f4 +/* D209F8 80240B68 E7A00010 */ swc1 $f0, 0x10($sp) +/* D209FC 80240B6C 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20A00 80240B70 44051000 */ mfc1 $a1, $f2 +/* D20A04 80240B74 C440000C */ lwc1 $f0, 0xc($v0) +/* D20A08 80240B78 46800020 */ cvt.s.w $f0, $f0 +/* D20A0C 80240B7C E7A00014 */ swc1 $f0, 0x14($sp) +/* D20A10 80240B80 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20A14 80240B84 44062000 */ mfc1 $a2, $f4 +/* D20A18 80240B88 C4400010 */ lwc1 $f0, 0x10($v0) +/* D20A1C 80240B8C 46800020 */ cvt.s.w $f0, $f0 +/* D20A20 80240B90 E7A00018 */ swc1 $f0, 0x18($sp) +/* D20A24 80240B94 8C640018 */ lw $a0, 0x18($v1) +/* D20A28 80240B98 0C0123F5 */ jal is_point_within_region +/* D20A2C 80240B9C 8E070038 */ lw $a3, 0x38($s0) +/* D20A30 80240BA0 1040001A */ beqz $v0, .L80240C0C +/* D20A34 80240BA4 00000000 */ nop +/* D20A38 80240BA8 8E060038 */ lw $a2, 0x38($s0) +/* D20A3C 80240BAC 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20A40 80240BB0 8E070040 */ lw $a3, 0x40($s0) +/* D20A44 80240BB4 C44C0000 */ lwc1 $f12, ($v0) +/* D20A48 80240BB8 46806320 */ cvt.s.w $f12, $f12 +/* D20A4C 80240BBC C44E0008 */ lwc1 $f14, 8($v0) +/* D20A50 80240BC0 0C00A7B5 */ jal dist2D +/* D20A54 80240BC4 468073A0 */ cvt.s.w $f14, $f14 +/* D20A58 80240BC8 C6020018 */ lwc1 $f2, 0x18($s0) +/* D20A5C 80240BCC 4600103C */ c.lt.s $f2, $f0 +/* D20A60 80240BD0 00000000 */ nop +/* D20A64 80240BD4 4500000D */ bc1f .L80240C0C +/* D20A68 80240BD8 E7A00034 */ swc1 $f0, 0x34($sp) +/* D20A6C 80240BDC C60C0038 */ lwc1 $f12, 0x38($s0) +/* D20A70 80240BE0 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20A74 80240BE4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D20A78 80240BE8 C4480000 */ lwc1 $f8, ($v0) +/* D20A7C 80240BEC 46804220 */ cvt.s.w $f8, $f8 +/* D20A80 80240BF0 44064000 */ mfc1 $a2, $f8 +/* D20A84 80240BF4 C4480008 */ lwc1 $f8, 8($v0) +/* D20A88 80240BF8 46804220 */ cvt.s.w $f8, $f8 +/* D20A8C 80240BFC 44074000 */ mfc1 $a3, $f8 +/* D20A90 80240C00 0C00A720 */ jal atan2 +/* D20A94 80240C04 24140001 */ addiu $s4, $zero, 1 +/* D20A98 80240C08 E600000C */ swc1 $f0, 0xc($s0) +.L80240C0C: +/* D20A9C 80240C0C 8E2200D0 */ lw $v0, 0xd0($s1) +/* D20AA0 80240C10 8C43000C */ lw $v1, 0xc($v0) +/* D20AA4 80240C14 8C420010 */ lw $v0, 0x10($v0) +/* D20AA8 80240C18 00621825 */ or $v1, $v1, $v0 +/* D20AAC 80240C1C 00741825 */ or $v1, $v1, $s4 +/* D20AB0 80240C20 10600008 */ beqz $v1, .L80240C44 +/* D20AB4 80240C24 00000000 */ nop +/* D20AB8 80240C28 8602008C */ lh $v0, 0x8c($s0) +/* D20ABC 80240C2C 14400031 */ bnez $v0, .L80240CF4 +/* D20AC0 80240C30 00000000 */ nop +/* D20AC4 80240C34 8E050018 */ lw $a1, 0x18($s0) +/* D20AC8 80240C38 8E06000C */ lw $a2, 0xc($s0) +/* D20ACC 80240C3C 0C00EA95 */ jal npc_move_heading +/* D20AD0 80240C40 0200202D */ daddu $a0, $s0, $zero +.L80240C44: +/* D20AD4 80240C44 C600003C */ lwc1 $f0, 0x3c($s0) +/* D20AD8 80240C48 3C014059 */ lui $at, 0x4059 +/* D20ADC 80240C4C 44811800 */ mtc1 $at, $f3 +/* D20AE0 80240C50 44801000 */ mtc1 $zero, $f2 +/* D20AE4 80240C54 46000021 */ cvt.d.s $f0, $f0 +/* D20AE8 80240C58 46220002 */ mul.d $f0, $f0, $f2 +/* D20AEC 80240C5C 00000000 */ nop +/* D20AF0 80240C60 4620020D */ trunc.w.d $f8, $f0 +/* D20AF4 80240C64 E628007C */ swc1 $f8, 0x7c($s1) +/* D20AF8 80240C68 8E420004 */ lw $v0, 4($s2) +/* D20AFC 80240C6C 18400021 */ blez $v0, .L80240CF4 +/* D20B00 80240C70 00000000 */ nop +/* D20B04 80240C74 8602008E */ lh $v0, 0x8e($s0) +/* D20B08 80240C78 9603008E */ lhu $v1, 0x8e($s0) +/* D20B0C 80240C7C 18400005 */ blez $v0, .L80240C94 +/* D20B10 80240C80 2462FFFF */ addiu $v0, $v1, -1 +/* D20B14 80240C84 A602008E */ sh $v0, 0x8e($s0) +/* D20B18 80240C88 00021400 */ sll $v0, $v0, 0x10 +/* D20B1C 80240C8C 1C400019 */ bgtz $v0, .L80240CF4 +/* D20B20 80240C90 00000000 */ nop +.L80240C94: +/* D20B24 80240C94 240403E8 */ addiu $a0, $zero, 0x3e8 +/* D20B28 80240C98 24020002 */ addiu $v0, $zero, 2 +/* D20B2C 80240C9C 0C00A67F */ jal rand_int +/* D20B30 80240CA0 AE620070 */ sw $v0, 0x70($s3) +/* D20B34 80240CA4 3C035555 */ lui $v1, 0x5555 +/* D20B38 80240CA8 34635556 */ ori $v1, $v1, 0x5556 +/* D20B3C 80240CAC 00430018 */ mult $v0, $v1 +/* D20B40 80240CB0 000227C3 */ sra $a0, $v0, 0x1f +/* D20B44 80240CB4 00004010 */ mfhi $t0 +/* D20B48 80240CB8 01042023 */ subu $a0, $t0, $a0 +/* D20B4C 80240CBC 00041840 */ sll $v1, $a0, 1 +/* D20B50 80240CC0 00641821 */ addu $v1, $v1, $a0 +/* D20B54 80240CC4 00431023 */ subu $v0, $v0, $v1 +/* D20B58 80240CC8 24430002 */ addiu $v1, $v0, 2 +/* D20B5C 80240CCC AE630074 */ sw $v1, 0x74($s3) +/* D20B60 80240CD0 8E42002C */ lw $v0, 0x2c($s2) +/* D20B64 80240CD4 58400007 */ blezl $v0, .L80240CF4 +/* D20B68 80240CD8 AE600070 */ sw $zero, 0x70($s3) +/* D20B6C 80240CDC 8E420008 */ lw $v0, 8($s2) +/* D20B70 80240CE0 18400003 */ blez $v0, .L80240CF0 +/* D20B74 80240CE4 28620003 */ slti $v0, $v1, 3 +/* D20B78 80240CE8 10400002 */ beqz $v0, .L80240CF4 +/* D20B7C 80240CEC 00000000 */ nop +.L80240CF0: +/* D20B80 80240CF0 AE600070 */ sw $zero, 0x70($s3) +.L80240CF4: +/* D20B84 80240CF4 8FBF0058 */ lw $ra, 0x58($sp) +/* D20B88 80240CF8 8FB50054 */ lw $s5, 0x54($sp) +/* D20B8C 80240CFC 8FB40050 */ lw $s4, 0x50($sp) +/* D20B90 80240D00 8FB3004C */ lw $s3, 0x4c($sp) +/* D20B94 80240D04 8FB20048 */ lw $s2, 0x48($sp) +/* D20B98 80240D08 8FB10044 */ lw $s1, 0x44($sp) +/* D20B9C 80240D0C 8FB00040 */ lw $s0, 0x40($sp) +/* D20BA0 80240D10 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* D20BA4 80240D14 D7B80070 */ ldc1 $f24, 0x70($sp) +/* D20BA8 80240D18 D7B60068 */ ldc1 $f22, 0x68($sp) +/* D20BAC 80240D1C D7B40060 */ ldc1 $f20, 0x60($sp) +/* D20BB0 80240D20 03E00008 */ jr $ra +/* D20BB4 80240D24 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240D28.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240D28.s new file mode 100644 index 0000000000..fe33fddf77 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240D28.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D28 +/* D20BB8 80240D28 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D20BBC 80240D2C AFB3001C */ sw $s3, 0x1c($sp) +/* D20BC0 80240D30 0080982D */ daddu $s3, $a0, $zero +/* D20BC4 80240D34 AFBF0020 */ sw $ra, 0x20($sp) +/* D20BC8 80240D38 AFB20018 */ sw $s2, 0x18($sp) +/* D20BCC 80240D3C AFB10014 */ sw $s1, 0x14($sp) +/* D20BD0 80240D40 AFB00010 */ sw $s0, 0x10($sp) +/* D20BD4 80240D44 8E720148 */ lw $s2, 0x148($s3) +/* D20BD8 80240D48 86440008 */ lh $a0, 8($s2) +/* D20BDC 80240D4C 0C00EABB */ jal get_npc_unsafe +/* D20BE0 80240D50 00A0882D */ daddu $s1, $a1, $zero +/* D20BE4 80240D54 8E240008 */ lw $a0, 8($s1) +/* D20BE8 80240D58 0040802D */ daddu $s0, $v0, $zero +/* D20BEC 80240D5C 00041FC2 */ srl $v1, $a0, 0x1f +/* D20BF0 80240D60 00832021 */ addu $a0, $a0, $v1 +/* D20BF4 80240D64 00042043 */ sra $a0, $a0, 1 +/* D20BF8 80240D68 0C00A67F */ jal rand_int +/* D20BFC 80240D6C 24840001 */ addiu $a0, $a0, 1 +/* D20C00 80240D70 8E230008 */ lw $v1, 8($s1) +/* D20C04 80240D74 240400B4 */ addiu $a0, $zero, 0xb4 +/* D20C08 80240D78 00032FC2 */ srl $a1, $v1, 0x1f +/* D20C0C 80240D7C 00651821 */ addu $v1, $v1, $a1 +/* D20C10 80240D80 00031843 */ sra $v1, $v1, 1 +/* D20C14 80240D84 00621821 */ addu $v1, $v1, $v0 +/* D20C18 80240D88 0C00A67F */ jal rand_int +/* D20C1C 80240D8C A603008E */ sh $v1, 0x8e($s0) +/* D20C20 80240D90 C60C000C */ lwc1 $f12, 0xc($s0) +/* D20C24 80240D94 44820000 */ mtc1 $v0, $f0 +/* D20C28 80240D98 00000000 */ nop +/* D20C2C 80240D9C 46800020 */ cvt.s.w $f0, $f0 +/* D20C30 80240DA0 46006300 */ add.s $f12, $f12, $f0 +/* D20C34 80240DA4 3C0142B4 */ lui $at, 0x42b4 +/* D20C38 80240DA8 44810000 */ mtc1 $at, $f0 +/* D20C3C 80240DAC 0C00A6C9 */ jal clamp_angle +/* D20C40 80240DB0 46006301 */ sub.s $f12, $f12, $f0 +/* D20C44 80240DB4 E600000C */ swc1 $f0, 0xc($s0) +/* D20C48 80240DB8 8E4200CC */ lw $v0, 0xcc($s2) +/* D20C4C 80240DBC 8C420000 */ lw $v0, ($v0) +/* D20C50 80240DC0 AE020028 */ sw $v0, 0x28($s0) +/* D20C54 80240DC4 24020003 */ addiu $v0, $zero, 3 +/* D20C58 80240DC8 AE620070 */ sw $v0, 0x70($s3) +/* D20C5C 80240DCC 8FBF0020 */ lw $ra, 0x20($sp) +/* D20C60 80240DD0 8FB3001C */ lw $s3, 0x1c($sp) +/* D20C64 80240DD4 8FB20018 */ lw $s2, 0x18($sp) +/* D20C68 80240DD8 8FB10014 */ lw $s1, 0x14($sp) +/* D20C6C 80240DDC 8FB00010 */ lw $s0, 0x10($sp) +/* D20C70 80240DE0 03E00008 */ jr $ra +/* D20C74 80240DE4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80240DE8_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80240DE8_D1FE90.s new file mode 100644 index 0000000000..7aed923221 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80240DE8_D1FE90.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE8_D20C78 +/* D20C78 80240DE8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* D20C7C 80240DEC AFB3004C */ sw $s3, 0x4c($sp) +/* D20C80 80240DF0 0080982D */ daddu $s3, $a0, $zero +/* D20C84 80240DF4 AFBF0054 */ sw $ra, 0x54($sp) +/* D20C88 80240DF8 AFB40050 */ sw $s4, 0x50($sp) +/* D20C8C 80240DFC AFB20048 */ sw $s2, 0x48($sp) +/* D20C90 80240E00 AFB10044 */ sw $s1, 0x44($sp) +/* D20C94 80240E04 AFB00040 */ sw $s0, 0x40($sp) +/* D20C98 80240E08 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* D20C9C 80240E0C F7B80068 */ sdc1 $f24, 0x68($sp) +/* D20CA0 80240E10 F7B60060 */ sdc1 $f22, 0x60($sp) +/* D20CA4 80240E14 F7B40058 */ sdc1 $f20, 0x58($sp) +/* D20CA8 80240E18 8E710148 */ lw $s1, 0x148($s3) +/* D20CAC 80240E1C 00A0902D */ daddu $s2, $a1, $zero +/* D20CB0 80240E20 86240008 */ lh $a0, 8($s1) +/* D20CB4 80240E24 0C00EABB */ jal get_npc_unsafe +/* D20CB8 80240E28 00C0A02D */ daddu $s4, $a2, $zero +/* D20CBC 80240E2C 0040802D */ daddu $s0, $v0, $zero +/* D20CC0 80240E30 C6200078 */ lwc1 $f0, 0x78($s1) +/* D20CC4 80240E34 46800020 */ cvt.s.w $f0, $f0 +/* D20CC8 80240E38 46000021 */ cvt.d.s $f0, $f0 +/* D20CCC 80240E3C 3C014059 */ lui $at, 0x4059 +/* D20CD0 80240E40 44811800 */ mtc1 $at, $f3 +/* D20CD4 80240E44 44801000 */ mtc1 $zero, $f2 +/* D20CD8 80240E48 8602008E */ lh $v0, 0x8e($s0) +/* D20CDC 80240E4C 9603008E */ lhu $v1, 0x8e($s0) +/* D20CE0 80240E50 46220003 */ div.d $f0, $f0, $f2 +/* D20CE4 80240E54 46200620 */ cvt.s.d $f24, $f0 +/* D20CE8 80240E58 C6200088 */ lwc1 $f0, 0x88($s1) +/* D20CEC 80240E5C 46800020 */ cvt.s.w $f0, $f0 +/* D20CF0 80240E60 46000021 */ cvt.d.s $f0, $f0 +/* D20CF4 80240E64 46220003 */ div.d $f0, $f0, $f2 +/* D20CF8 80240E68 46200020 */ cvt.s.d $f0, $f0 +/* D20CFC 80240E6C 18400003 */ blez $v0, .L80240E7C +/* D20D00 80240E70 4600C680 */ add.s $f26, $f24, $f0 +/* D20D04 80240E74 2462FFFF */ addiu $v0, $v1, -1 +/* D20D08 80240E78 A602008E */ sh $v0, 0x8e($s0) +.L80240E7C: +/* D20D0C 80240E7C 8E220070 */ lw $v0, 0x70($s1) +/* D20D10 80240E80 18400034 */ blez $v0, .L80240F54 +/* D20D14 80240E84 00000000 */ nop +/* D20D18 80240E88 C62C0074 */ lwc1 $f12, 0x74($s1) +/* D20D1C 80240E8C 46806320 */ cvt.s.w $f12, $f12 +/* D20D20 80240E90 44820000 */ mtc1 $v0, $f0 +/* D20D24 80240E94 00000000 */ nop +/* D20D28 80240E98 46800020 */ cvt.s.w $f0, $f0 +/* D20D2C 80240E9C 46000021 */ cvt.d.s $f0, $f0 +/* D20D30 80240EA0 46220003 */ div.d $f0, $f0, $f2 +/* D20D34 80240EA4 0C00A8BB */ jal sin_deg +/* D20D38 80240EA8 462005A0 */ cvt.s.d $f22, $f0 +/* D20D3C 80240EAC 8E020000 */ lw $v0, ($s0) +/* D20D40 80240EB0 30420008 */ andi $v0, $v0, 8 +/* D20D44 80240EB4 10400003 */ beqz $v0, .L80240EC4 +/* D20D48 80240EB8 46000506 */ mov.s $f20, $f0 +/* D20D4C 80240EBC 080903C1 */ j .L80240F04 +/* D20D50 80240EC0 0000102D */ daddu $v0, $zero, $zero +.L80240EC4: +/* D20D54 80240EC4 27A50028 */ addiu $a1, $sp, 0x28 +/* D20D58 80240EC8 27A6002C */ addiu $a2, $sp, 0x2c +/* D20D5C 80240ECC C6000038 */ lwc1 $f0, 0x38($s0) +/* D20D60 80240ED0 C602003C */ lwc1 $f2, 0x3c($s0) +/* D20D64 80240ED4 C6040040 */ lwc1 $f4, 0x40($s0) +/* D20D68 80240ED8 3C01447A */ lui $at, 0x447a +/* D20D6C 80240EDC 44813000 */ mtc1 $at, $f6 +/* D20D70 80240EE0 27A20034 */ addiu $v0, $sp, 0x34 +/* D20D74 80240EE4 E7A00028 */ swc1 $f0, 0x28($sp) +/* D20D78 80240EE8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D20D7C 80240EEC E7A40030 */ swc1 $f4, 0x30($sp) +/* D20D80 80240EF0 E7A60034 */ swc1 $f6, 0x34($sp) +/* D20D84 80240EF4 AFA20010 */ sw $v0, 0x10($sp) +/* D20D88 80240EF8 8E040080 */ lw $a0, 0x80($s0) +/* D20D8C 80240EFC 0C0372DF */ jal func_800DCB7C +/* D20D90 80240F00 27A70030 */ addiu $a3, $sp, 0x30 +.L80240F04: +/* D20D94 80240F04 10400007 */ beqz $v0, .L80240F24 +/* D20D98 80240F08 00000000 */ nop +/* D20D9C 80240F0C 4616A082 */ mul.s $f2, $f20, $f22 +/* D20DA0 80240F10 00000000 */ nop +/* D20DA4 80240F14 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* D20DA8 80240F18 46180000 */ add.s $f0, $f0, $f24 +/* D20DAC 80240F1C 080903CC */ j .L80240F30 +/* D20DB0 80240F20 46020000 */ add.s $f0, $f0, $f2 +.L80240F24: +/* D20DB4 80240F24 4616A002 */ mul.s $f0, $f20, $f22 +/* D20DB8 80240F28 00000000 */ nop +/* D20DBC 80240F2C 4600D000 */ add.s $f0, $f26, $f0 +.L80240F30: +/* D20DC0 80240F30 E600003C */ swc1 $f0, 0x3c($s0) +/* D20DC4 80240F34 8E220074 */ lw $v0, 0x74($s1) +/* D20DC8 80240F38 2442000A */ addiu $v0, $v0, 0xa +/* D20DCC 80240F3C 44826000 */ mtc1 $v0, $f12 +/* D20DD0 80240F40 00000000 */ nop +/* D20DD4 80240F44 0C00A6C9 */ jal clamp_angle +/* D20DD8 80240F48 46806320 */ cvt.s.w $f12, $f12 +/* D20DDC 80240F4C 4600020D */ trunc.w.s $f8, $f0 +/* D20DE0 80240F50 E6280074 */ swc1 $f8, 0x74($s1) +.L80240F54: +/* D20DE4 80240F54 8E220090 */ lw $v0, 0x90($s1) +/* D20DE8 80240F58 1C400040 */ bgtz $v0, .L8024105C +/* D20DEC 80240F5C 2442FFFF */ addiu $v0, $v0, -1 +/* D20DF0 80240F60 860200A8 */ lh $v0, 0xa8($s0) +/* D20DF4 80240F64 C600003C */ lwc1 $f0, 0x3c($s0) +/* D20DF8 80240F68 44821000 */ mtc1 $v0, $f2 +/* D20DFC 80240F6C 00000000 */ nop +/* D20E00 80240F70 468010A0 */ cvt.s.w $f2, $f2 +/* D20E04 80240F74 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D20E08 80240F78 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D20E0C 80240F7C 46020000 */ add.s $f0, $f0, $f2 +/* D20E10 80240F80 3C014024 */ lui $at, 0x4024 +/* D20E14 80240F84 44812800 */ mtc1 $at, $f5 +/* D20E18 80240F88 44802000 */ mtc1 $zero, $f4 +/* D20E1C 80240F8C C442002C */ lwc1 $f2, 0x2c($v0) +/* D20E20 80240F90 46000021 */ cvt.d.s $f0, $f0 +/* D20E24 80240F94 46240000 */ add.d $f0, $f0, $f4 +/* D20E28 80240F98 460010A1 */ cvt.d.s $f2, $f2 +/* D20E2C 80240F9C 4620103C */ c.lt.d $f2, $f0 +/* D20E30 80240FA0 00000000 */ nop +/* D20E34 80240FA4 4500002E */ bc1f .L80241060 +/* D20E38 80240FA8 0280202D */ daddu $a0, $s4, $zero +/* D20E3C 80240FAC 24020001 */ addiu $v0, $zero, 1 +/* D20E40 80240FB0 AFA20010 */ sw $v0, 0x10($sp) +/* D20E44 80240FB4 8E460024 */ lw $a2, 0x24($s2) +/* D20E48 80240FB8 8E470028 */ lw $a3, 0x28($s2) +/* D20E4C 80240FBC 0C01242D */ jal func_800490B4 +/* D20E50 80240FC0 0220282D */ daddu $a1, $s1, $zero +/* D20E54 80240FC4 10400026 */ beqz $v0, .L80241060 +/* D20E58 80240FC8 0000202D */ daddu $a0, $zero, $zero +/* D20E5C 80240FCC 0200282D */ daddu $a1, $s0, $zero +/* D20E60 80240FD0 0000302D */ daddu $a2, $zero, $zero +/* D20E64 80240FD4 2412000C */ addiu $s2, $zero, 0xc +/* D20E68 80240FD8 860300A8 */ lh $v1, 0xa8($s0) +/* D20E6C 80240FDC 3C013F80 */ lui $at, 0x3f80 +/* D20E70 80240FE0 44810000 */ mtc1 $at, $f0 +/* D20E74 80240FE4 3C014000 */ lui $at, 0x4000 +/* D20E78 80240FE8 44811000 */ mtc1 $at, $f2 +/* D20E7C 80240FEC 3C01C1A0 */ lui $at, 0xc1a0 +/* D20E80 80240FF0 44812000 */ mtc1 $at, $f4 +/* D20E84 80240FF4 44834000 */ mtc1 $v1, $f8 +/* D20E88 80240FF8 00000000 */ nop +/* D20E8C 80240FFC 46804220 */ cvt.s.w $f8, $f8 +/* D20E90 80241000 44074000 */ mfc1 $a3, $f8 +/* D20E94 80241004 27A20038 */ addiu $v0, $sp, 0x38 +/* D20E98 80241008 AFB2001C */ sw $s2, 0x1c($sp) +/* D20E9C 8024100C AFA20020 */ sw $v0, 0x20($sp) +/* D20EA0 80241010 E7A00010 */ swc1 $f0, 0x10($sp) +/* D20EA4 80241014 E7A20014 */ swc1 $f2, 0x14($sp) +/* D20EA8 80241018 0C01BFA4 */ jal fx_emote +/* D20EAC 8024101C E7A40018 */ swc1 $f4, 0x18($sp) +/* D20EB0 80241020 0200202D */ daddu $a0, $s0, $zero +/* D20EB4 80241024 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D20EB8 80241028 C480003C */ lwc1 $f0, 0x3c($a0) +/* D20EBC 8024102C 3C060020 */ lui $a2, 0x20 +/* D20EC0 80241030 0C012530 */ jal func_800494C0 +/* D20EC4 80241034 E4800064 */ swc1 $f0, 0x64($a0) +/* D20EC8 80241038 8E220018 */ lw $v0, 0x18($s1) +/* D20ECC 8024103C 9442002A */ lhu $v0, 0x2a($v0) +/* D20ED0 80241040 30420001 */ andi $v0, $v0, 1 +/* D20ED4 80241044 10400003 */ beqz $v0, .L80241054 +/* D20ED8 80241048 2402000A */ addiu $v0, $zero, 0xa +/* D20EDC 8024104C 0809043F */ j .L802410FC +/* D20EE0 80241050 AE620070 */ sw $v0, 0x70($s3) +.L80241054: +/* D20EE4 80241054 0809043F */ j .L802410FC +/* D20EE8 80241058 AE720070 */ sw $s2, 0x70($s3) +.L8024105C: +/* D20EEC 8024105C AE220090 */ sw $v0, 0x90($s1) +.L80241060: +/* D20EF0 80241060 8602008C */ lh $v0, 0x8c($s0) +/* D20EF4 80241064 14400025 */ bnez $v0, .L802410FC +/* D20EF8 80241068 00000000 */ nop +/* D20EFC 8024106C 8602008E */ lh $v0, 0x8e($s0) +/* D20F00 80241070 1C400022 */ bgtz $v0, .L802410FC +/* D20F04 80241074 00000000 */ nop +/* D20F08 80241078 8E620074 */ lw $v0, 0x74($s3) +/* D20F0C 8024107C 2442FFFF */ addiu $v0, $v0, -1 +/* D20F10 80241080 1840001D */ blez $v0, .L802410F8 +/* D20F14 80241084 AE620074 */ sw $v0, 0x74($s3) +/* D20F18 80241088 8E220018 */ lw $v0, 0x18($s1) +/* D20F1C 8024108C 9442002A */ lhu $v0, 0x2a($v0) +/* D20F20 80241090 30420010 */ andi $v0, $v0, 0x10 +/* D20F24 80241094 14400007 */ bnez $v0, .L802410B4 +/* D20F28 80241098 00000000 */ nop +/* D20F2C 8024109C C600000C */ lwc1 $f0, 0xc($s0) +/* D20F30 802410A0 3C014334 */ lui $at, 0x4334 +/* D20F34 802410A4 44816000 */ mtc1 $at, $f12 +/* D20F38 802410A8 0C00A6C9 */ jal clamp_angle +/* D20F3C 802410AC 460C0300 */ add.s $f12, $f0, $f12 +/* D20F40 802410B0 E600000C */ swc1 $f0, 0xc($s0) +.L802410B4: +/* D20F44 802410B4 0C00A67F */ jal rand_int +/* D20F48 802410B8 240403E8 */ addiu $a0, $zero, 0x3e8 +/* D20F4C 802410BC 3C032E8B */ lui $v1, 0x2e8b +/* D20F50 802410C0 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* D20F54 802410C4 00430018 */ mult $v0, $v1 +/* D20F58 802410C8 00021FC3 */ sra $v1, $v0, 0x1f +/* D20F5C 802410CC 00004010 */ mfhi $t0 +/* D20F60 802410D0 00082043 */ sra $a0, $t0, 1 +/* D20F64 802410D4 00832023 */ subu $a0, $a0, $v1 +/* D20F68 802410D8 00041840 */ sll $v1, $a0, 1 +/* D20F6C 802410DC 00641821 */ addu $v1, $v1, $a0 +/* D20F70 802410E0 00031880 */ sll $v1, $v1, 2 +/* D20F74 802410E4 00641823 */ subu $v1, $v1, $a0 +/* D20F78 802410E8 00431023 */ subu $v0, $v0, $v1 +/* D20F7C 802410EC 24420005 */ addiu $v0, $v0, 5 +/* D20F80 802410F0 0809043F */ j .L802410FC +/* D20F84 802410F4 A602008E */ sh $v0, 0x8e($s0) +.L802410F8: +/* D20F88 802410F8 AE600070 */ sw $zero, 0x70($s3) +.L802410FC: +/* D20F8C 802410FC 8FBF0054 */ lw $ra, 0x54($sp) +/* D20F90 80241100 8FB40050 */ lw $s4, 0x50($sp) +/* D20F94 80241104 8FB3004C */ lw $s3, 0x4c($sp) +/* D20F98 80241108 8FB20048 */ lw $s2, 0x48($sp) +/* D20F9C 8024110C 8FB10044 */ lw $s1, 0x44($sp) +/* D20FA0 80241110 8FB00040 */ lw $s0, 0x40($sp) +/* D20FA4 80241114 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* D20FA8 80241118 D7B80068 */ ldc1 $f24, 0x68($sp) +/* D20FAC 8024111C D7B60060 */ ldc1 $f22, 0x60($sp) +/* D20FB0 80241120 D7B40058 */ ldc1 $f20, 0x58($sp) +/* D20FB4 80241124 03E00008 */ jr $ra +/* D20FB8 80241128 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024112C_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024112C_D1FE90.s new file mode 100644 index 0000000000..149ccd928d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024112C_D1FE90.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024112C_D20FBC +/* D20FBC 8024112C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D20FC0 80241130 AFB20018 */ sw $s2, 0x18($sp) +/* D20FC4 80241134 0080902D */ daddu $s2, $a0, $zero +/* D20FC8 80241138 AFBF001C */ sw $ra, 0x1c($sp) +/* D20FCC 8024113C AFB10014 */ sw $s1, 0x14($sp) +/* D20FD0 80241140 AFB00010 */ sw $s0, 0x10($sp) +/* D20FD4 80241144 8E510148 */ lw $s1, 0x148($s2) +/* D20FD8 80241148 0C00EABB */ jal get_npc_unsafe +/* D20FDC 8024114C 86240008 */ lh $a0, 8($s1) +/* D20FE0 80241150 0040802D */ daddu $s0, $v0, $zero +/* D20FE4 80241154 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D20FE8 80241158 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D20FEC 8024115C C60C0038 */ lwc1 $f12, 0x38($s0) +/* D20FF0 80241160 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D20FF4 80241164 A600008E */ sh $zero, 0x8e($s0) +/* D20FF8 80241168 8C460028 */ lw $a2, 0x28($v0) +/* D20FFC 8024116C 0C00A720 */ jal atan2 +/* D21000 80241170 8C470030 */ lw $a3, 0x30($v0) +/* D21004 80241174 E600000C */ swc1 $f0, 0xc($s0) +/* D21008 80241178 8E2200CC */ lw $v0, 0xcc($s1) +/* D2100C 8024117C 8C420020 */ lw $v0, 0x20($v0) +/* D21010 80241180 AE020028 */ sw $v0, 0x28($s0) +/* D21014 80241184 2402000B */ addiu $v0, $zero, 0xb +/* D21018 80241188 AE420070 */ sw $v0, 0x70($s2) +/* D2101C 8024118C 8FBF001C */ lw $ra, 0x1c($sp) +/* D21020 80241190 8FB20018 */ lw $s2, 0x18($sp) +/* D21024 80241194 8FB10014 */ lw $s1, 0x14($sp) +/* D21028 80241198 8FB00010 */ lw $s0, 0x10($sp) +/* D2102C 8024119C 03E00008 */ jr $ra +/* D21030 802411A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802411A4_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_802411A4_D1FE90.s new file mode 100644 index 0000000000..654f0c54ec --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802411A4_D1FE90.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411A4_D21034 +/* D21034 802411A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21038 802411A8 AFB00010 */ sw $s0, 0x10($sp) +/* D2103C 802411AC 0080802D */ daddu $s0, $a0, $zero +/* D21040 802411B0 AFBF0014 */ sw $ra, 0x14($sp) +/* D21044 802411B4 8E020148 */ lw $v0, 0x148($s0) +/* D21048 802411B8 0C00EABB */ jal get_npc_unsafe +/* D2104C 802411BC 84440008 */ lh $a0, 8($v0) +/* D21050 802411C0 9443008E */ lhu $v1, 0x8e($v0) +/* D21054 802411C4 C440003C */ lwc1 $f0, 0x3c($v0) +/* D21058 802411C8 24640001 */ addiu $a0, $v1, 1 +/* D2105C 802411CC 00031C00 */ sll $v1, $v1, 0x10 +/* D21060 802411D0 00031B83 */ sra $v1, $v1, 0xe +/* D21064 802411D4 A444008E */ sh $a0, 0x8e($v0) +/* D21068 802411D8 3C018024 */ lui $at, 0x8024 +/* D2106C 802411DC 00230821 */ addu $at, $at, $v1 +/* D21070 802411E0 C42241B8 */ lwc1 $f2, 0x41b8($at) +/* D21074 802411E4 8443008E */ lh $v1, 0x8e($v0) +/* D21078 802411E8 46020000 */ add.s $f0, $f0, $f2 +/* D2107C 802411EC 28630005 */ slti $v1, $v1, 5 +/* D21080 802411F0 14600003 */ bnez $v1, .L80241200 +/* D21084 802411F4 E440003C */ swc1 $f0, 0x3c($v0) +/* D21088 802411F8 2402000C */ addiu $v0, $zero, 0xc +/* D2108C 802411FC AE020070 */ sw $v0, 0x70($s0) +.L80241200: +/* D21090 80241200 8FBF0014 */ lw $ra, 0x14($sp) +/* D21094 80241204 8FB00010 */ lw $s0, 0x10($sp) +/* D21098 80241208 03E00008 */ jr $ra +/* D2109C 8024120C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241210_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241210_D1FE90.s new file mode 100644 index 0000000000..459efb56b8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241210_D1FE90.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241210_D210A0 +/* D210A0 80241210 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D210A4 80241214 AFB3001C */ sw $s3, 0x1c($sp) +/* D210A8 80241218 0080982D */ daddu $s3, $a0, $zero +/* D210AC 8024121C AFBF0020 */ sw $ra, 0x20($sp) +/* D210B0 80241220 AFB20018 */ sw $s2, 0x18($sp) +/* D210B4 80241224 AFB10014 */ sw $s1, 0x14($sp) +/* D210B8 80241228 AFB00010 */ sw $s0, 0x10($sp) +/* D210BC 8024122C 8E720148 */ lw $s2, 0x148($s3) +/* D210C0 80241230 86440008 */ lh $a0, 8($s2) +/* D210C4 80241234 0C00EABB */ jal get_npc_unsafe +/* D210C8 80241238 00A0802D */ daddu $s0, $a1, $zero +/* D210CC 8024123C 0040882D */ daddu $s1, $v0, $zero +/* D210D0 80241240 C6420080 */ lwc1 $f2, 0x80($s2) +/* D210D4 80241244 468010A0 */ cvt.s.w $f2, $f2 +/* D210D8 80241248 460010A1 */ cvt.d.s $f2, $f2 +/* D210DC 8024124C C6400084 */ lwc1 $f0, 0x84($s2) +/* D210E0 80241250 46800020 */ cvt.s.w $f0, $f0 +/* D210E4 80241254 46000021 */ cvt.d.s $f0, $f0 +/* D210E8 80241258 3C014059 */ lui $at, 0x4059 +/* D210EC 8024125C 44812800 */ mtc1 $at, $f5 +/* D210F0 80241260 44802000 */ mtc1 $zero, $f4 +/* D210F4 80241264 8E4200CC */ lw $v0, 0xcc($s2) +/* D210F8 80241268 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D210FC 8024126C C62E0040 */ lwc1 $f14, 0x40($s1) +/* D21100 80241270 46241083 */ div.d $f2, $f2, $f4 +/* D21104 80241274 462010A0 */ cvt.s.d $f2, $f2 +/* D21108 80241278 46240003 */ div.d $f0, $f0, $f4 +/* D2110C 8024127C 8C420020 */ lw $v0, 0x20($v0) +/* D21110 80241280 46200020 */ cvt.s.d $f0, $f0 +/* D21114 80241284 E622001C */ swc1 $f2, 0x1c($s1) +/* D21118 80241288 E6200014 */ swc1 $f0, 0x14($s1) +/* D2111C 8024128C AE220028 */ sw $v0, 0x28($s1) +/* D21120 80241290 C6000018 */ lwc1 $f0, 0x18($s0) +/* D21124 80241294 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D21128 80241298 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D2112C 8024129C E6200018 */ swc1 $f0, 0x18($s1) +/* D21130 802412A0 8C460028 */ lw $a2, 0x28($v0) +/* D21134 802412A4 0C00A720 */ jal atan2 +/* D21138 802412A8 8C470030 */ lw $a3, 0x30($v0) +/* D2113C 802412AC E620000C */ swc1 $f0, 0xc($s1) +/* D21140 802412B0 8E420018 */ lw $v0, 0x18($s2) +/* D21144 802412B4 AE400074 */ sw $zero, 0x74($s2) +/* D21148 802412B8 9442002A */ lhu $v0, 0x2a($v0) +/* D2114C 802412BC 30420002 */ andi $v0, $v0, 2 +/* D21150 802412C0 10400005 */ beqz $v0, .L802412D8 +/* D21154 802412C4 24020003 */ addiu $v0, $zero, 3 +/* D21158 802412C8 A622008E */ sh $v0, 0x8e($s1) +/* D2115C 802412CC 2402000D */ addiu $v0, $zero, 0xd +/* D21160 802412D0 080904CA */ j .L80241328 +/* D21164 802412D4 AE620070 */ sw $v0, 0x70($s3) +.L802412D8: +/* D21168 802412D8 24030001 */ addiu $v1, $zero, 1 +/* D2116C 802412DC 2402000E */ addiu $v0, $zero, 0xe +/* D21170 802412E0 A623008E */ sh $v1, 0x8e($s1) +/* D21174 802412E4 AE620070 */ sw $v0, 0x70($s3) +/* D21178 802412E8 C6200038 */ lwc1 $f0, 0x38($s1) +/* D2117C 802412EC 4600018D */ trunc.w.s $f6, $f0 +/* D21180 802412F0 44023000 */ mfc1 $v0, $f6 +/* D21184 802412F4 00000000 */ nop +/* D21188 802412F8 A6420010 */ sh $v0, 0x10($s2) +/* D2118C 802412FC C620003C */ lwc1 $f0, 0x3c($s1) +/* D21190 80241300 4600018D */ trunc.w.s $f6, $f0 +/* D21194 80241304 44023000 */ mfc1 $v0, $f6 +/* D21198 80241308 00000000 */ nop +/* D2119C 8024130C A6420012 */ sh $v0, 0x12($s2) +/* D211A0 80241310 C6200040 */ lwc1 $f0, 0x40($s1) +/* D211A4 80241314 A2430007 */ sb $v1, 7($s2) +/* D211A8 80241318 4600018D */ trunc.w.s $f6, $f0 +/* D211AC 8024131C 44023000 */ mfc1 $v0, $f6 +/* D211B0 80241320 00000000 */ nop +/* D211B4 80241324 A6420014 */ sh $v0, 0x14($s2) +.L80241328: +/* D211B8 80241328 8FBF0020 */ lw $ra, 0x20($sp) +/* D211BC 8024132C 8FB3001C */ lw $s3, 0x1c($sp) +/* D211C0 80241330 8FB20018 */ lw $s2, 0x18($sp) +/* D211C4 80241334 8FB10014 */ lw $s1, 0x14($sp) +/* D211C8 80241338 8FB00010 */ lw $s0, 0x10($sp) +/* D211CC 8024133C 03E00008 */ jr $ra +/* D211D0 80241340 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241344.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241344.s new file mode 100644 index 0000000000..023d4b6602 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241344.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241344 +/* D211D4 80241344 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D211D8 80241348 AFB00010 */ sw $s0, 0x10($sp) +/* D211DC 8024134C 0080802D */ daddu $s0, $a0, $zero +/* D211E0 80241350 AFBF0014 */ sw $ra, 0x14($sp) +/* D211E4 80241354 8E020148 */ lw $v0, 0x148($s0) +/* D211E8 80241358 0C00EABB */ jal get_npc_unsafe +/* D211EC 8024135C 84440008 */ lh $a0, 8($v0) +/* D211F0 80241360 0040202D */ daddu $a0, $v0, $zero +/* D211F4 80241364 8482008E */ lh $v0, 0x8e($a0) +/* D211F8 80241368 9483008E */ lhu $v1, 0x8e($a0) +/* D211FC 8024136C 18400005 */ blez $v0, .L80241384 +/* D21200 80241370 2462FFFF */ addiu $v0, $v1, -1 +/* D21204 80241374 A482008E */ sh $v0, 0x8e($a0) +/* D21208 80241378 00021400 */ sll $v0, $v0, 0x10 +/* D2120C 8024137C 1C400006 */ bgtz $v0, .L80241398 +/* D21210 80241380 00000000 */ nop +.L80241384: +/* D21214 80241384 8482008C */ lh $v0, 0x8c($a0) +/* D21218 80241388 14400003 */ bnez $v0, .L80241398 +/* D2121C 8024138C 2402000E */ addiu $v0, $zero, 0xe +/* D21220 80241390 A480008E */ sh $zero, 0x8e($a0) +/* D21224 80241394 AE020070 */ sw $v0, 0x70($s0) +.L80241398: +/* D21228 80241398 8FBF0014 */ lw $ra, 0x14($sp) +/* D2122C 8024139C 8FB00010 */ lw $s0, 0x10($sp) +/* D21230 802413A0 03E00008 */ jr $ra +/* D21234 802413A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802413A8_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_802413A8_D1FE90.s new file mode 100644 index 0000000000..59b56cb36c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802413A8_D1FE90.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413A8_D21238 +/* D21238 802413A8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D2123C 802413AC AFB20030 */ sw $s2, 0x30($sp) +/* D21240 802413B0 0080902D */ daddu $s2, $a0, $zero +/* D21244 802413B4 AFBF0038 */ sw $ra, 0x38($sp) +/* D21248 802413B8 AFB30034 */ sw $s3, 0x34($sp) +/* D2124C 802413BC AFB1002C */ sw $s1, 0x2c($sp) +/* D21250 802413C0 AFB00028 */ sw $s0, 0x28($sp) +/* D21254 802413C4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* D21258 802413C8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* D2125C 802413CC 8E510148 */ lw $s1, 0x148($s2) +/* D21260 802413D0 86240008 */ lh $a0, 8($s1) +/* D21264 802413D4 0C00EABB */ jal get_npc_unsafe +/* D21268 802413D8 00A0982D */ daddu $s3, $a1, $zero +/* D2126C 802413DC 0040802D */ daddu $s0, $v0, $zero +/* D21270 802413E0 0200202D */ daddu $a0, $s0, $zero +/* D21274 802413E4 C6220088 */ lwc1 $f2, 0x88($s1) +/* D21278 802413E8 468010A0 */ cvt.s.w $f2, $f2 +/* D2127C 802413EC 460010A1 */ cvt.d.s $f2, $f2 +/* D21280 802413F0 C604001C */ lwc1 $f4, 0x1c($s0) +/* D21284 802413F4 C6000014 */ lwc1 $f0, 0x14($s0) +/* D21288 802413F8 8E050018 */ lw $a1, 0x18($s0) +/* D2128C 802413FC 46002100 */ add.s $f4, $f4, $f0 +/* D21290 80241400 8E06000C */ lw $a2, 0xc($s0) +/* D21294 80241404 C6200078 */ lwc1 $f0, 0x78($s1) +/* D21298 80241408 46800020 */ cvt.s.w $f0, $f0 +/* D2129C 8024140C E604001C */ swc1 $f4, 0x1c($s0) +/* D212A0 80241410 3C014059 */ lui $at, 0x4059 +/* D212A4 80241414 44812800 */ mtc1 $at, $f5 +/* D212A8 80241418 44802000 */ mtc1 $zero, $f4 +/* D212AC 8024141C 46000021 */ cvt.d.s $f0, $f0 +/* D212B0 80241420 46240003 */ div.d $f0, $f0, $f4 +/* D212B4 80241424 46200520 */ cvt.s.d $f20, $f0 +/* D212B8 80241428 46241083 */ div.d $f2, $f2, $f4 +/* D212BC 8024142C 0C00EA95 */ jal npc_move_heading +/* D212C0 80241430 462015A0 */ cvt.s.d $f22, $f2 +/* D212C4 80241434 C604001C */ lwc1 $f4, 0x1c($s0) +/* D212C8 80241438 44801000 */ mtc1 $zero, $f2 +/* D212CC 8024143C 44801800 */ mtc1 $zero, $f3 +/* D212D0 80241440 46002021 */ cvt.d.s $f0, $f4 +/* D212D4 80241444 4620103E */ c.le.d $f2, $f0 +/* D212D8 80241448 00000000 */ nop +/* D212DC 8024144C 45000030 */ bc1f .L80241510 +/* D212E0 80241450 00000000 */ nop +/* D212E4 80241454 C600003C */ lwc1 $f0, 0x3c($s0) +/* D212E8 80241458 46040000 */ add.s $f0, $f0, $f4 +/* D212EC 8024145C E600003C */ swc1 $f0, 0x3c($s0) +/* D212F0 80241460 8E2200CC */ lw $v0, 0xcc($s1) +/* D212F4 80241464 8C420024 */ lw $v0, 0x24($v0) +/* D212F8 80241468 AE020028 */ sw $v0, 0x28($s0) +/* D212FC 8024146C A2200007 */ sb $zero, 7($s1) +/* D21300 80241470 8E020000 */ lw $v0, ($s0) +/* D21304 80241474 30420008 */ andi $v0, $v0, 8 +/* D21308 80241478 14400011 */ bnez $v0, .L802414C0 +/* D2130C 8024147C 0000102D */ daddu $v0, $zero, $zero +/* D21310 80241480 27A50018 */ addiu $a1, $sp, 0x18 +/* D21314 80241484 27A6001C */ addiu $a2, $sp, 0x1c +/* D21318 80241488 C6000038 */ lwc1 $f0, 0x38($s0) +/* D2131C 8024148C C602003C */ lwc1 $f2, 0x3c($s0) +/* D21320 80241490 C6040040 */ lwc1 $f4, 0x40($s0) +/* D21324 80241494 3C01447A */ lui $at, 0x447a +/* D21328 80241498 44813000 */ mtc1 $at, $f6 +/* D2132C 8024149C 27A20024 */ addiu $v0, $sp, 0x24 +/* D21330 802414A0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D21334 802414A4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* D21338 802414A8 E7A40020 */ swc1 $f4, 0x20($sp) +/* D2133C 802414AC E7A60024 */ swc1 $f6, 0x24($sp) +/* D21340 802414B0 AFA20010 */ sw $v0, 0x10($sp) +/* D21344 802414B4 8E040080 */ lw $a0, 0x80($s0) +/* D21348 802414B8 0C0372DF */ jal func_800DCB7C +/* D2134C 802414BC 27A70020 */ addiu $a3, $sp, 0x20 +.L802414C0: +/* D21350 802414C0 1040000B */ beqz $v0, .L802414F0 +/* D21354 802414C4 00000000 */ nop +/* D21358 802414C8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* D2135C 802414CC 46140080 */ add.s $f2, $f0, $f20 +/* D21360 802414D0 C600003C */ lwc1 $f0, 0x3c($s0) +/* D21364 802414D4 4600103E */ c.le.s $f2, $f0 +/* D21368 802414D8 00000000 */ nop +/* D2136C 802414DC 4500008D */ bc1f .L80241714 +/* D21370 802414E0 00000000 */ nop +/* D21374 802414E4 E602003C */ swc1 $f2, 0x3c($s0) +/* D21378 802414E8 080905C5 */ j .L80241714 +/* D2137C 802414EC AE400070 */ sw $zero, 0x70($s2) +.L802414F0: +/* D21380 802414F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* D21384 802414F4 C6000064 */ lwc1 $f0, 0x64($s0) +/* D21388 802414F8 4602003E */ c.le.s $f0, $f2 +/* D2138C 802414FC 00000000 */ nop +/* D21390 80241500 45030084 */ bc1tl .L80241714 +/* D21394 80241504 AE400070 */ sw $zero, 0x70($s2) +/* D21398 80241508 080905C5 */ j .L80241714 +/* D2139C 8024150C 00000000 */ nop +.L80241510: +/* D213A0 80241510 4622003C */ c.lt.d $f0, $f2 +/* D213A4 80241514 00000000 */ nop +/* D213A8 80241518 4500007E */ bc1f .L80241714 +/* D213AC 8024151C 00000000 */ nop +/* D213B0 80241520 9602008E */ lhu $v0, 0x8e($s0) +/* D213B4 80241524 24420001 */ addiu $v0, $v0, 1 +/* D213B8 80241528 A602008E */ sh $v0, 0x8e($s0) +/* D213BC 8024152C 00021400 */ sll $v0, $v0, 0x10 +/* D213C0 80241530 8E630020 */ lw $v1, 0x20($s3) +/* D213C4 80241534 00021403 */ sra $v0, $v0, 0x10 +/* D213C8 80241538 0043102A */ slt $v0, $v0, $v1 +/* D213CC 8024153C 14400026 */ bnez $v0, .L802415D8 +/* D213D0 80241540 00000000 */ nop +/* D213D4 80241544 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D213D8 80241548 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D213DC 8024154C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D213E0 80241550 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D213E4 80241554 A600008E */ sh $zero, 0x8e($s0) +/* D213E8 80241558 8C460028 */ lw $a2, 0x28($v0) +/* D213EC 8024155C 0C00A720 */ jal atan2 +/* D213F0 80241560 8C470030 */ lw $a3, 0x30($v0) +/* D213F4 80241564 46000506 */ mov.s $f20, $f0 +/* D213F8 80241568 C60C000C */ lwc1 $f12, 0xc($s0) +/* D213FC 8024156C 0C00A70A */ jal get_clamped_angle_diff +/* D21400 80241570 4600A386 */ mov.s $f14, $f20 +/* D21404 80241574 46000086 */ mov.s $f2, $f0 +/* D21408 80241578 8E62001C */ lw $v0, 0x1c($s3) +/* D2140C 8024157C 46001005 */ abs.s $f0, $f2 +/* D21410 80241580 44822000 */ mtc1 $v0, $f4 +/* D21414 80241584 00000000 */ nop +/* D21418 80241588 46802120 */ cvt.s.w $f4, $f4 +/* D2141C 8024158C 4600203C */ c.lt.s $f4, $f0 +/* D21420 80241590 00000000 */ nop +/* D21424 80241594 4500000D */ bc1f .L802415CC +/* D21428 80241598 00000000 */ nop +/* D2142C 8024159C 44800000 */ mtc1 $zero, $f0 +/* D21430 802415A0 C614000C */ lwc1 $f20, 0xc($s0) +/* D21434 802415A4 4600103C */ c.lt.s $f2, $f0 +/* D21438 802415A8 00000000 */ nop +/* D2143C 802415AC 45000006 */ bc1f .L802415C8 +/* D21440 802415B0 00021023 */ negu $v0, $v0 +/* D21444 802415B4 44820000 */ mtc1 $v0, $f0 +/* D21448 802415B8 00000000 */ nop +/* D2144C 802415BC 46800020 */ cvt.s.w $f0, $f0 +/* D21450 802415C0 08090573 */ j .L802415CC +/* D21454 802415C4 4600A500 */ add.s $f20, $f20, $f0 +.L802415C8: +/* D21458 802415C8 4604A500 */ add.s $f20, $f20, $f4 +.L802415CC: +/* D2145C 802415CC 0C00A6C9 */ jal clamp_angle +/* D21460 802415D0 4600A306 */ mov.s $f12, $f20 +/* D21464 802415D4 E600000C */ swc1 $f0, 0xc($s0) +.L802415D8: +/* D21468 802415D8 8E020000 */ lw $v0, ($s0) +/* D2146C 802415DC 30420008 */ andi $v0, $v0, 8 +/* D21470 802415E0 1040000A */ beqz $v0, .L8024160C +/* D21474 802415E4 27A50018 */ addiu $a1, $sp, 0x18 +/* D21478 802415E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* D2147C 802415EC C600001C */ lwc1 $f0, 0x1c($s0) +/* D21480 802415F0 46001080 */ add.s $f2, $f2, $f0 +/* D21484 802415F4 4616103C */ c.lt.s $f2, $f22 +/* D21488 802415F8 00000000 */ nop +/* D2148C 802415FC 45020045 */ bc1fl .L80241714 +/* D21490 80241600 E602003C */ swc1 $f2, 0x3c($s0) +/* D21494 80241604 080905C4 */ j .L80241710 +/* D21498 80241608 E616003C */ swc1 $f22, 0x3c($s0) +.L8024160C: +/* D2149C 8024160C C6000038 */ lwc1 $f0, 0x38($s0) +/* D214A0 80241610 27A6001C */ addiu $a2, $sp, 0x1c +/* D214A4 80241614 E7A00018 */ swc1 $f0, 0x18($sp) +/* D214A8 80241618 860200A8 */ lh $v0, 0xa8($s0) +/* D214AC 8024161C C600001C */ lwc1 $f0, 0x1c($s0) +/* D214B0 80241620 C604003C */ lwc1 $f4, 0x3c($s0) +/* D214B4 80241624 44821000 */ mtc1 $v0, $f2 +/* D214B8 80241628 00000000 */ nop +/* D214BC 8024162C 468010A0 */ cvt.s.w $f2, $f2 +/* D214C0 80241630 46000005 */ abs.s $f0, $f0 +/* D214C4 80241634 46020000 */ add.s $f0, $f0, $f2 +/* D214C8 80241638 C6060040 */ lwc1 $f6, 0x40($s0) +/* D214CC 8024163C 27A20024 */ addiu $v0, $sp, 0x24 +/* D214D0 80241640 46022100 */ add.s $f4, $f4, $f2 +/* D214D4 80241644 3C014024 */ lui $at, 0x4024 +/* D214D8 80241648 44811800 */ mtc1 $at, $f3 +/* D214DC 8024164C 44801000 */ mtc1 $zero, $f2 +/* D214E0 80241650 46000021 */ cvt.d.s $f0, $f0 +/* D214E4 80241654 46220000 */ add.d $f0, $f0, $f2 +/* D214E8 80241658 E7A60020 */ swc1 $f6, 0x20($sp) +/* D214EC 8024165C E7A4001C */ swc1 $f4, 0x1c($sp) +/* D214F0 80241660 46200020 */ cvt.s.d $f0, $f0 +/* D214F4 80241664 E7A00024 */ swc1 $f0, 0x24($sp) +/* D214F8 80241668 AFA20010 */ sw $v0, 0x10($sp) +/* D214FC 8024166C 8E040080 */ lw $a0, 0x80($s0) +/* D21500 80241670 0C0372DF */ jal func_800DCB7C +/* D21504 80241674 27A70020 */ addiu $a3, $sp, 0x20 +/* D21508 80241678 10400015 */ beqz $v0, .L802416D0 +/* D2150C 8024167C 00000000 */ nop +/* D21510 80241680 860200A8 */ lh $v0, 0xa8($s0) +/* D21514 80241684 C604001C */ lwc1 $f4, 0x1c($s0) +/* D21518 80241688 44820000 */ mtc1 $v0, $f0 +/* D2151C 8024168C 00000000 */ nop +/* D21520 80241690 46800020 */ cvt.s.w $f0, $f0 +/* D21524 80241694 46002085 */ abs.s $f2, $f4 +/* D21528 80241698 46020000 */ add.s $f0, $f0, $f2 +/* D2152C 8024169C C7A20024 */ lwc1 $f2, 0x24($sp) +/* D21530 802416A0 4600103E */ c.le.s $f2, $f0 +/* D21534 802416A4 00000000 */ nop +/* D21538 802416A8 45000005 */ bc1f .L802416C0 +/* D2153C 802416AC 00000000 */ nop +/* D21540 802416B0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* D21544 802416B4 AE00001C */ sw $zero, 0x1c($s0) +/* D21548 802416B8 080905C5 */ j .L80241714 +/* D2154C 802416BC E600003C */ swc1 $f0, 0x3c($s0) +.L802416C0: +/* D21550 802416C0 C600003C */ lwc1 $f0, 0x3c($s0) +/* D21554 802416C4 46040000 */ add.s $f0, $f0, $f4 +/* D21558 802416C8 080905C5 */ j .L80241714 +/* D2155C 802416CC E600003C */ swc1 $f0, 0x3c($s0) +.L802416D0: +/* D21560 802416D0 C606003C */ lwc1 $f6, 0x3c($s0) +/* D21564 802416D4 860200A8 */ lh $v0, 0xa8($s0) +/* D21568 802416D8 46163081 */ sub.s $f2, $f6, $f22 +/* D2156C 802416DC 44820000 */ mtc1 $v0, $f0 +/* D21570 802416E0 00000000 */ nop +/* D21574 802416E4 46800020 */ cvt.s.w $f0, $f0 +/* D21578 802416E8 46001080 */ add.s $f2, $f2, $f0 +/* D2157C 802416EC C604001C */ lwc1 $f4, 0x1c($s0) +/* D21580 802416F0 46002005 */ abs.s $f0, $f4 +/* D21584 802416F4 4602003C */ c.lt.s $f0, $f2 +/* D21588 802416F8 00000000 */ nop +/* D2158C 802416FC 45020005 */ bc1fl .L80241714 +/* D21590 80241700 AE00001C */ sw $zero, 0x1c($s0) +/* D21594 80241704 46043000 */ add.s $f0, $f6, $f4 +/* D21598 80241708 080905C5 */ j .L80241714 +/* D2159C 8024170C E600003C */ swc1 $f0, 0x3c($s0) +.L80241710: +/* D215A0 80241710 AE00001C */ sw $zero, 0x1c($s0) +.L80241714: +/* D215A4 80241714 8FBF0038 */ lw $ra, 0x38($sp) +/* D215A8 80241718 8FB30034 */ lw $s3, 0x34($sp) +/* D215AC 8024171C 8FB20030 */ lw $s2, 0x30($sp) +/* D215B0 80241720 8FB1002C */ lw $s1, 0x2c($sp) +/* D215B4 80241724 8FB00028 */ lw $s0, 0x28($sp) +/* D215B8 80241728 D7B60048 */ ldc1 $f22, 0x48($sp) +/* D215BC 8024172C D7B40040 */ ldc1 $f20, 0x40($sp) +/* D215C0 80241730 03E00008 */ jr $ra +/* D215C4 80241734 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241738_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241738_D1FE90.s new file mode 100644 index 0000000000..203d77551f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241738_D1FE90.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241738_D215C8 +/* D215C8 80241738 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D215CC 8024173C AFB00028 */ sw $s0, 0x28($sp) +/* D215D0 80241740 00A0802D */ daddu $s0, $a1, $zero +/* D215D4 80241744 AFB1002C */ sw $s1, 0x2c($sp) +/* D215D8 80241748 00C0882D */ daddu $s1, $a2, $zero +/* D215DC 8024174C AFBF0034 */ sw $ra, 0x34($sp) +/* D215E0 80241750 AFB20030 */ sw $s2, 0x30($sp) +/* D215E4 80241754 AE200070 */ sw $zero, 0x70($s1) +/* D215E8 80241758 8C830000 */ lw $v1, ($a0) +/* D215EC 8024175C 2402FDFF */ addiu $v0, $zero, -0x201 +/* D215F0 80241760 A480008E */ sh $zero, 0x8e($a0) +/* D215F4 80241764 00621824 */ and $v1, $v1, $v0 +/* D215F8 80241768 34650800 */ ori $a1, $v1, 0x800 +/* D215FC 8024176C AC850000 */ sw $a1, ($a0) +/* D21600 80241770 8E0200D0 */ lw $v0, 0xd0($s0) +/* D21604 80241774 8C420034 */ lw $v0, 0x34($v0) +/* D21608 80241778 10400003 */ beqz $v0, .L80241788 +/* D2160C 8024177C 00E0902D */ daddu $s2, $a3, $zero +/* D21610 80241780 080905E4 */ j .L80241790 +/* D21614 80241784 34620808 */ ori $v0, $v1, 0x808 +.L80241788: +/* D21618 80241788 2402FFF7 */ addiu $v0, $zero, -9 +/* D2161C 8024178C 00A21024 */ and $v0, $a1, $v0 +.L80241790: +/* D21620 80241790 AC820000 */ sw $v0, ($a0) +/* D21624 80241794 27A20024 */ addiu $v0, $sp, 0x24 +/* D21628 80241798 27A50018 */ addiu $a1, $sp, 0x18 +/* D2162C 8024179C C4800038 */ lwc1 $f0, 0x38($a0) +/* D21630 802417A0 C482003C */ lwc1 $f2, 0x3c($a0) +/* D21634 802417A4 C4840040 */ lwc1 $f4, 0x40($a0) +/* D21638 802417A8 3C01447A */ lui $at, 0x447a +/* D2163C 802417AC 44813000 */ mtc1 $at, $f6 +/* D21640 802417B0 27A6001C */ addiu $a2, $sp, 0x1c +/* D21644 802417B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* D21648 802417B8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* D2164C 802417BC E7A40020 */ swc1 $f4, 0x20($sp) +/* D21650 802417C0 E7A60024 */ swc1 $f6, 0x24($sp) +/* D21654 802417C4 AFA20010 */ sw $v0, 0x10($sp) +/* D21658 802417C8 8C840080 */ lw $a0, 0x80($a0) +/* D2165C 802417CC 0C0372DF */ jal func_800DCB7C +/* D21660 802417D0 27A70020 */ addiu $a3, $sp, 0x20 +/* D21664 802417D4 C7A20024 */ lwc1 $f2, 0x24($sp) +/* D21668 802417D8 3C014059 */ lui $at, 0x4059 +/* D2166C 802417DC 44812800 */ mtc1 $at, $f5 +/* D21670 802417E0 44802000 */ mtc1 $zero, $f4 +/* D21674 802417E4 460010A1 */ cvt.d.s $f2, $f2 +/* D21678 802417E8 46241082 */ mul.d $f2, $f2, $f4 +/* D2167C 802417EC 00000000 */ nop +/* D21680 802417F0 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* D21684 802417F4 46000021 */ cvt.d.s $f0, $f0 +/* D21688 802417F8 46240002 */ mul.d $f0, $f0, $f4 +/* D2168C 802417FC 00000000 */ nop +/* D21690 80241800 3C013FE0 */ lui $at, 0x3fe0 +/* D21694 80241804 44812800 */ mtc1 $at, $f5 +/* D21698 80241808 44802000 */ mtc1 $zero, $f4 +/* D2169C 8024180C 00000000 */ nop +/* D216A0 80241810 46241080 */ add.d $f2, $f2, $f4 +/* D216A4 80241814 AE000074 */ sw $zero, 0x74($s0) +/* D216A8 80241818 46240000 */ add.d $f0, $f0, $f4 +/* D216AC 8024181C AE000090 */ sw $zero, 0x90($s0) +/* D216B0 80241820 4620120D */ trunc.w.d $f8, $f2 +/* D216B4 80241824 E6080078 */ swc1 $f8, 0x78($s0) +/* D216B8 80241828 4620020D */ trunc.w.d $f8, $f0 +/* D216BC 8024182C E6080088 */ swc1 $f8, 0x88($s0) +/* D216C0 80241830 8E420014 */ lw $v0, 0x14($s2) +/* D216C4 80241834 AE220074 */ sw $v0, 0x74($s1) +/* D216C8 80241838 8E0200B0 */ lw $v0, 0xb0($s0) +/* D216CC 8024183C 34420010 */ ori $v0, $v0, 0x10 +/* D216D0 80241840 AE0200B0 */ sw $v0, 0xb0($s0) +/* D216D4 80241844 8FBF0034 */ lw $ra, 0x34($sp) +/* D216D8 80241848 8FB20030 */ lw $s2, 0x30($sp) +/* D216DC 8024184C 8FB1002C */ lw $s1, 0x2c($sp) +/* D216E0 80241850 8FB00028 */ lw $s0, 0x28($sp) +/* D216E4 80241854 03E00008 */ jr $ra +/* D216E8 80241858 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024185C.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024185C.s new file mode 100644 index 0000000000..bb7db04f25 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024185C.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024185C +/* D216EC 8024185C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D216F0 80241860 AFB40040 */ sw $s4, 0x40($sp) +/* D216F4 80241864 0080A02D */ daddu $s4, $a0, $zero +/* D216F8 80241868 AFBF0048 */ sw $ra, 0x48($sp) +/* D216FC 8024186C AFB50044 */ sw $s5, 0x44($sp) +/* D21700 80241870 AFB3003C */ sw $s3, 0x3c($sp) +/* D21704 80241874 AFB20038 */ sw $s2, 0x38($sp) +/* D21708 80241878 AFB10034 */ sw $s1, 0x34($sp) +/* D2170C 8024187C AFB00030 */ sw $s0, 0x30($sp) +/* D21710 80241880 8E920148 */ lw $s2, 0x148($s4) +/* D21714 80241884 86440008 */ lh $a0, 8($s2) +/* D21718 80241888 8E90000C */ lw $s0, 0xc($s4) +/* D2171C 8024188C 0C00EABB */ jal get_npc_unsafe +/* D21720 80241890 00A0882D */ daddu $s1, $a1, $zero +/* D21724 80241894 0280202D */ daddu $a0, $s4, $zero +/* D21728 80241898 8E050000 */ lw $a1, ($s0) +/* D2172C 8024189C 0C0B1EAF */ jal get_variable +/* D21730 802418A0 0040A82D */ daddu $s5, $v0, $zero +/* D21734 802418A4 AFA00010 */ sw $zero, 0x10($sp) +/* D21738 802418A8 8E4300D0 */ lw $v1, 0xd0($s2) +/* D2173C 802418AC 8C630030 */ lw $v1, 0x30($v1) +/* D21740 802418B0 AFA30014 */ sw $v1, 0x14($sp) +/* D21744 802418B4 8E4300D0 */ lw $v1, 0xd0($s2) +/* D21748 802418B8 8C63001C */ lw $v1, 0x1c($v1) +/* D2174C 802418BC AFA30018 */ sw $v1, 0x18($sp) +/* D21750 802418C0 8E4300D0 */ lw $v1, 0xd0($s2) +/* D21754 802418C4 8C630024 */ lw $v1, 0x24($v1) +/* D21758 802418C8 AFA3001C */ sw $v1, 0x1c($sp) +/* D2175C 802418CC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D21760 802418D0 8C630028 */ lw $v1, 0x28($v1) +/* D21764 802418D4 27B30010 */ addiu $s3, $sp, 0x10 +/* D21768 802418D8 AFA30020 */ sw $v1, 0x20($sp) +/* D2176C 802418DC 8E4300D0 */ lw $v1, 0xd0($s2) +/* D21770 802418E0 3C0142F0 */ lui $at, 0x42f0 +/* D21774 802418E4 44810000 */ mtc1 $at, $f0 +/* D21778 802418E8 8C63002C */ lw $v1, 0x2c($v1) +/* D2177C 802418EC 0040802D */ daddu $s0, $v0, $zero +/* D21780 802418F0 E7A00028 */ swc1 $f0, 0x28($sp) +/* D21784 802418F4 A7A0002C */ sh $zero, 0x2c($sp) +/* D21788 802418F8 12200006 */ beqz $s1, .L80241914 +/* D2178C 802418FC AFA30024 */ sw $v1, 0x24($sp) +/* D21790 80241900 02A0202D */ daddu $a0, $s5, $zero +/* D21794 80241904 0240282D */ daddu $a1, $s2, $zero +/* D21798 80241908 0280302D */ daddu $a2, $s4, $zero +/* D2179C 8024190C 0C0905CE */ jal func_80241738 +/* D217A0 80241910 0200382D */ daddu $a3, $s0, $zero +.L80241914: +/* D217A4 80241914 2402FFFE */ addiu $v0, $zero, -2 +/* D217A8 80241918 A2A200AB */ sb $v0, 0xab($s5) +/* D217AC 8024191C 8E4300B0 */ lw $v1, 0xb0($s2) +/* D217B0 80241920 30620004 */ andi $v0, $v1, 4 +/* D217B4 80241924 10400007 */ beqz $v0, .L80241944 +/* D217B8 80241928 00000000 */ nop +/* D217BC 8024192C 824200B4 */ lb $v0, 0xb4($s2) +/* D217C0 80241930 1440003C */ bnez $v0, .L80241A24 +/* D217C4 80241934 0000102D */ daddu $v0, $zero, $zero +/* D217C8 80241938 2402FFFB */ addiu $v0, $zero, -5 +/* D217CC 8024193C 00621024 */ and $v0, $v1, $v0 +/* D217D0 80241940 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241944: +/* D217D4 80241944 8E830070 */ lw $v1, 0x70($s4) +/* D217D8 80241948 2C62000F */ sltiu $v0, $v1, 0xf +/* D217DC 8024194C 10400034 */ beqz $v0, .L80241A20 +/* D217E0 80241950 00031080 */ sll $v0, $v1, 2 +/* D217E4 80241954 3C018025 */ lui $at, 0x8025 +/* D217E8 80241958 00220821 */ addu $at, $at, $v0 +/* D217EC 8024195C 8C22BE58 */ lw $v0, -0x41a8($at) +/* D217F0 80241960 00400008 */ jr $v0 +/* D217F4 80241964 00000000 */ nop +/* D217F8 80241968 0280202D */ daddu $a0, $s4, $zero +/* D217FC 8024196C 0200282D */ daddu $a1, $s0, $zero +/* D21800 80241970 0C090154 */ jal func_80240550 +/* D21804 80241974 0260302D */ daddu $a2, $s3, $zero +/* D21808 80241978 0280202D */ daddu $a0, $s4, $zero +/* D2180C 8024197C 0200282D */ daddu $a1, $s0, $zero +/* D21810 80241980 0C0901C0 */ jal func_80240700 +/* D21814 80241984 0260302D */ daddu $a2, $s3, $zero +/* D21818 80241988 08090689 */ j .L80241A24 +/* D2181C 8024198C 0000102D */ daddu $v0, $zero, $zero +/* D21820 80241990 0280202D */ daddu $a0, $s4, $zero +/* D21824 80241994 0200282D */ daddu $a1, $s0, $zero +/* D21828 80241998 0C09034A */ jal func_80240D28 +/* D2182C 8024199C 0260302D */ daddu $a2, $s3, $zero +/* D21830 802419A0 0280202D */ daddu $a0, $s4, $zero +/* D21834 802419A4 0200282D */ daddu $a1, $s0, $zero +/* D21838 802419A8 0C09037A */ jal func_80240DE8 +/* D2183C 802419AC 0260302D */ daddu $a2, $s3, $zero +/* D21840 802419B0 08090689 */ j .L80241A24 +/* D21844 802419B4 0000102D */ daddu $v0, $zero, $zero +/* D21848 802419B8 0280202D */ daddu $a0, $s4, $zero +/* D2184C 802419BC 0200282D */ daddu $a1, $s0, $zero +/* D21850 802419C0 0C09044B */ jal func_8024112C +/* D21854 802419C4 0260302D */ daddu $a2, $s3, $zero +/* D21858 802419C8 0280202D */ daddu $a0, $s4, $zero +/* D2185C 802419CC 0200282D */ daddu $a1, $s0, $zero +/* D21860 802419D0 0C090469 */ jal func_802411A4 +/* D21864 802419D4 0260302D */ daddu $a2, $s3, $zero +/* D21868 802419D8 08090689 */ j .L80241A24 +/* D2186C 802419DC 0000102D */ daddu $v0, $zero, $zero +/* D21870 802419E0 0280202D */ daddu $a0, $s4, $zero +/* D21874 802419E4 0200282D */ daddu $a1, $s0, $zero +/* D21878 802419E8 0C090484 */ jal func_80241210 +/* D2187C 802419EC 0260302D */ daddu $a2, $s3, $zero +/* D21880 802419F0 08090689 */ j .L80241A24 +/* D21884 802419F4 0000102D */ daddu $v0, $zero, $zero +/* D21888 802419F8 0280202D */ daddu $a0, $s4, $zero +/* D2188C 802419FC 0200282D */ daddu $a1, $s0, $zero +/* D21890 80241A00 0C0904D1 */ jal func_80241344 +/* D21894 80241A04 0260302D */ daddu $a2, $s3, $zero +/* D21898 80241A08 08090689 */ j .L80241A24 +/* D2189C 80241A0C 0000102D */ daddu $v0, $zero, $zero +/* D218A0 80241A10 0280202D */ daddu $a0, $s4, $zero +/* D218A4 80241A14 0200282D */ daddu $a1, $s0, $zero +/* D218A8 80241A18 0C0904EA */ jal func_802413A8 +/* D218AC 80241A1C 0260302D */ daddu $a2, $s3, $zero +.L80241A20: +/* D218B0 80241A20 0000102D */ daddu $v0, $zero, $zero +.L80241A24: +/* D218B4 80241A24 8FBF0048 */ lw $ra, 0x48($sp) +/* D218B8 80241A28 8FB50044 */ lw $s5, 0x44($sp) +/* D218BC 80241A2C 8FB40040 */ lw $s4, 0x40($sp) +/* D218C0 80241A30 8FB3003C */ lw $s3, 0x3c($sp) +/* D218C4 80241A34 8FB20038 */ lw $s2, 0x38($sp) +/* D218C8 80241A38 8FB10034 */ lw $s1, 0x34($sp) +/* D218CC 80241A3C 8FB00030 */ lw $s0, 0x30($sp) +/* D218D0 80241A40 03E00008 */ jr $ra +/* D218D4 80241A44 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241A48.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241A48.s new file mode 100644 index 0000000000..9239bb0f1f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241A48.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A48 +/* D218D8 80241A48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D218DC 80241A4C AFB00010 */ sw $s0, 0x10($sp) +/* D218E0 80241A50 3C108024 */ lui $s0, 0x8024 +/* D218E4 80241A54 261043D0 */ addiu $s0, $s0, 0x43d0 +/* D218E8 80241A58 AFBF0018 */ sw $ra, 0x18($sp) +/* D218EC 80241A5C AFB10014 */ sw $s1, 0x14($sp) +/* D218F0 80241A60 8E020000 */ lw $v0, ($s0) +/* D218F4 80241A64 14400010 */ bnez $v0, .L80241AA8 +/* D218F8 80241A68 0080882D */ daddu $s1, $a0, $zero +/* D218FC 80241A6C 0C00AB39 */ jal heap_malloc +/* D21900 80241A70 24040040 */ addiu $a0, $zero, 0x40 +/* D21904 80241A74 AE020000 */ sw $v0, ($s0) +/* D21908 80241A78 0000182D */ daddu $v1, $zero, $zero +/* D2190C 80241A7C 0040282D */ daddu $a1, $v0, $zero +/* D21910 80241A80 0220202D */ daddu $a0, $s1, $zero +.L80241A84: +/* D21914 80241A84 8C820084 */ lw $v0, 0x84($a0) +/* D21918 80241A88 24840004 */ addiu $a0, $a0, 4 +/* D2191C 80241A8C 24630001 */ addiu $v1, $v1, 1 +/* D21920 80241A90 ACA20000 */ sw $v0, ($a1) +/* D21924 80241A94 28620010 */ slti $v0, $v1, 0x10 +/* D21928 80241A98 1440FFFA */ bnez $v0, .L80241A84 +/* D2192C 80241A9C 24A50004 */ addiu $a1, $a1, 4 +/* D21930 80241AA0 080906B9 */ j .L80241AE4 +/* D21934 80241AA4 00000000 */ nop +.L80241AA8: +/* D21938 80241AA8 0000182D */ daddu $v1, $zero, $zero +/* D2193C 80241AAC 0040282D */ daddu $a1, $v0, $zero +/* D21940 80241AB0 0220202D */ daddu $a0, $s1, $zero +.L80241AB4: +/* D21944 80241AB4 8CA20000 */ lw $v0, ($a1) +/* D21948 80241AB8 24A50004 */ addiu $a1, $a1, 4 +/* D2194C 80241ABC 24630001 */ addiu $v1, $v1, 1 +/* D21950 80241AC0 AC820084 */ sw $v0, 0x84($a0) +/* D21954 80241AC4 28620010 */ slti $v0, $v1, 0x10 +/* D21958 80241AC8 1440FFFA */ bnez $v0, .L80241AB4 +/* D2195C 80241ACC 24840004 */ addiu $a0, $a0, 4 +/* D21960 80241AD0 3C108024 */ lui $s0, 0x8024 +/* D21964 80241AD4 261043D0 */ addiu $s0, $s0, 0x43d0 +/* D21968 80241AD8 0C00AB4B */ jal heap_free +/* D2196C 80241ADC 8E040000 */ lw $a0, ($s0) +/* D21970 80241AE0 AE000000 */ sw $zero, ($s0) +.L80241AE4: +/* D21974 80241AE4 8FBF0018 */ lw $ra, 0x18($sp) +/* D21978 80241AE8 8FB10014 */ lw $s1, 0x14($sp) +/* D2197C 80241AEC 8FB00010 */ lw $s0, 0x10($sp) +/* D21980 80241AF0 24020002 */ addiu $v0, $zero, 2 +/* D21984 80241AF4 03E00008 */ jr $ra +/* D21988 80241AF8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241AFC.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241AFC.s new file mode 100644 index 0000000000..329b346069 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241AFC.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AFC +/* D2198C 80241AFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D21990 80241B00 AFB00010 */ sw $s0, 0x10($sp) +/* D21994 80241B04 0080802D */ daddu $s0, $a0, $zero +/* D21998 80241B08 AFBF0018 */ sw $ra, 0x18($sp) +/* D2199C 80241B0C AFB10014 */ sw $s1, 0x14($sp) +/* D219A0 80241B10 8E02000C */ lw $v0, 0xc($s0) +/* D219A4 80241B14 8C510000 */ lw $s1, ($v0) +/* D219A8 80241B18 0C0B1EAF */ jal get_variable +/* D219AC 80241B1C 0220282D */ daddu $a1, $s1, $zero +/* D219B0 80241B20 3C03FFF0 */ lui $v1, 0xfff0 +/* D219B4 80241B24 3463FFFF */ ori $v1, $v1, 0xffff +/* D219B8 80241B28 0200202D */ daddu $a0, $s0, $zero +/* D219BC 80241B2C 00431024 */ and $v0, $v0, $v1 +/* D219C0 80241B30 00021140 */ sll $v0, $v0, 5 +/* D219C4 80241B34 3C068008 */ lui $a2, %hi(gItemTable) +/* D219C8 80241B38 00C23021 */ addu $a2, $a2, $v0 +/* D219CC 80241B3C 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D219D0 80241B40 0C0B2026 */ jal set_variable +/* D219D4 80241B44 0220282D */ daddu $a1, $s1, $zero +/* D219D8 80241B48 8FBF0018 */ lw $ra, 0x18($sp) +/* D219DC 80241B4C 8FB10014 */ lw $s1, 0x14($sp) +/* D219E0 80241B50 8FB00010 */ lw $s0, 0x10($sp) +/* D219E4 80241B54 24020002 */ addiu $v0, $zero, 2 +/* D219E8 80241B58 03E00008 */ jr $ra +/* D219EC 80241B5C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241B60.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241B60.s new file mode 100644 index 0000000000..6fa1d2ea44 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241B60.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B60 +/* D219F0 80241B60 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D219F4 80241B64 AFB10014 */ sw $s1, 0x14($sp) +/* D219F8 80241B68 0080882D */ daddu $s1, $a0, $zero +/* D219FC 80241B6C AFBF0018 */ sw $ra, 0x18($sp) +/* D21A00 80241B70 AFB00010 */ sw $s0, 0x10($sp) +/* D21A04 80241B74 8E30000C */ lw $s0, 0xc($s1) +/* D21A08 80241B78 8E050000 */ lw $a1, ($s0) +/* D21A0C 80241B7C 0C0B1EAF */ jal get_variable +/* D21A10 80241B80 26100004 */ addiu $s0, $s0, 4 +/* D21A14 80241B84 0C00EAD2 */ jal get_npc_safe +/* D21A18 80241B88 0040202D */ daddu $a0, $v0, $zero +/* D21A1C 80241B8C 10400005 */ beqz $v0, .L80241BA4 +/* D21A20 80241B90 00000000 */ nop +/* D21A24 80241B94 8E050000 */ lw $a1, ($s0) +/* D21A28 80241B98 844600A8 */ lh $a2, 0xa8($v0) +/* D21A2C 80241B9C 0C0B2026 */ jal set_variable +/* D21A30 80241BA0 0220202D */ daddu $a0, $s1, $zero +.L80241BA4: +/* D21A34 80241BA4 8FBF0018 */ lw $ra, 0x18($sp) +/* D21A38 80241BA8 8FB10014 */ lw $s1, 0x14($sp) +/* D21A3C 80241BAC 8FB00010 */ lw $s0, 0x10($sp) +/* D21A40 80241BB0 24020002 */ addiu $v0, $zero, 2 +/* D21A44 80241BB4 03E00008 */ jr $ra +/* D21A48 80241BB8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241BBC.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241BBC.s new file mode 100644 index 0000000000..11fe61876d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241BBC.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BBC +/* D21A4C 80241BBC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D21A50 80241BC0 AFB10014 */ sw $s1, 0x14($sp) +/* D21A54 80241BC4 0080882D */ daddu $s1, $a0, $zero +/* D21A58 80241BC8 AFBF0024 */ sw $ra, 0x24($sp) +/* D21A5C 80241BCC AFB40020 */ sw $s4, 0x20($sp) +/* D21A60 80241BD0 AFB3001C */ sw $s3, 0x1c($sp) +/* D21A64 80241BD4 AFB20018 */ sw $s2, 0x18($sp) +/* D21A68 80241BD8 AFB00010 */ sw $s0, 0x10($sp) +/* D21A6C 80241BDC F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D21A70 80241BE0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D21A74 80241BE4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* D21A78 80241BE8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D21A7C 80241BEC F7B40028 */ sdc1 $f20, 0x28($sp) +/* D21A80 80241BF0 8E30000C */ lw $s0, 0xc($s1) +/* D21A84 80241BF4 8E130000 */ lw $s3, ($s0) +/* D21A88 80241BF8 26100004 */ addiu $s0, $s0, 4 +/* D21A8C 80241BFC 0C0B1EAF */ jal get_variable +/* D21A90 80241C00 0260282D */ daddu $a1, $s3, $zero +/* D21A94 80241C04 4482E000 */ mtc1 $v0, $f28 +/* D21A98 80241C08 00000000 */ nop +/* D21A9C 80241C0C 4680E720 */ cvt.s.w $f28, $f28 +/* D21AA0 80241C10 8E140000 */ lw $s4, ($s0) +/* D21AA4 80241C14 26100004 */ addiu $s0, $s0, 4 +/* D21AA8 80241C18 0220202D */ daddu $a0, $s1, $zero +/* D21AAC 80241C1C 0C0B1EAF */ jal get_variable +/* D21AB0 80241C20 0280282D */ daddu $a1, $s4, $zero +/* D21AB4 80241C24 4482D000 */ mtc1 $v0, $f26 +/* D21AB8 80241C28 00000000 */ nop +/* D21ABC 80241C2C 4680D6A0 */ cvt.s.w $f26, $f26 +/* D21AC0 80241C30 8E100000 */ lw $s0, ($s0) +/* D21AC4 80241C34 0220202D */ daddu $a0, $s1, $zero +/* D21AC8 80241C38 0C0B1EAF */ jal get_variable +/* D21ACC 80241C3C 0200282D */ daddu $a1, $s0, $zero +/* D21AD0 80241C40 4482C000 */ mtc1 $v0, $f24 +/* D21AD4 80241C44 00000000 */ nop +/* D21AD8 80241C48 4680C620 */ cvt.s.w $f24, $f24 +/* D21ADC 80241C4C 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D21AE0 80241C50 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D21AE4 80241C54 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D21AE8 80241C58 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D21AEC 80241C5C C64200A8 */ lwc1 $f2, 0xa8($s2) +/* D21AF0 80241C60 44800000 */ mtc1 $zero, $f0 +/* D21AF4 80241C64 00031080 */ sll $v0, $v1, 2 +/* D21AF8 80241C68 00431021 */ addu $v0, $v0, $v1 +/* D21AFC 80241C6C 00021080 */ sll $v0, $v0, 2 +/* D21B00 80241C70 00431023 */ subu $v0, $v0, $v1 +/* D21B04 80241C74 000218C0 */ sll $v1, $v0, 3 +/* D21B08 80241C78 00431021 */ addu $v0, $v0, $v1 +/* D21B0C 80241C7C 000210C0 */ sll $v0, $v0, 3 +/* D21B10 80241C80 46001032 */ c.eq.s $f2, $f0 +/* D21B14 80241C84 3C01800B */ lui $at, 0x800b +/* D21B18 80241C88 00220821 */ addu $at, $at, $v0 +/* D21B1C 80241C8C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* D21B20 80241C90 45000005 */ bc1f .L80241CA8 +/* D21B24 80241C94 00000000 */ nop +/* D21B28 80241C98 3C0142C8 */ lui $at, 0x42c8 +/* D21B2C 80241C9C 44810000 */ mtc1 $at, $f0 +/* D21B30 80241CA0 0809072E */ j .L80241CB8 +/* D21B34 80241CA4 4600B581 */ sub.s $f22, $f22, $f0 +.L80241CA8: +/* D21B38 80241CA8 3C0142C8 */ lui $at, 0x42c8 +/* D21B3C 80241CAC 44810000 */ mtc1 $at, $f0 +/* D21B40 80241CB0 00000000 */ nop +/* D21B44 80241CB4 4600B580 */ add.s $f22, $f22, $f0 +.L80241CB8: +/* D21B48 80241CB8 0C00A6C9 */ jal clamp_angle +/* D21B4C 80241CBC 4600B306 */ mov.s $f12, $f22 +/* D21B50 80241CC0 46000586 */ mov.s $f22, $f0 +/* D21B54 80241CC4 3C014170 */ lui $at, 0x4170 +/* D21B58 80241CC8 4481A000 */ mtc1 $at, $f20 +/* D21B5C 80241CCC 0C00A8BB */ jal sin_deg +/* D21B60 80241CD0 4600B306 */ mov.s $f12, $f22 +/* D21B64 80241CD4 46140002 */ mul.s $f0, $f0, $f20 +/* D21B68 80241CD8 00000000 */ nop +/* D21B6C 80241CDC 864200B0 */ lh $v0, 0xb0($s2) +/* D21B70 80241CE0 3C013F00 */ lui $at, 0x3f00 +/* D21B74 80241CE4 44812000 */ mtc1 $at, $f4 +/* D21B78 80241CE8 44821000 */ mtc1 $v0, $f2 +/* D21B7C 80241CEC 00000000 */ nop +/* D21B80 80241CF0 468010A0 */ cvt.s.w $f2, $f2 +/* D21B84 80241CF4 46041082 */ mul.s $f2, $f2, $f4 +/* D21B88 80241CF8 00000000 */ nop +/* D21B8C 80241CFC 4600E700 */ add.s $f28, $f28, $f0 +/* D21B90 80241D00 4602D680 */ add.s $f26, $f26, $f2 +/* D21B94 80241D04 0C00A8D4 */ jal cos_deg +/* D21B98 80241D08 4600B306 */ mov.s $f12, $f22 +/* D21B9C 80241D0C 46140002 */ mul.s $f0, $f0, $f20 +/* D21BA0 80241D10 00000000 */ nop +/* D21BA4 80241D14 0220202D */ daddu $a0, $s1, $zero +/* D21BA8 80241D18 0260282D */ daddu $a1, $s3, $zero +/* D21BAC 80241D1C 4600E18D */ trunc.w.s $f6, $f28 +/* D21BB0 80241D20 44063000 */ mfc1 $a2, $f6 +/* D21BB4 80241D24 0C0B2026 */ jal set_variable +/* D21BB8 80241D28 4600C601 */ sub.s $f24, $f24, $f0 +/* D21BBC 80241D2C 0220202D */ daddu $a0, $s1, $zero +/* D21BC0 80241D30 4600D18D */ trunc.w.s $f6, $f26 +/* D21BC4 80241D34 44063000 */ mfc1 $a2, $f6 +/* D21BC8 80241D38 0C0B2026 */ jal set_variable +/* D21BCC 80241D3C 0280282D */ daddu $a1, $s4, $zero +/* D21BD0 80241D40 0220202D */ daddu $a0, $s1, $zero +/* D21BD4 80241D44 4600C18D */ trunc.w.s $f6, $f24 +/* D21BD8 80241D48 44063000 */ mfc1 $a2, $f6 +/* D21BDC 80241D4C 0C0B2026 */ jal set_variable +/* D21BE0 80241D50 0200282D */ daddu $a1, $s0, $zero +/* D21BE4 80241D54 8FBF0024 */ lw $ra, 0x24($sp) +/* D21BE8 80241D58 8FB40020 */ lw $s4, 0x20($sp) +/* D21BEC 80241D5C 8FB3001C */ lw $s3, 0x1c($sp) +/* D21BF0 80241D60 8FB20018 */ lw $s2, 0x18($sp) +/* D21BF4 80241D64 8FB10014 */ lw $s1, 0x14($sp) +/* D21BF8 80241D68 8FB00010 */ lw $s0, 0x10($sp) +/* D21BFC 80241D6C D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D21C00 80241D70 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D21C04 80241D74 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D21C08 80241D78 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D21C0C 80241D7C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D21C10 80241D80 24020002 */ addiu $v0, $zero, 2 +/* D21C14 80241D84 03E00008 */ jr $ra +/* D21C18 80241D88 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241D8C.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241D8C.s new file mode 100644 index 0000000000..99f2041940 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241D8C.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241D8C +/* D21C1C 80241D8C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21C20 80241D90 AFBF0010 */ sw $ra, 0x10($sp) +/* D21C24 80241D94 10A00003 */ beqz $a1, .L80241DA4 +/* D21C28 80241D98 8C86000C */ lw $a2, 0xc($a0) +/* D21C2C 80241D9C 3C018024 */ lui $at, 0x8024 +/* D21C30 80241DA0 AC204434 */ sw $zero, 0x4434($at) +.L80241DA4: +/* D21C34 80241DA4 3C038024 */ lui $v1, 0x8024 +/* D21C38 80241DA8 24634434 */ addiu $v1, $v1, 0x4434 +/* D21C3C 80241DAC 8C620000 */ lw $v0, ($v1) +/* D21C40 80241DB0 54400003 */ bnel $v0, $zero, .L80241DC0 +/* D21C44 80241DB4 AC600000 */ sw $zero, ($v1) +/* D21C48 80241DB8 08090775 */ j .L80241DD4 +/* D21C4C 80241DBC 0000102D */ daddu $v0, $zero, $zero +.L80241DC0: +/* D21C50 80241DC0 8CC50000 */ lw $a1, ($a2) +/* D21C54 80241DC4 3C068024 */ lui $a2, 0x8024 +/* D21C58 80241DC8 0C0B2026 */ jal set_variable +/* D21C5C 80241DCC 8CC64438 */ lw $a2, 0x4438($a2) +/* D21C60 80241DD0 24020002 */ addiu $v0, $zero, 2 +.L80241DD4: +/* D21C64 80241DD4 8FBF0010 */ lw $ra, 0x10($sp) +/* D21C68 80241DD8 03E00008 */ jr $ra +/* D21C6C 80241DDC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241DE0.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241DE0.s new file mode 100644 index 0000000000..1eeffc5d68 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241DE0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DE0 +/* D21C70 80241DE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21C74 80241DE4 AFBF0010 */ sw $ra, 0x10($sp) +/* D21C78 80241DE8 8C82000C */ lw $v0, 0xc($a0) +/* D21C7C 80241DEC 0C0B1EAF */ jal get_variable +/* D21C80 80241DF0 8C450000 */ lw $a1, ($v0) +/* D21C84 80241DF4 3C018024 */ lui $at, 0x8024 +/* D21C88 80241DF8 AC224438 */ sw $v0, 0x4438($at) +/* D21C8C 80241DFC 24020002 */ addiu $v0, $zero, 2 +/* D21C90 80241E00 8FBF0010 */ lw $ra, 0x10($sp) +/* D21C94 80241E04 24030001 */ addiu $v1, $zero, 1 +/* D21C98 80241E08 3C018024 */ lui $at, 0x8024 +/* D21C9C 80241E0C AC234434 */ sw $v1, 0x4434($at) +/* D21CA0 80241E10 03E00008 */ jr $ra +/* D21CA4 80241E14 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241E18_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241E18_D1FE90.s new file mode 100644 index 0000000000..60293759d9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241E18_D1FE90.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E18_D21CA8 +/* D21CA8 80241E18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21CAC 80241E1C AFBF0010 */ sw $ra, 0x10($sp) +/* D21CB0 80241E20 8C82000C */ lw $v0, 0xc($a0) +/* D21CB4 80241E24 0C0B1EAF */ jal get_variable +/* D21CB8 80241E28 8C450000 */ lw $a1, ($v0) +/* D21CBC 80241E2C 0040182D */ daddu $v1, $v0, $zero +/* D21CC0 80241E30 10600012 */ beqz $v1, .L80241E7C +/* D21CC4 80241E34 0000202D */ daddu $a0, $zero, $zero +/* D21CC8 80241E38 8C620000 */ lw $v0, ($v1) +/* D21CCC 80241E3C 5040000A */ beql $v0, $zero, .L80241E68 +/* D21CD0 80241E40 00041080 */ sll $v0, $a0, 2 +/* D21CD4 80241E44 3C058025 */ lui $a1, 0x8025 +/* D21CD8 80241E48 24A5BEA0 */ addiu $a1, $a1, -0x4160 +.L80241E4C: +/* D21CDC 80241E4C 24630004 */ addiu $v1, $v1, 4 +/* D21CE0 80241E50 24840001 */ addiu $a0, $a0, 1 +/* D21CE4 80241E54 ACA20000 */ sw $v0, ($a1) +/* D21CE8 80241E58 8C620000 */ lw $v0, ($v1) +/* D21CEC 80241E5C 1440FFFB */ bnez $v0, .L80241E4C +/* D21CF0 80241E60 24A50004 */ addiu $a1, $a1, 4 +/* D21CF4 80241E64 00041080 */ sll $v0, $a0, 2 +.L80241E68: +/* D21CF8 80241E68 3C018025 */ lui $at, 0x8025 +/* D21CFC 80241E6C 00220821 */ addu $at, $at, $v0 +/* D21D00 80241E70 AC20BEA0 */ sw $zero, -0x4160($at) +/* D21D04 80241E74 080907A9 */ j .L80241EA4 +/* D21D08 80241E78 00000000 */ nop +.L80241E7C: +/* D21D0C 80241E7C 3C038025 */ lui $v1, 0x8025 +/* D21D10 80241E80 2463BEA0 */ addiu $v1, $v1, -0x4160 +/* D21D14 80241E84 0060282D */ daddu $a1, $v1, $zero +.L80241E88: +/* D21D18 80241E88 24820010 */ addiu $v0, $a0, 0x10 +/* D21D1C 80241E8C AC620000 */ sw $v0, ($v1) +/* D21D20 80241E90 24630004 */ addiu $v1, $v1, 4 +/* D21D24 80241E94 24840001 */ addiu $a0, $a0, 1 +/* D21D28 80241E98 28820070 */ slti $v0, $a0, 0x70 +/* D21D2C 80241E9C 1440FFFA */ bnez $v0, .L80241E88 +/* D21D30 80241EA0 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241EA4: +/* D21D34 80241EA4 8FBF0010 */ lw $ra, 0x10($sp) +/* D21D38 80241EA8 24020002 */ addiu $v0, $zero, 2 +/* D21D3C 80241EAC 03E00008 */ jr $ra +/* D21D40 80241EB0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241EB4.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241EB4.s new file mode 100644 index 0000000000..8d5b56333b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241EB4.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241EB4 +/* D21D44 80241EB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21D48 80241EB8 AFBF0010 */ sw $ra, 0x10($sp) +/* D21D4C 80241EBC 8C82000C */ lw $v0, 0xc($a0) +/* D21D50 80241EC0 0C0B1EAF */ jal get_variable +/* D21D54 80241EC4 8C450000 */ lw $a1, ($v0) +/* D21D58 80241EC8 0040182D */ daddu $v1, $v0, $zero +/* D21D5C 80241ECC 10600012 */ beqz $v1, .L80241F18 +/* D21D60 80241ED0 0000202D */ daddu $a0, $zero, $zero +/* D21D64 80241ED4 8C620000 */ lw $v0, ($v1) +/* D21D68 80241ED8 5040000A */ beql $v0, $zero, .L80241F04 +/* D21D6C 80241EDC 00041080 */ sll $v0, $a0, 2 +/* D21D70 80241EE0 3C058025 */ lui $a1, 0x8025 +/* D21D74 80241EE4 24A5C068 */ addiu $a1, $a1, -0x3f98 +.L80241EE8: +/* D21D78 80241EE8 24630004 */ addiu $v1, $v1, 4 +/* D21D7C 80241EEC 24840001 */ addiu $a0, $a0, 1 +/* D21D80 80241EF0 ACA20000 */ sw $v0, ($a1) +/* D21D84 80241EF4 8C620000 */ lw $v0, ($v1) +/* D21D88 80241EF8 1440FFFB */ bnez $v0, .L80241EE8 +/* D21D8C 80241EFC 24A50004 */ addiu $a1, $a1, 4 +/* D21D90 80241F00 00041080 */ sll $v0, $a0, 2 +.L80241F04: +/* D21D94 80241F04 3C018025 */ lui $at, 0x8025 +/* D21D98 80241F08 00220821 */ addu $at, $at, $v0 +/* D21D9C 80241F0C AC20C068 */ sw $zero, -0x3f98($at) +/* D21DA0 80241F10 080907D0 */ j .L80241F40 +/* D21DA4 80241F14 00000000 */ nop +.L80241F18: +/* D21DA8 80241F18 3C038025 */ lui $v1, 0x8025 +/* D21DAC 80241F1C 2463C068 */ addiu $v1, $v1, -0x3f98 +/* D21DB0 80241F20 0060282D */ daddu $a1, $v1, $zero +.L80241F24: +/* D21DB4 80241F24 24820080 */ addiu $v0, $a0, 0x80 +/* D21DB8 80241F28 AC620000 */ sw $v0, ($v1) +/* D21DBC 80241F2C 24630004 */ addiu $v1, $v1, 4 +/* D21DC0 80241F30 24840001 */ addiu $a0, $a0, 1 +/* D21DC4 80241F34 2882005B */ slti $v0, $a0, 0x5b +/* D21DC8 80241F38 1440FFFA */ bnez $v0, .L80241F24 +/* D21DCC 80241F3C ACA0016C */ sw $zero, 0x16c($a1) +.L80241F40: +/* D21DD0 80241F40 8FBF0010 */ lw $ra, 0x10($sp) +/* D21DD4 80241F44 24020002 */ addiu $v0, $zero, 2 +/* D21DD8 80241F48 03E00008 */ jr $ra +/* D21DDC 80241F4C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241F50.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241F50.s new file mode 100644 index 0000000000..72b510cae1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241F50.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F50 +/* D21DE0 80241F50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21DE4 80241F54 AFBF0010 */ sw $ra, 0x10($sp) +/* D21DE8 80241F58 0C03A625 */ jal func_800E9894 +/* D21DEC 80241F5C 00000000 */ nop +/* D21DF0 80241F60 8FBF0010 */ lw $ra, 0x10($sp) +/* D21DF4 80241F64 24020002 */ addiu $v0, $zero, 2 +/* D21DF8 80241F68 03E00008 */ jr $ra +/* D21DFC 80241F6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241F70.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241F70.s new file mode 100644 index 0000000000..4aecfd62c8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241F70.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F70 +/* D21E00 80241F70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21E04 80241F74 AFBF0010 */ sw $ra, 0x10($sp) +/* D21E08 80241F78 0C03A631 */ jal func_800E98C4 +/* D21E0C 80241F7C 00000000 */ nop +/* D21E10 80241F80 0C03A6DB */ jal sync_status_menu +/* D21E14 80241F84 00000000 */ nop +/* D21E18 80241F88 8FBF0010 */ lw $ra, 0x10($sp) +/* D21E1C 80241F8C 24020002 */ addiu $v0, $zero, 2 +/* D21E20 80241F90 03E00008 */ jr $ra +/* D21E24 80241F94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80241F98_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80241F98_D1FE90.s new file mode 100644 index 0000000000..df06c2432d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80241F98_D1FE90.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241F98_D21E28 +/* D21E28 80241F98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D21E2C 80241F9C AFB10014 */ sw $s1, 0x14($sp) +/* D21E30 80241FA0 0080882D */ daddu $s1, $a0, $zero +/* D21E34 80241FA4 AFBF0018 */ sw $ra, 0x18($sp) +/* D21E38 80241FA8 AFB00010 */ sw $s0, 0x10($sp) +/* D21E3C 80241FAC 8E30000C */ lw $s0, 0xc($s1) +/* D21E40 80241FB0 8E050000 */ lw $a1, ($s0) +/* D21E44 80241FB4 0C0B1EAF */ jal get_variable +/* D21E48 80241FB8 26100004 */ addiu $s0, $s0, 4 +/* D21E4C 80241FBC 0220202D */ daddu $a0, $s1, $zero +/* D21E50 80241FC0 8E050000 */ lw $a1, ($s0) +/* D21E54 80241FC4 0C0B1EAF */ jal get_variable +/* D21E58 80241FC8 0040882D */ daddu $s1, $v0, $zero +/* D21E5C 80241FCC 0000202D */ daddu $a0, $zero, $zero +/* D21E60 80241FD0 0080282D */ daddu $a1, $a0, $zero +/* D21E64 80241FD4 0040802D */ daddu $s0, $v0, $zero +/* D21E68 80241FD8 240600BE */ addiu $a2, $zero, 0xbe +/* D21E6C 80241FDC 0C04DF93 */ jal func_80137E4C +/* D21E70 80241FE0 24070091 */ addiu $a3, $zero, 0x91 +/* D21E74 80241FE4 44900000 */ mtc1 $s0, $f0 +/* D21E78 80241FE8 00000000 */ nop +/* D21E7C 80241FEC 46800020 */ cvt.s.w $f0, $f0 +/* D21E80 80241FF0 44050000 */ mfc1 $a1, $f0 +/* D21E84 80241FF4 0C04DF62 */ jal func_80137D88 +/* D21E88 80241FF8 322400FF */ andi $a0, $s1, 0xff +/* D21E8C 80241FFC 8FBF0018 */ lw $ra, 0x18($sp) +/* D21E90 80242000 8FB10014 */ lw $s1, 0x14($sp) +/* D21E94 80242004 8FB00010 */ lw $s0, 0x10($sp) +/* D21E98 80242008 24020002 */ addiu $v0, $zero, 2 +/* D21E9C 8024200C 03E00008 */ jr $ra +/* D21EA0 80242010 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242014_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242014_D1FE90.s new file mode 100644 index 0000000000..e330cdda4a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242014_D1FE90.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242014_D21EA4 +/* D21EA4 80242014 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D21EA8 80242018 AFB10014 */ sw $s1, 0x14($sp) +/* D21EAC 8024201C 0080882D */ daddu $s1, $a0, $zero +/* D21EB0 80242020 AFBF0018 */ sw $ra, 0x18($sp) +/* D21EB4 80242024 AFB00010 */ sw $s0, 0x10($sp) +/* D21EB8 80242028 8E30000C */ lw $s0, 0xc($s1) +/* D21EBC 8024202C 8E050000 */ lw $a1, ($s0) +/* D21EC0 80242030 0C0B1EAF */ jal get_variable +/* D21EC4 80242034 26100004 */ addiu $s0, $s0, 4 +/* D21EC8 80242038 0220202D */ daddu $a0, $s1, $zero +/* D21ECC 8024203C 8E050000 */ lw $a1, ($s0) +/* D21ED0 80242040 0C0B1EAF */ jal get_variable +/* D21ED4 80242044 0040802D */ daddu $s0, $v0, $zero +/* D21ED8 80242048 44820000 */ mtc1 $v0, $f0 +/* D21EDC 8024204C 00000000 */ nop +/* D21EE0 80242050 46800020 */ cvt.s.w $f0, $f0 +/* D21EE4 80242054 24020002 */ addiu $v0, $zero, 2 +/* D21EE8 80242058 00501804 */ sllv $v1, $s0, $v0 +/* D21EEC 8024205C 00701821 */ addu $v1, $v1, $s0 +/* D21EF0 80242060 00431804 */ sllv $v1, $v1, $v0 +/* D21EF4 80242064 00701823 */ subu $v1, $v1, $s0 +/* D21EF8 80242068 000320C0 */ sll $a0, $v1, 3 +/* D21EFC 8024206C 00641821 */ addu $v1, $v1, $a0 +/* D21F00 80242070 000318C0 */ sll $v1, $v1, 3 +/* D21F04 80242074 3C01800B */ lui $at, 0x800b +/* D21F08 80242078 00230821 */ addu $at, $at, $v1 +/* D21F0C 8024207C E4201D98 */ swc1 $f0, 0x1d98($at) +/* D21F10 80242080 8FBF0018 */ lw $ra, 0x18($sp) +/* D21F14 80242084 8FB10014 */ lw $s1, 0x14($sp) +/* D21F18 80242088 8FB00010 */ lw $s0, 0x10($sp) +/* D21F1C 8024208C 03E00008 */ jr $ra +/* D21F20 80242090 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242094.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242094.s new file mode 100644 index 0000000000..06117a0259 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242094.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242094 +/* D21F24 80242094 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21F28 80242098 AFBF0010 */ sw $ra, 0x10($sp) +/* D21F2C 8024209C 8C82000C */ lw $v0, 0xc($a0) +/* D21F30 802420A0 0C0B1EAF */ jal get_variable +/* D21F34 802420A4 8C450000 */ lw $a1, ($v0) +/* D21F38 802420A8 0C0B1059 */ jal does_script_exist +/* D21F3C 802420AC 0040202D */ daddu $a0, $v0, $zero +/* D21F40 802420B0 2C420001 */ sltiu $v0, $v0, 1 +/* D21F44 802420B4 8FBF0010 */ lw $ra, 0x10($sp) +/* D21F48 802420B8 00021040 */ sll $v0, $v0, 1 +/* D21F4C 802420BC 03E00008 */ jr $ra +/* D21F50 802420C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802420C4.s b/asm/nonmatchings/world/area_sam/sam_06/func_802420C4.s new file mode 100644 index 0000000000..e912ede6cf --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802420C4.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420C4 +/* D21F54 802420C4 3C028011 */ lui $v0, 0x8011 +/* D21F58 802420C8 8042F2A2 */ lb $v0, -0xd5e($v0) +/* D21F5C 802420CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21F60 802420D0 10400003 */ beqz $v0, .L802420E0 +/* D21F64 802420D4 AFBF0010 */ sw $ra, 0x10($sp) +/* D21F68 802420D8 0C03AE06 */ jal partner_suspend_ability_script +/* D21F6C 802420DC 00000000 */ nop +.L802420E0: +/* D21F70 802420E0 24020002 */ addiu $v0, $zero, 2 +/* D21F74 802420E4 8FBF0010 */ lw $ra, 0x10($sp) +/* D21F78 802420E8 03E00008 */ jr $ra +/* D21F7C 802420EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802420F0_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_802420F0_D1FE90.s new file mode 100644 index 0000000000..0ae571f005 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802420F0_D1FE90.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420F0_D21F80 +/* D21F80 802420F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D21F84 802420F4 AFBF0010 */ sw $ra, 0x10($sp) +/* D21F88 802420F8 0C03AE18 */ jal partner_resume_ability_script +/* D21F8C 802420FC 00000000 */ nop +/* D21F90 80242100 8FBF0010 */ lw $ra, 0x10($sp) +/* D21F94 80242104 24020002 */ addiu $v0, $zero, 2 +/* D21F98 80242108 03E00008 */ jr $ra +/* D21F9C 8024210C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242110.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242110.s new file mode 100644 index 0000000000..24bbe36e28 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242110.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242110 +/* D21FA0 80242110 3C058011 */ lui $a1, %hi(gPlayerData) +/* D21FA4 80242114 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData) +/* D21FA8 80242118 AC800088 */ sw $zero, 0x88($a0) +/* D21FAC 8024211C 80A30003 */ lb $v1, 3($a1) +/* D21FB0 80242120 80A20002 */ lb $v0, 2($a1) +/* D21FB4 80242124 1462000B */ bne $v1, $v0, .L80242154 +/* D21FB8 80242128 00A0302D */ daddu $a2, $a1, $zero +/* D21FBC 8024212C 80A30006 */ lb $v1, 6($a1) +/* D21FC0 80242130 80A20005 */ lb $v0, 5($a1) +/* D21FC4 80242134 14620007 */ bne $v1, $v0, .L80242154 +/* D21FC8 80242138 00000000 */ nop +/* D21FCC 8024213C 80C2028E */ lb $v0, 0x28e($a2) +/* D21FD0 80242140 84C30290 */ lh $v1, 0x290($a2) +/* D21FD4 80242144 00021200 */ sll $v0, $v0, 8 +/* D21FD8 80242148 14620004 */ bne $v1, $v0, .L8024215C +/* D21FDC 8024214C 24020001 */ addiu $v0, $zero, 1 +/* D21FE0 80242150 AC820088 */ sw $v0, 0x88($a0) +.L80242154: +/* D21FE4 80242154 03E00008 */ jr $ra +/* D21FE8 80242158 24020002 */ addiu $v0, $zero, 2 +.L8024215C: +/* D21FEC 8024215C 03E00008 */ jr $ra +/* D21FF0 80242160 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242164.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242164.s new file mode 100644 index 0000000000..dd11a4a102 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242164.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242164 +/* D21FF4 80242164 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D21FF8 80242168 AFB10014 */ sw $s1, 0x14($sp) +/* D21FFC 8024216C 0080882D */ daddu $s1, $a0, $zero +/* D22000 80242170 AFBF001C */ sw $ra, 0x1c($sp) +/* D22004 80242174 AFB20018 */ sw $s2, 0x18($sp) +/* D22008 80242178 AFB00010 */ sw $s0, 0x10($sp) +/* D2200C 8024217C 8E30000C */ lw $s0, 0xc($s1) +/* D22010 80242180 8E050000 */ lw $a1, ($s0) +/* D22014 80242184 0C0B1EAF */ jal get_variable +/* D22018 80242188 26100004 */ addiu $s0, $s0, 4 +/* D2201C 8024218C 8E050000 */ lw $a1, ($s0) +/* D22020 80242190 26100004 */ addiu $s0, $s0, 4 +/* D22024 80242194 0220202D */ daddu $a0, $s1, $zero +/* D22028 80242198 0C0B1EAF */ jal get_variable +/* D2202C 8024219C 0040902D */ daddu $s2, $v0, $zero +/* D22030 802421A0 0220202D */ daddu $a0, $s1, $zero +/* D22034 802421A4 8E050000 */ lw $a1, ($s0) +/* D22038 802421A8 0C0B1EAF */ jal get_variable +/* D2203C 802421AC 0040802D */ daddu $s0, $v0, $zero +/* D22040 802421B0 0000202D */ daddu $a0, $zero, $zero +/* D22044 802421B4 324500FF */ andi $a1, $s2, 0xff +/* D22048 802421B8 320600FF */ andi $a2, $s0, 0xff +/* D2204C 802421BC 0C04DF84 */ jal func_80137E10 +/* D22050 802421C0 304700FF */ andi $a3, $v0, 0xff +/* D22054 802421C4 8FBF001C */ lw $ra, 0x1c($sp) +/* D22058 802421C8 8FB20018 */ lw $s2, 0x18($sp) +/* D2205C 802421CC 8FB10014 */ lw $s1, 0x14($sp) +/* D22060 802421D0 8FB00010 */ lw $s0, 0x10($sp) +/* D22064 802421D4 24020002 */ addiu $v0, $zero, 2 +/* D22068 802421D8 03E00008 */ jr $ra +/* D2206C 802421DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802421E0_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_802421E0_D1FE90.s new file mode 100644 index 0000000000..f3a6d4f68c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802421E0_D1FE90.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421E0_D22070 +/* D22070 802421E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D22074 802421E4 AFBF0010 */ sw $ra, 0x10($sp) +/* D22078 802421E8 8C82000C */ lw $v0, 0xc($a0) +/* D2207C 802421EC 3C068011 */ lui $a2, 0x8011 +/* D22080 802421F0 80C6F2A2 */ lb $a2, -0xd5e($a2) +/* D22084 802421F4 0C0B2026 */ jal set_variable +/* D22088 802421F8 8C450000 */ lw $a1, ($v0) +/* D2208C 802421FC 0C03AC5A */ jal func_800EB168 +/* D22090 80242200 0000202D */ daddu $a0, $zero, $zero +/* D22094 80242204 8FBF0010 */ lw $ra, 0x10($sp) +/* D22098 80242208 24020002 */ addiu $v0, $zero, 2 +/* D2209C 8024220C 03E00008 */ jr $ra +/* D220A0 80242210 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242214_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242214_D1FE90.s new file mode 100644 index 0000000000..75756157e8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242214_D1FE90.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242214_D220A4 +/* D220A4 80242214 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D220A8 80242218 AFBF0010 */ sw $ra, 0x10($sp) +/* D220AC 8024221C 8C82000C */ lw $v0, 0xc($a0) +/* D220B0 80242220 0C0B1EAF */ jal get_variable +/* D220B4 80242224 8C450000 */ lw $a1, ($v0) +/* D220B8 80242228 00021600 */ sll $v0, $v0, 0x18 +/* D220BC 8024222C 0C03AC5A */ jal func_800EB168 +/* D220C0 80242230 00022603 */ sra $a0, $v0, 0x18 +/* D220C4 80242234 8FBF0010 */ lw $ra, 0x10($sp) +/* D220C8 80242238 24020002 */ addiu $v0, $zero, 2 +/* D220CC 8024223C 03E00008 */ jr $ra +/* D220D0 80242240 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242244.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242244.s new file mode 100644 index 0000000000..8180cf67d5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242244.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242244 +/* D220D4 80242244 03E00008 */ jr $ra +/* D220D8 80242248 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024224C.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024224C.s new file mode 100644 index 0000000000..8c15aafb9e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024224C.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024224C +/* D220DC 8024224C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D220E0 80242250 AFB10014 */ sw $s1, 0x14($sp) +/* D220E4 80242254 0080882D */ daddu $s1, $a0, $zero +/* D220E8 80242258 AFBF0018 */ sw $ra, 0x18($sp) +/* D220EC 8024225C AFB00010 */ sw $s0, 0x10($sp) +/* D220F0 80242260 8E30000C */ lw $s0, 0xc($s1) +/* D220F4 80242264 8E050000 */ lw $a1, ($s0) +/* D220F8 80242268 0C0B1EAF */ jal get_variable +/* D220FC 8024226C 26100004 */ addiu $s0, $s0, 4 +/* D22100 80242270 AE22008C */ sw $v0, 0x8c($s1) +/* D22104 80242274 8E050000 */ lw $a1, ($s0) +/* D22108 80242278 26100004 */ addiu $s0, $s0, 4 +/* D2210C 8024227C 0C0B1EAF */ jal get_variable +/* D22110 80242280 0220202D */ daddu $a0, $s1, $zero +/* D22114 80242284 AE220090 */ sw $v0, 0x90($s1) +/* D22118 80242288 8E050000 */ lw $a1, ($s0) +/* D2211C 8024228C 26100004 */ addiu $s0, $s0, 4 +/* D22120 80242290 0C0B1EAF */ jal get_variable +/* D22124 80242294 0220202D */ daddu $a0, $s1, $zero +/* D22128 80242298 AE220094 */ sw $v0, 0x94($s1) +/* D2212C 8024229C 8E050000 */ lw $a1, ($s0) +/* D22130 802422A0 26100004 */ addiu $s0, $s0, 4 +/* D22134 802422A4 0C0B1EAF */ jal get_variable +/* D22138 802422A8 0220202D */ daddu $a0, $s1, $zero +/* D2213C 802422AC AE220098 */ sw $v0, 0x98($s1) +/* D22140 802422B0 8E050000 */ lw $a1, ($s0) +/* D22144 802422B4 26100004 */ addiu $s0, $s0, 4 +/* D22148 802422B8 0C0B1EAF */ jal get_variable +/* D2214C 802422BC 0220202D */ daddu $a0, $s1, $zero +/* D22150 802422C0 AE22009C */ sw $v0, 0x9c($s1) +/* D22154 802422C4 8E050000 */ lw $a1, ($s0) +/* D22158 802422C8 26100004 */ addiu $s0, $s0, 4 +/* D2215C 802422CC 0C0B1EAF */ jal get_variable +/* D22160 802422D0 0220202D */ daddu $a0, $s1, $zero +/* D22164 802422D4 AE2200A0 */ sw $v0, 0xa0($s1) +/* D22168 802422D8 8E050000 */ lw $a1, ($s0) +/* D2216C 802422DC 26100004 */ addiu $s0, $s0, 4 +/* D22170 802422E0 0C0B1EAF */ jal get_variable +/* D22174 802422E4 0220202D */ daddu $a0, $s1, $zero +/* D22178 802422E8 AE2200A4 */ sw $v0, 0xa4($s1) +/* D2217C 802422EC 8E050000 */ lw $a1, ($s0) +/* D22180 802422F0 26100004 */ addiu $s0, $s0, 4 +/* D22184 802422F4 0C0B1EAF */ jal get_variable +/* D22188 802422F8 0220202D */ daddu $a0, $s1, $zero +/* D2218C 802422FC AE2200A8 */ sw $v0, 0xa8($s1) +/* D22190 80242300 8E050000 */ lw $a1, ($s0) +/* D22194 80242304 26100004 */ addiu $s0, $s0, 4 +/* D22198 80242308 0C0B1EAF */ jal get_variable +/* D2219C 8024230C 0220202D */ daddu $a0, $s1, $zero +/* D221A0 80242310 AE2200AC */ sw $v0, 0xac($s1) +/* D221A4 80242314 8E050000 */ lw $a1, ($s0) +/* D221A8 80242318 0C0B1EAF */ jal get_variable +/* D221AC 8024231C 0220202D */ daddu $a0, $s1, $zero +/* D221B0 80242320 AE2200B0 */ sw $v0, 0xb0($s1) +/* D221B4 80242324 8FBF0018 */ lw $ra, 0x18($sp) +/* D221B8 80242328 8FB10014 */ lw $s1, 0x14($sp) +/* D221BC 8024232C 8FB00010 */ lw $s0, 0x10($sp) +/* D221C0 80242330 24020002 */ addiu $v0, $zero, 2 +/* D221C4 80242334 03E00008 */ jr $ra +/* D221C8 80242338 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024233C_D1FE90.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024233C_D1FE90.s new file mode 100644 index 0000000000..e7dedc7441 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024233C_D1FE90.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024233C_D221CC +/* D221CC 8024233C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D221D0 80242340 AFB1001C */ sw $s1, 0x1c($sp) +/* D221D4 80242344 0080882D */ daddu $s1, $a0, $zero +/* D221D8 80242348 AFBF0034 */ sw $ra, 0x34($sp) +/* D221DC 8024234C AFB60030 */ sw $s6, 0x30($sp) +/* D221E0 80242350 AFB5002C */ sw $s5, 0x2c($sp) +/* D221E4 80242354 AFB40028 */ sw $s4, 0x28($sp) +/* D221E8 80242358 AFB30024 */ sw $s3, 0x24($sp) +/* D221EC 8024235C AFB20020 */ sw $s2, 0x20($sp) +/* D221F0 80242360 AFB00018 */ sw $s0, 0x18($sp) +/* D221F4 80242364 F7B60040 */ sdc1 $f22, 0x40($sp) +/* D221F8 80242368 F7B40038 */ sdc1 $f20, 0x38($sp) +/* D221FC 8024236C 8E30000C */ lw $s0, 0xc($s1) +/* D22200 80242370 8E160000 */ lw $s6, ($s0) +/* D22204 80242374 26100004 */ addiu $s0, $s0, 4 +/* D22208 80242378 0C0B1EAF */ jal get_variable +/* D2220C 8024237C 02C0282D */ daddu $a1, $s6, $zero +/* D22210 80242380 44820000 */ mtc1 $v0, $f0 +/* D22214 80242384 00000000 */ nop +/* D22218 80242388 46800020 */ cvt.s.w $f0, $f0 +/* D2221C 8024238C E7A00010 */ swc1 $f0, 0x10($sp) +/* D22220 80242390 8E140000 */ lw $s4, ($s0) +/* D22224 80242394 26100004 */ addiu $s0, $s0, 4 +/* D22228 80242398 0220202D */ daddu $a0, $s1, $zero +/* D2222C 8024239C 0C0B1EAF */ jal get_variable +/* D22230 802423A0 0280282D */ daddu $a1, $s4, $zero +/* D22234 802423A4 0220202D */ daddu $a0, $s1, $zero +/* D22238 802423A8 8E150000 */ lw $s5, ($s0) +/* D2223C 802423AC 4482B000 */ mtc1 $v0, $f22 +/* D22240 802423B0 00000000 */ nop +/* D22244 802423B4 4680B5A0 */ cvt.s.w $f22, $f22 +/* D22248 802423B8 0C0B1EAF */ jal get_variable +/* D2224C 802423BC 02A0282D */ daddu $a1, $s5, $zero +/* D22250 802423C0 2404FFFC */ addiu $a0, $zero, -4 +/* D22254 802423C4 44820000 */ mtc1 $v0, $f0 +/* D22258 802423C8 00000000 */ nop +/* D2225C 802423CC 46800020 */ cvt.s.w $f0, $f0 +/* D22260 802423D0 0C00EABB */ jal get_npc_unsafe +/* D22264 802423D4 E7A00014 */ swc1 $f0, 0x14($sp) +/* D22268 802423D8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* D2226C 802423DC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* D22270 802423E0 3C014334 */ lui $at, 0x4334 +/* D22274 802423E4 44816000 */ mtc1 $at, $f12 +/* D22278 802423E8 00041880 */ sll $v1, $a0, 2 +/* D2227C 802423EC 00641821 */ addu $v1, $v1, $a0 +/* D22280 802423F0 00031880 */ sll $v1, $v1, 2 +/* D22284 802423F4 00641823 */ subu $v1, $v1, $a0 +/* D22288 802423F8 000320C0 */ sll $a0, $v1, 3 +/* D2228C 802423FC 00641821 */ addu $v1, $v1, $a0 +/* D22290 80242400 000318C0 */ sll $v1, $v1, 3 +/* D22294 80242404 3C01800B */ lui $at, 0x800b +/* D22298 80242408 00230821 */ addu $at, $at, $v1 +/* D2229C 8024240C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D222A0 80242410 460C0300 */ add.s $f12, $f0, $f12 +/* D222A4 80242414 0C00A6C9 */ jal clamp_angle +/* D222A8 80242418 0040982D */ daddu $s3, $v0, $zero +/* D222AC 8024241C 27B00010 */ addiu $s0, $sp, 0x10 +/* D222B0 80242420 0200202D */ daddu $a0, $s0, $zero +/* D222B4 80242424 27B20014 */ addiu $s2, $sp, 0x14 +/* D222B8 80242428 0240282D */ daddu $a1, $s2, $zero +/* D222BC 8024242C 3C064170 */ lui $a2, 0x4170 +/* D222C0 80242430 8E67000C */ lw $a3, 0xc($s3) +/* D222C4 80242434 0C00A7E7 */ jal add_vec2D_polar +/* D222C8 80242438 46000506 */ mov.s $f20, $f0 +/* D222CC 8024243C 0200202D */ daddu $a0, $s0, $zero +/* D222D0 80242440 3C064120 */ lui $a2, 0x4120 +/* D222D4 80242444 4407A000 */ mfc1 $a3, $f20 +/* D222D8 80242448 0C00A7E7 */ jal add_vec2D_polar +/* D222DC 8024244C 0240282D */ daddu $a1, $s2, $zero +/* D222E0 80242450 0220202D */ daddu $a0, $s1, $zero +/* D222E4 80242454 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D222E8 80242458 4600008D */ trunc.w.s $f2, $f0 +/* D222EC 8024245C 44061000 */ mfc1 $a2, $f2 +/* D222F0 80242460 0C0B2026 */ jal set_variable +/* D222F4 80242464 02C0282D */ daddu $a1, $s6, $zero +/* D222F8 80242468 0220202D */ daddu $a0, $s1, $zero +/* D222FC 8024246C 4600B08D */ trunc.w.s $f2, $f22 +/* D22300 80242470 44061000 */ mfc1 $a2, $f2 +/* D22304 80242474 0C0B2026 */ jal set_variable +/* D22308 80242478 0280282D */ daddu $a1, $s4, $zero +/* D2230C 8024247C 0220202D */ daddu $a0, $s1, $zero +/* D22310 80242480 C7A00014 */ lwc1 $f0, 0x14($sp) +/* D22314 80242484 4600008D */ trunc.w.s $f2, $f0 +/* D22318 80242488 44061000 */ mfc1 $a2, $f2 +/* D2231C 8024248C 0C0B2026 */ jal set_variable +/* D22320 80242490 02A0282D */ daddu $a1, $s5, $zero +/* D22324 80242494 8FBF0034 */ lw $ra, 0x34($sp) +/* D22328 80242498 8FB60030 */ lw $s6, 0x30($sp) +/* D2232C 8024249C 8FB5002C */ lw $s5, 0x2c($sp) +/* D22330 802424A0 8FB40028 */ lw $s4, 0x28($sp) +/* D22334 802424A4 8FB30024 */ lw $s3, 0x24($sp) +/* D22338 802424A8 8FB20020 */ lw $s2, 0x20($sp) +/* D2233C 802424AC 8FB1001C */ lw $s1, 0x1c($sp) +/* D22340 802424B0 8FB00018 */ lw $s0, 0x18($sp) +/* D22344 802424B4 D7B60040 */ ldc1 $f22, 0x40($sp) +/* D22348 802424B8 D7B40038 */ ldc1 $f20, 0x38($sp) +/* D2234C 802424BC 24020002 */ addiu $v0, $zero, 2 +/* D22350 802424C0 03E00008 */ jr $ra +/* D22354 802424C4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_802424C8.s b/asm/nonmatchings/world/area_sam/sam_06/func_802424C8.s new file mode 100644 index 0000000000..328321e5df --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_802424C8.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802424C8 +/* D22358 802424C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D2235C 802424CC AFB00010 */ sw $s0, 0x10($sp) +/* D22360 802424D0 0080802D */ daddu $s0, $a0, $zero +/* D22364 802424D4 AFBF0014 */ sw $ra, 0x14($sp) +/* D22368 802424D8 0C00EABB */ jal get_npc_unsafe +/* D2236C 802424DC 8E04008C */ lw $a0, 0x8c($s0) +/* D22370 802424E0 0040282D */ daddu $a1, $v0, $zero +/* D22374 802424E4 8E040094 */ lw $a0, 0x94($s0) +/* D22378 802424E8 8CA30028 */ lw $v1, 0x28($a1) +/* D2237C 802424EC ACA40028 */ sw $a0, 0x28($a1) +/* D22380 802424F0 8FBF0014 */ lw $ra, 0x14($sp) +/* D22384 802424F4 8FB00010 */ lw $s0, 0x10($sp) +/* D22388 802424F8 24020002 */ addiu $v0, $zero, 2 +/* D2238C 802424FC 3C018025 */ lui $at, 0x8025 +/* D22390 80242500 AC23C1D8 */ sw $v1, -0x3e28($at) +/* D22394 80242504 03E00008 */ jr $ra +/* D22398 80242508 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_8024250C.s b/asm/nonmatchings/world/area_sam/sam_06/func_8024250C.s new file mode 100644 index 0000000000..75c22d28b2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_8024250C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024250C +/* D2239C 8024250C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D223A0 80242510 AFBF0010 */ sw $ra, 0x10($sp) +/* D223A4 80242514 0C00EABB */ jal get_npc_unsafe +/* D223A8 80242518 8C84008C */ lw $a0, 0x8c($a0) +/* D223AC 8024251C 3C038025 */ lui $v1, 0x8025 +/* D223B0 80242520 8C63C1D8 */ lw $v1, -0x3e28($v1) +/* D223B4 80242524 AC430028 */ sw $v1, 0x28($v0) +/* D223B8 80242528 8FBF0010 */ lw $ra, 0x10($sp) +/* D223BC 8024252C 24020002 */ addiu $v0, $zero, 2 +/* D223C0 80242530 03E00008 */ jr $ra +/* D223C4 80242534 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_06/func_80242538.s b/asm/nonmatchings/world/area_sam/sam_06/func_80242538.s new file mode 100644 index 0000000000..d716536d65 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_06/func_80242538.s @@ -0,0 +1,67 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242538 +/* D223C8 80242538 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D223CC 8024253C AFB00010 */ sw $s0, 0x10($sp) +/* D223D0 80242540 0080802D */ daddu $s0, $a0, $zero +/* D223D4 80242544 10A0000A */ beqz $a1, .L80242570 +/* D223D8 80242548 AFBF0014 */ sw $ra, 0x14($sp) +/* D223DC 8024254C 8E020084 */ lw $v0, 0x84($s0) +/* D223E0 80242550 54400007 */ bnel $v0, $zero, .L80242570 +/* D223E4 80242554 AE000070 */ sw $zero, 0x70($s0) +/* D223E8 80242558 960400C2 */ lhu $a0, 0xc2($s0) +/* D223EC 8024255C 2405FFFF */ addiu $a1, $zero, -1 +/* D223F0 80242560 24060001 */ addiu $a2, $zero, 1 +/* D223F4 80242564 0C046E54 */ jal func_8011B950 +/* D223F8 80242568 00C0382D */ daddu $a3, $a2, $zero +/* D223FC 8024256C AE000070 */ sw $zero, 0x70($s0) +.L80242570: +/* D22400 80242570 8E020070 */ lw $v0, 0x70($s0) +/* D22404 80242574 24420020 */ addiu $v0, $v0, 0x20 +/* D22408 80242578 AE020070 */ sw $v0, 0x70($s0) +/* D2240C 8024257C 28420100 */ slti $v0, $v0, 0x100 +/* D22410 80242580 14400002 */ bnez $v0, .L8024258C +/* D22414 80242584 240200FF */ addiu $v0, $zero, 0xff +/* D22418 80242588 AE020070 */ sw $v0, 0x70($s0) +.L8024258C: +/* D2241C 8024258C 8E020084 */ lw $v0, 0x84($s0) +/* D22420 80242590 14400004 */ bnez $v0, .L802425A4 +/* D22424 80242594 240200FF */ addiu $v0, $zero, 0xff +/* D22428 80242598 8E020070 */ lw $v0, 0x70($s0) +/* D2242C 8024259C 0809096C */ j .L802425B0 +/* D22430 802425A0 0000202D */ daddu $a0, $zero, $zero +.L802425A4: +/* D22434 802425A4 8E030070 */ lw $v1, 0x70($s0) +/* D22438 802425A8 00431023 */ subu $v0, $v0, $v1 +/* D2243C 802425AC 0000202D */ daddu $a0, $zero, $zero +.L802425B0: +/* D22440 802425B0 0080282D */ daddu $a1, $a0, $zero +/* D22444 802425B4 0080302D */ daddu $a2, $a0, $zero +/* D22448 802425B8 0C046F97 */ jal set_background_color_blend +/* D2244C 802425BC 304700FF */ andi $a3, $v0, 0xff +/* D22450 802425C0 3C02800B */ lui $v0, %hi(gCameras) +/* D22454 802425C4 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* D22458 802425C8 A440002C */ sh $zero, 0x2c($v0) +/* D2245C 802425CC A440002E */ sh $zero, 0x2e($v0) +/* D22460 802425D0 A4400030 */ sh $zero, 0x30($v0) +/* D22464 802425D4 8E020070 */ lw $v0, 0x70($s0) +/* D22468 802425D8 284200FF */ slti $v0, $v0, 0xff +/* D2246C 802425DC 1440000B */ bnez $v0, .L8024260C +/* D22470 802425E0 0000102D */ daddu $v0, $zero, $zero +/* D22474 802425E4 8E030084 */ lw $v1, 0x84($s0) +/* D22478 802425E8 24020003 */ addiu $v0, $zero, 3 +/* D2247C 802425EC 14620007 */ bne $v1, $v0, .L8024260C +/* D22480 802425F0 24020002 */ addiu $v0, $zero, 2 +/* D22484 802425F4 960400C2 */ lhu $a0, 0xc2($s0) +/* D22488 802425F8 2405FFFF */ addiu $a1, $zero, -1 +/* D2248C 802425FC 0000302D */ daddu $a2, $zero, $zero +/* D22490 80242600 0C046E54 */ jal func_8011B950 +/* D22494 80242604 24070001 */ addiu $a3, $zero, 1 +/* D22498 80242608 24020002 */ addiu $v0, $zero, 2 +.L8024260C: +/* D2249C 8024260C 8FBF0014 */ lw $ra, 0x14($sp) +/* D224A0 80242610 8FB00010 */ lw $s0, 0x10($sp) +/* D224A4 80242614 03E00008 */ jr $ra +/* D224A8 80242618 27BD0018 */ addiu $sp, $sp, 0x18 +/* D224AC 8024261C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240000_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240000_D2BD30.s new file mode 100644 index 0000000000..2c3a263af6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240000_D2BD30.s @@ -0,0 +1,288 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D2BD30 +/* D2BD30 80240000 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* D2BD34 80240004 AFB70134 */ sw $s7, 0x134($sp) +/* D2BD38 80240008 AFBE0138 */ sw $fp, 0x138($sp) +/* D2BD3C 8024000C 3C1E8011 */ lui $fp, %hi(gPlayerStatus) +/* D2BD40 80240010 27DEEFC8 */ addiu $fp, $fp, %lo(gPlayerStatus) +/* D2BD44 80240014 AFBF013C */ sw $ra, 0x13c($sp) +/* D2BD48 80240018 AFB60130 */ sw $s6, 0x130($sp) +/* D2BD4C 8024001C AFB5012C */ sw $s5, 0x12c($sp) +/* D2BD50 80240020 AFB40128 */ sw $s4, 0x128($sp) +/* D2BD54 80240024 AFB30124 */ sw $s3, 0x124($sp) +/* D2BD58 80240028 AFB20120 */ sw $s2, 0x120($sp) +/* D2BD5C 8024002C AFB1011C */ sw $s1, 0x11c($sp) +/* D2BD60 80240030 AFB00118 */ sw $s0, 0x118($sp) +/* D2BD64 80240034 F7B60148 */ sdc1 $f22, 0x148($sp) +/* D2BD68 80240038 F7B40140 */ sdc1 $f20, 0x140($sp) +/* D2BD6C 8024003C 10A00061 */ beqz $a1, .L802401C4 +/* D2BD70 80240040 0080B82D */ daddu $s7, $a0, $zero +/* D2BD74 80240044 0C00AB39 */ jal heap_malloc +/* D2BD78 80240048 24041B80 */ addiu $a0, $zero, 0x1b80 +/* D2BD7C 8024004C 0000982D */ daddu $s3, $zero, $zero +/* D2BD80 80240050 AEE20070 */ sw $v0, 0x70($s7) +/* D2BD84 80240054 0040882D */ daddu $s1, $v0, $zero +/* D2BD88 80240058 3C148024 */ lui $s4, 0x8024 +/* D2BD8C 8024005C 269424C0 */ addiu $s4, $s4, 0x24c0 +/* D2BD90 80240060 2630003C */ addiu $s0, $s1, 0x3c +/* D2BD94 80240064 AEE00074 */ sw $zero, 0x74($s7) +.L80240068: +/* D2BD98 80240068 0C046C04 */ jal get_model_list_index_from_tree_index +/* D2BD9C 8024006C 8E840000 */ lw $a0, ($s4) +/* D2BDA0 80240070 0C046B4C */ jal get_model_from_list_index +/* D2BDA4 80240074 0040202D */ daddu $a0, $v0, $zero +/* D2BDA8 80240078 0040902D */ daddu $s2, $v0, $zero +/* D2BDAC 8024007C AE200000 */ sw $zero, ($s1) +/* D2BDB0 80240080 C6400098 */ lwc1 $f0, 0x98($s2) +/* D2BDB4 80240084 E600FFC8 */ swc1 $f0, -0x38($s0) +/* D2BDB8 80240088 C640009C */ lwc1 $f0, 0x9c($s2) +/* D2BDBC 8024008C E600FFCC */ swc1 $f0, -0x34($s0) +/* D2BDC0 80240090 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* D2BDC4 80240094 C602FFCC */ lwc1 $f2, -0x34($s0) +/* D2BDC8 80240098 E600FFD0 */ swc1 $f0, -0x30($s0) +/* D2BDCC 8024009C C600FFC8 */ lwc1 $f0, -0x38($s0) +/* D2BDD0 802400A0 C604FFD0 */ lwc1 $f4, -0x30($s0) +/* D2BDD4 802400A4 24040014 */ addiu $a0, $zero, 0x14 +/* D2BDD8 802400A8 AE00FFE0 */ sw $zero, -0x20($s0) +/* D2BDDC 802400AC AE00FFE4 */ sw $zero, -0x1c($s0) +/* D2BDE0 802400B0 AE00FFE8 */ sw $zero, -0x18($s0) +/* D2BDE4 802400B4 E602FFD8 */ swc1 $f2, -0x28($s0) +/* D2BDE8 802400B8 E600FFD4 */ swc1 $f0, -0x2c($s0) +/* D2BDEC 802400BC 0C00A67F */ jal rand_int +/* D2BDF0 802400C0 E604FFDC */ swc1 $f4, -0x24($s0) +/* D2BDF4 802400C4 24040014 */ addiu $a0, $zero, 0x14 +/* D2BDF8 802400C8 2442FFF6 */ addiu $v0, $v0, -0xa +/* D2BDFC 802400CC 44820000 */ mtc1 $v0, $f0 +/* D2BE00 802400D0 00000000 */ nop +/* D2BE04 802400D4 46800020 */ cvt.s.w $f0, $f0 +/* D2BE08 802400D8 0C00A67F */ jal rand_int +/* D2BE0C 802400DC E600FFEC */ swc1 $f0, -0x14($s0) +/* D2BE10 802400E0 24040014 */ addiu $a0, $zero, 0x14 +/* D2BE14 802400E4 2442FFF6 */ addiu $v0, $v0, -0xa +/* D2BE18 802400E8 44820000 */ mtc1 $v0, $f0 +/* D2BE1C 802400EC 00000000 */ nop +/* D2BE20 802400F0 46800020 */ cvt.s.w $f0, $f0 +/* D2BE24 802400F4 0C00A67F */ jal rand_int +/* D2BE28 802400F8 E600FFF0 */ swc1 $f0, -0x10($s0) +/* D2BE2C 802400FC 24040005 */ addiu $a0, $zero, 5 +/* D2BE30 80240100 2442FFF6 */ addiu $v0, $v0, -0xa +/* D2BE34 80240104 44820000 */ mtc1 $v0, $f0 +/* D2BE38 80240108 00000000 */ nop +/* D2BE3C 8024010C 46800020 */ cvt.s.w $f0, $f0 +/* D2BE40 80240110 0C00A67F */ jal rand_int +/* D2BE44 80240114 E600FFF4 */ swc1 $f0, -0xc($s0) +/* D2BE48 80240118 3C0140A0 */ lui $at, 0x40a0 +/* D2BE4C 8024011C 44811000 */ mtc1 $at, $f2 +/* D2BE50 80240120 44820000 */ mtc1 $v0, $f0 +/* D2BE54 80240124 00000000 */ nop +/* D2BE58 80240128 46800020 */ cvt.s.w $f0, $f0 +/* D2BE5C 8024012C 46020000 */ add.s $f0, $f0, $f2 +/* D2BE60 80240130 24040003 */ addiu $a0, $zero, 3 +/* D2BE64 80240134 0C00A67F */ jal rand_int +/* D2BE68 80240138 E600FFF8 */ swc1 $f0, -8($s0) +/* D2BE6C 8024013C 3C013F80 */ lui $at, 0x3f80 +/* D2BE70 80240140 44811000 */ mtc1 $at, $f2 +/* D2BE74 80240144 44820000 */ mtc1 $v0, $f0 +/* D2BE78 80240148 00000000 */ nop +/* D2BE7C 8024014C 46800020 */ cvt.s.w $f0, $f0 +/* D2BE80 80240150 46020000 */ add.s $f0, $f0, $f2 +/* D2BE84 80240154 24040168 */ addiu $a0, $zero, 0x168 +/* D2BE88 80240158 0C00A67F */ jal rand_int +/* D2BE8C 8024015C E600FFFC */ swc1 $f0, -4($s0) +/* D2BE90 80240160 0000302D */ daddu $a2, $zero, $zero +/* D2BE94 80240164 44820000 */ mtc1 $v0, $f0 +/* D2BE98 80240168 00000000 */ nop +/* D2BE9C 8024016C 46800020 */ cvt.s.w $f0, $f0 +/* D2BEA0 80240170 E6000000 */ swc1 $f0, ($s0) +/* D2BEA4 80240174 0000282D */ daddu $a1, $zero, $zero +.L80240178: +/* D2BEA8 80240178 00062100 */ sll $a0, $a2, 4 +.L8024017C: +/* D2BEAC 8024017C 02241821 */ addu $v1, $s1, $a0 +/* D2BEB0 80240180 02441021 */ addu $v0, $s2, $a0 +/* D2BEB4 80240184 24840004 */ addiu $a0, $a0, 4 +/* D2BEB8 80240188 24A50001 */ addiu $a1, $a1, 1 +/* D2BEBC 8024018C C4400058 */ lwc1 $f0, 0x58($v0) +/* D2BEC0 80240190 28A20004 */ slti $v0, $a1, 4 +/* D2BEC4 80240194 1440FFF9 */ bnez $v0, .L8024017C +/* D2BEC8 80240198 E4600040 */ swc1 $f0, 0x40($v1) +/* D2BECC 8024019C 24C60001 */ addiu $a2, $a2, 1 +/* D2BED0 802401A0 28C20004 */ slti $v0, $a2, 4 +/* D2BED4 802401A4 1440FFF4 */ bnez $v0, .L80240178 +/* D2BED8 802401A8 0000282D */ daddu $a1, $zero, $zero +/* D2BEDC 802401AC 26940004 */ addiu $s4, $s4, 4 +/* D2BEE0 802401B0 26730001 */ addiu $s3, $s3, 1 +/* D2BEE4 802401B4 26100080 */ addiu $s0, $s0, 0x80 +/* D2BEE8 802401B8 2E620037 */ sltiu $v0, $s3, 0x37 +/* D2BEEC 802401BC 1440FFAA */ bnez $v0, .L80240068 +/* D2BEF0 802401C0 26310080 */ addiu $s1, $s1, 0x80 +.L802401C4: +/* D2BEF4 802401C4 0000982D */ daddu $s3, $zero, $zero +/* D2BEF8 802401C8 27B50058 */ addiu $s5, $sp, 0x58 +/* D2BEFC 802401CC 27B40098 */ addiu $s4, $sp, 0x98 +/* D2BF00 802401D0 27B600D8 */ addiu $s6, $sp, 0xd8 +/* D2BF04 802401D4 8EF10070 */ lw $s1, 0x70($s7) +/* D2BF08 802401D8 3C013F80 */ lui $at, 0x3f80 +/* D2BF0C 802401DC 4481B000 */ mtc1 $at, $f22 +/* D2BF10 802401E0 4480A000 */ mtc1 $zero, $f20 +/* D2BF14 802401E4 26300024 */ addiu $s0, $s1, 0x24 +/* D2BF18 802401E8 00131080 */ sll $v0, $s3, 2 +.L802401EC: +/* D2BF1C 802401EC 3C048024 */ lui $a0, 0x8024 +/* D2BF20 802401F0 00822021 */ addu $a0, $a0, $v0 +/* D2BF24 802401F4 0C046C04 */ jal get_model_list_index_from_tree_index +/* D2BF28 802401F8 8C8424C0 */ lw $a0, 0x24c0($a0) +/* D2BF2C 802401FC 0C046B4C */ jal get_model_from_list_index +/* D2BF30 80240200 0040202D */ daddu $a0, $v0, $zero +/* D2BF34 80240204 8E230000 */ lw $v1, ($s1) +/* D2BF38 80240208 1460001C */ bnez $v1, .L8024027C +/* D2BF3C 8024020C 0040902D */ daddu $s2, $v0, $zero +/* D2BF40 80240210 26240004 */ addiu $a0, $s1, 4 +/* D2BF44 80240214 8E060014 */ lw $a2, 0x14($s0) +/* D2BF48 80240218 8E070018 */ lw $a3, 0x18($s0) +/* D2BF4C 8024021C 0C00A7E7 */ jal add_vec2D_polar +/* D2BF50 80240220 2625000C */ addiu $a1, $s1, 0xc +/* D2BF54 80240224 C6000010 */ lwc1 $f0, 0x10($s0) +/* D2BF58 80240228 46160001 */ sub.s $f0, $f0, $f22 +/* D2BF5C 8024022C C602FFE4 */ lwc1 $f2, -0x1c($s0) +/* D2BF60 80240230 46001100 */ add.s $f4, $f2, $f0 +/* D2BF64 80240234 4614003C */ c.lt.s $f0, $f20 +/* D2BF68 80240238 E6000010 */ swc1 $f0, 0x10($s0) +/* D2BF6C 8024023C 4500000F */ bc1f .L8024027C +/* D2BF70 80240240 E604FFE4 */ swc1 $f4, -0x1c($s0) +/* D2BF74 80240244 C7C0002C */ lwc1 $f0, 0x2c($fp) +/* D2BF78 80240248 3C014316 */ lui $at, 0x4316 +/* D2BF7C 8024024C 44811000 */ mtc1 $at, $f2 +/* D2BF80 80240250 00000000 */ nop +/* D2BF84 80240254 46020001 */ sub.s $f0, $f0, $f2 +/* D2BF88 80240258 4600203C */ c.lt.s $f4, $f0 +/* D2BF8C 8024025C 00000000 */ nop +/* D2BF90 80240260 45000007 */ bc1f .L80240280 +/* D2BF94 80240264 0000302D */ daddu $a2, $zero, $zero +/* D2BF98 80240268 8EE20074 */ lw $v0, 0x74($s7) +/* D2BF9C 8024026C 24420001 */ addiu $v0, $v0, 1 +/* D2BFA0 80240270 AEE20074 */ sw $v0, 0x74($s7) +/* D2BFA4 80240274 24020065 */ addiu $v0, $zero, 0x65 +/* D2BFA8 80240278 AE220000 */ sw $v0, ($s1) +.L8024027C: +/* D2BFAC 8024027C 0000302D */ daddu $a2, $zero, $zero +.L80240280: +/* D2BFB0 80240280 0000282D */ daddu $a1, $zero, $zero +.L80240284: +/* D2BFB4 80240284 00062100 */ sll $a0, $a2, 4 +.L80240288: +/* D2BFB8 80240288 02441821 */ addu $v1, $s2, $a0 +/* D2BFBC 8024028C 02241021 */ addu $v0, $s1, $a0 +/* D2BFC0 80240290 24840004 */ addiu $a0, $a0, 4 +/* D2BFC4 80240294 24A50001 */ addiu $a1, $a1, 1 +/* D2BFC8 80240298 C4400040 */ lwc1 $f0, 0x40($v0) +/* D2BFCC 8024029C 28A20004 */ slti $v0, $a1, 4 +/* D2BFD0 802402A0 1440FFF9 */ bnez $v0, .L80240288 +/* D2BFD4 802402A4 E4600058 */ swc1 $f0, 0x58($v1) +/* D2BFD8 802402A8 24C60001 */ addiu $a2, $a2, 1 +/* D2BFDC 802402AC 28C20004 */ slti $v0, $a2, 4 +/* D2BFE0 802402B0 1440FFF4 */ bnez $v0, .L80240284 +/* D2BFE4 802402B4 0000282D */ daddu $a1, $zero, $zero +/* D2BFE8 802402B8 96420000 */ lhu $v0, ($s2) +/* D2BFEC 802402BC 34421400 */ ori $v0, $v0, 0x1400 +/* D2BFF0 802402C0 A6420000 */ sh $v0, ($s2) +/* D2BFF4 802402C4 C602FFE0 */ lwc1 $f2, -0x20($s0) +/* D2BFF8 802402C8 C600FFEC */ lwc1 $f0, -0x14($s0) +/* D2BFFC 802402CC 46001081 */ sub.s $f2, $f2, $f0 +/* D2C000 802402D0 C600FFF0 */ lwc1 $f0, -0x10($s0) +/* D2C004 802402D4 44051000 */ mfc1 $a1, $f2 +/* D2C008 802402D8 C602FFE4 */ lwc1 $f2, -0x1c($s0) +/* D2C00C 802402DC 46001081 */ sub.s $f2, $f2, $f0 +/* D2C010 802402E0 C600FFF4 */ lwc1 $f0, -0xc($s0) +/* D2C014 802402E4 44061000 */ mfc1 $a2, $f2 +/* D2C018 802402E8 C602FFE8 */ lwc1 $f2, -0x18($s0) +/* D2C01C 802402EC 46001081 */ sub.s $f2, $f2, $f0 +/* D2C020 802402F0 44071000 */ mfc1 $a3, $f2 +/* D2C024 802402F4 0C019E40 */ jal guTranslateF +/* D2C028 802402F8 27A40018 */ addiu $a0, $sp, 0x18 +/* D2C02C 802402FC C602FFF8 */ lwc1 $f2, -8($s0) +/* D2C030 80240300 C6000004 */ lwc1 $f0, 4($s0) +/* D2C034 80240304 C604FFFC */ lwc1 $f4, -4($s0) +/* D2C038 80240308 46001080 */ add.s $f2, $f2, $f0 +/* D2C03C 8024030C C6000008 */ lwc1 $f0, 8($s0) +/* D2C040 80240310 46002100 */ add.s $f4, $f4, $f0 +/* D2C044 80240314 C6000000 */ lwc1 $f0, ($s0) +/* D2C048 80240318 E602FFF8 */ swc1 $f2, -8($s0) +/* D2C04C 8024031C C602000C */ lwc1 $f2, 0xc($s0) +/* D2C050 80240320 C60CFFF8 */ lwc1 $f12, -8($s0) +/* D2C054 80240324 46020000 */ add.s $f0, $f0, $f2 +/* D2C058 80240328 E604FFFC */ swc1 $f4, -4($s0) +/* D2C05C 8024032C 0C00A6C9 */ jal clamp_angle +/* D2C060 80240330 E6000000 */ swc1 $f0, ($s0) +/* D2C064 80240334 C60CFFFC */ lwc1 $f12, -4($s0) +/* D2C068 80240338 26730001 */ addiu $s3, $s3, 1 +/* D2C06C 8024033C 0C00A6C9 */ jal clamp_angle +/* D2C070 80240340 E600FFF8 */ swc1 $f0, -8($s0) +/* D2C074 80240344 C60C0000 */ lwc1 $f12, ($s0) +/* D2C078 80240348 26310080 */ addiu $s1, $s1, 0x80 +/* D2C07C 8024034C 0C00A6C9 */ jal clamp_angle +/* D2C080 80240350 E600FFFC */ swc1 $f0, -4($s0) +/* D2C084 80240354 E6000000 */ swc1 $f0, ($s0) +/* D2C088 80240358 E7B40010 */ swc1 $f20, 0x10($sp) +/* D2C08C 8024035C 8E05FFF8 */ lw $a1, -8($s0) +/* D2C090 80240360 4406B000 */ mfc1 $a2, $f22 +/* D2C094 80240364 4407A000 */ mfc1 $a3, $f20 +/* D2C098 80240368 0C019EC8 */ jal guRotateF +/* D2C09C 8024036C 02A0202D */ daddu $a0, $s5, $zero +/* D2C0A0 80240370 E7B40010 */ swc1 $f20, 0x10($sp) +/* D2C0A4 80240374 8E05FFFC */ lw $a1, -4($s0) +/* D2C0A8 80240378 4406A000 */ mfc1 $a2, $f20 +/* D2C0AC 8024037C 4407B000 */ mfc1 $a3, $f22 +/* D2C0B0 80240380 0C019EC8 */ jal guRotateF +/* D2C0B4 80240384 0280202D */ daddu $a0, $s4, $zero +/* D2C0B8 80240388 02C0202D */ daddu $a0, $s6, $zero +/* D2C0BC 8024038C E7B60010 */ swc1 $f22, 0x10($sp) +/* D2C0C0 80240390 8E050000 */ lw $a1, ($s0) +/* D2C0C4 80240394 4406A000 */ mfc1 $a2, $f20 +/* D2C0C8 80240398 4407A000 */ mfc1 $a3, $f20 +/* D2C0CC 8024039C 0C019EC8 */ jal guRotateF +/* D2C0D0 802403A0 26100080 */ addiu $s0, $s0, 0x80 +/* D2C0D4 802403A4 02C0202D */ daddu $a0, $s6, $zero +/* D2C0D8 802403A8 02A0282D */ daddu $a1, $s5, $zero +/* D2C0DC 802403AC 0C019D80 */ jal guMtxCatF +/* D2C0E0 802403B0 02A0302D */ daddu $a2, $s5, $zero +/* D2C0E4 802403B4 02A0202D */ daddu $a0, $s5, $zero +/* D2C0E8 802403B8 0280282D */ daddu $a1, $s4, $zero +/* D2C0EC 802403BC 0C019D80 */ jal guMtxCatF +/* D2C0F0 802403C0 0280302D */ daddu $a2, $s4, $zero +/* D2C0F4 802403C4 0280202D */ daddu $a0, $s4, $zero +/* D2C0F8 802403C8 27A50018 */ addiu $a1, $sp, 0x18 +/* D2C0FC 802403CC 0C019D80 */ jal guMtxCatF +/* D2C100 802403D0 00A0302D */ daddu $a2, $a1, $zero +/* D2C104 802403D4 27A40018 */ addiu $a0, $sp, 0x18 +/* D2C108 802403D8 26450058 */ addiu $a1, $s2, 0x58 +/* D2C10C 802403DC 0C019D80 */ jal guMtxCatF +/* D2C110 802403E0 00A0302D */ daddu $a2, $a1, $zero +/* D2C114 802403E4 2E620037 */ sltiu $v0, $s3, 0x37 +/* D2C118 802403E8 1440FF80 */ bnez $v0, .L802401EC +/* D2C11C 802403EC 00131080 */ sll $v0, $s3, 2 +/* D2C120 802403F0 8EE20074 */ lw $v0, 0x74($s7) +/* D2C124 802403F4 2C420037 */ sltiu $v0, $v0, 0x37 +/* D2C128 802403F8 14400005 */ bnez $v0, .L80240410 +/* D2C12C 802403FC 0000102D */ daddu $v0, $zero, $zero +/* D2C130 80240400 8EE40070 */ lw $a0, 0x70($s7) +/* D2C134 80240404 0C00AB4B */ jal heap_free +/* D2C138 80240408 00000000 */ nop +/* D2C13C 8024040C 24020002 */ addiu $v0, $zero, 2 +.L80240410: +/* D2C140 80240410 8FBF013C */ lw $ra, 0x13c($sp) +/* D2C144 80240414 8FBE0138 */ lw $fp, 0x138($sp) +/* D2C148 80240418 8FB70134 */ lw $s7, 0x134($sp) +/* D2C14C 8024041C 8FB60130 */ lw $s6, 0x130($sp) +/* D2C150 80240420 8FB5012C */ lw $s5, 0x12c($sp) +/* D2C154 80240424 8FB40128 */ lw $s4, 0x128($sp) +/* D2C158 80240428 8FB30124 */ lw $s3, 0x124($sp) +/* D2C15C 8024042C 8FB20120 */ lw $s2, 0x120($sp) +/* D2C160 80240430 8FB1011C */ lw $s1, 0x11c($sp) +/* D2C164 80240434 8FB00118 */ lw $s0, 0x118($sp) +/* D2C168 80240438 D7B60148 */ ldc1 $f22, 0x148($sp) +/* D2C16C 8024043C D7B40140 */ ldc1 $f20, 0x140($sp) +/* D2C170 80240440 03E00008 */ jr $ra +/* D2C174 80240444 27BD0150 */ addiu $sp, $sp, 0x150 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240448_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240448_D2BD30.s new file mode 100644 index 0000000000..1b17689e94 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240448_D2BD30.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448_D2C178 +/* D2C178 80240448 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D2C17C 8024044C AFB10014 */ sw $s1, 0x14($sp) +/* D2C180 80240450 0080882D */ daddu $s1, $a0, $zero +/* D2C184 80240454 AFBF001C */ sw $ra, 0x1c($sp) +/* D2C188 80240458 AFB20018 */ sw $s2, 0x18($sp) +/* D2C18C 8024045C AFB00010 */ sw $s0, 0x10($sp) +/* D2C190 80240460 F7B80030 */ sdc1 $f24, 0x30($sp) +/* D2C194 80240464 F7B60028 */ sdc1 $f22, 0x28($sp) +/* D2C198 80240468 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D2C19C 8024046C 8E30000C */ lw $s0, 0xc($s1) +/* D2C1A0 80240470 8E050000 */ lw $a1, ($s0) +/* D2C1A4 80240474 0C0B1EAF */ jal get_variable +/* D2C1A8 80240478 26100004 */ addiu $s0, $s0, 4 +/* D2C1AC 8024047C 8E050000 */ lw $a1, ($s0) +/* D2C1B0 80240480 26100004 */ addiu $s0, $s0, 4 +/* D2C1B4 80240484 0220202D */ daddu $a0, $s1, $zero +/* D2C1B8 80240488 0C0B1EAF */ jal get_variable +/* D2C1BC 8024048C 0040902D */ daddu $s2, $v0, $zero +/* D2C1C0 80240490 8E050000 */ lw $a1, ($s0) +/* D2C1C4 80240494 26100004 */ addiu $s0, $s0, 4 +/* D2C1C8 80240498 4482C000 */ mtc1 $v0, $f24 +/* D2C1CC 8024049C 00000000 */ nop +/* D2C1D0 802404A0 4680C620 */ cvt.s.w $f24, $f24 +/* D2C1D4 802404A4 0C0B1EAF */ jal get_variable +/* D2C1D8 802404A8 0220202D */ daddu $a0, $s1, $zero +/* D2C1DC 802404AC 8E050000 */ lw $a1, ($s0) +/* D2C1E0 802404B0 4482B000 */ mtc1 $v0, $f22 +/* D2C1E4 802404B4 00000000 */ nop +/* D2C1E8 802404B8 4680B5A0 */ cvt.s.w $f22, $f22 +/* D2C1EC 802404BC 0C0B1EAF */ jal get_variable +/* D2C1F0 802404C0 0220202D */ daddu $a0, $s1, $zero +/* D2C1F4 802404C4 4482A000 */ mtc1 $v0, $f20 +/* D2C1F8 802404C8 00000000 */ nop +/* D2C1FC 802404CC 4680A520 */ cvt.s.w $f20, $f20 +/* D2C200 802404D0 0C04417A */ jal get_entity_by_index +/* D2C204 802404D4 0240202D */ daddu $a0, $s2, $zero +/* D2C208 802404D8 0040182D */ daddu $v1, $v0, $zero +/* D2C20C 802404DC E4780048 */ swc1 $f24, 0x48($v1) +/* D2C210 802404E0 E476004C */ swc1 $f22, 0x4c($v1) +/* D2C214 802404E4 E4740050 */ swc1 $f20, 0x50($v1) +/* D2C218 802404E8 8FBF001C */ lw $ra, 0x1c($sp) +/* D2C21C 802404EC 8FB20018 */ lw $s2, 0x18($sp) +/* D2C220 802404F0 8FB10014 */ lw $s1, 0x14($sp) +/* D2C224 802404F4 8FB00010 */ lw $s0, 0x10($sp) +/* D2C228 802404F8 D7B80030 */ ldc1 $f24, 0x30($sp) +/* D2C22C 802404FC D7B60028 */ ldc1 $f22, 0x28($sp) +/* D2C230 80240500 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D2C234 80240504 24020002 */ addiu $v0, $zero, 2 +/* D2C238 80240508 03E00008 */ jr $ra +/* D2C23C 8024050C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240510_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240510_D2BD30.s new file mode 100644 index 0000000000..684c6a88d1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240510_D2BD30.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_D2C240 +/* D2C240 80240510 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2C244 80240514 AFB20018 */ sw $s2, 0x18($sp) +/* D2C248 80240518 0080902D */ daddu $s2, $a0, $zero +/* D2C24C 8024051C AFBF001C */ sw $ra, 0x1c($sp) +/* D2C250 80240520 AFB10014 */ sw $s1, 0x14($sp) +/* D2C254 80240524 AFB00010 */ sw $s0, 0x10($sp) +/* D2C258 80240528 8E50000C */ lw $s0, 0xc($s2) +/* D2C25C 8024052C 8E050000 */ lw $a1, ($s0) +/* D2C260 80240530 0C0B1EAF */ jal get_variable +/* D2C264 80240534 26100004 */ addiu $s0, $s0, 4 +/* D2C268 80240538 0C04417A */ jal get_entity_by_index +/* D2C26C 8024053C 0040202D */ daddu $a0, $v0, $zero +/* D2C270 80240540 8E050000 */ lw $a1, ($s0) +/* D2C274 80240544 26100004 */ addiu $s0, $s0, 4 +/* D2C278 80240548 0040882D */ daddu $s1, $v0, $zero +/* D2C27C 8024054C C6200048 */ lwc1 $f0, 0x48($s1) +/* D2C280 80240550 4600008D */ trunc.w.s $f2, $f0 +/* D2C284 80240554 44061000 */ mfc1 $a2, $f2 +/* D2C288 80240558 0C0B2026 */ jal set_variable +/* D2C28C 8024055C 0240202D */ daddu $a0, $s2, $zero +/* D2C290 80240560 8E050000 */ lw $a1, ($s0) +/* D2C294 80240564 26100004 */ addiu $s0, $s0, 4 +/* D2C298 80240568 C620004C */ lwc1 $f0, 0x4c($s1) +/* D2C29C 8024056C 4600008D */ trunc.w.s $f2, $f0 +/* D2C2A0 80240570 44061000 */ mfc1 $a2, $f2 +/* D2C2A4 80240574 0C0B2026 */ jal set_variable +/* D2C2A8 80240578 0240202D */ daddu $a0, $s2, $zero +/* D2C2AC 8024057C C6200050 */ lwc1 $f0, 0x50($s1) +/* D2C2B0 80240580 8E050000 */ lw $a1, ($s0) +/* D2C2B4 80240584 4600008D */ trunc.w.s $f2, $f0 +/* D2C2B8 80240588 44061000 */ mfc1 $a2, $f2 +/* D2C2BC 8024058C 0C0B2026 */ jal set_variable +/* D2C2C0 80240590 0240202D */ daddu $a0, $s2, $zero +/* D2C2C4 80240594 8FBF001C */ lw $ra, 0x1c($sp) +/* D2C2C8 80240598 8FB20018 */ lw $s2, 0x18($sp) +/* D2C2CC 8024059C 8FB10014 */ lw $s1, 0x14($sp) +/* D2C2D0 802405A0 8FB00010 */ lw $s0, 0x10($sp) +/* D2C2D4 802405A4 24020002 */ addiu $v0, $zero, 2 +/* D2C2D8 802405A8 03E00008 */ jr $ra +/* D2C2DC 802405AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_802405B0_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_802405B0_D2BD30.s new file mode 100644 index 0000000000..45b745a3b0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_802405B0_D2BD30.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B0_D2C2E0 +/* D2C2E0 802405B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2C2E4 802405B4 AFB10014 */ sw $s1, 0x14($sp) +/* D2C2E8 802405B8 0080882D */ daddu $s1, $a0, $zero +/* D2C2EC 802405BC AFBF0018 */ sw $ra, 0x18($sp) +/* D2C2F0 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* D2C2F4 802405C4 8E30000C */ lw $s0, 0xc($s1) +/* D2C2F8 802405C8 8E050000 */ lw $a1, ($s0) +/* D2C2FC 802405CC 0C0B1EAF */ jal get_variable +/* D2C300 802405D0 26100004 */ addiu $s0, $s0, 4 +/* D2C304 802405D4 0220202D */ daddu $a0, $s1, $zero +/* D2C308 802405D8 8E050000 */ lw $a1, ($s0) +/* D2C30C 802405DC 0C0B1EAF */ jal get_variable +/* D2C310 802405E0 0040802D */ daddu $s0, $v0, $zero +/* D2C314 802405E4 3C038016 */ lui $v1, 0x8016 +/* D2C318 802405E8 8463A552 */ lh $v1, -0x5aae($v1) +/* D2C31C 802405EC 10700003 */ beq $v1, $s0, .L802405FC +/* D2C320 802405F0 00000000 */ nop +/* D2C324 802405F4 1462000A */ bne $v1, $v0, .L80240620 +/* D2C328 802405F8 24020002 */ addiu $v0, $zero, 2 +.L802405FC: +/* D2C32C 802405FC 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D2C330 80240600 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D2C334 80240604 804300B4 */ lb $v1, 0xb4($v0) +/* D2C338 80240608 2402000E */ addiu $v0, $zero, 0xe +/* D2C33C 8024060C 10620003 */ beq $v1, $v0, .L8024061C +/* D2C340 80240610 24020010 */ addiu $v0, $zero, 0x10 +/* D2C344 80240614 14620002 */ bne $v1, $v0, .L80240620 +/* D2C348 80240618 24020002 */ addiu $v0, $zero, 2 +.L8024061C: +/* D2C34C 8024061C 0000102D */ daddu $v0, $zero, $zero +.L80240620: +/* D2C350 80240620 8FBF0018 */ lw $ra, 0x18($sp) +/* D2C354 80240624 8FB10014 */ lw $s1, 0x14($sp) +/* D2C358 80240628 8FB00010 */ lw $s0, 0x10($sp) +/* D2C35C 8024062C 03E00008 */ jr $ra +/* D2C360 80240630 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240634_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240634_D2BD30.s new file mode 100644 index 0000000000..9a25be2d33 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240634_D2BD30.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240634_D2C364 +/* D2C364 80240634 3C03800B */ lui $v1, %hi(gCameras) +/* D2C368 80240638 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* D2C36C 8024063C 94620002 */ lhu $v0, 2($v1) +/* D2C370 80240640 3042FFFE */ andi $v0, $v0, 0xfffe +/* D2C374 80240644 A4620002 */ sh $v0, 2($v1) +/* D2C378 80240648 03E00008 */ jr $ra +/* D2C37C 8024064C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240650.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240650.s new file mode 100644 index 0000000000..6786a3be06 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240650.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240650 +/* D2C380 80240650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2C384 80240654 AFB10014 */ sw $s1, 0x14($sp) +/* D2C388 80240658 0080882D */ daddu $s1, $a0, $zero +/* D2C38C 8024065C AFBF0018 */ sw $ra, 0x18($sp) +/* D2C390 80240660 AFB00010 */ sw $s0, 0x10($sp) +/* D2C394 80240664 8E300148 */ lw $s0, 0x148($s1) +/* D2C398 80240668 0C00EABB */ jal get_npc_unsafe +/* D2C39C 8024066C 86040008 */ lh $a0, 8($s0) +/* D2C3A0 80240670 24030001 */ addiu $v1, $zero, 1 +/* D2C3A4 80240674 0040202D */ daddu $a0, $v0, $zero +/* D2C3A8 80240678 AE03006C */ sw $v1, 0x6c($s0) +/* D2C3AC 8024067C 8482008C */ lh $v0, 0x8c($a0) +/* D2C3B0 80240680 14400009 */ bnez $v0, .L802406A8 +/* D2C3B4 80240684 24020002 */ addiu $v0, $zero, 2 +/* D2C3B8 80240688 96030072 */ lhu $v1, 0x72($s0) +/* D2C3BC 8024068C AE02006C */ sw $v0, 0x6c($s0) +/* D2C3C0 80240690 A483008E */ sh $v1, 0x8e($a0) +/* D2C3C4 80240694 8E0200CC */ lw $v0, 0xcc($s0) +/* D2C3C8 80240698 8C420020 */ lw $v0, 0x20($v0) +/* D2C3CC 8024069C AC820028 */ sw $v0, 0x28($a0) +/* D2C3D0 802406A0 2402001F */ addiu $v0, $zero, 0x1f +/* D2C3D4 802406A4 AE220070 */ sw $v0, 0x70($s1) +.L802406A8: +/* D2C3D8 802406A8 8FBF0018 */ lw $ra, 0x18($sp) +/* D2C3DC 802406AC 8FB10014 */ lw $s1, 0x14($sp) +/* D2C3E0 802406B0 8FB00010 */ lw $s0, 0x10($sp) +/* D2C3E4 802406B4 03E00008 */ jr $ra +/* D2C3E8 802406B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_802406BC_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_802406BC_D2BD30.s new file mode 100644 index 0000000000..77af27fa6b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_802406BC_D2BD30.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC_D2C3EC +/* D2C3EC 802406BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2C3F0 802406C0 AFB10014 */ sw $s1, 0x14($sp) +/* D2C3F4 802406C4 0080882D */ daddu $s1, $a0, $zero +/* D2C3F8 802406C8 AFBF0018 */ sw $ra, 0x18($sp) +/* D2C3FC 802406CC AFB00010 */ sw $s0, 0x10($sp) +/* D2C400 802406D0 8E300148 */ lw $s0, 0x148($s1) +/* D2C404 802406D4 0C00EABB */ jal get_npc_unsafe +/* D2C408 802406D8 86040008 */ lh $a0, 8($s0) +/* D2C40C 802406DC 0040202D */ daddu $a0, $v0, $zero +/* D2C410 802406E0 9482008E */ lhu $v0, 0x8e($a0) +/* D2C414 802406E4 2442FFFF */ addiu $v0, $v0, -1 +/* D2C418 802406E8 A482008E */ sh $v0, 0x8e($a0) +/* D2C41C 802406EC 00021400 */ sll $v0, $v0, 0x10 +/* D2C420 802406F0 1C400009 */ bgtz $v0, .L80240718 +/* D2C424 802406F4 24020003 */ addiu $v0, $zero, 3 +/* D2C428 802406F8 96030076 */ lhu $v1, 0x76($s0) +/* D2C42C 802406FC AE02006C */ sw $v0, 0x6c($s0) +/* D2C430 80240700 A483008E */ sh $v1, 0x8e($a0) +/* D2C434 80240704 8E0200CC */ lw $v0, 0xcc($s0) +/* D2C438 80240708 8C420024 */ lw $v0, 0x24($v0) +/* D2C43C 8024070C AC820028 */ sw $v0, 0x28($a0) +/* D2C440 80240710 24020020 */ addiu $v0, $zero, 0x20 +/* D2C444 80240714 AE220070 */ sw $v0, 0x70($s1) +.L80240718: +/* D2C448 80240718 8FBF0018 */ lw $ra, 0x18($sp) +/* D2C44C 8024071C 8FB10014 */ lw $s1, 0x14($sp) +/* D2C450 80240720 8FB00010 */ lw $s0, 0x10($sp) +/* D2C454 80240724 03E00008 */ jr $ra +/* D2C458 80240728 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_8024072C_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_8024072C_D2BD30.s new file mode 100644 index 0000000000..518539b4ab --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_8024072C_D2BD30.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024072C_D2C45C +/* D2C45C 8024072C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D2C460 80240730 AFB10034 */ sw $s1, 0x34($sp) +/* D2C464 80240734 0080882D */ daddu $s1, $a0, $zero +/* D2C468 80240738 AFBF0038 */ sw $ra, 0x38($sp) +/* D2C46C 8024073C AFB00030 */ sw $s0, 0x30($sp) +/* D2C470 80240740 8E300148 */ lw $s0, 0x148($s1) +/* D2C474 80240744 0C00EABB */ jal get_npc_unsafe +/* D2C478 80240748 86040008 */ lh $a0, 8($s0) +/* D2C47C 8024074C 0040282D */ daddu $a1, $v0, $zero +/* D2C480 80240750 94A2008E */ lhu $v0, 0x8e($a1) +/* D2C484 80240754 2442FFFF */ addiu $v0, $v0, -1 +/* D2C488 80240758 A4A2008E */ sh $v0, 0x8e($a1) +/* D2C48C 8024075C 00021400 */ sll $v0, $v0, 0x10 +/* D2C490 80240760 1C400023 */ bgtz $v0, .L802407F0 +/* D2C494 80240764 24020004 */ addiu $v0, $zero, 4 +/* D2C498 80240768 8E0300CC */ lw $v1, 0xcc($s0) +/* D2C49C 8024076C AE02006C */ sw $v0, 0x6c($s0) +/* D2C4A0 80240770 8C620000 */ lw $v0, ($v1) +/* D2C4A4 80240774 ACA20028 */ sw $v0, 0x28($a1) +/* D2C4A8 80240778 9602007A */ lhu $v0, 0x7a($s0) +/* D2C4AC 8024077C A4A2008E */ sh $v0, 0x8e($a1) +/* D2C4B0 80240780 8E020078 */ lw $v0, 0x78($s0) +/* D2C4B4 80240784 28420008 */ slti $v0, $v0, 8 +/* D2C4B8 80240788 14400018 */ bnez $v0, .L802407EC +/* D2C4BC 8024078C 24020021 */ addiu $v0, $zero, 0x21 +/* D2C4C0 80240790 24040003 */ addiu $a0, $zero, 3 +/* D2C4C4 80240794 27A30028 */ addiu $v1, $sp, 0x28 +/* D2C4C8 80240798 84A700A8 */ lh $a3, 0xa8($a1) +/* D2C4CC 8024079C 3C013F80 */ lui $at, 0x3f80 +/* D2C4D0 802407A0 44810000 */ mtc1 $at, $f0 +/* D2C4D4 802407A4 3C014000 */ lui $at, 0x4000 +/* D2C4D8 802407A8 44811000 */ mtc1 $at, $f2 +/* D2C4DC 802407AC 3C01C1A0 */ lui $at, 0xc1a0 +/* D2C4E0 802407B0 44812000 */ mtc1 $at, $f4 +/* D2C4E4 802407B4 44873000 */ mtc1 $a3, $f6 +/* D2C4E8 802407B8 00000000 */ nop +/* D2C4EC 802407BC 468031A0 */ cvt.s.w $f6, $f6 +/* D2C4F0 802407C0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D2C4F4 802407C4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D2C4F8 802407C8 E7A40018 */ swc1 $f4, 0x18($sp) +/* D2C4FC 802407CC 8E020078 */ lw $v0, 0x78($s0) +/* D2C500 802407D0 44073000 */ mfc1 $a3, $f6 +/* D2C504 802407D4 0000302D */ daddu $a2, $zero, $zero +/* D2C508 802407D8 AFA30020 */ sw $v1, 0x20($sp) +/* D2C50C 802407DC 2442FFFF */ addiu $v0, $v0, -1 +/* D2C510 802407E0 0C01BFA4 */ jal fx_emote +/* D2C514 802407E4 AFA2001C */ sw $v0, 0x1c($sp) +/* D2C518 802407E8 24020021 */ addiu $v0, $zero, 0x21 +.L802407EC: +/* D2C51C 802407EC AE220070 */ sw $v0, 0x70($s1) +.L802407F0: +/* D2C520 802407F0 8FBF0038 */ lw $ra, 0x38($sp) +/* D2C524 802407F4 8FB10034 */ lw $s1, 0x34($sp) +/* D2C528 802407F8 8FB00030 */ lw $s0, 0x30($sp) +/* D2C52C 802407FC 03E00008 */ jr $ra +/* D2C530 80240800 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240804.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240804.s new file mode 100644 index 0000000000..7037c38786 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240804.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240804 +/* D2C534 80240804 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2C538 80240808 AFB10014 */ sw $s1, 0x14($sp) +/* D2C53C 8024080C 0080882D */ daddu $s1, $a0, $zero +/* D2C540 80240810 AFBF0018 */ sw $ra, 0x18($sp) +/* D2C544 80240814 AFB00010 */ sw $s0, 0x10($sp) +/* D2C548 80240818 8E300148 */ lw $s0, 0x148($s1) +/* D2C54C 8024081C 0C00EABB */ jal get_npc_unsafe +/* D2C550 80240820 86040008 */ lh $a0, 8($s0) +/* D2C554 80240824 9443008E */ lhu $v1, 0x8e($v0) +/* D2C558 80240828 2463FFFF */ addiu $v1, $v1, -1 +/* D2C55C 8024082C A443008E */ sh $v1, 0x8e($v0) +/* D2C560 80240830 00031C00 */ sll $v1, $v1, 0x10 +/* D2C564 80240834 1C600003 */ bgtz $v1, .L80240844 +/* D2C568 80240838 2402000C */ addiu $v0, $zero, 0xc +/* D2C56C 8024083C AE00006C */ sw $zero, 0x6c($s0) +/* D2C570 80240840 AE220070 */ sw $v0, 0x70($s1) +.L80240844: +/* D2C574 80240844 8FBF0018 */ lw $ra, 0x18($sp) +/* D2C578 80240848 8FB10014 */ lw $s1, 0x14($sp) +/* D2C57C 8024084C 8FB00010 */ lw $s0, 0x10($sp) +/* D2C580 80240850 03E00008 */ jr $ra +/* D2C584 80240854 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240858_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240858_D2BD30.s new file mode 100644 index 0000000000..19d58b9f1d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240858_D2BD30.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240858_D2C588 +/* D2C588 80240858 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D2C58C 8024085C AFBF0024 */ sw $ra, 0x24($sp) +/* D2C590 80240860 AFB40020 */ sw $s4, 0x20($sp) +/* D2C594 80240864 AFB3001C */ sw $s3, 0x1c($sp) +/* D2C598 80240868 AFB20018 */ sw $s2, 0x18($sp) +/* D2C59C 8024086C AFB10014 */ sw $s1, 0x14($sp) +/* D2C5A0 80240870 AFB00010 */ sw $s0, 0x10($sp) +/* D2C5A4 80240874 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D2C5A8 80240878 8C900148 */ lw $s0, 0x148($a0) +/* D2C5AC 8024087C 86040008 */ lh $a0, 8($s0) +/* D2C5B0 80240880 0C00EABB */ jal get_npc_unsafe +/* D2C5B4 80240884 24110001 */ addiu $s1, $zero, 1 +/* D2C5B8 80240888 86040008 */ lh $a0, 8($s0) +/* D2C5BC 8024088C 0040802D */ daddu $s0, $v0, $zero +/* D2C5C0 80240890 3C05800B */ lui $a1, %hi(gCameras) +/* D2C5C4 80240894 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D2C5C8 80240898 3C03800A */ lui $v1, 0x800a +/* D2C5CC 8024089C 8463A634 */ lh $v1, -0x59cc($v1) +/* D2C5D0 802408A0 00912021 */ addu $a0, $a0, $s1 +/* D2C5D4 802408A4 00031080 */ sll $v0, $v1, 2 +/* D2C5D8 802408A8 00431021 */ addu $v0, $v0, $v1 +/* D2C5DC 802408AC 00021080 */ sll $v0, $v0, 2 +/* D2C5E0 802408B0 00431023 */ subu $v0, $v0, $v1 +/* D2C5E4 802408B4 000218C0 */ sll $v1, $v0, 3 +/* D2C5E8 802408B8 00431021 */ addu $v0, $v0, $v1 +/* D2C5EC 802408BC 000210C0 */ sll $v0, $v0, 3 +/* D2C5F0 802408C0 0C00FB3A */ jal get_enemy +/* D2C5F4 802408C4 00459021 */ addu $s2, $v0, $a1 +/* D2C5F8 802408C8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D2C5FC 802408CC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D2C600 802408D0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D2C604 802408D4 8E830000 */ lw $v1, ($s4) +/* D2C608 802408D8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D2C60C 802408DC 8C660028 */ lw $a2, 0x28($v1) +/* D2C610 802408E0 8C670030 */ lw $a3, 0x30($v1) +/* D2C614 802408E4 0C00A7B5 */ jal dist2D +/* D2C618 802408E8 0040982D */ daddu $s3, $v0, $zero +/* D2C61C 802408EC C6620074 */ lwc1 $f2, 0x74($s3) +/* D2C620 802408F0 468010A0 */ cvt.s.w $f2, $f2 +/* D2C624 802408F4 4600103C */ c.lt.s $f2, $f0 +/* D2C628 802408F8 00000000 */ nop +/* D2C62C 802408FC 45030001 */ bc1tl .L80240904 +/* D2C630 80240900 0000882D */ daddu $s1, $zero, $zero +.L80240904: +/* D2C634 80240904 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D2C638 80240908 C60E000C */ lwc1 $f14, 0xc($s0) +/* D2C63C 8024090C 3C014387 */ lui $at, 0x4387 +/* D2C640 80240910 4481A000 */ mtc1 $at, $f20 +/* D2C644 80240914 0C00A70A */ jal get_clamped_angle_diff +/* D2C648 80240918 00000000 */ nop +/* D2C64C 8024091C 0C00A6C9 */ jal clamp_angle +/* D2C650 80240920 46000306 */ mov.s $f12, $f0 +/* D2C654 80240924 3C018024 */ lui $at, 0x8024 +/* D2C658 80240928 D4223D80 */ ldc1 $f2, 0x3d80($at) +/* D2C65C 8024092C 46000021 */ cvt.d.s $f0, $f0 +/* D2C660 80240930 4622003C */ c.lt.d $f0, $f2 +/* D2C664 80240934 00000000 */ nop +/* D2C668 80240938 45000003 */ bc1f .L80240948 +/* D2C66C 8024093C 00000000 */ nop +/* D2C670 80240940 3C0142B4 */ lui $at, 0x42b4 +/* D2C674 80240944 4481A000 */ mtc1 $at, $f20 +.L80240948: +/* D2C678 80240948 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D2C67C 8024094C 8E820000 */ lw $v0, ($s4) +/* D2C680 80240950 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D2C684 80240954 8C460028 */ lw $a2, 0x28($v0) +/* D2C688 80240958 0C00A720 */ jal atan2 +/* D2C68C 8024095C 8C470030 */ lw $a3, 0x30($v0) +/* D2C690 80240960 4600A306 */ mov.s $f12, $f20 +/* D2C694 80240964 0C00A70A */ jal get_clamped_angle_diff +/* D2C698 80240968 46000386 */ mov.s $f14, $f0 +/* D2C69C 8024096C C6620078 */ lwc1 $f2, 0x78($s3) +/* D2C6A0 80240970 468010A0 */ cvt.s.w $f2, $f2 +/* D2C6A4 80240974 46000005 */ abs.s $f0, $f0 +/* D2C6A8 80240978 4600103C */ c.lt.s $f2, $f0 +/* D2C6AC 8024097C 00000000 */ nop +/* D2C6B0 80240980 45030001 */ bc1tl .L80240988 +/* D2C6B4 80240984 0000882D */ daddu $s1, $zero, $zero +.L80240988: +/* D2C6B8 80240988 8E820000 */ lw $v0, ($s4) +/* D2C6BC 8024098C C600003C */ lwc1 $f0, 0x3c($s0) +/* D2C6C0 80240990 C442002C */ lwc1 $f2, 0x2c($v0) +/* D2C6C4 80240994 860200A8 */ lh $v0, 0xa8($s0) +/* D2C6C8 80240998 46020001 */ sub.s $f0, $f0, $f2 +/* D2C6CC 8024099C 44821000 */ mtc1 $v0, $f2 +/* D2C6D0 802409A0 00000000 */ nop +/* D2C6D4 802409A4 468010A1 */ cvt.d.w $f2, $f2 +/* D2C6D8 802409A8 46221080 */ add.d $f2, $f2, $f2 +/* D2C6DC 802409AC 46000005 */ abs.s $f0, $f0 +/* D2C6E0 802409B0 46000021 */ cvt.d.s $f0, $f0 +/* D2C6E4 802409B4 4620103E */ c.le.d $f2, $f0 +/* D2C6E8 802409B8 00000000 */ nop +/* D2C6EC 802409BC 45030001 */ bc1tl .L802409C4 +/* D2C6F0 802409C0 0000882D */ daddu $s1, $zero, $zero +.L802409C4: +/* D2C6F4 802409C4 3C038011 */ lui $v1, 0x8011 +/* D2C6F8 802409C8 8063EBB3 */ lb $v1, -0x144d($v1) +/* D2C6FC 802409CC 24020009 */ addiu $v0, $zero, 9 +/* D2C700 802409D0 50620001 */ beql $v1, $v0, .L802409D8 +/* D2C704 802409D4 0000882D */ daddu $s1, $zero, $zero +.L802409D8: +/* D2C708 802409D8 24020007 */ addiu $v0, $zero, 7 +/* D2C70C 802409DC 50620001 */ beql $v1, $v0, .L802409E4 +/* D2C710 802409E0 0000882D */ daddu $s1, $zero, $zero +.L802409E4: +/* D2C714 802409E4 0220102D */ daddu $v0, $s1, $zero +/* D2C718 802409E8 8FBF0024 */ lw $ra, 0x24($sp) +/* D2C71C 802409EC 8FB40020 */ lw $s4, 0x20($sp) +/* D2C720 802409F0 8FB3001C */ lw $s3, 0x1c($sp) +/* D2C724 802409F4 8FB20018 */ lw $s2, 0x18($sp) +/* D2C728 802409F8 8FB10014 */ lw $s1, 0x14($sp) +/* D2C72C 802409FC 8FB00010 */ lw $s0, 0x10($sp) +/* D2C730 80240A00 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D2C734 80240A04 03E00008 */ jr $ra +/* D2C738 80240A08 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240A0C_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240A0C_D2BD30.s new file mode 100644 index 0000000000..cf8f9a27fb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240A0C_D2BD30.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A0C_D2C73C +/* D2C73C 80240A0C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D2C740 80240A10 AFB40028 */ sw $s4, 0x28($sp) +/* D2C744 80240A14 0080A02D */ daddu $s4, $a0, $zero +/* D2C748 80240A18 AFBF002C */ sw $ra, 0x2c($sp) +/* D2C74C 80240A1C AFB30024 */ sw $s3, 0x24($sp) +/* D2C750 80240A20 AFB20020 */ sw $s2, 0x20($sp) +/* D2C754 80240A24 AFB1001C */ sw $s1, 0x1c($sp) +/* D2C758 80240A28 AFB00018 */ sw $s0, 0x18($sp) +/* D2C75C 80240A2C 8E910148 */ lw $s1, 0x148($s4) +/* D2C760 80240A30 86240008 */ lh $a0, 8($s1) +/* D2C764 80240A34 0C00EABB */ jal get_npc_unsafe +/* D2C768 80240A38 00A0802D */ daddu $s0, $a1, $zero +/* D2C76C 80240A3C 16000005 */ bnez $s0, .L80240A54 +/* D2C770 80240A40 0040902D */ daddu $s2, $v0, $zero +/* D2C774 80240A44 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2C778 80240A48 30420004 */ andi $v0, $v0, 4 +/* D2C77C 80240A4C 10400015 */ beqz $v0, .L80240AA4 +/* D2C780 80240A50 00000000 */ nop +.L80240A54: +/* D2C784 80240A54 AE800070 */ sw $zero, 0x70($s4) +/* D2C788 80240A58 8E420000 */ lw $v0, ($s2) +/* D2C78C 80240A5C 3C031F30 */ lui $v1, 0x1f30 +/* D2C790 80240A60 A640008E */ sh $zero, 0x8e($s2) +/* D2C794 80240A64 34420102 */ ori $v0, $v0, 0x102 +/* D2C798 80240A68 AE420000 */ sw $v0, ($s2) +/* D2C79C 80240A6C 8E220000 */ lw $v0, ($s1) +/* D2C7A0 80240A70 3C01C47A */ lui $at, 0xc47a +/* D2C7A4 80240A74 44810000 */ mtc1 $at, $f0 +/* D2C7A8 80240A78 00431025 */ or $v0, $v0, $v1 +/* D2C7AC 80240A7C AE220000 */ sw $v0, ($s1) +/* D2C7B0 80240A80 AE400038 */ sw $zero, 0x38($s2) +/* D2C7B4 80240A84 E640003C */ swc1 $f0, 0x3c($s2) +/* D2C7B8 80240A88 AE400040 */ sw $zero, 0x40($s2) +/* D2C7BC 80240A8C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D2C7C0 80240A90 30620004 */ andi $v0, $v1, 4 +/* D2C7C4 80240A94 10400003 */ beqz $v0, .L80240AA4 +/* D2C7C8 80240A98 2402FFFB */ addiu $v0, $zero, -5 +/* D2C7CC 80240A9C 00621024 */ and $v0, $v1, $v0 +/* D2C7D0 80240AA0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240AA4: +/* D2C7D4 80240AA4 8E930070 */ lw $s3, 0x70($s4) +/* D2C7D8 80240AA8 12600005 */ beqz $s3, .L80240AC0 +/* D2C7DC 80240AAC 24020001 */ addiu $v0, $zero, 1 +/* D2C7E0 80240AB0 12620048 */ beq $s3, $v0, .L80240BD4 +/* D2C7E4 80240AB4 00000000 */ nop +/* D2C7E8 80240AB8 08090312 */ j .L80240C48 +/* D2C7EC 80240ABC 00000000 */ nop +.L80240AC0: +/* D2C7F0 80240AC0 86240008 */ lh $a0, 8($s1) +/* D2C7F4 80240AC4 0C00FB3A */ jal get_enemy +/* D2C7F8 80240AC8 2484FFFF */ addiu $a0, $a0, -1 +/* D2C7FC 80240ACC 0040802D */ daddu $s0, $v0, $zero +/* D2C800 80240AD0 0C00EABB */ jal get_npc_unsafe +/* D2C804 80240AD4 86040008 */ lh $a0, 8($s0) +/* D2C808 80240AD8 24030001 */ addiu $v1, $zero, 1 +/* D2C80C 80240ADC 0040982D */ daddu $s3, $v0, $zero +/* D2C810 80240AE0 A2230007 */ sb $v1, 7($s1) +/* D2C814 80240AE4 8E03006C */ lw $v1, 0x6c($s0) +/* D2C818 80240AE8 24020003 */ addiu $v0, $zero, 3 +/* D2C81C 80240AEC 14620056 */ bne $v1, $v0, .L80240C48 +/* D2C820 80240AF0 00000000 */ nop +/* D2C824 80240AF4 8E2500A8 */ lw $a1, 0xa8($s1) +/* D2C828 80240AF8 10A00003 */ beqz $a1, .L80240B08 +/* D2C82C 80240AFC 0260202D */ daddu $a0, $s3, $zero +/* D2C830 80240B00 0C012530 */ jal func_800494C0 +/* D2C834 80240B04 0000302D */ daddu $a2, $zero, $zero +.L80240B08: +/* D2C838 80240B08 27A40010 */ addiu $a0, $sp, 0x10 +/* D2C83C 80240B0C C6280070 */ lwc1 $f8, 0x70($s1) +/* D2C840 80240B10 46804220 */ cvt.s.w $f8, $f8 +/* D2C844 80240B14 C6620034 */ lwc1 $f2, 0x34($s3) +/* D2C848 80240B18 3C014387 */ lui $at, 0x4387 +/* D2C84C 80240B1C 44810000 */ mtc1 $at, $f0 +/* D2C850 80240B20 44064000 */ mfc1 $a2, $f8 +/* D2C854 80240B24 46020001 */ sub.s $f0, $f0, $f2 +/* D2C858 80240B28 C6660038 */ lwc1 $f6, 0x38($s3) +/* D2C85C 80240B2C C6640040 */ lwc1 $f4, 0x40($s3) +/* D2C860 80240B30 44070000 */ mfc1 $a3, $f0 +/* D2C864 80240B34 27A50014 */ addiu $a1, $sp, 0x14 +/* D2C868 80240B38 E7A60010 */ swc1 $f6, 0x10($sp) +/* D2C86C 80240B3C 0C00A7E7 */ jal add_vec2D_polar +/* D2C870 80240B40 E7A40014 */ swc1 $f4, 0x14($sp) +/* D2C874 80240B44 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D2C878 80240B48 4600020D */ trunc.w.s $f8, $f0 +/* D2C87C 80240B4C 44024000 */ mfc1 $v0, $f8 +/* D2C880 80240B50 E6400038 */ swc1 $f0, 0x38($s2) +/* D2C884 80240B54 A6220010 */ sh $v0, 0x10($s1) +/* D2C888 80240B58 C660003C */ lwc1 $f0, 0x3c($s3) +/* D2C88C 80240B5C C622006C */ lwc1 $f2, 0x6c($s1) +/* D2C890 80240B60 468010A0 */ cvt.s.w $f2, $f2 +/* D2C894 80240B64 46020000 */ add.s $f0, $f0, $f2 +/* D2C898 80240B68 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D2C89C 80240B6C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D2C8A0 80240B70 E640003C */ swc1 $f0, 0x3c($s2) +/* D2C8A4 80240B74 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D2C8A8 80240B78 4600020D */ trunc.w.s $f8, $f0 +/* D2C8AC 80240B7C 44024000 */ mfc1 $v0, $f8 +/* D2C8B0 80240B80 00000000 */ nop +/* D2C8B4 80240B84 A6220012 */ sh $v0, 0x12($s1) +/* D2C8B8 80240B88 4600120D */ trunc.w.s $f8, $f2 +/* D2C8BC 80240B8C 44024000 */ mfc1 $v0, $f8 +/* D2C8C0 80240B90 E6420040 */ swc1 $f2, 0x40($s2) +/* D2C8C4 80240B94 A6220014 */ sh $v0, 0x14($s1) +/* D2C8C8 80240B98 8C660028 */ lw $a2, 0x28($v1) +/* D2C8CC 80240B9C 8C670030 */ lw $a3, 0x30($v1) +/* D2C8D0 80240BA0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D2C8D4 80240BA4 0C00A720 */ jal atan2 +/* D2C8D8 80240BA8 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D2C8DC 80240BAC 3C03E0EF */ lui $v1, 0xe0ef +/* D2C8E0 80240BB0 E640000C */ swc1 $f0, 0xc($s2) +/* D2C8E4 80240BB4 8E220000 */ lw $v0, ($s1) +/* D2C8E8 80240BB8 3463FFFF */ ori $v1, $v1, 0xffff +/* D2C8EC 80240BBC 00431024 */ and $v0, $v0, $v1 +/* D2C8F0 80240BC0 AE220000 */ sw $v0, ($s1) +/* D2C8F4 80240BC4 24020001 */ addiu $v0, $zero, 1 +/* D2C8F8 80240BC8 A640008E */ sh $zero, 0x8e($s2) +/* D2C8FC 80240BCC 08090312 */ j .L80240C48 +/* D2C900 80240BD0 AE820070 */ sw $v0, 0x70($s4) +.L80240BD4: +/* D2C904 80240BD4 86240008 */ lh $a0, 8($s1) +/* D2C908 80240BD8 0C00FB3A */ jal get_enemy +/* D2C90C 80240BDC 2484FFFF */ addiu $a0, $a0, -1 +/* D2C910 80240BE0 0040802D */ daddu $s0, $v0, $zero +/* D2C914 80240BE4 0C00EABB */ jal get_npc_unsafe +/* D2C918 80240BE8 86040008 */ lh $a0, 8($s0) +/* D2C91C 80240BEC 9642008E */ lhu $v0, 0x8e($s2) +/* D2C920 80240BF0 24420001 */ addiu $v0, $v0, 1 +/* D2C924 80240BF4 A642008E */ sh $v0, 0x8e($s2) +/* D2C928 80240BF8 00021400 */ sll $v0, $v0, 0x10 +/* D2C92C 80240BFC 8E23007C */ lw $v1, 0x7c($s1) +/* D2C930 80240C00 00021403 */ sra $v0, $v0, 0x10 +/* D2C934 80240C04 0043102A */ slt $v0, $v0, $v1 +/* D2C938 80240C08 50400001 */ beql $v0, $zero, .L80240C10 +/* D2C93C 80240C0C A2200007 */ sb $zero, 7($s1) +.L80240C10: +/* D2C940 80240C10 8E03006C */ lw $v1, 0x6c($s0) +/* D2C944 80240C14 24020004 */ addiu $v0, $zero, 4 +/* D2C948 80240C18 1462000B */ bne $v1, $v0, .L80240C48 +/* D2C94C 80240C1C 3C021F10 */ lui $v0, 0x1f10 +/* D2C950 80240C20 8E230000 */ lw $v1, ($s1) +/* D2C954 80240C24 3C01C47A */ lui $at, 0xc47a +/* D2C958 80240C28 44810000 */ mtc1 $at, $f0 +/* D2C95C 80240C2C 00621825 */ or $v1, $v1, $v0 +/* D2C960 80240C30 AE230000 */ sw $v1, ($s1) +/* D2C964 80240C34 AE400038 */ sw $zero, 0x38($s2) +/* D2C968 80240C38 E640003C */ swc1 $f0, 0x3c($s2) +/* D2C96C 80240C3C AE400040 */ sw $zero, 0x40($s2) +/* D2C970 80240C40 A2330007 */ sb $s3, 7($s1) +/* D2C974 80240C44 AE800070 */ sw $zero, 0x70($s4) +.L80240C48: +/* D2C978 80240C48 8FBF002C */ lw $ra, 0x2c($sp) +/* D2C97C 80240C4C 8FB40028 */ lw $s4, 0x28($sp) +/* D2C980 80240C50 8FB30024 */ lw $s3, 0x24($sp) +/* D2C984 80240C54 8FB20020 */ lw $s2, 0x20($sp) +/* D2C988 80240C58 8FB1001C */ lw $s1, 0x1c($sp) +/* D2C98C 80240C5C 8FB00018 */ lw $s0, 0x18($sp) +/* D2C990 80240C60 0000102D */ daddu $v0, $zero, $zero +/* D2C994 80240C64 03E00008 */ jr $ra +/* D2C998 80240C68 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240C6C.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240C6C.s new file mode 100644 index 0000000000..21f059dcac --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240C6C.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C6C +/* D2C99C 80240C6C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D2C9A0 80240C70 AFB20038 */ sw $s2, 0x38($sp) +/* D2C9A4 80240C74 0080902D */ daddu $s2, $a0, $zero +/* D2C9A8 80240C78 AFBF0048 */ sw $ra, 0x48($sp) +/* D2C9AC 80240C7C AFB50044 */ sw $s5, 0x44($sp) +/* D2C9B0 80240C80 AFB40040 */ sw $s4, 0x40($sp) +/* D2C9B4 80240C84 AFB3003C */ sw $s3, 0x3c($sp) +/* D2C9B8 80240C88 AFB10034 */ sw $s1, 0x34($sp) +/* D2C9BC 80240C8C AFB00030 */ sw $s0, 0x30($sp) +/* D2C9C0 80240C90 8E510148 */ lw $s1, 0x148($s2) +/* D2C9C4 80240C94 86240008 */ lh $a0, 8($s1) +/* D2C9C8 80240C98 0C00EABB */ jal get_npc_unsafe +/* D2C9CC 80240C9C 00A0802D */ daddu $s0, $a1, $zero +/* D2C9D0 80240CA0 8E43000C */ lw $v1, 0xc($s2) +/* D2C9D4 80240CA4 0240202D */ daddu $a0, $s2, $zero +/* D2C9D8 80240CA8 8C650000 */ lw $a1, ($v1) +/* D2C9DC 80240CAC 0C0B1EAF */ jal get_variable +/* D2C9E0 80240CB0 0040A82D */ daddu $s5, $v0, $zero +/* D2C9E4 80240CB4 AFA00010 */ sw $zero, 0x10($sp) +/* D2C9E8 80240CB8 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2C9EC 80240CBC 8C630030 */ lw $v1, 0x30($v1) +/* D2C9F0 80240CC0 AFA30014 */ sw $v1, 0x14($sp) +/* D2C9F4 80240CC4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2C9F8 80240CC8 8C63001C */ lw $v1, 0x1c($v1) +/* D2C9FC 80240CCC AFA30018 */ sw $v1, 0x18($sp) +/* D2CA00 80240CD0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2CA04 80240CD4 8C630024 */ lw $v1, 0x24($v1) +/* D2CA08 80240CD8 AFA3001C */ sw $v1, 0x1c($sp) +/* D2CA0C 80240CDC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2CA10 80240CE0 8C630028 */ lw $v1, 0x28($v1) +/* D2CA14 80240CE4 27B40010 */ addiu $s4, $sp, 0x10 +/* D2CA18 80240CE8 AFA30020 */ sw $v1, 0x20($sp) +/* D2CA1C 80240CEC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2CA20 80240CF0 3C014282 */ lui $at, 0x4282 +/* D2CA24 80240CF4 44810000 */ mtc1 $at, $f0 +/* D2CA28 80240CF8 8C63002C */ lw $v1, 0x2c($v1) +/* D2CA2C 80240CFC 0040982D */ daddu $s3, $v0, $zero +/* D2CA30 80240D00 E7A00028 */ swc1 $f0, 0x28($sp) +/* D2CA34 80240D04 A7A0002C */ sh $zero, 0x2c($sp) +/* D2CA38 80240D08 16000005 */ bnez $s0, .L80240D20 +/* D2CA3C 80240D0C AFA30024 */ sw $v1, 0x24($sp) +/* D2CA40 80240D10 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2CA44 80240D14 30420004 */ andi $v0, $v0, 4 +/* D2CA48 80240D18 10400020 */ beqz $v0, .L80240D9C +/* D2CA4C 80240D1C 00000000 */ nop +.L80240D20: +/* D2CA50 80240D20 2404F7FF */ addiu $a0, $zero, -0x801 +/* D2CA54 80240D24 AE400070 */ sw $zero, 0x70($s2) +/* D2CA58 80240D28 A6A0008E */ sh $zero, 0x8e($s5) +/* D2CA5C 80240D2C 8E2200CC */ lw $v0, 0xcc($s1) +/* D2CA60 80240D30 8EA30000 */ lw $v1, ($s5) +/* D2CA64 80240D34 8C420000 */ lw $v0, ($v0) +/* D2CA68 80240D38 00641824 */ and $v1, $v1, $a0 +/* D2CA6C 80240D3C AEA30000 */ sw $v1, ($s5) +/* D2CA70 80240D40 AEA20028 */ sw $v0, 0x28($s5) +/* D2CA74 80240D44 8E2200D0 */ lw $v0, 0xd0($s1) +/* D2CA78 80240D48 8C420034 */ lw $v0, 0x34($v0) +/* D2CA7C 80240D4C 54400005 */ bnel $v0, $zero, .L80240D64 +/* D2CA80 80240D50 2402FDFF */ addiu $v0, $zero, -0x201 +/* D2CA84 80240D54 34620200 */ ori $v0, $v1, 0x200 +/* D2CA88 80240D58 2403FFF7 */ addiu $v1, $zero, -9 +/* D2CA8C 80240D5C 0809035B */ j .L80240D6C +/* D2CA90 80240D60 00431024 */ and $v0, $v0, $v1 +.L80240D64: +/* D2CA94 80240D64 00621024 */ and $v0, $v1, $v0 +/* D2CA98 80240D68 34420008 */ ori $v0, $v0, 8 +.L80240D6C: +/* D2CA9C 80240D6C AEA20000 */ sw $v0, ($s5) +/* D2CAA0 80240D70 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2CAA4 80240D74 30420004 */ andi $v0, $v0, 4 +/* D2CAA8 80240D78 10400007 */ beqz $v0, .L80240D98 +/* D2CAAC 80240D7C 24020063 */ addiu $v0, $zero, 0x63 +/* D2CAB0 80240D80 AE420070 */ sw $v0, 0x70($s2) +/* D2CAB4 80240D84 AE400074 */ sw $zero, 0x74($s2) +/* D2CAB8 80240D88 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2CABC 80240D8C 2403FFFB */ addiu $v1, $zero, -5 +/* D2CAC0 80240D90 00431024 */ and $v0, $v0, $v1 +/* D2CAC4 80240D94 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240D98: +/* D2CAC8 80240D98 AE20006C */ sw $zero, 0x6c($s1) +.L80240D9C: +/* D2CACC 80240D9C 8E420070 */ lw $v0, 0x70($s2) +/* D2CAD0 80240DA0 2842001E */ slti $v0, $v0, 0x1e +/* D2CAD4 80240DA4 10400009 */ beqz $v0, .L80240DCC +/* D2CAD8 80240DA8 00000000 */ nop +/* D2CADC 80240DAC 8E22006C */ lw $v0, 0x6c($s1) +/* D2CAE0 80240DB0 14400006 */ bnez $v0, .L80240DCC +/* D2CAE4 80240DB4 00000000 */ nop +/* D2CAE8 80240DB8 0C090216 */ jal func_80240858 +/* D2CAEC 80240DBC 0240202D */ daddu $a0, $s2, $zero +/* D2CAF0 80240DC0 10400002 */ beqz $v0, .L80240DCC +/* D2CAF4 80240DC4 2402001E */ addiu $v0, $zero, 0x1e +/* D2CAF8 80240DC8 AE420070 */ sw $v0, 0x70($s2) +.L80240DCC: +/* D2CAFC 80240DCC 8E430070 */ lw $v1, 0x70($s2) +/* D2CB00 80240DD0 2C620064 */ sltiu $v0, $v1, 0x64 +/* D2CB04 80240DD4 10400048 */ beqz $v0, .L80240EF8 +/* D2CB08 80240DD8 00031080 */ sll $v0, $v1, 2 +/* D2CB0C 80240DDC 3C018024 */ lui $at, 0x8024 +/* D2CB10 80240DE0 00220821 */ addu $at, $at, $v0 +/* D2CB14 80240DE4 8C223D88 */ lw $v0, 0x3d88($at) +/* D2CB18 80240DE8 00400008 */ jr $v0 +/* D2CB1C 80240DEC 00000000 */ nop +/* D2CB20 80240DF0 0240202D */ daddu $a0, $s2, $zero +/* D2CB24 80240DF4 0260282D */ daddu $a1, $s3, $zero +/* D2CB28 80240DF8 0C012568 */ jal func_800495A0 +/* D2CB2C 80240DFC 0280302D */ daddu $a2, $s4, $zero +/* D2CB30 80240E00 0240202D */ daddu $a0, $s2, $zero +/* D2CB34 80240E04 0260282D */ daddu $a1, $s3, $zero +/* D2CB38 80240E08 0C0125AE */ jal func_800496B8 +/* D2CB3C 80240E0C 0280302D */ daddu $a2, $s4, $zero +/* D2CB40 80240E10 080903BE */ j .L80240EF8 +/* D2CB44 80240E14 00000000 */ nop +/* D2CB48 80240E18 0240202D */ daddu $a0, $s2, $zero +/* D2CB4C 80240E1C 0260282D */ daddu $a1, $s3, $zero +/* D2CB50 80240E20 0C0126D1 */ jal func_80049B44 +/* D2CB54 80240E24 0280302D */ daddu $a2, $s4, $zero +/* D2CB58 80240E28 0240202D */ daddu $a0, $s2, $zero +/* D2CB5C 80240E2C 0260282D */ daddu $a1, $s3, $zero +/* D2CB60 80240E30 0C012701 */ jal func_80049C04 +/* D2CB64 80240E34 0280302D */ daddu $a2, $s4, $zero +/* D2CB68 80240E38 080903BE */ j .L80240EF8 +/* D2CB6C 80240E3C 00000000 */ nop +/* D2CB70 80240E40 0240202D */ daddu $a0, $s2, $zero +/* D2CB74 80240E44 0260282D */ daddu $a1, $s3, $zero +/* D2CB78 80240E48 0C01278F */ jal func_80049E3C +/* D2CB7C 80240E4C 0280302D */ daddu $a2, $s4, $zero +/* D2CB80 80240E50 0240202D */ daddu $a0, $s2, $zero +/* D2CB84 80240E54 0260282D */ daddu $a1, $s3, $zero +/* D2CB88 80240E58 0C0127B3 */ jal func_80049ECC +/* D2CB8C 80240E5C 0280302D */ daddu $a2, $s4, $zero +/* D2CB90 80240E60 080903BE */ j .L80240EF8 +/* D2CB94 80240E64 00000000 */ nop +/* D2CB98 80240E68 0240202D */ daddu $a0, $s2, $zero +/* D2CB9C 80240E6C 0260282D */ daddu $a1, $s3, $zero +/* D2CBA0 80240E70 0C0127DF */ jal func_80049F7C +/* D2CBA4 80240E74 0280302D */ daddu $a2, $s4, $zero +/* D2CBA8 80240E78 0240202D */ daddu $a0, $s2, $zero +/* D2CBAC 80240E7C 0260282D */ daddu $a1, $s3, $zero +/* D2CBB0 80240E80 0C012849 */ jal func_8004A124 +/* D2CBB4 80240E84 0280302D */ daddu $a2, $s4, $zero +/* D2CBB8 80240E88 080903BE */ j .L80240EF8 +/* D2CBBC 80240E8C 00000000 */ nop +/* D2CBC0 80240E90 0240202D */ daddu $a0, $s2, $zero +/* D2CBC4 80240E94 0260282D */ daddu $a1, $s3, $zero +/* D2CBC8 80240E98 0C0128FA */ jal func_8004A3E8 +/* D2CBCC 80240E9C 0280302D */ daddu $a2, $s4, $zero +/* D2CBD0 80240EA0 080903BE */ j .L80240EF8 +/* D2CBD4 80240EA4 00000000 */ nop +/* D2CBD8 80240EA8 0C090194 */ jal func_80240650 +/* D2CBDC 80240EAC 0240202D */ daddu $a0, $s2, $zero +/* D2CBE0 80240EB0 0C0901AF */ jal func_802406BC +/* D2CBE4 80240EB4 0240202D */ daddu $a0, $s2, $zero +/* D2CBE8 80240EB8 8E430070 */ lw $v1, 0x70($s2) +/* D2CBEC 80240EBC 24020020 */ addiu $v0, $zero, 0x20 +/* D2CBF0 80240EC0 1462000D */ bne $v1, $v0, .L80240EF8 +/* D2CBF4 80240EC4 00000000 */ nop +/* D2CBF8 80240EC8 0C0901CB */ jal func_8024072C +/* D2CBFC 80240ECC 0240202D */ daddu $a0, $s2, $zero +/* D2CC00 80240ED0 8E430070 */ lw $v1, 0x70($s2) +/* D2CC04 80240ED4 24020021 */ addiu $v0, $zero, 0x21 +/* D2CC08 80240ED8 14620007 */ bne $v1, $v0, .L80240EF8 +/* D2CC0C 80240EDC 00000000 */ nop +/* D2CC10 80240EE0 0C090201 */ jal func_80240804 +/* D2CC14 80240EE4 0240202D */ daddu $a0, $s2, $zero +/* D2CC18 80240EE8 080903BE */ j .L80240EF8 +/* D2CC1C 80240EEC 00000000 */ nop +/* D2CC20 80240EF0 0C0129CF */ jal func_8004A73C +/* D2CC24 80240EF4 0240202D */ daddu $a0, $s2, $zero +.L80240EF8: +/* D2CC28 80240EF8 8FBF0048 */ lw $ra, 0x48($sp) +/* D2CC2C 80240EFC 8FB50044 */ lw $s5, 0x44($sp) +/* D2CC30 80240F00 8FB40040 */ lw $s4, 0x40($sp) +/* D2CC34 80240F04 8FB3003C */ lw $s3, 0x3c($sp) +/* D2CC38 80240F08 8FB20038 */ lw $s2, 0x38($sp) +/* D2CC3C 80240F0C 8FB10034 */ lw $s1, 0x34($sp) +/* D2CC40 80240F10 8FB00030 */ lw $s0, 0x30($sp) +/* D2CC44 80240F14 0000102D */ daddu $v0, $zero, $zero +/* D2CC48 80240F18 03E00008 */ jr $ra +/* D2CC4C 80240F1C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240F20_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240F20_D2BD30.s new file mode 100644 index 0000000000..0f21d3506c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240F20_D2BD30.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F20_D2CC50 +/* D2CC50 80240F20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2CC54 80240F24 AFB10014 */ sw $s1, 0x14($sp) +/* D2CC58 80240F28 0080882D */ daddu $s1, $a0, $zero +/* D2CC5C 80240F2C AFBF0018 */ sw $ra, 0x18($sp) +/* D2CC60 80240F30 AFB00010 */ sw $s0, 0x10($sp) +/* D2CC64 80240F34 8E300148 */ lw $s0, 0x148($s1) +/* D2CC68 80240F38 0C00EABB */ jal get_npc_unsafe +/* D2CC6C 80240F3C 86040008 */ lh $a0, 8($s0) +/* D2CC70 80240F40 0040202D */ daddu $a0, $v0, $zero +/* D2CC74 80240F44 8482008E */ lh $v0, 0x8e($a0) +/* D2CC78 80240F48 9483008E */ lhu $v1, 0x8e($a0) +/* D2CC7C 80240F4C 18400003 */ blez $v0, .L80240F5C +/* D2CC80 80240F50 2462FFFF */ addiu $v0, $v1, -1 +/* D2CC84 80240F54 080903DE */ j .L80240F78 +/* D2CC88 80240F58 A482008E */ sh $v0, 0x8e($a0) +.L80240F5C: +/* D2CC8C 80240F5C 8E0200CC */ lw $v0, 0xcc($s0) +/* D2CC90 80240F60 AE00006C */ sw $zero, 0x6c($s0) +/* D2CC94 80240F64 8C420000 */ lw $v0, ($v0) +/* D2CC98 80240F68 AC820028 */ sw $v0, 0x28($a0) +/* D2CC9C 80240F6C 24020001 */ addiu $v0, $zero, 1 +/* D2CCA0 80240F70 AE200074 */ sw $zero, 0x74($s1) +/* D2CCA4 80240F74 AE220070 */ sw $v0, 0x70($s1) +.L80240F78: +/* D2CCA8 80240F78 8FBF0018 */ lw $ra, 0x18($sp) +/* D2CCAC 80240F7C 8FB10014 */ lw $s1, 0x14($sp) +/* D2CCB0 80240F80 8FB00010 */ lw $s0, 0x10($sp) +/* D2CCB4 80240F84 03E00008 */ jr $ra +/* D2CCB8 80240F88 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80240F8C_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80240F8C_D2BD30.s new file mode 100644 index 0000000000..2a61d6746c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80240F8C_D2BD30.s @@ -0,0 +1,68 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F8C_D2CCBC +/* D2CCBC 80240F8C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D2CCC0 80240F90 AFB3003C */ sw $s3, 0x3c($sp) +/* D2CCC4 80240F94 0080982D */ daddu $s3, $a0, $zero +/* D2CCC8 80240F98 AFBF0040 */ sw $ra, 0x40($sp) +/* D2CCCC 80240F9C AFB20038 */ sw $s2, 0x38($sp) +/* D2CCD0 80240FA0 AFB10034 */ sw $s1, 0x34($sp) +/* D2CCD4 80240FA4 AFB00030 */ sw $s0, 0x30($sp) +/* D2CCD8 80240FA8 8E720148 */ lw $s2, 0x148($s3) +/* D2CCDC 80240FAC 00A0882D */ daddu $s1, $a1, $zero +/* D2CCE0 80240FB0 86440008 */ lh $a0, 8($s2) +/* D2CCE4 80240FB4 0C00EABB */ jal get_npc_unsafe +/* D2CCE8 80240FB8 00C0802D */ daddu $s0, $a2, $zero +/* D2CCEC 80240FBC 0200202D */ daddu $a0, $s0, $zero +/* D2CCF0 80240FC0 0240282D */ daddu $a1, $s2, $zero +/* D2CCF4 80240FC4 AFA00010 */ sw $zero, 0x10($sp) +/* D2CCF8 80240FC8 8E26000C */ lw $a2, 0xc($s1) +/* D2CCFC 80240FCC 8E270010 */ lw $a3, 0x10($s1) +/* D2CD00 80240FD0 0C01242D */ jal func_800490B4 +/* D2CD04 80240FD4 0040882D */ daddu $s1, $v0, $zero +/* D2CD08 80240FD8 10400024 */ beqz $v0, .L8024106C +/* D2CD0C 80240FDC 0220202D */ daddu $a0, $s1, $zero +/* D2CD10 80240FE0 24050322 */ addiu $a1, $zero, 0x322 +/* D2CD14 80240FE4 0C012530 */ jal func_800494C0 +/* D2CD18 80240FE8 0000302D */ daddu $a2, $zero, $zero +/* D2CD1C 80240FEC 0000202D */ daddu $a0, $zero, $zero +/* D2CD20 80240FF0 0220282D */ daddu $a1, $s1, $zero +/* D2CD24 80240FF4 0000302D */ daddu $a2, $zero, $zero +/* D2CD28 80240FF8 2410000A */ addiu $s0, $zero, 0xa +/* D2CD2C 80240FFC 862300A8 */ lh $v1, 0xa8($s1) +/* D2CD30 80241000 3C013F80 */ lui $at, 0x3f80 +/* D2CD34 80241004 44810000 */ mtc1 $at, $f0 +/* D2CD38 80241008 3C014000 */ lui $at, 0x4000 +/* D2CD3C 8024100C 44811000 */ mtc1 $at, $f2 +/* D2CD40 80241010 3C01C1A0 */ lui $at, 0xc1a0 +/* D2CD44 80241014 44812000 */ mtc1 $at, $f4 +/* D2CD48 80241018 44833000 */ mtc1 $v1, $f6 +/* D2CD4C 8024101C 00000000 */ nop +/* D2CD50 80241020 468031A0 */ cvt.s.w $f6, $f6 +/* D2CD54 80241024 44073000 */ mfc1 $a3, $f6 +/* D2CD58 80241028 27A20028 */ addiu $v0, $sp, 0x28 +/* D2CD5C 8024102C AFB0001C */ sw $s0, 0x1c($sp) +/* D2CD60 80241030 AFA20020 */ sw $v0, 0x20($sp) +/* D2CD64 80241034 E7A00010 */ swc1 $f0, 0x10($sp) +/* D2CD68 80241038 E7A20014 */ swc1 $f2, 0x14($sp) +/* D2CD6C 8024103C 0C01BFA4 */ jal fx_emote +/* D2CD70 80241040 E7A40018 */ swc1 $f4, 0x18($sp) +/* D2CD74 80241044 0220202D */ daddu $a0, $s1, $zero +/* D2CD78 80241048 240502F4 */ addiu $a1, $zero, 0x2f4 +/* D2CD7C 8024104C 0C012530 */ jal func_800494C0 +/* D2CD80 80241050 3C060020 */ lui $a2, 0x20 +/* D2CD84 80241054 8E4200CC */ lw $v0, 0xcc($s2) +/* D2CD88 80241058 8C420020 */ lw $v0, 0x20($v0) +/* D2CD8C 8024105C AE220028 */ sw $v0, 0x28($s1) +/* D2CD90 80241060 9642008E */ lhu $v0, 0x8e($s2) +/* D2CD94 80241064 A622008E */ sh $v0, 0x8e($s1) +/* D2CD98 80241068 AE700070 */ sw $s0, 0x70($s3) +.L8024106C: +/* D2CD9C 8024106C 8FBF0040 */ lw $ra, 0x40($sp) +/* D2CDA0 80241070 8FB3003C */ lw $s3, 0x3c($sp) +/* D2CDA4 80241074 8FB20038 */ lw $s2, 0x38($sp) +/* D2CDA8 80241078 8FB10034 */ lw $s1, 0x34($sp) +/* D2CDAC 8024107C 8FB00030 */ lw $s0, 0x30($sp) +/* D2CDB0 80241080 03E00008 */ jr $ra +/* D2CDB4 80241084 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241088_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241088_D2BD30.s new file mode 100644 index 0000000000..94b08e0255 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241088_D2BD30.s @@ -0,0 +1,688 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241088_D2CDB8 +/* D2CDB8 80241088 27BDFF80 */ addiu $sp, $sp, -0x80 +/* D2CDBC 8024108C AFBF0064 */ sw $ra, 0x64($sp) +/* D2CDC0 80241090 AFBE0060 */ sw $fp, 0x60($sp) +/* D2CDC4 80241094 AFB7005C */ sw $s7, 0x5c($sp) +/* D2CDC8 80241098 AFB60058 */ sw $s6, 0x58($sp) +/* D2CDCC 8024109C AFB50054 */ sw $s5, 0x54($sp) +/* D2CDD0 802410A0 AFB40050 */ sw $s4, 0x50($sp) +/* D2CDD4 802410A4 AFB3004C */ sw $s3, 0x4c($sp) +/* D2CDD8 802410A8 AFB20048 */ sw $s2, 0x48($sp) +/* D2CDDC 802410AC AFB10044 */ sw $s1, 0x44($sp) +/* D2CDE0 802410B0 AFB00040 */ sw $s0, 0x40($sp) +/* D2CDE4 802410B4 F7B80078 */ sdc1 $f24, 0x78($sp) +/* D2CDE8 802410B8 F7B60070 */ sdc1 $f22, 0x70($sp) +/* D2CDEC 802410BC F7B40068 */ sdc1 $f20, 0x68($sp) +/* D2CDF0 802410C0 AFA40080 */ sw $a0, 0x80($sp) +/* D2CDF4 802410C4 8C960148 */ lw $s6, 0x148($a0) +/* D2CDF8 802410C8 00C0902D */ daddu $s2, $a2, $zero +/* D2CDFC 802410CC 86C40008 */ lh $a0, 8($s6) +/* D2CE00 802410D0 0C00EABB */ jal get_npc_unsafe +/* D2CE04 802410D4 0000B82D */ daddu $s7, $zero, $zero +/* D2CE08 802410D8 0040882D */ daddu $s1, $v0, $zero +/* D2CE0C 802410DC 9622008E */ lhu $v0, 0x8e($s1) +/* D2CE10 802410E0 2442FFFF */ addiu $v0, $v0, -1 +/* D2CE14 802410E4 A622008E */ sh $v0, 0x8e($s1) +/* D2CE18 802410E8 00021400 */ sll $v0, $v0, 0x10 +/* D2CE1C 802410EC 8EC30090 */ lw $v1, 0x90($s6) +/* D2CE20 802410F0 00021403 */ sra $v0, $v0, 0x10 +/* D2CE24 802410F4 0062182A */ slt $v1, $v1, $v0 +/* D2CE28 802410F8 14600005 */ bnez $v1, .L80241110 +/* D2CE2C 802410FC 02E0F02D */ daddu $fp, $s7, $zero +/* D2CE30 80241100 8EC20000 */ lw $v0, ($s6) +/* D2CE34 80241104 3C031F10 */ lui $v1, 0x1f10 +/* D2CE38 80241108 00431025 */ or $v0, $v0, $v1 +/* D2CE3C 8024110C AEC20000 */ sw $v0, ($s6) +.L80241110: +/* D2CE40 80241110 8622008E */ lh $v0, 0x8e($s1) +/* D2CE44 80241114 1440025D */ bnez $v0, .L80241A8C +/* D2CE48 80241118 00000000 */ nop +/* D2CE4C 8024111C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D2CE50 80241120 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D2CE54 80241124 0C00A6C9 */ jal clamp_angle +/* D2CE58 80241128 C44C00A8 */ lwc1 $f12, 0xa8($v0) +/* D2CE5C 8024112C 3C014334 */ lui $at, 0x4334 +/* D2CE60 80241130 44811000 */ mtc1 $at, $f2 +/* D2CE64 80241134 00000000 */ nop +/* D2CE68 80241138 4602003C */ c.lt.s $f0, $f2 +/* D2CE6C 8024113C 00000000 */ nop +/* D2CE70 80241140 45000011 */ bc1f .L80241188 +/* D2CE74 80241144 00000000 */ nop +/* D2CE78 80241148 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D2CE7C 8024114C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D2CE80 80241150 3C0142B4 */ lui $at, 0x42b4 +/* D2CE84 80241154 44816000 */ mtc1 $at, $f12 +/* D2CE88 80241158 00031080 */ sll $v0, $v1, 2 +/* D2CE8C 8024115C 00431021 */ addu $v0, $v0, $v1 +/* D2CE90 80241160 00021080 */ sll $v0, $v0, 2 +/* D2CE94 80241164 00431023 */ subu $v0, $v0, $v1 +/* D2CE98 80241168 000218C0 */ sll $v1, $v0, 3 +/* D2CE9C 8024116C 00431021 */ addu $v0, $v0, $v1 +/* D2CEA0 80241170 000210C0 */ sll $v0, $v0, 3 +/* D2CEA4 80241174 3C01800B */ lui $at, 0x800b +/* D2CEA8 80241178 00220821 */ addu $at, $at, $v0 +/* D2CEAC 8024117C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D2CEB0 80241180 08090471 */ j .L802411C4 +/* D2CEB4 80241184 460C0301 */ sub.s $f12, $f0, $f12 +.L80241188: +/* D2CEB8 80241188 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* D2CEBC 8024118C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* D2CEC0 80241190 3C0142B4 */ lui $at, 0x42b4 +/* D2CEC4 80241194 44816000 */ mtc1 $at, $f12 +/* D2CEC8 80241198 00031080 */ sll $v0, $v1, 2 +/* D2CECC 8024119C 00431021 */ addu $v0, $v0, $v1 +/* D2CED0 802411A0 00021080 */ sll $v0, $v0, 2 +/* D2CED4 802411A4 00431023 */ subu $v0, $v0, $v1 +/* D2CED8 802411A8 000218C0 */ sll $v1, $v0, 3 +/* D2CEDC 802411AC 00431021 */ addu $v0, $v0, $v1 +/* D2CEE0 802411B0 000210C0 */ sll $v0, $v0, 3 +/* D2CEE4 802411B4 3C01800B */ lui $at, 0x800b +/* D2CEE8 802411B8 00220821 */ addu $at, $at, $v0 +/* D2CEEC 802411BC C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D2CEF0 802411C0 460C0300 */ add.s $f12, $f0, $f12 +.L802411C4: +/* D2CEF4 802411C4 0C00A6C9 */ jal clamp_angle +/* D2CEF8 802411C8 00000000 */ nop +/* D2CEFC 802411CC 46000586 */ mov.s $f22, $f0 +/* D2CF00 802411D0 3C014334 */ lui $at, 0x4334 +/* D2CF04 802411D4 44816000 */ mtc1 $at, $f12 +/* D2CF08 802411D8 0C00A6C9 */ jal clamp_angle +/* D2CF0C 802411DC 460CB300 */ add.s $f12, $f22, $f12 +/* D2CF10 802411E0 8EC20088 */ lw $v0, 0x88($s6) +/* D2CF14 802411E4 14400010 */ bnez $v0, .L80241228 +/* D2CF18 802411E8 46000606 */ mov.s $f24, $f0 +/* D2CF1C 802411EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D2CF20 802411F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D2CF24 802411F4 804300B4 */ lb $v1, 0xb4($v0) +/* D2CF28 802411F8 3C014200 */ lui $at, 0x4200 +/* D2CF2C 802411FC 4481A000 */ mtc1 $at, $f20 +/* D2CF30 80241200 10600016 */ beqz $v1, .L8024125C +/* D2CF34 80241204 24020001 */ addiu $v0, $zero, 1 +/* D2CF38 80241208 3C0142C8 */ lui $at, 0x42c8 +/* D2CF3C 8024120C 4481A000 */ mtc1 $at, $f20 +/* D2CF40 80241210 14620013 */ bne $v1, $v0, .L80241260 +/* D2CF44 80241214 26300038 */ addiu $s0, $s1, 0x38 +/* D2CF48 80241218 3C0142B4 */ lui $at, 0x42b4 +/* D2CF4C 8024121C 4481A000 */ mtc1 $at, $f20 +/* D2CF50 80241220 08090499 */ j .L80241264 +/* D2CF54 80241224 0200202D */ daddu $a0, $s0, $zero +.L80241228: +/* D2CF58 80241228 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D2CF5C 8024122C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D2CF60 80241230 804300B4 */ lb $v1, 0xb4($v0) +/* D2CF64 80241234 3C014218 */ lui $at, 0x4218 +/* D2CF68 80241238 4481A000 */ mtc1 $at, $f20 +/* D2CF6C 8024123C 10600007 */ beqz $v1, .L8024125C +/* D2CF70 80241240 24020001 */ addiu $v0, $zero, 1 +/* D2CF74 80241244 3C0142B4 */ lui $at, 0x42b4 +/* D2CF78 80241248 4481A000 */ mtc1 $at, $f20 +/* D2CF7C 8024124C 14620004 */ bne $v1, $v0, .L80241260 +/* D2CF80 80241250 26300038 */ addiu $s0, $s1, 0x38 +/* D2CF84 80241254 3C014296 */ lui $at, 0x4296 +/* D2CF88 80241258 4481A000 */ mtc1 $at, $f20 +.L8024125C: +/* D2CF8C 8024125C 26300038 */ addiu $s0, $s1, 0x38 +.L80241260: +/* D2CF90 80241260 0200202D */ daddu $a0, $s0, $zero +.L80241264: +/* D2CF94 80241264 3C15800F */ lui $s5, %hi(gPlayerStatusPtr) +/* D2CF98 80241268 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr) +/* D2CF9C 8024126C 4407C000 */ mfc1 $a3, $f24 +/* D2CFA0 80241270 862200A6 */ lh $v0, 0xa6($s1) +/* D2CFA4 80241274 8EA30000 */ lw $v1, ($s5) +/* D2CFA8 80241278 44824000 */ mtc1 $v0, $f8 +/* D2CFAC 8024127C 00000000 */ nop +/* D2CFB0 80241280 46804220 */ cvt.s.w $f8, $f8 +/* D2CFB4 80241284 C4600028 */ lwc1 $f0, 0x28($v1) +/* D2CFB8 80241288 44064000 */ mfc1 $a2, $f8 +/* D2CFBC 8024128C 26330040 */ addiu $s3, $s1, 0x40 +/* D2CFC0 80241290 E6200038 */ swc1 $f0, 0x38($s1) +/* D2CFC4 80241294 C4600030 */ lwc1 $f0, 0x30($v1) +/* D2CFC8 80241298 0260282D */ daddu $a1, $s3, $zero +/* D2CFCC 8024129C 0C00A7E7 */ jal add_vec2D_polar +/* D2CFD0 802412A0 E6200040 */ swc1 $f0, 0x40($s1) +/* D2CFD4 802412A4 862200A6 */ lh $v0, 0xa6($s1) +/* D2CFD8 802412A8 44820000 */ mtc1 $v0, $f0 +/* D2CFDC 802412AC 00000000 */ nop +/* D2CFE0 802412B0 46800020 */ cvt.s.w $f0, $f0 +/* D2CFE4 802412B4 4600A000 */ add.s $f0, $f20, $f0 +/* D2CFE8 802412B8 4406B000 */ mfc1 $a2, $f22 +/* D2CFEC 802412BC 44050000 */ mfc1 $a1, $f0 +/* D2CFF0 802412C0 0C00EA95 */ jal npc_move_heading +/* D2CFF4 802412C4 0220202D */ daddu $a0, $s1, $zero +/* D2CFF8 802412C8 8EC20088 */ lw $v0, 0x88($s6) +/* D2CFFC 802412CC 1440005D */ bnez $v0, .L80241444 +/* D2D000 802412D0 00000000 */ nop +/* D2D004 802412D4 C6200038 */ lwc1 $f0, 0x38($s1) +/* D2D008 802412D8 3C018024 */ lui $at, 0x8024 +/* D2D00C 802412DC D4243F18 */ ldc1 $f4, 0x3f18($at) +/* D2D010 802412E0 46000021 */ cvt.d.s $f0, $f0 +/* D2D014 802412E4 4620203C */ c.lt.d $f4, $f0 +/* D2D018 802412E8 00000000 */ nop +/* D2D01C 802412EC 45000005 */ bc1f .L80241304 +/* D2D020 802412F0 00000000 */ nop +/* D2D024 802412F4 3C0143BE */ lui $at, 0x43be +/* D2D028 802412F8 44810000 */ mtc1 $at, $f0 +/* D2D02C 802412FC 00000000 */ nop +/* D2D030 80241300 E6200038 */ swc1 $f0, 0x38($s1) +.L80241304: +/* D2D034 80241304 C6200038 */ lwc1 $f0, 0x38($s1) +/* D2D038 80241308 3C018024 */ lui $at, 0x8024 +/* D2D03C 8024130C D4223F20 */ ldc1 $f2, 0x3f20($at) +/* D2D040 80241310 46000021 */ cvt.d.s $f0, $f0 +/* D2D044 80241314 4622003C */ c.lt.d $f0, $f2 +/* D2D048 80241318 00000000 */ nop +/* D2D04C 8024131C 45000005 */ bc1f .L80241334 +/* D2D050 80241320 00000000 */ nop +/* D2D054 80241324 3C01C3BE */ lui $at, 0xc3be +/* D2D058 80241328 44810000 */ mtc1 $at, $f0 +/* D2D05C 8024132C 00000000 */ nop +/* D2D060 80241330 E6200038 */ swc1 $f0, 0x38($s1) +.L80241334: +/* D2D064 80241334 C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D068 80241338 46000021 */ cvt.d.s $f0, $f0 +/* D2D06C 8024133C 4620203C */ c.lt.d $f4, $f0 +/* D2D070 80241340 00000000 */ nop +/* D2D074 80241344 45000005 */ bc1f .L8024135C +/* D2D078 80241348 00000000 */ nop +/* D2D07C 8024134C 3C0143BE */ lui $at, 0x43be +/* D2D080 80241350 44810000 */ mtc1 $at, $f0 +/* D2D084 80241354 00000000 */ nop +/* D2D088 80241358 E6200040 */ swc1 $f0, 0x40($s1) +.L8024135C: +/* D2D08C 8024135C C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D090 80241360 46000021 */ cvt.d.s $f0, $f0 +/* D2D094 80241364 4622003C */ c.lt.d $f0, $f2 +/* D2D098 80241368 00000000 */ nop +/* D2D09C 8024136C 45000005 */ bc1f .L80241384 +/* D2D0A0 80241370 00000000 */ nop +/* D2D0A4 80241374 3C01C3BE */ lui $at, 0xc3be +/* D2D0A8 80241378 44810000 */ mtc1 $at, $f0 +/* D2D0AC 8024137C 00000000 */ nop +/* D2D0B0 80241380 E6200040 */ swc1 $f0, 0x40($s1) +.L80241384: +/* D2D0B4 80241384 C6220038 */ lwc1 $f2, 0x38($s1) +/* D2D0B8 80241388 46021082 */ mul.s $f2, $f2, $f2 +/* D2D0BC 8024138C 00000000 */ nop +/* D2D0C0 80241390 C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D0C4 80241394 46000002 */ mul.s $f0, $f0, $f0 +/* D2D0C8 80241398 00000000 */ nop +/* D2D0CC 8024139C 46001300 */ add.s $f12, $f2, $f0 +/* D2D0D0 802413A0 46006004 */ sqrt.s $f0, $f12 +/* D2D0D4 802413A4 46000032 */ c.eq.s $f0, $f0 +/* D2D0D8 802413A8 00000000 */ nop +/* D2D0DC 802413AC 45010003 */ bc1t .L802413BC +/* D2D0E0 802413B0 00000000 */ nop +/* D2D0E4 802413B4 0C0187BC */ jal sqrtf +/* D2D0E8 802413B8 00000000 */ nop +.L802413BC: +/* D2D0EC 802413BC 8E260038 */ lw $a2, 0x38($s1) +/* D2D0F0 802413C0 8E270040 */ lw $a3, 0x40($s1) +/* D2D0F4 802413C4 4480A000 */ mtc1 $zero, $f20 +/* D2D0F8 802413C8 E7A00038 */ swc1 $f0, 0x38($sp) +/* D2D0FC 802413CC 4600A306 */ mov.s $f12, $f20 +/* D2D100 802413D0 0C00A720 */ jal atan2 +/* D2D104 802413D4 4600A386 */ mov.s $f14, $f20 +/* D2D108 802413D8 46000586 */ mov.s $f22, $f0 +/* D2D10C 802413DC C7A20038 */ lwc1 $f2, 0x38($sp) +/* D2D110 802413E0 3C018024 */ lui $at, 0x8024 +/* D2D114 802413E4 D4203F28 */ ldc1 $f0, 0x3f28($at) +/* D2D118 802413E8 460010A1 */ cvt.d.s $f2, $f2 +/* D2D11C 802413EC 4620103C */ c.lt.d $f2, $f0 +/* D2D120 802413F0 00000000 */ nop +/* D2D124 802413F4 45000004 */ bc1f .L80241408 +/* D2D128 802413F8 0200202D */ daddu $a0, $s0, $zero +/* D2D12C 802413FC 3C064398 */ lui $a2, 0x4398 +/* D2D130 80241400 0809050A */ j .L80241428 +/* D2D134 80241404 34C68000 */ ori $a2, $a2, 0x8000 +.L80241408: +/* D2D138 80241408 3C018024 */ lui $at, 0x8024 +/* D2D13C 8024140C D4203F30 */ ldc1 $f0, 0x3f30($at) +/* D2D140 80241410 4622003C */ c.lt.d $f0, $f2 +/* D2D144 80241414 00000000 */ nop +/* D2D148 80241418 450000FA */ bc1f .L80241804 +/* D2D14C 8024141C 00000000 */ nop +/* D2D150 80241420 3C0643BB */ lui $a2, 0x43bb +/* D2D154 80241424 34C68000 */ ori $a2, $a2, 0x8000 +.L80241428: +/* D2D158 80241428 4407B000 */ mfc1 $a3, $f22 +/* D2D15C 8024142C 0260282D */ daddu $a1, $s3, $zero +/* D2D160 80241430 E6340038 */ swc1 $f20, 0x38($s1) +/* D2D164 80241434 0C00A7E7 */ jal add_vec2D_polar +/* D2D168 80241438 E6340040 */ swc1 $f20, 0x40($s1) +/* D2D16C 8024143C 08090601 */ j .L80241804 +/* D2D170 80241440 00000000 */ nop +.L80241444: +/* D2D174 80241444 8E220000 */ lw $v0, ($s1) +/* D2D178 80241448 30420040 */ andi $v0, $v0, 0x40 +/* D2D17C 8024144C 144000B0 */ bnez $v0, .L80241710 +/* D2D180 80241450 27A50020 */ addiu $a1, $sp, 0x20 +/* D2D184 80241454 27B40020 */ addiu $s4, $sp, 0x20 +/* D2D188 80241458 0280282D */ daddu $a1, $s4, $zero +/* D2D18C 8024145C 27B30024 */ addiu $s3, $sp, 0x24 +/* D2D190 80241460 8EA20000 */ lw $v0, ($s5) +/* D2D194 80241464 3C014032 */ lui $at, 0x4032 +/* D2D198 80241468 44811800 */ mtc1 $at, $f3 +/* D2D19C 8024146C 44801000 */ mtc1 $zero, $f2 +/* D2D1A0 80241470 C440002C */ lwc1 $f0, 0x2c($v0) +/* D2D1A4 80241474 C4460028 */ lwc1 $f6, 0x28($v0) +/* D2D1A8 80241478 C4440030 */ lwc1 $f4, 0x30($v0) +/* D2D1AC 8024147C 46000021 */ cvt.d.s $f0, $f0 +/* D2D1B0 80241480 46220000 */ add.d $f0, $f0, $f2 +/* D2D1B4 80241484 E7A60020 */ swc1 $f6, 0x20($sp) +/* D2D1B8 80241488 E7A40028 */ swc1 $f4, 0x28($sp) +/* D2D1BC 8024148C 46200020 */ cvt.s.d $f0, $f0 +/* D2D1C0 80241490 E7A00024 */ swc1 $f0, 0x24($sp) +/* D2D1C4 80241494 E7B40010 */ swc1 $f20, 0x10($sp) +/* D2D1C8 80241498 E7B60014 */ swc1 $f22, 0x14($sp) +/* D2D1CC 8024149C 862200A8 */ lh $v0, 0xa8($s1) +/* D2D1D0 802414A0 0260302D */ daddu $a2, $s3, $zero +/* D2D1D4 802414A4 44820000 */ mtc1 $v0, $f0 +/* D2D1D8 802414A8 00000000 */ nop +/* D2D1DC 802414AC 46800020 */ cvt.s.w $f0, $f0 +/* D2D1E0 802414B0 E7A00018 */ swc1 $f0, 0x18($sp) +/* D2D1E4 802414B4 862200A6 */ lh $v0, 0xa6($s1) +/* D2D1E8 802414B8 27B00028 */ addiu $s0, $sp, 0x28 +/* D2D1EC 802414BC 44820000 */ mtc1 $v0, $f0 +/* D2D1F0 802414C0 00000000 */ nop +/* D2D1F4 802414C4 46800020 */ cvt.s.w $f0, $f0 +/* D2D1F8 802414C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D2D1FC 802414CC 8E240080 */ lw $a0, 0x80($s1) +/* D2D200 802414D0 0C037711 */ jal func_800DDC44 +/* D2D204 802414D4 0200382D */ daddu $a3, $s0, $zero +/* D2D208 802414D8 104000CA */ beqz $v0, .L80241804 +/* D2D20C 802414DC 0280282D */ daddu $a1, $s4, $zero +/* D2D210 802414E0 8EA20000 */ lw $v0, ($s5) +/* D2D214 802414E4 3C018024 */ lui $at, 0x8024 +/* D2D218 802414E8 D4223F38 */ ldc1 $f2, 0x3f38($at) +/* D2D21C 802414EC C440002C */ lwc1 $f0, 0x2c($v0) +/* D2D220 802414F0 C4460028 */ lwc1 $f6, 0x28($v0) +/* D2D224 802414F4 C4440030 */ lwc1 $f4, 0x30($v0) +/* D2D228 802414F8 46000021 */ cvt.d.s $f0, $f0 +/* D2D22C 802414FC 46220000 */ add.d $f0, $f0, $f2 +/* D2D230 80241500 E7A60020 */ swc1 $f6, 0x20($sp) +/* D2D234 80241504 E7A40028 */ swc1 $f4, 0x28($sp) +/* D2D238 80241508 46200020 */ cvt.s.d $f0, $f0 +/* D2D23C 8024150C E7A00024 */ swc1 $f0, 0x24($sp) +/* D2D240 80241510 E7B40010 */ swc1 $f20, 0x10($sp) +/* D2D244 80241514 E7B60014 */ swc1 $f22, 0x14($sp) +/* D2D248 80241518 862200A8 */ lh $v0, 0xa8($s1) +/* D2D24C 8024151C 44820000 */ mtc1 $v0, $f0 +/* D2D250 80241520 00000000 */ nop +/* D2D254 80241524 46800020 */ cvt.s.w $f0, $f0 +/* D2D258 80241528 E7A00018 */ swc1 $f0, 0x18($sp) +/* D2D25C 8024152C 862200A6 */ lh $v0, 0xa6($s1) +/* D2D260 80241530 0260302D */ daddu $a2, $s3, $zero +/* D2D264 80241534 44820000 */ mtc1 $v0, $f0 +/* D2D268 80241538 00000000 */ nop +/* D2D26C 8024153C 46800020 */ cvt.s.w $f0, $f0 +/* D2D270 80241540 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D2D274 80241544 8E240080 */ lw $a0, 0x80($s1) +/* D2D278 80241548 0C037711 */ jal func_800DDC44 +/* D2D27C 8024154C 0200382D */ daddu $a3, $s0, $zero +/* D2D280 80241550 27A5002C */ addiu $a1, $sp, 0x2c +/* D2D284 80241554 27A60030 */ addiu $a2, $sp, 0x30 +/* D2D288 80241558 27A70034 */ addiu $a3, $sp, 0x34 +/* D2D28C 8024155C 27A30038 */ addiu $v1, $sp, 0x38 +/* D2D290 80241560 C6220038 */ lwc1 $f2, 0x38($s1) +/* D2D294 80241564 C620003C */ lwc1 $f0, 0x3c($s1) +/* D2D298 80241568 3C014348 */ lui $at, 0x4348 +/* D2D29C 8024156C 44813000 */ mtc1 $at, $f6 +/* D2D2A0 80241570 46000021 */ cvt.d.s $f0, $f0 +/* D2D2A4 80241574 E7A2002C */ swc1 $f2, 0x2c($sp) +/* D2D2A8 80241578 3C014059 */ lui $at, 0x4059 +/* D2D2AC 8024157C 44811800 */ mtc1 $at, $f3 +/* D2D2B0 80241580 44801000 */ mtc1 $zero, $f2 +/* D2D2B4 80241584 C6240040 */ lwc1 $f4, 0x40($s1) +/* D2D2B8 80241588 46220000 */ add.d $f0, $f0, $f2 +/* D2D2BC 8024158C E7A60038 */ swc1 $f6, 0x38($sp) +/* D2D2C0 80241590 E7A40034 */ swc1 $f4, 0x34($sp) +/* D2D2C4 80241594 46200020 */ cvt.s.d $f0, $f0 +/* D2D2C8 80241598 E7A00030 */ swc1 $f0, 0x30($sp) +/* D2D2CC 8024159C AFA30010 */ sw $v1, 0x10($sp) +/* D2D2D0 802415A0 8E240080 */ lw $a0, 0x80($s1) +/* D2D2D4 802415A4 0C0372DF */ jal func_800DCB7C +/* D2D2D8 802415A8 0040802D */ daddu $s0, $v0, $zero +/* D2D2DC 802415AC 1600001C */ bnez $s0, .L80241620 +/* D2D2E0 802415B0 00000000 */ nop +/* D2D2E4 802415B4 1040001A */ beqz $v0, .L80241620 +/* D2D2E8 802415B8 00000000 */ nop +/* D2D2EC 802415BC C7A20038 */ lwc1 $f2, 0x38($sp) +/* D2D2F0 802415C0 3C014054 */ lui $at, 0x4054 +/* D2D2F4 802415C4 44810800 */ mtc1 $at, $f1 +/* D2D2F8 802415C8 44800000 */ mtc1 $zero, $f0 +/* D2D2FC 802415CC 460010A1 */ cvt.d.s $f2, $f2 +/* D2D300 802415D0 4622003C */ c.lt.d $f0, $f2 +/* D2D304 802415D4 00000000 */ nop +/* D2D308 802415D8 45000011 */ bc1f .L80241620 +/* D2D30C 802415DC 00000000 */ nop +/* D2D310 802415E0 3C01405E */ lui $at, 0x405e +/* D2D314 802415E4 44810800 */ mtc1 $at, $f1 +/* D2D318 802415E8 44800000 */ mtc1 $zero, $f0 +/* D2D31C 802415EC 00000000 */ nop +/* D2D320 802415F0 4620103C */ c.lt.d $f2, $f0 +/* D2D324 802415F4 00000000 */ nop +/* D2D328 802415F8 45000009 */ bc1f .L80241620 +/* D2D32C 802415FC 00000000 */ nop +/* D2D330 80241600 C622003C */ lwc1 $f2, 0x3c($s1) +/* D2D334 80241604 C7A00030 */ lwc1 $f0, 0x30($sp) +/* D2D338 80241608 46001032 */ c.eq.s $f2, $f0 +/* D2D33C 8024160C 00000000 */ nop +/* D2D340 80241610 45010003 */ bc1t .L80241620 +/* D2D344 80241614 00000000 */ nop +/* D2D348 80241618 08090601 */ j .L80241804 +/* D2D34C 8024161C 241E0001 */ addiu $fp, $zero, 1 +.L80241620: +/* D2D350 80241620 3C10800F */ lui $s0, %hi(gPlayerStatusPtr) +/* D2D354 80241624 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr) +/* D2D358 80241628 8E020000 */ lw $v0, ($s0) +/* D2D35C 8024162C 3C014024 */ lui $at, 0x4024 +/* D2D360 80241630 44811800 */ mtc1 $at, $f3 +/* D2D364 80241634 44801000 */ mtc1 $zero, $f2 +/* D2D368 80241638 C440002C */ lwc1 $f0, 0x2c($v0) +/* D2D36C 8024163C C4460028 */ lwc1 $f6, 0x28($v0) +/* D2D370 80241640 C4440030 */ lwc1 $f4, 0x30($v0) +/* D2D374 80241644 46000021 */ cvt.d.s $f0, $f0 +/* D2D378 80241648 46220000 */ add.d $f0, $f0, $f2 +/* D2D37C 8024164C E7A60020 */ swc1 $f6, 0x20($sp) +/* D2D380 80241650 E7A40028 */ swc1 $f4, 0x28($sp) +/* D2D384 80241654 46200020 */ cvt.s.d $f0, $f0 +/* D2D388 80241658 E7A00024 */ swc1 $f0, 0x24($sp) +/* D2D38C 8024165C E7B40010 */ swc1 $f20, 0x10($sp) +/* D2D390 80241660 E7B60014 */ swc1 $f22, 0x14($sp) +/* D2D394 80241664 862200A8 */ lh $v0, 0xa8($s1) +/* D2D398 80241668 27A50020 */ addiu $a1, $sp, 0x20 +/* D2D39C 8024166C 44820000 */ mtc1 $v0, $f0 +/* D2D3A0 80241670 00000000 */ nop +/* D2D3A4 80241674 46800020 */ cvt.s.w $f0, $f0 +/* D2D3A8 80241678 E7A00018 */ swc1 $f0, 0x18($sp) +/* D2D3AC 8024167C 862200A6 */ lh $v0, 0xa6($s1) +/* D2D3B0 80241680 27A60024 */ addiu $a2, $sp, 0x24 +/* D2D3B4 80241684 44820000 */ mtc1 $v0, $f0 +/* D2D3B8 80241688 00000000 */ nop +/* D2D3BC 8024168C 46800020 */ cvt.s.w $f0, $f0 +/* D2D3C0 80241690 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D2D3C4 80241694 8E240080 */ lw $a0, 0x80($s1) +/* D2D3C8 80241698 0C037711 */ jal func_800DDC44 +/* D2D3CC 8024169C 27A70028 */ addiu $a3, $sp, 0x28 +/* D2D3D0 802416A0 8FA60020 */ lw $a2, 0x20($sp) +/* D2D3D4 802416A4 8E020000 */ lw $v0, ($s0) +/* D2D3D8 802416A8 8FA70028 */ lw $a3, 0x28($sp) +/* D2D3DC 802416AC C44C0028 */ lwc1 $f12, 0x28($v0) +/* D2D3E0 802416B0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* D2D3E4 802416B4 0C00A7B5 */ jal dist2D +/* D2D3E8 802416B8 24170001 */ addiu $s7, $zero, 1 +/* D2D3EC 802416BC 46000506 */ mov.s $f20, $f0 +/* D2D3F0 802416C0 8E030000 */ lw $v1, ($s0) +/* D2D3F4 802416C4 862200A6 */ lh $v0, 0xa6($s1) +/* D2D3F8 802416C8 4407C000 */ mfc1 $a3, $f24 +/* D2D3FC 802416CC 44824000 */ mtc1 $v0, $f8 +/* D2D400 802416D0 00000000 */ nop +/* D2D404 802416D4 46804220 */ cvt.s.w $f8, $f8 +/* D2D408 802416D8 C4600028 */ lwc1 $f0, 0x28($v1) +/* D2D40C 802416DC 44064000 */ mfc1 $a2, $f8 +/* D2D410 802416E0 26240038 */ addiu $a0, $s1, 0x38 +/* D2D414 802416E4 E6200038 */ swc1 $f0, 0x38($s1) +/* D2D418 802416E8 C4600030 */ lwc1 $f0, 0x30($v1) +/* D2D41C 802416EC 26250040 */ addiu $a1, $s1, 0x40 +/* D2D420 802416F0 0C00A7E7 */ jal add_vec2D_polar +/* D2D424 802416F4 E6200040 */ swc1 $f0, 0x40($s1) +/* D2D428 802416F8 862200A6 */ lh $v0, 0xa6($s1) +/* D2D42C 802416FC 44820000 */ mtc1 $v0, $f0 +/* D2D430 80241700 00000000 */ nop +/* D2D434 80241704 46800020 */ cvt.s.w $f0, $f0 +/* D2D438 80241708 080905FD */ j .L802417F4 +/* D2D43C 8024170C 4600A500 */ add.s $f20, $f20, $f0 +.L80241710: +/* D2D440 80241710 8EA20000 */ lw $v0, ($s5) +/* D2D444 80241714 3C014032 */ lui $at, 0x4032 +/* D2D448 80241718 44811800 */ mtc1 $at, $f3 +/* D2D44C 8024171C 44801000 */ mtc1 $zero, $f2 +/* D2D450 80241720 C440002C */ lwc1 $f0, 0x2c($v0) +/* D2D454 80241724 C4460028 */ lwc1 $f6, 0x28($v0) +/* D2D458 80241728 C4440030 */ lwc1 $f4, 0x30($v0) +/* D2D45C 8024172C 46000021 */ cvt.d.s $f0, $f0 +/* D2D460 80241730 46220000 */ add.d $f0, $f0, $f2 +/* D2D464 80241734 E7A60020 */ swc1 $f6, 0x20($sp) +/* D2D468 80241738 E7A40028 */ swc1 $f4, 0x28($sp) +/* D2D46C 8024173C 46200020 */ cvt.s.d $f0, $f0 +/* D2D470 80241740 E7A00024 */ swc1 $f0, 0x24($sp) +/* D2D474 80241744 E7B40010 */ swc1 $f20, 0x10($sp) +/* D2D478 80241748 E7B60014 */ swc1 $f22, 0x14($sp) +/* D2D47C 8024174C 862200A8 */ lh $v0, 0xa8($s1) +/* D2D480 80241750 44820000 */ mtc1 $v0, $f0 +/* D2D484 80241754 00000000 */ nop +/* D2D488 80241758 46800020 */ cvt.s.w $f0, $f0 +/* D2D48C 8024175C E7A00018 */ swc1 $f0, 0x18($sp) +/* D2D490 80241760 862200A6 */ lh $v0, 0xa6($s1) +/* D2D494 80241764 27A60024 */ addiu $a2, $sp, 0x24 +/* D2D498 80241768 44820000 */ mtc1 $v0, $f0 +/* D2D49C 8024176C 00000000 */ nop +/* D2D4A0 80241770 46800020 */ cvt.s.w $f0, $f0 +/* D2D4A4 80241774 E7A0001C */ swc1 $f0, 0x1c($sp) +/* D2D4A8 80241778 8E240080 */ lw $a0, 0x80($s1) +/* D2D4AC 8024177C 0C037711 */ jal func_800DDC44 +/* D2D4B0 80241780 27A70028 */ addiu $a3, $sp, 0x28 +/* D2D4B4 80241784 1040001F */ beqz $v0, .L80241804 +/* D2D4B8 80241788 00000000 */ nop +/* D2D4BC 8024178C 8FA60020 */ lw $a2, 0x20($sp) +/* D2D4C0 80241790 8EA20000 */ lw $v0, ($s5) +/* D2D4C4 80241794 8FA70028 */ lw $a3, 0x28($sp) +/* D2D4C8 80241798 C44C0028 */ lwc1 $f12, 0x28($v0) +/* D2D4CC 8024179C 0C00A7B5 */ jal dist2D +/* D2D4D0 802417A0 C44E0030 */ lwc1 $f14, 0x30($v0) +/* D2D4D4 802417A4 46000506 */ mov.s $f20, $f0 +/* D2D4D8 802417A8 8EA30000 */ lw $v1, ($s5) +/* D2D4DC 802417AC 862200A6 */ lh $v0, 0xa6($s1) +/* D2D4E0 802417B0 4407C000 */ mfc1 $a3, $f24 +/* D2D4E4 802417B4 44824000 */ mtc1 $v0, $f8 +/* D2D4E8 802417B8 00000000 */ nop +/* D2D4EC 802417BC 46804220 */ cvt.s.w $f8, $f8 +/* D2D4F0 802417C0 C4600028 */ lwc1 $f0, 0x28($v1) +/* D2D4F4 802417C4 44064000 */ mfc1 $a2, $f8 +/* D2D4F8 802417C8 0200202D */ daddu $a0, $s0, $zero +/* D2D4FC 802417CC E6200038 */ swc1 $f0, 0x38($s1) +/* D2D500 802417D0 C4600030 */ lwc1 $f0, 0x30($v1) +/* D2D504 802417D4 0260282D */ daddu $a1, $s3, $zero +/* D2D508 802417D8 0C00A7E7 */ jal add_vec2D_polar +/* D2D50C 802417DC E6200040 */ swc1 $f0, 0x40($s1) +/* D2D510 802417E0 862200A6 */ lh $v0, 0xa6($s1) +/* D2D514 802417E4 44820000 */ mtc1 $v0, $f0 +/* D2D518 802417E8 00000000 */ nop +/* D2D51C 802417EC 46800020 */ cvt.s.w $f0, $f0 +/* D2D520 802417F0 4600A500 */ add.s $f20, $f20, $f0 +.L802417F4: +/* D2D524 802417F4 4406B000 */ mfc1 $a2, $f22 +/* D2D528 802417F8 4405A000 */ mfc1 $a1, $f20 +/* D2D52C 802417FC 0C00EA95 */ jal npc_move_heading +/* D2D530 80241800 0220202D */ daddu $a0, $s1, $zero +.L80241804: +/* D2D534 80241804 C6400008 */ lwc1 $f0, 8($s2) +/* D2D538 80241808 46800020 */ cvt.s.w $f0, $f0 +/* D2D53C 8024180C 44050000 */ mfc1 $a1, $f0 +/* D2D540 80241810 C640000C */ lwc1 $f0, 0xc($s2) +/* D2D544 80241814 46800020 */ cvt.s.w $f0, $f0 +/* D2D548 80241818 44060000 */ mfc1 $a2, $f0 +/* D2D54C 8024181C C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D550 80241820 26300038 */ addiu $s0, $s1, 0x38 +/* D2D554 80241824 E7A00010 */ swc1 $f0, 0x10($sp) +/* D2D558 80241828 C6400010 */ lwc1 $f0, 0x10($s2) +/* D2D55C 8024182C 46800020 */ cvt.s.w $f0, $f0 +/* D2D560 80241830 E7A00014 */ swc1 $f0, 0x14($sp) +/* D2D564 80241834 C6400014 */ lwc1 $f0, 0x14($s2) +/* D2D568 80241838 46800020 */ cvt.s.w $f0, $f0 +/* D2D56C 8024183C E7A00018 */ swc1 $f0, 0x18($sp) +/* D2D570 80241840 8E440004 */ lw $a0, 4($s2) +/* D2D574 80241844 8E270038 */ lw $a3, 0x38($s1) +/* D2D578 80241848 0C0123F5 */ jal is_point_within_region +/* D2D57C 8024184C 26330040 */ addiu $s3, $s1, 0x40 +/* D2D580 80241850 1040005A */ beqz $v0, .L802419BC +/* D2D584 80241854 00000000 */ nop +/* D2D588 80241858 8E430004 */ lw $v1, 4($s2) +/* D2D58C 8024185C 10600005 */ beqz $v1, .L80241874 +/* D2D590 80241860 24020001 */ addiu $v0, $zero, 1 +/* D2D594 80241864 10620029 */ beq $v1, $v0, .L8024190C +/* D2D598 80241868 00000000 */ nop +/* D2D59C 8024186C 0809066F */ j .L802419BC +/* D2D5A0 80241870 00000000 */ nop +.L80241874: +/* D2D5A4 80241874 C6480008 */ lwc1 $f8, 8($s2) +/* D2D5A8 80241878 46804220 */ cvt.s.w $f8, $f8 +/* D2D5AC 8024187C 44064000 */ mfc1 $a2, $f8 +/* D2D5B0 80241880 C648000C */ lwc1 $f8, 0xc($s2) +/* D2D5B4 80241884 46804220 */ cvt.s.w $f8, $f8 +/* D2D5B8 80241888 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D2D5BC 8024188C C62E0040 */ lwc1 $f14, 0x40($s1) +/* D2D5C0 80241890 44074000 */ mfc1 $a3, $f8 +/* D2D5C4 80241894 0C00A7B5 */ jal dist2D +/* D2D5C8 80241898 00000000 */ nop +/* D2D5CC 8024189C C6420010 */ lwc1 $f2, 0x10($s2) +/* D2D5D0 802418A0 468010A0 */ cvt.s.w $f2, $f2 +/* D2D5D4 802418A4 4600103C */ c.lt.s $f2, $f0 +/* D2D5D8 802418A8 00000000 */ nop +/* D2D5DC 802418AC 45000043 */ bc1f .L802419BC +/* D2D5E0 802418B0 E7A00038 */ swc1 $f0, 0x38($sp) +/* D2D5E4 802418B4 C64C0008 */ lwc1 $f12, 8($s2) +/* D2D5E8 802418B8 46806320 */ cvt.s.w $f12, $f12 +/* D2D5EC 802418BC 8E260038 */ lw $a2, 0x38($s1) +/* D2D5F0 802418C0 8E270040 */ lw $a3, 0x40($s1) +/* D2D5F4 802418C4 C64E000C */ lwc1 $f14, 0xc($s2) +/* D2D5F8 802418C8 0C00A720 */ jal atan2 +/* D2D5FC 802418CC 468073A0 */ cvt.s.w $f14, $f14 +/* D2D600 802418D0 0200202D */ daddu $a0, $s0, $zero +/* D2D604 802418D4 44070000 */ mfc1 $a3, $f0 +/* D2D608 802418D8 C6400008 */ lwc1 $f0, 8($s2) +/* D2D60C 802418DC 46800020 */ cvt.s.w $f0, $f0 +/* D2D610 802418E0 E6200038 */ swc1 $f0, 0x38($s1) +/* D2D614 802418E4 C640000C */ lwc1 $f0, 0xc($s2) +/* D2D618 802418E8 46800020 */ cvt.s.w $f0, $f0 +/* D2D61C 802418EC E6200040 */ swc1 $f0, 0x40($s1) +/* D2D620 802418F0 C6480010 */ lwc1 $f8, 0x10($s2) +/* D2D624 802418F4 46804220 */ cvt.s.w $f8, $f8 +/* D2D628 802418F8 44064000 */ mfc1 $a2, $f8 +/* D2D62C 802418FC 0C00A7E7 */ jal add_vec2D_polar +/* D2D630 80241900 0260282D */ daddu $a1, $s3, $zero +/* D2D634 80241904 0809066F */ j .L802419BC +/* D2D638 80241908 00000000 */ nop +.L8024190C: +/* D2D63C 8024190C 8E420008 */ lw $v0, 8($s2) +/* D2D640 80241910 8E430010 */ lw $v1, 0x10($s2) +/* D2D644 80241914 C6200038 */ lwc1 $f0, 0x38($s1) +/* D2D648 80241918 00431021 */ addu $v0, $v0, $v1 +/* D2D64C 8024191C 44821000 */ mtc1 $v0, $f2 +/* D2D650 80241920 00000000 */ nop +/* D2D654 80241924 468010A0 */ cvt.s.w $f2, $f2 +/* D2D658 80241928 4600103C */ c.lt.s $f2, $f0 +/* D2D65C 8024192C 00000000 */ nop +/* D2D660 80241930 45030001 */ bc1tl .L80241938 +/* D2D664 80241934 E6220038 */ swc1 $f2, 0x38($s1) +.L80241938: +/* D2D668 80241938 8E420008 */ lw $v0, 8($s2) +/* D2D66C 8024193C 8E430010 */ lw $v1, 0x10($s2) +/* D2D670 80241940 C6200038 */ lwc1 $f0, 0x38($s1) +/* D2D674 80241944 00431023 */ subu $v0, $v0, $v1 +/* D2D678 80241948 44821000 */ mtc1 $v0, $f2 +/* D2D67C 8024194C 00000000 */ nop +/* D2D680 80241950 468010A0 */ cvt.s.w $f2, $f2 +/* D2D684 80241954 4602003C */ c.lt.s $f0, $f2 +/* D2D688 80241958 00000000 */ nop +/* D2D68C 8024195C 45030001 */ bc1tl .L80241964 +/* D2D690 80241960 E6220038 */ swc1 $f2, 0x38($s1) +.L80241964: +/* D2D694 80241964 8E42000C */ lw $v0, 0xc($s2) +/* D2D698 80241968 8E430014 */ lw $v1, 0x14($s2) +/* D2D69C 8024196C C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D6A0 80241970 00431021 */ addu $v0, $v0, $v1 +/* D2D6A4 80241974 44821000 */ mtc1 $v0, $f2 +/* D2D6A8 80241978 00000000 */ nop +/* D2D6AC 8024197C 468010A0 */ cvt.s.w $f2, $f2 +/* D2D6B0 80241980 4600103C */ c.lt.s $f2, $f0 +/* D2D6B4 80241984 00000000 */ nop +/* D2D6B8 80241988 45030001 */ bc1tl .L80241990 +/* D2D6BC 8024198C E6220040 */ swc1 $f2, 0x40($s1) +.L80241990: +/* D2D6C0 80241990 8E42000C */ lw $v0, 0xc($s2) +/* D2D6C4 80241994 8E430014 */ lw $v1, 0x14($s2) +/* D2D6C8 80241998 C6200040 */ lwc1 $f0, 0x40($s1) +/* D2D6CC 8024199C 00431023 */ subu $v0, $v0, $v1 +/* D2D6D0 802419A0 44821000 */ mtc1 $v0, $f2 +/* D2D6D4 802419A4 00000000 */ nop +/* D2D6D8 802419A8 468010A0 */ cvt.s.w $f2, $f2 +/* D2D6DC 802419AC 4602003C */ c.lt.s $f0, $f2 +/* D2D6E0 802419B0 00000000 */ nop +/* D2D6E4 802419B4 45030001 */ bc1tl .L802419BC +/* D2D6E8 802419B8 E6220040 */ swc1 $f2, 0x40($s1) +.L802419BC: +/* D2D6EC 802419BC 16E0001F */ bnez $s7, .L80241A3C +/* D2D6F0 802419C0 00000000 */ nop +/* D2D6F4 802419C4 8E220000 */ lw $v0, ($s1) +/* D2D6F8 802419C8 30420008 */ andi $v0, $v0, 8 +/* D2D6FC 802419CC 10400003 */ beqz $v0, .L802419DC +/* D2D700 802419D0 27A50020 */ addiu $a1, $sp, 0x20 +/* D2D704 802419D4 13C00019 */ beqz $fp, .L80241A3C +/* D2D708 802419D8 00000000 */ nop +.L802419DC: +/* D2D70C 802419DC 27A60024 */ addiu $a2, $sp, 0x24 +/* D2D710 802419E0 27A20038 */ addiu $v0, $sp, 0x38 +/* D2D714 802419E4 C6220038 */ lwc1 $f2, 0x38($s1) +/* D2D718 802419E8 C620003C */ lwc1 $f0, 0x3c($s1) +/* D2D71C 802419EC 3C0143C8 */ lui $at, 0x43c8 +/* D2D720 802419F0 44813000 */ mtc1 $at, $f6 +/* D2D724 802419F4 46000021 */ cvt.d.s $f0, $f0 +/* D2D728 802419F8 E7A20020 */ swc1 $f2, 0x20($sp) +/* D2D72C 802419FC 3C018024 */ lui $at, 0x8024 +/* D2D730 80241A00 D4223F40 */ ldc1 $f2, 0x3f40($at) +/* D2D734 80241A04 C6240040 */ lwc1 $f4, 0x40($s1) +/* D2D738 80241A08 46220000 */ add.d $f0, $f0, $f2 +/* D2D73C 80241A0C E7A60038 */ swc1 $f6, 0x38($sp) +/* D2D740 80241A10 E7A40028 */ swc1 $f4, 0x28($sp) +/* D2D744 80241A14 46200020 */ cvt.s.d $f0, $f0 +/* D2D748 80241A18 E7A00024 */ swc1 $f0, 0x24($sp) +/* D2D74C 80241A1C AFA20010 */ sw $v0, 0x10($sp) +/* D2D750 80241A20 8E240080 */ lw $a0, 0x80($s1) +/* D2D754 80241A24 0C0372DF */ jal func_800DCB7C +/* D2D758 80241A28 27A70028 */ addiu $a3, $sp, 0x28 +/* D2D75C 80241A2C 10400003 */ beqz $v0, .L80241A3C +/* D2D760 80241A30 00000000 */ nop +/* D2D764 80241A34 C7A00024 */ lwc1 $f0, 0x24($sp) +/* D2D768 80241A38 E620003C */ swc1 $f0, 0x3c($s1) +.L80241A3C: +/* D2D76C 80241A3C C62C0038 */ lwc1 $f12, 0x38($s1) +/* D2D770 80241A40 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* D2D774 80241A44 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* D2D778 80241A48 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D2D77C 80241A4C 8C460028 */ lw $a2, 0x28($v0) +/* D2D780 80241A50 0C00A720 */ jal atan2 +/* D2D784 80241A54 8C470030 */ lw $a3, 0x30($v0) +/* D2D788 80241A58 0220202D */ daddu $a0, $s1, $zero +/* D2D78C 80241A5C 24050321 */ addiu $a1, $zero, 0x321 +/* D2D790 80241A60 0000302D */ daddu $a2, $zero, $zero +/* D2D794 80241A64 0C012530 */ jal func_800494C0 +/* D2D798 80241A68 E620000C */ swc1 $f0, 0xc($s1) +/* D2D79C 80241A6C 8EC200CC */ lw $v0, 0xcc($s6) +/* D2D7A0 80241A70 8C420024 */ lw $v0, 0x24($v0) +/* D2D7A4 80241A74 AE220028 */ sw $v0, 0x28($s1) +/* D2D7A8 80241A78 96C20096 */ lhu $v0, 0x96($s6) +/* D2D7AC 80241A7C A622008E */ sh $v0, 0x8e($s1) +/* D2D7B0 80241A80 8FA80080 */ lw $t0, 0x80($sp) +/* D2D7B4 80241A84 2402000B */ addiu $v0, $zero, 0xb +/* D2D7B8 80241A88 AD020070 */ sw $v0, 0x70($t0) +.L80241A8C: +/* D2D7BC 80241A8C 8FBF0064 */ lw $ra, 0x64($sp) +/* D2D7C0 80241A90 8FBE0060 */ lw $fp, 0x60($sp) +/* D2D7C4 80241A94 8FB7005C */ lw $s7, 0x5c($sp) +/* D2D7C8 80241A98 8FB60058 */ lw $s6, 0x58($sp) +/* D2D7CC 80241A9C 8FB50054 */ lw $s5, 0x54($sp) +/* D2D7D0 80241AA0 8FB40050 */ lw $s4, 0x50($sp) +/* D2D7D4 80241AA4 8FB3004C */ lw $s3, 0x4c($sp) +/* D2D7D8 80241AA8 8FB20048 */ lw $s2, 0x48($sp) +/* D2D7DC 80241AAC 8FB10044 */ lw $s1, 0x44($sp) +/* D2D7E0 80241AB0 8FB00040 */ lw $s0, 0x40($sp) +/* D2D7E4 80241AB4 D7B80078 */ ldc1 $f24, 0x78($sp) +/* D2D7E8 80241AB8 D7B60070 */ ldc1 $f22, 0x70($sp) +/* D2D7EC 80241ABC D7B40068 */ ldc1 $f20, 0x68($sp) +/* D2D7F0 80241AC0 03E00008 */ jr $ra +/* D2D7F4 80241AC4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241AC8.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241AC8.s new file mode 100644 index 0000000000..1aafc40197 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241AC8.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AC8 +/* D2D7F8 80241AC8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2D7FC 80241ACC AFB10014 */ sw $s1, 0x14($sp) +/* D2D800 80241AD0 0080882D */ daddu $s1, $a0, $zero +/* D2D804 80241AD4 AFBF0018 */ sw $ra, 0x18($sp) +/* D2D808 80241AD8 AFB00010 */ sw $s0, 0x10($sp) +/* D2D80C 80241ADC 8E300148 */ lw $s0, 0x148($s1) +/* D2D810 80241AE0 0C00EABB */ jal get_npc_unsafe +/* D2D814 80241AE4 86040008 */ lh $a0, 8($s0) +/* D2D818 80241AE8 0040202D */ daddu $a0, $v0, $zero +/* D2D81C 80241AEC 9482008E */ lhu $v0, 0x8e($a0) +/* D2D820 80241AF0 2442FFFF */ addiu $v0, $v0, -1 +/* D2D824 80241AF4 A482008E */ sh $v0, 0x8e($a0) +/* D2D828 80241AF8 00021400 */ sll $v0, $v0, 0x10 +/* D2D82C 80241AFC 8E030098 */ lw $v1, 0x98($s0) +/* D2D830 80241B00 00021403 */ sra $v0, $v0, 0x10 +/* D2D834 80241B04 0062182A */ slt $v1, $v1, $v0 +/* D2D838 80241B08 14600005 */ bnez $v1, .L80241B20 +/* D2D83C 80241B0C 3C03E0EF */ lui $v1, 0xe0ef +/* D2D840 80241B10 8E020000 */ lw $v0, ($s0) +/* D2D844 80241B14 3463FFFF */ ori $v1, $v1, 0xffff +/* D2D848 80241B18 00431024 */ and $v0, $v0, $v1 +/* D2D84C 80241B1C AE020000 */ sw $v0, ($s0) +.L80241B20: +/* D2D850 80241B20 8482008E */ lh $v0, 0x8e($a0) +/* D2D854 80241B24 14400007 */ bnez $v0, .L80241B44 +/* D2D858 80241B28 00000000 */ nop +/* D2D85C 80241B2C 8E0200CC */ lw $v0, 0xcc($s0) +/* D2D860 80241B30 8C420028 */ lw $v0, 0x28($v0) +/* D2D864 80241B34 A480008E */ sh $zero, 0x8e($a0) +/* D2D868 80241B38 AC820028 */ sw $v0, 0x28($a0) +/* D2D86C 80241B3C 2402000C */ addiu $v0, $zero, 0xc +/* D2D870 80241B40 AE220070 */ sw $v0, 0x70($s1) +.L80241B44: +/* D2D874 80241B44 8FBF0018 */ lw $ra, 0x18($sp) +/* D2D878 80241B48 8FB10014 */ lw $s1, 0x14($sp) +/* D2D87C 80241B4C 8FB00010 */ lw $s0, 0x10($sp) +/* D2D880 80241B50 03E00008 */ jr $ra +/* D2D884 80241B54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241B58_D2BD30.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241B58_D2BD30.s new file mode 100644 index 0000000000..e8a3e156d7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241B58_D2BD30.s @@ -0,0 +1,71 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B58_D2D888 +/* D2D888 80241B58 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D2D88C 80241B5C AFB10034 */ sw $s1, 0x34($sp) +/* D2D890 80241B60 0080882D */ daddu $s1, $a0, $zero +/* D2D894 80241B64 AFBF0038 */ sw $ra, 0x38($sp) +/* D2D898 80241B68 AFB00030 */ sw $s0, 0x30($sp) +/* D2D89C 80241B6C 8E300148 */ lw $s0, 0x148($s1) +/* D2D8A0 80241B70 0C00EABB */ jal get_npc_unsafe +/* D2D8A4 80241B74 86040008 */ lh $a0, 8($s0) +/* D2D8A8 80241B78 0040282D */ daddu $a1, $v0, $zero +/* D2D8AC 80241B7C 94A2008E */ lhu $v0, 0x8e($a1) +/* D2D8B0 80241B80 24420001 */ addiu $v0, $v0, 1 +/* D2D8B4 80241B84 A4A2008E */ sh $v0, 0x8e($a1) +/* D2D8B8 80241B88 00021400 */ sll $v0, $v0, 0x10 +/* D2D8BC 80241B8C 8E0300A0 */ lw $v1, 0xa0($s0) +/* D2D8C0 80241B90 00021403 */ sra $v0, $v0, 0x10 +/* D2D8C4 80241B94 14430004 */ bne $v0, $v1, .L80241BA8 +/* D2D8C8 80241B98 00000000 */ nop +/* D2D8CC 80241B9C 8E0200CC */ lw $v0, 0xcc($s0) +/* D2D8D0 80241BA0 8C42002C */ lw $v0, 0x2c($v0) +/* D2D8D4 80241BA4 ACA20028 */ sw $v0, 0x28($a1) +.L80241BA8: +/* D2D8D8 80241BA8 84A3008E */ lh $v1, 0x8e($a1) +/* D2D8DC 80241BAC 8E0200A4 */ lw $v0, 0xa4($s0) +/* D2D8E0 80241BB0 14620002 */ bne $v1, $v0, .L80241BBC +/* D2D8E4 80241BB4 24020003 */ addiu $v0, $zero, 3 +/* D2D8E8 80241BB8 AE02006C */ sw $v0, 0x6c($s0) +.L80241BBC: +/* D2D8EC 80241BBC 84A2008E */ lh $v0, 0x8e($a1) +/* D2D8F0 80241BC0 8E03009C */ lw $v1, 0x9c($s0) +/* D2D8F4 80241BC4 0043102A */ slt $v0, $v0, $v1 +/* D2D8F8 80241BC8 1440001E */ bnez $v0, .L80241C44 +/* D2D8FC 80241BCC 24020004 */ addiu $v0, $zero, 4 +/* D2D900 80241BD0 AE02006C */ sw $v0, 0x6c($s0) +/* D2D904 80241BD4 24020008 */ addiu $v0, $zero, 8 +/* D2D908 80241BD8 24040003 */ addiu $a0, $zero, 3 +/* D2D90C 80241BDC A4A2008E */ sh $v0, 0x8e($a1) +/* D2D910 80241BE0 8E0200CC */ lw $v0, 0xcc($s0) +/* D2D914 80241BE4 84A300A8 */ lh $v1, 0xa8($a1) +/* D2D918 80241BE8 3C013F80 */ lui $at, 0x3f80 +/* D2D91C 80241BEC 44810000 */ mtc1 $at, $f0 +/* D2D920 80241BF0 3C014000 */ lui $at, 0x4000 +/* D2D924 80241BF4 44811000 */ mtc1 $at, $f2 +/* D2D928 80241BF8 3C01C1A0 */ lui $at, 0xc1a0 +/* D2D92C 80241BFC 44812000 */ mtc1 $at, $f4 +/* D2D930 80241C00 44833000 */ mtc1 $v1, $f6 +/* D2D934 80241C04 00000000 */ nop +/* D2D938 80241C08 468031A0 */ cvt.s.w $f6, $f6 +/* D2D93C 80241C0C 8C420000 */ lw $v0, ($v0) +/* D2D940 80241C10 44073000 */ mfc1 $a3, $f6 +/* D2D944 80241C14 0000302D */ daddu $a2, $zero, $zero +/* D2D948 80241C18 ACA20028 */ sw $v0, 0x28($a1) +/* D2D94C 80241C1C 2402000A */ addiu $v0, $zero, 0xa +/* D2D950 80241C20 AFA2001C */ sw $v0, 0x1c($sp) +/* D2D954 80241C24 27A20028 */ addiu $v0, $sp, 0x28 +/* D2D958 80241C28 E7A00010 */ swc1 $f0, 0x10($sp) +/* D2D95C 80241C2C E7A20014 */ swc1 $f2, 0x14($sp) +/* D2D960 80241C30 E7A40018 */ swc1 $f4, 0x18($sp) +/* D2D964 80241C34 0C01BFA4 */ jal fx_emote +/* D2D968 80241C38 AFA20020 */ sw $v0, 0x20($sp) +/* D2D96C 80241C3C 2402000D */ addiu $v0, $zero, 0xd +/* D2D970 80241C40 AE220070 */ sw $v0, 0x70($s1) +.L80241C44: +/* D2D974 80241C44 8FBF0038 */ lw $ra, 0x38($sp) +/* D2D978 80241C48 8FB10034 */ lw $s1, 0x34($sp) +/* D2D97C 80241C4C 8FB00030 */ lw $s0, 0x30($sp) +/* D2D980 80241C50 03E00008 */ jr $ra +/* D2D984 80241C54 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241C58.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241C58.s new file mode 100644 index 0000000000..b2baf5c18d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241C58.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C58 +/* D2D988 80241C58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2D98C 80241C5C AFB10014 */ sw $s1, 0x14($sp) +/* D2D990 80241C60 0080882D */ daddu $s1, $a0, $zero +/* D2D994 80241C64 AFBF0018 */ sw $ra, 0x18($sp) +/* D2D998 80241C68 AFB00010 */ sw $s0, 0x10($sp) +/* D2D99C 80241C6C 8E300148 */ lw $s0, 0x148($s1) +/* D2D9A0 80241C70 0C00EABB */ jal get_npc_unsafe +/* D2D9A4 80241C74 86040008 */ lh $a0, 8($s0) +/* D2D9A8 80241C78 0040182D */ daddu $v1, $v0, $zero +/* D2D9AC 80241C7C 9462008E */ lhu $v0, 0x8e($v1) +/* D2D9B0 80241C80 2442FFFF */ addiu $v0, $v0, -1 +/* D2D9B4 80241C84 A462008E */ sh $v0, 0x8e($v1) +/* D2D9B8 80241C88 00021400 */ sll $v0, $v0, 0x10 +/* D2D9BC 80241C8C 14400005 */ bnez $v0, .L80241CA4 +/* D2D9C0 80241C90 00000000 */ nop +/* D2D9C4 80241C94 960200AA */ lhu $v0, 0xaa($s0) +/* D2D9C8 80241C98 A462008E */ sh $v0, 0x8e($v1) +/* D2D9CC 80241C9C 2402000E */ addiu $v0, $zero, 0xe +/* D2D9D0 80241CA0 AE220070 */ sw $v0, 0x70($s1) +.L80241CA4: +/* D2D9D4 80241CA4 8FBF0018 */ lw $ra, 0x18($sp) +/* D2D9D8 80241CA8 8FB10014 */ lw $s1, 0x14($sp) +/* D2D9DC 80241CAC 8FB00010 */ lw $s0, 0x10($sp) +/* D2D9E0 80241CB0 03E00008 */ jr $ra +/* D2D9E4 80241CB4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241CB8.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241CB8.s new file mode 100644 index 0000000000..f8eb8019a2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241CB8.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CB8 +/* D2D9E8 80241CB8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D2D9EC 80241CBC AFB40040 */ sw $s4, 0x40($sp) +/* D2D9F0 80241CC0 0080A02D */ daddu $s4, $a0, $zero +/* D2D9F4 80241CC4 AFBF0044 */ sw $ra, 0x44($sp) +/* D2D9F8 80241CC8 AFB3003C */ sw $s3, 0x3c($sp) +/* D2D9FC 80241CCC AFB20038 */ sw $s2, 0x38($sp) +/* D2DA00 80241CD0 AFB10034 */ sw $s1, 0x34($sp) +/* D2DA04 80241CD4 AFB00030 */ sw $s0, 0x30($sp) +/* D2DA08 80241CD8 8E910148 */ lw $s1, 0x148($s4) +/* D2DA0C 80241CDC 00A0902D */ daddu $s2, $a1, $zero +/* D2DA10 80241CE0 86240008 */ lh $a0, 8($s1) +/* D2DA14 80241CE4 0C00EABB */ jal get_npc_unsafe +/* D2DA18 80241CE8 00C0982D */ daddu $s3, $a2, $zero +/* D2DA1C 80241CEC 0040802D */ daddu $s0, $v0, $zero +/* D2DA20 80241CF0 9602008E */ lhu $v0, 0x8e($s0) +/* D2DA24 80241CF4 2442FFFF */ addiu $v0, $v0, -1 +/* D2DA28 80241CF8 A602008E */ sh $v0, 0x8e($s0) +/* D2DA2C 80241CFC 00021400 */ sll $v0, $v0, 0x10 +/* D2DA30 80241D00 14400020 */ bnez $v0, .L80241D84 +/* D2DA34 80241D04 0260202D */ daddu $a0, $s3, $zero +/* D2DA38 80241D08 AFA00010 */ sw $zero, 0x10($sp) +/* D2DA3C 80241D0C 8E46000C */ lw $a2, 0xc($s2) +/* D2DA40 80241D10 8E470010 */ lw $a3, 0x10($s2) +/* D2DA44 80241D14 0C01242D */ jal func_800490B4 +/* D2DA48 80241D18 0220282D */ daddu $a1, $s1, $zero +/* D2DA4C 80241D1C 54400018 */ bnel $v0, $zero, .L80241D80 +/* D2DA50 80241D20 A600008E */ sh $zero, 0x8e($s0) +/* D2DA54 80241D24 24040002 */ addiu $a0, $zero, 2 +/* D2DA58 80241D28 0200282D */ daddu $a1, $s0, $zero +/* D2DA5C 80241D2C 0000302D */ daddu $a2, $zero, $zero +/* D2DA60 80241D30 860300A8 */ lh $v1, 0xa8($s0) +/* D2DA64 80241D34 3C013F80 */ lui $at, 0x3f80 +/* D2DA68 80241D38 44810000 */ mtc1 $at, $f0 +/* D2DA6C 80241D3C 3C014000 */ lui $at, 0x4000 +/* D2DA70 80241D40 44811000 */ mtc1 $at, $f2 +/* D2DA74 80241D44 3C01C1A0 */ lui $at, 0xc1a0 +/* D2DA78 80241D48 44812000 */ mtc1 $at, $f4 +/* D2DA7C 80241D4C 2402000F */ addiu $v0, $zero, 0xf +/* D2DA80 80241D50 AFA2001C */ sw $v0, 0x1c($sp) +/* D2DA84 80241D54 44833000 */ mtc1 $v1, $f6 +/* D2DA88 80241D58 00000000 */ nop +/* D2DA8C 80241D5C 468031A0 */ cvt.s.w $f6, $f6 +/* D2DA90 80241D60 44073000 */ mfc1 $a3, $f6 +/* D2DA94 80241D64 27A20028 */ addiu $v0, $sp, 0x28 +/* D2DA98 80241D68 AFA20020 */ sw $v0, 0x20($sp) +/* D2DA9C 80241D6C E7A00010 */ swc1 $f0, 0x10($sp) +/* D2DAA0 80241D70 E7A20014 */ swc1 $f2, 0x14($sp) +/* D2DAA4 80241D74 0C01BFA4 */ jal fx_emote +/* D2DAA8 80241D78 E7A40018 */ swc1 $f4, 0x18($sp) +/* D2DAAC 80241D7C A600008E */ sh $zero, 0x8e($s0) +.L80241D80: +/* D2DAB0 80241D80 AE800070 */ sw $zero, 0x70($s4) +.L80241D84: +/* D2DAB4 80241D84 8FBF0044 */ lw $ra, 0x44($sp) +/* D2DAB8 80241D88 8FB40040 */ lw $s4, 0x40($sp) +/* D2DABC 80241D8C 8FB3003C */ lw $s3, 0x3c($sp) +/* D2DAC0 80241D90 8FB20038 */ lw $s2, 0x38($sp) +/* D2DAC4 80241D94 8FB10034 */ lw $s1, 0x34($sp) +/* D2DAC8 80241D98 8FB00030 */ lw $s0, 0x30($sp) +/* D2DACC 80241D9C 03E00008 */ jr $ra +/* D2DAD0 80241DA0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_07/func_80241DA4.s b/asm/nonmatchings/world/area_sam/sam_07/func_80241DA4.s new file mode 100644 index 0000000000..4018c114d1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_07/func_80241DA4.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DA4 +/* D2DAD4 80241DA4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D2DAD8 80241DA8 AFB20038 */ sw $s2, 0x38($sp) +/* D2DADC 80241DAC 0080902D */ daddu $s2, $a0, $zero +/* D2DAE0 80241DB0 AFBF0048 */ sw $ra, 0x48($sp) +/* D2DAE4 80241DB4 AFB50044 */ sw $s5, 0x44($sp) +/* D2DAE8 80241DB8 AFB40040 */ sw $s4, 0x40($sp) +/* D2DAEC 80241DBC AFB3003C */ sw $s3, 0x3c($sp) +/* D2DAF0 80241DC0 AFB10034 */ sw $s1, 0x34($sp) +/* D2DAF4 80241DC4 AFB00030 */ sw $s0, 0x30($sp) +/* D2DAF8 80241DC8 8E510148 */ lw $s1, 0x148($s2) +/* D2DAFC 80241DCC 86240008 */ lh $a0, 8($s1) +/* D2DB00 80241DD0 0C00EABB */ jal get_npc_unsafe +/* D2DB04 80241DD4 00A0802D */ daddu $s0, $a1, $zero +/* D2DB08 80241DD8 8E43000C */ lw $v1, 0xc($s2) +/* D2DB0C 80241DDC 0240202D */ daddu $a0, $s2, $zero +/* D2DB10 80241DE0 8C650000 */ lw $a1, ($v1) +/* D2DB14 80241DE4 0C0B1EAF */ jal get_variable +/* D2DB18 80241DE8 0040A82D */ daddu $s5, $v0, $zero +/* D2DB1C 80241DEC AFA00010 */ sw $zero, 0x10($sp) +/* D2DB20 80241DF0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2DB24 80241DF4 8C630030 */ lw $v1, 0x30($v1) +/* D2DB28 80241DF8 AFA30014 */ sw $v1, 0x14($sp) +/* D2DB2C 80241DFC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2DB30 80241E00 8C63001C */ lw $v1, 0x1c($v1) +/* D2DB34 80241E04 AFA30018 */ sw $v1, 0x18($sp) +/* D2DB38 80241E08 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2DB3C 80241E0C 8C630024 */ lw $v1, 0x24($v1) +/* D2DB40 80241E10 AFA3001C */ sw $v1, 0x1c($sp) +/* D2DB44 80241E14 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2DB48 80241E18 8C630028 */ lw $v1, 0x28($v1) +/* D2DB4C 80241E1C 27B40010 */ addiu $s4, $sp, 0x10 +/* D2DB50 80241E20 AFA30020 */ sw $v1, 0x20($sp) +/* D2DB54 80241E24 8E2300D0 */ lw $v1, 0xd0($s1) +/* D2DB58 80241E28 3C014348 */ lui $at, 0x4348 +/* D2DB5C 80241E2C 44810000 */ mtc1 $at, $f0 +/* D2DB60 80241E30 8C63002C */ lw $v1, 0x2c($v1) +/* D2DB64 80241E34 0040982D */ daddu $s3, $v0, $zero +/* D2DB68 80241E38 E7A00028 */ swc1 $f0, 0x28($sp) +/* D2DB6C 80241E3C A7A0002C */ sh $zero, 0x2c($sp) +/* D2DB70 80241E40 16000005 */ bnez $s0, .L80241E58 +/* D2DB74 80241E44 AFA30024 */ sw $v1, 0x24($sp) +/* D2DB78 80241E48 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2DB7C 80241E4C 30420004 */ andi $v0, $v0, 4 +/* D2DB80 80241E50 10400011 */ beqz $v0, .L80241E98 +/* D2DB84 80241E54 00000000 */ nop +.L80241E58: +/* D2DB88 80241E58 AE400070 */ sw $zero, 0x70($s2) +/* D2DB8C 80241E5C A6A0008E */ sh $zero, 0x8e($s5) +/* D2DB90 80241E60 8E2200CC */ lw $v0, 0xcc($s1) +/* D2DB94 80241E64 8C420000 */ lw $v0, ($v0) +/* D2DB98 80241E68 AEA20028 */ sw $v0, 0x28($s5) +/* D2DB9C 80241E6C 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2DBA0 80241E70 30420004 */ andi $v0, $v0, 4 +/* D2DBA4 80241E74 10400008 */ beqz $v0, .L80241E98 +/* D2DBA8 80241E78 AE20006C */ sw $zero, 0x6c($s1) +/* D2DBAC 80241E7C 24020063 */ addiu $v0, $zero, 0x63 +/* D2DBB0 80241E80 AE420070 */ sw $v0, 0x70($s2) +/* D2DBB4 80241E84 AE400074 */ sw $zero, 0x74($s2) +/* D2DBB8 80241E88 8E2200B0 */ lw $v0, 0xb0($s1) +/* D2DBBC 80241E8C 2403FFFB */ addiu $v1, $zero, -5 +/* D2DBC0 80241E90 00431024 */ and $v0, $v0, $v1 +/* D2DBC4 80241E94 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241E98: +/* D2DBC8 80241E98 8E430070 */ lw $v1, 0x70($s2) +/* D2DBCC 80241E9C 2410000B */ addiu $s0, $zero, 0xb +/* D2DBD0 80241EA0 1070002A */ beq $v1, $s0, .L80241F4C +/* D2DBD4 80241EA4 2862000C */ slti $v0, $v1, 0xc +/* D2DBD8 80241EA8 1040000D */ beqz $v0, .L80241EE0 +/* D2DBDC 80241EAC 24020001 */ addiu $v0, $zero, 1 +/* D2DBE0 80241EB0 1062001A */ beq $v1, $v0, .L80241F1C +/* D2DBE4 80241EB4 28620002 */ slti $v0, $v1, 2 +/* D2DBE8 80241EB8 10400005 */ beqz $v0, .L80241ED0 +/* D2DBEC 80241EBC 2402000A */ addiu $v0, $zero, 0xa +/* D2DBF0 80241EC0 10600013 */ beqz $v1, .L80241F10 +/* D2DBF4 80241EC4 0240202D */ daddu $a0, $s2, $zero +/* D2DBF8 80241EC8 080907F3 */ j .L80241FCC +/* D2DBFC 80241ECC 00000000 */ nop +.L80241ED0: +/* D2DC00 80241ED0 10620018 */ beq $v1, $v0, .L80241F34 +/* D2DC04 80241ED4 0240202D */ daddu $a0, $s2, $zero +/* D2DC08 80241ED8 080907F3 */ j .L80241FCC +/* D2DC0C 80241EDC 00000000 */ nop +.L80241EE0: +/* D2DC10 80241EE0 2402000D */ addiu $v0, $zero, 0xd +/* D2DC14 80241EE4 10620029 */ beq $v1, $v0, .L80241F8C +/* D2DC18 80241EE8 0062102A */ slt $v0, $v1, $v0 +/* D2DC1C 80241EEC 14400020 */ bnez $v0, .L80241F70 +/* D2DC20 80241EF0 0240202D */ daddu $a0, $s2, $zero +/* D2DC24 80241EF4 2402000E */ addiu $v0, $zero, 0xe +/* D2DC28 80241EF8 1062002D */ beq $v1, $v0, .L80241FB0 +/* D2DC2C 80241EFC 24020063 */ addiu $v0, $zero, 0x63 +/* D2DC30 80241F00 10620030 */ beq $v1, $v0, .L80241FC4 +/* D2DC34 80241F04 00000000 */ nop +/* D2DC38 80241F08 080907F3 */ j .L80241FCC +/* D2DC3C 80241F0C 00000000 */ nop +.L80241F10: +/* D2DC40 80241F10 0260282D */ daddu $a1, $s3, $zero +/* D2DC44 80241F14 0C0903C8 */ jal func_80240F20 +/* D2DC48 80241F18 0280302D */ daddu $a2, $s4, $zero +.L80241F1C: +/* D2DC4C 80241F1C 0240202D */ daddu $a0, $s2, $zero +/* D2DC50 80241F20 0260282D */ daddu $a1, $s3, $zero +/* D2DC54 80241F24 0C0903E3 */ jal func_80240F8C +/* D2DC58 80241F28 0280302D */ daddu $a2, $s4, $zero +/* D2DC5C 80241F2C 080907F3 */ j .L80241FCC +/* D2DC60 80241F30 00000000 */ nop +.L80241F34: +/* D2DC64 80241F34 0260282D */ daddu $a1, $s3, $zero +/* D2DC68 80241F38 0C090422 */ jal func_80241088 +/* D2DC6C 80241F3C 0280302D */ daddu $a2, $s4, $zero +/* D2DC70 80241F40 8E420070 */ lw $v0, 0x70($s2) +/* D2DC74 80241F44 14500021 */ bne $v0, $s0, .L80241FCC +/* D2DC78 80241F48 00000000 */ nop +.L80241F4C: +/* D2DC7C 80241F4C 0240202D */ daddu $a0, $s2, $zero +/* D2DC80 80241F50 0260282D */ daddu $a1, $s3, $zero +/* D2DC84 80241F54 0C0906B2 */ jal func_80241AC8 +/* D2DC88 80241F58 0280302D */ daddu $a2, $s4, $zero +/* D2DC8C 80241F5C 8E430070 */ lw $v1, 0x70($s2) +/* D2DC90 80241F60 2402000C */ addiu $v0, $zero, 0xc +/* D2DC94 80241F64 14620019 */ bne $v1, $v0, .L80241FCC +/* D2DC98 80241F68 00000000 */ nop +/* D2DC9C 80241F6C 0240202D */ daddu $a0, $s2, $zero +.L80241F70: +/* D2DCA0 80241F70 0260282D */ daddu $a1, $s3, $zero +/* D2DCA4 80241F74 0C0906D6 */ jal func_80241B58 +/* D2DCA8 80241F78 0280302D */ daddu $a2, $s4, $zero +/* D2DCAC 80241F7C 8E430070 */ lw $v1, 0x70($s2) +/* D2DCB0 80241F80 2402000D */ addiu $v0, $zero, 0xd +/* D2DCB4 80241F84 14620011 */ bne $v1, $v0, .L80241FCC +/* D2DCB8 80241F88 00000000 */ nop +.L80241F8C: +/* D2DCBC 80241F8C 0240202D */ daddu $a0, $s2, $zero +/* D2DCC0 80241F90 0260282D */ daddu $a1, $s3, $zero +/* D2DCC4 80241F94 0C090716 */ jal func_80241C58 +/* D2DCC8 80241F98 0280302D */ daddu $a2, $s4, $zero +/* D2DCCC 80241F9C 8E430070 */ lw $v1, 0x70($s2) +/* D2DCD0 80241FA0 2402000E */ addiu $v0, $zero, 0xe +/* D2DCD4 80241FA4 14620009 */ bne $v1, $v0, .L80241FCC +/* D2DCD8 80241FA8 00000000 */ nop +/* D2DCDC 80241FAC 0240202D */ daddu $a0, $s2, $zero +.L80241FB0: +/* D2DCE0 80241FB0 0260282D */ daddu $a1, $s3, $zero +/* D2DCE4 80241FB4 0C09072E */ jal func_80241CB8 +/* D2DCE8 80241FB8 0280302D */ daddu $a2, $s4, $zero +/* D2DCEC 80241FBC 080907F3 */ j .L80241FCC +/* D2DCF0 80241FC0 00000000 */ nop +.L80241FC4: +/* D2DCF4 80241FC4 0C0129CF */ jal func_8004A73C +/* D2DCF8 80241FC8 0240202D */ daddu $a0, $s2, $zero +.L80241FCC: +/* D2DCFC 80241FCC 8FBF0048 */ lw $ra, 0x48($sp) +/* D2DD00 80241FD0 8FB50044 */ lw $s5, 0x44($sp) +/* D2DD04 80241FD4 8FB40040 */ lw $s4, 0x40($sp) +/* D2DD08 80241FD8 8FB3003C */ lw $s3, 0x3c($sp) +/* D2DD0C 80241FDC 8FB20038 */ lw $s2, 0x38($sp) +/* D2DD10 80241FE0 8FB10034 */ lw $s1, 0x34($sp) +/* D2DD14 80241FE4 8FB00030 */ lw $s0, 0x30($sp) +/* D2DD18 80241FE8 0000102D */ daddu $v0, $zero, $zero +/* D2DD1C 80241FEC 03E00008 */ jr $ra +/* D2DD20 80241FF0 27BD0050 */ addiu $sp, $sp, 0x50 +/* D2DD24 80241FF4 00000000 */ nop +/* D2DD28 80241FF8 00000000 */ nop +/* D2DD2C 80241FFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240000_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240000_D2FC80.s new file mode 100644 index 0000000000..a614bce540 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240000_D2FC80.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D2FC80 +/* D2FC80 80240000 3C03800A */ lui $v1, %hi(D_8009A650) +/* D2FC84 80240004 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* D2FC88 80240008 8C620000 */ lw $v0, ($v1) +/* D2FC8C 8024000C 34420040 */ ori $v0, $v0, 0x40 +/* D2FC90 80240010 AC620000 */ sw $v0, ($v1) +/* D2FC94 80240014 03E00008 */ jr $ra +/* D2FC98 80240018 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_8024001C_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_8024001C_D2FC80.s new file mode 100644 index 0000000000..f6e93e3aa8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_8024001C_D2FC80.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024001C_D2FC9C +/* D2FC9C 8024001C 3C02800A */ lui $v0, %hi(D_8009A650) +/* D2FCA0 80240020 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* D2FCA4 80240024 8C430000 */ lw $v1, ($v0) +/* D2FCA8 80240028 2404FFBF */ addiu $a0, $zero, -0x41 +/* D2FCAC 8024002C 00641824 */ and $v1, $v1, $a0 +/* D2FCB0 80240030 AC430000 */ sw $v1, ($v0) +/* D2FCB4 80240034 03E00008 */ jr $ra +/* D2FCB8 80240038 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_8024003C_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_8024003C_D2FC80.s new file mode 100644 index 0000000000..9c127e88b2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_8024003C_D2FC80.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C_D2FCBC +/* D2FCBC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D2FCC0 80240040 AFBF0010 */ sw $ra, 0x10($sp) +/* D2FCC4 80240044 8C82000C */ lw $v0, 0xc($a0) +/* D2FCC8 80240048 0C0B1EAF */ jal get_variable +/* D2FCCC 8024004C 8C450000 */ lw $a1, ($v0) +/* D2FCD0 80240050 0C0B95A4 */ jal func_802E5690 +/* D2FCD4 80240054 0040202D */ daddu $a0, $v0, $zero +/* D2FCD8 80240058 8FBF0010 */ lw $ra, 0x10($sp) +/* D2FCDC 8024005C 24020002 */ addiu $v0, $zero, 2 +/* D2FCE0 80240060 03E00008 */ jr $ra +/* D2FCE4 80240064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240068_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240068_D2FC80.s new file mode 100644 index 0000000000..dd8cc93a60 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240068_D2FC80.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240068_D2FCE8 +/* D2FCE8 80240068 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D2FCEC 8024006C AFB00010 */ sw $s0, 0x10($sp) +/* D2FCF0 80240070 0080802D */ daddu $s0, $a0, $zero +/* D2FCF4 80240074 AFBF0018 */ sw $ra, 0x18($sp) +/* D2FCF8 80240078 AFB10014 */ sw $s1, 0x14($sp) +/* D2FCFC 8024007C 8E11000C */ lw $s1, 0xc($s0) +/* D2FD00 80240080 8E250000 */ lw $a1, ($s1) +/* D2FD04 80240084 0C0B1EAF */ jal get_variable +/* D2FD08 80240088 26310004 */ addiu $s1, $s1, 4 +/* D2FD0C 8024008C 0200202D */ daddu $a0, $s0, $zero +/* D2FD10 80240090 3C038011 */ lui $v1, %hi(gPlayerData) +/* D2FD14 80240094 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* D2FD18 80240098 000210C0 */ sll $v0, $v0, 3 +/* D2FD1C 8024009C 00431021 */ addu $v0, $v0, $v1 +/* D2FD20 802400A0 90460015 */ lbu $a2, 0x15($v0) +/* D2FD24 802400A4 8E250000 */ lw $a1, ($s1) +/* D2FD28 802400A8 24C60001 */ addiu $a2, $a2, 1 +/* D2FD2C 802400AC A0460015 */ sb $a2, 0x15($v0) +/* D2FD30 802400B0 00063600 */ sll $a2, $a2, 0x18 +/* D2FD34 802400B4 0C0B2026 */ jal set_variable +/* D2FD38 802400B8 00063603 */ sra $a2, $a2, 0x18 +/* D2FD3C 802400BC 8FBF0018 */ lw $ra, 0x18($sp) +/* D2FD40 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* D2FD44 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* D2FD48 802400C8 24020002 */ addiu $v0, $zero, 2 +/* D2FD4C 802400CC 03E00008 */ jr $ra +/* D2FD50 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_802400D4_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_802400D4_D2FC80.s new file mode 100644 index 0000000000..a12e923552 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_802400D4_D2FC80.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D4_D2FD54 +/* D2FD54 802400D4 3C028011 */ lui $v0, %hi(gPlayerData) +/* D2FD58 802400D8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* D2FD5C 802400DC 000420C0 */ sll $a0, $a0, 3 +/* D2FD60 802400E0 00822021 */ addu $a0, $a0, $v0 +/* D2FD64 802400E4 90820014 */ lbu $v0, 0x14($a0) +/* D2FD68 802400E8 10400009 */ beqz $v0, .L80240110 +/* D2FD6C 802400EC 00000000 */ nop +/* D2FD70 802400F0 90820015 */ lbu $v0, 0x15($a0) +/* D2FD74 802400F4 00022600 */ sll $a0, $v0, 0x18 +/* D2FD78 802400F8 00041E03 */ sra $v1, $a0, 0x18 +/* D2FD7C 802400FC 00051400 */ sll $v0, $a1, 0x10 +/* D2FD80 80240100 00021403 */ sra $v0, $v0, 0x10 +/* D2FD84 80240104 0043102A */ slt $v0, $v0, $v1 +/* D2FD88 80240108 10400003 */ beqz $v0, .L80240118 +/* D2FD8C 8024010C 00000000 */ nop +.L80240110: +/* D2FD90 80240110 03E00008 */ jr $ra +/* D2FD94 80240114 2402FFFF */ addiu $v0, $zero, -1 +.L80240118: +/* D2FD98 80240118 03E00008 */ jr $ra +/* D2FD9C 8024011C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240120_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240120_D2FC80.s new file mode 100644 index 0000000000..7f9997a0a9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240120_D2FC80.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240120_D2FDA0 +/* D2FDA0 80240120 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D2FDA4 80240124 AFB3001C */ sw $s3, 0x1c($sp) +/* D2FDA8 80240128 0080982D */ daddu $s3, $a0, $zero +/* D2FDAC 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* D2FDB0 80240130 24100001 */ addiu $s0, $zero, 1 +/* D2FDB4 80240134 AFB40020 */ sw $s4, 0x20($sp) +/* D2FDB8 80240138 2414FFFF */ addiu $s4, $zero, -1 +/* D2FDBC 8024013C AFB50024 */ sw $s5, 0x24($sp) +/* D2FDC0 80240140 0200A82D */ daddu $s5, $s0, $zero +/* D2FDC4 80240144 AFB10014 */ sw $s1, 0x14($sp) +/* D2FDC8 80240148 3C118011 */ lui $s1, 0x8011 +/* D2FDCC 8024014C 2631F298 */ addiu $s1, $s1, -0xd68 +/* D2FDD0 80240150 AFBF0028 */ sw $ra, 0x28($sp) +/* D2FDD4 80240154 AFB20018 */ sw $s2, 0x18($sp) +/* D2FDD8 80240158 8E6200B4 */ lw $v0, 0xb4($s3) +/* D2FDDC 8024015C 0280182D */ daddu $v1, $s4, $zero +/* D2FDE0 80240160 AE630084 */ sw $v1, 0x84($s3) +/* D2FDE4 80240164 00021027 */ nor $v0, $zero, $v0 +/* D2FDE8 80240168 000217C2 */ srl $v0, $v0, 0x1f +/* D2FDEC 8024016C 00029400 */ sll $s2, $v0, 0x10 +.L80240170: +/* D2FDF0 80240170 92220014 */ lbu $v0, 0x14($s1) +/* D2FDF4 80240174 50400008 */ beql $v0, $zero, .L80240198 +/* D2FDF8 80240178 26100001 */ addiu $s0, $s0, 1 +/* D2FDFC 8024017C 0200202D */ daddu $a0, $s0, $zero +/* D2FE00 80240180 0C090035 */ jal func_802400D4 +/* D2FE04 80240184 00122C03 */ sra $a1, $s2, 0x10 +/* D2FE08 80240188 10540003 */ beq $v0, $s4, .L80240198 +/* D2FE0C 8024018C 26100001 */ addiu $s0, $s0, 1 +/* D2FE10 80240190 08090069 */ j .L802401A4 +/* D2FE14 80240194 AE750084 */ sw $s5, 0x84($s3) +.L80240198: +/* D2FE18 80240198 2A02000C */ slti $v0, $s0, 0xc +/* D2FE1C 8024019C 1440FFF4 */ bnez $v0, .L80240170 +/* D2FE20 802401A0 26310008 */ addiu $s1, $s1, 8 +.L802401A4: +/* D2FE24 802401A4 8FBF0028 */ lw $ra, 0x28($sp) +/* D2FE28 802401A8 8FB50024 */ lw $s5, 0x24($sp) +/* D2FE2C 802401AC 8FB40020 */ lw $s4, 0x20($sp) +/* D2FE30 802401B0 8FB3001C */ lw $s3, 0x1c($sp) +/* D2FE34 802401B4 8FB20018 */ lw $s2, 0x18($sp) +/* D2FE38 802401B8 8FB10014 */ lw $s1, 0x14($sp) +/* D2FE3C 802401BC 8FB00010 */ lw $s0, 0x10($sp) +/* D2FE40 802401C0 24020002 */ addiu $v0, $zero, 2 +/* D2FE44 802401C4 03E00008 */ jr $ra +/* D2FE48 802401C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_802401CC_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_802401CC_D2FC80.s new file mode 100644 index 0000000000..2d158b572f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_802401CC_D2FC80.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401CC_D2FE4C +/* D2FE4C 802401CC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D2FE50 802401D0 AFB5002C */ sw $s5, 0x2c($sp) +/* D2FE54 802401D4 0080A82D */ daddu $s5, $a0, $zero +/* D2FE58 802401D8 AFBE0038 */ sw $fp, 0x38($sp) +/* D2FE5C 802401DC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* D2FE60 802401E0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* D2FE64 802401E4 AFBF003C */ sw $ra, 0x3c($sp) +/* D2FE68 802401E8 AFB70034 */ sw $s7, 0x34($sp) +/* D2FE6C 802401EC AFB60030 */ sw $s6, 0x30($sp) +/* D2FE70 802401F0 AFB40028 */ sw $s4, 0x28($sp) +/* D2FE74 802401F4 AFB30024 */ sw $s3, 0x24($sp) +/* D2FE78 802401F8 AFB20020 */ sw $s2, 0x20($sp) +/* D2FE7C 802401FC AFB1001C */ sw $s1, 0x1c($sp) +/* D2FE80 80240200 10A0004F */ beqz $a1, .L80240340 +/* D2FE84 80240204 AFB00018 */ sw $s0, 0x18($sp) +/* D2FE88 80240208 0C00AB39 */ jal heap_malloc +/* D2FE8C 8024020C 24040330 */ addiu $a0, $zero, 0x330 +/* D2FE90 80240210 0040982D */ daddu $s3, $v0, $zero +/* D2FE94 80240214 0000B02D */ daddu $s6, $zero, $zero +/* D2FE98 80240218 02C0902D */ daddu $s2, $s6, $zero +/* D2FE9C 8024021C 3C148024 */ lui $s4, 0x8024 +/* D2FEA0 80240220 26941AE8 */ addiu $s4, $s4, 0x1ae8 +/* D2FEA4 80240224 0260882D */ daddu $s1, $s3, $zero +/* D2FEA8 80240228 8EA200B4 */ lw $v0, 0xb4($s5) +/* D2FEAC 8024022C 3C038024 */ lui $v1, 0x8024 +/* D2FEB0 80240230 24631AE0 */ addiu $v1, $v1, 0x1ae0 +/* D2FEB4 80240234 AEB30078 */ sw $s3, 0x78($s5) +/* D2FEB8 80240238 00021027 */ nor $v0, $zero, $v0 +/* D2FEBC 8024023C 0002BFC2 */ srl $s7, $v0, 0x1f +/* D2FEC0 80240240 00171080 */ sll $v0, $s7, 2 +/* D2FEC4 80240244 00431021 */ addu $v0, $v0, $v1 +/* D2FEC8 80240248 AFA20010 */ sw $v0, 0x10($sp) +.L8024024C: +/* D2FECC 8024024C 86900000 */ lh $s0, ($s4) +/* D2FED0 80240250 001010C0 */ sll $v0, $s0, 3 +/* D2FED4 80240254 03C21021 */ addu $v0, $fp, $v0 +/* D2FED8 80240258 90420014 */ lbu $v0, 0x14($v0) +/* D2FEDC 8024025C 5040002E */ beql $v0, $zero, .L80240318 +/* D2FEE0 80240260 26520001 */ addiu $s2, $s2, 1 +/* D2FEE4 80240264 00101100 */ sll $v0, $s0, 4 +/* D2FEE8 80240268 3C068009 */ lui $a2, 0x8009 +/* D2FEEC 8024026C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* D2FEF0 80240270 00461021 */ addu $v0, $v0, $a2 +/* D2FEF4 80240274 0200202D */ daddu $a0, $s0, $zero +/* D2FEF8 80240278 AE300108 */ sw $s0, 0x108($s1) +/* D2FEFC 8024027C 8C420000 */ lw $v0, ($v0) +/* D2FF00 80240280 02E0282D */ daddu $a1, $s7, $zero +/* D2FF04 80240284 0C090035 */ jal func_802400D4 +/* D2FF08 80240288 AE220084 */ sw $v0, 0x84($s1) +/* D2FF0C 8024028C 0040202D */ daddu $a0, $v0, $zero +/* D2FF10 80240290 04800011 */ bltz $a0, .L802402D8 +/* D2FF14 80240294 00101080 */ sll $v0, $s0, 2 +/* D2FF18 80240298 3C06800F */ lui $a2, 0x800f +/* D2FF1C 8024029C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* D2FF20 802402A0 00461021 */ addu $v0, $v0, $a2 +/* D2FF24 802402A4 8C430000 */ lw $v1, ($v0) +/* D2FF28 802402A8 24020001 */ addiu $v0, $zero, 1 +/* D2FF2C 802402AC AE22018C */ sw $v0, 0x18c($s1) +/* D2FF30 802402B0 00041080 */ sll $v0, $a0, 2 +/* D2FF34 802402B4 3C068024 */ lui $a2, 0x8024 +/* D2FF38 802402B8 24C61AF8 */ addiu $a2, $a2, 0x1af8 +/* D2FF3C 802402BC AE230000 */ sw $v1, ($s1) +/* D2FF40 802402C0 001218C0 */ sll $v1, $s2, 3 +/* D2FF44 802402C4 00431021 */ addu $v0, $v0, $v1 +/* D2FF48 802402C8 00461021 */ addu $v0, $v0, $a2 +/* D2FF4C 802402CC 8C420000 */ lw $v0, ($v0) +/* D2FF50 802402D0 080900BF */ j .L802402FC +/* D2FF54 802402D4 AE220294 */ sw $v0, 0x294($s1) +.L802402D8: +/* D2FF58 802402D8 3C06800F */ lui $a2, 0x800f +/* D2FF5C 802402DC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* D2FF60 802402E0 00461021 */ addu $v0, $v0, $a2 +/* D2FF64 802402E4 8C420000 */ lw $v0, ($v0) +/* D2FF68 802402E8 AE20018C */ sw $zero, 0x18c($s1) +/* D2FF6C 802402EC AE220000 */ sw $v0, ($s1) +/* D2FF70 802402F0 8FA60010 */ lw $a2, 0x10($sp) +/* D2FF74 802402F4 8CC20000 */ lw $v0, ($a2) +/* D2FF78 802402F8 AE220294 */ sw $v0, 0x294($s1) +.L802402FC: +/* D2FF7C 802402FC 001010C0 */ sll $v0, $s0, 3 +/* D2FF80 80240300 03C21021 */ addu $v0, $fp, $v0 +/* D2FF84 80240304 80420015 */ lb $v0, 0x15($v0) +/* D2FF88 80240308 26D60001 */ addiu $s6, $s6, 1 +/* D2FF8C 8024030C AE220210 */ sw $v0, 0x210($s1) +/* D2FF90 80240310 26310004 */ addiu $s1, $s1, 4 +/* D2FF94 80240314 26520001 */ addiu $s2, $s2, 1 +.L80240318: +/* D2FF98 80240318 2A420008 */ slti $v0, $s2, 8 +/* D2FF9C 8024031C 1440FFCB */ bnez $v0, .L8024024C +/* D2FFA0 80240320 26940002 */ addiu $s4, $s4, 2 +/* D2FFA4 80240324 0260202D */ daddu $a0, $s3, $zero +/* D2FFA8 80240328 24020004 */ addiu $v0, $zero, 4 +/* D2FFAC 8024032C AC820318 */ sw $v0, 0x318($a0) +/* D2FFB0 80240330 AC960324 */ sw $s6, 0x324($a0) +/* D2FFB4 80240334 0C03D390 */ jal func_800F4E40 +/* D2FFB8 80240338 AC800328 */ sw $zero, 0x328($a0) +/* D2FFBC 8024033C AEA00070 */ sw $zero, 0x70($s5) +.L80240340: +/* D2FFC0 80240340 8EA20070 */ lw $v0, 0x70($s5) +/* D2FFC4 80240344 8EB30078 */ lw $s3, 0x78($s5) +/* D2FFC8 80240348 14400008 */ bnez $v0, .L8024036C +/* D2FFCC 8024034C 24420001 */ addiu $v0, $v0, 1 +/* D2FFD0 80240350 8662032C */ lh $v0, 0x32c($s3) +/* D2FFD4 80240354 10400009 */ beqz $v0, .L8024037C +/* D2FFD8 80240358 AEA20074 */ sw $v0, 0x74($s5) +/* D2FFDC 8024035C 0C03C4EC */ jal func_800F13B0 +/* D2FFE0 80240360 00000000 */ nop +/* D2FFE4 80240364 8EA20070 */ lw $v0, 0x70($s5) +/* D2FFE8 80240368 24420001 */ addiu $v0, $v0, 1 +.L8024036C: +/* D2FFEC 8024036C AEA20070 */ sw $v0, 0x70($s5) +/* D2FFF0 80240370 2842000F */ slti $v0, $v0, 0xf +/* D2FFF4 80240374 10400003 */ beqz $v0, .L80240384 +/* D2FFF8 80240378 00000000 */ nop +.L8024037C: +/* D2FFFC 8024037C 080900FB */ j .L802403EC +/* D30000 80240380 0000102D */ daddu $v0, $zero, $zero +.L80240384: +/* D30004 80240384 0C03C54E */ jal func_800F1538 +/* D30008 80240388 00000000 */ nop +/* D3000C 8024038C 8EA30074 */ lw $v1, 0x74($s5) +/* D30010 80240390 240200FF */ addiu $v0, $zero, 0xff +/* D30014 80240394 10620010 */ beq $v1, $v0, .L802403D8 +/* D30018 80240398 2462FFFF */ addiu $v0, $v1, -1 +/* D3001C 8024039C 00021080 */ sll $v0, $v0, 2 +/* D30020 802403A0 02621021 */ addu $v0, $s3, $v0 +/* D30024 802403A4 8C420108 */ lw $v0, 0x108($v0) +/* D30028 802403A8 00021100 */ sll $v0, $v0, 4 +/* D3002C 802403AC 3C038009 */ lui $v1, 0x8009 +/* D30030 802403B0 00621821 */ addu $v1, $v1, $v0 +/* D30034 802403B4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* D30038 802403B8 8EA20074 */ lw $v0, 0x74($s5) +/* D3003C 802403BC 2442FFFF */ addiu $v0, $v0, -1 +/* D30040 802403C0 00021080 */ sll $v0, $v0, 2 +/* D30044 802403C4 02621021 */ addu $v0, $s3, $v0 +/* D30048 802403C8 AEA30084 */ sw $v1, 0x84($s5) +/* D3004C 802403CC 8C420108 */ lw $v0, 0x108($v0) +/* D30050 802403D0 080900F8 */ j .L802403E0 +/* D30054 802403D4 AEA20088 */ sw $v0, 0x88($s5) +.L802403D8: +/* D30058 802403D8 2402FFFF */ addiu $v0, $zero, -1 +/* D3005C 802403DC AEA20084 */ sw $v0, 0x84($s5) +.L802403E0: +/* D30060 802403E0 0C00AB4B */ jal heap_free +/* D30064 802403E4 8EA40078 */ lw $a0, 0x78($s5) +/* D30068 802403E8 24020002 */ addiu $v0, $zero, 2 +.L802403EC: +/* D3006C 802403EC 8FBF003C */ lw $ra, 0x3c($sp) +/* D30070 802403F0 8FBE0038 */ lw $fp, 0x38($sp) +/* D30074 802403F4 8FB70034 */ lw $s7, 0x34($sp) +/* D30078 802403F8 8FB60030 */ lw $s6, 0x30($sp) +/* D3007C 802403FC 8FB5002C */ lw $s5, 0x2c($sp) +/* D30080 80240400 8FB40028 */ lw $s4, 0x28($sp) +/* D30084 80240404 8FB30024 */ lw $s3, 0x24($sp) +/* D30088 80240408 8FB20020 */ lw $s2, 0x20($sp) +/* D3008C 8024040C 8FB1001C */ lw $s1, 0x1c($sp) +/* D30090 80240410 8FB00018 */ lw $s0, 0x18($sp) +/* D30094 80240414 03E00008 */ jr $ra +/* D30098 80240418 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_8024041C_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_8024041C_D2FC80.s new file mode 100644 index 0000000000..56d3d9bda2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_8024041C_D2FC80.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024041C_D3009C +/* D3009C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D300A0 80240420 AFBF0010 */ sw $ra, 0x10($sp) +/* D300A4 80240424 8C82000C */ lw $v0, 0xc($a0) +/* D300A8 80240428 0C0B1EAF */ jal get_variable +/* D300AC 8024042C 8C450000 */ lw $a1, ($v0) +/* D300B0 80240430 0C03AC5A */ jal func_800EB168 +/* D300B4 80240434 0040202D */ daddu $a0, $v0, $zero +/* D300B8 80240438 8FBF0010 */ lw $ra, 0x10($sp) +/* D300BC 8024043C 24020002 */ addiu $v0, $zero, 2 +/* D300C0 80240440 03E00008 */ jr $ra +/* D300C4 80240444 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240448_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240448_D2FC80.s new file mode 100644 index 0000000000..0847937065 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240448_D2FC80.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240448_D300C8 +/* D300C8 80240448 3C028011 */ lui $v0, 0x8011 +/* D300CC 8024044C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* D300D0 80240450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D300D4 80240454 AFBF0010 */ sw $ra, 0x10($sp) +/* D300D8 80240458 00021100 */ sll $v0, $v0, 4 +/* D300DC 8024045C 3C048009 */ lui $a0, 0x8009 +/* D300E0 80240460 00822021 */ addu $a0, $a0, $v0 +/* D300E4 80240464 8C84EF20 */ lw $a0, -0x10e0($a0) +/* D300E8 80240468 0C0496CF */ jal set_message_string +/* D300EC 8024046C 0000282D */ daddu $a1, $zero, $zero +/* D300F0 80240470 8FBF0010 */ lw $ra, 0x10($sp) +/* D300F4 80240474 24020002 */ addiu $v0, $zero, 2 +/* D300F8 80240478 03E00008 */ jr $ra +/* D300FC 8024047C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240480_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240480_D2FC80.s new file mode 100644 index 0000000000..fd0828cc3b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240480_D2FC80.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240480_D30100 +/* D30100 80240480 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D30104 80240484 AFB1001C */ sw $s1, 0x1c($sp) +/* D30108 80240488 0080882D */ daddu $s1, $a0, $zero +/* D3010C 8024048C AFBF0020 */ sw $ra, 0x20($sp) +/* D30110 80240490 AFB00018 */ sw $s0, 0x18($sp) +/* D30114 80240494 8E30000C */ lw $s0, 0xc($s1) +/* D30118 80240498 8E050000 */ lw $a1, ($s0) +/* D3011C 8024049C 0C0B1EAF */ jal get_variable +/* D30120 802404A0 26100004 */ addiu $s0, $s0, 4 +/* D30124 802404A4 0C04417A */ jal get_entity_by_index +/* D30128 802404A8 0040202D */ daddu $a0, $v0, $zero +/* D3012C 802404AC 8E100000 */ lw $s0, ($s0) +/* D30130 802404B0 C444004C */ lwc1 $f4, 0x4c($v0) +/* D30134 802404B4 3C014148 */ lui $at, 0x4148 +/* D30138 802404B8 44810000 */ mtc1 $at, $f0 +/* D3013C 802404BC 3C013F33 */ lui $at, 0x3f33 +/* D30140 802404C0 34213333 */ ori $at, $at, 0x3333 +/* D30144 802404C4 44811000 */ mtc1 $at, $f2 +/* D30148 802404C8 AFA00014 */ sw $zero, 0x14($sp) +/* D3014C 802404CC 46002100 */ add.s $f4, $f4, $f0 +/* D30150 802404D0 E7A20010 */ swc1 $f2, 0x10($sp) +/* D30154 802404D4 8C450048 */ lw $a1, 0x48($v0) +/* D30158 802404D8 8C470050 */ lw $a3, 0x50($v0) +/* D3015C 802404DC 44062000 */ mfc1 $a2, $f4 +/* D30160 802404E0 0C01C5D4 */ jal func_80071750 +/* D30164 802404E4 0000202D */ daddu $a0, $zero, $zero +/* D30168 802404E8 0220202D */ daddu $a0, $s1, $zero +/* D3016C 802404EC 0200282D */ daddu $a1, $s0, $zero +/* D30170 802404F0 0C0B2026 */ jal set_variable +/* D30174 802404F4 0040302D */ daddu $a2, $v0, $zero +/* D30178 802404F8 8FBF0020 */ lw $ra, 0x20($sp) +/* D3017C 802404FC 8FB1001C */ lw $s1, 0x1c($sp) +/* D30180 80240500 8FB00018 */ lw $s0, 0x18($sp) +/* D30184 80240504 24020002 */ addiu $v0, $zero, 2 +/* D30188 80240508 03E00008 */ jr $ra +/* D3018C 8024050C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240510_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240510_D2FC80.s new file mode 100644 index 0000000000..1438b879de --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240510_D2FC80.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_D30190 +/* D30190 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D30194 80240514 AFBF0010 */ sw $ra, 0x10($sp) +/* D30198 80240518 8C82000C */ lw $v0, 0xc($a0) +/* D3019C 8024051C 0C0B1EAF */ jal get_variable +/* D301A0 80240520 8C450000 */ lw $a1, ($v0) +/* D301A4 80240524 0040202D */ daddu $a0, $v0, $zero +/* D301A8 80240528 8C830000 */ lw $v1, ($a0) +/* D301AC 8024052C 34630010 */ ori $v1, $v1, 0x10 +/* D301B0 80240530 AC830000 */ sw $v1, ($a0) +/* D301B4 80240534 8FBF0010 */ lw $ra, 0x10($sp) +/* D301B8 80240538 24020002 */ addiu $v0, $zero, 2 +/* D301BC 8024053C 03E00008 */ jr $ra +/* D301C0 80240540 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240544_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240544_D2FC80.s new file mode 100644 index 0000000000..6c7021ba2a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240544_D2FC80.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_D301C4 +/* D301C4 80240544 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D301C8 80240548 AFBF0018 */ sw $ra, 0x18($sp) +/* D301CC 8024054C 8C82000C */ lw $v0, 0xc($a0) +/* D301D0 80240550 0C0B1EAF */ jal get_variable +/* D301D4 80240554 8C450000 */ lw $a1, ($v0) +/* D301D8 80240558 0C04417A */ jal get_entity_by_index +/* D301DC 8024055C 0040202D */ daddu $a0, $v0, $zero +/* D301E0 80240560 3C013F80 */ lui $at, 0x3f80 +/* D301E4 80240564 44810000 */ mtc1 $at, $f0 +/* D301E8 80240568 C442004C */ lwc1 $f2, 0x4c($v0) +/* D301EC 8024056C E7A00010 */ swc1 $f0, 0x10($sp) +/* D301F0 80240570 3C014148 */ lui $at, 0x4148 +/* D301F4 80240574 44810000 */ mtc1 $at, $f0 +/* D301F8 80240578 2403004B */ addiu $v1, $zero, 0x4b +/* D301FC 8024057C AFA30014 */ sw $v1, 0x14($sp) +/* D30200 80240580 46001080 */ add.s $f2, $f2, $f0 +/* D30204 80240584 8C450048 */ lw $a1, 0x48($v0) +/* D30208 80240588 8C470050 */ lw $a3, 0x50($v0) +/* D3020C 8024058C 44061000 */ mfc1 $a2, $f2 +/* D30210 80240590 0C01C2EC */ jal func_80070BB0 +/* D30214 80240594 24040004 */ addiu $a0, $zero, 4 +/* D30218 80240598 8FBF0018 */ lw $ra, 0x18($sp) +/* D3021C 8024059C 24020002 */ addiu $v0, $zero, 2 +/* D30220 802405A0 03E00008 */ jr $ra +/* D30224 802405A4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_802405A8_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_802405A8_D2FC80.s new file mode 100644 index 0000000000..ee60f09b60 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_802405A8_D2FC80.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A8_D30228 +/* D30228 802405A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3022C 802405AC AFBF0018 */ sw $ra, 0x18($sp) +/* D30230 802405B0 0C00EAD2 */ jal get_npc_safe +/* D30234 802405B4 2404FFFC */ addiu $a0, $zero, -4 +/* D30238 802405B8 C444003C */ lwc1 $f4, 0x3c($v0) +/* D3023C 802405BC 3C014148 */ lui $at, 0x4148 +/* D30240 802405C0 44811000 */ mtc1 $at, $f2 +/* D30244 802405C4 3C013F80 */ lui $at, 0x3f80 +/* D30248 802405C8 44810000 */ mtc1 $at, $f0 +/* D3024C 802405CC 2403001E */ addiu $v1, $zero, 0x1e +/* D30250 802405D0 AFA30014 */ sw $v1, 0x14($sp) +/* D30254 802405D4 46022100 */ add.s $f4, $f4, $f2 +/* D30258 802405D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* D3025C 802405DC 8C450038 */ lw $a1, 0x38($v0) +/* D30260 802405E0 8C470040 */ lw $a3, 0x40($v0) +/* D30264 802405E4 44062000 */ mfc1 $a2, $f4 +/* D30268 802405E8 0C01C2EC */ jal func_80070BB0 +/* D3026C 802405EC 24040009 */ addiu $a0, $zero, 9 +/* D30270 802405F0 8FBF0018 */ lw $ra, 0x18($sp) +/* D30274 802405F4 24020002 */ addiu $v0, $zero, 2 +/* D30278 802405F8 03E00008 */ jr $ra +/* D3027C 802405FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240600_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240600_D2FC80.s new file mode 100644 index 0000000000..a99d15a245 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240600_D2FC80.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240600_D30280 +/* D30280 80240600 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* D30284 80240604 AFB60040 */ sw $s6, 0x40($sp) +/* D30288 80240608 0080B02D */ daddu $s6, $a0, $zero +/* D3028C 8024060C AFB00028 */ sw $s0, 0x28($sp) +/* D30290 80240610 00A0802D */ daddu $s0, $a1, $zero +/* D30294 80240614 AFBF0044 */ sw $ra, 0x44($sp) +/* D30298 80240618 AFB5003C */ sw $s5, 0x3c($sp) +/* D3029C 8024061C AFB40038 */ sw $s4, 0x38($sp) +/* D302A0 80240620 AFB30034 */ sw $s3, 0x34($sp) +/* D302A4 80240624 AFB20030 */ sw $s2, 0x30($sp) +/* D302A8 80240628 AFB1002C */ sw $s1, 0x2c($sp) +/* D302AC 8024062C F7B80058 */ sdc1 $f24, 0x58($sp) +/* D302B0 80240630 F7B60050 */ sdc1 $f22, 0x50($sp) +/* D302B4 80240634 F7B40048 */ sdc1 $f20, 0x48($sp) +/* D302B8 80240638 8ED3000C */ lw $s3, 0xc($s6) +/* D302BC 8024063C 0C00EAD2 */ jal get_npc_safe +/* D302C0 80240640 2404FFFC */ addiu $a0, $zero, -4 +/* D302C4 80240644 27A50018 */ addiu $a1, $sp, 0x18 +/* D302C8 80240648 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* D302CC 8024064C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* D302D0 80240650 27A6001C */ addiu $a2, $sp, 0x1c +/* D302D4 80240654 00041880 */ sll $v1, $a0, 2 +/* D302D8 80240658 00641821 */ addu $v1, $v1, $a0 +/* D302DC 8024065C 00031880 */ sll $v1, $v1, 2 +/* D302E0 80240660 00641823 */ subu $v1, $v1, $a0 +/* D302E4 80240664 000320C0 */ sll $a0, $v1, 3 +/* D302E8 80240668 00641821 */ addu $v1, $v1, $a0 +/* D302EC 8024066C 000318C0 */ sll $v1, $v1, 3 +/* D302F0 80240670 3C01800B */ lui $at, 0x800b +/* D302F4 80240674 00230821 */ addu $at, $at, $v1 +/* D302F8 80240678 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* D302FC 8024067C 0C00A88D */ jal sin_cos_deg +/* D30300 80240680 0040A82D */ daddu $s5, $v0, $zero +/* D30304 80240684 1200005D */ beqz $s0, .L802407FC +/* D30308 80240688 00000000 */ nop +/* D3030C 8024068C 0C00AB0A */ jal general_heap_malloc +/* D30310 80240690 24040068 */ addiu $a0, $zero, 0x68 +/* D30314 80240694 0040902D */ daddu $s2, $v0, $zero +/* D30318 80240698 02C0202D */ daddu $a0, $s6, $zero +/* D3031C 8024069C 0000882D */ daddu $s1, $zero, $zero +/* D30320 802406A0 2414FFFF */ addiu $s4, $zero, -1 +/* D30324 802406A4 AED20060 */ sw $s2, 0x60($s6) +/* D30328 802406A8 8E650000 */ lw $a1, ($s3) +/* D3032C 802406AC 3C014148 */ lui $at, 0x4148 +/* D30330 802406B0 4481C000 */ mtc1 $at, $f24 +/* D30334 802406B4 3C013F80 */ lui $at, 0x3f80 +/* D30338 802406B8 4481B000 */ mtc1 $at, $f22 +/* D3033C 802406BC 4480A000 */ mtc1 $zero, $f20 +/* D30340 802406C0 0C0B1EAF */ jal get_variable +/* D30344 802406C4 0240802D */ daddu $s0, $s2, $zero +/* D30348 802406C8 0C04417A */ jal get_entity_by_index +/* D3034C 802406CC 0040202D */ daddu $a0, $v0, $zero +/* D30350 802406D0 AE42005C */ sw $v0, 0x5c($s2) +.L802406D4: +/* D30354 802406D4 8E42005C */ lw $v0, 0x5c($s2) +/* D30358 802406D8 C440004C */ lwc1 $f0, 0x4c($v0) +/* D3035C 802406DC 0000202D */ daddu $a0, $zero, $zero +/* D30360 802406E0 E7B60010 */ swc1 $f22, 0x10($sp) +/* D30364 802406E4 AFB40014 */ sw $s4, 0x14($sp) +/* D30368 802406E8 46180000 */ add.s $f0, $f0, $f24 +/* D3036C 802406EC 8C450048 */ lw $a1, 0x48($v0) +/* D30370 802406F0 8C470050 */ lw $a3, 0x50($v0) +/* D30374 802406F4 44060000 */ mfc1 $a2, $f0 +/* D30378 802406F8 0C01C5BC */ jal func_800716F0 +/* D3037C 802406FC 26310001 */ addiu $s1, $s1, 1 +/* D30380 80240700 AE020008 */ sw $v0, 8($s0) +/* D30384 80240704 E614002C */ swc1 $f20, 0x2c($s0) +/* D30388 80240708 E6140020 */ swc1 $f20, 0x20($s0) +/* D3038C 8024070C E6140014 */ swc1 $f20, 0x14($s0) +/* D30390 80240710 E6140050 */ swc1 $f20, 0x50($s0) +/* D30394 80240714 E6140044 */ swc1 $f20, 0x44($s0) +/* D30398 80240718 E6140038 */ swc1 $f20, 0x38($s0) +/* D3039C 8024071C 2A220003 */ slti $v0, $s1, 3 +/* D303A0 80240720 1440FFEC */ bnez $v0, .L802406D4 +/* D303A4 80240724 26100004 */ addiu $s0, $s0, 4 +/* D303A8 80240728 0000882D */ daddu $s1, $zero, $zero +/* D303AC 8024072C 0240802D */ daddu $s0, $s2, $zero +/* D303B0 80240730 3C148024 */ lui $s4, 0x8024 +/* D303B4 80240734 26941B38 */ addiu $s4, $s4, 0x1b38 +/* D303B8 80240738 3C014248 */ lui $at, 0x4248 +/* D303BC 8024073C 4481A000 */ mtc1 $at, $f20 +/* D303C0 80240740 24130044 */ addiu $s3, $zero, 0x44 +/* D303C4 80240744 AE400000 */ sw $zero, ($s2) +/* D303C8 80240748 AE400004 */ sw $zero, 4($s2) +/* D303CC 8024074C AE400060 */ sw $zero, 0x60($s2) +/* D303D0 80240750 AE400064 */ sw $zero, 0x64($s2) +.L80240754: +/* D303D4 80240754 27A40020 */ addiu $a0, $sp, 0x20 +/* D303D8 80240758 4406A000 */ mfc1 $a2, $f20 +/* D303DC 8024075C 8E870000 */ lw $a3, ($s4) +/* D303E0 80240760 02532821 */ addu $a1, $s2, $s3 +/* D303E4 80240764 0C00A7E7 */ jal add_vec2D_polar +/* D303E8 80240768 AFA00020 */ sw $zero, 0x20($sp) +/* D303EC 8024076C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* D303F0 80240770 C7A40020 */ lwc1 $f4, 0x20($sp) +/* D303F4 80240774 46041082 */ mul.s $f2, $f2, $f4 +/* D303F8 80240778 00000000 */ nop +/* D303FC 8024077C C7A00018 */ lwc1 $f0, 0x18($sp) +/* D30400 80240780 46040002 */ mul.s $f0, $f0, $f4 +/* D30404 80240784 00000000 */ nop +/* D30408 80240788 E6020038 */ swc1 $f2, 0x38($s0) +/* D3040C 8024078C E6000050 */ swc1 $f0, 0x50($s0) +/* D30410 80240790 8E42005C */ lw $v0, 0x5c($s2) +/* D30414 80240794 C6000038 */ lwc1 $f0, 0x38($s0) +/* D30418 80240798 C4420048 */ lwc1 $f2, 0x48($v0) +/* D3041C 8024079C 46001080 */ add.s $f2, $f2, $f0 +/* D30420 802407A0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* D30424 802407A4 46020001 */ sub.s $f0, $f0, $f2 +/* D30428 802407A8 E6000038 */ swc1 $f0, 0x38($s0) +/* D3042C 802407AC 8E42005C */ lw $v0, 0x5c($s2) +/* D30430 802407B0 C6000044 */ lwc1 $f0, 0x44($s0) +/* D30434 802407B4 C442004C */ lwc1 $f2, 0x4c($v0) +/* D30438 802407B8 46001080 */ add.s $f2, $f2, $f0 +/* D3043C 802407BC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* D30440 802407C0 46020001 */ sub.s $f0, $f0, $f2 +/* D30444 802407C4 E6000044 */ swc1 $f0, 0x44($s0) +/* D30448 802407C8 8E42005C */ lw $v0, 0x5c($s2) +/* D3044C 802407CC C6000050 */ lwc1 $f0, 0x50($s0) +/* D30450 802407D0 C4420050 */ lwc1 $f2, 0x50($v0) +/* D30454 802407D4 26940004 */ addiu $s4, $s4, 4 +/* D30458 802407D8 46001080 */ add.s $f2, $f2, $f0 +/* D3045C 802407DC C6A00040 */ lwc1 $f0, 0x40($s5) +/* D30460 802407E0 26730004 */ addiu $s3, $s3, 4 +/* D30464 802407E4 46020001 */ sub.s $f0, $f0, $f2 +/* D30468 802407E8 26310001 */ addiu $s1, $s1, 1 +/* D3046C 802407EC 2A220003 */ slti $v0, $s1, 3 +/* D30470 802407F0 E6000050 */ swc1 $f0, 0x50($s0) +/* D30474 802407F4 1440FFD7 */ bnez $v0, .L80240754 +/* D30478 802407F8 26100004 */ addiu $s0, $s0, 4 +.L802407FC: +/* D3047C 802407FC 8ED20060 */ lw $s2, 0x60($s6) +/* D30480 80240800 8E430000 */ lw $v1, ($s2) +/* D30484 80240804 24020001 */ addiu $v0, $zero, 1 +/* D30488 80240808 10620038 */ beq $v1, $v0, .L802408EC +/* D3048C 8024080C 28620002 */ slti $v0, $v1, 2 +/* D30490 80240810 50400005 */ beql $v0, $zero, .L80240828 +/* D30494 80240814 24020002 */ addiu $v0, $zero, 2 +/* D30498 80240818 10600007 */ beqz $v1, .L80240838 +/* D3049C 8024081C 24040005 */ addiu $a0, $zero, 5 +/* D304A0 80240820 08090274 */ j .L802409D0 +/* D304A4 80240824 00000000 */ nop +.L80240828: +/* D304A8 80240828 10620058 */ beq $v1, $v0, .L8024098C +/* D304AC 8024082C 00000000 */ nop +/* D304B0 80240830 08090274 */ j .L802409D0 +/* D304B4 80240834 00000000 */ nop +.L80240838: +/* D304B8 80240838 0000882D */ daddu $s1, $zero, $zero +/* D304BC 8024083C 3C148024 */ lui $s4, 0x8024 +/* D304C0 80240840 26941B38 */ addiu $s4, $s4, 0x1b38 +/* D304C4 80240844 24130020 */ addiu $s3, $zero, 0x20 +/* D304C8 80240848 3C064248 */ lui $a2, 0x4248 +/* D304CC 8024084C 44800000 */ mtc1 $zero, $f0 +/* D304D0 80240850 24020014 */ addiu $v0, $zero, 0x14 +/* D304D4 80240854 AFA20010 */ sw $v0, 0x10($sp) +/* D304D8 80240858 44050000 */ mfc1 $a1, $f0 +/* D304DC 8024085C 8E470060 */ lw $a3, 0x60($s2) +/* D304E0 80240860 4485B000 */ mtc1 $a1, $f22 +/* D304E4 80240864 0C00A8ED */ jal update_lerp +/* D304E8 80240868 0240802D */ daddu $s0, $s2, $zero +/* D304EC 8024086C 46000506 */ mov.s $f20, $f0 +.L80240870: +/* D304F0 80240870 4406A000 */ mfc1 $a2, $f20 +/* D304F4 80240874 27A40020 */ addiu $a0, $sp, 0x20 +/* D304F8 80240878 E6160020 */ swc1 $f22, 0x20($s0) +/* D304FC 8024087C 8E870000 */ lw $a3, ($s4) +/* D30500 80240880 02532821 */ addu $a1, $s2, $s3 +/* D30504 80240884 0C00A7E7 */ jal add_vec2D_polar +/* D30508 80240888 E7B60020 */ swc1 $f22, 0x20($sp) +/* D3050C 8024088C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* D30510 80240890 C7A00020 */ lwc1 $f0, 0x20($sp) +/* D30514 80240894 46002102 */ mul.s $f4, $f4, $f0 +/* D30518 80240898 00000000 */ nop +/* D3051C 8024089C C7A20018 */ lwc1 $f2, 0x18($sp) +/* D30520 802408A0 26940004 */ addiu $s4, $s4, 4 +/* D30524 802408A4 46001082 */ mul.s $f2, $f2, $f0 +/* D30528 802408A8 00000000 */ nop +/* D3052C 802408AC 26730004 */ addiu $s3, $s3, 4 +/* D30530 802408B0 26310001 */ addiu $s1, $s1, 1 +/* D30534 802408B4 2A220003 */ slti $v0, $s1, 3 +/* D30538 802408B8 E6040014 */ swc1 $f4, 0x14($s0) +/* D3053C 802408BC E602002C */ swc1 $f2, 0x2c($s0) +/* D30540 802408C0 1440FFEB */ bnez $v0, .L80240870 +/* D30544 802408C4 26100004 */ addiu $s0, $s0, 4 +/* D30548 802408C8 8E420060 */ lw $v0, 0x60($s2) +/* D3054C 802408CC 24420001 */ addiu $v0, $v0, 1 +/* D30550 802408D0 AE420060 */ sw $v0, 0x60($s2) +/* D30554 802408D4 28420015 */ slti $v0, $v0, 0x15 +/* D30558 802408D8 1440003D */ bnez $v0, .L802409D0 +/* D3055C 802408DC 24020001 */ addiu $v0, $zero, 1 +/* D30560 802408E0 AE420000 */ sw $v0, ($s2) +/* D30564 802408E4 08090274 */ j .L802409D0 +/* D30568 802408E8 AE400060 */ sw $zero, 0x60($s2) +.L802408EC: +/* D3056C 802408EC 0000882D */ daddu $s1, $zero, $zero +/* D30570 802408F0 3C148024 */ lui $s4, 0x8024 +/* D30574 802408F4 26941B38 */ addiu $s4, $s4, 0x1b38 +/* D30578 802408F8 24130020 */ addiu $s3, $zero, 0x20 +/* D3057C 802408FC 0240802D */ daddu $s0, $s2, $zero +/* D30580 80240900 3C014248 */ lui $at, 0x4248 +/* D30584 80240904 4481A000 */ mtc1 $at, $f20 +/* D30588 80240908 4480B000 */ mtc1 $zero, $f22 +.L8024090C: +/* D3058C 8024090C 4406A000 */ mfc1 $a2, $f20 +/* D30590 80240910 27A40020 */ addiu $a0, $sp, 0x20 +/* D30594 80240914 E6160020 */ swc1 $f22, 0x20($s0) +/* D30598 80240918 8E870000 */ lw $a3, ($s4) +/* D3059C 8024091C 02532821 */ addu $a1, $s2, $s3 +/* D305A0 80240920 0C00A7E7 */ jal add_vec2D_polar +/* D305A4 80240924 E7B60020 */ swc1 $f22, 0x20($sp) +/* D305A8 80240928 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* D305AC 8024092C C7A00020 */ lwc1 $f0, 0x20($sp) +/* D305B0 80240930 46002102 */ mul.s $f4, $f4, $f0 +/* D305B4 80240934 00000000 */ nop +/* D305B8 80240938 C7A20018 */ lwc1 $f2, 0x18($sp) +/* D305BC 8024093C 26940004 */ addiu $s4, $s4, 4 +/* D305C0 80240940 46001082 */ mul.s $f2, $f2, $f0 +/* D305C4 80240944 00000000 */ nop +/* D305C8 80240948 26730004 */ addiu $s3, $s3, 4 +/* D305CC 8024094C 26310001 */ addiu $s1, $s1, 1 +/* D305D0 80240950 2A220003 */ slti $v0, $s1, 3 +/* D305D4 80240954 E6040014 */ swc1 $f4, 0x14($s0) +/* D305D8 80240958 E602002C */ swc1 $f2, 0x2c($s0) +/* D305DC 8024095C 1440FFEB */ bnez $v0, .L8024090C +/* D305E0 80240960 26100004 */ addiu $s0, $s0, 4 +/* D305E4 80240964 8E420060 */ lw $v0, 0x60($s2) +/* D305E8 80240968 24420001 */ addiu $v0, $v0, 1 +/* D305EC 8024096C AE420060 */ sw $v0, 0x60($s2) +/* D305F0 80240970 28420010 */ slti $v0, $v0, 0x10 +/* D305F4 80240974 14400016 */ bnez $v0, .L802409D0 +/* D305F8 80240978 2402000F */ addiu $v0, $zero, 0xf +/* D305FC 8024097C AE420060 */ sw $v0, 0x60($s2) +/* D30600 80240980 24020002 */ addiu $v0, $zero, 2 +/* D30604 80240984 08090274 */ j .L802409D0 +/* D30608 80240988 AE420000 */ sw $v0, ($s2) +.L8024098C: +/* D3060C 8024098C 8E420060 */ lw $v0, 0x60($s2) +/* D30610 80240990 24420001 */ addiu $v0, $v0, 1 +/* D30614 80240994 AE420060 */ sw $v0, 0x60($s2) +/* D30618 80240998 2842001F */ slti $v0, $v0, 0x1f +/* D3061C 8024099C 1440000C */ bnez $v0, .L802409D0 +/* D30620 802409A0 0000882D */ daddu $s1, $zero, $zero +/* D30624 802409A4 0240282D */ daddu $a1, $s2, $zero +.L802409A8: +/* D30628 802409A8 8CA20008 */ lw $v0, 8($a1) +/* D3062C 802409AC 8C430000 */ lw $v1, ($v0) +/* D30630 802409B0 26310001 */ addiu $s1, $s1, 1 +/* D30634 802409B4 34630010 */ ori $v1, $v1, 0x10 +/* D30638 802409B8 AC430000 */ sw $v1, ($v0) +/* D3063C 802409BC 2A220003 */ slti $v0, $s1, 3 +/* D30640 802409C0 1440FFF9 */ bnez $v0, .L802409A8 +/* D30644 802409C4 24A50004 */ addiu $a1, $a1, 4 +/* D30648 802409C8 080902C1 */ j .L80240B04 +/* D3064C 802409CC 24020002 */ addiu $v0, $zero, 2 +.L802409D0: +/* D30650 802409D0 8E430004 */ lw $v1, 4($s2) +/* D30654 802409D4 10600005 */ beqz $v1, .L802409EC +/* D30658 802409D8 24020001 */ addiu $v0, $zero, 1 +/* D3065C 802409DC 1062000B */ beq $v1, $v0, .L80240A0C +/* D30660 802409E0 0000882D */ daddu $s1, $zero, $zero +/* D30664 802409E4 080902B0 */ j .L80240AC0 +/* D30668 802409E8 0240282D */ daddu $a1, $s2, $zero +.L802409EC: +/* D3066C 802409EC 8E420064 */ lw $v0, 0x64($s2) +/* D30670 802409F0 24420001 */ addiu $v0, $v0, 1 +/* D30674 802409F4 AE420064 */ sw $v0, 0x64($s2) +/* D30678 802409F8 28420010 */ slti $v0, $v0, 0x10 +/* D3067C 802409FC 1440002F */ bnez $v0, .L80240ABC +/* D30680 80240A00 0000882D */ daddu $s1, $zero, $zero +/* D30684 80240A04 080902AC */ j .L80240AB0 +/* D30688 80240A08 24020001 */ addiu $v0, $zero, 1 +.L80240A0C: +/* D3068C 80240A0C 4480A000 */ mtc1 $zero, $f20 +/* D30690 80240A10 24130014 */ addiu $s3, $zero, 0x14 +/* D30694 80240A14 0240802D */ daddu $s0, $s2, $zero +.L80240A18: +/* D30698 80240A18 4405A000 */ mfc1 $a1, $f20 +/* D3069C 80240A1C AFB30010 */ sw $s3, 0x10($sp) +/* D306A0 80240A20 8E060038 */ lw $a2, 0x38($s0) +/* D306A4 80240A24 8E470064 */ lw $a3, 0x64($s2) +/* D306A8 80240A28 0C00A8ED */ jal update_lerp +/* D306AC 80240A2C 24040001 */ addiu $a0, $zero, 1 +/* D306B0 80240A30 C6020014 */ lwc1 $f2, 0x14($s0) +/* D306B4 80240A34 46001080 */ add.s $f2, $f2, $f0 +/* D306B8 80240A38 4405A000 */ mfc1 $a1, $f20 +/* D306BC 80240A3C E6020014 */ swc1 $f2, 0x14($s0) +/* D306C0 80240A40 AFB30010 */ sw $s3, 0x10($sp) +/* D306C4 80240A44 8E060044 */ lw $a2, 0x44($s0) +/* D306C8 80240A48 8E470064 */ lw $a3, 0x64($s2) +/* D306CC 80240A4C 0C00A8ED */ jal update_lerp +/* D306D0 80240A50 24040001 */ addiu $a0, $zero, 1 +/* D306D4 80240A54 C6020020 */ lwc1 $f2, 0x20($s0) +/* D306D8 80240A58 46001080 */ add.s $f2, $f2, $f0 +/* D306DC 80240A5C 4405A000 */ mfc1 $a1, $f20 +/* D306E0 80240A60 E6020020 */ swc1 $f2, 0x20($s0) +/* D306E4 80240A64 AFB30010 */ sw $s3, 0x10($sp) +/* D306E8 80240A68 8E060050 */ lw $a2, 0x50($s0) +/* D306EC 80240A6C 8E470064 */ lw $a3, 0x64($s2) +/* D306F0 80240A70 0C00A8ED */ jal update_lerp +/* D306F4 80240A74 24040001 */ addiu $a0, $zero, 1 +/* D306F8 80240A78 C602002C */ lwc1 $f2, 0x2c($s0) +/* D306FC 80240A7C 46001080 */ add.s $f2, $f2, $f0 +/* D30700 80240A80 26310001 */ addiu $s1, $s1, 1 +/* D30704 80240A84 2A220003 */ slti $v0, $s1, 3 +/* D30708 80240A88 E602002C */ swc1 $f2, 0x2c($s0) +/* D3070C 80240A8C 1440FFE2 */ bnez $v0, .L80240A18 +/* D30710 80240A90 26100004 */ addiu $s0, $s0, 4 +/* D30714 80240A94 8E420064 */ lw $v0, 0x64($s2) +/* D30718 80240A98 24420001 */ addiu $v0, $v0, 1 +/* D3071C 80240A9C AE420064 */ sw $v0, 0x64($s2) +/* D30720 80240AA0 28420015 */ slti $v0, $v0, 0x15 +/* D30724 80240AA4 14400005 */ bnez $v0, .L80240ABC +/* D30728 80240AA8 0000882D */ daddu $s1, $zero, $zero +/* D3072C 80240AAC 24020002 */ addiu $v0, $zero, 2 +.L80240AB0: +/* D30730 80240AB0 AE420004 */ sw $v0, 4($s2) +/* D30734 80240AB4 AE400064 */ sw $zero, 0x64($s2) +/* D30738 80240AB8 0000882D */ daddu $s1, $zero, $zero +.L80240ABC: +/* D3073C 80240ABC 0240282D */ daddu $a1, $s2, $zero +.L80240AC0: +/* D30740 80240AC0 8CA20008 */ lw $v0, 8($a1) +/* D30744 80240AC4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* D30748 80240AC8 8C42000C */ lw $v0, 0xc($v0) +/* D3074C 80240ACC E4400010 */ swc1 $f0, 0x10($v0) +/* D30750 80240AD0 8CA20008 */ lw $v0, 8($a1) +/* D30754 80240AD4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* D30758 80240AD8 8C42000C */ lw $v0, 0xc($v0) +/* D3075C 80240ADC 26310001 */ addiu $s1, $s1, 1 +/* D30760 80240AE0 E4400014 */ swc1 $f0, 0x14($v0) +/* D30764 80240AE4 8CA20008 */ lw $v0, 8($a1) +/* D30768 80240AE8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* D3076C 80240AEC 8C42000C */ lw $v0, 0xc($v0) +/* D30770 80240AF0 E4400018 */ swc1 $f0, 0x18($v0) +/* D30774 80240AF4 2A220003 */ slti $v0, $s1, 3 +/* D30778 80240AF8 1440FFF1 */ bnez $v0, .L80240AC0 +/* D3077C 80240AFC 24A50004 */ addiu $a1, $a1, 4 +/* D30780 80240B00 0000102D */ daddu $v0, $zero, $zero +.L80240B04: +/* D30784 80240B04 8FBF0044 */ lw $ra, 0x44($sp) +/* D30788 80240B08 8FB60040 */ lw $s6, 0x40($sp) +/* D3078C 80240B0C 8FB5003C */ lw $s5, 0x3c($sp) +/* D30790 80240B10 8FB40038 */ lw $s4, 0x38($sp) +/* D30794 80240B14 8FB30034 */ lw $s3, 0x34($sp) +/* D30798 80240B18 8FB20030 */ lw $s2, 0x30($sp) +/* D3079C 80240B1C 8FB1002C */ lw $s1, 0x2c($sp) +/* D307A0 80240B20 8FB00028 */ lw $s0, 0x28($sp) +/* D307A4 80240B24 D7B80058 */ ldc1 $f24, 0x58($sp) +/* D307A8 80240B28 D7B60050 */ ldc1 $f22, 0x50($sp) +/* D307AC 80240B2C D7B40048 */ ldc1 $f20, 0x48($sp) +/* D307B0 80240B30 03E00008 */ jr $ra +/* D307B4 80240B34 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240B38_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240B38_D2FC80.s new file mode 100644 index 0000000000..b80c77e16b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240B38_D2FC80.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B38_D307B8 +/* D307B8 80240B38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D307BC 80240B3C AFB10014 */ sw $s1, 0x14($sp) +/* D307C0 80240B40 0080882D */ daddu $s1, $a0, $zero +/* D307C4 80240B44 AFB20018 */ sw $s2, 0x18($sp) +/* D307C8 80240B48 AFBF001C */ sw $ra, 0x1c($sp) +/* D307CC 80240B4C AFB00010 */ sw $s0, 0x10($sp) +/* D307D0 80240B50 8E30000C */ lw $s0, 0xc($s1) +/* D307D4 80240B54 10A00010 */ beqz $a1, .L80240B98 +/* D307D8 80240B58 0000902D */ daddu $s2, $zero, $zero +/* D307DC 80240B5C 8E050000 */ lw $a1, ($s0) +/* D307E0 80240B60 0C0B1EAF */ jal get_variable +/* D307E4 80240B64 26100004 */ addiu $s0, $s0, 4 +/* D307E8 80240B68 AE220084 */ sw $v0, 0x84($s1) +/* D307EC 80240B6C 8E050000 */ lw $a1, ($s0) +/* D307F0 80240B70 0C0B1EAF */ jal get_variable +/* D307F4 80240B74 0220202D */ daddu $a0, $s1, $zero +/* D307F8 80240B78 0240202D */ daddu $a0, $s2, $zero +/* D307FC 80240B7C 240500D0 */ addiu $a1, $zero, 0xd0 +/* D30800 80240B80 00A0302D */ daddu $a2, $a1, $zero +/* D30804 80240B84 00A0382D */ daddu $a3, $a1, $zero +/* D30808 80240B88 AE220088 */ sw $v0, 0x88($s1) +/* D3080C 80240B8C AE200070 */ sw $zero, 0x70($s1) +/* D30810 80240B90 0C04DF84 */ jal func_80137E10 +/* D30814 80240B94 AE200074 */ sw $zero, 0x74($s1) +.L80240B98: +/* D30818 80240B98 8E230070 */ lw $v1, 0x70($s1) +/* D3081C 80240B9C 24040001 */ addiu $a0, $zero, 1 +/* D30820 80240BA0 10640019 */ beq $v1, $a0, .L80240C08 +/* D30824 80240BA4 28620002 */ slti $v0, $v1, 2 +/* D30828 80240BA8 10400005 */ beqz $v0, .L80240BC0 +/* D3082C 80240BAC 24020002 */ addiu $v0, $zero, 2 +/* D30830 80240BB0 10600007 */ beqz $v1, .L80240BD0 +/* D30834 80240BB4 240500FF */ addiu $a1, $zero, 0xff +/* D30838 80240BB8 08090312 */ j .L80240C48 +/* D3083C 80240BBC 00000000 */ nop +.L80240BC0: +/* D30840 80240BC0 10620019 */ beq $v1, $v0, .L80240C28 +/* D30844 80240BC4 00000000 */ nop +/* D30848 80240BC8 08090312 */ j .L80240C48 +/* D3084C 80240BCC 00000000 */ nop +.L80240BD0: +/* D30850 80240BD0 8E220074 */ lw $v0, 0x74($s1) +/* D30854 80240BD4 14450004 */ bne $v0, $a1, .L80240BE8 +/* D30858 80240BD8 00000000 */ nop +/* D3085C 80240BDC AE240070 */ sw $a0, 0x70($s1) +/* D30860 80240BE0 AE200078 */ sw $zero, 0x78($s1) +/* D30864 80240BE4 8E220074 */ lw $v0, 0x74($s1) +.L80240BE8: +/* D30868 80240BE8 8E230084 */ lw $v1, 0x84($s1) +/* D3086C 80240BEC 00431021 */ addu $v0, $v0, $v1 +/* D30870 80240BF0 AE220074 */ sw $v0, 0x74($s1) +/* D30874 80240BF4 28420100 */ slti $v0, $v0, 0x100 +/* D30878 80240BF8 50400013 */ beql $v0, $zero, .L80240C48 +/* D3087C 80240BFC AE250074 */ sw $a1, 0x74($s1) +/* D30880 80240C00 08090312 */ j .L80240C48 +/* D30884 80240C04 00000000 */ nop +.L80240C08: +/* D30888 80240C08 8E220078 */ lw $v0, 0x78($s1) +/* D3088C 80240C0C 24420001 */ addiu $v0, $v0, 1 +/* D30890 80240C10 AE220078 */ sw $v0, 0x78($s1) +/* D30894 80240C14 28420002 */ slti $v0, $v0, 2 +/* D30898 80240C18 1440000B */ bnez $v0, .L80240C48 +/* D3089C 80240C1C 24020002 */ addiu $v0, $zero, 2 +/* D308A0 80240C20 08090312 */ j .L80240C48 +/* D308A4 80240C24 AE220070 */ sw $v0, 0x70($s1) +.L80240C28: +/* D308A8 80240C28 8E230074 */ lw $v1, 0x74($s1) +/* D308AC 80240C2C 50600001 */ beql $v1, $zero, .L80240C34 +/* D308B0 80240C30 24120001 */ addiu $s2, $zero, 1 +.L80240C34: +/* D308B4 80240C34 8E220088 */ lw $v0, 0x88($s1) +/* D308B8 80240C38 00621023 */ subu $v0, $v1, $v0 +/* D308BC 80240C3C 04410002 */ bgez $v0, .L80240C48 +/* D308C0 80240C40 AE220074 */ sw $v0, 0x74($s1) +/* D308C4 80240C44 AE200074 */ sw $zero, 0x74($s1) +.L80240C48: +/* D308C8 80240C48 C6200074 */ lwc1 $f0, 0x74($s1) +/* D308CC 80240C4C 46800020 */ cvt.s.w $f0, $f0 +/* D308D0 80240C50 44050000 */ mfc1 $a1, $f0 +/* D308D4 80240C54 0C04DF62 */ jal func_80137D88 +/* D308D8 80240C58 24040001 */ addiu $a0, $zero, 1 +/* D308DC 80240C5C 0240102D */ daddu $v0, $s2, $zero +/* D308E0 80240C60 8FBF001C */ lw $ra, 0x1c($sp) +/* D308E4 80240C64 8FB20018 */ lw $s2, 0x18($sp) +/* D308E8 80240C68 8FB10014 */ lw $s1, 0x14($sp) +/* D308EC 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* D308F0 80240C70 03E00008 */ jr $ra +/* D308F4 80240C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240C78_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240C78_D2FC80.s new file mode 100644 index 0000000000..7e8a0bf4da --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240C78_D2FC80.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_D308F8 +/* D308F8 80240C78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D308FC 80240C7C AFBF0018 */ sw $ra, 0x18($sp) +/* D30900 80240C80 0C00EAD2 */ jal get_npc_safe +/* D30904 80240C84 2404FFFC */ addiu $a0, $zero, -4 +/* D30908 80240C88 3C0141F0 */ lui $at, 0x41f0 +/* D3090C 80240C8C 44810000 */ mtc1 $at, $f0 +/* D30910 80240C90 C442003C */ lwc1 $f2, 0x3c($v0) +/* D30914 80240C94 46001080 */ add.s $f2, $f2, $f0 +/* D30918 80240C98 E7A00010 */ swc1 $f0, 0x10($sp) +/* D3091C 80240C9C 8C450038 */ lw $a1, 0x38($v0) +/* D30920 80240CA0 8C470040 */ lw $a3, 0x40($v0) +/* D30924 80240CA4 44061000 */ mfc1 $a2, $f2 +/* D30928 80240CA8 0C01BFBC */ jal func_8006FEF0 +/* D3092C 80240CAC 24040002 */ addiu $a0, $zero, 2 +/* D30930 80240CB0 8FBF0018 */ lw $ra, 0x18($sp) +/* D30934 80240CB4 24020002 */ addiu $v0, $zero, 2 +/* D30938 80240CB8 03E00008 */ jr $ra +/* D3093C 80240CBC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240CC0_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240CC0_D2FC80.s new file mode 100644 index 0000000000..f01b5e3382 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240CC0_D2FC80.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CC0_D30940 +/* D30940 80240CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D30944 80240CC4 AFBF0018 */ sw $ra, 0x18($sp) +/* D30948 80240CC8 0C00EAD2 */ jal get_npc_safe +/* D3094C 80240CCC 2404FFFC */ addiu $a0, $zero, -4 +/* D30950 80240CD0 3C0141F0 */ lui $at, 0x41f0 +/* D30954 80240CD4 44810000 */ mtc1 $at, $f0 +/* D30958 80240CD8 C442003C */ lwc1 $f2, 0x3c($v0) +/* D3095C 80240CDC 46001080 */ add.s $f2, $f2, $f0 +/* D30960 80240CE0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D30964 80240CE4 8C450038 */ lw $a1, 0x38($v0) +/* D30968 80240CE8 8C470040 */ lw $a3, 0x40($v0) +/* D3096C 80240CEC 44061000 */ mfc1 $a2, $f2 +/* D30970 80240CF0 0C01BFBC */ jal func_8006FEF0 +/* D30974 80240CF4 24040004 */ addiu $a0, $zero, 4 +/* D30978 80240CF8 8FBF0018 */ lw $ra, 0x18($sp) +/* D3097C 80240CFC 24020002 */ addiu $v0, $zero, 2 +/* D30980 80240D00 03E00008 */ jr $ra +/* D30984 80240D04 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240D08_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240D08_D2FC80.s new file mode 100644 index 0000000000..132e2073df --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240D08_D2FC80.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D08_D30988 +/* D30988 80240D08 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* D3098C 80240D0C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* D30990 80240D10 AC800084 */ sw $zero, 0x84($a0) +/* D30994 80240D14 80620000 */ lb $v0, ($v1) +/* D30998 80240D18 10400005 */ beqz $v0, .L80240D30 +/* D3099C 80240D1C 24020003 */ addiu $v0, $zero, 3 +/* D309A0 80240D20 80630003 */ lb $v1, 3($v1) +/* D309A4 80240D24 14620002 */ bne $v1, $v0, .L80240D30 +/* D309A8 80240D28 24020001 */ addiu $v0, $zero, 1 +/* D309AC 80240D2C AC820084 */ sw $v0, 0x84($a0) +.L80240D30: +/* D309B0 80240D30 03E00008 */ jr $ra +/* D309B4 80240D34 24020002 */ addiu $v0, $zero, 2 +/* D309B8 80240D38 00000000 */ nop +/* D309BC 80240D3C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240D40_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240D40_D2FC80.s new file mode 100644 index 0000000000..344541f18b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240D40_D2FC80.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D40_D309C0 +/* D309C0 80240D40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D309C4 80240D44 AFB10014 */ sw $s1, 0x14($sp) +/* D309C8 80240D48 0080882D */ daddu $s1, $a0, $zero +/* D309CC 80240D4C AFBF0018 */ sw $ra, 0x18($sp) +/* D309D0 80240D50 AFB00010 */ sw $s0, 0x10($sp) +/* D309D4 80240D54 8E300148 */ lw $s0, 0x148($s1) +/* D309D8 80240D58 0C00EABB */ jal get_npc_unsafe +/* D309DC 80240D5C 86040008 */ lh $a0, 8($s0) +/* D309E0 80240D60 24030001 */ addiu $v1, $zero, 1 +/* D309E4 80240D64 0040202D */ daddu $a0, $v0, $zero +/* D309E8 80240D68 AE03006C */ sw $v1, 0x6c($s0) +/* D309EC 80240D6C 8482008C */ lh $v0, 0x8c($a0) +/* D309F0 80240D70 14400009 */ bnez $v0, .L80240D98 +/* D309F4 80240D74 24020002 */ addiu $v0, $zero, 2 +/* D309F8 80240D78 96030072 */ lhu $v1, 0x72($s0) +/* D309FC 80240D7C AE02006C */ sw $v0, 0x6c($s0) +/* D30A00 80240D80 A483008E */ sh $v1, 0x8e($a0) +/* D30A04 80240D84 8E0200CC */ lw $v0, 0xcc($s0) +/* D30A08 80240D88 8C420020 */ lw $v0, 0x20($v0) +/* D30A0C 80240D8C AC820028 */ sw $v0, 0x28($a0) +/* D30A10 80240D90 2402001F */ addiu $v0, $zero, 0x1f +/* D30A14 80240D94 AE220070 */ sw $v0, 0x70($s1) +.L80240D98: +/* D30A18 80240D98 8FBF0018 */ lw $ra, 0x18($sp) +/* D30A1C 80240D9C 8FB10014 */ lw $s1, 0x14($sp) +/* D30A20 80240DA0 8FB00010 */ lw $s0, 0x10($sp) +/* D30A24 80240DA4 03E00008 */ jr $ra +/* D30A28 80240DA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240DAC_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240DAC_D2FC80.s new file mode 100644 index 0000000000..8a249da4c0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240DAC_D2FC80.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DAC_D30A2C +/* D30A2C 80240DAC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D30A30 80240DB0 AFB10014 */ sw $s1, 0x14($sp) +/* D30A34 80240DB4 0080882D */ daddu $s1, $a0, $zero +/* D30A38 80240DB8 AFBF0018 */ sw $ra, 0x18($sp) +/* D30A3C 80240DBC AFB00010 */ sw $s0, 0x10($sp) +/* D30A40 80240DC0 8E300148 */ lw $s0, 0x148($s1) +/* D30A44 80240DC4 0C00EABB */ jal get_npc_unsafe +/* D30A48 80240DC8 86040008 */ lh $a0, 8($s0) +/* D30A4C 80240DCC 0040202D */ daddu $a0, $v0, $zero +/* D30A50 80240DD0 9482008E */ lhu $v0, 0x8e($a0) +/* D30A54 80240DD4 2442FFFF */ addiu $v0, $v0, -1 +/* D30A58 80240DD8 A482008E */ sh $v0, 0x8e($a0) +/* D30A5C 80240DDC 00021400 */ sll $v0, $v0, 0x10 +/* D30A60 80240DE0 1C400009 */ bgtz $v0, .L80240E08 +/* D30A64 80240DE4 24020003 */ addiu $v0, $zero, 3 +/* D30A68 80240DE8 96030076 */ lhu $v1, 0x76($s0) +/* D30A6C 80240DEC AE02006C */ sw $v0, 0x6c($s0) +/* D30A70 80240DF0 A483008E */ sh $v1, 0x8e($a0) +/* D30A74 80240DF4 8E0200CC */ lw $v0, 0xcc($s0) +/* D30A78 80240DF8 8C420024 */ lw $v0, 0x24($v0) +/* D30A7C 80240DFC AC820028 */ sw $v0, 0x28($a0) +/* D30A80 80240E00 24020020 */ addiu $v0, $zero, 0x20 +/* D30A84 80240E04 AE220070 */ sw $v0, 0x70($s1) +.L80240E08: +/* D30A88 80240E08 8FBF0018 */ lw $ra, 0x18($sp) +/* D30A8C 80240E0C 8FB10014 */ lw $s1, 0x14($sp) +/* D30A90 80240E10 8FB00010 */ lw $s0, 0x10($sp) +/* D30A94 80240E14 03E00008 */ jr $ra +/* D30A98 80240E18 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240E1C_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240E1C_D2FC80.s new file mode 100644 index 0000000000..91e641c58f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240E1C_D2FC80.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E1C_D30A9C +/* D30A9C 80240E1C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D30AA0 80240E20 AFB10034 */ sw $s1, 0x34($sp) +/* D30AA4 80240E24 0080882D */ daddu $s1, $a0, $zero +/* D30AA8 80240E28 AFBF0038 */ sw $ra, 0x38($sp) +/* D30AAC 80240E2C AFB00030 */ sw $s0, 0x30($sp) +/* D30AB0 80240E30 8E300148 */ lw $s0, 0x148($s1) +/* D30AB4 80240E34 0C00EABB */ jal get_npc_unsafe +/* D30AB8 80240E38 86040008 */ lh $a0, 8($s0) +/* D30ABC 80240E3C 0040282D */ daddu $a1, $v0, $zero +/* D30AC0 80240E40 94A2008E */ lhu $v0, 0x8e($a1) +/* D30AC4 80240E44 2442FFFF */ addiu $v0, $v0, -1 +/* D30AC8 80240E48 A4A2008E */ sh $v0, 0x8e($a1) +/* D30ACC 80240E4C 00021400 */ sll $v0, $v0, 0x10 +/* D30AD0 80240E50 1C400023 */ bgtz $v0, .L80240EE0 +/* D30AD4 80240E54 24020004 */ addiu $v0, $zero, 4 +/* D30AD8 80240E58 8E0300CC */ lw $v1, 0xcc($s0) +/* D30ADC 80240E5C AE02006C */ sw $v0, 0x6c($s0) +/* D30AE0 80240E60 8C620000 */ lw $v0, ($v1) +/* D30AE4 80240E64 ACA20028 */ sw $v0, 0x28($a1) +/* D30AE8 80240E68 9602007A */ lhu $v0, 0x7a($s0) +/* D30AEC 80240E6C A4A2008E */ sh $v0, 0x8e($a1) +/* D30AF0 80240E70 8E020078 */ lw $v0, 0x78($s0) +/* D30AF4 80240E74 28420008 */ slti $v0, $v0, 8 +/* D30AF8 80240E78 14400018 */ bnez $v0, .L80240EDC +/* D30AFC 80240E7C 24020021 */ addiu $v0, $zero, 0x21 +/* D30B00 80240E80 24040003 */ addiu $a0, $zero, 3 +/* D30B04 80240E84 27A30028 */ addiu $v1, $sp, 0x28 +/* D30B08 80240E88 84A700A8 */ lh $a3, 0xa8($a1) +/* D30B0C 80240E8C 3C013F80 */ lui $at, 0x3f80 +/* D30B10 80240E90 44810000 */ mtc1 $at, $f0 +/* D30B14 80240E94 3C014000 */ lui $at, 0x4000 +/* D30B18 80240E98 44811000 */ mtc1 $at, $f2 +/* D30B1C 80240E9C 3C01C1A0 */ lui $at, 0xc1a0 +/* D30B20 80240EA0 44812000 */ mtc1 $at, $f4 +/* D30B24 80240EA4 44873000 */ mtc1 $a3, $f6 +/* D30B28 80240EA8 00000000 */ nop +/* D30B2C 80240EAC 468031A0 */ cvt.s.w $f6, $f6 +/* D30B30 80240EB0 E7A00010 */ swc1 $f0, 0x10($sp) +/* D30B34 80240EB4 E7A20014 */ swc1 $f2, 0x14($sp) +/* D30B38 80240EB8 E7A40018 */ swc1 $f4, 0x18($sp) +/* D30B3C 80240EBC 8E020078 */ lw $v0, 0x78($s0) +/* D30B40 80240EC0 44073000 */ mfc1 $a3, $f6 +/* D30B44 80240EC4 0000302D */ daddu $a2, $zero, $zero +/* D30B48 80240EC8 AFA30020 */ sw $v1, 0x20($sp) +/* D30B4C 80240ECC 2442FFFF */ addiu $v0, $v0, -1 +/* D30B50 80240ED0 0C01BFA4 */ jal fx_emote +/* D30B54 80240ED4 AFA2001C */ sw $v0, 0x1c($sp) +/* D30B58 80240ED8 24020021 */ addiu $v0, $zero, 0x21 +.L80240EDC: +/* D30B5C 80240EDC AE220070 */ sw $v0, 0x70($s1) +.L80240EE0: +/* D30B60 80240EE0 8FBF0038 */ lw $ra, 0x38($sp) +/* D30B64 80240EE4 8FB10034 */ lw $s1, 0x34($sp) +/* D30B68 80240EE8 8FB00030 */ lw $s0, 0x30($sp) +/* D30B6C 80240EEC 03E00008 */ jr $ra +/* D30B70 80240EF0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240EF4_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240EF4_D2FC80.s new file mode 100644 index 0000000000..62c3f256c6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240EF4_D2FC80.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF4_D30B74 +/* D30B74 80240EF4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D30B78 80240EF8 AFB10014 */ sw $s1, 0x14($sp) +/* D30B7C 80240EFC 0080882D */ daddu $s1, $a0, $zero +/* D30B80 80240F00 AFBF0018 */ sw $ra, 0x18($sp) +/* D30B84 80240F04 AFB00010 */ sw $s0, 0x10($sp) +/* D30B88 80240F08 8E300148 */ lw $s0, 0x148($s1) +/* D30B8C 80240F0C 0C00EABB */ jal get_npc_unsafe +/* D30B90 80240F10 86040008 */ lh $a0, 8($s0) +/* D30B94 80240F14 9443008E */ lhu $v1, 0x8e($v0) +/* D30B98 80240F18 2463FFFF */ addiu $v1, $v1, -1 +/* D30B9C 80240F1C A443008E */ sh $v1, 0x8e($v0) +/* D30BA0 80240F20 00031C00 */ sll $v1, $v1, 0x10 +/* D30BA4 80240F24 1C600003 */ bgtz $v1, .L80240F34 +/* D30BA8 80240F28 2402000C */ addiu $v0, $zero, 0xc +/* D30BAC 80240F2C AE00006C */ sw $zero, 0x6c($s0) +/* D30BB0 80240F30 AE220070 */ sw $v0, 0x70($s1) +.L80240F34: +/* D30BB4 80240F34 8FBF0018 */ lw $ra, 0x18($sp) +/* D30BB8 80240F38 8FB10014 */ lw $s1, 0x14($sp) +/* D30BBC 80240F3C 8FB00010 */ lw $s0, 0x10($sp) +/* D30BC0 80240F40 03E00008 */ jr $ra +/* D30BC4 80240F44 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80240F48.s b/asm/nonmatchings/world/area_sam/sam_08/func_80240F48.s new file mode 100644 index 0000000000..7277a9f407 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80240F48.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F48 +/* D30BC8 80240F48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D30BCC 80240F4C AFBF0024 */ sw $ra, 0x24($sp) +/* D30BD0 80240F50 AFB40020 */ sw $s4, 0x20($sp) +/* D30BD4 80240F54 AFB3001C */ sw $s3, 0x1c($sp) +/* D30BD8 80240F58 AFB20018 */ sw $s2, 0x18($sp) +/* D30BDC 80240F5C AFB10014 */ sw $s1, 0x14($sp) +/* D30BE0 80240F60 AFB00010 */ sw $s0, 0x10($sp) +/* D30BE4 80240F64 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D30BE8 80240F68 8C900148 */ lw $s0, 0x148($a0) +/* D30BEC 80240F6C 86040008 */ lh $a0, 8($s0) +/* D30BF0 80240F70 0C00EABB */ jal get_npc_unsafe +/* D30BF4 80240F74 24110001 */ addiu $s1, $zero, 1 +/* D30BF8 80240F78 86040008 */ lh $a0, 8($s0) +/* D30BFC 80240F7C 0040802D */ daddu $s0, $v0, $zero +/* D30C00 80240F80 3C05800B */ lui $a1, %hi(gCameras) +/* D30C04 80240F84 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D30C08 80240F88 3C03800A */ lui $v1, 0x800a +/* D30C0C 80240F8C 8463A634 */ lh $v1, -0x59cc($v1) +/* D30C10 80240F90 00912021 */ addu $a0, $a0, $s1 +/* D30C14 80240F94 00031080 */ sll $v0, $v1, 2 +/* D30C18 80240F98 00431021 */ addu $v0, $v0, $v1 +/* D30C1C 80240F9C 00021080 */ sll $v0, $v0, 2 +/* D30C20 80240FA0 00431023 */ subu $v0, $v0, $v1 +/* D30C24 80240FA4 000218C0 */ sll $v1, $v0, 3 +/* D30C28 80240FA8 00431021 */ addu $v0, $v0, $v1 +/* D30C2C 80240FAC 000210C0 */ sll $v0, $v0, 3 +/* D30C30 80240FB0 0C00FB3A */ jal get_enemy +/* D30C34 80240FB4 00459021 */ addu $s2, $v0, $a1 +/* D30C38 80240FB8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D30C3C 80240FBC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D30C40 80240FC0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D30C44 80240FC4 8E830000 */ lw $v1, ($s4) +/* D30C48 80240FC8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D30C4C 80240FCC 8C660028 */ lw $a2, 0x28($v1) +/* D30C50 80240FD0 8C670030 */ lw $a3, 0x30($v1) +/* D30C54 80240FD4 0C00A7B5 */ jal dist2D +/* D30C58 80240FD8 0040982D */ daddu $s3, $v0, $zero +/* D30C5C 80240FDC C6620074 */ lwc1 $f2, 0x74($s3) +/* D30C60 80240FE0 468010A0 */ cvt.s.w $f2, $f2 +/* D30C64 80240FE4 4600103C */ c.lt.s $f2, $f0 +/* D30C68 80240FE8 00000000 */ nop +/* D30C6C 80240FEC 45030001 */ bc1tl .L80240FF4 +/* D30C70 80240FF0 0000882D */ daddu $s1, $zero, $zero +.L80240FF4: +/* D30C74 80240FF4 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D30C78 80240FF8 C60E000C */ lwc1 $f14, 0xc($s0) +/* D30C7C 80240FFC 3C014387 */ lui $at, 0x4387 +/* D30C80 80241000 4481A000 */ mtc1 $at, $f20 +/* D30C84 80241004 0C00A70A */ jal get_clamped_angle_diff +/* D30C88 80241008 00000000 */ nop +/* D30C8C 8024100C 0C00A6C9 */ jal clamp_angle +/* D30C90 80241010 46000306 */ mov.s $f12, $f0 +/* D30C94 80241014 3C018024 */ lui $at, 0x8024 +/* D30C98 80241018 D42264D0 */ ldc1 $f2, 0x64d0($at) +/* D30C9C 8024101C 46000021 */ cvt.d.s $f0, $f0 +/* D30CA0 80241020 4622003C */ c.lt.d $f0, $f2 +/* D30CA4 80241024 00000000 */ nop +/* D30CA8 80241028 45000003 */ bc1f .L80241038 +/* D30CAC 8024102C 00000000 */ nop +/* D30CB0 80241030 3C0142B4 */ lui $at, 0x42b4 +/* D30CB4 80241034 4481A000 */ mtc1 $at, $f20 +.L80241038: +/* D30CB8 80241038 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D30CBC 8024103C 8E820000 */ lw $v0, ($s4) +/* D30CC0 80241040 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D30CC4 80241044 8C460028 */ lw $a2, 0x28($v0) +/* D30CC8 80241048 0C00A720 */ jal atan2 +/* D30CCC 8024104C 8C470030 */ lw $a3, 0x30($v0) +/* D30CD0 80241050 4600A306 */ mov.s $f12, $f20 +/* D30CD4 80241054 0C00A70A */ jal get_clamped_angle_diff +/* D30CD8 80241058 46000386 */ mov.s $f14, $f0 +/* D30CDC 8024105C C6620078 */ lwc1 $f2, 0x78($s3) +/* D30CE0 80241060 468010A0 */ cvt.s.w $f2, $f2 +/* D30CE4 80241064 46000005 */ abs.s $f0, $f0 +/* D30CE8 80241068 4600103C */ c.lt.s $f2, $f0 +/* D30CEC 8024106C 00000000 */ nop +/* D30CF0 80241070 45030001 */ bc1tl .L80241078 +/* D30CF4 80241074 0000882D */ daddu $s1, $zero, $zero +.L80241078: +/* D30CF8 80241078 8E820000 */ lw $v0, ($s4) +/* D30CFC 8024107C C600003C */ lwc1 $f0, 0x3c($s0) +/* D30D00 80241080 C442002C */ lwc1 $f2, 0x2c($v0) +/* D30D04 80241084 860200A8 */ lh $v0, 0xa8($s0) +/* D30D08 80241088 46020001 */ sub.s $f0, $f0, $f2 +/* D30D0C 8024108C 44821000 */ mtc1 $v0, $f2 +/* D30D10 80241090 00000000 */ nop +/* D30D14 80241094 468010A1 */ cvt.d.w $f2, $f2 +/* D30D18 80241098 46221080 */ add.d $f2, $f2, $f2 +/* D30D1C 8024109C 46000005 */ abs.s $f0, $f0 +/* D30D20 802410A0 46000021 */ cvt.d.s $f0, $f0 +/* D30D24 802410A4 4620103E */ c.le.d $f2, $f0 +/* D30D28 802410A8 00000000 */ nop +/* D30D2C 802410AC 45030001 */ bc1tl .L802410B4 +/* D30D30 802410B0 0000882D */ daddu $s1, $zero, $zero +.L802410B4: +/* D30D34 802410B4 3C038011 */ lui $v1, 0x8011 +/* D30D38 802410B8 8063EBB3 */ lb $v1, -0x144d($v1) +/* D30D3C 802410BC 24020009 */ addiu $v0, $zero, 9 +/* D30D40 802410C0 50620001 */ beql $v1, $v0, .L802410C8 +/* D30D44 802410C4 0000882D */ daddu $s1, $zero, $zero +.L802410C8: +/* D30D48 802410C8 24020007 */ addiu $v0, $zero, 7 +/* D30D4C 802410CC 50620001 */ beql $v1, $v0, .L802410D4 +/* D30D50 802410D0 0000882D */ daddu $s1, $zero, $zero +.L802410D4: +/* D30D54 802410D4 0220102D */ daddu $v0, $s1, $zero +/* D30D58 802410D8 8FBF0024 */ lw $ra, 0x24($sp) +/* D30D5C 802410DC 8FB40020 */ lw $s4, 0x20($sp) +/* D30D60 802410E0 8FB3001C */ lw $s3, 0x1c($sp) +/* D30D64 802410E4 8FB20018 */ lw $s2, 0x18($sp) +/* D30D68 802410E8 8FB10014 */ lw $s1, 0x14($sp) +/* D30D6C 802410EC 8FB00010 */ lw $s0, 0x10($sp) +/* D30D70 802410F0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D30D74 802410F4 03E00008 */ jr $ra +/* D30D78 802410F8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_802410FC_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_802410FC_D2FC80.s new file mode 100644 index 0000000000..b411560812 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_802410FC_D2FC80.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410FC_D30D7C +/* D30D7C 802410FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D30D80 80241100 AFB40028 */ sw $s4, 0x28($sp) +/* D30D84 80241104 0080A02D */ daddu $s4, $a0, $zero +/* D30D88 80241108 AFBF002C */ sw $ra, 0x2c($sp) +/* D30D8C 8024110C AFB30024 */ sw $s3, 0x24($sp) +/* D30D90 80241110 AFB20020 */ sw $s2, 0x20($sp) +/* D30D94 80241114 AFB1001C */ sw $s1, 0x1c($sp) +/* D30D98 80241118 AFB00018 */ sw $s0, 0x18($sp) +/* D30D9C 8024111C 8E910148 */ lw $s1, 0x148($s4) +/* D30DA0 80241120 86240008 */ lh $a0, 8($s1) +/* D30DA4 80241124 0C00EABB */ jal get_npc_unsafe +/* D30DA8 80241128 00A0802D */ daddu $s0, $a1, $zero +/* D30DAC 8024112C 16000005 */ bnez $s0, .L80241144 +/* D30DB0 80241130 0040902D */ daddu $s2, $v0, $zero +/* D30DB4 80241134 8E2200B0 */ lw $v0, 0xb0($s1) +/* D30DB8 80241138 30420004 */ andi $v0, $v0, 4 +/* D30DBC 8024113C 10400015 */ beqz $v0, .L80241194 +/* D30DC0 80241140 00000000 */ nop +.L80241144: +/* D30DC4 80241144 AE800070 */ sw $zero, 0x70($s4) +/* D30DC8 80241148 8E420000 */ lw $v0, ($s2) +/* D30DCC 8024114C 3C031F30 */ lui $v1, 0x1f30 +/* D30DD0 80241150 A640008E */ sh $zero, 0x8e($s2) +/* D30DD4 80241154 34420102 */ ori $v0, $v0, 0x102 +/* D30DD8 80241158 AE420000 */ sw $v0, ($s2) +/* D30DDC 8024115C 8E220000 */ lw $v0, ($s1) +/* D30DE0 80241160 3C01C47A */ lui $at, 0xc47a +/* D30DE4 80241164 44810000 */ mtc1 $at, $f0 +/* D30DE8 80241168 00431025 */ or $v0, $v0, $v1 +/* D30DEC 8024116C AE220000 */ sw $v0, ($s1) +/* D30DF0 80241170 AE400038 */ sw $zero, 0x38($s2) +/* D30DF4 80241174 E640003C */ swc1 $f0, 0x3c($s2) +/* D30DF8 80241178 AE400040 */ sw $zero, 0x40($s2) +/* D30DFC 8024117C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D30E00 80241180 30620004 */ andi $v0, $v1, 4 +/* D30E04 80241184 10400003 */ beqz $v0, .L80241194 +/* D30E08 80241188 2402FFFB */ addiu $v0, $zero, -5 +/* D30E0C 8024118C 00621024 */ and $v0, $v1, $v0 +/* D30E10 80241190 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241194: +/* D30E14 80241194 8E930070 */ lw $s3, 0x70($s4) +/* D30E18 80241198 12600005 */ beqz $s3, .L802411B0 +/* D30E1C 8024119C 24020001 */ addiu $v0, $zero, 1 +/* D30E20 802411A0 12620048 */ beq $s3, $v0, .L802412C4 +/* D30E24 802411A4 00000000 */ nop +/* D30E28 802411A8 080904CE */ j .L80241338 +/* D30E2C 802411AC 00000000 */ nop +.L802411B0: +/* D30E30 802411B0 86240008 */ lh $a0, 8($s1) +/* D30E34 802411B4 0C00FB3A */ jal get_enemy +/* D30E38 802411B8 2484FFFF */ addiu $a0, $a0, -1 +/* D30E3C 802411BC 0040802D */ daddu $s0, $v0, $zero +/* D30E40 802411C0 0C00EABB */ jal get_npc_unsafe +/* D30E44 802411C4 86040008 */ lh $a0, 8($s0) +/* D30E48 802411C8 24030001 */ addiu $v1, $zero, 1 +/* D30E4C 802411CC 0040982D */ daddu $s3, $v0, $zero +/* D30E50 802411D0 A2230007 */ sb $v1, 7($s1) +/* D30E54 802411D4 8E03006C */ lw $v1, 0x6c($s0) +/* D30E58 802411D8 24020003 */ addiu $v0, $zero, 3 +/* D30E5C 802411DC 14620056 */ bne $v1, $v0, .L80241338 +/* D30E60 802411E0 00000000 */ nop +/* D30E64 802411E4 8E2500A8 */ lw $a1, 0xa8($s1) +/* D30E68 802411E8 10A00003 */ beqz $a1, .L802411F8 +/* D30E6C 802411EC 0260202D */ daddu $a0, $s3, $zero +/* D30E70 802411F0 0C012530 */ jal func_800494C0 +/* D30E74 802411F4 0000302D */ daddu $a2, $zero, $zero +.L802411F8: +/* D30E78 802411F8 27A40010 */ addiu $a0, $sp, 0x10 +/* D30E7C 802411FC C6280070 */ lwc1 $f8, 0x70($s1) +/* D30E80 80241200 46804220 */ cvt.s.w $f8, $f8 +/* D30E84 80241204 C6620034 */ lwc1 $f2, 0x34($s3) +/* D30E88 80241208 3C014387 */ lui $at, 0x4387 +/* D30E8C 8024120C 44810000 */ mtc1 $at, $f0 +/* D30E90 80241210 44064000 */ mfc1 $a2, $f8 +/* D30E94 80241214 46020001 */ sub.s $f0, $f0, $f2 +/* D30E98 80241218 C6660038 */ lwc1 $f6, 0x38($s3) +/* D30E9C 8024121C C6640040 */ lwc1 $f4, 0x40($s3) +/* D30EA0 80241220 44070000 */ mfc1 $a3, $f0 +/* D30EA4 80241224 27A50014 */ addiu $a1, $sp, 0x14 +/* D30EA8 80241228 E7A60010 */ swc1 $f6, 0x10($sp) +/* D30EAC 8024122C 0C00A7E7 */ jal add_vec2D_polar +/* D30EB0 80241230 E7A40014 */ swc1 $f4, 0x14($sp) +/* D30EB4 80241234 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D30EB8 80241238 4600020D */ trunc.w.s $f8, $f0 +/* D30EBC 8024123C 44024000 */ mfc1 $v0, $f8 +/* D30EC0 80241240 E6400038 */ swc1 $f0, 0x38($s2) +/* D30EC4 80241244 A6220010 */ sh $v0, 0x10($s1) +/* D30EC8 80241248 C660003C */ lwc1 $f0, 0x3c($s3) +/* D30ECC 8024124C C622006C */ lwc1 $f2, 0x6c($s1) +/* D30ED0 80241250 468010A0 */ cvt.s.w $f2, $f2 +/* D30ED4 80241254 46020000 */ add.s $f0, $f0, $f2 +/* D30ED8 80241258 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D30EDC 8024125C 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D30EE0 80241260 E640003C */ swc1 $f0, 0x3c($s2) +/* D30EE4 80241264 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D30EE8 80241268 4600020D */ trunc.w.s $f8, $f0 +/* D30EEC 8024126C 44024000 */ mfc1 $v0, $f8 +/* D30EF0 80241270 00000000 */ nop +/* D30EF4 80241274 A6220012 */ sh $v0, 0x12($s1) +/* D30EF8 80241278 4600120D */ trunc.w.s $f8, $f2 +/* D30EFC 8024127C 44024000 */ mfc1 $v0, $f8 +/* D30F00 80241280 E6420040 */ swc1 $f2, 0x40($s2) +/* D30F04 80241284 A6220014 */ sh $v0, 0x14($s1) +/* D30F08 80241288 8C660028 */ lw $a2, 0x28($v1) +/* D30F0C 8024128C 8C670030 */ lw $a3, 0x30($v1) +/* D30F10 80241290 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D30F14 80241294 0C00A720 */ jal atan2 +/* D30F18 80241298 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D30F1C 8024129C 3C03E0EF */ lui $v1, 0xe0ef +/* D30F20 802412A0 E640000C */ swc1 $f0, 0xc($s2) +/* D30F24 802412A4 8E220000 */ lw $v0, ($s1) +/* D30F28 802412A8 3463FFFF */ ori $v1, $v1, 0xffff +/* D30F2C 802412AC 00431024 */ and $v0, $v0, $v1 +/* D30F30 802412B0 AE220000 */ sw $v0, ($s1) +/* D30F34 802412B4 24020001 */ addiu $v0, $zero, 1 +/* D30F38 802412B8 A640008E */ sh $zero, 0x8e($s2) +/* D30F3C 802412BC 080904CE */ j .L80241338 +/* D30F40 802412C0 AE820070 */ sw $v0, 0x70($s4) +.L802412C4: +/* D30F44 802412C4 86240008 */ lh $a0, 8($s1) +/* D30F48 802412C8 0C00FB3A */ jal get_enemy +/* D30F4C 802412CC 2484FFFF */ addiu $a0, $a0, -1 +/* D30F50 802412D0 0040802D */ daddu $s0, $v0, $zero +/* D30F54 802412D4 0C00EABB */ jal get_npc_unsafe +/* D30F58 802412D8 86040008 */ lh $a0, 8($s0) +/* D30F5C 802412DC 9642008E */ lhu $v0, 0x8e($s2) +/* D30F60 802412E0 24420001 */ addiu $v0, $v0, 1 +/* D30F64 802412E4 A642008E */ sh $v0, 0x8e($s2) +/* D30F68 802412E8 00021400 */ sll $v0, $v0, 0x10 +/* D30F6C 802412EC 8E23007C */ lw $v1, 0x7c($s1) +/* D30F70 802412F0 00021403 */ sra $v0, $v0, 0x10 +/* D30F74 802412F4 0043102A */ slt $v0, $v0, $v1 +/* D30F78 802412F8 50400001 */ beql $v0, $zero, .L80241300 +/* D30F7C 802412FC A2200007 */ sb $zero, 7($s1) +.L80241300: +/* D30F80 80241300 8E03006C */ lw $v1, 0x6c($s0) +/* D30F84 80241304 24020004 */ addiu $v0, $zero, 4 +/* D30F88 80241308 1462000B */ bne $v1, $v0, .L80241338 +/* D30F8C 8024130C 3C021F10 */ lui $v0, 0x1f10 +/* D30F90 80241310 8E230000 */ lw $v1, ($s1) +/* D30F94 80241314 3C01C47A */ lui $at, 0xc47a +/* D30F98 80241318 44810000 */ mtc1 $at, $f0 +/* D30F9C 8024131C 00621825 */ or $v1, $v1, $v0 +/* D30FA0 80241320 AE230000 */ sw $v1, ($s1) +/* D30FA4 80241324 AE400038 */ sw $zero, 0x38($s2) +/* D30FA8 80241328 E640003C */ swc1 $f0, 0x3c($s2) +/* D30FAC 8024132C AE400040 */ sw $zero, 0x40($s2) +/* D30FB0 80241330 A2330007 */ sb $s3, 7($s1) +/* D30FB4 80241334 AE800070 */ sw $zero, 0x70($s4) +.L80241338: +/* D30FB8 80241338 8FBF002C */ lw $ra, 0x2c($sp) +/* D30FBC 8024133C 8FB40028 */ lw $s4, 0x28($sp) +/* D30FC0 80241340 8FB30024 */ lw $s3, 0x24($sp) +/* D30FC4 80241344 8FB20020 */ lw $s2, 0x20($sp) +/* D30FC8 80241348 8FB1001C */ lw $s1, 0x1c($sp) +/* D30FCC 8024134C 8FB00018 */ lw $s0, 0x18($sp) +/* D30FD0 80241350 0000102D */ daddu $v0, $zero, $zero +/* D30FD4 80241354 03E00008 */ jr $ra +/* D30FD8 80241358 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_8024135C.s b/asm/nonmatchings/world/area_sam/sam_08/func_8024135C.s new file mode 100644 index 0000000000..9c98d94262 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_8024135C.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024135C +/* D30FDC 8024135C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D30FE0 80241360 AFB20038 */ sw $s2, 0x38($sp) +/* D30FE4 80241364 0080902D */ daddu $s2, $a0, $zero +/* D30FE8 80241368 AFBF0048 */ sw $ra, 0x48($sp) +/* D30FEC 8024136C AFB50044 */ sw $s5, 0x44($sp) +/* D30FF0 80241370 AFB40040 */ sw $s4, 0x40($sp) +/* D30FF4 80241374 AFB3003C */ sw $s3, 0x3c($sp) +/* D30FF8 80241378 AFB10034 */ sw $s1, 0x34($sp) +/* D30FFC 8024137C AFB00030 */ sw $s0, 0x30($sp) +/* D31000 80241380 8E510148 */ lw $s1, 0x148($s2) +/* D31004 80241384 86240008 */ lh $a0, 8($s1) +/* D31008 80241388 0C00EABB */ jal get_npc_unsafe +/* D3100C 8024138C 00A0802D */ daddu $s0, $a1, $zero +/* D31010 80241390 8E43000C */ lw $v1, 0xc($s2) +/* D31014 80241394 0240202D */ daddu $a0, $s2, $zero +/* D31018 80241398 8C650000 */ lw $a1, ($v1) +/* D3101C 8024139C 0C0B1EAF */ jal get_variable +/* D31020 802413A0 0040A82D */ daddu $s5, $v0, $zero +/* D31024 802413A4 AFA00010 */ sw $zero, 0x10($sp) +/* D31028 802413A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* D3102C 802413AC 8C630030 */ lw $v1, 0x30($v1) +/* D31030 802413B0 AFA30014 */ sw $v1, 0x14($sp) +/* D31034 802413B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* D31038 802413B8 8C63001C */ lw $v1, 0x1c($v1) +/* D3103C 802413BC AFA30018 */ sw $v1, 0x18($sp) +/* D31040 802413C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* D31044 802413C4 8C630024 */ lw $v1, 0x24($v1) +/* D31048 802413C8 AFA3001C */ sw $v1, 0x1c($sp) +/* D3104C 802413CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D31050 802413D0 8C630028 */ lw $v1, 0x28($v1) +/* D31054 802413D4 27B40010 */ addiu $s4, $sp, 0x10 +/* D31058 802413D8 AFA30020 */ sw $v1, 0x20($sp) +/* D3105C 802413DC 8E2300D0 */ lw $v1, 0xd0($s1) +/* D31060 802413E0 3C014282 */ lui $at, 0x4282 +/* D31064 802413E4 44810000 */ mtc1 $at, $f0 +/* D31068 802413E8 8C63002C */ lw $v1, 0x2c($v1) +/* D3106C 802413EC 0040982D */ daddu $s3, $v0, $zero +/* D31070 802413F0 E7A00028 */ swc1 $f0, 0x28($sp) +/* D31074 802413F4 A7A0002C */ sh $zero, 0x2c($sp) +/* D31078 802413F8 16000005 */ bnez $s0, .L80241410 +/* D3107C 802413FC AFA30024 */ sw $v1, 0x24($sp) +/* D31080 80241400 8E2200B0 */ lw $v0, 0xb0($s1) +/* D31084 80241404 30420004 */ andi $v0, $v0, 4 +/* D31088 80241408 10400020 */ beqz $v0, .L8024148C +/* D3108C 8024140C 00000000 */ nop +.L80241410: +/* D31090 80241410 2404F7FF */ addiu $a0, $zero, -0x801 +/* D31094 80241414 AE400070 */ sw $zero, 0x70($s2) +/* D31098 80241418 A6A0008E */ sh $zero, 0x8e($s5) +/* D3109C 8024141C 8E2200CC */ lw $v0, 0xcc($s1) +/* D310A0 80241420 8EA30000 */ lw $v1, ($s5) +/* D310A4 80241424 8C420000 */ lw $v0, ($v0) +/* D310A8 80241428 00641824 */ and $v1, $v1, $a0 +/* D310AC 8024142C AEA30000 */ sw $v1, ($s5) +/* D310B0 80241430 AEA20028 */ sw $v0, 0x28($s5) +/* D310B4 80241434 8E2200D0 */ lw $v0, 0xd0($s1) +/* D310B8 80241438 8C420034 */ lw $v0, 0x34($v0) +/* D310BC 8024143C 54400005 */ bnel $v0, $zero, .L80241454 +/* D310C0 80241440 2402FDFF */ addiu $v0, $zero, -0x201 +/* D310C4 80241444 34620200 */ ori $v0, $v1, 0x200 +/* D310C8 80241448 2403FFF7 */ addiu $v1, $zero, -9 +/* D310CC 8024144C 08090517 */ j .L8024145C +/* D310D0 80241450 00431024 */ and $v0, $v0, $v1 +.L80241454: +/* D310D4 80241454 00621024 */ and $v0, $v1, $v0 +/* D310D8 80241458 34420008 */ ori $v0, $v0, 8 +.L8024145C: +/* D310DC 8024145C AEA20000 */ sw $v0, ($s5) +/* D310E0 80241460 8E2200B0 */ lw $v0, 0xb0($s1) +/* D310E4 80241464 30420004 */ andi $v0, $v0, 4 +/* D310E8 80241468 10400007 */ beqz $v0, .L80241488 +/* D310EC 8024146C 24020063 */ addiu $v0, $zero, 0x63 +/* D310F0 80241470 AE420070 */ sw $v0, 0x70($s2) +/* D310F4 80241474 AE400074 */ sw $zero, 0x74($s2) +/* D310F8 80241478 8E2200B0 */ lw $v0, 0xb0($s1) +/* D310FC 8024147C 2403FFFB */ addiu $v1, $zero, -5 +/* D31100 80241480 00431024 */ and $v0, $v0, $v1 +/* D31104 80241484 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241488: +/* D31108 80241488 AE20006C */ sw $zero, 0x6c($s1) +.L8024148C: +/* D3110C 8024148C 8E420070 */ lw $v0, 0x70($s2) +/* D31110 80241490 2842001E */ slti $v0, $v0, 0x1e +/* D31114 80241494 10400009 */ beqz $v0, .L802414BC +/* D31118 80241498 00000000 */ nop +/* D3111C 8024149C 8E22006C */ lw $v0, 0x6c($s1) +/* D31120 802414A0 14400006 */ bnez $v0, .L802414BC +/* D31124 802414A4 00000000 */ nop +/* D31128 802414A8 0C0903D2 */ jal func_80240F48 +/* D3112C 802414AC 0240202D */ daddu $a0, $s2, $zero +/* D31130 802414B0 10400002 */ beqz $v0, .L802414BC +/* D31134 802414B4 2402001E */ addiu $v0, $zero, 0x1e +/* D31138 802414B8 AE420070 */ sw $v0, 0x70($s2) +.L802414BC: +/* D3113C 802414BC 8E430070 */ lw $v1, 0x70($s2) +/* D31140 802414C0 2C620064 */ sltiu $v0, $v1, 0x64 +/* D31144 802414C4 10400048 */ beqz $v0, .L802415E8 +/* D31148 802414C8 00031080 */ sll $v0, $v1, 2 +/* D3114C 802414CC 3C018024 */ lui $at, 0x8024 +/* D31150 802414D0 00220821 */ addu $at, $at, $v0 +/* D31154 802414D4 8C2264D8 */ lw $v0, 0x64d8($at) +/* D31158 802414D8 00400008 */ jr $v0 +/* D3115C 802414DC 00000000 */ nop +/* D31160 802414E0 0240202D */ daddu $a0, $s2, $zero +/* D31164 802414E4 0260282D */ daddu $a1, $s3, $zero +/* D31168 802414E8 0C012568 */ jal func_800495A0 +/* D3116C 802414EC 0280302D */ daddu $a2, $s4, $zero +/* D31170 802414F0 0240202D */ daddu $a0, $s2, $zero +/* D31174 802414F4 0260282D */ daddu $a1, $s3, $zero +/* D31178 802414F8 0C0125AE */ jal func_800496B8 +/* D3117C 802414FC 0280302D */ daddu $a2, $s4, $zero +/* D31180 80241500 0809057A */ j .L802415E8 +/* D31184 80241504 00000000 */ nop +/* D31188 80241508 0240202D */ daddu $a0, $s2, $zero +/* D3118C 8024150C 0260282D */ daddu $a1, $s3, $zero +/* D31190 80241510 0C0126D1 */ jal func_80049B44 +/* D31194 80241514 0280302D */ daddu $a2, $s4, $zero +/* D31198 80241518 0240202D */ daddu $a0, $s2, $zero +/* D3119C 8024151C 0260282D */ daddu $a1, $s3, $zero +/* D311A0 80241520 0C012701 */ jal func_80049C04 +/* D311A4 80241524 0280302D */ daddu $a2, $s4, $zero +/* D311A8 80241528 0809057A */ j .L802415E8 +/* D311AC 8024152C 00000000 */ nop +/* D311B0 80241530 0240202D */ daddu $a0, $s2, $zero +/* D311B4 80241534 0260282D */ daddu $a1, $s3, $zero +/* D311B8 80241538 0C01278F */ jal func_80049E3C +/* D311BC 8024153C 0280302D */ daddu $a2, $s4, $zero +/* D311C0 80241540 0240202D */ daddu $a0, $s2, $zero +/* D311C4 80241544 0260282D */ daddu $a1, $s3, $zero +/* D311C8 80241548 0C0127B3 */ jal func_80049ECC +/* D311CC 8024154C 0280302D */ daddu $a2, $s4, $zero +/* D311D0 80241550 0809057A */ j .L802415E8 +/* D311D4 80241554 00000000 */ nop +/* D311D8 80241558 0240202D */ daddu $a0, $s2, $zero +/* D311DC 8024155C 0260282D */ daddu $a1, $s3, $zero +/* D311E0 80241560 0C0127DF */ jal func_80049F7C +/* D311E4 80241564 0280302D */ daddu $a2, $s4, $zero +/* D311E8 80241568 0240202D */ daddu $a0, $s2, $zero +/* D311EC 8024156C 0260282D */ daddu $a1, $s3, $zero +/* D311F0 80241570 0C012849 */ jal func_8004A124 +/* D311F4 80241574 0280302D */ daddu $a2, $s4, $zero +/* D311F8 80241578 0809057A */ j .L802415E8 +/* D311FC 8024157C 00000000 */ nop +/* D31200 80241580 0240202D */ daddu $a0, $s2, $zero +/* D31204 80241584 0260282D */ daddu $a1, $s3, $zero +/* D31208 80241588 0C0128FA */ jal func_8004A3E8 +/* D3120C 8024158C 0280302D */ daddu $a2, $s4, $zero +/* D31210 80241590 0809057A */ j .L802415E8 +/* D31214 80241594 00000000 */ nop +/* D31218 80241598 0C090350 */ jal func_80240D40 +/* D3121C 8024159C 0240202D */ daddu $a0, $s2, $zero +/* D31220 802415A0 0C09036B */ jal func_80240DAC +/* D31224 802415A4 0240202D */ daddu $a0, $s2, $zero +/* D31228 802415A8 8E430070 */ lw $v1, 0x70($s2) +/* D3122C 802415AC 24020020 */ addiu $v0, $zero, 0x20 +/* D31230 802415B0 1462000D */ bne $v1, $v0, .L802415E8 +/* D31234 802415B4 00000000 */ nop +/* D31238 802415B8 0C090387 */ jal func_80240E1C +/* D3123C 802415BC 0240202D */ daddu $a0, $s2, $zero +/* D31240 802415C0 8E430070 */ lw $v1, 0x70($s2) +/* D31244 802415C4 24020021 */ addiu $v0, $zero, 0x21 +/* D31248 802415C8 14620007 */ bne $v1, $v0, .L802415E8 +/* D3124C 802415CC 00000000 */ nop +/* D31250 802415D0 0C0903BD */ jal func_80240EF4 +/* D31254 802415D4 0240202D */ daddu $a0, $s2, $zero +/* D31258 802415D8 0809057A */ j .L802415E8 +/* D3125C 802415DC 00000000 */ nop +/* D31260 802415E0 0C0129CF */ jal func_8004A73C +/* D31264 802415E4 0240202D */ daddu $a0, $s2, $zero +.L802415E8: +/* D31268 802415E8 8FBF0048 */ lw $ra, 0x48($sp) +/* D3126C 802415EC 8FB50044 */ lw $s5, 0x44($sp) +/* D31270 802415F0 8FB40040 */ lw $s4, 0x40($sp) +/* D31274 802415F4 8FB3003C */ lw $s3, 0x3c($sp) +/* D31278 802415F8 8FB20038 */ lw $s2, 0x38($sp) +/* D3127C 802415FC 8FB10034 */ lw $s1, 0x34($sp) +/* D31280 80241600 8FB00030 */ lw $s0, 0x30($sp) +/* D31284 80241604 0000102D */ daddu $v0, $zero, $zero +/* D31288 80241608 03E00008 */ jr $ra +/* D3128C 8024160C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_80241610_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_80241610_D2FC80.s new file mode 100644 index 0000000000..56fae37e68 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_80241610_D2FC80.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241610_D31290 +/* D31290 80241610 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D31294 80241614 AFB10014 */ sw $s1, 0x14($sp) +/* D31298 80241618 0080882D */ daddu $s1, $a0, $zero +/* D3129C 8024161C AFBF001C */ sw $ra, 0x1c($sp) +/* D312A0 80241620 AFB20018 */ sw $s2, 0x18($sp) +/* D312A4 80241624 AFB00010 */ sw $s0, 0x10($sp) +/* D312A8 80241628 8E30000C */ lw $s0, 0xc($s1) +/* D312AC 8024162C 8E050000 */ lw $a1, ($s0) +/* D312B0 80241630 0C0B1EAF */ jal get_variable +/* D312B4 80241634 26100004 */ addiu $s0, $s0, 4 +/* D312B8 80241638 8E050000 */ lw $a1, ($s0) +/* D312BC 8024163C 26100004 */ addiu $s0, $s0, 4 +/* D312C0 80241640 0220202D */ daddu $a0, $s1, $zero +/* D312C4 80241644 0C0B1EAF */ jal get_variable +/* D312C8 80241648 0040902D */ daddu $s2, $v0, $zero +/* D312CC 8024164C 0220202D */ daddu $a0, $s1, $zero +/* D312D0 80241650 8E050000 */ lw $a1, ($s0) +/* D312D4 80241654 0C0B1EAF */ jal get_variable +/* D312D8 80241658 0040802D */ daddu $s0, $v0, $zero +/* D312DC 8024165C 44926000 */ mtc1 $s2, $f12 +/* D312E0 80241660 00000000 */ nop +/* D312E4 80241664 46806320 */ cvt.s.w $f12, $f12 +/* D312E8 80241668 44820000 */ mtc1 $v0, $f0 +/* D312EC 8024166C 00000000 */ nop +/* D312F0 80241670 46800020 */ cvt.s.w $f0, $f0 +/* D312F4 80241674 44060000 */ mfc1 $a2, $f0 +/* D312F8 80241678 44907000 */ mtc1 $s0, $f14 +/* D312FC 8024167C 00000000 */ nop +/* D31300 80241680 0C01BE3C */ jal func_8006F8F0 +/* D31304 80241684 468073A0 */ cvt.s.w $f14, $f14 +/* D31308 80241688 8FBF001C */ lw $ra, 0x1c($sp) +/* D3130C 8024168C 8FB20018 */ lw $s2, 0x18($sp) +/* D31310 80241690 8FB10014 */ lw $s1, 0x14($sp) +/* D31314 80241694 8FB00010 */ lw $s0, 0x10($sp) +/* D31318 80241698 24020002 */ addiu $v0, $zero, 2 +/* D3131C 8024169C 03E00008 */ jr $ra +/* D31320 802416A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_802416A4_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_802416A4_D2FC80.s new file mode 100644 index 0000000000..d9dc21fc49 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_802416A4_D2FC80.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416A4_D31324 +/* D31324 802416A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D31328 802416A8 AFB1001C */ sw $s1, 0x1c($sp) +/* D3132C 802416AC 0080882D */ daddu $s1, $a0, $zero +/* D31330 802416B0 AFBF0024 */ sw $ra, 0x24($sp) +/* D31334 802416B4 AFB20020 */ sw $s2, 0x20($sp) +/* D31338 802416B8 AFB00018 */ sw $s0, 0x18($sp) +/* D3133C 802416BC 8E30000C */ lw $s0, 0xc($s1) +/* D31340 802416C0 8E050000 */ lw $a1, ($s0) +/* D31344 802416C4 0C0B1EAF */ jal get_variable +/* D31348 802416C8 26100004 */ addiu $s0, $s0, 4 +/* D3134C 802416CC 8E050000 */ lw $a1, ($s0) +/* D31350 802416D0 26100004 */ addiu $s0, $s0, 4 +/* D31354 802416D4 0220202D */ daddu $a0, $s1, $zero +/* D31358 802416D8 0C0B1EAF */ jal get_variable +/* D3135C 802416DC 0040902D */ daddu $s2, $v0, $zero +/* D31360 802416E0 0220202D */ daddu $a0, $s1, $zero +/* D31364 802416E4 8E050000 */ lw $a1, ($s0) +/* D31368 802416E8 0C0B1EAF */ jal get_variable +/* D3136C 802416EC 0040802D */ daddu $s0, $v0, $zero +/* D31370 802416F0 3C048000 */ lui $a0, 0x8000 +/* D31374 802416F4 3484006C */ ori $a0, $a0, 0x6c +/* D31378 802416F8 0000282D */ daddu $a1, $zero, $zero +/* D3137C 802416FC 44921000 */ mtc1 $s2, $f2 +/* D31380 80241700 00000000 */ nop +/* D31384 80241704 468010A0 */ cvt.s.w $f2, $f2 +/* D31388 80241708 44061000 */ mfc1 $a2, $f2 +/* D3138C 8024170C 44901000 */ mtc1 $s0, $f2 +/* D31390 80241710 00000000 */ nop +/* D31394 80241714 468010A0 */ cvt.s.w $f2, $f2 +/* D31398 80241718 44071000 */ mfc1 $a3, $f2 +/* D3139C 8024171C 44820000 */ mtc1 $v0, $f0 +/* D313A0 80241720 00000000 */ nop +/* D313A4 80241724 46800020 */ cvt.s.w $f0, $f0 +/* D313A8 80241728 0C05267B */ jal func_801499EC +/* D313AC 8024172C E7A00010 */ swc1 $f0, 0x10($sp) +/* D313B0 80241730 8FBF0024 */ lw $ra, 0x24($sp) +/* D313B4 80241734 8FB20020 */ lw $s2, 0x20($sp) +/* D313B8 80241738 8FB1001C */ lw $s1, 0x1c($sp) +/* D313BC 8024173C 8FB00018 */ lw $s0, 0x18($sp) +/* D313C0 80241740 24020002 */ addiu $v0, $zero, 2 +/* D313C4 80241744 03E00008 */ jr $ra +/* D313C8 80241748 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_08/func_8024174C_D2FC80.s b/asm/nonmatchings/world/area_sam/sam_08/func_8024174C_D2FC80.s new file mode 100644 index 0000000000..214631f347 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_08/func_8024174C_D2FC80.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024174C_D313CC +/* D313CC 8024174C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D313D0 80241750 AFB10014 */ sw $s1, 0x14($sp) +/* D313D4 80241754 0080882D */ daddu $s1, $a0, $zero +/* D313D8 80241758 AFBF0018 */ sw $ra, 0x18($sp) +/* D313DC 8024175C AFB00010 */ sw $s0, 0x10($sp) +/* D313E0 80241760 8E30000C */ lw $s0, 0xc($s1) +/* D313E4 80241764 8E050000 */ lw $a1, ($s0) +/* D313E8 80241768 0C0B1EAF */ jal get_variable +/* D313EC 8024176C 26100004 */ addiu $s0, $s0, 4 +/* D313F0 80241770 0220202D */ daddu $a0, $s1, $zero +/* D313F4 80241774 8E050000 */ lw $a1, ($s0) +/* D313F8 80241778 0C0B1EAF */ jal get_variable +/* D313FC 8024177C 0040802D */ daddu $s0, $v0, $zero +/* D31400 80241780 320400FF */ andi $a0, $s0, 0xff +/* D31404 80241784 0C00A3C2 */ jal start_rumble +/* D31408 80241788 3045FFFF */ andi $a1, $v0, 0xffff +/* D3140C 8024178C 8FBF0018 */ lw $ra, 0x18($sp) +/* D31410 80241790 8FB10014 */ lw $s1, 0x14($sp) +/* D31414 80241794 8FB00010 */ lw $s0, 0x10($sp) +/* D31418 80241798 24020002 */ addiu $v0, $zero, 2 +/* D3141C 8024179C 03E00008 */ jr $ra +/* D31420 802417A0 27BD0020 */ addiu $sp, $sp, 0x20 +/* D31424 802417A4 00000000 */ nop +/* D31428 802417A8 00000000 */ nop +/* D3142C 802417AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_80240000_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_80240000_D362F0.s new file mode 100644 index 0000000000..2ed89d23f7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_80240000_D362F0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D362F0 +/* D362F0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D362F4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* D362F8 80240008 3C108024 */ lui $s0, 0x8024 +/* D362FC 8024000C 261006C0 */ addiu $s0, $s0, 0x6c0 +/* D36300 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* D36304 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* D36308 80240018 8E020000 */ lw $v0, ($s0) +/* D3630C 8024001C 14400010 */ bnez $v0, .L80240060 +/* D36310 80240020 0080882D */ daddu $s1, $a0, $zero +/* D36314 80240024 0C00AB39 */ jal heap_malloc +/* D36318 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* D3631C 8024002C AE020000 */ sw $v0, ($s0) +/* D36320 80240030 0000182D */ daddu $v1, $zero, $zero +/* D36324 80240034 0040282D */ daddu $a1, $v0, $zero +/* D36328 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* D3632C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* D36330 80240040 24840004 */ addiu $a0, $a0, 4 +/* D36334 80240044 24630001 */ addiu $v1, $v1, 1 +/* D36338 80240048 ACA20000 */ sw $v0, ($a1) +/* D3633C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* D36340 80240050 1440FFFA */ bnez $v0, .L8024003C +/* D36344 80240054 24A50004 */ addiu $a1, $a1, 4 +/* D36348 80240058 08090027 */ j .L8024009C +/* D3634C 8024005C 00000000 */ nop +.L80240060: +/* D36350 80240060 0000182D */ daddu $v1, $zero, $zero +/* D36354 80240064 0040282D */ daddu $a1, $v0, $zero +/* D36358 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* D3635C 8024006C 8CA20000 */ lw $v0, ($a1) +/* D36360 80240070 24A50004 */ addiu $a1, $a1, 4 +/* D36364 80240074 24630001 */ addiu $v1, $v1, 1 +/* D36368 80240078 AC820084 */ sw $v0, 0x84($a0) +/* D3636C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* D36370 80240080 1440FFFA */ bnez $v0, .L8024006C +/* D36374 80240084 24840004 */ addiu $a0, $a0, 4 +/* D36378 80240088 3C108024 */ lui $s0, 0x8024 +/* D3637C 8024008C 261006C0 */ addiu $s0, $s0, 0x6c0 +/* D36380 80240090 0C00AB4B */ jal heap_free +/* D36384 80240094 8E040000 */ lw $a0, ($s0) +/* D36388 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* D3638C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* D36390 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* D36394 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* D36398 802400A8 24020002 */ addiu $v0, $zero, 2 +/* D3639C 802400AC 03E00008 */ jr $ra +/* D363A0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_802400B4_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_802400B4_D362F0.s new file mode 100644 index 0000000000..f5a32d0ec2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_802400B4_D362F0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_D363A4 +/* D363A4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D363A8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* D363AC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* D363B0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* D363B4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* D363B8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* D363BC 802400CC 8C510000 */ lw $s1, ($v0) +/* D363C0 802400D0 0C0B1EAF */ jal get_variable +/* D363C4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* D363C8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* D363CC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* D363D0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* D363D4 802400E4 00431024 */ and $v0, $v0, $v1 +/* D363D8 802400E8 00021140 */ sll $v0, $v0, 5 +/* D363DC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* D363E0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* D363E4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D363E8 802400F8 0C0B2026 */ jal set_variable +/* D363EC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* D363F0 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* D363F4 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* D363F8 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* D363FC 8024010C 24020002 */ addiu $v0, $zero, 2 +/* D36400 80240110 03E00008 */ jr $ra +/* D36404 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_80240118_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_80240118_D362F0.s new file mode 100644 index 0000000000..85e06e2d4b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_80240118_D362F0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_D36408 +/* D36408 80240118 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3640C 8024011C AFB00010 */ sw $s0, 0x10($sp) +/* D36410 80240120 0080802D */ daddu $s0, $a0, $zero +/* D36414 80240124 AFBF0014 */ sw $ra, 0x14($sp) +/* D36418 80240128 8E02000C */ lw $v0, 0xc($s0) +/* D3641C 8024012C 0C0B1EAF */ jal get_variable +/* D36420 80240130 8C450000 */ lw $a1, ($v0) +/* D36424 80240134 0C04C3D6 */ jal get_item_entity +/* D36428 80240138 0040202D */ daddu $a0, $v0, $zero +/* D3642C 8024013C 84430018 */ lh $v1, 0x18($v0) +/* D36430 80240140 AE030084 */ sw $v1, 0x84($s0) +/* D36434 80240144 8FBF0014 */ lw $ra, 0x14($sp) +/* D36438 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* D3643C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* D36440 80240150 03E00008 */ jr $ra +/* D36444 80240154 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_80240158_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_80240158_D362F0.s new file mode 100644 index 0000000000..36e498c1f8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_80240158_D362F0.s @@ -0,0 +1,74 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158_D36448 +/* D36448 80240158 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3644C 8024015C AFB10014 */ sw $s1, 0x14($sp) +/* D36450 80240160 0080882D */ daddu $s1, $a0, $zero +/* D36454 80240164 3C05FD05 */ lui $a1, 0xfd05 +/* D36458 80240168 34A50F80 */ ori $a1, $a1, 0xf80 +/* D3645C 8024016C AFBF001C */ sw $ra, 0x1c($sp) +/* D36460 80240170 AFB20018 */ sw $s2, 0x18($sp) +/* D36464 80240174 0C0B1EAF */ jal get_variable +/* D36468 80240178 AFB00010 */ sw $s0, 0x10($sp) +/* D3646C 8024017C 0040802D */ daddu $s0, $v0, $zero +/* D36470 80240180 2412FFFF */ addiu $s2, $zero, -1 +/* D36474 80240184 52120001 */ beql $s0, $s2, .L8024018C +/* D36478 80240188 241000FF */ addiu $s0, $zero, 0xff +.L8024018C: +/* D3647C 8024018C 0220202D */ daddu $a0, $s1, $zero +/* D36480 80240190 3C05F5DE */ lui $a1, 0xf5de +/* D36484 80240194 34A50288 */ ori $a1, $a1, 0x288 +/* D36488 80240198 0C0B2026 */ jal set_variable +/* D3648C 8024019C 320600FF */ andi $a2, $s0, 0xff +/* D36490 802401A0 0220202D */ daddu $a0, $s1, $zero +/* D36494 802401A4 3C05F5DE */ lui $a1, 0xf5de +/* D36498 802401A8 34A50289 */ ori $a1, $a1, 0x289 +/* D3649C 802401AC 00103203 */ sra $a2, $s0, 8 +/* D364A0 802401B0 0C0B2026 */ jal set_variable +/* D364A4 802401B4 30C600FF */ andi $a2, $a2, 0xff +/* D364A8 802401B8 0220202D */ daddu $a0, $s1, $zero +/* D364AC 802401BC 3C05FD05 */ lui $a1, 0xfd05 +/* D364B0 802401C0 0C0B1EAF */ jal get_variable +/* D364B4 802401C4 34A50F81 */ ori $a1, $a1, 0xf81 +/* D364B8 802401C8 0040802D */ daddu $s0, $v0, $zero +/* D364BC 802401CC 52120001 */ beql $s0, $s2, .L802401D4 +/* D364C0 802401D0 241000FF */ addiu $s0, $zero, 0xff +.L802401D4: +/* D364C4 802401D4 0220202D */ daddu $a0, $s1, $zero +/* D364C8 802401D8 3C05F5DE */ lui $a1, 0xf5de +/* D364CC 802401DC 34A5028A */ ori $a1, $a1, 0x28a +/* D364D0 802401E0 0C0B2026 */ jal set_variable +/* D364D4 802401E4 320600FF */ andi $a2, $s0, 0xff +/* D364D8 802401E8 0220202D */ daddu $a0, $s1, $zero +/* D364DC 802401EC 3C05F5DE */ lui $a1, 0xf5de +/* D364E0 802401F0 34A5028B */ ori $a1, $a1, 0x28b +/* D364E4 802401F4 00103203 */ sra $a2, $s0, 8 +/* D364E8 802401F8 0C0B2026 */ jal set_variable +/* D364EC 802401FC 30C600FF */ andi $a2, $a2, 0xff +/* D364F0 80240200 0220202D */ daddu $a0, $s1, $zero +/* D364F4 80240204 3C05FD05 */ lui $a1, 0xfd05 +/* D364F8 80240208 0C0B1EAF */ jal get_variable +/* D364FC 8024020C 34A50F82 */ ori $a1, $a1, 0xf82 +/* D36500 80240210 0040802D */ daddu $s0, $v0, $zero +/* D36504 80240214 52120001 */ beql $s0, $s2, .L8024021C +/* D36508 80240218 241000FF */ addiu $s0, $zero, 0xff +.L8024021C: +/* D3650C 8024021C 0220202D */ daddu $a0, $s1, $zero +/* D36510 80240220 3C05F5DE */ lui $a1, 0xf5de +/* D36514 80240224 34A5028C */ ori $a1, $a1, 0x28c +/* D36518 80240228 0C0B2026 */ jal set_variable +/* D3651C 8024022C 320600FF */ andi $a2, $s0, 0xff +/* D36520 80240230 0220202D */ daddu $a0, $s1, $zero +/* D36524 80240234 3C05F5DE */ lui $a1, 0xf5de +/* D36528 80240238 34A5028D */ ori $a1, $a1, 0x28d +/* D3652C 8024023C 00103203 */ sra $a2, $s0, 8 +/* D36530 80240240 0C0B2026 */ jal set_variable +/* D36534 80240244 30C600FF */ andi $a2, $a2, 0xff +/* D36538 80240248 8FBF001C */ lw $ra, 0x1c($sp) +/* D3653C 8024024C 8FB20018 */ lw $s2, 0x18($sp) +/* D36540 80240250 8FB10014 */ lw $s1, 0x14($sp) +/* D36544 80240254 8FB00010 */ lw $s0, 0x10($sp) +/* D36548 80240258 24020002 */ addiu $v0, $zero, 2 +/* D3654C 8024025C 03E00008 */ jr $ra +/* D36550 80240260 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_80240264_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_80240264_D362F0.s new file mode 100644 index 0000000000..db2a60e214 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_80240264_D362F0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240264_D36554 +/* D36554 80240264 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D36558 80240268 AFB10014 */ sw $s1, 0x14($sp) +/* D3655C 8024026C 0080882D */ daddu $s1, $a0, $zero +/* D36560 80240270 3C05F5DE */ lui $a1, 0xf5de +/* D36564 80240274 34A50288 */ ori $a1, $a1, 0x288 +/* D36568 80240278 AFBF0018 */ sw $ra, 0x18($sp) +/* D3656C 8024027C 0C0B1EAF */ jal get_variable +/* D36570 80240280 AFB00010 */ sw $s0, 0x10($sp) +/* D36574 80240284 305000FF */ andi $s0, $v0, 0xff +/* D36578 80240288 0220202D */ daddu $a0, $s1, $zero +/* D3657C 8024028C 3C05F5DE */ lui $a1, 0xf5de +/* D36580 80240290 0C0B1EAF */ jal get_variable +/* D36584 80240294 34A50289 */ ori $a1, $a1, 0x289 +/* D36588 80240298 304600FF */ andi $a2, $v0, 0xff +/* D3658C 8024029C 240200FF */ addiu $v0, $zero, 0xff +/* D36590 802402A0 12020006 */ beq $s0, $v0, .L802402BC +/* D36594 802402A4 0220202D */ daddu $a0, $s1, $zero +/* D36598 802402A8 3C05FD05 */ lui $a1, 0xfd05 +/* D3659C 802402AC 34A50F80 */ ori $a1, $a1, 0xf80 +/* D365A0 802402B0 00063200 */ sll $a2, $a2, 8 +/* D365A4 802402B4 080900B2 */ j .L802402C8 +/* D365A8 802402B8 00D03025 */ or $a2, $a2, $s0 +.L802402BC: +/* D365AC 802402BC 3C05FD05 */ lui $a1, 0xfd05 +/* D365B0 802402C0 34A50F80 */ ori $a1, $a1, 0xf80 +/* D365B4 802402C4 2406FFFF */ addiu $a2, $zero, -1 +.L802402C8: +/* D365B8 802402C8 0C0B2026 */ jal set_variable +/* D365BC 802402CC 00000000 */ nop +/* D365C0 802402D0 0220202D */ daddu $a0, $s1, $zero +/* D365C4 802402D4 3C05F5DE */ lui $a1, 0xf5de +/* D365C8 802402D8 0C0B1EAF */ jal get_variable +/* D365CC 802402DC 34A5028A */ ori $a1, $a1, 0x28a +/* D365D0 802402E0 305000FF */ andi $s0, $v0, 0xff +/* D365D4 802402E4 0220202D */ daddu $a0, $s1, $zero +/* D365D8 802402E8 3C05F5DE */ lui $a1, 0xf5de +/* D365DC 802402EC 0C0B1EAF */ jal get_variable +/* D365E0 802402F0 34A5028B */ ori $a1, $a1, 0x28b +/* D365E4 802402F4 304600FF */ andi $a2, $v0, 0xff +/* D365E8 802402F8 240200FF */ addiu $v0, $zero, 0xff +/* D365EC 802402FC 12020006 */ beq $s0, $v0, .L80240318 +/* D365F0 80240300 0220202D */ daddu $a0, $s1, $zero +/* D365F4 80240304 3C05FD05 */ lui $a1, 0xfd05 +/* D365F8 80240308 34A50F81 */ ori $a1, $a1, 0xf81 +/* D365FC 8024030C 00063200 */ sll $a2, $a2, 8 +/* D36600 80240310 080900C9 */ j .L80240324 +/* D36604 80240314 00D03025 */ or $a2, $a2, $s0 +.L80240318: +/* D36608 80240318 3C05FD05 */ lui $a1, 0xfd05 +/* D3660C 8024031C 34A50F81 */ ori $a1, $a1, 0xf81 +/* D36610 80240320 2406FFFF */ addiu $a2, $zero, -1 +.L80240324: +/* D36614 80240324 0C0B2026 */ jal set_variable +/* D36618 80240328 00000000 */ nop +/* D3661C 8024032C 0220202D */ daddu $a0, $s1, $zero +/* D36620 80240330 3C05F5DE */ lui $a1, 0xf5de +/* D36624 80240334 0C0B1EAF */ jal get_variable +/* D36628 80240338 34A5028C */ ori $a1, $a1, 0x28c +/* D3662C 8024033C 305000FF */ andi $s0, $v0, 0xff +/* D36630 80240340 0220202D */ daddu $a0, $s1, $zero +/* D36634 80240344 3C05F5DE */ lui $a1, 0xf5de +/* D36638 80240348 0C0B1EAF */ jal get_variable +/* D3663C 8024034C 34A5028D */ ori $a1, $a1, 0x28d +/* D36640 80240350 304600FF */ andi $a2, $v0, 0xff +/* D36644 80240354 240200FF */ addiu $v0, $zero, 0xff +/* D36648 80240358 12020006 */ beq $s0, $v0, .L80240374 +/* D3664C 8024035C 0220202D */ daddu $a0, $s1, $zero +/* D36650 80240360 3C05FD05 */ lui $a1, 0xfd05 +/* D36654 80240364 34A50F82 */ ori $a1, $a1, 0xf82 +/* D36658 80240368 00063200 */ sll $a2, $a2, 8 +/* D3665C 8024036C 080900E0 */ j .L80240380 +/* D36660 80240370 00D03025 */ or $a2, $a2, $s0 +.L80240374: +/* D36664 80240374 3C05FD05 */ lui $a1, 0xfd05 +/* D36668 80240378 34A50F82 */ ori $a1, $a1, 0xf82 +/* D3666C 8024037C 2406FFFF */ addiu $a2, $zero, -1 +.L80240380: +/* D36670 80240380 0C0B2026 */ jal set_variable +/* D36674 80240384 00000000 */ nop +/* D36678 80240388 8FBF0018 */ lw $ra, 0x18($sp) +/* D3667C 8024038C 8FB10014 */ lw $s1, 0x14($sp) +/* D36680 80240390 8FB00010 */ lw $s0, 0x10($sp) +/* D36684 80240394 24020002 */ addiu $v0, $zero, 2 +/* D36688 80240398 03E00008 */ jr $ra +/* D3668C 8024039C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_09/func_802403A0_D362F0.s b/asm/nonmatchings/world/area_sam/sam_09/func_802403A0_D362F0.s new file mode 100644 index 0000000000..06474a753f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_09/func_802403A0_D362F0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403A0_D36690 +/* D36690 802403A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D36694 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* D36698 802403A8 0080802D */ daddu $s0, $a0, $zero +/* D3669C 802403AC AFBF0014 */ sw $ra, 0x14($sp) +/* D366A0 802403B0 0C00AB39 */ jal heap_malloc +/* D366A4 802403B4 24040170 */ addiu $a0, $zero, 0x170 +/* D366A8 802403B8 2405005A */ addiu $a1, $zero, 0x5a +/* D366AC 802403BC 24440168 */ addiu $a0, $v0, 0x168 +/* D366B0 802403C0 240300DA */ addiu $v1, $zero, 0xda +/* D366B4 802403C4 AE020084 */ sw $v0, 0x84($s0) +.L802403C8: +/* D366B8 802403C8 AC830000 */ sw $v1, ($a0) +/* D366BC 802403CC 2484FFFC */ addiu $a0, $a0, -4 +/* D366C0 802403D0 24A5FFFF */ addiu $a1, $a1, -1 +/* D366C4 802403D4 04A1FFFC */ bgez $a1, .L802403C8 +/* D366C8 802403D8 2463FFFF */ addiu $v1, $v1, -1 +/* D366CC 802403DC AC40016C */ sw $zero, 0x16c($v0) +/* D366D0 802403E0 8FBF0014 */ lw $ra, 0x14($sp) +/* D366D4 802403E4 8FB00010 */ lw $s0, 0x10($sp) +/* D366D8 802403E8 24020002 */ addiu $v0, $zero, 2 +/* D366DC 802403EC 03E00008 */ jr $ra +/* D366E0 802403F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* D366E4 802403F4 00000000 */ nop +/* D366E8 802403F8 00000000 */ nop +/* D366EC 802403FC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_80240000_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_80240000_D37800.s new file mode 100644 index 0000000000..a2e96b5228 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_80240000_D37800.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D37800 +/* D37800 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D37804 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* D37808 80240008 3C108024 */ lui $s0, 0x8024 +/* D3780C 8024000C 26101040 */ addiu $s0, $s0, 0x1040 +/* D37810 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* D37814 80240014 AFB10014 */ sw $s1, 0x14($sp) +/* D37818 80240018 8E020000 */ lw $v0, ($s0) +/* D3781C 8024001C 14400010 */ bnez $v0, .L80240060 +/* D37820 80240020 0080882D */ daddu $s1, $a0, $zero +/* D37824 80240024 0C00AB39 */ jal heap_malloc +/* D37828 80240028 24040040 */ addiu $a0, $zero, 0x40 +/* D3782C 8024002C AE020000 */ sw $v0, ($s0) +/* D37830 80240030 0000182D */ daddu $v1, $zero, $zero +/* D37834 80240034 0040282D */ daddu $a1, $v0, $zero +/* D37838 80240038 0220202D */ daddu $a0, $s1, $zero +.L8024003C: +/* D3783C 8024003C 8C820084 */ lw $v0, 0x84($a0) +/* D37840 80240040 24840004 */ addiu $a0, $a0, 4 +/* D37844 80240044 24630001 */ addiu $v1, $v1, 1 +/* D37848 80240048 ACA20000 */ sw $v0, ($a1) +/* D3784C 8024004C 28620010 */ slti $v0, $v1, 0x10 +/* D37850 80240050 1440FFFA */ bnez $v0, .L8024003C +/* D37854 80240054 24A50004 */ addiu $a1, $a1, 4 +/* D37858 80240058 08090027 */ j .L8024009C +/* D3785C 8024005C 00000000 */ nop +.L80240060: +/* D37860 80240060 0000182D */ daddu $v1, $zero, $zero +/* D37864 80240064 0040282D */ daddu $a1, $v0, $zero +/* D37868 80240068 0220202D */ daddu $a0, $s1, $zero +.L8024006C: +/* D3786C 8024006C 8CA20000 */ lw $v0, ($a1) +/* D37870 80240070 24A50004 */ addiu $a1, $a1, 4 +/* D37874 80240074 24630001 */ addiu $v1, $v1, 1 +/* D37878 80240078 AC820084 */ sw $v0, 0x84($a0) +/* D3787C 8024007C 28620010 */ slti $v0, $v1, 0x10 +/* D37880 80240080 1440FFFA */ bnez $v0, .L8024006C +/* D37884 80240084 24840004 */ addiu $a0, $a0, 4 +/* D37888 80240088 3C108024 */ lui $s0, 0x8024 +/* D3788C 8024008C 26101040 */ addiu $s0, $s0, 0x1040 +/* D37890 80240090 0C00AB4B */ jal heap_free +/* D37894 80240094 8E040000 */ lw $a0, ($s0) +/* D37898 80240098 AE000000 */ sw $zero, ($s0) +.L8024009C: +/* D3789C 8024009C 8FBF0018 */ lw $ra, 0x18($sp) +/* D378A0 802400A0 8FB10014 */ lw $s1, 0x14($sp) +/* D378A4 802400A4 8FB00010 */ lw $s0, 0x10($sp) +/* D378A8 802400A8 24020002 */ addiu $v0, $zero, 2 +/* D378AC 802400AC 03E00008 */ jr $ra +/* D378B0 802400B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802400B4_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802400B4_D37800.s new file mode 100644 index 0000000000..690f867dd2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802400B4_D37800.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B4_D378B4 +/* D378B4 802400B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D378B8 802400B8 AFB00010 */ sw $s0, 0x10($sp) +/* D378BC 802400BC 0080802D */ daddu $s0, $a0, $zero +/* D378C0 802400C0 AFBF0018 */ sw $ra, 0x18($sp) +/* D378C4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* D378C8 802400C8 8E02000C */ lw $v0, 0xc($s0) +/* D378CC 802400CC 8C510000 */ lw $s1, ($v0) +/* D378D0 802400D0 0C0B1EAF */ jal get_variable +/* D378D4 802400D4 0220282D */ daddu $a1, $s1, $zero +/* D378D8 802400D8 3C03FFF0 */ lui $v1, 0xfff0 +/* D378DC 802400DC 3463FFFF */ ori $v1, $v1, 0xffff +/* D378E0 802400E0 0200202D */ daddu $a0, $s0, $zero +/* D378E4 802400E4 00431024 */ and $v0, $v0, $v1 +/* D378E8 802400E8 00021140 */ sll $v0, $v0, 5 +/* D378EC 802400EC 3C068008 */ lui $a2, %hi(gItemTable) +/* D378F0 802400F0 00C23021 */ addu $a2, $a2, $v0 +/* D378F4 802400F4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D378F8 802400F8 0C0B2026 */ jal set_variable +/* D378FC 802400FC 0220282D */ daddu $a1, $s1, $zero +/* D37900 80240100 8FBF0018 */ lw $ra, 0x18($sp) +/* D37904 80240104 8FB10014 */ lw $s1, 0x14($sp) +/* D37908 80240108 8FB00010 */ lw $s0, 0x10($sp) +/* D3790C 8024010C 24020002 */ addiu $v0, $zero, 2 +/* D37910 80240110 03E00008 */ jr $ra +/* D37914 80240114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_80240118_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_80240118_D37800.s new file mode 100644 index 0000000000..5d6b91a0ef --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_80240118_D37800.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240118_D37918 +/* D37918 80240118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3791C 8024011C AFB10014 */ sw $s1, 0x14($sp) +/* D37920 80240120 0080882D */ daddu $s1, $a0, $zero +/* D37924 80240124 AFBF001C */ sw $ra, 0x1c($sp) +/* D37928 80240128 AFB20018 */ sw $s2, 0x18($sp) +/* D3792C 8024012C AFB00010 */ sw $s0, 0x10($sp) +/* D37930 80240130 8E240084 */ lw $a0, 0x84($s1) +/* D37934 80240134 0C04C3D6 */ jal get_item_entity +/* D37938 80240138 00A0802D */ daddu $s0, $a1, $zero +/* D3793C 8024013C 12000005 */ beqz $s0, .L80240154 +/* D37940 80240140 0040902D */ daddu $s2, $v0, $zero +/* D37944 80240144 C640000C */ lwc1 $f0, 0xc($s2) +/* D37948 80240148 AE200074 */ sw $zero, 0x74($s1) +/* D3794C 8024014C AE20007C */ sw $zero, 0x7c($s1) +/* D37950 80240150 E6200078 */ swc1 $f0, 0x78($s1) +.L80240154: +/* D37954 80240154 8E230074 */ lw $v1, 0x74($s1) +/* D37958 80240158 10600005 */ beqz $v1, .L80240170 +/* D3795C 8024015C 24020001 */ addiu $v0, $zero, 1 +/* D37960 80240160 10620024 */ beq $v1, $v0, .L802401F4 +/* D37964 80240164 00000000 */ nop +/* D37968 80240168 08090093 */ j .L8024024C +/* D3796C 8024016C 00000000 */ nop +.L80240170: +/* D37970 80240170 3C013FC9 */ lui $at, 0x3fc9 +/* D37974 80240174 34210FD8 */ ori $at, $at, 0xfd8 +/* D37978 80240178 44810000 */ mtc1 $at, $f0 +/* D3797C 8024017C C62C007C */ lwc1 $f12, 0x7c($s1) +/* D37980 80240180 46806320 */ cvt.s.w $f12, $f12 +/* D37984 80240184 46006302 */ mul.s $f12, $f12, $f0 +/* D37988 80240188 00000000 */ nop +/* D3798C 8024018C 3C0141F0 */ lui $at, 0x41f0 +/* D37990 80240190 44810000 */ mtc1 $at, $f0 +/* D37994 80240194 0C00A874 */ jal cos_rad +/* D37998 80240198 46006303 */ div.s $f12, $f12, $f0 +/* D3799C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* D379A0 802401A0 44811000 */ mtc1 $at, $f2 +/* D379A4 802401A4 00000000 */ nop +/* D379A8 802401A8 46001081 */ sub.s $f2, $f2, $f0 +/* D379AC 802401AC 3C0141A0 */ lui $at, 0x41a0 +/* D379B0 802401B0 44810000 */ mtc1 $at, $f0 +/* D379B4 802401B4 00000000 */ nop +/* D379B8 802401B8 46001082 */ mul.s $f2, $f2, $f0 +/* D379BC 802401BC 00000000 */ nop +/* D379C0 802401C0 C6200078 */ lwc1 $f0, 0x78($s1) +/* D379C4 802401C4 46020000 */ add.s $f0, $f0, $f2 +/* D379C8 802401C8 E640000C */ swc1 $f0, 0xc($s2) +/* D379CC 802401CC 8E23007C */ lw $v1, 0x7c($s1) +/* D379D0 802401D0 2402001E */ addiu $v0, $zero, 0x1e +/* D379D4 802401D4 14620005 */ bne $v1, $v0, .L802401EC +/* D379D8 802401D8 24620001 */ addiu $v0, $v1, 1 +/* D379DC 802401DC 24020001 */ addiu $v0, $zero, 1 +/* D379E0 802401E0 AE220074 */ sw $v0, 0x74($s1) +/* D379E4 802401E4 08090093 */ j .L8024024C +/* D379E8 802401E8 AE20007C */ sw $zero, 0x7c($s1) +.L802401EC: +/* D379EC 802401EC 08090093 */ j .L8024024C +/* D379F0 802401F0 AE22007C */ sw $v0, 0x7c($s1) +.L802401F4: +/* D379F4 802401F4 C62C007C */ lwc1 $f12, 0x7c($s1) +/* D379F8 802401F8 0C00A8D4 */ jal cos_deg +/* D379FC 802401FC 46806320 */ cvt.s.w $f12, $f12 +/* D37A00 80240200 3C014040 */ lui $at, 0x4040 +/* D37A04 80240204 44811000 */ mtc1 $at, $f2 +/* D37A08 80240208 00000000 */ nop +/* D37A0C 8024020C 46020002 */ mul.s $f0, $f0, $f2 +/* D37A10 80240210 00000000 */ nop +/* D37A14 80240214 3C014188 */ lui $at, 0x4188 +/* D37A18 80240218 44812000 */ mtc1 $at, $f4 +/* D37A1C 8024021C C6220078 */ lwc1 $f2, 0x78($s1) +/* D37A20 80240220 46041080 */ add.s $f2, $f2, $f4 +/* D37A24 80240224 46001080 */ add.s $f2, $f2, $f0 +/* D37A28 80240228 E642000C */ swc1 $f2, 0xc($s2) +/* D37A2C 8024022C 8E22007C */ lw $v0, 0x7c($s1) +/* D37A30 80240230 24420009 */ addiu $v0, $v0, 9 +/* D37A34 80240234 44826000 */ mtc1 $v0, $f12 +/* D37A38 80240238 00000000 */ nop +/* D37A3C 8024023C 0C00A6C9 */ jal clamp_angle +/* D37A40 80240240 46806320 */ cvt.s.w $f12, $f12 +/* D37A44 80240244 4600018D */ trunc.w.s $f6, $f0 +/* D37A48 80240248 E626007C */ swc1 $f6, 0x7c($s1) +.L8024024C: +/* D37A4C 8024024C 8FBF001C */ lw $ra, 0x1c($sp) +/* D37A50 80240250 8FB20018 */ lw $s2, 0x18($sp) +/* D37A54 80240254 8FB10014 */ lw $s1, 0x14($sp) +/* D37A58 80240258 8FB00010 */ lw $s0, 0x10($sp) +/* D37A5C 8024025C 0000102D */ daddu $v0, $zero, $zero +/* D37A60 80240260 03E00008 */ jr $ra +/* D37A64 80240264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_80240268_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_80240268_D37800.s new file mode 100644 index 0000000000..860e726e19 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_80240268_D37800.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240268_D37A68 +/* D37A68 80240268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D37A6C 8024026C AFB00010 */ sw $s0, 0x10($sp) +/* D37A70 80240270 0080802D */ daddu $s0, $a0, $zero +/* D37A74 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* D37A78 80240278 8E02000C */ lw $v0, 0xc($s0) +/* D37A7C 8024027C 0C0B1EAF */ jal get_variable +/* D37A80 80240280 8C450000 */ lw $a1, ($v0) +/* D37A84 80240284 00021140 */ sll $v0, $v0, 5 +/* D37A88 80240288 AE000084 */ sw $zero, 0x84($s0) +/* D37A8C 8024028C 3C018008 */ lui $at, 0x8008 +/* D37A90 80240290 00220821 */ addu $at, $at, $v0 +/* D37A94 80240294 942278F8 */ lhu $v0, 0x78f8($at) +/* D37A98 80240298 30420040 */ andi $v0, $v0, 0x40 +/* D37A9C 8024029C 10400002 */ beqz $v0, .L802402A8 +/* D37AA0 802402A0 24020001 */ addiu $v0, $zero, 1 +/* D37AA4 802402A4 AE020084 */ sw $v0, 0x84($s0) +.L802402A8: +/* D37AA8 802402A8 8FBF0014 */ lw $ra, 0x14($sp) +/* D37AAC 802402AC 8FB00010 */ lw $s0, 0x10($sp) +/* D37AB0 802402B0 24020002 */ addiu $v0, $zero, 2 +/* D37AB4 802402B4 03E00008 */ jr $ra +/* D37AB8 802402B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802402BC_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802402BC_D37800.s new file mode 100644 index 0000000000..5652ebd8b7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802402BC_D37800.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402BC_D37ABC +/* D37ABC 802402BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D37AC0 802402C0 AFBF0010 */ sw $ra, 0x10($sp) +/* D37AC4 802402C4 0C04C3D6 */ jal get_item_entity +/* D37AC8 802402C8 8C840084 */ lw $a0, 0x84($a0) +/* D37ACC 802402CC 3C013F4C */ lui $at, 0x3f4c +/* D37AD0 802402D0 3421CCCD */ ori $at, $at, 0xcccd +/* D37AD4 802402D4 44810000 */ mtc1 $at, $f0 +/* D37AD8 802402D8 00000000 */ nop +/* D37ADC 802402DC E4400030 */ swc1 $f0, 0x30($v0) +/* D37AE0 802402E0 8FBF0010 */ lw $ra, 0x10($sp) +/* D37AE4 802402E4 24020002 */ addiu $v0, $zero, 2 +/* D37AE8 802402E8 03E00008 */ jr $ra +/* D37AEC 802402EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802402F0_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802402F0_D37800.s new file mode 100644 index 0000000000..ca02c82632 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802402F0_D37800.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F0_D37AF0 +/* D37AF0 802402F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D37AF4 802402F4 F7B60028 */ sdc1 $f22, 0x28($sp) +/* D37AF8 802402F8 3C01439B */ lui $at, 0x439b +/* D37AFC 802402FC 4481B000 */ mtc1 $at, $f22 +/* D37B00 80240300 F7B40020 */ sdc1 $f20, 0x20($sp) +/* D37B04 80240304 3C0142C8 */ lui $at, 0x42c8 +/* D37B08 80240308 4481A000 */ mtc1 $at, $f20 +/* D37B0C 8024030C AFB10014 */ sw $s1, 0x14($sp) +/* D37B10 80240310 0080882D */ daddu $s1, $a0, $zero +/* D37B14 80240314 AFBF0018 */ sw $ra, 0x18($sp) +/* D37B18 80240318 AFB00010 */ sw $s0, 0x10($sp) +/* D37B1C 8024031C 0C00A8BB */ jal sin_deg +/* D37B20 80240320 4600B306 */ mov.s $f12, $f22 +/* D37B24 80240324 46140002 */ mul.s $f0, $f0, $f20 +/* D37B28 80240328 00000000 */ nop +/* D37B2C 8024032C 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D37B30 80240330 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D37B34 80240334 C6020028 */ lwc1 $f2, 0x28($s0) +/* D37B38 80240338 46001080 */ add.s $f2, $f2, $f0 +/* D37B3C 8024033C 4600110D */ trunc.w.s $f4, $f2 +/* D37B40 80240340 E6240084 */ swc1 $f4, 0x84($s1) +/* D37B44 80240344 0C00A8D4 */ jal cos_deg +/* D37B48 80240348 4600B306 */ mov.s $f12, $f22 +/* D37B4C 8024034C 46140002 */ mul.s $f0, $f0, $f20 +/* D37B50 80240350 00000000 */ nop +/* D37B54 80240354 C6020030 */ lwc1 $f2, 0x30($s0) +/* D37B58 80240358 3C014302 */ lui $at, 0x4302 +/* D37B5C 8024035C 4481B000 */ mtc1 $at, $f22 +/* D37B60 80240360 46001081 */ sub.s $f2, $f2, $f0 +/* D37B64 80240364 4600110D */ trunc.w.s $f4, $f2 +/* D37B68 80240368 E6240088 */ swc1 $f4, 0x88($s1) +/* D37B6C 8024036C 0C00A8BB */ jal sin_deg +/* D37B70 80240370 4600B306 */ mov.s $f12, $f22 +/* D37B74 80240374 46140002 */ mul.s $f0, $f0, $f20 +/* D37B78 80240378 00000000 */ nop +/* D37B7C 8024037C C6020028 */ lwc1 $f2, 0x28($s0) +/* D37B80 80240380 46001080 */ add.s $f2, $f2, $f0 +/* D37B84 80240384 4600110D */ trunc.w.s $f4, $f2 +/* D37B88 80240388 E624008C */ swc1 $f4, 0x8c($s1) +/* D37B8C 8024038C 0C00A8D4 */ jal cos_deg +/* D37B90 80240390 4600B306 */ mov.s $f12, $f22 +/* D37B94 80240394 46140002 */ mul.s $f0, $f0, $f20 +/* D37B98 80240398 00000000 */ nop +/* D37B9C 8024039C C6020030 */ lwc1 $f2, 0x30($s0) +/* D37BA0 802403A0 46001081 */ sub.s $f2, $f2, $f0 +/* D37BA4 802403A4 4600110D */ trunc.w.s $f4, $f2 +/* D37BA8 802403A8 E6240090 */ swc1 $f4, 0x90($s1) +/* D37BAC 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* D37BB0 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* D37BB4 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* D37BB8 802403B8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* D37BBC 802403BC D7B40020 */ ldc1 $f20, 0x20($sp) +/* D37BC0 802403C0 24020002 */ addiu $v0, $zero, 2 +/* D37BC4 802403C4 03E00008 */ jr $ra +/* D37BC8 802403C8 27BD0030 */ addiu $sp, $sp, 0x30 +/* D37BCC 802403CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802403D0_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802403D0_D37800.s new file mode 100644 index 0000000000..e4ae6afb6a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802403D0_D37800.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D0_D37BD0 +/* D37BD0 802403D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D37BD4 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* D37BD8 802403D8 0080882D */ daddu $s1, $a0, $zero +/* D37BDC 802403DC AFBF0018 */ sw $ra, 0x18($sp) +/* D37BE0 802403E0 AFB00010 */ sw $s0, 0x10($sp) +/* D37BE4 802403E4 8E300148 */ lw $s0, 0x148($s1) +/* D37BE8 802403E8 0C00EABB */ jal get_npc_unsafe +/* D37BEC 802403EC 86040008 */ lh $a0, 8($s0) +/* D37BF0 802403F0 24030001 */ addiu $v1, $zero, 1 +/* D37BF4 802403F4 0040202D */ daddu $a0, $v0, $zero +/* D37BF8 802403F8 AE03006C */ sw $v1, 0x6c($s0) +/* D37BFC 802403FC 8482008C */ lh $v0, 0x8c($a0) +/* D37C00 80240400 14400009 */ bnez $v0, .L80240428 +/* D37C04 80240404 24020002 */ addiu $v0, $zero, 2 +/* D37C08 80240408 96030072 */ lhu $v1, 0x72($s0) +/* D37C0C 8024040C AE02006C */ sw $v0, 0x6c($s0) +/* D37C10 80240410 A483008E */ sh $v1, 0x8e($a0) +/* D37C14 80240414 8E0200CC */ lw $v0, 0xcc($s0) +/* D37C18 80240418 8C420020 */ lw $v0, 0x20($v0) +/* D37C1C 8024041C AC820028 */ sw $v0, 0x28($a0) +/* D37C20 80240420 2402001F */ addiu $v0, $zero, 0x1f +/* D37C24 80240424 AE220070 */ sw $v0, 0x70($s1) +.L80240428: +/* D37C28 80240428 8FBF0018 */ lw $ra, 0x18($sp) +/* D37C2C 8024042C 8FB10014 */ lw $s1, 0x14($sp) +/* D37C30 80240430 8FB00010 */ lw $s0, 0x10($sp) +/* D37C34 80240434 03E00008 */ jr $ra +/* D37C38 80240438 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_8024043C_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_8024043C_D37800.s new file mode 100644 index 0000000000..778a400932 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_8024043C_D37800.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024043C_D37C3C +/* D37C3C 8024043C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D37C40 80240440 AFB10014 */ sw $s1, 0x14($sp) +/* D37C44 80240444 0080882D */ daddu $s1, $a0, $zero +/* D37C48 80240448 AFBF0018 */ sw $ra, 0x18($sp) +/* D37C4C 8024044C AFB00010 */ sw $s0, 0x10($sp) +/* D37C50 80240450 8E300148 */ lw $s0, 0x148($s1) +/* D37C54 80240454 0C00EABB */ jal get_npc_unsafe +/* D37C58 80240458 86040008 */ lh $a0, 8($s0) +/* D37C5C 8024045C 0040202D */ daddu $a0, $v0, $zero +/* D37C60 80240460 9482008E */ lhu $v0, 0x8e($a0) +/* D37C64 80240464 2442FFFF */ addiu $v0, $v0, -1 +/* D37C68 80240468 A482008E */ sh $v0, 0x8e($a0) +/* D37C6C 8024046C 00021400 */ sll $v0, $v0, 0x10 +/* D37C70 80240470 1C400009 */ bgtz $v0, .L80240498 +/* D37C74 80240474 24020003 */ addiu $v0, $zero, 3 +/* D37C78 80240478 96030076 */ lhu $v1, 0x76($s0) +/* D37C7C 8024047C AE02006C */ sw $v0, 0x6c($s0) +/* D37C80 80240480 A483008E */ sh $v1, 0x8e($a0) +/* D37C84 80240484 8E0200CC */ lw $v0, 0xcc($s0) +/* D37C88 80240488 8C420024 */ lw $v0, 0x24($v0) +/* D37C8C 8024048C AC820028 */ sw $v0, 0x28($a0) +/* D37C90 80240490 24020020 */ addiu $v0, $zero, 0x20 +/* D37C94 80240494 AE220070 */ sw $v0, 0x70($s1) +.L80240498: +/* D37C98 80240498 8FBF0018 */ lw $ra, 0x18($sp) +/* D37C9C 8024049C 8FB10014 */ lw $s1, 0x14($sp) +/* D37CA0 802404A0 8FB00010 */ lw $s0, 0x10($sp) +/* D37CA4 802404A4 03E00008 */ jr $ra +/* D37CA8 802404A8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802404AC_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802404AC_D37800.s new file mode 100644 index 0000000000..b07c9f1d5f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802404AC_D37800.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404AC_D37CAC +/* D37CAC 802404AC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D37CB0 802404B0 AFB10034 */ sw $s1, 0x34($sp) +/* D37CB4 802404B4 0080882D */ daddu $s1, $a0, $zero +/* D37CB8 802404B8 AFBF0038 */ sw $ra, 0x38($sp) +/* D37CBC 802404BC AFB00030 */ sw $s0, 0x30($sp) +/* D37CC0 802404C0 8E300148 */ lw $s0, 0x148($s1) +/* D37CC4 802404C4 0C00EABB */ jal get_npc_unsafe +/* D37CC8 802404C8 86040008 */ lh $a0, 8($s0) +/* D37CCC 802404CC 0040282D */ daddu $a1, $v0, $zero +/* D37CD0 802404D0 94A2008E */ lhu $v0, 0x8e($a1) +/* D37CD4 802404D4 2442FFFF */ addiu $v0, $v0, -1 +/* D37CD8 802404D8 A4A2008E */ sh $v0, 0x8e($a1) +/* D37CDC 802404DC 00021400 */ sll $v0, $v0, 0x10 +/* D37CE0 802404E0 1C400023 */ bgtz $v0, .L80240570 +/* D37CE4 802404E4 24020004 */ addiu $v0, $zero, 4 +/* D37CE8 802404E8 8E0300CC */ lw $v1, 0xcc($s0) +/* D37CEC 802404EC AE02006C */ sw $v0, 0x6c($s0) +/* D37CF0 802404F0 8C620000 */ lw $v0, ($v1) +/* D37CF4 802404F4 ACA20028 */ sw $v0, 0x28($a1) +/* D37CF8 802404F8 9602007A */ lhu $v0, 0x7a($s0) +/* D37CFC 802404FC A4A2008E */ sh $v0, 0x8e($a1) +/* D37D00 80240500 8E020078 */ lw $v0, 0x78($s0) +/* D37D04 80240504 28420008 */ slti $v0, $v0, 8 +/* D37D08 80240508 14400018 */ bnez $v0, .L8024056C +/* D37D0C 8024050C 24020021 */ addiu $v0, $zero, 0x21 +/* D37D10 80240510 24040003 */ addiu $a0, $zero, 3 +/* D37D14 80240514 27A30028 */ addiu $v1, $sp, 0x28 +/* D37D18 80240518 84A700A8 */ lh $a3, 0xa8($a1) +/* D37D1C 8024051C 3C013F80 */ lui $at, 0x3f80 +/* D37D20 80240520 44810000 */ mtc1 $at, $f0 +/* D37D24 80240524 3C014000 */ lui $at, 0x4000 +/* D37D28 80240528 44811000 */ mtc1 $at, $f2 +/* D37D2C 8024052C 3C01C1A0 */ lui $at, 0xc1a0 +/* D37D30 80240530 44812000 */ mtc1 $at, $f4 +/* D37D34 80240534 44873000 */ mtc1 $a3, $f6 +/* D37D38 80240538 00000000 */ nop +/* D37D3C 8024053C 468031A0 */ cvt.s.w $f6, $f6 +/* D37D40 80240540 E7A00010 */ swc1 $f0, 0x10($sp) +/* D37D44 80240544 E7A20014 */ swc1 $f2, 0x14($sp) +/* D37D48 80240548 E7A40018 */ swc1 $f4, 0x18($sp) +/* D37D4C 8024054C 8E020078 */ lw $v0, 0x78($s0) +/* D37D50 80240550 44073000 */ mfc1 $a3, $f6 +/* D37D54 80240554 0000302D */ daddu $a2, $zero, $zero +/* D37D58 80240558 AFA30020 */ sw $v1, 0x20($sp) +/* D37D5C 8024055C 2442FFFF */ addiu $v0, $v0, -1 +/* D37D60 80240560 0C01BFA4 */ jal fx_emote +/* D37D64 80240564 AFA2001C */ sw $v0, 0x1c($sp) +/* D37D68 80240568 24020021 */ addiu $v0, $zero, 0x21 +.L8024056C: +/* D37D6C 8024056C AE220070 */ sw $v0, 0x70($s1) +.L80240570: +/* D37D70 80240570 8FBF0038 */ lw $ra, 0x38($sp) +/* D37D74 80240574 8FB10034 */ lw $s1, 0x34($sp) +/* D37D78 80240578 8FB00030 */ lw $s0, 0x30($sp) +/* D37D7C 8024057C 03E00008 */ jr $ra +/* D37D80 80240580 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_80240584_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_80240584_D37800.s new file mode 100644 index 0000000000..f46cf2deef --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_80240584_D37800.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240584_D37D84 +/* D37D84 80240584 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D37D88 80240588 AFB10014 */ sw $s1, 0x14($sp) +/* D37D8C 8024058C 0080882D */ daddu $s1, $a0, $zero +/* D37D90 80240590 AFBF0018 */ sw $ra, 0x18($sp) +/* D37D94 80240594 AFB00010 */ sw $s0, 0x10($sp) +/* D37D98 80240598 8E300148 */ lw $s0, 0x148($s1) +/* D37D9C 8024059C 0C00EABB */ jal get_npc_unsafe +/* D37DA0 802405A0 86040008 */ lh $a0, 8($s0) +/* D37DA4 802405A4 9443008E */ lhu $v1, 0x8e($v0) +/* D37DA8 802405A8 2463FFFF */ addiu $v1, $v1, -1 +/* D37DAC 802405AC A443008E */ sh $v1, 0x8e($v0) +/* D37DB0 802405B0 00031C00 */ sll $v1, $v1, 0x10 +/* D37DB4 802405B4 1C600003 */ bgtz $v1, .L802405C4 +/* D37DB8 802405B8 2402000C */ addiu $v0, $zero, 0xc +/* D37DBC 802405BC AE00006C */ sw $zero, 0x6c($s0) +/* D37DC0 802405C0 AE220070 */ sw $v0, 0x70($s1) +.L802405C4: +/* D37DC4 802405C4 8FBF0018 */ lw $ra, 0x18($sp) +/* D37DC8 802405C8 8FB10014 */ lw $s1, 0x14($sp) +/* D37DCC 802405CC 8FB00010 */ lw $s0, 0x10($sp) +/* D37DD0 802405D0 03E00008 */ jr $ra +/* D37DD4 802405D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802405D8_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802405D8_D37800.s new file mode 100644 index 0000000000..387cf40836 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802405D8_D37800.s @@ -0,0 +1,119 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D8_D37DD8 +/* D37DD8 802405D8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D37DDC 802405DC AFBF0024 */ sw $ra, 0x24($sp) +/* D37DE0 802405E0 AFB40020 */ sw $s4, 0x20($sp) +/* D37DE4 802405E4 AFB3001C */ sw $s3, 0x1c($sp) +/* D37DE8 802405E8 AFB20018 */ sw $s2, 0x18($sp) +/* D37DEC 802405EC AFB10014 */ sw $s1, 0x14($sp) +/* D37DF0 802405F0 AFB00010 */ sw $s0, 0x10($sp) +/* D37DF4 802405F4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D37DF8 802405F8 8C900148 */ lw $s0, 0x148($a0) +/* D37DFC 802405FC 86040008 */ lh $a0, 8($s0) +/* D37E00 80240600 0C00EABB */ jal get_npc_unsafe +/* D37E04 80240604 24110001 */ addiu $s1, $zero, 1 +/* D37E08 80240608 86040008 */ lh $a0, 8($s0) +/* D37E0C 8024060C 0040802D */ daddu $s0, $v0, $zero +/* D37E10 80240610 3C05800B */ lui $a1, %hi(gCameras) +/* D37E14 80240614 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D37E18 80240618 3C03800A */ lui $v1, 0x800a +/* D37E1C 8024061C 8463A634 */ lh $v1, -0x59cc($v1) +/* D37E20 80240620 00912021 */ addu $a0, $a0, $s1 +/* D37E24 80240624 00031080 */ sll $v0, $v1, 2 +/* D37E28 80240628 00431021 */ addu $v0, $v0, $v1 +/* D37E2C 8024062C 00021080 */ sll $v0, $v0, 2 +/* D37E30 80240630 00431023 */ subu $v0, $v0, $v1 +/* D37E34 80240634 000218C0 */ sll $v1, $v0, 3 +/* D37E38 80240638 00431021 */ addu $v0, $v0, $v1 +/* D37E3C 8024063C 000210C0 */ sll $v0, $v0, 3 +/* D37E40 80240640 0C00FB3A */ jal get_enemy +/* D37E44 80240644 00459021 */ addu $s2, $v0, $a1 +/* D37E48 80240648 3C14800F */ lui $s4, %hi(gPlayerStatusPtr) +/* D37E4C 8024064C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr) +/* D37E50 80240650 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D37E54 80240654 8E830000 */ lw $v1, ($s4) +/* D37E58 80240658 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D37E5C 8024065C 8C660028 */ lw $a2, 0x28($v1) +/* D37E60 80240660 8C670030 */ lw $a3, 0x30($v1) +/* D37E64 80240664 0C00A7B5 */ jal dist2D +/* D37E68 80240668 0040982D */ daddu $s3, $v0, $zero +/* D37E6C 8024066C C6620074 */ lwc1 $f2, 0x74($s3) +/* D37E70 80240670 468010A0 */ cvt.s.w $f2, $f2 +/* D37E74 80240674 4600103C */ c.lt.s $f2, $f0 +/* D37E78 80240678 00000000 */ nop +/* D37E7C 8024067C 45030001 */ bc1tl .L80240684 +/* D37E80 80240680 0000882D */ daddu $s1, $zero, $zero +.L80240684: +/* D37E84 80240684 C64C006C */ lwc1 $f12, 0x6c($s2) +/* D37E88 80240688 C60E000C */ lwc1 $f14, 0xc($s0) +/* D37E8C 8024068C 3C014387 */ lui $at, 0x4387 +/* D37E90 80240690 4481A000 */ mtc1 $at, $f20 +/* D37E94 80240694 0C00A70A */ jal get_clamped_angle_diff +/* D37E98 80240698 00000000 */ nop +/* D37E9C 8024069C 0C00A6C9 */ jal clamp_angle +/* D37EA0 802406A0 46000306 */ mov.s $f12, $f0 +/* D37EA4 802406A4 3C018024 */ lui $at, 0x8024 +/* D37EA8 802406A8 D4222C30 */ ldc1 $f2, 0x2c30($at) +/* D37EAC 802406AC 46000021 */ cvt.d.s $f0, $f0 +/* D37EB0 802406B0 4622003C */ c.lt.d $f0, $f2 +/* D37EB4 802406B4 00000000 */ nop +/* D37EB8 802406B8 45000003 */ bc1f .L802406C8 +/* D37EBC 802406BC 00000000 */ nop +/* D37EC0 802406C0 3C0142B4 */ lui $at, 0x42b4 +/* D37EC4 802406C4 4481A000 */ mtc1 $at, $f20 +.L802406C8: +/* D37EC8 802406C8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* D37ECC 802406CC 8E820000 */ lw $v0, ($s4) +/* D37ED0 802406D0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* D37ED4 802406D4 8C460028 */ lw $a2, 0x28($v0) +/* D37ED8 802406D8 0C00A720 */ jal atan2 +/* D37EDC 802406DC 8C470030 */ lw $a3, 0x30($v0) +/* D37EE0 802406E0 4600A306 */ mov.s $f12, $f20 +/* D37EE4 802406E4 0C00A70A */ jal get_clamped_angle_diff +/* D37EE8 802406E8 46000386 */ mov.s $f14, $f0 +/* D37EEC 802406EC C6620078 */ lwc1 $f2, 0x78($s3) +/* D37EF0 802406F0 468010A0 */ cvt.s.w $f2, $f2 +/* D37EF4 802406F4 46000005 */ abs.s $f0, $f0 +/* D37EF8 802406F8 4600103C */ c.lt.s $f2, $f0 +/* D37EFC 802406FC 00000000 */ nop +/* D37F00 80240700 45030001 */ bc1tl .L80240708 +/* D37F04 80240704 0000882D */ daddu $s1, $zero, $zero +.L80240708: +/* D37F08 80240708 8E820000 */ lw $v0, ($s4) +/* D37F0C 8024070C C600003C */ lwc1 $f0, 0x3c($s0) +/* D37F10 80240710 C442002C */ lwc1 $f2, 0x2c($v0) +/* D37F14 80240714 860200A8 */ lh $v0, 0xa8($s0) +/* D37F18 80240718 46020001 */ sub.s $f0, $f0, $f2 +/* D37F1C 8024071C 44821000 */ mtc1 $v0, $f2 +/* D37F20 80240720 00000000 */ nop +/* D37F24 80240724 468010A1 */ cvt.d.w $f2, $f2 +/* D37F28 80240728 46221080 */ add.d $f2, $f2, $f2 +/* D37F2C 8024072C 46000005 */ abs.s $f0, $f0 +/* D37F30 80240730 46000021 */ cvt.d.s $f0, $f0 +/* D37F34 80240734 4620103E */ c.le.d $f2, $f0 +/* D37F38 80240738 00000000 */ nop +/* D37F3C 8024073C 45030001 */ bc1tl .L80240744 +/* D37F40 80240740 0000882D */ daddu $s1, $zero, $zero +.L80240744: +/* D37F44 80240744 3C038011 */ lui $v1, 0x8011 +/* D37F48 80240748 8063EBB3 */ lb $v1, -0x144d($v1) +/* D37F4C 8024074C 24020009 */ addiu $v0, $zero, 9 +/* D37F50 80240750 50620001 */ beql $v1, $v0, .L80240758 +/* D37F54 80240754 0000882D */ daddu $s1, $zero, $zero +.L80240758: +/* D37F58 80240758 24020007 */ addiu $v0, $zero, 7 +/* D37F5C 8024075C 50620001 */ beql $v1, $v0, .L80240764 +/* D37F60 80240760 0000882D */ daddu $s1, $zero, $zero +.L80240764: +/* D37F64 80240764 0220102D */ daddu $v0, $s1, $zero +/* D37F68 80240768 8FBF0024 */ lw $ra, 0x24($sp) +/* D37F6C 8024076C 8FB40020 */ lw $s4, 0x20($sp) +/* D37F70 80240770 8FB3001C */ lw $s3, 0x1c($sp) +/* D37F74 80240774 8FB20018 */ lw $s2, 0x18($sp) +/* D37F78 80240778 8FB10014 */ lw $s1, 0x14($sp) +/* D37F7C 8024077C 8FB00010 */ lw $s0, 0x10($sp) +/* D37F80 80240780 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D37F84 80240784 03E00008 */ jr $ra +/* D37F88 80240788 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_8024078C_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_8024078C_D37800.s new file mode 100644 index 0000000000..ceeb63226c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_8024078C_D37800.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024078C_D37F8C +/* D37F8C 8024078C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D37F90 80240790 AFB40028 */ sw $s4, 0x28($sp) +/* D37F94 80240794 0080A02D */ daddu $s4, $a0, $zero +/* D37F98 80240798 AFBF002C */ sw $ra, 0x2c($sp) +/* D37F9C 8024079C AFB30024 */ sw $s3, 0x24($sp) +/* D37FA0 802407A0 AFB20020 */ sw $s2, 0x20($sp) +/* D37FA4 802407A4 AFB1001C */ sw $s1, 0x1c($sp) +/* D37FA8 802407A8 AFB00018 */ sw $s0, 0x18($sp) +/* D37FAC 802407AC 8E910148 */ lw $s1, 0x148($s4) +/* D37FB0 802407B0 86240008 */ lh $a0, 8($s1) +/* D37FB4 802407B4 0C00EABB */ jal get_npc_unsafe +/* D37FB8 802407B8 00A0802D */ daddu $s0, $a1, $zero +/* D37FBC 802407BC 16000005 */ bnez $s0, .L802407D4 +/* D37FC0 802407C0 0040902D */ daddu $s2, $v0, $zero +/* D37FC4 802407C4 8E2200B0 */ lw $v0, 0xb0($s1) +/* D37FC8 802407C8 30420004 */ andi $v0, $v0, 4 +/* D37FCC 802407CC 10400015 */ beqz $v0, .L80240824 +/* D37FD0 802407D0 00000000 */ nop +.L802407D4: +/* D37FD4 802407D4 AE800070 */ sw $zero, 0x70($s4) +/* D37FD8 802407D8 8E420000 */ lw $v0, ($s2) +/* D37FDC 802407DC 3C031F30 */ lui $v1, 0x1f30 +/* D37FE0 802407E0 A640008E */ sh $zero, 0x8e($s2) +/* D37FE4 802407E4 34420102 */ ori $v0, $v0, 0x102 +/* D37FE8 802407E8 AE420000 */ sw $v0, ($s2) +/* D37FEC 802407EC 8E220000 */ lw $v0, ($s1) +/* D37FF0 802407F0 3C01C47A */ lui $at, 0xc47a +/* D37FF4 802407F4 44810000 */ mtc1 $at, $f0 +/* D37FF8 802407F8 00431025 */ or $v0, $v0, $v1 +/* D37FFC 802407FC AE220000 */ sw $v0, ($s1) +/* D38000 80240800 AE400038 */ sw $zero, 0x38($s2) +/* D38004 80240804 E640003C */ swc1 $f0, 0x3c($s2) +/* D38008 80240808 AE400040 */ sw $zero, 0x40($s2) +/* D3800C 8024080C 8E2300B0 */ lw $v1, 0xb0($s1) +/* D38010 80240810 30620004 */ andi $v0, $v1, 4 +/* D38014 80240814 10400003 */ beqz $v0, .L80240824 +/* D38018 80240818 2402FFFB */ addiu $v0, $zero, -5 +/* D3801C 8024081C 00621024 */ and $v0, $v1, $v0 +/* D38020 80240820 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240824: +/* D38024 80240824 8E930070 */ lw $s3, 0x70($s4) +/* D38028 80240828 12600005 */ beqz $s3, .L80240840 +/* D3802C 8024082C 24020001 */ addiu $v0, $zero, 1 +/* D38030 80240830 12620048 */ beq $s3, $v0, .L80240954 +/* D38034 80240834 00000000 */ nop +/* D38038 80240838 08090272 */ j .L802409C8 +/* D3803C 8024083C 00000000 */ nop +.L80240840: +/* D38040 80240840 86240008 */ lh $a0, 8($s1) +/* D38044 80240844 0C00FB3A */ jal get_enemy +/* D38048 80240848 2484FFFF */ addiu $a0, $a0, -1 +/* D3804C 8024084C 0040802D */ daddu $s0, $v0, $zero +/* D38050 80240850 0C00EABB */ jal get_npc_unsafe +/* D38054 80240854 86040008 */ lh $a0, 8($s0) +/* D38058 80240858 24030001 */ addiu $v1, $zero, 1 +/* D3805C 8024085C 0040982D */ daddu $s3, $v0, $zero +/* D38060 80240860 A2230007 */ sb $v1, 7($s1) +/* D38064 80240864 8E03006C */ lw $v1, 0x6c($s0) +/* D38068 80240868 24020003 */ addiu $v0, $zero, 3 +/* D3806C 8024086C 14620056 */ bne $v1, $v0, .L802409C8 +/* D38070 80240870 00000000 */ nop +/* D38074 80240874 8E2500A8 */ lw $a1, 0xa8($s1) +/* D38078 80240878 10A00003 */ beqz $a1, .L80240888 +/* D3807C 8024087C 0260202D */ daddu $a0, $s3, $zero +/* D38080 80240880 0C012530 */ jal func_800494C0 +/* D38084 80240884 0000302D */ daddu $a2, $zero, $zero +.L80240888: +/* D38088 80240888 27A40010 */ addiu $a0, $sp, 0x10 +/* D3808C 8024088C C6280070 */ lwc1 $f8, 0x70($s1) +/* D38090 80240890 46804220 */ cvt.s.w $f8, $f8 +/* D38094 80240894 C6620034 */ lwc1 $f2, 0x34($s3) +/* D38098 80240898 3C014387 */ lui $at, 0x4387 +/* D3809C 8024089C 44810000 */ mtc1 $at, $f0 +/* D380A0 802408A0 44064000 */ mfc1 $a2, $f8 +/* D380A4 802408A4 46020001 */ sub.s $f0, $f0, $f2 +/* D380A8 802408A8 C6660038 */ lwc1 $f6, 0x38($s3) +/* D380AC 802408AC C6640040 */ lwc1 $f4, 0x40($s3) +/* D380B0 802408B0 44070000 */ mfc1 $a3, $f0 +/* D380B4 802408B4 27A50014 */ addiu $a1, $sp, 0x14 +/* D380B8 802408B8 E7A60010 */ swc1 $f6, 0x10($sp) +/* D380BC 802408BC 0C00A7E7 */ jal add_vec2D_polar +/* D380C0 802408C0 E7A40014 */ swc1 $f4, 0x14($sp) +/* D380C4 802408C4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* D380C8 802408C8 4600020D */ trunc.w.s $f8, $f0 +/* D380CC 802408CC 44024000 */ mfc1 $v0, $f8 +/* D380D0 802408D0 E6400038 */ swc1 $f0, 0x38($s2) +/* D380D4 802408D4 A6220010 */ sh $v0, 0x10($s1) +/* D380D8 802408D8 C660003C */ lwc1 $f0, 0x3c($s3) +/* D380DC 802408DC C622006C */ lwc1 $f2, 0x6c($s1) +/* D380E0 802408E0 468010A0 */ cvt.s.w $f2, $f2 +/* D380E4 802408E4 46020000 */ add.s $f0, $f0, $f2 +/* D380E8 802408E8 3C03800F */ lui $v1, %hi(gPlayerStatusPtr) +/* D380EC 802408EC 8C637B30 */ lw $v1, %lo(gPlayerStatusPtr)($v1) +/* D380F0 802408F0 E640003C */ swc1 $f0, 0x3c($s2) +/* D380F4 802408F4 C7A20014 */ lwc1 $f2, 0x14($sp) +/* D380F8 802408F8 4600020D */ trunc.w.s $f8, $f0 +/* D380FC 802408FC 44024000 */ mfc1 $v0, $f8 +/* D38100 80240900 00000000 */ nop +/* D38104 80240904 A6220012 */ sh $v0, 0x12($s1) +/* D38108 80240908 4600120D */ trunc.w.s $f8, $f2 +/* D3810C 8024090C 44024000 */ mfc1 $v0, $f8 +/* D38110 80240910 E6420040 */ swc1 $f2, 0x40($s2) +/* D38114 80240914 A6220014 */ sh $v0, 0x14($s1) +/* D38118 80240918 8C660028 */ lw $a2, 0x28($v1) +/* D3811C 8024091C 8C670030 */ lw $a3, 0x30($v1) +/* D38120 80240920 C64C0038 */ lwc1 $f12, 0x38($s2) +/* D38124 80240924 0C00A720 */ jal atan2 +/* D38128 80240928 C64E0040 */ lwc1 $f14, 0x40($s2) +/* D3812C 8024092C 3C03E0EF */ lui $v1, 0xe0ef +/* D38130 80240930 E640000C */ swc1 $f0, 0xc($s2) +/* D38134 80240934 8E220000 */ lw $v0, ($s1) +/* D38138 80240938 3463FFFF */ ori $v1, $v1, 0xffff +/* D3813C 8024093C 00431024 */ and $v0, $v0, $v1 +/* D38140 80240940 AE220000 */ sw $v0, ($s1) +/* D38144 80240944 24020001 */ addiu $v0, $zero, 1 +/* D38148 80240948 A640008E */ sh $zero, 0x8e($s2) +/* D3814C 8024094C 08090272 */ j .L802409C8 +/* D38150 80240950 AE820070 */ sw $v0, 0x70($s4) +.L80240954: +/* D38154 80240954 86240008 */ lh $a0, 8($s1) +/* D38158 80240958 0C00FB3A */ jal get_enemy +/* D3815C 8024095C 2484FFFF */ addiu $a0, $a0, -1 +/* D38160 80240960 0040802D */ daddu $s0, $v0, $zero +/* D38164 80240964 0C00EABB */ jal get_npc_unsafe +/* D38168 80240968 86040008 */ lh $a0, 8($s0) +/* D3816C 8024096C 9642008E */ lhu $v0, 0x8e($s2) +/* D38170 80240970 24420001 */ addiu $v0, $v0, 1 +/* D38174 80240974 A642008E */ sh $v0, 0x8e($s2) +/* D38178 80240978 00021400 */ sll $v0, $v0, 0x10 +/* D3817C 8024097C 8E23007C */ lw $v1, 0x7c($s1) +/* D38180 80240980 00021403 */ sra $v0, $v0, 0x10 +/* D38184 80240984 0043102A */ slt $v0, $v0, $v1 +/* D38188 80240988 50400001 */ beql $v0, $zero, .L80240990 +/* D3818C 8024098C A2200007 */ sb $zero, 7($s1) +.L80240990: +/* D38190 80240990 8E03006C */ lw $v1, 0x6c($s0) +/* D38194 80240994 24020004 */ addiu $v0, $zero, 4 +/* D38198 80240998 1462000B */ bne $v1, $v0, .L802409C8 +/* D3819C 8024099C 3C021F10 */ lui $v0, 0x1f10 +/* D381A0 802409A0 8E230000 */ lw $v1, ($s1) +/* D381A4 802409A4 3C01C47A */ lui $at, 0xc47a +/* D381A8 802409A8 44810000 */ mtc1 $at, $f0 +/* D381AC 802409AC 00621825 */ or $v1, $v1, $v0 +/* D381B0 802409B0 AE230000 */ sw $v1, ($s1) +/* D381B4 802409B4 AE400038 */ sw $zero, 0x38($s2) +/* D381B8 802409B8 E640003C */ swc1 $f0, 0x3c($s2) +/* D381BC 802409BC AE400040 */ sw $zero, 0x40($s2) +/* D381C0 802409C0 A2330007 */ sb $s3, 7($s1) +/* D381C4 802409C4 AE800070 */ sw $zero, 0x70($s4) +.L802409C8: +/* D381C8 802409C8 8FBF002C */ lw $ra, 0x2c($sp) +/* D381CC 802409CC 8FB40028 */ lw $s4, 0x28($sp) +/* D381D0 802409D0 8FB30024 */ lw $s3, 0x24($sp) +/* D381D4 802409D4 8FB20020 */ lw $s2, 0x20($sp) +/* D381D8 802409D8 8FB1001C */ lw $s1, 0x1c($sp) +/* D381DC 802409DC 8FB00018 */ lw $s0, 0x18($sp) +/* D381E0 802409E0 0000102D */ daddu $v0, $zero, $zero +/* D381E4 802409E4 03E00008 */ jr $ra +/* D381E8 802409E8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_10/func_802409EC_D37800.s b/asm/nonmatchings/world/area_sam/sam_10/func_802409EC_D37800.s new file mode 100644 index 0000000000..b66faf5654 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_10/func_802409EC_D37800.s @@ -0,0 +1,184 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409EC_D381EC +/* D381EC 802409EC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D381F0 802409F0 AFB20038 */ sw $s2, 0x38($sp) +/* D381F4 802409F4 0080902D */ daddu $s2, $a0, $zero +/* D381F8 802409F8 AFBF0048 */ sw $ra, 0x48($sp) +/* D381FC 802409FC AFB50044 */ sw $s5, 0x44($sp) +/* D38200 80240A00 AFB40040 */ sw $s4, 0x40($sp) +/* D38204 80240A04 AFB3003C */ sw $s3, 0x3c($sp) +/* D38208 80240A08 AFB10034 */ sw $s1, 0x34($sp) +/* D3820C 80240A0C AFB00030 */ sw $s0, 0x30($sp) +/* D38210 80240A10 8E510148 */ lw $s1, 0x148($s2) +/* D38214 80240A14 86240008 */ lh $a0, 8($s1) +/* D38218 80240A18 0C00EABB */ jal get_npc_unsafe +/* D3821C 80240A1C 00A0802D */ daddu $s0, $a1, $zero +/* D38220 80240A20 8E43000C */ lw $v1, 0xc($s2) +/* D38224 80240A24 0240202D */ daddu $a0, $s2, $zero +/* D38228 80240A28 8C650000 */ lw $a1, ($v1) +/* D3822C 80240A2C 0C0B1EAF */ jal get_variable +/* D38230 80240A30 0040A82D */ daddu $s5, $v0, $zero +/* D38234 80240A34 AFA00010 */ sw $zero, 0x10($sp) +/* D38238 80240A38 8E2300D0 */ lw $v1, 0xd0($s1) +/* D3823C 80240A3C 8C630030 */ lw $v1, 0x30($v1) +/* D38240 80240A40 AFA30014 */ sw $v1, 0x14($sp) +/* D38244 80240A44 8E2300D0 */ lw $v1, 0xd0($s1) +/* D38248 80240A48 8C63001C */ lw $v1, 0x1c($v1) +/* D3824C 80240A4C AFA30018 */ sw $v1, 0x18($sp) +/* D38250 80240A50 8E2300D0 */ lw $v1, 0xd0($s1) +/* D38254 80240A54 8C630024 */ lw $v1, 0x24($v1) +/* D38258 80240A58 AFA3001C */ sw $v1, 0x1c($sp) +/* D3825C 80240A5C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D38260 80240A60 8C630028 */ lw $v1, 0x28($v1) +/* D38264 80240A64 27B40010 */ addiu $s4, $sp, 0x10 +/* D38268 80240A68 AFA30020 */ sw $v1, 0x20($sp) +/* D3826C 80240A6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* D38270 80240A70 3C014282 */ lui $at, 0x4282 +/* D38274 80240A74 44810000 */ mtc1 $at, $f0 +/* D38278 80240A78 8C63002C */ lw $v1, 0x2c($v1) +/* D3827C 80240A7C 0040982D */ daddu $s3, $v0, $zero +/* D38280 80240A80 E7A00028 */ swc1 $f0, 0x28($sp) +/* D38284 80240A84 A7A0002C */ sh $zero, 0x2c($sp) +/* D38288 80240A88 16000005 */ bnez $s0, .L80240AA0 +/* D3828C 80240A8C AFA30024 */ sw $v1, 0x24($sp) +/* D38290 80240A90 8E2200B0 */ lw $v0, 0xb0($s1) +/* D38294 80240A94 30420004 */ andi $v0, $v0, 4 +/* D38298 80240A98 10400020 */ beqz $v0, .L80240B1C +/* D3829C 80240A9C 00000000 */ nop +.L80240AA0: +/* D382A0 80240AA0 2404F7FF */ addiu $a0, $zero, -0x801 +/* D382A4 80240AA4 AE400070 */ sw $zero, 0x70($s2) +/* D382A8 80240AA8 A6A0008E */ sh $zero, 0x8e($s5) +/* D382AC 80240AAC 8E2200CC */ lw $v0, 0xcc($s1) +/* D382B0 80240AB0 8EA30000 */ lw $v1, ($s5) +/* D382B4 80240AB4 8C420000 */ lw $v0, ($v0) +/* D382B8 80240AB8 00641824 */ and $v1, $v1, $a0 +/* D382BC 80240ABC AEA30000 */ sw $v1, ($s5) +/* D382C0 80240AC0 AEA20028 */ sw $v0, 0x28($s5) +/* D382C4 80240AC4 8E2200D0 */ lw $v0, 0xd0($s1) +/* D382C8 80240AC8 8C420034 */ lw $v0, 0x34($v0) +/* D382CC 80240ACC 54400005 */ bnel $v0, $zero, .L80240AE4 +/* D382D0 80240AD0 2402FDFF */ addiu $v0, $zero, -0x201 +/* D382D4 80240AD4 34620200 */ ori $v0, $v1, 0x200 +/* D382D8 80240AD8 2403FFF7 */ addiu $v1, $zero, -9 +/* D382DC 80240ADC 080902BB */ j .L80240AEC +/* D382E0 80240AE0 00431024 */ and $v0, $v0, $v1 +.L80240AE4: +/* D382E4 80240AE4 00621024 */ and $v0, $v1, $v0 +/* D382E8 80240AE8 34420008 */ ori $v0, $v0, 8 +.L80240AEC: +/* D382EC 80240AEC AEA20000 */ sw $v0, ($s5) +/* D382F0 80240AF0 8E2200B0 */ lw $v0, 0xb0($s1) +/* D382F4 80240AF4 30420004 */ andi $v0, $v0, 4 +/* D382F8 80240AF8 10400007 */ beqz $v0, .L80240B18 +/* D382FC 80240AFC 24020063 */ addiu $v0, $zero, 0x63 +/* D38300 80240B00 AE420070 */ sw $v0, 0x70($s2) +/* D38304 80240B04 AE400074 */ sw $zero, 0x74($s2) +/* D38308 80240B08 8E2200B0 */ lw $v0, 0xb0($s1) +/* D3830C 80240B0C 2403FFFB */ addiu $v1, $zero, -5 +/* D38310 80240B10 00431024 */ and $v0, $v0, $v1 +/* D38314 80240B14 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240B18: +/* D38318 80240B18 AE20006C */ sw $zero, 0x6c($s1) +.L80240B1C: +/* D3831C 80240B1C 8E420070 */ lw $v0, 0x70($s2) +/* D38320 80240B20 2842001E */ slti $v0, $v0, 0x1e +/* D38324 80240B24 10400009 */ beqz $v0, .L80240B4C +/* D38328 80240B28 00000000 */ nop +/* D3832C 80240B2C 8E22006C */ lw $v0, 0x6c($s1) +/* D38330 80240B30 14400006 */ bnez $v0, .L80240B4C +/* D38334 80240B34 00000000 */ nop +/* D38338 80240B38 0C090176 */ jal func_802405D8 +/* D3833C 80240B3C 0240202D */ daddu $a0, $s2, $zero +/* D38340 80240B40 10400002 */ beqz $v0, .L80240B4C +/* D38344 80240B44 2402001E */ addiu $v0, $zero, 0x1e +/* D38348 80240B48 AE420070 */ sw $v0, 0x70($s2) +.L80240B4C: +/* D3834C 80240B4C 8E430070 */ lw $v1, 0x70($s2) +/* D38350 80240B50 2C620064 */ sltiu $v0, $v1, 0x64 +/* D38354 80240B54 10400048 */ beqz $v0, .L80240C78 +/* D38358 80240B58 00031080 */ sll $v0, $v1, 2 +/* D3835C 80240B5C 3C018024 */ lui $at, 0x8024 +/* D38360 80240B60 00220821 */ addu $at, $at, $v0 +/* D38364 80240B64 8C222C38 */ lw $v0, 0x2c38($at) +/* D38368 80240B68 00400008 */ jr $v0 +/* D3836C 80240B6C 00000000 */ nop +/* D38370 80240B70 0240202D */ daddu $a0, $s2, $zero +/* D38374 80240B74 0260282D */ daddu $a1, $s3, $zero +/* D38378 80240B78 0C012568 */ jal func_800495A0 +/* D3837C 80240B7C 0280302D */ daddu $a2, $s4, $zero +/* D38380 80240B80 0240202D */ daddu $a0, $s2, $zero +/* D38384 80240B84 0260282D */ daddu $a1, $s3, $zero +/* D38388 80240B88 0C0125AE */ jal func_800496B8 +/* D3838C 80240B8C 0280302D */ daddu $a2, $s4, $zero +/* D38390 80240B90 0809031E */ j .L80240C78 +/* D38394 80240B94 00000000 */ nop +/* D38398 80240B98 0240202D */ daddu $a0, $s2, $zero +/* D3839C 80240B9C 0260282D */ daddu $a1, $s3, $zero +/* D383A0 80240BA0 0C0126D1 */ jal func_80049B44 +/* D383A4 80240BA4 0280302D */ daddu $a2, $s4, $zero +/* D383A8 80240BA8 0240202D */ daddu $a0, $s2, $zero +/* D383AC 80240BAC 0260282D */ daddu $a1, $s3, $zero +/* D383B0 80240BB0 0C012701 */ jal func_80049C04 +/* D383B4 80240BB4 0280302D */ daddu $a2, $s4, $zero +/* D383B8 80240BB8 0809031E */ j .L80240C78 +/* D383BC 80240BBC 00000000 */ nop +/* D383C0 80240BC0 0240202D */ daddu $a0, $s2, $zero +/* D383C4 80240BC4 0260282D */ daddu $a1, $s3, $zero +/* D383C8 80240BC8 0C01278F */ jal func_80049E3C +/* D383CC 80240BCC 0280302D */ daddu $a2, $s4, $zero +/* D383D0 80240BD0 0240202D */ daddu $a0, $s2, $zero +/* D383D4 80240BD4 0260282D */ daddu $a1, $s3, $zero +/* D383D8 80240BD8 0C0127B3 */ jal func_80049ECC +/* D383DC 80240BDC 0280302D */ daddu $a2, $s4, $zero +/* D383E0 80240BE0 0809031E */ j .L80240C78 +/* D383E4 80240BE4 00000000 */ nop +/* D383E8 80240BE8 0240202D */ daddu $a0, $s2, $zero +/* D383EC 80240BEC 0260282D */ daddu $a1, $s3, $zero +/* D383F0 80240BF0 0C0127DF */ jal func_80049F7C +/* D383F4 80240BF4 0280302D */ daddu $a2, $s4, $zero +/* D383F8 80240BF8 0240202D */ daddu $a0, $s2, $zero +/* D383FC 80240BFC 0260282D */ daddu $a1, $s3, $zero +/* D38400 80240C00 0C012849 */ jal func_8004A124 +/* D38404 80240C04 0280302D */ daddu $a2, $s4, $zero +/* D38408 80240C08 0809031E */ j .L80240C78 +/* D3840C 80240C0C 00000000 */ nop +/* D38410 80240C10 0240202D */ daddu $a0, $s2, $zero +/* D38414 80240C14 0260282D */ daddu $a1, $s3, $zero +/* D38418 80240C18 0C0128FA */ jal func_8004A3E8 +/* D3841C 80240C1C 0280302D */ daddu $a2, $s4, $zero +/* D38420 80240C20 0809031E */ j .L80240C78 +/* D38424 80240C24 00000000 */ nop +/* D38428 80240C28 0C0900F4 */ jal func_802403D0 +/* D3842C 80240C2C 0240202D */ daddu $a0, $s2, $zero +/* D38430 80240C30 0C09010F */ jal func_8024043C +/* D38434 80240C34 0240202D */ daddu $a0, $s2, $zero +/* D38438 80240C38 8E430070 */ lw $v1, 0x70($s2) +/* D3843C 80240C3C 24020020 */ addiu $v0, $zero, 0x20 +/* D38440 80240C40 1462000D */ bne $v1, $v0, .L80240C78 +/* D38444 80240C44 00000000 */ nop +/* D38448 80240C48 0C09012B */ jal func_802404AC +/* D3844C 80240C4C 0240202D */ daddu $a0, $s2, $zero +/* D38450 80240C50 8E430070 */ lw $v1, 0x70($s2) +/* D38454 80240C54 24020021 */ addiu $v0, $zero, 0x21 +/* D38458 80240C58 14620007 */ bne $v1, $v0, .L80240C78 +/* D3845C 80240C5C 00000000 */ nop +/* D38460 80240C60 0C090161 */ jal func_80240584 +/* D38464 80240C64 0240202D */ daddu $a0, $s2, $zero +/* D38468 80240C68 0809031E */ j .L80240C78 +/* D3846C 80240C6C 00000000 */ nop +/* D38470 80240C70 0C0129CF */ jal func_8004A73C +/* D38474 80240C74 0240202D */ daddu $a0, $s2, $zero +.L80240C78: +/* D38478 80240C78 8FBF0048 */ lw $ra, 0x48($sp) +/* D3847C 80240C7C 8FB50044 */ lw $s5, 0x44($sp) +/* D38480 80240C80 8FB40040 */ lw $s4, 0x40($sp) +/* D38484 80240C84 8FB3003C */ lw $s3, 0x3c($sp) +/* D38488 80240C88 8FB20038 */ lw $s2, 0x38($sp) +/* D3848C 80240C8C 8FB10034 */ lw $s1, 0x34($sp) +/* D38490 80240C90 8FB00030 */ lw $s0, 0x30($sp) +/* D38494 80240C94 0000102D */ daddu $v0, $zero, $zero +/* D38498 80240C98 03E00008 */ jr $ra +/* D3849C 80240C9C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240000_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240000_D3A5D0.s new file mode 100644 index 0000000000..2687a7b9a7 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240000_D3A5D0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D3A5D0 +/* D3A5D0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3A5D4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* D3A5D8 80240008 3C05F5DE */ lui $a1, 0xf5de +/* D3A5DC 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* D3A5E0 80240010 0C0B1EAF */ jal get_variable +/* D3A5E4 80240014 0000202D */ daddu $a0, $zero, $zero +/* D3A5E8 80240018 28430040 */ slti $v1, $v0, 0x40 +/* D3A5EC 8024001C 3C020019 */ lui $v0, 0x19 +/* D3A5F0 80240020 14600003 */ bnez $v1, .L80240030 +/* D3A5F4 80240024 3442012B */ ori $v0, $v0, 0x12b +/* D3A5F8 80240028 3C020019 */ lui $v0, 0x19 +/* D3A5FC 8024002C 3442012C */ ori $v0, $v0, 0x12c +.L80240030: +/* D3A600 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* D3A604 80240034 03E00008 */ jr $ra +/* D3A608 80240038 27BD0018 */ addiu $sp, $sp, 0x18 +/* D3A60C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240040_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240040_D3A5D0.s new file mode 100644 index 0000000000..b7aefde073 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240040_D3A5D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_D3A610 +/* D3A610 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D3A614 80240044 F7B40018 */ sdc1 $f20, 0x18($sp) +/* D3A618 80240048 4485A000 */ mtc1 $a1, $f20 +/* D3A61C 8024004C F7B60020 */ sdc1 $f22, 0x20($sp) +/* D3A620 80240050 4486B000 */ mtc1 $a2, $f22 +/* D3A624 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* D3A628 80240058 F7B80028 */ sdc1 $f24, 0x28($sp) +/* D3A62C 8024005C 4487C000 */ mtc1 $a3, $f24 +/* D3A630 80240060 AFBF0014 */ sw $ra, 0x14($sp) +/* D3A634 80240064 0C019D28 */ jal guMtxIdentF +/* D3A638 80240068 0080802D */ daddu $s0, $a0, $zero +/* D3A63C 8024006C 4616A582 */ mul.s $f22, $f20, $f22 +/* D3A640 80240070 00000000 */ nop +/* D3A644 80240074 4618A502 */ mul.s $f20, $f20, $f24 +/* D3A648 80240078 00000000 */ nop +/* D3A64C 8024007C 3C013F80 */ lui $at, 0x3f80 +/* D3A650 80240080 44810000 */ mtc1 $at, $f0 +/* D3A654 80240084 00000000 */ nop +/* D3A658 80240088 E6000014 */ swc1 $f0, 0x14($s0) +/* D3A65C 8024008C E6160010 */ swc1 $f22, 0x10($s0) +/* D3A660 80240090 E6140018 */ swc1 $f20, 0x18($s0) +/* D3A664 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* D3A668 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* D3A66C 8024009C D7B80028 */ ldc1 $f24, 0x28($sp) +/* D3A670 802400A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* D3A674 802400A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* D3A678 802400A8 03E00008 */ jr $ra +/* D3A67C 802400AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802400B0_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802400B0_D3A5D0.s new file mode 100644 index 0000000000..5f64a27b0d --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802400B0_D3A5D0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_D3A680 +/* D3A680 802400B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* D3A684 802400B4 AFB10054 */ sw $s1, 0x54($sp) +/* D3A688 802400B8 0080882D */ daddu $s1, $a0, $zero +/* D3A68C 802400BC AFBF005C */ sw $ra, 0x5c($sp) +/* D3A690 802400C0 AFB20058 */ sw $s2, 0x58($sp) +/* D3A694 802400C4 AFB00050 */ sw $s0, 0x50($sp) +/* D3A698 802400C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* D3A69C 802400CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* D3A6A0 802400D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* D3A6A4 802400D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* D3A6A8 802400D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* D3A6AC 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* D3A6B0 802400E0 8E050000 */ lw $a1, ($s0) +/* D3A6B4 802400E4 0C0B1EAF */ jal get_variable +/* D3A6B8 802400E8 26100004 */ addiu $s0, $s0, 4 +/* D3A6BC 802400EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* D3A6C0 802400F0 0040202D */ daddu $a0, $v0, $zero +/* D3A6C4 802400F4 8E050000 */ lw $a1, ($s0) +/* D3A6C8 802400F8 26100004 */ addiu $s0, $s0, 4 +/* D3A6CC 802400FC 0220202D */ daddu $a0, $s1, $zero +/* D3A6D0 80240100 0C0B210B */ jal get_float_variable +/* D3A6D4 80240104 0040902D */ daddu $s2, $v0, $zero +/* D3A6D8 80240108 8E050000 */ lw $a1, ($s0) +/* D3A6DC 8024010C 26100004 */ addiu $s0, $s0, 4 +/* D3A6E0 80240110 0220202D */ daddu $a0, $s1, $zero +/* D3A6E4 80240114 0C0B210B */ jal get_float_variable +/* D3A6E8 80240118 46000706 */ mov.s $f28, $f0 +/* D3A6EC 8024011C 8E050000 */ lw $a1, ($s0) +/* D3A6F0 80240120 26100004 */ addiu $s0, $s0, 4 +/* D3A6F4 80240124 0220202D */ daddu $a0, $s1, $zero +/* D3A6F8 80240128 0C0B210B */ jal get_float_variable +/* D3A6FC 8024012C 46000686 */ mov.s $f26, $f0 +/* D3A700 80240130 0220202D */ daddu $a0, $s1, $zero +/* D3A704 80240134 8E050000 */ lw $a1, ($s0) +/* D3A708 80240138 0C0B210B */ jal get_float_variable +/* D3A70C 8024013C 46000586 */ mov.s $f22, $f0 +/* D3A710 80240140 0240202D */ daddu $a0, $s2, $zero +/* D3A714 80240144 0C046B4C */ jal get_model_from_list_index +/* D3A718 80240148 46000606 */ mov.s $f24, $f0 +/* D3A71C 8024014C 0040882D */ daddu $s1, $v0, $zero +/* D3A720 80240150 96220000 */ lhu $v0, ($s1) +/* D3A724 80240154 30420400 */ andi $v0, $v0, 0x400 +/* D3A728 80240158 1440001E */ bnez $v0, .L802401D4 +/* D3A72C 8024015C 26300058 */ addiu $s0, $s1, 0x58 +/* D3A730 80240160 4480A000 */ mtc1 $zero, $f20 +/* D3A734 80240164 4406B000 */ mfc1 $a2, $f22 +/* D3A738 80240168 4405A000 */ mfc1 $a1, $f20 +/* D3A73C 8024016C 4407A000 */ mfc1 $a3, $f20 +/* D3A740 80240170 0C019E40 */ jal guTranslateF +/* D3A744 80240174 0200202D */ daddu $a0, $s0, $zero +/* D3A748 80240178 4405E000 */ mfc1 $a1, $f28 +/* D3A74C 8024017C 4406D000 */ mfc1 $a2, $f26 +/* D3A750 80240180 4407C000 */ mfc1 $a3, $f24 +/* D3A754 80240184 0C090010 */ jal func_80240040 +/* D3A758 80240188 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A75C 8024018C 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A760 80240190 0200282D */ daddu $a1, $s0, $zero +/* D3A764 80240194 0C019D80 */ jal guMtxCatF +/* D3A768 80240198 0200302D */ daddu $a2, $s0, $zero +/* D3A76C 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A770 802401A0 4600B587 */ neg.s $f22, $f22 +/* D3A774 802401A4 4405A000 */ mfc1 $a1, $f20 +/* D3A778 802401A8 4406B000 */ mfc1 $a2, $f22 +/* D3A77C 802401AC 0C019E40 */ jal guTranslateF +/* D3A780 802401B0 00A0382D */ daddu $a3, $a1, $zero +/* D3A784 802401B4 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A788 802401B8 0200282D */ daddu $a1, $s0, $zero +/* D3A78C 802401BC 0C019D80 */ jal guMtxCatF +/* D3A790 802401C0 00A0302D */ daddu $a2, $a1, $zero +/* D3A794 802401C4 96220000 */ lhu $v0, ($s1) +/* D3A798 802401C8 34421400 */ ori $v0, $v0, 0x1400 +/* D3A79C 802401CC 08090093 */ j .L8024024C +/* D3A7A0 802401D0 A6220000 */ sh $v0, ($s1) +.L802401D4: +/* D3A7A4 802401D4 4480A000 */ mtc1 $zero, $f20 +/* D3A7A8 802401D8 4406B000 */ mfc1 $a2, $f22 +/* D3A7AC 802401DC 4405A000 */ mfc1 $a1, $f20 +/* D3A7B0 802401E0 4407A000 */ mfc1 $a3, $f20 +/* D3A7B4 802401E4 0C019E40 */ jal guTranslateF +/* D3A7B8 802401E8 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A7BC 802401EC 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A7C0 802401F0 26300058 */ addiu $s0, $s1, 0x58 +/* D3A7C4 802401F4 0200282D */ daddu $a1, $s0, $zero +/* D3A7C8 802401F8 0C019D80 */ jal guMtxCatF +/* D3A7CC 802401FC 0200302D */ daddu $a2, $s0, $zero +/* D3A7D0 80240200 4405E000 */ mfc1 $a1, $f28 +/* D3A7D4 80240204 4406D000 */ mfc1 $a2, $f26 +/* D3A7D8 80240208 4407C000 */ mfc1 $a3, $f24 +/* D3A7DC 8024020C 0C090010 */ jal func_80240040 +/* D3A7E0 80240210 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A7E4 80240214 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A7E8 80240218 0200282D */ daddu $a1, $s0, $zero +/* D3A7EC 8024021C 0C019D80 */ jal guMtxCatF +/* D3A7F0 80240220 0200302D */ daddu $a2, $s0, $zero +/* D3A7F4 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A7F8 80240228 4600B587 */ neg.s $f22, $f22 +/* D3A7FC 8024022C 4405A000 */ mfc1 $a1, $f20 +/* D3A800 80240230 4406B000 */ mfc1 $a2, $f22 +/* D3A804 80240234 0C019E40 */ jal guTranslateF +/* D3A808 80240238 00A0382D */ daddu $a3, $a1, $zero +/* D3A80C 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A810 80240240 0200282D */ daddu $a1, $s0, $zero +/* D3A814 80240244 0C019D80 */ jal guMtxCatF +/* D3A818 80240248 00A0302D */ daddu $a2, $a1, $zero +.L8024024C: +/* D3A81C 8024024C 8FBF005C */ lw $ra, 0x5c($sp) +/* D3A820 80240250 8FB20058 */ lw $s2, 0x58($sp) +/* D3A824 80240254 8FB10054 */ lw $s1, 0x54($sp) +/* D3A828 80240258 8FB00050 */ lw $s0, 0x50($sp) +/* D3A82C 8024025C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* D3A830 80240260 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* D3A834 80240264 D7B80070 */ ldc1 $f24, 0x70($sp) +/* D3A838 80240268 D7B60068 */ ldc1 $f22, 0x68($sp) +/* D3A83C 8024026C D7B40060 */ ldc1 $f20, 0x60($sp) +/* D3A840 80240270 24020002 */ addiu $v0, $zero, 2 +/* D3A844 80240274 03E00008 */ jr $ra +/* D3A848 80240278 27BD0088 */ addiu $sp, $sp, 0x88 +/* D3A84C 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240280_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240280_D3A5D0.s new file mode 100644 index 0000000000..abfa4b3e1b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240280_D3A5D0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240280_D3A850 +/* D3A850 80240280 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3A854 80240284 AFBF0010 */ sw $ra, 0x10($sp) +/* D3A858 80240288 0C04417A */ jal get_entity_by_index +/* D3A85C 8024028C 8C840084 */ lw $a0, 0x84($a0) +/* D3A860 80240290 0040182D */ daddu $v1, $v0, $zero +/* D3A864 80240294 8C640000 */ lw $a0, ($v1) +/* D3A868 80240298 3C050010 */ lui $a1, 0x10 +/* D3A86C 8024029C 00852025 */ or $a0, $a0, $a1 +/* D3A870 802402A0 AC640000 */ sw $a0, ($v1) +/* D3A874 802402A4 8FBF0010 */ lw $ra, 0x10($sp) +/* D3A878 802402A8 24020002 */ addiu $v0, $zero, 2 +/* D3A87C 802402AC 03E00008 */ jr $ra +/* D3A880 802402B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802402B4_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802402B4_D3A5D0.s new file mode 100644 index 0000000000..a531998135 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802402B4_D3A5D0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B4_D3A884 +/* D3A884 802402B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3A888 802402B8 AFB20018 */ sw $s2, 0x18($sp) +/* D3A88C 802402BC 0080902D */ daddu $s2, $a0, $zero +/* D3A890 802402C0 AFBF001C */ sw $ra, 0x1c($sp) +/* D3A894 802402C4 AFB10014 */ sw $s1, 0x14($sp) +/* D3A898 802402C8 AFB00010 */ sw $s0, 0x10($sp) +/* D3A89C 802402CC 8E50000C */ lw $s0, 0xc($s2) +/* D3A8A0 802402D0 8E050000 */ lw $a1, ($s0) +/* D3A8A4 802402D4 0C0B1EAF */ jal get_variable +/* D3A8A8 802402D8 26100004 */ addiu $s0, $s0, 4 +/* D3A8AC 802402DC 0C04417A */ jal get_entity_by_index +/* D3A8B0 802402E0 0040202D */ daddu $a0, $v0, $zero +/* D3A8B4 802402E4 8E050000 */ lw $a1, ($s0) +/* D3A8B8 802402E8 26100004 */ addiu $s0, $s0, 4 +/* D3A8BC 802402EC 0040882D */ daddu $s1, $v0, $zero +/* D3A8C0 802402F0 C6200048 */ lwc1 $f0, 0x48($s1) +/* D3A8C4 802402F4 4600008D */ trunc.w.s $f2, $f0 +/* D3A8C8 802402F8 44061000 */ mfc1 $a2, $f2 +/* D3A8CC 802402FC 0C0B2026 */ jal set_variable +/* D3A8D0 80240300 0240202D */ daddu $a0, $s2, $zero +/* D3A8D4 80240304 8E050000 */ lw $a1, ($s0) +/* D3A8D8 80240308 26100004 */ addiu $s0, $s0, 4 +/* D3A8DC 8024030C C620004C */ lwc1 $f0, 0x4c($s1) +/* D3A8E0 80240310 4600008D */ trunc.w.s $f2, $f0 +/* D3A8E4 80240314 44061000 */ mfc1 $a2, $f2 +/* D3A8E8 80240318 0C0B2026 */ jal set_variable +/* D3A8EC 8024031C 0240202D */ daddu $a0, $s2, $zero +/* D3A8F0 80240320 C6200050 */ lwc1 $f0, 0x50($s1) +/* D3A8F4 80240324 8E050000 */ lw $a1, ($s0) +/* D3A8F8 80240328 4600008D */ trunc.w.s $f2, $f0 +/* D3A8FC 8024032C 44061000 */ mfc1 $a2, $f2 +/* D3A900 80240330 0C0B2026 */ jal set_variable +/* D3A904 80240334 0240202D */ daddu $a0, $s2, $zero +/* D3A908 80240338 8FBF001C */ lw $ra, 0x1c($sp) +/* D3A90C 8024033C 8FB20018 */ lw $s2, 0x18($sp) +/* D3A910 80240340 8FB10014 */ lw $s1, 0x14($sp) +/* D3A914 80240344 8FB00010 */ lw $s0, 0x10($sp) +/* D3A918 80240348 24020002 */ addiu $v0, $zero, 2 +/* D3A91C 8024034C 03E00008 */ jr $ra +/* D3A920 80240350 27BD0020 */ addiu $sp, $sp, 0x20 +/* D3A924 80240354 00000000 */ nop +/* D3A928 80240358 00000000 */ nop +/* D3A92C 8024035C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240360_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240360_D3A5D0.s new file mode 100644 index 0000000000..a19823dd01 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240360_D3A5D0.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_D3A930 +/* D3A930 80240360 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3A934 80240364 AFB00018 */ sw $s0, 0x18($sp) +/* D3A938 80240368 0080802D */ daddu $s0, $a0, $zero +/* D3A93C 8024036C 10A00018 */ beqz $a1, .L802403D0 +/* D3A940 80240370 AFBF001C */ sw $ra, 0x1c($sp) +/* D3A944 80240374 2405FFFF */ addiu $a1, $zero, -1 +/* D3A948 80240378 24060001 */ addiu $a2, $zero, 1 +/* D3A94C 8024037C 9604008A */ lhu $a0, 0x8a($s0) +/* D3A950 80240380 0C046E54 */ jal func_8011B950 +/* D3A954 80240384 00C0382D */ daddu $a3, $a2, $zero +/* D3A958 80240388 27A40010 */ addiu $a0, $sp, 0x10 +/* D3A95C 8024038C 27A50011 */ addiu $a1, $sp, 0x11 +/* D3A960 80240390 27A60012 */ addiu $a2, $sp, 0x12 +/* D3A964 80240394 27A70013 */ addiu $a3, $sp, 0x13 +/* D3A968 80240398 0C046FA0 */ jal get_background_color_blend +/* D3A96C 8024039C AE000070 */ sw $zero, 0x70($s0) +/* D3A970 802403A0 8E040084 */ lw $a0, 0x84($s0) +/* D3A974 802403A4 14800005 */ bnez $a0, .L802403BC +/* D3A978 802403A8 24020001 */ addiu $v0, $zero, 1 +/* D3A97C 802403AC 93A30013 */ lbu $v1, 0x13($sp) +/* D3A980 802403B0 240200FF */ addiu $v0, $zero, 0xff +/* D3A984 802403B4 10620058 */ beq $v1, $v0, .L80240518 +/* D3A988 802403B8 24020001 */ addiu $v0, $zero, 1 +.L802403BC: +/* D3A98C 802403BC 14820004 */ bne $a0, $v0, .L802403D0 +/* D3A990 802403C0 00000000 */ nop +/* D3A994 802403C4 93A20013 */ lbu $v0, 0x13($sp) +/* D3A998 802403C8 10400054 */ beqz $v0, .L8024051C +/* D3A99C 802403CC 24020002 */ addiu $v0, $zero, 2 +.L802403D0: +/* D3A9A0 802403D0 8E020070 */ lw $v0, 0x70($s0) +/* D3A9A4 802403D4 8E03008C */ lw $v1, 0x8c($s0) +/* D3A9A8 802403D8 00431021 */ addu $v0, $v0, $v1 +/* D3A9AC 802403DC AE020070 */ sw $v0, 0x70($s0) +/* D3A9B0 802403E0 28420100 */ slti $v0, $v0, 0x100 +/* D3A9B4 802403E4 14400002 */ bnez $v0, .L802403F0 +/* D3A9B8 802403E8 240200FF */ addiu $v0, $zero, 0xff +/* D3A9BC 802403EC AE020070 */ sw $v0, 0x70($s0) +.L802403F0: +/* D3A9C0 802403F0 8E020084 */ lw $v0, 0x84($s0) +/* D3A9C4 802403F4 14400004 */ bnez $v0, .L80240408 +/* D3A9C8 802403F8 0000202D */ daddu $a0, $zero, $zero +/* D3A9CC 802403FC 92020073 */ lbu $v0, 0x73($s0) +/* D3A9D0 80240400 08090105 */ j .L80240414 +/* D3A9D4 80240404 0080282D */ daddu $a1, $a0, $zero +.L80240408: +/* D3A9D8 80240408 92020073 */ lbu $v0, 0x73($s0) +/* D3A9DC 8024040C 00021027 */ nor $v0, $zero, $v0 +/* D3A9E0 80240410 0080282D */ daddu $a1, $a0, $zero +.L80240414: +/* D3A9E4 80240414 A3A20013 */ sb $v0, 0x13($sp) +/* D3A9E8 80240418 304700FF */ andi $a3, $v0, 0xff +/* D3A9EC 8024041C 0C046F97 */ jal set_background_color_blend +/* D3A9F0 80240420 0080302D */ daddu $a2, $a0, $zero +/* D3A9F4 80240424 240600FF */ addiu $a2, $zero, 0xff +/* D3A9F8 80240428 93A20013 */ lbu $v0, 0x13($sp) +/* D3A9FC 8024042C 3C038024 */ lui $v1, 0x8024 +/* D3AA00 80240430 8C633CC0 */ lw $v1, 0x3cc0($v1) +/* D3AA04 80240434 00C23023 */ subu $a2, $a2, $v0 +/* D3AA08 80240438 00660018 */ mult $v1, $a2 +/* D3AA0C 8024043C 00001812 */ mflo $v1 +/* D3AA10 80240440 3C058024 */ lui $a1, 0x8024 +/* D3AA14 80240444 8CA53CC4 */ lw $a1, 0x3cc4($a1) +/* D3AA18 80240448 00A60018 */ mult $a1, $a2 +/* D3AA1C 8024044C 00002812 */ mflo $a1 +/* D3AA20 80240450 3C078080 */ lui $a3, 0x8080 +/* D3AA24 80240454 34E78081 */ ori $a3, $a3, 0x8081 +/* D3AA28 80240458 00670018 */ mult $v1, $a3 +/* D3AA2C 8024045C 00005010 */ mfhi $t2 +/* D3AA30 80240460 00000000 */ nop +/* D3AA34 80240464 00000000 */ nop +/* D3AA38 80240468 00A70018 */ mult $a1, $a3 +/* D3AA3C 8024046C 00004010 */ mfhi $t0 +/* D3AA40 80240470 3C048024 */ lui $a0, 0x8024 +/* D3AA44 80240474 8C843CC8 */ lw $a0, 0x3cc8($a0) +/* D3AA48 80240478 00860018 */ mult $a0, $a2 +/* D3AA4C 8024047C 01431021 */ addu $v0, $t2, $v1 +/* D3AA50 80240480 000211C3 */ sra $v0, $v0, 7 +/* D3AA54 80240484 00031FC3 */ sra $v1, $v1, 0x1f +/* D3AA58 80240488 00431023 */ subu $v0, $v0, $v1 +/* D3AA5C 8024048C 00002012 */ mflo $a0 +/* D3AA60 80240490 A3A20010 */ sb $v0, 0x10($sp) +/* D3AA64 80240494 01051021 */ addu $v0, $t0, $a1 +/* D3AA68 80240498 00870018 */ mult $a0, $a3 +/* D3AA6C 8024049C 000211C3 */ sra $v0, $v0, 7 +/* D3AA70 802404A0 00052FC3 */ sra $a1, $a1, 0x1f +/* D3AA74 802404A4 00451023 */ subu $v0, $v0, $a1 +/* D3AA78 802404A8 A3A20011 */ sb $v0, 0x11($sp) +/* D3AA7C 802404AC 00001810 */ mfhi $v1 +/* D3AA80 802404B0 00641021 */ addu $v0, $v1, $a0 +/* D3AA84 802404B4 000211C3 */ sra $v0, $v0, 7 +/* D3AA88 802404B8 000427C3 */ sra $a0, $a0, 0x1f +/* D3AA8C 802404BC 00441023 */ subu $v0, $v0, $a0 +/* D3AA90 802404C0 A3A20012 */ sb $v0, 0x12($sp) +/* D3AA94 802404C4 304500FF */ andi $a1, $v0, 0xff +/* D3AA98 802404C8 93A30010 */ lbu $v1, 0x10($sp) +/* D3AA9C 802404CC 93A40011 */ lbu $a0, 0x11($sp) +/* D3AAA0 802404D0 3C02800B */ lui $v0, %hi(gCameras) +/* D3AAA4 802404D4 24421D80 */ addiu $v0, $v0, %lo(gCameras) +/* D3AAA8 802404D8 A4450030 */ sh $a1, 0x30($v0) +/* D3AAAC 802404DC A443002C */ sh $v1, 0x2c($v0) +/* D3AAB0 802404E0 A444002E */ sh $a0, 0x2e($v0) +/* D3AAB4 802404E4 8E020070 */ lw $v0, 0x70($s0) +/* D3AAB8 802404E8 284200FF */ slti $v0, $v0, 0xff +/* D3AABC 802404EC 1440000B */ bnez $v0, .L8024051C +/* D3AAC0 802404F0 0000102D */ daddu $v0, $zero, $zero +/* D3AAC4 802404F4 8E030084 */ lw $v1, 0x84($s0) +/* D3AAC8 802404F8 24020001 */ addiu $v0, $zero, 1 +/* D3AACC 802404FC 54620007 */ bnel $v1, $v0, .L8024051C +/* D3AAD0 80240500 24020002 */ addiu $v0, $zero, 2 +/* D3AAD4 80240504 9604008A */ lhu $a0, 0x8a($s0) +/* D3AAD8 80240508 2405FFFF */ addiu $a1, $zero, -1 +/* D3AADC 8024050C 0000302D */ daddu $a2, $zero, $zero +/* D3AAE0 80240510 0C046E54 */ jal func_8011B950 +/* D3AAE4 80240514 0040382D */ daddu $a3, $v0, $zero +.L80240518: +/* D3AAE8 80240518 24020002 */ addiu $v0, $zero, 2 +.L8024051C: +/* D3AAEC 8024051C 8FBF001C */ lw $ra, 0x1c($sp) +/* D3AAF0 80240520 8FB00018 */ lw $s0, 0x18($sp) +/* D3AAF4 80240524 03E00008 */ jr $ra +/* D3AAF8 80240528 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024052C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024052C_D3A5D0.s new file mode 100644 index 0000000000..9f8a2e7390 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024052C_D3A5D0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024052C_D3AAFC +/* D3AAFC 8024052C 24020001 */ addiu $v0, $zero, 1 +/* D3AB00 80240530 3C018015 */ lui $at, %hi(D_80151310) +/* D3AB04 80240534 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* D3AB08 80240538 03E00008 */ jr $ra +/* D3AB0C 8024053C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240540_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240540_D3A5D0.s new file mode 100644 index 0000000000..ffe44ebffd --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240540_D3A5D0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540_D3AB10 +/* D3AB10 80240540 24020002 */ addiu $v0, $zero, 2 +/* D3AB14 80240544 3C018015 */ lui $at, %hi(D_80151310) +/* D3AB18 80240548 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* D3AB1C 8024054C 03E00008 */ jr $ra +/* D3AB20 80240550 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240554_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240554_D3A5D0.s new file mode 100644 index 0000000000..8fb3711d85 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240554_D3A5D0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240554_D3AB24 +/* D3AB24 80240554 3C018015 */ lui $at, %hi(D_80151310) +/* D3AB28 80240558 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* D3AB2C 8024055C 03E00008 */ jr $ra +/* D3AB30 80240560 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240564_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240564_D3A5D0.s new file mode 100644 index 0000000000..cf8cb93fce --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240564_D3A5D0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240564_D3AB34 +/* D3AB34 80240564 3C03800B */ lui $v1, %hi(gCameras) +/* D3AB38 80240568 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* D3AB3C 8024056C 94620002 */ lhu $v0, 2($v1) +/* D3AB40 80240570 3042FFFE */ andi $v0, $v0, 0xfffe +/* D3AB44 80240574 A4620002 */ sh $v0, 2($v1) +/* D3AB48 80240578 03E00008 */ jr $ra +/* D3AB4C 8024057C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240580.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240580.s new file mode 100644 index 0000000000..4e9d37adeb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240580.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240580 +/* D3AB50 80240580 3C03800B */ lui $v1, %hi(gCameras) +/* D3AB54 80240584 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* D3AB58 80240588 94620002 */ lhu $v0, 2($v1) +/* D3AB5C 8024058C 34420001 */ ori $v0, $v0, 1 +/* D3AB60 80240590 A4620002 */ sh $v0, 2($v1) +/* D3AB64 80240594 03E00008 */ jr $ra +/* D3AB68 80240598 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024059C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024059C_D3A5D0.s new file mode 100644 index 0000000000..d897c0f084 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024059C_D3A5D0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024059C_D3AB6C +/* D3AB6C 8024059C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* D3AB70 802405A0 AFB1002C */ sw $s1, 0x2c($sp) +/* D3AB74 802405A4 AFB20030 */ sw $s2, 0x30($sp) +/* D3AB78 802405A8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D3AB7C 802405AC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D3AB80 802405B0 AFBF0034 */ sw $ra, 0x34($sp) +/* D3AB84 802405B4 AFB00028 */ sw $s0, 0x28($sp) +/* D3AB88 802405B8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* D3AB8C 802405BC 10A00003 */ beqz $a1, .L802405CC +/* D3AB90 802405C0 0080882D */ daddu $s1, $a0, $zero +/* D3AB94 802405C4 2402000A */ addiu $v0, $zero, 0xa +/* D3AB98 802405C8 AE220074 */ sw $v0, 0x74($s1) +.L802405CC: +/* D3AB9C 802405CC 3C014387 */ lui $at, 0x4387 +/* D3ABA0 802405D0 44810000 */ mtc1 $at, $f0 +/* D3ABA4 802405D4 00000000 */ nop +/* D3ABA8 802405D8 E6400080 */ swc1 $f0, 0x80($s2) +/* D3ABAC 802405DC 8E220074 */ lw $v0, 0x74($s1) +/* D3ABB0 802405E0 24420004 */ addiu $v0, $v0, 4 +/* D3ABB4 802405E4 AE220074 */ sw $v0, 0x74($s1) +/* D3ABB8 802405E8 C64C0080 */ lwc1 $f12, 0x80($s2) +/* D3ABBC 802405EC 0C00A8BB */ jal sin_deg +/* D3ABC0 802405F0 3C106666 */ lui $s0, 0x6666 +/* D3ABC4 802405F4 8E230074 */ lw $v1, 0x74($s1) +/* D3ABC8 802405F8 36106667 */ ori $s0, $s0, 0x6667 +/* D3ABCC 802405FC 00700018 */ mult $v1, $s0 +/* D3ABD0 80240600 C64C0080 */ lwc1 $f12, 0x80($s2) +/* D3ABD4 80240604 00031FC3 */ sra $v1, $v1, 0x1f +/* D3ABD8 80240608 00004010 */ mfhi $t0 +/* D3ABDC 8024060C 00081083 */ sra $v0, $t0, 2 +/* D3ABE0 80240610 00431023 */ subu $v0, $v0, $v1 +/* D3ABE4 80240614 4482A000 */ mtc1 $v0, $f20 +/* D3ABE8 80240618 00000000 */ nop +/* D3ABEC 8024061C 4680A520 */ cvt.s.w $f20, $f20 +/* D3ABF0 80240620 4600A502 */ mul.s $f20, $f20, $f0 +/* D3ABF4 80240624 0C00A8D4 */ jal cos_deg +/* D3ABF8 80240628 00000000 */ nop +/* D3ABFC 8024062C 8E230074 */ lw $v1, 0x74($s1) +/* D3AC00 80240630 00700018 */ mult $v1, $s0 +/* D3AC04 80240634 46000007 */ neg.s $f0, $f0 +/* D3AC08 80240638 00031FC3 */ sra $v1, $v1, 0x1f +/* D3AC0C 8024063C 00004010 */ mfhi $t0 +/* D3AC10 80240640 00081083 */ sra $v0, $t0, 2 +/* D3AC14 80240644 00431023 */ subu $v0, $v0, $v1 +/* D3AC18 80240648 44824000 */ mtc1 $v0, $f8 +/* D3AC1C 8024064C 00000000 */ nop +/* D3AC20 80240650 46804220 */ cvt.s.w $f8, $f8 +/* D3AC24 80240654 46004202 */ mul.s $f8, $f8, $f0 +/* D3AC28 80240658 00000000 */ nop +/* D3AC2C 8024065C 0000202D */ daddu $a0, $zero, $zero +/* D3AC30 80240660 864200B0 */ lh $v0, 0xb0($s2) +/* D3AC34 80240664 3C013F00 */ lui $at, 0x3f00 +/* D3AC38 80240668 44811000 */ mtc1 $at, $f2 +/* D3AC3C 8024066C 44820000 */ mtc1 $v0, $f0 +/* D3AC40 80240670 00000000 */ nop +/* D3AC44 80240674 46800020 */ cvt.s.w $f0, $f0 +/* D3AC48 80240678 46020002 */ mul.s $f0, $f0, $f2 +/* D3AC4C 8024067C 00000000 */ nop +/* D3AC50 80240680 27A50018 */ addiu $a1, $sp, 0x18 +/* D3AC54 80240684 27A6001C */ addiu $a2, $sp, 0x1c +/* D3AC58 80240688 C6440028 */ lwc1 $f4, 0x28($s2) +/* D3AC5C 8024068C 27A70020 */ addiu $a3, $sp, 0x20 +/* D3AC60 80240690 46142100 */ add.s $f4, $f4, $f20 +/* D3AC64 80240694 C642002C */ lwc1 $f2, 0x2c($s2) +/* D3AC68 80240698 3C0143FA */ lui $at, 0x43fa +/* D3AC6C 8024069C 44813000 */ mtc1 $at, $f6 +/* D3AC70 802406A0 46001080 */ add.s $f2, $f2, $f0 +/* D3AC74 802406A4 C6400030 */ lwc1 $f0, 0x30($s2) +/* D3AC78 802406A8 27A20024 */ addiu $v0, $sp, 0x24 +/* D3AC7C 802406AC E7A60024 */ swc1 $f6, 0x24($sp) +/* D3AC80 802406B0 46080000 */ add.s $f0, $f0, $f8 +/* D3AC84 802406B4 E7A40018 */ swc1 $f4, 0x18($sp) +/* D3AC88 802406B8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* D3AC8C 802406BC E7A00020 */ swc1 $f0, 0x20($sp) +/* D3AC90 802406C0 0C0372DF */ jal func_800DCB7C +/* D3AC94 802406C4 AFA20010 */ sw $v0, 0x10($sp) +/* D3AC98 802406C8 10400011 */ beqz $v0, .L80240710 +/* D3AC9C 802406CC 24020002 */ addiu $v0, $zero, 2 +/* D3ACA0 802406D0 C7A20024 */ lwc1 $f2, 0x24($sp) +/* D3ACA4 802406D4 3C0142C8 */ lui $at, 0x42c8 +/* D3ACA8 802406D8 44810000 */ mtc1 $at, $f0 +/* D3ACAC 802406DC 00000000 */ nop +/* D3ACB0 802406E0 4600103C */ c.lt.s $f2, $f0 +/* D3ACB4 802406E4 00000000 */ nop +/* D3ACB8 802406E8 45000008 */ bc1f .L8024070C +/* D3ACBC 802406EC 0000102D */ daddu $v0, $zero, $zero +/* D3ACC0 802406F0 C7A00018 */ lwc1 $f0, 0x18($sp) +/* D3ACC4 802406F4 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* D3ACC8 802406F8 C7A40020 */ lwc1 $f4, 0x20($sp) +/* D3ACCC 802406FC E6400028 */ swc1 $f0, 0x28($s2) +/* D3ACD0 80240700 E642002C */ swc1 $f2, 0x2c($s2) +/* D3ACD4 80240704 080901C4 */ j .L80240710 +/* D3ACD8 80240708 E6440030 */ swc1 $f4, 0x30($s2) +.L8024070C: +/* D3ACDC 8024070C 24020002 */ addiu $v0, $zero, 2 +.L80240710: +/* D3ACE0 80240710 8FBF0034 */ lw $ra, 0x34($sp) +/* D3ACE4 80240714 8FB20030 */ lw $s2, 0x30($sp) +/* D3ACE8 80240718 8FB1002C */ lw $s1, 0x2c($sp) +/* D3ACEC 8024071C 8FB00028 */ lw $s0, 0x28($sp) +/* D3ACF0 80240720 D7B40038 */ ldc1 $f20, 0x38($sp) +/* D3ACF4 80240724 03E00008 */ jr $ra +/* D3ACF8 80240728 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024072C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024072C_D3A5D0.s new file mode 100644 index 0000000000..29f4cec1f9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024072C_D3A5D0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024072C_D3ACFC +/* D3ACFC 8024072C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D3AD00 80240730 8C42EFC8 */ lw $v0, %lo(gPlayerStatus)($v0) +/* D3AD04 80240734 30423000 */ andi $v0, $v0, 0x3000 +/* D3AD08 80240738 10400003 */ beqz $v0, .L80240748 +/* D3AD0C 8024073C 24020001 */ addiu $v0, $zero, 1 +/* D3AD10 80240740 080901D3 */ j .L8024074C +/* D3AD14 80240744 AC820084 */ sw $v0, 0x84($a0) +.L80240748: +/* D3AD18 80240748 AC800084 */ sw $zero, 0x84($a0) +.L8024074C: +/* D3AD1C 8024074C 03E00008 */ jr $ra +/* D3AD20 80240750 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240754_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240754_D3A5D0.s new file mode 100644 index 0000000000..82b6f3ba68 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240754_D3A5D0.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240754_D3AD24 +/* D3AD24 80240754 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3AD28 80240758 AFB10014 */ sw $s1, 0x14($sp) +/* D3AD2C 8024075C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* D3AD30 80240760 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* D3AD34 80240764 AFB00010 */ sw $s0, 0x10($sp) +/* D3AD38 80240768 0040802D */ daddu $s0, $v0, $zero +/* D3AD3C 8024076C AFBF0018 */ sw $ra, 0x18($sp) +/* D3AD40 80240770 86030018 */ lh $v1, 0x18($s0) +/* D3AD44 80240774 24020181 */ addiu $v0, $zero, 0x181 +/* D3AD48 80240778 14620006 */ bne $v1, $v0, .L80240794 +/* D3AD4C 8024077C 0080882D */ daddu $s1, $a0, $zero +/* D3AD50 80240780 3C05FD05 */ lui $a1, 0xfd05 +/* D3AD54 80240784 34A50F87 */ ori $a1, $a1, 0xf87 +/* D3AD58 80240788 0C0B2026 */ jal set_variable +/* D3AD5C 8024078C 0000302D */ daddu $a2, $zero, $zero +/* D3AD60 80240790 86030018 */ lh $v1, 0x18($s0) +.L80240794: +/* D3AD64 80240794 24020096 */ addiu $v0, $zero, 0x96 +/* D3AD68 80240798 14620005 */ bne $v1, $v0, .L802407B0 +/* D3AD6C 8024079C 0220202D */ daddu $a0, $s1, $zero +/* D3AD70 802407A0 3C05FD05 */ lui $a1, 0xfd05 +/* D3AD74 802407A4 34A50F87 */ ori $a1, $a1, 0xf87 +/* D3AD78 802407A8 0C0B2026 */ jal set_variable +/* D3AD7C 802407AC 24060001 */ addiu $a2, $zero, 1 +.L802407B0: +/* D3AD80 802407B0 8FBF0018 */ lw $ra, 0x18($sp) +/* D3AD84 802407B4 8FB10014 */ lw $s1, 0x14($sp) +/* D3AD88 802407B8 8FB00010 */ lw $s0, 0x10($sp) +/* D3AD8C 802407BC 0000102D */ daddu $v0, $zero, $zero +/* D3AD90 802407C0 03E00008 */ jr $ra +/* D3AD94 802407C4 27BD0020 */ addiu $sp, $sp, 0x20 +/* D3AD98 802407C8 00000000 */ nop +/* D3AD9C 802407CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802407D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802407D0.s new file mode 100644 index 0000000000..a6dab52d3f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802407D0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407D0 +/* D3ADA0 802407D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3ADA4 802407D4 AFB00010 */ sw $s0, 0x10($sp) +/* D3ADA8 802407D8 3C108024 */ lui $s0, 0x8024 +/* D3ADAC 802407DC 26104F78 */ addiu $s0, $s0, 0x4f78 +/* D3ADB0 802407E0 AFBF0018 */ sw $ra, 0x18($sp) +/* D3ADB4 802407E4 AFB10014 */ sw $s1, 0x14($sp) +/* D3ADB8 802407E8 8E020000 */ lw $v0, ($s0) +/* D3ADBC 802407EC 14400010 */ bnez $v0, .L80240830 +/* D3ADC0 802407F0 0080882D */ daddu $s1, $a0, $zero +/* D3ADC4 802407F4 0C00AB39 */ jal heap_malloc +/* D3ADC8 802407F8 24040040 */ addiu $a0, $zero, 0x40 +/* D3ADCC 802407FC AE020000 */ sw $v0, ($s0) +/* D3ADD0 80240800 0000182D */ daddu $v1, $zero, $zero +/* D3ADD4 80240804 0040282D */ daddu $a1, $v0, $zero +/* D3ADD8 80240808 0220202D */ daddu $a0, $s1, $zero +.L8024080C: +/* D3ADDC 8024080C 8C820084 */ lw $v0, 0x84($a0) +/* D3ADE0 80240810 24840004 */ addiu $a0, $a0, 4 +/* D3ADE4 80240814 24630001 */ addiu $v1, $v1, 1 +/* D3ADE8 80240818 ACA20000 */ sw $v0, ($a1) +/* D3ADEC 8024081C 28620010 */ slti $v0, $v1, 0x10 +/* D3ADF0 80240820 1440FFFA */ bnez $v0, .L8024080C +/* D3ADF4 80240824 24A50004 */ addiu $a1, $a1, 4 +/* D3ADF8 80240828 0809021B */ j .L8024086C +/* D3ADFC 8024082C 00000000 */ nop +.L80240830: +/* D3AE00 80240830 0000182D */ daddu $v1, $zero, $zero +/* D3AE04 80240834 0040282D */ daddu $a1, $v0, $zero +/* D3AE08 80240838 0220202D */ daddu $a0, $s1, $zero +.L8024083C: +/* D3AE0C 8024083C 8CA20000 */ lw $v0, ($a1) +/* D3AE10 80240840 24A50004 */ addiu $a1, $a1, 4 +/* D3AE14 80240844 24630001 */ addiu $v1, $v1, 1 +/* D3AE18 80240848 AC820084 */ sw $v0, 0x84($a0) +/* D3AE1C 8024084C 28620010 */ slti $v0, $v1, 0x10 +/* D3AE20 80240850 1440FFFA */ bnez $v0, .L8024083C +/* D3AE24 80240854 24840004 */ addiu $a0, $a0, 4 +/* D3AE28 80240858 3C108024 */ lui $s0, 0x8024 +/* D3AE2C 8024085C 26104F78 */ addiu $s0, $s0, 0x4f78 +/* D3AE30 80240860 0C00AB4B */ jal heap_free +/* D3AE34 80240864 8E040000 */ lw $a0, ($s0) +/* D3AE38 80240868 AE000000 */ sw $zero, ($s0) +.L8024086C: +/* D3AE3C 8024086C 8FBF0018 */ lw $ra, 0x18($sp) +/* D3AE40 80240870 8FB10014 */ lw $s1, 0x14($sp) +/* D3AE44 80240874 8FB00010 */ lw $s0, 0x10($sp) +/* D3AE48 80240878 24020002 */ addiu $v0, $zero, 2 +/* D3AE4C 8024087C 03E00008 */ jr $ra +/* D3AE50 80240880 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240884_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240884_D3A5D0.s new file mode 100644 index 0000000000..41570ea6e1 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240884_D3A5D0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240884_D3AE54 +/* D3AE54 80240884 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3AE58 80240888 AFB00010 */ sw $s0, 0x10($sp) +/* D3AE5C 8024088C 0080802D */ daddu $s0, $a0, $zero +/* D3AE60 80240890 AFBF0018 */ sw $ra, 0x18($sp) +/* D3AE64 80240894 AFB10014 */ sw $s1, 0x14($sp) +/* D3AE68 80240898 8E02000C */ lw $v0, 0xc($s0) +/* D3AE6C 8024089C 8C510000 */ lw $s1, ($v0) +/* D3AE70 802408A0 0C0B1EAF */ jal get_variable +/* D3AE74 802408A4 0220282D */ daddu $a1, $s1, $zero +/* D3AE78 802408A8 3C03FFF0 */ lui $v1, 0xfff0 +/* D3AE7C 802408AC 3463FFFF */ ori $v1, $v1, 0xffff +/* D3AE80 802408B0 0200202D */ daddu $a0, $s0, $zero +/* D3AE84 802408B4 00431024 */ and $v0, $v0, $v1 +/* D3AE88 802408B8 00021140 */ sll $v0, $v0, 5 +/* D3AE8C 802408BC 3C068008 */ lui $a2, %hi(gItemTable) +/* D3AE90 802408C0 00C23021 */ addu $a2, $a2, $v0 +/* D3AE94 802408C4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* D3AE98 802408C8 0C0B2026 */ jal set_variable +/* D3AE9C 802408CC 0220282D */ daddu $a1, $s1, $zero +/* D3AEA0 802408D0 8FBF0018 */ lw $ra, 0x18($sp) +/* D3AEA4 802408D4 8FB10014 */ lw $s1, 0x14($sp) +/* D3AEA8 802408D8 8FB00010 */ lw $s0, 0x10($sp) +/* D3AEAC 802408DC 24020002 */ addiu $v0, $zero, 2 +/* D3AEB0 802408E0 03E00008 */ jr $ra +/* D3AEB4 802408E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802408E8_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802408E8_D3A5D0.s new file mode 100644 index 0000000000..8b351f5459 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802408E8_D3A5D0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408E8_D3AEB8 +/* D3AEB8 802408E8 24020001 */ addiu $v0, $zero, 1 +/* D3AEBC 802408EC 3C018015 */ lui $at, %hi(D_80151310) +/* D3AEC0 802408F0 AC221310 */ sw $v0, %lo(D_80151310)($at) +/* D3AEC4 802408F4 03E00008 */ jr $ra +/* D3AEC8 802408F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802408FC_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802408FC_D3A5D0.s new file mode 100644 index 0000000000..602720afe0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802408FC_D3A5D0.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408FC_D3AECC +/* D3AECC 802408FC 3C018015 */ lui $at, %hi(D_80151310) +/* D3AED0 80240900 AC201310 */ sw $zero, %lo(D_80151310)($at) +/* D3AED4 80240904 03E00008 */ jr $ra +/* D3AED8 80240908 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024090C.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024090C.s new file mode 100644 index 0000000000..b24d04c261 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024090C.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024090C +/* D3AEDC 8024090C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D3AEE0 80240910 AFB10024 */ sw $s1, 0x24($sp) +/* D3AEE4 80240914 0080882D */ daddu $s1, $a0, $zero +/* D3AEE8 80240918 3C05F840 */ lui $a1, 0xf840 +/* D3AEEC 8024091C AFBF0044 */ sw $ra, 0x44($sp) +/* D3AEF0 80240920 AFBE0040 */ sw $fp, 0x40($sp) +/* D3AEF4 80240924 AFB7003C */ sw $s7, 0x3c($sp) +/* D3AEF8 80240928 AFB60038 */ sw $s6, 0x38($sp) +/* D3AEFC 8024092C AFB50034 */ sw $s5, 0x34($sp) +/* D3AF00 80240930 AFB40030 */ sw $s4, 0x30($sp) +/* D3AF04 80240934 AFB3002C */ sw $s3, 0x2c($sp) +/* D3AF08 80240938 AFB20028 */ sw $s2, 0x28($sp) +/* D3AF0C 8024093C AFB00020 */ sw $s0, 0x20($sp) +/* D3AF10 80240940 8E3E0148 */ lw $fp, 0x148($s1) +/* D3AF14 80240944 0C0B1EAF */ jal get_variable +/* D3AF18 80240948 34A56268 */ ori $a1, $a1, 0x6268 +/* D3AF1C 8024094C 0040802D */ daddu $s0, $v0, $zero +/* D3AF20 80240950 0220202D */ daddu $a0, $s1, $zero +/* D3AF24 80240954 3C05F840 */ lui $a1, 0xf840 +/* D3AF28 80240958 0C0B1EAF */ jal get_variable +/* D3AF2C 8024095C 34A56269 */ ori $a1, $a1, 0x6269 +/* D3AF30 80240960 0040B82D */ daddu $s7, $v0, $zero +/* D3AF34 80240964 0220202D */ daddu $a0, $s1, $zero +/* D3AF38 80240968 3C05F5DE */ lui $a1, 0xf5de +/* D3AF3C 8024096C 0C0B1EAF */ jal get_variable +/* D3AF40 80240970 34A502DE */ ori $a1, $a1, 0x2de +/* D3AF44 80240974 0040B02D */ daddu $s6, $v0, $zero +/* D3AF48 80240978 0220202D */ daddu $a0, $s1, $zero +/* D3AF4C 8024097C 3C05F5DE */ lui $a1, 0xf5de +/* D3AF50 80240980 0C0B1EAF */ jal get_variable +/* D3AF54 80240984 34A502DF */ ori $a1, $a1, 0x2df +/* D3AF58 80240988 0040A82D */ daddu $s5, $v0, $zero +/* D3AF5C 8024098C 93D3006D */ lbu $s3, 0x6d($fp) +/* D3AF60 80240990 32C2FFFF */ andi $v0, $s6, 0xffff +/* D3AF64 80240994 A7B30010 */ sh $s3, 0x10($sp) +/* D3AF68 80240998 93D2006E */ lbu $s2, 0x6e($fp) +/* D3AF6C 8024099C 93C7006F */ lbu $a3, 0x6f($fp) +/* D3AF70 802409A0 3274FFFF */ andi $s4, $s3, 0xffff +/* D3AF74 802409A4 12820003 */ beq $s4, $v0, .L802409B4 +/* D3AF78 802409A8 A7A7001E */ sh $a3, 0x1e($sp) +/* D3AF7C 802409AC 0000B82D */ daddu $s7, $zero, $zero +/* D3AF80 802409B0 02E0802D */ daddu $s0, $s7, $zero +.L802409B4: +/* D3AF84 802409B4 3202FFFF */ andi $v0, $s0, 0xffff +/* D3AF88 802409B8 14400016 */ bnez $v0, .L80240A14 +/* D3AF8C 802409BC 0220202D */ daddu $a0, $s1, $zero +/* D3AF90 802409C0 0C00A67F */ jal rand_int +/* D3AF94 802409C4 24040064 */ addiu $a0, $zero, 0x64 +/* D3AF98 802409C8 2842001E */ slti $v0, $v0, 0x1e +/* D3AF9C 802409CC 10400011 */ beqz $v0, .L80240A14 +/* D3AFA0 802409D0 0220202D */ daddu $a0, $s1, $zero +/* D3AFA4 802409D4 0C00A67F */ jal rand_int +/* D3AFA8 802409D8 2644FFFF */ addiu $a0, $s2, -1 +/* D3AFAC 802409DC 0040A82D */ daddu $s5, $v0, $zero +/* D3AFB0 802409E0 0260B02D */ daddu $s6, $s3, $zero +/* D3AFB4 802409E4 0220202D */ daddu $a0, $s1, $zero +/* D3AFB8 802409E8 3C05F5DE */ lui $a1, 0xf5de +/* D3AFBC 802409EC 34A502DE */ ori $a1, $a1, 0x2de +/* D3AFC0 802409F0 0C0B2026 */ jal set_variable +/* D3AFC4 802409F4 0280302D */ daddu $a2, $s4, $zero +/* D3AFC8 802409F8 0220202D */ daddu $a0, $s1, $zero +/* D3AFCC 802409FC 3C05F5DE */ lui $a1, 0xf5de +/* D3AFD0 80240A00 34A502DF */ ori $a1, $a1, 0x2df +/* D3AFD4 80240A04 0C0B2026 */ jal set_variable +/* D3AFD8 80240A08 32A6FFFF */ andi $a2, $s5, 0xffff +/* D3AFDC 80240A0C 24100001 */ addiu $s0, $zero, 1 +/* D3AFE0 80240A10 0220202D */ daddu $a0, $s1, $zero +.L80240A14: +/* D3AFE4 80240A14 3C05F840 */ lui $a1, 0xf840 +/* D3AFE8 80240A18 34A56268 */ ori $a1, $a1, 0x6268 +/* D3AFEC 80240A1C 0C0B2026 */ jal set_variable +/* D3AFF0 80240A20 3206FFFF */ andi $a2, $s0, 0xffff +/* D3AFF4 80240A24 0220202D */ daddu $a0, $s1, $zero +/* D3AFF8 80240A28 3C05F840 */ lui $a1, 0xf840 +/* D3AFFC 80240A2C 34A56269 */ ori $a1, $a1, 0x6269 +/* D3B000 80240A30 0C0B2026 */ jal set_variable +/* D3B004 80240A34 32E6FFFF */ andi $a2, $s7, 0xffff +/* D3B008 80240A38 0000202D */ daddu $a0, $zero, $zero +/* D3B00C 80240A3C 3C05F5DE */ lui $a1, 0xf5de +/* D3B010 80240A40 0C0B1EAF */ jal get_variable +/* D3B014 80240A44 34A502E0 */ ori $a1, $a1, 0x2e0 +/* D3B018 80240A48 0000202D */ daddu $a0, $zero, $zero +/* D3B01C 80240A4C 3C05F5DE */ lui $a1, 0xf5de +/* D3B020 80240A50 34A50180 */ ori $a1, $a1, 0x180 +/* D3B024 80240A54 0C0B1EAF */ jal get_variable +/* D3B028 80240A58 0040802D */ daddu $s0, $v0, $zero +/* D3B02C 80240A5C 0040282D */ daddu $a1, $v0, $zero +/* D3B030 80240A60 0000182D */ daddu $v1, $zero, $zero +/* D3B034 80240A64 3C068024 */ lui $a2, 0x8024 +/* D3B038 80240A68 24C6501C */ addiu $a2, $a2, 0x501c +/* D3B03C 80240A6C 00C0202D */ daddu $a0, $a2, $zero +.L80240A70: +/* D3B040 80240A70 8C820000 */ lw $v0, ($a0) +/* D3B044 80240A74 00A2102A */ slt $v0, $a1, $v0 +/* D3B048 80240A78 14400006 */ bnez $v0, .L80240A94 +/* D3B04C 80240A7C 000310C0 */ sll $v0, $v1, 3 +/* D3B050 80240A80 24630001 */ addiu $v1, $v1, 1 +/* D3B054 80240A84 28620008 */ slti $v0, $v1, 8 +/* D3B058 80240A88 1440FFF9 */ bnez $v0, .L80240A70 +/* D3B05C 80240A8C 24840008 */ addiu $a0, $a0, 8 +/* D3B060 80240A90 000310C0 */ sll $v0, $v1, 3 +.L80240A94: +/* D3B064 80240A94 00461021 */ addu $v0, $v0, $a2 +/* D3B068 80240A98 8C420004 */ lw $v0, 4($v0) +/* D3B06C 80240A9C 97A30010 */ lhu $v1, 0x10($sp) +/* D3B070 80240AA0 0202202A */ slt $a0, $s0, $v0 +/* D3B074 80240AA4 32C2FFFF */ andi $v0, $s6, 0xffff +/* D3B078 80240AA8 14620008 */ bne $v1, $v0, .L80240ACC +/* D3B07C 80240AAC 32A2FFFF */ andi $v0, $s5, 0xffff +/* D3B080 80240AB0 97A7001E */ lhu $a3, 0x1e($sp) +/* D3B084 80240AB4 14E20005 */ bne $a3, $v0, .L80240ACC +/* D3B088 80240AB8 32E2FFFF */ andi $v0, $s7, 0xffff +/* D3B08C 80240ABC 14400003 */ bnez $v0, .L80240ACC +/* D3B090 80240AC0 00000000 */ nop +/* D3B094 80240AC4 14800008 */ bnez $a0, .L80240AE8 +/* D3B098 80240AC8 24020001 */ addiu $v0, $zero, 1 +.L80240ACC: +/* D3B09C 80240ACC 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* D3B0A0 80240AD0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* D3B0A4 80240AD4 80420075 */ lb $v0, 0x75($v0) +/* D3B0A8 80240AD8 10400005 */ beqz $v0, .L80240AF0 +/* D3B0AC 80240ADC 00000000 */ nop +/* D3B0B0 80240AE0 10800003 */ beqz $a0, .L80240AF0 +/* D3B0B4 80240AE4 24020001 */ addiu $v0, $zero, 1 +.L80240AE8: +/* D3B0B8 80240AE8 080902BF */ j .L80240AFC +/* D3B0BC 80240AEC AE220084 */ sw $v0, 0x84($s1) +.L80240AF0: +/* D3B0C0 80240AF0 0C00F9EB */ jal kill_enemy +/* D3B0C4 80240AF4 03C0202D */ daddu $a0, $fp, $zero +/* D3B0C8 80240AF8 AE200084 */ sw $zero, 0x84($s1) +.L80240AFC: +/* D3B0CC 80240AFC 8FBF0044 */ lw $ra, 0x44($sp) +/* D3B0D0 80240B00 8FBE0040 */ lw $fp, 0x40($sp) +/* D3B0D4 80240B04 8FB7003C */ lw $s7, 0x3c($sp) +/* D3B0D8 80240B08 8FB60038 */ lw $s6, 0x38($sp) +/* D3B0DC 80240B0C 8FB50034 */ lw $s5, 0x34($sp) +/* D3B0E0 80240B10 8FB40030 */ lw $s4, 0x30($sp) +/* D3B0E4 80240B14 8FB3002C */ lw $s3, 0x2c($sp) +/* D3B0E8 80240B18 8FB20028 */ lw $s2, 0x28($sp) +/* D3B0EC 80240B1C 8FB10024 */ lw $s1, 0x24($sp) +/* D3B0F0 80240B20 8FB00020 */ lw $s0, 0x20($sp) +/* D3B0F4 80240B24 24020002 */ addiu $v0, $zero, 2 +/* D3B0F8 80240B28 03E00008 */ jr $ra +/* D3B0FC 80240B2C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240B30_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240B30_D3A5D0.s new file mode 100644 index 0000000000..6158341e25 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240B30_D3A5D0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B30_D3B100 +/* D3B100 80240B30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B104 80240B34 AFBF0014 */ sw $ra, 0x14($sp) +/* D3B108 80240B38 AFB00010 */ sw $s0, 0x10($sp) +/* D3B10C 80240B3C 0C00EABB */ jal get_npc_unsafe +/* D3B110 80240B40 8C84014C */ lw $a0, 0x14c($a0) +/* D3B114 80240B44 24040008 */ addiu $a0, $zero, 8 +/* D3B118 80240B48 0040802D */ daddu $s0, $v0, $zero +/* D3B11C 80240B4C 3C028024 */ lui $v0, 0x8024 +/* D3B120 80240B50 24420B9C */ addiu $v0, $v0, 0xb9c +/* D3B124 80240B54 0C00AB39 */ jal heap_malloc +/* D3B128 80240B58 AE020008 */ sw $v0, 8($s0) +/* D3B12C 80240B5C 0040182D */ daddu $v1, $v0, $zero +/* D3B130 80240B60 AE030020 */ sw $v1, 0x20($s0) +/* D3B134 80240B64 AC600000 */ sw $zero, ($v1) +/* D3B138 80240B68 8FBF0014 */ lw $ra, 0x14($sp) +/* D3B13C 80240B6C 8FB00010 */ lw $s0, 0x10($sp) +/* D3B140 80240B70 24020001 */ addiu $v0, $zero, 1 +/* D3B144 80240B74 03E00008 */ jr $ra +/* D3B148 80240B78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240B7C.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240B7C.s new file mode 100644 index 0000000000..8068efe716 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240B7C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B7C +/* D3B14C 80240B7C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B150 80240B80 AFBF0010 */ sw $ra, 0x10($sp) +/* D3B154 80240B84 0C00EABB */ jal get_npc_unsafe +/* D3B158 80240B88 8C84014C */ lw $a0, 0x14c($a0) +/* D3B15C 80240B8C 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B160 80240B90 0000102D */ daddu $v0, $zero, $zero +/* D3B164 80240B94 03E00008 */ jr $ra +/* D3B168 80240B98 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240B9C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240B9C_D3A5D0.s new file mode 100644 index 0000000000..1d2163a0f6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240B9C_D3A5D0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B9C_D3B16C +/* D3B16C 80240B9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B170 80240BA0 3C03800A */ lui $v1, 0x800a +/* D3B174 80240BA4 8463A634 */ lh $v1, -0x59cc($v1) +/* D3B178 80240BA8 3C05800B */ lui $a1, %hi(gCameras) +/* D3B17C 80240BAC 24A51D80 */ addiu $a1, $a1, %lo(gCameras) +/* D3B180 80240BB0 AFBF0010 */ sw $ra, 0x10($sp) +/* D3B184 80240BB4 00031080 */ sll $v0, $v1, 2 +/* D3B188 80240BB8 00431021 */ addu $v0, $v0, $v1 +/* D3B18C 80240BBC 00021080 */ sll $v0, $v0, 2 +/* D3B190 80240BC0 00431023 */ subu $v0, $v0, $v1 +/* D3B194 80240BC4 000218C0 */ sll $v1, $v0, 3 +/* D3B198 80240BC8 00431021 */ addu $v0, $v0, $v1 +/* D3B19C 80240BCC 8C830020 */ lw $v1, 0x20($a0) +/* D3B1A0 80240BD0 000210C0 */ sll $v0, $v0, 3 +/* D3B1A4 80240BD4 8C630000 */ lw $v1, ($v1) +/* D3B1A8 80240BD8 30630001 */ andi $v1, $v1, 1 +/* D3B1AC 80240BDC 10600004 */ beqz $v1, .L80240BF0 +/* D3B1B0 80240BE0 00451021 */ addu $v0, $v0, $a1 +/* D3B1B4 80240BE4 C44C006C */ lwc1 $f12, 0x6c($v0) +/* D3B1B8 80240BE8 0C00A6C9 */ jal clamp_angle +/* D3B1BC 80240BEC 46006307 */ neg.s $f12, $f12 +.L80240BF0: +/* D3B1C0 80240BF0 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B1C4 80240BF4 03E00008 */ jr $ra +/* D3B1C8 80240BF8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240BFC_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240BFC_D3A5D0.s new file mode 100644 index 0000000000..552332fbf0 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240BFC_D3A5D0.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BFC_D3B1CC +/* D3B1CC 80240BFC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D3B1D0 80240C00 AFB10014 */ sw $s1, 0x14($sp) +/* D3B1D4 80240C04 0080882D */ daddu $s1, $a0, $zero +/* D3B1D8 80240C08 AFBF0024 */ sw $ra, 0x24($sp) +/* D3B1DC 80240C0C AFB40020 */ sw $s4, 0x20($sp) +/* D3B1E0 80240C10 AFB3001C */ sw $s3, 0x1c($sp) +/* D3B1E4 80240C14 AFB20018 */ sw $s2, 0x18($sp) +/* D3B1E8 80240C18 10A00033 */ beqz $a1, .L80240CE8 +/* D3B1EC 80240C1C AFB00010 */ sw $s0, 0x10($sp) +/* D3B1F0 80240C20 0C04760B */ jal func_8011D82C +/* D3B1F4 80240C24 24040001 */ addiu $a0, $zero, 1 +/* D3B1F8 80240C28 0000202D */ daddu $a0, $zero, $zero +/* D3B1FC 80240C2C 0080282D */ daddu $a1, $a0, $zero +/* D3B200 80240C30 0080302D */ daddu $a2, $a0, $zero +/* D3B204 80240C34 0080382D */ daddu $a3, $a0, $zero +/* D3B208 80240C38 0080802D */ daddu $s0, $a0, $zero +/* D3B20C 80240C3C 2414FFFC */ addiu $s4, $zero, -4 +/* D3B210 80240C40 24130011 */ addiu $s3, $zero, 0x11 +/* D3B214 80240C44 3C120080 */ lui $s2, 0x80 +/* D3B218 80240C48 3C038015 */ lui $v1, 0x8015 +/* D3B21C 80240C4C 8C6312F0 */ lw $v1, 0x12f0($v1) +/* D3B220 80240C50 24020001 */ addiu $v0, $zero, 1 +/* D3B224 80240C54 0C046F97 */ jal set_background_color_blend +/* D3B228 80240C58 A0620000 */ sb $v0, ($v1) +.L80240C5C: +/* D3B22C 80240C5C 0C00E2B7 */ jal get_npc_by_index +/* D3B230 80240C60 0200202D */ daddu $a0, $s0, $zero +/* D3B234 80240C64 0040202D */ daddu $a0, $v0, $zero +/* D3B238 80240C68 5080000B */ beql $a0, $zero, .L80240C98 +/* D3B23C 80240C6C 26100001 */ addiu $s0, $s0, 1 +/* D3B240 80240C70 8C820000 */ lw $v0, ($a0) +/* D3B244 80240C74 50400008 */ beql $v0, $zero, .L80240C98 +/* D3B248 80240C78 26100001 */ addiu $s0, $s0, 1 +/* D3B24C 80240C7C 808300A4 */ lb $v1, 0xa4($a0) +/* D3B250 80240C80 10740005 */ beq $v1, $s4, .L80240C98 +/* D3B254 80240C84 26100001 */ addiu $s0, $s0, 1 +/* D3B258 80240C88 10730003 */ beq $v1, $s3, .L80240C98 +/* D3B25C 80240C8C 00000000 */ nop +/* D3B260 80240C90 00521025 */ or $v0, $v0, $s2 +/* D3B264 80240C94 AC820000 */ sw $v0, ($a0) +.L80240C98: +/* D3B268 80240C98 2A020040 */ slti $v0, $s0, 0x40 +/* D3B26C 80240C9C 1440FFEF */ bnez $v0, .L80240C5C +/* D3B270 80240CA0 00000000 */ nop +/* D3B274 80240CA4 0000802D */ daddu $s0, $zero, $zero +/* D3B278 80240CA8 3C120800 */ lui $s2, 0x800 +.L80240CAC: +/* D3B27C 80240CAC 0C04C3D6 */ jal get_item_entity +/* D3B280 80240CB0 0200202D */ daddu $a0, $s0, $zero +/* D3B284 80240CB4 0040182D */ daddu $v1, $v0, $zero +/* D3B288 80240CB8 10600007 */ beqz $v1, .L80240CD8 +/* D3B28C 80240CBC 26100001 */ addiu $s0, $s0, 1 +/* D3B290 80240CC0 8C640000 */ lw $a0, ($v1) +/* D3B294 80240CC4 30820010 */ andi $v0, $a0, 0x10 +/* D3B298 80240CC8 10400003 */ beqz $v0, .L80240CD8 +/* D3B29C 80240CCC 00000000 */ nop +/* D3B2A0 80240CD0 00921025 */ or $v0, $a0, $s2 +/* D3B2A4 80240CD4 AC620000 */ sw $v0, ($v1) +.L80240CD8: +/* D3B2A8 80240CD8 2A020100 */ slti $v0, $s0, 0x100 +/* D3B2AC 80240CDC 1440FFF3 */ bnez $v0, .L80240CAC +/* D3B2B0 80240CE0 00000000 */ nop +/* D3B2B4 80240CE4 AE200070 */ sw $zero, 0x70($s1) +.L80240CE8: +/* D3B2B8 80240CE8 8E220070 */ lw $v0, 0x70($s1) +/* D3B2BC 80240CEC 24420008 */ addiu $v0, $v0, 8 +/* D3B2C0 80240CF0 AE220070 */ sw $v0, 0x70($s1) +/* D3B2C4 80240CF4 28420100 */ slti $v0, $v0, 0x100 +/* D3B2C8 80240CF8 14400003 */ bnez $v0, .L80240D08 +/* D3B2CC 80240CFC 0000202D */ daddu $a0, $zero, $zero +/* D3B2D0 80240D00 240200FF */ addiu $v0, $zero, 0xff +/* D3B2D4 80240D04 AE220070 */ sw $v0, 0x70($s1) +.L80240D08: +/* D3B2D8 80240D08 0080282D */ daddu $a1, $a0, $zero +/* D3B2DC 80240D0C 92270073 */ lbu $a3, 0x73($s1) +/* D3B2E0 80240D10 0C046F97 */ jal set_background_color_blend +/* D3B2E4 80240D14 0080302D */ daddu $a2, $a0, $zero +/* D3B2E8 80240D18 8E220070 */ lw $v0, 0x70($s1) +/* D3B2EC 80240D1C 8FBF0024 */ lw $ra, 0x24($sp) +/* D3B2F0 80240D20 8FB40020 */ lw $s4, 0x20($sp) +/* D3B2F4 80240D24 8FB3001C */ lw $s3, 0x1c($sp) +/* D3B2F8 80240D28 8FB20018 */ lw $s2, 0x18($sp) +/* D3B2FC 80240D2C 8FB10014 */ lw $s1, 0x14($sp) +/* D3B300 80240D30 8FB00010 */ lw $s0, 0x10($sp) +/* D3B304 80240D34 384200FF */ xori $v0, $v0, 0xff +/* D3B308 80240D38 2C420001 */ sltiu $v0, $v0, 1 +/* D3B30C 80240D3C 00021040 */ sll $v0, $v0, 1 +/* D3B310 80240D40 03E00008 */ jr $ra +/* D3B314 80240D44 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240D48_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240D48_D3A5D0.s new file mode 100644 index 0000000000..3475747959 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240D48_D3A5D0.s @@ -0,0 +1,106 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D48_D3B318 +/* D3B318 80240D48 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D3B31C 80240D4C AFB00010 */ sw $s0, 0x10($sp) +/* D3B320 80240D50 0080802D */ daddu $s0, $a0, $zero +/* D3B324 80240D54 AFBF0020 */ sw $ra, 0x20($sp) +/* D3B328 80240D58 AFB3001C */ sw $s3, 0x1c($sp) +/* D3B32C 80240D5C AFB20018 */ sw $s2, 0x18($sp) +/* D3B330 80240D60 10A00009 */ beqz $a1, .L80240D88 +/* D3B334 80240D64 AFB10014 */ sw $s1, 0x14($sp) +/* D3B338 80240D68 0000202D */ daddu $a0, $zero, $zero +/* D3B33C 80240D6C 0080282D */ daddu $a1, $a0, $zero +/* D3B340 80240D70 0080302D */ daddu $a2, $a0, $zero +/* D3B344 80240D74 0C046F97 */ jal set_background_color_blend +/* D3B348 80240D78 240700FF */ addiu $a3, $zero, 0xff +/* D3B34C 80240D7C 240200FF */ addiu $v0, $zero, 0xff +/* D3B350 80240D80 AE020070 */ sw $v0, 0x70($s0) +/* D3B354 80240D84 AE000074 */ sw $zero, 0x74($s0) +.L80240D88: +/* D3B358 80240D88 8E020070 */ lw $v0, 0x70($s0) +/* D3B35C 80240D8C 2442FFF8 */ addiu $v0, $v0, -8 +/* D3B360 80240D90 04410002 */ bgez $v0, .L80240D9C +/* D3B364 80240D94 AE020070 */ sw $v0, 0x70($s0) +/* D3B368 80240D98 AE000070 */ sw $zero, 0x70($s0) +.L80240D9C: +/* D3B36C 80240D9C 0000202D */ daddu $a0, $zero, $zero +/* D3B370 80240DA0 0080282D */ daddu $a1, $a0, $zero +/* D3B374 80240DA4 92070073 */ lbu $a3, 0x73($s0) +/* D3B378 80240DA8 0C046F97 */ jal set_background_color_blend +/* D3B37C 80240DAC 0080302D */ daddu $a2, $a0, $zero +/* D3B380 80240DB0 8E020070 */ lw $v0, 0x70($s0) +/* D3B384 80240DB4 14400006 */ bnez $v0, .L80240DD0 +/* D3B388 80240DB8 00000000 */ nop +/* D3B38C 80240DBC 8E020074 */ lw $v0, 0x74($s0) +/* D3B390 80240DC0 14400003 */ bnez $v0, .L80240DD0 +/* D3B394 80240DC4 24020001 */ addiu $v0, $zero, 1 +/* D3B398 80240DC8 080903A7 */ j .L80240E9C +/* D3B39C 80240DCC AE020074 */ sw $v0, 0x74($s0) +.L80240DD0: +/* D3B3A0 80240DD0 8E030074 */ lw $v1, 0x74($s0) +/* D3B3A4 80240DD4 24020001 */ addiu $v0, $zero, 1 +/* D3B3A8 80240DD8 14620031 */ bne $v1, $v0, .L80240EA0 +/* D3B3AC 80240DDC 0000102D */ daddu $v0, $zero, $zero +/* D3B3B0 80240DE0 0C04760B */ jal func_8011D82C +/* D3B3B4 80240DE4 0000202D */ daddu $a0, $zero, $zero +/* D3B3B8 80240DE8 0000802D */ daddu $s0, $zero, $zero +/* D3B3BC 80240DEC 2413FFFC */ addiu $s3, $zero, -4 +/* D3B3C0 80240DF0 24120011 */ addiu $s2, $zero, 0x11 +/* D3B3C4 80240DF4 3C11FF7F */ lui $s1, 0xff7f +/* D3B3C8 80240DF8 3C028015 */ lui $v0, 0x8015 +/* D3B3CC 80240DFC 8C4212F0 */ lw $v0, 0x12f0($v0) +/* D3B3D0 80240E00 3631FFFF */ ori $s1, $s1, 0xffff +/* D3B3D4 80240E04 A0400000 */ sb $zero, ($v0) +.L80240E08: +/* D3B3D8 80240E08 0C00E2B7 */ jal get_npc_by_index +/* D3B3DC 80240E0C 0200202D */ daddu $a0, $s0, $zero +/* D3B3E0 80240E10 0040202D */ daddu $a0, $v0, $zero +/* D3B3E4 80240E14 5080000B */ beql $a0, $zero, .L80240E44 +/* D3B3E8 80240E18 26100001 */ addiu $s0, $s0, 1 +/* D3B3EC 80240E1C 8C820000 */ lw $v0, ($a0) +/* D3B3F0 80240E20 50400008 */ beql $v0, $zero, .L80240E44 +/* D3B3F4 80240E24 26100001 */ addiu $s0, $s0, 1 +/* D3B3F8 80240E28 808300A4 */ lb $v1, 0xa4($a0) +/* D3B3FC 80240E2C 10730005 */ beq $v1, $s3, .L80240E44 +/* D3B400 80240E30 26100001 */ addiu $s0, $s0, 1 +/* D3B404 80240E34 10720003 */ beq $v1, $s2, .L80240E44 +/* D3B408 80240E38 00000000 */ nop +/* D3B40C 80240E3C 00511024 */ and $v0, $v0, $s1 +/* D3B410 80240E40 AC820000 */ sw $v0, ($a0) +.L80240E44: +/* D3B414 80240E44 2A020040 */ slti $v0, $s0, 0x40 +/* D3B418 80240E48 1440FFEF */ bnez $v0, .L80240E08 +/* D3B41C 80240E4C 00000000 */ nop +/* D3B420 80240E50 0000802D */ daddu $s0, $zero, $zero +/* D3B424 80240E54 3C11F7FF */ lui $s1, 0xf7ff +/* D3B428 80240E58 3631FFFF */ ori $s1, $s1, 0xffff +.L80240E5C: +/* D3B42C 80240E5C 0C04C3D6 */ jal get_item_entity +/* D3B430 80240E60 0200202D */ daddu $a0, $s0, $zero +/* D3B434 80240E64 0040182D */ daddu $v1, $v0, $zero +/* D3B438 80240E68 10600007 */ beqz $v1, .L80240E88 +/* D3B43C 80240E6C 26100001 */ addiu $s0, $s0, 1 +/* D3B440 80240E70 8C640000 */ lw $a0, ($v1) +/* D3B444 80240E74 30820010 */ andi $v0, $a0, 0x10 +/* D3B448 80240E78 10400003 */ beqz $v0, .L80240E88 +/* D3B44C 80240E7C 00000000 */ nop +/* D3B450 80240E80 00911024 */ and $v0, $a0, $s1 +/* D3B454 80240E84 AC620000 */ sw $v0, ($v1) +.L80240E88: +/* D3B458 80240E88 2A020100 */ slti $v0, $s0, 0x100 +/* D3B45C 80240E8C 1440FFF3 */ bnez $v0, .L80240E5C +/* D3B460 80240E90 24020002 */ addiu $v0, $zero, 2 +/* D3B464 80240E94 080903A8 */ j .L80240EA0 +/* D3B468 80240E98 00000000 */ nop +.L80240E9C: +/* D3B46C 80240E9C 0000102D */ daddu $v0, $zero, $zero +.L80240EA0: +/* D3B470 80240EA0 8FBF0020 */ lw $ra, 0x20($sp) +/* D3B474 80240EA4 8FB3001C */ lw $s3, 0x1c($sp) +/* D3B478 80240EA8 8FB20018 */ lw $s2, 0x18($sp) +/* D3B47C 80240EAC 8FB10014 */ lw $s1, 0x14($sp) +/* D3B480 80240EB0 8FB00010 */ lw $s0, 0x10($sp) +/* D3B484 80240EB4 03E00008 */ jr $ra +/* D3B488 80240EB8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240EBC_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240EBC_D3A5D0.s new file mode 100644 index 0000000000..90aa8e6fdb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240EBC_D3A5D0.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EBC_D3B48C +/* D3B48C 80240EBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3B490 80240EC0 AFB00010 */ sw $s0, 0x10($sp) +/* D3B494 80240EC4 3C108011 */ lui $s0, %hi(gPlayerData) +/* D3B498 80240EC8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData) +/* D3B49C 80240ECC AFBF0018 */ sw $ra, 0x18($sp) +/* D3B4A0 80240ED0 AFB10014 */ sw $s1, 0x14($sp) +/* D3B4A4 80240ED4 960302C0 */ lhu $v1, 0x2c0($s0) +/* D3B4A8 80240ED8 2C6203E7 */ sltiu $v0, $v1, 0x3e7 +/* D3B4AC 80240EDC 10400003 */ beqz $v0, .L80240EEC +/* D3B4B0 80240EE0 0080882D */ daddu $s1, $a0, $zero +/* D3B4B4 80240EE4 24620001 */ addiu $v0, $v1, 1 +/* D3B4B8 80240EE8 A60202C0 */ sh $v0, 0x2c0($s0) +.L80240EEC: +/* D3B4BC 80240EEC 3C05F5DE */ lui $a1, 0xf5de +/* D3B4C0 80240EF0 34A502E0 */ ori $a1, $a1, 0x2e0 +/* D3B4C4 80240EF4 0C0B1EAF */ jal get_variable +/* D3B4C8 80240EF8 0000202D */ daddu $a0, $zero, $zero +/* D3B4CC 80240EFC 3C038024 */ lui $v1, 0x8024 +/* D3B4D0 80240F00 00621821 */ addu $v1, $v1, $v0 +/* D3B4D4 80240F04 90634FDC */ lbu $v1, 0x4fdc($v1) +/* D3B4D8 80240F08 8E220084 */ lw $v0, 0x84($s1) +/* D3B4DC 80240F0C 54430006 */ bnel $v0, $v1, .L80240F28 +/* D3B4E0 80240F10 AE200084 */ sw $zero, 0x84($s1) +/* D3B4E4 80240F14 24020001 */ addiu $v0, $zero, 1 +/* D3B4E8 80240F18 AE220084 */ sw $v0, 0x84($s1) +/* D3B4EC 80240F1C 960202C2 */ lhu $v0, 0x2c2($s0) +/* D3B4F0 80240F20 24420001 */ addiu $v0, $v0, 1 +/* D3B4F4 80240F24 A60202C2 */ sh $v0, 0x2c2($s0) +.L80240F28: +/* D3B4F8 80240F28 8FBF0018 */ lw $ra, 0x18($sp) +/* D3B4FC 80240F2C 8FB10014 */ lw $s1, 0x14($sp) +/* D3B500 80240F30 8FB00010 */ lw $s0, 0x10($sp) +/* D3B504 80240F34 24020002 */ addiu $v0, $zero, 2 +/* D3B508 80240F38 03E00008 */ jr $ra +/* D3B50C 80240F3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80240F40_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80240F40_D3A5D0.s new file mode 100644 index 0000000000..ef4c1b93c6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80240F40_D3A5D0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F40_D3B510 +/* D3B510 80240F40 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* D3B514 80240F44 AFB1001C */ sw $s1, 0x1c($sp) +/* D3B518 80240F48 AFBF0020 */ sw $ra, 0x20($sp) +/* D3B51C 80240F4C AFB00018 */ sw $s0, 0x18($sp) +/* D3B520 80240F50 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D3B524 80240F54 F7B40028 */ sdc1 $f20, 0x28($sp) +/* D3B528 80240F58 10A00060 */ beqz $a1, .L802410DC +/* D3B52C 80240F5C 0080882D */ daddu $s1, $a0, $zero +/* D3B530 80240F60 3C05F4AC */ lui $a1, 0xf4ac +/* D3B534 80240F64 0C0B1EAF */ jal get_variable +/* D3B538 80240F68 34A5D481 */ ori $a1, $a1, 0xd481 +/* D3B53C 80240F6C 0220202D */ daddu $a0, $s1, $zero +/* D3B540 80240F70 3C05F4AC */ lui $a1, 0xf4ac +/* D3B544 80240F74 4482B000 */ mtc1 $v0, $f22 +/* D3B548 80240F78 00000000 */ nop +/* D3B54C 80240F7C 4680B5A0 */ cvt.s.w $f22, $f22 +/* D3B550 80240F80 0C0B1EAF */ jal get_variable +/* D3B554 80240F84 34A5D482 */ ori $a1, $a1, 0xd482 +/* D3B558 80240F88 0220202D */ daddu $a0, $s1, $zero +/* D3B55C 80240F8C 3C05F4AC */ lui $a1, 0xf4ac +/* D3B560 80240F90 4482A000 */ mtc1 $v0, $f20 +/* D3B564 80240F94 00000000 */ nop +/* D3B568 80240F98 4680A520 */ cvt.s.w $f20, $f20 +/* D3B56C 80240F9C 0C0B1EAF */ jal get_variable +/* D3B570 80240FA0 34A5D483 */ ori $a1, $a1, 0xd483 +/* D3B574 80240FA4 44821000 */ mtc1 $v0, $f2 +/* D3B578 80240FA8 00000000 */ nop +/* D3B57C 80240FAC 468010A0 */ cvt.s.w $f2, $f2 +/* D3B580 80240FB0 4405B000 */ mfc1 $a1, $f22 +/* D3B584 80240FB4 4406A000 */ mfc1 $a2, $f20 +/* D3B588 80240FB8 44071000 */ mfc1 $a3, $f2 +/* D3B58C 80240FBC 0C01C574 */ jal func_800715D0 +/* D3B590 80240FC0 0000202D */ daddu $a0, $zero, $zero +/* D3B594 80240FC4 0220202D */ daddu $a0, $s1, $zero +/* D3B598 80240FC8 3C05F4AC */ lui $a1, 0xf4ac +/* D3B59C 80240FCC 34A5D481 */ ori $a1, $a1, 0xd481 +/* D3B5A0 80240FD0 3C108025 */ lui $s0, 0x8025 +/* D3B5A4 80240FD4 26101470 */ addiu $s0, $s0, 0x1470 +/* D3B5A8 80240FD8 0C0B1EAF */ jal get_variable +/* D3B5AC 80240FDC AE020000 */ sw $v0, ($s0) +/* D3B5B0 80240FE0 0220202D */ daddu $a0, $s1, $zero +/* D3B5B4 80240FE4 3C05F4AC */ lui $a1, 0xf4ac +/* D3B5B8 80240FE8 4482B000 */ mtc1 $v0, $f22 +/* D3B5BC 80240FEC 00000000 */ nop +/* D3B5C0 80240FF0 4680B5A0 */ cvt.s.w $f22, $f22 +/* D3B5C4 80240FF4 0C0B1EAF */ jal get_variable +/* D3B5C8 80240FF8 34A5D482 */ ori $a1, $a1, 0xd482 +/* D3B5CC 80240FFC 0220202D */ daddu $a0, $s1, $zero +/* D3B5D0 80241000 3C05F4AC */ lui $a1, 0xf4ac +/* D3B5D4 80241004 4482A000 */ mtc1 $v0, $f20 +/* D3B5D8 80241008 00000000 */ nop +/* D3B5DC 8024100C 4680A520 */ cvt.s.w $f20, $f20 +/* D3B5E0 80241010 0C0B1EAF */ jal get_variable +/* D3B5E4 80241014 34A5D483 */ ori $a1, $a1, 0xd483 +/* D3B5E8 80241018 44821000 */ mtc1 $v0, $f2 +/* D3B5EC 8024101C 00000000 */ nop +/* D3B5F0 80241020 468010A0 */ cvt.s.w $f2, $f2 +/* D3B5F4 80241024 4405B000 */ mfc1 $a1, $f22 +/* D3B5F8 80241028 4406A000 */ mfc1 $a2, $f20 +/* D3B5FC 8024102C 44071000 */ mfc1 $a3, $f2 +/* D3B600 80241030 0C01C604 */ jal func_80071810 +/* D3B604 80241034 0000202D */ daddu $a0, $zero, $zero +/* D3B608 80241038 0220202D */ daddu $a0, $s1, $zero +/* D3B60C 8024103C 3C05F4AC */ lui $a1, 0xf4ac +/* D3B610 80241040 3C018025 */ lui $at, 0x8025 +/* D3B614 80241044 AC221474 */ sw $v0, 0x1474($at) +/* D3B618 80241048 0C0B1EAF */ jal get_variable +/* D3B61C 8024104C 34A5D481 */ ori $a1, $a1, 0xd481 +/* D3B620 80241050 0220202D */ daddu $a0, $s1, $zero +/* D3B624 80241054 3C05F4AC */ lui $a1, 0xf4ac +/* D3B628 80241058 4482B000 */ mtc1 $v0, $f22 +/* D3B62C 8024105C 00000000 */ nop +/* D3B630 80241060 4680B5A0 */ cvt.s.w $f22, $f22 +/* D3B634 80241064 0C0B1EAF */ jal get_variable +/* D3B638 80241068 34A5D482 */ ori $a1, $a1, 0xd482 +/* D3B63C 8024106C 0220202D */ daddu $a0, $s1, $zero +/* D3B640 80241070 3C05F4AC */ lui $a1, 0xf4ac +/* D3B644 80241074 4482A000 */ mtc1 $v0, $f20 +/* D3B648 80241078 00000000 */ nop +/* D3B64C 8024107C 4680A520 */ cvt.s.w $f20, $f20 +/* D3B650 80241080 0C0B1EAF */ jal get_variable +/* D3B654 80241084 34A5D483 */ ori $a1, $a1, 0xd483 +/* D3B658 80241088 44821000 */ mtc1 $v0, $f2 +/* D3B65C 8024108C 00000000 */ nop +/* D3B660 80241090 468010A0 */ cvt.s.w $f2, $f2 +/* D3B664 80241094 4405B000 */ mfc1 $a1, $f22 +/* D3B668 80241098 4406A000 */ mfc1 $a2, $f20 +/* D3B66C 8024109C 3C013F80 */ lui $at, 0x3f80 +/* D3B670 802410A0 44810000 */ mtc1 $at, $f0 +/* D3B674 802410A4 44071000 */ mfc1 $a3, $f2 +/* D3B678 802410A8 0000202D */ daddu $a0, $zero, $zero +/* D3B67C 802410AC AFA00014 */ sw $zero, 0x14($sp) +/* D3B680 802410B0 0C01CA24 */ jal func_80072890 +/* D3B684 802410B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* D3B688 802410B8 8E030000 */ lw $v1, ($s0) +/* D3B68C 802410BC 8C64000C */ lw $a0, 0xc($v1) +/* D3B690 802410C0 3C018025 */ lui $at, 0x8025 +/* D3B694 802410C4 AC221478 */ sw $v0, 0x1478($at) +/* D3B698 802410C8 AC800018 */ sw $zero, 0x18($a0) +/* D3B69C 802410CC AC800020 */ sw $zero, 0x20($a0) +/* D3B6A0 802410D0 AC800024 */ sw $zero, 0x24($a0) +/* D3B6A4 802410D4 AC800028 */ sw $zero, 0x28($a0) +/* D3B6A8 802410D8 AC80001C */ sw $zero, 0x1c($a0) +.L802410DC: +/* D3B6AC 802410DC 3C028025 */ lui $v0, 0x8025 +/* D3B6B0 802410E0 8C421470 */ lw $v0, 0x1470($v0) +/* D3B6B4 802410E4 8C44000C */ lw $a0, 0xc($v0) +/* D3B6B8 802410E8 8C820020 */ lw $v0, 0x20($a0) +/* D3B6BC 802410EC 8C830028 */ lw $v1, 0x28($a0) +/* D3B6C0 802410F0 2442000A */ addiu $v0, $v0, 0xa +/* D3B6C4 802410F4 AC820020 */ sw $v0, 0x20($a0) +/* D3B6C8 802410F8 8C820024 */ lw $v0, 0x24($a0) +/* D3B6CC 802410FC 2463000A */ addiu $v1, $v1, 0xa +/* D3B6D0 80241100 AC830028 */ sw $v1, 0x28($a0) +/* D3B6D4 80241104 8C830018 */ lw $v1, 0x18($a0) +/* D3B6D8 80241108 2442000A */ addiu $v0, $v0, 0xa +/* D3B6DC 8024110C AC820024 */ sw $v0, 0x24($a0) +/* D3B6E0 80241110 8C82001C */ lw $v0, 0x1c($a0) +/* D3B6E4 80241114 2463000A */ addiu $v1, $v1, 0xa +/* D3B6E8 80241118 AC830018 */ sw $v1, 0x18($a0) +/* D3B6EC 8024111C 286300FF */ slti $v1, $v1, 0xff +/* D3B6F0 80241120 2442000A */ addiu $v0, $v0, 0xa +/* D3B6F4 80241124 AC82001C */ sw $v0, 0x1c($a0) +/* D3B6F8 80241128 14600004 */ bnez $v1, .L8024113C +/* D3B6FC 8024112C 0000102D */ daddu $v0, $zero, $zero +/* D3B700 80241130 240200FF */ addiu $v0, $zero, 0xff +/* D3B704 80241134 AC820018 */ sw $v0, 0x18($a0) +/* D3B708 80241138 24020002 */ addiu $v0, $zero, 2 +.L8024113C: +/* D3B70C 8024113C 8FBF0020 */ lw $ra, 0x20($sp) +/* D3B710 80241140 8FB1001C */ lw $s1, 0x1c($sp) +/* D3B714 80241144 8FB00018 */ lw $s0, 0x18($sp) +/* D3B718 80241148 D7B60030 */ ldc1 $f22, 0x30($sp) +/* D3B71C 8024114C D7B40028 */ ldc1 $f20, 0x28($sp) +/* D3B720 80241150 03E00008 */ jr $ra +/* D3B724 80241154 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241158_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241158_D3A5D0.s new file mode 100644 index 0000000000..91b0c9beb3 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241158_D3A5D0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241158_D3B728 +/* D3B728 80241158 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B72C 8024115C 10A0000B */ beqz $a1, .L8024118C +/* D3B730 80241160 AFBF0010 */ sw $ra, 0x10($sp) +/* D3B734 80241164 3C038025 */ lui $v1, 0x8025 +/* D3B738 80241168 8C631474 */ lw $v1, 0x1474($v1) +/* D3B73C 8024116C 8C620000 */ lw $v0, ($v1) +/* D3B740 80241170 3C048025 */ lui $a0, 0x8025 +/* D3B744 80241174 8C841478 */ lw $a0, 0x1478($a0) +/* D3B748 80241178 34420010 */ ori $v0, $v0, 0x10 +/* D3B74C 8024117C AC620000 */ sw $v0, ($v1) +/* D3B750 80241180 8C820000 */ lw $v0, ($a0) +/* D3B754 80241184 34420010 */ ori $v0, $v0, 0x10 +/* D3B758 80241188 AC820000 */ sw $v0, ($a0) +.L8024118C: +/* D3B75C 8024118C 3C048025 */ lui $a0, 0x8025 +/* D3B760 80241190 8C841470 */ lw $a0, 0x1470($a0) +/* D3B764 80241194 8C85000C */ lw $a1, 0xc($a0) +/* D3B768 80241198 8CA20018 */ lw $v0, 0x18($a1) +/* D3B76C 8024119C 8CA30020 */ lw $v1, 0x20($a1) +/* D3B770 802411A0 2442FFF6 */ addiu $v0, $v0, -0xa +/* D3B774 802411A4 ACA20018 */ sw $v0, 0x18($a1) +/* D3B778 802411A8 8CA20024 */ lw $v0, 0x24($a1) +/* D3B77C 802411AC 2463FFF6 */ addiu $v1, $v1, -0xa +/* D3B780 802411B0 ACA30020 */ sw $v1, 0x20($a1) +/* D3B784 802411B4 8CA30028 */ lw $v1, 0x28($a1) +/* D3B788 802411B8 2442FFF6 */ addiu $v0, $v0, -0xa +/* D3B78C 802411BC ACA20024 */ sw $v0, 0x24($a1) +/* D3B790 802411C0 8CA2001C */ lw $v0, 0x1c($a1) +/* D3B794 802411C4 2463FFF6 */ addiu $v1, $v1, -0xa +/* D3B798 802411C8 ACA30028 */ sw $v1, 0x28($a1) +/* D3B79C 802411CC 8CA30018 */ lw $v1, 0x18($a1) +/* D3B7A0 802411D0 2442FFF6 */ addiu $v0, $v0, -0xa +/* D3B7A4 802411D4 18600003 */ blez $v1, .L802411E4 +/* D3B7A8 802411D8 ACA2001C */ sw $v0, 0x1c($a1) +/* D3B7AC 802411DC 08090480 */ j .L80241200 +/* D3B7B0 802411E0 0000102D */ daddu $v0, $zero, $zero +.L802411E4: +/* D3B7B4 802411E4 0C016914 */ jal remove_effect +/* D3B7B8 802411E8 ACA00018 */ sw $zero, 0x18($a1) +/* D3B7BC 802411EC 3C048025 */ lui $a0, 0x8025 +/* D3B7C0 802411F0 8C841450 */ lw $a0, 0x1450($a0) +/* D3B7C4 802411F4 0C048D70 */ jal func_801235C0 +/* D3B7C8 802411F8 00000000 */ nop +/* D3B7CC 802411FC 24020002 */ addiu $v0, $zero, 2 +.L80241200: +/* D3B7D0 80241200 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B7D4 80241204 03E00008 */ jr $ra +/* D3B7D8 80241208 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024120C.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024120C.s new file mode 100644 index 0000000000..f6a1f5b842 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024120C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024120C +/* D3B7DC 8024120C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B7E0 80241210 AFBF0010 */ sw $ra, 0x10($sp) +/* D3B7E4 80241214 8C82000C */ lw $v0, 0xc($a0) +/* D3B7E8 80241218 0C0B1EAF */ jal get_variable +/* D3B7EC 8024121C 8C450000 */ lw $a1, ($v0) +/* D3B7F0 80241220 3C038025 */ lui $v1, 0x8025 +/* D3B7F4 80241224 8C631470 */ lw $v1, 0x1470($v1) +/* D3B7F8 80241228 8C63000C */ lw $v1, 0xc($v1) +/* D3B7FC 8024122C AC620034 */ sw $v0, 0x34($v1) +/* D3B800 80241230 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B804 80241234 24020002 */ addiu $v0, $zero, 2 +/* D3B808 80241238 03E00008 */ jr $ra +/* D3B80C 8024123C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241240.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241240.s new file mode 100644 index 0000000000..a7b745e5a8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241240.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241240 +/* D3B810 80241240 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B814 80241244 AFBF0010 */ sw $ra, 0x10($sp) +/* D3B818 80241248 8C82000C */ lw $v0, 0xc($a0) +/* D3B81C 8024124C 0C0B1EAF */ jal get_variable +/* D3B820 80241250 8C450000 */ lw $a1, ($v0) +/* D3B824 80241254 0040202D */ daddu $a0, $v0, $zero +/* D3B828 80241258 3C028025 */ lui $v0, 0x8025 +/* D3B82C 8024125C 8C421470 */ lw $v0, 0x1470($v0) +/* D3B830 80241260 24030001 */ addiu $v1, $zero, 1 +/* D3B834 80241264 8C45000C */ lw $a1, 0xc($v0) +/* D3B838 80241268 1083000D */ beq $a0, $v1, .L802412A0 +/* D3B83C 8024126C 28820002 */ slti $v0, $a0, 2 +/* D3B840 80241270 10400005 */ beqz $v0, .L80241288 +/* D3B844 80241274 24020002 */ addiu $v0, $zero, 2 +/* D3B848 80241278 10800007 */ beqz $a0, .L80241298 +/* D3B84C 8024127C 240200C0 */ addiu $v0, $zero, 0xc0 +/* D3B850 80241280 080904AC */ j .L802412B0 +/* D3B854 80241284 ACA00038 */ sw $zero, 0x38($a1) +.L80241288: +/* D3B858 80241288 10820008 */ beq $a0, $v0, .L802412AC +/* D3B85C 8024128C 24020040 */ addiu $v0, $zero, 0x40 +/* D3B860 80241290 080904AC */ j .L802412B0 +/* D3B864 80241294 ACA00038 */ sw $zero, 0x38($a1) +.L80241298: +/* D3B868 80241298 080904AC */ j .L802412B0 +/* D3B86C 8024129C ACA20038 */ sw $v0, 0x38($a1) +.L802412A0: +/* D3B870 802412A0 24020080 */ addiu $v0, $zero, 0x80 +/* D3B874 802412A4 080904AC */ j .L802412B0 +/* D3B878 802412A8 ACA20038 */ sw $v0, 0x38($a1) +.L802412AC: +/* D3B87C 802412AC ACA20038 */ sw $v0, 0x38($a1) +.L802412B0: +/* D3B880 802412B0 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B884 802412B4 24020002 */ addiu $v0, $zero, 2 +/* D3B888 802412B8 03E00008 */ jr $ra +/* D3B88C 802412BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802412C0_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802412C0_D3A5D0.s new file mode 100644 index 0000000000..acfae4aa06 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802412C0_D3A5D0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412C0_D3B890 +/* D3B890 802412C0 3C028025 */ lui $v0, 0x8025 +/* D3B894 802412C4 8C421478 */ lw $v0, 0x1478($v0) +/* D3B898 802412C8 8C42000C */ lw $v0, 0xc($v0) +/* D3B89C 802412CC AC40001C */ sw $zero, 0x1c($v0) +/* D3B8A0 802412D0 03E00008 */ jr $ra +/* D3B8A4 802412D4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802412D8_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802412D8_D3A5D0.s new file mode 100644 index 0000000000..d6a9fd59ec --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802412D8_D3A5D0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412D8_D3B8A8 +/* D3B8A8 802412D8 3C028025 */ lui $v0, 0x8025 +/* D3B8AC 802412DC 8C421478 */ lw $v0, 0x1478($v0) +/* D3B8B0 802412E0 8C43000C */ lw $v1, 0xc($v0) +/* D3B8B4 802412E4 24020001 */ addiu $v0, $zero, 1 +/* D3B8B8 802412E8 AC62001C */ sw $v0, 0x1c($v1) +/* D3B8BC 802412EC 03E00008 */ jr $ra +/* D3B8C0 802412F0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802412F4_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802412F4_D3A5D0.s new file mode 100644 index 0000000000..1ebc073f1f --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802412F4_D3A5D0.s @@ -0,0 +1,10 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F4_D3B8C4 +/* D3B8C4 802412F4 3C028025 */ lui $v0, 0x8025 +/* D3B8C8 802412F8 8C421478 */ lw $v0, 0x1478($v0) +/* D3B8CC 802412FC 8C43000C */ lw $v1, 0xc($v0) +/* D3B8D0 80241300 24020002 */ addiu $v0, $zero, 2 +/* D3B8D4 80241304 03E00008 */ jr $ra +/* D3B8D8 80241308 AC62001C */ sw $v0, 0x1c($v1) diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024130C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024130C_D3A5D0.s new file mode 100644 index 0000000000..1c74a349fd --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024130C_D3A5D0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024130C_D3B8DC +/* D3B8DC 8024130C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3B8E0 80241310 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* D3B8E4 80241314 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* D3B8E8 80241318 3C05FE36 */ lui $a1, 0xfe36 +/* D3B8EC 8024131C AFBF0010 */ sw $ra, 0x10($sp) +/* D3B8F0 80241320 80460075 */ lb $a2, 0x75($v0) +/* D3B8F4 80241324 0C0B2026 */ jal set_variable +/* D3B8F8 80241328 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D3B8FC 8024132C 8FBF0010 */ lw $ra, 0x10($sp) +/* D3B900 80241330 24020002 */ addiu $v0, $zero, 2 +/* D3B904 80241334 03E00008 */ jr $ra +/* D3B908 80241338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_8024133C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_8024133C_D3A5D0.s new file mode 100644 index 0000000000..5f6c8e24cb --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_8024133C_D3A5D0.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024133C_D3B90C +/* D3B90C 8024133C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3B910 80241340 AFB10014 */ sw $s1, 0x14($sp) +/* D3B914 80241344 0080882D */ daddu $s1, $a0, $zero +/* D3B918 80241348 AFBF0018 */ sw $ra, 0x18($sp) +/* D3B91C 8024134C AFB00010 */ sw $s0, 0x10($sp) +/* D3B920 80241350 8E30000C */ lw $s0, 0xc($s1) +/* D3B924 80241354 8E050000 */ lw $a1, ($s0) +/* D3B928 80241358 0C0B1EAF */ jal get_variable +/* D3B92C 8024135C 26100004 */ addiu $s0, $s0, 4 +/* D3B930 80241360 0220202D */ daddu $a0, $s1, $zero +/* D3B934 80241364 8E050000 */ lw $a1, ($s0) +/* D3B938 80241368 0C0B210B */ jal get_float_variable +/* D3B93C 8024136C 0040802D */ daddu $s0, $v0, $zero +/* D3B940 80241370 24020002 */ addiu $v0, $zero, 2 +/* D3B944 80241374 00501804 */ sllv $v1, $s0, $v0 +/* D3B948 80241378 00701821 */ addu $v1, $v1, $s0 +/* D3B94C 8024137C 00431804 */ sllv $v1, $v1, $v0 +/* D3B950 80241380 00701823 */ subu $v1, $v1, $s0 +/* D3B954 80241384 000320C0 */ sll $a0, $v1, 3 +/* D3B958 80241388 00641821 */ addu $v1, $v1, $a0 +/* D3B95C 8024138C 000318C0 */ sll $v1, $v1, 3 +/* D3B960 80241390 3C01800B */ lui $at, 0x800b +/* D3B964 80241394 00230821 */ addu $at, $at, $v1 +/* D3B968 80241398 E4201D98 */ swc1 $f0, 0x1d98($at) +/* D3B96C 8024139C 8FBF0018 */ lw $ra, 0x18($sp) +/* D3B970 802413A0 8FB10014 */ lw $s1, 0x14($sp) +/* D3B974 802413A4 8FB00010 */ lw $s0, 0x10($sp) +/* D3B978 802413A8 03E00008 */ jr $ra +/* D3B97C 802413AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802413B0_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802413B0_D3A5D0.s new file mode 100644 index 0000000000..8f479509d9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802413B0_D3A5D0.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413B0_D3B980 +/* D3B980 802413B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3B984 802413B4 AFB10014 */ sw $s1, 0x14($sp) +/* D3B988 802413B8 0080882D */ daddu $s1, $a0, $zero +/* D3B98C 802413BC AFBF0018 */ sw $ra, 0x18($sp) +/* D3B990 802413C0 AFB00010 */ sw $s0, 0x10($sp) +/* D3B994 802413C4 8E30000C */ lw $s0, 0xc($s1) +/* D3B998 802413C8 8E050000 */ lw $a1, ($s0) +/* D3B99C 802413CC 0C0B1EAF */ jal get_variable +/* D3B9A0 802413D0 26100004 */ addiu $s0, $s0, 4 +/* D3B9A4 802413D4 00021880 */ sll $v1, $v0, 2 +/* D3B9A8 802413D8 00621821 */ addu $v1, $v1, $v0 +/* D3B9AC 802413DC 00031880 */ sll $v1, $v1, 2 +/* D3B9B0 802413E0 00621823 */ subu $v1, $v1, $v0 +/* D3B9B4 802413E4 000310C0 */ sll $v0, $v1, 3 +/* D3B9B8 802413E8 00621821 */ addu $v1, $v1, $v0 +/* D3B9BC 802413EC 000318C0 */ sll $v1, $v1, 3 +/* D3B9C0 802413F0 3C01800B */ lui $at, 0x800b +/* D3B9C4 802413F4 00230821 */ addu $at, $at, $v1 +/* D3B9C8 802413F8 C4221D98 */ lwc1 $f2, 0x1d98($at) +/* D3B9CC 802413FC 3C014480 */ lui $at, 0x4480 +/* D3B9D0 80241400 44810000 */ mtc1 $at, $f0 +/* D3B9D4 80241404 00000000 */ nop +/* D3B9D8 80241408 46001082 */ mul.s $f2, $f2, $f0 +/* D3B9DC 8024140C 00000000 */ nop +/* D3B9E0 80241410 3C01CD5B */ lui $at, 0xcd5b +/* D3B9E4 80241414 34215858 */ ori $at, $at, 0x5858 +/* D3B9E8 80241418 44810000 */ mtc1 $at, $f0 +/* D3B9EC 8024141C 00000000 */ nop +/* D3B9F0 80241420 46001080 */ add.s $f2, $f2, $f0 +/* D3B9F4 80241424 8E050000 */ lw $a1, ($s0) +/* D3B9F8 80241428 4600110D */ trunc.w.s $f4, $f2 +/* D3B9FC 8024142C 44062000 */ mfc1 $a2, $f4 +/* D3BA00 80241430 0C0B2026 */ jal set_variable +/* D3BA04 80241434 0220202D */ daddu $a0, $s1, $zero +/* D3BA08 80241438 8FBF0018 */ lw $ra, 0x18($sp) +/* D3BA0C 8024143C 8FB10014 */ lw $s1, 0x14($sp) +/* D3BA10 80241440 8FB00010 */ lw $s0, 0x10($sp) +/* D3BA14 80241444 24020002 */ addiu $v0, $zero, 2 +/* D3BA18 80241448 03E00008 */ jr $ra +/* D3BA1C 8024144C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241450_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241450_D3A5D0.s new file mode 100644 index 0000000000..546c2ed5db --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241450_D3A5D0.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241450_D3BA20 +/* D3BA20 80241450 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D3BA24 80241454 AFB20018 */ sw $s2, 0x18($sp) +/* D3BA28 80241458 0080902D */ daddu $s2, $a0, $zero +/* D3BA2C 8024145C AFBF0030 */ sw $ra, 0x30($sp) +/* D3BA30 80241460 AFB7002C */ sw $s7, 0x2c($sp) +/* D3BA34 80241464 AFB60028 */ sw $s6, 0x28($sp) +/* D3BA38 80241468 AFB50024 */ sw $s5, 0x24($sp) +/* D3BA3C 8024146C AFB40020 */ sw $s4, 0x20($sp) +/* D3BA40 80241470 AFB3001C */ sw $s3, 0x1c($sp) +/* D3BA44 80241474 AFB10014 */ sw $s1, 0x14($sp) +/* D3BA48 80241478 AFB00010 */ sw $s0, 0x10($sp) +/* D3BA4C 8024147C F7B60040 */ sdc1 $f22, 0x40($sp) +/* D3BA50 80241480 F7B40038 */ sdc1 $f20, 0x38($sp) +/* D3BA54 80241484 8E50000C */ lw $s0, 0xc($s2) +/* D3BA58 80241488 8E050000 */ lw $a1, ($s0) +/* D3BA5C 8024148C 0C0B1EAF */ jal get_variable +/* D3BA60 80241490 26100004 */ addiu $s0, $s0, 4 +/* D3BA64 80241494 8E050000 */ lw $a1, ($s0) +/* D3BA68 80241498 26100004 */ addiu $s0, $s0, 4 +/* D3BA6C 8024149C 0240202D */ daddu $a0, $s2, $zero +/* D3BA70 802414A0 0C0B1EAF */ jal get_variable +/* D3BA74 802414A4 0040B82D */ daddu $s7, $v0, $zero +/* D3BA78 802414A8 8E050000 */ lw $a1, ($s0) +/* D3BA7C 802414AC 26100004 */ addiu $s0, $s0, 4 +/* D3BA80 802414B0 0240202D */ daddu $a0, $s2, $zero +/* D3BA84 802414B4 0C0B1EAF */ jal get_variable +/* D3BA88 802414B8 0040B02D */ daddu $s6, $v0, $zero +/* D3BA8C 802414BC 0240202D */ daddu $a0, $s2, $zero +/* D3BA90 802414C0 3C05F4AC */ lui $a1, 0xf4ac +/* D3BA94 802414C4 34A5D481 */ ori $a1, $a1, 0xd481 +/* D3BA98 802414C8 3C068007 */ lui $a2, %hi(gCurrentCameraID) +/* D3BA9C 802414CC 8CC67410 */ lw $a2, %lo(gCurrentCameraID)($a2) +/* D3BAA0 802414D0 8E140000 */ lw $s4, ($s0) +/* D3BAA4 802414D4 00061880 */ sll $v1, $a2, 2 +/* D3BAA8 802414D8 00661821 */ addu $v1, $v1, $a2 +/* D3BAAC 802414DC 00031880 */ sll $v1, $v1, 2 +/* D3BAB0 802414E0 00661823 */ subu $v1, $v1, $a2 +/* D3BAB4 802414E4 000330C0 */ sll $a2, $v1, 3 +/* D3BAB8 802414E8 00661821 */ addu $v1, $v1, $a2 +/* D3BABC 802414EC 000318C0 */ sll $v1, $v1, 3 +/* D3BAC0 802414F0 3C01800B */ lui $at, 0x800b +/* D3BAC4 802414F4 00230821 */ addu $at, $at, $v1 +/* D3BAC8 802414F8 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* D3BACC 802414FC 8E150004 */ lw $s5, 4($s0) +/* D3BAD0 80241500 4600010D */ trunc.w.s $f4, $f0 +/* D3BAD4 80241504 44112000 */ mfc1 $s1, $f4 +/* D3BAD8 80241508 0C0B1EAF */ jal get_variable +/* D3BADC 8024150C 0040982D */ daddu $s3, $v0, $zero +/* D3BAE0 80241510 4491B000 */ mtc1 $s1, $f22 +/* D3BAE4 80241514 00000000 */ nop +/* D3BAE8 80241518 4680B5A0 */ cvt.s.w $f22, $f22 +/* D3BAEC 8024151C 4600B306 */ mov.s $f12, $f22 +/* D3BAF0 80241520 0C00A8D4 */ jal cos_deg +/* D3BAF4 80241524 0040802D */ daddu $s0, $v0, $zero +/* D3BAF8 80241528 4493A000 */ mtc1 $s3, $f20 +/* D3BAFC 8024152C 00000000 */ nop +/* D3BB00 80241530 4680A520 */ cvt.s.w $f20, $f20 +/* D3BB04 80241534 4600A002 */ mul.s $f0, $f20, $f0 +/* D3BB08 80241538 00000000 */ nop +/* D3BB0C 8024153C 0240202D */ daddu $a0, $s2, $zero +/* D3BB10 80241540 44901000 */ mtc1 $s0, $f2 +/* D3BB14 80241544 00000000 */ nop +/* D3BB18 80241548 468010A0 */ cvt.s.w $f2, $f2 +/* D3BB1C 8024154C 46001081 */ sub.s $f2, $f2, $f0 +/* D3BB20 80241550 3C05F4AC */ lui $a1, 0xf4ac +/* D3BB24 80241554 4600110D */ trunc.w.s $f4, $f2 +/* D3BB28 80241558 44102000 */ mfc1 $s0, $f4 +/* D3BB2C 8024155C 0C0B1EAF */ jal get_variable +/* D3BB30 80241560 34A5D483 */ ori $a1, $a1, 0xd483 +/* D3BB34 80241564 4600B306 */ mov.s $f12, $f22 +/* D3BB38 80241568 0C00A8BB */ jal sin_deg +/* D3BB3C 8024156C 0040882D */ daddu $s1, $v0, $zero +/* D3BB40 80241570 4600A502 */ mul.s $f20, $f20, $f0 +/* D3BB44 80241574 00000000 */ nop +/* D3BB48 80241578 0240202D */ daddu $a0, $s2, $zero +/* D3BB4C 8024157C 44910000 */ mtc1 $s1, $f0 +/* D3BB50 80241580 00000000 */ nop +/* D3BB54 80241584 46800020 */ cvt.s.w $f0, $f0 +/* D3BB58 80241588 46140001 */ sub.s $f0, $f0, $f20 +/* D3BB5C 8024158C 0280282D */ daddu $a1, $s4, $zero +/* D3BB60 80241590 02173023 */ subu $a2, $s0, $s7 +/* D3BB64 80241594 4600010D */ trunc.w.s $f4, $f0 +/* D3BB68 80241598 44102000 */ mfc1 $s0, $f4 +/* D3BB6C 8024159C 0C0B2026 */ jal set_variable +/* D3BB70 802415A0 02168023 */ subu $s0, $s0, $s6 +/* D3BB74 802415A4 0240202D */ daddu $a0, $s2, $zero +/* D3BB78 802415A8 02A0282D */ daddu $a1, $s5, $zero +/* D3BB7C 802415AC 0C0B2026 */ jal set_variable +/* D3BB80 802415B0 0200302D */ daddu $a2, $s0, $zero +/* D3BB84 802415B4 8FBF0030 */ lw $ra, 0x30($sp) +/* D3BB88 802415B8 8FB7002C */ lw $s7, 0x2c($sp) +/* D3BB8C 802415BC 8FB60028 */ lw $s6, 0x28($sp) +/* D3BB90 802415C0 8FB50024 */ lw $s5, 0x24($sp) +/* D3BB94 802415C4 8FB40020 */ lw $s4, 0x20($sp) +/* D3BB98 802415C8 8FB3001C */ lw $s3, 0x1c($sp) +/* D3BB9C 802415CC 8FB20018 */ lw $s2, 0x18($sp) +/* D3BBA0 802415D0 8FB10014 */ lw $s1, 0x14($sp) +/* D3BBA4 802415D4 8FB00010 */ lw $s0, 0x10($sp) +/* D3BBA8 802415D8 D7B60040 */ ldc1 $f22, 0x40($sp) +/* D3BBAC 802415DC D7B40038 */ ldc1 $f20, 0x38($sp) +/* D3BBB0 802415E0 24020002 */ addiu $v0, $zero, 2 +/* D3BBB4 802415E4 03E00008 */ jr $ra +/* D3BBB8 802415E8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802415EC_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802415EC_D3A5D0.s new file mode 100644 index 0000000000..158301533b --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802415EC_D3A5D0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415EC_D3BBBC +/* D3BBBC 802415EC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* D3BBC0 802415F0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* D3BBC4 802415F4 10A00002 */ beqz $a1, .L80241600 +/* D3BBC8 802415F8 2402003C */ addiu $v0, $zero, 0x3c +/* D3BBCC 802415FC AC820070 */ sw $v0, 0x70($a0) +.L80241600: +/* D3BBD0 80241600 C4620080 */ lwc1 $f2, 0x80($v1) +/* D3BBD4 80241604 3C0141F0 */ lui $at, 0x41f0 +/* D3BBD8 80241608 44810000 */ mtc1 $at, $f0 +/* D3BBDC 8024160C 00000000 */ nop +/* D3BBE0 80241610 46001000 */ add.s $f0, $f2, $f0 +/* D3BBE4 80241614 3C0143B4 */ lui $at, 0x43b4 +/* D3BBE8 80241618 44811000 */ mtc1 $at, $f2 +/* D3BBEC 8024161C 00000000 */ nop +/* D3BBF0 80241620 4600103E */ c.le.s $f2, $f0 +/* D3BBF4 80241624 00000000 */ nop +/* D3BBF8 80241628 45000003 */ bc1f .L80241638 +/* D3BBFC 8024162C E4600080 */ swc1 $f0, 0x80($v1) +/* D3BC00 80241630 46020001 */ sub.s $f0, $f0, $f2 +/* D3BC04 80241634 E4600080 */ swc1 $f0, 0x80($v1) +.L80241638: +/* D3BC08 80241638 8C820070 */ lw $v0, 0x70($a0) +/* D3BC0C 8024163C 2442FFFF */ addiu $v0, $v0, -1 +/* D3BC10 80241640 AC820070 */ sw $v0, 0x70($a0) +/* D3BC14 80241644 000217C3 */ sra $v0, $v0, 0x1f +/* D3BC18 80241648 03E00008 */ jr $ra +/* D3BC1C 8024164C 30420002 */ andi $v0, $v0, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241650_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241650_D3A5D0.s new file mode 100644 index 0000000000..1c705acb9e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241650_D3A5D0.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241650_D3BC20 +/* D3BC20 80241650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3BC24 80241654 AFB10014 */ sw $s1, 0x14($sp) +/* D3BC28 80241658 0080882D */ daddu $s1, $a0, $zero +/* D3BC2C 8024165C AFB00010 */ sw $s0, 0x10($sp) +/* D3BC30 80241660 00A0802D */ daddu $s0, $a1, $zero +/* D3BC34 80241664 AFBF0018 */ sw $ra, 0x18($sp) +/* D3BC38 80241668 0C00EABB */ jal get_npc_unsafe +/* D3BC3C 8024166C 2404FFFC */ addiu $a0, $zero, -4 +/* D3BC40 80241670 12000003 */ beqz $s0, .L80241680 +/* D3BC44 80241674 0040182D */ daddu $v1, $v0, $zero +/* D3BC48 80241678 2402003C */ addiu $v0, $zero, 0x3c +/* D3BC4C 8024167C AE220070 */ sw $v0, 0x70($s1) +.L80241680: +/* D3BC50 80241680 C462000C */ lwc1 $f2, 0xc($v1) +/* D3BC54 80241684 3C0141F0 */ lui $at, 0x41f0 +/* D3BC58 80241688 44810000 */ mtc1 $at, $f0 +/* D3BC5C 8024168C 00000000 */ nop +/* D3BC60 80241690 46001000 */ add.s $f0, $f2, $f0 +/* D3BC64 80241694 3C0143B4 */ lui $at, 0x43b4 +/* D3BC68 80241698 44811000 */ mtc1 $at, $f2 +/* D3BC6C 8024169C 00000000 */ nop +/* D3BC70 802416A0 4600103E */ c.le.s $f2, $f0 +/* D3BC74 802416A4 00000000 */ nop +/* D3BC78 802416A8 45000003 */ bc1f .L802416B8 +/* D3BC7C 802416AC E460000C */ swc1 $f0, 0xc($v1) +/* D3BC80 802416B0 46020001 */ sub.s $f0, $f0, $f2 +/* D3BC84 802416B4 E460000C */ swc1 $f0, 0xc($v1) +.L802416B8: +/* D3BC88 802416B8 8E230070 */ lw $v1, 0x70($s1) +/* D3BC8C 802416BC 2463FFFF */ addiu $v1, $v1, -1 +/* D3BC90 802416C0 000317C3 */ sra $v0, $v1, 0x1f +/* D3BC94 802416C4 AE230070 */ sw $v1, 0x70($s1) +/* D3BC98 802416C8 8FBF0018 */ lw $ra, 0x18($sp) +/* D3BC9C 802416CC 8FB10014 */ lw $s1, 0x14($sp) +/* D3BCA0 802416D0 8FB00010 */ lw $s0, 0x10($sp) +/* D3BCA4 802416D4 30420002 */ andi $v0, $v0, 2 +/* D3BCA8 802416D8 03E00008 */ jr $ra +/* D3BCAC 802416DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802416E0_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802416E0_D3A5D0.s new file mode 100644 index 0000000000..9fc9db0881 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802416E0_D3A5D0.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416E0_D3BCB0 +/* D3BCB0 802416E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D3BCB4 802416E4 AFB10014 */ sw $s1, 0x14($sp) +/* D3BCB8 802416E8 0080882D */ daddu $s1, $a0, $zero +/* D3BCBC 802416EC AFB00010 */ sw $s0, 0x10($sp) +/* D3BCC0 802416F0 00A0802D */ daddu $s0, $a1, $zero +/* D3BCC4 802416F4 AFBF001C */ sw $ra, 0x1c($sp) +/* D3BCC8 802416F8 AFB20018 */ sw $s2, 0x18($sp) +/* D3BCCC 802416FC F7B40020 */ sdc1 $f20, 0x20($sp) +/* D3BCD0 80241700 0C00EABB */ jal get_npc_unsafe +/* D3BCD4 80241704 2404FFFC */ addiu $a0, $zero, -4 +/* D3BCD8 80241708 12000017 */ beqz $s0, .L80241768 +/* D3BCDC 8024170C 0040902D */ daddu $s2, $v0, $zero +/* D3BCE0 80241710 0220202D */ daddu $a0, $s1, $zero +/* D3BCE4 80241714 3C05FE36 */ lui $a1, 0xfe36 +/* D3BCE8 80241718 0C0B210B */ jal get_float_variable +/* D3BCEC 8024171C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* D3BCF0 80241720 0220202D */ daddu $a0, $s1, $zero +/* D3BCF4 80241724 3C05FE36 */ lui $a1, 0xfe36 +/* D3BCF8 80241728 3C014270 */ lui $at, 0x4270 +/* D3BCFC 8024172C 4481A000 */ mtc1 $at, $f20 +/* D3BD00 80241730 34A53C85 */ ori $a1, $a1, 0x3c85 +/* D3BD04 80241734 46140003 */ div.s $f0, $f0, $f20 +/* D3BD08 80241738 0C0B210B */ jal get_float_variable +/* D3BD0C 8024173C E6200074 */ swc1 $f0, 0x74($s1) +/* D3BD10 80241740 0220202D */ daddu $a0, $s1, $zero +/* D3BD14 80241744 3C05FE36 */ lui $a1, 0xfe36 +/* D3BD18 80241748 34A53C81 */ ori $a1, $a1, 0x3c81 +/* D3BD1C 8024174C 46140003 */ div.s $f0, $f0, $f20 +/* D3BD20 80241750 0C0B210B */ jal get_float_variable +/* D3BD24 80241754 E6200078 */ swc1 $f0, 0x78($s1) +/* D3BD28 80241758 46140003 */ div.s $f0, $f0, $f20 +/* D3BD2C 8024175C 2402003C */ addiu $v0, $zero, 0x3c +/* D3BD30 80241760 E620007C */ swc1 $f0, 0x7c($s1) +/* D3BD34 80241764 AE220070 */ sw $v0, 0x70($s1) +.L80241768: +/* D3BD38 80241768 C6400038 */ lwc1 $f0, 0x38($s2) +/* D3BD3C 8024176C C6220074 */ lwc1 $f2, 0x74($s1) +/* D3BD40 80241770 46020000 */ add.s $f0, $f0, $f2 +/* D3BD44 80241774 E6400038 */ swc1 $f0, 0x38($s2) +/* D3BD48 80241778 C640003C */ lwc1 $f0, 0x3c($s2) +/* D3BD4C 8024177C C6220078 */ lwc1 $f2, 0x78($s1) +/* D3BD50 80241780 46020000 */ add.s $f0, $f0, $f2 +/* D3BD54 80241784 E640003C */ swc1 $f0, 0x3c($s2) +/* D3BD58 80241788 C6400040 */ lwc1 $f0, 0x40($s2) +/* D3BD5C 8024178C C622007C */ lwc1 $f2, 0x7c($s1) +/* D3BD60 80241790 46020000 */ add.s $f0, $f0, $f2 +/* D3BD64 80241794 E6400040 */ swc1 $f0, 0x40($s2) +/* D3BD68 80241798 8E230070 */ lw $v1, 0x70($s1) +/* D3BD6C 8024179C 2463FFFF */ addiu $v1, $v1, -1 +/* D3BD70 802417A0 2C620001 */ sltiu $v0, $v1, 1 +/* D3BD74 802417A4 AE230070 */ sw $v1, 0x70($s1) +/* D3BD78 802417A8 8FBF001C */ lw $ra, 0x1c($sp) +/* D3BD7C 802417AC 8FB20018 */ lw $s2, 0x18($sp) +/* D3BD80 802417B0 8FB10014 */ lw $s1, 0x14($sp) +/* D3BD84 802417B4 8FB00010 */ lw $s0, 0x10($sp) +/* D3BD88 802417B8 D7B40020 */ ldc1 $f20, 0x20($sp) +/* D3BD8C 802417BC 00021040 */ sll $v0, $v0, 1 +/* D3BD90 802417C0 03E00008 */ jr $ra +/* D3BD94 802417C4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802417C8_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_802417C8_D3A5D0.s new file mode 100644 index 0000000000..0d6ae21bb9 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802417C8_D3A5D0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417C8_D3BD98 +/* D3BD98 802417C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3BD9C 802417CC 3C058025 */ lui $a1, 0x8025 +/* D3BDA0 802417D0 8CA51468 */ lw $a1, 0x1468($a1) +/* D3BDA4 802417D4 AFBF0010 */ sw $ra, 0x10($sp) +/* D3BDA8 802417D8 0C0B1EAF */ jal get_variable +/* D3BDAC 802417DC 0000202D */ daddu $a0, $zero, $zero +/* D3BDB0 802417E0 0040182D */ daddu $v1, $v0, $zero +/* D3BDB4 802417E4 24020001 */ addiu $v0, $zero, 1 +/* D3BDB8 802417E8 14620006 */ bne $v1, $v0, .L80241804 +/* D3BDBC 802417EC 24020002 */ addiu $v0, $zero, 2 +/* D3BDC0 802417F0 44800000 */ mtc1 $zero, $f0 +/* D3BDC4 802417F4 00000000 */ nop +/* D3BDC8 802417F8 44050000 */ mfc1 $a1, $f0 +/* D3BDCC 802417FC 08090607 */ j .L8024181C +/* D3BDD0 80241800 0000202D */ daddu $a0, $zero, $zero +.L80241804: +/* D3BDD4 80241804 14620008 */ bne $v1, $v0, .L80241828 +/* D3BDD8 80241808 24040001 */ addiu $a0, $zero, 1 +/* D3BDDC 8024180C 44800000 */ mtc1 $zero, $f0 +/* D3BDE0 80241810 00000000 */ nop +/* D3BDE4 80241814 44050000 */ mfc1 $a1, $f0 +/* D3BDE8 80241818 00000000 */ nop +.L8024181C: +/* D3BDEC 8024181C 00A0302D */ daddu $a2, $a1, $zero +/* D3BDF0 80241820 0C01C5A4 */ jal func_80071690 +/* D3BDF4 80241824 00A0382D */ daddu $a3, $a1, $zero +.L80241828: +/* D3BDF8 80241828 8FBF0010 */ lw $ra, 0x10($sp) +/* D3BDFC 8024182C 03E00008 */ jr $ra +/* D3BE00 80241830 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241834.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241834.s new file mode 100644 index 0000000000..4f1537ac59 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241834.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241834 +/* D3BE04 80241834 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3BE08 80241838 3C058024 */ lui $a1, 0x8024 +/* D3BE0C 8024183C 24A517C8 */ addiu $a1, $a1, 0x17c8 +/* D3BE10 80241840 AFBF0010 */ sw $ra, 0x10($sp) +/* D3BE14 80241844 0C048C8F */ jal bind_dynamic_entity_7 +/* D3BE18 80241848 0000202D */ daddu $a0, $zero, $zero +/* D3BE1C 8024184C 8FBF0010 */ lw $ra, 0x10($sp) +/* D3BE20 80241850 3C018025 */ lui $at, 0x8025 +/* D3BE24 80241854 AC221450 */ sw $v0, 0x1450($at) +/* D3BE28 80241858 24020002 */ addiu $v0, $zero, 2 +/* D3BE2C 8024185C 03E00008 */ jr $ra +/* D3BE30 80241860 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241864_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241864_D3A5D0.s new file mode 100644 index 0000000000..0fa6de7810 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241864_D3A5D0.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241864_D3BE34 +/* D3BE34 80241864 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3BE38 80241868 AFB00010 */ sw $s0, 0x10($sp) +/* D3BE3C 8024186C 0080802D */ daddu $s0, $a0, $zero +/* D3BE40 80241870 AFBF0014 */ sw $ra, 0x14($sp) +/* D3BE44 80241874 0C00EAD2 */ jal get_npc_safe +/* D3BE48 80241878 24040001 */ addiu $a0, $zero, 1 +/* D3BE4C 8024187C 3C0143EB */ lui $at, 0x43eb +/* D3BE50 80241880 44811000 */ mtc1 $at, $f2 +/* D3BE54 80241884 3C0140A0 */ lui $at, 0x40a0 +/* D3BE58 80241888 44810000 */ mtc1 $at, $f0 +/* D3BE5C 8024188C 0040182D */ daddu $v1, $v0, $zero +/* D3BE60 80241890 AC60003C */ sw $zero, 0x3c($v1) +/* D3BE64 80241894 E4620038 */ swc1 $f2, 0x38($v1) +/* D3BE68 80241898 E4600040 */ swc1 $f0, 0x40($v1) +/* D3BE6C 8024189C E60000AC */ swc1 $f0, 0xac($s0) +/* D3BE70 802418A0 8FBF0014 */ lw $ra, 0x14($sp) +/* D3BE74 802418A4 8FB00010 */ lw $s0, 0x10($sp) +/* D3BE78 802418A8 24020002 */ addiu $v0, $zero, 2 +/* D3BE7C 802418AC 03E00008 */ jr $ra +/* D3BE80 802418B0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_802418B4.s b/asm/nonmatchings/world/area_sam/sam_11/func_802418B4.s new file mode 100644 index 0000000000..6d96bb57a6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_802418B4.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418B4 +/* D3BE84 802418B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D3BE88 802418B8 AFB00010 */ sw $s0, 0x10($sp) +/* D3BE8C 802418BC 0080802D */ daddu $s0, $a0, $zero +/* D3BE90 802418C0 24040001 */ addiu $a0, $zero, 1 +/* D3BE94 802418C4 AFBF001C */ sw $ra, 0x1c($sp) +/* D3BE98 802418C8 AFB20018 */ sw $s2, 0x18($sp) +/* D3BE9C 802418CC 0C00EAD2 */ jal get_npc_safe +/* D3BEA0 802418D0 AFB10014 */ sw $s1, 0x14($sp) +/* D3BEA4 802418D4 0040882D */ daddu $s1, $v0, $zero +/* D3BEA8 802418D8 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* D3BEAC 802418DC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* D3BEB0 802418E0 C60200AC */ lwc1 $f2, 0xac($s0) +/* D3BEB4 802418E4 C6200040 */ lwc1 $f0, 0x40($s1) +/* D3BEB8 802418E8 46001032 */ c.eq.s $f2, $f0 +/* D3BEBC 802418EC 00000000 */ nop +/* D3BEC0 802418F0 45000006 */ bc1f .L8024190C +/* D3BEC4 802418F4 261000AC */ addiu $s0, $s0, 0xac +/* D3BEC8 802418F8 3C03009A */ lui $v1, 0x9a +/* D3BECC 802418FC 8E220028 */ lw $v0, 0x28($s1) +/* D3BED0 80241900 34630001 */ ori $v1, $v1, 1 +/* D3BED4 80241904 54430001 */ bnel $v0, $v1, .L8024190C +/* D3BED8 80241908 AE230028 */ sw $v1, 0x28($s1) +.L8024190C: +/* D3BEDC 8024190C C6020000 */ lwc1 $f2, ($s0) +/* D3BEE0 80241910 C6200040 */ lwc1 $f0, 0x40($s1) +/* D3BEE4 80241914 46001032 */ c.eq.s $f2, $f0 +/* D3BEE8 80241918 00000000 */ nop +/* D3BEEC 8024191C 45030008 */ bc1tl .L80241940 +/* D3BEF0 80241920 E6000000 */ swc1 $f0, ($s0) +/* D3BEF4 80241924 3C03009A */ lui $v1, 0x9a +/* D3BEF8 80241928 8E220028 */ lw $v0, 0x28($s1) +/* D3BEFC 8024192C 34630002 */ ori $v1, $v1, 2 +/* D3BF00 80241930 54430001 */ bnel $v0, $v1, .L80241938 +/* D3BF04 80241934 AE230028 */ sw $v1, 0x28($s1) +.L80241938: +/* D3BF08 80241938 C6200040 */ lwc1 $f0, 0x40($s1) +/* D3BF0C 8024193C E6000000 */ swc1 $f0, ($s0) +.L80241940: +/* D3BF10 80241940 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D3BF14 80241944 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D3BF18 80241948 8E460028 */ lw $a2, 0x28($s2) +/* D3BF1C 8024194C 0C00A7B5 */ jal dist2D +/* D3BF20 80241950 8E470030 */ lw $a3, 0x30($s2) +/* D3BF24 80241954 3C0141F0 */ lui $at, 0x41f0 +/* D3BF28 80241958 44811000 */ mtc1 $at, $f2 +/* D3BF2C 8024195C 00000000 */ nop +/* D3BF30 80241960 4602003C */ c.lt.s $f0, $f2 +/* D3BF34 80241964 00000000 */ nop +/* D3BF38 80241968 4501003A */ bc1t .L80241A54 +/* D3BF3C 8024196C 24020002 */ addiu $v0, $zero, 2 +/* D3BF40 80241970 C62C0038 */ lwc1 $f12, 0x38($s1) +/* D3BF44 80241974 C62E0040 */ lwc1 $f14, 0x40($s1) +/* D3BF48 80241978 8E460028 */ lw $a2, 0x28($s2) +/* D3BF4C 8024197C 0C00A7B5 */ jal dist2D +/* D3BF50 80241980 8E470030 */ lw $a3, 0x30($s2) +/* D3BF54 80241984 3C014302 */ lui $at, 0x4302 +/* D3BF58 80241988 44811000 */ mtc1 $at, $f2 +/* D3BF5C 8024198C 00000000 */ nop +/* D3BF60 80241990 4600103C */ c.lt.s $f2, $f0 +/* D3BF64 80241994 00000000 */ nop +/* D3BF68 80241998 4501002E */ bc1t .L80241A54 +/* D3BF6C 8024199C 24020002 */ addiu $v0, $zero, 2 +/* D3BF70 802419A0 C6420030 */ lwc1 $f2, 0x30($s2) +/* D3BF74 802419A4 3C014248 */ lui $at, 0x4248 +/* D3BF78 802419A8 44812000 */ mtc1 $at, $f4 +/* D3BF7C 802419AC 00000000 */ nop +/* D3BF80 802419B0 4602203C */ c.lt.s $f4, $f2 +/* D3BF84 802419B4 00000000 */ nop +/* D3BF88 802419B8 45000002 */ bc1f .L802419C4 +/* D3BF8C 802419BC 46001006 */ mov.s $f0, $f2 +/* D3BF90 802419C0 46002086 */ mov.s $f2, $f4 +.L802419C4: +/* D3BF94 802419C4 3C01C220 */ lui $at, 0xc220 +/* D3BF98 802419C8 44812000 */ mtc1 $at, $f4 +/* D3BF9C 802419CC 00000000 */ nop +/* D3BFA0 802419D0 4604003C */ c.lt.s $f0, $f4 +/* D3BFA4 802419D4 00000000 */ nop +/* D3BFA8 802419D8 45030001 */ bc1tl .L802419E0 +/* D3BFAC 802419DC 46002086 */ mov.s $f2, $f4 +.L802419E0: +/* D3BFB0 802419E0 C6240040 */ lwc1 $f4, 0x40($s1) +/* D3BFB4 802419E4 4602203E */ c.le.s $f4, $f2 +/* D3BFB8 802419E8 00000000 */ nop +/* D3BFBC 802419EC 4500000B */ bc1f .L80241A1C +/* D3BFC0 802419F0 00000000 */ nop +/* D3BFC4 802419F4 3C014080 */ lui $at, 0x4080 +/* D3BFC8 802419F8 44810000 */ mtc1 $at, $f0 +/* D3BFCC 802419FC 00000000 */ nop +/* D3BFD0 80241A00 46002000 */ add.s $f0, $f4, $f0 +/* D3BFD4 80241A04 4600103C */ c.lt.s $f2, $f0 +/* D3BFD8 80241A08 00000000 */ nop +/* D3BFDC 80241A0C 45000002 */ bc1f .L80241A18 +/* D3BFE0 80241A10 E6200040 */ swc1 $f0, 0x40($s1) +/* D3BFE4 80241A14 E6220040 */ swc1 $f2, 0x40($s1) +.L80241A18: +/* D3BFE8 80241A18 C6240040 */ lwc1 $f4, 0x40($s1) +.L80241A1C: +/* D3BFEC 80241A1C 4604103C */ c.lt.s $f2, $f4 +/* D3BFF0 80241A20 00000000 */ nop +/* D3BFF4 80241A24 4500000B */ bc1f .L80241A54 +/* D3BFF8 80241A28 24020002 */ addiu $v0, $zero, 2 +/* D3BFFC 80241A2C 3C014080 */ lui $at, 0x4080 +/* D3C000 80241A30 44810000 */ mtc1 $at, $f0 +/* D3C004 80241A34 00000000 */ nop +/* D3C008 80241A38 46002001 */ sub.s $f0, $f4, $f0 +/* D3C00C 80241A3C 4602003E */ c.le.s $f0, $f2 +/* D3C010 80241A40 00000000 */ nop +/* D3C014 80241A44 45000003 */ bc1f .L80241A54 +/* D3C018 80241A48 E6200040 */ swc1 $f0, 0x40($s1) +/* D3C01C 80241A4C E6220040 */ swc1 $f2, 0x40($s1) +/* D3C020 80241A50 24020002 */ addiu $v0, $zero, 2 +.L80241A54: +/* D3C024 80241A54 8FBF001C */ lw $ra, 0x1c($sp) +/* D3C028 80241A58 8FB20018 */ lw $s2, 0x18($sp) +/* D3C02C 80241A5C 8FB10014 */ lw $s1, 0x14($sp) +/* D3C030 80241A60 8FB00010 */ lw $s0, 0x10($sp) +/* D3C034 80241A64 03E00008 */ jr $ra +/* D3C038 80241A68 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241A6C_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241A6C_D3A5D0.s new file mode 100644 index 0000000000..8b4e3a82f6 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241A6C_D3A5D0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241A6C_D3C03C +/* D3C03C 80241A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3C040 80241A70 AFBF0010 */ sw $ra, 0x10($sp) +/* D3C044 80241A74 0C04C3D6 */ jal get_item_entity +/* D3C048 80241A78 8C840084 */ lw $a0, 0x84($a0) +/* D3C04C 80241A7C 3C013F19 */ lui $at, 0x3f19 +/* D3C050 80241A80 3421999A */ ori $at, $at, 0x999a +/* D3C054 80241A84 44810000 */ mtc1 $at, $f0 +/* D3C058 80241A88 00000000 */ nop +/* D3C05C 80241A8C E4400030 */ swc1 $f0, 0x30($v0) +/* D3C060 80241A90 8FBF0010 */ lw $ra, 0x10($sp) +/* D3C064 80241A94 24020002 */ addiu $v0, $zero, 2 +/* D3C068 80241A98 03E00008 */ jr $ra +/* D3C06C 80241A9C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241AA0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241AA0.s new file mode 100644 index 0000000000..ee6b9c3bd5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241AA0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241AA0 +/* D3C070 80241AA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3C074 80241AA4 AFB00010 */ sw $s0, 0x10($sp) +/* D3C078 80241AA8 0080802D */ daddu $s0, $a0, $zero +/* D3C07C 80241AAC AFBF0014 */ sw $ra, 0x14($sp) +/* D3C080 80241AB0 8E0300A8 */ lw $v1, 0xa8($s0) +/* D3C084 80241AB4 8E020088 */ lw $v0, 0x88($s0) +/* D3C088 80241AB8 00621821 */ addu $v1, $v1, $v0 +/* D3C08C 80241ABC 04610004 */ bgez $v1, .L80241AD0 +/* D3C090 80241AC0 AE0300A8 */ sw $v1, 0xa8($s0) +/* D3C094 80241AC4 3C020002 */ lui $v0, 2 +/* D3C098 80241AC8 080906B8 */ j .L80241AE0 +/* D3C09C 80241ACC 00621021 */ addu $v0, $v1, $v0 +.L80241AD0: +/* D3C0A0 80241AD0 3C040002 */ lui $a0, 2 +/* D3C0A4 80241AD4 0083102A */ slt $v0, $a0, $v1 +/* D3C0A8 80241AD8 10400002 */ beqz $v0, .L80241AE4 +/* D3C0AC 80241ADC 00641023 */ subu $v0, $v1, $a0 +.L80241AE0: +/* D3C0B0 80241AE0 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241AE4: +/* D3C0B4 80241AE4 8E0300AC */ lw $v1, 0xac($s0) +/* D3C0B8 80241AE8 8E02008C */ lw $v0, 0x8c($s0) +/* D3C0BC 80241AEC 00621821 */ addu $v1, $v1, $v0 +/* D3C0C0 80241AF0 04610004 */ bgez $v1, .L80241B04 +/* D3C0C4 80241AF4 AE0300AC */ sw $v1, 0xac($s0) +/* D3C0C8 80241AF8 3C020002 */ lui $v0, 2 +/* D3C0CC 80241AFC 080906C5 */ j .L80241B14 +/* D3C0D0 80241B00 00621021 */ addu $v0, $v1, $v0 +.L80241B04: +/* D3C0D4 80241B04 3C040002 */ lui $a0, 2 +/* D3C0D8 80241B08 0083102A */ slt $v0, $a0, $v1 +/* D3C0DC 80241B0C 10400002 */ beqz $v0, .L80241B18 +/* D3C0E0 80241B10 00641023 */ subu $v0, $v1, $a0 +.L80241B14: +/* D3C0E4 80241B14 AE0200AC */ sw $v0, 0xac($s0) +.L80241B18: +/* D3C0E8 80241B18 8E0300B0 */ lw $v1, 0xb0($s0) +/* D3C0EC 80241B1C 8E020090 */ lw $v0, 0x90($s0) +/* D3C0F0 80241B20 00621821 */ addu $v1, $v1, $v0 +/* D3C0F4 80241B24 04610004 */ bgez $v1, .L80241B38 +/* D3C0F8 80241B28 AE0300B0 */ sw $v1, 0xb0($s0) +/* D3C0FC 80241B2C 3C020002 */ lui $v0, 2 +/* D3C100 80241B30 080906D2 */ j .L80241B48 +/* D3C104 80241B34 00621021 */ addu $v0, $v1, $v0 +.L80241B38: +/* D3C108 80241B38 3C040002 */ lui $a0, 2 +/* D3C10C 80241B3C 0083102A */ slt $v0, $a0, $v1 +/* D3C110 80241B40 10400002 */ beqz $v0, .L80241B4C +/* D3C114 80241B44 00641023 */ subu $v0, $v1, $a0 +.L80241B48: +/* D3C118 80241B48 AE0200B0 */ sw $v0, 0xb0($s0) +.L80241B4C: +/* D3C11C 80241B4C 8E0300B4 */ lw $v1, 0xb4($s0) +/* D3C120 80241B50 8E020094 */ lw $v0, 0x94($s0) +/* D3C124 80241B54 00621821 */ addu $v1, $v1, $v0 +/* D3C128 80241B58 04610004 */ bgez $v1, .L80241B6C +/* D3C12C 80241B5C AE0300B4 */ sw $v1, 0xb4($s0) +/* D3C130 80241B60 3C020002 */ lui $v0, 2 +/* D3C134 80241B64 080906DF */ j .L80241B7C +/* D3C138 80241B68 00621021 */ addu $v0, $v1, $v0 +.L80241B6C: +/* D3C13C 80241B6C 3C040002 */ lui $a0, 2 +/* D3C140 80241B70 0083102A */ slt $v0, $a0, $v1 +/* D3C144 80241B74 10400002 */ beqz $v0, .L80241B80 +/* D3C148 80241B78 00641023 */ subu $v0, $v1, $a0 +.L80241B7C: +/* D3C14C 80241B7C AE0200B4 */ sw $v0, 0xb4($s0) +.L80241B80: +/* D3C150 80241B80 8E040084 */ lw $a0, 0x84($s0) +/* D3C154 80241B84 0C046F07 */ jal set_main_pan_u +/* D3C158 80241B88 8E0500A8 */ lw $a1, 0xa8($s0) +/* D3C15C 80241B8C 8E040084 */ lw $a0, 0x84($s0) +/* D3C160 80241B90 0C046F0D */ jal set_main_pan_v +/* D3C164 80241B94 8E0500AC */ lw $a1, 0xac($s0) +/* D3C168 80241B98 8E040084 */ lw $a0, 0x84($s0) +/* D3C16C 80241B9C 0C046F13 */ jal set_aux_pan_u +/* D3C170 80241BA0 8E0500B0 */ lw $a1, 0xb0($s0) +/* D3C174 80241BA4 8E040084 */ lw $a0, 0x84($s0) +/* D3C178 80241BA8 0C046F19 */ jal set_aux_pan_v +/* D3C17C 80241BAC 8E0500B4 */ lw $a1, 0xb4($s0) +/* D3C180 80241BB0 8FBF0014 */ lw $ra, 0x14($sp) +/* D3C184 80241BB4 8FB00010 */ lw $s0, 0x10($sp) +/* D3C188 80241BB8 0000102D */ daddu $v0, $zero, $zero +/* D3C18C 80241BBC 03E00008 */ jr $ra +/* D3C190 80241BC0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241BC4_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241BC4_D3A5D0.s new file mode 100644 index 0000000000..c622f87f7e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241BC4_D3A5D0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BC4_D3C194 +/* D3C194 80241BC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D3C198 80241BC8 AFB00010 */ sw $s0, 0x10($sp) +/* D3C19C 80241BCC 0080802D */ daddu $s0, $a0, $zero +/* D3C1A0 80241BD0 10A00005 */ beqz $a1, .L80241BE8 +/* D3C1A4 80241BD4 AFBF0014 */ sw $ra, 0x14($sp) +/* D3C1A8 80241BD8 AE000070 */ sw $zero, 0x70($s0) +/* D3C1AC 80241BDC AE000074 */ sw $zero, 0x74($s0) +/* D3C1B0 80241BE0 AE000078 */ sw $zero, 0x78($s0) +/* D3C1B4 80241BE4 AE00007C */ sw $zero, 0x7c($s0) +.L80241BE8: +/* D3C1B8 80241BE8 8E020070 */ lw $v0, 0x70($s0) +/* D3C1BC 80241BEC 1440000E */ bnez $v0, .L80241C28 +/* D3C1C0 80241BF0 00000000 */ nop +/* D3C1C4 80241BF4 8E0300A8 */ lw $v1, 0xa8($s0) +/* D3C1C8 80241BF8 8E020088 */ lw $v0, 0x88($s0) +/* D3C1CC 80241BFC 00621821 */ addu $v1, $v1, $v0 +/* D3C1D0 80241C00 04610004 */ bgez $v1, .L80241C14 +/* D3C1D4 80241C04 AE0300A8 */ sw $v1, 0xa8($s0) +/* D3C1D8 80241C08 3C020002 */ lui $v0, 2 +/* D3C1DC 80241C0C 08090709 */ j .L80241C24 +/* D3C1E0 80241C10 00621021 */ addu $v0, $v1, $v0 +.L80241C14: +/* D3C1E4 80241C14 3C040002 */ lui $a0, 2 +/* D3C1E8 80241C18 0083102A */ slt $v0, $a0, $v1 +/* D3C1EC 80241C1C 10400002 */ beqz $v0, .L80241C28 +/* D3C1F0 80241C20 00641023 */ subu $v0, $v1, $a0 +.L80241C24: +/* D3C1F4 80241C24 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241C28: +/* D3C1F8 80241C28 8E020074 */ lw $v0, 0x74($s0) +/* D3C1FC 80241C2C 1440000E */ bnez $v0, .L80241C68 +/* D3C200 80241C30 00000000 */ nop +/* D3C204 80241C34 8E0300AC */ lw $v1, 0xac($s0) +/* D3C208 80241C38 8E02008C */ lw $v0, 0x8c($s0) +/* D3C20C 80241C3C 00621821 */ addu $v1, $v1, $v0 +/* D3C210 80241C40 04610004 */ bgez $v1, .L80241C54 +/* D3C214 80241C44 AE0300AC */ sw $v1, 0xac($s0) +/* D3C218 80241C48 3C020002 */ lui $v0, 2 +/* D3C21C 80241C4C 08090719 */ j .L80241C64 +/* D3C220 80241C50 00621021 */ addu $v0, $v1, $v0 +.L80241C54: +/* D3C224 80241C54 3C040002 */ lui $a0, 2 +/* D3C228 80241C58 0083102A */ slt $v0, $a0, $v1 +/* D3C22C 80241C5C 10400002 */ beqz $v0, .L80241C68 +/* D3C230 80241C60 00641023 */ subu $v0, $v1, $a0 +.L80241C64: +/* D3C234 80241C64 AE0200AC */ sw $v0, 0xac($s0) +.L80241C68: +/* D3C238 80241C68 8E020078 */ lw $v0, 0x78($s0) +/* D3C23C 80241C6C 1440000E */ bnez $v0, .L80241CA8 +/* D3C240 80241C70 00000000 */ nop +/* D3C244 80241C74 8E0300B0 */ lw $v1, 0xb0($s0) +/* D3C248 80241C78 8E020090 */ lw $v0, 0x90($s0) +/* D3C24C 80241C7C 00621821 */ addu $v1, $v1, $v0 +/* D3C250 80241C80 04610004 */ bgez $v1, .L80241C94 +/* D3C254 80241C84 AE0300B0 */ sw $v1, 0xb0($s0) +/* D3C258 80241C88 3C020002 */ lui $v0, 2 +/* D3C25C 80241C8C 08090729 */ j .L80241CA4 +/* D3C260 80241C90 00621021 */ addu $v0, $v1, $v0 +.L80241C94: +/* D3C264 80241C94 3C040002 */ lui $a0, 2 +/* D3C268 80241C98 0083102A */ slt $v0, $a0, $v1 +/* D3C26C 80241C9C 10400002 */ beqz $v0, .L80241CA8 +/* D3C270 80241CA0 00641023 */ subu $v0, $v1, $a0 +.L80241CA4: +/* D3C274 80241CA4 AE0200B0 */ sw $v0, 0xb0($s0) +.L80241CA8: +/* D3C278 80241CA8 8E02007C */ lw $v0, 0x7c($s0) +/* D3C27C 80241CAC 1440000E */ bnez $v0, .L80241CE8 +/* D3C280 80241CB0 00000000 */ nop +/* D3C284 80241CB4 8E0300B4 */ lw $v1, 0xb4($s0) +/* D3C288 80241CB8 8E020094 */ lw $v0, 0x94($s0) +/* D3C28C 80241CBC 00621821 */ addu $v1, $v1, $v0 +/* D3C290 80241CC0 04610004 */ bgez $v1, .L80241CD4 +/* D3C294 80241CC4 AE0300B4 */ sw $v1, 0xb4($s0) +/* D3C298 80241CC8 3C020002 */ lui $v0, 2 +/* D3C29C 80241CCC 08090739 */ j .L80241CE4 +/* D3C2A0 80241CD0 00621021 */ addu $v0, $v1, $v0 +.L80241CD4: +/* D3C2A4 80241CD4 3C040002 */ lui $a0, 2 +/* D3C2A8 80241CD8 0083102A */ slt $v0, $a0, $v1 +/* D3C2AC 80241CDC 10400002 */ beqz $v0, .L80241CE8 +/* D3C2B0 80241CE0 00641023 */ subu $v0, $v1, $a0 +.L80241CE4: +/* D3C2B4 80241CE4 AE0200B4 */ sw $v0, 0xb4($s0) +.L80241CE8: +/* D3C2B8 80241CE8 8E040084 */ lw $a0, 0x84($s0) +/* D3C2BC 80241CEC 0C046F07 */ jal set_main_pan_u +/* D3C2C0 80241CF0 8E0500A8 */ lw $a1, 0xa8($s0) +/* D3C2C4 80241CF4 8E040084 */ lw $a0, 0x84($s0) +/* D3C2C8 80241CF8 0C046F0D */ jal set_main_pan_v +/* D3C2CC 80241CFC 8E0500AC */ lw $a1, 0xac($s0) +/* D3C2D0 80241D00 8E040084 */ lw $a0, 0x84($s0) +/* D3C2D4 80241D04 0C046F13 */ jal set_aux_pan_u +/* D3C2D8 80241D08 8E0500B0 */ lw $a1, 0xb0($s0) +/* D3C2DC 80241D0C 8E040084 */ lw $a0, 0x84($s0) +/* D3C2E0 80241D10 0C046F19 */ jal set_aux_pan_v +/* D3C2E4 80241D14 8E0500B4 */ lw $a1, 0xb4($s0) +/* D3C2E8 80241D18 8E020070 */ lw $v0, 0x70($s0) +/* D3C2EC 80241D1C 8E030078 */ lw $v1, 0x78($s0) +/* D3C2F0 80241D20 8E040098 */ lw $a0, 0x98($s0) +/* D3C2F4 80241D24 24420001 */ addiu $v0, $v0, 1 +/* D3C2F8 80241D28 AE020070 */ sw $v0, 0x70($s0) +/* D3C2FC 80241D2C 8E020074 */ lw $v0, 0x74($s0) +/* D3C300 80241D30 24630001 */ addiu $v1, $v1, 1 +/* D3C304 80241D34 AE030078 */ sw $v1, 0x78($s0) +/* D3C308 80241D38 8E030070 */ lw $v1, 0x70($s0) +/* D3C30C 80241D3C 24420001 */ addiu $v0, $v0, 1 +/* D3C310 80241D40 AE020074 */ sw $v0, 0x74($s0) +/* D3C314 80241D44 8E02007C */ lw $v0, 0x7c($s0) +/* D3C318 80241D48 0064182A */ slt $v1, $v1, $a0 +/* D3C31C 80241D4C 24420001 */ addiu $v0, $v0, 1 +/* D3C320 80241D50 14600002 */ bnez $v1, .L80241D5C +/* D3C324 80241D54 AE02007C */ sw $v0, 0x7c($s0) +/* D3C328 80241D58 AE000070 */ sw $zero, 0x70($s0) +.L80241D5C: +/* D3C32C 80241D5C 8E020074 */ lw $v0, 0x74($s0) +/* D3C330 80241D60 8E03009C */ lw $v1, 0x9c($s0) +/* D3C334 80241D64 0043102A */ slt $v0, $v0, $v1 +/* D3C338 80241D68 50400001 */ beql $v0, $zero, .L80241D70 +/* D3C33C 80241D6C AE000074 */ sw $zero, 0x74($s0) +.L80241D70: +/* D3C340 80241D70 8E020078 */ lw $v0, 0x78($s0) +/* D3C344 80241D74 8E0300A0 */ lw $v1, 0xa0($s0) +/* D3C348 80241D78 0043102A */ slt $v0, $v0, $v1 +/* D3C34C 80241D7C 50400001 */ beql $v0, $zero, .L80241D84 +/* D3C350 80241D80 AE000078 */ sw $zero, 0x78($s0) +.L80241D84: +/* D3C354 80241D84 8E02007C */ lw $v0, 0x7c($s0) +/* D3C358 80241D88 8E0300A4 */ lw $v1, 0xa4($s0) +/* D3C35C 80241D8C 0043102A */ slt $v0, $v0, $v1 +/* D3C360 80241D90 50400001 */ beql $v0, $zero, .L80241D98 +/* D3C364 80241D94 AE00007C */ sw $zero, 0x7c($s0) +.L80241D98: +/* D3C368 80241D98 8FBF0014 */ lw $ra, 0x14($sp) +/* D3C36C 80241D9C 8FB00010 */ lw $s0, 0x10($sp) +/* D3C370 80241DA0 0000102D */ daddu $v0, $zero, $zero +/* D3C374 80241DA4 03E00008 */ jr $ra +/* D3C378 80241DA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241DAC_D3A5D0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241DAC_D3A5D0.s new file mode 100644 index 0000000000..279ac4baf8 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241DAC_D3A5D0.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DAC_D3C37C +/* D3C37C 80241DAC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* D3C380 80241DB0 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* D3C384 80241DB4 4480E000 */ mtc1 $zero, $f28 +/* D3C388 80241DB8 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* D3C38C 80241DBC 3C018025 */ lui $at, 0x8025 +/* D3C390 80241DC0 D43A1430 */ ldc1 $f26, 0x1430($at) +/* D3C394 80241DC4 AFB1001C */ sw $s1, 0x1c($sp) +/* D3C398 80241DC8 0000882D */ daddu $s1, $zero, $zero +/* D3C39C 80241DCC AFB20020 */ sw $s2, 0x20($sp) +/* D3C3A0 80241DD0 0220902D */ daddu $s2, $s1, $zero +/* D3C3A4 80241DD4 AFBF0024 */ sw $ra, 0x24($sp) +/* D3C3A8 80241DD8 AFB00018 */ sw $s0, 0x18($sp) +/* D3C3AC 80241DDC F7B80038 */ sdc1 $f24, 0x38($sp) +/* D3C3B0 80241DE0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* D3C3B4 80241DE4 F7B40028 */ sdc1 $f20, 0x28($sp) +.L80241DE8: +/* D3C3B8 80241DE8 3C022AAA */ lui $v0, 0x2aaa +/* D3C3BC 80241DEC 3442AAAB */ ori $v0, $v0, 0xaaab +/* D3C3C0 80241DF0 02220018 */ mult $s1, $v0 +/* D3C3C4 80241DF4 001127C3 */ sra $a0, $s1, 0x1f +/* D3C3C8 80241DF8 00004010 */ mfhi $t0 +/* D3C3CC 80241DFC 01042023 */ subu $a0, $t0, $a0 +/* D3C3D0 80241E00 00041840 */ sll $v1, $a0, 1 +/* D3C3D4 80241E04 00641821 */ addu $v1, $v1, $a0 +/* D3C3D8 80241E08 00031840 */ sll $v1, $v1, 1 +/* D3C3DC 80241E0C 02231823 */ subu $v1, $s1, $v1 +/* D3C3E0 80241E10 00031080 */ sll $v0, $v1, 2 +/* D3C3E4 80241E14 00431021 */ addu $v0, $v0, $v1 +/* D3C3E8 80241E18 000210C0 */ sll $v0, $v0, 3 +/* D3C3EC 80241E1C 2442FF9C */ addiu $v0, $v0, -0x64 +/* D3C3F0 80241E20 4482C000 */ mtc1 $v0, $f24 +/* D3C3F4 80241E24 00000000 */ nop +/* D3C3F8 80241E28 4680C620 */ cvt.s.w $f24, $f24 +/* D3C3FC 80241E2C 4600C1A1 */ cvt.d.s $f6, $f24 +/* D3C400 80241E30 463A3182 */ mul.d $f6, $f6, $f26 +/* D3C404 80241E34 00000000 */ nop +/* D3C408 80241E38 00041080 */ sll $v0, $a0, 2 +/* D3C40C 80241E3C 00441021 */ addu $v0, $v0, $a0 +/* D3C410 80241E40 000210C0 */ sll $v0, $v0, 3 +/* D3C414 80241E44 2442FF9C */ addiu $v0, $v0, -0x64 +/* D3C418 80241E48 4482B000 */ mtc1 $v0, $f22 +/* D3C41C 80241E4C 00000000 */ nop +/* D3C420 80241E50 4680B5A0 */ cvt.s.w $f22, $f22 +/* D3C424 80241E54 4600B121 */ cvt.d.s $f4, $f22 +/* D3C428 80241E58 463A2102 */ mul.d $f4, $f4, $f26 +/* D3C42C 80241E5C 00000000 */ nop +/* D3C430 80241E60 3C013FF0 */ lui $at, 0x3ff0 +/* D3C434 80241E64 44811800 */ mtc1 $at, $f3 +/* D3C438 80241E68 44801000 */ mtc1 $zero, $f2 +/* D3C43C 80241E6C 32220003 */ andi $v0, $s1, 3 +/* D3C440 80241E70 44820000 */ mtc1 $v0, $f0 +/* D3C444 80241E74 00000000 */ nop +/* D3C448 80241E78 46800021 */ cvt.d.w $f0, $f0 +/* D3C44C 80241E7C 46220000 */ add.d $f0, $f0, $f2 +/* D3C450 80241E80 4480A000 */ mtc1 $zero, $f20 +/* D3C454 80241E84 3C06C120 */ lui $a2, 0xc120 +/* D3C458 80241E88 46200000 */ add.d $f0, $f0, $f0 +/* D3C45C 80241E8C 32240001 */ andi $a0, $s1, 1 +/* D3C460 80241E90 00021080 */ sll $v0, $v0, 2 +/* D3C464 80241E94 4614C080 */ add.s $f2, $f24, $f20 +/* D3C468 80241E98 46200020 */ cvt.s.d $f0, $f0 +/* D3C46C 80241E9C E7A00010 */ swc1 $f0, 0x10($sp) +/* D3C470 80241EA0 3C01437A */ lui $at, 0x437a +/* D3C474 80241EA4 44810000 */ mtc1 $at, $f0 +/* D3C478 80241EA8 2442001E */ addiu $v0, $v0, 0x1e +/* D3C47C 80241EAC AFA20014 */ sw $v0, 0x14($sp) +/* D3C480 80241EB0 4600B000 */ add.s $f0, $f22, $f0 +/* D3C484 80241EB4 44051000 */ mfc1 $a1, $f2 +/* D3C488 80241EB8 46203620 */ cvt.s.d $f24, $f6 +/* D3C48C 80241EBC 44070000 */ mfc1 $a3, $f0 +/* D3C490 80241EC0 0C01C994 */ jal func_80072650 +/* D3C494 80241EC4 462025A0 */ cvt.s.d $f22, $f4 +/* D3C498 80241EC8 0040802D */ daddu $s0, $v0, $zero +/* D3C49C 80241ECC 8E02000C */ lw $v0, 0xc($s0) +/* D3C4A0 80241ED0 2404000A */ addiu $a0, $zero, 0xa +/* D3C4A4 80241ED4 0C00A67F */ jal rand_int +/* D3C4A8 80241ED8 E45C0044 */ swc1 $f28, 0x44($v0) +/* D3C4AC 80241EDC 3C018025 */ lui $at, 0x8025 +/* D3C4B0 80241EE0 D4221438 */ ldc1 $f2, 0x1438($at) +/* D3C4B4 80241EE4 44820000 */ mtc1 $v0, $f0 +/* D3C4B8 80241EE8 00000000 */ nop +/* D3C4BC 80241EEC 46800021 */ cvt.d.w $f0, $f0 +/* D3C4C0 80241EF0 46220002 */ mul.d $f0, $f0, $f2 +/* D3C4C4 80241EF4 00000000 */ nop +/* D3C4C8 80241EF8 2404000A */ addiu $a0, $zero, 0xa +/* D3C4CC 80241EFC 463A0000 */ add.d $f0, $f0, $f26 +/* D3C4D0 80241F00 3C014080 */ lui $at, 0x4080 +/* D3C4D4 80241F04 4481A000 */ mtc1 $at, $f20 +/* D3C4D8 80241F08 8E02000C */ lw $v0, 0xc($s0) +/* D3C4DC 80241F0C 46200020 */ cvt.s.d $f0, $f0 +/* D3C4E0 80241F10 E4400048 */ swc1 $f0, 0x48($v0) +/* D3C4E4 80241F14 8E02000C */ lw $v0, 0xc($s0) +/* D3C4E8 80241F18 44920000 */ mtc1 $s2, $f0 +/* D3C4EC 80241F1C 00000000 */ nop +/* D3C4F0 80241F20 46800020 */ cvt.s.w $f0, $f0 +/* D3C4F4 80241F24 0C00A67F */ jal rand_int +/* D3C4F8 80241F28 E440003C */ swc1 $f0, 0x3c($v0) +/* D3C4FC 80241F2C 2442FFFB */ addiu $v0, $v0, -5 +/* D3C500 80241F30 8E03000C */ lw $v1, 0xc($s0) +/* D3C504 80241F34 44820000 */ mtc1 $v0, $f0 +/* D3C508 80241F38 00000000 */ nop +/* D3C50C 80241F3C 46800020 */ cvt.s.w $f0, $f0 +/* D3C510 80241F40 E4600040 */ swc1 $f0, 0x40($v1) +/* D3C514 80241F44 8E02000C */ lw $v0, 0xc($s0) +/* D3C518 80241F48 3C01BDCC */ lui $at, 0xbdcc +/* D3C51C 80241F4C 3421CCCD */ ori $at, $at, 0xcccd +/* D3C520 80241F50 44810000 */ mtc1 $at, $f0 +/* D3C524 80241F54 E458004C */ swc1 $f24, 0x4c($v0) +/* D3C528 80241F58 8E02000C */ lw $v0, 0xc($s0) +/* D3C52C 80241F5C E4540050 */ swc1 $f20, 0x50($v0) +/* D3C530 80241F60 8E02000C */ lw $v0, 0xc($s0) +/* D3C534 80241F64 26310001 */ addiu $s1, $s1, 1 +/* D3C538 80241F68 E4560054 */ swc1 $f22, 0x54($v0) +/* D3C53C 80241F6C 8E02000C */ lw $v0, 0xc($s0) +/* D3C540 80241F70 E4400058 */ swc1 $f0, 0x58($v0) +/* D3C544 80241F74 2A220018 */ slti $v0, $s1, 0x18 +/* D3C548 80241F78 1440FF9B */ bnez $v0, .L80241DE8 +/* D3C54C 80241F7C 26520023 */ addiu $s2, $s2, 0x23 +/* D3C550 80241F80 8FBF0024 */ lw $ra, 0x24($sp) +/* D3C554 80241F84 8FB20020 */ lw $s2, 0x20($sp) +/* D3C558 80241F88 8FB1001C */ lw $s1, 0x1c($sp) +/* D3C55C 80241F8C 8FB00018 */ lw $s0, 0x18($sp) +/* D3C560 80241F90 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* D3C564 80241F94 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* D3C568 80241F98 D7B80038 */ ldc1 $f24, 0x38($sp) +/* D3C56C 80241F9C D7B60030 */ ldc1 $f22, 0x30($sp) +/* D3C570 80241FA0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* D3C574 80241FA4 24020002 */ addiu $v0, $zero, 2 +/* D3C578 80241FA8 03E00008 */ jr $ra +/* D3C57C 80241FAC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241FB0.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241FB0.s new file mode 100644 index 0000000000..0b3a1e1f0c --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241FB0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FB0 +/* D3C580 80241FB0 3C058016 */ lui $a1, 0x8016 +/* D3C584 80241FB4 24A5A550 */ addiu $a1, $a1, -0x5ab0 +/* D3C588 80241FB8 AC8000AC */ sw $zero, 0xac($a0) +/* D3C58C 80241FBC 84A20002 */ lh $v0, 2($a1) +/* D3C590 80241FC0 24030040 */ addiu $v1, $zero, 0x40 +/* D3C594 80241FC4 14430002 */ bne $v0, $v1, .L80241FD0 +/* D3C598 80241FC8 24020001 */ addiu $v0, $zero, 1 +/* D3C59C 80241FCC AC8200AC */ sw $v0, 0xac($a0) +.L80241FD0: +/* D3C5A0 80241FD0 84A20004 */ lh $v0, 4($a1) +/* D3C5A4 80241FD4 14430002 */ bne $v0, $v1, .L80241FE0 +/* D3C5A8 80241FD8 24020001 */ addiu $v0, $zero, 1 +/* D3C5AC 80241FDC AC8200AC */ sw $v0, 0xac($a0) +.L80241FE0: +/* D3C5B0 80241FE0 03E00008 */ jr $ra +/* D3C5B4 80241FE4 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80241FE8.s b/asm/nonmatchings/world/area_sam/sam_11/func_80241FE8.s new file mode 100644 index 0000000000..9a730843c2 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80241FE8.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FE8 +/* D3C5B8 80241FE8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* D3C5BC 80241FEC AFB00028 */ sw $s0, 0x28($sp) +/* D3C5C0 80241FF0 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* D3C5C4 80241FF4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* D3C5C8 80241FF8 27A20024 */ addiu $v0, $sp, 0x24 +/* D3C5CC 80241FFC 0000202D */ daddu $a0, $zero, $zero +/* D3C5D0 80242000 27A50018 */ addiu $a1, $sp, 0x18 +/* D3C5D4 80242004 27A6001C */ addiu $a2, $sp, 0x1c +/* D3C5D8 80242008 AFBF002C */ sw $ra, 0x2c($sp) +/* D3C5DC 8024200C C6000028 */ lwc1 $f0, 0x28($s0) +/* D3C5E0 80242010 3C014120 */ lui $at, 0x4120 +/* D3C5E4 80242014 44811000 */ mtc1 $at, $f2 +/* D3C5E8 80242018 3C014220 */ lui $at, 0x4220 +/* D3C5EC 8024201C 44813000 */ mtc1 $at, $f6 +/* D3C5F0 80242020 27A70020 */ addiu $a3, $sp, 0x20 +/* D3C5F4 80242024 E7A00018 */ swc1 $f0, 0x18($sp) +/* D3C5F8 80242028 C600002C */ lwc1 $f0, 0x2c($s0) +/* D3C5FC 8024202C C6040030 */ lwc1 $f4, 0x30($s0) +/* D3C600 80242030 46020000 */ add.s $f0, $f0, $f2 +/* D3C604 80242034 E7A60024 */ swc1 $f6, 0x24($sp) +/* D3C608 80242038 E7A40020 */ swc1 $f4, 0x20($sp) +/* D3C60C 8024203C E7A0001C */ swc1 $f0, 0x1c($sp) +/* D3C610 80242040 0C0372DF */ jal func_800DCB7C +/* D3C614 80242044 AFA20010 */ sw $v0, 0x10($sp) +/* D3C618 80242048 C7A00018 */ lwc1 $f0, 0x18($sp) +/* D3C61C 8024204C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* D3C620 80242050 C7A40020 */ lwc1 $f4, 0x20($sp) +/* D3C624 80242054 E6000028 */ swc1 $f0, 0x28($s0) +/* D3C628 80242058 E602002C */ swc1 $f2, 0x2c($s0) +/* D3C62C 8024205C E6040030 */ swc1 $f4, 0x30($s0) +/* D3C630 80242060 8FBF002C */ lw $ra, 0x2c($sp) +/* D3C634 80242064 8FB00028 */ lw $s0, 0x28($sp) +/* D3C638 80242068 24020002 */ addiu $v0, $zero, 2 +/* D3C63C 8024206C 03E00008 */ jr $ra +/* D3C640 80242070 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sam/sam_11/func_80242074.s b/asm/nonmatchings/world/area_sam/sam_11/func_80242074.s new file mode 100644 index 0000000000..d3ab6cd9e5 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_11/func_80242074.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242074 +/* D3C644 80242074 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* D3C648 80242078 AFB20038 */ sw $s2, 0x38($sp) +/* D3C64C 8024207C 0080902D */ daddu $s2, $a0, $zero +/* D3C650 80242080 AFBF003C */ sw $ra, 0x3c($sp) +/* D3C654 80242084 AFB10034 */ sw $s1, 0x34($sp) +/* D3C658 80242088 AFB00030 */ sw $s0, 0x30($sp) +/* D3C65C 8024208C F7B40040 */ sdc1 $f20, 0x40($sp) +/* D3C660 80242090 8E51000C */ lw $s1, 0xc($s2) +/* D3C664 80242094 0C00EAD2 */ jal get_npc_safe +/* D3C668 80242098 2404FFFC */ addiu $a0, $zero, -4 +/* D3C66C 8024209C 2410FFFF */ addiu $s0, $zero, -1 +/* D3C670 802420A0 3C038016 */ lui $v1, 0x8016 +/* D3C674 802420A4 8463A568 */ lh $v1, -0x5a98($v1) +/* D3C678 802420A8 04600025 */ bltz $v1, .L80242140 +/* D3C67C 802420AC 0040202D */ daddu $a0, $v0, $zero +/* D3C680 802420B0 3C014130 */ lui $at, 0x4130 +/* D3C684 802420B4 44812000 */ mtc1 $at, $f4 +/* D3C688 802420B8 C4800038 */ lwc1 $f0, 0x38($a0) +/* D3C68C 802420BC 3C014140 */ lui $at, 0x4140 +/* D3C690 802420C0 4481A000 */ mtc1 $at, $f20 +/* D3C694 802420C4 27A2002C */ addiu $v0, $sp, 0x2c +/* D3C698 802420C8 E7A4002C */ swc1 $f4, 0x2c($sp) +/* D3C69C 802420CC E7A00020 */ swc1 $f0, 0x20($sp) +/* D3C6A0 802420D0 C480003C */ lwc1 $f0, 0x3c($a0) +/* D3C6A4 802420D4 C4820040 */ lwc1 $f2, 0x40($a0) +/* D3C6A8 802420D8 46040000 */ add.s $f0, $f0, $f4 +/* D3C6AC 802420DC E7B4002C */ swc1 $f20, 0x2c($sp) +/* D3C6B0 802420E0 E7A20028 */ swc1 $f2, 0x28($sp) +/* D3C6B4 802420E4 E7A00024 */ swc1 $f0, 0x24($sp) +/* D3C6B8 802420E8 AFA20010 */ sw $v0, 0x10($sp) +/* D3C6BC 802420EC C480000C */ lwc1 $f0, 0xc($a0) +/* D3C6C0 802420F0 27A50020 */ addiu $a1, $sp, 0x20 +/* D3C6C4 802420F4 E7A00014 */ swc1 $f0, 0x14($sp) +/* D3C6C8 802420F8 848200A6 */ lh $v0, 0xa6($a0) +/* D3C6CC 802420FC 27A60024 */ addiu $a2, $sp, 0x24 +/* D3C6D0 80242100 44820000 */ mtc1 $v0, $f0 +/* D3C6D4 80242104 00000000 */ nop +/* D3C6D8 80242108 46800020 */ cvt.s.w $f0, $f0 +/* D3C6DC 8024210C E7A00018 */ swc1 $f0, 0x18($sp) +/* D3C6E0 80242110 8C840080 */ lw $a0, 0x80($a0) +/* D3C6E4 80242114 0C0371DE */ jal func_800DC778 +/* D3C6E8 80242118 27A70028 */ addiu $a3, $sp, 0x28 +/* D3C6EC 8024211C 10400009 */ beqz $v0, .L80242144 +/* D3C6F0 80242120 0240202D */ daddu $a0, $s2, $zero +/* D3C6F4 80242124 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* D3C6F8 80242128 4614003E */ c.le.s $f0, $f20 +/* D3C6FC 8024212C 00000000 */ nop +/* D3C700 80242130 45000004 */ bc1f .L80242144 +/* D3C704 80242134 00000000 */ nop +/* D3C708 80242138 3C108011 */ lui $s0, 0x8011 +/* D3C70C 8024213C 8E10C978 */ lw $s0, -0x3688($s0) +.L80242140: +/* D3C710 80242140 0240202D */ daddu $a0, $s2, $zero +.L80242144: +/* D3C714 80242144 8E250000 */ lw $a1, ($s1) +/* D3C718 80242148 0C0B2026 */ jal set_variable +/* D3C71C 8024214C 0200302D */ daddu $a2, $s0, $zero +/* D3C720 80242150 8FBF003C */ lw $ra, 0x3c($sp) +/* D3C724 80242154 8FB20038 */ lw $s2, 0x38($sp) +/* D3C728 80242158 8FB10034 */ lw $s1, 0x34($sp) +/* D3C72C 8024215C 8FB00030 */ lw $s0, 0x30($sp) +/* D3C730 80242160 D7B40040 */ ldc1 $f20, 0x40($sp) +/* D3C734 80242164 24020002 */ addiu $v0, $zero, 2 +/* D3C738 80242168 03E00008 */ jr $ra +/* D3C73C 8024216C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sam/sam_12/func_80240000_D4BA20.s b/asm/nonmatchings/world/area_sam/sam_12/func_80240000_D4BA20.s new file mode 100644 index 0000000000..31c47af315 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_12/func_80240000_D4BA20.s @@ -0,0 +1,41 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_D4BA20 +/* D4BA20 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* D4BA24 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* D4BA28 80240008 0080882D */ daddu $s1, $a0, $zero +/* D4BA2C 8024000C AFBF0018 */ sw $ra, 0x18($sp) +/* D4BA30 80240010 10A00005 */ beqz $a1, .L80240028 +/* D4BA34 80240014 AFB00010 */ sw $s0, 0x10($sp) +/* D4BA38 80240018 8E24014C */ lw $a0, 0x14c($s1) +/* D4BA3C 8024001C 0C00EAD2 */ jal get_npc_safe +/* D4BA40 80240020 AE200074 */ sw $zero, 0x74($s1) +/* D4BA44 80240024 AE220078 */ sw $v0, 0x78($s1) +.L80240028: +/* D4BA48 80240028 C62C0074 */ lwc1 $f12, 0x74($s1) +/* D4BA4C 8024002C 0C00A8BB */ jal sin_deg +/* D4BA50 80240030 8E300078 */ lw $s0, 0x78($s1) +/* D4BA54 80240034 3C0140A0 */ lui $at, 0x40a0 +/* D4BA58 80240038 44811000 */ mtc1 $at, $f2 +/* D4BA5C 8024003C 00000000 */ nop +/* D4BA60 80240040 46020002 */ mul.s $f0, $f0, $f2 +/* D4BA64 80240044 00000000 */ nop +/* D4BA68 80240048 3C014090 */ lui $at, 0x4090 +/* D4BA6C 8024004C 44816000 */ mtc1 $at, $f12 +/* D4BA70 80240050 4600010D */ trunc.w.s $f4, $f0 +/* D4BA74 80240054 44022000 */ mfc1 $v0, $f4 +/* D4BA78 80240058 00000000 */ nop +/* D4BA7C 8024005C A20200AB */ sb $v0, 0xab($s0) +/* D4BA80 80240060 C6200074 */ lwc1 $f0, 0x74($s1) +/* D4BA84 80240064 0C00A6C9 */ jal clamp_angle +/* D4BA88 80240068 460C0300 */ add.s $f12, $f0, $f12 +/* D4BA8C 8024006C E6200074 */ swc1 $f0, 0x74($s1) +/* D4BA90 80240070 8FBF0018 */ lw $ra, 0x18($sp) +/* D4BA94 80240074 8FB10014 */ lw $s1, 0x14($sp) +/* D4BA98 80240078 8FB00010 */ lw $s0, 0x10($sp) +/* D4BA9C 8024007C 0000102D */ daddu $v0, $zero, $zero +/* D4BAA0 80240080 03E00008 */ jr $ra +/* D4BAA4 80240084 27BD0020 */ addiu $sp, $sp, 0x20 +/* D4BAA8 80240088 00000000 */ nop +/* D4BAAC 8024008C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sam/sam_12/func_80240090_D4BA20.s b/asm/nonmatchings/world/area_sam/sam_12/func_80240090_D4BA20.s new file mode 100644 index 0000000000..c1bf957128 --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_12/func_80240090_D4BA20.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240090_D4BAB0 +/* D4BAB0 80240090 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* D4BAB4 80240094 AFBF0010 */ sw $ra, 0x10($sp) +/* D4BAB8 80240098 8C82000C */ lw $v0, 0xc($a0) +/* D4BABC 8024009C 0C0B210B */ jal get_float_variable +/* D4BAC0 802400A0 8C450000 */ lw $a1, ($v0) +/* D4BAC4 802400A4 44050000 */ mfc1 $a1, $f0 +/* D4BAC8 802400A8 0C04DF62 */ jal func_80137D88 +/* D4BACC 802400AC 0000202D */ daddu $a0, $zero, $zero +/* D4BAD0 802400B0 8FBF0010 */ lw $ra, 0x10($sp) +/* D4BAD4 802400B4 24020002 */ addiu $v0, $zero, 2 +/* D4BAD8 802400B8 03E00008 */ jr $ra +/* D4BADC 802400BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sam/sam_12/func_802400C0_D4BA20.s b/asm/nonmatchings/world/area_sam/sam_12/func_802400C0_D4BA20.s new file mode 100644 index 0000000000..6de785ae0e --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_12/func_802400C0_D4BA20.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C0_D4BAE0 +/* D4BAE0 802400C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D4BAE4 802400C4 AFB10014 */ sw $s1, 0x14($sp) +/* D4BAE8 802400C8 0080882D */ daddu $s1, $a0, $zero +/* D4BAEC 802400CC AFBF0020 */ sw $ra, 0x20($sp) +/* D4BAF0 802400D0 AFB3001C */ sw $s3, 0x1c($sp) +/* D4BAF4 802400D4 AFB20018 */ sw $s2, 0x18($sp) +/* D4BAF8 802400D8 AFB00010 */ sw $s0, 0x10($sp) +/* D4BAFC 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* D4BB00 802400E0 8E050000 */ lw $a1, ($s0) +/* D4BB04 802400E4 0C0B1EAF */ jal get_variable +/* D4BB08 802400E8 26100004 */ addiu $s0, $s0, 4 +/* D4BB0C 802400EC 8E050000 */ lw $a1, ($s0) +/* D4BB10 802400F0 26100004 */ addiu $s0, $s0, 4 +/* D4BB14 802400F4 0220202D */ daddu $a0, $s1, $zero +/* D4BB18 802400F8 0C0B210B */ jal get_float_variable +/* D4BB1C 802400FC 0040982D */ daddu $s3, $v0, $zero +/* D4BB20 80240100 8E050000 */ lw $a1, ($s0) +/* D4BB24 80240104 26100004 */ addiu $s0, $s0, 4 +/* D4BB28 80240108 4600008D */ trunc.w.s $f2, $f0 +/* D4BB2C 8024010C 44121000 */ mfc1 $s2, $f2 +/* D4BB30 80240110 0C0B210B */ jal get_float_variable +/* D4BB34 80240114 0220202D */ daddu $a0, $s1, $zero +/* D4BB38 80240118 0220202D */ daddu $a0, $s1, $zero +/* D4BB3C 8024011C 8E050000 */ lw $a1, ($s0) +/* D4BB40 80240120 4600008D */ trunc.w.s $f2, $f0 +/* D4BB44 80240124 44111000 */ mfc1 $s1, $f2 +/* D4BB48 80240128 0C0B210B */ jal get_float_variable +/* D4BB4C 8024012C 00000000 */ nop +/* D4BB50 80240130 4600008D */ trunc.w.s $f2, $f0 +/* D4BB54 80240134 44101000 */ mfc1 $s0, $f2 +/* D4BB58 80240138 0C04C3D6 */ jal get_item_entity +/* D4BB5C 8024013C 0260202D */ daddu $a0, $s3, $zero +/* D4BB60 80240140 0040182D */ daddu $v1, $v0, $zero +/* D4BB64 80240144 44920000 */ mtc1 $s2, $f0 +/* D4BB68 80240148 00000000 */ nop +/* D4BB6C 8024014C 46800020 */ cvt.s.w $f0, $f0 +/* D4BB70 80240150 E4600008 */ swc1 $f0, 8($v1) +/* D4BB74 80240154 44910000 */ mtc1 $s1, $f0 +/* D4BB78 80240158 00000000 */ nop +/* D4BB7C 8024015C 46800020 */ cvt.s.w $f0, $f0 +/* D4BB80 80240160 E460000C */ swc1 $f0, 0xc($v1) +/* D4BB84 80240164 44900000 */ mtc1 $s0, $f0 +/* D4BB88 80240168 00000000 */ nop +/* D4BB8C 8024016C 46800020 */ cvt.s.w $f0, $f0 +/* D4BB90 80240170 E4600010 */ swc1 $f0, 0x10($v1) +/* D4BB94 80240174 8FBF0020 */ lw $ra, 0x20($sp) +/* D4BB98 80240178 8FB3001C */ lw $s3, 0x1c($sp) +/* D4BB9C 8024017C 8FB20018 */ lw $s2, 0x18($sp) +/* D4BBA0 80240180 8FB10014 */ lw $s1, 0x14($sp) +/* D4BBA4 80240184 8FB00010 */ lw $s0, 0x10($sp) +/* D4BBA8 80240188 24020002 */ addiu $v0, $zero, 2 +/* D4BBAC 8024018C 03E00008 */ jr $ra +/* D4BBB0 80240190 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_12/func_80240194_D4BA20.s b/asm/nonmatchings/world/area_sam/sam_12/func_80240194_D4BA20.s new file mode 100644 index 0000000000..6935f1dd2a --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_12/func_80240194_D4BA20.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240194_D4BBB4 +/* D4BBB4 80240194 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* D4BBB8 80240198 AFB1001C */ sw $s1, 0x1c($sp) +/* D4BBBC 8024019C 0080882D */ daddu $s1, $a0, $zero +/* D4BBC0 802401A0 AFBF0024 */ sw $ra, 0x24($sp) +/* D4BBC4 802401A4 AFB20020 */ sw $s2, 0x20($sp) +/* D4BBC8 802401A8 AFB00018 */ sw $s0, 0x18($sp) +/* D4BBCC 802401AC 8E30000C */ lw $s0, 0xc($s1) +/* D4BBD0 802401B0 8E050000 */ lw $a1, ($s0) +/* D4BBD4 802401B4 0C0B1EAF */ jal get_variable +/* D4BBD8 802401B8 26100004 */ addiu $s0, $s0, 4 +/* D4BBDC 802401BC 8E050000 */ lw $a1, ($s0) +/* D4BBE0 802401C0 26100004 */ addiu $s0, $s0, 4 +/* D4BBE4 802401C4 0220202D */ daddu $a0, $s1, $zero +/* D4BBE8 802401C8 0C0B1EAF */ jal get_variable +/* D4BBEC 802401CC 0040902D */ daddu $s2, $v0, $zero +/* D4BBF0 802401D0 0220202D */ daddu $a0, $s1, $zero +/* D4BBF4 802401D4 8E050000 */ lw $a1, ($s0) +/* D4BBF8 802401D8 0C0B1EAF */ jal get_variable +/* D4BBFC 802401DC 0040802D */ daddu $s0, $v0, $zero +/* D4BC00 802401E0 44920000 */ mtc1 $s2, $f0 +/* D4BC04 802401E4 00000000 */ nop +/* D4BC08 802401E8 46800020 */ cvt.s.w $f0, $f0 +/* D4BC0C 802401EC 44050000 */ mfc1 $a1, $f0 +/* D4BC10 802401F0 44900000 */ mtc1 $s0, $f0 +/* D4BC14 802401F4 00000000 */ nop +/* D4BC18 802401F8 46800020 */ cvt.s.w $f0, $f0 +/* D4BC1C 802401FC 44060000 */ mfc1 $a2, $f0 +/* D4BC20 80240200 44820000 */ mtc1 $v0, $f0 +/* D4BC24 80240204 00000000 */ nop +/* D4BC28 80240208 46800020 */ cvt.s.w $f0, $f0 +/* D4BC2C 8024020C 44070000 */ mfc1 $a3, $f0 +/* D4BC30 80240210 0000202D */ daddu $a0, $zero, $zero +/* D4BC34 80240214 0C01C16C */ jal func_800705B0 +/* D4BC38 80240218 AFA00010 */ sw $zero, 0x10($sp) +/* D4BC3C 8024021C 8FBF0024 */ lw $ra, 0x24($sp) +/* D4BC40 80240220 8FB20020 */ lw $s2, 0x20($sp) +/* D4BC44 80240224 8FB1001C */ lw $s1, 0x1c($sp) +/* D4BC48 80240228 8FB00018 */ lw $s0, 0x18($sp) +/* D4BC4C 8024022C 24020002 */ addiu $v0, $zero, 2 +/* D4BC50 80240230 03E00008 */ jr $ra +/* D4BC54 80240234 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sam/sam_12/func_80240238_D4BA20.s b/asm/nonmatchings/world/area_sam/sam_12/func_80240238_D4BA20.s new file mode 100644 index 0000000000..9d69d526ad --- /dev/null +++ b/asm/nonmatchings/world/area_sam/sam_12/func_80240238_D4BA20.s @@ -0,0 +1,94 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240238_D4BC58 +/* D4BC58 80240238 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* D4BC5C 8024023C AFB1002C */ sw $s1, 0x2c($sp) +/* D4BC60 80240240 0080882D */ daddu $s1, $a0, $zero +/* D4BC64 80240244 AFBF0030 */ sw $ra, 0x30($sp) +/* D4BC68 80240248 AFB00028 */ sw $s0, 0x28($sp) +/* D4BC6C 8024024C F7BA0050 */ sdc1 $f26, 0x50($sp) +/* D4BC70 80240250 F7B80048 */ sdc1 $f24, 0x48($sp) +/* D4BC74 80240254 F7B60040 */ sdc1 $f22, 0x40($sp) +/* D4BC78 80240258 F7B40038 */ sdc1 $f20, 0x38($sp) +/* D4BC7C 8024025C 8E30000C */ lw $s0, 0xc($s1) +/* D4BC80 80240260 8E050000 */ lw $a1, ($s0) +/* D4BC84 80240264 0C0B210B */ jal get_float_variable +/* D4BC88 80240268 26100004 */ addiu $s0, $s0, 4 +/* D4BC8C 8024026C 8E050000 */ lw $a1, ($s0) +/* D4BC90 80240270 26100004 */ addiu $s0, $s0, 4 +/* D4BC94 80240274 0220202D */ daddu $a0, $s1, $zero +/* D4BC98 80240278 0C0B210B */ jal get_float_variable +/* D4BC9C 8024027C 46000686 */ mov.s $f26, $f0 +/* D4BCA0 80240280 8E050000 */ lw $a1, ($s0) +/* D4BCA4 80240284 26100004 */ addiu $s0, $s0, 4 +/* D4BCA8 80240288 0220202D */ daddu $a0, $s1, $zero +/* D4BCAC 8024028C 0C0B210B */ jal get_float_variable +/* D4BCB0 80240290 46000506 */ mov.s $f20, $f0 +/* D4BCB4 80240294 8E050000 */ lw $a1, ($s0) +/* D4BCB8 80240298 26100004 */ addiu $s0, $s0, 4 +/* D4BCBC 8024029C 0220202D */ daddu $a0, $s1, $zero +/* D4BCC0 802402A0 0C0B210B */ jal get_float_variable +/* D4BCC4 802402A4 46000586 */ mov.s $f22, $f0 +/* D4BCC8 802402A8 0220202D */ daddu $a0, $s1, $zero +/* D4BCCC 802402AC 8E050000 */ lw $a1, ($s0) +/* D4BCD0 802402B0 0C0B210B */ jal get_float_variable +/* D4BCD4 802402B4 46000606 */ mov.s $f24, $f0 +/* D4BCD8 802402B8 3C065555 */ lui $a2, 0x5555 +/* D4BCDC 802402BC 3C078011 */ lui $a3, %hi(gPlayerStatus) +/* D4BCE0 802402C0 24E7EFC8 */ addiu $a3, $a3, %lo(gPlayerStatus) +/* D4BCE4 802402C4 94E200B0 */ lhu $v0, 0xb0($a3) +/* D4BCE8 802402C8 34C65556 */ ori $a2, $a2, 0x5556 +/* D4BCEC 802402CC 00021400 */ sll $v0, $v0, 0x10 +/* D4BCF0 802402D0 00022403 */ sra $a0, $v0, 0x10 +/* D4BCF4 802402D4 00041840 */ sll $v1, $a0, 1 +/* D4BCF8 802402D8 00660018 */ mult $v1, $a2 +/* D4BCFC 802402DC C4E20028 */ lwc1 $f2, 0x28($a3) +/* D4BD00 802402E0 46141080 */ add.s $f2, $f2, $f20 +/* D4BD04 802402E4 00005010 */ mfhi $t2 +/* D4BD08 802402E8 C4E4002C */ lwc1 $f4, 0x2c($a3) +/* D4BD0C 802402EC 00000000 */ nop +/* D4BD10 802402F0 00860018 */ mult $a0, $a2 +/* D4BD14 802402F4 00031FC3 */ sra $v1, $v1, 0x1f +/* D4BD18 802402F8 44051000 */ mfc1 $a1, $f2 +/* D4BD1C 802402FC 01431823 */ subu $v1, $t2, $v1 +/* D4BD20 80240300 44831000 */ mtc1 $v1, $f2 +/* D4BD24 80240304 00000000 */ nop +/* D4BD28 80240308 468010A0 */ cvt.s.w $f2, $f2 +/* D4BD2C 8024030C 46022100 */ add.s $f4, $f4, $f2 +/* D4BD30 80240310 26100004 */ addiu $s0, $s0, 4 +/* D4BD34 80240314 8E100000 */ lw $s0, ($s0) +/* D4BD38 80240318 46162100 */ add.s $f4, $f4, $f22 +/* D4BD3C 8024031C E7BA0014 */ swc1 $f26, 0x14($sp) +/* D4BD40 80240320 000217C3 */ sra $v0, $v0, 0x1f +/* D4BD44 80240324 00004010 */ mfhi $t0 +/* D4BD48 80240328 01021023 */ subu $v0, $t0, $v0 +/* D4BD4C 8024032C 00021400 */ sll $v0, $v0, 0x10 +/* D4BD50 80240330 00021403 */ sra $v0, $v0, 0x10 +/* D4BD54 80240334 44821000 */ mtc1 $v0, $f2 +/* D4BD58 80240338 00000000 */ nop +/* D4BD5C 8024033C 468010A0 */ cvt.s.w $f2, $f2 +/* D4BD60 80240340 46001080 */ add.s $f2, $f2, $f0 +/* D4BD64 80240344 C4E00030 */ lwc1 $f0, 0x30($a3) +/* D4BD68 80240348 46180000 */ add.s $f0, $f0, $f24 +/* D4BD6C 8024034C 0000202D */ daddu $a0, $zero, $zero +/* D4BD70 80240350 44062000 */ mfc1 $a2, $f4 +/* D4BD74 80240354 44070000 */ mfc1 $a3, $f0 +/* D4BD78 80240358 27A20020 */ addiu $v0, $sp, 0x20 +/* D4BD7C 8024035C AFA20018 */ sw $v0, 0x18($sp) +/* D4BD80 80240360 0C01C1FC */ jal fx_sleep_bubble +/* D4BD84 80240364 E7A20010 */ swc1 $f2, 0x10($sp) +/* D4BD88 80240368 0220202D */ daddu $a0, $s1, $zero +/* D4BD8C 8024036C 8FA60020 */ lw $a2, 0x20($sp) +/* D4BD90 80240370 0C0B2026 */ jal set_variable +/* D4BD94 80240374 0200282D */ daddu $a1, $s0, $zero +/* D4BD98 80240378 8FBF0030 */ lw $ra, 0x30($sp) +/* D4BD9C 8024037C 8FB1002C */ lw $s1, 0x2c($sp) +/* D4BDA0 80240380 8FB00028 */ lw $s0, 0x28($sp) +/* D4BDA4 80240384 D7BA0050 */ ldc1 $f26, 0x50($sp) +/* D4BDA8 80240388 D7B80048 */ ldc1 $f24, 0x48($sp) +/* D4BDAC 8024038C D7B60040 */ ldc1 $f22, 0x40($sp) +/* D4BDB0 80240390 D7B40038 */ ldc1 $f20, 0x38($sp) +/* D4BDB4 80240394 24020002 */ addiu $v0, $zero, 2 +/* D4BDB8 80240398 03E00008 */ jr $ra +/* D4BDBC 8024039C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_sbk/sbk_00/func_80240000_929270.s b/asm/nonmatchings/world/area_sbk/sbk_00/func_80240000_929270.s new file mode 100644 index 0000000000..5d2adaa84e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_00/func_80240000_929270.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_929270 +/* 929270 80240000 44800000 */ mtc1 $zero, $f0 +/* 929274 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 929278 80240008 44050000 */ mfc1 $a1, $f0 +/* 92927C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 929280 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 929284 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 929288 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 92928C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 929290 80240020 0C01CA54 */ jal func_80072950 +/* 929294 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 929298 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 92929C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9292A0 80240030 03E00008 */ jr $ra +/* 9292A4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9292A8 80240038 00000000 */ nop +/* 9292AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_00/func_80240040_929270.s b/asm/nonmatchings/world/area_sbk/sbk_00/func_80240040_929270.s new file mode 100644 index 0000000000..f2d33af5cd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_00/func_80240040_929270.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_9292B0 +/* 9292B0 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 9292B4 80240044 24020003 */ addiu $v0, $zero, 3 +/* 9292B8 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 9292BC 8024004C 03E00008 */ jr $ra +/* 9292C0 80240050 24020002 */ addiu $v0, $zero, 2 +/* 9292C4 80240054 00000000 */ nop +/* 9292C8 80240058 00000000 */ nop +/* 9292CC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_01/func_80240000_929A90.s b/asm/nonmatchings/world/area_sbk/sbk_01/func_80240000_929A90.s new file mode 100644 index 0000000000..d7efcf3633 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_01/func_80240000_929A90.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_929A90 +/* 929A90 80240000 44800000 */ mtc1 $zero, $f0 +/* 929A94 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 929A98 80240008 44050000 */ mfc1 $a1, $f0 +/* 929A9C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 929AA0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 929AA4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 929AA8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 929AAC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 929AB0 80240020 0C01CA54 */ jal func_80072950 +/* 929AB4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 929AB8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 929ABC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 929AC0 80240030 03E00008 */ jr $ra +/* 929AC4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 929AC8 80240038 00000000 */ nop +/* 929ACC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_01/func_80240040_929A90.s b/asm/nonmatchings/world/area_sbk/sbk_01/func_80240040_929A90.s new file mode 100644 index 0000000000..43c706843e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_01/func_80240040_929A90.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_929AD0 +/* 929AD0 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 929AD4 80240044 24020003 */ addiu $v0, $zero, 3 +/* 929AD8 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 929ADC 8024004C 03E00008 */ jr $ra +/* 929AE0 80240050 24020002 */ addiu $v0, $zero, 2 +/* 929AE4 80240054 00000000 */ nop +/* 929AE8 80240058 00000000 */ nop +/* 929AEC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240000_92A2B0.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240000_92A2B0.s new file mode 100644 index 0000000000..18689c2586 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240000_92A2B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_92A2B0 +/* 92A2B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92A2B4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 92A2B8 80240008 3C05F5DE */ lui $a1, 0xf5de +/* 92A2BC 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* 92A2C0 80240010 0C0B1EAF */ jal get_variable +/* 92A2C4 80240014 0000202D */ daddu $a0, $zero, $zero +/* 92A2C8 80240018 3C030019 */ lui $v1, 0x19 +/* 92A2CC 8024001C 2842FFC2 */ slti $v0, $v0, -0x3e +/* 92A2D0 80240020 14400003 */ bnez $v0, .L80240030 +/* 92A2D4 80240024 34630062 */ ori $v1, $v1, 0x62 +/* 92A2D8 80240028 3C030019 */ lui $v1, 0x19 +/* 92A2DC 8024002C 34630063 */ ori $v1, $v1, 0x63 +.L80240030: +/* 92A2E0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* 92A2E4 80240034 0060102D */ daddu $v0, $v1, $zero +/* 92A2E8 80240038 03E00008 */ jr $ra +/* 92A2EC 8024003C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240040_92A2B0.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240040_92A2B0.s new file mode 100644 index 0000000000..2ae2723580 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240040_92A2B0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_92A2F0 +/* 92A2F0 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 92A2F4 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* 92A2F8 80240048 0080882D */ daddu $s1, $a0, $zero +/* 92A2FC 8024004C AFBF001C */ sw $ra, 0x1c($sp) +/* 92A300 80240050 AFB20018 */ sw $s2, 0x18($sp) +/* 92A304 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 92A308 80240058 8E30000C */ lw $s0, 0xc($s1) +/* 92A30C 8024005C 8E050000 */ lw $a1, ($s0) +/* 92A310 80240060 0C0B1EAF */ jal get_variable +/* 92A314 80240064 26100004 */ addiu $s0, $s0, 4 +/* 92A318 80240068 8E050000 */ lw $a1, ($s0) +/* 92A31C 8024006C 26100004 */ addiu $s0, $s0, 4 +/* 92A320 80240070 0220202D */ daddu $a0, $s1, $zero +/* 92A324 80240074 0C0B1EAF */ jal get_variable +/* 92A328 80240078 0040902D */ daddu $s2, $v0, $zero +/* 92A32C 8024007C 0220202D */ daddu $a0, $s1, $zero +/* 92A330 80240080 8E050000 */ lw $a1, ($s0) +/* 92A334 80240084 0C0B1EAF */ jal get_variable +/* 92A338 80240088 0040802D */ daddu $s0, $v0, $zero +/* 92A33C 8024008C 0040882D */ daddu $s1, $v0, $zero +/* 92A340 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 92A344 80240094 16020005 */ bne $s0, $v0, .L802400AC +/* 92A348 80240098 24020001 */ addiu $v0, $zero, 1 +/* 92A34C 8024009C 0C04760B */ jal func_8011D82C +/* 92A350 802400A0 0220202D */ daddu $a0, $s1, $zero +/* 92A354 802400A4 08090053 */ j .L8024014C +/* 92A358 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* 92A35C 802400AC 12420018 */ beq $s2, $v0, .L80240110 +/* 92A360 802400B0 2A420002 */ slti $v0, $s2, 2 +/* 92A364 802400B4 10400005 */ beqz $v0, .L802400CC +/* 92A368 802400B8 24020002 */ addiu $v0, $zero, 2 +/* 92A36C 802400BC 12400007 */ beqz $s2, .L802400DC +/* 92A370 802400C0 3412FFFF */ ori $s2, $zero, 0xffff +/* 92A374 802400C4 08090053 */ j .L8024014C +/* 92A378 802400C8 00000000 */ nop +.L802400CC: +/* 92A37C 802400CC 1242001B */ beq $s2, $v0, .L8024013C +/* 92A380 802400D0 24020002 */ addiu $v0, $zero, 2 +/* 92A384 802400D4 08090053 */ j .L8024014C +/* 92A388 802400D8 00000000 */ nop +.L802400DC: +/* 92A38C 802400DC 8E040000 */ lw $a0, ($s0) +/* 92A390 802400E0 1092001A */ beq $a0, $s2, .L8024014C +/* 92A394 802400E4 24020002 */ addiu $v0, $zero, 2 +/* 92A398 802400E8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 92A39C 802400EC 26100004 */ addiu $s0, $s0, 4 +/* 92A3A0 802400F0 0C046B4C */ jal get_model_from_list_index +/* 92A3A4 802400F4 0040202D */ daddu $a0, $v0, $zero +/* 92A3A8 802400F8 0040202D */ daddu $a0, $v0, $zero +/* 92A3AC 802400FC 2405FFFF */ addiu $a1, $zero, -1 +/* 92A3B0 80240100 0C046F1F */ jal func_8011BC7C +/* 92A3B4 80240104 0220302D */ daddu $a2, $s1, $zero +/* 92A3B8 80240108 08090037 */ j .L802400DC +/* 92A3BC 8024010C 00000000 */ nop +.L80240110: +/* 92A3C0 80240110 3412FFFF */ ori $s2, $zero, 0xffff +.L80240114: +/* 92A3C4 80240114 8E020000 */ lw $v0, ($s0) +/* 92A3C8 80240118 1052000B */ beq $v0, $s2, .L80240148 +/* 92A3CC 8024011C 2405FFFF */ addiu $a1, $zero, -1 +/* 92A3D0 80240120 96040002 */ lhu $a0, 2($s0) +/* 92A3D4 80240124 0220302D */ daddu $a2, $s1, $zero +/* 92A3D8 80240128 26100004 */ addiu $s0, $s0, 4 +/* 92A3DC 8024012C 0C046E54 */ jal func_8011B950 +/* 92A3E0 80240130 0000382D */ daddu $a3, $zero, $zero +/* 92A3E4 80240134 08090045 */ j .L80240114 +/* 92A3E8 80240138 00000000 */ nop +.L8024013C: +/* 92A3EC 8024013C 3C028015 */ lui $v0, 0x8015 +/* 92A3F0 80240140 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 92A3F4 80240144 A0510000 */ sb $s1, ($v0) +.L80240148: +/* 92A3F8 80240148 24020002 */ addiu $v0, $zero, 2 +.L8024014C: +/* 92A3FC 8024014C 8FBF001C */ lw $ra, 0x1c($sp) +/* 92A400 80240150 8FB20018 */ lw $s2, 0x18($sp) +/* 92A404 80240154 8FB10014 */ lw $s1, 0x14($sp) +/* 92A408 80240158 8FB00010 */ lw $s0, 0x10($sp) +/* 92A40C 8024015C 03E00008 */ jr $ra +/* 92A410 80240160 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240164.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240164.s new file mode 100644 index 0000000000..83d6a0dac3 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240164.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164 +/* 92A414 80240164 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 92A418 80240168 AFB10034 */ sw $s1, 0x34($sp) +/* 92A41C 8024016C 0080882D */ daddu $s1, $a0, $zero +/* 92A420 80240170 AFBF0054 */ sw $ra, 0x54($sp) +/* 92A424 80240174 AFBE0050 */ sw $fp, 0x50($sp) +/* 92A428 80240178 AFB7004C */ sw $s7, 0x4c($sp) +/* 92A42C 8024017C AFB60048 */ sw $s6, 0x48($sp) +/* 92A430 80240180 AFB50044 */ sw $s5, 0x44($sp) +/* 92A434 80240184 AFB40040 */ sw $s4, 0x40($sp) +/* 92A438 80240188 AFB3003C */ sw $s3, 0x3c($sp) +/* 92A43C 8024018C AFB20038 */ sw $s2, 0x38($sp) +/* 92A440 80240190 AFB00030 */ sw $s0, 0x30($sp) +/* 92A444 80240194 8E30000C */ lw $s0, 0xc($s1) +/* 92A448 80240198 8E050000 */ lw $a1, ($s0) +/* 92A44C 8024019C 0C0B1EAF */ jal get_variable +/* 92A450 802401A0 26100004 */ addiu $s0, $s0, 4 +/* 92A454 802401A4 8E050000 */ lw $a1, ($s0) +/* 92A458 802401A8 26100004 */ addiu $s0, $s0, 4 +/* 92A45C 802401AC 0220202D */ daddu $a0, $s1, $zero +/* 92A460 802401B0 0C0B1EAF */ jal get_variable +/* 92A464 802401B4 0040982D */ daddu $s3, $v0, $zero +/* 92A468 802401B8 8E050000 */ lw $a1, ($s0) +/* 92A46C 802401BC 26100004 */ addiu $s0, $s0, 4 +/* 92A470 802401C0 0220202D */ daddu $a0, $s1, $zero +/* 92A474 802401C4 0C0B1EAF */ jal get_variable +/* 92A478 802401C8 0040B02D */ daddu $s6, $v0, $zero +/* 92A47C 802401CC 8E050000 */ lw $a1, ($s0) +/* 92A480 802401D0 26100004 */ addiu $s0, $s0, 4 +/* 92A484 802401D4 0220202D */ daddu $a0, $s1, $zero +/* 92A488 802401D8 0C0B1EAF */ jal get_variable +/* 92A48C 802401DC 0040A82D */ daddu $s5, $v0, $zero +/* 92A490 802401E0 8E050000 */ lw $a1, ($s0) +/* 92A494 802401E4 26100004 */ addiu $s0, $s0, 4 +/* 92A498 802401E8 0220202D */ daddu $a0, $s1, $zero +/* 92A49C 802401EC 0C0B1EAF */ jal get_variable +/* 92A4A0 802401F0 0040A02D */ daddu $s4, $v0, $zero +/* 92A4A4 802401F4 8E050000 */ lw $a1, ($s0) +/* 92A4A8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 92A4AC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 92A4B0 80240200 0C0B1EAF */ jal get_variable +/* 92A4B4 80240204 0040902D */ daddu $s2, $v0, $zero +/* 92A4B8 80240208 8E050000 */ lw $a1, ($s0) +/* 92A4BC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 92A4C0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 92A4C4 80240214 0C0B1EAF */ jal get_variable +/* 92A4C8 80240218 AFA20028 */ sw $v0, 0x28($sp) +/* 92A4CC 8024021C 8E050000 */ lw $a1, ($s0) +/* 92A4D0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 92A4D4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 92A4D8 80240228 0C0B1EAF */ jal get_variable +/* 92A4DC 8024022C 0040F02D */ daddu $fp, $v0, $zero +/* 92A4E0 80240230 8E050000 */ lw $a1, ($s0) +/* 92A4E4 80240234 26100004 */ addiu $s0, $s0, 4 +/* 92A4E8 80240238 0220202D */ daddu $a0, $s1, $zero +/* 92A4EC 8024023C 0C0B1EAF */ jal get_variable +/* 92A4F0 80240240 0040B82D */ daddu $s7, $v0, $zero +/* 92A4F4 80240244 0220202D */ daddu $a0, $s1, $zero +/* 92A4F8 80240248 8E050000 */ lw $a1, ($s0) +/* 92A4FC 8024024C 0C0B1EAF */ jal get_variable +/* 92A500 80240250 0040802D */ daddu $s0, $v0, $zero +/* 92A504 80240254 0040182D */ daddu $v1, $v0, $zero +/* 92A508 80240258 24020002 */ addiu $v0, $zero, 2 +/* 92A50C 8024025C 12620012 */ beq $s3, $v0, .L802402A8 +/* 92A510 80240260 2A620003 */ slti $v0, $s3, 3 +/* 92A514 80240264 10400005 */ beqz $v0, .L8024027C +/* 92A518 80240268 24020001 */ addiu $v0, $zero, 1 +/* 92A51C 8024026C 12620008 */ beq $s3, $v0, .L80240290 +/* 92A520 80240270 32C400FF */ andi $a0, $s6, 0xff +/* 92A524 80240274 080900C1 */ j .L80240304 +/* 92A528 80240278 00000000 */ nop +.L8024027C: +/* 92A52C 8024027C 24020003 */ addiu $v0, $zero, 3 +/* 92A530 80240280 12620018 */ beq $s3, $v0, .L802402E4 +/* 92A534 80240284 32C400FF */ andi $a0, $s6, 0xff +/* 92A538 80240288 080900C1 */ j .L80240304 +/* 92A53C 8024028C 00000000 */ nop +.L80240290: +/* 92A540 80240290 32A500FF */ andi $a1, $s5, 0xff +/* 92A544 80240294 328600FF */ andi $a2, $s4, 0xff +/* 92A548 80240298 0C046F97 */ jal set_background_color_blend +/* 92A54C 8024029C 324700FF */ andi $a3, $s2, 0xff +/* 92A550 802402A0 080900C1 */ j .L80240304 +/* 92A554 802402A4 00000000 */ nop +.L802402A8: +/* 92A558 802402A8 32C400FF */ andi $a0, $s6, 0xff +/* 92A55C 802402AC 32A500FF */ andi $a1, $s5, 0xff +/* 92A560 802402B0 328600FF */ andi $a2, $s4, 0xff +/* 92A564 802402B4 324700FF */ andi $a3, $s2, 0xff +/* 92A568 802402B8 93A2002B */ lbu $v0, 0x2b($sp) +/* 92A56C 802402BC AFB0001C */ sw $s0, 0x1c($sp) +/* 92A570 802402C0 AFA30020 */ sw $v1, 0x20($sp) +/* 92A574 802402C4 AFA20010 */ sw $v0, 0x10($sp) +/* 92A578 802402C8 33C200FF */ andi $v0, $fp, 0xff +/* 92A57C 802402CC AFA20014 */ sw $v0, 0x14($sp) +/* 92A580 802402D0 32E200FF */ andi $v0, $s7, 0xff +/* 92A584 802402D4 0C046FAD */ jal func_8011BEB4 +/* 92A588 802402D8 AFA20018 */ sw $v0, 0x18($sp) +/* 92A58C 802402DC 080900C1 */ j .L80240304 +/* 92A590 802402E0 00000000 */ nop +.L802402E4: +/* 92A594 802402E4 32A500FF */ andi $a1, $s5, 0xff +/* 92A598 802402E8 328600FF */ andi $a2, $s4, 0xff +/* 92A59C 802402EC 324700FF */ andi $a3, $s2, 0xff +/* 92A5A0 802402F0 93A2002B */ lbu $v0, 0x2b($sp) +/* 92A5A4 802402F4 AFA20010 */ sw $v0, 0x10($sp) +/* 92A5A8 802402F8 33C200FF */ andi $v0, $fp, 0xff +/* 92A5AC 802402FC 0C046FE6 */ jal func_8011BF98 +/* 92A5B0 80240300 AFA20014 */ sw $v0, 0x14($sp) +.L80240304: +/* 92A5B4 80240304 8FBF0054 */ lw $ra, 0x54($sp) +/* 92A5B8 80240308 8FBE0050 */ lw $fp, 0x50($sp) +/* 92A5BC 8024030C 8FB7004C */ lw $s7, 0x4c($sp) +/* 92A5C0 80240310 8FB60048 */ lw $s6, 0x48($sp) +/* 92A5C4 80240314 8FB50044 */ lw $s5, 0x44($sp) +/* 92A5C8 80240318 8FB40040 */ lw $s4, 0x40($sp) +/* 92A5CC 8024031C 8FB3003C */ lw $s3, 0x3c($sp) +/* 92A5D0 80240320 8FB20038 */ lw $s2, 0x38($sp) +/* 92A5D4 80240324 8FB10034 */ lw $s1, 0x34($sp) +/* 92A5D8 80240328 8FB00030 */ lw $s0, 0x30($sp) +/* 92A5DC 8024032C 24020002 */ addiu $v0, $zero, 2 +/* 92A5E0 80240330 03E00008 */ jr $ra +/* 92A5E4 80240334 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240338.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240338.s new file mode 100644 index 0000000000..8ffa5fe57f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240338.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240338 +/* 92A5E8 80240338 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92A5EC 8024033C 3C05FD05 */ lui $a1, 0xfd05 +/* 92A5F0 80240340 AFBF0010 */ sw $ra, 0x10($sp) +/* 92A5F4 80240344 0C0B1EAF */ jal get_variable +/* 92A5F8 80240348 34A50F80 */ ori $a1, $a1, 0xf80 +/* 92A5FC 8024034C 8C43000C */ lw $v1, 0xc($v0) +/* 92A600 80240350 AC60003C */ sw $zero, 0x3c($v1) +/* 92A604 80240354 8FBF0010 */ lw $ra, 0x10($sp) +/* 92A608 80240358 24020002 */ addiu $v0, $zero, 2 +/* 92A60C 8024035C 03E00008 */ jr $ra +/* 92A610 80240360 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240364.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240364.s new file mode 100644 index 0000000000..2fb912c6e0 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240364.s @@ -0,0 +1,246 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240364 +/* 92A614 80240364 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 92A618 80240368 AFB1001C */ sw $s1, 0x1c($sp) +/* 92A61C 8024036C 0080882D */ daddu $s1, $a0, $zero +/* 92A620 80240370 AFBF0020 */ sw $ra, 0x20($sp) +/* 92A624 80240374 AFB00018 */ sw $s0, 0x18($sp) +/* 92A628 80240378 10A0003B */ beqz $a1, .L80240468 +/* 92A62C 8024037C 8E30000C */ lw $s0, 0xc($s1) +/* 92A630 80240380 3C048024 */ lui $a0, 0x8024 +/* 92A634 80240384 24845600 */ addiu $a0, $a0, 0x5600 +/* 92A638 80240388 3C058024 */ lui $a1, 0x8024 +/* 92A63C 8024038C 24A55601 */ addiu $a1, $a1, 0x5601 +/* 92A640 80240390 3C068024 */ lui $a2, 0x8024 +/* 92A644 80240394 24C65602 */ addiu $a2, $a2, 0x5602 +/* 92A648 80240398 3C078024 */ lui $a3, 0x8024 +/* 92A64C 8024039C 24E75603 */ addiu $a3, $a3, 0x5603 +/* 92A650 802403A0 3C028024 */ lui $v0, 0x8024 +/* 92A654 802403A4 24425604 */ addiu $v0, $v0, 0x5604 +/* 92A658 802403A8 AFA20010 */ sw $v0, 0x10($sp) +/* 92A65C 802403AC 3C028024 */ lui $v0, 0x8024 +/* 92A660 802403B0 24425605 */ addiu $v0, $v0, 0x5605 +/* 92A664 802403B4 0C046FF5 */ jal func_8011BFD4 +/* 92A668 802403B8 AFA20014 */ sw $v0, 0x14($sp) +/* 92A66C 802403BC 8E050000 */ lw $a1, ($s0) +/* 92A670 802403C0 26100004 */ addiu $s0, $s0, 4 +/* 92A674 802403C4 0C0B1EAF */ jal get_variable +/* 92A678 802403C8 0220202D */ daddu $a0, $s1, $zero +/* 92A67C 802403CC 3C018024 */ lui $at, 0x8024 +/* 92A680 802403D0 AC225608 */ sw $v0, 0x5608($at) +/* 92A684 802403D4 8E050000 */ lw $a1, ($s0) +/* 92A688 802403D8 26100004 */ addiu $s0, $s0, 4 +/* 92A68C 802403DC 0C0B1EAF */ jal get_variable +/* 92A690 802403E0 0220202D */ daddu $a0, $s1, $zero +/* 92A694 802403E4 3C018024 */ lui $at, 0x8024 +/* 92A698 802403E8 AC22560C */ sw $v0, 0x560c($at) +/* 92A69C 802403EC 8E050000 */ lw $a1, ($s0) +/* 92A6A0 802403F0 26100004 */ addiu $s0, $s0, 4 +/* 92A6A4 802403F4 0C0B1EAF */ jal get_variable +/* 92A6A8 802403F8 0220202D */ daddu $a0, $s1, $zero +/* 92A6AC 802403FC 3C018024 */ lui $at, 0x8024 +/* 92A6B0 80240400 AC225610 */ sw $v0, 0x5610($at) +/* 92A6B4 80240404 8E050000 */ lw $a1, ($s0) +/* 92A6B8 80240408 26100004 */ addiu $s0, $s0, 4 +/* 92A6BC 8024040C 0C0B1EAF */ jal get_variable +/* 92A6C0 80240410 0220202D */ daddu $a0, $s1, $zero +/* 92A6C4 80240414 3C018024 */ lui $at, 0x8024 +/* 92A6C8 80240418 AC225614 */ sw $v0, 0x5614($at) +/* 92A6CC 8024041C 8E050000 */ lw $a1, ($s0) +/* 92A6D0 80240420 26100004 */ addiu $s0, $s0, 4 +/* 92A6D4 80240424 0C0B1EAF */ jal get_variable +/* 92A6D8 80240428 0220202D */ daddu $a0, $s1, $zero +/* 92A6DC 8024042C 3C018024 */ lui $at, 0x8024 +/* 92A6E0 80240430 AC225618 */ sw $v0, 0x5618($at) +/* 92A6E4 80240434 8E050000 */ lw $a1, ($s0) +/* 92A6E8 80240438 26100004 */ addiu $s0, $s0, 4 +/* 92A6EC 8024043C 0C0B1EAF */ jal get_variable +/* 92A6F0 80240440 0220202D */ daddu $a0, $s1, $zero +/* 92A6F4 80240444 3C018024 */ lui $at, 0x8024 +/* 92A6F8 80240448 AC22561C */ sw $v0, 0x561c($at) +/* 92A6FC 8024044C 8E050000 */ lw $a1, ($s0) +/* 92A700 80240450 0C0B1EAF */ jal get_variable +/* 92A704 80240454 0220202D */ daddu $a0, $s1, $zero +/* 92A708 80240458 3C018024 */ lui $at, 0x8024 +/* 92A70C 8024045C AC225620 */ sw $v0, 0x5620($at) +/* 92A710 80240460 3C018024 */ lui $at, 0x8024 +/* 92A714 80240464 AC205624 */ sw $zero, 0x5624($at) +.L80240468: +/* 92A718 80240468 3C118024 */ lui $s1, 0x8024 +/* 92A71C 8024046C 26315620 */ addiu $s1, $s1, 0x5620 +/* 92A720 80240470 8E2F0000 */ lw $t7, ($s1) +/* 92A724 80240474 19E00088 */ blez $t7, .L80240698 +/* 92A728 80240478 00000000 */ nop +/* 92A72C 8024047C 3C108024 */ lui $s0, 0x8024 +/* 92A730 80240480 26105624 */ addiu $s0, $s0, 0x5624 +/* 92A734 80240484 8E030000 */ lw $v1, ($s0) +/* 92A738 80240488 3C048024 */ lui $a0, 0x8024 +/* 92A73C 8024048C 90845600 */ lbu $a0, 0x5600($a0) +/* 92A740 80240490 3C028024 */ lui $v0, 0x8024 +/* 92A744 80240494 8C425608 */ lw $v0, 0x5608($v0) +/* 92A748 80240498 24630001 */ addiu $v1, $v1, 1 +/* 92A74C 8024049C 00441023 */ subu $v0, $v0, $a0 +/* 92A750 802404A0 00430018 */ mult $v0, $v1 +/* 92A754 802404A4 00004012 */ mflo $t0 +/* 92A758 802404A8 00000000 */ nop +/* 92A75C 802404AC 15E00002 */ bnez $t7, .L802404B8 +/* 92A760 802404B0 010F001A */ div $zero, $t0, $t7 +/* 92A764 802404B4 0007000D */ break 7 +.L802404B8: +/* 92A768 802404B8 2401FFFF */ addiu $at, $zero, -1 +/* 92A76C 802404BC 15E10004 */ bne $t7, $at, .L802404D0 +/* 92A770 802404C0 3C018000 */ lui $at, 0x8000 +/* 92A774 802404C4 15010002 */ bne $t0, $at, .L802404D0 +/* 92A778 802404C8 00000000 */ nop +/* 92A77C 802404CC 0006000D */ break 6 +.L802404D0: +/* 92A780 802404D0 00007012 */ mflo $t6 +/* 92A784 802404D4 3C058024 */ lui $a1, 0x8024 +/* 92A788 802404D8 90A55601 */ lbu $a1, 0x5601($a1) +/* 92A78C 802404DC 3C028024 */ lui $v0, 0x8024 +/* 92A790 802404E0 8C42560C */ lw $v0, 0x560c($v0) +/* 92A794 802404E4 00451023 */ subu $v0, $v0, $a1 +/* 92A798 802404E8 00430018 */ mult $v0, $v1 +/* 92A79C 802404EC 00004012 */ mflo $t0 +/* 92A7A0 802404F0 00000000 */ nop +/* 92A7A4 802404F4 15E00002 */ bnez $t7, .L80240500 +/* 92A7A8 802404F8 010F001A */ div $zero, $t0, $t7 +/* 92A7AC 802404FC 0007000D */ break 7 +.L80240500: +/* 92A7B0 80240500 2401FFFF */ addiu $at, $zero, -1 +/* 92A7B4 80240504 15E10004 */ bne $t7, $at, .L80240518 +/* 92A7B8 80240508 3C018000 */ lui $at, 0x8000 +/* 92A7BC 8024050C 15010002 */ bne $t0, $at, .L80240518 +/* 92A7C0 80240510 00000000 */ nop +/* 92A7C4 80240514 0006000D */ break 6 +.L80240518: +/* 92A7C8 80240518 00006812 */ mflo $t5 +/* 92A7CC 8024051C 3C068024 */ lui $a2, 0x8024 +/* 92A7D0 80240520 90C65602 */ lbu $a2, 0x5602($a2) +/* 92A7D4 80240524 3C028024 */ lui $v0, 0x8024 +/* 92A7D8 80240528 8C425610 */ lw $v0, 0x5610($v0) +/* 92A7DC 8024052C 00461023 */ subu $v0, $v0, $a2 +/* 92A7E0 80240530 00430018 */ mult $v0, $v1 +/* 92A7E4 80240534 00004012 */ mflo $t0 +/* 92A7E8 80240538 00000000 */ nop +/* 92A7EC 8024053C 15E00002 */ bnez $t7, .L80240548 +/* 92A7F0 80240540 010F001A */ div $zero, $t0, $t7 +/* 92A7F4 80240544 0007000D */ break 7 +.L80240548: +/* 92A7F8 80240548 2401FFFF */ addiu $at, $zero, -1 +/* 92A7FC 8024054C 15E10004 */ bne $t7, $at, .L80240560 +/* 92A800 80240550 3C018000 */ lui $at, 0x8000 +/* 92A804 80240554 15010002 */ bne $t0, $at, .L80240560 +/* 92A808 80240558 00000000 */ nop +/* 92A80C 8024055C 0006000D */ break 6 +.L80240560: +/* 92A810 80240560 00006012 */ mflo $t4 +/* 92A814 80240564 3C078024 */ lui $a3, 0x8024 +/* 92A818 80240568 90E75603 */ lbu $a3, 0x5603($a3) +/* 92A81C 8024056C 3C028024 */ lui $v0, 0x8024 +/* 92A820 80240570 8C425614 */ lw $v0, 0x5614($v0) +/* 92A824 80240574 00471023 */ subu $v0, $v0, $a3 +/* 92A828 80240578 00430018 */ mult $v0, $v1 +/* 92A82C 8024057C 00004012 */ mflo $t0 +/* 92A830 80240580 00000000 */ nop +/* 92A834 80240584 15E00002 */ bnez $t7, .L80240590 +/* 92A838 80240588 010F001A */ div $zero, $t0, $t7 +/* 92A83C 8024058C 0007000D */ break 7 +.L80240590: +/* 92A840 80240590 2401FFFF */ addiu $at, $zero, -1 +/* 92A844 80240594 15E10004 */ bne $t7, $at, .L802405A8 +/* 92A848 80240598 3C018000 */ lui $at, 0x8000 +/* 92A84C 8024059C 15010002 */ bne $t0, $at, .L802405A8 +/* 92A850 802405A0 00000000 */ nop +/* 92A854 802405A4 0006000D */ break 6 +.L802405A8: +/* 92A858 802405A8 00005812 */ mflo $t3 +/* 92A85C 802405AC 3C098024 */ lui $t1, 0x8024 +/* 92A860 802405B0 91295604 */ lbu $t1, 0x5604($t1) +/* 92A864 802405B4 3C028024 */ lui $v0, 0x8024 +/* 92A868 802405B8 8C425618 */ lw $v0, 0x5618($v0) +/* 92A86C 802405BC 00491023 */ subu $v0, $v0, $t1 +/* 92A870 802405C0 00430018 */ mult $v0, $v1 +/* 92A874 802405C4 00004012 */ mflo $t0 +/* 92A878 802405C8 00000000 */ nop +/* 92A87C 802405CC 15E00002 */ bnez $t7, .L802405D8 +/* 92A880 802405D0 010F001A */ div $zero, $t0, $t7 +/* 92A884 802405D4 0007000D */ break 7 +.L802405D8: +/* 92A888 802405D8 2401FFFF */ addiu $at, $zero, -1 +/* 92A88C 802405DC 15E10004 */ bne $t7, $at, .L802405F0 +/* 92A890 802405E0 3C018000 */ lui $at, 0x8000 +/* 92A894 802405E4 15010002 */ bne $t0, $at, .L802405F0 +/* 92A898 802405E8 00000000 */ nop +/* 92A89C 802405EC 0006000D */ break 6 +.L802405F0: +/* 92A8A0 802405F0 00005012 */ mflo $t2 +/* 92A8A4 802405F4 3C088024 */ lui $t0, 0x8024 +/* 92A8A8 802405F8 91085605 */ lbu $t0, 0x5605($t0) +/* 92A8AC 802405FC 3C028024 */ lui $v0, 0x8024 +/* 92A8B0 80240600 8C42561C */ lw $v0, 0x561c($v0) +/* 92A8B4 80240604 00481023 */ subu $v0, $v0, $t0 +/* 92A8B8 80240608 00430018 */ mult $v0, $v1 +/* 92A8BC 8024060C 0000C812 */ mflo $t9 +/* 92A8C0 80240610 00000000 */ nop +/* 92A8C4 80240614 15E00002 */ bnez $t7, .L80240620 +/* 92A8C8 80240618 032F001A */ div $zero, $t9, $t7 +/* 92A8CC 8024061C 0007000D */ break 7 +.L80240620: +/* 92A8D0 80240620 2401FFFF */ addiu $at, $zero, -1 +/* 92A8D4 80240624 15E10004 */ bne $t7, $at, .L80240638 +/* 92A8D8 80240628 3C018000 */ lui $at, 0x8000 +/* 92A8DC 8024062C 17210002 */ bne $t9, $at, .L80240638 +/* 92A8E0 80240630 00000000 */ nop +/* 92A8E4 80240634 0006000D */ break 6 +.L80240638: +/* 92A8E8 80240638 00001012 */ mflo $v0 +/* 92A8EC 8024063C AE030000 */ sw $v1, ($s0) +/* 92A8F0 80240640 008E2021 */ addu $a0, $a0, $t6 +/* 92A8F4 80240644 308400FF */ andi $a0, $a0, 0xff +/* 92A8F8 80240648 00AD2821 */ addu $a1, $a1, $t5 +/* 92A8FC 8024064C 30A500FF */ andi $a1, $a1, 0xff +/* 92A900 80240650 00CC3021 */ addu $a2, $a2, $t4 +/* 92A904 80240654 30C600FF */ andi $a2, $a2, 0xff +/* 92A908 80240658 00EB3821 */ addu $a3, $a3, $t3 +/* 92A90C 8024065C 30E700FF */ andi $a3, $a3, 0xff +/* 92A910 80240660 012A4821 */ addu $t1, $t1, $t2 +/* 92A914 80240664 312900FF */ andi $t1, $t1, 0xff +/* 92A918 80240668 AFA90010 */ sw $t1, 0x10($sp) +/* 92A91C 8024066C 01024021 */ addu $t0, $t0, $v0 +/* 92A920 80240670 310800FF */ andi $t0, $t0, 0xff +/* 92A924 80240674 0C046FE6 */ jal func_8011BF98 +/* 92A928 80240678 AFA80014 */ sw $t0, 0x14($sp) +/* 92A92C 8024067C 8E020000 */ lw $v0, ($s0) +/* 92A930 80240680 8E230000 */ lw $v1, ($s1) +/* 92A934 80240684 0043102A */ slt $v0, $v0, $v1 +/* 92A938 80240688 14400013 */ bnez $v0, .L802406D8 +/* 92A93C 8024068C 0000102D */ daddu $v0, $zero, $zero +/* 92A940 80240690 080901B6 */ j .L802406D8 +/* 92A944 80240694 24020002 */ addiu $v0, $zero, 2 +.L80240698: +/* 92A948 80240698 3C028024 */ lui $v0, 0x8024 +/* 92A94C 8024069C 9042561B */ lbu $v0, 0x561b($v0) +/* 92A950 802406A0 3C048024 */ lui $a0, 0x8024 +/* 92A954 802406A4 9084560B */ lbu $a0, 0x560b($a0) +/* 92A958 802406A8 3C058024 */ lui $a1, 0x8024 +/* 92A95C 802406AC 90A5560F */ lbu $a1, 0x560f($a1) +/* 92A960 802406B0 3C068024 */ lui $a2, 0x8024 +/* 92A964 802406B4 90C65613 */ lbu $a2, 0x5613($a2) +/* 92A968 802406B8 3C078024 */ lui $a3, 0x8024 +/* 92A96C 802406BC 90E75617 */ lbu $a3, 0x5617($a3) +/* 92A970 802406C0 3C038024 */ lui $v1, 0x8024 +/* 92A974 802406C4 9063561F */ lbu $v1, 0x561f($v1) +/* 92A978 802406C8 AFA20010 */ sw $v0, 0x10($sp) +/* 92A97C 802406CC 0C046FE6 */ jal func_8011BF98 +/* 92A980 802406D0 AFA30014 */ sw $v1, 0x14($sp) +/* 92A984 802406D4 24020002 */ addiu $v0, $zero, 2 +.L802406D8: +/* 92A988 802406D8 8FBF0020 */ lw $ra, 0x20($sp) +/* 92A98C 802406DC 8FB1001C */ lw $s1, 0x1c($sp) +/* 92A990 802406E0 8FB00018 */ lw $s0, 0x18($sp) +/* 92A994 802406E4 03E00008 */ jr $ra +/* 92A998 802406E8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 92A99C 802406EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_802406F0_92A2B0.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_802406F0_92A2B0.s new file mode 100644 index 0000000000..f53da1be42 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_802406F0_92A2B0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406F0_92A9A0 +/* 92A9A0 802406F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 92A9A4 802406F4 AFB10014 */ sw $s1, 0x14($sp) +/* 92A9A8 802406F8 0080882D */ daddu $s1, $a0, $zero +/* 92A9AC 802406FC AFBF0018 */ sw $ra, 0x18($sp) +/* 92A9B0 80240700 AFB00010 */ sw $s0, 0x10($sp) +/* 92A9B4 80240704 8E30000C */ lw $s0, 0xc($s1) +/* 92A9B8 80240708 8E050000 */ lw $a1, ($s0) +/* 92A9BC 8024070C 0C0B1EAF */ jal get_variable +/* 92A9C0 80240710 26100004 */ addiu $s0, $s0, 4 +/* 92A9C4 80240714 0C00EAD2 */ jal get_npc_safe +/* 92A9C8 80240718 0040202D */ daddu $a0, $v0, $zero +/* 92A9CC 8024071C 10400005 */ beqz $v0, .L80240734 +/* 92A9D0 80240720 00000000 */ nop +/* 92A9D4 80240724 8E050000 */ lw $a1, ($s0) +/* 92A9D8 80240728 844600A8 */ lh $a2, 0xa8($v0) +/* 92A9DC 8024072C 0C0B2026 */ jal set_variable +/* 92A9E0 80240730 0220202D */ daddu $a0, $s1, $zero +.L80240734: +/* 92A9E4 80240734 8FBF0018 */ lw $ra, 0x18($sp) +/* 92A9E8 80240738 8FB10014 */ lw $s1, 0x14($sp) +/* 92A9EC 8024073C 8FB00010 */ lw $s0, 0x10($sp) +/* 92A9F0 80240740 24020002 */ addiu $v0, $zero, 2 +/* 92A9F4 80240744 03E00008 */ jr $ra +/* 92A9F8 80240748 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_8024074C_92A2B0.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_8024074C_92A2B0.s new file mode 100644 index 0000000000..eed61a470f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_8024074C_92A2B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024074C_92A9FC +/* 92A9FC 8024074C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 92AA00 80240750 AFB10014 */ sw $s1, 0x14($sp) +/* 92AA04 80240754 0080882D */ daddu $s1, $a0, $zero +/* 92AA08 80240758 AFBF0024 */ sw $ra, 0x24($sp) +/* 92AA0C 8024075C AFB40020 */ sw $s4, 0x20($sp) +/* 92AA10 80240760 AFB3001C */ sw $s3, 0x1c($sp) +/* 92AA14 80240764 AFB20018 */ sw $s2, 0x18($sp) +/* 92AA18 80240768 AFB00010 */ sw $s0, 0x10($sp) +/* 92AA1C 8024076C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 92AA20 80240770 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 92AA24 80240774 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 92AA28 80240778 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 92AA2C 8024077C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 92AA30 80240780 8E30000C */ lw $s0, 0xc($s1) +/* 92AA34 80240784 8E130000 */ lw $s3, ($s0) +/* 92AA38 80240788 26100004 */ addiu $s0, $s0, 4 +/* 92AA3C 8024078C 0C0B1EAF */ jal get_variable +/* 92AA40 80240790 0260282D */ daddu $a1, $s3, $zero +/* 92AA44 80240794 4482E000 */ mtc1 $v0, $f28 +/* 92AA48 80240798 00000000 */ nop +/* 92AA4C 8024079C 4680E720 */ cvt.s.w $f28, $f28 +/* 92AA50 802407A0 8E140000 */ lw $s4, ($s0) +/* 92AA54 802407A4 26100004 */ addiu $s0, $s0, 4 +/* 92AA58 802407A8 0220202D */ daddu $a0, $s1, $zero +/* 92AA5C 802407AC 0C0B1EAF */ jal get_variable +/* 92AA60 802407B0 0280282D */ daddu $a1, $s4, $zero +/* 92AA64 802407B4 4482D000 */ mtc1 $v0, $f26 +/* 92AA68 802407B8 00000000 */ nop +/* 92AA6C 802407BC 4680D6A0 */ cvt.s.w $f26, $f26 +/* 92AA70 802407C0 8E100000 */ lw $s0, ($s0) +/* 92AA74 802407C4 0220202D */ daddu $a0, $s1, $zero +/* 92AA78 802407C8 0C0B1EAF */ jal get_variable +/* 92AA7C 802407CC 0200282D */ daddu $a1, $s0, $zero +/* 92AA80 802407D0 4482C000 */ mtc1 $v0, $f24 +/* 92AA84 802407D4 00000000 */ nop +/* 92AA88 802407D8 4680C620 */ cvt.s.w $f24, $f24 +/* 92AA8C 802407DC 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 92AA90 802407E0 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 92AA94 802407E4 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 92AA98 802407E8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 92AA9C 802407EC C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 92AAA0 802407F0 44800000 */ mtc1 $zero, $f0 +/* 92AAA4 802407F4 00031080 */ sll $v0, $v1, 2 +/* 92AAA8 802407F8 00431021 */ addu $v0, $v0, $v1 +/* 92AAAC 802407FC 00021080 */ sll $v0, $v0, 2 +/* 92AAB0 80240800 00431023 */ subu $v0, $v0, $v1 +/* 92AAB4 80240804 000218C0 */ sll $v1, $v0, 3 +/* 92AAB8 80240808 00431021 */ addu $v0, $v0, $v1 +/* 92AABC 8024080C 000210C0 */ sll $v0, $v0, 3 +/* 92AAC0 80240810 46001032 */ c.eq.s $f2, $f0 +/* 92AAC4 80240814 3C01800B */ lui $at, 0x800b +/* 92AAC8 80240818 00220821 */ addu $at, $at, $v0 +/* 92AACC 8024081C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 92AAD0 80240820 45000005 */ bc1f .L80240838 +/* 92AAD4 80240824 00000000 */ nop +/* 92AAD8 80240828 3C0142C8 */ lui $at, 0x42c8 +/* 92AADC 8024082C 44810000 */ mtc1 $at, $f0 +/* 92AAE0 80240830 08090212 */ j .L80240848 +/* 92AAE4 80240834 4600B581 */ sub.s $f22, $f22, $f0 +.L80240838: +/* 92AAE8 80240838 3C0142C8 */ lui $at, 0x42c8 +/* 92AAEC 8024083C 44810000 */ mtc1 $at, $f0 +/* 92AAF0 80240840 00000000 */ nop +/* 92AAF4 80240844 4600B580 */ add.s $f22, $f22, $f0 +.L80240848: +/* 92AAF8 80240848 0C00A6C9 */ jal clamp_angle +/* 92AAFC 8024084C 4600B306 */ mov.s $f12, $f22 +/* 92AB00 80240850 46000586 */ mov.s $f22, $f0 +/* 92AB04 80240854 3C014170 */ lui $at, 0x4170 +/* 92AB08 80240858 4481A000 */ mtc1 $at, $f20 +/* 92AB0C 8024085C 0C00A8BB */ jal sin_deg +/* 92AB10 80240860 4600B306 */ mov.s $f12, $f22 +/* 92AB14 80240864 46140002 */ mul.s $f0, $f0, $f20 +/* 92AB18 80240868 00000000 */ nop +/* 92AB1C 8024086C 864200B0 */ lh $v0, 0xb0($s2) +/* 92AB20 80240870 3C013F00 */ lui $at, 0x3f00 +/* 92AB24 80240874 44812000 */ mtc1 $at, $f4 +/* 92AB28 80240878 44821000 */ mtc1 $v0, $f2 +/* 92AB2C 8024087C 00000000 */ nop +/* 92AB30 80240880 468010A0 */ cvt.s.w $f2, $f2 +/* 92AB34 80240884 46041082 */ mul.s $f2, $f2, $f4 +/* 92AB38 80240888 00000000 */ nop +/* 92AB3C 8024088C 4600E700 */ add.s $f28, $f28, $f0 +/* 92AB40 80240890 4602D680 */ add.s $f26, $f26, $f2 +/* 92AB44 80240894 0C00A8D4 */ jal cos_deg +/* 92AB48 80240898 4600B306 */ mov.s $f12, $f22 +/* 92AB4C 8024089C 46140002 */ mul.s $f0, $f0, $f20 +/* 92AB50 802408A0 00000000 */ nop +/* 92AB54 802408A4 0220202D */ daddu $a0, $s1, $zero +/* 92AB58 802408A8 0260282D */ daddu $a1, $s3, $zero +/* 92AB5C 802408AC 4600E18D */ trunc.w.s $f6, $f28 +/* 92AB60 802408B0 44063000 */ mfc1 $a2, $f6 +/* 92AB64 802408B4 0C0B2026 */ jal set_variable +/* 92AB68 802408B8 4600C601 */ sub.s $f24, $f24, $f0 +/* 92AB6C 802408BC 0220202D */ daddu $a0, $s1, $zero +/* 92AB70 802408C0 4600D18D */ trunc.w.s $f6, $f26 +/* 92AB74 802408C4 44063000 */ mfc1 $a2, $f6 +/* 92AB78 802408C8 0C0B2026 */ jal set_variable +/* 92AB7C 802408CC 0280282D */ daddu $a1, $s4, $zero +/* 92AB80 802408D0 0220202D */ daddu $a0, $s1, $zero +/* 92AB84 802408D4 4600C18D */ trunc.w.s $f6, $f24 +/* 92AB88 802408D8 44063000 */ mfc1 $a2, $f6 +/* 92AB8C 802408DC 0C0B2026 */ jal set_variable +/* 92AB90 802408E0 0200282D */ daddu $a1, $s0, $zero +/* 92AB94 802408E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 92AB98 802408E8 8FB40020 */ lw $s4, 0x20($sp) +/* 92AB9C 802408EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 92ABA0 802408F0 8FB20018 */ lw $s2, 0x18($sp) +/* 92ABA4 802408F4 8FB10014 */ lw $s1, 0x14($sp) +/* 92ABA8 802408F8 8FB00010 */ lw $s0, 0x10($sp) +/* 92ABAC 802408FC D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 92ABB0 80240900 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 92ABB4 80240904 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 92ABB8 80240908 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 92ABBC 8024090C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 92ABC0 80240910 24020002 */ addiu $v0, $zero, 2 +/* 92ABC4 80240914 03E00008 */ jr $ra +/* 92ABC8 80240918 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_8024091C.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_8024091C.s new file mode 100644 index 0000000000..f4a3fa7cb2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_8024091C.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024091C +/* 92ABCC 8024091C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92ABD0 80240920 AFBF0010 */ sw $ra, 0x10($sp) +/* 92ABD4 80240924 10A00003 */ beqz $a1, .L80240934 +/* 92ABD8 80240928 8C86000C */ lw $a2, 0xc($a0) +/* 92ABDC 8024092C 3C018024 */ lui $at, 0x8024 +/* 92ABE0 80240930 AC20404C */ sw $zero, 0x404c($at) +.L80240934: +/* 92ABE4 80240934 3C038024 */ lui $v1, 0x8024 +/* 92ABE8 80240938 2463404C */ addiu $v1, $v1, 0x404c +/* 92ABEC 8024093C 8C620000 */ lw $v0, ($v1) +/* 92ABF0 80240940 54400003 */ bnel $v0, $zero, .L80240950 +/* 92ABF4 80240944 AC600000 */ sw $zero, ($v1) +/* 92ABF8 80240948 08090259 */ j .L80240964 +/* 92ABFC 8024094C 0000102D */ daddu $v0, $zero, $zero +.L80240950: +/* 92AC00 80240950 8CC50000 */ lw $a1, ($a2) +/* 92AC04 80240954 3C068024 */ lui $a2, 0x8024 +/* 92AC08 80240958 0C0B2026 */ jal set_variable +/* 92AC0C 8024095C 8CC64050 */ lw $a2, 0x4050($a2) +/* 92AC10 80240960 24020002 */ addiu $v0, $zero, 2 +.L80240964: +/* 92AC14 80240964 8FBF0010 */ lw $ra, 0x10($sp) +/* 92AC18 80240968 03E00008 */ jr $ra +/* 92AC1C 8024096C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240970.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240970.s new file mode 100644 index 0000000000..f9ef3f5d82 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240970.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240970 +/* 92AC20 80240970 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92AC24 80240974 AFBF0010 */ sw $ra, 0x10($sp) +/* 92AC28 80240978 8C82000C */ lw $v0, 0xc($a0) +/* 92AC2C 8024097C 0C0B1EAF */ jal get_variable +/* 92AC30 80240980 8C450000 */ lw $a1, ($v0) +/* 92AC34 80240984 3C018024 */ lui $at, 0x8024 +/* 92AC38 80240988 AC224050 */ sw $v0, 0x4050($at) +/* 92AC3C 8024098C 24020002 */ addiu $v0, $zero, 2 +/* 92AC40 80240990 8FBF0010 */ lw $ra, 0x10($sp) +/* 92AC44 80240994 24030001 */ addiu $v1, $zero, 1 +/* 92AC48 80240998 3C018024 */ lui $at, 0x8024 +/* 92AC4C 8024099C AC23404C */ sw $v1, 0x404c($at) +/* 92AC50 802409A0 03E00008 */ jr $ra +/* 92AC54 802409A4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_802409A8.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_802409A8.s new file mode 100644 index 0000000000..ec20d714e7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_802409A8.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409A8 +/* 92AC58 802409A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92AC5C 802409AC AFBF0010 */ sw $ra, 0x10($sp) +/* 92AC60 802409B0 8C82000C */ lw $v0, 0xc($a0) +/* 92AC64 802409B4 0C0B1EAF */ jal get_variable +/* 92AC68 802409B8 8C450000 */ lw $a1, ($v0) +/* 92AC6C 802409BC 0040182D */ daddu $v1, $v0, $zero +/* 92AC70 802409C0 10600012 */ beqz $v1, .L80240A0C +/* 92AC74 802409C4 0000202D */ daddu $a0, $zero, $zero +/* 92AC78 802409C8 8C620000 */ lw $v0, ($v1) +/* 92AC7C 802409CC 5040000A */ beql $v0, $zero, .L802409F8 +/* 92AC80 802409D0 00041080 */ sll $v0, $a0, 2 +/* 92AC84 802409D4 3C058024 */ lui $a1, 0x8024 +/* 92AC88 802409D8 24A55630 */ addiu $a1, $a1, 0x5630 +.L802409DC: +/* 92AC8C 802409DC 24630004 */ addiu $v1, $v1, 4 +/* 92AC90 802409E0 24840001 */ addiu $a0, $a0, 1 +/* 92AC94 802409E4 ACA20000 */ sw $v0, ($a1) +/* 92AC98 802409E8 8C620000 */ lw $v0, ($v1) +/* 92AC9C 802409EC 1440FFFB */ bnez $v0, .L802409DC +/* 92ACA0 802409F0 24A50004 */ addiu $a1, $a1, 4 +/* 92ACA4 802409F4 00041080 */ sll $v0, $a0, 2 +.L802409F8: +/* 92ACA8 802409F8 3C018024 */ lui $at, 0x8024 +/* 92ACAC 802409FC 00220821 */ addu $at, $at, $v0 +/* 92ACB0 80240A00 AC205630 */ sw $zero, 0x5630($at) +/* 92ACB4 80240A04 0809028D */ j .L80240A34 +/* 92ACB8 80240A08 00000000 */ nop +.L80240A0C: +/* 92ACBC 80240A0C 3C038024 */ lui $v1, 0x8024 +/* 92ACC0 80240A10 24635630 */ addiu $v1, $v1, 0x5630 +/* 92ACC4 80240A14 0060282D */ daddu $a1, $v1, $zero +.L80240A18: +/* 92ACC8 80240A18 24820080 */ addiu $v0, $a0, 0x80 +/* 92ACCC 80240A1C AC620000 */ sw $v0, ($v1) +/* 92ACD0 80240A20 24630004 */ addiu $v1, $v1, 4 +/* 92ACD4 80240A24 24840001 */ addiu $a0, $a0, 1 +/* 92ACD8 80240A28 2882005B */ slti $v0, $a0, 0x5b +/* 92ACDC 80240A2C 1440FFFA */ bnez $v0, .L80240A18 +/* 92ACE0 80240A30 ACA0016C */ sw $zero, 0x16c($a1) +.L80240A34: +/* 92ACE4 80240A34 8FBF0010 */ lw $ra, 0x10($sp) +/* 92ACE8 80240A38 24020002 */ addiu $v0, $zero, 2 +/* 92ACEC 80240A3C 03E00008 */ jr $ra +/* 92ACF0 80240A40 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240A44.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240A44.s new file mode 100644 index 0000000000..39ae0120f5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240A44.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A44 +/* 92ACF4 80240A44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 92ACF8 80240A48 AFB00010 */ sw $s0, 0x10($sp) +/* 92ACFC 80240A4C 3C108024 */ lui $s0, 0x8024 +/* 92AD00 80240A50 261041D8 */ addiu $s0, $s0, 0x41d8 +/* 92AD04 80240A54 AFBF0018 */ sw $ra, 0x18($sp) +/* 92AD08 80240A58 AFB10014 */ sw $s1, 0x14($sp) +/* 92AD0C 80240A5C 8E020000 */ lw $v0, ($s0) +/* 92AD10 80240A60 14400010 */ bnez $v0, .L80240AA4 +/* 92AD14 80240A64 0080882D */ daddu $s1, $a0, $zero +/* 92AD18 80240A68 0C00AB39 */ jal heap_malloc +/* 92AD1C 80240A6C 24040040 */ addiu $a0, $zero, 0x40 +/* 92AD20 80240A70 AE020000 */ sw $v0, ($s0) +/* 92AD24 80240A74 0000182D */ daddu $v1, $zero, $zero +/* 92AD28 80240A78 0040282D */ daddu $a1, $v0, $zero +/* 92AD2C 80240A7C 0220202D */ daddu $a0, $s1, $zero +.L80240A80: +/* 92AD30 80240A80 8C820084 */ lw $v0, 0x84($a0) +/* 92AD34 80240A84 24840004 */ addiu $a0, $a0, 4 +/* 92AD38 80240A88 24630001 */ addiu $v1, $v1, 1 +/* 92AD3C 80240A8C ACA20000 */ sw $v0, ($a1) +/* 92AD40 80240A90 28620010 */ slti $v0, $v1, 0x10 +/* 92AD44 80240A94 1440FFFA */ bnez $v0, .L80240A80 +/* 92AD48 80240A98 24A50004 */ addiu $a1, $a1, 4 +/* 92AD4C 80240A9C 080902B8 */ j .L80240AE0 +/* 92AD50 80240AA0 00000000 */ nop +.L80240AA4: +/* 92AD54 80240AA4 0000182D */ daddu $v1, $zero, $zero +/* 92AD58 80240AA8 0040282D */ daddu $a1, $v0, $zero +/* 92AD5C 80240AAC 0220202D */ daddu $a0, $s1, $zero +.L80240AB0: +/* 92AD60 80240AB0 8CA20000 */ lw $v0, ($a1) +/* 92AD64 80240AB4 24A50004 */ addiu $a1, $a1, 4 +/* 92AD68 80240AB8 24630001 */ addiu $v1, $v1, 1 +/* 92AD6C 80240ABC AC820084 */ sw $v0, 0x84($a0) +/* 92AD70 80240AC0 28620010 */ slti $v0, $v1, 0x10 +/* 92AD74 80240AC4 1440FFFA */ bnez $v0, .L80240AB0 +/* 92AD78 80240AC8 24840004 */ addiu $a0, $a0, 4 +/* 92AD7C 80240ACC 3C108024 */ lui $s0, 0x8024 +/* 92AD80 80240AD0 261041D8 */ addiu $s0, $s0, 0x41d8 +/* 92AD84 80240AD4 0C00AB4B */ jal heap_free +/* 92AD88 80240AD8 8E040000 */ lw $a0, ($s0) +/* 92AD8C 80240ADC AE000000 */ sw $zero, ($s0) +.L80240AE0: +/* 92AD90 80240AE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 92AD94 80240AE4 8FB10014 */ lw $s1, 0x14($sp) +/* 92AD98 80240AE8 8FB00010 */ lw $s0, 0x10($sp) +/* 92AD9C 80240AEC 24020002 */ addiu $v0, $zero, 2 +/* 92ADA0 80240AF0 03E00008 */ jr $ra +/* 92ADA4 80240AF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240AF8.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240AF8.s new file mode 100644 index 0000000000..3f9f64b545 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240AF8.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF8 +/* 92ADA8 80240AF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 92ADAC 80240AFC AFB00010 */ sw $s0, 0x10($sp) +/* 92ADB0 80240B00 0080802D */ daddu $s0, $a0, $zero +/* 92ADB4 80240B04 AFBF0018 */ sw $ra, 0x18($sp) +/* 92ADB8 80240B08 AFB10014 */ sw $s1, 0x14($sp) +/* 92ADBC 80240B0C 8E02000C */ lw $v0, 0xc($s0) +/* 92ADC0 80240B10 8C510000 */ lw $s1, ($v0) +/* 92ADC4 80240B14 0C0B1EAF */ jal get_variable +/* 92ADC8 80240B18 0220282D */ daddu $a1, $s1, $zero +/* 92ADCC 80240B1C 3C03FFF0 */ lui $v1, 0xfff0 +/* 92ADD0 80240B20 3463FFFF */ ori $v1, $v1, 0xffff +/* 92ADD4 80240B24 0200202D */ daddu $a0, $s0, $zero +/* 92ADD8 80240B28 00431024 */ and $v0, $v0, $v1 +/* 92ADDC 80240B2C 00021140 */ sll $v0, $v0, 5 +/* 92ADE0 80240B30 3C068008 */ lui $a2, %hi(gItemTable) +/* 92ADE4 80240B34 00C23021 */ addu $a2, $a2, $v0 +/* 92ADE8 80240B38 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 92ADEC 80240B3C 0C0B2026 */ jal set_variable +/* 92ADF0 80240B40 0220282D */ daddu $a1, $s1, $zero +/* 92ADF4 80240B44 8FBF0018 */ lw $ra, 0x18($sp) +/* 92ADF8 80240B48 8FB10014 */ lw $s1, 0x14($sp) +/* 92ADFC 80240B4C 8FB00010 */ lw $s0, 0x10($sp) +/* 92AE00 80240B50 24020002 */ addiu $v0, $zero, 2 +/* 92AE04 80240B54 03E00008 */ jr $ra +/* 92AE08 80240B58 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B5C.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B5C.s new file mode 100644 index 0000000000..e103c94288 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B5C.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B5C +/* 92AE0C 80240B5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92AE10 80240B60 AFBF0010 */ sw $ra, 0x10($sp) +/* 92AE14 80240B64 0C03A876 */ jal set_max_SP +/* 92AE18 80240B68 24040002 */ addiu $a0, $zero, 2 +/* 92AE1C 80240B6C 3C028011 */ lui $v0, %hi(gPlayerData) +/* 92AE20 80240B70 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 92AE24 80240B74 90430003 */ lbu $v1, 3($v0) +/* 92AE28 80240B78 90440006 */ lbu $a0, 6($v0) +/* 92AE2C 80240B7C A0430002 */ sb $v1, 2($v0) +/* 92AE30 80240B80 0C03A6DB */ jal sync_status_menu +/* 92AE34 80240B84 A0440005 */ sb $a0, 5($v0) +/* 92AE38 80240B88 8FBF0010 */ lw $ra, 0x10($sp) +/* 92AE3C 80240B8C 24020002 */ addiu $v0, $zero, 2 +/* 92AE40 80240B90 03E00008 */ jr $ra +/* 92AE44 80240B94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B98_92A2B0.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B98_92A2B0.s new file mode 100644 index 0000000000..c3c22ad64a --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240B98_92A2B0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B98_92AE48 +/* 92AE48 80240B98 3C038011 */ lui $v1, %hi(gPlayerData) +/* 92AE4C 80240B9C 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 92AE50 80240BA0 8C6202BC */ lw $v0, 0x2bc($v1) +/* 92AE54 80240BA4 8C630324 */ lw $v1, 0x324($v1) +/* 92AE58 80240BA8 00431023 */ subu $v0, $v0, $v1 +/* 92AE5C 80240BAC 3C0391A2 */ lui $v1, 0x91a2 +/* 92AE60 80240BB0 3463B3C5 */ ori $v1, $v1, 0xb3c5 +/* 92AE64 80240BB4 00430019 */ multu $v0, $v1 +/* 92AE68 80240BB8 8C830084 */ lw $v1, 0x84($a0) +/* 92AE6C 80240BBC 00002810 */ mfhi $a1 +/* 92AE70 80240BC0 000512C2 */ srl $v0, $a1, 0xb +/* 92AE74 80240BC4 0043102A */ slt $v0, $v0, $v1 +/* 92AE78 80240BC8 AC820084 */ sw $v0, 0x84($a0) +/* 92AE7C 80240BCC 03E00008 */ jr $ra +/* 92AE80 80240BD0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sbk/sbk_02/func_80240BD4.s b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240BD4.s new file mode 100644 index 0000000000..8d5314841d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_02/func_80240BD4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BD4 +/* 92AE84 80240BD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 92AE88 80240BD8 AFB00010 */ sw $s0, 0x10($sp) +/* 92AE8C 80240BDC AFBF0014 */ sw $ra, 0x14($sp) +/* 92AE90 80240BE0 0C039D7B */ jal get_item_count +/* 92AE94 80240BE4 0080802D */ daddu $s0, $a0, $zero +/* 92AE98 80240BE8 AE020084 */ sw $v0, 0x84($s0) +/* 92AE9C 80240BEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 92AEA0 80240BF0 8FB00010 */ lw $s0, 0x10($sp) +/* 92AEA4 80240BF4 24020002 */ addiu $v0, $zero, 2 +/* 92AEA8 80240BF8 03E00008 */ jr $ra +/* 92AEAC 80240BFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_03/func_80240000_92F8B0.s b/asm/nonmatchings/world/area_sbk/sbk_03/func_80240000_92F8B0.s new file mode 100644 index 0000000000..07756d5116 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_03/func_80240000_92F8B0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_92F8B0 +/* 92F8B0 80240000 44800000 */ mtc1 $zero, $f0 +/* 92F8B4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 92F8B8 80240008 44050000 */ mfc1 $a1, $f0 +/* 92F8BC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 92F8C0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 92F8C4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 92F8C8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 92F8CC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 92F8D0 80240020 0C01CA54 */ jal func_80072950 +/* 92F8D4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 92F8D8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 92F8DC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 92F8E0 80240030 03E00008 */ jr $ra +/* 92F8E4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 92F8E8 80240038 00000000 */ nop +/* 92F8EC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_03/func_80240040_92F8B0.s b/asm/nonmatchings/world/area_sbk/sbk_03/func_80240040_92F8B0.s new file mode 100644 index 0000000000..7fbb874ad8 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_03/func_80240040_92F8B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_92F8F0 +/* 92F8F0 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 92F8F4 80240044 24020003 */ addiu $v0, $zero, 3 +/* 92F8F8 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 92F8FC 8024004C 03E00008 */ jr $ra +/* 92F900 80240050 24020002 */ addiu $v0, $zero, 2 +/* 92F904 80240054 00000000 */ nop +/* 92F908 80240058 00000000 */ nop +/* 92F90C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_04/func_80240000_9304D0.s b/asm/nonmatchings/world/area_sbk/sbk_04/func_80240000_9304D0.s new file mode 100644 index 0000000000..1fd03f5b91 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_04/func_80240000_9304D0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9304D0 +/* 9304D0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9304D4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9304D8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9304DC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9304E0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9304E4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9304E8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9304EC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9304F0 80240020 0C01CA54 */ jal func_80072950 +/* 9304F4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9304F8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9304FC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 930500 80240030 03E00008 */ jr $ra +/* 930504 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 930508 80240038 00000000 */ nop +/* 93050C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_04/func_80240040_9304D0.s b/asm/nonmatchings/world/area_sbk/sbk_04/func_80240040_9304D0.s new file mode 100644 index 0000000000..892ab284c1 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_04/func_80240040_9304D0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_930510 +/* 930510 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 930514 80240044 24020003 */ addiu $v0, $zero, 3 +/* 930518 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 93051C 8024004C 03E00008 */ jr $ra +/* 930520 80240050 24020002 */ addiu $v0, $zero, 2 +/* 930524 80240054 00000000 */ nop +/* 930528 80240058 00000000 */ nop +/* 93052C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_05/func_80240000_930CF0.s b/asm/nonmatchings/world/area_sbk/sbk_05/func_80240000_930CF0.s new file mode 100644 index 0000000000..0fba2990c9 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_05/func_80240000_930CF0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_930CF0 +/* 930CF0 80240000 44800000 */ mtc1 $zero, $f0 +/* 930CF4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 930CF8 80240008 44050000 */ mfc1 $a1, $f0 +/* 930CFC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 930D00 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 930D04 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 930D08 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 930D0C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 930D10 80240020 0C01CA54 */ jal func_80072950 +/* 930D14 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 930D18 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 930D1C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 930D20 80240030 03E00008 */ jr $ra +/* 930D24 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 930D28 80240038 00000000 */ nop +/* 930D2C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_05/func_80240040_930CF0.s b/asm/nonmatchings/world/area_sbk/sbk_05/func_80240040_930CF0.s new file mode 100644 index 0000000000..4f3b055a47 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_05/func_80240040_930CF0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_930D30 +/* 930D30 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 930D34 80240044 24020003 */ addiu $v0, $zero, 3 +/* 930D38 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 930D3C 8024004C 03E00008 */ jr $ra +/* 930D40 80240050 24020002 */ addiu $v0, $zero, 2 +/* 930D44 80240054 00000000 */ nop +/* 930D48 80240058 00000000 */ nop +/* 930D4C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_06/func_80240000_9325C0.s b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240000_9325C0.s new file mode 100644 index 0000000000..e4a479ebb6 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240000_9325C0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9325C0 +/* 9325C0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9325C4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9325C8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9325CC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9325D0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9325D4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9325D8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9325DC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9325E0 80240020 0C01CA54 */ jal func_80072950 +/* 9325E4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9325E8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9325EC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9325F0 80240030 03E00008 */ jr $ra +/* 9325F4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9325F8 80240038 00000000 */ nop +/* 9325FC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_06/func_80240040_9325C0.s b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240040_9325C0.s new file mode 100644 index 0000000000..bb5cb2441e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240040_9325C0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_932600 +/* 932600 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 932604 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 932608 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93260C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 932610 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 932614 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 932618 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93261C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 932620 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 932624 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 932628 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93262C 8024006C 8E050000 */ lw $a1, ($s0) +/* 932630 80240070 0C0B1EAF */ jal get_variable +/* 932634 80240074 26100004 */ addiu $s0, $s0, 4 +/* 932638 80240078 8E050000 */ lw $a1, ($s0) +/* 93263C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 932640 80240080 0260202D */ daddu $a0, $s3, $zero +/* 932644 80240084 0C0B1EAF */ jal get_variable +/* 932648 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93264C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 932650 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 932654 80240094 8E120000 */ lw $s2, ($s0) +/* 932658 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93265C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 932660 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 932664 802400A4 08090030 */ j .L802400C0 +/* 932668 802400A8 00000000 */ nop +.L802400AC: +/* 93266C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 932670 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 932674 802400B4 14400005 */ bnez $v0, .L802400CC +/* 932678 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93267C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 932680 802400C0 0C00EABB */ jal get_npc_unsafe +/* 932684 802400C4 00000000 */ nop +/* 932688 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93268C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 932690 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 932694 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 932698 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93269C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 9326A0 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 9326A4 802400E4 0C0B1EAF */ jal get_variable +/* 9326A8 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 9326AC 802400EC 1040000C */ beqz $v0, .L80240120 +/* 9326B0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 9326B4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9326B8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 9326BC 802400FC 44810000 */ mtc1 $at, $f0 +/* 9326C0 80240100 00000000 */ nop +/* 9326C4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 9326C8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 9326CC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 9326D0 80240110 44061000 */ mfc1 $a2, $f2 +/* 9326D4 80240114 0C04D083 */ jal set_item_entity_position +/* 9326D8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 9326DC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 9326E0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 9326E4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 9326E8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 9326EC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 9326F0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 9326F4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 9326F8 80240138 03E00008 */ jr $ra +/* 9326FC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_06/func_80240140.s b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240140.s new file mode 100644 index 0000000000..bdc5eda592 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_06/func_80240140.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140 +/* 932700 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 932704 80240144 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 932708 80240148 4485A000 */ mtc1 $a1, $f20 +/* 93270C 8024014C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 932710 80240150 4486B000 */ mtc1 $a2, $f22 +/* 932714 80240154 AFB00010 */ sw $s0, 0x10($sp) +/* 932718 80240158 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 93271C 8024015C 4487C000 */ mtc1 $a3, $f24 +/* 932720 80240160 AFBF0014 */ sw $ra, 0x14($sp) +/* 932724 80240164 0C019D28 */ jal guMtxIdentF +/* 932728 80240168 0080802D */ daddu $s0, $a0, $zero +/* 93272C 8024016C 4616A582 */ mul.s $f22, $f20, $f22 +/* 932730 80240170 00000000 */ nop +/* 932734 80240174 4618A502 */ mul.s $f20, $f20, $f24 +/* 932738 80240178 00000000 */ nop +/* 93273C 8024017C 3C013F80 */ lui $at, 0x3f80 +/* 932740 80240180 44810000 */ mtc1 $at, $f0 +/* 932744 80240184 00000000 */ nop +/* 932748 80240188 E6000014 */ swc1 $f0, 0x14($s0) +/* 93274C 8024018C E6160010 */ swc1 $f22, 0x10($s0) +/* 932750 80240190 E6140018 */ swc1 $f20, 0x18($s0) +/* 932754 80240194 8FBF0014 */ lw $ra, 0x14($sp) +/* 932758 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* 93275C 8024019C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 932760 802401A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 932764 802401A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 932768 802401A8 03E00008 */ jr $ra +/* 93276C 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_06/func_802401B0_9325C0.s b/asm/nonmatchings/world/area_sbk/sbk_06/func_802401B0_9325C0.s new file mode 100644 index 0000000000..37838747a5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_06/func_802401B0_9325C0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_932770 +/* 932770 802401B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 932774 802401B4 AFB10054 */ sw $s1, 0x54($sp) +/* 932778 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 93277C 802401BC AFBF005C */ sw $ra, 0x5c($sp) +/* 932780 802401C0 AFB20058 */ sw $s2, 0x58($sp) +/* 932784 802401C4 AFB00050 */ sw $s0, 0x50($sp) +/* 932788 802401C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 93278C 802401CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 932790 802401D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 932794 802401D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 932798 802401D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 93279C 802401DC 8E30000C */ lw $s0, 0xc($s1) +/* 9327A0 802401E0 8E050000 */ lw $a1, ($s0) +/* 9327A4 802401E4 0C0B1EAF */ jal get_variable +/* 9327A8 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 9327AC 802401EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9327B0 802401F0 0040202D */ daddu $a0, $v0, $zero +/* 9327B4 802401F4 8E050000 */ lw $a1, ($s0) +/* 9327B8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 9327BC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 9327C0 80240200 0C0B210B */ jal get_float_variable +/* 9327C4 80240204 0040902D */ daddu $s2, $v0, $zero +/* 9327C8 80240208 8E050000 */ lw $a1, ($s0) +/* 9327CC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 9327D0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 9327D4 80240214 0C0B210B */ jal get_float_variable +/* 9327D8 80240218 46000706 */ mov.s $f28, $f0 +/* 9327DC 8024021C 8E050000 */ lw $a1, ($s0) +/* 9327E0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 9327E4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 9327E8 80240228 0C0B210B */ jal get_float_variable +/* 9327EC 8024022C 46000686 */ mov.s $f26, $f0 +/* 9327F0 80240230 0220202D */ daddu $a0, $s1, $zero +/* 9327F4 80240234 8E050000 */ lw $a1, ($s0) +/* 9327F8 80240238 0C0B210B */ jal get_float_variable +/* 9327FC 8024023C 46000586 */ mov.s $f22, $f0 +/* 932800 80240240 0240202D */ daddu $a0, $s2, $zero +/* 932804 80240244 0C046B4C */ jal get_model_from_list_index +/* 932808 80240248 46000606 */ mov.s $f24, $f0 +/* 93280C 8024024C 0040882D */ daddu $s1, $v0, $zero +/* 932810 80240250 96220000 */ lhu $v0, ($s1) +/* 932814 80240254 30420400 */ andi $v0, $v0, 0x400 +/* 932818 80240258 1440001E */ bnez $v0, .L802402D4 +/* 93281C 8024025C 26300058 */ addiu $s0, $s1, 0x58 +/* 932820 80240260 4480A000 */ mtc1 $zero, $f20 +/* 932824 80240264 4406B000 */ mfc1 $a2, $f22 +/* 932828 80240268 4405A000 */ mfc1 $a1, $f20 +/* 93282C 8024026C 4407A000 */ mfc1 $a3, $f20 +/* 932830 80240270 0C019E40 */ jal guTranslateF +/* 932834 80240274 0200202D */ daddu $a0, $s0, $zero +/* 932838 80240278 4405E000 */ mfc1 $a1, $f28 +/* 93283C 8024027C 4406D000 */ mfc1 $a2, $f26 +/* 932840 80240280 4407C000 */ mfc1 $a3, $f24 +/* 932844 80240284 0C090050 */ jal func_80240140 +/* 932848 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* 93284C 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 932850 80240290 0200282D */ daddu $a1, $s0, $zero +/* 932854 80240294 0C019D80 */ jal guMtxCatF +/* 932858 80240298 0200302D */ daddu $a2, $s0, $zero +/* 93285C 8024029C 27A40010 */ addiu $a0, $sp, 0x10 +/* 932860 802402A0 4600B587 */ neg.s $f22, $f22 +/* 932864 802402A4 4405A000 */ mfc1 $a1, $f20 +/* 932868 802402A8 4406B000 */ mfc1 $a2, $f22 +/* 93286C 802402AC 0C019E40 */ jal guTranslateF +/* 932870 802402B0 00A0382D */ daddu $a3, $a1, $zero +/* 932874 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 932878 802402B8 0200282D */ daddu $a1, $s0, $zero +/* 93287C 802402BC 0C019D80 */ jal guMtxCatF +/* 932880 802402C0 00A0302D */ daddu $a2, $a1, $zero +/* 932884 802402C4 96220000 */ lhu $v0, ($s1) +/* 932888 802402C8 34421400 */ ori $v0, $v0, 0x1400 +/* 93288C 802402CC 080900D3 */ j .L8024034C +/* 932890 802402D0 A6220000 */ sh $v0, ($s1) +.L802402D4: +/* 932894 802402D4 4480A000 */ mtc1 $zero, $f20 +/* 932898 802402D8 4406B000 */ mfc1 $a2, $f22 +/* 93289C 802402DC 4405A000 */ mfc1 $a1, $f20 +/* 9328A0 802402E0 4407A000 */ mfc1 $a3, $f20 +/* 9328A4 802402E4 0C019E40 */ jal guTranslateF +/* 9328A8 802402E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9328AC 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9328B0 802402F0 26300058 */ addiu $s0, $s1, 0x58 +/* 9328B4 802402F4 0200282D */ daddu $a1, $s0, $zero +/* 9328B8 802402F8 0C019D80 */ jal guMtxCatF +/* 9328BC 802402FC 0200302D */ daddu $a2, $s0, $zero +/* 9328C0 80240300 4405E000 */ mfc1 $a1, $f28 +/* 9328C4 80240304 4406D000 */ mfc1 $a2, $f26 +/* 9328C8 80240308 4407C000 */ mfc1 $a3, $f24 +/* 9328CC 8024030C 0C090050 */ jal func_80240140 +/* 9328D0 80240310 27A40010 */ addiu $a0, $sp, 0x10 +/* 9328D4 80240314 27A40010 */ addiu $a0, $sp, 0x10 +/* 9328D8 80240318 0200282D */ daddu $a1, $s0, $zero +/* 9328DC 8024031C 0C019D80 */ jal guMtxCatF +/* 9328E0 80240320 0200302D */ daddu $a2, $s0, $zero +/* 9328E4 80240324 27A40010 */ addiu $a0, $sp, 0x10 +/* 9328E8 80240328 4600B587 */ neg.s $f22, $f22 +/* 9328EC 8024032C 4405A000 */ mfc1 $a1, $f20 +/* 9328F0 80240330 4406B000 */ mfc1 $a2, $f22 +/* 9328F4 80240334 0C019E40 */ jal guTranslateF +/* 9328F8 80240338 00A0382D */ daddu $a3, $a1, $zero +/* 9328FC 8024033C 27A40010 */ addiu $a0, $sp, 0x10 +/* 932900 80240340 0200282D */ daddu $a1, $s0, $zero +/* 932904 80240344 0C019D80 */ jal guMtxCatF +/* 932908 80240348 00A0302D */ daddu $a2, $a1, $zero +.L8024034C: +/* 93290C 8024034C 8FBF005C */ lw $ra, 0x5c($sp) +/* 932910 80240350 8FB20058 */ lw $s2, 0x58($sp) +/* 932914 80240354 8FB10054 */ lw $s1, 0x54($sp) +/* 932918 80240358 8FB00050 */ lw $s0, 0x50($sp) +/* 93291C 8024035C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 932920 80240360 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 932924 80240364 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 932928 80240368 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 93292C 8024036C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 932930 80240370 24020002 */ addiu $v0, $zero, 2 +/* 932934 80240374 03E00008 */ jr $ra +/* 932938 80240378 27BD0088 */ addiu $sp, $sp, 0x88 +/* 93293C 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_10/func_80240000_933C80.s b/asm/nonmatchings/world/area_sbk/sbk_10/func_80240000_933C80.s new file mode 100644 index 0000000000..318bb7c27d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_10/func_80240000_933C80.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_933C80 +/* 933C80 80240000 44800000 */ mtc1 $zero, $f0 +/* 933C84 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 933C88 80240008 44050000 */ mfc1 $a1, $f0 +/* 933C8C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 933C90 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 933C94 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 933C98 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 933C9C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 933CA0 80240020 0C01CA54 */ jal func_80072950 +/* 933CA4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 933CA8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 933CAC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 933CB0 80240030 03E00008 */ jr $ra +/* 933CB4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 933CB8 80240038 00000000 */ nop +/* 933CBC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_11/func_80240000_934040.s b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240000_934040.s new file mode 100644 index 0000000000..97b1fc42d2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240000_934040.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_934040 +/* 934040 80240000 44800000 */ mtc1 $zero, $f0 +/* 934044 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 934048 80240008 44050000 */ mfc1 $a1, $f0 +/* 93404C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 934050 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 934054 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 934058 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93405C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 934060 80240020 0C01CA54 */ jal func_80072950 +/* 934064 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 934068 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93406C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 934070 80240030 03E00008 */ jr $ra +/* 934074 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 934078 80240038 00000000 */ nop +/* 93407C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_11/func_80240040_934040.s b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240040_934040.s new file mode 100644 index 0000000000..ea4cc0601b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240040_934040.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_934080 +/* 934080 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 934084 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 934088 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93408C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 934090 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 934094 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 934098 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93409C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 9340A0 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 9340A4 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 9340A8 80240068 0260202D */ daddu $a0, $s3, $zero +/* 9340AC 8024006C 8E050000 */ lw $a1, ($s0) +/* 9340B0 80240070 0C0B1EAF */ jal get_variable +/* 9340B4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 9340B8 80240078 8E050000 */ lw $a1, ($s0) +/* 9340BC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 9340C0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 9340C4 80240084 0C0B1EAF */ jal get_variable +/* 9340C8 80240088 0040882D */ daddu $s1, $v0, $zero +/* 9340CC 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 9340D0 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 9340D4 80240094 8E120000 */ lw $s2, ($s0) +/* 9340D8 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 9340DC 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 9340E0 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 9340E4 802400A4 08090030 */ j .L802400C0 +/* 9340E8 802400A8 00000000 */ nop +.L802400AC: +/* 9340EC 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 9340F0 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 9340F4 802400B4 14400005 */ bnez $v0, .L802400CC +/* 9340F8 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 9340FC 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 934100 802400C0 0C00EABB */ jal get_npc_unsafe +/* 934104 802400C4 00000000 */ nop +/* 934108 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93410C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 934110 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 934114 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 934118 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93411C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 934120 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 934124 802400E4 0C0B1EAF */ jal get_variable +/* 934128 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 93412C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 934130 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 934134 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 934138 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 93413C 802400FC 44810000 */ mtc1 $at, $f0 +/* 934140 80240100 00000000 */ nop +/* 934144 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 934148 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 93414C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 934150 80240110 44061000 */ mfc1 $a2, $f2 +/* 934154 80240114 0C04D083 */ jal set_item_entity_position +/* 934158 80240118 0280202D */ daddu $a0, $s4, $zero +/* 93415C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 934160 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 934164 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 934168 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 93416C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 934170 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 934174 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 934178 80240138 03E00008 */ jr $ra +/* 93417C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_11/func_80240140_934040.s b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240140_934040.s new file mode 100644 index 0000000000..cf9d924605 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_11/func_80240140_934040.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_934180 +/* 934180 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 934184 80240144 24020003 */ addiu $v0, $zero, 3 +/* 934188 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 93418C 8024014C 03E00008 */ jr $ra +/* 934190 80240150 24020002 */ addiu $v0, $zero, 2 +/* 934194 80240154 00000000 */ nop +/* 934198 80240158 00000000 */ nop +/* 93419C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_12/func_80240000_934D40.s b/asm/nonmatchings/world/area_sbk/sbk_12/func_80240000_934D40.s new file mode 100644 index 0000000000..ea3f5e5c87 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_12/func_80240000_934D40.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_934D40 +/* 934D40 80240000 44800000 */ mtc1 $zero, $f0 +/* 934D44 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 934D48 80240008 44050000 */ mfc1 $a1, $f0 +/* 934D4C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 934D50 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 934D54 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 934D58 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 934D5C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 934D60 80240020 0C01CA54 */ jal func_80072950 +/* 934D64 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 934D68 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 934D6C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 934D70 80240030 03E00008 */ jr $ra +/* 934D74 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 934D78 80240038 00000000 */ nop +/* 934D7C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_12/func_80240040_934D40.s b/asm/nonmatchings/world/area_sbk/sbk_12/func_80240040_934D40.s new file mode 100644 index 0000000000..bd715a9d96 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_12/func_80240040_934D40.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_934D80 +/* 934D80 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 934D84 80240044 24020003 */ addiu $v0, $zero, 3 +/* 934D88 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 934D8C 8024004C 03E00008 */ jr $ra +/* 934D90 80240050 24020002 */ addiu $v0, $zero, 2 +/* 934D94 80240054 00000000 */ nop +/* 934D98 80240058 00000000 */ nop +/* 934D9C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_13/func_80240000_9357E0.s b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240000_9357E0.s new file mode 100644 index 0000000000..1d923b2f41 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240000_9357E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9357E0 +/* 9357E0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9357E4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9357E8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9357EC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9357F0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9357F4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9357F8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9357FC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 935800 80240020 0C01CA54 */ jal func_80072950 +/* 935804 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 935808 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93580C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 935810 80240030 03E00008 */ jr $ra +/* 935814 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 935818 80240038 00000000 */ nop +/* 93581C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_13/func_80240040_9357E0.s b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240040_9357E0.s new file mode 100644 index 0000000000..2f431b592a --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240040_9357E0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_935820 +/* 935820 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 935824 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 935828 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93582C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 935830 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 935834 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 935838 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93583C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 935840 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 935844 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 935848 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93584C 8024006C 8E050000 */ lw $a1, ($s0) +/* 935850 80240070 0C0B1EAF */ jal get_variable +/* 935854 80240074 26100004 */ addiu $s0, $s0, 4 +/* 935858 80240078 8E050000 */ lw $a1, ($s0) +/* 93585C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 935860 80240080 0260202D */ daddu $a0, $s3, $zero +/* 935864 80240084 0C0B1EAF */ jal get_variable +/* 935868 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93586C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 935870 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 935874 80240094 8E120000 */ lw $s2, ($s0) +/* 935878 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93587C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 935880 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 935884 802400A4 08090030 */ j .L802400C0 +/* 935888 802400A8 00000000 */ nop +.L802400AC: +/* 93588C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 935890 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 935894 802400B4 14400005 */ bnez $v0, .L802400CC +/* 935898 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93589C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 9358A0 802400C0 0C00EABB */ jal get_npc_unsafe +/* 9358A4 802400C4 00000000 */ nop +/* 9358A8 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 9358AC 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 9358B0 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 9358B4 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 9358B8 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 9358BC 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 9358C0 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 9358C4 802400E4 0C0B1EAF */ jal get_variable +/* 9358C8 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 9358CC 802400EC 1040000C */ beqz $v0, .L80240120 +/* 9358D0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 9358D4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9358D8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 9358DC 802400FC 44810000 */ mtc1 $at, $f0 +/* 9358E0 80240100 00000000 */ nop +/* 9358E4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 9358E8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 9358EC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 9358F0 80240110 44061000 */ mfc1 $a2, $f2 +/* 9358F4 80240114 0C04D083 */ jal set_item_entity_position +/* 9358F8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 9358FC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 935900 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 935904 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 935908 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 93590C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 935910 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 935914 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 935918 80240138 03E00008 */ jr $ra +/* 93591C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_13/func_80240140_9357E0.s b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240140_9357E0.s new file mode 100644 index 0000000000..e0efc6dc10 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_13/func_80240140_9357E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_935920 +/* 935920 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 935924 80240144 24020003 */ addiu $v0, $zero, 3 +/* 935928 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 93592C 8024014C 03E00008 */ jr $ra +/* 935930 80240150 24020002 */ addiu $v0, $zero, 2 +/* 935934 80240154 00000000 */ nop +/* 935938 80240158 00000000 */ nop +/* 93593C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_14/func_80240000_9366E0.s b/asm/nonmatchings/world/area_sbk/sbk_14/func_80240000_9366E0.s new file mode 100644 index 0000000000..56634b13cf --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_14/func_80240000_9366E0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9366E0 +/* 9366E0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9366E4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9366E8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9366EC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9366F0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9366F4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9366F8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9366FC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 936700 80240020 0C01CA54 */ jal func_80072950 +/* 936704 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 936708 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93670C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 936710 80240030 03E00008 */ jr $ra +/* 936714 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 936718 80240038 00000000 */ nop +/* 93671C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_15/func_80240000_936CD0.s b/asm/nonmatchings/world/area_sbk/sbk_15/func_80240000_936CD0.s new file mode 100644 index 0000000000..4d06768b3e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_15/func_80240000_936CD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_936CD0 +/* 936CD0 80240000 44800000 */ mtc1 $zero, $f0 +/* 936CD4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 936CD8 80240008 44050000 */ mfc1 $a1, $f0 +/* 936CDC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 936CE0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 936CE4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 936CE8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 936CEC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 936CF0 80240020 0C01CA54 */ jal func_80072950 +/* 936CF4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 936CF8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 936CFC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 936D00 80240030 03E00008 */ jr $ra +/* 936D04 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 936D08 80240038 00000000 */ nop +/* 936D0C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_15/func_80240040_936CD0.s b/asm/nonmatchings/world/area_sbk/sbk_15/func_80240040_936CD0.s new file mode 100644 index 0000000000..a119d8ae0c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_15/func_80240040_936CD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_936D10 +/* 936D10 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 936D14 80240044 24020003 */ addiu $v0, $zero, 3 +/* 936D18 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 936D1C 8024004C 03E00008 */ jr $ra +/* 936D20 80240050 24020002 */ addiu $v0, $zero, 2 +/* 936D24 80240054 00000000 */ nop +/* 936D28 80240058 00000000 */ nop +/* 936D2C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_16/func_80240000_937570.s b/asm/nonmatchings/world/area_sbk/sbk_16/func_80240000_937570.s new file mode 100644 index 0000000000..b25dad606c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_16/func_80240000_937570.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_937570 +/* 937570 80240000 44800000 */ mtc1 $zero, $f0 +/* 937574 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 937578 80240008 44050000 */ mfc1 $a1, $f0 +/* 93757C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 937580 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 937584 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 937588 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93758C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 937590 80240020 0C01CA54 */ jal func_80072950 +/* 937594 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 937598 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93759C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9375A0 80240030 03E00008 */ jr $ra +/* 9375A4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9375A8 80240038 00000000 */ nop +/* 9375AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_16/func_80240040_937570.s b/asm/nonmatchings/world/area_sbk/sbk_16/func_80240040_937570.s new file mode 100644 index 0000000000..d3f6c55efb --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_16/func_80240040_937570.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_9375B0 +/* 9375B0 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9375B4 80240044 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9375B8 80240048 4485A000 */ mtc1 $a1, $f20 +/* 9375BC 8024004C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 9375C0 80240050 4486B000 */ mtc1 $a2, $f22 +/* 9375C4 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 9375C8 80240058 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 9375CC 8024005C 4487C000 */ mtc1 $a3, $f24 +/* 9375D0 80240060 AFBF0014 */ sw $ra, 0x14($sp) +/* 9375D4 80240064 0C019D28 */ jal guMtxIdentF +/* 9375D8 80240068 0080802D */ daddu $s0, $a0, $zero +/* 9375DC 8024006C 4616A582 */ mul.s $f22, $f20, $f22 +/* 9375E0 80240070 00000000 */ nop +/* 9375E4 80240074 4618A502 */ mul.s $f20, $f20, $f24 +/* 9375E8 80240078 00000000 */ nop +/* 9375EC 8024007C 3C013F80 */ lui $at, 0x3f80 +/* 9375F0 80240080 44810000 */ mtc1 $at, $f0 +/* 9375F4 80240084 00000000 */ nop +/* 9375F8 80240088 E6000014 */ swc1 $f0, 0x14($s0) +/* 9375FC 8024008C E6160010 */ swc1 $f22, 0x10($s0) +/* 937600 80240090 E6140018 */ swc1 $f20, 0x18($s0) +/* 937604 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* 937608 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* 93760C 8024009C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 937610 802400A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 937614 802400A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 937618 802400A8 03E00008 */ jr $ra +/* 93761C 802400AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_16/func_802400B0.s b/asm/nonmatchings/world/area_sbk/sbk_16/func_802400B0.s new file mode 100644 index 0000000000..804d20c60c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_16/func_802400B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0 +/* 937620 802400B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 937624 802400B4 AFB10054 */ sw $s1, 0x54($sp) +/* 937628 802400B8 0080882D */ daddu $s1, $a0, $zero +/* 93762C 802400BC AFBF005C */ sw $ra, 0x5c($sp) +/* 937630 802400C0 AFB20058 */ sw $s2, 0x58($sp) +/* 937634 802400C4 AFB00050 */ sw $s0, 0x50($sp) +/* 937638 802400C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 93763C 802400CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 937640 802400D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 937644 802400D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 937648 802400D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 93764C 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* 937650 802400E0 8E050000 */ lw $a1, ($s0) +/* 937654 802400E4 0C0B1EAF */ jal get_variable +/* 937658 802400E8 26100004 */ addiu $s0, $s0, 4 +/* 93765C 802400EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 937660 802400F0 0040202D */ daddu $a0, $v0, $zero +/* 937664 802400F4 8E050000 */ lw $a1, ($s0) +/* 937668 802400F8 26100004 */ addiu $s0, $s0, 4 +/* 93766C 802400FC 0220202D */ daddu $a0, $s1, $zero +/* 937670 80240100 0C0B210B */ jal get_float_variable +/* 937674 80240104 0040902D */ daddu $s2, $v0, $zero +/* 937678 80240108 8E050000 */ lw $a1, ($s0) +/* 93767C 8024010C 26100004 */ addiu $s0, $s0, 4 +/* 937680 80240110 0220202D */ daddu $a0, $s1, $zero +/* 937684 80240114 0C0B210B */ jal get_float_variable +/* 937688 80240118 46000706 */ mov.s $f28, $f0 +/* 93768C 8024011C 8E050000 */ lw $a1, ($s0) +/* 937690 80240120 26100004 */ addiu $s0, $s0, 4 +/* 937694 80240124 0220202D */ daddu $a0, $s1, $zero +/* 937698 80240128 0C0B210B */ jal get_float_variable +/* 93769C 8024012C 46000686 */ mov.s $f26, $f0 +/* 9376A0 80240130 0220202D */ daddu $a0, $s1, $zero +/* 9376A4 80240134 8E050000 */ lw $a1, ($s0) +/* 9376A8 80240138 0C0B210B */ jal get_float_variable +/* 9376AC 8024013C 46000586 */ mov.s $f22, $f0 +/* 9376B0 80240140 0240202D */ daddu $a0, $s2, $zero +/* 9376B4 80240144 0C046B4C */ jal get_model_from_list_index +/* 9376B8 80240148 46000606 */ mov.s $f24, $f0 +/* 9376BC 8024014C 0040882D */ daddu $s1, $v0, $zero +/* 9376C0 80240150 96220000 */ lhu $v0, ($s1) +/* 9376C4 80240154 30420400 */ andi $v0, $v0, 0x400 +/* 9376C8 80240158 1440001E */ bnez $v0, .L802401D4 +/* 9376CC 8024015C 26300058 */ addiu $s0, $s1, 0x58 +/* 9376D0 80240160 4480A000 */ mtc1 $zero, $f20 +/* 9376D4 80240164 4406B000 */ mfc1 $a2, $f22 +/* 9376D8 80240168 4405A000 */ mfc1 $a1, $f20 +/* 9376DC 8024016C 4407A000 */ mfc1 $a3, $f20 +/* 9376E0 80240170 0C019E40 */ jal guTranslateF +/* 9376E4 80240174 0200202D */ daddu $a0, $s0, $zero +/* 9376E8 80240178 4405E000 */ mfc1 $a1, $f28 +/* 9376EC 8024017C 4406D000 */ mfc1 $a2, $f26 +/* 9376F0 80240180 4407C000 */ mfc1 $a3, $f24 +/* 9376F4 80240184 0C090010 */ jal func_80240040 +/* 9376F8 80240188 27A40010 */ addiu $a0, $sp, 0x10 +/* 9376FC 8024018C 27A40010 */ addiu $a0, $sp, 0x10 +/* 937700 80240190 0200282D */ daddu $a1, $s0, $zero +/* 937704 80240194 0C019D80 */ jal guMtxCatF +/* 937708 80240198 0200302D */ daddu $a2, $s0, $zero +/* 93770C 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* 937710 802401A0 4600B587 */ neg.s $f22, $f22 +/* 937714 802401A4 4405A000 */ mfc1 $a1, $f20 +/* 937718 802401A8 4406B000 */ mfc1 $a2, $f22 +/* 93771C 802401AC 0C019E40 */ jal guTranslateF +/* 937720 802401B0 00A0382D */ daddu $a3, $a1, $zero +/* 937724 802401B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 937728 802401B8 0200282D */ daddu $a1, $s0, $zero +/* 93772C 802401BC 0C019D80 */ jal guMtxCatF +/* 937730 802401C0 00A0302D */ daddu $a2, $a1, $zero +/* 937734 802401C4 96220000 */ lhu $v0, ($s1) +/* 937738 802401C8 34421400 */ ori $v0, $v0, 0x1400 +/* 93773C 802401CC 08090093 */ j .L8024024C +/* 937740 802401D0 A6220000 */ sh $v0, ($s1) +.L802401D4: +/* 937744 802401D4 4480A000 */ mtc1 $zero, $f20 +/* 937748 802401D8 4406B000 */ mfc1 $a2, $f22 +/* 93774C 802401DC 4405A000 */ mfc1 $a1, $f20 +/* 937750 802401E0 4407A000 */ mfc1 $a3, $f20 +/* 937754 802401E4 0C019E40 */ jal guTranslateF +/* 937758 802401E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 93775C 802401EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 937760 802401F0 26300058 */ addiu $s0, $s1, 0x58 +/* 937764 802401F4 0200282D */ daddu $a1, $s0, $zero +/* 937768 802401F8 0C019D80 */ jal guMtxCatF +/* 93776C 802401FC 0200302D */ daddu $a2, $s0, $zero +/* 937770 80240200 4405E000 */ mfc1 $a1, $f28 +/* 937774 80240204 4406D000 */ mfc1 $a2, $f26 +/* 937778 80240208 4407C000 */ mfc1 $a3, $f24 +/* 93777C 8024020C 0C090010 */ jal func_80240040 +/* 937780 80240210 27A40010 */ addiu $a0, $sp, 0x10 +/* 937784 80240214 27A40010 */ addiu $a0, $sp, 0x10 +/* 937788 80240218 0200282D */ daddu $a1, $s0, $zero +/* 93778C 8024021C 0C019D80 */ jal guMtxCatF +/* 937790 80240220 0200302D */ daddu $a2, $s0, $zero +/* 937794 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* 937798 80240228 4600B587 */ neg.s $f22, $f22 +/* 93779C 8024022C 4405A000 */ mfc1 $a1, $f20 +/* 9377A0 80240230 4406B000 */ mfc1 $a2, $f22 +/* 9377A4 80240234 0C019E40 */ jal guTranslateF +/* 9377A8 80240238 00A0382D */ daddu $a3, $a1, $zero +/* 9377AC 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9377B0 80240240 0200282D */ daddu $a1, $s0, $zero +/* 9377B4 80240244 0C019D80 */ jal guMtxCatF +/* 9377B8 80240248 00A0302D */ daddu $a2, $a1, $zero +.L8024024C: +/* 9377BC 8024024C 8FBF005C */ lw $ra, 0x5c($sp) +/* 9377C0 80240250 8FB20058 */ lw $s2, 0x58($sp) +/* 9377C4 80240254 8FB10054 */ lw $s1, 0x54($sp) +/* 9377C8 80240258 8FB00050 */ lw $s0, 0x50($sp) +/* 9377CC 8024025C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 9377D0 80240260 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9377D4 80240264 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9377D8 80240268 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9377DC 8024026C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9377E0 80240270 24020002 */ addiu $v0, $zero, 2 +/* 9377E4 80240274 03E00008 */ jr $ra +/* 9377E8 80240278 27BD0088 */ addiu $sp, $sp, 0x88 +/* 9377EC 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_20/func_80240000_938590.s b/asm/nonmatchings/world/area_sbk/sbk_20/func_80240000_938590.s new file mode 100644 index 0000000000..7e825702dd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_20/func_80240000_938590.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_938590 +/* 938590 80240000 44800000 */ mtc1 $zero, $f0 +/* 938594 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 938598 80240008 44050000 */ mfc1 $a1, $f0 +/* 93859C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9385A0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9385A4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9385A8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9385AC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9385B0 80240020 0C01CA54 */ jal func_80072950 +/* 9385B4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9385B8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9385BC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9385C0 80240030 03E00008 */ jr $ra +/* 9385C4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9385C8 80240038 00000000 */ nop +/* 9385CC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_20/func_80240040_938590.s b/asm/nonmatchings/world/area_sbk/sbk_20/func_80240040_938590.s new file mode 100644 index 0000000000..b104f71612 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_20/func_80240040_938590.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_9385D0 +/* 9385D0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9385D4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 9385D8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 9385DC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 9385E0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 9385E4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 9385E8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 9385EC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 9385F0 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 9385F4 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 9385F8 80240068 0260202D */ daddu $a0, $s3, $zero +/* 9385FC 8024006C 8E050000 */ lw $a1, ($s0) +/* 938600 80240070 0C0B1EAF */ jal get_variable +/* 938604 80240074 26100004 */ addiu $s0, $s0, 4 +/* 938608 80240078 8E050000 */ lw $a1, ($s0) +/* 93860C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 938610 80240080 0260202D */ daddu $a0, $s3, $zero +/* 938614 80240084 0C0B1EAF */ jal get_variable +/* 938618 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93861C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 938620 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 938624 80240094 8E120000 */ lw $s2, ($s0) +/* 938628 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93862C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 938630 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 938634 802400A4 08090030 */ j .L802400C0 +/* 938638 802400A8 00000000 */ nop +.L802400AC: +/* 93863C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 938640 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 938644 802400B4 14400005 */ bnez $v0, .L802400CC +/* 938648 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93864C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 938650 802400C0 0C00EABB */ jal get_npc_unsafe +/* 938654 802400C4 00000000 */ nop +/* 938658 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93865C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 938660 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 938664 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 938668 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93866C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 938670 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 938674 802400E4 0C0B1EAF */ jal get_variable +/* 938678 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 93867C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 938680 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 938684 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 938688 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 93868C 802400FC 44810000 */ mtc1 $at, $f0 +/* 938690 80240100 00000000 */ nop +/* 938694 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 938698 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 93869C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 9386A0 80240110 44061000 */ mfc1 $a2, $f2 +/* 9386A4 80240114 0C04D083 */ jal set_item_entity_position +/* 9386A8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 9386AC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 9386B0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 9386B4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 9386B8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 9386BC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 9386C0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 9386C4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 9386C8 80240138 03E00008 */ jr $ra +/* 9386CC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_21/func_80240000_939560.s b/asm/nonmatchings/world/area_sbk/sbk_21/func_80240000_939560.s new file mode 100644 index 0000000000..77c03037d5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_21/func_80240000_939560.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_939560 +/* 939560 80240000 44800000 */ mtc1 $zero, $f0 +/* 939564 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 939568 80240008 44050000 */ mfc1 $a1, $f0 +/* 93956C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 939570 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 939574 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 939578 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93957C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 939580 80240020 0C01CA54 */ jal func_80072950 +/* 939584 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 939588 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93958C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 939590 80240030 03E00008 */ jr $ra +/* 939594 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 939598 80240038 00000000 */ nop +/* 93959C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_22/func_80240000_939930.s b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240000_939930.s new file mode 100644 index 0000000000..bce021b86e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240000_939930.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_939930 +/* 939930 80240000 44800000 */ mtc1 $zero, $f0 +/* 939934 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 939938 80240008 44050000 */ mfc1 $a1, $f0 +/* 93993C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 939940 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 939944 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 939948 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93994C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 939950 80240020 0C01CA54 */ jal func_80072950 +/* 939954 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 939958 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93995C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 939960 80240030 03E00008 */ jr $ra +/* 939964 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 939968 80240038 00000000 */ nop +/* 93996C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_22/func_80240040_939930.s b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240040_939930.s new file mode 100644 index 0000000000..006f4d78f2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240040_939930.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_939970 +/* 939970 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 939974 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 939978 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93997C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 939980 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 939984 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 939988 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93998C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 939990 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 939994 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 939998 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93999C 8024006C 8E050000 */ lw $a1, ($s0) +/* 9399A0 80240070 0C0B1EAF */ jal get_variable +/* 9399A4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 9399A8 80240078 8E050000 */ lw $a1, ($s0) +/* 9399AC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 9399B0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 9399B4 80240084 0C0B1EAF */ jal get_variable +/* 9399B8 80240088 0040882D */ daddu $s1, $v0, $zero +/* 9399BC 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 9399C0 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 9399C4 80240094 8E120000 */ lw $s2, ($s0) +/* 9399C8 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 9399CC 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 9399D0 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 9399D4 802400A4 08090030 */ j .L802400C0 +/* 9399D8 802400A8 00000000 */ nop +.L802400AC: +/* 9399DC 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 9399E0 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 9399E4 802400B4 14400005 */ bnez $v0, .L802400CC +/* 9399E8 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 9399EC 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 9399F0 802400C0 0C00EABB */ jal get_npc_unsafe +/* 9399F4 802400C4 00000000 */ nop +/* 9399F8 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 9399FC 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 939A00 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 939A04 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 939A08 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 939A0C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 939A10 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 939A14 802400E4 0C0B1EAF */ jal get_variable +/* 939A18 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 939A1C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 939A20 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 939A24 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 939A28 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 939A2C 802400FC 44810000 */ mtc1 $at, $f0 +/* 939A30 80240100 00000000 */ nop +/* 939A34 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 939A38 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 939A3C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 939A40 80240110 44061000 */ mfc1 $a2, $f2 +/* 939A44 80240114 0C04D083 */ jal set_item_entity_position +/* 939A48 80240118 0280202D */ daddu $a0, $s4, $zero +/* 939A4C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 939A50 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 939A54 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 939A58 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 939A5C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 939A60 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 939A64 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 939A68 80240138 03E00008 */ jr $ra +/* 939A6C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_22/func_80240140_939930.s b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240140_939930.s new file mode 100644 index 0000000000..732c4a61a6 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_22/func_80240140_939930.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_939A70 +/* 939A70 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 939A74 80240144 24020003 */ addiu $v0, $zero, 3 +/* 939A78 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 939A7C 8024014C 03E00008 */ jr $ra +/* 939A80 80240150 24020002 */ addiu $v0, $zero, 2 +/* 939A84 80240154 00000000 */ nop +/* 939A88 80240158 00000000 */ nop +/* 939A8C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_23/func_80240000_93A760.s b/asm/nonmatchings/world/area_sbk/sbk_23/func_80240000_93A760.s new file mode 100644 index 0000000000..79f7870d07 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_23/func_80240000_93A760.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_93A760 +/* 93A760 80240000 44800000 */ mtc1 $zero, $f0 +/* 93A764 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93A768 80240008 44050000 */ mfc1 $a1, $f0 +/* 93A76C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 93A770 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 93A774 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 93A778 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93A77C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 93A780 80240020 0C01CA54 */ jal func_80072950 +/* 93A784 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 93A788 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93A78C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 93A790 80240030 03E00008 */ jr $ra +/* 93A794 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 93A798 80240038 00000000 */ nop +/* 93A79C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_24/func_80240000_93AC30.s b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240000_93AC30.s new file mode 100644 index 0000000000..ba225a2345 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240000_93AC30.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_93AC30 +/* 93AC30 80240000 44800000 */ mtc1 $zero, $f0 +/* 93AC34 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93AC38 80240008 44050000 */ mfc1 $a1, $f0 +/* 93AC3C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 93AC40 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 93AC44 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 93AC48 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93AC4C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 93AC50 80240020 0C01CA54 */ jal func_80072950 +/* 93AC54 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 93AC58 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93AC5C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 93AC60 80240030 03E00008 */ jr $ra +/* 93AC64 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 93AC68 80240038 00000000 */ nop +/* 93AC6C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_24/func_80240040_93AC30.s b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240040_93AC30.s new file mode 100644 index 0000000000..e5a641a1e4 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240040_93AC30.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_93AC70 +/* 93AC70 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 93AC74 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 93AC78 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93AC7C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 93AC80 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 93AC84 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 93AC88 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93AC8C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 93AC90 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 93AC94 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 93AC98 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93AC9C 8024006C 8E050000 */ lw $a1, ($s0) +/* 93ACA0 80240070 0C0B1EAF */ jal get_variable +/* 93ACA4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 93ACA8 80240078 8E050000 */ lw $a1, ($s0) +/* 93ACAC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 93ACB0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 93ACB4 80240084 0C0B1EAF */ jal get_variable +/* 93ACB8 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93ACBC 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 93ACC0 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 93ACC4 80240094 8E120000 */ lw $s2, ($s0) +/* 93ACC8 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93ACCC 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 93ACD0 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 93ACD4 802400A4 08090030 */ j .L802400C0 +/* 93ACD8 802400A8 00000000 */ nop +.L802400AC: +/* 93ACDC 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 93ACE0 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 93ACE4 802400B4 14400005 */ bnez $v0, .L802400CC +/* 93ACE8 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93ACEC 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 93ACF0 802400C0 0C00EABB */ jal get_npc_unsafe +/* 93ACF4 802400C4 00000000 */ nop +/* 93ACF8 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93ACFC 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 93AD00 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 93AD04 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 93AD08 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93AD0C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 93AD10 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 93AD14 802400E4 0C0B1EAF */ jal get_variable +/* 93AD18 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 93AD1C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 93AD20 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 93AD24 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 93AD28 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 93AD2C 802400FC 44810000 */ mtc1 $at, $f0 +/* 93AD30 80240100 00000000 */ nop +/* 93AD34 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 93AD38 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 93AD3C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 93AD40 80240110 44061000 */ mfc1 $a2, $f2 +/* 93AD44 80240114 0C04D083 */ jal set_item_entity_position +/* 93AD48 80240118 0280202D */ daddu $a0, $s4, $zero +/* 93AD4C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 93AD50 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 93AD54 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 93AD58 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 93AD5C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 93AD60 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 93AD64 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 93AD68 80240138 03E00008 */ jr $ra +/* 93AD6C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_24/func_80240140_93AC30.s b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240140_93AC30.s new file mode 100644 index 0000000000..11878168cf --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_24/func_80240140_93AC30.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_93AD70 +/* 93AD70 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 93AD74 80240144 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 93AD78 80240148 4485A000 */ mtc1 $a1, $f20 +/* 93AD7C 8024014C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 93AD80 80240150 4486B000 */ mtc1 $a2, $f22 +/* 93AD84 80240154 AFB00010 */ sw $s0, 0x10($sp) +/* 93AD88 80240158 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 93AD8C 8024015C 4487C000 */ mtc1 $a3, $f24 +/* 93AD90 80240160 AFBF0014 */ sw $ra, 0x14($sp) +/* 93AD94 80240164 0C019D28 */ jal guMtxIdentF +/* 93AD98 80240168 0080802D */ daddu $s0, $a0, $zero +/* 93AD9C 8024016C 4616A582 */ mul.s $f22, $f20, $f22 +/* 93ADA0 80240170 00000000 */ nop +/* 93ADA4 80240174 4618A502 */ mul.s $f20, $f20, $f24 +/* 93ADA8 80240178 00000000 */ nop +/* 93ADAC 8024017C 3C013F80 */ lui $at, 0x3f80 +/* 93ADB0 80240180 44810000 */ mtc1 $at, $f0 +/* 93ADB4 80240184 00000000 */ nop +/* 93ADB8 80240188 E6000014 */ swc1 $f0, 0x14($s0) +/* 93ADBC 8024018C E6160010 */ swc1 $f22, 0x10($s0) +/* 93ADC0 80240190 E6140018 */ swc1 $f20, 0x18($s0) +/* 93ADC4 80240194 8FBF0014 */ lw $ra, 0x14($sp) +/* 93ADC8 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* 93ADCC 8024019C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 93ADD0 802401A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 93ADD4 802401A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 93ADD8 802401A8 03E00008 */ jr $ra +/* 93ADDC 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_24/func_802401B0_93AC30.s b/asm/nonmatchings/world/area_sbk/sbk_24/func_802401B0_93AC30.s new file mode 100644 index 0000000000..c49b152608 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_24/func_802401B0_93AC30.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_93ADE0 +/* 93ADE0 802401B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 93ADE4 802401B4 AFB10054 */ sw $s1, 0x54($sp) +/* 93ADE8 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 93ADEC 802401BC AFBF005C */ sw $ra, 0x5c($sp) +/* 93ADF0 802401C0 AFB20058 */ sw $s2, 0x58($sp) +/* 93ADF4 802401C4 AFB00050 */ sw $s0, 0x50($sp) +/* 93ADF8 802401C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 93ADFC 802401CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 93AE00 802401D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 93AE04 802401D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 93AE08 802401D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 93AE0C 802401DC 8E30000C */ lw $s0, 0xc($s1) +/* 93AE10 802401E0 8E050000 */ lw $a1, ($s0) +/* 93AE14 802401E4 0C0B1EAF */ jal get_variable +/* 93AE18 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 93AE1C 802401EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 93AE20 802401F0 0040202D */ daddu $a0, $v0, $zero +/* 93AE24 802401F4 8E050000 */ lw $a1, ($s0) +/* 93AE28 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 93AE2C 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 93AE30 80240200 0C0B210B */ jal get_float_variable +/* 93AE34 80240204 0040902D */ daddu $s2, $v0, $zero +/* 93AE38 80240208 8E050000 */ lw $a1, ($s0) +/* 93AE3C 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 93AE40 80240210 0220202D */ daddu $a0, $s1, $zero +/* 93AE44 80240214 0C0B210B */ jal get_float_variable +/* 93AE48 80240218 46000706 */ mov.s $f28, $f0 +/* 93AE4C 8024021C 8E050000 */ lw $a1, ($s0) +/* 93AE50 80240220 26100004 */ addiu $s0, $s0, 4 +/* 93AE54 80240224 0220202D */ daddu $a0, $s1, $zero +/* 93AE58 80240228 0C0B210B */ jal get_float_variable +/* 93AE5C 8024022C 46000686 */ mov.s $f26, $f0 +/* 93AE60 80240230 0220202D */ daddu $a0, $s1, $zero +/* 93AE64 80240234 8E050000 */ lw $a1, ($s0) +/* 93AE68 80240238 0C0B210B */ jal get_float_variable +/* 93AE6C 8024023C 46000586 */ mov.s $f22, $f0 +/* 93AE70 80240240 0240202D */ daddu $a0, $s2, $zero +/* 93AE74 80240244 0C046B4C */ jal get_model_from_list_index +/* 93AE78 80240248 46000606 */ mov.s $f24, $f0 +/* 93AE7C 8024024C 0040882D */ daddu $s1, $v0, $zero +/* 93AE80 80240250 96220000 */ lhu $v0, ($s1) +/* 93AE84 80240254 30420400 */ andi $v0, $v0, 0x400 +/* 93AE88 80240258 1440001E */ bnez $v0, .L802402D4 +/* 93AE8C 8024025C 26300058 */ addiu $s0, $s1, 0x58 +/* 93AE90 80240260 4480A000 */ mtc1 $zero, $f20 +/* 93AE94 80240264 4406B000 */ mfc1 $a2, $f22 +/* 93AE98 80240268 4405A000 */ mfc1 $a1, $f20 +/* 93AE9C 8024026C 4407A000 */ mfc1 $a3, $f20 +/* 93AEA0 80240270 0C019E40 */ jal guTranslateF +/* 93AEA4 80240274 0200202D */ daddu $a0, $s0, $zero +/* 93AEA8 80240278 4405E000 */ mfc1 $a1, $f28 +/* 93AEAC 8024027C 4406D000 */ mfc1 $a2, $f26 +/* 93AEB0 80240280 4407C000 */ mfc1 $a3, $f24 +/* 93AEB4 80240284 0C090050 */ jal func_80240140 +/* 93AEB8 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AEBC 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AEC0 80240290 0200282D */ daddu $a1, $s0, $zero +/* 93AEC4 80240294 0C019D80 */ jal guMtxCatF +/* 93AEC8 80240298 0200302D */ daddu $a2, $s0, $zero +/* 93AECC 8024029C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AED0 802402A0 4600B587 */ neg.s $f22, $f22 +/* 93AED4 802402A4 4405A000 */ mfc1 $a1, $f20 +/* 93AED8 802402A8 4406B000 */ mfc1 $a2, $f22 +/* 93AEDC 802402AC 0C019E40 */ jal guTranslateF +/* 93AEE0 802402B0 00A0382D */ daddu $a3, $a1, $zero +/* 93AEE4 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AEE8 802402B8 0200282D */ daddu $a1, $s0, $zero +/* 93AEEC 802402BC 0C019D80 */ jal guMtxCatF +/* 93AEF0 802402C0 00A0302D */ daddu $a2, $a1, $zero +/* 93AEF4 802402C4 96220000 */ lhu $v0, ($s1) +/* 93AEF8 802402C8 34421400 */ ori $v0, $v0, 0x1400 +/* 93AEFC 802402CC 080900D3 */ j .L8024034C +/* 93AF00 802402D0 A6220000 */ sh $v0, ($s1) +.L802402D4: +/* 93AF04 802402D4 4480A000 */ mtc1 $zero, $f20 +/* 93AF08 802402D8 4406B000 */ mfc1 $a2, $f22 +/* 93AF0C 802402DC 4405A000 */ mfc1 $a1, $f20 +/* 93AF10 802402E0 4407A000 */ mfc1 $a3, $f20 +/* 93AF14 802402E4 0C019E40 */ jal guTranslateF +/* 93AF18 802402E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF1C 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF20 802402F0 26300058 */ addiu $s0, $s1, 0x58 +/* 93AF24 802402F4 0200282D */ daddu $a1, $s0, $zero +/* 93AF28 802402F8 0C019D80 */ jal guMtxCatF +/* 93AF2C 802402FC 0200302D */ daddu $a2, $s0, $zero +/* 93AF30 80240300 4405E000 */ mfc1 $a1, $f28 +/* 93AF34 80240304 4406D000 */ mfc1 $a2, $f26 +/* 93AF38 80240308 4407C000 */ mfc1 $a3, $f24 +/* 93AF3C 8024030C 0C090050 */ jal func_80240140 +/* 93AF40 80240310 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF44 80240314 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF48 80240318 0200282D */ daddu $a1, $s0, $zero +/* 93AF4C 8024031C 0C019D80 */ jal guMtxCatF +/* 93AF50 80240320 0200302D */ daddu $a2, $s0, $zero +/* 93AF54 80240324 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF58 80240328 4600B587 */ neg.s $f22, $f22 +/* 93AF5C 8024032C 4405A000 */ mfc1 $a1, $f20 +/* 93AF60 80240330 4406B000 */ mfc1 $a2, $f22 +/* 93AF64 80240334 0C019E40 */ jal guTranslateF +/* 93AF68 80240338 00A0382D */ daddu $a3, $a1, $zero +/* 93AF6C 8024033C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93AF70 80240340 0200282D */ daddu $a1, $s0, $zero +/* 93AF74 80240344 0C019D80 */ jal guMtxCatF +/* 93AF78 80240348 00A0302D */ daddu $a2, $a1, $zero +.L8024034C: +/* 93AF7C 8024034C 8FBF005C */ lw $ra, 0x5c($sp) +/* 93AF80 80240350 8FB20058 */ lw $s2, 0x58($sp) +/* 93AF84 80240354 8FB10054 */ lw $s1, 0x54($sp) +/* 93AF88 80240358 8FB00050 */ lw $s0, 0x50($sp) +/* 93AF8C 8024035C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 93AF90 80240360 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 93AF94 80240364 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 93AF98 80240368 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 93AF9C 8024036C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 93AFA0 80240370 24020002 */ addiu $v0, $zero, 2 +/* 93AFA4 80240374 03E00008 */ jr $ra +/* 93AFA8 80240378 27BD0088 */ addiu $sp, $sp, 0x88 +/* 93AFAC 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_25/func_80240000_93C280.s b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240000_93C280.s new file mode 100644 index 0000000000..829dacd552 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240000_93C280.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_93C280 +/* 93C280 80240000 44800000 */ mtc1 $zero, $f0 +/* 93C284 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93C288 80240008 44050000 */ mfc1 $a1, $f0 +/* 93C28C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 93C290 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 93C294 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 93C298 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93C29C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 93C2A0 80240020 0C01CA54 */ jal func_80072950 +/* 93C2A4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 93C2A8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93C2AC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 93C2B0 80240030 03E00008 */ jr $ra +/* 93C2B4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 93C2B8 80240038 00000000 */ nop +/* 93C2BC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_25/func_80240040_93C280.s b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240040_93C280.s new file mode 100644 index 0000000000..6dc03982b7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240040_93C280.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_93C2C0 +/* 93C2C0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 93C2C4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 93C2C8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93C2CC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 93C2D0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 93C2D4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 93C2D8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93C2DC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 93C2E0 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 93C2E4 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 93C2E8 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93C2EC 8024006C 8E050000 */ lw $a1, ($s0) +/* 93C2F0 80240070 0C0B1EAF */ jal get_variable +/* 93C2F4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 93C2F8 80240078 8E050000 */ lw $a1, ($s0) +/* 93C2FC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 93C300 80240080 0260202D */ daddu $a0, $s3, $zero +/* 93C304 80240084 0C0B1EAF */ jal get_variable +/* 93C308 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93C30C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 93C310 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 93C314 80240094 8E120000 */ lw $s2, ($s0) +/* 93C318 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93C31C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 93C320 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 93C324 802400A4 08090030 */ j .L802400C0 +/* 93C328 802400A8 00000000 */ nop +.L802400AC: +/* 93C32C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 93C330 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 93C334 802400B4 14400005 */ bnez $v0, .L802400CC +/* 93C338 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93C33C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 93C340 802400C0 0C00EABB */ jal get_npc_unsafe +/* 93C344 802400C4 00000000 */ nop +/* 93C348 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93C34C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 93C350 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 93C354 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 93C358 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93C35C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 93C360 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 93C364 802400E4 0C0B1EAF */ jal get_variable +/* 93C368 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 93C36C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 93C370 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 93C374 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 93C378 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 93C37C 802400FC 44810000 */ mtc1 $at, $f0 +/* 93C380 80240100 00000000 */ nop +/* 93C384 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 93C388 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 93C38C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 93C390 80240110 44061000 */ mfc1 $a2, $f2 +/* 93C394 80240114 0C04D083 */ jal set_item_entity_position +/* 93C398 80240118 0280202D */ daddu $a0, $s4, $zero +/* 93C39C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 93C3A0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 93C3A4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 93C3A8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 93C3AC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 93C3B0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 93C3B4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 93C3B8 80240138 03E00008 */ jr $ra +/* 93C3BC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_25/func_80240140_93C280.s b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240140_93C280.s new file mode 100644 index 0000000000..48a4200cbb --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_25/func_80240140_93C280.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_93C3C0 +/* 93C3C0 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 93C3C4 80240144 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 93C3C8 80240148 4485A000 */ mtc1 $a1, $f20 +/* 93C3CC 8024014C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 93C3D0 80240150 4486B000 */ mtc1 $a2, $f22 +/* 93C3D4 80240154 AFB00010 */ sw $s0, 0x10($sp) +/* 93C3D8 80240158 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 93C3DC 8024015C 4487C000 */ mtc1 $a3, $f24 +/* 93C3E0 80240160 AFBF0014 */ sw $ra, 0x14($sp) +/* 93C3E4 80240164 0C019D28 */ jal guMtxIdentF +/* 93C3E8 80240168 0080802D */ daddu $s0, $a0, $zero +/* 93C3EC 8024016C 4616A582 */ mul.s $f22, $f20, $f22 +/* 93C3F0 80240170 00000000 */ nop +/* 93C3F4 80240174 4618A502 */ mul.s $f20, $f20, $f24 +/* 93C3F8 80240178 00000000 */ nop +/* 93C3FC 8024017C 3C013F80 */ lui $at, 0x3f80 +/* 93C400 80240180 44810000 */ mtc1 $at, $f0 +/* 93C404 80240184 00000000 */ nop +/* 93C408 80240188 E6000014 */ swc1 $f0, 0x14($s0) +/* 93C40C 8024018C E6160010 */ swc1 $f22, 0x10($s0) +/* 93C410 80240190 E6140018 */ swc1 $f20, 0x18($s0) +/* 93C414 80240194 8FBF0014 */ lw $ra, 0x14($sp) +/* 93C418 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* 93C41C 8024019C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 93C420 802401A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 93C424 802401A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 93C428 802401A8 03E00008 */ jr $ra +/* 93C42C 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_25/func_802401B0_93C280.s b/asm/nonmatchings/world/area_sbk/sbk_25/func_802401B0_93C280.s new file mode 100644 index 0000000000..36f76908e5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_25/func_802401B0_93C280.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_93C430 +/* 93C430 802401B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 93C434 802401B4 AFB10054 */ sw $s1, 0x54($sp) +/* 93C438 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 93C43C 802401BC AFBF005C */ sw $ra, 0x5c($sp) +/* 93C440 802401C0 AFB20058 */ sw $s2, 0x58($sp) +/* 93C444 802401C4 AFB00050 */ sw $s0, 0x50($sp) +/* 93C448 802401C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 93C44C 802401CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 93C450 802401D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 93C454 802401D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 93C458 802401D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 93C45C 802401DC 8E30000C */ lw $s0, 0xc($s1) +/* 93C460 802401E0 8E050000 */ lw $a1, ($s0) +/* 93C464 802401E4 0C0B1EAF */ jal get_variable +/* 93C468 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 93C46C 802401EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 93C470 802401F0 0040202D */ daddu $a0, $v0, $zero +/* 93C474 802401F4 8E050000 */ lw $a1, ($s0) +/* 93C478 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 93C47C 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 93C480 80240200 0C0B210B */ jal get_float_variable +/* 93C484 80240204 0040902D */ daddu $s2, $v0, $zero +/* 93C488 80240208 8E050000 */ lw $a1, ($s0) +/* 93C48C 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 93C490 80240210 0220202D */ daddu $a0, $s1, $zero +/* 93C494 80240214 0C0B210B */ jal get_float_variable +/* 93C498 80240218 46000706 */ mov.s $f28, $f0 +/* 93C49C 8024021C 8E050000 */ lw $a1, ($s0) +/* 93C4A0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 93C4A4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 93C4A8 80240228 0C0B210B */ jal get_float_variable +/* 93C4AC 8024022C 46000686 */ mov.s $f26, $f0 +/* 93C4B0 80240230 0220202D */ daddu $a0, $s1, $zero +/* 93C4B4 80240234 8E050000 */ lw $a1, ($s0) +/* 93C4B8 80240238 0C0B210B */ jal get_float_variable +/* 93C4BC 8024023C 46000586 */ mov.s $f22, $f0 +/* 93C4C0 80240240 0240202D */ daddu $a0, $s2, $zero +/* 93C4C4 80240244 0C046B4C */ jal get_model_from_list_index +/* 93C4C8 80240248 46000606 */ mov.s $f24, $f0 +/* 93C4CC 8024024C 0040882D */ daddu $s1, $v0, $zero +/* 93C4D0 80240250 96220000 */ lhu $v0, ($s1) +/* 93C4D4 80240254 30420400 */ andi $v0, $v0, 0x400 +/* 93C4D8 80240258 1440001E */ bnez $v0, .L802402D4 +/* 93C4DC 8024025C 26300058 */ addiu $s0, $s1, 0x58 +/* 93C4E0 80240260 4480A000 */ mtc1 $zero, $f20 +/* 93C4E4 80240264 4406B000 */ mfc1 $a2, $f22 +/* 93C4E8 80240268 4405A000 */ mfc1 $a1, $f20 +/* 93C4EC 8024026C 4407A000 */ mfc1 $a3, $f20 +/* 93C4F0 80240270 0C019E40 */ jal guTranslateF +/* 93C4F4 80240274 0200202D */ daddu $a0, $s0, $zero +/* 93C4F8 80240278 4405E000 */ mfc1 $a1, $f28 +/* 93C4FC 8024027C 4406D000 */ mfc1 $a2, $f26 +/* 93C500 80240280 4407C000 */ mfc1 $a3, $f24 +/* 93C504 80240284 0C090050 */ jal func_80240140 +/* 93C508 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C50C 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C510 80240290 0200282D */ daddu $a1, $s0, $zero +/* 93C514 80240294 0C019D80 */ jal guMtxCatF +/* 93C518 80240298 0200302D */ daddu $a2, $s0, $zero +/* 93C51C 8024029C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C520 802402A0 4600B587 */ neg.s $f22, $f22 +/* 93C524 802402A4 4405A000 */ mfc1 $a1, $f20 +/* 93C528 802402A8 4406B000 */ mfc1 $a2, $f22 +/* 93C52C 802402AC 0C019E40 */ jal guTranslateF +/* 93C530 802402B0 00A0382D */ daddu $a3, $a1, $zero +/* 93C534 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C538 802402B8 0200282D */ daddu $a1, $s0, $zero +/* 93C53C 802402BC 0C019D80 */ jal guMtxCatF +/* 93C540 802402C0 00A0302D */ daddu $a2, $a1, $zero +/* 93C544 802402C4 96220000 */ lhu $v0, ($s1) +/* 93C548 802402C8 34421400 */ ori $v0, $v0, 0x1400 +/* 93C54C 802402CC 080900D3 */ j .L8024034C +/* 93C550 802402D0 A6220000 */ sh $v0, ($s1) +.L802402D4: +/* 93C554 802402D4 4480A000 */ mtc1 $zero, $f20 +/* 93C558 802402D8 4406B000 */ mfc1 $a2, $f22 +/* 93C55C 802402DC 4405A000 */ mfc1 $a1, $f20 +/* 93C560 802402E0 4407A000 */ mfc1 $a3, $f20 +/* 93C564 802402E4 0C019E40 */ jal guTranslateF +/* 93C568 802402E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C56C 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C570 802402F0 26300058 */ addiu $s0, $s1, 0x58 +/* 93C574 802402F4 0200282D */ daddu $a1, $s0, $zero +/* 93C578 802402F8 0C019D80 */ jal guMtxCatF +/* 93C57C 802402FC 0200302D */ daddu $a2, $s0, $zero +/* 93C580 80240300 4405E000 */ mfc1 $a1, $f28 +/* 93C584 80240304 4406D000 */ mfc1 $a2, $f26 +/* 93C588 80240308 4407C000 */ mfc1 $a3, $f24 +/* 93C58C 8024030C 0C090050 */ jal func_80240140 +/* 93C590 80240310 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C594 80240314 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C598 80240318 0200282D */ daddu $a1, $s0, $zero +/* 93C59C 8024031C 0C019D80 */ jal guMtxCatF +/* 93C5A0 80240320 0200302D */ daddu $a2, $s0, $zero +/* 93C5A4 80240324 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C5A8 80240328 4600B587 */ neg.s $f22, $f22 +/* 93C5AC 8024032C 4405A000 */ mfc1 $a1, $f20 +/* 93C5B0 80240330 4406B000 */ mfc1 $a2, $f22 +/* 93C5B4 80240334 0C019E40 */ jal guTranslateF +/* 93C5B8 80240338 00A0382D */ daddu $a3, $a1, $zero +/* 93C5BC 8024033C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93C5C0 80240340 0200282D */ daddu $a1, $s0, $zero +/* 93C5C4 80240344 0C019D80 */ jal guMtxCatF +/* 93C5C8 80240348 00A0302D */ daddu $a2, $a1, $zero +.L8024034C: +/* 93C5CC 8024034C 8FBF005C */ lw $ra, 0x5c($sp) +/* 93C5D0 80240350 8FB20058 */ lw $s2, 0x58($sp) +/* 93C5D4 80240354 8FB10054 */ lw $s1, 0x54($sp) +/* 93C5D8 80240358 8FB00050 */ lw $s0, 0x50($sp) +/* 93C5DC 8024035C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 93C5E0 80240360 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 93C5E4 80240364 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 93C5E8 80240368 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 93C5EC 8024036C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 93C5F0 80240370 24020002 */ addiu $v0, $zero, 2 +/* 93C5F4 80240374 03E00008 */ jr $ra +/* 93C5F8 80240378 27BD0088 */ addiu $sp, $sp, 0x88 +/* 93C5FC 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_26/func_80240000_93DCD0.s b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240000_93DCD0.s new file mode 100644 index 0000000000..05cbe4d571 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240000_93DCD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_93DCD0 +/* 93DCD0 80240000 44800000 */ mtc1 $zero, $f0 +/* 93DCD4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93DCD8 80240008 44050000 */ mfc1 $a1, $f0 +/* 93DCDC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 93DCE0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 93DCE4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 93DCE8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93DCEC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 93DCF0 80240020 0C01CA54 */ jal func_80072950 +/* 93DCF4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 93DCF8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 93DCFC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 93DD00 80240030 03E00008 */ jr $ra +/* 93DD04 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 93DD08 80240038 00000000 */ nop +/* 93DD0C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_26/func_80240040_93DCD0.s b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240040_93DCD0.s new file mode 100644 index 0000000000..5fbc9defb1 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240040_93DCD0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_93DD10 +/* 93DD10 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 93DD14 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 93DD18 80240048 0080982D */ daddu $s3, $a0, $zero +/* 93DD1C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 93DD20 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 93DD24 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 93DD28 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 93DD2C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 93DD30 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 93DD34 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 93DD38 80240068 0260202D */ daddu $a0, $s3, $zero +/* 93DD3C 8024006C 8E050000 */ lw $a1, ($s0) +/* 93DD40 80240070 0C0B1EAF */ jal get_variable +/* 93DD44 80240074 26100004 */ addiu $s0, $s0, 4 +/* 93DD48 80240078 8E050000 */ lw $a1, ($s0) +/* 93DD4C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 93DD50 80240080 0260202D */ daddu $a0, $s3, $zero +/* 93DD54 80240084 0C0B1EAF */ jal get_variable +/* 93DD58 80240088 0040882D */ daddu $s1, $v0, $zero +/* 93DD5C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 93DD60 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 93DD64 80240094 8E120000 */ lw $s2, ($s0) +/* 93DD68 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 93DD6C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 93DD70 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 93DD74 802400A4 08090030 */ j .L802400C0 +/* 93DD78 802400A8 00000000 */ nop +.L802400AC: +/* 93DD7C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 93DD80 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 93DD84 802400B4 14400005 */ bnez $v0, .L802400CC +/* 93DD88 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 93DD8C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 93DD90 802400C0 0C00EABB */ jal get_npc_unsafe +/* 93DD94 802400C4 00000000 */ nop +/* 93DD98 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 93DD9C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 93DDA0 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 93DDA4 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 93DDA8 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 93DDAC 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 93DDB0 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 93DDB4 802400E4 0C0B1EAF */ jal get_variable +/* 93DDB8 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 93DDBC 802400EC 1040000C */ beqz $v0, .L80240120 +/* 93DDC0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 93DDC4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 93DDC8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 93DDCC 802400FC 44810000 */ mtc1 $at, $f0 +/* 93DDD0 80240100 00000000 */ nop +/* 93DDD4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 93DDD8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 93DDDC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 93DDE0 80240110 44061000 */ mfc1 $a2, $f2 +/* 93DDE4 80240114 0C04D083 */ jal set_item_entity_position +/* 93DDE8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 93DDEC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 93DDF0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 93DDF4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 93DDF8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 93DDFC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 93DE00 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 93DE04 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 93DE08 80240138 03E00008 */ jr $ra +/* 93DE0C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_26/func_80240140_93DCD0.s b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240140_93DCD0.s new file mode 100644 index 0000000000..7f4ce5383d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240140_93DCD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_93DE10 +/* 93DE10 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 93DE14 80240144 24020003 */ addiu $v0, $zero, 3 +/* 93DE18 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 93DE1C 8024014C 03E00008 */ jr $ra +/* 93DE20 80240150 24020002 */ addiu $v0, $zero, 2 +/* 93DE24 80240154 00000000 */ nop +/* 93DE28 80240158 00000000 */ nop +/* 93DE2C 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_26/func_80240160_93DCD0.s b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240160_93DCD0.s new file mode 100644 index 0000000000..3d98f4f959 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_26/func_80240160_93DCD0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_93DE30 +/* 93DE30 80240160 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 93DE34 80240164 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 93DE38 80240168 4485A000 */ mtc1 $a1, $f20 +/* 93DE3C 8024016C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 93DE40 80240170 4486B000 */ mtc1 $a2, $f22 +/* 93DE44 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* 93DE48 80240178 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 93DE4C 8024017C 4487C000 */ mtc1 $a3, $f24 +/* 93DE50 80240180 AFBF0014 */ sw $ra, 0x14($sp) +/* 93DE54 80240184 0C019D28 */ jal guMtxIdentF +/* 93DE58 80240188 0080802D */ daddu $s0, $a0, $zero +/* 93DE5C 8024018C 4616A582 */ mul.s $f22, $f20, $f22 +/* 93DE60 80240190 00000000 */ nop +/* 93DE64 80240194 4618A502 */ mul.s $f20, $f20, $f24 +/* 93DE68 80240198 00000000 */ nop +/* 93DE6C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* 93DE70 802401A0 44810000 */ mtc1 $at, $f0 +/* 93DE74 802401A4 00000000 */ nop +/* 93DE78 802401A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 93DE7C 802401AC E6160010 */ swc1 $f22, 0x10($s0) +/* 93DE80 802401B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 93DE84 802401B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 93DE88 802401B8 8FB00010 */ lw $s0, 0x10($sp) +/* 93DE8C 802401BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 93DE90 802401C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 93DE94 802401C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 93DE98 802401C8 03E00008 */ jr $ra +/* 93DE9C 802401CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_26/func_802401D0_93DCD0.s b/asm/nonmatchings/world/area_sbk/sbk_26/func_802401D0_93DCD0.s new file mode 100644 index 0000000000..e0b3b2dfa3 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_26/func_802401D0_93DCD0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_93DEA0 +/* 93DEA0 802401D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 93DEA4 802401D4 AFB10054 */ sw $s1, 0x54($sp) +/* 93DEA8 802401D8 0080882D */ daddu $s1, $a0, $zero +/* 93DEAC 802401DC AFBF005C */ sw $ra, 0x5c($sp) +/* 93DEB0 802401E0 AFB20058 */ sw $s2, 0x58($sp) +/* 93DEB4 802401E4 AFB00050 */ sw $s0, 0x50($sp) +/* 93DEB8 802401E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 93DEBC 802401EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 93DEC0 802401F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 93DEC4 802401F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 93DEC8 802401F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 93DECC 802401FC 8E30000C */ lw $s0, 0xc($s1) +/* 93DED0 80240200 8E050000 */ lw $a1, ($s0) +/* 93DED4 80240204 0C0B1EAF */ jal get_variable +/* 93DED8 80240208 26100004 */ addiu $s0, $s0, 4 +/* 93DEDC 8024020C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 93DEE0 80240210 0040202D */ daddu $a0, $v0, $zero +/* 93DEE4 80240214 8E050000 */ lw $a1, ($s0) +/* 93DEE8 80240218 26100004 */ addiu $s0, $s0, 4 +/* 93DEEC 8024021C 0220202D */ daddu $a0, $s1, $zero +/* 93DEF0 80240220 0C0B210B */ jal get_float_variable +/* 93DEF4 80240224 0040902D */ daddu $s2, $v0, $zero +/* 93DEF8 80240228 8E050000 */ lw $a1, ($s0) +/* 93DEFC 8024022C 26100004 */ addiu $s0, $s0, 4 +/* 93DF00 80240230 0220202D */ daddu $a0, $s1, $zero +/* 93DF04 80240234 0C0B210B */ jal get_float_variable +/* 93DF08 80240238 46000706 */ mov.s $f28, $f0 +/* 93DF0C 8024023C 8E050000 */ lw $a1, ($s0) +/* 93DF10 80240240 26100004 */ addiu $s0, $s0, 4 +/* 93DF14 80240244 0220202D */ daddu $a0, $s1, $zero +/* 93DF18 80240248 0C0B210B */ jal get_float_variable +/* 93DF1C 8024024C 46000686 */ mov.s $f26, $f0 +/* 93DF20 80240250 0220202D */ daddu $a0, $s1, $zero +/* 93DF24 80240254 8E050000 */ lw $a1, ($s0) +/* 93DF28 80240258 0C0B210B */ jal get_float_variable +/* 93DF2C 8024025C 46000586 */ mov.s $f22, $f0 +/* 93DF30 80240260 0240202D */ daddu $a0, $s2, $zero +/* 93DF34 80240264 0C046B4C */ jal get_model_from_list_index +/* 93DF38 80240268 46000606 */ mov.s $f24, $f0 +/* 93DF3C 8024026C 0040882D */ daddu $s1, $v0, $zero +/* 93DF40 80240270 96220000 */ lhu $v0, ($s1) +/* 93DF44 80240274 30420400 */ andi $v0, $v0, 0x400 +/* 93DF48 80240278 1440001E */ bnez $v0, .L802402F4 +/* 93DF4C 8024027C 26300058 */ addiu $s0, $s1, 0x58 +/* 93DF50 80240280 4480A000 */ mtc1 $zero, $f20 +/* 93DF54 80240284 4406B000 */ mfc1 $a2, $f22 +/* 93DF58 80240288 4405A000 */ mfc1 $a1, $f20 +/* 93DF5C 8024028C 4407A000 */ mfc1 $a3, $f20 +/* 93DF60 80240290 0C019E40 */ jal guTranslateF +/* 93DF64 80240294 0200202D */ daddu $a0, $s0, $zero +/* 93DF68 80240298 4405E000 */ mfc1 $a1, $f28 +/* 93DF6C 8024029C 4406D000 */ mfc1 $a2, $f26 +/* 93DF70 802402A0 4407C000 */ mfc1 $a3, $f24 +/* 93DF74 802402A4 0C090058 */ jal func_80240160 +/* 93DF78 802402A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DF7C 802402AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DF80 802402B0 0200282D */ daddu $a1, $s0, $zero +/* 93DF84 802402B4 0C019D80 */ jal guMtxCatF +/* 93DF88 802402B8 0200302D */ daddu $a2, $s0, $zero +/* 93DF8C 802402BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DF90 802402C0 4600B587 */ neg.s $f22, $f22 +/* 93DF94 802402C4 4405A000 */ mfc1 $a1, $f20 +/* 93DF98 802402C8 4406B000 */ mfc1 $a2, $f22 +/* 93DF9C 802402CC 0C019E40 */ jal guTranslateF +/* 93DFA0 802402D0 00A0382D */ daddu $a3, $a1, $zero +/* 93DFA4 802402D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DFA8 802402D8 0200282D */ daddu $a1, $s0, $zero +/* 93DFAC 802402DC 0C019D80 */ jal guMtxCatF +/* 93DFB0 802402E0 00A0302D */ daddu $a2, $a1, $zero +/* 93DFB4 802402E4 96220000 */ lhu $v0, ($s1) +/* 93DFB8 802402E8 34421400 */ ori $v0, $v0, 0x1400 +/* 93DFBC 802402EC 080900DB */ j .L8024036C +/* 93DFC0 802402F0 A6220000 */ sh $v0, ($s1) +.L802402F4: +/* 93DFC4 802402F4 4480A000 */ mtc1 $zero, $f20 +/* 93DFC8 802402F8 4406B000 */ mfc1 $a2, $f22 +/* 93DFCC 802402FC 4405A000 */ mfc1 $a1, $f20 +/* 93DFD0 80240300 4407A000 */ mfc1 $a3, $f20 +/* 93DFD4 80240304 0C019E40 */ jal guTranslateF +/* 93DFD8 80240308 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DFDC 8024030C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93DFE0 80240310 26300058 */ addiu $s0, $s1, 0x58 +/* 93DFE4 80240314 0200282D */ daddu $a1, $s0, $zero +/* 93DFE8 80240318 0C019D80 */ jal guMtxCatF +/* 93DFEC 8024031C 0200302D */ daddu $a2, $s0, $zero +/* 93DFF0 80240320 4405E000 */ mfc1 $a1, $f28 +/* 93DFF4 80240324 4406D000 */ mfc1 $a2, $f26 +/* 93DFF8 80240328 4407C000 */ mfc1 $a3, $f24 +/* 93DFFC 8024032C 0C090058 */ jal func_80240160 +/* 93E000 80240330 27A40010 */ addiu $a0, $sp, 0x10 +/* 93E004 80240334 27A40010 */ addiu $a0, $sp, 0x10 +/* 93E008 80240338 0200282D */ daddu $a1, $s0, $zero +/* 93E00C 8024033C 0C019D80 */ jal guMtxCatF +/* 93E010 80240340 0200302D */ daddu $a2, $s0, $zero +/* 93E014 80240344 27A40010 */ addiu $a0, $sp, 0x10 +/* 93E018 80240348 4600B587 */ neg.s $f22, $f22 +/* 93E01C 8024034C 4405A000 */ mfc1 $a1, $f20 +/* 93E020 80240350 4406B000 */ mfc1 $a2, $f22 +/* 93E024 80240354 0C019E40 */ jal guTranslateF +/* 93E028 80240358 00A0382D */ daddu $a3, $a1, $zero +/* 93E02C 8024035C 27A40010 */ addiu $a0, $sp, 0x10 +/* 93E030 80240360 0200282D */ daddu $a1, $s0, $zero +/* 93E034 80240364 0C019D80 */ jal guMtxCatF +/* 93E038 80240368 00A0302D */ daddu $a2, $a1, $zero +.L8024036C: +/* 93E03C 8024036C 8FBF005C */ lw $ra, 0x5c($sp) +/* 93E040 80240370 8FB20058 */ lw $s2, 0x58($sp) +/* 93E044 80240374 8FB10054 */ lw $s1, 0x54($sp) +/* 93E048 80240378 8FB00050 */ lw $s0, 0x50($sp) +/* 93E04C 8024037C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 93E050 80240380 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 93E054 80240384 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 93E058 80240388 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 93E05C 8024038C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 93E060 80240390 24020002 */ addiu $v0, $zero, 2 +/* 93E064 80240394 03E00008 */ jr $ra +/* 93E068 80240398 27BD0088 */ addiu $sp, $sp, 0x88 +/* 93E06C 8024039C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240000_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240000_93F5B0.s new file mode 100644 index 0000000000..fc5b021718 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240000_93F5B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_93F5B0 +/* 93F5B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 93F5B4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 93F5B8 80240008 3C05F5DE */ lui $a1, 0xf5de +/* 93F5BC 8024000C 34A50180 */ ori $a1, $a1, 0x180 +/* 93F5C0 80240010 0C0B1EAF */ jal get_variable +/* 93F5C4 80240014 0000202D */ daddu $a0, $zero, $zero +/* 93F5C8 80240018 3C030019 */ lui $v1, 0x19 +/* 93F5CC 8024001C 2842FFCC */ slti $v0, $v0, -0x34 +/* 93F5D0 80240020 14400003 */ bnez $v0, .L80240030 +/* 93F5D4 80240024 34630076 */ ori $v1, $v1, 0x76 +/* 93F5D8 80240028 3C030019 */ lui $v1, 0x19 +/* 93F5DC 8024002C 34630077 */ ori $v1, $v1, 0x77 +.L80240030: +/* 93F5E0 80240030 8FBF0010 */ lw $ra, 0x10($sp) +/* 93F5E4 80240034 0060102D */ daddu $v0, $v1, $zero +/* 93F5E8 80240038 03E00008 */ jr $ra +/* 93F5EC 8024003C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240040_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240040_93F5B0.s new file mode 100644 index 0000000000..eb961720e7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240040_93F5B0.s @@ -0,0 +1,85 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_93F5F0 +/* 93F5F0 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93F5F4 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* 93F5F8 80240048 0080882D */ daddu $s1, $a0, $zero +/* 93F5FC 8024004C AFBF001C */ sw $ra, 0x1c($sp) +/* 93F600 80240050 AFB20018 */ sw $s2, 0x18($sp) +/* 93F604 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 93F608 80240058 8E30000C */ lw $s0, 0xc($s1) +/* 93F60C 8024005C 8E050000 */ lw $a1, ($s0) +/* 93F610 80240060 0C0B1EAF */ jal get_variable +/* 93F614 80240064 26100004 */ addiu $s0, $s0, 4 +/* 93F618 80240068 8E050000 */ lw $a1, ($s0) +/* 93F61C 8024006C 26100004 */ addiu $s0, $s0, 4 +/* 93F620 80240070 0220202D */ daddu $a0, $s1, $zero +/* 93F624 80240074 0C0B1EAF */ jal get_variable +/* 93F628 80240078 0040902D */ daddu $s2, $v0, $zero +/* 93F62C 8024007C 0220202D */ daddu $a0, $s1, $zero +/* 93F630 80240080 8E050000 */ lw $a1, ($s0) +/* 93F634 80240084 0C0B1EAF */ jal get_variable +/* 93F638 80240088 0040802D */ daddu $s0, $v0, $zero +/* 93F63C 8024008C 0040882D */ daddu $s1, $v0, $zero +/* 93F640 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 93F644 80240094 16020005 */ bne $s0, $v0, .L802400AC +/* 93F648 80240098 24020001 */ addiu $v0, $zero, 1 +/* 93F64C 8024009C 0C04760B */ jal func_8011D82C +/* 93F650 802400A0 0220202D */ daddu $a0, $s1, $zero +/* 93F654 802400A4 08090053 */ j .L8024014C +/* 93F658 802400A8 24020002 */ addiu $v0, $zero, 2 +.L802400AC: +/* 93F65C 802400AC 12420018 */ beq $s2, $v0, .L80240110 +/* 93F660 802400B0 2A420002 */ slti $v0, $s2, 2 +/* 93F664 802400B4 10400005 */ beqz $v0, .L802400CC +/* 93F668 802400B8 24020002 */ addiu $v0, $zero, 2 +/* 93F66C 802400BC 12400007 */ beqz $s2, .L802400DC +/* 93F670 802400C0 3412FFFF */ ori $s2, $zero, 0xffff +/* 93F674 802400C4 08090053 */ j .L8024014C +/* 93F678 802400C8 00000000 */ nop +.L802400CC: +/* 93F67C 802400CC 1242001B */ beq $s2, $v0, .L8024013C +/* 93F680 802400D0 24020002 */ addiu $v0, $zero, 2 +/* 93F684 802400D4 08090053 */ j .L8024014C +/* 93F688 802400D8 00000000 */ nop +.L802400DC: +/* 93F68C 802400DC 8E040000 */ lw $a0, ($s0) +/* 93F690 802400E0 1092001A */ beq $a0, $s2, .L8024014C +/* 93F694 802400E4 24020002 */ addiu $v0, $zero, 2 +/* 93F698 802400E8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 93F69C 802400EC 26100004 */ addiu $s0, $s0, 4 +/* 93F6A0 802400F0 0C046B4C */ jal get_model_from_list_index +/* 93F6A4 802400F4 0040202D */ daddu $a0, $v0, $zero +/* 93F6A8 802400F8 0040202D */ daddu $a0, $v0, $zero +/* 93F6AC 802400FC 2405FFFF */ addiu $a1, $zero, -1 +/* 93F6B0 80240100 0C046F1F */ jal func_8011BC7C +/* 93F6B4 80240104 0220302D */ daddu $a2, $s1, $zero +/* 93F6B8 80240108 08090037 */ j .L802400DC +/* 93F6BC 8024010C 00000000 */ nop +.L80240110: +/* 93F6C0 80240110 3412FFFF */ ori $s2, $zero, 0xffff +.L80240114: +/* 93F6C4 80240114 8E020000 */ lw $v0, ($s0) +/* 93F6C8 80240118 1052000B */ beq $v0, $s2, .L80240148 +/* 93F6CC 8024011C 2405FFFF */ addiu $a1, $zero, -1 +/* 93F6D0 80240120 96040002 */ lhu $a0, 2($s0) +/* 93F6D4 80240124 0220302D */ daddu $a2, $s1, $zero +/* 93F6D8 80240128 26100004 */ addiu $s0, $s0, 4 +/* 93F6DC 8024012C 0C046E54 */ jal func_8011B950 +/* 93F6E0 80240130 0000382D */ daddu $a3, $zero, $zero +/* 93F6E4 80240134 08090045 */ j .L80240114 +/* 93F6E8 80240138 00000000 */ nop +.L8024013C: +/* 93F6EC 8024013C 3C028015 */ lui $v0, 0x8015 +/* 93F6F0 80240140 8C4212F0 */ lw $v0, 0x12f0($v0) +/* 93F6F4 80240144 A0510000 */ sb $s1, ($v0) +.L80240148: +/* 93F6F8 80240148 24020002 */ addiu $v0, $zero, 2 +.L8024014C: +/* 93F6FC 8024014C 8FBF001C */ lw $ra, 0x1c($sp) +/* 93F700 80240150 8FB20018 */ lw $s2, 0x18($sp) +/* 93F704 80240154 8FB10014 */ lw $s1, 0x14($sp) +/* 93F708 80240158 8FB00010 */ lw $s0, 0x10($sp) +/* 93F70C 8024015C 03E00008 */ jr $ra +/* 93F710 80240160 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240164_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240164_93F5B0.s new file mode 100644 index 0000000000..bf7a421977 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240164_93F5B0.s @@ -0,0 +1,126 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240164_93F714 +/* 93F714 80240164 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 93F718 80240168 AFB10034 */ sw $s1, 0x34($sp) +/* 93F71C 8024016C 0080882D */ daddu $s1, $a0, $zero +/* 93F720 80240170 AFBF0054 */ sw $ra, 0x54($sp) +/* 93F724 80240174 AFBE0050 */ sw $fp, 0x50($sp) +/* 93F728 80240178 AFB7004C */ sw $s7, 0x4c($sp) +/* 93F72C 8024017C AFB60048 */ sw $s6, 0x48($sp) +/* 93F730 80240180 AFB50044 */ sw $s5, 0x44($sp) +/* 93F734 80240184 AFB40040 */ sw $s4, 0x40($sp) +/* 93F738 80240188 AFB3003C */ sw $s3, 0x3c($sp) +/* 93F73C 8024018C AFB20038 */ sw $s2, 0x38($sp) +/* 93F740 80240190 AFB00030 */ sw $s0, 0x30($sp) +/* 93F744 80240194 8E30000C */ lw $s0, 0xc($s1) +/* 93F748 80240198 8E050000 */ lw $a1, ($s0) +/* 93F74C 8024019C 0C0B1EAF */ jal get_variable +/* 93F750 802401A0 26100004 */ addiu $s0, $s0, 4 +/* 93F754 802401A4 8E050000 */ lw $a1, ($s0) +/* 93F758 802401A8 26100004 */ addiu $s0, $s0, 4 +/* 93F75C 802401AC 0220202D */ daddu $a0, $s1, $zero +/* 93F760 802401B0 0C0B1EAF */ jal get_variable +/* 93F764 802401B4 0040982D */ daddu $s3, $v0, $zero +/* 93F768 802401B8 8E050000 */ lw $a1, ($s0) +/* 93F76C 802401BC 26100004 */ addiu $s0, $s0, 4 +/* 93F770 802401C0 0220202D */ daddu $a0, $s1, $zero +/* 93F774 802401C4 0C0B1EAF */ jal get_variable +/* 93F778 802401C8 0040B02D */ daddu $s6, $v0, $zero +/* 93F77C 802401CC 8E050000 */ lw $a1, ($s0) +/* 93F780 802401D0 26100004 */ addiu $s0, $s0, 4 +/* 93F784 802401D4 0220202D */ daddu $a0, $s1, $zero +/* 93F788 802401D8 0C0B1EAF */ jal get_variable +/* 93F78C 802401DC 0040A82D */ daddu $s5, $v0, $zero +/* 93F790 802401E0 8E050000 */ lw $a1, ($s0) +/* 93F794 802401E4 26100004 */ addiu $s0, $s0, 4 +/* 93F798 802401E8 0220202D */ daddu $a0, $s1, $zero +/* 93F79C 802401EC 0C0B1EAF */ jal get_variable +/* 93F7A0 802401F0 0040A02D */ daddu $s4, $v0, $zero +/* 93F7A4 802401F4 8E050000 */ lw $a1, ($s0) +/* 93F7A8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 93F7AC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 93F7B0 80240200 0C0B1EAF */ jal get_variable +/* 93F7B4 80240204 0040902D */ daddu $s2, $v0, $zero +/* 93F7B8 80240208 8E050000 */ lw $a1, ($s0) +/* 93F7BC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 93F7C0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 93F7C4 80240214 0C0B1EAF */ jal get_variable +/* 93F7C8 80240218 AFA20028 */ sw $v0, 0x28($sp) +/* 93F7CC 8024021C 8E050000 */ lw $a1, ($s0) +/* 93F7D0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 93F7D4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 93F7D8 80240228 0C0B1EAF */ jal get_variable +/* 93F7DC 8024022C 0040F02D */ daddu $fp, $v0, $zero +/* 93F7E0 80240230 8E050000 */ lw $a1, ($s0) +/* 93F7E4 80240234 26100004 */ addiu $s0, $s0, 4 +/* 93F7E8 80240238 0220202D */ daddu $a0, $s1, $zero +/* 93F7EC 8024023C 0C0B1EAF */ jal get_variable +/* 93F7F0 80240240 0040B82D */ daddu $s7, $v0, $zero +/* 93F7F4 80240244 0220202D */ daddu $a0, $s1, $zero +/* 93F7F8 80240248 8E050000 */ lw $a1, ($s0) +/* 93F7FC 8024024C 0C0B1EAF */ jal get_variable +/* 93F800 80240250 0040802D */ daddu $s0, $v0, $zero +/* 93F804 80240254 0040182D */ daddu $v1, $v0, $zero +/* 93F808 80240258 24020002 */ addiu $v0, $zero, 2 +/* 93F80C 8024025C 12620012 */ beq $s3, $v0, .L802402A8 +/* 93F810 80240260 2A620003 */ slti $v0, $s3, 3 +/* 93F814 80240264 10400005 */ beqz $v0, .L8024027C +/* 93F818 80240268 24020001 */ addiu $v0, $zero, 1 +/* 93F81C 8024026C 12620008 */ beq $s3, $v0, .L80240290 +/* 93F820 80240270 32C400FF */ andi $a0, $s6, 0xff +/* 93F824 80240274 080900C1 */ j .L80240304 +/* 93F828 80240278 00000000 */ nop +.L8024027C: +/* 93F82C 8024027C 24020003 */ addiu $v0, $zero, 3 +/* 93F830 80240280 12620018 */ beq $s3, $v0, .L802402E4 +/* 93F834 80240284 32C400FF */ andi $a0, $s6, 0xff +/* 93F838 80240288 080900C1 */ j .L80240304 +/* 93F83C 8024028C 00000000 */ nop +.L80240290: +/* 93F840 80240290 32A500FF */ andi $a1, $s5, 0xff +/* 93F844 80240294 328600FF */ andi $a2, $s4, 0xff +/* 93F848 80240298 0C046F97 */ jal set_background_color_blend +/* 93F84C 8024029C 324700FF */ andi $a3, $s2, 0xff +/* 93F850 802402A0 080900C1 */ j .L80240304 +/* 93F854 802402A4 00000000 */ nop +.L802402A8: +/* 93F858 802402A8 32C400FF */ andi $a0, $s6, 0xff +/* 93F85C 802402AC 32A500FF */ andi $a1, $s5, 0xff +/* 93F860 802402B0 328600FF */ andi $a2, $s4, 0xff +/* 93F864 802402B4 324700FF */ andi $a3, $s2, 0xff +/* 93F868 802402B8 93A2002B */ lbu $v0, 0x2b($sp) +/* 93F86C 802402BC AFB0001C */ sw $s0, 0x1c($sp) +/* 93F870 802402C0 AFA30020 */ sw $v1, 0x20($sp) +/* 93F874 802402C4 AFA20010 */ sw $v0, 0x10($sp) +/* 93F878 802402C8 33C200FF */ andi $v0, $fp, 0xff +/* 93F87C 802402CC AFA20014 */ sw $v0, 0x14($sp) +/* 93F880 802402D0 32E200FF */ andi $v0, $s7, 0xff +/* 93F884 802402D4 0C046FAD */ jal func_8011BEB4 +/* 93F888 802402D8 AFA20018 */ sw $v0, 0x18($sp) +/* 93F88C 802402DC 080900C1 */ j .L80240304 +/* 93F890 802402E0 00000000 */ nop +.L802402E4: +/* 93F894 802402E4 32A500FF */ andi $a1, $s5, 0xff +/* 93F898 802402E8 328600FF */ andi $a2, $s4, 0xff +/* 93F89C 802402EC 324700FF */ andi $a3, $s2, 0xff +/* 93F8A0 802402F0 93A2002B */ lbu $v0, 0x2b($sp) +/* 93F8A4 802402F4 AFA20010 */ sw $v0, 0x10($sp) +/* 93F8A8 802402F8 33C200FF */ andi $v0, $fp, 0xff +/* 93F8AC 802402FC 0C046FE6 */ jal func_8011BF98 +/* 93F8B0 80240300 AFA20014 */ sw $v0, 0x14($sp) +.L80240304: +/* 93F8B4 80240304 8FBF0054 */ lw $ra, 0x54($sp) +/* 93F8B8 80240308 8FBE0050 */ lw $fp, 0x50($sp) +/* 93F8BC 8024030C 8FB7004C */ lw $s7, 0x4c($sp) +/* 93F8C0 80240310 8FB60048 */ lw $s6, 0x48($sp) +/* 93F8C4 80240314 8FB50044 */ lw $s5, 0x44($sp) +/* 93F8C8 80240318 8FB40040 */ lw $s4, 0x40($sp) +/* 93F8CC 8024031C 8FB3003C */ lw $s3, 0x3c($sp) +/* 93F8D0 80240320 8FB20038 */ lw $s2, 0x38($sp) +/* 93F8D4 80240324 8FB10034 */ lw $s1, 0x34($sp) +/* 93F8D8 80240328 8FB00030 */ lw $s0, 0x30($sp) +/* 93F8DC 8024032C 24020002 */ addiu $v0, $zero, 2 +/* 93F8E0 80240330 03E00008 */ jr $ra +/* 93F8E4 80240334 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240338_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240338_93F5B0.s new file mode 100644 index 0000000000..affeb9099b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240338_93F5B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240338_93F8E8 +/* 93F8E8 80240338 44800000 */ mtc1 $zero, $f0 +/* 93F8EC 8024033C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93F8F0 80240340 44050000 */ mfc1 $a1, $f0 +/* 93F8F4 80240344 0000202D */ daddu $a0, $zero, $zero +/* 93F8F8 80240348 AFBF0018 */ sw $ra, 0x18($sp) +/* 93F8FC 8024034C AFA00014 */ sw $zero, 0x14($sp) +/* 93F900 80240350 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93F904 80240354 00A0302D */ daddu $a2, $a1, $zero +/* 93F908 80240358 0C01CA54 */ jal func_80072950 +/* 93F90C 8024035C 00A0382D */ daddu $a3, $a1, $zero +/* 93F910 80240360 8FBF0018 */ lw $ra, 0x18($sp) +/* 93F914 80240364 24020002 */ addiu $v0, $zero, 2 +/* 93F918 80240368 03E00008 */ jr $ra +/* 93F91C 8024036C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240370_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240370_93F5B0.s new file mode 100644 index 0000000000..40907aa1e7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240370_93F5B0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370_93F920 +/* 93F920 80240370 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93F924 80240374 AFB00010 */ sw $s0, 0x10($sp) +/* 93F928 80240378 0080802D */ daddu $s0, $a0, $zero +/* 93F92C 8024037C AFBF001C */ sw $ra, 0x1c($sp) +/* 93F930 80240380 AFB20018 */ sw $s2, 0x18($sp) +/* 93F934 80240384 AFB10014 */ sw $s1, 0x14($sp) +/* 93F938 80240388 8E110148 */ lw $s1, 0x148($s0) +/* 93F93C 8024038C 86240008 */ lh $a0, 8($s1) +/* 93F940 80240390 0C00EABB */ jal get_npc_unsafe +/* 93F944 80240394 00A0902D */ daddu $s2, $a1, $zero +/* 93F948 80240398 8E2300CC */ lw $v1, 0xcc($s1) +/* 93F94C 8024039C 0040202D */ daddu $a0, $v0, $zero +/* 93F950 802403A0 8C630000 */ lw $v1, ($v1) +/* 93F954 802403A4 24020001 */ addiu $v0, $zero, 1 +/* 93F958 802403A8 AC830028 */ sw $v1, 0x28($a0) +/* 93F95C 802403AC AE020070 */ sw $v0, 0x70($s0) +/* 93F960 802403B0 8E220000 */ lw $v0, ($s1) +/* 93F964 802403B4 3C030010 */ lui $v1, 0x10 +/* 93F968 802403B8 00431024 */ and $v0, $v0, $v1 +/* 93F96C 802403BC 10400004 */ beqz $v0, .L802403D0 +/* 93F970 802403C0 00000000 */ nop +/* 93F974 802403C4 C620006C */ lwc1 $f0, 0x6c($s1) +/* 93F978 802403C8 46800020 */ cvt.s.w $f0, $f0 +/* 93F97C 802403CC E480000C */ swc1 $f0, 0xc($a0) +.L802403D0: +/* 93F980 802403D0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 93F984 802403D4 8C420014 */ lw $v0, 0x14($v0) +/* 93F988 802403D8 1C400004 */ bgtz $v0, .L802403EC +/* 93F98C 802403DC 00000000 */ nop +/* 93F990 802403E0 C640000C */ lwc1 $f0, 0xc($s2) +/* 93F994 802403E4 08090103 */ j .L8024040C +/* 93F998 802403E8 E4800018 */ swc1 $f0, 0x18($a0) +.L802403EC: +/* 93F99C 802403EC 3C018024 */ lui $at, 0x8024 +/* 93F9A0 802403F0 D42248A0 */ ldc1 $f2, 0x48a0($at) +/* 93F9A4 802403F4 44820000 */ mtc1 $v0, $f0 +/* 93F9A8 802403F8 00000000 */ nop +/* 93F9AC 802403FC 46800021 */ cvt.d.w $f0, $f0 +/* 93F9B0 80240400 46220003 */ div.d $f0, $f0, $f2 +/* 93F9B4 80240404 46200020 */ cvt.s.d $f0, $f0 +/* 93F9B8 80240408 E4800018 */ swc1 $f0, 0x18($a0) +.L8024040C: +/* 93F9BC 8024040C 8FBF001C */ lw $ra, 0x1c($sp) +/* 93F9C0 80240410 8FB20018 */ lw $s2, 0x18($sp) +/* 93F9C4 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* 93F9C8 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* 93F9CC 8024041C 03E00008 */ jr $ra +/* 93F9D0 80240420 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240424_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240424_93F5B0.s new file mode 100644 index 0000000000..ad1de167a7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240424_93F5B0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240424_93F9D4 +/* 93F9D4 80240424 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 93F9D8 80240428 AFB40040 */ sw $s4, 0x40($sp) +/* 93F9DC 8024042C 0080A02D */ daddu $s4, $a0, $zero +/* 93F9E0 80240430 AFBF0044 */ sw $ra, 0x44($sp) +/* 93F9E4 80240434 AFB3003C */ sw $s3, 0x3c($sp) +/* 93F9E8 80240438 AFB20038 */ sw $s2, 0x38($sp) +/* 93F9EC 8024043C AFB10034 */ sw $s1, 0x34($sp) +/* 93F9F0 80240440 AFB00030 */ sw $s0, 0x30($sp) +/* 93F9F4 80240444 8E920148 */ lw $s2, 0x148($s4) +/* 93F9F8 80240448 00A0802D */ daddu $s0, $a1, $zero +/* 93F9FC 8024044C 86440008 */ lh $a0, 8($s2) +/* 93FA00 80240450 0C00EABB */ jal get_npc_unsafe +/* 93FA04 80240454 00C0982D */ daddu $s3, $a2, $zero +/* 93FA08 80240458 8E030008 */ lw $v1, 8($s0) +/* 93FA0C 8024045C 04600031 */ bltz $v1, .L80240524 +/* 93FA10 80240460 0040882D */ daddu $s1, $v0, $zero +/* 93FA14 80240464 0260202D */ daddu $a0, $s3, $zero +/* 93FA18 80240468 AFA00010 */ sw $zero, 0x10($sp) +/* 93FA1C 8024046C 8E060018 */ lw $a2, 0x18($s0) +/* 93FA20 80240470 8E07001C */ lw $a3, 0x1c($s0) +/* 93FA24 80240474 0C01242D */ jal func_800490B4 +/* 93FA28 80240478 0240282D */ daddu $a1, $s2, $zero +/* 93FA2C 8024047C 10400029 */ beqz $v0, .L80240524 +/* 93FA30 80240480 0000202D */ daddu $a0, $zero, $zero +/* 93FA34 80240484 0220282D */ daddu $a1, $s1, $zero +/* 93FA38 80240488 0000302D */ daddu $a2, $zero, $zero +/* 93FA3C 8024048C 862300A8 */ lh $v1, 0xa8($s1) +/* 93FA40 80240490 3C013F80 */ lui $at, 0x3f80 +/* 93FA44 80240494 44810000 */ mtc1 $at, $f0 +/* 93FA48 80240498 3C014000 */ lui $at, 0x4000 +/* 93FA4C 8024049C 44811000 */ mtc1 $at, $f2 +/* 93FA50 802404A0 3C01C1A0 */ lui $at, 0xc1a0 +/* 93FA54 802404A4 44812000 */ mtc1 $at, $f4 +/* 93FA58 802404A8 2402000F */ addiu $v0, $zero, 0xf +/* 93FA5C 802404AC AFA2001C */ sw $v0, 0x1c($sp) +/* 93FA60 802404B0 44833000 */ mtc1 $v1, $f6 +/* 93FA64 802404B4 00000000 */ nop +/* 93FA68 802404B8 468031A0 */ cvt.s.w $f6, $f6 +/* 93FA6C 802404BC 44073000 */ mfc1 $a3, $f6 +/* 93FA70 802404C0 27A20028 */ addiu $v0, $sp, 0x28 +/* 93FA74 802404C4 AFA20020 */ sw $v0, 0x20($sp) +/* 93FA78 802404C8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93FA7C 802404CC E7A20014 */ swc1 $f2, 0x14($sp) +/* 93FA80 802404D0 0C01BFA4 */ jal fx_emote +/* 93FA84 802404D4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 93FA88 802404D8 0220202D */ daddu $a0, $s1, $zero +/* 93FA8C 802404DC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 93FA90 802404E0 0C012530 */ jal func_800494C0 +/* 93FA94 802404E4 3C060020 */ lui $a2, 0x20 +/* 93FA98 802404E8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 93FA9C 802404EC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 93FAA0 802404F0 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 93FAA4 802404F4 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 93FAA8 802404F8 8C460028 */ lw $a2, 0x28($v0) +/* 93FAAC 802404FC 0C00A720 */ jal atan2 +/* 93FAB0 80240500 8C470030 */ lw $a3, 0x30($v0) +/* 93FAB4 80240504 E620000C */ swc1 $f0, 0xc($s1) +/* 93FAB8 80240508 8E420018 */ lw $v0, 0x18($s2) +/* 93FABC 8024050C 9442002A */ lhu $v0, 0x2a($v0) +/* 93FAC0 80240510 30420001 */ andi $v0, $v0, 1 +/* 93FAC4 80240514 14400002 */ bnez $v0, .L80240520 +/* 93FAC8 80240518 2402000A */ addiu $v0, $zero, 0xa +/* 93FACC 8024051C 2402000C */ addiu $v0, $zero, 0xc +.L80240520: +/* 93FAD0 80240520 AE820070 */ sw $v0, 0x70($s4) +.L80240524: +/* 93FAD4 80240524 8FBF0044 */ lw $ra, 0x44($sp) +/* 93FAD8 80240528 8FB40040 */ lw $s4, 0x40($sp) +/* 93FADC 8024052C 8FB3003C */ lw $s3, 0x3c($sp) +/* 93FAE0 80240530 8FB20038 */ lw $s2, 0x38($sp) +/* 93FAE4 80240534 8FB10034 */ lw $s1, 0x34($sp) +/* 93FAE8 80240538 8FB00030 */ lw $s0, 0x30($sp) +/* 93FAEC 8024053C 03E00008 */ jr $ra +/* 93FAF0 80240540 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240544_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240544_93F5B0.s new file mode 100644 index 0000000000..11fbc39525 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240544_93F5B0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240544_93FAF4 +/* 93FAF4 80240544 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 93FAF8 80240548 AFB00010 */ sw $s0, 0x10($sp) +/* 93FAFC 8024054C 0080802D */ daddu $s0, $a0, $zero +/* 93FB00 80240550 AFBF0014 */ sw $ra, 0x14($sp) +/* 93FB04 80240554 8E020148 */ lw $v0, 0x148($s0) +/* 93FB08 80240558 0C00EABB */ jal get_npc_unsafe +/* 93FB0C 8024055C 84440008 */ lh $a0, 8($v0) +/* 93FB10 80240560 3C014120 */ lui $at, 0x4120 +/* 93FB14 80240564 44810000 */ mtc1 $at, $f0 +/* 93FB18 80240568 3C014000 */ lui $at, 0x4000 +/* 93FB1C 8024056C 44811000 */ mtc1 $at, $f2 +/* 93FB20 80240570 8C430000 */ lw $v1, ($v0) +/* 93FB24 80240574 C444003C */ lwc1 $f4, 0x3c($v0) +/* 93FB28 80240578 34630800 */ ori $v1, $v1, 0x800 +/* 93FB2C 8024057C E440001C */ swc1 $f0, 0x1c($v0) +/* 93FB30 80240580 E4420014 */ swc1 $f2, 0x14($v0) +/* 93FB34 80240584 E4440064 */ swc1 $f4, 0x64($v0) +/* 93FB38 80240588 AC430000 */ sw $v1, ($v0) +/* 93FB3C 8024058C 2402000B */ addiu $v0, $zero, 0xb +/* 93FB40 80240590 AE020070 */ sw $v0, 0x70($s0) +/* 93FB44 80240594 8FBF0014 */ lw $ra, 0x14($sp) +/* 93FB48 80240598 8FB00010 */ lw $s0, 0x10($sp) +/* 93FB4C 8024059C 03E00008 */ jr $ra +/* 93FB50 802405A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802405A4_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802405A4_93F5B0.s new file mode 100644 index 0000000000..048aa4a696 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802405A4_93F5B0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A4_93FB54 +/* 93FB54 802405A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 93FB58 802405A8 AFB00010 */ sw $s0, 0x10($sp) +/* 93FB5C 802405AC 0080802D */ daddu $s0, $a0, $zero +/* 93FB60 802405B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 93FB64 802405B4 8E020148 */ lw $v0, 0x148($s0) +/* 93FB68 802405B8 0C00EABB */ jal get_npc_unsafe +/* 93FB6C 802405BC 84440008 */ lh $a0, 8($v0) +/* 93FB70 802405C0 0040202D */ daddu $a0, $v0, $zero +/* 93FB74 802405C4 C482003C */ lwc1 $f2, 0x3c($a0) +/* 93FB78 802405C8 C480001C */ lwc1 $f0, 0x1c($a0) +/* 93FB7C 802405CC 46001080 */ add.s $f2, $f2, $f0 +/* 93FB80 802405D0 C4840014 */ lwc1 $f4, 0x14($a0) +/* 93FB84 802405D4 46040001 */ sub.s $f0, $f0, $f4 +/* 93FB88 802405D8 C4840064 */ lwc1 $f4, 0x64($a0) +/* 93FB8C 802405DC 4602203C */ c.lt.s $f4, $f2 +/* 93FB90 802405E0 E482003C */ swc1 $f2, 0x3c($a0) +/* 93FB94 802405E4 45010009 */ bc1t .L8024060C +/* 93FB98 802405E8 E480001C */ swc1 $f0, 0x1c($a0) +/* 93FB9C 802405EC 8C820000 */ lw $v0, ($a0) +/* 93FBA0 802405F0 2403F7FF */ addiu $v1, $zero, -0x801 +/* 93FBA4 802405F4 E484003C */ swc1 $f4, 0x3c($a0) +/* 93FBA8 802405F8 AC80001C */ sw $zero, 0x1c($a0) +/* 93FBAC 802405FC 00431024 */ and $v0, $v0, $v1 +/* 93FBB0 80240600 AC820000 */ sw $v0, ($a0) +/* 93FBB4 80240604 2402000C */ addiu $v0, $zero, 0xc +/* 93FBB8 80240608 AE020070 */ sw $v0, 0x70($s0) +.L8024060C: +/* 93FBBC 8024060C 8FBF0014 */ lw $ra, 0x14($sp) +/* 93FBC0 80240610 8FB00010 */ lw $s0, 0x10($sp) +/* 93FBC4 80240614 03E00008 */ jr $ra +/* 93FBC8 80240618 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_8024061C_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024061C_93F5B0.s new file mode 100644 index 0000000000..48de71fe96 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024061C_93F5B0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C_93FBCC +/* 93FBCC 8024061C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 93FBD0 80240620 AFB3001C */ sw $s3, 0x1c($sp) +/* 93FBD4 80240624 0080982D */ daddu $s3, $a0, $zero +/* 93FBD8 80240628 AFBF0020 */ sw $ra, 0x20($sp) +/* 93FBDC 8024062C AFB20018 */ sw $s2, 0x18($sp) +/* 93FBE0 80240630 AFB10014 */ sw $s1, 0x14($sp) +/* 93FBE4 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* 93FBE8 80240638 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 93FBEC 8024063C 8E710148 */ lw $s1, 0x148($s3) +/* 93FBF0 80240640 86240008 */ lh $a0, 8($s1) +/* 93FBF4 80240644 0C00EABB */ jal get_npc_unsafe +/* 93FBF8 80240648 00A0802D */ daddu $s0, $a1, $zero +/* 93FBFC 8024064C 8E040014 */ lw $a0, 0x14($s0) +/* 93FC00 80240650 0040902D */ daddu $s2, $v0, $zero +/* 93FC04 80240654 00041FC2 */ srl $v1, $a0, 0x1f +/* 93FC08 80240658 00832021 */ addu $a0, $a0, $v1 +/* 93FC0C 8024065C 00042043 */ sra $a0, $a0, 1 +/* 93FC10 80240660 0C00A67F */ jal rand_int +/* 93FC14 80240664 24840001 */ addiu $a0, $a0, 1 +/* 93FC18 80240668 8E030014 */ lw $v1, 0x14($s0) +/* 93FC1C 8024066C C64C0038 */ lwc1 $f12, 0x38($s2) +/* 93FC20 80240670 000327C2 */ srl $a0, $v1, 0x1f +/* 93FC24 80240674 00641821 */ addu $v1, $v1, $a0 +/* 93FC28 80240678 00031843 */ sra $v1, $v1, 1 +/* 93FC2C 8024067C 00621821 */ addu $v1, $v1, $v0 +/* 93FC30 80240680 A643008E */ sh $v1, 0x8e($s2) +/* 93FC34 80240684 8E2200CC */ lw $v0, 0xcc($s1) +/* 93FC38 80240688 C64E0040 */ lwc1 $f14, 0x40($s2) +/* 93FC3C 8024068C 8C42000C */ lw $v0, 0xc($v0) +/* 93FC40 80240690 AE420028 */ sw $v0, 0x28($s2) +/* 93FC44 80240694 C600000C */ lwc1 $f0, 0xc($s0) +/* 93FC48 80240698 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 93FC4C 8024069C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 93FC50 802406A0 E6400018 */ swc1 $f0, 0x18($s2) +/* 93FC54 802406A4 8C460028 */ lw $a2, 0x28($v0) +/* 93FC58 802406A8 0C00A720 */ jal atan2 +/* 93FC5C 802406AC 8C470030 */ lw $a3, 0x30($v0) +/* 93FC60 802406B0 46000506 */ mov.s $f20, $f0 +/* 93FC64 802406B4 C64C000C */ lwc1 $f12, 0xc($s2) +/* 93FC68 802406B8 0C00A70A */ jal get_clamped_angle_diff +/* 93FC6C 802406BC 4600A386 */ mov.s $f14, $f20 +/* 93FC70 802406C0 46000086 */ mov.s $f2, $f0 +/* 93FC74 802406C4 8E020010 */ lw $v0, 0x10($s0) +/* 93FC78 802406C8 46001005 */ abs.s $f0, $f2 +/* 93FC7C 802406CC 44822000 */ mtc1 $v0, $f4 +/* 93FC80 802406D0 00000000 */ nop +/* 93FC84 802406D4 46802120 */ cvt.s.w $f4, $f4 +/* 93FC88 802406D8 4600203C */ c.lt.s $f4, $f0 +/* 93FC8C 802406DC 00000000 */ nop +/* 93FC90 802406E0 4500000D */ bc1f .L80240718 +/* 93FC94 802406E4 00000000 */ nop +/* 93FC98 802406E8 44800000 */ mtc1 $zero, $f0 +/* 93FC9C 802406EC C654000C */ lwc1 $f20, 0xc($s2) +/* 93FCA0 802406F0 4600103C */ c.lt.s $f2, $f0 +/* 93FCA4 802406F4 00000000 */ nop +/* 93FCA8 802406F8 45000006 */ bc1f .L80240714 +/* 93FCAC 802406FC 00021023 */ negu $v0, $v0 +/* 93FCB0 80240700 44820000 */ mtc1 $v0, $f0 +/* 93FCB4 80240704 00000000 */ nop +/* 93FCB8 80240708 46800020 */ cvt.s.w $f0, $f0 +/* 93FCBC 8024070C 080901C6 */ j .L80240718 +/* 93FCC0 80240710 4600A500 */ add.s $f20, $f20, $f0 +.L80240714: +/* 93FCC4 80240714 4604A500 */ add.s $f20, $f20, $f4 +.L80240718: +/* 93FCC8 80240718 0C00A6C9 */ jal clamp_angle +/* 93FCCC 8024071C 4600A306 */ mov.s $f12, $f20 +/* 93FCD0 80240720 2402000D */ addiu $v0, $zero, 0xd +/* 93FCD4 80240724 E640000C */ swc1 $f0, 0xc($s2) +/* 93FCD8 80240728 AE620070 */ sw $v0, 0x70($s3) +/* 93FCDC 8024072C 8FBF0020 */ lw $ra, 0x20($sp) +/* 93FCE0 80240730 8FB3001C */ lw $s3, 0x1c($sp) +/* 93FCE4 80240734 8FB20018 */ lw $s2, 0x18($sp) +/* 93FCE8 80240738 8FB10014 */ lw $s1, 0x14($sp) +/* 93FCEC 8024073C 8FB00010 */ lw $s0, 0x10($sp) +/* 93FCF0 80240740 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 93FCF4 80240744 03E00008 */ jr $ra +/* 93FCF8 80240748 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_8024074C_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024074C_93F5B0.s new file mode 100644 index 0000000000..492cee23f4 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024074C_93F5B0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024074C_93FCFC +/* 93FCFC 8024074C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 93FD00 80240750 AFB3003C */ sw $s3, 0x3c($sp) +/* 93FD04 80240754 0080982D */ daddu $s3, $a0, $zero +/* 93FD08 80240758 AFBF0040 */ sw $ra, 0x40($sp) +/* 93FD0C 8024075C AFB20038 */ sw $s2, 0x38($sp) +/* 93FD10 80240760 AFB10034 */ sw $s1, 0x34($sp) +/* 93FD14 80240764 AFB00030 */ sw $s0, 0x30($sp) +/* 93FD18 80240768 8E720148 */ lw $s2, 0x148($s3) +/* 93FD1C 8024076C 00A0882D */ daddu $s1, $a1, $zero +/* 93FD20 80240770 86440008 */ lh $a0, 8($s2) +/* 93FD24 80240774 0C00EABB */ jal get_npc_unsafe +/* 93FD28 80240778 00C0802D */ daddu $s0, $a2, $zero +/* 93FD2C 8024077C 0200202D */ daddu $a0, $s0, $zero +/* 93FD30 80240780 0240282D */ daddu $a1, $s2, $zero +/* 93FD34 80240784 24030001 */ addiu $v1, $zero, 1 +/* 93FD38 80240788 AFA30010 */ sw $v1, 0x10($sp) +/* 93FD3C 8024078C 8E260018 */ lw $a2, 0x18($s1) +/* 93FD40 80240790 8E27001C */ lw $a3, 0x1c($s1) +/* 93FD44 80240794 0C01242D */ jal func_800490B4 +/* 93FD48 80240798 0040802D */ daddu $s0, $v0, $zero +/* 93FD4C 8024079C 1440001D */ bnez $v0, .L80240814 +/* 93FD50 802407A0 24040002 */ addiu $a0, $zero, 2 +/* 93FD54 802407A4 0200282D */ daddu $a1, $s0, $zero +/* 93FD58 802407A8 0000302D */ daddu $a2, $zero, $zero +/* 93FD5C 802407AC 860300A8 */ lh $v1, 0xa8($s0) +/* 93FD60 802407B0 3C013F80 */ lui $at, 0x3f80 +/* 93FD64 802407B4 44810000 */ mtc1 $at, $f0 +/* 93FD68 802407B8 3C014000 */ lui $at, 0x4000 +/* 93FD6C 802407BC 44811000 */ mtc1 $at, $f2 +/* 93FD70 802407C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 93FD74 802407C4 44812000 */ mtc1 $at, $f4 +/* 93FD78 802407C8 2402000F */ addiu $v0, $zero, 0xf +/* 93FD7C 802407CC AFA2001C */ sw $v0, 0x1c($sp) +/* 93FD80 802407D0 44833000 */ mtc1 $v1, $f6 +/* 93FD84 802407D4 00000000 */ nop +/* 93FD88 802407D8 468031A0 */ cvt.s.w $f6, $f6 +/* 93FD8C 802407DC 44073000 */ mfc1 $a3, $f6 +/* 93FD90 802407E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 93FD94 802407E4 AFA20020 */ sw $v0, 0x20($sp) +/* 93FD98 802407E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93FD9C 802407EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 93FDA0 802407F0 0C01BFA4 */ jal fx_emote +/* 93FDA4 802407F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 93FDA8 802407F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 93FDAC 802407FC 8C430000 */ lw $v1, ($v0) +/* 93FDB0 80240800 24020019 */ addiu $v0, $zero, 0x19 +/* 93FDB4 80240804 A602008E */ sh $v0, 0x8e($s0) +/* 93FDB8 80240808 2402000E */ addiu $v0, $zero, 0xe +/* 93FDBC 8024080C 08090212 */ j .L80240848 +/* 93FDC0 80240810 AE030028 */ sw $v1, 0x28($s0) +.L80240814: +/* 93FDC4 80240814 8E050018 */ lw $a1, 0x18($s0) +/* 93FDC8 80240818 8E06000C */ lw $a2, 0xc($s0) +/* 93FDCC 8024081C 0C00EA95 */ jal npc_move_heading +/* 93FDD0 80240820 0200202D */ daddu $a0, $s0, $zero +/* 93FDD4 80240824 0200202D */ daddu $a0, $s0, $zero +/* 93FDD8 80240828 0C00F598 */ jal func_8003D660 +/* 93FDDC 8024082C 24050001 */ addiu $a1, $zero, 1 +/* 93FDE0 80240830 9602008E */ lhu $v0, 0x8e($s0) +/* 93FDE4 80240834 2442FFFF */ addiu $v0, $v0, -1 +/* 93FDE8 80240838 A602008E */ sh $v0, 0x8e($s0) +/* 93FDEC 8024083C 00021400 */ sll $v0, $v0, 0x10 +/* 93FDF0 80240840 14400002 */ bnez $v0, .L8024084C +/* 93FDF4 80240844 2402000C */ addiu $v0, $zero, 0xc +.L80240848: +/* 93FDF8 80240848 AE620070 */ sw $v0, 0x70($s3) +.L8024084C: +/* 93FDFC 8024084C 8FBF0040 */ lw $ra, 0x40($sp) +/* 93FE00 80240850 8FB3003C */ lw $s3, 0x3c($sp) +/* 93FE04 80240854 8FB20038 */ lw $s2, 0x38($sp) +/* 93FE08 80240858 8FB10034 */ lw $s1, 0x34($sp) +/* 93FE0C 8024085C 8FB00030 */ lw $s0, 0x30($sp) +/* 93FE10 80240860 03E00008 */ jr $ra +/* 93FE14 80240864 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240868_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240868_93F5B0.s new file mode 100644 index 0000000000..c13a3681f6 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240868_93F5B0.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240868_93FE18 +/* 93FE18 80240868 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 93FE1C 8024086C AFB00010 */ sw $s0, 0x10($sp) +/* 93FE20 80240870 0080802D */ daddu $s0, $a0, $zero +/* 93FE24 80240874 AFBF0014 */ sw $ra, 0x14($sp) +/* 93FE28 80240878 8E020148 */ lw $v0, 0x148($s0) +/* 93FE2C 8024087C 0C00EABB */ jal get_npc_unsafe +/* 93FE30 80240880 84440008 */ lh $a0, 8($v0) +/* 93FE34 80240884 9443008E */ lhu $v1, 0x8e($v0) +/* 93FE38 80240888 2463FFFF */ addiu $v1, $v1, -1 +/* 93FE3C 8024088C A443008E */ sh $v1, 0x8e($v0) +/* 93FE40 80240890 00031C00 */ sll $v1, $v1, 0x10 +/* 93FE44 80240894 14600002 */ bnez $v1, .L802408A0 +/* 93FE48 80240898 2402000F */ addiu $v0, $zero, 0xf +/* 93FE4C 8024089C AE020070 */ sw $v0, 0x70($s0) +.L802408A0: +/* 93FE50 802408A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 93FE54 802408A4 8FB00010 */ lw $s0, 0x10($sp) +/* 93FE58 802408A8 03E00008 */ jr $ra +/* 93FE5C 802408AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802408B0_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802408B0_93F5B0.s new file mode 100644 index 0000000000..d291e04527 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802408B0_93F5B0.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B0_93FE60 +/* 93FE60 802408B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 93FE64 802408B4 AFB10014 */ sw $s1, 0x14($sp) +/* 93FE68 802408B8 0080882D */ daddu $s1, $a0, $zero +/* 93FE6C 802408BC AFBF001C */ sw $ra, 0x1c($sp) +/* 93FE70 802408C0 AFB20018 */ sw $s2, 0x18($sp) +/* 93FE74 802408C4 AFB00010 */ sw $s0, 0x10($sp) +/* 93FE78 802408C8 8E300148 */ lw $s0, 0x148($s1) +/* 93FE7C 802408CC 86040008 */ lh $a0, 8($s0) +/* 93FE80 802408D0 0C00EABB */ jal get_npc_unsafe +/* 93FE84 802408D4 00A0902D */ daddu $s2, $a1, $zero +/* 93FE88 802408D8 8E0300CC */ lw $v1, 0xcc($s0) +/* 93FE8C 802408DC 8C630004 */ lw $v1, 4($v1) +/* 93FE90 802408E0 0040202D */ daddu $a0, $v0, $zero +/* 93FE94 802408E4 AC830028 */ sw $v1, 0x28($a0) +/* 93FE98 802408E8 8E0200D0 */ lw $v0, 0xd0($s0) +/* 93FE9C 802408EC 8C420014 */ lw $v0, 0x14($v0) +/* 93FEA0 802408F0 04410009 */ bgez $v0, .L80240918 +/* 93FEA4 802408F4 00000000 */ nop +/* 93FEA8 802408F8 C640000C */ lwc1 $f0, 0xc($s2) +/* 93FEAC 802408FC 3C018024 */ lui $at, 0x8024 +/* 93FEB0 80240900 D42248A8 */ ldc1 $f2, 0x48a8($at) +/* 93FEB4 80240904 46000021 */ cvt.d.s $f0, $f0 +/* 93FEB8 80240908 46220002 */ mul.d $f0, $f0, $f2 +/* 93FEBC 8024090C 00000000 */ nop +/* 93FEC0 80240910 0809024D */ j .L80240934 +/* 93FEC4 80240914 46200020 */ cvt.s.d $f0, $f0 +.L80240918: +/* 93FEC8 80240918 3C018024 */ lui $at, 0x8024 +/* 93FECC 8024091C D42248B0 */ ldc1 $f2, 0x48b0($at) +/* 93FED0 80240920 44820000 */ mtc1 $v0, $f0 +/* 93FED4 80240924 00000000 */ nop +/* 93FED8 80240928 46800021 */ cvt.d.w $f0, $f0 +/* 93FEDC 8024092C 46220003 */ div.d $f0, $f0, $f2 +/* 93FEE0 80240930 46200020 */ cvt.s.d $f0, $f0 +.L80240934: +/* 93FEE4 80240934 E4800018 */ swc1 $f0, 0x18($a0) +/* 93FEE8 80240938 24020010 */ addiu $v0, $zero, 0x10 +/* 93FEEC 8024093C AE200074 */ sw $zero, 0x74($s1) +/* 93FEF0 80240940 AE220070 */ sw $v0, 0x70($s1) +/* 93FEF4 80240944 8FBF001C */ lw $ra, 0x1c($sp) +/* 93FEF8 80240948 8FB20018 */ lw $s2, 0x18($sp) +/* 93FEFC 8024094C 8FB10014 */ lw $s1, 0x14($sp) +/* 93FF00 80240950 8FB00010 */ lw $s0, 0x10($sp) +/* 93FF04 80240954 03E00008 */ jr $ra +/* 93FF08 80240958 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_8024095C_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024095C_93F5B0.s new file mode 100644 index 0000000000..b5292ec218 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_8024095C_93F5B0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024095C_93FF0C +/* 93FF0C 8024095C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 93FF10 80240960 AFB3003C */ sw $s3, 0x3c($sp) +/* 93FF14 80240964 0080982D */ daddu $s3, $a0, $zero +/* 93FF18 80240968 AFBF0044 */ sw $ra, 0x44($sp) +/* 93FF1C 8024096C AFB40040 */ sw $s4, 0x40($sp) +/* 93FF20 80240970 AFB20038 */ sw $s2, 0x38($sp) +/* 93FF24 80240974 AFB10034 */ sw $s1, 0x34($sp) +/* 93FF28 80240978 AFB00030 */ sw $s0, 0x30($sp) +/* 93FF2C 8024097C 8E710148 */ lw $s1, 0x148($s3) +/* 93FF30 80240980 00A0902D */ daddu $s2, $a1, $zero +/* 93FF34 80240984 86240008 */ lh $a0, 8($s1) +/* 93FF38 80240988 0C00EABB */ jal get_npc_unsafe +/* 93FF3C 8024098C 00C0A02D */ daddu $s4, $a2, $zero +/* 93FF40 80240990 8E430008 */ lw $v1, 8($s2) +/* 93FF44 80240994 0460003B */ bltz $v1, .L80240A84 +/* 93FF48 80240998 0040802D */ daddu $s0, $v0, $zero +/* 93FF4C 8024099C 8E620074 */ lw $v0, 0x74($s3) +/* 93FF50 802409A0 1C400037 */ bgtz $v0, .L80240A80 +/* 93FF54 802409A4 2442FFFF */ addiu $v0, $v0, -1 +/* 93FF58 802409A8 0280202D */ daddu $a0, $s4, $zero +/* 93FF5C 802409AC AE630074 */ sw $v1, 0x74($s3) +/* 93FF60 802409B0 AFA00010 */ sw $zero, 0x10($sp) +/* 93FF64 802409B4 8E460018 */ lw $a2, 0x18($s2) +/* 93FF68 802409B8 8E47001C */ lw $a3, 0x1c($s2) +/* 93FF6C 802409BC 0C01242D */ jal func_800490B4 +/* 93FF70 802409C0 0220282D */ daddu $a1, $s1, $zero +/* 93FF74 802409C4 1040002C */ beqz $v0, .L80240A78 +/* 93FF78 802409C8 0000202D */ daddu $a0, $zero, $zero +/* 93FF7C 802409CC 0200282D */ daddu $a1, $s0, $zero +/* 93FF80 802409D0 0000302D */ daddu $a2, $zero, $zero +/* 93FF84 802409D4 860300A8 */ lh $v1, 0xa8($s0) +/* 93FF88 802409D8 3C013F80 */ lui $at, 0x3f80 +/* 93FF8C 802409DC 44810000 */ mtc1 $at, $f0 +/* 93FF90 802409E0 3C014000 */ lui $at, 0x4000 +/* 93FF94 802409E4 44811000 */ mtc1 $at, $f2 +/* 93FF98 802409E8 3C01C1A0 */ lui $at, 0xc1a0 +/* 93FF9C 802409EC 44812000 */ mtc1 $at, $f4 +/* 93FFA0 802409F0 2402000F */ addiu $v0, $zero, 0xf +/* 93FFA4 802409F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 93FFA8 802409F8 44833000 */ mtc1 $v1, $f6 +/* 93FFAC 802409FC 00000000 */ nop +/* 93FFB0 80240A00 468031A0 */ cvt.s.w $f6, $f6 +/* 93FFB4 80240A04 44073000 */ mfc1 $a3, $f6 +/* 93FFB8 80240A08 27A20028 */ addiu $v0, $sp, 0x28 +/* 93FFBC 80240A0C AFA20020 */ sw $v0, 0x20($sp) +/* 93FFC0 80240A10 E7A00010 */ swc1 $f0, 0x10($sp) +/* 93FFC4 80240A14 E7A20014 */ swc1 $f2, 0x14($sp) +/* 93FFC8 80240A18 0C01BFA4 */ jal fx_emote +/* 93FFCC 80240A1C E7A40018 */ swc1 $f4, 0x18($sp) +/* 93FFD0 80240A20 0200202D */ daddu $a0, $s0, $zero +/* 93FFD4 80240A24 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 93FFD8 80240A28 0C012530 */ jal func_800494C0 +/* 93FFDC 80240A2C 3C060020 */ lui $a2, 0x20 +/* 93FFE0 80240A30 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 93FFE4 80240A34 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 93FFE8 80240A38 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 93FFEC 80240A3C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 93FFF0 80240A40 8C460028 */ lw $a2, 0x28($v0) +/* 93FFF4 80240A44 0C00A720 */ jal atan2 +/* 93FFF8 80240A48 8C470030 */ lw $a3, 0x30($v0) +/* 93FFFC 80240A4C E600000C */ swc1 $f0, 0xc($s0) +/* 940000 80240A50 8E220018 */ lw $v0, 0x18($s1) +/* 940004 80240A54 9442002A */ lhu $v0, 0x2a($v0) +/* 940008 80240A58 30420001 */ andi $v0, $v0, 1 +/* 94000C 80240A5C 10400003 */ beqz $v0, .L80240A6C +/* 940010 80240A60 2402000A */ addiu $v0, $zero, 0xa +/* 940014 80240A64 080902D1 */ j .L80240B44 +/* 940018 80240A68 AE620070 */ sw $v0, 0x70($s3) +.L80240A6C: +/* 94001C 80240A6C 2402000C */ addiu $v0, $zero, 0xc +/* 940020 80240A70 080902D1 */ j .L80240B44 +/* 940024 80240A74 AE620070 */ sw $v0, 0x70($s3) +.L80240A78: +/* 940028 80240A78 8E620074 */ lw $v0, 0x74($s3) +/* 94002C 80240A7C 2442FFFF */ addiu $v0, $v0, -1 +.L80240A80: +/* 940030 80240A80 AE620074 */ sw $v0, 0x74($s3) +.L80240A84: +/* 940034 80240A84 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 940038 80240A88 8E2200D0 */ lw $v0, 0xd0($s1) +/* 94003C 80240A8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 940040 80240A90 C4460000 */ lwc1 $f6, ($v0) +/* 940044 80240A94 468031A0 */ cvt.s.w $f6, $f6 +/* 940048 80240A98 44063000 */ mfc1 $a2, $f6 +/* 94004C 80240A9C C4460008 */ lwc1 $f6, 8($v0) +/* 940050 80240AA0 468031A0 */ cvt.s.w $f6, $f6 +/* 940054 80240AA4 44073000 */ mfc1 $a3, $f6 +/* 940058 80240AA8 0C00A7B5 */ jal dist2D +/* 94005C 80240AAC 00000000 */ nop +/* 940060 80240AB0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 940064 80240AB4 4602003C */ c.lt.s $f0, $f2 +/* 940068 80240AB8 00000000 */ nop +/* 94006C 80240ABC 4500000E */ bc1f .L80240AF8 +/* 940070 80240AC0 00000000 */ nop +/* 940074 80240AC4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 940078 80240AC8 C4400000 */ lwc1 $f0, ($v0) +/* 94007C 80240ACC 46800020 */ cvt.s.w $f0, $f0 +/* 940080 80240AD0 E6000038 */ swc1 $f0, 0x38($s0) +/* 940084 80240AD4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 940088 80240AD8 C4400008 */ lwc1 $f0, 8($v0) +/* 94008C 80240ADC 46800020 */ cvt.s.w $f0, $f0 +/* 940090 80240AE0 E6000040 */ swc1 $f0, 0x40($s0) +/* 940094 80240AE4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 940098 80240AE8 C440000C */ lwc1 $f0, 0xc($v0) +/* 94009C 80240AEC 46800020 */ cvt.s.w $f0, $f0 +/* 9400A0 80240AF0 E600000C */ swc1 $f0, 0xc($s0) +/* 9400A4 80240AF4 AE600070 */ sw $zero, 0x70($s3) +.L80240AF8: +/* 9400A8 80240AF8 8602008C */ lh $v0, 0x8c($s0) +/* 9400AC 80240AFC 14400011 */ bnez $v0, .L80240B44 +/* 9400B0 80240B00 00000000 */ nop +/* 9400B4 80240B04 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9400B8 80240B08 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9400BC 80240B0C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9400C0 80240B10 C4460000 */ lwc1 $f6, ($v0) +/* 9400C4 80240B14 468031A0 */ cvt.s.w $f6, $f6 +/* 9400C8 80240B18 44063000 */ mfc1 $a2, $f6 +/* 9400CC 80240B1C C4460008 */ lwc1 $f6, 8($v0) +/* 9400D0 80240B20 468031A0 */ cvt.s.w $f6, $f6 +/* 9400D4 80240B24 44073000 */ mfc1 $a3, $f6 +/* 9400D8 80240B28 0C00A720 */ jal atan2 +/* 9400DC 80240B2C 00000000 */ nop +/* 9400E0 80240B30 8E050018 */ lw $a1, 0x18($s0) +/* 9400E4 80240B34 44060000 */ mfc1 $a2, $f0 +/* 9400E8 80240B38 0200202D */ daddu $a0, $s0, $zero +/* 9400EC 80240B3C 0C00EA95 */ jal npc_move_heading +/* 9400F0 80240B40 AC86000C */ sw $a2, 0xc($a0) +.L80240B44: +/* 9400F4 80240B44 8FBF0044 */ lw $ra, 0x44($sp) +/* 9400F8 80240B48 8FB40040 */ lw $s4, 0x40($sp) +/* 9400FC 80240B4C 8FB3003C */ lw $s3, 0x3c($sp) +/* 940100 80240B50 8FB20038 */ lw $s2, 0x38($sp) +/* 940104 80240B54 8FB10034 */ lw $s1, 0x34($sp) +/* 940108 80240B58 8FB00030 */ lw $s0, 0x30($sp) +/* 94010C 80240B5C 03E00008 */ jr $ra +/* 940110 80240B60 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240B64_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240B64_93F5B0.s new file mode 100644 index 0000000000..ccd3e04d23 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240B64_93F5B0.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B64_940114 +/* 940114 80240B64 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 940118 80240B68 AFB40040 */ sw $s4, 0x40($sp) +/* 94011C 80240B6C 0080A02D */ daddu $s4, $a0, $zero +/* 940120 80240B70 AFBF0048 */ sw $ra, 0x48($sp) +/* 940124 80240B74 AFB50044 */ sw $s5, 0x44($sp) +/* 940128 80240B78 AFB3003C */ sw $s3, 0x3c($sp) +/* 94012C 80240B7C AFB20038 */ sw $s2, 0x38($sp) +/* 940130 80240B80 AFB10034 */ sw $s1, 0x34($sp) +/* 940134 80240B84 AFB00030 */ sw $s0, 0x30($sp) +/* 940138 80240B88 8E920148 */ lw $s2, 0x148($s4) +/* 94013C 80240B8C 86440008 */ lh $a0, 8($s2) +/* 940140 80240B90 8E90000C */ lw $s0, 0xc($s4) +/* 940144 80240B94 0C00EABB */ jal get_npc_unsafe +/* 940148 80240B98 00A0882D */ daddu $s1, $a1, $zero +/* 94014C 80240B9C 0280202D */ daddu $a0, $s4, $zero +/* 940150 80240BA0 8E050000 */ lw $a1, ($s0) +/* 940154 80240BA4 0C0B1EAF */ jal get_variable +/* 940158 80240BA8 0040802D */ daddu $s0, $v0, $zero +/* 94015C 80240BAC AFA00010 */ sw $zero, 0x10($sp) +/* 940160 80240BB0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 940164 80240BB4 8C630030 */ lw $v1, 0x30($v1) +/* 940168 80240BB8 AFA30014 */ sw $v1, 0x14($sp) +/* 94016C 80240BBC 8E4300D0 */ lw $v1, 0xd0($s2) +/* 940170 80240BC0 8C63001C */ lw $v1, 0x1c($v1) +/* 940174 80240BC4 AFA30018 */ sw $v1, 0x18($sp) +/* 940178 80240BC8 8E4300D0 */ lw $v1, 0xd0($s2) +/* 94017C 80240BCC 8C630024 */ lw $v1, 0x24($v1) +/* 940180 80240BD0 AFA3001C */ sw $v1, 0x1c($sp) +/* 940184 80240BD4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 940188 80240BD8 8C630028 */ lw $v1, 0x28($v1) +/* 94018C 80240BDC 27B50010 */ addiu $s5, $sp, 0x10 +/* 940190 80240BE0 AFA30020 */ sw $v1, 0x20($sp) +/* 940194 80240BE4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 940198 80240BE8 3C014282 */ lui $at, 0x4282 +/* 94019C 80240BEC 44810000 */ mtc1 $at, $f0 +/* 9401A0 80240BF0 8C63002C */ lw $v1, 0x2c($v1) +/* 9401A4 80240BF4 0040982D */ daddu $s3, $v0, $zero +/* 9401A8 80240BF8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9401AC 80240BFC A7A0002C */ sh $zero, 0x2c($sp) +/* 9401B0 80240C00 16200005 */ bnez $s1, .L80240C18 +/* 9401B4 80240C04 AFA30024 */ sw $v1, 0x24($sp) +/* 9401B8 80240C08 8E4200B0 */ lw $v0, 0xb0($s2) +/* 9401BC 80240C0C 30420004 */ andi $v0, $v0, 4 +/* 9401C0 80240C10 1040002F */ beqz $v0, .L80240CD0 +/* 9401C4 80240C14 00000000 */ nop +.L80240C18: +/* 9401C8 80240C18 AE800070 */ sw $zero, 0x70($s4) +/* 9401CC 80240C1C C600000C */ lwc1 $f0, 0xc($s0) +/* 9401D0 80240C20 A600008E */ sh $zero, 0x8e($s0) +/* 9401D4 80240C24 8E4200CC */ lw $v0, 0xcc($s2) +/* 9401D8 80240C28 4600008D */ trunc.w.s $f2, $f0 +/* 9401DC 80240C2C E642006C */ swc1 $f2, 0x6c($s2) +/* 9401E0 80240C30 8C420000 */ lw $v0, ($v0) +/* 9401E4 80240C34 8E030000 */ lw $v1, ($s0) +/* 9401E8 80240C38 AE020028 */ sw $v0, 0x28($s0) +/* 9401EC 80240C3C 2402F7FF */ addiu $v0, $zero, -0x801 +/* 9401F0 80240C40 00621824 */ and $v1, $v1, $v0 +/* 9401F4 80240C44 AE030000 */ sw $v1, ($s0) +/* 9401F8 80240C48 8E4200D0 */ lw $v0, 0xd0($s2) +/* 9401FC 80240C4C 8C420034 */ lw $v0, 0x34($v0) +/* 940200 80240C50 54400005 */ bnel $v0, $zero, .L80240C68 +/* 940204 80240C54 2402FDFF */ addiu $v0, $zero, -0x201 +/* 940208 80240C58 34620200 */ ori $v0, $v1, 0x200 +/* 94020C 80240C5C 2403FFF7 */ addiu $v1, $zero, -9 +/* 940210 80240C60 0809031C */ j .L80240C70 +/* 940214 80240C64 00431024 */ and $v0, $v0, $v1 +.L80240C68: +/* 940218 80240C68 00621024 */ and $v0, $v1, $v0 +/* 94021C 80240C6C 34420008 */ ori $v0, $v0, 8 +.L80240C70: +/* 940220 80240C70 AE020000 */ sw $v0, ($s0) +/* 940224 80240C74 8E4200B0 */ lw $v0, 0xb0($s2) +/* 940228 80240C78 30420004 */ andi $v0, $v0, 4 +/* 94022C 80240C7C 10400009 */ beqz $v0, .L80240CA4 +/* 940230 80240C80 24020063 */ addiu $v0, $zero, 0x63 +/* 940234 80240C84 AE820070 */ sw $v0, 0x70($s4) +/* 940238 80240C88 2402000F */ addiu $v0, $zero, 0xf +/* 94023C 80240C8C AE820074 */ sw $v0, 0x74($s4) +/* 940240 80240C90 8E4200B0 */ lw $v0, 0xb0($s2) +/* 940244 80240C94 2403FFFB */ addiu $v1, $zero, -5 +/* 940248 80240C98 00431024 */ and $v0, $v0, $v1 +/* 94024C 80240C9C 08090334 */ j .L80240CD0 +/* 940250 80240CA0 AE4200B0 */ sw $v0, 0xb0($s2) +.L80240CA4: +/* 940254 80240CA4 8E420000 */ lw $v0, ($s2) +/* 940258 80240CA8 3C034000 */ lui $v1, 0x4000 +/* 94025C 80240CAC 00431024 */ and $v0, $v0, $v1 +/* 940260 80240CB0 10400007 */ beqz $v0, .L80240CD0 +/* 940264 80240CB4 3C03BFFF */ lui $v1, 0xbfff +/* 940268 80240CB8 2402000C */ addiu $v0, $zero, 0xc +/* 94026C 80240CBC AE820070 */ sw $v0, 0x70($s4) +/* 940270 80240CC0 8E420000 */ lw $v0, ($s2) +/* 940274 80240CC4 3463FFFF */ ori $v1, $v1, 0xffff +/* 940278 80240CC8 00431024 */ and $v0, $v0, $v1 +/* 94027C 80240CCC AE420000 */ sw $v0, ($s2) +.L80240CD0: +/* 940280 80240CD0 8E830070 */ lw $v1, 0x70($s4) +/* 940284 80240CD4 2C620064 */ sltiu $v0, $v1, 0x64 +/* 940288 80240CD8 10400036 */ beqz $v0, .L80240DB4 +/* 94028C 80240CDC 00031080 */ sll $v0, $v1, 2 +/* 940290 80240CE0 3C018024 */ lui $at, 0x8024 +/* 940294 80240CE4 00220821 */ addu $at, $at, $v0 +/* 940298 80240CE8 8C2248B8 */ lw $v0, 0x48b8($at) +/* 94029C 80240CEC 00400008 */ jr $v0 +/* 9402A0 80240CF0 00000000 */ nop +/* 9402A4 80240CF4 0280202D */ daddu $a0, $s4, $zero +/* 9402A8 80240CF8 0260282D */ daddu $a1, $s3, $zero +/* 9402AC 80240CFC 0C0900DC */ jal func_80240370 +/* 9402B0 80240D00 02A0302D */ daddu $a2, $s5, $zero +/* 9402B4 80240D04 0280202D */ daddu $a0, $s4, $zero +/* 9402B8 80240D08 0260282D */ daddu $a1, $s3, $zero +/* 9402BC 80240D0C 0C090109 */ jal func_80240424 +/* 9402C0 80240D10 02A0302D */ daddu $a2, $s5, $zero +/* 9402C4 80240D14 0809036D */ j .L80240DB4 +/* 9402C8 80240D18 00000000 */ nop +/* 9402CC 80240D1C 0280202D */ daddu $a0, $s4, $zero +/* 9402D0 80240D20 0260282D */ daddu $a1, $s3, $zero +/* 9402D4 80240D24 0C090151 */ jal func_80240544 +/* 9402D8 80240D28 02A0302D */ daddu $a2, $s5, $zero +/* 9402DC 80240D2C 0280202D */ daddu $a0, $s4, $zero +/* 9402E0 80240D30 0260282D */ daddu $a1, $s3, $zero +/* 9402E4 80240D34 0C090169 */ jal func_802405A4 +/* 9402E8 80240D38 02A0302D */ daddu $a2, $s5, $zero +/* 9402EC 80240D3C 0809036D */ j .L80240DB4 +/* 9402F0 80240D40 00000000 */ nop +/* 9402F4 80240D44 0280202D */ daddu $a0, $s4, $zero +/* 9402F8 80240D48 0260282D */ daddu $a1, $s3, $zero +/* 9402FC 80240D4C 0C090187 */ jal func_8024061C +/* 940300 80240D50 02A0302D */ daddu $a2, $s5, $zero +/* 940304 80240D54 0280202D */ daddu $a0, $s4, $zero +/* 940308 80240D58 0260282D */ daddu $a1, $s3, $zero +/* 94030C 80240D5C 0C0901D3 */ jal func_8024074C +/* 940310 80240D60 02A0302D */ daddu $a2, $s5, $zero +/* 940314 80240D64 0809036D */ j .L80240DB4 +/* 940318 80240D68 00000000 */ nop +/* 94031C 80240D6C 0280202D */ daddu $a0, $s4, $zero +/* 940320 80240D70 0260282D */ daddu $a1, $s3, $zero +/* 940324 80240D74 0C09021A */ jal func_80240868 +/* 940328 80240D78 02A0302D */ daddu $a2, $s5, $zero +/* 94032C 80240D7C 0809036D */ j .L80240DB4 +/* 940330 80240D80 00000000 */ nop +/* 940334 80240D84 0280202D */ daddu $a0, $s4, $zero +/* 940338 80240D88 0260282D */ daddu $a1, $s3, $zero +/* 94033C 80240D8C 0C09022C */ jal func_802408B0 +/* 940340 80240D90 02A0302D */ daddu $a2, $s5, $zero +/* 940344 80240D94 0280202D */ daddu $a0, $s4, $zero +/* 940348 80240D98 0260282D */ daddu $a1, $s3, $zero +/* 94034C 80240D9C 0C090257 */ jal func_8024095C +/* 940350 80240DA0 02A0302D */ daddu $a2, $s5, $zero +/* 940354 80240DA4 0809036D */ j .L80240DB4 +/* 940358 80240DA8 00000000 */ nop +/* 94035C 80240DAC 0C0129CF */ jal func_8004A73C +/* 940360 80240DB0 0280202D */ daddu $a0, $s4, $zero +.L80240DB4: +/* 940364 80240DB4 8FBF0048 */ lw $ra, 0x48($sp) +/* 940368 80240DB8 8FB50044 */ lw $s5, 0x44($sp) +/* 94036C 80240DBC 8FB40040 */ lw $s4, 0x40($sp) +/* 940370 80240DC0 8FB3003C */ lw $s3, 0x3c($sp) +/* 940374 80240DC4 8FB20038 */ lw $s2, 0x38($sp) +/* 940378 80240DC8 8FB10034 */ lw $s1, 0x34($sp) +/* 94037C 80240DCC 8FB00030 */ lw $s0, 0x30($sp) +/* 940380 80240DD0 0000102D */ daddu $v0, $zero, $zero +/* 940384 80240DD4 03E00008 */ jr $ra +/* 940388 80240DD8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240DDC_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240DDC_93F5B0.s new file mode 100644 index 0000000000..0d26abe3ff --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240DDC_93F5B0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DDC_94038C +/* 94038C 80240DDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 940390 80240DE0 AFB00010 */ sw $s0, 0x10($sp) +/* 940394 80240DE4 3C108024 */ lui $s0, 0x8024 +/* 940398 80240DE8 26101FF4 */ addiu $s0, $s0, 0x1ff4 +/* 94039C 80240DEC AFBF0018 */ sw $ra, 0x18($sp) +/* 9403A0 80240DF0 AFB10014 */ sw $s1, 0x14($sp) +/* 9403A4 80240DF4 8E020000 */ lw $v0, ($s0) +/* 9403A8 80240DF8 14400010 */ bnez $v0, .L80240E3C +/* 9403AC 80240DFC 0080882D */ daddu $s1, $a0, $zero +/* 9403B0 80240E00 0C00AB39 */ jal heap_malloc +/* 9403B4 80240E04 24040040 */ addiu $a0, $zero, 0x40 +/* 9403B8 80240E08 AE020000 */ sw $v0, ($s0) +/* 9403BC 80240E0C 0000182D */ daddu $v1, $zero, $zero +/* 9403C0 80240E10 0040282D */ daddu $a1, $v0, $zero +/* 9403C4 80240E14 0220202D */ daddu $a0, $s1, $zero +.L80240E18: +/* 9403C8 80240E18 8C820084 */ lw $v0, 0x84($a0) +/* 9403CC 80240E1C 24840004 */ addiu $a0, $a0, 4 +/* 9403D0 80240E20 24630001 */ addiu $v1, $v1, 1 +/* 9403D4 80240E24 ACA20000 */ sw $v0, ($a1) +/* 9403D8 80240E28 28620010 */ slti $v0, $v1, 0x10 +/* 9403DC 80240E2C 1440FFFA */ bnez $v0, .L80240E18 +/* 9403E0 80240E30 24A50004 */ addiu $a1, $a1, 4 +/* 9403E4 80240E34 0809039E */ j .L80240E78 +/* 9403E8 80240E38 00000000 */ nop +.L80240E3C: +/* 9403EC 80240E3C 0000182D */ daddu $v1, $zero, $zero +/* 9403F0 80240E40 0040282D */ daddu $a1, $v0, $zero +/* 9403F4 80240E44 0220202D */ daddu $a0, $s1, $zero +.L80240E48: +/* 9403F8 80240E48 8CA20000 */ lw $v0, ($a1) +/* 9403FC 80240E4C 24A50004 */ addiu $a1, $a1, 4 +/* 940400 80240E50 24630001 */ addiu $v1, $v1, 1 +/* 940404 80240E54 AC820084 */ sw $v0, 0x84($a0) +/* 940408 80240E58 28620010 */ slti $v0, $v1, 0x10 +/* 94040C 80240E5C 1440FFFA */ bnez $v0, .L80240E48 +/* 940410 80240E60 24840004 */ addiu $a0, $a0, 4 +/* 940414 80240E64 3C108024 */ lui $s0, 0x8024 +/* 940418 80240E68 26101FF4 */ addiu $s0, $s0, 0x1ff4 +/* 94041C 80240E6C 0C00AB4B */ jal heap_free +/* 940420 80240E70 8E040000 */ lw $a0, ($s0) +/* 940424 80240E74 AE000000 */ sw $zero, ($s0) +.L80240E78: +/* 940428 80240E78 8FBF0018 */ lw $ra, 0x18($sp) +/* 94042C 80240E7C 8FB10014 */ lw $s1, 0x14($sp) +/* 940430 80240E80 8FB00010 */ lw $s0, 0x10($sp) +/* 940434 80240E84 24020002 */ addiu $v0, $zero, 2 +/* 940438 80240E88 03E00008 */ jr $ra +/* 94043C 80240E8C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240E90_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240E90_93F5B0.s new file mode 100644 index 0000000000..3616ee158d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240E90_93F5B0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E90_940440 +/* 940440 80240E90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 940444 80240E94 AFB00010 */ sw $s0, 0x10($sp) +/* 940448 80240E98 0080802D */ daddu $s0, $a0, $zero +/* 94044C 80240E9C AFBF0018 */ sw $ra, 0x18($sp) +/* 940450 80240EA0 AFB10014 */ sw $s1, 0x14($sp) +/* 940454 80240EA4 8E02000C */ lw $v0, 0xc($s0) +/* 940458 80240EA8 8C510000 */ lw $s1, ($v0) +/* 94045C 80240EAC 0C0B1EAF */ jal get_variable +/* 940460 80240EB0 0220282D */ daddu $a1, $s1, $zero +/* 940464 80240EB4 3C03FFF0 */ lui $v1, 0xfff0 +/* 940468 80240EB8 3463FFFF */ ori $v1, $v1, 0xffff +/* 94046C 80240EBC 0200202D */ daddu $a0, $s0, $zero +/* 940470 80240EC0 00431024 */ and $v0, $v0, $v1 +/* 940474 80240EC4 00021140 */ sll $v0, $v0, 5 +/* 940478 80240EC8 3C068008 */ lui $a2, %hi(gItemTable) +/* 94047C 80240ECC 00C23021 */ addu $a2, $a2, $v0 +/* 940480 80240ED0 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 940484 80240ED4 0C0B2026 */ jal set_variable +/* 940488 80240ED8 0220282D */ daddu $a1, $s1, $zero +/* 94048C 80240EDC 8FBF0018 */ lw $ra, 0x18($sp) +/* 940490 80240EE0 8FB10014 */ lw $s1, 0x14($sp) +/* 940494 80240EE4 8FB00010 */ lw $s0, 0x10($sp) +/* 940498 80240EE8 24020002 */ addiu $v0, $zero, 2 +/* 94049C 80240EEC 03E00008 */ jr $ra +/* 9404A0 80240EF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240EF4.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240EF4.s new file mode 100644 index 0000000000..38e29ac9d2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240EF4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240EF4 +/* 9404A4 80240EF4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9404A8 80240EF8 AFB10014 */ sw $s1, 0x14($sp) +/* 9404AC 80240EFC 0080882D */ daddu $s1, $a0, $zero +/* 9404B0 80240F00 AFBF0018 */ sw $ra, 0x18($sp) +/* 9404B4 80240F04 AFB00010 */ sw $s0, 0x10($sp) +/* 9404B8 80240F08 8E30000C */ lw $s0, 0xc($s1) +/* 9404BC 80240F0C 8E050000 */ lw $a1, ($s0) +/* 9404C0 80240F10 0C0B1EAF */ jal get_variable +/* 9404C4 80240F14 26100004 */ addiu $s0, $s0, 4 +/* 9404C8 80240F18 0C00EAD2 */ jal get_npc_safe +/* 9404CC 80240F1C 0040202D */ daddu $a0, $v0, $zero +/* 9404D0 80240F20 10400005 */ beqz $v0, .L80240F38 +/* 9404D4 80240F24 00000000 */ nop +/* 9404D8 80240F28 8E050000 */ lw $a1, ($s0) +/* 9404DC 80240F2C 844600A8 */ lh $a2, 0xa8($v0) +/* 9404E0 80240F30 0C0B2026 */ jal set_variable +/* 9404E4 80240F34 0220202D */ daddu $a0, $s1, $zero +.L80240F38: +/* 9404E8 80240F38 8FBF0018 */ lw $ra, 0x18($sp) +/* 9404EC 80240F3C 8FB10014 */ lw $s1, 0x14($sp) +/* 9404F0 80240F40 8FB00010 */ lw $s0, 0x10($sp) +/* 9404F4 80240F44 24020002 */ addiu $v0, $zero, 2 +/* 9404F8 80240F48 03E00008 */ jr $ra +/* 9404FC 80240F4C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80240F50_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240F50_93F5B0.s new file mode 100644 index 0000000000..fcbc7ada43 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80240F50_93F5B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F50_940500 +/* 940500 80240F50 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 940504 80240F54 AFB10014 */ sw $s1, 0x14($sp) +/* 940508 80240F58 0080882D */ daddu $s1, $a0, $zero +/* 94050C 80240F5C AFBF0024 */ sw $ra, 0x24($sp) +/* 940510 80240F60 AFB40020 */ sw $s4, 0x20($sp) +/* 940514 80240F64 AFB3001C */ sw $s3, 0x1c($sp) +/* 940518 80240F68 AFB20018 */ sw $s2, 0x18($sp) +/* 94051C 80240F6C AFB00010 */ sw $s0, 0x10($sp) +/* 940520 80240F70 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 940524 80240F74 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 940528 80240F78 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 94052C 80240F7C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 940530 80240F80 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 940534 80240F84 8E30000C */ lw $s0, 0xc($s1) +/* 940538 80240F88 8E130000 */ lw $s3, ($s0) +/* 94053C 80240F8C 26100004 */ addiu $s0, $s0, 4 +/* 940540 80240F90 0C0B1EAF */ jal get_variable +/* 940544 80240F94 0260282D */ daddu $a1, $s3, $zero +/* 940548 80240F98 4482E000 */ mtc1 $v0, $f28 +/* 94054C 80240F9C 00000000 */ nop +/* 940550 80240FA0 4680E720 */ cvt.s.w $f28, $f28 +/* 940554 80240FA4 8E140000 */ lw $s4, ($s0) +/* 940558 80240FA8 26100004 */ addiu $s0, $s0, 4 +/* 94055C 80240FAC 0220202D */ daddu $a0, $s1, $zero +/* 940560 80240FB0 0C0B1EAF */ jal get_variable +/* 940564 80240FB4 0280282D */ daddu $a1, $s4, $zero +/* 940568 80240FB8 4482D000 */ mtc1 $v0, $f26 +/* 94056C 80240FBC 00000000 */ nop +/* 940570 80240FC0 4680D6A0 */ cvt.s.w $f26, $f26 +/* 940574 80240FC4 8E100000 */ lw $s0, ($s0) +/* 940578 80240FC8 0220202D */ daddu $a0, $s1, $zero +/* 94057C 80240FCC 0C0B1EAF */ jal get_variable +/* 940580 80240FD0 0200282D */ daddu $a1, $s0, $zero +/* 940584 80240FD4 4482C000 */ mtc1 $v0, $f24 +/* 940588 80240FD8 00000000 */ nop +/* 94058C 80240FDC 4680C620 */ cvt.s.w $f24, $f24 +/* 940590 80240FE0 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 940594 80240FE4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 940598 80240FE8 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 94059C 80240FEC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 9405A0 80240FF0 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 9405A4 80240FF4 44800000 */ mtc1 $zero, $f0 +/* 9405A8 80240FF8 00031080 */ sll $v0, $v1, 2 +/* 9405AC 80240FFC 00431021 */ addu $v0, $v0, $v1 +/* 9405B0 80241000 00021080 */ sll $v0, $v0, 2 +/* 9405B4 80241004 00431023 */ subu $v0, $v0, $v1 +/* 9405B8 80241008 000218C0 */ sll $v1, $v0, 3 +/* 9405BC 8024100C 00431021 */ addu $v0, $v0, $v1 +/* 9405C0 80241010 000210C0 */ sll $v0, $v0, 3 +/* 9405C4 80241014 46001032 */ c.eq.s $f2, $f0 +/* 9405C8 80241018 3C01800B */ lui $at, 0x800b +/* 9405CC 8024101C 00220821 */ addu $at, $at, $v0 +/* 9405D0 80241020 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 9405D4 80241024 45000005 */ bc1f .L8024103C +/* 9405D8 80241028 00000000 */ nop +/* 9405DC 8024102C 3C0142C8 */ lui $at, 0x42c8 +/* 9405E0 80241030 44810000 */ mtc1 $at, $f0 +/* 9405E4 80241034 08090413 */ j .L8024104C +/* 9405E8 80241038 4600B581 */ sub.s $f22, $f22, $f0 +.L8024103C: +/* 9405EC 8024103C 3C0142C8 */ lui $at, 0x42c8 +/* 9405F0 80241040 44810000 */ mtc1 $at, $f0 +/* 9405F4 80241044 00000000 */ nop +/* 9405F8 80241048 4600B580 */ add.s $f22, $f22, $f0 +.L8024104C: +/* 9405FC 8024104C 0C00A6C9 */ jal clamp_angle +/* 940600 80241050 4600B306 */ mov.s $f12, $f22 +/* 940604 80241054 46000586 */ mov.s $f22, $f0 +/* 940608 80241058 3C014170 */ lui $at, 0x4170 +/* 94060C 8024105C 4481A000 */ mtc1 $at, $f20 +/* 940610 80241060 0C00A8BB */ jal sin_deg +/* 940614 80241064 4600B306 */ mov.s $f12, $f22 +/* 940618 80241068 46140002 */ mul.s $f0, $f0, $f20 +/* 94061C 8024106C 00000000 */ nop +/* 940620 80241070 864200B0 */ lh $v0, 0xb0($s2) +/* 940624 80241074 3C013F00 */ lui $at, 0x3f00 +/* 940628 80241078 44812000 */ mtc1 $at, $f4 +/* 94062C 8024107C 44821000 */ mtc1 $v0, $f2 +/* 940630 80241080 00000000 */ nop +/* 940634 80241084 468010A0 */ cvt.s.w $f2, $f2 +/* 940638 80241088 46041082 */ mul.s $f2, $f2, $f4 +/* 94063C 8024108C 00000000 */ nop +/* 940640 80241090 4600E700 */ add.s $f28, $f28, $f0 +/* 940644 80241094 4602D680 */ add.s $f26, $f26, $f2 +/* 940648 80241098 0C00A8D4 */ jal cos_deg +/* 94064C 8024109C 4600B306 */ mov.s $f12, $f22 +/* 940650 802410A0 46140002 */ mul.s $f0, $f0, $f20 +/* 940654 802410A4 00000000 */ nop +/* 940658 802410A8 0220202D */ daddu $a0, $s1, $zero +/* 94065C 802410AC 0260282D */ daddu $a1, $s3, $zero +/* 940660 802410B0 4600E18D */ trunc.w.s $f6, $f28 +/* 940664 802410B4 44063000 */ mfc1 $a2, $f6 +/* 940668 802410B8 0C0B2026 */ jal set_variable +/* 94066C 802410BC 4600C601 */ sub.s $f24, $f24, $f0 +/* 940670 802410C0 0220202D */ daddu $a0, $s1, $zero +/* 940674 802410C4 4600D18D */ trunc.w.s $f6, $f26 +/* 940678 802410C8 44063000 */ mfc1 $a2, $f6 +/* 94067C 802410CC 0C0B2026 */ jal set_variable +/* 940680 802410D0 0280282D */ daddu $a1, $s4, $zero +/* 940684 802410D4 0220202D */ daddu $a0, $s1, $zero +/* 940688 802410D8 4600C18D */ trunc.w.s $f6, $f24 +/* 94068C 802410DC 44063000 */ mfc1 $a2, $f6 +/* 940690 802410E0 0C0B2026 */ jal set_variable +/* 940694 802410E4 0200282D */ daddu $a1, $s0, $zero +/* 940698 802410E8 8FBF0024 */ lw $ra, 0x24($sp) +/* 94069C 802410EC 8FB40020 */ lw $s4, 0x20($sp) +/* 9406A0 802410F0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9406A4 802410F4 8FB20018 */ lw $s2, 0x18($sp) +/* 9406A8 802410F8 8FB10014 */ lw $s1, 0x14($sp) +/* 9406AC 802410FC 8FB00010 */ lw $s0, 0x10($sp) +/* 9406B0 80241100 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9406B4 80241104 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9406B8 80241108 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9406BC 8024110C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9406C0 80241110 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9406C4 80241114 24020002 */ addiu $v0, $zero, 2 +/* 9406C8 80241118 03E00008 */ jr $ra +/* 9406CC 8024111C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80241120_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241120_93F5B0.s new file mode 100644 index 0000000000..161636c6a4 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241120_93F5B0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241120_9406D0 +/* 9406D0 80241120 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9406D4 80241124 AFBF0010 */ sw $ra, 0x10($sp) +/* 9406D8 80241128 10A00003 */ beqz $a1, .L80241138 +/* 9406DC 8024112C 8C86000C */ lw $a2, 0xc($a0) +/* 9406E0 80241130 3C018024 */ lui $at, 0x8024 +/* 9406E4 80241134 AC202058 */ sw $zero, 0x2058($at) +.L80241138: +/* 9406E8 80241138 3C038024 */ lui $v1, 0x8024 +/* 9406EC 8024113C 24632058 */ addiu $v1, $v1, 0x2058 +/* 9406F0 80241140 8C620000 */ lw $v0, ($v1) +/* 9406F4 80241144 54400003 */ bnel $v0, $zero, .L80241154 +/* 9406F8 80241148 AC600000 */ sw $zero, ($v1) +/* 9406FC 8024114C 0809045A */ j .L80241168 +/* 940700 80241150 0000102D */ daddu $v0, $zero, $zero +.L80241154: +/* 940704 80241154 8CC50000 */ lw $a1, ($a2) +/* 940708 80241158 3C068024 */ lui $a2, 0x8024 +/* 94070C 8024115C 0C0B2026 */ jal set_variable +/* 940710 80241160 8CC6205C */ lw $a2, 0x205c($a2) +/* 940714 80241164 24020002 */ addiu $v0, $zero, 2 +.L80241168: +/* 940718 80241168 8FBF0010 */ lw $ra, 0x10($sp) +/* 94071C 8024116C 03E00008 */ jr $ra +/* 940720 80241170 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80241174_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241174_93F5B0.s new file mode 100644 index 0000000000..f92d89f012 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241174_93F5B0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241174_940724 +/* 940724 80241174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 940728 80241178 AFBF0010 */ sw $ra, 0x10($sp) +/* 94072C 8024117C 8C82000C */ lw $v0, 0xc($a0) +/* 940730 80241180 0C0B1EAF */ jal get_variable +/* 940734 80241184 8C450000 */ lw $a1, ($v0) +/* 940738 80241188 3C018024 */ lui $at, 0x8024 +/* 94073C 8024118C AC22205C */ sw $v0, 0x205c($at) +/* 940740 80241190 24020002 */ addiu $v0, $zero, 2 +/* 940744 80241194 8FBF0010 */ lw $ra, 0x10($sp) +/* 940748 80241198 24030001 */ addiu $v1, $zero, 1 +/* 94074C 8024119C 3C018024 */ lui $at, 0x8024 +/* 940750 802411A0 AC232058 */ sw $v1, 0x2058($at) +/* 940754 802411A4 03E00008 */ jr $ra +/* 940758 802411A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802411AC_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802411AC_93F5B0.s new file mode 100644 index 0000000000..59cd7d5fdd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802411AC_93F5B0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411AC_94075C +/* 94075C 802411AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 940760 802411B0 AFBF0010 */ sw $ra, 0x10($sp) +/* 940764 802411B4 8C82000C */ lw $v0, 0xc($a0) +/* 940768 802411B8 0C0B1EAF */ jal get_variable +/* 94076C 802411BC 8C450000 */ lw $a1, ($v0) +/* 940770 802411C0 0040182D */ daddu $v1, $v0, $zero +/* 940774 802411C4 10600012 */ beqz $v1, .L80241210 +/* 940778 802411C8 0000202D */ daddu $a0, $zero, $zero +/* 94077C 802411CC 8C620000 */ lw $v0, ($v1) +/* 940780 802411D0 5040000A */ beql $v0, $zero, .L802411FC +/* 940784 802411D4 00041080 */ sll $v0, $a0, 2 +/* 940788 802411D8 3C058024 */ lui $a1, %hi(end_battle) +/* 94078C 802411DC 24A54A50 */ addiu $a1, $a1, %lo(end_battle) +.L802411E0: +/* 940790 802411E0 24630004 */ addiu $v1, $v1, 4 +/* 940794 802411E4 24840001 */ addiu $a0, $a0, 1 +/* 940798 802411E8 ACA20000 */ sw $v0, ($a1) +/* 94079C 802411EC 8C620000 */ lw $v0, ($v1) +/* 9407A0 802411F0 1440FFFB */ bnez $v0, .L802411E0 +/* 9407A4 802411F4 24A50004 */ addiu $a1, $a1, 4 +/* 9407A8 802411F8 00041080 */ sll $v0, $a0, 2 +.L802411FC: +/* 9407AC 802411FC 3C018024 */ lui $at, %hi(end_battle) +/* 9407B0 80241200 00220821 */ addu $at, $at, $v0 +/* 9407B4 80241204 AC204A50 */ sw $zero, %lo(end_battle)($at) +/* 9407B8 80241208 0809048E */ j .L80241238 +/* 9407BC 8024120C 00000000 */ nop +.L80241210: +/* 9407C0 80241210 3C038024 */ lui $v1, %hi(end_battle) +/* 9407C4 80241214 24634A50 */ addiu $v1, $v1, %lo(end_battle) +/* 9407C8 80241218 0060282D */ daddu $a1, $v1, $zero +.L8024121C: +/* 9407CC 8024121C 24820010 */ addiu $v0, $a0, 0x10 +/* 9407D0 80241220 AC620000 */ sw $v0, ($v1) +/* 9407D4 80241224 24630004 */ addiu $v1, $v1, 4 +/* 9407D8 80241228 24840001 */ addiu $a0, $a0, 1 +/* 9407DC 8024122C 28820070 */ slti $v0, $a0, 0x70 +/* 9407E0 80241230 1440FFFA */ bnez $v0, .L8024121C +/* 9407E4 80241234 ACA001C0 */ sw $zero, 0x1c0($a1) +.L80241238: +/* 9407E8 80241238 8FBF0010 */ lw $ra, 0x10($sp) +/* 9407EC 8024123C 24020002 */ addiu $v0, $zero, 2 +/* 9407F0 80241240 03E00008 */ jr $ra +/* 9407F4 80241244 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80241248.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241248.s new file mode 100644 index 0000000000..9ed8bc3890 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241248.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241248 +/* 9407F8 80241248 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9407FC 8024124C AFBF0010 */ sw $ra, 0x10($sp) +/* 940800 80241250 8C82000C */ lw $v0, 0xc($a0) +/* 940804 80241254 0C0B1EAF */ jal get_variable +/* 940808 80241258 8C450000 */ lw $a1, ($v0) +/* 94080C 8024125C 0040182D */ daddu $v1, $v0, $zero +/* 940810 80241260 10600012 */ beqz $v1, .L802412AC +/* 940814 80241264 0000202D */ daddu $a0, $zero, $zero +/* 940818 80241268 8C620000 */ lw $v0, ($v1) +/* 94081C 8024126C 5040000A */ beql $v0, $zero, .L80241298 +/* 940820 80241270 00041080 */ sll $v0, $a0, 2 +/* 940824 80241274 3C058024 */ lui $a1, 0x8024 +/* 940828 80241278 24A54C18 */ addiu $a1, $a1, 0x4c18 +.L8024127C: +/* 94082C 8024127C 24630004 */ addiu $v1, $v1, 4 +/* 940830 80241280 24840001 */ addiu $a0, $a0, 1 +/* 940834 80241284 ACA20000 */ sw $v0, ($a1) +/* 940838 80241288 8C620000 */ lw $v0, ($v1) +/* 94083C 8024128C 1440FFFB */ bnez $v0, .L8024127C +/* 940840 80241290 24A50004 */ addiu $a1, $a1, 4 +/* 940844 80241294 00041080 */ sll $v0, $a0, 2 +.L80241298: +/* 940848 80241298 3C018024 */ lui $at, 0x8024 +/* 94084C 8024129C 00220821 */ addu $at, $at, $v0 +/* 940850 802412A0 AC204C18 */ sw $zero, 0x4c18($at) +/* 940854 802412A4 080904B5 */ j .L802412D4 +/* 940858 802412A8 00000000 */ nop +.L802412AC: +/* 94085C 802412AC 3C038024 */ lui $v1, 0x8024 +/* 940860 802412B0 24634C18 */ addiu $v1, $v1, 0x4c18 +/* 940864 802412B4 0060282D */ daddu $a1, $v1, $zero +.L802412B8: +/* 940868 802412B8 24820080 */ addiu $v0, $a0, 0x80 +/* 94086C 802412BC AC620000 */ sw $v0, ($v1) +/* 940870 802412C0 24630004 */ addiu $v1, $v1, 4 +/* 940874 802412C4 24840001 */ addiu $a0, $a0, 1 +/* 940878 802412C8 2882005B */ slti $v0, $a0, 0x5b +/* 94087C 802412CC 1440FFFA */ bnez $v0, .L802412B8 +/* 940880 802412D0 ACA0016C */ sw $zero, 0x16c($a1) +.L802412D4: +/* 940884 802412D4 8FBF0010 */ lw $ra, 0x10($sp) +/* 940888 802412D8 24020002 */ addiu $v0, $zero, 2 +/* 94088C 802412DC 03E00008 */ jr $ra +/* 940890 802412E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802412E4.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802412E4.s new file mode 100644 index 0000000000..efd43b95ef --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802412E4.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412E4 +/* 940894 802412E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 940898 802412E8 AFB10014 */ sw $s1, 0x14($sp) +/* 94089C 802412EC 0080882D */ daddu $s1, $a0, $zero +/* 9408A0 802412F0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9408A4 802412F4 AFB00010 */ sw $s0, 0x10($sp) +/* 9408A8 802412F8 8E30000C */ lw $s0, 0xc($s1) +/* 9408AC 802412FC 8E050000 */ lw $a1, ($s0) +/* 9408B0 80241300 0C0B1EAF */ jal get_variable +/* 9408B4 80241304 26100004 */ addiu $s0, $s0, 4 +/* 9408B8 80241308 AE22008C */ sw $v0, 0x8c($s1) +/* 9408BC 8024130C 8E050000 */ lw $a1, ($s0) +/* 9408C0 80241310 26100004 */ addiu $s0, $s0, 4 +/* 9408C4 80241314 0C0B1EAF */ jal get_variable +/* 9408C8 80241318 0220202D */ daddu $a0, $s1, $zero +/* 9408CC 8024131C AE220090 */ sw $v0, 0x90($s1) +/* 9408D0 80241320 8E050000 */ lw $a1, ($s0) +/* 9408D4 80241324 26100004 */ addiu $s0, $s0, 4 +/* 9408D8 80241328 0C0B1EAF */ jal get_variable +/* 9408DC 8024132C 0220202D */ daddu $a0, $s1, $zero +/* 9408E0 80241330 AE220094 */ sw $v0, 0x94($s1) +/* 9408E4 80241334 8E050000 */ lw $a1, ($s0) +/* 9408E8 80241338 26100004 */ addiu $s0, $s0, 4 +/* 9408EC 8024133C 0C0B1EAF */ jal get_variable +/* 9408F0 80241340 0220202D */ daddu $a0, $s1, $zero +/* 9408F4 80241344 AE220098 */ sw $v0, 0x98($s1) +/* 9408F8 80241348 8E050000 */ lw $a1, ($s0) +/* 9408FC 8024134C 26100004 */ addiu $s0, $s0, 4 +/* 940900 80241350 0C0B1EAF */ jal get_variable +/* 940904 80241354 0220202D */ daddu $a0, $s1, $zero +/* 940908 80241358 AE22009C */ sw $v0, 0x9c($s1) +/* 94090C 8024135C 8E050000 */ lw $a1, ($s0) +/* 940910 80241360 26100004 */ addiu $s0, $s0, 4 +/* 940914 80241364 0C0B1EAF */ jal get_variable +/* 940918 80241368 0220202D */ daddu $a0, $s1, $zero +/* 94091C 8024136C AE2200A0 */ sw $v0, 0xa0($s1) +/* 940920 80241370 8E050000 */ lw $a1, ($s0) +/* 940924 80241374 26100004 */ addiu $s0, $s0, 4 +/* 940928 80241378 0C0B1EAF */ jal get_variable +/* 94092C 8024137C 0220202D */ daddu $a0, $s1, $zero +/* 940930 80241380 AE2200A4 */ sw $v0, 0xa4($s1) +/* 940934 80241384 8E050000 */ lw $a1, ($s0) +/* 940938 80241388 26100004 */ addiu $s0, $s0, 4 +/* 94093C 8024138C 0C0B1EAF */ jal get_variable +/* 940940 80241390 0220202D */ daddu $a0, $s1, $zero +/* 940944 80241394 AE2200A8 */ sw $v0, 0xa8($s1) +/* 940948 80241398 8E050000 */ lw $a1, ($s0) +/* 94094C 8024139C 26100004 */ addiu $s0, $s0, 4 +/* 940950 802413A0 0C0B1EAF */ jal get_variable +/* 940954 802413A4 0220202D */ daddu $a0, $s1, $zero +/* 940958 802413A8 AE2200AC */ sw $v0, 0xac($s1) +/* 94095C 802413AC 8E050000 */ lw $a1, ($s0) +/* 940960 802413B0 0C0B1EAF */ jal get_variable +/* 940964 802413B4 0220202D */ daddu $a0, $s1, $zero +/* 940968 802413B8 AE2200B0 */ sw $v0, 0xb0($s1) +/* 94096C 802413BC 8FBF0018 */ lw $ra, 0x18($sp) +/* 940970 802413C0 8FB10014 */ lw $s1, 0x14($sp) +/* 940974 802413C4 8FB00010 */ lw $s0, 0x10($sp) +/* 940978 802413C8 24020002 */ addiu $v0, $zero, 2 +/* 94097C 802413CC 03E00008 */ jr $ra +/* 940980 802413D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802413D4_93F5B0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802413D4_93F5B0.s new file mode 100644 index 0000000000..5c51ac757b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802413D4_93F5B0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413D4_940984 +/* 940984 802413D4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 940988 802413D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 94098C 802413DC 0080882D */ daddu $s1, $a0, $zero +/* 940990 802413E0 AFBF0034 */ sw $ra, 0x34($sp) +/* 940994 802413E4 AFB60030 */ sw $s6, 0x30($sp) +/* 940998 802413E8 AFB5002C */ sw $s5, 0x2c($sp) +/* 94099C 802413EC AFB40028 */ sw $s4, 0x28($sp) +/* 9409A0 802413F0 AFB30024 */ sw $s3, 0x24($sp) +/* 9409A4 802413F4 AFB20020 */ sw $s2, 0x20($sp) +/* 9409A8 802413F8 AFB00018 */ sw $s0, 0x18($sp) +/* 9409AC 802413FC F7B60040 */ sdc1 $f22, 0x40($sp) +/* 9409B0 80241400 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9409B4 80241404 8E30000C */ lw $s0, 0xc($s1) +/* 9409B8 80241408 8E160000 */ lw $s6, ($s0) +/* 9409BC 8024140C 26100004 */ addiu $s0, $s0, 4 +/* 9409C0 80241410 0C0B1EAF */ jal get_variable +/* 9409C4 80241414 02C0282D */ daddu $a1, $s6, $zero +/* 9409C8 80241418 44820000 */ mtc1 $v0, $f0 +/* 9409CC 8024141C 00000000 */ nop +/* 9409D0 80241420 46800020 */ cvt.s.w $f0, $f0 +/* 9409D4 80241424 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9409D8 80241428 8E140000 */ lw $s4, ($s0) +/* 9409DC 8024142C 26100004 */ addiu $s0, $s0, 4 +/* 9409E0 80241430 0220202D */ daddu $a0, $s1, $zero +/* 9409E4 80241434 0C0B1EAF */ jal get_variable +/* 9409E8 80241438 0280282D */ daddu $a1, $s4, $zero +/* 9409EC 8024143C 0220202D */ daddu $a0, $s1, $zero +/* 9409F0 80241440 8E150000 */ lw $s5, ($s0) +/* 9409F4 80241444 4482B000 */ mtc1 $v0, $f22 +/* 9409F8 80241448 00000000 */ nop +/* 9409FC 8024144C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 940A00 80241450 0C0B1EAF */ jal get_variable +/* 940A04 80241454 02A0282D */ daddu $a1, $s5, $zero +/* 940A08 80241458 2404FFFC */ addiu $a0, $zero, -4 +/* 940A0C 8024145C 44820000 */ mtc1 $v0, $f0 +/* 940A10 80241460 00000000 */ nop +/* 940A14 80241464 46800020 */ cvt.s.w $f0, $f0 +/* 940A18 80241468 0C00EABB */ jal get_npc_unsafe +/* 940A1C 8024146C E7A00014 */ swc1 $f0, 0x14($sp) +/* 940A20 80241470 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 940A24 80241474 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 940A28 80241478 3C014334 */ lui $at, 0x4334 +/* 940A2C 8024147C 44816000 */ mtc1 $at, $f12 +/* 940A30 80241480 00041880 */ sll $v1, $a0, 2 +/* 940A34 80241484 00641821 */ addu $v1, $v1, $a0 +/* 940A38 80241488 00031880 */ sll $v1, $v1, 2 +/* 940A3C 8024148C 00641823 */ subu $v1, $v1, $a0 +/* 940A40 80241490 000320C0 */ sll $a0, $v1, 3 +/* 940A44 80241494 00641821 */ addu $v1, $v1, $a0 +/* 940A48 80241498 000318C0 */ sll $v1, $v1, 3 +/* 940A4C 8024149C 3C01800B */ lui $at, 0x800b +/* 940A50 802414A0 00230821 */ addu $at, $at, $v1 +/* 940A54 802414A4 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 940A58 802414A8 460C0300 */ add.s $f12, $f0, $f12 +/* 940A5C 802414AC 0C00A6C9 */ jal clamp_angle +/* 940A60 802414B0 0040982D */ daddu $s3, $v0, $zero +/* 940A64 802414B4 27B00010 */ addiu $s0, $sp, 0x10 +/* 940A68 802414B8 0200202D */ daddu $a0, $s0, $zero +/* 940A6C 802414BC 27B20014 */ addiu $s2, $sp, 0x14 +/* 940A70 802414C0 0240282D */ daddu $a1, $s2, $zero +/* 940A74 802414C4 3C064170 */ lui $a2, 0x4170 +/* 940A78 802414C8 8E67000C */ lw $a3, 0xc($s3) +/* 940A7C 802414CC 0C00A7E7 */ jal add_vec2D_polar +/* 940A80 802414D0 46000506 */ mov.s $f20, $f0 +/* 940A84 802414D4 0200202D */ daddu $a0, $s0, $zero +/* 940A88 802414D8 3C064120 */ lui $a2, 0x4120 +/* 940A8C 802414DC 4407A000 */ mfc1 $a3, $f20 +/* 940A90 802414E0 0C00A7E7 */ jal add_vec2D_polar +/* 940A94 802414E4 0240282D */ daddu $a1, $s2, $zero +/* 940A98 802414E8 0220202D */ daddu $a0, $s1, $zero +/* 940A9C 802414EC C7A00010 */ lwc1 $f0, 0x10($sp) +/* 940AA0 802414F0 4600008D */ trunc.w.s $f2, $f0 +/* 940AA4 802414F4 44061000 */ mfc1 $a2, $f2 +/* 940AA8 802414F8 0C0B2026 */ jal set_variable +/* 940AAC 802414FC 02C0282D */ daddu $a1, $s6, $zero +/* 940AB0 80241500 0220202D */ daddu $a0, $s1, $zero +/* 940AB4 80241504 4600B08D */ trunc.w.s $f2, $f22 +/* 940AB8 80241508 44061000 */ mfc1 $a2, $f2 +/* 940ABC 8024150C 0C0B2026 */ jal set_variable +/* 940AC0 80241510 0280282D */ daddu $a1, $s4, $zero +/* 940AC4 80241514 0220202D */ daddu $a0, $s1, $zero +/* 940AC8 80241518 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 940ACC 8024151C 4600008D */ trunc.w.s $f2, $f0 +/* 940AD0 80241520 44061000 */ mfc1 $a2, $f2 +/* 940AD4 80241524 0C0B2026 */ jal set_variable +/* 940AD8 80241528 02A0282D */ daddu $a1, $s5, $zero +/* 940ADC 8024152C 8FBF0034 */ lw $ra, 0x34($sp) +/* 940AE0 80241530 8FB60030 */ lw $s6, 0x30($sp) +/* 940AE4 80241534 8FB5002C */ lw $s5, 0x2c($sp) +/* 940AE8 80241538 8FB40028 */ lw $s4, 0x28($sp) +/* 940AEC 8024153C 8FB30024 */ lw $s3, 0x24($sp) +/* 940AF0 80241540 8FB20020 */ lw $s2, 0x20($sp) +/* 940AF4 80241544 8FB1001C */ lw $s1, 0x1c($sp) +/* 940AF8 80241548 8FB00018 */ lw $s0, 0x18($sp) +/* 940AFC 8024154C D7B60040 */ ldc1 $f22, 0x40($sp) +/* 940B00 80241550 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 940B04 80241554 24020002 */ addiu $v0, $zero, 2 +/* 940B08 80241558 03E00008 */ jr $ra +/* 940B0C 8024155C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80241560.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241560.s new file mode 100644 index 0000000000..688cc9d389 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241560.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241560 +/* 940B10 80241560 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 940B14 80241564 AFB00010 */ sw $s0, 0x10($sp) +/* 940B18 80241568 0080802D */ daddu $s0, $a0, $zero +/* 940B1C 8024156C AFBF0014 */ sw $ra, 0x14($sp) +/* 940B20 80241570 0C00EABB */ jal get_npc_unsafe +/* 940B24 80241574 8E04008C */ lw $a0, 0x8c($s0) +/* 940B28 80241578 0040282D */ daddu $a1, $v0, $zero +/* 940B2C 8024157C 8E040094 */ lw $a0, 0x94($s0) +/* 940B30 80241580 8CA30028 */ lw $v1, 0x28($a1) +/* 940B34 80241584 ACA40028 */ sw $a0, 0x28($a1) +/* 940B38 80241588 8FBF0014 */ lw $ra, 0x14($sp) +/* 940B3C 8024158C 8FB00010 */ lw $s0, 0x10($sp) +/* 940B40 80241590 24020002 */ addiu $v0, $zero, 2 +/* 940B44 80241594 3C018024 */ lui $at, 0x8024 +/* 940B48 80241598 AC234D88 */ sw $v1, 0x4d88($at) +/* 940B4C 8024159C 03E00008 */ jr $ra +/* 940B50 802415A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802415A4.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802415A4.s new file mode 100644 index 0000000000..830cbe5e56 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802415A4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415A4 +/* 940B54 802415A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 940B58 802415A8 AFBF0010 */ sw $ra, 0x10($sp) +/* 940B5C 802415AC 0C00EABB */ jal get_npc_unsafe +/* 940B60 802415B0 8C84008C */ lw $a0, 0x8c($a0) +/* 940B64 802415B4 3C038024 */ lui $v1, 0x8024 +/* 940B68 802415B8 8C634D88 */ lw $v1, 0x4d88($v1) +/* 940B6C 802415BC AC430028 */ sw $v1, 0x28($v0) +/* 940B70 802415C0 8FBF0010 */ lw $ra, 0x10($sp) +/* 940B74 802415C4 24020002 */ addiu $v0, $zero, 2 +/* 940B78 802415C8 03E00008 */ jr $ra +/* 940B7C 802415CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_802415D0.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_802415D0.s new file mode 100644 index 0000000000..a91c5b5a11 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_802415D0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415D0 +/* 940B80 802415D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 940B84 802415D4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 940B88 802415D8 4485A000 */ mtc1 $a1, $f20 +/* 940B8C 802415DC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 940B90 802415E0 4486B000 */ mtc1 $a2, $f22 +/* 940B94 802415E4 AFB00010 */ sw $s0, 0x10($sp) +/* 940B98 802415E8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 940B9C 802415EC 4487C000 */ mtc1 $a3, $f24 +/* 940BA0 802415F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 940BA4 802415F4 0C019D28 */ jal guMtxIdentF +/* 940BA8 802415F8 0080802D */ daddu $s0, $a0, $zero +/* 940BAC 802415FC 4616A582 */ mul.s $f22, $f20, $f22 +/* 940BB0 80241600 00000000 */ nop +/* 940BB4 80241604 4618A502 */ mul.s $f20, $f20, $f24 +/* 940BB8 80241608 00000000 */ nop +/* 940BBC 8024160C 3C013F80 */ lui $at, 0x3f80 +/* 940BC0 80241610 44810000 */ mtc1 $at, $f0 +/* 940BC4 80241614 00000000 */ nop +/* 940BC8 80241618 E6000014 */ swc1 $f0, 0x14($s0) +/* 940BCC 8024161C E6160010 */ swc1 $f22, 0x10($s0) +/* 940BD0 80241620 E6140018 */ swc1 $f20, 0x18($s0) +/* 940BD4 80241624 8FBF0014 */ lw $ra, 0x14($sp) +/* 940BD8 80241628 8FB00010 */ lw $s0, 0x10($sp) +/* 940BDC 8024162C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 940BE0 80241630 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 940BE4 80241634 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 940BE8 80241638 03E00008 */ jr $ra +/* 940BEC 8024163C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_30/func_80241640.s b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241640.s new file mode 100644 index 0000000000..b11e45cdb6 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_30/func_80241640.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241640 +/* 940BF0 80241640 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 940BF4 80241644 AFB10054 */ sw $s1, 0x54($sp) +/* 940BF8 80241648 0080882D */ daddu $s1, $a0, $zero +/* 940BFC 8024164C AFBF005C */ sw $ra, 0x5c($sp) +/* 940C00 80241650 AFB20058 */ sw $s2, 0x58($sp) +/* 940C04 80241654 AFB00050 */ sw $s0, 0x50($sp) +/* 940C08 80241658 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 940C0C 8024165C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 940C10 80241660 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 940C14 80241664 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 940C18 80241668 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 940C1C 8024166C 8E30000C */ lw $s0, 0xc($s1) +/* 940C20 80241670 8E050000 */ lw $a1, ($s0) +/* 940C24 80241674 0C0B1EAF */ jal get_variable +/* 940C28 80241678 26100004 */ addiu $s0, $s0, 4 +/* 940C2C 8024167C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 940C30 80241680 0040202D */ daddu $a0, $v0, $zero +/* 940C34 80241684 8E050000 */ lw $a1, ($s0) +/* 940C38 80241688 26100004 */ addiu $s0, $s0, 4 +/* 940C3C 8024168C 0220202D */ daddu $a0, $s1, $zero +/* 940C40 80241690 0C0B210B */ jal get_float_variable +/* 940C44 80241694 0040902D */ daddu $s2, $v0, $zero +/* 940C48 80241698 8E050000 */ lw $a1, ($s0) +/* 940C4C 8024169C 26100004 */ addiu $s0, $s0, 4 +/* 940C50 802416A0 0220202D */ daddu $a0, $s1, $zero +/* 940C54 802416A4 0C0B210B */ jal get_float_variable +/* 940C58 802416A8 46000706 */ mov.s $f28, $f0 +/* 940C5C 802416AC 8E050000 */ lw $a1, ($s0) +/* 940C60 802416B0 26100004 */ addiu $s0, $s0, 4 +/* 940C64 802416B4 0220202D */ daddu $a0, $s1, $zero +/* 940C68 802416B8 0C0B210B */ jal get_float_variable +/* 940C6C 802416BC 46000686 */ mov.s $f26, $f0 +/* 940C70 802416C0 0220202D */ daddu $a0, $s1, $zero +/* 940C74 802416C4 8E050000 */ lw $a1, ($s0) +/* 940C78 802416C8 0C0B210B */ jal get_float_variable +/* 940C7C 802416CC 46000586 */ mov.s $f22, $f0 +/* 940C80 802416D0 0240202D */ daddu $a0, $s2, $zero +/* 940C84 802416D4 0C046B4C */ jal get_model_from_list_index +/* 940C88 802416D8 46000606 */ mov.s $f24, $f0 +/* 940C8C 802416DC 0040882D */ daddu $s1, $v0, $zero +/* 940C90 802416E0 96220000 */ lhu $v0, ($s1) +/* 940C94 802416E4 30420400 */ andi $v0, $v0, 0x400 +/* 940C98 802416E8 1440001E */ bnez $v0, .L80241764 +/* 940C9C 802416EC 26300058 */ addiu $s0, $s1, 0x58 +/* 940CA0 802416F0 4480A000 */ mtc1 $zero, $f20 +/* 940CA4 802416F4 4406B000 */ mfc1 $a2, $f22 +/* 940CA8 802416F8 4405A000 */ mfc1 $a1, $f20 +/* 940CAC 802416FC 4407A000 */ mfc1 $a3, $f20 +/* 940CB0 80241700 0C019E40 */ jal guTranslateF +/* 940CB4 80241704 0200202D */ daddu $a0, $s0, $zero +/* 940CB8 80241708 4405E000 */ mfc1 $a1, $f28 +/* 940CBC 8024170C 4406D000 */ mfc1 $a2, $f26 +/* 940CC0 80241710 4407C000 */ mfc1 $a3, $f24 +/* 940CC4 80241714 0C090574 */ jal func_802415D0 +/* 940CC8 80241718 27A40010 */ addiu $a0, $sp, 0x10 +/* 940CCC 8024171C 27A40010 */ addiu $a0, $sp, 0x10 +/* 940CD0 80241720 0200282D */ daddu $a1, $s0, $zero +/* 940CD4 80241724 0C019D80 */ jal guMtxCatF +/* 940CD8 80241728 0200302D */ daddu $a2, $s0, $zero +/* 940CDC 8024172C 27A40010 */ addiu $a0, $sp, 0x10 +/* 940CE0 80241730 4600B587 */ neg.s $f22, $f22 +/* 940CE4 80241734 4405A000 */ mfc1 $a1, $f20 +/* 940CE8 80241738 4406B000 */ mfc1 $a2, $f22 +/* 940CEC 8024173C 0C019E40 */ jal guTranslateF +/* 940CF0 80241740 00A0382D */ daddu $a3, $a1, $zero +/* 940CF4 80241744 27A40010 */ addiu $a0, $sp, 0x10 +/* 940CF8 80241748 0200282D */ daddu $a1, $s0, $zero +/* 940CFC 8024174C 0C019D80 */ jal guMtxCatF +/* 940D00 80241750 00A0302D */ daddu $a2, $a1, $zero +/* 940D04 80241754 96220000 */ lhu $v0, ($s1) +/* 940D08 80241758 34421400 */ ori $v0, $v0, 0x1400 +/* 940D0C 8024175C 080905F7 */ j .L802417DC +/* 940D10 80241760 A6220000 */ sh $v0, ($s1) +.L80241764: +/* 940D14 80241764 4480A000 */ mtc1 $zero, $f20 +/* 940D18 80241768 4406B000 */ mfc1 $a2, $f22 +/* 940D1C 8024176C 4405A000 */ mfc1 $a1, $f20 +/* 940D20 80241770 4407A000 */ mfc1 $a3, $f20 +/* 940D24 80241774 0C019E40 */ jal guTranslateF +/* 940D28 80241778 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D2C 8024177C 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D30 80241780 26300058 */ addiu $s0, $s1, 0x58 +/* 940D34 80241784 0200282D */ daddu $a1, $s0, $zero +/* 940D38 80241788 0C019D80 */ jal guMtxCatF +/* 940D3C 8024178C 0200302D */ daddu $a2, $s0, $zero +/* 940D40 80241790 4405E000 */ mfc1 $a1, $f28 +/* 940D44 80241794 4406D000 */ mfc1 $a2, $f26 +/* 940D48 80241798 4407C000 */ mfc1 $a3, $f24 +/* 940D4C 8024179C 0C090574 */ jal func_802415D0 +/* 940D50 802417A0 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D54 802417A4 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D58 802417A8 0200282D */ daddu $a1, $s0, $zero +/* 940D5C 802417AC 0C019D80 */ jal guMtxCatF +/* 940D60 802417B0 0200302D */ daddu $a2, $s0, $zero +/* 940D64 802417B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D68 802417B8 4600B587 */ neg.s $f22, $f22 +/* 940D6C 802417BC 4405A000 */ mfc1 $a1, $f20 +/* 940D70 802417C0 4406B000 */ mfc1 $a2, $f22 +/* 940D74 802417C4 0C019E40 */ jal guTranslateF +/* 940D78 802417C8 00A0382D */ daddu $a3, $a1, $zero +/* 940D7C 802417CC 27A40010 */ addiu $a0, $sp, 0x10 +/* 940D80 802417D0 0200282D */ daddu $a1, $s0, $zero +/* 940D84 802417D4 0C019D80 */ jal guMtxCatF +/* 940D88 802417D8 00A0302D */ daddu $a2, $a1, $zero +.L802417DC: +/* 940D8C 802417DC 8FBF005C */ lw $ra, 0x5c($sp) +/* 940D90 802417E0 8FB20058 */ lw $s2, 0x58($sp) +/* 940D94 802417E4 8FB10054 */ lw $s1, 0x54($sp) +/* 940D98 802417E8 8FB00050 */ lw $s0, 0x50($sp) +/* 940D9C 802417EC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 940DA0 802417F0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 940DA4 802417F4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 940DA8 802417F8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 940DAC 802417FC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 940DB0 80241800 24020002 */ addiu $v0, $zero, 2 +/* 940DB4 80241804 03E00008 */ jr $ra +/* 940DB8 80241808 27BD0088 */ addiu $sp, $sp, 0x88 +/* 940DBC 8024180C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_31/func_80240000_944000.s b/asm/nonmatchings/world/area_sbk/sbk_31/func_80240000_944000.s new file mode 100644 index 0000000000..00b709a6bd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_31/func_80240000_944000.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_944000 +/* 944000 80240000 44800000 */ mtc1 $zero, $f0 +/* 944004 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 944008 80240008 44050000 */ mfc1 $a1, $f0 +/* 94400C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 944010 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 944014 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 944018 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94401C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 944020 80240020 0C01CA54 */ jal func_80072950 +/* 944024 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 944028 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94402C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 944030 80240030 03E00008 */ jr $ra +/* 944034 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 944038 80240038 00000000 */ nop +/* 94403C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_31/func_80240040_944000.s b/asm/nonmatchings/world/area_sbk/sbk_31/func_80240040_944000.s new file mode 100644 index 0000000000..0d17c1a601 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_31/func_80240040_944000.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_944040 +/* 944040 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 944044 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 944048 80240048 0080982D */ daddu $s3, $a0, $zero +/* 94404C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 944050 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 944054 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 944058 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94405C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 944060 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 944064 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 944068 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94406C 8024006C 8E050000 */ lw $a1, ($s0) +/* 944070 80240070 0C0B1EAF */ jal get_variable +/* 944074 80240074 26100004 */ addiu $s0, $s0, 4 +/* 944078 80240078 8E050000 */ lw $a1, ($s0) +/* 94407C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 944080 80240080 0260202D */ daddu $a0, $s3, $zero +/* 944084 80240084 0C0B1EAF */ jal get_variable +/* 944088 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94408C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 944090 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 944094 80240094 8E120000 */ lw $s2, ($s0) +/* 944098 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94409C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 9440A0 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 9440A4 802400A4 08090030 */ j .L802400C0 +/* 9440A8 802400A8 00000000 */ nop +.L802400AC: +/* 9440AC 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 9440B0 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 9440B4 802400B4 14400005 */ bnez $v0, .L802400CC +/* 9440B8 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 9440BC 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 9440C0 802400C0 0C00EABB */ jal get_npc_unsafe +/* 9440C4 802400C4 00000000 */ nop +/* 9440C8 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 9440CC 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 9440D0 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 9440D4 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 9440D8 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 9440DC 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 9440E0 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 9440E4 802400E4 0C0B1EAF */ jal get_variable +/* 9440E8 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 9440EC 802400EC 1040000C */ beqz $v0, .L80240120 +/* 9440F0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 9440F4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9440F8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 9440FC 802400FC 44810000 */ mtc1 $at, $f0 +/* 944100 80240100 00000000 */ nop +/* 944104 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 944108 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 94410C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 944110 80240110 44061000 */ mfc1 $a2, $f2 +/* 944114 80240114 0C04D083 */ jal set_item_entity_position +/* 944118 80240118 0280202D */ daddu $a0, $s4, $zero +/* 94411C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 944120 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 944124 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 944128 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 94412C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 944130 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 944134 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 944138 80240138 03E00008 */ jr $ra +/* 94413C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_32/func_80240000_944A60.s b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240000_944A60.s new file mode 100644 index 0000000000..7ec4da71bc --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240000_944A60.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_944A60 +/* 944A60 80240000 44800000 */ mtc1 $zero, $f0 +/* 944A64 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 944A68 80240008 44050000 */ mfc1 $a1, $f0 +/* 944A6C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 944A70 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 944A74 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 944A78 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 944A7C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 944A80 80240020 0C01CA54 */ jal func_80072950 +/* 944A84 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 944A88 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 944A8C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 944A90 80240030 03E00008 */ jr $ra +/* 944A94 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 944A98 80240038 00000000 */ nop +/* 944A9C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_32/func_80240040_944A60.s b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240040_944A60.s new file mode 100644 index 0000000000..3e7d6e49eb --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240040_944A60.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_944AA0 +/* 944AA0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 944AA4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 944AA8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 944AAC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 944AB0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 944AB4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 944AB8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 944ABC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 944AC0 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 944AC4 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 944AC8 80240068 0260202D */ daddu $a0, $s3, $zero +/* 944ACC 8024006C 8E050000 */ lw $a1, ($s0) +/* 944AD0 80240070 0C0B1EAF */ jal get_variable +/* 944AD4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 944AD8 80240078 8E050000 */ lw $a1, ($s0) +/* 944ADC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 944AE0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 944AE4 80240084 0C0B1EAF */ jal get_variable +/* 944AE8 80240088 0040882D */ daddu $s1, $v0, $zero +/* 944AEC 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 944AF0 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 944AF4 80240094 8E120000 */ lw $s2, ($s0) +/* 944AF8 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 944AFC 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 944B00 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 944B04 802400A4 08090030 */ j .L802400C0 +/* 944B08 802400A8 00000000 */ nop +.L802400AC: +/* 944B0C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 944B10 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 944B14 802400B4 14400005 */ bnez $v0, .L802400CC +/* 944B18 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 944B1C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 944B20 802400C0 0C00EABB */ jal get_npc_unsafe +/* 944B24 802400C4 00000000 */ nop +/* 944B28 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 944B2C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 944B30 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 944B34 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 944B38 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 944B3C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 944B40 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 944B44 802400E4 0C0B1EAF */ jal get_variable +/* 944B48 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 944B4C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 944B50 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 944B54 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 944B58 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 944B5C 802400FC 44810000 */ mtc1 $at, $f0 +/* 944B60 80240100 00000000 */ nop +/* 944B64 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 944B68 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 944B6C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 944B70 80240110 44061000 */ mfc1 $a2, $f2 +/* 944B74 80240114 0C04D083 */ jal set_item_entity_position +/* 944B78 80240118 0280202D */ daddu $a0, $s4, $zero +/* 944B7C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 944B80 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 944B84 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 944B88 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 944B8C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 944B90 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 944B94 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 944B98 80240138 03E00008 */ jr $ra +/* 944B9C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_32/func_80240140_944A60.s b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240140_944A60.s new file mode 100644 index 0000000000..af56ead61c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_32/func_80240140_944A60.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_944BA0 +/* 944BA0 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 944BA4 80240144 24020003 */ addiu $v0, $zero, 3 +/* 944BA8 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 944BAC 8024014C 03E00008 */ jr $ra +/* 944BB0 80240150 24020002 */ addiu $v0, $zero, 2 +/* 944BB4 80240154 00000000 */ nop +/* 944BB8 80240158 00000000 */ nop +/* 944BBC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_33/func_80240000_9459D0.s b/asm/nonmatchings/world/area_sbk/sbk_33/func_80240000_9459D0.s new file mode 100644 index 0000000000..a4c973b2b2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_33/func_80240000_9459D0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9459D0 +/* 9459D0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9459D4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9459D8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9459DC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9459E0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9459E4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9459E8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9459EC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9459F0 80240020 0C01CA54 */ jal func_80072950 +/* 9459F4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9459F8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9459FC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 945A00 80240030 03E00008 */ jr $ra +/* 945A04 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 945A08 80240038 00000000 */ nop +/* 945A0C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240000_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240000_945ED0.s new file mode 100644 index 0000000000..17096f4ccf --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240000_945ED0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_945ED0 +/* 945ED0 80240000 44800000 */ mtc1 $zero, $f0 +/* 945ED4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 945ED8 80240008 44050000 */ mfc1 $a1, $f0 +/* 945EDC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 945EE0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 945EE4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 945EE8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 945EEC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 945EF0 80240020 0C01CA54 */ jal func_80072950 +/* 945EF4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 945EF8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 945EFC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 945F00 80240030 03E00008 */ jr $ra +/* 945F04 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 945F08 80240038 00000000 */ nop +/* 945F0C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240040_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240040_945ED0.s new file mode 100644 index 0000000000..ff0b4d4dd8 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240040_945ED0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_945F10 +/* 945F10 80240040 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 945F14 80240044 AFB00010 */ sw $s0, 0x10($sp) +/* 945F18 80240048 3C108024 */ lui $s0, 0x8024 +/* 945F1C 8024004C 26100D9C */ addiu $s0, $s0, 0xd9c +/* 945F20 80240050 AFBF0018 */ sw $ra, 0x18($sp) +/* 945F24 80240054 AFB10014 */ sw $s1, 0x14($sp) +/* 945F28 80240058 8E020000 */ lw $v0, ($s0) +/* 945F2C 8024005C 14400010 */ bnez $v0, .L802400A0 +/* 945F30 80240060 0080882D */ daddu $s1, $a0, $zero +/* 945F34 80240064 0C00AB39 */ jal heap_malloc +/* 945F38 80240068 24040040 */ addiu $a0, $zero, 0x40 +/* 945F3C 8024006C AE020000 */ sw $v0, ($s0) +/* 945F40 80240070 0000182D */ daddu $v1, $zero, $zero +/* 945F44 80240074 0040282D */ daddu $a1, $v0, $zero +/* 945F48 80240078 0220202D */ daddu $a0, $s1, $zero +.L8024007C: +/* 945F4C 8024007C 8C820084 */ lw $v0, 0x84($a0) +/* 945F50 80240080 24840004 */ addiu $a0, $a0, 4 +/* 945F54 80240084 24630001 */ addiu $v1, $v1, 1 +/* 945F58 80240088 ACA20000 */ sw $v0, ($a1) +/* 945F5C 8024008C 28620010 */ slti $v0, $v1, 0x10 +/* 945F60 80240090 1440FFFA */ bnez $v0, .L8024007C +/* 945F64 80240094 24A50004 */ addiu $a1, $a1, 4 +/* 945F68 80240098 08090037 */ j .L802400DC +/* 945F6C 8024009C 00000000 */ nop +.L802400A0: +/* 945F70 802400A0 0000182D */ daddu $v1, $zero, $zero +/* 945F74 802400A4 0040282D */ daddu $a1, $v0, $zero +/* 945F78 802400A8 0220202D */ daddu $a0, $s1, $zero +.L802400AC: +/* 945F7C 802400AC 8CA20000 */ lw $v0, ($a1) +/* 945F80 802400B0 24A50004 */ addiu $a1, $a1, 4 +/* 945F84 802400B4 24630001 */ addiu $v1, $v1, 1 +/* 945F88 802400B8 AC820084 */ sw $v0, 0x84($a0) +/* 945F8C 802400BC 28620010 */ slti $v0, $v1, 0x10 +/* 945F90 802400C0 1440FFFA */ bnez $v0, .L802400AC +/* 945F94 802400C4 24840004 */ addiu $a0, $a0, 4 +/* 945F98 802400C8 3C108024 */ lui $s0, 0x8024 +/* 945F9C 802400CC 26100D9C */ addiu $s0, $s0, 0xd9c +/* 945FA0 802400D0 0C00AB4B */ jal heap_free +/* 945FA4 802400D4 8E040000 */ lw $a0, ($s0) +/* 945FA8 802400D8 AE000000 */ sw $zero, ($s0) +.L802400DC: +/* 945FAC 802400DC 8FBF0018 */ lw $ra, 0x18($sp) +/* 945FB0 802400E0 8FB10014 */ lw $s1, 0x14($sp) +/* 945FB4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 945FB8 802400E8 24020002 */ addiu $v0, $zero, 2 +/* 945FBC 802400EC 03E00008 */ jr $ra +/* 945FC0 802400F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_802400F4_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_802400F4_945ED0.s new file mode 100644 index 0000000000..4b25e53905 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_802400F4_945ED0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F4_945FC4 +/* 945FC4 802400F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 945FC8 802400F8 AFB00010 */ sw $s0, 0x10($sp) +/* 945FCC 802400FC 0080802D */ daddu $s0, $a0, $zero +/* 945FD0 80240100 AFBF0018 */ sw $ra, 0x18($sp) +/* 945FD4 80240104 AFB10014 */ sw $s1, 0x14($sp) +/* 945FD8 80240108 8E02000C */ lw $v0, 0xc($s0) +/* 945FDC 8024010C 8C510000 */ lw $s1, ($v0) +/* 945FE0 80240110 0C0B1EAF */ jal get_variable +/* 945FE4 80240114 0220282D */ daddu $a1, $s1, $zero +/* 945FE8 80240118 3C03FFF0 */ lui $v1, 0xfff0 +/* 945FEC 8024011C 3463FFFF */ ori $v1, $v1, 0xffff +/* 945FF0 80240120 0200202D */ daddu $a0, $s0, $zero +/* 945FF4 80240124 00431024 */ and $v0, $v0, $v1 +/* 945FF8 80240128 00021140 */ sll $v0, $v0, 5 +/* 945FFC 8024012C 3C068008 */ lui $a2, %hi(gItemTable) +/* 946000 80240130 00C23021 */ addu $a2, $a2, $v0 +/* 946004 80240134 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 946008 80240138 0C0B2026 */ jal set_variable +/* 94600C 8024013C 0220282D */ daddu $a1, $s1, $zero +/* 946010 80240140 8FBF0018 */ lw $ra, 0x18($sp) +/* 946014 80240144 8FB10014 */ lw $s1, 0x14($sp) +/* 946018 80240148 8FB00010 */ lw $s0, 0x10($sp) +/* 94601C 8024014C 24020002 */ addiu $v0, $zero, 2 +/* 946020 80240150 03E00008 */ jr $ra +/* 946024 80240154 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240158.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240158.s new file mode 100644 index 0000000000..c3734d2b48 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240158.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240158 +/* 946028 80240158 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94602C 8024015C AFB10014 */ sw $s1, 0x14($sp) +/* 946030 80240160 0080882D */ daddu $s1, $a0, $zero +/* 946034 80240164 AFBF0018 */ sw $ra, 0x18($sp) +/* 946038 80240168 AFB00010 */ sw $s0, 0x10($sp) +/* 94603C 8024016C 8E30000C */ lw $s0, 0xc($s1) +/* 946040 80240170 8E050000 */ lw $a1, ($s0) +/* 946044 80240174 0C0B1EAF */ jal get_variable +/* 946048 80240178 26100004 */ addiu $s0, $s0, 4 +/* 94604C 8024017C 0C00EAD2 */ jal get_npc_safe +/* 946050 80240180 0040202D */ daddu $a0, $v0, $zero +/* 946054 80240184 10400005 */ beqz $v0, .L8024019C +/* 946058 80240188 00000000 */ nop +/* 94605C 8024018C 8E050000 */ lw $a1, ($s0) +/* 946060 80240190 844600A8 */ lh $a2, 0xa8($v0) +/* 946064 80240194 0C0B2026 */ jal set_variable +/* 946068 80240198 0220202D */ daddu $a0, $s1, $zero +.L8024019C: +/* 94606C 8024019C 8FBF0018 */ lw $ra, 0x18($sp) +/* 946070 802401A0 8FB10014 */ lw $s1, 0x14($sp) +/* 946074 802401A4 8FB00010 */ lw $s0, 0x10($sp) +/* 946078 802401A8 24020002 */ addiu $v0, $zero, 2 +/* 94607C 802401AC 03E00008 */ jr $ra +/* 946080 802401B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_802401B4.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_802401B4.s new file mode 100644 index 0000000000..6a81602b4b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_802401B4.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B4 +/* 946084 802401B4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 946088 802401B8 AFB10014 */ sw $s1, 0x14($sp) +/* 94608C 802401BC 0080882D */ daddu $s1, $a0, $zero +/* 946090 802401C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 946094 802401C4 AFB40020 */ sw $s4, 0x20($sp) +/* 946098 802401C8 AFB3001C */ sw $s3, 0x1c($sp) +/* 94609C 802401CC AFB20018 */ sw $s2, 0x18($sp) +/* 9460A0 802401D0 AFB00010 */ sw $s0, 0x10($sp) +/* 9460A4 802401D4 F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9460A8 802401D8 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9460AC 802401DC F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9460B0 802401E0 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9460B4 802401E4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9460B8 802401E8 8E30000C */ lw $s0, 0xc($s1) +/* 9460BC 802401EC 8E130000 */ lw $s3, ($s0) +/* 9460C0 802401F0 26100004 */ addiu $s0, $s0, 4 +/* 9460C4 802401F4 0C0B1EAF */ jal get_variable +/* 9460C8 802401F8 0260282D */ daddu $a1, $s3, $zero +/* 9460CC 802401FC 4482E000 */ mtc1 $v0, $f28 +/* 9460D0 80240200 00000000 */ nop +/* 9460D4 80240204 4680E720 */ cvt.s.w $f28, $f28 +/* 9460D8 80240208 8E140000 */ lw $s4, ($s0) +/* 9460DC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 9460E0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 9460E4 80240214 0C0B1EAF */ jal get_variable +/* 9460E8 80240218 0280282D */ daddu $a1, $s4, $zero +/* 9460EC 8024021C 4482D000 */ mtc1 $v0, $f26 +/* 9460F0 80240220 00000000 */ nop +/* 9460F4 80240224 4680D6A0 */ cvt.s.w $f26, $f26 +/* 9460F8 80240228 8E100000 */ lw $s0, ($s0) +/* 9460FC 8024022C 0220202D */ daddu $a0, $s1, $zero +/* 946100 80240230 0C0B1EAF */ jal get_variable +/* 946104 80240234 0200282D */ daddu $a1, $s0, $zero +/* 946108 80240238 4482C000 */ mtc1 $v0, $f24 +/* 94610C 8024023C 00000000 */ nop +/* 946110 80240240 4680C620 */ cvt.s.w $f24, $f24 +/* 946114 80240244 3C128011 */ lui $s2, %hi(gPlayerStatus) +/* 946118 80240248 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) +/* 94611C 8024024C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 946120 80240250 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 946124 80240254 C64200A8 */ lwc1 $f2, 0xa8($s2) +/* 946128 80240258 44800000 */ mtc1 $zero, $f0 +/* 94612C 8024025C 00031080 */ sll $v0, $v1, 2 +/* 946130 80240260 00431021 */ addu $v0, $v0, $v1 +/* 946134 80240264 00021080 */ sll $v0, $v0, 2 +/* 946138 80240268 00431023 */ subu $v0, $v0, $v1 +/* 94613C 8024026C 000218C0 */ sll $v1, $v0, 3 +/* 946140 80240270 00431021 */ addu $v0, $v0, $v1 +/* 946144 80240274 000210C0 */ sll $v0, $v0, 3 +/* 946148 80240278 46001032 */ c.eq.s $f2, $f0 +/* 94614C 8024027C 3C01800B */ lui $at, 0x800b +/* 946150 80240280 00220821 */ addu $at, $at, $v0 +/* 946154 80240284 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* 946158 80240288 45000005 */ bc1f .L802402A0 +/* 94615C 8024028C 00000000 */ nop +/* 946160 80240290 3C0142C8 */ lui $at, 0x42c8 +/* 946164 80240294 44810000 */ mtc1 $at, $f0 +/* 946168 80240298 080900AC */ j .L802402B0 +/* 94616C 8024029C 4600B581 */ sub.s $f22, $f22, $f0 +.L802402A0: +/* 946170 802402A0 3C0142C8 */ lui $at, 0x42c8 +/* 946174 802402A4 44810000 */ mtc1 $at, $f0 +/* 946178 802402A8 00000000 */ nop +/* 94617C 802402AC 4600B580 */ add.s $f22, $f22, $f0 +.L802402B0: +/* 946180 802402B0 0C00A6C9 */ jal clamp_angle +/* 946184 802402B4 4600B306 */ mov.s $f12, $f22 +/* 946188 802402B8 46000586 */ mov.s $f22, $f0 +/* 94618C 802402BC 3C014170 */ lui $at, 0x4170 +/* 946190 802402C0 4481A000 */ mtc1 $at, $f20 +/* 946194 802402C4 0C00A8BB */ jal sin_deg +/* 946198 802402C8 4600B306 */ mov.s $f12, $f22 +/* 94619C 802402CC 46140002 */ mul.s $f0, $f0, $f20 +/* 9461A0 802402D0 00000000 */ nop +/* 9461A4 802402D4 864200B0 */ lh $v0, 0xb0($s2) +/* 9461A8 802402D8 3C013F00 */ lui $at, 0x3f00 +/* 9461AC 802402DC 44812000 */ mtc1 $at, $f4 +/* 9461B0 802402E0 44821000 */ mtc1 $v0, $f2 +/* 9461B4 802402E4 00000000 */ nop +/* 9461B8 802402E8 468010A0 */ cvt.s.w $f2, $f2 +/* 9461BC 802402EC 46041082 */ mul.s $f2, $f2, $f4 +/* 9461C0 802402F0 00000000 */ nop +/* 9461C4 802402F4 4600E700 */ add.s $f28, $f28, $f0 +/* 9461C8 802402F8 4602D680 */ add.s $f26, $f26, $f2 +/* 9461CC 802402FC 0C00A8D4 */ jal cos_deg +/* 9461D0 80240300 4600B306 */ mov.s $f12, $f22 +/* 9461D4 80240304 46140002 */ mul.s $f0, $f0, $f20 +/* 9461D8 80240308 00000000 */ nop +/* 9461DC 8024030C 0220202D */ daddu $a0, $s1, $zero +/* 9461E0 80240310 0260282D */ daddu $a1, $s3, $zero +/* 9461E4 80240314 4600E18D */ trunc.w.s $f6, $f28 +/* 9461E8 80240318 44063000 */ mfc1 $a2, $f6 +/* 9461EC 8024031C 0C0B2026 */ jal set_variable +/* 9461F0 80240320 4600C601 */ sub.s $f24, $f24, $f0 +/* 9461F4 80240324 0220202D */ daddu $a0, $s1, $zero +/* 9461F8 80240328 4600D18D */ trunc.w.s $f6, $f26 +/* 9461FC 8024032C 44063000 */ mfc1 $a2, $f6 +/* 946200 80240330 0C0B2026 */ jal set_variable +/* 946204 80240334 0280282D */ daddu $a1, $s4, $zero +/* 946208 80240338 0220202D */ daddu $a0, $s1, $zero +/* 94620C 8024033C 4600C18D */ trunc.w.s $f6, $f24 +/* 946210 80240340 44063000 */ mfc1 $a2, $f6 +/* 946214 80240344 0C0B2026 */ jal set_variable +/* 946218 80240348 0200282D */ daddu $a1, $s0, $zero +/* 94621C 8024034C 8FBF0024 */ lw $ra, 0x24($sp) +/* 946220 80240350 8FB40020 */ lw $s4, 0x20($sp) +/* 946224 80240354 8FB3001C */ lw $s3, 0x1c($sp) +/* 946228 80240358 8FB20018 */ lw $s2, 0x18($sp) +/* 94622C 8024035C 8FB10014 */ lw $s1, 0x14($sp) +/* 946230 80240360 8FB00010 */ lw $s0, 0x10($sp) +/* 946234 80240364 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 946238 80240368 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 94623C 8024036C D7B80038 */ ldc1 $f24, 0x38($sp) +/* 946240 80240370 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 946244 80240374 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 946248 80240378 24020002 */ addiu $v0, $zero, 2 +/* 94624C 8024037C 03E00008 */ jr $ra +/* 946250 80240380 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240384_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240384_945ED0.s new file mode 100644 index 0000000000..315281c672 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240384_945ED0.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240384_946254 +/* 946254 80240384 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 946258 80240388 AFBF0010 */ sw $ra, 0x10($sp) +/* 94625C 8024038C 10A00003 */ beqz $a1, .L8024039C +/* 946260 80240390 8C86000C */ lw $a2, 0xc($a0) +/* 946264 80240394 3C018024 */ lui $at, 0x8024 +/* 946268 80240398 AC200E00 */ sw $zero, 0xe00($at) +.L8024039C: +/* 94626C 8024039C 3C038024 */ lui $v1, 0x8024 +/* 946270 802403A0 24630E00 */ addiu $v1, $v1, 0xe00 +/* 946274 802403A4 8C620000 */ lw $v0, ($v1) +/* 946278 802403A8 54400003 */ bnel $v0, $zero, .L802403B8 +/* 94627C 802403AC AC600000 */ sw $zero, ($v1) +/* 946280 802403B0 080900F3 */ j .L802403CC +/* 946284 802403B4 0000102D */ daddu $v0, $zero, $zero +.L802403B8: +/* 946288 802403B8 8CC50000 */ lw $a1, ($a2) +/* 94628C 802403BC 3C068024 */ lui $a2, 0x8024 +/* 946290 802403C0 0C0B2026 */ jal set_variable +/* 946294 802403C4 8CC60E04 */ lw $a2, 0xe04($a2) +/* 946298 802403C8 24020002 */ addiu $v0, $zero, 2 +.L802403CC: +/* 94629C 802403CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 9462A0 802403D0 03E00008 */ jr $ra +/* 9462A4 802403D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_802403D8.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_802403D8.s new file mode 100644 index 0000000000..3a7cf0fa09 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_802403D8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403D8 +/* 9462A8 802403D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9462AC 802403DC AFBF0010 */ sw $ra, 0x10($sp) +/* 9462B0 802403E0 8C82000C */ lw $v0, 0xc($a0) +/* 9462B4 802403E4 0C0B1EAF */ jal get_variable +/* 9462B8 802403E8 8C450000 */ lw $a1, ($v0) +/* 9462BC 802403EC 3C018024 */ lui $at, 0x8024 +/* 9462C0 802403F0 AC220E04 */ sw $v0, 0xe04($at) +/* 9462C4 802403F4 24020002 */ addiu $v0, $zero, 2 +/* 9462C8 802403F8 8FBF0010 */ lw $ra, 0x10($sp) +/* 9462CC 802403FC 24030001 */ addiu $v1, $zero, 1 +/* 9462D0 80240400 3C018024 */ lui $at, 0x8024 +/* 9462D4 80240404 AC230E00 */ sw $v1, 0xe00($at) +/* 9462D8 80240408 03E00008 */ jr $ra +/* 9462DC 8024040C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240410_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240410_945ED0.s new file mode 100644 index 0000000000..1a55a67b5f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240410_945ED0.s @@ -0,0 +1,48 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240410_9462E0 +/* 9462E0 80240410 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9462E4 80240414 AFBF0010 */ sw $ra, 0x10($sp) +/* 9462E8 80240418 8C82000C */ lw $v0, 0xc($a0) +/* 9462EC 8024041C 0C0B1EAF */ jal get_variable +/* 9462F0 80240420 8C450000 */ lw $a1, ($v0) +/* 9462F4 80240424 0040182D */ daddu $v1, $v0, $zero +/* 9462F8 80240428 10600012 */ beqz $v1, .L80240474 +/* 9462FC 8024042C 0000202D */ daddu $a0, $zero, $zero +/* 946300 80240430 8C620000 */ lw $v0, ($v1) +/* 946304 80240434 5040000A */ beql $v0, $zero, .L80240460 +/* 946308 80240438 00041080 */ sll $v0, $a0, 2 +/* 94630C 8024043C 3C058024 */ lui $a1, 0x8024 +/* 946310 80240440 24A527E0 */ addiu $a1, $a1, 0x27e0 +.L80240444: +/* 946314 80240444 24630004 */ addiu $v1, $v1, 4 +/* 946318 80240448 24840001 */ addiu $a0, $a0, 1 +/* 94631C 8024044C ACA20000 */ sw $v0, ($a1) +/* 946320 80240450 8C620000 */ lw $v0, ($v1) +/* 946324 80240454 1440FFFB */ bnez $v0, .L80240444 +/* 946328 80240458 24A50004 */ addiu $a1, $a1, 4 +/* 94632C 8024045C 00041080 */ sll $v0, $a0, 2 +.L80240460: +/* 946330 80240460 3C018024 */ lui $at, 0x8024 +/* 946334 80240464 00220821 */ addu $at, $at, $v0 +/* 946338 80240468 AC2027E0 */ sw $zero, 0x27e0($at) +/* 94633C 8024046C 08090127 */ j .L8024049C +/* 946340 80240470 00000000 */ nop +.L80240474: +/* 946344 80240474 3C038024 */ lui $v1, 0x8024 +/* 946348 80240478 246327E0 */ addiu $v1, $v1, 0x27e0 +/* 94634C 8024047C 0060282D */ daddu $a1, $v1, $zero +.L80240480: +/* 946350 80240480 24820010 */ addiu $v0, $a0, 0x10 +/* 946354 80240484 AC620000 */ sw $v0, ($v1) +/* 946358 80240488 24630004 */ addiu $v1, $v1, 4 +/* 94635C 8024048C 24840001 */ addiu $a0, $a0, 1 +/* 946360 80240490 28820070 */ slti $v0, $a0, 0x70 +/* 946364 80240494 1440FFFA */ bnez $v0, .L80240480 +/* 946368 80240498 ACA001C0 */ sw $zero, 0x1c0($a1) +.L8024049C: +/* 94636C 8024049C 8FBF0010 */ lw $ra, 0x10($sp) +/* 946370 802404A0 24020002 */ addiu $v0, $zero, 2 +/* 946374 802404A4 03E00008 */ jr $ra +/* 946378 802404A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_802404AC_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_802404AC_945ED0.s new file mode 100644 index 0000000000..34f681f9c3 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_802404AC_945ED0.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404AC_94637C +/* 94637C 802404AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 946380 802404B0 AFB10014 */ sw $s1, 0x14($sp) +/* 946384 802404B4 0080882D */ daddu $s1, $a0, $zero +/* 946388 802404B8 AFBF0018 */ sw $ra, 0x18($sp) +/* 94638C 802404BC AFB00010 */ sw $s0, 0x10($sp) +/* 946390 802404C0 8E30000C */ lw $s0, 0xc($s1) +/* 946394 802404C4 8E050000 */ lw $a1, ($s0) +/* 946398 802404C8 0C0B1EAF */ jal get_variable +/* 94639C 802404CC 26100004 */ addiu $s0, $s0, 4 +/* 9463A0 802404D0 AE22008C */ sw $v0, 0x8c($s1) +/* 9463A4 802404D4 8E050000 */ lw $a1, ($s0) +/* 9463A8 802404D8 26100004 */ addiu $s0, $s0, 4 +/* 9463AC 802404DC 0C0B1EAF */ jal get_variable +/* 9463B0 802404E0 0220202D */ daddu $a0, $s1, $zero +/* 9463B4 802404E4 AE220090 */ sw $v0, 0x90($s1) +/* 9463B8 802404E8 8E050000 */ lw $a1, ($s0) +/* 9463BC 802404EC 26100004 */ addiu $s0, $s0, 4 +/* 9463C0 802404F0 0C0B1EAF */ jal get_variable +/* 9463C4 802404F4 0220202D */ daddu $a0, $s1, $zero +/* 9463C8 802404F8 AE220094 */ sw $v0, 0x94($s1) +/* 9463CC 802404FC 8E050000 */ lw $a1, ($s0) +/* 9463D0 80240500 26100004 */ addiu $s0, $s0, 4 +/* 9463D4 80240504 0C0B1EAF */ jal get_variable +/* 9463D8 80240508 0220202D */ daddu $a0, $s1, $zero +/* 9463DC 8024050C AE220098 */ sw $v0, 0x98($s1) +/* 9463E0 80240510 8E050000 */ lw $a1, ($s0) +/* 9463E4 80240514 26100004 */ addiu $s0, $s0, 4 +/* 9463E8 80240518 0C0B1EAF */ jal get_variable +/* 9463EC 8024051C 0220202D */ daddu $a0, $s1, $zero +/* 9463F0 80240520 AE22009C */ sw $v0, 0x9c($s1) +/* 9463F4 80240524 8E050000 */ lw $a1, ($s0) +/* 9463F8 80240528 26100004 */ addiu $s0, $s0, 4 +/* 9463FC 8024052C 0C0B1EAF */ jal get_variable +/* 946400 80240530 0220202D */ daddu $a0, $s1, $zero +/* 946404 80240534 AE2200A0 */ sw $v0, 0xa0($s1) +/* 946408 80240538 8E050000 */ lw $a1, ($s0) +/* 94640C 8024053C 26100004 */ addiu $s0, $s0, 4 +/* 946410 80240540 0C0B1EAF */ jal get_variable +/* 946414 80240544 0220202D */ daddu $a0, $s1, $zero +/* 946418 80240548 AE2200A4 */ sw $v0, 0xa4($s1) +/* 94641C 8024054C 8E050000 */ lw $a1, ($s0) +/* 946420 80240550 26100004 */ addiu $s0, $s0, 4 +/* 946424 80240554 0C0B1EAF */ jal get_variable +/* 946428 80240558 0220202D */ daddu $a0, $s1, $zero +/* 94642C 8024055C AE2200A8 */ sw $v0, 0xa8($s1) +/* 946430 80240560 8E050000 */ lw $a1, ($s0) +/* 946434 80240564 26100004 */ addiu $s0, $s0, 4 +/* 946438 80240568 0C0B1EAF */ jal get_variable +/* 94643C 8024056C 0220202D */ daddu $a0, $s1, $zero +/* 946440 80240570 AE2200AC */ sw $v0, 0xac($s1) +/* 946444 80240574 8E050000 */ lw $a1, ($s0) +/* 946448 80240578 0C0B1EAF */ jal get_variable +/* 94644C 8024057C 0220202D */ daddu $a0, $s1, $zero +/* 946450 80240580 AE2200B0 */ sw $v0, 0xb0($s1) +/* 946454 80240584 8FBF0018 */ lw $ra, 0x18($sp) +/* 946458 80240588 8FB10014 */ lw $s1, 0x14($sp) +/* 94645C 8024058C 8FB00010 */ lw $s0, 0x10($sp) +/* 946460 80240590 24020002 */ addiu $v0, $zero, 2 +/* 946464 80240594 03E00008 */ jr $ra +/* 946468 80240598 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_8024059C_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_8024059C_945ED0.s new file mode 100644 index 0000000000..c99958a73b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_8024059C_945ED0.s @@ -0,0 +1,103 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024059C_94646C +/* 94646C 8024059C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 946470 802405A0 AFB1001C */ sw $s1, 0x1c($sp) +/* 946474 802405A4 0080882D */ daddu $s1, $a0, $zero +/* 946478 802405A8 AFBF0034 */ sw $ra, 0x34($sp) +/* 94647C 802405AC AFB60030 */ sw $s6, 0x30($sp) +/* 946480 802405B0 AFB5002C */ sw $s5, 0x2c($sp) +/* 946484 802405B4 AFB40028 */ sw $s4, 0x28($sp) +/* 946488 802405B8 AFB30024 */ sw $s3, 0x24($sp) +/* 94648C 802405BC AFB20020 */ sw $s2, 0x20($sp) +/* 946490 802405C0 AFB00018 */ sw $s0, 0x18($sp) +/* 946494 802405C4 F7B60040 */ sdc1 $f22, 0x40($sp) +/* 946498 802405C8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 94649C 802405CC 8E30000C */ lw $s0, 0xc($s1) +/* 9464A0 802405D0 8E160000 */ lw $s6, ($s0) +/* 9464A4 802405D4 26100004 */ addiu $s0, $s0, 4 +/* 9464A8 802405D8 0C0B1EAF */ jal get_variable +/* 9464AC 802405DC 02C0282D */ daddu $a1, $s6, $zero +/* 9464B0 802405E0 44820000 */ mtc1 $v0, $f0 +/* 9464B4 802405E4 00000000 */ nop +/* 9464B8 802405E8 46800020 */ cvt.s.w $f0, $f0 +/* 9464BC 802405EC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9464C0 802405F0 8E140000 */ lw $s4, ($s0) +/* 9464C4 802405F4 26100004 */ addiu $s0, $s0, 4 +/* 9464C8 802405F8 0220202D */ daddu $a0, $s1, $zero +/* 9464CC 802405FC 0C0B1EAF */ jal get_variable +/* 9464D0 80240600 0280282D */ daddu $a1, $s4, $zero +/* 9464D4 80240604 0220202D */ daddu $a0, $s1, $zero +/* 9464D8 80240608 8E150000 */ lw $s5, ($s0) +/* 9464DC 8024060C 4482B000 */ mtc1 $v0, $f22 +/* 9464E0 80240610 00000000 */ nop +/* 9464E4 80240614 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9464E8 80240618 0C0B1EAF */ jal get_variable +/* 9464EC 8024061C 02A0282D */ daddu $a1, $s5, $zero +/* 9464F0 80240620 2404FFFC */ addiu $a0, $zero, -4 +/* 9464F4 80240624 44820000 */ mtc1 $v0, $f0 +/* 9464F8 80240628 00000000 */ nop +/* 9464FC 8024062C 46800020 */ cvt.s.w $f0, $f0 +/* 946500 80240630 0C00EABB */ jal get_npc_unsafe +/* 946504 80240634 E7A00014 */ swc1 $f0, 0x14($sp) +/* 946508 80240638 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 94650C 8024063C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 946510 80240640 3C014334 */ lui $at, 0x4334 +/* 946514 80240644 44816000 */ mtc1 $at, $f12 +/* 946518 80240648 00041880 */ sll $v1, $a0, 2 +/* 94651C 8024064C 00641821 */ addu $v1, $v1, $a0 +/* 946520 80240650 00031880 */ sll $v1, $v1, 2 +/* 946524 80240654 00641823 */ subu $v1, $v1, $a0 +/* 946528 80240658 000320C0 */ sll $a0, $v1, 3 +/* 94652C 8024065C 00641821 */ addu $v1, $v1, $a0 +/* 946530 80240660 000318C0 */ sll $v1, $v1, 3 +/* 946534 80240664 3C01800B */ lui $at, 0x800b +/* 946538 80240668 00230821 */ addu $at, $at, $v1 +/* 94653C 8024066C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 946540 80240670 460C0300 */ add.s $f12, $f0, $f12 +/* 946544 80240674 0C00A6C9 */ jal clamp_angle +/* 946548 80240678 0040982D */ daddu $s3, $v0, $zero +/* 94654C 8024067C 27B00010 */ addiu $s0, $sp, 0x10 +/* 946550 80240680 0200202D */ daddu $a0, $s0, $zero +/* 946554 80240684 27B20014 */ addiu $s2, $sp, 0x14 +/* 946558 80240688 0240282D */ daddu $a1, $s2, $zero +/* 94655C 8024068C 3C064170 */ lui $a2, 0x4170 +/* 946560 80240690 8E67000C */ lw $a3, 0xc($s3) +/* 946564 80240694 0C00A7E7 */ jal add_vec2D_polar +/* 946568 80240698 46000506 */ mov.s $f20, $f0 +/* 94656C 8024069C 0200202D */ daddu $a0, $s0, $zero +/* 946570 802406A0 3C064120 */ lui $a2, 0x4120 +/* 946574 802406A4 4407A000 */ mfc1 $a3, $f20 +/* 946578 802406A8 0C00A7E7 */ jal add_vec2D_polar +/* 94657C 802406AC 0240282D */ daddu $a1, $s2, $zero +/* 946580 802406B0 0220202D */ daddu $a0, $s1, $zero +/* 946584 802406B4 C7A00010 */ lwc1 $f0, 0x10($sp) +/* 946588 802406B8 4600008D */ trunc.w.s $f2, $f0 +/* 94658C 802406BC 44061000 */ mfc1 $a2, $f2 +/* 946590 802406C0 0C0B2026 */ jal set_variable +/* 946594 802406C4 02C0282D */ daddu $a1, $s6, $zero +/* 946598 802406C8 0220202D */ daddu $a0, $s1, $zero +/* 94659C 802406CC 4600B08D */ trunc.w.s $f2, $f22 +/* 9465A0 802406D0 44061000 */ mfc1 $a2, $f2 +/* 9465A4 802406D4 0C0B2026 */ jal set_variable +/* 9465A8 802406D8 0280282D */ daddu $a1, $s4, $zero +/* 9465AC 802406DC 0220202D */ daddu $a0, $s1, $zero +/* 9465B0 802406E0 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 9465B4 802406E4 4600008D */ trunc.w.s $f2, $f0 +/* 9465B8 802406E8 44061000 */ mfc1 $a2, $f2 +/* 9465BC 802406EC 0C0B2026 */ jal set_variable +/* 9465C0 802406F0 02A0282D */ daddu $a1, $s5, $zero +/* 9465C4 802406F4 8FBF0034 */ lw $ra, 0x34($sp) +/* 9465C8 802406F8 8FB60030 */ lw $s6, 0x30($sp) +/* 9465CC 802406FC 8FB5002C */ lw $s5, 0x2c($sp) +/* 9465D0 80240700 8FB40028 */ lw $s4, 0x28($sp) +/* 9465D4 80240704 8FB30024 */ lw $s3, 0x24($sp) +/* 9465D8 80240708 8FB20020 */ lw $s2, 0x20($sp) +/* 9465DC 8024070C 8FB1001C */ lw $s1, 0x1c($sp) +/* 9465E0 80240710 8FB00018 */ lw $s0, 0x18($sp) +/* 9465E4 80240714 D7B60040 */ ldc1 $f22, 0x40($sp) +/* 9465E8 80240718 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9465EC 8024071C 24020002 */ addiu $v0, $zero, 2 +/* 9465F0 80240720 03E00008 */ jr $ra +/* 9465F4 80240724 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240728_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240728_945ED0.s new file mode 100644 index 0000000000..556ce6ae93 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240728_945ED0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728_9465F8 +/* 9465F8 80240728 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9465FC 8024072C AFB00010 */ sw $s0, 0x10($sp) +/* 946600 80240730 0080802D */ daddu $s0, $a0, $zero +/* 946604 80240734 AFBF0014 */ sw $ra, 0x14($sp) +/* 946608 80240738 0C00EABB */ jal get_npc_unsafe +/* 94660C 8024073C 8E04008C */ lw $a0, 0x8c($s0) +/* 946610 80240740 0040282D */ daddu $a1, $v0, $zero +/* 946614 80240744 8E040094 */ lw $a0, 0x94($s0) +/* 946618 80240748 8CA30028 */ lw $v1, 0x28($a1) +/* 94661C 8024074C ACA40028 */ sw $a0, 0x28($a1) +/* 946620 80240750 8FBF0014 */ lw $ra, 0x14($sp) +/* 946624 80240754 8FB00010 */ lw $s0, 0x10($sp) +/* 946628 80240758 24020002 */ addiu $v0, $zero, 2 +/* 94662C 8024075C 3C018024 */ lui $at, 0x8024 +/* 946630 80240760 AC2329A4 */ sw $v1, 0x29a4($at) +/* 946634 80240764 03E00008 */ jr $ra +/* 946638 80240768 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_8024076C_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_8024076C_945ED0.s new file mode 100644 index 0000000000..fa1d4b5c0c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_8024076C_945ED0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024076C_94663C +/* 94663C 8024076C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 946640 80240770 AFBF0010 */ sw $ra, 0x10($sp) +/* 946644 80240774 0C00EABB */ jal get_npc_unsafe +/* 946648 80240778 8C84008C */ lw $a0, 0x8c($a0) +/* 94664C 8024077C 3C038024 */ lui $v1, 0x8024 +/* 946650 80240780 8C6329A4 */ lw $v1, 0x29a4($v1) +/* 946654 80240784 AC430028 */ sw $v1, 0x28($v0) +/* 946658 80240788 8FBF0010 */ lw $ra, 0x10($sp) +/* 94665C 8024078C 24020002 */ addiu $v0, $zero, 2 +/* 946660 80240790 03E00008 */ jr $ra +/* 946664 80240794 27BD0018 */ addiu $sp, $sp, 0x18 +/* 946668 80240798 00000000 */ nop +/* 94666C 8024079C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_802407A0_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_802407A0_945ED0.s new file mode 100644 index 0000000000..aa67440dff --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_802407A0_945ED0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0_946670 +/* 946670 802407A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 946674 802407A4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 946678 802407A8 4485A000 */ mtc1 $a1, $f20 +/* 94667C 802407AC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 946680 802407B0 4486B000 */ mtc1 $a2, $f22 +/* 946684 802407B4 AFB00010 */ sw $s0, 0x10($sp) +/* 946688 802407B8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 94668C 802407BC 4487C000 */ mtc1 $a3, $f24 +/* 946690 802407C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 946694 802407C4 0C019D28 */ jal guMtxIdentF +/* 946698 802407C8 0080802D */ daddu $s0, $a0, $zero +/* 94669C 802407CC 4616A582 */ mul.s $f22, $f20, $f22 +/* 9466A0 802407D0 00000000 */ nop +/* 9466A4 802407D4 4618A502 */ mul.s $f20, $f20, $f24 +/* 9466A8 802407D8 00000000 */ nop +/* 9466AC 802407DC 3C013F80 */ lui $at, 0x3f80 +/* 9466B0 802407E0 44810000 */ mtc1 $at, $f0 +/* 9466B4 802407E4 00000000 */ nop +/* 9466B8 802407E8 E6000014 */ swc1 $f0, 0x14($s0) +/* 9466BC 802407EC E6160010 */ swc1 $f22, 0x10($s0) +/* 9466C0 802407F0 E6140018 */ swc1 $f20, 0x18($s0) +/* 9466C4 802407F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 9466C8 802407F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9466CC 802407FC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 9466D0 80240800 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 9466D4 80240804 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 9466D8 80240808 03E00008 */ jr $ra +/* 9466DC 8024080C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_34/func_80240810_945ED0.s b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240810_945ED0.s new file mode 100644 index 0000000000..dd9f4417c8 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_34/func_80240810_945ED0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240810_9466E0 +/* 9466E0 80240810 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 9466E4 80240814 AFB10054 */ sw $s1, 0x54($sp) +/* 9466E8 80240818 0080882D */ daddu $s1, $a0, $zero +/* 9466EC 8024081C AFBF005C */ sw $ra, 0x5c($sp) +/* 9466F0 80240820 AFB20058 */ sw $s2, 0x58($sp) +/* 9466F4 80240824 AFB00050 */ sw $s0, 0x50($sp) +/* 9466F8 80240828 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 9466FC 8024082C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 946700 80240830 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 946704 80240834 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 946708 80240838 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 94670C 8024083C 8E30000C */ lw $s0, 0xc($s1) +/* 946710 80240840 8E050000 */ lw $a1, ($s0) +/* 946714 80240844 0C0B1EAF */ jal get_variable +/* 946718 80240848 26100004 */ addiu $s0, $s0, 4 +/* 94671C 8024084C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 946720 80240850 0040202D */ daddu $a0, $v0, $zero +/* 946724 80240854 8E050000 */ lw $a1, ($s0) +/* 946728 80240858 26100004 */ addiu $s0, $s0, 4 +/* 94672C 8024085C 0220202D */ daddu $a0, $s1, $zero +/* 946730 80240860 0C0B210B */ jal get_float_variable +/* 946734 80240864 0040902D */ daddu $s2, $v0, $zero +/* 946738 80240868 8E050000 */ lw $a1, ($s0) +/* 94673C 8024086C 26100004 */ addiu $s0, $s0, 4 +/* 946740 80240870 0220202D */ daddu $a0, $s1, $zero +/* 946744 80240874 0C0B210B */ jal get_float_variable +/* 946748 80240878 46000706 */ mov.s $f28, $f0 +/* 94674C 8024087C 8E050000 */ lw $a1, ($s0) +/* 946750 80240880 26100004 */ addiu $s0, $s0, 4 +/* 946754 80240884 0220202D */ daddu $a0, $s1, $zero +/* 946758 80240888 0C0B210B */ jal get_float_variable +/* 94675C 8024088C 46000686 */ mov.s $f26, $f0 +/* 946760 80240890 0220202D */ daddu $a0, $s1, $zero +/* 946764 80240894 8E050000 */ lw $a1, ($s0) +/* 946768 80240898 0C0B210B */ jal get_float_variable +/* 94676C 8024089C 46000586 */ mov.s $f22, $f0 +/* 946770 802408A0 0240202D */ daddu $a0, $s2, $zero +/* 946774 802408A4 0C046B4C */ jal get_model_from_list_index +/* 946778 802408A8 46000606 */ mov.s $f24, $f0 +/* 94677C 802408AC 0040882D */ daddu $s1, $v0, $zero +/* 946780 802408B0 96220000 */ lhu $v0, ($s1) +/* 946784 802408B4 30420400 */ andi $v0, $v0, 0x400 +/* 946788 802408B8 1440001E */ bnez $v0, .L80240934 +/* 94678C 802408BC 26300058 */ addiu $s0, $s1, 0x58 +/* 946790 802408C0 4480A000 */ mtc1 $zero, $f20 +/* 946794 802408C4 4406B000 */ mfc1 $a2, $f22 +/* 946798 802408C8 4405A000 */ mfc1 $a1, $f20 +/* 94679C 802408CC 4407A000 */ mfc1 $a3, $f20 +/* 9467A0 802408D0 0C019E40 */ jal guTranslateF +/* 9467A4 802408D4 0200202D */ daddu $a0, $s0, $zero +/* 9467A8 802408D8 4405E000 */ mfc1 $a1, $f28 +/* 9467AC 802408DC 4406D000 */ mfc1 $a2, $f26 +/* 9467B0 802408E0 4407C000 */ mfc1 $a3, $f24 +/* 9467B4 802408E4 0C0901E8 */ jal func_802407A0 +/* 9467B8 802408E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 9467BC 802408EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9467C0 802408F0 0200282D */ daddu $a1, $s0, $zero +/* 9467C4 802408F4 0C019D80 */ jal guMtxCatF +/* 9467C8 802408F8 0200302D */ daddu $a2, $s0, $zero +/* 9467CC 802408FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9467D0 80240900 4600B587 */ neg.s $f22, $f22 +/* 9467D4 80240904 4405A000 */ mfc1 $a1, $f20 +/* 9467D8 80240908 4406B000 */ mfc1 $a2, $f22 +/* 9467DC 8024090C 0C019E40 */ jal guTranslateF +/* 9467E0 80240910 00A0382D */ daddu $a3, $a1, $zero +/* 9467E4 80240914 27A40010 */ addiu $a0, $sp, 0x10 +/* 9467E8 80240918 0200282D */ daddu $a1, $s0, $zero +/* 9467EC 8024091C 0C019D80 */ jal guMtxCatF +/* 9467F0 80240920 00A0302D */ daddu $a2, $a1, $zero +/* 9467F4 80240924 96220000 */ lhu $v0, ($s1) +/* 9467F8 80240928 34421400 */ ori $v0, $v0, 0x1400 +/* 9467FC 8024092C 0809026B */ j .L802409AC +/* 946800 80240930 A6220000 */ sh $v0, ($s1) +.L80240934: +/* 946804 80240934 4480A000 */ mtc1 $zero, $f20 +/* 946808 80240938 4406B000 */ mfc1 $a2, $f22 +/* 94680C 8024093C 4405A000 */ mfc1 $a1, $f20 +/* 946810 80240940 4407A000 */ mfc1 $a3, $f20 +/* 946814 80240944 0C019E40 */ jal guTranslateF +/* 946818 80240948 27A40010 */ addiu $a0, $sp, 0x10 +/* 94681C 8024094C 27A40010 */ addiu $a0, $sp, 0x10 +/* 946820 80240950 26300058 */ addiu $s0, $s1, 0x58 +/* 946824 80240954 0200282D */ daddu $a1, $s0, $zero +/* 946828 80240958 0C019D80 */ jal guMtxCatF +/* 94682C 8024095C 0200302D */ daddu $a2, $s0, $zero +/* 946830 80240960 4405E000 */ mfc1 $a1, $f28 +/* 946834 80240964 4406D000 */ mfc1 $a2, $f26 +/* 946838 80240968 4407C000 */ mfc1 $a3, $f24 +/* 94683C 8024096C 0C0901E8 */ jal func_802407A0 +/* 946840 80240970 27A40010 */ addiu $a0, $sp, 0x10 +/* 946844 80240974 27A40010 */ addiu $a0, $sp, 0x10 +/* 946848 80240978 0200282D */ daddu $a1, $s0, $zero +/* 94684C 8024097C 0C019D80 */ jal guMtxCatF +/* 946850 80240980 0200302D */ daddu $a2, $s0, $zero +/* 946854 80240984 27A40010 */ addiu $a0, $sp, 0x10 +/* 946858 80240988 4600B587 */ neg.s $f22, $f22 +/* 94685C 8024098C 4405A000 */ mfc1 $a1, $f20 +/* 946860 80240990 4406B000 */ mfc1 $a2, $f22 +/* 946864 80240994 0C019E40 */ jal guTranslateF +/* 946868 80240998 00A0382D */ daddu $a3, $a1, $zero +/* 94686C 8024099C 27A40010 */ addiu $a0, $sp, 0x10 +/* 946870 802409A0 0200282D */ daddu $a1, $s0, $zero +/* 946874 802409A4 0C019D80 */ jal guMtxCatF +/* 946878 802409A8 00A0302D */ daddu $a2, $a1, $zero +.L802409AC: +/* 94687C 802409AC 8FBF005C */ lw $ra, 0x5c($sp) +/* 946880 802409B0 8FB20058 */ lw $s2, 0x58($sp) +/* 946884 802409B4 8FB10054 */ lw $s1, 0x54($sp) +/* 946888 802409B8 8FB00050 */ lw $s0, 0x50($sp) +/* 94688C 802409BC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 946890 802409C0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 946894 802409C4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 946898 802409C8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 94689C 802409CC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9468A0 802409D0 24020002 */ addiu $v0, $zero, 2 +/* 9468A4 802409D4 03E00008 */ jr $ra +/* 9468A8 802409D8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 9468AC 802409DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_35/func_80240000_9486B0.s b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240000_9486B0.s new file mode 100644 index 0000000000..c8d9212121 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240000_9486B0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9486B0 +/* 9486B0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9486B4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9486B8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9486BC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9486C0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9486C4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9486C8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9486CC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9486D0 80240020 0C01CA54 */ jal func_80072950 +/* 9486D4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9486D8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9486DC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9486E0 80240030 03E00008 */ jr $ra +/* 9486E4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9486E8 80240038 00000000 */ nop +/* 9486EC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_35/func_80240040_9486B0.s b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240040_9486B0.s new file mode 100644 index 0000000000..3e60c66f1b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240040_9486B0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_9486F0 +/* 9486F0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9486F4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 9486F8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 9486FC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 948700 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 948704 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 948708 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94870C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 948710 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 948714 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 948718 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94871C 8024006C 8E050000 */ lw $a1, ($s0) +/* 948720 80240070 0C0B1EAF */ jal get_variable +/* 948724 80240074 26100004 */ addiu $s0, $s0, 4 +/* 948728 80240078 8E050000 */ lw $a1, ($s0) +/* 94872C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 948730 80240080 0260202D */ daddu $a0, $s3, $zero +/* 948734 80240084 0C0B1EAF */ jal get_variable +/* 948738 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94873C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 948740 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 948744 80240094 8E120000 */ lw $s2, ($s0) +/* 948748 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94874C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 948750 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 948754 802400A4 08090030 */ j .L802400C0 +/* 948758 802400A8 00000000 */ nop +.L802400AC: +/* 94875C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 948760 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 948764 802400B4 14400005 */ bnez $v0, .L802400CC +/* 948768 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 94876C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 948770 802400C0 0C00EABB */ jal get_npc_unsafe +/* 948774 802400C4 00000000 */ nop +/* 948778 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 94877C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 948780 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 948784 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 948788 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 94878C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 948790 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 948794 802400E4 0C0B1EAF */ jal get_variable +/* 948798 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 94879C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 9487A0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 9487A4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9487A8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 9487AC 802400FC 44810000 */ mtc1 $at, $f0 +/* 9487B0 80240100 00000000 */ nop +/* 9487B4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 9487B8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 9487BC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 9487C0 80240110 44061000 */ mfc1 $a2, $f2 +/* 9487C4 80240114 0C04D083 */ jal set_item_entity_position +/* 9487C8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 9487CC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 9487D0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 9487D4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 9487D8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 9487DC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 9487E0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 9487E4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 9487E8 80240138 03E00008 */ jr $ra +/* 9487EC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_35/func_80240140_9486B0.s b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240140_9486B0.s new file mode 100644 index 0000000000..2cef770a2c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_35/func_80240140_9486B0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_9487F0 +/* 9487F0 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9487F4 80240144 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 9487F8 80240148 4485A000 */ mtc1 $a1, $f20 +/* 9487FC 8024014C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 948800 80240150 4486B000 */ mtc1 $a2, $f22 +/* 948804 80240154 AFB00010 */ sw $s0, 0x10($sp) +/* 948808 80240158 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 94880C 8024015C 4487C000 */ mtc1 $a3, $f24 +/* 948810 80240160 AFBF0014 */ sw $ra, 0x14($sp) +/* 948814 80240164 0C019D28 */ jal guMtxIdentF +/* 948818 80240168 0080802D */ daddu $s0, $a0, $zero +/* 94881C 8024016C 4616A582 */ mul.s $f22, $f20, $f22 +/* 948820 80240170 00000000 */ nop +/* 948824 80240174 4618A502 */ mul.s $f20, $f20, $f24 +/* 948828 80240178 00000000 */ nop +/* 94882C 8024017C 3C013F80 */ lui $at, 0x3f80 +/* 948830 80240180 44810000 */ mtc1 $at, $f0 +/* 948834 80240184 00000000 */ nop +/* 948838 80240188 E6000014 */ swc1 $f0, 0x14($s0) +/* 94883C 8024018C E6160010 */ swc1 $f22, 0x10($s0) +/* 948840 80240190 E6140018 */ swc1 $f20, 0x18($s0) +/* 948844 80240194 8FBF0014 */ lw $ra, 0x14($sp) +/* 948848 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* 94884C 8024019C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 948850 802401A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 948854 802401A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 948858 802401A8 03E00008 */ jr $ra +/* 94885C 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_35/func_802401B0_9486B0.s b/asm/nonmatchings/world/area_sbk/sbk_35/func_802401B0_9486B0.s new file mode 100644 index 0000000000..68cdc13481 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_35/func_802401B0_9486B0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_948860 +/* 948860 802401B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 948864 802401B4 AFB10054 */ sw $s1, 0x54($sp) +/* 948868 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 94886C 802401BC AFBF005C */ sw $ra, 0x5c($sp) +/* 948870 802401C0 AFB20058 */ sw $s2, 0x58($sp) +/* 948874 802401C4 AFB00050 */ sw $s0, 0x50($sp) +/* 948878 802401C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 94887C 802401CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 948880 802401D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 948884 802401D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 948888 802401D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 94888C 802401DC 8E30000C */ lw $s0, 0xc($s1) +/* 948890 802401E0 8E050000 */ lw $a1, ($s0) +/* 948894 802401E4 0C0B1EAF */ jal get_variable +/* 948898 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 94889C 802401EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 9488A0 802401F0 0040202D */ daddu $a0, $v0, $zero +/* 9488A4 802401F4 8E050000 */ lw $a1, ($s0) +/* 9488A8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 9488AC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 9488B0 80240200 0C0B210B */ jal get_float_variable +/* 9488B4 80240204 0040902D */ daddu $s2, $v0, $zero +/* 9488B8 80240208 8E050000 */ lw $a1, ($s0) +/* 9488BC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 9488C0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 9488C4 80240214 0C0B210B */ jal get_float_variable +/* 9488C8 80240218 46000706 */ mov.s $f28, $f0 +/* 9488CC 8024021C 8E050000 */ lw $a1, ($s0) +/* 9488D0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 9488D4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 9488D8 80240228 0C0B210B */ jal get_float_variable +/* 9488DC 8024022C 46000686 */ mov.s $f26, $f0 +/* 9488E0 80240230 0220202D */ daddu $a0, $s1, $zero +/* 9488E4 80240234 8E050000 */ lw $a1, ($s0) +/* 9488E8 80240238 0C0B210B */ jal get_float_variable +/* 9488EC 8024023C 46000586 */ mov.s $f22, $f0 +/* 9488F0 80240240 0240202D */ daddu $a0, $s2, $zero +/* 9488F4 80240244 0C046B4C */ jal get_model_from_list_index +/* 9488F8 80240248 46000606 */ mov.s $f24, $f0 +/* 9488FC 8024024C 0040882D */ daddu $s1, $v0, $zero +/* 948900 80240250 96220000 */ lhu $v0, ($s1) +/* 948904 80240254 30420400 */ andi $v0, $v0, 0x400 +/* 948908 80240258 1440001E */ bnez $v0, .L802402D4 +/* 94890C 8024025C 26300058 */ addiu $s0, $s1, 0x58 +/* 948910 80240260 4480A000 */ mtc1 $zero, $f20 +/* 948914 80240264 4406B000 */ mfc1 $a2, $f22 +/* 948918 80240268 4405A000 */ mfc1 $a1, $f20 +/* 94891C 8024026C 4407A000 */ mfc1 $a3, $f20 +/* 948920 80240270 0C019E40 */ jal guTranslateF +/* 948924 80240274 0200202D */ daddu $a0, $s0, $zero +/* 948928 80240278 4405E000 */ mfc1 $a1, $f28 +/* 94892C 8024027C 4406D000 */ mfc1 $a2, $f26 +/* 948930 80240280 4407C000 */ mfc1 $a3, $f24 +/* 948934 80240284 0C090050 */ jal func_80240140 +/* 948938 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* 94893C 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 948940 80240290 0200282D */ daddu $a1, $s0, $zero +/* 948944 80240294 0C019D80 */ jal guMtxCatF +/* 948948 80240298 0200302D */ daddu $a2, $s0, $zero +/* 94894C 8024029C 27A40010 */ addiu $a0, $sp, 0x10 +/* 948950 802402A0 4600B587 */ neg.s $f22, $f22 +/* 948954 802402A4 4405A000 */ mfc1 $a1, $f20 +/* 948958 802402A8 4406B000 */ mfc1 $a2, $f22 +/* 94895C 802402AC 0C019E40 */ jal guTranslateF +/* 948960 802402B0 00A0382D */ daddu $a3, $a1, $zero +/* 948964 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 948968 802402B8 0200282D */ daddu $a1, $s0, $zero +/* 94896C 802402BC 0C019D80 */ jal guMtxCatF +/* 948970 802402C0 00A0302D */ daddu $a2, $a1, $zero +/* 948974 802402C4 96220000 */ lhu $v0, ($s1) +/* 948978 802402C8 34421400 */ ori $v0, $v0, 0x1400 +/* 94897C 802402CC 080900D3 */ j .L8024034C +/* 948980 802402D0 A6220000 */ sh $v0, ($s1) +.L802402D4: +/* 948984 802402D4 4480A000 */ mtc1 $zero, $f20 +/* 948988 802402D8 4406B000 */ mfc1 $a2, $f22 +/* 94898C 802402DC 4405A000 */ mfc1 $a1, $f20 +/* 948990 802402E0 4407A000 */ mfc1 $a3, $f20 +/* 948994 802402E4 0C019E40 */ jal guTranslateF +/* 948998 802402E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 94899C 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 9489A0 802402F0 26300058 */ addiu $s0, $s1, 0x58 +/* 9489A4 802402F4 0200282D */ daddu $a1, $s0, $zero +/* 9489A8 802402F8 0C019D80 */ jal guMtxCatF +/* 9489AC 802402FC 0200302D */ daddu $a2, $s0, $zero +/* 9489B0 80240300 4405E000 */ mfc1 $a1, $f28 +/* 9489B4 80240304 4406D000 */ mfc1 $a2, $f26 +/* 9489B8 80240308 4407C000 */ mfc1 $a3, $f24 +/* 9489BC 8024030C 0C090050 */ jal func_80240140 +/* 9489C0 80240310 27A40010 */ addiu $a0, $sp, 0x10 +/* 9489C4 80240314 27A40010 */ addiu $a0, $sp, 0x10 +/* 9489C8 80240318 0200282D */ daddu $a1, $s0, $zero +/* 9489CC 8024031C 0C019D80 */ jal guMtxCatF +/* 9489D0 80240320 0200302D */ daddu $a2, $s0, $zero +/* 9489D4 80240324 27A40010 */ addiu $a0, $sp, 0x10 +/* 9489D8 80240328 4600B587 */ neg.s $f22, $f22 +/* 9489DC 8024032C 4405A000 */ mfc1 $a1, $f20 +/* 9489E0 80240330 4406B000 */ mfc1 $a2, $f22 +/* 9489E4 80240334 0C019E40 */ jal guTranslateF +/* 9489E8 80240338 00A0382D */ daddu $a3, $a1, $zero +/* 9489EC 8024033C 27A40010 */ addiu $a0, $sp, 0x10 +/* 9489F0 80240340 0200282D */ daddu $a1, $s0, $zero +/* 9489F4 80240344 0C019D80 */ jal guMtxCatF +/* 9489F8 80240348 00A0302D */ daddu $a2, $a1, $zero +.L8024034C: +/* 9489FC 8024034C 8FBF005C */ lw $ra, 0x5c($sp) +/* 948A00 80240350 8FB20058 */ lw $s2, 0x58($sp) +/* 948A04 80240354 8FB10054 */ lw $s1, 0x54($sp) +/* 948A08 80240358 8FB00050 */ lw $s0, 0x50($sp) +/* 948A0C 8024035C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 948A10 80240360 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 948A14 80240364 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 948A18 80240368 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 948A1C 8024036C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 948A20 80240370 24020002 */ addiu $v0, $zero, 2 +/* 948A24 80240374 03E00008 */ jr $ra +/* 948A28 80240378 27BD0088 */ addiu $sp, $sp, 0x88 +/* 948A2C 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_36/func_80240000_949E60.s b/asm/nonmatchings/world/area_sbk/sbk_36/func_80240000_949E60.s new file mode 100644 index 0000000000..df7250ebde --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_36/func_80240000_949E60.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_949E60 +/* 949E60 80240000 44800000 */ mtc1 $zero, $f0 +/* 949E64 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 949E68 80240008 44050000 */ mfc1 $a1, $f0 +/* 949E6C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 949E70 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 949E74 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 949E78 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 949E7C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 949E80 80240020 0C01CA54 */ jal func_80072950 +/* 949E84 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 949E88 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 949E8C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 949E90 80240030 03E00008 */ jr $ra +/* 949E94 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 949E98 80240038 00000000 */ nop +/* 949E9C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_36/func_80240040_949E60.s b/asm/nonmatchings/world/area_sbk/sbk_36/func_80240040_949E60.s new file mode 100644 index 0000000000..a97f4e130d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_36/func_80240040_949E60.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_949EA0 +/* 949EA0 80240040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 949EA4 80240044 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 949EA8 80240048 4485A000 */ mtc1 $a1, $f20 +/* 949EAC 8024004C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 949EB0 80240050 4486B000 */ mtc1 $a2, $f22 +/* 949EB4 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 949EB8 80240058 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 949EBC 8024005C 4487C000 */ mtc1 $a3, $f24 +/* 949EC0 80240060 AFBF0014 */ sw $ra, 0x14($sp) +/* 949EC4 80240064 0C019D28 */ jal guMtxIdentF +/* 949EC8 80240068 0080802D */ daddu $s0, $a0, $zero +/* 949ECC 8024006C 4616A582 */ mul.s $f22, $f20, $f22 +/* 949ED0 80240070 00000000 */ nop +/* 949ED4 80240074 4618A502 */ mul.s $f20, $f20, $f24 +/* 949ED8 80240078 00000000 */ nop +/* 949EDC 8024007C 3C013F80 */ lui $at, 0x3f80 +/* 949EE0 80240080 44810000 */ mtc1 $at, $f0 +/* 949EE4 80240084 00000000 */ nop +/* 949EE8 80240088 E6000014 */ swc1 $f0, 0x14($s0) +/* 949EEC 8024008C E6160010 */ swc1 $f22, 0x10($s0) +/* 949EF0 80240090 E6140018 */ swc1 $f20, 0x18($s0) +/* 949EF4 80240094 8FBF0014 */ lw $ra, 0x14($sp) +/* 949EF8 80240098 8FB00010 */ lw $s0, 0x10($sp) +/* 949EFC 8024009C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 949F00 802400A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 949F04 802400A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 949F08 802400A8 03E00008 */ jr $ra +/* 949F0C 802400AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_36/func_802400B0_949E60.s b/asm/nonmatchings/world/area_sbk/sbk_36/func_802400B0_949E60.s new file mode 100644 index 0000000000..7c0f97f9d7 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_36/func_802400B0_949E60.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400B0_949F10 +/* 949F10 802400B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 949F14 802400B4 AFB10054 */ sw $s1, 0x54($sp) +/* 949F18 802400B8 0080882D */ daddu $s1, $a0, $zero +/* 949F1C 802400BC AFBF005C */ sw $ra, 0x5c($sp) +/* 949F20 802400C0 AFB20058 */ sw $s2, 0x58($sp) +/* 949F24 802400C4 AFB00050 */ sw $s0, 0x50($sp) +/* 949F28 802400C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 949F2C 802400CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 949F30 802400D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 949F34 802400D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 949F38 802400D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 949F3C 802400DC 8E30000C */ lw $s0, 0xc($s1) +/* 949F40 802400E0 8E050000 */ lw $a1, ($s0) +/* 949F44 802400E4 0C0B1EAF */ jal get_variable +/* 949F48 802400E8 26100004 */ addiu $s0, $s0, 4 +/* 949F4C 802400EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 949F50 802400F0 0040202D */ daddu $a0, $v0, $zero +/* 949F54 802400F4 8E050000 */ lw $a1, ($s0) +/* 949F58 802400F8 26100004 */ addiu $s0, $s0, 4 +/* 949F5C 802400FC 0220202D */ daddu $a0, $s1, $zero +/* 949F60 80240100 0C0B210B */ jal get_float_variable +/* 949F64 80240104 0040902D */ daddu $s2, $v0, $zero +/* 949F68 80240108 8E050000 */ lw $a1, ($s0) +/* 949F6C 8024010C 26100004 */ addiu $s0, $s0, 4 +/* 949F70 80240110 0220202D */ daddu $a0, $s1, $zero +/* 949F74 80240114 0C0B210B */ jal get_float_variable +/* 949F78 80240118 46000706 */ mov.s $f28, $f0 +/* 949F7C 8024011C 8E050000 */ lw $a1, ($s0) +/* 949F80 80240120 26100004 */ addiu $s0, $s0, 4 +/* 949F84 80240124 0220202D */ daddu $a0, $s1, $zero +/* 949F88 80240128 0C0B210B */ jal get_float_variable +/* 949F8C 8024012C 46000686 */ mov.s $f26, $f0 +/* 949F90 80240130 0220202D */ daddu $a0, $s1, $zero +/* 949F94 80240134 8E050000 */ lw $a1, ($s0) +/* 949F98 80240138 0C0B210B */ jal get_float_variable +/* 949F9C 8024013C 46000586 */ mov.s $f22, $f0 +/* 949FA0 80240140 0240202D */ daddu $a0, $s2, $zero +/* 949FA4 80240144 0C046B4C */ jal get_model_from_list_index +/* 949FA8 80240148 46000606 */ mov.s $f24, $f0 +/* 949FAC 8024014C 0040882D */ daddu $s1, $v0, $zero +/* 949FB0 80240150 96220000 */ lhu $v0, ($s1) +/* 949FB4 80240154 30420400 */ andi $v0, $v0, 0x400 +/* 949FB8 80240158 1440001E */ bnez $v0, .L802401D4 +/* 949FBC 8024015C 26300058 */ addiu $s0, $s1, 0x58 +/* 949FC0 80240160 4480A000 */ mtc1 $zero, $f20 +/* 949FC4 80240164 4406B000 */ mfc1 $a2, $f22 +/* 949FC8 80240168 4405A000 */ mfc1 $a1, $f20 +/* 949FCC 8024016C 4407A000 */ mfc1 $a3, $f20 +/* 949FD0 80240170 0C019E40 */ jal guTranslateF +/* 949FD4 80240174 0200202D */ daddu $a0, $s0, $zero +/* 949FD8 80240178 4405E000 */ mfc1 $a1, $f28 +/* 949FDC 8024017C 4406D000 */ mfc1 $a2, $f26 +/* 949FE0 80240180 4407C000 */ mfc1 $a3, $f24 +/* 949FE4 80240184 0C090010 */ jal func_80240040 +/* 949FE8 80240188 27A40010 */ addiu $a0, $sp, 0x10 +/* 949FEC 8024018C 27A40010 */ addiu $a0, $sp, 0x10 +/* 949FF0 80240190 0200282D */ daddu $a1, $s0, $zero +/* 949FF4 80240194 0C019D80 */ jal guMtxCatF +/* 949FF8 80240198 0200302D */ daddu $a2, $s0, $zero +/* 949FFC 8024019C 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A000 802401A0 4600B587 */ neg.s $f22, $f22 +/* 94A004 802401A4 4405A000 */ mfc1 $a1, $f20 +/* 94A008 802401A8 4406B000 */ mfc1 $a2, $f22 +/* 94A00C 802401AC 0C019E40 */ jal guTranslateF +/* 94A010 802401B0 00A0382D */ daddu $a3, $a1, $zero +/* 94A014 802401B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A018 802401B8 0200282D */ daddu $a1, $s0, $zero +/* 94A01C 802401BC 0C019D80 */ jal guMtxCatF +/* 94A020 802401C0 00A0302D */ daddu $a2, $a1, $zero +/* 94A024 802401C4 96220000 */ lhu $v0, ($s1) +/* 94A028 802401C8 34421400 */ ori $v0, $v0, 0x1400 +/* 94A02C 802401CC 08090093 */ j .L8024024C +/* 94A030 802401D0 A6220000 */ sh $v0, ($s1) +.L802401D4: +/* 94A034 802401D4 4480A000 */ mtc1 $zero, $f20 +/* 94A038 802401D8 4406B000 */ mfc1 $a2, $f22 +/* 94A03C 802401DC 4405A000 */ mfc1 $a1, $f20 +/* 94A040 802401E0 4407A000 */ mfc1 $a3, $f20 +/* 94A044 802401E4 0C019E40 */ jal guTranslateF +/* 94A048 802401E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A04C 802401EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A050 802401F0 26300058 */ addiu $s0, $s1, 0x58 +/* 94A054 802401F4 0200282D */ daddu $a1, $s0, $zero +/* 94A058 802401F8 0C019D80 */ jal guMtxCatF +/* 94A05C 802401FC 0200302D */ daddu $a2, $s0, $zero +/* 94A060 80240200 4405E000 */ mfc1 $a1, $f28 +/* 94A064 80240204 4406D000 */ mfc1 $a2, $f26 +/* 94A068 80240208 4407C000 */ mfc1 $a3, $f24 +/* 94A06C 8024020C 0C090010 */ jal func_80240040 +/* 94A070 80240210 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A074 80240214 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A078 80240218 0200282D */ daddu $a1, $s0, $zero +/* 94A07C 8024021C 0C019D80 */ jal guMtxCatF +/* 94A080 80240220 0200302D */ daddu $a2, $s0, $zero +/* 94A084 80240224 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A088 80240228 4600B587 */ neg.s $f22, $f22 +/* 94A08C 8024022C 4405A000 */ mfc1 $a1, $f20 +/* 94A090 80240230 4406B000 */ mfc1 $a2, $f22 +/* 94A094 80240234 0C019E40 */ jal guTranslateF +/* 94A098 80240238 00A0382D */ daddu $a3, $a1, $zero +/* 94A09C 8024023C 27A40010 */ addiu $a0, $sp, 0x10 +/* 94A0A0 80240240 0200282D */ daddu $a1, $s0, $zero +/* 94A0A4 80240244 0C019D80 */ jal guMtxCatF +/* 94A0A8 80240248 00A0302D */ daddu $a2, $a1, $zero +.L8024024C: +/* 94A0AC 8024024C 8FBF005C */ lw $ra, 0x5c($sp) +/* 94A0B0 80240250 8FB20058 */ lw $s2, 0x58($sp) +/* 94A0B4 80240254 8FB10054 */ lw $s1, 0x54($sp) +/* 94A0B8 80240258 8FB00050 */ lw $s0, 0x50($sp) +/* 94A0BC 8024025C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 94A0C0 80240260 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 94A0C4 80240264 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 94A0C8 80240268 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 94A0CC 8024026C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 94A0D0 80240270 24020002 */ addiu $v0, $zero, 2 +/* 94A0D4 80240274 03E00008 */ jr $ra +/* 94A0D8 80240278 27BD0088 */ addiu $sp, $sp, 0x88 +/* 94A0DC 8024027C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_40/func_80240000_94B3A0.s b/asm/nonmatchings/world/area_sbk/sbk_40/func_80240000_94B3A0.s new file mode 100644 index 0000000000..c3d57c6c80 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_40/func_80240000_94B3A0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94B3A0 +/* 94B3A0 80240000 44800000 */ mtc1 $zero, $f0 +/* 94B3A4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94B3A8 80240008 44050000 */ mfc1 $a1, $f0 +/* 94B3AC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94B3B0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94B3B4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94B3B8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94B3BC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94B3C0 80240020 0C01CA54 */ jal func_80072950 +/* 94B3C4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94B3C8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94B3CC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94B3D0 80240030 03E00008 */ jr $ra +/* 94B3D4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94B3D8 80240038 00000000 */ nop +/* 94B3DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_40/func_80240040_94B3A0.s b/asm/nonmatchings/world/area_sbk/sbk_40/func_80240040_94B3A0.s new file mode 100644 index 0000000000..303f6a16c2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_40/func_80240040_94B3A0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_94B3E0 +/* 94B3E0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 94B3E4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 94B3E8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 94B3EC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 94B3F0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 94B3F4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 94B3F8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94B3FC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 94B400 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 94B404 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 94B408 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94B40C 8024006C 8E050000 */ lw $a1, ($s0) +/* 94B410 80240070 0C0B1EAF */ jal get_variable +/* 94B414 80240074 26100004 */ addiu $s0, $s0, 4 +/* 94B418 80240078 8E050000 */ lw $a1, ($s0) +/* 94B41C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 94B420 80240080 0260202D */ daddu $a0, $s3, $zero +/* 94B424 80240084 0C0B1EAF */ jal get_variable +/* 94B428 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94B42C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 94B430 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 94B434 80240094 8E120000 */ lw $s2, ($s0) +/* 94B438 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94B43C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 94B440 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 94B444 802400A4 08090030 */ j .L802400C0 +/* 94B448 802400A8 00000000 */ nop +.L802400AC: +/* 94B44C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 94B450 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 94B454 802400B4 14400005 */ bnez $v0, .L802400CC +/* 94B458 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 94B45C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 94B460 802400C0 0C00EABB */ jal get_npc_unsafe +/* 94B464 802400C4 00000000 */ nop +/* 94B468 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 94B46C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 94B470 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 94B474 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 94B478 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 94B47C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 94B480 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 94B484 802400E4 0C0B1EAF */ jal get_variable +/* 94B488 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 94B48C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 94B490 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 94B494 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 94B498 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 94B49C 802400FC 44810000 */ mtc1 $at, $f0 +/* 94B4A0 80240100 00000000 */ nop +/* 94B4A4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 94B4A8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 94B4AC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 94B4B0 80240110 44061000 */ mfc1 $a2, $f2 +/* 94B4B4 80240114 0C04D083 */ jal set_item_entity_position +/* 94B4B8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 94B4BC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 94B4C0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 94B4C4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 94B4C8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 94B4CC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 94B4D0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 94B4D4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 94B4D8 80240138 03E00008 */ jr $ra +/* 94B4DC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_41/func_80240000_94C040.s b/asm/nonmatchings/world/area_sbk/sbk_41/func_80240000_94C040.s new file mode 100644 index 0000000000..37f96a827c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_41/func_80240000_94C040.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94C040 +/* 94C040 80240000 44800000 */ mtc1 $zero, $f0 +/* 94C044 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94C048 80240008 44050000 */ mfc1 $a1, $f0 +/* 94C04C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94C050 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94C054 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94C058 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94C05C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94C060 80240020 0C01CA54 */ jal func_80072950 +/* 94C064 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94C068 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94C06C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94C070 80240030 03E00008 */ jr $ra +/* 94C074 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94C078 80240038 00000000 */ nop +/* 94C07C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_42/func_80240000_94C510.s b/asm/nonmatchings/world/area_sbk/sbk_42/func_80240000_94C510.s new file mode 100644 index 0000000000..616665d977 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_42/func_80240000_94C510.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94C510 +/* 94C510 80240000 44800000 */ mtc1 $zero, $f0 +/* 94C514 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94C518 80240008 44050000 */ mfc1 $a1, $f0 +/* 94C51C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94C520 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94C524 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94C528 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94C52C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94C530 80240020 0C01CA54 */ jal func_80072950 +/* 94C534 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94C538 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94C53C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94C540 80240030 03E00008 */ jr $ra +/* 94C544 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94C548 80240038 00000000 */ nop +/* 94C54C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_42/func_80240040_94C510.s b/asm/nonmatchings/world/area_sbk/sbk_42/func_80240040_94C510.s new file mode 100644 index 0000000000..b50f087497 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_42/func_80240040_94C510.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_94C550 +/* 94C550 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 94C554 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 94C558 80240048 0080982D */ daddu $s3, $a0, $zero +/* 94C55C 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 94C560 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 94C564 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 94C568 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94C56C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 94C570 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 94C574 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 94C578 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94C57C 8024006C 8E050000 */ lw $a1, ($s0) +/* 94C580 80240070 0C0B1EAF */ jal get_variable +/* 94C584 80240074 26100004 */ addiu $s0, $s0, 4 +/* 94C588 80240078 8E050000 */ lw $a1, ($s0) +/* 94C58C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 94C590 80240080 0260202D */ daddu $a0, $s3, $zero +/* 94C594 80240084 0C0B1EAF */ jal get_variable +/* 94C598 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94C59C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 94C5A0 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 94C5A4 80240094 8E120000 */ lw $s2, ($s0) +/* 94C5A8 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94C5AC 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 94C5B0 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 94C5B4 802400A4 08090030 */ j .L802400C0 +/* 94C5B8 802400A8 00000000 */ nop +.L802400AC: +/* 94C5BC 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 94C5C0 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 94C5C4 802400B4 14400005 */ bnez $v0, .L802400CC +/* 94C5C8 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 94C5CC 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 94C5D0 802400C0 0C00EABB */ jal get_npc_unsafe +/* 94C5D4 802400C4 00000000 */ nop +/* 94C5D8 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 94C5DC 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 94C5E0 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 94C5E4 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 94C5E8 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 94C5EC 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 94C5F0 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 94C5F4 802400E4 0C0B1EAF */ jal get_variable +/* 94C5F8 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 94C5FC 802400EC 1040000C */ beqz $v0, .L80240120 +/* 94C600 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 94C604 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 94C608 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 94C60C 802400FC 44810000 */ mtc1 $at, $f0 +/* 94C610 80240100 00000000 */ nop +/* 94C614 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 94C618 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 94C61C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 94C620 80240110 44061000 */ mfc1 $a2, $f2 +/* 94C624 80240114 0C04D083 */ jal set_item_entity_position +/* 94C628 80240118 0280202D */ daddu $a0, $s4, $zero +/* 94C62C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 94C630 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 94C634 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 94C638 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 94C63C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 94C640 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 94C644 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 94C648 80240138 03E00008 */ jr $ra +/* 94C64C 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_43/func_80240000_94D170.s b/asm/nonmatchings/world/area_sbk/sbk_43/func_80240000_94D170.s new file mode 100644 index 0000000000..46512046e0 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_43/func_80240000_94D170.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94D170 +/* 94D170 80240000 44800000 */ mtc1 $zero, $f0 +/* 94D174 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94D178 80240008 44050000 */ mfc1 $a1, $f0 +/* 94D17C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94D180 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94D184 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94D188 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94D18C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94D190 80240020 0C01CA54 */ jal func_80072950 +/* 94D194 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94D198 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94D19C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94D1A0 80240030 03E00008 */ jr $ra +/* 94D1A4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94D1A8 80240038 00000000 */ nop +/* 94D1AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_44/func_80240000_94D5A0.s b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240000_94D5A0.s new file mode 100644 index 0000000000..0b220f9c0c --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240000_94D5A0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94D5A0 +/* 94D5A0 80240000 44800000 */ mtc1 $zero, $f0 +/* 94D5A4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94D5A8 80240008 44050000 */ mfc1 $a1, $f0 +/* 94D5AC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94D5B0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94D5B4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94D5B8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94D5BC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94D5C0 80240020 0C01CA54 */ jal func_80072950 +/* 94D5C4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94D5C8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94D5CC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94D5D0 80240030 03E00008 */ jr $ra +/* 94D5D4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94D5D8 80240038 00000000 */ nop +/* 94D5DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_44/func_80240040_94D5A0.s b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240040_94D5A0.s new file mode 100644 index 0000000000..bbaaaeb5f4 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240040_94D5A0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_94D5E0 +/* 94D5E0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 94D5E4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 94D5E8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 94D5EC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 94D5F0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 94D5F4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 94D5F8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94D5FC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 94D600 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 94D604 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 94D608 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94D60C 8024006C 8E050000 */ lw $a1, ($s0) +/* 94D610 80240070 0C0B1EAF */ jal get_variable +/* 94D614 80240074 26100004 */ addiu $s0, $s0, 4 +/* 94D618 80240078 8E050000 */ lw $a1, ($s0) +/* 94D61C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 94D620 80240080 0260202D */ daddu $a0, $s3, $zero +/* 94D624 80240084 0C0B1EAF */ jal get_variable +/* 94D628 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94D62C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 94D630 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 94D634 80240094 8E120000 */ lw $s2, ($s0) +/* 94D638 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94D63C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 94D640 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 94D644 802400A4 08090030 */ j .L802400C0 +/* 94D648 802400A8 00000000 */ nop +.L802400AC: +/* 94D64C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 94D650 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 94D654 802400B4 14400005 */ bnez $v0, .L802400CC +/* 94D658 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 94D65C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 94D660 802400C0 0C00EABB */ jal get_npc_unsafe +/* 94D664 802400C4 00000000 */ nop +/* 94D668 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 94D66C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 94D670 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 94D674 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 94D678 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 94D67C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 94D680 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 94D684 802400E4 0C0B1EAF */ jal get_variable +/* 94D688 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 94D68C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 94D690 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 94D694 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 94D698 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 94D69C 802400FC 44810000 */ mtc1 $at, $f0 +/* 94D6A0 80240100 00000000 */ nop +/* 94D6A4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 94D6A8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 94D6AC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 94D6B0 80240110 44061000 */ mfc1 $a2, $f2 +/* 94D6B4 80240114 0C04D083 */ jal set_item_entity_position +/* 94D6B8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 94D6BC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 94D6C0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 94D6C4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 94D6C8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 94D6CC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 94D6D0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 94D6D4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 94D6D8 80240138 03E00008 */ jr $ra +/* 94D6DC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_44/func_80240140_94D5A0.s b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240140_94D5A0.s new file mode 100644 index 0000000000..b9b1a7202e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_44/func_80240140_94D5A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_94D6E0 +/* 94D6E0 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 94D6E4 80240144 24020003 */ addiu $v0, $zero, 3 +/* 94D6E8 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 94D6EC 8024014C 03E00008 */ jr $ra +/* 94D6F0 80240150 24020002 */ addiu $v0, $zero, 2 +/* 94D6F4 80240154 00000000 */ nop +/* 94D6F8 80240158 00000000 */ nop +/* 94D6FC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_45/func_80240000_94E4A0.s b/asm/nonmatchings/world/area_sbk/sbk_45/func_80240000_94E4A0.s new file mode 100644 index 0000000000..d21d2360ee --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_45/func_80240000_94E4A0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94E4A0 +/* 94E4A0 80240000 44800000 */ mtc1 $zero, $f0 +/* 94E4A4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94E4A8 80240008 44050000 */ mfc1 $a1, $f0 +/* 94E4AC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94E4B0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94E4B4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94E4B8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94E4BC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94E4C0 80240020 0C01CA54 */ jal func_80072950 +/* 94E4C4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94E4C8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94E4CC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94E4D0 80240030 03E00008 */ jr $ra +/* 94E4D4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94E4D8 80240038 00000000 */ nop +/* 94E4DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_46/func_80240000_94E9A0.s b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240000_94E9A0.s new file mode 100644 index 0000000000..e37b366769 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240000_94E9A0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_94E9A0 +/* 94E9A0 80240000 44800000 */ mtc1 $zero, $f0 +/* 94E9A4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 94E9A8 80240008 44050000 */ mfc1 $a1, $f0 +/* 94E9AC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 94E9B0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 94E9B4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 94E9B8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 94E9BC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 94E9C0 80240020 0C01CA54 */ jal func_80072950 +/* 94E9C4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 94E9C8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 94E9CC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 94E9D0 80240030 03E00008 */ jr $ra +/* 94E9D4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 94E9D8 80240038 00000000 */ nop +/* 94E9DC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_46/func_80240040_94E9A0.s b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240040_94E9A0.s new file mode 100644 index 0000000000..5a3b9839cd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240040_94E9A0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_94E9E0 +/* 94E9E0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 94E9E4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 94E9E8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 94E9EC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 94E9F0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 94E9F4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 94E9F8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 94E9FC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 94EA00 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 94EA04 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 94EA08 80240068 0260202D */ daddu $a0, $s3, $zero +/* 94EA0C 8024006C 8E050000 */ lw $a1, ($s0) +/* 94EA10 80240070 0C0B1EAF */ jal get_variable +/* 94EA14 80240074 26100004 */ addiu $s0, $s0, 4 +/* 94EA18 80240078 8E050000 */ lw $a1, ($s0) +/* 94EA1C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 94EA20 80240080 0260202D */ daddu $a0, $s3, $zero +/* 94EA24 80240084 0C0B1EAF */ jal get_variable +/* 94EA28 80240088 0040882D */ daddu $s1, $v0, $zero +/* 94EA2C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 94EA30 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 94EA34 80240094 8E120000 */ lw $s2, ($s0) +/* 94EA38 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 94EA3C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 94EA40 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 94EA44 802400A4 08090030 */ j .L802400C0 +/* 94EA48 802400A8 00000000 */ nop +.L802400AC: +/* 94EA4C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 94EA50 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 94EA54 802400B4 14400005 */ bnez $v0, .L802400CC +/* 94EA58 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 94EA5C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 94EA60 802400C0 0C00EABB */ jal get_npc_unsafe +/* 94EA64 802400C4 00000000 */ nop +/* 94EA68 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 94EA6C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 94EA70 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 94EA74 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 94EA78 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 94EA7C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 94EA80 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 94EA84 802400E4 0C0B1EAF */ jal get_variable +/* 94EA88 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 94EA8C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 94EA90 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 94EA94 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 94EA98 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 94EA9C 802400FC 44810000 */ mtc1 $at, $f0 +/* 94EAA0 80240100 00000000 */ nop +/* 94EAA4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 94EAA8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 94EAAC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 94EAB0 80240110 44061000 */ mfc1 $a2, $f2 +/* 94EAB4 80240114 0C04D083 */ jal set_item_entity_position +/* 94EAB8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 94EABC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 94EAC0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 94EAC4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 94EAC8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 94EACC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 94EAD0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 94EAD4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 94EAD8 80240138 03E00008 */ jr $ra +/* 94EADC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_46/func_80240140_94E9A0.s b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240140_94E9A0.s new file mode 100644 index 0000000000..4c445e0827 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240140_94E9A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_94EAE0 +/* 94EAE0 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 94EAE4 80240144 24020003 */ addiu $v0, $zero, 3 +/* 94EAE8 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 94EAEC 8024014C 03E00008 */ jr $ra +/* 94EAF0 80240150 24020002 */ addiu $v0, $zero, 2 +/* 94EAF4 80240154 00000000 */ nop +/* 94EAF8 80240158 00000000 */ nop +/* 94EAFC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_46/func_80240160_94E9A0.s b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240160_94E9A0.s new file mode 100644 index 0000000000..1dee4f5f26 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_46/func_80240160_94E9A0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240160_94EB00 +/* 94EB00 80240160 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 94EB04 80240164 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 94EB08 80240168 4485A000 */ mtc1 $a1, $f20 +/* 94EB0C 8024016C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 94EB10 80240170 4486B000 */ mtc1 $a2, $f22 +/* 94EB14 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* 94EB18 80240178 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 94EB1C 8024017C 4487C000 */ mtc1 $a3, $f24 +/* 94EB20 80240180 AFBF0014 */ sw $ra, 0x14($sp) +/* 94EB24 80240184 0C019D28 */ jal guMtxIdentF +/* 94EB28 80240188 0080802D */ daddu $s0, $a0, $zero +/* 94EB2C 8024018C 4616A582 */ mul.s $f22, $f20, $f22 +/* 94EB30 80240190 00000000 */ nop +/* 94EB34 80240194 4618A502 */ mul.s $f20, $f20, $f24 +/* 94EB38 80240198 00000000 */ nop +/* 94EB3C 8024019C 3C013F80 */ lui $at, 0x3f80 +/* 94EB40 802401A0 44810000 */ mtc1 $at, $f0 +/* 94EB44 802401A4 00000000 */ nop +/* 94EB48 802401A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 94EB4C 802401AC E6160010 */ swc1 $f22, 0x10($s0) +/* 94EB50 802401B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 94EB54 802401B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 94EB58 802401B8 8FB00010 */ lw $s0, 0x10($sp) +/* 94EB5C 802401BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 94EB60 802401C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 94EB64 802401C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 94EB68 802401C8 03E00008 */ jr $ra +/* 94EB6C 802401CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_46/func_802401D0_94E9A0.s b/asm/nonmatchings/world/area_sbk/sbk_46/func_802401D0_94E9A0.s new file mode 100644 index 0000000000..ccb23ae0de --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_46/func_802401D0_94E9A0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_94EB70 +/* 94EB70 802401D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 94EB74 802401D4 AFB10054 */ sw $s1, 0x54($sp) +/* 94EB78 802401D8 0080882D */ daddu $s1, $a0, $zero +/* 94EB7C 802401DC AFBF005C */ sw $ra, 0x5c($sp) +/* 94EB80 802401E0 AFB20058 */ sw $s2, 0x58($sp) +/* 94EB84 802401E4 AFB00050 */ sw $s0, 0x50($sp) +/* 94EB88 802401E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 94EB8C 802401EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 94EB90 802401F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 94EB94 802401F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 94EB98 802401F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 94EB9C 802401FC 8E30000C */ lw $s0, 0xc($s1) +/* 94EBA0 80240200 8E050000 */ lw $a1, ($s0) +/* 94EBA4 80240204 0C0B1EAF */ jal get_variable +/* 94EBA8 80240208 26100004 */ addiu $s0, $s0, 4 +/* 94EBAC 8024020C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 94EBB0 80240210 0040202D */ daddu $a0, $v0, $zero +/* 94EBB4 80240214 8E050000 */ lw $a1, ($s0) +/* 94EBB8 80240218 26100004 */ addiu $s0, $s0, 4 +/* 94EBBC 8024021C 0220202D */ daddu $a0, $s1, $zero +/* 94EBC0 80240220 0C0B210B */ jal get_float_variable +/* 94EBC4 80240224 0040902D */ daddu $s2, $v0, $zero +/* 94EBC8 80240228 8E050000 */ lw $a1, ($s0) +/* 94EBCC 8024022C 26100004 */ addiu $s0, $s0, 4 +/* 94EBD0 80240230 0220202D */ daddu $a0, $s1, $zero +/* 94EBD4 80240234 0C0B210B */ jal get_float_variable +/* 94EBD8 80240238 46000706 */ mov.s $f28, $f0 +/* 94EBDC 8024023C 8E050000 */ lw $a1, ($s0) +/* 94EBE0 80240240 26100004 */ addiu $s0, $s0, 4 +/* 94EBE4 80240244 0220202D */ daddu $a0, $s1, $zero +/* 94EBE8 80240248 0C0B210B */ jal get_float_variable +/* 94EBEC 8024024C 46000686 */ mov.s $f26, $f0 +/* 94EBF0 80240250 0220202D */ daddu $a0, $s1, $zero +/* 94EBF4 80240254 8E050000 */ lw $a1, ($s0) +/* 94EBF8 80240258 0C0B210B */ jal get_float_variable +/* 94EBFC 8024025C 46000586 */ mov.s $f22, $f0 +/* 94EC00 80240260 0240202D */ daddu $a0, $s2, $zero +/* 94EC04 80240264 0C046B4C */ jal get_model_from_list_index +/* 94EC08 80240268 46000606 */ mov.s $f24, $f0 +/* 94EC0C 8024026C 0040882D */ daddu $s1, $v0, $zero +/* 94EC10 80240270 96220000 */ lhu $v0, ($s1) +/* 94EC14 80240274 30420400 */ andi $v0, $v0, 0x400 +/* 94EC18 80240278 1440001E */ bnez $v0, .L802402F4 +/* 94EC1C 8024027C 26300058 */ addiu $s0, $s1, 0x58 +/* 94EC20 80240280 4480A000 */ mtc1 $zero, $f20 +/* 94EC24 80240284 4406B000 */ mfc1 $a2, $f22 +/* 94EC28 80240288 4405A000 */ mfc1 $a1, $f20 +/* 94EC2C 8024028C 4407A000 */ mfc1 $a3, $f20 +/* 94EC30 80240290 0C019E40 */ jal guTranslateF +/* 94EC34 80240294 0200202D */ daddu $a0, $s0, $zero +/* 94EC38 80240298 4405E000 */ mfc1 $a1, $f28 +/* 94EC3C 8024029C 4406D000 */ mfc1 $a2, $f26 +/* 94EC40 802402A0 4407C000 */ mfc1 $a3, $f24 +/* 94EC44 802402A4 0C090058 */ jal func_80240160 +/* 94EC48 802402A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 94EC4C 802402AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 94EC50 802402B0 0200282D */ daddu $a1, $s0, $zero +/* 94EC54 802402B4 0C019D80 */ jal guMtxCatF +/* 94EC58 802402B8 0200302D */ daddu $a2, $s0, $zero +/* 94EC5C 802402BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 94EC60 802402C0 4600B587 */ neg.s $f22, $f22 +/* 94EC64 802402C4 4405A000 */ mfc1 $a1, $f20 +/* 94EC68 802402C8 4406B000 */ mfc1 $a2, $f22 +/* 94EC6C 802402CC 0C019E40 */ jal guTranslateF +/* 94EC70 802402D0 00A0382D */ daddu $a3, $a1, $zero +/* 94EC74 802402D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 94EC78 802402D8 0200282D */ daddu $a1, $s0, $zero +/* 94EC7C 802402DC 0C019D80 */ jal guMtxCatF +/* 94EC80 802402E0 00A0302D */ daddu $a2, $a1, $zero +/* 94EC84 802402E4 96220000 */ lhu $v0, ($s1) +/* 94EC88 802402E8 34421400 */ ori $v0, $v0, 0x1400 +/* 94EC8C 802402EC 080900DB */ j .L8024036C +/* 94EC90 802402F0 A6220000 */ sh $v0, ($s1) +.L802402F4: +/* 94EC94 802402F4 4480A000 */ mtc1 $zero, $f20 +/* 94EC98 802402F8 4406B000 */ mfc1 $a2, $f22 +/* 94EC9C 802402FC 4405A000 */ mfc1 $a1, $f20 +/* 94ECA0 80240300 4407A000 */ mfc1 $a3, $f20 +/* 94ECA4 80240304 0C019E40 */ jal guTranslateF +/* 94ECA8 80240308 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ECAC 8024030C 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ECB0 80240310 26300058 */ addiu $s0, $s1, 0x58 +/* 94ECB4 80240314 0200282D */ daddu $a1, $s0, $zero +/* 94ECB8 80240318 0C019D80 */ jal guMtxCatF +/* 94ECBC 8024031C 0200302D */ daddu $a2, $s0, $zero +/* 94ECC0 80240320 4405E000 */ mfc1 $a1, $f28 +/* 94ECC4 80240324 4406D000 */ mfc1 $a2, $f26 +/* 94ECC8 80240328 4407C000 */ mfc1 $a3, $f24 +/* 94ECCC 8024032C 0C090058 */ jal func_80240160 +/* 94ECD0 80240330 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ECD4 80240334 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ECD8 80240338 0200282D */ daddu $a1, $s0, $zero +/* 94ECDC 8024033C 0C019D80 */ jal guMtxCatF +/* 94ECE0 80240340 0200302D */ daddu $a2, $s0, $zero +/* 94ECE4 80240344 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ECE8 80240348 4600B587 */ neg.s $f22, $f22 +/* 94ECEC 8024034C 4405A000 */ mfc1 $a1, $f20 +/* 94ECF0 80240350 4406B000 */ mfc1 $a2, $f22 +/* 94ECF4 80240354 0C019E40 */ jal guTranslateF +/* 94ECF8 80240358 00A0382D */ daddu $a3, $a1, $zero +/* 94ECFC 8024035C 27A40010 */ addiu $a0, $sp, 0x10 +/* 94ED00 80240360 0200282D */ daddu $a1, $s0, $zero +/* 94ED04 80240364 0C019D80 */ jal guMtxCatF +/* 94ED08 80240368 00A0302D */ daddu $a2, $a1, $zero +.L8024036C: +/* 94ED0C 8024036C 8FBF005C */ lw $ra, 0x5c($sp) +/* 94ED10 80240370 8FB20058 */ lw $s2, 0x58($sp) +/* 94ED14 80240374 8FB10054 */ lw $s1, 0x54($sp) +/* 94ED18 80240378 8FB00050 */ lw $s0, 0x50($sp) +/* 94ED1C 8024037C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 94ED20 80240380 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 94ED24 80240384 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 94ED28 80240388 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 94ED2C 8024038C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 94ED30 80240390 24020002 */ addiu $v0, $zero, 2 +/* 94ED34 80240394 03E00008 */ jr $ra +/* 94ED38 80240398 27BD0088 */ addiu $sp, $sp, 0x88 +/* 94ED3C 8024039C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_50/func_80240000_950610.s b/asm/nonmatchings/world/area_sbk/sbk_50/func_80240000_950610.s new file mode 100644 index 0000000000..0c0def844b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_50/func_80240000_950610.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_950610 +/* 950610 80240000 44800000 */ mtc1 $zero, $f0 +/* 950614 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 950618 80240008 44050000 */ mfc1 $a1, $f0 +/* 95061C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 950620 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 950624 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 950628 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95062C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 950630 80240020 0C01CA54 */ jal func_80072950 +/* 950634 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 950638 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 95063C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 950640 80240030 03E00008 */ jr $ra +/* 950644 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 950648 80240038 00000000 */ nop +/* 95064C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_51/func_80240000_950970.s b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240000_950970.s new file mode 100644 index 0000000000..37d9eaa128 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240000_950970.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_950970 +/* 950970 80240000 44800000 */ mtc1 $zero, $f0 +/* 950974 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 950978 80240008 44050000 */ mfc1 $a1, $f0 +/* 95097C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 950980 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 950984 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 950988 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95098C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 950990 80240020 0C01CA54 */ jal func_80072950 +/* 950994 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 950998 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 95099C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9509A0 80240030 03E00008 */ jr $ra +/* 9509A4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9509A8 80240038 00000000 */ nop +/* 9509AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_51/func_80240040_950970.s b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240040_950970.s new file mode 100644 index 0000000000..17e2d1ac91 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240040_950970.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_9509B0 +/* 9509B0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9509B4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 9509B8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 9509BC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 9509C0 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 9509C4 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 9509C8 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 9509CC 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 9509D0 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 9509D4 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 9509D8 80240068 0260202D */ daddu $a0, $s3, $zero +/* 9509DC 8024006C 8E050000 */ lw $a1, ($s0) +/* 9509E0 80240070 0C0B1EAF */ jal get_variable +/* 9509E4 80240074 26100004 */ addiu $s0, $s0, 4 +/* 9509E8 80240078 8E050000 */ lw $a1, ($s0) +/* 9509EC 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 9509F0 80240080 0260202D */ daddu $a0, $s3, $zero +/* 9509F4 80240084 0C0B1EAF */ jal get_variable +/* 9509F8 80240088 0040882D */ daddu $s1, $v0, $zero +/* 9509FC 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 950A00 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 950A04 80240094 8E120000 */ lw $s2, ($s0) +/* 950A08 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 950A0C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 950A10 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 950A14 802400A4 08090030 */ j .L802400C0 +/* 950A18 802400A8 00000000 */ nop +.L802400AC: +/* 950A1C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 950A20 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 950A24 802400B4 14400005 */ bnez $v0, .L802400CC +/* 950A28 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 950A2C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 950A30 802400C0 0C00EABB */ jal get_npc_unsafe +/* 950A34 802400C4 00000000 */ nop +/* 950A38 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 950A3C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 950A40 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 950A44 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 950A48 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 950A4C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 950A50 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 950A54 802400E4 0C0B1EAF */ jal get_variable +/* 950A58 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 950A5C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 950A60 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 950A64 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 950A68 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 950A6C 802400FC 44810000 */ mtc1 $at, $f0 +/* 950A70 80240100 00000000 */ nop +/* 950A74 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 950A78 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 950A7C 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 950A80 80240110 44061000 */ mfc1 $a2, $f2 +/* 950A84 80240114 0C04D083 */ jal set_item_entity_position +/* 950A88 80240118 0280202D */ daddu $a0, $s4, $zero +/* 950A8C 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 950A90 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 950A94 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 950A98 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 950A9C 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 950AA0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 950AA4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 950AA8 80240138 03E00008 */ jr $ra +/* 950AAC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_51/func_80240140_950970.s b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240140_950970.s new file mode 100644 index 0000000000..ee37cba701 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_51/func_80240140_950970.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_950AB0 +/* 950AB0 80240140 8C830148 */ lw $v1, 0x148($a0) +/* 950AB4 80240144 24020003 */ addiu $v0, $zero, 3 +/* 950AB8 80240148 A06200B5 */ sb $v0, 0xb5($v1) +/* 950ABC 8024014C 03E00008 */ jr $ra +/* 950AC0 80240150 24020002 */ addiu $v0, $zero, 2 +/* 950AC4 80240154 00000000 */ nop +/* 950AC8 80240158 00000000 */ nop +/* 950ACC 8024015C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_52/func_80240000_951670.s b/asm/nonmatchings/world/area_sbk/sbk_52/func_80240000_951670.s new file mode 100644 index 0000000000..c2347e6d39 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_52/func_80240000_951670.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_951670 +/* 951670 80240000 44800000 */ mtc1 $zero, $f0 +/* 951674 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 951678 80240008 44050000 */ mfc1 $a1, $f0 +/* 95167C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 951680 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 951684 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 951688 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95168C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 951690 80240020 0C01CA54 */ jal func_80072950 +/* 951694 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 951698 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 95169C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9516A0 80240030 03E00008 */ jr $ra +/* 9516A4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9516A8 80240038 00000000 */ nop +/* 9516AC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_53/func_80240000_951AE0.s b/asm/nonmatchings/world/area_sbk/sbk_53/func_80240000_951AE0.s new file mode 100644 index 0000000000..4b63a989a5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_53/func_80240000_951AE0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_951AE0 +/* 951AE0 80240000 44800000 */ mtc1 $zero, $f0 +/* 951AE4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 951AE8 80240008 44050000 */ mfc1 $a1, $f0 +/* 951AEC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 951AF0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 951AF4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 951AF8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 951AFC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 951B00 80240020 0C01CA54 */ jal func_80072950 +/* 951B04 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 951B08 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 951B0C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 951B10 80240030 03E00008 */ jr $ra +/* 951B14 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 951B18 80240038 00000000 */ nop +/* 951B1C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_53/func_80240040_951AE0.s b/asm/nonmatchings/world/area_sbk/sbk_53/func_80240040_951AE0.s new file mode 100644 index 0000000000..288ebd20b3 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_53/func_80240040_951AE0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_951B20 +/* 951B20 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 951B24 80240044 24020003 */ addiu $v0, $zero, 3 +/* 951B28 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 951B2C 8024004C 03E00008 */ jr $ra +/* 951B30 80240050 24020002 */ addiu $v0, $zero, 2 +/* 951B34 80240054 00000000 */ nop +/* 951B38 80240058 00000000 */ nop +/* 951B3C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_54/func_80240000_952580.s b/asm/nonmatchings/world/area_sbk/sbk_54/func_80240000_952580.s new file mode 100644 index 0000000000..6112313a35 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_54/func_80240000_952580.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_952580 +/* 952580 80240000 44800000 */ mtc1 $zero, $f0 +/* 952584 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 952588 80240008 44050000 */ mfc1 $a1, $f0 +/* 95258C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 952590 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 952594 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 952598 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95259C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9525A0 80240020 0C01CA54 */ jal func_80072950 +/* 9525A4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9525A8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9525AC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9525B0 80240030 03E00008 */ jr $ra +/* 9525B4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9525B8 80240038 00000000 */ nop +/* 9525BC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_55/func_80240000_952A50.s b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240000_952A50.s new file mode 100644 index 0000000000..317b06c10f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240000_952A50.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_952A50 +/* 952A50 80240000 44800000 */ mtc1 $zero, $f0 +/* 952A54 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 952A58 80240008 44050000 */ mfc1 $a1, $f0 +/* 952A5C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 952A60 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 952A64 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 952A68 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 952A6C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 952A70 80240020 0C01CA54 */ jal func_80072950 +/* 952A74 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 952A78 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 952A7C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 952A80 80240030 03E00008 */ jr $ra +/* 952A84 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 952A88 80240038 00000000 */ nop +/* 952A8C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_55/func_80240040_952A50.s b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240040_952A50.s new file mode 100644 index 0000000000..f247f05408 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240040_952A50.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_952A90 +/* 952A90 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 952A94 80240044 24020003 */ addiu $v0, $zero, 3 +/* 952A98 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 952A9C 8024004C 03E00008 */ jr $ra +/* 952AA0 80240050 24020002 */ addiu $v0, $zero, 2 +/* 952AA4 80240054 00000000 */ nop +/* 952AA8 80240058 00000000 */ nop +/* 952AAC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_55/func_80240060_952A50.s b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240060_952A50.s new file mode 100644 index 0000000000..0ff63ffe71 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_55/func_80240060_952A50.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240060_952AB0 +/* 952AB0 80240060 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 952AB4 80240064 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 952AB8 80240068 4485A000 */ mtc1 $a1, $f20 +/* 952ABC 8024006C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 952AC0 80240070 4486B000 */ mtc1 $a2, $f22 +/* 952AC4 80240074 AFB00010 */ sw $s0, 0x10($sp) +/* 952AC8 80240078 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 952ACC 8024007C 4487C000 */ mtc1 $a3, $f24 +/* 952AD0 80240080 AFBF0014 */ sw $ra, 0x14($sp) +/* 952AD4 80240084 0C019D28 */ jal guMtxIdentF +/* 952AD8 80240088 0080802D */ daddu $s0, $a0, $zero +/* 952ADC 8024008C 4616A582 */ mul.s $f22, $f20, $f22 +/* 952AE0 80240090 00000000 */ nop +/* 952AE4 80240094 4618A502 */ mul.s $f20, $f20, $f24 +/* 952AE8 80240098 00000000 */ nop +/* 952AEC 8024009C 3C013F80 */ lui $at, 0x3f80 +/* 952AF0 802400A0 44810000 */ mtc1 $at, $f0 +/* 952AF4 802400A4 00000000 */ nop +/* 952AF8 802400A8 E6000014 */ swc1 $f0, 0x14($s0) +/* 952AFC 802400AC E6160010 */ swc1 $f22, 0x10($s0) +/* 952B00 802400B0 E6140018 */ swc1 $f20, 0x18($s0) +/* 952B04 802400B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 952B08 802400B8 8FB00010 */ lw $s0, 0x10($sp) +/* 952B0C 802400BC D7B80028 */ ldc1 $f24, 0x28($sp) +/* 952B10 802400C0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 952B14 802400C4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 952B18 802400C8 03E00008 */ jr $ra +/* 952B1C 802400CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_55/func_802400D0_952A50.s b/asm/nonmatchings/world/area_sbk/sbk_55/func_802400D0_952A50.s new file mode 100644 index 0000000000..732b28d54a --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_55/func_802400D0_952A50.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400D0_952B20 +/* 952B20 802400D0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 952B24 802400D4 AFB10054 */ sw $s1, 0x54($sp) +/* 952B28 802400D8 0080882D */ daddu $s1, $a0, $zero +/* 952B2C 802400DC AFBF005C */ sw $ra, 0x5c($sp) +/* 952B30 802400E0 AFB20058 */ sw $s2, 0x58($sp) +/* 952B34 802400E4 AFB00050 */ sw $s0, 0x50($sp) +/* 952B38 802400E8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 952B3C 802400EC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 952B40 802400F0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 952B44 802400F4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 952B48 802400F8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 952B4C 802400FC 8E30000C */ lw $s0, 0xc($s1) +/* 952B50 80240100 8E050000 */ lw $a1, ($s0) +/* 952B54 80240104 0C0B1EAF */ jal get_variable +/* 952B58 80240108 26100004 */ addiu $s0, $s0, 4 +/* 952B5C 8024010C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 952B60 80240110 0040202D */ daddu $a0, $v0, $zero +/* 952B64 80240114 8E050000 */ lw $a1, ($s0) +/* 952B68 80240118 26100004 */ addiu $s0, $s0, 4 +/* 952B6C 8024011C 0220202D */ daddu $a0, $s1, $zero +/* 952B70 80240120 0C0B210B */ jal get_float_variable +/* 952B74 80240124 0040902D */ daddu $s2, $v0, $zero +/* 952B78 80240128 8E050000 */ lw $a1, ($s0) +/* 952B7C 8024012C 26100004 */ addiu $s0, $s0, 4 +/* 952B80 80240130 0220202D */ daddu $a0, $s1, $zero +/* 952B84 80240134 0C0B210B */ jal get_float_variable +/* 952B88 80240138 46000706 */ mov.s $f28, $f0 +/* 952B8C 8024013C 8E050000 */ lw $a1, ($s0) +/* 952B90 80240140 26100004 */ addiu $s0, $s0, 4 +/* 952B94 80240144 0220202D */ daddu $a0, $s1, $zero +/* 952B98 80240148 0C0B210B */ jal get_float_variable +/* 952B9C 8024014C 46000686 */ mov.s $f26, $f0 +/* 952BA0 80240150 0220202D */ daddu $a0, $s1, $zero +/* 952BA4 80240154 8E050000 */ lw $a1, ($s0) +/* 952BA8 80240158 0C0B210B */ jal get_float_variable +/* 952BAC 8024015C 46000586 */ mov.s $f22, $f0 +/* 952BB0 80240160 0240202D */ daddu $a0, $s2, $zero +/* 952BB4 80240164 0C046B4C */ jal get_model_from_list_index +/* 952BB8 80240168 46000606 */ mov.s $f24, $f0 +/* 952BBC 8024016C 0040882D */ daddu $s1, $v0, $zero +/* 952BC0 80240170 96220000 */ lhu $v0, ($s1) +/* 952BC4 80240174 30420400 */ andi $v0, $v0, 0x400 +/* 952BC8 80240178 1440001E */ bnez $v0, .L802401F4 +/* 952BCC 8024017C 26300058 */ addiu $s0, $s1, 0x58 +/* 952BD0 80240180 4480A000 */ mtc1 $zero, $f20 +/* 952BD4 80240184 4406B000 */ mfc1 $a2, $f22 +/* 952BD8 80240188 4405A000 */ mfc1 $a1, $f20 +/* 952BDC 8024018C 4407A000 */ mfc1 $a3, $f20 +/* 952BE0 80240190 0C019E40 */ jal guTranslateF +/* 952BE4 80240194 0200202D */ daddu $a0, $s0, $zero +/* 952BE8 80240198 4405E000 */ mfc1 $a1, $f28 +/* 952BEC 8024019C 4406D000 */ mfc1 $a2, $f26 +/* 952BF0 802401A0 4407C000 */ mfc1 $a3, $f24 +/* 952BF4 802401A4 0C090018 */ jal func_80240060 +/* 952BF8 802401A8 27A40010 */ addiu $a0, $sp, 0x10 +/* 952BFC 802401AC 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C00 802401B0 0200282D */ daddu $a1, $s0, $zero +/* 952C04 802401B4 0C019D80 */ jal guMtxCatF +/* 952C08 802401B8 0200302D */ daddu $a2, $s0, $zero +/* 952C0C 802401BC 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C10 802401C0 4600B587 */ neg.s $f22, $f22 +/* 952C14 802401C4 4405A000 */ mfc1 $a1, $f20 +/* 952C18 802401C8 4406B000 */ mfc1 $a2, $f22 +/* 952C1C 802401CC 0C019E40 */ jal guTranslateF +/* 952C20 802401D0 00A0382D */ daddu $a3, $a1, $zero +/* 952C24 802401D4 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C28 802401D8 0200282D */ daddu $a1, $s0, $zero +/* 952C2C 802401DC 0C019D80 */ jal guMtxCatF +/* 952C30 802401E0 00A0302D */ daddu $a2, $a1, $zero +/* 952C34 802401E4 96220000 */ lhu $v0, ($s1) +/* 952C38 802401E8 34421400 */ ori $v0, $v0, 0x1400 +/* 952C3C 802401EC 0809009B */ j .L8024026C +/* 952C40 802401F0 A6220000 */ sh $v0, ($s1) +.L802401F4: +/* 952C44 802401F4 4480A000 */ mtc1 $zero, $f20 +/* 952C48 802401F8 4406B000 */ mfc1 $a2, $f22 +/* 952C4C 802401FC 4405A000 */ mfc1 $a1, $f20 +/* 952C50 80240200 4407A000 */ mfc1 $a3, $f20 +/* 952C54 80240204 0C019E40 */ jal guTranslateF +/* 952C58 80240208 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C5C 8024020C 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C60 80240210 26300058 */ addiu $s0, $s1, 0x58 +/* 952C64 80240214 0200282D */ daddu $a1, $s0, $zero +/* 952C68 80240218 0C019D80 */ jal guMtxCatF +/* 952C6C 8024021C 0200302D */ daddu $a2, $s0, $zero +/* 952C70 80240220 4405E000 */ mfc1 $a1, $f28 +/* 952C74 80240224 4406D000 */ mfc1 $a2, $f26 +/* 952C78 80240228 4407C000 */ mfc1 $a3, $f24 +/* 952C7C 8024022C 0C090018 */ jal func_80240060 +/* 952C80 80240230 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C84 80240234 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C88 80240238 0200282D */ daddu $a1, $s0, $zero +/* 952C8C 8024023C 0C019D80 */ jal guMtxCatF +/* 952C90 80240240 0200302D */ daddu $a2, $s0, $zero +/* 952C94 80240244 27A40010 */ addiu $a0, $sp, 0x10 +/* 952C98 80240248 4600B587 */ neg.s $f22, $f22 +/* 952C9C 8024024C 4405A000 */ mfc1 $a1, $f20 +/* 952CA0 80240250 4406B000 */ mfc1 $a2, $f22 +/* 952CA4 80240254 0C019E40 */ jal guTranslateF +/* 952CA8 80240258 00A0382D */ daddu $a3, $a1, $zero +/* 952CAC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 952CB0 80240260 0200282D */ daddu $a1, $s0, $zero +/* 952CB4 80240264 0C019D80 */ jal guMtxCatF +/* 952CB8 80240268 00A0302D */ daddu $a2, $a1, $zero +.L8024026C: +/* 952CBC 8024026C 8FBF005C */ lw $ra, 0x5c($sp) +/* 952CC0 80240270 8FB20058 */ lw $s2, 0x58($sp) +/* 952CC4 80240274 8FB10054 */ lw $s1, 0x54($sp) +/* 952CC8 80240278 8FB00050 */ lw $s0, 0x50($sp) +/* 952CCC 8024027C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 952CD0 80240280 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 952CD4 80240284 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 952CD8 80240288 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 952CDC 8024028C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 952CE0 80240290 24020002 */ addiu $v0, $zero, 2 +/* 952CE4 80240294 03E00008 */ jr $ra +/* 952CE8 80240298 27BD0088 */ addiu $sp, $sp, 0x88 +/* 952CEC 8024029C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240000_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240000_953FC0.s new file mode 100644 index 0000000000..eca06c2beb --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240000_953FC0.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_953FC0 +/* 953FC0 80240000 44800000 */ mtc1 $zero, $f0 +/* 953FC4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 953FC8 80240008 44050000 */ mfc1 $a1, $f0 +/* 953FCC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 953FD0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 953FD4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 953FD8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 953FDC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 953FE0 80240020 0C01CA54 */ jal func_80072950 +/* 953FE4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 953FE8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 953FEC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 953FF0 80240030 03E00008 */ jr $ra +/* 953FF4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240038_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240038_953FC0.s new file mode 100644 index 0000000000..c9eee6b77e --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240038_953FC0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240038_953FF8 +/* 953FF8 80240038 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 953FFC 8024003C 0000202D */ daddu $a0, $zero, $zero +/* 954000 80240040 AFBF0010 */ sw $ra, 0x10($sp) +/* 954004 80240044 0C052AED */ jal func_8014ABB4 +/* 954008 80240048 24050001 */ addiu $a1, $zero, 1 +/* 95400C 8024004C 8FBF0010 */ lw $ra, 0x10($sp) +/* 954010 80240050 24020002 */ addiu $v0, $zero, 2 +/* 954014 80240054 03E00008 */ jr $ra +/* 954018 80240058 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_8024005C.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024005C.s new file mode 100644 index 0000000000..fc791d9b08 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024005C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024005C +/* 95401C 8024005C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 954020 80240060 0000202D */ daddu $a0, $zero, $zero +/* 954024 80240064 AFBF0010 */ sw $ra, 0x10($sp) +/* 954028 80240068 0C052AED */ jal func_8014ABB4 +/* 95402C 8024006C 0080282D */ daddu $a1, $a0, $zero +/* 954030 80240070 8FBF0010 */ lw $ra, 0x10($sp) +/* 954034 80240074 24020002 */ addiu $v0, $zero, 2 +/* 954038 80240078 03E00008 */ jr $ra +/* 95403C 8024007C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240080_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240080_953FC0.s new file mode 100644 index 0000000000..33afa251a1 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240080_953FC0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240080_954040 +/* 954040 80240080 3C03800A */ lui $v1, %hi(D_8009A650) +/* 954044 80240084 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 954048 80240088 8C620000 */ lw $v0, ($v1) +/* 95404C 8024008C 34420040 */ ori $v0, $v0, 0x40 +/* 954050 80240090 AC620000 */ sw $v0, ($v1) +/* 954054 80240094 03E00008 */ jr $ra +/* 954058 80240098 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_8024009C.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024009C.s new file mode 100644 index 0000000000..3b3ebb03b0 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024009C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024009C +/* 95405C 8024009C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 954060 802400A0 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 954064 802400A4 8C430000 */ lw $v1, ($v0) +/* 954068 802400A8 2404FFBF */ addiu $a0, $zero, -0x41 +/* 95406C 802400AC 00641824 */ and $v1, $v1, $a0 +/* 954070 802400B0 AC430000 */ sw $v1, ($v0) +/* 954074 802400B4 03E00008 */ jr $ra +/* 954078 802400B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_802400BC.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_802400BC.s new file mode 100644 index 0000000000..61a90e2b7f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_802400BC.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400BC +/* 95407C 802400BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 954080 802400C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 954084 802400C4 8C82000C */ lw $v0, 0xc($a0) +/* 954088 802400C8 0C0B1EAF */ jal get_variable +/* 95408C 802400CC 8C450000 */ lw $a1, ($v0) +/* 954090 802400D0 0C0B95A4 */ jal func_802E5690 +/* 954094 802400D4 0040202D */ daddu $a0, $v0, $zero +/* 954098 802400D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 95409C 802400DC 24020002 */ addiu $v0, $zero, 2 +/* 9540A0 802400E0 03E00008 */ jr $ra +/* 9540A4 802400E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_802400E8.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_802400E8.s new file mode 100644 index 0000000000..d255448efd --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_802400E8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E8 +/* 9540A8 802400E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9540AC 802400EC AFB00010 */ sw $s0, 0x10($sp) +/* 9540B0 802400F0 0080802D */ daddu $s0, $a0, $zero +/* 9540B4 802400F4 AFBF0018 */ sw $ra, 0x18($sp) +/* 9540B8 802400F8 AFB10014 */ sw $s1, 0x14($sp) +/* 9540BC 802400FC 8E11000C */ lw $s1, 0xc($s0) +/* 9540C0 80240100 8E250000 */ lw $a1, ($s1) +/* 9540C4 80240104 0C0B1EAF */ jal get_variable +/* 9540C8 80240108 26310004 */ addiu $s1, $s1, 4 +/* 9540CC 8024010C 0200202D */ daddu $a0, $s0, $zero +/* 9540D0 80240110 3C038011 */ lui $v1, %hi(gPlayerData) +/* 9540D4 80240114 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 9540D8 80240118 000210C0 */ sll $v0, $v0, 3 +/* 9540DC 8024011C 00431021 */ addu $v0, $v0, $v1 +/* 9540E0 80240120 90460015 */ lbu $a2, 0x15($v0) +/* 9540E4 80240124 8E250000 */ lw $a1, ($s1) +/* 9540E8 80240128 24C60001 */ addiu $a2, $a2, 1 +/* 9540EC 8024012C A0460015 */ sb $a2, 0x15($v0) +/* 9540F0 80240130 00063600 */ sll $a2, $a2, 0x18 +/* 9540F4 80240134 0C0B2026 */ jal set_variable +/* 9540F8 80240138 00063603 */ sra $a2, $a2, 0x18 +/* 9540FC 8024013C 8FBF0018 */ lw $ra, 0x18($sp) +/* 954100 80240140 8FB10014 */ lw $s1, 0x14($sp) +/* 954104 80240144 8FB00010 */ lw $s0, 0x10($sp) +/* 954108 80240148 24020002 */ addiu $v0, $zero, 2 +/* 95410C 8024014C 03E00008 */ jr $ra +/* 954110 80240150 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240154_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240154_953FC0.s new file mode 100644 index 0000000000..16a014dbd8 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240154_953FC0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240154_954114 +/* 954114 80240154 3C028011 */ lui $v0, %hi(gPlayerData) +/* 954118 80240158 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 95411C 8024015C 000420C0 */ sll $a0, $a0, 3 +/* 954120 80240160 00822021 */ addu $a0, $a0, $v0 +/* 954124 80240164 90820014 */ lbu $v0, 0x14($a0) +/* 954128 80240168 10400009 */ beqz $v0, .L80240190 +/* 95412C 8024016C 00000000 */ nop +/* 954130 80240170 90820015 */ lbu $v0, 0x15($a0) +/* 954134 80240174 00022600 */ sll $a0, $v0, 0x18 +/* 954138 80240178 00041E03 */ sra $v1, $a0, 0x18 +/* 95413C 8024017C 00051400 */ sll $v0, $a1, 0x10 +/* 954140 80240180 00021403 */ sra $v0, $v0, 0x10 +/* 954144 80240184 0043102A */ slt $v0, $v0, $v1 +/* 954148 80240188 10400003 */ beqz $v0, .L80240198 +/* 95414C 8024018C 00000000 */ nop +.L80240190: +/* 954150 80240190 03E00008 */ jr $ra +/* 954154 80240194 2402FFFF */ addiu $v0, $zero, -1 +.L80240198: +/* 954158 80240198 03E00008 */ jr $ra +/* 95415C 8024019C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_802401A0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_802401A0.s new file mode 100644 index 0000000000..4fb3e7654a --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_802401A0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401A0 +/* 954160 802401A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 954164 802401A4 AFB3001C */ sw $s3, 0x1c($sp) +/* 954168 802401A8 0080982D */ daddu $s3, $a0, $zero +/* 95416C 802401AC AFB00010 */ sw $s0, 0x10($sp) +/* 954170 802401B0 24100001 */ addiu $s0, $zero, 1 +/* 954174 802401B4 AFB40020 */ sw $s4, 0x20($sp) +/* 954178 802401B8 2414FFFF */ addiu $s4, $zero, -1 +/* 95417C 802401BC AFB50024 */ sw $s5, 0x24($sp) +/* 954180 802401C0 0200A82D */ daddu $s5, $s0, $zero +/* 954184 802401C4 AFB10014 */ sw $s1, 0x14($sp) +/* 954188 802401C8 3C118011 */ lui $s1, 0x8011 +/* 95418C 802401CC 2631F298 */ addiu $s1, $s1, -0xd68 +/* 954190 802401D0 AFBF0028 */ sw $ra, 0x28($sp) +/* 954194 802401D4 AFB20018 */ sw $s2, 0x18($sp) +/* 954198 802401D8 8E6200B4 */ lw $v0, 0xb4($s3) +/* 95419C 802401DC 0280182D */ daddu $v1, $s4, $zero +/* 9541A0 802401E0 AE630084 */ sw $v1, 0x84($s3) +/* 9541A4 802401E4 00021027 */ nor $v0, $zero, $v0 +/* 9541A8 802401E8 000217C2 */ srl $v0, $v0, 0x1f +/* 9541AC 802401EC 00029400 */ sll $s2, $v0, 0x10 +.L802401F0: +/* 9541B0 802401F0 92220014 */ lbu $v0, 0x14($s1) +/* 9541B4 802401F4 50400008 */ beql $v0, $zero, .L80240218 +/* 9541B8 802401F8 26100001 */ addiu $s0, $s0, 1 +/* 9541BC 802401FC 0200202D */ daddu $a0, $s0, $zero +/* 9541C0 80240200 0C090055 */ jal func_80240154 +/* 9541C4 80240204 00122C03 */ sra $a1, $s2, 0x10 +/* 9541C8 80240208 10540003 */ beq $v0, $s4, .L80240218 +/* 9541CC 8024020C 26100001 */ addiu $s0, $s0, 1 +/* 9541D0 80240210 08090089 */ j .L80240224 +/* 9541D4 80240214 AE750084 */ sw $s5, 0x84($s3) +.L80240218: +/* 9541D8 80240218 2A02000C */ slti $v0, $s0, 0xc +/* 9541DC 8024021C 1440FFF4 */ bnez $v0, .L802401F0 +/* 9541E0 80240220 26310008 */ addiu $s1, $s1, 8 +.L80240224: +/* 9541E4 80240224 8FBF0028 */ lw $ra, 0x28($sp) +/* 9541E8 80240228 8FB50024 */ lw $s5, 0x24($sp) +/* 9541EC 8024022C 8FB40020 */ lw $s4, 0x20($sp) +/* 9541F0 80240230 8FB3001C */ lw $s3, 0x1c($sp) +/* 9541F4 80240234 8FB20018 */ lw $s2, 0x18($sp) +/* 9541F8 80240238 8FB10014 */ lw $s1, 0x14($sp) +/* 9541FC 8024023C 8FB00010 */ lw $s0, 0x10($sp) +/* 954200 80240240 24020002 */ addiu $v0, $zero, 2 +/* 954204 80240244 03E00008 */ jr $ra +/* 954208 80240248 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_8024024C.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024024C.s new file mode 100644 index 0000000000..3a124b87fa --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024024C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024024C +/* 95420C 8024024C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 954210 80240250 AFB5002C */ sw $s5, 0x2c($sp) +/* 954214 80240254 0080A82D */ daddu $s5, $a0, $zero +/* 954218 80240258 AFBE0038 */ sw $fp, 0x38($sp) +/* 95421C 8024025C 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 954220 80240260 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 954224 80240264 AFBF003C */ sw $ra, 0x3c($sp) +/* 954228 80240268 AFB70034 */ sw $s7, 0x34($sp) +/* 95422C 8024026C AFB60030 */ sw $s6, 0x30($sp) +/* 954230 80240270 AFB40028 */ sw $s4, 0x28($sp) +/* 954234 80240274 AFB30024 */ sw $s3, 0x24($sp) +/* 954238 80240278 AFB20020 */ sw $s2, 0x20($sp) +/* 95423C 8024027C AFB1001C */ sw $s1, 0x1c($sp) +/* 954240 80240280 10A0004F */ beqz $a1, .L802403C0 +/* 954244 80240284 AFB00018 */ sw $s0, 0x18($sp) +/* 954248 80240288 0C00AB39 */ jal heap_malloc +/* 95424C 8024028C 24040330 */ addiu $a0, $zero, 0x330 +/* 954250 80240290 0040982D */ daddu $s3, $v0, $zero +/* 954254 80240294 0000B02D */ daddu $s6, $zero, $zero +/* 954258 80240298 02C0902D */ daddu $s2, $s6, $zero +/* 95425C 8024029C 3C148024 */ lui $s4, 0x8024 +/* 954260 802402A0 26941438 */ addiu $s4, $s4, 0x1438 +/* 954264 802402A4 0260882D */ daddu $s1, $s3, $zero +/* 954268 802402A8 8EA200B4 */ lw $v0, 0xb4($s5) +/* 95426C 802402AC 3C038024 */ lui $v1, 0x8024 +/* 954270 802402B0 24631430 */ addiu $v1, $v1, 0x1430 +/* 954274 802402B4 AEB30078 */ sw $s3, 0x78($s5) +/* 954278 802402B8 00021027 */ nor $v0, $zero, $v0 +/* 95427C 802402BC 0002BFC2 */ srl $s7, $v0, 0x1f +/* 954280 802402C0 00171080 */ sll $v0, $s7, 2 +/* 954284 802402C4 00431021 */ addu $v0, $v0, $v1 +/* 954288 802402C8 AFA20010 */ sw $v0, 0x10($sp) +.L802402CC: +/* 95428C 802402CC 86900000 */ lh $s0, ($s4) +/* 954290 802402D0 001010C0 */ sll $v0, $s0, 3 +/* 954294 802402D4 03C21021 */ addu $v0, $fp, $v0 +/* 954298 802402D8 90420014 */ lbu $v0, 0x14($v0) +/* 95429C 802402DC 5040002E */ beql $v0, $zero, .L80240398 +/* 9542A0 802402E0 26520001 */ addiu $s2, $s2, 1 +/* 9542A4 802402E4 00101100 */ sll $v0, $s0, 4 +/* 9542A8 802402E8 3C068009 */ lui $a2, 0x8009 +/* 9542AC 802402EC 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 9542B0 802402F0 00461021 */ addu $v0, $v0, $a2 +/* 9542B4 802402F4 0200202D */ daddu $a0, $s0, $zero +/* 9542B8 802402F8 AE300108 */ sw $s0, 0x108($s1) +/* 9542BC 802402FC 8C420000 */ lw $v0, ($v0) +/* 9542C0 80240300 02E0282D */ daddu $a1, $s7, $zero +/* 9542C4 80240304 0C090055 */ jal func_80240154 +/* 9542C8 80240308 AE220084 */ sw $v0, 0x84($s1) +/* 9542CC 8024030C 0040202D */ daddu $a0, $v0, $zero +/* 9542D0 80240310 04800011 */ bltz $a0, .L80240358 +/* 9542D4 80240314 00101080 */ sll $v0, $s0, 2 +/* 9542D8 80240318 3C06800F */ lui $a2, 0x800f +/* 9542DC 8024031C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 9542E0 80240320 00461021 */ addu $v0, $v0, $a2 +/* 9542E4 80240324 8C430000 */ lw $v1, ($v0) +/* 9542E8 80240328 24020001 */ addiu $v0, $zero, 1 +/* 9542EC 8024032C AE22018C */ sw $v0, 0x18c($s1) +/* 9542F0 80240330 00041080 */ sll $v0, $a0, 2 +/* 9542F4 80240334 3C068024 */ lui $a2, 0x8024 +/* 9542F8 80240338 24C61448 */ addiu $a2, $a2, 0x1448 +/* 9542FC 8024033C AE230000 */ sw $v1, ($s1) +/* 954300 80240340 001218C0 */ sll $v1, $s2, 3 +/* 954304 80240344 00431021 */ addu $v0, $v0, $v1 +/* 954308 80240348 00461021 */ addu $v0, $v0, $a2 +/* 95430C 8024034C 8C420000 */ lw $v0, ($v0) +/* 954310 80240350 080900DF */ j .L8024037C +/* 954314 80240354 AE220294 */ sw $v0, 0x294($s1) +.L80240358: +/* 954318 80240358 3C06800F */ lui $a2, 0x800f +/* 95431C 8024035C 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 954320 80240360 00461021 */ addu $v0, $v0, $a2 +/* 954324 80240364 8C420000 */ lw $v0, ($v0) +/* 954328 80240368 AE20018C */ sw $zero, 0x18c($s1) +/* 95432C 8024036C AE220000 */ sw $v0, ($s1) +/* 954330 80240370 8FA60010 */ lw $a2, 0x10($sp) +/* 954334 80240374 8CC20000 */ lw $v0, ($a2) +/* 954338 80240378 AE220294 */ sw $v0, 0x294($s1) +.L8024037C: +/* 95433C 8024037C 001010C0 */ sll $v0, $s0, 3 +/* 954340 80240380 03C21021 */ addu $v0, $fp, $v0 +/* 954344 80240384 80420015 */ lb $v0, 0x15($v0) +/* 954348 80240388 26D60001 */ addiu $s6, $s6, 1 +/* 95434C 8024038C AE220210 */ sw $v0, 0x210($s1) +/* 954350 80240390 26310004 */ addiu $s1, $s1, 4 +/* 954354 80240394 26520001 */ addiu $s2, $s2, 1 +.L80240398: +/* 954358 80240398 2A420008 */ slti $v0, $s2, 8 +/* 95435C 8024039C 1440FFCB */ bnez $v0, .L802402CC +/* 954360 802403A0 26940002 */ addiu $s4, $s4, 2 +/* 954364 802403A4 0260202D */ daddu $a0, $s3, $zero +/* 954368 802403A8 24020004 */ addiu $v0, $zero, 4 +/* 95436C 802403AC AC820318 */ sw $v0, 0x318($a0) +/* 954370 802403B0 AC960324 */ sw $s6, 0x324($a0) +/* 954374 802403B4 0C03D390 */ jal func_800F4E40 +/* 954378 802403B8 AC800328 */ sw $zero, 0x328($a0) +/* 95437C 802403BC AEA00070 */ sw $zero, 0x70($s5) +.L802403C0: +/* 954380 802403C0 8EA20070 */ lw $v0, 0x70($s5) +/* 954384 802403C4 8EB30078 */ lw $s3, 0x78($s5) +/* 954388 802403C8 14400008 */ bnez $v0, .L802403EC +/* 95438C 802403CC 24420001 */ addiu $v0, $v0, 1 +/* 954390 802403D0 8662032C */ lh $v0, 0x32c($s3) +/* 954394 802403D4 10400009 */ beqz $v0, .L802403FC +/* 954398 802403D8 AEA20074 */ sw $v0, 0x74($s5) +/* 95439C 802403DC 0C03C4EC */ jal func_800F13B0 +/* 9543A0 802403E0 00000000 */ nop +/* 9543A4 802403E4 8EA20070 */ lw $v0, 0x70($s5) +/* 9543A8 802403E8 24420001 */ addiu $v0, $v0, 1 +.L802403EC: +/* 9543AC 802403EC AEA20070 */ sw $v0, 0x70($s5) +/* 9543B0 802403F0 2842000F */ slti $v0, $v0, 0xf +/* 9543B4 802403F4 10400003 */ beqz $v0, .L80240404 +/* 9543B8 802403F8 00000000 */ nop +.L802403FC: +/* 9543BC 802403FC 0809011B */ j .L8024046C +/* 9543C0 80240400 0000102D */ daddu $v0, $zero, $zero +.L80240404: +/* 9543C4 80240404 0C03C54E */ jal func_800F1538 +/* 9543C8 80240408 00000000 */ nop +/* 9543CC 8024040C 8EA30074 */ lw $v1, 0x74($s5) +/* 9543D0 80240410 240200FF */ addiu $v0, $zero, 0xff +/* 9543D4 80240414 10620010 */ beq $v1, $v0, .L80240458 +/* 9543D8 80240418 2462FFFF */ addiu $v0, $v1, -1 +/* 9543DC 8024041C 00021080 */ sll $v0, $v0, 2 +/* 9543E0 80240420 02621021 */ addu $v0, $s3, $v0 +/* 9543E4 80240424 8C420108 */ lw $v0, 0x108($v0) +/* 9543E8 80240428 00021100 */ sll $v0, $v0, 4 +/* 9543EC 8024042C 3C038009 */ lui $v1, 0x8009 +/* 9543F0 80240430 00621821 */ addu $v1, $v1, $v0 +/* 9543F4 80240434 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 9543F8 80240438 8EA20074 */ lw $v0, 0x74($s5) +/* 9543FC 8024043C 2442FFFF */ addiu $v0, $v0, -1 +/* 954400 80240440 00021080 */ sll $v0, $v0, 2 +/* 954404 80240444 02621021 */ addu $v0, $s3, $v0 +/* 954408 80240448 AEA30084 */ sw $v1, 0x84($s5) +/* 95440C 8024044C 8C420108 */ lw $v0, 0x108($v0) +/* 954410 80240450 08090118 */ j .L80240460 +/* 954414 80240454 AEA20088 */ sw $v0, 0x88($s5) +.L80240458: +/* 954418 80240458 2402FFFF */ addiu $v0, $zero, -1 +/* 95441C 8024045C AEA20084 */ sw $v0, 0x84($s5) +.L80240460: +/* 954420 80240460 0C00AB4B */ jal heap_free +/* 954424 80240464 8EA40078 */ lw $a0, 0x78($s5) +/* 954428 80240468 24020002 */ addiu $v0, $zero, 2 +.L8024046C: +/* 95442C 8024046C 8FBF003C */ lw $ra, 0x3c($sp) +/* 954430 80240470 8FBE0038 */ lw $fp, 0x38($sp) +/* 954434 80240474 8FB70034 */ lw $s7, 0x34($sp) +/* 954438 80240478 8FB60030 */ lw $s6, 0x30($sp) +/* 95443C 8024047C 8FB5002C */ lw $s5, 0x2c($sp) +/* 954440 80240480 8FB40028 */ lw $s4, 0x28($sp) +/* 954444 80240484 8FB30024 */ lw $s3, 0x24($sp) +/* 954448 80240488 8FB20020 */ lw $s2, 0x20($sp) +/* 95444C 8024048C 8FB1001C */ lw $s1, 0x1c($sp) +/* 954450 80240490 8FB00018 */ lw $s0, 0x18($sp) +/* 954454 80240494 03E00008 */ jr $ra +/* 954458 80240498 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_8024049C.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024049C.s new file mode 100644 index 0000000000..332dd7697f --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_8024049C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024049C +/* 95445C 8024049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 954460 802404A0 AFBF0010 */ sw $ra, 0x10($sp) +/* 954464 802404A4 8C82000C */ lw $v0, 0xc($a0) +/* 954468 802404A8 0C0B1EAF */ jal get_variable +/* 95446C 802404AC 8C450000 */ lw $a1, ($v0) +/* 954470 802404B0 0C03AC5A */ jal func_800EB168 +/* 954474 802404B4 0040202D */ daddu $a0, $v0, $zero +/* 954478 802404B8 8FBF0010 */ lw $ra, 0x10($sp) +/* 95447C 802404BC 24020002 */ addiu $v0, $zero, 2 +/* 954480 802404C0 03E00008 */ jr $ra +/* 954484 802404C4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_802404C8.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_802404C8.s new file mode 100644 index 0000000000..adf6b10877 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_802404C8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C8 +/* 954488 802404C8 3C028011 */ lui $v0, 0x8011 +/* 95448C 802404CC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 954490 802404D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 954494 802404D4 AFBF0010 */ sw $ra, 0x10($sp) +/* 954498 802404D8 00021100 */ sll $v0, $v0, 4 +/* 95449C 802404DC 3C048009 */ lui $a0, 0x8009 +/* 9544A0 802404E0 00822021 */ addu $a0, $a0, $v0 +/* 9544A4 802404E4 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 9544A8 802404E8 0C0496CF */ jal set_message_string +/* 9544AC 802404EC 0000282D */ daddu $a1, $zero, $zero +/* 9544B0 802404F0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9544B4 802404F4 24020002 */ addiu $v0, $zero, 2 +/* 9544B8 802404F8 03E00008 */ jr $ra +/* 9544BC 802404FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240500_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240500_953FC0.s new file mode 100644 index 0000000000..83309d920d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240500_953FC0.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240500_9544C0 +/* 9544C0 80240500 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9544C4 80240504 AFB1001C */ sw $s1, 0x1c($sp) +/* 9544C8 80240508 0080882D */ daddu $s1, $a0, $zero +/* 9544CC 8024050C AFBF0020 */ sw $ra, 0x20($sp) +/* 9544D0 80240510 AFB00018 */ sw $s0, 0x18($sp) +/* 9544D4 80240514 8E30000C */ lw $s0, 0xc($s1) +/* 9544D8 80240518 8E050000 */ lw $a1, ($s0) +/* 9544DC 8024051C 0C0B1EAF */ jal get_variable +/* 9544E0 80240520 26100004 */ addiu $s0, $s0, 4 +/* 9544E4 80240524 0C04417A */ jal get_entity_by_index +/* 9544E8 80240528 0040202D */ daddu $a0, $v0, $zero +/* 9544EC 8024052C 8E100000 */ lw $s0, ($s0) +/* 9544F0 80240530 C444004C */ lwc1 $f4, 0x4c($v0) +/* 9544F4 80240534 3C014148 */ lui $at, 0x4148 +/* 9544F8 80240538 44810000 */ mtc1 $at, $f0 +/* 9544FC 8024053C 3C013F33 */ lui $at, 0x3f33 +/* 954500 80240540 34213333 */ ori $at, $at, 0x3333 +/* 954504 80240544 44811000 */ mtc1 $at, $f2 +/* 954508 80240548 AFA00014 */ sw $zero, 0x14($sp) +/* 95450C 8024054C 46002100 */ add.s $f4, $f4, $f0 +/* 954510 80240550 E7A20010 */ swc1 $f2, 0x10($sp) +/* 954514 80240554 8C450048 */ lw $a1, 0x48($v0) +/* 954518 80240558 8C470050 */ lw $a3, 0x50($v0) +/* 95451C 8024055C 44062000 */ mfc1 $a2, $f4 +/* 954520 80240560 0C01C5D4 */ jal func_80071750 +/* 954524 80240564 0000202D */ daddu $a0, $zero, $zero +/* 954528 80240568 0220202D */ daddu $a0, $s1, $zero +/* 95452C 8024056C 0200282D */ daddu $a1, $s0, $zero +/* 954530 80240570 0C0B2026 */ jal set_variable +/* 954534 80240574 0040302D */ daddu $a2, $v0, $zero +/* 954538 80240578 8FBF0020 */ lw $ra, 0x20($sp) +/* 95453C 8024057C 8FB1001C */ lw $s1, 0x1c($sp) +/* 954540 80240580 8FB00018 */ lw $s0, 0x18($sp) +/* 954544 80240584 24020002 */ addiu $v0, $zero, 2 +/* 954548 80240588 03E00008 */ jr $ra +/* 95454C 8024058C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240590.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240590.s new file mode 100644 index 0000000000..3513286397 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240590.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240590 +/* 954550 80240590 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 954554 80240594 AFBF0010 */ sw $ra, 0x10($sp) +/* 954558 80240598 8C82000C */ lw $v0, 0xc($a0) +/* 95455C 8024059C 0C0B1EAF */ jal get_variable +/* 954560 802405A0 8C450000 */ lw $a1, ($v0) +/* 954564 802405A4 0040202D */ daddu $a0, $v0, $zero +/* 954568 802405A8 8C830000 */ lw $v1, ($a0) +/* 95456C 802405AC 34630010 */ ori $v1, $v1, 0x10 +/* 954570 802405B0 AC830000 */ sw $v1, ($a0) +/* 954574 802405B4 8FBF0010 */ lw $ra, 0x10($sp) +/* 954578 802405B8 24020002 */ addiu $v0, $zero, 2 +/* 95457C 802405BC 03E00008 */ jr $ra +/* 954580 802405C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_802405C4.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_802405C4.s new file mode 100644 index 0000000000..8a39790271 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_802405C4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405C4 +/* 954584 802405C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 954588 802405C8 AFBF0018 */ sw $ra, 0x18($sp) +/* 95458C 802405CC 8C82000C */ lw $v0, 0xc($a0) +/* 954590 802405D0 0C0B1EAF */ jal get_variable +/* 954594 802405D4 8C450000 */ lw $a1, ($v0) +/* 954598 802405D8 0C04417A */ jal get_entity_by_index +/* 95459C 802405DC 0040202D */ daddu $a0, $v0, $zero +/* 9545A0 802405E0 3C013F80 */ lui $at, 0x3f80 +/* 9545A4 802405E4 44810000 */ mtc1 $at, $f0 +/* 9545A8 802405E8 C442004C */ lwc1 $f2, 0x4c($v0) +/* 9545AC 802405EC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9545B0 802405F0 3C014148 */ lui $at, 0x4148 +/* 9545B4 802405F4 44810000 */ mtc1 $at, $f0 +/* 9545B8 802405F8 2403004B */ addiu $v1, $zero, 0x4b +/* 9545BC 802405FC AFA30014 */ sw $v1, 0x14($sp) +/* 9545C0 80240600 46001080 */ add.s $f2, $f2, $f0 +/* 9545C4 80240604 8C450048 */ lw $a1, 0x48($v0) +/* 9545C8 80240608 8C470050 */ lw $a3, 0x50($v0) +/* 9545CC 8024060C 44061000 */ mfc1 $a2, $f2 +/* 9545D0 80240610 0C01C2EC */ jal func_80070BB0 +/* 9545D4 80240614 24040004 */ addiu $a0, $zero, 4 +/* 9545D8 80240618 8FBF0018 */ lw $ra, 0x18($sp) +/* 9545DC 8024061C 24020002 */ addiu $v0, $zero, 2 +/* 9545E0 80240620 03E00008 */ jr $ra +/* 9545E4 80240624 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240628_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240628_953FC0.s new file mode 100644 index 0000000000..7bd9f09715 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240628_953FC0.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_9545E8 +/* 9545E8 80240628 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9545EC 8024062C AFBF0018 */ sw $ra, 0x18($sp) +/* 9545F0 80240630 0C00EAD2 */ jal get_npc_safe +/* 9545F4 80240634 2404FFFC */ addiu $a0, $zero, -4 +/* 9545F8 80240638 C444003C */ lwc1 $f4, 0x3c($v0) +/* 9545FC 8024063C 3C014148 */ lui $at, 0x4148 +/* 954600 80240640 44811000 */ mtc1 $at, $f2 +/* 954604 80240644 3C013F80 */ lui $at, 0x3f80 +/* 954608 80240648 44810000 */ mtc1 $at, $f0 +/* 95460C 8024064C 2403001E */ addiu $v1, $zero, 0x1e +/* 954610 80240650 AFA30014 */ sw $v1, 0x14($sp) +/* 954614 80240654 46022100 */ add.s $f4, $f4, $f2 +/* 954618 80240658 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95461C 8024065C 8C450038 */ lw $a1, 0x38($v0) +/* 954620 80240660 8C470040 */ lw $a3, 0x40($v0) +/* 954624 80240664 44062000 */ mfc1 $a2, $f4 +/* 954628 80240668 0C01C2EC */ jal func_80070BB0 +/* 95462C 8024066C 24040009 */ addiu $a0, $zero, 9 +/* 954630 80240670 8FBF0018 */ lw $ra, 0x18($sp) +/* 954634 80240674 24020002 */ addiu $v0, $zero, 2 +/* 954638 80240678 03E00008 */ jr $ra +/* 95463C 8024067C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240680_953FC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240680_953FC0.s new file mode 100644 index 0000000000..4286fb49f2 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240680_953FC0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_954640 +/* 954640 80240680 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 954644 80240684 AFB60040 */ sw $s6, 0x40($sp) +/* 954648 80240688 0080B02D */ daddu $s6, $a0, $zero +/* 95464C 8024068C AFB00028 */ sw $s0, 0x28($sp) +/* 954650 80240690 00A0802D */ daddu $s0, $a1, $zero +/* 954654 80240694 AFBF0044 */ sw $ra, 0x44($sp) +/* 954658 80240698 AFB5003C */ sw $s5, 0x3c($sp) +/* 95465C 8024069C AFB40038 */ sw $s4, 0x38($sp) +/* 954660 802406A0 AFB30034 */ sw $s3, 0x34($sp) +/* 954664 802406A4 AFB20030 */ sw $s2, 0x30($sp) +/* 954668 802406A8 AFB1002C */ sw $s1, 0x2c($sp) +/* 95466C 802406AC F7B80058 */ sdc1 $f24, 0x58($sp) +/* 954670 802406B0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 954674 802406B4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 954678 802406B8 8ED3000C */ lw $s3, 0xc($s6) +/* 95467C 802406BC 0C00EAD2 */ jal get_npc_safe +/* 954680 802406C0 2404FFFC */ addiu $a0, $zero, -4 +/* 954684 802406C4 27A50018 */ addiu $a1, $sp, 0x18 +/* 954688 802406C8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 95468C 802406CC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 954690 802406D0 27A6001C */ addiu $a2, $sp, 0x1c +/* 954694 802406D4 00041880 */ sll $v1, $a0, 2 +/* 954698 802406D8 00641821 */ addu $v1, $v1, $a0 +/* 95469C 802406DC 00031880 */ sll $v1, $v1, 2 +/* 9546A0 802406E0 00641823 */ subu $v1, $v1, $a0 +/* 9546A4 802406E4 000320C0 */ sll $a0, $v1, 3 +/* 9546A8 802406E8 00641821 */ addu $v1, $v1, $a0 +/* 9546AC 802406EC 000318C0 */ sll $v1, $v1, 3 +/* 9546B0 802406F0 3C01800B */ lui $at, 0x800b +/* 9546B4 802406F4 00230821 */ addu $at, $at, $v1 +/* 9546B8 802406F8 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 9546BC 802406FC 0C00A88D */ jal sin_cos_deg +/* 9546C0 80240700 0040A82D */ daddu $s5, $v0, $zero +/* 9546C4 80240704 1200005D */ beqz $s0, .L8024087C +/* 9546C8 80240708 00000000 */ nop +/* 9546CC 8024070C 0C00AB0A */ jal general_heap_malloc +/* 9546D0 80240710 24040068 */ addiu $a0, $zero, 0x68 +/* 9546D4 80240714 0040902D */ daddu $s2, $v0, $zero +/* 9546D8 80240718 02C0202D */ daddu $a0, $s6, $zero +/* 9546DC 8024071C 0000882D */ daddu $s1, $zero, $zero +/* 9546E0 80240720 2414FFFF */ addiu $s4, $zero, -1 +/* 9546E4 80240724 AED20060 */ sw $s2, 0x60($s6) +/* 9546E8 80240728 8E650000 */ lw $a1, ($s3) +/* 9546EC 8024072C 3C014148 */ lui $at, 0x4148 +/* 9546F0 80240730 4481C000 */ mtc1 $at, $f24 +/* 9546F4 80240734 3C013F80 */ lui $at, 0x3f80 +/* 9546F8 80240738 4481B000 */ mtc1 $at, $f22 +/* 9546FC 8024073C 4480A000 */ mtc1 $zero, $f20 +/* 954700 80240740 0C0B1EAF */ jal get_variable +/* 954704 80240744 0240802D */ daddu $s0, $s2, $zero +/* 954708 80240748 0C04417A */ jal get_entity_by_index +/* 95470C 8024074C 0040202D */ daddu $a0, $v0, $zero +/* 954710 80240750 AE42005C */ sw $v0, 0x5c($s2) +.L80240754: +/* 954714 80240754 8E42005C */ lw $v0, 0x5c($s2) +/* 954718 80240758 C440004C */ lwc1 $f0, 0x4c($v0) +/* 95471C 8024075C 0000202D */ daddu $a0, $zero, $zero +/* 954720 80240760 E7B60010 */ swc1 $f22, 0x10($sp) +/* 954724 80240764 AFB40014 */ sw $s4, 0x14($sp) +/* 954728 80240768 46180000 */ add.s $f0, $f0, $f24 +/* 95472C 8024076C 8C450048 */ lw $a1, 0x48($v0) +/* 954730 80240770 8C470050 */ lw $a3, 0x50($v0) +/* 954734 80240774 44060000 */ mfc1 $a2, $f0 +/* 954738 80240778 0C01C5BC */ jal func_800716F0 +/* 95473C 8024077C 26310001 */ addiu $s1, $s1, 1 +/* 954740 80240780 AE020008 */ sw $v0, 8($s0) +/* 954744 80240784 E614002C */ swc1 $f20, 0x2c($s0) +/* 954748 80240788 E6140020 */ swc1 $f20, 0x20($s0) +/* 95474C 8024078C E6140014 */ swc1 $f20, 0x14($s0) +/* 954750 80240790 E6140050 */ swc1 $f20, 0x50($s0) +/* 954754 80240794 E6140044 */ swc1 $f20, 0x44($s0) +/* 954758 80240798 E6140038 */ swc1 $f20, 0x38($s0) +/* 95475C 8024079C 2A220003 */ slti $v0, $s1, 3 +/* 954760 802407A0 1440FFEC */ bnez $v0, .L80240754 +/* 954764 802407A4 26100004 */ addiu $s0, $s0, 4 +/* 954768 802407A8 0000882D */ daddu $s1, $zero, $zero +/* 95476C 802407AC 0240802D */ daddu $s0, $s2, $zero +/* 954770 802407B0 3C148024 */ lui $s4, 0x8024 +/* 954774 802407B4 26941488 */ addiu $s4, $s4, 0x1488 +/* 954778 802407B8 3C014248 */ lui $at, 0x4248 +/* 95477C 802407BC 4481A000 */ mtc1 $at, $f20 +/* 954780 802407C0 24130044 */ addiu $s3, $zero, 0x44 +/* 954784 802407C4 AE400000 */ sw $zero, ($s2) +/* 954788 802407C8 AE400004 */ sw $zero, 4($s2) +/* 95478C 802407CC AE400060 */ sw $zero, 0x60($s2) +/* 954790 802407D0 AE400064 */ sw $zero, 0x64($s2) +.L802407D4: +/* 954794 802407D4 27A40020 */ addiu $a0, $sp, 0x20 +/* 954798 802407D8 4406A000 */ mfc1 $a2, $f20 +/* 95479C 802407DC 8E870000 */ lw $a3, ($s4) +/* 9547A0 802407E0 02532821 */ addu $a1, $s2, $s3 +/* 9547A4 802407E4 0C00A7E7 */ jal add_vec2D_polar +/* 9547A8 802407E8 AFA00020 */ sw $zero, 0x20($sp) +/* 9547AC 802407EC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 9547B0 802407F0 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 9547B4 802407F4 46041082 */ mul.s $f2, $f2, $f4 +/* 9547B8 802407F8 00000000 */ nop +/* 9547BC 802407FC C7A00018 */ lwc1 $f0, 0x18($sp) +/* 9547C0 80240800 46040002 */ mul.s $f0, $f0, $f4 +/* 9547C4 80240804 00000000 */ nop +/* 9547C8 80240808 E6020038 */ swc1 $f2, 0x38($s0) +/* 9547CC 8024080C E6000050 */ swc1 $f0, 0x50($s0) +/* 9547D0 80240810 8E42005C */ lw $v0, 0x5c($s2) +/* 9547D4 80240814 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9547D8 80240818 C4420048 */ lwc1 $f2, 0x48($v0) +/* 9547DC 8024081C 46001080 */ add.s $f2, $f2, $f0 +/* 9547E0 80240820 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 9547E4 80240824 46020001 */ sub.s $f0, $f0, $f2 +/* 9547E8 80240828 E6000038 */ swc1 $f0, 0x38($s0) +/* 9547EC 8024082C 8E42005C */ lw $v0, 0x5c($s2) +/* 9547F0 80240830 C6000044 */ lwc1 $f0, 0x44($s0) +/* 9547F4 80240834 C442004C */ lwc1 $f2, 0x4c($v0) +/* 9547F8 80240838 46001080 */ add.s $f2, $f2, $f0 +/* 9547FC 8024083C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 954800 80240840 46020001 */ sub.s $f0, $f0, $f2 +/* 954804 80240844 E6000044 */ swc1 $f0, 0x44($s0) +/* 954808 80240848 8E42005C */ lw $v0, 0x5c($s2) +/* 95480C 8024084C C6000050 */ lwc1 $f0, 0x50($s0) +/* 954810 80240850 C4420050 */ lwc1 $f2, 0x50($v0) +/* 954814 80240854 26940004 */ addiu $s4, $s4, 4 +/* 954818 80240858 46001080 */ add.s $f2, $f2, $f0 +/* 95481C 8024085C C6A00040 */ lwc1 $f0, 0x40($s5) +/* 954820 80240860 26730004 */ addiu $s3, $s3, 4 +/* 954824 80240864 46020001 */ sub.s $f0, $f0, $f2 +/* 954828 80240868 26310001 */ addiu $s1, $s1, 1 +/* 95482C 8024086C 2A220003 */ slti $v0, $s1, 3 +/* 954830 80240870 E6000050 */ swc1 $f0, 0x50($s0) +/* 954834 80240874 1440FFD7 */ bnez $v0, .L802407D4 +/* 954838 80240878 26100004 */ addiu $s0, $s0, 4 +.L8024087C: +/* 95483C 8024087C 8ED20060 */ lw $s2, 0x60($s6) +/* 954840 80240880 8E430000 */ lw $v1, ($s2) +/* 954844 80240884 24020001 */ addiu $v0, $zero, 1 +/* 954848 80240888 10620038 */ beq $v1, $v0, .L8024096C +/* 95484C 8024088C 28620002 */ slti $v0, $v1, 2 +/* 954850 80240890 50400005 */ beql $v0, $zero, .L802408A8 +/* 954854 80240894 24020002 */ addiu $v0, $zero, 2 +/* 954858 80240898 10600007 */ beqz $v1, .L802408B8 +/* 95485C 8024089C 24040005 */ addiu $a0, $zero, 5 +/* 954860 802408A0 08090294 */ j .L80240A50 +/* 954864 802408A4 00000000 */ nop +.L802408A8: +/* 954868 802408A8 10620058 */ beq $v1, $v0, .L80240A0C +/* 95486C 802408AC 00000000 */ nop +/* 954870 802408B0 08090294 */ j .L80240A50 +/* 954874 802408B4 00000000 */ nop +.L802408B8: +/* 954878 802408B8 0000882D */ daddu $s1, $zero, $zero +/* 95487C 802408BC 3C148024 */ lui $s4, 0x8024 +/* 954880 802408C0 26941488 */ addiu $s4, $s4, 0x1488 +/* 954884 802408C4 24130020 */ addiu $s3, $zero, 0x20 +/* 954888 802408C8 3C064248 */ lui $a2, 0x4248 +/* 95488C 802408CC 44800000 */ mtc1 $zero, $f0 +/* 954890 802408D0 24020014 */ addiu $v0, $zero, 0x14 +/* 954894 802408D4 AFA20010 */ sw $v0, 0x10($sp) +/* 954898 802408D8 44050000 */ mfc1 $a1, $f0 +/* 95489C 802408DC 8E470060 */ lw $a3, 0x60($s2) +/* 9548A0 802408E0 4485B000 */ mtc1 $a1, $f22 +/* 9548A4 802408E4 0C00A8ED */ jal update_lerp +/* 9548A8 802408E8 0240802D */ daddu $s0, $s2, $zero +/* 9548AC 802408EC 46000506 */ mov.s $f20, $f0 +.L802408F0: +/* 9548B0 802408F0 4406A000 */ mfc1 $a2, $f20 +/* 9548B4 802408F4 27A40020 */ addiu $a0, $sp, 0x20 +/* 9548B8 802408F8 E6160020 */ swc1 $f22, 0x20($s0) +/* 9548BC 802408FC 8E870000 */ lw $a3, ($s4) +/* 9548C0 80240900 02532821 */ addu $a1, $s2, $s3 +/* 9548C4 80240904 0C00A7E7 */ jal add_vec2D_polar +/* 9548C8 80240908 E7B60020 */ swc1 $f22, 0x20($sp) +/* 9548CC 8024090C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 9548D0 80240910 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 9548D4 80240914 46002102 */ mul.s $f4, $f4, $f0 +/* 9548D8 80240918 00000000 */ nop +/* 9548DC 8024091C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 9548E0 80240920 26940004 */ addiu $s4, $s4, 4 +/* 9548E4 80240924 46001082 */ mul.s $f2, $f2, $f0 +/* 9548E8 80240928 00000000 */ nop +/* 9548EC 8024092C 26730004 */ addiu $s3, $s3, 4 +/* 9548F0 80240930 26310001 */ addiu $s1, $s1, 1 +/* 9548F4 80240934 2A220003 */ slti $v0, $s1, 3 +/* 9548F8 80240938 E6040014 */ swc1 $f4, 0x14($s0) +/* 9548FC 8024093C E602002C */ swc1 $f2, 0x2c($s0) +/* 954900 80240940 1440FFEB */ bnez $v0, .L802408F0 +/* 954904 80240944 26100004 */ addiu $s0, $s0, 4 +/* 954908 80240948 8E420060 */ lw $v0, 0x60($s2) +/* 95490C 8024094C 24420001 */ addiu $v0, $v0, 1 +/* 954910 80240950 AE420060 */ sw $v0, 0x60($s2) +/* 954914 80240954 28420015 */ slti $v0, $v0, 0x15 +/* 954918 80240958 1440003D */ bnez $v0, .L80240A50 +/* 95491C 8024095C 24020001 */ addiu $v0, $zero, 1 +/* 954920 80240960 AE420000 */ sw $v0, ($s2) +/* 954924 80240964 08090294 */ j .L80240A50 +/* 954928 80240968 AE400060 */ sw $zero, 0x60($s2) +.L8024096C: +/* 95492C 8024096C 0000882D */ daddu $s1, $zero, $zero +/* 954930 80240970 3C148024 */ lui $s4, 0x8024 +/* 954934 80240974 26941488 */ addiu $s4, $s4, 0x1488 +/* 954938 80240978 24130020 */ addiu $s3, $zero, 0x20 +/* 95493C 8024097C 0240802D */ daddu $s0, $s2, $zero +/* 954940 80240980 3C014248 */ lui $at, 0x4248 +/* 954944 80240984 4481A000 */ mtc1 $at, $f20 +/* 954948 80240988 4480B000 */ mtc1 $zero, $f22 +.L8024098C: +/* 95494C 8024098C 4406A000 */ mfc1 $a2, $f20 +/* 954950 80240990 27A40020 */ addiu $a0, $sp, 0x20 +/* 954954 80240994 E6160020 */ swc1 $f22, 0x20($s0) +/* 954958 80240998 8E870000 */ lw $a3, ($s4) +/* 95495C 8024099C 02532821 */ addu $a1, $s2, $s3 +/* 954960 802409A0 0C00A7E7 */ jal add_vec2D_polar +/* 954964 802409A4 E7B60020 */ swc1 $f22, 0x20($sp) +/* 954968 802409A8 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 95496C 802409AC C7A00020 */ lwc1 $f0, 0x20($sp) +/* 954970 802409B0 46002102 */ mul.s $f4, $f4, $f0 +/* 954974 802409B4 00000000 */ nop +/* 954978 802409B8 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 95497C 802409BC 26940004 */ addiu $s4, $s4, 4 +/* 954980 802409C0 46001082 */ mul.s $f2, $f2, $f0 +/* 954984 802409C4 00000000 */ nop +/* 954988 802409C8 26730004 */ addiu $s3, $s3, 4 +/* 95498C 802409CC 26310001 */ addiu $s1, $s1, 1 +/* 954990 802409D0 2A220003 */ slti $v0, $s1, 3 +/* 954994 802409D4 E6040014 */ swc1 $f4, 0x14($s0) +/* 954998 802409D8 E602002C */ swc1 $f2, 0x2c($s0) +/* 95499C 802409DC 1440FFEB */ bnez $v0, .L8024098C +/* 9549A0 802409E0 26100004 */ addiu $s0, $s0, 4 +/* 9549A4 802409E4 8E420060 */ lw $v0, 0x60($s2) +/* 9549A8 802409E8 24420001 */ addiu $v0, $v0, 1 +/* 9549AC 802409EC AE420060 */ sw $v0, 0x60($s2) +/* 9549B0 802409F0 28420010 */ slti $v0, $v0, 0x10 +/* 9549B4 802409F4 14400016 */ bnez $v0, .L80240A50 +/* 9549B8 802409F8 2402000F */ addiu $v0, $zero, 0xf +/* 9549BC 802409FC AE420060 */ sw $v0, 0x60($s2) +/* 9549C0 80240A00 24020002 */ addiu $v0, $zero, 2 +/* 9549C4 80240A04 08090294 */ j .L80240A50 +/* 9549C8 80240A08 AE420000 */ sw $v0, ($s2) +.L80240A0C: +/* 9549CC 80240A0C 8E420060 */ lw $v0, 0x60($s2) +/* 9549D0 80240A10 24420001 */ addiu $v0, $v0, 1 +/* 9549D4 80240A14 AE420060 */ sw $v0, 0x60($s2) +/* 9549D8 80240A18 2842001F */ slti $v0, $v0, 0x1f +/* 9549DC 80240A1C 1440000C */ bnez $v0, .L80240A50 +/* 9549E0 80240A20 0000882D */ daddu $s1, $zero, $zero +/* 9549E4 80240A24 0240282D */ daddu $a1, $s2, $zero +.L80240A28: +/* 9549E8 80240A28 8CA20008 */ lw $v0, 8($a1) +/* 9549EC 80240A2C 8C430000 */ lw $v1, ($v0) +/* 9549F0 80240A30 26310001 */ addiu $s1, $s1, 1 +/* 9549F4 80240A34 34630010 */ ori $v1, $v1, 0x10 +/* 9549F8 80240A38 AC430000 */ sw $v1, ($v0) +/* 9549FC 80240A3C 2A220003 */ slti $v0, $s1, 3 +/* 954A00 80240A40 1440FFF9 */ bnez $v0, .L80240A28 +/* 954A04 80240A44 24A50004 */ addiu $a1, $a1, 4 +/* 954A08 80240A48 080902E1 */ j .L80240B84 +/* 954A0C 80240A4C 24020002 */ addiu $v0, $zero, 2 +.L80240A50: +/* 954A10 80240A50 8E430004 */ lw $v1, 4($s2) +/* 954A14 80240A54 10600005 */ beqz $v1, .L80240A6C +/* 954A18 80240A58 24020001 */ addiu $v0, $zero, 1 +/* 954A1C 80240A5C 1062000B */ beq $v1, $v0, .L80240A8C +/* 954A20 80240A60 0000882D */ daddu $s1, $zero, $zero +/* 954A24 80240A64 080902D0 */ j .L80240B40 +/* 954A28 80240A68 0240282D */ daddu $a1, $s2, $zero +.L80240A6C: +/* 954A2C 80240A6C 8E420064 */ lw $v0, 0x64($s2) +/* 954A30 80240A70 24420001 */ addiu $v0, $v0, 1 +/* 954A34 80240A74 AE420064 */ sw $v0, 0x64($s2) +/* 954A38 80240A78 28420010 */ slti $v0, $v0, 0x10 +/* 954A3C 80240A7C 1440002F */ bnez $v0, .L80240B3C +/* 954A40 80240A80 0000882D */ daddu $s1, $zero, $zero +/* 954A44 80240A84 080902CC */ j .L80240B30 +/* 954A48 80240A88 24020001 */ addiu $v0, $zero, 1 +.L80240A8C: +/* 954A4C 80240A8C 4480A000 */ mtc1 $zero, $f20 +/* 954A50 80240A90 24130014 */ addiu $s3, $zero, 0x14 +/* 954A54 80240A94 0240802D */ daddu $s0, $s2, $zero +.L80240A98: +/* 954A58 80240A98 4405A000 */ mfc1 $a1, $f20 +/* 954A5C 80240A9C AFB30010 */ sw $s3, 0x10($sp) +/* 954A60 80240AA0 8E060038 */ lw $a2, 0x38($s0) +/* 954A64 80240AA4 8E470064 */ lw $a3, 0x64($s2) +/* 954A68 80240AA8 0C00A8ED */ jal update_lerp +/* 954A6C 80240AAC 24040001 */ addiu $a0, $zero, 1 +/* 954A70 80240AB0 C6020014 */ lwc1 $f2, 0x14($s0) +/* 954A74 80240AB4 46001080 */ add.s $f2, $f2, $f0 +/* 954A78 80240AB8 4405A000 */ mfc1 $a1, $f20 +/* 954A7C 80240ABC E6020014 */ swc1 $f2, 0x14($s0) +/* 954A80 80240AC0 AFB30010 */ sw $s3, 0x10($sp) +/* 954A84 80240AC4 8E060044 */ lw $a2, 0x44($s0) +/* 954A88 80240AC8 8E470064 */ lw $a3, 0x64($s2) +/* 954A8C 80240ACC 0C00A8ED */ jal update_lerp +/* 954A90 80240AD0 24040001 */ addiu $a0, $zero, 1 +/* 954A94 80240AD4 C6020020 */ lwc1 $f2, 0x20($s0) +/* 954A98 80240AD8 46001080 */ add.s $f2, $f2, $f0 +/* 954A9C 80240ADC 4405A000 */ mfc1 $a1, $f20 +/* 954AA0 80240AE0 E6020020 */ swc1 $f2, 0x20($s0) +/* 954AA4 80240AE4 AFB30010 */ sw $s3, 0x10($sp) +/* 954AA8 80240AE8 8E060050 */ lw $a2, 0x50($s0) +/* 954AAC 80240AEC 8E470064 */ lw $a3, 0x64($s2) +/* 954AB0 80240AF0 0C00A8ED */ jal update_lerp +/* 954AB4 80240AF4 24040001 */ addiu $a0, $zero, 1 +/* 954AB8 80240AF8 C602002C */ lwc1 $f2, 0x2c($s0) +/* 954ABC 80240AFC 46001080 */ add.s $f2, $f2, $f0 +/* 954AC0 80240B00 26310001 */ addiu $s1, $s1, 1 +/* 954AC4 80240B04 2A220003 */ slti $v0, $s1, 3 +/* 954AC8 80240B08 E602002C */ swc1 $f2, 0x2c($s0) +/* 954ACC 80240B0C 1440FFE2 */ bnez $v0, .L80240A98 +/* 954AD0 80240B10 26100004 */ addiu $s0, $s0, 4 +/* 954AD4 80240B14 8E420064 */ lw $v0, 0x64($s2) +/* 954AD8 80240B18 24420001 */ addiu $v0, $v0, 1 +/* 954ADC 80240B1C AE420064 */ sw $v0, 0x64($s2) +/* 954AE0 80240B20 28420015 */ slti $v0, $v0, 0x15 +/* 954AE4 80240B24 14400005 */ bnez $v0, .L80240B3C +/* 954AE8 80240B28 0000882D */ daddu $s1, $zero, $zero +/* 954AEC 80240B2C 24020002 */ addiu $v0, $zero, 2 +.L80240B30: +/* 954AF0 80240B30 AE420004 */ sw $v0, 4($s2) +/* 954AF4 80240B34 AE400064 */ sw $zero, 0x64($s2) +/* 954AF8 80240B38 0000882D */ daddu $s1, $zero, $zero +.L80240B3C: +/* 954AFC 80240B3C 0240282D */ daddu $a1, $s2, $zero +.L80240B40: +/* 954B00 80240B40 8CA20008 */ lw $v0, 8($a1) +/* 954B04 80240B44 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 954B08 80240B48 8C42000C */ lw $v0, 0xc($v0) +/* 954B0C 80240B4C E4400010 */ swc1 $f0, 0x10($v0) +/* 954B10 80240B50 8CA20008 */ lw $v0, 8($a1) +/* 954B14 80240B54 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 954B18 80240B58 8C42000C */ lw $v0, 0xc($v0) +/* 954B1C 80240B5C 26310001 */ addiu $s1, $s1, 1 +/* 954B20 80240B60 E4400014 */ swc1 $f0, 0x14($v0) +/* 954B24 80240B64 8CA20008 */ lw $v0, 8($a1) +/* 954B28 80240B68 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 954B2C 80240B6C 8C42000C */ lw $v0, 0xc($v0) +/* 954B30 80240B70 E4400018 */ swc1 $f0, 0x18($v0) +/* 954B34 80240B74 2A220003 */ slti $v0, $s1, 3 +/* 954B38 80240B78 1440FFF1 */ bnez $v0, .L80240B40 +/* 954B3C 80240B7C 24A50004 */ addiu $a1, $a1, 4 +/* 954B40 80240B80 0000102D */ daddu $v0, $zero, $zero +.L80240B84: +/* 954B44 80240B84 8FBF0044 */ lw $ra, 0x44($sp) +/* 954B48 80240B88 8FB60040 */ lw $s6, 0x40($sp) +/* 954B4C 80240B8C 8FB5003C */ lw $s5, 0x3c($sp) +/* 954B50 80240B90 8FB40038 */ lw $s4, 0x38($sp) +/* 954B54 80240B94 8FB30034 */ lw $s3, 0x34($sp) +/* 954B58 80240B98 8FB20030 */ lw $s2, 0x30($sp) +/* 954B5C 80240B9C 8FB1002C */ lw $s1, 0x2c($sp) +/* 954B60 80240BA0 8FB00028 */ lw $s0, 0x28($sp) +/* 954B64 80240BA4 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 954B68 80240BA8 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 954B6C 80240BAC D7B40048 */ ldc1 $f20, 0x48($sp) +/* 954B70 80240BB0 03E00008 */ jr $ra +/* 954B74 80240BB4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240BB8.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240BB8.s new file mode 100644 index 0000000000..10ea5ad92a --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240BB8.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BB8 +/* 954B78 80240BB8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 954B7C 80240BBC AFB10014 */ sw $s1, 0x14($sp) +/* 954B80 80240BC0 0080882D */ daddu $s1, $a0, $zero +/* 954B84 80240BC4 AFB20018 */ sw $s2, 0x18($sp) +/* 954B88 80240BC8 AFBF001C */ sw $ra, 0x1c($sp) +/* 954B8C 80240BCC AFB00010 */ sw $s0, 0x10($sp) +/* 954B90 80240BD0 8E30000C */ lw $s0, 0xc($s1) +/* 954B94 80240BD4 10A00010 */ beqz $a1, .L80240C18 +/* 954B98 80240BD8 0000902D */ daddu $s2, $zero, $zero +/* 954B9C 80240BDC 8E050000 */ lw $a1, ($s0) +/* 954BA0 80240BE0 0C0B1EAF */ jal get_variable +/* 954BA4 80240BE4 26100004 */ addiu $s0, $s0, 4 +/* 954BA8 80240BE8 AE220084 */ sw $v0, 0x84($s1) +/* 954BAC 80240BEC 8E050000 */ lw $a1, ($s0) +/* 954BB0 80240BF0 0C0B1EAF */ jal get_variable +/* 954BB4 80240BF4 0220202D */ daddu $a0, $s1, $zero +/* 954BB8 80240BF8 0240202D */ daddu $a0, $s2, $zero +/* 954BBC 80240BFC 240500D0 */ addiu $a1, $zero, 0xd0 +/* 954BC0 80240C00 00A0302D */ daddu $a2, $a1, $zero +/* 954BC4 80240C04 00A0382D */ daddu $a3, $a1, $zero +/* 954BC8 80240C08 AE220088 */ sw $v0, 0x88($s1) +/* 954BCC 80240C0C AE200070 */ sw $zero, 0x70($s1) +/* 954BD0 80240C10 0C04DF84 */ jal func_80137E10 +/* 954BD4 80240C14 AE200074 */ sw $zero, 0x74($s1) +.L80240C18: +/* 954BD8 80240C18 8E230070 */ lw $v1, 0x70($s1) +/* 954BDC 80240C1C 24040001 */ addiu $a0, $zero, 1 +/* 954BE0 80240C20 10640019 */ beq $v1, $a0, .L80240C88 +/* 954BE4 80240C24 28620002 */ slti $v0, $v1, 2 +/* 954BE8 80240C28 10400005 */ beqz $v0, .L80240C40 +/* 954BEC 80240C2C 24020002 */ addiu $v0, $zero, 2 +/* 954BF0 80240C30 10600007 */ beqz $v1, .L80240C50 +/* 954BF4 80240C34 240500FF */ addiu $a1, $zero, 0xff +/* 954BF8 80240C38 08090332 */ j .L80240CC8 +/* 954BFC 80240C3C 00000000 */ nop +.L80240C40: +/* 954C00 80240C40 10620019 */ beq $v1, $v0, .L80240CA8 +/* 954C04 80240C44 00000000 */ nop +/* 954C08 80240C48 08090332 */ j .L80240CC8 +/* 954C0C 80240C4C 00000000 */ nop +.L80240C50: +/* 954C10 80240C50 8E220074 */ lw $v0, 0x74($s1) +/* 954C14 80240C54 14450004 */ bne $v0, $a1, .L80240C68 +/* 954C18 80240C58 00000000 */ nop +/* 954C1C 80240C5C AE240070 */ sw $a0, 0x70($s1) +/* 954C20 80240C60 AE200078 */ sw $zero, 0x78($s1) +/* 954C24 80240C64 8E220074 */ lw $v0, 0x74($s1) +.L80240C68: +/* 954C28 80240C68 8E230084 */ lw $v1, 0x84($s1) +/* 954C2C 80240C6C 00431021 */ addu $v0, $v0, $v1 +/* 954C30 80240C70 AE220074 */ sw $v0, 0x74($s1) +/* 954C34 80240C74 28420100 */ slti $v0, $v0, 0x100 +/* 954C38 80240C78 50400013 */ beql $v0, $zero, .L80240CC8 +/* 954C3C 80240C7C AE250074 */ sw $a1, 0x74($s1) +/* 954C40 80240C80 08090332 */ j .L80240CC8 +/* 954C44 80240C84 00000000 */ nop +.L80240C88: +/* 954C48 80240C88 8E220078 */ lw $v0, 0x78($s1) +/* 954C4C 80240C8C 24420001 */ addiu $v0, $v0, 1 +/* 954C50 80240C90 AE220078 */ sw $v0, 0x78($s1) +/* 954C54 80240C94 28420002 */ slti $v0, $v0, 2 +/* 954C58 80240C98 1440000B */ bnez $v0, .L80240CC8 +/* 954C5C 80240C9C 24020002 */ addiu $v0, $zero, 2 +/* 954C60 80240CA0 08090332 */ j .L80240CC8 +/* 954C64 80240CA4 AE220070 */ sw $v0, 0x70($s1) +.L80240CA8: +/* 954C68 80240CA8 8E230074 */ lw $v1, 0x74($s1) +/* 954C6C 80240CAC 50600001 */ beql $v1, $zero, .L80240CB4 +/* 954C70 80240CB0 24120001 */ addiu $s2, $zero, 1 +.L80240CB4: +/* 954C74 80240CB4 8E220088 */ lw $v0, 0x88($s1) +/* 954C78 80240CB8 00621023 */ subu $v0, $v1, $v0 +/* 954C7C 80240CBC 04410002 */ bgez $v0, .L80240CC8 +/* 954C80 80240CC0 AE220074 */ sw $v0, 0x74($s1) +/* 954C84 80240CC4 AE200074 */ sw $zero, 0x74($s1) +.L80240CC8: +/* 954C88 80240CC8 C6200074 */ lwc1 $f0, 0x74($s1) +/* 954C8C 80240CCC 46800020 */ cvt.s.w $f0, $f0 +/* 954C90 80240CD0 44050000 */ mfc1 $a1, $f0 +/* 954C94 80240CD4 0C04DF62 */ jal func_80137D88 +/* 954C98 80240CD8 24040001 */ addiu $a0, $zero, 1 +/* 954C9C 80240CDC 0240102D */ daddu $v0, $s2, $zero +/* 954CA0 80240CE0 8FBF001C */ lw $ra, 0x1c($sp) +/* 954CA4 80240CE4 8FB20018 */ lw $s2, 0x18($sp) +/* 954CA8 80240CE8 8FB10014 */ lw $s1, 0x14($sp) +/* 954CAC 80240CEC 8FB00010 */ lw $s0, 0x10($sp) +/* 954CB0 80240CF0 03E00008 */ jr $ra +/* 954CB4 80240CF4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240CF8.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240CF8.s new file mode 100644 index 0000000000..6fd7000c4d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240CF8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF8 +/* 954CB8 80240CF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 954CBC 80240CFC AFBF0018 */ sw $ra, 0x18($sp) +/* 954CC0 80240D00 0C00EAD2 */ jal get_npc_safe +/* 954CC4 80240D04 2404FFFC */ addiu $a0, $zero, -4 +/* 954CC8 80240D08 3C0141F0 */ lui $at, 0x41f0 +/* 954CCC 80240D0C 44810000 */ mtc1 $at, $f0 +/* 954CD0 80240D10 C442003C */ lwc1 $f2, 0x3c($v0) +/* 954CD4 80240D14 46001080 */ add.s $f2, $f2, $f0 +/* 954CD8 80240D18 E7A00010 */ swc1 $f0, 0x10($sp) +/* 954CDC 80240D1C 8C450038 */ lw $a1, 0x38($v0) +/* 954CE0 80240D20 8C470040 */ lw $a3, 0x40($v0) +/* 954CE4 80240D24 44061000 */ mfc1 $a2, $f2 +/* 954CE8 80240D28 0C01BFBC */ jal func_8006FEF0 +/* 954CEC 80240D2C 24040002 */ addiu $a0, $zero, 2 +/* 954CF0 80240D30 8FBF0018 */ lw $ra, 0x18($sp) +/* 954CF4 80240D34 24020002 */ addiu $v0, $zero, 2 +/* 954CF8 80240D38 03E00008 */ jr $ra +/* 954CFC 80240D3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D40.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D40.s new file mode 100644 index 0000000000..13bc752acf --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D40.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D40 +/* 954D00 80240D40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 954D04 80240D44 AFBF0018 */ sw $ra, 0x18($sp) +/* 954D08 80240D48 0C00EAD2 */ jal get_npc_safe +/* 954D0C 80240D4C 2404FFFC */ addiu $a0, $zero, -4 +/* 954D10 80240D50 3C0141F0 */ lui $at, 0x41f0 +/* 954D14 80240D54 44810000 */ mtc1 $at, $f0 +/* 954D18 80240D58 C442003C */ lwc1 $f2, 0x3c($v0) +/* 954D1C 80240D5C 46001080 */ add.s $f2, $f2, $f0 +/* 954D20 80240D60 E7A00010 */ swc1 $f0, 0x10($sp) +/* 954D24 80240D64 8C450038 */ lw $a1, 0x38($v0) +/* 954D28 80240D68 8C470040 */ lw $a3, 0x40($v0) +/* 954D2C 80240D6C 44061000 */ mfc1 $a2, $f2 +/* 954D30 80240D70 0C01BFBC */ jal func_8006FEF0 +/* 954D34 80240D74 24040004 */ addiu $a0, $zero, 4 +/* 954D38 80240D78 8FBF0018 */ lw $ra, 0x18($sp) +/* 954D3C 80240D7C 24020002 */ addiu $v0, $zero, 2 +/* 954D40 80240D80 03E00008 */ jr $ra +/* 954D44 80240D84 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D88.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D88.s new file mode 100644 index 0000000000..985625be66 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240D88.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D88 +/* 954D48 80240D88 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 954D4C 80240D8C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 954D50 80240D90 AC800084 */ sw $zero, 0x84($a0) +/* 954D54 80240D94 80620000 */ lb $v0, ($v1) +/* 954D58 80240D98 10400005 */ beqz $v0, .L80240DB0 +/* 954D5C 80240D9C 24020003 */ addiu $v0, $zero, 3 +/* 954D60 80240DA0 80630003 */ lb $v1, 3($v1) +/* 954D64 80240DA4 14620002 */ bne $v1, $v0, .L80240DB0 +/* 954D68 80240DA8 24020001 */ addiu $v0, $zero, 1 +/* 954D6C 80240DAC AC820084 */ sw $v0, 0x84($a0) +.L80240DB0: +/* 954D70 80240DB0 03E00008 */ jr $ra +/* 954D74 80240DB4 24020002 */ addiu $v0, $zero, 2 +/* 954D78 80240DB8 00000000 */ nop +/* 954D7C 80240DBC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240DC0.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240DC0.s new file mode 100644 index 0000000000..1ec7e658bf --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240DC0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DC0 +/* 954D80 80240DC0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 954D84 80240DC4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 954D88 80240DC8 4485A000 */ mtc1 $a1, $f20 +/* 954D8C 80240DCC F7B60020 */ sdc1 $f22, 0x20($sp) +/* 954D90 80240DD0 4486B000 */ mtc1 $a2, $f22 +/* 954D94 80240DD4 AFB00010 */ sw $s0, 0x10($sp) +/* 954D98 80240DD8 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 954D9C 80240DDC 4487C000 */ mtc1 $a3, $f24 +/* 954DA0 80240DE0 AFBF0014 */ sw $ra, 0x14($sp) +/* 954DA4 80240DE4 0C019D28 */ jal guMtxIdentF +/* 954DA8 80240DE8 0080802D */ daddu $s0, $a0, $zero +/* 954DAC 80240DEC 4616A582 */ mul.s $f22, $f20, $f22 +/* 954DB0 80240DF0 00000000 */ nop +/* 954DB4 80240DF4 4618A502 */ mul.s $f20, $f20, $f24 +/* 954DB8 80240DF8 00000000 */ nop +/* 954DBC 80240DFC 3C013F80 */ lui $at, 0x3f80 +/* 954DC0 80240E00 44810000 */ mtc1 $at, $f0 +/* 954DC4 80240E04 00000000 */ nop +/* 954DC8 80240E08 E6000014 */ swc1 $f0, 0x14($s0) +/* 954DCC 80240E0C E6160010 */ swc1 $f22, 0x10($s0) +/* 954DD0 80240E10 E6140018 */ swc1 $f20, 0x18($s0) +/* 954DD4 80240E14 8FBF0014 */ lw $ra, 0x14($sp) +/* 954DD8 80240E18 8FB00010 */ lw $s0, 0x10($sp) +/* 954DDC 80240E1C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 954DE0 80240E20 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 954DE4 80240E24 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 954DE8 80240E28 03E00008 */ jr $ra +/* 954DEC 80240E2C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_56/func_80240E30.s b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240E30.s new file mode 100644 index 0000000000..d05e5dab47 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_56/func_80240E30.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E30 +/* 954DF0 80240E30 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 954DF4 80240E34 AFB10054 */ sw $s1, 0x54($sp) +/* 954DF8 80240E38 0080882D */ daddu $s1, $a0, $zero +/* 954DFC 80240E3C AFBF005C */ sw $ra, 0x5c($sp) +/* 954E00 80240E40 AFB20058 */ sw $s2, 0x58($sp) +/* 954E04 80240E44 AFB00050 */ sw $s0, 0x50($sp) +/* 954E08 80240E48 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 954E0C 80240E4C F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 954E10 80240E50 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 954E14 80240E54 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 954E18 80240E58 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 954E1C 80240E5C 8E30000C */ lw $s0, 0xc($s1) +/* 954E20 80240E60 8E050000 */ lw $a1, ($s0) +/* 954E24 80240E64 0C0B1EAF */ jal get_variable +/* 954E28 80240E68 26100004 */ addiu $s0, $s0, 4 +/* 954E2C 80240E6C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 954E30 80240E70 0040202D */ daddu $a0, $v0, $zero +/* 954E34 80240E74 8E050000 */ lw $a1, ($s0) +/* 954E38 80240E78 26100004 */ addiu $s0, $s0, 4 +/* 954E3C 80240E7C 0220202D */ daddu $a0, $s1, $zero +/* 954E40 80240E80 0C0B210B */ jal get_float_variable +/* 954E44 80240E84 0040902D */ daddu $s2, $v0, $zero +/* 954E48 80240E88 8E050000 */ lw $a1, ($s0) +/* 954E4C 80240E8C 26100004 */ addiu $s0, $s0, 4 +/* 954E50 80240E90 0220202D */ daddu $a0, $s1, $zero +/* 954E54 80240E94 0C0B210B */ jal get_float_variable +/* 954E58 80240E98 46000706 */ mov.s $f28, $f0 +/* 954E5C 80240E9C 8E050000 */ lw $a1, ($s0) +/* 954E60 80240EA0 26100004 */ addiu $s0, $s0, 4 +/* 954E64 80240EA4 0220202D */ daddu $a0, $s1, $zero +/* 954E68 80240EA8 0C0B210B */ jal get_float_variable +/* 954E6C 80240EAC 46000686 */ mov.s $f26, $f0 +/* 954E70 80240EB0 0220202D */ daddu $a0, $s1, $zero +/* 954E74 80240EB4 8E050000 */ lw $a1, ($s0) +/* 954E78 80240EB8 0C0B210B */ jal get_float_variable +/* 954E7C 80240EBC 46000586 */ mov.s $f22, $f0 +/* 954E80 80240EC0 0240202D */ daddu $a0, $s2, $zero +/* 954E84 80240EC4 0C046B4C */ jal get_model_from_list_index +/* 954E88 80240EC8 46000606 */ mov.s $f24, $f0 +/* 954E8C 80240ECC 0040882D */ daddu $s1, $v0, $zero +/* 954E90 80240ED0 96220000 */ lhu $v0, ($s1) +/* 954E94 80240ED4 30420400 */ andi $v0, $v0, 0x400 +/* 954E98 80240ED8 1440001E */ bnez $v0, .L80240F54 +/* 954E9C 80240EDC 26300058 */ addiu $s0, $s1, 0x58 +/* 954EA0 80240EE0 4480A000 */ mtc1 $zero, $f20 +/* 954EA4 80240EE4 4406B000 */ mfc1 $a2, $f22 +/* 954EA8 80240EE8 4405A000 */ mfc1 $a1, $f20 +/* 954EAC 80240EEC 4407A000 */ mfc1 $a3, $f20 +/* 954EB0 80240EF0 0C019E40 */ jal guTranslateF +/* 954EB4 80240EF4 0200202D */ daddu $a0, $s0, $zero +/* 954EB8 80240EF8 4405E000 */ mfc1 $a1, $f28 +/* 954EBC 80240EFC 4406D000 */ mfc1 $a2, $f26 +/* 954EC0 80240F00 4407C000 */ mfc1 $a3, $f24 +/* 954EC4 80240F04 0C090370 */ jal func_80240DC0 +/* 954EC8 80240F08 27A40010 */ addiu $a0, $sp, 0x10 +/* 954ECC 80240F0C 27A40010 */ addiu $a0, $sp, 0x10 +/* 954ED0 80240F10 0200282D */ daddu $a1, $s0, $zero +/* 954ED4 80240F14 0C019D80 */ jal guMtxCatF +/* 954ED8 80240F18 0200302D */ daddu $a2, $s0, $zero +/* 954EDC 80240F1C 27A40010 */ addiu $a0, $sp, 0x10 +/* 954EE0 80240F20 4600B587 */ neg.s $f22, $f22 +/* 954EE4 80240F24 4405A000 */ mfc1 $a1, $f20 +/* 954EE8 80240F28 4406B000 */ mfc1 $a2, $f22 +/* 954EEC 80240F2C 0C019E40 */ jal guTranslateF +/* 954EF0 80240F30 00A0382D */ daddu $a3, $a1, $zero +/* 954EF4 80240F34 27A40010 */ addiu $a0, $sp, 0x10 +/* 954EF8 80240F38 0200282D */ daddu $a1, $s0, $zero +/* 954EFC 80240F3C 0C019D80 */ jal guMtxCatF +/* 954F00 80240F40 00A0302D */ daddu $a2, $a1, $zero +/* 954F04 80240F44 96220000 */ lhu $v0, ($s1) +/* 954F08 80240F48 34421400 */ ori $v0, $v0, 0x1400 +/* 954F0C 80240F4C 080903F3 */ j .L80240FCC +/* 954F10 80240F50 A6220000 */ sh $v0, ($s1) +.L80240F54: +/* 954F14 80240F54 4480A000 */ mtc1 $zero, $f20 +/* 954F18 80240F58 4406B000 */ mfc1 $a2, $f22 +/* 954F1C 80240F5C 4405A000 */ mfc1 $a1, $f20 +/* 954F20 80240F60 4407A000 */ mfc1 $a3, $f20 +/* 954F24 80240F64 0C019E40 */ jal guTranslateF +/* 954F28 80240F68 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F2C 80240F6C 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F30 80240F70 26300058 */ addiu $s0, $s1, 0x58 +/* 954F34 80240F74 0200282D */ daddu $a1, $s0, $zero +/* 954F38 80240F78 0C019D80 */ jal guMtxCatF +/* 954F3C 80240F7C 0200302D */ daddu $a2, $s0, $zero +/* 954F40 80240F80 4405E000 */ mfc1 $a1, $f28 +/* 954F44 80240F84 4406D000 */ mfc1 $a2, $f26 +/* 954F48 80240F88 4407C000 */ mfc1 $a3, $f24 +/* 954F4C 80240F8C 0C090370 */ jal func_80240DC0 +/* 954F50 80240F90 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F54 80240F94 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F58 80240F98 0200282D */ daddu $a1, $s0, $zero +/* 954F5C 80240F9C 0C019D80 */ jal guMtxCatF +/* 954F60 80240FA0 0200302D */ daddu $a2, $s0, $zero +/* 954F64 80240FA4 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F68 80240FA8 4600B587 */ neg.s $f22, $f22 +/* 954F6C 80240FAC 4405A000 */ mfc1 $a1, $f20 +/* 954F70 80240FB0 4406B000 */ mfc1 $a2, $f22 +/* 954F74 80240FB4 0C019E40 */ jal guTranslateF +/* 954F78 80240FB8 00A0382D */ daddu $a3, $a1, $zero +/* 954F7C 80240FBC 27A40010 */ addiu $a0, $sp, 0x10 +/* 954F80 80240FC0 0200282D */ daddu $a1, $s0, $zero +/* 954F84 80240FC4 0C019D80 */ jal guMtxCatF +/* 954F88 80240FC8 00A0302D */ daddu $a2, $a1, $zero +.L80240FCC: +/* 954F8C 80240FCC 8FBF005C */ lw $ra, 0x5c($sp) +/* 954F90 80240FD0 8FB20058 */ lw $s2, 0x58($sp) +/* 954F94 80240FD4 8FB10054 */ lw $s1, 0x54($sp) +/* 954F98 80240FD8 8FB00050 */ lw $s0, 0x50($sp) +/* 954F9C 80240FDC D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 954FA0 80240FE0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 954FA4 80240FE4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 954FA8 80240FE8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 954FAC 80240FEC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 954FB0 80240FF0 24020002 */ addiu $v0, $zero, 2 +/* 954FB4 80240FF4 03E00008 */ jr $ra +/* 954FB8 80240FF8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 954FBC 80240FFC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_60/func_80240000_9569F0.s b/asm/nonmatchings/world/area_sbk/sbk_60/func_80240000_9569F0.s new file mode 100644 index 0000000000..0a330553b5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_60/func_80240000_9569F0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9569F0 +/* 9569F0 80240000 44800000 */ mtc1 $zero, $f0 +/* 9569F4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9569F8 80240008 44050000 */ mfc1 $a1, $f0 +/* 9569FC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 956A00 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 956A04 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 956A08 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 956A0C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 956A10 80240020 0C01CA54 */ jal func_80072950 +/* 956A14 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 956A18 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 956A1C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 956A20 80240030 03E00008 */ jr $ra +/* 956A24 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 956A28 80240038 00000000 */ nop +/* 956A2C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_60/func_80240040_9569F0.s b/asm/nonmatchings/world/area_sbk/sbk_60/func_80240040_9569F0.s new file mode 100644 index 0000000000..038b02d791 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_60/func_80240040_9569F0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_956A30 +/* 956A30 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 956A34 80240044 24020003 */ addiu $v0, $zero, 3 +/* 956A38 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 956A3C 8024004C 03E00008 */ jr $ra +/* 956A40 80240050 24020002 */ addiu $v0, $zero, 2 +/* 956A44 80240054 00000000 */ nop +/* 956A48 80240058 00000000 */ nop +/* 956A4C 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_61/func_80240000_956F90.s b/asm/nonmatchings/world/area_sbk/sbk_61/func_80240000_956F90.s new file mode 100644 index 0000000000..8d3684818b --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_61/func_80240000_956F90.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_956F90 +/* 956F90 80240000 44800000 */ mtc1 $zero, $f0 +/* 956F94 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 956F98 80240008 44050000 */ mfc1 $a1, $f0 +/* 956F9C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 956FA0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 956FA4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 956FA8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 956FAC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 956FB0 80240020 0C01CA54 */ jal func_80072950 +/* 956FB4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 956FB8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 956FBC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 956FC0 80240030 03E00008 */ jr $ra +/* 956FC4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 956FC8 80240038 00000000 */ nop +/* 956FCC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_62/func_80240000_957350.s b/asm/nonmatchings/world/area_sbk/sbk_62/func_80240000_957350.s new file mode 100644 index 0000000000..7565d437df --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_62/func_80240000_957350.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_957350 +/* 957350 80240000 44800000 */ mtc1 $zero, $f0 +/* 957354 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 957358 80240008 44050000 */ mfc1 $a1, $f0 +/* 95735C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 957360 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 957364 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 957368 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95736C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 957370 80240020 0C01CA54 */ jal func_80072950 +/* 957374 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 957378 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 95737C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 957380 80240030 03E00008 */ jr $ra +/* 957384 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 957388 80240038 00000000 */ nop +/* 95738C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_62/func_80240040_957350.s b/asm/nonmatchings/world/area_sbk/sbk_62/func_80240040_957350.s new file mode 100644 index 0000000000..955b899d69 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_62/func_80240040_957350.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_957390 +/* 957390 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 957394 80240044 24020003 */ addiu $v0, $zero, 3 +/* 957398 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 95739C 8024004C 03E00008 */ jr $ra +/* 9573A0 80240050 24020002 */ addiu $v0, $zero, 2 +/* 9573A4 80240054 00000000 */ nop +/* 9573A8 80240058 00000000 */ nop +/* 9573AC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_63/func_80240000_957D70.s b/asm/nonmatchings/world/area_sbk/sbk_63/func_80240000_957D70.s new file mode 100644 index 0000000000..793d2ef3f5 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_63/func_80240000_957D70.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_957D70 +/* 957D70 80240000 44800000 */ mtc1 $zero, $f0 +/* 957D74 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 957D78 80240008 44050000 */ mfc1 $a1, $f0 +/* 957D7C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 957D80 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 957D84 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 957D88 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 957D8C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 957D90 80240020 0C01CA54 */ jal func_80072950 +/* 957D94 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 957D98 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 957D9C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 957DA0 80240030 03E00008 */ jr $ra +/* 957DA4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 957DA8 80240038 00000000 */ nop +/* 957DAC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_63/func_80240040_957D70.s b/asm/nonmatchings/world/area_sbk/sbk_63/func_80240040_957D70.s new file mode 100644 index 0000000000..d672fd93e4 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_63/func_80240040_957D70.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_957DB0 +/* 957DB0 80240040 8C830148 */ lw $v1, 0x148($a0) +/* 957DB4 80240044 24020003 */ addiu $v0, $zero, 3 +/* 957DB8 80240048 A06200B5 */ sb $v0, 0xb5($v1) +/* 957DBC 8024004C 03E00008 */ jr $ra +/* 957DC0 80240050 24020002 */ addiu $v0, $zero, 2 +/* 957DC4 80240054 00000000 */ nop +/* 957DC8 80240058 00000000 */ nop +/* 957DCC 8024005C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_64/func_80240000_958590.s b/asm/nonmatchings/world/area_sbk/sbk_64/func_80240000_958590.s new file mode 100644 index 0000000000..aaf6fcda25 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_64/func_80240000_958590.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_958590 +/* 958590 80240000 44800000 */ mtc1 $zero, $f0 +/* 958594 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 958598 80240008 44050000 */ mfc1 $a1, $f0 +/* 95859C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 9585A0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 9585A4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 9585A8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9585AC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 9585B0 80240020 0C01CA54 */ jal func_80072950 +/* 9585B4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 9585B8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 9585BC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 9585C0 80240030 03E00008 */ jr $ra +/* 9585C4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9585C8 80240038 00000000 */ nop +/* 9585CC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_65/func_80240000_958950.s b/asm/nonmatchings/world/area_sbk/sbk_65/func_80240000_958950.s new file mode 100644 index 0000000000..ee4188ef47 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_65/func_80240000_958950.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_958950 +/* 958950 80240000 44800000 */ mtc1 $zero, $f0 +/* 958954 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 958958 80240008 44050000 */ mfc1 $a1, $f0 +/* 95895C 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 958960 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 958964 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 958968 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 95896C 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 958970 80240020 0C01CA54 */ jal func_80072950 +/* 958974 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 958978 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 95897C 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 958980 80240030 03E00008 */ jr $ra +/* 958984 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 958988 80240038 00000000 */ nop +/* 95898C 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_66/func_80240000_958CB0.s b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240000_958CB0.s new file mode 100644 index 0000000000..372197ee2d --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240000_958CB0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_958CB0 +/* 958CB0 80240000 44800000 */ mtc1 $zero, $f0 +/* 958CB4 80240004 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 958CB8 80240008 44050000 */ mfc1 $a1, $f0 +/* 958CBC 8024000C 0000202D */ daddu $a0, $zero, $zero +/* 958CC0 80240010 AFBF0018 */ sw $ra, 0x18($sp) +/* 958CC4 80240014 AFA00014 */ sw $zero, 0x14($sp) +/* 958CC8 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 958CCC 8024001C 00A0302D */ daddu $a2, $a1, $zero +/* 958CD0 80240020 0C01CA54 */ jal func_80072950 +/* 958CD4 80240024 00A0382D */ daddu $a3, $a1, $zero +/* 958CD8 80240028 8FBF0018 */ lw $ra, 0x18($sp) +/* 958CDC 8024002C 24020002 */ addiu $v0, $zero, 2 +/* 958CE0 80240030 03E00008 */ jr $ra +/* 958CE4 80240034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 958CE8 80240038 00000000 */ nop +/* 958CEC 8024003C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_sbk/sbk_66/func_80240040_958CB0.s b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240040_958CB0.s new file mode 100644 index 0000000000..bf755fdc90 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240040_958CB0.s @@ -0,0 +1,73 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240040_958CF0 +/* 958CF0 80240040 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 958CF4 80240044 AFB3001C */ sw $s3, 0x1c($sp) +/* 958CF8 80240048 0080982D */ daddu $s3, $a0, $zero +/* 958CFC 8024004C AFBF0024 */ sw $ra, 0x24($sp) +/* 958D00 80240050 AFB40020 */ sw $s4, 0x20($sp) +/* 958D04 80240054 AFB20018 */ sw $s2, 0x18($sp) +/* 958D08 80240058 AFB10014 */ sw $s1, 0x14($sp) +/* 958D0C 8024005C AFB00010 */ sw $s0, 0x10($sp) +/* 958D10 80240060 8E70000C */ lw $s0, 0xc($s3) +/* 958D14 80240064 50A0001D */ beql $a1, $zero, .L802400DC +/* 958D18 80240068 0260202D */ daddu $a0, $s3, $zero +/* 958D1C 8024006C 8E050000 */ lw $a1, ($s0) +/* 958D20 80240070 0C0B1EAF */ jal get_variable +/* 958D24 80240074 26100004 */ addiu $s0, $s0, 4 +/* 958D28 80240078 8E050000 */ lw $a1, ($s0) +/* 958D2C 8024007C 26100004 */ addiu $s0, $s0, 4 +/* 958D30 80240080 0260202D */ daddu $a0, $s3, $zero +/* 958D34 80240084 0C0B1EAF */ jal get_variable +/* 958D38 80240088 0040882D */ daddu $s1, $v0, $zero +/* 958D3C 8024008C 0040A02D */ daddu $s4, $v0, $zero +/* 958D40 80240090 2402FFFF */ addiu $v0, $zero, -1 +/* 958D44 80240094 8E120000 */ lw $s2, ($s0) +/* 958D48 80240098 16220004 */ bne $s1, $v0, .L802400AC +/* 958D4C 8024009C 3C02EFE8 */ lui $v0, 0xefe8 +/* 958D50 802400A0 8E64014C */ lw $a0, 0x14c($s3) +/* 958D54 802400A4 08090030 */ j .L802400C0 +/* 958D58 802400A8 00000000 */ nop +.L802400AC: +/* 958D5C 802400AC 34422080 */ ori $v0, $v0, 0x2080 +/* 958D60 802400B0 0222102A */ slt $v0, $s1, $v0 +/* 958D64 802400B4 14400005 */ bnez $v0, .L802400CC +/* 958D68 802400B8 0220802D */ daddu $s0, $s1, $zero +/* 958D6C 802400BC 0220202D */ daddu $a0, $s1, $zero +.L802400C0: +/* 958D70 802400C0 0C00EABB */ jal get_npc_unsafe +/* 958D74 802400C4 00000000 */ nop +/* 958D78 802400C8 0040802D */ daddu $s0, $v0, $zero +.L802400CC: +/* 958D7C 802400CC AE700070 */ sw $s0, 0x70($s3) +/* 958D80 802400D0 AE740074 */ sw $s4, 0x74($s3) +/* 958D84 802400D4 AE720078 */ sw $s2, 0x78($s3) +/* 958D88 802400D8 0260202D */ daddu $a0, $s3, $zero +.L802400DC: +/* 958D8C 802400DC 8C900070 */ lw $s0, 0x70($a0) +/* 958D90 802400E0 8C850078 */ lw $a1, 0x78($a0) +/* 958D94 802400E4 0C0B1EAF */ jal get_variable +/* 958D98 802400E8 8C940074 */ lw $s4, 0x74($a0) +/* 958D9C 802400EC 1040000C */ beqz $v0, .L80240120 +/* 958DA0 802400F0 24020002 */ addiu $v0, $zero, 2 +/* 958DA4 802400F4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 958DA8 802400F8 3C0141F0 */ lui $at, 0x41f0 +/* 958DAC 802400FC 44810000 */ mtc1 $at, $f0 +/* 958DB0 80240100 00000000 */ nop +/* 958DB4 80240104 46001080 */ add.s $f2, $f2, $f0 +/* 958DB8 80240108 8E050038 */ lw $a1, 0x38($s0) +/* 958DBC 8024010C 8E070040 */ lw $a3, 0x40($s0) +/* 958DC0 80240110 44061000 */ mfc1 $a2, $f2 +/* 958DC4 80240114 0C04D083 */ jal set_item_entity_position +/* 958DC8 80240118 0280202D */ daddu $a0, $s4, $zero +/* 958DCC 8024011C 0000102D */ daddu $v0, $zero, $zero +.L80240120: +/* 958DD0 80240120 8FBF0024 */ lw $ra, 0x24($sp) +/* 958DD4 80240124 8FB40020 */ lw $s4, 0x20($sp) +/* 958DD8 80240128 8FB3001C */ lw $s3, 0x1c($sp) +/* 958DDC 8024012C 8FB20018 */ lw $s2, 0x18($sp) +/* 958DE0 80240130 8FB10014 */ lw $s1, 0x14($sp) +/* 958DE4 80240134 8FB00010 */ lw $s0, 0x10($sp) +/* 958DE8 80240138 03E00008 */ jr $ra +/* 958DEC 8024013C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_sbk/sbk_66/func_80240140_958CB0.s b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240140_958CB0.s new file mode 100644 index 0000000000..529bc7bd89 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_66/func_80240140_958CB0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240140_958DF0 +/* 958DF0 80240140 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 958DF4 80240144 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 958DF8 80240148 4485A000 */ mtc1 $a1, $f20 +/* 958DFC 8024014C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 958E00 80240150 4486B000 */ mtc1 $a2, $f22 +/* 958E04 80240154 AFB00010 */ sw $s0, 0x10($sp) +/* 958E08 80240158 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 958E0C 8024015C 4487C000 */ mtc1 $a3, $f24 +/* 958E10 80240160 AFBF0014 */ sw $ra, 0x14($sp) +/* 958E14 80240164 0C019D28 */ jal guMtxIdentF +/* 958E18 80240168 0080802D */ daddu $s0, $a0, $zero +/* 958E1C 8024016C 4616A582 */ mul.s $f22, $f20, $f22 +/* 958E20 80240170 00000000 */ nop +/* 958E24 80240174 4618A502 */ mul.s $f20, $f20, $f24 +/* 958E28 80240178 00000000 */ nop +/* 958E2C 8024017C 3C013F80 */ lui $at, 0x3f80 +/* 958E30 80240180 44810000 */ mtc1 $at, $f0 +/* 958E34 80240184 00000000 */ nop +/* 958E38 80240188 E6000014 */ swc1 $f0, 0x14($s0) +/* 958E3C 8024018C E6160010 */ swc1 $f22, 0x10($s0) +/* 958E40 80240190 E6140018 */ swc1 $f20, 0x18($s0) +/* 958E44 80240194 8FBF0014 */ lw $ra, 0x14($sp) +/* 958E48 80240198 8FB00010 */ lw $s0, 0x10($sp) +/* 958E4C 8024019C D7B80028 */ ldc1 $f24, 0x28($sp) +/* 958E50 802401A0 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 958E54 802401A4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 958E58 802401A8 03E00008 */ jr $ra +/* 958E5C 802401AC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_sbk/sbk_66/func_802401B0_958CB0.s b/asm/nonmatchings/world/area_sbk/sbk_66/func_802401B0_958CB0.s new file mode 100644 index 0000000000..f7619d03a3 --- /dev/null +++ b/asm/nonmatchings/world/area_sbk/sbk_66/func_802401B0_958CB0.s @@ -0,0 +1,122 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401B0_958E60 +/* 958E60 802401B0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 958E64 802401B4 AFB10054 */ sw $s1, 0x54($sp) +/* 958E68 802401B8 0080882D */ daddu $s1, $a0, $zero +/* 958E6C 802401BC AFBF005C */ sw $ra, 0x5c($sp) +/* 958E70 802401C0 AFB20058 */ sw $s2, 0x58($sp) +/* 958E74 802401C4 AFB00050 */ sw $s0, 0x50($sp) +/* 958E78 802401C8 F7BC0080 */ sdc1 $f28, 0x80($sp) +/* 958E7C 802401CC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 958E80 802401D0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 958E84 802401D4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 958E88 802401D8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 958E8C 802401DC 8E30000C */ lw $s0, 0xc($s1) +/* 958E90 802401E0 8E050000 */ lw $a1, ($s0) +/* 958E94 802401E4 0C0B1EAF */ jal get_variable +/* 958E98 802401E8 26100004 */ addiu $s0, $s0, 4 +/* 958E9C 802401EC 0C046C04 */ jal get_model_list_index_from_tree_index +/* 958EA0 802401F0 0040202D */ daddu $a0, $v0, $zero +/* 958EA4 802401F4 8E050000 */ lw $a1, ($s0) +/* 958EA8 802401F8 26100004 */ addiu $s0, $s0, 4 +/* 958EAC 802401FC 0220202D */ daddu $a0, $s1, $zero +/* 958EB0 80240200 0C0B210B */ jal get_float_variable +/* 958EB4 80240204 0040902D */ daddu $s2, $v0, $zero +/* 958EB8 80240208 8E050000 */ lw $a1, ($s0) +/* 958EBC 8024020C 26100004 */ addiu $s0, $s0, 4 +/* 958EC0 80240210 0220202D */ daddu $a0, $s1, $zero +/* 958EC4 80240214 0C0B210B */ jal get_float_variable +/* 958EC8 80240218 46000706 */ mov.s $f28, $f0 +/* 958ECC 8024021C 8E050000 */ lw $a1, ($s0) +/* 958ED0 80240220 26100004 */ addiu $s0, $s0, 4 +/* 958ED4 80240224 0220202D */ daddu $a0, $s1, $zero +/* 958ED8 80240228 0C0B210B */ jal get_float_variable +/* 958EDC 8024022C 46000686 */ mov.s $f26, $f0 +/* 958EE0 80240230 0220202D */ daddu $a0, $s1, $zero +/* 958EE4 80240234 8E050000 */ lw $a1, ($s0) +/* 958EE8 80240238 0C0B210B */ jal get_float_variable +/* 958EEC 8024023C 46000586 */ mov.s $f22, $f0 +/* 958EF0 80240240 0240202D */ daddu $a0, $s2, $zero +/* 958EF4 80240244 0C046B4C */ jal get_model_from_list_index +/* 958EF8 80240248 46000606 */ mov.s $f24, $f0 +/* 958EFC 8024024C 0040882D */ daddu $s1, $v0, $zero +/* 958F00 80240250 96220000 */ lhu $v0, ($s1) +/* 958F04 80240254 30420400 */ andi $v0, $v0, 0x400 +/* 958F08 80240258 1440001E */ bnez $v0, .L802402D4 +/* 958F0C 8024025C 26300058 */ addiu $s0, $s1, 0x58 +/* 958F10 80240260 4480A000 */ mtc1 $zero, $f20 +/* 958F14 80240264 4406B000 */ mfc1 $a2, $f22 +/* 958F18 80240268 4405A000 */ mfc1 $a1, $f20 +/* 958F1C 8024026C 4407A000 */ mfc1 $a3, $f20 +/* 958F20 80240270 0C019E40 */ jal guTranslateF +/* 958F24 80240274 0200202D */ daddu $a0, $s0, $zero +/* 958F28 80240278 4405E000 */ mfc1 $a1, $f28 +/* 958F2C 8024027C 4406D000 */ mfc1 $a2, $f26 +/* 958F30 80240280 4407C000 */ mfc1 $a3, $f24 +/* 958F34 80240284 0C090050 */ jal func_80240140 +/* 958F38 80240288 27A40010 */ addiu $a0, $sp, 0x10 +/* 958F3C 8024028C 27A40010 */ addiu $a0, $sp, 0x10 +/* 958F40 80240290 0200282D */ daddu $a1, $s0, $zero +/* 958F44 80240294 0C019D80 */ jal guMtxCatF +/* 958F48 80240298 0200302D */ daddu $a2, $s0, $zero +/* 958F4C 8024029C 27A40010 */ addiu $a0, $sp, 0x10 +/* 958F50 802402A0 4600B587 */ neg.s $f22, $f22 +/* 958F54 802402A4 4405A000 */ mfc1 $a1, $f20 +/* 958F58 802402A8 4406B000 */ mfc1 $a2, $f22 +/* 958F5C 802402AC 0C019E40 */ jal guTranslateF +/* 958F60 802402B0 00A0382D */ daddu $a3, $a1, $zero +/* 958F64 802402B4 27A40010 */ addiu $a0, $sp, 0x10 +/* 958F68 802402B8 0200282D */ daddu $a1, $s0, $zero +/* 958F6C 802402BC 0C019D80 */ jal guMtxCatF +/* 958F70 802402C0 00A0302D */ daddu $a2, $a1, $zero +/* 958F74 802402C4 96220000 */ lhu $v0, ($s1) +/* 958F78 802402C8 34421400 */ ori $v0, $v0, 0x1400 +/* 958F7C 802402CC 080900D3 */ j .L8024034C +/* 958F80 802402D0 A6220000 */ sh $v0, ($s1) +.L802402D4: +/* 958F84 802402D4 4480A000 */ mtc1 $zero, $f20 +/* 958F88 802402D8 4406B000 */ mfc1 $a2, $f22 +/* 958F8C 802402DC 4405A000 */ mfc1 $a1, $f20 +/* 958F90 802402E0 4407A000 */ mfc1 $a3, $f20 +/* 958F94 802402E4 0C019E40 */ jal guTranslateF +/* 958F98 802402E8 27A40010 */ addiu $a0, $sp, 0x10 +/* 958F9C 802402EC 27A40010 */ addiu $a0, $sp, 0x10 +/* 958FA0 802402F0 26300058 */ addiu $s0, $s1, 0x58 +/* 958FA4 802402F4 0200282D */ daddu $a1, $s0, $zero +/* 958FA8 802402F8 0C019D80 */ jal guMtxCatF +/* 958FAC 802402FC 0200302D */ daddu $a2, $s0, $zero +/* 958FB0 80240300 4405E000 */ mfc1 $a1, $f28 +/* 958FB4 80240304 4406D000 */ mfc1 $a2, $f26 +/* 958FB8 80240308 4407C000 */ mfc1 $a3, $f24 +/* 958FBC 8024030C 0C090050 */ jal func_80240140 +/* 958FC0 80240310 27A40010 */ addiu $a0, $sp, 0x10 +/* 958FC4 80240314 27A40010 */ addiu $a0, $sp, 0x10 +/* 958FC8 80240318 0200282D */ daddu $a1, $s0, $zero +/* 958FCC 8024031C 0C019D80 */ jal guMtxCatF +/* 958FD0 80240320 0200302D */ daddu $a2, $s0, $zero +/* 958FD4 80240324 27A40010 */ addiu $a0, $sp, 0x10 +/* 958FD8 80240328 4600B587 */ neg.s $f22, $f22 +/* 958FDC 8024032C 4405A000 */ mfc1 $a1, $f20 +/* 958FE0 80240330 4406B000 */ mfc1 $a2, $f22 +/* 958FE4 80240334 0C019E40 */ jal guTranslateF +/* 958FE8 80240338 00A0382D */ daddu $a3, $a1, $zero +/* 958FEC 8024033C 27A40010 */ addiu $a0, $sp, 0x10 +/* 958FF0 80240340 0200282D */ daddu $a1, $s0, $zero +/* 958FF4 80240344 0C019D80 */ jal guMtxCatF +/* 958FF8 80240348 00A0302D */ daddu $a2, $a1, $zero +.L8024034C: +/* 958FFC 8024034C 8FBF005C */ lw $ra, 0x5c($sp) +/* 959000 80240350 8FB20058 */ lw $s2, 0x58($sp) +/* 959004 80240354 8FB10054 */ lw $s1, 0x54($sp) +/* 959008 80240358 8FB00050 */ lw $s0, 0x50($sp) +/* 95900C 8024035C D7BC0080 */ ldc1 $f28, 0x80($sp) +/* 959010 80240360 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 959014 80240364 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 959018 80240368 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 95901C 8024036C D7B40060 */ ldc1 $f20, 0x60($sp) +/* 959020 80240370 24020002 */ addiu $v0, $zero, 2 +/* 959024 80240374 03E00008 */ jr $ra +/* 959028 80240378 27BD0088 */ addiu $sp, $sp, 0x88 +/* 95902C 8024037C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240000_8694B0.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240000_8694B0.s new file mode 100644 index 0000000000..a288f36c5f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240000_8694B0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8694B0 +/* 8694B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8694B4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8694B8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8694BC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 8694C0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8694C4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 8694C8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 8694CC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 8694D0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8694D4 80240024 3C020002 */ lui $v0, 2 +/* 8694D8 80240028 08090010 */ j .L80240040 +/* 8694DC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 8694E0 80240030 3C040002 */ lui $a0, 2 +/* 8694E4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 8694E8 80240038 10400002 */ beqz $v0, .L80240044 +/* 8694EC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 8694F0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 8694F4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 8694F8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 8694FC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 869500 80240050 04610004 */ bgez $v1, .L80240064 +/* 869504 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 869508 80240058 3C020002 */ lui $v0, 2 +/* 86950C 8024005C 0809001D */ j .L80240074 +/* 869510 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 869514 80240064 3C040002 */ lui $a0, 2 +/* 869518 80240068 0083102A */ slt $v0, $a0, $v1 +/* 86951C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 869520 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 869524 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 869528 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 86952C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 869530 80240080 00621821 */ addu $v1, $v1, $v0 +/* 869534 80240084 04610004 */ bgez $v1, .L80240098 +/* 869538 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 86953C 8024008C 3C020002 */ lui $v0, 2 +/* 869540 80240090 0809002A */ j .L802400A8 +/* 869544 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 869548 80240098 3C040002 */ lui $a0, 2 +/* 86954C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 869550 802400A0 10400002 */ beqz $v0, .L802400AC +/* 869554 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 869558 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 86955C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 869560 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 869564 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 869568 802400B8 04610004 */ bgez $v1, .L802400CC +/* 86956C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 869570 802400C0 3C020002 */ lui $v0, 2 +/* 869574 802400C4 08090037 */ j .L802400DC +/* 869578 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 86957C 802400CC 3C040002 */ lui $a0, 2 +/* 869580 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 869584 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 869588 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 86958C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 869590 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 869594 802400E4 0C046F07 */ jal set_main_pan_u +/* 869598 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 86959C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 8695A0 802400F0 0C046F0D */ jal set_main_pan_v +/* 8695A4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 8695A8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 8695AC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 8695B0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8695B4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 8695B8 80240108 0C046F19 */ jal set_aux_pan_v +/* 8695BC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8695C0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 8695C4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 8695C8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 8695CC 8024011C 03E00008 */ jr $ra +/* 8695D0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240124_8694B0.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240124_8694B0.s new file mode 100644 index 0000000000..f897fbcb5f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240124_8694B0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_8695D4 +/* 8695D4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8695D8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 8695DC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 8695E0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 8695E4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 8695E8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 8695EC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 8695F0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 8695F4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 8695F8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 8695FC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 869600 80240150 00000000 */ nop +/* 869604 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 869608 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 86960C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 869610 80240160 04610004 */ bgez $v1, .L80240174 +/* 869614 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 869618 80240168 3C020002 */ lui $v0, 2 +/* 86961C 8024016C 08090061 */ j .L80240184 +/* 869620 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 869624 80240174 3C040002 */ lui $a0, 2 +/* 869628 80240178 0083102A */ slt $v0, $a0, $v1 +/* 86962C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 869630 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 869634 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 869638 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 86963C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 869640 80240190 00000000 */ nop +/* 869644 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 869648 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 86964C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 869650 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 869654 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 869658 802401A8 3C020002 */ lui $v0, 2 +/* 86965C 802401AC 08090071 */ j .L802401C4 +/* 869660 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 869664 802401B4 3C040002 */ lui $a0, 2 +/* 869668 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 86966C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 869670 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 869674 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 869678 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 86967C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 869680 802401D0 00000000 */ nop +/* 869684 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 869688 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 86968C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 869690 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 869694 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 869698 802401E8 3C020002 */ lui $v0, 2 +/* 86969C 802401EC 08090081 */ j .L80240204 +/* 8696A0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 8696A4 802401F4 3C040002 */ lui $a0, 2 +/* 8696A8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 8696AC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 8696B0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 8696B4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 8696B8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 8696BC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 8696C0 80240210 00000000 */ nop +/* 8696C4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8696C8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 8696CC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 8696D0 80240220 04610004 */ bgez $v1, .L80240234 +/* 8696D4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8696D8 80240228 3C020002 */ lui $v0, 2 +/* 8696DC 8024022C 08090091 */ j .L80240244 +/* 8696E0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 8696E4 80240234 3C040002 */ lui $a0, 2 +/* 8696E8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 8696EC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 8696F0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 8696F4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 8696F8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 8696FC 8024024C 0C046F07 */ jal set_main_pan_u +/* 869700 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 869704 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 869708 80240258 0C046F0D */ jal set_main_pan_v +/* 86970C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 869710 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 869714 80240264 0C046F13 */ jal set_aux_pan_u +/* 869718 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 86971C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 869720 80240270 0C046F19 */ jal set_aux_pan_v +/* 869724 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 869728 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 86972C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 869730 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 869734 80240284 24420001 */ addiu $v0, $v0, 1 +/* 869738 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 86973C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 869740 80240290 24630001 */ addiu $v1, $v1, 1 +/* 869744 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 869748 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 86974C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 869750 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 869754 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 869758 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 86975C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 869760 802402B0 14600002 */ bnez $v1, .L802402BC +/* 869764 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 869768 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 86976C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 869770 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 869774 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 869778 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 86977C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 869780 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 869784 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 869788 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 86978C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 869790 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 869794 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 869798 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 86979C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 8697A0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 8697A4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 8697A8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8697AC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8697B0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 8697B4 80240304 03E00008 */ jr $ra +/* 8697B8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_8024030C_8694B0.s b/asm/nonmatchings/world/area_tik/tik_01/func_8024030C_8694B0.s new file mode 100644 index 0000000000..1ab34592aa --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_8024030C_8694B0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_8697BC +/* 8697BC 8024030C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8697C0 80240310 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8697C4 80240314 8C430004 */ lw $v1, 4($v0) +/* 8697C8 80240318 3C040010 */ lui $a0, 0x10 +/* 8697CC 8024031C 00641825 */ or $v1, $v1, $a0 +/* 8697D0 80240320 AC430004 */ sw $v1, 4($v0) +/* 8697D4 80240324 03E00008 */ jr $ra +/* 8697D8 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_8024032C.s b/asm/nonmatchings/world/area_tik/tik_01/func_8024032C.s new file mode 100644 index 0000000000..7f61163dd5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_8024032C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C +/* 8697DC 8024032C 3C028016 */ lui $v0, 0x8016 +/* 8697E0 80240330 8442A552 */ lh $v0, -0x5aae($v0) +/* 8697E4 80240334 AC820084 */ sw $v0, 0x84($a0) +/* 8697E8 80240338 03E00008 */ jr $ra +/* 8697EC 8024033C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240340.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240340.s new file mode 100644 index 0000000000..4ac7c4c514 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240340.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340 +/* 8697F0 80240340 3C038016 */ lui $v1, 0x8016 +/* 8697F4 80240344 8463A552 */ lh $v1, -0x5aae($v1) +/* 8697F8 80240348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8697FC 8024034C AFB00010 */ sw $s0, 0x10($sp) +/* 869800 80240350 0080802D */ daddu $s0, $a0, $zero +/* 869804 80240354 AFBF0014 */ sw $ra, 0x14($sp) +/* 869808 80240358 8E0200B0 */ lw $v0, 0xb0($s0) +/* 86980C 8024035C 10620003 */ beq $v1, $v0, .L8024036C +/* 869810 80240360 24020002 */ addiu $v0, $zero, 2 +/* 869814 80240364 080900FB */ j .L802403EC +/* 869818 80240368 AE000084 */ sw $zero, 0x84($s0) +.L8024036C: +/* 86981C 8024036C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 869820 80240370 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 869824 80240374 80620040 */ lb $v0, 0x40($v1) +/* 869828 80240378 80670044 */ lb $a3, 0x44($v1) +/* 86982C 8024037C 04420001 */ bltzl $v0, .L80240384 +/* 869830 80240380 00021023 */ negu $v0, $v0 +.L80240384: +/* 869834 80240384 14400003 */ bnez $v0, .L80240394 +/* 869838 80240388 00000000 */ nop +/* 86983C 8024038C 50E00017 */ beql $a3, $zero, .L802403EC +/* 869840 80240390 0000102D */ daddu $v0, $zero, $zero +.L80240394: +/* 869844 80240394 44822000 */ mtc1 $v0, $f4 +/* 869848 80240398 00000000 */ nop +/* 86984C 8024039C 46802120 */ cvt.s.w $f4, $f4 +/* 869850 802403A0 44062000 */ mfc1 $a2, $f4 +/* 869854 802403A4 44872000 */ mtc1 $a3, $f4 +/* 869858 802403A8 00000000 */ nop +/* 86985C 802403AC 46802120 */ cvt.s.w $f4, $f4 +/* 869860 802403B0 44806000 */ mtc1 $zero, $f12 +/* 869864 802403B4 44072000 */ mfc1 $a3, $f4 +/* 869868 802403B8 0C00A720 */ jal atan2 +/* 86986C 802403BC 46006386 */ mov.s $f14, $f12 +/* 869870 802403C0 3C014270 */ lui $at, 0x4270 +/* 869874 802403C4 44811000 */ mtc1 $at, $f2 +/* 869878 802403C8 00000000 */ nop +/* 86987C 802403CC 4602003C */ c.lt.s $f0, $f2 +/* 869880 802403D0 00000000 */ nop +/* 869884 802403D4 45000004 */ bc1f .L802403E8 +/* 869888 802403D8 24020001 */ addiu $v0, $zero, 1 +/* 86988C 802403DC AE020084 */ sw $v0, 0x84($s0) +/* 869890 802403E0 080900FB */ j .L802403EC +/* 869894 802403E4 24020002 */ addiu $v0, $zero, 2 +.L802403E8: +/* 869898 802403E8 0000102D */ daddu $v0, $zero, $zero +.L802403EC: +/* 86989C 802403EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 8698A0 802403F0 8FB00010 */ lw $s0, 0x10($sp) +/* 8698A4 802403F4 03E00008 */ jr $ra +/* 8698A8 802403F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_802403FC.s b/asm/nonmatchings/world/area_tik/tik_01/func_802403FC.s new file mode 100644 index 0000000000..87d2972f3f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_802403FC.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC +/* 8698AC 802403FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8698B0 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* 8698B4 80240404 0080882D */ daddu $s1, $a0, $zero +/* 8698B8 80240408 AFBF001C */ sw $ra, 0x1c($sp) +/* 8698BC 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* 8698C0 80240410 0C016AFA */ jal get_current_map_header +/* 8698C4 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* 8698C8 80240418 0220202D */ daddu $a0, $s1, $zero +/* 8698CC 8024041C 3C05FE36 */ lui $a1, 0xfe36 +/* 8698D0 80240420 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8698D4 80240424 0C0B1EAF */ jal get_variable +/* 8698D8 80240428 0040902D */ daddu $s2, $v0, $zero +/* 8698DC 8024042C 0220202D */ daddu $a0, $s1, $zero +/* 8698E0 80240430 3C05FE36 */ lui $a1, 0xfe36 +/* 8698E4 80240434 8E430014 */ lw $v1, 0x14($s2) +/* 8698E8 80240438 00028100 */ sll $s0, $v0, 4 +/* 8698EC 8024043C 02031821 */ addu $v1, $s0, $v1 +/* 8698F0 80240440 C4600000 */ lwc1 $f0, ($v1) +/* 8698F4 80240444 4600008D */ trunc.w.s $f2, $f0 +/* 8698F8 80240448 44061000 */ mfc1 $a2, $f2 +/* 8698FC 8024044C 0C0B2026 */ jal set_variable +/* 869900 80240450 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 869904 80240454 0220202D */ daddu $a0, $s1, $zero +/* 869908 80240458 8E420014 */ lw $v0, 0x14($s2) +/* 86990C 8024045C 3C05FE36 */ lui $a1, 0xfe36 +/* 869910 80240460 02021021 */ addu $v0, $s0, $v0 +/* 869914 80240464 C4400004 */ lwc1 $f0, 4($v0) +/* 869918 80240468 4600008D */ trunc.w.s $f2, $f0 +/* 86991C 8024046C 44061000 */ mfc1 $a2, $f2 +/* 869920 80240470 0C0B2026 */ jal set_variable +/* 869924 80240474 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 869928 80240478 0220202D */ daddu $a0, $s1, $zero +/* 86992C 8024047C 8E420014 */ lw $v0, 0x14($s2) +/* 869930 80240480 3C05FE36 */ lui $a1, 0xfe36 +/* 869934 80240484 02021021 */ addu $v0, $s0, $v0 +/* 869938 80240488 C4400008 */ lwc1 $f0, 8($v0) +/* 86993C 8024048C 4600008D */ trunc.w.s $f2, $f0 +/* 869940 80240490 44061000 */ mfc1 $a2, $f2 +/* 869944 80240494 0C0B2026 */ jal set_variable +/* 869948 80240498 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 86994C 8024049C 0220202D */ daddu $a0, $s1, $zero +/* 869950 802404A0 8E420014 */ lw $v0, 0x14($s2) +/* 869954 802404A4 3C05FE36 */ lui $a1, 0xfe36 +/* 869958 802404A8 02028021 */ addu $s0, $s0, $v0 +/* 86995C 802404AC C600000C */ lwc1 $f0, 0xc($s0) +/* 869960 802404B0 4600008D */ trunc.w.s $f2, $f0 +/* 869964 802404B4 44061000 */ mfc1 $a2, $f2 +/* 869968 802404B8 0C0B2026 */ jal set_variable +/* 86996C 802404BC 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 869970 802404C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 869974 802404C4 8FB20018 */ lw $s2, 0x18($sp) +/* 869978 802404C8 8FB10014 */ lw $s1, 0x14($sp) +/* 86997C 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* 869980 802404D0 24020002 */ addiu $v0, $zero, 2 +/* 869984 802404D4 03E00008 */ jr $ra +/* 869988 802404D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_802404DC.s b/asm/nonmatchings/world/area_tik/tik_01/func_802404DC.s new file mode 100644 index 0000000000..d3091729cc --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_802404DC.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC +/* 86998C 802404DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 869990 802404E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 869994 802404E4 3C014334 */ lui $at, 0x4334 +/* 869998 802404E8 44816000 */ mtc1 $at, $f12 +/* 86999C 802404EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8699A0 802404F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 8699A4 802404F4 AFB00010 */ sw $s0, 0x10($sp) +/* 8699A8 802404F8 00031080 */ sll $v0, $v1, 2 +/* 8699AC 802404FC 00431021 */ addu $v0, $v0, $v1 +/* 8699B0 80240500 00021080 */ sll $v0, $v0, 2 +/* 8699B4 80240504 00431023 */ subu $v0, $v0, $v1 +/* 8699B8 80240508 000218C0 */ sll $v1, $v0, 3 +/* 8699BC 8024050C 00431021 */ addu $v0, $v0, $v1 +/* 8699C0 80240510 000210C0 */ sll $v0, $v0, 3 +/* 8699C4 80240514 3C01800B */ lui $at, 0x800b +/* 8699C8 80240518 00220821 */ addu $at, $at, $v0 +/* 8699CC 8024051C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8699D0 80240520 460C0300 */ add.s $f12, $f0, $f12 +/* 8699D4 80240524 0C00A6C9 */ jal clamp_angle +/* 8699D8 80240528 0080802D */ daddu $s0, $a0, $zero +/* 8699DC 8024052C 4600008D */ trunc.w.s $f2, $f0 +/* 8699E0 80240530 E6020084 */ swc1 $f2, 0x84($s0) +/* 8699E4 80240534 8FBF0014 */ lw $ra, 0x14($sp) +/* 8699E8 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* 8699EC 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 8699F0 80240540 03E00008 */ jr $ra +/* 8699F4 80240544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240548.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240548.s new file mode 100644 index 0000000000..ce52dd4de5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240548.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240548 +/* 8699F8 80240548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8699FC 8024054C AFB00018 */ sw $s0, 0x18($sp) +/* 869A00 80240550 0080802D */ daddu $s0, $a0, $zero +/* 869A04 80240554 AFBF001C */ sw $ra, 0x1c($sp) +/* 869A08 80240558 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 869A0C 8024055C 8E02000C */ lw $v0, 0xc($s0) +/* 869A10 80240560 0C0B210B */ jal get_float_variable +/* 869A14 80240564 8C450000 */ lw $a1, ($v0) +/* 869A18 80240568 27A40010 */ addiu $a0, $sp, 0x10 +/* 869A1C 8024056C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 869A20 80240570 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 869A24 80240574 44060000 */ mfc1 $a2, $f0 +/* 869A28 80240578 C4400028 */ lwc1 $f0, 0x28($v0) +/* 869A2C 8024057C C4420030 */ lwc1 $f2, 0x30($v0) +/* 869A30 80240580 E7A00010 */ swc1 $f0, 0x10($sp) +/* 869A34 80240584 E7A20014 */ swc1 $f2, 0x14($sp) +/* 869A38 80240588 8C470080 */ lw $a3, 0x80($v0) +/* 869A3C 8024058C C454002C */ lwc1 $f20, 0x2c($v0) +/* 869A40 80240590 0C00A7E7 */ jal add_vec2D_polar +/* 869A44 80240594 27A50014 */ addiu $a1, $sp, 0x14 +/* 869A48 80240598 0200202D */ daddu $a0, $s0, $zero +/* 869A4C 8024059C 3C05FE36 */ lui $a1, 0xfe36 +/* 869A50 802405A0 8FA60010 */ lw $a2, 0x10($sp) +/* 869A54 802405A4 0C0B2190 */ jal set_float_variable +/* 869A58 802405A8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 869A5C 802405AC 0200202D */ daddu $a0, $s0, $zero +/* 869A60 802405B0 3C05FE36 */ lui $a1, 0xfe36 +/* 869A64 802405B4 4406A000 */ mfc1 $a2, $f20 +/* 869A68 802405B8 0C0B2190 */ jal set_float_variable +/* 869A6C 802405BC 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 869A70 802405C0 0200202D */ daddu $a0, $s0, $zero +/* 869A74 802405C4 3C05FE36 */ lui $a1, 0xfe36 +/* 869A78 802405C8 8FA60014 */ lw $a2, 0x14($sp) +/* 869A7C 802405CC 0C0B2190 */ jal set_float_variable +/* 869A80 802405D0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 869A84 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 869A88 802405D8 8FB00018 */ lw $s0, 0x18($sp) +/* 869A8C 802405DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 869A90 802405E0 24020002 */ addiu $v0, $zero, 2 +/* 869A94 802405E4 03E00008 */ jr $ra +/* 869A98 802405E8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 869A9C 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_802405F0_8694B0.s b/asm/nonmatchings/world/area_tik/tik_01/func_802405F0_8694B0.s new file mode 100644 index 0000000000..569e8bb93d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_802405F0_8694B0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_869AA0 +/* 869AA0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 869AA4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 869AA8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 869AAC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 869AB0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 869AB4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 869AB8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 869ABC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 869AC0 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 869AC4 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 869AC8 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 869ACC 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 869AD0 80240620 0C0B1EAF */ jal get_variable +/* 869AD4 80240624 8C450000 */ lw $a1, ($v0) +/* 869AD8 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 869ADC 8024062C 0C00EABB */ jal get_npc_unsafe +/* 869AE0 80240630 0040802D */ daddu $s0, $v0, $zero +/* 869AE4 80240634 0200202D */ daddu $a0, $s0, $zero +/* 869AE8 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 869AEC 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 869AF0 80240640 0C046B4C */ jal get_model_from_list_index +/* 869AF4 80240644 0040202D */ daddu $a0, $v0, $zero +/* 869AF8 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 869AFC 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 869B00 80240650 0040902D */ daddu $s2, $v0, $zero +/* 869B04 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 869B08 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 869B0C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 869B10 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 869B14 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 869B18 80240668 00000000 */ nop +/* 869B1C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 869B20 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 869B24 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 869B28 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 869B2C 8024067C 00000000 */ nop +/* 869B30 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 869B34 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 869B38 80240688 44820000 */ mtc1 $v0, $f0 +/* 869B3C 8024068C 00000000 */ nop +/* 869B40 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 869B44 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 869B48 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 869B4C 8024069C 44810000 */ mtc1 $at, $f0 +/* 869B50 802406A0 00000000 */ nop +/* 869B54 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 869B58 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 869B5C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 869B60 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 869B64 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 869B68 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 869B6C 802406BC 00000000 */ nop +/* 869B70 802406C0 45010004 */ bc1t .L802406D4 +/* 869B74 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 869B78 802406C8 0C0187BC */ jal sqrtf +/* 869B7C 802406CC 00000000 */ nop +/* 869B80 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 869B84 802406D4 44800000 */ mtc1 $zero, $f0 +/* 869B88 802406D8 00000000 */ nop +/* 869B8C 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 869B90 802406E0 00000000 */ nop +/* 869B94 802406E4 45000016 */ bc1f .L80240740 +/* 869B98 802406E8 46001106 */ mov.s $f4, $f2 +/* 869B9C 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 869BA0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 869BA4 802406F4 00000000 */ nop +/* 869BA8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 869BAC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 869BB0 80240700 00000000 */ nop +/* 869BB4 80240704 4500000E */ bc1f .L80240740 +/* 869BB8 80240708 00000000 */ nop +/* 869BBC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 869BC0 80240710 3C013F00 */ lui $at, 0x3f00 +/* 869BC4 80240714 44811000 */ mtc1 $at, $f2 +/* 869BC8 80240718 44820000 */ mtc1 $v0, $f0 +/* 869BCC 8024071C 00000000 */ nop +/* 869BD0 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 869BD4 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 869BD8 80240728 00000000 */ nop +/* 869BDC 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 869BE0 80240730 00000000 */ nop +/* 869BE4 80240734 45000002 */ bc1f .L80240740 +/* 869BE8 80240738 24020001 */ addiu $v0, $zero, 1 +/* 869BEC 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 869BF0 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 869BF4 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 869BF8 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 869BFC 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 869C00 80240750 00000000 */ nop +/* 869C04 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 869C08 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 869C0C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 869C10 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 869C14 80240764 00000000 */ nop +/* 869C18 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 869C1C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 869C20 80240770 44820000 */ mtc1 $v0, $f0 +/* 869C24 80240774 00000000 */ nop +/* 869C28 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 869C2C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 869C30 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 869C34 80240784 44810000 */ mtc1 $at, $f0 +/* 869C38 80240788 00000000 */ nop +/* 869C3C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 869C40 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 869C44 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 869C48 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 869C4C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 869C50 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 869C54 802407A4 00000000 */ nop +/* 869C58 802407A8 45010004 */ bc1t .L802407BC +/* 869C5C 802407AC 00000000 */ nop +/* 869C60 802407B0 0C0187BC */ jal sqrtf +/* 869C64 802407B4 00000000 */ nop +/* 869C68 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 869C6C 802407BC 44800000 */ mtc1 $zero, $f0 +/* 869C70 802407C0 00000000 */ nop +/* 869C74 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 869C78 802407C8 00000000 */ nop +/* 869C7C 802407CC 45000016 */ bc1f .L80240828 +/* 869C80 802407D0 46001106 */ mov.s $f4, $f2 +/* 869C84 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 869C88 802407D8 44820000 */ mtc1 $v0, $f0 +/* 869C8C 802407DC 00000000 */ nop +/* 869C90 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 869C94 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 869C98 802407E8 00000000 */ nop +/* 869C9C 802407EC 4500000F */ bc1f .L8024082C +/* 869CA0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 869CA4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 869CA8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 869CAC 802407FC 44811000 */ mtc1 $at, $f2 +/* 869CB0 80240800 44820000 */ mtc1 $v0, $f0 +/* 869CB4 80240804 00000000 */ nop +/* 869CB8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 869CBC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 869CC0 80240810 00000000 */ nop +/* 869CC4 80240814 4600203C */ c.lt.s $f4, $f0 +/* 869CC8 80240818 00000000 */ nop +/* 869CCC 8024081C 45000003 */ bc1f .L8024082C +/* 869CD0 80240820 24020001 */ addiu $v0, $zero, 1 +/* 869CD4 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 869CD8 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 869CDC 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 869CE0 80240830 4481D000 */ mtc1 $at, $f26 +/* 869CE4 80240834 4480C000 */ mtc1 $zero, $f24 +/* 869CE8 80240838 3C013F00 */ lui $at, 0x3f00 +/* 869CEC 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 869CF0 80240840 0C00EAD2 */ jal get_npc_safe +/* 869CF4 80240844 0220202D */ daddu $a0, $s1, $zero +/* 869CF8 80240848 0040802D */ daddu $s0, $v0, $zero +/* 869CFC 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 869D00 80240850 26310001 */ addiu $s1, $s1, 1 +/* 869D04 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 869D08 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 869D0C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 869D10 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 869D14 80240864 00000000 */ nop +/* 869D18 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 869D1C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 869D20 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 869D24 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 869D28 80240878 00000000 */ nop +/* 869D2C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 869D30 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 869D34 80240884 44820000 */ mtc1 $v0, $f0 +/* 869D38 80240888 00000000 */ nop +/* 869D3C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 869D40 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 869D44 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 869D48 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 869D4C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 869D50 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 869D54 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 869D58 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 869D5C 802408AC 00000000 */ nop +/* 869D60 802408B0 45010003 */ bc1t .L802408C0 +/* 869D64 802408B4 00000000 */ nop +/* 869D68 802408B8 0C0187BC */ jal sqrtf +/* 869D6C 802408BC 00000000 */ nop +.L802408C0: +/* 869D70 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 869D74 802408C4 00000000 */ nop +/* 869D78 802408C8 45000015 */ bc1f .L80240920 +/* 869D7C 802408CC 46000106 */ mov.s $f4, $f0 +/* 869D80 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 869D84 802408D4 44820000 */ mtc1 $v0, $f0 +/* 869D88 802408D8 00000000 */ nop +/* 869D8C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 869D90 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 869D94 802408E4 00000000 */ nop +/* 869D98 802408E8 4500000E */ bc1f .L80240924 +/* 869D9C 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 869DA0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 869DA4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 869DA8 802408F8 00000000 */ nop +/* 869DAC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 869DB0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 869DB4 80240904 00000000 */ nop +/* 869DB8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 869DBC 8024090C 00000000 */ nop +/* 869DC0 80240910 45000004 */ bc1f .L80240924 +/* 869DC4 80240914 24020001 */ addiu $v0, $zero, 1 +/* 869DC8 80240918 0809024C */ j .L80240930 +/* 869DCC 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 869DD0 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 869DD4 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 869DD8 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 869DDC 8024092C 00000000 */ nop +.L80240930: +/* 869DE0 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 869DE4 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 869DE8 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 869DEC 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 869DF0 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 869DF4 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 869DF8 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 869DFC 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 869E00 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 869E04 80240954 24020002 */ addiu $v0, $zero, 2 +/* 869E08 80240958 03E00008 */ jr $ra +/* 869E0C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240960.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240960.s new file mode 100644 index 0000000000..04fd7c6960 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240960.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960 +/* 869E10 80240960 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 869E14 80240964 AFB10014 */ sw $s1, 0x14($sp) +/* 869E18 80240968 0080882D */ daddu $s1, $a0, $zero +/* 869E1C 8024096C AFBF0020 */ sw $ra, 0x20($sp) +/* 869E20 80240970 AFB3001C */ sw $s3, 0x1c($sp) +/* 869E24 80240974 AFB20018 */ sw $s2, 0x18($sp) +/* 869E28 80240978 AFB00010 */ sw $s0, 0x10($sp) +/* 869E2C 8024097C 8E30000C */ lw $s0, 0xc($s1) +/* 869E30 80240980 8E050000 */ lw $a1, ($s0) +/* 869E34 80240984 0C0B1EAF */ jal get_variable +/* 869E38 80240988 26100004 */ addiu $s0, $s0, 4 +/* 869E3C 8024098C 8E050000 */ lw $a1, ($s0) +/* 869E40 80240990 26100004 */ addiu $s0, $s0, 4 +/* 869E44 80240994 0220202D */ daddu $a0, $s1, $zero +/* 869E48 80240998 0C0B1EAF */ jal get_variable +/* 869E4C 8024099C 0040982D */ daddu $s3, $v0, $zero +/* 869E50 802409A0 8E050000 */ lw $a1, ($s0) +/* 869E54 802409A4 26100004 */ addiu $s0, $s0, 4 +/* 869E58 802409A8 0220202D */ daddu $a0, $s1, $zero +/* 869E5C 802409AC 0C0B1EAF */ jal get_variable +/* 869E60 802409B0 0040902D */ daddu $s2, $v0, $zero +/* 869E64 802409B4 0220202D */ daddu $a0, $s1, $zero +/* 869E68 802409B8 8E050000 */ lw $a1, ($s0) +/* 869E6C 802409BC 0C0B1EAF */ jal get_variable +/* 869E70 802409C0 0040882D */ daddu $s1, $v0, $zero +/* 869E74 802409C4 0260202D */ daddu $a0, $s3, $zero +/* 869E78 802409C8 0C04417A */ jal get_entity_by_index +/* 869E7C 802409CC 0040802D */ daddu $s0, $v0, $zero +/* 869E80 802409D0 0040182D */ daddu $v1, $v0, $zero +/* 869E84 802409D4 44920000 */ mtc1 $s2, $f0 +/* 869E88 802409D8 00000000 */ nop +/* 869E8C 802409DC 46800020 */ cvt.s.w $f0, $f0 +/* 869E90 802409E0 E4600048 */ swc1 $f0, 0x48($v1) +/* 869E94 802409E4 44910000 */ mtc1 $s1, $f0 +/* 869E98 802409E8 00000000 */ nop +/* 869E9C 802409EC 46800020 */ cvt.s.w $f0, $f0 +/* 869EA0 802409F0 E460004C */ swc1 $f0, 0x4c($v1) +/* 869EA4 802409F4 44900000 */ mtc1 $s0, $f0 +/* 869EA8 802409F8 00000000 */ nop +/* 869EAC 802409FC 46800020 */ cvt.s.w $f0, $f0 +/* 869EB0 80240A00 E4600050 */ swc1 $f0, 0x50($v1) +/* 869EB4 80240A04 8FBF0020 */ lw $ra, 0x20($sp) +/* 869EB8 80240A08 8FB3001C */ lw $s3, 0x1c($sp) +/* 869EBC 80240A0C 8FB20018 */ lw $s2, 0x18($sp) +/* 869EC0 80240A10 8FB10014 */ lw $s1, 0x14($sp) +/* 869EC4 80240A14 8FB00010 */ lw $s0, 0x10($sp) +/* 869EC8 80240A18 24020002 */ addiu $v0, $zero, 2 +/* 869ECC 80240A1C 03E00008 */ jr $ra +/* 869ED0 80240A20 27BD0028 */ addiu $sp, $sp, 0x28 +/* 869ED4 80240A24 00000000 */ nop +/* 869ED8 80240A28 00000000 */ nop +/* 869EDC 80240A2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_01/func_80240A30.s b/asm/nonmatchings/world/area_tik/tik_01/func_80240A30.s new file mode 100644 index 0000000000..97465e2970 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_01/func_80240A30.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A30 +/* 869EE0 80240A30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 869EE4 80240A34 AFBF0014 */ sw $ra, 0x14($sp) +/* 869EE8 80240A38 AFB00010 */ sw $s0, 0x10($sp) +/* 869EEC 80240A3C 8C82000C */ lw $v0, 0xc($a0) +/* 869EF0 80240A40 8C450000 */ lw $a1, ($v0) +/* 869EF4 80240A44 0C0B1EAF */ jal get_variable +/* 869EF8 80240A48 8C900148 */ lw $s0, 0x148($a0) +/* 869EFC 80240A4C 82030004 */ lb $v1, 4($s0) +/* 869F00 80240A50 00021080 */ sll $v0, $v0, 2 +/* 869F04 80240A54 00031880 */ sll $v1, $v1, 2 +/* 869F08 80240A58 3C04800B */ lui $a0, 0x800b +/* 869F0C 80240A5C 00832021 */ addu $a0, $a0, $v1 +/* 869F10 80240A60 8C840F38 */ lw $a0, 0xf38($a0) +/* 869F14 80240A64 3C038024 */ lui $v1, 0x8024 +/* 869F18 80240A68 00621821 */ addu $v1, $v1, $v0 +/* 869F1C 80240A6C 94632B7E */ lhu $v1, 0x2b7e($v1) +/* 869F20 80240A70 A4830044 */ sh $v1, 0x44($a0) +/* 869F24 80240A74 8FBF0014 */ lw $ra, 0x14($sp) +/* 869F28 80240A78 8FB00010 */ lw $s0, 0x10($sp) +/* 869F2C 80240A7C 24020002 */ addiu $v0, $zero, 2 +/* 869F30 80240A80 03E00008 */ jr $ra +/* 869F34 80240A84 27BD0018 */ addiu $sp, $sp, 0x18 +/* 869F38 80240A88 00000000 */ nop +/* 869F3C 80240A8C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240000_86C740.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240000_86C740.s new file mode 100644 index 0000000000..d460531065 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240000_86C740.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_86C740 +/* 86C740 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86C744 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 86C748 80240008 0080802D */ daddu $s0, $a0, $zero +/* 86C74C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 86C750 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 86C754 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 86C758 80240018 00621821 */ addu $v1, $v1, $v0 +/* 86C75C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 86C760 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 86C764 80240024 3C020002 */ lui $v0, 2 +/* 86C768 80240028 08090010 */ j .L80240040 +/* 86C76C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 86C770 80240030 3C040002 */ lui $a0, 2 +/* 86C774 80240034 0083102A */ slt $v0, $a0, $v1 +/* 86C778 80240038 10400002 */ beqz $v0, .L80240044 +/* 86C77C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 86C780 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 86C784 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 86C788 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 86C78C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 86C790 80240050 04610004 */ bgez $v1, .L80240064 +/* 86C794 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 86C798 80240058 3C020002 */ lui $v0, 2 +/* 86C79C 8024005C 0809001D */ j .L80240074 +/* 86C7A0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 86C7A4 80240064 3C040002 */ lui $a0, 2 +/* 86C7A8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 86C7AC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 86C7B0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 86C7B4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 86C7B8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 86C7BC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 86C7C0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 86C7C4 80240084 04610004 */ bgez $v1, .L80240098 +/* 86C7C8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 86C7CC 8024008C 3C020002 */ lui $v0, 2 +/* 86C7D0 80240090 0809002A */ j .L802400A8 +/* 86C7D4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 86C7D8 80240098 3C040002 */ lui $a0, 2 +/* 86C7DC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 86C7E0 802400A0 10400002 */ beqz $v0, .L802400AC +/* 86C7E4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 86C7E8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 86C7EC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 86C7F0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 86C7F4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 86C7F8 802400B8 04610004 */ bgez $v1, .L802400CC +/* 86C7FC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 86C800 802400C0 3C020002 */ lui $v0, 2 +/* 86C804 802400C4 08090037 */ j .L802400DC +/* 86C808 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 86C80C 802400CC 3C040002 */ lui $a0, 2 +/* 86C810 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 86C814 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 86C818 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 86C81C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 86C820 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 86C824 802400E4 0C046F07 */ jal set_main_pan_u +/* 86C828 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 86C82C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 86C830 802400F0 0C046F0D */ jal set_main_pan_v +/* 86C834 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 86C838 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 86C83C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 86C840 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 86C844 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 86C848 80240108 0C046F19 */ jal set_aux_pan_v +/* 86C84C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 86C850 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 86C854 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 86C858 80240118 0000102D */ daddu $v0, $zero, $zero +/* 86C85C 8024011C 03E00008 */ jr $ra +/* 86C860 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240124_86C740.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240124_86C740.s new file mode 100644 index 0000000000..9cdf16ab96 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240124_86C740.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_86C864 +/* 86C864 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86C868 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 86C86C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 86C870 80240130 10A00005 */ beqz $a1, .L80240148 +/* 86C874 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 86C878 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 86C87C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 86C880 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 86C884 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 86C888 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 86C88C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 86C890 80240150 00000000 */ nop +/* 86C894 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 86C898 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 86C89C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 86C8A0 80240160 04610004 */ bgez $v1, .L80240174 +/* 86C8A4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 86C8A8 80240168 3C020002 */ lui $v0, 2 +/* 86C8AC 8024016C 08090061 */ j .L80240184 +/* 86C8B0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 86C8B4 80240174 3C040002 */ lui $a0, 2 +/* 86C8B8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 86C8BC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 86C8C0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 86C8C4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 86C8C8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 86C8CC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 86C8D0 80240190 00000000 */ nop +/* 86C8D4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 86C8D8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 86C8DC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 86C8E0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 86C8E4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 86C8E8 802401A8 3C020002 */ lui $v0, 2 +/* 86C8EC 802401AC 08090071 */ j .L802401C4 +/* 86C8F0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 86C8F4 802401B4 3C040002 */ lui $a0, 2 +/* 86C8F8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 86C8FC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 86C900 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 86C904 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 86C908 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 86C90C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 86C910 802401D0 00000000 */ nop +/* 86C914 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 86C918 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 86C91C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 86C920 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 86C924 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 86C928 802401E8 3C020002 */ lui $v0, 2 +/* 86C92C 802401EC 08090081 */ j .L80240204 +/* 86C930 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 86C934 802401F4 3C040002 */ lui $a0, 2 +/* 86C938 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 86C93C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 86C940 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 86C944 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 86C948 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 86C94C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 86C950 80240210 00000000 */ nop +/* 86C954 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 86C958 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 86C95C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 86C960 80240220 04610004 */ bgez $v1, .L80240234 +/* 86C964 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 86C968 80240228 3C020002 */ lui $v0, 2 +/* 86C96C 8024022C 08090091 */ j .L80240244 +/* 86C970 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 86C974 80240234 3C040002 */ lui $a0, 2 +/* 86C978 80240238 0083102A */ slt $v0, $a0, $v1 +/* 86C97C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 86C980 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 86C984 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 86C988 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 86C98C 8024024C 0C046F07 */ jal set_main_pan_u +/* 86C990 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 86C994 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 86C998 80240258 0C046F0D */ jal set_main_pan_v +/* 86C99C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 86C9A0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 86C9A4 80240264 0C046F13 */ jal set_aux_pan_u +/* 86C9A8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 86C9AC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 86C9B0 80240270 0C046F19 */ jal set_aux_pan_v +/* 86C9B4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 86C9B8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 86C9BC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 86C9C0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 86C9C4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 86C9C8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 86C9CC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 86C9D0 80240290 24630001 */ addiu $v1, $v1, 1 +/* 86C9D4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 86C9D8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 86C9DC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 86C9E0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 86C9E4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 86C9E8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 86C9EC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 86C9F0 802402B0 14600002 */ bnez $v1, .L802402BC +/* 86C9F4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 86C9F8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 86C9FC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 86CA00 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 86CA04 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 86CA08 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 86CA0C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 86CA10 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 86CA14 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 86CA18 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 86CA1C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 86CA20 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 86CA24 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 86CA28 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 86CA2C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 86CA30 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 86CA34 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 86CA38 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 86CA3C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 86CA40 80240300 0000102D */ daddu $v0, $zero, $zero +/* 86CA44 80240304 03E00008 */ jr $ra +/* 86CA48 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 86CA4C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240310.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240310.s new file mode 100644 index 0000000000..ae2bed3e48 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240310.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310 +/* 86CA50 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 86CA54 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* 86CA58 80240318 3C108024 */ lui $s0, 0x8024 +/* 86CA5C 8024031C 261010C0 */ addiu $s0, $s0, 0x10c0 +/* 86CA60 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* 86CA64 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* 86CA68 80240328 8E020000 */ lw $v0, ($s0) +/* 86CA6C 8024032C 14400010 */ bnez $v0, .L80240370 +/* 86CA70 80240330 0080882D */ daddu $s1, $a0, $zero +/* 86CA74 80240334 0C00AB39 */ jal heap_malloc +/* 86CA78 80240338 24040040 */ addiu $a0, $zero, 0x40 +/* 86CA7C 8024033C AE020000 */ sw $v0, ($s0) +/* 86CA80 80240340 0000182D */ daddu $v1, $zero, $zero +/* 86CA84 80240344 0040282D */ daddu $a1, $v0, $zero +/* 86CA88 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* 86CA8C 8024034C 8C820084 */ lw $v0, 0x84($a0) +/* 86CA90 80240350 24840004 */ addiu $a0, $a0, 4 +/* 86CA94 80240354 24630001 */ addiu $v1, $v1, 1 +/* 86CA98 80240358 ACA20000 */ sw $v0, ($a1) +/* 86CA9C 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* 86CAA0 80240360 1440FFFA */ bnez $v0, .L8024034C +/* 86CAA4 80240364 24A50004 */ addiu $a1, $a1, 4 +/* 86CAA8 80240368 080900EB */ j .L802403AC +/* 86CAAC 8024036C 00000000 */ nop +.L80240370: +/* 86CAB0 80240370 0000182D */ daddu $v1, $zero, $zero +/* 86CAB4 80240374 0040282D */ daddu $a1, $v0, $zero +/* 86CAB8 80240378 0220202D */ daddu $a0, $s1, $zero +.L8024037C: +/* 86CABC 8024037C 8CA20000 */ lw $v0, ($a1) +/* 86CAC0 80240380 24A50004 */ addiu $a1, $a1, 4 +/* 86CAC4 80240384 24630001 */ addiu $v1, $v1, 1 +/* 86CAC8 80240388 AC820084 */ sw $v0, 0x84($a0) +/* 86CACC 8024038C 28620010 */ slti $v0, $v1, 0x10 +/* 86CAD0 80240390 1440FFFA */ bnez $v0, .L8024037C +/* 86CAD4 80240394 24840004 */ addiu $a0, $a0, 4 +/* 86CAD8 80240398 3C108024 */ lui $s0, 0x8024 +/* 86CADC 8024039C 261010C0 */ addiu $s0, $s0, 0x10c0 +/* 86CAE0 802403A0 0C00AB4B */ jal heap_free +/* 86CAE4 802403A4 8E040000 */ lw $a0, ($s0) +/* 86CAE8 802403A8 AE000000 */ sw $zero, ($s0) +.L802403AC: +/* 86CAEC 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 86CAF0 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* 86CAF4 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* 86CAF8 802403B8 24020002 */ addiu $v0, $zero, 2 +/* 86CAFC 802403BC 03E00008 */ jr $ra +/* 86CB00 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_802403C4.s b/asm/nonmatchings/world/area_tik/tik_02/func_802403C4.s new file mode 100644 index 0000000000..a28cb6f68c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_802403C4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4 +/* 86CB04 802403C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 86CB08 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* 86CB0C 802403CC 0080802D */ daddu $s0, $a0, $zero +/* 86CB10 802403D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 86CB14 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* 86CB18 802403D8 8E02000C */ lw $v0, 0xc($s0) +/* 86CB1C 802403DC 8C510000 */ lw $s1, ($v0) +/* 86CB20 802403E0 0C0B1EAF */ jal get_variable +/* 86CB24 802403E4 0220282D */ daddu $a1, $s1, $zero +/* 86CB28 802403E8 3C03FFF0 */ lui $v1, 0xfff0 +/* 86CB2C 802403EC 3463FFFF */ ori $v1, $v1, 0xffff +/* 86CB30 802403F0 0200202D */ daddu $a0, $s0, $zero +/* 86CB34 802403F4 00431024 */ and $v0, $v0, $v1 +/* 86CB38 802403F8 00021140 */ sll $v0, $v0, 5 +/* 86CB3C 802403FC 3C068008 */ lui $a2, %hi(gItemTable) +/* 86CB40 80240400 00C23021 */ addu $a2, $a2, $v0 +/* 86CB44 80240404 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 86CB48 80240408 0C0B2026 */ jal set_variable +/* 86CB4C 8024040C 0220282D */ daddu $a1, $s1, $zero +/* 86CB50 80240410 8FBF0018 */ lw $ra, 0x18($sp) +/* 86CB54 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* 86CB58 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* 86CB5C 8024041C 24020002 */ addiu $v0, $zero, 2 +/* 86CB60 80240420 03E00008 */ jr $ra +/* 86CB64 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240428.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240428.s new file mode 100644 index 0000000000..a8bb55cba8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240428.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428 +/* 86CB68 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 86CB6C 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* 86CB70 80240430 0080882D */ daddu $s1, $a0, $zero +/* 86CB74 80240434 AFBF001C */ sw $ra, 0x1c($sp) +/* 86CB78 80240438 AFB20018 */ sw $s2, 0x18($sp) +/* 86CB7C 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* 86CB80 80240440 8E240084 */ lw $a0, 0x84($s1) +/* 86CB84 80240444 0C04C3D6 */ jal get_item_entity +/* 86CB88 80240448 00A0802D */ daddu $s0, $a1, $zero +/* 86CB8C 8024044C 12000005 */ beqz $s0, .L80240464 +/* 86CB90 80240450 0040902D */ daddu $s2, $v0, $zero +/* 86CB94 80240454 C640000C */ lwc1 $f0, 0xc($s2) +/* 86CB98 80240458 AE200074 */ sw $zero, 0x74($s1) +/* 86CB9C 8024045C AE20007C */ sw $zero, 0x7c($s1) +/* 86CBA0 80240460 E6200078 */ swc1 $f0, 0x78($s1) +.L80240464: +/* 86CBA4 80240464 8E230074 */ lw $v1, 0x74($s1) +/* 86CBA8 80240468 10600005 */ beqz $v1, .L80240480 +/* 86CBAC 8024046C 24020001 */ addiu $v0, $zero, 1 +/* 86CBB0 80240470 10620024 */ beq $v1, $v0, .L80240504 +/* 86CBB4 80240474 00000000 */ nop +/* 86CBB8 80240478 08090157 */ j .L8024055C +/* 86CBBC 8024047C 00000000 */ nop +.L80240480: +/* 86CBC0 80240480 3C013FC9 */ lui $at, 0x3fc9 +/* 86CBC4 80240484 34210FD8 */ ori $at, $at, 0xfd8 +/* 86CBC8 80240488 44810000 */ mtc1 $at, $f0 +/* 86CBCC 8024048C C62C007C */ lwc1 $f12, 0x7c($s1) +/* 86CBD0 80240490 46806320 */ cvt.s.w $f12, $f12 +/* 86CBD4 80240494 46006302 */ mul.s $f12, $f12, $f0 +/* 86CBD8 80240498 00000000 */ nop +/* 86CBDC 8024049C 3C0141F0 */ lui $at, 0x41f0 +/* 86CBE0 802404A0 44810000 */ mtc1 $at, $f0 +/* 86CBE4 802404A4 0C00A874 */ jal cos_rad +/* 86CBE8 802404A8 46006303 */ div.s $f12, $f12, $f0 +/* 86CBEC 802404AC 3C013F80 */ lui $at, 0x3f80 +/* 86CBF0 802404B0 44811000 */ mtc1 $at, $f2 +/* 86CBF4 802404B4 00000000 */ nop +/* 86CBF8 802404B8 46001081 */ sub.s $f2, $f2, $f0 +/* 86CBFC 802404BC 3C0141A0 */ lui $at, 0x41a0 +/* 86CC00 802404C0 44810000 */ mtc1 $at, $f0 +/* 86CC04 802404C4 00000000 */ nop +/* 86CC08 802404C8 46001082 */ mul.s $f2, $f2, $f0 +/* 86CC0C 802404CC 00000000 */ nop +/* 86CC10 802404D0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 86CC14 802404D4 46020000 */ add.s $f0, $f0, $f2 +/* 86CC18 802404D8 E640000C */ swc1 $f0, 0xc($s2) +/* 86CC1C 802404DC 8E23007C */ lw $v1, 0x7c($s1) +/* 86CC20 802404E0 2402001E */ addiu $v0, $zero, 0x1e +/* 86CC24 802404E4 14620005 */ bne $v1, $v0, .L802404FC +/* 86CC28 802404E8 24620001 */ addiu $v0, $v1, 1 +/* 86CC2C 802404EC 24020001 */ addiu $v0, $zero, 1 +/* 86CC30 802404F0 AE220074 */ sw $v0, 0x74($s1) +/* 86CC34 802404F4 08090157 */ j .L8024055C +/* 86CC38 802404F8 AE20007C */ sw $zero, 0x7c($s1) +.L802404FC: +/* 86CC3C 802404FC 08090157 */ j .L8024055C +/* 86CC40 80240500 AE22007C */ sw $v0, 0x7c($s1) +.L80240504: +/* 86CC44 80240504 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 86CC48 80240508 0C00A8D4 */ jal cos_deg +/* 86CC4C 8024050C 46806320 */ cvt.s.w $f12, $f12 +/* 86CC50 80240510 3C014040 */ lui $at, 0x4040 +/* 86CC54 80240514 44811000 */ mtc1 $at, $f2 +/* 86CC58 80240518 00000000 */ nop +/* 86CC5C 8024051C 46020002 */ mul.s $f0, $f0, $f2 +/* 86CC60 80240520 00000000 */ nop +/* 86CC64 80240524 3C014188 */ lui $at, 0x4188 +/* 86CC68 80240528 44812000 */ mtc1 $at, $f4 +/* 86CC6C 8024052C C6220078 */ lwc1 $f2, 0x78($s1) +/* 86CC70 80240530 46041080 */ add.s $f2, $f2, $f4 +/* 86CC74 80240534 46001080 */ add.s $f2, $f2, $f0 +/* 86CC78 80240538 E642000C */ swc1 $f2, 0xc($s2) +/* 86CC7C 8024053C 8E22007C */ lw $v0, 0x7c($s1) +/* 86CC80 80240540 24420009 */ addiu $v0, $v0, 9 +/* 86CC84 80240544 44826000 */ mtc1 $v0, $f12 +/* 86CC88 80240548 00000000 */ nop +/* 86CC8C 8024054C 0C00A6C9 */ jal clamp_angle +/* 86CC90 80240550 46806320 */ cvt.s.w $f12, $f12 +/* 86CC94 80240554 4600018D */ trunc.w.s $f6, $f0 +/* 86CC98 80240558 E626007C */ swc1 $f6, 0x7c($s1) +.L8024055C: +/* 86CC9C 8024055C 8FBF001C */ lw $ra, 0x1c($sp) +/* 86CCA0 80240560 8FB20018 */ lw $s2, 0x18($sp) +/* 86CCA4 80240564 8FB10014 */ lw $s1, 0x14($sp) +/* 86CCA8 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* 86CCAC 8024056C 0000102D */ daddu $v0, $zero, $zero +/* 86CCB0 80240570 03E00008 */ jr $ra +/* 86CCB4 80240574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240578_86C740.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240578_86C740.s new file mode 100644 index 0000000000..7138223922 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240578_86C740.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240578_86CCB8 +/* 86CCB8 80240578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86CCBC 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* 86CCC0 80240580 0080802D */ daddu $s0, $a0, $zero +/* 86CCC4 80240584 AFBF0014 */ sw $ra, 0x14($sp) +/* 86CCC8 80240588 8E02000C */ lw $v0, 0xc($s0) +/* 86CCCC 8024058C 0C0B1EAF */ jal get_variable +/* 86CCD0 80240590 8C450000 */ lw $a1, ($v0) +/* 86CCD4 80240594 00021140 */ sll $v0, $v0, 5 +/* 86CCD8 80240598 AE000084 */ sw $zero, 0x84($s0) +/* 86CCDC 8024059C 3C018008 */ lui $at, 0x8008 +/* 86CCE0 802405A0 00220821 */ addu $at, $at, $v0 +/* 86CCE4 802405A4 942278F8 */ lhu $v0, 0x78f8($at) +/* 86CCE8 802405A8 30420040 */ andi $v0, $v0, 0x40 +/* 86CCEC 802405AC 10400002 */ beqz $v0, .L802405B8 +/* 86CCF0 802405B0 24020001 */ addiu $v0, $zero, 1 +/* 86CCF4 802405B4 AE020084 */ sw $v0, 0x84($s0) +.L802405B8: +/* 86CCF8 802405B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 86CCFC 802405BC 8FB00010 */ lw $s0, 0x10($sp) +/* 86CD00 802405C0 24020002 */ addiu $v0, $zero, 2 +/* 86CD04 802405C4 03E00008 */ jr $ra +/* 86CD08 802405C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 86CD0C 802405CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_802405D0.s b/asm/nonmatchings/world/area_tik/tik_02/func_802405D0.s new file mode 100644 index 0000000000..caaf5df7ad --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_802405D0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0 +/* 86CD10 802405D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 86CD14 802405D4 AFB3001C */ sw $s3, 0x1c($sp) +/* 86CD18 802405D8 0080982D */ daddu $s3, $a0, $zero +/* 86CD1C 802405DC AFBF0020 */ sw $ra, 0x20($sp) +/* 86CD20 802405E0 AFB20018 */ sw $s2, 0x18($sp) +/* 86CD24 802405E4 AFB10014 */ sw $s1, 0x14($sp) +/* 86CD28 802405E8 AFB00010 */ sw $s0, 0x10($sp) +/* 86CD2C 802405EC F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 86CD30 802405F0 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 86CD34 802405F4 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 86CD38 802405F8 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 86CD3C 802405FC 8E62000C */ lw $v0, 0xc($s3) +/* 86CD40 80240600 0C0B1EAF */ jal get_variable +/* 86CD44 80240604 8C450000 */ lw $a1, ($v0) +/* 86CD48 80240608 2404FFFC */ addiu $a0, $zero, -4 +/* 86CD4C 8024060C 0C00EABB */ jal get_npc_unsafe +/* 86CD50 80240610 0040802D */ daddu $s0, $v0, $zero +/* 86CD54 80240614 0200202D */ daddu $a0, $s0, $zero +/* 86CD58 80240618 0C046C04 */ jal get_model_list_index_from_tree_index +/* 86CD5C 8024061C 0040802D */ daddu $s0, $v0, $zero +/* 86CD60 80240620 0C046B4C */ jal get_model_from_list_index +/* 86CD64 80240624 0040202D */ daddu $a0, $v0, $zero +/* 86CD68 80240628 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 86CD6C 8024062C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 86CD70 80240630 0040902D */ daddu $s2, $v0, $zero +/* 86CD74 80240634 AE60008C */ sw $zero, 0x8c($s3) +/* 86CD78 80240638 C4620028 */ lwc1 $f2, 0x28($v1) +/* 86CD7C 8024063C C6400098 */ lwc1 $f0, 0x98($s2) +/* 86CD80 80240640 46001081 */ sub.s $f2, $f2, $f0 +/* 86CD84 80240644 46021182 */ mul.s $f6, $f2, $f2 +/* 86CD88 80240648 00000000 */ nop +/* 86CD8C 8024064C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86CD90 80240650 C4620030 */ lwc1 $f2, 0x30($v1) +/* 86CD94 80240654 46001081 */ sub.s $f2, $f2, $f0 +/* 86CD98 80240658 46021102 */ mul.s $f4, $f2, $f2 +/* 86CD9C 8024065C 00000000 */ nop +/* 86CDA0 80240660 846200B0 */ lh $v0, 0xb0($v1) +/* 86CDA4 80240664 C462002C */ lwc1 $f2, 0x2c($v1) +/* 86CDA8 80240668 44820000 */ mtc1 $v0, $f0 +/* 86CDAC 8024066C 00000000 */ nop +/* 86CDB0 80240670 46800020 */ cvt.s.w $f0, $f0 +/* 86CDB4 80240674 46001080 */ add.s $f2, $f2, $f0 +/* 86CDB8 80240678 3C013FC0 */ lui $at, 0x3fc0 +/* 86CDBC 8024067C 44810000 */ mtc1 $at, $f0 +/* 86CDC0 80240680 00000000 */ nop +/* 86CDC4 80240684 46001081 */ sub.s $f2, $f2, $f0 +/* 86CDC8 80240688 46043300 */ add.s $f12, $f6, $f4 +/* 86CDCC 8024068C C640009C */ lwc1 $f0, 0x9c($s2) +/* 86CDD0 80240690 46001501 */ sub.s $f20, $f2, $f0 +/* 86CDD4 80240694 46006084 */ sqrt.s $f2, $f12 +/* 86CDD8 80240698 46021032 */ c.eq.s $f2, $f2 +/* 86CDDC 8024069C 00000000 */ nop +/* 86CDE0 802406A0 45010004 */ bc1t .L802406B4 +/* 86CDE4 802406A4 0060882D */ daddu $s1, $v1, $zero +/* 86CDE8 802406A8 0C0187BC */ jal sqrtf +/* 86CDEC 802406AC 00000000 */ nop +/* 86CDF0 802406B0 46000086 */ mov.s $f2, $f0 +.L802406B4: +/* 86CDF4 802406B4 44800000 */ mtc1 $zero, $f0 +/* 86CDF8 802406B8 00000000 */ nop +/* 86CDFC 802406BC 4614003C */ c.lt.s $f0, $f20 +/* 86CE00 802406C0 00000000 */ nop +/* 86CE04 802406C4 45000016 */ bc1f .L80240720 +/* 86CE08 802406C8 46001106 */ mov.s $f4, $f2 +/* 86CE0C 802406CC 862200B0 */ lh $v0, 0xb0($s1) +/* 86CE10 802406D0 44820000 */ mtc1 $v0, $f0 +/* 86CE14 802406D4 00000000 */ nop +/* 86CE18 802406D8 46800020 */ cvt.s.w $f0, $f0 +/* 86CE1C 802406DC 4600A03C */ c.lt.s $f20, $f0 +/* 86CE20 802406E0 00000000 */ nop +/* 86CE24 802406E4 4500000E */ bc1f .L80240720 +/* 86CE28 802406E8 00000000 */ nop +/* 86CE2C 802406EC 862200B2 */ lh $v0, 0xb2($s1) +/* 86CE30 802406F0 3C013F00 */ lui $at, 0x3f00 +/* 86CE34 802406F4 44811000 */ mtc1 $at, $f2 +/* 86CE38 802406F8 44820000 */ mtc1 $v0, $f0 +/* 86CE3C 802406FC 00000000 */ nop +/* 86CE40 80240700 46800020 */ cvt.s.w $f0, $f0 +/* 86CE44 80240704 46020002 */ mul.s $f0, $f0, $f2 +/* 86CE48 80240708 00000000 */ nop +/* 86CE4C 8024070C 4600203C */ c.lt.s $f4, $f0 +/* 86CE50 80240710 00000000 */ nop +/* 86CE54 80240714 45000002 */ bc1f .L80240720 +/* 86CE58 80240718 24020001 */ addiu $v0, $zero, 1 +/* 86CE5C 8024071C AE62008C */ sw $v0, 0x8c($s3) +.L80240720: +/* 86CE60 80240720 C6020038 */ lwc1 $f2, 0x38($s0) +/* 86CE64 80240724 C6400098 */ lwc1 $f0, 0x98($s2) +/* 86CE68 80240728 46001081 */ sub.s $f2, $f2, $f0 +/* 86CE6C 8024072C 46021182 */ mul.s $f6, $f2, $f2 +/* 86CE70 80240730 00000000 */ nop +/* 86CE74 80240734 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86CE78 80240738 C6020040 */ lwc1 $f2, 0x40($s0) +/* 86CE7C 8024073C 46001081 */ sub.s $f2, $f2, $f0 +/* 86CE80 80240740 46021102 */ mul.s $f4, $f2, $f2 +/* 86CE84 80240744 00000000 */ nop +/* 86CE88 80240748 860200A8 */ lh $v0, 0xa8($s0) +/* 86CE8C 8024074C C602003C */ lwc1 $f2, 0x3c($s0) +/* 86CE90 80240750 44820000 */ mtc1 $v0, $f0 +/* 86CE94 80240754 00000000 */ nop +/* 86CE98 80240758 46800020 */ cvt.s.w $f0, $f0 +/* 86CE9C 8024075C 46001080 */ add.s $f2, $f2, $f0 +/* 86CEA0 80240760 3C013FC0 */ lui $at, 0x3fc0 +/* 86CEA4 80240764 44810000 */ mtc1 $at, $f0 +/* 86CEA8 80240768 00000000 */ nop +/* 86CEAC 8024076C 46001081 */ sub.s $f2, $f2, $f0 +/* 86CEB0 80240770 46043300 */ add.s $f12, $f6, $f4 +/* 86CEB4 80240774 C640009C */ lwc1 $f0, 0x9c($s2) +/* 86CEB8 80240778 46001501 */ sub.s $f20, $f2, $f0 +/* 86CEBC 8024077C 46006084 */ sqrt.s $f2, $f12 +/* 86CEC0 80240780 46021032 */ c.eq.s $f2, $f2 +/* 86CEC4 80240784 00000000 */ nop +/* 86CEC8 80240788 45010004 */ bc1t .L8024079C +/* 86CECC 8024078C 00000000 */ nop +/* 86CED0 80240790 0C0187BC */ jal sqrtf +/* 86CED4 80240794 00000000 */ nop +/* 86CED8 80240798 46000086 */ mov.s $f2, $f0 +.L8024079C: +/* 86CEDC 8024079C 44800000 */ mtc1 $zero, $f0 +/* 86CEE0 802407A0 00000000 */ nop +/* 86CEE4 802407A4 4614003C */ c.lt.s $f0, $f20 +/* 86CEE8 802407A8 00000000 */ nop +/* 86CEEC 802407AC 45000016 */ bc1f .L80240808 +/* 86CEF0 802407B0 46001106 */ mov.s $f4, $f2 +/* 86CEF4 802407B4 860200A8 */ lh $v0, 0xa8($s0) +/* 86CEF8 802407B8 44820000 */ mtc1 $v0, $f0 +/* 86CEFC 802407BC 00000000 */ nop +/* 86CF00 802407C0 46800020 */ cvt.s.w $f0, $f0 +/* 86CF04 802407C4 4600A03C */ c.lt.s $f20, $f0 +/* 86CF08 802407C8 00000000 */ nop +/* 86CF0C 802407CC 4500000F */ bc1f .L8024080C +/* 86CF10 802407D0 0000882D */ daddu $s1, $zero, $zero +/* 86CF14 802407D4 860200A6 */ lh $v0, 0xa6($s0) +/* 86CF18 802407D8 3C013F00 */ lui $at, 0x3f00 +/* 86CF1C 802407DC 44811000 */ mtc1 $at, $f2 +/* 86CF20 802407E0 44820000 */ mtc1 $v0, $f0 +/* 86CF24 802407E4 00000000 */ nop +/* 86CF28 802407E8 46800020 */ cvt.s.w $f0, $f0 +/* 86CF2C 802407EC 46020002 */ mul.s $f0, $f0, $f2 +/* 86CF30 802407F0 00000000 */ nop +/* 86CF34 802407F4 4600203C */ c.lt.s $f4, $f0 +/* 86CF38 802407F8 00000000 */ nop +/* 86CF3C 802407FC 45000003 */ bc1f .L8024080C +/* 86CF40 80240800 24020001 */ addiu $v0, $zero, 1 +/* 86CF44 80240804 AE62008C */ sw $v0, 0x8c($s3) +.L80240808: +/* 86CF48 80240808 0000882D */ daddu $s1, $zero, $zero +.L8024080C: +/* 86CF4C 8024080C 3C013FC0 */ lui $at, 0x3fc0 +/* 86CF50 80240810 4481D000 */ mtc1 $at, $f26 +/* 86CF54 80240814 4480C000 */ mtc1 $zero, $f24 +/* 86CF58 80240818 3C013F00 */ lui $at, 0x3f00 +/* 86CF5C 8024081C 4481B000 */ mtc1 $at, $f22 +.L80240820: +/* 86CF60 80240820 0C00EAD2 */ jal get_npc_safe +/* 86CF64 80240824 0220202D */ daddu $a0, $s1, $zero +/* 86CF68 80240828 0040802D */ daddu $s0, $v0, $zero +/* 86CF6C 8024082C 52000035 */ beql $s0, $zero, .L80240904 +/* 86CF70 80240830 26310001 */ addiu $s1, $s1, 1 +/* 86CF74 80240834 C6020038 */ lwc1 $f2, 0x38($s0) +/* 86CF78 80240838 C6400098 */ lwc1 $f0, 0x98($s2) +/* 86CF7C 8024083C 46001081 */ sub.s $f2, $f2, $f0 +/* 86CF80 80240840 46021182 */ mul.s $f6, $f2, $f2 +/* 86CF84 80240844 00000000 */ nop +/* 86CF88 80240848 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86CF8C 8024084C C6020040 */ lwc1 $f2, 0x40($s0) +/* 86CF90 80240850 46001081 */ sub.s $f2, $f2, $f0 +/* 86CF94 80240854 46021102 */ mul.s $f4, $f2, $f2 +/* 86CF98 80240858 00000000 */ nop +/* 86CF9C 8024085C 860200A8 */ lh $v0, 0xa8($s0) +/* 86CFA0 80240860 C602003C */ lwc1 $f2, 0x3c($s0) +/* 86CFA4 80240864 44820000 */ mtc1 $v0, $f0 +/* 86CFA8 80240868 00000000 */ nop +/* 86CFAC 8024086C 46800020 */ cvt.s.w $f0, $f0 +/* 86CFB0 80240870 46001080 */ add.s $f2, $f2, $f0 +/* 86CFB4 80240874 461A1081 */ sub.s $f2, $f2, $f26 +/* 86CFB8 80240878 46043300 */ add.s $f12, $f6, $f4 +/* 86CFBC 8024087C C640009C */ lwc1 $f0, 0x9c($s2) +/* 86CFC0 80240880 46001501 */ sub.s $f20, $f2, $f0 +/* 86CFC4 80240884 46006004 */ sqrt.s $f0, $f12 +/* 86CFC8 80240888 46000032 */ c.eq.s $f0, $f0 +/* 86CFCC 8024088C 00000000 */ nop +/* 86CFD0 80240890 45010003 */ bc1t .L802408A0 +/* 86CFD4 80240894 00000000 */ nop +/* 86CFD8 80240898 0C0187BC */ jal sqrtf +/* 86CFDC 8024089C 00000000 */ nop +.L802408A0: +/* 86CFE0 802408A0 4614C03C */ c.lt.s $f24, $f20 +/* 86CFE4 802408A4 00000000 */ nop +/* 86CFE8 802408A8 45000015 */ bc1f .L80240900 +/* 86CFEC 802408AC 46000106 */ mov.s $f4, $f0 +/* 86CFF0 802408B0 860200A8 */ lh $v0, 0xa8($s0) +/* 86CFF4 802408B4 44820000 */ mtc1 $v0, $f0 +/* 86CFF8 802408B8 00000000 */ nop +/* 86CFFC 802408BC 46800020 */ cvt.s.w $f0, $f0 +/* 86D000 802408C0 4600A03C */ c.lt.s $f20, $f0 +/* 86D004 802408C4 00000000 */ nop +/* 86D008 802408C8 4500000E */ bc1f .L80240904 +/* 86D00C 802408CC 26310001 */ addiu $s1, $s1, 1 +/* 86D010 802408D0 860200A6 */ lh $v0, 0xa6($s0) +/* 86D014 802408D4 44820000 */ mtc1 $v0, $f0 +/* 86D018 802408D8 00000000 */ nop +/* 86D01C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 86D020 802408E0 46160002 */ mul.s $f0, $f0, $f22 +/* 86D024 802408E4 00000000 */ nop +/* 86D028 802408E8 4600203C */ c.lt.s $f4, $f0 +/* 86D02C 802408EC 00000000 */ nop +/* 86D030 802408F0 45000004 */ bc1f .L80240904 +/* 86D034 802408F4 24020001 */ addiu $v0, $zero, 1 +/* 86D038 802408F8 08090244 */ j .L80240910 +/* 86D03C 802408FC AE62008C */ sw $v0, 0x8c($s3) +.L80240900: +/* 86D040 80240900 26310001 */ addiu $s1, $s1, 1 +.L80240904: +/* 86D044 80240904 2A220040 */ slti $v0, $s1, 0x40 +/* 86D048 80240908 1440FFC5 */ bnez $v0, .L80240820 +/* 86D04C 8024090C 00000000 */ nop +.L80240910: +/* 86D050 80240910 8FBF0020 */ lw $ra, 0x20($sp) +/* 86D054 80240914 8FB3001C */ lw $s3, 0x1c($sp) +/* 86D058 80240918 8FB20018 */ lw $s2, 0x18($sp) +/* 86D05C 8024091C 8FB10014 */ lw $s1, 0x14($sp) +/* 86D060 80240920 8FB00010 */ lw $s0, 0x10($sp) +/* 86D064 80240924 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 86D068 80240928 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 86D06C 8024092C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 86D070 80240930 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 86D074 80240934 24020002 */ addiu $v0, $zero, 2 +/* 86D078 80240938 03E00008 */ jr $ra +/* 86D07C 8024093C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_02/func_80240940.s b/asm/nonmatchings/world/area_tik/tik_02/func_80240940.s new file mode 100644 index 0000000000..46c79badf1 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_02/func_80240940.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240940 +/* 86D080 80240940 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86D084 80240944 AFBF0014 */ sw $ra, 0x14($sp) +/* 86D088 80240948 AFB00010 */ sw $s0, 0x10($sp) +/* 86D08C 8024094C 8C82000C */ lw $v0, 0xc($a0) +/* 86D090 80240950 8C450000 */ lw $a1, ($v0) +/* 86D094 80240954 0C0B1EAF */ jal get_variable +/* 86D098 80240958 8C900148 */ lw $s0, 0x148($a0) +/* 86D09C 8024095C 82030004 */ lb $v1, 4($s0) +/* 86D0A0 80240960 00021080 */ sll $v0, $v0, 2 +/* 86D0A4 80240964 00031880 */ sll $v1, $v1, 2 +/* 86D0A8 80240968 3C04800B */ lui $a0, 0x800b +/* 86D0AC 8024096C 00832021 */ addu $a0, $a0, $v1 +/* 86D0B0 80240970 8C840F38 */ lw $a0, 0xf38($a0) +/* 86D0B4 80240974 3C038024 */ lui $v1, 0x8024 +/* 86D0B8 80240978 00621821 */ addu $v1, $v1, $v0 +/* 86D0BC 8024097C 94631BAE */ lhu $v1, 0x1bae($v1) +/* 86D0C0 80240980 A4830044 */ sh $v1, 0x44($a0) +/* 86D0C4 80240984 8FBF0014 */ lw $ra, 0x14($sp) +/* 86D0C8 80240988 8FB00010 */ lw $s0, 0x10($sp) +/* 86D0CC 8024098C 24020002 */ addiu $v0, $zero, 2 +/* 86D0D0 80240990 03E00008 */ jr $ra +/* 86D0D4 80240994 27BD0018 */ addiu $sp, $sp, 0x18 +/* 86D0D8 80240998 00000000 */ nop +/* 86D0DC 8024099C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_80240000_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_80240000_86EB00.s new file mode 100644 index 0000000000..51fea9a2a9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_80240000_86EB00.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_86EB00 +/* 86EB00 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 86EB04 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 86EB08 80240008 8C430004 */ lw $v1, 4($v0) +/* 86EB0C 8024000C 3C040010 */ lui $a0, 0x10 +/* 86EB10 80240010 00641825 */ or $v1, $v1, $a0 +/* 86EB14 80240014 AC430004 */ sw $v1, 4($v0) +/* 86EB18 80240018 03E00008 */ jr $ra +/* 86EB1C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_80240020_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_80240020_86EB00.s new file mode 100644 index 0000000000..a283e38cba --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_80240020_86EB00.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_86EB20 +/* 86EB20 80240020 3C028016 */ lui $v0, 0x8016 +/* 86EB24 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 86EB28 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 86EB2C 8024002C 03E00008 */ jr $ra +/* 86EB30 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_80240034_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_80240034_86EB00.s new file mode 100644 index 0000000000..d8ae5b410e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_80240034_86EB00.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_86EB34 +/* 86EB34 80240034 3C038016 */ lui $v1, 0x8016 +/* 86EB38 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 86EB3C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86EB40 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 86EB44 80240044 0080802D */ daddu $s0, $a0, $zero +/* 86EB48 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 86EB4C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 86EB50 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 86EB54 80240054 24020002 */ addiu $v0, $zero, 2 +/* 86EB58 80240058 08090038 */ j .L802400E0 +/* 86EB5C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 86EB60 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 86EB64 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 86EB68 80240068 80620040 */ lb $v0, 0x40($v1) +/* 86EB6C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 86EB70 80240070 04420001 */ bltzl $v0, .L80240078 +/* 86EB74 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 86EB78 80240078 14400003 */ bnez $v0, .L80240088 +/* 86EB7C 8024007C 00000000 */ nop +/* 86EB80 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 86EB84 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 86EB88 80240088 44822000 */ mtc1 $v0, $f4 +/* 86EB8C 8024008C 00000000 */ nop +/* 86EB90 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 86EB94 80240094 44062000 */ mfc1 $a2, $f4 +/* 86EB98 80240098 44872000 */ mtc1 $a3, $f4 +/* 86EB9C 8024009C 00000000 */ nop +/* 86EBA0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 86EBA4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 86EBA8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 86EBAC 802400AC 0C00A720 */ jal atan2 +/* 86EBB0 802400B0 46006386 */ mov.s $f14, $f12 +/* 86EBB4 802400B4 3C014270 */ lui $at, 0x4270 +/* 86EBB8 802400B8 44811000 */ mtc1 $at, $f2 +/* 86EBBC 802400BC 00000000 */ nop +/* 86EBC0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 86EBC4 802400C4 00000000 */ nop +/* 86EBC8 802400C8 45000004 */ bc1f .L802400DC +/* 86EBCC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 86EBD0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 86EBD4 802400D4 08090038 */ j .L802400E0 +/* 86EBD8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 86EBDC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 86EBE0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 86EBE4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 86EBE8 802400E8 03E00008 */ jr $ra +/* 86EBEC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802400F0_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_802400F0_86EB00.s new file mode 100644 index 0000000000..7eb8c52cff --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802400F0_86EB00.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_86EBF0 +/* 86EBF0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 86EBF4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 86EBF8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 86EBFC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 86EC00 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 86EC04 80240104 0C016AFA */ jal get_current_map_header +/* 86EC08 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 86EC0C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 86EC10 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 86EC14 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 86EC18 80240118 0C0B1EAF */ jal get_variable +/* 86EC1C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 86EC20 80240120 0220202D */ daddu $a0, $s1, $zero +/* 86EC24 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 86EC28 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 86EC2C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 86EC30 80240130 02031821 */ addu $v1, $s0, $v1 +/* 86EC34 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 86EC38 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 86EC3C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 86EC40 80240140 0C0B2026 */ jal set_variable +/* 86EC44 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 86EC48 80240148 0220202D */ daddu $a0, $s1, $zero +/* 86EC4C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 86EC50 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 86EC54 80240154 02021021 */ addu $v0, $s0, $v0 +/* 86EC58 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 86EC5C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 86EC60 80240160 44061000 */ mfc1 $a2, $f2 +/* 86EC64 80240164 0C0B2026 */ jal set_variable +/* 86EC68 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 86EC6C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 86EC70 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 86EC74 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 86EC78 80240178 02021021 */ addu $v0, $s0, $v0 +/* 86EC7C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 86EC80 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 86EC84 80240184 44061000 */ mfc1 $a2, $f2 +/* 86EC88 80240188 0C0B2026 */ jal set_variable +/* 86EC8C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 86EC90 80240190 0220202D */ daddu $a0, $s1, $zero +/* 86EC94 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 86EC98 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 86EC9C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 86ECA0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 86ECA4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 86ECA8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 86ECAC 802401AC 0C0B2026 */ jal set_variable +/* 86ECB0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 86ECB4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 86ECB8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 86ECBC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 86ECC0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 86ECC4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 86ECC8 802401C8 03E00008 */ jr $ra +/* 86ECCC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802401D0_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_802401D0_86EB00.s new file mode 100644 index 0000000000..f08ca3d01e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802401D0_86EB00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_86ECD0 +/* 86ECD0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 86ECD4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 86ECD8 802401D8 3C014334 */ lui $at, 0x4334 +/* 86ECDC 802401DC 44816000 */ mtc1 $at, $f12 +/* 86ECE0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86ECE4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 86ECE8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 86ECEC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 86ECF0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 86ECF4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 86ECF8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 86ECFC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 86ED00 80240200 00431021 */ addu $v0, $v0, $v1 +/* 86ED04 80240204 000210C0 */ sll $v0, $v0, 3 +/* 86ED08 80240208 3C01800B */ lui $at, 0x800b +/* 86ED0C 8024020C 00220821 */ addu $at, $at, $v0 +/* 86ED10 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 86ED14 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 86ED18 80240218 0C00A6C9 */ jal clamp_angle +/* 86ED1C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 86ED20 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 86ED24 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 86ED28 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 86ED2C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 86ED30 80240230 24020002 */ addiu $v0, $zero, 2 +/* 86ED34 80240234 03E00008 */ jr $ra +/* 86ED38 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_8024023C_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_8024023C_86EB00.s new file mode 100644 index 0000000000..f4b2c4a379 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_8024023C_86EB00.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_86ED3C +/* 86ED3C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 86ED40 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 86ED44 80240244 0080802D */ daddu $s0, $a0, $zero +/* 86ED48 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 86ED4C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 86ED50 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 86ED54 80240254 0C0B210B */ jal get_float_variable +/* 86ED58 80240258 8C450000 */ lw $a1, ($v0) +/* 86ED5C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 86ED60 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 86ED64 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 86ED68 80240268 44060000 */ mfc1 $a2, $f0 +/* 86ED6C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 86ED70 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 86ED74 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 86ED78 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 86ED7C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 86ED80 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 86ED84 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 86ED88 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 86ED8C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 86ED90 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 86ED94 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 86ED98 80240298 0C0B2190 */ jal set_float_variable +/* 86ED9C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 86EDA0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 86EDA4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 86EDA8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 86EDAC 802402AC 0C0B2190 */ jal set_float_variable +/* 86EDB0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 86EDB4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 86EDB8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 86EDBC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 86EDC0 802402C0 0C0B2190 */ jal set_float_variable +/* 86EDC4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 86EDC8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 86EDCC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 86EDD0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 86EDD4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 86EDD8 802402D8 03E00008 */ jr $ra +/* 86EDDC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802402E0_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_802402E0_86EB00.s new file mode 100644 index 0000000000..23d3b5b296 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802402E0_86EB00.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_86EDE0 +/* 86EDE0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86EDE4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 86EDE8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 86EDEC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 86EDF0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 86EDF4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 86EDF8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 86EDFC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 86EE00 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 86EE04 80240304 3C020002 */ lui $v0, 2 +/* 86EE08 80240308 080900C8 */ j .L80240320 +/* 86EE0C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 86EE10 80240310 3C040002 */ lui $a0, 2 +/* 86EE14 80240314 0083102A */ slt $v0, $a0, $v1 +/* 86EE18 80240318 10400002 */ beqz $v0, .L80240324 +/* 86EE1C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 86EE20 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 86EE24 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 86EE28 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 86EE2C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 86EE30 80240330 04610004 */ bgez $v1, .L80240344 +/* 86EE34 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 86EE38 80240338 3C020002 */ lui $v0, 2 +/* 86EE3C 8024033C 080900D5 */ j .L80240354 +/* 86EE40 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 86EE44 80240344 3C040002 */ lui $a0, 2 +/* 86EE48 80240348 0083102A */ slt $v0, $a0, $v1 +/* 86EE4C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 86EE50 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 86EE54 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 86EE58 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 86EE5C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 86EE60 80240360 00621821 */ addu $v1, $v1, $v0 +/* 86EE64 80240364 04610004 */ bgez $v1, .L80240378 +/* 86EE68 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 86EE6C 8024036C 3C020002 */ lui $v0, 2 +/* 86EE70 80240370 080900E2 */ j .L80240388 +/* 86EE74 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 86EE78 80240378 3C040002 */ lui $a0, 2 +/* 86EE7C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 86EE80 80240380 10400002 */ beqz $v0, .L8024038C +/* 86EE84 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 86EE88 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 86EE8C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 86EE90 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 86EE94 80240394 00621821 */ addu $v1, $v1, $v0 +/* 86EE98 80240398 04610004 */ bgez $v1, .L802403AC +/* 86EE9C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 86EEA0 802403A0 3C020002 */ lui $v0, 2 +/* 86EEA4 802403A4 080900EF */ j .L802403BC +/* 86EEA8 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 86EEAC 802403AC 3C040002 */ lui $a0, 2 +/* 86EEB0 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 86EEB4 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 86EEB8 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 86EEBC 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 86EEC0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 86EEC4 802403C4 0C046F07 */ jal set_main_pan_u +/* 86EEC8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 86EECC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 86EED0 802403D0 0C046F0D */ jal set_main_pan_v +/* 86EED4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 86EED8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 86EEDC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 86EEE0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 86EEE4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 86EEE8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 86EEEC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 86EEF0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 86EEF4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 86EEF8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 86EEFC 802403FC 03E00008 */ jr $ra +/* 86EF00 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_80240404_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_80240404_86EB00.s new file mode 100644 index 0000000000..6d58242c38 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_80240404_86EB00.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_86EF04 +/* 86EF04 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86EF08 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 86EF0C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 86EF10 80240410 10A00005 */ beqz $a1, .L80240428 +/* 86EF14 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 86EF18 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 86EF1C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 86EF20 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 86EF24 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 86EF28 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 86EF2C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 86EF30 80240430 00000000 */ nop +/* 86EF34 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 86EF38 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 86EF3C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 86EF40 80240440 04610004 */ bgez $v1, .L80240454 +/* 86EF44 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 86EF48 80240448 3C020002 */ lui $v0, 2 +/* 86EF4C 8024044C 08090119 */ j .L80240464 +/* 86EF50 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 86EF54 80240454 3C040002 */ lui $a0, 2 +/* 86EF58 80240458 0083102A */ slt $v0, $a0, $v1 +/* 86EF5C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 86EF60 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 86EF64 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 86EF68 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 86EF6C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 86EF70 80240470 00000000 */ nop +/* 86EF74 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 86EF78 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 86EF7C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 86EF80 80240480 04610004 */ bgez $v1, .L80240494 +/* 86EF84 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 86EF88 80240488 3C020002 */ lui $v0, 2 +/* 86EF8C 8024048C 08090129 */ j .L802404A4 +/* 86EF90 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 86EF94 80240494 3C040002 */ lui $a0, 2 +/* 86EF98 80240498 0083102A */ slt $v0, $a0, $v1 +/* 86EF9C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 86EFA0 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 86EFA4 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 86EFA8 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 86EFAC 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 86EFB0 802404B0 00000000 */ nop +/* 86EFB4 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 86EFB8 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 86EFBC 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 86EFC0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 86EFC4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 86EFC8 802404C8 3C020002 */ lui $v0, 2 +/* 86EFCC 802404CC 08090139 */ j .L802404E4 +/* 86EFD0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 86EFD4 802404D4 3C040002 */ lui $a0, 2 +/* 86EFD8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 86EFDC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 86EFE0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 86EFE4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 86EFE8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 86EFEC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 86EFF0 802404F0 00000000 */ nop +/* 86EFF4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 86EFF8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 86EFFC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 86F000 80240500 04610004 */ bgez $v1, .L80240514 +/* 86F004 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 86F008 80240508 3C020002 */ lui $v0, 2 +/* 86F00C 8024050C 08090149 */ j .L80240524 +/* 86F010 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 86F014 80240514 3C040002 */ lui $a0, 2 +/* 86F018 80240518 0083102A */ slt $v0, $a0, $v1 +/* 86F01C 8024051C 10400002 */ beqz $v0, .L80240528 +/* 86F020 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 86F024 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 86F028 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 86F02C 8024052C 0C046F07 */ jal set_main_pan_u +/* 86F030 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 86F034 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 86F038 80240538 0C046F0D */ jal set_main_pan_v +/* 86F03C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 86F040 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 86F044 80240544 0C046F13 */ jal set_aux_pan_u +/* 86F048 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 86F04C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 86F050 80240550 0C046F19 */ jal set_aux_pan_v +/* 86F054 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 86F058 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 86F05C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 86F060 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 86F064 80240564 24420001 */ addiu $v0, $v0, 1 +/* 86F068 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 86F06C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 86F070 80240570 24630001 */ addiu $v1, $v1, 1 +/* 86F074 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 86F078 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 86F07C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 86F080 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 86F084 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 86F088 80240588 0064182A */ slt $v1, $v1, $a0 +/* 86F08C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 86F090 80240590 14600002 */ bnez $v1, .L8024059C +/* 86F094 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 86F098 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 86F09C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 86F0A0 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 86F0A4 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 86F0A8 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 86F0AC 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 86F0B0 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 86F0B4 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 86F0B8 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 86F0BC 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 86F0C0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 86F0C4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 86F0C8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 86F0CC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 86F0D0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 86F0D4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 86F0D8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 86F0DC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 86F0E0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 86F0E4 802405E4 03E00008 */ jr $ra +/* 86F0E8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 86F0EC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802405F0_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_802405F0_86EB00.s new file mode 100644 index 0000000000..9ba1670b85 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802405F0_86EB00.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_86F0F0 +/* 86F0F0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 86F0F4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 86F0F8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 86F0FC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 86F100 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 86F104 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 86F108 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 86F10C 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 86F110 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 86F114 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 86F118 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 86F11C 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 86F120 80240620 0C0B1EAF */ jal get_variable +/* 86F124 80240624 8C450000 */ lw $a1, ($v0) +/* 86F128 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 86F12C 8024062C 0C00EABB */ jal get_npc_unsafe +/* 86F130 80240630 0040802D */ daddu $s0, $v0, $zero +/* 86F134 80240634 0200202D */ daddu $a0, $s0, $zero +/* 86F138 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 86F13C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 86F140 80240640 0C046B4C */ jal get_model_from_list_index +/* 86F144 80240644 0040202D */ daddu $a0, $v0, $zero +/* 86F148 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 86F14C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 86F150 80240650 0040902D */ daddu $s2, $v0, $zero +/* 86F154 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 86F158 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 86F15C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 86F160 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 86F164 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 86F168 80240668 00000000 */ nop +/* 86F16C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86F170 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 86F174 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 86F178 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 86F17C 8024067C 00000000 */ nop +/* 86F180 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 86F184 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 86F188 80240688 44820000 */ mtc1 $v0, $f0 +/* 86F18C 8024068C 00000000 */ nop +/* 86F190 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 86F194 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 86F198 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 86F19C 8024069C 44810000 */ mtc1 $at, $f0 +/* 86F1A0 802406A0 00000000 */ nop +/* 86F1A4 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 86F1A8 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 86F1AC 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 86F1B0 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 86F1B4 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 86F1B8 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 86F1BC 802406BC 00000000 */ nop +/* 86F1C0 802406C0 45010004 */ bc1t .L802406D4 +/* 86F1C4 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 86F1C8 802406C8 0C0187BC */ jal sqrtf +/* 86F1CC 802406CC 00000000 */ nop +/* 86F1D0 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 86F1D4 802406D4 44800000 */ mtc1 $zero, $f0 +/* 86F1D8 802406D8 00000000 */ nop +/* 86F1DC 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 86F1E0 802406E0 00000000 */ nop +/* 86F1E4 802406E4 45000016 */ bc1f .L80240740 +/* 86F1E8 802406E8 46001106 */ mov.s $f4, $f2 +/* 86F1EC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 86F1F0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 86F1F4 802406F4 00000000 */ nop +/* 86F1F8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 86F1FC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 86F200 80240700 00000000 */ nop +/* 86F204 80240704 4500000E */ bc1f .L80240740 +/* 86F208 80240708 00000000 */ nop +/* 86F20C 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 86F210 80240710 3C013F00 */ lui $at, 0x3f00 +/* 86F214 80240714 44811000 */ mtc1 $at, $f2 +/* 86F218 80240718 44820000 */ mtc1 $v0, $f0 +/* 86F21C 8024071C 00000000 */ nop +/* 86F220 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 86F224 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 86F228 80240728 00000000 */ nop +/* 86F22C 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 86F230 80240730 00000000 */ nop +/* 86F234 80240734 45000002 */ bc1f .L80240740 +/* 86F238 80240738 24020001 */ addiu $v0, $zero, 1 +/* 86F23C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 86F240 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 86F244 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 86F248 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 86F24C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 86F250 80240750 00000000 */ nop +/* 86F254 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86F258 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 86F25C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 86F260 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 86F264 80240764 00000000 */ nop +/* 86F268 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 86F26C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 86F270 80240770 44820000 */ mtc1 $v0, $f0 +/* 86F274 80240774 00000000 */ nop +/* 86F278 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 86F27C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 86F280 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 86F284 80240784 44810000 */ mtc1 $at, $f0 +/* 86F288 80240788 00000000 */ nop +/* 86F28C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 86F290 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 86F294 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 86F298 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 86F29C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 86F2A0 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 86F2A4 802407A4 00000000 */ nop +/* 86F2A8 802407A8 45010004 */ bc1t .L802407BC +/* 86F2AC 802407AC 00000000 */ nop +/* 86F2B0 802407B0 0C0187BC */ jal sqrtf +/* 86F2B4 802407B4 00000000 */ nop +/* 86F2B8 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 86F2BC 802407BC 44800000 */ mtc1 $zero, $f0 +/* 86F2C0 802407C0 00000000 */ nop +/* 86F2C4 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 86F2C8 802407C8 00000000 */ nop +/* 86F2CC 802407CC 45000016 */ bc1f .L80240828 +/* 86F2D0 802407D0 46001106 */ mov.s $f4, $f2 +/* 86F2D4 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 86F2D8 802407D8 44820000 */ mtc1 $v0, $f0 +/* 86F2DC 802407DC 00000000 */ nop +/* 86F2E0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 86F2E4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 86F2E8 802407E8 00000000 */ nop +/* 86F2EC 802407EC 4500000F */ bc1f .L8024082C +/* 86F2F0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 86F2F4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 86F2F8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 86F2FC 802407FC 44811000 */ mtc1 $at, $f2 +/* 86F300 80240800 44820000 */ mtc1 $v0, $f0 +/* 86F304 80240804 00000000 */ nop +/* 86F308 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 86F30C 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 86F310 80240810 00000000 */ nop +/* 86F314 80240814 4600203C */ c.lt.s $f4, $f0 +/* 86F318 80240818 00000000 */ nop +/* 86F31C 8024081C 45000003 */ bc1f .L8024082C +/* 86F320 80240820 24020001 */ addiu $v0, $zero, 1 +/* 86F324 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 86F328 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 86F32C 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 86F330 80240830 4481D000 */ mtc1 $at, $f26 +/* 86F334 80240834 4480C000 */ mtc1 $zero, $f24 +/* 86F338 80240838 3C013F00 */ lui $at, 0x3f00 +/* 86F33C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 86F340 80240840 0C00EAD2 */ jal get_npc_safe +/* 86F344 80240844 0220202D */ daddu $a0, $s1, $zero +/* 86F348 80240848 0040802D */ daddu $s0, $v0, $zero +/* 86F34C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 86F350 80240850 26310001 */ addiu $s1, $s1, 1 +/* 86F354 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 86F358 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 86F35C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 86F360 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 86F364 80240864 00000000 */ nop +/* 86F368 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 86F36C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 86F370 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 86F374 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 86F378 80240878 00000000 */ nop +/* 86F37C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 86F380 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 86F384 80240884 44820000 */ mtc1 $v0, $f0 +/* 86F388 80240888 00000000 */ nop +/* 86F38C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 86F390 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 86F394 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 86F398 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 86F39C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 86F3A0 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 86F3A4 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 86F3A8 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 86F3AC 802408AC 00000000 */ nop +/* 86F3B0 802408B0 45010003 */ bc1t .L802408C0 +/* 86F3B4 802408B4 00000000 */ nop +/* 86F3B8 802408B8 0C0187BC */ jal sqrtf +/* 86F3BC 802408BC 00000000 */ nop +.L802408C0: +/* 86F3C0 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 86F3C4 802408C4 00000000 */ nop +/* 86F3C8 802408C8 45000015 */ bc1f .L80240920 +/* 86F3CC 802408CC 46000106 */ mov.s $f4, $f0 +/* 86F3D0 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 86F3D4 802408D4 44820000 */ mtc1 $v0, $f0 +/* 86F3D8 802408D8 00000000 */ nop +/* 86F3DC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 86F3E0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 86F3E4 802408E4 00000000 */ nop +/* 86F3E8 802408E8 4500000E */ bc1f .L80240924 +/* 86F3EC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 86F3F0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 86F3F4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 86F3F8 802408F8 00000000 */ nop +/* 86F3FC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 86F400 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 86F404 80240904 00000000 */ nop +/* 86F408 80240908 4600203C */ c.lt.s $f4, $f0 +/* 86F40C 8024090C 00000000 */ nop +/* 86F410 80240910 45000004 */ bc1f .L80240924 +/* 86F414 80240914 24020001 */ addiu $v0, $zero, 1 +/* 86F418 80240918 0809024C */ j .L80240930 +/* 86F41C 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 86F420 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 86F424 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 86F428 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 86F42C 8024092C 00000000 */ nop +.L80240930: +/* 86F430 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 86F434 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 86F438 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 86F43C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 86F440 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 86F444 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 86F448 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 86F44C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 86F450 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 86F454 80240954 24020002 */ addiu $v0, $zero, 2 +/* 86F458 80240958 03E00008 */ jr $ra +/* 86F45C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_80240960_86EB00.s b/asm/nonmatchings/world/area_tik/tik_03/func_80240960_86EB00.s new file mode 100644 index 0000000000..3bb1f8ae40 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_80240960_86EB00.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_86F460 +/* 86F460 80240960 3C088011 */ lui $t0, %hi(gPlayerStatus) +/* 86F464 80240964 2508EFC8 */ addiu $t0, $t0, %lo(gPlayerStatus) +/* 86F468 80240968 0000202D */ daddu $a0, $zero, $zero +/* 86F46C 8024096C 3C058016 */ lui $a1, 0x8016 +/* 86F470 80240970 84A5A552 */ lh $a1, -0x5aae($a1) +/* 86F474 80240974 2407000E */ addiu $a3, $zero, 0xe +/* 86F478 80240978 24060010 */ addiu $a2, $zero, 0x10 +/* 86F47C 8024097C 3C038024 */ lui $v1, 0x8024 +/* 86F480 80240980 24632930 */ addiu $v1, $v1, 0x2930 +.L80240984: +/* 86F484 80240984 8C620000 */ lw $v0, ($v1) +/* 86F488 80240988 54A20008 */ bnel $a1, $v0, .L802409AC +/* 86F48C 8024098C 24840001 */ addiu $a0, $a0, 1 +/* 86F490 80240990 810200B4 */ lb $v0, 0xb4($t0) +/* 86F494 80240994 10470003 */ beq $v0, $a3, .L802409A4 +/* 86F498 80240998 00000000 */ nop +/* 86F49C 8024099C 14460003 */ bne $v0, $a2, .L802409AC +/* 86F4A0 802409A0 24840001 */ addiu $a0, $a0, 1 +.L802409A4: +/* 86F4A4 802409A4 03E00008 */ jr $ra +/* 86F4A8 802409A8 0000102D */ daddu $v0, $zero, $zero +.L802409AC: +/* 86F4AC 802409AC 2C820004 */ sltiu $v0, $a0, 4 +/* 86F4B0 802409B0 1440FFF4 */ bnez $v0, .L80240984 +/* 86F4B4 802409B4 24630004 */ addiu $v1, $v1, 4 +/* 86F4B8 802409B8 03E00008 */ jr $ra +/* 86F4BC 802409BC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802409C0.s b/asm/nonmatchings/world/area_tik/tik_03/func_802409C0.s new file mode 100644 index 0000000000..e81b503a14 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802409C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409C0 +/* 86F4C0 802409C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 86F4C4 802409C4 AFBF0010 */ sw $ra, 0x10($sp) +/* 86F4C8 802409C8 0C03BCC0 */ jal func_800EF300 +/* 86F4CC 802409CC 00000000 */ nop +/* 86F4D0 802409D0 8FBF0010 */ lw $ra, 0x10($sp) +/* 86F4D4 802409D4 24020002 */ addiu $v0, $zero, 2 +/* 86F4D8 802409D8 03E00008 */ jr $ra +/* 86F4DC 802409DC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_03/func_802409E0.s b/asm/nonmatchings/world/area_tik/tik_03/func_802409E0.s new file mode 100644 index 0000000000..71ff5a799f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_03/func_802409E0.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E0 +/* 86F4E0 802409E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 86F4E4 802409E4 3C048024 */ lui $a0, 0x8024 +/* 86F4E8 802409E8 24842EBC */ addiu $a0, $a0, 0x2ebc +/* 86F4EC 802409EC AFBF0018 */ sw $ra, 0x18($sp) +/* 86F4F0 802409F0 AFB10014 */ sw $s1, 0x14($sp) +/* 86F4F4 802409F4 AFB00010 */ sw $s0, 0x10($sp) +/* 86F4F8 802409F8 8C830000 */ lw $v1, ($a0) +/* 86F4FC 802409FC 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 86F500 80240A00 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 86F504 80240A04 28620003 */ slti $v0, $v1, 3 +/* 86F508 80240A08 50400007 */ beql $v0, $zero, .L80240A28 +/* 86F50C 80240A0C 24020003 */ addiu $v0, $zero, 3 +/* 86F510 80240A10 1C60000C */ bgtz $v1, .L80240A44 +/* 86F514 80240A14 24620001 */ addiu $v0, $v1, 1 +/* 86F518 80240A18 10600007 */ beqz $v1, .L80240A38 +/* 86F51C 80240A1C 0000102D */ daddu $v0, $zero, $zero +/* 86F520 80240A20 080902AD */ j .L80240AB4 +/* 86F524 80240A24 00000000 */ nop +.L80240A28: +/* 86F528 80240A28 10620008 */ beq $v1, $v0, .L80240A4C +/* 86F52C 80240A2C 0000102D */ daddu $v0, $zero, $zero +/* 86F530 80240A30 080902AD */ j .L80240AB4 +/* 86F534 80240A34 00000000 */ nop +.L80240A38: +/* 86F538 80240A38 24020001 */ addiu $v0, $zero, 1 +/* 86F53C 80240A3C 080902AC */ j .L80240AB0 +/* 86F540 80240A40 AC820000 */ sw $v0, ($a0) +.L80240A44: +/* 86F544 80240A44 080902AC */ j .L80240AB0 +/* 86F548 80240A48 AC820000 */ sw $v0, ($a0) +.L80240A4C: +/* 86F54C 80240A4C 3C108011 */ lui $s0, 0x8011 +/* 86F550 80240A50 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 86F554 80240A54 0C03BD17 */ jal clear_partner_move_history +/* 86F558 80240A58 8E040000 */ lw $a0, ($s0) +/* 86F55C 80240A5C C6200028 */ lwc1 $f0, 0x28($s1) +/* 86F560 80240A60 C6220030 */ lwc1 $f2, 0x30($s1) +/* 86F564 80240A64 4600010D */ trunc.w.s $f4, $f0 +/* 86F568 80240A68 44042000 */ mfc1 $a0, $f4 +/* 86F56C 80240A6C 4600110D */ trunc.w.s $f4, $f2 +/* 86F570 80240A70 44052000 */ mfc1 $a1, $f4 +/* 86F574 80240A74 0C03BCF0 */ jal func_800EF3C0 +/* 86F578 80240A78 00000000 */ nop +/* 86F57C 80240A7C 0C03BCF5 */ jal func_800EF3D4 +/* 86F580 80240A80 0000202D */ daddu $a0, $zero, $zero +/* 86F584 80240A84 8E030000 */ lw $v1, ($s0) +/* 86F588 80240A88 3C014387 */ lui $at, 0x4387 +/* 86F58C 80240A8C 44810000 */ mtc1 $at, $f0 +/* 86F590 80240A90 3C014334 */ lui $at, 0x4334 +/* 86F594 80240A94 44811000 */ mtc1 $at, $f2 +/* 86F598 80240A98 24020002 */ addiu $v0, $zero, 2 +/* 86F59C 80240A9C E460000C */ swc1 $f0, 0xc($v1) +/* 86F5A0 80240AA0 E6200080 */ swc1 $f0, 0x80($s1) +/* 86F5A4 80240AA4 E6200084 */ swc1 $f0, 0x84($s1) +/* 86F5A8 80240AA8 080902AD */ j .L80240AB4 +/* 86F5AC 80240AAC E62200A8 */ swc1 $f2, 0xa8($s1) +.L80240AB0: +/* 86F5B0 80240AB0 0000102D */ daddu $v0, $zero, $zero +.L80240AB4: +/* 86F5B4 80240AB4 8FBF0018 */ lw $ra, 0x18($sp) +/* 86F5B8 80240AB8 8FB10014 */ lw $s1, 0x14($sp) +/* 86F5BC 80240ABC 8FB00010 */ lw $s0, 0x10($sp) +/* 86F5C0 80240AC0 03E00008 */ jr $ra +/* 86F5C4 80240AC4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 86F5C8 80240AC8 00000000 */ nop +/* 86F5CC 80240ACC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240000_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240000_871A30.s new file mode 100644 index 0000000000..5a5462abaa --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240000_871A30.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_871A30 +/* 871A30 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 871A34 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 871A38 80240008 0080802D */ daddu $s0, $a0, $zero +/* 871A3C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 871A40 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 871A44 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 871A48 80240018 00621821 */ addu $v1, $v1, $v0 +/* 871A4C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 871A50 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 871A54 80240024 3C020002 */ lui $v0, 2 +/* 871A58 80240028 08090010 */ j .L80240040 +/* 871A5C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 871A60 80240030 3C040002 */ lui $a0, 2 +/* 871A64 80240034 0083102A */ slt $v0, $a0, $v1 +/* 871A68 80240038 10400002 */ beqz $v0, .L80240044 +/* 871A6C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 871A70 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 871A74 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 871A78 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 871A7C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 871A80 80240050 04610004 */ bgez $v1, .L80240064 +/* 871A84 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 871A88 80240058 3C020002 */ lui $v0, 2 +/* 871A8C 8024005C 0809001D */ j .L80240074 +/* 871A90 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 871A94 80240064 3C040002 */ lui $a0, 2 +/* 871A98 80240068 0083102A */ slt $v0, $a0, $v1 +/* 871A9C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 871AA0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 871AA4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 871AA8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 871AAC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 871AB0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 871AB4 80240084 04610004 */ bgez $v1, .L80240098 +/* 871AB8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 871ABC 8024008C 3C020002 */ lui $v0, 2 +/* 871AC0 80240090 0809002A */ j .L802400A8 +/* 871AC4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 871AC8 80240098 3C040002 */ lui $a0, 2 +/* 871ACC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 871AD0 802400A0 10400002 */ beqz $v0, .L802400AC +/* 871AD4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 871AD8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 871ADC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 871AE0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 871AE4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 871AE8 802400B8 04610004 */ bgez $v1, .L802400CC +/* 871AEC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 871AF0 802400C0 3C020002 */ lui $v0, 2 +/* 871AF4 802400C4 08090037 */ j .L802400DC +/* 871AF8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 871AFC 802400CC 3C040002 */ lui $a0, 2 +/* 871B00 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 871B04 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 871B08 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 871B0C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 871B10 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 871B14 802400E4 0C046F07 */ jal set_main_pan_u +/* 871B18 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 871B1C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 871B20 802400F0 0C046F0D */ jal set_main_pan_v +/* 871B24 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 871B28 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 871B2C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 871B30 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 871B34 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 871B38 80240108 0C046F19 */ jal set_aux_pan_v +/* 871B3C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 871B40 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 871B44 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 871B48 80240118 0000102D */ daddu $v0, $zero, $zero +/* 871B4C 8024011C 03E00008 */ jr $ra +/* 871B50 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240124_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240124_871A30.s new file mode 100644 index 0000000000..b57a93e765 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240124_871A30.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_871B54 +/* 871B54 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 871B58 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 871B5C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 871B60 80240130 10A00005 */ beqz $a1, .L80240148 +/* 871B64 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 871B68 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 871B6C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 871B70 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 871B74 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 871B78 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 871B7C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 871B80 80240150 00000000 */ nop +/* 871B84 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 871B88 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 871B8C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 871B90 80240160 04610004 */ bgez $v1, .L80240174 +/* 871B94 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 871B98 80240168 3C020002 */ lui $v0, 2 +/* 871B9C 8024016C 08090061 */ j .L80240184 +/* 871BA0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 871BA4 80240174 3C040002 */ lui $a0, 2 +/* 871BA8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 871BAC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 871BB0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 871BB4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 871BB8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 871BBC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 871BC0 80240190 00000000 */ nop +/* 871BC4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 871BC8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 871BCC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 871BD0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 871BD4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 871BD8 802401A8 3C020002 */ lui $v0, 2 +/* 871BDC 802401AC 08090071 */ j .L802401C4 +/* 871BE0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 871BE4 802401B4 3C040002 */ lui $a0, 2 +/* 871BE8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 871BEC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 871BF0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 871BF4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 871BF8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 871BFC 802401CC 1440000E */ bnez $v0, .L80240208 +/* 871C00 802401D0 00000000 */ nop +/* 871C04 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 871C08 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 871C0C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 871C10 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 871C14 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 871C18 802401E8 3C020002 */ lui $v0, 2 +/* 871C1C 802401EC 08090081 */ j .L80240204 +/* 871C20 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 871C24 802401F4 3C040002 */ lui $a0, 2 +/* 871C28 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 871C2C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 871C30 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 871C34 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 871C38 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 871C3C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 871C40 80240210 00000000 */ nop +/* 871C44 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 871C48 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 871C4C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 871C50 80240220 04610004 */ bgez $v1, .L80240234 +/* 871C54 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 871C58 80240228 3C020002 */ lui $v0, 2 +/* 871C5C 8024022C 08090091 */ j .L80240244 +/* 871C60 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 871C64 80240234 3C040002 */ lui $a0, 2 +/* 871C68 80240238 0083102A */ slt $v0, $a0, $v1 +/* 871C6C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 871C70 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 871C74 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 871C78 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 871C7C 8024024C 0C046F07 */ jal set_main_pan_u +/* 871C80 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 871C84 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 871C88 80240258 0C046F0D */ jal set_main_pan_v +/* 871C8C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 871C90 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 871C94 80240264 0C046F13 */ jal set_aux_pan_u +/* 871C98 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 871C9C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 871CA0 80240270 0C046F19 */ jal set_aux_pan_v +/* 871CA4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 871CA8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 871CAC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 871CB0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 871CB4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 871CB8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 871CBC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 871CC0 80240290 24630001 */ addiu $v1, $v1, 1 +/* 871CC4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 871CC8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 871CCC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 871CD0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 871CD4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 871CD8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 871CDC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 871CE0 802402B0 14600002 */ bnez $v1, .L802402BC +/* 871CE4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 871CE8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 871CEC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 871CF0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 871CF4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 871CF8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 871CFC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 871D00 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 871D04 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 871D08 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 871D0C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 871D10 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 871D14 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 871D18 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 871D1C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 871D20 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 871D24 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 871D28 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 871D2C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 871D30 80240300 0000102D */ daddu $v0, $zero, $zero +/* 871D34 80240304 03E00008 */ jr $ra +/* 871D38 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_8024030C_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_8024030C_871A30.s new file mode 100644 index 0000000000..94eac3193c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_8024030C_871A30.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_871D3C +/* 871D3C 8024030C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 871D40 80240310 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 871D44 80240314 8C430004 */ lw $v1, 4($v0) +/* 871D48 80240318 3C040010 */ lui $a0, 0x10 +/* 871D4C 8024031C 00641825 */ or $v1, $v1, $a0 +/* 871D50 80240320 AC430004 */ sw $v1, 4($v0) +/* 871D54 80240324 03E00008 */ jr $ra +/* 871D58 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_8024032C_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_8024032C_871A30.s new file mode 100644 index 0000000000..c3eac88b08 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_8024032C_871A30.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_871D5C +/* 871D5C 8024032C 3C028016 */ lui $v0, 0x8016 +/* 871D60 80240330 8442A552 */ lh $v0, -0x5aae($v0) +/* 871D64 80240334 AC820084 */ sw $v0, 0x84($a0) +/* 871D68 80240338 03E00008 */ jr $ra +/* 871D6C 8024033C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240340_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240340_871A30.s new file mode 100644 index 0000000000..e02d9bd3f2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240340_871A30.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_871D70 +/* 871D70 80240340 3C038016 */ lui $v1, 0x8016 +/* 871D74 80240344 8463A552 */ lh $v1, -0x5aae($v1) +/* 871D78 80240348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 871D7C 8024034C AFB00010 */ sw $s0, 0x10($sp) +/* 871D80 80240350 0080802D */ daddu $s0, $a0, $zero +/* 871D84 80240354 AFBF0014 */ sw $ra, 0x14($sp) +/* 871D88 80240358 8E0200B0 */ lw $v0, 0xb0($s0) +/* 871D8C 8024035C 10620003 */ beq $v1, $v0, .L8024036C +/* 871D90 80240360 24020002 */ addiu $v0, $zero, 2 +/* 871D94 80240364 080900FB */ j .L802403EC +/* 871D98 80240368 AE000084 */ sw $zero, 0x84($s0) +.L8024036C: +/* 871D9C 8024036C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 871DA0 80240370 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 871DA4 80240374 80620040 */ lb $v0, 0x40($v1) +/* 871DA8 80240378 80670044 */ lb $a3, 0x44($v1) +/* 871DAC 8024037C 04420001 */ bltzl $v0, .L80240384 +/* 871DB0 80240380 00021023 */ negu $v0, $v0 +.L80240384: +/* 871DB4 80240384 14400003 */ bnez $v0, .L80240394 +/* 871DB8 80240388 00000000 */ nop +/* 871DBC 8024038C 50E00017 */ beql $a3, $zero, .L802403EC +/* 871DC0 80240390 0000102D */ daddu $v0, $zero, $zero +.L80240394: +/* 871DC4 80240394 44822000 */ mtc1 $v0, $f4 +/* 871DC8 80240398 00000000 */ nop +/* 871DCC 8024039C 46802120 */ cvt.s.w $f4, $f4 +/* 871DD0 802403A0 44062000 */ mfc1 $a2, $f4 +/* 871DD4 802403A4 44872000 */ mtc1 $a3, $f4 +/* 871DD8 802403A8 00000000 */ nop +/* 871DDC 802403AC 46802120 */ cvt.s.w $f4, $f4 +/* 871DE0 802403B0 44806000 */ mtc1 $zero, $f12 +/* 871DE4 802403B4 44072000 */ mfc1 $a3, $f4 +/* 871DE8 802403B8 0C00A720 */ jal atan2 +/* 871DEC 802403BC 46006386 */ mov.s $f14, $f12 +/* 871DF0 802403C0 3C014270 */ lui $at, 0x4270 +/* 871DF4 802403C4 44811000 */ mtc1 $at, $f2 +/* 871DF8 802403C8 00000000 */ nop +/* 871DFC 802403CC 4602003C */ c.lt.s $f0, $f2 +/* 871E00 802403D0 00000000 */ nop +/* 871E04 802403D4 45000004 */ bc1f .L802403E8 +/* 871E08 802403D8 24020001 */ addiu $v0, $zero, 1 +/* 871E0C 802403DC AE020084 */ sw $v0, 0x84($s0) +/* 871E10 802403E0 080900FB */ j .L802403EC +/* 871E14 802403E4 24020002 */ addiu $v0, $zero, 2 +.L802403E8: +/* 871E18 802403E8 0000102D */ daddu $v0, $zero, $zero +.L802403EC: +/* 871E1C 802403EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 871E20 802403F0 8FB00010 */ lw $s0, 0x10($sp) +/* 871E24 802403F4 03E00008 */ jr $ra +/* 871E28 802403F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_802403FC_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_802403FC_871A30.s new file mode 100644 index 0000000000..ce3b692138 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_802403FC_871A30.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC_871E2C +/* 871E2C 802403FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 871E30 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* 871E34 80240404 0080882D */ daddu $s1, $a0, $zero +/* 871E38 80240408 AFBF001C */ sw $ra, 0x1c($sp) +/* 871E3C 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* 871E40 80240410 0C016AFA */ jal get_current_map_header +/* 871E44 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* 871E48 80240418 0220202D */ daddu $a0, $s1, $zero +/* 871E4C 8024041C 3C05FE36 */ lui $a1, 0xfe36 +/* 871E50 80240420 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 871E54 80240424 0C0B1EAF */ jal get_variable +/* 871E58 80240428 0040902D */ daddu $s2, $v0, $zero +/* 871E5C 8024042C 0220202D */ daddu $a0, $s1, $zero +/* 871E60 80240430 3C05FE36 */ lui $a1, 0xfe36 +/* 871E64 80240434 8E430014 */ lw $v1, 0x14($s2) +/* 871E68 80240438 00028100 */ sll $s0, $v0, 4 +/* 871E6C 8024043C 02031821 */ addu $v1, $s0, $v1 +/* 871E70 80240440 C4600000 */ lwc1 $f0, ($v1) +/* 871E74 80240444 4600008D */ trunc.w.s $f2, $f0 +/* 871E78 80240448 44061000 */ mfc1 $a2, $f2 +/* 871E7C 8024044C 0C0B2026 */ jal set_variable +/* 871E80 80240450 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 871E84 80240454 0220202D */ daddu $a0, $s1, $zero +/* 871E88 80240458 8E420014 */ lw $v0, 0x14($s2) +/* 871E8C 8024045C 3C05FE36 */ lui $a1, 0xfe36 +/* 871E90 80240460 02021021 */ addu $v0, $s0, $v0 +/* 871E94 80240464 C4400004 */ lwc1 $f0, 4($v0) +/* 871E98 80240468 4600008D */ trunc.w.s $f2, $f0 +/* 871E9C 8024046C 44061000 */ mfc1 $a2, $f2 +/* 871EA0 80240470 0C0B2026 */ jal set_variable +/* 871EA4 80240474 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 871EA8 80240478 0220202D */ daddu $a0, $s1, $zero +/* 871EAC 8024047C 8E420014 */ lw $v0, 0x14($s2) +/* 871EB0 80240480 3C05FE36 */ lui $a1, 0xfe36 +/* 871EB4 80240484 02021021 */ addu $v0, $s0, $v0 +/* 871EB8 80240488 C4400008 */ lwc1 $f0, 8($v0) +/* 871EBC 8024048C 4600008D */ trunc.w.s $f2, $f0 +/* 871EC0 80240490 44061000 */ mfc1 $a2, $f2 +/* 871EC4 80240494 0C0B2026 */ jal set_variable +/* 871EC8 80240498 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 871ECC 8024049C 0220202D */ daddu $a0, $s1, $zero +/* 871ED0 802404A0 8E420014 */ lw $v0, 0x14($s2) +/* 871ED4 802404A4 3C05FE36 */ lui $a1, 0xfe36 +/* 871ED8 802404A8 02028021 */ addu $s0, $s0, $v0 +/* 871EDC 802404AC C600000C */ lwc1 $f0, 0xc($s0) +/* 871EE0 802404B0 4600008D */ trunc.w.s $f2, $f0 +/* 871EE4 802404B4 44061000 */ mfc1 $a2, $f2 +/* 871EE8 802404B8 0C0B2026 */ jal set_variable +/* 871EEC 802404BC 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 871EF0 802404C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 871EF4 802404C4 8FB20018 */ lw $s2, 0x18($sp) +/* 871EF8 802404C8 8FB10014 */ lw $s1, 0x14($sp) +/* 871EFC 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* 871F00 802404D0 24020002 */ addiu $v0, $zero, 2 +/* 871F04 802404D4 03E00008 */ jr $ra +/* 871F08 802404D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_802404DC_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_802404DC_871A30.s new file mode 100644 index 0000000000..3769511137 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_802404DC_871A30.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC_871F0C +/* 871F0C 802404DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 871F10 802404E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 871F14 802404E4 3C014334 */ lui $at, 0x4334 +/* 871F18 802404E8 44816000 */ mtc1 $at, $f12 +/* 871F1C 802404EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 871F20 802404F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 871F24 802404F4 AFB00010 */ sw $s0, 0x10($sp) +/* 871F28 802404F8 00031080 */ sll $v0, $v1, 2 +/* 871F2C 802404FC 00431021 */ addu $v0, $v0, $v1 +/* 871F30 80240500 00021080 */ sll $v0, $v0, 2 +/* 871F34 80240504 00431023 */ subu $v0, $v0, $v1 +/* 871F38 80240508 000218C0 */ sll $v1, $v0, 3 +/* 871F3C 8024050C 00431021 */ addu $v0, $v0, $v1 +/* 871F40 80240510 000210C0 */ sll $v0, $v0, 3 +/* 871F44 80240514 3C01800B */ lui $at, 0x800b +/* 871F48 80240518 00220821 */ addu $at, $at, $v0 +/* 871F4C 8024051C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 871F50 80240520 460C0300 */ add.s $f12, $f0, $f12 +/* 871F54 80240524 0C00A6C9 */ jal clamp_angle +/* 871F58 80240528 0080802D */ daddu $s0, $a0, $zero +/* 871F5C 8024052C 4600008D */ trunc.w.s $f2, $f0 +/* 871F60 80240530 E6020084 */ swc1 $f2, 0x84($s0) +/* 871F64 80240534 8FBF0014 */ lw $ra, 0x14($sp) +/* 871F68 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* 871F6C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 871F70 80240540 03E00008 */ jr $ra +/* 871F74 80240544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240548_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240548_871A30.s new file mode 100644 index 0000000000..69d8b0dfc8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240548_871A30.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240548_871F78 +/* 871F78 80240548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 871F7C 8024054C AFB00018 */ sw $s0, 0x18($sp) +/* 871F80 80240550 0080802D */ daddu $s0, $a0, $zero +/* 871F84 80240554 AFBF001C */ sw $ra, 0x1c($sp) +/* 871F88 80240558 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 871F8C 8024055C 8E02000C */ lw $v0, 0xc($s0) +/* 871F90 80240560 0C0B210B */ jal get_float_variable +/* 871F94 80240564 8C450000 */ lw $a1, ($v0) +/* 871F98 80240568 27A40010 */ addiu $a0, $sp, 0x10 +/* 871F9C 8024056C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 871FA0 80240570 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 871FA4 80240574 44060000 */ mfc1 $a2, $f0 +/* 871FA8 80240578 C4400028 */ lwc1 $f0, 0x28($v0) +/* 871FAC 8024057C C4420030 */ lwc1 $f2, 0x30($v0) +/* 871FB0 80240580 E7A00010 */ swc1 $f0, 0x10($sp) +/* 871FB4 80240584 E7A20014 */ swc1 $f2, 0x14($sp) +/* 871FB8 80240588 8C470080 */ lw $a3, 0x80($v0) +/* 871FBC 8024058C C454002C */ lwc1 $f20, 0x2c($v0) +/* 871FC0 80240590 0C00A7E7 */ jal add_vec2D_polar +/* 871FC4 80240594 27A50014 */ addiu $a1, $sp, 0x14 +/* 871FC8 80240598 0200202D */ daddu $a0, $s0, $zero +/* 871FCC 8024059C 3C05FE36 */ lui $a1, 0xfe36 +/* 871FD0 802405A0 8FA60010 */ lw $a2, 0x10($sp) +/* 871FD4 802405A4 0C0B2190 */ jal set_float_variable +/* 871FD8 802405A8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 871FDC 802405AC 0200202D */ daddu $a0, $s0, $zero +/* 871FE0 802405B0 3C05FE36 */ lui $a1, 0xfe36 +/* 871FE4 802405B4 4406A000 */ mfc1 $a2, $f20 +/* 871FE8 802405B8 0C0B2190 */ jal set_float_variable +/* 871FEC 802405BC 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 871FF0 802405C0 0200202D */ daddu $a0, $s0, $zero +/* 871FF4 802405C4 3C05FE36 */ lui $a1, 0xfe36 +/* 871FF8 802405C8 8FA60014 */ lw $a2, 0x14($sp) +/* 871FFC 802405CC 0C0B2190 */ jal set_float_variable +/* 872000 802405D0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 872004 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 872008 802405D8 8FB00018 */ lw $s0, 0x18($sp) +/* 87200C 802405DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 872010 802405E0 24020002 */ addiu $v0, $zero, 2 +/* 872014 802405E4 03E00008 */ jr $ra +/* 872018 802405E8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 87201C 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_802405F0_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_802405F0_871A30.s new file mode 100644 index 0000000000..5ebab5ca87 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_802405F0_871A30.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_872020 +/* 872020 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 872024 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 872028 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 87202C 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 872030 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 872034 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 872038 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 87203C 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 872040 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 872044 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 872048 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 87204C 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 872050 80240620 0C0B1EAF */ jal get_variable +/* 872054 80240624 8C450000 */ lw $a1, ($v0) +/* 872058 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 87205C 8024062C 0C00EABB */ jal get_npc_unsafe +/* 872060 80240630 0040802D */ daddu $s0, $v0, $zero +/* 872064 80240634 0200202D */ daddu $a0, $s0, $zero +/* 872068 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 87206C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 872070 80240640 0C046B4C */ jal get_model_from_list_index +/* 872074 80240644 0040202D */ daddu $a0, $v0, $zero +/* 872078 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 87207C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 872080 80240650 0040902D */ daddu $s2, $v0, $zero +/* 872084 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 872088 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 87208C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 872090 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 872094 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 872098 80240668 00000000 */ nop +/* 87209C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8720A0 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 8720A4 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 8720A8 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 8720AC 8024067C 00000000 */ nop +/* 8720B0 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 8720B4 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 8720B8 80240688 44820000 */ mtc1 $v0, $f0 +/* 8720BC 8024068C 00000000 */ nop +/* 8720C0 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 8720C4 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 8720C8 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 8720CC 8024069C 44810000 */ mtc1 $at, $f0 +/* 8720D0 802406A0 00000000 */ nop +/* 8720D4 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 8720D8 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 8720DC 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 8720E0 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 8720E4 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 8720E8 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 8720EC 802406BC 00000000 */ nop +/* 8720F0 802406C0 45010004 */ bc1t .L802406D4 +/* 8720F4 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 8720F8 802406C8 0C0187BC */ jal sqrtf +/* 8720FC 802406CC 00000000 */ nop +/* 872100 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 872104 802406D4 44800000 */ mtc1 $zero, $f0 +/* 872108 802406D8 00000000 */ nop +/* 87210C 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 872110 802406E0 00000000 */ nop +/* 872114 802406E4 45000016 */ bc1f .L80240740 +/* 872118 802406E8 46001106 */ mov.s $f4, $f2 +/* 87211C 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 872120 802406F0 44820000 */ mtc1 $v0, $f0 +/* 872124 802406F4 00000000 */ nop +/* 872128 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 87212C 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 872130 80240700 00000000 */ nop +/* 872134 80240704 4500000E */ bc1f .L80240740 +/* 872138 80240708 00000000 */ nop +/* 87213C 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 872140 80240710 3C013F00 */ lui $at, 0x3f00 +/* 872144 80240714 44811000 */ mtc1 $at, $f2 +/* 872148 80240718 44820000 */ mtc1 $v0, $f0 +/* 87214C 8024071C 00000000 */ nop +/* 872150 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 872154 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 872158 80240728 00000000 */ nop +/* 87215C 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 872160 80240730 00000000 */ nop +/* 872164 80240734 45000002 */ bc1f .L80240740 +/* 872168 80240738 24020001 */ addiu $v0, $zero, 1 +/* 87216C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 872170 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 872174 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 872178 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 87217C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 872180 80240750 00000000 */ nop +/* 872184 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 872188 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 87218C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 872190 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 872194 80240764 00000000 */ nop +/* 872198 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 87219C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8721A0 80240770 44820000 */ mtc1 $v0, $f0 +/* 8721A4 80240774 00000000 */ nop +/* 8721A8 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 8721AC 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 8721B0 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 8721B4 80240784 44810000 */ mtc1 $at, $f0 +/* 8721B8 80240788 00000000 */ nop +/* 8721BC 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 8721C0 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 8721C4 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8721C8 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 8721CC 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 8721D0 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 8721D4 802407A4 00000000 */ nop +/* 8721D8 802407A8 45010004 */ bc1t .L802407BC +/* 8721DC 802407AC 00000000 */ nop +/* 8721E0 802407B0 0C0187BC */ jal sqrtf +/* 8721E4 802407B4 00000000 */ nop +/* 8721E8 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 8721EC 802407BC 44800000 */ mtc1 $zero, $f0 +/* 8721F0 802407C0 00000000 */ nop +/* 8721F4 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 8721F8 802407C8 00000000 */ nop +/* 8721FC 802407CC 45000016 */ bc1f .L80240828 +/* 872200 802407D0 46001106 */ mov.s $f4, $f2 +/* 872204 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 872208 802407D8 44820000 */ mtc1 $v0, $f0 +/* 87220C 802407DC 00000000 */ nop +/* 872210 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 872214 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 872218 802407E8 00000000 */ nop +/* 87221C 802407EC 4500000F */ bc1f .L8024082C +/* 872220 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 872224 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 872228 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 87222C 802407FC 44811000 */ mtc1 $at, $f2 +/* 872230 80240800 44820000 */ mtc1 $v0, $f0 +/* 872234 80240804 00000000 */ nop +/* 872238 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 87223C 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 872240 80240810 00000000 */ nop +/* 872244 80240814 4600203C */ c.lt.s $f4, $f0 +/* 872248 80240818 00000000 */ nop +/* 87224C 8024081C 45000003 */ bc1f .L8024082C +/* 872250 80240820 24020001 */ addiu $v0, $zero, 1 +/* 872254 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 872258 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 87225C 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 872260 80240830 4481D000 */ mtc1 $at, $f26 +/* 872264 80240834 4480C000 */ mtc1 $zero, $f24 +/* 872268 80240838 3C013F00 */ lui $at, 0x3f00 +/* 87226C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 872270 80240840 0C00EAD2 */ jal get_npc_safe +/* 872274 80240844 0220202D */ daddu $a0, $s1, $zero +/* 872278 80240848 0040802D */ daddu $s0, $v0, $zero +/* 87227C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 872280 80240850 26310001 */ addiu $s1, $s1, 1 +/* 872284 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 872288 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87228C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 872290 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 872294 80240864 00000000 */ nop +/* 872298 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87229C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 8722A0 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 8722A4 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 8722A8 80240878 00000000 */ nop +/* 8722AC 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 8722B0 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8722B4 80240884 44820000 */ mtc1 $v0, $f0 +/* 8722B8 80240888 00000000 */ nop +/* 8722BC 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 8722C0 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 8722C4 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 8722C8 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 8722CC 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 8722D0 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 8722D4 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 8722D8 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 8722DC 802408AC 00000000 */ nop +/* 8722E0 802408B0 45010003 */ bc1t .L802408C0 +/* 8722E4 802408B4 00000000 */ nop +/* 8722E8 802408B8 0C0187BC */ jal sqrtf +/* 8722EC 802408BC 00000000 */ nop +.L802408C0: +/* 8722F0 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 8722F4 802408C4 00000000 */ nop +/* 8722F8 802408C8 45000015 */ bc1f .L80240920 +/* 8722FC 802408CC 46000106 */ mov.s $f4, $f0 +/* 872300 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 872304 802408D4 44820000 */ mtc1 $v0, $f0 +/* 872308 802408D8 00000000 */ nop +/* 87230C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 872310 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 872314 802408E4 00000000 */ nop +/* 872318 802408E8 4500000E */ bc1f .L80240924 +/* 87231C 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 872320 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 872324 802408F4 44820000 */ mtc1 $v0, $f0 +/* 872328 802408F8 00000000 */ nop +/* 87232C 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 872330 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 872334 80240904 00000000 */ nop +/* 872338 80240908 4600203C */ c.lt.s $f4, $f0 +/* 87233C 8024090C 00000000 */ nop +/* 872340 80240910 45000004 */ bc1f .L80240924 +/* 872344 80240914 24020001 */ addiu $v0, $zero, 1 +/* 872348 80240918 0809024C */ j .L80240930 +/* 87234C 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 872350 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 872354 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 872358 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 87235C 8024092C 00000000 */ nop +.L80240930: +/* 872360 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 872364 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 872368 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 87236C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 872370 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 872374 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 872378 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 87237C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 872380 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 872384 80240954 24020002 */ addiu $v0, $zero, 2 +/* 872388 80240958 03E00008 */ jr $ra +/* 87238C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240960_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240960_871A30.s new file mode 100644 index 0000000000..3efd951a1e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240960_871A30.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_872390 +/* 872390 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 872394 80240964 AFB00010 */ sw $s0, 0x10($sp) +/* 872398 80240968 0080802D */ daddu $s0, $a0, $zero +/* 87239C 8024096C AFBF0014 */ sw $ra, 0x14($sp) +/* 8723A0 80240970 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 8723A4 80240974 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8723A8 80240978 24040012 */ addiu $a0, $zero, 0x12 +/* 8723AC 8024097C 0C046B4C */ jal get_model_from_list_index +/* 8723B0 80240980 0040202D */ daddu $a0, $v0, $zero +/* 8723B4 80240984 C440009C */ lwc1 $f0, 0x9c($v0) +/* 8723B8 80240988 3C0142C8 */ lui $at, 0x42c8 +/* 8723BC 8024098C 4481A000 */ mtc1 $at, $f20 +/* 8723C0 80240990 00000000 */ nop +/* 8723C4 80240994 46140001 */ sub.s $f0, $f0, $f20 +/* 8723C8 80240998 8C450098 */ lw $a1, 0x98($v0) +/* 8723CC 8024099C 8C4700A0 */ lw $a3, 0xa0($v0) +/* 8723D0 802409A0 44060000 */ mfc1 $a2, $f0 +/* 8723D4 802409A4 0C044898 */ jal create_shadow_type +/* 8723D8 802409A8 24040001 */ addiu $a0, $zero, 1 +/* 8723DC 802409AC 8E03013C */ lw $v1, 0x13c($s0) +/* 8723E0 802409B0 24040014 */ addiu $a0, $zero, 0x14 +/* 8723E4 802409B4 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8723E8 802409B8 AC620000 */ sw $v0, ($v1) +/* 8723EC 802409BC 0C046B4C */ jal get_model_from_list_index +/* 8723F0 802409C0 0040202D */ daddu $a0, $v0, $zero +/* 8723F4 802409C4 C440009C */ lwc1 $f0, 0x9c($v0) +/* 8723F8 802409C8 46140001 */ sub.s $f0, $f0, $f20 +/* 8723FC 802409CC 8C450098 */ lw $a1, 0x98($v0) +/* 872400 802409D0 8C4700A0 */ lw $a3, 0xa0($v0) +/* 872404 802409D4 44060000 */ mfc1 $a2, $f0 +/* 872408 802409D8 0C044898 */ jal create_shadow_type +/* 87240C 802409DC 24040001 */ addiu $a0, $zero, 1 +/* 872410 802409E0 8E03013C */ lw $v1, 0x13c($s0) +/* 872414 802409E4 AC620004 */ sw $v0, 4($v1) +/* 872418 802409E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 87241C 802409EC 8FB00010 */ lw $s0, 0x10($sp) +/* 872420 802409F0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 872424 802409F4 24020002 */ addiu $v0, $zero, 2 +/* 872428 802409F8 03E00008 */ jr $ra +/* 87242C 802409FC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240A00.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240A00.s new file mode 100644 index 0000000000..7afc61e760 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240A00.s @@ -0,0 +1,129 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A00 +/* 872430 80240A00 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 872434 80240A04 AFB60048 */ sw $s6, 0x48($sp) +/* 872438 80240A08 0080B02D */ daddu $s6, $a0, $zero +/* 87243C 80240A0C AFBF0050 */ sw $ra, 0x50($sp) +/* 872440 80240A10 AFB7004C */ sw $s7, 0x4c($sp) +/* 872444 80240A14 AFB50044 */ sw $s5, 0x44($sp) +/* 872448 80240A18 AFB40040 */ sw $s4, 0x40($sp) +/* 87244C 80240A1C AFB3003C */ sw $s3, 0x3c($sp) +/* 872450 80240A20 AFB20038 */ sw $s2, 0x38($sp) +/* 872454 80240A24 AFB10034 */ sw $s1, 0x34($sp) +/* 872458 80240A28 AFB00030 */ sw $s0, 0x30($sp) +/* 87245C 80240A2C F7B60060 */ sdc1 $f22, 0x60($sp) +/* 872460 80240A30 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 872464 80240A34 8EC2013C */ lw $v0, 0x13c($s6) +/* 872468 80240A38 0C044181 */ jal get_shadow_by_index +/* 87246C 80240A3C 8C440000 */ lw $a0, ($v0) +/* 872470 80240A40 0040B82D */ daddu $s7, $v0, $zero +/* 872474 80240A44 0C046C04 */ jal get_model_list_index_from_tree_index +/* 872478 80240A48 24040012 */ addiu $a0, $zero, 0x12 +/* 87247C 80240A4C 0C046B4C */ jal get_model_from_list_index +/* 872480 80240A50 0040202D */ daddu $a0, $v0, $zero +/* 872484 80240A54 27B40018 */ addiu $s4, $sp, 0x18 +/* 872488 80240A58 0280202D */ daddu $a0, $s4, $zero +/* 87248C 80240A5C 27B3001C */ addiu $s3, $sp, 0x1c +/* 872490 80240A60 0260282D */ daddu $a1, $s3, $zero +/* 872494 80240A64 27B20020 */ addiu $s2, $sp, 0x20 +/* 872498 80240A68 0240302D */ daddu $a2, $s2, $zero +/* 87249C 80240A6C 27B50024 */ addiu $s5, $sp, 0x24 +/* 8724A0 80240A70 02A0382D */ daddu $a3, $s5, $zero +/* 8724A4 80240A74 27B10028 */ addiu $s1, $sp, 0x28 +/* 8724A8 80240A78 C4400098 */ lwc1 $f0, 0x98($v0) +/* 8724AC 80240A7C C442009C */ lwc1 $f2, 0x9c($v0) +/* 8724B0 80240A80 C44400A0 */ lwc1 $f4, 0xa0($v0) +/* 8724B4 80240A84 3C01447A */ lui $at, 0x447a +/* 8724B8 80240A88 4481B000 */ mtc1 $at, $f22 +/* 8724BC 80240A8C 27B0002C */ addiu $s0, $sp, 0x2c +/* 8724C0 80240A90 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 8724C4 80240A94 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8724C8 80240A98 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 8724CC 80240A9C E7A40020 */ swc1 $f4, 0x20($sp) +/* 8724D0 80240AA0 AFB10010 */ sw $s1, 0x10($sp) +/* 8724D4 80240AA4 0C04497A */ jal func_801125E8 +/* 8724D8 80240AA8 AFB00014 */ sw $s0, 0x14($sp) +/* 8724DC 80240AAC 8FA5002C */ lw $a1, 0x2c($sp) +/* 8724E0 80240AB0 0C044A17 */ jal set_standard_shadow_scale +/* 8724E4 80240AB4 02E0202D */ daddu $a0, $s7, $zero +/* 8724E8 80240AB8 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 8724EC 80240ABC C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 8724F0 80240AC0 C6E2001C */ lwc1 $f2, 0x1c($s7) +/* 8724F4 80240AC4 3C014090 */ lui $at, 0x4090 +/* 8724F8 80240AC8 4481A000 */ mtc1 $at, $f20 +/* 8724FC 80240ACC AEE0002C */ sw $zero, 0x2c($s7) +/* 872500 80240AD0 46141082 */ mul.s $f2, $f2, $f20 +/* 872504 80240AD4 00000000 */ nop +/* 872508 80240AD8 E6E00010 */ swc1 $f0, 0x10($s7) +/* 87250C 80240ADC E6E40014 */ swc1 $f4, 0x14($s7) +/* 872510 80240AE0 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 872514 80240AE4 C7A80024 */ lwc1 $f8, 0x24($sp) +/* 872518 80240AE8 C6E00024 */ lwc1 $f0, 0x24($s7) +/* 87251C 80240AEC C7A40028 */ lwc1 $f4, 0x28($sp) +/* 872520 80240AF0 46140002 */ mul.s $f0, $f0, $f20 +/* 872524 80240AF4 00000000 */ nop +/* 872528 80240AF8 E6E60018 */ swc1 $f6, 0x18($s7) +/* 87252C 80240AFC E6E80028 */ swc1 $f8, 0x28($s7) +/* 872530 80240B00 E6E40030 */ swc1 $f4, 0x30($s7) +/* 872534 80240B04 E6E2001C */ swc1 $f2, 0x1c($s7) +/* 872538 80240B08 E6E00024 */ swc1 $f0, 0x24($s7) +/* 87253C 80240B0C 8EC2013C */ lw $v0, 0x13c($s6) +/* 872540 80240B10 0C044181 */ jal get_shadow_by_index +/* 872544 80240B14 8C440004 */ lw $a0, 4($v0) +/* 872548 80240B18 0040B82D */ daddu $s7, $v0, $zero +/* 87254C 80240B1C 0C046C04 */ jal get_model_list_index_from_tree_index +/* 872550 80240B20 24040014 */ addiu $a0, $zero, 0x14 +/* 872554 80240B24 0C046B4C */ jal get_model_from_list_index +/* 872558 80240B28 0040202D */ daddu $a0, $v0, $zero +/* 87255C 80240B2C 0280202D */ daddu $a0, $s4, $zero +/* 872560 80240B30 0260282D */ daddu $a1, $s3, $zero +/* 872564 80240B34 0240302D */ daddu $a2, $s2, $zero +/* 872568 80240B38 C4400098 */ lwc1 $f0, 0x98($v0) +/* 87256C 80240B3C C442009C */ lwc1 $f2, 0x9c($v0) +/* 872570 80240B40 C44400A0 */ lwc1 $f4, 0xa0($v0) +/* 872574 80240B44 02A0382D */ daddu $a3, $s5, $zero +/* 872578 80240B48 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 87257C 80240B4C E7A00018 */ swc1 $f0, 0x18($sp) +/* 872580 80240B50 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 872584 80240B54 E7A40020 */ swc1 $f4, 0x20($sp) +/* 872588 80240B58 AFB10010 */ sw $s1, 0x10($sp) +/* 87258C 80240B5C 0C04497A */ jal func_801125E8 +/* 872590 80240B60 AFB00014 */ sw $s0, 0x14($sp) +/* 872594 80240B64 8FA5002C */ lw $a1, 0x2c($sp) +/* 872598 80240B68 0C044A17 */ jal set_standard_shadow_scale +/* 87259C 80240B6C 02E0202D */ daddu $a0, $s7, $zero +/* 8725A0 80240B70 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 8725A4 80240B74 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 8725A8 80240B78 C6E2001C */ lwc1 $f2, 0x1c($s7) +/* 8725AC 80240B7C AEE0002C */ sw $zero, 0x2c($s7) +/* 8725B0 80240B80 46141082 */ mul.s $f2, $f2, $f20 +/* 8725B4 80240B84 00000000 */ nop +/* 8725B8 80240B88 E6E00010 */ swc1 $f0, 0x10($s7) +/* 8725BC 80240B8C E6E40014 */ swc1 $f4, 0x14($s7) +/* 8725C0 80240B90 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 8725C4 80240B94 C7A80024 */ lwc1 $f8, 0x24($sp) +/* 8725C8 80240B98 C6E00024 */ lwc1 $f0, 0x24($s7) +/* 8725CC 80240B9C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 8725D0 80240BA0 46140002 */ mul.s $f0, $f0, $f20 +/* 8725D4 80240BA4 00000000 */ nop +/* 8725D8 80240BA8 E6E60018 */ swc1 $f6, 0x18($s7) +/* 8725DC 80240BAC E6E80028 */ swc1 $f8, 0x28($s7) +/* 8725E0 80240BB0 E6E40030 */ swc1 $f4, 0x30($s7) +/* 8725E4 80240BB4 E6E2001C */ swc1 $f2, 0x1c($s7) +/* 8725E8 80240BB8 E6E00024 */ swc1 $f0, 0x24($s7) +/* 8725EC 80240BBC 8FBF0050 */ lw $ra, 0x50($sp) +/* 8725F0 80240BC0 8FB7004C */ lw $s7, 0x4c($sp) +/* 8725F4 80240BC4 8FB60048 */ lw $s6, 0x48($sp) +/* 8725F8 80240BC8 8FB50044 */ lw $s5, 0x44($sp) +/* 8725FC 80240BCC 8FB40040 */ lw $s4, 0x40($sp) +/* 872600 80240BD0 8FB3003C */ lw $s3, 0x3c($sp) +/* 872604 80240BD4 8FB20038 */ lw $s2, 0x38($sp) +/* 872608 80240BD8 8FB10034 */ lw $s1, 0x34($sp) +/* 87260C 80240BDC 8FB00030 */ lw $s0, 0x30($sp) +/* 872610 80240BE0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* 872614 80240BE4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 872618 80240BE8 24020002 */ addiu $v0, $zero, 2 +/* 87261C 80240BEC 03E00008 */ jr $ra +/* 872620 80240BF0 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240BF4.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240BF4.s new file mode 100644 index 0000000000..4fcebec8f2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240BF4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF4 +/* 872624 80240BF4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 872628 80240BF8 AFBF0010 */ sw $ra, 0x10($sp) +/* 87262C 80240BFC 8C82000C */ lw $v0, 0xc($a0) +/* 872630 80240C00 3C068016 */ lui $a2, 0x8016 +/* 872634 80240C04 84C6A552 */ lh $a2, -0x5aae($a2) +/* 872638 80240C08 0C0B2026 */ jal set_variable +/* 87263C 80240C0C 8C450000 */ lw $a1, ($v0) +/* 872640 80240C10 8FBF0010 */ lw $ra, 0x10($sp) +/* 872644 80240C14 24020002 */ addiu $v0, $zero, 2 +/* 872648 80240C18 03E00008 */ jr $ra +/* 87264C 80240C1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_04/func_80240C20_871A30.s b/asm/nonmatchings/world/area_tik/tik_04/func_80240C20_871A30.s new file mode 100644 index 0000000000..49e59c779f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_04/func_80240C20_871A30.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C20_872650 +/* 872650 80240C20 3C038016 */ lui $v1, 0x8016 +/* 872654 80240C24 8463A552 */ lh $v1, -0x5aae($v1) +/* 872658 80240C28 24020009 */ addiu $v0, $zero, 9 +/* 87265C 80240C2C 10620003 */ beq $v1, $v0, .L80240C3C +/* 872660 80240C30 2402000B */ addiu $v0, $zero, 0xb +/* 872664 80240C34 1462000B */ bne $v1, $v0, .L80240C64 +/* 872668 80240C38 00000000 */ nop +.L80240C3C: +/* 87266C 80240C3C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 872670 80240C40 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 872674 80240C44 804300B4 */ lb $v1, 0xb4($v0) +/* 872678 80240C48 2402000E */ addiu $v0, $zero, 0xe +/* 87267C 80240C4C 10620003 */ beq $v1, $v0, .L80240C5C +/* 872680 80240C50 24020010 */ addiu $v0, $zero, 0x10 +/* 872684 80240C54 14620003 */ bne $v1, $v0, .L80240C64 +/* 872688 80240C58 00000000 */ nop +.L80240C5C: +/* 87268C 80240C5C 03E00008 */ jr $ra +/* 872690 80240C60 0000102D */ daddu $v0, $zero, $zero +.L80240C64: +/* 872694 80240C64 03E00008 */ jr $ra +/* 872698 80240C68 24020002 */ addiu $v0, $zero, 2 +/* 87269C 80240C6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240000_874DC0.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240000_874DC0.s new file mode 100644 index 0000000000..57ea95d7ea --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240000_874DC0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_874DC0 +/* 874DC0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 874DC4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 874DC8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 874DCC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 874DD0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 874DD4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 874DD8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 874DDC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 874DE0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 874DE4 80240024 3C020002 */ lui $v0, 2 +/* 874DE8 80240028 08090010 */ j .L80240040 +/* 874DEC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 874DF0 80240030 3C040002 */ lui $a0, 2 +/* 874DF4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 874DF8 80240038 10400002 */ beqz $v0, .L80240044 +/* 874DFC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 874E00 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 874E04 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 874E08 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 874E0C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 874E10 80240050 04610004 */ bgez $v1, .L80240064 +/* 874E14 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 874E18 80240058 3C020002 */ lui $v0, 2 +/* 874E1C 8024005C 0809001D */ j .L80240074 +/* 874E20 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 874E24 80240064 3C040002 */ lui $a0, 2 +/* 874E28 80240068 0083102A */ slt $v0, $a0, $v1 +/* 874E2C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 874E30 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 874E34 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 874E38 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 874E3C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 874E40 80240080 00621821 */ addu $v1, $v1, $v0 +/* 874E44 80240084 04610004 */ bgez $v1, .L80240098 +/* 874E48 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 874E4C 8024008C 3C020002 */ lui $v0, 2 +/* 874E50 80240090 0809002A */ j .L802400A8 +/* 874E54 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 874E58 80240098 3C040002 */ lui $a0, 2 +/* 874E5C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 874E60 802400A0 10400002 */ beqz $v0, .L802400AC +/* 874E64 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 874E68 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 874E6C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 874E70 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 874E74 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 874E78 802400B8 04610004 */ bgez $v1, .L802400CC +/* 874E7C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 874E80 802400C0 3C020002 */ lui $v0, 2 +/* 874E84 802400C4 08090037 */ j .L802400DC +/* 874E88 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 874E8C 802400CC 3C040002 */ lui $a0, 2 +/* 874E90 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 874E94 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 874E98 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 874E9C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 874EA0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 874EA4 802400E4 0C046F07 */ jal set_main_pan_u +/* 874EA8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 874EAC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 874EB0 802400F0 0C046F0D */ jal set_main_pan_v +/* 874EB4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 874EB8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 874EBC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 874EC0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 874EC4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 874EC8 80240108 0C046F19 */ jal set_aux_pan_v +/* 874ECC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 874ED0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 874ED4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 874ED8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 874EDC 8024011C 03E00008 */ jr $ra +/* 874EE0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240124_874DC0.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240124_874DC0.s new file mode 100644 index 0000000000..4fa22a02b2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240124_874DC0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_874EE4 +/* 874EE4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 874EE8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 874EEC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 874EF0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 874EF4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 874EF8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 874EFC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 874F00 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 874F04 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 874F08 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 874F0C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 874F10 80240150 00000000 */ nop +/* 874F14 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 874F18 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 874F1C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 874F20 80240160 04610004 */ bgez $v1, .L80240174 +/* 874F24 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 874F28 80240168 3C020002 */ lui $v0, 2 +/* 874F2C 8024016C 08090061 */ j .L80240184 +/* 874F30 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 874F34 80240174 3C040002 */ lui $a0, 2 +/* 874F38 80240178 0083102A */ slt $v0, $a0, $v1 +/* 874F3C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 874F40 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 874F44 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 874F48 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 874F4C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 874F50 80240190 00000000 */ nop +/* 874F54 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 874F58 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 874F5C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 874F60 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 874F64 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 874F68 802401A8 3C020002 */ lui $v0, 2 +/* 874F6C 802401AC 08090071 */ j .L802401C4 +/* 874F70 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 874F74 802401B4 3C040002 */ lui $a0, 2 +/* 874F78 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 874F7C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 874F80 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 874F84 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 874F88 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 874F8C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 874F90 802401D0 00000000 */ nop +/* 874F94 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 874F98 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 874F9C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 874FA0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 874FA4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 874FA8 802401E8 3C020002 */ lui $v0, 2 +/* 874FAC 802401EC 08090081 */ j .L80240204 +/* 874FB0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 874FB4 802401F4 3C040002 */ lui $a0, 2 +/* 874FB8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 874FBC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 874FC0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 874FC4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 874FC8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 874FCC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 874FD0 80240210 00000000 */ nop +/* 874FD4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 874FD8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 874FDC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 874FE0 80240220 04610004 */ bgez $v1, .L80240234 +/* 874FE4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 874FE8 80240228 3C020002 */ lui $v0, 2 +/* 874FEC 8024022C 08090091 */ j .L80240244 +/* 874FF0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 874FF4 80240234 3C040002 */ lui $a0, 2 +/* 874FF8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 874FFC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 875000 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 875004 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 875008 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 87500C 8024024C 0C046F07 */ jal set_main_pan_u +/* 875010 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 875014 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 875018 80240258 0C046F0D */ jal set_main_pan_v +/* 87501C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 875020 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 875024 80240264 0C046F13 */ jal set_aux_pan_u +/* 875028 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 87502C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 875030 80240270 0C046F19 */ jal set_aux_pan_v +/* 875034 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 875038 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 87503C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 875040 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 875044 80240284 24420001 */ addiu $v0, $v0, 1 +/* 875048 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 87504C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 875050 80240290 24630001 */ addiu $v1, $v1, 1 +/* 875054 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 875058 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 87505C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 875060 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 875064 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 875068 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 87506C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 875070 802402B0 14600002 */ bnez $v1, .L802402BC +/* 875074 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 875078 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 87507C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 875080 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 875084 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 875088 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 87508C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 875090 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 875094 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 875098 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 87509C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 8750A0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 8750A4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 8750A8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8750AC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 8750B0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 8750B4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 8750B8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8750BC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8750C0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 8750C4 80240304 03E00008 */ jr $ra +/* 8750C8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8750CC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240310_874DC0.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240310_874DC0.s new file mode 100644 index 0000000000..efc06a5c4e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240310_874DC0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_8750D0 +/* 8750D0 80240310 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8750D4 80240314 AFB3001C */ sw $s3, 0x1c($sp) +/* 8750D8 80240318 0080982D */ daddu $s3, $a0, $zero +/* 8750DC 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* 8750E0 80240320 AFB20018 */ sw $s2, 0x18($sp) +/* 8750E4 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* 8750E8 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* 8750EC 8024032C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8750F0 80240330 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8750F4 80240334 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8750F8 80240338 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8750FC 8024033C 8E62000C */ lw $v0, 0xc($s3) +/* 875100 80240340 0C0B1EAF */ jal get_variable +/* 875104 80240344 8C450000 */ lw $a1, ($v0) +/* 875108 80240348 2404FFFC */ addiu $a0, $zero, -4 +/* 87510C 8024034C 0C00EABB */ jal get_npc_unsafe +/* 875110 80240350 0040802D */ daddu $s0, $v0, $zero +/* 875114 80240354 0200202D */ daddu $a0, $s0, $zero +/* 875118 80240358 0C046C04 */ jal get_model_list_index_from_tree_index +/* 87511C 8024035C 0040802D */ daddu $s0, $v0, $zero +/* 875120 80240360 0C046B4C */ jal get_model_from_list_index +/* 875124 80240364 0040202D */ daddu $a0, $v0, $zero +/* 875128 80240368 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 87512C 8024036C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 875130 80240370 0040902D */ daddu $s2, $v0, $zero +/* 875134 80240374 AE60008C */ sw $zero, 0x8c($s3) +/* 875138 80240378 C4620028 */ lwc1 $f2, 0x28($v1) +/* 87513C 8024037C C6400098 */ lwc1 $f0, 0x98($s2) +/* 875140 80240380 46001081 */ sub.s $f2, $f2, $f0 +/* 875144 80240384 46021182 */ mul.s $f6, $f2, $f2 +/* 875148 80240388 00000000 */ nop +/* 87514C 8024038C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 875150 80240390 C4620030 */ lwc1 $f2, 0x30($v1) +/* 875154 80240394 46001081 */ sub.s $f2, $f2, $f0 +/* 875158 80240398 46021102 */ mul.s $f4, $f2, $f2 +/* 87515C 8024039C 00000000 */ nop +/* 875160 802403A0 846200B0 */ lh $v0, 0xb0($v1) +/* 875164 802403A4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 875168 802403A8 44820000 */ mtc1 $v0, $f0 +/* 87516C 802403AC 00000000 */ nop +/* 875170 802403B0 46800020 */ cvt.s.w $f0, $f0 +/* 875174 802403B4 46001080 */ add.s $f2, $f2, $f0 +/* 875178 802403B8 3C013FC0 */ lui $at, 0x3fc0 +/* 87517C 802403BC 44810000 */ mtc1 $at, $f0 +/* 875180 802403C0 00000000 */ nop +/* 875184 802403C4 46001081 */ sub.s $f2, $f2, $f0 +/* 875188 802403C8 46043300 */ add.s $f12, $f6, $f4 +/* 87518C 802403CC C640009C */ lwc1 $f0, 0x9c($s2) +/* 875190 802403D0 46001501 */ sub.s $f20, $f2, $f0 +/* 875194 802403D4 46006084 */ sqrt.s $f2, $f12 +/* 875198 802403D8 46021032 */ c.eq.s $f2, $f2 +/* 87519C 802403DC 00000000 */ nop +/* 8751A0 802403E0 45010004 */ bc1t .L802403F4 +/* 8751A4 802403E4 0060882D */ daddu $s1, $v1, $zero +/* 8751A8 802403E8 0C0187BC */ jal sqrtf +/* 8751AC 802403EC 00000000 */ nop +/* 8751B0 802403F0 46000086 */ mov.s $f2, $f0 +.L802403F4: +/* 8751B4 802403F4 44800000 */ mtc1 $zero, $f0 +/* 8751B8 802403F8 00000000 */ nop +/* 8751BC 802403FC 4614003C */ c.lt.s $f0, $f20 +/* 8751C0 80240400 00000000 */ nop +/* 8751C4 80240404 45000016 */ bc1f .L80240460 +/* 8751C8 80240408 46001106 */ mov.s $f4, $f2 +/* 8751CC 8024040C 862200B0 */ lh $v0, 0xb0($s1) +/* 8751D0 80240410 44820000 */ mtc1 $v0, $f0 +/* 8751D4 80240414 00000000 */ nop +/* 8751D8 80240418 46800020 */ cvt.s.w $f0, $f0 +/* 8751DC 8024041C 4600A03C */ c.lt.s $f20, $f0 +/* 8751E0 80240420 00000000 */ nop +/* 8751E4 80240424 4500000E */ bc1f .L80240460 +/* 8751E8 80240428 00000000 */ nop +/* 8751EC 8024042C 862200B2 */ lh $v0, 0xb2($s1) +/* 8751F0 80240430 3C013F00 */ lui $at, 0x3f00 +/* 8751F4 80240434 44811000 */ mtc1 $at, $f2 +/* 8751F8 80240438 44820000 */ mtc1 $v0, $f0 +/* 8751FC 8024043C 00000000 */ nop +/* 875200 80240440 46800020 */ cvt.s.w $f0, $f0 +/* 875204 80240444 46020002 */ mul.s $f0, $f0, $f2 +/* 875208 80240448 00000000 */ nop +/* 87520C 8024044C 4600203C */ c.lt.s $f4, $f0 +/* 875210 80240450 00000000 */ nop +/* 875214 80240454 45000002 */ bc1f .L80240460 +/* 875218 80240458 24020001 */ addiu $v0, $zero, 1 +/* 87521C 8024045C AE62008C */ sw $v0, 0x8c($s3) +.L80240460: +/* 875220 80240460 C6020038 */ lwc1 $f2, 0x38($s0) +/* 875224 80240464 C6400098 */ lwc1 $f0, 0x98($s2) +/* 875228 80240468 46001081 */ sub.s $f2, $f2, $f0 +/* 87522C 8024046C 46021182 */ mul.s $f6, $f2, $f2 +/* 875230 80240470 00000000 */ nop +/* 875234 80240474 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 875238 80240478 C6020040 */ lwc1 $f2, 0x40($s0) +/* 87523C 8024047C 46001081 */ sub.s $f2, $f2, $f0 +/* 875240 80240480 46021102 */ mul.s $f4, $f2, $f2 +/* 875244 80240484 00000000 */ nop +/* 875248 80240488 860200A8 */ lh $v0, 0xa8($s0) +/* 87524C 8024048C C602003C */ lwc1 $f2, 0x3c($s0) +/* 875250 80240490 44820000 */ mtc1 $v0, $f0 +/* 875254 80240494 00000000 */ nop +/* 875258 80240498 46800020 */ cvt.s.w $f0, $f0 +/* 87525C 8024049C 46001080 */ add.s $f2, $f2, $f0 +/* 875260 802404A0 3C013FC0 */ lui $at, 0x3fc0 +/* 875264 802404A4 44810000 */ mtc1 $at, $f0 +/* 875268 802404A8 00000000 */ nop +/* 87526C 802404AC 46001081 */ sub.s $f2, $f2, $f0 +/* 875270 802404B0 46043300 */ add.s $f12, $f6, $f4 +/* 875274 802404B4 C640009C */ lwc1 $f0, 0x9c($s2) +/* 875278 802404B8 46001501 */ sub.s $f20, $f2, $f0 +/* 87527C 802404BC 46006084 */ sqrt.s $f2, $f12 +/* 875280 802404C0 46021032 */ c.eq.s $f2, $f2 +/* 875284 802404C4 00000000 */ nop +/* 875288 802404C8 45010004 */ bc1t .L802404DC +/* 87528C 802404CC 00000000 */ nop +/* 875290 802404D0 0C0187BC */ jal sqrtf +/* 875294 802404D4 00000000 */ nop +/* 875298 802404D8 46000086 */ mov.s $f2, $f0 +.L802404DC: +/* 87529C 802404DC 44800000 */ mtc1 $zero, $f0 +/* 8752A0 802404E0 00000000 */ nop +/* 8752A4 802404E4 4614003C */ c.lt.s $f0, $f20 +/* 8752A8 802404E8 00000000 */ nop +/* 8752AC 802404EC 45000016 */ bc1f .L80240548 +/* 8752B0 802404F0 46001106 */ mov.s $f4, $f2 +/* 8752B4 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 8752B8 802404F8 44820000 */ mtc1 $v0, $f0 +/* 8752BC 802404FC 00000000 */ nop +/* 8752C0 80240500 46800020 */ cvt.s.w $f0, $f0 +/* 8752C4 80240504 4600A03C */ c.lt.s $f20, $f0 +/* 8752C8 80240508 00000000 */ nop +/* 8752CC 8024050C 4500000F */ bc1f .L8024054C +/* 8752D0 80240510 0000882D */ daddu $s1, $zero, $zero +/* 8752D4 80240514 860200A6 */ lh $v0, 0xa6($s0) +/* 8752D8 80240518 3C013F00 */ lui $at, 0x3f00 +/* 8752DC 8024051C 44811000 */ mtc1 $at, $f2 +/* 8752E0 80240520 44820000 */ mtc1 $v0, $f0 +/* 8752E4 80240524 00000000 */ nop +/* 8752E8 80240528 46800020 */ cvt.s.w $f0, $f0 +/* 8752EC 8024052C 46020002 */ mul.s $f0, $f0, $f2 +/* 8752F0 80240530 00000000 */ nop +/* 8752F4 80240534 4600203C */ c.lt.s $f4, $f0 +/* 8752F8 80240538 00000000 */ nop +/* 8752FC 8024053C 45000003 */ bc1f .L8024054C +/* 875300 80240540 24020001 */ addiu $v0, $zero, 1 +/* 875304 80240544 AE62008C */ sw $v0, 0x8c($s3) +.L80240548: +/* 875308 80240548 0000882D */ daddu $s1, $zero, $zero +.L8024054C: +/* 87530C 8024054C 3C013FC0 */ lui $at, 0x3fc0 +/* 875310 80240550 4481D000 */ mtc1 $at, $f26 +/* 875314 80240554 4480C000 */ mtc1 $zero, $f24 +/* 875318 80240558 3C013F00 */ lui $at, 0x3f00 +/* 87531C 8024055C 4481B000 */ mtc1 $at, $f22 +.L80240560: +/* 875320 80240560 0C00EAD2 */ jal get_npc_safe +/* 875324 80240564 0220202D */ daddu $a0, $s1, $zero +/* 875328 80240568 0040802D */ daddu $s0, $v0, $zero +/* 87532C 8024056C 52000035 */ beql $s0, $zero, .L80240644 +/* 875330 80240570 26310001 */ addiu $s1, $s1, 1 +/* 875334 80240574 C6020038 */ lwc1 $f2, 0x38($s0) +/* 875338 80240578 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87533C 8024057C 46001081 */ sub.s $f2, $f2, $f0 +/* 875340 80240580 46021182 */ mul.s $f6, $f2, $f2 +/* 875344 80240584 00000000 */ nop +/* 875348 80240588 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87534C 8024058C C6020040 */ lwc1 $f2, 0x40($s0) +/* 875350 80240590 46001081 */ sub.s $f2, $f2, $f0 +/* 875354 80240594 46021102 */ mul.s $f4, $f2, $f2 +/* 875358 80240598 00000000 */ nop +/* 87535C 8024059C 860200A8 */ lh $v0, 0xa8($s0) +/* 875360 802405A0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 875364 802405A4 44820000 */ mtc1 $v0, $f0 +/* 875368 802405A8 00000000 */ nop +/* 87536C 802405AC 46800020 */ cvt.s.w $f0, $f0 +/* 875370 802405B0 46001080 */ add.s $f2, $f2, $f0 +/* 875374 802405B4 461A1081 */ sub.s $f2, $f2, $f26 +/* 875378 802405B8 46043300 */ add.s $f12, $f6, $f4 +/* 87537C 802405BC C640009C */ lwc1 $f0, 0x9c($s2) +/* 875380 802405C0 46001501 */ sub.s $f20, $f2, $f0 +/* 875384 802405C4 46006004 */ sqrt.s $f0, $f12 +/* 875388 802405C8 46000032 */ c.eq.s $f0, $f0 +/* 87538C 802405CC 00000000 */ nop +/* 875390 802405D0 45010003 */ bc1t .L802405E0 +/* 875394 802405D4 00000000 */ nop +/* 875398 802405D8 0C0187BC */ jal sqrtf +/* 87539C 802405DC 00000000 */ nop +.L802405E0: +/* 8753A0 802405E0 4614C03C */ c.lt.s $f24, $f20 +/* 8753A4 802405E4 00000000 */ nop +/* 8753A8 802405E8 45000015 */ bc1f .L80240640 +/* 8753AC 802405EC 46000106 */ mov.s $f4, $f0 +/* 8753B0 802405F0 860200A8 */ lh $v0, 0xa8($s0) +/* 8753B4 802405F4 44820000 */ mtc1 $v0, $f0 +/* 8753B8 802405F8 00000000 */ nop +/* 8753BC 802405FC 46800020 */ cvt.s.w $f0, $f0 +/* 8753C0 80240600 4600A03C */ c.lt.s $f20, $f0 +/* 8753C4 80240604 00000000 */ nop +/* 8753C8 80240608 4500000E */ bc1f .L80240644 +/* 8753CC 8024060C 26310001 */ addiu $s1, $s1, 1 +/* 8753D0 80240610 860200A6 */ lh $v0, 0xa6($s0) +/* 8753D4 80240614 44820000 */ mtc1 $v0, $f0 +/* 8753D8 80240618 00000000 */ nop +/* 8753DC 8024061C 46800020 */ cvt.s.w $f0, $f0 +/* 8753E0 80240620 46160002 */ mul.s $f0, $f0, $f22 +/* 8753E4 80240624 00000000 */ nop +/* 8753E8 80240628 4600203C */ c.lt.s $f4, $f0 +/* 8753EC 8024062C 00000000 */ nop +/* 8753F0 80240630 45000004 */ bc1f .L80240644 +/* 8753F4 80240634 24020001 */ addiu $v0, $zero, 1 +/* 8753F8 80240638 08090194 */ j .L80240650 +/* 8753FC 8024063C AE62008C */ sw $v0, 0x8c($s3) +.L80240640: +/* 875400 80240640 26310001 */ addiu $s1, $s1, 1 +.L80240644: +/* 875404 80240644 2A220040 */ slti $v0, $s1, 0x40 +/* 875408 80240648 1440FFC5 */ bnez $v0, .L80240560 +/* 87540C 8024064C 00000000 */ nop +.L80240650: +/* 875410 80240650 8FBF0020 */ lw $ra, 0x20($sp) +/* 875414 80240654 8FB3001C */ lw $s3, 0x1c($sp) +/* 875418 80240658 8FB20018 */ lw $s2, 0x18($sp) +/* 87541C 8024065C 8FB10014 */ lw $s1, 0x14($sp) +/* 875420 80240660 8FB00010 */ lw $s0, 0x10($sp) +/* 875424 80240664 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 875428 80240668 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 87542C 8024066C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 875430 80240670 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 875434 80240674 24020002 */ addiu $v0, $zero, 2 +/* 875438 80240678 03E00008 */ jr $ra +/* 87543C 8024067C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240680.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240680.s new file mode 100644 index 0000000000..e346908861 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240680.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680 +/* 875440 80240680 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 875444 80240684 AFB00010 */ sw $s0, 0x10($sp) +/* 875448 80240688 3C108024 */ lui $s0, 0x8024 +/* 87544C 8024068C 26101800 */ addiu $s0, $s0, 0x1800 +/* 875450 80240690 AFBF0018 */ sw $ra, 0x18($sp) +/* 875454 80240694 AFB10014 */ sw $s1, 0x14($sp) +/* 875458 80240698 8E020000 */ lw $v0, ($s0) +/* 87545C 8024069C 14400010 */ bnez $v0, .L802406E0 +/* 875460 802406A0 0080882D */ daddu $s1, $a0, $zero +/* 875464 802406A4 0C00AB39 */ jal heap_malloc +/* 875468 802406A8 24040040 */ addiu $a0, $zero, 0x40 +/* 87546C 802406AC AE020000 */ sw $v0, ($s0) +/* 875470 802406B0 0000182D */ daddu $v1, $zero, $zero +/* 875474 802406B4 0040282D */ daddu $a1, $v0, $zero +/* 875478 802406B8 0220202D */ daddu $a0, $s1, $zero +.L802406BC: +/* 87547C 802406BC 8C820084 */ lw $v0, 0x84($a0) +/* 875480 802406C0 24840004 */ addiu $a0, $a0, 4 +/* 875484 802406C4 24630001 */ addiu $v1, $v1, 1 +/* 875488 802406C8 ACA20000 */ sw $v0, ($a1) +/* 87548C 802406CC 28620010 */ slti $v0, $v1, 0x10 +/* 875490 802406D0 1440FFFA */ bnez $v0, .L802406BC +/* 875494 802406D4 24A50004 */ addiu $a1, $a1, 4 +/* 875498 802406D8 080901C7 */ j .L8024071C +/* 87549C 802406DC 00000000 */ nop +.L802406E0: +/* 8754A0 802406E0 0000182D */ daddu $v1, $zero, $zero +/* 8754A4 802406E4 0040282D */ daddu $a1, $v0, $zero +/* 8754A8 802406E8 0220202D */ daddu $a0, $s1, $zero +.L802406EC: +/* 8754AC 802406EC 8CA20000 */ lw $v0, ($a1) +/* 8754B0 802406F0 24A50004 */ addiu $a1, $a1, 4 +/* 8754B4 802406F4 24630001 */ addiu $v1, $v1, 1 +/* 8754B8 802406F8 AC820084 */ sw $v0, 0x84($a0) +/* 8754BC 802406FC 28620010 */ slti $v0, $v1, 0x10 +/* 8754C0 80240700 1440FFFA */ bnez $v0, .L802406EC +/* 8754C4 80240704 24840004 */ addiu $a0, $a0, 4 +/* 8754C8 80240708 3C108024 */ lui $s0, 0x8024 +/* 8754CC 8024070C 26101800 */ addiu $s0, $s0, 0x1800 +/* 8754D0 80240710 0C00AB4B */ jal heap_free +/* 8754D4 80240714 8E040000 */ lw $a0, ($s0) +/* 8754D8 80240718 AE000000 */ sw $zero, ($s0) +.L8024071C: +/* 8754DC 8024071C 8FBF0018 */ lw $ra, 0x18($sp) +/* 8754E0 80240720 8FB10014 */ lw $s1, 0x14($sp) +/* 8754E4 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* 8754E8 80240728 24020002 */ addiu $v0, $zero, 2 +/* 8754EC 8024072C 03E00008 */ jr $ra +/* 8754F0 80240730 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240734.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240734.s new file mode 100644 index 0000000000..1231ea3beb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240734.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240734 +/* 8754F4 80240734 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8754F8 80240738 AFB00010 */ sw $s0, 0x10($sp) +/* 8754FC 8024073C 0080802D */ daddu $s0, $a0, $zero +/* 875500 80240740 AFBF0018 */ sw $ra, 0x18($sp) +/* 875504 80240744 AFB10014 */ sw $s1, 0x14($sp) +/* 875508 80240748 8E02000C */ lw $v0, 0xc($s0) +/* 87550C 8024074C 8C510000 */ lw $s1, ($v0) +/* 875510 80240750 0C0B1EAF */ jal get_variable +/* 875514 80240754 0220282D */ daddu $a1, $s1, $zero +/* 875518 80240758 3C03FFF0 */ lui $v1, 0xfff0 +/* 87551C 8024075C 3463FFFF */ ori $v1, $v1, 0xffff +/* 875520 80240760 0200202D */ daddu $a0, $s0, $zero +/* 875524 80240764 00431024 */ and $v0, $v0, $v1 +/* 875528 80240768 00021140 */ sll $v0, $v0, 5 +/* 87552C 8024076C 3C068008 */ lui $a2, %hi(gItemTable) +/* 875530 80240770 00C23021 */ addu $a2, $a2, $v0 +/* 875534 80240774 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 875538 80240778 0C0B2026 */ jal set_variable +/* 87553C 8024077C 0220282D */ daddu $a1, $s1, $zero +/* 875540 80240780 8FBF0018 */ lw $ra, 0x18($sp) +/* 875544 80240784 8FB10014 */ lw $s1, 0x14($sp) +/* 875548 80240788 8FB00010 */ lw $s0, 0x10($sp) +/* 87554C 8024078C 24020002 */ addiu $v0, $zero, 2 +/* 875550 80240790 03E00008 */ jr $ra +/* 875554 80240794 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240798.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240798.s new file mode 100644 index 0000000000..7051fa8ddb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240798.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240798 +/* 875558 80240798 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87555C 8024079C AFB10014 */ sw $s1, 0x14($sp) +/* 875560 802407A0 0080882D */ daddu $s1, $a0, $zero +/* 875564 802407A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 875568 802407A8 AFB20018 */ sw $s2, 0x18($sp) +/* 87556C 802407AC AFB00010 */ sw $s0, 0x10($sp) +/* 875570 802407B0 8E240084 */ lw $a0, 0x84($s1) +/* 875574 802407B4 0C04C3D6 */ jal get_item_entity +/* 875578 802407B8 00A0802D */ daddu $s0, $a1, $zero +/* 87557C 802407BC 12000005 */ beqz $s0, .L802407D4 +/* 875580 802407C0 0040902D */ daddu $s2, $v0, $zero +/* 875584 802407C4 C640000C */ lwc1 $f0, 0xc($s2) +/* 875588 802407C8 AE200074 */ sw $zero, 0x74($s1) +/* 87558C 802407CC AE20007C */ sw $zero, 0x7c($s1) +/* 875590 802407D0 E6200078 */ swc1 $f0, 0x78($s1) +.L802407D4: +/* 875594 802407D4 8E230074 */ lw $v1, 0x74($s1) +/* 875598 802407D8 10600005 */ beqz $v1, .L802407F0 +/* 87559C 802407DC 24020001 */ addiu $v0, $zero, 1 +/* 8755A0 802407E0 10620024 */ beq $v1, $v0, .L80240874 +/* 8755A4 802407E4 00000000 */ nop +/* 8755A8 802407E8 08090233 */ j .L802408CC +/* 8755AC 802407EC 00000000 */ nop +.L802407F0: +/* 8755B0 802407F0 3C013FC9 */ lui $at, 0x3fc9 +/* 8755B4 802407F4 34210FD8 */ ori $at, $at, 0xfd8 +/* 8755B8 802407F8 44810000 */ mtc1 $at, $f0 +/* 8755BC 802407FC C62C007C */ lwc1 $f12, 0x7c($s1) +/* 8755C0 80240800 46806320 */ cvt.s.w $f12, $f12 +/* 8755C4 80240804 46006302 */ mul.s $f12, $f12, $f0 +/* 8755C8 80240808 00000000 */ nop +/* 8755CC 8024080C 3C0141F0 */ lui $at, 0x41f0 +/* 8755D0 80240810 44810000 */ mtc1 $at, $f0 +/* 8755D4 80240814 0C00A874 */ jal cos_rad +/* 8755D8 80240818 46006303 */ div.s $f12, $f12, $f0 +/* 8755DC 8024081C 3C013F80 */ lui $at, 0x3f80 +/* 8755E0 80240820 44811000 */ mtc1 $at, $f2 +/* 8755E4 80240824 00000000 */ nop +/* 8755E8 80240828 46001081 */ sub.s $f2, $f2, $f0 +/* 8755EC 8024082C 3C0141A0 */ lui $at, 0x41a0 +/* 8755F0 80240830 44810000 */ mtc1 $at, $f0 +/* 8755F4 80240834 00000000 */ nop +/* 8755F8 80240838 46001082 */ mul.s $f2, $f2, $f0 +/* 8755FC 8024083C 00000000 */ nop +/* 875600 80240840 C6200078 */ lwc1 $f0, 0x78($s1) +/* 875604 80240844 46020000 */ add.s $f0, $f0, $f2 +/* 875608 80240848 E640000C */ swc1 $f0, 0xc($s2) +/* 87560C 8024084C 8E23007C */ lw $v1, 0x7c($s1) +/* 875610 80240850 2402001E */ addiu $v0, $zero, 0x1e +/* 875614 80240854 14620005 */ bne $v1, $v0, .L8024086C +/* 875618 80240858 24620001 */ addiu $v0, $v1, 1 +/* 87561C 8024085C 24020001 */ addiu $v0, $zero, 1 +/* 875620 80240860 AE220074 */ sw $v0, 0x74($s1) +/* 875624 80240864 08090233 */ j .L802408CC +/* 875628 80240868 AE20007C */ sw $zero, 0x7c($s1) +.L8024086C: +/* 87562C 8024086C 08090233 */ j .L802408CC +/* 875630 80240870 AE22007C */ sw $v0, 0x7c($s1) +.L80240874: +/* 875634 80240874 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 875638 80240878 0C00A8D4 */ jal cos_deg +/* 87563C 8024087C 46806320 */ cvt.s.w $f12, $f12 +/* 875640 80240880 3C014040 */ lui $at, 0x4040 +/* 875644 80240884 44811000 */ mtc1 $at, $f2 +/* 875648 80240888 00000000 */ nop +/* 87564C 8024088C 46020002 */ mul.s $f0, $f0, $f2 +/* 875650 80240890 00000000 */ nop +/* 875654 80240894 3C014188 */ lui $at, 0x4188 +/* 875658 80240898 44812000 */ mtc1 $at, $f4 +/* 87565C 8024089C C6220078 */ lwc1 $f2, 0x78($s1) +/* 875660 802408A0 46041080 */ add.s $f2, $f2, $f4 +/* 875664 802408A4 46001080 */ add.s $f2, $f2, $f0 +/* 875668 802408A8 E642000C */ swc1 $f2, 0xc($s2) +/* 87566C 802408AC 8E22007C */ lw $v0, 0x7c($s1) +/* 875670 802408B0 24420009 */ addiu $v0, $v0, 9 +/* 875674 802408B4 44826000 */ mtc1 $v0, $f12 +/* 875678 802408B8 00000000 */ nop +/* 87567C 802408BC 0C00A6C9 */ jal clamp_angle +/* 875680 802408C0 46806320 */ cvt.s.w $f12, $f12 +/* 875684 802408C4 4600018D */ trunc.w.s $f6, $f0 +/* 875688 802408C8 E626007C */ swc1 $f6, 0x7c($s1) +.L802408CC: +/* 87568C 802408CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 875690 802408D0 8FB20018 */ lw $s2, 0x18($sp) +/* 875694 802408D4 8FB10014 */ lw $s1, 0x14($sp) +/* 875698 802408D8 8FB00010 */ lw $s0, 0x10($sp) +/* 87569C 802408DC 0000102D */ daddu $v0, $zero, $zero +/* 8756A0 802408E0 03E00008 */ jr $ra +/* 8756A4 802408E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_802408E8.s b/asm/nonmatchings/world/area_tik/tik_05/func_802408E8.s new file mode 100644 index 0000000000..04c8e06d4f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_802408E8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408E8 +/* 8756A8 802408E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8756AC 802408EC AFB00010 */ sw $s0, 0x10($sp) +/* 8756B0 802408F0 0080802D */ daddu $s0, $a0, $zero +/* 8756B4 802408F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8756B8 802408F8 8E02000C */ lw $v0, 0xc($s0) +/* 8756BC 802408FC 0C0B1EAF */ jal get_variable +/* 8756C0 80240900 8C450000 */ lw $a1, ($v0) +/* 8756C4 80240904 00021140 */ sll $v0, $v0, 5 +/* 8756C8 80240908 AE000084 */ sw $zero, 0x84($s0) +/* 8756CC 8024090C 3C018008 */ lui $at, 0x8008 +/* 8756D0 80240910 00220821 */ addu $at, $at, $v0 +/* 8756D4 80240914 942278F8 */ lhu $v0, 0x78f8($at) +/* 8756D8 80240918 30420040 */ andi $v0, $v0, 0x40 +/* 8756DC 8024091C 10400002 */ beqz $v0, .L80240928 +/* 8756E0 80240920 24020001 */ addiu $v0, $zero, 1 +/* 8756E4 80240924 AE020084 */ sw $v0, 0x84($s0) +.L80240928: +/* 8756E8 80240928 8FBF0014 */ lw $ra, 0x14($sp) +/* 8756EC 8024092C 8FB00010 */ lw $s0, 0x10($sp) +/* 8756F0 80240930 24020002 */ addiu $v0, $zero, 2 +/* 8756F4 80240934 03E00008 */ jr $ra +/* 8756F8 80240938 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_8024093C.s b/asm/nonmatchings/world/area_tik/tik_05/func_8024093C.s new file mode 100644 index 0000000000..52390f7fbb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_8024093C.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024093C +/* 8756FC 8024093C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 875700 80240940 AFBF0010 */ sw $ra, 0x10($sp) +/* 875704 80240944 8C82000C */ lw $v0, 0xc($a0) +/* 875708 80240948 0C0B1EAF */ jal get_variable +/* 87570C 8024094C 8C450000 */ lw $a1, ($v0) +/* 875710 80240950 0C04417A */ jal get_entity_by_index +/* 875714 80240954 0040202D */ daddu $a0, $v0, $zero +/* 875718 80240958 50400007 */ beql $v0, $zero, .L80240978 +/* 87571C 8024095C 0000102D */ daddu $v0, $zero, $zero +/* 875720 80240960 84440014 */ lh $a0, 0x14($v0) +/* 875724 80240964 3C050000 */ lui $a1, 0 +/* 875728 80240968 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* 87572C 8024096C 0C048052 */ jal play_model_animation +/* 875730 80240970 00000000 */ nop +/* 875734 80240974 24020002 */ addiu $v0, $zero, 2 +.L80240978: +/* 875738 80240978 8FBF0010 */ lw $ra, 0x10($sp) +/* 87573C 8024097C 03E00008 */ jr $ra +/* 875740 80240980 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_05/func_80240984.s b/asm/nonmatchings/world/area_tik/tik_05/func_80240984.s new file mode 100644 index 0000000000..61b6bad1cc --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_05/func_80240984.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240984 +/* 875744 80240984 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 875748 80240988 AFB10014 */ sw $s1, 0x14($sp) +/* 87574C 8024098C 0080882D */ daddu $s1, $a0, $zero +/* 875750 80240990 AFBF0020 */ sw $ra, 0x20($sp) +/* 875754 80240994 AFB3001C */ sw $s3, 0x1c($sp) +/* 875758 80240998 AFB20018 */ sw $s2, 0x18($sp) +/* 87575C 8024099C AFB00010 */ sw $s0, 0x10($sp) +/* 875760 802409A0 8E30000C */ lw $s0, 0xc($s1) +/* 875764 802409A4 8E050000 */ lw $a1, ($s0) +/* 875768 802409A8 0C0B1EAF */ jal get_variable +/* 87576C 802409AC 26100004 */ addiu $s0, $s0, 4 +/* 875770 802409B0 8E050000 */ lw $a1, ($s0) +/* 875774 802409B4 26100004 */ addiu $s0, $s0, 4 +/* 875778 802409B8 0220202D */ daddu $a0, $s1, $zero +/* 87577C 802409BC 0C0B1EAF */ jal get_variable +/* 875780 802409C0 0040982D */ daddu $s3, $v0, $zero +/* 875784 802409C4 8E050000 */ lw $a1, ($s0) +/* 875788 802409C8 26100004 */ addiu $s0, $s0, 4 +/* 87578C 802409CC 0220202D */ daddu $a0, $s1, $zero +/* 875790 802409D0 0C0B1EAF */ jal get_variable +/* 875794 802409D4 0040902D */ daddu $s2, $v0, $zero +/* 875798 802409D8 0220202D */ daddu $a0, $s1, $zero +/* 87579C 802409DC 8E050000 */ lw $a1, ($s0) +/* 8757A0 802409E0 0C0B1EAF */ jal get_variable +/* 8757A4 802409E4 0040882D */ daddu $s1, $v0, $zero +/* 8757A8 802409E8 0260202D */ daddu $a0, $s3, $zero +/* 8757AC 802409EC 0C04417A */ jal get_entity_by_index +/* 8757B0 802409F0 0040802D */ daddu $s0, $v0, $zero +/* 8757B4 802409F4 0040182D */ daddu $v1, $v0, $zero +/* 8757B8 802409F8 44920000 */ mtc1 $s2, $f0 +/* 8757BC 802409FC 00000000 */ nop +/* 8757C0 80240A00 46800020 */ cvt.s.w $f0, $f0 +/* 8757C4 80240A04 E4600048 */ swc1 $f0, 0x48($v1) +/* 8757C8 80240A08 44910000 */ mtc1 $s1, $f0 +/* 8757CC 80240A0C 00000000 */ nop +/* 8757D0 80240A10 46800020 */ cvt.s.w $f0, $f0 +/* 8757D4 80240A14 E460004C */ swc1 $f0, 0x4c($v1) +/* 8757D8 80240A18 44900000 */ mtc1 $s0, $f0 +/* 8757DC 80240A1C 00000000 */ nop +/* 8757E0 80240A20 46800020 */ cvt.s.w $f0, $f0 +/* 8757E4 80240A24 E4600050 */ swc1 $f0, 0x50($v1) +/* 8757E8 80240A28 8FBF0020 */ lw $ra, 0x20($sp) +/* 8757EC 80240A2C 8FB3001C */ lw $s3, 0x1c($sp) +/* 8757F0 80240A30 8FB20018 */ lw $s2, 0x18($sp) +/* 8757F4 80240A34 8FB10014 */ lw $s1, 0x14($sp) +/* 8757F8 80240A38 8FB00010 */ lw $s0, 0x10($sp) +/* 8757FC 80240A3C 24020002 */ addiu $v0, $zero, 2 +/* 875800 80240A40 03E00008 */ jr $ra +/* 875804 80240A44 27BD0028 */ addiu $sp, $sp, 0x28 +/* 875808 80240A48 00000000 */ nop +/* 87580C 80240A4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_80240000_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_80240000_876EE0.s new file mode 100644 index 0000000000..921aae0304 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_80240000_876EE0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_876EE0 +/* 876EE0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 876EE4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 876EE8 80240008 8C430004 */ lw $v1, 4($v0) +/* 876EEC 8024000C 3C040010 */ lui $a0, 0x10 +/* 876EF0 80240010 00641825 */ or $v1, $v1, $a0 +/* 876EF4 80240014 AC430004 */ sw $v1, 4($v0) +/* 876EF8 80240018 03E00008 */ jr $ra +/* 876EFC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_80240020_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_80240020_876EE0.s new file mode 100644 index 0000000000..abeb00a1fb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_80240020_876EE0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_876F00 +/* 876F00 80240020 3C028016 */ lui $v0, 0x8016 +/* 876F04 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 876F08 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 876F0C 8024002C 03E00008 */ jr $ra +/* 876F10 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_80240034_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_80240034_876EE0.s new file mode 100644 index 0000000000..2bdb903877 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_80240034_876EE0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_876F14 +/* 876F14 80240034 3C038016 */ lui $v1, 0x8016 +/* 876F18 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 876F1C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 876F20 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 876F24 80240044 0080802D */ daddu $s0, $a0, $zero +/* 876F28 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 876F2C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 876F30 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 876F34 80240054 24020002 */ addiu $v0, $zero, 2 +/* 876F38 80240058 08090038 */ j .L802400E0 +/* 876F3C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 876F40 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 876F44 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 876F48 80240068 80620040 */ lb $v0, 0x40($v1) +/* 876F4C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 876F50 80240070 04420001 */ bltzl $v0, .L80240078 +/* 876F54 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 876F58 80240078 14400003 */ bnez $v0, .L80240088 +/* 876F5C 8024007C 00000000 */ nop +/* 876F60 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 876F64 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 876F68 80240088 44822000 */ mtc1 $v0, $f4 +/* 876F6C 8024008C 00000000 */ nop +/* 876F70 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 876F74 80240094 44062000 */ mfc1 $a2, $f4 +/* 876F78 80240098 44872000 */ mtc1 $a3, $f4 +/* 876F7C 8024009C 00000000 */ nop +/* 876F80 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 876F84 802400A4 44806000 */ mtc1 $zero, $f12 +/* 876F88 802400A8 44072000 */ mfc1 $a3, $f4 +/* 876F8C 802400AC 0C00A720 */ jal atan2 +/* 876F90 802400B0 46006386 */ mov.s $f14, $f12 +/* 876F94 802400B4 3C014270 */ lui $at, 0x4270 +/* 876F98 802400B8 44811000 */ mtc1 $at, $f2 +/* 876F9C 802400BC 00000000 */ nop +/* 876FA0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 876FA4 802400C4 00000000 */ nop +/* 876FA8 802400C8 45000004 */ bc1f .L802400DC +/* 876FAC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 876FB0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 876FB4 802400D4 08090038 */ j .L802400E0 +/* 876FB8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 876FBC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 876FC0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 876FC4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 876FC8 802400E8 03E00008 */ jr $ra +/* 876FCC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_802400F0_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_802400F0_876EE0.s new file mode 100644 index 0000000000..b750bf151a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_802400F0_876EE0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_876FD0 +/* 876FD0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 876FD4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 876FD8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 876FDC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 876FE0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 876FE4 80240104 0C016AFA */ jal get_current_map_header +/* 876FE8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 876FEC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 876FF0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 876FF4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 876FF8 80240118 0C0B1EAF */ jal get_variable +/* 876FFC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 877000 80240120 0220202D */ daddu $a0, $s1, $zero +/* 877004 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 877008 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 87700C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 877010 80240130 02031821 */ addu $v1, $s0, $v1 +/* 877014 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 877018 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 87701C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 877020 80240140 0C0B2026 */ jal set_variable +/* 877024 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 877028 80240148 0220202D */ daddu $a0, $s1, $zero +/* 87702C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 877030 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 877034 80240154 02021021 */ addu $v0, $s0, $v0 +/* 877038 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 87703C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 877040 80240160 44061000 */ mfc1 $a2, $f2 +/* 877044 80240164 0C0B2026 */ jal set_variable +/* 877048 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 87704C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 877050 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 877054 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 877058 80240178 02021021 */ addu $v0, $s0, $v0 +/* 87705C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 877060 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 877064 80240184 44061000 */ mfc1 $a2, $f2 +/* 877068 80240188 0C0B2026 */ jal set_variable +/* 87706C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 877070 80240190 0220202D */ daddu $a0, $s1, $zero +/* 877074 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 877078 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 87707C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 877080 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 877084 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 877088 802401A8 44061000 */ mfc1 $a2, $f2 +/* 87708C 802401AC 0C0B2026 */ jal set_variable +/* 877090 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 877094 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 877098 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 87709C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 8770A0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 8770A4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 8770A8 802401C8 03E00008 */ jr $ra +/* 8770AC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_802401D0_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_802401D0_876EE0.s new file mode 100644 index 0000000000..769a53f52f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_802401D0_876EE0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_8770B0 +/* 8770B0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8770B4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8770B8 802401D8 3C014334 */ lui $at, 0x4334 +/* 8770BC 802401DC 44816000 */ mtc1 $at, $f12 +/* 8770C0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8770C4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8770C8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8770CC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8770D0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8770D4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8770D8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8770DC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8770E0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8770E4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8770E8 80240208 3C01800B */ lui $at, 0x800b +/* 8770EC 8024020C 00220821 */ addu $at, $at, $v0 +/* 8770F0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8770F4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8770F8 80240218 0C00A6C9 */ jal clamp_angle +/* 8770FC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 877100 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 877104 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 877108 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 87710C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 877110 80240230 24020002 */ addiu $v0, $zero, 2 +/* 877114 80240234 03E00008 */ jr $ra +/* 877118 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_8024023C_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_8024023C_876EE0.s new file mode 100644 index 0000000000..e5c56a59c7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_8024023C_876EE0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_87711C +/* 87711C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 877120 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 877124 80240244 0080802D */ daddu $s0, $a0, $zero +/* 877128 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 87712C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 877130 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 877134 80240254 0C0B210B */ jal get_float_variable +/* 877138 80240258 8C450000 */ lw $a1, ($v0) +/* 87713C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 877140 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 877144 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 877148 80240268 44060000 */ mfc1 $a2, $f0 +/* 87714C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 877150 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 877154 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 877158 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 87715C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 877160 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 877164 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 877168 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 87716C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 877170 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 877174 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 877178 80240298 0C0B2190 */ jal set_float_variable +/* 87717C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 877180 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 877184 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 877188 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 87718C 802402AC 0C0B2190 */ jal set_float_variable +/* 877190 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 877194 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 877198 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 87719C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 8771A0 802402C0 0C0B2190 */ jal set_float_variable +/* 8771A4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8771A8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8771AC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8771B0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8771B4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 8771B8 802402D8 03E00008 */ jr $ra +/* 8771BC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_802402E0_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_802402E0_876EE0.s new file mode 100644 index 0000000000..7611a875e8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_802402E0_876EE0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8771C0 +/* 8771C0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8771C4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8771C8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 8771CC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8771D0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8771D4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 8771D8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 8771DC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 8771E0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8771E4 80240304 3C020002 */ lui $v0, 2 +/* 8771E8 80240308 080900C8 */ j .L80240320 +/* 8771EC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 8771F0 80240310 3C040002 */ lui $a0, 2 +/* 8771F4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 8771F8 80240318 10400002 */ beqz $v0, .L80240324 +/* 8771FC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 877200 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 877204 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 877208 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 87720C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 877210 80240330 04610004 */ bgez $v1, .L80240344 +/* 877214 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 877218 80240338 3C020002 */ lui $v0, 2 +/* 87721C 8024033C 080900D5 */ j .L80240354 +/* 877220 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 877224 80240344 3C040002 */ lui $a0, 2 +/* 877228 80240348 0083102A */ slt $v0, $a0, $v1 +/* 87722C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 877230 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 877234 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 877238 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 87723C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 877240 80240360 00621821 */ addu $v1, $v1, $v0 +/* 877244 80240364 04610004 */ bgez $v1, .L80240378 +/* 877248 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 87724C 8024036C 3C020002 */ lui $v0, 2 +/* 877250 80240370 080900E2 */ j .L80240388 +/* 877254 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 877258 80240378 3C040002 */ lui $a0, 2 +/* 87725C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 877260 80240380 10400002 */ beqz $v0, .L8024038C +/* 877264 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 877268 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 87726C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 877270 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 877274 80240394 00621821 */ addu $v1, $v1, $v0 +/* 877278 80240398 04610004 */ bgez $v1, .L802403AC +/* 87727C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 877280 802403A0 3C020002 */ lui $v0, 2 +/* 877284 802403A4 080900EF */ j .L802403BC +/* 877288 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 87728C 802403AC 3C040002 */ lui $a0, 2 +/* 877290 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 877294 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 877298 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 87729C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 8772A0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 8772A4 802403C4 0C046F07 */ jal set_main_pan_u +/* 8772A8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8772AC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 8772B0 802403D0 0C046F0D */ jal set_main_pan_v +/* 8772B4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 8772B8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 8772BC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 8772C0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8772C4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 8772C8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 8772CC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8772D0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8772D4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 8772D8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 8772DC 802403FC 03E00008 */ jr $ra +/* 8772E0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_80240404_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_80240404_876EE0.s new file mode 100644 index 0000000000..8ebfbc1d81 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_80240404_876EE0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_8772E4 +/* 8772E4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8772E8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 8772EC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 8772F0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 8772F4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 8772F8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 8772FC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 877300 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 877304 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 877308 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 87730C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 877310 80240430 00000000 */ nop +/* 877314 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 877318 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 87731C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 877320 80240440 04610004 */ bgez $v1, .L80240454 +/* 877324 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 877328 80240448 3C020002 */ lui $v0, 2 +/* 87732C 8024044C 08090119 */ j .L80240464 +/* 877330 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 877334 80240454 3C040002 */ lui $a0, 2 +/* 877338 80240458 0083102A */ slt $v0, $a0, $v1 +/* 87733C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 877340 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 877344 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 877348 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 87734C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 877350 80240470 00000000 */ nop +/* 877354 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 877358 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 87735C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 877360 80240480 04610004 */ bgez $v1, .L80240494 +/* 877364 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 877368 80240488 3C020002 */ lui $v0, 2 +/* 87736C 8024048C 08090129 */ j .L802404A4 +/* 877370 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 877374 80240494 3C040002 */ lui $a0, 2 +/* 877378 80240498 0083102A */ slt $v0, $a0, $v1 +/* 87737C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 877380 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 877384 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 877388 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 87738C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 877390 802404B0 00000000 */ nop +/* 877394 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 877398 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 87739C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 8773A0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 8773A4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8773A8 802404C8 3C020002 */ lui $v0, 2 +/* 8773AC 802404CC 08090139 */ j .L802404E4 +/* 8773B0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 8773B4 802404D4 3C040002 */ lui $a0, 2 +/* 8773B8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 8773BC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 8773C0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 8773C4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 8773C8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 8773CC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 8773D0 802404F0 00000000 */ nop +/* 8773D4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8773D8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 8773DC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8773E0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8773E4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8773E8 80240508 3C020002 */ lui $v0, 2 +/* 8773EC 8024050C 08090149 */ j .L80240524 +/* 8773F0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8773F4 80240514 3C040002 */ lui $a0, 2 +/* 8773F8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8773FC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 877400 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 877404 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 877408 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 87740C 8024052C 0C046F07 */ jal set_main_pan_u +/* 877410 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 877414 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 877418 80240538 0C046F0D */ jal set_main_pan_v +/* 87741C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 877420 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 877424 80240544 0C046F13 */ jal set_aux_pan_u +/* 877428 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 87742C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 877430 80240550 0C046F19 */ jal set_aux_pan_v +/* 877434 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 877438 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 87743C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 877440 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 877444 80240564 24420001 */ addiu $v0, $v0, 1 +/* 877448 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 87744C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 877450 80240570 24630001 */ addiu $v1, $v1, 1 +/* 877454 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 877458 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 87745C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 877460 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 877464 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 877468 80240588 0064182A */ slt $v1, $v1, $a0 +/* 87746C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 877470 80240590 14600002 */ bnez $v1, .L8024059C +/* 877474 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 877478 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 87747C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 877480 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 877484 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 877488 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 87748C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 877490 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 877494 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 877498 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 87749C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 8774A0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 8774A4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 8774A8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8774AC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 8774B0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 8774B4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 8774B8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8774BC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 8774C0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 8774C4 802405E4 03E00008 */ jr $ra +/* 8774C8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8774CC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_06/func_802405F0_876EE0.s b/asm/nonmatchings/world/area_tik/tik_06/func_802405F0_876EE0.s new file mode 100644 index 0000000000..b57bd78fdd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_06/func_802405F0_876EE0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_8774D0 +/* 8774D0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8774D4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8774D8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 8774DC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 8774E0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 8774E4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 8774E8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 8774EC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8774F0 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8774F4 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8774F8 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8774FC 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 877500 80240620 0C0B1EAF */ jal get_variable +/* 877504 80240624 8C450000 */ lw $a1, ($v0) +/* 877508 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 87750C 8024062C 0C00EABB */ jal get_npc_unsafe +/* 877510 80240630 0040802D */ daddu $s0, $v0, $zero +/* 877514 80240634 0200202D */ daddu $a0, $s0, $zero +/* 877518 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 87751C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 877520 80240640 0C046B4C */ jal get_model_from_list_index +/* 877524 80240644 0040202D */ daddu $a0, $v0, $zero +/* 877528 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 87752C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 877530 80240650 0040902D */ daddu $s2, $v0, $zero +/* 877534 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 877538 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 87753C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 877540 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 877544 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 877548 80240668 00000000 */ nop +/* 87754C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 877550 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 877554 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 877558 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 87755C 8024067C 00000000 */ nop +/* 877560 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 877564 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 877568 80240688 44820000 */ mtc1 $v0, $f0 +/* 87756C 8024068C 00000000 */ nop +/* 877570 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 877574 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 877578 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 87757C 8024069C 44810000 */ mtc1 $at, $f0 +/* 877580 802406A0 00000000 */ nop +/* 877584 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 877588 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 87758C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 877590 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 877594 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 877598 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 87759C 802406BC 00000000 */ nop +/* 8775A0 802406C0 45010004 */ bc1t .L802406D4 +/* 8775A4 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 8775A8 802406C8 0C0187BC */ jal sqrtf +/* 8775AC 802406CC 00000000 */ nop +/* 8775B0 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 8775B4 802406D4 44800000 */ mtc1 $zero, $f0 +/* 8775B8 802406D8 00000000 */ nop +/* 8775BC 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 8775C0 802406E0 00000000 */ nop +/* 8775C4 802406E4 45000016 */ bc1f .L80240740 +/* 8775C8 802406E8 46001106 */ mov.s $f4, $f2 +/* 8775CC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 8775D0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 8775D4 802406F4 00000000 */ nop +/* 8775D8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 8775DC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 8775E0 80240700 00000000 */ nop +/* 8775E4 80240704 4500000E */ bc1f .L80240740 +/* 8775E8 80240708 00000000 */ nop +/* 8775EC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 8775F0 80240710 3C013F00 */ lui $at, 0x3f00 +/* 8775F4 80240714 44811000 */ mtc1 $at, $f2 +/* 8775F8 80240718 44820000 */ mtc1 $v0, $f0 +/* 8775FC 8024071C 00000000 */ nop +/* 877600 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 877604 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 877608 80240728 00000000 */ nop +/* 87760C 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 877610 80240730 00000000 */ nop +/* 877614 80240734 45000002 */ bc1f .L80240740 +/* 877618 80240738 24020001 */ addiu $v0, $zero, 1 +/* 87761C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 877620 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 877624 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 877628 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 87762C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 877630 80240750 00000000 */ nop +/* 877634 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 877638 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 87763C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 877640 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 877644 80240764 00000000 */ nop +/* 877648 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 87764C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 877650 80240770 44820000 */ mtc1 $v0, $f0 +/* 877654 80240774 00000000 */ nop +/* 877658 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 87765C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 877660 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 877664 80240784 44810000 */ mtc1 $at, $f0 +/* 877668 80240788 00000000 */ nop +/* 87766C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 877670 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 877674 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 877678 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 87767C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 877680 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 877684 802407A4 00000000 */ nop +/* 877688 802407A8 45010004 */ bc1t .L802407BC +/* 87768C 802407AC 00000000 */ nop +/* 877690 802407B0 0C0187BC */ jal sqrtf +/* 877694 802407B4 00000000 */ nop +/* 877698 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 87769C 802407BC 44800000 */ mtc1 $zero, $f0 +/* 8776A0 802407C0 00000000 */ nop +/* 8776A4 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 8776A8 802407C8 00000000 */ nop +/* 8776AC 802407CC 45000016 */ bc1f .L80240828 +/* 8776B0 802407D0 46001106 */ mov.s $f4, $f2 +/* 8776B4 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 8776B8 802407D8 44820000 */ mtc1 $v0, $f0 +/* 8776BC 802407DC 00000000 */ nop +/* 8776C0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 8776C4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 8776C8 802407E8 00000000 */ nop +/* 8776CC 802407EC 4500000F */ bc1f .L8024082C +/* 8776D0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 8776D4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 8776D8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 8776DC 802407FC 44811000 */ mtc1 $at, $f2 +/* 8776E0 80240800 44820000 */ mtc1 $v0, $f0 +/* 8776E4 80240804 00000000 */ nop +/* 8776E8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 8776EC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 8776F0 80240810 00000000 */ nop +/* 8776F4 80240814 4600203C */ c.lt.s $f4, $f0 +/* 8776F8 80240818 00000000 */ nop +/* 8776FC 8024081C 45000003 */ bc1f .L8024082C +/* 877700 80240820 24020001 */ addiu $v0, $zero, 1 +/* 877704 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 877708 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 87770C 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 877710 80240830 4481D000 */ mtc1 $at, $f26 +/* 877714 80240834 4480C000 */ mtc1 $zero, $f24 +/* 877718 80240838 3C013F00 */ lui $at, 0x3f00 +/* 87771C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 877720 80240840 0C00EAD2 */ jal get_npc_safe +/* 877724 80240844 0220202D */ daddu $a0, $s1, $zero +/* 877728 80240848 0040802D */ daddu $s0, $v0, $zero +/* 87772C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 877730 80240850 26310001 */ addiu $s1, $s1, 1 +/* 877734 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 877738 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87773C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 877740 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 877744 80240864 00000000 */ nop +/* 877748 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87774C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 877750 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 877754 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 877758 80240878 00000000 */ nop +/* 87775C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 877760 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 877764 80240884 44820000 */ mtc1 $v0, $f0 +/* 877768 80240888 00000000 */ nop +/* 87776C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 877770 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 877774 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 877778 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 87777C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 877780 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 877784 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 877788 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 87778C 802408AC 00000000 */ nop +/* 877790 802408B0 45010003 */ bc1t .L802408C0 +/* 877794 802408B4 00000000 */ nop +/* 877798 802408B8 0C0187BC */ jal sqrtf +/* 87779C 802408BC 00000000 */ nop +.L802408C0: +/* 8777A0 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 8777A4 802408C4 00000000 */ nop +/* 8777A8 802408C8 45000015 */ bc1f .L80240920 +/* 8777AC 802408CC 46000106 */ mov.s $f4, $f0 +/* 8777B0 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 8777B4 802408D4 44820000 */ mtc1 $v0, $f0 +/* 8777B8 802408D8 00000000 */ nop +/* 8777BC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 8777C0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 8777C4 802408E4 00000000 */ nop +/* 8777C8 802408E8 4500000E */ bc1f .L80240924 +/* 8777CC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 8777D0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 8777D4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 8777D8 802408F8 00000000 */ nop +/* 8777DC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 8777E0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 8777E4 80240904 00000000 */ nop +/* 8777E8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 8777EC 8024090C 00000000 */ nop +/* 8777F0 80240910 45000004 */ bc1f .L80240924 +/* 8777F4 80240914 24020001 */ addiu $v0, $zero, 1 +/* 8777F8 80240918 0809024C */ j .L80240930 +/* 8777FC 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 877800 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 877804 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 877808 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 87780C 8024092C 00000000 */ nop +.L80240930: +/* 877810 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 877814 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 877818 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 87781C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 877820 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 877824 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 877828 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 87782C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 877830 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 877834 80240954 24020002 */ addiu $v0, $zero, 2 +/* 877838 80240958 03E00008 */ jr $ra +/* 87783C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240000_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240000_879BE0.s new file mode 100644 index 0000000000..dfea6a05d0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240000_879BE0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_879BE0 +/* 879BE0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 879BE4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 879BE8 80240008 8C430004 */ lw $v1, 4($v0) +/* 879BEC 8024000C 3C040010 */ lui $a0, 0x10 +/* 879BF0 80240010 00641825 */ or $v1, $v1, $a0 +/* 879BF4 80240014 AC430004 */ sw $v1, 4($v0) +/* 879BF8 80240018 03E00008 */ jr $ra +/* 879BFC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240020_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240020_879BE0.s new file mode 100644 index 0000000000..d8fca030fa --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240020_879BE0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_879C00 +/* 879C00 80240020 3C028016 */ lui $v0, 0x8016 +/* 879C04 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 879C08 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 879C0C 8024002C 03E00008 */ jr $ra +/* 879C10 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240034_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240034_879BE0.s new file mode 100644 index 0000000000..0581b33952 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240034_879BE0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_879C14 +/* 879C14 80240034 3C038016 */ lui $v1, 0x8016 +/* 879C18 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 879C1C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 879C20 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 879C24 80240044 0080802D */ daddu $s0, $a0, $zero +/* 879C28 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 879C2C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 879C30 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 879C34 80240054 24020002 */ addiu $v0, $zero, 2 +/* 879C38 80240058 08090038 */ j .L802400E0 +/* 879C3C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 879C40 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 879C44 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 879C48 80240068 80620040 */ lb $v0, 0x40($v1) +/* 879C4C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 879C50 80240070 04420001 */ bltzl $v0, .L80240078 +/* 879C54 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 879C58 80240078 14400003 */ bnez $v0, .L80240088 +/* 879C5C 8024007C 00000000 */ nop +/* 879C60 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 879C64 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 879C68 80240088 44822000 */ mtc1 $v0, $f4 +/* 879C6C 8024008C 00000000 */ nop +/* 879C70 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 879C74 80240094 44062000 */ mfc1 $a2, $f4 +/* 879C78 80240098 44872000 */ mtc1 $a3, $f4 +/* 879C7C 8024009C 00000000 */ nop +/* 879C80 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 879C84 802400A4 44806000 */ mtc1 $zero, $f12 +/* 879C88 802400A8 44072000 */ mfc1 $a3, $f4 +/* 879C8C 802400AC 0C00A720 */ jal atan2 +/* 879C90 802400B0 46006386 */ mov.s $f14, $f12 +/* 879C94 802400B4 3C014270 */ lui $at, 0x4270 +/* 879C98 802400B8 44811000 */ mtc1 $at, $f2 +/* 879C9C 802400BC 00000000 */ nop +/* 879CA0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 879CA4 802400C4 00000000 */ nop +/* 879CA8 802400C8 45000004 */ bc1f .L802400DC +/* 879CAC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 879CB0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 879CB4 802400D4 08090038 */ j .L802400E0 +/* 879CB8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 879CBC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 879CC0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 879CC4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 879CC8 802400E8 03E00008 */ jr $ra +/* 879CCC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802400F0_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802400F0_879BE0.s new file mode 100644 index 0000000000..aad002a080 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802400F0_879BE0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_879CD0 +/* 879CD0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 879CD4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 879CD8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 879CDC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 879CE0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 879CE4 80240104 0C016AFA */ jal get_current_map_header +/* 879CE8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 879CEC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 879CF0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 879CF4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 879CF8 80240118 0C0B1EAF */ jal get_variable +/* 879CFC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 879D00 80240120 0220202D */ daddu $a0, $s1, $zero +/* 879D04 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 879D08 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 879D0C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 879D10 80240130 02031821 */ addu $v1, $s0, $v1 +/* 879D14 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 879D18 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 879D1C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 879D20 80240140 0C0B2026 */ jal set_variable +/* 879D24 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 879D28 80240148 0220202D */ daddu $a0, $s1, $zero +/* 879D2C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 879D30 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 879D34 80240154 02021021 */ addu $v0, $s0, $v0 +/* 879D38 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 879D3C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 879D40 80240160 44061000 */ mfc1 $a2, $f2 +/* 879D44 80240164 0C0B2026 */ jal set_variable +/* 879D48 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 879D4C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 879D50 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 879D54 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 879D58 80240178 02021021 */ addu $v0, $s0, $v0 +/* 879D5C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 879D60 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 879D64 80240184 44061000 */ mfc1 $a2, $f2 +/* 879D68 80240188 0C0B2026 */ jal set_variable +/* 879D6C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 879D70 80240190 0220202D */ daddu $a0, $s1, $zero +/* 879D74 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 879D78 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 879D7C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 879D80 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 879D84 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 879D88 802401A8 44061000 */ mfc1 $a2, $f2 +/* 879D8C 802401AC 0C0B2026 */ jal set_variable +/* 879D90 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 879D94 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 879D98 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 879D9C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 879DA0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 879DA4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 879DA8 802401C8 03E00008 */ jr $ra +/* 879DAC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802401D0_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802401D0_879BE0.s new file mode 100644 index 0000000000..dcd63ca07a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802401D0_879BE0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_879DB0 +/* 879DB0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 879DB4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 879DB8 802401D8 3C014334 */ lui $at, 0x4334 +/* 879DBC 802401DC 44816000 */ mtc1 $at, $f12 +/* 879DC0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 879DC4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 879DC8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 879DCC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 879DD0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 879DD4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 879DD8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 879DDC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 879DE0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 879DE4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 879DE8 80240208 3C01800B */ lui $at, 0x800b +/* 879DEC 8024020C 00220821 */ addu $at, $at, $v0 +/* 879DF0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 879DF4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 879DF8 80240218 0C00A6C9 */ jal clamp_angle +/* 879DFC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 879E00 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 879E04 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 879E08 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 879E0C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 879E10 80240230 24020002 */ addiu $v0, $zero, 2 +/* 879E14 80240234 03E00008 */ jr $ra +/* 879E18 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_8024023C_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_8024023C_879BE0.s new file mode 100644 index 0000000000..c35786ab9c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_8024023C_879BE0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_879E1C +/* 879E1C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 879E20 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 879E24 80240244 0080802D */ daddu $s0, $a0, $zero +/* 879E28 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 879E2C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 879E30 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 879E34 80240254 0C0B210B */ jal get_float_variable +/* 879E38 80240258 8C450000 */ lw $a1, ($v0) +/* 879E3C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 879E40 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 879E44 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 879E48 80240268 44060000 */ mfc1 $a2, $f0 +/* 879E4C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 879E50 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 879E54 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 879E58 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 879E5C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 879E60 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 879E64 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 879E68 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 879E6C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 879E70 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 879E74 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 879E78 80240298 0C0B2190 */ jal set_float_variable +/* 879E7C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 879E80 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 879E84 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 879E88 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 879E8C 802402AC 0C0B2190 */ jal set_float_variable +/* 879E90 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 879E94 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 879E98 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 879E9C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 879EA0 802402C0 0C0B2190 */ jal set_float_variable +/* 879EA4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 879EA8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 879EAC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 879EB0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 879EB4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 879EB8 802402D8 03E00008 */ jr $ra +/* 879EBC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802402E0_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802402E0_879BE0.s new file mode 100644 index 0000000000..3d41df8c90 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802402E0_879BE0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_879EC0 +/* 879EC0 802402E0 3C03800A */ lui $v1, %hi(D_8009A650) +/* 879EC4 802402E4 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 879EC8 802402E8 8C620000 */ lw $v0, ($v1) +/* 879ECC 802402EC 34420040 */ ori $v0, $v0, 0x40 +/* 879ED0 802402F0 AC620000 */ sw $v0, ($v1) +/* 879ED4 802402F4 03E00008 */ jr $ra +/* 879ED8 802402F8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802402FC.s b/asm/nonmatchings/world/area_tik/tik_07/func_802402FC.s new file mode 100644 index 0000000000..88b5502677 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802402FC.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402FC +/* 879EDC 802402FC 3C02800A */ lui $v0, %hi(D_8009A650) +/* 879EE0 80240300 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 879EE4 80240304 8C430000 */ lw $v1, ($v0) +/* 879EE8 80240308 2404FFBF */ addiu $a0, $zero, -0x41 +/* 879EEC 8024030C 00641824 */ and $v1, $v1, $a0 +/* 879EF0 80240310 AC430000 */ sw $v1, ($v0) +/* 879EF4 80240314 03E00008 */ jr $ra +/* 879EF8 80240318 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_8024031C.s b/asm/nonmatchings/world/area_tik/tik_07/func_8024031C.s new file mode 100644 index 0000000000..0aa3afadf0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_8024031C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024031C +/* 879EFC 8024031C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 879F00 80240320 AFBF0010 */ sw $ra, 0x10($sp) +/* 879F04 80240324 8C82000C */ lw $v0, 0xc($a0) +/* 879F08 80240328 0C0B1EAF */ jal get_variable +/* 879F0C 8024032C 8C450000 */ lw $a1, ($v0) +/* 879F10 80240330 0C0B95A4 */ jal func_802E5690 +/* 879F14 80240334 0040202D */ daddu $a0, $v0, $zero +/* 879F18 80240338 8FBF0010 */ lw $ra, 0x10($sp) +/* 879F1C 8024033C 24020002 */ addiu $v0, $zero, 2 +/* 879F20 80240340 03E00008 */ jr $ra +/* 879F24 80240344 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240348.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240348.s new file mode 100644 index 0000000000..9386f25cb5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240348.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240348 +/* 879F28 80240348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 879F2C 8024034C AFB00010 */ sw $s0, 0x10($sp) +/* 879F30 80240350 0080802D */ daddu $s0, $a0, $zero +/* 879F34 80240354 AFBF0018 */ sw $ra, 0x18($sp) +/* 879F38 80240358 AFB10014 */ sw $s1, 0x14($sp) +/* 879F3C 8024035C 8E11000C */ lw $s1, 0xc($s0) +/* 879F40 80240360 8E250000 */ lw $a1, ($s1) +/* 879F44 80240364 0C0B1EAF */ jal get_variable +/* 879F48 80240368 26310004 */ addiu $s1, $s1, 4 +/* 879F4C 8024036C 0200202D */ daddu $a0, $s0, $zero +/* 879F50 80240370 3C038011 */ lui $v1, %hi(gPlayerData) +/* 879F54 80240374 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 879F58 80240378 000210C0 */ sll $v0, $v0, 3 +/* 879F5C 8024037C 00431021 */ addu $v0, $v0, $v1 +/* 879F60 80240380 90460015 */ lbu $a2, 0x15($v0) +/* 879F64 80240384 8E250000 */ lw $a1, ($s1) +/* 879F68 80240388 24C60001 */ addiu $a2, $a2, 1 +/* 879F6C 8024038C A0460015 */ sb $a2, 0x15($v0) +/* 879F70 80240390 00063600 */ sll $a2, $a2, 0x18 +/* 879F74 80240394 0C0B2026 */ jal set_variable +/* 879F78 80240398 00063603 */ sra $a2, $a2, 0x18 +/* 879F7C 8024039C 8FBF0018 */ lw $ra, 0x18($sp) +/* 879F80 802403A0 8FB10014 */ lw $s1, 0x14($sp) +/* 879F84 802403A4 8FB00010 */ lw $s0, 0x10($sp) +/* 879F88 802403A8 24020002 */ addiu $v0, $zero, 2 +/* 879F8C 802403AC 03E00008 */ jr $ra +/* 879F90 802403B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802403B4.s b/asm/nonmatchings/world/area_tik/tik_07/func_802403B4.s new file mode 100644 index 0000000000..febebd1968 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802403B4.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B4 +/* 879F94 802403B4 3C028011 */ lui $v0, %hi(gPlayerData) +/* 879F98 802403B8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 879F9C 802403BC 000420C0 */ sll $a0, $a0, 3 +/* 879FA0 802403C0 00822021 */ addu $a0, $a0, $v0 +/* 879FA4 802403C4 90820014 */ lbu $v0, 0x14($a0) +/* 879FA8 802403C8 10400009 */ beqz $v0, .L802403F0 +/* 879FAC 802403CC 00000000 */ nop +/* 879FB0 802403D0 90820015 */ lbu $v0, 0x15($a0) +/* 879FB4 802403D4 00022600 */ sll $a0, $v0, 0x18 +/* 879FB8 802403D8 00041E03 */ sra $v1, $a0, 0x18 +/* 879FBC 802403DC 00051400 */ sll $v0, $a1, 0x10 +/* 879FC0 802403E0 00021403 */ sra $v0, $v0, 0x10 +/* 879FC4 802403E4 0043102A */ slt $v0, $v0, $v1 +/* 879FC8 802403E8 10400003 */ beqz $v0, .L802403F8 +/* 879FCC 802403EC 00000000 */ nop +.L802403F0: +/* 879FD0 802403F0 03E00008 */ jr $ra +/* 879FD4 802403F4 2402FFFF */ addiu $v0, $zero, -1 +.L802403F8: +/* 879FD8 802403F8 03E00008 */ jr $ra +/* 879FDC 802403FC 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240400.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240400.s new file mode 100644 index 0000000000..4b4ad42a69 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240400.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240400 +/* 879FE0 80240400 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 879FE4 80240404 AFB3001C */ sw $s3, 0x1c($sp) +/* 879FE8 80240408 0080982D */ daddu $s3, $a0, $zero +/* 879FEC 8024040C AFB00010 */ sw $s0, 0x10($sp) +/* 879FF0 80240410 24100001 */ addiu $s0, $zero, 1 +/* 879FF4 80240414 AFB40020 */ sw $s4, 0x20($sp) +/* 879FF8 80240418 2414FFFF */ addiu $s4, $zero, -1 +/* 879FFC 8024041C AFB50024 */ sw $s5, 0x24($sp) +/* 87A000 80240420 0200A82D */ daddu $s5, $s0, $zero +/* 87A004 80240424 AFB10014 */ sw $s1, 0x14($sp) +/* 87A008 80240428 3C118011 */ lui $s1, 0x8011 +/* 87A00C 8024042C 2631F298 */ addiu $s1, $s1, -0xd68 +/* 87A010 80240430 AFBF0028 */ sw $ra, 0x28($sp) +/* 87A014 80240434 AFB20018 */ sw $s2, 0x18($sp) +/* 87A018 80240438 8E6200B4 */ lw $v0, 0xb4($s3) +/* 87A01C 8024043C 0280182D */ daddu $v1, $s4, $zero +/* 87A020 80240440 AE630084 */ sw $v1, 0x84($s3) +/* 87A024 80240444 00021027 */ nor $v0, $zero, $v0 +/* 87A028 80240448 000217C2 */ srl $v0, $v0, 0x1f +/* 87A02C 8024044C 00029400 */ sll $s2, $v0, 0x10 +.L80240450: +/* 87A030 80240450 92220014 */ lbu $v0, 0x14($s1) +/* 87A034 80240454 50400008 */ beql $v0, $zero, .L80240478 +/* 87A038 80240458 26100001 */ addiu $s0, $s0, 1 +/* 87A03C 8024045C 0200202D */ daddu $a0, $s0, $zero +/* 87A040 80240460 0C0900ED */ jal func_802403B4 +/* 87A044 80240464 00122C03 */ sra $a1, $s2, 0x10 +/* 87A048 80240468 10540003 */ beq $v0, $s4, .L80240478 +/* 87A04C 8024046C 26100001 */ addiu $s0, $s0, 1 +/* 87A050 80240470 08090121 */ j .L80240484 +/* 87A054 80240474 AE750084 */ sw $s5, 0x84($s3) +.L80240478: +/* 87A058 80240478 2A02000C */ slti $v0, $s0, 0xc +/* 87A05C 8024047C 1440FFF4 */ bnez $v0, .L80240450 +/* 87A060 80240480 26310008 */ addiu $s1, $s1, 8 +.L80240484: +/* 87A064 80240484 8FBF0028 */ lw $ra, 0x28($sp) +/* 87A068 80240488 8FB50024 */ lw $s5, 0x24($sp) +/* 87A06C 8024048C 8FB40020 */ lw $s4, 0x20($sp) +/* 87A070 80240490 8FB3001C */ lw $s3, 0x1c($sp) +/* 87A074 80240494 8FB20018 */ lw $s2, 0x18($sp) +/* 87A078 80240498 8FB10014 */ lw $s1, 0x14($sp) +/* 87A07C 8024049C 8FB00010 */ lw $s0, 0x10($sp) +/* 87A080 802404A0 24020002 */ addiu $v0, $zero, 2 +/* 87A084 802404A4 03E00008 */ jr $ra +/* 87A088 802404A8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802404AC.s b/asm/nonmatchings/world/area_tik/tik_07/func_802404AC.s new file mode 100644 index 0000000000..e63d03d8ec --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802404AC.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404AC +/* 87A08C 802404AC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 87A090 802404B0 AFB5002C */ sw $s5, 0x2c($sp) +/* 87A094 802404B4 0080A82D */ daddu $s5, $a0, $zero +/* 87A098 802404B8 AFBE0038 */ sw $fp, 0x38($sp) +/* 87A09C 802404BC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 87A0A0 802404C0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 87A0A4 802404C4 AFBF003C */ sw $ra, 0x3c($sp) +/* 87A0A8 802404C8 AFB70034 */ sw $s7, 0x34($sp) +/* 87A0AC 802404CC AFB60030 */ sw $s6, 0x30($sp) +/* 87A0B0 802404D0 AFB40028 */ sw $s4, 0x28($sp) +/* 87A0B4 802404D4 AFB30024 */ sw $s3, 0x24($sp) +/* 87A0B8 802404D8 AFB20020 */ sw $s2, 0x20($sp) +/* 87A0BC 802404DC AFB1001C */ sw $s1, 0x1c($sp) +/* 87A0C0 802404E0 10A0004F */ beqz $a1, .L80240620 +/* 87A0C4 802404E4 AFB00018 */ sw $s0, 0x18($sp) +/* 87A0C8 802404E8 0C00AB39 */ jal heap_malloc +/* 87A0CC 802404EC 24040330 */ addiu $a0, $zero, 0x330 +/* 87A0D0 802404F0 0040982D */ daddu $s3, $v0, $zero +/* 87A0D4 802404F4 0000B02D */ daddu $s6, $zero, $zero +/* 87A0D8 802404F8 02C0902D */ daddu $s2, $s6, $zero +/* 87A0DC 802404FC 3C148024 */ lui $s4, 0x8024 +/* 87A0E0 80240500 269439F8 */ addiu $s4, $s4, 0x39f8 +/* 87A0E4 80240504 0260882D */ daddu $s1, $s3, $zero +/* 87A0E8 80240508 8EA200B4 */ lw $v0, 0xb4($s5) +/* 87A0EC 8024050C 3C038024 */ lui $v1, 0x8024 +/* 87A0F0 80240510 246339F0 */ addiu $v1, $v1, 0x39f0 +/* 87A0F4 80240514 AEB30078 */ sw $s3, 0x78($s5) +/* 87A0F8 80240518 00021027 */ nor $v0, $zero, $v0 +/* 87A0FC 8024051C 0002BFC2 */ srl $s7, $v0, 0x1f +/* 87A100 80240520 00171080 */ sll $v0, $s7, 2 +/* 87A104 80240524 00431021 */ addu $v0, $v0, $v1 +/* 87A108 80240528 AFA20010 */ sw $v0, 0x10($sp) +.L8024052C: +/* 87A10C 8024052C 86900000 */ lh $s0, ($s4) +/* 87A110 80240530 001010C0 */ sll $v0, $s0, 3 +/* 87A114 80240534 03C21021 */ addu $v0, $fp, $v0 +/* 87A118 80240538 90420014 */ lbu $v0, 0x14($v0) +/* 87A11C 8024053C 5040002E */ beql $v0, $zero, .L802405F8 +/* 87A120 80240540 26520001 */ addiu $s2, $s2, 1 +/* 87A124 80240544 00101100 */ sll $v0, $s0, 4 +/* 87A128 80240548 3C068009 */ lui $a2, 0x8009 +/* 87A12C 8024054C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 87A130 80240550 00461021 */ addu $v0, $v0, $a2 +/* 87A134 80240554 0200202D */ daddu $a0, $s0, $zero +/* 87A138 80240558 AE300108 */ sw $s0, 0x108($s1) +/* 87A13C 8024055C 8C420000 */ lw $v0, ($v0) +/* 87A140 80240560 02E0282D */ daddu $a1, $s7, $zero +/* 87A144 80240564 0C0900ED */ jal func_802403B4 +/* 87A148 80240568 AE220084 */ sw $v0, 0x84($s1) +/* 87A14C 8024056C 0040202D */ daddu $a0, $v0, $zero +/* 87A150 80240570 04800011 */ bltz $a0, .L802405B8 +/* 87A154 80240574 00101080 */ sll $v0, $s0, 2 +/* 87A158 80240578 3C06800F */ lui $a2, 0x800f +/* 87A15C 8024057C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 87A160 80240580 00461021 */ addu $v0, $v0, $a2 +/* 87A164 80240584 8C430000 */ lw $v1, ($v0) +/* 87A168 80240588 24020001 */ addiu $v0, $zero, 1 +/* 87A16C 8024058C AE22018C */ sw $v0, 0x18c($s1) +/* 87A170 80240590 00041080 */ sll $v0, $a0, 2 +/* 87A174 80240594 3C068024 */ lui $a2, 0x8024 +/* 87A178 80240598 24C63A08 */ addiu $a2, $a2, 0x3a08 +/* 87A17C 8024059C AE230000 */ sw $v1, ($s1) +/* 87A180 802405A0 001218C0 */ sll $v1, $s2, 3 +/* 87A184 802405A4 00431021 */ addu $v0, $v0, $v1 +/* 87A188 802405A8 00461021 */ addu $v0, $v0, $a2 +/* 87A18C 802405AC 8C420000 */ lw $v0, ($v0) +/* 87A190 802405B0 08090177 */ j .L802405DC +/* 87A194 802405B4 AE220294 */ sw $v0, 0x294($s1) +.L802405B8: +/* 87A198 802405B8 3C06800F */ lui $a2, 0x800f +/* 87A19C 802405BC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 87A1A0 802405C0 00461021 */ addu $v0, $v0, $a2 +/* 87A1A4 802405C4 8C420000 */ lw $v0, ($v0) +/* 87A1A8 802405C8 AE20018C */ sw $zero, 0x18c($s1) +/* 87A1AC 802405CC AE220000 */ sw $v0, ($s1) +/* 87A1B0 802405D0 8FA60010 */ lw $a2, 0x10($sp) +/* 87A1B4 802405D4 8CC20000 */ lw $v0, ($a2) +/* 87A1B8 802405D8 AE220294 */ sw $v0, 0x294($s1) +.L802405DC: +/* 87A1BC 802405DC 001010C0 */ sll $v0, $s0, 3 +/* 87A1C0 802405E0 03C21021 */ addu $v0, $fp, $v0 +/* 87A1C4 802405E4 80420015 */ lb $v0, 0x15($v0) +/* 87A1C8 802405E8 26D60001 */ addiu $s6, $s6, 1 +/* 87A1CC 802405EC AE220210 */ sw $v0, 0x210($s1) +/* 87A1D0 802405F0 26310004 */ addiu $s1, $s1, 4 +/* 87A1D4 802405F4 26520001 */ addiu $s2, $s2, 1 +.L802405F8: +/* 87A1D8 802405F8 2A420008 */ slti $v0, $s2, 8 +/* 87A1DC 802405FC 1440FFCB */ bnez $v0, .L8024052C +/* 87A1E0 80240600 26940002 */ addiu $s4, $s4, 2 +/* 87A1E4 80240604 0260202D */ daddu $a0, $s3, $zero +/* 87A1E8 80240608 24020004 */ addiu $v0, $zero, 4 +/* 87A1EC 8024060C AC820318 */ sw $v0, 0x318($a0) +/* 87A1F0 80240610 AC960324 */ sw $s6, 0x324($a0) +/* 87A1F4 80240614 0C03D390 */ jal func_800F4E40 +/* 87A1F8 80240618 AC800328 */ sw $zero, 0x328($a0) +/* 87A1FC 8024061C AEA00070 */ sw $zero, 0x70($s5) +.L80240620: +/* 87A200 80240620 8EA20070 */ lw $v0, 0x70($s5) +/* 87A204 80240624 8EB30078 */ lw $s3, 0x78($s5) +/* 87A208 80240628 14400008 */ bnez $v0, .L8024064C +/* 87A20C 8024062C 24420001 */ addiu $v0, $v0, 1 +/* 87A210 80240630 8662032C */ lh $v0, 0x32c($s3) +/* 87A214 80240634 10400009 */ beqz $v0, .L8024065C +/* 87A218 80240638 AEA20074 */ sw $v0, 0x74($s5) +/* 87A21C 8024063C 0C03C4EC */ jal func_800F13B0 +/* 87A220 80240640 00000000 */ nop +/* 87A224 80240644 8EA20070 */ lw $v0, 0x70($s5) +/* 87A228 80240648 24420001 */ addiu $v0, $v0, 1 +.L8024064C: +/* 87A22C 8024064C AEA20070 */ sw $v0, 0x70($s5) +/* 87A230 80240650 2842000F */ slti $v0, $v0, 0xf +/* 87A234 80240654 10400003 */ beqz $v0, .L80240664 +/* 87A238 80240658 00000000 */ nop +.L8024065C: +/* 87A23C 8024065C 080901B3 */ j .L802406CC +/* 87A240 80240660 0000102D */ daddu $v0, $zero, $zero +.L80240664: +/* 87A244 80240664 0C03C54E */ jal func_800F1538 +/* 87A248 80240668 00000000 */ nop +/* 87A24C 8024066C 8EA30074 */ lw $v1, 0x74($s5) +/* 87A250 80240670 240200FF */ addiu $v0, $zero, 0xff +/* 87A254 80240674 10620010 */ beq $v1, $v0, .L802406B8 +/* 87A258 80240678 2462FFFF */ addiu $v0, $v1, -1 +/* 87A25C 8024067C 00021080 */ sll $v0, $v0, 2 +/* 87A260 80240680 02621021 */ addu $v0, $s3, $v0 +/* 87A264 80240684 8C420108 */ lw $v0, 0x108($v0) +/* 87A268 80240688 00021100 */ sll $v0, $v0, 4 +/* 87A26C 8024068C 3C038009 */ lui $v1, 0x8009 +/* 87A270 80240690 00621821 */ addu $v1, $v1, $v0 +/* 87A274 80240694 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 87A278 80240698 8EA20074 */ lw $v0, 0x74($s5) +/* 87A27C 8024069C 2442FFFF */ addiu $v0, $v0, -1 +/* 87A280 802406A0 00021080 */ sll $v0, $v0, 2 +/* 87A284 802406A4 02621021 */ addu $v0, $s3, $v0 +/* 87A288 802406A8 AEA30084 */ sw $v1, 0x84($s5) +/* 87A28C 802406AC 8C420108 */ lw $v0, 0x108($v0) +/* 87A290 802406B0 080901B0 */ j .L802406C0 +/* 87A294 802406B4 AEA20088 */ sw $v0, 0x88($s5) +.L802406B8: +/* 87A298 802406B8 2402FFFF */ addiu $v0, $zero, -1 +/* 87A29C 802406BC AEA20084 */ sw $v0, 0x84($s5) +.L802406C0: +/* 87A2A0 802406C0 0C00AB4B */ jal heap_free +/* 87A2A4 802406C4 8EA40078 */ lw $a0, 0x78($s5) +/* 87A2A8 802406C8 24020002 */ addiu $v0, $zero, 2 +.L802406CC: +/* 87A2AC 802406CC 8FBF003C */ lw $ra, 0x3c($sp) +/* 87A2B0 802406D0 8FBE0038 */ lw $fp, 0x38($sp) +/* 87A2B4 802406D4 8FB70034 */ lw $s7, 0x34($sp) +/* 87A2B8 802406D8 8FB60030 */ lw $s6, 0x30($sp) +/* 87A2BC 802406DC 8FB5002C */ lw $s5, 0x2c($sp) +/* 87A2C0 802406E0 8FB40028 */ lw $s4, 0x28($sp) +/* 87A2C4 802406E4 8FB30024 */ lw $s3, 0x24($sp) +/* 87A2C8 802406E8 8FB20020 */ lw $s2, 0x20($sp) +/* 87A2CC 802406EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 87A2D0 802406F0 8FB00018 */ lw $s0, 0x18($sp) +/* 87A2D4 802406F4 03E00008 */ jr $ra +/* 87A2D8 802406F8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802406FC.s b/asm/nonmatchings/world/area_tik/tik_07/func_802406FC.s new file mode 100644 index 0000000000..b20032c6e7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802406FC.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406FC +/* 87A2DC 802406FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87A2E0 80240700 AFBF0010 */ sw $ra, 0x10($sp) +/* 87A2E4 80240704 8C82000C */ lw $v0, 0xc($a0) +/* 87A2E8 80240708 0C0B1EAF */ jal get_variable +/* 87A2EC 8024070C 8C450000 */ lw $a1, ($v0) +/* 87A2F0 80240710 0C03AC5A */ jal func_800EB168 +/* 87A2F4 80240714 0040202D */ daddu $a0, $v0, $zero +/* 87A2F8 80240718 8FBF0010 */ lw $ra, 0x10($sp) +/* 87A2FC 8024071C 24020002 */ addiu $v0, $zero, 2 +/* 87A300 80240720 03E00008 */ jr $ra +/* 87A304 80240724 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240728.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240728.s new file mode 100644 index 0000000000..f7a44fa2f0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240728.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240728 +/* 87A308 80240728 3C028011 */ lui $v0, 0x8011 +/* 87A30C 8024072C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 87A310 80240730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87A314 80240734 AFBF0010 */ sw $ra, 0x10($sp) +/* 87A318 80240738 00021100 */ sll $v0, $v0, 4 +/* 87A31C 8024073C 3C048009 */ lui $a0, 0x8009 +/* 87A320 80240740 00822021 */ addu $a0, $a0, $v0 +/* 87A324 80240744 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 87A328 80240748 0C0496CF */ jal set_message_string +/* 87A32C 8024074C 0000282D */ daddu $a1, $zero, $zero +/* 87A330 80240750 8FBF0010 */ lw $ra, 0x10($sp) +/* 87A334 80240754 24020002 */ addiu $v0, $zero, 2 +/* 87A338 80240758 03E00008 */ jr $ra +/* 87A33C 8024075C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240760.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240760.s new file mode 100644 index 0000000000..c137f59d5e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240760.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240760 +/* 87A340 80240760 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 87A344 80240764 AFB1001C */ sw $s1, 0x1c($sp) +/* 87A348 80240768 0080882D */ daddu $s1, $a0, $zero +/* 87A34C 8024076C AFBF0020 */ sw $ra, 0x20($sp) +/* 87A350 80240770 AFB00018 */ sw $s0, 0x18($sp) +/* 87A354 80240774 8E30000C */ lw $s0, 0xc($s1) +/* 87A358 80240778 8E050000 */ lw $a1, ($s0) +/* 87A35C 8024077C 0C0B1EAF */ jal get_variable +/* 87A360 80240780 26100004 */ addiu $s0, $s0, 4 +/* 87A364 80240784 0C04417A */ jal get_entity_by_index +/* 87A368 80240788 0040202D */ daddu $a0, $v0, $zero +/* 87A36C 8024078C 8E100000 */ lw $s0, ($s0) +/* 87A370 80240790 C444004C */ lwc1 $f4, 0x4c($v0) +/* 87A374 80240794 3C014148 */ lui $at, 0x4148 +/* 87A378 80240798 44810000 */ mtc1 $at, $f0 +/* 87A37C 8024079C 3C013F33 */ lui $at, 0x3f33 +/* 87A380 802407A0 34213333 */ ori $at, $at, 0x3333 +/* 87A384 802407A4 44811000 */ mtc1 $at, $f2 +/* 87A388 802407A8 AFA00014 */ sw $zero, 0x14($sp) +/* 87A38C 802407AC 46002100 */ add.s $f4, $f4, $f0 +/* 87A390 802407B0 E7A20010 */ swc1 $f2, 0x10($sp) +/* 87A394 802407B4 8C450048 */ lw $a1, 0x48($v0) +/* 87A398 802407B8 8C470050 */ lw $a3, 0x50($v0) +/* 87A39C 802407BC 44062000 */ mfc1 $a2, $f4 +/* 87A3A0 802407C0 0C01C5D4 */ jal func_80071750 +/* 87A3A4 802407C4 0000202D */ daddu $a0, $zero, $zero +/* 87A3A8 802407C8 0220202D */ daddu $a0, $s1, $zero +/* 87A3AC 802407CC 0200282D */ daddu $a1, $s0, $zero +/* 87A3B0 802407D0 0C0B2026 */ jal set_variable +/* 87A3B4 802407D4 0040302D */ daddu $a2, $v0, $zero +/* 87A3B8 802407D8 8FBF0020 */ lw $ra, 0x20($sp) +/* 87A3BC 802407DC 8FB1001C */ lw $s1, 0x1c($sp) +/* 87A3C0 802407E0 8FB00018 */ lw $s0, 0x18($sp) +/* 87A3C4 802407E4 24020002 */ addiu $v0, $zero, 2 +/* 87A3C8 802407E8 03E00008 */ jr $ra +/* 87A3CC 802407EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802407F0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802407F0.s new file mode 100644 index 0000000000..f9ee4f8920 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802407F0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F0 +/* 87A3D0 802407F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87A3D4 802407F4 AFBF0010 */ sw $ra, 0x10($sp) +/* 87A3D8 802407F8 8C82000C */ lw $v0, 0xc($a0) +/* 87A3DC 802407FC 0C0B1EAF */ jal get_variable +/* 87A3E0 80240800 8C450000 */ lw $a1, ($v0) +/* 87A3E4 80240804 0040202D */ daddu $a0, $v0, $zero +/* 87A3E8 80240808 8C830000 */ lw $v1, ($a0) +/* 87A3EC 8024080C 34630010 */ ori $v1, $v1, 0x10 +/* 87A3F0 80240810 AC830000 */ sw $v1, ($a0) +/* 87A3F4 80240814 8FBF0010 */ lw $ra, 0x10($sp) +/* 87A3F8 80240818 24020002 */ addiu $v0, $zero, 2 +/* 87A3FC 8024081C 03E00008 */ jr $ra +/* 87A400 80240820 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240824.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240824.s new file mode 100644 index 0000000000..e480c35a30 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240824.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240824 +/* 87A404 80240824 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87A408 80240828 AFBF0018 */ sw $ra, 0x18($sp) +/* 87A40C 8024082C 8C82000C */ lw $v0, 0xc($a0) +/* 87A410 80240830 0C0B1EAF */ jal get_variable +/* 87A414 80240834 8C450000 */ lw $a1, ($v0) +/* 87A418 80240838 0C04417A */ jal get_entity_by_index +/* 87A41C 8024083C 0040202D */ daddu $a0, $v0, $zero +/* 87A420 80240840 3C013F80 */ lui $at, 0x3f80 +/* 87A424 80240844 44810000 */ mtc1 $at, $f0 +/* 87A428 80240848 C442004C */ lwc1 $f2, 0x4c($v0) +/* 87A42C 8024084C E7A00010 */ swc1 $f0, 0x10($sp) +/* 87A430 80240850 3C014148 */ lui $at, 0x4148 +/* 87A434 80240854 44810000 */ mtc1 $at, $f0 +/* 87A438 80240858 2403004B */ addiu $v1, $zero, 0x4b +/* 87A43C 8024085C AFA30014 */ sw $v1, 0x14($sp) +/* 87A440 80240860 46001080 */ add.s $f2, $f2, $f0 +/* 87A444 80240864 8C450048 */ lw $a1, 0x48($v0) +/* 87A448 80240868 8C470050 */ lw $a3, 0x50($v0) +/* 87A44C 8024086C 44061000 */ mfc1 $a2, $f2 +/* 87A450 80240870 0C01C2EC */ jal func_80070BB0 +/* 87A454 80240874 24040004 */ addiu $a0, $zero, 4 +/* 87A458 80240878 8FBF0018 */ lw $ra, 0x18($sp) +/* 87A45C 8024087C 24020002 */ addiu $v0, $zero, 2 +/* 87A460 80240880 03E00008 */ jr $ra +/* 87A464 80240884 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240888.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240888.s new file mode 100644 index 0000000000..78332494b4 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240888.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240888 +/* 87A468 80240888 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87A46C 8024088C AFBF0018 */ sw $ra, 0x18($sp) +/* 87A470 80240890 0C00EAD2 */ jal get_npc_safe +/* 87A474 80240894 2404FFFC */ addiu $a0, $zero, -4 +/* 87A478 80240898 C444003C */ lwc1 $f4, 0x3c($v0) +/* 87A47C 8024089C 3C014148 */ lui $at, 0x4148 +/* 87A480 802408A0 44811000 */ mtc1 $at, $f2 +/* 87A484 802408A4 3C013F80 */ lui $at, 0x3f80 +/* 87A488 802408A8 44810000 */ mtc1 $at, $f0 +/* 87A48C 802408AC 2403001E */ addiu $v1, $zero, 0x1e +/* 87A490 802408B0 AFA30014 */ sw $v1, 0x14($sp) +/* 87A494 802408B4 46022100 */ add.s $f4, $f4, $f2 +/* 87A498 802408B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87A49C 802408BC 8C450038 */ lw $a1, 0x38($v0) +/* 87A4A0 802408C0 8C470040 */ lw $a3, 0x40($v0) +/* 87A4A4 802408C4 44062000 */ mfc1 $a2, $f4 +/* 87A4A8 802408C8 0C01C2EC */ jal func_80070BB0 +/* 87A4AC 802408CC 24040009 */ addiu $a0, $zero, 9 +/* 87A4B0 802408D0 8FBF0018 */ lw $ra, 0x18($sp) +/* 87A4B4 802408D4 24020002 */ addiu $v0, $zero, 2 +/* 87A4B8 802408D8 03E00008 */ jr $ra +/* 87A4BC 802408DC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802408E0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802408E0.s new file mode 100644 index 0000000000..d779018e29 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802408E0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408E0 +/* 87A4C0 802408E0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 87A4C4 802408E4 AFB60040 */ sw $s6, 0x40($sp) +/* 87A4C8 802408E8 0080B02D */ daddu $s6, $a0, $zero +/* 87A4CC 802408EC AFB00028 */ sw $s0, 0x28($sp) +/* 87A4D0 802408F0 00A0802D */ daddu $s0, $a1, $zero +/* 87A4D4 802408F4 AFBF0044 */ sw $ra, 0x44($sp) +/* 87A4D8 802408F8 AFB5003C */ sw $s5, 0x3c($sp) +/* 87A4DC 802408FC AFB40038 */ sw $s4, 0x38($sp) +/* 87A4E0 80240900 AFB30034 */ sw $s3, 0x34($sp) +/* 87A4E4 80240904 AFB20030 */ sw $s2, 0x30($sp) +/* 87A4E8 80240908 AFB1002C */ sw $s1, 0x2c($sp) +/* 87A4EC 8024090C F7B80058 */ sdc1 $f24, 0x58($sp) +/* 87A4F0 80240910 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 87A4F4 80240914 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 87A4F8 80240918 8ED3000C */ lw $s3, 0xc($s6) +/* 87A4FC 8024091C 0C00EAD2 */ jal get_npc_safe +/* 87A500 80240920 2404FFFC */ addiu $a0, $zero, -4 +/* 87A504 80240924 27A50018 */ addiu $a1, $sp, 0x18 +/* 87A508 80240928 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 87A50C 8024092C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 87A510 80240930 27A6001C */ addiu $a2, $sp, 0x1c +/* 87A514 80240934 00041880 */ sll $v1, $a0, 2 +/* 87A518 80240938 00641821 */ addu $v1, $v1, $a0 +/* 87A51C 8024093C 00031880 */ sll $v1, $v1, 2 +/* 87A520 80240940 00641823 */ subu $v1, $v1, $a0 +/* 87A524 80240944 000320C0 */ sll $a0, $v1, 3 +/* 87A528 80240948 00641821 */ addu $v1, $v1, $a0 +/* 87A52C 8024094C 000318C0 */ sll $v1, $v1, 3 +/* 87A530 80240950 3C01800B */ lui $at, 0x800b +/* 87A534 80240954 00230821 */ addu $at, $at, $v1 +/* 87A538 80240958 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 87A53C 8024095C 0C00A88D */ jal sin_cos_deg +/* 87A540 80240960 0040A82D */ daddu $s5, $v0, $zero +/* 87A544 80240964 1200005D */ beqz $s0, .L80240ADC +/* 87A548 80240968 00000000 */ nop +/* 87A54C 8024096C 0C00AB0A */ jal general_heap_malloc +/* 87A550 80240970 24040068 */ addiu $a0, $zero, 0x68 +/* 87A554 80240974 0040902D */ daddu $s2, $v0, $zero +/* 87A558 80240978 02C0202D */ daddu $a0, $s6, $zero +/* 87A55C 8024097C 0000882D */ daddu $s1, $zero, $zero +/* 87A560 80240980 2414FFFF */ addiu $s4, $zero, -1 +/* 87A564 80240984 AED20060 */ sw $s2, 0x60($s6) +/* 87A568 80240988 8E650000 */ lw $a1, ($s3) +/* 87A56C 8024098C 3C014148 */ lui $at, 0x4148 +/* 87A570 80240990 4481C000 */ mtc1 $at, $f24 +/* 87A574 80240994 3C013F80 */ lui $at, 0x3f80 +/* 87A578 80240998 4481B000 */ mtc1 $at, $f22 +/* 87A57C 8024099C 4480A000 */ mtc1 $zero, $f20 +/* 87A580 802409A0 0C0B1EAF */ jal get_variable +/* 87A584 802409A4 0240802D */ daddu $s0, $s2, $zero +/* 87A588 802409A8 0C04417A */ jal get_entity_by_index +/* 87A58C 802409AC 0040202D */ daddu $a0, $v0, $zero +/* 87A590 802409B0 AE42005C */ sw $v0, 0x5c($s2) +.L802409B4: +/* 87A594 802409B4 8E42005C */ lw $v0, 0x5c($s2) +/* 87A598 802409B8 C440004C */ lwc1 $f0, 0x4c($v0) +/* 87A59C 802409BC 0000202D */ daddu $a0, $zero, $zero +/* 87A5A0 802409C0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 87A5A4 802409C4 AFB40014 */ sw $s4, 0x14($sp) +/* 87A5A8 802409C8 46180000 */ add.s $f0, $f0, $f24 +/* 87A5AC 802409CC 8C450048 */ lw $a1, 0x48($v0) +/* 87A5B0 802409D0 8C470050 */ lw $a3, 0x50($v0) +/* 87A5B4 802409D4 44060000 */ mfc1 $a2, $f0 +/* 87A5B8 802409D8 0C01C5BC */ jal func_800716F0 +/* 87A5BC 802409DC 26310001 */ addiu $s1, $s1, 1 +/* 87A5C0 802409E0 AE020008 */ sw $v0, 8($s0) +/* 87A5C4 802409E4 E614002C */ swc1 $f20, 0x2c($s0) +/* 87A5C8 802409E8 E6140020 */ swc1 $f20, 0x20($s0) +/* 87A5CC 802409EC E6140014 */ swc1 $f20, 0x14($s0) +/* 87A5D0 802409F0 E6140050 */ swc1 $f20, 0x50($s0) +/* 87A5D4 802409F4 E6140044 */ swc1 $f20, 0x44($s0) +/* 87A5D8 802409F8 E6140038 */ swc1 $f20, 0x38($s0) +/* 87A5DC 802409FC 2A220003 */ slti $v0, $s1, 3 +/* 87A5E0 80240A00 1440FFEC */ bnez $v0, .L802409B4 +/* 87A5E4 80240A04 26100004 */ addiu $s0, $s0, 4 +/* 87A5E8 80240A08 0000882D */ daddu $s1, $zero, $zero +/* 87A5EC 80240A0C 0240802D */ daddu $s0, $s2, $zero +/* 87A5F0 80240A10 3C148024 */ lui $s4, 0x8024 +/* 87A5F4 80240A14 26943A48 */ addiu $s4, $s4, 0x3a48 +/* 87A5F8 80240A18 3C014248 */ lui $at, 0x4248 +/* 87A5FC 80240A1C 4481A000 */ mtc1 $at, $f20 +/* 87A600 80240A20 24130044 */ addiu $s3, $zero, 0x44 +/* 87A604 80240A24 AE400000 */ sw $zero, ($s2) +/* 87A608 80240A28 AE400004 */ sw $zero, 4($s2) +/* 87A60C 80240A2C AE400060 */ sw $zero, 0x60($s2) +/* 87A610 80240A30 AE400064 */ sw $zero, 0x64($s2) +.L80240A34: +/* 87A614 80240A34 27A40020 */ addiu $a0, $sp, 0x20 +/* 87A618 80240A38 4406A000 */ mfc1 $a2, $f20 +/* 87A61C 80240A3C 8E870000 */ lw $a3, ($s4) +/* 87A620 80240A40 02532821 */ addu $a1, $s2, $s3 +/* 87A624 80240A44 0C00A7E7 */ jal add_vec2D_polar +/* 87A628 80240A48 AFA00020 */ sw $zero, 0x20($sp) +/* 87A62C 80240A4C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 87A630 80240A50 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 87A634 80240A54 46041082 */ mul.s $f2, $f2, $f4 +/* 87A638 80240A58 00000000 */ nop +/* 87A63C 80240A5C C7A00018 */ lwc1 $f0, 0x18($sp) +/* 87A640 80240A60 46040002 */ mul.s $f0, $f0, $f4 +/* 87A644 80240A64 00000000 */ nop +/* 87A648 80240A68 E6020038 */ swc1 $f2, 0x38($s0) +/* 87A64C 80240A6C E6000050 */ swc1 $f0, 0x50($s0) +/* 87A650 80240A70 8E42005C */ lw $v0, 0x5c($s2) +/* 87A654 80240A74 C6000038 */ lwc1 $f0, 0x38($s0) +/* 87A658 80240A78 C4420048 */ lwc1 $f2, 0x48($v0) +/* 87A65C 80240A7C 46001080 */ add.s $f2, $f2, $f0 +/* 87A660 80240A80 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 87A664 80240A84 46020001 */ sub.s $f0, $f0, $f2 +/* 87A668 80240A88 E6000038 */ swc1 $f0, 0x38($s0) +/* 87A66C 80240A8C 8E42005C */ lw $v0, 0x5c($s2) +/* 87A670 80240A90 C6000044 */ lwc1 $f0, 0x44($s0) +/* 87A674 80240A94 C442004C */ lwc1 $f2, 0x4c($v0) +/* 87A678 80240A98 46001080 */ add.s $f2, $f2, $f0 +/* 87A67C 80240A9C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 87A680 80240AA0 46020001 */ sub.s $f0, $f0, $f2 +/* 87A684 80240AA4 E6000044 */ swc1 $f0, 0x44($s0) +/* 87A688 80240AA8 8E42005C */ lw $v0, 0x5c($s2) +/* 87A68C 80240AAC C6000050 */ lwc1 $f0, 0x50($s0) +/* 87A690 80240AB0 C4420050 */ lwc1 $f2, 0x50($v0) +/* 87A694 80240AB4 26940004 */ addiu $s4, $s4, 4 +/* 87A698 80240AB8 46001080 */ add.s $f2, $f2, $f0 +/* 87A69C 80240ABC C6A00040 */ lwc1 $f0, 0x40($s5) +/* 87A6A0 80240AC0 26730004 */ addiu $s3, $s3, 4 +/* 87A6A4 80240AC4 46020001 */ sub.s $f0, $f0, $f2 +/* 87A6A8 80240AC8 26310001 */ addiu $s1, $s1, 1 +/* 87A6AC 80240ACC 2A220003 */ slti $v0, $s1, 3 +/* 87A6B0 80240AD0 E6000050 */ swc1 $f0, 0x50($s0) +/* 87A6B4 80240AD4 1440FFD7 */ bnez $v0, .L80240A34 +/* 87A6B8 80240AD8 26100004 */ addiu $s0, $s0, 4 +.L80240ADC: +/* 87A6BC 80240ADC 8ED20060 */ lw $s2, 0x60($s6) +/* 87A6C0 80240AE0 8E430000 */ lw $v1, ($s2) +/* 87A6C4 80240AE4 24020001 */ addiu $v0, $zero, 1 +/* 87A6C8 80240AE8 10620038 */ beq $v1, $v0, .L80240BCC +/* 87A6CC 80240AEC 28620002 */ slti $v0, $v1, 2 +/* 87A6D0 80240AF0 50400005 */ beql $v0, $zero, .L80240B08 +/* 87A6D4 80240AF4 24020002 */ addiu $v0, $zero, 2 +/* 87A6D8 80240AF8 10600007 */ beqz $v1, .L80240B18 +/* 87A6DC 80240AFC 24040005 */ addiu $a0, $zero, 5 +/* 87A6E0 80240B00 0809032C */ j .L80240CB0 +/* 87A6E4 80240B04 00000000 */ nop +.L80240B08: +/* 87A6E8 80240B08 10620058 */ beq $v1, $v0, .L80240C6C +/* 87A6EC 80240B0C 00000000 */ nop +/* 87A6F0 80240B10 0809032C */ j .L80240CB0 +/* 87A6F4 80240B14 00000000 */ nop +.L80240B18: +/* 87A6F8 80240B18 0000882D */ daddu $s1, $zero, $zero +/* 87A6FC 80240B1C 3C148024 */ lui $s4, 0x8024 +/* 87A700 80240B20 26943A48 */ addiu $s4, $s4, 0x3a48 +/* 87A704 80240B24 24130020 */ addiu $s3, $zero, 0x20 +/* 87A708 80240B28 3C064248 */ lui $a2, 0x4248 +/* 87A70C 80240B2C 44800000 */ mtc1 $zero, $f0 +/* 87A710 80240B30 24020014 */ addiu $v0, $zero, 0x14 +/* 87A714 80240B34 AFA20010 */ sw $v0, 0x10($sp) +/* 87A718 80240B38 44050000 */ mfc1 $a1, $f0 +/* 87A71C 80240B3C 8E470060 */ lw $a3, 0x60($s2) +/* 87A720 80240B40 4485B000 */ mtc1 $a1, $f22 +/* 87A724 80240B44 0C00A8ED */ jal update_lerp +/* 87A728 80240B48 0240802D */ daddu $s0, $s2, $zero +/* 87A72C 80240B4C 46000506 */ mov.s $f20, $f0 +.L80240B50: +/* 87A730 80240B50 4406A000 */ mfc1 $a2, $f20 +/* 87A734 80240B54 27A40020 */ addiu $a0, $sp, 0x20 +/* 87A738 80240B58 E6160020 */ swc1 $f22, 0x20($s0) +/* 87A73C 80240B5C 8E870000 */ lw $a3, ($s4) +/* 87A740 80240B60 02532821 */ addu $a1, $s2, $s3 +/* 87A744 80240B64 0C00A7E7 */ jal add_vec2D_polar +/* 87A748 80240B68 E7B60020 */ swc1 $f22, 0x20($sp) +/* 87A74C 80240B6C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 87A750 80240B70 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 87A754 80240B74 46002102 */ mul.s $f4, $f4, $f0 +/* 87A758 80240B78 00000000 */ nop +/* 87A75C 80240B7C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 87A760 80240B80 26940004 */ addiu $s4, $s4, 4 +/* 87A764 80240B84 46001082 */ mul.s $f2, $f2, $f0 +/* 87A768 80240B88 00000000 */ nop +/* 87A76C 80240B8C 26730004 */ addiu $s3, $s3, 4 +/* 87A770 80240B90 26310001 */ addiu $s1, $s1, 1 +/* 87A774 80240B94 2A220003 */ slti $v0, $s1, 3 +/* 87A778 80240B98 E6040014 */ swc1 $f4, 0x14($s0) +/* 87A77C 80240B9C E602002C */ swc1 $f2, 0x2c($s0) +/* 87A780 80240BA0 1440FFEB */ bnez $v0, .L80240B50 +/* 87A784 80240BA4 26100004 */ addiu $s0, $s0, 4 +/* 87A788 80240BA8 8E420060 */ lw $v0, 0x60($s2) +/* 87A78C 80240BAC 24420001 */ addiu $v0, $v0, 1 +/* 87A790 80240BB0 AE420060 */ sw $v0, 0x60($s2) +/* 87A794 80240BB4 28420015 */ slti $v0, $v0, 0x15 +/* 87A798 80240BB8 1440003D */ bnez $v0, .L80240CB0 +/* 87A79C 80240BBC 24020001 */ addiu $v0, $zero, 1 +/* 87A7A0 80240BC0 AE420000 */ sw $v0, ($s2) +/* 87A7A4 80240BC4 0809032C */ j .L80240CB0 +/* 87A7A8 80240BC8 AE400060 */ sw $zero, 0x60($s2) +.L80240BCC: +/* 87A7AC 80240BCC 0000882D */ daddu $s1, $zero, $zero +/* 87A7B0 80240BD0 3C148024 */ lui $s4, 0x8024 +/* 87A7B4 80240BD4 26943A48 */ addiu $s4, $s4, 0x3a48 +/* 87A7B8 80240BD8 24130020 */ addiu $s3, $zero, 0x20 +/* 87A7BC 80240BDC 0240802D */ daddu $s0, $s2, $zero +/* 87A7C0 80240BE0 3C014248 */ lui $at, 0x4248 +/* 87A7C4 80240BE4 4481A000 */ mtc1 $at, $f20 +/* 87A7C8 80240BE8 4480B000 */ mtc1 $zero, $f22 +.L80240BEC: +/* 87A7CC 80240BEC 4406A000 */ mfc1 $a2, $f20 +/* 87A7D0 80240BF0 27A40020 */ addiu $a0, $sp, 0x20 +/* 87A7D4 80240BF4 E6160020 */ swc1 $f22, 0x20($s0) +/* 87A7D8 80240BF8 8E870000 */ lw $a3, ($s4) +/* 87A7DC 80240BFC 02532821 */ addu $a1, $s2, $s3 +/* 87A7E0 80240C00 0C00A7E7 */ jal add_vec2D_polar +/* 87A7E4 80240C04 E7B60020 */ swc1 $f22, 0x20($sp) +/* 87A7E8 80240C08 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 87A7EC 80240C0C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 87A7F0 80240C10 46002102 */ mul.s $f4, $f4, $f0 +/* 87A7F4 80240C14 00000000 */ nop +/* 87A7F8 80240C18 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 87A7FC 80240C1C 26940004 */ addiu $s4, $s4, 4 +/* 87A800 80240C20 46001082 */ mul.s $f2, $f2, $f0 +/* 87A804 80240C24 00000000 */ nop +/* 87A808 80240C28 26730004 */ addiu $s3, $s3, 4 +/* 87A80C 80240C2C 26310001 */ addiu $s1, $s1, 1 +/* 87A810 80240C30 2A220003 */ slti $v0, $s1, 3 +/* 87A814 80240C34 E6040014 */ swc1 $f4, 0x14($s0) +/* 87A818 80240C38 E602002C */ swc1 $f2, 0x2c($s0) +/* 87A81C 80240C3C 1440FFEB */ bnez $v0, .L80240BEC +/* 87A820 80240C40 26100004 */ addiu $s0, $s0, 4 +/* 87A824 80240C44 8E420060 */ lw $v0, 0x60($s2) +/* 87A828 80240C48 24420001 */ addiu $v0, $v0, 1 +/* 87A82C 80240C4C AE420060 */ sw $v0, 0x60($s2) +/* 87A830 80240C50 28420010 */ slti $v0, $v0, 0x10 +/* 87A834 80240C54 14400016 */ bnez $v0, .L80240CB0 +/* 87A838 80240C58 2402000F */ addiu $v0, $zero, 0xf +/* 87A83C 80240C5C AE420060 */ sw $v0, 0x60($s2) +/* 87A840 80240C60 24020002 */ addiu $v0, $zero, 2 +/* 87A844 80240C64 0809032C */ j .L80240CB0 +/* 87A848 80240C68 AE420000 */ sw $v0, ($s2) +.L80240C6C: +/* 87A84C 80240C6C 8E420060 */ lw $v0, 0x60($s2) +/* 87A850 80240C70 24420001 */ addiu $v0, $v0, 1 +/* 87A854 80240C74 AE420060 */ sw $v0, 0x60($s2) +/* 87A858 80240C78 2842001F */ slti $v0, $v0, 0x1f +/* 87A85C 80240C7C 1440000C */ bnez $v0, .L80240CB0 +/* 87A860 80240C80 0000882D */ daddu $s1, $zero, $zero +/* 87A864 80240C84 0240282D */ daddu $a1, $s2, $zero +.L80240C88: +/* 87A868 80240C88 8CA20008 */ lw $v0, 8($a1) +/* 87A86C 80240C8C 8C430000 */ lw $v1, ($v0) +/* 87A870 80240C90 26310001 */ addiu $s1, $s1, 1 +/* 87A874 80240C94 34630010 */ ori $v1, $v1, 0x10 +/* 87A878 80240C98 AC430000 */ sw $v1, ($v0) +/* 87A87C 80240C9C 2A220003 */ slti $v0, $s1, 3 +/* 87A880 80240CA0 1440FFF9 */ bnez $v0, .L80240C88 +/* 87A884 80240CA4 24A50004 */ addiu $a1, $a1, 4 +/* 87A888 80240CA8 08090379 */ j .L80240DE4 +/* 87A88C 80240CAC 24020002 */ addiu $v0, $zero, 2 +.L80240CB0: +/* 87A890 80240CB0 8E430004 */ lw $v1, 4($s2) +/* 87A894 80240CB4 10600005 */ beqz $v1, .L80240CCC +/* 87A898 80240CB8 24020001 */ addiu $v0, $zero, 1 +/* 87A89C 80240CBC 1062000B */ beq $v1, $v0, .L80240CEC +/* 87A8A0 80240CC0 0000882D */ daddu $s1, $zero, $zero +/* 87A8A4 80240CC4 08090368 */ j .L80240DA0 +/* 87A8A8 80240CC8 0240282D */ daddu $a1, $s2, $zero +.L80240CCC: +/* 87A8AC 80240CCC 8E420064 */ lw $v0, 0x64($s2) +/* 87A8B0 80240CD0 24420001 */ addiu $v0, $v0, 1 +/* 87A8B4 80240CD4 AE420064 */ sw $v0, 0x64($s2) +/* 87A8B8 80240CD8 28420010 */ slti $v0, $v0, 0x10 +/* 87A8BC 80240CDC 1440002F */ bnez $v0, .L80240D9C +/* 87A8C0 80240CE0 0000882D */ daddu $s1, $zero, $zero +/* 87A8C4 80240CE4 08090364 */ j .L80240D90 +/* 87A8C8 80240CE8 24020001 */ addiu $v0, $zero, 1 +.L80240CEC: +/* 87A8CC 80240CEC 4480A000 */ mtc1 $zero, $f20 +/* 87A8D0 80240CF0 24130014 */ addiu $s3, $zero, 0x14 +/* 87A8D4 80240CF4 0240802D */ daddu $s0, $s2, $zero +.L80240CF8: +/* 87A8D8 80240CF8 4405A000 */ mfc1 $a1, $f20 +/* 87A8DC 80240CFC AFB30010 */ sw $s3, 0x10($sp) +/* 87A8E0 80240D00 8E060038 */ lw $a2, 0x38($s0) +/* 87A8E4 80240D04 8E470064 */ lw $a3, 0x64($s2) +/* 87A8E8 80240D08 0C00A8ED */ jal update_lerp +/* 87A8EC 80240D0C 24040001 */ addiu $a0, $zero, 1 +/* 87A8F0 80240D10 C6020014 */ lwc1 $f2, 0x14($s0) +/* 87A8F4 80240D14 46001080 */ add.s $f2, $f2, $f0 +/* 87A8F8 80240D18 4405A000 */ mfc1 $a1, $f20 +/* 87A8FC 80240D1C E6020014 */ swc1 $f2, 0x14($s0) +/* 87A900 80240D20 AFB30010 */ sw $s3, 0x10($sp) +/* 87A904 80240D24 8E060044 */ lw $a2, 0x44($s0) +/* 87A908 80240D28 8E470064 */ lw $a3, 0x64($s2) +/* 87A90C 80240D2C 0C00A8ED */ jal update_lerp +/* 87A910 80240D30 24040001 */ addiu $a0, $zero, 1 +/* 87A914 80240D34 C6020020 */ lwc1 $f2, 0x20($s0) +/* 87A918 80240D38 46001080 */ add.s $f2, $f2, $f0 +/* 87A91C 80240D3C 4405A000 */ mfc1 $a1, $f20 +/* 87A920 80240D40 E6020020 */ swc1 $f2, 0x20($s0) +/* 87A924 80240D44 AFB30010 */ sw $s3, 0x10($sp) +/* 87A928 80240D48 8E060050 */ lw $a2, 0x50($s0) +/* 87A92C 80240D4C 8E470064 */ lw $a3, 0x64($s2) +/* 87A930 80240D50 0C00A8ED */ jal update_lerp +/* 87A934 80240D54 24040001 */ addiu $a0, $zero, 1 +/* 87A938 80240D58 C602002C */ lwc1 $f2, 0x2c($s0) +/* 87A93C 80240D5C 46001080 */ add.s $f2, $f2, $f0 +/* 87A940 80240D60 26310001 */ addiu $s1, $s1, 1 +/* 87A944 80240D64 2A220003 */ slti $v0, $s1, 3 +/* 87A948 80240D68 E602002C */ swc1 $f2, 0x2c($s0) +/* 87A94C 80240D6C 1440FFE2 */ bnez $v0, .L80240CF8 +/* 87A950 80240D70 26100004 */ addiu $s0, $s0, 4 +/* 87A954 80240D74 8E420064 */ lw $v0, 0x64($s2) +/* 87A958 80240D78 24420001 */ addiu $v0, $v0, 1 +/* 87A95C 80240D7C AE420064 */ sw $v0, 0x64($s2) +/* 87A960 80240D80 28420015 */ slti $v0, $v0, 0x15 +/* 87A964 80240D84 14400005 */ bnez $v0, .L80240D9C +/* 87A968 80240D88 0000882D */ daddu $s1, $zero, $zero +/* 87A96C 80240D8C 24020002 */ addiu $v0, $zero, 2 +.L80240D90: +/* 87A970 80240D90 AE420004 */ sw $v0, 4($s2) +/* 87A974 80240D94 AE400064 */ sw $zero, 0x64($s2) +/* 87A978 80240D98 0000882D */ daddu $s1, $zero, $zero +.L80240D9C: +/* 87A97C 80240D9C 0240282D */ daddu $a1, $s2, $zero +.L80240DA0: +/* 87A980 80240DA0 8CA20008 */ lw $v0, 8($a1) +/* 87A984 80240DA4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 87A988 80240DA8 8C42000C */ lw $v0, 0xc($v0) +/* 87A98C 80240DAC E4400010 */ swc1 $f0, 0x10($v0) +/* 87A990 80240DB0 8CA20008 */ lw $v0, 8($a1) +/* 87A994 80240DB4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 87A998 80240DB8 8C42000C */ lw $v0, 0xc($v0) +/* 87A99C 80240DBC 26310001 */ addiu $s1, $s1, 1 +/* 87A9A0 80240DC0 E4400014 */ swc1 $f0, 0x14($v0) +/* 87A9A4 80240DC4 8CA20008 */ lw $v0, 8($a1) +/* 87A9A8 80240DC8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 87A9AC 80240DCC 8C42000C */ lw $v0, 0xc($v0) +/* 87A9B0 80240DD0 E4400018 */ swc1 $f0, 0x18($v0) +/* 87A9B4 80240DD4 2A220003 */ slti $v0, $s1, 3 +/* 87A9B8 80240DD8 1440FFF1 */ bnez $v0, .L80240DA0 +/* 87A9BC 80240DDC 24A50004 */ addiu $a1, $a1, 4 +/* 87A9C0 80240DE0 0000102D */ daddu $v0, $zero, $zero +.L80240DE4: +/* 87A9C4 80240DE4 8FBF0044 */ lw $ra, 0x44($sp) +/* 87A9C8 80240DE8 8FB60040 */ lw $s6, 0x40($sp) +/* 87A9CC 80240DEC 8FB5003C */ lw $s5, 0x3c($sp) +/* 87A9D0 80240DF0 8FB40038 */ lw $s4, 0x38($sp) +/* 87A9D4 80240DF4 8FB30034 */ lw $s3, 0x34($sp) +/* 87A9D8 80240DF8 8FB20030 */ lw $s2, 0x30($sp) +/* 87A9DC 80240DFC 8FB1002C */ lw $s1, 0x2c($sp) +/* 87A9E0 80240E00 8FB00028 */ lw $s0, 0x28($sp) +/* 87A9E4 80240E04 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 87A9E8 80240E08 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 87A9EC 80240E0C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 87A9F0 80240E10 03E00008 */ jr $ra +/* 87A9F4 80240E14 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240E18.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240E18.s new file mode 100644 index 0000000000..2468acae77 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240E18.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E18 +/* 87A9F8 80240E18 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87A9FC 80240E1C AFB10014 */ sw $s1, 0x14($sp) +/* 87AA00 80240E20 0080882D */ daddu $s1, $a0, $zero +/* 87AA04 80240E24 AFB20018 */ sw $s2, 0x18($sp) +/* 87AA08 80240E28 AFBF001C */ sw $ra, 0x1c($sp) +/* 87AA0C 80240E2C AFB00010 */ sw $s0, 0x10($sp) +/* 87AA10 80240E30 8E30000C */ lw $s0, 0xc($s1) +/* 87AA14 80240E34 10A00010 */ beqz $a1, .L80240E78 +/* 87AA18 80240E38 0000902D */ daddu $s2, $zero, $zero +/* 87AA1C 80240E3C 8E050000 */ lw $a1, ($s0) +/* 87AA20 80240E40 0C0B1EAF */ jal get_variable +/* 87AA24 80240E44 26100004 */ addiu $s0, $s0, 4 +/* 87AA28 80240E48 AE220084 */ sw $v0, 0x84($s1) +/* 87AA2C 80240E4C 8E050000 */ lw $a1, ($s0) +/* 87AA30 80240E50 0C0B1EAF */ jal get_variable +/* 87AA34 80240E54 0220202D */ daddu $a0, $s1, $zero +/* 87AA38 80240E58 0240202D */ daddu $a0, $s2, $zero +/* 87AA3C 80240E5C 240500D0 */ addiu $a1, $zero, 0xd0 +/* 87AA40 80240E60 00A0302D */ daddu $a2, $a1, $zero +/* 87AA44 80240E64 00A0382D */ daddu $a3, $a1, $zero +/* 87AA48 80240E68 AE220088 */ sw $v0, 0x88($s1) +/* 87AA4C 80240E6C AE200070 */ sw $zero, 0x70($s1) +/* 87AA50 80240E70 0C04DF84 */ jal func_80137E10 +/* 87AA54 80240E74 AE200074 */ sw $zero, 0x74($s1) +.L80240E78: +/* 87AA58 80240E78 8E230070 */ lw $v1, 0x70($s1) +/* 87AA5C 80240E7C 24040001 */ addiu $a0, $zero, 1 +/* 87AA60 80240E80 10640019 */ beq $v1, $a0, .L80240EE8 +/* 87AA64 80240E84 28620002 */ slti $v0, $v1, 2 +/* 87AA68 80240E88 10400005 */ beqz $v0, .L80240EA0 +/* 87AA6C 80240E8C 24020002 */ addiu $v0, $zero, 2 +/* 87AA70 80240E90 10600007 */ beqz $v1, .L80240EB0 +/* 87AA74 80240E94 240500FF */ addiu $a1, $zero, 0xff +/* 87AA78 80240E98 080903CA */ j .L80240F28 +/* 87AA7C 80240E9C 00000000 */ nop +.L80240EA0: +/* 87AA80 80240EA0 10620019 */ beq $v1, $v0, .L80240F08 +/* 87AA84 80240EA4 00000000 */ nop +/* 87AA88 80240EA8 080903CA */ j .L80240F28 +/* 87AA8C 80240EAC 00000000 */ nop +.L80240EB0: +/* 87AA90 80240EB0 8E220074 */ lw $v0, 0x74($s1) +/* 87AA94 80240EB4 14450004 */ bne $v0, $a1, .L80240EC8 +/* 87AA98 80240EB8 00000000 */ nop +/* 87AA9C 80240EBC AE240070 */ sw $a0, 0x70($s1) +/* 87AAA0 80240EC0 AE200078 */ sw $zero, 0x78($s1) +/* 87AAA4 80240EC4 8E220074 */ lw $v0, 0x74($s1) +.L80240EC8: +/* 87AAA8 80240EC8 8E230084 */ lw $v1, 0x84($s1) +/* 87AAAC 80240ECC 00431021 */ addu $v0, $v0, $v1 +/* 87AAB0 80240ED0 AE220074 */ sw $v0, 0x74($s1) +/* 87AAB4 80240ED4 28420100 */ slti $v0, $v0, 0x100 +/* 87AAB8 80240ED8 50400013 */ beql $v0, $zero, .L80240F28 +/* 87AABC 80240EDC AE250074 */ sw $a1, 0x74($s1) +/* 87AAC0 80240EE0 080903CA */ j .L80240F28 +/* 87AAC4 80240EE4 00000000 */ nop +.L80240EE8: +/* 87AAC8 80240EE8 8E220078 */ lw $v0, 0x78($s1) +/* 87AACC 80240EEC 24420001 */ addiu $v0, $v0, 1 +/* 87AAD0 80240EF0 AE220078 */ sw $v0, 0x78($s1) +/* 87AAD4 80240EF4 28420002 */ slti $v0, $v0, 2 +/* 87AAD8 80240EF8 1440000B */ bnez $v0, .L80240F28 +/* 87AADC 80240EFC 24020002 */ addiu $v0, $zero, 2 +/* 87AAE0 80240F00 080903CA */ j .L80240F28 +/* 87AAE4 80240F04 AE220070 */ sw $v0, 0x70($s1) +.L80240F08: +/* 87AAE8 80240F08 8E230074 */ lw $v1, 0x74($s1) +/* 87AAEC 80240F0C 50600001 */ beql $v1, $zero, .L80240F14 +/* 87AAF0 80240F10 24120001 */ addiu $s2, $zero, 1 +.L80240F14: +/* 87AAF4 80240F14 8E220088 */ lw $v0, 0x88($s1) +/* 87AAF8 80240F18 00621023 */ subu $v0, $v1, $v0 +/* 87AAFC 80240F1C 04410002 */ bgez $v0, .L80240F28 +/* 87AB00 80240F20 AE220074 */ sw $v0, 0x74($s1) +/* 87AB04 80240F24 AE200074 */ sw $zero, 0x74($s1) +.L80240F28: +/* 87AB08 80240F28 C6200074 */ lwc1 $f0, 0x74($s1) +/* 87AB0C 80240F2C 46800020 */ cvt.s.w $f0, $f0 +/* 87AB10 80240F30 44050000 */ mfc1 $a1, $f0 +/* 87AB14 80240F34 0C04DF62 */ jal func_80137D88 +/* 87AB18 80240F38 24040001 */ addiu $a0, $zero, 1 +/* 87AB1C 80240F3C 0240102D */ daddu $v0, $s2, $zero +/* 87AB20 80240F40 8FBF001C */ lw $ra, 0x1c($sp) +/* 87AB24 80240F44 8FB20018 */ lw $s2, 0x18($sp) +/* 87AB28 80240F48 8FB10014 */ lw $s1, 0x14($sp) +/* 87AB2C 80240F4C 8FB00010 */ lw $s0, 0x10($sp) +/* 87AB30 80240F50 03E00008 */ jr $ra +/* 87AB34 80240F54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240F58.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240F58.s new file mode 100644 index 0000000000..f5680db1be --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240F58.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F58 +/* 87AB38 80240F58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87AB3C 80240F5C AFBF0018 */ sw $ra, 0x18($sp) +/* 87AB40 80240F60 0C00EAD2 */ jal get_npc_safe +/* 87AB44 80240F64 2404FFFC */ addiu $a0, $zero, -4 +/* 87AB48 80240F68 3C0141F0 */ lui $at, 0x41f0 +/* 87AB4C 80240F6C 44810000 */ mtc1 $at, $f0 +/* 87AB50 80240F70 C442003C */ lwc1 $f2, 0x3c($v0) +/* 87AB54 80240F74 46001080 */ add.s $f2, $f2, $f0 +/* 87AB58 80240F78 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87AB5C 80240F7C 8C450038 */ lw $a1, 0x38($v0) +/* 87AB60 80240F80 8C470040 */ lw $a3, 0x40($v0) +/* 87AB64 80240F84 44061000 */ mfc1 $a2, $f2 +/* 87AB68 80240F88 0C01BFBC */ jal func_8006FEF0 +/* 87AB6C 80240F8C 24040002 */ addiu $a0, $zero, 2 +/* 87AB70 80240F90 8FBF0018 */ lw $ra, 0x18($sp) +/* 87AB74 80240F94 24020002 */ addiu $v0, $zero, 2 +/* 87AB78 80240F98 03E00008 */ jr $ra +/* 87AB7C 80240F9C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240FA0_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240FA0_879BE0.s new file mode 100644 index 0000000000..9c08c2dc44 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240FA0_879BE0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA0_87AB80 +/* 87AB80 80240FA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87AB84 80240FA4 AFBF0018 */ sw $ra, 0x18($sp) +/* 87AB88 80240FA8 0C00EAD2 */ jal get_npc_safe +/* 87AB8C 80240FAC 2404FFFC */ addiu $a0, $zero, -4 +/* 87AB90 80240FB0 3C0141F0 */ lui $at, 0x41f0 +/* 87AB94 80240FB4 44810000 */ mtc1 $at, $f0 +/* 87AB98 80240FB8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 87AB9C 80240FBC 46001080 */ add.s $f2, $f2, $f0 +/* 87ABA0 80240FC0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87ABA4 80240FC4 8C450038 */ lw $a1, 0x38($v0) +/* 87ABA8 80240FC8 8C470040 */ lw $a3, 0x40($v0) +/* 87ABAC 80240FCC 44061000 */ mfc1 $a2, $f2 +/* 87ABB0 80240FD0 0C01BFBC */ jal func_8006FEF0 +/* 87ABB4 80240FD4 24040004 */ addiu $a0, $zero, 4 +/* 87ABB8 80240FD8 8FBF0018 */ lw $ra, 0x18($sp) +/* 87ABBC 80240FDC 24020002 */ addiu $v0, $zero, 2 +/* 87ABC0 80240FE0 03E00008 */ jr $ra +/* 87ABC4 80240FE4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80240FE8.s b/asm/nonmatchings/world/area_tik/tik_07/func_80240FE8.s new file mode 100644 index 0000000000..92422aaa10 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80240FE8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE8 +/* 87ABC8 80240FE8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 87ABCC 80240FEC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 87ABD0 80240FF0 AC800084 */ sw $zero, 0x84($a0) +/* 87ABD4 80240FF4 80620000 */ lb $v0, ($v1) +/* 87ABD8 80240FF8 10400005 */ beqz $v0, .L80241010 +/* 87ABDC 80240FFC 24020003 */ addiu $v0, $zero, 3 +/* 87ABE0 80241000 80630003 */ lb $v1, 3($v1) +/* 87ABE4 80241004 14620002 */ bne $v1, $v0, .L80241010 +/* 87ABE8 80241008 24020001 */ addiu $v0, $zero, 1 +/* 87ABEC 8024100C AC820084 */ sw $v0, 0x84($a0) +.L80241010: +/* 87ABF0 80241010 03E00008 */ jr $ra +/* 87ABF4 80241014 24020002 */ addiu $v0, $zero, 2 +/* 87ABF8 80241018 00000000 */ nop +/* 87ABFC 8024101C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80241020.s b/asm/nonmatchings/world/area_tik/tik_07/func_80241020.s new file mode 100644 index 0000000000..d119fd8dfd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80241020.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241020 +/* 87AC00 80241020 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 87AC04 80241024 AFB3001C */ sw $s3, 0x1c($sp) +/* 87AC08 80241028 0080982D */ daddu $s3, $a0, $zero +/* 87AC0C 8024102C AFBF0020 */ sw $ra, 0x20($sp) +/* 87AC10 80241030 AFB20018 */ sw $s2, 0x18($sp) +/* 87AC14 80241034 AFB10014 */ sw $s1, 0x14($sp) +/* 87AC18 80241038 AFB00010 */ sw $s0, 0x10($sp) +/* 87AC1C 8024103C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 87AC20 80241040 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 87AC24 80241044 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 87AC28 80241048 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 87AC2C 8024104C 8E62000C */ lw $v0, 0xc($s3) +/* 87AC30 80241050 0C0B1EAF */ jal get_variable +/* 87AC34 80241054 8C450000 */ lw $a1, ($v0) +/* 87AC38 80241058 2404FFFC */ addiu $a0, $zero, -4 +/* 87AC3C 8024105C 0C00EABB */ jal get_npc_unsafe +/* 87AC40 80241060 0040802D */ daddu $s0, $v0, $zero +/* 87AC44 80241064 0200202D */ daddu $a0, $s0, $zero +/* 87AC48 80241068 0C046C04 */ jal get_model_list_index_from_tree_index +/* 87AC4C 8024106C 0040802D */ daddu $s0, $v0, $zero +/* 87AC50 80241070 0C046B4C */ jal get_model_from_list_index +/* 87AC54 80241074 0040202D */ daddu $a0, $v0, $zero +/* 87AC58 80241078 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 87AC5C 8024107C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 87AC60 80241080 0040902D */ daddu $s2, $v0, $zero +/* 87AC64 80241084 AE60008C */ sw $zero, 0x8c($s3) +/* 87AC68 80241088 C4620028 */ lwc1 $f2, 0x28($v1) +/* 87AC6C 8024108C C6400098 */ lwc1 $f0, 0x98($s2) +/* 87AC70 80241090 46001081 */ sub.s $f2, $f2, $f0 +/* 87AC74 80241094 46021182 */ mul.s $f6, $f2, $f2 +/* 87AC78 80241098 00000000 */ nop +/* 87AC7C 8024109C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87AC80 802410A0 C4620030 */ lwc1 $f2, 0x30($v1) +/* 87AC84 802410A4 46001081 */ sub.s $f2, $f2, $f0 +/* 87AC88 802410A8 46021102 */ mul.s $f4, $f2, $f2 +/* 87AC8C 802410AC 00000000 */ nop +/* 87AC90 802410B0 846200B0 */ lh $v0, 0xb0($v1) +/* 87AC94 802410B4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 87AC98 802410B8 44820000 */ mtc1 $v0, $f0 +/* 87AC9C 802410BC 00000000 */ nop +/* 87ACA0 802410C0 46800020 */ cvt.s.w $f0, $f0 +/* 87ACA4 802410C4 46001080 */ add.s $f2, $f2, $f0 +/* 87ACA8 802410C8 3C013FC0 */ lui $at, 0x3fc0 +/* 87ACAC 802410CC 44810000 */ mtc1 $at, $f0 +/* 87ACB0 802410D0 00000000 */ nop +/* 87ACB4 802410D4 46001081 */ sub.s $f2, $f2, $f0 +/* 87ACB8 802410D8 46043300 */ add.s $f12, $f6, $f4 +/* 87ACBC 802410DC C640009C */ lwc1 $f0, 0x9c($s2) +/* 87ACC0 802410E0 46001501 */ sub.s $f20, $f2, $f0 +/* 87ACC4 802410E4 46006084 */ sqrt.s $f2, $f12 +/* 87ACC8 802410E8 46021032 */ c.eq.s $f2, $f2 +/* 87ACCC 802410EC 00000000 */ nop +/* 87ACD0 802410F0 45010004 */ bc1t .L80241104 +/* 87ACD4 802410F4 0060882D */ daddu $s1, $v1, $zero +/* 87ACD8 802410F8 0C0187BC */ jal sqrtf +/* 87ACDC 802410FC 00000000 */ nop +/* 87ACE0 80241100 46000086 */ mov.s $f2, $f0 +.L80241104: +/* 87ACE4 80241104 44800000 */ mtc1 $zero, $f0 +/* 87ACE8 80241108 00000000 */ nop +/* 87ACEC 8024110C 4614003C */ c.lt.s $f0, $f20 +/* 87ACF0 80241110 00000000 */ nop +/* 87ACF4 80241114 45000016 */ bc1f .L80241170 +/* 87ACF8 80241118 46001106 */ mov.s $f4, $f2 +/* 87ACFC 8024111C 862200B0 */ lh $v0, 0xb0($s1) +/* 87AD00 80241120 44820000 */ mtc1 $v0, $f0 +/* 87AD04 80241124 00000000 */ nop +/* 87AD08 80241128 46800020 */ cvt.s.w $f0, $f0 +/* 87AD0C 8024112C 4600A03C */ c.lt.s $f20, $f0 +/* 87AD10 80241130 00000000 */ nop +/* 87AD14 80241134 4500000E */ bc1f .L80241170 +/* 87AD18 80241138 00000000 */ nop +/* 87AD1C 8024113C 862200B2 */ lh $v0, 0xb2($s1) +/* 87AD20 80241140 3C013F00 */ lui $at, 0x3f00 +/* 87AD24 80241144 44811000 */ mtc1 $at, $f2 +/* 87AD28 80241148 44820000 */ mtc1 $v0, $f0 +/* 87AD2C 8024114C 00000000 */ nop +/* 87AD30 80241150 46800020 */ cvt.s.w $f0, $f0 +/* 87AD34 80241154 46020002 */ mul.s $f0, $f0, $f2 +/* 87AD38 80241158 00000000 */ nop +/* 87AD3C 8024115C 4600203C */ c.lt.s $f4, $f0 +/* 87AD40 80241160 00000000 */ nop +/* 87AD44 80241164 45000002 */ bc1f .L80241170 +/* 87AD48 80241168 24020001 */ addiu $v0, $zero, 1 +/* 87AD4C 8024116C AE62008C */ sw $v0, 0x8c($s3) +.L80241170: +/* 87AD50 80241170 C6020038 */ lwc1 $f2, 0x38($s0) +/* 87AD54 80241174 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87AD58 80241178 46001081 */ sub.s $f2, $f2, $f0 +/* 87AD5C 8024117C 46021182 */ mul.s $f6, $f2, $f2 +/* 87AD60 80241180 00000000 */ nop +/* 87AD64 80241184 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87AD68 80241188 C6020040 */ lwc1 $f2, 0x40($s0) +/* 87AD6C 8024118C 46001081 */ sub.s $f2, $f2, $f0 +/* 87AD70 80241190 46021102 */ mul.s $f4, $f2, $f2 +/* 87AD74 80241194 00000000 */ nop +/* 87AD78 80241198 860200A8 */ lh $v0, 0xa8($s0) +/* 87AD7C 8024119C C602003C */ lwc1 $f2, 0x3c($s0) +/* 87AD80 802411A0 44820000 */ mtc1 $v0, $f0 +/* 87AD84 802411A4 00000000 */ nop +/* 87AD88 802411A8 46800020 */ cvt.s.w $f0, $f0 +/* 87AD8C 802411AC 46001080 */ add.s $f2, $f2, $f0 +/* 87AD90 802411B0 3C013FC0 */ lui $at, 0x3fc0 +/* 87AD94 802411B4 44810000 */ mtc1 $at, $f0 +/* 87AD98 802411B8 00000000 */ nop +/* 87AD9C 802411BC 46001081 */ sub.s $f2, $f2, $f0 +/* 87ADA0 802411C0 46043300 */ add.s $f12, $f6, $f4 +/* 87ADA4 802411C4 C640009C */ lwc1 $f0, 0x9c($s2) +/* 87ADA8 802411C8 46001501 */ sub.s $f20, $f2, $f0 +/* 87ADAC 802411CC 46006084 */ sqrt.s $f2, $f12 +/* 87ADB0 802411D0 46021032 */ c.eq.s $f2, $f2 +/* 87ADB4 802411D4 00000000 */ nop +/* 87ADB8 802411D8 45010004 */ bc1t .L802411EC +/* 87ADBC 802411DC 00000000 */ nop +/* 87ADC0 802411E0 0C0187BC */ jal sqrtf +/* 87ADC4 802411E4 00000000 */ nop +/* 87ADC8 802411E8 46000086 */ mov.s $f2, $f0 +.L802411EC: +/* 87ADCC 802411EC 44800000 */ mtc1 $zero, $f0 +/* 87ADD0 802411F0 00000000 */ nop +/* 87ADD4 802411F4 4614003C */ c.lt.s $f0, $f20 +/* 87ADD8 802411F8 00000000 */ nop +/* 87ADDC 802411FC 45000016 */ bc1f .L80241258 +/* 87ADE0 80241200 46001106 */ mov.s $f4, $f2 +/* 87ADE4 80241204 860200A8 */ lh $v0, 0xa8($s0) +/* 87ADE8 80241208 44820000 */ mtc1 $v0, $f0 +/* 87ADEC 8024120C 00000000 */ nop +/* 87ADF0 80241210 46800020 */ cvt.s.w $f0, $f0 +/* 87ADF4 80241214 4600A03C */ c.lt.s $f20, $f0 +/* 87ADF8 80241218 00000000 */ nop +/* 87ADFC 8024121C 4500000F */ bc1f .L8024125C +/* 87AE00 80241220 0000882D */ daddu $s1, $zero, $zero +/* 87AE04 80241224 860200A6 */ lh $v0, 0xa6($s0) +/* 87AE08 80241228 3C013F00 */ lui $at, 0x3f00 +/* 87AE0C 8024122C 44811000 */ mtc1 $at, $f2 +/* 87AE10 80241230 44820000 */ mtc1 $v0, $f0 +/* 87AE14 80241234 00000000 */ nop +/* 87AE18 80241238 46800020 */ cvt.s.w $f0, $f0 +/* 87AE1C 8024123C 46020002 */ mul.s $f0, $f0, $f2 +/* 87AE20 80241240 00000000 */ nop +/* 87AE24 80241244 4600203C */ c.lt.s $f4, $f0 +/* 87AE28 80241248 00000000 */ nop +/* 87AE2C 8024124C 45000003 */ bc1f .L8024125C +/* 87AE30 80241250 24020001 */ addiu $v0, $zero, 1 +/* 87AE34 80241254 AE62008C */ sw $v0, 0x8c($s3) +.L80241258: +/* 87AE38 80241258 0000882D */ daddu $s1, $zero, $zero +.L8024125C: +/* 87AE3C 8024125C 3C013FC0 */ lui $at, 0x3fc0 +/* 87AE40 80241260 4481D000 */ mtc1 $at, $f26 +/* 87AE44 80241264 4480C000 */ mtc1 $zero, $f24 +/* 87AE48 80241268 3C013F00 */ lui $at, 0x3f00 +/* 87AE4C 8024126C 4481B000 */ mtc1 $at, $f22 +.L80241270: +/* 87AE50 80241270 0C00EAD2 */ jal get_npc_safe +/* 87AE54 80241274 0220202D */ daddu $a0, $s1, $zero +/* 87AE58 80241278 0040802D */ daddu $s0, $v0, $zero +/* 87AE5C 8024127C 52000035 */ beql $s0, $zero, .L80241354 +/* 87AE60 80241280 26310001 */ addiu $s1, $s1, 1 +/* 87AE64 80241284 C6020038 */ lwc1 $f2, 0x38($s0) +/* 87AE68 80241288 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87AE6C 8024128C 46001081 */ sub.s $f2, $f2, $f0 +/* 87AE70 80241290 46021182 */ mul.s $f6, $f2, $f2 +/* 87AE74 80241294 00000000 */ nop +/* 87AE78 80241298 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87AE7C 8024129C C6020040 */ lwc1 $f2, 0x40($s0) +/* 87AE80 802412A0 46001081 */ sub.s $f2, $f2, $f0 +/* 87AE84 802412A4 46021102 */ mul.s $f4, $f2, $f2 +/* 87AE88 802412A8 00000000 */ nop +/* 87AE8C 802412AC 860200A8 */ lh $v0, 0xa8($s0) +/* 87AE90 802412B0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87AE94 802412B4 44820000 */ mtc1 $v0, $f0 +/* 87AE98 802412B8 00000000 */ nop +/* 87AE9C 802412BC 46800020 */ cvt.s.w $f0, $f0 +/* 87AEA0 802412C0 46001080 */ add.s $f2, $f2, $f0 +/* 87AEA4 802412C4 461A1081 */ sub.s $f2, $f2, $f26 +/* 87AEA8 802412C8 46043300 */ add.s $f12, $f6, $f4 +/* 87AEAC 802412CC C640009C */ lwc1 $f0, 0x9c($s2) +/* 87AEB0 802412D0 46001501 */ sub.s $f20, $f2, $f0 +/* 87AEB4 802412D4 46006004 */ sqrt.s $f0, $f12 +/* 87AEB8 802412D8 46000032 */ c.eq.s $f0, $f0 +/* 87AEBC 802412DC 00000000 */ nop +/* 87AEC0 802412E0 45010003 */ bc1t .L802412F0 +/* 87AEC4 802412E4 00000000 */ nop +/* 87AEC8 802412E8 0C0187BC */ jal sqrtf +/* 87AECC 802412EC 00000000 */ nop +.L802412F0: +/* 87AED0 802412F0 4614C03C */ c.lt.s $f24, $f20 +/* 87AED4 802412F4 00000000 */ nop +/* 87AED8 802412F8 45000015 */ bc1f .L80241350 +/* 87AEDC 802412FC 46000106 */ mov.s $f4, $f0 +/* 87AEE0 80241300 860200A8 */ lh $v0, 0xa8($s0) +/* 87AEE4 80241304 44820000 */ mtc1 $v0, $f0 +/* 87AEE8 80241308 00000000 */ nop +/* 87AEEC 8024130C 46800020 */ cvt.s.w $f0, $f0 +/* 87AEF0 80241310 4600A03C */ c.lt.s $f20, $f0 +/* 87AEF4 80241314 00000000 */ nop +/* 87AEF8 80241318 4500000E */ bc1f .L80241354 +/* 87AEFC 8024131C 26310001 */ addiu $s1, $s1, 1 +/* 87AF00 80241320 860200A6 */ lh $v0, 0xa6($s0) +/* 87AF04 80241324 44820000 */ mtc1 $v0, $f0 +/* 87AF08 80241328 00000000 */ nop +/* 87AF0C 8024132C 46800020 */ cvt.s.w $f0, $f0 +/* 87AF10 80241330 46160002 */ mul.s $f0, $f0, $f22 +/* 87AF14 80241334 00000000 */ nop +/* 87AF18 80241338 4600203C */ c.lt.s $f4, $f0 +/* 87AF1C 8024133C 00000000 */ nop +/* 87AF20 80241340 45000004 */ bc1f .L80241354 +/* 87AF24 80241344 24020001 */ addiu $v0, $zero, 1 +/* 87AF28 80241348 080904D8 */ j .L80241360 +/* 87AF2C 8024134C AE62008C */ sw $v0, 0x8c($s3) +.L80241350: +/* 87AF30 80241350 26310001 */ addiu $s1, $s1, 1 +.L80241354: +/* 87AF34 80241354 2A220040 */ slti $v0, $s1, 0x40 +/* 87AF38 80241358 1440FFC5 */ bnez $v0, .L80241270 +/* 87AF3C 8024135C 00000000 */ nop +.L80241360: +/* 87AF40 80241360 8FBF0020 */ lw $ra, 0x20($sp) +/* 87AF44 80241364 8FB3001C */ lw $s3, 0x1c($sp) +/* 87AF48 80241368 8FB20018 */ lw $s2, 0x18($sp) +/* 87AF4C 8024136C 8FB10014 */ lw $s1, 0x14($sp) +/* 87AF50 80241370 8FB00010 */ lw $s0, 0x10($sp) +/* 87AF54 80241374 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 87AF58 80241378 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 87AF5C 8024137C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 87AF60 80241380 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 87AF64 80241384 24020002 */ addiu $v0, $zero, 2 +/* 87AF68 80241388 03E00008 */ jr $ra +/* 87AF6C 8024138C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80241390.s b/asm/nonmatchings/world/area_tik/tik_07/func_80241390.s new file mode 100644 index 0000000000..b98772f2c6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80241390.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241390 +/* 87AF70 80241390 3C088011 */ lui $t0, %hi(gPlayerStatus) +/* 87AF74 80241394 2508EFC8 */ addiu $t0, $t0, %lo(gPlayerStatus) +/* 87AF78 80241398 0000202D */ daddu $a0, $zero, $zero +/* 87AF7C 8024139C 3C058016 */ lui $a1, 0x8016 +/* 87AF80 802413A0 84A5A552 */ lh $a1, -0x5aae($a1) +/* 87AF84 802413A4 2407000E */ addiu $a3, $zero, 0xe +/* 87AF88 802413A8 24060010 */ addiu $a2, $zero, 0x10 +/* 87AF8C 802413AC 3C038024 */ lui $v1, 0x8024 +/* 87AF90 802413B0 246349B0 */ addiu $v1, $v1, 0x49b0 +.L802413B4: +/* 87AF94 802413B4 8C620000 */ lw $v0, ($v1) +/* 87AF98 802413B8 54A20008 */ bnel $a1, $v0, .L802413DC +/* 87AF9C 802413BC 24840001 */ addiu $a0, $a0, 1 +/* 87AFA0 802413C0 810200B4 */ lb $v0, 0xb4($t0) +/* 87AFA4 802413C4 10470003 */ beq $v0, $a3, .L802413D4 +/* 87AFA8 802413C8 00000000 */ nop +/* 87AFAC 802413CC 14460003 */ bne $v0, $a2, .L802413DC +/* 87AFB0 802413D0 24840001 */ addiu $a0, $a0, 1 +.L802413D4: +/* 87AFB4 802413D4 03E00008 */ jr $ra +/* 87AFB8 802413D8 0000102D */ daddu $v0, $zero, $zero +.L802413DC: +/* 87AFBC 802413DC 2C820004 */ sltiu $v0, $a0, 4 +/* 87AFC0 802413E0 1440FFF4 */ bnez $v0, .L802413B4 +/* 87AFC4 802413E4 24630004 */ addiu $v1, $v1, 4 +/* 87AFC8 802413E8 03E00008 */ jr $ra +/* 87AFCC 802413EC 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802413F0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802413F0.s new file mode 100644 index 0000000000..baccebf04c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802413F0.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413F0 +/* 87AFD0 802413F0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 87AFD4 802413F4 AFB3002C */ sw $s3, 0x2c($sp) +/* 87AFD8 802413F8 0080982D */ daddu $s3, $a0, $zero +/* 87AFDC 802413FC AFBF0030 */ sw $ra, 0x30($sp) +/* 87AFE0 80241400 AFB20028 */ sw $s2, 0x28($sp) +/* 87AFE4 80241404 AFB10024 */ sw $s1, 0x24($sp) +/* 87AFE8 80241408 AFB00020 */ sw $s0, 0x20($sp) +/* 87AFEC 8024140C 8E710148 */ lw $s1, 0x148($s3) +/* 87AFF0 80241410 86240008 */ lh $a0, 8($s1) +/* 87AFF4 80241414 0C00EABB */ jal get_npc_unsafe +/* 87AFF8 80241418 00A0902D */ daddu $s2, $a1, $zero +/* 87AFFC 8024141C 8E440004 */ lw $a0, 4($s2) +/* 87B000 80241420 0040802D */ daddu $s0, $v0, $zero +/* 87B004 80241424 00041FC2 */ srl $v1, $a0, 0x1f +/* 87B008 80241428 00832021 */ addu $a0, $a0, $v1 +/* 87B00C 8024142C 00042043 */ sra $a0, $a0, 1 +/* 87B010 80241430 0C00A67F */ jal rand_int +/* 87B014 80241434 24840001 */ addiu $a0, $a0, 1 +/* 87B018 80241438 8E430004 */ lw $v1, 4($s2) +/* 87B01C 8024143C 000327C2 */ srl $a0, $v1, 0x1f +/* 87B020 80241440 00641821 */ addu $v1, $v1, $a0 +/* 87B024 80241444 00031843 */ sra $v1, $v1, 1 +/* 87B028 80241448 00621821 */ addu $v1, $v1, $v0 +/* 87B02C 8024144C A603008E */ sh $v1, 0x8e($s0) +/* 87B030 80241450 8E2300D0 */ lw $v1, 0xd0($s1) +/* 87B034 80241454 C6000040 */ lwc1 $f0, 0x40($s0) +/* 87B038 80241458 C4640000 */ lwc1 $f4, ($v1) +/* 87B03C 8024145C 46802120 */ cvt.s.w $f4, $f4 +/* 87B040 80241460 C4620008 */ lwc1 $f2, 8($v1) +/* 87B044 80241464 468010A0 */ cvt.s.w $f2, $f2 +/* 87B048 80241468 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87B04C 8024146C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B050 80241470 44061000 */ mfc1 $a2, $f2 +/* 87B054 80241474 C440000C */ lwc1 $f0, 0xc($v0) +/* 87B058 80241478 46800020 */ cvt.s.w $f0, $f0 +/* 87B05C 8024147C E7A00014 */ swc1 $f0, 0x14($sp) +/* 87B060 80241480 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B064 80241484 44052000 */ mfc1 $a1, $f4 +/* 87B068 80241488 C4400010 */ lwc1 $f0, 0x10($v0) +/* 87B06C 8024148C 46800020 */ cvt.s.w $f0, $f0 +/* 87B070 80241490 E7A00018 */ swc1 $f0, 0x18($sp) +/* 87B074 80241494 8C640018 */ lw $a0, 0x18($v1) +/* 87B078 80241498 0C0123F5 */ jal is_point_within_region +/* 87B07C 8024149C 8E070038 */ lw $a3, 0x38($s0) +/* 87B080 802414A0 1040000E */ beqz $v0, .L802414DC +/* 87B084 802414A4 00000000 */ nop +/* 87B088 802414A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B08C 802414AC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 87B090 802414B0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 87B094 802414B4 C4460000 */ lwc1 $f6, ($v0) +/* 87B098 802414B8 468031A0 */ cvt.s.w $f6, $f6 +/* 87B09C 802414BC 44063000 */ mfc1 $a2, $f6 +/* 87B0A0 802414C0 C4460008 */ lwc1 $f6, 8($v0) +/* 87B0A4 802414C4 468031A0 */ cvt.s.w $f6, $f6 +/* 87B0A8 802414C8 44073000 */ mfc1 $a3, $f6 +/* 87B0AC 802414CC 0C00A720 */ jal atan2 +/* 87B0B0 802414D0 00000000 */ nop +/* 87B0B4 802414D4 08090543 */ j .L8024150C +/* 87B0B8 802414D8 E600000C */ swc1 $f0, 0xc($s0) +.L802414DC: +/* 87B0BC 802414DC 0C00A67F */ jal rand_int +/* 87B0C0 802414E0 2404003C */ addiu $a0, $zero, 0x3c +/* 87B0C4 802414E4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 87B0C8 802414E8 44820000 */ mtc1 $v0, $f0 +/* 87B0CC 802414EC 00000000 */ nop +/* 87B0D0 802414F0 46800020 */ cvt.s.w $f0, $f0 +/* 87B0D4 802414F4 46006300 */ add.s $f12, $f12, $f0 +/* 87B0D8 802414F8 3C0141F0 */ lui $at, 0x41f0 +/* 87B0DC 802414FC 44810000 */ mtc1 $at, $f0 +/* 87B0E0 80241500 0C00A6C9 */ jal clamp_angle +/* 87B0E4 80241504 46006301 */ sub.s $f12, $f12, $f0 +/* 87B0E8 80241508 E600000C */ swc1 $f0, 0xc($s0) +.L8024150C: +/* 87B0EC 8024150C 8E2200CC */ lw $v0, 0xcc($s1) +/* 87B0F0 80241510 8C420004 */ lw $v0, 4($v0) +/* 87B0F4 80241514 AE020028 */ sw $v0, 0x28($s0) +/* 87B0F8 80241518 AE600074 */ sw $zero, 0x74($s3) +/* 87B0FC 8024151C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B100 80241520 8C420014 */ lw $v0, 0x14($v0) +/* 87B104 80241524 04410004 */ bgez $v0, .L80241538 +/* 87B108 80241528 00000000 */ nop +/* 87B10C 8024152C C6400000 */ lwc1 $f0, ($s2) +/* 87B110 80241530 08090556 */ j .L80241558 +/* 87B114 80241534 E6000018 */ swc1 $f0, 0x18($s0) +.L80241538: +/* 87B118 80241538 3C018024 */ lui $at, 0x8024 +/* 87B11C 8024153C D42251B0 */ ldc1 $f2, 0x51b0($at) +/* 87B120 80241540 44820000 */ mtc1 $v0, $f0 +/* 87B124 80241544 00000000 */ nop +/* 87B128 80241548 46800021 */ cvt.d.w $f0, $f0 +/* 87B12C 8024154C 46220003 */ div.d $f0, $f0, $f2 +/* 87B130 80241550 46200020 */ cvt.s.d $f0, $f0 +/* 87B134 80241554 E6000018 */ swc1 $f0, 0x18($s0) +.L80241558: +/* 87B138 80241558 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B13C 8024155C 3C014059 */ lui $at, 0x4059 +/* 87B140 80241560 44811800 */ mtc1 $at, $f3 +/* 87B144 80241564 44801000 */ mtc1 $zero, $f2 +/* 87B148 80241568 46000021 */ cvt.d.s $f0, $f0 +/* 87B14C 8024156C 46220002 */ mul.d $f0, $f0, $f2 +/* 87B150 80241570 00000000 */ nop +/* 87B154 80241574 24020001 */ addiu $v0, $zero, 1 +/* 87B158 80241578 4620018D */ trunc.w.d $f6, $f0 +/* 87B15C 8024157C E626007C */ swc1 $f6, 0x7c($s1) +/* 87B160 80241580 AE620070 */ sw $v0, 0x70($s3) +/* 87B164 80241584 8FBF0030 */ lw $ra, 0x30($sp) +/* 87B168 80241588 8FB3002C */ lw $s3, 0x2c($sp) +/* 87B16C 8024158C 8FB20028 */ lw $s2, 0x28($sp) +/* 87B170 80241590 8FB10024 */ lw $s1, 0x24($sp) +/* 87B174 80241594 8FB00020 */ lw $s0, 0x20($sp) +/* 87B178 80241598 03E00008 */ jr $ra +/* 87B17C 8024159C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802415A0_879BE0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802415A0_879BE0.s new file mode 100644 index 0000000000..a9edf57b9b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802415A0_879BE0.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415A0_87B180 +/* 87B180 802415A0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 87B184 802415A4 AFB3004C */ sw $s3, 0x4c($sp) +/* 87B188 802415A8 0080982D */ daddu $s3, $a0, $zero +/* 87B18C 802415AC AFBF0058 */ sw $ra, 0x58($sp) +/* 87B190 802415B0 AFB50054 */ sw $s5, 0x54($sp) +/* 87B194 802415B4 AFB40050 */ sw $s4, 0x50($sp) +/* 87B198 802415B8 AFB20048 */ sw $s2, 0x48($sp) +/* 87B19C 802415BC AFB10044 */ sw $s1, 0x44($sp) +/* 87B1A0 802415C0 AFB00040 */ sw $s0, 0x40($sp) +/* 87B1A4 802415C4 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 87B1A8 802415C8 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 87B1AC 802415CC F7B60068 */ sdc1 $f22, 0x68($sp) +/* 87B1B0 802415D0 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 87B1B4 802415D4 8E710148 */ lw $s1, 0x148($s3) +/* 87B1B8 802415D8 00A0902D */ daddu $s2, $a1, $zero +/* 87B1BC 802415DC 86240008 */ lh $a0, 8($s1) +/* 87B1C0 802415E0 0C00EABB */ jal get_npc_unsafe +/* 87B1C4 802415E4 00C0A82D */ daddu $s5, $a2, $zero +/* 87B1C8 802415E8 0040802D */ daddu $s0, $v0, $zero +/* 87B1CC 802415EC 0000A02D */ daddu $s4, $zero, $zero +/* 87B1D0 802415F0 C624007C */ lwc1 $f4, 0x7c($s1) +/* 87B1D4 802415F4 46802120 */ cvt.s.w $f4, $f4 +/* 87B1D8 802415F8 C6220088 */ lwc1 $f2, 0x88($s1) +/* 87B1DC 802415FC 468010A0 */ cvt.s.w $f2, $f2 +/* 87B1E0 80241600 460010A1 */ cvt.d.s $f2, $f2 +/* 87B1E4 80241604 46002121 */ cvt.d.s $f4, $f4 +/* 87B1E8 80241608 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B1EC 8024160C 3C014059 */ lui $at, 0x4059 +/* 87B1F0 80241610 44813800 */ mtc1 $at, $f7 +/* 87B1F4 80241614 44803000 */ mtc1 $zero, $f6 +/* 87B1F8 80241618 46000021 */ cvt.d.s $f0, $f0 +/* 87B1FC 8024161C 46260002 */ mul.d $f0, $f0, $f6 +/* 87B200 80241620 00000000 */ nop +/* 87B204 80241624 24020001 */ addiu $v0, $zero, 1 +/* 87B208 80241628 8E24006C */ lw $a0, 0x6c($s1) +/* 87B20C 8024162C 46261083 */ div.d $f2, $f2, $f6 +/* 87B210 80241630 462010A0 */ cvt.s.d $f2, $f2 +/* 87B214 80241634 46262103 */ div.d $f4, $f4, $f6 +/* 87B218 80241638 46202520 */ cvt.s.d $f20, $f4 +/* 87B21C 8024163C 30830011 */ andi $v1, $a0, 0x11 +/* 87B220 80241640 4620020D */ trunc.w.d $f8, $f0 +/* 87B224 80241644 E628007C */ swc1 $f8, 0x7c($s1) +/* 87B228 80241648 C6200078 */ lwc1 $f0, 0x78($s1) +/* 87B22C 8024164C 46800020 */ cvt.s.w $f0, $f0 +/* 87B230 80241650 46000021 */ cvt.d.s $f0, $f0 +/* 87B234 80241654 46260003 */ div.d $f0, $f0, $f6 +/* 87B238 80241658 462006A0 */ cvt.s.d $f26, $f0 +/* 87B23C 8024165C C6200070 */ lwc1 $f0, 0x70($s1) +/* 87B240 80241660 46800020 */ cvt.s.w $f0, $f0 +/* 87B244 80241664 46000021 */ cvt.d.s $f0, $f0 +/* 87B248 80241668 46260003 */ div.d $f0, $f0, $f6 +/* 87B24C 8024166C 462005A0 */ cvt.s.d $f22, $f0 +/* 87B250 80241670 14620025 */ bne $v1, $v0, .L80241708 +/* 87B254 80241674 4602D600 */ add.s $f24, $f26, $f2 +/* 87B258 80241678 8E020000 */ lw $v0, ($s0) +/* 87B25C 8024167C 30420008 */ andi $v0, $v0, 8 +/* 87B260 80241680 10400009 */ beqz $v0, .L802416A8 +/* 87B264 80241684 27A50028 */ addiu $a1, $sp, 0x28 +/* 87B268 80241688 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B26C 8024168C 4600C001 */ sub.s $f0, $f24, $f0 +/* 87B270 80241690 4600B03C */ c.lt.s $f22, $f0 +/* 87B274 80241694 00000000 */ nop +/* 87B278 80241698 4500001B */ bc1f .L80241708 +/* 87B27C 8024169C 34820010 */ ori $v0, $a0, 0x10 +/* 87B280 802416A0 080905C2 */ j .L80241708 +/* 87B284 802416A4 AE22006C */ sw $v0, 0x6c($s1) +.L802416A8: +/* 87B288 802416A8 27A6002C */ addiu $a2, $sp, 0x2c +/* 87B28C 802416AC C6000038 */ lwc1 $f0, 0x38($s0) +/* 87B290 802416B0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87B294 802416B4 C6040040 */ lwc1 $f4, 0x40($s0) +/* 87B298 802416B8 3C01447A */ lui $at, 0x447a +/* 87B29C 802416BC 44813000 */ mtc1 $at, $f6 +/* 87B2A0 802416C0 27A20034 */ addiu $v0, $sp, 0x34 +/* 87B2A4 802416C4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 87B2A8 802416C8 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 87B2AC 802416CC E7A40030 */ swc1 $f4, 0x30($sp) +/* 87B2B0 802416D0 E7A60034 */ swc1 $f6, 0x34($sp) +/* 87B2B4 802416D4 AFA20010 */ sw $v0, 0x10($sp) +/* 87B2B8 802416D8 8E040080 */ lw $a0, 0x80($s0) +/* 87B2BC 802416DC 0C0372DF */ jal func_800DCB7C +/* 87B2C0 802416E0 27A70030 */ addiu $a3, $sp, 0x30 +/* 87B2C4 802416E4 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 87B2C8 802416E8 4600D001 */ sub.s $f0, $f26, $f0 +/* 87B2CC 802416EC 4600B03C */ c.lt.s $f22, $f0 +/* 87B2D0 802416F0 00000000 */ nop +/* 87B2D4 802416F4 45000004 */ bc1f .L80241708 +/* 87B2D8 802416F8 00000000 */ nop +/* 87B2DC 802416FC 8E22006C */ lw $v0, 0x6c($s1) +/* 87B2E0 80241700 34420010 */ ori $v0, $v0, 0x10 +/* 87B2E4 80241704 AE22006C */ sw $v0, 0x6c($s1) +.L80241708: +/* 87B2E8 80241708 8E22006C */ lw $v0, 0x6c($s1) +/* 87B2EC 8024170C 24030011 */ addiu $v1, $zero, 0x11 +/* 87B2F0 80241710 30420011 */ andi $v0, $v0, 0x11 +/* 87B2F4 80241714 14430039 */ bne $v0, $v1, .L802417FC +/* 87B2F8 80241718 00000000 */ nop +/* 87B2FC 8024171C 8E020000 */ lw $v0, ($s0) +/* 87B300 80241720 30420008 */ andi $v0, $v0, 8 +/* 87B304 80241724 1040000A */ beqz $v0, .L80241750 +/* 87B308 80241728 4600C106 */ mov.s $f4, $f24 +/* 87B30C 8024172C 4614C081 */ sub.s $f2, $f24, $f20 +/* 87B310 80241730 3C018024 */ lui $at, 0x8024 +/* 87B314 80241734 D42051B8 */ ldc1 $f0, 0x51b8($at) +/* 87B318 80241738 460010A1 */ cvt.d.s $f2, $f2 +/* 87B31C 8024173C 46201082 */ mul.d $f2, $f2, $f0 +/* 87B320 80241740 00000000 */ nop +/* 87B324 80241744 4600A021 */ cvt.d.s $f0, $f20 +/* 87B328 80241748 080905ED */ j .L802417B4 +/* 87B32C 8024174C 46220000 */ add.d $f0, $f0, $f2 +.L80241750: +/* 87B330 80241750 27A50028 */ addiu $a1, $sp, 0x28 +/* 87B334 80241754 27A6002C */ addiu $a2, $sp, 0x2c +/* 87B338 80241758 C6000038 */ lwc1 $f0, 0x38($s0) +/* 87B33C 8024175C C6020040 */ lwc1 $f2, 0x40($s0) +/* 87B340 80241760 3C01447A */ lui $at, 0x447a +/* 87B344 80241764 44812000 */ mtc1 $at, $f4 +/* 87B348 80241768 27A20034 */ addiu $v0, $sp, 0x34 +/* 87B34C 8024176C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 87B350 80241770 E7A00028 */ swc1 $f0, 0x28($sp) +/* 87B354 80241774 E7A20030 */ swc1 $f2, 0x30($sp) +/* 87B358 80241778 E7A40034 */ swc1 $f4, 0x34($sp) +/* 87B35C 8024177C AFA20010 */ sw $v0, 0x10($sp) +/* 87B360 80241780 8E040080 */ lw $a0, 0x80($s0) +/* 87B364 80241784 0C0372DF */ jal func_800DCB7C +/* 87B368 80241788 27A70030 */ addiu $a3, $sp, 0x30 +/* 87B36C 8024178C C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 87B370 80241790 461A2100 */ add.s $f4, $f4, $f26 +/* 87B374 80241794 46142081 */ sub.s $f2, $f4, $f20 +/* 87B378 80241798 3C018024 */ lui $at, 0x8024 +/* 87B37C 8024179C D42051C0 */ ldc1 $f0, 0x51c0($at) +/* 87B380 802417A0 460010A1 */ cvt.d.s $f2, $f2 +/* 87B384 802417A4 46201082 */ mul.d $f2, $f2, $f0 +/* 87B388 802417A8 00000000 */ nop +/* 87B38C 802417AC 4600A021 */ cvt.d.s $f0, $f20 +/* 87B390 802417B0 46220000 */ add.d $f0, $f0, $f2 +.L802417B4: +/* 87B394 802417B4 46200020 */ cvt.s.d $f0, $f0 +/* 87B398 802417B8 E600003C */ swc1 $f0, 0x3c($s0) +/* 87B39C 802417BC C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B3A0 802417C0 46002001 */ sub.s $f0, $f4, $f0 +/* 87B3A4 802417C4 3C013FF0 */ lui $at, 0x3ff0 +/* 87B3A8 802417C8 44811800 */ mtc1 $at, $f3 +/* 87B3AC 802417CC 44801000 */ mtc1 $zero, $f2 +/* 87B3B0 802417D0 46000005 */ abs.s $f0, $f0 +/* 87B3B4 802417D4 46000021 */ cvt.d.s $f0, $f0 +/* 87B3B8 802417D8 4622003C */ c.lt.d $f0, $f2 +/* 87B3BC 802417DC 00000000 */ nop +/* 87B3C0 802417E0 45000036 */ bc1f .L802418BC +/* 87B3C4 802417E4 2403FFEF */ addiu $v1, $zero, -0x11 +/* 87B3C8 802417E8 E604003C */ swc1 $f4, 0x3c($s0) +/* 87B3CC 802417EC 8E22006C */ lw $v0, 0x6c($s1) +/* 87B3D0 802417F0 00431024 */ and $v0, $v0, $v1 +/* 87B3D4 802417F4 0809062F */ j .L802418BC +/* 87B3D8 802417F8 AE22006C */ sw $v0, 0x6c($s1) +.L802417FC: +/* 87B3DC 802417FC 8E220070 */ lw $v0, 0x70($s1) +/* 87B3E0 80241800 1840002E */ blez $v0, .L802418BC +/* 87B3E4 80241804 00000000 */ nop +/* 87B3E8 80241808 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 87B3EC 8024180C 0C00A8BB */ jal sin_deg +/* 87B3F0 80241810 46806320 */ cvt.s.w $f12, $f12 +/* 87B3F4 80241814 8E020000 */ lw $v0, ($s0) +/* 87B3F8 80241818 30420008 */ andi $v0, $v0, 8 +/* 87B3FC 8024181C 10400003 */ beqz $v0, .L8024182C +/* 87B400 80241820 46000506 */ mov.s $f20, $f0 +/* 87B404 80241824 0809061B */ j .L8024186C +/* 87B408 80241828 0000102D */ daddu $v0, $zero, $zero +.L8024182C: +/* 87B40C 8024182C 27A50028 */ addiu $a1, $sp, 0x28 +/* 87B410 80241830 27A6002C */ addiu $a2, $sp, 0x2c +/* 87B414 80241834 C6000038 */ lwc1 $f0, 0x38($s0) +/* 87B418 80241838 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87B41C 8024183C C6040040 */ lwc1 $f4, 0x40($s0) +/* 87B420 80241840 3C01447A */ lui $at, 0x447a +/* 87B424 80241844 44813000 */ mtc1 $at, $f6 +/* 87B428 80241848 27A20034 */ addiu $v0, $sp, 0x34 +/* 87B42C 8024184C E7A00028 */ swc1 $f0, 0x28($sp) +/* 87B430 80241850 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 87B434 80241854 E7A40030 */ swc1 $f4, 0x30($sp) +/* 87B438 80241858 E7A60034 */ swc1 $f6, 0x34($sp) +/* 87B43C 8024185C AFA20010 */ sw $v0, 0x10($sp) +/* 87B440 80241860 8E040080 */ lw $a0, 0x80($s0) +/* 87B444 80241864 0C0372DF */ jal func_800DCB7C +/* 87B448 80241868 27A70030 */ addiu $a3, $sp, 0x30 +.L8024186C: +/* 87B44C 8024186C 10400007 */ beqz $v0, .L8024188C +/* 87B450 80241870 00000000 */ nop +/* 87B454 80241874 4616A082 */ mul.s $f2, $f20, $f22 +/* 87B458 80241878 00000000 */ nop +/* 87B45C 8024187C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 87B460 80241880 461A0000 */ add.s $f0, $f0, $f26 +/* 87B464 80241884 08090626 */ j .L80241898 +/* 87B468 80241888 46020000 */ add.s $f0, $f0, $f2 +.L8024188C: +/* 87B46C 8024188C 4616A002 */ mul.s $f0, $f20, $f22 +/* 87B470 80241890 00000000 */ nop +/* 87B474 80241894 4600C000 */ add.s $f0, $f24, $f0 +.L80241898: +/* 87B478 80241898 E600003C */ swc1 $f0, 0x3c($s0) +/* 87B47C 8024189C 8E220074 */ lw $v0, 0x74($s1) +/* 87B480 802418A0 2442000A */ addiu $v0, $v0, 0xa +/* 87B484 802418A4 44826000 */ mtc1 $v0, $f12 +/* 87B488 802418A8 00000000 */ nop +/* 87B48C 802418AC 0C00A6C9 */ jal clamp_angle +/* 87B490 802418B0 46806320 */ cvt.s.w $f12, $f12 +/* 87B494 802418B4 4600020D */ trunc.w.s $f8, $f0 +/* 87B498 802418B8 E6280074 */ swc1 $f8, 0x74($s1) +.L802418BC: +/* 87B49C 802418BC 8E220090 */ lw $v0, 0x90($s1) +/* 87B4A0 802418C0 1C40004A */ bgtz $v0, .L802419EC +/* 87B4A4 802418C4 2442FFFF */ addiu $v0, $v0, -1 +/* 87B4A8 802418C8 8E430014 */ lw $v1, 0x14($s2) +/* 87B4AC 802418CC 04600048 */ bltz $v1, .L802419F0 +/* 87B4B0 802418D0 00000000 */ nop +/* 87B4B4 802418D4 8E620074 */ lw $v0, 0x74($s3) +/* 87B4B8 802418D8 1C400042 */ bgtz $v0, .L802419E4 +/* 87B4BC 802418DC 2442FFFF */ addiu $v0, $v0, -1 +/* 87B4C0 802418E0 AE630074 */ sw $v1, 0x74($s3) +/* 87B4C4 802418E4 860200A8 */ lh $v0, 0xa8($s0) +/* 87B4C8 802418E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87B4CC 802418EC 44820000 */ mtc1 $v0, $f0 +/* 87B4D0 802418F0 00000000 */ nop +/* 87B4D4 802418F4 46800020 */ cvt.s.w $f0, $f0 +/* 87B4D8 802418F8 46001080 */ add.s $f2, $f2, $f0 +/* 87B4DC 802418FC 3C014024 */ lui $at, 0x4024 +/* 87B4E0 80241900 44810800 */ mtc1 $at, $f1 +/* 87B4E4 80241904 44800000 */ mtc1 $zero, $f0 +/* 87B4E8 80241908 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87B4EC 8024190C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87B4F0 80241910 460010A1 */ cvt.d.s $f2, $f2 +/* 87B4F4 80241914 46201080 */ add.d $f2, $f2, $f0 +/* 87B4F8 80241918 C440002C */ lwc1 $f0, 0x2c($v0) +/* 87B4FC 8024191C 46000021 */ cvt.d.s $f0, $f0 +/* 87B500 80241920 4622003C */ c.lt.d $f0, $f2 +/* 87B504 80241924 00000000 */ nop +/* 87B508 80241928 4500002C */ bc1f .L802419DC +/* 87B50C 8024192C 02A0202D */ daddu $a0, $s5, $zero +/* 87B510 80241930 AFA00010 */ sw $zero, 0x10($sp) +/* 87B514 80241934 8E46000C */ lw $a2, 0xc($s2) +/* 87B518 80241938 8E470010 */ lw $a3, 0x10($s2) +/* 87B51C 8024193C 0C01242D */ jal func_800490B4 +/* 87B520 80241940 0220282D */ daddu $a1, $s1, $zero +/* 87B524 80241944 10400025 */ beqz $v0, .L802419DC +/* 87B528 80241948 0000202D */ daddu $a0, $zero, $zero +/* 87B52C 8024194C 0200282D */ daddu $a1, $s0, $zero +/* 87B530 80241950 0000302D */ daddu $a2, $zero, $zero +/* 87B534 80241954 2412000C */ addiu $s2, $zero, 0xc +/* 87B538 80241958 860300A8 */ lh $v1, 0xa8($s0) +/* 87B53C 8024195C 3C013F80 */ lui $at, 0x3f80 +/* 87B540 80241960 44810000 */ mtc1 $at, $f0 +/* 87B544 80241964 3C014000 */ lui $at, 0x4000 +/* 87B548 80241968 44811000 */ mtc1 $at, $f2 +/* 87B54C 8024196C 3C01C1A0 */ lui $at, 0xc1a0 +/* 87B550 80241970 44812000 */ mtc1 $at, $f4 +/* 87B554 80241974 44834000 */ mtc1 $v1, $f8 +/* 87B558 80241978 00000000 */ nop +/* 87B55C 8024197C 46804220 */ cvt.s.w $f8, $f8 +/* 87B560 80241980 44074000 */ mfc1 $a3, $f8 +/* 87B564 80241984 27A20038 */ addiu $v0, $sp, 0x38 +/* 87B568 80241988 AFB2001C */ sw $s2, 0x1c($sp) +/* 87B56C 8024198C AFA20020 */ sw $v0, 0x20($sp) +/* 87B570 80241990 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87B574 80241994 E7A20014 */ swc1 $f2, 0x14($sp) +/* 87B578 80241998 0C01BFA4 */ jal fx_emote +/* 87B57C 8024199C E7A40018 */ swc1 $f4, 0x18($sp) +/* 87B580 802419A0 0200202D */ daddu $a0, $s0, $zero +/* 87B584 802419A4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 87B588 802419A8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 87B58C 802419AC 3C060020 */ lui $a2, 0x20 +/* 87B590 802419B0 0C012530 */ jal func_800494C0 +/* 87B594 802419B4 E4800064 */ swc1 $f0, 0x64($a0) +/* 87B598 802419B8 8E220018 */ lw $v0, 0x18($s1) +/* 87B59C 802419BC 9442002A */ lhu $v0, 0x2a($v0) +/* 87B5A0 802419C0 30420001 */ andi $v0, $v0, 1 +/* 87B5A4 802419C4 10400003 */ beqz $v0, .L802419D4 +/* 87B5A8 802419C8 2402000A */ addiu $v0, $zero, 0xa +/* 87B5AC 802419CC 080906E5 */ j .L80241B94 +/* 87B5B0 802419D0 AE620070 */ sw $v0, 0x70($s3) +.L802419D4: +/* 87B5B4 802419D4 080906E5 */ j .L80241B94 +/* 87B5B8 802419D8 AE720070 */ sw $s2, 0x70($s3) +.L802419DC: +/* 87B5BC 802419DC 8E620074 */ lw $v0, 0x74($s3) +/* 87B5C0 802419E0 2442FFFF */ addiu $v0, $v0, -1 +.L802419E4: +/* 87B5C4 802419E4 0809067C */ j .L802419F0 +/* 87B5C8 802419E8 AE620074 */ sw $v0, 0x74($s3) +.L802419EC: +/* 87B5CC 802419EC AE220090 */ sw $v0, 0x90($s1) +.L802419F0: +/* 87B5D0 802419F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 87B5D4 802419F4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 87B5D8 802419F8 C4620000 */ lwc1 $f2, ($v1) +/* 87B5DC 802419FC 468010A0 */ cvt.s.w $f2, $f2 +/* 87B5E0 80241A00 C4640008 */ lwc1 $f4, 8($v1) +/* 87B5E4 80241A04 46802120 */ cvt.s.w $f4, $f4 +/* 87B5E8 80241A08 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87B5EC 80241A0C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B5F0 80241A10 44051000 */ mfc1 $a1, $f2 +/* 87B5F4 80241A14 C440000C */ lwc1 $f0, 0xc($v0) +/* 87B5F8 80241A18 46800020 */ cvt.s.w $f0, $f0 +/* 87B5FC 80241A1C E7A00014 */ swc1 $f0, 0x14($sp) +/* 87B600 80241A20 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B604 80241A24 44062000 */ mfc1 $a2, $f4 +/* 87B608 80241A28 C4400010 */ lwc1 $f0, 0x10($v0) +/* 87B60C 80241A2C 46800020 */ cvt.s.w $f0, $f0 +/* 87B610 80241A30 E7A00018 */ swc1 $f0, 0x18($sp) +/* 87B614 80241A34 8C640018 */ lw $a0, 0x18($v1) +/* 87B618 80241A38 0C0123F5 */ jal is_point_within_region +/* 87B61C 80241A3C 8E070038 */ lw $a3, 0x38($s0) +/* 87B620 80241A40 1040001A */ beqz $v0, .L80241AAC +/* 87B624 80241A44 00000000 */ nop +/* 87B628 80241A48 8E060038 */ lw $a2, 0x38($s0) +/* 87B62C 80241A4C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B630 80241A50 8E070040 */ lw $a3, 0x40($s0) +/* 87B634 80241A54 C44C0000 */ lwc1 $f12, ($v0) +/* 87B638 80241A58 46806320 */ cvt.s.w $f12, $f12 +/* 87B63C 80241A5C C44E0008 */ lwc1 $f14, 8($v0) +/* 87B640 80241A60 0C00A7B5 */ jal dist2D +/* 87B644 80241A64 468073A0 */ cvt.s.w $f14, $f14 +/* 87B648 80241A68 C6020018 */ lwc1 $f2, 0x18($s0) +/* 87B64C 80241A6C 4600103C */ c.lt.s $f2, $f0 +/* 87B650 80241A70 00000000 */ nop +/* 87B654 80241A74 4500000D */ bc1f .L80241AAC +/* 87B658 80241A78 E7A00034 */ swc1 $f0, 0x34($sp) +/* 87B65C 80241A7C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 87B660 80241A80 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B664 80241A84 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 87B668 80241A88 C4480000 */ lwc1 $f8, ($v0) +/* 87B66C 80241A8C 46804220 */ cvt.s.w $f8, $f8 +/* 87B670 80241A90 44064000 */ mfc1 $a2, $f8 +/* 87B674 80241A94 C4480008 */ lwc1 $f8, 8($v0) +/* 87B678 80241A98 46804220 */ cvt.s.w $f8, $f8 +/* 87B67C 80241A9C 44074000 */ mfc1 $a3, $f8 +/* 87B680 80241AA0 0C00A720 */ jal atan2 +/* 87B684 80241AA4 24140001 */ addiu $s4, $zero, 1 +/* 87B688 80241AA8 E600000C */ swc1 $f0, 0xc($s0) +.L80241AAC: +/* 87B68C 80241AAC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 87B690 80241AB0 8C43000C */ lw $v1, 0xc($v0) +/* 87B694 80241AB4 8C420010 */ lw $v0, 0x10($v0) +/* 87B698 80241AB8 00621825 */ or $v1, $v1, $v0 +/* 87B69C 80241ABC 00741825 */ or $v1, $v1, $s4 +/* 87B6A0 80241AC0 10600008 */ beqz $v1, .L80241AE4 +/* 87B6A4 80241AC4 00000000 */ nop +/* 87B6A8 80241AC8 8602008C */ lh $v0, 0x8c($s0) +/* 87B6AC 80241ACC 14400031 */ bnez $v0, .L80241B94 +/* 87B6B0 80241AD0 00000000 */ nop +/* 87B6B4 80241AD4 8E050018 */ lw $a1, 0x18($s0) +/* 87B6B8 80241AD8 8E06000C */ lw $a2, 0xc($s0) +/* 87B6BC 80241ADC 0C00EA95 */ jal npc_move_heading +/* 87B6C0 80241AE0 0200202D */ daddu $a0, $s0, $zero +.L80241AE4: +/* 87B6C4 80241AE4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B6C8 80241AE8 3C014059 */ lui $at, 0x4059 +/* 87B6CC 80241AEC 44811800 */ mtc1 $at, $f3 +/* 87B6D0 80241AF0 44801000 */ mtc1 $zero, $f2 +/* 87B6D4 80241AF4 46000021 */ cvt.d.s $f0, $f0 +/* 87B6D8 80241AF8 46220002 */ mul.d $f0, $f0, $f2 +/* 87B6DC 80241AFC 00000000 */ nop +/* 87B6E0 80241B00 4620020D */ trunc.w.d $f8, $f0 +/* 87B6E4 80241B04 E628007C */ swc1 $f8, 0x7c($s1) +/* 87B6E8 80241B08 8E420004 */ lw $v0, 4($s2) +/* 87B6EC 80241B0C 18400021 */ blez $v0, .L80241B94 +/* 87B6F0 80241B10 00000000 */ nop +/* 87B6F4 80241B14 8602008E */ lh $v0, 0x8e($s0) +/* 87B6F8 80241B18 9603008E */ lhu $v1, 0x8e($s0) +/* 87B6FC 80241B1C 18400005 */ blez $v0, .L80241B34 +/* 87B700 80241B20 2462FFFF */ addiu $v0, $v1, -1 +/* 87B704 80241B24 A602008E */ sh $v0, 0x8e($s0) +/* 87B708 80241B28 00021400 */ sll $v0, $v0, 0x10 +/* 87B70C 80241B2C 1C400019 */ bgtz $v0, .L80241B94 +/* 87B710 80241B30 00000000 */ nop +.L80241B34: +/* 87B714 80241B34 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 87B718 80241B38 24020002 */ addiu $v0, $zero, 2 +/* 87B71C 80241B3C 0C00A67F */ jal rand_int +/* 87B720 80241B40 AE620070 */ sw $v0, 0x70($s3) +/* 87B724 80241B44 3C035555 */ lui $v1, 0x5555 +/* 87B728 80241B48 34635556 */ ori $v1, $v1, 0x5556 +/* 87B72C 80241B4C 00430018 */ mult $v0, $v1 +/* 87B730 80241B50 000227C3 */ sra $a0, $v0, 0x1f +/* 87B734 80241B54 00004010 */ mfhi $t0 +/* 87B738 80241B58 01042023 */ subu $a0, $t0, $a0 +/* 87B73C 80241B5C 00041840 */ sll $v1, $a0, 1 +/* 87B740 80241B60 00641821 */ addu $v1, $v1, $a0 +/* 87B744 80241B64 00431023 */ subu $v0, $v0, $v1 +/* 87B748 80241B68 24430002 */ addiu $v1, $v0, 2 +/* 87B74C 80241B6C AE630074 */ sw $v1, 0x74($s3) +/* 87B750 80241B70 8E42002C */ lw $v0, 0x2c($s2) +/* 87B754 80241B74 58400007 */ blezl $v0, .L80241B94 +/* 87B758 80241B78 AE600070 */ sw $zero, 0x70($s3) +/* 87B75C 80241B7C 8E420008 */ lw $v0, 8($s2) +/* 87B760 80241B80 18400003 */ blez $v0, .L80241B90 +/* 87B764 80241B84 28620003 */ slti $v0, $v1, 3 +/* 87B768 80241B88 10400002 */ beqz $v0, .L80241B94 +/* 87B76C 80241B8C 00000000 */ nop +.L80241B90: +/* 87B770 80241B90 AE600070 */ sw $zero, 0x70($s3) +.L80241B94: +/* 87B774 80241B94 8FBF0058 */ lw $ra, 0x58($sp) +/* 87B778 80241B98 8FB50054 */ lw $s5, 0x54($sp) +/* 87B77C 80241B9C 8FB40050 */ lw $s4, 0x50($sp) +/* 87B780 80241BA0 8FB3004C */ lw $s3, 0x4c($sp) +/* 87B784 80241BA4 8FB20048 */ lw $s2, 0x48($sp) +/* 87B788 80241BA8 8FB10044 */ lw $s1, 0x44($sp) +/* 87B78C 80241BAC 8FB00040 */ lw $s0, 0x40($sp) +/* 87B790 80241BB0 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 87B794 80241BB4 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 87B798 80241BB8 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 87B79C 80241BBC D7B40060 */ ldc1 $f20, 0x60($sp) +/* 87B7A0 80241BC0 03E00008 */ jr $ra +/* 87B7A4 80241BC4 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80241BC8.s b/asm/nonmatchings/world/area_tik/tik_07/func_80241BC8.s new file mode 100644 index 0000000000..90fedcd572 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80241BC8.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241BC8 +/* 87B7A8 80241BC8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 87B7AC 80241BCC AFB3001C */ sw $s3, 0x1c($sp) +/* 87B7B0 80241BD0 0080982D */ daddu $s3, $a0, $zero +/* 87B7B4 80241BD4 AFBF0020 */ sw $ra, 0x20($sp) +/* 87B7B8 80241BD8 AFB20018 */ sw $s2, 0x18($sp) +/* 87B7BC 80241BDC AFB10014 */ sw $s1, 0x14($sp) +/* 87B7C0 80241BE0 AFB00010 */ sw $s0, 0x10($sp) +/* 87B7C4 80241BE4 8E720148 */ lw $s2, 0x148($s3) +/* 87B7C8 80241BE8 86440008 */ lh $a0, 8($s2) +/* 87B7CC 80241BEC 0C00EABB */ jal get_npc_unsafe +/* 87B7D0 80241BF0 00A0882D */ daddu $s1, $a1, $zero +/* 87B7D4 80241BF4 8E240008 */ lw $a0, 8($s1) +/* 87B7D8 80241BF8 0040802D */ daddu $s0, $v0, $zero +/* 87B7DC 80241BFC 00041FC2 */ srl $v1, $a0, 0x1f +/* 87B7E0 80241C00 00832021 */ addu $a0, $a0, $v1 +/* 87B7E4 80241C04 00042043 */ sra $a0, $a0, 1 +/* 87B7E8 80241C08 0C00A67F */ jal rand_int +/* 87B7EC 80241C0C 24840001 */ addiu $a0, $a0, 1 +/* 87B7F0 80241C10 8E230008 */ lw $v1, 8($s1) +/* 87B7F4 80241C14 240400B4 */ addiu $a0, $zero, 0xb4 +/* 87B7F8 80241C18 00032FC2 */ srl $a1, $v1, 0x1f +/* 87B7FC 80241C1C 00651821 */ addu $v1, $v1, $a1 +/* 87B800 80241C20 00031843 */ sra $v1, $v1, 1 +/* 87B804 80241C24 00621821 */ addu $v1, $v1, $v0 +/* 87B808 80241C28 0C00A67F */ jal rand_int +/* 87B80C 80241C2C A603008E */ sh $v1, 0x8e($s0) +/* 87B810 80241C30 C60C000C */ lwc1 $f12, 0xc($s0) +/* 87B814 80241C34 44820000 */ mtc1 $v0, $f0 +/* 87B818 80241C38 00000000 */ nop +/* 87B81C 80241C3C 46800020 */ cvt.s.w $f0, $f0 +/* 87B820 80241C40 46006300 */ add.s $f12, $f12, $f0 +/* 87B824 80241C44 3C0142B4 */ lui $at, 0x42b4 +/* 87B828 80241C48 44810000 */ mtc1 $at, $f0 +/* 87B82C 80241C4C 0C00A6C9 */ jal clamp_angle +/* 87B830 80241C50 46006301 */ sub.s $f12, $f12, $f0 +/* 87B834 80241C54 E600000C */ swc1 $f0, 0xc($s0) +/* 87B838 80241C58 8E4200CC */ lw $v0, 0xcc($s2) +/* 87B83C 80241C5C 8C420000 */ lw $v0, ($v0) +/* 87B840 80241C60 AE020028 */ sw $v0, 0x28($s0) +/* 87B844 80241C64 24020003 */ addiu $v0, $zero, 3 +/* 87B848 80241C68 AE620070 */ sw $v0, 0x70($s3) +/* 87B84C 80241C6C 8FBF0020 */ lw $ra, 0x20($sp) +/* 87B850 80241C70 8FB3001C */ lw $s3, 0x1c($sp) +/* 87B854 80241C74 8FB20018 */ lw $s2, 0x18($sp) +/* 87B858 80241C78 8FB10014 */ lw $s1, 0x14($sp) +/* 87B85C 80241C7C 8FB00010 */ lw $s0, 0x10($sp) +/* 87B860 80241C80 03E00008 */ jr $ra +/* 87B864 80241C84 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80241C88.s b/asm/nonmatchings/world/area_tik/tik_07/func_80241C88.s new file mode 100644 index 0000000000..7b14b182f3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80241C88.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C88 +/* 87B868 80241C88 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 87B86C 80241C8C AFB3004C */ sw $s3, 0x4c($sp) +/* 87B870 80241C90 0080982D */ daddu $s3, $a0, $zero +/* 87B874 80241C94 AFBF0054 */ sw $ra, 0x54($sp) +/* 87B878 80241C98 AFB40050 */ sw $s4, 0x50($sp) +/* 87B87C 80241C9C AFB20048 */ sw $s2, 0x48($sp) +/* 87B880 80241CA0 AFB10044 */ sw $s1, 0x44($sp) +/* 87B884 80241CA4 AFB00040 */ sw $s0, 0x40($sp) +/* 87B888 80241CA8 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 87B88C 80241CAC F7B80068 */ sdc1 $f24, 0x68($sp) +/* 87B890 80241CB0 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 87B894 80241CB4 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 87B898 80241CB8 8E710148 */ lw $s1, 0x148($s3) +/* 87B89C 80241CBC 00A0902D */ daddu $s2, $a1, $zero +/* 87B8A0 80241CC0 86240008 */ lh $a0, 8($s1) +/* 87B8A4 80241CC4 0C00EABB */ jal get_npc_unsafe +/* 87B8A8 80241CC8 00C0A02D */ daddu $s4, $a2, $zero +/* 87B8AC 80241CCC 0040802D */ daddu $s0, $v0, $zero +/* 87B8B0 80241CD0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 87B8B4 80241CD4 46800020 */ cvt.s.w $f0, $f0 +/* 87B8B8 80241CD8 46000021 */ cvt.d.s $f0, $f0 +/* 87B8BC 80241CDC 3C014059 */ lui $at, 0x4059 +/* 87B8C0 80241CE0 44811800 */ mtc1 $at, $f3 +/* 87B8C4 80241CE4 44801000 */ mtc1 $zero, $f2 +/* 87B8C8 80241CE8 8602008E */ lh $v0, 0x8e($s0) +/* 87B8CC 80241CEC 9603008E */ lhu $v1, 0x8e($s0) +/* 87B8D0 80241CF0 46220003 */ div.d $f0, $f0, $f2 +/* 87B8D4 80241CF4 46200620 */ cvt.s.d $f24, $f0 +/* 87B8D8 80241CF8 C6200088 */ lwc1 $f0, 0x88($s1) +/* 87B8DC 80241CFC 46800020 */ cvt.s.w $f0, $f0 +/* 87B8E0 80241D00 46000021 */ cvt.d.s $f0, $f0 +/* 87B8E4 80241D04 46220003 */ div.d $f0, $f0, $f2 +/* 87B8E8 80241D08 46200020 */ cvt.s.d $f0, $f0 +/* 87B8EC 80241D0C 18400003 */ blez $v0, .L80241D1C +/* 87B8F0 80241D10 4600C680 */ add.s $f26, $f24, $f0 +/* 87B8F4 80241D14 2462FFFF */ addiu $v0, $v1, -1 +/* 87B8F8 80241D18 A602008E */ sh $v0, 0x8e($s0) +.L80241D1C: +/* 87B8FC 80241D1C 8E220070 */ lw $v0, 0x70($s1) +/* 87B900 80241D20 18400034 */ blez $v0, .L80241DF4 +/* 87B904 80241D24 00000000 */ nop +/* 87B908 80241D28 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 87B90C 80241D2C 46806320 */ cvt.s.w $f12, $f12 +/* 87B910 80241D30 44820000 */ mtc1 $v0, $f0 +/* 87B914 80241D34 00000000 */ nop +/* 87B918 80241D38 46800020 */ cvt.s.w $f0, $f0 +/* 87B91C 80241D3C 46000021 */ cvt.d.s $f0, $f0 +/* 87B920 80241D40 46220003 */ div.d $f0, $f0, $f2 +/* 87B924 80241D44 0C00A8BB */ jal sin_deg +/* 87B928 80241D48 462005A0 */ cvt.s.d $f22, $f0 +/* 87B92C 80241D4C 8E020000 */ lw $v0, ($s0) +/* 87B930 80241D50 30420008 */ andi $v0, $v0, 8 +/* 87B934 80241D54 10400003 */ beqz $v0, .L80241D64 +/* 87B938 80241D58 46000506 */ mov.s $f20, $f0 +/* 87B93C 80241D5C 08090769 */ j .L80241DA4 +/* 87B940 80241D60 0000102D */ daddu $v0, $zero, $zero +.L80241D64: +/* 87B944 80241D64 27A50028 */ addiu $a1, $sp, 0x28 +/* 87B948 80241D68 27A6002C */ addiu $a2, $sp, 0x2c +/* 87B94C 80241D6C C6000038 */ lwc1 $f0, 0x38($s0) +/* 87B950 80241D70 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87B954 80241D74 C6040040 */ lwc1 $f4, 0x40($s0) +/* 87B958 80241D78 3C01447A */ lui $at, 0x447a +/* 87B95C 80241D7C 44813000 */ mtc1 $at, $f6 +/* 87B960 80241D80 27A20034 */ addiu $v0, $sp, 0x34 +/* 87B964 80241D84 E7A00028 */ swc1 $f0, 0x28($sp) +/* 87B968 80241D88 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 87B96C 80241D8C E7A40030 */ swc1 $f4, 0x30($sp) +/* 87B970 80241D90 E7A60034 */ swc1 $f6, 0x34($sp) +/* 87B974 80241D94 AFA20010 */ sw $v0, 0x10($sp) +/* 87B978 80241D98 8E040080 */ lw $a0, 0x80($s0) +/* 87B97C 80241D9C 0C0372DF */ jal func_800DCB7C +/* 87B980 80241DA0 27A70030 */ addiu $a3, $sp, 0x30 +.L80241DA4: +/* 87B984 80241DA4 10400007 */ beqz $v0, .L80241DC4 +/* 87B988 80241DA8 00000000 */ nop +/* 87B98C 80241DAC 4616A082 */ mul.s $f2, $f20, $f22 +/* 87B990 80241DB0 00000000 */ nop +/* 87B994 80241DB4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 87B998 80241DB8 46180000 */ add.s $f0, $f0, $f24 +/* 87B99C 80241DBC 08090774 */ j .L80241DD0 +/* 87B9A0 80241DC0 46020000 */ add.s $f0, $f0, $f2 +.L80241DC4: +/* 87B9A4 80241DC4 4616A002 */ mul.s $f0, $f20, $f22 +/* 87B9A8 80241DC8 00000000 */ nop +/* 87B9AC 80241DCC 4600D000 */ add.s $f0, $f26, $f0 +.L80241DD0: +/* 87B9B0 80241DD0 E600003C */ swc1 $f0, 0x3c($s0) +/* 87B9B4 80241DD4 8E220074 */ lw $v0, 0x74($s1) +/* 87B9B8 80241DD8 2442000A */ addiu $v0, $v0, 0xa +/* 87B9BC 80241DDC 44826000 */ mtc1 $v0, $f12 +/* 87B9C0 80241DE0 00000000 */ nop +/* 87B9C4 80241DE4 0C00A6C9 */ jal clamp_angle +/* 87B9C8 80241DE8 46806320 */ cvt.s.w $f12, $f12 +/* 87B9CC 80241DEC 4600020D */ trunc.w.s $f8, $f0 +/* 87B9D0 80241DF0 E6280074 */ swc1 $f8, 0x74($s1) +.L80241DF4: +/* 87B9D4 80241DF4 8E220090 */ lw $v0, 0x90($s1) +/* 87B9D8 80241DF8 1C400040 */ bgtz $v0, .L80241EFC +/* 87B9DC 80241DFC 2442FFFF */ addiu $v0, $v0, -1 +/* 87B9E0 80241E00 860200A8 */ lh $v0, 0xa8($s0) +/* 87B9E4 80241E04 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87B9E8 80241E08 44821000 */ mtc1 $v0, $f2 +/* 87B9EC 80241E0C 00000000 */ nop +/* 87B9F0 80241E10 468010A0 */ cvt.s.w $f2, $f2 +/* 87B9F4 80241E14 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87B9F8 80241E18 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87B9FC 80241E1C 46020000 */ add.s $f0, $f0, $f2 +/* 87BA00 80241E20 3C014024 */ lui $at, 0x4024 +/* 87BA04 80241E24 44812800 */ mtc1 $at, $f5 +/* 87BA08 80241E28 44802000 */ mtc1 $zero, $f4 +/* 87BA0C 80241E2C C442002C */ lwc1 $f2, 0x2c($v0) +/* 87BA10 80241E30 46000021 */ cvt.d.s $f0, $f0 +/* 87BA14 80241E34 46240000 */ add.d $f0, $f0, $f4 +/* 87BA18 80241E38 460010A1 */ cvt.d.s $f2, $f2 +/* 87BA1C 80241E3C 4620103C */ c.lt.d $f2, $f0 +/* 87BA20 80241E40 00000000 */ nop +/* 87BA24 80241E44 4500002E */ bc1f .L80241F00 +/* 87BA28 80241E48 0280202D */ daddu $a0, $s4, $zero +/* 87BA2C 80241E4C 24020001 */ addiu $v0, $zero, 1 +/* 87BA30 80241E50 AFA20010 */ sw $v0, 0x10($sp) +/* 87BA34 80241E54 8E460024 */ lw $a2, 0x24($s2) +/* 87BA38 80241E58 8E470028 */ lw $a3, 0x28($s2) +/* 87BA3C 80241E5C 0C01242D */ jal func_800490B4 +/* 87BA40 80241E60 0220282D */ daddu $a1, $s1, $zero +/* 87BA44 80241E64 10400026 */ beqz $v0, .L80241F00 +/* 87BA48 80241E68 0000202D */ daddu $a0, $zero, $zero +/* 87BA4C 80241E6C 0200282D */ daddu $a1, $s0, $zero +/* 87BA50 80241E70 0000302D */ daddu $a2, $zero, $zero +/* 87BA54 80241E74 2412000C */ addiu $s2, $zero, 0xc +/* 87BA58 80241E78 860300A8 */ lh $v1, 0xa8($s0) +/* 87BA5C 80241E7C 3C013F80 */ lui $at, 0x3f80 +/* 87BA60 80241E80 44810000 */ mtc1 $at, $f0 +/* 87BA64 80241E84 3C014000 */ lui $at, 0x4000 +/* 87BA68 80241E88 44811000 */ mtc1 $at, $f2 +/* 87BA6C 80241E8C 3C01C1A0 */ lui $at, 0xc1a0 +/* 87BA70 80241E90 44812000 */ mtc1 $at, $f4 +/* 87BA74 80241E94 44834000 */ mtc1 $v1, $f8 +/* 87BA78 80241E98 00000000 */ nop +/* 87BA7C 80241E9C 46804220 */ cvt.s.w $f8, $f8 +/* 87BA80 80241EA0 44074000 */ mfc1 $a3, $f8 +/* 87BA84 80241EA4 27A20038 */ addiu $v0, $sp, 0x38 +/* 87BA88 80241EA8 AFB2001C */ sw $s2, 0x1c($sp) +/* 87BA8C 80241EAC AFA20020 */ sw $v0, 0x20($sp) +/* 87BA90 80241EB0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87BA94 80241EB4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 87BA98 80241EB8 0C01BFA4 */ jal fx_emote +/* 87BA9C 80241EBC E7A40018 */ swc1 $f4, 0x18($sp) +/* 87BAA0 80241EC0 0200202D */ daddu $a0, $s0, $zero +/* 87BAA4 80241EC4 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 87BAA8 80241EC8 C480003C */ lwc1 $f0, 0x3c($a0) +/* 87BAAC 80241ECC 3C060020 */ lui $a2, 0x20 +/* 87BAB0 80241ED0 0C012530 */ jal func_800494C0 +/* 87BAB4 80241ED4 E4800064 */ swc1 $f0, 0x64($a0) +/* 87BAB8 80241ED8 8E220018 */ lw $v0, 0x18($s1) +/* 87BABC 80241EDC 9442002A */ lhu $v0, 0x2a($v0) +/* 87BAC0 80241EE0 30420001 */ andi $v0, $v0, 1 +/* 87BAC4 80241EE4 10400003 */ beqz $v0, .L80241EF4 +/* 87BAC8 80241EE8 2402000A */ addiu $v0, $zero, 0xa +/* 87BACC 80241EEC 080907E7 */ j .L80241F9C +/* 87BAD0 80241EF0 AE620070 */ sw $v0, 0x70($s3) +.L80241EF4: +/* 87BAD4 80241EF4 080907E7 */ j .L80241F9C +/* 87BAD8 80241EF8 AE720070 */ sw $s2, 0x70($s3) +.L80241EFC: +/* 87BADC 80241EFC AE220090 */ sw $v0, 0x90($s1) +.L80241F00: +/* 87BAE0 80241F00 8602008C */ lh $v0, 0x8c($s0) +/* 87BAE4 80241F04 14400025 */ bnez $v0, .L80241F9C +/* 87BAE8 80241F08 00000000 */ nop +/* 87BAEC 80241F0C 8602008E */ lh $v0, 0x8e($s0) +/* 87BAF0 80241F10 1C400022 */ bgtz $v0, .L80241F9C +/* 87BAF4 80241F14 00000000 */ nop +/* 87BAF8 80241F18 8E620074 */ lw $v0, 0x74($s3) +/* 87BAFC 80241F1C 2442FFFF */ addiu $v0, $v0, -1 +/* 87BB00 80241F20 1840001D */ blez $v0, .L80241F98 +/* 87BB04 80241F24 AE620074 */ sw $v0, 0x74($s3) +/* 87BB08 80241F28 8E220018 */ lw $v0, 0x18($s1) +/* 87BB0C 80241F2C 9442002A */ lhu $v0, 0x2a($v0) +/* 87BB10 80241F30 30420010 */ andi $v0, $v0, 0x10 +/* 87BB14 80241F34 14400007 */ bnez $v0, .L80241F54 +/* 87BB18 80241F38 00000000 */ nop +/* 87BB1C 80241F3C C600000C */ lwc1 $f0, 0xc($s0) +/* 87BB20 80241F40 3C014334 */ lui $at, 0x4334 +/* 87BB24 80241F44 44816000 */ mtc1 $at, $f12 +/* 87BB28 80241F48 0C00A6C9 */ jal clamp_angle +/* 87BB2C 80241F4C 460C0300 */ add.s $f12, $f0, $f12 +/* 87BB30 80241F50 E600000C */ swc1 $f0, 0xc($s0) +.L80241F54: +/* 87BB34 80241F54 0C00A67F */ jal rand_int +/* 87BB38 80241F58 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 87BB3C 80241F5C 3C032E8B */ lui $v1, 0x2e8b +/* 87BB40 80241F60 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 87BB44 80241F64 00430018 */ mult $v0, $v1 +/* 87BB48 80241F68 00021FC3 */ sra $v1, $v0, 0x1f +/* 87BB4C 80241F6C 00004010 */ mfhi $t0 +/* 87BB50 80241F70 00082043 */ sra $a0, $t0, 1 +/* 87BB54 80241F74 00832023 */ subu $a0, $a0, $v1 +/* 87BB58 80241F78 00041840 */ sll $v1, $a0, 1 +/* 87BB5C 80241F7C 00641821 */ addu $v1, $v1, $a0 +/* 87BB60 80241F80 00031880 */ sll $v1, $v1, 2 +/* 87BB64 80241F84 00641823 */ subu $v1, $v1, $a0 +/* 87BB68 80241F88 00431023 */ subu $v0, $v0, $v1 +/* 87BB6C 80241F8C 24420005 */ addiu $v0, $v0, 5 +/* 87BB70 80241F90 080907E7 */ j .L80241F9C +/* 87BB74 80241F94 A602008E */ sh $v0, 0x8e($s0) +.L80241F98: +/* 87BB78 80241F98 AE600070 */ sw $zero, 0x70($s3) +.L80241F9C: +/* 87BB7C 80241F9C 8FBF0054 */ lw $ra, 0x54($sp) +/* 87BB80 80241FA0 8FB40050 */ lw $s4, 0x50($sp) +/* 87BB84 80241FA4 8FB3004C */ lw $s3, 0x4c($sp) +/* 87BB88 80241FA8 8FB20048 */ lw $s2, 0x48($sp) +/* 87BB8C 80241FAC 8FB10044 */ lw $s1, 0x44($sp) +/* 87BB90 80241FB0 8FB00040 */ lw $s0, 0x40($sp) +/* 87BB94 80241FB4 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 87BB98 80241FB8 D7B80068 */ ldc1 $f24, 0x68($sp) +/* 87BB9C 80241FBC D7B60060 */ ldc1 $f22, 0x60($sp) +/* 87BBA0 80241FC0 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 87BBA4 80241FC4 03E00008 */ jr $ra +/* 87BBA8 80241FC8 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80241FCC.s b/asm/nonmatchings/world/area_tik/tik_07/func_80241FCC.s new file mode 100644 index 0000000000..828d536748 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80241FCC.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FCC +/* 87BBAC 80241FCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87BBB0 80241FD0 AFB20018 */ sw $s2, 0x18($sp) +/* 87BBB4 80241FD4 0080902D */ daddu $s2, $a0, $zero +/* 87BBB8 80241FD8 AFBF001C */ sw $ra, 0x1c($sp) +/* 87BBBC 80241FDC AFB10014 */ sw $s1, 0x14($sp) +/* 87BBC0 80241FE0 AFB00010 */ sw $s0, 0x10($sp) +/* 87BBC4 80241FE4 8E510148 */ lw $s1, 0x148($s2) +/* 87BBC8 80241FE8 0C00EABB */ jal get_npc_unsafe +/* 87BBCC 80241FEC 86240008 */ lh $a0, 8($s1) +/* 87BBD0 80241FF0 0040802D */ daddu $s0, $v0, $zero +/* 87BBD4 80241FF4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87BBD8 80241FF8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87BBDC 80241FFC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 87BBE0 80242000 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 87BBE4 80242004 A600008E */ sh $zero, 0x8e($s0) +/* 87BBE8 80242008 8C460028 */ lw $a2, 0x28($v0) +/* 87BBEC 8024200C 0C00A720 */ jal atan2 +/* 87BBF0 80242010 8C470030 */ lw $a3, 0x30($v0) +/* 87BBF4 80242014 E600000C */ swc1 $f0, 0xc($s0) +/* 87BBF8 80242018 8E2200CC */ lw $v0, 0xcc($s1) +/* 87BBFC 8024201C 8C420020 */ lw $v0, 0x20($v0) +/* 87BC00 80242020 AE020028 */ sw $v0, 0x28($s0) +/* 87BC04 80242024 2402000B */ addiu $v0, $zero, 0xb +/* 87BC08 80242028 AE420070 */ sw $v0, 0x70($s2) +/* 87BC0C 8024202C 8FBF001C */ lw $ra, 0x1c($sp) +/* 87BC10 80242030 8FB20018 */ lw $s2, 0x18($sp) +/* 87BC14 80242034 8FB10014 */ lw $s1, 0x14($sp) +/* 87BC18 80242038 8FB00010 */ lw $s0, 0x10($sp) +/* 87BC1C 8024203C 03E00008 */ jr $ra +/* 87BC20 80242040 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80242044.s b/asm/nonmatchings/world/area_tik/tik_07/func_80242044.s new file mode 100644 index 0000000000..53fd6c1f1d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80242044.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242044 +/* 87BC24 80242044 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87BC28 80242048 AFB00010 */ sw $s0, 0x10($sp) +/* 87BC2C 8024204C 0080802D */ daddu $s0, $a0, $zero +/* 87BC30 80242050 AFBF0014 */ sw $ra, 0x14($sp) +/* 87BC34 80242054 8E020148 */ lw $v0, 0x148($s0) +/* 87BC38 80242058 0C00EABB */ jal get_npc_unsafe +/* 87BC3C 8024205C 84440008 */ lh $a0, 8($v0) +/* 87BC40 80242060 9443008E */ lhu $v1, 0x8e($v0) +/* 87BC44 80242064 C440003C */ lwc1 $f0, 0x3c($v0) +/* 87BC48 80242068 24640001 */ addiu $a0, $v1, 1 +/* 87BC4C 8024206C 00031C00 */ sll $v1, $v1, 0x10 +/* 87BC50 80242070 00031B83 */ sra $v1, $v1, 0xe +/* 87BC54 80242074 A444008E */ sh $a0, 0x8e($v0) +/* 87BC58 80242078 3C018024 */ lui $at, 0x8024 +/* 87BC5C 8024207C 00230821 */ addu $at, $at, $v1 +/* 87BC60 80242080 C4224CB0 */ lwc1 $f2, 0x4cb0($at) +/* 87BC64 80242084 8443008E */ lh $v1, 0x8e($v0) +/* 87BC68 80242088 46020000 */ add.s $f0, $f0, $f2 +/* 87BC6C 8024208C 28630005 */ slti $v1, $v1, 5 +/* 87BC70 80242090 14600003 */ bnez $v1, .L802420A0 +/* 87BC74 80242094 E440003C */ swc1 $f0, 0x3c($v0) +/* 87BC78 80242098 2402000C */ addiu $v0, $zero, 0xc +/* 87BC7C 8024209C AE020070 */ sw $v0, 0x70($s0) +.L802420A0: +/* 87BC80 802420A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 87BC84 802420A4 8FB00010 */ lw $s0, 0x10($sp) +/* 87BC88 802420A8 03E00008 */ jr $ra +/* 87BC8C 802420AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802420B0.s b/asm/nonmatchings/world/area_tik/tik_07/func_802420B0.s new file mode 100644 index 0000000000..e3921af5f8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802420B0.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802420B0 +/* 87BC90 802420B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 87BC94 802420B4 AFB3001C */ sw $s3, 0x1c($sp) +/* 87BC98 802420B8 0080982D */ daddu $s3, $a0, $zero +/* 87BC9C 802420BC AFBF0020 */ sw $ra, 0x20($sp) +/* 87BCA0 802420C0 AFB20018 */ sw $s2, 0x18($sp) +/* 87BCA4 802420C4 AFB10014 */ sw $s1, 0x14($sp) +/* 87BCA8 802420C8 AFB00010 */ sw $s0, 0x10($sp) +/* 87BCAC 802420CC 8E720148 */ lw $s2, 0x148($s3) +/* 87BCB0 802420D0 86440008 */ lh $a0, 8($s2) +/* 87BCB4 802420D4 0C00EABB */ jal get_npc_unsafe +/* 87BCB8 802420D8 00A0802D */ daddu $s0, $a1, $zero +/* 87BCBC 802420DC 0040882D */ daddu $s1, $v0, $zero +/* 87BCC0 802420E0 C6420080 */ lwc1 $f2, 0x80($s2) +/* 87BCC4 802420E4 468010A0 */ cvt.s.w $f2, $f2 +/* 87BCC8 802420E8 460010A1 */ cvt.d.s $f2, $f2 +/* 87BCCC 802420EC C6400084 */ lwc1 $f0, 0x84($s2) +/* 87BCD0 802420F0 46800020 */ cvt.s.w $f0, $f0 +/* 87BCD4 802420F4 46000021 */ cvt.d.s $f0, $f0 +/* 87BCD8 802420F8 3C014059 */ lui $at, 0x4059 +/* 87BCDC 802420FC 44812800 */ mtc1 $at, $f5 +/* 87BCE0 80242100 44802000 */ mtc1 $zero, $f4 +/* 87BCE4 80242104 8E4200CC */ lw $v0, 0xcc($s2) +/* 87BCE8 80242108 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 87BCEC 8024210C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 87BCF0 80242110 46241083 */ div.d $f2, $f2, $f4 +/* 87BCF4 80242114 462010A0 */ cvt.s.d $f2, $f2 +/* 87BCF8 80242118 46240003 */ div.d $f0, $f0, $f4 +/* 87BCFC 8024211C 8C420020 */ lw $v0, 0x20($v0) +/* 87BD00 80242120 46200020 */ cvt.s.d $f0, $f0 +/* 87BD04 80242124 E622001C */ swc1 $f2, 0x1c($s1) +/* 87BD08 80242128 E6200014 */ swc1 $f0, 0x14($s1) +/* 87BD0C 8024212C AE220028 */ sw $v0, 0x28($s1) +/* 87BD10 80242130 C6000018 */ lwc1 $f0, 0x18($s0) +/* 87BD14 80242134 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87BD18 80242138 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87BD1C 8024213C E6200018 */ swc1 $f0, 0x18($s1) +/* 87BD20 80242140 8C460028 */ lw $a2, 0x28($v0) +/* 87BD24 80242144 0C00A720 */ jal atan2 +/* 87BD28 80242148 8C470030 */ lw $a3, 0x30($v0) +/* 87BD2C 8024214C E620000C */ swc1 $f0, 0xc($s1) +/* 87BD30 80242150 8E420018 */ lw $v0, 0x18($s2) +/* 87BD34 80242154 AE400074 */ sw $zero, 0x74($s2) +/* 87BD38 80242158 9442002A */ lhu $v0, 0x2a($v0) +/* 87BD3C 8024215C 30420002 */ andi $v0, $v0, 2 +/* 87BD40 80242160 10400005 */ beqz $v0, .L80242178 +/* 87BD44 80242164 24020003 */ addiu $v0, $zero, 3 +/* 87BD48 80242168 A622008E */ sh $v0, 0x8e($s1) +/* 87BD4C 8024216C 2402000D */ addiu $v0, $zero, 0xd +/* 87BD50 80242170 08090872 */ j .L802421C8 +/* 87BD54 80242174 AE620070 */ sw $v0, 0x70($s3) +.L80242178: +/* 87BD58 80242178 24030001 */ addiu $v1, $zero, 1 +/* 87BD5C 8024217C 2402000E */ addiu $v0, $zero, 0xe +/* 87BD60 80242180 A623008E */ sh $v1, 0x8e($s1) +/* 87BD64 80242184 AE620070 */ sw $v0, 0x70($s3) +/* 87BD68 80242188 C6200038 */ lwc1 $f0, 0x38($s1) +/* 87BD6C 8024218C 4600018D */ trunc.w.s $f6, $f0 +/* 87BD70 80242190 44023000 */ mfc1 $v0, $f6 +/* 87BD74 80242194 00000000 */ nop +/* 87BD78 80242198 A6420010 */ sh $v0, 0x10($s2) +/* 87BD7C 8024219C C620003C */ lwc1 $f0, 0x3c($s1) +/* 87BD80 802421A0 4600018D */ trunc.w.s $f6, $f0 +/* 87BD84 802421A4 44023000 */ mfc1 $v0, $f6 +/* 87BD88 802421A8 00000000 */ nop +/* 87BD8C 802421AC A6420012 */ sh $v0, 0x12($s2) +/* 87BD90 802421B0 C6200040 */ lwc1 $f0, 0x40($s1) +/* 87BD94 802421B4 A2430007 */ sb $v1, 7($s2) +/* 87BD98 802421B8 4600018D */ trunc.w.s $f6, $f0 +/* 87BD9C 802421BC 44023000 */ mfc1 $v0, $f6 +/* 87BDA0 802421C0 00000000 */ nop +/* 87BDA4 802421C4 A6420014 */ sh $v0, 0x14($s2) +.L802421C8: +/* 87BDA8 802421C8 8FBF0020 */ lw $ra, 0x20($sp) +/* 87BDAC 802421CC 8FB3001C */ lw $s3, 0x1c($sp) +/* 87BDB0 802421D0 8FB20018 */ lw $s2, 0x18($sp) +/* 87BDB4 802421D4 8FB10014 */ lw $s1, 0x14($sp) +/* 87BDB8 802421D8 8FB00010 */ lw $s0, 0x10($sp) +/* 87BDBC 802421DC 03E00008 */ jr $ra +/* 87BDC0 802421E0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802421E4.s b/asm/nonmatchings/world/area_tik/tik_07/func_802421E4.s new file mode 100644 index 0000000000..3e8a2c21ed --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802421E4.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421E4 +/* 87BDC4 802421E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87BDC8 802421E8 AFB00010 */ sw $s0, 0x10($sp) +/* 87BDCC 802421EC 0080802D */ daddu $s0, $a0, $zero +/* 87BDD0 802421F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 87BDD4 802421F4 8E020148 */ lw $v0, 0x148($s0) +/* 87BDD8 802421F8 0C00EABB */ jal get_npc_unsafe +/* 87BDDC 802421FC 84440008 */ lh $a0, 8($v0) +/* 87BDE0 80242200 0040202D */ daddu $a0, $v0, $zero +/* 87BDE4 80242204 8482008E */ lh $v0, 0x8e($a0) +/* 87BDE8 80242208 9483008E */ lhu $v1, 0x8e($a0) +/* 87BDEC 8024220C 18400005 */ blez $v0, .L80242224 +/* 87BDF0 80242210 2462FFFF */ addiu $v0, $v1, -1 +/* 87BDF4 80242214 A482008E */ sh $v0, 0x8e($a0) +/* 87BDF8 80242218 00021400 */ sll $v0, $v0, 0x10 +/* 87BDFC 8024221C 1C400006 */ bgtz $v0, .L80242238 +/* 87BE00 80242220 00000000 */ nop +.L80242224: +/* 87BE04 80242224 8482008C */ lh $v0, 0x8c($a0) +/* 87BE08 80242228 14400003 */ bnez $v0, .L80242238 +/* 87BE0C 8024222C 2402000E */ addiu $v0, $zero, 0xe +/* 87BE10 80242230 A480008E */ sh $zero, 0x8e($a0) +/* 87BE14 80242234 AE020070 */ sw $v0, 0x70($s0) +.L80242238: +/* 87BE18 80242238 8FBF0014 */ lw $ra, 0x14($sp) +/* 87BE1C 8024223C 8FB00010 */ lw $s0, 0x10($sp) +/* 87BE20 80242240 03E00008 */ jr $ra +/* 87BE24 80242244 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_80242248.s b/asm/nonmatchings/world/area_tik/tik_07/func_80242248.s new file mode 100644 index 0000000000..5779a869e6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_80242248.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242248 +/* 87BE28 80242248 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 87BE2C 8024224C AFB20030 */ sw $s2, 0x30($sp) +/* 87BE30 80242250 0080902D */ daddu $s2, $a0, $zero +/* 87BE34 80242254 AFBF0038 */ sw $ra, 0x38($sp) +/* 87BE38 80242258 AFB30034 */ sw $s3, 0x34($sp) +/* 87BE3C 8024225C AFB1002C */ sw $s1, 0x2c($sp) +/* 87BE40 80242260 AFB00028 */ sw $s0, 0x28($sp) +/* 87BE44 80242264 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 87BE48 80242268 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 87BE4C 8024226C 8E510148 */ lw $s1, 0x148($s2) +/* 87BE50 80242270 86240008 */ lh $a0, 8($s1) +/* 87BE54 80242274 0C00EABB */ jal get_npc_unsafe +/* 87BE58 80242278 00A0982D */ daddu $s3, $a1, $zero +/* 87BE5C 8024227C 0040802D */ daddu $s0, $v0, $zero +/* 87BE60 80242280 0200202D */ daddu $a0, $s0, $zero +/* 87BE64 80242284 C6220088 */ lwc1 $f2, 0x88($s1) +/* 87BE68 80242288 468010A0 */ cvt.s.w $f2, $f2 +/* 87BE6C 8024228C 460010A1 */ cvt.d.s $f2, $f2 +/* 87BE70 80242290 C604001C */ lwc1 $f4, 0x1c($s0) +/* 87BE74 80242294 C6000014 */ lwc1 $f0, 0x14($s0) +/* 87BE78 80242298 8E050018 */ lw $a1, 0x18($s0) +/* 87BE7C 8024229C 46002100 */ add.s $f4, $f4, $f0 +/* 87BE80 802422A0 8E06000C */ lw $a2, 0xc($s0) +/* 87BE84 802422A4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 87BE88 802422A8 46800020 */ cvt.s.w $f0, $f0 +/* 87BE8C 802422AC E604001C */ swc1 $f4, 0x1c($s0) +/* 87BE90 802422B0 3C014059 */ lui $at, 0x4059 +/* 87BE94 802422B4 44812800 */ mtc1 $at, $f5 +/* 87BE98 802422B8 44802000 */ mtc1 $zero, $f4 +/* 87BE9C 802422BC 46000021 */ cvt.d.s $f0, $f0 +/* 87BEA0 802422C0 46240003 */ div.d $f0, $f0, $f4 +/* 87BEA4 802422C4 46200520 */ cvt.s.d $f20, $f0 +/* 87BEA8 802422C8 46241083 */ div.d $f2, $f2, $f4 +/* 87BEAC 802422CC 0C00EA95 */ jal npc_move_heading +/* 87BEB0 802422D0 462015A0 */ cvt.s.d $f22, $f2 +/* 87BEB4 802422D4 C604001C */ lwc1 $f4, 0x1c($s0) +/* 87BEB8 802422D8 44801000 */ mtc1 $zero, $f2 +/* 87BEBC 802422DC 44801800 */ mtc1 $zero, $f3 +/* 87BEC0 802422E0 46002021 */ cvt.d.s $f0, $f4 +/* 87BEC4 802422E4 4620103E */ c.le.d $f2, $f0 +/* 87BEC8 802422E8 00000000 */ nop +/* 87BECC 802422EC 45000030 */ bc1f .L802423B0 +/* 87BED0 802422F0 00000000 */ nop +/* 87BED4 802422F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87BED8 802422F8 46040000 */ add.s $f0, $f0, $f4 +/* 87BEDC 802422FC E600003C */ swc1 $f0, 0x3c($s0) +/* 87BEE0 80242300 8E2200CC */ lw $v0, 0xcc($s1) +/* 87BEE4 80242304 8C420024 */ lw $v0, 0x24($v0) +/* 87BEE8 80242308 AE020028 */ sw $v0, 0x28($s0) +/* 87BEEC 8024230C A2200007 */ sb $zero, 7($s1) +/* 87BEF0 80242310 8E020000 */ lw $v0, ($s0) +/* 87BEF4 80242314 30420008 */ andi $v0, $v0, 8 +/* 87BEF8 80242318 14400011 */ bnez $v0, .L80242360 +/* 87BEFC 8024231C 0000102D */ daddu $v0, $zero, $zero +/* 87BF00 80242320 27A50018 */ addiu $a1, $sp, 0x18 +/* 87BF04 80242324 27A6001C */ addiu $a2, $sp, 0x1c +/* 87BF08 80242328 C6000038 */ lwc1 $f0, 0x38($s0) +/* 87BF0C 8024232C C602003C */ lwc1 $f2, 0x3c($s0) +/* 87BF10 80242330 C6040040 */ lwc1 $f4, 0x40($s0) +/* 87BF14 80242334 3C01447A */ lui $at, 0x447a +/* 87BF18 80242338 44813000 */ mtc1 $at, $f6 +/* 87BF1C 8024233C 27A20024 */ addiu $v0, $sp, 0x24 +/* 87BF20 80242340 E7A00018 */ swc1 $f0, 0x18($sp) +/* 87BF24 80242344 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 87BF28 80242348 E7A40020 */ swc1 $f4, 0x20($sp) +/* 87BF2C 8024234C E7A60024 */ swc1 $f6, 0x24($sp) +/* 87BF30 80242350 AFA20010 */ sw $v0, 0x10($sp) +/* 87BF34 80242354 8E040080 */ lw $a0, 0x80($s0) +/* 87BF38 80242358 0C0372DF */ jal func_800DCB7C +/* 87BF3C 8024235C 27A70020 */ addiu $a3, $sp, 0x20 +.L80242360: +/* 87BF40 80242360 1040000B */ beqz $v0, .L80242390 +/* 87BF44 80242364 00000000 */ nop +/* 87BF48 80242368 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 87BF4C 8024236C 46140080 */ add.s $f2, $f0, $f20 +/* 87BF50 80242370 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87BF54 80242374 4600103E */ c.le.s $f2, $f0 +/* 87BF58 80242378 00000000 */ nop +/* 87BF5C 8024237C 4500008D */ bc1f .L802425B4 +/* 87BF60 80242380 00000000 */ nop +/* 87BF64 80242384 E602003C */ swc1 $f2, 0x3c($s0) +/* 87BF68 80242388 0809096D */ j .L802425B4 +/* 87BF6C 8024238C AE400070 */ sw $zero, 0x70($s2) +.L80242390: +/* 87BF70 80242390 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87BF74 80242394 C6000064 */ lwc1 $f0, 0x64($s0) +/* 87BF78 80242398 4602003E */ c.le.s $f0, $f2 +/* 87BF7C 8024239C 00000000 */ nop +/* 87BF80 802423A0 45030084 */ bc1tl .L802425B4 +/* 87BF84 802423A4 AE400070 */ sw $zero, 0x70($s2) +/* 87BF88 802423A8 0809096D */ j .L802425B4 +/* 87BF8C 802423AC 00000000 */ nop +.L802423B0: +/* 87BF90 802423B0 4622003C */ c.lt.d $f0, $f2 +/* 87BF94 802423B4 00000000 */ nop +/* 87BF98 802423B8 4500007E */ bc1f .L802425B4 +/* 87BF9C 802423BC 00000000 */ nop +/* 87BFA0 802423C0 9602008E */ lhu $v0, 0x8e($s0) +/* 87BFA4 802423C4 24420001 */ addiu $v0, $v0, 1 +/* 87BFA8 802423C8 A602008E */ sh $v0, 0x8e($s0) +/* 87BFAC 802423CC 00021400 */ sll $v0, $v0, 0x10 +/* 87BFB0 802423D0 8E630020 */ lw $v1, 0x20($s3) +/* 87BFB4 802423D4 00021403 */ sra $v0, $v0, 0x10 +/* 87BFB8 802423D8 0043102A */ slt $v0, $v0, $v1 +/* 87BFBC 802423DC 14400026 */ bnez $v0, .L80242478 +/* 87BFC0 802423E0 00000000 */ nop +/* 87BFC4 802423E4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 87BFC8 802423E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 87BFCC 802423EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87BFD0 802423F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87BFD4 802423F4 A600008E */ sh $zero, 0x8e($s0) +/* 87BFD8 802423F8 8C460028 */ lw $a2, 0x28($v0) +/* 87BFDC 802423FC 0C00A720 */ jal atan2 +/* 87BFE0 80242400 8C470030 */ lw $a3, 0x30($v0) +/* 87BFE4 80242404 46000506 */ mov.s $f20, $f0 +/* 87BFE8 80242408 C60C000C */ lwc1 $f12, 0xc($s0) +/* 87BFEC 8024240C 0C00A70A */ jal get_clamped_angle_diff +/* 87BFF0 80242410 4600A386 */ mov.s $f14, $f20 +/* 87BFF4 80242414 46000086 */ mov.s $f2, $f0 +/* 87BFF8 80242418 8E62001C */ lw $v0, 0x1c($s3) +/* 87BFFC 8024241C 46001005 */ abs.s $f0, $f2 +/* 87C000 80242420 44822000 */ mtc1 $v0, $f4 +/* 87C004 80242424 00000000 */ nop +/* 87C008 80242428 46802120 */ cvt.s.w $f4, $f4 +/* 87C00C 8024242C 4600203C */ c.lt.s $f4, $f0 +/* 87C010 80242430 00000000 */ nop +/* 87C014 80242434 4500000D */ bc1f .L8024246C +/* 87C018 80242438 00000000 */ nop +/* 87C01C 8024243C 44800000 */ mtc1 $zero, $f0 +/* 87C020 80242440 C614000C */ lwc1 $f20, 0xc($s0) +/* 87C024 80242444 4600103C */ c.lt.s $f2, $f0 +/* 87C028 80242448 00000000 */ nop +/* 87C02C 8024244C 45000006 */ bc1f .L80242468 +/* 87C030 80242450 00021023 */ negu $v0, $v0 +/* 87C034 80242454 44820000 */ mtc1 $v0, $f0 +/* 87C038 80242458 00000000 */ nop +/* 87C03C 8024245C 46800020 */ cvt.s.w $f0, $f0 +/* 87C040 80242460 0809091B */ j .L8024246C +/* 87C044 80242464 4600A500 */ add.s $f20, $f20, $f0 +.L80242468: +/* 87C048 80242468 4604A500 */ add.s $f20, $f20, $f4 +.L8024246C: +/* 87C04C 8024246C 0C00A6C9 */ jal clamp_angle +/* 87C050 80242470 4600A306 */ mov.s $f12, $f20 +/* 87C054 80242474 E600000C */ swc1 $f0, 0xc($s0) +.L80242478: +/* 87C058 80242478 8E020000 */ lw $v0, ($s0) +/* 87C05C 8024247C 30420008 */ andi $v0, $v0, 8 +/* 87C060 80242480 1040000A */ beqz $v0, .L802424AC +/* 87C064 80242484 27A50018 */ addiu $a1, $sp, 0x18 +/* 87C068 80242488 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87C06C 8024248C C600001C */ lwc1 $f0, 0x1c($s0) +/* 87C070 80242490 46001080 */ add.s $f2, $f2, $f0 +/* 87C074 80242494 4616103C */ c.lt.s $f2, $f22 +/* 87C078 80242498 00000000 */ nop +/* 87C07C 8024249C 45020045 */ bc1fl .L802425B4 +/* 87C080 802424A0 E602003C */ swc1 $f2, 0x3c($s0) +/* 87C084 802424A4 0809096C */ j .L802425B0 +/* 87C088 802424A8 E616003C */ swc1 $f22, 0x3c($s0) +.L802424AC: +/* 87C08C 802424AC C6000038 */ lwc1 $f0, 0x38($s0) +/* 87C090 802424B0 27A6001C */ addiu $a2, $sp, 0x1c +/* 87C094 802424B4 E7A00018 */ swc1 $f0, 0x18($sp) +/* 87C098 802424B8 860200A8 */ lh $v0, 0xa8($s0) +/* 87C09C 802424BC C600001C */ lwc1 $f0, 0x1c($s0) +/* 87C0A0 802424C0 C604003C */ lwc1 $f4, 0x3c($s0) +/* 87C0A4 802424C4 44821000 */ mtc1 $v0, $f2 +/* 87C0A8 802424C8 00000000 */ nop +/* 87C0AC 802424CC 468010A0 */ cvt.s.w $f2, $f2 +/* 87C0B0 802424D0 46000005 */ abs.s $f0, $f0 +/* 87C0B4 802424D4 46020000 */ add.s $f0, $f0, $f2 +/* 87C0B8 802424D8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 87C0BC 802424DC 27A20024 */ addiu $v0, $sp, 0x24 +/* 87C0C0 802424E0 46022100 */ add.s $f4, $f4, $f2 +/* 87C0C4 802424E4 3C014024 */ lui $at, 0x4024 +/* 87C0C8 802424E8 44811800 */ mtc1 $at, $f3 +/* 87C0CC 802424EC 44801000 */ mtc1 $zero, $f2 +/* 87C0D0 802424F0 46000021 */ cvt.d.s $f0, $f0 +/* 87C0D4 802424F4 46220000 */ add.d $f0, $f0, $f2 +/* 87C0D8 802424F8 E7A60020 */ swc1 $f6, 0x20($sp) +/* 87C0DC 802424FC E7A4001C */ swc1 $f4, 0x1c($sp) +/* 87C0E0 80242500 46200020 */ cvt.s.d $f0, $f0 +/* 87C0E4 80242504 E7A00024 */ swc1 $f0, 0x24($sp) +/* 87C0E8 80242508 AFA20010 */ sw $v0, 0x10($sp) +/* 87C0EC 8024250C 8E040080 */ lw $a0, 0x80($s0) +/* 87C0F0 80242510 0C0372DF */ jal func_800DCB7C +/* 87C0F4 80242514 27A70020 */ addiu $a3, $sp, 0x20 +/* 87C0F8 80242518 10400015 */ beqz $v0, .L80242570 +/* 87C0FC 8024251C 00000000 */ nop +/* 87C100 80242520 860200A8 */ lh $v0, 0xa8($s0) +/* 87C104 80242524 C604001C */ lwc1 $f4, 0x1c($s0) +/* 87C108 80242528 44820000 */ mtc1 $v0, $f0 +/* 87C10C 8024252C 00000000 */ nop +/* 87C110 80242530 46800020 */ cvt.s.w $f0, $f0 +/* 87C114 80242534 46002085 */ abs.s $f2, $f4 +/* 87C118 80242538 46020000 */ add.s $f0, $f0, $f2 +/* 87C11C 8024253C C7A20024 */ lwc1 $f2, 0x24($sp) +/* 87C120 80242540 4600103E */ c.le.s $f2, $f0 +/* 87C124 80242544 00000000 */ nop +/* 87C128 80242548 45000005 */ bc1f .L80242560 +/* 87C12C 8024254C 00000000 */ nop +/* 87C130 80242550 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 87C134 80242554 AE00001C */ sw $zero, 0x1c($s0) +/* 87C138 80242558 0809096D */ j .L802425B4 +/* 87C13C 8024255C E600003C */ swc1 $f0, 0x3c($s0) +.L80242560: +/* 87C140 80242560 C600003C */ lwc1 $f0, 0x3c($s0) +/* 87C144 80242564 46040000 */ add.s $f0, $f0, $f4 +/* 87C148 80242568 0809096D */ j .L802425B4 +/* 87C14C 8024256C E600003C */ swc1 $f0, 0x3c($s0) +.L80242570: +/* 87C150 80242570 C606003C */ lwc1 $f6, 0x3c($s0) +/* 87C154 80242574 860200A8 */ lh $v0, 0xa8($s0) +/* 87C158 80242578 46163081 */ sub.s $f2, $f6, $f22 +/* 87C15C 8024257C 44820000 */ mtc1 $v0, $f0 +/* 87C160 80242580 00000000 */ nop +/* 87C164 80242584 46800020 */ cvt.s.w $f0, $f0 +/* 87C168 80242588 46001080 */ add.s $f2, $f2, $f0 +/* 87C16C 8024258C C604001C */ lwc1 $f4, 0x1c($s0) +/* 87C170 80242590 46002005 */ abs.s $f0, $f4 +/* 87C174 80242594 4602003C */ c.lt.s $f0, $f2 +/* 87C178 80242598 00000000 */ nop +/* 87C17C 8024259C 45020005 */ bc1fl .L802425B4 +/* 87C180 802425A0 AE00001C */ sw $zero, 0x1c($s0) +/* 87C184 802425A4 46043000 */ add.s $f0, $f6, $f4 +/* 87C188 802425A8 0809096D */ j .L802425B4 +/* 87C18C 802425AC E600003C */ swc1 $f0, 0x3c($s0) +.L802425B0: +/* 87C190 802425B0 AE00001C */ sw $zero, 0x1c($s0) +.L802425B4: +/* 87C194 802425B4 8FBF0038 */ lw $ra, 0x38($sp) +/* 87C198 802425B8 8FB30034 */ lw $s3, 0x34($sp) +/* 87C19C 802425BC 8FB20030 */ lw $s2, 0x30($sp) +/* 87C1A0 802425C0 8FB1002C */ lw $s1, 0x2c($sp) +/* 87C1A4 802425C4 8FB00028 */ lw $s0, 0x28($sp) +/* 87C1A8 802425C8 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 87C1AC 802425CC D7B40040 */ ldc1 $f20, 0x40($sp) +/* 87C1B0 802425D0 03E00008 */ jr $ra +/* 87C1B4 802425D4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802425D8.s b/asm/nonmatchings/world/area_tik/tik_07/func_802425D8.s new file mode 100644 index 0000000000..fd93b25cd8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802425D8.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425D8 +/* 87C1B8 802425D8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 87C1BC 802425DC AFB00028 */ sw $s0, 0x28($sp) +/* 87C1C0 802425E0 00A0802D */ daddu $s0, $a1, $zero +/* 87C1C4 802425E4 AFB1002C */ sw $s1, 0x2c($sp) +/* 87C1C8 802425E8 00C0882D */ daddu $s1, $a2, $zero +/* 87C1CC 802425EC AFBF0034 */ sw $ra, 0x34($sp) +/* 87C1D0 802425F0 AFB20030 */ sw $s2, 0x30($sp) +/* 87C1D4 802425F4 AE200070 */ sw $zero, 0x70($s1) +/* 87C1D8 802425F8 8C830000 */ lw $v1, ($a0) +/* 87C1DC 802425FC 2402FDFF */ addiu $v0, $zero, -0x201 +/* 87C1E0 80242600 A480008E */ sh $zero, 0x8e($a0) +/* 87C1E4 80242604 00621824 */ and $v1, $v1, $v0 +/* 87C1E8 80242608 34650800 */ ori $a1, $v1, 0x800 +/* 87C1EC 8024260C AC850000 */ sw $a1, ($a0) +/* 87C1F0 80242610 8E0200D0 */ lw $v0, 0xd0($s0) +/* 87C1F4 80242614 8C420034 */ lw $v0, 0x34($v0) +/* 87C1F8 80242618 10400003 */ beqz $v0, .L80242628 +/* 87C1FC 8024261C 00E0902D */ daddu $s2, $a3, $zero +/* 87C200 80242620 0809098C */ j .L80242630 +/* 87C204 80242624 34620808 */ ori $v0, $v1, 0x808 +.L80242628: +/* 87C208 80242628 2402FFF7 */ addiu $v0, $zero, -9 +/* 87C20C 8024262C 00A21024 */ and $v0, $a1, $v0 +.L80242630: +/* 87C210 80242630 AC820000 */ sw $v0, ($a0) +/* 87C214 80242634 27A20024 */ addiu $v0, $sp, 0x24 +/* 87C218 80242638 27A50018 */ addiu $a1, $sp, 0x18 +/* 87C21C 8024263C C4800038 */ lwc1 $f0, 0x38($a0) +/* 87C220 80242640 C482003C */ lwc1 $f2, 0x3c($a0) +/* 87C224 80242644 C4840040 */ lwc1 $f4, 0x40($a0) +/* 87C228 80242648 3C01447A */ lui $at, 0x447a +/* 87C22C 8024264C 44813000 */ mtc1 $at, $f6 +/* 87C230 80242650 27A6001C */ addiu $a2, $sp, 0x1c +/* 87C234 80242654 E7A00018 */ swc1 $f0, 0x18($sp) +/* 87C238 80242658 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 87C23C 8024265C E7A40020 */ swc1 $f4, 0x20($sp) +/* 87C240 80242660 E7A60024 */ swc1 $f6, 0x24($sp) +/* 87C244 80242664 AFA20010 */ sw $v0, 0x10($sp) +/* 87C248 80242668 8C840080 */ lw $a0, 0x80($a0) +/* 87C24C 8024266C 0C0372DF */ jal func_800DCB7C +/* 87C250 80242670 27A70020 */ addiu $a3, $sp, 0x20 +/* 87C254 80242674 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 87C258 80242678 3C014059 */ lui $at, 0x4059 +/* 87C25C 8024267C 44812800 */ mtc1 $at, $f5 +/* 87C260 80242680 44802000 */ mtc1 $zero, $f4 +/* 87C264 80242684 460010A1 */ cvt.d.s $f2, $f2 +/* 87C268 80242688 46241082 */ mul.d $f2, $f2, $f4 +/* 87C26C 8024268C 00000000 */ nop +/* 87C270 80242690 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 87C274 80242694 46000021 */ cvt.d.s $f0, $f0 +/* 87C278 80242698 46240002 */ mul.d $f0, $f0, $f4 +/* 87C27C 8024269C 00000000 */ nop +/* 87C280 802426A0 3C013FE0 */ lui $at, 0x3fe0 +/* 87C284 802426A4 44812800 */ mtc1 $at, $f5 +/* 87C288 802426A8 44802000 */ mtc1 $zero, $f4 +/* 87C28C 802426AC 00000000 */ nop +/* 87C290 802426B0 46241080 */ add.d $f2, $f2, $f4 +/* 87C294 802426B4 AE000074 */ sw $zero, 0x74($s0) +/* 87C298 802426B8 46240000 */ add.d $f0, $f0, $f4 +/* 87C29C 802426BC AE000090 */ sw $zero, 0x90($s0) +/* 87C2A0 802426C0 4620120D */ trunc.w.d $f8, $f2 +/* 87C2A4 802426C4 E6080078 */ swc1 $f8, 0x78($s0) +/* 87C2A8 802426C8 4620020D */ trunc.w.d $f8, $f0 +/* 87C2AC 802426CC E6080088 */ swc1 $f8, 0x88($s0) +/* 87C2B0 802426D0 8E420014 */ lw $v0, 0x14($s2) +/* 87C2B4 802426D4 AE220074 */ sw $v0, 0x74($s1) +/* 87C2B8 802426D8 8E0200B0 */ lw $v0, 0xb0($s0) +/* 87C2BC 802426DC 34420010 */ ori $v0, $v0, 0x10 +/* 87C2C0 802426E0 AE0200B0 */ sw $v0, 0xb0($s0) +/* 87C2C4 802426E4 8FBF0034 */ lw $ra, 0x34($sp) +/* 87C2C8 802426E8 8FB20030 */ lw $s2, 0x30($sp) +/* 87C2CC 802426EC 8FB1002C */ lw $s1, 0x2c($sp) +/* 87C2D0 802426F0 8FB00028 */ lw $s0, 0x28($sp) +/* 87C2D4 802426F4 03E00008 */ jr $ra +/* 87C2D8 802426F8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_tik/tik_07/func_802426FC.s b/asm/nonmatchings/world/area_tik/tik_07/func_802426FC.s new file mode 100644 index 0000000000..c22139a188 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_07/func_802426FC.s @@ -0,0 +1,133 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426FC +/* 87C2DC 802426FC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 87C2E0 80242700 AFB40040 */ sw $s4, 0x40($sp) +/* 87C2E4 80242704 0080A02D */ daddu $s4, $a0, $zero +/* 87C2E8 80242708 AFBF0048 */ sw $ra, 0x48($sp) +/* 87C2EC 8024270C AFB50044 */ sw $s5, 0x44($sp) +/* 87C2F0 80242710 AFB3003C */ sw $s3, 0x3c($sp) +/* 87C2F4 80242714 AFB20038 */ sw $s2, 0x38($sp) +/* 87C2F8 80242718 AFB10034 */ sw $s1, 0x34($sp) +/* 87C2FC 8024271C AFB00030 */ sw $s0, 0x30($sp) +/* 87C300 80242720 8E920148 */ lw $s2, 0x148($s4) +/* 87C304 80242724 86440008 */ lh $a0, 8($s2) +/* 87C308 80242728 8E90000C */ lw $s0, 0xc($s4) +/* 87C30C 8024272C 0C00EABB */ jal get_npc_unsafe +/* 87C310 80242730 00A0882D */ daddu $s1, $a1, $zero +/* 87C314 80242734 0280202D */ daddu $a0, $s4, $zero +/* 87C318 80242738 8E050000 */ lw $a1, ($s0) +/* 87C31C 8024273C 0C0B1EAF */ jal get_variable +/* 87C320 80242740 0040A82D */ daddu $s5, $v0, $zero +/* 87C324 80242744 AFA00010 */ sw $zero, 0x10($sp) +/* 87C328 80242748 8E4300D0 */ lw $v1, 0xd0($s2) +/* 87C32C 8024274C 8C630030 */ lw $v1, 0x30($v1) +/* 87C330 80242750 AFA30014 */ sw $v1, 0x14($sp) +/* 87C334 80242754 8E4300D0 */ lw $v1, 0xd0($s2) +/* 87C338 80242758 8C63001C */ lw $v1, 0x1c($v1) +/* 87C33C 8024275C AFA30018 */ sw $v1, 0x18($sp) +/* 87C340 80242760 8E4300D0 */ lw $v1, 0xd0($s2) +/* 87C344 80242764 8C630024 */ lw $v1, 0x24($v1) +/* 87C348 80242768 AFA3001C */ sw $v1, 0x1c($sp) +/* 87C34C 8024276C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 87C350 80242770 8C630028 */ lw $v1, 0x28($v1) +/* 87C354 80242774 27B30010 */ addiu $s3, $sp, 0x10 +/* 87C358 80242778 AFA30020 */ sw $v1, 0x20($sp) +/* 87C35C 8024277C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 87C360 80242780 3C0142F0 */ lui $at, 0x42f0 +/* 87C364 80242784 44810000 */ mtc1 $at, $f0 +/* 87C368 80242788 8C63002C */ lw $v1, 0x2c($v1) +/* 87C36C 8024278C 0040802D */ daddu $s0, $v0, $zero +/* 87C370 80242790 E7A00028 */ swc1 $f0, 0x28($sp) +/* 87C374 80242794 A7A0002C */ sh $zero, 0x2c($sp) +/* 87C378 80242798 12200006 */ beqz $s1, .L802427B4 +/* 87C37C 8024279C AFA30024 */ sw $v1, 0x24($sp) +/* 87C380 802427A0 02A0202D */ daddu $a0, $s5, $zero +/* 87C384 802427A4 0240282D */ daddu $a1, $s2, $zero +/* 87C388 802427A8 0280302D */ daddu $a2, $s4, $zero +/* 87C38C 802427AC 0C090976 */ jal func_802425D8 +/* 87C390 802427B0 0200382D */ daddu $a3, $s0, $zero +.L802427B4: +/* 87C394 802427B4 2402FFFE */ addiu $v0, $zero, -2 +/* 87C398 802427B8 A2A200AB */ sb $v0, 0xab($s5) +/* 87C39C 802427BC 8E4300B0 */ lw $v1, 0xb0($s2) +/* 87C3A0 802427C0 30620004 */ andi $v0, $v1, 4 +/* 87C3A4 802427C4 10400007 */ beqz $v0, .L802427E4 +/* 87C3A8 802427C8 00000000 */ nop +/* 87C3AC 802427CC 824200B4 */ lb $v0, 0xb4($s2) +/* 87C3B0 802427D0 1440003C */ bnez $v0, .L802428C4 +/* 87C3B4 802427D4 0000102D */ daddu $v0, $zero, $zero +/* 87C3B8 802427D8 2402FFFB */ addiu $v0, $zero, -5 +/* 87C3BC 802427DC 00621024 */ and $v0, $v1, $v0 +/* 87C3C0 802427E0 AE4200B0 */ sw $v0, 0xb0($s2) +.L802427E4: +/* 87C3C4 802427E4 8E830070 */ lw $v1, 0x70($s4) +/* 87C3C8 802427E8 2C62000F */ sltiu $v0, $v1, 0xf +/* 87C3CC 802427EC 10400034 */ beqz $v0, .L802428C0 +/* 87C3D0 802427F0 00031080 */ sll $v0, $v1, 2 +/* 87C3D4 802427F4 3C018024 */ lui $at, 0x8024 +/* 87C3D8 802427F8 00220821 */ addu $at, $at, $v0 +/* 87C3DC 802427FC 8C2251C8 */ lw $v0, 0x51c8($at) +/* 87C3E0 80242800 00400008 */ jr $v0 +/* 87C3E4 80242804 00000000 */ nop +/* 87C3E8 80242808 0280202D */ daddu $a0, $s4, $zero +/* 87C3EC 8024280C 0200282D */ daddu $a1, $s0, $zero +/* 87C3F0 80242810 0C0904FC */ jal func_802413F0 +/* 87C3F4 80242814 0260302D */ daddu $a2, $s3, $zero +/* 87C3F8 80242818 0280202D */ daddu $a0, $s4, $zero +/* 87C3FC 8024281C 0200282D */ daddu $a1, $s0, $zero +/* 87C400 80242820 0C090568 */ jal func_802415A0 +/* 87C404 80242824 0260302D */ daddu $a2, $s3, $zero +/* 87C408 80242828 08090A31 */ j .L802428C4 +/* 87C40C 8024282C 0000102D */ daddu $v0, $zero, $zero +/* 87C410 80242830 0280202D */ daddu $a0, $s4, $zero +/* 87C414 80242834 0200282D */ daddu $a1, $s0, $zero +/* 87C418 80242838 0C0906F2 */ jal func_80241BC8 +/* 87C41C 8024283C 0260302D */ daddu $a2, $s3, $zero +/* 87C420 80242840 0280202D */ daddu $a0, $s4, $zero +/* 87C424 80242844 0200282D */ daddu $a1, $s0, $zero +/* 87C428 80242848 0C090722 */ jal func_80241C88 +/* 87C42C 8024284C 0260302D */ daddu $a2, $s3, $zero +/* 87C430 80242850 08090A31 */ j .L802428C4 +/* 87C434 80242854 0000102D */ daddu $v0, $zero, $zero +/* 87C438 80242858 0280202D */ daddu $a0, $s4, $zero +/* 87C43C 8024285C 0200282D */ daddu $a1, $s0, $zero +/* 87C440 80242860 0C0907F3 */ jal func_80241FCC +/* 87C444 80242864 0260302D */ daddu $a2, $s3, $zero +/* 87C448 80242868 0280202D */ daddu $a0, $s4, $zero +/* 87C44C 8024286C 0200282D */ daddu $a1, $s0, $zero +/* 87C450 80242870 0C090811 */ jal func_80242044 +/* 87C454 80242874 0260302D */ daddu $a2, $s3, $zero +/* 87C458 80242878 08090A31 */ j .L802428C4 +/* 87C45C 8024287C 0000102D */ daddu $v0, $zero, $zero +/* 87C460 80242880 0280202D */ daddu $a0, $s4, $zero +/* 87C464 80242884 0200282D */ daddu $a1, $s0, $zero +/* 87C468 80242888 0C09082C */ jal func_802420B0 +/* 87C46C 8024288C 0260302D */ daddu $a2, $s3, $zero +/* 87C470 80242890 08090A31 */ j .L802428C4 +/* 87C474 80242894 0000102D */ daddu $v0, $zero, $zero +/* 87C478 80242898 0280202D */ daddu $a0, $s4, $zero +/* 87C47C 8024289C 0200282D */ daddu $a1, $s0, $zero +/* 87C480 802428A0 0C090879 */ jal func_802421E4 +/* 87C484 802428A4 0260302D */ daddu $a2, $s3, $zero +/* 87C488 802428A8 08090A31 */ j .L802428C4 +/* 87C48C 802428AC 0000102D */ daddu $v0, $zero, $zero +/* 87C490 802428B0 0280202D */ daddu $a0, $s4, $zero +/* 87C494 802428B4 0200282D */ daddu $a1, $s0, $zero +/* 87C498 802428B8 0C090892 */ jal func_80242248 +/* 87C49C 802428BC 0260302D */ daddu $a2, $s3, $zero +.L802428C0: +/* 87C4A0 802428C0 0000102D */ daddu $v0, $zero, $zero +.L802428C4: +/* 87C4A4 802428C4 8FBF0048 */ lw $ra, 0x48($sp) +/* 87C4A8 802428C8 8FB50044 */ lw $s5, 0x44($sp) +/* 87C4AC 802428CC 8FB40040 */ lw $s4, 0x40($sp) +/* 87C4B0 802428D0 8FB3003C */ lw $s3, 0x3c($sp) +/* 87C4B4 802428D4 8FB20038 */ lw $s2, 0x38($sp) +/* 87C4B8 802428D8 8FB10034 */ lw $s1, 0x34($sp) +/* 87C4BC 802428DC 8FB00030 */ lw $s0, 0x30($sp) +/* 87C4C0 802428E0 03E00008 */ jr $ra +/* 87C4C4 802428E4 27BD0050 */ addiu $sp, $sp, 0x50 +/* 87C4C8 802428E8 00000000 */ nop +/* 87C4CC 802428EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240000_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240000_87EDF0.s new file mode 100644 index 0000000000..2761bafc2c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240000_87EDF0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_87EDF0 +/* 87EDF0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 87EDF4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 87EDF8 80240008 8C430004 */ lw $v1, 4($v0) +/* 87EDFC 8024000C 3C040010 */ lui $a0, 0x10 +/* 87EE00 80240010 00641825 */ or $v1, $v1, $a0 +/* 87EE04 80240014 AC430004 */ sw $v1, 4($v0) +/* 87EE08 80240018 03E00008 */ jr $ra +/* 87EE0C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240020_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240020_87EDF0.s new file mode 100644 index 0000000000..86812cbd86 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240020_87EDF0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_87EE10 +/* 87EE10 80240020 3C028016 */ lui $v0, 0x8016 +/* 87EE14 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 87EE18 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 87EE1C 8024002C 03E00008 */ jr $ra +/* 87EE20 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240034_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240034_87EDF0.s new file mode 100644 index 0000000000..dc8bd6a23c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240034_87EDF0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_87EE24 +/* 87EE24 80240034 3C038016 */ lui $v1, 0x8016 +/* 87EE28 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 87EE2C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87EE30 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 87EE34 80240044 0080802D */ daddu $s0, $a0, $zero +/* 87EE38 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 87EE3C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 87EE40 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 87EE44 80240054 24020002 */ addiu $v0, $zero, 2 +/* 87EE48 80240058 08090038 */ j .L802400E0 +/* 87EE4C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 87EE50 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 87EE54 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 87EE58 80240068 80620040 */ lb $v0, 0x40($v1) +/* 87EE5C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 87EE60 80240070 04420001 */ bltzl $v0, .L80240078 +/* 87EE64 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 87EE68 80240078 14400003 */ bnez $v0, .L80240088 +/* 87EE6C 8024007C 00000000 */ nop +/* 87EE70 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 87EE74 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 87EE78 80240088 44822000 */ mtc1 $v0, $f4 +/* 87EE7C 8024008C 00000000 */ nop +/* 87EE80 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 87EE84 80240094 44062000 */ mfc1 $a2, $f4 +/* 87EE88 80240098 44872000 */ mtc1 $a3, $f4 +/* 87EE8C 8024009C 00000000 */ nop +/* 87EE90 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 87EE94 802400A4 44806000 */ mtc1 $zero, $f12 +/* 87EE98 802400A8 44072000 */ mfc1 $a3, $f4 +/* 87EE9C 802400AC 0C00A720 */ jal atan2 +/* 87EEA0 802400B0 46006386 */ mov.s $f14, $f12 +/* 87EEA4 802400B4 3C014270 */ lui $at, 0x4270 +/* 87EEA8 802400B8 44811000 */ mtc1 $at, $f2 +/* 87EEAC 802400BC 00000000 */ nop +/* 87EEB0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 87EEB4 802400C4 00000000 */ nop +/* 87EEB8 802400C8 45000004 */ bc1f .L802400DC +/* 87EEBC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 87EEC0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 87EEC4 802400D4 08090038 */ j .L802400E0 +/* 87EEC8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 87EECC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 87EED0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 87EED4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 87EED8 802400E8 03E00008 */ jr $ra +/* 87EEDC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_802400F0_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_802400F0_87EDF0.s new file mode 100644 index 0000000000..8bf9df37bf --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_802400F0_87EDF0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_87EEE0 +/* 87EEE0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 87EEE4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 87EEE8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 87EEEC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 87EEF0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 87EEF4 80240104 0C016AFA */ jal get_current_map_header +/* 87EEF8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 87EEFC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 87EF00 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 87EF04 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 87EF08 80240118 0C0B1EAF */ jal get_variable +/* 87EF0C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 87EF10 80240120 0220202D */ daddu $a0, $s1, $zero +/* 87EF14 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 87EF18 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 87EF1C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 87EF20 80240130 02031821 */ addu $v1, $s0, $v1 +/* 87EF24 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 87EF28 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 87EF2C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 87EF30 80240140 0C0B2026 */ jal set_variable +/* 87EF34 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 87EF38 80240148 0220202D */ daddu $a0, $s1, $zero +/* 87EF3C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 87EF40 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 87EF44 80240154 02021021 */ addu $v0, $s0, $v0 +/* 87EF48 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 87EF4C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 87EF50 80240160 44061000 */ mfc1 $a2, $f2 +/* 87EF54 80240164 0C0B2026 */ jal set_variable +/* 87EF58 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 87EF5C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 87EF60 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 87EF64 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 87EF68 80240178 02021021 */ addu $v0, $s0, $v0 +/* 87EF6C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 87EF70 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 87EF74 80240184 44061000 */ mfc1 $a2, $f2 +/* 87EF78 80240188 0C0B2026 */ jal set_variable +/* 87EF7C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 87EF80 80240190 0220202D */ daddu $a0, $s1, $zero +/* 87EF84 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 87EF88 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 87EF8C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 87EF90 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 87EF94 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 87EF98 802401A8 44061000 */ mfc1 $a2, $f2 +/* 87EF9C 802401AC 0C0B2026 */ jal set_variable +/* 87EFA0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 87EFA4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 87EFA8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 87EFAC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 87EFB0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 87EFB4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 87EFB8 802401C8 03E00008 */ jr $ra +/* 87EFBC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_802401D0_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_802401D0_87EDF0.s new file mode 100644 index 0000000000..6d5221c93e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_802401D0_87EDF0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_87EFC0 +/* 87EFC0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 87EFC4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 87EFC8 802401D8 3C014334 */ lui $at, 0x4334 +/* 87EFCC 802401DC 44816000 */ mtc1 $at, $f12 +/* 87EFD0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87EFD4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 87EFD8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 87EFDC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 87EFE0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 87EFE4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 87EFE8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 87EFEC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 87EFF0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 87EFF4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 87EFF8 80240208 3C01800B */ lui $at, 0x800b +/* 87EFFC 8024020C 00220821 */ addu $at, $at, $v0 +/* 87F000 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 87F004 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 87F008 80240218 0C00A6C9 */ jal clamp_angle +/* 87F00C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 87F010 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 87F014 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 87F018 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 87F01C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 87F020 80240230 24020002 */ addiu $v0, $zero, 2 +/* 87F024 80240234 03E00008 */ jr $ra +/* 87F028 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_8024023C_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_8024023C_87EDF0.s new file mode 100644 index 0000000000..fcdc328cf9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_8024023C_87EDF0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_87F02C +/* 87F02C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 87F030 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 87F034 80240244 0080802D */ daddu $s0, $a0, $zero +/* 87F038 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 87F03C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 87F040 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 87F044 80240254 0C0B210B */ jal get_float_variable +/* 87F048 80240258 8C450000 */ lw $a1, ($v0) +/* 87F04C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 87F050 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 87F054 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 87F058 80240268 44060000 */ mfc1 $a2, $f0 +/* 87F05C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 87F060 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 87F064 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 87F068 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 87F06C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 87F070 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 87F074 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 87F078 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 87F07C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 87F080 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 87F084 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 87F088 80240298 0C0B2190 */ jal set_float_variable +/* 87F08C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 87F090 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 87F094 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 87F098 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 87F09C 802402AC 0C0B2190 */ jal set_float_variable +/* 87F0A0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 87F0A4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 87F0A8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 87F0AC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 87F0B0 802402C0 0C0B2190 */ jal set_float_variable +/* 87F0B4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 87F0B8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 87F0BC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 87F0C0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 87F0C4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 87F0C8 802402D8 03E00008 */ jr $ra +/* 87F0CC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_802402E0_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_802402E0_87EDF0.s new file mode 100644 index 0000000000..00df7f4d12 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_802402E0_87EDF0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_87F0D0 +/* 87F0D0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87F0D4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 87F0D8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 87F0DC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 87F0E0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 87F0E4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 87F0E8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 87F0EC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 87F0F0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 87F0F4 80240304 3C020002 */ lui $v0, 2 +/* 87F0F8 80240308 080900C8 */ j .L80240320 +/* 87F0FC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 87F100 80240310 3C040002 */ lui $a0, 2 +/* 87F104 80240314 0083102A */ slt $v0, $a0, $v1 +/* 87F108 80240318 10400002 */ beqz $v0, .L80240324 +/* 87F10C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 87F110 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 87F114 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 87F118 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 87F11C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 87F120 80240330 04610004 */ bgez $v1, .L80240344 +/* 87F124 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 87F128 80240338 3C020002 */ lui $v0, 2 +/* 87F12C 8024033C 080900D5 */ j .L80240354 +/* 87F130 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 87F134 80240344 3C040002 */ lui $a0, 2 +/* 87F138 80240348 0083102A */ slt $v0, $a0, $v1 +/* 87F13C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 87F140 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 87F144 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 87F148 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 87F14C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 87F150 80240360 00621821 */ addu $v1, $v1, $v0 +/* 87F154 80240364 04610004 */ bgez $v1, .L80240378 +/* 87F158 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 87F15C 8024036C 3C020002 */ lui $v0, 2 +/* 87F160 80240370 080900E2 */ j .L80240388 +/* 87F164 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 87F168 80240378 3C040002 */ lui $a0, 2 +/* 87F16C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 87F170 80240380 10400002 */ beqz $v0, .L8024038C +/* 87F174 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 87F178 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 87F17C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 87F180 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 87F184 80240394 00621821 */ addu $v1, $v1, $v0 +/* 87F188 80240398 04610004 */ bgez $v1, .L802403AC +/* 87F18C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 87F190 802403A0 3C020002 */ lui $v0, 2 +/* 87F194 802403A4 080900EF */ j .L802403BC +/* 87F198 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 87F19C 802403AC 3C040002 */ lui $a0, 2 +/* 87F1A0 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 87F1A4 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 87F1A8 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 87F1AC 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 87F1B0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 87F1B4 802403C4 0C046F07 */ jal set_main_pan_u +/* 87F1B8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 87F1BC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 87F1C0 802403D0 0C046F0D */ jal set_main_pan_v +/* 87F1C4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 87F1C8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 87F1CC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 87F1D0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 87F1D4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 87F1D8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 87F1DC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 87F1E0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 87F1E4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 87F1E8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 87F1EC 802403FC 03E00008 */ jr $ra +/* 87F1F0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240404_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240404_87EDF0.s new file mode 100644 index 0000000000..0ad126f87e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240404_87EDF0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_87F1F4 +/* 87F1F4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87F1F8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 87F1FC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 87F200 80240410 10A00005 */ beqz $a1, .L80240428 +/* 87F204 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 87F208 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 87F20C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 87F210 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 87F214 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 87F218 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 87F21C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 87F220 80240430 00000000 */ nop +/* 87F224 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 87F228 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 87F22C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 87F230 80240440 04610004 */ bgez $v1, .L80240454 +/* 87F234 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 87F238 80240448 3C020002 */ lui $v0, 2 +/* 87F23C 8024044C 08090119 */ j .L80240464 +/* 87F240 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 87F244 80240454 3C040002 */ lui $a0, 2 +/* 87F248 80240458 0083102A */ slt $v0, $a0, $v1 +/* 87F24C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 87F250 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 87F254 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 87F258 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 87F25C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 87F260 80240470 00000000 */ nop +/* 87F264 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 87F268 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 87F26C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 87F270 80240480 04610004 */ bgez $v1, .L80240494 +/* 87F274 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 87F278 80240488 3C020002 */ lui $v0, 2 +/* 87F27C 8024048C 08090129 */ j .L802404A4 +/* 87F280 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 87F284 80240494 3C040002 */ lui $a0, 2 +/* 87F288 80240498 0083102A */ slt $v0, $a0, $v1 +/* 87F28C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 87F290 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 87F294 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 87F298 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 87F29C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 87F2A0 802404B0 00000000 */ nop +/* 87F2A4 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 87F2A8 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 87F2AC 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 87F2B0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 87F2B4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 87F2B8 802404C8 3C020002 */ lui $v0, 2 +/* 87F2BC 802404CC 08090139 */ j .L802404E4 +/* 87F2C0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 87F2C4 802404D4 3C040002 */ lui $a0, 2 +/* 87F2C8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 87F2CC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 87F2D0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 87F2D4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 87F2D8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 87F2DC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 87F2E0 802404F0 00000000 */ nop +/* 87F2E4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 87F2E8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 87F2EC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 87F2F0 80240500 04610004 */ bgez $v1, .L80240514 +/* 87F2F4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 87F2F8 80240508 3C020002 */ lui $v0, 2 +/* 87F2FC 8024050C 08090149 */ j .L80240524 +/* 87F300 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 87F304 80240514 3C040002 */ lui $a0, 2 +/* 87F308 80240518 0083102A */ slt $v0, $a0, $v1 +/* 87F30C 8024051C 10400002 */ beqz $v0, .L80240528 +/* 87F310 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 87F314 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 87F318 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 87F31C 8024052C 0C046F07 */ jal set_main_pan_u +/* 87F320 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 87F324 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 87F328 80240538 0C046F0D */ jal set_main_pan_v +/* 87F32C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 87F330 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 87F334 80240544 0C046F13 */ jal set_aux_pan_u +/* 87F338 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 87F33C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 87F340 80240550 0C046F19 */ jal set_aux_pan_v +/* 87F344 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 87F348 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 87F34C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 87F350 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 87F354 80240564 24420001 */ addiu $v0, $v0, 1 +/* 87F358 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 87F35C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 87F360 80240570 24630001 */ addiu $v1, $v1, 1 +/* 87F364 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 87F368 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 87F36C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 87F370 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 87F374 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 87F378 80240588 0064182A */ slt $v1, $v1, $a0 +/* 87F37C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 87F380 80240590 14600002 */ bnez $v1, .L8024059C +/* 87F384 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 87F388 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 87F38C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 87F390 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 87F394 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 87F398 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 87F39C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 87F3A0 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 87F3A4 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 87F3A8 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 87F3AC 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 87F3B0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 87F3B4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 87F3B8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 87F3BC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 87F3C0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 87F3C4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 87F3C8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 87F3CC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 87F3D0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 87F3D4 802405E4 03E00008 */ jr $ra +/* 87F3D8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 87F3DC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_802405F0_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_802405F0_87EDF0.s new file mode 100644 index 0000000000..1c5fa016e8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_802405F0_87EDF0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_87F3E0 +/* 87F3E0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 87F3E4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 87F3E8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 87F3EC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 87F3F0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 87F3F4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 87F3F8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 87F3FC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 87F400 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 87F404 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 87F408 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 87F40C 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 87F410 80240620 0C0B1EAF */ jal get_variable +/* 87F414 80240624 8C450000 */ lw $a1, ($v0) +/* 87F418 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 87F41C 8024062C 0C00EABB */ jal get_npc_unsafe +/* 87F420 80240630 0040802D */ daddu $s0, $v0, $zero +/* 87F424 80240634 0200202D */ daddu $a0, $s0, $zero +/* 87F428 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 87F42C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 87F430 80240640 0C046B4C */ jal get_model_from_list_index +/* 87F434 80240644 0040202D */ daddu $a0, $v0, $zero +/* 87F438 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 87F43C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 87F440 80240650 0040902D */ daddu $s2, $v0, $zero +/* 87F444 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 87F448 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 87F44C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 87F450 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 87F454 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 87F458 80240668 00000000 */ nop +/* 87F45C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87F460 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 87F464 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 87F468 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 87F46C 8024067C 00000000 */ nop +/* 87F470 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 87F474 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 87F478 80240688 44820000 */ mtc1 $v0, $f0 +/* 87F47C 8024068C 00000000 */ nop +/* 87F480 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 87F484 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 87F488 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 87F48C 8024069C 44810000 */ mtc1 $at, $f0 +/* 87F490 802406A0 00000000 */ nop +/* 87F494 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 87F498 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 87F49C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 87F4A0 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 87F4A4 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 87F4A8 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 87F4AC 802406BC 00000000 */ nop +/* 87F4B0 802406C0 45010004 */ bc1t .L802406D4 +/* 87F4B4 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 87F4B8 802406C8 0C0187BC */ jal sqrtf +/* 87F4BC 802406CC 00000000 */ nop +/* 87F4C0 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 87F4C4 802406D4 44800000 */ mtc1 $zero, $f0 +/* 87F4C8 802406D8 00000000 */ nop +/* 87F4CC 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 87F4D0 802406E0 00000000 */ nop +/* 87F4D4 802406E4 45000016 */ bc1f .L80240740 +/* 87F4D8 802406E8 46001106 */ mov.s $f4, $f2 +/* 87F4DC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 87F4E0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 87F4E4 802406F4 00000000 */ nop +/* 87F4E8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 87F4EC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 87F4F0 80240700 00000000 */ nop +/* 87F4F4 80240704 4500000E */ bc1f .L80240740 +/* 87F4F8 80240708 00000000 */ nop +/* 87F4FC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 87F500 80240710 3C013F00 */ lui $at, 0x3f00 +/* 87F504 80240714 44811000 */ mtc1 $at, $f2 +/* 87F508 80240718 44820000 */ mtc1 $v0, $f0 +/* 87F50C 8024071C 00000000 */ nop +/* 87F510 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 87F514 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 87F518 80240728 00000000 */ nop +/* 87F51C 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 87F520 80240730 00000000 */ nop +/* 87F524 80240734 45000002 */ bc1f .L80240740 +/* 87F528 80240738 24020001 */ addiu $v0, $zero, 1 +/* 87F52C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 87F530 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 87F534 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87F538 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 87F53C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 87F540 80240750 00000000 */ nop +/* 87F544 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87F548 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 87F54C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 87F550 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 87F554 80240764 00000000 */ nop +/* 87F558 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 87F55C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 87F560 80240770 44820000 */ mtc1 $v0, $f0 +/* 87F564 80240774 00000000 */ nop +/* 87F568 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 87F56C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 87F570 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 87F574 80240784 44810000 */ mtc1 $at, $f0 +/* 87F578 80240788 00000000 */ nop +/* 87F57C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 87F580 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 87F584 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 87F588 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 87F58C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 87F590 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 87F594 802407A4 00000000 */ nop +/* 87F598 802407A8 45010004 */ bc1t .L802407BC +/* 87F59C 802407AC 00000000 */ nop +/* 87F5A0 802407B0 0C0187BC */ jal sqrtf +/* 87F5A4 802407B4 00000000 */ nop +/* 87F5A8 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 87F5AC 802407BC 44800000 */ mtc1 $zero, $f0 +/* 87F5B0 802407C0 00000000 */ nop +/* 87F5B4 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 87F5B8 802407C8 00000000 */ nop +/* 87F5BC 802407CC 45000016 */ bc1f .L80240828 +/* 87F5C0 802407D0 46001106 */ mov.s $f4, $f2 +/* 87F5C4 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 87F5C8 802407D8 44820000 */ mtc1 $v0, $f0 +/* 87F5CC 802407DC 00000000 */ nop +/* 87F5D0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 87F5D4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 87F5D8 802407E8 00000000 */ nop +/* 87F5DC 802407EC 4500000F */ bc1f .L8024082C +/* 87F5E0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 87F5E4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 87F5E8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 87F5EC 802407FC 44811000 */ mtc1 $at, $f2 +/* 87F5F0 80240800 44820000 */ mtc1 $v0, $f0 +/* 87F5F4 80240804 00000000 */ nop +/* 87F5F8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 87F5FC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 87F600 80240810 00000000 */ nop +/* 87F604 80240814 4600203C */ c.lt.s $f4, $f0 +/* 87F608 80240818 00000000 */ nop +/* 87F60C 8024081C 45000003 */ bc1f .L8024082C +/* 87F610 80240820 24020001 */ addiu $v0, $zero, 1 +/* 87F614 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 87F618 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 87F61C 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 87F620 80240830 4481D000 */ mtc1 $at, $f26 +/* 87F624 80240834 4480C000 */ mtc1 $zero, $f24 +/* 87F628 80240838 3C013F00 */ lui $at, 0x3f00 +/* 87F62C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 87F630 80240840 0C00EAD2 */ jal get_npc_safe +/* 87F634 80240844 0220202D */ daddu $a0, $s1, $zero +/* 87F638 80240848 0040802D */ daddu $s0, $v0, $zero +/* 87F63C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 87F640 80240850 26310001 */ addiu $s1, $s1, 1 +/* 87F644 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 87F648 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 87F64C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 87F650 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 87F654 80240864 00000000 */ nop +/* 87F658 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 87F65C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 87F660 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 87F664 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 87F668 80240878 00000000 */ nop +/* 87F66C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 87F670 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 87F674 80240884 44820000 */ mtc1 $v0, $f0 +/* 87F678 80240888 00000000 */ nop +/* 87F67C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 87F680 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 87F684 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 87F688 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 87F68C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 87F690 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 87F694 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 87F698 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 87F69C 802408AC 00000000 */ nop +/* 87F6A0 802408B0 45010003 */ bc1t .L802408C0 +/* 87F6A4 802408B4 00000000 */ nop +/* 87F6A8 802408B8 0C0187BC */ jal sqrtf +/* 87F6AC 802408BC 00000000 */ nop +.L802408C0: +/* 87F6B0 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 87F6B4 802408C4 00000000 */ nop +/* 87F6B8 802408C8 45000015 */ bc1f .L80240920 +/* 87F6BC 802408CC 46000106 */ mov.s $f4, $f0 +/* 87F6C0 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 87F6C4 802408D4 44820000 */ mtc1 $v0, $f0 +/* 87F6C8 802408D8 00000000 */ nop +/* 87F6CC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 87F6D0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 87F6D4 802408E4 00000000 */ nop +/* 87F6D8 802408E8 4500000E */ bc1f .L80240924 +/* 87F6DC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 87F6E0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 87F6E4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 87F6E8 802408F8 00000000 */ nop +/* 87F6EC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 87F6F0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 87F6F4 80240904 00000000 */ nop +/* 87F6F8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 87F6FC 8024090C 00000000 */ nop +/* 87F700 80240910 45000004 */ bc1f .L80240924 +/* 87F704 80240914 24020001 */ addiu $v0, $zero, 1 +/* 87F708 80240918 0809024C */ j .L80240930 +/* 87F70C 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 87F710 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 87F714 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 87F718 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 87F71C 8024092C 00000000 */ nop +.L80240930: +/* 87F720 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 87F724 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 87F728 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 87F72C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 87F730 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 87F734 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 87F738 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 87F73C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 87F740 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 87F744 80240954 24020002 */ addiu $v0, $zero, 2 +/* 87F748 80240958 03E00008 */ jr $ra +/* 87F74C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240960_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240960_87EDF0.s new file mode 100644 index 0000000000..810720d96d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240960_87EDF0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_87F750 +/* 87F750 80240960 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 87F754 80240964 AFB10014 */ sw $s1, 0x14($sp) +/* 87F758 80240968 0080882D */ daddu $s1, $a0, $zero +/* 87F75C 8024096C AFBF0020 */ sw $ra, 0x20($sp) +/* 87F760 80240970 AFB3001C */ sw $s3, 0x1c($sp) +/* 87F764 80240974 AFB20018 */ sw $s2, 0x18($sp) +/* 87F768 80240978 AFB00010 */ sw $s0, 0x10($sp) +/* 87F76C 8024097C 8E30000C */ lw $s0, 0xc($s1) +/* 87F770 80240980 8E050000 */ lw $a1, ($s0) +/* 87F774 80240984 0C0B1EAF */ jal get_variable +/* 87F778 80240988 26100004 */ addiu $s0, $s0, 4 +/* 87F77C 8024098C 8E050000 */ lw $a1, ($s0) +/* 87F780 80240990 26100004 */ addiu $s0, $s0, 4 +/* 87F784 80240994 0220202D */ daddu $a0, $s1, $zero +/* 87F788 80240998 0C0B1EAF */ jal get_variable +/* 87F78C 8024099C 0040982D */ daddu $s3, $v0, $zero +/* 87F790 802409A0 8E050000 */ lw $a1, ($s0) +/* 87F794 802409A4 26100004 */ addiu $s0, $s0, 4 +/* 87F798 802409A8 0220202D */ daddu $a0, $s1, $zero +/* 87F79C 802409AC 0C0B1EAF */ jal get_variable +/* 87F7A0 802409B0 0040902D */ daddu $s2, $v0, $zero +/* 87F7A4 802409B4 0220202D */ daddu $a0, $s1, $zero +/* 87F7A8 802409B8 8E050000 */ lw $a1, ($s0) +/* 87F7AC 802409BC 0C0B1EAF */ jal get_variable +/* 87F7B0 802409C0 0040882D */ daddu $s1, $v0, $zero +/* 87F7B4 802409C4 0260202D */ daddu $a0, $s3, $zero +/* 87F7B8 802409C8 0C04417A */ jal get_entity_by_index +/* 87F7BC 802409CC 0040802D */ daddu $s0, $v0, $zero +/* 87F7C0 802409D0 0040182D */ daddu $v1, $v0, $zero +/* 87F7C4 802409D4 44920000 */ mtc1 $s2, $f0 +/* 87F7C8 802409D8 00000000 */ nop +/* 87F7CC 802409DC 46800020 */ cvt.s.w $f0, $f0 +/* 87F7D0 802409E0 E4600048 */ swc1 $f0, 0x48($v1) +/* 87F7D4 802409E4 44910000 */ mtc1 $s1, $f0 +/* 87F7D8 802409E8 00000000 */ nop +/* 87F7DC 802409EC 46800020 */ cvt.s.w $f0, $f0 +/* 87F7E0 802409F0 E460004C */ swc1 $f0, 0x4c($v1) +/* 87F7E4 802409F4 44900000 */ mtc1 $s0, $f0 +/* 87F7E8 802409F8 00000000 */ nop +/* 87F7EC 802409FC 46800020 */ cvt.s.w $f0, $f0 +/* 87F7F0 80240A00 E4600050 */ swc1 $f0, 0x50($v1) +/* 87F7F4 80240A04 8FBF0020 */ lw $ra, 0x20($sp) +/* 87F7F8 80240A08 8FB3001C */ lw $s3, 0x1c($sp) +/* 87F7FC 80240A0C 8FB20018 */ lw $s2, 0x18($sp) +/* 87F800 80240A10 8FB10014 */ lw $s1, 0x14($sp) +/* 87F804 80240A14 8FB00010 */ lw $s0, 0x10($sp) +/* 87F808 80240A18 24020002 */ addiu $v0, $zero, 2 +/* 87F80C 80240A1C 03E00008 */ jr $ra +/* 87F810 80240A20 27BD0028 */ addiu $sp, $sp, 0x28 +/* 87F814 80240A24 00000000 */ nop +/* 87F818 80240A28 00000000 */ nop +/* 87F81C 80240A2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240A30_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240A30_87EDF0.s new file mode 100644 index 0000000000..44c5a19c83 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240A30_87EDF0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A30_87F820 +/* 87F820 80240A30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87F824 80240A34 AFBF0010 */ sw $ra, 0x10($sp) +/* 87F828 80240A38 8C82000C */ lw $v0, 0xc($a0) +/* 87F82C 80240A3C 3C068016 */ lui $a2, 0x8016 +/* 87F830 80240A40 84C6A552 */ lh $a2, -0x5aae($a2) +/* 87F834 80240A44 0C0B2026 */ jal set_variable +/* 87F838 80240A48 8C450000 */ lw $a1, ($v0) +/* 87F83C 80240A4C 8FBF0010 */ lw $ra, 0x10($sp) +/* 87F840 80240A50 24020002 */ addiu $v0, $zero, 2 +/* 87F844 80240A54 03E00008 */ jr $ra +/* 87F848 80240A58 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_08/func_80240A5C_87EDF0.s b/asm/nonmatchings/world/area_tik/tik_08/func_80240A5C_87EDF0.s new file mode 100644 index 0000000000..a057ce03b6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_08/func_80240A5C_87EDF0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A5C_87F84C +/* 87F84C 80240A5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 87F850 80240A60 AFBF0014 */ sw $ra, 0x14($sp) +/* 87F854 80240A64 AFB00010 */ sw $s0, 0x10($sp) +/* 87F858 80240A68 8C82000C */ lw $v0, 0xc($a0) +/* 87F85C 80240A6C 8C450000 */ lw $a1, ($v0) +/* 87F860 80240A70 0C0B1EAF */ jal get_variable +/* 87F864 80240A74 8C900148 */ lw $s0, 0x148($a0) +/* 87F868 80240A78 82030004 */ lb $v1, 4($s0) +/* 87F86C 80240A7C 00021080 */ sll $v0, $v0, 2 +/* 87F870 80240A80 00031880 */ sll $v1, $v1, 2 +/* 87F874 80240A84 3C04800B */ lui $a0, 0x800b +/* 87F878 80240A88 00832021 */ addu $a0, $a0, $v1 +/* 87F87C 80240A8C 8C840F38 */ lw $a0, 0xf38($a0) +/* 87F880 80240A90 3C038024 */ lui $v1, 0x8024 +/* 87F884 80240A94 00621821 */ addu $v1, $v1, $v0 +/* 87F888 80240A98 94632C0E */ lhu $v1, 0x2c0e($v1) +/* 87F88C 80240A9C A4830044 */ sh $v1, 0x44($a0) +/* 87F890 80240AA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 87F894 80240AA4 8FB00010 */ lw $s0, 0x10($sp) +/* 87F898 80240AA8 24020002 */ addiu $v0, $zero, 2 +/* 87F89C 80240AAC 03E00008 */ jr $ra +/* 87F8A0 80240AB0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 87F8A4 80240AB4 00000000 */ nop +/* 87F8A8 80240AB8 00000000 */ nop +/* 87F8AC 80240ABC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240000_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240000_8821C0.s new file mode 100644 index 0000000000..67d31ae76c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240000_8821C0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8821C0 +/* 8821C0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8821C4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8821C8 80240008 8C430004 */ lw $v1, 4($v0) +/* 8821CC 8024000C 3C040010 */ lui $a0, 0x10 +/* 8821D0 80240010 00641825 */ or $v1, $v1, $a0 +/* 8821D4 80240014 AC430004 */ sw $v1, 4($v0) +/* 8821D8 80240018 03E00008 */ jr $ra +/* 8821DC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240020_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240020_8821C0.s new file mode 100644 index 0000000000..1fdb074980 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240020_8821C0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_8821E0 +/* 8821E0 80240020 3C028016 */ lui $v0, 0x8016 +/* 8821E4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 8821E8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 8821EC 8024002C 03E00008 */ jr $ra +/* 8821F0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240034_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240034_8821C0.s new file mode 100644 index 0000000000..5a08f8d1c1 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240034_8821C0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_8821F4 +/* 8821F4 80240034 3C038016 */ lui $v1, 0x8016 +/* 8821F8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 8821FC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 882200 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 882204 80240044 0080802D */ daddu $s0, $a0, $zero +/* 882208 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 88220C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 882210 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 882214 80240054 24020002 */ addiu $v0, $zero, 2 +/* 882218 80240058 08090038 */ j .L802400E0 +/* 88221C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 882220 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 882224 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 882228 80240068 80620040 */ lb $v0, 0x40($v1) +/* 88222C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 882230 80240070 04420001 */ bltzl $v0, .L80240078 +/* 882234 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 882238 80240078 14400003 */ bnez $v0, .L80240088 +/* 88223C 8024007C 00000000 */ nop +/* 882240 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 882244 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 882248 80240088 44822000 */ mtc1 $v0, $f4 +/* 88224C 8024008C 00000000 */ nop +/* 882250 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 882254 80240094 44062000 */ mfc1 $a2, $f4 +/* 882258 80240098 44872000 */ mtc1 $a3, $f4 +/* 88225C 8024009C 00000000 */ nop +/* 882260 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 882264 802400A4 44806000 */ mtc1 $zero, $f12 +/* 882268 802400A8 44072000 */ mfc1 $a3, $f4 +/* 88226C 802400AC 0C00A720 */ jal atan2 +/* 882270 802400B0 46006386 */ mov.s $f14, $f12 +/* 882274 802400B4 3C014270 */ lui $at, 0x4270 +/* 882278 802400B8 44811000 */ mtc1 $at, $f2 +/* 88227C 802400BC 00000000 */ nop +/* 882280 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 882284 802400C4 00000000 */ nop +/* 882288 802400C8 45000004 */ bc1f .L802400DC +/* 88228C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 882290 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 882294 802400D4 08090038 */ j .L802400E0 +/* 882298 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 88229C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8822A0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8822A4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8822A8 802400E8 03E00008 */ jr $ra +/* 8822AC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_802400F0_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_802400F0_8821C0.s new file mode 100644 index 0000000000..fab3814c01 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_802400F0_8821C0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8822B0 +/* 8822B0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8822B4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8822B8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8822BC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 8822C0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 8822C4 80240104 0C016AFA */ jal get_current_map_header +/* 8822C8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 8822CC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 8822D0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 8822D4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8822D8 80240118 0C0B1EAF */ jal get_variable +/* 8822DC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 8822E0 80240120 0220202D */ daddu $a0, $s1, $zero +/* 8822E4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 8822E8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 8822EC 8024012C 00028100 */ sll $s0, $v0, 4 +/* 8822F0 80240130 02031821 */ addu $v1, $s0, $v1 +/* 8822F4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 8822F8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 8822FC 8024013C 44061000 */ mfc1 $a2, $f2 +/* 882300 80240140 0C0B2026 */ jal set_variable +/* 882304 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 882308 80240148 0220202D */ daddu $a0, $s1, $zero +/* 88230C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 882310 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 882314 80240154 02021021 */ addu $v0, $s0, $v0 +/* 882318 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 88231C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 882320 80240160 44061000 */ mfc1 $a2, $f2 +/* 882324 80240164 0C0B2026 */ jal set_variable +/* 882328 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 88232C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 882330 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 882334 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 882338 80240178 02021021 */ addu $v0, $s0, $v0 +/* 88233C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 882340 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 882344 80240184 44061000 */ mfc1 $a2, $f2 +/* 882348 80240188 0C0B2026 */ jal set_variable +/* 88234C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 882350 80240190 0220202D */ daddu $a0, $s1, $zero +/* 882354 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 882358 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 88235C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 882360 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 882364 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 882368 802401A8 44061000 */ mfc1 $a2, $f2 +/* 88236C 802401AC 0C0B2026 */ jal set_variable +/* 882370 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 882374 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 882378 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 88237C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 882380 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 882384 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 882388 802401C8 03E00008 */ jr $ra +/* 88238C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_802401D0_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_802401D0_8821C0.s new file mode 100644 index 0000000000..c8d21672b3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_802401D0_8821C0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_882390 +/* 882390 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 882394 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 882398 802401D8 3C014334 */ lui $at, 0x4334 +/* 88239C 802401DC 44816000 */ mtc1 $at, $f12 +/* 8823A0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8823A4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8823A8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8823AC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8823B0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8823B4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8823B8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8823BC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8823C0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8823C4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8823C8 80240208 3C01800B */ lui $at, 0x800b +/* 8823CC 8024020C 00220821 */ addu $at, $at, $v0 +/* 8823D0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8823D4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8823D8 80240218 0C00A6C9 */ jal clamp_angle +/* 8823DC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 8823E0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 8823E4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 8823E8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 8823EC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 8823F0 80240230 24020002 */ addiu $v0, $zero, 2 +/* 8823F4 80240234 03E00008 */ jr $ra +/* 8823F8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_8024023C_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_8024023C_8821C0.s new file mode 100644 index 0000000000..7bb4a56672 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_8024023C_8821C0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_8823FC +/* 8823FC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 882400 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 882404 80240244 0080802D */ daddu $s0, $a0, $zero +/* 882408 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 88240C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 882410 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 882414 80240254 0C0B210B */ jal get_float_variable +/* 882418 80240258 8C450000 */ lw $a1, ($v0) +/* 88241C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 882420 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 882424 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 882428 80240268 44060000 */ mfc1 $a2, $f0 +/* 88242C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 882430 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 882434 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 882438 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 88243C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 882440 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 882444 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 882448 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 88244C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 882450 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 882454 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 882458 80240298 0C0B2190 */ jal set_float_variable +/* 88245C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 882460 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 882464 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 882468 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 88246C 802402AC 0C0B2190 */ jal set_float_variable +/* 882470 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 882474 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 882478 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 88247C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 882480 802402C0 0C0B2190 */ jal set_float_variable +/* 882484 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 882488 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 88248C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 882490 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 882494 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 882498 802402D8 03E00008 */ jr $ra +/* 88249C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_802402E0_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_802402E0_8821C0.s new file mode 100644 index 0000000000..1bd53a723e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_802402E0_8821C0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8824A0 +/* 8824A0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8824A4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8824A8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 8824AC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8824B0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8824B4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 8824B8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 8824BC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 8824C0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8824C4 80240304 3C020002 */ lui $v0, 2 +/* 8824C8 80240308 080900C8 */ j .L80240320 +/* 8824CC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 8824D0 80240310 3C040002 */ lui $a0, 2 +/* 8824D4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 8824D8 80240318 10400002 */ beqz $v0, .L80240324 +/* 8824DC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 8824E0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 8824E4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 8824E8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 8824EC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 8824F0 80240330 04610004 */ bgez $v1, .L80240344 +/* 8824F4 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 8824F8 80240338 3C020002 */ lui $v0, 2 +/* 8824FC 8024033C 080900D5 */ j .L80240354 +/* 882500 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 882504 80240344 3C040002 */ lui $a0, 2 +/* 882508 80240348 0083102A */ slt $v0, $a0, $v1 +/* 88250C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 882510 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 882514 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 882518 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 88251C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 882520 80240360 00621821 */ addu $v1, $v1, $v0 +/* 882524 80240364 04610004 */ bgez $v1, .L80240378 +/* 882528 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 88252C 8024036C 3C020002 */ lui $v0, 2 +/* 882530 80240370 080900E2 */ j .L80240388 +/* 882534 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 882538 80240378 3C040002 */ lui $a0, 2 +/* 88253C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 882540 80240380 10400002 */ beqz $v0, .L8024038C +/* 882544 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 882548 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 88254C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 882550 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 882554 80240394 00621821 */ addu $v1, $v1, $v0 +/* 882558 80240398 04610004 */ bgez $v1, .L802403AC +/* 88255C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 882560 802403A0 3C020002 */ lui $v0, 2 +/* 882564 802403A4 080900EF */ j .L802403BC +/* 882568 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 88256C 802403AC 3C040002 */ lui $a0, 2 +/* 882570 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 882574 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 882578 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 88257C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 882580 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 882584 802403C4 0C046F07 */ jal set_main_pan_u +/* 882588 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 88258C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 882590 802403D0 0C046F0D */ jal set_main_pan_v +/* 882594 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 882598 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 88259C 802403DC 0C046F13 */ jal set_aux_pan_u +/* 8825A0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8825A4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 8825A8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 8825AC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8825B0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8825B4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 8825B8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 8825BC 802403FC 03E00008 */ jr $ra +/* 8825C0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240404_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240404_8821C0.s new file mode 100644 index 0000000000..7cf835bf62 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240404_8821C0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_8825C4 +/* 8825C4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8825C8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 8825CC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 8825D0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 8825D4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 8825D8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 8825DC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 8825E0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 8825E4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 8825E8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 8825EC 8024042C 1440000E */ bnez $v0, .L80240468 +/* 8825F0 80240430 00000000 */ nop +/* 8825F4 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8825F8 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 8825FC 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 882600 80240440 04610004 */ bgez $v1, .L80240454 +/* 882604 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 882608 80240448 3C020002 */ lui $v0, 2 +/* 88260C 8024044C 08090119 */ j .L80240464 +/* 882610 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 882614 80240454 3C040002 */ lui $a0, 2 +/* 882618 80240458 0083102A */ slt $v0, $a0, $v1 +/* 88261C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 882620 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 882624 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 882628 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 88262C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 882630 80240470 00000000 */ nop +/* 882634 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 882638 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 88263C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 882640 80240480 04610004 */ bgez $v1, .L80240494 +/* 882644 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 882648 80240488 3C020002 */ lui $v0, 2 +/* 88264C 8024048C 08090129 */ j .L802404A4 +/* 882650 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 882654 80240494 3C040002 */ lui $a0, 2 +/* 882658 80240498 0083102A */ slt $v0, $a0, $v1 +/* 88265C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 882660 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 882664 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 882668 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 88266C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 882670 802404B0 00000000 */ nop +/* 882674 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 882678 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 88267C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 882680 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 882684 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 882688 802404C8 3C020002 */ lui $v0, 2 +/* 88268C 802404CC 08090139 */ j .L802404E4 +/* 882690 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 882694 802404D4 3C040002 */ lui $a0, 2 +/* 882698 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 88269C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 8826A0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 8826A4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 8826A8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 8826AC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 8826B0 802404F0 00000000 */ nop +/* 8826B4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8826B8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 8826BC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8826C0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8826C4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8826C8 80240508 3C020002 */ lui $v0, 2 +/* 8826CC 8024050C 08090149 */ j .L80240524 +/* 8826D0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8826D4 80240514 3C040002 */ lui $a0, 2 +/* 8826D8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8826DC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 8826E0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 8826E4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 8826E8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 8826EC 8024052C 0C046F07 */ jal set_main_pan_u +/* 8826F0 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8826F4 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 8826F8 80240538 0C046F0D */ jal set_main_pan_v +/* 8826FC 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 882700 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 882704 80240544 0C046F13 */ jal set_aux_pan_u +/* 882708 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88270C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 882710 80240550 0C046F19 */ jal set_aux_pan_v +/* 882714 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 882718 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 88271C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 882720 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 882724 80240564 24420001 */ addiu $v0, $v0, 1 +/* 882728 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 88272C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 882730 80240570 24630001 */ addiu $v1, $v1, 1 +/* 882734 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 882738 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 88273C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 882740 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 882744 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 882748 80240588 0064182A */ slt $v1, $v1, $a0 +/* 88274C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 882750 80240590 14600002 */ bnez $v1, .L8024059C +/* 882754 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 882758 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 88275C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 882760 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 882764 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 882768 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 88276C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 882770 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 882774 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 882778 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 88277C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 882780 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 882784 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 882788 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 88278C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 882790 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 882794 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 882798 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 88279C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 8827A0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 8827A4 802405E4 03E00008 */ jr $ra +/* 8827A8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8827AC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_802405F0_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_802405F0_8821C0.s new file mode 100644 index 0000000000..b0650dbfe0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_802405F0_8821C0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_8827B0 +/* 8827B0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8827B4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8827B8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 8827BC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 8827C0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 8827C4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 8827C8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 8827CC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8827D0 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8827D4 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8827D8 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8827DC 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 8827E0 80240620 0C0B1EAF */ jal get_variable +/* 8827E4 80240624 8C450000 */ lw $a1, ($v0) +/* 8827E8 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 8827EC 8024062C 0C00EABB */ jal get_npc_unsafe +/* 8827F0 80240630 0040802D */ daddu $s0, $v0, $zero +/* 8827F4 80240634 0200202D */ daddu $a0, $s0, $zero +/* 8827F8 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8827FC 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 882800 80240640 0C046B4C */ jal get_model_from_list_index +/* 882804 80240644 0040202D */ daddu $a0, $v0, $zero +/* 882808 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 88280C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 882810 80240650 0040902D */ daddu $s2, $v0, $zero +/* 882814 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 882818 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 88281C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 882820 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 882824 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 882828 80240668 00000000 */ nop +/* 88282C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 882830 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 882834 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 882838 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 88283C 8024067C 00000000 */ nop +/* 882840 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 882844 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 882848 80240688 44820000 */ mtc1 $v0, $f0 +/* 88284C 8024068C 00000000 */ nop +/* 882850 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 882854 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 882858 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 88285C 8024069C 44810000 */ mtc1 $at, $f0 +/* 882860 802406A0 00000000 */ nop +/* 882864 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 882868 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 88286C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 882870 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 882874 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 882878 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 88287C 802406BC 00000000 */ nop +/* 882880 802406C0 45010004 */ bc1t .L802406D4 +/* 882884 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 882888 802406C8 0C0187BC */ jal sqrtf +/* 88288C 802406CC 00000000 */ nop +/* 882890 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 882894 802406D4 44800000 */ mtc1 $zero, $f0 +/* 882898 802406D8 00000000 */ nop +/* 88289C 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 8828A0 802406E0 00000000 */ nop +/* 8828A4 802406E4 45000016 */ bc1f .L80240740 +/* 8828A8 802406E8 46001106 */ mov.s $f4, $f2 +/* 8828AC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 8828B0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 8828B4 802406F4 00000000 */ nop +/* 8828B8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 8828BC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 8828C0 80240700 00000000 */ nop +/* 8828C4 80240704 4500000E */ bc1f .L80240740 +/* 8828C8 80240708 00000000 */ nop +/* 8828CC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 8828D0 80240710 3C013F00 */ lui $at, 0x3f00 +/* 8828D4 80240714 44811000 */ mtc1 $at, $f2 +/* 8828D8 80240718 44820000 */ mtc1 $v0, $f0 +/* 8828DC 8024071C 00000000 */ nop +/* 8828E0 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 8828E4 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 8828E8 80240728 00000000 */ nop +/* 8828EC 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 8828F0 80240730 00000000 */ nop +/* 8828F4 80240734 45000002 */ bc1f .L80240740 +/* 8828F8 80240738 24020001 */ addiu $v0, $zero, 1 +/* 8828FC 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 882900 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 882904 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 882908 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 88290C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 882910 80240750 00000000 */ nop +/* 882914 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 882918 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 88291C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 882920 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 882924 80240764 00000000 */ nop +/* 882928 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 88292C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 882930 80240770 44820000 */ mtc1 $v0, $f0 +/* 882934 80240774 00000000 */ nop +/* 882938 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 88293C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 882940 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 882944 80240784 44810000 */ mtc1 $at, $f0 +/* 882948 80240788 00000000 */ nop +/* 88294C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 882950 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 882954 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 882958 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 88295C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 882960 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 882964 802407A4 00000000 */ nop +/* 882968 802407A8 45010004 */ bc1t .L802407BC +/* 88296C 802407AC 00000000 */ nop +/* 882970 802407B0 0C0187BC */ jal sqrtf +/* 882974 802407B4 00000000 */ nop +/* 882978 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 88297C 802407BC 44800000 */ mtc1 $zero, $f0 +/* 882980 802407C0 00000000 */ nop +/* 882984 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 882988 802407C8 00000000 */ nop +/* 88298C 802407CC 45000016 */ bc1f .L80240828 +/* 882990 802407D0 46001106 */ mov.s $f4, $f2 +/* 882994 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 882998 802407D8 44820000 */ mtc1 $v0, $f0 +/* 88299C 802407DC 00000000 */ nop +/* 8829A0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 8829A4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 8829A8 802407E8 00000000 */ nop +/* 8829AC 802407EC 4500000F */ bc1f .L8024082C +/* 8829B0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 8829B4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 8829B8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 8829BC 802407FC 44811000 */ mtc1 $at, $f2 +/* 8829C0 80240800 44820000 */ mtc1 $v0, $f0 +/* 8829C4 80240804 00000000 */ nop +/* 8829C8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 8829CC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 8829D0 80240810 00000000 */ nop +/* 8829D4 80240814 4600203C */ c.lt.s $f4, $f0 +/* 8829D8 80240818 00000000 */ nop +/* 8829DC 8024081C 45000003 */ bc1f .L8024082C +/* 8829E0 80240820 24020001 */ addiu $v0, $zero, 1 +/* 8829E4 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 8829E8 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 8829EC 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 8829F0 80240830 4481D000 */ mtc1 $at, $f26 +/* 8829F4 80240834 4480C000 */ mtc1 $zero, $f24 +/* 8829F8 80240838 3C013F00 */ lui $at, 0x3f00 +/* 8829FC 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 882A00 80240840 0C00EAD2 */ jal get_npc_safe +/* 882A04 80240844 0220202D */ daddu $a0, $s1, $zero +/* 882A08 80240848 0040802D */ daddu $s0, $v0, $zero +/* 882A0C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 882A10 80240850 26310001 */ addiu $s1, $s1, 1 +/* 882A14 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 882A18 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 882A1C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 882A20 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 882A24 80240864 00000000 */ nop +/* 882A28 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 882A2C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 882A30 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 882A34 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 882A38 80240878 00000000 */ nop +/* 882A3C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 882A40 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 882A44 80240884 44820000 */ mtc1 $v0, $f0 +/* 882A48 80240888 00000000 */ nop +/* 882A4C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 882A50 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 882A54 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 882A58 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 882A5C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 882A60 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 882A64 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 882A68 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 882A6C 802408AC 00000000 */ nop +/* 882A70 802408B0 45010003 */ bc1t .L802408C0 +/* 882A74 802408B4 00000000 */ nop +/* 882A78 802408B8 0C0187BC */ jal sqrtf +/* 882A7C 802408BC 00000000 */ nop +.L802408C0: +/* 882A80 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 882A84 802408C4 00000000 */ nop +/* 882A88 802408C8 45000015 */ bc1f .L80240920 +/* 882A8C 802408CC 46000106 */ mov.s $f4, $f0 +/* 882A90 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 882A94 802408D4 44820000 */ mtc1 $v0, $f0 +/* 882A98 802408D8 00000000 */ nop +/* 882A9C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 882AA0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 882AA4 802408E4 00000000 */ nop +/* 882AA8 802408E8 4500000E */ bc1f .L80240924 +/* 882AAC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 882AB0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 882AB4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 882AB8 802408F8 00000000 */ nop +/* 882ABC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 882AC0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 882AC4 80240904 00000000 */ nop +/* 882AC8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 882ACC 8024090C 00000000 */ nop +/* 882AD0 80240910 45000004 */ bc1f .L80240924 +/* 882AD4 80240914 24020001 */ addiu $v0, $zero, 1 +/* 882AD8 80240918 0809024C */ j .L80240930 +/* 882ADC 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 882AE0 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 882AE4 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 882AE8 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 882AEC 8024092C 00000000 */ nop +.L80240930: +/* 882AF0 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 882AF4 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 882AF8 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 882AFC 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 882B00 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 882B04 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 882B08 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 882B0C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 882B10 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 882B14 80240954 24020002 */ addiu $v0, $zero, 2 +/* 882B18 80240958 03E00008 */ jr $ra +/* 882B1C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240960_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240960_8821C0.s new file mode 100644 index 0000000000..0c304e9ee5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240960_8821C0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_882B20 +/* 882B20 80240960 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 882B24 80240964 AFB10014 */ sw $s1, 0x14($sp) +/* 882B28 80240968 0080882D */ daddu $s1, $a0, $zero +/* 882B2C 8024096C AFBF0020 */ sw $ra, 0x20($sp) +/* 882B30 80240970 AFB3001C */ sw $s3, 0x1c($sp) +/* 882B34 80240974 AFB20018 */ sw $s2, 0x18($sp) +/* 882B38 80240978 AFB00010 */ sw $s0, 0x10($sp) +/* 882B3C 8024097C 8E30000C */ lw $s0, 0xc($s1) +/* 882B40 80240980 8E050000 */ lw $a1, ($s0) +/* 882B44 80240984 0C0B1EAF */ jal get_variable +/* 882B48 80240988 26100004 */ addiu $s0, $s0, 4 +/* 882B4C 8024098C 8E050000 */ lw $a1, ($s0) +/* 882B50 80240990 26100004 */ addiu $s0, $s0, 4 +/* 882B54 80240994 0220202D */ daddu $a0, $s1, $zero +/* 882B58 80240998 0C0B1EAF */ jal get_variable +/* 882B5C 8024099C 0040982D */ daddu $s3, $v0, $zero +/* 882B60 802409A0 8E050000 */ lw $a1, ($s0) +/* 882B64 802409A4 26100004 */ addiu $s0, $s0, 4 +/* 882B68 802409A8 0220202D */ daddu $a0, $s1, $zero +/* 882B6C 802409AC 0C0B1EAF */ jal get_variable +/* 882B70 802409B0 0040902D */ daddu $s2, $v0, $zero +/* 882B74 802409B4 0220202D */ daddu $a0, $s1, $zero +/* 882B78 802409B8 8E050000 */ lw $a1, ($s0) +/* 882B7C 802409BC 0C0B1EAF */ jal get_variable +/* 882B80 802409C0 0040882D */ daddu $s1, $v0, $zero +/* 882B84 802409C4 0260202D */ daddu $a0, $s3, $zero +/* 882B88 802409C8 0C04417A */ jal get_entity_by_index +/* 882B8C 802409CC 0040802D */ daddu $s0, $v0, $zero +/* 882B90 802409D0 0040182D */ daddu $v1, $v0, $zero +/* 882B94 802409D4 44920000 */ mtc1 $s2, $f0 +/* 882B98 802409D8 00000000 */ nop +/* 882B9C 802409DC 46800020 */ cvt.s.w $f0, $f0 +/* 882BA0 802409E0 E4600048 */ swc1 $f0, 0x48($v1) +/* 882BA4 802409E4 44910000 */ mtc1 $s1, $f0 +/* 882BA8 802409E8 00000000 */ nop +/* 882BAC 802409EC 46800020 */ cvt.s.w $f0, $f0 +/* 882BB0 802409F0 E460004C */ swc1 $f0, 0x4c($v1) +/* 882BB4 802409F4 44900000 */ mtc1 $s0, $f0 +/* 882BB8 802409F8 00000000 */ nop +/* 882BBC 802409FC 46800020 */ cvt.s.w $f0, $f0 +/* 882BC0 80240A00 E4600050 */ swc1 $f0, 0x50($v1) +/* 882BC4 80240A04 8FBF0020 */ lw $ra, 0x20($sp) +/* 882BC8 80240A08 8FB3001C */ lw $s3, 0x1c($sp) +/* 882BCC 80240A0C 8FB20018 */ lw $s2, 0x18($sp) +/* 882BD0 80240A10 8FB10014 */ lw $s1, 0x14($sp) +/* 882BD4 80240A14 8FB00010 */ lw $s0, 0x10($sp) +/* 882BD8 80240A18 24020002 */ addiu $v0, $zero, 2 +/* 882BDC 80240A1C 03E00008 */ jr $ra +/* 882BE0 80240A20 27BD0028 */ addiu $sp, $sp, 0x28 +/* 882BE4 80240A24 00000000 */ nop +/* 882BE8 80240A28 00000000 */ nop +/* 882BEC 80240A2C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240A30_8821C0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240A30_8821C0.s new file mode 100644 index 0000000000..dbc31b5679 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240A30_8821C0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A30_882BF0 +/* 882BF0 80240A30 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 882BF4 80240A34 AFB20018 */ sw $s2, 0x18($sp) +/* 882BF8 80240A38 0080902D */ daddu $s2, $a0, $zero +/* 882BFC 80240A3C AFBF001C */ sw $ra, 0x1c($sp) +/* 882C00 80240A40 AFB10014 */ sw $s1, 0x14($sp) +/* 882C04 80240A44 AFB00010 */ sw $s0, 0x10($sp) +/* 882C08 80240A48 8E510148 */ lw $s1, 0x148($s2) +/* 882C0C 80240A4C 0C00EABB */ jal get_npc_unsafe +/* 882C10 80240A50 86240008 */ lh $a0, 8($s1) +/* 882C14 80240A54 0040802D */ daddu $s0, $v0, $zero +/* 882C18 80240A58 8E2300CC */ lw $v1, 0xcc($s1) +/* 882C1C 80240A5C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 882C20 80240A60 8C630020 */ lw $v1, 0x20($v1) +/* 882C24 80240A64 AE030028 */ sw $v1, 0x28($s0) +/* 882C28 80240A68 96220076 */ lhu $v0, 0x76($s1) +/* 882C2C 80240A6C A602008E */ sh $v0, 0x8e($s0) +/* 882C30 80240A70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 882C34 80240A74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 882C38 80240A78 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 882C3C 80240A7C 8C460028 */ lw $a2, 0x28($v0) +/* 882C40 80240A80 0C00A720 */ jal atan2 +/* 882C44 80240A84 8C470030 */ lw $a3, 0x30($v0) +/* 882C48 80240A88 2402000D */ addiu $v0, $zero, 0xd +/* 882C4C 80240A8C E600000C */ swc1 $f0, 0xc($s0) +/* 882C50 80240A90 AE420070 */ sw $v0, 0x70($s2) +/* 882C54 80240A94 8FBF001C */ lw $ra, 0x1c($sp) +/* 882C58 80240A98 8FB20018 */ lw $s2, 0x18($sp) +/* 882C5C 80240A9C 8FB10014 */ lw $s1, 0x14($sp) +/* 882C60 80240AA0 8FB00010 */ lw $s0, 0x10($sp) +/* 882C64 80240AA4 03E00008 */ jr $ra +/* 882C68 80240AA8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240AAC.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240AAC.s new file mode 100644 index 0000000000..483093a15b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240AAC.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AAC +/* 882C6C 80240AAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 882C70 80240AB0 AFB3001C */ sw $s3, 0x1c($sp) +/* 882C74 80240AB4 0080982D */ daddu $s3, $a0, $zero +/* 882C78 80240AB8 AFBF0020 */ sw $ra, 0x20($sp) +/* 882C7C 80240ABC AFB20018 */ sw $s2, 0x18($sp) +/* 882C80 80240AC0 AFB10014 */ sw $s1, 0x14($sp) +/* 882C84 80240AC4 AFB00010 */ sw $s0, 0x10($sp) +/* 882C88 80240AC8 8E710148 */ lw $s1, 0x148($s3) +/* 882C8C 80240ACC 86240008 */ lh $a0, 8($s1) +/* 882C90 80240AD0 0C00EABB */ jal get_npc_unsafe +/* 882C94 80240AD4 00A0902D */ daddu $s2, $a1, $zero +/* 882C98 80240AD8 0040802D */ daddu $s0, $v0, $zero +/* 882C9C 80240ADC 8602008E */ lh $v0, 0x8e($s0) +/* 882CA0 80240AE0 9603008E */ lhu $v1, 0x8e($s0) +/* 882CA4 80240AE4 18400005 */ blez $v0, .L80240AFC +/* 882CA8 80240AE8 2462FFFF */ addiu $v0, $v1, -1 +/* 882CAC 80240AEC A602008E */ sh $v0, 0x8e($s0) +/* 882CB0 80240AF0 00021400 */ sll $v0, $v0, 0x10 +/* 882CB4 80240AF4 1C400033 */ bgtz $v0, .L80240BC4 +/* 882CB8 80240AF8 00000000 */ nop +.L80240AFC: +/* 882CBC 80240AFC 8602008C */ lh $v0, 0x8c($s0) +/* 882CC0 80240B00 14400030 */ bnez $v0, .L80240BC4 +/* 882CC4 80240B04 00000000 */ nop +/* 882CC8 80240B08 8E2200CC */ lw $v0, 0xcc($s1) +/* 882CCC 80240B0C 8C420024 */ lw $v0, 0x24($v0) +/* 882CD0 80240B10 AE020028 */ sw $v0, 0x28($s0) +/* 882CD4 80240B14 C6400018 */ lwc1 $f0, 0x18($s2) +/* 882CD8 80240B18 E6000018 */ swc1 $f0, 0x18($s0) +/* 882CDC 80240B1C 8E230088 */ lw $v1, 0x88($s1) +/* 882CE0 80240B20 24020005 */ addiu $v0, $zero, 5 +/* 882CE4 80240B24 10620005 */ beq $v1, $v0, .L80240B3C +/* 882CE8 80240B28 00000000 */ nop +/* 882CEC 80240B2C 10600003 */ beqz $v1, .L80240B3C +/* 882CF0 80240B30 24020001 */ addiu $v0, $zero, 1 +/* 882CF4 80240B34 14620006 */ bne $v1, $v0, .L80240B50 +/* 882CF8 80240B38 00000000 */ nop +.L80240B3C: +/* 882CFC 80240B3C 8E220084 */ lw $v0, 0x84($s1) +/* 882D00 80240B40 00021FC2 */ srl $v1, $v0, 0x1f +/* 882D04 80240B44 00431021 */ addu $v0, $v0, $v1 +/* 882D08 80240B48 00021043 */ sra $v0, $v0, 1 +/* 882D0C 80240B4C A60200A8 */ sh $v0, 0xa8($s0) +.L80240B50: +/* 882D10 80240B50 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 882D14 80240B54 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 882D18 80240B58 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 882D1C 80240B5C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 882D20 80240B60 8C460028 */ lw $a2, 0x28($v0) +/* 882D24 80240B64 0C00A7B5 */ jal dist2D +/* 882D28 80240B68 8C470030 */ lw $a3, 0x30($v0) +/* 882D2C 80240B6C C6020018 */ lwc1 $f2, 0x18($s0) +/* 882D30 80240B70 46020003 */ div.s $f0, $f0, $f2 +/* 882D34 80240B74 3C018024 */ lui $at, 0x8024 +/* 882D38 80240B78 D42241A0 */ ldc1 $f2, 0x41a0($at) +/* 882D3C 80240B7C 46000021 */ cvt.d.s $f0, $f0 +/* 882D40 80240B80 46220000 */ add.d $f0, $f0, $f2 +/* 882D44 80240B84 4620010D */ trunc.w.d $f4, $f0 +/* 882D48 80240B88 44022000 */ mfc1 $v0, $f4 +/* 882D4C 80240B8C 00000000 */ nop +/* 882D50 80240B90 A602008E */ sh $v0, 0x8e($s0) +/* 882D54 80240B94 00021400 */ sll $v0, $v0, 0x10 +/* 882D58 80240B98 8E230078 */ lw $v1, 0x78($s1) +/* 882D5C 80240B9C 00021403 */ sra $v0, $v0, 0x10 +/* 882D60 80240BA0 0043102A */ slt $v0, $v0, $v1 +/* 882D64 80240BA4 10400003 */ beqz $v0, .L80240BB4 +/* 882D68 80240BA8 00000000 */ nop +/* 882D6C 80240BAC 9622007A */ lhu $v0, 0x7a($s1) +/* 882D70 80240BB0 A602008E */ sh $v0, 0x8e($s0) +.L80240BB4: +/* 882D74 80240BB4 8602008E */ lh $v0, 0x8e($s0) +/* 882D78 80240BB8 AE22007C */ sw $v0, 0x7c($s1) +/* 882D7C 80240BBC 2402000E */ addiu $v0, $zero, 0xe +/* 882D80 80240BC0 AE620070 */ sw $v0, 0x70($s3) +.L80240BC4: +/* 882D84 80240BC4 8FBF0020 */ lw $ra, 0x20($sp) +/* 882D88 80240BC8 8FB3001C */ lw $s3, 0x1c($sp) +/* 882D8C 80240BCC 8FB20018 */ lw $s2, 0x18($sp) +/* 882D90 80240BD0 8FB10014 */ lw $s1, 0x14($sp) +/* 882D94 80240BD4 8FB00010 */ lw $s0, 0x10($sp) +/* 882D98 80240BD8 03E00008 */ jr $ra +/* 882D9C 80240BDC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240BE0.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240BE0.s new file mode 100644 index 0000000000..ab47ae0b7c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240BE0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BE0 +/* 882DA0 80240BE0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 882DA4 80240BE4 AFB3003C */ sw $s3, 0x3c($sp) +/* 882DA8 80240BE8 0080982D */ daddu $s3, $a0, $zero +/* 882DAC 80240BEC AFBF0040 */ sw $ra, 0x40($sp) +/* 882DB0 80240BF0 AFB20038 */ sw $s2, 0x38($sp) +/* 882DB4 80240BF4 AFB10034 */ sw $s1, 0x34($sp) +/* 882DB8 80240BF8 AFB00030 */ sw $s0, 0x30($sp) +/* 882DBC 80240BFC 8E710148 */ lw $s1, 0x148($s3) +/* 882DC0 80240C00 0C00EABB */ jal get_npc_unsafe +/* 882DC4 80240C04 86240008 */ lh $a0, 8($s1) +/* 882DC8 80240C08 0040802D */ daddu $s0, $v0, $zero +/* 882DCC 80240C0C 8E22007C */ lw $v0, 0x7c($s1) +/* 882DD0 80240C10 8603008E */ lh $v1, 0x8e($s0) +/* 882DD4 80240C14 2442FFFF */ addiu $v0, $v0, -1 +/* 882DD8 80240C18 14620012 */ bne $v1, $v0, .L80240C64 +/* 882DDC 80240C1C 00000000 */ nop +/* 882DE0 80240C20 C6000038 */ lwc1 $f0, 0x38($s0) +/* 882DE4 80240C24 4600020D */ trunc.w.s $f8, $f0 +/* 882DE8 80240C28 44024000 */ mfc1 $v0, $f8 +/* 882DEC 80240C2C 00000000 */ nop +/* 882DF0 80240C30 A6220010 */ sh $v0, 0x10($s1) +/* 882DF4 80240C34 C600003C */ lwc1 $f0, 0x3c($s0) +/* 882DF8 80240C38 4600020D */ trunc.w.s $f8, $f0 +/* 882DFC 80240C3C 44024000 */ mfc1 $v0, $f8 +/* 882E00 80240C40 00000000 */ nop +/* 882E04 80240C44 A6220012 */ sh $v0, 0x12($s1) +/* 882E08 80240C48 C6000040 */ lwc1 $f0, 0x40($s0) +/* 882E0C 80240C4C 24020001 */ addiu $v0, $zero, 1 +/* 882E10 80240C50 A2220007 */ sb $v0, 7($s1) +/* 882E14 80240C54 4600020D */ trunc.w.s $f8, $f0 +/* 882E18 80240C58 44024000 */ mfc1 $v0, $f8 +/* 882E1C 80240C5C 00000000 */ nop +/* 882E20 80240C60 A6220014 */ sh $v0, 0x14($s1) +.L80240C64: +/* 882E24 80240C64 C6000038 */ lwc1 $f0, 0x38($s0) +/* 882E28 80240C68 C602003C */ lwc1 $f2, 0x3c($s0) +/* 882E2C 80240C6C C6040040 */ lwc1 $f4, 0x40($s0) +/* 882E30 80240C70 C6060018 */ lwc1 $f6, 0x18($s0) +/* 882E34 80240C74 E7A00020 */ swc1 $f0, 0x20($sp) +/* 882E38 80240C78 E7A20024 */ swc1 $f2, 0x24($sp) +/* 882E3C 80240C7C E7A40028 */ swc1 $f4, 0x28($sp) +/* 882E40 80240C80 E7A60010 */ swc1 $f6, 0x10($sp) +/* 882E44 80240C84 C600000C */ lwc1 $f0, 0xc($s0) +/* 882E48 80240C88 E7A00014 */ swc1 $f0, 0x14($sp) +/* 882E4C 80240C8C 860200A8 */ lh $v0, 0xa8($s0) +/* 882E50 80240C90 27A50020 */ addiu $a1, $sp, 0x20 +/* 882E54 80240C94 44820000 */ mtc1 $v0, $f0 +/* 882E58 80240C98 00000000 */ nop +/* 882E5C 80240C9C 46800020 */ cvt.s.w $f0, $f0 +/* 882E60 80240CA0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 882E64 80240CA4 860200A6 */ lh $v0, 0xa6($s0) +/* 882E68 80240CA8 27A60024 */ addiu $a2, $sp, 0x24 +/* 882E6C 80240CAC 44820000 */ mtc1 $v0, $f0 +/* 882E70 80240CB0 00000000 */ nop +/* 882E74 80240CB4 46800020 */ cvt.s.w $f0, $f0 +/* 882E78 80240CB8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 882E7C 80240CBC 8E040080 */ lw $a0, 0x80($s0) +/* 882E80 80240CC0 0C037711 */ jal func_800DDC44 +/* 882E84 80240CC4 27A70028 */ addiu $a3, $sp, 0x28 +/* 882E88 80240CC8 0040902D */ daddu $s2, $v0, $zero +/* 882E8C 80240CCC 16400005 */ bnez $s2, .L80240CE4 +/* 882E90 80240CD0 00000000 */ nop +/* 882E94 80240CD4 8E050018 */ lw $a1, 0x18($s0) +/* 882E98 80240CD8 8E06000C */ lw $a2, 0xc($s0) +/* 882E9C 80240CDC 0C00EA95 */ jal npc_move_heading +/* 882EA0 80240CE0 0200202D */ daddu $a0, $s0, $zero +.L80240CE4: +/* 882EA4 80240CE4 8602008E */ lh $v0, 0x8e($s0) +/* 882EA8 80240CE8 9603008E */ lhu $v1, 0x8e($s0) +/* 882EAC 80240CEC 18400007 */ blez $v0, .L80240D0C +/* 882EB0 80240CF0 2462FFFF */ addiu $v0, $v1, -1 +/* 882EB4 80240CF4 A602008E */ sh $v0, 0x8e($s0) +/* 882EB8 80240CF8 00021400 */ sll $v0, $v0, 0x10 +/* 882EBC 80240CFC 18400003 */ blez $v0, .L80240D0C +/* 882EC0 80240D00 00000000 */ nop +/* 882EC4 80240D04 12400008 */ beqz $s2, .L80240D28 +/* 882EC8 80240D08 00000000 */ nop +.L80240D0C: +/* 882ECC 80240D0C 8E2200CC */ lw $v0, 0xcc($s1) +/* 882ED0 80240D10 A2200007 */ sb $zero, 7($s1) +/* 882ED4 80240D14 8C420028 */ lw $v0, 0x28($v0) +/* 882ED8 80240D18 A600008E */ sh $zero, 0x8e($s0) +/* 882EDC 80240D1C AE020028 */ sw $v0, 0x28($s0) +/* 882EE0 80240D20 2402000F */ addiu $v0, $zero, 0xf +/* 882EE4 80240D24 AE620070 */ sw $v0, 0x70($s3) +.L80240D28: +/* 882EE8 80240D28 8FBF0040 */ lw $ra, 0x40($sp) +/* 882EEC 80240D2C 8FB3003C */ lw $s3, 0x3c($sp) +/* 882EF0 80240D30 8FB20038 */ lw $s2, 0x38($sp) +/* 882EF4 80240D34 8FB10034 */ lw $s1, 0x34($sp) +/* 882EF8 80240D38 8FB00030 */ lw $s0, 0x30($sp) +/* 882EFC 80240D3C 03E00008 */ jr $ra +/* 882F00 80240D40 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240D44.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240D44.s new file mode 100644 index 0000000000..c042d23974 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240D44.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D44 +/* 882F04 80240D44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 882F08 80240D48 AFB10014 */ sw $s1, 0x14($sp) +/* 882F0C 80240D4C 0080882D */ daddu $s1, $a0, $zero +/* 882F10 80240D50 AFBF0018 */ sw $ra, 0x18($sp) +/* 882F14 80240D54 AFB00010 */ sw $s0, 0x10($sp) +/* 882F18 80240D58 8E300148 */ lw $s0, 0x148($s1) +/* 882F1C 80240D5C 0C00EABB */ jal get_npc_unsafe +/* 882F20 80240D60 86040008 */ lh $a0, 8($s0) +/* 882F24 80240D64 0040202D */ daddu $a0, $v0, $zero +/* 882F28 80240D68 9482008E */ lhu $v0, 0x8e($a0) +/* 882F2C 80240D6C 24030003 */ addiu $v1, $zero, 3 +/* 882F30 80240D70 24420001 */ addiu $v0, $v0, 1 +/* 882F34 80240D74 A482008E */ sh $v0, 0x8e($a0) +/* 882F38 80240D78 00021400 */ sll $v0, $v0, 0x10 +/* 882F3C 80240D7C 00021403 */ sra $v0, $v0, 0x10 +/* 882F40 80240D80 14430003 */ bne $v0, $v1, .L80240D90 +/* 882F44 80240D84 00000000 */ nop +/* 882F48 80240D88 96020086 */ lhu $v0, 0x86($s0) +/* 882F4C 80240D8C A48200A8 */ sh $v0, 0xa8($a0) +.L80240D90: +/* 882F50 80240D90 8482008E */ lh $v0, 0x8e($a0) +/* 882F54 80240D94 8E030080 */ lw $v1, 0x80($s0) +/* 882F58 80240D98 0043102A */ slt $v0, $v0, $v1 +/* 882F5C 80240D9C 14400004 */ bnez $v0, .L80240DB0 +/* 882F60 80240DA0 00000000 */ nop +/* 882F64 80240DA4 96020086 */ lhu $v0, 0x86($s0) +/* 882F68 80240DA8 A48200A8 */ sh $v0, 0xa8($a0) +/* 882F6C 80240DAC AE200070 */ sw $zero, 0x70($s1) +.L80240DB0: +/* 882F70 80240DB0 8FBF0018 */ lw $ra, 0x18($sp) +/* 882F74 80240DB4 8FB10014 */ lw $s1, 0x14($sp) +/* 882F78 80240DB8 8FB00010 */ lw $s0, 0x10($sp) +/* 882F7C 80240DBC 03E00008 */ jr $ra +/* 882F80 80240DC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80240DC4.s b/asm/nonmatchings/world/area_tik/tik_09/func_80240DC4.s new file mode 100644 index 0000000000..ee1937e1ff --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80240DC4.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DC4 +/* 882F84 80240DC4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 882F88 80240DC8 AFB3005C */ sw $s3, 0x5c($sp) +/* 882F8C 80240DCC 0080982D */ daddu $s3, $a0, $zero +/* 882F90 80240DD0 AFBF0068 */ sw $ra, 0x68($sp) +/* 882F94 80240DD4 AFB50064 */ sw $s5, 0x64($sp) +/* 882F98 80240DD8 AFB40060 */ sw $s4, 0x60($sp) +/* 882F9C 80240DDC AFB20058 */ sw $s2, 0x58($sp) +/* 882FA0 80240DE0 AFB10054 */ sw $s1, 0x54($sp) +/* 882FA4 80240DE4 AFB00050 */ sw $s0, 0x50($sp) +/* 882FA8 80240DE8 8E710148 */ lw $s1, 0x148($s3) +/* 882FAC 80240DEC 86240008 */ lh $a0, 8($s1) +/* 882FB0 80240DF0 0C00EABB */ jal get_npc_unsafe +/* 882FB4 80240DF4 00A0802D */ daddu $s0, $a1, $zero +/* 882FB8 80240DF8 8E63000C */ lw $v1, 0xc($s3) +/* 882FBC 80240DFC 0260202D */ daddu $a0, $s3, $zero +/* 882FC0 80240E00 8C650000 */ lw $a1, ($v1) +/* 882FC4 80240E04 0C0B1EAF */ jal get_variable +/* 882FC8 80240E08 0040902D */ daddu $s2, $v0, $zero +/* 882FCC 80240E0C AFA00028 */ sw $zero, 0x28($sp) +/* 882FD0 80240E10 8E2300D0 */ lw $v1, 0xd0($s1) +/* 882FD4 80240E14 8C630030 */ lw $v1, 0x30($v1) +/* 882FD8 80240E18 AFA3002C */ sw $v1, 0x2c($sp) +/* 882FDC 80240E1C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 882FE0 80240E20 8C63001C */ lw $v1, 0x1c($v1) +/* 882FE4 80240E24 AFA30030 */ sw $v1, 0x30($sp) +/* 882FE8 80240E28 8E2300D0 */ lw $v1, 0xd0($s1) +/* 882FEC 80240E2C 8C630024 */ lw $v1, 0x24($v1) +/* 882FF0 80240E30 AFA30034 */ sw $v1, 0x34($sp) +/* 882FF4 80240E34 8E2300D0 */ lw $v1, 0xd0($s1) +/* 882FF8 80240E38 8C630028 */ lw $v1, 0x28($v1) +/* 882FFC 80240E3C 27B50028 */ addiu $s5, $sp, 0x28 +/* 883000 80240E40 AFA30038 */ sw $v1, 0x38($sp) +/* 883004 80240E44 8E2300D0 */ lw $v1, 0xd0($s1) +/* 883008 80240E48 3C0142C8 */ lui $at, 0x42c8 +/* 88300C 80240E4C 44810000 */ mtc1 $at, $f0 +/* 883010 80240E50 8C63002C */ lw $v1, 0x2c($v1) +/* 883014 80240E54 0040A02D */ daddu $s4, $v0, $zero +/* 883018 80240E58 E7A00040 */ swc1 $f0, 0x40($sp) +/* 88301C 80240E5C A7A00044 */ sh $zero, 0x44($sp) +/* 883020 80240E60 12000009 */ beqz $s0, .L80240E88 +/* 883024 80240E64 AFA3003C */ sw $v1, 0x3c($sp) +/* 883028 80240E68 864300A8 */ lh $v1, 0xa8($s2) +/* 88302C 80240E6C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 883030 80240E70 AE20008C */ sw $zero, 0x8c($s1) +/* 883034 80240E74 A22000B5 */ sb $zero, 0xb5($s1) +/* 883038 80240E78 34420008 */ ori $v0, $v0, 8 +/* 88303C 80240E7C AE230084 */ sw $v1, 0x84($s1) +/* 883040 80240E80 080903A6 */ j .L80240E98 +/* 883044 80240E84 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240E88: +/* 883048 80240E88 8E2200B0 */ lw $v0, 0xb0($s1) +/* 88304C 80240E8C 30420004 */ andi $v0, $v0, 4 +/* 883050 80240E90 10400047 */ beqz $v0, .L80240FB0 +/* 883054 80240E94 00000000 */ nop +.L80240E98: +/* 883058 80240E98 AE600070 */ sw $zero, 0x70($s3) +/* 88305C 80240E9C A640008E */ sh $zero, 0x8e($s2) +/* 883060 80240EA0 8E2300CC */ lw $v1, 0xcc($s1) +/* 883064 80240EA4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 883068 80240EA8 A2200007 */ sb $zero, 7($s1) +/* 88306C 80240EAC 8E420000 */ lw $v0, ($s2) +/* 883070 80240EB0 8C630000 */ lw $v1, ($v1) +/* 883074 80240EB4 00441024 */ and $v0, $v0, $a0 +/* 883078 80240EB8 AE420000 */ sw $v0, ($s2) +/* 88307C 80240EBC AE430028 */ sw $v1, 0x28($s2) +/* 883080 80240EC0 96220086 */ lhu $v0, 0x86($s1) +/* 883084 80240EC4 A64200A8 */ sh $v0, 0xa8($s2) +/* 883088 80240EC8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 88308C 80240ECC AE200090 */ sw $zero, 0x90($s1) +/* 883090 80240ED0 8C420034 */ lw $v0, 0x34($v0) +/* 883094 80240ED4 14400006 */ bnez $v0, .L80240EF0 +/* 883098 80240ED8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 88309C 80240EDC 8E420000 */ lw $v0, ($s2) +/* 8830A0 80240EE0 2403FFF7 */ addiu $v1, $zero, -9 +/* 8830A4 80240EE4 34420200 */ ori $v0, $v0, 0x200 +/* 8830A8 80240EE8 080903BF */ j .L80240EFC +/* 8830AC 80240EEC 00431024 */ and $v0, $v0, $v1 +.L80240EF0: +/* 8830B0 80240EF0 8E420000 */ lw $v0, ($s2) +/* 8830B4 80240EF4 00431024 */ and $v0, $v0, $v1 +/* 8830B8 80240EF8 34420008 */ ori $v0, $v0, 8 +.L80240EFC: +/* 8830BC 80240EFC AE420000 */ sw $v0, ($s2) +/* 8830C0 80240F00 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8830C4 80240F04 30420004 */ andi $v0, $v0, 4 +/* 8830C8 80240F08 1040001E */ beqz $v0, .L80240F84 +/* 8830CC 80240F0C 24040002 */ addiu $a0, $zero, 2 +/* 8830D0 80240F10 0240282D */ daddu $a1, $s2, $zero +/* 8830D4 80240F14 0000302D */ daddu $a2, $zero, $zero +/* 8830D8 80240F18 24020063 */ addiu $v0, $zero, 0x63 +/* 8830DC 80240F1C AE620070 */ sw $v0, 0x70($s3) +/* 8830E0 80240F20 AE600074 */ sw $zero, 0x74($s3) +/* 8830E4 80240F24 864300A8 */ lh $v1, 0xa8($s2) +/* 8830E8 80240F28 3C013F80 */ lui $at, 0x3f80 +/* 8830EC 80240F2C 44810000 */ mtc1 $at, $f0 +/* 8830F0 80240F30 3C014000 */ lui $at, 0x4000 +/* 8830F4 80240F34 44811000 */ mtc1 $at, $f2 +/* 8830F8 80240F38 3C01C1A0 */ lui $at, 0xc1a0 +/* 8830FC 80240F3C 44812000 */ mtc1 $at, $f4 +/* 883100 80240F40 24020028 */ addiu $v0, $zero, 0x28 +/* 883104 80240F44 AFA2001C */ sw $v0, 0x1c($sp) +/* 883108 80240F48 44833000 */ mtc1 $v1, $f6 +/* 88310C 80240F4C 00000000 */ nop +/* 883110 80240F50 468031A0 */ cvt.s.w $f6, $f6 +/* 883114 80240F54 44073000 */ mfc1 $a3, $f6 +/* 883118 80240F58 27A20048 */ addiu $v0, $sp, 0x48 +/* 88311C 80240F5C AFA20020 */ sw $v0, 0x20($sp) +/* 883120 80240F60 E7A00010 */ swc1 $f0, 0x10($sp) +/* 883124 80240F64 E7A20014 */ swc1 $f2, 0x14($sp) +/* 883128 80240F68 0C01BFA4 */ jal fx_emote +/* 88312C 80240F6C E7A40018 */ swc1 $f4, 0x18($sp) +/* 883130 80240F70 8E2200B0 */ lw $v0, 0xb0($s1) +/* 883134 80240F74 2403FFFB */ addiu $v1, $zero, -5 +/* 883138 80240F78 00431024 */ and $v0, $v0, $v1 +/* 88313C 80240F7C 080903EC */ j .L80240FB0 +/* 883140 80240F80 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240F84: +/* 883144 80240F84 8E220000 */ lw $v0, ($s1) +/* 883148 80240F88 3C034000 */ lui $v1, 0x4000 +/* 88314C 80240F8C 00431024 */ and $v0, $v0, $v1 +/* 883150 80240F90 10400007 */ beqz $v0, .L80240FB0 +/* 883154 80240F94 3C03BFFF */ lui $v1, 0xbfff +/* 883158 80240F98 2402000C */ addiu $v0, $zero, 0xc +/* 88315C 80240F9C AE620070 */ sw $v0, 0x70($s3) +/* 883160 80240FA0 8E220000 */ lw $v0, ($s1) +/* 883164 80240FA4 3463FFFF */ ori $v1, $v1, 0xffff +/* 883168 80240FA8 00431024 */ and $v0, $v0, $v1 +/* 88316C 80240FAC AE220000 */ sw $v0, ($s1) +.L80240FB0: +/* 883170 80240FB0 8E220090 */ lw $v0, 0x90($s1) +/* 883174 80240FB4 1840000C */ blez $v0, .L80240FE8 +/* 883178 80240FB8 2442FFFF */ addiu $v0, $v0, -1 +/* 88317C 80240FBC 14400087 */ bnez $v0, .L802411DC +/* 883180 80240FC0 AE220090 */ sw $v0, 0x90($s1) +/* 883184 80240FC4 3C03FFAA */ lui $v1, 0xffaa +/* 883188 80240FC8 8E420028 */ lw $v0, 0x28($s2) +/* 88318C 80240FCC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 883190 80240FD0 00431021 */ addu $v0, $v0, $v1 +/* 883194 80240FD4 2C420002 */ sltiu $v0, $v0, 2 +/* 883198 80240FD8 10400003 */ beqz $v0, .L80240FE8 +/* 88319C 80240FDC 3C020055 */ lui $v0, 0x55 +/* 8831A0 80240FE0 3442000C */ ori $v0, $v0, 0xc +/* 8831A4 80240FE4 AE420028 */ sw $v0, 0x28($s2) +.L80240FE8: +/* 8831A8 80240FE8 8E630070 */ lw $v1, 0x70($s3) +/* 8831AC 80240FEC 2402000C */ addiu $v0, $zero, 0xc +/* 8831B0 80240FF0 10620048 */ beq $v1, $v0, .L80241114 +/* 8831B4 80240FF4 2862000D */ slti $v0, $v1, 0xd +/* 8831B8 80240FF8 1040000F */ beqz $v0, .L80241038 +/* 8831BC 80240FFC 24100001 */ addiu $s0, $zero, 1 +/* 8831C0 80241000 1070001E */ beq $v1, $s0, .L8024107C +/* 8831C4 80241004 28620002 */ slti $v0, $v1, 2 +/* 8831C8 80241008 10400005 */ beqz $v0, .L80241020 +/* 8831CC 8024100C 24020002 */ addiu $v0, $zero, 2 +/* 8831D0 80241010 10600015 */ beqz $v1, .L80241068 +/* 8831D4 80241014 0260202D */ daddu $a0, $s3, $zero +/* 8831D8 80241018 0809045C */ j .L80241170 +/* 8831DC 8024101C 00000000 */ nop +.L80241020: +/* 8831E0 80241020 1062001C */ beq $v1, $v0, .L80241094 +/* 8831E4 80241024 24020003 */ addiu $v0, $zero, 3 +/* 8831E8 80241028 10620035 */ beq $v1, $v0, .L80241100 +/* 8831EC 8024102C 0260202D */ daddu $a0, $s3, $zero +/* 8831F0 80241030 0809045C */ j .L80241170 +/* 8831F4 80241034 00000000 */ nop +.L80241038: +/* 8831F8 80241038 2402000E */ addiu $v0, $zero, 0xe +/* 8831FC 8024103C 1062003F */ beq $v1, $v0, .L8024113C +/* 883200 80241040 0062102A */ slt $v0, $v1, $v0 +/* 883204 80241044 14400038 */ bnez $v0, .L80241128 +/* 883208 80241048 0260202D */ daddu $a0, $s3, $zero +/* 88320C 8024104C 2402000F */ addiu $v0, $zero, 0xf +/* 883210 80241050 10620040 */ beq $v1, $v0, .L80241154 +/* 883214 80241054 24020063 */ addiu $v0, $zero, 0x63 +/* 883218 80241058 10620043 */ beq $v1, $v0, .L80241168 +/* 88321C 8024105C 00000000 */ nop +/* 883220 80241060 0809045C */ j .L80241170 +/* 883224 80241064 00000000 */ nop +.L80241068: +/* 883228 80241068 0280282D */ daddu $a1, $s4, $zero +/* 88322C 8024106C 0C012568 */ jal func_800495A0 +/* 883230 80241070 02A0302D */ daddu $a2, $s5, $zero +/* 883234 80241074 96220086 */ lhu $v0, 0x86($s1) +/* 883238 80241078 A64200A8 */ sh $v0, 0xa8($s2) +.L8024107C: +/* 88323C 8024107C 0260202D */ daddu $a0, $s3, $zero +/* 883240 80241080 0280282D */ daddu $a1, $s4, $zero +/* 883244 80241084 0C0125AE */ jal func_800496B8 +/* 883248 80241088 02A0302D */ daddu $a2, $s5, $zero +/* 88324C 8024108C 0809045C */ j .L80241170 +/* 883250 80241090 00000000 */ nop +.L80241094: +/* 883254 80241094 0260202D */ daddu $a0, $s3, $zero +/* 883258 80241098 0280282D */ daddu $a1, $s4, $zero +/* 88325C 8024109C 0C0126D1 */ jal func_80049B44 +/* 883260 802410A0 02A0302D */ daddu $a2, $s5, $zero +/* 883264 802410A4 8E230088 */ lw $v1, 0x88($s1) +/* 883268 802410A8 24020006 */ addiu $v0, $zero, 6 +/* 88326C 802410AC 14620014 */ bne $v1, $v0, .L80241100 +/* 883270 802410B0 0260202D */ daddu $a0, $s3, $zero +/* 883274 802410B4 0C00A67F */ jal rand_int +/* 883278 802410B8 24040064 */ addiu $a0, $zero, 0x64 +/* 88327C 802410BC 28420021 */ slti $v0, $v0, 0x21 +/* 883280 802410C0 5040000F */ beql $v0, $zero, .L80241100 +/* 883284 802410C4 0260202D */ daddu $a0, $s3, $zero +/* 883288 802410C8 8E22008C */ lw $v0, 0x8c($s1) +/* 88328C 802410CC 10400005 */ beqz $v0, .L802410E4 +/* 883290 802410D0 3C020055 */ lui $v0, 0x55 +/* 883294 802410D4 3442002F */ ori $v0, $v0, 0x2f +/* 883298 802410D8 AE20008C */ sw $zero, 0x8c($s1) +/* 88329C 802410DC 0809043C */ j .L802410F0 +/* 8832A0 802410E0 A22000B5 */ sb $zero, 0xb5($s1) +.L802410E4: +/* 8832A4 802410E4 3442002E */ ori $v0, $v0, 0x2e +/* 8832A8 802410E8 AE30008C */ sw $s0, 0x8c($s1) +/* 8832AC 802410EC A23000B5 */ sb $s0, 0xb5($s1) +.L802410F0: +/* 8832B0 802410F0 AE420028 */ sw $v0, 0x28($s2) +/* 8832B4 802410F4 24020007 */ addiu $v0, $zero, 7 +/* 8832B8 802410F8 08090477 */ j .L802411DC +/* 8832BC 802410FC AE220090 */ sw $v0, 0x90($s1) +.L80241100: +/* 8832C0 80241100 0280282D */ daddu $a1, $s4, $zero +/* 8832C4 80241104 0C012701 */ jal func_80049C04 +/* 8832C8 80241108 02A0302D */ daddu $a2, $s5, $zero +/* 8832CC 8024110C 0809045C */ j .L80241170 +/* 8832D0 80241110 00000000 */ nop +.L80241114: +/* 8832D4 80241114 0260202D */ daddu $a0, $s3, $zero +/* 8832D8 80241118 0280282D */ daddu $a1, $s4, $zero +/* 8832DC 8024111C 0C09028C */ jal func_80240A30 +/* 8832E0 80241120 02A0302D */ daddu $a2, $s5, $zero +/* 8832E4 80241124 0260202D */ daddu $a0, $s3, $zero +.L80241128: +/* 8832E8 80241128 0280282D */ daddu $a1, $s4, $zero +/* 8832EC 8024112C 0C0902AB */ jal func_80240AAC +/* 8832F0 80241130 02A0302D */ daddu $a2, $s5, $zero +/* 8832F4 80241134 0809045C */ j .L80241170 +/* 8832F8 80241138 00000000 */ nop +.L8024113C: +/* 8832FC 8024113C 0260202D */ daddu $a0, $s3, $zero +/* 883300 80241140 0280282D */ daddu $a1, $s4, $zero +/* 883304 80241144 0C0902F8 */ jal func_80240BE0 +/* 883308 80241148 02A0302D */ daddu $a2, $s5, $zero +/* 88330C 8024114C 0809045C */ j .L80241170 +/* 883310 80241150 00000000 */ nop +.L80241154: +/* 883314 80241154 0280282D */ daddu $a1, $s4, $zero +/* 883318 80241158 0C090351 */ jal func_80240D44 +/* 88331C 8024115C 02A0302D */ daddu $a2, $s5, $zero +/* 883320 80241160 0809045C */ j .L80241170 +/* 883324 80241164 00000000 */ nop +.L80241168: +/* 883328 80241168 0C0129CF */ jal func_8004A73C +/* 88332C 8024116C 0260202D */ daddu $a0, $s3, $zero +.L80241170: +/* 883330 80241170 8E230088 */ lw $v1, 0x88($s1) +/* 883334 80241174 24020006 */ addiu $v0, $zero, 6 +/* 883338 80241178 14620019 */ bne $v1, $v0, .L802411E0 +/* 88333C 8024117C 0000102D */ daddu $v0, $zero, $zero +/* 883340 80241180 8E22008C */ lw $v0, 0x8c($s1) +/* 883344 80241184 10400003 */ beqz $v0, .L80241194 +/* 883348 80241188 24020001 */ addiu $v0, $zero, 1 +/* 88334C 8024118C 08090466 */ j .L80241198 +/* 883350 80241190 A22200B5 */ sb $v0, 0xb5($s1) +.L80241194: +/* 883354 80241194 A22000B5 */ sb $zero, 0xb5($s1) +.L80241198: +/* 883358 80241198 8E22008C */ lw $v0, 0x8c($s1) +/* 88335C 8024119C 1040000F */ beqz $v0, .L802411DC +/* 883360 802411A0 3C03FFAA */ lui $v1, 0xffaa +/* 883364 802411A4 8E420028 */ lw $v0, 0x28($s2) +/* 883368 802411A8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 88336C 802411AC 00431821 */ addu $v1, $v0, $v1 +/* 883370 802411B0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 883374 802411B4 10400009 */ beqz $v0, .L802411DC +/* 883378 802411B8 00031080 */ sll $v0, $v1, 2 +/* 88337C 802411BC 3C018024 */ lui $at, 0x8024 +/* 883380 802411C0 00220821 */ addu $at, $at, $v0 +/* 883384 802411C4 8C2241A8 */ lw $v0, 0x41a8($at) +/* 883388 802411C8 00400008 */ jr $v0 +/* 88338C 802411CC 00000000 */ nop +/* 883390 802411D0 8E420028 */ lw $v0, 0x28($s2) +/* 883394 802411D4 24420001 */ addiu $v0, $v0, 1 +/* 883398 802411D8 AE420028 */ sw $v0, 0x28($s2) +.L802411DC: +/* 88339C 802411DC 0000102D */ daddu $v0, $zero, $zero +.L802411E0: +/* 8833A0 802411E0 8FBF0068 */ lw $ra, 0x68($sp) +/* 8833A4 802411E4 8FB50064 */ lw $s5, 0x64($sp) +/* 8833A8 802411E8 8FB40060 */ lw $s4, 0x60($sp) +/* 8833AC 802411EC 8FB3005C */ lw $s3, 0x5c($sp) +/* 8833B0 802411F0 8FB20058 */ lw $s2, 0x58($sp) +/* 8833B4 802411F4 8FB10054 */ lw $s1, 0x54($sp) +/* 8833B8 802411F8 8FB00050 */ lw $s0, 0x50($sp) +/* 8833BC 802411FC 03E00008 */ jr $ra +/* 8833C0 80241200 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_tik/tik_09/func_80241204.s b/asm/nonmatchings/world/area_tik/tik_09/func_80241204.s new file mode 100644 index 0000000000..3f0aab420b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_09/func_80241204.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241204 +/* 8833C4 80241204 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8833C8 80241208 0000502D */ daddu $t2, $zero, $zero +/* 8833CC 8024120C 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 8833D0 80241210 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 8833D4 80241214 AFBF0010 */ sw $ra, 0x10($sp) +/* 8833D8 80241218 8062001C */ lb $v0, 0x1c($v1) +/* 8833DC 8024121C 8C85000C */ lw $a1, 0xc($a0) +/* 8833E0 80241220 18400016 */ blez $v0, .L8024127C +/* 8833E4 80241224 0140302D */ daddu $a2, $t2, $zero +/* 8833E8 80241228 0040582D */ daddu $t3, $v0, $zero +/* 8833EC 8024122C 0060482D */ daddu $t1, $v1, $zero +.L80241230: +/* 8833F0 80241230 8D220028 */ lw $v0, 0x28($t1) +/* 8833F4 80241234 5040000E */ beql $v0, $zero, .L80241270 +/* 8833F8 80241238 254A0001 */ addiu $t2, $t2, 1 +/* 8833FC 8024123C 8C430000 */ lw $v1, ($v0) +/* 883400 80241240 1860000A */ blez $v1, .L8024126C +/* 883404 80241244 0000382D */ daddu $a3, $zero, $zero +/* 883408 80241248 0060402D */ daddu $t0, $v1, $zero +/* 88340C 8024124C 0040182D */ daddu $v1, $v0, $zero +.L80241250: +/* 883410 80241250 8C620004 */ lw $v0, 4($v1) +/* 883414 80241254 54400001 */ bnel $v0, $zero, .L8024125C +/* 883418 80241258 24C60001 */ addiu $a2, $a2, 1 +.L8024125C: +/* 88341C 8024125C 24E70001 */ addiu $a3, $a3, 1 +/* 883420 80241260 00E8102A */ slt $v0, $a3, $t0 +/* 883424 80241264 1440FFFA */ bnez $v0, .L80241250 +/* 883428 80241268 24630004 */ addiu $v1, $v1, 4 +.L8024126C: +/* 88342C 8024126C 254A0001 */ addiu $t2, $t2, 1 +.L80241270: +/* 883430 80241270 014B102A */ slt $v0, $t2, $t3 +/* 883434 80241274 1440FFEE */ bnez $v0, .L80241230 +/* 883438 80241278 25290004 */ addiu $t1, $t1, 4 +.L8024127C: +/* 88343C 8024127C 8CA50000 */ lw $a1, ($a1) +/* 883440 80241280 0C0B2026 */ jal set_variable +/* 883444 80241284 00000000 */ nop +/* 883448 80241288 8FBF0010 */ lw $ra, 0x10($sp) +/* 88344C 8024128C 24020002 */ addiu $v0, $zero, 2 +/* 883450 80241290 03E00008 */ jr $ra +/* 883454 80241294 27BD0018 */ addiu $sp, $sp, 0x18 +/* 883458 80241298 00000000 */ nop +/* 88345C 8024129C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240000_8863C0.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240000_8863C0.s new file mode 100644 index 0000000000..70b299be32 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240000_8863C0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8863C0 +/* 8863C0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8863C4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8863C8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8863CC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 8863D0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8863D4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 8863D8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 8863DC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 8863E0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8863E4 80240024 3C020002 */ lui $v0, 2 +/* 8863E8 80240028 08090010 */ j .L80240040 +/* 8863EC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 8863F0 80240030 3C040002 */ lui $a0, 2 +/* 8863F4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 8863F8 80240038 10400002 */ beqz $v0, .L80240044 +/* 8863FC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 886400 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 886404 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 886408 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 88640C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 886410 80240050 04610004 */ bgez $v1, .L80240064 +/* 886414 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 886418 80240058 3C020002 */ lui $v0, 2 +/* 88641C 8024005C 0809001D */ j .L80240074 +/* 886420 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 886424 80240064 3C040002 */ lui $a0, 2 +/* 886428 80240068 0083102A */ slt $v0, $a0, $v1 +/* 88642C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 886430 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 886434 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 886438 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 88643C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 886440 80240080 00621821 */ addu $v1, $v1, $v0 +/* 886444 80240084 04610004 */ bgez $v1, .L80240098 +/* 886448 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 88644C 8024008C 3C020002 */ lui $v0, 2 +/* 886450 80240090 0809002A */ j .L802400A8 +/* 886454 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 886458 80240098 3C040002 */ lui $a0, 2 +/* 88645C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 886460 802400A0 10400002 */ beqz $v0, .L802400AC +/* 886464 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 886468 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 88646C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 886470 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 886474 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 886478 802400B8 04610004 */ bgez $v1, .L802400CC +/* 88647C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 886480 802400C0 3C020002 */ lui $v0, 2 +/* 886484 802400C4 08090037 */ j .L802400DC +/* 886488 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 88648C 802400CC 3C040002 */ lui $a0, 2 +/* 886490 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 886494 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 886498 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 88649C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 8864A0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 8864A4 802400E4 0C046F07 */ jal set_main_pan_u +/* 8864A8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8864AC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 8864B0 802400F0 0C046F0D */ jal set_main_pan_v +/* 8864B4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 8864B8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 8864BC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 8864C0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8864C4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 8864C8 80240108 0C046F19 */ jal set_aux_pan_v +/* 8864CC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8864D0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 8864D4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 8864D8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 8864DC 8024011C 03E00008 */ jr $ra +/* 8864E0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240124_8863C0.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240124_8863C0.s new file mode 100644 index 0000000000..79a414bd6f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240124_8863C0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_8864E4 +/* 8864E4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8864E8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 8864EC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 8864F0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 8864F4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 8864F8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 8864FC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 886500 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 886504 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 886508 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 88650C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 886510 80240150 00000000 */ nop +/* 886514 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 886518 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 88651C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 886520 80240160 04610004 */ bgez $v1, .L80240174 +/* 886524 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 886528 80240168 3C020002 */ lui $v0, 2 +/* 88652C 8024016C 08090061 */ j .L80240184 +/* 886530 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 886534 80240174 3C040002 */ lui $a0, 2 +/* 886538 80240178 0083102A */ slt $v0, $a0, $v1 +/* 88653C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 886540 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 886544 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 886548 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 88654C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 886550 80240190 00000000 */ nop +/* 886554 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 886558 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 88655C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 886560 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 886564 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 886568 802401A8 3C020002 */ lui $v0, 2 +/* 88656C 802401AC 08090071 */ j .L802401C4 +/* 886570 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 886574 802401B4 3C040002 */ lui $a0, 2 +/* 886578 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 88657C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 886580 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 886584 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 886588 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 88658C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 886590 802401D0 00000000 */ nop +/* 886594 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 886598 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 88659C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 8865A0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 8865A4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8865A8 802401E8 3C020002 */ lui $v0, 2 +/* 8865AC 802401EC 08090081 */ j .L80240204 +/* 8865B0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 8865B4 802401F4 3C040002 */ lui $a0, 2 +/* 8865B8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 8865BC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 8865C0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 8865C4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 8865C8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 8865CC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 8865D0 80240210 00000000 */ nop +/* 8865D4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8865D8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 8865DC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 8865E0 80240220 04610004 */ bgez $v1, .L80240234 +/* 8865E4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8865E8 80240228 3C020002 */ lui $v0, 2 +/* 8865EC 8024022C 08090091 */ j .L80240244 +/* 8865F0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 8865F4 80240234 3C040002 */ lui $a0, 2 +/* 8865F8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 8865FC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 886600 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 886604 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 886608 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 88660C 8024024C 0C046F07 */ jal set_main_pan_u +/* 886610 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 886614 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 886618 80240258 0C046F0D */ jal set_main_pan_v +/* 88661C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 886620 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 886624 80240264 0C046F13 */ jal set_aux_pan_u +/* 886628 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88662C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 886630 80240270 0C046F19 */ jal set_aux_pan_v +/* 886634 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 886638 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 88663C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 886640 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 886644 80240284 24420001 */ addiu $v0, $v0, 1 +/* 886648 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 88664C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 886650 80240290 24630001 */ addiu $v1, $v1, 1 +/* 886654 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 886658 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 88665C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 886660 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 886664 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 886668 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 88666C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 886670 802402B0 14600002 */ bnez $v1, .L802402BC +/* 886674 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 886678 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 88667C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 886680 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 886684 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 886688 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 88668C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 886690 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 886694 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 886698 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 88669C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 8866A0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 8866A4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 8866A8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8866AC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 8866B0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 8866B4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 8866B8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8866BC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8866C0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 8866C4 80240304 03E00008 */ jr $ra +/* 8866C8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8866CC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240310_8863C0.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240310_8863C0.s new file mode 100644 index 0000000000..d5fb718de3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240310_8863C0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_8866D0 +/* 8866D0 80240310 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8866D4 80240314 AFB3001C */ sw $s3, 0x1c($sp) +/* 8866D8 80240318 0080982D */ daddu $s3, $a0, $zero +/* 8866DC 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* 8866E0 80240320 AFB20018 */ sw $s2, 0x18($sp) +/* 8866E4 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* 8866E8 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* 8866EC 8024032C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8866F0 80240330 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8866F4 80240334 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8866F8 80240338 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8866FC 8024033C 8E62000C */ lw $v0, 0xc($s3) +/* 886700 80240340 0C0B1EAF */ jal get_variable +/* 886704 80240344 8C450000 */ lw $a1, ($v0) +/* 886708 80240348 2404FFFC */ addiu $a0, $zero, -4 +/* 88670C 8024034C 0C00EABB */ jal get_npc_unsafe +/* 886710 80240350 0040802D */ daddu $s0, $v0, $zero +/* 886714 80240354 0200202D */ daddu $a0, $s0, $zero +/* 886718 80240358 0C046C04 */ jal get_model_list_index_from_tree_index +/* 88671C 8024035C 0040802D */ daddu $s0, $v0, $zero +/* 886720 80240360 0C046B4C */ jal get_model_from_list_index +/* 886724 80240364 0040202D */ daddu $a0, $v0, $zero +/* 886728 80240368 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 88672C 8024036C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 886730 80240370 0040902D */ daddu $s2, $v0, $zero +/* 886734 80240374 AE60008C */ sw $zero, 0x8c($s3) +/* 886738 80240378 C4620028 */ lwc1 $f2, 0x28($v1) +/* 88673C 8024037C C6400098 */ lwc1 $f0, 0x98($s2) +/* 886740 80240380 46001081 */ sub.s $f2, $f2, $f0 +/* 886744 80240384 46021182 */ mul.s $f6, $f2, $f2 +/* 886748 80240388 00000000 */ nop +/* 88674C 8024038C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 886750 80240390 C4620030 */ lwc1 $f2, 0x30($v1) +/* 886754 80240394 46001081 */ sub.s $f2, $f2, $f0 +/* 886758 80240398 46021102 */ mul.s $f4, $f2, $f2 +/* 88675C 8024039C 00000000 */ nop +/* 886760 802403A0 846200B0 */ lh $v0, 0xb0($v1) +/* 886764 802403A4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 886768 802403A8 44820000 */ mtc1 $v0, $f0 +/* 88676C 802403AC 00000000 */ nop +/* 886770 802403B0 46800020 */ cvt.s.w $f0, $f0 +/* 886774 802403B4 46001080 */ add.s $f2, $f2, $f0 +/* 886778 802403B8 3C013FC0 */ lui $at, 0x3fc0 +/* 88677C 802403BC 44810000 */ mtc1 $at, $f0 +/* 886780 802403C0 00000000 */ nop +/* 886784 802403C4 46001081 */ sub.s $f2, $f2, $f0 +/* 886788 802403C8 46043300 */ add.s $f12, $f6, $f4 +/* 88678C 802403CC C640009C */ lwc1 $f0, 0x9c($s2) +/* 886790 802403D0 46001501 */ sub.s $f20, $f2, $f0 +/* 886794 802403D4 46006084 */ sqrt.s $f2, $f12 +/* 886798 802403D8 46021032 */ c.eq.s $f2, $f2 +/* 88679C 802403DC 00000000 */ nop +/* 8867A0 802403E0 45010004 */ bc1t .L802403F4 +/* 8867A4 802403E4 0060882D */ daddu $s1, $v1, $zero +/* 8867A8 802403E8 0C0187BC */ jal sqrtf +/* 8867AC 802403EC 00000000 */ nop +/* 8867B0 802403F0 46000086 */ mov.s $f2, $f0 +.L802403F4: +/* 8867B4 802403F4 44800000 */ mtc1 $zero, $f0 +/* 8867B8 802403F8 00000000 */ nop +/* 8867BC 802403FC 4614003C */ c.lt.s $f0, $f20 +/* 8867C0 80240400 00000000 */ nop +/* 8867C4 80240404 45000016 */ bc1f .L80240460 +/* 8867C8 80240408 46001106 */ mov.s $f4, $f2 +/* 8867CC 8024040C 862200B0 */ lh $v0, 0xb0($s1) +/* 8867D0 80240410 44820000 */ mtc1 $v0, $f0 +/* 8867D4 80240414 00000000 */ nop +/* 8867D8 80240418 46800020 */ cvt.s.w $f0, $f0 +/* 8867DC 8024041C 4600A03C */ c.lt.s $f20, $f0 +/* 8867E0 80240420 00000000 */ nop +/* 8867E4 80240424 4500000E */ bc1f .L80240460 +/* 8867E8 80240428 00000000 */ nop +/* 8867EC 8024042C 862200B2 */ lh $v0, 0xb2($s1) +/* 8867F0 80240430 3C013F00 */ lui $at, 0x3f00 +/* 8867F4 80240434 44811000 */ mtc1 $at, $f2 +/* 8867F8 80240438 44820000 */ mtc1 $v0, $f0 +/* 8867FC 8024043C 00000000 */ nop +/* 886800 80240440 46800020 */ cvt.s.w $f0, $f0 +/* 886804 80240444 46020002 */ mul.s $f0, $f0, $f2 +/* 886808 80240448 00000000 */ nop +/* 88680C 8024044C 4600203C */ c.lt.s $f4, $f0 +/* 886810 80240450 00000000 */ nop +/* 886814 80240454 45000002 */ bc1f .L80240460 +/* 886818 80240458 24020001 */ addiu $v0, $zero, 1 +/* 88681C 8024045C AE62008C */ sw $v0, 0x8c($s3) +.L80240460: +/* 886820 80240460 C6020038 */ lwc1 $f2, 0x38($s0) +/* 886824 80240464 C6400098 */ lwc1 $f0, 0x98($s2) +/* 886828 80240468 46001081 */ sub.s $f2, $f2, $f0 +/* 88682C 8024046C 46021182 */ mul.s $f6, $f2, $f2 +/* 886830 80240470 00000000 */ nop +/* 886834 80240474 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 886838 80240478 C6020040 */ lwc1 $f2, 0x40($s0) +/* 88683C 8024047C 46001081 */ sub.s $f2, $f2, $f0 +/* 886840 80240480 46021102 */ mul.s $f4, $f2, $f2 +/* 886844 80240484 00000000 */ nop +/* 886848 80240488 860200A8 */ lh $v0, 0xa8($s0) +/* 88684C 8024048C C602003C */ lwc1 $f2, 0x3c($s0) +/* 886850 80240490 44820000 */ mtc1 $v0, $f0 +/* 886854 80240494 00000000 */ nop +/* 886858 80240498 46800020 */ cvt.s.w $f0, $f0 +/* 88685C 8024049C 46001080 */ add.s $f2, $f2, $f0 +/* 886860 802404A0 3C013FC0 */ lui $at, 0x3fc0 +/* 886864 802404A4 44810000 */ mtc1 $at, $f0 +/* 886868 802404A8 00000000 */ nop +/* 88686C 802404AC 46001081 */ sub.s $f2, $f2, $f0 +/* 886870 802404B0 46043300 */ add.s $f12, $f6, $f4 +/* 886874 802404B4 C640009C */ lwc1 $f0, 0x9c($s2) +/* 886878 802404B8 46001501 */ sub.s $f20, $f2, $f0 +/* 88687C 802404BC 46006084 */ sqrt.s $f2, $f12 +/* 886880 802404C0 46021032 */ c.eq.s $f2, $f2 +/* 886884 802404C4 00000000 */ nop +/* 886888 802404C8 45010004 */ bc1t .L802404DC +/* 88688C 802404CC 00000000 */ nop +/* 886890 802404D0 0C0187BC */ jal sqrtf +/* 886894 802404D4 00000000 */ nop +/* 886898 802404D8 46000086 */ mov.s $f2, $f0 +.L802404DC: +/* 88689C 802404DC 44800000 */ mtc1 $zero, $f0 +/* 8868A0 802404E0 00000000 */ nop +/* 8868A4 802404E4 4614003C */ c.lt.s $f0, $f20 +/* 8868A8 802404E8 00000000 */ nop +/* 8868AC 802404EC 45000016 */ bc1f .L80240548 +/* 8868B0 802404F0 46001106 */ mov.s $f4, $f2 +/* 8868B4 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 8868B8 802404F8 44820000 */ mtc1 $v0, $f0 +/* 8868BC 802404FC 00000000 */ nop +/* 8868C0 80240500 46800020 */ cvt.s.w $f0, $f0 +/* 8868C4 80240504 4600A03C */ c.lt.s $f20, $f0 +/* 8868C8 80240508 00000000 */ nop +/* 8868CC 8024050C 4500000F */ bc1f .L8024054C +/* 8868D0 80240510 0000882D */ daddu $s1, $zero, $zero +/* 8868D4 80240514 860200A6 */ lh $v0, 0xa6($s0) +/* 8868D8 80240518 3C013F00 */ lui $at, 0x3f00 +/* 8868DC 8024051C 44811000 */ mtc1 $at, $f2 +/* 8868E0 80240520 44820000 */ mtc1 $v0, $f0 +/* 8868E4 80240524 00000000 */ nop +/* 8868E8 80240528 46800020 */ cvt.s.w $f0, $f0 +/* 8868EC 8024052C 46020002 */ mul.s $f0, $f0, $f2 +/* 8868F0 80240530 00000000 */ nop +/* 8868F4 80240534 4600203C */ c.lt.s $f4, $f0 +/* 8868F8 80240538 00000000 */ nop +/* 8868FC 8024053C 45000003 */ bc1f .L8024054C +/* 886900 80240540 24020001 */ addiu $v0, $zero, 1 +/* 886904 80240544 AE62008C */ sw $v0, 0x8c($s3) +.L80240548: +/* 886908 80240548 0000882D */ daddu $s1, $zero, $zero +.L8024054C: +/* 88690C 8024054C 3C013FC0 */ lui $at, 0x3fc0 +/* 886910 80240550 4481D000 */ mtc1 $at, $f26 +/* 886914 80240554 4480C000 */ mtc1 $zero, $f24 +/* 886918 80240558 3C013F00 */ lui $at, 0x3f00 +/* 88691C 8024055C 4481B000 */ mtc1 $at, $f22 +.L80240560: +/* 886920 80240560 0C00EAD2 */ jal get_npc_safe +/* 886924 80240564 0220202D */ daddu $a0, $s1, $zero +/* 886928 80240568 0040802D */ daddu $s0, $v0, $zero +/* 88692C 8024056C 52000035 */ beql $s0, $zero, .L80240644 +/* 886930 80240570 26310001 */ addiu $s1, $s1, 1 +/* 886934 80240574 C6020038 */ lwc1 $f2, 0x38($s0) +/* 886938 80240578 C6400098 */ lwc1 $f0, 0x98($s2) +/* 88693C 8024057C 46001081 */ sub.s $f2, $f2, $f0 +/* 886940 80240580 46021182 */ mul.s $f6, $f2, $f2 +/* 886944 80240584 00000000 */ nop +/* 886948 80240588 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 88694C 8024058C C6020040 */ lwc1 $f2, 0x40($s0) +/* 886950 80240590 46001081 */ sub.s $f2, $f2, $f0 +/* 886954 80240594 46021102 */ mul.s $f4, $f2, $f2 +/* 886958 80240598 00000000 */ nop +/* 88695C 8024059C 860200A8 */ lh $v0, 0xa8($s0) +/* 886960 802405A0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 886964 802405A4 44820000 */ mtc1 $v0, $f0 +/* 886968 802405A8 00000000 */ nop +/* 88696C 802405AC 46800020 */ cvt.s.w $f0, $f0 +/* 886970 802405B0 46001080 */ add.s $f2, $f2, $f0 +/* 886974 802405B4 461A1081 */ sub.s $f2, $f2, $f26 +/* 886978 802405B8 46043300 */ add.s $f12, $f6, $f4 +/* 88697C 802405BC C640009C */ lwc1 $f0, 0x9c($s2) +/* 886980 802405C0 46001501 */ sub.s $f20, $f2, $f0 +/* 886984 802405C4 46006004 */ sqrt.s $f0, $f12 +/* 886988 802405C8 46000032 */ c.eq.s $f0, $f0 +/* 88698C 802405CC 00000000 */ nop +/* 886990 802405D0 45010003 */ bc1t .L802405E0 +/* 886994 802405D4 00000000 */ nop +/* 886998 802405D8 0C0187BC */ jal sqrtf +/* 88699C 802405DC 00000000 */ nop +.L802405E0: +/* 8869A0 802405E0 4614C03C */ c.lt.s $f24, $f20 +/* 8869A4 802405E4 00000000 */ nop +/* 8869A8 802405E8 45000015 */ bc1f .L80240640 +/* 8869AC 802405EC 46000106 */ mov.s $f4, $f0 +/* 8869B0 802405F0 860200A8 */ lh $v0, 0xa8($s0) +/* 8869B4 802405F4 44820000 */ mtc1 $v0, $f0 +/* 8869B8 802405F8 00000000 */ nop +/* 8869BC 802405FC 46800020 */ cvt.s.w $f0, $f0 +/* 8869C0 80240600 4600A03C */ c.lt.s $f20, $f0 +/* 8869C4 80240604 00000000 */ nop +/* 8869C8 80240608 4500000E */ bc1f .L80240644 +/* 8869CC 8024060C 26310001 */ addiu $s1, $s1, 1 +/* 8869D0 80240610 860200A6 */ lh $v0, 0xa6($s0) +/* 8869D4 80240614 44820000 */ mtc1 $v0, $f0 +/* 8869D8 80240618 00000000 */ nop +/* 8869DC 8024061C 46800020 */ cvt.s.w $f0, $f0 +/* 8869E0 80240620 46160002 */ mul.s $f0, $f0, $f22 +/* 8869E4 80240624 00000000 */ nop +/* 8869E8 80240628 4600203C */ c.lt.s $f4, $f0 +/* 8869EC 8024062C 00000000 */ nop +/* 8869F0 80240630 45000004 */ bc1f .L80240644 +/* 8869F4 80240634 24020001 */ addiu $v0, $zero, 1 +/* 8869F8 80240638 08090194 */ j .L80240650 +/* 8869FC 8024063C AE62008C */ sw $v0, 0x8c($s3) +.L80240640: +/* 886A00 80240640 26310001 */ addiu $s1, $s1, 1 +.L80240644: +/* 886A04 80240644 2A220040 */ slti $v0, $s1, 0x40 +/* 886A08 80240648 1440FFC5 */ bnez $v0, .L80240560 +/* 886A0C 8024064C 00000000 */ nop +.L80240650: +/* 886A10 80240650 8FBF0020 */ lw $ra, 0x20($sp) +/* 886A14 80240654 8FB3001C */ lw $s3, 0x1c($sp) +/* 886A18 80240658 8FB20018 */ lw $s2, 0x18($sp) +/* 886A1C 8024065C 8FB10014 */ lw $s1, 0x14($sp) +/* 886A20 80240660 8FB00010 */ lw $s0, 0x10($sp) +/* 886A24 80240664 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 886A28 80240668 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 886A2C 8024066C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 886A30 80240670 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 886A34 80240674 24020002 */ addiu $v0, $zero, 2 +/* 886A38 80240678 03E00008 */ jr $ra +/* 886A3C 8024067C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240680_8863C0.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240680_8863C0.s new file mode 100644 index 0000000000..d31a7784bd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240680_8863C0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_886A40 +/* 886A40 80240680 3C03800A */ lui $v1, %hi(D_8009A650) +/* 886A44 80240684 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 886A48 80240688 8C620000 */ lw $v0, ($v1) +/* 886A4C 8024068C 34420040 */ ori $v0, $v0, 0x40 +/* 886A50 80240690 AC620000 */ sw $v0, ($v1) +/* 886A54 80240694 03E00008 */ jr $ra +/* 886A58 80240698 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_8024069C.s b/asm/nonmatchings/world/area_tik/tik_10/func_8024069C.s new file mode 100644 index 0000000000..992d25f730 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_8024069C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024069C +/* 886A5C 8024069C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 886A60 802406A0 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 886A64 802406A4 8C430000 */ lw $v1, ($v0) +/* 886A68 802406A8 2404FFBF */ addiu $a0, $zero, -0x41 +/* 886A6C 802406AC 00641824 */ and $v1, $v1, $a0 +/* 886A70 802406B0 AC430000 */ sw $v1, ($v0) +/* 886A74 802406B4 03E00008 */ jr $ra +/* 886A78 802406B8 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_802406BC.s b/asm/nonmatchings/world/area_tik/tik_10/func_802406BC.s new file mode 100644 index 0000000000..a9e2aed527 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_802406BC.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406BC +/* 886A7C 802406BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 886A80 802406C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 886A84 802406C4 8C82000C */ lw $v0, 0xc($a0) +/* 886A88 802406C8 0C0B1EAF */ jal get_variable +/* 886A8C 802406CC 8C450000 */ lw $a1, ($v0) +/* 886A90 802406D0 0C0B95A4 */ jal func_802E5690 +/* 886A94 802406D4 0040202D */ daddu $a0, $v0, $zero +/* 886A98 802406D8 8FBF0010 */ lw $ra, 0x10($sp) +/* 886A9C 802406DC 24020002 */ addiu $v0, $zero, 2 +/* 886AA0 802406E0 03E00008 */ jr $ra +/* 886AA4 802406E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_802406E8.s b/asm/nonmatchings/world/area_tik/tik_10/func_802406E8.s new file mode 100644 index 0000000000..af9bc40e42 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_802406E8.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406E8 +/* 886AA8 802406E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 886AAC 802406EC AFB00010 */ sw $s0, 0x10($sp) +/* 886AB0 802406F0 0080802D */ daddu $s0, $a0, $zero +/* 886AB4 802406F4 AFBF0018 */ sw $ra, 0x18($sp) +/* 886AB8 802406F8 AFB10014 */ sw $s1, 0x14($sp) +/* 886ABC 802406FC 8E11000C */ lw $s1, 0xc($s0) +/* 886AC0 80240700 8E250000 */ lw $a1, ($s1) +/* 886AC4 80240704 0C0B1EAF */ jal get_variable +/* 886AC8 80240708 26310004 */ addiu $s1, $s1, 4 +/* 886ACC 8024070C 0200202D */ daddu $a0, $s0, $zero +/* 886AD0 80240710 3C038011 */ lui $v1, %hi(gPlayerData) +/* 886AD4 80240714 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 886AD8 80240718 000210C0 */ sll $v0, $v0, 3 +/* 886ADC 8024071C 00431021 */ addu $v0, $v0, $v1 +/* 886AE0 80240720 90460015 */ lbu $a2, 0x15($v0) +/* 886AE4 80240724 8E250000 */ lw $a1, ($s1) +/* 886AE8 80240728 24C60001 */ addiu $a2, $a2, 1 +/* 886AEC 8024072C A0460015 */ sb $a2, 0x15($v0) +/* 886AF0 80240730 00063600 */ sll $a2, $a2, 0x18 +/* 886AF4 80240734 0C0B2026 */ jal set_variable +/* 886AF8 80240738 00063603 */ sra $a2, $a2, 0x18 +/* 886AFC 8024073C 8FBF0018 */ lw $ra, 0x18($sp) +/* 886B00 80240740 8FB10014 */ lw $s1, 0x14($sp) +/* 886B04 80240744 8FB00010 */ lw $s0, 0x10($sp) +/* 886B08 80240748 24020002 */ addiu $v0, $zero, 2 +/* 886B0C 8024074C 03E00008 */ jr $ra +/* 886B10 80240750 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240754.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240754.s new file mode 100644 index 0000000000..f8e448f246 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240754.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240754 +/* 886B14 80240754 3C028011 */ lui $v0, %hi(gPlayerData) +/* 886B18 80240758 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 886B1C 8024075C 000420C0 */ sll $a0, $a0, 3 +/* 886B20 80240760 00822021 */ addu $a0, $a0, $v0 +/* 886B24 80240764 90820014 */ lbu $v0, 0x14($a0) +/* 886B28 80240768 10400009 */ beqz $v0, .L80240790 +/* 886B2C 8024076C 00000000 */ nop +/* 886B30 80240770 90820015 */ lbu $v0, 0x15($a0) +/* 886B34 80240774 00022600 */ sll $a0, $v0, 0x18 +/* 886B38 80240778 00041E03 */ sra $v1, $a0, 0x18 +/* 886B3C 8024077C 00051400 */ sll $v0, $a1, 0x10 +/* 886B40 80240780 00021403 */ sra $v0, $v0, 0x10 +/* 886B44 80240784 0043102A */ slt $v0, $v0, $v1 +/* 886B48 80240788 10400003 */ beqz $v0, .L80240798 +/* 886B4C 8024078C 00000000 */ nop +.L80240790: +/* 886B50 80240790 03E00008 */ jr $ra +/* 886B54 80240794 2402FFFF */ addiu $v0, $zero, -1 +.L80240798: +/* 886B58 80240798 03E00008 */ jr $ra +/* 886B5C 8024079C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_802407A0.s b/asm/nonmatchings/world/area_tik/tik_10/func_802407A0.s new file mode 100644 index 0000000000..a1d415f7d3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_802407A0.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407A0 +/* 886B60 802407A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 886B64 802407A4 AFB3001C */ sw $s3, 0x1c($sp) +/* 886B68 802407A8 0080982D */ daddu $s3, $a0, $zero +/* 886B6C 802407AC AFB00010 */ sw $s0, 0x10($sp) +/* 886B70 802407B0 24100001 */ addiu $s0, $zero, 1 +/* 886B74 802407B4 AFB40020 */ sw $s4, 0x20($sp) +/* 886B78 802407B8 2414FFFF */ addiu $s4, $zero, -1 +/* 886B7C 802407BC AFB50024 */ sw $s5, 0x24($sp) +/* 886B80 802407C0 0200A82D */ daddu $s5, $s0, $zero +/* 886B84 802407C4 AFB10014 */ sw $s1, 0x14($sp) +/* 886B88 802407C8 3C118011 */ lui $s1, 0x8011 +/* 886B8C 802407CC 2631F298 */ addiu $s1, $s1, -0xd68 +/* 886B90 802407D0 AFBF0028 */ sw $ra, 0x28($sp) +/* 886B94 802407D4 AFB20018 */ sw $s2, 0x18($sp) +/* 886B98 802407D8 8E6200B4 */ lw $v0, 0xb4($s3) +/* 886B9C 802407DC 0280182D */ daddu $v1, $s4, $zero +/* 886BA0 802407E0 AE630084 */ sw $v1, 0x84($s3) +/* 886BA4 802407E4 00021027 */ nor $v0, $zero, $v0 +/* 886BA8 802407E8 000217C2 */ srl $v0, $v0, 0x1f +/* 886BAC 802407EC 00029400 */ sll $s2, $v0, 0x10 +.L802407F0: +/* 886BB0 802407F0 92220014 */ lbu $v0, 0x14($s1) +/* 886BB4 802407F4 50400008 */ beql $v0, $zero, .L80240818 +/* 886BB8 802407F8 26100001 */ addiu $s0, $s0, 1 +/* 886BBC 802407FC 0200202D */ daddu $a0, $s0, $zero +/* 886BC0 80240800 0C0901D5 */ jal func_80240754 +/* 886BC4 80240804 00122C03 */ sra $a1, $s2, 0x10 +/* 886BC8 80240808 10540003 */ beq $v0, $s4, .L80240818 +/* 886BCC 8024080C 26100001 */ addiu $s0, $s0, 1 +/* 886BD0 80240810 08090209 */ j .L80240824 +/* 886BD4 80240814 AE750084 */ sw $s5, 0x84($s3) +.L80240818: +/* 886BD8 80240818 2A02000C */ slti $v0, $s0, 0xc +/* 886BDC 8024081C 1440FFF4 */ bnez $v0, .L802407F0 +/* 886BE0 80240820 26310008 */ addiu $s1, $s1, 8 +.L80240824: +/* 886BE4 80240824 8FBF0028 */ lw $ra, 0x28($sp) +/* 886BE8 80240828 8FB50024 */ lw $s5, 0x24($sp) +/* 886BEC 8024082C 8FB40020 */ lw $s4, 0x20($sp) +/* 886BF0 80240830 8FB3001C */ lw $s3, 0x1c($sp) +/* 886BF4 80240834 8FB20018 */ lw $s2, 0x18($sp) +/* 886BF8 80240838 8FB10014 */ lw $s1, 0x14($sp) +/* 886BFC 8024083C 8FB00010 */ lw $s0, 0x10($sp) +/* 886C00 80240840 24020002 */ addiu $v0, $zero, 2 +/* 886C04 80240844 03E00008 */ jr $ra +/* 886C08 80240848 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_8024084C.s b/asm/nonmatchings/world/area_tik/tik_10/func_8024084C.s new file mode 100644 index 0000000000..913b120872 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_8024084C.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024084C +/* 886C0C 8024084C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 886C10 80240850 AFB5002C */ sw $s5, 0x2c($sp) +/* 886C14 80240854 0080A82D */ daddu $s5, $a0, $zero +/* 886C18 80240858 AFBE0038 */ sw $fp, 0x38($sp) +/* 886C1C 8024085C 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 886C20 80240860 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 886C24 80240864 AFBF003C */ sw $ra, 0x3c($sp) +/* 886C28 80240868 AFB70034 */ sw $s7, 0x34($sp) +/* 886C2C 8024086C AFB60030 */ sw $s6, 0x30($sp) +/* 886C30 80240870 AFB40028 */ sw $s4, 0x28($sp) +/* 886C34 80240874 AFB30024 */ sw $s3, 0x24($sp) +/* 886C38 80240878 AFB20020 */ sw $s2, 0x20($sp) +/* 886C3C 8024087C AFB1001C */ sw $s1, 0x1c($sp) +/* 886C40 80240880 10A0004F */ beqz $a1, .L802409C0 +/* 886C44 80240884 AFB00018 */ sw $s0, 0x18($sp) +/* 886C48 80240888 0C00AB39 */ jal heap_malloc +/* 886C4C 8024088C 24040330 */ addiu $a0, $zero, 0x330 +/* 886C50 80240890 0040982D */ daddu $s3, $v0, $zero +/* 886C54 80240894 0000B02D */ daddu $s6, $zero, $zero +/* 886C58 80240898 02C0902D */ daddu $s2, $s6, $zero +/* 886C5C 8024089C 3C148024 */ lui $s4, 0x8024 +/* 886C60 802408A0 26942038 */ addiu $s4, $s4, 0x2038 +/* 886C64 802408A4 0260882D */ daddu $s1, $s3, $zero +/* 886C68 802408A8 8EA200B4 */ lw $v0, 0xb4($s5) +/* 886C6C 802408AC 3C038024 */ lui $v1, 0x8024 +/* 886C70 802408B0 24632030 */ addiu $v1, $v1, 0x2030 +/* 886C74 802408B4 AEB30078 */ sw $s3, 0x78($s5) +/* 886C78 802408B8 00021027 */ nor $v0, $zero, $v0 +/* 886C7C 802408BC 0002BFC2 */ srl $s7, $v0, 0x1f +/* 886C80 802408C0 00171080 */ sll $v0, $s7, 2 +/* 886C84 802408C4 00431021 */ addu $v0, $v0, $v1 +/* 886C88 802408C8 AFA20010 */ sw $v0, 0x10($sp) +.L802408CC: +/* 886C8C 802408CC 86900000 */ lh $s0, ($s4) +/* 886C90 802408D0 001010C0 */ sll $v0, $s0, 3 +/* 886C94 802408D4 03C21021 */ addu $v0, $fp, $v0 +/* 886C98 802408D8 90420014 */ lbu $v0, 0x14($v0) +/* 886C9C 802408DC 5040002E */ beql $v0, $zero, .L80240998 +/* 886CA0 802408E0 26520001 */ addiu $s2, $s2, 1 +/* 886CA4 802408E4 00101100 */ sll $v0, $s0, 4 +/* 886CA8 802408E8 3C068009 */ lui $a2, 0x8009 +/* 886CAC 802408EC 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 886CB0 802408F0 00461021 */ addu $v0, $v0, $a2 +/* 886CB4 802408F4 0200202D */ daddu $a0, $s0, $zero +/* 886CB8 802408F8 AE300108 */ sw $s0, 0x108($s1) +/* 886CBC 802408FC 8C420000 */ lw $v0, ($v0) +/* 886CC0 80240900 02E0282D */ daddu $a1, $s7, $zero +/* 886CC4 80240904 0C0901D5 */ jal func_80240754 +/* 886CC8 80240908 AE220084 */ sw $v0, 0x84($s1) +/* 886CCC 8024090C 0040202D */ daddu $a0, $v0, $zero +/* 886CD0 80240910 04800011 */ bltz $a0, .L80240958 +/* 886CD4 80240914 00101080 */ sll $v0, $s0, 2 +/* 886CD8 80240918 3C06800F */ lui $a2, 0x800f +/* 886CDC 8024091C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 886CE0 80240920 00461021 */ addu $v0, $v0, $a2 +/* 886CE4 80240924 8C430000 */ lw $v1, ($v0) +/* 886CE8 80240928 24020001 */ addiu $v0, $zero, 1 +/* 886CEC 8024092C AE22018C */ sw $v0, 0x18c($s1) +/* 886CF0 80240930 00041080 */ sll $v0, $a0, 2 +/* 886CF4 80240934 3C068024 */ lui $a2, 0x8024 +/* 886CF8 80240938 24C62048 */ addiu $a2, $a2, 0x2048 +/* 886CFC 8024093C AE230000 */ sw $v1, ($s1) +/* 886D00 80240940 001218C0 */ sll $v1, $s2, 3 +/* 886D04 80240944 00431021 */ addu $v0, $v0, $v1 +/* 886D08 80240948 00461021 */ addu $v0, $v0, $a2 +/* 886D0C 8024094C 8C420000 */ lw $v0, ($v0) +/* 886D10 80240950 0809025F */ j .L8024097C +/* 886D14 80240954 AE220294 */ sw $v0, 0x294($s1) +.L80240958: +/* 886D18 80240958 3C06800F */ lui $a2, 0x800f +/* 886D1C 8024095C 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 886D20 80240960 00461021 */ addu $v0, $v0, $a2 +/* 886D24 80240964 8C420000 */ lw $v0, ($v0) +/* 886D28 80240968 AE20018C */ sw $zero, 0x18c($s1) +/* 886D2C 8024096C AE220000 */ sw $v0, ($s1) +/* 886D30 80240970 8FA60010 */ lw $a2, 0x10($sp) +/* 886D34 80240974 8CC20000 */ lw $v0, ($a2) +/* 886D38 80240978 AE220294 */ sw $v0, 0x294($s1) +.L8024097C: +/* 886D3C 8024097C 001010C0 */ sll $v0, $s0, 3 +/* 886D40 80240980 03C21021 */ addu $v0, $fp, $v0 +/* 886D44 80240984 80420015 */ lb $v0, 0x15($v0) +/* 886D48 80240988 26D60001 */ addiu $s6, $s6, 1 +/* 886D4C 8024098C AE220210 */ sw $v0, 0x210($s1) +/* 886D50 80240990 26310004 */ addiu $s1, $s1, 4 +/* 886D54 80240994 26520001 */ addiu $s2, $s2, 1 +.L80240998: +/* 886D58 80240998 2A420008 */ slti $v0, $s2, 8 +/* 886D5C 8024099C 1440FFCB */ bnez $v0, .L802408CC +/* 886D60 802409A0 26940002 */ addiu $s4, $s4, 2 +/* 886D64 802409A4 0260202D */ daddu $a0, $s3, $zero +/* 886D68 802409A8 24020004 */ addiu $v0, $zero, 4 +/* 886D6C 802409AC AC820318 */ sw $v0, 0x318($a0) +/* 886D70 802409B0 AC960324 */ sw $s6, 0x324($a0) +/* 886D74 802409B4 0C03D390 */ jal func_800F4E40 +/* 886D78 802409B8 AC800328 */ sw $zero, 0x328($a0) +/* 886D7C 802409BC AEA00070 */ sw $zero, 0x70($s5) +.L802409C0: +/* 886D80 802409C0 8EA20070 */ lw $v0, 0x70($s5) +/* 886D84 802409C4 8EB30078 */ lw $s3, 0x78($s5) +/* 886D88 802409C8 14400008 */ bnez $v0, .L802409EC +/* 886D8C 802409CC 24420001 */ addiu $v0, $v0, 1 +/* 886D90 802409D0 8662032C */ lh $v0, 0x32c($s3) +/* 886D94 802409D4 10400009 */ beqz $v0, .L802409FC +/* 886D98 802409D8 AEA20074 */ sw $v0, 0x74($s5) +/* 886D9C 802409DC 0C03C4EC */ jal func_800F13B0 +/* 886DA0 802409E0 00000000 */ nop +/* 886DA4 802409E4 8EA20070 */ lw $v0, 0x70($s5) +/* 886DA8 802409E8 24420001 */ addiu $v0, $v0, 1 +.L802409EC: +/* 886DAC 802409EC AEA20070 */ sw $v0, 0x70($s5) +/* 886DB0 802409F0 2842000F */ slti $v0, $v0, 0xf +/* 886DB4 802409F4 10400003 */ beqz $v0, .L80240A04 +/* 886DB8 802409F8 00000000 */ nop +.L802409FC: +/* 886DBC 802409FC 0809029B */ j .L80240A6C +/* 886DC0 80240A00 0000102D */ daddu $v0, $zero, $zero +.L80240A04: +/* 886DC4 80240A04 0C03C54E */ jal func_800F1538 +/* 886DC8 80240A08 00000000 */ nop +/* 886DCC 80240A0C 8EA30074 */ lw $v1, 0x74($s5) +/* 886DD0 80240A10 240200FF */ addiu $v0, $zero, 0xff +/* 886DD4 80240A14 10620010 */ beq $v1, $v0, .L80240A58 +/* 886DD8 80240A18 2462FFFF */ addiu $v0, $v1, -1 +/* 886DDC 80240A1C 00021080 */ sll $v0, $v0, 2 +/* 886DE0 80240A20 02621021 */ addu $v0, $s3, $v0 +/* 886DE4 80240A24 8C420108 */ lw $v0, 0x108($v0) +/* 886DE8 80240A28 00021100 */ sll $v0, $v0, 4 +/* 886DEC 80240A2C 3C038009 */ lui $v1, 0x8009 +/* 886DF0 80240A30 00621821 */ addu $v1, $v1, $v0 +/* 886DF4 80240A34 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 886DF8 80240A38 8EA20074 */ lw $v0, 0x74($s5) +/* 886DFC 80240A3C 2442FFFF */ addiu $v0, $v0, -1 +/* 886E00 80240A40 00021080 */ sll $v0, $v0, 2 +/* 886E04 80240A44 02621021 */ addu $v0, $s3, $v0 +/* 886E08 80240A48 AEA30084 */ sw $v1, 0x84($s5) +/* 886E0C 80240A4C 8C420108 */ lw $v0, 0x108($v0) +/* 886E10 80240A50 08090298 */ j .L80240A60 +/* 886E14 80240A54 AEA20088 */ sw $v0, 0x88($s5) +.L80240A58: +/* 886E18 80240A58 2402FFFF */ addiu $v0, $zero, -1 +/* 886E1C 80240A5C AEA20084 */ sw $v0, 0x84($s5) +.L80240A60: +/* 886E20 80240A60 0C00AB4B */ jal heap_free +/* 886E24 80240A64 8EA40078 */ lw $a0, 0x78($s5) +/* 886E28 80240A68 24020002 */ addiu $v0, $zero, 2 +.L80240A6C: +/* 886E2C 80240A6C 8FBF003C */ lw $ra, 0x3c($sp) +/* 886E30 80240A70 8FBE0038 */ lw $fp, 0x38($sp) +/* 886E34 80240A74 8FB70034 */ lw $s7, 0x34($sp) +/* 886E38 80240A78 8FB60030 */ lw $s6, 0x30($sp) +/* 886E3C 80240A7C 8FB5002C */ lw $s5, 0x2c($sp) +/* 886E40 80240A80 8FB40028 */ lw $s4, 0x28($sp) +/* 886E44 80240A84 8FB30024 */ lw $s3, 0x24($sp) +/* 886E48 80240A88 8FB20020 */ lw $s2, 0x20($sp) +/* 886E4C 80240A8C 8FB1001C */ lw $s1, 0x1c($sp) +/* 886E50 80240A90 8FB00018 */ lw $s0, 0x18($sp) +/* 886E54 80240A94 03E00008 */ jr $ra +/* 886E58 80240A98 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240A9C.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240A9C.s new file mode 100644 index 0000000000..182ea0cfb1 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240A9C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A9C +/* 886E5C 80240A9C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 886E60 80240AA0 AFBF0010 */ sw $ra, 0x10($sp) +/* 886E64 80240AA4 8C82000C */ lw $v0, 0xc($a0) +/* 886E68 80240AA8 0C0B1EAF */ jal get_variable +/* 886E6C 80240AAC 8C450000 */ lw $a1, ($v0) +/* 886E70 80240AB0 0C03AC5A */ jal func_800EB168 +/* 886E74 80240AB4 0040202D */ daddu $a0, $v0, $zero +/* 886E78 80240AB8 8FBF0010 */ lw $ra, 0x10($sp) +/* 886E7C 80240ABC 24020002 */ addiu $v0, $zero, 2 +/* 886E80 80240AC0 03E00008 */ jr $ra +/* 886E84 80240AC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240AC8.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240AC8.s new file mode 100644 index 0000000000..7b4c785c02 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240AC8.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AC8 +/* 886E88 80240AC8 3C028011 */ lui $v0, 0x8011 +/* 886E8C 80240ACC 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 886E90 80240AD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 886E94 80240AD4 AFBF0010 */ sw $ra, 0x10($sp) +/* 886E98 80240AD8 00021100 */ sll $v0, $v0, 4 +/* 886E9C 80240ADC 3C048009 */ lui $a0, 0x8009 +/* 886EA0 80240AE0 00822021 */ addu $a0, $a0, $v0 +/* 886EA4 80240AE4 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 886EA8 80240AE8 0C0496CF */ jal set_message_string +/* 886EAC 80240AEC 0000282D */ daddu $a1, $zero, $zero +/* 886EB0 80240AF0 8FBF0010 */ lw $ra, 0x10($sp) +/* 886EB4 80240AF4 24020002 */ addiu $v0, $zero, 2 +/* 886EB8 80240AF8 03E00008 */ jr $ra +/* 886EBC 80240AFC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240B00.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240B00.s new file mode 100644 index 0000000000..884b8210b6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240B00.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00 +/* 886EC0 80240B00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 886EC4 80240B04 AFB1001C */ sw $s1, 0x1c($sp) +/* 886EC8 80240B08 0080882D */ daddu $s1, $a0, $zero +/* 886ECC 80240B0C AFBF0020 */ sw $ra, 0x20($sp) +/* 886ED0 80240B10 AFB00018 */ sw $s0, 0x18($sp) +/* 886ED4 80240B14 8E30000C */ lw $s0, 0xc($s1) +/* 886ED8 80240B18 8E050000 */ lw $a1, ($s0) +/* 886EDC 80240B1C 0C0B1EAF */ jal get_variable +/* 886EE0 80240B20 26100004 */ addiu $s0, $s0, 4 +/* 886EE4 80240B24 0C04417A */ jal get_entity_by_index +/* 886EE8 80240B28 0040202D */ daddu $a0, $v0, $zero +/* 886EEC 80240B2C 8E100000 */ lw $s0, ($s0) +/* 886EF0 80240B30 C444004C */ lwc1 $f4, 0x4c($v0) +/* 886EF4 80240B34 3C014148 */ lui $at, 0x4148 +/* 886EF8 80240B38 44810000 */ mtc1 $at, $f0 +/* 886EFC 80240B3C 3C013F33 */ lui $at, 0x3f33 +/* 886F00 80240B40 34213333 */ ori $at, $at, 0x3333 +/* 886F04 80240B44 44811000 */ mtc1 $at, $f2 +/* 886F08 80240B48 AFA00014 */ sw $zero, 0x14($sp) +/* 886F0C 80240B4C 46002100 */ add.s $f4, $f4, $f0 +/* 886F10 80240B50 E7A20010 */ swc1 $f2, 0x10($sp) +/* 886F14 80240B54 8C450048 */ lw $a1, 0x48($v0) +/* 886F18 80240B58 8C470050 */ lw $a3, 0x50($v0) +/* 886F1C 80240B5C 44062000 */ mfc1 $a2, $f4 +/* 886F20 80240B60 0C01C5D4 */ jal func_80071750 +/* 886F24 80240B64 0000202D */ daddu $a0, $zero, $zero +/* 886F28 80240B68 0220202D */ daddu $a0, $s1, $zero +/* 886F2C 80240B6C 0200282D */ daddu $a1, $s0, $zero +/* 886F30 80240B70 0C0B2026 */ jal set_variable +/* 886F34 80240B74 0040302D */ daddu $a2, $v0, $zero +/* 886F38 80240B78 8FBF0020 */ lw $ra, 0x20($sp) +/* 886F3C 80240B7C 8FB1001C */ lw $s1, 0x1c($sp) +/* 886F40 80240B80 8FB00018 */ lw $s0, 0x18($sp) +/* 886F44 80240B84 24020002 */ addiu $v0, $zero, 2 +/* 886F48 80240B88 03E00008 */ jr $ra +/* 886F4C 80240B8C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240B90.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240B90.s new file mode 100644 index 0000000000..9732576604 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240B90.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B90 +/* 886F50 80240B90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 886F54 80240B94 AFBF0010 */ sw $ra, 0x10($sp) +/* 886F58 80240B98 8C82000C */ lw $v0, 0xc($a0) +/* 886F5C 80240B9C 0C0B1EAF */ jal get_variable +/* 886F60 80240BA0 8C450000 */ lw $a1, ($v0) +/* 886F64 80240BA4 0040202D */ daddu $a0, $v0, $zero +/* 886F68 80240BA8 8C830000 */ lw $v1, ($a0) +/* 886F6C 80240BAC 34630010 */ ori $v1, $v1, 0x10 +/* 886F70 80240BB0 AC830000 */ sw $v1, ($a0) +/* 886F74 80240BB4 8FBF0010 */ lw $ra, 0x10($sp) +/* 886F78 80240BB8 24020002 */ addiu $v0, $zero, 2 +/* 886F7C 80240BBC 03E00008 */ jr $ra +/* 886F80 80240BC0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240BC4.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240BC4.s new file mode 100644 index 0000000000..055a385c07 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240BC4.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BC4 +/* 886F84 80240BC4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 886F88 80240BC8 AFBF0018 */ sw $ra, 0x18($sp) +/* 886F8C 80240BCC 8C82000C */ lw $v0, 0xc($a0) +/* 886F90 80240BD0 0C0B1EAF */ jal get_variable +/* 886F94 80240BD4 8C450000 */ lw $a1, ($v0) +/* 886F98 80240BD8 0C04417A */ jal get_entity_by_index +/* 886F9C 80240BDC 0040202D */ daddu $a0, $v0, $zero +/* 886FA0 80240BE0 3C013F80 */ lui $at, 0x3f80 +/* 886FA4 80240BE4 44810000 */ mtc1 $at, $f0 +/* 886FA8 80240BE8 C442004C */ lwc1 $f2, 0x4c($v0) +/* 886FAC 80240BEC E7A00010 */ swc1 $f0, 0x10($sp) +/* 886FB0 80240BF0 3C014148 */ lui $at, 0x4148 +/* 886FB4 80240BF4 44810000 */ mtc1 $at, $f0 +/* 886FB8 80240BF8 2403004B */ addiu $v1, $zero, 0x4b +/* 886FBC 80240BFC AFA30014 */ sw $v1, 0x14($sp) +/* 886FC0 80240C00 46001080 */ add.s $f2, $f2, $f0 +/* 886FC4 80240C04 8C450048 */ lw $a1, 0x48($v0) +/* 886FC8 80240C08 8C470050 */ lw $a3, 0x50($v0) +/* 886FCC 80240C0C 44061000 */ mfc1 $a2, $f2 +/* 886FD0 80240C10 0C01C2EC */ jal func_80070BB0 +/* 886FD4 80240C14 24040004 */ addiu $a0, $zero, 4 +/* 886FD8 80240C18 8FBF0018 */ lw $ra, 0x18($sp) +/* 886FDC 80240C1C 24020002 */ addiu $v0, $zero, 2 +/* 886FE0 80240C20 03E00008 */ jr $ra +/* 886FE4 80240C24 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240C28.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240C28.s new file mode 100644 index 0000000000..3ff92ab2d6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240C28.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C28 +/* 886FE8 80240C28 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 886FEC 80240C2C AFBF0018 */ sw $ra, 0x18($sp) +/* 886FF0 80240C30 0C00EAD2 */ jal get_npc_safe +/* 886FF4 80240C34 2404FFFC */ addiu $a0, $zero, -4 +/* 886FF8 80240C38 C444003C */ lwc1 $f4, 0x3c($v0) +/* 886FFC 80240C3C 3C014148 */ lui $at, 0x4148 +/* 887000 80240C40 44811000 */ mtc1 $at, $f2 +/* 887004 80240C44 3C013F80 */ lui $at, 0x3f80 +/* 887008 80240C48 44810000 */ mtc1 $at, $f0 +/* 88700C 80240C4C 2403001E */ addiu $v1, $zero, 0x1e +/* 887010 80240C50 AFA30014 */ sw $v1, 0x14($sp) +/* 887014 80240C54 46022100 */ add.s $f4, $f4, $f2 +/* 887018 80240C58 E7A00010 */ swc1 $f0, 0x10($sp) +/* 88701C 80240C5C 8C450038 */ lw $a1, 0x38($v0) +/* 887020 80240C60 8C470040 */ lw $a3, 0x40($v0) +/* 887024 80240C64 44062000 */ mfc1 $a2, $f4 +/* 887028 80240C68 0C01C2EC */ jal func_80070BB0 +/* 88702C 80240C6C 24040009 */ addiu $a0, $zero, 9 +/* 887030 80240C70 8FBF0018 */ lw $ra, 0x18($sp) +/* 887034 80240C74 24020002 */ addiu $v0, $zero, 2 +/* 887038 80240C78 03E00008 */ jr $ra +/* 88703C 80240C7C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80240C80.s b/asm/nonmatchings/world/area_tik/tik_10/func_80240C80.s new file mode 100644 index 0000000000..8d9be7b0a8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80240C80.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C80 +/* 887040 80240C80 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 887044 80240C84 AFB60040 */ sw $s6, 0x40($sp) +/* 887048 80240C88 0080B02D */ daddu $s6, $a0, $zero +/* 88704C 80240C8C AFB00028 */ sw $s0, 0x28($sp) +/* 887050 80240C90 00A0802D */ daddu $s0, $a1, $zero +/* 887054 80240C94 AFBF0044 */ sw $ra, 0x44($sp) +/* 887058 80240C98 AFB5003C */ sw $s5, 0x3c($sp) +/* 88705C 80240C9C AFB40038 */ sw $s4, 0x38($sp) +/* 887060 80240CA0 AFB30034 */ sw $s3, 0x34($sp) +/* 887064 80240CA4 AFB20030 */ sw $s2, 0x30($sp) +/* 887068 80240CA8 AFB1002C */ sw $s1, 0x2c($sp) +/* 88706C 80240CAC F7B80058 */ sdc1 $f24, 0x58($sp) +/* 887070 80240CB0 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 887074 80240CB4 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 887078 80240CB8 8ED3000C */ lw $s3, 0xc($s6) +/* 88707C 80240CBC 0C00EAD2 */ jal get_npc_safe +/* 887080 80240CC0 2404FFFC */ addiu $a0, $zero, -4 +/* 887084 80240CC4 27A50018 */ addiu $a1, $sp, 0x18 +/* 887088 80240CC8 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 88708C 80240CCC 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 887090 80240CD0 27A6001C */ addiu $a2, $sp, 0x1c +/* 887094 80240CD4 00041880 */ sll $v1, $a0, 2 +/* 887098 80240CD8 00641821 */ addu $v1, $v1, $a0 +/* 88709C 80240CDC 00031880 */ sll $v1, $v1, 2 +/* 8870A0 80240CE0 00641823 */ subu $v1, $v1, $a0 +/* 8870A4 80240CE4 000320C0 */ sll $a0, $v1, 3 +/* 8870A8 80240CE8 00641821 */ addu $v1, $v1, $a0 +/* 8870AC 80240CEC 000318C0 */ sll $v1, $v1, 3 +/* 8870B0 80240CF0 3C01800B */ lui $at, 0x800b +/* 8870B4 80240CF4 00230821 */ addu $at, $at, $v1 +/* 8870B8 80240CF8 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 8870BC 80240CFC 0C00A88D */ jal sin_cos_deg +/* 8870C0 80240D00 0040A82D */ daddu $s5, $v0, $zero +/* 8870C4 80240D04 1200005D */ beqz $s0, .L80240E7C +/* 8870C8 80240D08 00000000 */ nop +/* 8870CC 80240D0C 0C00AB0A */ jal general_heap_malloc +/* 8870D0 80240D10 24040068 */ addiu $a0, $zero, 0x68 +/* 8870D4 80240D14 0040902D */ daddu $s2, $v0, $zero +/* 8870D8 80240D18 02C0202D */ daddu $a0, $s6, $zero +/* 8870DC 80240D1C 0000882D */ daddu $s1, $zero, $zero +/* 8870E0 80240D20 2414FFFF */ addiu $s4, $zero, -1 +/* 8870E4 80240D24 AED20060 */ sw $s2, 0x60($s6) +/* 8870E8 80240D28 8E650000 */ lw $a1, ($s3) +/* 8870EC 80240D2C 3C014148 */ lui $at, 0x4148 +/* 8870F0 80240D30 4481C000 */ mtc1 $at, $f24 +/* 8870F4 80240D34 3C013F80 */ lui $at, 0x3f80 +/* 8870F8 80240D38 4481B000 */ mtc1 $at, $f22 +/* 8870FC 80240D3C 4480A000 */ mtc1 $zero, $f20 +/* 887100 80240D40 0C0B1EAF */ jal get_variable +/* 887104 80240D44 0240802D */ daddu $s0, $s2, $zero +/* 887108 80240D48 0C04417A */ jal get_entity_by_index +/* 88710C 80240D4C 0040202D */ daddu $a0, $v0, $zero +/* 887110 80240D50 AE42005C */ sw $v0, 0x5c($s2) +.L80240D54: +/* 887114 80240D54 8E42005C */ lw $v0, 0x5c($s2) +/* 887118 80240D58 C440004C */ lwc1 $f0, 0x4c($v0) +/* 88711C 80240D5C 0000202D */ daddu $a0, $zero, $zero +/* 887120 80240D60 E7B60010 */ swc1 $f22, 0x10($sp) +/* 887124 80240D64 AFB40014 */ sw $s4, 0x14($sp) +/* 887128 80240D68 46180000 */ add.s $f0, $f0, $f24 +/* 88712C 80240D6C 8C450048 */ lw $a1, 0x48($v0) +/* 887130 80240D70 8C470050 */ lw $a3, 0x50($v0) +/* 887134 80240D74 44060000 */ mfc1 $a2, $f0 +/* 887138 80240D78 0C01C5BC */ jal func_800716F0 +/* 88713C 80240D7C 26310001 */ addiu $s1, $s1, 1 +/* 887140 80240D80 AE020008 */ sw $v0, 8($s0) +/* 887144 80240D84 E614002C */ swc1 $f20, 0x2c($s0) +/* 887148 80240D88 E6140020 */ swc1 $f20, 0x20($s0) +/* 88714C 80240D8C E6140014 */ swc1 $f20, 0x14($s0) +/* 887150 80240D90 E6140050 */ swc1 $f20, 0x50($s0) +/* 887154 80240D94 E6140044 */ swc1 $f20, 0x44($s0) +/* 887158 80240D98 E6140038 */ swc1 $f20, 0x38($s0) +/* 88715C 80240D9C 2A220003 */ slti $v0, $s1, 3 +/* 887160 80240DA0 1440FFEC */ bnez $v0, .L80240D54 +/* 887164 80240DA4 26100004 */ addiu $s0, $s0, 4 +/* 887168 80240DA8 0000882D */ daddu $s1, $zero, $zero +/* 88716C 80240DAC 0240802D */ daddu $s0, $s2, $zero +/* 887170 80240DB0 3C148024 */ lui $s4, 0x8024 +/* 887174 80240DB4 26942088 */ addiu $s4, $s4, 0x2088 +/* 887178 80240DB8 3C014248 */ lui $at, 0x4248 +/* 88717C 80240DBC 4481A000 */ mtc1 $at, $f20 +/* 887180 80240DC0 24130044 */ addiu $s3, $zero, 0x44 +/* 887184 80240DC4 AE400000 */ sw $zero, ($s2) +/* 887188 80240DC8 AE400004 */ sw $zero, 4($s2) +/* 88718C 80240DCC AE400060 */ sw $zero, 0x60($s2) +/* 887190 80240DD0 AE400064 */ sw $zero, 0x64($s2) +.L80240DD4: +/* 887194 80240DD4 27A40020 */ addiu $a0, $sp, 0x20 +/* 887198 80240DD8 4406A000 */ mfc1 $a2, $f20 +/* 88719C 80240DDC 8E870000 */ lw $a3, ($s4) +/* 8871A0 80240DE0 02532821 */ addu $a1, $s2, $s3 +/* 8871A4 80240DE4 0C00A7E7 */ jal add_vec2D_polar +/* 8871A8 80240DE8 AFA00020 */ sw $zero, 0x20($sp) +/* 8871AC 80240DEC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 8871B0 80240DF0 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 8871B4 80240DF4 46041082 */ mul.s $f2, $f2, $f4 +/* 8871B8 80240DF8 00000000 */ nop +/* 8871BC 80240DFC C7A00018 */ lwc1 $f0, 0x18($sp) +/* 8871C0 80240E00 46040002 */ mul.s $f0, $f0, $f4 +/* 8871C4 80240E04 00000000 */ nop +/* 8871C8 80240E08 E6020038 */ swc1 $f2, 0x38($s0) +/* 8871CC 80240E0C E6000050 */ swc1 $f0, 0x50($s0) +/* 8871D0 80240E10 8E42005C */ lw $v0, 0x5c($s2) +/* 8871D4 80240E14 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8871D8 80240E18 C4420048 */ lwc1 $f2, 0x48($v0) +/* 8871DC 80240E1C 46001080 */ add.s $f2, $f2, $f0 +/* 8871E0 80240E20 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 8871E4 80240E24 46020001 */ sub.s $f0, $f0, $f2 +/* 8871E8 80240E28 E6000038 */ swc1 $f0, 0x38($s0) +/* 8871EC 80240E2C 8E42005C */ lw $v0, 0x5c($s2) +/* 8871F0 80240E30 C6000044 */ lwc1 $f0, 0x44($s0) +/* 8871F4 80240E34 C442004C */ lwc1 $f2, 0x4c($v0) +/* 8871F8 80240E38 46001080 */ add.s $f2, $f2, $f0 +/* 8871FC 80240E3C C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 887200 80240E40 46020001 */ sub.s $f0, $f0, $f2 +/* 887204 80240E44 E6000044 */ swc1 $f0, 0x44($s0) +/* 887208 80240E48 8E42005C */ lw $v0, 0x5c($s2) +/* 88720C 80240E4C C6000050 */ lwc1 $f0, 0x50($s0) +/* 887210 80240E50 C4420050 */ lwc1 $f2, 0x50($v0) +/* 887214 80240E54 26940004 */ addiu $s4, $s4, 4 +/* 887218 80240E58 46001080 */ add.s $f2, $f2, $f0 +/* 88721C 80240E5C C6A00040 */ lwc1 $f0, 0x40($s5) +/* 887220 80240E60 26730004 */ addiu $s3, $s3, 4 +/* 887224 80240E64 46020001 */ sub.s $f0, $f0, $f2 +/* 887228 80240E68 26310001 */ addiu $s1, $s1, 1 +/* 88722C 80240E6C 2A220003 */ slti $v0, $s1, 3 +/* 887230 80240E70 E6000050 */ swc1 $f0, 0x50($s0) +/* 887234 80240E74 1440FFD7 */ bnez $v0, .L80240DD4 +/* 887238 80240E78 26100004 */ addiu $s0, $s0, 4 +.L80240E7C: +/* 88723C 80240E7C 8ED20060 */ lw $s2, 0x60($s6) +/* 887240 80240E80 8E430000 */ lw $v1, ($s2) +/* 887244 80240E84 24020001 */ addiu $v0, $zero, 1 +/* 887248 80240E88 10620038 */ beq $v1, $v0, .L80240F6C +/* 88724C 80240E8C 28620002 */ slti $v0, $v1, 2 +/* 887250 80240E90 50400005 */ beql $v0, $zero, .L80240EA8 +/* 887254 80240E94 24020002 */ addiu $v0, $zero, 2 +/* 887258 80240E98 10600007 */ beqz $v1, .L80240EB8 +/* 88725C 80240E9C 24040005 */ addiu $a0, $zero, 5 +/* 887260 80240EA0 08090414 */ j .L80241050 +/* 887264 80240EA4 00000000 */ nop +.L80240EA8: +/* 887268 80240EA8 10620058 */ beq $v1, $v0, .L8024100C +/* 88726C 80240EAC 00000000 */ nop +/* 887270 80240EB0 08090414 */ j .L80241050 +/* 887274 80240EB4 00000000 */ nop +.L80240EB8: +/* 887278 80240EB8 0000882D */ daddu $s1, $zero, $zero +/* 88727C 80240EBC 3C148024 */ lui $s4, 0x8024 +/* 887280 80240EC0 26942088 */ addiu $s4, $s4, 0x2088 +/* 887284 80240EC4 24130020 */ addiu $s3, $zero, 0x20 +/* 887288 80240EC8 3C064248 */ lui $a2, 0x4248 +/* 88728C 80240ECC 44800000 */ mtc1 $zero, $f0 +/* 887290 80240ED0 24020014 */ addiu $v0, $zero, 0x14 +/* 887294 80240ED4 AFA20010 */ sw $v0, 0x10($sp) +/* 887298 80240ED8 44050000 */ mfc1 $a1, $f0 +/* 88729C 80240EDC 8E470060 */ lw $a3, 0x60($s2) +/* 8872A0 80240EE0 4485B000 */ mtc1 $a1, $f22 +/* 8872A4 80240EE4 0C00A8ED */ jal update_lerp +/* 8872A8 80240EE8 0240802D */ daddu $s0, $s2, $zero +/* 8872AC 80240EEC 46000506 */ mov.s $f20, $f0 +.L80240EF0: +/* 8872B0 80240EF0 4406A000 */ mfc1 $a2, $f20 +/* 8872B4 80240EF4 27A40020 */ addiu $a0, $sp, 0x20 +/* 8872B8 80240EF8 E6160020 */ swc1 $f22, 0x20($s0) +/* 8872BC 80240EFC 8E870000 */ lw $a3, ($s4) +/* 8872C0 80240F00 02532821 */ addu $a1, $s2, $s3 +/* 8872C4 80240F04 0C00A7E7 */ jal add_vec2D_polar +/* 8872C8 80240F08 E7B60020 */ swc1 $f22, 0x20($sp) +/* 8872CC 80240F0C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 8872D0 80240F10 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 8872D4 80240F14 46002102 */ mul.s $f4, $f4, $f0 +/* 8872D8 80240F18 00000000 */ nop +/* 8872DC 80240F1C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 8872E0 80240F20 26940004 */ addiu $s4, $s4, 4 +/* 8872E4 80240F24 46001082 */ mul.s $f2, $f2, $f0 +/* 8872E8 80240F28 00000000 */ nop +/* 8872EC 80240F2C 26730004 */ addiu $s3, $s3, 4 +/* 8872F0 80240F30 26310001 */ addiu $s1, $s1, 1 +/* 8872F4 80240F34 2A220003 */ slti $v0, $s1, 3 +/* 8872F8 80240F38 E6040014 */ swc1 $f4, 0x14($s0) +/* 8872FC 80240F3C E602002C */ swc1 $f2, 0x2c($s0) +/* 887300 80240F40 1440FFEB */ bnez $v0, .L80240EF0 +/* 887304 80240F44 26100004 */ addiu $s0, $s0, 4 +/* 887308 80240F48 8E420060 */ lw $v0, 0x60($s2) +/* 88730C 80240F4C 24420001 */ addiu $v0, $v0, 1 +/* 887310 80240F50 AE420060 */ sw $v0, 0x60($s2) +/* 887314 80240F54 28420015 */ slti $v0, $v0, 0x15 +/* 887318 80240F58 1440003D */ bnez $v0, .L80241050 +/* 88731C 80240F5C 24020001 */ addiu $v0, $zero, 1 +/* 887320 80240F60 AE420000 */ sw $v0, ($s2) +/* 887324 80240F64 08090414 */ j .L80241050 +/* 887328 80240F68 AE400060 */ sw $zero, 0x60($s2) +.L80240F6C: +/* 88732C 80240F6C 0000882D */ daddu $s1, $zero, $zero +/* 887330 80240F70 3C148024 */ lui $s4, 0x8024 +/* 887334 80240F74 26942088 */ addiu $s4, $s4, 0x2088 +/* 887338 80240F78 24130020 */ addiu $s3, $zero, 0x20 +/* 88733C 80240F7C 0240802D */ daddu $s0, $s2, $zero +/* 887340 80240F80 3C014248 */ lui $at, 0x4248 +/* 887344 80240F84 4481A000 */ mtc1 $at, $f20 +/* 887348 80240F88 4480B000 */ mtc1 $zero, $f22 +.L80240F8C: +/* 88734C 80240F8C 4406A000 */ mfc1 $a2, $f20 +/* 887350 80240F90 27A40020 */ addiu $a0, $sp, 0x20 +/* 887354 80240F94 E6160020 */ swc1 $f22, 0x20($s0) +/* 887358 80240F98 8E870000 */ lw $a3, ($s4) +/* 88735C 80240F9C 02532821 */ addu $a1, $s2, $s3 +/* 887360 80240FA0 0C00A7E7 */ jal add_vec2D_polar +/* 887364 80240FA4 E7B60020 */ swc1 $f22, 0x20($sp) +/* 887368 80240FA8 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 88736C 80240FAC C7A00020 */ lwc1 $f0, 0x20($sp) +/* 887370 80240FB0 46002102 */ mul.s $f4, $f4, $f0 +/* 887374 80240FB4 00000000 */ nop +/* 887378 80240FB8 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 88737C 80240FBC 26940004 */ addiu $s4, $s4, 4 +/* 887380 80240FC0 46001082 */ mul.s $f2, $f2, $f0 +/* 887384 80240FC4 00000000 */ nop +/* 887388 80240FC8 26730004 */ addiu $s3, $s3, 4 +/* 88738C 80240FCC 26310001 */ addiu $s1, $s1, 1 +/* 887390 80240FD0 2A220003 */ slti $v0, $s1, 3 +/* 887394 80240FD4 E6040014 */ swc1 $f4, 0x14($s0) +/* 887398 80240FD8 E602002C */ swc1 $f2, 0x2c($s0) +/* 88739C 80240FDC 1440FFEB */ bnez $v0, .L80240F8C +/* 8873A0 80240FE0 26100004 */ addiu $s0, $s0, 4 +/* 8873A4 80240FE4 8E420060 */ lw $v0, 0x60($s2) +/* 8873A8 80240FE8 24420001 */ addiu $v0, $v0, 1 +/* 8873AC 80240FEC AE420060 */ sw $v0, 0x60($s2) +/* 8873B0 80240FF0 28420010 */ slti $v0, $v0, 0x10 +/* 8873B4 80240FF4 14400016 */ bnez $v0, .L80241050 +/* 8873B8 80240FF8 2402000F */ addiu $v0, $zero, 0xf +/* 8873BC 80240FFC AE420060 */ sw $v0, 0x60($s2) +/* 8873C0 80241000 24020002 */ addiu $v0, $zero, 2 +/* 8873C4 80241004 08090414 */ j .L80241050 +/* 8873C8 80241008 AE420000 */ sw $v0, ($s2) +.L8024100C: +/* 8873CC 8024100C 8E420060 */ lw $v0, 0x60($s2) +/* 8873D0 80241010 24420001 */ addiu $v0, $v0, 1 +/* 8873D4 80241014 AE420060 */ sw $v0, 0x60($s2) +/* 8873D8 80241018 2842001F */ slti $v0, $v0, 0x1f +/* 8873DC 8024101C 1440000C */ bnez $v0, .L80241050 +/* 8873E0 80241020 0000882D */ daddu $s1, $zero, $zero +/* 8873E4 80241024 0240282D */ daddu $a1, $s2, $zero +.L80241028: +/* 8873E8 80241028 8CA20008 */ lw $v0, 8($a1) +/* 8873EC 8024102C 8C430000 */ lw $v1, ($v0) +/* 8873F0 80241030 26310001 */ addiu $s1, $s1, 1 +/* 8873F4 80241034 34630010 */ ori $v1, $v1, 0x10 +/* 8873F8 80241038 AC430000 */ sw $v1, ($v0) +/* 8873FC 8024103C 2A220003 */ slti $v0, $s1, 3 +/* 887400 80241040 1440FFF9 */ bnez $v0, .L80241028 +/* 887404 80241044 24A50004 */ addiu $a1, $a1, 4 +/* 887408 80241048 08090461 */ j .L80241184 +/* 88740C 8024104C 24020002 */ addiu $v0, $zero, 2 +.L80241050: +/* 887410 80241050 8E430004 */ lw $v1, 4($s2) +/* 887414 80241054 10600005 */ beqz $v1, .L8024106C +/* 887418 80241058 24020001 */ addiu $v0, $zero, 1 +/* 88741C 8024105C 1062000B */ beq $v1, $v0, .L8024108C +/* 887420 80241060 0000882D */ daddu $s1, $zero, $zero +/* 887424 80241064 08090450 */ j .L80241140 +/* 887428 80241068 0240282D */ daddu $a1, $s2, $zero +.L8024106C: +/* 88742C 8024106C 8E420064 */ lw $v0, 0x64($s2) +/* 887430 80241070 24420001 */ addiu $v0, $v0, 1 +/* 887434 80241074 AE420064 */ sw $v0, 0x64($s2) +/* 887438 80241078 28420010 */ slti $v0, $v0, 0x10 +/* 88743C 8024107C 1440002F */ bnez $v0, .L8024113C +/* 887440 80241080 0000882D */ daddu $s1, $zero, $zero +/* 887444 80241084 0809044C */ j .L80241130 +/* 887448 80241088 24020001 */ addiu $v0, $zero, 1 +.L8024108C: +/* 88744C 8024108C 4480A000 */ mtc1 $zero, $f20 +/* 887450 80241090 24130014 */ addiu $s3, $zero, 0x14 +/* 887454 80241094 0240802D */ daddu $s0, $s2, $zero +.L80241098: +/* 887458 80241098 4405A000 */ mfc1 $a1, $f20 +/* 88745C 8024109C AFB30010 */ sw $s3, 0x10($sp) +/* 887460 802410A0 8E060038 */ lw $a2, 0x38($s0) +/* 887464 802410A4 8E470064 */ lw $a3, 0x64($s2) +/* 887468 802410A8 0C00A8ED */ jal update_lerp +/* 88746C 802410AC 24040001 */ addiu $a0, $zero, 1 +/* 887470 802410B0 C6020014 */ lwc1 $f2, 0x14($s0) +/* 887474 802410B4 46001080 */ add.s $f2, $f2, $f0 +/* 887478 802410B8 4405A000 */ mfc1 $a1, $f20 +/* 88747C 802410BC E6020014 */ swc1 $f2, 0x14($s0) +/* 887480 802410C0 AFB30010 */ sw $s3, 0x10($sp) +/* 887484 802410C4 8E060044 */ lw $a2, 0x44($s0) +/* 887488 802410C8 8E470064 */ lw $a3, 0x64($s2) +/* 88748C 802410CC 0C00A8ED */ jal update_lerp +/* 887490 802410D0 24040001 */ addiu $a0, $zero, 1 +/* 887494 802410D4 C6020020 */ lwc1 $f2, 0x20($s0) +/* 887498 802410D8 46001080 */ add.s $f2, $f2, $f0 +/* 88749C 802410DC 4405A000 */ mfc1 $a1, $f20 +/* 8874A0 802410E0 E6020020 */ swc1 $f2, 0x20($s0) +/* 8874A4 802410E4 AFB30010 */ sw $s3, 0x10($sp) +/* 8874A8 802410E8 8E060050 */ lw $a2, 0x50($s0) +/* 8874AC 802410EC 8E470064 */ lw $a3, 0x64($s2) +/* 8874B0 802410F0 0C00A8ED */ jal update_lerp +/* 8874B4 802410F4 24040001 */ addiu $a0, $zero, 1 +/* 8874B8 802410F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* 8874BC 802410FC 46001080 */ add.s $f2, $f2, $f0 +/* 8874C0 80241100 26310001 */ addiu $s1, $s1, 1 +/* 8874C4 80241104 2A220003 */ slti $v0, $s1, 3 +/* 8874C8 80241108 E602002C */ swc1 $f2, 0x2c($s0) +/* 8874CC 8024110C 1440FFE2 */ bnez $v0, .L80241098 +/* 8874D0 80241110 26100004 */ addiu $s0, $s0, 4 +/* 8874D4 80241114 8E420064 */ lw $v0, 0x64($s2) +/* 8874D8 80241118 24420001 */ addiu $v0, $v0, 1 +/* 8874DC 8024111C AE420064 */ sw $v0, 0x64($s2) +/* 8874E0 80241120 28420015 */ slti $v0, $v0, 0x15 +/* 8874E4 80241124 14400005 */ bnez $v0, .L8024113C +/* 8874E8 80241128 0000882D */ daddu $s1, $zero, $zero +/* 8874EC 8024112C 24020002 */ addiu $v0, $zero, 2 +.L80241130: +/* 8874F0 80241130 AE420004 */ sw $v0, 4($s2) +/* 8874F4 80241134 AE400064 */ sw $zero, 0x64($s2) +/* 8874F8 80241138 0000882D */ daddu $s1, $zero, $zero +.L8024113C: +/* 8874FC 8024113C 0240282D */ daddu $a1, $s2, $zero +.L80241140: +/* 887500 80241140 8CA20008 */ lw $v0, 8($a1) +/* 887504 80241144 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 887508 80241148 8C42000C */ lw $v0, 0xc($v0) +/* 88750C 8024114C E4400010 */ swc1 $f0, 0x10($v0) +/* 887510 80241150 8CA20008 */ lw $v0, 8($a1) +/* 887514 80241154 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 887518 80241158 8C42000C */ lw $v0, 0xc($v0) +/* 88751C 8024115C 26310001 */ addiu $s1, $s1, 1 +/* 887520 80241160 E4400014 */ swc1 $f0, 0x14($v0) +/* 887524 80241164 8CA20008 */ lw $v0, 8($a1) +/* 887528 80241168 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 88752C 8024116C 8C42000C */ lw $v0, 0xc($v0) +/* 887530 80241170 E4400018 */ swc1 $f0, 0x18($v0) +/* 887534 80241174 2A220003 */ slti $v0, $s1, 3 +/* 887538 80241178 1440FFF1 */ bnez $v0, .L80241140 +/* 88753C 8024117C 24A50004 */ addiu $a1, $a1, 4 +/* 887540 80241180 0000102D */ daddu $v0, $zero, $zero +.L80241184: +/* 887544 80241184 8FBF0044 */ lw $ra, 0x44($sp) +/* 887548 80241188 8FB60040 */ lw $s6, 0x40($sp) +/* 88754C 8024118C 8FB5003C */ lw $s5, 0x3c($sp) +/* 887550 80241190 8FB40038 */ lw $s4, 0x38($sp) +/* 887554 80241194 8FB30034 */ lw $s3, 0x34($sp) +/* 887558 80241198 8FB20030 */ lw $s2, 0x30($sp) +/* 88755C 8024119C 8FB1002C */ lw $s1, 0x2c($sp) +/* 887560 802411A0 8FB00028 */ lw $s0, 0x28($sp) +/* 887564 802411A4 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 887568 802411A8 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 88756C 802411AC D7B40048 */ ldc1 $f20, 0x48($sp) +/* 887570 802411B0 03E00008 */ jr $ra +/* 887574 802411B4 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_802411B8.s b/asm/nonmatchings/world/area_tik/tik_10/func_802411B8.s new file mode 100644 index 0000000000..c5d479b887 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_802411B8.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B8 +/* 887578 802411B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88757C 802411BC AFB10014 */ sw $s1, 0x14($sp) +/* 887580 802411C0 0080882D */ daddu $s1, $a0, $zero +/* 887584 802411C4 AFB20018 */ sw $s2, 0x18($sp) +/* 887588 802411C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 88758C 802411CC AFB00010 */ sw $s0, 0x10($sp) +/* 887590 802411D0 8E30000C */ lw $s0, 0xc($s1) +/* 887594 802411D4 10A00010 */ beqz $a1, .L80241218 +/* 887598 802411D8 0000902D */ daddu $s2, $zero, $zero +/* 88759C 802411DC 8E050000 */ lw $a1, ($s0) +/* 8875A0 802411E0 0C0B1EAF */ jal get_variable +/* 8875A4 802411E4 26100004 */ addiu $s0, $s0, 4 +/* 8875A8 802411E8 AE220084 */ sw $v0, 0x84($s1) +/* 8875AC 802411EC 8E050000 */ lw $a1, ($s0) +/* 8875B0 802411F0 0C0B1EAF */ jal get_variable +/* 8875B4 802411F4 0220202D */ daddu $a0, $s1, $zero +/* 8875B8 802411F8 0240202D */ daddu $a0, $s2, $zero +/* 8875BC 802411FC 240500D0 */ addiu $a1, $zero, 0xd0 +/* 8875C0 80241200 00A0302D */ daddu $a2, $a1, $zero +/* 8875C4 80241204 00A0382D */ daddu $a3, $a1, $zero +/* 8875C8 80241208 AE220088 */ sw $v0, 0x88($s1) +/* 8875CC 8024120C AE200070 */ sw $zero, 0x70($s1) +/* 8875D0 80241210 0C04DF84 */ jal func_80137E10 +/* 8875D4 80241214 AE200074 */ sw $zero, 0x74($s1) +.L80241218: +/* 8875D8 80241218 8E230070 */ lw $v1, 0x70($s1) +/* 8875DC 8024121C 24040001 */ addiu $a0, $zero, 1 +/* 8875E0 80241220 10640019 */ beq $v1, $a0, .L80241288 +/* 8875E4 80241224 28620002 */ slti $v0, $v1, 2 +/* 8875E8 80241228 10400005 */ beqz $v0, .L80241240 +/* 8875EC 8024122C 24020002 */ addiu $v0, $zero, 2 +/* 8875F0 80241230 10600007 */ beqz $v1, .L80241250 +/* 8875F4 80241234 240500FF */ addiu $a1, $zero, 0xff +/* 8875F8 80241238 080904B2 */ j .L802412C8 +/* 8875FC 8024123C 00000000 */ nop +.L80241240: +/* 887600 80241240 10620019 */ beq $v1, $v0, .L802412A8 +/* 887604 80241244 00000000 */ nop +/* 887608 80241248 080904B2 */ j .L802412C8 +/* 88760C 8024124C 00000000 */ nop +.L80241250: +/* 887610 80241250 8E220074 */ lw $v0, 0x74($s1) +/* 887614 80241254 14450004 */ bne $v0, $a1, .L80241268 +/* 887618 80241258 00000000 */ nop +/* 88761C 8024125C AE240070 */ sw $a0, 0x70($s1) +/* 887620 80241260 AE200078 */ sw $zero, 0x78($s1) +/* 887624 80241264 8E220074 */ lw $v0, 0x74($s1) +.L80241268: +/* 887628 80241268 8E230084 */ lw $v1, 0x84($s1) +/* 88762C 8024126C 00431021 */ addu $v0, $v0, $v1 +/* 887630 80241270 AE220074 */ sw $v0, 0x74($s1) +/* 887634 80241274 28420100 */ slti $v0, $v0, 0x100 +/* 887638 80241278 50400013 */ beql $v0, $zero, .L802412C8 +/* 88763C 8024127C AE250074 */ sw $a1, 0x74($s1) +/* 887640 80241280 080904B2 */ j .L802412C8 +/* 887644 80241284 00000000 */ nop +.L80241288: +/* 887648 80241288 8E220078 */ lw $v0, 0x78($s1) +/* 88764C 8024128C 24420001 */ addiu $v0, $v0, 1 +/* 887650 80241290 AE220078 */ sw $v0, 0x78($s1) +/* 887654 80241294 28420002 */ slti $v0, $v0, 2 +/* 887658 80241298 1440000B */ bnez $v0, .L802412C8 +/* 88765C 8024129C 24020002 */ addiu $v0, $zero, 2 +/* 887660 802412A0 080904B2 */ j .L802412C8 +/* 887664 802412A4 AE220070 */ sw $v0, 0x70($s1) +.L802412A8: +/* 887668 802412A8 8E230074 */ lw $v1, 0x74($s1) +/* 88766C 802412AC 50600001 */ beql $v1, $zero, .L802412B4 +/* 887670 802412B0 24120001 */ addiu $s2, $zero, 1 +.L802412B4: +/* 887674 802412B4 8E220088 */ lw $v0, 0x88($s1) +/* 887678 802412B8 00621023 */ subu $v0, $v1, $v0 +/* 88767C 802412BC 04410002 */ bgez $v0, .L802412C8 +/* 887680 802412C0 AE220074 */ sw $v0, 0x74($s1) +/* 887684 802412C4 AE200074 */ sw $zero, 0x74($s1) +.L802412C8: +/* 887688 802412C8 C6200074 */ lwc1 $f0, 0x74($s1) +/* 88768C 802412CC 46800020 */ cvt.s.w $f0, $f0 +/* 887690 802412D0 44050000 */ mfc1 $a1, $f0 +/* 887694 802412D4 0C04DF62 */ jal func_80137D88 +/* 887698 802412D8 24040001 */ addiu $a0, $zero, 1 +/* 88769C 802412DC 0240102D */ daddu $v0, $s2, $zero +/* 8876A0 802412E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 8876A4 802412E4 8FB20018 */ lw $s2, 0x18($sp) +/* 8876A8 802412E8 8FB10014 */ lw $s1, 0x14($sp) +/* 8876AC 802412EC 8FB00010 */ lw $s0, 0x10($sp) +/* 8876B0 802412F0 03E00008 */ jr $ra +/* 8876B4 802412F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_802412F8.s b/asm/nonmatchings/world/area_tik/tik_10/func_802412F8.s new file mode 100644 index 0000000000..1737c6fa0a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_802412F8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F8 +/* 8876B8 802412F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8876BC 802412FC AFBF0018 */ sw $ra, 0x18($sp) +/* 8876C0 80241300 0C00EAD2 */ jal get_npc_safe +/* 8876C4 80241304 2404FFFC */ addiu $a0, $zero, -4 +/* 8876C8 80241308 3C0141F0 */ lui $at, 0x41f0 +/* 8876CC 8024130C 44810000 */ mtc1 $at, $f0 +/* 8876D0 80241310 C442003C */ lwc1 $f2, 0x3c($v0) +/* 8876D4 80241314 46001080 */ add.s $f2, $f2, $f0 +/* 8876D8 80241318 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8876DC 8024131C 8C450038 */ lw $a1, 0x38($v0) +/* 8876E0 80241320 8C470040 */ lw $a3, 0x40($v0) +/* 8876E4 80241324 44061000 */ mfc1 $a2, $f2 +/* 8876E8 80241328 0C01BFBC */ jal func_8006FEF0 +/* 8876EC 8024132C 24040002 */ addiu $a0, $zero, 2 +/* 8876F0 80241330 8FBF0018 */ lw $ra, 0x18($sp) +/* 8876F4 80241334 24020002 */ addiu $v0, $zero, 2 +/* 8876F8 80241338 03E00008 */ jr $ra +/* 8876FC 8024133C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80241340.s b/asm/nonmatchings/world/area_tik/tik_10/func_80241340.s new file mode 100644 index 0000000000..9c653166a6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80241340.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241340 +/* 887700 80241340 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 887704 80241344 AFBF0018 */ sw $ra, 0x18($sp) +/* 887708 80241348 0C00EAD2 */ jal get_npc_safe +/* 88770C 8024134C 2404FFFC */ addiu $a0, $zero, -4 +/* 887710 80241350 3C0141F0 */ lui $at, 0x41f0 +/* 887714 80241354 44810000 */ mtc1 $at, $f0 +/* 887718 80241358 C442003C */ lwc1 $f2, 0x3c($v0) +/* 88771C 8024135C 46001080 */ add.s $f2, $f2, $f0 +/* 887720 80241360 E7A00010 */ swc1 $f0, 0x10($sp) +/* 887724 80241364 8C450038 */ lw $a1, 0x38($v0) +/* 887728 80241368 8C470040 */ lw $a3, 0x40($v0) +/* 88772C 8024136C 44061000 */ mfc1 $a2, $f2 +/* 887730 80241370 0C01BFBC */ jal func_8006FEF0 +/* 887734 80241374 24040004 */ addiu $a0, $zero, 4 +/* 887738 80241378 8FBF0018 */ lw $ra, 0x18($sp) +/* 88773C 8024137C 24020002 */ addiu $v0, $zero, 2 +/* 887740 80241380 03E00008 */ jr $ra +/* 887744 80241384 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_10/func_80241388_8863C0.s b/asm/nonmatchings/world/area_tik/tik_10/func_80241388_8863C0.s new file mode 100644 index 0000000000..0e0300eb14 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_10/func_80241388_8863C0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241388_887748 +/* 887748 80241388 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 88774C 8024138C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 887750 80241390 AC800084 */ sw $zero, 0x84($a0) +/* 887754 80241394 80620000 */ lb $v0, ($v1) +/* 887758 80241398 10400005 */ beqz $v0, .L802413B0 +/* 88775C 8024139C 24020003 */ addiu $v0, $zero, 3 +/* 887760 802413A0 80630003 */ lb $v1, 3($v1) +/* 887764 802413A4 14620002 */ bne $v1, $v0, .L802413B0 +/* 887768 802413A8 24020001 */ addiu $v0, $zero, 1 +/* 88776C 802413AC AC820084 */ sw $v0, 0x84($a0) +.L802413B0: +/* 887770 802413B0 03E00008 */ jr $ra +/* 887774 802413B4 24020002 */ addiu $v0, $zero, 2 +/* 887778 802413B8 00000000 */ nop +/* 88777C 802413BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240000_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240000_888BD0.s new file mode 100644 index 0000000000..bfe2c4889f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240000_888BD0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_888BD0 +/* 888BD0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 888BD4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 888BD8 80240008 8C430004 */ lw $v1, 4($v0) +/* 888BDC 8024000C 3C040010 */ lui $a0, 0x10 +/* 888BE0 80240010 00641825 */ or $v1, $v1, $a0 +/* 888BE4 80240014 AC430004 */ sw $v1, 4($v0) +/* 888BE8 80240018 03E00008 */ jr $ra +/* 888BEC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240020_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240020_888BD0.s new file mode 100644 index 0000000000..0b7b2f2f41 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240020_888BD0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_888BF0 +/* 888BF0 80240020 3C028016 */ lui $v0, 0x8016 +/* 888BF4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 888BF8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 888BFC 8024002C 03E00008 */ jr $ra +/* 888C00 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240034_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240034_888BD0.s new file mode 100644 index 0000000000..d7e35e9967 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240034_888BD0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_888C04 +/* 888C04 80240034 3C038016 */ lui $v1, 0x8016 +/* 888C08 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 888C0C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 888C10 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 888C14 80240044 0080802D */ daddu $s0, $a0, $zero +/* 888C18 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 888C1C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 888C20 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 888C24 80240054 24020002 */ addiu $v0, $zero, 2 +/* 888C28 80240058 08090038 */ j .L802400E0 +/* 888C2C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 888C30 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 888C34 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 888C38 80240068 80620040 */ lb $v0, 0x40($v1) +/* 888C3C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 888C40 80240070 04420001 */ bltzl $v0, .L80240078 +/* 888C44 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 888C48 80240078 14400003 */ bnez $v0, .L80240088 +/* 888C4C 8024007C 00000000 */ nop +/* 888C50 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 888C54 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 888C58 80240088 44822000 */ mtc1 $v0, $f4 +/* 888C5C 8024008C 00000000 */ nop +/* 888C60 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 888C64 80240094 44062000 */ mfc1 $a2, $f4 +/* 888C68 80240098 44872000 */ mtc1 $a3, $f4 +/* 888C6C 8024009C 00000000 */ nop +/* 888C70 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 888C74 802400A4 44806000 */ mtc1 $zero, $f12 +/* 888C78 802400A8 44072000 */ mfc1 $a3, $f4 +/* 888C7C 802400AC 0C00A720 */ jal atan2 +/* 888C80 802400B0 46006386 */ mov.s $f14, $f12 +/* 888C84 802400B4 3C014270 */ lui $at, 0x4270 +/* 888C88 802400B8 44811000 */ mtc1 $at, $f2 +/* 888C8C 802400BC 00000000 */ nop +/* 888C90 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 888C94 802400C4 00000000 */ nop +/* 888C98 802400C8 45000004 */ bc1f .L802400DC +/* 888C9C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 888CA0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 888CA4 802400D4 08090038 */ j .L802400E0 +/* 888CA8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 888CAC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 888CB0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 888CB4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 888CB8 802400E8 03E00008 */ jr $ra +/* 888CBC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802400F0_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_802400F0_888BD0.s new file mode 100644 index 0000000000..30d7ff4e4c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802400F0_888BD0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_888CC0 +/* 888CC0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 888CC4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 888CC8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 888CCC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 888CD0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 888CD4 80240104 0C016AFA */ jal get_current_map_header +/* 888CD8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 888CDC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 888CE0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 888CE4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 888CE8 80240118 0C0B1EAF */ jal get_variable +/* 888CEC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 888CF0 80240120 0220202D */ daddu $a0, $s1, $zero +/* 888CF4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 888CF8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 888CFC 8024012C 00028100 */ sll $s0, $v0, 4 +/* 888D00 80240130 02031821 */ addu $v1, $s0, $v1 +/* 888D04 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 888D08 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 888D0C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 888D10 80240140 0C0B2026 */ jal set_variable +/* 888D14 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 888D18 80240148 0220202D */ daddu $a0, $s1, $zero +/* 888D1C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 888D20 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 888D24 80240154 02021021 */ addu $v0, $s0, $v0 +/* 888D28 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 888D2C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 888D30 80240160 44061000 */ mfc1 $a2, $f2 +/* 888D34 80240164 0C0B2026 */ jal set_variable +/* 888D38 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 888D3C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 888D40 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 888D44 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 888D48 80240178 02021021 */ addu $v0, $s0, $v0 +/* 888D4C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 888D50 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 888D54 80240184 44061000 */ mfc1 $a2, $f2 +/* 888D58 80240188 0C0B2026 */ jal set_variable +/* 888D5C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 888D60 80240190 0220202D */ daddu $a0, $s1, $zero +/* 888D64 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 888D68 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 888D6C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 888D70 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 888D74 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 888D78 802401A8 44061000 */ mfc1 $a2, $f2 +/* 888D7C 802401AC 0C0B2026 */ jal set_variable +/* 888D80 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 888D84 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 888D88 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 888D8C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 888D90 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 888D94 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 888D98 802401C8 03E00008 */ jr $ra +/* 888D9C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802401D0_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_802401D0_888BD0.s new file mode 100644 index 0000000000..2a94536a17 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802401D0_888BD0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_888DA0 +/* 888DA0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 888DA4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 888DA8 802401D8 3C014334 */ lui $at, 0x4334 +/* 888DAC 802401DC 44816000 */ mtc1 $at, $f12 +/* 888DB0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 888DB4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 888DB8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 888DBC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 888DC0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 888DC4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 888DC8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 888DCC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 888DD0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 888DD4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 888DD8 80240208 3C01800B */ lui $at, 0x800b +/* 888DDC 8024020C 00220821 */ addu $at, $at, $v0 +/* 888DE0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 888DE4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 888DE8 80240218 0C00A6C9 */ jal clamp_angle +/* 888DEC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 888DF0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 888DF4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 888DF8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 888DFC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 888E00 80240230 24020002 */ addiu $v0, $zero, 2 +/* 888E04 80240234 03E00008 */ jr $ra +/* 888E08 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_8024023C_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_8024023C_888BD0.s new file mode 100644 index 0000000000..739574b720 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_8024023C_888BD0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_888E0C +/* 888E0C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 888E10 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 888E14 80240244 0080802D */ daddu $s0, $a0, $zero +/* 888E18 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 888E1C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 888E20 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 888E24 80240254 0C0B210B */ jal get_float_variable +/* 888E28 80240258 8C450000 */ lw $a1, ($v0) +/* 888E2C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 888E30 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 888E34 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 888E38 80240268 44060000 */ mfc1 $a2, $f0 +/* 888E3C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 888E40 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 888E44 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 888E48 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 888E4C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 888E50 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 888E54 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 888E58 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 888E5C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 888E60 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 888E64 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 888E68 80240298 0C0B2190 */ jal set_float_variable +/* 888E6C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 888E70 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 888E74 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 888E78 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 888E7C 802402AC 0C0B2190 */ jal set_float_variable +/* 888E80 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 888E84 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 888E88 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 888E8C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 888E90 802402C0 0C0B2190 */ jal set_float_variable +/* 888E94 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 888E98 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 888E9C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 888EA0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 888EA4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 888EA8 802402D8 03E00008 */ jr $ra +/* 888EAC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802402E0_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_802402E0_888BD0.s new file mode 100644 index 0000000000..67697d8dbf --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802402E0_888BD0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_888EB0 +/* 888EB0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 888EB4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 888EB8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 888EBC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 888EC0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 888EC4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 888EC8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 888ECC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 888ED0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 888ED4 80240304 3C020002 */ lui $v0, 2 +/* 888ED8 80240308 080900C8 */ j .L80240320 +/* 888EDC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 888EE0 80240310 3C040002 */ lui $a0, 2 +/* 888EE4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 888EE8 80240318 10400002 */ beqz $v0, .L80240324 +/* 888EEC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 888EF0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 888EF4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 888EF8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 888EFC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 888F00 80240330 04610004 */ bgez $v1, .L80240344 +/* 888F04 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 888F08 80240338 3C020002 */ lui $v0, 2 +/* 888F0C 8024033C 080900D5 */ j .L80240354 +/* 888F10 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 888F14 80240344 3C040002 */ lui $a0, 2 +/* 888F18 80240348 0083102A */ slt $v0, $a0, $v1 +/* 888F1C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 888F20 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 888F24 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 888F28 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 888F2C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 888F30 80240360 00621821 */ addu $v1, $v1, $v0 +/* 888F34 80240364 04610004 */ bgez $v1, .L80240378 +/* 888F38 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 888F3C 8024036C 3C020002 */ lui $v0, 2 +/* 888F40 80240370 080900E2 */ j .L80240388 +/* 888F44 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 888F48 80240378 3C040002 */ lui $a0, 2 +/* 888F4C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 888F50 80240380 10400002 */ beqz $v0, .L8024038C +/* 888F54 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 888F58 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 888F5C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 888F60 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 888F64 80240394 00621821 */ addu $v1, $v1, $v0 +/* 888F68 80240398 04610004 */ bgez $v1, .L802403AC +/* 888F6C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 888F70 802403A0 3C020002 */ lui $v0, 2 +/* 888F74 802403A4 080900EF */ j .L802403BC +/* 888F78 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 888F7C 802403AC 3C040002 */ lui $a0, 2 +/* 888F80 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 888F84 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 888F88 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 888F8C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 888F90 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 888F94 802403C4 0C046F07 */ jal set_main_pan_u +/* 888F98 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 888F9C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 888FA0 802403D0 0C046F0D */ jal set_main_pan_v +/* 888FA4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 888FA8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 888FAC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 888FB0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 888FB4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 888FB8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 888FBC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 888FC0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 888FC4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 888FC8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 888FCC 802403FC 03E00008 */ jr $ra +/* 888FD0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240404_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240404_888BD0.s new file mode 100644 index 0000000000..d664388859 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240404_888BD0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_888FD4 +/* 888FD4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 888FD8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 888FDC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 888FE0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 888FE4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 888FE8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 888FEC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 888FF0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 888FF4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 888FF8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 888FFC 8024042C 1440000E */ bnez $v0, .L80240468 +/* 889000 80240430 00000000 */ nop +/* 889004 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 889008 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 88900C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 889010 80240440 04610004 */ bgez $v1, .L80240454 +/* 889014 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 889018 80240448 3C020002 */ lui $v0, 2 +/* 88901C 8024044C 08090119 */ j .L80240464 +/* 889020 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 889024 80240454 3C040002 */ lui $a0, 2 +/* 889028 80240458 0083102A */ slt $v0, $a0, $v1 +/* 88902C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 889030 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 889034 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 889038 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 88903C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 889040 80240470 00000000 */ nop +/* 889044 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 889048 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 88904C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 889050 80240480 04610004 */ bgez $v1, .L80240494 +/* 889054 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 889058 80240488 3C020002 */ lui $v0, 2 +/* 88905C 8024048C 08090129 */ j .L802404A4 +/* 889060 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 889064 80240494 3C040002 */ lui $a0, 2 +/* 889068 80240498 0083102A */ slt $v0, $a0, $v1 +/* 88906C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 889070 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 889074 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 889078 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 88907C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 889080 802404B0 00000000 */ nop +/* 889084 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 889088 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 88908C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 889090 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 889094 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 889098 802404C8 3C020002 */ lui $v0, 2 +/* 88909C 802404CC 08090139 */ j .L802404E4 +/* 8890A0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 8890A4 802404D4 3C040002 */ lui $a0, 2 +/* 8890A8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 8890AC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 8890B0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 8890B4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 8890B8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 8890BC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 8890C0 802404F0 00000000 */ nop +/* 8890C4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8890C8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 8890CC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8890D0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8890D4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8890D8 80240508 3C020002 */ lui $v0, 2 +/* 8890DC 8024050C 08090149 */ j .L80240524 +/* 8890E0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8890E4 80240514 3C040002 */ lui $a0, 2 +/* 8890E8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8890EC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 8890F0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 8890F4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 8890F8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 8890FC 8024052C 0C046F07 */ jal set_main_pan_u +/* 889100 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 889104 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 889108 80240538 0C046F0D */ jal set_main_pan_v +/* 88910C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 889110 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 889114 80240544 0C046F13 */ jal set_aux_pan_u +/* 889118 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88911C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 889120 80240550 0C046F19 */ jal set_aux_pan_v +/* 889124 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 889128 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 88912C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 889130 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 889134 80240564 24420001 */ addiu $v0, $v0, 1 +/* 889138 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 88913C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 889140 80240570 24630001 */ addiu $v1, $v1, 1 +/* 889144 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 889148 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 88914C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 889150 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 889154 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 889158 80240588 0064182A */ slt $v1, $v1, $a0 +/* 88915C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 889160 80240590 14600002 */ bnez $v1, .L8024059C +/* 889164 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 889168 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 88916C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 889170 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 889174 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 889178 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 88917C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 889180 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 889184 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 889188 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 88918C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 889190 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 889194 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 889198 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 88919C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 8891A0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 8891A4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 8891A8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8891AC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 8891B0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 8891B4 802405E4 03E00008 */ jr $ra +/* 8891B8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8891BC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802405F0_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_802405F0_888BD0.s new file mode 100644 index 0000000000..d633b41648 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802405F0_888BD0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_8891C0 +/* 8891C0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8891C4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 8891C8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 8891CC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 8891D0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 8891D4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 8891D8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 8891DC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8891E0 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8891E4 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8891E8 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8891EC 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 8891F0 80240620 0C0B1EAF */ jal get_variable +/* 8891F4 80240624 8C450000 */ lw $a1, ($v0) +/* 8891F8 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 8891FC 8024062C 0C00EABB */ jal get_npc_unsafe +/* 889200 80240630 0040802D */ daddu $s0, $v0, $zero +/* 889204 80240634 0200202D */ daddu $a0, $s0, $zero +/* 889208 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 88920C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 889210 80240640 0C046B4C */ jal get_model_from_list_index +/* 889214 80240644 0040202D */ daddu $a0, $v0, $zero +/* 889218 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 88921C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 889220 80240650 0040902D */ daddu $s2, $v0, $zero +/* 889224 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 889228 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 88922C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 889230 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 889234 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 889238 80240668 00000000 */ nop +/* 88923C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 889240 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 889244 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 889248 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 88924C 8024067C 00000000 */ nop +/* 889250 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 889254 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 889258 80240688 44820000 */ mtc1 $v0, $f0 +/* 88925C 8024068C 00000000 */ nop +/* 889260 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 889264 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 889268 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 88926C 8024069C 44810000 */ mtc1 $at, $f0 +/* 889270 802406A0 00000000 */ nop +/* 889274 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 889278 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 88927C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 889280 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 889284 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 889288 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 88928C 802406BC 00000000 */ nop +/* 889290 802406C0 45010004 */ bc1t .L802406D4 +/* 889294 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 889298 802406C8 0C0187BC */ jal sqrtf +/* 88929C 802406CC 00000000 */ nop +/* 8892A0 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 8892A4 802406D4 44800000 */ mtc1 $zero, $f0 +/* 8892A8 802406D8 00000000 */ nop +/* 8892AC 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 8892B0 802406E0 00000000 */ nop +/* 8892B4 802406E4 45000016 */ bc1f .L80240740 +/* 8892B8 802406E8 46001106 */ mov.s $f4, $f2 +/* 8892BC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 8892C0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 8892C4 802406F4 00000000 */ nop +/* 8892C8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 8892CC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 8892D0 80240700 00000000 */ nop +/* 8892D4 80240704 4500000E */ bc1f .L80240740 +/* 8892D8 80240708 00000000 */ nop +/* 8892DC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 8892E0 80240710 3C013F00 */ lui $at, 0x3f00 +/* 8892E4 80240714 44811000 */ mtc1 $at, $f2 +/* 8892E8 80240718 44820000 */ mtc1 $v0, $f0 +/* 8892EC 8024071C 00000000 */ nop +/* 8892F0 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 8892F4 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 8892F8 80240728 00000000 */ nop +/* 8892FC 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 889300 80240730 00000000 */ nop +/* 889304 80240734 45000002 */ bc1f .L80240740 +/* 889308 80240738 24020001 */ addiu $v0, $zero, 1 +/* 88930C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 889310 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 889314 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 889318 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 88931C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 889320 80240750 00000000 */ nop +/* 889324 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 889328 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 88932C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 889330 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 889334 80240764 00000000 */ nop +/* 889338 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 88933C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 889340 80240770 44820000 */ mtc1 $v0, $f0 +/* 889344 80240774 00000000 */ nop +/* 889348 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 88934C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 889350 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 889354 80240784 44810000 */ mtc1 $at, $f0 +/* 889358 80240788 00000000 */ nop +/* 88935C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 889360 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 889364 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 889368 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 88936C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 889370 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 889374 802407A4 00000000 */ nop +/* 889378 802407A8 45010004 */ bc1t .L802407BC +/* 88937C 802407AC 00000000 */ nop +/* 889380 802407B0 0C0187BC */ jal sqrtf +/* 889384 802407B4 00000000 */ nop +/* 889388 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 88938C 802407BC 44800000 */ mtc1 $zero, $f0 +/* 889390 802407C0 00000000 */ nop +/* 889394 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 889398 802407C8 00000000 */ nop +/* 88939C 802407CC 45000016 */ bc1f .L80240828 +/* 8893A0 802407D0 46001106 */ mov.s $f4, $f2 +/* 8893A4 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 8893A8 802407D8 44820000 */ mtc1 $v0, $f0 +/* 8893AC 802407DC 00000000 */ nop +/* 8893B0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 8893B4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 8893B8 802407E8 00000000 */ nop +/* 8893BC 802407EC 4500000F */ bc1f .L8024082C +/* 8893C0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 8893C4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 8893C8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 8893CC 802407FC 44811000 */ mtc1 $at, $f2 +/* 8893D0 80240800 44820000 */ mtc1 $v0, $f0 +/* 8893D4 80240804 00000000 */ nop +/* 8893D8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 8893DC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 8893E0 80240810 00000000 */ nop +/* 8893E4 80240814 4600203C */ c.lt.s $f4, $f0 +/* 8893E8 80240818 00000000 */ nop +/* 8893EC 8024081C 45000003 */ bc1f .L8024082C +/* 8893F0 80240820 24020001 */ addiu $v0, $zero, 1 +/* 8893F4 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 8893F8 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 8893FC 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 889400 80240830 4481D000 */ mtc1 $at, $f26 +/* 889404 80240834 4480C000 */ mtc1 $zero, $f24 +/* 889408 80240838 3C013F00 */ lui $at, 0x3f00 +/* 88940C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 889410 80240840 0C00EAD2 */ jal get_npc_safe +/* 889414 80240844 0220202D */ daddu $a0, $s1, $zero +/* 889418 80240848 0040802D */ daddu $s0, $v0, $zero +/* 88941C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 889420 80240850 26310001 */ addiu $s1, $s1, 1 +/* 889424 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 889428 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 88942C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 889430 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 889434 80240864 00000000 */ nop +/* 889438 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 88943C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 889440 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 889444 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 889448 80240878 00000000 */ nop +/* 88944C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 889450 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 889454 80240884 44820000 */ mtc1 $v0, $f0 +/* 889458 80240888 00000000 */ nop +/* 88945C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 889460 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 889464 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 889468 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 88946C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 889470 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 889474 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 889478 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 88947C 802408AC 00000000 */ nop +/* 889480 802408B0 45010003 */ bc1t .L802408C0 +/* 889484 802408B4 00000000 */ nop +/* 889488 802408B8 0C0187BC */ jal sqrtf +/* 88948C 802408BC 00000000 */ nop +.L802408C0: +/* 889490 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 889494 802408C4 00000000 */ nop +/* 889498 802408C8 45000015 */ bc1f .L80240920 +/* 88949C 802408CC 46000106 */ mov.s $f4, $f0 +/* 8894A0 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 8894A4 802408D4 44820000 */ mtc1 $v0, $f0 +/* 8894A8 802408D8 00000000 */ nop +/* 8894AC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 8894B0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 8894B4 802408E4 00000000 */ nop +/* 8894B8 802408E8 4500000E */ bc1f .L80240924 +/* 8894BC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 8894C0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 8894C4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 8894C8 802408F8 00000000 */ nop +/* 8894CC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 8894D0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 8894D4 80240904 00000000 */ nop +/* 8894D8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 8894DC 8024090C 00000000 */ nop +/* 8894E0 80240910 45000004 */ bc1f .L80240924 +/* 8894E4 80240914 24020001 */ addiu $v0, $zero, 1 +/* 8894E8 80240918 0809024C */ j .L80240930 +/* 8894EC 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 8894F0 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 8894F4 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 8894F8 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 8894FC 8024092C 00000000 */ nop +.L80240930: +/* 889500 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 889504 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 889508 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 88950C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 889510 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 889514 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 889518 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 88951C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 889520 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 889524 80240954 24020002 */ addiu $v0, $zero, 2 +/* 889528 80240958 03E00008 */ jr $ra +/* 88952C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240960_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240960_888BD0.s new file mode 100644 index 0000000000..f5050a126d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240960_888BD0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_889530 +/* 889530 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 889534 80240964 AFB00010 */ sw $s0, 0x10($sp) +/* 889538 80240968 3C108024 */ lui $s0, 0x8024 +/* 88953C 8024096C 26103C40 */ addiu $s0, $s0, 0x3c40 +/* 889540 80240970 AFBF0018 */ sw $ra, 0x18($sp) +/* 889544 80240974 AFB10014 */ sw $s1, 0x14($sp) +/* 889548 80240978 8E020000 */ lw $v0, ($s0) +/* 88954C 8024097C 14400010 */ bnez $v0, .L802409C0 +/* 889550 80240980 0080882D */ daddu $s1, $a0, $zero +/* 889554 80240984 0C00AB39 */ jal heap_malloc +/* 889558 80240988 24040040 */ addiu $a0, $zero, 0x40 +/* 88955C 8024098C AE020000 */ sw $v0, ($s0) +/* 889560 80240990 0000182D */ daddu $v1, $zero, $zero +/* 889564 80240994 0040282D */ daddu $a1, $v0, $zero +/* 889568 80240998 0220202D */ daddu $a0, $s1, $zero +.L8024099C: +/* 88956C 8024099C 8C820084 */ lw $v0, 0x84($a0) +/* 889570 802409A0 24840004 */ addiu $a0, $a0, 4 +/* 889574 802409A4 24630001 */ addiu $v1, $v1, 1 +/* 889578 802409A8 ACA20000 */ sw $v0, ($a1) +/* 88957C 802409AC 28620010 */ slti $v0, $v1, 0x10 +/* 889580 802409B0 1440FFFA */ bnez $v0, .L8024099C +/* 889584 802409B4 24A50004 */ addiu $a1, $a1, 4 +/* 889588 802409B8 0809027F */ j .L802409FC +/* 88958C 802409BC 00000000 */ nop +.L802409C0: +/* 889590 802409C0 0000182D */ daddu $v1, $zero, $zero +/* 889594 802409C4 0040282D */ daddu $a1, $v0, $zero +/* 889598 802409C8 0220202D */ daddu $a0, $s1, $zero +.L802409CC: +/* 88959C 802409CC 8CA20000 */ lw $v0, ($a1) +/* 8895A0 802409D0 24A50004 */ addiu $a1, $a1, 4 +/* 8895A4 802409D4 24630001 */ addiu $v1, $v1, 1 +/* 8895A8 802409D8 AC820084 */ sw $v0, 0x84($a0) +/* 8895AC 802409DC 28620010 */ slti $v0, $v1, 0x10 +/* 8895B0 802409E0 1440FFFA */ bnez $v0, .L802409CC +/* 8895B4 802409E4 24840004 */ addiu $a0, $a0, 4 +/* 8895B8 802409E8 3C108024 */ lui $s0, 0x8024 +/* 8895BC 802409EC 26103C40 */ addiu $s0, $s0, 0x3c40 +/* 8895C0 802409F0 0C00AB4B */ jal heap_free +/* 8895C4 802409F4 8E040000 */ lw $a0, ($s0) +/* 8895C8 802409F8 AE000000 */ sw $zero, ($s0) +.L802409FC: +/* 8895CC 802409FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8895D0 80240A00 8FB10014 */ lw $s1, 0x14($sp) +/* 8895D4 80240A04 8FB00010 */ lw $s0, 0x10($sp) +/* 8895D8 80240A08 24020002 */ addiu $v0, $zero, 2 +/* 8895DC 80240A0C 03E00008 */ jr $ra +/* 8895E0 80240A10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240A14.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240A14.s new file mode 100644 index 0000000000..6aa512e951 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240A14.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A14 +/* 8895E4 80240A14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8895E8 80240A18 AFB00010 */ sw $s0, 0x10($sp) +/* 8895EC 80240A1C 0080802D */ daddu $s0, $a0, $zero +/* 8895F0 80240A20 AFBF0018 */ sw $ra, 0x18($sp) +/* 8895F4 80240A24 AFB10014 */ sw $s1, 0x14($sp) +/* 8895F8 80240A28 8E02000C */ lw $v0, 0xc($s0) +/* 8895FC 80240A2C 8C510000 */ lw $s1, ($v0) +/* 889600 80240A30 0C0B1EAF */ jal get_variable +/* 889604 80240A34 0220282D */ daddu $a1, $s1, $zero +/* 889608 80240A38 3C03FFF0 */ lui $v1, 0xfff0 +/* 88960C 80240A3C 3463FFFF */ ori $v1, $v1, 0xffff +/* 889610 80240A40 0200202D */ daddu $a0, $s0, $zero +/* 889614 80240A44 00431024 */ and $v0, $v0, $v1 +/* 889618 80240A48 00021140 */ sll $v0, $v0, 5 +/* 88961C 80240A4C 3C068008 */ lui $a2, %hi(gItemTable) +/* 889620 80240A50 00C23021 */ addu $a2, $a2, $v0 +/* 889624 80240A54 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 889628 80240A58 0C0B2026 */ jal set_variable +/* 88962C 80240A5C 0220282D */ daddu $a1, $s1, $zero +/* 889630 80240A60 8FBF0018 */ lw $ra, 0x18($sp) +/* 889634 80240A64 8FB10014 */ lw $s1, 0x14($sp) +/* 889638 80240A68 8FB00010 */ lw $s0, 0x10($sp) +/* 88963C 80240A6C 24020002 */ addiu $v0, $zero, 2 +/* 889640 80240A70 03E00008 */ jr $ra +/* 889644 80240A74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240A78.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240A78.s new file mode 100644 index 0000000000..63b2dd38bd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240A78.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A78 +/* 889648 80240A78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88964C 80240A7C AFB10014 */ sw $s1, 0x14($sp) +/* 889650 80240A80 0080882D */ daddu $s1, $a0, $zero +/* 889654 80240A84 AFBF001C */ sw $ra, 0x1c($sp) +/* 889658 80240A88 AFB20018 */ sw $s2, 0x18($sp) +/* 88965C 80240A8C AFB00010 */ sw $s0, 0x10($sp) +/* 889660 80240A90 8E240084 */ lw $a0, 0x84($s1) +/* 889664 80240A94 0C04C3D6 */ jal get_item_entity +/* 889668 80240A98 00A0802D */ daddu $s0, $a1, $zero +/* 88966C 80240A9C 12000005 */ beqz $s0, .L80240AB4 +/* 889670 80240AA0 0040902D */ daddu $s2, $v0, $zero +/* 889674 80240AA4 C640000C */ lwc1 $f0, 0xc($s2) +/* 889678 80240AA8 AE200074 */ sw $zero, 0x74($s1) +/* 88967C 80240AAC AE20007C */ sw $zero, 0x7c($s1) +/* 889680 80240AB0 E6200078 */ swc1 $f0, 0x78($s1) +.L80240AB4: +/* 889684 80240AB4 8E230074 */ lw $v1, 0x74($s1) +/* 889688 80240AB8 10600005 */ beqz $v1, .L80240AD0 +/* 88968C 80240ABC 24020001 */ addiu $v0, $zero, 1 +/* 889690 80240AC0 10620024 */ beq $v1, $v0, .L80240B54 +/* 889694 80240AC4 00000000 */ nop +/* 889698 80240AC8 080902EB */ j .L80240BAC +/* 88969C 80240ACC 00000000 */ nop +.L80240AD0: +/* 8896A0 80240AD0 3C013FC9 */ lui $at, 0x3fc9 +/* 8896A4 80240AD4 34210FD8 */ ori $at, $at, 0xfd8 +/* 8896A8 80240AD8 44810000 */ mtc1 $at, $f0 +/* 8896AC 80240ADC C62C007C */ lwc1 $f12, 0x7c($s1) +/* 8896B0 80240AE0 46806320 */ cvt.s.w $f12, $f12 +/* 8896B4 80240AE4 46006302 */ mul.s $f12, $f12, $f0 +/* 8896B8 80240AE8 00000000 */ nop +/* 8896BC 80240AEC 3C0141F0 */ lui $at, 0x41f0 +/* 8896C0 80240AF0 44810000 */ mtc1 $at, $f0 +/* 8896C4 80240AF4 0C00A874 */ jal cos_rad +/* 8896C8 80240AF8 46006303 */ div.s $f12, $f12, $f0 +/* 8896CC 80240AFC 3C013F80 */ lui $at, 0x3f80 +/* 8896D0 80240B00 44811000 */ mtc1 $at, $f2 +/* 8896D4 80240B04 00000000 */ nop +/* 8896D8 80240B08 46001081 */ sub.s $f2, $f2, $f0 +/* 8896DC 80240B0C 3C0141A0 */ lui $at, 0x41a0 +/* 8896E0 80240B10 44810000 */ mtc1 $at, $f0 +/* 8896E4 80240B14 00000000 */ nop +/* 8896E8 80240B18 46001082 */ mul.s $f2, $f2, $f0 +/* 8896EC 80240B1C 00000000 */ nop +/* 8896F0 80240B20 C6200078 */ lwc1 $f0, 0x78($s1) +/* 8896F4 80240B24 46020000 */ add.s $f0, $f0, $f2 +/* 8896F8 80240B28 E640000C */ swc1 $f0, 0xc($s2) +/* 8896FC 80240B2C 8E23007C */ lw $v1, 0x7c($s1) +/* 889700 80240B30 2402001E */ addiu $v0, $zero, 0x1e +/* 889704 80240B34 14620005 */ bne $v1, $v0, .L80240B4C +/* 889708 80240B38 24620001 */ addiu $v0, $v1, 1 +/* 88970C 80240B3C 24020001 */ addiu $v0, $zero, 1 +/* 889710 80240B40 AE220074 */ sw $v0, 0x74($s1) +/* 889714 80240B44 080902EB */ j .L80240BAC +/* 889718 80240B48 AE20007C */ sw $zero, 0x7c($s1) +.L80240B4C: +/* 88971C 80240B4C 080902EB */ j .L80240BAC +/* 889720 80240B50 AE22007C */ sw $v0, 0x7c($s1) +.L80240B54: +/* 889724 80240B54 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 889728 80240B58 0C00A8D4 */ jal cos_deg +/* 88972C 80240B5C 46806320 */ cvt.s.w $f12, $f12 +/* 889730 80240B60 3C014040 */ lui $at, 0x4040 +/* 889734 80240B64 44811000 */ mtc1 $at, $f2 +/* 889738 80240B68 00000000 */ nop +/* 88973C 80240B6C 46020002 */ mul.s $f0, $f0, $f2 +/* 889740 80240B70 00000000 */ nop +/* 889744 80240B74 3C014188 */ lui $at, 0x4188 +/* 889748 80240B78 44812000 */ mtc1 $at, $f4 +/* 88974C 80240B7C C6220078 */ lwc1 $f2, 0x78($s1) +/* 889750 80240B80 46041080 */ add.s $f2, $f2, $f4 +/* 889754 80240B84 46001080 */ add.s $f2, $f2, $f0 +/* 889758 80240B88 E642000C */ swc1 $f2, 0xc($s2) +/* 88975C 80240B8C 8E22007C */ lw $v0, 0x7c($s1) +/* 889760 80240B90 24420009 */ addiu $v0, $v0, 9 +/* 889764 80240B94 44826000 */ mtc1 $v0, $f12 +/* 889768 80240B98 00000000 */ nop +/* 88976C 80240B9C 0C00A6C9 */ jal clamp_angle +/* 889770 80240BA0 46806320 */ cvt.s.w $f12, $f12 +/* 889774 80240BA4 4600018D */ trunc.w.s $f6, $f0 +/* 889778 80240BA8 E626007C */ swc1 $f6, 0x7c($s1) +.L80240BAC: +/* 88977C 80240BAC 8FBF001C */ lw $ra, 0x1c($sp) +/* 889780 80240BB0 8FB20018 */ lw $s2, 0x18($sp) +/* 889784 80240BB4 8FB10014 */ lw $s1, 0x14($sp) +/* 889788 80240BB8 8FB00010 */ lw $s0, 0x10($sp) +/* 88978C 80240BBC 0000102D */ daddu $v0, $zero, $zero +/* 889790 80240BC0 03E00008 */ jr $ra +/* 889794 80240BC4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240BC8.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240BC8.s new file mode 100644 index 0000000000..8aecb822c5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240BC8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BC8 +/* 889798 80240BC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88979C 80240BCC AFB00010 */ sw $s0, 0x10($sp) +/* 8897A0 80240BD0 0080802D */ daddu $s0, $a0, $zero +/* 8897A4 80240BD4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8897A8 80240BD8 8E02000C */ lw $v0, 0xc($s0) +/* 8897AC 80240BDC 0C0B1EAF */ jal get_variable +/* 8897B0 80240BE0 8C450000 */ lw $a1, ($v0) +/* 8897B4 80240BE4 00021140 */ sll $v0, $v0, 5 +/* 8897B8 80240BE8 AE000084 */ sw $zero, 0x84($s0) +/* 8897BC 80240BEC 3C018008 */ lui $at, 0x8008 +/* 8897C0 80240BF0 00220821 */ addu $at, $at, $v0 +/* 8897C4 80240BF4 942278F8 */ lhu $v0, 0x78f8($at) +/* 8897C8 80240BF8 30420040 */ andi $v0, $v0, 0x40 +/* 8897CC 80240BFC 10400002 */ beqz $v0, .L80240C08 +/* 8897D0 80240C00 24020001 */ addiu $v0, $zero, 1 +/* 8897D4 80240C04 AE020084 */ sw $v0, 0x84($s0) +.L80240C08: +/* 8897D8 80240C08 8FBF0014 */ lw $ra, 0x14($sp) +/* 8897DC 80240C0C 8FB00010 */ lw $s0, 0x10($sp) +/* 8897E0 80240C10 24020002 */ addiu $v0, $zero, 2 +/* 8897E4 80240C14 03E00008 */ jr $ra +/* 8897E8 80240C18 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240C1C.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240C1C.s new file mode 100644 index 0000000000..8fb9f6d1bb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240C1C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C1C +/* 8897EC 80240C1C 3C03800A */ lui $v1, %hi(D_8009A650) +/* 8897F0 80240C20 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 8897F4 80240C24 8C620000 */ lw $v0, ($v1) +/* 8897F8 80240C28 34420040 */ ori $v0, $v0, 0x40 +/* 8897FC 80240C2C AC620000 */ sw $v0, ($v1) +/* 889800 80240C30 03E00008 */ jr $ra +/* 889804 80240C34 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240C38.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240C38.s new file mode 100644 index 0000000000..47ab9e8e0a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240C38.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C38 +/* 889808 80240C38 3C02800A */ lui $v0, %hi(D_8009A650) +/* 88980C 80240C3C 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 889810 80240C40 8C430000 */ lw $v1, ($v0) +/* 889814 80240C44 2404FFBF */ addiu $a0, $zero, -0x41 +/* 889818 80240C48 00641824 */ and $v1, $v1, $a0 +/* 88981C 80240C4C AC430000 */ sw $v1, ($v0) +/* 889820 80240C50 03E00008 */ jr $ra +/* 889824 80240C54 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240C58.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240C58.s new file mode 100644 index 0000000000..26654b9985 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240C58.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C58 +/* 889828 80240C58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88982C 80240C5C AFBF0010 */ sw $ra, 0x10($sp) +/* 889830 80240C60 8C82000C */ lw $v0, 0xc($a0) +/* 889834 80240C64 0C0B1EAF */ jal get_variable +/* 889838 80240C68 8C450000 */ lw $a1, ($v0) +/* 88983C 80240C6C 0C0B95A4 */ jal func_802E5690 +/* 889840 80240C70 0040202D */ daddu $a0, $v0, $zero +/* 889844 80240C74 8FBF0010 */ lw $ra, 0x10($sp) +/* 889848 80240C78 24020002 */ addiu $v0, $zero, 2 +/* 88984C 80240C7C 03E00008 */ jr $ra +/* 889850 80240C80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240C84.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240C84.s new file mode 100644 index 0000000000..fa5bf8c3c6 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240C84.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C84 +/* 889854 80240C84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 889858 80240C88 AFB00010 */ sw $s0, 0x10($sp) +/* 88985C 80240C8C 0080802D */ daddu $s0, $a0, $zero +/* 889860 80240C90 AFBF0018 */ sw $ra, 0x18($sp) +/* 889864 80240C94 AFB10014 */ sw $s1, 0x14($sp) +/* 889868 80240C98 8E11000C */ lw $s1, 0xc($s0) +/* 88986C 80240C9C 8E250000 */ lw $a1, ($s1) +/* 889870 80240CA0 0C0B1EAF */ jal get_variable +/* 889874 80240CA4 26310004 */ addiu $s1, $s1, 4 +/* 889878 80240CA8 0200202D */ daddu $a0, $s0, $zero +/* 88987C 80240CAC 3C038011 */ lui $v1, %hi(gPlayerData) +/* 889880 80240CB0 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 889884 80240CB4 000210C0 */ sll $v0, $v0, 3 +/* 889888 80240CB8 00431021 */ addu $v0, $v0, $v1 +/* 88988C 80240CBC 90460015 */ lbu $a2, 0x15($v0) +/* 889890 80240CC0 8E250000 */ lw $a1, ($s1) +/* 889894 80240CC4 24C60001 */ addiu $a2, $a2, 1 +/* 889898 80240CC8 A0460015 */ sb $a2, 0x15($v0) +/* 88989C 80240CCC 00063600 */ sll $a2, $a2, 0x18 +/* 8898A0 80240CD0 0C0B2026 */ jal set_variable +/* 8898A4 80240CD4 00063603 */ sra $a2, $a2, 0x18 +/* 8898A8 80240CD8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8898AC 80240CDC 8FB10014 */ lw $s1, 0x14($sp) +/* 8898B0 80240CE0 8FB00010 */ lw $s0, 0x10($sp) +/* 8898B4 80240CE4 24020002 */ addiu $v0, $zero, 2 +/* 8898B8 80240CE8 03E00008 */ jr $ra +/* 8898BC 80240CEC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240CF0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240CF0.s new file mode 100644 index 0000000000..c60997fad1 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240CF0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF0 +/* 8898C0 80240CF0 3C028011 */ lui $v0, %hi(gPlayerData) +/* 8898C4 80240CF4 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 8898C8 80240CF8 000420C0 */ sll $a0, $a0, 3 +/* 8898CC 80240CFC 00822021 */ addu $a0, $a0, $v0 +/* 8898D0 80240D00 90820014 */ lbu $v0, 0x14($a0) +/* 8898D4 80240D04 10400009 */ beqz $v0, .L80240D2C +/* 8898D8 80240D08 00000000 */ nop +/* 8898DC 80240D0C 90820015 */ lbu $v0, 0x15($a0) +/* 8898E0 80240D10 00022600 */ sll $a0, $v0, 0x18 +/* 8898E4 80240D14 00041E03 */ sra $v1, $a0, 0x18 +/* 8898E8 80240D18 00051400 */ sll $v0, $a1, 0x10 +/* 8898EC 80240D1C 00021403 */ sra $v0, $v0, 0x10 +/* 8898F0 80240D20 0043102A */ slt $v0, $v0, $v1 +/* 8898F4 80240D24 10400003 */ beqz $v0, .L80240D34 +/* 8898F8 80240D28 00000000 */ nop +.L80240D2C: +/* 8898FC 80240D2C 03E00008 */ jr $ra +/* 889900 80240D30 2402FFFF */ addiu $v0, $zero, -1 +.L80240D34: +/* 889904 80240D34 03E00008 */ jr $ra +/* 889908 80240D38 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240D3C.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240D3C.s new file mode 100644 index 0000000000..a96ab484a9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240D3C.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D3C +/* 88990C 80240D3C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 889910 80240D40 AFB3001C */ sw $s3, 0x1c($sp) +/* 889914 80240D44 0080982D */ daddu $s3, $a0, $zero +/* 889918 80240D48 AFB00010 */ sw $s0, 0x10($sp) +/* 88991C 80240D4C 24100001 */ addiu $s0, $zero, 1 +/* 889920 80240D50 AFB40020 */ sw $s4, 0x20($sp) +/* 889924 80240D54 2414FFFF */ addiu $s4, $zero, -1 +/* 889928 80240D58 AFB50024 */ sw $s5, 0x24($sp) +/* 88992C 80240D5C 0200A82D */ daddu $s5, $s0, $zero +/* 889930 80240D60 AFB10014 */ sw $s1, 0x14($sp) +/* 889934 80240D64 3C118011 */ lui $s1, 0x8011 +/* 889938 80240D68 2631F298 */ addiu $s1, $s1, -0xd68 +/* 88993C 80240D6C AFBF0028 */ sw $ra, 0x28($sp) +/* 889940 80240D70 AFB20018 */ sw $s2, 0x18($sp) +/* 889944 80240D74 8E6200B4 */ lw $v0, 0xb4($s3) +/* 889948 80240D78 0280182D */ daddu $v1, $s4, $zero +/* 88994C 80240D7C AE630084 */ sw $v1, 0x84($s3) +/* 889950 80240D80 00021027 */ nor $v0, $zero, $v0 +/* 889954 80240D84 000217C2 */ srl $v0, $v0, 0x1f +/* 889958 80240D88 00029400 */ sll $s2, $v0, 0x10 +.L80240D8C: +/* 88995C 80240D8C 92220014 */ lbu $v0, 0x14($s1) +/* 889960 80240D90 50400008 */ beql $v0, $zero, .L80240DB4 +/* 889964 80240D94 26100001 */ addiu $s0, $s0, 1 +/* 889968 80240D98 0200202D */ daddu $a0, $s0, $zero +/* 88996C 80240D9C 0C09033C */ jal func_80240CF0 +/* 889970 80240DA0 00122C03 */ sra $a1, $s2, 0x10 +/* 889974 80240DA4 10540003 */ beq $v0, $s4, .L80240DB4 +/* 889978 80240DA8 26100001 */ addiu $s0, $s0, 1 +/* 88997C 80240DAC 08090370 */ j .L80240DC0 +/* 889980 80240DB0 AE750084 */ sw $s5, 0x84($s3) +.L80240DB4: +/* 889984 80240DB4 2A02000C */ slti $v0, $s0, 0xc +/* 889988 80240DB8 1440FFF4 */ bnez $v0, .L80240D8C +/* 88998C 80240DBC 26310008 */ addiu $s1, $s1, 8 +.L80240DC0: +/* 889990 80240DC0 8FBF0028 */ lw $ra, 0x28($sp) +/* 889994 80240DC4 8FB50024 */ lw $s5, 0x24($sp) +/* 889998 80240DC8 8FB40020 */ lw $s4, 0x20($sp) +/* 88999C 80240DCC 8FB3001C */ lw $s3, 0x1c($sp) +/* 8899A0 80240DD0 8FB20018 */ lw $s2, 0x18($sp) +/* 8899A4 80240DD4 8FB10014 */ lw $s1, 0x14($sp) +/* 8899A8 80240DD8 8FB00010 */ lw $s0, 0x10($sp) +/* 8899AC 80240DDC 24020002 */ addiu $v0, $zero, 2 +/* 8899B0 80240DE0 03E00008 */ jr $ra +/* 8899B4 80240DE4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80240DE8_888BD0.s b/asm/nonmatchings/world/area_tik/tik_12/func_80240DE8_888BD0.s new file mode 100644 index 0000000000..247c9da693 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80240DE8_888BD0.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DE8_8899B8 +/* 8899B8 80240DE8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 8899BC 80240DEC AFB5002C */ sw $s5, 0x2c($sp) +/* 8899C0 80240DF0 0080A82D */ daddu $s5, $a0, $zero +/* 8899C4 80240DF4 AFBE0038 */ sw $fp, 0x38($sp) +/* 8899C8 80240DF8 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 8899CC 80240DFC 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 8899D0 80240E00 AFBF003C */ sw $ra, 0x3c($sp) +/* 8899D4 80240E04 AFB70034 */ sw $s7, 0x34($sp) +/* 8899D8 80240E08 AFB60030 */ sw $s6, 0x30($sp) +/* 8899DC 80240E0C AFB40028 */ sw $s4, 0x28($sp) +/* 8899E0 80240E10 AFB30024 */ sw $s3, 0x24($sp) +/* 8899E4 80240E14 AFB20020 */ sw $s2, 0x20($sp) +/* 8899E8 80240E18 AFB1001C */ sw $s1, 0x1c($sp) +/* 8899EC 80240E1C 10A0004F */ beqz $a1, .L80240F5C +/* 8899F0 80240E20 AFB00018 */ sw $s0, 0x18($sp) +/* 8899F4 80240E24 0C00AB39 */ jal heap_malloc +/* 8899F8 80240E28 24040330 */ addiu $a0, $zero, 0x330 +/* 8899FC 80240E2C 0040982D */ daddu $s3, $v0, $zero +/* 889A00 80240E30 0000B02D */ daddu $s6, $zero, $zero +/* 889A04 80240E34 02C0902D */ daddu $s2, $s6, $zero +/* 889A08 80240E38 3C148024 */ lui $s4, 0x8024 +/* 889A0C 80240E3C 26943CB4 */ addiu $s4, $s4, 0x3cb4 +/* 889A10 80240E40 0260882D */ daddu $s1, $s3, $zero +/* 889A14 80240E44 8EA200B4 */ lw $v0, 0xb4($s5) +/* 889A18 80240E48 3C038024 */ lui $v1, 0x8024 +/* 889A1C 80240E4C 24633CAC */ addiu $v1, $v1, 0x3cac +/* 889A20 80240E50 AEB30078 */ sw $s3, 0x78($s5) +/* 889A24 80240E54 00021027 */ nor $v0, $zero, $v0 +/* 889A28 80240E58 0002BFC2 */ srl $s7, $v0, 0x1f +/* 889A2C 80240E5C 00171080 */ sll $v0, $s7, 2 +/* 889A30 80240E60 00431021 */ addu $v0, $v0, $v1 +/* 889A34 80240E64 AFA20010 */ sw $v0, 0x10($sp) +.L80240E68: +/* 889A38 80240E68 86900000 */ lh $s0, ($s4) +/* 889A3C 80240E6C 001010C0 */ sll $v0, $s0, 3 +/* 889A40 80240E70 03C21021 */ addu $v0, $fp, $v0 +/* 889A44 80240E74 90420014 */ lbu $v0, 0x14($v0) +/* 889A48 80240E78 5040002E */ beql $v0, $zero, .L80240F34 +/* 889A4C 80240E7C 26520001 */ addiu $s2, $s2, 1 +/* 889A50 80240E80 00101100 */ sll $v0, $s0, 4 +/* 889A54 80240E84 3C068009 */ lui $a2, 0x8009 +/* 889A58 80240E88 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 889A5C 80240E8C 00461021 */ addu $v0, $v0, $a2 +/* 889A60 80240E90 0200202D */ daddu $a0, $s0, $zero +/* 889A64 80240E94 AE300108 */ sw $s0, 0x108($s1) +/* 889A68 80240E98 8C420000 */ lw $v0, ($v0) +/* 889A6C 80240E9C 02E0282D */ daddu $a1, $s7, $zero +/* 889A70 80240EA0 0C09033C */ jal func_80240CF0 +/* 889A74 80240EA4 AE220084 */ sw $v0, 0x84($s1) +/* 889A78 80240EA8 0040202D */ daddu $a0, $v0, $zero +/* 889A7C 80240EAC 04800011 */ bltz $a0, .L80240EF4 +/* 889A80 80240EB0 00101080 */ sll $v0, $s0, 2 +/* 889A84 80240EB4 3C06800F */ lui $a2, 0x800f +/* 889A88 80240EB8 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 889A8C 80240EBC 00461021 */ addu $v0, $v0, $a2 +/* 889A90 80240EC0 8C430000 */ lw $v1, ($v0) +/* 889A94 80240EC4 24020001 */ addiu $v0, $zero, 1 +/* 889A98 80240EC8 AE22018C */ sw $v0, 0x18c($s1) +/* 889A9C 80240ECC 00041080 */ sll $v0, $a0, 2 +/* 889AA0 80240ED0 3C068024 */ lui $a2, 0x8024 +/* 889AA4 80240ED4 24C63CC4 */ addiu $a2, $a2, 0x3cc4 +/* 889AA8 80240ED8 AE230000 */ sw $v1, ($s1) +/* 889AAC 80240EDC 001218C0 */ sll $v1, $s2, 3 +/* 889AB0 80240EE0 00431021 */ addu $v0, $v0, $v1 +/* 889AB4 80240EE4 00461021 */ addu $v0, $v0, $a2 +/* 889AB8 80240EE8 8C420000 */ lw $v0, ($v0) +/* 889ABC 80240EEC 080903C6 */ j .L80240F18 +/* 889AC0 80240EF0 AE220294 */ sw $v0, 0x294($s1) +.L80240EF4: +/* 889AC4 80240EF4 3C06800F */ lui $a2, 0x800f +/* 889AC8 80240EF8 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 889ACC 80240EFC 00461021 */ addu $v0, $v0, $a2 +/* 889AD0 80240F00 8C420000 */ lw $v0, ($v0) +/* 889AD4 80240F04 AE20018C */ sw $zero, 0x18c($s1) +/* 889AD8 80240F08 AE220000 */ sw $v0, ($s1) +/* 889ADC 80240F0C 8FA60010 */ lw $a2, 0x10($sp) +/* 889AE0 80240F10 8CC20000 */ lw $v0, ($a2) +/* 889AE4 80240F14 AE220294 */ sw $v0, 0x294($s1) +.L80240F18: +/* 889AE8 80240F18 001010C0 */ sll $v0, $s0, 3 +/* 889AEC 80240F1C 03C21021 */ addu $v0, $fp, $v0 +/* 889AF0 80240F20 80420015 */ lb $v0, 0x15($v0) +/* 889AF4 80240F24 26D60001 */ addiu $s6, $s6, 1 +/* 889AF8 80240F28 AE220210 */ sw $v0, 0x210($s1) +/* 889AFC 80240F2C 26310004 */ addiu $s1, $s1, 4 +/* 889B00 80240F30 26520001 */ addiu $s2, $s2, 1 +.L80240F34: +/* 889B04 80240F34 2A420008 */ slti $v0, $s2, 8 +/* 889B08 80240F38 1440FFCB */ bnez $v0, .L80240E68 +/* 889B0C 80240F3C 26940002 */ addiu $s4, $s4, 2 +/* 889B10 80240F40 0260202D */ daddu $a0, $s3, $zero +/* 889B14 80240F44 24020004 */ addiu $v0, $zero, 4 +/* 889B18 80240F48 AC820318 */ sw $v0, 0x318($a0) +/* 889B1C 80240F4C AC960324 */ sw $s6, 0x324($a0) +/* 889B20 80240F50 0C03D390 */ jal func_800F4E40 +/* 889B24 80240F54 AC800328 */ sw $zero, 0x328($a0) +/* 889B28 80240F58 AEA00070 */ sw $zero, 0x70($s5) +.L80240F5C: +/* 889B2C 80240F5C 8EA20070 */ lw $v0, 0x70($s5) +/* 889B30 80240F60 8EB30078 */ lw $s3, 0x78($s5) +/* 889B34 80240F64 14400008 */ bnez $v0, .L80240F88 +/* 889B38 80240F68 24420001 */ addiu $v0, $v0, 1 +/* 889B3C 80240F6C 8662032C */ lh $v0, 0x32c($s3) +/* 889B40 80240F70 10400009 */ beqz $v0, .L80240F98 +/* 889B44 80240F74 AEA20074 */ sw $v0, 0x74($s5) +/* 889B48 80240F78 0C03C4EC */ jal func_800F13B0 +/* 889B4C 80240F7C 00000000 */ nop +/* 889B50 80240F80 8EA20070 */ lw $v0, 0x70($s5) +/* 889B54 80240F84 24420001 */ addiu $v0, $v0, 1 +.L80240F88: +/* 889B58 80240F88 AEA20070 */ sw $v0, 0x70($s5) +/* 889B5C 80240F8C 2842000F */ slti $v0, $v0, 0xf +/* 889B60 80240F90 10400003 */ beqz $v0, .L80240FA0 +/* 889B64 80240F94 00000000 */ nop +.L80240F98: +/* 889B68 80240F98 08090402 */ j .L80241008 +/* 889B6C 80240F9C 0000102D */ daddu $v0, $zero, $zero +.L80240FA0: +/* 889B70 80240FA0 0C03C54E */ jal func_800F1538 +/* 889B74 80240FA4 00000000 */ nop +/* 889B78 80240FA8 8EA30074 */ lw $v1, 0x74($s5) +/* 889B7C 80240FAC 240200FF */ addiu $v0, $zero, 0xff +/* 889B80 80240FB0 10620010 */ beq $v1, $v0, .L80240FF4 +/* 889B84 80240FB4 2462FFFF */ addiu $v0, $v1, -1 +/* 889B88 80240FB8 00021080 */ sll $v0, $v0, 2 +/* 889B8C 80240FBC 02621021 */ addu $v0, $s3, $v0 +/* 889B90 80240FC0 8C420108 */ lw $v0, 0x108($v0) +/* 889B94 80240FC4 00021100 */ sll $v0, $v0, 4 +/* 889B98 80240FC8 3C038009 */ lui $v1, 0x8009 +/* 889B9C 80240FCC 00621821 */ addu $v1, $v1, $v0 +/* 889BA0 80240FD0 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 889BA4 80240FD4 8EA20074 */ lw $v0, 0x74($s5) +/* 889BA8 80240FD8 2442FFFF */ addiu $v0, $v0, -1 +/* 889BAC 80240FDC 00021080 */ sll $v0, $v0, 2 +/* 889BB0 80240FE0 02621021 */ addu $v0, $s3, $v0 +/* 889BB4 80240FE4 AEA30084 */ sw $v1, 0x84($s5) +/* 889BB8 80240FE8 8C420108 */ lw $v0, 0x108($v0) +/* 889BBC 80240FEC 080903FF */ j .L80240FFC +/* 889BC0 80240FF0 AEA20088 */ sw $v0, 0x88($s5) +.L80240FF4: +/* 889BC4 80240FF4 2402FFFF */ addiu $v0, $zero, -1 +/* 889BC8 80240FF8 AEA20084 */ sw $v0, 0x84($s5) +.L80240FFC: +/* 889BCC 80240FFC 0C00AB4B */ jal heap_free +/* 889BD0 80241000 8EA40078 */ lw $a0, 0x78($s5) +/* 889BD4 80241004 24020002 */ addiu $v0, $zero, 2 +.L80241008: +/* 889BD8 80241008 8FBF003C */ lw $ra, 0x3c($sp) +/* 889BDC 8024100C 8FBE0038 */ lw $fp, 0x38($sp) +/* 889BE0 80241010 8FB70034 */ lw $s7, 0x34($sp) +/* 889BE4 80241014 8FB60030 */ lw $s6, 0x30($sp) +/* 889BE8 80241018 8FB5002C */ lw $s5, 0x2c($sp) +/* 889BEC 8024101C 8FB40028 */ lw $s4, 0x28($sp) +/* 889BF0 80241020 8FB30024 */ lw $s3, 0x24($sp) +/* 889BF4 80241024 8FB20020 */ lw $s2, 0x20($sp) +/* 889BF8 80241028 8FB1001C */ lw $s1, 0x1c($sp) +/* 889BFC 8024102C 8FB00018 */ lw $s0, 0x18($sp) +/* 889C00 80241030 03E00008 */ jr $ra +/* 889C04 80241034 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241038.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241038.s new file mode 100644 index 0000000000..337a6667e8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241038.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241038 +/* 889C08 80241038 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 889C0C 8024103C AFBF0010 */ sw $ra, 0x10($sp) +/* 889C10 80241040 8C82000C */ lw $v0, 0xc($a0) +/* 889C14 80241044 0C0B1EAF */ jal get_variable +/* 889C18 80241048 8C450000 */ lw $a1, ($v0) +/* 889C1C 8024104C 0C03AC5A */ jal func_800EB168 +/* 889C20 80241050 0040202D */ daddu $a0, $v0, $zero +/* 889C24 80241054 8FBF0010 */ lw $ra, 0x10($sp) +/* 889C28 80241058 24020002 */ addiu $v0, $zero, 2 +/* 889C2C 8024105C 03E00008 */ jr $ra +/* 889C30 80241060 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241064.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241064.s new file mode 100644 index 0000000000..d15456edb7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241064.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241064 +/* 889C34 80241064 3C028011 */ lui $v0, 0x8011 +/* 889C38 80241068 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 889C3C 8024106C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 889C40 80241070 AFBF0010 */ sw $ra, 0x10($sp) +/* 889C44 80241074 00021100 */ sll $v0, $v0, 4 +/* 889C48 80241078 3C048009 */ lui $a0, 0x8009 +/* 889C4C 8024107C 00822021 */ addu $a0, $a0, $v0 +/* 889C50 80241080 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 889C54 80241084 0C0496CF */ jal set_message_string +/* 889C58 80241088 0000282D */ daddu $a1, $zero, $zero +/* 889C5C 8024108C 8FBF0010 */ lw $ra, 0x10($sp) +/* 889C60 80241090 24020002 */ addiu $v0, $zero, 2 +/* 889C64 80241094 03E00008 */ jr $ra +/* 889C68 80241098 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_8024109C.s b/asm/nonmatchings/world/area_tik/tik_12/func_8024109C.s new file mode 100644 index 0000000000..f7f7eb474f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_8024109C.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024109C +/* 889C6C 8024109C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 889C70 802410A0 AFB1001C */ sw $s1, 0x1c($sp) +/* 889C74 802410A4 0080882D */ daddu $s1, $a0, $zero +/* 889C78 802410A8 AFBF0020 */ sw $ra, 0x20($sp) +/* 889C7C 802410AC AFB00018 */ sw $s0, 0x18($sp) +/* 889C80 802410B0 8E30000C */ lw $s0, 0xc($s1) +/* 889C84 802410B4 8E050000 */ lw $a1, ($s0) +/* 889C88 802410B8 0C0B1EAF */ jal get_variable +/* 889C8C 802410BC 26100004 */ addiu $s0, $s0, 4 +/* 889C90 802410C0 0C04417A */ jal get_entity_by_index +/* 889C94 802410C4 0040202D */ daddu $a0, $v0, $zero +/* 889C98 802410C8 8E100000 */ lw $s0, ($s0) +/* 889C9C 802410CC C444004C */ lwc1 $f4, 0x4c($v0) +/* 889CA0 802410D0 3C014148 */ lui $at, 0x4148 +/* 889CA4 802410D4 44810000 */ mtc1 $at, $f0 +/* 889CA8 802410D8 3C013F33 */ lui $at, 0x3f33 +/* 889CAC 802410DC 34213333 */ ori $at, $at, 0x3333 +/* 889CB0 802410E0 44811000 */ mtc1 $at, $f2 +/* 889CB4 802410E4 AFA00014 */ sw $zero, 0x14($sp) +/* 889CB8 802410E8 46002100 */ add.s $f4, $f4, $f0 +/* 889CBC 802410EC E7A20010 */ swc1 $f2, 0x10($sp) +/* 889CC0 802410F0 8C450048 */ lw $a1, 0x48($v0) +/* 889CC4 802410F4 8C470050 */ lw $a3, 0x50($v0) +/* 889CC8 802410F8 44062000 */ mfc1 $a2, $f4 +/* 889CCC 802410FC 0C01C5D4 */ jal func_80071750 +/* 889CD0 80241100 0000202D */ daddu $a0, $zero, $zero +/* 889CD4 80241104 0220202D */ daddu $a0, $s1, $zero +/* 889CD8 80241108 0200282D */ daddu $a1, $s0, $zero +/* 889CDC 8024110C 0C0B2026 */ jal set_variable +/* 889CE0 80241110 0040302D */ daddu $a2, $v0, $zero +/* 889CE4 80241114 8FBF0020 */ lw $ra, 0x20($sp) +/* 889CE8 80241118 8FB1001C */ lw $s1, 0x1c($sp) +/* 889CEC 8024111C 8FB00018 */ lw $s0, 0x18($sp) +/* 889CF0 80241120 24020002 */ addiu $v0, $zero, 2 +/* 889CF4 80241124 03E00008 */ jr $ra +/* 889CF8 80241128 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_8024112C.s b/asm/nonmatchings/world/area_tik/tik_12/func_8024112C.s new file mode 100644 index 0000000000..4779ae60fd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_8024112C.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024112C +/* 889CFC 8024112C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 889D00 80241130 AFBF0010 */ sw $ra, 0x10($sp) +/* 889D04 80241134 8C82000C */ lw $v0, 0xc($a0) +/* 889D08 80241138 0C0B1EAF */ jal get_variable +/* 889D0C 8024113C 8C450000 */ lw $a1, ($v0) +/* 889D10 80241140 0040202D */ daddu $a0, $v0, $zero +/* 889D14 80241144 8C830000 */ lw $v1, ($a0) +/* 889D18 80241148 34630010 */ ori $v1, $v1, 0x10 +/* 889D1C 8024114C AC830000 */ sw $v1, ($a0) +/* 889D20 80241150 8FBF0010 */ lw $ra, 0x10($sp) +/* 889D24 80241154 24020002 */ addiu $v0, $zero, 2 +/* 889D28 80241158 03E00008 */ jr $ra +/* 889D2C 8024115C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241160.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241160.s new file mode 100644 index 0000000000..e6f4a33309 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241160.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241160 +/* 889D30 80241160 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 889D34 80241164 AFBF0018 */ sw $ra, 0x18($sp) +/* 889D38 80241168 8C82000C */ lw $v0, 0xc($a0) +/* 889D3C 8024116C 0C0B1EAF */ jal get_variable +/* 889D40 80241170 8C450000 */ lw $a1, ($v0) +/* 889D44 80241174 0C04417A */ jal get_entity_by_index +/* 889D48 80241178 0040202D */ daddu $a0, $v0, $zero +/* 889D4C 8024117C 3C013F80 */ lui $at, 0x3f80 +/* 889D50 80241180 44810000 */ mtc1 $at, $f0 +/* 889D54 80241184 C442004C */ lwc1 $f2, 0x4c($v0) +/* 889D58 80241188 E7A00010 */ swc1 $f0, 0x10($sp) +/* 889D5C 8024118C 3C014148 */ lui $at, 0x4148 +/* 889D60 80241190 44810000 */ mtc1 $at, $f0 +/* 889D64 80241194 2403004B */ addiu $v1, $zero, 0x4b +/* 889D68 80241198 AFA30014 */ sw $v1, 0x14($sp) +/* 889D6C 8024119C 46001080 */ add.s $f2, $f2, $f0 +/* 889D70 802411A0 8C450048 */ lw $a1, 0x48($v0) +/* 889D74 802411A4 8C470050 */ lw $a3, 0x50($v0) +/* 889D78 802411A8 44061000 */ mfc1 $a2, $f2 +/* 889D7C 802411AC 0C01C2EC */ jal func_80070BB0 +/* 889D80 802411B0 24040004 */ addiu $a0, $zero, 4 +/* 889D84 802411B4 8FBF0018 */ lw $ra, 0x18($sp) +/* 889D88 802411B8 24020002 */ addiu $v0, $zero, 2 +/* 889D8C 802411BC 03E00008 */ jr $ra +/* 889D90 802411C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802411C4.s b/asm/nonmatchings/world/area_tik/tik_12/func_802411C4.s new file mode 100644 index 0000000000..910b5a2c88 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802411C4.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411C4 +/* 889D94 802411C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 889D98 802411C8 AFBF0018 */ sw $ra, 0x18($sp) +/* 889D9C 802411CC 0C00EAD2 */ jal get_npc_safe +/* 889DA0 802411D0 2404FFFC */ addiu $a0, $zero, -4 +/* 889DA4 802411D4 C444003C */ lwc1 $f4, 0x3c($v0) +/* 889DA8 802411D8 3C014148 */ lui $at, 0x4148 +/* 889DAC 802411DC 44811000 */ mtc1 $at, $f2 +/* 889DB0 802411E0 3C013F80 */ lui $at, 0x3f80 +/* 889DB4 802411E4 44810000 */ mtc1 $at, $f0 +/* 889DB8 802411E8 2403001E */ addiu $v1, $zero, 0x1e +/* 889DBC 802411EC AFA30014 */ sw $v1, 0x14($sp) +/* 889DC0 802411F0 46022100 */ add.s $f4, $f4, $f2 +/* 889DC4 802411F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 889DC8 802411F8 8C450038 */ lw $a1, 0x38($v0) +/* 889DCC 802411FC 8C470040 */ lw $a3, 0x40($v0) +/* 889DD0 80241200 44062000 */ mfc1 $a2, $f4 +/* 889DD4 80241204 0C01C2EC */ jal func_80070BB0 +/* 889DD8 80241208 24040009 */ addiu $a0, $zero, 9 +/* 889DDC 8024120C 8FBF0018 */ lw $ra, 0x18($sp) +/* 889DE0 80241210 24020002 */ addiu $v0, $zero, 2 +/* 889DE4 80241214 03E00008 */ jr $ra +/* 889DE8 80241218 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_8024121C.s b/asm/nonmatchings/world/area_tik/tik_12/func_8024121C.s new file mode 100644 index 0000000000..37aca49a22 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_8024121C.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024121C +/* 889DEC 8024121C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 889DF0 80241220 AFB60040 */ sw $s6, 0x40($sp) +/* 889DF4 80241224 0080B02D */ daddu $s6, $a0, $zero +/* 889DF8 80241228 AFB00028 */ sw $s0, 0x28($sp) +/* 889DFC 8024122C 00A0802D */ daddu $s0, $a1, $zero +/* 889E00 80241230 AFBF0044 */ sw $ra, 0x44($sp) +/* 889E04 80241234 AFB5003C */ sw $s5, 0x3c($sp) +/* 889E08 80241238 AFB40038 */ sw $s4, 0x38($sp) +/* 889E0C 8024123C AFB30034 */ sw $s3, 0x34($sp) +/* 889E10 80241240 AFB20030 */ sw $s2, 0x30($sp) +/* 889E14 80241244 AFB1002C */ sw $s1, 0x2c($sp) +/* 889E18 80241248 F7B80058 */ sdc1 $f24, 0x58($sp) +/* 889E1C 8024124C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 889E20 80241250 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 889E24 80241254 8ED3000C */ lw $s3, 0xc($s6) +/* 889E28 80241258 0C00EAD2 */ jal get_npc_safe +/* 889E2C 8024125C 2404FFFC */ addiu $a0, $zero, -4 +/* 889E30 80241260 27A50018 */ addiu $a1, $sp, 0x18 +/* 889E34 80241264 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 889E38 80241268 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 889E3C 8024126C 27A6001C */ addiu $a2, $sp, 0x1c +/* 889E40 80241270 00041880 */ sll $v1, $a0, 2 +/* 889E44 80241274 00641821 */ addu $v1, $v1, $a0 +/* 889E48 80241278 00031880 */ sll $v1, $v1, 2 +/* 889E4C 8024127C 00641823 */ subu $v1, $v1, $a0 +/* 889E50 80241280 000320C0 */ sll $a0, $v1, 3 +/* 889E54 80241284 00641821 */ addu $v1, $v1, $a0 +/* 889E58 80241288 000318C0 */ sll $v1, $v1, 3 +/* 889E5C 8024128C 3C01800B */ lui $at, 0x800b +/* 889E60 80241290 00230821 */ addu $at, $at, $v1 +/* 889E64 80241294 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 889E68 80241298 0C00A88D */ jal sin_cos_deg +/* 889E6C 8024129C 0040A82D */ daddu $s5, $v0, $zero +/* 889E70 802412A0 1200005D */ beqz $s0, .L80241418 +/* 889E74 802412A4 00000000 */ nop +/* 889E78 802412A8 0C00AB0A */ jal general_heap_malloc +/* 889E7C 802412AC 24040068 */ addiu $a0, $zero, 0x68 +/* 889E80 802412B0 0040902D */ daddu $s2, $v0, $zero +/* 889E84 802412B4 02C0202D */ daddu $a0, $s6, $zero +/* 889E88 802412B8 0000882D */ daddu $s1, $zero, $zero +/* 889E8C 802412BC 2414FFFF */ addiu $s4, $zero, -1 +/* 889E90 802412C0 AED20060 */ sw $s2, 0x60($s6) +/* 889E94 802412C4 8E650000 */ lw $a1, ($s3) +/* 889E98 802412C8 3C014148 */ lui $at, 0x4148 +/* 889E9C 802412CC 4481C000 */ mtc1 $at, $f24 +/* 889EA0 802412D0 3C013F80 */ lui $at, 0x3f80 +/* 889EA4 802412D4 4481B000 */ mtc1 $at, $f22 +/* 889EA8 802412D8 4480A000 */ mtc1 $zero, $f20 +/* 889EAC 802412DC 0C0B1EAF */ jal get_variable +/* 889EB0 802412E0 0240802D */ daddu $s0, $s2, $zero +/* 889EB4 802412E4 0C04417A */ jal get_entity_by_index +/* 889EB8 802412E8 0040202D */ daddu $a0, $v0, $zero +/* 889EBC 802412EC AE42005C */ sw $v0, 0x5c($s2) +.L802412F0: +/* 889EC0 802412F0 8E42005C */ lw $v0, 0x5c($s2) +/* 889EC4 802412F4 C440004C */ lwc1 $f0, 0x4c($v0) +/* 889EC8 802412F8 0000202D */ daddu $a0, $zero, $zero +/* 889ECC 802412FC E7B60010 */ swc1 $f22, 0x10($sp) +/* 889ED0 80241300 AFB40014 */ sw $s4, 0x14($sp) +/* 889ED4 80241304 46180000 */ add.s $f0, $f0, $f24 +/* 889ED8 80241308 8C450048 */ lw $a1, 0x48($v0) +/* 889EDC 8024130C 8C470050 */ lw $a3, 0x50($v0) +/* 889EE0 80241310 44060000 */ mfc1 $a2, $f0 +/* 889EE4 80241314 0C01C5BC */ jal func_800716F0 +/* 889EE8 80241318 26310001 */ addiu $s1, $s1, 1 +/* 889EEC 8024131C AE020008 */ sw $v0, 8($s0) +/* 889EF0 80241320 E614002C */ swc1 $f20, 0x2c($s0) +/* 889EF4 80241324 E6140020 */ swc1 $f20, 0x20($s0) +/* 889EF8 80241328 E6140014 */ swc1 $f20, 0x14($s0) +/* 889EFC 8024132C E6140050 */ swc1 $f20, 0x50($s0) +/* 889F00 80241330 E6140044 */ swc1 $f20, 0x44($s0) +/* 889F04 80241334 E6140038 */ swc1 $f20, 0x38($s0) +/* 889F08 80241338 2A220003 */ slti $v0, $s1, 3 +/* 889F0C 8024133C 1440FFEC */ bnez $v0, .L802412F0 +/* 889F10 80241340 26100004 */ addiu $s0, $s0, 4 +/* 889F14 80241344 0000882D */ daddu $s1, $zero, $zero +/* 889F18 80241348 0240802D */ daddu $s0, $s2, $zero +/* 889F1C 8024134C 3C148024 */ lui $s4, 0x8024 +/* 889F20 80241350 26943D04 */ addiu $s4, $s4, 0x3d04 +/* 889F24 80241354 3C014248 */ lui $at, 0x4248 +/* 889F28 80241358 4481A000 */ mtc1 $at, $f20 +/* 889F2C 8024135C 24130044 */ addiu $s3, $zero, 0x44 +/* 889F30 80241360 AE400000 */ sw $zero, ($s2) +/* 889F34 80241364 AE400004 */ sw $zero, 4($s2) +/* 889F38 80241368 AE400060 */ sw $zero, 0x60($s2) +/* 889F3C 8024136C AE400064 */ sw $zero, 0x64($s2) +.L80241370: +/* 889F40 80241370 27A40020 */ addiu $a0, $sp, 0x20 +/* 889F44 80241374 4406A000 */ mfc1 $a2, $f20 +/* 889F48 80241378 8E870000 */ lw $a3, ($s4) +/* 889F4C 8024137C 02532821 */ addu $a1, $s2, $s3 +/* 889F50 80241380 0C00A7E7 */ jal add_vec2D_polar +/* 889F54 80241384 AFA00020 */ sw $zero, 0x20($sp) +/* 889F58 80241388 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 889F5C 8024138C C7A40020 */ lwc1 $f4, 0x20($sp) +/* 889F60 80241390 46041082 */ mul.s $f2, $f2, $f4 +/* 889F64 80241394 00000000 */ nop +/* 889F68 80241398 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 889F6C 8024139C 46040002 */ mul.s $f0, $f0, $f4 +/* 889F70 802413A0 00000000 */ nop +/* 889F74 802413A4 E6020038 */ swc1 $f2, 0x38($s0) +/* 889F78 802413A8 E6000050 */ swc1 $f0, 0x50($s0) +/* 889F7C 802413AC 8E42005C */ lw $v0, 0x5c($s2) +/* 889F80 802413B0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 889F84 802413B4 C4420048 */ lwc1 $f2, 0x48($v0) +/* 889F88 802413B8 46001080 */ add.s $f2, $f2, $f0 +/* 889F8C 802413BC C6A00038 */ lwc1 $f0, 0x38($s5) +/* 889F90 802413C0 46020001 */ sub.s $f0, $f0, $f2 +/* 889F94 802413C4 E6000038 */ swc1 $f0, 0x38($s0) +/* 889F98 802413C8 8E42005C */ lw $v0, 0x5c($s2) +/* 889F9C 802413CC C6000044 */ lwc1 $f0, 0x44($s0) +/* 889FA0 802413D0 C442004C */ lwc1 $f2, 0x4c($v0) +/* 889FA4 802413D4 46001080 */ add.s $f2, $f2, $f0 +/* 889FA8 802413D8 C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 889FAC 802413DC 46020001 */ sub.s $f0, $f0, $f2 +/* 889FB0 802413E0 E6000044 */ swc1 $f0, 0x44($s0) +/* 889FB4 802413E4 8E42005C */ lw $v0, 0x5c($s2) +/* 889FB8 802413E8 C6000050 */ lwc1 $f0, 0x50($s0) +/* 889FBC 802413EC C4420050 */ lwc1 $f2, 0x50($v0) +/* 889FC0 802413F0 26940004 */ addiu $s4, $s4, 4 +/* 889FC4 802413F4 46001080 */ add.s $f2, $f2, $f0 +/* 889FC8 802413F8 C6A00040 */ lwc1 $f0, 0x40($s5) +/* 889FCC 802413FC 26730004 */ addiu $s3, $s3, 4 +/* 889FD0 80241400 46020001 */ sub.s $f0, $f0, $f2 +/* 889FD4 80241404 26310001 */ addiu $s1, $s1, 1 +/* 889FD8 80241408 2A220003 */ slti $v0, $s1, 3 +/* 889FDC 8024140C E6000050 */ swc1 $f0, 0x50($s0) +/* 889FE0 80241410 1440FFD7 */ bnez $v0, .L80241370 +/* 889FE4 80241414 26100004 */ addiu $s0, $s0, 4 +.L80241418: +/* 889FE8 80241418 8ED20060 */ lw $s2, 0x60($s6) +/* 889FEC 8024141C 8E430000 */ lw $v1, ($s2) +/* 889FF0 80241420 24020001 */ addiu $v0, $zero, 1 +/* 889FF4 80241424 10620038 */ beq $v1, $v0, .L80241508 +/* 889FF8 80241428 28620002 */ slti $v0, $v1, 2 +/* 889FFC 8024142C 50400005 */ beql $v0, $zero, .L80241444 +/* 88A000 80241430 24020002 */ addiu $v0, $zero, 2 +/* 88A004 80241434 10600007 */ beqz $v1, .L80241454 +/* 88A008 80241438 24040005 */ addiu $a0, $zero, 5 +/* 88A00C 8024143C 0809057B */ j .L802415EC +/* 88A010 80241440 00000000 */ nop +.L80241444: +/* 88A014 80241444 10620058 */ beq $v1, $v0, .L802415A8 +/* 88A018 80241448 00000000 */ nop +/* 88A01C 8024144C 0809057B */ j .L802415EC +/* 88A020 80241450 00000000 */ nop +.L80241454: +/* 88A024 80241454 0000882D */ daddu $s1, $zero, $zero +/* 88A028 80241458 3C148024 */ lui $s4, 0x8024 +/* 88A02C 8024145C 26943D04 */ addiu $s4, $s4, 0x3d04 +/* 88A030 80241460 24130020 */ addiu $s3, $zero, 0x20 +/* 88A034 80241464 3C064248 */ lui $a2, 0x4248 +/* 88A038 80241468 44800000 */ mtc1 $zero, $f0 +/* 88A03C 8024146C 24020014 */ addiu $v0, $zero, 0x14 +/* 88A040 80241470 AFA20010 */ sw $v0, 0x10($sp) +/* 88A044 80241474 44050000 */ mfc1 $a1, $f0 +/* 88A048 80241478 8E470060 */ lw $a3, 0x60($s2) +/* 88A04C 8024147C 4485B000 */ mtc1 $a1, $f22 +/* 88A050 80241480 0C00A8ED */ jal update_lerp +/* 88A054 80241484 0240802D */ daddu $s0, $s2, $zero +/* 88A058 80241488 46000506 */ mov.s $f20, $f0 +.L8024148C: +/* 88A05C 8024148C 4406A000 */ mfc1 $a2, $f20 +/* 88A060 80241490 27A40020 */ addiu $a0, $sp, 0x20 +/* 88A064 80241494 E6160020 */ swc1 $f22, 0x20($s0) +/* 88A068 80241498 8E870000 */ lw $a3, ($s4) +/* 88A06C 8024149C 02532821 */ addu $a1, $s2, $s3 +/* 88A070 802414A0 0C00A7E7 */ jal add_vec2D_polar +/* 88A074 802414A4 E7B60020 */ swc1 $f22, 0x20($sp) +/* 88A078 802414A8 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 88A07C 802414AC C7A00020 */ lwc1 $f0, 0x20($sp) +/* 88A080 802414B0 46002102 */ mul.s $f4, $f4, $f0 +/* 88A084 802414B4 00000000 */ nop +/* 88A088 802414B8 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 88A08C 802414BC 26940004 */ addiu $s4, $s4, 4 +/* 88A090 802414C0 46001082 */ mul.s $f2, $f2, $f0 +/* 88A094 802414C4 00000000 */ nop +/* 88A098 802414C8 26730004 */ addiu $s3, $s3, 4 +/* 88A09C 802414CC 26310001 */ addiu $s1, $s1, 1 +/* 88A0A0 802414D0 2A220003 */ slti $v0, $s1, 3 +/* 88A0A4 802414D4 E6040014 */ swc1 $f4, 0x14($s0) +/* 88A0A8 802414D8 E602002C */ swc1 $f2, 0x2c($s0) +/* 88A0AC 802414DC 1440FFEB */ bnez $v0, .L8024148C +/* 88A0B0 802414E0 26100004 */ addiu $s0, $s0, 4 +/* 88A0B4 802414E4 8E420060 */ lw $v0, 0x60($s2) +/* 88A0B8 802414E8 24420001 */ addiu $v0, $v0, 1 +/* 88A0BC 802414EC AE420060 */ sw $v0, 0x60($s2) +/* 88A0C0 802414F0 28420015 */ slti $v0, $v0, 0x15 +/* 88A0C4 802414F4 1440003D */ bnez $v0, .L802415EC +/* 88A0C8 802414F8 24020001 */ addiu $v0, $zero, 1 +/* 88A0CC 802414FC AE420000 */ sw $v0, ($s2) +/* 88A0D0 80241500 0809057B */ j .L802415EC +/* 88A0D4 80241504 AE400060 */ sw $zero, 0x60($s2) +.L80241508: +/* 88A0D8 80241508 0000882D */ daddu $s1, $zero, $zero +/* 88A0DC 8024150C 3C148024 */ lui $s4, 0x8024 +/* 88A0E0 80241510 26943D04 */ addiu $s4, $s4, 0x3d04 +/* 88A0E4 80241514 24130020 */ addiu $s3, $zero, 0x20 +/* 88A0E8 80241518 0240802D */ daddu $s0, $s2, $zero +/* 88A0EC 8024151C 3C014248 */ lui $at, 0x4248 +/* 88A0F0 80241520 4481A000 */ mtc1 $at, $f20 +/* 88A0F4 80241524 4480B000 */ mtc1 $zero, $f22 +.L80241528: +/* 88A0F8 80241528 4406A000 */ mfc1 $a2, $f20 +/* 88A0FC 8024152C 27A40020 */ addiu $a0, $sp, 0x20 +/* 88A100 80241530 E6160020 */ swc1 $f22, 0x20($s0) +/* 88A104 80241534 8E870000 */ lw $a3, ($s4) +/* 88A108 80241538 02532821 */ addu $a1, $s2, $s3 +/* 88A10C 8024153C 0C00A7E7 */ jal add_vec2D_polar +/* 88A110 80241540 E7B60020 */ swc1 $f22, 0x20($sp) +/* 88A114 80241544 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 88A118 80241548 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 88A11C 8024154C 46002102 */ mul.s $f4, $f4, $f0 +/* 88A120 80241550 00000000 */ nop +/* 88A124 80241554 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 88A128 80241558 26940004 */ addiu $s4, $s4, 4 +/* 88A12C 8024155C 46001082 */ mul.s $f2, $f2, $f0 +/* 88A130 80241560 00000000 */ nop +/* 88A134 80241564 26730004 */ addiu $s3, $s3, 4 +/* 88A138 80241568 26310001 */ addiu $s1, $s1, 1 +/* 88A13C 8024156C 2A220003 */ slti $v0, $s1, 3 +/* 88A140 80241570 E6040014 */ swc1 $f4, 0x14($s0) +/* 88A144 80241574 E602002C */ swc1 $f2, 0x2c($s0) +/* 88A148 80241578 1440FFEB */ bnez $v0, .L80241528 +/* 88A14C 8024157C 26100004 */ addiu $s0, $s0, 4 +/* 88A150 80241580 8E420060 */ lw $v0, 0x60($s2) +/* 88A154 80241584 24420001 */ addiu $v0, $v0, 1 +/* 88A158 80241588 AE420060 */ sw $v0, 0x60($s2) +/* 88A15C 8024158C 28420010 */ slti $v0, $v0, 0x10 +/* 88A160 80241590 14400016 */ bnez $v0, .L802415EC +/* 88A164 80241594 2402000F */ addiu $v0, $zero, 0xf +/* 88A168 80241598 AE420060 */ sw $v0, 0x60($s2) +/* 88A16C 8024159C 24020002 */ addiu $v0, $zero, 2 +/* 88A170 802415A0 0809057B */ j .L802415EC +/* 88A174 802415A4 AE420000 */ sw $v0, ($s2) +.L802415A8: +/* 88A178 802415A8 8E420060 */ lw $v0, 0x60($s2) +/* 88A17C 802415AC 24420001 */ addiu $v0, $v0, 1 +/* 88A180 802415B0 AE420060 */ sw $v0, 0x60($s2) +/* 88A184 802415B4 2842001F */ slti $v0, $v0, 0x1f +/* 88A188 802415B8 1440000C */ bnez $v0, .L802415EC +/* 88A18C 802415BC 0000882D */ daddu $s1, $zero, $zero +/* 88A190 802415C0 0240282D */ daddu $a1, $s2, $zero +.L802415C4: +/* 88A194 802415C4 8CA20008 */ lw $v0, 8($a1) +/* 88A198 802415C8 8C430000 */ lw $v1, ($v0) +/* 88A19C 802415CC 26310001 */ addiu $s1, $s1, 1 +/* 88A1A0 802415D0 34630010 */ ori $v1, $v1, 0x10 +/* 88A1A4 802415D4 AC430000 */ sw $v1, ($v0) +/* 88A1A8 802415D8 2A220003 */ slti $v0, $s1, 3 +/* 88A1AC 802415DC 1440FFF9 */ bnez $v0, .L802415C4 +/* 88A1B0 802415E0 24A50004 */ addiu $a1, $a1, 4 +/* 88A1B4 802415E4 080905C8 */ j .L80241720 +/* 88A1B8 802415E8 24020002 */ addiu $v0, $zero, 2 +.L802415EC: +/* 88A1BC 802415EC 8E430004 */ lw $v1, 4($s2) +/* 88A1C0 802415F0 10600005 */ beqz $v1, .L80241608 +/* 88A1C4 802415F4 24020001 */ addiu $v0, $zero, 1 +/* 88A1C8 802415F8 1062000B */ beq $v1, $v0, .L80241628 +/* 88A1CC 802415FC 0000882D */ daddu $s1, $zero, $zero +/* 88A1D0 80241600 080905B7 */ j .L802416DC +/* 88A1D4 80241604 0240282D */ daddu $a1, $s2, $zero +.L80241608: +/* 88A1D8 80241608 8E420064 */ lw $v0, 0x64($s2) +/* 88A1DC 8024160C 24420001 */ addiu $v0, $v0, 1 +/* 88A1E0 80241610 AE420064 */ sw $v0, 0x64($s2) +/* 88A1E4 80241614 28420010 */ slti $v0, $v0, 0x10 +/* 88A1E8 80241618 1440002F */ bnez $v0, .L802416D8 +/* 88A1EC 8024161C 0000882D */ daddu $s1, $zero, $zero +/* 88A1F0 80241620 080905B3 */ j .L802416CC +/* 88A1F4 80241624 24020001 */ addiu $v0, $zero, 1 +.L80241628: +/* 88A1F8 80241628 4480A000 */ mtc1 $zero, $f20 +/* 88A1FC 8024162C 24130014 */ addiu $s3, $zero, 0x14 +/* 88A200 80241630 0240802D */ daddu $s0, $s2, $zero +.L80241634: +/* 88A204 80241634 4405A000 */ mfc1 $a1, $f20 +/* 88A208 80241638 AFB30010 */ sw $s3, 0x10($sp) +/* 88A20C 8024163C 8E060038 */ lw $a2, 0x38($s0) +/* 88A210 80241640 8E470064 */ lw $a3, 0x64($s2) +/* 88A214 80241644 0C00A8ED */ jal update_lerp +/* 88A218 80241648 24040001 */ addiu $a0, $zero, 1 +/* 88A21C 8024164C C6020014 */ lwc1 $f2, 0x14($s0) +/* 88A220 80241650 46001080 */ add.s $f2, $f2, $f0 +/* 88A224 80241654 4405A000 */ mfc1 $a1, $f20 +/* 88A228 80241658 E6020014 */ swc1 $f2, 0x14($s0) +/* 88A22C 8024165C AFB30010 */ sw $s3, 0x10($sp) +/* 88A230 80241660 8E060044 */ lw $a2, 0x44($s0) +/* 88A234 80241664 8E470064 */ lw $a3, 0x64($s2) +/* 88A238 80241668 0C00A8ED */ jal update_lerp +/* 88A23C 8024166C 24040001 */ addiu $a0, $zero, 1 +/* 88A240 80241670 C6020020 */ lwc1 $f2, 0x20($s0) +/* 88A244 80241674 46001080 */ add.s $f2, $f2, $f0 +/* 88A248 80241678 4405A000 */ mfc1 $a1, $f20 +/* 88A24C 8024167C E6020020 */ swc1 $f2, 0x20($s0) +/* 88A250 80241680 AFB30010 */ sw $s3, 0x10($sp) +/* 88A254 80241684 8E060050 */ lw $a2, 0x50($s0) +/* 88A258 80241688 8E470064 */ lw $a3, 0x64($s2) +/* 88A25C 8024168C 0C00A8ED */ jal update_lerp +/* 88A260 80241690 24040001 */ addiu $a0, $zero, 1 +/* 88A264 80241694 C602002C */ lwc1 $f2, 0x2c($s0) +/* 88A268 80241698 46001080 */ add.s $f2, $f2, $f0 +/* 88A26C 8024169C 26310001 */ addiu $s1, $s1, 1 +/* 88A270 802416A0 2A220003 */ slti $v0, $s1, 3 +/* 88A274 802416A4 E602002C */ swc1 $f2, 0x2c($s0) +/* 88A278 802416A8 1440FFE2 */ bnez $v0, .L80241634 +/* 88A27C 802416AC 26100004 */ addiu $s0, $s0, 4 +/* 88A280 802416B0 8E420064 */ lw $v0, 0x64($s2) +/* 88A284 802416B4 24420001 */ addiu $v0, $v0, 1 +/* 88A288 802416B8 AE420064 */ sw $v0, 0x64($s2) +/* 88A28C 802416BC 28420015 */ slti $v0, $v0, 0x15 +/* 88A290 802416C0 14400005 */ bnez $v0, .L802416D8 +/* 88A294 802416C4 0000882D */ daddu $s1, $zero, $zero +/* 88A298 802416C8 24020002 */ addiu $v0, $zero, 2 +.L802416CC: +/* 88A29C 802416CC AE420004 */ sw $v0, 4($s2) +/* 88A2A0 802416D0 AE400064 */ sw $zero, 0x64($s2) +/* 88A2A4 802416D4 0000882D */ daddu $s1, $zero, $zero +.L802416D8: +/* 88A2A8 802416D8 0240282D */ daddu $a1, $s2, $zero +.L802416DC: +/* 88A2AC 802416DC 8CA20008 */ lw $v0, 8($a1) +/* 88A2B0 802416E0 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 88A2B4 802416E4 8C42000C */ lw $v0, 0xc($v0) +/* 88A2B8 802416E8 E4400010 */ swc1 $f0, 0x10($v0) +/* 88A2BC 802416EC 8CA20008 */ lw $v0, 8($a1) +/* 88A2C0 802416F0 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 88A2C4 802416F4 8C42000C */ lw $v0, 0xc($v0) +/* 88A2C8 802416F8 26310001 */ addiu $s1, $s1, 1 +/* 88A2CC 802416FC E4400014 */ swc1 $f0, 0x14($v0) +/* 88A2D0 80241700 8CA20008 */ lw $v0, 8($a1) +/* 88A2D4 80241704 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 88A2D8 80241708 8C42000C */ lw $v0, 0xc($v0) +/* 88A2DC 8024170C E4400018 */ swc1 $f0, 0x18($v0) +/* 88A2E0 80241710 2A220003 */ slti $v0, $s1, 3 +/* 88A2E4 80241714 1440FFF1 */ bnez $v0, .L802416DC +/* 88A2E8 80241718 24A50004 */ addiu $a1, $a1, 4 +/* 88A2EC 8024171C 0000102D */ daddu $v0, $zero, $zero +.L80241720: +/* 88A2F0 80241720 8FBF0044 */ lw $ra, 0x44($sp) +/* 88A2F4 80241724 8FB60040 */ lw $s6, 0x40($sp) +/* 88A2F8 80241728 8FB5003C */ lw $s5, 0x3c($sp) +/* 88A2FC 8024172C 8FB40038 */ lw $s4, 0x38($sp) +/* 88A300 80241730 8FB30034 */ lw $s3, 0x34($sp) +/* 88A304 80241734 8FB20030 */ lw $s2, 0x30($sp) +/* 88A308 80241738 8FB1002C */ lw $s1, 0x2c($sp) +/* 88A30C 8024173C 8FB00028 */ lw $s0, 0x28($sp) +/* 88A310 80241740 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 88A314 80241744 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 88A318 80241748 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 88A31C 8024174C 03E00008 */ jr $ra +/* 88A320 80241750 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241754.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241754.s new file mode 100644 index 0000000000..9e8c8e617f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241754.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241754 +/* 88A324 80241754 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88A328 80241758 AFB10014 */ sw $s1, 0x14($sp) +/* 88A32C 8024175C 0080882D */ daddu $s1, $a0, $zero +/* 88A330 80241760 AFB20018 */ sw $s2, 0x18($sp) +/* 88A334 80241764 AFBF001C */ sw $ra, 0x1c($sp) +/* 88A338 80241768 AFB00010 */ sw $s0, 0x10($sp) +/* 88A33C 8024176C 8E30000C */ lw $s0, 0xc($s1) +/* 88A340 80241770 10A00010 */ beqz $a1, .L802417B4 +/* 88A344 80241774 0000902D */ daddu $s2, $zero, $zero +/* 88A348 80241778 8E050000 */ lw $a1, ($s0) +/* 88A34C 8024177C 0C0B1EAF */ jal get_variable +/* 88A350 80241780 26100004 */ addiu $s0, $s0, 4 +/* 88A354 80241784 AE220084 */ sw $v0, 0x84($s1) +/* 88A358 80241788 8E050000 */ lw $a1, ($s0) +/* 88A35C 8024178C 0C0B1EAF */ jal get_variable +/* 88A360 80241790 0220202D */ daddu $a0, $s1, $zero +/* 88A364 80241794 0240202D */ daddu $a0, $s2, $zero +/* 88A368 80241798 240500D0 */ addiu $a1, $zero, 0xd0 +/* 88A36C 8024179C 00A0302D */ daddu $a2, $a1, $zero +/* 88A370 802417A0 00A0382D */ daddu $a3, $a1, $zero +/* 88A374 802417A4 AE220088 */ sw $v0, 0x88($s1) +/* 88A378 802417A8 AE200070 */ sw $zero, 0x70($s1) +/* 88A37C 802417AC 0C04DF84 */ jal func_80137E10 +/* 88A380 802417B0 AE200074 */ sw $zero, 0x74($s1) +.L802417B4: +/* 88A384 802417B4 8E230070 */ lw $v1, 0x70($s1) +/* 88A388 802417B8 24040001 */ addiu $a0, $zero, 1 +/* 88A38C 802417BC 10640019 */ beq $v1, $a0, .L80241824 +/* 88A390 802417C0 28620002 */ slti $v0, $v1, 2 +/* 88A394 802417C4 10400005 */ beqz $v0, .L802417DC +/* 88A398 802417C8 24020002 */ addiu $v0, $zero, 2 +/* 88A39C 802417CC 10600007 */ beqz $v1, .L802417EC +/* 88A3A0 802417D0 240500FF */ addiu $a1, $zero, 0xff +/* 88A3A4 802417D4 08090619 */ j .L80241864 +/* 88A3A8 802417D8 00000000 */ nop +.L802417DC: +/* 88A3AC 802417DC 10620019 */ beq $v1, $v0, .L80241844 +/* 88A3B0 802417E0 00000000 */ nop +/* 88A3B4 802417E4 08090619 */ j .L80241864 +/* 88A3B8 802417E8 00000000 */ nop +.L802417EC: +/* 88A3BC 802417EC 8E220074 */ lw $v0, 0x74($s1) +/* 88A3C0 802417F0 14450004 */ bne $v0, $a1, .L80241804 +/* 88A3C4 802417F4 00000000 */ nop +/* 88A3C8 802417F8 AE240070 */ sw $a0, 0x70($s1) +/* 88A3CC 802417FC AE200078 */ sw $zero, 0x78($s1) +/* 88A3D0 80241800 8E220074 */ lw $v0, 0x74($s1) +.L80241804: +/* 88A3D4 80241804 8E230084 */ lw $v1, 0x84($s1) +/* 88A3D8 80241808 00431021 */ addu $v0, $v0, $v1 +/* 88A3DC 8024180C AE220074 */ sw $v0, 0x74($s1) +/* 88A3E0 80241810 28420100 */ slti $v0, $v0, 0x100 +/* 88A3E4 80241814 50400013 */ beql $v0, $zero, .L80241864 +/* 88A3E8 80241818 AE250074 */ sw $a1, 0x74($s1) +/* 88A3EC 8024181C 08090619 */ j .L80241864 +/* 88A3F0 80241820 00000000 */ nop +.L80241824: +/* 88A3F4 80241824 8E220078 */ lw $v0, 0x78($s1) +/* 88A3F8 80241828 24420001 */ addiu $v0, $v0, 1 +/* 88A3FC 8024182C AE220078 */ sw $v0, 0x78($s1) +/* 88A400 80241830 28420002 */ slti $v0, $v0, 2 +/* 88A404 80241834 1440000B */ bnez $v0, .L80241864 +/* 88A408 80241838 24020002 */ addiu $v0, $zero, 2 +/* 88A40C 8024183C 08090619 */ j .L80241864 +/* 88A410 80241840 AE220070 */ sw $v0, 0x70($s1) +.L80241844: +/* 88A414 80241844 8E230074 */ lw $v1, 0x74($s1) +/* 88A418 80241848 50600001 */ beql $v1, $zero, .L80241850 +/* 88A41C 8024184C 24120001 */ addiu $s2, $zero, 1 +.L80241850: +/* 88A420 80241850 8E220088 */ lw $v0, 0x88($s1) +/* 88A424 80241854 00621023 */ subu $v0, $v1, $v0 +/* 88A428 80241858 04410002 */ bgez $v0, .L80241864 +/* 88A42C 8024185C AE220074 */ sw $v0, 0x74($s1) +/* 88A430 80241860 AE200074 */ sw $zero, 0x74($s1) +.L80241864: +/* 88A434 80241864 C6200074 */ lwc1 $f0, 0x74($s1) +/* 88A438 80241868 46800020 */ cvt.s.w $f0, $f0 +/* 88A43C 8024186C 44050000 */ mfc1 $a1, $f0 +/* 88A440 80241870 0C04DF62 */ jal func_80137D88 +/* 88A444 80241874 24040001 */ addiu $a0, $zero, 1 +/* 88A448 80241878 0240102D */ daddu $v0, $s2, $zero +/* 88A44C 8024187C 8FBF001C */ lw $ra, 0x1c($sp) +/* 88A450 80241880 8FB20018 */ lw $s2, 0x18($sp) +/* 88A454 80241884 8FB10014 */ lw $s1, 0x14($sp) +/* 88A458 80241888 8FB00010 */ lw $s0, 0x10($sp) +/* 88A45C 8024188C 03E00008 */ jr $ra +/* 88A460 80241890 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241894.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241894.s new file mode 100644 index 0000000000..6e89bf945a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241894.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241894 +/* 88A464 80241894 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88A468 80241898 AFBF0018 */ sw $ra, 0x18($sp) +/* 88A46C 8024189C 0C00EAD2 */ jal get_npc_safe +/* 88A470 802418A0 2404FFFC */ addiu $a0, $zero, -4 +/* 88A474 802418A4 3C0141F0 */ lui $at, 0x41f0 +/* 88A478 802418A8 44810000 */ mtc1 $at, $f0 +/* 88A47C 802418AC C442003C */ lwc1 $f2, 0x3c($v0) +/* 88A480 802418B0 46001080 */ add.s $f2, $f2, $f0 +/* 88A484 802418B4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 88A488 802418B8 8C450038 */ lw $a1, 0x38($v0) +/* 88A48C 802418BC 8C470040 */ lw $a3, 0x40($v0) +/* 88A490 802418C0 44061000 */ mfc1 $a2, $f2 +/* 88A494 802418C4 0C01BFBC */ jal func_8006FEF0 +/* 88A498 802418C8 24040002 */ addiu $a0, $zero, 2 +/* 88A49C 802418CC 8FBF0018 */ lw $ra, 0x18($sp) +/* 88A4A0 802418D0 24020002 */ addiu $v0, $zero, 2 +/* 88A4A4 802418D4 03E00008 */ jr $ra +/* 88A4A8 802418D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802418DC.s b/asm/nonmatchings/world/area_tik/tik_12/func_802418DC.s new file mode 100644 index 0000000000..018ebb2e9a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802418DC.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418DC +/* 88A4AC 802418DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88A4B0 802418E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 88A4B4 802418E4 0C00EAD2 */ jal get_npc_safe +/* 88A4B8 802418E8 2404FFFC */ addiu $a0, $zero, -4 +/* 88A4BC 802418EC 3C0141F0 */ lui $at, 0x41f0 +/* 88A4C0 802418F0 44810000 */ mtc1 $at, $f0 +/* 88A4C4 802418F4 C442003C */ lwc1 $f2, 0x3c($v0) +/* 88A4C8 802418F8 46001080 */ add.s $f2, $f2, $f0 +/* 88A4CC 802418FC E7A00010 */ swc1 $f0, 0x10($sp) +/* 88A4D0 80241900 8C450038 */ lw $a1, 0x38($v0) +/* 88A4D4 80241904 8C470040 */ lw $a3, 0x40($v0) +/* 88A4D8 80241908 44061000 */ mfc1 $a2, $f2 +/* 88A4DC 8024190C 0C01BFBC */ jal func_8006FEF0 +/* 88A4E0 80241910 24040004 */ addiu $a0, $zero, 4 +/* 88A4E4 80241914 8FBF0018 */ lw $ra, 0x18($sp) +/* 88A4E8 80241918 24020002 */ addiu $v0, $zero, 2 +/* 88A4EC 8024191C 03E00008 */ jr $ra +/* 88A4F0 80241920 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241924.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241924.s new file mode 100644 index 0000000000..acca272266 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241924.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241924 +/* 88A4F4 80241924 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 88A4F8 80241928 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 88A4FC 8024192C AC800084 */ sw $zero, 0x84($a0) +/* 88A500 80241930 80620000 */ lb $v0, ($v1) +/* 88A504 80241934 10400005 */ beqz $v0, .L8024194C +/* 88A508 80241938 24020003 */ addiu $v0, $zero, 3 +/* 88A50C 8024193C 80630003 */ lb $v1, 3($v1) +/* 88A510 80241940 14620002 */ bne $v1, $v0, .L8024194C +/* 88A514 80241944 24020001 */ addiu $v0, $zero, 1 +/* 88A518 80241948 AC820084 */ sw $v0, 0x84($a0) +.L8024194C: +/* 88A51C 8024194C 03E00008 */ jr $ra +/* 88A520 80241950 24020002 */ addiu $v0, $zero, 2 +/* 88A524 80241954 00000000 */ nop +/* 88A528 80241958 00000000 */ nop +/* 88A52C 8024195C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241960.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241960.s new file mode 100644 index 0000000000..decaf031f9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241960.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241960 +/* 88A530 80241960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88A534 80241964 AFB20018 */ sw $s2, 0x18($sp) +/* 88A538 80241968 0080902D */ daddu $s2, $a0, $zero +/* 88A53C 8024196C AFBF001C */ sw $ra, 0x1c($sp) +/* 88A540 80241970 AFB10014 */ sw $s1, 0x14($sp) +/* 88A544 80241974 AFB00010 */ sw $s0, 0x10($sp) +/* 88A548 80241978 8E510148 */ lw $s1, 0x148($s2) +/* 88A54C 8024197C 0C00EABB */ jal get_npc_unsafe +/* 88A550 80241980 86240008 */ lh $a0, 8($s1) +/* 88A554 80241984 0040802D */ daddu $s0, $v0, $zero +/* 88A558 80241988 8E2300CC */ lw $v1, 0xcc($s1) +/* 88A55C 8024198C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 88A560 80241990 8C630020 */ lw $v1, 0x20($v1) +/* 88A564 80241994 AE030028 */ sw $v1, 0x28($s0) +/* 88A568 80241998 96220076 */ lhu $v0, 0x76($s1) +/* 88A56C 8024199C A602008E */ sh $v0, 0x8e($s0) +/* 88A570 802419A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 88A574 802419A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 88A578 802419A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 88A57C 802419AC 8C460028 */ lw $a2, 0x28($v0) +/* 88A580 802419B0 0C00A720 */ jal atan2 +/* 88A584 802419B4 8C470030 */ lw $a3, 0x30($v0) +/* 88A588 802419B8 2402000D */ addiu $v0, $zero, 0xd +/* 88A58C 802419BC E600000C */ swc1 $f0, 0xc($s0) +/* 88A590 802419C0 AE420070 */ sw $v0, 0x70($s2) +/* 88A594 802419C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 88A598 802419C8 8FB20018 */ lw $s2, 0x18($sp) +/* 88A59C 802419CC 8FB10014 */ lw $s1, 0x14($sp) +/* 88A5A0 802419D0 8FB00010 */ lw $s0, 0x10($sp) +/* 88A5A4 802419D4 03E00008 */ jr $ra +/* 88A5A8 802419D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802419DC.s b/asm/nonmatchings/world/area_tik/tik_12/func_802419DC.s new file mode 100644 index 0000000000..6fc402243c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802419DC.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802419DC +/* 88A5AC 802419DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 88A5B0 802419E0 AFB3001C */ sw $s3, 0x1c($sp) +/* 88A5B4 802419E4 0080982D */ daddu $s3, $a0, $zero +/* 88A5B8 802419E8 AFBF0020 */ sw $ra, 0x20($sp) +/* 88A5BC 802419EC AFB20018 */ sw $s2, 0x18($sp) +/* 88A5C0 802419F0 AFB10014 */ sw $s1, 0x14($sp) +/* 88A5C4 802419F4 AFB00010 */ sw $s0, 0x10($sp) +/* 88A5C8 802419F8 8E710148 */ lw $s1, 0x148($s3) +/* 88A5CC 802419FC 86240008 */ lh $a0, 8($s1) +/* 88A5D0 80241A00 0C00EABB */ jal get_npc_unsafe +/* 88A5D4 80241A04 00A0902D */ daddu $s2, $a1, $zero +/* 88A5D8 80241A08 0040802D */ daddu $s0, $v0, $zero +/* 88A5DC 80241A0C 8602008E */ lh $v0, 0x8e($s0) +/* 88A5E0 80241A10 9603008E */ lhu $v1, 0x8e($s0) +/* 88A5E4 80241A14 18400005 */ blez $v0, .L80241A2C +/* 88A5E8 80241A18 2462FFFF */ addiu $v0, $v1, -1 +/* 88A5EC 80241A1C A602008E */ sh $v0, 0x8e($s0) +/* 88A5F0 80241A20 00021400 */ sll $v0, $v0, 0x10 +/* 88A5F4 80241A24 1C400033 */ bgtz $v0, .L80241AF4 +/* 88A5F8 80241A28 00000000 */ nop +.L80241A2C: +/* 88A5FC 80241A2C 8602008C */ lh $v0, 0x8c($s0) +/* 88A600 80241A30 14400030 */ bnez $v0, .L80241AF4 +/* 88A604 80241A34 00000000 */ nop +/* 88A608 80241A38 8E2200CC */ lw $v0, 0xcc($s1) +/* 88A60C 80241A3C 8C420024 */ lw $v0, 0x24($v0) +/* 88A610 80241A40 AE020028 */ sw $v0, 0x28($s0) +/* 88A614 80241A44 C6400018 */ lwc1 $f0, 0x18($s2) +/* 88A618 80241A48 E6000018 */ swc1 $f0, 0x18($s0) +/* 88A61C 80241A4C 8E230088 */ lw $v1, 0x88($s1) +/* 88A620 80241A50 24020005 */ addiu $v0, $zero, 5 +/* 88A624 80241A54 10620005 */ beq $v1, $v0, .L80241A6C +/* 88A628 80241A58 00000000 */ nop +/* 88A62C 80241A5C 10600003 */ beqz $v1, .L80241A6C +/* 88A630 80241A60 24020001 */ addiu $v0, $zero, 1 +/* 88A634 80241A64 14620006 */ bne $v1, $v0, .L80241A80 +/* 88A638 80241A68 00000000 */ nop +.L80241A6C: +/* 88A63C 80241A6C 8E220084 */ lw $v0, 0x84($s1) +/* 88A640 80241A70 00021FC2 */ srl $v1, $v0, 0x1f +/* 88A644 80241A74 00431021 */ addu $v0, $v0, $v1 +/* 88A648 80241A78 00021043 */ sra $v0, $v0, 1 +/* 88A64C 80241A7C A60200A8 */ sh $v0, 0xa8($s0) +.L80241A80: +/* 88A650 80241A80 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 88A654 80241A84 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 88A658 80241A88 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 88A65C 80241A8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 88A660 80241A90 8C460028 */ lw $a2, 0x28($v0) +/* 88A664 80241A94 0C00A7B5 */ jal dist2D +/* 88A668 80241A98 8C470030 */ lw $a3, 0x30($v0) +/* 88A66C 80241A9C C6020018 */ lwc1 $f2, 0x18($s0) +/* 88A670 80241AA0 46020003 */ div.s $f0, $f0, $f2 +/* 88A674 80241AA4 3C018024 */ lui $at, 0x8024 +/* 88A678 80241AA8 D42249D0 */ ldc1 $f2, 0x49d0($at) +/* 88A67C 80241AAC 46000021 */ cvt.d.s $f0, $f0 +/* 88A680 80241AB0 46220000 */ add.d $f0, $f0, $f2 +/* 88A684 80241AB4 4620010D */ trunc.w.d $f4, $f0 +/* 88A688 80241AB8 44022000 */ mfc1 $v0, $f4 +/* 88A68C 80241ABC 00000000 */ nop +/* 88A690 80241AC0 A602008E */ sh $v0, 0x8e($s0) +/* 88A694 80241AC4 00021400 */ sll $v0, $v0, 0x10 +/* 88A698 80241AC8 8E230078 */ lw $v1, 0x78($s1) +/* 88A69C 80241ACC 00021403 */ sra $v0, $v0, 0x10 +/* 88A6A0 80241AD0 0043102A */ slt $v0, $v0, $v1 +/* 88A6A4 80241AD4 10400003 */ beqz $v0, .L80241AE4 +/* 88A6A8 80241AD8 00000000 */ nop +/* 88A6AC 80241ADC 9622007A */ lhu $v0, 0x7a($s1) +/* 88A6B0 80241AE0 A602008E */ sh $v0, 0x8e($s0) +.L80241AE4: +/* 88A6B4 80241AE4 8602008E */ lh $v0, 0x8e($s0) +/* 88A6B8 80241AE8 AE22007C */ sw $v0, 0x7c($s1) +/* 88A6BC 80241AEC 2402000E */ addiu $v0, $zero, 0xe +/* 88A6C0 80241AF0 AE620070 */ sw $v0, 0x70($s3) +.L80241AF4: +/* 88A6C4 80241AF4 8FBF0020 */ lw $ra, 0x20($sp) +/* 88A6C8 80241AF8 8FB3001C */ lw $s3, 0x1c($sp) +/* 88A6CC 80241AFC 8FB20018 */ lw $s2, 0x18($sp) +/* 88A6D0 80241B00 8FB10014 */ lw $s1, 0x14($sp) +/* 88A6D4 80241B04 8FB00010 */ lw $s0, 0x10($sp) +/* 88A6D8 80241B08 03E00008 */ jr $ra +/* 88A6DC 80241B0C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241B10.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241B10.s new file mode 100644 index 0000000000..7617913f94 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241B10.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B10 +/* 88A6E0 80241B10 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 88A6E4 80241B14 AFB3003C */ sw $s3, 0x3c($sp) +/* 88A6E8 80241B18 0080982D */ daddu $s3, $a0, $zero +/* 88A6EC 80241B1C AFBF0040 */ sw $ra, 0x40($sp) +/* 88A6F0 80241B20 AFB20038 */ sw $s2, 0x38($sp) +/* 88A6F4 80241B24 AFB10034 */ sw $s1, 0x34($sp) +/* 88A6F8 80241B28 AFB00030 */ sw $s0, 0x30($sp) +/* 88A6FC 80241B2C 8E710148 */ lw $s1, 0x148($s3) +/* 88A700 80241B30 0C00EABB */ jal get_npc_unsafe +/* 88A704 80241B34 86240008 */ lh $a0, 8($s1) +/* 88A708 80241B38 0040802D */ daddu $s0, $v0, $zero +/* 88A70C 80241B3C 8E22007C */ lw $v0, 0x7c($s1) +/* 88A710 80241B40 8603008E */ lh $v1, 0x8e($s0) +/* 88A714 80241B44 2442FFFF */ addiu $v0, $v0, -1 +/* 88A718 80241B48 14620012 */ bne $v1, $v0, .L80241B94 +/* 88A71C 80241B4C 00000000 */ nop +/* 88A720 80241B50 C6000038 */ lwc1 $f0, 0x38($s0) +/* 88A724 80241B54 4600020D */ trunc.w.s $f8, $f0 +/* 88A728 80241B58 44024000 */ mfc1 $v0, $f8 +/* 88A72C 80241B5C 00000000 */ nop +/* 88A730 80241B60 A6220010 */ sh $v0, 0x10($s1) +/* 88A734 80241B64 C600003C */ lwc1 $f0, 0x3c($s0) +/* 88A738 80241B68 4600020D */ trunc.w.s $f8, $f0 +/* 88A73C 80241B6C 44024000 */ mfc1 $v0, $f8 +/* 88A740 80241B70 00000000 */ nop +/* 88A744 80241B74 A6220012 */ sh $v0, 0x12($s1) +/* 88A748 80241B78 C6000040 */ lwc1 $f0, 0x40($s0) +/* 88A74C 80241B7C 24020001 */ addiu $v0, $zero, 1 +/* 88A750 80241B80 A2220007 */ sb $v0, 7($s1) +/* 88A754 80241B84 4600020D */ trunc.w.s $f8, $f0 +/* 88A758 80241B88 44024000 */ mfc1 $v0, $f8 +/* 88A75C 80241B8C 00000000 */ nop +/* 88A760 80241B90 A6220014 */ sh $v0, 0x14($s1) +.L80241B94: +/* 88A764 80241B94 C6000038 */ lwc1 $f0, 0x38($s0) +/* 88A768 80241B98 C602003C */ lwc1 $f2, 0x3c($s0) +/* 88A76C 80241B9C C6040040 */ lwc1 $f4, 0x40($s0) +/* 88A770 80241BA0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 88A774 80241BA4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 88A778 80241BA8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 88A77C 80241BAC E7A40028 */ swc1 $f4, 0x28($sp) +/* 88A780 80241BB0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 88A784 80241BB4 C600000C */ lwc1 $f0, 0xc($s0) +/* 88A788 80241BB8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 88A78C 80241BBC 860200A8 */ lh $v0, 0xa8($s0) +/* 88A790 80241BC0 27A50020 */ addiu $a1, $sp, 0x20 +/* 88A794 80241BC4 44820000 */ mtc1 $v0, $f0 +/* 88A798 80241BC8 00000000 */ nop +/* 88A79C 80241BCC 46800020 */ cvt.s.w $f0, $f0 +/* 88A7A0 80241BD0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 88A7A4 80241BD4 860200A6 */ lh $v0, 0xa6($s0) +/* 88A7A8 80241BD8 27A60024 */ addiu $a2, $sp, 0x24 +/* 88A7AC 80241BDC 44820000 */ mtc1 $v0, $f0 +/* 88A7B0 80241BE0 00000000 */ nop +/* 88A7B4 80241BE4 46800020 */ cvt.s.w $f0, $f0 +/* 88A7B8 80241BE8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 88A7BC 80241BEC 8E040080 */ lw $a0, 0x80($s0) +/* 88A7C0 80241BF0 0C037711 */ jal func_800DDC44 +/* 88A7C4 80241BF4 27A70028 */ addiu $a3, $sp, 0x28 +/* 88A7C8 80241BF8 0040902D */ daddu $s2, $v0, $zero +/* 88A7CC 80241BFC 16400005 */ bnez $s2, .L80241C14 +/* 88A7D0 80241C00 00000000 */ nop +/* 88A7D4 80241C04 8E050018 */ lw $a1, 0x18($s0) +/* 88A7D8 80241C08 8E06000C */ lw $a2, 0xc($s0) +/* 88A7DC 80241C0C 0C00EA95 */ jal npc_move_heading +/* 88A7E0 80241C10 0200202D */ daddu $a0, $s0, $zero +.L80241C14: +/* 88A7E4 80241C14 8602008E */ lh $v0, 0x8e($s0) +/* 88A7E8 80241C18 9603008E */ lhu $v1, 0x8e($s0) +/* 88A7EC 80241C1C 18400007 */ blez $v0, .L80241C3C +/* 88A7F0 80241C20 2462FFFF */ addiu $v0, $v1, -1 +/* 88A7F4 80241C24 A602008E */ sh $v0, 0x8e($s0) +/* 88A7F8 80241C28 00021400 */ sll $v0, $v0, 0x10 +/* 88A7FC 80241C2C 18400003 */ blez $v0, .L80241C3C +/* 88A800 80241C30 00000000 */ nop +/* 88A804 80241C34 12400008 */ beqz $s2, .L80241C58 +/* 88A808 80241C38 00000000 */ nop +.L80241C3C: +/* 88A80C 80241C3C 8E2200CC */ lw $v0, 0xcc($s1) +/* 88A810 80241C40 A2200007 */ sb $zero, 7($s1) +/* 88A814 80241C44 8C420028 */ lw $v0, 0x28($v0) +/* 88A818 80241C48 A600008E */ sh $zero, 0x8e($s0) +/* 88A81C 80241C4C AE020028 */ sw $v0, 0x28($s0) +/* 88A820 80241C50 2402000F */ addiu $v0, $zero, 0xf +/* 88A824 80241C54 AE620070 */ sw $v0, 0x70($s3) +.L80241C58: +/* 88A828 80241C58 8FBF0040 */ lw $ra, 0x40($sp) +/* 88A82C 80241C5C 8FB3003C */ lw $s3, 0x3c($sp) +/* 88A830 80241C60 8FB20038 */ lw $s2, 0x38($sp) +/* 88A834 80241C64 8FB10034 */ lw $s1, 0x34($sp) +/* 88A838 80241C68 8FB00030 */ lw $s0, 0x30($sp) +/* 88A83C 80241C6C 03E00008 */ jr $ra +/* 88A840 80241C70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241C74.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241C74.s new file mode 100644 index 0000000000..e0e49d741d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241C74.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241C74 +/* 88A844 80241C74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88A848 80241C78 AFB10014 */ sw $s1, 0x14($sp) +/* 88A84C 80241C7C 0080882D */ daddu $s1, $a0, $zero +/* 88A850 80241C80 AFBF0018 */ sw $ra, 0x18($sp) +/* 88A854 80241C84 AFB00010 */ sw $s0, 0x10($sp) +/* 88A858 80241C88 8E300148 */ lw $s0, 0x148($s1) +/* 88A85C 80241C8C 0C00EABB */ jal get_npc_unsafe +/* 88A860 80241C90 86040008 */ lh $a0, 8($s0) +/* 88A864 80241C94 0040202D */ daddu $a0, $v0, $zero +/* 88A868 80241C98 9482008E */ lhu $v0, 0x8e($a0) +/* 88A86C 80241C9C 24030003 */ addiu $v1, $zero, 3 +/* 88A870 80241CA0 24420001 */ addiu $v0, $v0, 1 +/* 88A874 80241CA4 A482008E */ sh $v0, 0x8e($a0) +/* 88A878 80241CA8 00021400 */ sll $v0, $v0, 0x10 +/* 88A87C 80241CAC 00021403 */ sra $v0, $v0, 0x10 +/* 88A880 80241CB0 14430003 */ bne $v0, $v1, .L80241CC0 +/* 88A884 80241CB4 00000000 */ nop +/* 88A888 80241CB8 96020086 */ lhu $v0, 0x86($s0) +/* 88A88C 80241CBC A48200A8 */ sh $v0, 0xa8($a0) +.L80241CC0: +/* 88A890 80241CC0 8482008E */ lh $v0, 0x8e($a0) +/* 88A894 80241CC4 8E030080 */ lw $v1, 0x80($s0) +/* 88A898 80241CC8 0043102A */ slt $v0, $v0, $v1 +/* 88A89C 80241CCC 14400004 */ bnez $v0, .L80241CE0 +/* 88A8A0 80241CD0 00000000 */ nop +/* 88A8A4 80241CD4 96020086 */ lhu $v0, 0x86($s0) +/* 88A8A8 80241CD8 A48200A8 */ sh $v0, 0xa8($a0) +/* 88A8AC 80241CDC AE200070 */ sw $zero, 0x70($s1) +.L80241CE0: +/* 88A8B0 80241CE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 88A8B4 80241CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 88A8B8 80241CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 88A8BC 80241CEC 03E00008 */ jr $ra +/* 88A8C0 80241CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80241CF4.s b/asm/nonmatchings/world/area_tik/tik_12/func_80241CF4.s new file mode 100644 index 0000000000..9e75ee5570 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80241CF4.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CF4 +/* 88A8C4 80241CF4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 88A8C8 80241CF8 AFB3005C */ sw $s3, 0x5c($sp) +/* 88A8CC 80241CFC 0080982D */ daddu $s3, $a0, $zero +/* 88A8D0 80241D00 AFBF0068 */ sw $ra, 0x68($sp) +/* 88A8D4 80241D04 AFB50064 */ sw $s5, 0x64($sp) +/* 88A8D8 80241D08 AFB40060 */ sw $s4, 0x60($sp) +/* 88A8DC 80241D0C AFB20058 */ sw $s2, 0x58($sp) +/* 88A8E0 80241D10 AFB10054 */ sw $s1, 0x54($sp) +/* 88A8E4 80241D14 AFB00050 */ sw $s0, 0x50($sp) +/* 88A8E8 80241D18 8E710148 */ lw $s1, 0x148($s3) +/* 88A8EC 80241D1C 86240008 */ lh $a0, 8($s1) +/* 88A8F0 80241D20 0C00EABB */ jal get_npc_unsafe +/* 88A8F4 80241D24 00A0802D */ daddu $s0, $a1, $zero +/* 88A8F8 80241D28 8E63000C */ lw $v1, 0xc($s3) +/* 88A8FC 80241D2C 0260202D */ daddu $a0, $s3, $zero +/* 88A900 80241D30 8C650000 */ lw $a1, ($v1) +/* 88A904 80241D34 0C0B1EAF */ jal get_variable +/* 88A908 80241D38 0040902D */ daddu $s2, $v0, $zero +/* 88A90C 80241D3C AFA00028 */ sw $zero, 0x28($sp) +/* 88A910 80241D40 8E2300D0 */ lw $v1, 0xd0($s1) +/* 88A914 80241D44 8C630030 */ lw $v1, 0x30($v1) +/* 88A918 80241D48 AFA3002C */ sw $v1, 0x2c($sp) +/* 88A91C 80241D4C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 88A920 80241D50 8C63001C */ lw $v1, 0x1c($v1) +/* 88A924 80241D54 AFA30030 */ sw $v1, 0x30($sp) +/* 88A928 80241D58 8E2300D0 */ lw $v1, 0xd0($s1) +/* 88A92C 80241D5C 8C630024 */ lw $v1, 0x24($v1) +/* 88A930 80241D60 AFA30034 */ sw $v1, 0x34($sp) +/* 88A934 80241D64 8E2300D0 */ lw $v1, 0xd0($s1) +/* 88A938 80241D68 8C630028 */ lw $v1, 0x28($v1) +/* 88A93C 80241D6C 27B50028 */ addiu $s5, $sp, 0x28 +/* 88A940 80241D70 AFA30038 */ sw $v1, 0x38($sp) +/* 88A944 80241D74 8E2300D0 */ lw $v1, 0xd0($s1) +/* 88A948 80241D78 3C0142C8 */ lui $at, 0x42c8 +/* 88A94C 80241D7C 44810000 */ mtc1 $at, $f0 +/* 88A950 80241D80 8C63002C */ lw $v1, 0x2c($v1) +/* 88A954 80241D84 0040A02D */ daddu $s4, $v0, $zero +/* 88A958 80241D88 E7A00040 */ swc1 $f0, 0x40($sp) +/* 88A95C 80241D8C A7A00044 */ sh $zero, 0x44($sp) +/* 88A960 80241D90 12000009 */ beqz $s0, .L80241DB8 +/* 88A964 80241D94 AFA3003C */ sw $v1, 0x3c($sp) +/* 88A968 80241D98 864300A8 */ lh $v1, 0xa8($s2) +/* 88A96C 80241D9C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 88A970 80241DA0 AE20008C */ sw $zero, 0x8c($s1) +/* 88A974 80241DA4 A22000B5 */ sb $zero, 0xb5($s1) +/* 88A978 80241DA8 34420008 */ ori $v0, $v0, 8 +/* 88A97C 80241DAC AE230084 */ sw $v1, 0x84($s1) +/* 88A980 80241DB0 08090772 */ j .L80241DC8 +/* 88A984 80241DB4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241DB8: +/* 88A988 80241DB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 88A98C 80241DBC 30420004 */ andi $v0, $v0, 4 +/* 88A990 80241DC0 10400047 */ beqz $v0, .L80241EE0 +/* 88A994 80241DC4 00000000 */ nop +.L80241DC8: +/* 88A998 80241DC8 AE600070 */ sw $zero, 0x70($s3) +/* 88A99C 80241DCC A640008E */ sh $zero, 0x8e($s2) +/* 88A9A0 80241DD0 8E2300CC */ lw $v1, 0xcc($s1) +/* 88A9A4 80241DD4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 88A9A8 80241DD8 A2200007 */ sb $zero, 7($s1) +/* 88A9AC 80241DDC 8E420000 */ lw $v0, ($s2) +/* 88A9B0 80241DE0 8C630000 */ lw $v1, ($v1) +/* 88A9B4 80241DE4 00441024 */ and $v0, $v0, $a0 +/* 88A9B8 80241DE8 AE420000 */ sw $v0, ($s2) +/* 88A9BC 80241DEC AE430028 */ sw $v1, 0x28($s2) +/* 88A9C0 80241DF0 96220086 */ lhu $v0, 0x86($s1) +/* 88A9C4 80241DF4 A64200A8 */ sh $v0, 0xa8($s2) +/* 88A9C8 80241DF8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 88A9CC 80241DFC AE200090 */ sw $zero, 0x90($s1) +/* 88A9D0 80241E00 8C420034 */ lw $v0, 0x34($v0) +/* 88A9D4 80241E04 14400006 */ bnez $v0, .L80241E20 +/* 88A9D8 80241E08 2403FDFF */ addiu $v1, $zero, -0x201 +/* 88A9DC 80241E0C 8E420000 */ lw $v0, ($s2) +/* 88A9E0 80241E10 2403FFF7 */ addiu $v1, $zero, -9 +/* 88A9E4 80241E14 34420200 */ ori $v0, $v0, 0x200 +/* 88A9E8 80241E18 0809078B */ j .L80241E2C +/* 88A9EC 80241E1C 00431024 */ and $v0, $v0, $v1 +.L80241E20: +/* 88A9F0 80241E20 8E420000 */ lw $v0, ($s2) +/* 88A9F4 80241E24 00431024 */ and $v0, $v0, $v1 +/* 88A9F8 80241E28 34420008 */ ori $v0, $v0, 8 +.L80241E2C: +/* 88A9FC 80241E2C AE420000 */ sw $v0, ($s2) +/* 88AA00 80241E30 8E2200B0 */ lw $v0, 0xb0($s1) +/* 88AA04 80241E34 30420004 */ andi $v0, $v0, 4 +/* 88AA08 80241E38 1040001E */ beqz $v0, .L80241EB4 +/* 88AA0C 80241E3C 24040002 */ addiu $a0, $zero, 2 +/* 88AA10 80241E40 0240282D */ daddu $a1, $s2, $zero +/* 88AA14 80241E44 0000302D */ daddu $a2, $zero, $zero +/* 88AA18 80241E48 24020063 */ addiu $v0, $zero, 0x63 +/* 88AA1C 80241E4C AE620070 */ sw $v0, 0x70($s3) +/* 88AA20 80241E50 AE600074 */ sw $zero, 0x74($s3) +/* 88AA24 80241E54 864300A8 */ lh $v1, 0xa8($s2) +/* 88AA28 80241E58 3C013F80 */ lui $at, 0x3f80 +/* 88AA2C 80241E5C 44810000 */ mtc1 $at, $f0 +/* 88AA30 80241E60 3C014000 */ lui $at, 0x4000 +/* 88AA34 80241E64 44811000 */ mtc1 $at, $f2 +/* 88AA38 80241E68 3C01C1A0 */ lui $at, 0xc1a0 +/* 88AA3C 80241E6C 44812000 */ mtc1 $at, $f4 +/* 88AA40 80241E70 24020028 */ addiu $v0, $zero, 0x28 +/* 88AA44 80241E74 AFA2001C */ sw $v0, 0x1c($sp) +/* 88AA48 80241E78 44833000 */ mtc1 $v1, $f6 +/* 88AA4C 80241E7C 00000000 */ nop +/* 88AA50 80241E80 468031A0 */ cvt.s.w $f6, $f6 +/* 88AA54 80241E84 44073000 */ mfc1 $a3, $f6 +/* 88AA58 80241E88 27A20048 */ addiu $v0, $sp, 0x48 +/* 88AA5C 80241E8C AFA20020 */ sw $v0, 0x20($sp) +/* 88AA60 80241E90 E7A00010 */ swc1 $f0, 0x10($sp) +/* 88AA64 80241E94 E7A20014 */ swc1 $f2, 0x14($sp) +/* 88AA68 80241E98 0C01BFA4 */ jal fx_emote +/* 88AA6C 80241E9C E7A40018 */ swc1 $f4, 0x18($sp) +/* 88AA70 80241EA0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 88AA74 80241EA4 2403FFFB */ addiu $v1, $zero, -5 +/* 88AA78 80241EA8 00431024 */ and $v0, $v0, $v1 +/* 88AA7C 80241EAC 080907B8 */ j .L80241EE0 +/* 88AA80 80241EB0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241EB4: +/* 88AA84 80241EB4 8E220000 */ lw $v0, ($s1) +/* 88AA88 80241EB8 3C034000 */ lui $v1, 0x4000 +/* 88AA8C 80241EBC 00431024 */ and $v0, $v0, $v1 +/* 88AA90 80241EC0 10400007 */ beqz $v0, .L80241EE0 +/* 88AA94 80241EC4 3C03BFFF */ lui $v1, 0xbfff +/* 88AA98 80241EC8 2402000C */ addiu $v0, $zero, 0xc +/* 88AA9C 80241ECC AE620070 */ sw $v0, 0x70($s3) +/* 88AAA0 80241ED0 8E220000 */ lw $v0, ($s1) +/* 88AAA4 80241ED4 3463FFFF */ ori $v1, $v1, 0xffff +/* 88AAA8 80241ED8 00431024 */ and $v0, $v0, $v1 +/* 88AAAC 80241EDC AE220000 */ sw $v0, ($s1) +.L80241EE0: +/* 88AAB0 80241EE0 8E220090 */ lw $v0, 0x90($s1) +/* 88AAB4 80241EE4 1840000C */ blez $v0, .L80241F18 +/* 88AAB8 80241EE8 2442FFFF */ addiu $v0, $v0, -1 +/* 88AABC 80241EEC 14400087 */ bnez $v0, .L8024210C +/* 88AAC0 80241EF0 AE220090 */ sw $v0, 0x90($s1) +/* 88AAC4 80241EF4 3C03FFAA */ lui $v1, 0xffaa +/* 88AAC8 80241EF8 8E420028 */ lw $v0, 0x28($s2) +/* 88AACC 80241EFC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 88AAD0 80241F00 00431021 */ addu $v0, $v0, $v1 +/* 88AAD4 80241F04 2C420002 */ sltiu $v0, $v0, 2 +/* 88AAD8 80241F08 10400003 */ beqz $v0, .L80241F18 +/* 88AADC 80241F0C 3C020055 */ lui $v0, 0x55 +/* 88AAE0 80241F10 3442000C */ ori $v0, $v0, 0xc +/* 88AAE4 80241F14 AE420028 */ sw $v0, 0x28($s2) +.L80241F18: +/* 88AAE8 80241F18 8E630070 */ lw $v1, 0x70($s3) +/* 88AAEC 80241F1C 2402000C */ addiu $v0, $zero, 0xc +/* 88AAF0 80241F20 10620048 */ beq $v1, $v0, .L80242044 +/* 88AAF4 80241F24 2862000D */ slti $v0, $v1, 0xd +/* 88AAF8 80241F28 1040000F */ beqz $v0, .L80241F68 +/* 88AAFC 80241F2C 24100001 */ addiu $s0, $zero, 1 +/* 88AB00 80241F30 1070001E */ beq $v1, $s0, .L80241FAC +/* 88AB04 80241F34 28620002 */ slti $v0, $v1, 2 +/* 88AB08 80241F38 10400005 */ beqz $v0, .L80241F50 +/* 88AB0C 80241F3C 24020002 */ addiu $v0, $zero, 2 +/* 88AB10 80241F40 10600015 */ beqz $v1, .L80241F98 +/* 88AB14 80241F44 0260202D */ daddu $a0, $s3, $zero +/* 88AB18 80241F48 08090828 */ j .L802420A0 +/* 88AB1C 80241F4C 00000000 */ nop +.L80241F50: +/* 88AB20 80241F50 1062001C */ beq $v1, $v0, .L80241FC4 +/* 88AB24 80241F54 24020003 */ addiu $v0, $zero, 3 +/* 88AB28 80241F58 10620035 */ beq $v1, $v0, .L80242030 +/* 88AB2C 80241F5C 0260202D */ daddu $a0, $s3, $zero +/* 88AB30 80241F60 08090828 */ j .L802420A0 +/* 88AB34 80241F64 00000000 */ nop +.L80241F68: +/* 88AB38 80241F68 2402000E */ addiu $v0, $zero, 0xe +/* 88AB3C 80241F6C 1062003F */ beq $v1, $v0, .L8024206C +/* 88AB40 80241F70 0062102A */ slt $v0, $v1, $v0 +/* 88AB44 80241F74 14400038 */ bnez $v0, .L80242058 +/* 88AB48 80241F78 0260202D */ daddu $a0, $s3, $zero +/* 88AB4C 80241F7C 2402000F */ addiu $v0, $zero, 0xf +/* 88AB50 80241F80 10620040 */ beq $v1, $v0, .L80242084 +/* 88AB54 80241F84 24020063 */ addiu $v0, $zero, 0x63 +/* 88AB58 80241F88 10620043 */ beq $v1, $v0, .L80242098 +/* 88AB5C 80241F8C 00000000 */ nop +/* 88AB60 80241F90 08090828 */ j .L802420A0 +/* 88AB64 80241F94 00000000 */ nop +.L80241F98: +/* 88AB68 80241F98 0280282D */ daddu $a1, $s4, $zero +/* 88AB6C 80241F9C 0C012568 */ jal func_800495A0 +/* 88AB70 80241FA0 02A0302D */ daddu $a2, $s5, $zero +/* 88AB74 80241FA4 96220086 */ lhu $v0, 0x86($s1) +/* 88AB78 80241FA8 A64200A8 */ sh $v0, 0xa8($s2) +.L80241FAC: +/* 88AB7C 80241FAC 0260202D */ daddu $a0, $s3, $zero +/* 88AB80 80241FB0 0280282D */ daddu $a1, $s4, $zero +/* 88AB84 80241FB4 0C0125AE */ jal func_800496B8 +/* 88AB88 80241FB8 02A0302D */ daddu $a2, $s5, $zero +/* 88AB8C 80241FBC 08090828 */ j .L802420A0 +/* 88AB90 80241FC0 00000000 */ nop +.L80241FC4: +/* 88AB94 80241FC4 0260202D */ daddu $a0, $s3, $zero +/* 88AB98 80241FC8 0280282D */ daddu $a1, $s4, $zero +/* 88AB9C 80241FCC 0C0126D1 */ jal func_80049B44 +/* 88ABA0 80241FD0 02A0302D */ daddu $a2, $s5, $zero +/* 88ABA4 80241FD4 8E230088 */ lw $v1, 0x88($s1) +/* 88ABA8 80241FD8 24020006 */ addiu $v0, $zero, 6 +/* 88ABAC 80241FDC 14620014 */ bne $v1, $v0, .L80242030 +/* 88ABB0 80241FE0 0260202D */ daddu $a0, $s3, $zero +/* 88ABB4 80241FE4 0C00A67F */ jal rand_int +/* 88ABB8 80241FE8 24040064 */ addiu $a0, $zero, 0x64 +/* 88ABBC 80241FEC 28420021 */ slti $v0, $v0, 0x21 +/* 88ABC0 80241FF0 5040000F */ beql $v0, $zero, .L80242030 +/* 88ABC4 80241FF4 0260202D */ daddu $a0, $s3, $zero +/* 88ABC8 80241FF8 8E22008C */ lw $v0, 0x8c($s1) +/* 88ABCC 80241FFC 10400005 */ beqz $v0, .L80242014 +/* 88ABD0 80242000 3C020055 */ lui $v0, 0x55 +/* 88ABD4 80242004 3442002F */ ori $v0, $v0, 0x2f +/* 88ABD8 80242008 AE20008C */ sw $zero, 0x8c($s1) +/* 88ABDC 8024200C 08090808 */ j .L80242020 +/* 88ABE0 80242010 A22000B5 */ sb $zero, 0xb5($s1) +.L80242014: +/* 88ABE4 80242014 3442002E */ ori $v0, $v0, 0x2e +/* 88ABE8 80242018 AE30008C */ sw $s0, 0x8c($s1) +/* 88ABEC 8024201C A23000B5 */ sb $s0, 0xb5($s1) +.L80242020: +/* 88ABF0 80242020 AE420028 */ sw $v0, 0x28($s2) +/* 88ABF4 80242024 24020007 */ addiu $v0, $zero, 7 +/* 88ABF8 80242028 08090843 */ j .L8024210C +/* 88ABFC 8024202C AE220090 */ sw $v0, 0x90($s1) +.L80242030: +/* 88AC00 80242030 0280282D */ daddu $a1, $s4, $zero +/* 88AC04 80242034 0C012701 */ jal func_80049C04 +/* 88AC08 80242038 02A0302D */ daddu $a2, $s5, $zero +/* 88AC0C 8024203C 08090828 */ j .L802420A0 +/* 88AC10 80242040 00000000 */ nop +.L80242044: +/* 88AC14 80242044 0260202D */ daddu $a0, $s3, $zero +/* 88AC18 80242048 0280282D */ daddu $a1, $s4, $zero +/* 88AC1C 8024204C 0C090658 */ jal func_80241960 +/* 88AC20 80242050 02A0302D */ daddu $a2, $s5, $zero +/* 88AC24 80242054 0260202D */ daddu $a0, $s3, $zero +.L80242058: +/* 88AC28 80242058 0280282D */ daddu $a1, $s4, $zero +/* 88AC2C 8024205C 0C090677 */ jal func_802419DC +/* 88AC30 80242060 02A0302D */ daddu $a2, $s5, $zero +/* 88AC34 80242064 08090828 */ j .L802420A0 +/* 88AC38 80242068 00000000 */ nop +.L8024206C: +/* 88AC3C 8024206C 0260202D */ daddu $a0, $s3, $zero +/* 88AC40 80242070 0280282D */ daddu $a1, $s4, $zero +/* 88AC44 80242074 0C0906C4 */ jal func_80241B10 +/* 88AC48 80242078 02A0302D */ daddu $a2, $s5, $zero +/* 88AC4C 8024207C 08090828 */ j .L802420A0 +/* 88AC50 80242080 00000000 */ nop +.L80242084: +/* 88AC54 80242084 0280282D */ daddu $a1, $s4, $zero +/* 88AC58 80242088 0C09071D */ jal func_80241C74 +/* 88AC5C 8024208C 02A0302D */ daddu $a2, $s5, $zero +/* 88AC60 80242090 08090828 */ j .L802420A0 +/* 88AC64 80242094 00000000 */ nop +.L80242098: +/* 88AC68 80242098 0C0129CF */ jal func_8004A73C +/* 88AC6C 8024209C 0260202D */ daddu $a0, $s3, $zero +.L802420A0: +/* 88AC70 802420A0 8E230088 */ lw $v1, 0x88($s1) +/* 88AC74 802420A4 24020006 */ addiu $v0, $zero, 6 +/* 88AC78 802420A8 14620019 */ bne $v1, $v0, .L80242110 +/* 88AC7C 802420AC 0000102D */ daddu $v0, $zero, $zero +/* 88AC80 802420B0 8E22008C */ lw $v0, 0x8c($s1) +/* 88AC84 802420B4 10400003 */ beqz $v0, .L802420C4 +/* 88AC88 802420B8 24020001 */ addiu $v0, $zero, 1 +/* 88AC8C 802420BC 08090832 */ j .L802420C8 +/* 88AC90 802420C0 A22200B5 */ sb $v0, 0xb5($s1) +.L802420C4: +/* 88AC94 802420C4 A22000B5 */ sb $zero, 0xb5($s1) +.L802420C8: +/* 88AC98 802420C8 8E22008C */ lw $v0, 0x8c($s1) +/* 88AC9C 802420CC 1040000F */ beqz $v0, .L8024210C +/* 88ACA0 802420D0 3C03FFAA */ lui $v1, 0xffaa +/* 88ACA4 802420D4 8E420028 */ lw $v0, 0x28($s2) +/* 88ACA8 802420D8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 88ACAC 802420DC 00431821 */ addu $v1, $v0, $v1 +/* 88ACB0 802420E0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 88ACB4 802420E4 10400009 */ beqz $v0, .L8024210C +/* 88ACB8 802420E8 00031080 */ sll $v0, $v1, 2 +/* 88ACBC 802420EC 3C018024 */ lui $at, 0x8024 +/* 88ACC0 802420F0 00220821 */ addu $at, $at, $v0 +/* 88ACC4 802420F4 8C2249D8 */ lw $v0, 0x49d8($at) +/* 88ACC8 802420F8 00400008 */ jr $v0 +/* 88ACCC 802420FC 00000000 */ nop +/* 88ACD0 80242100 8E420028 */ lw $v0, 0x28($s2) +/* 88ACD4 80242104 24420001 */ addiu $v0, $v0, 1 +/* 88ACD8 80242108 AE420028 */ sw $v0, 0x28($s2) +.L8024210C: +/* 88ACDC 8024210C 0000102D */ daddu $v0, $zero, $zero +.L80242110: +/* 88ACE0 80242110 8FBF0068 */ lw $ra, 0x68($sp) +/* 88ACE4 80242114 8FB50064 */ lw $s5, 0x64($sp) +/* 88ACE8 80242118 8FB40060 */ lw $s4, 0x60($sp) +/* 88ACEC 8024211C 8FB3005C */ lw $s3, 0x5c($sp) +/* 88ACF0 80242120 8FB20058 */ lw $s2, 0x58($sp) +/* 88ACF4 80242124 8FB10054 */ lw $s1, 0x54($sp) +/* 88ACF8 80242128 8FB00050 */ lw $s0, 0x50($sp) +/* 88ACFC 8024212C 03E00008 */ jr $ra +/* 88AD00 80242130 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_80242134.s b/asm/nonmatchings/world/area_tik/tik_12/func_80242134.s new file mode 100644 index 0000000000..8ae3a0efdb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_80242134.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242134 +/* 88AD04 80242134 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88AD08 80242138 AFBF0010 */ sw $ra, 0x10($sp) +/* 88AD0C 8024213C 0C00EAD2 */ jal get_npc_safe +/* 88AD10 80242140 8C84014C */ lw $a0, 0x14c($a0) +/* 88AD14 80242144 0040182D */ daddu $v1, $v0, $zero +/* 88AD18 80242148 846200A8 */ lh $v0, 0xa8($v1) +/* 88AD1C 8024214C C462003C */ lwc1 $f2, 0x3c($v1) +/* 88AD20 80242150 906400A9 */ lbu $a0, 0xa9($v1) +/* 88AD24 80242154 44820000 */ mtc1 $v0, $f0 +/* 88AD28 80242158 00000000 */ nop +/* 88AD2C 8024215C 46800020 */ cvt.s.w $f0, $f0 +/* 88AD30 80242160 46001081 */ sub.s $f2, $f2, $f0 +/* 88AD34 80242164 A06400AB */ sb $a0, 0xab($v1) +/* 88AD38 80242168 E462003C */ swc1 $f2, 0x3c($v1) +/* 88AD3C 8024216C 8FBF0010 */ lw $ra, 0x10($sp) +/* 88AD40 80242170 24020002 */ addiu $v0, $zero, 2 +/* 88AD44 80242174 03E00008 */ jr $ra +/* 88AD48 80242178 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_8024217C.s b/asm/nonmatchings/world/area_tik/tik_12/func_8024217C.s new file mode 100644 index 0000000000..98396921b2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_8024217C.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024217C +/* 88AD4C 8024217C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88AD50 80242180 AFBF0010 */ sw $ra, 0x10($sp) +/* 88AD54 80242184 0C00EAD2 */ jal get_npc_safe +/* 88AD58 80242188 8C84014C */ lw $a0, 0x14c($a0) +/* 88AD5C 8024218C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 88AD60 80242190 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 88AD64 80242194 C44C0038 */ lwc1 $f12, 0x38($v0) +/* 88AD68 80242198 C44E0040 */ lwc1 $f14, 0x40($v0) +/* 88AD6C 8024219C 8C660028 */ lw $a2, 0x28($v1) +/* 88AD70 802421A0 0C00A7B5 */ jal dist2D +/* 88AD74 802421A4 8C670030 */ lw $a3, 0x30($v1) +/* 88AD78 802421A8 3C014248 */ lui $at, 0x4248 +/* 88AD7C 802421AC 44811000 */ mtc1 $at, $f2 +/* 88AD80 802421B0 00000000 */ nop +/* 88AD84 802421B4 4602003C */ c.lt.s $f0, $f2 +/* 88AD88 802421B8 00000000 */ nop +/* 88AD8C 802421BC 45010002 */ bc1t .L802421C8 +/* 88AD90 802421C0 24020002 */ addiu $v0, $zero, 2 +/* 88AD94 802421C4 0000102D */ daddu $v0, $zero, $zero +.L802421C8: +/* 88AD98 802421C8 8FBF0010 */ lw $ra, 0x10($sp) +/* 88AD9C 802421CC 03E00008 */ jr $ra +/* 88ADA0 802421D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_12/func_802421D4.s b/asm/nonmatchings/world/area_tik/tik_12/func_802421D4.s new file mode 100644 index 0000000000..d4c1e654cb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_12/func_802421D4.s @@ -0,0 +1,37 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421D4 +/* 88ADA4 802421D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88ADA8 802421D8 0080102D */ daddu $v0, $a0, $zero +/* 88ADAC 802421DC AFB00010 */ sw $s0, 0x10($sp) +/* 88ADB0 802421E0 AFBF0018 */ sw $ra, 0x18($sp) +/* 88ADB4 802421E4 AFB10014 */ sw $s1, 0x14($sp) +/* 88ADB8 802421E8 8C44014C */ lw $a0, 0x14c($v0) +/* 88ADBC 802421EC 8C510148 */ lw $s1, 0x148($v0) +/* 88ADC0 802421F0 0C00EAD2 */ jal get_npc_safe +/* 88ADC4 802421F4 00A0802D */ daddu $s0, $a1, $zero +/* 88ADC8 802421F8 56000001 */ bnel $s0, $zero, .L80242200 +/* 88ADCC 802421FC A04000AB */ sb $zero, 0xab($v0) +.L80242200: +/* 88ADD0 80242200 8C420000 */ lw $v0, ($v0) +/* 88ADD4 80242204 30421000 */ andi $v0, $v0, 0x1000 +/* 88ADD8 80242208 1040000A */ beqz $v0, .L80242234 +/* 88ADDC 8024220C 0000102D */ daddu $v0, $zero, $zero +/* 88ADE0 80242210 82220004 */ lb $v0, 4($s1) +/* 88ADE4 80242214 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 88ADE8 80242218 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 88ADEC 8024221C 00021080 */ sll $v0, $v0, 2 +/* 88ADF0 80242220 00431021 */ addu $v0, $v0, $v1 +/* 88ADF4 80242224 8C440028 */ lw $a0, 0x28($v0) +/* 88ADF8 80242228 9623006E */ lhu $v1, 0x6e($s1) +/* 88ADFC 8024222C 24020002 */ addiu $v0, $zero, 2 +/* 88AE00 80242230 A4830044 */ sh $v1, 0x44($a0) +.L80242234: +/* 88AE04 80242234 8FBF0018 */ lw $ra, 0x18($sp) +/* 88AE08 80242238 8FB10014 */ lw $s1, 0x14($sp) +/* 88AE0C 8024223C 8FB00010 */ lw $s0, 0x10($sp) +/* 88AE10 80242240 03E00008 */ jr $ra +/* 88AE14 80242244 27BD0020 */ addiu $sp, $sp, 0x20 +/* 88AE18 80242248 00000000 */ nop +/* 88AE1C 8024224C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_80240000_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_80240000_88D600.s new file mode 100644 index 0000000000..10dd339d1c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_80240000_88D600.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_88D600 +/* 88D600 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 88D604 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 88D608 80240008 8C430004 */ lw $v1, 4($v0) +/* 88D60C 8024000C 3C040010 */ lui $a0, 0x10 +/* 88D610 80240010 00641825 */ or $v1, $v1, $a0 +/* 88D614 80240014 AC430004 */ sw $v1, 4($v0) +/* 88D618 80240018 03E00008 */ jr $ra +/* 88D61C 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_80240020_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_80240020_88D600.s new file mode 100644 index 0000000000..262e243015 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_80240020_88D600.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_88D620 +/* 88D620 80240020 3C028016 */ lui $v0, 0x8016 +/* 88D624 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 88D628 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 88D62C 8024002C 03E00008 */ jr $ra +/* 88D630 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_80240034_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_80240034_88D600.s new file mode 100644 index 0000000000..0f7363e25e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_80240034_88D600.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_88D634 +/* 88D634 80240034 3C038016 */ lui $v1, 0x8016 +/* 88D638 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 88D63C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88D640 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 88D644 80240044 0080802D */ daddu $s0, $a0, $zero +/* 88D648 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 88D64C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 88D650 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 88D654 80240054 24020002 */ addiu $v0, $zero, 2 +/* 88D658 80240058 08090038 */ j .L802400E0 +/* 88D65C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 88D660 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 88D664 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 88D668 80240068 80620040 */ lb $v0, 0x40($v1) +/* 88D66C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 88D670 80240070 04420001 */ bltzl $v0, .L80240078 +/* 88D674 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 88D678 80240078 14400003 */ bnez $v0, .L80240088 +/* 88D67C 8024007C 00000000 */ nop +/* 88D680 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 88D684 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 88D688 80240088 44822000 */ mtc1 $v0, $f4 +/* 88D68C 8024008C 00000000 */ nop +/* 88D690 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 88D694 80240094 44062000 */ mfc1 $a2, $f4 +/* 88D698 80240098 44872000 */ mtc1 $a3, $f4 +/* 88D69C 8024009C 00000000 */ nop +/* 88D6A0 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 88D6A4 802400A4 44806000 */ mtc1 $zero, $f12 +/* 88D6A8 802400A8 44072000 */ mfc1 $a3, $f4 +/* 88D6AC 802400AC 0C00A720 */ jal atan2 +/* 88D6B0 802400B0 46006386 */ mov.s $f14, $f12 +/* 88D6B4 802400B4 3C014270 */ lui $at, 0x4270 +/* 88D6B8 802400B8 44811000 */ mtc1 $at, $f2 +/* 88D6BC 802400BC 00000000 */ nop +/* 88D6C0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 88D6C4 802400C4 00000000 */ nop +/* 88D6C8 802400C8 45000004 */ bc1f .L802400DC +/* 88D6CC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 88D6D0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 88D6D4 802400D4 08090038 */ j .L802400E0 +/* 88D6D8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 88D6DC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 88D6E0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 88D6E4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 88D6E8 802400E8 03E00008 */ jr $ra +/* 88D6EC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_802400F0_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_802400F0_88D600.s new file mode 100644 index 0000000000..f50d0544a3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_802400F0_88D600.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_88D6F0 +/* 88D6F0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88D6F4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 88D6F8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 88D6FC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 88D700 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 88D704 80240104 0C016AFA */ jal get_current_map_header +/* 88D708 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 88D70C 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 88D710 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 88D714 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 88D718 80240118 0C0B1EAF */ jal get_variable +/* 88D71C 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 88D720 80240120 0220202D */ daddu $a0, $s1, $zero +/* 88D724 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 88D728 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 88D72C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 88D730 80240130 02031821 */ addu $v1, $s0, $v1 +/* 88D734 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 88D738 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 88D73C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 88D740 80240140 0C0B2026 */ jal set_variable +/* 88D744 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 88D748 80240148 0220202D */ daddu $a0, $s1, $zero +/* 88D74C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 88D750 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 88D754 80240154 02021021 */ addu $v0, $s0, $v0 +/* 88D758 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 88D75C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 88D760 80240160 44061000 */ mfc1 $a2, $f2 +/* 88D764 80240164 0C0B2026 */ jal set_variable +/* 88D768 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 88D76C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 88D770 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 88D774 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 88D778 80240178 02021021 */ addu $v0, $s0, $v0 +/* 88D77C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 88D780 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 88D784 80240184 44061000 */ mfc1 $a2, $f2 +/* 88D788 80240188 0C0B2026 */ jal set_variable +/* 88D78C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 88D790 80240190 0220202D */ daddu $a0, $s1, $zero +/* 88D794 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 88D798 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 88D79C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 88D7A0 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 88D7A4 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 88D7A8 802401A8 44061000 */ mfc1 $a2, $f2 +/* 88D7AC 802401AC 0C0B2026 */ jal set_variable +/* 88D7B0 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 88D7B4 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 88D7B8 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 88D7BC 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 88D7C0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 88D7C4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 88D7C8 802401C8 03E00008 */ jr $ra +/* 88D7CC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_802401D0_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_802401D0_88D600.s new file mode 100644 index 0000000000..e004e61b3a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_802401D0_88D600.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_88D7D0 +/* 88D7D0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 88D7D4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 88D7D8 802401D8 3C014334 */ lui $at, 0x4334 +/* 88D7DC 802401DC 44816000 */ mtc1 $at, $f12 +/* 88D7E0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88D7E4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 88D7E8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 88D7EC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 88D7F0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 88D7F4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 88D7F8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 88D7FC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 88D800 80240200 00431021 */ addu $v0, $v0, $v1 +/* 88D804 80240204 000210C0 */ sll $v0, $v0, 3 +/* 88D808 80240208 3C01800B */ lui $at, 0x800b +/* 88D80C 8024020C 00220821 */ addu $at, $at, $v0 +/* 88D810 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 88D814 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 88D818 80240218 0C00A6C9 */ jal clamp_angle +/* 88D81C 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 88D820 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 88D824 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 88D828 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 88D82C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 88D830 80240230 24020002 */ addiu $v0, $zero, 2 +/* 88D834 80240234 03E00008 */ jr $ra +/* 88D838 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_8024023C_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_8024023C_88D600.s new file mode 100644 index 0000000000..9a9c13e360 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_8024023C_88D600.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_88D83C +/* 88D83C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 88D840 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 88D844 80240244 0080802D */ daddu $s0, $a0, $zero +/* 88D848 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 88D84C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 88D850 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 88D854 80240254 0C0B210B */ jal get_float_variable +/* 88D858 80240258 8C450000 */ lw $a1, ($v0) +/* 88D85C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 88D860 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 88D864 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 88D868 80240268 44060000 */ mfc1 $a2, $f0 +/* 88D86C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 88D870 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 88D874 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 88D878 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 88D87C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 88D880 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 88D884 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 88D888 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 88D88C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 88D890 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 88D894 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 88D898 80240298 0C0B2190 */ jal set_float_variable +/* 88D89C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 88D8A0 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 88D8A4 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 88D8A8 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 88D8AC 802402AC 0C0B2190 */ jal set_float_variable +/* 88D8B0 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 88D8B4 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 88D8B8 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 88D8BC 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 88D8C0 802402C0 0C0B2190 */ jal set_float_variable +/* 88D8C4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 88D8C8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 88D8CC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 88D8D0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 88D8D4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 88D8D8 802402D8 03E00008 */ jr $ra +/* 88D8DC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_802402E0_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_802402E0_88D600.s new file mode 100644 index 0000000000..4340ad16ab --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_802402E0_88D600.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_88D8E0 +/* 88D8E0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88D8E4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 88D8E8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 88D8EC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 88D8F0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 88D8F4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 88D8F8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 88D8FC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 88D900 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 88D904 80240304 3C020002 */ lui $v0, 2 +/* 88D908 80240308 080900C8 */ j .L80240320 +/* 88D90C 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 88D910 80240310 3C040002 */ lui $a0, 2 +/* 88D914 80240314 0083102A */ slt $v0, $a0, $v1 +/* 88D918 80240318 10400002 */ beqz $v0, .L80240324 +/* 88D91C 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 88D920 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 88D924 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 88D928 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 88D92C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 88D930 80240330 04610004 */ bgez $v1, .L80240344 +/* 88D934 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 88D938 80240338 3C020002 */ lui $v0, 2 +/* 88D93C 8024033C 080900D5 */ j .L80240354 +/* 88D940 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 88D944 80240344 3C040002 */ lui $a0, 2 +/* 88D948 80240348 0083102A */ slt $v0, $a0, $v1 +/* 88D94C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 88D950 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 88D954 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 88D958 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 88D95C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 88D960 80240360 00621821 */ addu $v1, $v1, $v0 +/* 88D964 80240364 04610004 */ bgez $v1, .L80240378 +/* 88D968 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 88D96C 8024036C 3C020002 */ lui $v0, 2 +/* 88D970 80240370 080900E2 */ j .L80240388 +/* 88D974 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 88D978 80240378 3C040002 */ lui $a0, 2 +/* 88D97C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 88D980 80240380 10400002 */ beqz $v0, .L8024038C +/* 88D984 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 88D988 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 88D98C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 88D990 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 88D994 80240394 00621821 */ addu $v1, $v1, $v0 +/* 88D998 80240398 04610004 */ bgez $v1, .L802403AC +/* 88D99C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 88D9A0 802403A0 3C020002 */ lui $v0, 2 +/* 88D9A4 802403A4 080900EF */ j .L802403BC +/* 88D9A8 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 88D9AC 802403AC 3C040002 */ lui $a0, 2 +/* 88D9B0 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 88D9B4 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 88D9B8 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 88D9BC 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 88D9C0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 88D9C4 802403C4 0C046F07 */ jal set_main_pan_u +/* 88D9C8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 88D9CC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 88D9D0 802403D0 0C046F0D */ jal set_main_pan_v +/* 88D9D4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 88D9D8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 88D9DC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 88D9E0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88D9E4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 88D9E8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 88D9EC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 88D9F0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 88D9F4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 88D9F8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 88D9FC 802403FC 03E00008 */ jr $ra +/* 88DA00 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_80240404_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_80240404_88D600.s new file mode 100644 index 0000000000..a7776892c9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_80240404_88D600.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_88DA04 +/* 88DA04 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88DA08 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 88DA0C 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 88DA10 80240410 10A00005 */ beqz $a1, .L80240428 +/* 88DA14 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 88DA18 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 88DA1C 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 88DA20 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 88DA24 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 88DA28 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 88DA2C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 88DA30 80240430 00000000 */ nop +/* 88DA34 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 88DA38 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 88DA3C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 88DA40 80240440 04610004 */ bgez $v1, .L80240454 +/* 88DA44 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 88DA48 80240448 3C020002 */ lui $v0, 2 +/* 88DA4C 8024044C 08090119 */ j .L80240464 +/* 88DA50 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 88DA54 80240454 3C040002 */ lui $a0, 2 +/* 88DA58 80240458 0083102A */ slt $v0, $a0, $v1 +/* 88DA5C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 88DA60 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 88DA64 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 88DA68 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 88DA6C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 88DA70 80240470 00000000 */ nop +/* 88DA74 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 88DA78 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 88DA7C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 88DA80 80240480 04610004 */ bgez $v1, .L80240494 +/* 88DA84 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 88DA88 80240488 3C020002 */ lui $v0, 2 +/* 88DA8C 8024048C 08090129 */ j .L802404A4 +/* 88DA90 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 88DA94 80240494 3C040002 */ lui $a0, 2 +/* 88DA98 80240498 0083102A */ slt $v0, $a0, $v1 +/* 88DA9C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 88DAA0 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 88DAA4 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 88DAA8 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 88DAAC 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 88DAB0 802404B0 00000000 */ nop +/* 88DAB4 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 88DAB8 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 88DABC 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 88DAC0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 88DAC4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 88DAC8 802404C8 3C020002 */ lui $v0, 2 +/* 88DACC 802404CC 08090139 */ j .L802404E4 +/* 88DAD0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 88DAD4 802404D4 3C040002 */ lui $a0, 2 +/* 88DAD8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 88DADC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 88DAE0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 88DAE4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 88DAE8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 88DAEC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 88DAF0 802404F0 00000000 */ nop +/* 88DAF4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 88DAF8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 88DAFC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 88DB00 80240500 04610004 */ bgez $v1, .L80240514 +/* 88DB04 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 88DB08 80240508 3C020002 */ lui $v0, 2 +/* 88DB0C 8024050C 08090149 */ j .L80240524 +/* 88DB10 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 88DB14 80240514 3C040002 */ lui $a0, 2 +/* 88DB18 80240518 0083102A */ slt $v0, $a0, $v1 +/* 88DB1C 8024051C 10400002 */ beqz $v0, .L80240528 +/* 88DB20 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 88DB24 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 88DB28 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 88DB2C 8024052C 0C046F07 */ jal set_main_pan_u +/* 88DB30 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 88DB34 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 88DB38 80240538 0C046F0D */ jal set_main_pan_v +/* 88DB3C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 88DB40 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 88DB44 80240544 0C046F13 */ jal set_aux_pan_u +/* 88DB48 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88DB4C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 88DB50 80240550 0C046F19 */ jal set_aux_pan_v +/* 88DB54 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 88DB58 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 88DB5C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 88DB60 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 88DB64 80240564 24420001 */ addiu $v0, $v0, 1 +/* 88DB68 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 88DB6C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 88DB70 80240570 24630001 */ addiu $v1, $v1, 1 +/* 88DB74 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 88DB78 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 88DB7C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 88DB80 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 88DB84 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 88DB88 80240588 0064182A */ slt $v1, $v1, $a0 +/* 88DB8C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 88DB90 80240590 14600002 */ bnez $v1, .L8024059C +/* 88DB94 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 88DB98 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 88DB9C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 88DBA0 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 88DBA4 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 88DBA8 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 88DBAC 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 88DBB0 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 88DBB4 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 88DBB8 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 88DBBC 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 88DBC0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 88DBC4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 88DBC8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 88DBCC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 88DBD0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 88DBD4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 88DBD8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 88DBDC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 88DBE0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 88DBE4 802405E4 03E00008 */ jr $ra +/* 88DBE8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 88DBEC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_14/func_802405F0_88D600.s b/asm/nonmatchings/world/area_tik/tik_14/func_802405F0_88D600.s new file mode 100644 index 0000000000..f86baccfc8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_14/func_802405F0_88D600.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_88DBF0 +/* 88DBF0 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 88DBF4 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 88DBF8 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 88DBFC 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 88DC00 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 88DC04 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 88DC08 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 88DC0C 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 88DC10 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 88DC14 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 88DC18 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 88DC1C 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 88DC20 80240620 0C0B1EAF */ jal get_variable +/* 88DC24 80240624 8C450000 */ lw $a1, ($v0) +/* 88DC28 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 88DC2C 8024062C 0C00EABB */ jal get_npc_unsafe +/* 88DC30 80240630 0040802D */ daddu $s0, $v0, $zero +/* 88DC34 80240634 0200202D */ daddu $a0, $s0, $zero +/* 88DC38 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 88DC3C 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 88DC40 80240640 0C046B4C */ jal get_model_from_list_index +/* 88DC44 80240644 0040202D */ daddu $a0, $v0, $zero +/* 88DC48 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 88DC4C 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 88DC50 80240650 0040902D */ daddu $s2, $v0, $zero +/* 88DC54 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 88DC58 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 88DC5C 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 88DC60 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 88DC64 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 88DC68 80240668 00000000 */ nop +/* 88DC6C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 88DC70 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 88DC74 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 88DC78 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 88DC7C 8024067C 00000000 */ nop +/* 88DC80 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 88DC84 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 88DC88 80240688 44820000 */ mtc1 $v0, $f0 +/* 88DC8C 8024068C 00000000 */ nop +/* 88DC90 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 88DC94 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 88DC98 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 88DC9C 8024069C 44810000 */ mtc1 $at, $f0 +/* 88DCA0 802406A0 00000000 */ nop +/* 88DCA4 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 88DCA8 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 88DCAC 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 88DCB0 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 88DCB4 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 88DCB8 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 88DCBC 802406BC 00000000 */ nop +/* 88DCC0 802406C0 45010004 */ bc1t .L802406D4 +/* 88DCC4 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 88DCC8 802406C8 0C0187BC */ jal sqrtf +/* 88DCCC 802406CC 00000000 */ nop +/* 88DCD0 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 88DCD4 802406D4 44800000 */ mtc1 $zero, $f0 +/* 88DCD8 802406D8 00000000 */ nop +/* 88DCDC 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 88DCE0 802406E0 00000000 */ nop +/* 88DCE4 802406E4 45000016 */ bc1f .L80240740 +/* 88DCE8 802406E8 46001106 */ mov.s $f4, $f2 +/* 88DCEC 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 88DCF0 802406F0 44820000 */ mtc1 $v0, $f0 +/* 88DCF4 802406F4 00000000 */ nop +/* 88DCF8 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 88DCFC 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 88DD00 80240700 00000000 */ nop +/* 88DD04 80240704 4500000E */ bc1f .L80240740 +/* 88DD08 80240708 00000000 */ nop +/* 88DD0C 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 88DD10 80240710 3C013F00 */ lui $at, 0x3f00 +/* 88DD14 80240714 44811000 */ mtc1 $at, $f2 +/* 88DD18 80240718 44820000 */ mtc1 $v0, $f0 +/* 88DD1C 8024071C 00000000 */ nop +/* 88DD20 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 88DD24 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 88DD28 80240728 00000000 */ nop +/* 88DD2C 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 88DD30 80240730 00000000 */ nop +/* 88DD34 80240734 45000002 */ bc1f .L80240740 +/* 88DD38 80240738 24020001 */ addiu $v0, $zero, 1 +/* 88DD3C 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 88DD40 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 88DD44 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 88DD48 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 88DD4C 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 88DD50 80240750 00000000 */ nop +/* 88DD54 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 88DD58 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 88DD5C 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 88DD60 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 88DD64 80240764 00000000 */ nop +/* 88DD68 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 88DD6C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 88DD70 80240770 44820000 */ mtc1 $v0, $f0 +/* 88DD74 80240774 00000000 */ nop +/* 88DD78 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 88DD7C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 88DD80 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 88DD84 80240784 44810000 */ mtc1 $at, $f0 +/* 88DD88 80240788 00000000 */ nop +/* 88DD8C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 88DD90 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 88DD94 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 88DD98 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 88DD9C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 88DDA0 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 88DDA4 802407A4 00000000 */ nop +/* 88DDA8 802407A8 45010004 */ bc1t .L802407BC +/* 88DDAC 802407AC 00000000 */ nop +/* 88DDB0 802407B0 0C0187BC */ jal sqrtf +/* 88DDB4 802407B4 00000000 */ nop +/* 88DDB8 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 88DDBC 802407BC 44800000 */ mtc1 $zero, $f0 +/* 88DDC0 802407C0 00000000 */ nop +/* 88DDC4 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 88DDC8 802407C8 00000000 */ nop +/* 88DDCC 802407CC 45000016 */ bc1f .L80240828 +/* 88DDD0 802407D0 46001106 */ mov.s $f4, $f2 +/* 88DDD4 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 88DDD8 802407D8 44820000 */ mtc1 $v0, $f0 +/* 88DDDC 802407DC 00000000 */ nop +/* 88DDE0 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 88DDE4 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 88DDE8 802407E8 00000000 */ nop +/* 88DDEC 802407EC 4500000F */ bc1f .L8024082C +/* 88DDF0 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 88DDF4 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 88DDF8 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 88DDFC 802407FC 44811000 */ mtc1 $at, $f2 +/* 88DE00 80240800 44820000 */ mtc1 $v0, $f0 +/* 88DE04 80240804 00000000 */ nop +/* 88DE08 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 88DE0C 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 88DE10 80240810 00000000 */ nop +/* 88DE14 80240814 4600203C */ c.lt.s $f4, $f0 +/* 88DE18 80240818 00000000 */ nop +/* 88DE1C 8024081C 45000003 */ bc1f .L8024082C +/* 88DE20 80240820 24020001 */ addiu $v0, $zero, 1 +/* 88DE24 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 88DE28 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 88DE2C 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 88DE30 80240830 4481D000 */ mtc1 $at, $f26 +/* 88DE34 80240834 4480C000 */ mtc1 $zero, $f24 +/* 88DE38 80240838 3C013F00 */ lui $at, 0x3f00 +/* 88DE3C 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 88DE40 80240840 0C00EAD2 */ jal get_npc_safe +/* 88DE44 80240844 0220202D */ daddu $a0, $s1, $zero +/* 88DE48 80240848 0040802D */ daddu $s0, $v0, $zero +/* 88DE4C 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 88DE50 80240850 26310001 */ addiu $s1, $s1, 1 +/* 88DE54 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 88DE58 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 88DE5C 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 88DE60 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 88DE64 80240864 00000000 */ nop +/* 88DE68 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 88DE6C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 88DE70 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 88DE74 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 88DE78 80240878 00000000 */ nop +/* 88DE7C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 88DE80 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 88DE84 80240884 44820000 */ mtc1 $v0, $f0 +/* 88DE88 80240888 00000000 */ nop +/* 88DE8C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 88DE90 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 88DE94 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 88DE98 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 88DE9C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 88DEA0 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 88DEA4 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 88DEA8 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 88DEAC 802408AC 00000000 */ nop +/* 88DEB0 802408B0 45010003 */ bc1t .L802408C0 +/* 88DEB4 802408B4 00000000 */ nop +/* 88DEB8 802408B8 0C0187BC */ jal sqrtf +/* 88DEBC 802408BC 00000000 */ nop +.L802408C0: +/* 88DEC0 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 88DEC4 802408C4 00000000 */ nop +/* 88DEC8 802408C8 45000015 */ bc1f .L80240920 +/* 88DECC 802408CC 46000106 */ mov.s $f4, $f0 +/* 88DED0 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 88DED4 802408D4 44820000 */ mtc1 $v0, $f0 +/* 88DED8 802408D8 00000000 */ nop +/* 88DEDC 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 88DEE0 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 88DEE4 802408E4 00000000 */ nop +/* 88DEE8 802408E8 4500000E */ bc1f .L80240924 +/* 88DEEC 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 88DEF0 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 88DEF4 802408F4 44820000 */ mtc1 $v0, $f0 +/* 88DEF8 802408F8 00000000 */ nop +/* 88DEFC 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 88DF00 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 88DF04 80240904 00000000 */ nop +/* 88DF08 80240908 4600203C */ c.lt.s $f4, $f0 +/* 88DF0C 8024090C 00000000 */ nop +/* 88DF10 80240910 45000004 */ bc1f .L80240924 +/* 88DF14 80240914 24020001 */ addiu $v0, $zero, 1 +/* 88DF18 80240918 0809024C */ j .L80240930 +/* 88DF1C 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 88DF20 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 88DF24 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 88DF28 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 88DF2C 8024092C 00000000 */ nop +.L80240930: +/* 88DF30 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 88DF34 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 88DF38 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 88DF3C 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 88DF40 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 88DF44 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 88DF48 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 88DF4C 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 88DF50 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 88DF54 80240954 24020002 */ addiu $v0, $zero, 2 +/* 88DF58 80240958 03E00008 */ jr $ra +/* 88DF5C 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240000_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240000_88FBA0.s new file mode 100644 index 0000000000..88d0b05cac --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240000_88FBA0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_88FBA0 +/* 88FBA0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 88FBA4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 88FBA8 80240008 8C430004 */ lw $v1, 4($v0) +/* 88FBAC 8024000C 3C040010 */ lui $a0, 0x10 +/* 88FBB0 80240010 00641825 */ or $v1, $v1, $a0 +/* 88FBB4 80240014 AC430004 */ sw $v1, 4($v0) +/* 88FBB8 80240018 03E00008 */ jr $ra +/* 88FBBC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240020_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240020_88FBA0.s new file mode 100644 index 0000000000..03103c506c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240020_88FBA0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_88FBC0 +/* 88FBC0 80240020 3C028016 */ lui $v0, 0x8016 +/* 88FBC4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 88FBC8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 88FBCC 8024002C 03E00008 */ jr $ra +/* 88FBD0 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240034_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240034_88FBA0.s new file mode 100644 index 0000000000..bec163c0ce --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240034_88FBA0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_88FBD4 +/* 88FBD4 80240034 3C038016 */ lui $v1, 0x8016 +/* 88FBD8 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 88FBDC 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88FBE0 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 88FBE4 80240044 0080802D */ daddu $s0, $a0, $zero +/* 88FBE8 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 88FBEC 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 88FBF0 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 88FBF4 80240054 24020002 */ addiu $v0, $zero, 2 +/* 88FBF8 80240058 08090038 */ j .L802400E0 +/* 88FBFC 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 88FC00 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 88FC04 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 88FC08 80240068 80620040 */ lb $v0, 0x40($v1) +/* 88FC0C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 88FC10 80240070 04420001 */ bltzl $v0, .L80240078 +/* 88FC14 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 88FC18 80240078 14400003 */ bnez $v0, .L80240088 +/* 88FC1C 8024007C 00000000 */ nop +/* 88FC20 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 88FC24 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 88FC28 80240088 44822000 */ mtc1 $v0, $f4 +/* 88FC2C 8024008C 00000000 */ nop +/* 88FC30 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 88FC34 80240094 44062000 */ mfc1 $a2, $f4 +/* 88FC38 80240098 44872000 */ mtc1 $a3, $f4 +/* 88FC3C 8024009C 00000000 */ nop +/* 88FC40 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 88FC44 802400A4 44806000 */ mtc1 $zero, $f12 +/* 88FC48 802400A8 44072000 */ mfc1 $a3, $f4 +/* 88FC4C 802400AC 0C00A720 */ jal atan2 +/* 88FC50 802400B0 46006386 */ mov.s $f14, $f12 +/* 88FC54 802400B4 3C014270 */ lui $at, 0x4270 +/* 88FC58 802400B8 44811000 */ mtc1 $at, $f2 +/* 88FC5C 802400BC 00000000 */ nop +/* 88FC60 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 88FC64 802400C4 00000000 */ nop +/* 88FC68 802400C8 45000004 */ bc1f .L802400DC +/* 88FC6C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 88FC70 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 88FC74 802400D4 08090038 */ j .L802400E0 +/* 88FC78 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 88FC7C 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 88FC80 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 88FC84 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 88FC88 802400E8 03E00008 */ jr $ra +/* 88FC8C 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_802400F0_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_802400F0_88FBA0.s new file mode 100644 index 0000000000..3aeced87b8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_802400F0_88FBA0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_88FC90 +/* 88FC90 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 88FC94 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 88FC98 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 88FC9C 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 88FCA0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 88FCA4 80240104 0C016AFA */ jal get_current_map_header +/* 88FCA8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 88FCAC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 88FCB0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 88FCB4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 88FCB8 80240118 0C0B1EAF */ jal get_variable +/* 88FCBC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 88FCC0 80240120 0220202D */ daddu $a0, $s1, $zero +/* 88FCC4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 88FCC8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 88FCCC 8024012C 00028100 */ sll $s0, $v0, 4 +/* 88FCD0 80240130 02031821 */ addu $v1, $s0, $v1 +/* 88FCD4 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 88FCD8 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 88FCDC 8024013C 44061000 */ mfc1 $a2, $f2 +/* 88FCE0 80240140 0C0B2026 */ jal set_variable +/* 88FCE4 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 88FCE8 80240148 0220202D */ daddu $a0, $s1, $zero +/* 88FCEC 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 88FCF0 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 88FCF4 80240154 02021021 */ addu $v0, $s0, $v0 +/* 88FCF8 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 88FCFC 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 88FD00 80240160 44061000 */ mfc1 $a2, $f2 +/* 88FD04 80240164 0C0B2026 */ jal set_variable +/* 88FD08 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 88FD0C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 88FD10 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 88FD14 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 88FD18 80240178 02021021 */ addu $v0, $s0, $v0 +/* 88FD1C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 88FD20 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 88FD24 80240184 44061000 */ mfc1 $a2, $f2 +/* 88FD28 80240188 0C0B2026 */ jal set_variable +/* 88FD2C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 88FD30 80240190 0220202D */ daddu $a0, $s1, $zero +/* 88FD34 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 88FD38 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 88FD3C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 88FD40 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 88FD44 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 88FD48 802401A8 44061000 */ mfc1 $a2, $f2 +/* 88FD4C 802401AC 0C0B2026 */ jal set_variable +/* 88FD50 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 88FD54 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 88FD58 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 88FD5C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 88FD60 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 88FD64 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 88FD68 802401C8 03E00008 */ jr $ra +/* 88FD6C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_802401D0_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_802401D0_88FBA0.s new file mode 100644 index 0000000000..af3eb9a58e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_802401D0_88FBA0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_88FD70 +/* 88FD70 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 88FD74 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 88FD78 802401D8 3C014334 */ lui $at, 0x4334 +/* 88FD7C 802401DC 44816000 */ mtc1 $at, $f12 +/* 88FD80 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88FD84 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 88FD88 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 88FD8C 802401EC 00031080 */ sll $v0, $v1, 2 +/* 88FD90 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 88FD94 802401F4 00021080 */ sll $v0, $v0, 2 +/* 88FD98 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 88FD9C 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 88FDA0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 88FDA4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 88FDA8 80240208 3C01800B */ lui $at, 0x800b +/* 88FDAC 8024020C 00220821 */ addu $at, $at, $v0 +/* 88FDB0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 88FDB4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 88FDB8 80240218 0C00A6C9 */ jal clamp_angle +/* 88FDBC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 88FDC0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 88FDC4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 88FDC8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 88FDCC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 88FDD0 80240230 24020002 */ addiu $v0, $zero, 2 +/* 88FDD4 80240234 03E00008 */ jr $ra +/* 88FDD8 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_8024023C_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_8024023C_88FBA0.s new file mode 100644 index 0000000000..cd12d76e46 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_8024023C_88FBA0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_88FDDC +/* 88FDDC 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 88FDE0 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 88FDE4 80240244 0080802D */ daddu $s0, $a0, $zero +/* 88FDE8 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 88FDEC 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 88FDF0 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 88FDF4 80240254 0C0B210B */ jal get_float_variable +/* 88FDF8 80240258 8C450000 */ lw $a1, ($v0) +/* 88FDFC 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 88FE00 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 88FE04 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 88FE08 80240268 44060000 */ mfc1 $a2, $f0 +/* 88FE0C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 88FE10 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 88FE14 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 88FE18 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 88FE1C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 88FE20 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 88FE24 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 88FE28 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 88FE2C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 88FE30 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 88FE34 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 88FE38 80240298 0C0B2190 */ jal set_float_variable +/* 88FE3C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 88FE40 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 88FE44 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 88FE48 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 88FE4C 802402AC 0C0B2190 */ jal set_float_variable +/* 88FE50 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 88FE54 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 88FE58 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 88FE5C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 88FE60 802402C0 0C0B2190 */ jal set_float_variable +/* 88FE64 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 88FE68 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 88FE6C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 88FE70 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 88FE74 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 88FE78 802402D8 03E00008 */ jr $ra +/* 88FE7C 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_802402E0_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_802402E0_88FBA0.s new file mode 100644 index 0000000000..79d09ce412 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_802402E0_88FBA0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_88FE80 +/* 88FE80 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88FE84 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 88FE88 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 88FE8C 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 88FE90 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 88FE94 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 88FE98 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 88FE9C 802402FC 04610004 */ bgez $v1, .L80240310 +/* 88FEA0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 88FEA4 80240304 3C020002 */ lui $v0, 2 +/* 88FEA8 80240308 080900C8 */ j .L80240320 +/* 88FEAC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 88FEB0 80240310 3C040002 */ lui $a0, 2 +/* 88FEB4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 88FEB8 80240318 10400002 */ beqz $v0, .L80240324 +/* 88FEBC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 88FEC0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 88FEC4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 88FEC8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 88FECC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 88FED0 80240330 04610004 */ bgez $v1, .L80240344 +/* 88FED4 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 88FED8 80240338 3C020002 */ lui $v0, 2 +/* 88FEDC 8024033C 080900D5 */ j .L80240354 +/* 88FEE0 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 88FEE4 80240344 3C040002 */ lui $a0, 2 +/* 88FEE8 80240348 0083102A */ slt $v0, $a0, $v1 +/* 88FEEC 8024034C 10400002 */ beqz $v0, .L80240358 +/* 88FEF0 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 88FEF4 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 88FEF8 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 88FEFC 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 88FF00 80240360 00621821 */ addu $v1, $v1, $v0 +/* 88FF04 80240364 04610004 */ bgez $v1, .L80240378 +/* 88FF08 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 88FF0C 8024036C 3C020002 */ lui $v0, 2 +/* 88FF10 80240370 080900E2 */ j .L80240388 +/* 88FF14 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 88FF18 80240378 3C040002 */ lui $a0, 2 +/* 88FF1C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 88FF20 80240380 10400002 */ beqz $v0, .L8024038C +/* 88FF24 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 88FF28 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 88FF2C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 88FF30 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 88FF34 80240394 00621821 */ addu $v1, $v1, $v0 +/* 88FF38 80240398 04610004 */ bgez $v1, .L802403AC +/* 88FF3C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 88FF40 802403A0 3C020002 */ lui $v0, 2 +/* 88FF44 802403A4 080900EF */ j .L802403BC +/* 88FF48 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 88FF4C 802403AC 3C040002 */ lui $a0, 2 +/* 88FF50 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 88FF54 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 88FF58 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 88FF5C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 88FF60 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 88FF64 802403C4 0C046F07 */ jal set_main_pan_u +/* 88FF68 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 88FF6C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 88FF70 802403D0 0C046F0D */ jal set_main_pan_v +/* 88FF74 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 88FF78 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 88FF7C 802403DC 0C046F13 */ jal set_aux_pan_u +/* 88FF80 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 88FF84 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 88FF88 802403E8 0C046F19 */ jal set_aux_pan_v +/* 88FF8C 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 88FF90 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 88FF94 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 88FF98 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 88FF9C 802403FC 03E00008 */ jr $ra +/* 88FFA0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240404_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240404_88FBA0.s new file mode 100644 index 0000000000..03c86f2a8a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240404_88FBA0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_88FFA4 +/* 88FFA4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 88FFA8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 88FFAC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 88FFB0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 88FFB4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 88FFB8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 88FFBC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 88FFC0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 88FFC4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 88FFC8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 88FFCC 8024042C 1440000E */ bnez $v0, .L80240468 +/* 88FFD0 80240430 00000000 */ nop +/* 88FFD4 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 88FFD8 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 88FFDC 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 88FFE0 80240440 04610004 */ bgez $v1, .L80240454 +/* 88FFE4 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 88FFE8 80240448 3C020002 */ lui $v0, 2 +/* 88FFEC 8024044C 08090119 */ j .L80240464 +/* 88FFF0 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 88FFF4 80240454 3C040002 */ lui $a0, 2 +/* 88FFF8 80240458 0083102A */ slt $v0, $a0, $v1 +/* 88FFFC 8024045C 10400002 */ beqz $v0, .L80240468 +/* 890000 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 890004 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 890008 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 89000C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 890010 80240470 00000000 */ nop +/* 890014 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 890018 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 89001C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 890020 80240480 04610004 */ bgez $v1, .L80240494 +/* 890024 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 890028 80240488 3C020002 */ lui $v0, 2 +/* 89002C 8024048C 08090129 */ j .L802404A4 +/* 890030 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 890034 80240494 3C040002 */ lui $a0, 2 +/* 890038 80240498 0083102A */ slt $v0, $a0, $v1 +/* 89003C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 890040 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 890044 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 890048 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 89004C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 890050 802404B0 00000000 */ nop +/* 890054 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 890058 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 89005C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 890060 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 890064 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 890068 802404C8 3C020002 */ lui $v0, 2 +/* 89006C 802404CC 08090139 */ j .L802404E4 +/* 890070 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 890074 802404D4 3C040002 */ lui $a0, 2 +/* 890078 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 89007C 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 890080 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 890084 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 890088 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 89008C 802404EC 1440000E */ bnez $v0, .L80240528 +/* 890090 802404F0 00000000 */ nop +/* 890094 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 890098 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 89009C 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8900A0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8900A4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8900A8 80240508 3C020002 */ lui $v0, 2 +/* 8900AC 8024050C 08090149 */ j .L80240524 +/* 8900B0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8900B4 80240514 3C040002 */ lui $a0, 2 +/* 8900B8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8900BC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 8900C0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 8900C4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 8900C8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 8900CC 8024052C 0C046F07 */ jal set_main_pan_u +/* 8900D0 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8900D4 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 8900D8 80240538 0C046F0D */ jal set_main_pan_v +/* 8900DC 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 8900E0 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 8900E4 80240544 0C046F13 */ jal set_aux_pan_u +/* 8900E8 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8900EC 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 8900F0 80240550 0C046F19 */ jal set_aux_pan_v +/* 8900F4 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8900F8 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 8900FC 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 890100 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 890104 80240564 24420001 */ addiu $v0, $v0, 1 +/* 890108 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 89010C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 890110 80240570 24630001 */ addiu $v1, $v1, 1 +/* 890114 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 890118 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 89011C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 890120 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 890124 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 890128 80240588 0064182A */ slt $v1, $v1, $a0 +/* 89012C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 890130 80240590 14600002 */ bnez $v1, .L8024059C +/* 890134 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 890138 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 89013C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 890140 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 890144 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 890148 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 89014C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 890150 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 890154 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 890158 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 89015C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 890160 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 890164 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 890168 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 89016C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 890170 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 890174 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 890178 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 89017C 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 890180 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 890184 802405E4 03E00008 */ jr $ra +/* 890188 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 89018C 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_802405F0_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_802405F0_88FBA0.s new file mode 100644 index 0000000000..15e71c11ee --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_802405F0_88FBA0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_890190 +/* 890190 802405F0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 890194 802405F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 890198 802405F8 0080982D */ daddu $s3, $a0, $zero +/* 89019C 802405FC AFBF0020 */ sw $ra, 0x20($sp) +/* 8901A0 80240600 AFB20018 */ sw $s2, 0x18($sp) +/* 8901A4 80240604 AFB10014 */ sw $s1, 0x14($sp) +/* 8901A8 80240608 AFB00010 */ sw $s0, 0x10($sp) +/* 8901AC 8024060C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8901B0 80240610 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8901B4 80240614 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8901B8 80240618 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8901BC 8024061C 8E62000C */ lw $v0, 0xc($s3) +/* 8901C0 80240620 0C0B1EAF */ jal get_variable +/* 8901C4 80240624 8C450000 */ lw $a1, ($v0) +/* 8901C8 80240628 2404FFFC */ addiu $a0, $zero, -4 +/* 8901CC 8024062C 0C00EABB */ jal get_npc_unsafe +/* 8901D0 80240630 0040802D */ daddu $s0, $v0, $zero +/* 8901D4 80240634 0200202D */ daddu $a0, $s0, $zero +/* 8901D8 80240638 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8901DC 8024063C 0040802D */ daddu $s0, $v0, $zero +/* 8901E0 80240640 0C046B4C */ jal get_model_from_list_index +/* 8901E4 80240644 0040202D */ daddu $a0, $v0, $zero +/* 8901E8 80240648 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8901EC 8024064C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8901F0 80240650 0040902D */ daddu $s2, $v0, $zero +/* 8901F4 80240654 AE60008C */ sw $zero, 0x8c($s3) +/* 8901F8 80240658 C4620028 */ lwc1 $f2, 0x28($v1) +/* 8901FC 8024065C C6400098 */ lwc1 $f0, 0x98($s2) +/* 890200 80240660 46001081 */ sub.s $f2, $f2, $f0 +/* 890204 80240664 46021182 */ mul.s $f6, $f2, $f2 +/* 890208 80240668 00000000 */ nop +/* 89020C 8024066C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 890210 80240670 C4620030 */ lwc1 $f2, 0x30($v1) +/* 890214 80240674 46001081 */ sub.s $f2, $f2, $f0 +/* 890218 80240678 46021102 */ mul.s $f4, $f2, $f2 +/* 89021C 8024067C 00000000 */ nop +/* 890220 80240680 846200B0 */ lh $v0, 0xb0($v1) +/* 890224 80240684 C462002C */ lwc1 $f2, 0x2c($v1) +/* 890228 80240688 44820000 */ mtc1 $v0, $f0 +/* 89022C 8024068C 00000000 */ nop +/* 890230 80240690 46800020 */ cvt.s.w $f0, $f0 +/* 890234 80240694 46001080 */ add.s $f2, $f2, $f0 +/* 890238 80240698 3C013FC0 */ lui $at, 0x3fc0 +/* 89023C 8024069C 44810000 */ mtc1 $at, $f0 +/* 890240 802406A0 00000000 */ nop +/* 890244 802406A4 46001081 */ sub.s $f2, $f2, $f0 +/* 890248 802406A8 46043300 */ add.s $f12, $f6, $f4 +/* 89024C 802406AC C640009C */ lwc1 $f0, 0x9c($s2) +/* 890250 802406B0 46001501 */ sub.s $f20, $f2, $f0 +/* 890254 802406B4 46006084 */ sqrt.s $f2, $f12 +/* 890258 802406B8 46021032 */ c.eq.s $f2, $f2 +/* 89025C 802406BC 00000000 */ nop +/* 890260 802406C0 45010004 */ bc1t .L802406D4 +/* 890264 802406C4 0060882D */ daddu $s1, $v1, $zero +/* 890268 802406C8 0C0187BC */ jal sqrtf +/* 89026C 802406CC 00000000 */ nop +/* 890270 802406D0 46000086 */ mov.s $f2, $f0 +.L802406D4: +/* 890274 802406D4 44800000 */ mtc1 $zero, $f0 +/* 890278 802406D8 00000000 */ nop +/* 89027C 802406DC 4614003C */ c.lt.s $f0, $f20 +/* 890280 802406E0 00000000 */ nop +/* 890284 802406E4 45000016 */ bc1f .L80240740 +/* 890288 802406E8 46001106 */ mov.s $f4, $f2 +/* 89028C 802406EC 862200B0 */ lh $v0, 0xb0($s1) +/* 890290 802406F0 44820000 */ mtc1 $v0, $f0 +/* 890294 802406F4 00000000 */ nop +/* 890298 802406F8 46800020 */ cvt.s.w $f0, $f0 +/* 89029C 802406FC 4600A03C */ c.lt.s $f20, $f0 +/* 8902A0 80240700 00000000 */ nop +/* 8902A4 80240704 4500000E */ bc1f .L80240740 +/* 8902A8 80240708 00000000 */ nop +/* 8902AC 8024070C 862200B2 */ lh $v0, 0xb2($s1) +/* 8902B0 80240710 3C013F00 */ lui $at, 0x3f00 +/* 8902B4 80240714 44811000 */ mtc1 $at, $f2 +/* 8902B8 80240718 44820000 */ mtc1 $v0, $f0 +/* 8902BC 8024071C 00000000 */ nop +/* 8902C0 80240720 46800020 */ cvt.s.w $f0, $f0 +/* 8902C4 80240724 46020002 */ mul.s $f0, $f0, $f2 +/* 8902C8 80240728 00000000 */ nop +/* 8902CC 8024072C 4600203C */ c.lt.s $f4, $f0 +/* 8902D0 80240730 00000000 */ nop +/* 8902D4 80240734 45000002 */ bc1f .L80240740 +/* 8902D8 80240738 24020001 */ addiu $v0, $zero, 1 +/* 8902DC 8024073C AE62008C */ sw $v0, 0x8c($s3) +.L80240740: +/* 8902E0 80240740 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8902E4 80240744 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8902E8 80240748 46001081 */ sub.s $f2, $f2, $f0 +/* 8902EC 8024074C 46021182 */ mul.s $f6, $f2, $f2 +/* 8902F0 80240750 00000000 */ nop +/* 8902F4 80240754 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8902F8 80240758 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8902FC 8024075C 46001081 */ sub.s $f2, $f2, $f0 +/* 890300 80240760 46021102 */ mul.s $f4, $f2, $f2 +/* 890304 80240764 00000000 */ nop +/* 890308 80240768 860200A8 */ lh $v0, 0xa8($s0) +/* 89030C 8024076C C602003C */ lwc1 $f2, 0x3c($s0) +/* 890310 80240770 44820000 */ mtc1 $v0, $f0 +/* 890314 80240774 00000000 */ nop +/* 890318 80240778 46800020 */ cvt.s.w $f0, $f0 +/* 89031C 8024077C 46001080 */ add.s $f2, $f2, $f0 +/* 890320 80240780 3C013FC0 */ lui $at, 0x3fc0 +/* 890324 80240784 44810000 */ mtc1 $at, $f0 +/* 890328 80240788 00000000 */ nop +/* 89032C 8024078C 46001081 */ sub.s $f2, $f2, $f0 +/* 890330 80240790 46043300 */ add.s $f12, $f6, $f4 +/* 890334 80240794 C640009C */ lwc1 $f0, 0x9c($s2) +/* 890338 80240798 46001501 */ sub.s $f20, $f2, $f0 +/* 89033C 8024079C 46006084 */ sqrt.s $f2, $f12 +/* 890340 802407A0 46021032 */ c.eq.s $f2, $f2 +/* 890344 802407A4 00000000 */ nop +/* 890348 802407A8 45010004 */ bc1t .L802407BC +/* 89034C 802407AC 00000000 */ nop +/* 890350 802407B0 0C0187BC */ jal sqrtf +/* 890354 802407B4 00000000 */ nop +/* 890358 802407B8 46000086 */ mov.s $f2, $f0 +.L802407BC: +/* 89035C 802407BC 44800000 */ mtc1 $zero, $f0 +/* 890360 802407C0 00000000 */ nop +/* 890364 802407C4 4614003C */ c.lt.s $f0, $f20 +/* 890368 802407C8 00000000 */ nop +/* 89036C 802407CC 45000016 */ bc1f .L80240828 +/* 890370 802407D0 46001106 */ mov.s $f4, $f2 +/* 890374 802407D4 860200A8 */ lh $v0, 0xa8($s0) +/* 890378 802407D8 44820000 */ mtc1 $v0, $f0 +/* 89037C 802407DC 00000000 */ nop +/* 890380 802407E0 46800020 */ cvt.s.w $f0, $f0 +/* 890384 802407E4 4600A03C */ c.lt.s $f20, $f0 +/* 890388 802407E8 00000000 */ nop +/* 89038C 802407EC 4500000F */ bc1f .L8024082C +/* 890390 802407F0 0000882D */ daddu $s1, $zero, $zero +/* 890394 802407F4 860200A6 */ lh $v0, 0xa6($s0) +/* 890398 802407F8 3C013F00 */ lui $at, 0x3f00 +/* 89039C 802407FC 44811000 */ mtc1 $at, $f2 +/* 8903A0 80240800 44820000 */ mtc1 $v0, $f0 +/* 8903A4 80240804 00000000 */ nop +/* 8903A8 80240808 46800020 */ cvt.s.w $f0, $f0 +/* 8903AC 8024080C 46020002 */ mul.s $f0, $f0, $f2 +/* 8903B0 80240810 00000000 */ nop +/* 8903B4 80240814 4600203C */ c.lt.s $f4, $f0 +/* 8903B8 80240818 00000000 */ nop +/* 8903BC 8024081C 45000003 */ bc1f .L8024082C +/* 8903C0 80240820 24020001 */ addiu $v0, $zero, 1 +/* 8903C4 80240824 AE62008C */ sw $v0, 0x8c($s3) +.L80240828: +/* 8903C8 80240828 0000882D */ daddu $s1, $zero, $zero +.L8024082C: +/* 8903CC 8024082C 3C013FC0 */ lui $at, 0x3fc0 +/* 8903D0 80240830 4481D000 */ mtc1 $at, $f26 +/* 8903D4 80240834 4480C000 */ mtc1 $zero, $f24 +/* 8903D8 80240838 3C013F00 */ lui $at, 0x3f00 +/* 8903DC 8024083C 4481B000 */ mtc1 $at, $f22 +.L80240840: +/* 8903E0 80240840 0C00EAD2 */ jal get_npc_safe +/* 8903E4 80240844 0220202D */ daddu $a0, $s1, $zero +/* 8903E8 80240848 0040802D */ daddu $s0, $v0, $zero +/* 8903EC 8024084C 52000035 */ beql $s0, $zero, .L80240924 +/* 8903F0 80240850 26310001 */ addiu $s1, $s1, 1 +/* 8903F4 80240854 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8903F8 80240858 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8903FC 8024085C 46001081 */ sub.s $f2, $f2, $f0 +/* 890400 80240860 46021182 */ mul.s $f6, $f2, $f2 +/* 890404 80240864 00000000 */ nop +/* 890408 80240868 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89040C 8024086C C6020040 */ lwc1 $f2, 0x40($s0) +/* 890410 80240870 46001081 */ sub.s $f2, $f2, $f0 +/* 890414 80240874 46021102 */ mul.s $f4, $f2, $f2 +/* 890418 80240878 00000000 */ nop +/* 89041C 8024087C 860200A8 */ lh $v0, 0xa8($s0) +/* 890420 80240880 C602003C */ lwc1 $f2, 0x3c($s0) +/* 890424 80240884 44820000 */ mtc1 $v0, $f0 +/* 890428 80240888 00000000 */ nop +/* 89042C 8024088C 46800020 */ cvt.s.w $f0, $f0 +/* 890430 80240890 46001080 */ add.s $f2, $f2, $f0 +/* 890434 80240894 461A1081 */ sub.s $f2, $f2, $f26 +/* 890438 80240898 46043300 */ add.s $f12, $f6, $f4 +/* 89043C 8024089C C640009C */ lwc1 $f0, 0x9c($s2) +/* 890440 802408A0 46001501 */ sub.s $f20, $f2, $f0 +/* 890444 802408A4 46006004 */ sqrt.s $f0, $f12 +/* 890448 802408A8 46000032 */ c.eq.s $f0, $f0 +/* 89044C 802408AC 00000000 */ nop +/* 890450 802408B0 45010003 */ bc1t .L802408C0 +/* 890454 802408B4 00000000 */ nop +/* 890458 802408B8 0C0187BC */ jal sqrtf +/* 89045C 802408BC 00000000 */ nop +.L802408C0: +/* 890460 802408C0 4614C03C */ c.lt.s $f24, $f20 +/* 890464 802408C4 00000000 */ nop +/* 890468 802408C8 45000015 */ bc1f .L80240920 +/* 89046C 802408CC 46000106 */ mov.s $f4, $f0 +/* 890470 802408D0 860200A8 */ lh $v0, 0xa8($s0) +/* 890474 802408D4 44820000 */ mtc1 $v0, $f0 +/* 890478 802408D8 00000000 */ nop +/* 89047C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 890480 802408E0 4600A03C */ c.lt.s $f20, $f0 +/* 890484 802408E4 00000000 */ nop +/* 890488 802408E8 4500000E */ bc1f .L80240924 +/* 89048C 802408EC 26310001 */ addiu $s1, $s1, 1 +/* 890490 802408F0 860200A6 */ lh $v0, 0xa6($s0) +/* 890494 802408F4 44820000 */ mtc1 $v0, $f0 +/* 890498 802408F8 00000000 */ nop +/* 89049C 802408FC 46800020 */ cvt.s.w $f0, $f0 +/* 8904A0 80240900 46160002 */ mul.s $f0, $f0, $f22 +/* 8904A4 80240904 00000000 */ nop +/* 8904A8 80240908 4600203C */ c.lt.s $f4, $f0 +/* 8904AC 8024090C 00000000 */ nop +/* 8904B0 80240910 45000004 */ bc1f .L80240924 +/* 8904B4 80240914 24020001 */ addiu $v0, $zero, 1 +/* 8904B8 80240918 0809024C */ j .L80240930 +/* 8904BC 8024091C AE62008C */ sw $v0, 0x8c($s3) +.L80240920: +/* 8904C0 80240920 26310001 */ addiu $s1, $s1, 1 +.L80240924: +/* 8904C4 80240924 2A220040 */ slti $v0, $s1, 0x40 +/* 8904C8 80240928 1440FFC5 */ bnez $v0, .L80240840 +/* 8904CC 8024092C 00000000 */ nop +.L80240930: +/* 8904D0 80240930 8FBF0020 */ lw $ra, 0x20($sp) +/* 8904D4 80240934 8FB3001C */ lw $s3, 0x1c($sp) +/* 8904D8 80240938 8FB20018 */ lw $s2, 0x18($sp) +/* 8904DC 8024093C 8FB10014 */ lw $s1, 0x14($sp) +/* 8904E0 80240940 8FB00010 */ lw $s0, 0x10($sp) +/* 8904E4 80240944 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8904E8 80240948 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8904EC 8024094C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8904F0 80240950 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8904F4 80240954 24020002 */ addiu $v0, $zero, 2 +/* 8904F8 80240958 03E00008 */ jr $ra +/* 8904FC 8024095C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240960_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240960_88FBA0.s new file mode 100644 index 0000000000..00990681c9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240960_88FBA0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_890500 +/* 890500 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 890504 80240964 AFB00010 */ sw $s0, 0x10($sp) +/* 890508 80240968 3C108024 */ lui $s0, 0x8024 +/* 89050C 8024096C 26102758 */ addiu $s0, $s0, 0x2758 +/* 890510 80240970 AFBF0018 */ sw $ra, 0x18($sp) +/* 890514 80240974 AFB10014 */ sw $s1, 0x14($sp) +/* 890518 80240978 8E020000 */ lw $v0, ($s0) +/* 89051C 8024097C 14400010 */ bnez $v0, .L802409C0 +/* 890520 80240980 0080882D */ daddu $s1, $a0, $zero +/* 890524 80240984 0C00AB39 */ jal heap_malloc +/* 890528 80240988 24040040 */ addiu $a0, $zero, 0x40 +/* 89052C 8024098C AE020000 */ sw $v0, ($s0) +/* 890530 80240990 0000182D */ daddu $v1, $zero, $zero +/* 890534 80240994 0040282D */ daddu $a1, $v0, $zero +/* 890538 80240998 0220202D */ daddu $a0, $s1, $zero +.L8024099C: +/* 89053C 8024099C 8C820084 */ lw $v0, 0x84($a0) +/* 890540 802409A0 24840004 */ addiu $a0, $a0, 4 +/* 890544 802409A4 24630001 */ addiu $v1, $v1, 1 +/* 890548 802409A8 ACA20000 */ sw $v0, ($a1) +/* 89054C 802409AC 28620010 */ slti $v0, $v1, 0x10 +/* 890550 802409B0 1440FFFA */ bnez $v0, .L8024099C +/* 890554 802409B4 24A50004 */ addiu $a1, $a1, 4 +/* 890558 802409B8 0809027F */ j .L802409FC +/* 89055C 802409BC 00000000 */ nop +.L802409C0: +/* 890560 802409C0 0000182D */ daddu $v1, $zero, $zero +/* 890564 802409C4 0040282D */ daddu $a1, $v0, $zero +/* 890568 802409C8 0220202D */ daddu $a0, $s1, $zero +.L802409CC: +/* 89056C 802409CC 8CA20000 */ lw $v0, ($a1) +/* 890570 802409D0 24A50004 */ addiu $a1, $a1, 4 +/* 890574 802409D4 24630001 */ addiu $v1, $v1, 1 +/* 890578 802409D8 AC820084 */ sw $v0, 0x84($a0) +/* 89057C 802409DC 28620010 */ slti $v0, $v1, 0x10 +/* 890580 802409E0 1440FFFA */ bnez $v0, .L802409CC +/* 890584 802409E4 24840004 */ addiu $a0, $a0, 4 +/* 890588 802409E8 3C108024 */ lui $s0, 0x8024 +/* 89058C 802409EC 26102758 */ addiu $s0, $s0, 0x2758 +/* 890590 802409F0 0C00AB4B */ jal heap_free +/* 890594 802409F4 8E040000 */ lw $a0, ($s0) +/* 890598 802409F8 AE000000 */ sw $zero, ($s0) +.L802409FC: +/* 89059C 802409FC 8FBF0018 */ lw $ra, 0x18($sp) +/* 8905A0 80240A00 8FB10014 */ lw $s1, 0x14($sp) +/* 8905A4 80240A04 8FB00010 */ lw $s0, 0x10($sp) +/* 8905A8 80240A08 24020002 */ addiu $v0, $zero, 2 +/* 8905AC 80240A0C 03E00008 */ jr $ra +/* 8905B0 80240A10 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240A14_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240A14_88FBA0.s new file mode 100644 index 0000000000..627c96d39f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240A14_88FBA0.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A14_8905B4 +/* 8905B4 80240A14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8905B8 80240A18 AFB00010 */ sw $s0, 0x10($sp) +/* 8905BC 80240A1C 0080802D */ daddu $s0, $a0, $zero +/* 8905C0 80240A20 AFBF0018 */ sw $ra, 0x18($sp) +/* 8905C4 80240A24 AFB10014 */ sw $s1, 0x14($sp) +/* 8905C8 80240A28 8E02000C */ lw $v0, 0xc($s0) +/* 8905CC 80240A2C 8C510000 */ lw $s1, ($v0) +/* 8905D0 80240A30 0C0B1EAF */ jal get_variable +/* 8905D4 80240A34 0220282D */ daddu $a1, $s1, $zero +/* 8905D8 80240A38 3C03FFF0 */ lui $v1, 0xfff0 +/* 8905DC 80240A3C 3463FFFF */ ori $v1, $v1, 0xffff +/* 8905E0 80240A40 0200202D */ daddu $a0, $s0, $zero +/* 8905E4 80240A44 00431024 */ and $v0, $v0, $v1 +/* 8905E8 80240A48 00021140 */ sll $v0, $v0, 5 +/* 8905EC 80240A4C 3C068008 */ lui $a2, %hi(gItemTable) +/* 8905F0 80240A50 00C23021 */ addu $a2, $a2, $v0 +/* 8905F4 80240A54 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 8905F8 80240A58 0C0B2026 */ jal set_variable +/* 8905FC 80240A5C 0220282D */ daddu $a1, $s1, $zero +/* 890600 80240A60 8FBF0018 */ lw $ra, 0x18($sp) +/* 890604 80240A64 8FB10014 */ lw $s1, 0x14($sp) +/* 890608 80240A68 8FB00010 */ lw $s0, 0x10($sp) +/* 89060C 80240A6C 24020002 */ addiu $v0, $zero, 2 +/* 890610 80240A70 03E00008 */ jr $ra +/* 890614 80240A74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240A78_88FBA0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240A78_88FBA0.s new file mode 100644 index 0000000000..4b890f80dd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240A78_88FBA0.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A78_890618 +/* 890618 80240A78 8C820084 */ lw $v0, 0x84($a0) +/* 89061C 80240A7C 3C038024 */ lui $v1, 0x8024 +/* 890620 80240A80 246327BC */ addiu $v1, $v1, 0x27bc +/* 890624 80240A84 000210C0 */ sll $v0, $v0, 3 +/* 890628 80240A88 00431021 */ addu $v0, $v0, $v1 +/* 89062C 80240A8C 8C430000 */ lw $v1, ($v0) +/* 890630 80240A90 AC8300AC */ sw $v1, 0xac($a0) +/* 890634 80240A94 8C420004 */ lw $v0, 4($v0) +/* 890638 80240A98 AC8200B0 */ sw $v0, 0xb0($a0) +/* 89063C 80240A9C 03E00008 */ jr $ra +/* 890640 80240AA0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240AA4.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240AA4.s new file mode 100644 index 0000000000..f45ff87a0b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240AA4.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AA4 +/* 890644 80240AA4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 890648 80240AA8 AFB00010 */ sw $s0, 0x10($sp) +/* 89064C 80240AAC AFBF0014 */ sw $ra, 0x14($sp) +/* 890650 80240AB0 0C039D88 */ jal get_item_empty_count +/* 890654 80240AB4 0080802D */ daddu $s0, $a0, $zero +/* 890658 80240AB8 AE020084 */ sw $v0, 0x84($s0) +/* 89065C 80240ABC 8FBF0014 */ lw $ra, 0x14($sp) +/* 890660 80240AC0 8FB00010 */ lw $s0, 0x10($sp) +/* 890664 80240AC4 24020002 */ addiu $v0, $zero, 2 +/* 890668 80240AC8 03E00008 */ jr $ra +/* 89066C 80240ACC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_15/func_80240AD0.s b/asm/nonmatchings/world/area_tik/tik_15/func_80240AD0.s new file mode 100644 index 0000000000..a492eef98f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_15/func_80240AD0.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD0 +/* 890670 80240AD0 3C068011 */ lui $a2, 0x8011 +/* 890674 80240AD4 84C6F29C */ lh $a2, -0xd64($a2) +/* 890678 80240AD8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89067C 80240ADC AFBF0010 */ sw $ra, 0x10($sp) +/* 890680 80240AE0 8C82000C */ lw $v0, 0xc($a0) +/* 890684 80240AE4 28C60040 */ slti $a2, $a2, 0x40 +/* 890688 80240AE8 8C450000 */ lw $a1, ($v0) +/* 89068C 80240AEC 0C0B2026 */ jal set_variable +/* 890690 80240AF0 38C60001 */ xori $a2, $a2, 1 +/* 890694 80240AF4 8FBF0010 */ lw $ra, 0x10($sp) +/* 890698 80240AF8 24020002 */ addiu $v0, $zero, 2 +/* 89069C 80240AFC 03E00008 */ jr $ra +/* 8906A0 80240B00 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8906A4 80240B04 00000000 */ nop +/* 8906A8 80240B08 00000000 */ nop +/* 8906AC 80240B0C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240000_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240000_892A20.s new file mode 100644 index 0000000000..0b5f20e2e7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240000_892A20.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_892A20 +/* 892A20 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 892A24 80240004 0000202D */ daddu $a0, $zero, $zero +/* 892A28 80240008 AFBF0010 */ sw $ra, 0x10($sp) +/* 892A2C 8024000C 0C052AC3 */ jal func_8014AB0C +/* 892A30 80240010 24050002 */ addiu $a1, $zero, 2 +/* 892A34 80240014 8FBF0010 */ lw $ra, 0x10($sp) +/* 892A38 80240018 24020002 */ addiu $v0, $zero, 2 +/* 892A3C 8024001C 03E00008 */ jr $ra +/* 892A40 80240020 27BD0018 */ addiu $sp, $sp, 0x18 +/* 892A44 80240024 00000000 */ nop +/* 892A48 80240028 00000000 */ nop +/* 892A4C 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240030_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240030_892A20.s new file mode 100644 index 0000000000..c16d33736b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240030_892A20.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_892A50 +/* 892A50 80240030 3C03800A */ lui $v1, %hi(D_8009A650) +/* 892A54 80240034 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 892A58 80240038 8C620000 */ lw $v0, ($v1) +/* 892A5C 8024003C 34420040 */ ori $v0, $v0, 0x40 +/* 892A60 80240040 AC620000 */ sw $v0, ($v1) +/* 892A64 80240044 03E00008 */ jr $ra +/* 892A68 80240048 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_8024004C.s b/asm/nonmatchings/world/area_tik/tik_17/func_8024004C.s new file mode 100644 index 0000000000..6d612eddf0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_8024004C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C +/* 892A6C 8024004C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 892A70 80240050 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 892A74 80240054 8C430000 */ lw $v1, ($v0) +/* 892A78 80240058 2404FFBF */ addiu $a0, $zero, -0x41 +/* 892A7C 8024005C 00641824 */ and $v1, $v1, $a0 +/* 892A80 80240060 AC430000 */ sw $v1, ($v0) +/* 892A84 80240064 03E00008 */ jr $ra +/* 892A88 80240068 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_8024006C.s b/asm/nonmatchings/world/area_tik/tik_17/func_8024006C.s new file mode 100644 index 0000000000..cf066f66ca --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_8024006C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C +/* 892A8C 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 892A90 80240070 AFBF0010 */ sw $ra, 0x10($sp) +/* 892A94 80240074 8C82000C */ lw $v0, 0xc($a0) +/* 892A98 80240078 0C0B1EAF */ jal get_variable +/* 892A9C 8024007C 8C450000 */ lw $a1, ($v0) +/* 892AA0 80240080 0C0B95A4 */ jal func_802E5690 +/* 892AA4 80240084 0040202D */ daddu $a0, $v0, $zero +/* 892AA8 80240088 8FBF0010 */ lw $ra, 0x10($sp) +/* 892AAC 8024008C 24020002 */ addiu $v0, $zero, 2 +/* 892AB0 80240090 03E00008 */ jr $ra +/* 892AB4 80240094 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240098.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240098.s new file mode 100644 index 0000000000..d32d810ea0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240098.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240098 +/* 892AB8 80240098 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 892ABC 8024009C AFB00010 */ sw $s0, 0x10($sp) +/* 892AC0 802400A0 0080802D */ daddu $s0, $a0, $zero +/* 892AC4 802400A4 AFBF0018 */ sw $ra, 0x18($sp) +/* 892AC8 802400A8 AFB10014 */ sw $s1, 0x14($sp) +/* 892ACC 802400AC 8E11000C */ lw $s1, 0xc($s0) +/* 892AD0 802400B0 8E250000 */ lw $a1, ($s1) +/* 892AD4 802400B4 0C0B1EAF */ jal get_variable +/* 892AD8 802400B8 26310004 */ addiu $s1, $s1, 4 +/* 892ADC 802400BC 0200202D */ daddu $a0, $s0, $zero +/* 892AE0 802400C0 3C038011 */ lui $v1, %hi(gPlayerData) +/* 892AE4 802400C4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 892AE8 802400C8 000210C0 */ sll $v0, $v0, 3 +/* 892AEC 802400CC 00431021 */ addu $v0, $v0, $v1 +/* 892AF0 802400D0 90460015 */ lbu $a2, 0x15($v0) +/* 892AF4 802400D4 8E250000 */ lw $a1, ($s1) +/* 892AF8 802400D8 24C60001 */ addiu $a2, $a2, 1 +/* 892AFC 802400DC A0460015 */ sb $a2, 0x15($v0) +/* 892B00 802400E0 00063600 */ sll $a2, $a2, 0x18 +/* 892B04 802400E4 0C0B2026 */ jal set_variable +/* 892B08 802400E8 00063603 */ sra $a2, $a2, 0x18 +/* 892B0C 802400EC 8FBF0018 */ lw $ra, 0x18($sp) +/* 892B10 802400F0 8FB10014 */ lw $s1, 0x14($sp) +/* 892B14 802400F4 8FB00010 */ lw $s0, 0x10($sp) +/* 892B18 802400F8 24020002 */ addiu $v0, $zero, 2 +/* 892B1C 802400FC 03E00008 */ jr $ra +/* 892B20 80240100 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240104.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240104.s new file mode 100644 index 0000000000..396ccf6abb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240104.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240104 +/* 892B24 80240104 3C028011 */ lui $v0, %hi(gPlayerData) +/* 892B28 80240108 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 892B2C 8024010C 000420C0 */ sll $a0, $a0, 3 +/* 892B30 80240110 00822021 */ addu $a0, $a0, $v0 +/* 892B34 80240114 90820014 */ lbu $v0, 0x14($a0) +/* 892B38 80240118 10400009 */ beqz $v0, .L80240140 +/* 892B3C 8024011C 00000000 */ nop +/* 892B40 80240120 90820015 */ lbu $v0, 0x15($a0) +/* 892B44 80240124 00022600 */ sll $a0, $v0, 0x18 +/* 892B48 80240128 00041E03 */ sra $v1, $a0, 0x18 +/* 892B4C 8024012C 00051400 */ sll $v0, $a1, 0x10 +/* 892B50 80240130 00021403 */ sra $v0, $v0, 0x10 +/* 892B54 80240134 0043102A */ slt $v0, $v0, $v1 +/* 892B58 80240138 10400003 */ beqz $v0, .L80240148 +/* 892B5C 8024013C 00000000 */ nop +.L80240140: +/* 892B60 80240140 03E00008 */ jr $ra +/* 892B64 80240144 2402FFFF */ addiu $v0, $zero, -1 +.L80240148: +/* 892B68 80240148 03E00008 */ jr $ra +/* 892B6C 8024014C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240150.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240150.s new file mode 100644 index 0000000000..a7a9091926 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240150.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240150 +/* 892B70 80240150 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 892B74 80240154 AFB3001C */ sw $s3, 0x1c($sp) +/* 892B78 80240158 0080982D */ daddu $s3, $a0, $zero +/* 892B7C 8024015C AFB00010 */ sw $s0, 0x10($sp) +/* 892B80 80240160 24100001 */ addiu $s0, $zero, 1 +/* 892B84 80240164 AFB40020 */ sw $s4, 0x20($sp) +/* 892B88 80240168 2414FFFF */ addiu $s4, $zero, -1 +/* 892B8C 8024016C AFB50024 */ sw $s5, 0x24($sp) +/* 892B90 80240170 0200A82D */ daddu $s5, $s0, $zero +/* 892B94 80240174 AFB10014 */ sw $s1, 0x14($sp) +/* 892B98 80240178 3C118011 */ lui $s1, 0x8011 +/* 892B9C 8024017C 2631F298 */ addiu $s1, $s1, -0xd68 +/* 892BA0 80240180 AFBF0028 */ sw $ra, 0x28($sp) +/* 892BA4 80240184 AFB20018 */ sw $s2, 0x18($sp) +/* 892BA8 80240188 8E6200B4 */ lw $v0, 0xb4($s3) +/* 892BAC 8024018C 0280182D */ daddu $v1, $s4, $zero +/* 892BB0 80240190 AE630084 */ sw $v1, 0x84($s3) +/* 892BB4 80240194 00021027 */ nor $v0, $zero, $v0 +/* 892BB8 80240198 000217C2 */ srl $v0, $v0, 0x1f +/* 892BBC 8024019C 00029400 */ sll $s2, $v0, 0x10 +.L802401A0: +/* 892BC0 802401A0 92220014 */ lbu $v0, 0x14($s1) +/* 892BC4 802401A4 50400008 */ beql $v0, $zero, .L802401C8 +/* 892BC8 802401A8 26100001 */ addiu $s0, $s0, 1 +/* 892BCC 802401AC 0200202D */ daddu $a0, $s0, $zero +/* 892BD0 802401B0 0C090041 */ jal func_80240104 +/* 892BD4 802401B4 00122C03 */ sra $a1, $s2, 0x10 +/* 892BD8 802401B8 10540003 */ beq $v0, $s4, .L802401C8 +/* 892BDC 802401BC 26100001 */ addiu $s0, $s0, 1 +/* 892BE0 802401C0 08090075 */ j .L802401D4 +/* 892BE4 802401C4 AE750084 */ sw $s5, 0x84($s3) +.L802401C8: +/* 892BE8 802401C8 2A02000C */ slti $v0, $s0, 0xc +/* 892BEC 802401CC 1440FFF4 */ bnez $v0, .L802401A0 +/* 892BF0 802401D0 26310008 */ addiu $s1, $s1, 8 +.L802401D4: +/* 892BF4 802401D4 8FBF0028 */ lw $ra, 0x28($sp) +/* 892BF8 802401D8 8FB50024 */ lw $s5, 0x24($sp) +/* 892BFC 802401DC 8FB40020 */ lw $s4, 0x20($sp) +/* 892C00 802401E0 8FB3001C */ lw $s3, 0x1c($sp) +/* 892C04 802401E4 8FB20018 */ lw $s2, 0x18($sp) +/* 892C08 802401E8 8FB10014 */ lw $s1, 0x14($sp) +/* 892C0C 802401EC 8FB00010 */ lw $s0, 0x10($sp) +/* 892C10 802401F0 24020002 */ addiu $v0, $zero, 2 +/* 892C14 802401F4 03E00008 */ jr $ra +/* 892C18 802401F8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_802401FC.s b/asm/nonmatchings/world/area_tik/tik_17/func_802401FC.s new file mode 100644 index 0000000000..38c7e6f092 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_802401FC.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401FC +/* 892C1C 802401FC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 892C20 80240200 AFB5002C */ sw $s5, 0x2c($sp) +/* 892C24 80240204 0080A82D */ daddu $s5, $a0, $zero +/* 892C28 80240208 AFBE0038 */ sw $fp, 0x38($sp) +/* 892C2C 8024020C 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 892C30 80240210 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 892C34 80240214 AFBF003C */ sw $ra, 0x3c($sp) +/* 892C38 80240218 AFB70034 */ sw $s7, 0x34($sp) +/* 892C3C 8024021C AFB60030 */ sw $s6, 0x30($sp) +/* 892C40 80240220 AFB40028 */ sw $s4, 0x28($sp) +/* 892C44 80240224 AFB30024 */ sw $s3, 0x24($sp) +/* 892C48 80240228 AFB20020 */ sw $s2, 0x20($sp) +/* 892C4C 8024022C AFB1001C */ sw $s1, 0x1c($sp) +/* 892C50 80240230 10A0004F */ beqz $a1, .L80240370 +/* 892C54 80240234 AFB00018 */ sw $s0, 0x18($sp) +/* 892C58 80240238 0C00AB39 */ jal heap_malloc +/* 892C5C 8024023C 24040330 */ addiu $a0, $zero, 0x330 +/* 892C60 80240240 0040982D */ daddu $s3, $v0, $zero +/* 892C64 80240244 0000B02D */ daddu $s6, $zero, $zero +/* 892C68 80240248 02C0902D */ daddu $s2, $s6, $zero +/* 892C6C 8024024C 3C148024 */ lui $s4, 0x8024 +/* 892C70 80240250 26941428 */ addiu $s4, $s4, 0x1428 +/* 892C74 80240254 0260882D */ daddu $s1, $s3, $zero +/* 892C78 80240258 8EA200B4 */ lw $v0, 0xb4($s5) +/* 892C7C 8024025C 3C038024 */ lui $v1, 0x8024 +/* 892C80 80240260 24631420 */ addiu $v1, $v1, 0x1420 +/* 892C84 80240264 AEB30078 */ sw $s3, 0x78($s5) +/* 892C88 80240268 00021027 */ nor $v0, $zero, $v0 +/* 892C8C 8024026C 0002BFC2 */ srl $s7, $v0, 0x1f +/* 892C90 80240270 00171080 */ sll $v0, $s7, 2 +/* 892C94 80240274 00431021 */ addu $v0, $v0, $v1 +/* 892C98 80240278 AFA20010 */ sw $v0, 0x10($sp) +.L8024027C: +/* 892C9C 8024027C 86900000 */ lh $s0, ($s4) +/* 892CA0 80240280 001010C0 */ sll $v0, $s0, 3 +/* 892CA4 80240284 03C21021 */ addu $v0, $fp, $v0 +/* 892CA8 80240288 90420014 */ lbu $v0, 0x14($v0) +/* 892CAC 8024028C 5040002E */ beql $v0, $zero, .L80240348 +/* 892CB0 80240290 26520001 */ addiu $s2, $s2, 1 +/* 892CB4 80240294 00101100 */ sll $v0, $s0, 4 +/* 892CB8 80240298 3C068009 */ lui $a2, 0x8009 +/* 892CBC 8024029C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 892CC0 802402A0 00461021 */ addu $v0, $v0, $a2 +/* 892CC4 802402A4 0200202D */ daddu $a0, $s0, $zero +/* 892CC8 802402A8 AE300108 */ sw $s0, 0x108($s1) +/* 892CCC 802402AC 8C420000 */ lw $v0, ($v0) +/* 892CD0 802402B0 02E0282D */ daddu $a1, $s7, $zero +/* 892CD4 802402B4 0C090041 */ jal func_80240104 +/* 892CD8 802402B8 AE220084 */ sw $v0, 0x84($s1) +/* 892CDC 802402BC 0040202D */ daddu $a0, $v0, $zero +/* 892CE0 802402C0 04800011 */ bltz $a0, .L80240308 +/* 892CE4 802402C4 00101080 */ sll $v0, $s0, 2 +/* 892CE8 802402C8 3C06800F */ lui $a2, 0x800f +/* 892CEC 802402CC 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 892CF0 802402D0 00461021 */ addu $v0, $v0, $a2 +/* 892CF4 802402D4 8C430000 */ lw $v1, ($v0) +/* 892CF8 802402D8 24020001 */ addiu $v0, $zero, 1 +/* 892CFC 802402DC AE22018C */ sw $v0, 0x18c($s1) +/* 892D00 802402E0 00041080 */ sll $v0, $a0, 2 +/* 892D04 802402E4 3C068024 */ lui $a2, 0x8024 +/* 892D08 802402E8 24C61438 */ addiu $a2, $a2, 0x1438 +/* 892D0C 802402EC AE230000 */ sw $v1, ($s1) +/* 892D10 802402F0 001218C0 */ sll $v1, $s2, 3 +/* 892D14 802402F4 00431021 */ addu $v0, $v0, $v1 +/* 892D18 802402F8 00461021 */ addu $v0, $v0, $a2 +/* 892D1C 802402FC 8C420000 */ lw $v0, ($v0) +/* 892D20 80240300 080900CB */ j .L8024032C +/* 892D24 80240304 AE220294 */ sw $v0, 0x294($s1) +.L80240308: +/* 892D28 80240308 3C06800F */ lui $a2, 0x800f +/* 892D2C 8024030C 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 892D30 80240310 00461021 */ addu $v0, $v0, $a2 +/* 892D34 80240314 8C420000 */ lw $v0, ($v0) +/* 892D38 80240318 AE20018C */ sw $zero, 0x18c($s1) +/* 892D3C 8024031C AE220000 */ sw $v0, ($s1) +/* 892D40 80240320 8FA60010 */ lw $a2, 0x10($sp) +/* 892D44 80240324 8CC20000 */ lw $v0, ($a2) +/* 892D48 80240328 AE220294 */ sw $v0, 0x294($s1) +.L8024032C: +/* 892D4C 8024032C 001010C0 */ sll $v0, $s0, 3 +/* 892D50 80240330 03C21021 */ addu $v0, $fp, $v0 +/* 892D54 80240334 80420015 */ lb $v0, 0x15($v0) +/* 892D58 80240338 26D60001 */ addiu $s6, $s6, 1 +/* 892D5C 8024033C AE220210 */ sw $v0, 0x210($s1) +/* 892D60 80240340 26310004 */ addiu $s1, $s1, 4 +/* 892D64 80240344 26520001 */ addiu $s2, $s2, 1 +.L80240348: +/* 892D68 80240348 2A420008 */ slti $v0, $s2, 8 +/* 892D6C 8024034C 1440FFCB */ bnez $v0, .L8024027C +/* 892D70 80240350 26940002 */ addiu $s4, $s4, 2 +/* 892D74 80240354 0260202D */ daddu $a0, $s3, $zero +/* 892D78 80240358 24020004 */ addiu $v0, $zero, 4 +/* 892D7C 8024035C AC820318 */ sw $v0, 0x318($a0) +/* 892D80 80240360 AC960324 */ sw $s6, 0x324($a0) +/* 892D84 80240364 0C03D390 */ jal func_800F4E40 +/* 892D88 80240368 AC800328 */ sw $zero, 0x328($a0) +/* 892D8C 8024036C AEA00070 */ sw $zero, 0x70($s5) +.L80240370: +/* 892D90 80240370 8EA20070 */ lw $v0, 0x70($s5) +/* 892D94 80240374 8EB30078 */ lw $s3, 0x78($s5) +/* 892D98 80240378 14400008 */ bnez $v0, .L8024039C +/* 892D9C 8024037C 24420001 */ addiu $v0, $v0, 1 +/* 892DA0 80240380 8662032C */ lh $v0, 0x32c($s3) +/* 892DA4 80240384 10400009 */ beqz $v0, .L802403AC +/* 892DA8 80240388 AEA20074 */ sw $v0, 0x74($s5) +/* 892DAC 8024038C 0C03C4EC */ jal func_800F13B0 +/* 892DB0 80240390 00000000 */ nop +/* 892DB4 80240394 8EA20070 */ lw $v0, 0x70($s5) +/* 892DB8 80240398 24420001 */ addiu $v0, $v0, 1 +.L8024039C: +/* 892DBC 8024039C AEA20070 */ sw $v0, 0x70($s5) +/* 892DC0 802403A0 2842000F */ slti $v0, $v0, 0xf +/* 892DC4 802403A4 10400003 */ beqz $v0, .L802403B4 +/* 892DC8 802403A8 00000000 */ nop +.L802403AC: +/* 892DCC 802403AC 08090107 */ j .L8024041C +/* 892DD0 802403B0 0000102D */ daddu $v0, $zero, $zero +.L802403B4: +/* 892DD4 802403B4 0C03C54E */ jal func_800F1538 +/* 892DD8 802403B8 00000000 */ nop +/* 892DDC 802403BC 8EA30074 */ lw $v1, 0x74($s5) +/* 892DE0 802403C0 240200FF */ addiu $v0, $zero, 0xff +/* 892DE4 802403C4 10620010 */ beq $v1, $v0, .L80240408 +/* 892DE8 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* 892DEC 802403CC 00021080 */ sll $v0, $v0, 2 +/* 892DF0 802403D0 02621021 */ addu $v0, $s3, $v0 +/* 892DF4 802403D4 8C420108 */ lw $v0, 0x108($v0) +/* 892DF8 802403D8 00021100 */ sll $v0, $v0, 4 +/* 892DFC 802403DC 3C038009 */ lui $v1, 0x8009 +/* 892E00 802403E0 00621821 */ addu $v1, $v1, $v0 +/* 892E04 802403E4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 892E08 802403E8 8EA20074 */ lw $v0, 0x74($s5) +/* 892E0C 802403EC 2442FFFF */ addiu $v0, $v0, -1 +/* 892E10 802403F0 00021080 */ sll $v0, $v0, 2 +/* 892E14 802403F4 02621021 */ addu $v0, $s3, $v0 +/* 892E18 802403F8 AEA30084 */ sw $v1, 0x84($s5) +/* 892E1C 802403FC 8C420108 */ lw $v0, 0x108($v0) +/* 892E20 80240400 08090104 */ j .L80240410 +/* 892E24 80240404 AEA20088 */ sw $v0, 0x88($s5) +.L80240408: +/* 892E28 80240408 2402FFFF */ addiu $v0, $zero, -1 +/* 892E2C 8024040C AEA20084 */ sw $v0, 0x84($s5) +.L80240410: +/* 892E30 80240410 0C00AB4B */ jal heap_free +/* 892E34 80240414 8EA40078 */ lw $a0, 0x78($s5) +/* 892E38 80240418 24020002 */ addiu $v0, $zero, 2 +.L8024041C: +/* 892E3C 8024041C 8FBF003C */ lw $ra, 0x3c($sp) +/* 892E40 80240420 8FBE0038 */ lw $fp, 0x38($sp) +/* 892E44 80240424 8FB70034 */ lw $s7, 0x34($sp) +/* 892E48 80240428 8FB60030 */ lw $s6, 0x30($sp) +/* 892E4C 8024042C 8FB5002C */ lw $s5, 0x2c($sp) +/* 892E50 80240430 8FB40028 */ lw $s4, 0x28($sp) +/* 892E54 80240434 8FB30024 */ lw $s3, 0x24($sp) +/* 892E58 80240438 8FB20020 */ lw $s2, 0x20($sp) +/* 892E5C 8024043C 8FB1001C */ lw $s1, 0x1c($sp) +/* 892E60 80240440 8FB00018 */ lw $s0, 0x18($sp) +/* 892E64 80240444 03E00008 */ jr $ra +/* 892E68 80240448 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_8024044C.s b/asm/nonmatchings/world/area_tik/tik_17/func_8024044C.s new file mode 100644 index 0000000000..a884198b34 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_8024044C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024044C +/* 892E6C 8024044C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 892E70 80240450 AFBF0010 */ sw $ra, 0x10($sp) +/* 892E74 80240454 8C82000C */ lw $v0, 0xc($a0) +/* 892E78 80240458 0C0B1EAF */ jal get_variable +/* 892E7C 8024045C 8C450000 */ lw $a1, ($v0) +/* 892E80 80240460 0C03AC5A */ jal func_800EB168 +/* 892E84 80240464 0040202D */ daddu $a0, $v0, $zero +/* 892E88 80240468 8FBF0010 */ lw $ra, 0x10($sp) +/* 892E8C 8024046C 24020002 */ addiu $v0, $zero, 2 +/* 892E90 80240470 03E00008 */ jr $ra +/* 892E94 80240474 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240478.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240478.s new file mode 100644 index 0000000000..784a8a37f2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240478.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240478 +/* 892E98 80240478 3C028011 */ lui $v0, 0x8011 +/* 892E9C 8024047C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 892EA0 80240480 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 892EA4 80240484 AFBF0010 */ sw $ra, 0x10($sp) +/* 892EA8 80240488 00021100 */ sll $v0, $v0, 4 +/* 892EAC 8024048C 3C048009 */ lui $a0, 0x8009 +/* 892EB0 80240490 00822021 */ addu $a0, $a0, $v0 +/* 892EB4 80240494 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 892EB8 80240498 0C0496CF */ jal set_message_string +/* 892EBC 8024049C 0000282D */ daddu $a1, $zero, $zero +/* 892EC0 802404A0 8FBF0010 */ lw $ra, 0x10($sp) +/* 892EC4 802404A4 24020002 */ addiu $v0, $zero, 2 +/* 892EC8 802404A8 03E00008 */ jr $ra +/* 892ECC 802404AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_802404B0_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_802404B0_892A20.s new file mode 100644 index 0000000000..7fed013fb0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_802404B0_892A20.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0_892ED0 +/* 892ED0 802404B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 892ED4 802404B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 892ED8 802404B8 0080882D */ daddu $s1, $a0, $zero +/* 892EDC 802404BC AFBF0020 */ sw $ra, 0x20($sp) +/* 892EE0 802404C0 AFB00018 */ sw $s0, 0x18($sp) +/* 892EE4 802404C4 8E30000C */ lw $s0, 0xc($s1) +/* 892EE8 802404C8 8E050000 */ lw $a1, ($s0) +/* 892EEC 802404CC 0C0B1EAF */ jal get_variable +/* 892EF0 802404D0 26100004 */ addiu $s0, $s0, 4 +/* 892EF4 802404D4 0C04417A */ jal get_entity_by_index +/* 892EF8 802404D8 0040202D */ daddu $a0, $v0, $zero +/* 892EFC 802404DC 8E100000 */ lw $s0, ($s0) +/* 892F00 802404E0 C444004C */ lwc1 $f4, 0x4c($v0) +/* 892F04 802404E4 3C014148 */ lui $at, 0x4148 +/* 892F08 802404E8 44810000 */ mtc1 $at, $f0 +/* 892F0C 802404EC 3C013F33 */ lui $at, 0x3f33 +/* 892F10 802404F0 34213333 */ ori $at, $at, 0x3333 +/* 892F14 802404F4 44811000 */ mtc1 $at, $f2 +/* 892F18 802404F8 AFA00014 */ sw $zero, 0x14($sp) +/* 892F1C 802404FC 46002100 */ add.s $f4, $f4, $f0 +/* 892F20 80240500 E7A20010 */ swc1 $f2, 0x10($sp) +/* 892F24 80240504 8C450048 */ lw $a1, 0x48($v0) +/* 892F28 80240508 8C470050 */ lw $a3, 0x50($v0) +/* 892F2C 8024050C 44062000 */ mfc1 $a2, $f4 +/* 892F30 80240510 0C01C5D4 */ jal func_80071750 +/* 892F34 80240514 0000202D */ daddu $a0, $zero, $zero +/* 892F38 80240518 0220202D */ daddu $a0, $s1, $zero +/* 892F3C 8024051C 0200282D */ daddu $a1, $s0, $zero +/* 892F40 80240520 0C0B2026 */ jal set_variable +/* 892F44 80240524 0040302D */ daddu $a2, $v0, $zero +/* 892F48 80240528 8FBF0020 */ lw $ra, 0x20($sp) +/* 892F4C 8024052C 8FB1001C */ lw $s1, 0x1c($sp) +/* 892F50 80240530 8FB00018 */ lw $s0, 0x18($sp) +/* 892F54 80240534 24020002 */ addiu $v0, $zero, 2 +/* 892F58 80240538 03E00008 */ jr $ra +/* 892F5C 8024053C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240540.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240540.s new file mode 100644 index 0000000000..7450f67e1a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240540.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240540 +/* 892F60 80240540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 892F64 80240544 AFBF0010 */ sw $ra, 0x10($sp) +/* 892F68 80240548 8C82000C */ lw $v0, 0xc($a0) +/* 892F6C 8024054C 0C0B1EAF */ jal get_variable +/* 892F70 80240550 8C450000 */ lw $a1, ($v0) +/* 892F74 80240554 0040202D */ daddu $a0, $v0, $zero +/* 892F78 80240558 8C830000 */ lw $v1, ($a0) +/* 892F7C 8024055C 34630010 */ ori $v1, $v1, 0x10 +/* 892F80 80240560 AC830000 */ sw $v1, ($a0) +/* 892F84 80240564 8FBF0010 */ lw $ra, 0x10($sp) +/* 892F88 80240568 24020002 */ addiu $v0, $zero, 2 +/* 892F8C 8024056C 03E00008 */ jr $ra +/* 892F90 80240570 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240574.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240574.s new file mode 100644 index 0000000000..120a88860a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240574.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240574 +/* 892F94 80240574 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 892F98 80240578 AFBF0018 */ sw $ra, 0x18($sp) +/* 892F9C 8024057C 8C82000C */ lw $v0, 0xc($a0) +/* 892FA0 80240580 0C0B1EAF */ jal get_variable +/* 892FA4 80240584 8C450000 */ lw $a1, ($v0) +/* 892FA8 80240588 0C04417A */ jal get_entity_by_index +/* 892FAC 8024058C 0040202D */ daddu $a0, $v0, $zero +/* 892FB0 80240590 3C013F80 */ lui $at, 0x3f80 +/* 892FB4 80240594 44810000 */ mtc1 $at, $f0 +/* 892FB8 80240598 C442004C */ lwc1 $f2, 0x4c($v0) +/* 892FBC 8024059C E7A00010 */ swc1 $f0, 0x10($sp) +/* 892FC0 802405A0 3C014148 */ lui $at, 0x4148 +/* 892FC4 802405A4 44810000 */ mtc1 $at, $f0 +/* 892FC8 802405A8 2403004B */ addiu $v1, $zero, 0x4b +/* 892FCC 802405AC AFA30014 */ sw $v1, 0x14($sp) +/* 892FD0 802405B0 46001080 */ add.s $f2, $f2, $f0 +/* 892FD4 802405B4 8C450048 */ lw $a1, 0x48($v0) +/* 892FD8 802405B8 8C470050 */ lw $a3, 0x50($v0) +/* 892FDC 802405BC 44061000 */ mfc1 $a2, $f2 +/* 892FE0 802405C0 0C01C2EC */ jal func_80070BB0 +/* 892FE4 802405C4 24040004 */ addiu $a0, $zero, 4 +/* 892FE8 802405C8 8FBF0018 */ lw $ra, 0x18($sp) +/* 892FEC 802405CC 24020002 */ addiu $v0, $zero, 2 +/* 892FF0 802405D0 03E00008 */ jr $ra +/* 892FF4 802405D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_802405D8.s b/asm/nonmatchings/world/area_tik/tik_17/func_802405D8.s new file mode 100644 index 0000000000..d0809d38f2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_802405D8.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D8 +/* 892FF8 802405D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 892FFC 802405DC AFBF0018 */ sw $ra, 0x18($sp) +/* 893000 802405E0 0C00EAD2 */ jal get_npc_safe +/* 893004 802405E4 2404FFFC */ addiu $a0, $zero, -4 +/* 893008 802405E8 C444003C */ lwc1 $f4, 0x3c($v0) +/* 89300C 802405EC 3C014148 */ lui $at, 0x4148 +/* 893010 802405F0 44811000 */ mtc1 $at, $f2 +/* 893014 802405F4 3C013F80 */ lui $at, 0x3f80 +/* 893018 802405F8 44810000 */ mtc1 $at, $f0 +/* 89301C 802405FC 2403001E */ addiu $v1, $zero, 0x1e +/* 893020 80240600 AFA30014 */ sw $v1, 0x14($sp) +/* 893024 80240604 46022100 */ add.s $f4, $f4, $f2 +/* 893028 80240608 E7A00010 */ swc1 $f0, 0x10($sp) +/* 89302C 8024060C 8C450038 */ lw $a1, 0x38($v0) +/* 893030 80240610 8C470040 */ lw $a3, 0x40($v0) +/* 893034 80240614 44062000 */ mfc1 $a2, $f4 +/* 893038 80240618 0C01C2EC */ jal func_80070BB0 +/* 89303C 8024061C 24040009 */ addiu $a0, $zero, 9 +/* 893040 80240620 8FBF0018 */ lw $ra, 0x18($sp) +/* 893044 80240624 24020002 */ addiu $v0, $zero, 2 +/* 893048 80240628 03E00008 */ jr $ra +/* 89304C 8024062C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240630_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240630_892A20.s new file mode 100644 index 0000000000..f43bbf9620 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240630_892A20.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240630_893050 +/* 893050 80240630 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 893054 80240634 AFB60040 */ sw $s6, 0x40($sp) +/* 893058 80240638 0080B02D */ daddu $s6, $a0, $zero +/* 89305C 8024063C AFB00028 */ sw $s0, 0x28($sp) +/* 893060 80240640 00A0802D */ daddu $s0, $a1, $zero +/* 893064 80240644 AFBF0044 */ sw $ra, 0x44($sp) +/* 893068 80240648 AFB5003C */ sw $s5, 0x3c($sp) +/* 89306C 8024064C AFB40038 */ sw $s4, 0x38($sp) +/* 893070 80240650 AFB30034 */ sw $s3, 0x34($sp) +/* 893074 80240654 AFB20030 */ sw $s2, 0x30($sp) +/* 893078 80240658 AFB1002C */ sw $s1, 0x2c($sp) +/* 89307C 8024065C F7B80058 */ sdc1 $f24, 0x58($sp) +/* 893080 80240660 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 893084 80240664 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 893088 80240668 8ED3000C */ lw $s3, 0xc($s6) +/* 89308C 8024066C 0C00EAD2 */ jal get_npc_safe +/* 893090 80240670 2404FFFC */ addiu $a0, $zero, -4 +/* 893094 80240674 27A50018 */ addiu $a1, $sp, 0x18 +/* 893098 80240678 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 89309C 8024067C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 8930A0 80240680 27A6001C */ addiu $a2, $sp, 0x1c +/* 8930A4 80240684 00041880 */ sll $v1, $a0, 2 +/* 8930A8 80240688 00641821 */ addu $v1, $v1, $a0 +/* 8930AC 8024068C 00031880 */ sll $v1, $v1, 2 +/* 8930B0 80240690 00641823 */ subu $v1, $v1, $a0 +/* 8930B4 80240694 000320C0 */ sll $a0, $v1, 3 +/* 8930B8 80240698 00641821 */ addu $v1, $v1, $a0 +/* 8930BC 8024069C 000318C0 */ sll $v1, $v1, 3 +/* 8930C0 802406A0 3C01800B */ lui $at, 0x800b +/* 8930C4 802406A4 00230821 */ addu $at, $at, $v1 +/* 8930C8 802406A8 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 8930CC 802406AC 0C00A88D */ jal sin_cos_deg +/* 8930D0 802406B0 0040A82D */ daddu $s5, $v0, $zero +/* 8930D4 802406B4 1200005D */ beqz $s0, .L8024082C +/* 8930D8 802406B8 00000000 */ nop +/* 8930DC 802406BC 0C00AB0A */ jal general_heap_malloc +/* 8930E0 802406C0 24040068 */ addiu $a0, $zero, 0x68 +/* 8930E4 802406C4 0040902D */ daddu $s2, $v0, $zero +/* 8930E8 802406C8 02C0202D */ daddu $a0, $s6, $zero +/* 8930EC 802406CC 0000882D */ daddu $s1, $zero, $zero +/* 8930F0 802406D0 2414FFFF */ addiu $s4, $zero, -1 +/* 8930F4 802406D4 AED20060 */ sw $s2, 0x60($s6) +/* 8930F8 802406D8 8E650000 */ lw $a1, ($s3) +/* 8930FC 802406DC 3C014148 */ lui $at, 0x4148 +/* 893100 802406E0 4481C000 */ mtc1 $at, $f24 +/* 893104 802406E4 3C013F80 */ lui $at, 0x3f80 +/* 893108 802406E8 4481B000 */ mtc1 $at, $f22 +/* 89310C 802406EC 4480A000 */ mtc1 $zero, $f20 +/* 893110 802406F0 0C0B1EAF */ jal get_variable +/* 893114 802406F4 0240802D */ daddu $s0, $s2, $zero +/* 893118 802406F8 0C04417A */ jal get_entity_by_index +/* 89311C 802406FC 0040202D */ daddu $a0, $v0, $zero +/* 893120 80240700 AE42005C */ sw $v0, 0x5c($s2) +.L80240704: +/* 893124 80240704 8E42005C */ lw $v0, 0x5c($s2) +/* 893128 80240708 C440004C */ lwc1 $f0, 0x4c($v0) +/* 89312C 8024070C 0000202D */ daddu $a0, $zero, $zero +/* 893130 80240710 E7B60010 */ swc1 $f22, 0x10($sp) +/* 893134 80240714 AFB40014 */ sw $s4, 0x14($sp) +/* 893138 80240718 46180000 */ add.s $f0, $f0, $f24 +/* 89313C 8024071C 8C450048 */ lw $a1, 0x48($v0) +/* 893140 80240720 8C470050 */ lw $a3, 0x50($v0) +/* 893144 80240724 44060000 */ mfc1 $a2, $f0 +/* 893148 80240728 0C01C5BC */ jal func_800716F0 +/* 89314C 8024072C 26310001 */ addiu $s1, $s1, 1 +/* 893150 80240730 AE020008 */ sw $v0, 8($s0) +/* 893154 80240734 E614002C */ swc1 $f20, 0x2c($s0) +/* 893158 80240738 E6140020 */ swc1 $f20, 0x20($s0) +/* 89315C 8024073C E6140014 */ swc1 $f20, 0x14($s0) +/* 893160 80240740 E6140050 */ swc1 $f20, 0x50($s0) +/* 893164 80240744 E6140044 */ swc1 $f20, 0x44($s0) +/* 893168 80240748 E6140038 */ swc1 $f20, 0x38($s0) +/* 89316C 8024074C 2A220003 */ slti $v0, $s1, 3 +/* 893170 80240750 1440FFEC */ bnez $v0, .L80240704 +/* 893174 80240754 26100004 */ addiu $s0, $s0, 4 +/* 893178 80240758 0000882D */ daddu $s1, $zero, $zero +/* 89317C 8024075C 0240802D */ daddu $s0, $s2, $zero +/* 893180 80240760 3C148024 */ lui $s4, 0x8024 +/* 893184 80240764 26941478 */ addiu $s4, $s4, 0x1478 +/* 893188 80240768 3C014248 */ lui $at, 0x4248 +/* 89318C 8024076C 4481A000 */ mtc1 $at, $f20 +/* 893190 80240770 24130044 */ addiu $s3, $zero, 0x44 +/* 893194 80240774 AE400000 */ sw $zero, ($s2) +/* 893198 80240778 AE400004 */ sw $zero, 4($s2) +/* 89319C 8024077C AE400060 */ sw $zero, 0x60($s2) +/* 8931A0 80240780 AE400064 */ sw $zero, 0x64($s2) +.L80240784: +/* 8931A4 80240784 27A40020 */ addiu $a0, $sp, 0x20 +/* 8931A8 80240788 4406A000 */ mfc1 $a2, $f20 +/* 8931AC 8024078C 8E870000 */ lw $a3, ($s4) +/* 8931B0 80240790 02532821 */ addu $a1, $s2, $s3 +/* 8931B4 80240794 0C00A7E7 */ jal add_vec2D_polar +/* 8931B8 80240798 AFA00020 */ sw $zero, 0x20($sp) +/* 8931BC 8024079C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 8931C0 802407A0 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 8931C4 802407A4 46041082 */ mul.s $f2, $f2, $f4 +/* 8931C8 802407A8 00000000 */ nop +/* 8931CC 802407AC C7A00018 */ lwc1 $f0, 0x18($sp) +/* 8931D0 802407B0 46040002 */ mul.s $f0, $f0, $f4 +/* 8931D4 802407B4 00000000 */ nop +/* 8931D8 802407B8 E6020038 */ swc1 $f2, 0x38($s0) +/* 8931DC 802407BC E6000050 */ swc1 $f0, 0x50($s0) +/* 8931E0 802407C0 8E42005C */ lw $v0, 0x5c($s2) +/* 8931E4 802407C4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8931E8 802407C8 C4420048 */ lwc1 $f2, 0x48($v0) +/* 8931EC 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* 8931F0 802407D0 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 8931F4 802407D4 46020001 */ sub.s $f0, $f0, $f2 +/* 8931F8 802407D8 E6000038 */ swc1 $f0, 0x38($s0) +/* 8931FC 802407DC 8E42005C */ lw $v0, 0x5c($s2) +/* 893200 802407E0 C6000044 */ lwc1 $f0, 0x44($s0) +/* 893204 802407E4 C442004C */ lwc1 $f2, 0x4c($v0) +/* 893208 802407E8 46001080 */ add.s $f2, $f2, $f0 +/* 89320C 802407EC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 893210 802407F0 46020001 */ sub.s $f0, $f0, $f2 +/* 893214 802407F4 E6000044 */ swc1 $f0, 0x44($s0) +/* 893218 802407F8 8E42005C */ lw $v0, 0x5c($s2) +/* 89321C 802407FC C6000050 */ lwc1 $f0, 0x50($s0) +/* 893220 80240800 C4420050 */ lwc1 $f2, 0x50($v0) +/* 893224 80240804 26940004 */ addiu $s4, $s4, 4 +/* 893228 80240808 46001080 */ add.s $f2, $f2, $f0 +/* 89322C 8024080C C6A00040 */ lwc1 $f0, 0x40($s5) +/* 893230 80240810 26730004 */ addiu $s3, $s3, 4 +/* 893234 80240814 46020001 */ sub.s $f0, $f0, $f2 +/* 893238 80240818 26310001 */ addiu $s1, $s1, 1 +/* 89323C 8024081C 2A220003 */ slti $v0, $s1, 3 +/* 893240 80240820 E6000050 */ swc1 $f0, 0x50($s0) +/* 893244 80240824 1440FFD7 */ bnez $v0, .L80240784 +/* 893248 80240828 26100004 */ addiu $s0, $s0, 4 +.L8024082C: +/* 89324C 8024082C 8ED20060 */ lw $s2, 0x60($s6) +/* 893250 80240830 8E430000 */ lw $v1, ($s2) +/* 893254 80240834 24020001 */ addiu $v0, $zero, 1 +/* 893258 80240838 10620038 */ beq $v1, $v0, .L8024091C +/* 89325C 8024083C 28620002 */ slti $v0, $v1, 2 +/* 893260 80240840 50400005 */ beql $v0, $zero, .L80240858 +/* 893264 80240844 24020002 */ addiu $v0, $zero, 2 +/* 893268 80240848 10600007 */ beqz $v1, .L80240868 +/* 89326C 8024084C 24040005 */ addiu $a0, $zero, 5 +/* 893270 80240850 08090280 */ j .L80240A00 +/* 893274 80240854 00000000 */ nop +.L80240858: +/* 893278 80240858 10620058 */ beq $v1, $v0, .L802409BC +/* 89327C 8024085C 00000000 */ nop +/* 893280 80240860 08090280 */ j .L80240A00 +/* 893284 80240864 00000000 */ nop +.L80240868: +/* 893288 80240868 0000882D */ daddu $s1, $zero, $zero +/* 89328C 8024086C 3C148024 */ lui $s4, 0x8024 +/* 893290 80240870 26941478 */ addiu $s4, $s4, 0x1478 +/* 893294 80240874 24130020 */ addiu $s3, $zero, 0x20 +/* 893298 80240878 3C064248 */ lui $a2, 0x4248 +/* 89329C 8024087C 44800000 */ mtc1 $zero, $f0 +/* 8932A0 80240880 24020014 */ addiu $v0, $zero, 0x14 +/* 8932A4 80240884 AFA20010 */ sw $v0, 0x10($sp) +/* 8932A8 80240888 44050000 */ mfc1 $a1, $f0 +/* 8932AC 8024088C 8E470060 */ lw $a3, 0x60($s2) +/* 8932B0 80240890 4485B000 */ mtc1 $a1, $f22 +/* 8932B4 80240894 0C00A8ED */ jal update_lerp +/* 8932B8 80240898 0240802D */ daddu $s0, $s2, $zero +/* 8932BC 8024089C 46000506 */ mov.s $f20, $f0 +.L802408A0: +/* 8932C0 802408A0 4406A000 */ mfc1 $a2, $f20 +/* 8932C4 802408A4 27A40020 */ addiu $a0, $sp, 0x20 +/* 8932C8 802408A8 E6160020 */ swc1 $f22, 0x20($s0) +/* 8932CC 802408AC 8E870000 */ lw $a3, ($s4) +/* 8932D0 802408B0 02532821 */ addu $a1, $s2, $s3 +/* 8932D4 802408B4 0C00A7E7 */ jal add_vec2D_polar +/* 8932D8 802408B8 E7B60020 */ swc1 $f22, 0x20($sp) +/* 8932DC 802408BC C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 8932E0 802408C0 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 8932E4 802408C4 46002102 */ mul.s $f4, $f4, $f0 +/* 8932E8 802408C8 00000000 */ nop +/* 8932EC 802408CC C7A20018 */ lwc1 $f2, 0x18($sp) +/* 8932F0 802408D0 26940004 */ addiu $s4, $s4, 4 +/* 8932F4 802408D4 46001082 */ mul.s $f2, $f2, $f0 +/* 8932F8 802408D8 00000000 */ nop +/* 8932FC 802408DC 26730004 */ addiu $s3, $s3, 4 +/* 893300 802408E0 26310001 */ addiu $s1, $s1, 1 +/* 893304 802408E4 2A220003 */ slti $v0, $s1, 3 +/* 893308 802408E8 E6040014 */ swc1 $f4, 0x14($s0) +/* 89330C 802408EC E602002C */ swc1 $f2, 0x2c($s0) +/* 893310 802408F0 1440FFEB */ bnez $v0, .L802408A0 +/* 893314 802408F4 26100004 */ addiu $s0, $s0, 4 +/* 893318 802408F8 8E420060 */ lw $v0, 0x60($s2) +/* 89331C 802408FC 24420001 */ addiu $v0, $v0, 1 +/* 893320 80240900 AE420060 */ sw $v0, 0x60($s2) +/* 893324 80240904 28420015 */ slti $v0, $v0, 0x15 +/* 893328 80240908 1440003D */ bnez $v0, .L80240A00 +/* 89332C 8024090C 24020001 */ addiu $v0, $zero, 1 +/* 893330 80240910 AE420000 */ sw $v0, ($s2) +/* 893334 80240914 08090280 */ j .L80240A00 +/* 893338 80240918 AE400060 */ sw $zero, 0x60($s2) +.L8024091C: +/* 89333C 8024091C 0000882D */ daddu $s1, $zero, $zero +/* 893340 80240920 3C148024 */ lui $s4, 0x8024 +/* 893344 80240924 26941478 */ addiu $s4, $s4, 0x1478 +/* 893348 80240928 24130020 */ addiu $s3, $zero, 0x20 +/* 89334C 8024092C 0240802D */ daddu $s0, $s2, $zero +/* 893350 80240930 3C014248 */ lui $at, 0x4248 +/* 893354 80240934 4481A000 */ mtc1 $at, $f20 +/* 893358 80240938 4480B000 */ mtc1 $zero, $f22 +.L8024093C: +/* 89335C 8024093C 4406A000 */ mfc1 $a2, $f20 +/* 893360 80240940 27A40020 */ addiu $a0, $sp, 0x20 +/* 893364 80240944 E6160020 */ swc1 $f22, 0x20($s0) +/* 893368 80240948 8E870000 */ lw $a3, ($s4) +/* 89336C 8024094C 02532821 */ addu $a1, $s2, $s3 +/* 893370 80240950 0C00A7E7 */ jal add_vec2D_polar +/* 893374 80240954 E7B60020 */ swc1 $f22, 0x20($sp) +/* 893378 80240958 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 89337C 8024095C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 893380 80240960 46002102 */ mul.s $f4, $f4, $f0 +/* 893384 80240964 00000000 */ nop +/* 893388 80240968 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 89338C 8024096C 26940004 */ addiu $s4, $s4, 4 +/* 893390 80240970 46001082 */ mul.s $f2, $f2, $f0 +/* 893394 80240974 00000000 */ nop +/* 893398 80240978 26730004 */ addiu $s3, $s3, 4 +/* 89339C 8024097C 26310001 */ addiu $s1, $s1, 1 +/* 8933A0 80240980 2A220003 */ slti $v0, $s1, 3 +/* 8933A4 80240984 E6040014 */ swc1 $f4, 0x14($s0) +/* 8933A8 80240988 E602002C */ swc1 $f2, 0x2c($s0) +/* 8933AC 8024098C 1440FFEB */ bnez $v0, .L8024093C +/* 8933B0 80240990 26100004 */ addiu $s0, $s0, 4 +/* 8933B4 80240994 8E420060 */ lw $v0, 0x60($s2) +/* 8933B8 80240998 24420001 */ addiu $v0, $v0, 1 +/* 8933BC 8024099C AE420060 */ sw $v0, 0x60($s2) +/* 8933C0 802409A0 28420010 */ slti $v0, $v0, 0x10 +/* 8933C4 802409A4 14400016 */ bnez $v0, .L80240A00 +/* 8933C8 802409A8 2402000F */ addiu $v0, $zero, 0xf +/* 8933CC 802409AC AE420060 */ sw $v0, 0x60($s2) +/* 8933D0 802409B0 24020002 */ addiu $v0, $zero, 2 +/* 8933D4 802409B4 08090280 */ j .L80240A00 +/* 8933D8 802409B8 AE420000 */ sw $v0, ($s2) +.L802409BC: +/* 8933DC 802409BC 8E420060 */ lw $v0, 0x60($s2) +/* 8933E0 802409C0 24420001 */ addiu $v0, $v0, 1 +/* 8933E4 802409C4 AE420060 */ sw $v0, 0x60($s2) +/* 8933E8 802409C8 2842001F */ slti $v0, $v0, 0x1f +/* 8933EC 802409CC 1440000C */ bnez $v0, .L80240A00 +/* 8933F0 802409D0 0000882D */ daddu $s1, $zero, $zero +/* 8933F4 802409D4 0240282D */ daddu $a1, $s2, $zero +.L802409D8: +/* 8933F8 802409D8 8CA20008 */ lw $v0, 8($a1) +/* 8933FC 802409DC 8C430000 */ lw $v1, ($v0) +/* 893400 802409E0 26310001 */ addiu $s1, $s1, 1 +/* 893404 802409E4 34630010 */ ori $v1, $v1, 0x10 +/* 893408 802409E8 AC430000 */ sw $v1, ($v0) +/* 89340C 802409EC 2A220003 */ slti $v0, $s1, 3 +/* 893410 802409F0 1440FFF9 */ bnez $v0, .L802409D8 +/* 893414 802409F4 24A50004 */ addiu $a1, $a1, 4 +/* 893418 802409F8 080902CD */ j .L80240B34 +/* 89341C 802409FC 24020002 */ addiu $v0, $zero, 2 +.L80240A00: +/* 893420 80240A00 8E430004 */ lw $v1, 4($s2) +/* 893424 80240A04 10600005 */ beqz $v1, .L80240A1C +/* 893428 80240A08 24020001 */ addiu $v0, $zero, 1 +/* 89342C 80240A0C 1062000B */ beq $v1, $v0, .L80240A3C +/* 893430 80240A10 0000882D */ daddu $s1, $zero, $zero +/* 893434 80240A14 080902BC */ j .L80240AF0 +/* 893438 80240A18 0240282D */ daddu $a1, $s2, $zero +.L80240A1C: +/* 89343C 80240A1C 8E420064 */ lw $v0, 0x64($s2) +/* 893440 80240A20 24420001 */ addiu $v0, $v0, 1 +/* 893444 80240A24 AE420064 */ sw $v0, 0x64($s2) +/* 893448 80240A28 28420010 */ slti $v0, $v0, 0x10 +/* 89344C 80240A2C 1440002F */ bnez $v0, .L80240AEC +/* 893450 80240A30 0000882D */ daddu $s1, $zero, $zero +/* 893454 80240A34 080902B8 */ j .L80240AE0 +/* 893458 80240A38 24020001 */ addiu $v0, $zero, 1 +.L80240A3C: +/* 89345C 80240A3C 4480A000 */ mtc1 $zero, $f20 +/* 893460 80240A40 24130014 */ addiu $s3, $zero, 0x14 +/* 893464 80240A44 0240802D */ daddu $s0, $s2, $zero +.L80240A48: +/* 893468 80240A48 4405A000 */ mfc1 $a1, $f20 +/* 89346C 80240A4C AFB30010 */ sw $s3, 0x10($sp) +/* 893470 80240A50 8E060038 */ lw $a2, 0x38($s0) +/* 893474 80240A54 8E470064 */ lw $a3, 0x64($s2) +/* 893478 80240A58 0C00A8ED */ jal update_lerp +/* 89347C 80240A5C 24040001 */ addiu $a0, $zero, 1 +/* 893480 80240A60 C6020014 */ lwc1 $f2, 0x14($s0) +/* 893484 80240A64 46001080 */ add.s $f2, $f2, $f0 +/* 893488 80240A68 4405A000 */ mfc1 $a1, $f20 +/* 89348C 80240A6C E6020014 */ swc1 $f2, 0x14($s0) +/* 893490 80240A70 AFB30010 */ sw $s3, 0x10($sp) +/* 893494 80240A74 8E060044 */ lw $a2, 0x44($s0) +/* 893498 80240A78 8E470064 */ lw $a3, 0x64($s2) +/* 89349C 80240A7C 0C00A8ED */ jal update_lerp +/* 8934A0 80240A80 24040001 */ addiu $a0, $zero, 1 +/* 8934A4 80240A84 C6020020 */ lwc1 $f2, 0x20($s0) +/* 8934A8 80240A88 46001080 */ add.s $f2, $f2, $f0 +/* 8934AC 80240A8C 4405A000 */ mfc1 $a1, $f20 +/* 8934B0 80240A90 E6020020 */ swc1 $f2, 0x20($s0) +/* 8934B4 80240A94 AFB30010 */ sw $s3, 0x10($sp) +/* 8934B8 80240A98 8E060050 */ lw $a2, 0x50($s0) +/* 8934BC 80240A9C 8E470064 */ lw $a3, 0x64($s2) +/* 8934C0 80240AA0 0C00A8ED */ jal update_lerp +/* 8934C4 80240AA4 24040001 */ addiu $a0, $zero, 1 +/* 8934C8 80240AA8 C602002C */ lwc1 $f2, 0x2c($s0) +/* 8934CC 80240AAC 46001080 */ add.s $f2, $f2, $f0 +/* 8934D0 80240AB0 26310001 */ addiu $s1, $s1, 1 +/* 8934D4 80240AB4 2A220003 */ slti $v0, $s1, 3 +/* 8934D8 80240AB8 E602002C */ swc1 $f2, 0x2c($s0) +/* 8934DC 80240ABC 1440FFE2 */ bnez $v0, .L80240A48 +/* 8934E0 80240AC0 26100004 */ addiu $s0, $s0, 4 +/* 8934E4 80240AC4 8E420064 */ lw $v0, 0x64($s2) +/* 8934E8 80240AC8 24420001 */ addiu $v0, $v0, 1 +/* 8934EC 80240ACC AE420064 */ sw $v0, 0x64($s2) +/* 8934F0 80240AD0 28420015 */ slti $v0, $v0, 0x15 +/* 8934F4 80240AD4 14400005 */ bnez $v0, .L80240AEC +/* 8934F8 80240AD8 0000882D */ daddu $s1, $zero, $zero +/* 8934FC 80240ADC 24020002 */ addiu $v0, $zero, 2 +.L80240AE0: +/* 893500 80240AE0 AE420004 */ sw $v0, 4($s2) +/* 893504 80240AE4 AE400064 */ sw $zero, 0x64($s2) +/* 893508 80240AE8 0000882D */ daddu $s1, $zero, $zero +.L80240AEC: +/* 89350C 80240AEC 0240282D */ daddu $a1, $s2, $zero +.L80240AF0: +/* 893510 80240AF0 8CA20008 */ lw $v0, 8($a1) +/* 893514 80240AF4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 893518 80240AF8 8C42000C */ lw $v0, 0xc($v0) +/* 89351C 80240AFC E4400010 */ swc1 $f0, 0x10($v0) +/* 893520 80240B00 8CA20008 */ lw $v0, 8($a1) +/* 893524 80240B04 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 893528 80240B08 8C42000C */ lw $v0, 0xc($v0) +/* 89352C 80240B0C 26310001 */ addiu $s1, $s1, 1 +/* 893530 80240B10 E4400014 */ swc1 $f0, 0x14($v0) +/* 893534 80240B14 8CA20008 */ lw $v0, 8($a1) +/* 893538 80240B18 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 89353C 80240B1C 8C42000C */ lw $v0, 0xc($v0) +/* 893540 80240B20 E4400018 */ swc1 $f0, 0x18($v0) +/* 893544 80240B24 2A220003 */ slti $v0, $s1, 3 +/* 893548 80240B28 1440FFF1 */ bnez $v0, .L80240AF0 +/* 89354C 80240B2C 24A50004 */ addiu $a1, $a1, 4 +/* 893550 80240B30 0000102D */ daddu $v0, $zero, $zero +.L80240B34: +/* 893554 80240B34 8FBF0044 */ lw $ra, 0x44($sp) +/* 893558 80240B38 8FB60040 */ lw $s6, 0x40($sp) +/* 89355C 80240B3C 8FB5003C */ lw $s5, 0x3c($sp) +/* 893560 80240B40 8FB40038 */ lw $s4, 0x38($sp) +/* 893564 80240B44 8FB30034 */ lw $s3, 0x34($sp) +/* 893568 80240B48 8FB20030 */ lw $s2, 0x30($sp) +/* 89356C 80240B4C 8FB1002C */ lw $s1, 0x2c($sp) +/* 893570 80240B50 8FB00028 */ lw $s0, 0x28($sp) +/* 893574 80240B54 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 893578 80240B58 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 89357C 80240B5C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 893580 80240B60 03E00008 */ jr $ra +/* 893584 80240B64 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240B68.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240B68.s new file mode 100644 index 0000000000..8da65e2c13 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240B68.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B68 +/* 893588 80240B68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89358C 80240B6C AFB10014 */ sw $s1, 0x14($sp) +/* 893590 80240B70 0080882D */ daddu $s1, $a0, $zero +/* 893594 80240B74 AFB20018 */ sw $s2, 0x18($sp) +/* 893598 80240B78 AFBF001C */ sw $ra, 0x1c($sp) +/* 89359C 80240B7C AFB00010 */ sw $s0, 0x10($sp) +/* 8935A0 80240B80 8E30000C */ lw $s0, 0xc($s1) +/* 8935A4 80240B84 10A00010 */ beqz $a1, .L80240BC8 +/* 8935A8 80240B88 0000902D */ daddu $s2, $zero, $zero +/* 8935AC 80240B8C 8E050000 */ lw $a1, ($s0) +/* 8935B0 80240B90 0C0B1EAF */ jal get_variable +/* 8935B4 80240B94 26100004 */ addiu $s0, $s0, 4 +/* 8935B8 80240B98 AE220084 */ sw $v0, 0x84($s1) +/* 8935BC 80240B9C 8E050000 */ lw $a1, ($s0) +/* 8935C0 80240BA0 0C0B1EAF */ jal get_variable +/* 8935C4 80240BA4 0220202D */ daddu $a0, $s1, $zero +/* 8935C8 80240BA8 0240202D */ daddu $a0, $s2, $zero +/* 8935CC 80240BAC 240500D0 */ addiu $a1, $zero, 0xd0 +/* 8935D0 80240BB0 00A0302D */ daddu $a2, $a1, $zero +/* 8935D4 80240BB4 00A0382D */ daddu $a3, $a1, $zero +/* 8935D8 80240BB8 AE220088 */ sw $v0, 0x88($s1) +/* 8935DC 80240BBC AE200070 */ sw $zero, 0x70($s1) +/* 8935E0 80240BC0 0C04DF84 */ jal func_80137E10 +/* 8935E4 80240BC4 AE200074 */ sw $zero, 0x74($s1) +.L80240BC8: +/* 8935E8 80240BC8 8E230070 */ lw $v1, 0x70($s1) +/* 8935EC 80240BCC 24040001 */ addiu $a0, $zero, 1 +/* 8935F0 80240BD0 10640019 */ beq $v1, $a0, .L80240C38 +/* 8935F4 80240BD4 28620002 */ slti $v0, $v1, 2 +/* 8935F8 80240BD8 10400005 */ beqz $v0, .L80240BF0 +/* 8935FC 80240BDC 24020002 */ addiu $v0, $zero, 2 +/* 893600 80240BE0 10600007 */ beqz $v1, .L80240C00 +/* 893604 80240BE4 240500FF */ addiu $a1, $zero, 0xff +/* 893608 80240BE8 0809031E */ j .L80240C78 +/* 89360C 80240BEC 00000000 */ nop +.L80240BF0: +/* 893610 80240BF0 10620019 */ beq $v1, $v0, .L80240C58 +/* 893614 80240BF4 00000000 */ nop +/* 893618 80240BF8 0809031E */ j .L80240C78 +/* 89361C 80240BFC 00000000 */ nop +.L80240C00: +/* 893620 80240C00 8E220074 */ lw $v0, 0x74($s1) +/* 893624 80240C04 14450004 */ bne $v0, $a1, .L80240C18 +/* 893628 80240C08 00000000 */ nop +/* 89362C 80240C0C AE240070 */ sw $a0, 0x70($s1) +/* 893630 80240C10 AE200078 */ sw $zero, 0x78($s1) +/* 893634 80240C14 8E220074 */ lw $v0, 0x74($s1) +.L80240C18: +/* 893638 80240C18 8E230084 */ lw $v1, 0x84($s1) +/* 89363C 80240C1C 00431021 */ addu $v0, $v0, $v1 +/* 893640 80240C20 AE220074 */ sw $v0, 0x74($s1) +/* 893644 80240C24 28420100 */ slti $v0, $v0, 0x100 +/* 893648 80240C28 50400013 */ beql $v0, $zero, .L80240C78 +/* 89364C 80240C2C AE250074 */ sw $a1, 0x74($s1) +/* 893650 80240C30 0809031E */ j .L80240C78 +/* 893654 80240C34 00000000 */ nop +.L80240C38: +/* 893658 80240C38 8E220078 */ lw $v0, 0x78($s1) +/* 89365C 80240C3C 24420001 */ addiu $v0, $v0, 1 +/* 893660 80240C40 AE220078 */ sw $v0, 0x78($s1) +/* 893664 80240C44 28420002 */ slti $v0, $v0, 2 +/* 893668 80240C48 1440000B */ bnez $v0, .L80240C78 +/* 89366C 80240C4C 24020002 */ addiu $v0, $zero, 2 +/* 893670 80240C50 0809031E */ j .L80240C78 +/* 893674 80240C54 AE220070 */ sw $v0, 0x70($s1) +.L80240C58: +/* 893678 80240C58 8E230074 */ lw $v1, 0x74($s1) +/* 89367C 80240C5C 50600001 */ beql $v1, $zero, .L80240C64 +/* 893680 80240C60 24120001 */ addiu $s2, $zero, 1 +.L80240C64: +/* 893684 80240C64 8E220088 */ lw $v0, 0x88($s1) +/* 893688 80240C68 00621023 */ subu $v0, $v1, $v0 +/* 89368C 80240C6C 04410002 */ bgez $v0, .L80240C78 +/* 893690 80240C70 AE220074 */ sw $v0, 0x74($s1) +/* 893694 80240C74 AE200074 */ sw $zero, 0x74($s1) +.L80240C78: +/* 893698 80240C78 C6200074 */ lwc1 $f0, 0x74($s1) +/* 89369C 80240C7C 46800020 */ cvt.s.w $f0, $f0 +/* 8936A0 80240C80 44050000 */ mfc1 $a1, $f0 +/* 8936A4 80240C84 0C04DF62 */ jal func_80137D88 +/* 8936A8 80240C88 24040001 */ addiu $a0, $zero, 1 +/* 8936AC 80240C8C 0240102D */ daddu $v0, $s2, $zero +/* 8936B0 80240C90 8FBF001C */ lw $ra, 0x1c($sp) +/* 8936B4 80240C94 8FB20018 */ lw $s2, 0x18($sp) +/* 8936B8 80240C98 8FB10014 */ lw $s1, 0x14($sp) +/* 8936BC 80240C9C 8FB00010 */ lw $s0, 0x10($sp) +/* 8936C0 80240CA0 03E00008 */ jr $ra +/* 8936C4 80240CA4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240CA8.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240CA8.s new file mode 100644 index 0000000000..a51be3341a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240CA8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CA8 +/* 8936C8 80240CA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8936CC 80240CAC AFBF0018 */ sw $ra, 0x18($sp) +/* 8936D0 80240CB0 0C00EAD2 */ jal get_npc_safe +/* 8936D4 80240CB4 2404FFFC */ addiu $a0, $zero, -4 +/* 8936D8 80240CB8 3C0141F0 */ lui $at, 0x41f0 +/* 8936DC 80240CBC 44810000 */ mtc1 $at, $f0 +/* 8936E0 80240CC0 C442003C */ lwc1 $f2, 0x3c($v0) +/* 8936E4 80240CC4 46001080 */ add.s $f2, $f2, $f0 +/* 8936E8 80240CC8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8936EC 80240CCC 8C450038 */ lw $a1, 0x38($v0) +/* 8936F0 80240CD0 8C470040 */ lw $a3, 0x40($v0) +/* 8936F4 80240CD4 44061000 */ mfc1 $a2, $f2 +/* 8936F8 80240CD8 0C01BFBC */ jal func_8006FEF0 +/* 8936FC 80240CDC 24040002 */ addiu $a0, $zero, 2 +/* 893700 80240CE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 893704 80240CE4 24020002 */ addiu $v0, $zero, 2 +/* 893708 80240CE8 03E00008 */ jr $ra +/* 89370C 80240CEC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240CF0_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240CF0_892A20.s new file mode 100644 index 0000000000..13e3c428cb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240CF0_892A20.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF0_893710 +/* 893710 80240CF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 893714 80240CF4 AFBF0018 */ sw $ra, 0x18($sp) +/* 893718 80240CF8 0C00EAD2 */ jal get_npc_safe +/* 89371C 80240CFC 2404FFFC */ addiu $a0, $zero, -4 +/* 893720 80240D00 3C0141F0 */ lui $at, 0x41f0 +/* 893724 80240D04 44810000 */ mtc1 $at, $f0 +/* 893728 80240D08 C442003C */ lwc1 $f2, 0x3c($v0) +/* 89372C 80240D0C 46001080 */ add.s $f2, $f2, $f0 +/* 893730 80240D10 E7A00010 */ swc1 $f0, 0x10($sp) +/* 893734 80240D14 8C450038 */ lw $a1, 0x38($v0) +/* 893738 80240D18 8C470040 */ lw $a3, 0x40($v0) +/* 89373C 80240D1C 44061000 */ mfc1 $a2, $f2 +/* 893740 80240D20 0C01BFBC */ jal func_8006FEF0 +/* 893744 80240D24 24040004 */ addiu $a0, $zero, 4 +/* 893748 80240D28 8FBF0018 */ lw $ra, 0x18($sp) +/* 89374C 80240D2C 24020002 */ addiu $v0, $zero, 2 +/* 893750 80240D30 03E00008 */ jr $ra +/* 893754 80240D34 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240D38.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240D38.s new file mode 100644 index 0000000000..7e0890eb10 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240D38.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D38 +/* 893758 80240D38 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 89375C 80240D3C 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 893760 80240D40 AC800084 */ sw $zero, 0x84($a0) +/* 893764 80240D44 80620000 */ lb $v0, ($v1) +/* 893768 80240D48 10400005 */ beqz $v0, .L80240D60 +/* 89376C 80240D4C 24020003 */ addiu $v0, $zero, 3 +/* 893770 80240D50 80630003 */ lb $v1, 3($v1) +/* 893774 80240D54 14620002 */ bne $v1, $v0, .L80240D60 +/* 893778 80240D58 24020001 */ addiu $v0, $zero, 1 +/* 89377C 80240D5C AC820084 */ sw $v0, 0x84($a0) +.L80240D60: +/* 893780 80240D60 03E00008 */ jr $ra +/* 893784 80240D64 24020002 */ addiu $v0, $zero, 2 +/* 893788 80240D68 00000000 */ nop +/* 89378C 80240D6C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240D70.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240D70.s new file mode 100644 index 0000000000..e38402dfb9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240D70.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D70 +/* 893790 80240D70 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 893794 80240D74 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 893798 80240D78 8C430004 */ lw $v1, 4($v0) +/* 89379C 80240D7C 3C040010 */ lui $a0, 0x10 +/* 8937A0 80240D80 00641825 */ or $v1, $v1, $a0 +/* 8937A4 80240D84 AC430004 */ sw $v1, 4($v0) +/* 8937A8 80240D88 03E00008 */ jr $ra +/* 8937AC 80240D8C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240D90.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240D90.s new file mode 100644 index 0000000000..f9f078c691 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240D90.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D90 +/* 8937B0 80240D90 3C028016 */ lui $v0, 0x8016 +/* 8937B4 80240D94 8442A552 */ lh $v0, -0x5aae($v0) +/* 8937B8 80240D98 AC820084 */ sw $v0, 0x84($a0) +/* 8937BC 80240D9C 03E00008 */ jr $ra +/* 8937C0 80240DA0 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240DA4_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240DA4_892A20.s new file mode 100644 index 0000000000..33f3a806a9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240DA4_892A20.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DA4_8937C4 +/* 8937C4 80240DA4 3C038016 */ lui $v1, 0x8016 +/* 8937C8 80240DA8 8463A552 */ lh $v1, -0x5aae($v1) +/* 8937CC 80240DAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8937D0 80240DB0 AFB00010 */ sw $s0, 0x10($sp) +/* 8937D4 80240DB4 0080802D */ daddu $s0, $a0, $zero +/* 8937D8 80240DB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 8937DC 80240DBC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8937E0 80240DC0 10620003 */ beq $v1, $v0, .L80240DD0 +/* 8937E4 80240DC4 24020002 */ addiu $v0, $zero, 2 +/* 8937E8 80240DC8 08090394 */ j .L80240E50 +/* 8937EC 80240DCC AE000084 */ sw $zero, 0x84($s0) +.L80240DD0: +/* 8937F0 80240DD0 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8937F4 80240DD4 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8937F8 80240DD8 80620040 */ lb $v0, 0x40($v1) +/* 8937FC 80240DDC 80670044 */ lb $a3, 0x44($v1) +/* 893800 80240DE0 04420001 */ bltzl $v0, .L80240DE8 +/* 893804 80240DE4 00021023 */ negu $v0, $v0 +.L80240DE8: +/* 893808 80240DE8 14400003 */ bnez $v0, .L80240DF8 +/* 89380C 80240DEC 00000000 */ nop +/* 893810 80240DF0 50E00017 */ beql $a3, $zero, .L80240E50 +/* 893814 80240DF4 0000102D */ daddu $v0, $zero, $zero +.L80240DF8: +/* 893818 80240DF8 44822000 */ mtc1 $v0, $f4 +/* 89381C 80240DFC 00000000 */ nop +/* 893820 80240E00 46802120 */ cvt.s.w $f4, $f4 +/* 893824 80240E04 44062000 */ mfc1 $a2, $f4 +/* 893828 80240E08 44872000 */ mtc1 $a3, $f4 +/* 89382C 80240E0C 00000000 */ nop +/* 893830 80240E10 46802120 */ cvt.s.w $f4, $f4 +/* 893834 80240E14 44806000 */ mtc1 $zero, $f12 +/* 893838 80240E18 44072000 */ mfc1 $a3, $f4 +/* 89383C 80240E1C 0C00A720 */ jal atan2 +/* 893840 80240E20 46006386 */ mov.s $f14, $f12 +/* 893844 80240E24 3C014270 */ lui $at, 0x4270 +/* 893848 80240E28 44811000 */ mtc1 $at, $f2 +/* 89384C 80240E2C 00000000 */ nop +/* 893850 80240E30 4602003C */ c.lt.s $f0, $f2 +/* 893854 80240E34 00000000 */ nop +/* 893858 80240E38 45000004 */ bc1f .L80240E4C +/* 89385C 80240E3C 24020001 */ addiu $v0, $zero, 1 +/* 893860 80240E40 AE020084 */ sw $v0, 0x84($s0) +/* 893864 80240E44 08090394 */ j .L80240E50 +/* 893868 80240E48 24020002 */ addiu $v0, $zero, 2 +.L80240E4C: +/* 89386C 80240E4C 0000102D */ daddu $v0, $zero, $zero +.L80240E50: +/* 893870 80240E50 8FBF0014 */ lw $ra, 0x14($sp) +/* 893874 80240E54 8FB00010 */ lw $s0, 0x10($sp) +/* 893878 80240E58 03E00008 */ jr $ra +/* 89387C 80240E5C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240E60_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240E60_892A20.s new file mode 100644 index 0000000000..b58b05c106 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240E60_892A20.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E60_893880 +/* 893880 80240E60 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 893884 80240E64 AFB10014 */ sw $s1, 0x14($sp) +/* 893888 80240E68 0080882D */ daddu $s1, $a0, $zero +/* 89388C 80240E6C AFBF001C */ sw $ra, 0x1c($sp) +/* 893890 80240E70 AFB20018 */ sw $s2, 0x18($sp) +/* 893894 80240E74 0C016AFA */ jal get_current_map_header +/* 893898 80240E78 AFB00010 */ sw $s0, 0x10($sp) +/* 89389C 80240E7C 0220202D */ daddu $a0, $s1, $zero +/* 8938A0 80240E80 3C05FE36 */ lui $a1, 0xfe36 +/* 8938A4 80240E84 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8938A8 80240E88 0C0B1EAF */ jal get_variable +/* 8938AC 80240E8C 0040902D */ daddu $s2, $v0, $zero +/* 8938B0 80240E90 0220202D */ daddu $a0, $s1, $zero +/* 8938B4 80240E94 3C05FE36 */ lui $a1, 0xfe36 +/* 8938B8 80240E98 8E430014 */ lw $v1, 0x14($s2) +/* 8938BC 80240E9C 00028100 */ sll $s0, $v0, 4 +/* 8938C0 80240EA0 02031821 */ addu $v1, $s0, $v1 +/* 8938C4 80240EA4 C4600000 */ lwc1 $f0, ($v1) +/* 8938C8 80240EA8 4600008D */ trunc.w.s $f2, $f0 +/* 8938CC 80240EAC 44061000 */ mfc1 $a2, $f2 +/* 8938D0 80240EB0 0C0B2026 */ jal set_variable +/* 8938D4 80240EB4 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8938D8 80240EB8 0220202D */ daddu $a0, $s1, $zero +/* 8938DC 80240EBC 8E420014 */ lw $v0, 0x14($s2) +/* 8938E0 80240EC0 3C05FE36 */ lui $a1, 0xfe36 +/* 8938E4 80240EC4 02021021 */ addu $v0, $s0, $v0 +/* 8938E8 80240EC8 C4400004 */ lwc1 $f0, 4($v0) +/* 8938EC 80240ECC 4600008D */ trunc.w.s $f2, $f0 +/* 8938F0 80240ED0 44061000 */ mfc1 $a2, $f2 +/* 8938F4 80240ED4 0C0B2026 */ jal set_variable +/* 8938F8 80240ED8 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8938FC 80240EDC 0220202D */ daddu $a0, $s1, $zero +/* 893900 80240EE0 8E420014 */ lw $v0, 0x14($s2) +/* 893904 80240EE4 3C05FE36 */ lui $a1, 0xfe36 +/* 893908 80240EE8 02021021 */ addu $v0, $s0, $v0 +/* 89390C 80240EEC C4400008 */ lwc1 $f0, 8($v0) +/* 893910 80240EF0 4600008D */ trunc.w.s $f2, $f0 +/* 893914 80240EF4 44061000 */ mfc1 $a2, $f2 +/* 893918 80240EF8 0C0B2026 */ jal set_variable +/* 89391C 80240EFC 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 893920 80240F00 0220202D */ daddu $a0, $s1, $zero +/* 893924 80240F04 8E420014 */ lw $v0, 0x14($s2) +/* 893928 80240F08 3C05FE36 */ lui $a1, 0xfe36 +/* 89392C 80240F0C 02028021 */ addu $s0, $s0, $v0 +/* 893930 80240F10 C600000C */ lwc1 $f0, 0xc($s0) +/* 893934 80240F14 4600008D */ trunc.w.s $f2, $f0 +/* 893938 80240F18 44061000 */ mfc1 $a2, $f2 +/* 89393C 80240F1C 0C0B2026 */ jal set_variable +/* 893940 80240F20 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 893944 80240F24 8FBF001C */ lw $ra, 0x1c($sp) +/* 893948 80240F28 8FB20018 */ lw $s2, 0x18($sp) +/* 89394C 80240F2C 8FB10014 */ lw $s1, 0x14($sp) +/* 893950 80240F30 8FB00010 */ lw $s0, 0x10($sp) +/* 893954 80240F34 24020002 */ addiu $v0, $zero, 2 +/* 893958 80240F38 03E00008 */ jr $ra +/* 89395C 80240F3C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240F40.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240F40.s new file mode 100644 index 0000000000..24ed82bdbe --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240F40.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F40 +/* 893960 80240F40 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 893964 80240F44 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 893968 80240F48 3C014334 */ lui $at, 0x4334 +/* 89396C 80240F4C 44816000 */ mtc1 $at, $f12 +/* 893970 80240F50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 893974 80240F54 AFBF0014 */ sw $ra, 0x14($sp) +/* 893978 80240F58 AFB00010 */ sw $s0, 0x10($sp) +/* 89397C 80240F5C 00031080 */ sll $v0, $v1, 2 +/* 893980 80240F60 00431021 */ addu $v0, $v0, $v1 +/* 893984 80240F64 00021080 */ sll $v0, $v0, 2 +/* 893988 80240F68 00431023 */ subu $v0, $v0, $v1 +/* 89398C 80240F6C 000218C0 */ sll $v1, $v0, 3 +/* 893990 80240F70 00431021 */ addu $v0, $v0, $v1 +/* 893994 80240F74 000210C0 */ sll $v0, $v0, 3 +/* 893998 80240F78 3C01800B */ lui $at, 0x800b +/* 89399C 80240F7C 00220821 */ addu $at, $at, $v0 +/* 8939A0 80240F80 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8939A4 80240F84 460C0300 */ add.s $f12, $f0, $f12 +/* 8939A8 80240F88 0C00A6C9 */ jal clamp_angle +/* 8939AC 80240F8C 0080802D */ daddu $s0, $a0, $zero +/* 8939B0 80240F90 4600008D */ trunc.w.s $f2, $f0 +/* 8939B4 80240F94 E6020084 */ swc1 $f2, 0x84($s0) +/* 8939B8 80240F98 8FBF0014 */ lw $ra, 0x14($sp) +/* 8939BC 80240F9C 8FB00010 */ lw $s0, 0x10($sp) +/* 8939C0 80240FA0 24020002 */ addiu $v0, $zero, 2 +/* 8939C4 80240FA4 03E00008 */ jr $ra +/* 8939C8 80240FA8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80240FAC_892A20.s b/asm/nonmatchings/world/area_tik/tik_17/func_80240FAC_892A20.s new file mode 100644 index 0000000000..c126ddf6d9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80240FAC_892A20.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FAC_8939CC +/* 8939CC 80240FAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8939D0 80240FB0 AFB00018 */ sw $s0, 0x18($sp) +/* 8939D4 80240FB4 0080802D */ daddu $s0, $a0, $zero +/* 8939D8 80240FB8 AFBF001C */ sw $ra, 0x1c($sp) +/* 8939DC 80240FBC F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8939E0 80240FC0 8E02000C */ lw $v0, 0xc($s0) +/* 8939E4 80240FC4 0C0B210B */ jal get_float_variable +/* 8939E8 80240FC8 8C450000 */ lw $a1, ($v0) +/* 8939EC 80240FCC 27A40010 */ addiu $a0, $sp, 0x10 +/* 8939F0 80240FD0 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8939F4 80240FD4 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8939F8 80240FD8 44060000 */ mfc1 $a2, $f0 +/* 8939FC 80240FDC C4400028 */ lwc1 $f0, 0x28($v0) +/* 893A00 80240FE0 C4420030 */ lwc1 $f2, 0x30($v0) +/* 893A04 80240FE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 893A08 80240FE8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 893A0C 80240FEC 8C470080 */ lw $a3, 0x80($v0) +/* 893A10 80240FF0 C454002C */ lwc1 $f20, 0x2c($v0) +/* 893A14 80240FF4 0C00A7E7 */ jal add_vec2D_polar +/* 893A18 80240FF8 27A50014 */ addiu $a1, $sp, 0x14 +/* 893A1C 80240FFC 0200202D */ daddu $a0, $s0, $zero +/* 893A20 80241000 3C05FE36 */ lui $a1, 0xfe36 +/* 893A24 80241004 8FA60010 */ lw $a2, 0x10($sp) +/* 893A28 80241008 0C0B2190 */ jal set_float_variable +/* 893A2C 8024100C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 893A30 80241010 0200202D */ daddu $a0, $s0, $zero +/* 893A34 80241014 3C05FE36 */ lui $a1, 0xfe36 +/* 893A38 80241018 4406A000 */ mfc1 $a2, $f20 +/* 893A3C 8024101C 0C0B2190 */ jal set_float_variable +/* 893A40 80241020 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 893A44 80241024 0200202D */ daddu $a0, $s0, $zero +/* 893A48 80241028 3C05FE36 */ lui $a1, 0xfe36 +/* 893A4C 8024102C 8FA60014 */ lw $a2, 0x14($sp) +/* 893A50 80241030 0C0B2190 */ jal set_float_variable +/* 893A54 80241034 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 893A58 80241038 8FBF001C */ lw $ra, 0x1c($sp) +/* 893A5C 8024103C 8FB00018 */ lw $s0, 0x18($sp) +/* 893A60 80241040 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 893A64 80241044 24020002 */ addiu $v0, $zero, 2 +/* 893A68 80241048 03E00008 */ jr $ra +/* 893A6C 8024104C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80241050.s b/asm/nonmatchings/world/area_tik/tik_17/func_80241050.s new file mode 100644 index 0000000000..dbd1300228 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80241050.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241050 +/* 893A70 80241050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 893A74 80241054 AFB00010 */ sw $s0, 0x10($sp) +/* 893A78 80241058 0080802D */ daddu $s0, $a0, $zero +/* 893A7C 8024105C AFBF0014 */ sw $ra, 0x14($sp) +/* 893A80 80241060 8E0300A8 */ lw $v1, 0xa8($s0) +/* 893A84 80241064 8E020088 */ lw $v0, 0x88($s0) +/* 893A88 80241068 00621821 */ addu $v1, $v1, $v0 +/* 893A8C 8024106C 04610004 */ bgez $v1, .L80241080 +/* 893A90 80241070 AE0300A8 */ sw $v1, 0xa8($s0) +/* 893A94 80241074 3C020002 */ lui $v0, 2 +/* 893A98 80241078 08090424 */ j .L80241090 +/* 893A9C 8024107C 00621021 */ addu $v0, $v1, $v0 +.L80241080: +/* 893AA0 80241080 3C040002 */ lui $a0, 2 +/* 893AA4 80241084 0083102A */ slt $v0, $a0, $v1 +/* 893AA8 80241088 10400002 */ beqz $v0, .L80241094 +/* 893AAC 8024108C 00641023 */ subu $v0, $v1, $a0 +.L80241090: +/* 893AB0 80241090 AE0200A8 */ sw $v0, 0xa8($s0) +.L80241094: +/* 893AB4 80241094 8E0300AC */ lw $v1, 0xac($s0) +/* 893AB8 80241098 8E02008C */ lw $v0, 0x8c($s0) +/* 893ABC 8024109C 00621821 */ addu $v1, $v1, $v0 +/* 893AC0 802410A0 04610004 */ bgez $v1, .L802410B4 +/* 893AC4 802410A4 AE0300AC */ sw $v1, 0xac($s0) +/* 893AC8 802410A8 3C020002 */ lui $v0, 2 +/* 893ACC 802410AC 08090431 */ j .L802410C4 +/* 893AD0 802410B0 00621021 */ addu $v0, $v1, $v0 +.L802410B4: +/* 893AD4 802410B4 3C040002 */ lui $a0, 2 +/* 893AD8 802410B8 0083102A */ slt $v0, $a0, $v1 +/* 893ADC 802410BC 10400002 */ beqz $v0, .L802410C8 +/* 893AE0 802410C0 00641023 */ subu $v0, $v1, $a0 +.L802410C4: +/* 893AE4 802410C4 AE0200AC */ sw $v0, 0xac($s0) +.L802410C8: +/* 893AE8 802410C8 8E0300B0 */ lw $v1, 0xb0($s0) +/* 893AEC 802410CC 8E020090 */ lw $v0, 0x90($s0) +/* 893AF0 802410D0 00621821 */ addu $v1, $v1, $v0 +/* 893AF4 802410D4 04610004 */ bgez $v1, .L802410E8 +/* 893AF8 802410D8 AE0300B0 */ sw $v1, 0xb0($s0) +/* 893AFC 802410DC 3C020002 */ lui $v0, 2 +/* 893B00 802410E0 0809043E */ j .L802410F8 +/* 893B04 802410E4 00621021 */ addu $v0, $v1, $v0 +.L802410E8: +/* 893B08 802410E8 3C040002 */ lui $a0, 2 +/* 893B0C 802410EC 0083102A */ slt $v0, $a0, $v1 +/* 893B10 802410F0 10400002 */ beqz $v0, .L802410FC +/* 893B14 802410F4 00641023 */ subu $v0, $v1, $a0 +.L802410F8: +/* 893B18 802410F8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802410FC: +/* 893B1C 802410FC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 893B20 80241100 8E020094 */ lw $v0, 0x94($s0) +/* 893B24 80241104 00621821 */ addu $v1, $v1, $v0 +/* 893B28 80241108 04610004 */ bgez $v1, .L8024111C +/* 893B2C 8024110C AE0300B4 */ sw $v1, 0xb4($s0) +/* 893B30 80241110 3C020002 */ lui $v0, 2 +/* 893B34 80241114 0809044B */ j .L8024112C +/* 893B38 80241118 00621021 */ addu $v0, $v1, $v0 +.L8024111C: +/* 893B3C 8024111C 3C040002 */ lui $a0, 2 +/* 893B40 80241120 0083102A */ slt $v0, $a0, $v1 +/* 893B44 80241124 10400002 */ beqz $v0, .L80241130 +/* 893B48 80241128 00641023 */ subu $v0, $v1, $a0 +.L8024112C: +/* 893B4C 8024112C AE0200B4 */ sw $v0, 0xb4($s0) +.L80241130: +/* 893B50 80241130 8E040084 */ lw $a0, 0x84($s0) +/* 893B54 80241134 0C046F07 */ jal set_main_pan_u +/* 893B58 80241138 8E0500A8 */ lw $a1, 0xa8($s0) +/* 893B5C 8024113C 8E040084 */ lw $a0, 0x84($s0) +/* 893B60 80241140 0C046F0D */ jal set_main_pan_v +/* 893B64 80241144 8E0500AC */ lw $a1, 0xac($s0) +/* 893B68 80241148 8E040084 */ lw $a0, 0x84($s0) +/* 893B6C 8024114C 0C046F13 */ jal set_aux_pan_u +/* 893B70 80241150 8E0500B0 */ lw $a1, 0xb0($s0) +/* 893B74 80241154 8E040084 */ lw $a0, 0x84($s0) +/* 893B78 80241158 0C046F19 */ jal set_aux_pan_v +/* 893B7C 8024115C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 893B80 80241160 8FBF0014 */ lw $ra, 0x14($sp) +/* 893B84 80241164 8FB00010 */ lw $s0, 0x10($sp) +/* 893B88 80241168 0000102D */ daddu $v0, $zero, $zero +/* 893B8C 8024116C 03E00008 */ jr $ra +/* 893B90 80241170 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_17/func_80241174.s b/asm/nonmatchings/world/area_tik/tik_17/func_80241174.s new file mode 100644 index 0000000000..16f2953708 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_17/func_80241174.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241174 +/* 893B94 80241174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 893B98 80241178 AFB00010 */ sw $s0, 0x10($sp) +/* 893B9C 8024117C 0080802D */ daddu $s0, $a0, $zero +/* 893BA0 80241180 10A00005 */ beqz $a1, .L80241198 +/* 893BA4 80241184 AFBF0014 */ sw $ra, 0x14($sp) +/* 893BA8 80241188 AE000070 */ sw $zero, 0x70($s0) +/* 893BAC 8024118C AE000074 */ sw $zero, 0x74($s0) +/* 893BB0 80241190 AE000078 */ sw $zero, 0x78($s0) +/* 893BB4 80241194 AE00007C */ sw $zero, 0x7c($s0) +.L80241198: +/* 893BB8 80241198 8E020070 */ lw $v0, 0x70($s0) +/* 893BBC 8024119C 1440000E */ bnez $v0, .L802411D8 +/* 893BC0 802411A0 00000000 */ nop +/* 893BC4 802411A4 8E0300A8 */ lw $v1, 0xa8($s0) +/* 893BC8 802411A8 8E020088 */ lw $v0, 0x88($s0) +/* 893BCC 802411AC 00621821 */ addu $v1, $v1, $v0 +/* 893BD0 802411B0 04610004 */ bgez $v1, .L802411C4 +/* 893BD4 802411B4 AE0300A8 */ sw $v1, 0xa8($s0) +/* 893BD8 802411B8 3C020002 */ lui $v0, 2 +/* 893BDC 802411BC 08090475 */ j .L802411D4 +/* 893BE0 802411C0 00621021 */ addu $v0, $v1, $v0 +.L802411C4: +/* 893BE4 802411C4 3C040002 */ lui $a0, 2 +/* 893BE8 802411C8 0083102A */ slt $v0, $a0, $v1 +/* 893BEC 802411CC 10400002 */ beqz $v0, .L802411D8 +/* 893BF0 802411D0 00641023 */ subu $v0, $v1, $a0 +.L802411D4: +/* 893BF4 802411D4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802411D8: +/* 893BF8 802411D8 8E020074 */ lw $v0, 0x74($s0) +/* 893BFC 802411DC 1440000E */ bnez $v0, .L80241218 +/* 893C00 802411E0 00000000 */ nop +/* 893C04 802411E4 8E0300AC */ lw $v1, 0xac($s0) +/* 893C08 802411E8 8E02008C */ lw $v0, 0x8c($s0) +/* 893C0C 802411EC 00621821 */ addu $v1, $v1, $v0 +/* 893C10 802411F0 04610004 */ bgez $v1, .L80241204 +/* 893C14 802411F4 AE0300AC */ sw $v1, 0xac($s0) +/* 893C18 802411F8 3C020002 */ lui $v0, 2 +/* 893C1C 802411FC 08090485 */ j .L80241214 +/* 893C20 80241200 00621021 */ addu $v0, $v1, $v0 +.L80241204: +/* 893C24 80241204 3C040002 */ lui $a0, 2 +/* 893C28 80241208 0083102A */ slt $v0, $a0, $v1 +/* 893C2C 8024120C 10400002 */ beqz $v0, .L80241218 +/* 893C30 80241210 00641023 */ subu $v0, $v1, $a0 +.L80241214: +/* 893C34 80241214 AE0200AC */ sw $v0, 0xac($s0) +.L80241218: +/* 893C38 80241218 8E020078 */ lw $v0, 0x78($s0) +/* 893C3C 8024121C 1440000E */ bnez $v0, .L80241258 +/* 893C40 80241220 00000000 */ nop +/* 893C44 80241224 8E0300B0 */ lw $v1, 0xb0($s0) +/* 893C48 80241228 8E020090 */ lw $v0, 0x90($s0) +/* 893C4C 8024122C 00621821 */ addu $v1, $v1, $v0 +/* 893C50 80241230 04610004 */ bgez $v1, .L80241244 +/* 893C54 80241234 AE0300B0 */ sw $v1, 0xb0($s0) +/* 893C58 80241238 3C020002 */ lui $v0, 2 +/* 893C5C 8024123C 08090495 */ j .L80241254 +/* 893C60 80241240 00621021 */ addu $v0, $v1, $v0 +.L80241244: +/* 893C64 80241244 3C040002 */ lui $a0, 2 +/* 893C68 80241248 0083102A */ slt $v0, $a0, $v1 +/* 893C6C 8024124C 10400002 */ beqz $v0, .L80241258 +/* 893C70 80241250 00641023 */ subu $v0, $v1, $a0 +.L80241254: +/* 893C74 80241254 AE0200B0 */ sw $v0, 0xb0($s0) +.L80241258: +/* 893C78 80241258 8E02007C */ lw $v0, 0x7c($s0) +/* 893C7C 8024125C 1440000E */ bnez $v0, .L80241298 +/* 893C80 80241260 00000000 */ nop +/* 893C84 80241264 8E0300B4 */ lw $v1, 0xb4($s0) +/* 893C88 80241268 8E020094 */ lw $v0, 0x94($s0) +/* 893C8C 8024126C 00621821 */ addu $v1, $v1, $v0 +/* 893C90 80241270 04610004 */ bgez $v1, .L80241284 +/* 893C94 80241274 AE0300B4 */ sw $v1, 0xb4($s0) +/* 893C98 80241278 3C020002 */ lui $v0, 2 +/* 893C9C 8024127C 080904A5 */ j .L80241294 +/* 893CA0 80241280 00621021 */ addu $v0, $v1, $v0 +.L80241284: +/* 893CA4 80241284 3C040002 */ lui $a0, 2 +/* 893CA8 80241288 0083102A */ slt $v0, $a0, $v1 +/* 893CAC 8024128C 10400002 */ beqz $v0, .L80241298 +/* 893CB0 80241290 00641023 */ subu $v0, $v1, $a0 +.L80241294: +/* 893CB4 80241294 AE0200B4 */ sw $v0, 0xb4($s0) +.L80241298: +/* 893CB8 80241298 8E040084 */ lw $a0, 0x84($s0) +/* 893CBC 8024129C 0C046F07 */ jal set_main_pan_u +/* 893CC0 802412A0 8E0500A8 */ lw $a1, 0xa8($s0) +/* 893CC4 802412A4 8E040084 */ lw $a0, 0x84($s0) +/* 893CC8 802412A8 0C046F0D */ jal set_main_pan_v +/* 893CCC 802412AC 8E0500AC */ lw $a1, 0xac($s0) +/* 893CD0 802412B0 8E040084 */ lw $a0, 0x84($s0) +/* 893CD4 802412B4 0C046F13 */ jal set_aux_pan_u +/* 893CD8 802412B8 8E0500B0 */ lw $a1, 0xb0($s0) +/* 893CDC 802412BC 8E040084 */ lw $a0, 0x84($s0) +/* 893CE0 802412C0 0C046F19 */ jal set_aux_pan_v +/* 893CE4 802412C4 8E0500B4 */ lw $a1, 0xb4($s0) +/* 893CE8 802412C8 8E020070 */ lw $v0, 0x70($s0) +/* 893CEC 802412CC 8E030078 */ lw $v1, 0x78($s0) +/* 893CF0 802412D0 8E040098 */ lw $a0, 0x98($s0) +/* 893CF4 802412D4 24420001 */ addiu $v0, $v0, 1 +/* 893CF8 802412D8 AE020070 */ sw $v0, 0x70($s0) +/* 893CFC 802412DC 8E020074 */ lw $v0, 0x74($s0) +/* 893D00 802412E0 24630001 */ addiu $v1, $v1, 1 +/* 893D04 802412E4 AE030078 */ sw $v1, 0x78($s0) +/* 893D08 802412E8 8E030070 */ lw $v1, 0x70($s0) +/* 893D0C 802412EC 24420001 */ addiu $v0, $v0, 1 +/* 893D10 802412F0 AE020074 */ sw $v0, 0x74($s0) +/* 893D14 802412F4 8E02007C */ lw $v0, 0x7c($s0) +/* 893D18 802412F8 0064182A */ slt $v1, $v1, $a0 +/* 893D1C 802412FC 24420001 */ addiu $v0, $v0, 1 +/* 893D20 80241300 14600002 */ bnez $v1, .L8024130C +/* 893D24 80241304 AE02007C */ sw $v0, 0x7c($s0) +/* 893D28 80241308 AE000070 */ sw $zero, 0x70($s0) +.L8024130C: +/* 893D2C 8024130C 8E020074 */ lw $v0, 0x74($s0) +/* 893D30 80241310 8E03009C */ lw $v1, 0x9c($s0) +/* 893D34 80241314 0043102A */ slt $v0, $v0, $v1 +/* 893D38 80241318 50400001 */ beql $v0, $zero, .L80241320 +/* 893D3C 8024131C AE000074 */ sw $zero, 0x74($s0) +.L80241320: +/* 893D40 80241320 8E020078 */ lw $v0, 0x78($s0) +/* 893D44 80241324 8E0300A0 */ lw $v1, 0xa0($s0) +/* 893D48 80241328 0043102A */ slt $v0, $v0, $v1 +/* 893D4C 8024132C 50400001 */ beql $v0, $zero, .L80241334 +/* 893D50 80241330 AE000078 */ sw $zero, 0x78($s0) +.L80241334: +/* 893D54 80241334 8E02007C */ lw $v0, 0x7c($s0) +/* 893D58 80241338 8E0300A4 */ lw $v1, 0xa4($s0) +/* 893D5C 8024133C 0043102A */ slt $v0, $v0, $v1 +/* 893D60 80241340 50400001 */ beql $v0, $zero, .L80241348 +/* 893D64 80241344 AE00007C */ sw $zero, 0x7c($s0) +.L80241348: +/* 893D68 80241348 8FBF0014 */ lw $ra, 0x14($sp) +/* 893D6C 8024134C 8FB00010 */ lw $s0, 0x10($sp) +/* 893D70 80241350 0000102D */ daddu $v0, $zero, $zero +/* 893D74 80241354 03E00008 */ jr $ra +/* 893D78 80241358 27BD0018 */ addiu $sp, $sp, 0x18 +/* 893D7C 8024135C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_18/func_80240000_8956E0.s b/asm/nonmatchings/world/area_tik/tik_18/func_80240000_8956E0.s new file mode 100644 index 0000000000..7195a8f547 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_18/func_80240000_8956E0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8956E0 +/* 8956E0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8956E4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8956E8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8956EC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 8956F0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8956F4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 8956F8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 8956FC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 895700 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 895704 80240024 3C020002 */ lui $v0, 2 +/* 895708 80240028 08090010 */ j .L80240040 +/* 89570C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 895710 80240030 3C040002 */ lui $a0, 2 +/* 895714 80240034 0083102A */ slt $v0, $a0, $v1 +/* 895718 80240038 10400002 */ beqz $v0, .L80240044 +/* 89571C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 895720 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 895724 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 895728 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 89572C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 895730 80240050 04610004 */ bgez $v1, .L80240064 +/* 895734 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 895738 80240058 3C020002 */ lui $v0, 2 +/* 89573C 8024005C 0809001D */ j .L80240074 +/* 895740 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 895744 80240064 3C040002 */ lui $a0, 2 +/* 895748 80240068 0083102A */ slt $v0, $a0, $v1 +/* 89574C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 895750 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 895754 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 895758 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89575C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 895760 80240080 00621821 */ addu $v1, $v1, $v0 +/* 895764 80240084 04610004 */ bgez $v1, .L80240098 +/* 895768 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89576C 8024008C 3C020002 */ lui $v0, 2 +/* 895770 80240090 0809002A */ j .L802400A8 +/* 895774 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 895778 80240098 3C040002 */ lui $a0, 2 +/* 89577C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 895780 802400A0 10400002 */ beqz $v0, .L802400AC +/* 895784 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 895788 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 89578C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 895790 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 895794 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 895798 802400B8 04610004 */ bgez $v1, .L802400CC +/* 89579C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 8957A0 802400C0 3C020002 */ lui $v0, 2 +/* 8957A4 802400C4 08090037 */ j .L802400DC +/* 8957A8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 8957AC 802400CC 3C040002 */ lui $a0, 2 +/* 8957B0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 8957B4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 8957B8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 8957BC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 8957C0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 8957C4 802400E4 0C046F07 */ jal set_main_pan_u +/* 8957C8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8957CC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 8957D0 802400F0 0C046F0D */ jal set_main_pan_v +/* 8957D4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 8957D8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 8957DC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 8957E0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8957E4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 8957E8 80240108 0C046F19 */ jal set_aux_pan_v +/* 8957EC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8957F0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 8957F4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 8957F8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 8957FC 8024011C 03E00008 */ jr $ra +/* 895800 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_18/func_80240124_8956E0.s b/asm/nonmatchings/world/area_tik/tik_18/func_80240124_8956E0.s new file mode 100644 index 0000000000..7ce787f580 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_18/func_80240124_8956E0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_895804 +/* 895804 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 895808 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 89580C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 895810 80240130 10A00005 */ beqz $a1, .L80240148 +/* 895814 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 895818 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 89581C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 895820 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 895824 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 895828 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 89582C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 895830 80240150 00000000 */ nop +/* 895834 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 895838 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 89583C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 895840 80240160 04610004 */ bgez $v1, .L80240174 +/* 895844 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 895848 80240168 3C020002 */ lui $v0, 2 +/* 89584C 8024016C 08090061 */ j .L80240184 +/* 895850 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 895854 80240174 3C040002 */ lui $a0, 2 +/* 895858 80240178 0083102A */ slt $v0, $a0, $v1 +/* 89585C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 895860 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 895864 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 895868 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 89586C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 895870 80240190 00000000 */ nop +/* 895874 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 895878 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 89587C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 895880 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 895884 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 895888 802401A8 3C020002 */ lui $v0, 2 +/* 89588C 802401AC 08090071 */ j .L802401C4 +/* 895890 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 895894 802401B4 3C040002 */ lui $a0, 2 +/* 895898 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 89589C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 8958A0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 8958A4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 8958A8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 8958AC 802401CC 1440000E */ bnez $v0, .L80240208 +/* 8958B0 802401D0 00000000 */ nop +/* 8958B4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8958B8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 8958BC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 8958C0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 8958C4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8958C8 802401E8 3C020002 */ lui $v0, 2 +/* 8958CC 802401EC 08090081 */ j .L80240204 +/* 8958D0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 8958D4 802401F4 3C040002 */ lui $a0, 2 +/* 8958D8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 8958DC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 8958E0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 8958E4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 8958E8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 8958EC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 8958F0 80240210 00000000 */ nop +/* 8958F4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8958F8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 8958FC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 895900 80240220 04610004 */ bgez $v1, .L80240234 +/* 895904 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 895908 80240228 3C020002 */ lui $v0, 2 +/* 89590C 8024022C 08090091 */ j .L80240244 +/* 895910 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 895914 80240234 3C040002 */ lui $a0, 2 +/* 895918 80240238 0083102A */ slt $v0, $a0, $v1 +/* 89591C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 895920 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 895924 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 895928 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 89592C 8024024C 0C046F07 */ jal set_main_pan_u +/* 895930 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 895934 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 895938 80240258 0C046F0D */ jal set_main_pan_v +/* 89593C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 895940 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 895944 80240264 0C046F13 */ jal set_aux_pan_u +/* 895948 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89594C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 895950 80240270 0C046F19 */ jal set_aux_pan_v +/* 895954 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 895958 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 89595C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 895960 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 895964 80240284 24420001 */ addiu $v0, $v0, 1 +/* 895968 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 89596C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 895970 80240290 24630001 */ addiu $v1, $v1, 1 +/* 895974 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 895978 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 89597C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 895980 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 895984 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 895988 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 89598C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 895990 802402B0 14600002 */ bnez $v1, .L802402BC +/* 895994 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 895998 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 89599C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 8959A0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 8959A4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 8959A8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 8959AC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 8959B0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 8959B4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 8959B8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 8959BC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 8959C0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 8959C4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 8959C8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8959CC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 8959D0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 8959D4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 8959D8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8959DC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8959E0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 8959E4 80240304 03E00008 */ jr $ra +/* 8959E8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8959EC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_18/func_80240310_8956E0.s b/asm/nonmatchings/world/area_tik/tik_18/func_80240310_8956E0.s new file mode 100644 index 0000000000..baff492cc7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_18/func_80240310_8956E0.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_8959F0 +/* 8959F0 80240310 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8959F4 80240314 AFB3001C */ sw $s3, 0x1c($sp) +/* 8959F8 80240318 0080982D */ daddu $s3, $a0, $zero +/* 8959FC 8024031C AFBF0020 */ sw $ra, 0x20($sp) +/* 895A00 80240320 AFB20018 */ sw $s2, 0x18($sp) +/* 895A04 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* 895A08 80240328 AFB00010 */ sw $s0, 0x10($sp) +/* 895A0C 8024032C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 895A10 80240330 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 895A14 80240334 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 895A18 80240338 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 895A1C 8024033C 8E62000C */ lw $v0, 0xc($s3) +/* 895A20 80240340 0C0B1EAF */ jal get_variable +/* 895A24 80240344 8C450000 */ lw $a1, ($v0) +/* 895A28 80240348 2404FFFC */ addiu $a0, $zero, -4 +/* 895A2C 8024034C 0C00EABB */ jal get_npc_unsafe +/* 895A30 80240350 0040802D */ daddu $s0, $v0, $zero +/* 895A34 80240354 0200202D */ daddu $a0, $s0, $zero +/* 895A38 80240358 0C046C04 */ jal get_model_list_index_from_tree_index +/* 895A3C 8024035C 0040802D */ daddu $s0, $v0, $zero +/* 895A40 80240360 0C046B4C */ jal get_model_from_list_index +/* 895A44 80240364 0040202D */ daddu $a0, $v0, $zero +/* 895A48 80240368 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 895A4C 8024036C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 895A50 80240370 0040902D */ daddu $s2, $v0, $zero +/* 895A54 80240374 AE60008C */ sw $zero, 0x8c($s3) +/* 895A58 80240378 C4620028 */ lwc1 $f2, 0x28($v1) +/* 895A5C 8024037C C6400098 */ lwc1 $f0, 0x98($s2) +/* 895A60 80240380 46001081 */ sub.s $f2, $f2, $f0 +/* 895A64 80240384 46021182 */ mul.s $f6, $f2, $f2 +/* 895A68 80240388 00000000 */ nop +/* 895A6C 8024038C C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 895A70 80240390 C4620030 */ lwc1 $f2, 0x30($v1) +/* 895A74 80240394 46001081 */ sub.s $f2, $f2, $f0 +/* 895A78 80240398 46021102 */ mul.s $f4, $f2, $f2 +/* 895A7C 8024039C 00000000 */ nop +/* 895A80 802403A0 846200B0 */ lh $v0, 0xb0($v1) +/* 895A84 802403A4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 895A88 802403A8 44820000 */ mtc1 $v0, $f0 +/* 895A8C 802403AC 00000000 */ nop +/* 895A90 802403B0 46800020 */ cvt.s.w $f0, $f0 +/* 895A94 802403B4 46001080 */ add.s $f2, $f2, $f0 +/* 895A98 802403B8 3C013FC0 */ lui $at, 0x3fc0 +/* 895A9C 802403BC 44810000 */ mtc1 $at, $f0 +/* 895AA0 802403C0 00000000 */ nop +/* 895AA4 802403C4 46001081 */ sub.s $f2, $f2, $f0 +/* 895AA8 802403C8 46043300 */ add.s $f12, $f6, $f4 +/* 895AAC 802403CC C640009C */ lwc1 $f0, 0x9c($s2) +/* 895AB0 802403D0 46001501 */ sub.s $f20, $f2, $f0 +/* 895AB4 802403D4 46006084 */ sqrt.s $f2, $f12 +/* 895AB8 802403D8 46021032 */ c.eq.s $f2, $f2 +/* 895ABC 802403DC 00000000 */ nop +/* 895AC0 802403E0 45010004 */ bc1t .L802403F4 +/* 895AC4 802403E4 0060882D */ daddu $s1, $v1, $zero +/* 895AC8 802403E8 0C0187BC */ jal sqrtf +/* 895ACC 802403EC 00000000 */ nop +/* 895AD0 802403F0 46000086 */ mov.s $f2, $f0 +.L802403F4: +/* 895AD4 802403F4 44800000 */ mtc1 $zero, $f0 +/* 895AD8 802403F8 00000000 */ nop +/* 895ADC 802403FC 4614003C */ c.lt.s $f0, $f20 +/* 895AE0 80240400 00000000 */ nop +/* 895AE4 80240404 45000016 */ bc1f .L80240460 +/* 895AE8 80240408 46001106 */ mov.s $f4, $f2 +/* 895AEC 8024040C 862200B0 */ lh $v0, 0xb0($s1) +/* 895AF0 80240410 44820000 */ mtc1 $v0, $f0 +/* 895AF4 80240414 00000000 */ nop +/* 895AF8 80240418 46800020 */ cvt.s.w $f0, $f0 +/* 895AFC 8024041C 4600A03C */ c.lt.s $f20, $f0 +/* 895B00 80240420 00000000 */ nop +/* 895B04 80240424 4500000E */ bc1f .L80240460 +/* 895B08 80240428 00000000 */ nop +/* 895B0C 8024042C 862200B2 */ lh $v0, 0xb2($s1) +/* 895B10 80240430 3C013F00 */ lui $at, 0x3f00 +/* 895B14 80240434 44811000 */ mtc1 $at, $f2 +/* 895B18 80240438 44820000 */ mtc1 $v0, $f0 +/* 895B1C 8024043C 00000000 */ nop +/* 895B20 80240440 46800020 */ cvt.s.w $f0, $f0 +/* 895B24 80240444 46020002 */ mul.s $f0, $f0, $f2 +/* 895B28 80240448 00000000 */ nop +/* 895B2C 8024044C 4600203C */ c.lt.s $f4, $f0 +/* 895B30 80240450 00000000 */ nop +/* 895B34 80240454 45000002 */ bc1f .L80240460 +/* 895B38 80240458 24020001 */ addiu $v0, $zero, 1 +/* 895B3C 8024045C AE62008C */ sw $v0, 0x8c($s3) +.L80240460: +/* 895B40 80240460 C6020038 */ lwc1 $f2, 0x38($s0) +/* 895B44 80240464 C6400098 */ lwc1 $f0, 0x98($s2) +/* 895B48 80240468 46001081 */ sub.s $f2, $f2, $f0 +/* 895B4C 8024046C 46021182 */ mul.s $f6, $f2, $f2 +/* 895B50 80240470 00000000 */ nop +/* 895B54 80240474 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 895B58 80240478 C6020040 */ lwc1 $f2, 0x40($s0) +/* 895B5C 8024047C 46001081 */ sub.s $f2, $f2, $f0 +/* 895B60 80240480 46021102 */ mul.s $f4, $f2, $f2 +/* 895B64 80240484 00000000 */ nop +/* 895B68 80240488 860200A8 */ lh $v0, 0xa8($s0) +/* 895B6C 8024048C C602003C */ lwc1 $f2, 0x3c($s0) +/* 895B70 80240490 44820000 */ mtc1 $v0, $f0 +/* 895B74 80240494 00000000 */ nop +/* 895B78 80240498 46800020 */ cvt.s.w $f0, $f0 +/* 895B7C 8024049C 46001080 */ add.s $f2, $f2, $f0 +/* 895B80 802404A0 3C013FC0 */ lui $at, 0x3fc0 +/* 895B84 802404A4 44810000 */ mtc1 $at, $f0 +/* 895B88 802404A8 00000000 */ nop +/* 895B8C 802404AC 46001081 */ sub.s $f2, $f2, $f0 +/* 895B90 802404B0 46043300 */ add.s $f12, $f6, $f4 +/* 895B94 802404B4 C640009C */ lwc1 $f0, 0x9c($s2) +/* 895B98 802404B8 46001501 */ sub.s $f20, $f2, $f0 +/* 895B9C 802404BC 46006084 */ sqrt.s $f2, $f12 +/* 895BA0 802404C0 46021032 */ c.eq.s $f2, $f2 +/* 895BA4 802404C4 00000000 */ nop +/* 895BA8 802404C8 45010004 */ bc1t .L802404DC +/* 895BAC 802404CC 00000000 */ nop +/* 895BB0 802404D0 0C0187BC */ jal sqrtf +/* 895BB4 802404D4 00000000 */ nop +/* 895BB8 802404D8 46000086 */ mov.s $f2, $f0 +.L802404DC: +/* 895BBC 802404DC 44800000 */ mtc1 $zero, $f0 +/* 895BC0 802404E0 00000000 */ nop +/* 895BC4 802404E4 4614003C */ c.lt.s $f0, $f20 +/* 895BC8 802404E8 00000000 */ nop +/* 895BCC 802404EC 45000016 */ bc1f .L80240548 +/* 895BD0 802404F0 46001106 */ mov.s $f4, $f2 +/* 895BD4 802404F4 860200A8 */ lh $v0, 0xa8($s0) +/* 895BD8 802404F8 44820000 */ mtc1 $v0, $f0 +/* 895BDC 802404FC 00000000 */ nop +/* 895BE0 80240500 46800020 */ cvt.s.w $f0, $f0 +/* 895BE4 80240504 4600A03C */ c.lt.s $f20, $f0 +/* 895BE8 80240508 00000000 */ nop +/* 895BEC 8024050C 4500000F */ bc1f .L8024054C +/* 895BF0 80240510 0000882D */ daddu $s1, $zero, $zero +/* 895BF4 80240514 860200A6 */ lh $v0, 0xa6($s0) +/* 895BF8 80240518 3C013F00 */ lui $at, 0x3f00 +/* 895BFC 8024051C 44811000 */ mtc1 $at, $f2 +/* 895C00 80240520 44820000 */ mtc1 $v0, $f0 +/* 895C04 80240524 00000000 */ nop +/* 895C08 80240528 46800020 */ cvt.s.w $f0, $f0 +/* 895C0C 8024052C 46020002 */ mul.s $f0, $f0, $f2 +/* 895C10 80240530 00000000 */ nop +/* 895C14 80240534 4600203C */ c.lt.s $f4, $f0 +/* 895C18 80240538 00000000 */ nop +/* 895C1C 8024053C 45000003 */ bc1f .L8024054C +/* 895C20 80240540 24020001 */ addiu $v0, $zero, 1 +/* 895C24 80240544 AE62008C */ sw $v0, 0x8c($s3) +.L80240548: +/* 895C28 80240548 0000882D */ daddu $s1, $zero, $zero +.L8024054C: +/* 895C2C 8024054C 3C013FC0 */ lui $at, 0x3fc0 +/* 895C30 80240550 4481D000 */ mtc1 $at, $f26 +/* 895C34 80240554 4480C000 */ mtc1 $zero, $f24 +/* 895C38 80240558 3C013F00 */ lui $at, 0x3f00 +/* 895C3C 8024055C 4481B000 */ mtc1 $at, $f22 +.L80240560: +/* 895C40 80240560 0C00EAD2 */ jal get_npc_safe +/* 895C44 80240564 0220202D */ daddu $a0, $s1, $zero +/* 895C48 80240568 0040802D */ daddu $s0, $v0, $zero +/* 895C4C 8024056C 52000035 */ beql $s0, $zero, .L80240644 +/* 895C50 80240570 26310001 */ addiu $s1, $s1, 1 +/* 895C54 80240574 C6020038 */ lwc1 $f2, 0x38($s0) +/* 895C58 80240578 C6400098 */ lwc1 $f0, 0x98($s2) +/* 895C5C 8024057C 46001081 */ sub.s $f2, $f2, $f0 +/* 895C60 80240580 46021182 */ mul.s $f6, $f2, $f2 +/* 895C64 80240584 00000000 */ nop +/* 895C68 80240588 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 895C6C 8024058C C6020040 */ lwc1 $f2, 0x40($s0) +/* 895C70 80240590 46001081 */ sub.s $f2, $f2, $f0 +/* 895C74 80240594 46021102 */ mul.s $f4, $f2, $f2 +/* 895C78 80240598 00000000 */ nop +/* 895C7C 8024059C 860200A8 */ lh $v0, 0xa8($s0) +/* 895C80 802405A0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 895C84 802405A4 44820000 */ mtc1 $v0, $f0 +/* 895C88 802405A8 00000000 */ nop +/* 895C8C 802405AC 46800020 */ cvt.s.w $f0, $f0 +/* 895C90 802405B0 46001080 */ add.s $f2, $f2, $f0 +/* 895C94 802405B4 461A1081 */ sub.s $f2, $f2, $f26 +/* 895C98 802405B8 46043300 */ add.s $f12, $f6, $f4 +/* 895C9C 802405BC C640009C */ lwc1 $f0, 0x9c($s2) +/* 895CA0 802405C0 46001501 */ sub.s $f20, $f2, $f0 +/* 895CA4 802405C4 46006004 */ sqrt.s $f0, $f12 +/* 895CA8 802405C8 46000032 */ c.eq.s $f0, $f0 +/* 895CAC 802405CC 00000000 */ nop +/* 895CB0 802405D0 45010003 */ bc1t .L802405E0 +/* 895CB4 802405D4 00000000 */ nop +/* 895CB8 802405D8 0C0187BC */ jal sqrtf +/* 895CBC 802405DC 00000000 */ nop +.L802405E0: +/* 895CC0 802405E0 4614C03C */ c.lt.s $f24, $f20 +/* 895CC4 802405E4 00000000 */ nop +/* 895CC8 802405E8 45000015 */ bc1f .L80240640 +/* 895CCC 802405EC 46000106 */ mov.s $f4, $f0 +/* 895CD0 802405F0 860200A8 */ lh $v0, 0xa8($s0) +/* 895CD4 802405F4 44820000 */ mtc1 $v0, $f0 +/* 895CD8 802405F8 00000000 */ nop +/* 895CDC 802405FC 46800020 */ cvt.s.w $f0, $f0 +/* 895CE0 80240600 4600A03C */ c.lt.s $f20, $f0 +/* 895CE4 80240604 00000000 */ nop +/* 895CE8 80240608 4500000E */ bc1f .L80240644 +/* 895CEC 8024060C 26310001 */ addiu $s1, $s1, 1 +/* 895CF0 80240610 860200A6 */ lh $v0, 0xa6($s0) +/* 895CF4 80240614 44820000 */ mtc1 $v0, $f0 +/* 895CF8 80240618 00000000 */ nop +/* 895CFC 8024061C 46800020 */ cvt.s.w $f0, $f0 +/* 895D00 80240620 46160002 */ mul.s $f0, $f0, $f22 +/* 895D04 80240624 00000000 */ nop +/* 895D08 80240628 4600203C */ c.lt.s $f4, $f0 +/* 895D0C 8024062C 00000000 */ nop +/* 895D10 80240630 45000004 */ bc1f .L80240644 +/* 895D14 80240634 24020001 */ addiu $v0, $zero, 1 +/* 895D18 80240638 08090194 */ j .L80240650 +/* 895D1C 8024063C AE62008C */ sw $v0, 0x8c($s3) +.L80240640: +/* 895D20 80240640 26310001 */ addiu $s1, $s1, 1 +.L80240644: +/* 895D24 80240644 2A220040 */ slti $v0, $s1, 0x40 +/* 895D28 80240648 1440FFC5 */ bnez $v0, .L80240560 +/* 895D2C 8024064C 00000000 */ nop +.L80240650: +/* 895D30 80240650 8FBF0020 */ lw $ra, 0x20($sp) +/* 895D34 80240654 8FB3001C */ lw $s3, 0x1c($sp) +/* 895D38 80240658 8FB20018 */ lw $s2, 0x18($sp) +/* 895D3C 8024065C 8FB10014 */ lw $s1, 0x14($sp) +/* 895D40 80240660 8FB00010 */ lw $s0, 0x10($sp) +/* 895D44 80240664 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 895D48 80240668 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 895D4C 8024066C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 895D50 80240670 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 895D54 80240674 24020002 */ addiu $v0, $zero, 2 +/* 895D58 80240678 03E00008 */ jr $ra +/* 895D5C 8024067C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_18/func_80240680_8956E0.s b/asm/nonmatchings/world/area_tik/tik_18/func_80240680_8956E0.s new file mode 100644 index 0000000000..73b50b2f70 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_18/func_80240680_8956E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_895D60 +/* 895D60 80240680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 895D64 80240684 AFBF0010 */ sw $ra, 0x10($sp) +/* 895D68 80240688 0C00FB5A */ jal get_enemy_safe +/* 895D6C 8024068C 24040001 */ addiu $a0, $zero, 1 +/* 895D70 80240690 0040182D */ daddu $v1, $v0, $zero +/* 895D74 80240694 10600002 */ beqz $v1, .L802406A0 +/* 895D78 80240698 24020001 */ addiu $v0, $zero, 1 +/* 895D7C 8024069C AC62006C */ sw $v0, 0x6c($v1) +.L802406A0: +/* 895D80 802406A0 8FBF0010 */ lw $ra, 0x10($sp) +/* 895D84 802406A4 24020002 */ addiu $v0, $zero, 2 +/* 895D88 802406A8 03E00008 */ jr $ra +/* 895D8C 802406AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240000_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240000_8975E0.s new file mode 100644 index 0000000000..7a9b1ba765 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240000_8975E0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8975E0 +/* 8975E0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8975E4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8975E8 80240008 8C430004 */ lw $v1, 4($v0) +/* 8975EC 8024000C 3C040010 */ lui $a0, 0x10 +/* 8975F0 80240010 00641825 */ or $v1, $v1, $a0 +/* 8975F4 80240014 AC430004 */ sw $v1, 4($v0) +/* 8975F8 80240018 03E00008 */ jr $ra +/* 8975FC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240020_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240020_8975E0.s new file mode 100644 index 0000000000..d0b5544cc9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240020_8975E0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_897600 +/* 897600 80240020 3C028016 */ lui $v0, 0x8016 +/* 897604 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 897608 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 89760C 8024002C 03E00008 */ jr $ra +/* 897610 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240034_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240034_8975E0.s new file mode 100644 index 0000000000..93398bfb03 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240034_8975E0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_897614 +/* 897614 80240034 3C038016 */ lui $v1, 0x8016 +/* 897618 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 89761C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 897620 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 897624 80240044 0080802D */ daddu $s0, $a0, $zero +/* 897628 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 89762C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 897630 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 897634 80240054 24020002 */ addiu $v0, $zero, 2 +/* 897638 80240058 08090038 */ j .L802400E0 +/* 89763C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 897640 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 897644 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 897648 80240068 80620040 */ lb $v0, 0x40($v1) +/* 89764C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 897650 80240070 04420001 */ bltzl $v0, .L80240078 +/* 897654 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 897658 80240078 14400003 */ bnez $v0, .L80240088 +/* 89765C 8024007C 00000000 */ nop +/* 897660 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 897664 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 897668 80240088 44822000 */ mtc1 $v0, $f4 +/* 89766C 8024008C 00000000 */ nop +/* 897670 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 897674 80240094 44062000 */ mfc1 $a2, $f4 +/* 897678 80240098 44872000 */ mtc1 $a3, $f4 +/* 89767C 8024009C 00000000 */ nop +/* 897680 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 897684 802400A4 44806000 */ mtc1 $zero, $f12 +/* 897688 802400A8 44072000 */ mfc1 $a3, $f4 +/* 89768C 802400AC 0C00A720 */ jal atan2 +/* 897690 802400B0 46006386 */ mov.s $f14, $f12 +/* 897694 802400B4 3C014270 */ lui $at, 0x4270 +/* 897698 802400B8 44811000 */ mtc1 $at, $f2 +/* 89769C 802400BC 00000000 */ nop +/* 8976A0 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 8976A4 802400C4 00000000 */ nop +/* 8976A8 802400C8 45000004 */ bc1f .L802400DC +/* 8976AC 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 8976B0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 8976B4 802400D4 08090038 */ j .L802400E0 +/* 8976B8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 8976BC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8976C0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8976C4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8976C8 802400E8 03E00008 */ jr $ra +/* 8976CC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802400F0_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802400F0_8975E0.s new file mode 100644 index 0000000000..9e98bed448 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802400F0_8975E0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8976D0 +/* 8976D0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8976D4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8976D8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8976DC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 8976E0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 8976E4 80240104 0C016AFA */ jal get_current_map_header +/* 8976E8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 8976EC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 8976F0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 8976F4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8976F8 80240118 0C0B1EAF */ jal get_variable +/* 8976FC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 897700 80240120 0220202D */ daddu $a0, $s1, $zero +/* 897704 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 897708 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 89770C 8024012C 00028100 */ sll $s0, $v0, 4 +/* 897710 80240130 02031821 */ addu $v1, $s0, $v1 +/* 897714 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 897718 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 89771C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 897720 80240140 0C0B2026 */ jal set_variable +/* 897724 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 897728 80240148 0220202D */ daddu $a0, $s1, $zero +/* 89772C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 897730 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 897734 80240154 02021021 */ addu $v0, $s0, $v0 +/* 897738 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 89773C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 897740 80240160 44061000 */ mfc1 $a2, $f2 +/* 897744 80240164 0C0B2026 */ jal set_variable +/* 897748 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 89774C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 897750 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 897754 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 897758 80240178 02021021 */ addu $v0, $s0, $v0 +/* 89775C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 897760 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 897764 80240184 44061000 */ mfc1 $a2, $f2 +/* 897768 80240188 0C0B2026 */ jal set_variable +/* 89776C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 897770 80240190 0220202D */ daddu $a0, $s1, $zero +/* 897774 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 897778 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 89777C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 897780 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 897784 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 897788 802401A8 44061000 */ mfc1 $a2, $f2 +/* 89778C 802401AC 0C0B2026 */ jal set_variable +/* 897790 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 897794 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 897798 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 89779C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 8977A0 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 8977A4 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 8977A8 802401C8 03E00008 */ jr $ra +/* 8977AC 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802401D0_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802401D0_8975E0.s new file mode 100644 index 0000000000..6d5c4042d1 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802401D0_8975E0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_8977B0 +/* 8977B0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8977B4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8977B8 802401D8 3C014334 */ lui $at, 0x4334 +/* 8977BC 802401DC 44816000 */ mtc1 $at, $f12 +/* 8977C0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8977C4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8977C8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8977CC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8977D0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8977D4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8977D8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8977DC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8977E0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8977E4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8977E8 80240208 3C01800B */ lui $at, 0x800b +/* 8977EC 8024020C 00220821 */ addu $at, $at, $v0 +/* 8977F0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8977F4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8977F8 80240218 0C00A6C9 */ jal clamp_angle +/* 8977FC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 897800 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 897804 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 897808 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 89780C 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 897810 80240230 24020002 */ addiu $v0, $zero, 2 +/* 897814 80240234 03E00008 */ jr $ra +/* 897818 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_8024023C_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_8024023C_8975E0.s new file mode 100644 index 0000000000..0264025c88 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_8024023C_8975E0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_89781C +/* 89781C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 897820 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 897824 80240244 0080802D */ daddu $s0, $a0, $zero +/* 897828 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 89782C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 897830 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 897834 80240254 0C0B210B */ jal get_float_variable +/* 897838 80240258 8C450000 */ lw $a1, ($v0) +/* 89783C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 897840 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 897844 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 897848 80240268 44060000 */ mfc1 $a2, $f0 +/* 89784C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 897850 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 897854 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 897858 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 89785C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 897860 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 897864 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 897868 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 89786C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 897870 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 897874 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 897878 80240298 0C0B2190 */ jal set_float_variable +/* 89787C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 897880 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 897884 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 897888 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 89788C 802402AC 0C0B2190 */ jal set_float_variable +/* 897890 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 897894 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 897898 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 89789C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 8978A0 802402C0 0C0B2190 */ jal set_float_variable +/* 8978A4 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8978A8 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8978AC 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8978B0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8978B4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 8978B8 802402D8 03E00008 */ jr $ra +/* 8978BC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802402E0_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802402E0_8975E0.s new file mode 100644 index 0000000000..819eebc93e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802402E0_8975E0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8978C0 +/* 8978C0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8978C4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8978C8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 8978CC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8978D0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8978D4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 8978D8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 8978DC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 8978E0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8978E4 80240304 3C020002 */ lui $v0, 2 +/* 8978E8 80240308 080900C8 */ j .L80240320 +/* 8978EC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 8978F0 80240310 3C040002 */ lui $a0, 2 +/* 8978F4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 8978F8 80240318 10400002 */ beqz $v0, .L80240324 +/* 8978FC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 897900 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 897904 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 897908 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 89790C 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 897910 80240330 04610004 */ bgez $v1, .L80240344 +/* 897914 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 897918 80240338 3C020002 */ lui $v0, 2 +/* 89791C 8024033C 080900D5 */ j .L80240354 +/* 897920 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 897924 80240344 3C040002 */ lui $a0, 2 +/* 897928 80240348 0083102A */ slt $v0, $a0, $v1 +/* 89792C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 897930 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 897934 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 897938 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89793C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 897940 80240360 00621821 */ addu $v1, $v1, $v0 +/* 897944 80240364 04610004 */ bgez $v1, .L80240378 +/* 897948 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89794C 8024036C 3C020002 */ lui $v0, 2 +/* 897950 80240370 080900E2 */ j .L80240388 +/* 897954 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 897958 80240378 3C040002 */ lui $a0, 2 +/* 89795C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 897960 80240380 10400002 */ beqz $v0, .L8024038C +/* 897964 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 897968 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 89796C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 897970 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 897974 80240394 00621821 */ addu $v1, $v1, $v0 +/* 897978 80240398 04610004 */ bgez $v1, .L802403AC +/* 89797C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 897980 802403A0 3C020002 */ lui $v0, 2 +/* 897984 802403A4 080900EF */ j .L802403BC +/* 897988 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 89798C 802403AC 3C040002 */ lui $a0, 2 +/* 897990 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 897994 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 897998 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 89799C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 8979A0 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 8979A4 802403C4 0C046F07 */ jal set_main_pan_u +/* 8979A8 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8979AC 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 8979B0 802403D0 0C046F0D */ jal set_main_pan_v +/* 8979B4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 8979B8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 8979BC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 8979C0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8979C4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 8979C8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 8979CC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8979D0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8979D4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 8979D8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 8979DC 802403FC 03E00008 */ jr $ra +/* 8979E0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240404_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240404_8975E0.s new file mode 100644 index 0000000000..85ff422978 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240404_8975E0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_8979E4 +/* 8979E4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8979E8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 8979EC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 8979F0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 8979F4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 8979F8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 8979FC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 897A00 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 897A04 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 897A08 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 897A0C 8024042C 1440000E */ bnez $v0, .L80240468 +/* 897A10 80240430 00000000 */ nop +/* 897A14 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 897A18 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 897A1C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 897A20 80240440 04610004 */ bgez $v1, .L80240454 +/* 897A24 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 897A28 80240448 3C020002 */ lui $v0, 2 +/* 897A2C 8024044C 08090119 */ j .L80240464 +/* 897A30 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 897A34 80240454 3C040002 */ lui $a0, 2 +/* 897A38 80240458 0083102A */ slt $v0, $a0, $v1 +/* 897A3C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 897A40 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 897A44 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 897A48 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 897A4C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 897A50 80240470 00000000 */ nop +/* 897A54 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 897A58 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 897A5C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 897A60 80240480 04610004 */ bgez $v1, .L80240494 +/* 897A64 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 897A68 80240488 3C020002 */ lui $v0, 2 +/* 897A6C 8024048C 08090129 */ j .L802404A4 +/* 897A70 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 897A74 80240494 3C040002 */ lui $a0, 2 +/* 897A78 80240498 0083102A */ slt $v0, $a0, $v1 +/* 897A7C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 897A80 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 897A84 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 897A88 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 897A8C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 897A90 802404B0 00000000 */ nop +/* 897A94 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 897A98 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 897A9C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 897AA0 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 897AA4 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 897AA8 802404C8 3C020002 */ lui $v0, 2 +/* 897AAC 802404CC 08090139 */ j .L802404E4 +/* 897AB0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 897AB4 802404D4 3C040002 */ lui $a0, 2 +/* 897AB8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 897ABC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 897AC0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 897AC4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 897AC8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 897ACC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 897AD0 802404F0 00000000 */ nop +/* 897AD4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 897AD8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 897ADC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 897AE0 80240500 04610004 */ bgez $v1, .L80240514 +/* 897AE4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 897AE8 80240508 3C020002 */ lui $v0, 2 +/* 897AEC 8024050C 08090149 */ j .L80240524 +/* 897AF0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 897AF4 80240514 3C040002 */ lui $a0, 2 +/* 897AF8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 897AFC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 897B00 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 897B04 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 897B08 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 897B0C 8024052C 0C046F07 */ jal set_main_pan_u +/* 897B10 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 897B14 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 897B18 80240538 0C046F0D */ jal set_main_pan_v +/* 897B1C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 897B20 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 897B24 80240544 0C046F13 */ jal set_aux_pan_u +/* 897B28 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 897B2C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 897B30 80240550 0C046F19 */ jal set_aux_pan_v +/* 897B34 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 897B38 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 897B3C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 897B40 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 897B44 80240564 24420001 */ addiu $v0, $v0, 1 +/* 897B48 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 897B4C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 897B50 80240570 24630001 */ addiu $v1, $v1, 1 +/* 897B54 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 897B58 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 897B5C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 897B60 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 897B64 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 897B68 80240588 0064182A */ slt $v1, $v1, $a0 +/* 897B6C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 897B70 80240590 14600002 */ bnez $v1, .L8024059C +/* 897B74 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 897B78 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 897B7C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 897B80 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 897B84 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 897B88 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 897B8C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 897B90 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 897B94 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 897B98 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 897B9C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 897BA0 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 897BA4 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 897BA8 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 897BAC 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 897BB0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 897BB4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 897BB8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 897BBC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 897BC0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 897BC4 802405E4 03E00008 */ jr $ra +/* 897BC8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 897BCC 802405EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802405F0_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802405F0_8975E0.s new file mode 100644 index 0000000000..e969a5f423 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802405F0_8975E0.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405F0_897BD0 +/* 897BD0 802405F0 3C03800A */ lui $v1, %hi(D_8009A650) +/* 897BD4 802405F4 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) +/* 897BD8 802405F8 8C620000 */ lw $v0, ($v1) +/* 897BDC 802405FC 34420040 */ ori $v0, $v0, 0x40 +/* 897BE0 80240600 AC620000 */ sw $v0, ($v1) +/* 897BE4 80240604 03E00008 */ jr $ra +/* 897BE8 80240608 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_8024060C.s b/asm/nonmatchings/world/area_tik/tik_19/func_8024060C.s new file mode 100644 index 0000000000..78e87b549b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_8024060C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024060C +/* 897BEC 8024060C 3C02800A */ lui $v0, %hi(D_8009A650) +/* 897BF0 80240610 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) +/* 897BF4 80240614 8C430000 */ lw $v1, ($v0) +/* 897BF8 80240618 2404FFBF */ addiu $a0, $zero, -0x41 +/* 897BFC 8024061C 00641824 */ and $v1, $v1, $a0 +/* 897C00 80240620 AC430000 */ sw $v1, ($v0) +/* 897C04 80240624 03E00008 */ jr $ra +/* 897C08 80240628 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_8024062C.s b/asm/nonmatchings/world/area_tik/tik_19/func_8024062C.s new file mode 100644 index 0000000000..978d2783e2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_8024062C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024062C +/* 897C0C 8024062C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 897C10 80240630 AFBF0010 */ sw $ra, 0x10($sp) +/* 897C14 80240634 8C82000C */ lw $v0, 0xc($a0) +/* 897C18 80240638 0C0B1EAF */ jal get_variable +/* 897C1C 8024063C 8C450000 */ lw $a1, ($v0) +/* 897C20 80240640 0C0B95A4 */ jal func_802E5690 +/* 897C24 80240644 0040202D */ daddu $a0, $v0, $zero +/* 897C28 80240648 8FBF0010 */ lw $ra, 0x10($sp) +/* 897C2C 8024064C 24020002 */ addiu $v0, $zero, 2 +/* 897C30 80240650 03E00008 */ jr $ra +/* 897C34 80240654 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240658_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240658_8975E0.s new file mode 100644 index 0000000000..3f36040e96 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240658_8975E0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240658_897C38 +/* 897C38 80240658 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 897C3C 8024065C AFB00010 */ sw $s0, 0x10($sp) +/* 897C40 80240660 0080802D */ daddu $s0, $a0, $zero +/* 897C44 80240664 AFBF0018 */ sw $ra, 0x18($sp) +/* 897C48 80240668 AFB10014 */ sw $s1, 0x14($sp) +/* 897C4C 8024066C 8E11000C */ lw $s1, 0xc($s0) +/* 897C50 80240670 8E250000 */ lw $a1, ($s1) +/* 897C54 80240674 0C0B1EAF */ jal get_variable +/* 897C58 80240678 26310004 */ addiu $s1, $s1, 4 +/* 897C5C 8024067C 0200202D */ daddu $a0, $s0, $zero +/* 897C60 80240680 3C038011 */ lui $v1, %hi(gPlayerData) +/* 897C64 80240684 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) +/* 897C68 80240688 000210C0 */ sll $v0, $v0, 3 +/* 897C6C 8024068C 00431021 */ addu $v0, $v0, $v1 +/* 897C70 80240690 90460015 */ lbu $a2, 0x15($v0) +/* 897C74 80240694 8E250000 */ lw $a1, ($s1) +/* 897C78 80240698 24C60001 */ addiu $a2, $a2, 1 +/* 897C7C 8024069C A0460015 */ sb $a2, 0x15($v0) +/* 897C80 802406A0 00063600 */ sll $a2, $a2, 0x18 +/* 897C84 802406A4 0C0B2026 */ jal set_variable +/* 897C88 802406A8 00063603 */ sra $a2, $a2, 0x18 +/* 897C8C 802406AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 897C90 802406B0 8FB10014 */ lw $s1, 0x14($sp) +/* 897C94 802406B4 8FB00010 */ lw $s0, 0x10($sp) +/* 897C98 802406B8 24020002 */ addiu $v0, $zero, 2 +/* 897C9C 802406BC 03E00008 */ jr $ra +/* 897CA0 802406C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802406C4.s b/asm/nonmatchings/world/area_tik/tik_19/func_802406C4.s new file mode 100644 index 0000000000..f74f329206 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802406C4.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406C4 +/* 897CA4 802406C4 3C028011 */ lui $v0, %hi(gPlayerData) +/* 897CA8 802406C8 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 897CAC 802406CC 000420C0 */ sll $a0, $a0, 3 +/* 897CB0 802406D0 00822021 */ addu $a0, $a0, $v0 +/* 897CB4 802406D4 90820014 */ lbu $v0, 0x14($a0) +/* 897CB8 802406D8 10400009 */ beqz $v0, .L80240700 +/* 897CBC 802406DC 00000000 */ nop +/* 897CC0 802406E0 90820015 */ lbu $v0, 0x15($a0) +/* 897CC4 802406E4 00022600 */ sll $a0, $v0, 0x18 +/* 897CC8 802406E8 00041E03 */ sra $v1, $a0, 0x18 +/* 897CCC 802406EC 00051400 */ sll $v0, $a1, 0x10 +/* 897CD0 802406F0 00021403 */ sra $v0, $v0, 0x10 +/* 897CD4 802406F4 0043102A */ slt $v0, $v0, $v1 +/* 897CD8 802406F8 10400003 */ beqz $v0, .L80240708 +/* 897CDC 802406FC 00000000 */ nop +.L80240700: +/* 897CE0 80240700 03E00008 */ jr $ra +/* 897CE4 80240704 2402FFFF */ addiu $v0, $zero, -1 +.L80240708: +/* 897CE8 80240708 03E00008 */ jr $ra +/* 897CEC 8024070C 00041603 */ sra $v0, $a0, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240710.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240710.s new file mode 100644 index 0000000000..e8a387f5d4 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240710.s @@ -0,0 +1,50 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240710 +/* 897CF0 80240710 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 897CF4 80240714 AFB3001C */ sw $s3, 0x1c($sp) +/* 897CF8 80240718 0080982D */ daddu $s3, $a0, $zero +/* 897CFC 8024071C AFB00010 */ sw $s0, 0x10($sp) +/* 897D00 80240720 24100001 */ addiu $s0, $zero, 1 +/* 897D04 80240724 AFB40020 */ sw $s4, 0x20($sp) +/* 897D08 80240728 2414FFFF */ addiu $s4, $zero, -1 +/* 897D0C 8024072C AFB50024 */ sw $s5, 0x24($sp) +/* 897D10 80240730 0200A82D */ daddu $s5, $s0, $zero +/* 897D14 80240734 AFB10014 */ sw $s1, 0x14($sp) +/* 897D18 80240738 3C118011 */ lui $s1, 0x8011 +/* 897D1C 8024073C 2631F298 */ addiu $s1, $s1, -0xd68 +/* 897D20 80240740 AFBF0028 */ sw $ra, 0x28($sp) +/* 897D24 80240744 AFB20018 */ sw $s2, 0x18($sp) +/* 897D28 80240748 8E6200B4 */ lw $v0, 0xb4($s3) +/* 897D2C 8024074C 0280182D */ daddu $v1, $s4, $zero +/* 897D30 80240750 AE630084 */ sw $v1, 0x84($s3) +/* 897D34 80240754 00021027 */ nor $v0, $zero, $v0 +/* 897D38 80240758 000217C2 */ srl $v0, $v0, 0x1f +/* 897D3C 8024075C 00029400 */ sll $s2, $v0, 0x10 +.L80240760: +/* 897D40 80240760 92220014 */ lbu $v0, 0x14($s1) +/* 897D44 80240764 50400008 */ beql $v0, $zero, .L80240788 +/* 897D48 80240768 26100001 */ addiu $s0, $s0, 1 +/* 897D4C 8024076C 0200202D */ daddu $a0, $s0, $zero +/* 897D50 80240770 0C0901B1 */ jal func_802406C4 +/* 897D54 80240774 00122C03 */ sra $a1, $s2, 0x10 +/* 897D58 80240778 10540003 */ beq $v0, $s4, .L80240788 +/* 897D5C 8024077C 26100001 */ addiu $s0, $s0, 1 +/* 897D60 80240780 080901E5 */ j .L80240794 +/* 897D64 80240784 AE750084 */ sw $s5, 0x84($s3) +.L80240788: +/* 897D68 80240788 2A02000C */ slti $v0, $s0, 0xc +/* 897D6C 8024078C 1440FFF4 */ bnez $v0, .L80240760 +/* 897D70 80240790 26310008 */ addiu $s1, $s1, 8 +.L80240794: +/* 897D74 80240794 8FBF0028 */ lw $ra, 0x28($sp) +/* 897D78 80240798 8FB50024 */ lw $s5, 0x24($sp) +/* 897D7C 8024079C 8FB40020 */ lw $s4, 0x20($sp) +/* 897D80 802407A0 8FB3001C */ lw $s3, 0x1c($sp) +/* 897D84 802407A4 8FB20018 */ lw $s2, 0x18($sp) +/* 897D88 802407A8 8FB10014 */ lw $s1, 0x14($sp) +/* 897D8C 802407AC 8FB00010 */ lw $s0, 0x10($sp) +/* 897D90 802407B0 24020002 */ addiu $v0, $zero, 2 +/* 897D94 802407B4 03E00008 */ jr $ra +/* 897D98 802407B8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802407BC.s b/asm/nonmatchings/world/area_tik/tik_19/func_802407BC.s new file mode 100644 index 0000000000..98e5260129 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802407BC.s @@ -0,0 +1,163 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407BC +/* 897D9C 802407BC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 897DA0 802407C0 AFB5002C */ sw $s5, 0x2c($sp) +/* 897DA4 802407C4 0080A82D */ daddu $s5, $a0, $zero +/* 897DA8 802407C8 AFBE0038 */ sw $fp, 0x38($sp) +/* 897DAC 802407CC 3C1E8011 */ lui $fp, %hi(gPlayerData) +/* 897DB0 802407D0 27DEF290 */ addiu $fp, $fp, %lo(gPlayerData) +/* 897DB4 802407D4 AFBF003C */ sw $ra, 0x3c($sp) +/* 897DB8 802407D8 AFB70034 */ sw $s7, 0x34($sp) +/* 897DBC 802407DC AFB60030 */ sw $s6, 0x30($sp) +/* 897DC0 802407E0 AFB40028 */ sw $s4, 0x28($sp) +/* 897DC4 802407E4 AFB30024 */ sw $s3, 0x24($sp) +/* 897DC8 802407E8 AFB20020 */ sw $s2, 0x20($sp) +/* 897DCC 802407EC AFB1001C */ sw $s1, 0x1c($sp) +/* 897DD0 802407F0 10A0004F */ beqz $a1, .L80240930 +/* 897DD4 802407F4 AFB00018 */ sw $s0, 0x18($sp) +/* 897DD8 802407F8 0C00AB39 */ jal heap_malloc +/* 897DDC 802407FC 24040330 */ addiu $a0, $zero, 0x330 +/* 897DE0 80240800 0040982D */ daddu $s3, $v0, $zero +/* 897DE4 80240804 0000B02D */ daddu $s6, $zero, $zero +/* 897DE8 80240808 02C0902D */ daddu $s2, $s6, $zero +/* 897DEC 8024080C 3C148024 */ lui $s4, 0x8024 +/* 897DF0 80240810 269426B8 */ addiu $s4, $s4, 0x26b8 +/* 897DF4 80240814 0260882D */ daddu $s1, $s3, $zero +/* 897DF8 80240818 8EA200B4 */ lw $v0, 0xb4($s5) +/* 897DFC 8024081C 3C038024 */ lui $v1, 0x8024 +/* 897E00 80240820 246326B0 */ addiu $v1, $v1, 0x26b0 +/* 897E04 80240824 AEB30078 */ sw $s3, 0x78($s5) +/* 897E08 80240828 00021027 */ nor $v0, $zero, $v0 +/* 897E0C 8024082C 0002BFC2 */ srl $s7, $v0, 0x1f +/* 897E10 80240830 00171080 */ sll $v0, $s7, 2 +/* 897E14 80240834 00431021 */ addu $v0, $v0, $v1 +/* 897E18 80240838 AFA20010 */ sw $v0, 0x10($sp) +.L8024083C: +/* 897E1C 8024083C 86900000 */ lh $s0, ($s4) +/* 897E20 80240840 001010C0 */ sll $v0, $s0, 3 +/* 897E24 80240844 03C21021 */ addu $v0, $fp, $v0 +/* 897E28 80240848 90420014 */ lbu $v0, 0x14($v0) +/* 897E2C 8024084C 5040002E */ beql $v0, $zero, .L80240908 +/* 897E30 80240850 26520001 */ addiu $s2, $s2, 1 +/* 897E34 80240854 00101100 */ sll $v0, $s0, 4 +/* 897E38 80240858 3C068009 */ lui $a2, 0x8009 +/* 897E3C 8024085C 24C6EF20 */ addiu $a2, $a2, -0x10e0 +/* 897E40 80240860 00461021 */ addu $v0, $v0, $a2 +/* 897E44 80240864 0200202D */ daddu $a0, $s0, $zero +/* 897E48 80240868 AE300108 */ sw $s0, 0x108($s1) +/* 897E4C 8024086C 8C420000 */ lw $v0, ($v0) +/* 897E50 80240870 02E0282D */ daddu $a1, $s7, $zero +/* 897E54 80240874 0C0901B1 */ jal func_802406C4 +/* 897E58 80240878 AE220084 */ sw $v0, 0x84($s1) +/* 897E5C 8024087C 0040202D */ daddu $a0, $v0, $zero +/* 897E60 80240880 04800011 */ bltz $a0, .L802408C8 +/* 897E64 80240884 00101080 */ sll $v0, $s0, 2 +/* 897E68 80240888 3C06800F */ lui $a2, 0x800f +/* 897E6C 8024088C 24C67F00 */ addiu $a2, $a2, 0x7f00 +/* 897E70 80240890 00461021 */ addu $v0, $v0, $a2 +/* 897E74 80240894 8C430000 */ lw $v1, ($v0) +/* 897E78 80240898 24020001 */ addiu $v0, $zero, 1 +/* 897E7C 8024089C AE22018C */ sw $v0, 0x18c($s1) +/* 897E80 802408A0 00041080 */ sll $v0, $a0, 2 +/* 897E84 802408A4 3C068024 */ lui $a2, 0x8024 +/* 897E88 802408A8 24C626C8 */ addiu $a2, $a2, 0x26c8 +/* 897E8C 802408AC AE230000 */ sw $v1, ($s1) +/* 897E90 802408B0 001218C0 */ sll $v1, $s2, 3 +/* 897E94 802408B4 00431021 */ addu $v0, $v0, $v1 +/* 897E98 802408B8 00461021 */ addu $v0, $v0, $a2 +/* 897E9C 802408BC 8C420000 */ lw $v0, ($v0) +/* 897EA0 802408C0 0809023B */ j .L802408EC +/* 897EA4 802408C4 AE220294 */ sw $v0, 0x294($s1) +.L802408C8: +/* 897EA8 802408C8 3C06800F */ lui $a2, 0x800f +/* 897EAC 802408CC 24C67F40 */ addiu $a2, $a2, 0x7f40 +/* 897EB0 802408D0 00461021 */ addu $v0, $v0, $a2 +/* 897EB4 802408D4 8C420000 */ lw $v0, ($v0) +/* 897EB8 802408D8 AE20018C */ sw $zero, 0x18c($s1) +/* 897EBC 802408DC AE220000 */ sw $v0, ($s1) +/* 897EC0 802408E0 8FA60010 */ lw $a2, 0x10($sp) +/* 897EC4 802408E4 8CC20000 */ lw $v0, ($a2) +/* 897EC8 802408E8 AE220294 */ sw $v0, 0x294($s1) +.L802408EC: +/* 897ECC 802408EC 001010C0 */ sll $v0, $s0, 3 +/* 897ED0 802408F0 03C21021 */ addu $v0, $fp, $v0 +/* 897ED4 802408F4 80420015 */ lb $v0, 0x15($v0) +/* 897ED8 802408F8 26D60001 */ addiu $s6, $s6, 1 +/* 897EDC 802408FC AE220210 */ sw $v0, 0x210($s1) +/* 897EE0 80240900 26310004 */ addiu $s1, $s1, 4 +/* 897EE4 80240904 26520001 */ addiu $s2, $s2, 1 +.L80240908: +/* 897EE8 80240908 2A420008 */ slti $v0, $s2, 8 +/* 897EEC 8024090C 1440FFCB */ bnez $v0, .L8024083C +/* 897EF0 80240910 26940002 */ addiu $s4, $s4, 2 +/* 897EF4 80240914 0260202D */ daddu $a0, $s3, $zero +/* 897EF8 80240918 24020004 */ addiu $v0, $zero, 4 +/* 897EFC 8024091C AC820318 */ sw $v0, 0x318($a0) +/* 897F00 80240920 AC960324 */ sw $s6, 0x324($a0) +/* 897F04 80240924 0C03D390 */ jal func_800F4E40 +/* 897F08 80240928 AC800328 */ sw $zero, 0x328($a0) +/* 897F0C 8024092C AEA00070 */ sw $zero, 0x70($s5) +.L80240930: +/* 897F10 80240930 8EA20070 */ lw $v0, 0x70($s5) +/* 897F14 80240934 8EB30078 */ lw $s3, 0x78($s5) +/* 897F18 80240938 14400008 */ bnez $v0, .L8024095C +/* 897F1C 8024093C 24420001 */ addiu $v0, $v0, 1 +/* 897F20 80240940 8662032C */ lh $v0, 0x32c($s3) +/* 897F24 80240944 10400009 */ beqz $v0, .L8024096C +/* 897F28 80240948 AEA20074 */ sw $v0, 0x74($s5) +/* 897F2C 8024094C 0C03C4EC */ jal func_800F13B0 +/* 897F30 80240950 00000000 */ nop +/* 897F34 80240954 8EA20070 */ lw $v0, 0x70($s5) +/* 897F38 80240958 24420001 */ addiu $v0, $v0, 1 +.L8024095C: +/* 897F3C 8024095C AEA20070 */ sw $v0, 0x70($s5) +/* 897F40 80240960 2842000F */ slti $v0, $v0, 0xf +/* 897F44 80240964 10400003 */ beqz $v0, .L80240974 +/* 897F48 80240968 00000000 */ nop +.L8024096C: +/* 897F4C 8024096C 08090277 */ j .L802409DC +/* 897F50 80240970 0000102D */ daddu $v0, $zero, $zero +.L80240974: +/* 897F54 80240974 0C03C54E */ jal func_800F1538 +/* 897F58 80240978 00000000 */ nop +/* 897F5C 8024097C 8EA30074 */ lw $v1, 0x74($s5) +/* 897F60 80240980 240200FF */ addiu $v0, $zero, 0xff +/* 897F64 80240984 10620010 */ beq $v1, $v0, .L802409C8 +/* 897F68 80240988 2462FFFF */ addiu $v0, $v1, -1 +/* 897F6C 8024098C 00021080 */ sll $v0, $v0, 2 +/* 897F70 80240990 02621021 */ addu $v0, $s3, $v0 +/* 897F74 80240994 8C420108 */ lw $v0, 0x108($v0) +/* 897F78 80240998 00021100 */ sll $v0, $v0, 4 +/* 897F7C 8024099C 3C038009 */ lui $v1, 0x8009 +/* 897F80 802409A0 00621821 */ addu $v1, $v1, $v0 +/* 897F84 802409A4 8C63EF20 */ lw $v1, -0x10e0($v1) +/* 897F88 802409A8 8EA20074 */ lw $v0, 0x74($s5) +/* 897F8C 802409AC 2442FFFF */ addiu $v0, $v0, -1 +/* 897F90 802409B0 00021080 */ sll $v0, $v0, 2 +/* 897F94 802409B4 02621021 */ addu $v0, $s3, $v0 +/* 897F98 802409B8 AEA30084 */ sw $v1, 0x84($s5) +/* 897F9C 802409BC 8C420108 */ lw $v0, 0x108($v0) +/* 897FA0 802409C0 08090274 */ j .L802409D0 +/* 897FA4 802409C4 AEA20088 */ sw $v0, 0x88($s5) +.L802409C8: +/* 897FA8 802409C8 2402FFFF */ addiu $v0, $zero, -1 +/* 897FAC 802409CC AEA20084 */ sw $v0, 0x84($s5) +.L802409D0: +/* 897FB0 802409D0 0C00AB4B */ jal heap_free +/* 897FB4 802409D4 8EA40078 */ lw $a0, 0x78($s5) +/* 897FB8 802409D8 24020002 */ addiu $v0, $zero, 2 +.L802409DC: +/* 897FBC 802409DC 8FBF003C */ lw $ra, 0x3c($sp) +/* 897FC0 802409E0 8FBE0038 */ lw $fp, 0x38($sp) +/* 897FC4 802409E4 8FB70034 */ lw $s7, 0x34($sp) +/* 897FC8 802409E8 8FB60030 */ lw $s6, 0x30($sp) +/* 897FCC 802409EC 8FB5002C */ lw $s5, 0x2c($sp) +/* 897FD0 802409F0 8FB40028 */ lw $s4, 0x28($sp) +/* 897FD4 802409F4 8FB30024 */ lw $s3, 0x24($sp) +/* 897FD8 802409F8 8FB20020 */ lw $s2, 0x20($sp) +/* 897FDC 802409FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 897FE0 80240A00 8FB00018 */ lw $s0, 0x18($sp) +/* 897FE4 80240A04 03E00008 */ jr $ra +/* 897FE8 80240A08 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240A0C.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240A0C.s new file mode 100644 index 0000000000..9b72771167 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240A0C.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A0C +/* 897FEC 80240A0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 897FF0 80240A10 AFBF0010 */ sw $ra, 0x10($sp) +/* 897FF4 80240A14 8C82000C */ lw $v0, 0xc($a0) +/* 897FF8 80240A18 0C0B1EAF */ jal get_variable +/* 897FFC 80240A1C 8C450000 */ lw $a1, ($v0) +/* 898000 80240A20 0C03AC5A */ jal func_800EB168 +/* 898004 80240A24 0040202D */ daddu $a0, $v0, $zero +/* 898008 80240A28 8FBF0010 */ lw $ra, 0x10($sp) +/* 89800C 80240A2C 24020002 */ addiu $v0, $zero, 2 +/* 898010 80240A30 03E00008 */ jr $ra +/* 898014 80240A34 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240A38.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240A38.s new file mode 100644 index 0000000000..5c72bcd51a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240A38.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A38 +/* 898018 80240A38 3C028011 */ lui $v0, 0x8011 +/* 89801C 80240A3C 8042F2A2 */ lb $v0, -0xd5e($v0) +/* 898020 80240A40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 898024 80240A44 AFBF0010 */ sw $ra, 0x10($sp) +/* 898028 80240A48 00021100 */ sll $v0, $v0, 4 +/* 89802C 80240A4C 3C048009 */ lui $a0, 0x8009 +/* 898030 80240A50 00822021 */ addu $a0, $a0, $v0 +/* 898034 80240A54 8C84EF20 */ lw $a0, -0x10e0($a0) +/* 898038 80240A58 0C0496CF */ jal set_message_string +/* 89803C 80240A5C 0000282D */ daddu $a1, $zero, $zero +/* 898040 80240A60 8FBF0010 */ lw $ra, 0x10($sp) +/* 898044 80240A64 24020002 */ addiu $v0, $zero, 2 +/* 898048 80240A68 03E00008 */ jr $ra +/* 89804C 80240A6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240A70.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240A70.s new file mode 100644 index 0000000000..b225f86934 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240A70.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A70 +/* 898050 80240A70 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 898054 80240A74 AFB1001C */ sw $s1, 0x1c($sp) +/* 898058 80240A78 0080882D */ daddu $s1, $a0, $zero +/* 89805C 80240A7C AFBF0020 */ sw $ra, 0x20($sp) +/* 898060 80240A80 AFB00018 */ sw $s0, 0x18($sp) +/* 898064 80240A84 8E30000C */ lw $s0, 0xc($s1) +/* 898068 80240A88 8E050000 */ lw $a1, ($s0) +/* 89806C 80240A8C 0C0B1EAF */ jal get_variable +/* 898070 80240A90 26100004 */ addiu $s0, $s0, 4 +/* 898074 80240A94 0C04417A */ jal get_entity_by_index +/* 898078 80240A98 0040202D */ daddu $a0, $v0, $zero +/* 89807C 80240A9C 8E100000 */ lw $s0, ($s0) +/* 898080 80240AA0 C444004C */ lwc1 $f4, 0x4c($v0) +/* 898084 80240AA4 3C014148 */ lui $at, 0x4148 +/* 898088 80240AA8 44810000 */ mtc1 $at, $f0 +/* 89808C 80240AAC 3C013F33 */ lui $at, 0x3f33 +/* 898090 80240AB0 34213333 */ ori $at, $at, 0x3333 +/* 898094 80240AB4 44811000 */ mtc1 $at, $f2 +/* 898098 80240AB8 AFA00014 */ sw $zero, 0x14($sp) +/* 89809C 80240ABC 46002100 */ add.s $f4, $f4, $f0 +/* 8980A0 80240AC0 E7A20010 */ swc1 $f2, 0x10($sp) +/* 8980A4 80240AC4 8C450048 */ lw $a1, 0x48($v0) +/* 8980A8 80240AC8 8C470050 */ lw $a3, 0x50($v0) +/* 8980AC 80240ACC 44062000 */ mfc1 $a2, $f4 +/* 8980B0 80240AD0 0C01C5D4 */ jal func_80071750 +/* 8980B4 80240AD4 0000202D */ daddu $a0, $zero, $zero +/* 8980B8 80240AD8 0220202D */ daddu $a0, $s1, $zero +/* 8980BC 80240ADC 0200282D */ daddu $a1, $s0, $zero +/* 8980C0 80240AE0 0C0B2026 */ jal set_variable +/* 8980C4 80240AE4 0040302D */ daddu $a2, $v0, $zero +/* 8980C8 80240AE8 8FBF0020 */ lw $ra, 0x20($sp) +/* 8980CC 80240AEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 8980D0 80240AF0 8FB00018 */ lw $s0, 0x18($sp) +/* 8980D4 80240AF4 24020002 */ addiu $v0, $zero, 2 +/* 8980D8 80240AF8 03E00008 */ jr $ra +/* 8980DC 80240AFC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240B00_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240B00_8975E0.s new file mode 100644 index 0000000000..5049e69ae4 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240B00_8975E0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B00_8980E0 +/* 8980E0 80240B00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8980E4 80240B04 AFBF0010 */ sw $ra, 0x10($sp) +/* 8980E8 80240B08 8C82000C */ lw $v0, 0xc($a0) +/* 8980EC 80240B0C 0C0B1EAF */ jal get_variable +/* 8980F0 80240B10 8C450000 */ lw $a1, ($v0) +/* 8980F4 80240B14 0040202D */ daddu $a0, $v0, $zero +/* 8980F8 80240B18 8C830000 */ lw $v1, ($a0) +/* 8980FC 80240B1C 34630010 */ ori $v1, $v1, 0x10 +/* 898100 80240B20 AC830000 */ sw $v1, ($a0) +/* 898104 80240B24 8FBF0010 */ lw $ra, 0x10($sp) +/* 898108 80240B28 24020002 */ addiu $v0, $zero, 2 +/* 89810C 80240B2C 03E00008 */ jr $ra +/* 898110 80240B30 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240B34.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240B34.s new file mode 100644 index 0000000000..563d7d0265 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240B34.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B34 +/* 898114 80240B34 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 898118 80240B38 AFBF0018 */ sw $ra, 0x18($sp) +/* 89811C 80240B3C 8C82000C */ lw $v0, 0xc($a0) +/* 898120 80240B40 0C0B1EAF */ jal get_variable +/* 898124 80240B44 8C450000 */ lw $a1, ($v0) +/* 898128 80240B48 0C04417A */ jal get_entity_by_index +/* 89812C 80240B4C 0040202D */ daddu $a0, $v0, $zero +/* 898130 80240B50 3C013F80 */ lui $at, 0x3f80 +/* 898134 80240B54 44810000 */ mtc1 $at, $f0 +/* 898138 80240B58 C442004C */ lwc1 $f2, 0x4c($v0) +/* 89813C 80240B5C E7A00010 */ swc1 $f0, 0x10($sp) +/* 898140 80240B60 3C014148 */ lui $at, 0x4148 +/* 898144 80240B64 44810000 */ mtc1 $at, $f0 +/* 898148 80240B68 2403004B */ addiu $v1, $zero, 0x4b +/* 89814C 80240B6C AFA30014 */ sw $v1, 0x14($sp) +/* 898150 80240B70 46001080 */ add.s $f2, $f2, $f0 +/* 898154 80240B74 8C450048 */ lw $a1, 0x48($v0) +/* 898158 80240B78 8C470050 */ lw $a3, 0x50($v0) +/* 89815C 80240B7C 44061000 */ mfc1 $a2, $f2 +/* 898160 80240B80 0C01C2EC */ jal func_80070BB0 +/* 898164 80240B84 24040004 */ addiu $a0, $zero, 4 +/* 898168 80240B88 8FBF0018 */ lw $ra, 0x18($sp) +/* 89816C 80240B8C 24020002 */ addiu $v0, $zero, 2 +/* 898170 80240B90 03E00008 */ jr $ra +/* 898174 80240B94 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240B98.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240B98.s new file mode 100644 index 0000000000..3567eca5b9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240B98.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B98 +/* 898178 80240B98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89817C 80240B9C AFBF0018 */ sw $ra, 0x18($sp) +/* 898180 80240BA0 0C00EAD2 */ jal get_npc_safe +/* 898184 80240BA4 2404FFFC */ addiu $a0, $zero, -4 +/* 898188 80240BA8 C444003C */ lwc1 $f4, 0x3c($v0) +/* 89818C 80240BAC 3C014148 */ lui $at, 0x4148 +/* 898190 80240BB0 44811000 */ mtc1 $at, $f2 +/* 898194 80240BB4 3C013F80 */ lui $at, 0x3f80 +/* 898198 80240BB8 44810000 */ mtc1 $at, $f0 +/* 89819C 80240BBC 2403001E */ addiu $v1, $zero, 0x1e +/* 8981A0 80240BC0 AFA30014 */ sw $v1, 0x14($sp) +/* 8981A4 80240BC4 46022100 */ add.s $f4, $f4, $f2 +/* 8981A8 80240BC8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8981AC 80240BCC 8C450038 */ lw $a1, 0x38($v0) +/* 8981B0 80240BD0 8C470040 */ lw $a3, 0x40($v0) +/* 8981B4 80240BD4 44062000 */ mfc1 $a2, $f4 +/* 8981B8 80240BD8 0C01C2EC */ jal func_80070BB0 +/* 8981BC 80240BDC 24040009 */ addiu $a0, $zero, 9 +/* 8981C0 80240BE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 8981C4 80240BE4 24020002 */ addiu $v0, $zero, 2 +/* 8981C8 80240BE8 03E00008 */ jr $ra +/* 8981CC 80240BEC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80240BF0.s b/asm/nonmatchings/world/area_tik/tik_19/func_80240BF0.s new file mode 100644 index 0000000000..2629fabc1c --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80240BF0.s @@ -0,0 +1,356 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BF0 +/* 8981D0 80240BF0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 8981D4 80240BF4 AFB60040 */ sw $s6, 0x40($sp) +/* 8981D8 80240BF8 0080B02D */ daddu $s6, $a0, $zero +/* 8981DC 80240BFC AFB00028 */ sw $s0, 0x28($sp) +/* 8981E0 80240C00 00A0802D */ daddu $s0, $a1, $zero +/* 8981E4 80240C04 AFBF0044 */ sw $ra, 0x44($sp) +/* 8981E8 80240C08 AFB5003C */ sw $s5, 0x3c($sp) +/* 8981EC 80240C0C AFB40038 */ sw $s4, 0x38($sp) +/* 8981F0 80240C10 AFB30034 */ sw $s3, 0x34($sp) +/* 8981F4 80240C14 AFB20030 */ sw $s2, 0x30($sp) +/* 8981F8 80240C18 AFB1002C */ sw $s1, 0x2c($sp) +/* 8981FC 80240C1C F7B80058 */ sdc1 $f24, 0x58($sp) +/* 898200 80240C20 F7B60050 */ sdc1 $f22, 0x50($sp) +/* 898204 80240C24 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 898208 80240C28 8ED3000C */ lw $s3, 0xc($s6) +/* 89820C 80240C2C 0C00EAD2 */ jal get_npc_safe +/* 898210 80240C30 2404FFFC */ addiu $a0, $zero, -4 +/* 898214 80240C34 27A50018 */ addiu $a1, $sp, 0x18 +/* 898218 80240C38 3C048007 */ lui $a0, %hi(gCurrentCameraID) +/* 89821C 80240C3C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0) +/* 898220 80240C40 27A6001C */ addiu $a2, $sp, 0x1c +/* 898224 80240C44 00041880 */ sll $v1, $a0, 2 +/* 898228 80240C48 00641821 */ addu $v1, $v1, $a0 +/* 89822C 80240C4C 00031880 */ sll $v1, $v1, 2 +/* 898230 80240C50 00641823 */ subu $v1, $v1, $a0 +/* 898234 80240C54 000320C0 */ sll $a0, $v1, 3 +/* 898238 80240C58 00641821 */ addu $v1, $v1, $a0 +/* 89823C 80240C5C 000318C0 */ sll $v1, $v1, 3 +/* 898240 80240C60 3C01800B */ lui $at, 0x800b +/* 898244 80240C64 00230821 */ addu $at, $at, $v1 +/* 898248 80240C68 C42C1DEC */ lwc1 $f12, 0x1dec($at) +/* 89824C 80240C6C 0C00A88D */ jal sin_cos_deg +/* 898250 80240C70 0040A82D */ daddu $s5, $v0, $zero +/* 898254 80240C74 1200005D */ beqz $s0, .L80240DEC +/* 898258 80240C78 00000000 */ nop +/* 89825C 80240C7C 0C00AB0A */ jal general_heap_malloc +/* 898260 80240C80 24040068 */ addiu $a0, $zero, 0x68 +/* 898264 80240C84 0040902D */ daddu $s2, $v0, $zero +/* 898268 80240C88 02C0202D */ daddu $a0, $s6, $zero +/* 89826C 80240C8C 0000882D */ daddu $s1, $zero, $zero +/* 898270 80240C90 2414FFFF */ addiu $s4, $zero, -1 +/* 898274 80240C94 AED20060 */ sw $s2, 0x60($s6) +/* 898278 80240C98 8E650000 */ lw $a1, ($s3) +/* 89827C 80240C9C 3C014148 */ lui $at, 0x4148 +/* 898280 80240CA0 4481C000 */ mtc1 $at, $f24 +/* 898284 80240CA4 3C013F80 */ lui $at, 0x3f80 +/* 898288 80240CA8 4481B000 */ mtc1 $at, $f22 +/* 89828C 80240CAC 4480A000 */ mtc1 $zero, $f20 +/* 898290 80240CB0 0C0B1EAF */ jal get_variable +/* 898294 80240CB4 0240802D */ daddu $s0, $s2, $zero +/* 898298 80240CB8 0C04417A */ jal get_entity_by_index +/* 89829C 80240CBC 0040202D */ daddu $a0, $v0, $zero +/* 8982A0 80240CC0 AE42005C */ sw $v0, 0x5c($s2) +.L80240CC4: +/* 8982A4 80240CC4 8E42005C */ lw $v0, 0x5c($s2) +/* 8982A8 80240CC8 C440004C */ lwc1 $f0, 0x4c($v0) +/* 8982AC 80240CCC 0000202D */ daddu $a0, $zero, $zero +/* 8982B0 80240CD0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 8982B4 80240CD4 AFB40014 */ sw $s4, 0x14($sp) +/* 8982B8 80240CD8 46180000 */ add.s $f0, $f0, $f24 +/* 8982BC 80240CDC 8C450048 */ lw $a1, 0x48($v0) +/* 8982C0 80240CE0 8C470050 */ lw $a3, 0x50($v0) +/* 8982C4 80240CE4 44060000 */ mfc1 $a2, $f0 +/* 8982C8 80240CE8 0C01C5BC */ jal func_800716F0 +/* 8982CC 80240CEC 26310001 */ addiu $s1, $s1, 1 +/* 8982D0 80240CF0 AE020008 */ sw $v0, 8($s0) +/* 8982D4 80240CF4 E614002C */ swc1 $f20, 0x2c($s0) +/* 8982D8 80240CF8 E6140020 */ swc1 $f20, 0x20($s0) +/* 8982DC 80240CFC E6140014 */ swc1 $f20, 0x14($s0) +/* 8982E0 80240D00 E6140050 */ swc1 $f20, 0x50($s0) +/* 8982E4 80240D04 E6140044 */ swc1 $f20, 0x44($s0) +/* 8982E8 80240D08 E6140038 */ swc1 $f20, 0x38($s0) +/* 8982EC 80240D0C 2A220003 */ slti $v0, $s1, 3 +/* 8982F0 80240D10 1440FFEC */ bnez $v0, .L80240CC4 +/* 8982F4 80240D14 26100004 */ addiu $s0, $s0, 4 +/* 8982F8 80240D18 0000882D */ daddu $s1, $zero, $zero +/* 8982FC 80240D1C 0240802D */ daddu $s0, $s2, $zero +/* 898300 80240D20 3C148024 */ lui $s4, 0x8024 +/* 898304 80240D24 26942708 */ addiu $s4, $s4, 0x2708 +/* 898308 80240D28 3C014248 */ lui $at, 0x4248 +/* 89830C 80240D2C 4481A000 */ mtc1 $at, $f20 +/* 898310 80240D30 24130044 */ addiu $s3, $zero, 0x44 +/* 898314 80240D34 AE400000 */ sw $zero, ($s2) +/* 898318 80240D38 AE400004 */ sw $zero, 4($s2) +/* 89831C 80240D3C AE400060 */ sw $zero, 0x60($s2) +/* 898320 80240D40 AE400064 */ sw $zero, 0x64($s2) +.L80240D44: +/* 898324 80240D44 27A40020 */ addiu $a0, $sp, 0x20 +/* 898328 80240D48 4406A000 */ mfc1 $a2, $f20 +/* 89832C 80240D4C 8E870000 */ lw $a3, ($s4) +/* 898330 80240D50 02532821 */ addu $a1, $s2, $s3 +/* 898334 80240D54 0C00A7E7 */ jal add_vec2D_polar +/* 898338 80240D58 AFA00020 */ sw $zero, 0x20($sp) +/* 89833C 80240D5C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 898340 80240D60 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 898344 80240D64 46041082 */ mul.s $f2, $f2, $f4 +/* 898348 80240D68 00000000 */ nop +/* 89834C 80240D6C C7A00018 */ lwc1 $f0, 0x18($sp) +/* 898350 80240D70 46040002 */ mul.s $f0, $f0, $f4 +/* 898354 80240D74 00000000 */ nop +/* 898358 80240D78 E6020038 */ swc1 $f2, 0x38($s0) +/* 89835C 80240D7C E6000050 */ swc1 $f0, 0x50($s0) +/* 898360 80240D80 8E42005C */ lw $v0, 0x5c($s2) +/* 898364 80240D84 C6000038 */ lwc1 $f0, 0x38($s0) +/* 898368 80240D88 C4420048 */ lwc1 $f2, 0x48($v0) +/* 89836C 80240D8C 46001080 */ add.s $f2, $f2, $f0 +/* 898370 80240D90 C6A00038 */ lwc1 $f0, 0x38($s5) +/* 898374 80240D94 46020001 */ sub.s $f0, $f0, $f2 +/* 898378 80240D98 E6000038 */ swc1 $f0, 0x38($s0) +/* 89837C 80240D9C 8E42005C */ lw $v0, 0x5c($s2) +/* 898380 80240DA0 C6000044 */ lwc1 $f0, 0x44($s0) +/* 898384 80240DA4 C442004C */ lwc1 $f2, 0x4c($v0) +/* 898388 80240DA8 46001080 */ add.s $f2, $f2, $f0 +/* 89838C 80240DAC C6A0003C */ lwc1 $f0, 0x3c($s5) +/* 898390 80240DB0 46020001 */ sub.s $f0, $f0, $f2 +/* 898394 80240DB4 E6000044 */ swc1 $f0, 0x44($s0) +/* 898398 80240DB8 8E42005C */ lw $v0, 0x5c($s2) +/* 89839C 80240DBC C6000050 */ lwc1 $f0, 0x50($s0) +/* 8983A0 80240DC0 C4420050 */ lwc1 $f2, 0x50($v0) +/* 8983A4 80240DC4 26940004 */ addiu $s4, $s4, 4 +/* 8983A8 80240DC8 46001080 */ add.s $f2, $f2, $f0 +/* 8983AC 80240DCC C6A00040 */ lwc1 $f0, 0x40($s5) +/* 8983B0 80240DD0 26730004 */ addiu $s3, $s3, 4 +/* 8983B4 80240DD4 46020001 */ sub.s $f0, $f0, $f2 +/* 8983B8 80240DD8 26310001 */ addiu $s1, $s1, 1 +/* 8983BC 80240DDC 2A220003 */ slti $v0, $s1, 3 +/* 8983C0 80240DE0 E6000050 */ swc1 $f0, 0x50($s0) +/* 8983C4 80240DE4 1440FFD7 */ bnez $v0, .L80240D44 +/* 8983C8 80240DE8 26100004 */ addiu $s0, $s0, 4 +.L80240DEC: +/* 8983CC 80240DEC 8ED20060 */ lw $s2, 0x60($s6) +/* 8983D0 80240DF0 8E430000 */ lw $v1, ($s2) +/* 8983D4 80240DF4 24020001 */ addiu $v0, $zero, 1 +/* 8983D8 80240DF8 10620038 */ beq $v1, $v0, .L80240EDC +/* 8983DC 80240DFC 28620002 */ slti $v0, $v1, 2 +/* 8983E0 80240E00 50400005 */ beql $v0, $zero, .L80240E18 +/* 8983E4 80240E04 24020002 */ addiu $v0, $zero, 2 +/* 8983E8 80240E08 10600007 */ beqz $v1, .L80240E28 +/* 8983EC 80240E0C 24040005 */ addiu $a0, $zero, 5 +/* 8983F0 80240E10 080903F0 */ j .L80240FC0 +/* 8983F4 80240E14 00000000 */ nop +.L80240E18: +/* 8983F8 80240E18 10620058 */ beq $v1, $v0, .L80240F7C +/* 8983FC 80240E1C 00000000 */ nop +/* 898400 80240E20 080903F0 */ j .L80240FC0 +/* 898404 80240E24 00000000 */ nop +.L80240E28: +/* 898408 80240E28 0000882D */ daddu $s1, $zero, $zero +/* 89840C 80240E2C 3C148024 */ lui $s4, 0x8024 +/* 898410 80240E30 26942708 */ addiu $s4, $s4, 0x2708 +/* 898414 80240E34 24130020 */ addiu $s3, $zero, 0x20 +/* 898418 80240E38 3C064248 */ lui $a2, 0x4248 +/* 89841C 80240E3C 44800000 */ mtc1 $zero, $f0 +/* 898420 80240E40 24020014 */ addiu $v0, $zero, 0x14 +/* 898424 80240E44 AFA20010 */ sw $v0, 0x10($sp) +/* 898428 80240E48 44050000 */ mfc1 $a1, $f0 +/* 89842C 80240E4C 8E470060 */ lw $a3, 0x60($s2) +/* 898430 80240E50 4485B000 */ mtc1 $a1, $f22 +/* 898434 80240E54 0C00A8ED */ jal update_lerp +/* 898438 80240E58 0240802D */ daddu $s0, $s2, $zero +/* 89843C 80240E5C 46000506 */ mov.s $f20, $f0 +.L80240E60: +/* 898440 80240E60 4406A000 */ mfc1 $a2, $f20 +/* 898444 80240E64 27A40020 */ addiu $a0, $sp, 0x20 +/* 898448 80240E68 E6160020 */ swc1 $f22, 0x20($s0) +/* 89844C 80240E6C 8E870000 */ lw $a3, ($s4) +/* 898450 80240E70 02532821 */ addu $a1, $s2, $s3 +/* 898454 80240E74 0C00A7E7 */ jal add_vec2D_polar +/* 898458 80240E78 E7B60020 */ swc1 $f22, 0x20($sp) +/* 89845C 80240E7C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 898460 80240E80 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 898464 80240E84 46002102 */ mul.s $f4, $f4, $f0 +/* 898468 80240E88 00000000 */ nop +/* 89846C 80240E8C C7A20018 */ lwc1 $f2, 0x18($sp) +/* 898470 80240E90 26940004 */ addiu $s4, $s4, 4 +/* 898474 80240E94 46001082 */ mul.s $f2, $f2, $f0 +/* 898478 80240E98 00000000 */ nop +/* 89847C 80240E9C 26730004 */ addiu $s3, $s3, 4 +/* 898480 80240EA0 26310001 */ addiu $s1, $s1, 1 +/* 898484 80240EA4 2A220003 */ slti $v0, $s1, 3 +/* 898488 80240EA8 E6040014 */ swc1 $f4, 0x14($s0) +/* 89848C 80240EAC E602002C */ swc1 $f2, 0x2c($s0) +/* 898490 80240EB0 1440FFEB */ bnez $v0, .L80240E60 +/* 898494 80240EB4 26100004 */ addiu $s0, $s0, 4 +/* 898498 80240EB8 8E420060 */ lw $v0, 0x60($s2) +/* 89849C 80240EBC 24420001 */ addiu $v0, $v0, 1 +/* 8984A0 80240EC0 AE420060 */ sw $v0, 0x60($s2) +/* 8984A4 80240EC4 28420015 */ slti $v0, $v0, 0x15 +/* 8984A8 80240EC8 1440003D */ bnez $v0, .L80240FC0 +/* 8984AC 80240ECC 24020001 */ addiu $v0, $zero, 1 +/* 8984B0 80240ED0 AE420000 */ sw $v0, ($s2) +/* 8984B4 80240ED4 080903F0 */ j .L80240FC0 +/* 8984B8 80240ED8 AE400060 */ sw $zero, 0x60($s2) +.L80240EDC: +/* 8984BC 80240EDC 0000882D */ daddu $s1, $zero, $zero +/* 8984C0 80240EE0 3C148024 */ lui $s4, 0x8024 +/* 8984C4 80240EE4 26942708 */ addiu $s4, $s4, 0x2708 +/* 8984C8 80240EE8 24130020 */ addiu $s3, $zero, 0x20 +/* 8984CC 80240EEC 0240802D */ daddu $s0, $s2, $zero +/* 8984D0 80240EF0 3C014248 */ lui $at, 0x4248 +/* 8984D4 80240EF4 4481A000 */ mtc1 $at, $f20 +/* 8984D8 80240EF8 4480B000 */ mtc1 $zero, $f22 +.L80240EFC: +/* 8984DC 80240EFC 4406A000 */ mfc1 $a2, $f20 +/* 8984E0 80240F00 27A40020 */ addiu $a0, $sp, 0x20 +/* 8984E4 80240F04 E6160020 */ swc1 $f22, 0x20($s0) +/* 8984E8 80240F08 8E870000 */ lw $a3, ($s4) +/* 8984EC 80240F0C 02532821 */ addu $a1, $s2, $s3 +/* 8984F0 80240F10 0C00A7E7 */ jal add_vec2D_polar +/* 8984F4 80240F14 E7B60020 */ swc1 $f22, 0x20($sp) +/* 8984F8 80240F18 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 8984FC 80240F1C C7A00020 */ lwc1 $f0, 0x20($sp) +/* 898500 80240F20 46002102 */ mul.s $f4, $f4, $f0 +/* 898504 80240F24 00000000 */ nop +/* 898508 80240F28 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 89850C 80240F2C 26940004 */ addiu $s4, $s4, 4 +/* 898510 80240F30 46001082 */ mul.s $f2, $f2, $f0 +/* 898514 80240F34 00000000 */ nop +/* 898518 80240F38 26730004 */ addiu $s3, $s3, 4 +/* 89851C 80240F3C 26310001 */ addiu $s1, $s1, 1 +/* 898520 80240F40 2A220003 */ slti $v0, $s1, 3 +/* 898524 80240F44 E6040014 */ swc1 $f4, 0x14($s0) +/* 898528 80240F48 E602002C */ swc1 $f2, 0x2c($s0) +/* 89852C 80240F4C 1440FFEB */ bnez $v0, .L80240EFC +/* 898530 80240F50 26100004 */ addiu $s0, $s0, 4 +/* 898534 80240F54 8E420060 */ lw $v0, 0x60($s2) +/* 898538 80240F58 24420001 */ addiu $v0, $v0, 1 +/* 89853C 80240F5C AE420060 */ sw $v0, 0x60($s2) +/* 898540 80240F60 28420010 */ slti $v0, $v0, 0x10 +/* 898544 80240F64 14400016 */ bnez $v0, .L80240FC0 +/* 898548 80240F68 2402000F */ addiu $v0, $zero, 0xf +/* 89854C 80240F6C AE420060 */ sw $v0, 0x60($s2) +/* 898550 80240F70 24020002 */ addiu $v0, $zero, 2 +/* 898554 80240F74 080903F0 */ j .L80240FC0 +/* 898558 80240F78 AE420000 */ sw $v0, ($s2) +.L80240F7C: +/* 89855C 80240F7C 8E420060 */ lw $v0, 0x60($s2) +/* 898560 80240F80 24420001 */ addiu $v0, $v0, 1 +/* 898564 80240F84 AE420060 */ sw $v0, 0x60($s2) +/* 898568 80240F88 2842001F */ slti $v0, $v0, 0x1f +/* 89856C 80240F8C 1440000C */ bnez $v0, .L80240FC0 +/* 898570 80240F90 0000882D */ daddu $s1, $zero, $zero +/* 898574 80240F94 0240282D */ daddu $a1, $s2, $zero +.L80240F98: +/* 898578 80240F98 8CA20008 */ lw $v0, 8($a1) +/* 89857C 80240F9C 8C430000 */ lw $v1, ($v0) +/* 898580 80240FA0 26310001 */ addiu $s1, $s1, 1 +/* 898584 80240FA4 34630010 */ ori $v1, $v1, 0x10 +/* 898588 80240FA8 AC430000 */ sw $v1, ($v0) +/* 89858C 80240FAC 2A220003 */ slti $v0, $s1, 3 +/* 898590 80240FB0 1440FFF9 */ bnez $v0, .L80240F98 +/* 898594 80240FB4 24A50004 */ addiu $a1, $a1, 4 +/* 898598 80240FB8 0809043D */ j .L802410F4 +/* 89859C 80240FBC 24020002 */ addiu $v0, $zero, 2 +.L80240FC0: +/* 8985A0 80240FC0 8E430004 */ lw $v1, 4($s2) +/* 8985A4 80240FC4 10600005 */ beqz $v1, .L80240FDC +/* 8985A8 80240FC8 24020001 */ addiu $v0, $zero, 1 +/* 8985AC 80240FCC 1062000B */ beq $v1, $v0, .L80240FFC +/* 8985B0 80240FD0 0000882D */ daddu $s1, $zero, $zero +/* 8985B4 80240FD4 0809042C */ j .L802410B0 +/* 8985B8 80240FD8 0240282D */ daddu $a1, $s2, $zero +.L80240FDC: +/* 8985BC 80240FDC 8E420064 */ lw $v0, 0x64($s2) +/* 8985C0 80240FE0 24420001 */ addiu $v0, $v0, 1 +/* 8985C4 80240FE4 AE420064 */ sw $v0, 0x64($s2) +/* 8985C8 80240FE8 28420010 */ slti $v0, $v0, 0x10 +/* 8985CC 80240FEC 1440002F */ bnez $v0, .L802410AC +/* 8985D0 80240FF0 0000882D */ daddu $s1, $zero, $zero +/* 8985D4 80240FF4 08090428 */ j .L802410A0 +/* 8985D8 80240FF8 24020001 */ addiu $v0, $zero, 1 +.L80240FFC: +/* 8985DC 80240FFC 4480A000 */ mtc1 $zero, $f20 +/* 8985E0 80241000 24130014 */ addiu $s3, $zero, 0x14 +/* 8985E4 80241004 0240802D */ daddu $s0, $s2, $zero +.L80241008: +/* 8985E8 80241008 4405A000 */ mfc1 $a1, $f20 +/* 8985EC 8024100C AFB30010 */ sw $s3, 0x10($sp) +/* 8985F0 80241010 8E060038 */ lw $a2, 0x38($s0) +/* 8985F4 80241014 8E470064 */ lw $a3, 0x64($s2) +/* 8985F8 80241018 0C00A8ED */ jal update_lerp +/* 8985FC 8024101C 24040001 */ addiu $a0, $zero, 1 +/* 898600 80241020 C6020014 */ lwc1 $f2, 0x14($s0) +/* 898604 80241024 46001080 */ add.s $f2, $f2, $f0 +/* 898608 80241028 4405A000 */ mfc1 $a1, $f20 +/* 89860C 8024102C E6020014 */ swc1 $f2, 0x14($s0) +/* 898610 80241030 AFB30010 */ sw $s3, 0x10($sp) +/* 898614 80241034 8E060044 */ lw $a2, 0x44($s0) +/* 898618 80241038 8E470064 */ lw $a3, 0x64($s2) +/* 89861C 8024103C 0C00A8ED */ jal update_lerp +/* 898620 80241040 24040001 */ addiu $a0, $zero, 1 +/* 898624 80241044 C6020020 */ lwc1 $f2, 0x20($s0) +/* 898628 80241048 46001080 */ add.s $f2, $f2, $f0 +/* 89862C 8024104C 4405A000 */ mfc1 $a1, $f20 +/* 898630 80241050 E6020020 */ swc1 $f2, 0x20($s0) +/* 898634 80241054 AFB30010 */ sw $s3, 0x10($sp) +/* 898638 80241058 8E060050 */ lw $a2, 0x50($s0) +/* 89863C 8024105C 8E470064 */ lw $a3, 0x64($s2) +/* 898640 80241060 0C00A8ED */ jal update_lerp +/* 898644 80241064 24040001 */ addiu $a0, $zero, 1 +/* 898648 80241068 C602002C */ lwc1 $f2, 0x2c($s0) +/* 89864C 8024106C 46001080 */ add.s $f2, $f2, $f0 +/* 898650 80241070 26310001 */ addiu $s1, $s1, 1 +/* 898654 80241074 2A220003 */ slti $v0, $s1, 3 +/* 898658 80241078 E602002C */ swc1 $f2, 0x2c($s0) +/* 89865C 8024107C 1440FFE2 */ bnez $v0, .L80241008 +/* 898660 80241080 26100004 */ addiu $s0, $s0, 4 +/* 898664 80241084 8E420064 */ lw $v0, 0x64($s2) +/* 898668 80241088 24420001 */ addiu $v0, $v0, 1 +/* 89866C 8024108C AE420064 */ sw $v0, 0x64($s2) +/* 898670 80241090 28420015 */ slti $v0, $v0, 0x15 +/* 898674 80241094 14400005 */ bnez $v0, .L802410AC +/* 898678 80241098 0000882D */ daddu $s1, $zero, $zero +/* 89867C 8024109C 24020002 */ addiu $v0, $zero, 2 +.L802410A0: +/* 898680 802410A0 AE420004 */ sw $v0, 4($s2) +/* 898684 802410A4 AE400064 */ sw $zero, 0x64($s2) +/* 898688 802410A8 0000882D */ daddu $s1, $zero, $zero +.L802410AC: +/* 89868C 802410AC 0240282D */ daddu $a1, $s2, $zero +.L802410B0: +/* 898690 802410B0 8CA20008 */ lw $v0, 8($a1) +/* 898694 802410B4 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 898698 802410B8 8C42000C */ lw $v0, 0xc($v0) +/* 89869C 802410BC E4400010 */ swc1 $f0, 0x10($v0) +/* 8986A0 802410C0 8CA20008 */ lw $v0, 8($a1) +/* 8986A4 802410C4 C4A00020 */ lwc1 $f0, 0x20($a1) +/* 8986A8 802410C8 8C42000C */ lw $v0, 0xc($v0) +/* 8986AC 802410CC 26310001 */ addiu $s1, $s1, 1 +/* 8986B0 802410D0 E4400014 */ swc1 $f0, 0x14($v0) +/* 8986B4 802410D4 8CA20008 */ lw $v0, 8($a1) +/* 8986B8 802410D8 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 8986BC 802410DC 8C42000C */ lw $v0, 0xc($v0) +/* 8986C0 802410E0 E4400018 */ swc1 $f0, 0x18($v0) +/* 8986C4 802410E4 2A220003 */ slti $v0, $s1, 3 +/* 8986C8 802410E8 1440FFF1 */ bnez $v0, .L802410B0 +/* 8986CC 802410EC 24A50004 */ addiu $a1, $a1, 4 +/* 8986D0 802410F0 0000102D */ daddu $v0, $zero, $zero +.L802410F4: +/* 8986D4 802410F4 8FBF0044 */ lw $ra, 0x44($sp) +/* 8986D8 802410F8 8FB60040 */ lw $s6, 0x40($sp) +/* 8986DC 802410FC 8FB5003C */ lw $s5, 0x3c($sp) +/* 8986E0 80241100 8FB40038 */ lw $s4, 0x38($sp) +/* 8986E4 80241104 8FB30034 */ lw $s3, 0x34($sp) +/* 8986E8 80241108 8FB20030 */ lw $s2, 0x30($sp) +/* 8986EC 8024110C 8FB1002C */ lw $s1, 0x2c($sp) +/* 8986F0 80241110 8FB00028 */ lw $s0, 0x28($sp) +/* 8986F4 80241114 D7B80058 */ ldc1 $f24, 0x58($sp) +/* 8986F8 80241118 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 8986FC 8024111C D7B40048 */ ldc1 $f20, 0x48($sp) +/* 898700 80241120 03E00008 */ jr $ra +/* 898704 80241124 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80241128.s b/asm/nonmatchings/world/area_tik/tik_19/func_80241128.s new file mode 100644 index 0000000000..7ae728285e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80241128.s @@ -0,0 +1,92 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241128 +/* 898708 80241128 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89870C 8024112C AFB10014 */ sw $s1, 0x14($sp) +/* 898710 80241130 0080882D */ daddu $s1, $a0, $zero +/* 898714 80241134 AFB20018 */ sw $s2, 0x18($sp) +/* 898718 80241138 AFBF001C */ sw $ra, 0x1c($sp) +/* 89871C 8024113C AFB00010 */ sw $s0, 0x10($sp) +/* 898720 80241140 8E30000C */ lw $s0, 0xc($s1) +/* 898724 80241144 10A00010 */ beqz $a1, .L80241188 +/* 898728 80241148 0000902D */ daddu $s2, $zero, $zero +/* 89872C 8024114C 8E050000 */ lw $a1, ($s0) +/* 898730 80241150 0C0B1EAF */ jal get_variable +/* 898734 80241154 26100004 */ addiu $s0, $s0, 4 +/* 898738 80241158 AE220084 */ sw $v0, 0x84($s1) +/* 89873C 8024115C 8E050000 */ lw $a1, ($s0) +/* 898740 80241160 0C0B1EAF */ jal get_variable +/* 898744 80241164 0220202D */ daddu $a0, $s1, $zero +/* 898748 80241168 0240202D */ daddu $a0, $s2, $zero +/* 89874C 8024116C 240500D0 */ addiu $a1, $zero, 0xd0 +/* 898750 80241170 00A0302D */ daddu $a2, $a1, $zero +/* 898754 80241174 00A0382D */ daddu $a3, $a1, $zero +/* 898758 80241178 AE220088 */ sw $v0, 0x88($s1) +/* 89875C 8024117C AE200070 */ sw $zero, 0x70($s1) +/* 898760 80241180 0C04DF84 */ jal func_80137E10 +/* 898764 80241184 AE200074 */ sw $zero, 0x74($s1) +.L80241188: +/* 898768 80241188 8E230070 */ lw $v1, 0x70($s1) +/* 89876C 8024118C 24040001 */ addiu $a0, $zero, 1 +/* 898770 80241190 10640019 */ beq $v1, $a0, .L802411F8 +/* 898774 80241194 28620002 */ slti $v0, $v1, 2 +/* 898778 80241198 10400005 */ beqz $v0, .L802411B0 +/* 89877C 8024119C 24020002 */ addiu $v0, $zero, 2 +/* 898780 802411A0 10600007 */ beqz $v1, .L802411C0 +/* 898784 802411A4 240500FF */ addiu $a1, $zero, 0xff +/* 898788 802411A8 0809048E */ j .L80241238 +/* 89878C 802411AC 00000000 */ nop +.L802411B0: +/* 898790 802411B0 10620019 */ beq $v1, $v0, .L80241218 +/* 898794 802411B4 00000000 */ nop +/* 898798 802411B8 0809048E */ j .L80241238 +/* 89879C 802411BC 00000000 */ nop +.L802411C0: +/* 8987A0 802411C0 8E220074 */ lw $v0, 0x74($s1) +/* 8987A4 802411C4 14450004 */ bne $v0, $a1, .L802411D8 +/* 8987A8 802411C8 00000000 */ nop +/* 8987AC 802411CC AE240070 */ sw $a0, 0x70($s1) +/* 8987B0 802411D0 AE200078 */ sw $zero, 0x78($s1) +/* 8987B4 802411D4 8E220074 */ lw $v0, 0x74($s1) +.L802411D8: +/* 8987B8 802411D8 8E230084 */ lw $v1, 0x84($s1) +/* 8987BC 802411DC 00431021 */ addu $v0, $v0, $v1 +/* 8987C0 802411E0 AE220074 */ sw $v0, 0x74($s1) +/* 8987C4 802411E4 28420100 */ slti $v0, $v0, 0x100 +/* 8987C8 802411E8 50400013 */ beql $v0, $zero, .L80241238 +/* 8987CC 802411EC AE250074 */ sw $a1, 0x74($s1) +/* 8987D0 802411F0 0809048E */ j .L80241238 +/* 8987D4 802411F4 00000000 */ nop +.L802411F8: +/* 8987D8 802411F8 8E220078 */ lw $v0, 0x78($s1) +/* 8987DC 802411FC 24420001 */ addiu $v0, $v0, 1 +/* 8987E0 80241200 AE220078 */ sw $v0, 0x78($s1) +/* 8987E4 80241204 28420002 */ slti $v0, $v0, 2 +/* 8987E8 80241208 1440000B */ bnez $v0, .L80241238 +/* 8987EC 8024120C 24020002 */ addiu $v0, $zero, 2 +/* 8987F0 80241210 0809048E */ j .L80241238 +/* 8987F4 80241214 AE220070 */ sw $v0, 0x70($s1) +.L80241218: +/* 8987F8 80241218 8E230074 */ lw $v1, 0x74($s1) +/* 8987FC 8024121C 50600001 */ beql $v1, $zero, .L80241224 +/* 898800 80241220 24120001 */ addiu $s2, $zero, 1 +.L80241224: +/* 898804 80241224 8E220088 */ lw $v0, 0x88($s1) +/* 898808 80241228 00621023 */ subu $v0, $v1, $v0 +/* 89880C 8024122C 04410002 */ bgez $v0, .L80241238 +/* 898810 80241230 AE220074 */ sw $v0, 0x74($s1) +/* 898814 80241234 AE200074 */ sw $zero, 0x74($s1) +.L80241238: +/* 898818 80241238 C6200074 */ lwc1 $f0, 0x74($s1) +/* 89881C 8024123C 46800020 */ cvt.s.w $f0, $f0 +/* 898820 80241240 44050000 */ mfc1 $a1, $f0 +/* 898824 80241244 0C04DF62 */ jal func_80137D88 +/* 898828 80241248 24040001 */ addiu $a0, $zero, 1 +/* 89882C 8024124C 0240102D */ daddu $v0, $s2, $zero +/* 898830 80241250 8FBF001C */ lw $ra, 0x1c($sp) +/* 898834 80241254 8FB20018 */ lw $s2, 0x18($sp) +/* 898838 80241258 8FB10014 */ lw $s1, 0x14($sp) +/* 89883C 8024125C 8FB00010 */ lw $s0, 0x10($sp) +/* 898840 80241260 03E00008 */ jr $ra +/* 898844 80241264 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_80241268.s b/asm/nonmatchings/world/area_tik/tik_19/func_80241268.s new file mode 100644 index 0000000000..0a5d586a38 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_80241268.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241268 +/* 898848 80241268 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89884C 8024126C AFBF0018 */ sw $ra, 0x18($sp) +/* 898850 80241270 0C00EAD2 */ jal get_npc_safe +/* 898854 80241274 2404FFFC */ addiu $a0, $zero, -4 +/* 898858 80241278 3C0141F0 */ lui $at, 0x41f0 +/* 89885C 8024127C 44810000 */ mtc1 $at, $f0 +/* 898860 80241280 C442003C */ lwc1 $f2, 0x3c($v0) +/* 898864 80241284 46001080 */ add.s $f2, $f2, $f0 +/* 898868 80241288 E7A00010 */ swc1 $f0, 0x10($sp) +/* 89886C 8024128C 8C450038 */ lw $a1, 0x38($v0) +/* 898870 80241290 8C470040 */ lw $a3, 0x40($v0) +/* 898874 80241294 44061000 */ mfc1 $a2, $f2 +/* 898878 80241298 0C01BFBC */ jal func_8006FEF0 +/* 89887C 8024129C 24040002 */ addiu $a0, $zero, 2 +/* 898880 802412A0 8FBF0018 */ lw $ra, 0x18($sp) +/* 898884 802412A4 24020002 */ addiu $v0, $zero, 2 +/* 898888 802412A8 03E00008 */ jr $ra +/* 89888C 802412AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802412B0_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802412B0_8975E0.s new file mode 100644 index 0000000000..93ac2d7a1b --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802412B0_8975E0.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412B0_898890 +/* 898890 802412B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 898894 802412B4 AFBF0018 */ sw $ra, 0x18($sp) +/* 898898 802412B8 0C00EAD2 */ jal get_npc_safe +/* 89889C 802412BC 2404FFFC */ addiu $a0, $zero, -4 +/* 8988A0 802412C0 3C0141F0 */ lui $at, 0x41f0 +/* 8988A4 802412C4 44810000 */ mtc1 $at, $f0 +/* 8988A8 802412C8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 8988AC 802412CC 46001080 */ add.s $f2, $f2, $f0 +/* 8988B0 802412D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8988B4 802412D4 8C450038 */ lw $a1, 0x38($v0) +/* 8988B8 802412D8 8C470040 */ lw $a3, 0x40($v0) +/* 8988BC 802412DC 44061000 */ mfc1 $a2, $f2 +/* 8988C0 802412E0 0C01BFBC */ jal func_8006FEF0 +/* 8988C4 802412E4 24040004 */ addiu $a0, $zero, 4 +/* 8988C8 802412E8 8FBF0018 */ lw $ra, 0x18($sp) +/* 8988CC 802412EC 24020002 */ addiu $v0, $zero, 2 +/* 8988D0 802412F0 03E00008 */ jr $ra +/* 8988D4 802412F4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_19/func_802412F8_8975E0.s b/asm/nonmatchings/world/area_tik/tik_19/func_802412F8_8975E0.s new file mode 100644 index 0000000000..105f81ce75 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_19/func_802412F8_8975E0.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412F8_8988D8 +/* 8988D8 802412F8 3C038011 */ lui $v1, %hi(D_8010EBB0) +/* 8988DC 802412FC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0) +/* 8988E0 80241300 AC800084 */ sw $zero, 0x84($a0) +/* 8988E4 80241304 80620000 */ lb $v0, ($v1) +/* 8988E8 80241308 10400005 */ beqz $v0, .L80241320 +/* 8988EC 8024130C 24020003 */ addiu $v0, $zero, 3 +/* 8988F0 80241310 80630003 */ lb $v1, 3($v1) +/* 8988F4 80241314 14620002 */ bne $v1, $v0, .L80241320 +/* 8988F8 80241318 24020001 */ addiu $v0, $zero, 1 +/* 8988FC 8024131C AC820084 */ sw $v0, 0x84($a0) +.L80241320: +/* 898900 80241320 03E00008 */ jr $ra +/* 898904 80241324 24020002 */ addiu $v0, $zero, 2 +/* 898908 80241328 00000000 */ nop +/* 89890C 8024132C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240000_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240000_89A350.s new file mode 100644 index 0000000000..5822aa4346 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240000_89A350.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_89A350 +/* 89A350 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89A354 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 89A358 80240008 0080802D */ daddu $s0, $a0, $zero +/* 89A35C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 89A360 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 89A364 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 89A368 80240018 00621821 */ addu $v1, $v1, $v0 +/* 89A36C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 89A370 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 89A374 80240024 3C020002 */ lui $v0, 2 +/* 89A378 80240028 08090010 */ j .L80240040 +/* 89A37C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 89A380 80240030 3C040002 */ lui $a0, 2 +/* 89A384 80240034 0083102A */ slt $v0, $a0, $v1 +/* 89A388 80240038 10400002 */ beqz $v0, .L80240044 +/* 89A38C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 89A390 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 89A394 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 89A398 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 89A39C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 89A3A0 80240050 04610004 */ bgez $v1, .L80240064 +/* 89A3A4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 89A3A8 80240058 3C020002 */ lui $v0, 2 +/* 89A3AC 8024005C 0809001D */ j .L80240074 +/* 89A3B0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 89A3B4 80240064 3C040002 */ lui $a0, 2 +/* 89A3B8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 89A3BC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 89A3C0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 89A3C4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 89A3C8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89A3CC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 89A3D0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 89A3D4 80240084 04610004 */ bgez $v1, .L80240098 +/* 89A3D8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89A3DC 8024008C 3C020002 */ lui $v0, 2 +/* 89A3E0 80240090 0809002A */ j .L802400A8 +/* 89A3E4 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 89A3E8 80240098 3C040002 */ lui $a0, 2 +/* 89A3EC 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 89A3F0 802400A0 10400002 */ beqz $v0, .L802400AC +/* 89A3F4 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 89A3F8 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 89A3FC 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 89A400 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 89A404 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 89A408 802400B8 04610004 */ bgez $v1, .L802400CC +/* 89A40C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 89A410 802400C0 3C020002 */ lui $v0, 2 +/* 89A414 802400C4 08090037 */ j .L802400DC +/* 89A418 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 89A41C 802400CC 3C040002 */ lui $a0, 2 +/* 89A420 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 89A424 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 89A428 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 89A42C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 89A430 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 89A434 802400E4 0C046F07 */ jal set_main_pan_u +/* 89A438 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 89A43C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 89A440 802400F0 0C046F0D */ jal set_main_pan_v +/* 89A444 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 89A448 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 89A44C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 89A450 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89A454 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 89A458 80240108 0C046F19 */ jal set_aux_pan_v +/* 89A45C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 89A460 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 89A464 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 89A468 80240118 0000102D */ daddu $v0, $zero, $zero +/* 89A46C 8024011C 03E00008 */ jr $ra +/* 89A470 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240124_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240124_89A350.s new file mode 100644 index 0000000000..6e71977039 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240124_89A350.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_89A474 +/* 89A474 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89A478 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 89A47C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 89A480 80240130 10A00005 */ beqz $a1, .L80240148 +/* 89A484 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 89A488 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 89A48C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 89A490 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 89A494 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 89A498 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 89A49C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 89A4A0 80240150 00000000 */ nop +/* 89A4A4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 89A4A8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 89A4AC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 89A4B0 80240160 04610004 */ bgez $v1, .L80240174 +/* 89A4B4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 89A4B8 80240168 3C020002 */ lui $v0, 2 +/* 89A4BC 8024016C 08090061 */ j .L80240184 +/* 89A4C0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 89A4C4 80240174 3C040002 */ lui $a0, 2 +/* 89A4C8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 89A4CC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 89A4D0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 89A4D4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 89A4D8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 89A4DC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 89A4E0 80240190 00000000 */ nop +/* 89A4E4 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 89A4E8 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 89A4EC 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 89A4F0 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 89A4F4 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 89A4F8 802401A8 3C020002 */ lui $v0, 2 +/* 89A4FC 802401AC 08090071 */ j .L802401C4 +/* 89A500 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 89A504 802401B4 3C040002 */ lui $a0, 2 +/* 89A508 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 89A50C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 89A510 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 89A514 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 89A518 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 89A51C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 89A520 802401D0 00000000 */ nop +/* 89A524 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89A528 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 89A52C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 89A530 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 89A534 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89A538 802401E8 3C020002 */ lui $v0, 2 +/* 89A53C 802401EC 08090081 */ j .L80240204 +/* 89A540 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 89A544 802401F4 3C040002 */ lui $a0, 2 +/* 89A548 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 89A54C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 89A550 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 89A554 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 89A558 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 89A55C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 89A560 80240210 00000000 */ nop +/* 89A564 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 89A568 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 89A56C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 89A570 80240220 04610004 */ bgez $v1, .L80240234 +/* 89A574 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 89A578 80240228 3C020002 */ lui $v0, 2 +/* 89A57C 8024022C 08090091 */ j .L80240244 +/* 89A580 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 89A584 80240234 3C040002 */ lui $a0, 2 +/* 89A588 80240238 0083102A */ slt $v0, $a0, $v1 +/* 89A58C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 89A590 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 89A594 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 89A598 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 89A59C 8024024C 0C046F07 */ jal set_main_pan_u +/* 89A5A0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 89A5A4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 89A5A8 80240258 0C046F0D */ jal set_main_pan_v +/* 89A5AC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 89A5B0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 89A5B4 80240264 0C046F13 */ jal set_aux_pan_u +/* 89A5B8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89A5BC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 89A5C0 80240270 0C046F19 */ jal set_aux_pan_v +/* 89A5C4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 89A5C8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 89A5CC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 89A5D0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 89A5D4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 89A5D8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 89A5DC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 89A5E0 80240290 24630001 */ addiu $v1, $v1, 1 +/* 89A5E4 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 89A5E8 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 89A5EC 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 89A5F0 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 89A5F4 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 89A5F8 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 89A5FC 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 89A600 802402B0 14600002 */ bnez $v1, .L802402BC +/* 89A604 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 89A608 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 89A60C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 89A610 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 89A614 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 89A618 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 89A61C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 89A620 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 89A624 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 89A628 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 89A62C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 89A630 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 89A634 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 89A638 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 89A63C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 89A640 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 89A644 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 89A648 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 89A64C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 89A650 80240300 0000102D */ daddu $v0, $zero, $zero +/* 89A654 80240304 03E00008 */ jr $ra +/* 89A658 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_8024030C_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_8024030C_89A350.s new file mode 100644 index 0000000000..7c377e16df --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_8024030C_89A350.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_89A65C +/* 89A65C 8024030C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 89A660 80240310 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 89A664 80240314 8C430004 */ lw $v1, 4($v0) +/* 89A668 80240318 3C040010 */ lui $a0, 0x10 +/* 89A66C 8024031C 00641825 */ or $v1, $v1, $a0 +/* 89A670 80240320 AC430004 */ sw $v1, 4($v0) +/* 89A674 80240324 03E00008 */ jr $ra +/* 89A678 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_8024032C_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_8024032C_89A350.s new file mode 100644 index 0000000000..5275087c35 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_8024032C_89A350.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_89A67C +/* 89A67C 8024032C 3C028016 */ lui $v0, 0x8016 +/* 89A680 80240330 8442A552 */ lh $v0, -0x5aae($v0) +/* 89A684 80240334 AC820084 */ sw $v0, 0x84($a0) +/* 89A688 80240338 03E00008 */ jr $ra +/* 89A68C 8024033C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240340_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240340_89A350.s new file mode 100644 index 0000000000..0801019e47 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240340_89A350.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_89A690 +/* 89A690 80240340 3C038016 */ lui $v1, 0x8016 +/* 89A694 80240344 8463A552 */ lh $v1, -0x5aae($v1) +/* 89A698 80240348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89A69C 8024034C AFB00010 */ sw $s0, 0x10($sp) +/* 89A6A0 80240350 0080802D */ daddu $s0, $a0, $zero +/* 89A6A4 80240354 AFBF0014 */ sw $ra, 0x14($sp) +/* 89A6A8 80240358 8E0200B0 */ lw $v0, 0xb0($s0) +/* 89A6AC 8024035C 10620003 */ beq $v1, $v0, .L8024036C +/* 89A6B0 80240360 24020002 */ addiu $v0, $zero, 2 +/* 89A6B4 80240364 080900FB */ j .L802403EC +/* 89A6B8 80240368 AE000084 */ sw $zero, 0x84($s0) +.L8024036C: +/* 89A6BC 8024036C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 89A6C0 80240370 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 89A6C4 80240374 80620040 */ lb $v0, 0x40($v1) +/* 89A6C8 80240378 80670044 */ lb $a3, 0x44($v1) +/* 89A6CC 8024037C 04420001 */ bltzl $v0, .L80240384 +/* 89A6D0 80240380 00021023 */ negu $v0, $v0 +.L80240384: +/* 89A6D4 80240384 14400003 */ bnez $v0, .L80240394 +/* 89A6D8 80240388 00000000 */ nop +/* 89A6DC 8024038C 50E00017 */ beql $a3, $zero, .L802403EC +/* 89A6E0 80240390 0000102D */ daddu $v0, $zero, $zero +.L80240394: +/* 89A6E4 80240394 44822000 */ mtc1 $v0, $f4 +/* 89A6E8 80240398 00000000 */ nop +/* 89A6EC 8024039C 46802120 */ cvt.s.w $f4, $f4 +/* 89A6F0 802403A0 44062000 */ mfc1 $a2, $f4 +/* 89A6F4 802403A4 44872000 */ mtc1 $a3, $f4 +/* 89A6F8 802403A8 00000000 */ nop +/* 89A6FC 802403AC 46802120 */ cvt.s.w $f4, $f4 +/* 89A700 802403B0 44806000 */ mtc1 $zero, $f12 +/* 89A704 802403B4 44072000 */ mfc1 $a3, $f4 +/* 89A708 802403B8 0C00A720 */ jal atan2 +/* 89A70C 802403BC 46006386 */ mov.s $f14, $f12 +/* 89A710 802403C0 3C014270 */ lui $at, 0x4270 +/* 89A714 802403C4 44811000 */ mtc1 $at, $f2 +/* 89A718 802403C8 00000000 */ nop +/* 89A71C 802403CC 4602003C */ c.lt.s $f0, $f2 +/* 89A720 802403D0 00000000 */ nop +/* 89A724 802403D4 45000004 */ bc1f .L802403E8 +/* 89A728 802403D8 24020001 */ addiu $v0, $zero, 1 +/* 89A72C 802403DC AE020084 */ sw $v0, 0x84($s0) +/* 89A730 802403E0 080900FB */ j .L802403EC +/* 89A734 802403E4 24020002 */ addiu $v0, $zero, 2 +.L802403E8: +/* 89A738 802403E8 0000102D */ daddu $v0, $zero, $zero +.L802403EC: +/* 89A73C 802403EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 89A740 802403F0 8FB00010 */ lw $s0, 0x10($sp) +/* 89A744 802403F4 03E00008 */ jr $ra +/* 89A748 802403F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_802403FC_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_802403FC_89A350.s new file mode 100644 index 0000000000..11337ea3fd --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_802403FC_89A350.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC_89A74C +/* 89A74C 802403FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89A750 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* 89A754 80240404 0080882D */ daddu $s1, $a0, $zero +/* 89A758 80240408 AFBF001C */ sw $ra, 0x1c($sp) +/* 89A75C 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* 89A760 80240410 0C016AFA */ jal get_current_map_header +/* 89A764 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* 89A768 80240418 0220202D */ daddu $a0, $s1, $zero +/* 89A76C 8024041C 3C05FE36 */ lui $a1, 0xfe36 +/* 89A770 80240420 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 89A774 80240424 0C0B1EAF */ jal get_variable +/* 89A778 80240428 0040902D */ daddu $s2, $v0, $zero +/* 89A77C 8024042C 0220202D */ daddu $a0, $s1, $zero +/* 89A780 80240430 3C05FE36 */ lui $a1, 0xfe36 +/* 89A784 80240434 8E430014 */ lw $v1, 0x14($s2) +/* 89A788 80240438 00028100 */ sll $s0, $v0, 4 +/* 89A78C 8024043C 02031821 */ addu $v1, $s0, $v1 +/* 89A790 80240440 C4600000 */ lwc1 $f0, ($v1) +/* 89A794 80240444 4600008D */ trunc.w.s $f2, $f0 +/* 89A798 80240448 44061000 */ mfc1 $a2, $f2 +/* 89A79C 8024044C 0C0B2026 */ jal set_variable +/* 89A7A0 80240450 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 89A7A4 80240454 0220202D */ daddu $a0, $s1, $zero +/* 89A7A8 80240458 8E420014 */ lw $v0, 0x14($s2) +/* 89A7AC 8024045C 3C05FE36 */ lui $a1, 0xfe36 +/* 89A7B0 80240460 02021021 */ addu $v0, $s0, $v0 +/* 89A7B4 80240464 C4400004 */ lwc1 $f0, 4($v0) +/* 89A7B8 80240468 4600008D */ trunc.w.s $f2, $f0 +/* 89A7BC 8024046C 44061000 */ mfc1 $a2, $f2 +/* 89A7C0 80240470 0C0B2026 */ jal set_variable +/* 89A7C4 80240474 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 89A7C8 80240478 0220202D */ daddu $a0, $s1, $zero +/* 89A7CC 8024047C 8E420014 */ lw $v0, 0x14($s2) +/* 89A7D0 80240480 3C05FE36 */ lui $a1, 0xfe36 +/* 89A7D4 80240484 02021021 */ addu $v0, $s0, $v0 +/* 89A7D8 80240488 C4400008 */ lwc1 $f0, 8($v0) +/* 89A7DC 8024048C 4600008D */ trunc.w.s $f2, $f0 +/* 89A7E0 80240490 44061000 */ mfc1 $a2, $f2 +/* 89A7E4 80240494 0C0B2026 */ jal set_variable +/* 89A7E8 80240498 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 89A7EC 8024049C 0220202D */ daddu $a0, $s1, $zero +/* 89A7F0 802404A0 8E420014 */ lw $v0, 0x14($s2) +/* 89A7F4 802404A4 3C05FE36 */ lui $a1, 0xfe36 +/* 89A7F8 802404A8 02028021 */ addu $s0, $s0, $v0 +/* 89A7FC 802404AC C600000C */ lwc1 $f0, 0xc($s0) +/* 89A800 802404B0 4600008D */ trunc.w.s $f2, $f0 +/* 89A804 802404B4 44061000 */ mfc1 $a2, $f2 +/* 89A808 802404B8 0C0B2026 */ jal set_variable +/* 89A80C 802404BC 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 89A810 802404C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 89A814 802404C4 8FB20018 */ lw $s2, 0x18($sp) +/* 89A818 802404C8 8FB10014 */ lw $s1, 0x14($sp) +/* 89A81C 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* 89A820 802404D0 24020002 */ addiu $v0, $zero, 2 +/* 89A824 802404D4 03E00008 */ jr $ra +/* 89A828 802404D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_802404DC_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_802404DC_89A350.s new file mode 100644 index 0000000000..7efd49ad37 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_802404DC_89A350.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC_89A82C +/* 89A82C 802404DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 89A830 802404E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 89A834 802404E4 3C014334 */ lui $at, 0x4334 +/* 89A838 802404E8 44816000 */ mtc1 $at, $f12 +/* 89A83C 802404EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89A840 802404F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 89A844 802404F4 AFB00010 */ sw $s0, 0x10($sp) +/* 89A848 802404F8 00031080 */ sll $v0, $v1, 2 +/* 89A84C 802404FC 00431021 */ addu $v0, $v0, $v1 +/* 89A850 80240500 00021080 */ sll $v0, $v0, 2 +/* 89A854 80240504 00431023 */ subu $v0, $v0, $v1 +/* 89A858 80240508 000218C0 */ sll $v1, $v0, 3 +/* 89A85C 8024050C 00431021 */ addu $v0, $v0, $v1 +/* 89A860 80240510 000210C0 */ sll $v0, $v0, 3 +/* 89A864 80240514 3C01800B */ lui $at, 0x800b +/* 89A868 80240518 00220821 */ addu $at, $at, $v0 +/* 89A86C 8024051C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 89A870 80240520 460C0300 */ add.s $f12, $f0, $f12 +/* 89A874 80240524 0C00A6C9 */ jal clamp_angle +/* 89A878 80240528 0080802D */ daddu $s0, $a0, $zero +/* 89A87C 8024052C 4600008D */ trunc.w.s $f2, $f0 +/* 89A880 80240530 E6020084 */ swc1 $f2, 0x84($s0) +/* 89A884 80240534 8FBF0014 */ lw $ra, 0x14($sp) +/* 89A888 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* 89A88C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 89A890 80240540 03E00008 */ jr $ra +/* 89A894 80240544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240548_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240548_89A350.s new file mode 100644 index 0000000000..1b5f9b2889 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240548_89A350.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240548_89A898 +/* 89A898 80240548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 89A89C 8024054C AFB00018 */ sw $s0, 0x18($sp) +/* 89A8A0 80240550 0080802D */ daddu $s0, $a0, $zero +/* 89A8A4 80240554 AFBF001C */ sw $ra, 0x1c($sp) +/* 89A8A8 80240558 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 89A8AC 8024055C 8E02000C */ lw $v0, 0xc($s0) +/* 89A8B0 80240560 0C0B210B */ jal get_float_variable +/* 89A8B4 80240564 8C450000 */ lw $a1, ($v0) +/* 89A8B8 80240568 27A40010 */ addiu $a0, $sp, 0x10 +/* 89A8BC 8024056C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 89A8C0 80240570 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 89A8C4 80240574 44060000 */ mfc1 $a2, $f0 +/* 89A8C8 80240578 C4400028 */ lwc1 $f0, 0x28($v0) +/* 89A8CC 8024057C C4420030 */ lwc1 $f2, 0x30($v0) +/* 89A8D0 80240580 E7A00010 */ swc1 $f0, 0x10($sp) +/* 89A8D4 80240584 E7A20014 */ swc1 $f2, 0x14($sp) +/* 89A8D8 80240588 8C470080 */ lw $a3, 0x80($v0) +/* 89A8DC 8024058C C454002C */ lwc1 $f20, 0x2c($v0) +/* 89A8E0 80240590 0C00A7E7 */ jal add_vec2D_polar +/* 89A8E4 80240594 27A50014 */ addiu $a1, $sp, 0x14 +/* 89A8E8 80240598 0200202D */ daddu $a0, $s0, $zero +/* 89A8EC 8024059C 3C05FE36 */ lui $a1, 0xfe36 +/* 89A8F0 802405A0 8FA60010 */ lw $a2, 0x10($sp) +/* 89A8F4 802405A4 0C0B2190 */ jal set_float_variable +/* 89A8F8 802405A8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 89A8FC 802405AC 0200202D */ daddu $a0, $s0, $zero +/* 89A900 802405B0 3C05FE36 */ lui $a1, 0xfe36 +/* 89A904 802405B4 4406A000 */ mfc1 $a2, $f20 +/* 89A908 802405B8 0C0B2190 */ jal set_float_variable +/* 89A90C 802405BC 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 89A910 802405C0 0200202D */ daddu $a0, $s0, $zero +/* 89A914 802405C4 3C05FE36 */ lui $a1, 0xfe36 +/* 89A918 802405C8 8FA60014 */ lw $a2, 0x14($sp) +/* 89A91C 802405CC 0C0B2190 */ jal set_float_variable +/* 89A920 802405D0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 89A924 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 89A928 802405D8 8FB00018 */ lw $s0, 0x18($sp) +/* 89A92C 802405DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 89A930 802405E0 24020002 */ addiu $v0, $zero, 2 +/* 89A934 802405E4 03E00008 */ jr $ra +/* 89A938 802405E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_802405EC_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_802405EC_89A350.s new file mode 100644 index 0000000000..1f48f6d7da --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_802405EC_89A350.s @@ -0,0 +1,235 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_89A93C +/* 89A93C 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 89A940 802405F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 89A944 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 89A948 802405F8 AFBF0020 */ sw $ra, 0x20($sp) +/* 89A94C 802405FC AFB20018 */ sw $s2, 0x18($sp) +/* 89A950 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 89A954 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* 89A958 80240608 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 89A95C 8024060C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 89A960 80240610 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 89A964 80240614 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 89A968 80240618 8E62000C */ lw $v0, 0xc($s3) +/* 89A96C 8024061C 0C0B1EAF */ jal get_variable +/* 89A970 80240620 8C450000 */ lw $a1, ($v0) +/* 89A974 80240624 2404FFFC */ addiu $a0, $zero, -4 +/* 89A978 80240628 0C00EABB */ jal get_npc_unsafe +/* 89A97C 8024062C 0040802D */ daddu $s0, $v0, $zero +/* 89A980 80240630 0200202D */ daddu $a0, $s0, $zero +/* 89A984 80240634 0C046C04 */ jal get_model_list_index_from_tree_index +/* 89A988 80240638 0040802D */ daddu $s0, $v0, $zero +/* 89A98C 8024063C 0C046B4C */ jal get_model_from_list_index +/* 89A990 80240640 0040202D */ daddu $a0, $v0, $zero +/* 89A994 80240644 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 89A998 80240648 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 89A99C 8024064C 0040902D */ daddu $s2, $v0, $zero +/* 89A9A0 80240650 AE60008C */ sw $zero, 0x8c($s3) +/* 89A9A4 80240654 C4620028 */ lwc1 $f2, 0x28($v1) +/* 89A9A8 80240658 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89A9AC 8024065C 46001081 */ sub.s $f2, $f2, $f0 +/* 89A9B0 80240660 46021182 */ mul.s $f6, $f2, $f2 +/* 89A9B4 80240664 00000000 */ nop +/* 89A9B8 80240668 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89A9BC 8024066C C4620030 */ lwc1 $f2, 0x30($v1) +/* 89A9C0 80240670 46001081 */ sub.s $f2, $f2, $f0 +/* 89A9C4 80240674 46021102 */ mul.s $f4, $f2, $f2 +/* 89A9C8 80240678 00000000 */ nop +/* 89A9CC 8024067C 846200B0 */ lh $v0, 0xb0($v1) +/* 89A9D0 80240680 C462002C */ lwc1 $f2, 0x2c($v1) +/* 89A9D4 80240684 44820000 */ mtc1 $v0, $f0 +/* 89A9D8 80240688 00000000 */ nop +/* 89A9DC 8024068C 46800020 */ cvt.s.w $f0, $f0 +/* 89A9E0 80240690 46001080 */ add.s $f2, $f2, $f0 +/* 89A9E4 80240694 3C013FC0 */ lui $at, 0x3fc0 +/* 89A9E8 80240698 44810000 */ mtc1 $at, $f0 +/* 89A9EC 8024069C 00000000 */ nop +/* 89A9F0 802406A0 46001081 */ sub.s $f2, $f2, $f0 +/* 89A9F4 802406A4 46043300 */ add.s $f12, $f6, $f4 +/* 89A9F8 802406A8 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89A9FC 802406AC 46001501 */ sub.s $f20, $f2, $f0 +/* 89AA00 802406B0 46006084 */ sqrt.s $f2, $f12 +/* 89AA04 802406B4 46021032 */ c.eq.s $f2, $f2 +/* 89AA08 802406B8 00000000 */ nop +/* 89AA0C 802406BC 45010004 */ bc1t .L802406D0 +/* 89AA10 802406C0 0060882D */ daddu $s1, $v1, $zero +/* 89AA14 802406C4 0C0187BC */ jal sqrtf +/* 89AA18 802406C8 00000000 */ nop +/* 89AA1C 802406CC 46000086 */ mov.s $f2, $f0 +.L802406D0: +/* 89AA20 802406D0 44800000 */ mtc1 $zero, $f0 +/* 89AA24 802406D4 00000000 */ nop +/* 89AA28 802406D8 4614003C */ c.lt.s $f0, $f20 +/* 89AA2C 802406DC 00000000 */ nop +/* 89AA30 802406E0 45000016 */ bc1f .L8024073C +/* 89AA34 802406E4 46001106 */ mov.s $f4, $f2 +/* 89AA38 802406E8 862200B0 */ lh $v0, 0xb0($s1) +/* 89AA3C 802406EC 44820000 */ mtc1 $v0, $f0 +/* 89AA40 802406F0 00000000 */ nop +/* 89AA44 802406F4 46800020 */ cvt.s.w $f0, $f0 +/* 89AA48 802406F8 4600A03C */ c.lt.s $f20, $f0 +/* 89AA4C 802406FC 00000000 */ nop +/* 89AA50 80240700 4500000E */ bc1f .L8024073C +/* 89AA54 80240704 00000000 */ nop +/* 89AA58 80240708 862200B2 */ lh $v0, 0xb2($s1) +/* 89AA5C 8024070C 3C013F00 */ lui $at, 0x3f00 +/* 89AA60 80240710 44811000 */ mtc1 $at, $f2 +/* 89AA64 80240714 44820000 */ mtc1 $v0, $f0 +/* 89AA68 80240718 00000000 */ nop +/* 89AA6C 8024071C 46800020 */ cvt.s.w $f0, $f0 +/* 89AA70 80240720 46020002 */ mul.s $f0, $f0, $f2 +/* 89AA74 80240724 00000000 */ nop +/* 89AA78 80240728 4600203C */ c.lt.s $f4, $f0 +/* 89AA7C 8024072C 00000000 */ nop +/* 89AA80 80240730 45000002 */ bc1f .L8024073C +/* 89AA84 80240734 24020001 */ addiu $v0, $zero, 1 +/* 89AA88 80240738 AE62008C */ sw $v0, 0x8c($s3) +.L8024073C: +/* 89AA8C 8024073C C6020038 */ lwc1 $f2, 0x38($s0) +/* 89AA90 80240740 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89AA94 80240744 46001081 */ sub.s $f2, $f2, $f0 +/* 89AA98 80240748 46021182 */ mul.s $f6, $f2, $f2 +/* 89AA9C 8024074C 00000000 */ nop +/* 89AAA0 80240750 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89AAA4 80240754 C6020040 */ lwc1 $f2, 0x40($s0) +/* 89AAA8 80240758 46001081 */ sub.s $f2, $f2, $f0 +/* 89AAAC 8024075C 46021102 */ mul.s $f4, $f2, $f2 +/* 89AAB0 80240760 00000000 */ nop +/* 89AAB4 80240764 860200A8 */ lh $v0, 0xa8($s0) +/* 89AAB8 80240768 C602003C */ lwc1 $f2, 0x3c($s0) +/* 89AABC 8024076C 44820000 */ mtc1 $v0, $f0 +/* 89AAC0 80240770 00000000 */ nop +/* 89AAC4 80240774 46800020 */ cvt.s.w $f0, $f0 +/* 89AAC8 80240778 46001080 */ add.s $f2, $f2, $f0 +/* 89AACC 8024077C 3C013FC0 */ lui $at, 0x3fc0 +/* 89AAD0 80240780 44810000 */ mtc1 $at, $f0 +/* 89AAD4 80240784 00000000 */ nop +/* 89AAD8 80240788 46001081 */ sub.s $f2, $f2, $f0 +/* 89AADC 8024078C 46043300 */ add.s $f12, $f6, $f4 +/* 89AAE0 80240790 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89AAE4 80240794 46001501 */ sub.s $f20, $f2, $f0 +/* 89AAE8 80240798 46006084 */ sqrt.s $f2, $f12 +/* 89AAEC 8024079C 46021032 */ c.eq.s $f2, $f2 +/* 89AAF0 802407A0 00000000 */ nop +/* 89AAF4 802407A4 45010004 */ bc1t .L802407B8 +/* 89AAF8 802407A8 00000000 */ nop +/* 89AAFC 802407AC 0C0187BC */ jal sqrtf +/* 89AB00 802407B0 00000000 */ nop +/* 89AB04 802407B4 46000086 */ mov.s $f2, $f0 +.L802407B8: +/* 89AB08 802407B8 44800000 */ mtc1 $zero, $f0 +/* 89AB0C 802407BC 00000000 */ nop +/* 89AB10 802407C0 4614003C */ c.lt.s $f0, $f20 +/* 89AB14 802407C4 00000000 */ nop +/* 89AB18 802407C8 45000016 */ bc1f .L80240824 +/* 89AB1C 802407CC 46001106 */ mov.s $f4, $f2 +/* 89AB20 802407D0 860200A8 */ lh $v0, 0xa8($s0) +/* 89AB24 802407D4 44820000 */ mtc1 $v0, $f0 +/* 89AB28 802407D8 00000000 */ nop +/* 89AB2C 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* 89AB30 802407E0 4600A03C */ c.lt.s $f20, $f0 +/* 89AB34 802407E4 00000000 */ nop +/* 89AB38 802407E8 4500000F */ bc1f .L80240828 +/* 89AB3C 802407EC 0000882D */ daddu $s1, $zero, $zero +/* 89AB40 802407F0 860200A6 */ lh $v0, 0xa6($s0) +/* 89AB44 802407F4 3C013F00 */ lui $at, 0x3f00 +/* 89AB48 802407F8 44811000 */ mtc1 $at, $f2 +/* 89AB4C 802407FC 44820000 */ mtc1 $v0, $f0 +/* 89AB50 80240800 00000000 */ nop +/* 89AB54 80240804 46800020 */ cvt.s.w $f0, $f0 +/* 89AB58 80240808 46020002 */ mul.s $f0, $f0, $f2 +/* 89AB5C 8024080C 00000000 */ nop +/* 89AB60 80240810 4600203C */ c.lt.s $f4, $f0 +/* 89AB64 80240814 00000000 */ nop +/* 89AB68 80240818 45000003 */ bc1f .L80240828 +/* 89AB6C 8024081C 24020001 */ addiu $v0, $zero, 1 +/* 89AB70 80240820 AE62008C */ sw $v0, 0x8c($s3) +.L80240824: +/* 89AB74 80240824 0000882D */ daddu $s1, $zero, $zero +.L80240828: +/* 89AB78 80240828 3C013FC0 */ lui $at, 0x3fc0 +/* 89AB7C 8024082C 4481D000 */ mtc1 $at, $f26 +/* 89AB80 80240830 4480C000 */ mtc1 $zero, $f24 +/* 89AB84 80240834 3C013F00 */ lui $at, 0x3f00 +/* 89AB88 80240838 4481B000 */ mtc1 $at, $f22 +.L8024083C: +/* 89AB8C 8024083C 0C00EAD2 */ jal get_npc_safe +/* 89AB90 80240840 0220202D */ daddu $a0, $s1, $zero +/* 89AB94 80240844 0040802D */ daddu $s0, $v0, $zero +/* 89AB98 80240848 52000035 */ beql $s0, $zero, .L80240920 +/* 89AB9C 8024084C 26310001 */ addiu $s1, $s1, 1 +/* 89ABA0 80240850 C6020038 */ lwc1 $f2, 0x38($s0) +/* 89ABA4 80240854 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89ABA8 80240858 46001081 */ sub.s $f2, $f2, $f0 +/* 89ABAC 8024085C 46021182 */ mul.s $f6, $f2, $f2 +/* 89ABB0 80240860 00000000 */ nop +/* 89ABB4 80240864 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89ABB8 80240868 C6020040 */ lwc1 $f2, 0x40($s0) +/* 89ABBC 8024086C 46001081 */ sub.s $f2, $f2, $f0 +/* 89ABC0 80240870 46021102 */ mul.s $f4, $f2, $f2 +/* 89ABC4 80240874 00000000 */ nop +/* 89ABC8 80240878 860200A8 */ lh $v0, 0xa8($s0) +/* 89ABCC 8024087C C602003C */ lwc1 $f2, 0x3c($s0) +/* 89ABD0 80240880 44820000 */ mtc1 $v0, $f0 +/* 89ABD4 80240884 00000000 */ nop +/* 89ABD8 80240888 46800020 */ cvt.s.w $f0, $f0 +/* 89ABDC 8024088C 46001080 */ add.s $f2, $f2, $f0 +/* 89ABE0 80240890 461A1081 */ sub.s $f2, $f2, $f26 +/* 89ABE4 80240894 46043300 */ add.s $f12, $f6, $f4 +/* 89ABE8 80240898 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89ABEC 8024089C 46001501 */ sub.s $f20, $f2, $f0 +/* 89ABF0 802408A0 46006004 */ sqrt.s $f0, $f12 +/* 89ABF4 802408A4 46000032 */ c.eq.s $f0, $f0 +/* 89ABF8 802408A8 00000000 */ nop +/* 89ABFC 802408AC 45010003 */ bc1t .L802408BC +/* 89AC00 802408B0 00000000 */ nop +/* 89AC04 802408B4 0C0187BC */ jal sqrtf +/* 89AC08 802408B8 00000000 */ nop +.L802408BC: +/* 89AC0C 802408BC 4614C03C */ c.lt.s $f24, $f20 +/* 89AC10 802408C0 00000000 */ nop +/* 89AC14 802408C4 45000015 */ bc1f .L8024091C +/* 89AC18 802408C8 46000106 */ mov.s $f4, $f0 +/* 89AC1C 802408CC 860200A8 */ lh $v0, 0xa8($s0) +/* 89AC20 802408D0 44820000 */ mtc1 $v0, $f0 +/* 89AC24 802408D4 00000000 */ nop +/* 89AC28 802408D8 46800020 */ cvt.s.w $f0, $f0 +/* 89AC2C 802408DC 4600A03C */ c.lt.s $f20, $f0 +/* 89AC30 802408E0 00000000 */ nop +/* 89AC34 802408E4 4500000E */ bc1f .L80240920 +/* 89AC38 802408E8 26310001 */ addiu $s1, $s1, 1 +/* 89AC3C 802408EC 860200A6 */ lh $v0, 0xa6($s0) +/* 89AC40 802408F0 44820000 */ mtc1 $v0, $f0 +/* 89AC44 802408F4 00000000 */ nop +/* 89AC48 802408F8 46800020 */ cvt.s.w $f0, $f0 +/* 89AC4C 802408FC 46160002 */ mul.s $f0, $f0, $f22 +/* 89AC50 80240900 00000000 */ nop +/* 89AC54 80240904 4600203C */ c.lt.s $f4, $f0 +/* 89AC58 80240908 00000000 */ nop +/* 89AC5C 8024090C 45000004 */ bc1f .L80240920 +/* 89AC60 80240910 24020001 */ addiu $v0, $zero, 1 +/* 89AC64 80240914 0809024B */ j .L8024092C +/* 89AC68 80240918 AE62008C */ sw $v0, 0x8c($s3) +.L8024091C: +/* 89AC6C 8024091C 26310001 */ addiu $s1, $s1, 1 +.L80240920: +/* 89AC70 80240920 2A220040 */ slti $v0, $s1, 0x40 +/* 89AC74 80240924 1440FFC5 */ bnez $v0, .L8024083C +/* 89AC78 80240928 00000000 */ nop +.L8024092C: +/* 89AC7C 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* 89AC80 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* 89AC84 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* 89AC88 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* 89AC8C 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* 89AC90 80240940 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 89AC94 80240944 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 89AC98 80240948 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 89AC9C 8024094C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 89ACA0 80240950 24020002 */ addiu $v0, $zero, 2 +/* 89ACA4 80240954 03E00008 */ jr $ra +/* 89ACA8 80240958 27BD0048 */ addiu $sp, $sp, 0x48 +/* 89ACAC 8024095C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240960_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240960_89A350.s new file mode 100644 index 0000000000..6499823782 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240960_89A350.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_89ACB0 +/* 89ACB0 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89ACB4 80240964 AFB20018 */ sw $s2, 0x18($sp) +/* 89ACB8 80240968 0080902D */ daddu $s2, $a0, $zero +/* 89ACBC 8024096C AFBF001C */ sw $ra, 0x1c($sp) +/* 89ACC0 80240970 AFB10014 */ sw $s1, 0x14($sp) +/* 89ACC4 80240974 AFB00010 */ sw $s0, 0x10($sp) +/* 89ACC8 80240978 8E510148 */ lw $s1, 0x148($s2) +/* 89ACCC 8024097C 0C00EABB */ jal get_npc_unsafe +/* 89ACD0 80240980 86240008 */ lh $a0, 8($s1) +/* 89ACD4 80240984 0040802D */ daddu $s0, $v0, $zero +/* 89ACD8 80240988 8E2300CC */ lw $v1, 0xcc($s1) +/* 89ACDC 8024098C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 89ACE0 80240990 8C630020 */ lw $v1, 0x20($v1) +/* 89ACE4 80240994 AE030028 */ sw $v1, 0x28($s0) +/* 89ACE8 80240998 96220076 */ lhu $v0, 0x76($s1) +/* 89ACEC 8024099C A602008E */ sh $v0, 0x8e($s0) +/* 89ACF0 802409A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 89ACF4 802409A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 89ACF8 802409A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 89ACFC 802409AC 8C460028 */ lw $a2, 0x28($v0) +/* 89AD00 802409B0 0C00A720 */ jal atan2 +/* 89AD04 802409B4 8C470030 */ lw $a3, 0x30($v0) +/* 89AD08 802409B8 2402000D */ addiu $v0, $zero, 0xd +/* 89AD0C 802409BC E600000C */ swc1 $f0, 0xc($s0) +/* 89AD10 802409C0 AE420070 */ sw $v0, 0x70($s2) +/* 89AD14 802409C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 89AD18 802409C8 8FB20018 */ lw $s2, 0x18($sp) +/* 89AD1C 802409CC 8FB10014 */ lw $s1, 0x14($sp) +/* 89AD20 802409D0 8FB00010 */ lw $s0, 0x10($sp) +/* 89AD24 802409D4 03E00008 */ jr $ra +/* 89AD28 802409D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_802409DC_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_802409DC_89A350.s new file mode 100644 index 0000000000..7a82126f33 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_802409DC_89A350.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409DC_89AD2C +/* 89AD2C 802409DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 89AD30 802409E0 AFB3001C */ sw $s3, 0x1c($sp) +/* 89AD34 802409E4 0080982D */ daddu $s3, $a0, $zero +/* 89AD38 802409E8 AFBF0020 */ sw $ra, 0x20($sp) +/* 89AD3C 802409EC AFB20018 */ sw $s2, 0x18($sp) +/* 89AD40 802409F0 AFB10014 */ sw $s1, 0x14($sp) +/* 89AD44 802409F4 AFB00010 */ sw $s0, 0x10($sp) +/* 89AD48 802409F8 8E710148 */ lw $s1, 0x148($s3) +/* 89AD4C 802409FC 86240008 */ lh $a0, 8($s1) +/* 89AD50 80240A00 0C00EABB */ jal get_npc_unsafe +/* 89AD54 80240A04 00A0902D */ daddu $s2, $a1, $zero +/* 89AD58 80240A08 0040802D */ daddu $s0, $v0, $zero +/* 89AD5C 80240A0C 8602008E */ lh $v0, 0x8e($s0) +/* 89AD60 80240A10 9603008E */ lhu $v1, 0x8e($s0) +/* 89AD64 80240A14 18400005 */ blez $v0, .L80240A2C +/* 89AD68 80240A18 2462FFFF */ addiu $v0, $v1, -1 +/* 89AD6C 80240A1C A602008E */ sh $v0, 0x8e($s0) +/* 89AD70 80240A20 00021400 */ sll $v0, $v0, 0x10 +/* 89AD74 80240A24 1C400033 */ bgtz $v0, .L80240AF4 +/* 89AD78 80240A28 00000000 */ nop +.L80240A2C: +/* 89AD7C 80240A2C 8602008C */ lh $v0, 0x8c($s0) +/* 89AD80 80240A30 14400030 */ bnez $v0, .L80240AF4 +/* 89AD84 80240A34 00000000 */ nop +/* 89AD88 80240A38 8E2200CC */ lw $v0, 0xcc($s1) +/* 89AD8C 80240A3C 8C420024 */ lw $v0, 0x24($v0) +/* 89AD90 80240A40 AE020028 */ sw $v0, 0x28($s0) +/* 89AD94 80240A44 C6400018 */ lwc1 $f0, 0x18($s2) +/* 89AD98 80240A48 E6000018 */ swc1 $f0, 0x18($s0) +/* 89AD9C 80240A4C 8E230088 */ lw $v1, 0x88($s1) +/* 89ADA0 80240A50 24020005 */ addiu $v0, $zero, 5 +/* 89ADA4 80240A54 10620005 */ beq $v1, $v0, .L80240A6C +/* 89ADA8 80240A58 00000000 */ nop +/* 89ADAC 80240A5C 10600003 */ beqz $v1, .L80240A6C +/* 89ADB0 80240A60 24020001 */ addiu $v0, $zero, 1 +/* 89ADB4 80240A64 14620006 */ bne $v1, $v0, .L80240A80 +/* 89ADB8 80240A68 00000000 */ nop +.L80240A6C: +/* 89ADBC 80240A6C 8E220084 */ lw $v0, 0x84($s1) +/* 89ADC0 80240A70 00021FC2 */ srl $v1, $v0, 0x1f +/* 89ADC4 80240A74 00431021 */ addu $v0, $v0, $v1 +/* 89ADC8 80240A78 00021043 */ sra $v0, $v0, 1 +/* 89ADCC 80240A7C A60200A8 */ sh $v0, 0xa8($s0) +.L80240A80: +/* 89ADD0 80240A80 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 89ADD4 80240A84 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 89ADD8 80240A88 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 89ADDC 80240A8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 89ADE0 80240A90 8C460028 */ lw $a2, 0x28($v0) +/* 89ADE4 80240A94 0C00A7B5 */ jal dist2D +/* 89ADE8 80240A98 8C470030 */ lw $a3, 0x30($v0) +/* 89ADEC 80240A9C C6020018 */ lwc1 $f2, 0x18($s0) +/* 89ADF0 80240AA0 46020003 */ div.s $f0, $f0, $f2 +/* 89ADF4 80240AA4 3C018024 */ lui $at, 0x8024 +/* 89ADF8 80240AA8 D42233F0 */ ldc1 $f2, 0x33f0($at) +/* 89ADFC 80240AAC 46000021 */ cvt.d.s $f0, $f0 +/* 89AE00 80240AB0 46220000 */ add.d $f0, $f0, $f2 +/* 89AE04 80240AB4 4620010D */ trunc.w.d $f4, $f0 +/* 89AE08 80240AB8 44022000 */ mfc1 $v0, $f4 +/* 89AE0C 80240ABC 00000000 */ nop +/* 89AE10 80240AC0 A602008E */ sh $v0, 0x8e($s0) +/* 89AE14 80240AC4 00021400 */ sll $v0, $v0, 0x10 +/* 89AE18 80240AC8 8E230078 */ lw $v1, 0x78($s1) +/* 89AE1C 80240ACC 00021403 */ sra $v0, $v0, 0x10 +/* 89AE20 80240AD0 0043102A */ slt $v0, $v0, $v1 +/* 89AE24 80240AD4 10400003 */ beqz $v0, .L80240AE4 +/* 89AE28 80240AD8 00000000 */ nop +/* 89AE2C 80240ADC 9622007A */ lhu $v0, 0x7a($s1) +/* 89AE30 80240AE0 A602008E */ sh $v0, 0x8e($s0) +.L80240AE4: +/* 89AE34 80240AE4 8602008E */ lh $v0, 0x8e($s0) +/* 89AE38 80240AE8 AE22007C */ sw $v0, 0x7c($s1) +/* 89AE3C 80240AEC 2402000E */ addiu $v0, $zero, 0xe +/* 89AE40 80240AF0 AE620070 */ sw $v0, 0x70($s3) +.L80240AF4: +/* 89AE44 80240AF4 8FBF0020 */ lw $ra, 0x20($sp) +/* 89AE48 80240AF8 8FB3001C */ lw $s3, 0x1c($sp) +/* 89AE4C 80240AFC 8FB20018 */ lw $s2, 0x18($sp) +/* 89AE50 80240B00 8FB10014 */ lw $s1, 0x14($sp) +/* 89AE54 80240B04 8FB00010 */ lw $s0, 0x10($sp) +/* 89AE58 80240B08 03E00008 */ jr $ra +/* 89AE5C 80240B0C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240B10.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240B10.s new file mode 100644 index 0000000000..072890f304 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240B10.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B10 +/* 89AE60 80240B10 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 89AE64 80240B14 AFB3003C */ sw $s3, 0x3c($sp) +/* 89AE68 80240B18 0080982D */ daddu $s3, $a0, $zero +/* 89AE6C 80240B1C AFBF0040 */ sw $ra, 0x40($sp) +/* 89AE70 80240B20 AFB20038 */ sw $s2, 0x38($sp) +/* 89AE74 80240B24 AFB10034 */ sw $s1, 0x34($sp) +/* 89AE78 80240B28 AFB00030 */ sw $s0, 0x30($sp) +/* 89AE7C 80240B2C 8E710148 */ lw $s1, 0x148($s3) +/* 89AE80 80240B30 0C00EABB */ jal get_npc_unsafe +/* 89AE84 80240B34 86240008 */ lh $a0, 8($s1) +/* 89AE88 80240B38 0040802D */ daddu $s0, $v0, $zero +/* 89AE8C 80240B3C 8E22007C */ lw $v0, 0x7c($s1) +/* 89AE90 80240B40 8603008E */ lh $v1, 0x8e($s0) +/* 89AE94 80240B44 2442FFFF */ addiu $v0, $v0, -1 +/* 89AE98 80240B48 14620012 */ bne $v1, $v0, .L80240B94 +/* 89AE9C 80240B4C 00000000 */ nop +/* 89AEA0 80240B50 C6000038 */ lwc1 $f0, 0x38($s0) +/* 89AEA4 80240B54 4600020D */ trunc.w.s $f8, $f0 +/* 89AEA8 80240B58 44024000 */ mfc1 $v0, $f8 +/* 89AEAC 80240B5C 00000000 */ nop +/* 89AEB0 80240B60 A6220010 */ sh $v0, 0x10($s1) +/* 89AEB4 80240B64 C600003C */ lwc1 $f0, 0x3c($s0) +/* 89AEB8 80240B68 4600020D */ trunc.w.s $f8, $f0 +/* 89AEBC 80240B6C 44024000 */ mfc1 $v0, $f8 +/* 89AEC0 80240B70 00000000 */ nop +/* 89AEC4 80240B74 A6220012 */ sh $v0, 0x12($s1) +/* 89AEC8 80240B78 C6000040 */ lwc1 $f0, 0x40($s0) +/* 89AECC 80240B7C 24020001 */ addiu $v0, $zero, 1 +/* 89AED0 80240B80 A2220007 */ sb $v0, 7($s1) +/* 89AED4 80240B84 4600020D */ trunc.w.s $f8, $f0 +/* 89AED8 80240B88 44024000 */ mfc1 $v0, $f8 +/* 89AEDC 80240B8C 00000000 */ nop +/* 89AEE0 80240B90 A6220014 */ sh $v0, 0x14($s1) +.L80240B94: +/* 89AEE4 80240B94 C6000038 */ lwc1 $f0, 0x38($s0) +/* 89AEE8 80240B98 C602003C */ lwc1 $f2, 0x3c($s0) +/* 89AEEC 80240B9C C6040040 */ lwc1 $f4, 0x40($s0) +/* 89AEF0 80240BA0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 89AEF4 80240BA4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 89AEF8 80240BA8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 89AEFC 80240BAC E7A40028 */ swc1 $f4, 0x28($sp) +/* 89AF00 80240BB0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 89AF04 80240BB4 C600000C */ lwc1 $f0, 0xc($s0) +/* 89AF08 80240BB8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 89AF0C 80240BBC 860200A8 */ lh $v0, 0xa8($s0) +/* 89AF10 80240BC0 27A50020 */ addiu $a1, $sp, 0x20 +/* 89AF14 80240BC4 44820000 */ mtc1 $v0, $f0 +/* 89AF18 80240BC8 00000000 */ nop +/* 89AF1C 80240BCC 46800020 */ cvt.s.w $f0, $f0 +/* 89AF20 80240BD0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 89AF24 80240BD4 860200A6 */ lh $v0, 0xa6($s0) +/* 89AF28 80240BD8 27A60024 */ addiu $a2, $sp, 0x24 +/* 89AF2C 80240BDC 44820000 */ mtc1 $v0, $f0 +/* 89AF30 80240BE0 00000000 */ nop +/* 89AF34 80240BE4 46800020 */ cvt.s.w $f0, $f0 +/* 89AF38 80240BE8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 89AF3C 80240BEC 8E040080 */ lw $a0, 0x80($s0) +/* 89AF40 80240BF0 0C037711 */ jal func_800DDC44 +/* 89AF44 80240BF4 27A70028 */ addiu $a3, $sp, 0x28 +/* 89AF48 80240BF8 0040902D */ daddu $s2, $v0, $zero +/* 89AF4C 80240BFC 16400005 */ bnez $s2, .L80240C14 +/* 89AF50 80240C00 00000000 */ nop +/* 89AF54 80240C04 8E050018 */ lw $a1, 0x18($s0) +/* 89AF58 80240C08 8E06000C */ lw $a2, 0xc($s0) +/* 89AF5C 80240C0C 0C00EA95 */ jal npc_move_heading +/* 89AF60 80240C10 0200202D */ daddu $a0, $s0, $zero +.L80240C14: +/* 89AF64 80240C14 8602008E */ lh $v0, 0x8e($s0) +/* 89AF68 80240C18 9603008E */ lhu $v1, 0x8e($s0) +/* 89AF6C 80240C1C 18400007 */ blez $v0, .L80240C3C +/* 89AF70 80240C20 2462FFFF */ addiu $v0, $v1, -1 +/* 89AF74 80240C24 A602008E */ sh $v0, 0x8e($s0) +/* 89AF78 80240C28 00021400 */ sll $v0, $v0, 0x10 +/* 89AF7C 80240C2C 18400003 */ blez $v0, .L80240C3C +/* 89AF80 80240C30 00000000 */ nop +/* 89AF84 80240C34 12400008 */ beqz $s2, .L80240C58 +/* 89AF88 80240C38 00000000 */ nop +.L80240C3C: +/* 89AF8C 80240C3C 8E2200CC */ lw $v0, 0xcc($s1) +/* 89AF90 80240C40 A2200007 */ sb $zero, 7($s1) +/* 89AF94 80240C44 8C420028 */ lw $v0, 0x28($v0) +/* 89AF98 80240C48 A600008E */ sh $zero, 0x8e($s0) +/* 89AF9C 80240C4C AE020028 */ sw $v0, 0x28($s0) +/* 89AFA0 80240C50 2402000F */ addiu $v0, $zero, 0xf +/* 89AFA4 80240C54 AE620070 */ sw $v0, 0x70($s3) +.L80240C58: +/* 89AFA8 80240C58 8FBF0040 */ lw $ra, 0x40($sp) +/* 89AFAC 80240C5C 8FB3003C */ lw $s3, 0x3c($sp) +/* 89AFB0 80240C60 8FB20038 */ lw $s2, 0x38($sp) +/* 89AFB4 80240C64 8FB10034 */ lw $s1, 0x34($sp) +/* 89AFB8 80240C68 8FB00030 */ lw $s0, 0x30($sp) +/* 89AFBC 80240C6C 03E00008 */ jr $ra +/* 89AFC0 80240C70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240C74_89A350.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240C74_89A350.s new file mode 100644 index 0000000000..fa7e8fb3f9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240C74_89A350.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74_89AFC4 +/* 89AFC4 80240C74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89AFC8 80240C78 AFB10014 */ sw $s1, 0x14($sp) +/* 89AFCC 80240C7C 0080882D */ daddu $s1, $a0, $zero +/* 89AFD0 80240C80 AFBF0018 */ sw $ra, 0x18($sp) +/* 89AFD4 80240C84 AFB00010 */ sw $s0, 0x10($sp) +/* 89AFD8 80240C88 8E300148 */ lw $s0, 0x148($s1) +/* 89AFDC 80240C8C 0C00EABB */ jal get_npc_unsafe +/* 89AFE0 80240C90 86040008 */ lh $a0, 8($s0) +/* 89AFE4 80240C94 0040202D */ daddu $a0, $v0, $zero +/* 89AFE8 80240C98 9482008E */ lhu $v0, 0x8e($a0) +/* 89AFEC 80240C9C 24030003 */ addiu $v1, $zero, 3 +/* 89AFF0 80240CA0 24420001 */ addiu $v0, $v0, 1 +/* 89AFF4 80240CA4 A482008E */ sh $v0, 0x8e($a0) +/* 89AFF8 80240CA8 00021400 */ sll $v0, $v0, 0x10 +/* 89AFFC 80240CAC 00021403 */ sra $v0, $v0, 0x10 +/* 89B000 80240CB0 14430003 */ bne $v0, $v1, .L80240CC0 +/* 89B004 80240CB4 00000000 */ nop +/* 89B008 80240CB8 96020086 */ lhu $v0, 0x86($s0) +/* 89B00C 80240CBC A48200A8 */ sh $v0, 0xa8($a0) +.L80240CC0: +/* 89B010 80240CC0 8482008E */ lh $v0, 0x8e($a0) +/* 89B014 80240CC4 8E030080 */ lw $v1, 0x80($s0) +/* 89B018 80240CC8 0043102A */ slt $v0, $v0, $v1 +/* 89B01C 80240CCC 14400004 */ bnez $v0, .L80240CE0 +/* 89B020 80240CD0 00000000 */ nop +/* 89B024 80240CD4 96020086 */ lhu $v0, 0x86($s0) +/* 89B028 80240CD8 A48200A8 */ sh $v0, 0xa8($a0) +/* 89B02C 80240CDC AE200070 */ sw $zero, 0x70($s1) +.L80240CE0: +/* 89B030 80240CE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 89B034 80240CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 89B038 80240CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 89B03C 80240CEC 03E00008 */ jr $ra +/* 89B040 80240CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_20/func_80240CF4.s b/asm/nonmatchings/world/area_tik/tik_20/func_80240CF4.s new file mode 100644 index 0000000000..7a9e24923a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_20/func_80240CF4.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF4 +/* 89B044 80240CF4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 89B048 80240CF8 AFB3005C */ sw $s3, 0x5c($sp) +/* 89B04C 80240CFC 0080982D */ daddu $s3, $a0, $zero +/* 89B050 80240D00 AFBF0068 */ sw $ra, 0x68($sp) +/* 89B054 80240D04 AFB50064 */ sw $s5, 0x64($sp) +/* 89B058 80240D08 AFB40060 */ sw $s4, 0x60($sp) +/* 89B05C 80240D0C AFB20058 */ sw $s2, 0x58($sp) +/* 89B060 80240D10 AFB10054 */ sw $s1, 0x54($sp) +/* 89B064 80240D14 AFB00050 */ sw $s0, 0x50($sp) +/* 89B068 80240D18 8E710148 */ lw $s1, 0x148($s3) +/* 89B06C 80240D1C 86240008 */ lh $a0, 8($s1) +/* 89B070 80240D20 0C00EABB */ jal get_npc_unsafe +/* 89B074 80240D24 00A0802D */ daddu $s0, $a1, $zero +/* 89B078 80240D28 8E63000C */ lw $v1, 0xc($s3) +/* 89B07C 80240D2C 0260202D */ daddu $a0, $s3, $zero +/* 89B080 80240D30 8C650000 */ lw $a1, ($v1) +/* 89B084 80240D34 0C0B1EAF */ jal get_variable +/* 89B088 80240D38 0040902D */ daddu $s2, $v0, $zero +/* 89B08C 80240D3C AFA00028 */ sw $zero, 0x28($sp) +/* 89B090 80240D40 8E2300D0 */ lw $v1, 0xd0($s1) +/* 89B094 80240D44 8C630030 */ lw $v1, 0x30($v1) +/* 89B098 80240D48 AFA3002C */ sw $v1, 0x2c($sp) +/* 89B09C 80240D4C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 89B0A0 80240D50 8C63001C */ lw $v1, 0x1c($v1) +/* 89B0A4 80240D54 AFA30030 */ sw $v1, 0x30($sp) +/* 89B0A8 80240D58 8E2300D0 */ lw $v1, 0xd0($s1) +/* 89B0AC 80240D5C 8C630024 */ lw $v1, 0x24($v1) +/* 89B0B0 80240D60 AFA30034 */ sw $v1, 0x34($sp) +/* 89B0B4 80240D64 8E2300D0 */ lw $v1, 0xd0($s1) +/* 89B0B8 80240D68 8C630028 */ lw $v1, 0x28($v1) +/* 89B0BC 80240D6C 27B50028 */ addiu $s5, $sp, 0x28 +/* 89B0C0 80240D70 AFA30038 */ sw $v1, 0x38($sp) +/* 89B0C4 80240D74 8E2300D0 */ lw $v1, 0xd0($s1) +/* 89B0C8 80240D78 3C0142C8 */ lui $at, 0x42c8 +/* 89B0CC 80240D7C 44810000 */ mtc1 $at, $f0 +/* 89B0D0 80240D80 8C63002C */ lw $v1, 0x2c($v1) +/* 89B0D4 80240D84 0040A02D */ daddu $s4, $v0, $zero +/* 89B0D8 80240D88 E7A00040 */ swc1 $f0, 0x40($sp) +/* 89B0DC 80240D8C A7A00044 */ sh $zero, 0x44($sp) +/* 89B0E0 80240D90 12000009 */ beqz $s0, .L80240DB8 +/* 89B0E4 80240D94 AFA3003C */ sw $v1, 0x3c($sp) +/* 89B0E8 80240D98 864300A8 */ lh $v1, 0xa8($s2) +/* 89B0EC 80240D9C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 89B0F0 80240DA0 AE20008C */ sw $zero, 0x8c($s1) +/* 89B0F4 80240DA4 A22000B5 */ sb $zero, 0xb5($s1) +/* 89B0F8 80240DA8 34420008 */ ori $v0, $v0, 8 +/* 89B0FC 80240DAC AE230084 */ sw $v1, 0x84($s1) +/* 89B100 80240DB0 08090372 */ j .L80240DC8 +/* 89B104 80240DB4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240DB8: +/* 89B108 80240DB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 89B10C 80240DBC 30420004 */ andi $v0, $v0, 4 +/* 89B110 80240DC0 10400047 */ beqz $v0, .L80240EE0 +/* 89B114 80240DC4 00000000 */ nop +.L80240DC8: +/* 89B118 80240DC8 AE600070 */ sw $zero, 0x70($s3) +/* 89B11C 80240DCC A640008E */ sh $zero, 0x8e($s2) +/* 89B120 80240DD0 8E2300CC */ lw $v1, 0xcc($s1) +/* 89B124 80240DD4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 89B128 80240DD8 A2200007 */ sb $zero, 7($s1) +/* 89B12C 80240DDC 8E420000 */ lw $v0, ($s2) +/* 89B130 80240DE0 8C630000 */ lw $v1, ($v1) +/* 89B134 80240DE4 00441024 */ and $v0, $v0, $a0 +/* 89B138 80240DE8 AE420000 */ sw $v0, ($s2) +/* 89B13C 80240DEC AE430028 */ sw $v1, 0x28($s2) +/* 89B140 80240DF0 96220086 */ lhu $v0, 0x86($s1) +/* 89B144 80240DF4 A64200A8 */ sh $v0, 0xa8($s2) +/* 89B148 80240DF8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 89B14C 80240DFC AE200090 */ sw $zero, 0x90($s1) +/* 89B150 80240E00 8C420034 */ lw $v0, 0x34($v0) +/* 89B154 80240E04 14400006 */ bnez $v0, .L80240E20 +/* 89B158 80240E08 2403FDFF */ addiu $v1, $zero, -0x201 +/* 89B15C 80240E0C 8E420000 */ lw $v0, ($s2) +/* 89B160 80240E10 2403FFF7 */ addiu $v1, $zero, -9 +/* 89B164 80240E14 34420200 */ ori $v0, $v0, 0x200 +/* 89B168 80240E18 0809038B */ j .L80240E2C +/* 89B16C 80240E1C 00431024 */ and $v0, $v0, $v1 +.L80240E20: +/* 89B170 80240E20 8E420000 */ lw $v0, ($s2) +/* 89B174 80240E24 00431024 */ and $v0, $v0, $v1 +/* 89B178 80240E28 34420008 */ ori $v0, $v0, 8 +.L80240E2C: +/* 89B17C 80240E2C AE420000 */ sw $v0, ($s2) +/* 89B180 80240E30 8E2200B0 */ lw $v0, 0xb0($s1) +/* 89B184 80240E34 30420004 */ andi $v0, $v0, 4 +/* 89B188 80240E38 1040001E */ beqz $v0, .L80240EB4 +/* 89B18C 80240E3C 24040002 */ addiu $a0, $zero, 2 +/* 89B190 80240E40 0240282D */ daddu $a1, $s2, $zero +/* 89B194 80240E44 0000302D */ daddu $a2, $zero, $zero +/* 89B198 80240E48 24020063 */ addiu $v0, $zero, 0x63 +/* 89B19C 80240E4C AE620070 */ sw $v0, 0x70($s3) +/* 89B1A0 80240E50 AE600074 */ sw $zero, 0x74($s3) +/* 89B1A4 80240E54 864300A8 */ lh $v1, 0xa8($s2) +/* 89B1A8 80240E58 3C013F80 */ lui $at, 0x3f80 +/* 89B1AC 80240E5C 44810000 */ mtc1 $at, $f0 +/* 89B1B0 80240E60 3C014000 */ lui $at, 0x4000 +/* 89B1B4 80240E64 44811000 */ mtc1 $at, $f2 +/* 89B1B8 80240E68 3C01C1A0 */ lui $at, 0xc1a0 +/* 89B1BC 80240E6C 44812000 */ mtc1 $at, $f4 +/* 89B1C0 80240E70 24020028 */ addiu $v0, $zero, 0x28 +/* 89B1C4 80240E74 AFA2001C */ sw $v0, 0x1c($sp) +/* 89B1C8 80240E78 44833000 */ mtc1 $v1, $f6 +/* 89B1CC 80240E7C 00000000 */ nop +/* 89B1D0 80240E80 468031A0 */ cvt.s.w $f6, $f6 +/* 89B1D4 80240E84 44073000 */ mfc1 $a3, $f6 +/* 89B1D8 80240E88 27A20048 */ addiu $v0, $sp, 0x48 +/* 89B1DC 80240E8C AFA20020 */ sw $v0, 0x20($sp) +/* 89B1E0 80240E90 E7A00010 */ swc1 $f0, 0x10($sp) +/* 89B1E4 80240E94 E7A20014 */ swc1 $f2, 0x14($sp) +/* 89B1E8 80240E98 0C01BFA4 */ jal fx_emote +/* 89B1EC 80240E9C E7A40018 */ swc1 $f4, 0x18($sp) +/* 89B1F0 80240EA0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 89B1F4 80240EA4 2403FFFB */ addiu $v1, $zero, -5 +/* 89B1F8 80240EA8 00431024 */ and $v0, $v0, $v1 +/* 89B1FC 80240EAC 080903B8 */ j .L80240EE0 +/* 89B200 80240EB0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240EB4: +/* 89B204 80240EB4 8E220000 */ lw $v0, ($s1) +/* 89B208 80240EB8 3C034000 */ lui $v1, 0x4000 +/* 89B20C 80240EBC 00431024 */ and $v0, $v0, $v1 +/* 89B210 80240EC0 10400007 */ beqz $v0, .L80240EE0 +/* 89B214 80240EC4 3C03BFFF */ lui $v1, 0xbfff +/* 89B218 80240EC8 2402000C */ addiu $v0, $zero, 0xc +/* 89B21C 80240ECC AE620070 */ sw $v0, 0x70($s3) +/* 89B220 80240ED0 8E220000 */ lw $v0, ($s1) +/* 89B224 80240ED4 3463FFFF */ ori $v1, $v1, 0xffff +/* 89B228 80240ED8 00431024 */ and $v0, $v0, $v1 +/* 89B22C 80240EDC AE220000 */ sw $v0, ($s1) +.L80240EE0: +/* 89B230 80240EE0 8E220090 */ lw $v0, 0x90($s1) +/* 89B234 80240EE4 1840000C */ blez $v0, .L80240F18 +/* 89B238 80240EE8 2442FFFF */ addiu $v0, $v0, -1 +/* 89B23C 80240EEC 14400087 */ bnez $v0, .L8024110C +/* 89B240 80240EF0 AE220090 */ sw $v0, 0x90($s1) +/* 89B244 80240EF4 3C03FFAA */ lui $v1, 0xffaa +/* 89B248 80240EF8 8E420028 */ lw $v0, 0x28($s2) +/* 89B24C 80240EFC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 89B250 80240F00 00431021 */ addu $v0, $v0, $v1 +/* 89B254 80240F04 2C420002 */ sltiu $v0, $v0, 2 +/* 89B258 80240F08 10400003 */ beqz $v0, .L80240F18 +/* 89B25C 80240F0C 3C020055 */ lui $v0, 0x55 +/* 89B260 80240F10 3442000C */ ori $v0, $v0, 0xc +/* 89B264 80240F14 AE420028 */ sw $v0, 0x28($s2) +.L80240F18: +/* 89B268 80240F18 8E630070 */ lw $v1, 0x70($s3) +/* 89B26C 80240F1C 2402000C */ addiu $v0, $zero, 0xc +/* 89B270 80240F20 10620048 */ beq $v1, $v0, .L80241044 +/* 89B274 80240F24 2862000D */ slti $v0, $v1, 0xd +/* 89B278 80240F28 1040000F */ beqz $v0, .L80240F68 +/* 89B27C 80240F2C 24100001 */ addiu $s0, $zero, 1 +/* 89B280 80240F30 1070001E */ beq $v1, $s0, .L80240FAC +/* 89B284 80240F34 28620002 */ slti $v0, $v1, 2 +/* 89B288 80240F38 10400005 */ beqz $v0, .L80240F50 +/* 89B28C 80240F3C 24020002 */ addiu $v0, $zero, 2 +/* 89B290 80240F40 10600015 */ beqz $v1, .L80240F98 +/* 89B294 80240F44 0260202D */ daddu $a0, $s3, $zero +/* 89B298 80240F48 08090428 */ j .L802410A0 +/* 89B29C 80240F4C 00000000 */ nop +.L80240F50: +/* 89B2A0 80240F50 1062001C */ beq $v1, $v0, .L80240FC4 +/* 89B2A4 80240F54 24020003 */ addiu $v0, $zero, 3 +/* 89B2A8 80240F58 10620035 */ beq $v1, $v0, .L80241030 +/* 89B2AC 80240F5C 0260202D */ daddu $a0, $s3, $zero +/* 89B2B0 80240F60 08090428 */ j .L802410A0 +/* 89B2B4 80240F64 00000000 */ nop +.L80240F68: +/* 89B2B8 80240F68 2402000E */ addiu $v0, $zero, 0xe +/* 89B2BC 80240F6C 1062003F */ beq $v1, $v0, .L8024106C +/* 89B2C0 80240F70 0062102A */ slt $v0, $v1, $v0 +/* 89B2C4 80240F74 14400038 */ bnez $v0, .L80241058 +/* 89B2C8 80240F78 0260202D */ daddu $a0, $s3, $zero +/* 89B2CC 80240F7C 2402000F */ addiu $v0, $zero, 0xf +/* 89B2D0 80240F80 10620040 */ beq $v1, $v0, .L80241084 +/* 89B2D4 80240F84 24020063 */ addiu $v0, $zero, 0x63 +/* 89B2D8 80240F88 10620043 */ beq $v1, $v0, .L80241098 +/* 89B2DC 80240F8C 00000000 */ nop +/* 89B2E0 80240F90 08090428 */ j .L802410A0 +/* 89B2E4 80240F94 00000000 */ nop +.L80240F98: +/* 89B2E8 80240F98 0280282D */ daddu $a1, $s4, $zero +/* 89B2EC 80240F9C 0C012568 */ jal func_800495A0 +/* 89B2F0 80240FA0 02A0302D */ daddu $a2, $s5, $zero +/* 89B2F4 80240FA4 96220086 */ lhu $v0, 0x86($s1) +/* 89B2F8 80240FA8 A64200A8 */ sh $v0, 0xa8($s2) +.L80240FAC: +/* 89B2FC 80240FAC 0260202D */ daddu $a0, $s3, $zero +/* 89B300 80240FB0 0280282D */ daddu $a1, $s4, $zero +/* 89B304 80240FB4 0C0125AE */ jal func_800496B8 +/* 89B308 80240FB8 02A0302D */ daddu $a2, $s5, $zero +/* 89B30C 80240FBC 08090428 */ j .L802410A0 +/* 89B310 80240FC0 00000000 */ nop +.L80240FC4: +/* 89B314 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* 89B318 80240FC8 0280282D */ daddu $a1, $s4, $zero +/* 89B31C 80240FCC 0C0126D1 */ jal func_80049B44 +/* 89B320 80240FD0 02A0302D */ daddu $a2, $s5, $zero +/* 89B324 80240FD4 8E230088 */ lw $v1, 0x88($s1) +/* 89B328 80240FD8 24020006 */ addiu $v0, $zero, 6 +/* 89B32C 80240FDC 14620014 */ bne $v1, $v0, .L80241030 +/* 89B330 80240FE0 0260202D */ daddu $a0, $s3, $zero +/* 89B334 80240FE4 0C00A67F */ jal rand_int +/* 89B338 80240FE8 24040064 */ addiu $a0, $zero, 0x64 +/* 89B33C 80240FEC 28420021 */ slti $v0, $v0, 0x21 +/* 89B340 80240FF0 5040000F */ beql $v0, $zero, .L80241030 +/* 89B344 80240FF4 0260202D */ daddu $a0, $s3, $zero +/* 89B348 80240FF8 8E22008C */ lw $v0, 0x8c($s1) +/* 89B34C 80240FFC 10400005 */ beqz $v0, .L80241014 +/* 89B350 80241000 3C020055 */ lui $v0, 0x55 +/* 89B354 80241004 3442002F */ ori $v0, $v0, 0x2f +/* 89B358 80241008 AE20008C */ sw $zero, 0x8c($s1) +/* 89B35C 8024100C 08090408 */ j .L80241020 +/* 89B360 80241010 A22000B5 */ sb $zero, 0xb5($s1) +.L80241014: +/* 89B364 80241014 3442002E */ ori $v0, $v0, 0x2e +/* 89B368 80241018 AE30008C */ sw $s0, 0x8c($s1) +/* 89B36C 8024101C A23000B5 */ sb $s0, 0xb5($s1) +.L80241020: +/* 89B370 80241020 AE420028 */ sw $v0, 0x28($s2) +/* 89B374 80241024 24020007 */ addiu $v0, $zero, 7 +/* 89B378 80241028 08090443 */ j .L8024110C +/* 89B37C 8024102C AE220090 */ sw $v0, 0x90($s1) +.L80241030: +/* 89B380 80241030 0280282D */ daddu $a1, $s4, $zero +/* 89B384 80241034 0C012701 */ jal func_80049C04 +/* 89B388 80241038 02A0302D */ daddu $a2, $s5, $zero +/* 89B38C 8024103C 08090428 */ j .L802410A0 +/* 89B390 80241040 00000000 */ nop +.L80241044: +/* 89B394 80241044 0260202D */ daddu $a0, $s3, $zero +/* 89B398 80241048 0280282D */ daddu $a1, $s4, $zero +/* 89B39C 8024104C 0C090258 */ jal func_80240960 +/* 89B3A0 80241050 02A0302D */ daddu $a2, $s5, $zero +/* 89B3A4 80241054 0260202D */ daddu $a0, $s3, $zero +.L80241058: +/* 89B3A8 80241058 0280282D */ daddu $a1, $s4, $zero +/* 89B3AC 8024105C 0C090277 */ jal func_802409DC +/* 89B3B0 80241060 02A0302D */ daddu $a2, $s5, $zero +/* 89B3B4 80241064 08090428 */ j .L802410A0 +/* 89B3B8 80241068 00000000 */ nop +.L8024106C: +/* 89B3BC 8024106C 0260202D */ daddu $a0, $s3, $zero +/* 89B3C0 80241070 0280282D */ daddu $a1, $s4, $zero +/* 89B3C4 80241074 0C0902C4 */ jal func_80240B10 +/* 89B3C8 80241078 02A0302D */ daddu $a2, $s5, $zero +/* 89B3CC 8024107C 08090428 */ j .L802410A0 +/* 89B3D0 80241080 00000000 */ nop +.L80241084: +/* 89B3D4 80241084 0280282D */ daddu $a1, $s4, $zero +/* 89B3D8 80241088 0C09031D */ jal func_80240C74 +/* 89B3DC 8024108C 02A0302D */ daddu $a2, $s5, $zero +/* 89B3E0 80241090 08090428 */ j .L802410A0 +/* 89B3E4 80241094 00000000 */ nop +.L80241098: +/* 89B3E8 80241098 0C0129CF */ jal func_8004A73C +/* 89B3EC 8024109C 0260202D */ daddu $a0, $s3, $zero +.L802410A0: +/* 89B3F0 802410A0 8E230088 */ lw $v1, 0x88($s1) +/* 89B3F4 802410A4 24020006 */ addiu $v0, $zero, 6 +/* 89B3F8 802410A8 14620019 */ bne $v1, $v0, .L80241110 +/* 89B3FC 802410AC 0000102D */ daddu $v0, $zero, $zero +/* 89B400 802410B0 8E22008C */ lw $v0, 0x8c($s1) +/* 89B404 802410B4 10400003 */ beqz $v0, .L802410C4 +/* 89B408 802410B8 24020001 */ addiu $v0, $zero, 1 +/* 89B40C 802410BC 08090432 */ j .L802410C8 +/* 89B410 802410C0 A22200B5 */ sb $v0, 0xb5($s1) +.L802410C4: +/* 89B414 802410C4 A22000B5 */ sb $zero, 0xb5($s1) +.L802410C8: +/* 89B418 802410C8 8E22008C */ lw $v0, 0x8c($s1) +/* 89B41C 802410CC 1040000F */ beqz $v0, .L8024110C +/* 89B420 802410D0 3C03FFAA */ lui $v1, 0xffaa +/* 89B424 802410D4 8E420028 */ lw $v0, 0x28($s2) +/* 89B428 802410D8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 89B42C 802410DC 00431821 */ addu $v1, $v0, $v1 +/* 89B430 802410E0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 89B434 802410E4 10400009 */ beqz $v0, .L8024110C +/* 89B438 802410E8 00031080 */ sll $v0, $v1, 2 +/* 89B43C 802410EC 3C018024 */ lui $at, 0x8024 +/* 89B440 802410F0 00220821 */ addu $at, $at, $v0 +/* 89B444 802410F4 8C2233F8 */ lw $v0, 0x33f8($at) +/* 89B448 802410F8 00400008 */ jr $v0 +/* 89B44C 802410FC 00000000 */ nop +/* 89B450 80241100 8E420028 */ lw $v0, 0x28($s2) +/* 89B454 80241104 24420001 */ addiu $v0, $v0, 1 +/* 89B458 80241108 AE420028 */ sw $v0, 0x28($s2) +.L8024110C: +/* 89B45C 8024110C 0000102D */ daddu $v0, $zero, $zero +.L80241110: +/* 89B460 80241110 8FBF0068 */ lw $ra, 0x68($sp) +/* 89B464 80241114 8FB50064 */ lw $s5, 0x64($sp) +/* 89B468 80241118 8FB40060 */ lw $s4, 0x60($sp) +/* 89B46C 8024111C 8FB3005C */ lw $s3, 0x5c($sp) +/* 89B470 80241120 8FB20058 */ lw $s2, 0x58($sp) +/* 89B474 80241124 8FB10054 */ lw $s1, 0x54($sp) +/* 89B478 80241128 8FB00050 */ lw $s0, 0x50($sp) +/* 89B47C 8024112C 03E00008 */ jr $ra +/* 89B480 80241130 27BD0070 */ addiu $sp, $sp, 0x70 +/* 89B484 80241134 00000000 */ nop +/* 89B488 80241138 00000000 */ nop +/* 89B48C 8024113C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_80240000_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_80240000_89D7A0.s new file mode 100644 index 0000000000..6116afbd48 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_80240000_89D7A0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_89D7A0 +/* 89D7A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89D7A4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 89D7A8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 89D7AC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 89D7B0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 89D7B4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 89D7B8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 89D7BC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 89D7C0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 89D7C4 80240024 3C020002 */ lui $v0, 2 +/* 89D7C8 80240028 08090010 */ j .L80240040 +/* 89D7CC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 89D7D0 80240030 3C040002 */ lui $a0, 2 +/* 89D7D4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 89D7D8 80240038 10400002 */ beqz $v0, .L80240044 +/* 89D7DC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 89D7E0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 89D7E4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 89D7E8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 89D7EC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 89D7F0 80240050 04610004 */ bgez $v1, .L80240064 +/* 89D7F4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 89D7F8 80240058 3C020002 */ lui $v0, 2 +/* 89D7FC 8024005C 0809001D */ j .L80240074 +/* 89D800 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 89D804 80240064 3C040002 */ lui $a0, 2 +/* 89D808 80240068 0083102A */ slt $v0, $a0, $v1 +/* 89D80C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 89D810 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 89D814 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 89D818 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89D81C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 89D820 80240080 00621821 */ addu $v1, $v1, $v0 +/* 89D824 80240084 04610004 */ bgez $v1, .L80240098 +/* 89D828 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89D82C 8024008C 3C020002 */ lui $v0, 2 +/* 89D830 80240090 0809002A */ j .L802400A8 +/* 89D834 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 89D838 80240098 3C040002 */ lui $a0, 2 +/* 89D83C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 89D840 802400A0 10400002 */ beqz $v0, .L802400AC +/* 89D844 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 89D848 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 89D84C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 89D850 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 89D854 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 89D858 802400B8 04610004 */ bgez $v1, .L802400CC +/* 89D85C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 89D860 802400C0 3C020002 */ lui $v0, 2 +/* 89D864 802400C4 08090037 */ j .L802400DC +/* 89D868 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 89D86C 802400CC 3C040002 */ lui $a0, 2 +/* 89D870 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 89D874 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 89D878 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 89D87C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 89D880 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 89D884 802400E4 0C046F07 */ jal set_main_pan_u +/* 89D888 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 89D88C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 89D890 802400F0 0C046F0D */ jal set_main_pan_v +/* 89D894 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 89D898 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 89D89C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 89D8A0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89D8A4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 89D8A8 80240108 0C046F19 */ jal set_aux_pan_v +/* 89D8AC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 89D8B0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 89D8B4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 89D8B8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 89D8BC 8024011C 03E00008 */ jr $ra +/* 89D8C0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_80240124_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_80240124_89D7A0.s new file mode 100644 index 0000000000..354d2734aa --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_80240124_89D7A0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_89D8C4 +/* 89D8C4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89D8C8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 89D8CC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 89D8D0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 89D8D4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 89D8D8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 89D8DC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 89D8E0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 89D8E4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 89D8E8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 89D8EC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 89D8F0 80240150 00000000 */ nop +/* 89D8F4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 89D8F8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 89D8FC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 89D900 80240160 04610004 */ bgez $v1, .L80240174 +/* 89D904 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 89D908 80240168 3C020002 */ lui $v0, 2 +/* 89D90C 8024016C 08090061 */ j .L80240184 +/* 89D910 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 89D914 80240174 3C040002 */ lui $a0, 2 +/* 89D918 80240178 0083102A */ slt $v0, $a0, $v1 +/* 89D91C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 89D920 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 89D924 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 89D928 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 89D92C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 89D930 80240190 00000000 */ nop +/* 89D934 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 89D938 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 89D93C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 89D940 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 89D944 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 89D948 802401A8 3C020002 */ lui $v0, 2 +/* 89D94C 802401AC 08090071 */ j .L802401C4 +/* 89D950 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 89D954 802401B4 3C040002 */ lui $a0, 2 +/* 89D958 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 89D95C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 89D960 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 89D964 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 89D968 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 89D96C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 89D970 802401D0 00000000 */ nop +/* 89D974 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89D978 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 89D97C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 89D980 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 89D984 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89D988 802401E8 3C020002 */ lui $v0, 2 +/* 89D98C 802401EC 08090081 */ j .L80240204 +/* 89D990 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 89D994 802401F4 3C040002 */ lui $a0, 2 +/* 89D998 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 89D99C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 89D9A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 89D9A4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 89D9A8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 89D9AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 89D9B0 80240210 00000000 */ nop +/* 89D9B4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 89D9B8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 89D9BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 89D9C0 80240220 04610004 */ bgez $v1, .L80240234 +/* 89D9C4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 89D9C8 80240228 3C020002 */ lui $v0, 2 +/* 89D9CC 8024022C 08090091 */ j .L80240244 +/* 89D9D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 89D9D4 80240234 3C040002 */ lui $a0, 2 +/* 89D9D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 89D9DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 89D9E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 89D9E4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 89D9E8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 89D9EC 8024024C 0C046F07 */ jal set_main_pan_u +/* 89D9F0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 89D9F4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 89D9F8 80240258 0C046F0D */ jal set_main_pan_v +/* 89D9FC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 89DA00 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 89DA04 80240264 0C046F13 */ jal set_aux_pan_u +/* 89DA08 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89DA0C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 89DA10 80240270 0C046F19 */ jal set_aux_pan_v +/* 89DA14 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 89DA18 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 89DA1C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 89DA20 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 89DA24 80240284 24420001 */ addiu $v0, $v0, 1 +/* 89DA28 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 89DA2C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 89DA30 80240290 24630001 */ addiu $v1, $v1, 1 +/* 89DA34 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 89DA38 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 89DA3C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 89DA40 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 89DA44 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 89DA48 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 89DA4C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 89DA50 802402B0 14600002 */ bnez $v1, .L802402BC +/* 89DA54 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 89DA58 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 89DA5C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 89DA60 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 89DA64 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 89DA68 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 89DA6C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 89DA70 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 89DA74 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 89DA78 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 89DA7C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 89DA80 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 89DA84 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 89DA88 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 89DA8C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 89DA90 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 89DA94 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 89DA98 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 89DA9C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 89DAA0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 89DAA4 80240304 03E00008 */ jr $ra +/* 89DAA8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_8024030C_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_8024030C_89D7A0.s new file mode 100644 index 0000000000..5b030626be --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_8024030C_89D7A0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_89DAAC +/* 89DAAC 8024030C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 89DAB0 80240310 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 89DAB4 80240314 8C430004 */ lw $v1, 4($v0) +/* 89DAB8 80240318 3C040010 */ lui $a0, 0x10 +/* 89DABC 8024031C 00641825 */ or $v1, $v1, $a0 +/* 89DAC0 80240320 AC430004 */ sw $v1, 4($v0) +/* 89DAC4 80240324 03E00008 */ jr $ra +/* 89DAC8 80240328 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_8024032C_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_8024032C_89D7A0.s new file mode 100644 index 0000000000..00f0ae83b9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_8024032C_89D7A0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024032C_89DACC +/* 89DACC 8024032C 3C028016 */ lui $v0, 0x8016 +/* 89DAD0 80240330 8442A552 */ lh $v0, -0x5aae($v0) +/* 89DAD4 80240334 AC820084 */ sw $v0, 0x84($a0) +/* 89DAD8 80240338 03E00008 */ jr $ra +/* 89DADC 8024033C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_80240340_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_80240340_89D7A0.s new file mode 100644 index 0000000000..4cfb45eaa3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_80240340_89D7A0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240340_89DAE0 +/* 89DAE0 80240340 3C038016 */ lui $v1, 0x8016 +/* 89DAE4 80240344 8463A552 */ lh $v1, -0x5aae($v1) +/* 89DAE8 80240348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89DAEC 8024034C AFB00010 */ sw $s0, 0x10($sp) +/* 89DAF0 80240350 0080802D */ daddu $s0, $a0, $zero +/* 89DAF4 80240354 AFBF0014 */ sw $ra, 0x14($sp) +/* 89DAF8 80240358 8E0200B0 */ lw $v0, 0xb0($s0) +/* 89DAFC 8024035C 10620003 */ beq $v1, $v0, .L8024036C +/* 89DB00 80240360 24020002 */ addiu $v0, $zero, 2 +/* 89DB04 80240364 080900FB */ j .L802403EC +/* 89DB08 80240368 AE000084 */ sw $zero, 0x84($s0) +.L8024036C: +/* 89DB0C 8024036C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 89DB10 80240370 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 89DB14 80240374 80620040 */ lb $v0, 0x40($v1) +/* 89DB18 80240378 80670044 */ lb $a3, 0x44($v1) +/* 89DB1C 8024037C 04420001 */ bltzl $v0, .L80240384 +/* 89DB20 80240380 00021023 */ negu $v0, $v0 +.L80240384: +/* 89DB24 80240384 14400003 */ bnez $v0, .L80240394 +/* 89DB28 80240388 00000000 */ nop +/* 89DB2C 8024038C 50E00017 */ beql $a3, $zero, .L802403EC +/* 89DB30 80240390 0000102D */ daddu $v0, $zero, $zero +.L80240394: +/* 89DB34 80240394 44822000 */ mtc1 $v0, $f4 +/* 89DB38 80240398 00000000 */ nop +/* 89DB3C 8024039C 46802120 */ cvt.s.w $f4, $f4 +/* 89DB40 802403A0 44062000 */ mfc1 $a2, $f4 +/* 89DB44 802403A4 44872000 */ mtc1 $a3, $f4 +/* 89DB48 802403A8 00000000 */ nop +/* 89DB4C 802403AC 46802120 */ cvt.s.w $f4, $f4 +/* 89DB50 802403B0 44806000 */ mtc1 $zero, $f12 +/* 89DB54 802403B4 44072000 */ mfc1 $a3, $f4 +/* 89DB58 802403B8 0C00A720 */ jal atan2 +/* 89DB5C 802403BC 46006386 */ mov.s $f14, $f12 +/* 89DB60 802403C0 3C014270 */ lui $at, 0x4270 +/* 89DB64 802403C4 44811000 */ mtc1 $at, $f2 +/* 89DB68 802403C8 00000000 */ nop +/* 89DB6C 802403CC 4602003C */ c.lt.s $f0, $f2 +/* 89DB70 802403D0 00000000 */ nop +/* 89DB74 802403D4 45000004 */ bc1f .L802403E8 +/* 89DB78 802403D8 24020001 */ addiu $v0, $zero, 1 +/* 89DB7C 802403DC AE020084 */ sw $v0, 0x84($s0) +/* 89DB80 802403E0 080900FB */ j .L802403EC +/* 89DB84 802403E4 24020002 */ addiu $v0, $zero, 2 +.L802403E8: +/* 89DB88 802403E8 0000102D */ daddu $v0, $zero, $zero +.L802403EC: +/* 89DB8C 802403EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 89DB90 802403F0 8FB00010 */ lw $s0, 0x10($sp) +/* 89DB94 802403F4 03E00008 */ jr $ra +/* 89DB98 802403F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_802403FC_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_802403FC_89D7A0.s new file mode 100644 index 0000000000..3342921e2a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_802403FC_89D7A0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403FC_89DB9C +/* 89DB9C 802403FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 89DBA0 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* 89DBA4 80240404 0080882D */ daddu $s1, $a0, $zero +/* 89DBA8 80240408 AFBF001C */ sw $ra, 0x1c($sp) +/* 89DBAC 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* 89DBB0 80240410 0C016AFA */ jal get_current_map_header +/* 89DBB4 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* 89DBB8 80240418 0220202D */ daddu $a0, $s1, $zero +/* 89DBBC 8024041C 3C05FE36 */ lui $a1, 0xfe36 +/* 89DBC0 80240420 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 89DBC4 80240424 0C0B1EAF */ jal get_variable +/* 89DBC8 80240428 0040902D */ daddu $s2, $v0, $zero +/* 89DBCC 8024042C 0220202D */ daddu $a0, $s1, $zero +/* 89DBD0 80240430 3C05FE36 */ lui $a1, 0xfe36 +/* 89DBD4 80240434 8E430014 */ lw $v1, 0x14($s2) +/* 89DBD8 80240438 00028100 */ sll $s0, $v0, 4 +/* 89DBDC 8024043C 02031821 */ addu $v1, $s0, $v1 +/* 89DBE0 80240440 C4600000 */ lwc1 $f0, ($v1) +/* 89DBE4 80240444 4600008D */ trunc.w.s $f2, $f0 +/* 89DBE8 80240448 44061000 */ mfc1 $a2, $f2 +/* 89DBEC 8024044C 0C0B2026 */ jal set_variable +/* 89DBF0 80240450 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 89DBF4 80240454 0220202D */ daddu $a0, $s1, $zero +/* 89DBF8 80240458 8E420014 */ lw $v0, 0x14($s2) +/* 89DBFC 8024045C 3C05FE36 */ lui $a1, 0xfe36 +/* 89DC00 80240460 02021021 */ addu $v0, $s0, $v0 +/* 89DC04 80240464 C4400004 */ lwc1 $f0, 4($v0) +/* 89DC08 80240468 4600008D */ trunc.w.s $f2, $f0 +/* 89DC0C 8024046C 44061000 */ mfc1 $a2, $f2 +/* 89DC10 80240470 0C0B2026 */ jal set_variable +/* 89DC14 80240474 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 89DC18 80240478 0220202D */ daddu $a0, $s1, $zero +/* 89DC1C 8024047C 8E420014 */ lw $v0, 0x14($s2) +/* 89DC20 80240480 3C05FE36 */ lui $a1, 0xfe36 +/* 89DC24 80240484 02021021 */ addu $v0, $s0, $v0 +/* 89DC28 80240488 C4400008 */ lwc1 $f0, 8($v0) +/* 89DC2C 8024048C 4600008D */ trunc.w.s $f2, $f0 +/* 89DC30 80240490 44061000 */ mfc1 $a2, $f2 +/* 89DC34 80240494 0C0B2026 */ jal set_variable +/* 89DC38 80240498 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 89DC3C 8024049C 0220202D */ daddu $a0, $s1, $zero +/* 89DC40 802404A0 8E420014 */ lw $v0, 0x14($s2) +/* 89DC44 802404A4 3C05FE36 */ lui $a1, 0xfe36 +/* 89DC48 802404A8 02028021 */ addu $s0, $s0, $v0 +/* 89DC4C 802404AC C600000C */ lwc1 $f0, 0xc($s0) +/* 89DC50 802404B0 4600008D */ trunc.w.s $f2, $f0 +/* 89DC54 802404B4 44061000 */ mfc1 $a2, $f2 +/* 89DC58 802404B8 0C0B2026 */ jal set_variable +/* 89DC5C 802404BC 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 89DC60 802404C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 89DC64 802404C4 8FB20018 */ lw $s2, 0x18($sp) +/* 89DC68 802404C8 8FB10014 */ lw $s1, 0x14($sp) +/* 89DC6C 802404CC 8FB00010 */ lw $s0, 0x10($sp) +/* 89DC70 802404D0 24020002 */ addiu $v0, $zero, 2 +/* 89DC74 802404D4 03E00008 */ jr $ra +/* 89DC78 802404D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_802404DC_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_802404DC_89D7A0.s new file mode 100644 index 0000000000..649fc5982d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_802404DC_89D7A0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404DC_89DC7C +/* 89DC7C 802404DC 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 89DC80 802404E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 89DC84 802404E4 3C014334 */ lui $at, 0x4334 +/* 89DC88 802404E8 44816000 */ mtc1 $at, $f12 +/* 89DC8C 802404EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89DC90 802404F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 89DC94 802404F4 AFB00010 */ sw $s0, 0x10($sp) +/* 89DC98 802404F8 00031080 */ sll $v0, $v1, 2 +/* 89DC9C 802404FC 00431021 */ addu $v0, $v0, $v1 +/* 89DCA0 80240500 00021080 */ sll $v0, $v0, 2 +/* 89DCA4 80240504 00431023 */ subu $v0, $v0, $v1 +/* 89DCA8 80240508 000218C0 */ sll $v1, $v0, 3 +/* 89DCAC 8024050C 00431021 */ addu $v0, $v0, $v1 +/* 89DCB0 80240510 000210C0 */ sll $v0, $v0, 3 +/* 89DCB4 80240514 3C01800B */ lui $at, 0x800b +/* 89DCB8 80240518 00220821 */ addu $at, $at, $v0 +/* 89DCBC 8024051C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 89DCC0 80240520 460C0300 */ add.s $f12, $f0, $f12 +/* 89DCC4 80240524 0C00A6C9 */ jal clamp_angle +/* 89DCC8 80240528 0080802D */ daddu $s0, $a0, $zero +/* 89DCCC 8024052C 4600008D */ trunc.w.s $f2, $f0 +/* 89DCD0 80240530 E6020084 */ swc1 $f2, 0x84($s0) +/* 89DCD4 80240534 8FBF0014 */ lw $ra, 0x14($sp) +/* 89DCD8 80240538 8FB00010 */ lw $s0, 0x10($sp) +/* 89DCDC 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 89DCE0 80240540 03E00008 */ jr $ra +/* 89DCE4 80240544 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_80240548_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_80240548_89D7A0.s new file mode 100644 index 0000000000..7d155a3ef5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_80240548_89D7A0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240548_89DCE8 +/* 89DCE8 80240548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 89DCEC 8024054C AFB00018 */ sw $s0, 0x18($sp) +/* 89DCF0 80240550 0080802D */ daddu $s0, $a0, $zero +/* 89DCF4 80240554 AFBF001C */ sw $ra, 0x1c($sp) +/* 89DCF8 80240558 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 89DCFC 8024055C 8E02000C */ lw $v0, 0xc($s0) +/* 89DD00 80240560 0C0B210B */ jal get_float_variable +/* 89DD04 80240564 8C450000 */ lw $a1, ($v0) +/* 89DD08 80240568 27A40010 */ addiu $a0, $sp, 0x10 +/* 89DD0C 8024056C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 89DD10 80240570 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 89DD14 80240574 44060000 */ mfc1 $a2, $f0 +/* 89DD18 80240578 C4400028 */ lwc1 $f0, 0x28($v0) +/* 89DD1C 8024057C C4420030 */ lwc1 $f2, 0x30($v0) +/* 89DD20 80240580 E7A00010 */ swc1 $f0, 0x10($sp) +/* 89DD24 80240584 E7A20014 */ swc1 $f2, 0x14($sp) +/* 89DD28 80240588 8C470080 */ lw $a3, 0x80($v0) +/* 89DD2C 8024058C C454002C */ lwc1 $f20, 0x2c($v0) +/* 89DD30 80240590 0C00A7E7 */ jal add_vec2D_polar +/* 89DD34 80240594 27A50014 */ addiu $a1, $sp, 0x14 +/* 89DD38 80240598 0200202D */ daddu $a0, $s0, $zero +/* 89DD3C 8024059C 3C05FE36 */ lui $a1, 0xfe36 +/* 89DD40 802405A0 8FA60010 */ lw $a2, 0x10($sp) +/* 89DD44 802405A4 0C0B2190 */ jal set_float_variable +/* 89DD48 802405A8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 89DD4C 802405AC 0200202D */ daddu $a0, $s0, $zero +/* 89DD50 802405B0 3C05FE36 */ lui $a1, 0xfe36 +/* 89DD54 802405B4 4406A000 */ mfc1 $a2, $f20 +/* 89DD58 802405B8 0C0B2190 */ jal set_float_variable +/* 89DD5C 802405BC 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 89DD60 802405C0 0200202D */ daddu $a0, $s0, $zero +/* 89DD64 802405C4 3C05FE36 */ lui $a1, 0xfe36 +/* 89DD68 802405C8 8FA60014 */ lw $a2, 0x14($sp) +/* 89DD6C 802405CC 0C0B2190 */ jal set_float_variable +/* 89DD70 802405D0 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 89DD74 802405D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 89DD78 802405D8 8FB00018 */ lw $s0, 0x18($sp) +/* 89DD7C 802405DC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 89DD80 802405E0 24020002 */ addiu $v0, $zero, 2 +/* 89DD84 802405E4 03E00008 */ jr $ra +/* 89DD88 802405E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_21/func_802405EC_89D7A0.s b/asm/nonmatchings/world/area_tik/tik_21/func_802405EC_89D7A0.s new file mode 100644 index 0000000000..e8be0cedaa --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_21/func_802405EC_89D7A0.s @@ -0,0 +1,235 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_89DD8C +/* 89DD8C 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 89DD90 802405F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 89DD94 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 89DD98 802405F8 AFBF0020 */ sw $ra, 0x20($sp) +/* 89DD9C 802405FC AFB20018 */ sw $s2, 0x18($sp) +/* 89DDA0 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 89DDA4 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* 89DDA8 80240608 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 89DDAC 8024060C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 89DDB0 80240610 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 89DDB4 80240614 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 89DDB8 80240618 8E62000C */ lw $v0, 0xc($s3) +/* 89DDBC 8024061C 0C0B1EAF */ jal get_variable +/* 89DDC0 80240620 8C450000 */ lw $a1, ($v0) +/* 89DDC4 80240624 2404FFFC */ addiu $a0, $zero, -4 +/* 89DDC8 80240628 0C00EABB */ jal get_npc_unsafe +/* 89DDCC 8024062C 0040802D */ daddu $s0, $v0, $zero +/* 89DDD0 80240630 0200202D */ daddu $a0, $s0, $zero +/* 89DDD4 80240634 0C046C04 */ jal get_model_list_index_from_tree_index +/* 89DDD8 80240638 0040802D */ daddu $s0, $v0, $zero +/* 89DDDC 8024063C 0C046B4C */ jal get_model_from_list_index +/* 89DDE0 80240640 0040202D */ daddu $a0, $v0, $zero +/* 89DDE4 80240644 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 89DDE8 80240648 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 89DDEC 8024064C 0040902D */ daddu $s2, $v0, $zero +/* 89DDF0 80240650 AE60008C */ sw $zero, 0x8c($s3) +/* 89DDF4 80240654 C4620028 */ lwc1 $f2, 0x28($v1) +/* 89DDF8 80240658 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89DDFC 8024065C 46001081 */ sub.s $f2, $f2, $f0 +/* 89DE00 80240660 46021182 */ mul.s $f6, $f2, $f2 +/* 89DE04 80240664 00000000 */ nop +/* 89DE08 80240668 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89DE0C 8024066C C4620030 */ lwc1 $f2, 0x30($v1) +/* 89DE10 80240670 46001081 */ sub.s $f2, $f2, $f0 +/* 89DE14 80240674 46021102 */ mul.s $f4, $f2, $f2 +/* 89DE18 80240678 00000000 */ nop +/* 89DE1C 8024067C 846200B0 */ lh $v0, 0xb0($v1) +/* 89DE20 80240680 C462002C */ lwc1 $f2, 0x2c($v1) +/* 89DE24 80240684 44820000 */ mtc1 $v0, $f0 +/* 89DE28 80240688 00000000 */ nop +/* 89DE2C 8024068C 46800020 */ cvt.s.w $f0, $f0 +/* 89DE30 80240690 46001080 */ add.s $f2, $f2, $f0 +/* 89DE34 80240694 3C013FC0 */ lui $at, 0x3fc0 +/* 89DE38 80240698 44810000 */ mtc1 $at, $f0 +/* 89DE3C 8024069C 00000000 */ nop +/* 89DE40 802406A0 46001081 */ sub.s $f2, $f2, $f0 +/* 89DE44 802406A4 46043300 */ add.s $f12, $f6, $f4 +/* 89DE48 802406A8 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89DE4C 802406AC 46001501 */ sub.s $f20, $f2, $f0 +/* 89DE50 802406B0 46006084 */ sqrt.s $f2, $f12 +/* 89DE54 802406B4 46021032 */ c.eq.s $f2, $f2 +/* 89DE58 802406B8 00000000 */ nop +/* 89DE5C 802406BC 45010004 */ bc1t .L802406D0 +/* 89DE60 802406C0 0060882D */ daddu $s1, $v1, $zero +/* 89DE64 802406C4 0C0187BC */ jal sqrtf +/* 89DE68 802406C8 00000000 */ nop +/* 89DE6C 802406CC 46000086 */ mov.s $f2, $f0 +.L802406D0: +/* 89DE70 802406D0 44800000 */ mtc1 $zero, $f0 +/* 89DE74 802406D4 00000000 */ nop +/* 89DE78 802406D8 4614003C */ c.lt.s $f0, $f20 +/* 89DE7C 802406DC 00000000 */ nop +/* 89DE80 802406E0 45000016 */ bc1f .L8024073C +/* 89DE84 802406E4 46001106 */ mov.s $f4, $f2 +/* 89DE88 802406E8 862200B0 */ lh $v0, 0xb0($s1) +/* 89DE8C 802406EC 44820000 */ mtc1 $v0, $f0 +/* 89DE90 802406F0 00000000 */ nop +/* 89DE94 802406F4 46800020 */ cvt.s.w $f0, $f0 +/* 89DE98 802406F8 4600A03C */ c.lt.s $f20, $f0 +/* 89DE9C 802406FC 00000000 */ nop +/* 89DEA0 80240700 4500000E */ bc1f .L8024073C +/* 89DEA4 80240704 00000000 */ nop +/* 89DEA8 80240708 862200B2 */ lh $v0, 0xb2($s1) +/* 89DEAC 8024070C 3C013F00 */ lui $at, 0x3f00 +/* 89DEB0 80240710 44811000 */ mtc1 $at, $f2 +/* 89DEB4 80240714 44820000 */ mtc1 $v0, $f0 +/* 89DEB8 80240718 00000000 */ nop +/* 89DEBC 8024071C 46800020 */ cvt.s.w $f0, $f0 +/* 89DEC0 80240720 46020002 */ mul.s $f0, $f0, $f2 +/* 89DEC4 80240724 00000000 */ nop +/* 89DEC8 80240728 4600203C */ c.lt.s $f4, $f0 +/* 89DECC 8024072C 00000000 */ nop +/* 89DED0 80240730 45000002 */ bc1f .L8024073C +/* 89DED4 80240734 24020001 */ addiu $v0, $zero, 1 +/* 89DED8 80240738 AE62008C */ sw $v0, 0x8c($s3) +.L8024073C: +/* 89DEDC 8024073C C6020038 */ lwc1 $f2, 0x38($s0) +/* 89DEE0 80240740 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89DEE4 80240744 46001081 */ sub.s $f2, $f2, $f0 +/* 89DEE8 80240748 46021182 */ mul.s $f6, $f2, $f2 +/* 89DEEC 8024074C 00000000 */ nop +/* 89DEF0 80240750 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89DEF4 80240754 C6020040 */ lwc1 $f2, 0x40($s0) +/* 89DEF8 80240758 46001081 */ sub.s $f2, $f2, $f0 +/* 89DEFC 8024075C 46021102 */ mul.s $f4, $f2, $f2 +/* 89DF00 80240760 00000000 */ nop +/* 89DF04 80240764 860200A8 */ lh $v0, 0xa8($s0) +/* 89DF08 80240768 C602003C */ lwc1 $f2, 0x3c($s0) +/* 89DF0C 8024076C 44820000 */ mtc1 $v0, $f0 +/* 89DF10 80240770 00000000 */ nop +/* 89DF14 80240774 46800020 */ cvt.s.w $f0, $f0 +/* 89DF18 80240778 46001080 */ add.s $f2, $f2, $f0 +/* 89DF1C 8024077C 3C013FC0 */ lui $at, 0x3fc0 +/* 89DF20 80240780 44810000 */ mtc1 $at, $f0 +/* 89DF24 80240784 00000000 */ nop +/* 89DF28 80240788 46001081 */ sub.s $f2, $f2, $f0 +/* 89DF2C 8024078C 46043300 */ add.s $f12, $f6, $f4 +/* 89DF30 80240790 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89DF34 80240794 46001501 */ sub.s $f20, $f2, $f0 +/* 89DF38 80240798 46006084 */ sqrt.s $f2, $f12 +/* 89DF3C 8024079C 46021032 */ c.eq.s $f2, $f2 +/* 89DF40 802407A0 00000000 */ nop +/* 89DF44 802407A4 45010004 */ bc1t .L802407B8 +/* 89DF48 802407A8 00000000 */ nop +/* 89DF4C 802407AC 0C0187BC */ jal sqrtf +/* 89DF50 802407B0 00000000 */ nop +/* 89DF54 802407B4 46000086 */ mov.s $f2, $f0 +.L802407B8: +/* 89DF58 802407B8 44800000 */ mtc1 $zero, $f0 +/* 89DF5C 802407BC 00000000 */ nop +/* 89DF60 802407C0 4614003C */ c.lt.s $f0, $f20 +/* 89DF64 802407C4 00000000 */ nop +/* 89DF68 802407C8 45000016 */ bc1f .L80240824 +/* 89DF6C 802407CC 46001106 */ mov.s $f4, $f2 +/* 89DF70 802407D0 860200A8 */ lh $v0, 0xa8($s0) +/* 89DF74 802407D4 44820000 */ mtc1 $v0, $f0 +/* 89DF78 802407D8 00000000 */ nop +/* 89DF7C 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* 89DF80 802407E0 4600A03C */ c.lt.s $f20, $f0 +/* 89DF84 802407E4 00000000 */ nop +/* 89DF88 802407E8 4500000F */ bc1f .L80240828 +/* 89DF8C 802407EC 0000882D */ daddu $s1, $zero, $zero +/* 89DF90 802407F0 860200A6 */ lh $v0, 0xa6($s0) +/* 89DF94 802407F4 3C013F00 */ lui $at, 0x3f00 +/* 89DF98 802407F8 44811000 */ mtc1 $at, $f2 +/* 89DF9C 802407FC 44820000 */ mtc1 $v0, $f0 +/* 89DFA0 80240800 00000000 */ nop +/* 89DFA4 80240804 46800020 */ cvt.s.w $f0, $f0 +/* 89DFA8 80240808 46020002 */ mul.s $f0, $f0, $f2 +/* 89DFAC 8024080C 00000000 */ nop +/* 89DFB0 80240810 4600203C */ c.lt.s $f4, $f0 +/* 89DFB4 80240814 00000000 */ nop +/* 89DFB8 80240818 45000003 */ bc1f .L80240828 +/* 89DFBC 8024081C 24020001 */ addiu $v0, $zero, 1 +/* 89DFC0 80240820 AE62008C */ sw $v0, 0x8c($s3) +.L80240824: +/* 89DFC4 80240824 0000882D */ daddu $s1, $zero, $zero +.L80240828: +/* 89DFC8 80240828 3C013FC0 */ lui $at, 0x3fc0 +/* 89DFCC 8024082C 4481D000 */ mtc1 $at, $f26 +/* 89DFD0 80240830 4480C000 */ mtc1 $zero, $f24 +/* 89DFD4 80240834 3C013F00 */ lui $at, 0x3f00 +/* 89DFD8 80240838 4481B000 */ mtc1 $at, $f22 +.L8024083C: +/* 89DFDC 8024083C 0C00EAD2 */ jal get_npc_safe +/* 89DFE0 80240840 0220202D */ daddu $a0, $s1, $zero +/* 89DFE4 80240844 0040802D */ daddu $s0, $v0, $zero +/* 89DFE8 80240848 52000035 */ beql $s0, $zero, .L80240920 +/* 89DFEC 8024084C 26310001 */ addiu $s1, $s1, 1 +/* 89DFF0 80240850 C6020038 */ lwc1 $f2, 0x38($s0) +/* 89DFF4 80240854 C6400098 */ lwc1 $f0, 0x98($s2) +/* 89DFF8 80240858 46001081 */ sub.s $f2, $f2, $f0 +/* 89DFFC 8024085C 46021182 */ mul.s $f6, $f2, $f2 +/* 89E000 80240860 00000000 */ nop +/* 89E004 80240864 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 89E008 80240868 C6020040 */ lwc1 $f2, 0x40($s0) +/* 89E00C 8024086C 46001081 */ sub.s $f2, $f2, $f0 +/* 89E010 80240870 46021102 */ mul.s $f4, $f2, $f2 +/* 89E014 80240874 00000000 */ nop +/* 89E018 80240878 860200A8 */ lh $v0, 0xa8($s0) +/* 89E01C 8024087C C602003C */ lwc1 $f2, 0x3c($s0) +/* 89E020 80240880 44820000 */ mtc1 $v0, $f0 +/* 89E024 80240884 00000000 */ nop +/* 89E028 80240888 46800020 */ cvt.s.w $f0, $f0 +/* 89E02C 8024088C 46001080 */ add.s $f2, $f2, $f0 +/* 89E030 80240890 461A1081 */ sub.s $f2, $f2, $f26 +/* 89E034 80240894 46043300 */ add.s $f12, $f6, $f4 +/* 89E038 80240898 C640009C */ lwc1 $f0, 0x9c($s2) +/* 89E03C 8024089C 46001501 */ sub.s $f20, $f2, $f0 +/* 89E040 802408A0 46006004 */ sqrt.s $f0, $f12 +/* 89E044 802408A4 46000032 */ c.eq.s $f0, $f0 +/* 89E048 802408A8 00000000 */ nop +/* 89E04C 802408AC 45010003 */ bc1t .L802408BC +/* 89E050 802408B0 00000000 */ nop +/* 89E054 802408B4 0C0187BC */ jal sqrtf +/* 89E058 802408B8 00000000 */ nop +.L802408BC: +/* 89E05C 802408BC 4614C03C */ c.lt.s $f24, $f20 +/* 89E060 802408C0 00000000 */ nop +/* 89E064 802408C4 45000015 */ bc1f .L8024091C +/* 89E068 802408C8 46000106 */ mov.s $f4, $f0 +/* 89E06C 802408CC 860200A8 */ lh $v0, 0xa8($s0) +/* 89E070 802408D0 44820000 */ mtc1 $v0, $f0 +/* 89E074 802408D4 00000000 */ nop +/* 89E078 802408D8 46800020 */ cvt.s.w $f0, $f0 +/* 89E07C 802408DC 4600A03C */ c.lt.s $f20, $f0 +/* 89E080 802408E0 00000000 */ nop +/* 89E084 802408E4 4500000E */ bc1f .L80240920 +/* 89E088 802408E8 26310001 */ addiu $s1, $s1, 1 +/* 89E08C 802408EC 860200A6 */ lh $v0, 0xa6($s0) +/* 89E090 802408F0 44820000 */ mtc1 $v0, $f0 +/* 89E094 802408F4 00000000 */ nop +/* 89E098 802408F8 46800020 */ cvt.s.w $f0, $f0 +/* 89E09C 802408FC 46160002 */ mul.s $f0, $f0, $f22 +/* 89E0A0 80240900 00000000 */ nop +/* 89E0A4 80240904 4600203C */ c.lt.s $f4, $f0 +/* 89E0A8 80240908 00000000 */ nop +/* 89E0AC 8024090C 45000004 */ bc1f .L80240920 +/* 89E0B0 80240910 24020001 */ addiu $v0, $zero, 1 +/* 89E0B4 80240914 0809024B */ j .L8024092C +/* 89E0B8 80240918 AE62008C */ sw $v0, 0x8c($s3) +.L8024091C: +/* 89E0BC 8024091C 26310001 */ addiu $s1, $s1, 1 +.L80240920: +/* 89E0C0 80240920 2A220040 */ slti $v0, $s1, 0x40 +/* 89E0C4 80240924 1440FFC5 */ bnez $v0, .L8024083C +/* 89E0C8 80240928 00000000 */ nop +.L8024092C: +/* 89E0CC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* 89E0D0 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* 89E0D4 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* 89E0D8 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* 89E0DC 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* 89E0E0 80240940 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 89E0E4 80240944 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 89E0E8 80240948 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 89E0EC 8024094C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 89E0F0 80240950 24020002 */ addiu $v0, $zero, 2 +/* 89E0F4 80240954 03E00008 */ jr $ra +/* 89E0F8 80240958 27BD0048 */ addiu $sp, $sp, 0x48 +/* 89E0FC 8024095C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240000_89FEC0.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240000_89FEC0.s new file mode 100644 index 0000000000..a37da8a38d --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240000_89FEC0.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_89FEC0 +/* 89FEC0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89FEC4 80240004 0000202D */ daddu $a0, $zero, $zero +/* 89FEC8 80240008 AFBF0010 */ sw $ra, 0x10($sp) +/* 89FECC 8024000C 0C052AC3 */ jal func_8014AB0C +/* 89FED0 80240010 24050002 */ addiu $a1, $zero, 2 +/* 89FED4 80240014 8FBF0010 */ lw $ra, 0x10($sp) +/* 89FED8 80240018 24020002 */ addiu $v0, $zero, 2 +/* 89FEDC 8024001C 03E00008 */ jr $ra +/* 89FEE0 80240020 27BD0018 */ addiu $sp, $sp, 0x18 +/* 89FEE4 80240024 00000000 */ nop +/* 89FEE8 80240028 00000000 */ nop +/* 89FEEC 8024002C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240030_89FEC0.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240030_89FEC0.s new file mode 100644 index 0000000000..9023021b88 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240030_89FEC0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240030_89FEF0 +/* 89FEF0 80240030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 89FEF4 80240034 AFB00010 */ sw $s0, 0x10($sp) +/* 89FEF8 80240038 0080802D */ daddu $s0, $a0, $zero +/* 89FEFC 8024003C AFBF0014 */ sw $ra, 0x14($sp) +/* 89FF00 80240040 8E0300A8 */ lw $v1, 0xa8($s0) +/* 89FF04 80240044 8E020088 */ lw $v0, 0x88($s0) +/* 89FF08 80240048 00621821 */ addu $v1, $v1, $v0 +/* 89FF0C 8024004C 04610004 */ bgez $v1, .L80240060 +/* 89FF10 80240050 AE0300A8 */ sw $v1, 0xa8($s0) +/* 89FF14 80240054 3C020002 */ lui $v0, 2 +/* 89FF18 80240058 0809001C */ j .L80240070 +/* 89FF1C 8024005C 00621021 */ addu $v0, $v1, $v0 +.L80240060: +/* 89FF20 80240060 3C040002 */ lui $a0, 2 +/* 89FF24 80240064 0083102A */ slt $v0, $a0, $v1 +/* 89FF28 80240068 10400002 */ beqz $v0, .L80240074 +/* 89FF2C 8024006C 00641023 */ subu $v0, $v1, $a0 +.L80240070: +/* 89FF30 80240070 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240074: +/* 89FF34 80240074 8E0300AC */ lw $v1, 0xac($s0) +/* 89FF38 80240078 8E02008C */ lw $v0, 0x8c($s0) +/* 89FF3C 8024007C 00621821 */ addu $v1, $v1, $v0 +/* 89FF40 80240080 04610004 */ bgez $v1, .L80240094 +/* 89FF44 80240084 AE0300AC */ sw $v1, 0xac($s0) +/* 89FF48 80240088 3C020002 */ lui $v0, 2 +/* 89FF4C 8024008C 08090029 */ j .L802400A4 +/* 89FF50 80240090 00621021 */ addu $v0, $v1, $v0 +.L80240094: +/* 89FF54 80240094 3C040002 */ lui $a0, 2 +/* 89FF58 80240098 0083102A */ slt $v0, $a0, $v1 +/* 89FF5C 8024009C 10400002 */ beqz $v0, .L802400A8 +/* 89FF60 802400A0 00641023 */ subu $v0, $v1, $a0 +.L802400A4: +/* 89FF64 802400A4 AE0200AC */ sw $v0, 0xac($s0) +.L802400A8: +/* 89FF68 802400A8 8E0300B0 */ lw $v1, 0xb0($s0) +/* 89FF6C 802400AC 8E020090 */ lw $v0, 0x90($s0) +/* 89FF70 802400B0 00621821 */ addu $v1, $v1, $v0 +/* 89FF74 802400B4 04610004 */ bgez $v1, .L802400C8 +/* 89FF78 802400B8 AE0300B0 */ sw $v1, 0xb0($s0) +/* 89FF7C 802400BC 3C020002 */ lui $v0, 2 +/* 89FF80 802400C0 08090036 */ j .L802400D8 +/* 89FF84 802400C4 00621021 */ addu $v0, $v1, $v0 +.L802400C8: +/* 89FF88 802400C8 3C040002 */ lui $a0, 2 +/* 89FF8C 802400CC 0083102A */ slt $v0, $a0, $v1 +/* 89FF90 802400D0 10400002 */ beqz $v0, .L802400DC +/* 89FF94 802400D4 00641023 */ subu $v0, $v1, $a0 +.L802400D8: +/* 89FF98 802400D8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400DC: +/* 89FF9C 802400DC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 89FFA0 802400E0 8E020094 */ lw $v0, 0x94($s0) +/* 89FFA4 802400E4 00621821 */ addu $v1, $v1, $v0 +/* 89FFA8 802400E8 04610004 */ bgez $v1, .L802400FC +/* 89FFAC 802400EC AE0300B4 */ sw $v1, 0xb4($s0) +/* 89FFB0 802400F0 3C020002 */ lui $v0, 2 +/* 89FFB4 802400F4 08090043 */ j .L8024010C +/* 89FFB8 802400F8 00621021 */ addu $v0, $v1, $v0 +.L802400FC: +/* 89FFBC 802400FC 3C040002 */ lui $a0, 2 +/* 89FFC0 80240100 0083102A */ slt $v0, $a0, $v1 +/* 89FFC4 80240104 10400002 */ beqz $v0, .L80240110 +/* 89FFC8 80240108 00641023 */ subu $v0, $v1, $a0 +.L8024010C: +/* 89FFCC 8024010C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240110: +/* 89FFD0 80240110 8E040084 */ lw $a0, 0x84($s0) +/* 89FFD4 80240114 0C046F07 */ jal set_main_pan_u +/* 89FFD8 80240118 8E0500A8 */ lw $a1, 0xa8($s0) +/* 89FFDC 8024011C 8E040084 */ lw $a0, 0x84($s0) +/* 89FFE0 80240120 0C046F0D */ jal set_main_pan_v +/* 89FFE4 80240124 8E0500AC */ lw $a1, 0xac($s0) +/* 89FFE8 80240128 8E040084 */ lw $a0, 0x84($s0) +/* 89FFEC 8024012C 0C046F13 */ jal set_aux_pan_u +/* 89FFF0 80240130 8E0500B0 */ lw $a1, 0xb0($s0) +/* 89FFF4 80240134 8E040084 */ lw $a0, 0x84($s0) +/* 89FFF8 80240138 0C046F19 */ jal set_aux_pan_v +/* 89FFFC 8024013C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A0000 80240140 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A0004 80240144 8FB00010 */ lw $s0, 0x10($sp) +/* 8A0008 80240148 0000102D */ daddu $v0, $zero, $zero +/* 8A000C 8024014C 03E00008 */ jr $ra +/* 8A0010 80240150 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240154.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240154.s new file mode 100644 index 0000000000..2c35db71bb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240154.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240154 +/* 8A0014 80240154 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A0018 80240158 AFB00010 */ sw $s0, 0x10($sp) +/* 8A001C 8024015C 0080802D */ daddu $s0, $a0, $zero +/* 8A0020 80240160 10A00005 */ beqz $a1, .L80240178 +/* 8A0024 80240164 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A0028 80240168 AE000070 */ sw $zero, 0x70($s0) +/* 8A002C 8024016C AE000074 */ sw $zero, 0x74($s0) +/* 8A0030 80240170 AE000078 */ sw $zero, 0x78($s0) +/* 8A0034 80240174 AE00007C */ sw $zero, 0x7c($s0) +.L80240178: +/* 8A0038 80240178 8E020070 */ lw $v0, 0x70($s0) +/* 8A003C 8024017C 1440000E */ bnez $v0, .L802401B8 +/* 8A0040 80240180 00000000 */ nop +/* 8A0044 80240184 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A0048 80240188 8E020088 */ lw $v0, 0x88($s0) +/* 8A004C 8024018C 00621821 */ addu $v1, $v1, $v0 +/* 8A0050 80240190 04610004 */ bgez $v1, .L802401A4 +/* 8A0054 80240194 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A0058 80240198 3C020002 */ lui $v0, 2 +/* 8A005C 8024019C 0809006D */ j .L802401B4 +/* 8A0060 802401A0 00621021 */ addu $v0, $v1, $v0 +.L802401A4: +/* 8A0064 802401A4 3C040002 */ lui $a0, 2 +/* 8A0068 802401A8 0083102A */ slt $v0, $a0, $v1 +/* 8A006C 802401AC 10400002 */ beqz $v0, .L802401B8 +/* 8A0070 802401B0 00641023 */ subu $v0, $v1, $a0 +.L802401B4: +/* 8A0074 802401B4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401B8: +/* 8A0078 802401B8 8E020074 */ lw $v0, 0x74($s0) +/* 8A007C 802401BC 1440000E */ bnez $v0, .L802401F8 +/* 8A0080 802401C0 00000000 */ nop +/* 8A0084 802401C4 8E0300AC */ lw $v1, 0xac($s0) +/* 8A0088 802401C8 8E02008C */ lw $v0, 0x8c($s0) +/* 8A008C 802401CC 00621821 */ addu $v1, $v1, $v0 +/* 8A0090 802401D0 04610004 */ bgez $v1, .L802401E4 +/* 8A0094 802401D4 AE0300AC */ sw $v1, 0xac($s0) +/* 8A0098 802401D8 3C020002 */ lui $v0, 2 +/* 8A009C 802401DC 0809007D */ j .L802401F4 +/* 8A00A0 802401E0 00621021 */ addu $v0, $v1, $v0 +.L802401E4: +/* 8A00A4 802401E4 3C040002 */ lui $a0, 2 +/* 8A00A8 802401E8 0083102A */ slt $v0, $a0, $v1 +/* 8A00AC 802401EC 10400002 */ beqz $v0, .L802401F8 +/* 8A00B0 802401F0 00641023 */ subu $v0, $v1, $a0 +.L802401F4: +/* 8A00B4 802401F4 AE0200AC */ sw $v0, 0xac($s0) +.L802401F8: +/* 8A00B8 802401F8 8E020078 */ lw $v0, 0x78($s0) +/* 8A00BC 802401FC 1440000E */ bnez $v0, .L80240238 +/* 8A00C0 80240200 00000000 */ nop +/* 8A00C4 80240204 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A00C8 80240208 8E020090 */ lw $v0, 0x90($s0) +/* 8A00CC 8024020C 00621821 */ addu $v1, $v1, $v0 +/* 8A00D0 80240210 04610004 */ bgez $v1, .L80240224 +/* 8A00D4 80240214 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A00D8 80240218 3C020002 */ lui $v0, 2 +/* 8A00DC 8024021C 0809008D */ j .L80240234 +/* 8A00E0 80240220 00621021 */ addu $v0, $v1, $v0 +.L80240224: +/* 8A00E4 80240224 3C040002 */ lui $a0, 2 +/* 8A00E8 80240228 0083102A */ slt $v0, $a0, $v1 +/* 8A00EC 8024022C 10400002 */ beqz $v0, .L80240238 +/* 8A00F0 80240230 00641023 */ subu $v0, $v1, $a0 +.L80240234: +/* 8A00F4 80240234 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240238: +/* 8A00F8 80240238 8E02007C */ lw $v0, 0x7c($s0) +/* 8A00FC 8024023C 1440000E */ bnez $v0, .L80240278 +/* 8A0100 80240240 00000000 */ nop +/* 8A0104 80240244 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A0108 80240248 8E020094 */ lw $v0, 0x94($s0) +/* 8A010C 8024024C 00621821 */ addu $v1, $v1, $v0 +/* 8A0110 80240250 04610004 */ bgez $v1, .L80240264 +/* 8A0114 80240254 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A0118 80240258 3C020002 */ lui $v0, 2 +/* 8A011C 8024025C 0809009D */ j .L80240274 +/* 8A0120 80240260 00621021 */ addu $v0, $v1, $v0 +.L80240264: +/* 8A0124 80240264 3C040002 */ lui $a0, 2 +/* 8A0128 80240268 0083102A */ slt $v0, $a0, $v1 +/* 8A012C 8024026C 10400002 */ beqz $v0, .L80240278 +/* 8A0130 80240270 00641023 */ subu $v0, $v1, $a0 +.L80240274: +/* 8A0134 80240274 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240278: +/* 8A0138 80240278 8E040084 */ lw $a0, 0x84($s0) +/* 8A013C 8024027C 0C046F07 */ jal set_main_pan_u +/* 8A0140 80240280 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A0144 80240284 8E040084 */ lw $a0, 0x84($s0) +/* 8A0148 80240288 0C046F0D */ jal set_main_pan_v +/* 8A014C 8024028C 8E0500AC */ lw $a1, 0xac($s0) +/* 8A0150 80240290 8E040084 */ lw $a0, 0x84($s0) +/* 8A0154 80240294 0C046F13 */ jal set_aux_pan_u +/* 8A0158 80240298 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A015C 8024029C 8E040084 */ lw $a0, 0x84($s0) +/* 8A0160 802402A0 0C046F19 */ jal set_aux_pan_v +/* 8A0164 802402A4 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A0168 802402A8 8E020070 */ lw $v0, 0x70($s0) +/* 8A016C 802402AC 8E030078 */ lw $v1, 0x78($s0) +/* 8A0170 802402B0 8E040098 */ lw $a0, 0x98($s0) +/* 8A0174 802402B4 24420001 */ addiu $v0, $v0, 1 +/* 8A0178 802402B8 AE020070 */ sw $v0, 0x70($s0) +/* 8A017C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 8A0180 802402C0 24630001 */ addiu $v1, $v1, 1 +/* 8A0184 802402C4 AE030078 */ sw $v1, 0x78($s0) +/* 8A0188 802402C8 8E030070 */ lw $v1, 0x70($s0) +/* 8A018C 802402CC 24420001 */ addiu $v0, $v0, 1 +/* 8A0190 802402D0 AE020074 */ sw $v0, 0x74($s0) +/* 8A0194 802402D4 8E02007C */ lw $v0, 0x7c($s0) +/* 8A0198 802402D8 0064182A */ slt $v1, $v1, $a0 +/* 8A019C 802402DC 24420001 */ addiu $v0, $v0, 1 +/* 8A01A0 802402E0 14600002 */ bnez $v1, .L802402EC +/* 8A01A4 802402E4 AE02007C */ sw $v0, 0x7c($s0) +/* 8A01A8 802402E8 AE000070 */ sw $zero, 0x70($s0) +.L802402EC: +/* 8A01AC 802402EC 8E020074 */ lw $v0, 0x74($s0) +/* 8A01B0 802402F0 8E03009C */ lw $v1, 0x9c($s0) +/* 8A01B4 802402F4 0043102A */ slt $v0, $v0, $v1 +/* 8A01B8 802402F8 50400001 */ beql $v0, $zero, .L80240300 +/* 8A01BC 802402FC AE000074 */ sw $zero, 0x74($s0) +.L80240300: +/* 8A01C0 80240300 8E020078 */ lw $v0, 0x78($s0) +/* 8A01C4 80240304 8E0300A0 */ lw $v1, 0xa0($s0) +/* 8A01C8 80240308 0043102A */ slt $v0, $v0, $v1 +/* 8A01CC 8024030C 50400001 */ beql $v0, $zero, .L80240314 +/* 8A01D0 80240310 AE000078 */ sw $zero, 0x78($s0) +.L80240314: +/* 8A01D4 80240314 8E02007C */ lw $v0, 0x7c($s0) +/* 8A01D8 80240318 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8A01DC 8024031C 0043102A */ slt $v0, $v0, $v1 +/* 8A01E0 80240320 50400001 */ beql $v0, $zero, .L80240328 +/* 8A01E4 80240324 AE00007C */ sw $zero, 0x7c($s0) +.L80240328: +/* 8A01E8 80240328 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A01EC 8024032C 8FB00010 */ lw $s0, 0x10($sp) +/* 8A01F0 80240330 0000102D */ daddu $v0, $zero, $zero +/* 8A01F4 80240334 03E00008 */ jr $ra +/* 8A01F8 80240338 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_8024033C.s b/asm/nonmatchings/world/area_tik/tik_22/func_8024033C.s new file mode 100644 index 0000000000..6ec3ec6768 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_8024033C.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024033C +/* 8A01FC 8024033C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A0200 80240340 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A0204 80240344 8C430004 */ lw $v1, 4($v0) +/* 8A0208 80240348 3C040010 */ lui $a0, 0x10 +/* 8A020C 8024034C 00641825 */ or $v1, $v1, $a0 +/* 8A0210 80240350 AC430004 */ sw $v1, 4($v0) +/* 8A0214 80240354 03E00008 */ jr $ra +/* 8A0218 80240358 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_8024035C.s b/asm/nonmatchings/world/area_tik/tik_22/func_8024035C.s new file mode 100644 index 0000000000..b4bc6830b8 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_8024035C.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024035C +/* 8A021C 8024035C 3C028016 */ lui $v0, 0x8016 +/* 8A0220 80240360 8442A552 */ lh $v0, -0x5aae($v0) +/* 8A0224 80240364 AC820084 */ sw $v0, 0x84($a0) +/* 8A0228 80240368 03E00008 */ jr $ra +/* 8A022C 8024036C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240370.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240370.s new file mode 100644 index 0000000000..4554c59fb5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240370.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240370 +/* 8A0230 80240370 3C038016 */ lui $v1, 0x8016 +/* 8A0234 80240374 8463A552 */ lh $v1, -0x5aae($v1) +/* 8A0238 80240378 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A023C 8024037C AFB00010 */ sw $s0, 0x10($sp) +/* 8A0240 80240380 0080802D */ daddu $s0, $a0, $zero +/* 8A0244 80240384 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A0248 80240388 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8A024C 8024038C 10620003 */ beq $v1, $v0, .L8024039C +/* 8A0250 80240390 24020002 */ addiu $v0, $zero, 2 +/* 8A0254 80240394 08090107 */ j .L8024041C +/* 8A0258 80240398 AE000084 */ sw $zero, 0x84($s0) +.L8024039C: +/* 8A025C 8024039C 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8A0260 802403A0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8A0264 802403A4 80620040 */ lb $v0, 0x40($v1) +/* 8A0268 802403A8 80670044 */ lb $a3, 0x44($v1) +/* 8A026C 802403AC 04420001 */ bltzl $v0, .L802403B4 +/* 8A0270 802403B0 00021023 */ negu $v0, $v0 +.L802403B4: +/* 8A0274 802403B4 14400003 */ bnez $v0, .L802403C4 +/* 8A0278 802403B8 00000000 */ nop +/* 8A027C 802403BC 50E00017 */ beql $a3, $zero, .L8024041C +/* 8A0280 802403C0 0000102D */ daddu $v0, $zero, $zero +.L802403C4: +/* 8A0284 802403C4 44822000 */ mtc1 $v0, $f4 +/* 8A0288 802403C8 00000000 */ nop +/* 8A028C 802403CC 46802120 */ cvt.s.w $f4, $f4 +/* 8A0290 802403D0 44062000 */ mfc1 $a2, $f4 +/* 8A0294 802403D4 44872000 */ mtc1 $a3, $f4 +/* 8A0298 802403D8 00000000 */ nop +/* 8A029C 802403DC 46802120 */ cvt.s.w $f4, $f4 +/* 8A02A0 802403E0 44806000 */ mtc1 $zero, $f12 +/* 8A02A4 802403E4 44072000 */ mfc1 $a3, $f4 +/* 8A02A8 802403E8 0C00A720 */ jal atan2 +/* 8A02AC 802403EC 46006386 */ mov.s $f14, $f12 +/* 8A02B0 802403F0 3C014270 */ lui $at, 0x4270 +/* 8A02B4 802403F4 44811000 */ mtc1 $at, $f2 +/* 8A02B8 802403F8 00000000 */ nop +/* 8A02BC 802403FC 4602003C */ c.lt.s $f0, $f2 +/* 8A02C0 80240400 00000000 */ nop +/* 8A02C4 80240404 45000004 */ bc1f .L80240418 +/* 8A02C8 80240408 24020001 */ addiu $v0, $zero, 1 +/* 8A02CC 8024040C AE020084 */ sw $v0, 0x84($s0) +/* 8A02D0 80240410 08090107 */ j .L8024041C +/* 8A02D4 80240414 24020002 */ addiu $v0, $zero, 2 +.L80240418: +/* 8A02D8 80240418 0000102D */ daddu $v0, $zero, $zero +.L8024041C: +/* 8A02DC 8024041C 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A02E0 80240420 8FB00010 */ lw $s0, 0x10($sp) +/* 8A02E4 80240424 03E00008 */ jr $ra +/* 8A02E8 80240428 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_8024042C.s b/asm/nonmatchings/world/area_tik/tik_22/func_8024042C.s new file mode 100644 index 0000000000..fe337eb57f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_8024042C.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024042C +/* 8A02EC 8024042C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A02F0 80240430 AFB10014 */ sw $s1, 0x14($sp) +/* 8A02F4 80240434 0080882D */ daddu $s1, $a0, $zero +/* 8A02F8 80240438 AFBF001C */ sw $ra, 0x1c($sp) +/* 8A02FC 8024043C AFB20018 */ sw $s2, 0x18($sp) +/* 8A0300 80240440 0C016AFA */ jal get_current_map_header +/* 8A0304 80240444 AFB00010 */ sw $s0, 0x10($sp) +/* 8A0308 80240448 0220202D */ daddu $a0, $s1, $zero +/* 8A030C 8024044C 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0310 80240450 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8A0314 80240454 0C0B1EAF */ jal get_variable +/* 8A0318 80240458 0040902D */ daddu $s2, $v0, $zero +/* 8A031C 8024045C 0220202D */ daddu $a0, $s1, $zero +/* 8A0320 80240460 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0324 80240464 8E430014 */ lw $v1, 0x14($s2) +/* 8A0328 80240468 00028100 */ sll $s0, $v0, 4 +/* 8A032C 8024046C 02031821 */ addu $v1, $s0, $v1 +/* 8A0330 80240470 C4600000 */ lwc1 $f0, ($v1) +/* 8A0334 80240474 4600008D */ trunc.w.s $f2, $f0 +/* 8A0338 80240478 44061000 */ mfc1 $a2, $f2 +/* 8A033C 8024047C 0C0B2026 */ jal set_variable +/* 8A0340 80240480 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8A0344 80240484 0220202D */ daddu $a0, $s1, $zero +/* 8A0348 80240488 8E420014 */ lw $v0, 0x14($s2) +/* 8A034C 8024048C 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0350 80240490 02021021 */ addu $v0, $s0, $v0 +/* 8A0354 80240494 C4400004 */ lwc1 $f0, 4($v0) +/* 8A0358 80240498 4600008D */ trunc.w.s $f2, $f0 +/* 8A035C 8024049C 44061000 */ mfc1 $a2, $f2 +/* 8A0360 802404A0 0C0B2026 */ jal set_variable +/* 8A0364 802404A4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8A0368 802404A8 0220202D */ daddu $a0, $s1, $zero +/* 8A036C 802404AC 8E420014 */ lw $v0, 0x14($s2) +/* 8A0370 802404B0 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0374 802404B4 02021021 */ addu $v0, $s0, $v0 +/* 8A0378 802404B8 C4400008 */ lwc1 $f0, 8($v0) +/* 8A037C 802404BC 4600008D */ trunc.w.s $f2, $f0 +/* 8A0380 802404C0 44061000 */ mfc1 $a2, $f2 +/* 8A0384 802404C4 0C0B2026 */ jal set_variable +/* 8A0388 802404C8 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8A038C 802404CC 0220202D */ daddu $a0, $s1, $zero +/* 8A0390 802404D0 8E420014 */ lw $v0, 0x14($s2) +/* 8A0394 802404D4 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0398 802404D8 02028021 */ addu $s0, $s0, $v0 +/* 8A039C 802404DC C600000C */ lwc1 $f0, 0xc($s0) +/* 8A03A0 802404E0 4600008D */ trunc.w.s $f2, $f0 +/* 8A03A4 802404E4 44061000 */ mfc1 $a2, $f2 +/* 8A03A8 802404E8 0C0B2026 */ jal set_variable +/* 8A03AC 802404EC 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8A03B0 802404F0 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A03B4 802404F4 8FB20018 */ lw $s2, 0x18($sp) +/* 8A03B8 802404F8 8FB10014 */ lw $s1, 0x14($sp) +/* 8A03BC 802404FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8A03C0 80240500 24020002 */ addiu $v0, $zero, 2 +/* 8A03C4 80240504 03E00008 */ jr $ra +/* 8A03C8 80240508 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_8024050C_89FEC0.s b/asm/nonmatchings/world/area_tik/tik_22/func_8024050C_89FEC0.s new file mode 100644 index 0000000000..20b3b9dfc7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_8024050C_89FEC0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024050C_8A03CC +/* 8A03CC 8024050C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8A03D0 80240510 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8A03D4 80240514 3C014334 */ lui $at, 0x4334 +/* 8A03D8 80240518 44816000 */ mtc1 $at, $f12 +/* 8A03DC 8024051C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A03E0 80240520 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A03E4 80240524 AFB00010 */ sw $s0, 0x10($sp) +/* 8A03E8 80240528 00031080 */ sll $v0, $v1, 2 +/* 8A03EC 8024052C 00431021 */ addu $v0, $v0, $v1 +/* 8A03F0 80240530 00021080 */ sll $v0, $v0, 2 +/* 8A03F4 80240534 00431023 */ subu $v0, $v0, $v1 +/* 8A03F8 80240538 000218C0 */ sll $v1, $v0, 3 +/* 8A03FC 8024053C 00431021 */ addu $v0, $v0, $v1 +/* 8A0400 80240540 000210C0 */ sll $v0, $v0, 3 +/* 8A0404 80240544 3C01800B */ lui $at, 0x800b +/* 8A0408 80240548 00220821 */ addu $at, $at, $v0 +/* 8A040C 8024054C C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8A0410 80240550 460C0300 */ add.s $f12, $f0, $f12 +/* 8A0414 80240554 0C00A6C9 */ jal clamp_angle +/* 8A0418 80240558 0080802D */ daddu $s0, $a0, $zero +/* 8A041C 8024055C 4600008D */ trunc.w.s $f2, $f0 +/* 8A0420 80240560 E6020084 */ swc1 $f2, 0x84($s0) +/* 8A0424 80240564 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A0428 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* 8A042C 8024056C 24020002 */ addiu $v0, $zero, 2 +/* 8A0430 80240570 03E00008 */ jr $ra +/* 8A0434 80240574 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240578_89FEC0.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240578_89FEC0.s new file mode 100644 index 0000000000..93520fb7ca --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240578_89FEC0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240578_8A0438 +/* 8A0438 80240578 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A043C 8024057C AFB00018 */ sw $s0, 0x18($sp) +/* 8A0440 80240580 0080802D */ daddu $s0, $a0, $zero +/* 8A0444 80240584 AFBF001C */ sw $ra, 0x1c($sp) +/* 8A0448 80240588 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8A044C 8024058C 8E02000C */ lw $v0, 0xc($s0) +/* 8A0450 80240590 0C0B210B */ jal get_float_variable +/* 8A0454 80240594 8C450000 */ lw $a1, ($v0) +/* 8A0458 80240598 27A40010 */ addiu $a0, $sp, 0x10 +/* 8A045C 8024059C 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8A0460 802405A0 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8A0464 802405A4 44060000 */ mfc1 $a2, $f0 +/* 8A0468 802405A8 C4400028 */ lwc1 $f0, 0x28($v0) +/* 8A046C 802405AC C4420030 */ lwc1 $f2, 0x30($v0) +/* 8A0470 802405B0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8A0474 802405B4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8A0478 802405B8 8C470080 */ lw $a3, 0x80($v0) +/* 8A047C 802405BC C454002C */ lwc1 $f20, 0x2c($v0) +/* 8A0480 802405C0 0C00A7E7 */ jal add_vec2D_polar +/* 8A0484 802405C4 27A50014 */ addiu $a1, $sp, 0x14 +/* 8A0488 802405C8 0200202D */ daddu $a0, $s0, $zero +/* 8A048C 802405CC 3C05FE36 */ lui $a1, 0xfe36 +/* 8A0490 802405D0 8FA60010 */ lw $a2, 0x10($sp) +/* 8A0494 802405D4 0C0B2190 */ jal set_float_variable +/* 8A0498 802405D8 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8A049C 802405DC 0200202D */ daddu $a0, $s0, $zero +/* 8A04A0 802405E0 3C05FE36 */ lui $a1, 0xfe36 +/* 8A04A4 802405E4 4406A000 */ mfc1 $a2, $f20 +/* 8A04A8 802405E8 0C0B2190 */ jal set_float_variable +/* 8A04AC 802405EC 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8A04B0 802405F0 0200202D */ daddu $a0, $s0, $zero +/* 8A04B4 802405F4 3C05FE36 */ lui $a1, 0xfe36 +/* 8A04B8 802405F8 8FA60014 */ lw $a2, 0x14($sp) +/* 8A04BC 802405FC 0C0B2190 */ jal set_float_variable +/* 8A04C0 80240600 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8A04C4 80240604 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A04C8 80240608 8FB00018 */ lw $s0, 0x18($sp) +/* 8A04CC 8024060C D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8A04D0 80240610 24020002 */ addiu $v0, $zero, 2 +/* 8A04D4 80240614 03E00008 */ jr $ra +/* 8A04D8 80240618 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_8024061C.s b/asm/nonmatchings/world/area_tik/tik_22/func_8024061C.s new file mode 100644 index 0000000000..387a00f8a7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_8024061C.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024061C +/* 8A04DC 8024061C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A04E0 80240620 0000202D */ daddu $a0, $zero, $zero +/* 8A04E4 80240624 AFBF0010 */ sw $ra, 0x10($sp) +/* 8A04E8 80240628 0C052AD8 */ jal func_8014AB60 +/* 8A04EC 8024062C 24050002 */ addiu $a1, $zero, 2 +/* 8A04F0 80240630 8FBF0010 */ lw $ra, 0x10($sp) +/* 8A04F4 80240634 24020002 */ addiu $v0, $zero, 2 +/* 8A04F8 80240638 03E00008 */ jr $ra +/* 8A04FC 8024063C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_22/func_80240640.s b/asm/nonmatchings/world/area_tik/tik_22/func_80240640.s new file mode 100644 index 0000000000..dfa720c875 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_22/func_80240640.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240640 +/* 8A0500 80240640 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A0504 80240644 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A0508 80240648 0080982D */ daddu $s3, $a0, $zero +/* 8A050C 8024064C AFBF0020 */ sw $ra, 0x20($sp) +/* 8A0510 80240650 AFB20018 */ sw $s2, 0x18($sp) +/* 8A0514 80240654 AFB10014 */ sw $s1, 0x14($sp) +/* 8A0518 80240658 AFB00010 */ sw $s0, 0x10($sp) +/* 8A051C 8024065C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8A0520 80240660 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8A0524 80240664 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8A0528 80240668 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8A052C 8024066C 8E62000C */ lw $v0, 0xc($s3) +/* 8A0530 80240670 0C0B1EAF */ jal get_variable +/* 8A0534 80240674 8C450000 */ lw $a1, ($v0) +/* 8A0538 80240678 2404FFFC */ addiu $a0, $zero, -4 +/* 8A053C 8024067C 0C00EABB */ jal get_npc_unsafe +/* 8A0540 80240680 0040802D */ daddu $s0, $v0, $zero +/* 8A0544 80240684 0200202D */ daddu $a0, $s0, $zero +/* 8A0548 80240688 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8A054C 8024068C 0040802D */ daddu $s0, $v0, $zero +/* 8A0550 80240690 0C046B4C */ jal get_model_from_list_index +/* 8A0554 80240694 0040202D */ daddu $a0, $v0, $zero +/* 8A0558 80240698 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8A055C 8024069C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8A0560 802406A0 0040902D */ daddu $s2, $v0, $zero +/* 8A0564 802406A4 AE60008C */ sw $zero, 0x8c($s3) +/* 8A0568 802406A8 C4620028 */ lwc1 $f2, 0x28($v1) +/* 8A056C 802406AC C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A0570 802406B0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A0574 802406B4 46021182 */ mul.s $f6, $f2, $f2 +/* 8A0578 802406B8 00000000 */ nop +/* 8A057C 802406BC C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A0580 802406C0 C4620030 */ lwc1 $f2, 0x30($v1) +/* 8A0584 802406C4 46001081 */ sub.s $f2, $f2, $f0 +/* 8A0588 802406C8 46021102 */ mul.s $f4, $f2, $f2 +/* 8A058C 802406CC 00000000 */ nop +/* 8A0590 802406D0 846200B0 */ lh $v0, 0xb0($v1) +/* 8A0594 802406D4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 8A0598 802406D8 44820000 */ mtc1 $v0, $f0 +/* 8A059C 802406DC 00000000 */ nop +/* 8A05A0 802406E0 46800020 */ cvt.s.w $f0, $f0 +/* 8A05A4 802406E4 46001080 */ add.s $f2, $f2, $f0 +/* 8A05A8 802406E8 3C013FC0 */ lui $at, 0x3fc0 +/* 8A05AC 802406EC 44810000 */ mtc1 $at, $f0 +/* 8A05B0 802406F0 00000000 */ nop +/* 8A05B4 802406F4 46001081 */ sub.s $f2, $f2, $f0 +/* 8A05B8 802406F8 46043300 */ add.s $f12, $f6, $f4 +/* 8A05BC 802406FC C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A05C0 80240700 46001501 */ sub.s $f20, $f2, $f0 +/* 8A05C4 80240704 46006084 */ sqrt.s $f2, $f12 +/* 8A05C8 80240708 46021032 */ c.eq.s $f2, $f2 +/* 8A05CC 8024070C 00000000 */ nop +/* 8A05D0 80240710 45010004 */ bc1t .L80240724 +/* 8A05D4 80240714 0060882D */ daddu $s1, $v1, $zero +/* 8A05D8 80240718 0C0187BC */ jal sqrtf +/* 8A05DC 8024071C 00000000 */ nop +/* 8A05E0 80240720 46000086 */ mov.s $f2, $f0 +.L80240724: +/* 8A05E4 80240724 44800000 */ mtc1 $zero, $f0 +/* 8A05E8 80240728 00000000 */ nop +/* 8A05EC 8024072C 4614003C */ c.lt.s $f0, $f20 +/* 8A05F0 80240730 00000000 */ nop +/* 8A05F4 80240734 45000016 */ bc1f .L80240790 +/* 8A05F8 80240738 46001106 */ mov.s $f4, $f2 +/* 8A05FC 8024073C 862200B0 */ lh $v0, 0xb0($s1) +/* 8A0600 80240740 44820000 */ mtc1 $v0, $f0 +/* 8A0604 80240744 00000000 */ nop +/* 8A0608 80240748 46800020 */ cvt.s.w $f0, $f0 +/* 8A060C 8024074C 4600A03C */ c.lt.s $f20, $f0 +/* 8A0610 80240750 00000000 */ nop +/* 8A0614 80240754 4500000E */ bc1f .L80240790 +/* 8A0618 80240758 00000000 */ nop +/* 8A061C 8024075C 862200B2 */ lh $v0, 0xb2($s1) +/* 8A0620 80240760 3C013F00 */ lui $at, 0x3f00 +/* 8A0624 80240764 44811000 */ mtc1 $at, $f2 +/* 8A0628 80240768 44820000 */ mtc1 $v0, $f0 +/* 8A062C 8024076C 00000000 */ nop +/* 8A0630 80240770 46800020 */ cvt.s.w $f0, $f0 +/* 8A0634 80240774 46020002 */ mul.s $f0, $f0, $f2 +/* 8A0638 80240778 00000000 */ nop +/* 8A063C 8024077C 4600203C */ c.lt.s $f4, $f0 +/* 8A0640 80240780 00000000 */ nop +/* 8A0644 80240784 45000002 */ bc1f .L80240790 +/* 8A0648 80240788 24020001 */ addiu $v0, $zero, 1 +/* 8A064C 8024078C AE62008C */ sw $v0, 0x8c($s3) +.L80240790: +/* 8A0650 80240790 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A0654 80240794 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A0658 80240798 46001081 */ sub.s $f2, $f2, $f0 +/* 8A065C 8024079C 46021182 */ mul.s $f6, $f2, $f2 +/* 8A0660 802407A0 00000000 */ nop +/* 8A0664 802407A4 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A0668 802407A8 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A066C 802407AC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A0670 802407B0 46021102 */ mul.s $f4, $f2, $f2 +/* 8A0674 802407B4 00000000 */ nop +/* 8A0678 802407B8 860200A8 */ lh $v0, 0xa8($s0) +/* 8A067C 802407BC C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A0680 802407C0 44820000 */ mtc1 $v0, $f0 +/* 8A0684 802407C4 00000000 */ nop +/* 8A0688 802407C8 46800020 */ cvt.s.w $f0, $f0 +/* 8A068C 802407CC 46001080 */ add.s $f2, $f2, $f0 +/* 8A0690 802407D0 3C013FC0 */ lui $at, 0x3fc0 +/* 8A0694 802407D4 44810000 */ mtc1 $at, $f0 +/* 8A0698 802407D8 00000000 */ nop +/* 8A069C 802407DC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A06A0 802407E0 46043300 */ add.s $f12, $f6, $f4 +/* 8A06A4 802407E4 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A06A8 802407E8 46001501 */ sub.s $f20, $f2, $f0 +/* 8A06AC 802407EC 46006084 */ sqrt.s $f2, $f12 +/* 8A06B0 802407F0 46021032 */ c.eq.s $f2, $f2 +/* 8A06B4 802407F4 00000000 */ nop +/* 8A06B8 802407F8 45010004 */ bc1t .L8024080C +/* 8A06BC 802407FC 00000000 */ nop +/* 8A06C0 80240800 0C0187BC */ jal sqrtf +/* 8A06C4 80240804 00000000 */ nop +/* 8A06C8 80240808 46000086 */ mov.s $f2, $f0 +.L8024080C: +/* 8A06CC 8024080C 44800000 */ mtc1 $zero, $f0 +/* 8A06D0 80240810 00000000 */ nop +/* 8A06D4 80240814 4614003C */ c.lt.s $f0, $f20 +/* 8A06D8 80240818 00000000 */ nop +/* 8A06DC 8024081C 45000016 */ bc1f .L80240878 +/* 8A06E0 80240820 46001106 */ mov.s $f4, $f2 +/* 8A06E4 80240824 860200A8 */ lh $v0, 0xa8($s0) +/* 8A06E8 80240828 44820000 */ mtc1 $v0, $f0 +/* 8A06EC 8024082C 00000000 */ nop +/* 8A06F0 80240830 46800020 */ cvt.s.w $f0, $f0 +/* 8A06F4 80240834 4600A03C */ c.lt.s $f20, $f0 +/* 8A06F8 80240838 00000000 */ nop +/* 8A06FC 8024083C 4500000F */ bc1f .L8024087C +/* 8A0700 80240840 0000882D */ daddu $s1, $zero, $zero +/* 8A0704 80240844 860200A6 */ lh $v0, 0xa6($s0) +/* 8A0708 80240848 3C013F00 */ lui $at, 0x3f00 +/* 8A070C 8024084C 44811000 */ mtc1 $at, $f2 +/* 8A0710 80240850 44820000 */ mtc1 $v0, $f0 +/* 8A0714 80240854 00000000 */ nop +/* 8A0718 80240858 46800020 */ cvt.s.w $f0, $f0 +/* 8A071C 8024085C 46020002 */ mul.s $f0, $f0, $f2 +/* 8A0720 80240860 00000000 */ nop +/* 8A0724 80240864 4600203C */ c.lt.s $f4, $f0 +/* 8A0728 80240868 00000000 */ nop +/* 8A072C 8024086C 45000003 */ bc1f .L8024087C +/* 8A0730 80240870 24020001 */ addiu $v0, $zero, 1 +/* 8A0734 80240874 AE62008C */ sw $v0, 0x8c($s3) +.L80240878: +/* 8A0738 80240878 0000882D */ daddu $s1, $zero, $zero +.L8024087C: +/* 8A073C 8024087C 3C013FC0 */ lui $at, 0x3fc0 +/* 8A0740 80240880 4481D000 */ mtc1 $at, $f26 +/* 8A0744 80240884 4480C000 */ mtc1 $zero, $f24 +/* 8A0748 80240888 3C013F00 */ lui $at, 0x3f00 +/* 8A074C 8024088C 4481B000 */ mtc1 $at, $f22 +.L80240890: +/* 8A0750 80240890 0C00EAD2 */ jal get_npc_safe +/* 8A0754 80240894 0220202D */ daddu $a0, $s1, $zero +/* 8A0758 80240898 0040802D */ daddu $s0, $v0, $zero +/* 8A075C 8024089C 52000035 */ beql $s0, $zero, .L80240974 +/* 8A0760 802408A0 26310001 */ addiu $s1, $s1, 1 +/* 8A0764 802408A4 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A0768 802408A8 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A076C 802408AC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A0770 802408B0 46021182 */ mul.s $f6, $f2, $f2 +/* 8A0774 802408B4 00000000 */ nop +/* 8A0778 802408B8 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A077C 802408BC C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A0780 802408C0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A0784 802408C4 46021102 */ mul.s $f4, $f2, $f2 +/* 8A0788 802408C8 00000000 */ nop +/* 8A078C 802408CC 860200A8 */ lh $v0, 0xa8($s0) +/* 8A0790 802408D0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A0794 802408D4 44820000 */ mtc1 $v0, $f0 +/* 8A0798 802408D8 00000000 */ nop +/* 8A079C 802408DC 46800020 */ cvt.s.w $f0, $f0 +/* 8A07A0 802408E0 46001080 */ add.s $f2, $f2, $f0 +/* 8A07A4 802408E4 461A1081 */ sub.s $f2, $f2, $f26 +/* 8A07A8 802408E8 46043300 */ add.s $f12, $f6, $f4 +/* 8A07AC 802408EC C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A07B0 802408F0 46001501 */ sub.s $f20, $f2, $f0 +/* 8A07B4 802408F4 46006004 */ sqrt.s $f0, $f12 +/* 8A07B8 802408F8 46000032 */ c.eq.s $f0, $f0 +/* 8A07BC 802408FC 00000000 */ nop +/* 8A07C0 80240900 45010003 */ bc1t .L80240910 +/* 8A07C4 80240904 00000000 */ nop +/* 8A07C8 80240908 0C0187BC */ jal sqrtf +/* 8A07CC 8024090C 00000000 */ nop +.L80240910: +/* 8A07D0 80240910 4614C03C */ c.lt.s $f24, $f20 +/* 8A07D4 80240914 00000000 */ nop +/* 8A07D8 80240918 45000015 */ bc1f .L80240970 +/* 8A07DC 8024091C 46000106 */ mov.s $f4, $f0 +/* 8A07E0 80240920 860200A8 */ lh $v0, 0xa8($s0) +/* 8A07E4 80240924 44820000 */ mtc1 $v0, $f0 +/* 8A07E8 80240928 00000000 */ nop +/* 8A07EC 8024092C 46800020 */ cvt.s.w $f0, $f0 +/* 8A07F0 80240930 4600A03C */ c.lt.s $f20, $f0 +/* 8A07F4 80240934 00000000 */ nop +/* 8A07F8 80240938 4500000E */ bc1f .L80240974 +/* 8A07FC 8024093C 26310001 */ addiu $s1, $s1, 1 +/* 8A0800 80240940 860200A6 */ lh $v0, 0xa6($s0) +/* 8A0804 80240944 44820000 */ mtc1 $v0, $f0 +/* 8A0808 80240948 00000000 */ nop +/* 8A080C 8024094C 46800020 */ cvt.s.w $f0, $f0 +/* 8A0810 80240950 46160002 */ mul.s $f0, $f0, $f22 +/* 8A0814 80240954 00000000 */ nop +/* 8A0818 80240958 4600203C */ c.lt.s $f4, $f0 +/* 8A081C 8024095C 00000000 */ nop +/* 8A0820 80240960 45000004 */ bc1f .L80240974 +/* 8A0824 80240964 24020001 */ addiu $v0, $zero, 1 +/* 8A0828 80240968 08090260 */ j .L80240980 +/* 8A082C 8024096C AE62008C */ sw $v0, 0x8c($s3) +.L80240970: +/* 8A0830 80240970 26310001 */ addiu $s1, $s1, 1 +.L80240974: +/* 8A0834 80240974 2A220040 */ slti $v0, $s1, 0x40 +/* 8A0838 80240978 1440FFC5 */ bnez $v0, .L80240890 +/* 8A083C 8024097C 00000000 */ nop +.L80240980: +/* 8A0840 80240980 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A0844 80240984 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A0848 80240988 8FB20018 */ lw $s2, 0x18($sp) +/* 8A084C 8024098C 8FB10014 */ lw $s1, 0x14($sp) +/* 8A0850 80240990 8FB00010 */ lw $s0, 0x10($sp) +/* 8A0854 80240994 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8A0858 80240998 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8A085C 8024099C D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8A0860 802409A0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8A0864 802409A4 24020002 */ addiu $v0, $zero, 2 +/* 8A0868 802409A8 03E00008 */ jr $ra +/* 8A086C 802409AC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240000_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240000_8A23D0.s new file mode 100644 index 0000000000..6c35847aa5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240000_8A23D0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8A23D0 +/* 8A23D0 80240000 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A23D4 80240004 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A23D8 80240008 8C430004 */ lw $v1, 4($v0) +/* 8A23DC 8024000C 3C040010 */ lui $a0, 0x10 +/* 8A23E0 80240010 00641825 */ or $v1, $v1, $a0 +/* 8A23E4 80240014 AC430004 */ sw $v1, 4($v0) +/* 8A23E8 80240018 03E00008 */ jr $ra +/* 8A23EC 8024001C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240020_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240020_8A23D0.s new file mode 100644 index 0000000000..98e3ad0d7e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240020_8A23D0.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_8A23F0 +/* 8A23F0 80240020 3C028016 */ lui $v0, 0x8016 +/* 8A23F4 80240024 8442A552 */ lh $v0, -0x5aae($v0) +/* 8A23F8 80240028 AC820084 */ sw $v0, 0x84($a0) +/* 8A23FC 8024002C 03E00008 */ jr $ra +/* 8A2400 80240030 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240034_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240034_8A23D0.s new file mode 100644 index 0000000000..867d02c50e --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240034_8A23D0.s @@ -0,0 +1,56 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_8A2404 +/* 8A2404 80240034 3C038016 */ lui $v1, 0x8016 +/* 8A2408 80240038 8463A552 */ lh $v1, -0x5aae($v1) +/* 8A240C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A2410 80240040 AFB00010 */ sw $s0, 0x10($sp) +/* 8A2414 80240044 0080802D */ daddu $s0, $a0, $zero +/* 8A2418 80240048 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A241C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0) +/* 8A2420 80240050 10620003 */ beq $v1, $v0, .L80240060 +/* 8A2424 80240054 24020002 */ addiu $v0, $zero, 2 +/* 8A2428 80240058 08090038 */ j .L802400E0 +/* 8A242C 8024005C AE000084 */ sw $zero, 0x84($s0) +.L80240060: +/* 8A2430 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 8A2434 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 8A2438 80240068 80620040 */ lb $v0, 0x40($v1) +/* 8A243C 8024006C 80670044 */ lb $a3, 0x44($v1) +/* 8A2440 80240070 04420001 */ bltzl $v0, .L80240078 +/* 8A2444 80240074 00021023 */ negu $v0, $v0 +.L80240078: +/* 8A2448 80240078 14400003 */ bnez $v0, .L80240088 +/* 8A244C 8024007C 00000000 */ nop +/* 8A2450 80240080 50E00017 */ beql $a3, $zero, .L802400E0 +/* 8A2454 80240084 0000102D */ daddu $v0, $zero, $zero +.L80240088: +/* 8A2458 80240088 44822000 */ mtc1 $v0, $f4 +/* 8A245C 8024008C 00000000 */ nop +/* 8A2460 80240090 46802120 */ cvt.s.w $f4, $f4 +/* 8A2464 80240094 44062000 */ mfc1 $a2, $f4 +/* 8A2468 80240098 44872000 */ mtc1 $a3, $f4 +/* 8A246C 8024009C 00000000 */ nop +/* 8A2470 802400A0 46802120 */ cvt.s.w $f4, $f4 +/* 8A2474 802400A4 44806000 */ mtc1 $zero, $f12 +/* 8A2478 802400A8 44072000 */ mfc1 $a3, $f4 +/* 8A247C 802400AC 0C00A720 */ jal atan2 +/* 8A2480 802400B0 46006386 */ mov.s $f14, $f12 +/* 8A2484 802400B4 3C014270 */ lui $at, 0x4270 +/* 8A2488 802400B8 44811000 */ mtc1 $at, $f2 +/* 8A248C 802400BC 00000000 */ nop +/* 8A2490 802400C0 4602003C */ c.lt.s $f0, $f2 +/* 8A2494 802400C4 00000000 */ nop +/* 8A2498 802400C8 45000004 */ bc1f .L802400DC +/* 8A249C 802400CC 24020001 */ addiu $v0, $zero, 1 +/* 8A24A0 802400D0 AE020084 */ sw $v0, 0x84($s0) +/* 8A24A4 802400D4 08090038 */ j .L802400E0 +/* 8A24A8 802400D8 24020002 */ addiu $v0, $zero, 2 +.L802400DC: +/* 8A24AC 802400DC 0000102D */ daddu $v0, $zero, $zero +.L802400E0: +/* 8A24B0 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A24B4 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* 8A24B8 802400E8 03E00008 */ jr $ra +/* 8A24BC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_802400F0_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_802400F0_8A23D0.s new file mode 100644 index 0000000000..f1ca9eeccc --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_802400F0_8A23D0.s @@ -0,0 +1,60 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400F0_8A24C0 +/* 8A24C0 802400F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A24C4 802400F4 AFB10014 */ sw $s1, 0x14($sp) +/* 8A24C8 802400F8 0080882D */ daddu $s1, $a0, $zero +/* 8A24CC 802400FC AFBF001C */ sw $ra, 0x1c($sp) +/* 8A24D0 80240100 AFB20018 */ sw $s2, 0x18($sp) +/* 8A24D4 80240104 0C016AFA */ jal get_current_map_header +/* 8A24D8 80240108 AFB00010 */ sw $s0, 0x10($sp) +/* 8A24DC 8024010C 0220202D */ daddu $a0, $s1, $zero +/* 8A24E0 80240110 3C05FE36 */ lui $a1, 0xfe36 +/* 8A24E4 80240114 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8A24E8 80240118 0C0B1EAF */ jal get_variable +/* 8A24EC 8024011C 0040902D */ daddu $s2, $v0, $zero +/* 8A24F0 80240120 0220202D */ daddu $a0, $s1, $zero +/* 8A24F4 80240124 3C05FE36 */ lui $a1, 0xfe36 +/* 8A24F8 80240128 8E430014 */ lw $v1, 0x14($s2) +/* 8A24FC 8024012C 00028100 */ sll $s0, $v0, 4 +/* 8A2500 80240130 02031821 */ addu $v1, $s0, $v1 +/* 8A2504 80240134 C4600000 */ lwc1 $f0, ($v1) +/* 8A2508 80240138 4600008D */ trunc.w.s $f2, $f0 +/* 8A250C 8024013C 44061000 */ mfc1 $a2, $f2 +/* 8A2510 80240140 0C0B2026 */ jal set_variable +/* 8A2514 80240144 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8A2518 80240148 0220202D */ daddu $a0, $s1, $zero +/* 8A251C 8024014C 8E420014 */ lw $v0, 0x14($s2) +/* 8A2520 80240150 3C05FE36 */ lui $a1, 0xfe36 +/* 8A2524 80240154 02021021 */ addu $v0, $s0, $v0 +/* 8A2528 80240158 C4400004 */ lwc1 $f0, 4($v0) +/* 8A252C 8024015C 4600008D */ trunc.w.s $f2, $f0 +/* 8A2530 80240160 44061000 */ mfc1 $a2, $f2 +/* 8A2534 80240164 0C0B2026 */ jal set_variable +/* 8A2538 80240168 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8A253C 8024016C 0220202D */ daddu $a0, $s1, $zero +/* 8A2540 80240170 8E420014 */ lw $v0, 0x14($s2) +/* 8A2544 80240174 3C05FE36 */ lui $a1, 0xfe36 +/* 8A2548 80240178 02021021 */ addu $v0, $s0, $v0 +/* 8A254C 8024017C C4400008 */ lwc1 $f0, 8($v0) +/* 8A2550 80240180 4600008D */ trunc.w.s $f2, $f0 +/* 8A2554 80240184 44061000 */ mfc1 $a2, $f2 +/* 8A2558 80240188 0C0B2026 */ jal set_variable +/* 8A255C 8024018C 34A53C83 */ ori $a1, $a1, 0x3c83 +/* 8A2560 80240190 0220202D */ daddu $a0, $s1, $zero +/* 8A2564 80240194 8E420014 */ lw $v0, 0x14($s2) +/* 8A2568 80240198 3C05FE36 */ lui $a1, 0xfe36 +/* 8A256C 8024019C 02028021 */ addu $s0, $s0, $v0 +/* 8A2570 802401A0 C600000C */ lwc1 $f0, 0xc($s0) +/* 8A2574 802401A4 4600008D */ trunc.w.s $f2, $f0 +/* 8A2578 802401A8 44061000 */ mfc1 $a2, $f2 +/* 8A257C 802401AC 0C0B2026 */ jal set_variable +/* 8A2580 802401B0 34A53C84 */ ori $a1, $a1, 0x3c84 +/* 8A2584 802401B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A2588 802401B8 8FB20018 */ lw $s2, 0x18($sp) +/* 8A258C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 8A2590 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 8A2594 802401C4 24020002 */ addiu $v0, $zero, 2 +/* 8A2598 802401C8 03E00008 */ jr $ra +/* 8A259C 802401CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_802401D0_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_802401D0_8A23D0.s new file mode 100644 index 0000000000..5499c2eda0 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_802401D0_8A23D0.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401D0_8A25A0 +/* 8A25A0 802401D0 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 8A25A4 802401D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 8A25A8 802401D8 3C014334 */ lui $at, 0x4334 +/* 8A25AC 802401DC 44816000 */ mtc1 $at, $f12 +/* 8A25B0 802401E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A25B4 802401E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A25B8 802401E8 AFB00010 */ sw $s0, 0x10($sp) +/* 8A25BC 802401EC 00031080 */ sll $v0, $v1, 2 +/* 8A25C0 802401F0 00431021 */ addu $v0, $v0, $v1 +/* 8A25C4 802401F4 00021080 */ sll $v0, $v0, 2 +/* 8A25C8 802401F8 00431023 */ subu $v0, $v0, $v1 +/* 8A25CC 802401FC 000218C0 */ sll $v1, $v0, 3 +/* 8A25D0 80240200 00431021 */ addu $v0, $v0, $v1 +/* 8A25D4 80240204 000210C0 */ sll $v0, $v0, 3 +/* 8A25D8 80240208 3C01800B */ lui $at, 0x800b +/* 8A25DC 8024020C 00220821 */ addu $at, $at, $v0 +/* 8A25E0 80240210 C4201DEC */ lwc1 $f0, 0x1dec($at) +/* 8A25E4 80240214 460C0300 */ add.s $f12, $f0, $f12 +/* 8A25E8 80240218 0C00A6C9 */ jal clamp_angle +/* 8A25EC 8024021C 0080802D */ daddu $s0, $a0, $zero +/* 8A25F0 80240220 4600008D */ trunc.w.s $f2, $f0 +/* 8A25F4 80240224 E6020084 */ swc1 $f2, 0x84($s0) +/* 8A25F8 80240228 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A25FC 8024022C 8FB00010 */ lw $s0, 0x10($sp) +/* 8A2600 80240230 24020002 */ addiu $v0, $zero, 2 +/* 8A2604 80240234 03E00008 */ jr $ra +/* 8A2608 80240238 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_8024023C_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_8024023C_8A23D0.s new file mode 100644 index 0000000000..c203396a82 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_8024023C_8A23D0.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024023C_8A260C +/* 8A260C 8024023C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A2610 80240240 AFB00018 */ sw $s0, 0x18($sp) +/* 8A2614 80240244 0080802D */ daddu $s0, $a0, $zero +/* 8A2618 80240248 AFBF001C */ sw $ra, 0x1c($sp) +/* 8A261C 8024024C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 8A2620 80240250 8E02000C */ lw $v0, 0xc($s0) +/* 8A2624 80240254 0C0B210B */ jal get_float_variable +/* 8A2628 80240258 8C450000 */ lw $a1, ($v0) +/* 8A262C 8024025C 27A40010 */ addiu $a0, $sp, 0x10 +/* 8A2630 80240260 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 8A2634 80240264 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 8A2638 80240268 44060000 */ mfc1 $a2, $f0 +/* 8A263C 8024026C C4400028 */ lwc1 $f0, 0x28($v0) +/* 8A2640 80240270 C4420030 */ lwc1 $f2, 0x30($v0) +/* 8A2644 80240274 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8A2648 80240278 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8A264C 8024027C 8C470080 */ lw $a3, 0x80($v0) +/* 8A2650 80240280 C454002C */ lwc1 $f20, 0x2c($v0) +/* 8A2654 80240284 0C00A7E7 */ jal add_vec2D_polar +/* 8A2658 80240288 27A50014 */ addiu $a1, $sp, 0x14 +/* 8A265C 8024028C 0200202D */ daddu $a0, $s0, $zero +/* 8A2660 80240290 3C05FE36 */ lui $a1, 0xfe36 +/* 8A2664 80240294 8FA60010 */ lw $a2, 0x10($sp) +/* 8A2668 80240298 0C0B2190 */ jal set_float_variable +/* 8A266C 8024029C 34A53C80 */ ori $a1, $a1, 0x3c80 +/* 8A2670 802402A0 0200202D */ daddu $a0, $s0, $zero +/* 8A2674 802402A4 3C05FE36 */ lui $a1, 0xfe36 +/* 8A2678 802402A8 4406A000 */ mfc1 $a2, $f20 +/* 8A267C 802402AC 0C0B2190 */ jal set_float_variable +/* 8A2680 802402B0 34A53C81 */ ori $a1, $a1, 0x3c81 +/* 8A2684 802402B4 0200202D */ daddu $a0, $s0, $zero +/* 8A2688 802402B8 3C05FE36 */ lui $a1, 0xfe36 +/* 8A268C 802402BC 8FA60014 */ lw $a2, 0x14($sp) +/* 8A2690 802402C0 0C0B2190 */ jal set_float_variable +/* 8A2694 802402C4 34A53C82 */ ori $a1, $a1, 0x3c82 +/* 8A2698 802402C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A269C 802402CC 8FB00018 */ lw $s0, 0x18($sp) +/* 8A26A0 802402D0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 8A26A4 802402D4 24020002 */ addiu $v0, $zero, 2 +/* 8A26A8 802402D8 03E00008 */ jr $ra +/* 8A26AC 802402DC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_802402E0_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_802402E0_8A23D0.s new file mode 100644 index 0000000000..e059cffb51 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_802402E0_8A23D0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402E0_8A26B0 +/* 8A26B0 802402E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A26B4 802402E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A26B8 802402E8 0080802D */ daddu $s0, $a0, $zero +/* 8A26BC 802402EC AFBF0014 */ sw $ra, 0x14($sp) +/* 8A26C0 802402F0 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A26C4 802402F4 8E020088 */ lw $v0, 0x88($s0) +/* 8A26C8 802402F8 00621821 */ addu $v1, $v1, $v0 +/* 8A26CC 802402FC 04610004 */ bgez $v1, .L80240310 +/* 8A26D0 80240300 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A26D4 80240304 3C020002 */ lui $v0, 2 +/* 8A26D8 80240308 080900C8 */ j .L80240320 +/* 8A26DC 8024030C 00621021 */ addu $v0, $v1, $v0 +.L80240310: +/* 8A26E0 80240310 3C040002 */ lui $a0, 2 +/* 8A26E4 80240314 0083102A */ slt $v0, $a0, $v1 +/* 8A26E8 80240318 10400002 */ beqz $v0, .L80240324 +/* 8A26EC 8024031C 00641023 */ subu $v0, $v1, $a0 +.L80240320: +/* 8A26F0 80240320 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240324: +/* 8A26F4 80240324 8E0300AC */ lw $v1, 0xac($s0) +/* 8A26F8 80240328 8E02008C */ lw $v0, 0x8c($s0) +/* 8A26FC 8024032C 00621821 */ addu $v1, $v1, $v0 +/* 8A2700 80240330 04610004 */ bgez $v1, .L80240344 +/* 8A2704 80240334 AE0300AC */ sw $v1, 0xac($s0) +/* 8A2708 80240338 3C020002 */ lui $v0, 2 +/* 8A270C 8024033C 080900D5 */ j .L80240354 +/* 8A2710 80240340 00621021 */ addu $v0, $v1, $v0 +.L80240344: +/* 8A2714 80240344 3C040002 */ lui $a0, 2 +/* 8A2718 80240348 0083102A */ slt $v0, $a0, $v1 +/* 8A271C 8024034C 10400002 */ beqz $v0, .L80240358 +/* 8A2720 80240350 00641023 */ subu $v0, $v1, $a0 +.L80240354: +/* 8A2724 80240354 AE0200AC */ sw $v0, 0xac($s0) +.L80240358: +/* 8A2728 80240358 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A272C 8024035C 8E020090 */ lw $v0, 0x90($s0) +/* 8A2730 80240360 00621821 */ addu $v1, $v1, $v0 +/* 8A2734 80240364 04610004 */ bgez $v1, .L80240378 +/* 8A2738 80240368 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A273C 8024036C 3C020002 */ lui $v0, 2 +/* 8A2740 80240370 080900E2 */ j .L80240388 +/* 8A2744 80240374 00621021 */ addu $v0, $v1, $v0 +.L80240378: +/* 8A2748 80240378 3C040002 */ lui $a0, 2 +/* 8A274C 8024037C 0083102A */ slt $v0, $a0, $v1 +/* 8A2750 80240380 10400002 */ beqz $v0, .L8024038C +/* 8A2754 80240384 00641023 */ subu $v0, $v1, $a0 +.L80240388: +/* 8A2758 80240388 AE0200B0 */ sw $v0, 0xb0($s0) +.L8024038C: +/* 8A275C 8024038C 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A2760 80240390 8E020094 */ lw $v0, 0x94($s0) +/* 8A2764 80240394 00621821 */ addu $v1, $v1, $v0 +/* 8A2768 80240398 04610004 */ bgez $v1, .L802403AC +/* 8A276C 8024039C AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A2770 802403A0 3C020002 */ lui $v0, 2 +/* 8A2774 802403A4 080900EF */ j .L802403BC +/* 8A2778 802403A8 00621021 */ addu $v0, $v1, $v0 +.L802403AC: +/* 8A277C 802403AC 3C040002 */ lui $a0, 2 +/* 8A2780 802403B0 0083102A */ slt $v0, $a0, $v1 +/* 8A2784 802403B4 10400002 */ beqz $v0, .L802403C0 +/* 8A2788 802403B8 00641023 */ subu $v0, $v1, $a0 +.L802403BC: +/* 8A278C 802403BC AE0200B4 */ sw $v0, 0xb4($s0) +.L802403C0: +/* 8A2790 802403C0 8E040084 */ lw $a0, 0x84($s0) +/* 8A2794 802403C4 0C046F07 */ jal set_main_pan_u +/* 8A2798 802403C8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A279C 802403CC 8E040084 */ lw $a0, 0x84($s0) +/* 8A27A0 802403D0 0C046F0D */ jal set_main_pan_v +/* 8A27A4 802403D4 8E0500AC */ lw $a1, 0xac($s0) +/* 8A27A8 802403D8 8E040084 */ lw $a0, 0x84($s0) +/* 8A27AC 802403DC 0C046F13 */ jal set_aux_pan_u +/* 8A27B0 802403E0 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A27B4 802403E4 8E040084 */ lw $a0, 0x84($s0) +/* 8A27B8 802403E8 0C046F19 */ jal set_aux_pan_v +/* 8A27BC 802403EC 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A27C0 802403F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A27C4 802403F4 8FB00010 */ lw $s0, 0x10($sp) +/* 8A27C8 802403F8 0000102D */ daddu $v0, $zero, $zero +/* 8A27CC 802403FC 03E00008 */ jr $ra +/* 8A27D0 80240400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240404_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240404_8A23D0.s new file mode 100644 index 0000000000..59ede11049 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240404_8A23D0.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_8A27D4 +/* 8A27D4 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A27D8 80240408 AFB00010 */ sw $s0, 0x10($sp) +/* 8A27DC 8024040C 0080802D */ daddu $s0, $a0, $zero +/* 8A27E0 80240410 10A00005 */ beqz $a1, .L80240428 +/* 8A27E4 80240414 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A27E8 80240418 AE000070 */ sw $zero, 0x70($s0) +/* 8A27EC 8024041C AE000074 */ sw $zero, 0x74($s0) +/* 8A27F0 80240420 AE000078 */ sw $zero, 0x78($s0) +/* 8A27F4 80240424 AE00007C */ sw $zero, 0x7c($s0) +.L80240428: +/* 8A27F8 80240428 8E020070 */ lw $v0, 0x70($s0) +/* 8A27FC 8024042C 1440000E */ bnez $v0, .L80240468 +/* 8A2800 80240430 00000000 */ nop +/* 8A2804 80240434 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A2808 80240438 8E020088 */ lw $v0, 0x88($s0) +/* 8A280C 8024043C 00621821 */ addu $v1, $v1, $v0 +/* 8A2810 80240440 04610004 */ bgez $v1, .L80240454 +/* 8A2814 80240444 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A2818 80240448 3C020002 */ lui $v0, 2 +/* 8A281C 8024044C 08090119 */ j .L80240464 +/* 8A2820 80240450 00621021 */ addu $v0, $v1, $v0 +.L80240454: +/* 8A2824 80240454 3C040002 */ lui $a0, 2 +/* 8A2828 80240458 0083102A */ slt $v0, $a0, $v1 +/* 8A282C 8024045C 10400002 */ beqz $v0, .L80240468 +/* 8A2830 80240460 00641023 */ subu $v0, $v1, $a0 +.L80240464: +/* 8A2834 80240464 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240468: +/* 8A2838 80240468 8E020074 */ lw $v0, 0x74($s0) +/* 8A283C 8024046C 1440000E */ bnez $v0, .L802404A8 +/* 8A2840 80240470 00000000 */ nop +/* 8A2844 80240474 8E0300AC */ lw $v1, 0xac($s0) +/* 8A2848 80240478 8E02008C */ lw $v0, 0x8c($s0) +/* 8A284C 8024047C 00621821 */ addu $v1, $v1, $v0 +/* 8A2850 80240480 04610004 */ bgez $v1, .L80240494 +/* 8A2854 80240484 AE0300AC */ sw $v1, 0xac($s0) +/* 8A2858 80240488 3C020002 */ lui $v0, 2 +/* 8A285C 8024048C 08090129 */ j .L802404A4 +/* 8A2860 80240490 00621021 */ addu $v0, $v1, $v0 +.L80240494: +/* 8A2864 80240494 3C040002 */ lui $a0, 2 +/* 8A2868 80240498 0083102A */ slt $v0, $a0, $v1 +/* 8A286C 8024049C 10400002 */ beqz $v0, .L802404A8 +/* 8A2870 802404A0 00641023 */ subu $v0, $v1, $a0 +.L802404A4: +/* 8A2874 802404A4 AE0200AC */ sw $v0, 0xac($s0) +.L802404A8: +/* 8A2878 802404A8 8E020078 */ lw $v0, 0x78($s0) +/* 8A287C 802404AC 1440000E */ bnez $v0, .L802404E8 +/* 8A2880 802404B0 00000000 */ nop +/* 8A2884 802404B4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A2888 802404B8 8E020090 */ lw $v0, 0x90($s0) +/* 8A288C 802404BC 00621821 */ addu $v1, $v1, $v0 +/* 8A2890 802404C0 04610004 */ bgez $v1, .L802404D4 +/* 8A2894 802404C4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A2898 802404C8 3C020002 */ lui $v0, 2 +/* 8A289C 802404CC 08090139 */ j .L802404E4 +/* 8A28A0 802404D0 00621021 */ addu $v0, $v1, $v0 +.L802404D4: +/* 8A28A4 802404D4 3C040002 */ lui $a0, 2 +/* 8A28A8 802404D8 0083102A */ slt $v0, $a0, $v1 +/* 8A28AC 802404DC 10400002 */ beqz $v0, .L802404E8 +/* 8A28B0 802404E0 00641023 */ subu $v0, $v1, $a0 +.L802404E4: +/* 8A28B4 802404E4 AE0200B0 */ sw $v0, 0xb0($s0) +.L802404E8: +/* 8A28B8 802404E8 8E02007C */ lw $v0, 0x7c($s0) +/* 8A28BC 802404EC 1440000E */ bnez $v0, .L80240528 +/* 8A28C0 802404F0 00000000 */ nop +/* 8A28C4 802404F4 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A28C8 802404F8 8E020094 */ lw $v0, 0x94($s0) +/* 8A28CC 802404FC 00621821 */ addu $v1, $v1, $v0 +/* 8A28D0 80240500 04610004 */ bgez $v1, .L80240514 +/* 8A28D4 80240504 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A28D8 80240508 3C020002 */ lui $v0, 2 +/* 8A28DC 8024050C 08090149 */ j .L80240524 +/* 8A28E0 80240510 00621021 */ addu $v0, $v1, $v0 +.L80240514: +/* 8A28E4 80240514 3C040002 */ lui $a0, 2 +/* 8A28E8 80240518 0083102A */ slt $v0, $a0, $v1 +/* 8A28EC 8024051C 10400002 */ beqz $v0, .L80240528 +/* 8A28F0 80240520 00641023 */ subu $v0, $v1, $a0 +.L80240524: +/* 8A28F4 80240524 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240528: +/* 8A28F8 80240528 8E040084 */ lw $a0, 0x84($s0) +/* 8A28FC 8024052C 0C046F07 */ jal set_main_pan_u +/* 8A2900 80240530 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A2904 80240534 8E040084 */ lw $a0, 0x84($s0) +/* 8A2908 80240538 0C046F0D */ jal set_main_pan_v +/* 8A290C 8024053C 8E0500AC */ lw $a1, 0xac($s0) +/* 8A2910 80240540 8E040084 */ lw $a0, 0x84($s0) +/* 8A2914 80240544 0C046F13 */ jal set_aux_pan_u +/* 8A2918 80240548 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A291C 8024054C 8E040084 */ lw $a0, 0x84($s0) +/* 8A2920 80240550 0C046F19 */ jal set_aux_pan_v +/* 8A2924 80240554 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A2928 80240558 8E020070 */ lw $v0, 0x70($s0) +/* 8A292C 8024055C 8E030078 */ lw $v1, 0x78($s0) +/* 8A2930 80240560 8E040098 */ lw $a0, 0x98($s0) +/* 8A2934 80240564 24420001 */ addiu $v0, $v0, 1 +/* 8A2938 80240568 AE020070 */ sw $v0, 0x70($s0) +/* 8A293C 8024056C 8E020074 */ lw $v0, 0x74($s0) +/* 8A2940 80240570 24630001 */ addiu $v1, $v1, 1 +/* 8A2944 80240574 AE030078 */ sw $v1, 0x78($s0) +/* 8A2948 80240578 8E030070 */ lw $v1, 0x70($s0) +/* 8A294C 8024057C 24420001 */ addiu $v0, $v0, 1 +/* 8A2950 80240580 AE020074 */ sw $v0, 0x74($s0) +/* 8A2954 80240584 8E02007C */ lw $v0, 0x7c($s0) +/* 8A2958 80240588 0064182A */ slt $v1, $v1, $a0 +/* 8A295C 8024058C 24420001 */ addiu $v0, $v0, 1 +/* 8A2960 80240590 14600002 */ bnez $v1, .L8024059C +/* 8A2964 80240594 AE02007C */ sw $v0, 0x7c($s0) +/* 8A2968 80240598 AE000070 */ sw $zero, 0x70($s0) +.L8024059C: +/* 8A296C 8024059C 8E020074 */ lw $v0, 0x74($s0) +/* 8A2970 802405A0 8E03009C */ lw $v1, 0x9c($s0) +/* 8A2974 802405A4 0043102A */ slt $v0, $v0, $v1 +/* 8A2978 802405A8 50400001 */ beql $v0, $zero, .L802405B0 +/* 8A297C 802405AC AE000074 */ sw $zero, 0x74($s0) +.L802405B0: +/* 8A2980 802405B0 8E020078 */ lw $v0, 0x78($s0) +/* 8A2984 802405B4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 8A2988 802405B8 0043102A */ slt $v0, $v0, $v1 +/* 8A298C 802405BC 50400001 */ beql $v0, $zero, .L802405C4 +/* 8A2990 802405C0 AE000078 */ sw $zero, 0x78($s0) +.L802405C4: +/* 8A2994 802405C4 8E02007C */ lw $v0, 0x7c($s0) +/* 8A2998 802405C8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8A299C 802405CC 0043102A */ slt $v0, $v0, $v1 +/* 8A29A0 802405D0 50400001 */ beql $v0, $zero, .L802405D8 +/* 8A29A4 802405D4 AE00007C */ sw $zero, 0x7c($s0) +.L802405D8: +/* 8A29A8 802405D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A29AC 802405DC 8FB00010 */ lw $s0, 0x10($sp) +/* 8A29B0 802405E0 0000102D */ daddu $v0, $zero, $zero +/* 8A29B4 802405E4 03E00008 */ jr $ra +/* 8A29B8 802405E8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_802405EC_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_802405EC_8A23D0.s new file mode 100644 index 0000000000..8fa57fa9fe --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_802405EC_8A23D0.s @@ -0,0 +1,235 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405EC_8A29BC +/* 8A29BC 802405EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A29C0 802405F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A29C4 802405F4 0080982D */ daddu $s3, $a0, $zero +/* 8A29C8 802405F8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8A29CC 802405FC AFB20018 */ sw $s2, 0x18($sp) +/* 8A29D0 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 8A29D4 80240604 AFB00010 */ sw $s0, 0x10($sp) +/* 8A29D8 80240608 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8A29DC 8024060C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8A29E0 80240610 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8A29E4 80240614 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8A29E8 80240618 8E62000C */ lw $v0, 0xc($s3) +/* 8A29EC 8024061C 0C0B1EAF */ jal get_variable +/* 8A29F0 80240620 8C450000 */ lw $a1, ($v0) +/* 8A29F4 80240624 2404FFFC */ addiu $a0, $zero, -4 +/* 8A29F8 80240628 0C00EABB */ jal get_npc_unsafe +/* 8A29FC 8024062C 0040802D */ daddu $s0, $v0, $zero +/* 8A2A00 80240630 0200202D */ daddu $a0, $s0, $zero +/* 8A2A04 80240634 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8A2A08 80240638 0040802D */ daddu $s0, $v0, $zero +/* 8A2A0C 8024063C 0C046B4C */ jal get_model_from_list_index +/* 8A2A10 80240640 0040202D */ daddu $a0, $v0, $zero +/* 8A2A14 80240644 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8A2A18 80240648 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8A2A1C 8024064C 0040902D */ daddu $s2, $v0, $zero +/* 8A2A20 80240650 AE60008C */ sw $zero, 0x8c($s3) +/* 8A2A24 80240654 C4620028 */ lwc1 $f2, 0x28($v1) +/* 8A2A28 80240658 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A2A2C 8024065C 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2A30 80240660 46021182 */ mul.s $f6, $f2, $f2 +/* 8A2A34 80240664 00000000 */ nop +/* 8A2A38 80240668 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A2A3C 8024066C C4620030 */ lwc1 $f2, 0x30($v1) +/* 8A2A40 80240670 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2A44 80240674 46021102 */ mul.s $f4, $f2, $f2 +/* 8A2A48 80240678 00000000 */ nop +/* 8A2A4C 8024067C 846200B0 */ lh $v0, 0xb0($v1) +/* 8A2A50 80240680 C462002C */ lwc1 $f2, 0x2c($v1) +/* 8A2A54 80240684 44820000 */ mtc1 $v0, $f0 +/* 8A2A58 80240688 00000000 */ nop +/* 8A2A5C 8024068C 46800020 */ cvt.s.w $f0, $f0 +/* 8A2A60 80240690 46001080 */ add.s $f2, $f2, $f0 +/* 8A2A64 80240694 3C013FC0 */ lui $at, 0x3fc0 +/* 8A2A68 80240698 44810000 */ mtc1 $at, $f0 +/* 8A2A6C 8024069C 00000000 */ nop +/* 8A2A70 802406A0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2A74 802406A4 46043300 */ add.s $f12, $f6, $f4 +/* 8A2A78 802406A8 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A2A7C 802406AC 46001501 */ sub.s $f20, $f2, $f0 +/* 8A2A80 802406B0 46006084 */ sqrt.s $f2, $f12 +/* 8A2A84 802406B4 46021032 */ c.eq.s $f2, $f2 +/* 8A2A88 802406B8 00000000 */ nop +/* 8A2A8C 802406BC 45010004 */ bc1t .L802406D0 +/* 8A2A90 802406C0 0060882D */ daddu $s1, $v1, $zero +/* 8A2A94 802406C4 0C0187BC */ jal sqrtf +/* 8A2A98 802406C8 00000000 */ nop +/* 8A2A9C 802406CC 46000086 */ mov.s $f2, $f0 +.L802406D0: +/* 8A2AA0 802406D0 44800000 */ mtc1 $zero, $f0 +/* 8A2AA4 802406D4 00000000 */ nop +/* 8A2AA8 802406D8 4614003C */ c.lt.s $f0, $f20 +/* 8A2AAC 802406DC 00000000 */ nop +/* 8A2AB0 802406E0 45000016 */ bc1f .L8024073C +/* 8A2AB4 802406E4 46001106 */ mov.s $f4, $f2 +/* 8A2AB8 802406E8 862200B0 */ lh $v0, 0xb0($s1) +/* 8A2ABC 802406EC 44820000 */ mtc1 $v0, $f0 +/* 8A2AC0 802406F0 00000000 */ nop +/* 8A2AC4 802406F4 46800020 */ cvt.s.w $f0, $f0 +/* 8A2AC8 802406F8 4600A03C */ c.lt.s $f20, $f0 +/* 8A2ACC 802406FC 00000000 */ nop +/* 8A2AD0 80240700 4500000E */ bc1f .L8024073C +/* 8A2AD4 80240704 00000000 */ nop +/* 8A2AD8 80240708 862200B2 */ lh $v0, 0xb2($s1) +/* 8A2ADC 8024070C 3C013F00 */ lui $at, 0x3f00 +/* 8A2AE0 80240710 44811000 */ mtc1 $at, $f2 +/* 8A2AE4 80240714 44820000 */ mtc1 $v0, $f0 +/* 8A2AE8 80240718 00000000 */ nop +/* 8A2AEC 8024071C 46800020 */ cvt.s.w $f0, $f0 +/* 8A2AF0 80240720 46020002 */ mul.s $f0, $f0, $f2 +/* 8A2AF4 80240724 00000000 */ nop +/* 8A2AF8 80240728 4600203C */ c.lt.s $f4, $f0 +/* 8A2AFC 8024072C 00000000 */ nop +/* 8A2B00 80240730 45000002 */ bc1f .L8024073C +/* 8A2B04 80240734 24020001 */ addiu $v0, $zero, 1 +/* 8A2B08 80240738 AE62008C */ sw $v0, 0x8c($s3) +.L8024073C: +/* 8A2B0C 8024073C C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A2B10 80240740 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A2B14 80240744 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2B18 80240748 46021182 */ mul.s $f6, $f2, $f2 +/* 8A2B1C 8024074C 00000000 */ nop +/* 8A2B20 80240750 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A2B24 80240754 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A2B28 80240758 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2B2C 8024075C 46021102 */ mul.s $f4, $f2, $f2 +/* 8A2B30 80240760 00000000 */ nop +/* 8A2B34 80240764 860200A8 */ lh $v0, 0xa8($s0) +/* 8A2B38 80240768 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A2B3C 8024076C 44820000 */ mtc1 $v0, $f0 +/* 8A2B40 80240770 00000000 */ nop +/* 8A2B44 80240774 46800020 */ cvt.s.w $f0, $f0 +/* 8A2B48 80240778 46001080 */ add.s $f2, $f2, $f0 +/* 8A2B4C 8024077C 3C013FC0 */ lui $at, 0x3fc0 +/* 8A2B50 80240780 44810000 */ mtc1 $at, $f0 +/* 8A2B54 80240784 00000000 */ nop +/* 8A2B58 80240788 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2B5C 8024078C 46043300 */ add.s $f12, $f6, $f4 +/* 8A2B60 80240790 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A2B64 80240794 46001501 */ sub.s $f20, $f2, $f0 +/* 8A2B68 80240798 46006084 */ sqrt.s $f2, $f12 +/* 8A2B6C 8024079C 46021032 */ c.eq.s $f2, $f2 +/* 8A2B70 802407A0 00000000 */ nop +/* 8A2B74 802407A4 45010004 */ bc1t .L802407B8 +/* 8A2B78 802407A8 00000000 */ nop +/* 8A2B7C 802407AC 0C0187BC */ jal sqrtf +/* 8A2B80 802407B0 00000000 */ nop +/* 8A2B84 802407B4 46000086 */ mov.s $f2, $f0 +.L802407B8: +/* 8A2B88 802407B8 44800000 */ mtc1 $zero, $f0 +/* 8A2B8C 802407BC 00000000 */ nop +/* 8A2B90 802407C0 4614003C */ c.lt.s $f0, $f20 +/* 8A2B94 802407C4 00000000 */ nop +/* 8A2B98 802407C8 45000016 */ bc1f .L80240824 +/* 8A2B9C 802407CC 46001106 */ mov.s $f4, $f2 +/* 8A2BA0 802407D0 860200A8 */ lh $v0, 0xa8($s0) +/* 8A2BA4 802407D4 44820000 */ mtc1 $v0, $f0 +/* 8A2BA8 802407D8 00000000 */ nop +/* 8A2BAC 802407DC 46800020 */ cvt.s.w $f0, $f0 +/* 8A2BB0 802407E0 4600A03C */ c.lt.s $f20, $f0 +/* 8A2BB4 802407E4 00000000 */ nop +/* 8A2BB8 802407E8 4500000F */ bc1f .L80240828 +/* 8A2BBC 802407EC 0000882D */ daddu $s1, $zero, $zero +/* 8A2BC0 802407F0 860200A6 */ lh $v0, 0xa6($s0) +/* 8A2BC4 802407F4 3C013F00 */ lui $at, 0x3f00 +/* 8A2BC8 802407F8 44811000 */ mtc1 $at, $f2 +/* 8A2BCC 802407FC 44820000 */ mtc1 $v0, $f0 +/* 8A2BD0 80240800 00000000 */ nop +/* 8A2BD4 80240804 46800020 */ cvt.s.w $f0, $f0 +/* 8A2BD8 80240808 46020002 */ mul.s $f0, $f0, $f2 +/* 8A2BDC 8024080C 00000000 */ nop +/* 8A2BE0 80240810 4600203C */ c.lt.s $f4, $f0 +/* 8A2BE4 80240814 00000000 */ nop +/* 8A2BE8 80240818 45000003 */ bc1f .L80240828 +/* 8A2BEC 8024081C 24020001 */ addiu $v0, $zero, 1 +/* 8A2BF0 80240820 AE62008C */ sw $v0, 0x8c($s3) +.L80240824: +/* 8A2BF4 80240824 0000882D */ daddu $s1, $zero, $zero +.L80240828: +/* 8A2BF8 80240828 3C013FC0 */ lui $at, 0x3fc0 +/* 8A2BFC 8024082C 4481D000 */ mtc1 $at, $f26 +/* 8A2C00 80240830 4480C000 */ mtc1 $zero, $f24 +/* 8A2C04 80240834 3C013F00 */ lui $at, 0x3f00 +/* 8A2C08 80240838 4481B000 */ mtc1 $at, $f22 +.L8024083C: +/* 8A2C0C 8024083C 0C00EAD2 */ jal get_npc_safe +/* 8A2C10 80240840 0220202D */ daddu $a0, $s1, $zero +/* 8A2C14 80240844 0040802D */ daddu $s0, $v0, $zero +/* 8A2C18 80240848 52000035 */ beql $s0, $zero, .L80240920 +/* 8A2C1C 8024084C 26310001 */ addiu $s1, $s1, 1 +/* 8A2C20 80240850 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A2C24 80240854 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A2C28 80240858 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2C2C 8024085C 46021182 */ mul.s $f6, $f2, $f2 +/* 8A2C30 80240860 00000000 */ nop +/* 8A2C34 80240864 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A2C38 80240868 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A2C3C 8024086C 46001081 */ sub.s $f2, $f2, $f0 +/* 8A2C40 80240870 46021102 */ mul.s $f4, $f2, $f2 +/* 8A2C44 80240874 00000000 */ nop +/* 8A2C48 80240878 860200A8 */ lh $v0, 0xa8($s0) +/* 8A2C4C 8024087C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A2C50 80240880 44820000 */ mtc1 $v0, $f0 +/* 8A2C54 80240884 00000000 */ nop +/* 8A2C58 80240888 46800020 */ cvt.s.w $f0, $f0 +/* 8A2C5C 8024088C 46001080 */ add.s $f2, $f2, $f0 +/* 8A2C60 80240890 461A1081 */ sub.s $f2, $f2, $f26 +/* 8A2C64 80240894 46043300 */ add.s $f12, $f6, $f4 +/* 8A2C68 80240898 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A2C6C 8024089C 46001501 */ sub.s $f20, $f2, $f0 +/* 8A2C70 802408A0 46006004 */ sqrt.s $f0, $f12 +/* 8A2C74 802408A4 46000032 */ c.eq.s $f0, $f0 +/* 8A2C78 802408A8 00000000 */ nop +/* 8A2C7C 802408AC 45010003 */ bc1t .L802408BC +/* 8A2C80 802408B0 00000000 */ nop +/* 8A2C84 802408B4 0C0187BC */ jal sqrtf +/* 8A2C88 802408B8 00000000 */ nop +.L802408BC: +/* 8A2C8C 802408BC 4614C03C */ c.lt.s $f24, $f20 +/* 8A2C90 802408C0 00000000 */ nop +/* 8A2C94 802408C4 45000015 */ bc1f .L8024091C +/* 8A2C98 802408C8 46000106 */ mov.s $f4, $f0 +/* 8A2C9C 802408CC 860200A8 */ lh $v0, 0xa8($s0) +/* 8A2CA0 802408D0 44820000 */ mtc1 $v0, $f0 +/* 8A2CA4 802408D4 00000000 */ nop +/* 8A2CA8 802408D8 46800020 */ cvt.s.w $f0, $f0 +/* 8A2CAC 802408DC 4600A03C */ c.lt.s $f20, $f0 +/* 8A2CB0 802408E0 00000000 */ nop +/* 8A2CB4 802408E4 4500000E */ bc1f .L80240920 +/* 8A2CB8 802408E8 26310001 */ addiu $s1, $s1, 1 +/* 8A2CBC 802408EC 860200A6 */ lh $v0, 0xa6($s0) +/* 8A2CC0 802408F0 44820000 */ mtc1 $v0, $f0 +/* 8A2CC4 802408F4 00000000 */ nop +/* 8A2CC8 802408F8 46800020 */ cvt.s.w $f0, $f0 +/* 8A2CCC 802408FC 46160002 */ mul.s $f0, $f0, $f22 +/* 8A2CD0 80240900 00000000 */ nop +/* 8A2CD4 80240904 4600203C */ c.lt.s $f4, $f0 +/* 8A2CD8 80240908 00000000 */ nop +/* 8A2CDC 8024090C 45000004 */ bc1f .L80240920 +/* 8A2CE0 80240910 24020001 */ addiu $v0, $zero, 1 +/* 8A2CE4 80240914 0809024B */ j .L8024092C +/* 8A2CE8 80240918 AE62008C */ sw $v0, 0x8c($s3) +.L8024091C: +/* 8A2CEC 8024091C 26310001 */ addiu $s1, $s1, 1 +.L80240920: +/* 8A2CF0 80240920 2A220040 */ slti $v0, $s1, 0x40 +/* 8A2CF4 80240924 1440FFC5 */ bnez $v0, .L8024083C +/* 8A2CF8 80240928 00000000 */ nop +.L8024092C: +/* 8A2CFC 8024092C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A2D00 80240930 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A2D04 80240934 8FB20018 */ lw $s2, 0x18($sp) +/* 8A2D08 80240938 8FB10014 */ lw $s1, 0x14($sp) +/* 8A2D0C 8024093C 8FB00010 */ lw $s0, 0x10($sp) +/* 8A2D10 80240940 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8A2D14 80240944 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8A2D18 80240948 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8A2D1C 8024094C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8A2D20 80240950 24020002 */ addiu $v0, $zero, 2 +/* 8A2D24 80240954 03E00008 */ jr $ra +/* 8A2D28 80240958 27BD0048 */ addiu $sp, $sp, 0x48 +/* 8A2D2C 8024095C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240960_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240960_8A23D0.s new file mode 100644 index 0000000000..d7dd7ce5d3 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240960_8A23D0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240960_8A2D30 +/* 8A2D30 80240960 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A2D34 80240964 AFB20018 */ sw $s2, 0x18($sp) +/* 8A2D38 80240968 0080902D */ daddu $s2, $a0, $zero +/* 8A2D3C 8024096C AFBF001C */ sw $ra, 0x1c($sp) +/* 8A2D40 80240970 AFB10014 */ sw $s1, 0x14($sp) +/* 8A2D44 80240974 AFB00010 */ sw $s0, 0x10($sp) +/* 8A2D48 80240978 8E510148 */ lw $s1, 0x148($s2) +/* 8A2D4C 8024097C 0C00EABB */ jal get_npc_unsafe +/* 8A2D50 80240980 86240008 */ lh $a0, 8($s1) +/* 8A2D54 80240984 0040802D */ daddu $s0, $v0, $zero +/* 8A2D58 80240988 8E2300CC */ lw $v1, 0xcc($s1) +/* 8A2D5C 8024098C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8A2D60 80240990 8C630020 */ lw $v1, 0x20($v1) +/* 8A2D64 80240994 AE030028 */ sw $v1, 0x28($s0) +/* 8A2D68 80240998 96220076 */ lhu $v0, 0x76($s1) +/* 8A2D6C 8024099C A602008E */ sh $v0, 0x8e($s0) +/* 8A2D70 802409A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A2D74 802409A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A2D78 802409A8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8A2D7C 802409AC 8C460028 */ lw $a2, 0x28($v0) +/* 8A2D80 802409B0 0C00A720 */ jal atan2 +/* 8A2D84 802409B4 8C470030 */ lw $a3, 0x30($v0) +/* 8A2D88 802409B8 2402000D */ addiu $v0, $zero, 0xd +/* 8A2D8C 802409BC E600000C */ swc1 $f0, 0xc($s0) +/* 8A2D90 802409C0 AE420070 */ sw $v0, 0x70($s2) +/* 8A2D94 802409C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A2D98 802409C8 8FB20018 */ lw $s2, 0x18($sp) +/* 8A2D9C 802409CC 8FB10014 */ lw $s1, 0x14($sp) +/* 8A2DA0 802409D0 8FB00010 */ lw $s0, 0x10($sp) +/* 8A2DA4 802409D4 03E00008 */ jr $ra +/* 8A2DA8 802409D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_802409DC_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_802409DC_8A23D0.s new file mode 100644 index 0000000000..f4e9776ede --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_802409DC_8A23D0.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409DC_8A2DAC +/* 8A2DAC 802409DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A2DB0 802409E0 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A2DB4 802409E4 0080982D */ daddu $s3, $a0, $zero +/* 8A2DB8 802409E8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8A2DBC 802409EC AFB20018 */ sw $s2, 0x18($sp) +/* 8A2DC0 802409F0 AFB10014 */ sw $s1, 0x14($sp) +/* 8A2DC4 802409F4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A2DC8 802409F8 8E710148 */ lw $s1, 0x148($s3) +/* 8A2DCC 802409FC 86240008 */ lh $a0, 8($s1) +/* 8A2DD0 80240A00 0C00EABB */ jal get_npc_unsafe +/* 8A2DD4 80240A04 00A0902D */ daddu $s2, $a1, $zero +/* 8A2DD8 80240A08 0040802D */ daddu $s0, $v0, $zero +/* 8A2DDC 80240A0C 8602008E */ lh $v0, 0x8e($s0) +/* 8A2DE0 80240A10 9603008E */ lhu $v1, 0x8e($s0) +/* 8A2DE4 80240A14 18400005 */ blez $v0, .L80240A2C +/* 8A2DE8 80240A18 2462FFFF */ addiu $v0, $v1, -1 +/* 8A2DEC 80240A1C A602008E */ sh $v0, 0x8e($s0) +/* 8A2DF0 80240A20 00021400 */ sll $v0, $v0, 0x10 +/* 8A2DF4 80240A24 1C400033 */ bgtz $v0, .L80240AF4 +/* 8A2DF8 80240A28 00000000 */ nop +.L80240A2C: +/* 8A2DFC 80240A2C 8602008C */ lh $v0, 0x8c($s0) +/* 8A2E00 80240A30 14400030 */ bnez $v0, .L80240AF4 +/* 8A2E04 80240A34 00000000 */ nop +/* 8A2E08 80240A38 8E2200CC */ lw $v0, 0xcc($s1) +/* 8A2E0C 80240A3C 8C420024 */ lw $v0, 0x24($v0) +/* 8A2E10 80240A40 AE020028 */ sw $v0, 0x28($s0) +/* 8A2E14 80240A44 C6400018 */ lwc1 $f0, 0x18($s2) +/* 8A2E18 80240A48 E6000018 */ swc1 $f0, 0x18($s0) +/* 8A2E1C 80240A4C 8E230088 */ lw $v1, 0x88($s1) +/* 8A2E20 80240A50 24020005 */ addiu $v0, $zero, 5 +/* 8A2E24 80240A54 10620005 */ beq $v1, $v0, .L80240A6C +/* 8A2E28 80240A58 00000000 */ nop +/* 8A2E2C 80240A5C 10600003 */ beqz $v1, .L80240A6C +/* 8A2E30 80240A60 24020001 */ addiu $v0, $zero, 1 +/* 8A2E34 80240A64 14620006 */ bne $v1, $v0, .L80240A80 +/* 8A2E38 80240A68 00000000 */ nop +.L80240A6C: +/* 8A2E3C 80240A6C 8E220084 */ lw $v0, 0x84($s1) +/* 8A2E40 80240A70 00021FC2 */ srl $v1, $v0, 0x1f +/* 8A2E44 80240A74 00431021 */ addu $v0, $v0, $v1 +/* 8A2E48 80240A78 00021043 */ sra $v0, $v0, 1 +/* 8A2E4C 80240A7C A60200A8 */ sh $v0, 0xa8($s0) +.L80240A80: +/* 8A2E50 80240A80 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A2E54 80240A84 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A2E58 80240A88 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8A2E5C 80240A8C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8A2E60 80240A90 8C460028 */ lw $a2, 0x28($v0) +/* 8A2E64 80240A94 0C00A7B5 */ jal dist2D +/* 8A2E68 80240A98 8C470030 */ lw $a3, 0x30($v0) +/* 8A2E6C 80240A9C C6020018 */ lwc1 $f2, 0x18($s0) +/* 8A2E70 80240AA0 46020003 */ div.s $f0, $f0, $f2 +/* 8A2E74 80240AA4 3C018024 */ lui $at, 0x8024 +/* 8A2E78 80240AA8 D4223650 */ ldc1 $f2, 0x3650($at) +/* 8A2E7C 80240AAC 46000021 */ cvt.d.s $f0, $f0 +/* 8A2E80 80240AB0 46220000 */ add.d $f0, $f0, $f2 +/* 8A2E84 80240AB4 4620010D */ trunc.w.d $f4, $f0 +/* 8A2E88 80240AB8 44022000 */ mfc1 $v0, $f4 +/* 8A2E8C 80240ABC 00000000 */ nop +/* 8A2E90 80240AC0 A602008E */ sh $v0, 0x8e($s0) +/* 8A2E94 80240AC4 00021400 */ sll $v0, $v0, 0x10 +/* 8A2E98 80240AC8 8E230078 */ lw $v1, 0x78($s1) +/* 8A2E9C 80240ACC 00021403 */ sra $v0, $v0, 0x10 +/* 8A2EA0 80240AD0 0043102A */ slt $v0, $v0, $v1 +/* 8A2EA4 80240AD4 10400003 */ beqz $v0, .L80240AE4 +/* 8A2EA8 80240AD8 00000000 */ nop +/* 8A2EAC 80240ADC 9622007A */ lhu $v0, 0x7a($s1) +/* 8A2EB0 80240AE0 A602008E */ sh $v0, 0x8e($s0) +.L80240AE4: +/* 8A2EB4 80240AE4 8602008E */ lh $v0, 0x8e($s0) +/* 8A2EB8 80240AE8 AE22007C */ sw $v0, 0x7c($s1) +/* 8A2EBC 80240AEC 2402000E */ addiu $v0, $zero, 0xe +/* 8A2EC0 80240AF0 AE620070 */ sw $v0, 0x70($s3) +.L80240AF4: +/* 8A2EC4 80240AF4 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A2EC8 80240AF8 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A2ECC 80240AFC 8FB20018 */ lw $s2, 0x18($sp) +/* 8A2ED0 80240B00 8FB10014 */ lw $s1, 0x14($sp) +/* 8A2ED4 80240B04 8FB00010 */ lw $s0, 0x10($sp) +/* 8A2ED8 80240B08 03E00008 */ jr $ra +/* 8A2EDC 80240B0C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240B10_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240B10_8A23D0.s new file mode 100644 index 0000000000..ffef6a9682 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240B10_8A23D0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240B10_8A2EE0 +/* 8A2EE0 80240B10 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A2EE4 80240B14 AFB3003C */ sw $s3, 0x3c($sp) +/* 8A2EE8 80240B18 0080982D */ daddu $s3, $a0, $zero +/* 8A2EEC 80240B1C AFBF0040 */ sw $ra, 0x40($sp) +/* 8A2EF0 80240B20 AFB20038 */ sw $s2, 0x38($sp) +/* 8A2EF4 80240B24 AFB10034 */ sw $s1, 0x34($sp) +/* 8A2EF8 80240B28 AFB00030 */ sw $s0, 0x30($sp) +/* 8A2EFC 80240B2C 8E710148 */ lw $s1, 0x148($s3) +/* 8A2F00 80240B30 0C00EABB */ jal get_npc_unsafe +/* 8A2F04 80240B34 86240008 */ lh $a0, 8($s1) +/* 8A2F08 80240B38 0040802D */ daddu $s0, $v0, $zero +/* 8A2F0C 80240B3C 8E22007C */ lw $v0, 0x7c($s1) +/* 8A2F10 80240B40 8603008E */ lh $v1, 0x8e($s0) +/* 8A2F14 80240B44 2442FFFF */ addiu $v0, $v0, -1 +/* 8A2F18 80240B48 14620012 */ bne $v1, $v0, .L80240B94 +/* 8A2F1C 80240B4C 00000000 */ nop +/* 8A2F20 80240B50 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8A2F24 80240B54 4600020D */ trunc.w.s $f8, $f0 +/* 8A2F28 80240B58 44024000 */ mfc1 $v0, $f8 +/* 8A2F2C 80240B5C 00000000 */ nop +/* 8A2F30 80240B60 A6220010 */ sh $v0, 0x10($s1) +/* 8A2F34 80240B64 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8A2F38 80240B68 4600020D */ trunc.w.s $f8, $f0 +/* 8A2F3C 80240B6C 44024000 */ mfc1 $v0, $f8 +/* 8A2F40 80240B70 00000000 */ nop +/* 8A2F44 80240B74 A6220012 */ sh $v0, 0x12($s1) +/* 8A2F48 80240B78 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8A2F4C 80240B7C 24020001 */ addiu $v0, $zero, 1 +/* 8A2F50 80240B80 A2220007 */ sb $v0, 7($s1) +/* 8A2F54 80240B84 4600020D */ trunc.w.s $f8, $f0 +/* 8A2F58 80240B88 44024000 */ mfc1 $v0, $f8 +/* 8A2F5C 80240B8C 00000000 */ nop +/* 8A2F60 80240B90 A6220014 */ sh $v0, 0x14($s1) +.L80240B94: +/* 8A2F64 80240B94 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8A2F68 80240B98 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A2F6C 80240B9C C6040040 */ lwc1 $f4, 0x40($s0) +/* 8A2F70 80240BA0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 8A2F74 80240BA4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 8A2F78 80240BA8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 8A2F7C 80240BAC E7A40028 */ swc1 $f4, 0x28($sp) +/* 8A2F80 80240BB0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 8A2F84 80240BB4 C600000C */ lwc1 $f0, 0xc($s0) +/* 8A2F88 80240BB8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 8A2F8C 80240BBC 860200A8 */ lh $v0, 0xa8($s0) +/* 8A2F90 80240BC0 27A50020 */ addiu $a1, $sp, 0x20 +/* 8A2F94 80240BC4 44820000 */ mtc1 $v0, $f0 +/* 8A2F98 80240BC8 00000000 */ nop +/* 8A2F9C 80240BCC 46800020 */ cvt.s.w $f0, $f0 +/* 8A2FA0 80240BD0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8A2FA4 80240BD4 860200A6 */ lh $v0, 0xa6($s0) +/* 8A2FA8 80240BD8 27A60024 */ addiu $a2, $sp, 0x24 +/* 8A2FAC 80240BDC 44820000 */ mtc1 $v0, $f0 +/* 8A2FB0 80240BE0 00000000 */ nop +/* 8A2FB4 80240BE4 46800020 */ cvt.s.w $f0, $f0 +/* 8A2FB8 80240BE8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 8A2FBC 80240BEC 8E040080 */ lw $a0, 0x80($s0) +/* 8A2FC0 80240BF0 0C037711 */ jal func_800DDC44 +/* 8A2FC4 80240BF4 27A70028 */ addiu $a3, $sp, 0x28 +/* 8A2FC8 80240BF8 0040902D */ daddu $s2, $v0, $zero +/* 8A2FCC 80240BFC 16400005 */ bnez $s2, .L80240C14 +/* 8A2FD0 80240C00 00000000 */ nop +/* 8A2FD4 80240C04 8E050018 */ lw $a1, 0x18($s0) +/* 8A2FD8 80240C08 8E06000C */ lw $a2, 0xc($s0) +/* 8A2FDC 80240C0C 0C00EA95 */ jal npc_move_heading +/* 8A2FE0 80240C10 0200202D */ daddu $a0, $s0, $zero +.L80240C14: +/* 8A2FE4 80240C14 8602008E */ lh $v0, 0x8e($s0) +/* 8A2FE8 80240C18 9603008E */ lhu $v1, 0x8e($s0) +/* 8A2FEC 80240C1C 18400007 */ blez $v0, .L80240C3C +/* 8A2FF0 80240C20 2462FFFF */ addiu $v0, $v1, -1 +/* 8A2FF4 80240C24 A602008E */ sh $v0, 0x8e($s0) +/* 8A2FF8 80240C28 00021400 */ sll $v0, $v0, 0x10 +/* 8A2FFC 80240C2C 18400003 */ blez $v0, .L80240C3C +/* 8A3000 80240C30 00000000 */ nop +/* 8A3004 80240C34 12400008 */ beqz $s2, .L80240C58 +/* 8A3008 80240C38 00000000 */ nop +.L80240C3C: +/* 8A300C 80240C3C 8E2200CC */ lw $v0, 0xcc($s1) +/* 8A3010 80240C40 A2200007 */ sb $zero, 7($s1) +/* 8A3014 80240C44 8C420028 */ lw $v0, 0x28($v0) +/* 8A3018 80240C48 A600008E */ sh $zero, 0x8e($s0) +/* 8A301C 80240C4C AE020028 */ sw $v0, 0x28($s0) +/* 8A3020 80240C50 2402000F */ addiu $v0, $zero, 0xf +/* 8A3024 80240C54 AE620070 */ sw $v0, 0x70($s3) +.L80240C58: +/* 8A3028 80240C58 8FBF0040 */ lw $ra, 0x40($sp) +/* 8A302C 80240C5C 8FB3003C */ lw $s3, 0x3c($sp) +/* 8A3030 80240C60 8FB20038 */ lw $s2, 0x38($sp) +/* 8A3034 80240C64 8FB10034 */ lw $s1, 0x34($sp) +/* 8A3038 80240C68 8FB00030 */ lw $s0, 0x30($sp) +/* 8A303C 80240C6C 03E00008 */ jr $ra +/* 8A3040 80240C70 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240C74_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240C74_8A23D0.s new file mode 100644 index 0000000000..b70807da8f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240C74_8A23D0.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C74_8A3044 +/* 8A3044 80240C74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A3048 80240C78 AFB10014 */ sw $s1, 0x14($sp) +/* 8A304C 80240C7C 0080882D */ daddu $s1, $a0, $zero +/* 8A3050 80240C80 AFBF0018 */ sw $ra, 0x18($sp) +/* 8A3054 80240C84 AFB00010 */ sw $s0, 0x10($sp) +/* 8A3058 80240C88 8E300148 */ lw $s0, 0x148($s1) +/* 8A305C 80240C8C 0C00EABB */ jal get_npc_unsafe +/* 8A3060 80240C90 86040008 */ lh $a0, 8($s0) +/* 8A3064 80240C94 0040202D */ daddu $a0, $v0, $zero +/* 8A3068 80240C98 9482008E */ lhu $v0, 0x8e($a0) +/* 8A306C 80240C9C 24030003 */ addiu $v1, $zero, 3 +/* 8A3070 80240CA0 24420001 */ addiu $v0, $v0, 1 +/* 8A3074 80240CA4 A482008E */ sh $v0, 0x8e($a0) +/* 8A3078 80240CA8 00021400 */ sll $v0, $v0, 0x10 +/* 8A307C 80240CAC 00021403 */ sra $v0, $v0, 0x10 +/* 8A3080 80240CB0 14430003 */ bne $v0, $v1, .L80240CC0 +/* 8A3084 80240CB4 00000000 */ nop +/* 8A3088 80240CB8 96020086 */ lhu $v0, 0x86($s0) +/* 8A308C 80240CBC A48200A8 */ sh $v0, 0xa8($a0) +.L80240CC0: +/* 8A3090 80240CC0 8482008E */ lh $v0, 0x8e($a0) +/* 8A3094 80240CC4 8E030080 */ lw $v1, 0x80($s0) +/* 8A3098 80240CC8 0043102A */ slt $v0, $v0, $v1 +/* 8A309C 80240CCC 14400004 */ bnez $v0, .L80240CE0 +/* 8A30A0 80240CD0 00000000 */ nop +/* 8A30A4 80240CD4 96020086 */ lhu $v0, 0x86($s0) +/* 8A30A8 80240CD8 A48200A8 */ sh $v0, 0xa8($a0) +/* 8A30AC 80240CDC AE200070 */ sw $zero, 0x70($s1) +.L80240CE0: +/* 8A30B0 80240CE0 8FBF0018 */ lw $ra, 0x18($sp) +/* 8A30B4 80240CE4 8FB10014 */ lw $s1, 0x14($sp) +/* 8A30B8 80240CE8 8FB00010 */ lw $s0, 0x10($sp) +/* 8A30BC 80240CEC 03E00008 */ jr $ra +/* 8A30C0 80240CF0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_23/func_80240CF4_8A23D0.s b/asm/nonmatchings/world/area_tik/tik_23/func_80240CF4_8A23D0.s new file mode 100644 index 0000000000..56f22ecf92 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_23/func_80240CF4_8A23D0.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CF4_8A30C4 +/* 8A30C4 80240CF4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 8A30C8 80240CF8 AFB3005C */ sw $s3, 0x5c($sp) +/* 8A30CC 80240CFC 0080982D */ daddu $s3, $a0, $zero +/* 8A30D0 80240D00 AFBF0068 */ sw $ra, 0x68($sp) +/* 8A30D4 80240D04 AFB50064 */ sw $s5, 0x64($sp) +/* 8A30D8 80240D08 AFB40060 */ sw $s4, 0x60($sp) +/* 8A30DC 80240D0C AFB20058 */ sw $s2, 0x58($sp) +/* 8A30E0 80240D10 AFB10054 */ sw $s1, 0x54($sp) +/* 8A30E4 80240D14 AFB00050 */ sw $s0, 0x50($sp) +/* 8A30E8 80240D18 8E710148 */ lw $s1, 0x148($s3) +/* 8A30EC 80240D1C 86240008 */ lh $a0, 8($s1) +/* 8A30F0 80240D20 0C00EABB */ jal get_npc_unsafe +/* 8A30F4 80240D24 00A0802D */ daddu $s0, $a1, $zero +/* 8A30F8 80240D28 8E63000C */ lw $v1, 0xc($s3) +/* 8A30FC 80240D2C 0260202D */ daddu $a0, $s3, $zero +/* 8A3100 80240D30 8C650000 */ lw $a1, ($v1) +/* 8A3104 80240D34 0C0B1EAF */ jal get_variable +/* 8A3108 80240D38 0040902D */ daddu $s2, $v0, $zero +/* 8A310C 80240D3C AFA00028 */ sw $zero, 0x28($sp) +/* 8A3110 80240D40 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A3114 80240D44 8C630030 */ lw $v1, 0x30($v1) +/* 8A3118 80240D48 AFA3002C */ sw $v1, 0x2c($sp) +/* 8A311C 80240D4C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A3120 80240D50 8C63001C */ lw $v1, 0x1c($v1) +/* 8A3124 80240D54 AFA30030 */ sw $v1, 0x30($sp) +/* 8A3128 80240D58 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A312C 80240D5C 8C630024 */ lw $v1, 0x24($v1) +/* 8A3130 80240D60 AFA30034 */ sw $v1, 0x34($sp) +/* 8A3134 80240D64 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A3138 80240D68 8C630028 */ lw $v1, 0x28($v1) +/* 8A313C 80240D6C 27B50028 */ addiu $s5, $sp, 0x28 +/* 8A3140 80240D70 AFA30038 */ sw $v1, 0x38($sp) +/* 8A3144 80240D74 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A3148 80240D78 3C0142C8 */ lui $at, 0x42c8 +/* 8A314C 80240D7C 44810000 */ mtc1 $at, $f0 +/* 8A3150 80240D80 8C63002C */ lw $v1, 0x2c($v1) +/* 8A3154 80240D84 0040A02D */ daddu $s4, $v0, $zero +/* 8A3158 80240D88 E7A00040 */ swc1 $f0, 0x40($sp) +/* 8A315C 80240D8C A7A00044 */ sh $zero, 0x44($sp) +/* 8A3160 80240D90 12000009 */ beqz $s0, .L80240DB8 +/* 8A3164 80240D94 AFA3003C */ sw $v1, 0x3c($sp) +/* 8A3168 80240D98 864300A8 */ lh $v1, 0xa8($s2) +/* 8A316C 80240D9C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A3170 80240DA0 AE20008C */ sw $zero, 0x8c($s1) +/* 8A3174 80240DA4 A22000B5 */ sb $zero, 0xb5($s1) +/* 8A3178 80240DA8 34420008 */ ori $v0, $v0, 8 +/* 8A317C 80240DAC AE230084 */ sw $v1, 0x84($s1) +/* 8A3180 80240DB0 08090372 */ j .L80240DC8 +/* 8A3184 80240DB4 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240DB8: +/* 8A3188 80240DB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A318C 80240DBC 30420004 */ andi $v0, $v0, 4 +/* 8A3190 80240DC0 10400047 */ beqz $v0, .L80240EE0 +/* 8A3194 80240DC4 00000000 */ nop +.L80240DC8: +/* 8A3198 80240DC8 AE600070 */ sw $zero, 0x70($s3) +/* 8A319C 80240DCC A640008E */ sh $zero, 0x8e($s2) +/* 8A31A0 80240DD0 8E2300CC */ lw $v1, 0xcc($s1) +/* 8A31A4 80240DD4 2404F7FF */ addiu $a0, $zero, -0x801 +/* 8A31A8 80240DD8 A2200007 */ sb $zero, 7($s1) +/* 8A31AC 80240DDC 8E420000 */ lw $v0, ($s2) +/* 8A31B0 80240DE0 8C630000 */ lw $v1, ($v1) +/* 8A31B4 80240DE4 00441024 */ and $v0, $v0, $a0 +/* 8A31B8 80240DE8 AE420000 */ sw $v0, ($s2) +/* 8A31BC 80240DEC AE430028 */ sw $v1, 0x28($s2) +/* 8A31C0 80240DF0 96220086 */ lhu $v0, 0x86($s1) +/* 8A31C4 80240DF4 A64200A8 */ sh $v0, 0xa8($s2) +/* 8A31C8 80240DF8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8A31CC 80240DFC AE200090 */ sw $zero, 0x90($s1) +/* 8A31D0 80240E00 8C420034 */ lw $v0, 0x34($v0) +/* 8A31D4 80240E04 14400006 */ bnez $v0, .L80240E20 +/* 8A31D8 80240E08 2403FDFF */ addiu $v1, $zero, -0x201 +/* 8A31DC 80240E0C 8E420000 */ lw $v0, ($s2) +/* 8A31E0 80240E10 2403FFF7 */ addiu $v1, $zero, -9 +/* 8A31E4 80240E14 34420200 */ ori $v0, $v0, 0x200 +/* 8A31E8 80240E18 0809038B */ j .L80240E2C +/* 8A31EC 80240E1C 00431024 */ and $v0, $v0, $v1 +.L80240E20: +/* 8A31F0 80240E20 8E420000 */ lw $v0, ($s2) +/* 8A31F4 80240E24 00431024 */ and $v0, $v0, $v1 +/* 8A31F8 80240E28 34420008 */ ori $v0, $v0, 8 +.L80240E2C: +/* 8A31FC 80240E2C AE420000 */ sw $v0, ($s2) +/* 8A3200 80240E30 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A3204 80240E34 30420004 */ andi $v0, $v0, 4 +/* 8A3208 80240E38 1040001E */ beqz $v0, .L80240EB4 +/* 8A320C 80240E3C 24040002 */ addiu $a0, $zero, 2 +/* 8A3210 80240E40 0240282D */ daddu $a1, $s2, $zero +/* 8A3214 80240E44 0000302D */ daddu $a2, $zero, $zero +/* 8A3218 80240E48 24020063 */ addiu $v0, $zero, 0x63 +/* 8A321C 80240E4C AE620070 */ sw $v0, 0x70($s3) +/* 8A3220 80240E50 AE600074 */ sw $zero, 0x74($s3) +/* 8A3224 80240E54 864300A8 */ lh $v1, 0xa8($s2) +/* 8A3228 80240E58 3C013F80 */ lui $at, 0x3f80 +/* 8A322C 80240E5C 44810000 */ mtc1 $at, $f0 +/* 8A3230 80240E60 3C014000 */ lui $at, 0x4000 +/* 8A3234 80240E64 44811000 */ mtc1 $at, $f2 +/* 8A3238 80240E68 3C01C1A0 */ lui $at, 0xc1a0 +/* 8A323C 80240E6C 44812000 */ mtc1 $at, $f4 +/* 8A3240 80240E70 24020028 */ addiu $v0, $zero, 0x28 +/* 8A3244 80240E74 AFA2001C */ sw $v0, 0x1c($sp) +/* 8A3248 80240E78 44833000 */ mtc1 $v1, $f6 +/* 8A324C 80240E7C 00000000 */ nop +/* 8A3250 80240E80 468031A0 */ cvt.s.w $f6, $f6 +/* 8A3254 80240E84 44073000 */ mfc1 $a3, $f6 +/* 8A3258 80240E88 27A20048 */ addiu $v0, $sp, 0x48 +/* 8A325C 80240E8C AFA20020 */ sw $v0, 0x20($sp) +/* 8A3260 80240E90 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8A3264 80240E94 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8A3268 80240E98 0C01BFA4 */ jal fx_emote +/* 8A326C 80240E9C E7A40018 */ swc1 $f4, 0x18($sp) +/* 8A3270 80240EA0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A3274 80240EA4 2403FFFB */ addiu $v1, $zero, -5 +/* 8A3278 80240EA8 00431024 */ and $v0, $v0, $v1 +/* 8A327C 80240EAC 080903B8 */ j .L80240EE0 +/* 8A3280 80240EB0 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240EB4: +/* 8A3284 80240EB4 8E220000 */ lw $v0, ($s1) +/* 8A3288 80240EB8 3C034000 */ lui $v1, 0x4000 +/* 8A328C 80240EBC 00431024 */ and $v0, $v0, $v1 +/* 8A3290 80240EC0 10400007 */ beqz $v0, .L80240EE0 +/* 8A3294 80240EC4 3C03BFFF */ lui $v1, 0xbfff +/* 8A3298 80240EC8 2402000C */ addiu $v0, $zero, 0xc +/* 8A329C 80240ECC AE620070 */ sw $v0, 0x70($s3) +/* 8A32A0 80240ED0 8E220000 */ lw $v0, ($s1) +/* 8A32A4 80240ED4 3463FFFF */ ori $v1, $v1, 0xffff +/* 8A32A8 80240ED8 00431024 */ and $v0, $v0, $v1 +/* 8A32AC 80240EDC AE220000 */ sw $v0, ($s1) +.L80240EE0: +/* 8A32B0 80240EE0 8E220090 */ lw $v0, 0x90($s1) +/* 8A32B4 80240EE4 1840000C */ blez $v0, .L80240F18 +/* 8A32B8 80240EE8 2442FFFF */ addiu $v0, $v0, -1 +/* 8A32BC 80240EEC 14400087 */ bnez $v0, .L8024110C +/* 8A32C0 80240EF0 AE220090 */ sw $v0, 0x90($s1) +/* 8A32C4 80240EF4 3C03FFAA */ lui $v1, 0xffaa +/* 8A32C8 80240EF8 8E420028 */ lw $v0, 0x28($s2) +/* 8A32CC 80240EFC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 8A32D0 80240F00 00431021 */ addu $v0, $v0, $v1 +/* 8A32D4 80240F04 2C420002 */ sltiu $v0, $v0, 2 +/* 8A32D8 80240F08 10400003 */ beqz $v0, .L80240F18 +/* 8A32DC 80240F0C 3C020055 */ lui $v0, 0x55 +/* 8A32E0 80240F10 3442000C */ ori $v0, $v0, 0xc +/* 8A32E4 80240F14 AE420028 */ sw $v0, 0x28($s2) +.L80240F18: +/* 8A32E8 80240F18 8E630070 */ lw $v1, 0x70($s3) +/* 8A32EC 80240F1C 2402000C */ addiu $v0, $zero, 0xc +/* 8A32F0 80240F20 10620048 */ beq $v1, $v0, .L80241044 +/* 8A32F4 80240F24 2862000D */ slti $v0, $v1, 0xd +/* 8A32F8 80240F28 1040000F */ beqz $v0, .L80240F68 +/* 8A32FC 80240F2C 24100001 */ addiu $s0, $zero, 1 +/* 8A3300 80240F30 1070001E */ beq $v1, $s0, .L80240FAC +/* 8A3304 80240F34 28620002 */ slti $v0, $v1, 2 +/* 8A3308 80240F38 10400005 */ beqz $v0, .L80240F50 +/* 8A330C 80240F3C 24020002 */ addiu $v0, $zero, 2 +/* 8A3310 80240F40 10600015 */ beqz $v1, .L80240F98 +/* 8A3314 80240F44 0260202D */ daddu $a0, $s3, $zero +/* 8A3318 80240F48 08090428 */ j .L802410A0 +/* 8A331C 80240F4C 00000000 */ nop +.L80240F50: +/* 8A3320 80240F50 1062001C */ beq $v1, $v0, .L80240FC4 +/* 8A3324 80240F54 24020003 */ addiu $v0, $zero, 3 +/* 8A3328 80240F58 10620035 */ beq $v1, $v0, .L80241030 +/* 8A332C 80240F5C 0260202D */ daddu $a0, $s3, $zero +/* 8A3330 80240F60 08090428 */ j .L802410A0 +/* 8A3334 80240F64 00000000 */ nop +.L80240F68: +/* 8A3338 80240F68 2402000E */ addiu $v0, $zero, 0xe +/* 8A333C 80240F6C 1062003F */ beq $v1, $v0, .L8024106C +/* 8A3340 80240F70 0062102A */ slt $v0, $v1, $v0 +/* 8A3344 80240F74 14400038 */ bnez $v0, .L80241058 +/* 8A3348 80240F78 0260202D */ daddu $a0, $s3, $zero +/* 8A334C 80240F7C 2402000F */ addiu $v0, $zero, 0xf +/* 8A3350 80240F80 10620040 */ beq $v1, $v0, .L80241084 +/* 8A3354 80240F84 24020063 */ addiu $v0, $zero, 0x63 +/* 8A3358 80240F88 10620043 */ beq $v1, $v0, .L80241098 +/* 8A335C 80240F8C 00000000 */ nop +/* 8A3360 80240F90 08090428 */ j .L802410A0 +/* 8A3364 80240F94 00000000 */ nop +.L80240F98: +/* 8A3368 80240F98 0280282D */ daddu $a1, $s4, $zero +/* 8A336C 80240F9C 0C012568 */ jal func_800495A0 +/* 8A3370 80240FA0 02A0302D */ daddu $a2, $s5, $zero +/* 8A3374 80240FA4 96220086 */ lhu $v0, 0x86($s1) +/* 8A3378 80240FA8 A64200A8 */ sh $v0, 0xa8($s2) +.L80240FAC: +/* 8A337C 80240FAC 0260202D */ daddu $a0, $s3, $zero +/* 8A3380 80240FB0 0280282D */ daddu $a1, $s4, $zero +/* 8A3384 80240FB4 0C0125AE */ jal func_800496B8 +/* 8A3388 80240FB8 02A0302D */ daddu $a2, $s5, $zero +/* 8A338C 80240FBC 08090428 */ j .L802410A0 +/* 8A3390 80240FC0 00000000 */ nop +.L80240FC4: +/* 8A3394 80240FC4 0260202D */ daddu $a0, $s3, $zero +/* 8A3398 80240FC8 0280282D */ daddu $a1, $s4, $zero +/* 8A339C 80240FCC 0C0126D1 */ jal func_80049B44 +/* 8A33A0 80240FD0 02A0302D */ daddu $a2, $s5, $zero +/* 8A33A4 80240FD4 8E230088 */ lw $v1, 0x88($s1) +/* 8A33A8 80240FD8 24020006 */ addiu $v0, $zero, 6 +/* 8A33AC 80240FDC 14620014 */ bne $v1, $v0, .L80241030 +/* 8A33B0 80240FE0 0260202D */ daddu $a0, $s3, $zero +/* 8A33B4 80240FE4 0C00A67F */ jal rand_int +/* 8A33B8 80240FE8 24040064 */ addiu $a0, $zero, 0x64 +/* 8A33BC 80240FEC 28420021 */ slti $v0, $v0, 0x21 +/* 8A33C0 80240FF0 5040000F */ beql $v0, $zero, .L80241030 +/* 8A33C4 80240FF4 0260202D */ daddu $a0, $s3, $zero +/* 8A33C8 80240FF8 8E22008C */ lw $v0, 0x8c($s1) +/* 8A33CC 80240FFC 10400005 */ beqz $v0, .L80241014 +/* 8A33D0 80241000 3C020055 */ lui $v0, 0x55 +/* 8A33D4 80241004 3442002F */ ori $v0, $v0, 0x2f +/* 8A33D8 80241008 AE20008C */ sw $zero, 0x8c($s1) +/* 8A33DC 8024100C 08090408 */ j .L80241020 +/* 8A33E0 80241010 A22000B5 */ sb $zero, 0xb5($s1) +.L80241014: +/* 8A33E4 80241014 3442002E */ ori $v0, $v0, 0x2e +/* 8A33E8 80241018 AE30008C */ sw $s0, 0x8c($s1) +/* 8A33EC 8024101C A23000B5 */ sb $s0, 0xb5($s1) +.L80241020: +/* 8A33F0 80241020 AE420028 */ sw $v0, 0x28($s2) +/* 8A33F4 80241024 24020007 */ addiu $v0, $zero, 7 +/* 8A33F8 80241028 08090443 */ j .L8024110C +/* 8A33FC 8024102C AE220090 */ sw $v0, 0x90($s1) +.L80241030: +/* 8A3400 80241030 0280282D */ daddu $a1, $s4, $zero +/* 8A3404 80241034 0C012701 */ jal func_80049C04 +/* 8A3408 80241038 02A0302D */ daddu $a2, $s5, $zero +/* 8A340C 8024103C 08090428 */ j .L802410A0 +/* 8A3410 80241040 00000000 */ nop +.L80241044: +/* 8A3414 80241044 0260202D */ daddu $a0, $s3, $zero +/* 8A3418 80241048 0280282D */ daddu $a1, $s4, $zero +/* 8A341C 8024104C 0C090258 */ jal func_80240960 +/* 8A3420 80241050 02A0302D */ daddu $a2, $s5, $zero +/* 8A3424 80241054 0260202D */ daddu $a0, $s3, $zero +.L80241058: +/* 8A3428 80241058 0280282D */ daddu $a1, $s4, $zero +/* 8A342C 8024105C 0C090277 */ jal func_802409DC +/* 8A3430 80241060 02A0302D */ daddu $a2, $s5, $zero +/* 8A3434 80241064 08090428 */ j .L802410A0 +/* 8A3438 80241068 00000000 */ nop +.L8024106C: +/* 8A343C 8024106C 0260202D */ daddu $a0, $s3, $zero +/* 8A3440 80241070 0280282D */ daddu $a1, $s4, $zero +/* 8A3444 80241074 0C0902C4 */ jal func_80240B10 +/* 8A3448 80241078 02A0302D */ daddu $a2, $s5, $zero +/* 8A344C 8024107C 08090428 */ j .L802410A0 +/* 8A3450 80241080 00000000 */ nop +.L80241084: +/* 8A3454 80241084 0280282D */ daddu $a1, $s4, $zero +/* 8A3458 80241088 0C09031D */ jal func_80240C74 +/* 8A345C 8024108C 02A0302D */ daddu $a2, $s5, $zero +/* 8A3460 80241090 08090428 */ j .L802410A0 +/* 8A3464 80241094 00000000 */ nop +.L80241098: +/* 8A3468 80241098 0C0129CF */ jal func_8004A73C +/* 8A346C 8024109C 0260202D */ daddu $a0, $s3, $zero +.L802410A0: +/* 8A3470 802410A0 8E230088 */ lw $v1, 0x88($s1) +/* 8A3474 802410A4 24020006 */ addiu $v0, $zero, 6 +/* 8A3478 802410A8 14620019 */ bne $v1, $v0, .L80241110 +/* 8A347C 802410AC 0000102D */ daddu $v0, $zero, $zero +/* 8A3480 802410B0 8E22008C */ lw $v0, 0x8c($s1) +/* 8A3484 802410B4 10400003 */ beqz $v0, .L802410C4 +/* 8A3488 802410B8 24020001 */ addiu $v0, $zero, 1 +/* 8A348C 802410BC 08090432 */ j .L802410C8 +/* 8A3490 802410C0 A22200B5 */ sb $v0, 0xb5($s1) +.L802410C4: +/* 8A3494 802410C4 A22000B5 */ sb $zero, 0xb5($s1) +.L802410C8: +/* 8A3498 802410C8 8E22008C */ lw $v0, 0x8c($s1) +/* 8A349C 802410CC 1040000F */ beqz $v0, .L8024110C +/* 8A34A0 802410D0 3C03FFAA */ lui $v1, 0xffaa +/* 8A34A4 802410D4 8E420028 */ lw $v0, 0x28($s2) +/* 8A34A8 802410D8 3463FFFC */ ori $v1, $v1, 0xfffc +/* 8A34AC 802410DC 00431821 */ addu $v1, $v0, $v1 +/* 8A34B0 802410E0 2C620015 */ sltiu $v0, $v1, 0x15 +/* 8A34B4 802410E4 10400009 */ beqz $v0, .L8024110C +/* 8A34B8 802410E8 00031080 */ sll $v0, $v1, 2 +/* 8A34BC 802410EC 3C018024 */ lui $at, 0x8024 +/* 8A34C0 802410F0 00220821 */ addu $at, $at, $v0 +/* 8A34C4 802410F4 8C223658 */ lw $v0, 0x3658($at) +/* 8A34C8 802410F8 00400008 */ jr $v0 +/* 8A34CC 802410FC 00000000 */ nop +/* 8A34D0 80241100 8E420028 */ lw $v0, 0x28($s2) +/* 8A34D4 80241104 24420001 */ addiu $v0, $v0, 1 +/* 8A34D8 80241108 AE420028 */ sw $v0, 0x28($s2) +.L8024110C: +/* 8A34DC 8024110C 0000102D */ daddu $v0, $zero, $zero +.L80241110: +/* 8A34E0 80241110 8FBF0068 */ lw $ra, 0x68($sp) +/* 8A34E4 80241114 8FB50064 */ lw $s5, 0x64($sp) +/* 8A34E8 80241118 8FB40060 */ lw $s4, 0x60($sp) +/* 8A34EC 8024111C 8FB3005C */ lw $s3, 0x5c($sp) +/* 8A34F0 80241120 8FB20058 */ lw $s2, 0x58($sp) +/* 8A34F4 80241124 8FB10054 */ lw $s1, 0x54($sp) +/* 8A34F8 80241128 8FB00050 */ lw $s0, 0x50($sp) +/* 8A34FC 8024112C 03E00008 */ jr $ra +/* 8A3500 80241130 27BD0070 */ addiu $sp, $sp, 0x70 +/* 8A3504 80241134 00000000 */ nop +/* 8A3508 80241138 00000000 */ nop +/* 8A350C 8024113C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240000_8A5A80.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240000_8A5A80.s new file mode 100644 index 0000000000..302ef9038f --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240000_8A5A80.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8A5A80 +/* 8A5A80 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A5A84 80240004 3C04800E */ lui $a0, 0x800e +/* 8A5A88 80240008 24849230 */ addiu $a0, $a0, -0x6dd0 +/* 8A5A8C 8024000C 3C058024 */ lui $a1, 0x8024 +/* 8A5A90 80240010 24A52470 */ addiu $a1, $a1, 0x2470 +/* 8A5A94 80240014 AFBF0010 */ sw $ra, 0x10($sp) +/* 8A5A98 80240018 0C01953C */ jal sprintf +/* 8A5A9C 8024001C 00000000 */ nop +/* 8A5AA0 80240020 3C04800E */ lui $a0, 0x800e +/* 8A5AA4 80240024 248491E0 */ addiu $a0, $a0, -0x6e20 +/* 8A5AA8 80240028 3C058024 */ lui $a1, 0x8024 +/* 8A5AAC 8024002C 0C01953C */ jal sprintf +/* 8A5AB0 80240030 24A52480 */ addiu $a1, $a1, 0x2480 +/* 8A5AB4 80240034 8FBF0010 */ lw $ra, 0x10($sp) +/* 8A5AB8 80240038 0000102D */ daddu $v0, $zero, $zero +/* 8A5ABC 8024003C 03E00008 */ jr $ra +/* 8A5AC0 80240040 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8A5AC4 80240044 00000000 */ nop +/* 8A5AC8 80240048 00000000 */ nop +/* 8A5ACC 8024004C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240050_8A5A80.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240050_8A5A80.s new file mode 100644 index 0000000000..7de010a9f9 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240050_8A5A80.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240050_8A5AD0 +/* 8A5AD0 80240050 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A5AD4 80240054 AFB00010 */ sw $s0, 0x10($sp) +/* 8A5AD8 80240058 0080802D */ daddu $s0, $a0, $zero +/* 8A5ADC 8024005C AFBF0014 */ sw $ra, 0x14($sp) +/* 8A5AE0 80240060 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A5AE4 80240064 8E020088 */ lw $v0, 0x88($s0) +/* 8A5AE8 80240068 00621821 */ addu $v1, $v1, $v0 +/* 8A5AEC 8024006C 04610004 */ bgez $v1, .L80240080 +/* 8A5AF0 80240070 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A5AF4 80240074 3C020002 */ lui $v0, 2 +/* 8A5AF8 80240078 08090024 */ j .L80240090 +/* 8A5AFC 8024007C 00621021 */ addu $v0, $v1, $v0 +.L80240080: +/* 8A5B00 80240080 3C040002 */ lui $a0, 2 +/* 8A5B04 80240084 0083102A */ slt $v0, $a0, $v1 +/* 8A5B08 80240088 10400002 */ beqz $v0, .L80240094 +/* 8A5B0C 8024008C 00641023 */ subu $v0, $v1, $a0 +.L80240090: +/* 8A5B10 80240090 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240094: +/* 8A5B14 80240094 8E0300AC */ lw $v1, 0xac($s0) +/* 8A5B18 80240098 8E02008C */ lw $v0, 0x8c($s0) +/* 8A5B1C 8024009C 00621821 */ addu $v1, $v1, $v0 +/* 8A5B20 802400A0 04610004 */ bgez $v1, .L802400B4 +/* 8A5B24 802400A4 AE0300AC */ sw $v1, 0xac($s0) +/* 8A5B28 802400A8 3C020002 */ lui $v0, 2 +/* 8A5B2C 802400AC 08090031 */ j .L802400C4 +/* 8A5B30 802400B0 00621021 */ addu $v0, $v1, $v0 +.L802400B4: +/* 8A5B34 802400B4 3C040002 */ lui $a0, 2 +/* 8A5B38 802400B8 0083102A */ slt $v0, $a0, $v1 +/* 8A5B3C 802400BC 10400002 */ beqz $v0, .L802400C8 +/* 8A5B40 802400C0 00641023 */ subu $v0, $v1, $a0 +.L802400C4: +/* 8A5B44 802400C4 AE0200AC */ sw $v0, 0xac($s0) +.L802400C8: +/* 8A5B48 802400C8 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A5B4C 802400CC 8E020090 */ lw $v0, 0x90($s0) +/* 8A5B50 802400D0 00621821 */ addu $v1, $v1, $v0 +/* 8A5B54 802400D4 04610004 */ bgez $v1, .L802400E8 +/* 8A5B58 802400D8 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A5B5C 802400DC 3C020002 */ lui $v0, 2 +/* 8A5B60 802400E0 0809003E */ j .L802400F8 +/* 8A5B64 802400E4 00621021 */ addu $v0, $v1, $v0 +.L802400E8: +/* 8A5B68 802400E8 3C040002 */ lui $a0, 2 +/* 8A5B6C 802400EC 0083102A */ slt $v0, $a0, $v1 +/* 8A5B70 802400F0 10400002 */ beqz $v0, .L802400FC +/* 8A5B74 802400F4 00641023 */ subu $v0, $v1, $a0 +.L802400F8: +/* 8A5B78 802400F8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400FC: +/* 8A5B7C 802400FC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A5B80 80240100 8E020094 */ lw $v0, 0x94($s0) +/* 8A5B84 80240104 00621821 */ addu $v1, $v1, $v0 +/* 8A5B88 80240108 04610004 */ bgez $v1, .L8024011C +/* 8A5B8C 8024010C AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A5B90 80240110 3C020002 */ lui $v0, 2 +/* 8A5B94 80240114 0809004B */ j .L8024012C +/* 8A5B98 80240118 00621021 */ addu $v0, $v1, $v0 +.L8024011C: +/* 8A5B9C 8024011C 3C040002 */ lui $a0, 2 +/* 8A5BA0 80240120 0083102A */ slt $v0, $a0, $v1 +/* 8A5BA4 80240124 10400002 */ beqz $v0, .L80240130 +/* 8A5BA8 80240128 00641023 */ subu $v0, $v1, $a0 +.L8024012C: +/* 8A5BAC 8024012C AE0200B4 */ sw $v0, 0xb4($s0) +.L80240130: +/* 8A5BB0 80240130 8E040084 */ lw $a0, 0x84($s0) +/* 8A5BB4 80240134 0C046F07 */ jal set_main_pan_u +/* 8A5BB8 80240138 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A5BBC 8024013C 8E040084 */ lw $a0, 0x84($s0) +/* 8A5BC0 80240140 0C046F0D */ jal set_main_pan_v +/* 8A5BC4 80240144 8E0500AC */ lw $a1, 0xac($s0) +/* 8A5BC8 80240148 8E040084 */ lw $a0, 0x84($s0) +/* 8A5BCC 8024014C 0C046F13 */ jal set_aux_pan_u +/* 8A5BD0 80240150 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A5BD4 80240154 8E040084 */ lw $a0, 0x84($s0) +/* 8A5BD8 80240158 0C046F19 */ jal set_aux_pan_v +/* 8A5BDC 8024015C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A5BE0 80240160 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A5BE4 80240164 8FB00010 */ lw $s0, 0x10($sp) +/* 8A5BE8 80240168 0000102D */ daddu $v0, $zero, $zero +/* 8A5BEC 8024016C 03E00008 */ jr $ra +/* 8A5BF0 80240170 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240174.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240174.s new file mode 100644 index 0000000000..e8091c83af --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240174.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240174 +/* 8A5BF4 80240174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A5BF8 80240178 AFB00010 */ sw $s0, 0x10($sp) +/* 8A5BFC 8024017C 0080802D */ daddu $s0, $a0, $zero +/* 8A5C00 80240180 10A00005 */ beqz $a1, .L80240198 +/* 8A5C04 80240184 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A5C08 80240188 AE000070 */ sw $zero, 0x70($s0) +/* 8A5C0C 8024018C AE000074 */ sw $zero, 0x74($s0) +/* 8A5C10 80240190 AE000078 */ sw $zero, 0x78($s0) +/* 8A5C14 80240194 AE00007C */ sw $zero, 0x7c($s0) +.L80240198: +/* 8A5C18 80240198 8E020070 */ lw $v0, 0x70($s0) +/* 8A5C1C 8024019C 1440000E */ bnez $v0, .L802401D8 +/* 8A5C20 802401A0 00000000 */ nop +/* 8A5C24 802401A4 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A5C28 802401A8 8E020088 */ lw $v0, 0x88($s0) +/* 8A5C2C 802401AC 00621821 */ addu $v1, $v1, $v0 +/* 8A5C30 802401B0 04610004 */ bgez $v1, .L802401C4 +/* 8A5C34 802401B4 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A5C38 802401B8 3C020002 */ lui $v0, 2 +/* 8A5C3C 802401BC 08090075 */ j .L802401D4 +/* 8A5C40 802401C0 00621021 */ addu $v0, $v1, $v0 +.L802401C4: +/* 8A5C44 802401C4 3C040002 */ lui $a0, 2 +/* 8A5C48 802401C8 0083102A */ slt $v0, $a0, $v1 +/* 8A5C4C 802401CC 10400002 */ beqz $v0, .L802401D8 +/* 8A5C50 802401D0 00641023 */ subu $v0, $v1, $a0 +.L802401D4: +/* 8A5C54 802401D4 AE0200A8 */ sw $v0, 0xa8($s0) +.L802401D8: +/* 8A5C58 802401D8 8E020074 */ lw $v0, 0x74($s0) +/* 8A5C5C 802401DC 1440000E */ bnez $v0, .L80240218 +/* 8A5C60 802401E0 00000000 */ nop +/* 8A5C64 802401E4 8E0300AC */ lw $v1, 0xac($s0) +/* 8A5C68 802401E8 8E02008C */ lw $v0, 0x8c($s0) +/* 8A5C6C 802401EC 00621821 */ addu $v1, $v1, $v0 +/* 8A5C70 802401F0 04610004 */ bgez $v1, .L80240204 +/* 8A5C74 802401F4 AE0300AC */ sw $v1, 0xac($s0) +/* 8A5C78 802401F8 3C020002 */ lui $v0, 2 +/* 8A5C7C 802401FC 08090085 */ j .L80240214 +/* 8A5C80 80240200 00621021 */ addu $v0, $v1, $v0 +.L80240204: +/* 8A5C84 80240204 3C040002 */ lui $a0, 2 +/* 8A5C88 80240208 0083102A */ slt $v0, $a0, $v1 +/* 8A5C8C 8024020C 10400002 */ beqz $v0, .L80240218 +/* 8A5C90 80240210 00641023 */ subu $v0, $v1, $a0 +.L80240214: +/* 8A5C94 80240214 AE0200AC */ sw $v0, 0xac($s0) +.L80240218: +/* 8A5C98 80240218 8E020078 */ lw $v0, 0x78($s0) +/* 8A5C9C 8024021C 1440000E */ bnez $v0, .L80240258 +/* 8A5CA0 80240220 00000000 */ nop +/* 8A5CA4 80240224 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A5CA8 80240228 8E020090 */ lw $v0, 0x90($s0) +/* 8A5CAC 8024022C 00621821 */ addu $v1, $v1, $v0 +/* 8A5CB0 80240230 04610004 */ bgez $v1, .L80240244 +/* 8A5CB4 80240234 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A5CB8 80240238 3C020002 */ lui $v0, 2 +/* 8A5CBC 8024023C 08090095 */ j .L80240254 +/* 8A5CC0 80240240 00621021 */ addu $v0, $v1, $v0 +.L80240244: +/* 8A5CC4 80240244 3C040002 */ lui $a0, 2 +/* 8A5CC8 80240248 0083102A */ slt $v0, $a0, $v1 +/* 8A5CCC 8024024C 10400002 */ beqz $v0, .L80240258 +/* 8A5CD0 80240250 00641023 */ subu $v0, $v1, $a0 +.L80240254: +/* 8A5CD4 80240254 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240258: +/* 8A5CD8 80240258 8E02007C */ lw $v0, 0x7c($s0) +/* 8A5CDC 8024025C 1440000E */ bnez $v0, .L80240298 +/* 8A5CE0 80240260 00000000 */ nop +/* 8A5CE4 80240264 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A5CE8 80240268 8E020094 */ lw $v0, 0x94($s0) +/* 8A5CEC 8024026C 00621821 */ addu $v1, $v1, $v0 +/* 8A5CF0 80240270 04610004 */ bgez $v1, .L80240284 +/* 8A5CF4 80240274 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A5CF8 80240278 3C020002 */ lui $v0, 2 +/* 8A5CFC 8024027C 080900A5 */ j .L80240294 +/* 8A5D00 80240280 00621021 */ addu $v0, $v1, $v0 +.L80240284: +/* 8A5D04 80240284 3C040002 */ lui $a0, 2 +/* 8A5D08 80240288 0083102A */ slt $v0, $a0, $v1 +/* 8A5D0C 8024028C 10400002 */ beqz $v0, .L80240298 +/* 8A5D10 80240290 00641023 */ subu $v0, $v1, $a0 +.L80240294: +/* 8A5D14 80240294 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240298: +/* 8A5D18 80240298 8E040084 */ lw $a0, 0x84($s0) +/* 8A5D1C 8024029C 0C046F07 */ jal set_main_pan_u +/* 8A5D20 802402A0 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A5D24 802402A4 8E040084 */ lw $a0, 0x84($s0) +/* 8A5D28 802402A8 0C046F0D */ jal set_main_pan_v +/* 8A5D2C 802402AC 8E0500AC */ lw $a1, 0xac($s0) +/* 8A5D30 802402B0 8E040084 */ lw $a0, 0x84($s0) +/* 8A5D34 802402B4 0C046F13 */ jal set_aux_pan_u +/* 8A5D38 802402B8 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A5D3C 802402BC 8E040084 */ lw $a0, 0x84($s0) +/* 8A5D40 802402C0 0C046F19 */ jal set_aux_pan_v +/* 8A5D44 802402C4 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A5D48 802402C8 8E020070 */ lw $v0, 0x70($s0) +/* 8A5D4C 802402CC 8E030078 */ lw $v1, 0x78($s0) +/* 8A5D50 802402D0 8E040098 */ lw $a0, 0x98($s0) +/* 8A5D54 802402D4 24420001 */ addiu $v0, $v0, 1 +/* 8A5D58 802402D8 AE020070 */ sw $v0, 0x70($s0) +/* 8A5D5C 802402DC 8E020074 */ lw $v0, 0x74($s0) +/* 8A5D60 802402E0 24630001 */ addiu $v1, $v1, 1 +/* 8A5D64 802402E4 AE030078 */ sw $v1, 0x78($s0) +/* 8A5D68 802402E8 8E030070 */ lw $v1, 0x70($s0) +/* 8A5D6C 802402EC 24420001 */ addiu $v0, $v0, 1 +/* 8A5D70 802402F0 AE020074 */ sw $v0, 0x74($s0) +/* 8A5D74 802402F4 8E02007C */ lw $v0, 0x7c($s0) +/* 8A5D78 802402F8 0064182A */ slt $v1, $v1, $a0 +/* 8A5D7C 802402FC 24420001 */ addiu $v0, $v0, 1 +/* 8A5D80 80240300 14600002 */ bnez $v1, .L8024030C +/* 8A5D84 80240304 AE02007C */ sw $v0, 0x7c($s0) +/* 8A5D88 80240308 AE000070 */ sw $zero, 0x70($s0) +.L8024030C: +/* 8A5D8C 8024030C 8E020074 */ lw $v0, 0x74($s0) +/* 8A5D90 80240310 8E03009C */ lw $v1, 0x9c($s0) +/* 8A5D94 80240314 0043102A */ slt $v0, $v0, $v1 +/* 8A5D98 80240318 50400001 */ beql $v0, $zero, .L80240320 +/* 8A5D9C 8024031C AE000074 */ sw $zero, 0x74($s0) +.L80240320: +/* 8A5DA0 80240320 8E020078 */ lw $v0, 0x78($s0) +/* 8A5DA4 80240324 8E0300A0 */ lw $v1, 0xa0($s0) +/* 8A5DA8 80240328 0043102A */ slt $v0, $v0, $v1 +/* 8A5DAC 8024032C 50400001 */ beql $v0, $zero, .L80240334 +/* 8A5DB0 80240330 AE000078 */ sw $zero, 0x78($s0) +.L80240334: +/* 8A5DB4 80240334 8E02007C */ lw $v0, 0x7c($s0) +/* 8A5DB8 80240338 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8A5DBC 8024033C 0043102A */ slt $v0, $v0, $v1 +/* 8A5DC0 80240340 50400001 */ beql $v0, $zero, .L80240348 +/* 8A5DC4 80240344 AE00007C */ sw $zero, 0x7c($s0) +.L80240348: +/* 8A5DC8 80240348 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A5DCC 8024034C 8FB00010 */ lw $s0, 0x10($sp) +/* 8A5DD0 80240350 0000102D */ daddu $v0, $zero, $zero +/* 8A5DD4 80240354 03E00008 */ jr $ra +/* 8A5DD8 80240358 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8A5DDC 8024035C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240360.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240360.s new file mode 100644 index 0000000000..4315cad6f5 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240360.s @@ -0,0 +1,234 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360 +/* 8A5DE0 80240360 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A5DE4 80240364 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A5DE8 80240368 0080982D */ daddu $s3, $a0, $zero +/* 8A5DEC 8024036C AFBF0020 */ sw $ra, 0x20($sp) +/* 8A5DF0 80240370 AFB20018 */ sw $s2, 0x18($sp) +/* 8A5DF4 80240374 AFB10014 */ sw $s1, 0x14($sp) +/* 8A5DF8 80240378 AFB00010 */ sw $s0, 0x10($sp) +/* 8A5DFC 8024037C F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8A5E00 80240380 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8A5E04 80240384 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8A5E08 80240388 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8A5E0C 8024038C 8E62000C */ lw $v0, 0xc($s3) +/* 8A5E10 80240390 0C0B1EAF */ jal get_variable +/* 8A5E14 80240394 8C450000 */ lw $a1, ($v0) +/* 8A5E18 80240398 2404FFFC */ addiu $a0, $zero, -4 +/* 8A5E1C 8024039C 0C00EABB */ jal get_npc_unsafe +/* 8A5E20 802403A0 0040802D */ daddu $s0, $v0, $zero +/* 8A5E24 802403A4 0200202D */ daddu $a0, $s0, $zero +/* 8A5E28 802403A8 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8A5E2C 802403AC 0040802D */ daddu $s0, $v0, $zero +/* 8A5E30 802403B0 0C046B4C */ jal get_model_from_list_index +/* 8A5E34 802403B4 0040202D */ daddu $a0, $v0, $zero +/* 8A5E38 802403B8 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8A5E3C 802403BC 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8A5E40 802403C0 0040902D */ daddu $s2, $v0, $zero +/* 8A5E44 802403C4 AE60008C */ sw $zero, 0x8c($s3) +/* 8A5E48 802403C8 C4620028 */ lwc1 $f2, 0x28($v1) +/* 8A5E4C 802403CC C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A5E50 802403D0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5E54 802403D4 46021182 */ mul.s $f6, $f2, $f2 +/* 8A5E58 802403D8 00000000 */ nop +/* 8A5E5C 802403DC C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A5E60 802403E0 C4620030 */ lwc1 $f2, 0x30($v1) +/* 8A5E64 802403E4 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5E68 802403E8 46021102 */ mul.s $f4, $f2, $f2 +/* 8A5E6C 802403EC 00000000 */ nop +/* 8A5E70 802403F0 846200B0 */ lh $v0, 0xb0($v1) +/* 8A5E74 802403F4 C462002C */ lwc1 $f2, 0x2c($v1) +/* 8A5E78 802403F8 44820000 */ mtc1 $v0, $f0 +/* 8A5E7C 802403FC 00000000 */ nop +/* 8A5E80 80240400 46800020 */ cvt.s.w $f0, $f0 +/* 8A5E84 80240404 46001080 */ add.s $f2, $f2, $f0 +/* 8A5E88 80240408 3C013FC0 */ lui $at, 0x3fc0 +/* 8A5E8C 8024040C 44810000 */ mtc1 $at, $f0 +/* 8A5E90 80240410 00000000 */ nop +/* 8A5E94 80240414 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5E98 80240418 46043300 */ add.s $f12, $f6, $f4 +/* 8A5E9C 8024041C C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A5EA0 80240420 46001501 */ sub.s $f20, $f2, $f0 +/* 8A5EA4 80240424 46006084 */ sqrt.s $f2, $f12 +/* 8A5EA8 80240428 46021032 */ c.eq.s $f2, $f2 +/* 8A5EAC 8024042C 00000000 */ nop +/* 8A5EB0 80240430 45010004 */ bc1t .L80240444 +/* 8A5EB4 80240434 0060882D */ daddu $s1, $v1, $zero +/* 8A5EB8 80240438 0C0187BC */ jal sqrtf +/* 8A5EBC 8024043C 00000000 */ nop +/* 8A5EC0 80240440 46000086 */ mov.s $f2, $f0 +.L80240444: +/* 8A5EC4 80240444 44800000 */ mtc1 $zero, $f0 +/* 8A5EC8 80240448 00000000 */ nop +/* 8A5ECC 8024044C 4614003C */ c.lt.s $f0, $f20 +/* 8A5ED0 80240450 00000000 */ nop +/* 8A5ED4 80240454 45000016 */ bc1f .L802404B0 +/* 8A5ED8 80240458 46001106 */ mov.s $f4, $f2 +/* 8A5EDC 8024045C 862200B0 */ lh $v0, 0xb0($s1) +/* 8A5EE0 80240460 44820000 */ mtc1 $v0, $f0 +/* 8A5EE4 80240464 00000000 */ nop +/* 8A5EE8 80240468 46800020 */ cvt.s.w $f0, $f0 +/* 8A5EEC 8024046C 4600A03C */ c.lt.s $f20, $f0 +/* 8A5EF0 80240470 00000000 */ nop +/* 8A5EF4 80240474 4500000E */ bc1f .L802404B0 +/* 8A5EF8 80240478 00000000 */ nop +/* 8A5EFC 8024047C 862200B2 */ lh $v0, 0xb2($s1) +/* 8A5F00 80240480 3C013F00 */ lui $at, 0x3f00 +/* 8A5F04 80240484 44811000 */ mtc1 $at, $f2 +/* 8A5F08 80240488 44820000 */ mtc1 $v0, $f0 +/* 8A5F0C 8024048C 00000000 */ nop +/* 8A5F10 80240490 46800020 */ cvt.s.w $f0, $f0 +/* 8A5F14 80240494 46020002 */ mul.s $f0, $f0, $f2 +/* 8A5F18 80240498 00000000 */ nop +/* 8A5F1C 8024049C 4600203C */ c.lt.s $f4, $f0 +/* 8A5F20 802404A0 00000000 */ nop +/* 8A5F24 802404A4 45000002 */ bc1f .L802404B0 +/* 8A5F28 802404A8 24020001 */ addiu $v0, $zero, 1 +/* 8A5F2C 802404AC AE62008C */ sw $v0, 0x8c($s3) +.L802404B0: +/* 8A5F30 802404B0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A5F34 802404B4 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A5F38 802404B8 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5F3C 802404BC 46021182 */ mul.s $f6, $f2, $f2 +/* 8A5F40 802404C0 00000000 */ nop +/* 8A5F44 802404C4 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A5F48 802404C8 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A5F4C 802404CC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5F50 802404D0 46021102 */ mul.s $f4, $f2, $f2 +/* 8A5F54 802404D4 00000000 */ nop +/* 8A5F58 802404D8 860200A8 */ lh $v0, 0xa8($s0) +/* 8A5F5C 802404DC C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A5F60 802404E0 44820000 */ mtc1 $v0, $f0 +/* 8A5F64 802404E4 00000000 */ nop +/* 8A5F68 802404E8 46800020 */ cvt.s.w $f0, $f0 +/* 8A5F6C 802404EC 46001080 */ add.s $f2, $f2, $f0 +/* 8A5F70 802404F0 3C013FC0 */ lui $at, 0x3fc0 +/* 8A5F74 802404F4 44810000 */ mtc1 $at, $f0 +/* 8A5F78 802404F8 00000000 */ nop +/* 8A5F7C 802404FC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A5F80 80240500 46043300 */ add.s $f12, $f6, $f4 +/* 8A5F84 80240504 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A5F88 80240508 46001501 */ sub.s $f20, $f2, $f0 +/* 8A5F8C 8024050C 46006084 */ sqrt.s $f2, $f12 +/* 8A5F90 80240510 46021032 */ c.eq.s $f2, $f2 +/* 8A5F94 80240514 00000000 */ nop +/* 8A5F98 80240518 45010004 */ bc1t .L8024052C +/* 8A5F9C 8024051C 00000000 */ nop +/* 8A5FA0 80240520 0C0187BC */ jal sqrtf +/* 8A5FA4 80240524 00000000 */ nop +/* 8A5FA8 80240528 46000086 */ mov.s $f2, $f0 +.L8024052C: +/* 8A5FAC 8024052C 44800000 */ mtc1 $zero, $f0 +/* 8A5FB0 80240530 00000000 */ nop +/* 8A5FB4 80240534 4614003C */ c.lt.s $f0, $f20 +/* 8A5FB8 80240538 00000000 */ nop +/* 8A5FBC 8024053C 45000016 */ bc1f .L80240598 +/* 8A5FC0 80240540 46001106 */ mov.s $f4, $f2 +/* 8A5FC4 80240544 860200A8 */ lh $v0, 0xa8($s0) +/* 8A5FC8 80240548 44820000 */ mtc1 $v0, $f0 +/* 8A5FCC 8024054C 00000000 */ nop +/* 8A5FD0 80240550 46800020 */ cvt.s.w $f0, $f0 +/* 8A5FD4 80240554 4600A03C */ c.lt.s $f20, $f0 +/* 8A5FD8 80240558 00000000 */ nop +/* 8A5FDC 8024055C 4500000F */ bc1f .L8024059C +/* 8A5FE0 80240560 0000882D */ daddu $s1, $zero, $zero +/* 8A5FE4 80240564 860200A6 */ lh $v0, 0xa6($s0) +/* 8A5FE8 80240568 3C013F00 */ lui $at, 0x3f00 +/* 8A5FEC 8024056C 44811000 */ mtc1 $at, $f2 +/* 8A5FF0 80240570 44820000 */ mtc1 $v0, $f0 +/* 8A5FF4 80240574 00000000 */ nop +/* 8A5FF8 80240578 46800020 */ cvt.s.w $f0, $f0 +/* 8A5FFC 8024057C 46020002 */ mul.s $f0, $f0, $f2 +/* 8A6000 80240580 00000000 */ nop +/* 8A6004 80240584 4600203C */ c.lt.s $f4, $f0 +/* 8A6008 80240588 00000000 */ nop +/* 8A600C 8024058C 45000003 */ bc1f .L8024059C +/* 8A6010 80240590 24020001 */ addiu $v0, $zero, 1 +/* 8A6014 80240594 AE62008C */ sw $v0, 0x8c($s3) +.L80240598: +/* 8A6018 80240598 0000882D */ daddu $s1, $zero, $zero +.L8024059C: +/* 8A601C 8024059C 3C013FC0 */ lui $at, 0x3fc0 +/* 8A6020 802405A0 4481D000 */ mtc1 $at, $f26 +/* 8A6024 802405A4 4480C000 */ mtc1 $zero, $f24 +/* 8A6028 802405A8 3C013F00 */ lui $at, 0x3f00 +/* 8A602C 802405AC 4481B000 */ mtc1 $at, $f22 +.L802405B0: +/* 8A6030 802405B0 0C00EAD2 */ jal get_npc_safe +/* 8A6034 802405B4 0220202D */ daddu $a0, $s1, $zero +/* 8A6038 802405B8 0040802D */ daddu $s0, $v0, $zero +/* 8A603C 802405BC 52000035 */ beql $s0, $zero, .L80240694 +/* 8A6040 802405C0 26310001 */ addiu $s1, $s1, 1 +/* 8A6044 802405C4 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A6048 802405C8 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A604C 802405CC 46001081 */ sub.s $f2, $f2, $f0 +/* 8A6050 802405D0 46021182 */ mul.s $f6, $f2, $f2 +/* 8A6054 802405D4 00000000 */ nop +/* 8A6058 802405D8 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A605C 802405DC C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A6060 802405E0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A6064 802405E4 46021102 */ mul.s $f4, $f2, $f2 +/* 8A6068 802405E8 00000000 */ nop +/* 8A606C 802405EC 860200A8 */ lh $v0, 0xa8($s0) +/* 8A6070 802405F0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A6074 802405F4 44820000 */ mtc1 $v0, $f0 +/* 8A6078 802405F8 00000000 */ nop +/* 8A607C 802405FC 46800020 */ cvt.s.w $f0, $f0 +/* 8A6080 80240600 46001080 */ add.s $f2, $f2, $f0 +/* 8A6084 80240604 461A1081 */ sub.s $f2, $f2, $f26 +/* 8A6088 80240608 46043300 */ add.s $f12, $f6, $f4 +/* 8A608C 8024060C C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A6090 80240610 46001501 */ sub.s $f20, $f2, $f0 +/* 8A6094 80240614 46006004 */ sqrt.s $f0, $f12 +/* 8A6098 80240618 46000032 */ c.eq.s $f0, $f0 +/* 8A609C 8024061C 00000000 */ nop +/* 8A60A0 80240620 45010003 */ bc1t .L80240630 +/* 8A60A4 80240624 00000000 */ nop +/* 8A60A8 80240628 0C0187BC */ jal sqrtf +/* 8A60AC 8024062C 00000000 */ nop +.L80240630: +/* 8A60B0 80240630 4614C03C */ c.lt.s $f24, $f20 +/* 8A60B4 80240634 00000000 */ nop +/* 8A60B8 80240638 45000015 */ bc1f .L80240690 +/* 8A60BC 8024063C 46000106 */ mov.s $f4, $f0 +/* 8A60C0 80240640 860200A8 */ lh $v0, 0xa8($s0) +/* 8A60C4 80240644 44820000 */ mtc1 $v0, $f0 +/* 8A60C8 80240648 00000000 */ nop +/* 8A60CC 8024064C 46800020 */ cvt.s.w $f0, $f0 +/* 8A60D0 80240650 4600A03C */ c.lt.s $f20, $f0 +/* 8A60D4 80240654 00000000 */ nop +/* 8A60D8 80240658 4500000E */ bc1f .L80240694 +/* 8A60DC 8024065C 26310001 */ addiu $s1, $s1, 1 +/* 8A60E0 80240660 860200A6 */ lh $v0, 0xa6($s0) +/* 8A60E4 80240664 44820000 */ mtc1 $v0, $f0 +/* 8A60E8 80240668 00000000 */ nop +/* 8A60EC 8024066C 46800020 */ cvt.s.w $f0, $f0 +/* 8A60F0 80240670 46160002 */ mul.s $f0, $f0, $f22 +/* 8A60F4 80240674 00000000 */ nop +/* 8A60F8 80240678 4600203C */ c.lt.s $f4, $f0 +/* 8A60FC 8024067C 00000000 */ nop +/* 8A6100 80240680 45000004 */ bc1f .L80240694 +/* 8A6104 80240684 24020001 */ addiu $v0, $zero, 1 +/* 8A6108 80240688 080901A8 */ j .L802406A0 +/* 8A610C 8024068C AE62008C */ sw $v0, 0x8c($s3) +.L80240690: +/* 8A6110 80240690 26310001 */ addiu $s1, $s1, 1 +.L80240694: +/* 8A6114 80240694 2A220040 */ slti $v0, $s1, 0x40 +/* 8A6118 80240698 1440FFC5 */ bnez $v0, .L802405B0 +/* 8A611C 8024069C 00000000 */ nop +.L802406A0: +/* 8A6120 802406A0 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A6124 802406A4 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A6128 802406A8 8FB20018 */ lw $s2, 0x18($sp) +/* 8A612C 802406AC 8FB10014 */ lw $s1, 0x14($sp) +/* 8A6130 802406B0 8FB00010 */ lw $s0, 0x10($sp) +/* 8A6134 802406B4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8A6138 802406B8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8A613C 802406BC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8A6140 802406C0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8A6144 802406C4 24020002 */ addiu $v0, $zero, 2 +/* 8A6148 802406C8 03E00008 */ jr $ra +/* 8A614C 802406CC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_802406D0.s b/asm/nonmatchings/world/area_tik/tik_24/func_802406D0.s new file mode 100644 index 0000000000..1a9e65ea79 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_802406D0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406D0 +/* 8A6150 802406D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A6154 802406D4 AFB20018 */ sw $s2, 0x18($sp) +/* 8A6158 802406D8 0080902D */ daddu $s2, $a0, $zero +/* 8A615C 802406DC AFBF001C */ sw $ra, 0x1c($sp) +/* 8A6160 802406E0 AFB10014 */ sw $s1, 0x14($sp) +/* 8A6164 802406E4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A6168 802406E8 8E510148 */ lw $s1, 0x148($s2) +/* 8A616C 802406EC 0C00EABB */ jal get_npc_unsafe +/* 8A6170 802406F0 86240008 */ lh $a0, 8($s1) +/* 8A6174 802406F4 0040802D */ daddu $s0, $v0, $zero +/* 8A6178 802406F8 8E2300CC */ lw $v1, 0xcc($s1) +/* 8A617C 802406FC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8A6180 80240700 8C630020 */ lw $v1, 0x20($v1) +/* 8A6184 80240704 AE030028 */ sw $v1, 0x28($s0) +/* 8A6188 80240708 96220076 */ lhu $v0, 0x76($s1) +/* 8A618C 8024070C A602008E */ sh $v0, 0x8e($s0) +/* 8A6190 80240710 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A6194 80240714 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A6198 80240718 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8A619C 8024071C 8C460028 */ lw $a2, 0x28($v0) +/* 8A61A0 80240720 0C00A720 */ jal atan2 +/* 8A61A4 80240724 8C470030 */ lw $a3, 0x30($v0) +/* 8A61A8 80240728 2402000D */ addiu $v0, $zero, 0xd +/* 8A61AC 8024072C E600000C */ swc1 $f0, 0xc($s0) +/* 8A61B0 80240730 AE420070 */ sw $v0, 0x70($s2) +/* 8A61B4 80240734 8FBF001C */ lw $ra, 0x1c($sp) +/* 8A61B8 80240738 8FB20018 */ lw $s2, 0x18($sp) +/* 8A61BC 8024073C 8FB10014 */ lw $s1, 0x14($sp) +/* 8A61C0 80240740 8FB00010 */ lw $s0, 0x10($sp) +/* 8A61C4 80240744 03E00008 */ jr $ra +/* 8A61C8 80240748 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_8024074C.s b/asm/nonmatchings/world/area_tik/tik_24/func_8024074C.s new file mode 100644 index 0000000000..bee4de7878 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_8024074C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024074C +/* 8A61CC 8024074C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A61D0 80240750 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A61D4 80240754 0080982D */ daddu $s3, $a0, $zero +/* 8A61D8 80240758 AFBF0020 */ sw $ra, 0x20($sp) +/* 8A61DC 8024075C AFB20018 */ sw $s2, 0x18($sp) +/* 8A61E0 80240760 AFB10014 */ sw $s1, 0x14($sp) +/* 8A61E4 80240764 AFB00010 */ sw $s0, 0x10($sp) +/* 8A61E8 80240768 8E710148 */ lw $s1, 0x148($s3) +/* 8A61EC 8024076C 86240008 */ lh $a0, 8($s1) +/* 8A61F0 80240770 0C00EABB */ jal get_npc_unsafe +/* 8A61F4 80240774 00A0902D */ daddu $s2, $a1, $zero +/* 8A61F8 80240778 0040802D */ daddu $s0, $v0, $zero +/* 8A61FC 8024077C 8602008E */ lh $v0, 0x8e($s0) +/* 8A6200 80240780 9603008E */ lhu $v1, 0x8e($s0) +/* 8A6204 80240784 18400005 */ blez $v0, .L8024079C +/* 8A6208 80240788 2462FFFF */ addiu $v0, $v1, -1 +/* 8A620C 8024078C A602008E */ sh $v0, 0x8e($s0) +/* 8A6210 80240790 00021400 */ sll $v0, $v0, 0x10 +/* 8A6214 80240794 1C400033 */ bgtz $v0, .L80240864 +/* 8A6218 80240798 00000000 */ nop +.L8024079C: +/* 8A621C 8024079C 8602008C */ lh $v0, 0x8c($s0) +/* 8A6220 802407A0 14400030 */ bnez $v0, .L80240864 +/* 8A6224 802407A4 00000000 */ nop +/* 8A6228 802407A8 8E2200CC */ lw $v0, 0xcc($s1) +/* 8A622C 802407AC 8C420024 */ lw $v0, 0x24($v0) +/* 8A6230 802407B0 AE020028 */ sw $v0, 0x28($s0) +/* 8A6234 802407B4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 8A6238 802407B8 E6000018 */ swc1 $f0, 0x18($s0) +/* 8A623C 802407BC 8E230088 */ lw $v1, 0x88($s1) +/* 8A6240 802407C0 24020005 */ addiu $v0, $zero, 5 +/* 8A6244 802407C4 10620005 */ beq $v1, $v0, .L802407DC +/* 8A6248 802407C8 00000000 */ nop +/* 8A624C 802407CC 10600003 */ beqz $v1, .L802407DC +/* 8A6250 802407D0 24020001 */ addiu $v0, $zero, 1 +/* 8A6254 802407D4 14620006 */ bne $v1, $v0, .L802407F0 +/* 8A6258 802407D8 00000000 */ nop +.L802407DC: +/* 8A625C 802407DC 8E220084 */ lw $v0, 0x84($s1) +/* 8A6260 802407E0 00021FC2 */ srl $v1, $v0, 0x1f +/* 8A6264 802407E4 00431021 */ addu $v0, $v0, $v1 +/* 8A6268 802407E8 00021043 */ sra $v0, $v0, 1 +/* 8A626C 802407EC A60200A8 */ sh $v0, 0xa8($s0) +.L802407F0: +/* 8A6270 802407F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 8A6274 802407F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 8A6278 802407F8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 8A627C 802407FC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 8A6280 80240800 8C460028 */ lw $a2, 0x28($v0) +/* 8A6284 80240804 0C00A7B5 */ jal dist2D +/* 8A6288 80240808 8C470030 */ lw $a3, 0x30($v0) +/* 8A628C 8024080C C6020018 */ lwc1 $f2, 0x18($s0) +/* 8A6290 80240810 46020003 */ div.s $f0, $f0, $f2 +/* 8A6294 80240814 3C018024 */ lui $at, 0x8024 +/* 8A6298 80240818 D42224A0 */ ldc1 $f2, 0x24a0($at) +/* 8A629C 8024081C 46000021 */ cvt.d.s $f0, $f0 +/* 8A62A0 80240820 46220000 */ add.d $f0, $f0, $f2 +/* 8A62A4 80240824 4620010D */ trunc.w.d $f4, $f0 +/* 8A62A8 80240828 44022000 */ mfc1 $v0, $f4 +/* 8A62AC 8024082C 00000000 */ nop +/* 8A62B0 80240830 A602008E */ sh $v0, 0x8e($s0) +/* 8A62B4 80240834 00021400 */ sll $v0, $v0, 0x10 +/* 8A62B8 80240838 8E230078 */ lw $v1, 0x78($s1) +/* 8A62BC 8024083C 00021403 */ sra $v0, $v0, 0x10 +/* 8A62C0 80240840 0043102A */ slt $v0, $v0, $v1 +/* 8A62C4 80240844 10400003 */ beqz $v0, .L80240854 +/* 8A62C8 80240848 00000000 */ nop +/* 8A62CC 8024084C 9622007A */ lhu $v0, 0x7a($s1) +/* 8A62D0 80240850 A602008E */ sh $v0, 0x8e($s0) +.L80240854: +/* 8A62D4 80240854 8602008E */ lh $v0, 0x8e($s0) +/* 8A62D8 80240858 AE22007C */ sw $v0, 0x7c($s1) +/* 8A62DC 8024085C 2402000E */ addiu $v0, $zero, 0xe +/* 8A62E0 80240860 AE620070 */ sw $v0, 0x70($s3) +.L80240864: +/* 8A62E4 80240864 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A62E8 80240868 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A62EC 8024086C 8FB20018 */ lw $s2, 0x18($sp) +/* 8A62F0 80240870 8FB10014 */ lw $s1, 0x14($sp) +/* 8A62F4 80240874 8FB00010 */ lw $s0, 0x10($sp) +/* 8A62F8 80240878 03E00008 */ jr $ra +/* 8A62FC 8024087C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240880.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240880.s new file mode 100644 index 0000000000..b1de1359f2 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240880.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240880 +/* 8A6300 80240880 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A6304 80240884 AFB3003C */ sw $s3, 0x3c($sp) +/* 8A6308 80240888 0080982D */ daddu $s3, $a0, $zero +/* 8A630C 8024088C AFBF0040 */ sw $ra, 0x40($sp) +/* 8A6310 80240890 AFB20038 */ sw $s2, 0x38($sp) +/* 8A6314 80240894 AFB10034 */ sw $s1, 0x34($sp) +/* 8A6318 80240898 AFB00030 */ sw $s0, 0x30($sp) +/* 8A631C 8024089C 8E710148 */ lw $s1, 0x148($s3) +/* 8A6320 802408A0 0C00EABB */ jal get_npc_unsafe +/* 8A6324 802408A4 86240008 */ lh $a0, 8($s1) +/* 8A6328 802408A8 0040802D */ daddu $s0, $v0, $zero +/* 8A632C 802408AC 8E22007C */ lw $v0, 0x7c($s1) +/* 8A6330 802408B0 8603008E */ lh $v1, 0x8e($s0) +/* 8A6334 802408B4 2442FFFF */ addiu $v0, $v0, -1 +/* 8A6338 802408B8 14620012 */ bne $v1, $v0, .L80240904 +/* 8A633C 802408BC 00000000 */ nop +/* 8A6340 802408C0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8A6344 802408C4 4600020D */ trunc.w.s $f8, $f0 +/* 8A6348 802408C8 44024000 */ mfc1 $v0, $f8 +/* 8A634C 802408CC 00000000 */ nop +/* 8A6350 802408D0 A6220010 */ sh $v0, 0x10($s1) +/* 8A6354 802408D4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 8A6358 802408D8 4600020D */ trunc.w.s $f8, $f0 +/* 8A635C 802408DC 44024000 */ mfc1 $v0, $f8 +/* 8A6360 802408E0 00000000 */ nop +/* 8A6364 802408E4 A6220012 */ sh $v0, 0x12($s1) +/* 8A6368 802408E8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 8A636C 802408EC 24020001 */ addiu $v0, $zero, 1 +/* 8A6370 802408F0 A2220007 */ sb $v0, 7($s1) +/* 8A6374 802408F4 4600020D */ trunc.w.s $f8, $f0 +/* 8A6378 802408F8 44024000 */ mfc1 $v0, $f8 +/* 8A637C 802408FC 00000000 */ nop +/* 8A6380 80240900 A6220014 */ sh $v0, 0x14($s1) +.L80240904: +/* 8A6384 80240904 C6000038 */ lwc1 $f0, 0x38($s0) +/* 8A6388 80240908 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A638C 8024090C C6040040 */ lwc1 $f4, 0x40($s0) +/* 8A6390 80240910 C6060018 */ lwc1 $f6, 0x18($s0) +/* 8A6394 80240914 E7A00020 */ swc1 $f0, 0x20($sp) +/* 8A6398 80240918 E7A20024 */ swc1 $f2, 0x24($sp) +/* 8A639C 8024091C E7A40028 */ swc1 $f4, 0x28($sp) +/* 8A63A0 80240920 E7A60010 */ swc1 $f6, 0x10($sp) +/* 8A63A4 80240924 C600000C */ lwc1 $f0, 0xc($s0) +/* 8A63A8 80240928 E7A00014 */ swc1 $f0, 0x14($sp) +/* 8A63AC 8024092C 860200A8 */ lh $v0, 0xa8($s0) +/* 8A63B0 80240930 27A50020 */ addiu $a1, $sp, 0x20 +/* 8A63B4 80240934 44820000 */ mtc1 $v0, $f0 +/* 8A63B8 80240938 00000000 */ nop +/* 8A63BC 8024093C 46800020 */ cvt.s.w $f0, $f0 +/* 8A63C0 80240940 E7A00018 */ swc1 $f0, 0x18($sp) +/* 8A63C4 80240944 860200A6 */ lh $v0, 0xa6($s0) +/* 8A63C8 80240948 27A60024 */ addiu $a2, $sp, 0x24 +/* 8A63CC 8024094C 44820000 */ mtc1 $v0, $f0 +/* 8A63D0 80240950 00000000 */ nop +/* 8A63D4 80240954 46800020 */ cvt.s.w $f0, $f0 +/* 8A63D8 80240958 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 8A63DC 8024095C 8E040080 */ lw $a0, 0x80($s0) +/* 8A63E0 80240960 0C037711 */ jal func_800DDC44 +/* 8A63E4 80240964 27A70028 */ addiu $a3, $sp, 0x28 +/* 8A63E8 80240968 0040902D */ daddu $s2, $v0, $zero +/* 8A63EC 8024096C 16400005 */ bnez $s2, .L80240984 +/* 8A63F0 80240970 00000000 */ nop +/* 8A63F4 80240974 8E050018 */ lw $a1, 0x18($s0) +/* 8A63F8 80240978 8E06000C */ lw $a2, 0xc($s0) +/* 8A63FC 8024097C 0C00EA95 */ jal npc_move_heading +/* 8A6400 80240980 0200202D */ daddu $a0, $s0, $zero +.L80240984: +/* 8A6404 80240984 8602008E */ lh $v0, 0x8e($s0) +/* 8A6408 80240988 9603008E */ lhu $v1, 0x8e($s0) +/* 8A640C 8024098C 18400007 */ blez $v0, .L802409AC +/* 8A6410 80240990 2462FFFF */ addiu $v0, $v1, -1 +/* 8A6414 80240994 A602008E */ sh $v0, 0x8e($s0) +/* 8A6418 80240998 00021400 */ sll $v0, $v0, 0x10 +/* 8A641C 8024099C 18400003 */ blez $v0, .L802409AC +/* 8A6420 802409A0 00000000 */ nop +/* 8A6424 802409A4 12400008 */ beqz $s2, .L802409C8 +/* 8A6428 802409A8 00000000 */ nop +.L802409AC: +/* 8A642C 802409AC 8E2200CC */ lw $v0, 0xcc($s1) +/* 8A6430 802409B0 A2200007 */ sb $zero, 7($s1) +/* 8A6434 802409B4 8C420028 */ lw $v0, 0x28($v0) +/* 8A6438 802409B8 A600008E */ sh $zero, 0x8e($s0) +/* 8A643C 802409BC AE020028 */ sw $v0, 0x28($s0) +/* 8A6440 802409C0 2402000F */ addiu $v0, $zero, 0xf +/* 8A6444 802409C4 AE620070 */ sw $v0, 0x70($s3) +.L802409C8: +/* 8A6448 802409C8 8FBF0040 */ lw $ra, 0x40($sp) +/* 8A644C 802409CC 8FB3003C */ lw $s3, 0x3c($sp) +/* 8A6450 802409D0 8FB20038 */ lw $s2, 0x38($sp) +/* 8A6454 802409D4 8FB10034 */ lw $s1, 0x34($sp) +/* 8A6458 802409D8 8FB00030 */ lw $s0, 0x30($sp) +/* 8A645C 802409DC 03E00008 */ jr $ra +/* 8A6460 802409E0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_802409E4.s b/asm/nonmatchings/world/area_tik/tik_24/func_802409E4.s new file mode 100644 index 0000000000..033e4c5568 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_802409E4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802409E4 +/* 8A6464 802409E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 8A6468 802409E8 AFB10014 */ sw $s1, 0x14($sp) +/* 8A646C 802409EC 0080882D */ daddu $s1, $a0, $zero +/* 8A6470 802409F0 AFBF0018 */ sw $ra, 0x18($sp) +/* 8A6474 802409F4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A6478 802409F8 8E300148 */ lw $s0, 0x148($s1) +/* 8A647C 802409FC 0C00EABB */ jal get_npc_unsafe +/* 8A6480 80240A00 86040008 */ lh $a0, 8($s0) +/* 8A6484 80240A04 0040202D */ daddu $a0, $v0, $zero +/* 8A6488 80240A08 9482008E */ lhu $v0, 0x8e($a0) +/* 8A648C 80240A0C 24030003 */ addiu $v1, $zero, 3 +/* 8A6490 80240A10 24420001 */ addiu $v0, $v0, 1 +/* 8A6494 80240A14 A482008E */ sh $v0, 0x8e($a0) +/* 8A6498 80240A18 00021400 */ sll $v0, $v0, 0x10 +/* 8A649C 80240A1C 00021403 */ sra $v0, $v0, 0x10 +/* 8A64A0 80240A20 14430003 */ bne $v0, $v1, .L80240A30 +/* 8A64A4 80240A24 00000000 */ nop +/* 8A64A8 80240A28 96020086 */ lhu $v0, 0x86($s0) +/* 8A64AC 80240A2C A48200A8 */ sh $v0, 0xa8($a0) +.L80240A30: +/* 8A64B0 80240A30 8482008E */ lh $v0, 0x8e($a0) +/* 8A64B4 80240A34 8E030080 */ lw $v1, 0x80($s0) +/* 8A64B8 80240A38 0043102A */ slt $v0, $v0, $v1 +/* 8A64BC 80240A3C 14400004 */ bnez $v0, .L80240A50 +/* 8A64C0 80240A40 00000000 */ nop +/* 8A64C4 80240A44 96020086 */ lhu $v0, 0x86($s0) +/* 8A64C8 80240A48 A48200A8 */ sh $v0, 0xa8($a0) +/* 8A64CC 80240A4C AE200070 */ sw $zero, 0x70($s1) +.L80240A50: +/* 8A64D0 80240A50 8FBF0018 */ lw $ra, 0x18($sp) +/* 8A64D4 80240A54 8FB10014 */ lw $s1, 0x14($sp) +/* 8A64D8 80240A58 8FB00010 */ lw $s0, 0x10($sp) +/* 8A64DC 80240A5C 03E00008 */ jr $ra +/* 8A64E0 80240A60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tik/tik_24/func_80240A64.s b/asm/nonmatchings/world/area_tik/tik_24/func_80240A64.s new file mode 100644 index 0000000000..0e44e6a9ba --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_24/func_80240A64.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A64 +/* 8A64E4 80240A64 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 8A64E8 80240A68 AFB3005C */ sw $s3, 0x5c($sp) +/* 8A64EC 80240A6C 0080982D */ daddu $s3, $a0, $zero +/* 8A64F0 80240A70 AFBF0068 */ sw $ra, 0x68($sp) +/* 8A64F4 80240A74 AFB50064 */ sw $s5, 0x64($sp) +/* 8A64F8 80240A78 AFB40060 */ sw $s4, 0x60($sp) +/* 8A64FC 80240A7C AFB20058 */ sw $s2, 0x58($sp) +/* 8A6500 80240A80 AFB10054 */ sw $s1, 0x54($sp) +/* 8A6504 80240A84 AFB00050 */ sw $s0, 0x50($sp) +/* 8A6508 80240A88 8E710148 */ lw $s1, 0x148($s3) +/* 8A650C 80240A8C 86240008 */ lh $a0, 8($s1) +/* 8A6510 80240A90 0C00EABB */ jal get_npc_unsafe +/* 8A6514 80240A94 00A0802D */ daddu $s0, $a1, $zero +/* 8A6518 80240A98 8E63000C */ lw $v1, 0xc($s3) +/* 8A651C 80240A9C 0260202D */ daddu $a0, $s3, $zero +/* 8A6520 80240AA0 8C650000 */ lw $a1, ($v1) +/* 8A6524 80240AA4 0C0B1EAF */ jal get_variable +/* 8A6528 80240AA8 0040902D */ daddu $s2, $v0, $zero +/* 8A652C 80240AAC AFA00028 */ sw $zero, 0x28($sp) +/* 8A6530 80240AB0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A6534 80240AB4 8C630030 */ lw $v1, 0x30($v1) +/* 8A6538 80240AB8 AFA3002C */ sw $v1, 0x2c($sp) +/* 8A653C 80240ABC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A6540 80240AC0 8C63001C */ lw $v1, 0x1c($v1) +/* 8A6544 80240AC4 AFA30030 */ sw $v1, 0x30($sp) +/* 8A6548 80240AC8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A654C 80240ACC 8C630024 */ lw $v1, 0x24($v1) +/* 8A6550 80240AD0 AFA30034 */ sw $v1, 0x34($sp) +/* 8A6554 80240AD4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A6558 80240AD8 8C630028 */ lw $v1, 0x28($v1) +/* 8A655C 80240ADC 27B50028 */ addiu $s5, $sp, 0x28 +/* 8A6560 80240AE0 AFA30038 */ sw $v1, 0x38($sp) +/* 8A6564 80240AE4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 8A6568 80240AE8 3C0142C8 */ lui $at, 0x42c8 +/* 8A656C 80240AEC 44810000 */ mtc1 $at, $f0 +/* 8A6570 80240AF0 8C63002C */ lw $v1, 0x2c($v1) +/* 8A6574 80240AF4 0040A02D */ daddu $s4, $v0, $zero +/* 8A6578 80240AF8 E7A00040 */ swc1 $f0, 0x40($sp) +/* 8A657C 80240AFC A7A00044 */ sh $zero, 0x44($sp) +/* 8A6580 80240B00 12000009 */ beqz $s0, .L80240B28 +/* 8A6584 80240B04 AFA3003C */ sw $v1, 0x3c($sp) +/* 8A6588 80240B08 864300A8 */ lh $v1, 0xa8($s2) +/* 8A658C 80240B0C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A6590 80240B10 AE20008C */ sw $zero, 0x8c($s1) +/* 8A6594 80240B14 A22000B5 */ sb $zero, 0xb5($s1) +/* 8A6598 80240B18 34420008 */ ori $v0, $v0, 8 +/* 8A659C 80240B1C AE230084 */ sw $v1, 0x84($s1) +/* 8A65A0 80240B20 080902CE */ j .L80240B38 +/* 8A65A4 80240B24 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240B28: +/* 8A65A8 80240B28 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A65AC 80240B2C 30420004 */ andi $v0, $v0, 4 +/* 8A65B0 80240B30 10400047 */ beqz $v0, .L80240C50 +/* 8A65B4 80240B34 00000000 */ nop +.L80240B38: +/* 8A65B8 80240B38 AE600070 */ sw $zero, 0x70($s3) +/* 8A65BC 80240B3C A640008E */ sh $zero, 0x8e($s2) +/* 8A65C0 80240B40 8E2300CC */ lw $v1, 0xcc($s1) +/* 8A65C4 80240B44 2404F7FF */ addiu $a0, $zero, -0x801 +/* 8A65C8 80240B48 A2200007 */ sb $zero, 7($s1) +/* 8A65CC 80240B4C 8E420000 */ lw $v0, ($s2) +/* 8A65D0 80240B50 8C630000 */ lw $v1, ($v1) +/* 8A65D4 80240B54 00441024 */ and $v0, $v0, $a0 +/* 8A65D8 80240B58 AE420000 */ sw $v0, ($s2) +/* 8A65DC 80240B5C AE430028 */ sw $v1, 0x28($s2) +/* 8A65E0 80240B60 96220086 */ lhu $v0, 0x86($s1) +/* 8A65E4 80240B64 A64200A8 */ sh $v0, 0xa8($s2) +/* 8A65E8 80240B68 8E2200D0 */ lw $v0, 0xd0($s1) +/* 8A65EC 80240B6C AE200090 */ sw $zero, 0x90($s1) +/* 8A65F0 80240B70 8C420034 */ lw $v0, 0x34($v0) +/* 8A65F4 80240B74 14400006 */ bnez $v0, .L80240B90 +/* 8A65F8 80240B78 2403FDFF */ addiu $v1, $zero, -0x201 +/* 8A65FC 80240B7C 8E420000 */ lw $v0, ($s2) +/* 8A6600 80240B80 2403FFF7 */ addiu $v1, $zero, -9 +/* 8A6604 80240B84 34420200 */ ori $v0, $v0, 0x200 +/* 8A6608 80240B88 080902E7 */ j .L80240B9C +/* 8A660C 80240B8C 00431024 */ and $v0, $v0, $v1 +.L80240B90: +/* 8A6610 80240B90 8E420000 */ lw $v0, ($s2) +/* 8A6614 80240B94 00431024 */ and $v0, $v0, $v1 +/* 8A6618 80240B98 34420008 */ ori $v0, $v0, 8 +.L80240B9C: +/* 8A661C 80240B9C AE420000 */ sw $v0, ($s2) +/* 8A6620 80240BA0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A6624 80240BA4 30420004 */ andi $v0, $v0, 4 +/* 8A6628 80240BA8 1040001E */ beqz $v0, .L80240C24 +/* 8A662C 80240BAC 24040002 */ addiu $a0, $zero, 2 +/* 8A6630 80240BB0 0240282D */ daddu $a1, $s2, $zero +/* 8A6634 80240BB4 0000302D */ daddu $a2, $zero, $zero +/* 8A6638 80240BB8 24020063 */ addiu $v0, $zero, 0x63 +/* 8A663C 80240BBC AE620070 */ sw $v0, 0x70($s3) +/* 8A6640 80240BC0 AE600074 */ sw $zero, 0x74($s3) +/* 8A6644 80240BC4 864300A8 */ lh $v1, 0xa8($s2) +/* 8A6648 80240BC8 3C013F80 */ lui $at, 0x3f80 +/* 8A664C 80240BCC 44810000 */ mtc1 $at, $f0 +/* 8A6650 80240BD0 3C014000 */ lui $at, 0x4000 +/* 8A6654 80240BD4 44811000 */ mtc1 $at, $f2 +/* 8A6658 80240BD8 3C01C1A0 */ lui $at, 0xc1a0 +/* 8A665C 80240BDC 44812000 */ mtc1 $at, $f4 +/* 8A6660 80240BE0 24020028 */ addiu $v0, $zero, 0x28 +/* 8A6664 80240BE4 AFA2001C */ sw $v0, 0x1c($sp) +/* 8A6668 80240BE8 44833000 */ mtc1 $v1, $f6 +/* 8A666C 80240BEC 00000000 */ nop +/* 8A6670 80240BF0 468031A0 */ cvt.s.w $f6, $f6 +/* 8A6674 80240BF4 44073000 */ mfc1 $a3, $f6 +/* 8A6678 80240BF8 27A20048 */ addiu $v0, $sp, 0x48 +/* 8A667C 80240BFC AFA20020 */ sw $v0, 0x20($sp) +/* 8A6680 80240C00 E7A00010 */ swc1 $f0, 0x10($sp) +/* 8A6684 80240C04 E7A20014 */ swc1 $f2, 0x14($sp) +/* 8A6688 80240C08 0C01BFA4 */ jal fx_emote +/* 8A668C 80240C0C E7A40018 */ swc1 $f4, 0x18($sp) +/* 8A6690 80240C10 8E2200B0 */ lw $v0, 0xb0($s1) +/* 8A6694 80240C14 2403FFFB */ addiu $v1, $zero, -5 +/* 8A6698 80240C18 00431024 */ and $v0, $v0, $v1 +/* 8A669C 80240C1C 08090314 */ j .L80240C50 +/* 8A66A0 80240C20 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240C24: +/* 8A66A4 80240C24 8E220000 */ lw $v0, ($s1) +/* 8A66A8 80240C28 3C034000 */ lui $v1, 0x4000 +/* 8A66AC 80240C2C 00431024 */ and $v0, $v0, $v1 +/* 8A66B0 80240C30 10400007 */ beqz $v0, .L80240C50 +/* 8A66B4 80240C34 3C03BFFF */ lui $v1, 0xbfff +/* 8A66B8 80240C38 2402000C */ addiu $v0, $zero, 0xc +/* 8A66BC 80240C3C AE620070 */ sw $v0, 0x70($s3) +/* 8A66C0 80240C40 8E220000 */ lw $v0, ($s1) +/* 8A66C4 80240C44 3463FFFF */ ori $v1, $v1, 0xffff +/* 8A66C8 80240C48 00431024 */ and $v0, $v0, $v1 +/* 8A66CC 80240C4C AE220000 */ sw $v0, ($s1) +.L80240C50: +/* 8A66D0 80240C50 8E220090 */ lw $v0, 0x90($s1) +/* 8A66D4 80240C54 1840000C */ blez $v0, .L80240C88 +/* 8A66D8 80240C58 2442FFFF */ addiu $v0, $v0, -1 +/* 8A66DC 80240C5C 14400087 */ bnez $v0, .L80240E7C +/* 8A66E0 80240C60 AE220090 */ sw $v0, 0x90($s1) +/* 8A66E4 80240C64 3C03FFAA */ lui $v1, 0xffaa +/* 8A66E8 80240C68 8E420028 */ lw $v0, 0x28($s2) +/* 8A66EC 80240C6C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 8A66F0 80240C70 00431021 */ addu $v0, $v0, $v1 +/* 8A66F4 80240C74 2C420002 */ sltiu $v0, $v0, 2 +/* 8A66F8 80240C78 10400003 */ beqz $v0, .L80240C88 +/* 8A66FC 80240C7C 3C020055 */ lui $v0, 0x55 +/* 8A6700 80240C80 3442000C */ ori $v0, $v0, 0xc +/* 8A6704 80240C84 AE420028 */ sw $v0, 0x28($s2) +.L80240C88: +/* 8A6708 80240C88 8E630070 */ lw $v1, 0x70($s3) +/* 8A670C 80240C8C 2402000C */ addiu $v0, $zero, 0xc +/* 8A6710 80240C90 10620048 */ beq $v1, $v0, .L80240DB4 +/* 8A6714 80240C94 2862000D */ slti $v0, $v1, 0xd +/* 8A6718 80240C98 1040000F */ beqz $v0, .L80240CD8 +/* 8A671C 80240C9C 24100001 */ addiu $s0, $zero, 1 +/* 8A6720 80240CA0 1070001E */ beq $v1, $s0, .L80240D1C +/* 8A6724 80240CA4 28620002 */ slti $v0, $v1, 2 +/* 8A6728 80240CA8 10400005 */ beqz $v0, .L80240CC0 +/* 8A672C 80240CAC 24020002 */ addiu $v0, $zero, 2 +/* 8A6730 80240CB0 10600015 */ beqz $v1, .L80240D08 +/* 8A6734 80240CB4 0260202D */ daddu $a0, $s3, $zero +/* 8A6738 80240CB8 08090384 */ j .L80240E10 +/* 8A673C 80240CBC 00000000 */ nop +.L80240CC0: +/* 8A6740 80240CC0 1062001C */ beq $v1, $v0, .L80240D34 +/* 8A6744 80240CC4 24020003 */ addiu $v0, $zero, 3 +/* 8A6748 80240CC8 10620035 */ beq $v1, $v0, .L80240DA0 +/* 8A674C 80240CCC 0260202D */ daddu $a0, $s3, $zero +/* 8A6750 80240CD0 08090384 */ j .L80240E10 +/* 8A6754 80240CD4 00000000 */ nop +.L80240CD8: +/* 8A6758 80240CD8 2402000E */ addiu $v0, $zero, 0xe +/* 8A675C 80240CDC 1062003F */ beq $v1, $v0, .L80240DDC +/* 8A6760 80240CE0 0062102A */ slt $v0, $v1, $v0 +/* 8A6764 80240CE4 14400038 */ bnez $v0, .L80240DC8 +/* 8A6768 80240CE8 0260202D */ daddu $a0, $s3, $zero +/* 8A676C 80240CEC 2402000F */ addiu $v0, $zero, 0xf +/* 8A6770 80240CF0 10620040 */ beq $v1, $v0, .L80240DF4 +/* 8A6774 80240CF4 24020063 */ addiu $v0, $zero, 0x63 +/* 8A6778 80240CF8 10620043 */ beq $v1, $v0, .L80240E08 +/* 8A677C 80240CFC 00000000 */ nop +/* 8A6780 80240D00 08090384 */ j .L80240E10 +/* 8A6784 80240D04 00000000 */ nop +.L80240D08: +/* 8A6788 80240D08 0280282D */ daddu $a1, $s4, $zero +/* 8A678C 80240D0C 0C012568 */ jal func_800495A0 +/* 8A6790 80240D10 02A0302D */ daddu $a2, $s5, $zero +/* 8A6794 80240D14 96220086 */ lhu $v0, 0x86($s1) +/* 8A6798 80240D18 A64200A8 */ sh $v0, 0xa8($s2) +.L80240D1C: +/* 8A679C 80240D1C 0260202D */ daddu $a0, $s3, $zero +/* 8A67A0 80240D20 0280282D */ daddu $a1, $s4, $zero +/* 8A67A4 80240D24 0C0125AE */ jal func_800496B8 +/* 8A67A8 80240D28 02A0302D */ daddu $a2, $s5, $zero +/* 8A67AC 80240D2C 08090384 */ j .L80240E10 +/* 8A67B0 80240D30 00000000 */ nop +.L80240D34: +/* 8A67B4 80240D34 0260202D */ daddu $a0, $s3, $zero +/* 8A67B8 80240D38 0280282D */ daddu $a1, $s4, $zero +/* 8A67BC 80240D3C 0C0126D1 */ jal func_80049B44 +/* 8A67C0 80240D40 02A0302D */ daddu $a2, $s5, $zero +/* 8A67C4 80240D44 8E230088 */ lw $v1, 0x88($s1) +/* 8A67C8 80240D48 24020006 */ addiu $v0, $zero, 6 +/* 8A67CC 80240D4C 14620014 */ bne $v1, $v0, .L80240DA0 +/* 8A67D0 80240D50 0260202D */ daddu $a0, $s3, $zero +/* 8A67D4 80240D54 0C00A67F */ jal rand_int +/* 8A67D8 80240D58 24040064 */ addiu $a0, $zero, 0x64 +/* 8A67DC 80240D5C 28420021 */ slti $v0, $v0, 0x21 +/* 8A67E0 80240D60 5040000F */ beql $v0, $zero, .L80240DA0 +/* 8A67E4 80240D64 0260202D */ daddu $a0, $s3, $zero +/* 8A67E8 80240D68 8E22008C */ lw $v0, 0x8c($s1) +/* 8A67EC 80240D6C 10400005 */ beqz $v0, .L80240D84 +/* 8A67F0 80240D70 3C020055 */ lui $v0, 0x55 +/* 8A67F4 80240D74 3442002F */ ori $v0, $v0, 0x2f +/* 8A67F8 80240D78 AE20008C */ sw $zero, 0x8c($s1) +/* 8A67FC 80240D7C 08090364 */ j .L80240D90 +/* 8A6800 80240D80 A22000B5 */ sb $zero, 0xb5($s1) +.L80240D84: +/* 8A6804 80240D84 3442002E */ ori $v0, $v0, 0x2e +/* 8A6808 80240D88 AE30008C */ sw $s0, 0x8c($s1) +/* 8A680C 80240D8C A23000B5 */ sb $s0, 0xb5($s1) +.L80240D90: +/* 8A6810 80240D90 AE420028 */ sw $v0, 0x28($s2) +/* 8A6814 80240D94 24020007 */ addiu $v0, $zero, 7 +/* 8A6818 80240D98 0809039F */ j .L80240E7C +/* 8A681C 80240D9C AE220090 */ sw $v0, 0x90($s1) +.L80240DA0: +/* 8A6820 80240DA0 0280282D */ daddu $a1, $s4, $zero +/* 8A6824 80240DA4 0C012701 */ jal func_80049C04 +/* 8A6828 80240DA8 02A0302D */ daddu $a2, $s5, $zero +/* 8A682C 80240DAC 08090384 */ j .L80240E10 +/* 8A6830 80240DB0 00000000 */ nop +.L80240DB4: +/* 8A6834 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 8A6838 80240DB8 0280282D */ daddu $a1, $s4, $zero +/* 8A683C 80240DBC 0C0901B4 */ jal func_802406D0 +/* 8A6840 80240DC0 02A0302D */ daddu $a2, $s5, $zero +/* 8A6844 80240DC4 0260202D */ daddu $a0, $s3, $zero +.L80240DC8: +/* 8A6848 80240DC8 0280282D */ daddu $a1, $s4, $zero +/* 8A684C 80240DCC 0C0901D3 */ jal func_8024074C +/* 8A6850 80240DD0 02A0302D */ daddu $a2, $s5, $zero +/* 8A6854 80240DD4 08090384 */ j .L80240E10 +/* 8A6858 80240DD8 00000000 */ nop +.L80240DDC: +/* 8A685C 80240DDC 0260202D */ daddu $a0, $s3, $zero +/* 8A6860 80240DE0 0280282D */ daddu $a1, $s4, $zero +/* 8A6864 80240DE4 0C090220 */ jal func_80240880 +/* 8A6868 80240DE8 02A0302D */ daddu $a2, $s5, $zero +/* 8A686C 80240DEC 08090384 */ j .L80240E10 +/* 8A6870 80240DF0 00000000 */ nop +.L80240DF4: +/* 8A6874 80240DF4 0280282D */ daddu $a1, $s4, $zero +/* 8A6878 80240DF8 0C090279 */ jal func_802409E4 +/* 8A687C 80240DFC 02A0302D */ daddu $a2, $s5, $zero +/* 8A6880 80240E00 08090384 */ j .L80240E10 +/* 8A6884 80240E04 00000000 */ nop +.L80240E08: +/* 8A6888 80240E08 0C0129CF */ jal func_8004A73C +/* 8A688C 80240E0C 0260202D */ daddu $a0, $s3, $zero +.L80240E10: +/* 8A6890 80240E10 8E230088 */ lw $v1, 0x88($s1) +/* 8A6894 80240E14 24020006 */ addiu $v0, $zero, 6 +/* 8A6898 80240E18 14620019 */ bne $v1, $v0, .L80240E80 +/* 8A689C 80240E1C 0000102D */ daddu $v0, $zero, $zero +/* 8A68A0 80240E20 8E22008C */ lw $v0, 0x8c($s1) +/* 8A68A4 80240E24 10400003 */ beqz $v0, .L80240E34 +/* 8A68A8 80240E28 24020001 */ addiu $v0, $zero, 1 +/* 8A68AC 80240E2C 0809038E */ j .L80240E38 +/* 8A68B0 80240E30 A22200B5 */ sb $v0, 0xb5($s1) +.L80240E34: +/* 8A68B4 80240E34 A22000B5 */ sb $zero, 0xb5($s1) +.L80240E38: +/* 8A68B8 80240E38 8E22008C */ lw $v0, 0x8c($s1) +/* 8A68BC 80240E3C 1040000F */ beqz $v0, .L80240E7C +/* 8A68C0 80240E40 3C03FFAA */ lui $v1, 0xffaa +/* 8A68C4 80240E44 8E420028 */ lw $v0, 0x28($s2) +/* 8A68C8 80240E48 3463FFFC */ ori $v1, $v1, 0xfffc +/* 8A68CC 80240E4C 00431821 */ addu $v1, $v0, $v1 +/* 8A68D0 80240E50 2C620015 */ sltiu $v0, $v1, 0x15 +/* 8A68D4 80240E54 10400009 */ beqz $v0, .L80240E7C +/* 8A68D8 80240E58 00031080 */ sll $v0, $v1, 2 +/* 8A68DC 80240E5C 3C018024 */ lui $at, 0x8024 +/* 8A68E0 80240E60 00220821 */ addu $at, $at, $v0 +/* 8A68E4 80240E64 8C2224A8 */ lw $v0, 0x24a8($at) +/* 8A68E8 80240E68 00400008 */ jr $v0 +/* 8A68EC 80240E6C 00000000 */ nop +/* 8A68F0 80240E70 8E420028 */ lw $v0, 0x28($s2) +/* 8A68F4 80240E74 24420001 */ addiu $v0, $v0, 1 +/* 8A68F8 80240E78 AE420028 */ sw $v0, 0x28($s2) +.L80240E7C: +/* 8A68FC 80240E7C 0000102D */ daddu $v0, $zero, $zero +.L80240E80: +/* 8A6900 80240E80 8FBF0068 */ lw $ra, 0x68($sp) +/* 8A6904 80240E84 8FB50064 */ lw $s5, 0x64($sp) +/* 8A6908 80240E88 8FB40060 */ lw $s4, 0x60($sp) +/* 8A690C 80240E8C 8FB3005C */ lw $s3, 0x5c($sp) +/* 8A6910 80240E90 8FB20058 */ lw $s2, 0x58($sp) +/* 8A6914 80240E94 8FB10054 */ lw $s1, 0x54($sp) +/* 8A6918 80240E98 8FB00050 */ lw $s0, 0x50($sp) +/* 8A691C 80240E9C 03E00008 */ jr $ra +/* 8A6920 80240EA0 27BD0070 */ addiu $sp, $sp, 0x70 +/* 8A6924 80240EA4 00000000 */ nop +/* 8A6928 80240EA8 00000000 */ nop +/* 8A692C 80240EAC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_80240000_8A7F80.s b/asm/nonmatchings/world/area_tik/tik_25/func_80240000_8A7F80.s new file mode 100644 index 0000000000..26eac6aaba --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_80240000_8A7F80.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_8A7F80 +/* 8A7F80 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A7F84 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 8A7F88 80240008 0080802D */ daddu $s0, $a0, $zero +/* 8A7F8C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 8A7F90 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A7F94 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 8A7F98 80240018 00621821 */ addu $v1, $v1, $v0 +/* 8A7F9C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 8A7FA0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A7FA4 80240024 3C020002 */ lui $v0, 2 +/* 8A7FA8 80240028 08090010 */ j .L80240040 +/* 8A7FAC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 8A7FB0 80240030 3C040002 */ lui $a0, 2 +/* 8A7FB4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 8A7FB8 80240038 10400002 */ beqz $v0, .L80240044 +/* 8A7FBC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 8A7FC0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 8A7FC4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 8A7FC8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 8A7FCC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 8A7FD0 80240050 04610004 */ bgez $v1, .L80240064 +/* 8A7FD4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 8A7FD8 80240058 3C020002 */ lui $v0, 2 +/* 8A7FDC 8024005C 0809001D */ j .L80240074 +/* 8A7FE0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 8A7FE4 80240064 3C040002 */ lui $a0, 2 +/* 8A7FE8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 8A7FEC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 8A7FF0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 8A7FF4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 8A7FF8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A7FFC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 8A8000 80240080 00621821 */ addu $v1, $v1, $v0 +/* 8A8004 80240084 04610004 */ bgez $v1, .L80240098 +/* 8A8008 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A800C 8024008C 3C020002 */ lui $v0, 2 +/* 8A8010 80240090 0809002A */ j .L802400A8 +/* 8A8014 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 8A8018 80240098 3C040002 */ lui $a0, 2 +/* 8A801C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 8A8020 802400A0 10400002 */ beqz $v0, .L802400AC +/* 8A8024 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 8A8028 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 8A802C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A8030 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 8A8034 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 8A8038 802400B8 04610004 */ bgez $v1, .L802400CC +/* 8A803C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A8040 802400C0 3C020002 */ lui $v0, 2 +/* 8A8044 802400C4 08090037 */ j .L802400DC +/* 8A8048 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 8A804C 802400CC 3C040002 */ lui $a0, 2 +/* 8A8050 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 8A8054 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 8A8058 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 8A805C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 8A8060 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 8A8064 802400E4 0C046F07 */ jal set_main_pan_u +/* 8A8068 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A806C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 8A8070 802400F0 0C046F0D */ jal set_main_pan_v +/* 8A8074 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 8A8078 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 8A807C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 8A8080 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A8084 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 8A8088 80240108 0C046F19 */ jal set_aux_pan_v +/* 8A808C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A8090 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A8094 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 8A8098 80240118 0000102D */ daddu $v0, $zero, $zero +/* 8A809C 8024011C 03E00008 */ jr $ra +/* 8A80A0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_80240124_8A7F80.s b/asm/nonmatchings/world/area_tik/tik_25/func_80240124_8A7F80.s new file mode 100644 index 0000000000..a66ba979f7 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_80240124_8A7F80.s @@ -0,0 +1,143 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_8A80A4 +/* 8A80A4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A80A8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 8A80AC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 8A80B0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 8A80B4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 8A80B8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 8A80BC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 8A80C0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 8A80C4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 8A80C8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 8A80CC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 8A80D0 80240150 00000000 */ nop +/* 8A80D4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 8A80D8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 8A80DC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 8A80E0 80240160 04610004 */ bgez $v1, .L80240174 +/* 8A80E4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 8A80E8 80240168 3C020002 */ lui $v0, 2 +/* 8A80EC 8024016C 08090061 */ j .L80240184 +/* 8A80F0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 8A80F4 80240174 3C040002 */ lui $a0, 2 +/* 8A80F8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 8A80FC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 8A8100 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 8A8104 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 8A8108 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 8A810C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 8A8110 80240190 00000000 */ nop +/* 8A8114 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 8A8118 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 8A811C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 8A8120 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 8A8124 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 8A8128 802401A8 3C020002 */ lui $v0, 2 +/* 8A812C 802401AC 08090071 */ j .L802401C4 +/* 8A8130 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 8A8134 802401B4 3C040002 */ lui $a0, 2 +/* 8A8138 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 8A813C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 8A8140 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 8A8144 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 8A8148 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 8A814C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 8A8150 802401D0 00000000 */ nop +/* 8A8154 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 8A8158 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 8A815C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 8A8160 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 8A8164 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 8A8168 802401E8 3C020002 */ lui $v0, 2 +/* 8A816C 802401EC 08090081 */ j .L80240204 +/* 8A8170 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 8A8174 802401F4 3C040002 */ lui $a0, 2 +/* 8A8178 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 8A817C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 8A8180 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 8A8184 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 8A8188 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 8A818C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 8A8190 80240210 00000000 */ nop +/* 8A8194 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 8A8198 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 8A819C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 8A81A0 80240220 04610004 */ bgez $v1, .L80240234 +/* 8A81A4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 8A81A8 80240228 3C020002 */ lui $v0, 2 +/* 8A81AC 8024022C 08090091 */ j .L80240244 +/* 8A81B0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 8A81B4 80240234 3C040002 */ lui $a0, 2 +/* 8A81B8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 8A81BC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 8A81C0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 8A81C4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 8A81C8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 8A81CC 8024024C 0C046F07 */ jal set_main_pan_u +/* 8A81D0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 8A81D4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 8A81D8 80240258 0C046F0D */ jal set_main_pan_v +/* 8A81DC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 8A81E0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 8A81E4 80240264 0C046F13 */ jal set_aux_pan_u +/* 8A81E8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 8A81EC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 8A81F0 80240270 0C046F19 */ jal set_aux_pan_v +/* 8A81F4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 8A81F8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 8A81FC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 8A8200 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 8A8204 80240284 24420001 */ addiu $v0, $v0, 1 +/* 8A8208 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 8A820C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 8A8210 80240290 24630001 */ addiu $v1, $v1, 1 +/* 8A8214 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 8A8218 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 8A821C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 8A8220 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 8A8224 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 8A8228 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 8A822C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 8A8230 802402B0 14600002 */ bnez $v1, .L802402BC +/* 8A8234 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 8A8238 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 8A823C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 8A8240 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 8A8244 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 8A8248 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 8A824C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 8A8250 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 8A8254 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 8A8258 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 8A825C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 8A8260 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 8A8264 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 8A8268 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 8A826C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 8A8270 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 8A8274 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 8A8278 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 8A827C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 8A8280 80240300 0000102D */ daddu $v0, $zero, $zero +/* 8A8284 80240304 03E00008 */ jr $ra +/* 8A8288 80240308 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_8024030C_8A7F80.s b/asm/nonmatchings/world/area_tik/tik_25/func_8024030C_8A7F80.s new file mode 100644 index 0000000000..b17f224ceb --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_8024030C_8A7F80.s @@ -0,0 +1,235 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024030C_8A828C +/* 8A828C 8024030C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 8A8290 80240310 AFB3001C */ sw $s3, 0x1c($sp) +/* 8A8294 80240314 0080982D */ daddu $s3, $a0, $zero +/* 8A8298 80240318 AFBF0020 */ sw $ra, 0x20($sp) +/* 8A829C 8024031C AFB20018 */ sw $s2, 0x18($sp) +/* 8A82A0 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* 8A82A4 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* 8A82A8 80240328 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 8A82AC 8024032C F7B80038 */ sdc1 $f24, 0x38($sp) +/* 8A82B0 80240330 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 8A82B4 80240334 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 8A82B8 80240338 8E62000C */ lw $v0, 0xc($s3) +/* 8A82BC 8024033C 0C0B1EAF */ jal get_variable +/* 8A82C0 80240340 8C450000 */ lw $a1, ($v0) +/* 8A82C4 80240344 2404FFFC */ addiu $a0, $zero, -4 +/* 8A82C8 80240348 0C00EABB */ jal get_npc_unsafe +/* 8A82CC 8024034C 0040802D */ daddu $s0, $v0, $zero +/* 8A82D0 80240350 0200202D */ daddu $a0, $s0, $zero +/* 8A82D4 80240354 0C046C04 */ jal get_model_list_index_from_tree_index +/* 8A82D8 80240358 0040802D */ daddu $s0, $v0, $zero +/* 8A82DC 8024035C 0C046B4C */ jal get_model_from_list_index +/* 8A82E0 80240360 0040202D */ daddu $a0, $v0, $zero +/* 8A82E4 80240364 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 8A82E8 80240368 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 8A82EC 8024036C 0040902D */ daddu $s2, $v0, $zero +/* 8A82F0 80240370 AE60008C */ sw $zero, 0x8c($s3) +/* 8A82F4 80240374 C4620028 */ lwc1 $f2, 0x28($v1) +/* 8A82F8 80240378 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A82FC 8024037C 46001081 */ sub.s $f2, $f2, $f0 +/* 8A8300 80240380 46021182 */ mul.s $f6, $f2, $f2 +/* 8A8304 80240384 00000000 */ nop +/* 8A8308 80240388 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A830C 8024038C C4620030 */ lwc1 $f2, 0x30($v1) +/* 8A8310 80240390 46001081 */ sub.s $f2, $f2, $f0 +/* 8A8314 80240394 46021102 */ mul.s $f4, $f2, $f2 +/* 8A8318 80240398 00000000 */ nop +/* 8A831C 8024039C 846200B0 */ lh $v0, 0xb0($v1) +/* 8A8320 802403A0 C462002C */ lwc1 $f2, 0x2c($v1) +/* 8A8324 802403A4 44820000 */ mtc1 $v0, $f0 +/* 8A8328 802403A8 00000000 */ nop +/* 8A832C 802403AC 46800020 */ cvt.s.w $f0, $f0 +/* 8A8330 802403B0 46001080 */ add.s $f2, $f2, $f0 +/* 8A8334 802403B4 3C013FC0 */ lui $at, 0x3fc0 +/* 8A8338 802403B8 44810000 */ mtc1 $at, $f0 +/* 8A833C 802403BC 00000000 */ nop +/* 8A8340 802403C0 46001081 */ sub.s $f2, $f2, $f0 +/* 8A8344 802403C4 46043300 */ add.s $f12, $f6, $f4 +/* 8A8348 802403C8 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A834C 802403CC 46001501 */ sub.s $f20, $f2, $f0 +/* 8A8350 802403D0 46006084 */ sqrt.s $f2, $f12 +/* 8A8354 802403D4 46021032 */ c.eq.s $f2, $f2 +/* 8A8358 802403D8 00000000 */ nop +/* 8A835C 802403DC 45010004 */ bc1t .L802403F0 +/* 8A8360 802403E0 0060882D */ daddu $s1, $v1, $zero +/* 8A8364 802403E4 0C0187BC */ jal sqrtf +/* 8A8368 802403E8 00000000 */ nop +/* 8A836C 802403EC 46000086 */ mov.s $f2, $f0 +.L802403F0: +/* 8A8370 802403F0 44800000 */ mtc1 $zero, $f0 +/* 8A8374 802403F4 00000000 */ nop +/* 8A8378 802403F8 4614003C */ c.lt.s $f0, $f20 +/* 8A837C 802403FC 00000000 */ nop +/* 8A8380 80240400 45000016 */ bc1f .L8024045C +/* 8A8384 80240404 46001106 */ mov.s $f4, $f2 +/* 8A8388 80240408 862200B0 */ lh $v0, 0xb0($s1) +/* 8A838C 8024040C 44820000 */ mtc1 $v0, $f0 +/* 8A8390 80240410 00000000 */ nop +/* 8A8394 80240414 46800020 */ cvt.s.w $f0, $f0 +/* 8A8398 80240418 4600A03C */ c.lt.s $f20, $f0 +/* 8A839C 8024041C 00000000 */ nop +/* 8A83A0 80240420 4500000E */ bc1f .L8024045C +/* 8A83A4 80240424 00000000 */ nop +/* 8A83A8 80240428 862200B2 */ lh $v0, 0xb2($s1) +/* 8A83AC 8024042C 3C013F00 */ lui $at, 0x3f00 +/* 8A83B0 80240430 44811000 */ mtc1 $at, $f2 +/* 8A83B4 80240434 44820000 */ mtc1 $v0, $f0 +/* 8A83B8 80240438 00000000 */ nop +/* 8A83BC 8024043C 46800020 */ cvt.s.w $f0, $f0 +/* 8A83C0 80240440 46020002 */ mul.s $f0, $f0, $f2 +/* 8A83C4 80240444 00000000 */ nop +/* 8A83C8 80240448 4600203C */ c.lt.s $f4, $f0 +/* 8A83CC 8024044C 00000000 */ nop +/* 8A83D0 80240450 45000002 */ bc1f .L8024045C +/* 8A83D4 80240454 24020001 */ addiu $v0, $zero, 1 +/* 8A83D8 80240458 AE62008C */ sw $v0, 0x8c($s3) +.L8024045C: +/* 8A83DC 8024045C C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A83E0 80240460 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A83E4 80240464 46001081 */ sub.s $f2, $f2, $f0 +/* 8A83E8 80240468 46021182 */ mul.s $f6, $f2, $f2 +/* 8A83EC 8024046C 00000000 */ nop +/* 8A83F0 80240470 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A83F4 80240474 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A83F8 80240478 46001081 */ sub.s $f2, $f2, $f0 +/* 8A83FC 8024047C 46021102 */ mul.s $f4, $f2, $f2 +/* 8A8400 80240480 00000000 */ nop +/* 8A8404 80240484 860200A8 */ lh $v0, 0xa8($s0) +/* 8A8408 80240488 C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A840C 8024048C 44820000 */ mtc1 $v0, $f0 +/* 8A8410 80240490 00000000 */ nop +/* 8A8414 80240494 46800020 */ cvt.s.w $f0, $f0 +/* 8A8418 80240498 46001080 */ add.s $f2, $f2, $f0 +/* 8A841C 8024049C 3C013FC0 */ lui $at, 0x3fc0 +/* 8A8420 802404A0 44810000 */ mtc1 $at, $f0 +/* 8A8424 802404A4 00000000 */ nop +/* 8A8428 802404A8 46001081 */ sub.s $f2, $f2, $f0 +/* 8A842C 802404AC 46043300 */ add.s $f12, $f6, $f4 +/* 8A8430 802404B0 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A8434 802404B4 46001501 */ sub.s $f20, $f2, $f0 +/* 8A8438 802404B8 46006084 */ sqrt.s $f2, $f12 +/* 8A843C 802404BC 46021032 */ c.eq.s $f2, $f2 +/* 8A8440 802404C0 00000000 */ nop +/* 8A8444 802404C4 45010004 */ bc1t .L802404D8 +/* 8A8448 802404C8 00000000 */ nop +/* 8A844C 802404CC 0C0187BC */ jal sqrtf +/* 8A8450 802404D0 00000000 */ nop +/* 8A8454 802404D4 46000086 */ mov.s $f2, $f0 +.L802404D8: +/* 8A8458 802404D8 44800000 */ mtc1 $zero, $f0 +/* 8A845C 802404DC 00000000 */ nop +/* 8A8460 802404E0 4614003C */ c.lt.s $f0, $f20 +/* 8A8464 802404E4 00000000 */ nop +/* 8A8468 802404E8 45000016 */ bc1f .L80240544 +/* 8A846C 802404EC 46001106 */ mov.s $f4, $f2 +/* 8A8470 802404F0 860200A8 */ lh $v0, 0xa8($s0) +/* 8A8474 802404F4 44820000 */ mtc1 $v0, $f0 +/* 8A8478 802404F8 00000000 */ nop +/* 8A847C 802404FC 46800020 */ cvt.s.w $f0, $f0 +/* 8A8480 80240500 4600A03C */ c.lt.s $f20, $f0 +/* 8A8484 80240504 00000000 */ nop +/* 8A8488 80240508 4500000F */ bc1f .L80240548 +/* 8A848C 8024050C 0000882D */ daddu $s1, $zero, $zero +/* 8A8490 80240510 860200A6 */ lh $v0, 0xa6($s0) +/* 8A8494 80240514 3C013F00 */ lui $at, 0x3f00 +/* 8A8498 80240518 44811000 */ mtc1 $at, $f2 +/* 8A849C 8024051C 44820000 */ mtc1 $v0, $f0 +/* 8A84A0 80240520 00000000 */ nop +/* 8A84A4 80240524 46800020 */ cvt.s.w $f0, $f0 +/* 8A84A8 80240528 46020002 */ mul.s $f0, $f0, $f2 +/* 8A84AC 8024052C 00000000 */ nop +/* 8A84B0 80240530 4600203C */ c.lt.s $f4, $f0 +/* 8A84B4 80240534 00000000 */ nop +/* 8A84B8 80240538 45000003 */ bc1f .L80240548 +/* 8A84BC 8024053C 24020001 */ addiu $v0, $zero, 1 +/* 8A84C0 80240540 AE62008C */ sw $v0, 0x8c($s3) +.L80240544: +/* 8A84C4 80240544 0000882D */ daddu $s1, $zero, $zero +.L80240548: +/* 8A84C8 80240548 3C013FC0 */ lui $at, 0x3fc0 +/* 8A84CC 8024054C 4481D000 */ mtc1 $at, $f26 +/* 8A84D0 80240550 4480C000 */ mtc1 $zero, $f24 +/* 8A84D4 80240554 3C013F00 */ lui $at, 0x3f00 +/* 8A84D8 80240558 4481B000 */ mtc1 $at, $f22 +.L8024055C: +/* 8A84DC 8024055C 0C00EAD2 */ jal get_npc_safe +/* 8A84E0 80240560 0220202D */ daddu $a0, $s1, $zero +/* 8A84E4 80240564 0040802D */ daddu $s0, $v0, $zero +/* 8A84E8 80240568 52000035 */ beql $s0, $zero, .L80240640 +/* 8A84EC 8024056C 26310001 */ addiu $s1, $s1, 1 +/* 8A84F0 80240570 C6020038 */ lwc1 $f2, 0x38($s0) +/* 8A84F4 80240574 C6400098 */ lwc1 $f0, 0x98($s2) +/* 8A84F8 80240578 46001081 */ sub.s $f2, $f2, $f0 +/* 8A84FC 8024057C 46021182 */ mul.s $f6, $f2, $f2 +/* 8A8500 80240580 00000000 */ nop +/* 8A8504 80240584 C64000A0 */ lwc1 $f0, 0xa0($s2) +/* 8A8508 80240588 C6020040 */ lwc1 $f2, 0x40($s0) +/* 8A850C 8024058C 46001081 */ sub.s $f2, $f2, $f0 +/* 8A8510 80240590 46021102 */ mul.s $f4, $f2, $f2 +/* 8A8514 80240594 00000000 */ nop +/* 8A8518 80240598 860200A8 */ lh $v0, 0xa8($s0) +/* 8A851C 8024059C C602003C */ lwc1 $f2, 0x3c($s0) +/* 8A8520 802405A0 44820000 */ mtc1 $v0, $f0 +/* 8A8524 802405A4 00000000 */ nop +/* 8A8528 802405A8 46800020 */ cvt.s.w $f0, $f0 +/* 8A852C 802405AC 46001080 */ add.s $f2, $f2, $f0 +/* 8A8530 802405B0 461A1081 */ sub.s $f2, $f2, $f26 +/* 8A8534 802405B4 46043300 */ add.s $f12, $f6, $f4 +/* 8A8538 802405B8 C640009C */ lwc1 $f0, 0x9c($s2) +/* 8A853C 802405BC 46001501 */ sub.s $f20, $f2, $f0 +/* 8A8540 802405C0 46006004 */ sqrt.s $f0, $f12 +/* 8A8544 802405C4 46000032 */ c.eq.s $f0, $f0 +/* 8A8548 802405C8 00000000 */ nop +/* 8A854C 802405CC 45010003 */ bc1t .L802405DC +/* 8A8550 802405D0 00000000 */ nop +/* 8A8554 802405D4 0C0187BC */ jal sqrtf +/* 8A8558 802405D8 00000000 */ nop +.L802405DC: +/* 8A855C 802405DC 4614C03C */ c.lt.s $f24, $f20 +/* 8A8560 802405E0 00000000 */ nop +/* 8A8564 802405E4 45000015 */ bc1f .L8024063C +/* 8A8568 802405E8 46000106 */ mov.s $f4, $f0 +/* 8A856C 802405EC 860200A8 */ lh $v0, 0xa8($s0) +/* 8A8570 802405F0 44820000 */ mtc1 $v0, $f0 +/* 8A8574 802405F4 00000000 */ nop +/* 8A8578 802405F8 46800020 */ cvt.s.w $f0, $f0 +/* 8A857C 802405FC 4600A03C */ c.lt.s $f20, $f0 +/* 8A8580 80240600 00000000 */ nop +/* 8A8584 80240604 4500000E */ bc1f .L80240640 +/* 8A8588 80240608 26310001 */ addiu $s1, $s1, 1 +/* 8A858C 8024060C 860200A6 */ lh $v0, 0xa6($s0) +/* 8A8590 80240610 44820000 */ mtc1 $v0, $f0 +/* 8A8594 80240614 00000000 */ nop +/* 8A8598 80240618 46800020 */ cvt.s.w $f0, $f0 +/* 8A859C 8024061C 46160002 */ mul.s $f0, $f0, $f22 +/* 8A85A0 80240620 00000000 */ nop +/* 8A85A4 80240624 4600203C */ c.lt.s $f4, $f0 +/* 8A85A8 80240628 00000000 */ nop +/* 8A85AC 8024062C 45000004 */ bc1f .L80240640 +/* 8A85B0 80240630 24020001 */ addiu $v0, $zero, 1 +/* 8A85B4 80240634 08090193 */ j .L8024064C +/* 8A85B8 80240638 AE62008C */ sw $v0, 0x8c($s3) +.L8024063C: +/* 8A85BC 8024063C 26310001 */ addiu $s1, $s1, 1 +.L80240640: +/* 8A85C0 80240640 2A220040 */ slti $v0, $s1, 0x40 +/* 8A85C4 80240644 1440FFC5 */ bnez $v0, .L8024055C +/* 8A85C8 80240648 00000000 */ nop +.L8024064C: +/* 8A85CC 8024064C 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A85D0 80240650 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A85D4 80240654 8FB20018 */ lw $s2, 0x18($sp) +/* 8A85D8 80240658 8FB10014 */ lw $s1, 0x14($sp) +/* 8A85DC 8024065C 8FB00010 */ lw $s0, 0x10($sp) +/* 8A85E0 80240660 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 8A85E4 80240664 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 8A85E8 80240668 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 8A85EC 8024066C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 8A85F0 80240670 24020002 */ addiu $v0, $zero, 2 +/* 8A85F4 80240674 03E00008 */ jr $ra +/* 8A85F8 80240678 27BD0048 */ addiu $sp, $sp, 0x48 +/* 8A85FC 8024067C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_80240680_8A7F80.s b/asm/nonmatchings/world/area_tik/tik_25/func_80240680_8A7F80.s new file mode 100644 index 0000000000..5cf84e206a --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_80240680_8A7F80.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240680_8A8600 +/* 8A8600 80240680 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A8604 80240684 AFBF0010 */ sw $ra, 0x10($sp) +/* 8A8608 80240688 0C04417A */ jal get_entity_by_index +/* 8A860C 8024068C 8C840084 */ lw $a0, 0x84($a0) +/* 8A8610 80240690 8C440040 */ lw $a0, 0x40($v0) +/* 8A8614 80240694 24030001 */ addiu $v1, $zero, 1 +/* 8A8618 80240698 A0830030 */ sb $v1, 0x30($a0) +/* 8A861C 8024069C 8FBF0010 */ lw $ra, 0x10($sp) +/* 8A8620 802406A0 24020002 */ addiu $v0, $zero, 2 +/* 8A8624 802406A4 03E00008 */ jr $ra +/* 8A8628 802406A8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_802406AC.s b/asm/nonmatchings/world/area_tik/tik_25/func_802406AC.s new file mode 100644 index 0000000000..7503f6af32 --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_802406AC.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406AC +/* 8A862C 802406AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 8A8630 802406B0 AFB10014 */ sw $s1, 0x14($sp) +/* 8A8634 802406B4 0080882D */ daddu $s1, $a0, $zero +/* 8A8638 802406B8 AFBF0020 */ sw $ra, 0x20($sp) +/* 8A863C 802406BC AFB3001C */ sw $s3, 0x1c($sp) +/* 8A8640 802406C0 AFB20018 */ sw $s2, 0x18($sp) +/* 8A8644 802406C4 AFB00010 */ sw $s0, 0x10($sp) +/* 8A8648 802406C8 8E30000C */ lw $s0, 0xc($s1) +/* 8A864C 802406CC 8E050000 */ lw $a1, ($s0) +/* 8A8650 802406D0 0C0B1EAF */ jal get_variable +/* 8A8654 802406D4 26100004 */ addiu $s0, $s0, 4 +/* 8A8658 802406D8 8E050000 */ lw $a1, ($s0) +/* 8A865C 802406DC 26100004 */ addiu $s0, $s0, 4 +/* 8A8660 802406E0 0220202D */ daddu $a0, $s1, $zero +/* 8A8664 802406E4 0C0B1EAF */ jal get_variable +/* 8A8668 802406E8 0040982D */ daddu $s3, $v0, $zero +/* 8A866C 802406EC 8E050000 */ lw $a1, ($s0) +/* 8A8670 802406F0 26100004 */ addiu $s0, $s0, 4 +/* 8A8674 802406F4 0220202D */ daddu $a0, $s1, $zero +/* 8A8678 802406F8 0C0B1EAF */ jal get_variable +/* 8A867C 802406FC 0040902D */ daddu $s2, $v0, $zero +/* 8A8680 80240700 0220202D */ daddu $a0, $s1, $zero +/* 8A8684 80240704 8E050000 */ lw $a1, ($s0) +/* 8A8688 80240708 0C0B1EAF */ jal get_variable +/* 8A868C 8024070C 0040882D */ daddu $s1, $v0, $zero +/* 8A8690 80240710 0260202D */ daddu $a0, $s3, $zero +/* 8A8694 80240714 0C04417A */ jal get_entity_by_index +/* 8A8698 80240718 0040802D */ daddu $s0, $v0, $zero +/* 8A869C 8024071C 0040182D */ daddu $v1, $v0, $zero +/* 8A86A0 80240720 44920000 */ mtc1 $s2, $f0 +/* 8A86A4 80240724 00000000 */ nop +/* 8A86A8 80240728 46800020 */ cvt.s.w $f0, $f0 +/* 8A86AC 8024072C E4600048 */ swc1 $f0, 0x48($v1) +/* 8A86B0 80240730 44910000 */ mtc1 $s1, $f0 +/* 8A86B4 80240734 00000000 */ nop +/* 8A86B8 80240738 46800020 */ cvt.s.w $f0, $f0 +/* 8A86BC 8024073C E460004C */ swc1 $f0, 0x4c($v1) +/* 8A86C0 80240740 44900000 */ mtc1 $s0, $f0 +/* 8A86C4 80240744 00000000 */ nop +/* 8A86C8 80240748 46800020 */ cvt.s.w $f0, $f0 +/* 8A86CC 8024074C E4600050 */ swc1 $f0, 0x50($v1) +/* 8A86D0 80240750 8FBF0020 */ lw $ra, 0x20($sp) +/* 8A86D4 80240754 8FB3001C */ lw $s3, 0x1c($sp) +/* 8A86D8 80240758 8FB20018 */ lw $s2, 0x18($sp) +/* 8A86DC 8024075C 8FB10014 */ lw $s1, 0x14($sp) +/* 8A86E0 80240760 8FB00010 */ lw $s0, 0x10($sp) +/* 8A86E4 80240764 24020002 */ addiu $v0, $zero, 2 +/* 8A86E8 80240768 03E00008 */ jr $ra +/* 8A86EC 8024076C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_tik/tik_25/func_80240770.s b/asm/nonmatchings/world/area_tik/tik_25/func_80240770.s new file mode 100644 index 0000000000..3c728e42dc --- /dev/null +++ b/asm/nonmatchings/world/area_tik/tik_25/func_80240770.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240770 +/* 8A86F0 80240770 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 8A86F4 80240774 AFBF0010 */ sw $ra, 0x10($sp) +/* 8A86F8 80240778 8C82000C */ lw $v0, 0xc($a0) +/* 8A86FC 8024077C 0C0B1EAF */ jal get_variable +/* 8A8700 80240780 8C450000 */ lw $a1, ($v0) +/* 8A8704 80240784 0C04417A */ jal get_entity_by_index +/* 8A8708 80240788 0040202D */ daddu $a0, $v0, $zero +/* 8A870C 8024078C 50400007 */ beql $v0, $zero, .L802407AC +/* 8A8710 80240790 0000102D */ daddu $v0, $zero, $zero +/* 8A8714 80240794 84440014 */ lh $a0, 0x14($v0) +/* 8A8718 80240798 3C050000 */ lui $a1, 0 +/* 8A871C 8024079C 24A501E4 */ addiu $a1, $a1, 0x1e4 +/* 8A8720 802407A0 0C048052 */ jal play_model_animation +/* 8A8724 802407A4 00000000 */ nop +/* 8A8728 802407A8 24020002 */ addiu $v0, $zero, 2 +.L802407AC: +/* 8A872C 802407AC 8FBF0010 */ lw $ra, 0x10($sp) +/* 8A8730 802407B0 03E00008 */ jr $ra +/* 8A8734 802407B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 8A8738 802407B8 00000000 */ nop +/* 8A873C 802407BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_80240000_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_80240000_999C70.s new file mode 100644 index 0000000000..42ecf19140 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_80240000_999C70.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_999C70 +/* 999C70 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 999C74 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 999C78 80240008 0080802D */ daddu $s0, $a0, $zero +/* 999C7C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 999C80 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 999C84 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 999C88 80240018 00621821 */ addu $v1, $v1, $v0 +/* 999C8C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 999C90 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 999C94 80240024 3C020002 */ lui $v0, 2 +/* 999C98 80240028 08090010 */ j .L80240040 +/* 999C9C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 999CA0 80240030 3C040002 */ lui $a0, 2 +/* 999CA4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 999CA8 80240038 10400002 */ beqz $v0, .L80240044 +/* 999CAC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 999CB0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 999CB4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 999CB8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 999CBC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 999CC0 80240050 04610004 */ bgez $v1, .L80240064 +/* 999CC4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 999CC8 80240058 3C020002 */ lui $v0, 2 +/* 999CCC 8024005C 0809001D */ j .L80240074 +/* 999CD0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 999CD4 80240064 3C040002 */ lui $a0, 2 +/* 999CD8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 999CDC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 999CE0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 999CE4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 999CE8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 999CEC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 999CF0 80240080 00621821 */ addu $v1, $v1, $v0 +/* 999CF4 80240084 04610004 */ bgez $v1, .L80240098 +/* 999CF8 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 999CFC 8024008C 3C020002 */ lui $v0, 2 +/* 999D00 80240090 0809002A */ j .L802400A8 +/* 999D04 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 999D08 80240098 3C040002 */ lui $a0, 2 +/* 999D0C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 999D10 802400A0 10400002 */ beqz $v0, .L802400AC +/* 999D14 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 999D18 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 999D1C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 999D20 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 999D24 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 999D28 802400B8 04610004 */ bgez $v1, .L802400CC +/* 999D2C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 999D30 802400C0 3C020002 */ lui $v0, 2 +/* 999D34 802400C4 08090037 */ j .L802400DC +/* 999D38 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 999D3C 802400CC 3C040002 */ lui $a0, 2 +/* 999D40 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 999D44 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 999D48 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 999D4C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 999D50 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 999D54 802400E4 0C046F07 */ jal set_main_pan_u +/* 999D58 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 999D5C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 999D60 802400F0 0C046F0D */ jal set_main_pan_v +/* 999D64 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 999D68 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 999D6C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 999D70 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 999D74 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 999D78 80240108 0C046F19 */ jal set_aux_pan_v +/* 999D7C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 999D80 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 999D84 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 999D88 80240118 0000102D */ daddu $v0, $zero, $zero +/* 999D8C 8024011C 03E00008 */ jr $ra +/* 999D90 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_80240124_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_80240124_999C70.s new file mode 100644 index 0000000000..2635cba073 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_80240124_999C70.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_999D94 +/* 999D94 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 999D98 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 999D9C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 999DA0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 999DA4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 999DA8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 999DAC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 999DB0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 999DB4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 999DB8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 999DBC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 999DC0 80240150 00000000 */ nop +/* 999DC4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 999DC8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 999DCC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 999DD0 80240160 04610004 */ bgez $v1, .L80240174 +/* 999DD4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 999DD8 80240168 3C020002 */ lui $v0, 2 +/* 999DDC 8024016C 08090061 */ j .L80240184 +/* 999DE0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 999DE4 80240174 3C040002 */ lui $a0, 2 +/* 999DE8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 999DEC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 999DF0 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 999DF4 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 999DF8 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 999DFC 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 999E00 80240190 00000000 */ nop +/* 999E04 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 999E08 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 999E0C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 999E10 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 999E14 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 999E18 802401A8 3C020002 */ lui $v0, 2 +/* 999E1C 802401AC 08090071 */ j .L802401C4 +/* 999E20 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 999E24 802401B4 3C040002 */ lui $a0, 2 +/* 999E28 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 999E2C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 999E30 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 999E34 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 999E38 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 999E3C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 999E40 802401D0 00000000 */ nop +/* 999E44 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 999E48 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 999E4C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 999E50 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 999E54 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 999E58 802401E8 3C020002 */ lui $v0, 2 +/* 999E5C 802401EC 08090081 */ j .L80240204 +/* 999E60 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 999E64 802401F4 3C040002 */ lui $a0, 2 +/* 999E68 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 999E6C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 999E70 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 999E74 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 999E78 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 999E7C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 999E80 80240210 00000000 */ nop +/* 999E84 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 999E88 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 999E8C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 999E90 80240220 04610004 */ bgez $v1, .L80240234 +/* 999E94 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 999E98 80240228 3C020002 */ lui $v0, 2 +/* 999E9C 8024022C 08090091 */ j .L80240244 +/* 999EA0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 999EA4 80240234 3C040002 */ lui $a0, 2 +/* 999EA8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 999EAC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 999EB0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 999EB4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 999EB8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 999EBC 8024024C 0C046F07 */ jal set_main_pan_u +/* 999EC0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 999EC4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 999EC8 80240258 0C046F0D */ jal set_main_pan_v +/* 999ECC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 999ED0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 999ED4 80240264 0C046F13 */ jal set_aux_pan_u +/* 999ED8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 999EDC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 999EE0 80240270 0C046F19 */ jal set_aux_pan_v +/* 999EE4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 999EE8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 999EEC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 999EF0 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 999EF4 80240284 24420001 */ addiu $v0, $v0, 1 +/* 999EF8 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 999EFC 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 999F00 80240290 24630001 */ addiu $v1, $v1, 1 +/* 999F04 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 999F08 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 999F0C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 999F10 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 999F14 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 999F18 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 999F1C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 999F20 802402B0 14600002 */ bnez $v1, .L802402BC +/* 999F24 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 999F28 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 999F2C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 999F30 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 999F34 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 999F38 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 999F3C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 999F40 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 999F44 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 999F48 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 999F4C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 999F50 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 999F54 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 999F58 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 999F5C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 999F60 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 999F64 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 999F68 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 999F6C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 999F70 80240300 0000102D */ daddu $v0, $zero, $zero +/* 999F74 80240304 03E00008 */ jr $ra +/* 999F78 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 999F7C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_80240310_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_80240310_999C70.s new file mode 100644 index 0000000000..cae8ed90fe --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_80240310_999C70.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_999F80 +/* 999F80 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 999F84 80240314 AFB00010 */ sw $s0, 0x10($sp) +/* 999F88 80240318 3C108024 */ lui $s0, 0x8024 +/* 999F8C 8024031C 26101340 */ addiu $s0, $s0, 0x1340 +/* 999F90 80240320 AFBF0018 */ sw $ra, 0x18($sp) +/* 999F94 80240324 AFB10014 */ sw $s1, 0x14($sp) +/* 999F98 80240328 8E020000 */ lw $v0, ($s0) +/* 999F9C 8024032C 14400010 */ bnez $v0, .L80240370 +/* 999FA0 80240330 0080882D */ daddu $s1, $a0, $zero +/* 999FA4 80240334 0C00AB39 */ jal heap_malloc +/* 999FA8 80240338 24040040 */ addiu $a0, $zero, 0x40 +/* 999FAC 8024033C AE020000 */ sw $v0, ($s0) +/* 999FB0 80240340 0000182D */ daddu $v1, $zero, $zero +/* 999FB4 80240344 0040282D */ daddu $a1, $v0, $zero +/* 999FB8 80240348 0220202D */ daddu $a0, $s1, $zero +.L8024034C: +/* 999FBC 8024034C 8C820084 */ lw $v0, 0x84($a0) +/* 999FC0 80240350 24840004 */ addiu $a0, $a0, 4 +/* 999FC4 80240354 24630001 */ addiu $v1, $v1, 1 +/* 999FC8 80240358 ACA20000 */ sw $v0, ($a1) +/* 999FCC 8024035C 28620010 */ slti $v0, $v1, 0x10 +/* 999FD0 80240360 1440FFFA */ bnez $v0, .L8024034C +/* 999FD4 80240364 24A50004 */ addiu $a1, $a1, 4 +/* 999FD8 80240368 080900EB */ j .L802403AC +/* 999FDC 8024036C 00000000 */ nop +.L80240370: +/* 999FE0 80240370 0000182D */ daddu $v1, $zero, $zero +/* 999FE4 80240374 0040282D */ daddu $a1, $v0, $zero +/* 999FE8 80240378 0220202D */ daddu $a0, $s1, $zero +.L8024037C: +/* 999FEC 8024037C 8CA20000 */ lw $v0, ($a1) +/* 999FF0 80240380 24A50004 */ addiu $a1, $a1, 4 +/* 999FF4 80240384 24630001 */ addiu $v1, $v1, 1 +/* 999FF8 80240388 AC820084 */ sw $v0, 0x84($a0) +/* 999FFC 8024038C 28620010 */ slti $v0, $v1, 0x10 +/* 99A000 80240390 1440FFFA */ bnez $v0, .L8024037C +/* 99A004 80240394 24840004 */ addiu $a0, $a0, 4 +/* 99A008 80240398 3C108024 */ lui $s0, 0x8024 +/* 99A00C 8024039C 26101340 */ addiu $s0, $s0, 0x1340 +/* 99A010 802403A0 0C00AB4B */ jal heap_free +/* 99A014 802403A4 8E040000 */ lw $a0, ($s0) +/* 99A018 802403A8 AE000000 */ sw $zero, ($s0) +.L802403AC: +/* 99A01C 802403AC 8FBF0018 */ lw $ra, 0x18($sp) +/* 99A020 802403B0 8FB10014 */ lw $s1, 0x14($sp) +/* 99A024 802403B4 8FB00010 */ lw $s0, 0x10($sp) +/* 99A028 802403B8 24020002 */ addiu $v0, $zero, 2 +/* 99A02C 802403BC 03E00008 */ jr $ra +/* 99A030 802403C0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_802403C4_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_802403C4_999C70.s new file mode 100644 index 0000000000..e00e156a3f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_802403C4_999C70.s @@ -0,0 +1,29 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403C4_99A034 +/* 99A034 802403C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99A038 802403C8 AFB00010 */ sw $s0, 0x10($sp) +/* 99A03C 802403CC 0080802D */ daddu $s0, $a0, $zero +/* 99A040 802403D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 99A044 802403D4 AFB10014 */ sw $s1, 0x14($sp) +/* 99A048 802403D8 8E02000C */ lw $v0, 0xc($s0) +/* 99A04C 802403DC 8C510000 */ lw $s1, ($v0) +/* 99A050 802403E0 0C0B1EAF */ jal get_variable +/* 99A054 802403E4 0220282D */ daddu $a1, $s1, $zero +/* 99A058 802403E8 3C03FFF0 */ lui $v1, 0xfff0 +/* 99A05C 802403EC 3463FFFF */ ori $v1, $v1, 0xffff +/* 99A060 802403F0 0200202D */ daddu $a0, $s0, $zero +/* 99A064 802403F4 00431024 */ and $v0, $v0, $v1 +/* 99A068 802403F8 00021140 */ sll $v0, $v0, 5 +/* 99A06C 802403FC 3C068008 */ lui $a2, %hi(gItemTable) +/* 99A070 80240400 00C23021 */ addu $a2, $a2, $v0 +/* 99A074 80240404 8CC678E0 */ lw $a2, %lo(gItemTable)($a2) +/* 99A078 80240408 0C0B2026 */ jal set_variable +/* 99A07C 8024040C 0220282D */ daddu $a1, $s1, $zero +/* 99A080 80240410 8FBF0018 */ lw $ra, 0x18($sp) +/* 99A084 80240414 8FB10014 */ lw $s1, 0x14($sp) +/* 99A088 80240418 8FB00010 */ lw $s0, 0x10($sp) +/* 99A08C 8024041C 24020002 */ addiu $v0, $zero, 2 +/* 99A090 80240420 03E00008 */ jr $ra +/* 99A094 80240424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_80240428_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_80240428_999C70.s new file mode 100644 index 0000000000..f0c8676fe3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_80240428_999C70.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240428_99A098 +/* 99A098 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99A09C 8024042C AFB10014 */ sw $s1, 0x14($sp) +/* 99A0A0 80240430 0080882D */ daddu $s1, $a0, $zero +/* 99A0A4 80240434 AFBF001C */ sw $ra, 0x1c($sp) +/* 99A0A8 80240438 AFB20018 */ sw $s2, 0x18($sp) +/* 99A0AC 8024043C AFB00010 */ sw $s0, 0x10($sp) +/* 99A0B0 80240440 8E240084 */ lw $a0, 0x84($s1) +/* 99A0B4 80240444 0C04C3D6 */ jal get_item_entity +/* 99A0B8 80240448 00A0802D */ daddu $s0, $a1, $zero +/* 99A0BC 8024044C 12000005 */ beqz $s0, .L80240464 +/* 99A0C0 80240450 0040902D */ daddu $s2, $v0, $zero +/* 99A0C4 80240454 C640000C */ lwc1 $f0, 0xc($s2) +/* 99A0C8 80240458 AE200074 */ sw $zero, 0x74($s1) +/* 99A0CC 8024045C AE20007C */ sw $zero, 0x7c($s1) +/* 99A0D0 80240460 E6200078 */ swc1 $f0, 0x78($s1) +.L80240464: +/* 99A0D4 80240464 8E230074 */ lw $v1, 0x74($s1) +/* 99A0D8 80240468 10600005 */ beqz $v1, .L80240480 +/* 99A0DC 8024046C 24020001 */ addiu $v0, $zero, 1 +/* 99A0E0 80240470 10620024 */ beq $v1, $v0, .L80240504 +/* 99A0E4 80240474 00000000 */ nop +/* 99A0E8 80240478 08090157 */ j .L8024055C +/* 99A0EC 8024047C 00000000 */ nop +.L80240480: +/* 99A0F0 80240480 3C013FC9 */ lui $at, 0x3fc9 +/* 99A0F4 80240484 34210FD8 */ ori $at, $at, 0xfd8 +/* 99A0F8 80240488 44810000 */ mtc1 $at, $f0 +/* 99A0FC 8024048C C62C007C */ lwc1 $f12, 0x7c($s1) +/* 99A100 80240490 46806320 */ cvt.s.w $f12, $f12 +/* 99A104 80240494 46006302 */ mul.s $f12, $f12, $f0 +/* 99A108 80240498 00000000 */ nop +/* 99A10C 8024049C 3C0141F0 */ lui $at, 0x41f0 +/* 99A110 802404A0 44810000 */ mtc1 $at, $f0 +/* 99A114 802404A4 0C00A874 */ jal cos_rad +/* 99A118 802404A8 46006303 */ div.s $f12, $f12, $f0 +/* 99A11C 802404AC 3C013F80 */ lui $at, 0x3f80 +/* 99A120 802404B0 44811000 */ mtc1 $at, $f2 +/* 99A124 802404B4 00000000 */ nop +/* 99A128 802404B8 46001081 */ sub.s $f2, $f2, $f0 +/* 99A12C 802404BC 3C0141A0 */ lui $at, 0x41a0 +/* 99A130 802404C0 44810000 */ mtc1 $at, $f0 +/* 99A134 802404C4 00000000 */ nop +/* 99A138 802404C8 46001082 */ mul.s $f2, $f2, $f0 +/* 99A13C 802404CC 00000000 */ nop +/* 99A140 802404D0 C6200078 */ lwc1 $f0, 0x78($s1) +/* 99A144 802404D4 46020000 */ add.s $f0, $f0, $f2 +/* 99A148 802404D8 E640000C */ swc1 $f0, 0xc($s2) +/* 99A14C 802404DC 8E23007C */ lw $v1, 0x7c($s1) +/* 99A150 802404E0 2402001E */ addiu $v0, $zero, 0x1e +/* 99A154 802404E4 14620005 */ bne $v1, $v0, .L802404FC +/* 99A158 802404E8 24620001 */ addiu $v0, $v1, 1 +/* 99A15C 802404EC 24020001 */ addiu $v0, $zero, 1 +/* 99A160 802404F0 AE220074 */ sw $v0, 0x74($s1) +/* 99A164 802404F4 08090157 */ j .L8024055C +/* 99A168 802404F8 AE20007C */ sw $zero, 0x7c($s1) +.L802404FC: +/* 99A16C 802404FC 08090157 */ j .L8024055C +/* 99A170 80240500 AE22007C */ sw $v0, 0x7c($s1) +.L80240504: +/* 99A174 80240504 C62C007C */ lwc1 $f12, 0x7c($s1) +/* 99A178 80240508 0C00A8D4 */ jal cos_deg +/* 99A17C 8024050C 46806320 */ cvt.s.w $f12, $f12 +/* 99A180 80240510 3C014040 */ lui $at, 0x4040 +/* 99A184 80240514 44811000 */ mtc1 $at, $f2 +/* 99A188 80240518 00000000 */ nop +/* 99A18C 8024051C 46020002 */ mul.s $f0, $f0, $f2 +/* 99A190 80240520 00000000 */ nop +/* 99A194 80240524 3C014188 */ lui $at, 0x4188 +/* 99A198 80240528 44812000 */ mtc1 $at, $f4 +/* 99A19C 8024052C C6220078 */ lwc1 $f2, 0x78($s1) +/* 99A1A0 80240530 46041080 */ add.s $f2, $f2, $f4 +/* 99A1A4 80240534 46001080 */ add.s $f2, $f2, $f0 +/* 99A1A8 80240538 E642000C */ swc1 $f2, 0xc($s2) +/* 99A1AC 8024053C 8E22007C */ lw $v0, 0x7c($s1) +/* 99A1B0 80240540 24420009 */ addiu $v0, $v0, 9 +/* 99A1B4 80240544 44826000 */ mtc1 $v0, $f12 +/* 99A1B8 80240548 00000000 */ nop +/* 99A1BC 8024054C 0C00A6C9 */ jal clamp_angle +/* 99A1C0 80240550 46806320 */ cvt.s.w $f12, $f12 +/* 99A1C4 80240554 4600018D */ trunc.w.s $f6, $f0 +/* 99A1C8 80240558 E626007C */ swc1 $f6, 0x7c($s1) +.L8024055C: +/* 99A1CC 8024055C 8FBF001C */ lw $ra, 0x1c($sp) +/* 99A1D0 80240560 8FB20018 */ lw $s2, 0x18($sp) +/* 99A1D4 80240564 8FB10014 */ lw $s1, 0x14($sp) +/* 99A1D8 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* 99A1DC 8024056C 0000102D */ daddu $v0, $zero, $zero +/* 99A1E0 80240570 03E00008 */ jr $ra +/* 99A1E4 80240574 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_80240578_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_80240578_999C70.s new file mode 100644 index 0000000000..a5bf4221ed --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_80240578_999C70.s @@ -0,0 +1,27 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240578_99A1E8 +/* 99A1E8 80240578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99A1EC 8024057C AFB00010 */ sw $s0, 0x10($sp) +/* 99A1F0 80240580 0080802D */ daddu $s0, $a0, $zero +/* 99A1F4 80240584 AFBF0014 */ sw $ra, 0x14($sp) +/* 99A1F8 80240588 8E02000C */ lw $v0, 0xc($s0) +/* 99A1FC 8024058C 0C0B1EAF */ jal get_variable +/* 99A200 80240590 8C450000 */ lw $a1, ($v0) +/* 99A204 80240594 00021140 */ sll $v0, $v0, 5 +/* 99A208 80240598 AE000084 */ sw $zero, 0x84($s0) +/* 99A20C 8024059C 3C018008 */ lui $at, 0x8008 +/* 99A210 802405A0 00220821 */ addu $at, $at, $v0 +/* 99A214 802405A4 942278F8 */ lhu $v0, 0x78f8($at) +/* 99A218 802405A8 30420040 */ andi $v0, $v0, 0x40 +/* 99A21C 802405AC 10400002 */ beqz $v0, .L802405B8 +/* 99A220 802405B0 24020001 */ addiu $v0, $zero, 1 +/* 99A224 802405B4 AE020084 */ sw $v0, 0x84($s0) +.L802405B8: +/* 99A228 802405B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 99A22C 802405BC 8FB00010 */ lw $s0, 0x10($sp) +/* 99A230 802405C0 24020002 */ addiu $v0, $zero, 2 +/* 99A234 802405C4 03E00008 */ jr $ra +/* 99A238 802405C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 99A23C 802405CC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_802405D0_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_802405D0_999C70.s new file mode 100644 index 0000000000..a364bd6066 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_802405D0_999C70.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D0_99A240 +/* 99A240 802405D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99A244 802405D4 AFBF0010 */ sw $ra, 0x10($sp) +/* 99A248 802405D8 0C03A876 */ jal set_max_SP +/* 99A24C 802405DC 24040001 */ addiu $a0, $zero, 1 +/* 99A250 802405E0 3C028011 */ lui $v0, %hi(gPlayerData) +/* 99A254 802405E4 2442F290 */ addiu $v0, $v0, %lo(gPlayerData) +/* 99A258 802405E8 90430003 */ lbu $v1, 3($v0) +/* 99A25C 802405EC 90440006 */ lbu $a0, 6($v0) +/* 99A260 802405F0 A0430002 */ sb $v1, 2($v0) +/* 99A264 802405F4 0C03A6DB */ jal sync_status_menu +/* 99A268 802405F8 A0440005 */ sb $a0, 5($v0) +/* 99A26C 802405FC 8FBF0010 */ lw $ra, 0x10($sp) +/* 99A270 80240600 24020002 */ addiu $v0, $zero, 2 +/* 99A274 80240604 03E00008 */ jr $ra +/* 99A278 80240608 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_00/func_8024060C_999C70.s b/asm/nonmatchings/world/area_trd/trd_00/func_8024060C_999C70.s new file mode 100644 index 0000000000..54032f4e15 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_00/func_8024060C_999C70.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024060C_99A27C +/* 99A27C 8024060C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99A280 80240610 AFBF0010 */ sw $ra, 0x10($sp) +/* 99A284 80240614 0C03A6DB */ jal sync_status_menu +/* 99A288 80240618 00000000 */ nop +/* 99A28C 8024061C 8FBF0010 */ lw $ra, 0x10($sp) +/* 99A290 80240620 24020002 */ addiu $v0, $zero, 2 +/* 99A294 80240624 03E00008 */ jr $ra +/* 99A298 80240628 27BD0018 */ addiu $sp, $sp, 0x18 +/* 99A29C 8024062C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240000_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240000_99C990.s new file mode 100644 index 0000000000..b3f35133d6 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240000_99C990.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_99C990 +/* 99C990 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99C994 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 99C998 80240008 0080802D */ daddu $s0, $a0, $zero +/* 99C99C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 99C9A0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 99C9A4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 99C9A8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 99C9AC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 99C9B0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 99C9B4 80240024 3C020002 */ lui $v0, 2 +/* 99C9B8 80240028 08090010 */ j .L80240040 +/* 99C9BC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 99C9C0 80240030 3C040002 */ lui $a0, 2 +/* 99C9C4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 99C9C8 80240038 10400002 */ beqz $v0, .L80240044 +/* 99C9CC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 99C9D0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 99C9D4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 99C9D8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 99C9DC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 99C9E0 80240050 04610004 */ bgez $v1, .L80240064 +/* 99C9E4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 99C9E8 80240058 3C020002 */ lui $v0, 2 +/* 99C9EC 8024005C 0809001D */ j .L80240074 +/* 99C9F0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 99C9F4 80240064 3C040002 */ lui $a0, 2 +/* 99C9F8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 99C9FC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 99CA00 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 99CA04 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 99CA08 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 99CA0C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 99CA10 80240080 00621821 */ addu $v1, $v1, $v0 +/* 99CA14 80240084 04610004 */ bgez $v1, .L80240098 +/* 99CA18 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 99CA1C 8024008C 3C020002 */ lui $v0, 2 +/* 99CA20 80240090 0809002A */ j .L802400A8 +/* 99CA24 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 99CA28 80240098 3C040002 */ lui $a0, 2 +/* 99CA2C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 99CA30 802400A0 10400002 */ beqz $v0, .L802400AC +/* 99CA34 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 99CA38 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 99CA3C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 99CA40 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 99CA44 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 99CA48 802400B8 04610004 */ bgez $v1, .L802400CC +/* 99CA4C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 99CA50 802400C0 3C020002 */ lui $v0, 2 +/* 99CA54 802400C4 08090037 */ j .L802400DC +/* 99CA58 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 99CA5C 802400CC 3C040002 */ lui $a0, 2 +/* 99CA60 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 99CA64 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 99CA68 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 99CA6C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 99CA70 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 99CA74 802400E4 0C046F07 */ jal set_main_pan_u +/* 99CA78 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 99CA7C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 99CA80 802400F0 0C046F0D */ jal set_main_pan_v +/* 99CA84 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 99CA88 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 99CA8C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 99CA90 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 99CA94 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 99CA98 80240108 0C046F19 */ jal set_aux_pan_v +/* 99CA9C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 99CAA0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 99CAA4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 99CAA8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 99CAAC 8024011C 03E00008 */ jr $ra +/* 99CAB0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240124_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240124_99C990.s new file mode 100644 index 0000000000..84eda09bee --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240124_99C990.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_99CAB4 +/* 99CAB4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99CAB8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 99CABC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 99CAC0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 99CAC4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 99CAC8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 99CACC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 99CAD0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 99CAD4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 99CAD8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 99CADC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 99CAE0 80240150 00000000 */ nop +/* 99CAE4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 99CAE8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 99CAEC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 99CAF0 80240160 04610004 */ bgez $v1, .L80240174 +/* 99CAF4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 99CAF8 80240168 3C020002 */ lui $v0, 2 +/* 99CAFC 8024016C 08090061 */ j .L80240184 +/* 99CB00 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 99CB04 80240174 3C040002 */ lui $a0, 2 +/* 99CB08 80240178 0083102A */ slt $v0, $a0, $v1 +/* 99CB0C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 99CB10 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 99CB14 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 99CB18 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 99CB1C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 99CB20 80240190 00000000 */ nop +/* 99CB24 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 99CB28 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 99CB2C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 99CB30 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 99CB34 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 99CB38 802401A8 3C020002 */ lui $v0, 2 +/* 99CB3C 802401AC 08090071 */ j .L802401C4 +/* 99CB40 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 99CB44 802401B4 3C040002 */ lui $a0, 2 +/* 99CB48 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 99CB4C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 99CB50 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 99CB54 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 99CB58 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 99CB5C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 99CB60 802401D0 00000000 */ nop +/* 99CB64 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 99CB68 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 99CB6C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 99CB70 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 99CB74 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 99CB78 802401E8 3C020002 */ lui $v0, 2 +/* 99CB7C 802401EC 08090081 */ j .L80240204 +/* 99CB80 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 99CB84 802401F4 3C040002 */ lui $a0, 2 +/* 99CB88 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 99CB8C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 99CB90 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 99CB94 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 99CB98 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 99CB9C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 99CBA0 80240210 00000000 */ nop +/* 99CBA4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 99CBA8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 99CBAC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 99CBB0 80240220 04610004 */ bgez $v1, .L80240234 +/* 99CBB4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 99CBB8 80240228 3C020002 */ lui $v0, 2 +/* 99CBBC 8024022C 08090091 */ j .L80240244 +/* 99CBC0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 99CBC4 80240234 3C040002 */ lui $a0, 2 +/* 99CBC8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 99CBCC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 99CBD0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 99CBD4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 99CBD8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 99CBDC 8024024C 0C046F07 */ jal set_main_pan_u +/* 99CBE0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 99CBE4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 99CBE8 80240258 0C046F0D */ jal set_main_pan_v +/* 99CBEC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 99CBF0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 99CBF4 80240264 0C046F13 */ jal set_aux_pan_u +/* 99CBF8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 99CBFC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 99CC00 80240270 0C046F19 */ jal set_aux_pan_v +/* 99CC04 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 99CC08 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 99CC0C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 99CC10 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 99CC14 80240284 24420001 */ addiu $v0, $v0, 1 +/* 99CC18 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 99CC1C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 99CC20 80240290 24630001 */ addiu $v1, $v1, 1 +/* 99CC24 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 99CC28 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 99CC2C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 99CC30 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 99CC34 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 99CC38 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 99CC3C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 99CC40 802402B0 14600002 */ bnez $v1, .L802402BC +/* 99CC44 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 99CC48 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 99CC4C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 99CC50 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 99CC54 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 99CC58 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 99CC5C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 99CC60 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 99CC64 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 99CC68 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 99CC6C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 99CC70 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 99CC74 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 99CC78 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 99CC7C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 99CC80 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 99CC84 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 99CC88 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 99CC8C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 99CC90 80240300 0000102D */ daddu $v0, $zero, $zero +/* 99CC94 80240304 03E00008 */ jr $ra +/* 99CC98 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 99CC9C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240310_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240310_99C990.s new file mode 100644 index 0000000000..8da7dc594e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240310_99C990.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_99CCA0 +/* 99CCA0 80240310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99CCA4 80240314 AFBF0010 */ sw $ra, 0x10($sp) +/* 99CCA8 80240318 0C04417A */ jal get_entity_by_index +/* 99CCAC 8024031C 8C840084 */ lw $a0, 0x84($a0) +/* 99CCB0 80240320 0040182D */ daddu $v1, $v0, $zero +/* 99CCB4 80240324 8C640000 */ lw $a0, ($v1) +/* 99CCB8 80240328 3C050010 */ lui $a1, 0x10 +/* 99CCBC 8024032C 00852025 */ or $a0, $a0, $a1 +/* 99CCC0 80240330 AC640000 */ sw $a0, ($v1) +/* 99CCC4 80240334 8FBF0010 */ lw $ra, 0x10($sp) +/* 99CCC8 80240338 24020002 */ addiu $v0, $zero, 2 +/* 99CCCC 8024033C 03E00008 */ jr $ra +/* 99CCD0 80240340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240344_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240344_99C990.s new file mode 100644 index 0000000000..d2e94751fb --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240344_99C990.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344_99CCD4 +/* 99CCD4 80240344 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99CCD8 80240348 AFB20018 */ sw $s2, 0x18($sp) +/* 99CCDC 8024034C 0080902D */ daddu $s2, $a0, $zero +/* 99CCE0 80240350 AFBF001C */ sw $ra, 0x1c($sp) +/* 99CCE4 80240354 AFB10014 */ sw $s1, 0x14($sp) +/* 99CCE8 80240358 AFB00010 */ sw $s0, 0x10($sp) +/* 99CCEC 8024035C 8E50000C */ lw $s0, 0xc($s2) +/* 99CCF0 80240360 8E050000 */ lw $a1, ($s0) +/* 99CCF4 80240364 0C0B1EAF */ jal get_variable +/* 99CCF8 80240368 26100004 */ addiu $s0, $s0, 4 +/* 99CCFC 8024036C 0C04417A */ jal get_entity_by_index +/* 99CD00 80240370 0040202D */ daddu $a0, $v0, $zero +/* 99CD04 80240374 8E050000 */ lw $a1, ($s0) +/* 99CD08 80240378 26100004 */ addiu $s0, $s0, 4 +/* 99CD0C 8024037C 0040882D */ daddu $s1, $v0, $zero +/* 99CD10 80240380 C6200048 */ lwc1 $f0, 0x48($s1) +/* 99CD14 80240384 4600008D */ trunc.w.s $f2, $f0 +/* 99CD18 80240388 44061000 */ mfc1 $a2, $f2 +/* 99CD1C 8024038C 0C0B2026 */ jal set_variable +/* 99CD20 80240390 0240202D */ daddu $a0, $s2, $zero +/* 99CD24 80240394 8E050000 */ lw $a1, ($s0) +/* 99CD28 80240398 26100004 */ addiu $s0, $s0, 4 +/* 99CD2C 8024039C C620004C */ lwc1 $f0, 0x4c($s1) +/* 99CD30 802403A0 4600008D */ trunc.w.s $f2, $f0 +/* 99CD34 802403A4 44061000 */ mfc1 $a2, $f2 +/* 99CD38 802403A8 0C0B2026 */ jal set_variable +/* 99CD3C 802403AC 0240202D */ daddu $a0, $s2, $zero +/* 99CD40 802403B0 C6200050 */ lwc1 $f0, 0x50($s1) +/* 99CD44 802403B4 8E050000 */ lw $a1, ($s0) +/* 99CD48 802403B8 4600008D */ trunc.w.s $f2, $f0 +/* 99CD4C 802403BC 44061000 */ mfc1 $a2, $f2 +/* 99CD50 802403C0 0C0B2026 */ jal set_variable +/* 99CD54 802403C4 0240202D */ daddu $a0, $s2, $zero +/* 99CD58 802403C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 99CD5C 802403CC 8FB20018 */ lw $s2, 0x18($sp) +/* 99CD60 802403D0 8FB10014 */ lw $s1, 0x14($sp) +/* 99CD64 802403D4 8FB00010 */ lw $s0, 0x10($sp) +/* 99CD68 802403D8 24020002 */ addiu $v0, $zero, 2 +/* 99CD6C 802403DC 03E00008 */ jr $ra +/* 99CD70 802403E0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 99CD74 802403E4 00000000 */ nop +/* 99CD78 802403E8 00000000 */ nop +/* 99CD7C 802403EC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_802403F0_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_802403F0_99C990.s new file mode 100644 index 0000000000..794aa231dc --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_802403F0_99C990.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F0_99CD80 +/* 99CD80 802403F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99CD84 802403F4 AFB20018 */ sw $s2, 0x18($sp) +/* 99CD88 802403F8 0080902D */ daddu $s2, $a0, $zero +/* 99CD8C 802403FC AFBF001C */ sw $ra, 0x1c($sp) +/* 99CD90 80240400 AFB10014 */ sw $s1, 0x14($sp) +/* 99CD94 80240404 AFB00010 */ sw $s0, 0x10($sp) +/* 99CD98 80240408 8E510148 */ lw $s1, 0x148($s2) +/* 99CD9C 8024040C 0C00EABB */ jal get_npc_unsafe +/* 99CDA0 80240410 86240008 */ lh $a0, 8($s1) +/* 99CDA4 80240414 0040802D */ daddu $s0, $v0, $zero +/* 99CDA8 80240418 8E2300CC */ lw $v1, 0xcc($s1) +/* 99CDAC 8024041C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99CDB0 80240420 8C630020 */ lw $v1, 0x20($v1) +/* 99CDB4 80240424 AE030028 */ sw $v1, 0x28($s0) +/* 99CDB8 80240428 96220076 */ lhu $v0, 0x76($s1) +/* 99CDBC 8024042C A602008E */ sh $v0, 0x8e($s0) +/* 99CDC0 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 99CDC4 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 99CDC8 80240438 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 99CDCC 8024043C 8C460028 */ lw $a2, 0x28($v0) +/* 99CDD0 80240440 0C00A720 */ jal atan2 +/* 99CDD4 80240444 8C470030 */ lw $a3, 0x30($v0) +/* 99CDD8 80240448 2402000D */ addiu $v0, $zero, 0xd +/* 99CDDC 8024044C E600000C */ swc1 $f0, 0xc($s0) +/* 99CDE0 80240450 AE420070 */ sw $v0, 0x70($s2) +/* 99CDE4 80240454 8FBF001C */ lw $ra, 0x1c($sp) +/* 99CDE8 80240458 8FB20018 */ lw $s2, 0x18($sp) +/* 99CDEC 8024045C 8FB10014 */ lw $s1, 0x14($sp) +/* 99CDF0 80240460 8FB00010 */ lw $s0, 0x10($sp) +/* 99CDF4 80240464 03E00008 */ jr $ra +/* 99CDF8 80240468 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_8024046C.s b/asm/nonmatchings/world/area_trd/trd_01/func_8024046C.s new file mode 100644 index 0000000000..b085ccfcf8 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_8024046C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024046C +/* 99CDFC 8024046C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 99CE00 80240470 AFB3001C */ sw $s3, 0x1c($sp) +/* 99CE04 80240474 0080982D */ daddu $s3, $a0, $zero +/* 99CE08 80240478 AFBF0020 */ sw $ra, 0x20($sp) +/* 99CE0C 8024047C AFB20018 */ sw $s2, 0x18($sp) +/* 99CE10 80240480 AFB10014 */ sw $s1, 0x14($sp) +/* 99CE14 80240484 AFB00010 */ sw $s0, 0x10($sp) +/* 99CE18 80240488 8E710148 */ lw $s1, 0x148($s3) +/* 99CE1C 8024048C 86240008 */ lh $a0, 8($s1) +/* 99CE20 80240490 0C00EABB */ jal get_npc_unsafe +/* 99CE24 80240494 00A0902D */ daddu $s2, $a1, $zero +/* 99CE28 80240498 0040802D */ daddu $s0, $v0, $zero +/* 99CE2C 8024049C 8602008E */ lh $v0, 0x8e($s0) +/* 99CE30 802404A0 9603008E */ lhu $v1, 0x8e($s0) +/* 99CE34 802404A4 18400005 */ blez $v0, .L802404BC +/* 99CE38 802404A8 2462FFFF */ addiu $v0, $v1, -1 +/* 99CE3C 802404AC A602008E */ sh $v0, 0x8e($s0) +/* 99CE40 802404B0 00021400 */ sll $v0, $v0, 0x10 +/* 99CE44 802404B4 1C400033 */ bgtz $v0, .L80240584 +/* 99CE48 802404B8 00000000 */ nop +.L802404BC: +/* 99CE4C 802404BC 8602008C */ lh $v0, 0x8c($s0) +/* 99CE50 802404C0 14400030 */ bnez $v0, .L80240584 +/* 99CE54 802404C4 00000000 */ nop +/* 99CE58 802404C8 8E2200CC */ lw $v0, 0xcc($s1) +/* 99CE5C 802404CC 8C420024 */ lw $v0, 0x24($v0) +/* 99CE60 802404D0 AE020028 */ sw $v0, 0x28($s0) +/* 99CE64 802404D4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 99CE68 802404D8 E6000018 */ swc1 $f0, 0x18($s0) +/* 99CE6C 802404DC 8E230088 */ lw $v1, 0x88($s1) +/* 99CE70 802404E0 24020005 */ addiu $v0, $zero, 5 +/* 99CE74 802404E4 10620005 */ beq $v1, $v0, .L802404FC +/* 99CE78 802404E8 00000000 */ nop +/* 99CE7C 802404EC 10600003 */ beqz $v1, .L802404FC +/* 99CE80 802404F0 24020001 */ addiu $v0, $zero, 1 +/* 99CE84 802404F4 14620006 */ bne $v1, $v0, .L80240510 +/* 99CE88 802404F8 00000000 */ nop +.L802404FC: +/* 99CE8C 802404FC 8E220084 */ lw $v0, 0x84($s1) +/* 99CE90 80240500 00021FC2 */ srl $v1, $v0, 0x1f +/* 99CE94 80240504 00431021 */ addu $v0, $v0, $v1 +/* 99CE98 80240508 00021043 */ sra $v0, $v0, 1 +/* 99CE9C 8024050C A60200A8 */ sh $v0, 0xa8($s0) +.L80240510: +/* 99CEA0 80240510 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 99CEA4 80240514 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 99CEA8 80240518 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99CEAC 8024051C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 99CEB0 80240520 8C460028 */ lw $a2, 0x28($v0) +/* 99CEB4 80240524 0C00A7B5 */ jal dist2D +/* 99CEB8 80240528 8C470030 */ lw $a3, 0x30($v0) +/* 99CEBC 8024052C C6020018 */ lwc1 $f2, 0x18($s0) +/* 99CEC0 80240530 46020003 */ div.s $f0, $f0, $f2 +/* 99CEC4 80240534 3C018024 */ lui $at, 0x8024 +/* 99CEC8 80240538 D4224440 */ ldc1 $f2, 0x4440($at) +/* 99CECC 8024053C 46000021 */ cvt.d.s $f0, $f0 +/* 99CED0 80240540 46220000 */ add.d $f0, $f0, $f2 +/* 99CED4 80240544 4620010D */ trunc.w.d $f4, $f0 +/* 99CED8 80240548 44022000 */ mfc1 $v0, $f4 +/* 99CEDC 8024054C 00000000 */ nop +/* 99CEE0 80240550 A602008E */ sh $v0, 0x8e($s0) +/* 99CEE4 80240554 00021400 */ sll $v0, $v0, 0x10 +/* 99CEE8 80240558 8E230078 */ lw $v1, 0x78($s1) +/* 99CEEC 8024055C 00021403 */ sra $v0, $v0, 0x10 +/* 99CEF0 80240560 0043102A */ slt $v0, $v0, $v1 +/* 99CEF4 80240564 10400003 */ beqz $v0, .L80240574 +/* 99CEF8 80240568 00000000 */ nop +/* 99CEFC 8024056C 9622007A */ lhu $v0, 0x7a($s1) +/* 99CF00 80240570 A602008E */ sh $v0, 0x8e($s0) +.L80240574: +/* 99CF04 80240574 8602008E */ lh $v0, 0x8e($s0) +/* 99CF08 80240578 AE22007C */ sw $v0, 0x7c($s1) +/* 99CF0C 8024057C 2402000E */ addiu $v0, $zero, 0xe +/* 99CF10 80240580 AE620070 */ sw $v0, 0x70($s3) +.L80240584: +/* 99CF14 80240584 8FBF0020 */ lw $ra, 0x20($sp) +/* 99CF18 80240588 8FB3001C */ lw $s3, 0x1c($sp) +/* 99CF1C 8024058C 8FB20018 */ lw $s2, 0x18($sp) +/* 99CF20 80240590 8FB10014 */ lw $s1, 0x14($sp) +/* 99CF24 80240594 8FB00010 */ lw $s0, 0x10($sp) +/* 99CF28 80240598 03E00008 */ jr $ra +/* 99CF2C 8024059C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_802405A0.s b/asm/nonmatchings/world/area_trd/trd_01/func_802405A0.s new file mode 100644 index 0000000000..aa5a2ea202 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_802405A0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405A0 +/* 99CF30 802405A0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 99CF34 802405A4 AFB3003C */ sw $s3, 0x3c($sp) +/* 99CF38 802405A8 0080982D */ daddu $s3, $a0, $zero +/* 99CF3C 802405AC AFBF0040 */ sw $ra, 0x40($sp) +/* 99CF40 802405B0 AFB20038 */ sw $s2, 0x38($sp) +/* 99CF44 802405B4 AFB10034 */ sw $s1, 0x34($sp) +/* 99CF48 802405B8 AFB00030 */ sw $s0, 0x30($sp) +/* 99CF4C 802405BC 8E710148 */ lw $s1, 0x148($s3) +/* 99CF50 802405C0 0C00EABB */ jal get_npc_unsafe +/* 99CF54 802405C4 86240008 */ lh $a0, 8($s1) +/* 99CF58 802405C8 0040802D */ daddu $s0, $v0, $zero +/* 99CF5C 802405CC 8E22007C */ lw $v0, 0x7c($s1) +/* 99CF60 802405D0 8603008E */ lh $v1, 0x8e($s0) +/* 99CF64 802405D4 2442FFFF */ addiu $v0, $v0, -1 +/* 99CF68 802405D8 14620012 */ bne $v1, $v0, .L80240624 +/* 99CF6C 802405DC 00000000 */ nop +/* 99CF70 802405E0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 99CF74 802405E4 4600020D */ trunc.w.s $f8, $f0 +/* 99CF78 802405E8 44024000 */ mfc1 $v0, $f8 +/* 99CF7C 802405EC 00000000 */ nop +/* 99CF80 802405F0 A6220010 */ sh $v0, 0x10($s1) +/* 99CF84 802405F4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 99CF88 802405F8 4600020D */ trunc.w.s $f8, $f0 +/* 99CF8C 802405FC 44024000 */ mfc1 $v0, $f8 +/* 99CF90 80240600 00000000 */ nop +/* 99CF94 80240604 A6220012 */ sh $v0, 0x12($s1) +/* 99CF98 80240608 C6000040 */ lwc1 $f0, 0x40($s0) +/* 99CF9C 8024060C 24020001 */ addiu $v0, $zero, 1 +/* 99CFA0 80240610 A2220007 */ sb $v0, 7($s1) +/* 99CFA4 80240614 4600020D */ trunc.w.s $f8, $f0 +/* 99CFA8 80240618 44024000 */ mfc1 $v0, $f8 +/* 99CFAC 8024061C 00000000 */ nop +/* 99CFB0 80240620 A6220014 */ sh $v0, 0x14($s1) +.L80240624: +/* 99CFB4 80240624 C6000038 */ lwc1 $f0, 0x38($s0) +/* 99CFB8 80240628 C602003C */ lwc1 $f2, 0x3c($s0) +/* 99CFBC 8024062C C6040040 */ lwc1 $f4, 0x40($s0) +/* 99CFC0 80240630 C6060018 */ lwc1 $f6, 0x18($s0) +/* 99CFC4 80240634 E7A00020 */ swc1 $f0, 0x20($sp) +/* 99CFC8 80240638 E7A20024 */ swc1 $f2, 0x24($sp) +/* 99CFCC 8024063C E7A40028 */ swc1 $f4, 0x28($sp) +/* 99CFD0 80240640 E7A60010 */ swc1 $f6, 0x10($sp) +/* 99CFD4 80240644 C600000C */ lwc1 $f0, 0xc($s0) +/* 99CFD8 80240648 E7A00014 */ swc1 $f0, 0x14($sp) +/* 99CFDC 8024064C 860200A8 */ lh $v0, 0xa8($s0) +/* 99CFE0 80240650 27A50020 */ addiu $a1, $sp, 0x20 +/* 99CFE4 80240654 44820000 */ mtc1 $v0, $f0 +/* 99CFE8 80240658 00000000 */ nop +/* 99CFEC 8024065C 46800020 */ cvt.s.w $f0, $f0 +/* 99CFF0 80240660 E7A00018 */ swc1 $f0, 0x18($sp) +/* 99CFF4 80240664 860200A6 */ lh $v0, 0xa6($s0) +/* 99CFF8 80240668 27A60024 */ addiu $a2, $sp, 0x24 +/* 99CFFC 8024066C 44820000 */ mtc1 $v0, $f0 +/* 99D000 80240670 00000000 */ nop +/* 99D004 80240674 46800020 */ cvt.s.w $f0, $f0 +/* 99D008 80240678 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 99D00C 8024067C 8E040080 */ lw $a0, 0x80($s0) +/* 99D010 80240680 0C037711 */ jal func_800DDC44 +/* 99D014 80240684 27A70028 */ addiu $a3, $sp, 0x28 +/* 99D018 80240688 0040902D */ daddu $s2, $v0, $zero +/* 99D01C 8024068C 16400005 */ bnez $s2, .L802406A4 +/* 99D020 80240690 00000000 */ nop +/* 99D024 80240694 8E050018 */ lw $a1, 0x18($s0) +/* 99D028 80240698 8E06000C */ lw $a2, 0xc($s0) +/* 99D02C 8024069C 0C00EA95 */ jal npc_move_heading +/* 99D030 802406A0 0200202D */ daddu $a0, $s0, $zero +.L802406A4: +/* 99D034 802406A4 8602008E */ lh $v0, 0x8e($s0) +/* 99D038 802406A8 9603008E */ lhu $v1, 0x8e($s0) +/* 99D03C 802406AC 18400007 */ blez $v0, .L802406CC +/* 99D040 802406B0 2462FFFF */ addiu $v0, $v1, -1 +/* 99D044 802406B4 A602008E */ sh $v0, 0x8e($s0) +/* 99D048 802406B8 00021400 */ sll $v0, $v0, 0x10 +/* 99D04C 802406BC 18400003 */ blez $v0, .L802406CC +/* 99D050 802406C0 00000000 */ nop +/* 99D054 802406C4 12400008 */ beqz $s2, .L802406E8 +/* 99D058 802406C8 00000000 */ nop +.L802406CC: +/* 99D05C 802406CC 8E2200CC */ lw $v0, 0xcc($s1) +/* 99D060 802406D0 A2200007 */ sb $zero, 7($s1) +/* 99D064 802406D4 8C420028 */ lw $v0, 0x28($v0) +/* 99D068 802406D8 A600008E */ sh $zero, 0x8e($s0) +/* 99D06C 802406DC AE020028 */ sw $v0, 0x28($s0) +/* 99D070 802406E0 2402000F */ addiu $v0, $zero, 0xf +/* 99D074 802406E4 AE620070 */ sw $v0, 0x70($s3) +.L802406E8: +/* 99D078 802406E8 8FBF0040 */ lw $ra, 0x40($sp) +/* 99D07C 802406EC 8FB3003C */ lw $s3, 0x3c($sp) +/* 99D080 802406F0 8FB20038 */ lw $s2, 0x38($sp) +/* 99D084 802406F4 8FB10034 */ lw $s1, 0x34($sp) +/* 99D088 802406F8 8FB00030 */ lw $s0, 0x30($sp) +/* 99D08C 802406FC 03E00008 */ jr $ra +/* 99D090 80240700 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240704.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240704.s new file mode 100644 index 0000000000..18a2337e41 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240704.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240704 +/* 99D094 80240704 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99D098 80240708 AFB10014 */ sw $s1, 0x14($sp) +/* 99D09C 8024070C 0080882D */ daddu $s1, $a0, $zero +/* 99D0A0 80240710 AFBF0018 */ sw $ra, 0x18($sp) +/* 99D0A4 80240714 AFB00010 */ sw $s0, 0x10($sp) +/* 99D0A8 80240718 8E300148 */ lw $s0, 0x148($s1) +/* 99D0AC 8024071C 0C00EABB */ jal get_npc_unsafe +/* 99D0B0 80240720 86040008 */ lh $a0, 8($s0) +/* 99D0B4 80240724 0040202D */ daddu $a0, $v0, $zero +/* 99D0B8 80240728 9482008E */ lhu $v0, 0x8e($a0) +/* 99D0BC 8024072C 24030003 */ addiu $v1, $zero, 3 +/* 99D0C0 80240730 24420001 */ addiu $v0, $v0, 1 +/* 99D0C4 80240734 A482008E */ sh $v0, 0x8e($a0) +/* 99D0C8 80240738 00021400 */ sll $v0, $v0, 0x10 +/* 99D0CC 8024073C 00021403 */ sra $v0, $v0, 0x10 +/* 99D0D0 80240740 14430003 */ bne $v0, $v1, .L80240750 +/* 99D0D4 80240744 00000000 */ nop +/* 99D0D8 80240748 96020086 */ lhu $v0, 0x86($s0) +/* 99D0DC 8024074C A48200A8 */ sh $v0, 0xa8($a0) +.L80240750: +/* 99D0E0 80240750 8482008E */ lh $v0, 0x8e($a0) +/* 99D0E4 80240754 8E030080 */ lw $v1, 0x80($s0) +/* 99D0E8 80240758 0043102A */ slt $v0, $v0, $v1 +/* 99D0EC 8024075C 14400004 */ bnez $v0, .L80240770 +/* 99D0F0 80240760 00000000 */ nop +/* 99D0F4 80240764 96020086 */ lhu $v0, 0x86($s0) +/* 99D0F8 80240768 A48200A8 */ sh $v0, 0xa8($a0) +/* 99D0FC 8024076C AE200070 */ sw $zero, 0x70($s1) +.L80240770: +/* 99D100 80240770 8FBF0018 */ lw $ra, 0x18($sp) +/* 99D104 80240774 8FB10014 */ lw $s1, 0x14($sp) +/* 99D108 80240778 8FB00010 */ lw $s0, 0x10($sp) +/* 99D10C 8024077C 03E00008 */ jr $ra +/* 99D110 80240780 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240784.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240784.s new file mode 100644 index 0000000000..6a1933c885 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240784.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240784 +/* 99D114 80240784 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 99D118 80240788 AFB3005C */ sw $s3, 0x5c($sp) +/* 99D11C 8024078C 0080982D */ daddu $s3, $a0, $zero +/* 99D120 80240790 AFBF0068 */ sw $ra, 0x68($sp) +/* 99D124 80240794 AFB50064 */ sw $s5, 0x64($sp) +/* 99D128 80240798 AFB40060 */ sw $s4, 0x60($sp) +/* 99D12C 8024079C AFB20058 */ sw $s2, 0x58($sp) +/* 99D130 802407A0 AFB10054 */ sw $s1, 0x54($sp) +/* 99D134 802407A4 AFB00050 */ sw $s0, 0x50($sp) +/* 99D138 802407A8 8E710148 */ lw $s1, 0x148($s3) +/* 99D13C 802407AC 86240008 */ lh $a0, 8($s1) +/* 99D140 802407B0 0C00EABB */ jal get_npc_unsafe +/* 99D144 802407B4 00A0802D */ daddu $s0, $a1, $zero +/* 99D148 802407B8 8E63000C */ lw $v1, 0xc($s3) +/* 99D14C 802407BC 0260202D */ daddu $a0, $s3, $zero +/* 99D150 802407C0 8C650000 */ lw $a1, ($v1) +/* 99D154 802407C4 0C0B1EAF */ jal get_variable +/* 99D158 802407C8 0040902D */ daddu $s2, $v0, $zero +/* 99D15C 802407CC AFA00028 */ sw $zero, 0x28($sp) +/* 99D160 802407D0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99D164 802407D4 8C630030 */ lw $v1, 0x30($v1) +/* 99D168 802407D8 AFA3002C */ sw $v1, 0x2c($sp) +/* 99D16C 802407DC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99D170 802407E0 8C63001C */ lw $v1, 0x1c($v1) +/* 99D174 802407E4 AFA30030 */ sw $v1, 0x30($sp) +/* 99D178 802407E8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99D17C 802407EC 8C630024 */ lw $v1, 0x24($v1) +/* 99D180 802407F0 AFA30034 */ sw $v1, 0x34($sp) +/* 99D184 802407F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99D188 802407F8 8C630028 */ lw $v1, 0x28($v1) +/* 99D18C 802407FC 27B50028 */ addiu $s5, $sp, 0x28 +/* 99D190 80240800 AFA30038 */ sw $v1, 0x38($sp) +/* 99D194 80240804 8E2300D0 */ lw $v1, 0xd0($s1) +/* 99D198 80240808 3C0142C8 */ lui $at, 0x42c8 +/* 99D19C 8024080C 44810000 */ mtc1 $at, $f0 +/* 99D1A0 80240810 8C63002C */ lw $v1, 0x2c($v1) +/* 99D1A4 80240814 0040A02D */ daddu $s4, $v0, $zero +/* 99D1A8 80240818 E7A00040 */ swc1 $f0, 0x40($sp) +/* 99D1AC 8024081C A7A00044 */ sh $zero, 0x44($sp) +/* 99D1B0 80240820 12000009 */ beqz $s0, .L80240848 +/* 99D1B4 80240824 AFA3003C */ sw $v1, 0x3c($sp) +/* 99D1B8 80240828 864300A8 */ lh $v1, 0xa8($s2) +/* 99D1BC 8024082C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 99D1C0 80240830 AE20008C */ sw $zero, 0x8c($s1) +/* 99D1C4 80240834 A22000B5 */ sb $zero, 0xb5($s1) +/* 99D1C8 80240838 34420008 */ ori $v0, $v0, 8 +/* 99D1CC 8024083C AE230084 */ sw $v1, 0x84($s1) +/* 99D1D0 80240840 08090216 */ j .L80240858 +/* 99D1D4 80240844 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240848: +/* 99D1D8 80240848 8E2200B0 */ lw $v0, 0xb0($s1) +/* 99D1DC 8024084C 30420004 */ andi $v0, $v0, 4 +/* 99D1E0 80240850 10400047 */ beqz $v0, .L80240970 +/* 99D1E4 80240854 00000000 */ nop +.L80240858: +/* 99D1E8 80240858 AE600070 */ sw $zero, 0x70($s3) +/* 99D1EC 8024085C A640008E */ sh $zero, 0x8e($s2) +/* 99D1F0 80240860 8E2300CC */ lw $v1, 0xcc($s1) +/* 99D1F4 80240864 2404F7FF */ addiu $a0, $zero, -0x801 +/* 99D1F8 80240868 A2200007 */ sb $zero, 7($s1) +/* 99D1FC 8024086C 8E420000 */ lw $v0, ($s2) +/* 99D200 80240870 8C630000 */ lw $v1, ($v1) +/* 99D204 80240874 00441024 */ and $v0, $v0, $a0 +/* 99D208 80240878 AE420000 */ sw $v0, ($s2) +/* 99D20C 8024087C AE430028 */ sw $v1, 0x28($s2) +/* 99D210 80240880 96220086 */ lhu $v0, 0x86($s1) +/* 99D214 80240884 A64200A8 */ sh $v0, 0xa8($s2) +/* 99D218 80240888 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99D21C 8024088C AE200090 */ sw $zero, 0x90($s1) +/* 99D220 80240890 8C420034 */ lw $v0, 0x34($v0) +/* 99D224 80240894 14400006 */ bnez $v0, .L802408B0 +/* 99D228 80240898 2403FDFF */ addiu $v1, $zero, -0x201 +/* 99D22C 8024089C 8E420000 */ lw $v0, ($s2) +/* 99D230 802408A0 2403FFF7 */ addiu $v1, $zero, -9 +/* 99D234 802408A4 34420200 */ ori $v0, $v0, 0x200 +/* 99D238 802408A8 0809022F */ j .L802408BC +/* 99D23C 802408AC 00431024 */ and $v0, $v0, $v1 +.L802408B0: +/* 99D240 802408B0 8E420000 */ lw $v0, ($s2) +/* 99D244 802408B4 00431024 */ and $v0, $v0, $v1 +/* 99D248 802408B8 34420008 */ ori $v0, $v0, 8 +.L802408BC: +/* 99D24C 802408BC AE420000 */ sw $v0, ($s2) +/* 99D250 802408C0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 99D254 802408C4 30420004 */ andi $v0, $v0, 4 +/* 99D258 802408C8 1040001E */ beqz $v0, .L80240944 +/* 99D25C 802408CC 24040002 */ addiu $a0, $zero, 2 +/* 99D260 802408D0 0240282D */ daddu $a1, $s2, $zero +/* 99D264 802408D4 0000302D */ daddu $a2, $zero, $zero +/* 99D268 802408D8 24020063 */ addiu $v0, $zero, 0x63 +/* 99D26C 802408DC AE620070 */ sw $v0, 0x70($s3) +/* 99D270 802408E0 AE600074 */ sw $zero, 0x74($s3) +/* 99D274 802408E4 864300A8 */ lh $v1, 0xa8($s2) +/* 99D278 802408E8 3C013F80 */ lui $at, 0x3f80 +/* 99D27C 802408EC 44810000 */ mtc1 $at, $f0 +/* 99D280 802408F0 3C014000 */ lui $at, 0x4000 +/* 99D284 802408F4 44811000 */ mtc1 $at, $f2 +/* 99D288 802408F8 3C01C1A0 */ lui $at, 0xc1a0 +/* 99D28C 802408FC 44812000 */ mtc1 $at, $f4 +/* 99D290 80240900 24020028 */ addiu $v0, $zero, 0x28 +/* 99D294 80240904 AFA2001C */ sw $v0, 0x1c($sp) +/* 99D298 80240908 44833000 */ mtc1 $v1, $f6 +/* 99D29C 8024090C 00000000 */ nop +/* 99D2A0 80240910 468031A0 */ cvt.s.w $f6, $f6 +/* 99D2A4 80240914 44073000 */ mfc1 $a3, $f6 +/* 99D2A8 80240918 27A20048 */ addiu $v0, $sp, 0x48 +/* 99D2AC 8024091C AFA20020 */ sw $v0, 0x20($sp) +/* 99D2B0 80240920 E7A00010 */ swc1 $f0, 0x10($sp) +/* 99D2B4 80240924 E7A20014 */ swc1 $f2, 0x14($sp) +/* 99D2B8 80240928 0C01BFA4 */ jal fx_emote +/* 99D2BC 8024092C E7A40018 */ swc1 $f4, 0x18($sp) +/* 99D2C0 80240930 8E2200B0 */ lw $v0, 0xb0($s1) +/* 99D2C4 80240934 2403FFFB */ addiu $v1, $zero, -5 +/* 99D2C8 80240938 00431024 */ and $v0, $v0, $v1 +/* 99D2CC 8024093C 0809025C */ j .L80240970 +/* 99D2D0 80240940 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240944: +/* 99D2D4 80240944 8E220000 */ lw $v0, ($s1) +/* 99D2D8 80240948 3C034000 */ lui $v1, 0x4000 +/* 99D2DC 8024094C 00431024 */ and $v0, $v0, $v1 +/* 99D2E0 80240950 10400007 */ beqz $v0, .L80240970 +/* 99D2E4 80240954 3C03BFFF */ lui $v1, 0xbfff +/* 99D2E8 80240958 2402000C */ addiu $v0, $zero, 0xc +/* 99D2EC 8024095C AE620070 */ sw $v0, 0x70($s3) +/* 99D2F0 80240960 8E220000 */ lw $v0, ($s1) +/* 99D2F4 80240964 3463FFFF */ ori $v1, $v1, 0xffff +/* 99D2F8 80240968 00431024 */ and $v0, $v0, $v1 +/* 99D2FC 8024096C AE220000 */ sw $v0, ($s1) +.L80240970: +/* 99D300 80240970 8E220090 */ lw $v0, 0x90($s1) +/* 99D304 80240974 1840000C */ blez $v0, .L802409A8 +/* 99D308 80240978 2442FFFF */ addiu $v0, $v0, -1 +/* 99D30C 8024097C 14400087 */ bnez $v0, .L80240B9C +/* 99D310 80240980 AE220090 */ sw $v0, 0x90($s1) +/* 99D314 80240984 3C03FFAA */ lui $v1, 0xffaa +/* 99D318 80240988 8E420028 */ lw $v0, 0x28($s2) +/* 99D31C 8024098C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 99D320 80240990 00431021 */ addu $v0, $v0, $v1 +/* 99D324 80240994 2C420002 */ sltiu $v0, $v0, 2 +/* 99D328 80240998 10400003 */ beqz $v0, .L802409A8 +/* 99D32C 8024099C 3C020055 */ lui $v0, 0x55 +/* 99D330 802409A0 3442000C */ ori $v0, $v0, 0xc +/* 99D334 802409A4 AE420028 */ sw $v0, 0x28($s2) +.L802409A8: +/* 99D338 802409A8 8E630070 */ lw $v1, 0x70($s3) +/* 99D33C 802409AC 2402000C */ addiu $v0, $zero, 0xc +/* 99D340 802409B0 10620048 */ beq $v1, $v0, .L80240AD4 +/* 99D344 802409B4 2862000D */ slti $v0, $v1, 0xd +/* 99D348 802409B8 1040000F */ beqz $v0, .L802409F8 +/* 99D34C 802409BC 24100001 */ addiu $s0, $zero, 1 +/* 99D350 802409C0 1070001E */ beq $v1, $s0, .L80240A3C +/* 99D354 802409C4 28620002 */ slti $v0, $v1, 2 +/* 99D358 802409C8 10400005 */ beqz $v0, .L802409E0 +/* 99D35C 802409CC 24020002 */ addiu $v0, $zero, 2 +/* 99D360 802409D0 10600015 */ beqz $v1, .L80240A28 +/* 99D364 802409D4 0260202D */ daddu $a0, $s3, $zero +/* 99D368 802409D8 080902CC */ j .L80240B30 +/* 99D36C 802409DC 00000000 */ nop +.L802409E0: +/* 99D370 802409E0 1062001C */ beq $v1, $v0, .L80240A54 +/* 99D374 802409E4 24020003 */ addiu $v0, $zero, 3 +/* 99D378 802409E8 10620035 */ beq $v1, $v0, .L80240AC0 +/* 99D37C 802409EC 0260202D */ daddu $a0, $s3, $zero +/* 99D380 802409F0 080902CC */ j .L80240B30 +/* 99D384 802409F4 00000000 */ nop +.L802409F8: +/* 99D388 802409F8 2402000E */ addiu $v0, $zero, 0xe +/* 99D38C 802409FC 1062003F */ beq $v1, $v0, .L80240AFC +/* 99D390 80240A00 0062102A */ slt $v0, $v1, $v0 +/* 99D394 80240A04 14400038 */ bnez $v0, .L80240AE8 +/* 99D398 80240A08 0260202D */ daddu $a0, $s3, $zero +/* 99D39C 80240A0C 2402000F */ addiu $v0, $zero, 0xf +/* 99D3A0 80240A10 10620040 */ beq $v1, $v0, .L80240B14 +/* 99D3A4 80240A14 24020063 */ addiu $v0, $zero, 0x63 +/* 99D3A8 80240A18 10620043 */ beq $v1, $v0, .L80240B28 +/* 99D3AC 80240A1C 00000000 */ nop +/* 99D3B0 80240A20 080902CC */ j .L80240B30 +/* 99D3B4 80240A24 00000000 */ nop +.L80240A28: +/* 99D3B8 80240A28 0280282D */ daddu $a1, $s4, $zero +/* 99D3BC 80240A2C 0C012568 */ jal func_800495A0 +/* 99D3C0 80240A30 02A0302D */ daddu $a2, $s5, $zero +/* 99D3C4 80240A34 96220086 */ lhu $v0, 0x86($s1) +/* 99D3C8 80240A38 A64200A8 */ sh $v0, 0xa8($s2) +.L80240A3C: +/* 99D3CC 80240A3C 0260202D */ daddu $a0, $s3, $zero +/* 99D3D0 80240A40 0280282D */ daddu $a1, $s4, $zero +/* 99D3D4 80240A44 0C0125AE */ jal func_800496B8 +/* 99D3D8 80240A48 02A0302D */ daddu $a2, $s5, $zero +/* 99D3DC 80240A4C 080902CC */ j .L80240B30 +/* 99D3E0 80240A50 00000000 */ nop +.L80240A54: +/* 99D3E4 80240A54 0260202D */ daddu $a0, $s3, $zero +/* 99D3E8 80240A58 0280282D */ daddu $a1, $s4, $zero +/* 99D3EC 80240A5C 0C0126D1 */ jal func_80049B44 +/* 99D3F0 80240A60 02A0302D */ daddu $a2, $s5, $zero +/* 99D3F4 80240A64 8E230088 */ lw $v1, 0x88($s1) +/* 99D3F8 80240A68 24020006 */ addiu $v0, $zero, 6 +/* 99D3FC 80240A6C 14620014 */ bne $v1, $v0, .L80240AC0 +/* 99D400 80240A70 0260202D */ daddu $a0, $s3, $zero +/* 99D404 80240A74 0C00A67F */ jal rand_int +/* 99D408 80240A78 24040064 */ addiu $a0, $zero, 0x64 +/* 99D40C 80240A7C 28420021 */ slti $v0, $v0, 0x21 +/* 99D410 80240A80 5040000F */ beql $v0, $zero, .L80240AC0 +/* 99D414 80240A84 0260202D */ daddu $a0, $s3, $zero +/* 99D418 80240A88 8E22008C */ lw $v0, 0x8c($s1) +/* 99D41C 80240A8C 10400005 */ beqz $v0, .L80240AA4 +/* 99D420 80240A90 3C020055 */ lui $v0, 0x55 +/* 99D424 80240A94 3442002F */ ori $v0, $v0, 0x2f +/* 99D428 80240A98 AE20008C */ sw $zero, 0x8c($s1) +/* 99D42C 80240A9C 080902AC */ j .L80240AB0 +/* 99D430 80240AA0 A22000B5 */ sb $zero, 0xb5($s1) +.L80240AA4: +/* 99D434 80240AA4 3442002E */ ori $v0, $v0, 0x2e +/* 99D438 80240AA8 AE30008C */ sw $s0, 0x8c($s1) +/* 99D43C 80240AAC A23000B5 */ sb $s0, 0xb5($s1) +.L80240AB0: +/* 99D440 80240AB0 AE420028 */ sw $v0, 0x28($s2) +/* 99D444 80240AB4 24020007 */ addiu $v0, $zero, 7 +/* 99D448 80240AB8 080902E7 */ j .L80240B9C +/* 99D44C 80240ABC AE220090 */ sw $v0, 0x90($s1) +.L80240AC0: +/* 99D450 80240AC0 0280282D */ daddu $a1, $s4, $zero +/* 99D454 80240AC4 0C012701 */ jal func_80049C04 +/* 99D458 80240AC8 02A0302D */ daddu $a2, $s5, $zero +/* 99D45C 80240ACC 080902CC */ j .L80240B30 +/* 99D460 80240AD0 00000000 */ nop +.L80240AD4: +/* 99D464 80240AD4 0260202D */ daddu $a0, $s3, $zero +/* 99D468 80240AD8 0280282D */ daddu $a1, $s4, $zero +/* 99D46C 80240ADC 0C0900FC */ jal func_802403F0 +/* 99D470 80240AE0 02A0302D */ daddu $a2, $s5, $zero +/* 99D474 80240AE4 0260202D */ daddu $a0, $s3, $zero +.L80240AE8: +/* 99D478 80240AE8 0280282D */ daddu $a1, $s4, $zero +/* 99D47C 80240AEC 0C09011B */ jal func_8024046C +/* 99D480 80240AF0 02A0302D */ daddu $a2, $s5, $zero +/* 99D484 80240AF4 080902CC */ j .L80240B30 +/* 99D488 80240AF8 00000000 */ nop +.L80240AFC: +/* 99D48C 80240AFC 0260202D */ daddu $a0, $s3, $zero +/* 99D490 80240B00 0280282D */ daddu $a1, $s4, $zero +/* 99D494 80240B04 0C090168 */ jal func_802405A0 +/* 99D498 80240B08 02A0302D */ daddu $a2, $s5, $zero +/* 99D49C 80240B0C 080902CC */ j .L80240B30 +/* 99D4A0 80240B10 00000000 */ nop +.L80240B14: +/* 99D4A4 80240B14 0280282D */ daddu $a1, $s4, $zero +/* 99D4A8 80240B18 0C0901C1 */ jal func_80240704 +/* 99D4AC 80240B1C 02A0302D */ daddu $a2, $s5, $zero +/* 99D4B0 80240B20 080902CC */ j .L80240B30 +/* 99D4B4 80240B24 00000000 */ nop +.L80240B28: +/* 99D4B8 80240B28 0C0129CF */ jal func_8004A73C +/* 99D4BC 80240B2C 0260202D */ daddu $a0, $s3, $zero +.L80240B30: +/* 99D4C0 80240B30 8E230088 */ lw $v1, 0x88($s1) +/* 99D4C4 80240B34 24020006 */ addiu $v0, $zero, 6 +/* 99D4C8 80240B38 14620019 */ bne $v1, $v0, .L80240BA0 +/* 99D4CC 80240B3C 0000102D */ daddu $v0, $zero, $zero +/* 99D4D0 80240B40 8E22008C */ lw $v0, 0x8c($s1) +/* 99D4D4 80240B44 10400003 */ beqz $v0, .L80240B54 +/* 99D4D8 80240B48 24020001 */ addiu $v0, $zero, 1 +/* 99D4DC 80240B4C 080902D6 */ j .L80240B58 +/* 99D4E0 80240B50 A22200B5 */ sb $v0, 0xb5($s1) +.L80240B54: +/* 99D4E4 80240B54 A22000B5 */ sb $zero, 0xb5($s1) +.L80240B58: +/* 99D4E8 80240B58 8E22008C */ lw $v0, 0x8c($s1) +/* 99D4EC 80240B5C 1040000F */ beqz $v0, .L80240B9C +/* 99D4F0 80240B60 3C03FFAA */ lui $v1, 0xffaa +/* 99D4F4 80240B64 8E420028 */ lw $v0, 0x28($s2) +/* 99D4F8 80240B68 3463FFFC */ ori $v1, $v1, 0xfffc +/* 99D4FC 80240B6C 00431821 */ addu $v1, $v0, $v1 +/* 99D500 80240B70 2C620015 */ sltiu $v0, $v1, 0x15 +/* 99D504 80240B74 10400009 */ beqz $v0, .L80240B9C +/* 99D508 80240B78 00031080 */ sll $v0, $v1, 2 +/* 99D50C 80240B7C 3C018024 */ lui $at, 0x8024 +/* 99D510 80240B80 00220821 */ addu $at, $at, $v0 +/* 99D514 80240B84 8C224448 */ lw $v0, 0x4448($at) +/* 99D518 80240B88 00400008 */ jr $v0 +/* 99D51C 80240B8C 00000000 */ nop +/* 99D520 80240B90 8E420028 */ lw $v0, 0x28($s2) +/* 99D524 80240B94 24420001 */ addiu $v0, $v0, 1 +/* 99D528 80240B98 AE420028 */ sw $v0, 0x28($s2) +.L80240B9C: +/* 99D52C 80240B9C 0000102D */ daddu $v0, $zero, $zero +.L80240BA0: +/* 99D530 80240BA0 8FBF0068 */ lw $ra, 0x68($sp) +/* 99D534 80240BA4 8FB50064 */ lw $s5, 0x64($sp) +/* 99D538 80240BA8 8FB40060 */ lw $s4, 0x60($sp) +/* 99D53C 80240BAC 8FB3005C */ lw $s3, 0x5c($sp) +/* 99D540 80240BB0 8FB20058 */ lw $s2, 0x58($sp) +/* 99D544 80240BB4 8FB10054 */ lw $s1, 0x54($sp) +/* 99D548 80240BB8 8FB00050 */ lw $s0, 0x50($sp) +/* 99D54C 80240BBC 03E00008 */ jr $ra +/* 99D550 80240BC0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240BC4_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240BC4_99C990.s new file mode 100644 index 0000000000..947fcfe064 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240BC4_99C990.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240BC4_99D554 +/* 99D554 80240BC4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99D558 80240BC8 AFB00010 */ sw $s0, 0x10($sp) +/* 99D55C 80240BCC 0080802D */ daddu $s0, $a0, $zero +/* 99D560 80240BD0 AFBF001C */ sw $ra, 0x1c($sp) +/* 99D564 80240BD4 AFB20018 */ sw $s2, 0x18($sp) +/* 99D568 80240BD8 AFB10014 */ sw $s1, 0x14($sp) +/* 99D56C 80240BDC 8E110148 */ lw $s1, 0x148($s0) +/* 99D570 80240BE0 86240008 */ lh $a0, 8($s1) +/* 99D574 80240BE4 0C00EABB */ jal get_npc_unsafe +/* 99D578 80240BE8 00A0902D */ daddu $s2, $a1, $zero +/* 99D57C 80240BEC 8E2300CC */ lw $v1, 0xcc($s1) +/* 99D580 80240BF0 0040202D */ daddu $a0, $v0, $zero +/* 99D584 80240BF4 8C630000 */ lw $v1, ($v1) +/* 99D588 80240BF8 24020001 */ addiu $v0, $zero, 1 +/* 99D58C 80240BFC AC830028 */ sw $v1, 0x28($a0) +/* 99D590 80240C00 AE020070 */ sw $v0, 0x70($s0) +/* 99D594 80240C04 8E220000 */ lw $v0, ($s1) +/* 99D598 80240C08 3C030010 */ lui $v1, 0x10 +/* 99D59C 80240C0C 00431024 */ and $v0, $v0, $v1 +/* 99D5A0 80240C10 10400004 */ beqz $v0, .L80240C24 +/* 99D5A4 80240C14 00000000 */ nop +/* 99D5A8 80240C18 C620006C */ lwc1 $f0, 0x6c($s1) +/* 99D5AC 80240C1C 46800020 */ cvt.s.w $f0, $f0 +/* 99D5B0 80240C20 E480000C */ swc1 $f0, 0xc($a0) +.L80240C24: +/* 99D5B4 80240C24 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99D5B8 80240C28 8C420014 */ lw $v0, 0x14($v0) +/* 99D5BC 80240C2C 1C400004 */ bgtz $v0, .L80240C40 +/* 99D5C0 80240C30 00000000 */ nop +/* 99D5C4 80240C34 C640000C */ lwc1 $f0, 0xc($s2) +/* 99D5C8 80240C38 08090318 */ j .L80240C60 +/* 99D5CC 80240C3C E4800018 */ swc1 $f0, 0x18($a0) +.L80240C40: +/* 99D5D0 80240C40 3C018024 */ lui $at, 0x8024 +/* 99D5D4 80240C44 D42244A0 */ ldc1 $f2, 0x44a0($at) +/* 99D5D8 80240C48 44820000 */ mtc1 $v0, $f0 +/* 99D5DC 80240C4C 00000000 */ nop +/* 99D5E0 80240C50 46800021 */ cvt.d.w $f0, $f0 +/* 99D5E4 80240C54 46220003 */ div.d $f0, $f0, $f2 +/* 99D5E8 80240C58 46200020 */ cvt.s.d $f0, $f0 +/* 99D5EC 80240C5C E4800018 */ swc1 $f0, 0x18($a0) +.L80240C60: +/* 99D5F0 80240C60 8FBF001C */ lw $ra, 0x1c($sp) +/* 99D5F4 80240C64 8FB20018 */ lw $s2, 0x18($sp) +/* 99D5F8 80240C68 8FB10014 */ lw $s1, 0x14($sp) +/* 99D5FC 80240C6C 8FB00010 */ lw $s0, 0x10($sp) +/* 99D600 80240C70 03E00008 */ jr $ra +/* 99D604 80240C74 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240C78_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240C78_99C990.s new file mode 100644 index 0000000000..d29fccb9c3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240C78_99C990.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C78_99D608 +/* 99D608 80240C78 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 99D60C 80240C7C AFB40040 */ sw $s4, 0x40($sp) +/* 99D610 80240C80 0080A02D */ daddu $s4, $a0, $zero +/* 99D614 80240C84 AFBF0044 */ sw $ra, 0x44($sp) +/* 99D618 80240C88 AFB3003C */ sw $s3, 0x3c($sp) +/* 99D61C 80240C8C AFB20038 */ sw $s2, 0x38($sp) +/* 99D620 80240C90 AFB10034 */ sw $s1, 0x34($sp) +/* 99D624 80240C94 AFB00030 */ sw $s0, 0x30($sp) +/* 99D628 80240C98 8E920148 */ lw $s2, 0x148($s4) +/* 99D62C 80240C9C 00A0802D */ daddu $s0, $a1, $zero +/* 99D630 80240CA0 86440008 */ lh $a0, 8($s2) +/* 99D634 80240CA4 0C00EABB */ jal get_npc_unsafe +/* 99D638 80240CA8 00C0982D */ daddu $s3, $a2, $zero +/* 99D63C 80240CAC 8E030008 */ lw $v1, 8($s0) +/* 99D640 80240CB0 04600031 */ bltz $v1, .L80240D78 +/* 99D644 80240CB4 0040882D */ daddu $s1, $v0, $zero +/* 99D648 80240CB8 0260202D */ daddu $a0, $s3, $zero +/* 99D64C 80240CBC AFA00010 */ sw $zero, 0x10($sp) +/* 99D650 80240CC0 8E060018 */ lw $a2, 0x18($s0) +/* 99D654 80240CC4 8E07001C */ lw $a3, 0x1c($s0) +/* 99D658 80240CC8 0C01242D */ jal func_800490B4 +/* 99D65C 80240CCC 0240282D */ daddu $a1, $s2, $zero +/* 99D660 80240CD0 10400029 */ beqz $v0, .L80240D78 +/* 99D664 80240CD4 0000202D */ daddu $a0, $zero, $zero +/* 99D668 80240CD8 0220282D */ daddu $a1, $s1, $zero +/* 99D66C 80240CDC 0000302D */ daddu $a2, $zero, $zero +/* 99D670 80240CE0 862300A8 */ lh $v1, 0xa8($s1) +/* 99D674 80240CE4 3C013F80 */ lui $at, 0x3f80 +/* 99D678 80240CE8 44810000 */ mtc1 $at, $f0 +/* 99D67C 80240CEC 3C014000 */ lui $at, 0x4000 +/* 99D680 80240CF0 44811000 */ mtc1 $at, $f2 +/* 99D684 80240CF4 3C01C1A0 */ lui $at, 0xc1a0 +/* 99D688 80240CF8 44812000 */ mtc1 $at, $f4 +/* 99D68C 80240CFC 2402000F */ addiu $v0, $zero, 0xf +/* 99D690 80240D00 AFA2001C */ sw $v0, 0x1c($sp) +/* 99D694 80240D04 44833000 */ mtc1 $v1, $f6 +/* 99D698 80240D08 00000000 */ nop +/* 99D69C 80240D0C 468031A0 */ cvt.s.w $f6, $f6 +/* 99D6A0 80240D10 44073000 */ mfc1 $a3, $f6 +/* 99D6A4 80240D14 27A20028 */ addiu $v0, $sp, 0x28 +/* 99D6A8 80240D18 AFA20020 */ sw $v0, 0x20($sp) +/* 99D6AC 80240D1C E7A00010 */ swc1 $f0, 0x10($sp) +/* 99D6B0 80240D20 E7A20014 */ swc1 $f2, 0x14($sp) +/* 99D6B4 80240D24 0C01BFA4 */ jal fx_emote +/* 99D6B8 80240D28 E7A40018 */ swc1 $f4, 0x18($sp) +/* 99D6BC 80240D2C 0220202D */ daddu $a0, $s1, $zero +/* 99D6C0 80240D30 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 99D6C4 80240D34 0C012530 */ jal func_800494C0 +/* 99D6C8 80240D38 3C060020 */ lui $a2, 0x20 +/* 99D6CC 80240D3C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 99D6D0 80240D40 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 99D6D4 80240D44 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 99D6D8 80240D48 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 99D6DC 80240D4C 8C460028 */ lw $a2, 0x28($v0) +/* 99D6E0 80240D50 0C00A720 */ jal atan2 +/* 99D6E4 80240D54 8C470030 */ lw $a3, 0x30($v0) +/* 99D6E8 80240D58 E620000C */ swc1 $f0, 0xc($s1) +/* 99D6EC 80240D5C 8E420018 */ lw $v0, 0x18($s2) +/* 99D6F0 80240D60 9442002A */ lhu $v0, 0x2a($v0) +/* 99D6F4 80240D64 30420001 */ andi $v0, $v0, 1 +/* 99D6F8 80240D68 14400002 */ bnez $v0, .L80240D74 +/* 99D6FC 80240D6C 2402000A */ addiu $v0, $zero, 0xa +/* 99D700 80240D70 2402000C */ addiu $v0, $zero, 0xc +.L80240D74: +/* 99D704 80240D74 AE820070 */ sw $v0, 0x70($s4) +.L80240D78: +/* 99D708 80240D78 8FBF0044 */ lw $ra, 0x44($sp) +/* 99D70C 80240D7C 8FB40040 */ lw $s4, 0x40($sp) +/* 99D710 80240D80 8FB3003C */ lw $s3, 0x3c($sp) +/* 99D714 80240D84 8FB20038 */ lw $s2, 0x38($sp) +/* 99D718 80240D88 8FB10034 */ lw $s1, 0x34($sp) +/* 99D71C 80240D8C 8FB00030 */ lw $s0, 0x30($sp) +/* 99D720 80240D90 03E00008 */ jr $ra +/* 99D724 80240D94 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240D98.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240D98.s new file mode 100644 index 0000000000..8f8bab735b --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240D98.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D98 +/* 99D728 80240D98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99D72C 80240D9C AFB00010 */ sw $s0, 0x10($sp) +/* 99D730 80240DA0 0080802D */ daddu $s0, $a0, $zero +/* 99D734 80240DA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 99D738 80240DA8 8E020148 */ lw $v0, 0x148($s0) +/* 99D73C 80240DAC 0C00EABB */ jal get_npc_unsafe +/* 99D740 80240DB0 84440008 */ lh $a0, 8($v0) +/* 99D744 80240DB4 3C014120 */ lui $at, 0x4120 +/* 99D748 80240DB8 44810000 */ mtc1 $at, $f0 +/* 99D74C 80240DBC 3C014000 */ lui $at, 0x4000 +/* 99D750 80240DC0 44811000 */ mtc1 $at, $f2 +/* 99D754 80240DC4 8C430000 */ lw $v1, ($v0) +/* 99D758 80240DC8 C444003C */ lwc1 $f4, 0x3c($v0) +/* 99D75C 80240DCC 34630800 */ ori $v1, $v1, 0x800 +/* 99D760 80240DD0 E440001C */ swc1 $f0, 0x1c($v0) +/* 99D764 80240DD4 E4420014 */ swc1 $f2, 0x14($v0) +/* 99D768 80240DD8 E4440064 */ swc1 $f4, 0x64($v0) +/* 99D76C 80240DDC AC430000 */ sw $v1, ($v0) +/* 99D770 80240DE0 2402000B */ addiu $v0, $zero, 0xb +/* 99D774 80240DE4 AE020070 */ sw $v0, 0x70($s0) +/* 99D778 80240DE8 8FBF0014 */ lw $ra, 0x14($sp) +/* 99D77C 80240DEC 8FB00010 */ lw $s0, 0x10($sp) +/* 99D780 80240DF0 03E00008 */ jr $ra +/* 99D784 80240DF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240DF8_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240DF8_99C990.s new file mode 100644 index 0000000000..de5f4b2b5b --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240DF8_99C990.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DF8_99D788 +/* 99D788 80240DF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99D78C 80240DFC AFB00010 */ sw $s0, 0x10($sp) +/* 99D790 80240E00 0080802D */ daddu $s0, $a0, $zero +/* 99D794 80240E04 AFBF0014 */ sw $ra, 0x14($sp) +/* 99D798 80240E08 8E020148 */ lw $v0, 0x148($s0) +/* 99D79C 80240E0C 0C00EABB */ jal get_npc_unsafe +/* 99D7A0 80240E10 84440008 */ lh $a0, 8($v0) +/* 99D7A4 80240E14 0040202D */ daddu $a0, $v0, $zero +/* 99D7A8 80240E18 C482003C */ lwc1 $f2, 0x3c($a0) +/* 99D7AC 80240E1C C480001C */ lwc1 $f0, 0x1c($a0) +/* 99D7B0 80240E20 46001080 */ add.s $f2, $f2, $f0 +/* 99D7B4 80240E24 C4840014 */ lwc1 $f4, 0x14($a0) +/* 99D7B8 80240E28 46040001 */ sub.s $f0, $f0, $f4 +/* 99D7BC 80240E2C C4840064 */ lwc1 $f4, 0x64($a0) +/* 99D7C0 80240E30 4602203C */ c.lt.s $f4, $f2 +/* 99D7C4 80240E34 E482003C */ swc1 $f2, 0x3c($a0) +/* 99D7C8 80240E38 45010009 */ bc1t .L80240E60 +/* 99D7CC 80240E3C E480001C */ swc1 $f0, 0x1c($a0) +/* 99D7D0 80240E40 8C820000 */ lw $v0, ($a0) +/* 99D7D4 80240E44 2403F7FF */ addiu $v1, $zero, -0x801 +/* 99D7D8 80240E48 E484003C */ swc1 $f4, 0x3c($a0) +/* 99D7DC 80240E4C AC80001C */ sw $zero, 0x1c($a0) +/* 99D7E0 80240E50 00431024 */ and $v0, $v0, $v1 +/* 99D7E4 80240E54 AC820000 */ sw $v0, ($a0) +/* 99D7E8 80240E58 2402000C */ addiu $v0, $zero, 0xc +/* 99D7EC 80240E5C AE020070 */ sw $v0, 0x70($s0) +.L80240E60: +/* 99D7F0 80240E60 8FBF0014 */ lw $ra, 0x14($sp) +/* 99D7F4 80240E64 8FB00010 */ lw $s0, 0x10($sp) +/* 99D7F8 80240E68 03E00008 */ jr $ra +/* 99D7FC 80240E6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240E70.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240E70.s new file mode 100644 index 0000000000..ae8148d403 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240E70.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240E70 +/* 99D800 80240E70 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 99D804 80240E74 AFB3001C */ sw $s3, 0x1c($sp) +/* 99D808 80240E78 0080982D */ daddu $s3, $a0, $zero +/* 99D80C 80240E7C AFBF0020 */ sw $ra, 0x20($sp) +/* 99D810 80240E80 AFB20018 */ sw $s2, 0x18($sp) +/* 99D814 80240E84 AFB10014 */ sw $s1, 0x14($sp) +/* 99D818 80240E88 AFB00010 */ sw $s0, 0x10($sp) +/* 99D81C 80240E8C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 99D820 80240E90 8E710148 */ lw $s1, 0x148($s3) +/* 99D824 80240E94 86240008 */ lh $a0, 8($s1) +/* 99D828 80240E98 0C00EABB */ jal get_npc_unsafe +/* 99D82C 80240E9C 00A0802D */ daddu $s0, $a1, $zero +/* 99D830 80240EA0 8E040014 */ lw $a0, 0x14($s0) +/* 99D834 80240EA4 0040902D */ daddu $s2, $v0, $zero +/* 99D838 80240EA8 00041FC2 */ srl $v1, $a0, 0x1f +/* 99D83C 80240EAC 00832021 */ addu $a0, $a0, $v1 +/* 99D840 80240EB0 00042043 */ sra $a0, $a0, 1 +/* 99D844 80240EB4 0C00A67F */ jal rand_int +/* 99D848 80240EB8 24840001 */ addiu $a0, $a0, 1 +/* 99D84C 80240EBC 8E030014 */ lw $v1, 0x14($s0) +/* 99D850 80240EC0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 99D854 80240EC4 000327C2 */ srl $a0, $v1, 0x1f +/* 99D858 80240EC8 00641821 */ addu $v1, $v1, $a0 +/* 99D85C 80240ECC 00031843 */ sra $v1, $v1, 1 +/* 99D860 80240ED0 00621821 */ addu $v1, $v1, $v0 +/* 99D864 80240ED4 A643008E */ sh $v1, 0x8e($s2) +/* 99D868 80240ED8 8E2200CC */ lw $v0, 0xcc($s1) +/* 99D86C 80240EDC C64E0040 */ lwc1 $f14, 0x40($s2) +/* 99D870 80240EE0 8C42000C */ lw $v0, 0xc($v0) +/* 99D874 80240EE4 AE420028 */ sw $v0, 0x28($s2) +/* 99D878 80240EE8 C600000C */ lwc1 $f0, 0xc($s0) +/* 99D87C 80240EEC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 99D880 80240EF0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 99D884 80240EF4 E6400018 */ swc1 $f0, 0x18($s2) +/* 99D888 80240EF8 8C460028 */ lw $a2, 0x28($v0) +/* 99D88C 80240EFC 0C00A720 */ jal atan2 +/* 99D890 80240F00 8C470030 */ lw $a3, 0x30($v0) +/* 99D894 80240F04 46000506 */ mov.s $f20, $f0 +/* 99D898 80240F08 C64C000C */ lwc1 $f12, 0xc($s2) +/* 99D89C 80240F0C 0C00A70A */ jal get_clamped_angle_diff +/* 99D8A0 80240F10 4600A386 */ mov.s $f14, $f20 +/* 99D8A4 80240F14 46000086 */ mov.s $f2, $f0 +/* 99D8A8 80240F18 8E020010 */ lw $v0, 0x10($s0) +/* 99D8AC 80240F1C 46001005 */ abs.s $f0, $f2 +/* 99D8B0 80240F20 44822000 */ mtc1 $v0, $f4 +/* 99D8B4 80240F24 00000000 */ nop +/* 99D8B8 80240F28 46802120 */ cvt.s.w $f4, $f4 +/* 99D8BC 80240F2C 4600203C */ c.lt.s $f4, $f0 +/* 99D8C0 80240F30 00000000 */ nop +/* 99D8C4 80240F34 4500000D */ bc1f .L80240F6C +/* 99D8C8 80240F38 00000000 */ nop +/* 99D8CC 80240F3C 44800000 */ mtc1 $zero, $f0 +/* 99D8D0 80240F40 C654000C */ lwc1 $f20, 0xc($s2) +/* 99D8D4 80240F44 4600103C */ c.lt.s $f2, $f0 +/* 99D8D8 80240F48 00000000 */ nop +/* 99D8DC 80240F4C 45000006 */ bc1f .L80240F68 +/* 99D8E0 80240F50 00021023 */ negu $v0, $v0 +/* 99D8E4 80240F54 44820000 */ mtc1 $v0, $f0 +/* 99D8E8 80240F58 00000000 */ nop +/* 99D8EC 80240F5C 46800020 */ cvt.s.w $f0, $f0 +/* 99D8F0 80240F60 080903DB */ j .L80240F6C +/* 99D8F4 80240F64 4600A500 */ add.s $f20, $f20, $f0 +.L80240F68: +/* 99D8F8 80240F68 4604A500 */ add.s $f20, $f20, $f4 +.L80240F6C: +/* 99D8FC 80240F6C 0C00A6C9 */ jal clamp_angle +/* 99D900 80240F70 4600A306 */ mov.s $f12, $f20 +/* 99D904 80240F74 2402000D */ addiu $v0, $zero, 0xd +/* 99D908 80240F78 E640000C */ swc1 $f0, 0xc($s2) +/* 99D90C 80240F7C AE620070 */ sw $v0, 0x70($s3) +/* 99D910 80240F80 8FBF0020 */ lw $ra, 0x20($sp) +/* 99D914 80240F84 8FB3001C */ lw $s3, 0x1c($sp) +/* 99D918 80240F88 8FB20018 */ lw $s2, 0x18($sp) +/* 99D91C 80240F8C 8FB10014 */ lw $s1, 0x14($sp) +/* 99D920 80240F90 8FB00010 */ lw $s0, 0x10($sp) +/* 99D924 80240F94 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 99D928 80240F98 03E00008 */ jr $ra +/* 99D92C 80240F9C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80240FA0_99C990.s b/asm/nonmatchings/world/area_trd/trd_01/func_80240FA0_99C990.s new file mode 100644 index 0000000000..deadecb571 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80240FA0_99C990.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FA0_99D930 +/* 99D930 80240FA0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 99D934 80240FA4 AFB3003C */ sw $s3, 0x3c($sp) +/* 99D938 80240FA8 0080982D */ daddu $s3, $a0, $zero +/* 99D93C 80240FAC AFBF0040 */ sw $ra, 0x40($sp) +/* 99D940 80240FB0 AFB20038 */ sw $s2, 0x38($sp) +/* 99D944 80240FB4 AFB10034 */ sw $s1, 0x34($sp) +/* 99D948 80240FB8 AFB00030 */ sw $s0, 0x30($sp) +/* 99D94C 80240FBC 8E720148 */ lw $s2, 0x148($s3) +/* 99D950 80240FC0 00A0882D */ daddu $s1, $a1, $zero +/* 99D954 80240FC4 86440008 */ lh $a0, 8($s2) +/* 99D958 80240FC8 0C00EABB */ jal get_npc_unsafe +/* 99D95C 80240FCC 00C0802D */ daddu $s0, $a2, $zero +/* 99D960 80240FD0 0200202D */ daddu $a0, $s0, $zero +/* 99D964 80240FD4 0240282D */ daddu $a1, $s2, $zero +/* 99D968 80240FD8 24030001 */ addiu $v1, $zero, 1 +/* 99D96C 80240FDC AFA30010 */ sw $v1, 0x10($sp) +/* 99D970 80240FE0 8E260018 */ lw $a2, 0x18($s1) +/* 99D974 80240FE4 8E27001C */ lw $a3, 0x1c($s1) +/* 99D978 80240FE8 0C01242D */ jal func_800490B4 +/* 99D97C 80240FEC 0040802D */ daddu $s0, $v0, $zero +/* 99D980 80240FF0 1440001D */ bnez $v0, .L80241068 +/* 99D984 80240FF4 24040002 */ addiu $a0, $zero, 2 +/* 99D988 80240FF8 0200282D */ daddu $a1, $s0, $zero +/* 99D98C 80240FFC 0000302D */ daddu $a2, $zero, $zero +/* 99D990 80241000 860300A8 */ lh $v1, 0xa8($s0) +/* 99D994 80241004 3C013F80 */ lui $at, 0x3f80 +/* 99D998 80241008 44810000 */ mtc1 $at, $f0 +/* 99D99C 8024100C 3C014000 */ lui $at, 0x4000 +/* 99D9A0 80241010 44811000 */ mtc1 $at, $f2 +/* 99D9A4 80241014 3C01C1A0 */ lui $at, 0xc1a0 +/* 99D9A8 80241018 44812000 */ mtc1 $at, $f4 +/* 99D9AC 8024101C 2402000F */ addiu $v0, $zero, 0xf +/* 99D9B0 80241020 AFA2001C */ sw $v0, 0x1c($sp) +/* 99D9B4 80241024 44833000 */ mtc1 $v1, $f6 +/* 99D9B8 80241028 00000000 */ nop +/* 99D9BC 8024102C 468031A0 */ cvt.s.w $f6, $f6 +/* 99D9C0 80241030 44073000 */ mfc1 $a3, $f6 +/* 99D9C4 80241034 27A20028 */ addiu $v0, $sp, 0x28 +/* 99D9C8 80241038 AFA20020 */ sw $v0, 0x20($sp) +/* 99D9CC 8024103C E7A00010 */ swc1 $f0, 0x10($sp) +/* 99D9D0 80241040 E7A20014 */ swc1 $f2, 0x14($sp) +/* 99D9D4 80241044 0C01BFA4 */ jal fx_emote +/* 99D9D8 80241048 E7A40018 */ swc1 $f4, 0x18($sp) +/* 99D9DC 8024104C 8E4200CC */ lw $v0, 0xcc($s2) +/* 99D9E0 80241050 8C430000 */ lw $v1, ($v0) +/* 99D9E4 80241054 24020019 */ addiu $v0, $zero, 0x19 +/* 99D9E8 80241058 A602008E */ sh $v0, 0x8e($s0) +/* 99D9EC 8024105C 2402000E */ addiu $v0, $zero, 0xe +/* 99D9F0 80241060 08090427 */ j .L8024109C +/* 99D9F4 80241064 AE030028 */ sw $v1, 0x28($s0) +.L80241068: +/* 99D9F8 80241068 8E050018 */ lw $a1, 0x18($s0) +/* 99D9FC 8024106C 8E06000C */ lw $a2, 0xc($s0) +/* 99DA00 80241070 0C00EA95 */ jal npc_move_heading +/* 99DA04 80241074 0200202D */ daddu $a0, $s0, $zero +/* 99DA08 80241078 0200202D */ daddu $a0, $s0, $zero +/* 99DA0C 8024107C 0C00F598 */ jal func_8003D660 +/* 99DA10 80241080 24050001 */ addiu $a1, $zero, 1 +/* 99DA14 80241084 9602008E */ lhu $v0, 0x8e($s0) +/* 99DA18 80241088 2442FFFF */ addiu $v0, $v0, -1 +/* 99DA1C 8024108C A602008E */ sh $v0, 0x8e($s0) +/* 99DA20 80241090 00021400 */ sll $v0, $v0, 0x10 +/* 99DA24 80241094 14400002 */ bnez $v0, .L802410A0 +/* 99DA28 80241098 2402000C */ addiu $v0, $zero, 0xc +.L8024109C: +/* 99DA2C 8024109C AE620070 */ sw $v0, 0x70($s3) +.L802410A0: +/* 99DA30 802410A0 8FBF0040 */ lw $ra, 0x40($sp) +/* 99DA34 802410A4 8FB3003C */ lw $s3, 0x3c($sp) +/* 99DA38 802410A8 8FB20038 */ lw $s2, 0x38($sp) +/* 99DA3C 802410AC 8FB10034 */ lw $s1, 0x34($sp) +/* 99DA40 802410B0 8FB00030 */ lw $s0, 0x30($sp) +/* 99DA44 802410B4 03E00008 */ jr $ra +/* 99DA48 802410B8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_802410BC.s b/asm/nonmatchings/world/area_trd/trd_01/func_802410BC.s new file mode 100644 index 0000000000..2298d56093 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_802410BC.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410BC +/* 99DA4C 802410BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99DA50 802410C0 AFB00010 */ sw $s0, 0x10($sp) +/* 99DA54 802410C4 0080802D */ daddu $s0, $a0, $zero +/* 99DA58 802410C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 99DA5C 802410CC 8E020148 */ lw $v0, 0x148($s0) +/* 99DA60 802410D0 0C00EABB */ jal get_npc_unsafe +/* 99DA64 802410D4 84440008 */ lh $a0, 8($v0) +/* 99DA68 802410D8 9443008E */ lhu $v1, 0x8e($v0) +/* 99DA6C 802410DC 2463FFFF */ addiu $v1, $v1, -1 +/* 99DA70 802410E0 A443008E */ sh $v1, 0x8e($v0) +/* 99DA74 802410E4 00031C00 */ sll $v1, $v1, 0x10 +/* 99DA78 802410E8 14600002 */ bnez $v1, .L802410F4 +/* 99DA7C 802410EC 2402000F */ addiu $v0, $zero, 0xf +/* 99DA80 802410F0 AE020070 */ sw $v0, 0x70($s0) +.L802410F4: +/* 99DA84 802410F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 99DA88 802410F8 8FB00010 */ lw $s0, 0x10($sp) +/* 99DA8C 802410FC 03E00008 */ jr $ra +/* 99DA90 80241100 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80241104.s b/asm/nonmatchings/world/area_trd/trd_01/func_80241104.s new file mode 100644 index 0000000000..b28ee0b6ed --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80241104.s @@ -0,0 +1,49 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241104 +/* 99DA94 80241104 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 99DA98 80241108 AFB10014 */ sw $s1, 0x14($sp) +/* 99DA9C 8024110C 0080882D */ daddu $s1, $a0, $zero +/* 99DAA0 80241110 AFBF001C */ sw $ra, 0x1c($sp) +/* 99DAA4 80241114 AFB20018 */ sw $s2, 0x18($sp) +/* 99DAA8 80241118 AFB00010 */ sw $s0, 0x10($sp) +/* 99DAAC 8024111C 8E300148 */ lw $s0, 0x148($s1) +/* 99DAB0 80241120 86040008 */ lh $a0, 8($s0) +/* 99DAB4 80241124 0C00EABB */ jal get_npc_unsafe +/* 99DAB8 80241128 00A0902D */ daddu $s2, $a1, $zero +/* 99DABC 8024112C 8E0300CC */ lw $v1, 0xcc($s0) +/* 99DAC0 80241130 8C630004 */ lw $v1, 4($v1) +/* 99DAC4 80241134 0040202D */ daddu $a0, $v0, $zero +/* 99DAC8 80241138 AC830028 */ sw $v1, 0x28($a0) +/* 99DACC 8024113C 8E0200D0 */ lw $v0, 0xd0($s0) +/* 99DAD0 80241140 8C420014 */ lw $v0, 0x14($v0) +/* 99DAD4 80241144 04410009 */ bgez $v0, .L8024116C +/* 99DAD8 80241148 00000000 */ nop +/* 99DADC 8024114C C640000C */ lwc1 $f0, 0xc($s2) +/* 99DAE0 80241150 3C018024 */ lui $at, 0x8024 +/* 99DAE4 80241154 D42244A8 */ ldc1 $f2, 0x44a8($at) +/* 99DAE8 80241158 46000021 */ cvt.d.s $f0, $f0 +/* 99DAEC 8024115C 46220002 */ mul.d $f0, $f0, $f2 +/* 99DAF0 80241160 00000000 */ nop +/* 99DAF4 80241164 08090462 */ j .L80241188 +/* 99DAF8 80241168 46200020 */ cvt.s.d $f0, $f0 +.L8024116C: +/* 99DAFC 8024116C 3C018024 */ lui $at, 0x8024 +/* 99DB00 80241170 D42244B0 */ ldc1 $f2, 0x44b0($at) +/* 99DB04 80241174 44820000 */ mtc1 $v0, $f0 +/* 99DB08 80241178 00000000 */ nop +/* 99DB0C 8024117C 46800021 */ cvt.d.w $f0, $f0 +/* 99DB10 80241180 46220003 */ div.d $f0, $f0, $f2 +/* 99DB14 80241184 46200020 */ cvt.s.d $f0, $f0 +.L80241188: +/* 99DB18 80241188 E4800018 */ swc1 $f0, 0x18($a0) +/* 99DB1C 8024118C 24020010 */ addiu $v0, $zero, 0x10 +/* 99DB20 80241190 AE200074 */ sw $zero, 0x74($s1) +/* 99DB24 80241194 AE220070 */ sw $v0, 0x70($s1) +/* 99DB28 80241198 8FBF001C */ lw $ra, 0x1c($sp) +/* 99DB2C 8024119C 8FB20018 */ lw $s2, 0x18($sp) +/* 99DB30 802411A0 8FB10014 */ lw $s1, 0x14($sp) +/* 99DB34 802411A4 8FB00010 */ lw $s0, 0x10($sp) +/* 99DB38 802411A8 03E00008 */ jr $ra +/* 99DB3C 802411AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_802411B0.s b/asm/nonmatchings/world/area_trd/trd_01/func_802411B0.s new file mode 100644 index 0000000000..1828e7812f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_802411B0.s @@ -0,0 +1,140 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802411B0 +/* 99DB40 802411B0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 99DB44 802411B4 AFB3003C */ sw $s3, 0x3c($sp) +/* 99DB48 802411B8 0080982D */ daddu $s3, $a0, $zero +/* 99DB4C 802411BC AFBF0044 */ sw $ra, 0x44($sp) +/* 99DB50 802411C0 AFB40040 */ sw $s4, 0x40($sp) +/* 99DB54 802411C4 AFB20038 */ sw $s2, 0x38($sp) +/* 99DB58 802411C8 AFB10034 */ sw $s1, 0x34($sp) +/* 99DB5C 802411CC AFB00030 */ sw $s0, 0x30($sp) +/* 99DB60 802411D0 8E710148 */ lw $s1, 0x148($s3) +/* 99DB64 802411D4 00A0902D */ daddu $s2, $a1, $zero +/* 99DB68 802411D8 86240008 */ lh $a0, 8($s1) +/* 99DB6C 802411DC 0C00EABB */ jal get_npc_unsafe +/* 99DB70 802411E0 00C0A02D */ daddu $s4, $a2, $zero +/* 99DB74 802411E4 8E430008 */ lw $v1, 8($s2) +/* 99DB78 802411E8 0460003B */ bltz $v1, .L802412D8 +/* 99DB7C 802411EC 0040802D */ daddu $s0, $v0, $zero +/* 99DB80 802411F0 8E620074 */ lw $v0, 0x74($s3) +/* 99DB84 802411F4 1C400037 */ bgtz $v0, .L802412D4 +/* 99DB88 802411F8 2442FFFF */ addiu $v0, $v0, -1 +/* 99DB8C 802411FC 0280202D */ daddu $a0, $s4, $zero +/* 99DB90 80241200 AE630074 */ sw $v1, 0x74($s3) +/* 99DB94 80241204 AFA00010 */ sw $zero, 0x10($sp) +/* 99DB98 80241208 8E460018 */ lw $a2, 0x18($s2) +/* 99DB9C 8024120C 8E47001C */ lw $a3, 0x1c($s2) +/* 99DBA0 80241210 0C01242D */ jal func_800490B4 +/* 99DBA4 80241214 0220282D */ daddu $a1, $s1, $zero +/* 99DBA8 80241218 1040002C */ beqz $v0, .L802412CC +/* 99DBAC 8024121C 0000202D */ daddu $a0, $zero, $zero +/* 99DBB0 80241220 0200282D */ daddu $a1, $s0, $zero +/* 99DBB4 80241224 0000302D */ daddu $a2, $zero, $zero +/* 99DBB8 80241228 860300A8 */ lh $v1, 0xa8($s0) +/* 99DBBC 8024122C 3C013F80 */ lui $at, 0x3f80 +/* 99DBC0 80241230 44810000 */ mtc1 $at, $f0 +/* 99DBC4 80241234 3C014000 */ lui $at, 0x4000 +/* 99DBC8 80241238 44811000 */ mtc1 $at, $f2 +/* 99DBCC 8024123C 3C01C1A0 */ lui $at, 0xc1a0 +/* 99DBD0 80241240 44812000 */ mtc1 $at, $f4 +/* 99DBD4 80241244 2402000F */ addiu $v0, $zero, 0xf +/* 99DBD8 80241248 AFA2001C */ sw $v0, 0x1c($sp) +/* 99DBDC 8024124C 44833000 */ mtc1 $v1, $f6 +/* 99DBE0 80241250 00000000 */ nop +/* 99DBE4 80241254 468031A0 */ cvt.s.w $f6, $f6 +/* 99DBE8 80241258 44073000 */ mfc1 $a3, $f6 +/* 99DBEC 8024125C 27A20028 */ addiu $v0, $sp, 0x28 +/* 99DBF0 80241260 AFA20020 */ sw $v0, 0x20($sp) +/* 99DBF4 80241264 E7A00010 */ swc1 $f0, 0x10($sp) +/* 99DBF8 80241268 E7A20014 */ swc1 $f2, 0x14($sp) +/* 99DBFC 8024126C 0C01BFA4 */ jal fx_emote +/* 99DC00 80241270 E7A40018 */ swc1 $f4, 0x18($sp) +/* 99DC04 80241274 0200202D */ daddu $a0, $s0, $zero +/* 99DC08 80241278 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 99DC0C 8024127C 0C012530 */ jal func_800494C0 +/* 99DC10 80241280 3C060020 */ lui $a2, 0x20 +/* 99DC14 80241284 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99DC18 80241288 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 99DC1C 8024128C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 99DC20 80241290 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 99DC24 80241294 8C460028 */ lw $a2, 0x28($v0) +/* 99DC28 80241298 0C00A720 */ jal atan2 +/* 99DC2C 8024129C 8C470030 */ lw $a3, 0x30($v0) +/* 99DC30 802412A0 E600000C */ swc1 $f0, 0xc($s0) +/* 99DC34 802412A4 8E220018 */ lw $v0, 0x18($s1) +/* 99DC38 802412A8 9442002A */ lhu $v0, 0x2a($v0) +/* 99DC3C 802412AC 30420001 */ andi $v0, $v0, 1 +/* 99DC40 802412B0 10400003 */ beqz $v0, .L802412C0 +/* 99DC44 802412B4 2402000A */ addiu $v0, $zero, 0xa +/* 99DC48 802412B8 080904E6 */ j .L80241398 +/* 99DC4C 802412BC AE620070 */ sw $v0, 0x70($s3) +.L802412C0: +/* 99DC50 802412C0 2402000C */ addiu $v0, $zero, 0xc +/* 99DC54 802412C4 080904E6 */ j .L80241398 +/* 99DC58 802412C8 AE620070 */ sw $v0, 0x70($s3) +.L802412CC: +/* 99DC5C 802412CC 8E620074 */ lw $v0, 0x74($s3) +/* 99DC60 802412D0 2442FFFF */ addiu $v0, $v0, -1 +.L802412D4: +/* 99DC64 802412D4 AE620074 */ sw $v0, 0x74($s3) +.L802412D8: +/* 99DC68 802412D8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99DC6C 802412DC 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99DC70 802412E0 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 99DC74 802412E4 C4460000 */ lwc1 $f6, ($v0) +/* 99DC78 802412E8 468031A0 */ cvt.s.w $f6, $f6 +/* 99DC7C 802412EC 44063000 */ mfc1 $a2, $f6 +/* 99DC80 802412F0 C4460008 */ lwc1 $f6, 8($v0) +/* 99DC84 802412F4 468031A0 */ cvt.s.w $f6, $f6 +/* 99DC88 802412F8 44073000 */ mfc1 $a3, $f6 +/* 99DC8C 802412FC 0C00A7B5 */ jal dist2D +/* 99DC90 80241300 00000000 */ nop +/* 99DC94 80241304 C6020018 */ lwc1 $f2, 0x18($s0) +/* 99DC98 80241308 4602003C */ c.lt.s $f0, $f2 +/* 99DC9C 8024130C 00000000 */ nop +/* 99DCA0 80241310 4500000E */ bc1f .L8024134C +/* 99DCA4 80241314 00000000 */ nop +/* 99DCA8 80241318 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99DCAC 8024131C C4400000 */ lwc1 $f0, ($v0) +/* 99DCB0 80241320 46800020 */ cvt.s.w $f0, $f0 +/* 99DCB4 80241324 E6000038 */ swc1 $f0, 0x38($s0) +/* 99DCB8 80241328 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99DCBC 8024132C C4400008 */ lwc1 $f0, 8($v0) +/* 99DCC0 80241330 46800020 */ cvt.s.w $f0, $f0 +/* 99DCC4 80241334 E6000040 */ swc1 $f0, 0x40($s0) +/* 99DCC8 80241338 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99DCCC 8024133C C440000C */ lwc1 $f0, 0xc($v0) +/* 99DCD0 80241340 46800020 */ cvt.s.w $f0, $f0 +/* 99DCD4 80241344 E600000C */ swc1 $f0, 0xc($s0) +/* 99DCD8 80241348 AE600070 */ sw $zero, 0x70($s3) +.L8024134C: +/* 99DCDC 8024134C 8602008C */ lh $v0, 0x8c($s0) +/* 99DCE0 80241350 14400011 */ bnez $v0, .L80241398 +/* 99DCE4 80241354 00000000 */ nop +/* 99DCE8 80241358 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 99DCEC 8024135C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 99DCF0 80241360 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 99DCF4 80241364 C4460000 */ lwc1 $f6, ($v0) +/* 99DCF8 80241368 468031A0 */ cvt.s.w $f6, $f6 +/* 99DCFC 8024136C 44063000 */ mfc1 $a2, $f6 +/* 99DD00 80241370 C4460008 */ lwc1 $f6, 8($v0) +/* 99DD04 80241374 468031A0 */ cvt.s.w $f6, $f6 +/* 99DD08 80241378 44073000 */ mfc1 $a3, $f6 +/* 99DD0C 8024137C 0C00A720 */ jal atan2 +/* 99DD10 80241380 00000000 */ nop +/* 99DD14 80241384 8E050018 */ lw $a1, 0x18($s0) +/* 99DD18 80241388 44060000 */ mfc1 $a2, $f0 +/* 99DD1C 8024138C 0200202D */ daddu $a0, $s0, $zero +/* 99DD20 80241390 0C00EA95 */ jal npc_move_heading +/* 99DD24 80241394 AC86000C */ sw $a2, 0xc($a0) +.L80241398: +/* 99DD28 80241398 8FBF0044 */ lw $ra, 0x44($sp) +/* 99DD2C 8024139C 8FB40040 */ lw $s4, 0x40($sp) +/* 99DD30 802413A0 8FB3003C */ lw $s3, 0x3c($sp) +/* 99DD34 802413A4 8FB20038 */ lw $s2, 0x38($sp) +/* 99DD38 802413A8 8FB10034 */ lw $s1, 0x34($sp) +/* 99DD3C 802413AC 8FB00030 */ lw $s0, 0x30($sp) +/* 99DD40 802413B0 03E00008 */ jr $ra +/* 99DD44 802413B4 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_802413B8.s b/asm/nonmatchings/world/area_trd/trd_01/func_802413B8.s new file mode 100644 index 0000000000..3440271a9f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_802413B8.s @@ -0,0 +1,168 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413B8 +/* 99DD48 802413B8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 99DD4C 802413BC AFB40040 */ sw $s4, 0x40($sp) +/* 99DD50 802413C0 0080A02D */ daddu $s4, $a0, $zero +/* 99DD54 802413C4 AFBF0048 */ sw $ra, 0x48($sp) +/* 99DD58 802413C8 AFB50044 */ sw $s5, 0x44($sp) +/* 99DD5C 802413CC AFB3003C */ sw $s3, 0x3c($sp) +/* 99DD60 802413D0 AFB20038 */ sw $s2, 0x38($sp) +/* 99DD64 802413D4 AFB10034 */ sw $s1, 0x34($sp) +/* 99DD68 802413D8 AFB00030 */ sw $s0, 0x30($sp) +/* 99DD6C 802413DC 8E920148 */ lw $s2, 0x148($s4) +/* 99DD70 802413E0 86440008 */ lh $a0, 8($s2) +/* 99DD74 802413E4 8E90000C */ lw $s0, 0xc($s4) +/* 99DD78 802413E8 0C00EABB */ jal get_npc_unsafe +/* 99DD7C 802413EC 00A0882D */ daddu $s1, $a1, $zero +/* 99DD80 802413F0 0280202D */ daddu $a0, $s4, $zero +/* 99DD84 802413F4 8E050000 */ lw $a1, ($s0) +/* 99DD88 802413F8 0C0B1EAF */ jal get_variable +/* 99DD8C 802413FC 0040802D */ daddu $s0, $v0, $zero +/* 99DD90 80241400 AFA00010 */ sw $zero, 0x10($sp) +/* 99DD94 80241404 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99DD98 80241408 8C630030 */ lw $v1, 0x30($v1) +/* 99DD9C 8024140C AFA30014 */ sw $v1, 0x14($sp) +/* 99DDA0 80241410 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99DDA4 80241414 8C63001C */ lw $v1, 0x1c($v1) +/* 99DDA8 80241418 AFA30018 */ sw $v1, 0x18($sp) +/* 99DDAC 8024141C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99DDB0 80241420 8C630024 */ lw $v1, 0x24($v1) +/* 99DDB4 80241424 AFA3001C */ sw $v1, 0x1c($sp) +/* 99DDB8 80241428 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99DDBC 8024142C 8C630028 */ lw $v1, 0x28($v1) +/* 99DDC0 80241430 27B50010 */ addiu $s5, $sp, 0x10 +/* 99DDC4 80241434 AFA30020 */ sw $v1, 0x20($sp) +/* 99DDC8 80241438 8E4300D0 */ lw $v1, 0xd0($s2) +/* 99DDCC 8024143C 3C014282 */ lui $at, 0x4282 +/* 99DDD0 80241440 44810000 */ mtc1 $at, $f0 +/* 99DDD4 80241444 8C63002C */ lw $v1, 0x2c($v1) +/* 99DDD8 80241448 0040982D */ daddu $s3, $v0, $zero +/* 99DDDC 8024144C E7A00028 */ swc1 $f0, 0x28($sp) +/* 99DDE0 80241450 A7A0002C */ sh $zero, 0x2c($sp) +/* 99DDE4 80241454 16200005 */ bnez $s1, .L8024146C +/* 99DDE8 80241458 AFA30024 */ sw $v1, 0x24($sp) +/* 99DDEC 8024145C 8E4200B0 */ lw $v0, 0xb0($s2) +/* 99DDF0 80241460 30420004 */ andi $v0, $v0, 4 +/* 99DDF4 80241464 1040002F */ beqz $v0, .L80241524 +/* 99DDF8 80241468 00000000 */ nop +.L8024146C: +/* 99DDFC 8024146C AE800070 */ sw $zero, 0x70($s4) +/* 99DE00 80241470 C600000C */ lwc1 $f0, 0xc($s0) +/* 99DE04 80241474 A600008E */ sh $zero, 0x8e($s0) +/* 99DE08 80241478 8E4200CC */ lw $v0, 0xcc($s2) +/* 99DE0C 8024147C 4600008D */ trunc.w.s $f2, $f0 +/* 99DE10 80241480 E642006C */ swc1 $f2, 0x6c($s2) +/* 99DE14 80241484 8C420000 */ lw $v0, ($v0) +/* 99DE18 80241488 8E030000 */ lw $v1, ($s0) +/* 99DE1C 8024148C AE020028 */ sw $v0, 0x28($s0) +/* 99DE20 80241490 2402F7FF */ addiu $v0, $zero, -0x801 +/* 99DE24 80241494 00621824 */ and $v1, $v1, $v0 +/* 99DE28 80241498 AE030000 */ sw $v1, ($s0) +/* 99DE2C 8024149C 8E4200D0 */ lw $v0, 0xd0($s2) +/* 99DE30 802414A0 8C420034 */ lw $v0, 0x34($v0) +/* 99DE34 802414A4 54400005 */ bnel $v0, $zero, .L802414BC +/* 99DE38 802414A8 2402FDFF */ addiu $v0, $zero, -0x201 +/* 99DE3C 802414AC 34620200 */ ori $v0, $v1, 0x200 +/* 99DE40 802414B0 2403FFF7 */ addiu $v1, $zero, -9 +/* 99DE44 802414B4 08090531 */ j .L802414C4 +/* 99DE48 802414B8 00431024 */ and $v0, $v0, $v1 +.L802414BC: +/* 99DE4C 802414BC 00621024 */ and $v0, $v1, $v0 +/* 99DE50 802414C0 34420008 */ ori $v0, $v0, 8 +.L802414C4: +/* 99DE54 802414C4 AE020000 */ sw $v0, ($s0) +/* 99DE58 802414C8 8E4200B0 */ lw $v0, 0xb0($s2) +/* 99DE5C 802414CC 30420004 */ andi $v0, $v0, 4 +/* 99DE60 802414D0 10400009 */ beqz $v0, .L802414F8 +/* 99DE64 802414D4 24020063 */ addiu $v0, $zero, 0x63 +/* 99DE68 802414D8 AE820070 */ sw $v0, 0x70($s4) +/* 99DE6C 802414DC 2402000F */ addiu $v0, $zero, 0xf +/* 99DE70 802414E0 AE820074 */ sw $v0, 0x74($s4) +/* 99DE74 802414E4 8E4200B0 */ lw $v0, 0xb0($s2) +/* 99DE78 802414E8 2403FFFB */ addiu $v1, $zero, -5 +/* 99DE7C 802414EC 00431024 */ and $v0, $v0, $v1 +/* 99DE80 802414F0 08090549 */ j .L80241524 +/* 99DE84 802414F4 AE4200B0 */ sw $v0, 0xb0($s2) +.L802414F8: +/* 99DE88 802414F8 8E420000 */ lw $v0, ($s2) +/* 99DE8C 802414FC 3C034000 */ lui $v1, 0x4000 +/* 99DE90 80241500 00431024 */ and $v0, $v0, $v1 +/* 99DE94 80241504 10400007 */ beqz $v0, .L80241524 +/* 99DE98 80241508 3C03BFFF */ lui $v1, 0xbfff +/* 99DE9C 8024150C 2402000C */ addiu $v0, $zero, 0xc +/* 99DEA0 80241510 AE820070 */ sw $v0, 0x70($s4) +/* 99DEA4 80241514 8E420000 */ lw $v0, ($s2) +/* 99DEA8 80241518 3463FFFF */ ori $v1, $v1, 0xffff +/* 99DEAC 8024151C 00431024 */ and $v0, $v0, $v1 +/* 99DEB0 80241520 AE420000 */ sw $v0, ($s2) +.L80241524: +/* 99DEB4 80241524 8E830070 */ lw $v1, 0x70($s4) +/* 99DEB8 80241528 2C620064 */ sltiu $v0, $v1, 0x64 +/* 99DEBC 8024152C 10400036 */ beqz $v0, .L80241608 +/* 99DEC0 80241530 00031080 */ sll $v0, $v1, 2 +/* 99DEC4 80241534 3C018024 */ lui $at, 0x8024 +/* 99DEC8 80241538 00220821 */ addu $at, $at, $v0 +/* 99DECC 8024153C 8C2244B8 */ lw $v0, 0x44b8($at) +/* 99DED0 80241540 00400008 */ jr $v0 +/* 99DED4 80241544 00000000 */ nop +/* 99DED8 80241548 0280202D */ daddu $a0, $s4, $zero +/* 99DEDC 8024154C 0260282D */ daddu $a1, $s3, $zero +/* 99DEE0 80241550 0C0902F1 */ jal func_80240BC4 +/* 99DEE4 80241554 02A0302D */ daddu $a2, $s5, $zero +/* 99DEE8 80241558 0280202D */ daddu $a0, $s4, $zero +/* 99DEEC 8024155C 0260282D */ daddu $a1, $s3, $zero +/* 99DEF0 80241560 0C09031E */ jal func_80240C78 +/* 99DEF4 80241564 02A0302D */ daddu $a2, $s5, $zero +/* 99DEF8 80241568 08090582 */ j .L80241608 +/* 99DEFC 8024156C 00000000 */ nop +/* 99DF00 80241570 0280202D */ daddu $a0, $s4, $zero +/* 99DF04 80241574 0260282D */ daddu $a1, $s3, $zero +/* 99DF08 80241578 0C090366 */ jal func_80240D98 +/* 99DF0C 8024157C 02A0302D */ daddu $a2, $s5, $zero +/* 99DF10 80241580 0280202D */ daddu $a0, $s4, $zero +/* 99DF14 80241584 0260282D */ daddu $a1, $s3, $zero +/* 99DF18 80241588 0C09037E */ jal func_80240DF8 +/* 99DF1C 8024158C 02A0302D */ daddu $a2, $s5, $zero +/* 99DF20 80241590 08090582 */ j .L80241608 +/* 99DF24 80241594 00000000 */ nop +/* 99DF28 80241598 0280202D */ daddu $a0, $s4, $zero +/* 99DF2C 8024159C 0260282D */ daddu $a1, $s3, $zero +/* 99DF30 802415A0 0C09039C */ jal func_80240E70 +/* 99DF34 802415A4 02A0302D */ daddu $a2, $s5, $zero +/* 99DF38 802415A8 0280202D */ daddu $a0, $s4, $zero +/* 99DF3C 802415AC 0260282D */ daddu $a1, $s3, $zero +/* 99DF40 802415B0 0C0903E8 */ jal func_80240FA0 +/* 99DF44 802415B4 02A0302D */ daddu $a2, $s5, $zero +/* 99DF48 802415B8 08090582 */ j .L80241608 +/* 99DF4C 802415BC 00000000 */ nop +/* 99DF50 802415C0 0280202D */ daddu $a0, $s4, $zero +/* 99DF54 802415C4 0260282D */ daddu $a1, $s3, $zero +/* 99DF58 802415C8 0C09042F */ jal func_802410BC +/* 99DF5C 802415CC 02A0302D */ daddu $a2, $s5, $zero +/* 99DF60 802415D0 08090582 */ j .L80241608 +/* 99DF64 802415D4 00000000 */ nop +/* 99DF68 802415D8 0280202D */ daddu $a0, $s4, $zero +/* 99DF6C 802415DC 0260282D */ daddu $a1, $s3, $zero +/* 99DF70 802415E0 0C090441 */ jal func_80241104 +/* 99DF74 802415E4 02A0302D */ daddu $a2, $s5, $zero +/* 99DF78 802415E8 0280202D */ daddu $a0, $s4, $zero +/* 99DF7C 802415EC 0260282D */ daddu $a1, $s3, $zero +/* 99DF80 802415F0 0C09046C */ jal func_802411B0 +/* 99DF84 802415F4 02A0302D */ daddu $a2, $s5, $zero +/* 99DF88 802415F8 08090582 */ j .L80241608 +/* 99DF8C 802415FC 00000000 */ nop +/* 99DF90 80241600 0C0129CF */ jal func_8004A73C +/* 99DF94 80241604 0280202D */ daddu $a0, $s4, $zero +.L80241608: +/* 99DF98 80241608 8FBF0048 */ lw $ra, 0x48($sp) +/* 99DF9C 8024160C 8FB50044 */ lw $s5, 0x44($sp) +/* 99DFA0 80241610 8FB40040 */ lw $s4, 0x40($sp) +/* 99DFA4 80241614 8FB3003C */ lw $s3, 0x3c($sp) +/* 99DFA8 80241618 8FB20038 */ lw $s2, 0x38($sp) +/* 99DFAC 8024161C 8FB10034 */ lw $s1, 0x34($sp) +/* 99DFB0 80241620 8FB00030 */ lw $s0, 0x30($sp) +/* 99DFB4 80241624 0000102D */ daddu $v0, $zero, $zero +/* 99DFB8 80241628 03E00008 */ jr $ra +/* 99DFBC 8024162C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_01/func_80241630.s b/asm/nonmatchings/world/area_trd/trd_01/func_80241630.s new file mode 100644 index 0000000000..ae944517e6 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_01/func_80241630.s @@ -0,0 +1,40 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241630 +/* 99DFC0 80241630 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 99DFC4 80241634 0080102D */ daddu $v0, $a0, $zero +/* 99DFC8 80241638 AFBF0014 */ sw $ra, 0x14($sp) +/* 99DFCC 8024163C AFB00010 */ sw $s0, 0x10($sp) +/* 99DFD0 80241640 8C44014C */ lw $a0, 0x14c($v0) +/* 99DFD4 80241644 0C00EAD2 */ jal get_npc_safe +/* 99DFD8 80241648 8C500148 */ lw $s0, 0x148($v0) +/* 99DFDC 8024164C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99DFE0 80241650 C4400038 */ lwc1 $f0, 0x38($v0) +/* 99DFE4 80241654 4600008D */ trunc.w.s $f2, $f0 +/* 99DFE8 80241658 E4620000 */ swc1 $f2, ($v1) +/* 99DFEC 8024165C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99DFF0 80241660 C440003C */ lwc1 $f0, 0x3c($v0) +/* 99DFF4 80241664 4600008D */ trunc.w.s $f2, $f0 +/* 99DFF8 80241668 E4620004 */ swc1 $f2, 4($v1) +/* 99DFFC 8024166C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99E000 80241670 C4400040 */ lwc1 $f0, 0x40($v0) +/* 99E004 80241674 4600008D */ trunc.w.s $f2, $f0 +/* 99E008 80241678 E4620008 */ swc1 $f2, 8($v1) +/* 99E00C 8024167C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99E010 80241680 C4400038 */ lwc1 $f0, 0x38($v0) +/* 99E014 80241684 4600008D */ trunc.w.s $f2, $f0 +/* 99E018 80241688 E462001C */ swc1 $f2, 0x1c($v1) +/* 99E01C 8024168C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99E020 80241690 C440003C */ lwc1 $f0, 0x3c($v0) +/* 99E024 80241694 4600008D */ trunc.w.s $f2, $f0 +/* 99E028 80241698 E4620020 */ swc1 $f2, 0x20($v1) +/* 99E02C 8024169C 8E0300D0 */ lw $v1, 0xd0($s0) +/* 99E030 802416A0 C4400040 */ lwc1 $f0, 0x40($v0) +/* 99E034 802416A4 4600008D */ trunc.w.s $f2, $f0 +/* 99E038 802416A8 E4620024 */ swc1 $f2, 0x24($v1) +/* 99E03C 802416AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 99E040 802416B0 8FB00010 */ lw $s0, 0x10($sp) +/* 99E044 802416B4 24020002 */ addiu $v0, $zero, 2 +/* 99E048 802416B8 03E00008 */ jr $ra +/* 99E04C 802416BC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240000_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240000_9A0FE0.s new file mode 100644 index 0000000000..cd1dc7a756 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240000_9A0FE0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9A0FE0 +/* 9A0FE0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A0FE4 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 9A0FE8 80240008 0C04417A */ jal get_entity_by_index +/* 9A0FEC 8024000C 8C840084 */ lw $a0, 0x84($a0) +/* 9A0FF0 80240010 0040182D */ daddu $v1, $v0, $zero +/* 9A0FF4 80240014 8C640000 */ lw $a0, ($v1) +/* 9A0FF8 80240018 3C050010 */ lui $a1, 0x10 +/* 9A0FFC 8024001C 00852025 */ or $a0, $a0, $a1 +/* 9A1000 80240020 AC640000 */ sw $a0, ($v1) +/* 9A1004 80240024 8FBF0010 */ lw $ra, 0x10($sp) +/* 9A1008 80240028 24020002 */ addiu $v0, $zero, 2 +/* 9A100C 8024002C 03E00008 */ jr $ra +/* 9A1010 80240030 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240034_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240034_9A0FE0.s new file mode 100644 index 0000000000..04ce4f76f0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240034_9A0FE0.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240034_9A1014 +/* 9A1014 80240034 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A1018 80240038 AFB20018 */ sw $s2, 0x18($sp) +/* 9A101C 8024003C 0080902D */ daddu $s2, $a0, $zero +/* 9A1020 80240040 AFBF001C */ sw $ra, 0x1c($sp) +/* 9A1024 80240044 AFB10014 */ sw $s1, 0x14($sp) +/* 9A1028 80240048 AFB00010 */ sw $s0, 0x10($sp) +/* 9A102C 8024004C 8E50000C */ lw $s0, 0xc($s2) +/* 9A1030 80240050 8E050000 */ lw $a1, ($s0) +/* 9A1034 80240054 0C0B1EAF */ jal get_variable +/* 9A1038 80240058 26100004 */ addiu $s0, $s0, 4 +/* 9A103C 8024005C 0C04417A */ jal get_entity_by_index +/* 9A1040 80240060 0040202D */ daddu $a0, $v0, $zero +/* 9A1044 80240064 8E050000 */ lw $a1, ($s0) +/* 9A1048 80240068 26100004 */ addiu $s0, $s0, 4 +/* 9A104C 8024006C 0040882D */ daddu $s1, $v0, $zero +/* 9A1050 80240070 C6200048 */ lwc1 $f0, 0x48($s1) +/* 9A1054 80240074 4600008D */ trunc.w.s $f2, $f0 +/* 9A1058 80240078 44061000 */ mfc1 $a2, $f2 +/* 9A105C 8024007C 0C0B2026 */ jal set_variable +/* 9A1060 80240080 0240202D */ daddu $a0, $s2, $zero +/* 9A1064 80240084 8E050000 */ lw $a1, ($s0) +/* 9A1068 80240088 26100004 */ addiu $s0, $s0, 4 +/* 9A106C 8024008C C620004C */ lwc1 $f0, 0x4c($s1) +/* 9A1070 80240090 4600008D */ trunc.w.s $f2, $f0 +/* 9A1074 80240094 44061000 */ mfc1 $a2, $f2 +/* 9A1078 80240098 0C0B2026 */ jal set_variable +/* 9A107C 8024009C 0240202D */ daddu $a0, $s2, $zero +/* 9A1080 802400A0 C6200050 */ lwc1 $f0, 0x50($s1) +/* 9A1084 802400A4 8E050000 */ lw $a1, ($s0) +/* 9A1088 802400A8 4600008D */ trunc.w.s $f2, $f0 +/* 9A108C 802400AC 44061000 */ mfc1 $a2, $f2 +/* 9A1090 802400B0 0C0B2026 */ jal set_variable +/* 9A1094 802400B4 0240202D */ daddu $a0, $s2, $zero +/* 9A1098 802400B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A109C 802400BC 8FB20018 */ lw $s2, 0x18($sp) +/* 9A10A0 802400C0 8FB10014 */ lw $s1, 0x14($sp) +/* 9A10A4 802400C4 8FB00010 */ lw $s0, 0x10($sp) +/* 9A10A8 802400C8 24020002 */ addiu $v0, $zero, 2 +/* 9A10AC 802400CC 03E00008 */ jr $ra +/* 9A10B0 802400D0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9A10B4 802400D4 00000000 */ nop +/* 9A10B8 802400D8 00000000 */ nop +/* 9A10BC 802400DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_802400E0.s b/asm/nonmatchings/world/area_trd/trd_02/func_802400E0.s new file mode 100644 index 0000000000..e8c19e3b33 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_802400E0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400E0 +/* 9A10C0 802400E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A10C4 802400E4 AFB20018 */ sw $s2, 0x18($sp) +/* 9A10C8 802400E8 0080902D */ daddu $s2, $a0, $zero +/* 9A10CC 802400EC AFBF001C */ sw $ra, 0x1c($sp) +/* 9A10D0 802400F0 AFB10014 */ sw $s1, 0x14($sp) +/* 9A10D4 802400F4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A10D8 802400F8 8E510148 */ lw $s1, 0x148($s2) +/* 9A10DC 802400FC 0C00EABB */ jal get_npc_unsafe +/* 9A10E0 80240100 86240008 */ lh $a0, 8($s1) +/* 9A10E4 80240104 0040802D */ daddu $s0, $v0, $zero +/* 9A10E8 80240108 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A10EC 8024010C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A10F0 80240110 8C630020 */ lw $v1, 0x20($v1) +/* 9A10F4 80240114 AE030028 */ sw $v1, 0x28($s0) +/* 9A10F8 80240118 96220076 */ lhu $v0, 0x76($s1) +/* 9A10FC 8024011C A602008E */ sh $v0, 0x8e($s0) +/* 9A1100 80240120 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A1104 80240124 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A1108 80240128 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A110C 8024012C 8C460028 */ lw $a2, 0x28($v0) +/* 9A1110 80240130 0C00A720 */ jal atan2 +/* 9A1114 80240134 8C470030 */ lw $a3, 0x30($v0) +/* 9A1118 80240138 2402000D */ addiu $v0, $zero, 0xd +/* 9A111C 8024013C E600000C */ swc1 $f0, 0xc($s0) +/* 9A1120 80240140 AE420070 */ sw $v0, 0x70($s2) +/* 9A1124 80240144 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A1128 80240148 8FB20018 */ lw $s2, 0x18($sp) +/* 9A112C 8024014C 8FB10014 */ lw $s1, 0x14($sp) +/* 9A1130 80240150 8FB00010 */ lw $s0, 0x10($sp) +/* 9A1134 80240154 03E00008 */ jr $ra +/* 9A1138 80240158 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_8024015C.s b/asm/nonmatchings/world/area_trd/trd_02/func_8024015C.s new file mode 100644 index 0000000000..728730fb8e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_8024015C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024015C +/* 9A113C 8024015C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A1140 80240160 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A1144 80240164 0080982D */ daddu $s3, $a0, $zero +/* 9A1148 80240168 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A114C 8024016C AFB20018 */ sw $s2, 0x18($sp) +/* 9A1150 80240170 AFB10014 */ sw $s1, 0x14($sp) +/* 9A1154 80240174 AFB00010 */ sw $s0, 0x10($sp) +/* 9A1158 80240178 8E710148 */ lw $s1, 0x148($s3) +/* 9A115C 8024017C 86240008 */ lh $a0, 8($s1) +/* 9A1160 80240180 0C00EABB */ jal get_npc_unsafe +/* 9A1164 80240184 00A0902D */ daddu $s2, $a1, $zero +/* 9A1168 80240188 0040802D */ daddu $s0, $v0, $zero +/* 9A116C 8024018C 8602008E */ lh $v0, 0x8e($s0) +/* 9A1170 80240190 9603008E */ lhu $v1, 0x8e($s0) +/* 9A1174 80240194 18400005 */ blez $v0, .L802401AC +/* 9A1178 80240198 2462FFFF */ addiu $v0, $v1, -1 +/* 9A117C 8024019C A602008E */ sh $v0, 0x8e($s0) +/* 9A1180 802401A0 00021400 */ sll $v0, $v0, 0x10 +/* 9A1184 802401A4 1C400033 */ bgtz $v0, .L80240274 +/* 9A1188 802401A8 00000000 */ nop +.L802401AC: +/* 9A118C 802401AC 8602008C */ lh $v0, 0x8c($s0) +/* 9A1190 802401B0 14400030 */ bnez $v0, .L80240274 +/* 9A1194 802401B4 00000000 */ nop +/* 9A1198 802401B8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A119C 802401BC 8C420024 */ lw $v0, 0x24($v0) +/* 9A11A0 802401C0 AE020028 */ sw $v0, 0x28($s0) +/* 9A11A4 802401C4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9A11A8 802401C8 E6000018 */ swc1 $f0, 0x18($s0) +/* 9A11AC 802401CC 8E230088 */ lw $v1, 0x88($s1) +/* 9A11B0 802401D0 24020005 */ addiu $v0, $zero, 5 +/* 9A11B4 802401D4 10620005 */ beq $v1, $v0, .L802401EC +/* 9A11B8 802401D8 00000000 */ nop +/* 9A11BC 802401DC 10600003 */ beqz $v1, .L802401EC +/* 9A11C0 802401E0 24020001 */ addiu $v0, $zero, 1 +/* 9A11C4 802401E4 14620006 */ bne $v1, $v0, .L80240200 +/* 9A11C8 802401E8 00000000 */ nop +.L802401EC: +/* 9A11CC 802401EC 8E220084 */ lw $v0, 0x84($s1) +/* 9A11D0 802401F0 00021FC2 */ srl $v1, $v0, 0x1f +/* 9A11D4 802401F4 00431021 */ addu $v0, $v0, $v1 +/* 9A11D8 802401F8 00021043 */ sra $v0, $v0, 1 +/* 9A11DC 802401FC A60200A8 */ sh $v0, 0xa8($s0) +.L80240200: +/* 9A11E0 80240200 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A11E4 80240204 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A11E8 80240208 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A11EC 8024020C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A11F0 80240210 8C460028 */ lw $a2, 0x28($v0) +/* 9A11F4 80240214 0C00A7B5 */ jal dist2D +/* 9A11F8 80240218 8C470030 */ lw $a3, 0x30($v0) +/* 9A11FC 8024021C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9A1200 80240220 46020003 */ div.s $f0, $f0, $f2 +/* 9A1204 80240224 3C018024 */ lui $at, 0x8024 +/* 9A1208 80240228 D42232E0 */ ldc1 $f2, 0x32e0($at) +/* 9A120C 8024022C 46000021 */ cvt.d.s $f0, $f0 +/* 9A1210 80240230 46220000 */ add.d $f0, $f0, $f2 +/* 9A1214 80240234 4620010D */ trunc.w.d $f4, $f0 +/* 9A1218 80240238 44022000 */ mfc1 $v0, $f4 +/* 9A121C 8024023C 00000000 */ nop +/* 9A1220 80240240 A602008E */ sh $v0, 0x8e($s0) +/* 9A1224 80240244 00021400 */ sll $v0, $v0, 0x10 +/* 9A1228 80240248 8E230078 */ lw $v1, 0x78($s1) +/* 9A122C 8024024C 00021403 */ sra $v0, $v0, 0x10 +/* 9A1230 80240250 0043102A */ slt $v0, $v0, $v1 +/* 9A1234 80240254 10400003 */ beqz $v0, .L80240264 +/* 9A1238 80240258 00000000 */ nop +/* 9A123C 8024025C 9622007A */ lhu $v0, 0x7a($s1) +/* 9A1240 80240260 A602008E */ sh $v0, 0x8e($s0) +.L80240264: +/* 9A1244 80240264 8602008E */ lh $v0, 0x8e($s0) +/* 9A1248 80240268 AE22007C */ sw $v0, 0x7c($s1) +/* 9A124C 8024026C 2402000E */ addiu $v0, $zero, 0xe +/* 9A1250 80240270 AE620070 */ sw $v0, 0x70($s3) +.L80240274: +/* 9A1254 80240274 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A1258 80240278 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A125C 8024027C 8FB20018 */ lw $s2, 0x18($sp) +/* 9A1260 80240280 8FB10014 */ lw $s1, 0x14($sp) +/* 9A1264 80240284 8FB00010 */ lw $s0, 0x10($sp) +/* 9A1268 80240288 03E00008 */ jr $ra +/* 9A126C 8024028C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240290_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240290_9A0FE0.s new file mode 100644 index 0000000000..f6fe4c75bf --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240290_9A0FE0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240290_9A1270 +/* 9A1270 80240290 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A1274 80240294 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A1278 80240298 0080982D */ daddu $s3, $a0, $zero +/* 9A127C 8024029C AFBF0040 */ sw $ra, 0x40($sp) +/* 9A1280 802402A0 AFB20038 */ sw $s2, 0x38($sp) +/* 9A1284 802402A4 AFB10034 */ sw $s1, 0x34($sp) +/* 9A1288 802402A8 AFB00030 */ sw $s0, 0x30($sp) +/* 9A128C 802402AC 8E710148 */ lw $s1, 0x148($s3) +/* 9A1290 802402B0 0C00EABB */ jal get_npc_unsafe +/* 9A1294 802402B4 86240008 */ lh $a0, 8($s1) +/* 9A1298 802402B8 0040802D */ daddu $s0, $v0, $zero +/* 9A129C 802402BC 8E22007C */ lw $v0, 0x7c($s1) +/* 9A12A0 802402C0 8603008E */ lh $v1, 0x8e($s0) +/* 9A12A4 802402C4 2442FFFF */ addiu $v0, $v0, -1 +/* 9A12A8 802402C8 14620012 */ bne $v1, $v0, .L80240314 +/* 9A12AC 802402CC 00000000 */ nop +/* 9A12B0 802402D0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A12B4 802402D4 4600020D */ trunc.w.s $f8, $f0 +/* 9A12B8 802402D8 44024000 */ mfc1 $v0, $f8 +/* 9A12BC 802402DC 00000000 */ nop +/* 9A12C0 802402E0 A6220010 */ sh $v0, 0x10($s1) +/* 9A12C4 802402E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9A12C8 802402E8 4600020D */ trunc.w.s $f8, $f0 +/* 9A12CC 802402EC 44024000 */ mfc1 $v0, $f8 +/* 9A12D0 802402F0 00000000 */ nop +/* 9A12D4 802402F4 A6220012 */ sh $v0, 0x12($s1) +/* 9A12D8 802402F8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9A12DC 802402FC 24020001 */ addiu $v0, $zero, 1 +/* 9A12E0 80240300 A2220007 */ sb $v0, 7($s1) +/* 9A12E4 80240304 4600020D */ trunc.w.s $f8, $f0 +/* 9A12E8 80240308 44024000 */ mfc1 $v0, $f8 +/* 9A12EC 8024030C 00000000 */ nop +/* 9A12F0 80240310 A6220014 */ sh $v0, 0x14($s1) +.L80240314: +/* 9A12F4 80240314 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A12F8 80240318 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9A12FC 8024031C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9A1300 80240320 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9A1304 80240324 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9A1308 80240328 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9A130C 8024032C E7A40028 */ swc1 $f4, 0x28($sp) +/* 9A1310 80240330 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9A1314 80240334 C600000C */ lwc1 $f0, 0xc($s0) +/* 9A1318 80240338 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9A131C 8024033C 860200A8 */ lh $v0, 0xa8($s0) +/* 9A1320 80240340 27A50020 */ addiu $a1, $sp, 0x20 +/* 9A1324 80240344 44820000 */ mtc1 $v0, $f0 +/* 9A1328 80240348 00000000 */ nop +/* 9A132C 8024034C 46800020 */ cvt.s.w $f0, $f0 +/* 9A1330 80240350 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9A1334 80240354 860200A6 */ lh $v0, 0xa6($s0) +/* 9A1338 80240358 27A60024 */ addiu $a2, $sp, 0x24 +/* 9A133C 8024035C 44820000 */ mtc1 $v0, $f0 +/* 9A1340 80240360 00000000 */ nop +/* 9A1344 80240364 46800020 */ cvt.s.w $f0, $f0 +/* 9A1348 80240368 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9A134C 8024036C 8E040080 */ lw $a0, 0x80($s0) +/* 9A1350 80240370 0C037711 */ jal func_800DDC44 +/* 9A1354 80240374 27A70028 */ addiu $a3, $sp, 0x28 +/* 9A1358 80240378 0040902D */ daddu $s2, $v0, $zero +/* 9A135C 8024037C 16400005 */ bnez $s2, .L80240394 +/* 9A1360 80240380 00000000 */ nop +/* 9A1364 80240384 8E050018 */ lw $a1, 0x18($s0) +/* 9A1368 80240388 8E06000C */ lw $a2, 0xc($s0) +/* 9A136C 8024038C 0C00EA95 */ jal npc_move_heading +/* 9A1370 80240390 0200202D */ daddu $a0, $s0, $zero +.L80240394: +/* 9A1374 80240394 8602008E */ lh $v0, 0x8e($s0) +/* 9A1378 80240398 9603008E */ lhu $v1, 0x8e($s0) +/* 9A137C 8024039C 18400007 */ blez $v0, .L802403BC +/* 9A1380 802403A0 2462FFFF */ addiu $v0, $v1, -1 +/* 9A1384 802403A4 A602008E */ sh $v0, 0x8e($s0) +/* 9A1388 802403A8 00021400 */ sll $v0, $v0, 0x10 +/* 9A138C 802403AC 18400003 */ blez $v0, .L802403BC +/* 9A1390 802403B0 00000000 */ nop +/* 9A1394 802403B4 12400008 */ beqz $s2, .L802403D8 +/* 9A1398 802403B8 00000000 */ nop +.L802403BC: +/* 9A139C 802403BC 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A13A0 802403C0 A2200007 */ sb $zero, 7($s1) +/* 9A13A4 802403C4 8C420028 */ lw $v0, 0x28($v0) +/* 9A13A8 802403C8 A600008E */ sh $zero, 0x8e($s0) +/* 9A13AC 802403CC AE020028 */ sw $v0, 0x28($s0) +/* 9A13B0 802403D0 2402000F */ addiu $v0, $zero, 0xf +/* 9A13B4 802403D4 AE620070 */ sw $v0, 0x70($s3) +.L802403D8: +/* 9A13B8 802403D8 8FBF0040 */ lw $ra, 0x40($sp) +/* 9A13BC 802403DC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A13C0 802403E0 8FB20038 */ lw $s2, 0x38($sp) +/* 9A13C4 802403E4 8FB10034 */ lw $s1, 0x34($sp) +/* 9A13C8 802403E8 8FB00030 */ lw $s0, 0x30($sp) +/* 9A13CC 802403EC 03E00008 */ jr $ra +/* 9A13D0 802403F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_802403F4.s b/asm/nonmatchings/world/area_trd/trd_02/func_802403F4.s new file mode 100644 index 0000000000..05705318a7 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_802403F4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403F4 +/* 9A13D4 802403F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A13D8 802403F8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A13DC 802403FC 0080882D */ daddu $s1, $a0, $zero +/* 9A13E0 80240400 AFBF0018 */ sw $ra, 0x18($sp) +/* 9A13E4 80240404 AFB00010 */ sw $s0, 0x10($sp) +/* 9A13E8 80240408 8E300148 */ lw $s0, 0x148($s1) +/* 9A13EC 8024040C 0C00EABB */ jal get_npc_unsafe +/* 9A13F0 80240410 86040008 */ lh $a0, 8($s0) +/* 9A13F4 80240414 0040202D */ daddu $a0, $v0, $zero +/* 9A13F8 80240418 9482008E */ lhu $v0, 0x8e($a0) +/* 9A13FC 8024041C 24030003 */ addiu $v1, $zero, 3 +/* 9A1400 80240420 24420001 */ addiu $v0, $v0, 1 +/* 9A1404 80240424 A482008E */ sh $v0, 0x8e($a0) +/* 9A1408 80240428 00021400 */ sll $v0, $v0, 0x10 +/* 9A140C 8024042C 00021403 */ sra $v0, $v0, 0x10 +/* 9A1410 80240430 14430003 */ bne $v0, $v1, .L80240440 +/* 9A1414 80240434 00000000 */ nop +/* 9A1418 80240438 96020086 */ lhu $v0, 0x86($s0) +/* 9A141C 8024043C A48200A8 */ sh $v0, 0xa8($a0) +.L80240440: +/* 9A1420 80240440 8482008E */ lh $v0, 0x8e($a0) +/* 9A1424 80240444 8E030080 */ lw $v1, 0x80($s0) +/* 9A1428 80240448 0043102A */ slt $v0, $v0, $v1 +/* 9A142C 8024044C 14400004 */ bnez $v0, .L80240460 +/* 9A1430 80240450 00000000 */ nop +/* 9A1434 80240454 96020086 */ lhu $v0, 0x86($s0) +/* 9A1438 80240458 A48200A8 */ sh $v0, 0xa8($a0) +/* 9A143C 8024045C AE200070 */ sw $zero, 0x70($s1) +.L80240460: +/* 9A1440 80240460 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A1444 80240464 8FB10014 */ lw $s1, 0x14($sp) +/* 9A1448 80240468 8FB00010 */ lw $s0, 0x10($sp) +/* 9A144C 8024046C 03E00008 */ jr $ra +/* 9A1450 80240470 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240474.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240474.s new file mode 100644 index 0000000000..ed15a970ff --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240474.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240474 +/* 9A1454 80240474 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9A1458 80240478 AFB3005C */ sw $s3, 0x5c($sp) +/* 9A145C 8024047C 0080982D */ daddu $s3, $a0, $zero +/* 9A1460 80240480 AFBF0068 */ sw $ra, 0x68($sp) +/* 9A1464 80240484 AFB50064 */ sw $s5, 0x64($sp) +/* 9A1468 80240488 AFB40060 */ sw $s4, 0x60($sp) +/* 9A146C 8024048C AFB20058 */ sw $s2, 0x58($sp) +/* 9A1470 80240490 AFB10054 */ sw $s1, 0x54($sp) +/* 9A1474 80240494 AFB00050 */ sw $s0, 0x50($sp) +/* 9A1478 80240498 8E710148 */ lw $s1, 0x148($s3) +/* 9A147C 8024049C 86240008 */ lh $a0, 8($s1) +/* 9A1480 802404A0 0C00EABB */ jal get_npc_unsafe +/* 9A1484 802404A4 00A0802D */ daddu $s0, $a1, $zero +/* 9A1488 802404A8 8E63000C */ lw $v1, 0xc($s3) +/* 9A148C 802404AC 0260202D */ daddu $a0, $s3, $zero +/* 9A1490 802404B0 8C650000 */ lw $a1, ($v1) +/* 9A1494 802404B4 0C0B1EAF */ jal get_variable +/* 9A1498 802404B8 0040902D */ daddu $s2, $v0, $zero +/* 9A149C 802404BC AFA00028 */ sw $zero, 0x28($sp) +/* 9A14A0 802404C0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A14A4 802404C4 8C630030 */ lw $v1, 0x30($v1) +/* 9A14A8 802404C8 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A14AC 802404CC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A14B0 802404D0 8C63001C */ lw $v1, 0x1c($v1) +/* 9A14B4 802404D4 AFA30030 */ sw $v1, 0x30($sp) +/* 9A14B8 802404D8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A14BC 802404DC 8C630024 */ lw $v1, 0x24($v1) +/* 9A14C0 802404E0 AFA30034 */ sw $v1, 0x34($sp) +/* 9A14C4 802404E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A14C8 802404E8 8C630028 */ lw $v1, 0x28($v1) +/* 9A14CC 802404EC 27B50028 */ addiu $s5, $sp, 0x28 +/* 9A14D0 802404F0 AFA30038 */ sw $v1, 0x38($sp) +/* 9A14D4 802404F4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A14D8 802404F8 3C0142C8 */ lui $at, 0x42c8 +/* 9A14DC 802404FC 44810000 */ mtc1 $at, $f0 +/* 9A14E0 80240500 8C63002C */ lw $v1, 0x2c($v1) +/* 9A14E4 80240504 0040A02D */ daddu $s4, $v0, $zero +/* 9A14E8 80240508 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9A14EC 8024050C A7A00044 */ sh $zero, 0x44($sp) +/* 9A14F0 80240510 12000009 */ beqz $s0, .L80240538 +/* 9A14F4 80240514 AFA3003C */ sw $v1, 0x3c($sp) +/* 9A14F8 80240518 864300A8 */ lh $v1, 0xa8($s2) +/* 9A14FC 8024051C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A1500 80240520 AE20008C */ sw $zero, 0x8c($s1) +/* 9A1504 80240524 A22000B5 */ sb $zero, 0xb5($s1) +/* 9A1508 80240528 34420008 */ ori $v0, $v0, 8 +/* 9A150C 8024052C AE230084 */ sw $v1, 0x84($s1) +/* 9A1510 80240530 08090152 */ j .L80240548 +/* 9A1514 80240534 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240538: +/* 9A1518 80240538 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A151C 8024053C 30420004 */ andi $v0, $v0, 4 +/* 9A1520 80240540 10400047 */ beqz $v0, .L80240660 +/* 9A1524 80240544 00000000 */ nop +.L80240548: +/* 9A1528 80240548 AE600070 */ sw $zero, 0x70($s3) +/* 9A152C 8024054C A640008E */ sh $zero, 0x8e($s2) +/* 9A1530 80240550 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A1534 80240554 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A1538 80240558 A2200007 */ sb $zero, 7($s1) +/* 9A153C 8024055C 8E420000 */ lw $v0, ($s2) +/* 9A1540 80240560 8C630000 */ lw $v1, ($v1) +/* 9A1544 80240564 00441024 */ and $v0, $v0, $a0 +/* 9A1548 80240568 AE420000 */ sw $v0, ($s2) +/* 9A154C 8024056C AE430028 */ sw $v1, 0x28($s2) +/* 9A1550 80240570 96220086 */ lhu $v0, 0x86($s1) +/* 9A1554 80240574 A64200A8 */ sh $v0, 0xa8($s2) +/* 9A1558 80240578 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A155C 8024057C AE200090 */ sw $zero, 0x90($s1) +/* 9A1560 80240580 8C420034 */ lw $v0, 0x34($v0) +/* 9A1564 80240584 14400006 */ bnez $v0, .L802405A0 +/* 9A1568 80240588 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9A156C 8024058C 8E420000 */ lw $v0, ($s2) +/* 9A1570 80240590 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A1574 80240594 34420200 */ ori $v0, $v0, 0x200 +/* 9A1578 80240598 0809016B */ j .L802405AC +/* 9A157C 8024059C 00431024 */ and $v0, $v0, $v1 +.L802405A0: +/* 9A1580 802405A0 8E420000 */ lw $v0, ($s2) +/* 9A1584 802405A4 00431024 */ and $v0, $v0, $v1 +/* 9A1588 802405A8 34420008 */ ori $v0, $v0, 8 +.L802405AC: +/* 9A158C 802405AC AE420000 */ sw $v0, ($s2) +/* 9A1590 802405B0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A1594 802405B4 30420004 */ andi $v0, $v0, 4 +/* 9A1598 802405B8 1040001E */ beqz $v0, .L80240634 +/* 9A159C 802405BC 24040002 */ addiu $a0, $zero, 2 +/* 9A15A0 802405C0 0240282D */ daddu $a1, $s2, $zero +/* 9A15A4 802405C4 0000302D */ daddu $a2, $zero, $zero +/* 9A15A8 802405C8 24020063 */ addiu $v0, $zero, 0x63 +/* 9A15AC 802405CC AE620070 */ sw $v0, 0x70($s3) +/* 9A15B0 802405D0 AE600074 */ sw $zero, 0x74($s3) +/* 9A15B4 802405D4 864300A8 */ lh $v1, 0xa8($s2) +/* 9A15B8 802405D8 3C013F80 */ lui $at, 0x3f80 +/* 9A15BC 802405DC 44810000 */ mtc1 $at, $f0 +/* 9A15C0 802405E0 3C014000 */ lui $at, 0x4000 +/* 9A15C4 802405E4 44811000 */ mtc1 $at, $f2 +/* 9A15C8 802405E8 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A15CC 802405EC 44812000 */ mtc1 $at, $f4 +/* 9A15D0 802405F0 24020028 */ addiu $v0, $zero, 0x28 +/* 9A15D4 802405F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A15D8 802405F8 44833000 */ mtc1 $v1, $f6 +/* 9A15DC 802405FC 00000000 */ nop +/* 9A15E0 80240600 468031A0 */ cvt.s.w $f6, $f6 +/* 9A15E4 80240604 44073000 */ mfc1 $a3, $f6 +/* 9A15E8 80240608 27A20048 */ addiu $v0, $sp, 0x48 +/* 9A15EC 8024060C AFA20020 */ sw $v0, 0x20($sp) +/* 9A15F0 80240610 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A15F4 80240614 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A15F8 80240618 0C01BFA4 */ jal fx_emote +/* 9A15FC 8024061C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A1600 80240620 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A1604 80240624 2403FFFB */ addiu $v1, $zero, -5 +/* 9A1608 80240628 00431024 */ and $v0, $v0, $v1 +/* 9A160C 8024062C 08090198 */ j .L80240660 +/* 9A1610 80240630 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240634: +/* 9A1614 80240634 8E220000 */ lw $v0, ($s1) +/* 9A1618 80240638 3C034000 */ lui $v1, 0x4000 +/* 9A161C 8024063C 00431024 */ and $v0, $v0, $v1 +/* 9A1620 80240640 10400007 */ beqz $v0, .L80240660 +/* 9A1624 80240644 3C03BFFF */ lui $v1, 0xbfff +/* 9A1628 80240648 2402000C */ addiu $v0, $zero, 0xc +/* 9A162C 8024064C AE620070 */ sw $v0, 0x70($s3) +/* 9A1630 80240650 8E220000 */ lw $v0, ($s1) +/* 9A1634 80240654 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A1638 80240658 00431024 */ and $v0, $v0, $v1 +/* 9A163C 8024065C AE220000 */ sw $v0, ($s1) +.L80240660: +/* 9A1640 80240660 8E220090 */ lw $v0, 0x90($s1) +/* 9A1644 80240664 1840000C */ blez $v0, .L80240698 +/* 9A1648 80240668 2442FFFF */ addiu $v0, $v0, -1 +/* 9A164C 8024066C 14400087 */ bnez $v0, .L8024088C +/* 9A1650 80240670 AE220090 */ sw $v0, 0x90($s1) +/* 9A1654 80240674 3C03FFAA */ lui $v1, 0xffaa +/* 9A1658 80240678 8E420028 */ lw $v0, 0x28($s2) +/* 9A165C 8024067C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9A1660 80240680 00431021 */ addu $v0, $v0, $v1 +/* 9A1664 80240684 2C420002 */ sltiu $v0, $v0, 2 +/* 9A1668 80240688 10400003 */ beqz $v0, .L80240698 +/* 9A166C 8024068C 3C020055 */ lui $v0, 0x55 +/* 9A1670 80240690 3442000C */ ori $v0, $v0, 0xc +/* 9A1674 80240694 AE420028 */ sw $v0, 0x28($s2) +.L80240698: +/* 9A1678 80240698 8E630070 */ lw $v1, 0x70($s3) +/* 9A167C 8024069C 2402000C */ addiu $v0, $zero, 0xc +/* 9A1680 802406A0 10620048 */ beq $v1, $v0, .L802407C4 +/* 9A1684 802406A4 2862000D */ slti $v0, $v1, 0xd +/* 9A1688 802406A8 1040000F */ beqz $v0, .L802406E8 +/* 9A168C 802406AC 24100001 */ addiu $s0, $zero, 1 +/* 9A1690 802406B0 1070001E */ beq $v1, $s0, .L8024072C +/* 9A1694 802406B4 28620002 */ slti $v0, $v1, 2 +/* 9A1698 802406B8 10400005 */ beqz $v0, .L802406D0 +/* 9A169C 802406BC 24020002 */ addiu $v0, $zero, 2 +/* 9A16A0 802406C0 10600015 */ beqz $v1, .L80240718 +/* 9A16A4 802406C4 0260202D */ daddu $a0, $s3, $zero +/* 9A16A8 802406C8 08090208 */ j .L80240820 +/* 9A16AC 802406CC 00000000 */ nop +.L802406D0: +/* 9A16B0 802406D0 1062001C */ beq $v1, $v0, .L80240744 +/* 9A16B4 802406D4 24020003 */ addiu $v0, $zero, 3 +/* 9A16B8 802406D8 10620035 */ beq $v1, $v0, .L802407B0 +/* 9A16BC 802406DC 0260202D */ daddu $a0, $s3, $zero +/* 9A16C0 802406E0 08090208 */ j .L80240820 +/* 9A16C4 802406E4 00000000 */ nop +.L802406E8: +/* 9A16C8 802406E8 2402000E */ addiu $v0, $zero, 0xe +/* 9A16CC 802406EC 1062003F */ beq $v1, $v0, .L802407EC +/* 9A16D0 802406F0 0062102A */ slt $v0, $v1, $v0 +/* 9A16D4 802406F4 14400038 */ bnez $v0, .L802407D8 +/* 9A16D8 802406F8 0260202D */ daddu $a0, $s3, $zero +/* 9A16DC 802406FC 2402000F */ addiu $v0, $zero, 0xf +/* 9A16E0 80240700 10620040 */ beq $v1, $v0, .L80240804 +/* 9A16E4 80240704 24020063 */ addiu $v0, $zero, 0x63 +/* 9A16E8 80240708 10620043 */ beq $v1, $v0, .L80240818 +/* 9A16EC 8024070C 00000000 */ nop +/* 9A16F0 80240710 08090208 */ j .L80240820 +/* 9A16F4 80240714 00000000 */ nop +.L80240718: +/* 9A16F8 80240718 0280282D */ daddu $a1, $s4, $zero +/* 9A16FC 8024071C 0C012568 */ jal func_800495A0 +/* 9A1700 80240720 02A0302D */ daddu $a2, $s5, $zero +/* 9A1704 80240724 96220086 */ lhu $v0, 0x86($s1) +/* 9A1708 80240728 A64200A8 */ sh $v0, 0xa8($s2) +.L8024072C: +/* 9A170C 8024072C 0260202D */ daddu $a0, $s3, $zero +/* 9A1710 80240730 0280282D */ daddu $a1, $s4, $zero +/* 9A1714 80240734 0C0125AE */ jal func_800496B8 +/* 9A1718 80240738 02A0302D */ daddu $a2, $s5, $zero +/* 9A171C 8024073C 08090208 */ j .L80240820 +/* 9A1720 80240740 00000000 */ nop +.L80240744: +/* 9A1724 80240744 0260202D */ daddu $a0, $s3, $zero +/* 9A1728 80240748 0280282D */ daddu $a1, $s4, $zero +/* 9A172C 8024074C 0C0126D1 */ jal func_80049B44 +/* 9A1730 80240750 02A0302D */ daddu $a2, $s5, $zero +/* 9A1734 80240754 8E230088 */ lw $v1, 0x88($s1) +/* 9A1738 80240758 24020006 */ addiu $v0, $zero, 6 +/* 9A173C 8024075C 14620014 */ bne $v1, $v0, .L802407B0 +/* 9A1740 80240760 0260202D */ daddu $a0, $s3, $zero +/* 9A1744 80240764 0C00A67F */ jal rand_int +/* 9A1748 80240768 24040064 */ addiu $a0, $zero, 0x64 +/* 9A174C 8024076C 28420021 */ slti $v0, $v0, 0x21 +/* 9A1750 80240770 5040000F */ beql $v0, $zero, .L802407B0 +/* 9A1754 80240774 0260202D */ daddu $a0, $s3, $zero +/* 9A1758 80240778 8E22008C */ lw $v0, 0x8c($s1) +/* 9A175C 8024077C 10400005 */ beqz $v0, .L80240794 +/* 9A1760 80240780 3C020055 */ lui $v0, 0x55 +/* 9A1764 80240784 3442002F */ ori $v0, $v0, 0x2f +/* 9A1768 80240788 AE20008C */ sw $zero, 0x8c($s1) +/* 9A176C 8024078C 080901E8 */ j .L802407A0 +/* 9A1770 80240790 A22000B5 */ sb $zero, 0xb5($s1) +.L80240794: +/* 9A1774 80240794 3442002E */ ori $v0, $v0, 0x2e +/* 9A1778 80240798 AE30008C */ sw $s0, 0x8c($s1) +/* 9A177C 8024079C A23000B5 */ sb $s0, 0xb5($s1) +.L802407A0: +/* 9A1780 802407A0 AE420028 */ sw $v0, 0x28($s2) +/* 9A1784 802407A4 24020007 */ addiu $v0, $zero, 7 +/* 9A1788 802407A8 08090223 */ j .L8024088C +/* 9A178C 802407AC AE220090 */ sw $v0, 0x90($s1) +.L802407B0: +/* 9A1790 802407B0 0280282D */ daddu $a1, $s4, $zero +/* 9A1794 802407B4 0C012701 */ jal func_80049C04 +/* 9A1798 802407B8 02A0302D */ daddu $a2, $s5, $zero +/* 9A179C 802407BC 08090208 */ j .L80240820 +/* 9A17A0 802407C0 00000000 */ nop +.L802407C4: +/* 9A17A4 802407C4 0260202D */ daddu $a0, $s3, $zero +/* 9A17A8 802407C8 0280282D */ daddu $a1, $s4, $zero +/* 9A17AC 802407CC 0C090038 */ jal func_802400E0 +/* 9A17B0 802407D0 02A0302D */ daddu $a2, $s5, $zero +/* 9A17B4 802407D4 0260202D */ daddu $a0, $s3, $zero +.L802407D8: +/* 9A17B8 802407D8 0280282D */ daddu $a1, $s4, $zero +/* 9A17BC 802407DC 0C090057 */ jal func_8024015C +/* 9A17C0 802407E0 02A0302D */ daddu $a2, $s5, $zero +/* 9A17C4 802407E4 08090208 */ j .L80240820 +/* 9A17C8 802407E8 00000000 */ nop +.L802407EC: +/* 9A17CC 802407EC 0260202D */ daddu $a0, $s3, $zero +/* 9A17D0 802407F0 0280282D */ daddu $a1, $s4, $zero +/* 9A17D4 802407F4 0C0900A4 */ jal func_80240290 +/* 9A17D8 802407F8 02A0302D */ daddu $a2, $s5, $zero +/* 9A17DC 802407FC 08090208 */ j .L80240820 +/* 9A17E0 80240800 00000000 */ nop +.L80240804: +/* 9A17E4 80240804 0280282D */ daddu $a1, $s4, $zero +/* 9A17E8 80240808 0C0900FD */ jal func_802403F4 +/* 9A17EC 8024080C 02A0302D */ daddu $a2, $s5, $zero +/* 9A17F0 80240810 08090208 */ j .L80240820 +/* 9A17F4 80240814 00000000 */ nop +.L80240818: +/* 9A17F8 80240818 0C0129CF */ jal func_8004A73C +/* 9A17FC 8024081C 0260202D */ daddu $a0, $s3, $zero +.L80240820: +/* 9A1800 80240820 8E230088 */ lw $v1, 0x88($s1) +/* 9A1804 80240824 24020006 */ addiu $v0, $zero, 6 +/* 9A1808 80240828 14620019 */ bne $v1, $v0, .L80240890 +/* 9A180C 8024082C 0000102D */ daddu $v0, $zero, $zero +/* 9A1810 80240830 8E22008C */ lw $v0, 0x8c($s1) +/* 9A1814 80240834 10400003 */ beqz $v0, .L80240844 +/* 9A1818 80240838 24020001 */ addiu $v0, $zero, 1 +/* 9A181C 8024083C 08090212 */ j .L80240848 +/* 9A1820 80240840 A22200B5 */ sb $v0, 0xb5($s1) +.L80240844: +/* 9A1824 80240844 A22000B5 */ sb $zero, 0xb5($s1) +.L80240848: +/* 9A1828 80240848 8E22008C */ lw $v0, 0x8c($s1) +/* 9A182C 8024084C 1040000F */ beqz $v0, .L8024088C +/* 9A1830 80240850 3C03FFAA */ lui $v1, 0xffaa +/* 9A1834 80240854 8E420028 */ lw $v0, 0x28($s2) +/* 9A1838 80240858 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9A183C 8024085C 00431821 */ addu $v1, $v0, $v1 +/* 9A1840 80240860 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9A1844 80240864 10400009 */ beqz $v0, .L8024088C +/* 9A1848 80240868 00031080 */ sll $v0, $v1, 2 +/* 9A184C 8024086C 3C018024 */ lui $at, 0x8024 +/* 9A1850 80240870 00220821 */ addu $at, $at, $v0 +/* 9A1854 80240874 8C2232E8 */ lw $v0, 0x32e8($at) +/* 9A1858 80240878 00400008 */ jr $v0 +/* 9A185C 8024087C 00000000 */ nop +/* 9A1860 80240880 8E420028 */ lw $v0, 0x28($s2) +/* 9A1864 80240884 24420001 */ addiu $v0, $v0, 1 +/* 9A1868 80240888 AE420028 */ sw $v0, 0x28($s2) +.L8024088C: +/* 9A186C 8024088C 0000102D */ daddu $v0, $zero, $zero +.L80240890: +/* 9A1870 80240890 8FBF0068 */ lw $ra, 0x68($sp) +/* 9A1874 80240894 8FB50064 */ lw $s5, 0x64($sp) +/* 9A1878 80240898 8FB40060 */ lw $s4, 0x60($sp) +/* 9A187C 8024089C 8FB3005C */ lw $s3, 0x5c($sp) +/* 9A1880 802408A0 8FB20058 */ lw $s2, 0x58($sp) +/* 9A1884 802408A4 8FB10054 */ lw $s1, 0x54($sp) +/* 9A1888 802408A8 8FB00050 */ lw $s0, 0x50($sp) +/* 9A188C 802408AC 03E00008 */ jr $ra +/* 9A1890 802408B0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_802408B4_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_802408B4_9A0FE0.s new file mode 100644 index 0000000000..f2ae9d0ae5 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_802408B4_9A0FE0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802408B4_9A1894 +/* 9A1894 802408B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A1898 802408B8 AFB50024 */ sw $s5, 0x24($sp) +/* 9A189C 802408BC 0080A82D */ daddu $s5, $a0, $zero +/* 9A18A0 802408C0 AFBF002C */ sw $ra, 0x2c($sp) +/* 9A18A4 802408C4 AFB60028 */ sw $s6, 0x28($sp) +/* 9A18A8 802408C8 AFB40020 */ sw $s4, 0x20($sp) +/* 9A18AC 802408CC AFB3001C */ sw $s3, 0x1c($sp) +/* 9A18B0 802408D0 AFB20018 */ sw $s2, 0x18($sp) +/* 9A18B4 802408D4 AFB10014 */ sw $s1, 0x14($sp) +/* 9A18B8 802408D8 AFB00010 */ sw $s0, 0x10($sp) +/* 9A18BC 802408DC F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9A18C0 802408E0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9A18C4 802408E4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9A18C8 802408E8 8EB30148 */ lw $s3, 0x148($s5) +/* 9A18CC 802408EC 86640008 */ lh $a0, 8($s3) +/* 9A18D0 802408F0 0C00EABB */ jal get_npc_unsafe +/* 9A18D4 802408F4 00A0B02D */ daddu $s6, $a1, $zero +/* 9A18D8 802408F8 0040A02D */ daddu $s4, $v0, $zero +/* 9A18DC 802408FC AEA00074 */ sw $zero, 0x74($s5) +/* 9A18E0 80240900 C6980038 */ lwc1 $f24, 0x38($s4) +/* 9A18E4 80240904 C6960040 */ lwc1 $f22, 0x40($s4) +/* 9A18E8 80240908 0000902D */ daddu $s2, $zero, $zero +/* 9A18EC 8024090C AEA00078 */ sw $zero, 0x78($s5) +/* 9A18F0 80240910 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9A18F4 80240914 8C620000 */ lw $v0, ($v1) +/* 9A18F8 80240918 3C0146FF */ lui $at, 0x46ff +/* 9A18FC 8024091C 3421FE00 */ ori $at, $at, 0xfe00 +/* 9A1900 80240920 4481A000 */ mtc1 $at, $f20 +/* 9A1904 80240924 18400018 */ blez $v0, .L80240988 +/* 9A1908 80240928 0240802D */ daddu $s0, $s2, $zero +/* 9A190C 8024092C 0240882D */ daddu $s1, $s2, $zero +.L80240930: +/* 9A1910 80240930 02231021 */ addu $v0, $s1, $v1 +/* 9A1914 80240934 4600C306 */ mov.s $f12, $f24 +/* 9A1918 80240938 C4440004 */ lwc1 $f4, 4($v0) +/* 9A191C 8024093C 46802120 */ cvt.s.w $f4, $f4 +/* 9A1920 80240940 44062000 */ mfc1 $a2, $f4 +/* 9A1924 80240944 C444000C */ lwc1 $f4, 0xc($v0) +/* 9A1928 80240948 46802120 */ cvt.s.w $f4, $f4 +/* 9A192C 8024094C 44072000 */ mfc1 $a3, $f4 +/* 9A1930 80240950 0C00A7B5 */ jal dist2D +/* 9A1934 80240954 4600B386 */ mov.s $f14, $f22 +/* 9A1938 80240958 4614003C */ c.lt.s $f0, $f20 +/* 9A193C 8024095C 00000000 */ nop +/* 9A1940 80240960 45000003 */ bc1f .L80240970 +/* 9A1944 80240964 2631000C */ addiu $s1, $s1, 0xc +/* 9A1948 80240968 46000506 */ mov.s $f20, $f0 +/* 9A194C 8024096C AEB20078 */ sw $s2, 0x78($s5) +.L80240970: +/* 9A1950 80240970 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9A1954 80240974 26100001 */ addiu $s0, $s0, 1 +/* 9A1958 80240978 8C620000 */ lw $v0, ($v1) +/* 9A195C 8024097C 0202102A */ slt $v0, $s0, $v0 +/* 9A1960 80240980 1440FFEB */ bnez $v0, .L80240930 +/* 9A1964 80240984 26520001 */ addiu $s2, $s2, 1 +.L80240988: +/* 9A1968 80240988 8E6200CC */ lw $v0, 0xcc($s3) +/* 9A196C 8024098C 8C420004 */ lw $v0, 4($v0) +/* 9A1970 80240990 AE820028 */ sw $v0, 0x28($s4) +/* 9A1974 80240994 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9A1978 80240998 8C42007C */ lw $v0, 0x7c($v0) +/* 9A197C 8024099C 04410004 */ bgez $v0, .L802409B0 +/* 9A1980 802409A0 00000000 */ nop +/* 9A1984 802409A4 C6C00000 */ lwc1 $f0, ($s6) +/* 9A1988 802409A8 08090274 */ j .L802409D0 +/* 9A198C 802409AC E6800018 */ swc1 $f0, 0x18($s4) +.L802409B0: +/* 9A1990 802409B0 3C018024 */ lui $at, 0x8024 +/* 9A1994 802409B4 D4223340 */ ldc1 $f2, 0x3340($at) +/* 9A1998 802409B8 44820000 */ mtc1 $v0, $f0 +/* 9A199C 802409BC 00000000 */ nop +/* 9A19A0 802409C0 46800021 */ cvt.d.w $f0, $f0 +/* 9A19A4 802409C4 46220003 */ div.d $f0, $f0, $f2 +/* 9A19A8 802409C8 46200020 */ cvt.s.d $f0, $f0 +/* 9A19AC 802409CC E6800018 */ swc1 $f0, 0x18($s4) +.L802409D0: +/* 9A19B0 802409D0 24020001 */ addiu $v0, $zero, 1 +/* 9A19B4 802409D4 AEA20070 */ sw $v0, 0x70($s5) +/* 9A19B8 802409D8 8FBF002C */ lw $ra, 0x2c($sp) +/* 9A19BC 802409DC 8FB60028 */ lw $s6, 0x28($sp) +/* 9A19C0 802409E0 8FB50024 */ lw $s5, 0x24($sp) +/* 9A19C4 802409E4 8FB40020 */ lw $s4, 0x20($sp) +/* 9A19C8 802409E8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A19CC 802409EC 8FB20018 */ lw $s2, 0x18($sp) +/* 9A19D0 802409F0 8FB10014 */ lw $s1, 0x14($sp) +/* 9A19D4 802409F4 8FB00010 */ lw $s0, 0x10($sp) +/* 9A19D8 802409F8 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9A19DC 802409FC D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9A19E0 80240A00 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9A19E4 80240A04 03E00008 */ jr $ra +/* 9A19E8 80240A08 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240A0C_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240A0C_9A0FE0.s new file mode 100644 index 0000000000..ab8c0faf9f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240A0C_9A0FE0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A0C_9A19EC +/* 9A19EC 80240A0C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9A19F0 80240A10 AFB20038 */ sw $s2, 0x38($sp) +/* 9A19F4 80240A14 0080902D */ daddu $s2, $a0, $zero +/* 9A19F8 80240A18 AFBF0044 */ sw $ra, 0x44($sp) +/* 9A19FC 80240A1C AFB40040 */ sw $s4, 0x40($sp) +/* 9A1A00 80240A20 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A1A04 80240A24 AFB10034 */ sw $s1, 0x34($sp) +/* 9A1A08 80240A28 AFB00030 */ sw $s0, 0x30($sp) +/* 9A1A0C 80240A2C F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9A1A10 80240A30 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9A1A14 80240A34 8E510148 */ lw $s1, 0x148($s2) +/* 9A1A18 80240A38 00A0982D */ daddu $s3, $a1, $zero +/* 9A1A1C 80240A3C 86240008 */ lh $a0, 8($s1) +/* 9A1A20 80240A40 0C00EABB */ jal get_npc_unsafe +/* 9A1A24 80240A44 00C0A02D */ daddu $s4, $a2, $zero +/* 9A1A28 80240A48 8E630014 */ lw $v1, 0x14($s3) +/* 9A1A2C 80240A4C 04600030 */ bltz $v1, .L80240B10 +/* 9A1A30 80240A50 0040802D */ daddu $s0, $v0, $zero +/* 9A1A34 80240A54 8E420074 */ lw $v0, 0x74($s2) +/* 9A1A38 80240A58 1C40002C */ bgtz $v0, .L80240B0C +/* 9A1A3C 80240A5C 2442FFFF */ addiu $v0, $v0, -1 +/* 9A1A40 80240A60 0280202D */ daddu $a0, $s4, $zero +/* 9A1A44 80240A64 AE430074 */ sw $v1, 0x74($s2) +/* 9A1A48 80240A68 AFA00010 */ sw $zero, 0x10($sp) +/* 9A1A4C 80240A6C 8E66000C */ lw $a2, 0xc($s3) +/* 9A1A50 80240A70 8E670010 */ lw $a3, 0x10($s3) +/* 9A1A54 80240A74 0C01242D */ jal func_800490B4 +/* 9A1A58 80240A78 0220282D */ daddu $a1, $s1, $zero +/* 9A1A5C 80240A7C 10400021 */ beqz $v0, .L80240B04 +/* 9A1A60 80240A80 0000202D */ daddu $a0, $zero, $zero +/* 9A1A64 80240A84 0200282D */ daddu $a1, $s0, $zero +/* 9A1A68 80240A88 0000302D */ daddu $a2, $zero, $zero +/* 9A1A6C 80240A8C 860300A8 */ lh $v1, 0xa8($s0) +/* 9A1A70 80240A90 3C013F80 */ lui $at, 0x3f80 +/* 9A1A74 80240A94 44810000 */ mtc1 $at, $f0 +/* 9A1A78 80240A98 3C014000 */ lui $at, 0x4000 +/* 9A1A7C 80240A9C 44811000 */ mtc1 $at, $f2 +/* 9A1A80 80240AA0 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A1A84 80240AA4 44812000 */ mtc1 $at, $f4 +/* 9A1A88 80240AA8 2402000F */ addiu $v0, $zero, 0xf +/* 9A1A8C 80240AAC AFA2001C */ sw $v0, 0x1c($sp) +/* 9A1A90 80240AB0 44833000 */ mtc1 $v1, $f6 +/* 9A1A94 80240AB4 00000000 */ nop +/* 9A1A98 80240AB8 468031A0 */ cvt.s.w $f6, $f6 +/* 9A1A9C 80240ABC 44073000 */ mfc1 $a3, $f6 +/* 9A1AA0 80240AC0 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A1AA4 80240AC4 AFA20020 */ sw $v0, 0x20($sp) +/* 9A1AA8 80240AC8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A1AAC 80240ACC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A1AB0 80240AD0 0C01BFA4 */ jal fx_emote +/* 9A1AB4 80240AD4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A1AB8 80240AD8 0200202D */ daddu $a0, $s0, $zero +/* 9A1ABC 80240ADC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9A1AC0 80240AE0 0C012530 */ jal func_800494C0 +/* 9A1AC4 80240AE4 3C060020 */ lui $a2, 0x20 +/* 9A1AC8 80240AE8 8E220018 */ lw $v0, 0x18($s1) +/* 9A1ACC 80240AEC 9442002A */ lhu $v0, 0x2a($v0) +/* 9A1AD0 80240AF0 30420001 */ andi $v0, $v0, 1 +/* 9A1AD4 80240AF4 14400064 */ bnez $v0, .L80240C88 +/* 9A1AD8 80240AF8 2402000A */ addiu $v0, $zero, 0xa +/* 9A1ADC 80240AFC 08090322 */ j .L80240C88 +/* 9A1AE0 80240B00 2402000C */ addiu $v0, $zero, 0xc +.L80240B04: +/* 9A1AE4 80240B04 8E420074 */ lw $v0, 0x74($s2) +/* 9A1AE8 80240B08 2442FFFF */ addiu $v0, $v0, -1 +.L80240B0C: +/* 9A1AEC 80240B0C AE420074 */ sw $v0, 0x74($s2) +.L80240B10: +/* 9A1AF0 80240B10 8602008C */ lh $v0, 0x8c($s0) +/* 9A1AF4 80240B14 1440005D */ bnez $v0, .L80240C8C +/* 9A1AF8 80240B18 00000000 */ nop +/* 9A1AFC 80240B1C C6000018 */ lwc1 $f0, 0x18($s0) +/* 9A1B00 80240B20 3C014010 */ lui $at, 0x4010 +/* 9A1B04 80240B24 44811800 */ mtc1 $at, $f3 +/* 9A1B08 80240B28 44801000 */ mtc1 $zero, $f2 +/* 9A1B0C 80240B2C 46000021 */ cvt.d.s $f0, $f0 +/* 9A1B10 80240B30 4622003C */ c.lt.d $f0, $f2 +/* 9A1B14 80240B34 00000000 */ nop +/* 9A1B18 80240B38 45000003 */ bc1f .L80240B48 +/* 9A1B1C 80240B3C 0200202D */ daddu $a0, $s0, $zero +/* 9A1B20 80240B40 080902D3 */ j .L80240B4C +/* 9A1B24 80240B44 0000282D */ daddu $a1, $zero, $zero +.L80240B48: +/* 9A1B28 80240B48 24050001 */ addiu $a1, $zero, 1 +.L80240B4C: +/* 9A1B2C 80240B4C 0C00F598 */ jal func_8003D660 +/* 9A1B30 80240B50 00000000 */ nop +/* 9A1B34 80240B54 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A1B38 80240B58 8E430078 */ lw $v1, 0x78($s2) +/* 9A1B3C 80240B5C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A1B40 80240B60 00031040 */ sll $v0, $v1, 1 +/* 9A1B44 80240B64 00431021 */ addu $v0, $v0, $v1 +/* 9A1B48 80240B68 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A1B4C 80240B6C 00021080 */ sll $v0, $v0, 2 +/* 9A1B50 80240B70 00431021 */ addu $v0, $v0, $v1 +/* 9A1B54 80240B74 C4560004 */ lwc1 $f22, 4($v0) +/* 9A1B58 80240B78 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9A1B5C 80240B7C C454000C */ lwc1 $f20, 0xc($v0) +/* 9A1B60 80240B80 4680A520 */ cvt.s.w $f20, $f20 +/* 9A1B64 80240B84 4406B000 */ mfc1 $a2, $f22 +/* 9A1B68 80240B88 4407A000 */ mfc1 $a3, $f20 +/* 9A1B6C 80240B8C 0C00A720 */ jal atan2 +/* 9A1B70 80240B90 00000000 */ nop +/* 9A1B74 80240B94 8E050018 */ lw $a1, 0x18($s0) +/* 9A1B78 80240B98 44060000 */ mfc1 $a2, $f0 +/* 9A1B7C 80240B9C 0200202D */ daddu $a0, $s0, $zero +/* 9A1B80 80240BA0 0C00EA95 */ jal npc_move_heading +/* 9A1B84 80240BA4 AE06000C */ sw $a2, 0xc($s0) +/* 9A1B88 80240BA8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A1B8C 80240BAC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A1B90 80240BB0 4406B000 */ mfc1 $a2, $f22 +/* 9A1B94 80240BB4 4407A000 */ mfc1 $a3, $f20 +/* 9A1B98 80240BB8 0C00A7B5 */ jal dist2D +/* 9A1B9C 80240BBC 00000000 */ nop +/* 9A1BA0 80240BC0 C6020018 */ lwc1 $f2, 0x18($s0) +/* 9A1BA4 80240BC4 4602003E */ c.le.s $f0, $f2 +/* 9A1BA8 80240BC8 00000000 */ nop +/* 9A1BAC 80240BCC 4500002F */ bc1f .L80240C8C +/* 9A1BB0 80240BD0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9A1BB4 80240BD4 24020002 */ addiu $v0, $zero, 2 +/* 9A1BB8 80240BD8 0C00A67F */ jal rand_int +/* 9A1BBC 80240BDC AE420070 */ sw $v0, 0x70($s2) +/* 9A1BC0 80240BE0 3C035555 */ lui $v1, 0x5555 +/* 9A1BC4 80240BE4 34635556 */ ori $v1, $v1, 0x5556 +/* 9A1BC8 80240BE8 00430018 */ mult $v0, $v1 +/* 9A1BCC 80240BEC 000227C3 */ sra $a0, $v0, 0x1f +/* 9A1BD0 80240BF0 00004010 */ mfhi $t0 +/* 9A1BD4 80240BF4 01042023 */ subu $a0, $t0, $a0 +/* 9A1BD8 80240BF8 00041840 */ sll $v1, $a0, 1 +/* 9A1BDC 80240BFC 00641821 */ addu $v1, $v1, $a0 +/* 9A1BE0 80240C00 00431023 */ subu $v0, $v0, $v1 +/* 9A1BE4 80240C04 24430002 */ addiu $v1, $v0, 2 +/* 9A1BE8 80240C08 AE430074 */ sw $v1, 0x74($s2) +/* 9A1BEC 80240C0C 8E62002C */ lw $v0, 0x2c($s3) +/* 9A1BF0 80240C10 18400009 */ blez $v0, .L80240C38 +/* 9A1BF4 80240C14 24020004 */ addiu $v0, $zero, 4 +/* 9A1BF8 80240C18 8E620004 */ lw $v0, 4($s3) +/* 9A1BFC 80240C1C 18400006 */ blez $v0, .L80240C38 +/* 9A1C00 80240C20 24020004 */ addiu $v0, $zero, 4 +/* 9A1C04 80240C24 8E620008 */ lw $v0, 8($s3) +/* 9A1C08 80240C28 18400003 */ blez $v0, .L80240C38 +/* 9A1C0C 80240C2C 24020004 */ addiu $v0, $zero, 4 +/* 9A1C10 80240C30 14600002 */ bnez $v1, .L80240C3C +/* 9A1C14 80240C34 00000000 */ nop +.L80240C38: +/* 9A1C18 80240C38 AE420070 */ sw $v0, 0x70($s2) +.L80240C3C: +/* 9A1C1C 80240C3C 0C00A67F */ jal rand_int +/* 9A1C20 80240C40 24042710 */ addiu $a0, $zero, 0x2710 +/* 9A1C24 80240C44 3C0351EB */ lui $v1, 0x51eb +/* 9A1C28 80240C48 3463851F */ ori $v1, $v1, 0x851f +/* 9A1C2C 80240C4C 00430018 */ mult $v0, $v1 +/* 9A1C30 80240C50 00021FC3 */ sra $v1, $v0, 0x1f +/* 9A1C34 80240C54 00004010 */ mfhi $t0 +/* 9A1C38 80240C58 00082143 */ sra $a0, $t0, 5 +/* 9A1C3C 80240C5C 00832023 */ subu $a0, $a0, $v1 +/* 9A1C40 80240C60 00041840 */ sll $v1, $a0, 1 +/* 9A1C44 80240C64 00641821 */ addu $v1, $v1, $a0 +/* 9A1C48 80240C68 000318C0 */ sll $v1, $v1, 3 +/* 9A1C4C 80240C6C 00641821 */ addu $v1, $v1, $a0 +/* 9A1C50 80240C70 00031880 */ sll $v1, $v1, 2 +/* 9A1C54 80240C74 8E640004 */ lw $a0, 4($s3) +/* 9A1C58 80240C78 00431023 */ subu $v0, $v0, $v1 +/* 9A1C5C 80240C7C 0044102A */ slt $v0, $v0, $a0 +/* 9A1C60 80240C80 10400002 */ beqz $v0, .L80240C8C +/* 9A1C64 80240C84 24020004 */ addiu $v0, $zero, 4 +.L80240C88: +/* 9A1C68 80240C88 AE420070 */ sw $v0, 0x70($s2) +.L80240C8C: +/* 9A1C6C 80240C8C 8FBF0044 */ lw $ra, 0x44($sp) +/* 9A1C70 80240C90 8FB40040 */ lw $s4, 0x40($sp) +/* 9A1C74 80240C94 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A1C78 80240C98 8FB20038 */ lw $s2, 0x38($sp) +/* 9A1C7C 80240C9C 8FB10034 */ lw $s1, 0x34($sp) +/* 9A1C80 80240CA0 8FB00030 */ lw $s0, 0x30($sp) +/* 9A1C84 80240CA4 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 9A1C88 80240CA8 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 9A1C8C 80240CAC 03E00008 */ jr $ra +/* 9A1C90 80240CB0 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240CB4.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240CB4.s new file mode 100644 index 0000000000..4d608fbc05 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240CB4.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240CB4 +/* 9A1C94 80240CB4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A1C98 80240CB8 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A1C9C 80240CBC 0080982D */ daddu $s3, $a0, $zero +/* 9A1CA0 80240CC0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A1CA4 80240CC4 AFB20018 */ sw $s2, 0x18($sp) +/* 9A1CA8 80240CC8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A1CAC 80240CCC AFB00010 */ sw $s0, 0x10($sp) +/* 9A1CB0 80240CD0 8E720148 */ lw $s2, 0x148($s3) +/* 9A1CB4 80240CD4 86440008 */ lh $a0, 8($s2) +/* 9A1CB8 80240CD8 0C00EABB */ jal get_npc_unsafe +/* 9A1CBC 80240CDC 00A0882D */ daddu $s1, $a1, $zero +/* 9A1CC0 80240CE0 8E240008 */ lw $a0, 8($s1) +/* 9A1CC4 80240CE4 0040802D */ daddu $s0, $v0, $zero +/* 9A1CC8 80240CE8 00041FC2 */ srl $v1, $a0, 0x1f +/* 9A1CCC 80240CEC 00832021 */ addu $a0, $a0, $v1 +/* 9A1CD0 80240CF0 00042043 */ sra $a0, $a0, 1 +/* 9A1CD4 80240CF4 0C00A67F */ jal rand_int +/* 9A1CD8 80240CF8 24840001 */ addiu $a0, $a0, 1 +/* 9A1CDC 80240CFC 8E230008 */ lw $v1, 8($s1) +/* 9A1CE0 80240D00 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9A1CE4 80240D04 00032FC2 */ srl $a1, $v1, 0x1f +/* 9A1CE8 80240D08 00651821 */ addu $v1, $v1, $a1 +/* 9A1CEC 80240D0C 00031843 */ sra $v1, $v1, 1 +/* 9A1CF0 80240D10 00621821 */ addu $v1, $v1, $v0 +/* 9A1CF4 80240D14 0C00A67F */ jal rand_int +/* 9A1CF8 80240D18 A603008E */ sh $v1, 0x8e($s0) +/* 9A1CFC 80240D1C C60C000C */ lwc1 $f12, 0xc($s0) +/* 9A1D00 80240D20 44820000 */ mtc1 $v0, $f0 +/* 9A1D04 80240D24 00000000 */ nop +/* 9A1D08 80240D28 46800020 */ cvt.s.w $f0, $f0 +/* 9A1D0C 80240D2C 46006300 */ add.s $f12, $f12, $f0 +/* 9A1D10 80240D30 3C0142B4 */ lui $at, 0x42b4 +/* 9A1D14 80240D34 44810000 */ mtc1 $at, $f0 +/* 9A1D18 80240D38 0C00A6C9 */ jal clamp_angle +/* 9A1D1C 80240D3C 46006301 */ sub.s $f12, $f12, $f0 +/* 9A1D20 80240D40 E600000C */ swc1 $f0, 0xc($s0) +/* 9A1D24 80240D44 8E4200CC */ lw $v0, 0xcc($s2) +/* 9A1D28 80240D48 8C420000 */ lw $v0, ($v0) +/* 9A1D2C 80240D4C AE020028 */ sw $v0, 0x28($s0) +/* 9A1D30 80240D50 24020003 */ addiu $v0, $zero, 3 +/* 9A1D34 80240D54 AE620070 */ sw $v0, 0x70($s3) +/* 9A1D38 80240D58 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A1D3C 80240D5C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A1D40 80240D60 8FB20018 */ lw $s2, 0x18($sp) +/* 9A1D44 80240D64 8FB10014 */ lw $s1, 0x14($sp) +/* 9A1D48 80240D68 8FB00010 */ lw $s0, 0x10($sp) +/* 9A1D4C 80240D6C 03E00008 */ jr $ra +/* 9A1D50 80240D70 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240D74.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240D74.s new file mode 100644 index 0000000000..f0d902708c --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240D74.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240D74 +/* 9A1D54 80240D74 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A1D58 80240D78 AFB40040 */ sw $s4, 0x40($sp) +/* 9A1D5C 80240D7C 0080A02D */ daddu $s4, $a0, $zero +/* 9A1D60 80240D80 AFBF0044 */ sw $ra, 0x44($sp) +/* 9A1D64 80240D84 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A1D68 80240D88 AFB20038 */ sw $s2, 0x38($sp) +/* 9A1D6C 80240D8C AFB10034 */ sw $s1, 0x34($sp) +/* 9A1D70 80240D90 AFB00030 */ sw $s0, 0x30($sp) +/* 9A1D74 80240D94 8E910148 */ lw $s1, 0x148($s4) +/* 9A1D78 80240D98 00A0902D */ daddu $s2, $a1, $zero +/* 9A1D7C 80240D9C 86240008 */ lh $a0, 8($s1) +/* 9A1D80 80240DA0 0C00EABB */ jal get_npc_unsafe +/* 9A1D84 80240DA4 00C0982D */ daddu $s3, $a2, $zero +/* 9A1D88 80240DA8 8E430014 */ lw $v1, 0x14($s2) +/* 9A1D8C 80240DAC 04600031 */ bltz $v1, .L80240E74 +/* 9A1D90 80240DB0 0040802D */ daddu $s0, $v0, $zero +/* 9A1D94 80240DB4 0260202D */ daddu $a0, $s3, $zero +/* 9A1D98 80240DB8 AFA00010 */ sw $zero, 0x10($sp) +/* 9A1D9C 80240DBC 8E460024 */ lw $a2, 0x24($s2) +/* 9A1DA0 80240DC0 8E470028 */ lw $a3, 0x28($s2) +/* 9A1DA4 80240DC4 0C01242D */ jal func_800490B4 +/* 9A1DA8 80240DC8 0220282D */ daddu $a1, $s1, $zero +/* 9A1DAC 80240DCC 10400029 */ beqz $v0, .L80240E74 +/* 9A1DB0 80240DD0 0000202D */ daddu $a0, $zero, $zero +/* 9A1DB4 80240DD4 0200282D */ daddu $a1, $s0, $zero +/* 9A1DB8 80240DD8 0000302D */ daddu $a2, $zero, $zero +/* 9A1DBC 80240DDC 860300A8 */ lh $v1, 0xa8($s0) +/* 9A1DC0 80240DE0 3C013F80 */ lui $at, 0x3f80 +/* 9A1DC4 80240DE4 44810000 */ mtc1 $at, $f0 +/* 9A1DC8 80240DE8 3C014000 */ lui $at, 0x4000 +/* 9A1DCC 80240DEC 44811000 */ mtc1 $at, $f2 +/* 9A1DD0 80240DF0 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A1DD4 80240DF4 44812000 */ mtc1 $at, $f4 +/* 9A1DD8 80240DF8 2402000F */ addiu $v0, $zero, 0xf +/* 9A1DDC 80240DFC AFA2001C */ sw $v0, 0x1c($sp) +/* 9A1DE0 80240E00 44833000 */ mtc1 $v1, $f6 +/* 9A1DE4 80240E04 00000000 */ nop +/* 9A1DE8 80240E08 468031A0 */ cvt.s.w $f6, $f6 +/* 9A1DEC 80240E0C 44073000 */ mfc1 $a3, $f6 +/* 9A1DF0 80240E10 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A1DF4 80240E14 AFA20020 */ sw $v0, 0x20($sp) +/* 9A1DF8 80240E18 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A1DFC 80240E1C E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A1E00 80240E20 0C01BFA4 */ jal fx_emote +/* 9A1E04 80240E24 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A1E08 80240E28 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A1E0C 80240E2C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A1E10 80240E30 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A1E14 80240E34 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A1E18 80240E38 8C460028 */ lw $a2, 0x28($v0) +/* 9A1E1C 80240E3C 0C00A720 */ jal atan2 +/* 9A1E20 80240E40 8C470030 */ lw $a3, 0x30($v0) +/* 9A1E24 80240E44 0200202D */ daddu $a0, $s0, $zero +/* 9A1E28 80240E48 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9A1E2C 80240E4C 3C060020 */ lui $a2, 0x20 +/* 9A1E30 80240E50 0C012530 */ jal func_800494C0 +/* 9A1E34 80240E54 E480000C */ swc1 $f0, 0xc($a0) +/* 9A1E38 80240E58 8E220018 */ lw $v0, 0x18($s1) +/* 9A1E3C 80240E5C 9442002A */ lhu $v0, 0x2a($v0) +/* 9A1E40 80240E60 30420001 */ andi $v0, $v0, 1 +/* 9A1E44 80240E64 14400029 */ bnez $v0, .L80240F0C +/* 9A1E48 80240E68 2402000A */ addiu $v0, $zero, 0xa +/* 9A1E4C 80240E6C 080903C3 */ j .L80240F0C +/* 9A1E50 80240E70 2402000C */ addiu $v0, $zero, 0xc +.L80240E74: +/* 9A1E54 80240E74 8602008C */ lh $v0, 0x8c($s0) +/* 9A1E58 80240E78 14400025 */ bnez $v0, .L80240F10 +/* 9A1E5C 80240E7C 00000000 */ nop +/* 9A1E60 80240E80 9602008E */ lhu $v0, 0x8e($s0) +/* 9A1E64 80240E84 2442FFFF */ addiu $v0, $v0, -1 +/* 9A1E68 80240E88 A602008E */ sh $v0, 0x8e($s0) +/* 9A1E6C 80240E8C 00021400 */ sll $v0, $v0, 0x10 +/* 9A1E70 80240E90 1440001F */ bnez $v0, .L80240F10 +/* 9A1E74 80240E94 00000000 */ nop +/* 9A1E78 80240E98 8E820074 */ lw $v0, 0x74($s4) +/* 9A1E7C 80240E9C 2442FFFF */ addiu $v0, $v0, -1 +/* 9A1E80 80240EA0 10400019 */ beqz $v0, .L80240F08 +/* 9A1E84 80240EA4 AE820074 */ sw $v0, 0x74($s4) +/* 9A1E88 80240EA8 8E220018 */ lw $v0, 0x18($s1) +/* 9A1E8C 80240EAC 9442002A */ lhu $v0, 0x2a($v0) +/* 9A1E90 80240EB0 30420010 */ andi $v0, $v0, 0x10 +/* 9A1E94 80240EB4 14400007 */ bnez $v0, .L80240ED4 +/* 9A1E98 80240EB8 00000000 */ nop +/* 9A1E9C 80240EBC C600000C */ lwc1 $f0, 0xc($s0) +/* 9A1EA0 80240EC0 3C014334 */ lui $at, 0x4334 +/* 9A1EA4 80240EC4 44816000 */ mtc1 $at, $f12 +/* 9A1EA8 80240EC8 0C00A6C9 */ jal clamp_angle +/* 9A1EAC 80240ECC 460C0300 */ add.s $f12, $f0, $f12 +/* 9A1EB0 80240ED0 E600000C */ swc1 $f0, 0xc($s0) +.L80240ED4: +/* 9A1EB4 80240ED4 8E440008 */ lw $a0, 8($s2) +/* 9A1EB8 80240ED8 000417C2 */ srl $v0, $a0, 0x1f +/* 9A1EBC 80240EDC 00822021 */ addu $a0, $a0, $v0 +/* 9A1EC0 80240EE0 00042043 */ sra $a0, $a0, 1 +/* 9A1EC4 80240EE4 0C00A67F */ jal rand_int +/* 9A1EC8 80240EE8 24840001 */ addiu $a0, $a0, 1 +/* 9A1ECC 80240EEC 8E430008 */ lw $v1, 8($s2) +/* 9A1ED0 80240EF0 000327C2 */ srl $a0, $v1, 0x1f +/* 9A1ED4 80240EF4 00641821 */ addu $v1, $v1, $a0 +/* 9A1ED8 80240EF8 00031843 */ sra $v1, $v1, 1 +/* 9A1EDC 80240EFC 00621821 */ addu $v1, $v1, $v0 +/* 9A1EE0 80240F00 080903C4 */ j .L80240F10 +/* 9A1EE4 80240F04 A603008E */ sh $v1, 0x8e($s0) +.L80240F08: +/* 9A1EE8 80240F08 24020004 */ addiu $v0, $zero, 4 +.L80240F0C: +/* 9A1EEC 80240F0C AE820070 */ sw $v0, 0x70($s4) +.L80240F10: +/* 9A1EF0 80240F10 8FBF0044 */ lw $ra, 0x44($sp) +/* 9A1EF4 80240F14 8FB40040 */ lw $s4, 0x40($sp) +/* 9A1EF8 80240F18 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A1EFC 80240F1C 8FB20038 */ lw $s2, 0x38($sp) +/* 9A1F00 80240F20 8FB10034 */ lw $s1, 0x34($sp) +/* 9A1F04 80240F24 8FB00030 */ lw $s0, 0x30($sp) +/* 9A1F08 80240F28 03E00008 */ jr $ra +/* 9A1F0C 80240F2C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240F30.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240F30.s new file mode 100644 index 0000000000..c73832e89e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240F30.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240F30 +/* 9A1F10 80240F30 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A1F14 80240F34 AFB10014 */ sw $s1, 0x14($sp) +/* 9A1F18 80240F38 0080882D */ daddu $s1, $a0, $zero +/* 9A1F1C 80240F3C AFBF001C */ sw $ra, 0x1c($sp) +/* 9A1F20 80240F40 AFB20018 */ sw $s2, 0x18($sp) +/* 9A1F24 80240F44 AFB00010 */ sw $s0, 0x10($sp) +/* 9A1F28 80240F48 8E300148 */ lw $s0, 0x148($s1) +/* 9A1F2C 80240F4C 86040008 */ lh $a0, 8($s0) +/* 9A1F30 80240F50 0C00EABB */ jal get_npc_unsafe +/* 9A1F34 80240F54 00A0902D */ daddu $s2, $a1, $zero +/* 9A1F38 80240F58 8E230078 */ lw $v1, 0x78($s1) +/* 9A1F3C 80240F5C 24630001 */ addiu $v1, $v1, 1 +/* 9A1F40 80240F60 AE230078 */ sw $v1, 0x78($s1) +/* 9A1F44 80240F64 8E0400D0 */ lw $a0, 0xd0($s0) +/* 9A1F48 80240F68 8C840000 */ lw $a0, ($a0) +/* 9A1F4C 80240F6C 0064182A */ slt $v1, $v1, $a0 +/* 9A1F50 80240F70 14600002 */ bnez $v1, .L80240F7C +/* 9A1F54 80240F74 0040282D */ daddu $a1, $v0, $zero +/* 9A1F58 80240F78 AE200078 */ sw $zero, 0x78($s1) +.L80240F7C: +/* 9A1F5C 80240F7C 8E0200CC */ lw $v0, 0xcc($s0) +/* 9A1F60 80240F80 8C420004 */ lw $v0, 4($v0) +/* 9A1F64 80240F84 ACA20028 */ sw $v0, 0x28($a1) +/* 9A1F68 80240F88 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9A1F6C 80240F8C 8C42007C */ lw $v0, 0x7c($v0) +/* 9A1F70 80240F90 04410004 */ bgez $v0, .L80240FA4 +/* 9A1F74 80240F94 00000000 */ nop +/* 9A1F78 80240F98 C6400000 */ lwc1 $f0, ($s2) +/* 9A1F7C 80240F9C 080903F1 */ j .L80240FC4 +/* 9A1F80 80240FA0 E4A00018 */ swc1 $f0, 0x18($a1) +.L80240FA4: +/* 9A1F84 80240FA4 3C018024 */ lui $at, 0x8024 +/* 9A1F88 80240FA8 D4223348 */ ldc1 $f2, 0x3348($at) +/* 9A1F8C 80240FAC 44820000 */ mtc1 $v0, $f0 +/* 9A1F90 80240FB0 00000000 */ nop +/* 9A1F94 80240FB4 46800021 */ cvt.d.w $f0, $f0 +/* 9A1F98 80240FB8 46220003 */ div.d $f0, $f0, $f2 +/* 9A1F9C 80240FBC 46200020 */ cvt.s.d $f0, $f0 +/* 9A1FA0 80240FC0 E4A00018 */ swc1 $f0, 0x18($a1) +.L80240FC4: +/* 9A1FA4 80240FC4 24020001 */ addiu $v0, $zero, 1 +/* 9A1FA8 80240FC8 AE220070 */ sw $v0, 0x70($s1) +/* 9A1FAC 80240FCC 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A1FB0 80240FD0 8FB20018 */ lw $s2, 0x18($sp) +/* 9A1FB4 80240FD4 8FB10014 */ lw $s1, 0x14($sp) +/* 9A1FB8 80240FD8 8FB00010 */ lw $s0, 0x10($sp) +/* 9A1FBC 80240FDC 03E00008 */ jr $ra +/* 9A1FC0 80240FE0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80240FE4.s b/asm/nonmatchings/world/area_trd/trd_02/func_80240FE4.s new file mode 100644 index 0000000000..13b3202add --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80240FE4.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240FE4 +/* 9A1FC4 80240FE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A1FC8 80240FE8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A1FCC 80240FEC 0080882D */ daddu $s1, $a0, $zero +/* 9A1FD0 80240FF0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9A1FD4 80240FF4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A1FD8 80240FF8 8E300148 */ lw $s0, 0x148($s1) +/* 9A1FDC 80240FFC 0C00EABB */ jal get_npc_unsafe +/* 9A1FE0 80241000 86040008 */ lh $a0, 8($s0) +/* 9A1FE4 80241004 8E0300CC */ lw $v1, 0xcc($s0) +/* 9A1FE8 80241008 3C014120 */ lui $at, 0x4120 +/* 9A1FEC 8024100C 44812000 */ mtc1 $at, $f4 +/* 9A1FF0 80241010 3C014000 */ lui $at, 0x4000 +/* 9A1FF4 80241014 44810000 */ mtc1 $at, $f0 +/* 9A1FF8 80241018 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9A1FFC 8024101C 8C640010 */ lw $a0, 0x10($v1) +/* 9A2000 80241020 8C430000 */ lw $v1, ($v0) +/* 9A2004 80241024 E444001C */ swc1 $f4, 0x1c($v0) +/* 9A2008 80241028 E4400014 */ swc1 $f0, 0x14($v0) +/* 9A200C 8024102C E4420064 */ swc1 $f2, 0x64($v0) +/* 9A2010 80241030 34630800 */ ori $v1, $v1, 0x800 +/* 9A2014 80241034 AC430000 */ sw $v1, ($v0) +/* 9A2018 80241038 AC440028 */ sw $a0, 0x28($v0) +/* 9A201C 8024103C 2402000B */ addiu $v0, $zero, 0xb +/* 9A2020 80241040 AE220070 */ sw $v0, 0x70($s1) +/* 9A2024 80241044 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A2028 80241048 8FB10014 */ lw $s1, 0x14($sp) +/* 9A202C 8024104C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A2030 80241050 03E00008 */ jr $ra +/* 9A2034 80241054 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241058.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241058.s new file mode 100644 index 0000000000..1eacf3bca1 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241058.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241058 +/* 9A2038 80241058 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A203C 8024105C AFB00010 */ sw $s0, 0x10($sp) +/* 9A2040 80241060 0080802D */ daddu $s0, $a0, $zero +/* 9A2044 80241064 AFBF0014 */ sw $ra, 0x14($sp) +/* 9A2048 80241068 8E020148 */ lw $v0, 0x148($s0) +/* 9A204C 8024106C 0C00EABB */ jal get_npc_unsafe +/* 9A2050 80241070 84440008 */ lh $a0, 8($v0) +/* 9A2054 80241074 0040202D */ daddu $a0, $v0, $zero +/* 9A2058 80241078 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9A205C 8024107C C480001C */ lwc1 $f0, 0x1c($a0) +/* 9A2060 80241080 46001080 */ add.s $f2, $f2, $f0 +/* 9A2064 80241084 C4840014 */ lwc1 $f4, 0x14($a0) +/* 9A2068 80241088 46040001 */ sub.s $f0, $f0, $f4 +/* 9A206C 8024108C C4840064 */ lwc1 $f4, 0x64($a0) +/* 9A2070 80241090 4602203C */ c.lt.s $f4, $f2 +/* 9A2074 80241094 E482003C */ swc1 $f2, 0x3c($a0) +/* 9A2078 80241098 45010009 */ bc1t .L802410C0 +/* 9A207C 8024109C E480001C */ swc1 $f0, 0x1c($a0) +/* 9A2080 802410A0 8C820000 */ lw $v0, ($a0) +/* 9A2084 802410A4 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9A2088 802410A8 E484003C */ swc1 $f4, 0x3c($a0) +/* 9A208C 802410AC AC80001C */ sw $zero, 0x1c($a0) +/* 9A2090 802410B0 00431024 */ and $v0, $v0, $v1 +/* 9A2094 802410B4 AC820000 */ sw $v0, ($a0) +/* 9A2098 802410B8 2402000C */ addiu $v0, $zero, 0xc +/* 9A209C 802410BC AE020070 */ sw $v0, 0x70($s0) +.L802410C0: +/* 9A20A0 802410C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9A20A4 802410C4 8FB00010 */ lw $s0, 0x10($sp) +/* 9A20A8 802410C8 03E00008 */ jr $ra +/* 9A20AC 802410CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_802410D0_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_802410D0_9A0FE0.s new file mode 100644 index 0000000000..19ed53b10e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_802410D0_9A0FE0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802410D0_9A20B0 +/* 9A20B0 802410D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9A20B4 802410D4 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A20B8 802410D8 0080982D */ daddu $s3, $a0, $zero +/* 9A20BC 802410DC AFBF0020 */ sw $ra, 0x20($sp) +/* 9A20C0 802410E0 AFB20018 */ sw $s2, 0x18($sp) +/* 9A20C4 802410E4 AFB10014 */ sw $s1, 0x14($sp) +/* 9A20C8 802410E8 AFB00010 */ sw $s0, 0x10($sp) +/* 9A20CC 802410EC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9A20D0 802410F0 8E710148 */ lw $s1, 0x148($s3) +/* 9A20D4 802410F4 86240008 */ lh $a0, 8($s1) +/* 9A20D8 802410F8 0C00EABB */ jal get_npc_unsafe +/* 9A20DC 802410FC 00A0802D */ daddu $s0, $a1, $zero +/* 9A20E0 80241100 8E040020 */ lw $a0, 0x20($s0) +/* 9A20E4 80241104 0040902D */ daddu $s2, $v0, $zero +/* 9A20E8 80241108 00041FC2 */ srl $v1, $a0, 0x1f +/* 9A20EC 8024110C 00832021 */ addu $a0, $a0, $v1 +/* 9A20F0 80241110 00042043 */ sra $a0, $a0, 1 +/* 9A20F4 80241114 0C00A67F */ jal rand_int +/* 9A20F8 80241118 24840001 */ addiu $a0, $a0, 1 +/* 9A20FC 8024111C 8E030020 */ lw $v1, 0x20($s0) +/* 9A2100 80241120 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 9A2104 80241124 000327C2 */ srl $a0, $v1, 0x1f +/* 9A2108 80241128 00641821 */ addu $v1, $v1, $a0 +/* 9A210C 8024112C 00031843 */ sra $v1, $v1, 1 +/* 9A2110 80241130 00621821 */ addu $v1, $v1, $v0 +/* 9A2114 80241134 A643008E */ sh $v1, 0x8e($s2) +/* 9A2118 80241138 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A211C 8024113C C64E0040 */ lwc1 $f14, 0x40($s2) +/* 9A2120 80241140 8C42000C */ lw $v0, 0xc($v0) +/* 9A2124 80241144 AE420028 */ sw $v0, 0x28($s2) +/* 9A2128 80241148 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9A212C 8024114C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A2130 80241150 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A2134 80241154 E6400018 */ swc1 $f0, 0x18($s2) +/* 9A2138 80241158 8C460028 */ lw $a2, 0x28($v0) +/* 9A213C 8024115C 0C00A720 */ jal atan2 +/* 9A2140 80241160 8C470030 */ lw $a3, 0x30($v0) +/* 9A2144 80241164 46000506 */ mov.s $f20, $f0 +/* 9A2148 80241168 C64C000C */ lwc1 $f12, 0xc($s2) +/* 9A214C 8024116C 0C00A70A */ jal get_clamped_angle_diff +/* 9A2150 80241170 4600A386 */ mov.s $f14, $f20 +/* 9A2154 80241174 46000086 */ mov.s $f2, $f0 +/* 9A2158 80241178 8E02001C */ lw $v0, 0x1c($s0) +/* 9A215C 8024117C 46001005 */ abs.s $f0, $f2 +/* 9A2160 80241180 44822000 */ mtc1 $v0, $f4 +/* 9A2164 80241184 00000000 */ nop +/* 9A2168 80241188 46802120 */ cvt.s.w $f4, $f4 +/* 9A216C 8024118C 4600203C */ c.lt.s $f4, $f0 +/* 9A2170 80241190 00000000 */ nop +/* 9A2174 80241194 4500000D */ bc1f .L802411CC +/* 9A2178 80241198 00000000 */ nop +/* 9A217C 8024119C 44800000 */ mtc1 $zero, $f0 +/* 9A2180 802411A0 C654000C */ lwc1 $f20, 0xc($s2) +/* 9A2184 802411A4 4600103C */ c.lt.s $f2, $f0 +/* 9A2188 802411A8 00000000 */ nop +/* 9A218C 802411AC 45000006 */ bc1f .L802411C8 +/* 9A2190 802411B0 00021023 */ negu $v0, $v0 +/* 9A2194 802411B4 44820000 */ mtc1 $v0, $f0 +/* 9A2198 802411B8 00000000 */ nop +/* 9A219C 802411BC 46800020 */ cvt.s.w $f0, $f0 +/* 9A21A0 802411C0 08090473 */ j .L802411CC +/* 9A21A4 802411C4 4600A500 */ add.s $f20, $f20, $f0 +.L802411C8: +/* 9A21A8 802411C8 4604A500 */ add.s $f20, $f20, $f4 +.L802411CC: +/* 9A21AC 802411CC 0C00A6C9 */ jal clamp_angle +/* 9A21B0 802411D0 4600A306 */ mov.s $f12, $f20 +/* 9A21B4 802411D4 2402000D */ addiu $v0, $zero, 0xd +/* 9A21B8 802411D8 E640000C */ swc1 $f0, 0xc($s2) +/* 9A21BC 802411DC AE620070 */ sw $v0, 0x70($s3) +/* 9A21C0 802411E0 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A21C4 802411E4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A21C8 802411E8 8FB20018 */ lw $s2, 0x18($sp) +/* 9A21CC 802411EC 8FB10014 */ lw $s1, 0x14($sp) +/* 9A21D0 802411F0 8FB00010 */ lw $s0, 0x10($sp) +/* 9A21D4 802411F4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9A21D8 802411F8 03E00008 */ jr $ra +/* 9A21DC 802411FC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241200.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241200.s new file mode 100644 index 0000000000..2570d8c1b0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241200.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241200 +/* 9A21E0 80241200 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A21E4 80241204 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A21E8 80241208 0080982D */ daddu $s3, $a0, $zero +/* 9A21EC 8024120C AFBF0040 */ sw $ra, 0x40($sp) +/* 9A21F0 80241210 AFB20038 */ sw $s2, 0x38($sp) +/* 9A21F4 80241214 AFB10034 */ sw $s1, 0x34($sp) +/* 9A21F8 80241218 AFB00030 */ sw $s0, 0x30($sp) +/* 9A21FC 8024121C 8E720148 */ lw $s2, 0x148($s3) +/* 9A2200 80241220 00A0882D */ daddu $s1, $a1, $zero +/* 9A2204 80241224 86440008 */ lh $a0, 8($s2) +/* 9A2208 80241228 0C00EABB */ jal get_npc_unsafe +/* 9A220C 8024122C 00C0802D */ daddu $s0, $a2, $zero +/* 9A2210 80241230 0200202D */ daddu $a0, $s0, $zero +/* 9A2214 80241234 0240282D */ daddu $a1, $s2, $zero +/* 9A2218 80241238 24030001 */ addiu $v1, $zero, 1 +/* 9A221C 8024123C AFA30010 */ sw $v1, 0x10($sp) +/* 9A2220 80241240 8E260024 */ lw $a2, 0x24($s1) +/* 9A2224 80241244 8E270028 */ lw $a3, 0x28($s1) +/* 9A2228 80241248 0C01242D */ jal func_800490B4 +/* 9A222C 8024124C 0040802D */ daddu $s0, $v0, $zero +/* 9A2230 80241250 1440001E */ bnez $v0, .L802412CC +/* 9A2234 80241254 0200202D */ daddu $a0, $s0, $zero +/* 9A2238 80241258 24040002 */ addiu $a0, $zero, 2 +/* 9A223C 8024125C 0200282D */ daddu $a1, $s0, $zero +/* 9A2240 80241260 0000302D */ daddu $a2, $zero, $zero +/* 9A2244 80241264 860300A8 */ lh $v1, 0xa8($s0) +/* 9A2248 80241268 3C013F80 */ lui $at, 0x3f80 +/* 9A224C 8024126C 44810000 */ mtc1 $at, $f0 +/* 9A2250 80241270 3C014000 */ lui $at, 0x4000 +/* 9A2254 80241274 44811000 */ mtc1 $at, $f2 +/* 9A2258 80241278 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A225C 8024127C 44812000 */ mtc1 $at, $f4 +/* 9A2260 80241280 2402000F */ addiu $v0, $zero, 0xf +/* 9A2264 80241284 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A2268 80241288 44833000 */ mtc1 $v1, $f6 +/* 9A226C 8024128C 00000000 */ nop +/* 9A2270 80241290 468031A0 */ cvt.s.w $f6, $f6 +/* 9A2274 80241294 44073000 */ mfc1 $a3, $f6 +/* 9A2278 80241298 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A227C 8024129C AFA20020 */ sw $v0, 0x20($sp) +/* 9A2280 802412A0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A2284 802412A4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A2288 802412A8 0C01BFA4 */ jal fx_emote +/* 9A228C 802412AC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A2290 802412B0 8E4200CC */ lw $v0, 0xcc($s2) +/* 9A2294 802412B4 8C430000 */ lw $v1, ($v0) +/* 9A2298 802412B8 24020019 */ addiu $v0, $zero, 0x19 +/* 9A229C 802412BC A602008E */ sh $v0, 0x8e($s0) +/* 9A22A0 802412C0 2402000E */ addiu $v0, $zero, 0xe +/* 9A22A4 802412C4 080904C0 */ j .L80241300 +/* 9A22A8 802412C8 AE030028 */ sw $v1, 0x28($s0) +.L802412CC: +/* 9A22AC 802412CC 0C00F598 */ jal func_8003D660 +/* 9A22B0 802412D0 24050001 */ addiu $a1, $zero, 1 +/* 9A22B4 802412D4 8E050018 */ lw $a1, 0x18($s0) +/* 9A22B8 802412D8 8E06000C */ lw $a2, 0xc($s0) +/* 9A22BC 802412DC 0C00EA95 */ jal npc_move_heading +/* 9A22C0 802412E0 0200202D */ daddu $a0, $s0, $zero +/* 9A22C4 802412E4 8602008E */ lh $v0, 0x8e($s0) +/* 9A22C8 802412E8 9603008E */ lhu $v1, 0x8e($s0) +/* 9A22CC 802412EC 18400003 */ blez $v0, .L802412FC +/* 9A22D0 802412F0 2462FFFF */ addiu $v0, $v1, -1 +/* 9A22D4 802412F4 080904C1 */ j .L80241304 +/* 9A22D8 802412F8 A602008E */ sh $v0, 0x8e($s0) +.L802412FC: +/* 9A22DC 802412FC 2402000C */ addiu $v0, $zero, 0xc +.L80241300: +/* 9A22E0 80241300 AE620070 */ sw $v0, 0x70($s3) +.L80241304: +/* 9A22E4 80241304 8FBF0040 */ lw $ra, 0x40($sp) +/* 9A22E8 80241308 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A22EC 8024130C 8FB20038 */ lw $s2, 0x38($sp) +/* 9A22F0 80241310 8FB10034 */ lw $s1, 0x34($sp) +/* 9A22F4 80241314 8FB00030 */ lw $s0, 0x30($sp) +/* 9A22F8 80241318 03E00008 */ jr $ra +/* 9A22FC 8024131C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241320_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241320_9A0FE0.s new file mode 100644 index 0000000000..84a3fd4ef4 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241320_9A0FE0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241320_9A2300 +/* 9A2300 80241320 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A2304 80241324 AFB10014 */ sw $s1, 0x14($sp) +/* 9A2308 80241328 0080882D */ daddu $s1, $a0, $zero +/* 9A230C 8024132C AFBF0018 */ sw $ra, 0x18($sp) +/* 9A2310 80241330 AFB00010 */ sw $s0, 0x10($sp) +/* 9A2314 80241334 8E300148 */ lw $s0, 0x148($s1) +/* 9A2318 80241338 0C00EABB */ jal get_npc_unsafe +/* 9A231C 8024133C 86040008 */ lh $a0, 8($s0) +/* 9A2320 80241340 9443008E */ lhu $v1, 0x8e($v0) +/* 9A2324 80241344 2463FFFF */ addiu $v1, $v1, -1 +/* 9A2328 80241348 A443008E */ sh $v1, 0x8e($v0) +/* 9A232C 8024134C 00031C00 */ sll $v1, $v1, 0x10 +/* 9A2330 80241350 14600008 */ bnez $v1, .L80241374 +/* 9A2334 80241354 00000000 */ nop +/* 9A2338 80241358 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9A233C 8024135C 30420080 */ andi $v0, $v0, 0x80 +/* 9A2340 80241360 10400003 */ beqz $v0, .L80241370 +/* 9A2344 80241364 2402000F */ addiu $v0, $zero, 0xf +/* 9A2348 80241368 080904DD */ j .L80241374 +/* 9A234C 8024136C AE220070 */ sw $v0, 0x70($s1) +.L80241370: +/* 9A2350 80241370 AE200070 */ sw $zero, 0x70($s1) +.L80241374: +/* 9A2354 80241374 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A2358 80241378 8FB10014 */ lw $s1, 0x14($sp) +/* 9A235C 8024137C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A2360 80241380 03E00008 */ jr $ra +/* 9A2364 80241384 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241388_9A0FE0.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241388_9A0FE0.s new file mode 100644 index 0000000000..0301c66c67 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241388_9A0FE0.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241388_9A2368 +/* 9A2368 80241388 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A236C 8024138C AFB10014 */ sw $s1, 0x14($sp) +/* 9A2370 80241390 0080882D */ daddu $s1, $a0, $zero +/* 9A2374 80241394 AFBF001C */ sw $ra, 0x1c($sp) +/* 9A2378 80241398 AFB20018 */ sw $s2, 0x18($sp) +/* 9A237C 8024139C AFB00010 */ sw $s0, 0x10($sp) +/* 9A2380 802413A0 8E300148 */ lw $s0, 0x148($s1) +/* 9A2384 802413A4 86040008 */ lh $a0, 8($s0) +/* 9A2388 802413A8 0C00EABB */ jal get_npc_unsafe +/* 9A238C 802413AC 00A0902D */ daddu $s2, $a1, $zero +/* 9A2390 802413B0 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9A2394 802413B4 8E240078 */ lw $a0, 0x78($s1) +/* 9A2398 802413B8 8C630000 */ lw $v1, ($v1) +/* 9A239C 802413BC 0083182A */ slt $v1, $a0, $v1 +/* 9A23A0 802413C0 10600013 */ beqz $v1, .L80241410 +/* 9A23A4 802413C4 0040302D */ daddu $a2, $v0, $zero +/* 9A23A8 802413C8 00041040 */ sll $v0, $a0, 1 +/* 9A23AC 802413CC 00441021 */ addu $v0, $v0, $a0 +/* 9A23B0 802413D0 00022880 */ sll $a1, $v0, 2 +.L802413D4: +/* 9A23B4 802413D4 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9A23B8 802413D8 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 9A23BC 802413DC 00A31021 */ addu $v0, $a1, $v1 +/* 9A23C0 802413E0 C4400008 */ lwc1 $f0, 8($v0) +/* 9A23C4 802413E4 46800020 */ cvt.s.w $f0, $f0 +/* 9A23C8 802413E8 4602003E */ c.le.s $f0, $f2 +/* 9A23CC 802413EC 00000000 */ nop +/* 9A23D0 802413F0 45020003 */ bc1fl .L80241400 +/* 9A23D4 802413F4 24840001 */ addiu $a0, $a0, 1 +/* 9A23D8 802413F8 08090504 */ j .L80241410 +/* 9A23DC 802413FC AE240078 */ sw $a0, 0x78($s1) +.L80241400: +/* 9A23E0 80241400 8C620000 */ lw $v0, ($v1) +/* 9A23E4 80241404 0082102A */ slt $v0, $a0, $v0 +/* 9A23E8 80241408 1440FFF2 */ bnez $v0, .L802413D4 +/* 9A23EC 8024140C 24A5000C */ addiu $a1, $a1, 0xc +.L80241410: +/* 9A23F0 80241410 C6400000 */ lwc1 $f0, ($s2) +/* 9A23F4 80241414 E4C00018 */ swc1 $f0, 0x18($a2) +/* 9A23F8 80241418 8E0200CC */ lw $v0, 0xcc($s0) +/* 9A23FC 8024141C 8C420004 */ lw $v0, 4($v0) +/* 9A2400 80241420 ACC20028 */ sw $v0, 0x28($a2) +/* 9A2404 80241424 24020001 */ addiu $v0, $zero, 1 +/* 9A2408 80241428 AE200074 */ sw $zero, 0x74($s1) +/* 9A240C 8024142C AE220070 */ sw $v0, 0x70($s1) +/* 9A2410 80241430 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A2414 80241434 8FB20018 */ lw $s2, 0x18($sp) +/* 9A2418 80241438 8FB10014 */ lw $s1, 0x14($sp) +/* 9A241C 8024143C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A2420 80241440 03E00008 */ jr $ra +/* 9A2424 80241444 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241448.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241448.s new file mode 100644 index 0000000000..fe15b0befb --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241448.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241448 +/* 9A2428 80241448 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 9A242C 8024144C AFB40058 */ sw $s4, 0x58($sp) +/* 9A2430 80241450 0080A02D */ daddu $s4, $a0, $zero +/* 9A2434 80241454 AFBF0060 */ sw $ra, 0x60($sp) +/* 9A2438 80241458 AFB5005C */ sw $s5, 0x5c($sp) +/* 9A243C 8024145C AFB30054 */ sw $s3, 0x54($sp) +/* 9A2440 80241460 AFB20050 */ sw $s2, 0x50($sp) +/* 9A2444 80241464 AFB1004C */ sw $s1, 0x4c($sp) +/* 9A2448 80241468 AFB00048 */ sw $s0, 0x48($sp) +/* 9A244C 8024146C 8E910148 */ lw $s1, 0x148($s4) +/* 9A2450 80241470 86240008 */ lh $a0, 8($s1) +/* 9A2454 80241474 0C00EABB */ jal get_npc_unsafe +/* 9A2458 80241478 00A0802D */ daddu $s0, $a1, $zero +/* 9A245C 8024147C 8E83000C */ lw $v1, 0xc($s4) +/* 9A2460 80241480 0280202D */ daddu $a0, $s4, $zero +/* 9A2464 80241484 8C650000 */ lw $a1, ($v1) +/* 9A2468 80241488 0C0B1EAF */ jal get_variable +/* 9A246C 8024148C 0040902D */ daddu $s2, $v0, $zero +/* 9A2470 80241490 AFA00018 */ sw $zero, 0x18($sp) +/* 9A2474 80241494 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2478 80241498 8C630094 */ lw $v1, 0x94($v1) +/* 9A247C 8024149C AFA3001C */ sw $v1, 0x1c($sp) +/* 9A2480 802414A0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2484 802414A4 8C630080 */ lw $v1, 0x80($v1) +/* 9A2488 802414A8 AFA30020 */ sw $v1, 0x20($sp) +/* 9A248C 802414AC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2490 802414B0 8C630088 */ lw $v1, 0x88($v1) +/* 9A2494 802414B4 AFA30024 */ sw $v1, 0x24($sp) +/* 9A2498 802414B8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A249C 802414BC 8C63008C */ lw $v1, 0x8c($v1) +/* 9A24A0 802414C0 27B50018 */ addiu $s5, $sp, 0x18 +/* 9A24A4 802414C4 AFA30028 */ sw $v1, 0x28($sp) +/* 9A24A8 802414C8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A24AC 802414CC 3C014282 */ lui $at, 0x4282 +/* 9A24B0 802414D0 44810000 */ mtc1 $at, $f0 +/* 9A24B4 802414D4 8C630090 */ lw $v1, 0x90($v1) +/* 9A24B8 802414D8 0040982D */ daddu $s3, $v0, $zero +/* 9A24BC 802414DC E7A00030 */ swc1 $f0, 0x30($sp) +/* 9A24C0 802414E0 A7A00034 */ sh $zero, 0x34($sp) +/* 9A24C4 802414E4 16000005 */ bnez $s0, .L802414FC +/* 9A24C8 802414E8 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A24CC 802414EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A24D0 802414F0 30420004 */ andi $v0, $v0, 4 +/* 9A24D4 802414F4 10400044 */ beqz $v0, .L80241608 +/* 9A24D8 802414F8 00000000 */ nop +.L802414FC: +/* 9A24DC 802414FC 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A24E0 80241500 AE800070 */ sw $zero, 0x70($s4) +/* 9A24E4 80241504 A640008E */ sh $zero, 0x8e($s2) +/* 9A24E8 80241508 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A24EC 8024150C 8E430000 */ lw $v1, ($s2) +/* 9A24F0 80241510 8C420000 */ lw $v0, ($v0) +/* 9A24F4 80241514 00641824 */ and $v1, $v1, $a0 +/* 9A24F8 80241518 AE430000 */ sw $v1, ($s2) +/* 9A24FC 8024151C AE420028 */ sw $v0, 0x28($s2) +/* 9A2500 80241520 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A2504 80241524 8C420098 */ lw $v0, 0x98($v0) +/* 9A2508 80241528 54400005 */ bnel $v0, $zero, .L80241540 +/* 9A250C 8024152C 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9A2510 80241530 34620200 */ ori $v0, $v1, 0x200 +/* 9A2514 80241534 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A2518 80241538 08090552 */ j .L80241548 +/* 9A251C 8024153C 00431024 */ and $v0, $v0, $v1 +.L80241540: +/* 9A2520 80241540 00621024 */ and $v0, $v1, $v0 +/* 9A2524 80241544 34420008 */ ori $v0, $v0, 8 +.L80241548: +/* 9A2528 80241548 AE420000 */ sw $v0, ($s2) +/* 9A252C 8024154C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A2530 80241550 30420004 */ andi $v0, $v0, 4 +/* 9A2534 80241554 10400008 */ beqz $v0, .L80241578 +/* 9A2538 80241558 24020063 */ addiu $v0, $zero, 0x63 +/* 9A253C 8024155C AE820070 */ sw $v0, 0x70($s4) +/* 9A2540 80241560 AE800074 */ sw $zero, 0x74($s4) +/* 9A2544 80241564 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A2548 80241568 2403FFFB */ addiu $v1, $zero, -5 +/* 9A254C 8024156C 00431024 */ and $v0, $v0, $v1 +/* 9A2550 80241570 08090569 */ j .L802415A4 +/* 9A2554 80241574 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241578: +/* 9A2558 80241578 8E220000 */ lw $v0, ($s1) +/* 9A255C 8024157C 3C034000 */ lui $v1, 0x4000 +/* 9A2560 80241580 00431024 */ and $v0, $v0, $v1 +/* 9A2564 80241584 10400007 */ beqz $v0, .L802415A4 +/* 9A2568 80241588 3C03BFFF */ lui $v1, 0xbfff +/* 9A256C 8024158C 2402000C */ addiu $v0, $zero, 0xc +/* 9A2570 80241590 AE820070 */ sw $v0, 0x70($s4) +/* 9A2574 80241594 8E220000 */ lw $v0, ($s1) +/* 9A2578 80241598 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A257C 8024159C 00431024 */ and $v0, $v0, $v1 +/* 9A2580 802415A0 AE220000 */ sw $v0, ($s1) +.L802415A4: +/* 9A2584 802415A4 27A50038 */ addiu $a1, $sp, 0x38 +/* 9A2588 802415A8 27A6003C */ addiu $a2, $sp, 0x3c +/* 9A258C 802415AC C6400038 */ lwc1 $f0, 0x38($s2) +/* 9A2590 802415B0 864200A8 */ lh $v0, 0xa8($s2) +/* 9A2594 802415B4 3C0142C8 */ lui $at, 0x42c8 +/* 9A2598 802415B8 44812000 */ mtc1 $at, $f4 +/* 9A259C 802415BC 44823000 */ mtc1 $v0, $f6 +/* 9A25A0 802415C0 00000000 */ nop +/* 9A25A4 802415C4 468031A0 */ cvt.s.w $f6, $f6 +/* 9A25A8 802415C8 27A20044 */ addiu $v0, $sp, 0x44 +/* 9A25AC 802415CC E7A00038 */ swc1 $f0, 0x38($sp) +/* 9A25B0 802415D0 C640003C */ lwc1 $f0, 0x3c($s2) +/* 9A25B4 802415D4 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9A25B8 802415D8 46060000 */ add.s $f0, $f0, $f6 +/* 9A25BC 802415DC E7A40044 */ swc1 $f4, 0x44($sp) +/* 9A25C0 802415E0 E7A20040 */ swc1 $f2, 0x40($sp) +/* 9A25C4 802415E4 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 9A25C8 802415E8 AFA20010 */ sw $v0, 0x10($sp) +/* 9A25CC 802415EC 8E440080 */ lw $a0, 0x80($s2) +/* 9A25D0 802415F0 0C0372DF */ jal func_800DCB7C +/* 9A25D4 802415F4 27A70040 */ addiu $a3, $sp, 0x40 +/* 9A25D8 802415F8 10400003 */ beqz $v0, .L80241608 +/* 9A25DC 802415FC 00000000 */ nop +/* 9A25E0 80241600 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 9A25E4 80241604 E640003C */ swc1 $f0, 0x3c($s2) +.L80241608: +/* 9A25E8 80241608 8E830070 */ lw $v1, 0x70($s4) +/* 9A25EC 8024160C 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9A25F0 80241610 10400042 */ beqz $v0, .L8024171C +/* 9A25F4 80241614 00031080 */ sll $v0, $v1, 2 +/* 9A25F8 80241618 3C018024 */ lui $at, 0x8024 +/* 9A25FC 8024161C 00220821 */ addu $at, $at, $v0 +/* 9A2600 80241620 8C223350 */ lw $v0, 0x3350($at) +/* 9A2604 80241624 00400008 */ jr $v0 +/* 9A2608 80241628 00000000 */ nop +/* 9A260C 8024162C 0280202D */ daddu $a0, $s4, $zero +/* 9A2610 80241630 0260282D */ daddu $a1, $s3, $zero +/* 9A2614 80241634 0C09022D */ jal func_802408B4 +/* 9A2618 80241638 02A0302D */ daddu $a2, $s5, $zero +/* 9A261C 8024163C 0280202D */ daddu $a0, $s4, $zero +/* 9A2620 80241640 0260282D */ daddu $a1, $s3, $zero +/* 9A2624 80241644 0C090283 */ jal func_80240A0C +/* 9A2628 80241648 02A0302D */ daddu $a2, $s5, $zero +/* 9A262C 8024164C 080905C7 */ j .L8024171C +/* 9A2630 80241650 00000000 */ nop +/* 9A2634 80241654 0280202D */ daddu $a0, $s4, $zero +/* 9A2638 80241658 0260282D */ daddu $a1, $s3, $zero +/* 9A263C 8024165C 0C09032D */ jal func_80240CB4 +/* 9A2640 80241660 02A0302D */ daddu $a2, $s5, $zero +/* 9A2644 80241664 0280202D */ daddu $a0, $s4, $zero +/* 9A2648 80241668 0260282D */ daddu $a1, $s3, $zero +/* 9A264C 8024166C 0C09035D */ jal func_80240D74 +/* 9A2650 80241670 02A0302D */ daddu $a2, $s5, $zero +/* 9A2654 80241674 080905C7 */ j .L8024171C +/* 9A2658 80241678 00000000 */ nop +/* 9A265C 8024167C 0280202D */ daddu $a0, $s4, $zero +/* 9A2660 80241680 0260282D */ daddu $a1, $s3, $zero +/* 9A2664 80241684 0C0903CC */ jal func_80240F30 +/* 9A2668 80241688 02A0302D */ daddu $a2, $s5, $zero +/* 9A266C 8024168C 080905C7 */ j .L8024171C +/* 9A2670 80241690 00000000 */ nop +/* 9A2674 80241694 0280202D */ daddu $a0, $s4, $zero +/* 9A2678 80241698 0260282D */ daddu $a1, $s3, $zero +/* 9A267C 8024169C 0C0903F9 */ jal func_80240FE4 +/* 9A2680 802416A0 02A0302D */ daddu $a2, $s5, $zero +/* 9A2684 802416A4 0280202D */ daddu $a0, $s4, $zero +/* 9A2688 802416A8 0260282D */ daddu $a1, $s3, $zero +/* 9A268C 802416AC 0C090416 */ jal func_80241058 +/* 9A2690 802416B0 02A0302D */ daddu $a2, $s5, $zero +/* 9A2694 802416B4 080905C7 */ j .L8024171C +/* 9A2698 802416B8 00000000 */ nop +/* 9A269C 802416BC 0280202D */ daddu $a0, $s4, $zero +/* 9A26A0 802416C0 0260282D */ daddu $a1, $s3, $zero +/* 9A26A4 802416C4 0C090434 */ jal func_802410D0 +/* 9A26A8 802416C8 02A0302D */ daddu $a2, $s5, $zero +/* 9A26AC 802416CC 0280202D */ daddu $a0, $s4, $zero +/* 9A26B0 802416D0 0260282D */ daddu $a1, $s3, $zero +/* 9A26B4 802416D4 0C090480 */ jal func_80241200 +/* 9A26B8 802416D8 02A0302D */ daddu $a2, $s5, $zero +/* 9A26BC 802416DC 080905C7 */ j .L8024171C +/* 9A26C0 802416E0 00000000 */ nop +/* 9A26C4 802416E4 0280202D */ daddu $a0, $s4, $zero +/* 9A26C8 802416E8 0260282D */ daddu $a1, $s3, $zero +/* 9A26CC 802416EC 0C0904C8 */ jal func_80241320 +/* 9A26D0 802416F0 02A0302D */ daddu $a2, $s5, $zero +/* 9A26D4 802416F4 080905C7 */ j .L8024171C +/* 9A26D8 802416F8 00000000 */ nop +/* 9A26DC 802416FC 0280202D */ daddu $a0, $s4, $zero +/* 9A26E0 80241700 0260282D */ daddu $a1, $s3, $zero +/* 9A26E4 80241704 0C0904E2 */ jal func_80241388 +/* 9A26E8 80241708 02A0302D */ daddu $a2, $s5, $zero +/* 9A26EC 8024170C 080905C7 */ j .L8024171C +/* 9A26F0 80241710 00000000 */ nop +/* 9A26F4 80241714 0C0129CF */ jal func_8004A73C +/* 9A26F8 80241718 0280202D */ daddu $a0, $s4, $zero +.L8024171C: +/* 9A26FC 8024171C 8FBF0060 */ lw $ra, 0x60($sp) +/* 9A2700 80241720 8FB5005C */ lw $s5, 0x5c($sp) +/* 9A2704 80241724 8FB40058 */ lw $s4, 0x58($sp) +/* 9A2708 80241728 8FB30054 */ lw $s3, 0x54($sp) +/* 9A270C 8024172C 8FB20050 */ lw $s2, 0x50($sp) +/* 9A2710 80241730 8FB1004C */ lw $s1, 0x4c($sp) +/* 9A2714 80241734 8FB00048 */ lw $s0, 0x48($sp) +/* 9A2718 80241738 0000102D */ daddu $v0, $zero, $zero +/* 9A271C 8024173C 03E00008 */ jr $ra +/* 9A2720 80241740 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_trd/trd_02/func_80241744.s b/asm/nonmatchings/world/area_trd/trd_02/func_80241744.s new file mode 100644 index 0000000000..27174310ff --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_02/func_80241744.s @@ -0,0 +1,206 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241744 +/* 9A2724 80241744 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9A2728 80241748 AFB3005C */ sw $s3, 0x5c($sp) +/* 9A272C 8024174C 0080982D */ daddu $s3, $a0, $zero +/* 9A2730 80241750 AFBF0068 */ sw $ra, 0x68($sp) +/* 9A2734 80241754 AFB50064 */ sw $s5, 0x64($sp) +/* 9A2738 80241758 AFB40060 */ sw $s4, 0x60($sp) +/* 9A273C 8024175C AFB20058 */ sw $s2, 0x58($sp) +/* 9A2740 80241760 AFB10054 */ sw $s1, 0x54($sp) +/* 9A2744 80241764 AFB00050 */ sw $s0, 0x50($sp) +/* 9A2748 80241768 8E710148 */ lw $s1, 0x148($s3) +/* 9A274C 8024176C 86240008 */ lh $a0, 8($s1) +/* 9A2750 80241770 0C00EABB */ jal get_npc_unsafe +/* 9A2754 80241774 00A0802D */ daddu $s0, $a1, $zero +/* 9A2758 80241778 8E63000C */ lw $v1, 0xc($s3) +/* 9A275C 8024177C 0260202D */ daddu $a0, $s3, $zero +/* 9A2760 80241780 8C650000 */ lw $a1, ($v1) +/* 9A2764 80241784 0C0B1EAF */ jal get_variable +/* 9A2768 80241788 0040902D */ daddu $s2, $v0, $zero +/* 9A276C 8024178C AFA00028 */ sw $zero, 0x28($sp) +/* 9A2770 80241790 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2774 80241794 8C630094 */ lw $v1, 0x94($v1) +/* 9A2778 80241798 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A277C 8024179C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2780 802417A0 8C630080 */ lw $v1, 0x80($v1) +/* 9A2784 802417A4 AFA30030 */ sw $v1, 0x30($sp) +/* 9A2788 802417A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A278C 802417AC 8C630088 */ lw $v1, 0x88($v1) +/* 9A2790 802417B0 AFA30034 */ sw $v1, 0x34($sp) +/* 9A2794 802417B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A2798 802417B8 8C63008C */ lw $v1, 0x8c($v1) +/* 9A279C 802417BC 27B50028 */ addiu $s5, $sp, 0x28 +/* 9A27A0 802417C0 AFA30038 */ sw $v1, 0x38($sp) +/* 9A27A4 802417C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A27A8 802417C8 3C0142C8 */ lui $at, 0x42c8 +/* 9A27AC 802417CC 44810000 */ mtc1 $at, $f0 +/* 9A27B0 802417D0 8C630090 */ lw $v1, 0x90($v1) +/* 9A27B4 802417D4 0040A02D */ daddu $s4, $v0, $zero +/* 9A27B8 802417D8 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9A27BC 802417DC A7A00044 */ sh $zero, 0x44($sp) +/* 9A27C0 802417E0 12000007 */ beqz $s0, .L80241800 +/* 9A27C4 802417E4 AFA3003C */ sw $v1, 0x3c($sp) +/* 9A27C8 802417E8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A27CC 802417EC 864300A8 */ lh $v1, 0xa8($s2) +/* 9A27D0 802417F0 34420008 */ ori $v0, $v0, 8 +/* 9A27D4 802417F4 AE230084 */ sw $v1, 0x84($s1) +/* 9A27D8 802417F8 08090604 */ j .L80241810 +/* 9A27DC 802417FC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241800: +/* 9A27E0 80241800 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A27E4 80241804 30420004 */ andi $v0, $v0, 4 +/* 9A27E8 80241808 10400048 */ beqz $v0, .L8024192C +/* 9A27EC 8024180C 00000000 */ nop +.L80241810: +/* 9A27F0 80241810 A640008E */ sh $zero, 0x8e($s2) +/* 9A27F4 80241814 AE600070 */ sw $zero, 0x70($s3) +/* 9A27F8 80241818 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A27FC 8024181C 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A2800 80241820 A2200007 */ sb $zero, 7($s1) +/* 9A2804 80241824 8E420000 */ lw $v0, ($s2) +/* 9A2808 80241828 8C630000 */ lw $v1, ($v1) +/* 9A280C 8024182C 00441024 */ and $v0, $v0, $a0 +/* 9A2810 80241830 AE420000 */ sw $v0, ($s2) +/* 9A2814 80241834 AE430028 */ sw $v1, 0x28($s2) +/* 9A2818 80241838 96220086 */ lhu $v0, 0x86($s1) +/* 9A281C 8024183C A64200A8 */ sh $v0, 0xa8($s2) +/* 9A2820 80241840 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A2824 80241844 A22000B5 */ sb $zero, 0xb5($s1) +/* 9A2828 80241848 AE20008C */ sw $zero, 0x8c($s1) +/* 9A282C 8024184C 8C420098 */ lw $v0, 0x98($v0) +/* 9A2830 80241850 14400006 */ bnez $v0, .L8024186C +/* 9A2834 80241854 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9A2838 80241858 8E420000 */ lw $v0, ($s2) +/* 9A283C 8024185C 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A2840 80241860 34420200 */ ori $v0, $v0, 0x200 +/* 9A2844 80241864 0809061E */ j .L80241878 +/* 9A2848 80241868 00431024 */ and $v0, $v0, $v1 +.L8024186C: +/* 9A284C 8024186C 8E420000 */ lw $v0, ($s2) +/* 9A2850 80241870 00431024 */ and $v0, $v0, $v1 +/* 9A2854 80241874 34420008 */ ori $v0, $v0, 8 +.L80241878: +/* 9A2858 80241878 AE420000 */ sw $v0, ($s2) +/* 9A285C 8024187C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A2860 80241880 30420004 */ andi $v0, $v0, 4 +/* 9A2864 80241884 1040001E */ beqz $v0, .L80241900 +/* 9A2868 80241888 24040002 */ addiu $a0, $zero, 2 +/* 9A286C 8024188C 0240282D */ daddu $a1, $s2, $zero +/* 9A2870 80241890 0000302D */ daddu $a2, $zero, $zero +/* 9A2874 80241894 24020063 */ addiu $v0, $zero, 0x63 +/* 9A2878 80241898 AE620070 */ sw $v0, 0x70($s3) +/* 9A287C 8024189C AE600074 */ sw $zero, 0x74($s3) +/* 9A2880 802418A0 864300A8 */ lh $v1, 0xa8($s2) +/* 9A2884 802418A4 3C013F80 */ lui $at, 0x3f80 +/* 9A2888 802418A8 44810000 */ mtc1 $at, $f0 +/* 9A288C 802418AC 3C014000 */ lui $at, 0x4000 +/* 9A2890 802418B0 44811000 */ mtc1 $at, $f2 +/* 9A2894 802418B4 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A2898 802418B8 44812000 */ mtc1 $at, $f4 +/* 9A289C 802418BC 24020028 */ addiu $v0, $zero, 0x28 +/* 9A28A0 802418C0 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A28A4 802418C4 44833000 */ mtc1 $v1, $f6 +/* 9A28A8 802418C8 00000000 */ nop +/* 9A28AC 802418CC 468031A0 */ cvt.s.w $f6, $f6 +/* 9A28B0 802418D0 44073000 */ mfc1 $a3, $f6 +/* 9A28B4 802418D4 27A20048 */ addiu $v0, $sp, 0x48 +/* 9A28B8 802418D8 AFA20020 */ sw $v0, 0x20($sp) +/* 9A28BC 802418DC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A28C0 802418E0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A28C4 802418E4 0C01BFA4 */ jal fx_emote +/* 9A28C8 802418E8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A28CC 802418EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A28D0 802418F0 2403FFFB */ addiu $v1, $zero, -5 +/* 9A28D4 802418F4 00431024 */ and $v0, $v0, $v1 +/* 9A28D8 802418F8 0809064B */ j .L8024192C +/* 9A28DC 802418FC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241900: +/* 9A28E0 80241900 8E220000 */ lw $v0, ($s1) +/* 9A28E4 80241904 3C034000 */ lui $v1, 0x4000 +/* 9A28E8 80241908 00431024 */ and $v0, $v0, $v1 +/* 9A28EC 8024190C 10400007 */ beqz $v0, .L8024192C +/* 9A28F0 80241910 3C03BFFF */ lui $v1, 0xbfff +/* 9A28F4 80241914 2402000C */ addiu $v0, $zero, 0xc +/* 9A28F8 80241918 AE620070 */ sw $v0, 0x70($s3) +/* 9A28FC 8024191C 8E220000 */ lw $v0, ($s1) +/* 9A2900 80241920 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A2904 80241924 00431024 */ and $v0, $v0, $v1 +/* 9A2908 80241928 AE220000 */ sw $v0, ($s1) +.L8024192C: +/* 9A290C 8024192C 8E630070 */ lw $v1, 0x70($s3) +/* 9A2910 80241930 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9A2914 80241934 1040003A */ beqz $v0, .L80241A20 +/* 9A2918 80241938 00031080 */ sll $v0, $v1, 2 +/* 9A291C 8024193C 3C018024 */ lui $at, 0x8024 +/* 9A2920 80241940 00220821 */ addu $at, $at, $v0 +/* 9A2924 80241944 8C2234E0 */ lw $v0, 0x34e0($at) +/* 9A2928 80241948 00400008 */ jr $v0 +/* 9A292C 8024194C 00000000 */ nop +/* 9A2930 80241950 0260202D */ daddu $a0, $s3, $zero +/* 9A2934 80241954 0280282D */ daddu $a1, $s4, $zero +/* 9A2938 80241958 0C09022D */ jal func_802408B4 +/* 9A293C 8024195C 02A0302D */ daddu $a2, $s5, $zero +/* 9A2940 80241960 96220086 */ lhu $v0, 0x86($s1) +/* 9A2944 80241964 A64200A8 */ sh $v0, 0xa8($s2) +/* 9A2948 80241968 0260202D */ daddu $a0, $s3, $zero +/* 9A294C 8024196C 0280282D */ daddu $a1, $s4, $zero +/* 9A2950 80241970 0C090283 */ jal func_80240A0C +/* 9A2954 80241974 02A0302D */ daddu $a2, $s5, $zero +/* 9A2958 80241978 08090688 */ j .L80241A20 +/* 9A295C 8024197C 00000000 */ nop +/* 9A2960 80241980 0260202D */ daddu $a0, $s3, $zero +/* 9A2964 80241984 0280282D */ daddu $a1, $s4, $zero +/* 9A2968 80241988 0C09032D */ jal func_80240CB4 +/* 9A296C 8024198C 02A0302D */ daddu $a2, $s5, $zero +/* 9A2970 80241990 0260202D */ daddu $a0, $s3, $zero +/* 9A2974 80241994 0280282D */ daddu $a1, $s4, $zero +/* 9A2978 80241998 0C09035D */ jal func_80240D74 +/* 9A297C 8024199C 02A0302D */ daddu $a2, $s5, $zero +/* 9A2980 802419A0 08090688 */ j .L80241A20 +/* 9A2984 802419A4 00000000 */ nop +/* 9A2988 802419A8 0260202D */ daddu $a0, $s3, $zero +/* 9A298C 802419AC 0280282D */ daddu $a1, $s4, $zero +/* 9A2990 802419B0 0C0903CC */ jal func_80240F30 +/* 9A2994 802419B4 02A0302D */ daddu $a2, $s5, $zero +/* 9A2998 802419B8 08090688 */ j .L80241A20 +/* 9A299C 802419BC 00000000 */ nop +/* 9A29A0 802419C0 0260202D */ daddu $a0, $s3, $zero +/* 9A29A4 802419C4 0280282D */ daddu $a1, $s4, $zero +/* 9A29A8 802419C8 0C090038 */ jal func_802400E0 +/* 9A29AC 802419CC 02A0302D */ daddu $a2, $s5, $zero +/* 9A29B0 802419D0 0260202D */ daddu $a0, $s3, $zero +/* 9A29B4 802419D4 0280282D */ daddu $a1, $s4, $zero +/* 9A29B8 802419D8 0C090057 */ jal func_8024015C +/* 9A29BC 802419DC 02A0302D */ daddu $a2, $s5, $zero +/* 9A29C0 802419E0 08090688 */ j .L80241A20 +/* 9A29C4 802419E4 00000000 */ nop +/* 9A29C8 802419E8 0260202D */ daddu $a0, $s3, $zero +/* 9A29CC 802419EC 0280282D */ daddu $a1, $s4, $zero +/* 9A29D0 802419F0 0C0900A4 */ jal func_80240290 +/* 9A29D4 802419F4 02A0302D */ daddu $a2, $s5, $zero +/* 9A29D8 802419F8 08090688 */ j .L80241A20 +/* 9A29DC 802419FC 00000000 */ nop +/* 9A29E0 80241A00 0260202D */ daddu $a0, $s3, $zero +/* 9A29E4 80241A04 0280282D */ daddu $a1, $s4, $zero +/* 9A29E8 80241A08 0C0900FD */ jal func_802403F4 +/* 9A29EC 80241A0C 02A0302D */ daddu $a2, $s5, $zero +/* 9A29F0 80241A10 08090688 */ j .L80241A20 +/* 9A29F4 80241A14 00000000 */ nop +/* 9A29F8 80241A18 0C0129CF */ jal func_8004A73C +/* 9A29FC 80241A1C 0260202D */ daddu $a0, $s3, $zero +.L80241A20: +/* 9A2A00 80241A20 8FBF0068 */ lw $ra, 0x68($sp) +/* 9A2A04 80241A24 8FB50064 */ lw $s5, 0x64($sp) +/* 9A2A08 80241A28 8FB40060 */ lw $s4, 0x60($sp) +/* 9A2A0C 80241A2C 8FB3005C */ lw $s3, 0x5c($sp) +/* 9A2A10 80241A30 8FB20058 */ lw $s2, 0x58($sp) +/* 9A2A14 80241A34 8FB10054 */ lw $s1, 0x54($sp) +/* 9A2A18 80241A38 8FB00050 */ lw $s0, 0x50($sp) +/* 9A2A1C 80241A3C 0000102D */ daddu $v0, $zero, $zero +/* 9A2A20 80241A40 03E00008 */ jr $ra +/* 9A2A24 80241A44 27BD0070 */ addiu $sp, $sp, 0x70 +/* 9A2A28 80241A48 00000000 */ nop +/* 9A2A2C 80241A4C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_80240000_9A4650.s b/asm/nonmatchings/world/area_trd/trd_03/func_80240000_9A4650.s new file mode 100644 index 0000000000..c551f887e9 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_80240000_9A4650.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9A4650 +/* 9A4650 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A4654 80240004 3C038016 */ lui $v1, 0x8016 +/* 9A4658 80240008 8463A550 */ lh $v1, -0x5ab0($v1) +/* 9A465C 8024000C 24020023 */ addiu $v0, $zero, 0x23 +/* 9A4660 80240010 AFBF0010 */ sw $ra, 0x10($sp) +/* 9A4664 80240014 8C85000C */ lw $a1, 0xc($a0) +/* 9A4668 80240018 14620005 */ bne $v1, $v0, .L80240030 +/* 9A466C 8024001C 0000302D */ daddu $a2, $zero, $zero +/* 9A4670 80240020 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9A4674 80240024 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9A4678 80240028 80420040 */ lb $v0, 0x40($v0) +/* 9A467C 8024002C 000237C2 */ srl $a2, $v0, 0x1f +.L80240030: +/* 9A4680 80240030 24020025 */ addiu $v0, $zero, 0x25 +/* 9A4684 80240034 14620006 */ bne $v1, $v0, .L80240050 +/* 9A4688 80240038 00000000 */ nop +/* 9A468C 8024003C 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9A4690 80240040 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9A4694 80240044 80420040 */ lb $v0, 0x40($v0) +/* 9A4698 80240048 5C400001 */ bgtzl $v0, .L80240050 +/* 9A469C 8024004C 24060002 */ addiu $a2, $zero, 2 +.L80240050: +/* 9A46A0 80240050 8CA50000 */ lw $a1, ($a1) +/* 9A46A4 80240054 0C0B2026 */ jal set_variable +/* 9A46A8 80240058 00000000 */ nop +/* 9A46AC 8024005C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9A46B0 80240060 24020002 */ addiu $v0, $zero, 2 +/* 9A46B4 80240064 03E00008 */ jr $ra +/* 9A46B8 80240068 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_8024006C_9A4650.s b/asm/nonmatchings/world/area_trd/trd_03/func_8024006C_9A4650.s new file mode 100644 index 0000000000..c1aeb7186c --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_8024006C_9A4650.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024006C_9A46BC +/* 9A46BC 8024006C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A46C0 80240070 AFBF0010 */ sw $ra, 0x10($sp) +/* 9A46C4 80240074 8C82000C */ lw $v0, 0xc($a0) +/* 9A46C8 80240078 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 9A46CC 8024007C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 9A46D0 80240080 8C450000 */ lw $a1, ($v0) +/* 9A46D4 80240084 0C0B2026 */ jal set_variable +/* 9A46D8 80240088 94660134 */ lhu $a2, 0x134($v1) +/* 9A46DC 8024008C 8FBF0010 */ lw $ra, 0x10($sp) +/* 9A46E0 80240090 24020002 */ addiu $v0, $zero, 2 +/* 9A46E4 80240094 03E00008 */ jr $ra +/* 9A46E8 80240098 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9A46EC 8024009C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_802400A0.s b/asm/nonmatchings/world/area_trd/trd_03/func_802400A0.s new file mode 100644 index 0000000000..8bdbec2945 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_802400A0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0 +/* 9A46F0 802400A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A46F4 802400A4 AFB20018 */ sw $s2, 0x18($sp) +/* 9A46F8 802400A8 0080902D */ daddu $s2, $a0, $zero +/* 9A46FC 802400AC AFBF001C */ sw $ra, 0x1c($sp) +/* 9A4700 802400B0 AFB10014 */ sw $s1, 0x14($sp) +/* 9A4704 802400B4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A4708 802400B8 8E510148 */ lw $s1, 0x148($s2) +/* 9A470C 802400BC 0C00EABB */ jal get_npc_unsafe +/* 9A4710 802400C0 86240008 */ lh $a0, 8($s1) +/* 9A4714 802400C4 0040802D */ daddu $s0, $v0, $zero +/* 9A4718 802400C8 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A471C 802400CC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A4720 802400D0 8C630020 */ lw $v1, 0x20($v1) +/* 9A4724 802400D4 AE030028 */ sw $v1, 0x28($s0) +/* 9A4728 802400D8 96220076 */ lhu $v0, 0x76($s1) +/* 9A472C 802400DC A602008E */ sh $v0, 0x8e($s0) +/* 9A4730 802400E0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A4734 802400E4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A4738 802400E8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A473C 802400EC 8C460028 */ lw $a2, 0x28($v0) +/* 9A4740 802400F0 0C00A720 */ jal atan2 +/* 9A4744 802400F4 8C470030 */ lw $a3, 0x30($v0) +/* 9A4748 802400F8 2402000D */ addiu $v0, $zero, 0xd +/* 9A474C 802400FC E600000C */ swc1 $f0, 0xc($s0) +/* 9A4750 80240100 AE420070 */ sw $v0, 0x70($s2) +/* 9A4754 80240104 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A4758 80240108 8FB20018 */ lw $s2, 0x18($sp) +/* 9A475C 8024010C 8FB10014 */ lw $s1, 0x14($sp) +/* 9A4760 80240110 8FB00010 */ lw $s0, 0x10($sp) +/* 9A4764 80240114 03E00008 */ jr $ra +/* 9A4768 80240118 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_8024011C.s b/asm/nonmatchings/world/area_trd/trd_03/func_8024011C.s new file mode 100644 index 0000000000..b3be4d1e73 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_8024011C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024011C +/* 9A476C 8024011C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A4770 80240120 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A4774 80240124 0080982D */ daddu $s3, $a0, $zero +/* 9A4778 80240128 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A477C 8024012C AFB20018 */ sw $s2, 0x18($sp) +/* 9A4780 80240130 AFB10014 */ sw $s1, 0x14($sp) +/* 9A4784 80240134 AFB00010 */ sw $s0, 0x10($sp) +/* 9A4788 80240138 8E710148 */ lw $s1, 0x148($s3) +/* 9A478C 8024013C 86240008 */ lh $a0, 8($s1) +/* 9A4790 80240140 0C00EABB */ jal get_npc_unsafe +/* 9A4794 80240144 00A0902D */ daddu $s2, $a1, $zero +/* 9A4798 80240148 0040802D */ daddu $s0, $v0, $zero +/* 9A479C 8024014C 8602008E */ lh $v0, 0x8e($s0) +/* 9A47A0 80240150 9603008E */ lhu $v1, 0x8e($s0) +/* 9A47A4 80240154 18400005 */ blez $v0, .L8024016C +/* 9A47A8 80240158 2462FFFF */ addiu $v0, $v1, -1 +/* 9A47AC 8024015C A602008E */ sh $v0, 0x8e($s0) +/* 9A47B0 80240160 00021400 */ sll $v0, $v0, 0x10 +/* 9A47B4 80240164 1C400033 */ bgtz $v0, .L80240234 +/* 9A47B8 80240168 00000000 */ nop +.L8024016C: +/* 9A47BC 8024016C 8602008C */ lh $v0, 0x8c($s0) +/* 9A47C0 80240170 14400030 */ bnez $v0, .L80240234 +/* 9A47C4 80240174 00000000 */ nop +/* 9A47C8 80240178 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A47CC 8024017C 8C420024 */ lw $v0, 0x24($v0) +/* 9A47D0 80240180 AE020028 */ sw $v0, 0x28($s0) +/* 9A47D4 80240184 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9A47D8 80240188 E6000018 */ swc1 $f0, 0x18($s0) +/* 9A47DC 8024018C 8E230088 */ lw $v1, 0x88($s1) +/* 9A47E0 80240190 24020005 */ addiu $v0, $zero, 5 +/* 9A47E4 80240194 10620005 */ beq $v1, $v0, .L802401AC +/* 9A47E8 80240198 00000000 */ nop +/* 9A47EC 8024019C 10600003 */ beqz $v1, .L802401AC +/* 9A47F0 802401A0 24020001 */ addiu $v0, $zero, 1 +/* 9A47F4 802401A4 14620006 */ bne $v1, $v0, .L802401C0 +/* 9A47F8 802401A8 00000000 */ nop +.L802401AC: +/* 9A47FC 802401AC 8E220084 */ lw $v0, 0x84($s1) +/* 9A4800 802401B0 00021FC2 */ srl $v1, $v0, 0x1f +/* 9A4804 802401B4 00431021 */ addu $v0, $v0, $v1 +/* 9A4808 802401B8 00021043 */ sra $v0, $v0, 1 +/* 9A480C 802401BC A60200A8 */ sh $v0, 0xa8($s0) +.L802401C0: +/* 9A4810 802401C0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A4814 802401C4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A4818 802401C8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A481C 802401CC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A4820 802401D0 8C460028 */ lw $a2, 0x28($v0) +/* 9A4824 802401D4 0C00A7B5 */ jal dist2D +/* 9A4828 802401D8 8C470030 */ lw $a3, 0x30($v0) +/* 9A482C 802401DC C6020018 */ lwc1 $f2, 0x18($s0) +/* 9A4830 802401E0 46020003 */ div.s $f0, $f0, $f2 +/* 9A4834 802401E4 3C018024 */ lui $at, 0x8024 +/* 9A4838 802401E8 D4223D40 */ ldc1 $f2, 0x3d40($at) +/* 9A483C 802401EC 46000021 */ cvt.d.s $f0, $f0 +/* 9A4840 802401F0 46220000 */ add.d $f0, $f0, $f2 +/* 9A4844 802401F4 4620010D */ trunc.w.d $f4, $f0 +/* 9A4848 802401F8 44022000 */ mfc1 $v0, $f4 +/* 9A484C 802401FC 00000000 */ nop +/* 9A4850 80240200 A602008E */ sh $v0, 0x8e($s0) +/* 9A4854 80240204 00021400 */ sll $v0, $v0, 0x10 +/* 9A4858 80240208 8E230078 */ lw $v1, 0x78($s1) +/* 9A485C 8024020C 00021403 */ sra $v0, $v0, 0x10 +/* 9A4860 80240210 0043102A */ slt $v0, $v0, $v1 +/* 9A4864 80240214 10400003 */ beqz $v0, .L80240224 +/* 9A4868 80240218 00000000 */ nop +/* 9A486C 8024021C 9622007A */ lhu $v0, 0x7a($s1) +/* 9A4870 80240220 A602008E */ sh $v0, 0x8e($s0) +.L80240224: +/* 9A4874 80240224 8602008E */ lh $v0, 0x8e($s0) +/* 9A4878 80240228 AE22007C */ sw $v0, 0x7c($s1) +/* 9A487C 8024022C 2402000E */ addiu $v0, $zero, 0xe +/* 9A4880 80240230 AE620070 */ sw $v0, 0x70($s3) +.L80240234: +/* 9A4884 80240234 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A4888 80240238 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A488C 8024023C 8FB20018 */ lw $s2, 0x18($sp) +/* 9A4890 80240240 8FB10014 */ lw $s1, 0x14($sp) +/* 9A4894 80240244 8FB00010 */ lw $s0, 0x10($sp) +/* 9A4898 80240248 03E00008 */ jr $ra +/* 9A489C 8024024C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_80240250.s b/asm/nonmatchings/world/area_trd/trd_03/func_80240250.s new file mode 100644 index 0000000000..15c4af6b59 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_80240250.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240250 +/* 9A48A0 80240250 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A48A4 80240254 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A48A8 80240258 0080982D */ daddu $s3, $a0, $zero +/* 9A48AC 8024025C AFBF0040 */ sw $ra, 0x40($sp) +/* 9A48B0 80240260 AFB20038 */ sw $s2, 0x38($sp) +/* 9A48B4 80240264 AFB10034 */ sw $s1, 0x34($sp) +/* 9A48B8 80240268 AFB00030 */ sw $s0, 0x30($sp) +/* 9A48BC 8024026C 8E710148 */ lw $s1, 0x148($s3) +/* 9A48C0 80240270 0C00EABB */ jal get_npc_unsafe +/* 9A48C4 80240274 86240008 */ lh $a0, 8($s1) +/* 9A48C8 80240278 0040802D */ daddu $s0, $v0, $zero +/* 9A48CC 8024027C 8E22007C */ lw $v0, 0x7c($s1) +/* 9A48D0 80240280 8603008E */ lh $v1, 0x8e($s0) +/* 9A48D4 80240284 2442FFFF */ addiu $v0, $v0, -1 +/* 9A48D8 80240288 14620012 */ bne $v1, $v0, .L802402D4 +/* 9A48DC 8024028C 00000000 */ nop +/* 9A48E0 80240290 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A48E4 80240294 4600020D */ trunc.w.s $f8, $f0 +/* 9A48E8 80240298 44024000 */ mfc1 $v0, $f8 +/* 9A48EC 8024029C 00000000 */ nop +/* 9A48F0 802402A0 A6220010 */ sh $v0, 0x10($s1) +/* 9A48F4 802402A4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9A48F8 802402A8 4600020D */ trunc.w.s $f8, $f0 +/* 9A48FC 802402AC 44024000 */ mfc1 $v0, $f8 +/* 9A4900 802402B0 00000000 */ nop +/* 9A4904 802402B4 A6220012 */ sh $v0, 0x12($s1) +/* 9A4908 802402B8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9A490C 802402BC 24020001 */ addiu $v0, $zero, 1 +/* 9A4910 802402C0 A2220007 */ sb $v0, 7($s1) +/* 9A4914 802402C4 4600020D */ trunc.w.s $f8, $f0 +/* 9A4918 802402C8 44024000 */ mfc1 $v0, $f8 +/* 9A491C 802402CC 00000000 */ nop +/* 9A4920 802402D0 A6220014 */ sh $v0, 0x14($s1) +.L802402D4: +/* 9A4924 802402D4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A4928 802402D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9A492C 802402DC C6040040 */ lwc1 $f4, 0x40($s0) +/* 9A4930 802402E0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9A4934 802402E4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9A4938 802402E8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9A493C 802402EC E7A40028 */ swc1 $f4, 0x28($sp) +/* 9A4940 802402F0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9A4944 802402F4 C600000C */ lwc1 $f0, 0xc($s0) +/* 9A4948 802402F8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9A494C 802402FC 860200A8 */ lh $v0, 0xa8($s0) +/* 9A4950 80240300 27A50020 */ addiu $a1, $sp, 0x20 +/* 9A4954 80240304 44820000 */ mtc1 $v0, $f0 +/* 9A4958 80240308 00000000 */ nop +/* 9A495C 8024030C 46800020 */ cvt.s.w $f0, $f0 +/* 9A4960 80240310 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9A4964 80240314 860200A6 */ lh $v0, 0xa6($s0) +/* 9A4968 80240318 27A60024 */ addiu $a2, $sp, 0x24 +/* 9A496C 8024031C 44820000 */ mtc1 $v0, $f0 +/* 9A4970 80240320 00000000 */ nop +/* 9A4974 80240324 46800020 */ cvt.s.w $f0, $f0 +/* 9A4978 80240328 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9A497C 8024032C 8E040080 */ lw $a0, 0x80($s0) +/* 9A4980 80240330 0C037711 */ jal func_800DDC44 +/* 9A4984 80240334 27A70028 */ addiu $a3, $sp, 0x28 +/* 9A4988 80240338 0040902D */ daddu $s2, $v0, $zero +/* 9A498C 8024033C 16400005 */ bnez $s2, .L80240354 +/* 9A4990 80240340 00000000 */ nop +/* 9A4994 80240344 8E050018 */ lw $a1, 0x18($s0) +/* 9A4998 80240348 8E06000C */ lw $a2, 0xc($s0) +/* 9A499C 8024034C 0C00EA95 */ jal npc_move_heading +/* 9A49A0 80240350 0200202D */ daddu $a0, $s0, $zero +.L80240354: +/* 9A49A4 80240354 8602008E */ lh $v0, 0x8e($s0) +/* 9A49A8 80240358 9603008E */ lhu $v1, 0x8e($s0) +/* 9A49AC 8024035C 18400007 */ blez $v0, .L8024037C +/* 9A49B0 80240360 2462FFFF */ addiu $v0, $v1, -1 +/* 9A49B4 80240364 A602008E */ sh $v0, 0x8e($s0) +/* 9A49B8 80240368 00021400 */ sll $v0, $v0, 0x10 +/* 9A49BC 8024036C 18400003 */ blez $v0, .L8024037C +/* 9A49C0 80240370 00000000 */ nop +/* 9A49C4 80240374 12400008 */ beqz $s2, .L80240398 +/* 9A49C8 80240378 00000000 */ nop +.L8024037C: +/* 9A49CC 8024037C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A49D0 80240380 A2200007 */ sb $zero, 7($s1) +/* 9A49D4 80240384 8C420028 */ lw $v0, 0x28($v0) +/* 9A49D8 80240388 A600008E */ sh $zero, 0x8e($s0) +/* 9A49DC 8024038C AE020028 */ sw $v0, 0x28($s0) +/* 9A49E0 80240390 2402000F */ addiu $v0, $zero, 0xf +/* 9A49E4 80240394 AE620070 */ sw $v0, 0x70($s3) +.L80240398: +/* 9A49E8 80240398 8FBF0040 */ lw $ra, 0x40($sp) +/* 9A49EC 8024039C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A49F0 802403A0 8FB20038 */ lw $s2, 0x38($sp) +/* 9A49F4 802403A4 8FB10034 */ lw $s1, 0x34($sp) +/* 9A49F8 802403A8 8FB00030 */ lw $s0, 0x30($sp) +/* 9A49FC 802403AC 03E00008 */ jr $ra +/* 9A4A00 802403B0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_802403B4_9A4650.s b/asm/nonmatchings/world/area_trd/trd_03/func_802403B4_9A4650.s new file mode 100644 index 0000000000..64cf42927e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_802403B4_9A4650.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B4_9A4A04 +/* 9A4A04 802403B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A4A08 802403B8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A4A0C 802403BC 0080882D */ daddu $s1, $a0, $zero +/* 9A4A10 802403C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9A4A14 802403C4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A4A18 802403C8 8E300148 */ lw $s0, 0x148($s1) +/* 9A4A1C 802403CC 0C00EABB */ jal get_npc_unsafe +/* 9A4A20 802403D0 86040008 */ lh $a0, 8($s0) +/* 9A4A24 802403D4 0040202D */ daddu $a0, $v0, $zero +/* 9A4A28 802403D8 9482008E */ lhu $v0, 0x8e($a0) +/* 9A4A2C 802403DC 24030003 */ addiu $v1, $zero, 3 +/* 9A4A30 802403E0 24420001 */ addiu $v0, $v0, 1 +/* 9A4A34 802403E4 A482008E */ sh $v0, 0x8e($a0) +/* 9A4A38 802403E8 00021400 */ sll $v0, $v0, 0x10 +/* 9A4A3C 802403EC 00021403 */ sra $v0, $v0, 0x10 +/* 9A4A40 802403F0 14430003 */ bne $v0, $v1, .L80240400 +/* 9A4A44 802403F4 00000000 */ nop +/* 9A4A48 802403F8 96020086 */ lhu $v0, 0x86($s0) +/* 9A4A4C 802403FC A48200A8 */ sh $v0, 0xa8($a0) +.L80240400: +/* 9A4A50 80240400 8482008E */ lh $v0, 0x8e($a0) +/* 9A4A54 80240404 8E030080 */ lw $v1, 0x80($s0) +/* 9A4A58 80240408 0043102A */ slt $v0, $v0, $v1 +/* 9A4A5C 8024040C 14400004 */ bnez $v0, .L80240420 +/* 9A4A60 80240410 00000000 */ nop +/* 9A4A64 80240414 96020086 */ lhu $v0, 0x86($s0) +/* 9A4A68 80240418 A48200A8 */ sh $v0, 0xa8($a0) +/* 9A4A6C 8024041C AE200070 */ sw $zero, 0x70($s1) +.L80240420: +/* 9A4A70 80240420 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A4A74 80240424 8FB10014 */ lw $s1, 0x14($sp) +/* 9A4A78 80240428 8FB00010 */ lw $s0, 0x10($sp) +/* 9A4A7C 8024042C 03E00008 */ jr $ra +/* 9A4A80 80240430 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_80240434_9A4650.s b/asm/nonmatchings/world/area_trd/trd_03/func_80240434_9A4650.s new file mode 100644 index 0000000000..618c0d1e7a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_80240434_9A4650.s @@ -0,0 +1,304 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240434_9A4A84 +/* 9A4A84 80240434 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9A4A88 80240438 AFB3005C */ sw $s3, 0x5c($sp) +/* 9A4A8C 8024043C 0080982D */ daddu $s3, $a0, $zero +/* 9A4A90 80240440 AFBF0068 */ sw $ra, 0x68($sp) +/* 9A4A94 80240444 AFB50064 */ sw $s5, 0x64($sp) +/* 9A4A98 80240448 AFB40060 */ sw $s4, 0x60($sp) +/* 9A4A9C 8024044C AFB20058 */ sw $s2, 0x58($sp) +/* 9A4AA0 80240450 AFB10054 */ sw $s1, 0x54($sp) +/* 9A4AA4 80240454 AFB00050 */ sw $s0, 0x50($sp) +/* 9A4AA8 80240458 8E710148 */ lw $s1, 0x148($s3) +/* 9A4AAC 8024045C 86240008 */ lh $a0, 8($s1) +/* 9A4AB0 80240460 0C00EABB */ jal get_npc_unsafe +/* 9A4AB4 80240464 00A0802D */ daddu $s0, $a1, $zero +/* 9A4AB8 80240468 8E63000C */ lw $v1, 0xc($s3) +/* 9A4ABC 8024046C 0260202D */ daddu $a0, $s3, $zero +/* 9A4AC0 80240470 8C650000 */ lw $a1, ($v1) +/* 9A4AC4 80240474 0C0B1EAF */ jal get_variable +/* 9A4AC8 80240478 0040902D */ daddu $s2, $v0, $zero +/* 9A4ACC 8024047C AFA00028 */ sw $zero, 0x28($sp) +/* 9A4AD0 80240480 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A4AD4 80240484 8C630030 */ lw $v1, 0x30($v1) +/* 9A4AD8 80240488 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A4ADC 8024048C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A4AE0 80240490 8C63001C */ lw $v1, 0x1c($v1) +/* 9A4AE4 80240494 AFA30030 */ sw $v1, 0x30($sp) +/* 9A4AE8 80240498 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A4AEC 8024049C 8C630024 */ lw $v1, 0x24($v1) +/* 9A4AF0 802404A0 AFA30034 */ sw $v1, 0x34($sp) +/* 9A4AF4 802404A4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A4AF8 802404A8 8C630028 */ lw $v1, 0x28($v1) +/* 9A4AFC 802404AC 27B50028 */ addiu $s5, $sp, 0x28 +/* 9A4B00 802404B0 AFA30038 */ sw $v1, 0x38($sp) +/* 9A4B04 802404B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A4B08 802404B8 3C0142C8 */ lui $at, 0x42c8 +/* 9A4B0C 802404BC 44810000 */ mtc1 $at, $f0 +/* 9A4B10 802404C0 8C63002C */ lw $v1, 0x2c($v1) +/* 9A4B14 802404C4 0040A02D */ daddu $s4, $v0, $zero +/* 9A4B18 802404C8 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9A4B1C 802404CC A7A00044 */ sh $zero, 0x44($sp) +/* 9A4B20 802404D0 12000009 */ beqz $s0, .L802404F8 +/* 9A4B24 802404D4 AFA3003C */ sw $v1, 0x3c($sp) +/* 9A4B28 802404D8 864300A8 */ lh $v1, 0xa8($s2) +/* 9A4B2C 802404DC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A4B30 802404E0 AE20008C */ sw $zero, 0x8c($s1) +/* 9A4B34 802404E4 A22000B5 */ sb $zero, 0xb5($s1) +/* 9A4B38 802404E8 34420008 */ ori $v0, $v0, 8 +/* 9A4B3C 802404EC AE230084 */ sw $v1, 0x84($s1) +/* 9A4B40 802404F0 08090142 */ j .L80240508 +/* 9A4B44 802404F4 AE2200B0 */ sw $v0, 0xb0($s1) +.L802404F8: +/* 9A4B48 802404F8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A4B4C 802404FC 30420004 */ andi $v0, $v0, 4 +/* 9A4B50 80240500 10400047 */ beqz $v0, .L80240620 +/* 9A4B54 80240504 00000000 */ nop +.L80240508: +/* 9A4B58 80240508 AE600070 */ sw $zero, 0x70($s3) +/* 9A4B5C 8024050C A640008E */ sh $zero, 0x8e($s2) +/* 9A4B60 80240510 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A4B64 80240514 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A4B68 80240518 A2200007 */ sb $zero, 7($s1) +/* 9A4B6C 8024051C 8E420000 */ lw $v0, ($s2) +/* 9A4B70 80240520 8C630000 */ lw $v1, ($v1) +/* 9A4B74 80240524 00441024 */ and $v0, $v0, $a0 +/* 9A4B78 80240528 AE420000 */ sw $v0, ($s2) +/* 9A4B7C 8024052C AE430028 */ sw $v1, 0x28($s2) +/* 9A4B80 80240530 96220086 */ lhu $v0, 0x86($s1) +/* 9A4B84 80240534 A64200A8 */ sh $v0, 0xa8($s2) +/* 9A4B88 80240538 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A4B8C 8024053C AE200090 */ sw $zero, 0x90($s1) +/* 9A4B90 80240540 8C420034 */ lw $v0, 0x34($v0) +/* 9A4B94 80240544 14400006 */ bnez $v0, .L80240560 +/* 9A4B98 80240548 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9A4B9C 8024054C 8E420000 */ lw $v0, ($s2) +/* 9A4BA0 80240550 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A4BA4 80240554 34420200 */ ori $v0, $v0, 0x200 +/* 9A4BA8 80240558 0809015B */ j .L8024056C +/* 9A4BAC 8024055C 00431024 */ and $v0, $v0, $v1 +.L80240560: +/* 9A4BB0 80240560 8E420000 */ lw $v0, ($s2) +/* 9A4BB4 80240564 00431024 */ and $v0, $v0, $v1 +/* 9A4BB8 80240568 34420008 */ ori $v0, $v0, 8 +.L8024056C: +/* 9A4BBC 8024056C AE420000 */ sw $v0, ($s2) +/* 9A4BC0 80240570 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A4BC4 80240574 30420004 */ andi $v0, $v0, 4 +/* 9A4BC8 80240578 1040001E */ beqz $v0, .L802405F4 +/* 9A4BCC 8024057C 24040002 */ addiu $a0, $zero, 2 +/* 9A4BD0 80240580 0240282D */ daddu $a1, $s2, $zero +/* 9A4BD4 80240584 0000302D */ daddu $a2, $zero, $zero +/* 9A4BD8 80240588 24020063 */ addiu $v0, $zero, 0x63 +/* 9A4BDC 8024058C AE620070 */ sw $v0, 0x70($s3) +/* 9A4BE0 80240590 AE600074 */ sw $zero, 0x74($s3) +/* 9A4BE4 80240594 864300A8 */ lh $v1, 0xa8($s2) +/* 9A4BE8 80240598 3C013F80 */ lui $at, 0x3f80 +/* 9A4BEC 8024059C 44810000 */ mtc1 $at, $f0 +/* 9A4BF0 802405A0 3C014000 */ lui $at, 0x4000 +/* 9A4BF4 802405A4 44811000 */ mtc1 $at, $f2 +/* 9A4BF8 802405A8 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A4BFC 802405AC 44812000 */ mtc1 $at, $f4 +/* 9A4C00 802405B0 24020028 */ addiu $v0, $zero, 0x28 +/* 9A4C04 802405B4 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A4C08 802405B8 44833000 */ mtc1 $v1, $f6 +/* 9A4C0C 802405BC 00000000 */ nop +/* 9A4C10 802405C0 468031A0 */ cvt.s.w $f6, $f6 +/* 9A4C14 802405C4 44073000 */ mfc1 $a3, $f6 +/* 9A4C18 802405C8 27A20048 */ addiu $v0, $sp, 0x48 +/* 9A4C1C 802405CC AFA20020 */ sw $v0, 0x20($sp) +/* 9A4C20 802405D0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A4C24 802405D4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A4C28 802405D8 0C01BFA4 */ jal fx_emote +/* 9A4C2C 802405DC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A4C30 802405E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A4C34 802405E4 2403FFFB */ addiu $v1, $zero, -5 +/* 9A4C38 802405E8 00431024 */ and $v0, $v0, $v1 +/* 9A4C3C 802405EC 08090188 */ j .L80240620 +/* 9A4C40 802405F0 AE2200B0 */ sw $v0, 0xb0($s1) +.L802405F4: +/* 9A4C44 802405F4 8E220000 */ lw $v0, ($s1) +/* 9A4C48 802405F8 3C034000 */ lui $v1, 0x4000 +/* 9A4C4C 802405FC 00431024 */ and $v0, $v0, $v1 +/* 9A4C50 80240600 10400007 */ beqz $v0, .L80240620 +/* 9A4C54 80240604 3C03BFFF */ lui $v1, 0xbfff +/* 9A4C58 80240608 2402000C */ addiu $v0, $zero, 0xc +/* 9A4C5C 8024060C AE620070 */ sw $v0, 0x70($s3) +/* 9A4C60 80240610 8E220000 */ lw $v0, ($s1) +/* 9A4C64 80240614 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A4C68 80240618 00431024 */ and $v0, $v0, $v1 +/* 9A4C6C 8024061C AE220000 */ sw $v0, ($s1) +.L80240620: +/* 9A4C70 80240620 8E220090 */ lw $v0, 0x90($s1) +/* 9A4C74 80240624 1840000C */ blez $v0, .L80240658 +/* 9A4C78 80240628 2442FFFF */ addiu $v0, $v0, -1 +/* 9A4C7C 8024062C 14400087 */ bnez $v0, .L8024084C +/* 9A4C80 80240630 AE220090 */ sw $v0, 0x90($s1) +/* 9A4C84 80240634 3C03FFAA */ lui $v1, 0xffaa +/* 9A4C88 80240638 8E420028 */ lw $v0, 0x28($s2) +/* 9A4C8C 8024063C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9A4C90 80240640 00431021 */ addu $v0, $v0, $v1 +/* 9A4C94 80240644 2C420002 */ sltiu $v0, $v0, 2 +/* 9A4C98 80240648 10400003 */ beqz $v0, .L80240658 +/* 9A4C9C 8024064C 3C020055 */ lui $v0, 0x55 +/* 9A4CA0 80240650 3442000C */ ori $v0, $v0, 0xc +/* 9A4CA4 80240654 AE420028 */ sw $v0, 0x28($s2) +.L80240658: +/* 9A4CA8 80240658 8E630070 */ lw $v1, 0x70($s3) +/* 9A4CAC 8024065C 2402000C */ addiu $v0, $zero, 0xc +/* 9A4CB0 80240660 10620048 */ beq $v1, $v0, .L80240784 +/* 9A4CB4 80240664 2862000D */ slti $v0, $v1, 0xd +/* 9A4CB8 80240668 1040000F */ beqz $v0, .L802406A8 +/* 9A4CBC 8024066C 24100001 */ addiu $s0, $zero, 1 +/* 9A4CC0 80240670 1070001E */ beq $v1, $s0, .L802406EC +/* 9A4CC4 80240674 28620002 */ slti $v0, $v1, 2 +/* 9A4CC8 80240678 10400005 */ beqz $v0, .L80240690 +/* 9A4CCC 8024067C 24020002 */ addiu $v0, $zero, 2 +/* 9A4CD0 80240680 10600015 */ beqz $v1, .L802406D8 +/* 9A4CD4 80240684 0260202D */ daddu $a0, $s3, $zero +/* 9A4CD8 80240688 080901F8 */ j .L802407E0 +/* 9A4CDC 8024068C 00000000 */ nop +.L80240690: +/* 9A4CE0 80240690 1062001C */ beq $v1, $v0, .L80240704 +/* 9A4CE4 80240694 24020003 */ addiu $v0, $zero, 3 +/* 9A4CE8 80240698 10620035 */ beq $v1, $v0, .L80240770 +/* 9A4CEC 8024069C 0260202D */ daddu $a0, $s3, $zero +/* 9A4CF0 802406A0 080901F8 */ j .L802407E0 +/* 9A4CF4 802406A4 00000000 */ nop +.L802406A8: +/* 9A4CF8 802406A8 2402000E */ addiu $v0, $zero, 0xe +/* 9A4CFC 802406AC 1062003F */ beq $v1, $v0, .L802407AC +/* 9A4D00 802406B0 0062102A */ slt $v0, $v1, $v0 +/* 9A4D04 802406B4 14400038 */ bnez $v0, .L80240798 +/* 9A4D08 802406B8 0260202D */ daddu $a0, $s3, $zero +/* 9A4D0C 802406BC 2402000F */ addiu $v0, $zero, 0xf +/* 9A4D10 802406C0 10620040 */ beq $v1, $v0, .L802407C4 +/* 9A4D14 802406C4 24020063 */ addiu $v0, $zero, 0x63 +/* 9A4D18 802406C8 10620043 */ beq $v1, $v0, .L802407D8 +/* 9A4D1C 802406CC 00000000 */ nop +/* 9A4D20 802406D0 080901F8 */ j .L802407E0 +/* 9A4D24 802406D4 00000000 */ nop +.L802406D8: +/* 9A4D28 802406D8 0280282D */ daddu $a1, $s4, $zero +/* 9A4D2C 802406DC 0C012568 */ jal func_800495A0 +/* 9A4D30 802406E0 02A0302D */ daddu $a2, $s5, $zero +/* 9A4D34 802406E4 96220086 */ lhu $v0, 0x86($s1) +/* 9A4D38 802406E8 A64200A8 */ sh $v0, 0xa8($s2) +.L802406EC: +/* 9A4D3C 802406EC 0260202D */ daddu $a0, $s3, $zero +/* 9A4D40 802406F0 0280282D */ daddu $a1, $s4, $zero +/* 9A4D44 802406F4 0C0125AE */ jal func_800496B8 +/* 9A4D48 802406F8 02A0302D */ daddu $a2, $s5, $zero +/* 9A4D4C 802406FC 080901F8 */ j .L802407E0 +/* 9A4D50 80240700 00000000 */ nop +.L80240704: +/* 9A4D54 80240704 0260202D */ daddu $a0, $s3, $zero +/* 9A4D58 80240708 0280282D */ daddu $a1, $s4, $zero +/* 9A4D5C 8024070C 0C0126D1 */ jal func_80049B44 +/* 9A4D60 80240710 02A0302D */ daddu $a2, $s5, $zero +/* 9A4D64 80240714 8E230088 */ lw $v1, 0x88($s1) +/* 9A4D68 80240718 24020006 */ addiu $v0, $zero, 6 +/* 9A4D6C 8024071C 14620014 */ bne $v1, $v0, .L80240770 +/* 9A4D70 80240720 0260202D */ daddu $a0, $s3, $zero +/* 9A4D74 80240724 0C00A67F */ jal rand_int +/* 9A4D78 80240728 24040064 */ addiu $a0, $zero, 0x64 +/* 9A4D7C 8024072C 28420021 */ slti $v0, $v0, 0x21 +/* 9A4D80 80240730 5040000F */ beql $v0, $zero, .L80240770 +/* 9A4D84 80240734 0260202D */ daddu $a0, $s3, $zero +/* 9A4D88 80240738 8E22008C */ lw $v0, 0x8c($s1) +/* 9A4D8C 8024073C 10400005 */ beqz $v0, .L80240754 +/* 9A4D90 80240740 3C020055 */ lui $v0, 0x55 +/* 9A4D94 80240744 3442002F */ ori $v0, $v0, 0x2f +/* 9A4D98 80240748 AE20008C */ sw $zero, 0x8c($s1) +/* 9A4D9C 8024074C 080901D8 */ j .L80240760 +/* 9A4DA0 80240750 A22000B5 */ sb $zero, 0xb5($s1) +.L80240754: +/* 9A4DA4 80240754 3442002E */ ori $v0, $v0, 0x2e +/* 9A4DA8 80240758 AE30008C */ sw $s0, 0x8c($s1) +/* 9A4DAC 8024075C A23000B5 */ sb $s0, 0xb5($s1) +.L80240760: +/* 9A4DB0 80240760 AE420028 */ sw $v0, 0x28($s2) +/* 9A4DB4 80240764 24020007 */ addiu $v0, $zero, 7 +/* 9A4DB8 80240768 08090213 */ j .L8024084C +/* 9A4DBC 8024076C AE220090 */ sw $v0, 0x90($s1) +.L80240770: +/* 9A4DC0 80240770 0280282D */ daddu $a1, $s4, $zero +/* 9A4DC4 80240774 0C012701 */ jal func_80049C04 +/* 9A4DC8 80240778 02A0302D */ daddu $a2, $s5, $zero +/* 9A4DCC 8024077C 080901F8 */ j .L802407E0 +/* 9A4DD0 80240780 00000000 */ nop +.L80240784: +/* 9A4DD4 80240784 0260202D */ daddu $a0, $s3, $zero +/* 9A4DD8 80240788 0280282D */ daddu $a1, $s4, $zero +/* 9A4DDC 8024078C 0C090028 */ jal func_802400A0 +/* 9A4DE0 80240790 02A0302D */ daddu $a2, $s5, $zero +/* 9A4DE4 80240794 0260202D */ daddu $a0, $s3, $zero +.L80240798: +/* 9A4DE8 80240798 0280282D */ daddu $a1, $s4, $zero +/* 9A4DEC 8024079C 0C090047 */ jal func_8024011C +/* 9A4DF0 802407A0 02A0302D */ daddu $a2, $s5, $zero +/* 9A4DF4 802407A4 080901F8 */ j .L802407E0 +/* 9A4DF8 802407A8 00000000 */ nop +.L802407AC: +/* 9A4DFC 802407AC 0260202D */ daddu $a0, $s3, $zero +/* 9A4E00 802407B0 0280282D */ daddu $a1, $s4, $zero +/* 9A4E04 802407B4 0C090094 */ jal func_80240250 +/* 9A4E08 802407B8 02A0302D */ daddu $a2, $s5, $zero +/* 9A4E0C 802407BC 080901F8 */ j .L802407E0 +/* 9A4E10 802407C0 00000000 */ nop +.L802407C4: +/* 9A4E14 802407C4 0280282D */ daddu $a1, $s4, $zero +/* 9A4E18 802407C8 0C0900ED */ jal func_802403B4 +/* 9A4E1C 802407CC 02A0302D */ daddu $a2, $s5, $zero +/* 9A4E20 802407D0 080901F8 */ j .L802407E0 +/* 9A4E24 802407D4 00000000 */ nop +.L802407D8: +/* 9A4E28 802407D8 0C0129CF */ jal func_8004A73C +/* 9A4E2C 802407DC 0260202D */ daddu $a0, $s3, $zero +.L802407E0: +/* 9A4E30 802407E0 8E230088 */ lw $v1, 0x88($s1) +/* 9A4E34 802407E4 24020006 */ addiu $v0, $zero, 6 +/* 9A4E38 802407E8 14620019 */ bne $v1, $v0, .L80240850 +/* 9A4E3C 802407EC 0000102D */ daddu $v0, $zero, $zero +/* 9A4E40 802407F0 8E22008C */ lw $v0, 0x8c($s1) +/* 9A4E44 802407F4 10400003 */ beqz $v0, .L80240804 +/* 9A4E48 802407F8 24020001 */ addiu $v0, $zero, 1 +/* 9A4E4C 802407FC 08090202 */ j .L80240808 +/* 9A4E50 80240800 A22200B5 */ sb $v0, 0xb5($s1) +.L80240804: +/* 9A4E54 80240804 A22000B5 */ sb $zero, 0xb5($s1) +.L80240808: +/* 9A4E58 80240808 8E22008C */ lw $v0, 0x8c($s1) +/* 9A4E5C 8024080C 1040000F */ beqz $v0, .L8024084C +/* 9A4E60 80240810 3C03FFAA */ lui $v1, 0xffaa +/* 9A4E64 80240814 8E420028 */ lw $v0, 0x28($s2) +/* 9A4E68 80240818 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9A4E6C 8024081C 00431821 */ addu $v1, $v0, $v1 +/* 9A4E70 80240820 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9A4E74 80240824 10400009 */ beqz $v0, .L8024084C +/* 9A4E78 80240828 00031080 */ sll $v0, $v1, 2 +/* 9A4E7C 8024082C 3C018024 */ lui $at, 0x8024 +/* 9A4E80 80240830 00220821 */ addu $at, $at, $v0 +/* 9A4E84 80240834 8C223D48 */ lw $v0, 0x3d48($at) +/* 9A4E88 80240838 00400008 */ jr $v0 +/* 9A4E8C 8024083C 00000000 */ nop +/* 9A4E90 80240840 8E420028 */ lw $v0, 0x28($s2) +/* 9A4E94 80240844 24420001 */ addiu $v0, $v0, 1 +/* 9A4E98 80240848 AE420028 */ sw $v0, 0x28($s2) +.L8024084C: +/* 9A4E9C 8024084C 0000102D */ daddu $v0, $zero, $zero +.L80240850: +/* 9A4EA0 80240850 8FBF0068 */ lw $ra, 0x68($sp) +/* 9A4EA4 80240854 8FB50064 */ lw $s5, 0x64($sp) +/* 9A4EA8 80240858 8FB40060 */ lw $s4, 0x60($sp) +/* 9A4EAC 8024085C 8FB3005C */ lw $s3, 0x5c($sp) +/* 9A4EB0 80240860 8FB20058 */ lw $s2, 0x58($sp) +/* 9A4EB4 80240864 8FB10054 */ lw $s1, 0x54($sp) +/* 9A4EB8 80240868 8FB00050 */ lw $s0, 0x50($sp) +/* 9A4EBC 8024086C 03E00008 */ jr $ra +/* 9A4EC0 80240870 27BD0070 */ addiu $sp, $sp, 0x70 +/* 9A4EC4 80240874 00000000 */ nop +/* 9A4EC8 80240878 00000000 */ nop +/* 9A4ECC 8024087C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_03/func_80240880_9A4650.s b/asm/nonmatchings/world/area_trd/trd_03/func_80240880_9A4650.s new file mode 100644 index 0000000000..bba6fc7587 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_03/func_80240880_9A4650.s @@ -0,0 +1,96 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240880_9A4ED0 +/* 9A4ED0 80240880 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9A4ED4 80240884 AFB10014 */ sw $s1, 0x14($sp) +/* 9A4ED8 80240888 0080882D */ daddu $s1, $a0, $zero +/* 9A4EDC 8024088C AFBF0020 */ sw $ra, 0x20($sp) +/* 9A4EE0 80240890 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A4EE4 80240894 AFB20018 */ sw $s2, 0x18($sp) +/* 9A4EE8 80240898 AFB00010 */ sw $s0, 0x10($sp) +/* 9A4EEC 8024089C F7BC0048 */ sdc1 $f28, 0x48($sp) +/* 9A4EF0 802408A0 F7BA0040 */ sdc1 $f26, 0x40($sp) +/* 9A4EF4 802408A4 F7B80038 */ sdc1 $f24, 0x38($sp) +/* 9A4EF8 802408A8 F7B60030 */ sdc1 $f22, 0x30($sp) +/* 9A4EFC 802408AC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9A4F00 802408B0 8E30000C */ lw $s0, 0xc($s1) +/* 9A4F04 802408B4 8E050000 */ lw $a1, ($s0) +/* 9A4F08 802408B8 0C0B1EAF */ jal get_variable +/* 9A4F0C 802408BC 26100004 */ addiu $s0, $s0, 4 +/* 9A4F10 802408C0 8E050000 */ lw $a1, ($s0) +/* 9A4F14 802408C4 26100004 */ addiu $s0, $s0, 4 +/* 9A4F18 802408C8 0220202D */ daddu $a0, $s1, $zero +/* 9A4F1C 802408CC 0C0B1EAF */ jal get_variable +/* 9A4F20 802408D0 0040902D */ daddu $s2, $v0, $zero +/* 9A4F24 802408D4 0220202D */ daddu $a0, $s1, $zero +/* 9A4F28 802408D8 8E050000 */ lw $a1, ($s0) +/* 9A4F2C 802408DC 0C0B1EAF */ jal get_variable +/* 9A4F30 802408E0 0040982D */ daddu $s3, $v0, $zero +/* 9A4F34 802408E4 3C10800B */ lui $s0, %hi(gCameras) +/* 9A4F38 802408E8 26101D80 */ addiu $s0, $s0, %lo(gCameras) +/* 9A4F3C 802408EC C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9A4F40 802408F0 3C014387 */ lui $at, 0x4387 +/* 9A4F44 802408F4 4481B000 */ mtc1 $at, $f22 +/* 9A4F48 802408F8 00000000 */ nop +/* 9A4F4C 802408FC 46166300 */ add.s $f12, $f12, $f22 +/* 9A4F50 80240900 4482C000 */ mtc1 $v0, $f24 +/* 9A4F54 80240904 00000000 */ nop +/* 9A4F58 80240908 4680C620 */ cvt.s.w $f24, $f24 +/* 9A4F5C 8024090C 3C0142C8 */ lui $at, 0x42c8 +/* 9A4F60 80240910 4481D000 */ mtc1 $at, $f26 +/* 9A4F64 80240914 0C00A8BB */ jal sin_deg +/* 9A4F68 80240918 46186300 */ add.s $f12, $f12, $f24 +/* 9A4F6C 8024091C 461A0002 */ mul.s $f0, $f0, $f26 +/* 9A4F70 80240920 00000000 */ nop +/* 9A4F74 80240924 4492A000 */ mtc1 $s2, $f20 +/* 9A4F78 80240928 00000000 */ nop +/* 9A4F7C 8024092C 4680A520 */ cvt.s.w $f20, $f20 +/* 9A4F80 80240930 4600A000 */ add.s $f0, $f20, $f0 +/* 9A4F84 80240934 4600008D */ trunc.w.s $f2, $f0 +/* 9A4F88 80240938 E6220084 */ swc1 $f2, 0x84($s1) +/* 9A4F8C 8024093C C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9A4F90 80240940 46166300 */ add.s $f12, $f12, $f22 +/* 9A4F94 80240944 0C00A8D4 */ jal cos_deg +/* 9A4F98 80240948 46186300 */ add.s $f12, $f12, $f24 +/* 9A4F9C 8024094C 461A0002 */ mul.s $f0, $f0, $f26 +/* 9A4FA0 80240950 00000000 */ nop +/* 9A4FA4 80240954 4493B000 */ mtc1 $s3, $f22 +/* 9A4FA8 80240958 00000000 */ nop +/* 9A4FAC 8024095C 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9A4FB0 80240960 4600B001 */ sub.s $f0, $f22, $f0 +/* 9A4FB4 80240964 3C0142B4 */ lui $at, 0x42b4 +/* 9A4FB8 80240968 4481E000 */ mtc1 $at, $f28 +/* 9A4FBC 8024096C 4600008D */ trunc.w.s $f2, $f0 +/* 9A4FC0 80240970 E6220088 */ swc1 $f2, 0x88($s1) +/* 9A4FC4 80240974 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9A4FC8 80240978 461C6300 */ add.s $f12, $f12, $f28 +/* 9A4FCC 8024097C 0C00A8BB */ jal sin_deg +/* 9A4FD0 80240980 46186300 */ add.s $f12, $f12, $f24 +/* 9A4FD4 80240984 461A0002 */ mul.s $f0, $f0, $f26 +/* 9A4FD8 80240988 00000000 */ nop +/* 9A4FDC 8024098C 4600A500 */ add.s $f20, $f20, $f0 +/* 9A4FE0 80240990 4600A08D */ trunc.w.s $f2, $f20 +/* 9A4FE4 80240994 E622008C */ swc1 $f2, 0x8c($s1) +/* 9A4FE8 80240998 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9A4FEC 8024099C 461C6300 */ add.s $f12, $f12, $f28 +/* 9A4FF0 802409A0 0C00A8D4 */ jal cos_deg +/* 9A4FF4 802409A4 46186300 */ add.s $f12, $f12, $f24 +/* 9A4FF8 802409A8 461A0002 */ mul.s $f0, $f0, $f26 +/* 9A4FFC 802409AC 00000000 */ nop +/* 9A5000 802409B0 4600B581 */ sub.s $f22, $f22, $f0 +/* 9A5004 802409B4 4600B08D */ trunc.w.s $f2, $f22 +/* 9A5008 802409B8 E6220090 */ swc1 $f2, 0x90($s1) +/* 9A500C 802409BC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A5010 802409C0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A5014 802409C4 8FB20018 */ lw $s2, 0x18($sp) +/* 9A5018 802409C8 8FB10014 */ lw $s1, 0x14($sp) +/* 9A501C 802409CC 8FB00010 */ lw $s0, 0x10($sp) +/* 9A5020 802409D0 D7BC0048 */ ldc1 $f28, 0x48($sp) +/* 9A5024 802409D4 D7BA0040 */ ldc1 $f26, 0x40($sp) +/* 9A5028 802409D8 D7B80038 */ ldc1 $f24, 0x38($sp) +/* 9A502C 802409DC D7B60030 */ ldc1 $f22, 0x30($sp) +/* 9A5030 802409E0 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9A5034 802409E4 24020002 */ addiu $v0, $zero, 2 +/* 9A5038 802409E8 03E00008 */ jr $ra +/* 9A503C 802409EC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240000_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240000_9A83F0.s new file mode 100644 index 0000000000..f991d81b4b --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240000_9A83F0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9A83F0 +/* 9A83F0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A83F4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9A83F8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9A83FC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 9A8400 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9A8404 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 9A8408 80240018 00621821 */ addu $v1, $v1, $v0 +/* 9A840C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 9A8410 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9A8414 80240024 3C020002 */ lui $v0, 2 +/* 9A8418 80240028 08090010 */ j .L80240040 +/* 9A841C 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 9A8420 80240030 3C040002 */ lui $a0, 2 +/* 9A8424 80240034 0083102A */ slt $v0, $a0, $v1 +/* 9A8428 80240038 10400002 */ beqz $v0, .L80240044 +/* 9A842C 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 9A8430 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 9A8434 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 9A8438 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 9A843C 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 9A8440 80240050 04610004 */ bgez $v1, .L80240064 +/* 9A8444 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 9A8448 80240058 3C020002 */ lui $v0, 2 +/* 9A844C 8024005C 0809001D */ j .L80240074 +/* 9A8450 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 9A8454 80240064 3C040002 */ lui $a0, 2 +/* 9A8458 80240068 0083102A */ slt $v0, $a0, $v1 +/* 9A845C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 9A8460 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 9A8464 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 9A8468 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9A846C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 9A8470 80240080 00621821 */ addu $v1, $v1, $v0 +/* 9A8474 80240084 04610004 */ bgez $v1, .L80240098 +/* 9A8478 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9A847C 8024008C 3C020002 */ lui $v0, 2 +/* 9A8480 80240090 0809002A */ j .L802400A8 +/* 9A8484 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 9A8488 80240098 3C040002 */ lui $a0, 2 +/* 9A848C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 9A8490 802400A0 10400002 */ beqz $v0, .L802400AC +/* 9A8494 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 9A8498 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 9A849C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9A84A0 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 9A84A4 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 9A84A8 802400B8 04610004 */ bgez $v1, .L802400CC +/* 9A84AC 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 9A84B0 802400C0 3C020002 */ lui $v0, 2 +/* 9A84B4 802400C4 08090037 */ j .L802400DC +/* 9A84B8 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 9A84BC 802400CC 3C040002 */ lui $a0, 2 +/* 9A84C0 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 9A84C4 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 9A84C8 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 9A84CC 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 9A84D0 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 9A84D4 802400E4 0C046F07 */ jal set_main_pan_u +/* 9A84D8 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9A84DC 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 9A84E0 802400F0 0C046F0D */ jal set_main_pan_v +/* 9A84E4 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 9A84E8 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 9A84EC 802400FC 0C046F13 */ jal set_aux_pan_u +/* 9A84F0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9A84F4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 9A84F8 80240108 0C046F19 */ jal set_aux_pan_v +/* 9A84FC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9A8500 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 9A8504 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 9A8508 80240118 0000102D */ daddu $v0, $zero, $zero +/* 9A850C 8024011C 03E00008 */ jr $ra +/* 9A8510 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240124_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240124_9A83F0.s new file mode 100644 index 0000000000..6446c0744a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240124_9A83F0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_9A8514 +/* 9A8514 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A8518 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 9A851C 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 9A8520 80240130 10A00005 */ beqz $a1, .L80240148 +/* 9A8524 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 9A8528 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 9A852C 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 9A8530 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 9A8534 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 9A8538 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 9A853C 8024014C 1440000E */ bnez $v0, .L80240188 +/* 9A8540 80240150 00000000 */ nop +/* 9A8544 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9A8548 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 9A854C 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 9A8550 80240160 04610004 */ bgez $v1, .L80240174 +/* 9A8554 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9A8558 80240168 3C020002 */ lui $v0, 2 +/* 9A855C 8024016C 08090061 */ j .L80240184 +/* 9A8560 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 9A8564 80240174 3C040002 */ lui $a0, 2 +/* 9A8568 80240178 0083102A */ slt $v0, $a0, $v1 +/* 9A856C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 9A8570 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 9A8574 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 9A8578 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 9A857C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 9A8580 80240190 00000000 */ nop +/* 9A8584 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 9A8588 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 9A858C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 9A8590 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 9A8594 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 9A8598 802401A8 3C020002 */ lui $v0, 2 +/* 9A859C 802401AC 08090071 */ j .L802401C4 +/* 9A85A0 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 9A85A4 802401B4 3C040002 */ lui $a0, 2 +/* 9A85A8 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 9A85AC 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 9A85B0 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 9A85B4 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 9A85B8 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 9A85BC 802401CC 1440000E */ bnez $v0, .L80240208 +/* 9A85C0 802401D0 00000000 */ nop +/* 9A85C4 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9A85C8 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 9A85CC 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 9A85D0 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 9A85D4 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9A85D8 802401E8 3C020002 */ lui $v0, 2 +/* 9A85DC 802401EC 08090081 */ j .L80240204 +/* 9A85E0 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 9A85E4 802401F4 3C040002 */ lui $a0, 2 +/* 9A85E8 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 9A85EC 802401FC 10400002 */ beqz $v0, .L80240208 +/* 9A85F0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 9A85F4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 9A85F8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 9A85FC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 9A8600 80240210 00000000 */ nop +/* 9A8604 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9A8608 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 9A860C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 9A8610 80240220 04610004 */ bgez $v1, .L80240234 +/* 9A8614 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 9A8618 80240228 3C020002 */ lui $v0, 2 +/* 9A861C 8024022C 08090091 */ j .L80240244 +/* 9A8620 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 9A8624 80240234 3C040002 */ lui $a0, 2 +/* 9A8628 80240238 0083102A */ slt $v0, $a0, $v1 +/* 9A862C 8024023C 10400002 */ beqz $v0, .L80240248 +/* 9A8630 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 9A8634 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 9A8638 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 9A863C 8024024C 0C046F07 */ jal set_main_pan_u +/* 9A8640 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9A8644 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 9A8648 80240258 0C046F0D */ jal set_main_pan_v +/* 9A864C 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 9A8650 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 9A8654 80240264 0C046F13 */ jal set_aux_pan_u +/* 9A8658 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9A865C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 9A8660 80240270 0C046F19 */ jal set_aux_pan_v +/* 9A8664 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9A8668 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 9A866C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 9A8670 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 9A8674 80240284 24420001 */ addiu $v0, $v0, 1 +/* 9A8678 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 9A867C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 9A8680 80240290 24630001 */ addiu $v1, $v1, 1 +/* 9A8684 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 9A8688 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 9A868C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 9A8690 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 9A8694 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 9A8698 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 9A869C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 9A86A0 802402B0 14600002 */ bnez $v1, .L802402BC +/* 9A86A4 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 9A86A8 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 9A86AC 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 9A86B0 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 9A86B4 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 9A86B8 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 9A86BC 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 9A86C0 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 9A86C4 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 9A86C8 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 9A86CC 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 9A86D0 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 9A86D4 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 9A86D8 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 9A86DC 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 9A86E0 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 9A86E4 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 9A86E8 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9A86EC 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 9A86F0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 9A86F4 80240304 03E00008 */ jr $ra +/* 9A86F8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9A86FC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240310_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240310_9A83F0.s new file mode 100644 index 0000000000..7158396153 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240310_9A83F0.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_9A8700 +/* 9A8700 80240310 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A8704 80240314 AFBF0010 */ sw $ra, 0x10($sp) +/* 9A8708 80240318 0C04417A */ jal get_entity_by_index +/* 9A870C 8024031C 8C840084 */ lw $a0, 0x84($a0) +/* 9A8710 80240320 0040182D */ daddu $v1, $v0, $zero +/* 9A8714 80240324 8C640000 */ lw $a0, ($v1) +/* 9A8718 80240328 3C050010 */ lui $a1, 0x10 +/* 9A871C 8024032C 00852025 */ or $a0, $a0, $a1 +/* 9A8720 80240330 AC640000 */ sw $a0, ($v1) +/* 9A8724 80240334 8FBF0010 */ lw $ra, 0x10($sp) +/* 9A8728 80240338 24020002 */ addiu $v0, $zero, 2 +/* 9A872C 8024033C 03E00008 */ jr $ra +/* 9A8730 80240340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240344_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240344_9A83F0.s new file mode 100644 index 0000000000..bcea554a52 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240344_9A83F0.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240344_9A8734 +/* 9A8734 80240344 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A8738 80240348 AFB10014 */ sw $s1, 0x14($sp) +/* 9A873C 8024034C 0080882D */ daddu $s1, $a0, $zero +/* 9A8740 80240350 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A8744 80240354 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A8748 80240358 AFB20018 */ sw $s2, 0x18($sp) +/* 9A874C 8024035C AFB00010 */ sw $s0, 0x10($sp) +/* 9A8750 80240360 8E30000C */ lw $s0, 0xc($s1) +/* 9A8754 80240364 8E050000 */ lw $a1, ($s0) +/* 9A8758 80240368 0C0B1EAF */ jal get_variable +/* 9A875C 8024036C 26100004 */ addiu $s0, $s0, 4 +/* 9A8760 80240370 8E050000 */ lw $a1, ($s0) +/* 9A8764 80240374 26100004 */ addiu $s0, $s0, 4 +/* 9A8768 80240378 0220202D */ daddu $a0, $s1, $zero +/* 9A876C 8024037C 0C0B1EAF */ jal get_variable +/* 9A8770 80240380 0040982D */ daddu $s3, $v0, $zero +/* 9A8774 80240384 8E050000 */ lw $a1, ($s0) +/* 9A8778 80240388 26100004 */ addiu $s0, $s0, 4 +/* 9A877C 8024038C 0220202D */ daddu $a0, $s1, $zero +/* 9A8780 80240390 0C0B1EAF */ jal get_variable +/* 9A8784 80240394 0040902D */ daddu $s2, $v0, $zero +/* 9A8788 80240398 0220202D */ daddu $a0, $s1, $zero +/* 9A878C 8024039C 8E050000 */ lw $a1, ($s0) +/* 9A8790 802403A0 0C0B1EAF */ jal get_variable +/* 9A8794 802403A4 0040882D */ daddu $s1, $v0, $zero +/* 9A8798 802403A8 0260202D */ daddu $a0, $s3, $zero +/* 9A879C 802403AC 0C04417A */ jal get_entity_by_index +/* 9A87A0 802403B0 0040802D */ daddu $s0, $v0, $zero +/* 9A87A4 802403B4 0040182D */ daddu $v1, $v0, $zero +/* 9A87A8 802403B8 44920000 */ mtc1 $s2, $f0 +/* 9A87AC 802403BC 00000000 */ nop +/* 9A87B0 802403C0 46800020 */ cvt.s.w $f0, $f0 +/* 9A87B4 802403C4 E4600048 */ swc1 $f0, 0x48($v1) +/* 9A87B8 802403C8 44910000 */ mtc1 $s1, $f0 +/* 9A87BC 802403CC 00000000 */ nop +/* 9A87C0 802403D0 46800020 */ cvt.s.w $f0, $f0 +/* 9A87C4 802403D4 E460004C */ swc1 $f0, 0x4c($v1) +/* 9A87C8 802403D8 44900000 */ mtc1 $s0, $f0 +/* 9A87CC 802403DC 00000000 */ nop +/* 9A87D0 802403E0 46800020 */ cvt.s.w $f0, $f0 +/* 9A87D4 802403E4 E4600050 */ swc1 $f0, 0x50($v1) +/* 9A87D8 802403E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A87DC 802403EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A87E0 802403F0 8FB20018 */ lw $s2, 0x18($sp) +/* 9A87E4 802403F4 8FB10014 */ lw $s1, 0x14($sp) +/* 9A87E8 802403F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9A87EC 802403FC 24020002 */ addiu $v0, $zero, 2 +/* 9A87F0 80240400 03E00008 */ jr $ra +/* 9A87F4 80240404 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240408.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240408.s new file mode 100644 index 0000000000..190f0e9e21 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240408.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240408 +/* 9A87F8 80240408 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A87FC 8024040C AFB20018 */ sw $s2, 0x18($sp) +/* 9A8800 80240410 0080902D */ daddu $s2, $a0, $zero +/* 9A8804 80240414 AFBF001C */ sw $ra, 0x1c($sp) +/* 9A8808 80240418 AFB10014 */ sw $s1, 0x14($sp) +/* 9A880C 8024041C AFB00010 */ sw $s0, 0x10($sp) +/* 9A8810 80240420 8E50000C */ lw $s0, 0xc($s2) +/* 9A8814 80240424 8E050000 */ lw $a1, ($s0) +/* 9A8818 80240428 0C0B1EAF */ jal get_variable +/* 9A881C 8024042C 26100004 */ addiu $s0, $s0, 4 +/* 9A8820 80240430 0C04417A */ jal get_entity_by_index +/* 9A8824 80240434 0040202D */ daddu $a0, $v0, $zero +/* 9A8828 80240438 8E050000 */ lw $a1, ($s0) +/* 9A882C 8024043C 26100004 */ addiu $s0, $s0, 4 +/* 9A8830 80240440 0040882D */ daddu $s1, $v0, $zero +/* 9A8834 80240444 C6200048 */ lwc1 $f0, 0x48($s1) +/* 9A8838 80240448 4600008D */ trunc.w.s $f2, $f0 +/* 9A883C 8024044C 44061000 */ mfc1 $a2, $f2 +/* 9A8840 80240450 0C0B2026 */ jal set_variable +/* 9A8844 80240454 0240202D */ daddu $a0, $s2, $zero +/* 9A8848 80240458 8E050000 */ lw $a1, ($s0) +/* 9A884C 8024045C 26100004 */ addiu $s0, $s0, 4 +/* 9A8850 80240460 C620004C */ lwc1 $f0, 0x4c($s1) +/* 9A8854 80240464 4600008D */ trunc.w.s $f2, $f0 +/* 9A8858 80240468 44061000 */ mfc1 $a2, $f2 +/* 9A885C 8024046C 0C0B2026 */ jal set_variable +/* 9A8860 80240470 0240202D */ daddu $a0, $s2, $zero +/* 9A8864 80240474 C6200050 */ lwc1 $f0, 0x50($s1) +/* 9A8868 80240478 8E050000 */ lw $a1, ($s0) +/* 9A886C 8024047C 4600008D */ trunc.w.s $f2, $f0 +/* 9A8870 80240480 44061000 */ mfc1 $a2, $f2 +/* 9A8874 80240484 0C0B2026 */ jal set_variable +/* 9A8878 80240488 0240202D */ daddu $a0, $s2, $zero +/* 9A887C 8024048C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A8880 80240490 8FB20018 */ lw $s2, 0x18($sp) +/* 9A8884 80240494 8FB10014 */ lw $s1, 0x14($sp) +/* 9A8888 80240498 8FB00010 */ lw $s0, 0x10($sp) +/* 9A888C 8024049C 24020002 */ addiu $v0, $zero, 2 +/* 9A8890 802404A0 03E00008 */ jr $ra +/* 9A8894 802404A4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9A8898 802404A8 00000000 */ nop +/* 9A889C 802404AC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802404B0_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802404B0_9A83F0.s new file mode 100644 index 0000000000..eba864d34a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802404B0_9A83F0.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404B0_9A88A0 +/* 9A88A0 802404B0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A88A4 802404B4 AFB20018 */ sw $s2, 0x18($sp) +/* 9A88A8 802404B8 0080902D */ daddu $s2, $a0, $zero +/* 9A88AC 802404BC AFBF001C */ sw $ra, 0x1c($sp) +/* 9A88B0 802404C0 AFB10014 */ sw $s1, 0x14($sp) +/* 9A88B4 802404C4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A88B8 802404C8 8E510148 */ lw $s1, 0x148($s2) +/* 9A88BC 802404CC 0C00EABB */ jal get_npc_unsafe +/* 9A88C0 802404D0 86240008 */ lh $a0, 8($s1) +/* 9A88C4 802404D4 0040802D */ daddu $s0, $v0, $zero +/* 9A88C8 802404D8 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A88CC 802404DC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A88D0 802404E0 8C630020 */ lw $v1, 0x20($v1) +/* 9A88D4 802404E4 AE030028 */ sw $v1, 0x28($s0) +/* 9A88D8 802404E8 96220076 */ lhu $v0, 0x76($s1) +/* 9A88DC 802404EC A602008E */ sh $v0, 0x8e($s0) +/* 9A88E0 802404F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A88E4 802404F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A88E8 802404F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A88EC 802404FC 8C460028 */ lw $a2, 0x28($v0) +/* 9A88F0 80240500 0C00A720 */ jal atan2 +/* 9A88F4 80240504 8C470030 */ lw $a3, 0x30($v0) +/* 9A88F8 80240508 2402000D */ addiu $v0, $zero, 0xd +/* 9A88FC 8024050C E600000C */ swc1 $f0, 0xc($s0) +/* 9A8900 80240510 AE420070 */ sw $v0, 0x70($s2) +/* 9A8904 80240514 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A8908 80240518 8FB20018 */ lw $s2, 0x18($sp) +/* 9A890C 8024051C 8FB10014 */ lw $s1, 0x14($sp) +/* 9A8910 80240520 8FB00010 */ lw $s0, 0x10($sp) +/* 9A8914 80240524 03E00008 */ jr $ra +/* 9A8918 80240528 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_8024052C.s b/asm/nonmatchings/world/area_trd/trd_04/func_8024052C.s new file mode 100644 index 0000000000..cd844eba34 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_8024052C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024052C +/* 9A891C 8024052C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A8920 80240530 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A8924 80240534 0080982D */ daddu $s3, $a0, $zero +/* 9A8928 80240538 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A892C 8024053C AFB20018 */ sw $s2, 0x18($sp) +/* 9A8930 80240540 AFB10014 */ sw $s1, 0x14($sp) +/* 9A8934 80240544 AFB00010 */ sw $s0, 0x10($sp) +/* 9A8938 80240548 8E710148 */ lw $s1, 0x148($s3) +/* 9A893C 8024054C 86240008 */ lh $a0, 8($s1) +/* 9A8940 80240550 0C00EABB */ jal get_npc_unsafe +/* 9A8944 80240554 00A0902D */ daddu $s2, $a1, $zero +/* 9A8948 80240558 0040802D */ daddu $s0, $v0, $zero +/* 9A894C 8024055C 8602008E */ lh $v0, 0x8e($s0) +/* 9A8950 80240560 9603008E */ lhu $v1, 0x8e($s0) +/* 9A8954 80240564 18400005 */ blez $v0, .L8024057C +/* 9A8958 80240568 2462FFFF */ addiu $v0, $v1, -1 +/* 9A895C 8024056C A602008E */ sh $v0, 0x8e($s0) +/* 9A8960 80240570 00021400 */ sll $v0, $v0, 0x10 +/* 9A8964 80240574 1C400033 */ bgtz $v0, .L80240644 +/* 9A8968 80240578 00000000 */ nop +.L8024057C: +/* 9A896C 8024057C 8602008C */ lh $v0, 0x8c($s0) +/* 9A8970 80240580 14400030 */ bnez $v0, .L80240644 +/* 9A8974 80240584 00000000 */ nop +/* 9A8978 80240588 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A897C 8024058C 8C420024 */ lw $v0, 0x24($v0) +/* 9A8980 80240590 AE020028 */ sw $v0, 0x28($s0) +/* 9A8984 80240594 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9A8988 80240598 E6000018 */ swc1 $f0, 0x18($s0) +/* 9A898C 8024059C 8E230088 */ lw $v1, 0x88($s1) +/* 9A8990 802405A0 24020005 */ addiu $v0, $zero, 5 +/* 9A8994 802405A4 10620005 */ beq $v1, $v0, .L802405BC +/* 9A8998 802405A8 00000000 */ nop +/* 9A899C 802405AC 10600003 */ beqz $v1, .L802405BC +/* 9A89A0 802405B0 24020001 */ addiu $v0, $zero, 1 +/* 9A89A4 802405B4 14620006 */ bne $v1, $v0, .L802405D0 +/* 9A89A8 802405B8 00000000 */ nop +.L802405BC: +/* 9A89AC 802405BC 8E220084 */ lw $v0, 0x84($s1) +/* 9A89B0 802405C0 00021FC2 */ srl $v1, $v0, 0x1f +/* 9A89B4 802405C4 00431021 */ addu $v0, $v0, $v1 +/* 9A89B8 802405C8 00021043 */ sra $v0, $v0, 1 +/* 9A89BC 802405CC A60200A8 */ sh $v0, 0xa8($s0) +.L802405D0: +/* 9A89C0 802405D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A89C4 802405D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A89C8 802405D8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A89CC 802405DC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A89D0 802405E0 8C460028 */ lw $a2, 0x28($v0) +/* 9A89D4 802405E4 0C00A7B5 */ jal dist2D +/* 9A89D8 802405E8 8C470030 */ lw $a3, 0x30($v0) +/* 9A89DC 802405EC C6020018 */ lwc1 $f2, 0x18($s0) +/* 9A89E0 802405F0 46020003 */ div.s $f0, $f0, $f2 +/* 9A89E4 802405F4 3C018024 */ lui $at, 0x8024 +/* 9A89E8 802405F8 D4225EE0 */ ldc1 $f2, 0x5ee0($at) +/* 9A89EC 802405FC 46000021 */ cvt.d.s $f0, $f0 +/* 9A89F0 80240600 46220000 */ add.d $f0, $f0, $f2 +/* 9A89F4 80240604 4620010D */ trunc.w.d $f4, $f0 +/* 9A89F8 80240608 44022000 */ mfc1 $v0, $f4 +/* 9A89FC 8024060C 00000000 */ nop +/* 9A8A00 80240610 A602008E */ sh $v0, 0x8e($s0) +/* 9A8A04 80240614 00021400 */ sll $v0, $v0, 0x10 +/* 9A8A08 80240618 8E230078 */ lw $v1, 0x78($s1) +/* 9A8A0C 8024061C 00021403 */ sra $v0, $v0, 0x10 +/* 9A8A10 80240620 0043102A */ slt $v0, $v0, $v1 +/* 9A8A14 80240624 10400003 */ beqz $v0, .L80240634 +/* 9A8A18 80240628 00000000 */ nop +/* 9A8A1C 8024062C 9622007A */ lhu $v0, 0x7a($s1) +/* 9A8A20 80240630 A602008E */ sh $v0, 0x8e($s0) +.L80240634: +/* 9A8A24 80240634 8602008E */ lh $v0, 0x8e($s0) +/* 9A8A28 80240638 AE22007C */ sw $v0, 0x7c($s1) +/* 9A8A2C 8024063C 2402000E */ addiu $v0, $zero, 0xe +/* 9A8A30 80240640 AE620070 */ sw $v0, 0x70($s3) +.L80240644: +/* 9A8A34 80240644 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A8A38 80240648 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A8A3C 8024064C 8FB20018 */ lw $s2, 0x18($sp) +/* 9A8A40 80240650 8FB10014 */ lw $s1, 0x14($sp) +/* 9A8A44 80240654 8FB00010 */ lw $s0, 0x10($sp) +/* 9A8A48 80240658 03E00008 */ jr $ra +/* 9A8A4C 8024065C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240660_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240660_9A83F0.s new file mode 100644 index 0000000000..2b8acdb7d2 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240660_9A83F0.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660_9A8A50 +/* 9A8A50 80240660 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A8A54 80240664 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A8A58 80240668 0080982D */ daddu $s3, $a0, $zero +/* 9A8A5C 8024066C AFBF0040 */ sw $ra, 0x40($sp) +/* 9A8A60 80240670 AFB20038 */ sw $s2, 0x38($sp) +/* 9A8A64 80240674 AFB10034 */ sw $s1, 0x34($sp) +/* 9A8A68 80240678 AFB00030 */ sw $s0, 0x30($sp) +/* 9A8A6C 8024067C 8E710148 */ lw $s1, 0x148($s3) +/* 9A8A70 80240680 0C00EABB */ jal get_npc_unsafe +/* 9A8A74 80240684 86240008 */ lh $a0, 8($s1) +/* 9A8A78 80240688 0040802D */ daddu $s0, $v0, $zero +/* 9A8A7C 8024068C 8E22007C */ lw $v0, 0x7c($s1) +/* 9A8A80 80240690 8603008E */ lh $v1, 0x8e($s0) +/* 9A8A84 80240694 2442FFFF */ addiu $v0, $v0, -1 +/* 9A8A88 80240698 14620012 */ bne $v1, $v0, .L802406E4 +/* 9A8A8C 8024069C 00000000 */ nop +/* 9A8A90 802406A0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A8A94 802406A4 4600020D */ trunc.w.s $f8, $f0 +/* 9A8A98 802406A8 44024000 */ mfc1 $v0, $f8 +/* 9A8A9C 802406AC 00000000 */ nop +/* 9A8AA0 802406B0 A6220010 */ sh $v0, 0x10($s1) +/* 9A8AA4 802406B4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9A8AA8 802406B8 4600020D */ trunc.w.s $f8, $f0 +/* 9A8AAC 802406BC 44024000 */ mfc1 $v0, $f8 +/* 9A8AB0 802406C0 00000000 */ nop +/* 9A8AB4 802406C4 A6220012 */ sh $v0, 0x12($s1) +/* 9A8AB8 802406C8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9A8ABC 802406CC 24020001 */ addiu $v0, $zero, 1 +/* 9A8AC0 802406D0 A2220007 */ sb $v0, 7($s1) +/* 9A8AC4 802406D4 4600020D */ trunc.w.s $f8, $f0 +/* 9A8AC8 802406D8 44024000 */ mfc1 $v0, $f8 +/* 9A8ACC 802406DC 00000000 */ nop +/* 9A8AD0 802406E0 A6220014 */ sh $v0, 0x14($s1) +.L802406E4: +/* 9A8AD4 802406E4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9A8AD8 802406E8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9A8ADC 802406EC C6040040 */ lwc1 $f4, 0x40($s0) +/* 9A8AE0 802406F0 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9A8AE4 802406F4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9A8AE8 802406F8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9A8AEC 802406FC E7A40028 */ swc1 $f4, 0x28($sp) +/* 9A8AF0 80240700 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9A8AF4 80240704 C600000C */ lwc1 $f0, 0xc($s0) +/* 9A8AF8 80240708 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9A8AFC 8024070C 860200A8 */ lh $v0, 0xa8($s0) +/* 9A8B00 80240710 27A50020 */ addiu $a1, $sp, 0x20 +/* 9A8B04 80240714 44820000 */ mtc1 $v0, $f0 +/* 9A8B08 80240718 00000000 */ nop +/* 9A8B0C 8024071C 46800020 */ cvt.s.w $f0, $f0 +/* 9A8B10 80240720 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9A8B14 80240724 860200A6 */ lh $v0, 0xa6($s0) +/* 9A8B18 80240728 27A60024 */ addiu $a2, $sp, 0x24 +/* 9A8B1C 8024072C 44820000 */ mtc1 $v0, $f0 +/* 9A8B20 80240730 00000000 */ nop +/* 9A8B24 80240734 46800020 */ cvt.s.w $f0, $f0 +/* 9A8B28 80240738 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9A8B2C 8024073C 8E040080 */ lw $a0, 0x80($s0) +/* 9A8B30 80240740 0C037711 */ jal func_800DDC44 +/* 9A8B34 80240744 27A70028 */ addiu $a3, $sp, 0x28 +/* 9A8B38 80240748 0040902D */ daddu $s2, $v0, $zero +/* 9A8B3C 8024074C 16400005 */ bnez $s2, .L80240764 +/* 9A8B40 80240750 00000000 */ nop +/* 9A8B44 80240754 8E050018 */ lw $a1, 0x18($s0) +/* 9A8B48 80240758 8E06000C */ lw $a2, 0xc($s0) +/* 9A8B4C 8024075C 0C00EA95 */ jal npc_move_heading +/* 9A8B50 80240760 0200202D */ daddu $a0, $s0, $zero +.L80240764: +/* 9A8B54 80240764 8602008E */ lh $v0, 0x8e($s0) +/* 9A8B58 80240768 9603008E */ lhu $v1, 0x8e($s0) +/* 9A8B5C 8024076C 18400007 */ blez $v0, .L8024078C +/* 9A8B60 80240770 2462FFFF */ addiu $v0, $v1, -1 +/* 9A8B64 80240774 A602008E */ sh $v0, 0x8e($s0) +/* 9A8B68 80240778 00021400 */ sll $v0, $v0, 0x10 +/* 9A8B6C 8024077C 18400003 */ blez $v0, .L8024078C +/* 9A8B70 80240780 00000000 */ nop +/* 9A8B74 80240784 12400008 */ beqz $s2, .L802407A8 +/* 9A8B78 80240788 00000000 */ nop +.L8024078C: +/* 9A8B7C 8024078C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A8B80 80240790 A2200007 */ sb $zero, 7($s1) +/* 9A8B84 80240794 8C420028 */ lw $v0, 0x28($v0) +/* 9A8B88 80240798 A600008E */ sh $zero, 0x8e($s0) +/* 9A8B8C 8024079C AE020028 */ sw $v0, 0x28($s0) +/* 9A8B90 802407A0 2402000F */ addiu $v0, $zero, 0xf +/* 9A8B94 802407A4 AE620070 */ sw $v0, 0x70($s3) +.L802407A8: +/* 9A8B98 802407A8 8FBF0040 */ lw $ra, 0x40($sp) +/* 9A8B9C 802407AC 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A8BA0 802407B0 8FB20038 */ lw $s2, 0x38($sp) +/* 9A8BA4 802407B4 8FB10034 */ lw $s1, 0x34($sp) +/* 9A8BA8 802407B8 8FB00030 */ lw $s0, 0x30($sp) +/* 9A8BAC 802407BC 03E00008 */ jr $ra +/* 9A8BB0 802407C0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802407C4.s b/asm/nonmatchings/world/area_trd/trd_04/func_802407C4.s new file mode 100644 index 0000000000..f1674766bd --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802407C4.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407C4 +/* 9A8BB4 802407C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A8BB8 802407C8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A8BBC 802407CC 0080882D */ daddu $s1, $a0, $zero +/* 9A8BC0 802407D0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9A8BC4 802407D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A8BC8 802407D8 8E300148 */ lw $s0, 0x148($s1) +/* 9A8BCC 802407DC 0C00EABB */ jal get_npc_unsafe +/* 9A8BD0 802407E0 86040008 */ lh $a0, 8($s0) +/* 9A8BD4 802407E4 0040202D */ daddu $a0, $v0, $zero +/* 9A8BD8 802407E8 9482008E */ lhu $v0, 0x8e($a0) +/* 9A8BDC 802407EC 24030003 */ addiu $v1, $zero, 3 +/* 9A8BE0 802407F0 24420001 */ addiu $v0, $v0, 1 +/* 9A8BE4 802407F4 A482008E */ sh $v0, 0x8e($a0) +/* 9A8BE8 802407F8 00021400 */ sll $v0, $v0, 0x10 +/* 9A8BEC 802407FC 00021403 */ sra $v0, $v0, 0x10 +/* 9A8BF0 80240800 14430003 */ bne $v0, $v1, .L80240810 +/* 9A8BF4 80240804 00000000 */ nop +/* 9A8BF8 80240808 96020086 */ lhu $v0, 0x86($s0) +/* 9A8BFC 8024080C A48200A8 */ sh $v0, 0xa8($a0) +.L80240810: +/* 9A8C00 80240810 8482008E */ lh $v0, 0x8e($a0) +/* 9A8C04 80240814 8E030080 */ lw $v1, 0x80($s0) +/* 9A8C08 80240818 0043102A */ slt $v0, $v0, $v1 +/* 9A8C0C 8024081C 14400004 */ bnez $v0, .L80240830 +/* 9A8C10 80240820 00000000 */ nop +/* 9A8C14 80240824 96020086 */ lhu $v0, 0x86($s0) +/* 9A8C18 80240828 A48200A8 */ sh $v0, 0xa8($a0) +/* 9A8C1C 8024082C AE200070 */ sw $zero, 0x70($s1) +.L80240830: +/* 9A8C20 80240830 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A8C24 80240834 8FB10014 */ lw $s1, 0x14($sp) +/* 9A8C28 80240838 8FB00010 */ lw $s0, 0x10($sp) +/* 9A8C2C 8024083C 03E00008 */ jr $ra +/* 9A8C30 80240840 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240844.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240844.s new file mode 100644 index 0000000000..afab2c9908 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240844.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240844 +/* 9A8C34 80240844 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9A8C38 80240848 AFB3005C */ sw $s3, 0x5c($sp) +/* 9A8C3C 8024084C 0080982D */ daddu $s3, $a0, $zero +/* 9A8C40 80240850 AFBF0068 */ sw $ra, 0x68($sp) +/* 9A8C44 80240854 AFB50064 */ sw $s5, 0x64($sp) +/* 9A8C48 80240858 AFB40060 */ sw $s4, 0x60($sp) +/* 9A8C4C 8024085C AFB20058 */ sw $s2, 0x58($sp) +/* 9A8C50 80240860 AFB10054 */ sw $s1, 0x54($sp) +/* 9A8C54 80240864 AFB00050 */ sw $s0, 0x50($sp) +/* 9A8C58 80240868 8E710148 */ lw $s1, 0x148($s3) +/* 9A8C5C 8024086C 86240008 */ lh $a0, 8($s1) +/* 9A8C60 80240870 0C00EABB */ jal get_npc_unsafe +/* 9A8C64 80240874 00A0802D */ daddu $s0, $a1, $zero +/* 9A8C68 80240878 8E63000C */ lw $v1, 0xc($s3) +/* 9A8C6C 8024087C 0260202D */ daddu $a0, $s3, $zero +/* 9A8C70 80240880 8C650000 */ lw $a1, ($v1) +/* 9A8C74 80240884 0C0B1EAF */ jal get_variable +/* 9A8C78 80240888 0040902D */ daddu $s2, $v0, $zero +/* 9A8C7C 8024088C AFA00028 */ sw $zero, 0x28($sp) +/* 9A8C80 80240890 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A8C84 80240894 8C630030 */ lw $v1, 0x30($v1) +/* 9A8C88 80240898 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A8C8C 8024089C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A8C90 802408A0 8C63001C */ lw $v1, 0x1c($v1) +/* 9A8C94 802408A4 AFA30030 */ sw $v1, 0x30($sp) +/* 9A8C98 802408A8 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A8C9C 802408AC 8C630024 */ lw $v1, 0x24($v1) +/* 9A8CA0 802408B0 AFA30034 */ sw $v1, 0x34($sp) +/* 9A8CA4 802408B4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A8CA8 802408B8 8C630028 */ lw $v1, 0x28($v1) +/* 9A8CAC 802408BC 27B50028 */ addiu $s5, $sp, 0x28 +/* 9A8CB0 802408C0 AFA30038 */ sw $v1, 0x38($sp) +/* 9A8CB4 802408C4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A8CB8 802408C8 3C0142C8 */ lui $at, 0x42c8 +/* 9A8CBC 802408CC 44810000 */ mtc1 $at, $f0 +/* 9A8CC0 802408D0 8C63002C */ lw $v1, 0x2c($v1) +/* 9A8CC4 802408D4 0040A02D */ daddu $s4, $v0, $zero +/* 9A8CC8 802408D8 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9A8CCC 802408DC A7A00044 */ sh $zero, 0x44($sp) +/* 9A8CD0 802408E0 12000009 */ beqz $s0, .L80240908 +/* 9A8CD4 802408E4 AFA3003C */ sw $v1, 0x3c($sp) +/* 9A8CD8 802408E8 864300A8 */ lh $v1, 0xa8($s2) +/* 9A8CDC 802408EC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A8CE0 802408F0 AE20008C */ sw $zero, 0x8c($s1) +/* 9A8CE4 802408F4 A22000B5 */ sb $zero, 0xb5($s1) +/* 9A8CE8 802408F8 34420008 */ ori $v0, $v0, 8 +/* 9A8CEC 802408FC AE230084 */ sw $v1, 0x84($s1) +/* 9A8CF0 80240900 08090246 */ j .L80240918 +/* 9A8CF4 80240904 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240908: +/* 9A8CF8 80240908 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A8CFC 8024090C 30420004 */ andi $v0, $v0, 4 +/* 9A8D00 80240910 10400047 */ beqz $v0, .L80240A30 +/* 9A8D04 80240914 00000000 */ nop +.L80240918: +/* 9A8D08 80240918 AE600070 */ sw $zero, 0x70($s3) +/* 9A8D0C 8024091C A640008E */ sh $zero, 0x8e($s2) +/* 9A8D10 80240920 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A8D14 80240924 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A8D18 80240928 A2200007 */ sb $zero, 7($s1) +/* 9A8D1C 8024092C 8E420000 */ lw $v0, ($s2) +/* 9A8D20 80240930 8C630000 */ lw $v1, ($v1) +/* 9A8D24 80240934 00441024 */ and $v0, $v0, $a0 +/* 9A8D28 80240938 AE420000 */ sw $v0, ($s2) +/* 9A8D2C 8024093C AE430028 */ sw $v1, 0x28($s2) +/* 9A8D30 80240940 96220086 */ lhu $v0, 0x86($s1) +/* 9A8D34 80240944 A64200A8 */ sh $v0, 0xa8($s2) +/* 9A8D38 80240948 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A8D3C 8024094C AE200090 */ sw $zero, 0x90($s1) +/* 9A8D40 80240950 8C420034 */ lw $v0, 0x34($v0) +/* 9A8D44 80240954 14400006 */ bnez $v0, .L80240970 +/* 9A8D48 80240958 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9A8D4C 8024095C 8E420000 */ lw $v0, ($s2) +/* 9A8D50 80240960 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A8D54 80240964 34420200 */ ori $v0, $v0, 0x200 +/* 9A8D58 80240968 0809025F */ j .L8024097C +/* 9A8D5C 8024096C 00431024 */ and $v0, $v0, $v1 +.L80240970: +/* 9A8D60 80240970 8E420000 */ lw $v0, ($s2) +/* 9A8D64 80240974 00431024 */ and $v0, $v0, $v1 +/* 9A8D68 80240978 34420008 */ ori $v0, $v0, 8 +.L8024097C: +/* 9A8D6C 8024097C AE420000 */ sw $v0, ($s2) +/* 9A8D70 80240980 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A8D74 80240984 30420004 */ andi $v0, $v0, 4 +/* 9A8D78 80240988 1040001E */ beqz $v0, .L80240A04 +/* 9A8D7C 8024098C 24040002 */ addiu $a0, $zero, 2 +/* 9A8D80 80240990 0240282D */ daddu $a1, $s2, $zero +/* 9A8D84 80240994 0000302D */ daddu $a2, $zero, $zero +/* 9A8D88 80240998 24020063 */ addiu $v0, $zero, 0x63 +/* 9A8D8C 8024099C AE620070 */ sw $v0, 0x70($s3) +/* 9A8D90 802409A0 AE600074 */ sw $zero, 0x74($s3) +/* 9A8D94 802409A4 864300A8 */ lh $v1, 0xa8($s2) +/* 9A8D98 802409A8 3C013F80 */ lui $at, 0x3f80 +/* 9A8D9C 802409AC 44810000 */ mtc1 $at, $f0 +/* 9A8DA0 802409B0 3C014000 */ lui $at, 0x4000 +/* 9A8DA4 802409B4 44811000 */ mtc1 $at, $f2 +/* 9A8DA8 802409B8 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A8DAC 802409BC 44812000 */ mtc1 $at, $f4 +/* 9A8DB0 802409C0 24020028 */ addiu $v0, $zero, 0x28 +/* 9A8DB4 802409C4 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A8DB8 802409C8 44833000 */ mtc1 $v1, $f6 +/* 9A8DBC 802409CC 00000000 */ nop +/* 9A8DC0 802409D0 468031A0 */ cvt.s.w $f6, $f6 +/* 9A8DC4 802409D4 44073000 */ mfc1 $a3, $f6 +/* 9A8DC8 802409D8 27A20048 */ addiu $v0, $sp, 0x48 +/* 9A8DCC 802409DC AFA20020 */ sw $v0, 0x20($sp) +/* 9A8DD0 802409E0 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A8DD4 802409E4 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A8DD8 802409E8 0C01BFA4 */ jal fx_emote +/* 9A8DDC 802409EC E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A8DE0 802409F0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A8DE4 802409F4 2403FFFB */ addiu $v1, $zero, -5 +/* 9A8DE8 802409F8 00431024 */ and $v0, $v0, $v1 +/* 9A8DEC 802409FC 0809028C */ j .L80240A30 +/* 9A8DF0 80240A00 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240A04: +/* 9A8DF4 80240A04 8E220000 */ lw $v0, ($s1) +/* 9A8DF8 80240A08 3C034000 */ lui $v1, 0x4000 +/* 9A8DFC 80240A0C 00431024 */ and $v0, $v0, $v1 +/* 9A8E00 80240A10 10400007 */ beqz $v0, .L80240A30 +/* 9A8E04 80240A14 3C03BFFF */ lui $v1, 0xbfff +/* 9A8E08 80240A18 2402000C */ addiu $v0, $zero, 0xc +/* 9A8E0C 80240A1C AE620070 */ sw $v0, 0x70($s3) +/* 9A8E10 80240A20 8E220000 */ lw $v0, ($s1) +/* 9A8E14 80240A24 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A8E18 80240A28 00431024 */ and $v0, $v0, $v1 +/* 9A8E1C 80240A2C AE220000 */ sw $v0, ($s1) +.L80240A30: +/* 9A8E20 80240A30 8E220090 */ lw $v0, 0x90($s1) +/* 9A8E24 80240A34 1840000C */ blez $v0, .L80240A68 +/* 9A8E28 80240A38 2442FFFF */ addiu $v0, $v0, -1 +/* 9A8E2C 80240A3C 14400087 */ bnez $v0, .L80240C5C +/* 9A8E30 80240A40 AE220090 */ sw $v0, 0x90($s1) +/* 9A8E34 80240A44 3C03FFAA */ lui $v1, 0xffaa +/* 9A8E38 80240A48 8E420028 */ lw $v0, 0x28($s2) +/* 9A8E3C 80240A4C 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9A8E40 80240A50 00431021 */ addu $v0, $v0, $v1 +/* 9A8E44 80240A54 2C420002 */ sltiu $v0, $v0, 2 +/* 9A8E48 80240A58 10400003 */ beqz $v0, .L80240A68 +/* 9A8E4C 80240A5C 3C020055 */ lui $v0, 0x55 +/* 9A8E50 80240A60 3442000C */ ori $v0, $v0, 0xc +/* 9A8E54 80240A64 AE420028 */ sw $v0, 0x28($s2) +.L80240A68: +/* 9A8E58 80240A68 8E630070 */ lw $v1, 0x70($s3) +/* 9A8E5C 80240A6C 2402000C */ addiu $v0, $zero, 0xc +/* 9A8E60 80240A70 10620048 */ beq $v1, $v0, .L80240B94 +/* 9A8E64 80240A74 2862000D */ slti $v0, $v1, 0xd +/* 9A8E68 80240A78 1040000F */ beqz $v0, .L80240AB8 +/* 9A8E6C 80240A7C 24100001 */ addiu $s0, $zero, 1 +/* 9A8E70 80240A80 1070001E */ beq $v1, $s0, .L80240AFC +/* 9A8E74 80240A84 28620002 */ slti $v0, $v1, 2 +/* 9A8E78 80240A88 10400005 */ beqz $v0, .L80240AA0 +/* 9A8E7C 80240A8C 24020002 */ addiu $v0, $zero, 2 +/* 9A8E80 80240A90 10600015 */ beqz $v1, .L80240AE8 +/* 9A8E84 80240A94 0260202D */ daddu $a0, $s3, $zero +/* 9A8E88 80240A98 080902FC */ j .L80240BF0 +/* 9A8E8C 80240A9C 00000000 */ nop +.L80240AA0: +/* 9A8E90 80240AA0 1062001C */ beq $v1, $v0, .L80240B14 +/* 9A8E94 80240AA4 24020003 */ addiu $v0, $zero, 3 +/* 9A8E98 80240AA8 10620035 */ beq $v1, $v0, .L80240B80 +/* 9A8E9C 80240AAC 0260202D */ daddu $a0, $s3, $zero +/* 9A8EA0 80240AB0 080902FC */ j .L80240BF0 +/* 9A8EA4 80240AB4 00000000 */ nop +.L80240AB8: +/* 9A8EA8 80240AB8 2402000E */ addiu $v0, $zero, 0xe +/* 9A8EAC 80240ABC 1062003F */ beq $v1, $v0, .L80240BBC +/* 9A8EB0 80240AC0 0062102A */ slt $v0, $v1, $v0 +/* 9A8EB4 80240AC4 14400038 */ bnez $v0, .L80240BA8 +/* 9A8EB8 80240AC8 0260202D */ daddu $a0, $s3, $zero +/* 9A8EBC 80240ACC 2402000F */ addiu $v0, $zero, 0xf +/* 9A8EC0 80240AD0 10620040 */ beq $v1, $v0, .L80240BD4 +/* 9A8EC4 80240AD4 24020063 */ addiu $v0, $zero, 0x63 +/* 9A8EC8 80240AD8 10620043 */ beq $v1, $v0, .L80240BE8 +/* 9A8ECC 80240ADC 00000000 */ nop +/* 9A8ED0 80240AE0 080902FC */ j .L80240BF0 +/* 9A8ED4 80240AE4 00000000 */ nop +.L80240AE8: +/* 9A8ED8 80240AE8 0280282D */ daddu $a1, $s4, $zero +/* 9A8EDC 80240AEC 0C012568 */ jal func_800495A0 +/* 9A8EE0 80240AF0 02A0302D */ daddu $a2, $s5, $zero +/* 9A8EE4 80240AF4 96220086 */ lhu $v0, 0x86($s1) +/* 9A8EE8 80240AF8 A64200A8 */ sh $v0, 0xa8($s2) +.L80240AFC: +/* 9A8EEC 80240AFC 0260202D */ daddu $a0, $s3, $zero +/* 9A8EF0 80240B00 0280282D */ daddu $a1, $s4, $zero +/* 9A8EF4 80240B04 0C0125AE */ jal func_800496B8 +/* 9A8EF8 80240B08 02A0302D */ daddu $a2, $s5, $zero +/* 9A8EFC 80240B0C 080902FC */ j .L80240BF0 +/* 9A8F00 80240B10 00000000 */ nop +.L80240B14: +/* 9A8F04 80240B14 0260202D */ daddu $a0, $s3, $zero +/* 9A8F08 80240B18 0280282D */ daddu $a1, $s4, $zero +/* 9A8F0C 80240B1C 0C0126D1 */ jal func_80049B44 +/* 9A8F10 80240B20 02A0302D */ daddu $a2, $s5, $zero +/* 9A8F14 80240B24 8E230088 */ lw $v1, 0x88($s1) +/* 9A8F18 80240B28 24020006 */ addiu $v0, $zero, 6 +/* 9A8F1C 80240B2C 14620014 */ bne $v1, $v0, .L80240B80 +/* 9A8F20 80240B30 0260202D */ daddu $a0, $s3, $zero +/* 9A8F24 80240B34 0C00A67F */ jal rand_int +/* 9A8F28 80240B38 24040064 */ addiu $a0, $zero, 0x64 +/* 9A8F2C 80240B3C 28420021 */ slti $v0, $v0, 0x21 +/* 9A8F30 80240B40 5040000F */ beql $v0, $zero, .L80240B80 +/* 9A8F34 80240B44 0260202D */ daddu $a0, $s3, $zero +/* 9A8F38 80240B48 8E22008C */ lw $v0, 0x8c($s1) +/* 9A8F3C 80240B4C 10400005 */ beqz $v0, .L80240B64 +/* 9A8F40 80240B50 3C020055 */ lui $v0, 0x55 +/* 9A8F44 80240B54 3442002F */ ori $v0, $v0, 0x2f +/* 9A8F48 80240B58 AE20008C */ sw $zero, 0x8c($s1) +/* 9A8F4C 80240B5C 080902DC */ j .L80240B70 +/* 9A8F50 80240B60 A22000B5 */ sb $zero, 0xb5($s1) +.L80240B64: +/* 9A8F54 80240B64 3442002E */ ori $v0, $v0, 0x2e +/* 9A8F58 80240B68 AE30008C */ sw $s0, 0x8c($s1) +/* 9A8F5C 80240B6C A23000B5 */ sb $s0, 0xb5($s1) +.L80240B70: +/* 9A8F60 80240B70 AE420028 */ sw $v0, 0x28($s2) +/* 9A8F64 80240B74 24020007 */ addiu $v0, $zero, 7 +/* 9A8F68 80240B78 08090317 */ j .L80240C5C +/* 9A8F6C 80240B7C AE220090 */ sw $v0, 0x90($s1) +.L80240B80: +/* 9A8F70 80240B80 0280282D */ daddu $a1, $s4, $zero +/* 9A8F74 80240B84 0C012701 */ jal func_80049C04 +/* 9A8F78 80240B88 02A0302D */ daddu $a2, $s5, $zero +/* 9A8F7C 80240B8C 080902FC */ j .L80240BF0 +/* 9A8F80 80240B90 00000000 */ nop +.L80240B94: +/* 9A8F84 80240B94 0260202D */ daddu $a0, $s3, $zero +/* 9A8F88 80240B98 0280282D */ daddu $a1, $s4, $zero +/* 9A8F8C 80240B9C 0C09012C */ jal func_802404B0 +/* 9A8F90 80240BA0 02A0302D */ daddu $a2, $s5, $zero +/* 9A8F94 80240BA4 0260202D */ daddu $a0, $s3, $zero +.L80240BA8: +/* 9A8F98 80240BA8 0280282D */ daddu $a1, $s4, $zero +/* 9A8F9C 80240BAC 0C09014B */ jal func_8024052C +/* 9A8FA0 80240BB0 02A0302D */ daddu $a2, $s5, $zero +/* 9A8FA4 80240BB4 080902FC */ j .L80240BF0 +/* 9A8FA8 80240BB8 00000000 */ nop +.L80240BBC: +/* 9A8FAC 80240BBC 0260202D */ daddu $a0, $s3, $zero +/* 9A8FB0 80240BC0 0280282D */ daddu $a1, $s4, $zero +/* 9A8FB4 80240BC4 0C090198 */ jal func_80240660 +/* 9A8FB8 80240BC8 02A0302D */ daddu $a2, $s5, $zero +/* 9A8FBC 80240BCC 080902FC */ j .L80240BF0 +/* 9A8FC0 80240BD0 00000000 */ nop +.L80240BD4: +/* 9A8FC4 80240BD4 0280282D */ daddu $a1, $s4, $zero +/* 9A8FC8 80240BD8 0C0901F1 */ jal func_802407C4 +/* 9A8FCC 80240BDC 02A0302D */ daddu $a2, $s5, $zero +/* 9A8FD0 80240BE0 080902FC */ j .L80240BF0 +/* 9A8FD4 80240BE4 00000000 */ nop +.L80240BE8: +/* 9A8FD8 80240BE8 0C0129CF */ jal func_8004A73C +/* 9A8FDC 80240BEC 0260202D */ daddu $a0, $s3, $zero +.L80240BF0: +/* 9A8FE0 80240BF0 8E230088 */ lw $v1, 0x88($s1) +/* 9A8FE4 80240BF4 24020006 */ addiu $v0, $zero, 6 +/* 9A8FE8 80240BF8 14620019 */ bne $v1, $v0, .L80240C60 +/* 9A8FEC 80240BFC 0000102D */ daddu $v0, $zero, $zero +/* 9A8FF0 80240C00 8E22008C */ lw $v0, 0x8c($s1) +/* 9A8FF4 80240C04 10400003 */ beqz $v0, .L80240C14 +/* 9A8FF8 80240C08 24020001 */ addiu $v0, $zero, 1 +/* 9A8FFC 80240C0C 08090306 */ j .L80240C18 +/* 9A9000 80240C10 A22200B5 */ sb $v0, 0xb5($s1) +.L80240C14: +/* 9A9004 80240C14 A22000B5 */ sb $zero, 0xb5($s1) +.L80240C18: +/* 9A9008 80240C18 8E22008C */ lw $v0, 0x8c($s1) +/* 9A900C 80240C1C 1040000F */ beqz $v0, .L80240C5C +/* 9A9010 80240C20 3C03FFAA */ lui $v1, 0xffaa +/* 9A9014 80240C24 8E420028 */ lw $v0, 0x28($s2) +/* 9A9018 80240C28 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9A901C 80240C2C 00431821 */ addu $v1, $v0, $v1 +/* 9A9020 80240C30 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9A9024 80240C34 10400009 */ beqz $v0, .L80240C5C +/* 9A9028 80240C38 00031080 */ sll $v0, $v1, 2 +/* 9A902C 80240C3C 3C018024 */ lui $at, 0x8024 +/* 9A9030 80240C40 00220821 */ addu $at, $at, $v0 +/* 9A9034 80240C44 8C225EE8 */ lw $v0, 0x5ee8($at) +/* 9A9038 80240C48 00400008 */ jr $v0 +/* 9A903C 80240C4C 00000000 */ nop +/* 9A9040 80240C50 8E420028 */ lw $v0, 0x28($s2) +/* 9A9044 80240C54 24420001 */ addiu $v0, $v0, 1 +/* 9A9048 80240C58 AE420028 */ sw $v0, 0x28($s2) +.L80240C5C: +/* 9A904C 80240C5C 0000102D */ daddu $v0, $zero, $zero +.L80240C60: +/* 9A9050 80240C60 8FBF0068 */ lw $ra, 0x68($sp) +/* 9A9054 80240C64 8FB50064 */ lw $s5, 0x64($sp) +/* 9A9058 80240C68 8FB40060 */ lw $s4, 0x60($sp) +/* 9A905C 80240C6C 8FB3005C */ lw $s3, 0x5c($sp) +/* 9A9060 80240C70 8FB20058 */ lw $s2, 0x58($sp) +/* 9A9064 80240C74 8FB10054 */ lw $s1, 0x54($sp) +/* 9A9068 80240C78 8FB00050 */ lw $s0, 0x50($sp) +/* 9A906C 80240C7C 03E00008 */ jr $ra +/* 9A9070 80240C80 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240C84_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240C84_9A83F0.s new file mode 100644 index 0000000000..2193b27779 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240C84_9A83F0.s @@ -0,0 +1,95 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C84_9A9074 +/* 9A9074 80240C84 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A9078 80240C88 AFB50024 */ sw $s5, 0x24($sp) +/* 9A907C 80240C8C 0080A82D */ daddu $s5, $a0, $zero +/* 9A9080 80240C90 AFBF002C */ sw $ra, 0x2c($sp) +/* 9A9084 80240C94 AFB60028 */ sw $s6, 0x28($sp) +/* 9A9088 80240C98 AFB40020 */ sw $s4, 0x20($sp) +/* 9A908C 80240C9C AFB3001C */ sw $s3, 0x1c($sp) +/* 9A9090 80240CA0 AFB20018 */ sw $s2, 0x18($sp) +/* 9A9094 80240CA4 AFB10014 */ sw $s1, 0x14($sp) +/* 9A9098 80240CA8 AFB00010 */ sw $s0, 0x10($sp) +/* 9A909C 80240CAC F7B80040 */ sdc1 $f24, 0x40($sp) +/* 9A90A0 80240CB0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 9A90A4 80240CB4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9A90A8 80240CB8 8EB30148 */ lw $s3, 0x148($s5) +/* 9A90AC 80240CBC 86640008 */ lh $a0, 8($s3) +/* 9A90B0 80240CC0 0C00EABB */ jal get_npc_unsafe +/* 9A90B4 80240CC4 00A0B02D */ daddu $s6, $a1, $zero +/* 9A90B8 80240CC8 0040A02D */ daddu $s4, $v0, $zero +/* 9A90BC 80240CCC AEA00074 */ sw $zero, 0x74($s5) +/* 9A90C0 80240CD0 C6980038 */ lwc1 $f24, 0x38($s4) +/* 9A90C4 80240CD4 C6960040 */ lwc1 $f22, 0x40($s4) +/* 9A90C8 80240CD8 0000902D */ daddu $s2, $zero, $zero +/* 9A90CC 80240CDC AEA00078 */ sw $zero, 0x78($s5) +/* 9A90D0 80240CE0 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9A90D4 80240CE4 8C620000 */ lw $v0, ($v1) +/* 9A90D8 80240CE8 3C0146FF */ lui $at, 0x46ff +/* 9A90DC 80240CEC 3421FE00 */ ori $at, $at, 0xfe00 +/* 9A90E0 80240CF0 4481A000 */ mtc1 $at, $f20 +/* 9A90E4 80240CF4 18400018 */ blez $v0, .L80240D58 +/* 9A90E8 80240CF8 0240802D */ daddu $s0, $s2, $zero +/* 9A90EC 80240CFC 0240882D */ daddu $s1, $s2, $zero +.L80240D00: +/* 9A90F0 80240D00 02231021 */ addu $v0, $s1, $v1 +/* 9A90F4 80240D04 4600C306 */ mov.s $f12, $f24 +/* 9A90F8 80240D08 C4440004 */ lwc1 $f4, 4($v0) +/* 9A90FC 80240D0C 46802120 */ cvt.s.w $f4, $f4 +/* 9A9100 80240D10 44062000 */ mfc1 $a2, $f4 +/* 9A9104 80240D14 C444000C */ lwc1 $f4, 0xc($v0) +/* 9A9108 80240D18 46802120 */ cvt.s.w $f4, $f4 +/* 9A910C 80240D1C 44072000 */ mfc1 $a3, $f4 +/* 9A9110 80240D20 0C00A7B5 */ jal dist2D +/* 9A9114 80240D24 4600B386 */ mov.s $f14, $f22 +/* 9A9118 80240D28 4614003C */ c.lt.s $f0, $f20 +/* 9A911C 80240D2C 00000000 */ nop +/* 9A9120 80240D30 45000003 */ bc1f .L80240D40 +/* 9A9124 80240D34 2631000C */ addiu $s1, $s1, 0xc +/* 9A9128 80240D38 46000506 */ mov.s $f20, $f0 +/* 9A912C 80240D3C AEB20078 */ sw $s2, 0x78($s5) +.L80240D40: +/* 9A9130 80240D40 8E6300D0 */ lw $v1, 0xd0($s3) +/* 9A9134 80240D44 26100001 */ addiu $s0, $s0, 1 +/* 9A9138 80240D48 8C620000 */ lw $v0, ($v1) +/* 9A913C 80240D4C 0202102A */ slt $v0, $s0, $v0 +/* 9A9140 80240D50 1440FFEB */ bnez $v0, .L80240D00 +/* 9A9144 80240D54 26520001 */ addiu $s2, $s2, 1 +.L80240D58: +/* 9A9148 80240D58 8E6200CC */ lw $v0, 0xcc($s3) +/* 9A914C 80240D5C 8C420004 */ lw $v0, 4($v0) +/* 9A9150 80240D60 AE820028 */ sw $v0, 0x28($s4) +/* 9A9154 80240D64 8E6200D0 */ lw $v0, 0xd0($s3) +/* 9A9158 80240D68 8C42007C */ lw $v0, 0x7c($v0) +/* 9A915C 80240D6C 04410004 */ bgez $v0, .L80240D80 +/* 9A9160 80240D70 00000000 */ nop +/* 9A9164 80240D74 C6C00000 */ lwc1 $f0, ($s6) +/* 9A9168 80240D78 08090368 */ j .L80240DA0 +/* 9A916C 80240D7C E6800018 */ swc1 $f0, 0x18($s4) +.L80240D80: +/* 9A9170 80240D80 3C018024 */ lui $at, 0x8024 +/* 9A9174 80240D84 D4225F40 */ ldc1 $f2, 0x5f40($at) +/* 9A9178 80240D88 44820000 */ mtc1 $v0, $f0 +/* 9A917C 80240D8C 00000000 */ nop +/* 9A9180 80240D90 46800021 */ cvt.d.w $f0, $f0 +/* 9A9184 80240D94 46220003 */ div.d $f0, $f0, $f2 +/* 9A9188 80240D98 46200020 */ cvt.s.d $f0, $f0 +/* 9A918C 80240D9C E6800018 */ swc1 $f0, 0x18($s4) +.L80240DA0: +/* 9A9190 80240DA0 24020001 */ addiu $v0, $zero, 1 +/* 9A9194 80240DA4 AEA20070 */ sw $v0, 0x70($s5) +/* 9A9198 80240DA8 8FBF002C */ lw $ra, 0x2c($sp) +/* 9A919C 80240DAC 8FB60028 */ lw $s6, 0x28($sp) +/* 9A91A0 80240DB0 8FB50024 */ lw $s5, 0x24($sp) +/* 9A91A4 80240DB4 8FB40020 */ lw $s4, 0x20($sp) +/* 9A91A8 80240DB8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A91AC 80240DBC 8FB20018 */ lw $s2, 0x18($sp) +/* 9A91B0 80240DC0 8FB10014 */ lw $s1, 0x14($sp) +/* 9A91B4 80240DC4 8FB00010 */ lw $s0, 0x10($sp) +/* 9A91B8 80240DC8 D7B80040 */ ldc1 $f24, 0x40($sp) +/* 9A91BC 80240DCC D7B60038 */ ldc1 $f22, 0x38($sp) +/* 9A91C0 80240DD0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9A91C4 80240DD4 03E00008 */ jr $ra +/* 9A91C8 80240DD8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80240DDC_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80240DDC_9A83F0.s new file mode 100644 index 0000000000..ee83d429b0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80240DDC_9A83F0.s @@ -0,0 +1,183 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240DDC_9A91CC +/* 9A91CC 80240DDC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9A91D0 80240DE0 AFB20038 */ sw $s2, 0x38($sp) +/* 9A91D4 80240DE4 0080902D */ daddu $s2, $a0, $zero +/* 9A91D8 80240DE8 AFBF0044 */ sw $ra, 0x44($sp) +/* 9A91DC 80240DEC AFB40040 */ sw $s4, 0x40($sp) +/* 9A91E0 80240DF0 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A91E4 80240DF4 AFB10034 */ sw $s1, 0x34($sp) +/* 9A91E8 80240DF8 AFB00030 */ sw $s0, 0x30($sp) +/* 9A91EC 80240DFC F7B60050 */ sdc1 $f22, 0x50($sp) +/* 9A91F0 80240E00 F7B40048 */ sdc1 $f20, 0x48($sp) +/* 9A91F4 80240E04 8E510148 */ lw $s1, 0x148($s2) +/* 9A91F8 80240E08 00A0982D */ daddu $s3, $a1, $zero +/* 9A91FC 80240E0C 86240008 */ lh $a0, 8($s1) +/* 9A9200 80240E10 0C00EABB */ jal get_npc_unsafe +/* 9A9204 80240E14 00C0A02D */ daddu $s4, $a2, $zero +/* 9A9208 80240E18 8E630014 */ lw $v1, 0x14($s3) +/* 9A920C 80240E1C 04600030 */ bltz $v1, .L80240EE0 +/* 9A9210 80240E20 0040802D */ daddu $s0, $v0, $zero +/* 9A9214 80240E24 8E420074 */ lw $v0, 0x74($s2) +/* 9A9218 80240E28 1C40002C */ bgtz $v0, .L80240EDC +/* 9A921C 80240E2C 2442FFFF */ addiu $v0, $v0, -1 +/* 9A9220 80240E30 0280202D */ daddu $a0, $s4, $zero +/* 9A9224 80240E34 AE430074 */ sw $v1, 0x74($s2) +/* 9A9228 80240E38 AFA00010 */ sw $zero, 0x10($sp) +/* 9A922C 80240E3C 8E66000C */ lw $a2, 0xc($s3) +/* 9A9230 80240E40 8E670010 */ lw $a3, 0x10($s3) +/* 9A9234 80240E44 0C01242D */ jal func_800490B4 +/* 9A9238 80240E48 0220282D */ daddu $a1, $s1, $zero +/* 9A923C 80240E4C 10400021 */ beqz $v0, .L80240ED4 +/* 9A9240 80240E50 0000202D */ daddu $a0, $zero, $zero +/* 9A9244 80240E54 0200282D */ daddu $a1, $s0, $zero +/* 9A9248 80240E58 0000302D */ daddu $a2, $zero, $zero +/* 9A924C 80240E5C 860300A8 */ lh $v1, 0xa8($s0) +/* 9A9250 80240E60 3C013F80 */ lui $at, 0x3f80 +/* 9A9254 80240E64 44810000 */ mtc1 $at, $f0 +/* 9A9258 80240E68 3C014000 */ lui $at, 0x4000 +/* 9A925C 80240E6C 44811000 */ mtc1 $at, $f2 +/* 9A9260 80240E70 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A9264 80240E74 44812000 */ mtc1 $at, $f4 +/* 9A9268 80240E78 2402000F */ addiu $v0, $zero, 0xf +/* 9A926C 80240E7C AFA2001C */ sw $v0, 0x1c($sp) +/* 9A9270 80240E80 44833000 */ mtc1 $v1, $f6 +/* 9A9274 80240E84 00000000 */ nop +/* 9A9278 80240E88 468031A0 */ cvt.s.w $f6, $f6 +/* 9A927C 80240E8C 44073000 */ mfc1 $a3, $f6 +/* 9A9280 80240E90 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A9284 80240E94 AFA20020 */ sw $v0, 0x20($sp) +/* 9A9288 80240E98 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A928C 80240E9C E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A9290 80240EA0 0C01BFA4 */ jal fx_emote +/* 9A9294 80240EA4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A9298 80240EA8 0200202D */ daddu $a0, $s0, $zero +/* 9A929C 80240EAC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9A92A0 80240EB0 0C012530 */ jal func_800494C0 +/* 9A92A4 80240EB4 3C060020 */ lui $a2, 0x20 +/* 9A92A8 80240EB8 8E220018 */ lw $v0, 0x18($s1) +/* 9A92AC 80240EBC 9442002A */ lhu $v0, 0x2a($v0) +/* 9A92B0 80240EC0 30420001 */ andi $v0, $v0, 1 +/* 9A92B4 80240EC4 14400064 */ bnez $v0, .L80241058 +/* 9A92B8 80240EC8 2402000A */ addiu $v0, $zero, 0xa +/* 9A92BC 80240ECC 08090416 */ j .L80241058 +/* 9A92C0 80240ED0 2402000C */ addiu $v0, $zero, 0xc +.L80240ED4: +/* 9A92C4 80240ED4 8E420074 */ lw $v0, 0x74($s2) +/* 9A92C8 80240ED8 2442FFFF */ addiu $v0, $v0, -1 +.L80240EDC: +/* 9A92CC 80240EDC AE420074 */ sw $v0, 0x74($s2) +.L80240EE0: +/* 9A92D0 80240EE0 8602008C */ lh $v0, 0x8c($s0) +/* 9A92D4 80240EE4 1440005D */ bnez $v0, .L8024105C +/* 9A92D8 80240EE8 00000000 */ nop +/* 9A92DC 80240EEC C6000018 */ lwc1 $f0, 0x18($s0) +/* 9A92E0 80240EF0 3C014010 */ lui $at, 0x4010 +/* 9A92E4 80240EF4 44811800 */ mtc1 $at, $f3 +/* 9A92E8 80240EF8 44801000 */ mtc1 $zero, $f2 +/* 9A92EC 80240EFC 46000021 */ cvt.d.s $f0, $f0 +/* 9A92F0 80240F00 4622003C */ c.lt.d $f0, $f2 +/* 9A92F4 80240F04 00000000 */ nop +/* 9A92F8 80240F08 45000003 */ bc1f .L80240F18 +/* 9A92FC 80240F0C 0200202D */ daddu $a0, $s0, $zero +/* 9A9300 80240F10 080903C7 */ j .L80240F1C +/* 9A9304 80240F14 0000282D */ daddu $a1, $zero, $zero +.L80240F18: +/* 9A9308 80240F18 24050001 */ addiu $a1, $zero, 1 +.L80240F1C: +/* 9A930C 80240F1C 0C00F598 */ jal func_8003D660 +/* 9A9310 80240F20 00000000 */ nop +/* 9A9314 80240F24 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A9318 80240F28 8E430078 */ lw $v1, 0x78($s2) +/* 9A931C 80240F2C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A9320 80240F30 00031040 */ sll $v0, $v1, 1 +/* 9A9324 80240F34 00431021 */ addu $v0, $v0, $v1 +/* 9A9328 80240F38 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A932C 80240F3C 00021080 */ sll $v0, $v0, 2 +/* 9A9330 80240F40 00431021 */ addu $v0, $v0, $v1 +/* 9A9334 80240F44 C4560004 */ lwc1 $f22, 4($v0) +/* 9A9338 80240F48 4680B5A0 */ cvt.s.w $f22, $f22 +/* 9A933C 80240F4C C454000C */ lwc1 $f20, 0xc($v0) +/* 9A9340 80240F50 4680A520 */ cvt.s.w $f20, $f20 +/* 9A9344 80240F54 4406B000 */ mfc1 $a2, $f22 +/* 9A9348 80240F58 4407A000 */ mfc1 $a3, $f20 +/* 9A934C 80240F5C 0C00A720 */ jal atan2 +/* 9A9350 80240F60 00000000 */ nop +/* 9A9354 80240F64 8E050018 */ lw $a1, 0x18($s0) +/* 9A9358 80240F68 44060000 */ mfc1 $a2, $f0 +/* 9A935C 80240F6C 0200202D */ daddu $a0, $s0, $zero +/* 9A9360 80240F70 0C00EA95 */ jal npc_move_heading +/* 9A9364 80240F74 AE06000C */ sw $a2, 0xc($s0) +/* 9A9368 80240F78 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A936C 80240F7C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A9370 80240F80 4406B000 */ mfc1 $a2, $f22 +/* 9A9374 80240F84 4407A000 */ mfc1 $a3, $f20 +/* 9A9378 80240F88 0C00A7B5 */ jal dist2D +/* 9A937C 80240F8C 00000000 */ nop +/* 9A9380 80240F90 C6020018 */ lwc1 $f2, 0x18($s0) +/* 9A9384 80240F94 4602003E */ c.le.s $f0, $f2 +/* 9A9388 80240F98 00000000 */ nop +/* 9A938C 80240F9C 4500002F */ bc1f .L8024105C +/* 9A9390 80240FA0 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9A9394 80240FA4 24020002 */ addiu $v0, $zero, 2 +/* 9A9398 80240FA8 0C00A67F */ jal rand_int +/* 9A939C 80240FAC AE420070 */ sw $v0, 0x70($s2) +/* 9A93A0 80240FB0 3C035555 */ lui $v1, 0x5555 +/* 9A93A4 80240FB4 34635556 */ ori $v1, $v1, 0x5556 +/* 9A93A8 80240FB8 00430018 */ mult $v0, $v1 +/* 9A93AC 80240FBC 000227C3 */ sra $a0, $v0, 0x1f +/* 9A93B0 80240FC0 00004010 */ mfhi $t0 +/* 9A93B4 80240FC4 01042023 */ subu $a0, $t0, $a0 +/* 9A93B8 80240FC8 00041840 */ sll $v1, $a0, 1 +/* 9A93BC 80240FCC 00641821 */ addu $v1, $v1, $a0 +/* 9A93C0 80240FD0 00431023 */ subu $v0, $v0, $v1 +/* 9A93C4 80240FD4 24430002 */ addiu $v1, $v0, 2 +/* 9A93C8 80240FD8 AE430074 */ sw $v1, 0x74($s2) +/* 9A93CC 80240FDC 8E62002C */ lw $v0, 0x2c($s3) +/* 9A93D0 80240FE0 18400009 */ blez $v0, .L80241008 +/* 9A93D4 80240FE4 24020004 */ addiu $v0, $zero, 4 +/* 9A93D8 80240FE8 8E620004 */ lw $v0, 4($s3) +/* 9A93DC 80240FEC 18400006 */ blez $v0, .L80241008 +/* 9A93E0 80240FF0 24020004 */ addiu $v0, $zero, 4 +/* 9A93E4 80240FF4 8E620008 */ lw $v0, 8($s3) +/* 9A93E8 80240FF8 18400003 */ blez $v0, .L80241008 +/* 9A93EC 80240FFC 24020004 */ addiu $v0, $zero, 4 +/* 9A93F0 80241000 14600002 */ bnez $v1, .L8024100C +/* 9A93F4 80241004 00000000 */ nop +.L80241008: +/* 9A93F8 80241008 AE420070 */ sw $v0, 0x70($s2) +.L8024100C: +/* 9A93FC 8024100C 0C00A67F */ jal rand_int +/* 9A9400 80241010 24042710 */ addiu $a0, $zero, 0x2710 +/* 9A9404 80241014 3C0351EB */ lui $v1, 0x51eb +/* 9A9408 80241018 3463851F */ ori $v1, $v1, 0x851f +/* 9A940C 8024101C 00430018 */ mult $v0, $v1 +/* 9A9410 80241020 00021FC3 */ sra $v1, $v0, 0x1f +/* 9A9414 80241024 00004010 */ mfhi $t0 +/* 9A9418 80241028 00082143 */ sra $a0, $t0, 5 +/* 9A941C 8024102C 00832023 */ subu $a0, $a0, $v1 +/* 9A9420 80241030 00041840 */ sll $v1, $a0, 1 +/* 9A9424 80241034 00641821 */ addu $v1, $v1, $a0 +/* 9A9428 80241038 000318C0 */ sll $v1, $v1, 3 +/* 9A942C 8024103C 00641821 */ addu $v1, $v1, $a0 +/* 9A9430 80241040 00031880 */ sll $v1, $v1, 2 +/* 9A9434 80241044 8E640004 */ lw $a0, 4($s3) +/* 9A9438 80241048 00431023 */ subu $v0, $v0, $v1 +/* 9A943C 8024104C 0044102A */ slt $v0, $v0, $a0 +/* 9A9440 80241050 10400002 */ beqz $v0, .L8024105C +/* 9A9444 80241054 24020004 */ addiu $v0, $zero, 4 +.L80241058: +/* 9A9448 80241058 AE420070 */ sw $v0, 0x70($s2) +.L8024105C: +/* 9A944C 8024105C 8FBF0044 */ lw $ra, 0x44($sp) +/* 9A9450 80241060 8FB40040 */ lw $s4, 0x40($sp) +/* 9A9454 80241064 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A9458 80241068 8FB20038 */ lw $s2, 0x38($sp) +/* 9A945C 8024106C 8FB10034 */ lw $s1, 0x34($sp) +/* 9A9460 80241070 8FB00030 */ lw $s0, 0x30($sp) +/* 9A9464 80241074 D7B60050 */ ldc1 $f22, 0x50($sp) +/* 9A9468 80241078 D7B40048 */ ldc1 $f20, 0x48($sp) +/* 9A946C 8024107C 03E00008 */ jr $ra +/* 9A9470 80241080 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241084.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241084.s new file mode 100644 index 0000000000..2246cccee1 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241084.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241084 +/* 9A9474 80241084 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9A9478 80241088 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A947C 8024108C 0080982D */ daddu $s3, $a0, $zero +/* 9A9480 80241090 AFBF0020 */ sw $ra, 0x20($sp) +/* 9A9484 80241094 AFB20018 */ sw $s2, 0x18($sp) +/* 9A9488 80241098 AFB10014 */ sw $s1, 0x14($sp) +/* 9A948C 8024109C AFB00010 */ sw $s0, 0x10($sp) +/* 9A9490 802410A0 8E720148 */ lw $s2, 0x148($s3) +/* 9A9494 802410A4 86440008 */ lh $a0, 8($s2) +/* 9A9498 802410A8 0C00EABB */ jal get_npc_unsafe +/* 9A949C 802410AC 00A0882D */ daddu $s1, $a1, $zero +/* 9A94A0 802410B0 8E240008 */ lw $a0, 8($s1) +/* 9A94A4 802410B4 0040802D */ daddu $s0, $v0, $zero +/* 9A94A8 802410B8 00041FC2 */ srl $v1, $a0, 0x1f +/* 9A94AC 802410BC 00832021 */ addu $a0, $a0, $v1 +/* 9A94B0 802410C0 00042043 */ sra $a0, $a0, 1 +/* 9A94B4 802410C4 0C00A67F */ jal rand_int +/* 9A94B8 802410C8 24840001 */ addiu $a0, $a0, 1 +/* 9A94BC 802410CC 8E230008 */ lw $v1, 8($s1) +/* 9A94C0 802410D0 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9A94C4 802410D4 00032FC2 */ srl $a1, $v1, 0x1f +/* 9A94C8 802410D8 00651821 */ addu $v1, $v1, $a1 +/* 9A94CC 802410DC 00031843 */ sra $v1, $v1, 1 +/* 9A94D0 802410E0 00621821 */ addu $v1, $v1, $v0 +/* 9A94D4 802410E4 0C00A67F */ jal rand_int +/* 9A94D8 802410E8 A603008E */ sh $v1, 0x8e($s0) +/* 9A94DC 802410EC C60C000C */ lwc1 $f12, 0xc($s0) +/* 9A94E0 802410F0 44820000 */ mtc1 $v0, $f0 +/* 9A94E4 802410F4 00000000 */ nop +/* 9A94E8 802410F8 46800020 */ cvt.s.w $f0, $f0 +/* 9A94EC 802410FC 46006300 */ add.s $f12, $f12, $f0 +/* 9A94F0 80241100 3C0142B4 */ lui $at, 0x42b4 +/* 9A94F4 80241104 44810000 */ mtc1 $at, $f0 +/* 9A94F8 80241108 0C00A6C9 */ jal clamp_angle +/* 9A94FC 8024110C 46006301 */ sub.s $f12, $f12, $f0 +/* 9A9500 80241110 E600000C */ swc1 $f0, 0xc($s0) +/* 9A9504 80241114 8E4200CC */ lw $v0, 0xcc($s2) +/* 9A9508 80241118 8C420000 */ lw $v0, ($v0) +/* 9A950C 8024111C AE020028 */ sw $v0, 0x28($s0) +/* 9A9510 80241120 24020003 */ addiu $v0, $zero, 3 +/* 9A9514 80241124 AE620070 */ sw $v0, 0x70($s3) +/* 9A9518 80241128 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A951C 8024112C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A9520 80241130 8FB20018 */ lw $s2, 0x18($sp) +/* 9A9524 80241134 8FB10014 */ lw $s1, 0x14($sp) +/* 9A9528 80241138 8FB00010 */ lw $s0, 0x10($sp) +/* 9A952C 8024113C 03E00008 */ jr $ra +/* 9A9530 80241140 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241144.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241144.s new file mode 100644 index 0000000000..519ced6377 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241144.s @@ -0,0 +1,120 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241144 +/* 9A9534 80241144 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A9538 80241148 AFB40040 */ sw $s4, 0x40($sp) +/* 9A953C 8024114C 0080A02D */ daddu $s4, $a0, $zero +/* 9A9540 80241150 AFBF0044 */ sw $ra, 0x44($sp) +/* 9A9544 80241154 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A9548 80241158 AFB20038 */ sw $s2, 0x38($sp) +/* 9A954C 8024115C AFB10034 */ sw $s1, 0x34($sp) +/* 9A9550 80241160 AFB00030 */ sw $s0, 0x30($sp) +/* 9A9554 80241164 8E910148 */ lw $s1, 0x148($s4) +/* 9A9558 80241168 00A0902D */ daddu $s2, $a1, $zero +/* 9A955C 8024116C 86240008 */ lh $a0, 8($s1) +/* 9A9560 80241170 0C00EABB */ jal get_npc_unsafe +/* 9A9564 80241174 00C0982D */ daddu $s3, $a2, $zero +/* 9A9568 80241178 8E430014 */ lw $v1, 0x14($s2) +/* 9A956C 8024117C 04600031 */ bltz $v1, .L80241244 +/* 9A9570 80241180 0040802D */ daddu $s0, $v0, $zero +/* 9A9574 80241184 0260202D */ daddu $a0, $s3, $zero +/* 9A9578 80241188 AFA00010 */ sw $zero, 0x10($sp) +/* 9A957C 8024118C 8E460024 */ lw $a2, 0x24($s2) +/* 9A9580 80241190 8E470028 */ lw $a3, 0x28($s2) +/* 9A9584 80241194 0C01242D */ jal func_800490B4 +/* 9A9588 80241198 0220282D */ daddu $a1, $s1, $zero +/* 9A958C 8024119C 10400029 */ beqz $v0, .L80241244 +/* 9A9590 802411A0 0000202D */ daddu $a0, $zero, $zero +/* 9A9594 802411A4 0200282D */ daddu $a1, $s0, $zero +/* 9A9598 802411A8 0000302D */ daddu $a2, $zero, $zero +/* 9A959C 802411AC 860300A8 */ lh $v1, 0xa8($s0) +/* 9A95A0 802411B0 3C013F80 */ lui $at, 0x3f80 +/* 9A95A4 802411B4 44810000 */ mtc1 $at, $f0 +/* 9A95A8 802411B8 3C014000 */ lui $at, 0x4000 +/* 9A95AC 802411BC 44811000 */ mtc1 $at, $f2 +/* 9A95B0 802411C0 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A95B4 802411C4 44812000 */ mtc1 $at, $f4 +/* 9A95B8 802411C8 2402000F */ addiu $v0, $zero, 0xf +/* 9A95BC 802411CC AFA2001C */ sw $v0, 0x1c($sp) +/* 9A95C0 802411D0 44833000 */ mtc1 $v1, $f6 +/* 9A95C4 802411D4 00000000 */ nop +/* 9A95C8 802411D8 468031A0 */ cvt.s.w $f6, $f6 +/* 9A95CC 802411DC 44073000 */ mfc1 $a3, $f6 +/* 9A95D0 802411E0 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A95D4 802411E4 AFA20020 */ sw $v0, 0x20($sp) +/* 9A95D8 802411E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A95DC 802411EC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A95E0 802411F0 0C01BFA4 */ jal fx_emote +/* 9A95E4 802411F4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A95E8 802411F8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A95EC 802411FC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A95F0 80241200 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9A95F4 80241204 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9A95F8 80241208 8C460028 */ lw $a2, 0x28($v0) +/* 9A95FC 8024120C 0C00A720 */ jal atan2 +/* 9A9600 80241210 8C470030 */ lw $a3, 0x30($v0) +/* 9A9604 80241214 0200202D */ daddu $a0, $s0, $zero +/* 9A9608 80241218 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9A960C 8024121C 3C060020 */ lui $a2, 0x20 +/* 9A9610 80241220 0C012530 */ jal func_800494C0 +/* 9A9614 80241224 E480000C */ swc1 $f0, 0xc($a0) +/* 9A9618 80241228 8E220018 */ lw $v0, 0x18($s1) +/* 9A961C 8024122C 9442002A */ lhu $v0, 0x2a($v0) +/* 9A9620 80241230 30420001 */ andi $v0, $v0, 1 +/* 9A9624 80241234 14400029 */ bnez $v0, .L802412DC +/* 9A9628 80241238 2402000A */ addiu $v0, $zero, 0xa +/* 9A962C 8024123C 080904B7 */ j .L802412DC +/* 9A9630 80241240 2402000C */ addiu $v0, $zero, 0xc +.L80241244: +/* 9A9634 80241244 8602008C */ lh $v0, 0x8c($s0) +/* 9A9638 80241248 14400025 */ bnez $v0, .L802412E0 +/* 9A963C 8024124C 00000000 */ nop +/* 9A9640 80241250 9602008E */ lhu $v0, 0x8e($s0) +/* 9A9644 80241254 2442FFFF */ addiu $v0, $v0, -1 +/* 9A9648 80241258 A602008E */ sh $v0, 0x8e($s0) +/* 9A964C 8024125C 00021400 */ sll $v0, $v0, 0x10 +/* 9A9650 80241260 1440001F */ bnez $v0, .L802412E0 +/* 9A9654 80241264 00000000 */ nop +/* 9A9658 80241268 8E820074 */ lw $v0, 0x74($s4) +/* 9A965C 8024126C 2442FFFF */ addiu $v0, $v0, -1 +/* 9A9660 80241270 10400019 */ beqz $v0, .L802412D8 +/* 9A9664 80241274 AE820074 */ sw $v0, 0x74($s4) +/* 9A9668 80241278 8E220018 */ lw $v0, 0x18($s1) +/* 9A966C 8024127C 9442002A */ lhu $v0, 0x2a($v0) +/* 9A9670 80241280 30420010 */ andi $v0, $v0, 0x10 +/* 9A9674 80241284 14400007 */ bnez $v0, .L802412A4 +/* 9A9678 80241288 00000000 */ nop +/* 9A967C 8024128C C600000C */ lwc1 $f0, 0xc($s0) +/* 9A9680 80241290 3C014334 */ lui $at, 0x4334 +/* 9A9684 80241294 44816000 */ mtc1 $at, $f12 +/* 9A9688 80241298 0C00A6C9 */ jal clamp_angle +/* 9A968C 8024129C 460C0300 */ add.s $f12, $f0, $f12 +/* 9A9690 802412A0 E600000C */ swc1 $f0, 0xc($s0) +.L802412A4: +/* 9A9694 802412A4 8E440008 */ lw $a0, 8($s2) +/* 9A9698 802412A8 000417C2 */ srl $v0, $a0, 0x1f +/* 9A969C 802412AC 00822021 */ addu $a0, $a0, $v0 +/* 9A96A0 802412B0 00042043 */ sra $a0, $a0, 1 +/* 9A96A4 802412B4 0C00A67F */ jal rand_int +/* 9A96A8 802412B8 24840001 */ addiu $a0, $a0, 1 +/* 9A96AC 802412BC 8E430008 */ lw $v1, 8($s2) +/* 9A96B0 802412C0 000327C2 */ srl $a0, $v1, 0x1f +/* 9A96B4 802412C4 00641821 */ addu $v1, $v1, $a0 +/* 9A96B8 802412C8 00031843 */ sra $v1, $v1, 1 +/* 9A96BC 802412CC 00621821 */ addu $v1, $v1, $v0 +/* 9A96C0 802412D0 080904B8 */ j .L802412E0 +/* 9A96C4 802412D4 A603008E */ sh $v1, 0x8e($s0) +.L802412D8: +/* 9A96C8 802412D8 24020004 */ addiu $v0, $zero, 4 +.L802412DC: +/* 9A96CC 802412DC AE820070 */ sw $v0, 0x70($s4) +.L802412E0: +/* 9A96D0 802412E0 8FBF0044 */ lw $ra, 0x44($sp) +/* 9A96D4 802412E4 8FB40040 */ lw $s4, 0x40($sp) +/* 9A96D8 802412E8 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A96DC 802412EC 8FB20038 */ lw $s2, 0x38($sp) +/* 9A96E0 802412F0 8FB10034 */ lw $s1, 0x34($sp) +/* 9A96E4 802412F4 8FB00030 */ lw $s0, 0x30($sp) +/* 9A96E8 802412F8 03E00008 */ jr $ra +/* 9A96EC 802412FC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241300.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241300.s new file mode 100644 index 0000000000..793fd593d4 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241300.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241300 +/* 9A96F0 80241300 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A96F4 80241304 AFB10014 */ sw $s1, 0x14($sp) +/* 9A96F8 80241308 0080882D */ daddu $s1, $a0, $zero +/* 9A96FC 8024130C AFBF001C */ sw $ra, 0x1c($sp) +/* 9A9700 80241310 AFB20018 */ sw $s2, 0x18($sp) +/* 9A9704 80241314 AFB00010 */ sw $s0, 0x10($sp) +/* 9A9708 80241318 8E300148 */ lw $s0, 0x148($s1) +/* 9A970C 8024131C 86040008 */ lh $a0, 8($s0) +/* 9A9710 80241320 0C00EABB */ jal get_npc_unsafe +/* 9A9714 80241324 00A0902D */ daddu $s2, $a1, $zero +/* 9A9718 80241328 8E230078 */ lw $v1, 0x78($s1) +/* 9A971C 8024132C 24630001 */ addiu $v1, $v1, 1 +/* 9A9720 80241330 AE230078 */ sw $v1, 0x78($s1) +/* 9A9724 80241334 8E0400D0 */ lw $a0, 0xd0($s0) +/* 9A9728 80241338 8C840000 */ lw $a0, ($a0) +/* 9A972C 8024133C 0064182A */ slt $v1, $v1, $a0 +/* 9A9730 80241340 14600002 */ bnez $v1, .L8024134C +/* 9A9734 80241344 0040282D */ daddu $a1, $v0, $zero +/* 9A9738 80241348 AE200078 */ sw $zero, 0x78($s1) +.L8024134C: +/* 9A973C 8024134C 8E0200CC */ lw $v0, 0xcc($s0) +/* 9A9740 80241350 8C420004 */ lw $v0, 4($v0) +/* 9A9744 80241354 ACA20028 */ sw $v0, 0x28($a1) +/* 9A9748 80241358 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9A974C 8024135C 8C42007C */ lw $v0, 0x7c($v0) +/* 9A9750 80241360 04410004 */ bgez $v0, .L80241374 +/* 9A9754 80241364 00000000 */ nop +/* 9A9758 80241368 C6400000 */ lwc1 $f0, ($s2) +/* 9A975C 8024136C 080904E5 */ j .L80241394 +/* 9A9760 80241370 E4A00018 */ swc1 $f0, 0x18($a1) +.L80241374: +/* 9A9764 80241374 3C018024 */ lui $at, 0x8024 +/* 9A9768 80241378 D4225F48 */ ldc1 $f2, 0x5f48($at) +/* 9A976C 8024137C 44820000 */ mtc1 $v0, $f0 +/* 9A9770 80241380 00000000 */ nop +/* 9A9774 80241384 46800021 */ cvt.d.w $f0, $f0 +/* 9A9778 80241388 46220003 */ div.d $f0, $f0, $f2 +/* 9A977C 8024138C 46200020 */ cvt.s.d $f0, $f0 +/* 9A9780 80241390 E4A00018 */ swc1 $f0, 0x18($a1) +.L80241394: +/* 9A9784 80241394 24020001 */ addiu $v0, $zero, 1 +/* 9A9788 80241398 AE220070 */ sw $v0, 0x70($s1) +/* 9A978C 8024139C 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A9790 802413A0 8FB20018 */ lw $s2, 0x18($sp) +/* 9A9794 802413A4 8FB10014 */ lw $s1, 0x14($sp) +/* 9A9798 802413A8 8FB00010 */ lw $s0, 0x10($sp) +/* 9A979C 802413AC 03E00008 */ jr $ra +/* 9A97A0 802413B0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802413B4.s b/asm/nonmatchings/world/area_trd/trd_04/func_802413B4.s new file mode 100644 index 0000000000..65ecbcea5a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802413B4.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802413B4 +/* 9A97A4 802413B4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A97A8 802413B8 AFB10014 */ sw $s1, 0x14($sp) +/* 9A97AC 802413BC 0080882D */ daddu $s1, $a0, $zero +/* 9A97B0 802413C0 AFBF0018 */ sw $ra, 0x18($sp) +/* 9A97B4 802413C4 AFB00010 */ sw $s0, 0x10($sp) +/* 9A97B8 802413C8 8E300148 */ lw $s0, 0x148($s1) +/* 9A97BC 802413CC 0C00EABB */ jal get_npc_unsafe +/* 9A97C0 802413D0 86040008 */ lh $a0, 8($s0) +/* 9A97C4 802413D4 8E0300CC */ lw $v1, 0xcc($s0) +/* 9A97C8 802413D8 3C014120 */ lui $at, 0x4120 +/* 9A97CC 802413DC 44812000 */ mtc1 $at, $f4 +/* 9A97D0 802413E0 3C014000 */ lui $at, 0x4000 +/* 9A97D4 802413E4 44810000 */ mtc1 $at, $f0 +/* 9A97D8 802413E8 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9A97DC 802413EC 8C640010 */ lw $a0, 0x10($v1) +/* 9A97E0 802413F0 8C430000 */ lw $v1, ($v0) +/* 9A97E4 802413F4 E444001C */ swc1 $f4, 0x1c($v0) +/* 9A97E8 802413F8 E4400014 */ swc1 $f0, 0x14($v0) +/* 9A97EC 802413FC E4420064 */ swc1 $f2, 0x64($v0) +/* 9A97F0 80241400 34630800 */ ori $v1, $v1, 0x800 +/* 9A97F4 80241404 AC430000 */ sw $v1, ($v0) +/* 9A97F8 80241408 AC440028 */ sw $a0, 0x28($v0) +/* 9A97FC 8024140C 2402000B */ addiu $v0, $zero, 0xb +/* 9A9800 80241410 AE220070 */ sw $v0, 0x70($s1) +/* 9A9804 80241414 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A9808 80241418 8FB10014 */ lw $s1, 0x14($sp) +/* 9A980C 8024141C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A9810 80241420 03E00008 */ jr $ra +/* 9A9814 80241424 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241428.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241428.s new file mode 100644 index 0000000000..ed3e104e92 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241428.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241428 +/* 9A9818 80241428 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9A981C 8024142C AFB00010 */ sw $s0, 0x10($sp) +/* 9A9820 80241430 0080802D */ daddu $s0, $a0, $zero +/* 9A9824 80241434 AFBF0014 */ sw $ra, 0x14($sp) +/* 9A9828 80241438 8E020148 */ lw $v0, 0x148($s0) +/* 9A982C 8024143C 0C00EABB */ jal get_npc_unsafe +/* 9A9830 80241440 84440008 */ lh $a0, 8($v0) +/* 9A9834 80241444 0040202D */ daddu $a0, $v0, $zero +/* 9A9838 80241448 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9A983C 8024144C C480001C */ lwc1 $f0, 0x1c($a0) +/* 9A9840 80241450 46001080 */ add.s $f2, $f2, $f0 +/* 9A9844 80241454 C4840014 */ lwc1 $f4, 0x14($a0) +/* 9A9848 80241458 46040001 */ sub.s $f0, $f0, $f4 +/* 9A984C 8024145C C4840064 */ lwc1 $f4, 0x64($a0) +/* 9A9850 80241460 4602203C */ c.lt.s $f4, $f2 +/* 9A9854 80241464 E482003C */ swc1 $f2, 0x3c($a0) +/* 9A9858 80241468 45010009 */ bc1t .L80241490 +/* 9A985C 8024146C E480001C */ swc1 $f0, 0x1c($a0) +/* 9A9860 80241470 8C820000 */ lw $v0, ($a0) +/* 9A9864 80241474 2403F7FF */ addiu $v1, $zero, -0x801 +/* 9A9868 80241478 E484003C */ swc1 $f4, 0x3c($a0) +/* 9A986C 8024147C AC80001C */ sw $zero, 0x1c($a0) +/* 9A9870 80241480 00431024 */ and $v0, $v0, $v1 +/* 9A9874 80241484 AC820000 */ sw $v0, ($a0) +/* 9A9878 80241488 2402000C */ addiu $v0, $zero, 0xc +/* 9A987C 8024148C AE020070 */ sw $v0, 0x70($s0) +.L80241490: +/* 9A9880 80241490 8FBF0014 */ lw $ra, 0x14($sp) +/* 9A9884 80241494 8FB00010 */ lw $s0, 0x10($sp) +/* 9A9888 80241498 03E00008 */ jr $ra +/* 9A988C 8024149C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802414A0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802414A0.s new file mode 100644 index 0000000000..757cc835a0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802414A0.s @@ -0,0 +1,82 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802414A0 +/* 9A9890 802414A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 9A9894 802414A4 AFB3001C */ sw $s3, 0x1c($sp) +/* 9A9898 802414A8 0080982D */ daddu $s3, $a0, $zero +/* 9A989C 802414AC AFBF0020 */ sw $ra, 0x20($sp) +/* 9A98A0 802414B0 AFB20018 */ sw $s2, 0x18($sp) +/* 9A98A4 802414B4 AFB10014 */ sw $s1, 0x14($sp) +/* 9A98A8 802414B8 AFB00010 */ sw $s0, 0x10($sp) +/* 9A98AC 802414BC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 9A98B0 802414C0 8E710148 */ lw $s1, 0x148($s3) +/* 9A98B4 802414C4 86240008 */ lh $a0, 8($s1) +/* 9A98B8 802414C8 0C00EABB */ jal get_npc_unsafe +/* 9A98BC 802414CC 00A0802D */ daddu $s0, $a1, $zero +/* 9A98C0 802414D0 8E040020 */ lw $a0, 0x20($s0) +/* 9A98C4 802414D4 0040902D */ daddu $s2, $v0, $zero +/* 9A98C8 802414D8 00041FC2 */ srl $v1, $a0, 0x1f +/* 9A98CC 802414DC 00832021 */ addu $a0, $a0, $v1 +/* 9A98D0 802414E0 00042043 */ sra $a0, $a0, 1 +/* 9A98D4 802414E4 0C00A67F */ jal rand_int +/* 9A98D8 802414E8 24840001 */ addiu $a0, $a0, 1 +/* 9A98DC 802414EC 8E030020 */ lw $v1, 0x20($s0) +/* 9A98E0 802414F0 C64C0038 */ lwc1 $f12, 0x38($s2) +/* 9A98E4 802414F4 000327C2 */ srl $a0, $v1, 0x1f +/* 9A98E8 802414F8 00641821 */ addu $v1, $v1, $a0 +/* 9A98EC 802414FC 00031843 */ sra $v1, $v1, 1 +/* 9A98F0 80241500 00621821 */ addu $v1, $v1, $v0 +/* 9A98F4 80241504 A643008E */ sh $v1, 0x8e($s2) +/* 9A98F8 80241508 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A98FC 8024150C C64E0040 */ lwc1 $f14, 0x40($s2) +/* 9A9900 80241510 8C42000C */ lw $v0, 0xc($v0) +/* 9A9904 80241514 AE420028 */ sw $v0, 0x28($s2) +/* 9A9908 80241518 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9A990C 8024151C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9A9910 80241520 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9A9914 80241524 E6400018 */ swc1 $f0, 0x18($s2) +/* 9A9918 80241528 8C460028 */ lw $a2, 0x28($v0) +/* 9A991C 8024152C 0C00A720 */ jal atan2 +/* 9A9920 80241530 8C470030 */ lw $a3, 0x30($v0) +/* 9A9924 80241534 46000506 */ mov.s $f20, $f0 +/* 9A9928 80241538 C64C000C */ lwc1 $f12, 0xc($s2) +/* 9A992C 8024153C 0C00A70A */ jal get_clamped_angle_diff +/* 9A9930 80241540 4600A386 */ mov.s $f14, $f20 +/* 9A9934 80241544 46000086 */ mov.s $f2, $f0 +/* 9A9938 80241548 8E02001C */ lw $v0, 0x1c($s0) +/* 9A993C 8024154C 46001005 */ abs.s $f0, $f2 +/* 9A9940 80241550 44822000 */ mtc1 $v0, $f4 +/* 9A9944 80241554 00000000 */ nop +/* 9A9948 80241558 46802120 */ cvt.s.w $f4, $f4 +/* 9A994C 8024155C 4600203C */ c.lt.s $f4, $f0 +/* 9A9950 80241560 00000000 */ nop +/* 9A9954 80241564 4500000D */ bc1f .L8024159C +/* 9A9958 80241568 00000000 */ nop +/* 9A995C 8024156C 44800000 */ mtc1 $zero, $f0 +/* 9A9960 80241570 C654000C */ lwc1 $f20, 0xc($s2) +/* 9A9964 80241574 4600103C */ c.lt.s $f2, $f0 +/* 9A9968 80241578 00000000 */ nop +/* 9A996C 8024157C 45000006 */ bc1f .L80241598 +/* 9A9970 80241580 00021023 */ negu $v0, $v0 +/* 9A9974 80241584 44820000 */ mtc1 $v0, $f0 +/* 9A9978 80241588 00000000 */ nop +/* 9A997C 8024158C 46800020 */ cvt.s.w $f0, $f0 +/* 9A9980 80241590 08090567 */ j .L8024159C +/* 9A9984 80241594 4600A500 */ add.s $f20, $f20, $f0 +.L80241598: +/* 9A9988 80241598 4604A500 */ add.s $f20, $f20, $f4 +.L8024159C: +/* 9A998C 8024159C 0C00A6C9 */ jal clamp_angle +/* 9A9990 802415A0 4600A306 */ mov.s $f12, $f20 +/* 9A9994 802415A4 2402000D */ addiu $v0, $zero, 0xd +/* 9A9998 802415A8 E640000C */ swc1 $f0, 0xc($s2) +/* 9A999C 802415AC AE620070 */ sw $v0, 0x70($s3) +/* 9A99A0 802415B0 8FBF0020 */ lw $ra, 0x20($sp) +/* 9A99A4 802415B4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9A99A8 802415B8 8FB20018 */ lw $s2, 0x18($sp) +/* 9A99AC 802415BC 8FB10014 */ lw $s1, 0x14($sp) +/* 9A99B0 802415C0 8FB00010 */ lw $s0, 0x10($sp) +/* 9A99B4 802415C4 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 9A99B8 802415C8 03E00008 */ jr $ra +/* 9A99BC 802415CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802415D0_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802415D0_9A83F0.s new file mode 100644 index 0000000000..63a821621f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802415D0_9A83F0.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802415D0_9A99C0 +/* 9A99C0 802415D0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9A99C4 802415D4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9A99C8 802415D8 0080982D */ daddu $s3, $a0, $zero +/* 9A99CC 802415DC AFBF0040 */ sw $ra, 0x40($sp) +/* 9A99D0 802415E0 AFB20038 */ sw $s2, 0x38($sp) +/* 9A99D4 802415E4 AFB10034 */ sw $s1, 0x34($sp) +/* 9A99D8 802415E8 AFB00030 */ sw $s0, 0x30($sp) +/* 9A99DC 802415EC 8E720148 */ lw $s2, 0x148($s3) +/* 9A99E0 802415F0 00A0882D */ daddu $s1, $a1, $zero +/* 9A99E4 802415F4 86440008 */ lh $a0, 8($s2) +/* 9A99E8 802415F8 0C00EABB */ jal get_npc_unsafe +/* 9A99EC 802415FC 00C0802D */ daddu $s0, $a2, $zero +/* 9A99F0 80241600 0200202D */ daddu $a0, $s0, $zero +/* 9A99F4 80241604 0240282D */ daddu $a1, $s2, $zero +/* 9A99F8 80241608 24030001 */ addiu $v1, $zero, 1 +/* 9A99FC 8024160C AFA30010 */ sw $v1, 0x10($sp) +/* 9A9A00 80241610 8E260024 */ lw $a2, 0x24($s1) +/* 9A9A04 80241614 8E270028 */ lw $a3, 0x28($s1) +/* 9A9A08 80241618 0C01242D */ jal func_800490B4 +/* 9A9A0C 8024161C 0040802D */ daddu $s0, $v0, $zero +/* 9A9A10 80241620 1440001E */ bnez $v0, .L8024169C +/* 9A9A14 80241624 0200202D */ daddu $a0, $s0, $zero +/* 9A9A18 80241628 24040002 */ addiu $a0, $zero, 2 +/* 9A9A1C 8024162C 0200282D */ daddu $a1, $s0, $zero +/* 9A9A20 80241630 0000302D */ daddu $a2, $zero, $zero +/* 9A9A24 80241634 860300A8 */ lh $v1, 0xa8($s0) +/* 9A9A28 80241638 3C013F80 */ lui $at, 0x3f80 +/* 9A9A2C 8024163C 44810000 */ mtc1 $at, $f0 +/* 9A9A30 80241640 3C014000 */ lui $at, 0x4000 +/* 9A9A34 80241644 44811000 */ mtc1 $at, $f2 +/* 9A9A38 80241648 3C01C1A0 */ lui $at, 0xc1a0 +/* 9A9A3C 8024164C 44812000 */ mtc1 $at, $f4 +/* 9A9A40 80241650 2402000F */ addiu $v0, $zero, 0xf +/* 9A9A44 80241654 AFA2001C */ sw $v0, 0x1c($sp) +/* 9A9A48 80241658 44833000 */ mtc1 $v1, $f6 +/* 9A9A4C 8024165C 00000000 */ nop +/* 9A9A50 80241660 468031A0 */ cvt.s.w $f6, $f6 +/* 9A9A54 80241664 44073000 */ mfc1 $a3, $f6 +/* 9A9A58 80241668 27A20028 */ addiu $v0, $sp, 0x28 +/* 9A9A5C 8024166C AFA20020 */ sw $v0, 0x20($sp) +/* 9A9A60 80241670 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9A9A64 80241674 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9A9A68 80241678 0C01BFA4 */ jal fx_emote +/* 9A9A6C 8024167C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9A9A70 80241680 8E4200CC */ lw $v0, 0xcc($s2) +/* 9A9A74 80241684 8C430000 */ lw $v1, ($v0) +/* 9A9A78 80241688 24020019 */ addiu $v0, $zero, 0x19 +/* 9A9A7C 8024168C A602008E */ sh $v0, 0x8e($s0) +/* 9A9A80 80241690 2402000E */ addiu $v0, $zero, 0xe +/* 9A9A84 80241694 080905B4 */ j .L802416D0 +/* 9A9A88 80241698 AE030028 */ sw $v1, 0x28($s0) +.L8024169C: +/* 9A9A8C 8024169C 0C00F598 */ jal func_8003D660 +/* 9A9A90 802416A0 24050001 */ addiu $a1, $zero, 1 +/* 9A9A94 802416A4 8E050018 */ lw $a1, 0x18($s0) +/* 9A9A98 802416A8 8E06000C */ lw $a2, 0xc($s0) +/* 9A9A9C 802416AC 0C00EA95 */ jal npc_move_heading +/* 9A9AA0 802416B0 0200202D */ daddu $a0, $s0, $zero +/* 9A9AA4 802416B4 8602008E */ lh $v0, 0x8e($s0) +/* 9A9AA8 802416B8 9603008E */ lhu $v1, 0x8e($s0) +/* 9A9AAC 802416BC 18400003 */ blez $v0, .L802416CC +/* 9A9AB0 802416C0 2462FFFF */ addiu $v0, $v1, -1 +/* 9A9AB4 802416C4 080905B5 */ j .L802416D4 +/* 9A9AB8 802416C8 A602008E */ sh $v0, 0x8e($s0) +.L802416CC: +/* 9A9ABC 802416CC 2402000C */ addiu $v0, $zero, 0xc +.L802416D0: +/* 9A9AC0 802416D0 AE620070 */ sw $v0, 0x70($s3) +.L802416D4: +/* 9A9AC4 802416D4 8FBF0040 */ lw $ra, 0x40($sp) +/* 9A9AC8 802416D8 8FB3003C */ lw $s3, 0x3c($sp) +/* 9A9ACC 802416DC 8FB20038 */ lw $s2, 0x38($sp) +/* 9A9AD0 802416E0 8FB10034 */ lw $s1, 0x34($sp) +/* 9A9AD4 802416E4 8FB00030 */ lw $s0, 0x30($sp) +/* 9A9AD8 802416E8 03E00008 */ jr $ra +/* 9A9ADC 802416EC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802416F0_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802416F0_9A83F0.s new file mode 100644 index 0000000000..ffd7ebc4c3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802416F0_9A83F0.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416F0_9A9AE0 +/* 9A9AE0 802416F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A9AE4 802416F4 AFB10014 */ sw $s1, 0x14($sp) +/* 9A9AE8 802416F8 0080882D */ daddu $s1, $a0, $zero +/* 9A9AEC 802416FC AFBF0018 */ sw $ra, 0x18($sp) +/* 9A9AF0 80241700 AFB00010 */ sw $s0, 0x10($sp) +/* 9A9AF4 80241704 8E300148 */ lw $s0, 0x148($s1) +/* 9A9AF8 80241708 0C00EABB */ jal get_npc_unsafe +/* 9A9AFC 8024170C 86040008 */ lh $a0, 8($s0) +/* 9A9B00 80241710 9443008E */ lhu $v1, 0x8e($v0) +/* 9A9B04 80241714 2463FFFF */ addiu $v1, $v1, -1 +/* 9A9B08 80241718 A443008E */ sh $v1, 0x8e($v0) +/* 9A9B0C 8024171C 00031C00 */ sll $v1, $v1, 0x10 +/* 9A9B10 80241720 14600008 */ bnez $v1, .L80241744 +/* 9A9B14 80241724 00000000 */ nop +/* 9A9B18 80241728 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9A9B1C 8024172C 30420080 */ andi $v0, $v0, 0x80 +/* 9A9B20 80241730 10400003 */ beqz $v0, .L80241740 +/* 9A9B24 80241734 2402000F */ addiu $v0, $zero, 0xf +/* 9A9B28 80241738 080905D1 */ j .L80241744 +/* 9A9B2C 8024173C AE220070 */ sw $v0, 0x70($s1) +.L80241740: +/* 9A9B30 80241740 AE200070 */ sw $zero, 0x70($s1) +.L80241744: +/* 9A9B34 80241744 8FBF0018 */ lw $ra, 0x18($sp) +/* 9A9B38 80241748 8FB10014 */ lw $s1, 0x14($sp) +/* 9A9B3C 8024174C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A9B40 80241750 03E00008 */ jr $ra +/* 9A9B44 80241754 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241758.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241758.s new file mode 100644 index 0000000000..a8e55ca4a1 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241758.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241758 +/* 9A9B48 80241758 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9A9B4C 8024175C AFB10014 */ sw $s1, 0x14($sp) +/* 9A9B50 80241760 0080882D */ daddu $s1, $a0, $zero +/* 9A9B54 80241764 AFBF001C */ sw $ra, 0x1c($sp) +/* 9A9B58 80241768 AFB20018 */ sw $s2, 0x18($sp) +/* 9A9B5C 8024176C AFB00010 */ sw $s0, 0x10($sp) +/* 9A9B60 80241770 8E300148 */ lw $s0, 0x148($s1) +/* 9A9B64 80241774 86040008 */ lh $a0, 8($s0) +/* 9A9B68 80241778 0C00EABB */ jal get_npc_unsafe +/* 9A9B6C 8024177C 00A0902D */ daddu $s2, $a1, $zero +/* 9A9B70 80241780 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9A9B74 80241784 8E240078 */ lw $a0, 0x78($s1) +/* 9A9B78 80241788 8C630000 */ lw $v1, ($v1) +/* 9A9B7C 8024178C 0083182A */ slt $v1, $a0, $v1 +/* 9A9B80 80241790 10600013 */ beqz $v1, .L802417E0 +/* 9A9B84 80241794 0040302D */ daddu $a2, $v0, $zero +/* 9A9B88 80241798 00041040 */ sll $v0, $a0, 1 +/* 9A9B8C 8024179C 00441021 */ addu $v0, $v0, $a0 +/* 9A9B90 802417A0 00022880 */ sll $a1, $v0, 2 +.L802417A4: +/* 9A9B94 802417A4 8E0300D0 */ lw $v1, 0xd0($s0) +/* 9A9B98 802417A8 C4C2003C */ lwc1 $f2, 0x3c($a2) +/* 9A9B9C 802417AC 00A31021 */ addu $v0, $a1, $v1 +/* 9A9BA0 802417B0 C4400008 */ lwc1 $f0, 8($v0) +/* 9A9BA4 802417B4 46800020 */ cvt.s.w $f0, $f0 +/* 9A9BA8 802417B8 4602003E */ c.le.s $f0, $f2 +/* 9A9BAC 802417BC 00000000 */ nop +/* 9A9BB0 802417C0 45020003 */ bc1fl .L802417D0 +/* 9A9BB4 802417C4 24840001 */ addiu $a0, $a0, 1 +/* 9A9BB8 802417C8 080905F8 */ j .L802417E0 +/* 9A9BBC 802417CC AE240078 */ sw $a0, 0x78($s1) +.L802417D0: +/* 9A9BC0 802417D0 8C620000 */ lw $v0, ($v1) +/* 9A9BC4 802417D4 0082102A */ slt $v0, $a0, $v0 +/* 9A9BC8 802417D8 1440FFF2 */ bnez $v0, .L802417A4 +/* 9A9BCC 802417DC 24A5000C */ addiu $a1, $a1, 0xc +.L802417E0: +/* 9A9BD0 802417E0 C6400000 */ lwc1 $f0, ($s2) +/* 9A9BD4 802417E4 E4C00018 */ swc1 $f0, 0x18($a2) +/* 9A9BD8 802417E8 8E0200CC */ lw $v0, 0xcc($s0) +/* 9A9BDC 802417EC 8C420004 */ lw $v0, 4($v0) +/* 9A9BE0 802417F0 ACC20028 */ sw $v0, 0x28($a2) +/* 9A9BE4 802417F4 24020001 */ addiu $v0, $zero, 1 +/* 9A9BE8 802417F8 AE200074 */ sw $zero, 0x74($s1) +/* 9A9BEC 802417FC AE220070 */ sw $v0, 0x70($s1) +/* 9A9BF0 80241800 8FBF001C */ lw $ra, 0x1c($sp) +/* 9A9BF4 80241804 8FB20018 */ lw $s2, 0x18($sp) +/* 9A9BF8 80241808 8FB10014 */ lw $s1, 0x14($sp) +/* 9A9BFC 8024180C 8FB00010 */ lw $s0, 0x10($sp) +/* 9A9C00 80241810 03E00008 */ jr $ra +/* 9A9C04 80241814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241818.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241818.s new file mode 100644 index 0000000000..f64ae34eb2 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241818.s @@ -0,0 +1,202 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241818 +/* 9A9C08 80241818 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 9A9C0C 8024181C AFB40058 */ sw $s4, 0x58($sp) +/* 9A9C10 80241820 0080A02D */ daddu $s4, $a0, $zero +/* 9A9C14 80241824 AFBF0060 */ sw $ra, 0x60($sp) +/* 9A9C18 80241828 AFB5005C */ sw $s5, 0x5c($sp) +/* 9A9C1C 8024182C AFB30054 */ sw $s3, 0x54($sp) +/* 9A9C20 80241830 AFB20050 */ sw $s2, 0x50($sp) +/* 9A9C24 80241834 AFB1004C */ sw $s1, 0x4c($sp) +/* 9A9C28 80241838 AFB00048 */ sw $s0, 0x48($sp) +/* 9A9C2C 8024183C 8E910148 */ lw $s1, 0x148($s4) +/* 9A9C30 80241840 86240008 */ lh $a0, 8($s1) +/* 9A9C34 80241844 0C00EABB */ jal get_npc_unsafe +/* 9A9C38 80241848 00A0802D */ daddu $s0, $a1, $zero +/* 9A9C3C 8024184C 8E83000C */ lw $v1, 0xc($s4) +/* 9A9C40 80241850 0280202D */ daddu $a0, $s4, $zero +/* 9A9C44 80241854 8C650000 */ lw $a1, ($v1) +/* 9A9C48 80241858 0C0B1EAF */ jal get_variable +/* 9A9C4C 8024185C 0040902D */ daddu $s2, $v0, $zero +/* 9A9C50 80241860 AFA00018 */ sw $zero, 0x18($sp) +/* 9A9C54 80241864 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9C58 80241868 8C630094 */ lw $v1, 0x94($v1) +/* 9A9C5C 8024186C AFA3001C */ sw $v1, 0x1c($sp) +/* 9A9C60 80241870 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9C64 80241874 8C630080 */ lw $v1, 0x80($v1) +/* 9A9C68 80241878 AFA30020 */ sw $v1, 0x20($sp) +/* 9A9C6C 8024187C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9C70 80241880 8C630088 */ lw $v1, 0x88($v1) +/* 9A9C74 80241884 AFA30024 */ sw $v1, 0x24($sp) +/* 9A9C78 80241888 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9C7C 8024188C 8C63008C */ lw $v1, 0x8c($v1) +/* 9A9C80 80241890 27B50018 */ addiu $s5, $sp, 0x18 +/* 9A9C84 80241894 AFA30028 */ sw $v1, 0x28($sp) +/* 9A9C88 80241898 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9C8C 8024189C 3C014282 */ lui $at, 0x4282 +/* 9A9C90 802418A0 44810000 */ mtc1 $at, $f0 +/* 9A9C94 802418A4 8C630090 */ lw $v1, 0x90($v1) +/* 9A9C98 802418A8 0040982D */ daddu $s3, $v0, $zero +/* 9A9C9C 802418AC E7A00030 */ swc1 $f0, 0x30($sp) +/* 9A9CA0 802418B0 A7A00034 */ sh $zero, 0x34($sp) +/* 9A9CA4 802418B4 16000005 */ bnez $s0, .L802418CC +/* 9A9CA8 802418B8 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A9CAC 802418BC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A9CB0 802418C0 30420004 */ andi $v0, $v0, 4 +/* 9A9CB4 802418C4 10400044 */ beqz $v0, .L802419D8 +/* 9A9CB8 802418C8 00000000 */ nop +.L802418CC: +/* 9A9CBC 802418CC 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A9CC0 802418D0 AE800070 */ sw $zero, 0x70($s4) +/* 9A9CC4 802418D4 A640008E */ sh $zero, 0x8e($s2) +/* 9A9CC8 802418D8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9A9CCC 802418DC 8E430000 */ lw $v1, ($s2) +/* 9A9CD0 802418E0 8C420000 */ lw $v0, ($v0) +/* 9A9CD4 802418E4 00641824 */ and $v1, $v1, $a0 +/* 9A9CD8 802418E8 AE430000 */ sw $v1, ($s2) +/* 9A9CDC 802418EC AE420028 */ sw $v0, 0x28($s2) +/* 9A9CE0 802418F0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9A9CE4 802418F4 8C420098 */ lw $v0, 0x98($v0) +/* 9A9CE8 802418F8 54400005 */ bnel $v0, $zero, .L80241910 +/* 9A9CEC 802418FC 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9A9CF0 80241900 34620200 */ ori $v0, $v1, 0x200 +/* 9A9CF4 80241904 2403FFF7 */ addiu $v1, $zero, -9 +/* 9A9CF8 80241908 08090646 */ j .L80241918 +/* 9A9CFC 8024190C 00431024 */ and $v0, $v0, $v1 +.L80241910: +/* 9A9D00 80241910 00621024 */ and $v0, $v1, $v0 +/* 9A9D04 80241914 34420008 */ ori $v0, $v0, 8 +.L80241918: +/* 9A9D08 80241918 AE420000 */ sw $v0, ($s2) +/* 9A9D0C 8024191C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A9D10 80241920 30420004 */ andi $v0, $v0, 4 +/* 9A9D14 80241924 10400008 */ beqz $v0, .L80241948 +/* 9A9D18 80241928 24020063 */ addiu $v0, $zero, 0x63 +/* 9A9D1C 8024192C AE820070 */ sw $v0, 0x70($s4) +/* 9A9D20 80241930 AE800074 */ sw $zero, 0x74($s4) +/* 9A9D24 80241934 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A9D28 80241938 2403FFFB */ addiu $v1, $zero, -5 +/* 9A9D2C 8024193C 00431024 */ and $v0, $v0, $v1 +/* 9A9D30 80241940 0809065D */ j .L80241974 +/* 9A9D34 80241944 AE2200B0 */ sw $v0, 0xb0($s1) +.L80241948: +/* 9A9D38 80241948 8E220000 */ lw $v0, ($s1) +/* 9A9D3C 8024194C 3C034000 */ lui $v1, 0x4000 +/* 9A9D40 80241950 00431024 */ and $v0, $v0, $v1 +/* 9A9D44 80241954 10400007 */ beqz $v0, .L80241974 +/* 9A9D48 80241958 3C03BFFF */ lui $v1, 0xbfff +/* 9A9D4C 8024195C 2402000C */ addiu $v0, $zero, 0xc +/* 9A9D50 80241960 AE820070 */ sw $v0, 0x70($s4) +/* 9A9D54 80241964 8E220000 */ lw $v0, ($s1) +/* 9A9D58 80241968 3463FFFF */ ori $v1, $v1, 0xffff +/* 9A9D5C 8024196C 00431024 */ and $v0, $v0, $v1 +/* 9A9D60 80241970 AE220000 */ sw $v0, ($s1) +.L80241974: +/* 9A9D64 80241974 27A50038 */ addiu $a1, $sp, 0x38 +/* 9A9D68 80241978 27A6003C */ addiu $a2, $sp, 0x3c +/* 9A9D6C 8024197C C6400038 */ lwc1 $f0, 0x38($s2) +/* 9A9D70 80241980 864200A8 */ lh $v0, 0xa8($s2) +/* 9A9D74 80241984 3C0142C8 */ lui $at, 0x42c8 +/* 9A9D78 80241988 44812000 */ mtc1 $at, $f4 +/* 9A9D7C 8024198C 44823000 */ mtc1 $v0, $f6 +/* 9A9D80 80241990 00000000 */ nop +/* 9A9D84 80241994 468031A0 */ cvt.s.w $f6, $f6 +/* 9A9D88 80241998 27A20044 */ addiu $v0, $sp, 0x44 +/* 9A9D8C 8024199C E7A00038 */ swc1 $f0, 0x38($sp) +/* 9A9D90 802419A0 C640003C */ lwc1 $f0, 0x3c($s2) +/* 9A9D94 802419A4 C6420040 */ lwc1 $f2, 0x40($s2) +/* 9A9D98 802419A8 46060000 */ add.s $f0, $f0, $f6 +/* 9A9D9C 802419AC E7A40044 */ swc1 $f4, 0x44($sp) +/* 9A9DA0 802419B0 E7A20040 */ swc1 $f2, 0x40($sp) +/* 9A9DA4 802419B4 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 9A9DA8 802419B8 AFA20010 */ sw $v0, 0x10($sp) +/* 9A9DAC 802419BC 8E440080 */ lw $a0, 0x80($s2) +/* 9A9DB0 802419C0 0C0372DF */ jal func_800DCB7C +/* 9A9DB4 802419C4 27A70040 */ addiu $a3, $sp, 0x40 +/* 9A9DB8 802419C8 10400003 */ beqz $v0, .L802419D8 +/* 9A9DBC 802419CC 00000000 */ nop +/* 9A9DC0 802419D0 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 9A9DC4 802419D4 E640003C */ swc1 $f0, 0x3c($s2) +.L802419D8: +/* 9A9DC8 802419D8 8E830070 */ lw $v1, 0x70($s4) +/* 9A9DCC 802419DC 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9A9DD0 802419E0 10400042 */ beqz $v0, .L80241AEC +/* 9A9DD4 802419E4 00031080 */ sll $v0, $v1, 2 +/* 9A9DD8 802419E8 3C018024 */ lui $at, 0x8024 +/* 9A9DDC 802419EC 00220821 */ addu $at, $at, $v0 +/* 9A9DE0 802419F0 8C225F50 */ lw $v0, 0x5f50($at) +/* 9A9DE4 802419F4 00400008 */ jr $v0 +/* 9A9DE8 802419F8 00000000 */ nop +/* 9A9DEC 802419FC 0280202D */ daddu $a0, $s4, $zero +/* 9A9DF0 80241A00 0260282D */ daddu $a1, $s3, $zero +/* 9A9DF4 80241A04 0C090321 */ jal func_80240C84 +/* 9A9DF8 80241A08 02A0302D */ daddu $a2, $s5, $zero +/* 9A9DFC 80241A0C 0280202D */ daddu $a0, $s4, $zero +/* 9A9E00 80241A10 0260282D */ daddu $a1, $s3, $zero +/* 9A9E04 80241A14 0C090377 */ jal func_80240DDC +/* 9A9E08 80241A18 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E0C 80241A1C 080906BB */ j .L80241AEC +/* 9A9E10 80241A20 00000000 */ nop +/* 9A9E14 80241A24 0280202D */ daddu $a0, $s4, $zero +/* 9A9E18 80241A28 0260282D */ daddu $a1, $s3, $zero +/* 9A9E1C 80241A2C 0C090421 */ jal func_80241084 +/* 9A9E20 80241A30 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E24 80241A34 0280202D */ daddu $a0, $s4, $zero +/* 9A9E28 80241A38 0260282D */ daddu $a1, $s3, $zero +/* 9A9E2C 80241A3C 0C090451 */ jal func_80241144 +/* 9A9E30 80241A40 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E34 80241A44 080906BB */ j .L80241AEC +/* 9A9E38 80241A48 00000000 */ nop +/* 9A9E3C 80241A4C 0280202D */ daddu $a0, $s4, $zero +/* 9A9E40 80241A50 0260282D */ daddu $a1, $s3, $zero +/* 9A9E44 80241A54 0C0904C0 */ jal func_80241300 +/* 9A9E48 80241A58 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E4C 80241A5C 080906BB */ j .L80241AEC +/* 9A9E50 80241A60 00000000 */ nop +/* 9A9E54 80241A64 0280202D */ daddu $a0, $s4, $zero +/* 9A9E58 80241A68 0260282D */ daddu $a1, $s3, $zero +/* 9A9E5C 80241A6C 0C0904ED */ jal func_802413B4 +/* 9A9E60 80241A70 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E64 80241A74 0280202D */ daddu $a0, $s4, $zero +/* 9A9E68 80241A78 0260282D */ daddu $a1, $s3, $zero +/* 9A9E6C 80241A7C 0C09050A */ jal func_80241428 +/* 9A9E70 80241A80 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E74 80241A84 080906BB */ j .L80241AEC +/* 9A9E78 80241A88 00000000 */ nop +/* 9A9E7C 80241A8C 0280202D */ daddu $a0, $s4, $zero +/* 9A9E80 80241A90 0260282D */ daddu $a1, $s3, $zero +/* 9A9E84 80241A94 0C090528 */ jal func_802414A0 +/* 9A9E88 80241A98 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E8C 80241A9C 0280202D */ daddu $a0, $s4, $zero +/* 9A9E90 80241AA0 0260282D */ daddu $a1, $s3, $zero +/* 9A9E94 80241AA4 0C090574 */ jal func_802415D0 +/* 9A9E98 80241AA8 02A0302D */ daddu $a2, $s5, $zero +/* 9A9E9C 80241AAC 080906BB */ j .L80241AEC +/* 9A9EA0 80241AB0 00000000 */ nop +/* 9A9EA4 80241AB4 0280202D */ daddu $a0, $s4, $zero +/* 9A9EA8 80241AB8 0260282D */ daddu $a1, $s3, $zero +/* 9A9EAC 80241ABC 0C0905BC */ jal func_802416F0 +/* 9A9EB0 80241AC0 02A0302D */ daddu $a2, $s5, $zero +/* 9A9EB4 80241AC4 080906BB */ j .L80241AEC +/* 9A9EB8 80241AC8 00000000 */ nop +/* 9A9EBC 80241ACC 0280202D */ daddu $a0, $s4, $zero +/* 9A9EC0 80241AD0 0260282D */ daddu $a1, $s3, $zero +/* 9A9EC4 80241AD4 0C0905D6 */ jal func_80241758 +/* 9A9EC8 80241AD8 02A0302D */ daddu $a2, $s5, $zero +/* 9A9ECC 80241ADC 080906BB */ j .L80241AEC +/* 9A9ED0 80241AE0 00000000 */ nop +/* 9A9ED4 80241AE4 0C0129CF */ jal func_8004A73C +/* 9A9ED8 80241AE8 0280202D */ daddu $a0, $s4, $zero +.L80241AEC: +/* 9A9EDC 80241AEC 8FBF0060 */ lw $ra, 0x60($sp) +/* 9A9EE0 80241AF0 8FB5005C */ lw $s5, 0x5c($sp) +/* 9A9EE4 80241AF4 8FB40058 */ lw $s4, 0x58($sp) +/* 9A9EE8 80241AF8 8FB30054 */ lw $s3, 0x54($sp) +/* 9A9EEC 80241AFC 8FB20050 */ lw $s2, 0x50($sp) +/* 9A9EF0 80241B00 8FB1004C */ lw $s1, 0x4c($sp) +/* 9A9EF4 80241B04 8FB00048 */ lw $s0, 0x48($sp) +/* 9A9EF8 80241B08 0000102D */ daddu $v0, $zero, $zero +/* 9A9EFC 80241B0C 03E00008 */ jr $ra +/* 9A9F00 80241B10 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241B14_9A83F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241B14_9A83F0.s new file mode 100644 index 0000000000..4327b261a5 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241B14_9A83F0.s @@ -0,0 +1,204 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241B14_9A9F04 +/* 9A9F04 80241B14 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9A9F08 80241B18 AFB3005C */ sw $s3, 0x5c($sp) +/* 9A9F0C 80241B1C 0080982D */ daddu $s3, $a0, $zero +/* 9A9F10 80241B20 AFBF0068 */ sw $ra, 0x68($sp) +/* 9A9F14 80241B24 AFB50064 */ sw $s5, 0x64($sp) +/* 9A9F18 80241B28 AFB40060 */ sw $s4, 0x60($sp) +/* 9A9F1C 80241B2C AFB20058 */ sw $s2, 0x58($sp) +/* 9A9F20 80241B30 AFB10054 */ sw $s1, 0x54($sp) +/* 9A9F24 80241B34 AFB00050 */ sw $s0, 0x50($sp) +/* 9A9F28 80241B38 8E710148 */ lw $s1, 0x148($s3) +/* 9A9F2C 80241B3C 86240008 */ lh $a0, 8($s1) +/* 9A9F30 80241B40 0C00EABB */ jal get_npc_unsafe +/* 9A9F34 80241B44 00A0802D */ daddu $s0, $a1, $zero +/* 9A9F38 80241B48 8E63000C */ lw $v1, 0xc($s3) +/* 9A9F3C 80241B4C 0260202D */ daddu $a0, $s3, $zero +/* 9A9F40 80241B50 8C650000 */ lw $a1, ($v1) +/* 9A9F44 80241B54 0C0B1EAF */ jal get_variable +/* 9A9F48 80241B58 0040902D */ daddu $s2, $v0, $zero +/* 9A9F4C 80241B5C AFA00028 */ sw $zero, 0x28($sp) +/* 9A9F50 80241B60 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9F54 80241B64 8C630094 */ lw $v1, 0x94($v1) +/* 9A9F58 80241B68 AFA3002C */ sw $v1, 0x2c($sp) +/* 9A9F5C 80241B6C 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9F60 80241B70 8C630080 */ lw $v1, 0x80($v1) +/* 9A9F64 80241B74 AFA30030 */ sw $v1, 0x30($sp) +/* 9A9F68 80241B78 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9F6C 80241B7C 8C630088 */ lw $v1, 0x88($v1) +/* 9A9F70 80241B80 AFA30034 */ sw $v1, 0x34($sp) +/* 9A9F74 80241B84 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9F78 80241B88 8C63008C */ lw $v1, 0x8c($v1) +/* 9A9F7C 80241B8C 27B50028 */ addiu $s5, $sp, 0x28 +/* 9A9F80 80241B90 AFA30038 */ sw $v1, 0x38($sp) +/* 9A9F84 80241B94 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9A9F88 80241B98 3C0142C8 */ lui $at, 0x42c8 +/* 9A9F8C 80241B9C 44810000 */ mtc1 $at, $f0 +/* 9A9F90 80241BA0 8C630090 */ lw $v1, 0x90($v1) +/* 9A9F94 80241BA4 0040A02D */ daddu $s4, $v0, $zero +/* 9A9F98 80241BA8 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9A9F9C 80241BAC A7A00044 */ sh $zero, 0x44($sp) +/* 9A9FA0 80241BB0 12000007 */ beqz $s0, .L80241BD0 +/* 9A9FA4 80241BB4 AFA3003C */ sw $v1, 0x3c($sp) +/* 9A9FA8 80241BB8 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A9FAC 80241BBC 864300A8 */ lh $v1, 0xa8($s2) +/* 9A9FB0 80241BC0 34420008 */ ori $v0, $v0, 8 +/* 9A9FB4 80241BC4 AE230084 */ sw $v1, 0x84($s1) +/* 9A9FB8 80241BC8 080906F8 */ j .L80241BE0 +/* 9A9FBC 80241BCC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241BD0: +/* 9A9FC0 80241BD0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9A9FC4 80241BD4 30420004 */ andi $v0, $v0, 4 +/* 9A9FC8 80241BD8 10400048 */ beqz $v0, .L80241CFC +/* 9A9FCC 80241BDC 00000000 */ nop +.L80241BE0: +/* 9A9FD0 80241BE0 A640008E */ sh $zero, 0x8e($s2) +/* 9A9FD4 80241BE4 AE600070 */ sw $zero, 0x70($s3) +/* 9A9FD8 80241BE8 8E2300CC */ lw $v1, 0xcc($s1) +/* 9A9FDC 80241BEC 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9A9FE0 80241BF0 A2200007 */ sb $zero, 7($s1) +/* 9A9FE4 80241BF4 8E420000 */ lw $v0, ($s2) +/* 9A9FE8 80241BF8 8C630000 */ lw $v1, ($v1) +/* 9A9FEC 80241BFC 00441024 */ and $v0, $v0, $a0 +/* 9A9FF0 80241C00 AE420000 */ sw $v0, ($s2) +/* 9A9FF4 80241C04 AE430028 */ sw $v1, 0x28($s2) +/* 9A9FF8 80241C08 96220086 */ lhu $v0, 0x86($s1) +/* 9A9FFC 80241C0C A64200A8 */ sh $v0, 0xa8($s2) +/* 9AA000 80241C10 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA004 80241C14 A22000B5 */ sb $zero, 0xb5($s1) +/* 9AA008 80241C18 AE20008C */ sw $zero, 0x8c($s1) +/* 9AA00C 80241C1C 8C420098 */ lw $v0, 0x98($v0) +/* 9AA010 80241C20 14400006 */ bnez $v0, .L80241C3C +/* 9AA014 80241C24 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9AA018 80241C28 8E420000 */ lw $v0, ($s2) +/* 9AA01C 80241C2C 2403FFF7 */ addiu $v1, $zero, -9 +/* 9AA020 80241C30 34420200 */ ori $v0, $v0, 0x200 +/* 9AA024 80241C34 08090712 */ j .L80241C48 +/* 9AA028 80241C38 00431024 */ and $v0, $v0, $v1 +.L80241C3C: +/* 9AA02C 80241C3C 8E420000 */ lw $v0, ($s2) +/* 9AA030 80241C40 00431024 */ and $v0, $v0, $v1 +/* 9AA034 80241C44 34420008 */ ori $v0, $v0, 8 +.L80241C48: +/* 9AA038 80241C48 AE420000 */ sw $v0, ($s2) +/* 9AA03C 80241C4C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9AA040 80241C50 30420004 */ andi $v0, $v0, 4 +/* 9AA044 80241C54 1040001E */ beqz $v0, .L80241CD0 +/* 9AA048 80241C58 24040002 */ addiu $a0, $zero, 2 +/* 9AA04C 80241C5C 0240282D */ daddu $a1, $s2, $zero +/* 9AA050 80241C60 0000302D */ daddu $a2, $zero, $zero +/* 9AA054 80241C64 24020063 */ addiu $v0, $zero, 0x63 +/* 9AA058 80241C68 AE620070 */ sw $v0, 0x70($s3) +/* 9AA05C 80241C6C AE600074 */ sw $zero, 0x74($s3) +/* 9AA060 80241C70 864300A8 */ lh $v1, 0xa8($s2) +/* 9AA064 80241C74 3C013F80 */ lui $at, 0x3f80 +/* 9AA068 80241C78 44810000 */ mtc1 $at, $f0 +/* 9AA06C 80241C7C 3C014000 */ lui $at, 0x4000 +/* 9AA070 80241C80 44811000 */ mtc1 $at, $f2 +/* 9AA074 80241C84 3C01C1A0 */ lui $at, 0xc1a0 +/* 9AA078 80241C88 44812000 */ mtc1 $at, $f4 +/* 9AA07C 80241C8C 24020028 */ addiu $v0, $zero, 0x28 +/* 9AA080 80241C90 AFA2001C */ sw $v0, 0x1c($sp) +/* 9AA084 80241C94 44833000 */ mtc1 $v1, $f6 +/* 9AA088 80241C98 00000000 */ nop +/* 9AA08C 80241C9C 468031A0 */ cvt.s.w $f6, $f6 +/* 9AA090 80241CA0 44073000 */ mfc1 $a3, $f6 +/* 9AA094 80241CA4 27A20048 */ addiu $v0, $sp, 0x48 +/* 9AA098 80241CA8 AFA20020 */ sw $v0, 0x20($sp) +/* 9AA09C 80241CAC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9AA0A0 80241CB0 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9AA0A4 80241CB4 0C01BFA4 */ jal fx_emote +/* 9AA0A8 80241CB8 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9AA0AC 80241CBC 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9AA0B0 80241CC0 2403FFFB */ addiu $v1, $zero, -5 +/* 9AA0B4 80241CC4 00431024 */ and $v0, $v0, $v1 +/* 9AA0B8 80241CC8 0809073F */ j .L80241CFC +/* 9AA0BC 80241CCC AE2200B0 */ sw $v0, 0xb0($s1) +.L80241CD0: +/* 9AA0C0 80241CD0 8E220000 */ lw $v0, ($s1) +/* 9AA0C4 80241CD4 3C034000 */ lui $v1, 0x4000 +/* 9AA0C8 80241CD8 00431024 */ and $v0, $v0, $v1 +/* 9AA0CC 80241CDC 10400007 */ beqz $v0, .L80241CFC +/* 9AA0D0 80241CE0 3C03BFFF */ lui $v1, 0xbfff +/* 9AA0D4 80241CE4 2402000C */ addiu $v0, $zero, 0xc +/* 9AA0D8 80241CE8 AE620070 */ sw $v0, 0x70($s3) +/* 9AA0DC 80241CEC 8E220000 */ lw $v0, ($s1) +/* 9AA0E0 80241CF0 3463FFFF */ ori $v1, $v1, 0xffff +/* 9AA0E4 80241CF4 00431024 */ and $v0, $v0, $v1 +/* 9AA0E8 80241CF8 AE220000 */ sw $v0, ($s1) +.L80241CFC: +/* 9AA0EC 80241CFC 8E630070 */ lw $v1, 0x70($s3) +/* 9AA0F0 80241D00 2C620064 */ sltiu $v0, $v1, 0x64 +/* 9AA0F4 80241D04 1040003A */ beqz $v0, .L80241DF0 +/* 9AA0F8 80241D08 00031080 */ sll $v0, $v1, 2 +/* 9AA0FC 80241D0C 3C018024 */ lui $at, 0x8024 +/* 9AA100 80241D10 00220821 */ addu $at, $at, $v0 +/* 9AA104 80241D14 8C2260E0 */ lw $v0, 0x60e0($at) +/* 9AA108 80241D18 00400008 */ jr $v0 +/* 9AA10C 80241D1C 00000000 */ nop +/* 9AA110 80241D20 0260202D */ daddu $a0, $s3, $zero +/* 9AA114 80241D24 0280282D */ daddu $a1, $s4, $zero +/* 9AA118 80241D28 0C090321 */ jal func_80240C84 +/* 9AA11C 80241D2C 02A0302D */ daddu $a2, $s5, $zero +/* 9AA120 80241D30 96220086 */ lhu $v0, 0x86($s1) +/* 9AA124 80241D34 A64200A8 */ sh $v0, 0xa8($s2) +/* 9AA128 80241D38 0260202D */ daddu $a0, $s3, $zero +/* 9AA12C 80241D3C 0280282D */ daddu $a1, $s4, $zero +/* 9AA130 80241D40 0C090377 */ jal func_80240DDC +/* 9AA134 80241D44 02A0302D */ daddu $a2, $s5, $zero +/* 9AA138 80241D48 0809077C */ j .L80241DF0 +/* 9AA13C 80241D4C 00000000 */ nop +/* 9AA140 80241D50 0260202D */ daddu $a0, $s3, $zero +/* 9AA144 80241D54 0280282D */ daddu $a1, $s4, $zero +/* 9AA148 80241D58 0C090421 */ jal func_80241084 +/* 9AA14C 80241D5C 02A0302D */ daddu $a2, $s5, $zero +/* 9AA150 80241D60 0260202D */ daddu $a0, $s3, $zero +/* 9AA154 80241D64 0280282D */ daddu $a1, $s4, $zero +/* 9AA158 80241D68 0C090451 */ jal func_80241144 +/* 9AA15C 80241D6C 02A0302D */ daddu $a2, $s5, $zero +/* 9AA160 80241D70 0809077C */ j .L80241DF0 +/* 9AA164 80241D74 00000000 */ nop +/* 9AA168 80241D78 0260202D */ daddu $a0, $s3, $zero +/* 9AA16C 80241D7C 0280282D */ daddu $a1, $s4, $zero +/* 9AA170 80241D80 0C0904C0 */ jal func_80241300 +/* 9AA174 80241D84 02A0302D */ daddu $a2, $s5, $zero +/* 9AA178 80241D88 0809077C */ j .L80241DF0 +/* 9AA17C 80241D8C 00000000 */ nop +/* 9AA180 80241D90 0260202D */ daddu $a0, $s3, $zero +/* 9AA184 80241D94 0280282D */ daddu $a1, $s4, $zero +/* 9AA188 80241D98 0C09012C */ jal func_802404B0 +/* 9AA18C 80241D9C 02A0302D */ daddu $a2, $s5, $zero +/* 9AA190 80241DA0 0260202D */ daddu $a0, $s3, $zero +/* 9AA194 80241DA4 0280282D */ daddu $a1, $s4, $zero +/* 9AA198 80241DA8 0C09014B */ jal func_8024052C +/* 9AA19C 80241DAC 02A0302D */ daddu $a2, $s5, $zero +/* 9AA1A0 80241DB0 0809077C */ j .L80241DF0 +/* 9AA1A4 80241DB4 00000000 */ nop +/* 9AA1A8 80241DB8 0260202D */ daddu $a0, $s3, $zero +/* 9AA1AC 80241DBC 0280282D */ daddu $a1, $s4, $zero +/* 9AA1B0 80241DC0 0C090198 */ jal func_80240660 +/* 9AA1B4 80241DC4 02A0302D */ daddu $a2, $s5, $zero +/* 9AA1B8 80241DC8 0809077C */ j .L80241DF0 +/* 9AA1BC 80241DCC 00000000 */ nop +/* 9AA1C0 80241DD0 0260202D */ daddu $a0, $s3, $zero +/* 9AA1C4 80241DD4 0280282D */ daddu $a1, $s4, $zero +/* 9AA1C8 80241DD8 0C0901F1 */ jal func_802407C4 +/* 9AA1CC 80241DDC 02A0302D */ daddu $a2, $s5, $zero +/* 9AA1D0 80241DE0 0809077C */ j .L80241DF0 +/* 9AA1D4 80241DE4 00000000 */ nop +/* 9AA1D8 80241DE8 0C0129CF */ jal func_8004A73C +/* 9AA1DC 80241DEC 0260202D */ daddu $a0, $s3, $zero +.L80241DF0: +/* 9AA1E0 80241DF0 8FBF0068 */ lw $ra, 0x68($sp) +/* 9AA1E4 80241DF4 8FB50064 */ lw $s5, 0x64($sp) +/* 9AA1E8 80241DF8 8FB40060 */ lw $s4, 0x60($sp) +/* 9AA1EC 80241DFC 8FB3005C */ lw $s3, 0x5c($sp) +/* 9AA1F0 80241E00 8FB20058 */ lw $s2, 0x58($sp) +/* 9AA1F4 80241E04 8FB10054 */ lw $s1, 0x54($sp) +/* 9AA1F8 80241E08 8FB00050 */ lw $s0, 0x50($sp) +/* 9AA1FC 80241E0C 0000102D */ daddu $v0, $zero, $zero +/* 9AA200 80241E10 03E00008 */ jr $ra +/* 9AA204 80241E14 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241E18.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241E18.s new file mode 100644 index 0000000000..71f4383b90 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241E18.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241E18 +/* 9AA208 80241E18 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9AA20C 80241E1C AFB3002C */ sw $s3, 0x2c($sp) +/* 9AA210 80241E20 0080982D */ daddu $s3, $a0, $zero +/* 9AA214 80241E24 AFBF0030 */ sw $ra, 0x30($sp) +/* 9AA218 80241E28 AFB20028 */ sw $s2, 0x28($sp) +/* 9AA21C 80241E2C AFB10024 */ sw $s1, 0x24($sp) +/* 9AA220 80241E30 AFB00020 */ sw $s0, 0x20($sp) +/* 9AA224 80241E34 8E710148 */ lw $s1, 0x148($s3) +/* 9AA228 80241E38 86240008 */ lh $a0, 8($s1) +/* 9AA22C 80241E3C 0C00EABB */ jal get_npc_unsafe +/* 9AA230 80241E40 00A0902D */ daddu $s2, $a1, $zero +/* 9AA234 80241E44 8E440004 */ lw $a0, 4($s2) +/* 9AA238 80241E48 0040802D */ daddu $s0, $v0, $zero +/* 9AA23C 80241E4C 00041FC2 */ srl $v1, $a0, 0x1f +/* 9AA240 80241E50 00832021 */ addu $a0, $a0, $v1 +/* 9AA244 80241E54 00042043 */ sra $a0, $a0, 1 +/* 9AA248 80241E58 0C00A67F */ jal rand_int +/* 9AA24C 80241E5C 24840001 */ addiu $a0, $a0, 1 +/* 9AA250 80241E60 8E430004 */ lw $v1, 4($s2) +/* 9AA254 80241E64 000327C2 */ srl $a0, $v1, 0x1f +/* 9AA258 80241E68 00641821 */ addu $v1, $v1, $a0 +/* 9AA25C 80241E6C 00031843 */ sra $v1, $v1, 1 +/* 9AA260 80241E70 00621821 */ addu $v1, $v1, $v0 +/* 9AA264 80241E74 A603008E */ sh $v1, 0x8e($s0) +/* 9AA268 80241E78 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9AA26C 80241E7C C6000040 */ lwc1 $f0, 0x40($s0) +/* 9AA270 80241E80 C4640000 */ lwc1 $f4, ($v1) +/* 9AA274 80241E84 46802120 */ cvt.s.w $f4, $f4 +/* 9AA278 80241E88 C4620008 */ lwc1 $f2, 8($v1) +/* 9AA27C 80241E8C 468010A0 */ cvt.s.w $f2, $f2 +/* 9AA280 80241E90 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9AA284 80241E94 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA288 80241E98 44061000 */ mfc1 $a2, $f2 +/* 9AA28C 80241E9C C440000C */ lwc1 $f0, 0xc($v0) +/* 9AA290 80241EA0 46800020 */ cvt.s.w $f0, $f0 +/* 9AA294 80241EA4 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9AA298 80241EA8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA29C 80241EAC 44052000 */ mfc1 $a1, $f4 +/* 9AA2A0 80241EB0 C4400010 */ lwc1 $f0, 0x10($v0) +/* 9AA2A4 80241EB4 46800020 */ cvt.s.w $f0, $f0 +/* 9AA2A8 80241EB8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AA2AC 80241EBC 8C640018 */ lw $a0, 0x18($v1) +/* 9AA2B0 80241EC0 0C0123F5 */ jal is_point_within_region +/* 9AA2B4 80241EC4 8E070038 */ lw $a3, 0x38($s0) +/* 9AA2B8 80241EC8 1040000E */ beqz $v0, .L80241F04 +/* 9AA2BC 80241ECC 00000000 */ nop +/* 9AA2C0 80241ED0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA2C4 80241ED4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AA2C8 80241ED8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AA2CC 80241EDC C4460000 */ lwc1 $f6, ($v0) +/* 9AA2D0 80241EE0 468031A0 */ cvt.s.w $f6, $f6 +/* 9AA2D4 80241EE4 44063000 */ mfc1 $a2, $f6 +/* 9AA2D8 80241EE8 C4460008 */ lwc1 $f6, 8($v0) +/* 9AA2DC 80241EEC 468031A0 */ cvt.s.w $f6, $f6 +/* 9AA2E0 80241EF0 44073000 */ mfc1 $a3, $f6 +/* 9AA2E4 80241EF4 0C00A720 */ jal atan2 +/* 9AA2E8 80241EF8 00000000 */ nop +/* 9AA2EC 80241EFC 080907CD */ j .L80241F34 +/* 9AA2F0 80241F00 E600000C */ swc1 $f0, 0xc($s0) +.L80241F04: +/* 9AA2F4 80241F04 0C00A67F */ jal rand_int +/* 9AA2F8 80241F08 2404003C */ addiu $a0, $zero, 0x3c +/* 9AA2FC 80241F0C C60C000C */ lwc1 $f12, 0xc($s0) +/* 9AA300 80241F10 44820000 */ mtc1 $v0, $f0 +/* 9AA304 80241F14 00000000 */ nop +/* 9AA308 80241F18 46800020 */ cvt.s.w $f0, $f0 +/* 9AA30C 80241F1C 46006300 */ add.s $f12, $f12, $f0 +/* 9AA310 80241F20 3C0141F0 */ lui $at, 0x41f0 +/* 9AA314 80241F24 44810000 */ mtc1 $at, $f0 +/* 9AA318 80241F28 0C00A6C9 */ jal clamp_angle +/* 9AA31C 80241F2C 46006301 */ sub.s $f12, $f12, $f0 +/* 9AA320 80241F30 E600000C */ swc1 $f0, 0xc($s0) +.L80241F34: +/* 9AA324 80241F34 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AA328 80241F38 8C420004 */ lw $v0, 4($v0) +/* 9AA32C 80241F3C AE020028 */ sw $v0, 0x28($s0) +/* 9AA330 80241F40 AE600074 */ sw $zero, 0x74($s3) +/* 9AA334 80241F44 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA338 80241F48 8C420014 */ lw $v0, 0x14($v0) +/* 9AA33C 80241F4C 04410004 */ bgez $v0, .L80241F60 +/* 9AA340 80241F50 00000000 */ nop +/* 9AA344 80241F54 C6400000 */ lwc1 $f0, ($s2) +/* 9AA348 80241F58 080907E0 */ j .L80241F80 +/* 9AA34C 80241F5C E6000018 */ swc1 $f0, 0x18($s0) +.L80241F60: +/* 9AA350 80241F60 3C018024 */ lui $at, 0x8024 +/* 9AA354 80241F64 D4226270 */ ldc1 $f2, 0x6270($at) +/* 9AA358 80241F68 44820000 */ mtc1 $v0, $f0 +/* 9AA35C 80241F6C 00000000 */ nop +/* 9AA360 80241F70 46800021 */ cvt.d.w $f0, $f0 +/* 9AA364 80241F74 46220003 */ div.d $f0, $f0, $f2 +/* 9AA368 80241F78 46200020 */ cvt.s.d $f0, $f0 +/* 9AA36C 80241F7C E6000018 */ swc1 $f0, 0x18($s0) +.L80241F80: +/* 9AA370 80241F80 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AA374 80241F84 3C014059 */ lui $at, 0x4059 +/* 9AA378 80241F88 44811800 */ mtc1 $at, $f3 +/* 9AA37C 80241F8C 44801000 */ mtc1 $zero, $f2 +/* 9AA380 80241F90 46000021 */ cvt.d.s $f0, $f0 +/* 9AA384 80241F94 46220002 */ mul.d $f0, $f0, $f2 +/* 9AA388 80241F98 00000000 */ nop +/* 9AA38C 80241F9C 24020001 */ addiu $v0, $zero, 1 +/* 9AA390 80241FA0 4620018D */ trunc.w.d $f6, $f0 +/* 9AA394 80241FA4 E626007C */ swc1 $f6, 0x7c($s1) +/* 9AA398 80241FA8 AE620070 */ sw $v0, 0x70($s3) +/* 9AA39C 80241FAC 8FBF0030 */ lw $ra, 0x30($sp) +/* 9AA3A0 80241FB0 8FB3002C */ lw $s3, 0x2c($sp) +/* 9AA3A4 80241FB4 8FB20028 */ lw $s2, 0x28($sp) +/* 9AA3A8 80241FB8 8FB10024 */ lw $s1, 0x24($sp) +/* 9AA3AC 80241FBC 8FB00020 */ lw $s0, 0x20($sp) +/* 9AA3B0 80241FC0 03E00008 */ jr $ra +/* 9AA3B4 80241FC4 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80241FC8.s b/asm/nonmatchings/world/area_trd/trd_04/func_80241FC8.s new file mode 100644 index 0000000000..213bac02cd --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80241FC8.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FC8 +/* 9AA3B8 80241FC8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 9AA3BC 80241FCC AFB3004C */ sw $s3, 0x4c($sp) +/* 9AA3C0 80241FD0 0080982D */ daddu $s3, $a0, $zero +/* 9AA3C4 80241FD4 AFBF0058 */ sw $ra, 0x58($sp) +/* 9AA3C8 80241FD8 AFB50054 */ sw $s5, 0x54($sp) +/* 9AA3CC 80241FDC AFB40050 */ sw $s4, 0x50($sp) +/* 9AA3D0 80241FE0 AFB20048 */ sw $s2, 0x48($sp) +/* 9AA3D4 80241FE4 AFB10044 */ sw $s1, 0x44($sp) +/* 9AA3D8 80241FE8 AFB00040 */ sw $s0, 0x40($sp) +/* 9AA3DC 80241FEC F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9AA3E0 80241FF0 F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9AA3E4 80241FF4 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9AA3E8 80241FF8 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9AA3EC 80241FFC 8E710148 */ lw $s1, 0x148($s3) +/* 9AA3F0 80242000 00A0902D */ daddu $s2, $a1, $zero +/* 9AA3F4 80242004 86240008 */ lh $a0, 8($s1) +/* 9AA3F8 80242008 0C00EABB */ jal get_npc_unsafe +/* 9AA3FC 8024200C 00C0A82D */ daddu $s5, $a2, $zero +/* 9AA400 80242010 0040802D */ daddu $s0, $v0, $zero +/* 9AA404 80242014 0000A02D */ daddu $s4, $zero, $zero +/* 9AA408 80242018 C624007C */ lwc1 $f4, 0x7c($s1) +/* 9AA40C 8024201C 46802120 */ cvt.s.w $f4, $f4 +/* 9AA410 80242020 C6220088 */ lwc1 $f2, 0x88($s1) +/* 9AA414 80242024 468010A0 */ cvt.s.w $f2, $f2 +/* 9AA418 80242028 460010A1 */ cvt.d.s $f2, $f2 +/* 9AA41C 8024202C 46002121 */ cvt.d.s $f4, $f4 +/* 9AA420 80242030 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AA424 80242034 3C014059 */ lui $at, 0x4059 +/* 9AA428 80242038 44813800 */ mtc1 $at, $f7 +/* 9AA42C 8024203C 44803000 */ mtc1 $zero, $f6 +/* 9AA430 80242040 46000021 */ cvt.d.s $f0, $f0 +/* 9AA434 80242044 46260002 */ mul.d $f0, $f0, $f6 +/* 9AA438 80242048 00000000 */ nop +/* 9AA43C 8024204C 24020001 */ addiu $v0, $zero, 1 +/* 9AA440 80242050 8E24006C */ lw $a0, 0x6c($s1) +/* 9AA444 80242054 46261083 */ div.d $f2, $f2, $f6 +/* 9AA448 80242058 462010A0 */ cvt.s.d $f2, $f2 +/* 9AA44C 8024205C 46262103 */ div.d $f4, $f4, $f6 +/* 9AA450 80242060 46202520 */ cvt.s.d $f20, $f4 +/* 9AA454 80242064 30830011 */ andi $v1, $a0, 0x11 +/* 9AA458 80242068 4620020D */ trunc.w.d $f8, $f0 +/* 9AA45C 8024206C E628007C */ swc1 $f8, 0x7c($s1) +/* 9AA460 80242070 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9AA464 80242074 46800020 */ cvt.s.w $f0, $f0 +/* 9AA468 80242078 46000021 */ cvt.d.s $f0, $f0 +/* 9AA46C 8024207C 46260003 */ div.d $f0, $f0, $f6 +/* 9AA470 80242080 462006A0 */ cvt.s.d $f26, $f0 +/* 9AA474 80242084 C6200070 */ lwc1 $f0, 0x70($s1) +/* 9AA478 80242088 46800020 */ cvt.s.w $f0, $f0 +/* 9AA47C 8024208C 46000021 */ cvt.d.s $f0, $f0 +/* 9AA480 80242090 46260003 */ div.d $f0, $f0, $f6 +/* 9AA484 80242094 462005A0 */ cvt.s.d $f22, $f0 +/* 9AA488 80242098 14620025 */ bne $v1, $v0, .L80242130 +/* 9AA48C 8024209C 4602D600 */ add.s $f24, $f26, $f2 +/* 9AA490 802420A0 8E020000 */ lw $v0, ($s0) +/* 9AA494 802420A4 30420008 */ andi $v0, $v0, 8 +/* 9AA498 802420A8 10400009 */ beqz $v0, .L802420D0 +/* 9AA49C 802420AC 27A50028 */ addiu $a1, $sp, 0x28 +/* 9AA4A0 802420B0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AA4A4 802420B4 4600C001 */ sub.s $f0, $f24, $f0 +/* 9AA4A8 802420B8 4600B03C */ c.lt.s $f22, $f0 +/* 9AA4AC 802420BC 00000000 */ nop +/* 9AA4B0 802420C0 4500001B */ bc1f .L80242130 +/* 9AA4B4 802420C4 34820010 */ ori $v0, $a0, 0x10 +/* 9AA4B8 802420C8 0809084C */ j .L80242130 +/* 9AA4BC 802420CC AE22006C */ sw $v0, 0x6c($s1) +.L802420D0: +/* 9AA4C0 802420D0 27A6002C */ addiu $a2, $sp, 0x2c +/* 9AA4C4 802420D4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AA4C8 802420D8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AA4CC 802420DC C6040040 */ lwc1 $f4, 0x40($s0) +/* 9AA4D0 802420E0 3C01447A */ lui $at, 0x447a +/* 9AA4D4 802420E4 44813000 */ mtc1 $at, $f6 +/* 9AA4D8 802420E8 27A20034 */ addiu $v0, $sp, 0x34 +/* 9AA4DC 802420EC E7A00028 */ swc1 $f0, 0x28($sp) +/* 9AA4E0 802420F0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9AA4E4 802420F4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9AA4E8 802420F8 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9AA4EC 802420FC AFA20010 */ sw $v0, 0x10($sp) +/* 9AA4F0 80242100 8E040080 */ lw $a0, 0x80($s0) +/* 9AA4F4 80242104 0C0372DF */ jal func_800DCB7C +/* 9AA4F8 80242108 27A70030 */ addiu $a3, $sp, 0x30 +/* 9AA4FC 8024210C C7A00034 */ lwc1 $f0, 0x34($sp) +/* 9AA500 80242110 4600D001 */ sub.s $f0, $f26, $f0 +/* 9AA504 80242114 4600B03C */ c.lt.s $f22, $f0 +/* 9AA508 80242118 00000000 */ nop +/* 9AA50C 8024211C 45000004 */ bc1f .L80242130 +/* 9AA510 80242120 00000000 */ nop +/* 9AA514 80242124 8E22006C */ lw $v0, 0x6c($s1) +/* 9AA518 80242128 34420010 */ ori $v0, $v0, 0x10 +/* 9AA51C 8024212C AE22006C */ sw $v0, 0x6c($s1) +.L80242130: +/* 9AA520 80242130 8E22006C */ lw $v0, 0x6c($s1) +/* 9AA524 80242134 24030011 */ addiu $v1, $zero, 0x11 +/* 9AA528 80242138 30420011 */ andi $v0, $v0, 0x11 +/* 9AA52C 8024213C 14430039 */ bne $v0, $v1, .L80242224 +/* 9AA530 80242140 00000000 */ nop +/* 9AA534 80242144 8E020000 */ lw $v0, ($s0) +/* 9AA538 80242148 30420008 */ andi $v0, $v0, 8 +/* 9AA53C 8024214C 1040000A */ beqz $v0, .L80242178 +/* 9AA540 80242150 4600C106 */ mov.s $f4, $f24 +/* 9AA544 80242154 4614C081 */ sub.s $f2, $f24, $f20 +/* 9AA548 80242158 3C018024 */ lui $at, 0x8024 +/* 9AA54C 8024215C D4206278 */ ldc1 $f0, 0x6278($at) +/* 9AA550 80242160 460010A1 */ cvt.d.s $f2, $f2 +/* 9AA554 80242164 46201082 */ mul.d $f2, $f2, $f0 +/* 9AA558 80242168 00000000 */ nop +/* 9AA55C 8024216C 4600A021 */ cvt.d.s $f0, $f20 +/* 9AA560 80242170 08090877 */ j .L802421DC +/* 9AA564 80242174 46220000 */ add.d $f0, $f0, $f2 +.L80242178: +/* 9AA568 80242178 27A50028 */ addiu $a1, $sp, 0x28 +/* 9AA56C 8024217C 27A6002C */ addiu $a2, $sp, 0x2c +/* 9AA570 80242180 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AA574 80242184 C6020040 */ lwc1 $f2, 0x40($s0) +/* 9AA578 80242188 3C01447A */ lui $at, 0x447a +/* 9AA57C 8024218C 44812000 */ mtc1 $at, $f4 +/* 9AA580 80242190 27A20034 */ addiu $v0, $sp, 0x34 +/* 9AA584 80242194 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 9AA588 80242198 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9AA58C 8024219C E7A20030 */ swc1 $f2, 0x30($sp) +/* 9AA590 802421A0 E7A40034 */ swc1 $f4, 0x34($sp) +/* 9AA594 802421A4 AFA20010 */ sw $v0, 0x10($sp) +/* 9AA598 802421A8 8E040080 */ lw $a0, 0x80($s0) +/* 9AA59C 802421AC 0C0372DF */ jal func_800DCB7C +/* 9AA5A0 802421B0 27A70030 */ addiu $a3, $sp, 0x30 +/* 9AA5A4 802421B4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 9AA5A8 802421B8 461A2100 */ add.s $f4, $f4, $f26 +/* 9AA5AC 802421BC 46142081 */ sub.s $f2, $f4, $f20 +/* 9AA5B0 802421C0 3C018024 */ lui $at, 0x8024 +/* 9AA5B4 802421C4 D4206280 */ ldc1 $f0, 0x6280($at) +/* 9AA5B8 802421C8 460010A1 */ cvt.d.s $f2, $f2 +/* 9AA5BC 802421CC 46201082 */ mul.d $f2, $f2, $f0 +/* 9AA5C0 802421D0 00000000 */ nop +/* 9AA5C4 802421D4 4600A021 */ cvt.d.s $f0, $f20 +/* 9AA5C8 802421D8 46220000 */ add.d $f0, $f0, $f2 +.L802421DC: +/* 9AA5CC 802421DC 46200020 */ cvt.s.d $f0, $f0 +/* 9AA5D0 802421E0 E600003C */ swc1 $f0, 0x3c($s0) +/* 9AA5D4 802421E4 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AA5D8 802421E8 46002001 */ sub.s $f0, $f4, $f0 +/* 9AA5DC 802421EC 3C013FF0 */ lui $at, 0x3ff0 +/* 9AA5E0 802421F0 44811800 */ mtc1 $at, $f3 +/* 9AA5E4 802421F4 44801000 */ mtc1 $zero, $f2 +/* 9AA5E8 802421F8 46000005 */ abs.s $f0, $f0 +/* 9AA5EC 802421FC 46000021 */ cvt.d.s $f0, $f0 +/* 9AA5F0 80242200 4622003C */ c.lt.d $f0, $f2 +/* 9AA5F4 80242204 00000000 */ nop +/* 9AA5F8 80242208 45000036 */ bc1f .L802422E4 +/* 9AA5FC 8024220C 2403FFEF */ addiu $v1, $zero, -0x11 +/* 9AA600 80242210 E604003C */ swc1 $f4, 0x3c($s0) +/* 9AA604 80242214 8E22006C */ lw $v0, 0x6c($s1) +/* 9AA608 80242218 00431024 */ and $v0, $v0, $v1 +/* 9AA60C 8024221C 080908B9 */ j .L802422E4 +/* 9AA610 80242220 AE22006C */ sw $v0, 0x6c($s1) +.L80242224: +/* 9AA614 80242224 8E220070 */ lw $v0, 0x70($s1) +/* 9AA618 80242228 1840002E */ blez $v0, .L802422E4 +/* 9AA61C 8024222C 00000000 */ nop +/* 9AA620 80242230 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9AA624 80242234 0C00A8BB */ jal sin_deg +/* 9AA628 80242238 46806320 */ cvt.s.w $f12, $f12 +/* 9AA62C 8024223C 8E020000 */ lw $v0, ($s0) +/* 9AA630 80242240 30420008 */ andi $v0, $v0, 8 +/* 9AA634 80242244 10400003 */ beqz $v0, .L80242254 +/* 9AA638 80242248 46000506 */ mov.s $f20, $f0 +/* 9AA63C 8024224C 080908A5 */ j .L80242294 +/* 9AA640 80242250 0000102D */ daddu $v0, $zero, $zero +.L80242254: +/* 9AA644 80242254 27A50028 */ addiu $a1, $sp, 0x28 +/* 9AA648 80242258 27A6002C */ addiu $a2, $sp, 0x2c +/* 9AA64C 8024225C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AA650 80242260 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AA654 80242264 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9AA658 80242268 3C01447A */ lui $at, 0x447a +/* 9AA65C 8024226C 44813000 */ mtc1 $at, $f6 +/* 9AA660 80242270 27A20034 */ addiu $v0, $sp, 0x34 +/* 9AA664 80242274 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9AA668 80242278 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9AA66C 8024227C E7A40030 */ swc1 $f4, 0x30($sp) +/* 9AA670 80242280 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9AA674 80242284 AFA20010 */ sw $v0, 0x10($sp) +/* 9AA678 80242288 8E040080 */ lw $a0, 0x80($s0) +/* 9AA67C 8024228C 0C0372DF */ jal func_800DCB7C +/* 9AA680 80242290 27A70030 */ addiu $a3, $sp, 0x30 +.L80242294: +/* 9AA684 80242294 10400007 */ beqz $v0, .L802422B4 +/* 9AA688 80242298 00000000 */ nop +/* 9AA68C 8024229C 4616A082 */ mul.s $f2, $f20, $f22 +/* 9AA690 802422A0 00000000 */ nop +/* 9AA694 802422A4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9AA698 802422A8 461A0000 */ add.s $f0, $f0, $f26 +/* 9AA69C 802422AC 080908B0 */ j .L802422C0 +/* 9AA6A0 802422B0 46020000 */ add.s $f0, $f0, $f2 +.L802422B4: +/* 9AA6A4 802422B4 4616A002 */ mul.s $f0, $f20, $f22 +/* 9AA6A8 802422B8 00000000 */ nop +/* 9AA6AC 802422BC 4600C000 */ add.s $f0, $f24, $f0 +.L802422C0: +/* 9AA6B0 802422C0 E600003C */ swc1 $f0, 0x3c($s0) +/* 9AA6B4 802422C4 8E220074 */ lw $v0, 0x74($s1) +/* 9AA6B8 802422C8 2442000A */ addiu $v0, $v0, 0xa +/* 9AA6BC 802422CC 44826000 */ mtc1 $v0, $f12 +/* 9AA6C0 802422D0 00000000 */ nop +/* 9AA6C4 802422D4 0C00A6C9 */ jal clamp_angle +/* 9AA6C8 802422D8 46806320 */ cvt.s.w $f12, $f12 +/* 9AA6CC 802422DC 4600020D */ trunc.w.s $f8, $f0 +/* 9AA6D0 802422E0 E6280074 */ swc1 $f8, 0x74($s1) +.L802422E4: +/* 9AA6D4 802422E4 8E220090 */ lw $v0, 0x90($s1) +/* 9AA6D8 802422E8 1C40004A */ bgtz $v0, .L80242414 +/* 9AA6DC 802422EC 2442FFFF */ addiu $v0, $v0, -1 +/* 9AA6E0 802422F0 8E430014 */ lw $v1, 0x14($s2) +/* 9AA6E4 802422F4 04600048 */ bltz $v1, .L80242418 +/* 9AA6E8 802422F8 00000000 */ nop +/* 9AA6EC 802422FC 8E620074 */ lw $v0, 0x74($s3) +/* 9AA6F0 80242300 1C400042 */ bgtz $v0, .L8024240C +/* 9AA6F4 80242304 2442FFFF */ addiu $v0, $v0, -1 +/* 9AA6F8 80242308 AE630074 */ sw $v1, 0x74($s3) +/* 9AA6FC 8024230C 860200A8 */ lh $v0, 0xa8($s0) +/* 9AA700 80242310 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AA704 80242314 44820000 */ mtc1 $v0, $f0 +/* 9AA708 80242318 00000000 */ nop +/* 9AA70C 8024231C 46800020 */ cvt.s.w $f0, $f0 +/* 9AA710 80242320 46001080 */ add.s $f2, $f2, $f0 +/* 9AA714 80242324 3C014024 */ lui $at, 0x4024 +/* 9AA718 80242328 44810800 */ mtc1 $at, $f1 +/* 9AA71C 8024232C 44800000 */ mtc1 $zero, $f0 +/* 9AA720 80242330 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9AA724 80242334 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9AA728 80242338 460010A1 */ cvt.d.s $f2, $f2 +/* 9AA72C 8024233C 46201080 */ add.d $f2, $f2, $f0 +/* 9AA730 80242340 C440002C */ lwc1 $f0, 0x2c($v0) +/* 9AA734 80242344 46000021 */ cvt.d.s $f0, $f0 +/* 9AA738 80242348 4622003C */ c.lt.d $f0, $f2 +/* 9AA73C 8024234C 00000000 */ nop +/* 9AA740 80242350 4500002C */ bc1f .L80242404 +/* 9AA744 80242354 02A0202D */ daddu $a0, $s5, $zero +/* 9AA748 80242358 AFA00010 */ sw $zero, 0x10($sp) +/* 9AA74C 8024235C 8E46000C */ lw $a2, 0xc($s2) +/* 9AA750 80242360 8E470010 */ lw $a3, 0x10($s2) +/* 9AA754 80242364 0C01242D */ jal func_800490B4 +/* 9AA758 80242368 0220282D */ daddu $a1, $s1, $zero +/* 9AA75C 8024236C 10400025 */ beqz $v0, .L80242404 +/* 9AA760 80242370 0000202D */ daddu $a0, $zero, $zero +/* 9AA764 80242374 0200282D */ daddu $a1, $s0, $zero +/* 9AA768 80242378 0000302D */ daddu $a2, $zero, $zero +/* 9AA76C 8024237C 2412000C */ addiu $s2, $zero, 0xc +/* 9AA770 80242380 860300A8 */ lh $v1, 0xa8($s0) +/* 9AA774 80242384 3C013F80 */ lui $at, 0x3f80 +/* 9AA778 80242388 44810000 */ mtc1 $at, $f0 +/* 9AA77C 8024238C 3C014000 */ lui $at, 0x4000 +/* 9AA780 80242390 44811000 */ mtc1 $at, $f2 +/* 9AA784 80242394 3C01C1A0 */ lui $at, 0xc1a0 +/* 9AA788 80242398 44812000 */ mtc1 $at, $f4 +/* 9AA78C 8024239C 44834000 */ mtc1 $v1, $f8 +/* 9AA790 802423A0 00000000 */ nop +/* 9AA794 802423A4 46804220 */ cvt.s.w $f8, $f8 +/* 9AA798 802423A8 44074000 */ mfc1 $a3, $f8 +/* 9AA79C 802423AC 27A20038 */ addiu $v0, $sp, 0x38 +/* 9AA7A0 802423B0 AFB2001C */ sw $s2, 0x1c($sp) +/* 9AA7A4 802423B4 AFA20020 */ sw $v0, 0x20($sp) +/* 9AA7A8 802423B8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9AA7AC 802423BC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9AA7B0 802423C0 0C01BFA4 */ jal fx_emote +/* 9AA7B4 802423C4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9AA7B8 802423C8 0200202D */ daddu $a0, $s0, $zero +/* 9AA7BC 802423CC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9AA7C0 802423D0 C480003C */ lwc1 $f0, 0x3c($a0) +/* 9AA7C4 802423D4 3C060020 */ lui $a2, 0x20 +/* 9AA7C8 802423D8 0C012530 */ jal func_800494C0 +/* 9AA7CC 802423DC E4800064 */ swc1 $f0, 0x64($a0) +/* 9AA7D0 802423E0 8E220018 */ lw $v0, 0x18($s1) +/* 9AA7D4 802423E4 9442002A */ lhu $v0, 0x2a($v0) +/* 9AA7D8 802423E8 30420001 */ andi $v0, $v0, 1 +/* 9AA7DC 802423EC 10400003 */ beqz $v0, .L802423FC +/* 9AA7E0 802423F0 2402000A */ addiu $v0, $zero, 0xa +/* 9AA7E4 802423F4 0809096F */ j .L802425BC +/* 9AA7E8 802423F8 AE620070 */ sw $v0, 0x70($s3) +.L802423FC: +/* 9AA7EC 802423FC 0809096F */ j .L802425BC +/* 9AA7F0 80242400 AE720070 */ sw $s2, 0x70($s3) +.L80242404: +/* 9AA7F4 80242404 8E620074 */ lw $v0, 0x74($s3) +/* 9AA7F8 80242408 2442FFFF */ addiu $v0, $v0, -1 +.L8024240C: +/* 9AA7FC 8024240C 08090906 */ j .L80242418 +/* 9AA800 80242410 AE620074 */ sw $v0, 0x74($s3) +.L80242414: +/* 9AA804 80242414 AE220090 */ sw $v0, 0x90($s1) +.L80242418: +/* 9AA808 80242418 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9AA80C 8024241C C6000040 */ lwc1 $f0, 0x40($s0) +/* 9AA810 80242420 C4620000 */ lwc1 $f2, ($v1) +/* 9AA814 80242424 468010A0 */ cvt.s.w $f2, $f2 +/* 9AA818 80242428 C4640008 */ lwc1 $f4, 8($v1) +/* 9AA81C 8024242C 46802120 */ cvt.s.w $f4, $f4 +/* 9AA820 80242430 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9AA824 80242434 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA828 80242438 44051000 */ mfc1 $a1, $f2 +/* 9AA82C 8024243C C440000C */ lwc1 $f0, 0xc($v0) +/* 9AA830 80242440 46800020 */ cvt.s.w $f0, $f0 +/* 9AA834 80242444 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9AA838 80242448 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA83C 8024244C 44062000 */ mfc1 $a2, $f4 +/* 9AA840 80242450 C4400010 */ lwc1 $f0, 0x10($v0) +/* 9AA844 80242454 46800020 */ cvt.s.w $f0, $f0 +/* 9AA848 80242458 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AA84C 8024245C 8C640018 */ lw $a0, 0x18($v1) +/* 9AA850 80242460 0C0123F5 */ jal is_point_within_region +/* 9AA854 80242464 8E070038 */ lw $a3, 0x38($s0) +/* 9AA858 80242468 1040001A */ beqz $v0, .L802424D4 +/* 9AA85C 8024246C 00000000 */ nop +/* 9AA860 80242470 8E060038 */ lw $a2, 0x38($s0) +/* 9AA864 80242474 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA868 80242478 8E070040 */ lw $a3, 0x40($s0) +/* 9AA86C 8024247C C44C0000 */ lwc1 $f12, ($v0) +/* 9AA870 80242480 46806320 */ cvt.s.w $f12, $f12 +/* 9AA874 80242484 C44E0008 */ lwc1 $f14, 8($v0) +/* 9AA878 80242488 0C00A7B5 */ jal dist2D +/* 9AA87C 8024248C 468073A0 */ cvt.s.w $f14, $f14 +/* 9AA880 80242490 C6020018 */ lwc1 $f2, 0x18($s0) +/* 9AA884 80242494 4600103C */ c.lt.s $f2, $f0 +/* 9AA888 80242498 00000000 */ nop +/* 9AA88C 8024249C 4500000D */ bc1f .L802424D4 +/* 9AA890 802424A0 E7A00034 */ swc1 $f0, 0x34($sp) +/* 9AA894 802424A4 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AA898 802424A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA89C 802424AC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AA8A0 802424B0 C4480000 */ lwc1 $f8, ($v0) +/* 9AA8A4 802424B4 46804220 */ cvt.s.w $f8, $f8 +/* 9AA8A8 802424B8 44064000 */ mfc1 $a2, $f8 +/* 9AA8AC 802424BC C4480008 */ lwc1 $f8, 8($v0) +/* 9AA8B0 802424C0 46804220 */ cvt.s.w $f8, $f8 +/* 9AA8B4 802424C4 44074000 */ mfc1 $a3, $f8 +/* 9AA8B8 802424C8 0C00A720 */ jal atan2 +/* 9AA8BC 802424CC 24140001 */ addiu $s4, $zero, 1 +/* 9AA8C0 802424D0 E600000C */ swc1 $f0, 0xc($s0) +.L802424D4: +/* 9AA8C4 802424D4 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9AA8C8 802424D8 8C43000C */ lw $v1, 0xc($v0) +/* 9AA8CC 802424DC 8C420010 */ lw $v0, 0x10($v0) +/* 9AA8D0 802424E0 00621825 */ or $v1, $v1, $v0 +/* 9AA8D4 802424E4 00741825 */ or $v1, $v1, $s4 +/* 9AA8D8 802424E8 10600008 */ beqz $v1, .L8024250C +/* 9AA8DC 802424EC 00000000 */ nop +/* 9AA8E0 802424F0 8602008C */ lh $v0, 0x8c($s0) +/* 9AA8E4 802424F4 14400031 */ bnez $v0, .L802425BC +/* 9AA8E8 802424F8 00000000 */ nop +/* 9AA8EC 802424FC 8E050018 */ lw $a1, 0x18($s0) +/* 9AA8F0 80242500 8E06000C */ lw $a2, 0xc($s0) +/* 9AA8F4 80242504 0C00EA95 */ jal npc_move_heading +/* 9AA8F8 80242508 0200202D */ daddu $a0, $s0, $zero +.L8024250C: +/* 9AA8FC 8024250C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AA900 80242510 3C014059 */ lui $at, 0x4059 +/* 9AA904 80242514 44811800 */ mtc1 $at, $f3 +/* 9AA908 80242518 44801000 */ mtc1 $zero, $f2 +/* 9AA90C 8024251C 46000021 */ cvt.d.s $f0, $f0 +/* 9AA910 80242520 46220002 */ mul.d $f0, $f0, $f2 +/* 9AA914 80242524 00000000 */ nop +/* 9AA918 80242528 4620020D */ trunc.w.d $f8, $f0 +/* 9AA91C 8024252C E628007C */ swc1 $f8, 0x7c($s1) +/* 9AA920 80242530 8E420004 */ lw $v0, 4($s2) +/* 9AA924 80242534 18400021 */ blez $v0, .L802425BC +/* 9AA928 80242538 00000000 */ nop +/* 9AA92C 8024253C 8602008E */ lh $v0, 0x8e($s0) +/* 9AA930 80242540 9603008E */ lhu $v1, 0x8e($s0) +/* 9AA934 80242544 18400005 */ blez $v0, .L8024255C +/* 9AA938 80242548 2462FFFF */ addiu $v0, $v1, -1 +/* 9AA93C 8024254C A602008E */ sh $v0, 0x8e($s0) +/* 9AA940 80242550 00021400 */ sll $v0, $v0, 0x10 +/* 9AA944 80242554 1C400019 */ bgtz $v0, .L802425BC +/* 9AA948 80242558 00000000 */ nop +.L8024255C: +/* 9AA94C 8024255C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9AA950 80242560 24020002 */ addiu $v0, $zero, 2 +/* 9AA954 80242564 0C00A67F */ jal rand_int +/* 9AA958 80242568 AE620070 */ sw $v0, 0x70($s3) +/* 9AA95C 8024256C 3C035555 */ lui $v1, 0x5555 +/* 9AA960 80242570 34635556 */ ori $v1, $v1, 0x5556 +/* 9AA964 80242574 00430018 */ mult $v0, $v1 +/* 9AA968 80242578 000227C3 */ sra $a0, $v0, 0x1f +/* 9AA96C 8024257C 00004010 */ mfhi $t0 +/* 9AA970 80242580 01042023 */ subu $a0, $t0, $a0 +/* 9AA974 80242584 00041840 */ sll $v1, $a0, 1 +/* 9AA978 80242588 00641821 */ addu $v1, $v1, $a0 +/* 9AA97C 8024258C 00431023 */ subu $v0, $v0, $v1 +/* 9AA980 80242590 24430002 */ addiu $v1, $v0, 2 +/* 9AA984 80242594 AE630074 */ sw $v1, 0x74($s3) +/* 9AA988 80242598 8E42002C */ lw $v0, 0x2c($s2) +/* 9AA98C 8024259C 58400007 */ blezl $v0, .L802425BC +/* 9AA990 802425A0 AE600070 */ sw $zero, 0x70($s3) +/* 9AA994 802425A4 8E420008 */ lw $v0, 8($s2) +/* 9AA998 802425A8 18400003 */ blez $v0, .L802425B8 +/* 9AA99C 802425AC 28620003 */ slti $v0, $v1, 3 +/* 9AA9A0 802425B0 10400002 */ beqz $v0, .L802425BC +/* 9AA9A4 802425B4 00000000 */ nop +.L802425B8: +/* 9AA9A8 802425B8 AE600070 */ sw $zero, 0x70($s3) +.L802425BC: +/* 9AA9AC 802425BC 8FBF0058 */ lw $ra, 0x58($sp) +/* 9AA9B0 802425C0 8FB50054 */ lw $s5, 0x54($sp) +/* 9AA9B4 802425C4 8FB40050 */ lw $s4, 0x50($sp) +/* 9AA9B8 802425C8 8FB3004C */ lw $s3, 0x4c($sp) +/* 9AA9BC 802425CC 8FB20048 */ lw $s2, 0x48($sp) +/* 9AA9C0 802425D0 8FB10044 */ lw $s1, 0x44($sp) +/* 9AA9C4 802425D4 8FB00040 */ lw $s0, 0x40($sp) +/* 9AA9C8 802425D8 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9AA9CC 802425DC D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9AA9D0 802425E0 D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9AA9D4 802425E4 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9AA9D8 802425E8 03E00008 */ jr $ra +/* 9AA9DC 802425EC 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802425F0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802425F0.s new file mode 100644 index 0000000000..cd59c56a0d --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802425F0.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802425F0 +/* 9AA9E0 802425F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9AA9E4 802425F4 AFB3001C */ sw $s3, 0x1c($sp) +/* 9AA9E8 802425F8 0080982D */ daddu $s3, $a0, $zero +/* 9AA9EC 802425FC AFBF0020 */ sw $ra, 0x20($sp) +/* 9AA9F0 80242600 AFB20018 */ sw $s2, 0x18($sp) +/* 9AA9F4 80242604 AFB10014 */ sw $s1, 0x14($sp) +/* 9AA9F8 80242608 AFB00010 */ sw $s0, 0x10($sp) +/* 9AA9FC 8024260C 8E720148 */ lw $s2, 0x148($s3) +/* 9AAA00 80242610 86440008 */ lh $a0, 8($s2) +/* 9AAA04 80242614 0C00EABB */ jal get_npc_unsafe +/* 9AAA08 80242618 00A0882D */ daddu $s1, $a1, $zero +/* 9AAA0C 8024261C 8E240008 */ lw $a0, 8($s1) +/* 9AAA10 80242620 0040802D */ daddu $s0, $v0, $zero +/* 9AAA14 80242624 00041FC2 */ srl $v1, $a0, 0x1f +/* 9AAA18 80242628 00832021 */ addu $a0, $a0, $v1 +/* 9AAA1C 8024262C 00042043 */ sra $a0, $a0, 1 +/* 9AAA20 80242630 0C00A67F */ jal rand_int +/* 9AAA24 80242634 24840001 */ addiu $a0, $a0, 1 +/* 9AAA28 80242638 8E230008 */ lw $v1, 8($s1) +/* 9AAA2C 8024263C 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9AAA30 80242640 00032FC2 */ srl $a1, $v1, 0x1f +/* 9AAA34 80242644 00651821 */ addu $v1, $v1, $a1 +/* 9AAA38 80242648 00031843 */ sra $v1, $v1, 1 +/* 9AAA3C 8024264C 00621821 */ addu $v1, $v1, $v0 +/* 9AAA40 80242650 0C00A67F */ jal rand_int +/* 9AAA44 80242654 A603008E */ sh $v1, 0x8e($s0) +/* 9AAA48 80242658 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9AAA4C 8024265C 44820000 */ mtc1 $v0, $f0 +/* 9AAA50 80242660 00000000 */ nop +/* 9AAA54 80242664 46800020 */ cvt.s.w $f0, $f0 +/* 9AAA58 80242668 46006300 */ add.s $f12, $f12, $f0 +/* 9AAA5C 8024266C 3C0142B4 */ lui $at, 0x42b4 +/* 9AAA60 80242670 44810000 */ mtc1 $at, $f0 +/* 9AAA64 80242674 0C00A6C9 */ jal clamp_angle +/* 9AAA68 80242678 46006301 */ sub.s $f12, $f12, $f0 +/* 9AAA6C 8024267C E600000C */ swc1 $f0, 0xc($s0) +/* 9AAA70 80242680 8E4200CC */ lw $v0, 0xcc($s2) +/* 9AAA74 80242684 8C420000 */ lw $v0, ($v0) +/* 9AAA78 80242688 AE020028 */ sw $v0, 0x28($s0) +/* 9AAA7C 8024268C 24020003 */ addiu $v0, $zero, 3 +/* 9AAA80 80242690 AE620070 */ sw $v0, 0x70($s3) +/* 9AAA84 80242694 8FBF0020 */ lw $ra, 0x20($sp) +/* 9AAA88 80242698 8FB3001C */ lw $s3, 0x1c($sp) +/* 9AAA8C 8024269C 8FB20018 */ lw $s2, 0x18($sp) +/* 9AAA90 802426A0 8FB10014 */ lw $s1, 0x14($sp) +/* 9AAA94 802426A4 8FB00010 */ lw $s0, 0x10($sp) +/* 9AAA98 802426A8 03E00008 */ jr $ra +/* 9AAA9C 802426AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802426B0.s b/asm/nonmatchings/world/area_trd/trd_04/func_802426B0.s new file mode 100644 index 0000000000..30bdad8c01 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802426B0.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802426B0 +/* 9AAAA0 802426B0 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 9AAAA4 802426B4 AFB3004C */ sw $s3, 0x4c($sp) +/* 9AAAA8 802426B8 0080982D */ daddu $s3, $a0, $zero +/* 9AAAAC 802426BC AFBF0054 */ sw $ra, 0x54($sp) +/* 9AAAB0 802426C0 AFB40050 */ sw $s4, 0x50($sp) +/* 9AAAB4 802426C4 AFB20048 */ sw $s2, 0x48($sp) +/* 9AAAB8 802426C8 AFB10044 */ sw $s1, 0x44($sp) +/* 9AAABC 802426CC AFB00040 */ sw $s0, 0x40($sp) +/* 9AAAC0 802426D0 F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 9AAAC4 802426D4 F7B80068 */ sdc1 $f24, 0x68($sp) +/* 9AAAC8 802426D8 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 9AAACC 802426DC F7B40058 */ sdc1 $f20, 0x58($sp) +/* 9AAAD0 802426E0 8E710148 */ lw $s1, 0x148($s3) +/* 9AAAD4 802426E4 00A0902D */ daddu $s2, $a1, $zero +/* 9AAAD8 802426E8 86240008 */ lh $a0, 8($s1) +/* 9AAADC 802426EC 0C00EABB */ jal get_npc_unsafe +/* 9AAAE0 802426F0 00C0A02D */ daddu $s4, $a2, $zero +/* 9AAAE4 802426F4 0040802D */ daddu $s0, $v0, $zero +/* 9AAAE8 802426F8 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9AAAEC 802426FC 46800020 */ cvt.s.w $f0, $f0 +/* 9AAAF0 80242700 46000021 */ cvt.d.s $f0, $f0 +/* 9AAAF4 80242704 3C014059 */ lui $at, 0x4059 +/* 9AAAF8 80242708 44811800 */ mtc1 $at, $f3 +/* 9AAAFC 8024270C 44801000 */ mtc1 $zero, $f2 +/* 9AAB00 80242710 8602008E */ lh $v0, 0x8e($s0) +/* 9AAB04 80242714 9603008E */ lhu $v1, 0x8e($s0) +/* 9AAB08 80242718 46220003 */ div.d $f0, $f0, $f2 +/* 9AAB0C 8024271C 46200620 */ cvt.s.d $f24, $f0 +/* 9AAB10 80242720 C6200088 */ lwc1 $f0, 0x88($s1) +/* 9AAB14 80242724 46800020 */ cvt.s.w $f0, $f0 +/* 9AAB18 80242728 46000021 */ cvt.d.s $f0, $f0 +/* 9AAB1C 8024272C 46220003 */ div.d $f0, $f0, $f2 +/* 9AAB20 80242730 46200020 */ cvt.s.d $f0, $f0 +/* 9AAB24 80242734 18400003 */ blez $v0, .L80242744 +/* 9AAB28 80242738 4600C680 */ add.s $f26, $f24, $f0 +/* 9AAB2C 8024273C 2462FFFF */ addiu $v0, $v1, -1 +/* 9AAB30 80242740 A602008E */ sh $v0, 0x8e($s0) +.L80242744: +/* 9AAB34 80242744 8E220070 */ lw $v0, 0x70($s1) +/* 9AAB38 80242748 18400034 */ blez $v0, .L8024281C +/* 9AAB3C 8024274C 00000000 */ nop +/* 9AAB40 80242750 C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9AAB44 80242754 46806320 */ cvt.s.w $f12, $f12 +/* 9AAB48 80242758 44820000 */ mtc1 $v0, $f0 +/* 9AAB4C 8024275C 00000000 */ nop +/* 9AAB50 80242760 46800020 */ cvt.s.w $f0, $f0 +/* 9AAB54 80242764 46000021 */ cvt.d.s $f0, $f0 +/* 9AAB58 80242768 46220003 */ div.d $f0, $f0, $f2 +/* 9AAB5C 8024276C 0C00A8BB */ jal sin_deg +/* 9AAB60 80242770 462005A0 */ cvt.s.d $f22, $f0 +/* 9AAB64 80242774 8E020000 */ lw $v0, ($s0) +/* 9AAB68 80242778 30420008 */ andi $v0, $v0, 8 +/* 9AAB6C 8024277C 10400003 */ beqz $v0, .L8024278C +/* 9AAB70 80242780 46000506 */ mov.s $f20, $f0 +/* 9AAB74 80242784 080909F3 */ j .L802427CC +/* 9AAB78 80242788 0000102D */ daddu $v0, $zero, $zero +.L8024278C: +/* 9AAB7C 8024278C 27A50028 */ addiu $a1, $sp, 0x28 +/* 9AAB80 80242790 27A6002C */ addiu $a2, $sp, 0x2c +/* 9AAB84 80242794 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AAB88 80242798 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AAB8C 8024279C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9AAB90 802427A0 3C01447A */ lui $at, 0x447a +/* 9AAB94 802427A4 44813000 */ mtc1 $at, $f6 +/* 9AAB98 802427A8 27A20034 */ addiu $v0, $sp, 0x34 +/* 9AAB9C 802427AC E7A00028 */ swc1 $f0, 0x28($sp) +/* 9AABA0 802427B0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9AABA4 802427B4 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9AABA8 802427B8 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9AABAC 802427BC AFA20010 */ sw $v0, 0x10($sp) +/* 9AABB0 802427C0 8E040080 */ lw $a0, 0x80($s0) +/* 9AABB4 802427C4 0C0372DF */ jal func_800DCB7C +/* 9AABB8 802427C8 27A70030 */ addiu $a3, $sp, 0x30 +.L802427CC: +/* 9AABBC 802427CC 10400007 */ beqz $v0, .L802427EC +/* 9AABC0 802427D0 00000000 */ nop +/* 9AABC4 802427D4 4616A082 */ mul.s $f2, $f20, $f22 +/* 9AABC8 802427D8 00000000 */ nop +/* 9AABCC 802427DC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9AABD0 802427E0 46180000 */ add.s $f0, $f0, $f24 +/* 9AABD4 802427E4 080909FE */ j .L802427F8 +/* 9AABD8 802427E8 46020000 */ add.s $f0, $f0, $f2 +.L802427EC: +/* 9AABDC 802427EC 4616A002 */ mul.s $f0, $f20, $f22 +/* 9AABE0 802427F0 00000000 */ nop +/* 9AABE4 802427F4 4600D000 */ add.s $f0, $f26, $f0 +.L802427F8: +/* 9AABE8 802427F8 E600003C */ swc1 $f0, 0x3c($s0) +/* 9AABEC 802427FC 8E220074 */ lw $v0, 0x74($s1) +/* 9AABF0 80242800 2442000A */ addiu $v0, $v0, 0xa +/* 9AABF4 80242804 44826000 */ mtc1 $v0, $f12 +/* 9AABF8 80242808 00000000 */ nop +/* 9AABFC 8024280C 0C00A6C9 */ jal clamp_angle +/* 9AAC00 80242810 46806320 */ cvt.s.w $f12, $f12 +/* 9AAC04 80242814 4600020D */ trunc.w.s $f8, $f0 +/* 9AAC08 80242818 E6280074 */ swc1 $f8, 0x74($s1) +.L8024281C: +/* 9AAC0C 8024281C 8E220090 */ lw $v0, 0x90($s1) +/* 9AAC10 80242820 1C400040 */ bgtz $v0, .L80242924 +/* 9AAC14 80242824 2442FFFF */ addiu $v0, $v0, -1 +/* 9AAC18 80242828 860200A8 */ lh $v0, 0xa8($s0) +/* 9AAC1C 8024282C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AAC20 80242830 44821000 */ mtc1 $v0, $f2 +/* 9AAC24 80242834 00000000 */ nop +/* 9AAC28 80242838 468010A0 */ cvt.s.w $f2, $f2 +/* 9AAC2C 8024283C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9AAC30 80242840 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9AAC34 80242844 46020000 */ add.s $f0, $f0, $f2 +/* 9AAC38 80242848 3C014024 */ lui $at, 0x4024 +/* 9AAC3C 8024284C 44812800 */ mtc1 $at, $f5 +/* 9AAC40 80242850 44802000 */ mtc1 $zero, $f4 +/* 9AAC44 80242854 C442002C */ lwc1 $f2, 0x2c($v0) +/* 9AAC48 80242858 46000021 */ cvt.d.s $f0, $f0 +/* 9AAC4C 8024285C 46240000 */ add.d $f0, $f0, $f4 +/* 9AAC50 80242860 460010A1 */ cvt.d.s $f2, $f2 +/* 9AAC54 80242864 4620103C */ c.lt.d $f2, $f0 +/* 9AAC58 80242868 00000000 */ nop +/* 9AAC5C 8024286C 4500002E */ bc1f .L80242928 +/* 9AAC60 80242870 0280202D */ daddu $a0, $s4, $zero +/* 9AAC64 80242874 24020001 */ addiu $v0, $zero, 1 +/* 9AAC68 80242878 AFA20010 */ sw $v0, 0x10($sp) +/* 9AAC6C 8024287C 8E460024 */ lw $a2, 0x24($s2) +/* 9AAC70 80242880 8E470028 */ lw $a3, 0x28($s2) +/* 9AAC74 80242884 0C01242D */ jal func_800490B4 +/* 9AAC78 80242888 0220282D */ daddu $a1, $s1, $zero +/* 9AAC7C 8024288C 10400026 */ beqz $v0, .L80242928 +/* 9AAC80 80242890 0000202D */ daddu $a0, $zero, $zero +/* 9AAC84 80242894 0200282D */ daddu $a1, $s0, $zero +/* 9AAC88 80242898 0000302D */ daddu $a2, $zero, $zero +/* 9AAC8C 8024289C 2412000C */ addiu $s2, $zero, 0xc +/* 9AAC90 802428A0 860300A8 */ lh $v1, 0xa8($s0) +/* 9AAC94 802428A4 3C013F80 */ lui $at, 0x3f80 +/* 9AAC98 802428A8 44810000 */ mtc1 $at, $f0 +/* 9AAC9C 802428AC 3C014000 */ lui $at, 0x4000 +/* 9AACA0 802428B0 44811000 */ mtc1 $at, $f2 +/* 9AACA4 802428B4 3C01C1A0 */ lui $at, 0xc1a0 +/* 9AACA8 802428B8 44812000 */ mtc1 $at, $f4 +/* 9AACAC 802428BC 44834000 */ mtc1 $v1, $f8 +/* 9AACB0 802428C0 00000000 */ nop +/* 9AACB4 802428C4 46804220 */ cvt.s.w $f8, $f8 +/* 9AACB8 802428C8 44074000 */ mfc1 $a3, $f8 +/* 9AACBC 802428CC 27A20038 */ addiu $v0, $sp, 0x38 +/* 9AACC0 802428D0 AFB2001C */ sw $s2, 0x1c($sp) +/* 9AACC4 802428D4 AFA20020 */ sw $v0, 0x20($sp) +/* 9AACC8 802428D8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9AACCC 802428DC E7A20014 */ swc1 $f2, 0x14($sp) +/* 9AACD0 802428E0 0C01BFA4 */ jal fx_emote +/* 9AACD4 802428E4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9AACD8 802428E8 0200202D */ daddu $a0, $s0, $zero +/* 9AACDC 802428EC 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9AACE0 802428F0 C480003C */ lwc1 $f0, 0x3c($a0) +/* 9AACE4 802428F4 3C060020 */ lui $a2, 0x20 +/* 9AACE8 802428F8 0C012530 */ jal func_800494C0 +/* 9AACEC 802428FC E4800064 */ swc1 $f0, 0x64($a0) +/* 9AACF0 80242900 8E220018 */ lw $v0, 0x18($s1) +/* 9AACF4 80242904 9442002A */ lhu $v0, 0x2a($v0) +/* 9AACF8 80242908 30420001 */ andi $v0, $v0, 1 +/* 9AACFC 8024290C 10400003 */ beqz $v0, .L8024291C +/* 9AAD00 80242910 2402000A */ addiu $v0, $zero, 0xa +/* 9AAD04 80242914 08090A71 */ j .L802429C4 +/* 9AAD08 80242918 AE620070 */ sw $v0, 0x70($s3) +.L8024291C: +/* 9AAD0C 8024291C 08090A71 */ j .L802429C4 +/* 9AAD10 80242920 AE720070 */ sw $s2, 0x70($s3) +.L80242924: +/* 9AAD14 80242924 AE220090 */ sw $v0, 0x90($s1) +.L80242928: +/* 9AAD18 80242928 8602008C */ lh $v0, 0x8c($s0) +/* 9AAD1C 8024292C 14400025 */ bnez $v0, .L802429C4 +/* 9AAD20 80242930 00000000 */ nop +/* 9AAD24 80242934 8602008E */ lh $v0, 0x8e($s0) +/* 9AAD28 80242938 1C400022 */ bgtz $v0, .L802429C4 +/* 9AAD2C 8024293C 00000000 */ nop +/* 9AAD30 80242940 8E620074 */ lw $v0, 0x74($s3) +/* 9AAD34 80242944 2442FFFF */ addiu $v0, $v0, -1 +/* 9AAD38 80242948 1840001D */ blez $v0, .L802429C0 +/* 9AAD3C 8024294C AE620074 */ sw $v0, 0x74($s3) +/* 9AAD40 80242950 8E220018 */ lw $v0, 0x18($s1) +/* 9AAD44 80242954 9442002A */ lhu $v0, 0x2a($v0) +/* 9AAD48 80242958 30420010 */ andi $v0, $v0, 0x10 +/* 9AAD4C 8024295C 14400007 */ bnez $v0, .L8024297C +/* 9AAD50 80242960 00000000 */ nop +/* 9AAD54 80242964 C600000C */ lwc1 $f0, 0xc($s0) +/* 9AAD58 80242968 3C014334 */ lui $at, 0x4334 +/* 9AAD5C 8024296C 44816000 */ mtc1 $at, $f12 +/* 9AAD60 80242970 0C00A6C9 */ jal clamp_angle +/* 9AAD64 80242974 460C0300 */ add.s $f12, $f0, $f12 +/* 9AAD68 80242978 E600000C */ swc1 $f0, 0xc($s0) +.L8024297C: +/* 9AAD6C 8024297C 0C00A67F */ jal rand_int +/* 9AAD70 80242980 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9AAD74 80242984 3C032E8B */ lui $v1, 0x2e8b +/* 9AAD78 80242988 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 9AAD7C 8024298C 00430018 */ mult $v0, $v1 +/* 9AAD80 80242990 00021FC3 */ sra $v1, $v0, 0x1f +/* 9AAD84 80242994 00004010 */ mfhi $t0 +/* 9AAD88 80242998 00082043 */ sra $a0, $t0, 1 +/* 9AAD8C 8024299C 00832023 */ subu $a0, $a0, $v1 +/* 9AAD90 802429A0 00041840 */ sll $v1, $a0, 1 +/* 9AAD94 802429A4 00641821 */ addu $v1, $v1, $a0 +/* 9AAD98 802429A8 00031880 */ sll $v1, $v1, 2 +/* 9AAD9C 802429AC 00641823 */ subu $v1, $v1, $a0 +/* 9AADA0 802429B0 00431023 */ subu $v0, $v0, $v1 +/* 9AADA4 802429B4 24420005 */ addiu $v0, $v0, 5 +/* 9AADA8 802429B8 08090A71 */ j .L802429C4 +/* 9AADAC 802429BC A602008E */ sh $v0, 0x8e($s0) +.L802429C0: +/* 9AADB0 802429C0 AE600070 */ sw $zero, 0x70($s3) +.L802429C4: +/* 9AADB4 802429C4 8FBF0054 */ lw $ra, 0x54($sp) +/* 9AADB8 802429C8 8FB40050 */ lw $s4, 0x50($sp) +/* 9AADBC 802429CC 8FB3004C */ lw $s3, 0x4c($sp) +/* 9AADC0 802429D0 8FB20048 */ lw $s2, 0x48($sp) +/* 9AADC4 802429D4 8FB10044 */ lw $s1, 0x44($sp) +/* 9AADC8 802429D8 8FB00040 */ lw $s0, 0x40($sp) +/* 9AADCC 802429DC D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 9AADD0 802429E0 D7B80068 */ ldc1 $f24, 0x68($sp) +/* 9AADD4 802429E4 D7B60060 */ ldc1 $f22, 0x60($sp) +/* 9AADD8 802429E8 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 9AADDC 802429EC 03E00008 */ jr $ra +/* 9AADE0 802429F0 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802429F4.s b/asm/nonmatchings/world/area_trd/trd_04/func_802429F4.s new file mode 100644 index 0000000000..6b06fc6c33 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802429F4.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802429F4 +/* 9AADE4 802429F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9AADE8 802429F8 AFB20018 */ sw $s2, 0x18($sp) +/* 9AADEC 802429FC 0080902D */ daddu $s2, $a0, $zero +/* 9AADF0 80242A00 AFBF001C */ sw $ra, 0x1c($sp) +/* 9AADF4 80242A04 AFB10014 */ sw $s1, 0x14($sp) +/* 9AADF8 80242A08 AFB00010 */ sw $s0, 0x10($sp) +/* 9AADFC 80242A0C 8E510148 */ lw $s1, 0x148($s2) +/* 9AAE00 80242A10 0C00EABB */ jal get_npc_unsafe +/* 9AAE04 80242A14 86240008 */ lh $a0, 8($s1) +/* 9AAE08 80242A18 0040802D */ daddu $s0, $v0, $zero +/* 9AAE0C 80242A1C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9AAE10 80242A20 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9AAE14 80242A24 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AAE18 80242A28 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AAE1C 80242A2C A600008E */ sh $zero, 0x8e($s0) +/* 9AAE20 80242A30 8C460028 */ lw $a2, 0x28($v0) +/* 9AAE24 80242A34 0C00A720 */ jal atan2 +/* 9AAE28 80242A38 8C470030 */ lw $a3, 0x30($v0) +/* 9AAE2C 80242A3C E600000C */ swc1 $f0, 0xc($s0) +/* 9AAE30 80242A40 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AAE34 80242A44 8C420020 */ lw $v0, 0x20($v0) +/* 9AAE38 80242A48 AE020028 */ sw $v0, 0x28($s0) +/* 9AAE3C 80242A4C 2402000B */ addiu $v0, $zero, 0xb +/* 9AAE40 80242A50 AE420070 */ sw $v0, 0x70($s2) +/* 9AAE44 80242A54 8FBF001C */ lw $ra, 0x1c($sp) +/* 9AAE48 80242A58 8FB20018 */ lw $s2, 0x18($sp) +/* 9AAE4C 80242A5C 8FB10014 */ lw $s1, 0x14($sp) +/* 9AAE50 80242A60 8FB00010 */ lw $s0, 0x10($sp) +/* 9AAE54 80242A64 03E00008 */ jr $ra +/* 9AAE58 80242A68 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80242A6C.s b/asm/nonmatchings/world/area_trd/trd_04/func_80242A6C.s new file mode 100644 index 0000000000..53a3600f8a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80242A6C.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242A6C +/* 9AAE5C 80242A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9AAE60 80242A70 AFB00010 */ sw $s0, 0x10($sp) +/* 9AAE64 80242A74 0080802D */ daddu $s0, $a0, $zero +/* 9AAE68 80242A78 AFBF0014 */ sw $ra, 0x14($sp) +/* 9AAE6C 80242A7C 8E020148 */ lw $v0, 0x148($s0) +/* 9AAE70 80242A80 0C00EABB */ jal get_npc_unsafe +/* 9AAE74 80242A84 84440008 */ lh $a0, 8($v0) +/* 9AAE78 80242A88 9443008E */ lhu $v1, 0x8e($v0) +/* 9AAE7C 80242A8C C440003C */ lwc1 $f0, 0x3c($v0) +/* 9AAE80 80242A90 24640001 */ addiu $a0, $v1, 1 +/* 9AAE84 80242A94 00031C00 */ sll $v1, $v1, 0x10 +/* 9AAE88 80242A98 00031B83 */ sra $v1, $v1, 0xe +/* 9AAE8C 80242A9C A444008E */ sh $a0, 0x8e($v0) +/* 9AAE90 80242AA0 3C018024 */ lui $at, 0x8024 +/* 9AAE94 80242AA4 00230821 */ addu $at, $at, $v1 +/* 9AAE98 80242AA8 C42256F4 */ lwc1 $f2, 0x56f4($at) +/* 9AAE9C 80242AAC 8443008E */ lh $v1, 0x8e($v0) +/* 9AAEA0 80242AB0 46020000 */ add.s $f0, $f0, $f2 +/* 9AAEA4 80242AB4 28630005 */ slti $v1, $v1, 5 +/* 9AAEA8 80242AB8 14600003 */ bnez $v1, .L80242AC8 +/* 9AAEAC 80242ABC E440003C */ swc1 $f0, 0x3c($v0) +/* 9AAEB0 80242AC0 2402000C */ addiu $v0, $zero, 0xc +/* 9AAEB4 80242AC4 AE020070 */ sw $v0, 0x70($s0) +.L80242AC8: +/* 9AAEB8 80242AC8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9AAEBC 80242ACC 8FB00010 */ lw $s0, 0x10($sp) +/* 9AAEC0 80242AD0 03E00008 */ jr $ra +/* 9AAEC4 80242AD4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80242AD8.s b/asm/nonmatchings/world/area_trd/trd_04/func_80242AD8.s new file mode 100644 index 0000000000..b26ea49da7 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80242AD8.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242AD8 +/* 9AAEC8 80242AD8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9AAECC 80242ADC AFB3001C */ sw $s3, 0x1c($sp) +/* 9AAED0 80242AE0 0080982D */ daddu $s3, $a0, $zero +/* 9AAED4 80242AE4 AFBF0020 */ sw $ra, 0x20($sp) +/* 9AAED8 80242AE8 AFB20018 */ sw $s2, 0x18($sp) +/* 9AAEDC 80242AEC AFB10014 */ sw $s1, 0x14($sp) +/* 9AAEE0 80242AF0 AFB00010 */ sw $s0, 0x10($sp) +/* 9AAEE4 80242AF4 8E720148 */ lw $s2, 0x148($s3) +/* 9AAEE8 80242AF8 86440008 */ lh $a0, 8($s2) +/* 9AAEEC 80242AFC 0C00EABB */ jal get_npc_unsafe +/* 9AAEF0 80242B00 00A0802D */ daddu $s0, $a1, $zero +/* 9AAEF4 80242B04 0040882D */ daddu $s1, $v0, $zero +/* 9AAEF8 80242B08 C6420080 */ lwc1 $f2, 0x80($s2) +/* 9AAEFC 80242B0C 468010A0 */ cvt.s.w $f2, $f2 +/* 9AAF00 80242B10 460010A1 */ cvt.d.s $f2, $f2 +/* 9AAF04 80242B14 C6400084 */ lwc1 $f0, 0x84($s2) +/* 9AAF08 80242B18 46800020 */ cvt.s.w $f0, $f0 +/* 9AAF0C 80242B1C 46000021 */ cvt.d.s $f0, $f0 +/* 9AAF10 80242B20 3C014059 */ lui $at, 0x4059 +/* 9AAF14 80242B24 44812800 */ mtc1 $at, $f5 +/* 9AAF18 80242B28 44802000 */ mtc1 $zero, $f4 +/* 9AAF1C 80242B2C 8E4200CC */ lw $v0, 0xcc($s2) +/* 9AAF20 80242B30 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 9AAF24 80242B34 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 9AAF28 80242B38 46241083 */ div.d $f2, $f2, $f4 +/* 9AAF2C 80242B3C 462010A0 */ cvt.s.d $f2, $f2 +/* 9AAF30 80242B40 46240003 */ div.d $f0, $f0, $f4 +/* 9AAF34 80242B44 8C420020 */ lw $v0, 0x20($v0) +/* 9AAF38 80242B48 46200020 */ cvt.s.d $f0, $f0 +/* 9AAF3C 80242B4C E622001C */ swc1 $f2, 0x1c($s1) +/* 9AAF40 80242B50 E6200014 */ swc1 $f0, 0x14($s1) +/* 9AAF44 80242B54 AE220028 */ sw $v0, 0x28($s1) +/* 9AAF48 80242B58 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9AAF4C 80242B5C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9AAF50 80242B60 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9AAF54 80242B64 E6200018 */ swc1 $f0, 0x18($s1) +/* 9AAF58 80242B68 8C460028 */ lw $a2, 0x28($v0) +/* 9AAF5C 80242B6C 0C00A720 */ jal atan2 +/* 9AAF60 80242B70 8C470030 */ lw $a3, 0x30($v0) +/* 9AAF64 80242B74 E620000C */ swc1 $f0, 0xc($s1) +/* 9AAF68 80242B78 8E420018 */ lw $v0, 0x18($s2) +/* 9AAF6C 80242B7C AE400074 */ sw $zero, 0x74($s2) +/* 9AAF70 80242B80 9442002A */ lhu $v0, 0x2a($v0) +/* 9AAF74 80242B84 30420002 */ andi $v0, $v0, 2 +/* 9AAF78 80242B88 10400005 */ beqz $v0, .L80242BA0 +/* 9AAF7C 80242B8C 24020003 */ addiu $v0, $zero, 3 +/* 9AAF80 80242B90 A622008E */ sh $v0, 0x8e($s1) +/* 9AAF84 80242B94 2402000D */ addiu $v0, $zero, 0xd +/* 9AAF88 80242B98 08090AFC */ j .L80242BF0 +/* 9AAF8C 80242B9C AE620070 */ sw $v0, 0x70($s3) +.L80242BA0: +/* 9AAF90 80242BA0 24030001 */ addiu $v1, $zero, 1 +/* 9AAF94 80242BA4 2402000E */ addiu $v0, $zero, 0xe +/* 9AAF98 80242BA8 A623008E */ sh $v1, 0x8e($s1) +/* 9AAF9C 80242BAC AE620070 */ sw $v0, 0x70($s3) +/* 9AAFA0 80242BB0 C6200038 */ lwc1 $f0, 0x38($s1) +/* 9AAFA4 80242BB4 4600018D */ trunc.w.s $f6, $f0 +/* 9AAFA8 80242BB8 44023000 */ mfc1 $v0, $f6 +/* 9AAFAC 80242BBC 00000000 */ nop +/* 9AAFB0 80242BC0 A6420010 */ sh $v0, 0x10($s2) +/* 9AAFB4 80242BC4 C620003C */ lwc1 $f0, 0x3c($s1) +/* 9AAFB8 80242BC8 4600018D */ trunc.w.s $f6, $f0 +/* 9AAFBC 80242BCC 44023000 */ mfc1 $v0, $f6 +/* 9AAFC0 80242BD0 00000000 */ nop +/* 9AAFC4 80242BD4 A6420012 */ sh $v0, 0x12($s2) +/* 9AAFC8 80242BD8 C6200040 */ lwc1 $f0, 0x40($s1) +/* 9AAFCC 80242BDC A2430007 */ sb $v1, 7($s2) +/* 9AAFD0 80242BE0 4600018D */ trunc.w.s $f6, $f0 +/* 9AAFD4 80242BE4 44023000 */ mfc1 $v0, $f6 +/* 9AAFD8 80242BE8 00000000 */ nop +/* 9AAFDC 80242BEC A6420014 */ sh $v0, 0x14($s2) +.L80242BF0: +/* 9AAFE0 80242BF0 8FBF0020 */ lw $ra, 0x20($sp) +/* 9AAFE4 80242BF4 8FB3001C */ lw $s3, 0x1c($sp) +/* 9AAFE8 80242BF8 8FB20018 */ lw $s2, 0x18($sp) +/* 9AAFEC 80242BFC 8FB10014 */ lw $s1, 0x14($sp) +/* 9AAFF0 80242C00 8FB00010 */ lw $s0, 0x10($sp) +/* 9AAFF4 80242C04 03E00008 */ jr $ra +/* 9AAFF8 80242C08 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80242C0C.s b/asm/nonmatchings/world/area_trd/trd_04/func_80242C0C.s new file mode 100644 index 0000000000..4ec25b5470 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80242C0C.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C0C +/* 9AAFFC 80242C0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9AB000 80242C10 AFB00010 */ sw $s0, 0x10($sp) +/* 9AB004 80242C14 0080802D */ daddu $s0, $a0, $zero +/* 9AB008 80242C18 AFBF0014 */ sw $ra, 0x14($sp) +/* 9AB00C 80242C1C 8E020148 */ lw $v0, 0x148($s0) +/* 9AB010 80242C20 0C00EABB */ jal get_npc_unsafe +/* 9AB014 80242C24 84440008 */ lh $a0, 8($v0) +/* 9AB018 80242C28 0040202D */ daddu $a0, $v0, $zero +/* 9AB01C 80242C2C 8482008E */ lh $v0, 0x8e($a0) +/* 9AB020 80242C30 9483008E */ lhu $v1, 0x8e($a0) +/* 9AB024 80242C34 18400005 */ blez $v0, .L80242C4C +/* 9AB028 80242C38 2462FFFF */ addiu $v0, $v1, -1 +/* 9AB02C 80242C3C A482008E */ sh $v0, 0x8e($a0) +/* 9AB030 80242C40 00021400 */ sll $v0, $v0, 0x10 +/* 9AB034 80242C44 1C400006 */ bgtz $v0, .L80242C60 +/* 9AB038 80242C48 00000000 */ nop +.L80242C4C: +/* 9AB03C 80242C4C 8482008C */ lh $v0, 0x8c($a0) +/* 9AB040 80242C50 14400003 */ bnez $v0, .L80242C60 +/* 9AB044 80242C54 2402000E */ addiu $v0, $zero, 0xe +/* 9AB048 80242C58 A480008E */ sh $zero, 0x8e($a0) +/* 9AB04C 80242C5C AE020070 */ sw $v0, 0x70($s0) +.L80242C60: +/* 9AB050 80242C60 8FBF0014 */ lw $ra, 0x14($sp) +/* 9AB054 80242C64 8FB00010 */ lw $s0, 0x10($sp) +/* 9AB058 80242C68 03E00008 */ jr $ra +/* 9AB05C 80242C6C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80242C70.s b/asm/nonmatchings/world/area_trd/trd_04/func_80242C70.s new file mode 100644 index 0000000000..4bbc5eafb6 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80242C70.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242C70 +/* 9AB060 80242C70 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9AB064 80242C74 AFB20030 */ sw $s2, 0x30($sp) +/* 9AB068 80242C78 0080902D */ daddu $s2, $a0, $zero +/* 9AB06C 80242C7C AFBF0038 */ sw $ra, 0x38($sp) +/* 9AB070 80242C80 AFB30034 */ sw $s3, 0x34($sp) +/* 9AB074 80242C84 AFB1002C */ sw $s1, 0x2c($sp) +/* 9AB078 80242C88 AFB00028 */ sw $s0, 0x28($sp) +/* 9AB07C 80242C8C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 9AB080 80242C90 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 9AB084 80242C94 8E510148 */ lw $s1, 0x148($s2) +/* 9AB088 80242C98 86240008 */ lh $a0, 8($s1) +/* 9AB08C 80242C9C 0C00EABB */ jal get_npc_unsafe +/* 9AB090 80242CA0 00A0982D */ daddu $s3, $a1, $zero +/* 9AB094 80242CA4 0040802D */ daddu $s0, $v0, $zero +/* 9AB098 80242CA8 0200202D */ daddu $a0, $s0, $zero +/* 9AB09C 80242CAC C6220088 */ lwc1 $f2, 0x88($s1) +/* 9AB0A0 80242CB0 468010A0 */ cvt.s.w $f2, $f2 +/* 9AB0A4 80242CB4 460010A1 */ cvt.d.s $f2, $f2 +/* 9AB0A8 80242CB8 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9AB0AC 80242CBC C6000014 */ lwc1 $f0, 0x14($s0) +/* 9AB0B0 80242CC0 8E050018 */ lw $a1, 0x18($s0) +/* 9AB0B4 80242CC4 46002100 */ add.s $f4, $f4, $f0 +/* 9AB0B8 80242CC8 8E06000C */ lw $a2, 0xc($s0) +/* 9AB0BC 80242CCC C6200078 */ lwc1 $f0, 0x78($s1) +/* 9AB0C0 80242CD0 46800020 */ cvt.s.w $f0, $f0 +/* 9AB0C4 80242CD4 E604001C */ swc1 $f4, 0x1c($s0) +/* 9AB0C8 80242CD8 3C014059 */ lui $at, 0x4059 +/* 9AB0CC 80242CDC 44812800 */ mtc1 $at, $f5 +/* 9AB0D0 80242CE0 44802000 */ mtc1 $zero, $f4 +/* 9AB0D4 80242CE4 46000021 */ cvt.d.s $f0, $f0 +/* 9AB0D8 80242CE8 46240003 */ div.d $f0, $f0, $f4 +/* 9AB0DC 80242CEC 46200520 */ cvt.s.d $f20, $f0 +/* 9AB0E0 80242CF0 46241083 */ div.d $f2, $f2, $f4 +/* 9AB0E4 80242CF4 0C00EA95 */ jal npc_move_heading +/* 9AB0E8 80242CF8 462015A0 */ cvt.s.d $f22, $f2 +/* 9AB0EC 80242CFC C604001C */ lwc1 $f4, 0x1c($s0) +/* 9AB0F0 80242D00 44801000 */ mtc1 $zero, $f2 +/* 9AB0F4 80242D04 44801800 */ mtc1 $zero, $f3 +/* 9AB0F8 80242D08 46002021 */ cvt.d.s $f0, $f4 +/* 9AB0FC 80242D0C 4620103E */ c.le.d $f2, $f0 +/* 9AB100 80242D10 00000000 */ nop +/* 9AB104 80242D14 45000030 */ bc1f .L80242DD8 +/* 9AB108 80242D18 00000000 */ nop +/* 9AB10C 80242D1C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB110 80242D20 46040000 */ add.s $f0, $f0, $f4 +/* 9AB114 80242D24 E600003C */ swc1 $f0, 0x3c($s0) +/* 9AB118 80242D28 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AB11C 80242D2C 8C420024 */ lw $v0, 0x24($v0) +/* 9AB120 80242D30 AE020028 */ sw $v0, 0x28($s0) +/* 9AB124 80242D34 A2200007 */ sb $zero, 7($s1) +/* 9AB128 80242D38 8E020000 */ lw $v0, ($s0) +/* 9AB12C 80242D3C 30420008 */ andi $v0, $v0, 8 +/* 9AB130 80242D40 14400011 */ bnez $v0, .L80242D88 +/* 9AB134 80242D44 0000102D */ daddu $v0, $zero, $zero +/* 9AB138 80242D48 27A50018 */ addiu $a1, $sp, 0x18 +/* 9AB13C 80242D4C 27A6001C */ addiu $a2, $sp, 0x1c +/* 9AB140 80242D50 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AB144 80242D54 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AB148 80242D58 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9AB14C 80242D5C 3C01447A */ lui $at, 0x447a +/* 9AB150 80242D60 44813000 */ mtc1 $at, $f6 +/* 9AB154 80242D64 27A20024 */ addiu $v0, $sp, 0x24 +/* 9AB158 80242D68 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AB15C 80242D6C E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9AB160 80242D70 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9AB164 80242D74 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9AB168 80242D78 AFA20010 */ sw $v0, 0x10($sp) +/* 9AB16C 80242D7C 8E040080 */ lw $a0, 0x80($s0) +/* 9AB170 80242D80 0C0372DF */ jal func_800DCB7C +/* 9AB174 80242D84 27A70020 */ addiu $a3, $sp, 0x20 +.L80242D88: +/* 9AB178 80242D88 1040000B */ beqz $v0, .L80242DB8 +/* 9AB17C 80242D8C 00000000 */ nop +/* 9AB180 80242D90 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9AB184 80242D94 46140080 */ add.s $f2, $f0, $f20 +/* 9AB188 80242D98 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB18C 80242D9C 4600103E */ c.le.s $f2, $f0 +/* 9AB190 80242DA0 00000000 */ nop +/* 9AB194 80242DA4 4500008D */ bc1f .L80242FDC +/* 9AB198 80242DA8 00000000 */ nop +/* 9AB19C 80242DAC E602003C */ swc1 $f2, 0x3c($s0) +/* 9AB1A0 80242DB0 08090BF7 */ j .L80242FDC +/* 9AB1A4 80242DB4 AE400070 */ sw $zero, 0x70($s2) +.L80242DB8: +/* 9AB1A8 80242DB8 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AB1AC 80242DBC C6000064 */ lwc1 $f0, 0x64($s0) +/* 9AB1B0 80242DC0 4602003E */ c.le.s $f0, $f2 +/* 9AB1B4 80242DC4 00000000 */ nop +/* 9AB1B8 80242DC8 45030084 */ bc1tl .L80242FDC +/* 9AB1BC 80242DCC AE400070 */ sw $zero, 0x70($s2) +/* 9AB1C0 80242DD0 08090BF7 */ j .L80242FDC +/* 9AB1C4 80242DD4 00000000 */ nop +.L80242DD8: +/* 9AB1C8 80242DD8 4622003C */ c.lt.d $f0, $f2 +/* 9AB1CC 80242DDC 00000000 */ nop +/* 9AB1D0 80242DE0 4500007E */ bc1f .L80242FDC +/* 9AB1D4 80242DE4 00000000 */ nop +/* 9AB1D8 80242DE8 9602008E */ lhu $v0, 0x8e($s0) +/* 9AB1DC 80242DEC 24420001 */ addiu $v0, $v0, 1 +/* 9AB1E0 80242DF0 A602008E */ sh $v0, 0x8e($s0) +/* 9AB1E4 80242DF4 00021400 */ sll $v0, $v0, 0x10 +/* 9AB1E8 80242DF8 8E630020 */ lw $v1, 0x20($s3) +/* 9AB1EC 80242DFC 00021403 */ sra $v0, $v0, 0x10 +/* 9AB1F0 80242E00 0043102A */ slt $v0, $v0, $v1 +/* 9AB1F4 80242E04 14400026 */ bnez $v0, .L80242EA0 +/* 9AB1F8 80242E08 00000000 */ nop +/* 9AB1FC 80242E0C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AB200 80242E10 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AB204 80242E14 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9AB208 80242E18 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9AB20C 80242E1C A600008E */ sh $zero, 0x8e($s0) +/* 9AB210 80242E20 8C460028 */ lw $a2, 0x28($v0) +/* 9AB214 80242E24 0C00A720 */ jal atan2 +/* 9AB218 80242E28 8C470030 */ lw $a3, 0x30($v0) +/* 9AB21C 80242E2C 46000506 */ mov.s $f20, $f0 +/* 9AB220 80242E30 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9AB224 80242E34 0C00A70A */ jal get_clamped_angle_diff +/* 9AB228 80242E38 4600A386 */ mov.s $f14, $f20 +/* 9AB22C 80242E3C 46000086 */ mov.s $f2, $f0 +/* 9AB230 80242E40 8E62001C */ lw $v0, 0x1c($s3) +/* 9AB234 80242E44 46001005 */ abs.s $f0, $f2 +/* 9AB238 80242E48 44822000 */ mtc1 $v0, $f4 +/* 9AB23C 80242E4C 00000000 */ nop +/* 9AB240 80242E50 46802120 */ cvt.s.w $f4, $f4 +/* 9AB244 80242E54 4600203C */ c.lt.s $f4, $f0 +/* 9AB248 80242E58 00000000 */ nop +/* 9AB24C 80242E5C 4500000D */ bc1f .L80242E94 +/* 9AB250 80242E60 00000000 */ nop +/* 9AB254 80242E64 44800000 */ mtc1 $zero, $f0 +/* 9AB258 80242E68 C614000C */ lwc1 $f20, 0xc($s0) +/* 9AB25C 80242E6C 4600103C */ c.lt.s $f2, $f0 +/* 9AB260 80242E70 00000000 */ nop +/* 9AB264 80242E74 45000006 */ bc1f .L80242E90 +/* 9AB268 80242E78 00021023 */ negu $v0, $v0 +/* 9AB26C 80242E7C 44820000 */ mtc1 $v0, $f0 +/* 9AB270 80242E80 00000000 */ nop +/* 9AB274 80242E84 46800020 */ cvt.s.w $f0, $f0 +/* 9AB278 80242E88 08090BA5 */ j .L80242E94 +/* 9AB27C 80242E8C 4600A500 */ add.s $f20, $f20, $f0 +.L80242E90: +/* 9AB280 80242E90 4604A500 */ add.s $f20, $f20, $f4 +.L80242E94: +/* 9AB284 80242E94 0C00A6C9 */ jal clamp_angle +/* 9AB288 80242E98 4600A306 */ mov.s $f12, $f20 +/* 9AB28C 80242E9C E600000C */ swc1 $f0, 0xc($s0) +.L80242EA0: +/* 9AB290 80242EA0 8E020000 */ lw $v0, ($s0) +/* 9AB294 80242EA4 30420008 */ andi $v0, $v0, 8 +/* 9AB298 80242EA8 1040000A */ beqz $v0, .L80242ED4 +/* 9AB29C 80242EAC 27A50018 */ addiu $a1, $sp, 0x18 +/* 9AB2A0 80242EB0 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AB2A4 80242EB4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9AB2A8 80242EB8 46001080 */ add.s $f2, $f2, $f0 +/* 9AB2AC 80242EBC 4616103C */ c.lt.s $f2, $f22 +/* 9AB2B0 80242EC0 00000000 */ nop +/* 9AB2B4 80242EC4 45020045 */ bc1fl .L80242FDC +/* 9AB2B8 80242EC8 E602003C */ swc1 $f2, 0x3c($s0) +/* 9AB2BC 80242ECC 08090BF6 */ j .L80242FD8 +/* 9AB2C0 80242ED0 E616003C */ swc1 $f22, 0x3c($s0) +.L80242ED4: +/* 9AB2C4 80242ED4 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AB2C8 80242ED8 27A6001C */ addiu $a2, $sp, 0x1c +/* 9AB2CC 80242EDC E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AB2D0 80242EE0 860200A8 */ lh $v0, 0xa8($s0) +/* 9AB2D4 80242EE4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9AB2D8 80242EE8 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9AB2DC 80242EEC 44821000 */ mtc1 $v0, $f2 +/* 9AB2E0 80242EF0 00000000 */ nop +/* 9AB2E4 80242EF4 468010A0 */ cvt.s.w $f2, $f2 +/* 9AB2E8 80242EF8 46000005 */ abs.s $f0, $f0 +/* 9AB2EC 80242EFC 46020000 */ add.s $f0, $f0, $f2 +/* 9AB2F0 80242F00 C6060040 */ lwc1 $f6, 0x40($s0) +/* 9AB2F4 80242F04 27A20024 */ addiu $v0, $sp, 0x24 +/* 9AB2F8 80242F08 46022100 */ add.s $f4, $f4, $f2 +/* 9AB2FC 80242F0C 3C014024 */ lui $at, 0x4024 +/* 9AB300 80242F10 44811800 */ mtc1 $at, $f3 +/* 9AB304 80242F14 44801000 */ mtc1 $zero, $f2 +/* 9AB308 80242F18 46000021 */ cvt.d.s $f0, $f0 +/* 9AB30C 80242F1C 46220000 */ add.d $f0, $f0, $f2 +/* 9AB310 80242F20 E7A60020 */ swc1 $f6, 0x20($sp) +/* 9AB314 80242F24 E7A4001C */ swc1 $f4, 0x1c($sp) +/* 9AB318 80242F28 46200020 */ cvt.s.d $f0, $f0 +/* 9AB31C 80242F2C E7A00024 */ swc1 $f0, 0x24($sp) +/* 9AB320 80242F30 AFA20010 */ sw $v0, 0x10($sp) +/* 9AB324 80242F34 8E040080 */ lw $a0, 0x80($s0) +/* 9AB328 80242F38 0C0372DF */ jal func_800DCB7C +/* 9AB32C 80242F3C 27A70020 */ addiu $a3, $sp, 0x20 +/* 9AB330 80242F40 10400015 */ beqz $v0, .L80242F98 +/* 9AB334 80242F44 00000000 */ nop +/* 9AB338 80242F48 860200A8 */ lh $v0, 0xa8($s0) +/* 9AB33C 80242F4C C604001C */ lwc1 $f4, 0x1c($s0) +/* 9AB340 80242F50 44820000 */ mtc1 $v0, $f0 +/* 9AB344 80242F54 00000000 */ nop +/* 9AB348 80242F58 46800020 */ cvt.s.w $f0, $f0 +/* 9AB34C 80242F5C 46002085 */ abs.s $f2, $f4 +/* 9AB350 80242F60 46020000 */ add.s $f0, $f0, $f2 +/* 9AB354 80242F64 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9AB358 80242F68 4600103E */ c.le.s $f2, $f0 +/* 9AB35C 80242F6C 00000000 */ nop +/* 9AB360 80242F70 45000005 */ bc1f .L80242F88 +/* 9AB364 80242F74 00000000 */ nop +/* 9AB368 80242F78 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9AB36C 80242F7C AE00001C */ sw $zero, 0x1c($s0) +/* 9AB370 80242F80 08090BF7 */ j .L80242FDC +/* 9AB374 80242F84 E600003C */ swc1 $f0, 0x3c($s0) +.L80242F88: +/* 9AB378 80242F88 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB37C 80242F8C 46040000 */ add.s $f0, $f0, $f4 +/* 9AB380 80242F90 08090BF7 */ j .L80242FDC +/* 9AB384 80242F94 E600003C */ swc1 $f0, 0x3c($s0) +.L80242F98: +/* 9AB388 80242F98 C606003C */ lwc1 $f6, 0x3c($s0) +/* 9AB38C 80242F9C 860200A8 */ lh $v0, 0xa8($s0) +/* 9AB390 80242FA0 46163081 */ sub.s $f2, $f6, $f22 +/* 9AB394 80242FA4 44820000 */ mtc1 $v0, $f0 +/* 9AB398 80242FA8 00000000 */ nop +/* 9AB39C 80242FAC 46800020 */ cvt.s.w $f0, $f0 +/* 9AB3A0 80242FB0 46001080 */ add.s $f2, $f2, $f0 +/* 9AB3A4 80242FB4 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9AB3A8 80242FB8 46002005 */ abs.s $f0, $f4 +/* 9AB3AC 80242FBC 4602003C */ c.lt.s $f0, $f2 +/* 9AB3B0 80242FC0 00000000 */ nop +/* 9AB3B4 80242FC4 45020005 */ bc1fl .L80242FDC +/* 9AB3B8 80242FC8 AE00001C */ sw $zero, 0x1c($s0) +/* 9AB3BC 80242FCC 46043000 */ add.s $f0, $f6, $f4 +/* 9AB3C0 80242FD0 08090BF7 */ j .L80242FDC +/* 9AB3C4 80242FD4 E600003C */ swc1 $f0, 0x3c($s0) +.L80242FD8: +/* 9AB3C8 80242FD8 AE00001C */ sw $zero, 0x1c($s0) +.L80242FDC: +/* 9AB3CC 80242FDC 8FBF0038 */ lw $ra, 0x38($sp) +/* 9AB3D0 80242FE0 8FB30034 */ lw $s3, 0x34($sp) +/* 9AB3D4 80242FE4 8FB20030 */ lw $s2, 0x30($sp) +/* 9AB3D8 80242FE8 8FB1002C */ lw $s1, 0x2c($sp) +/* 9AB3DC 80242FEC 8FB00028 */ lw $s0, 0x28($sp) +/* 9AB3E0 80242FF0 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 9AB3E4 80242FF4 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 9AB3E8 80242FF8 03E00008 */ jr $ra +/* 9AB3EC 80242FFC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80243000.s b/asm/nonmatchings/world/area_trd/trd_04/func_80243000.s new file mode 100644 index 0000000000..c9770966f7 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80243000.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243000 +/* 9AB3F0 80243000 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9AB3F4 80243004 AFB00028 */ sw $s0, 0x28($sp) +/* 9AB3F8 80243008 00A0802D */ daddu $s0, $a1, $zero +/* 9AB3FC 8024300C AFB1002C */ sw $s1, 0x2c($sp) +/* 9AB400 80243010 00C0882D */ daddu $s1, $a2, $zero +/* 9AB404 80243014 AFBF0034 */ sw $ra, 0x34($sp) +/* 9AB408 80243018 AFB20030 */ sw $s2, 0x30($sp) +/* 9AB40C 8024301C AE200070 */ sw $zero, 0x70($s1) +/* 9AB410 80243020 8C830000 */ lw $v1, ($a0) +/* 9AB414 80243024 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9AB418 80243028 A480008E */ sh $zero, 0x8e($a0) +/* 9AB41C 8024302C 00621824 */ and $v1, $v1, $v0 +/* 9AB420 80243030 34650800 */ ori $a1, $v1, 0x800 +/* 9AB424 80243034 AC850000 */ sw $a1, ($a0) +/* 9AB428 80243038 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9AB42C 8024303C 8C420034 */ lw $v0, 0x34($v0) +/* 9AB430 80243040 10400003 */ beqz $v0, .L80243050 +/* 9AB434 80243044 00E0902D */ daddu $s2, $a3, $zero +/* 9AB438 80243048 08090C16 */ j .L80243058 +/* 9AB43C 8024304C 34620808 */ ori $v0, $v1, 0x808 +.L80243050: +/* 9AB440 80243050 2402FFF7 */ addiu $v0, $zero, -9 +/* 9AB444 80243054 00A21024 */ and $v0, $a1, $v0 +.L80243058: +/* 9AB448 80243058 AC820000 */ sw $v0, ($a0) +/* 9AB44C 8024305C 27A20024 */ addiu $v0, $sp, 0x24 +/* 9AB450 80243060 27A50018 */ addiu $a1, $sp, 0x18 +/* 9AB454 80243064 C4800038 */ lwc1 $f0, 0x38($a0) +/* 9AB458 80243068 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9AB45C 8024306C C4840040 */ lwc1 $f4, 0x40($a0) +/* 9AB460 80243070 3C01447A */ lui $at, 0x447a +/* 9AB464 80243074 44813000 */ mtc1 $at, $f6 +/* 9AB468 80243078 27A6001C */ addiu $a2, $sp, 0x1c +/* 9AB46C 8024307C E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AB470 80243080 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9AB474 80243084 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9AB478 80243088 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9AB47C 8024308C AFA20010 */ sw $v0, 0x10($sp) +/* 9AB480 80243090 8C840080 */ lw $a0, 0x80($a0) +/* 9AB484 80243094 0C0372DF */ jal func_800DCB7C +/* 9AB488 80243098 27A70020 */ addiu $a3, $sp, 0x20 +/* 9AB48C 8024309C C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9AB490 802430A0 3C014059 */ lui $at, 0x4059 +/* 9AB494 802430A4 44812800 */ mtc1 $at, $f5 +/* 9AB498 802430A8 44802000 */ mtc1 $zero, $f4 +/* 9AB49C 802430AC 460010A1 */ cvt.d.s $f2, $f2 +/* 9AB4A0 802430B0 46241082 */ mul.d $f2, $f2, $f4 +/* 9AB4A4 802430B4 00000000 */ nop +/* 9AB4A8 802430B8 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9AB4AC 802430BC 46000021 */ cvt.d.s $f0, $f0 +/* 9AB4B0 802430C0 46240002 */ mul.d $f0, $f0, $f4 +/* 9AB4B4 802430C4 00000000 */ nop +/* 9AB4B8 802430C8 3C013FE0 */ lui $at, 0x3fe0 +/* 9AB4BC 802430CC 44812800 */ mtc1 $at, $f5 +/* 9AB4C0 802430D0 44802000 */ mtc1 $zero, $f4 +/* 9AB4C4 802430D4 00000000 */ nop +/* 9AB4C8 802430D8 46241080 */ add.d $f2, $f2, $f4 +/* 9AB4CC 802430DC AE000074 */ sw $zero, 0x74($s0) +/* 9AB4D0 802430E0 46240000 */ add.d $f0, $f0, $f4 +/* 9AB4D4 802430E4 AE000090 */ sw $zero, 0x90($s0) +/* 9AB4D8 802430E8 4620120D */ trunc.w.d $f8, $f2 +/* 9AB4DC 802430EC E6080078 */ swc1 $f8, 0x78($s0) +/* 9AB4E0 802430F0 4620020D */ trunc.w.d $f8, $f0 +/* 9AB4E4 802430F4 E6080088 */ swc1 $f8, 0x88($s0) +/* 9AB4E8 802430F8 8E420014 */ lw $v0, 0x14($s2) +/* 9AB4EC 802430FC AE220074 */ sw $v0, 0x74($s1) +/* 9AB4F0 80243100 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9AB4F4 80243104 34420010 */ ori $v0, $v0, 0x10 +/* 9AB4F8 80243108 AE0200B0 */ sw $v0, 0xb0($s0) +/* 9AB4FC 8024310C 8FBF0034 */ lw $ra, 0x34($sp) +/* 9AB500 80243110 8FB20030 */ lw $s2, 0x30($sp) +/* 9AB504 80243114 8FB1002C */ lw $s1, 0x2c($sp) +/* 9AB508 80243118 8FB00028 */ lw $s0, 0x28($sp) +/* 9AB50C 8024311C 03E00008 */ jr $ra +/* 9AB510 80243120 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80243124.s b/asm/nonmatchings/world/area_trd/trd_04/func_80243124.s new file mode 100644 index 0000000000..538053500f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80243124.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243124 +/* 9AB514 80243124 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9AB518 80243128 AFB40040 */ sw $s4, 0x40($sp) +/* 9AB51C 8024312C 0080A02D */ daddu $s4, $a0, $zero +/* 9AB520 80243130 AFBF0048 */ sw $ra, 0x48($sp) +/* 9AB524 80243134 AFB50044 */ sw $s5, 0x44($sp) +/* 9AB528 80243138 AFB3003C */ sw $s3, 0x3c($sp) +/* 9AB52C 8024313C AFB20038 */ sw $s2, 0x38($sp) +/* 9AB530 80243140 AFB10034 */ sw $s1, 0x34($sp) +/* 9AB534 80243144 AFB00030 */ sw $s0, 0x30($sp) +/* 9AB538 80243148 8E920148 */ lw $s2, 0x148($s4) +/* 9AB53C 8024314C 86440008 */ lh $a0, 8($s2) +/* 9AB540 80243150 8E90000C */ lw $s0, 0xc($s4) +/* 9AB544 80243154 0C00EABB */ jal get_npc_unsafe +/* 9AB548 80243158 00A0882D */ daddu $s1, $a1, $zero +/* 9AB54C 8024315C 0280202D */ daddu $a0, $s4, $zero +/* 9AB550 80243160 8E050000 */ lw $a1, ($s0) +/* 9AB554 80243164 0C0B1EAF */ jal get_variable +/* 9AB558 80243168 0040A82D */ daddu $s5, $v0, $zero +/* 9AB55C 8024316C AFA00010 */ sw $zero, 0x10($sp) +/* 9AB560 80243170 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9AB564 80243174 8C630030 */ lw $v1, 0x30($v1) +/* 9AB568 80243178 AFA30014 */ sw $v1, 0x14($sp) +/* 9AB56C 8024317C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9AB570 80243180 8C63001C */ lw $v1, 0x1c($v1) +/* 9AB574 80243184 AFA30018 */ sw $v1, 0x18($sp) +/* 9AB578 80243188 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9AB57C 8024318C 8C630024 */ lw $v1, 0x24($v1) +/* 9AB580 80243190 AFA3001C */ sw $v1, 0x1c($sp) +/* 9AB584 80243194 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9AB588 80243198 8C630028 */ lw $v1, 0x28($v1) +/* 9AB58C 8024319C 27B30010 */ addiu $s3, $sp, 0x10 +/* 9AB590 802431A0 AFA30020 */ sw $v1, 0x20($sp) +/* 9AB594 802431A4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9AB598 802431A8 3C0142F0 */ lui $at, 0x42f0 +/* 9AB59C 802431AC 44810000 */ mtc1 $at, $f0 +/* 9AB5A0 802431B0 8C63002C */ lw $v1, 0x2c($v1) +/* 9AB5A4 802431B4 0040802D */ daddu $s0, $v0, $zero +/* 9AB5A8 802431B8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9AB5AC 802431BC A7A0002C */ sh $zero, 0x2c($sp) +/* 9AB5B0 802431C0 12200006 */ beqz $s1, .L802431DC +/* 9AB5B4 802431C4 AFA30024 */ sw $v1, 0x24($sp) +/* 9AB5B8 802431C8 02A0202D */ daddu $a0, $s5, $zero +/* 9AB5BC 802431CC 0240282D */ daddu $a1, $s2, $zero +/* 9AB5C0 802431D0 0280302D */ daddu $a2, $s4, $zero +/* 9AB5C4 802431D4 0C090C00 */ jal func_80243000 +/* 9AB5C8 802431D8 0200382D */ daddu $a3, $s0, $zero +.L802431DC: +/* 9AB5CC 802431DC 2402FFFE */ addiu $v0, $zero, -2 +/* 9AB5D0 802431E0 A2A200AB */ sb $v0, 0xab($s5) +/* 9AB5D4 802431E4 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9AB5D8 802431E8 30620004 */ andi $v0, $v1, 4 +/* 9AB5DC 802431EC 10400007 */ beqz $v0, .L8024320C +/* 9AB5E0 802431F0 00000000 */ nop +/* 9AB5E4 802431F4 824200B4 */ lb $v0, 0xb4($s2) +/* 9AB5E8 802431F8 1440003C */ bnez $v0, .L802432EC +/* 9AB5EC 802431FC 0000102D */ daddu $v0, $zero, $zero +/* 9AB5F0 80243200 2402FFFB */ addiu $v0, $zero, -5 +/* 9AB5F4 80243204 00621024 */ and $v0, $v1, $v0 +/* 9AB5F8 80243208 AE4200B0 */ sw $v0, 0xb0($s2) +.L8024320C: +/* 9AB5FC 8024320C 8E830070 */ lw $v1, 0x70($s4) +/* 9AB600 80243210 2C62000F */ sltiu $v0, $v1, 0xf +/* 9AB604 80243214 10400034 */ beqz $v0, .L802432E8 +/* 9AB608 80243218 00031080 */ sll $v0, $v1, 2 +/* 9AB60C 8024321C 3C018024 */ lui $at, 0x8024 +/* 9AB610 80243220 00220821 */ addu $at, $at, $v0 +/* 9AB614 80243224 8C226288 */ lw $v0, 0x6288($at) +/* 9AB618 80243228 00400008 */ jr $v0 +/* 9AB61C 8024322C 00000000 */ nop +/* 9AB620 80243230 0280202D */ daddu $a0, $s4, $zero +/* 9AB624 80243234 0200282D */ daddu $a1, $s0, $zero +/* 9AB628 80243238 0C090786 */ jal func_80241E18 +/* 9AB62C 8024323C 0260302D */ daddu $a2, $s3, $zero +/* 9AB630 80243240 0280202D */ daddu $a0, $s4, $zero +/* 9AB634 80243244 0200282D */ daddu $a1, $s0, $zero +/* 9AB638 80243248 0C0907F2 */ jal func_80241FC8 +/* 9AB63C 8024324C 0260302D */ daddu $a2, $s3, $zero +/* 9AB640 80243250 08090CBB */ j .L802432EC +/* 9AB644 80243254 0000102D */ daddu $v0, $zero, $zero +/* 9AB648 80243258 0280202D */ daddu $a0, $s4, $zero +/* 9AB64C 8024325C 0200282D */ daddu $a1, $s0, $zero +/* 9AB650 80243260 0C09097C */ jal func_802425F0 +/* 9AB654 80243264 0260302D */ daddu $a2, $s3, $zero +/* 9AB658 80243268 0280202D */ daddu $a0, $s4, $zero +/* 9AB65C 8024326C 0200282D */ daddu $a1, $s0, $zero +/* 9AB660 80243270 0C0909AC */ jal func_802426B0 +/* 9AB664 80243274 0260302D */ daddu $a2, $s3, $zero +/* 9AB668 80243278 08090CBB */ j .L802432EC +/* 9AB66C 8024327C 0000102D */ daddu $v0, $zero, $zero +/* 9AB670 80243280 0280202D */ daddu $a0, $s4, $zero +/* 9AB674 80243284 0200282D */ daddu $a1, $s0, $zero +/* 9AB678 80243288 0C090A7D */ jal func_802429F4 +/* 9AB67C 8024328C 0260302D */ daddu $a2, $s3, $zero +/* 9AB680 80243290 0280202D */ daddu $a0, $s4, $zero +/* 9AB684 80243294 0200282D */ daddu $a1, $s0, $zero +/* 9AB688 80243298 0C090A9B */ jal func_80242A6C +/* 9AB68C 8024329C 0260302D */ daddu $a2, $s3, $zero +/* 9AB690 802432A0 08090CBB */ j .L802432EC +/* 9AB694 802432A4 0000102D */ daddu $v0, $zero, $zero +/* 9AB698 802432A8 0280202D */ daddu $a0, $s4, $zero +/* 9AB69C 802432AC 0200282D */ daddu $a1, $s0, $zero +/* 9AB6A0 802432B0 0C090AB6 */ jal func_80242AD8 +/* 9AB6A4 802432B4 0260302D */ daddu $a2, $s3, $zero +/* 9AB6A8 802432B8 08090CBB */ j .L802432EC +/* 9AB6AC 802432BC 0000102D */ daddu $v0, $zero, $zero +/* 9AB6B0 802432C0 0280202D */ daddu $a0, $s4, $zero +/* 9AB6B4 802432C4 0200282D */ daddu $a1, $s0, $zero +/* 9AB6B8 802432C8 0C090B03 */ jal func_80242C0C +/* 9AB6BC 802432CC 0260302D */ daddu $a2, $s3, $zero +/* 9AB6C0 802432D0 08090CBB */ j .L802432EC +/* 9AB6C4 802432D4 0000102D */ daddu $v0, $zero, $zero +/* 9AB6C8 802432D8 0280202D */ daddu $a0, $s4, $zero +/* 9AB6CC 802432DC 0200282D */ daddu $a1, $s0, $zero +/* 9AB6D0 802432E0 0C090B1C */ jal func_80242C70 +/* 9AB6D4 802432E4 0260302D */ daddu $a2, $s3, $zero +.L802432E8: +/* 9AB6D8 802432E8 0000102D */ daddu $v0, $zero, $zero +.L802432EC: +/* 9AB6DC 802432EC 8FBF0048 */ lw $ra, 0x48($sp) +/* 9AB6E0 802432F0 8FB50044 */ lw $s5, 0x44($sp) +/* 9AB6E4 802432F4 8FB40040 */ lw $s4, 0x40($sp) +/* 9AB6E8 802432F8 8FB3003C */ lw $s3, 0x3c($sp) +/* 9AB6EC 802432FC 8FB20038 */ lw $s2, 0x38($sp) +/* 9AB6F0 80243300 8FB10034 */ lw $s1, 0x34($sp) +/* 9AB6F4 80243304 8FB00030 */ lw $s0, 0x30($sp) +/* 9AB6F8 80243308 03E00008 */ jr $ra +/* 9AB6FC 8024330C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80243310.s b/asm/nonmatchings/world/area_trd/trd_04/func_80243310.s new file mode 100644 index 0000000000..06f603ad36 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80243310.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243310 +/* 9AB700 80243310 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9AB704 80243314 AFB3001C */ sw $s3, 0x1c($sp) +/* 9AB708 80243318 0080982D */ daddu $s3, $a0, $zero +/* 9AB70C 8024331C AFBF0020 */ sw $ra, 0x20($sp) +/* 9AB710 80243320 AFB20018 */ sw $s2, 0x18($sp) +/* 9AB714 80243324 AFB10014 */ sw $s1, 0x14($sp) +/* 9AB718 80243328 AFB00010 */ sw $s0, 0x10($sp) +/* 9AB71C 8024332C 8E710148 */ lw $s1, 0x148($s3) +/* 9AB720 80243330 0C00EABB */ jal get_npc_unsafe +/* 9AB724 80243334 86240008 */ lh $a0, 8($s1) +/* 9AB728 80243338 0040802D */ daddu $s0, $v0, $zero +/* 9AB72C 8024333C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AB730 80243340 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AB734 80243344 3C01C0A0 */ lui $at, 0xc0a0 +/* 9AB738 80243348 44811000 */ mtc1 $at, $f2 +/* 9AB73C 8024334C 3C013E19 */ lui $at, 0x3e19 +/* 9AB740 80243350 3421999A */ ori $at, $at, 0x999a +/* 9AB744 80243354 44810000 */ mtc1 $at, $f0 +/* 9AB748 80243358 8C420024 */ lw $v0, 0x24($v0) +/* 9AB74C 8024335C 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 9AB750 80243360 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 9AB754 80243364 E602001C */ swc1 $f2, 0x1c($s0) +/* 9AB758 80243368 E6000014 */ swc1 $f0, 0x14($s0) +/* 9AB75C 8024336C AE020028 */ sw $v0, 0x28($s0) +/* 9AB760 80243370 8E22008C */ lw $v0, 0x8c($s1) +/* 9AB764 80243374 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AB768 80243378 00021FC2 */ srl $v1, $v0, 0x1f +/* 9AB76C 8024337C 00431021 */ addu $v0, $v0, $v1 +/* 9AB770 80243380 8E430000 */ lw $v1, ($s2) +/* 9AB774 80243384 00021043 */ sra $v0, $v0, 1 +/* 9AB778 80243388 A60200A8 */ sh $v0, 0xa8($s0) +/* 9AB77C 8024338C 8C660028 */ lw $a2, 0x28($v1) +/* 9AB780 80243390 0C00A7B5 */ jal dist2D +/* 9AB784 80243394 8C670030 */ lw $a3, 0x30($v1) +/* 9AB788 80243398 0200202D */ daddu $a0, $s0, $zero +/* 9AB78C 8024339C 0000302D */ daddu $a2, $zero, $zero +/* 9AB790 802433A0 C6020038 */ lwc1 $f2, 0x38($s0) +/* 9AB794 802433A4 3C0140E0 */ lui $at, 0x40e0 +/* 9AB798 802433A8 44810000 */ mtc1 $at, $f0 +/* 9AB79C 802433AC 4600110D */ trunc.w.s $f4, $f2 +/* 9AB7A0 802433B0 44022000 */ mfc1 $v0, $f4 +/* 9AB7A4 802433B4 E6000018 */ swc1 $f0, 0x18($s0) +/* 9AB7A8 802433B8 A6220010 */ sh $v0, 0x10($s1) +/* 9AB7AC 802433BC C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB7B0 802433C0 240502C1 */ addiu $a1, $zero, 0x2c1 +/* 9AB7B4 802433C4 4600010D */ trunc.w.s $f4, $f0 +/* 9AB7B8 802433C8 44022000 */ mfc1 $v0, $f4 +/* 9AB7BC 802433CC 00000000 */ nop +/* 9AB7C0 802433D0 A6220012 */ sh $v0, 0x12($s1) +/* 9AB7C4 802433D4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9AB7C8 802433D8 24020001 */ addiu $v0, $zero, 1 +/* 9AB7CC 802433DC A2220007 */ sb $v0, 7($s1) +/* 9AB7D0 802433E0 4600010D */ trunc.w.s $f4, $f0 +/* 9AB7D4 802433E4 44022000 */ mfc1 $v0, $f4 +/* 9AB7D8 802433E8 0C012530 */ jal func_800494C0 +/* 9AB7DC 802433EC A6220014 */ sh $v0, 0x14($s1) +/* 9AB7E0 802433F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9AB7E4 802433F4 8E420000 */ lw $v0, ($s2) +/* 9AB7E8 802433F8 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9AB7EC 802433FC 8C460028 */ lw $a2, 0x28($v0) +/* 9AB7F0 80243400 0C00A720 */ jal atan2 +/* 9AB7F4 80243404 8C470030 */ lw $a3, 0x30($v0) +/* 9AB7F8 80243408 2402000C */ addiu $v0, $zero, 0xc +/* 9AB7FC 8024340C A602008E */ sh $v0, 0x8e($s0) +/* 9AB800 80243410 2402000D */ addiu $v0, $zero, 0xd +/* 9AB804 80243414 E600000C */ swc1 $f0, 0xc($s0) +/* 9AB808 80243418 AE620070 */ sw $v0, 0x70($s3) +/* 9AB80C 8024341C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9AB810 80243420 8FB3001C */ lw $s3, 0x1c($sp) +/* 9AB814 80243424 8FB20018 */ lw $s2, 0x18($sp) +/* 9AB818 80243428 8FB10014 */ lw $s1, 0x14($sp) +/* 9AB81C 8024342C 8FB00010 */ lw $s0, 0x10($sp) +/* 9AB820 80243430 03E00008 */ jr $ra +/* 9AB824 80243434 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80243438.s b/asm/nonmatchings/world/area_trd/trd_04/func_80243438.s new file mode 100644 index 0000000000..507cdd3dbd --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80243438.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243438 +/* 9AB828 80243438 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9AB82C 8024343C AFB20018 */ sw $s2, 0x18($sp) +/* 9AB830 80243440 0080902D */ daddu $s2, $a0, $zero +/* 9AB834 80243444 AFBF001C */ sw $ra, 0x1c($sp) +/* 9AB838 80243448 AFB10014 */ sw $s1, 0x14($sp) +/* 9AB83C 8024344C AFB00010 */ sw $s0, 0x10($sp) +/* 9AB840 80243450 8E510148 */ lw $s1, 0x148($s2) +/* 9AB844 80243454 0C00EABB */ jal get_npc_unsafe +/* 9AB848 80243458 86240008 */ lh $a0, 8($s1) +/* 9AB84C 8024345C 0040802D */ daddu $s0, $v0, $zero +/* 9AB850 80243460 C602001C */ lwc1 $f2, 0x1c($s0) +/* 9AB854 80243464 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9AB858 80243468 8E050018 */ lw $a1, 0x18($s0) +/* 9AB85C 8024346C 46001080 */ add.s $f2, $f2, $f0 +/* 9AB860 80243470 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB864 80243474 8E06000C */ lw $a2, 0xc($s0) +/* 9AB868 80243478 46020000 */ add.s $f0, $f0, $f2 +/* 9AB86C 8024347C 0200202D */ daddu $a0, $s0, $zero +/* 9AB870 80243480 E602001C */ swc1 $f2, 0x1c($s0) +/* 9AB874 80243484 0C00EA95 */ jal npc_move_heading +/* 9AB878 80243488 E600003C */ swc1 $f0, 0x3c($s0) +/* 9AB87C 8024348C 9602008E */ lhu $v0, 0x8e($s0) +/* 9AB880 80243490 2442FFFF */ addiu $v0, $v0, -1 +/* 9AB884 80243494 A602008E */ sh $v0, 0x8e($s0) +/* 9AB888 80243498 00021400 */ sll $v0, $v0, 0x10 +/* 9AB88C 8024349C 1C40000F */ bgtz $v0, .L802434DC +/* 9AB890 802434A0 00000000 */ nop +/* 9AB894 802434A4 3C013E99 */ lui $at, 0x3e99 +/* 9AB898 802434A8 3421999A */ ori $at, $at, 0x999a +/* 9AB89C 802434AC 44810000 */ mtc1 $at, $f0 +/* 9AB8A0 802434B0 3C014040 */ lui $at, 0x4040 +/* 9AB8A4 802434B4 44811000 */ mtc1 $at, $f2 +/* 9AB8A8 802434B8 A2200007 */ sb $zero, 7($s1) +/* 9AB8AC 802434BC AE00001C */ sw $zero, 0x1c($s0) +/* 9AB8B0 802434C0 E6000014 */ swc1 $f0, 0x14($s0) +/* 9AB8B4 802434C4 E6020018 */ swc1 $f2, 0x18($s0) +/* 9AB8B8 802434C8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AB8BC 802434CC 8C420028 */ lw $v0, 0x28($v0) +/* 9AB8C0 802434D0 AE020028 */ sw $v0, 0x28($s0) +/* 9AB8C4 802434D4 2402000E */ addiu $v0, $zero, 0xe +/* 9AB8C8 802434D8 AE420070 */ sw $v0, 0x70($s2) +.L802434DC: +/* 9AB8CC 802434DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 9AB8D0 802434E0 8FB20018 */ lw $s2, 0x18($sp) +/* 9AB8D4 802434E4 8FB10014 */ lw $s1, 0x14($sp) +/* 9AB8D8 802434E8 8FB00010 */ lw $s0, 0x10($sp) +/* 9AB8DC 802434EC 03E00008 */ jr $ra +/* 9AB8E0 802434F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_802434F4.s b/asm/nonmatchings/world/area_trd/trd_04/func_802434F4.s new file mode 100644 index 0000000000..84a3d28933 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_802434F4.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802434F4 +/* 9AB8E4 802434F4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 9AB8E8 802434F8 AFB20030 */ sw $s2, 0x30($sp) +/* 9AB8EC 802434FC 0080902D */ daddu $s2, $a0, $zero +/* 9AB8F0 80243500 AFBF0034 */ sw $ra, 0x34($sp) +/* 9AB8F4 80243504 AFB1002C */ sw $s1, 0x2c($sp) +/* 9AB8F8 80243508 AFB00028 */ sw $s0, 0x28($sp) +/* 9AB8FC 8024350C F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9AB900 80243510 8E510148 */ lw $s1, 0x148($s2) +/* 9AB904 80243514 0C00EABB */ jal get_npc_unsafe +/* 9AB908 80243518 86240008 */ lh $a0, 8($s1) +/* 9AB90C 8024351C 0040802D */ daddu $s0, $v0, $zero +/* 9AB910 80243520 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9AB914 80243524 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9AB918 80243528 0200202D */ daddu $a0, $s0, $zero +/* 9AB91C 8024352C 46002100 */ add.s $f4, $f4, $f0 +/* 9AB920 80243530 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AB924 80243534 8E050018 */ lw $a1, 0x18($s0) +/* 9AB928 80243538 46041080 */ add.s $f2, $f2, $f4 +/* 9AB92C 8024353C 8E06000C */ lw $a2, 0xc($s0) +/* 9AB930 80243540 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9AB934 80243544 46800020 */ cvt.s.w $f0, $f0 +/* 9AB938 80243548 E602003C */ swc1 $f2, 0x3c($s0) +/* 9AB93C 8024354C 3C014059 */ lui $at, 0x4059 +/* 9AB940 80243550 44811800 */ mtc1 $at, $f3 +/* 9AB944 80243554 44801000 */ mtc1 $zero, $f2 +/* 9AB948 80243558 46000021 */ cvt.d.s $f0, $f0 +/* 9AB94C 8024355C E604001C */ swc1 $f4, 0x1c($s0) +/* 9AB950 80243560 46220003 */ div.d $f0, $f0, $f2 +/* 9AB954 80243564 0C00EA95 */ jal npc_move_heading +/* 9AB958 80243568 46200520 */ cvt.s.d $f20, $f0 +/* 9AB95C 8024356C 27A50018 */ addiu $a1, $sp, 0x18 +/* 9AB960 80243570 27A6001C */ addiu $a2, $sp, 0x1c +/* 9AB964 80243574 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9AB968 80243578 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9AB96C 8024357C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9AB970 80243580 3C01447A */ lui $at, 0x447a +/* 9AB974 80243584 44813000 */ mtc1 $at, $f6 +/* 9AB978 80243588 27A20024 */ addiu $v0, $sp, 0x24 +/* 9AB97C 8024358C E7A00018 */ swc1 $f0, 0x18($sp) +/* 9AB980 80243590 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9AB984 80243594 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9AB988 80243598 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9AB98C 8024359C AFA20010 */ sw $v0, 0x10($sp) +/* 9AB990 802435A0 8E040080 */ lw $a0, 0x80($s0) +/* 9AB994 802435A4 0C0372DF */ jal func_800DCB7C +/* 9AB998 802435A8 27A70020 */ addiu $a3, $sp, 0x20 +/* 9AB99C 802435AC 10400003 */ beqz $v0, .L802435BC +/* 9AB9A0 802435B0 4600A086 */ mov.s $f2, $f20 +/* 9AB9A4 802435B4 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9AB9A8 802435B8 46140080 */ add.s $f2, $f0, $f20 +.L802435BC: +/* 9AB9AC 802435BC C600003C */ lwc1 $f0, 0x3c($s0) +/* 9AB9B0 802435C0 4602003C */ c.lt.s $f0, $f2 +/* 9AB9B4 802435C4 00000000 */ nop +/* 9AB9B8 802435C8 45010009 */ bc1t .L802435F0 +/* 9AB9BC 802435CC 2402000A */ addiu $v0, $zero, 0xa +/* 9AB9C0 802435D0 A602008E */ sh $v0, 0x8e($s0) +/* 9AB9C4 802435D4 8E2200CC */ lw $v0, 0xcc($s1) +/* 9AB9C8 802435D8 8C42002C */ lw $v0, 0x2c($v0) +/* 9AB9CC 802435DC AE020028 */ sw $v0, 0x28($s0) +/* 9AB9D0 802435E0 9622008E */ lhu $v0, 0x8e($s1) +/* 9AB9D4 802435E4 A60200A8 */ sh $v0, 0xa8($s0) +/* 9AB9D8 802435E8 2402000F */ addiu $v0, $zero, 0xf +/* 9AB9DC 802435EC AE420070 */ sw $v0, 0x70($s2) +.L802435F0: +/* 9AB9E0 802435F0 8FBF0034 */ lw $ra, 0x34($sp) +/* 9AB9E4 802435F4 8FB20030 */ lw $s2, 0x30($sp) +/* 9AB9E8 802435F8 8FB1002C */ lw $s1, 0x2c($sp) +/* 9AB9EC 802435FC 8FB00028 */ lw $s0, 0x28($sp) +/* 9AB9F0 80243600 D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9AB9F4 80243604 03E00008 */ jr $ra +/* 9AB9F8 80243608 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_8024360C.s b/asm/nonmatchings/world/area_trd/trd_04/func_8024360C.s new file mode 100644 index 0000000000..8d71d2eab3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_8024360C.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024360C +/* 9AB9FC 8024360C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9ABA00 80243610 AFB00010 */ sw $s0, 0x10($sp) +/* 9ABA04 80243614 0080802D */ daddu $s0, $a0, $zero +/* 9ABA08 80243618 AFBF0014 */ sw $ra, 0x14($sp) +/* 9ABA0C 8024361C 8E020148 */ lw $v0, 0x148($s0) +/* 9ABA10 80243620 0C00EABB */ jal get_npc_unsafe +/* 9ABA14 80243624 84440008 */ lh $a0, 8($v0) +/* 9ABA18 80243628 9443008E */ lhu $v1, 0x8e($v0) +/* 9ABA1C 8024362C 2463FFFF */ addiu $v1, $v1, -1 +/* 9ABA20 80243630 A443008E */ sh $v1, 0x8e($v0) +/* 9ABA24 80243634 00031C00 */ sll $v1, $v1, 0x10 +/* 9ABA28 80243638 58600001 */ blezl $v1, .L80243640 +/* 9ABA2C 8024363C AE000070 */ sw $zero, 0x70($s0) +.L80243640: +/* 9ABA30 80243640 8FBF0014 */ lw $ra, 0x14($sp) +/* 9ABA34 80243644 8FB00010 */ lw $s0, 0x10($sp) +/* 9ABA38 80243648 03E00008 */ jr $ra +/* 9ABA3C 8024364C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_04/func_80243650.s b/asm/nonmatchings/world/area_trd/trd_04/func_80243650.s new file mode 100644 index 0000000000..931a4187f9 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_04/func_80243650.s @@ -0,0 +1,156 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80243650 +/* 9ABA40 80243650 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9ABA44 80243654 AFB3003C */ sw $s3, 0x3c($sp) +/* 9ABA48 80243658 0080982D */ daddu $s3, $a0, $zero +/* 9ABA4C 8024365C AFBF0048 */ sw $ra, 0x48($sp) +/* 9ABA50 80243660 AFB50044 */ sw $s5, 0x44($sp) +/* 9ABA54 80243664 AFB40040 */ sw $s4, 0x40($sp) +/* 9ABA58 80243668 AFB20038 */ sw $s2, 0x38($sp) +/* 9ABA5C 8024366C AFB10034 */ sw $s1, 0x34($sp) +/* 9ABA60 80243670 AFB00030 */ sw $s0, 0x30($sp) +/* 9ABA64 80243674 8E720148 */ lw $s2, 0x148($s3) +/* 9ABA68 80243678 86440008 */ lh $a0, 8($s2) +/* 9ABA6C 8024367C 8E70000C */ lw $s0, 0xc($s3) +/* 9ABA70 80243680 0C00EABB */ jal get_npc_unsafe +/* 9ABA74 80243684 00A0882D */ daddu $s1, $a1, $zero +/* 9ABA78 80243688 0260202D */ daddu $a0, $s3, $zero +/* 9ABA7C 8024368C 8E050000 */ lw $a1, ($s0) +/* 9ABA80 80243690 0C0B1EAF */ jal get_variable +/* 9ABA84 80243694 0040A82D */ daddu $s5, $v0, $zero +/* 9ABA88 80243698 AFA00010 */ sw $zero, 0x10($sp) +/* 9ABA8C 8024369C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9ABA90 802436A0 8C630030 */ lw $v1, 0x30($v1) +/* 9ABA94 802436A4 AFA30014 */ sw $v1, 0x14($sp) +/* 9ABA98 802436A8 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9ABA9C 802436AC 8C63001C */ lw $v1, 0x1c($v1) +/* 9ABAA0 802436B0 AFA30018 */ sw $v1, 0x18($sp) +/* 9ABAA4 802436B4 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9ABAA8 802436B8 8C630024 */ lw $v1, 0x24($v1) +/* 9ABAAC 802436BC AFA3001C */ sw $v1, 0x1c($sp) +/* 9ABAB0 802436C0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9ABAB4 802436C4 8C630028 */ lw $v1, 0x28($v1) +/* 9ABAB8 802436C8 27B40010 */ addiu $s4, $sp, 0x10 +/* 9ABABC 802436CC AFA30020 */ sw $v1, 0x20($sp) +/* 9ABAC0 802436D0 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9ABAC4 802436D4 3C0142F0 */ lui $at, 0x42f0 +/* 9ABAC8 802436D8 44810000 */ mtc1 $at, $f0 +/* 9ABACC 802436DC 8C63002C */ lw $v1, 0x2c($v1) +/* 9ABAD0 802436E0 0040802D */ daddu $s0, $v0, $zero +/* 9ABAD4 802436E4 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9ABAD8 802436E8 A7A0002C */ sh $zero, 0x2c($sp) +/* 9ABADC 802436EC 12200009 */ beqz $s1, .L80243714 +/* 9ABAE0 802436F0 AFA30024 */ sw $v1, 0x24($sp) +/* 9ABAE4 802436F4 02A0202D */ daddu $a0, $s5, $zero +/* 9ABAE8 802436F8 0240282D */ daddu $a1, $s2, $zero +/* 9ABAEC 802436FC 0260302D */ daddu $a2, $s3, $zero +/* 9ABAF0 80243700 0C090C00 */ jal func_80243000 +/* 9ABAF4 80243704 0200382D */ daddu $a3, $s0, $zero +/* 9ABAF8 80243708 86A200A8 */ lh $v0, 0xa8($s5) +/* 9ABAFC 8024370C AE42008C */ sw $v0, 0x8c($s2) +/* 9ABB00 80243710 AE600070 */ sw $zero, 0x70($s3) +.L80243714: +/* 9ABB04 80243714 2402FFFD */ addiu $v0, $zero, -3 +/* 9ABB08 80243718 A2A200AB */ sb $v0, 0xab($s5) +/* 9ABB0C 8024371C 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9ABB10 80243720 30620004 */ andi $v0, $v1, 4 +/* 9ABB14 80243724 10400007 */ beqz $v0, .L80243744 +/* 9ABB18 80243728 00000000 */ nop +/* 9ABB1C 8024372C 824200B4 */ lb $v0, 0xb4($s2) +/* 9ABB20 80243730 14400052 */ bnez $v0, .L8024387C +/* 9ABB24 80243734 0000102D */ daddu $v0, $zero, $zero +/* 9ABB28 80243738 2402FFFB */ addiu $v0, $zero, -5 +/* 9ABB2C 8024373C 00621024 */ and $v0, $v1, $v0 +/* 9ABB30 80243740 AE4200B0 */ sw $v0, 0xb0($s2) +.L80243744: +/* 9ABB34 80243744 8E630070 */ lw $v1, 0x70($s3) +/* 9ABB38 80243748 2C620010 */ sltiu $v0, $v1, 0x10 +/* 9ABB3C 8024374C 1040004A */ beqz $v0, .L80243878 +/* 9ABB40 80243750 00031080 */ sll $v0, $v1, 2 +/* 9ABB44 80243754 3C018024 */ lui $at, 0x8024 +/* 9ABB48 80243758 00220821 */ addu $at, $at, $v0 +/* 9ABB4C 8024375C 8C2262C8 */ lw $v0, 0x62c8($at) +/* 9ABB50 80243760 00400008 */ jr $v0 +/* 9ABB54 80243764 00000000 */ nop +/* 9ABB58 80243768 0260202D */ daddu $a0, $s3, $zero +/* 9ABB5C 8024376C 0200282D */ daddu $a1, $s0, $zero +/* 9ABB60 80243770 0C090786 */ jal func_80241E18 +/* 9ABB64 80243774 0280302D */ daddu $a2, $s4, $zero +/* 9ABB68 80243778 0260202D */ daddu $a0, $s3, $zero +/* 9ABB6C 8024377C 0200282D */ daddu $a1, $s0, $zero +/* 9ABB70 80243780 0C0907F2 */ jal func_80241FC8 +/* 9ABB74 80243784 0280302D */ daddu $a2, $s4, $zero +/* 9ABB78 80243788 8E630070 */ lw $v1, 0x70($s3) +/* 9ABB7C 8024378C 24020002 */ addiu $v0, $zero, 2 +/* 9ABB80 80243790 1462003A */ bne $v1, $v0, .L8024387C +/* 9ABB84 80243794 0000102D */ daddu $v0, $zero, $zero +/* 9ABB88 80243798 0260202D */ daddu $a0, $s3, $zero +/* 9ABB8C 8024379C 0200282D */ daddu $a1, $s0, $zero +/* 9ABB90 802437A0 0C09097C */ jal func_802425F0 +/* 9ABB94 802437A4 0280302D */ daddu $a2, $s4, $zero +/* 9ABB98 802437A8 0260202D */ daddu $a0, $s3, $zero +/* 9ABB9C 802437AC 0200282D */ daddu $a1, $s0, $zero +/* 9ABBA0 802437B0 0C0909AC */ jal func_802426B0 +/* 9ABBA4 802437B4 0280302D */ daddu $a2, $s4, $zero +/* 9ABBA8 802437B8 8E630070 */ lw $v1, 0x70($s3) +/* 9ABBAC 802437BC 2402000A */ addiu $v0, $zero, 0xa +/* 9ABBB0 802437C0 1462002E */ bne $v1, $v0, .L8024387C +/* 9ABBB4 802437C4 0000102D */ daddu $v0, $zero, $zero +/* 9ABBB8 802437C8 0260202D */ daddu $a0, $s3, $zero +/* 9ABBBC 802437CC 0200282D */ daddu $a1, $s0, $zero +/* 9ABBC0 802437D0 0C090A7D */ jal func_802429F4 +/* 9ABBC4 802437D4 0280302D */ daddu $a2, $s4, $zero +/* 9ABBC8 802437D8 8E630070 */ lw $v1, 0x70($s3) +/* 9ABBCC 802437DC 2402000B */ addiu $v0, $zero, 0xb +/* 9ABBD0 802437E0 14620026 */ bne $v1, $v0, .L8024387C +/* 9ABBD4 802437E4 0000102D */ daddu $v0, $zero, $zero +/* 9ABBD8 802437E8 0260202D */ daddu $a0, $s3, $zero +/* 9ABBDC 802437EC 0200282D */ daddu $a1, $s0, $zero +/* 9ABBE0 802437F0 0C090A9B */ jal func_80242A6C +/* 9ABBE4 802437F4 0280302D */ daddu $a2, $s4, $zero +/* 9ABBE8 802437F8 8E630070 */ lw $v1, 0x70($s3) +/* 9ABBEC 802437FC 2402000C */ addiu $v0, $zero, 0xc +/* 9ABBF0 80243800 1462001E */ bne $v1, $v0, .L8024387C +/* 9ABBF4 80243804 0000102D */ daddu $v0, $zero, $zero +/* 9ABBF8 80243808 0260202D */ daddu $a0, $s3, $zero +/* 9ABBFC 8024380C 0200282D */ daddu $a1, $s0, $zero +/* 9ABC00 80243810 0C090CC4 */ jal func_80243310 +/* 9ABC04 80243814 0280302D */ daddu $a2, $s4, $zero +/* 9ABC08 80243818 8E630070 */ lw $v1, 0x70($s3) +/* 9ABC0C 8024381C 2402000D */ addiu $v0, $zero, 0xd +/* 9ABC10 80243820 14620016 */ bne $v1, $v0, .L8024387C +/* 9ABC14 80243824 0000102D */ daddu $v0, $zero, $zero +/* 9ABC18 80243828 0260202D */ daddu $a0, $s3, $zero +/* 9ABC1C 8024382C 0200282D */ daddu $a1, $s0, $zero +/* 9ABC20 80243830 0C090D0E */ jal func_80243438 +/* 9ABC24 80243834 0280302D */ daddu $a2, $s4, $zero +/* 9ABC28 80243838 8E630070 */ lw $v1, 0x70($s3) +/* 9ABC2C 8024383C 2402000E */ addiu $v0, $zero, 0xe +/* 9ABC30 80243840 1462000E */ bne $v1, $v0, .L8024387C +/* 9ABC34 80243844 0000102D */ daddu $v0, $zero, $zero +/* 9ABC38 80243848 0260202D */ daddu $a0, $s3, $zero +/* 9ABC3C 8024384C 0200282D */ daddu $a1, $s0, $zero +/* 9ABC40 80243850 0C090D3D */ jal func_802434F4 +/* 9ABC44 80243854 0280302D */ daddu $a2, $s4, $zero +/* 9ABC48 80243858 8E630070 */ lw $v1, 0x70($s3) +/* 9ABC4C 8024385C 2402000F */ addiu $v0, $zero, 0xf +/* 9ABC50 80243860 14620006 */ bne $v1, $v0, .L8024387C +/* 9ABC54 80243864 0000102D */ daddu $v0, $zero, $zero +/* 9ABC58 80243868 0260202D */ daddu $a0, $s3, $zero +/* 9ABC5C 8024386C 0200282D */ daddu $a1, $s0, $zero +/* 9ABC60 80243870 0C090D83 */ jal func_8024360C +/* 9ABC64 80243874 0280302D */ daddu $a2, $s4, $zero +.L80243878: +/* 9ABC68 80243878 0000102D */ daddu $v0, $zero, $zero +.L8024387C: +/* 9ABC6C 8024387C 8FBF0048 */ lw $ra, 0x48($sp) +/* 9ABC70 80243880 8FB50044 */ lw $s5, 0x44($sp) +/* 9ABC74 80243884 8FB40040 */ lw $s4, 0x40($sp) +/* 9ABC78 80243888 8FB3003C */ lw $s3, 0x3c($sp) +/* 9ABC7C 8024388C 8FB20038 */ lw $s2, 0x38($sp) +/* 9ABC80 80243890 8FB10034 */ lw $s1, 0x34($sp) +/* 9ABC84 80243894 8FB00030 */ lw $s0, 0x30($sp) +/* 9ABC88 80243898 03E00008 */ jr $ra +/* 9ABC8C 8024389C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_80240000_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_80240000_9AE700.s new file mode 100644 index 0000000000..6aa4697a78 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_80240000_9AE700.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9AE700 +/* 9AE700 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9AE704 80240004 AFBF0010 */ sw $ra, 0x10($sp) +/* 9AE708 80240008 0C00D77C */ jal func_80035DF0 +/* 9AE70C 8024000C 24040005 */ addiu $a0, $zero, 5 +/* 9AE710 80240010 8FBF0010 */ lw $ra, 0x10($sp) +/* 9AE714 80240014 24020002 */ addiu $v0, $zero, 2 +/* 9AE718 80240018 03E00008 */ jr $ra +/* 9AE71C 8024001C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_80240020_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_80240020_9AE700.s new file mode 100644 index 0000000000..bfd5bc4745 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_80240020_9AE700.s @@ -0,0 +1,255 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240020_9AE720 +/* 9AE720 80240020 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 9AE724 80240024 3C06E300 */ lui $a2, 0xe300 +/* 9AE728 80240028 34C60A01 */ ori $a2, $a2, 0xa01 +/* 9AE72C 8024002C 3C07D9C0 */ lui $a3, 0xd9c0 +/* 9AE730 80240030 34E7F9FB */ ori $a3, $a3, 0xf9fb +/* 9AE734 80240034 3C09D9FF */ lui $t1, 0xd9ff +/* 9AE738 80240038 3529FFFF */ ori $t1, $t1, 0xffff +/* 9AE73C 8024003C 3C080020 */ lui $t0, 0x20 +/* 9AE740 80240040 35080005 */ ori $t0, $t0, 5 +/* 9AE744 80240044 3C0AD700 */ lui $t2, 0xd700 +/* 9AE748 80240048 354A0002 */ ori $t2, $t2, 2 +/* 9AE74C 8024004C 3C0BE300 */ lui $t3, 0xe300 +/* 9AE750 80240050 356B0F00 */ ori $t3, $t3, 0xf00 +/* 9AE754 80240054 3C0CE300 */ lui $t4, 0xe300 +/* 9AE758 80240058 358C0C00 */ ori $t4, $t4, 0xc00 +/* 9AE75C 8024005C 3C0DE300 */ lui $t5, 0xe300 +/* 9AE760 80240060 35AD1201 */ ori $t5, $t5, 0x1201 +/* 9AE764 80240064 3C0EE300 */ lui $t6, 0xe300 +/* 9AE768 80240068 35CE1801 */ ori $t6, $t6, 0x1801 +/* 9AE76C 8024006C 3C0FE300 */ lui $t7, 0xe300 +/* 9AE770 80240070 35EF0D01 */ ori $t7, $t7, 0xd01 +/* 9AE774 80240074 AFB000C0 */ sw $s0, 0xc0($sp) +/* 9AE778 80240078 3C10E300 */ lui $s0, 0xe300 +/* 9AE77C 8024007C 36101402 */ ori $s0, $s0, 0x1402 +/* 9AE780 80240080 AFB300CC */ sw $s3, 0xcc($sp) +/* 9AE784 80240084 3C13E300 */ lui $s3, 0xe300 +/* 9AE788 80240088 36731700 */ ori $s3, $s3, 0x1700 +/* 9AE78C 8024008C AFB400D0 */ sw $s4, 0xd0($sp) +/* 9AE790 80240090 3C14E200 */ lui $s4, 0xe200 +/* 9AE794 80240094 36941E01 */ ori $s4, $s4, 0x1e01 +/* 9AE798 80240098 AFB200C8 */ sw $s2, 0xc8($sp) +/* 9AE79C 8024009C 27B20040 */ addiu $s2, $sp, 0x40 +/* 9AE7A0 802400A0 0240202D */ daddu $a0, $s2, $zero +/* 9AE7A4 802400A4 AFB500D4 */ sw $s5, 0xd4($sp) +/* 9AE7A8 802400A8 3C150001 */ lui $s5, 1 +/* 9AE7AC 802400AC AFB100C4 */ sw $s1, 0xc4($sp) +/* 9AE7B0 802400B0 3C11800A */ lui $s1, 0x800a +/* 9AE7B4 802400B4 2631A66C */ addiu $s1, $s1, -0x5994 +/* 9AE7B8 802400B8 36B51630 */ ori $s5, $s5, 0x1630 +/* 9AE7BC 802400BC AFBF00D8 */ sw $ra, 0xd8($sp) +/* 9AE7C0 802400C0 F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* 9AE7C4 802400C4 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* 9AE7C8 802400C8 8E220000 */ lw $v0, ($s1) +/* 9AE7CC 802400CC 3C03E700 */ lui $v1, 0xe700 +/* 9AE7D0 802400D0 0040282D */ daddu $a1, $v0, $zero +/* 9AE7D4 802400D4 24420008 */ addiu $v0, $v0, 8 +/* 9AE7D8 802400D8 AE220000 */ sw $v0, ($s1) +/* 9AE7DC 802400DC ACA30000 */ sw $v1, ($a1) +/* 9AE7E0 802400E0 24430008 */ addiu $v1, $v0, 8 +/* 9AE7E4 802400E4 ACA00004 */ sw $zero, 4($a1) +/* 9AE7E8 802400E8 AE230000 */ sw $v1, ($s1) +/* 9AE7EC 802400EC 24430010 */ addiu $v1, $v0, 0x10 +/* 9AE7F0 802400F0 AC460000 */ sw $a2, ($v0) +/* 9AE7F4 802400F4 AC400004 */ sw $zero, 4($v0) +/* 9AE7F8 802400F8 AE230000 */ sw $v1, ($s1) +/* 9AE7FC 802400FC 24430018 */ addiu $v1, $v0, 0x18 +/* 9AE800 80240100 AC470008 */ sw $a3, 8($v0) +/* 9AE804 80240104 AC40000C */ sw $zero, 0xc($v0) +/* 9AE808 80240108 AE230000 */ sw $v1, ($s1) +/* 9AE80C 8024010C 24430020 */ addiu $v1, $v0, 0x20 +/* 9AE810 80240110 AC490010 */ sw $t1, 0x10($v0) +/* 9AE814 80240114 AC480014 */ sw $t0, 0x14($v0) +/* 9AE818 80240118 AE230000 */ sw $v1, ($s1) +/* 9AE81C 8024011C 2403FFFF */ addiu $v1, $zero, -1 +/* 9AE820 80240120 AC43001C */ sw $v1, 0x1c($v0) +/* 9AE824 80240124 24430028 */ addiu $v1, $v0, 0x28 +/* 9AE828 80240128 AC4A0018 */ sw $t2, 0x18($v0) +/* 9AE82C 8024012C AE230000 */ sw $v1, ($s1) +/* 9AE830 80240130 24430030 */ addiu $v1, $v0, 0x30 +/* 9AE834 80240134 AC4B0020 */ sw $t3, 0x20($v0) +/* 9AE838 80240138 AC400024 */ sw $zero, 0x24($v0) +/* 9AE83C 8024013C AE230000 */ sw $v1, ($s1) +/* 9AE840 80240140 3C030008 */ lui $v1, 8 +/* 9AE844 80240144 AC43002C */ sw $v1, 0x2c($v0) +/* 9AE848 80240148 24430038 */ addiu $v1, $v0, 0x38 +/* 9AE84C 8024014C AC4C0028 */ sw $t4, 0x28($v0) +/* 9AE850 80240150 AE230000 */ sw $v1, ($s1) +/* 9AE854 80240154 24032000 */ addiu $v1, $zero, 0x2000 +/* 9AE858 80240158 AC4D0030 */ sw $t5, 0x30($v0) +/* 9AE85C 8024015C AC430034 */ sw $v1, 0x34($v0) +/* 9AE860 80240160 24430040 */ addiu $v1, $v0, 0x40 +/* 9AE864 80240164 AE230000 */ sw $v1, ($s1) +/* 9AE868 80240168 240300C0 */ addiu $v1, $zero, 0xc0 +/* 9AE86C 8024016C AC43003C */ sw $v1, 0x3c($v0) +/* 9AE870 80240170 24430048 */ addiu $v1, $v0, 0x48 +/* 9AE874 80240174 AC4E0038 */ sw $t6, 0x38($v0) +/* 9AE878 80240178 AE230000 */ sw $v1, ($s1) +/* 9AE87C 8024017C 24430050 */ addiu $v1, $v0, 0x50 +/* 9AE880 80240180 AC4F0040 */ sw $t7, 0x40($v0) +/* 9AE884 80240184 AC400044 */ sw $zero, 0x44($v0) +/* 9AE888 80240188 AE230000 */ sw $v1, ($s1) +/* 9AE88C 8024018C 24030C00 */ addiu $v1, $zero, 0xc00 +/* 9AE890 80240190 AC500048 */ sw $s0, 0x48($v0) +/* 9AE894 80240194 AC43004C */ sw $v1, 0x4c($v0) +/* 9AE898 80240198 AC530050 */ sw $s3, 0x50($v0) +/* 9AE89C 8024019C 3C138024 */ lui $s3, 0x8024 +/* 9AE8A0 802401A0 26733090 */ addiu $s3, $s3, 0x3090 +/* 9AE8A4 802401A4 24430058 */ addiu $v1, $v0, 0x58 +/* 9AE8A8 802401A8 AC400054 */ sw $zero, 0x54($v0) +/* 9AE8AC 802401AC AC540058 */ sw $s4, 0x58($v0) +/* 9AE8B0 802401B0 AC40005C */ sw $zero, 0x5c($v0) +/* 9AE8B4 802401B4 8E650010 */ lw $a1, 0x10($s3) +/* 9AE8B8 802401B8 8E660014 */ lw $a2, 0x14($s3) +/* 9AE8BC 802401BC 8E670018 */ lw $a3, 0x18($s3) +/* 9AE8C0 802401C0 24420060 */ addiu $v0, $v0, 0x60 +/* 9AE8C4 802401C4 AE230000 */ sw $v1, ($s1) +/* 9AE8C8 802401C8 0C019E40 */ jal guTranslateF +/* 9AE8CC 802401CC AE220000 */ sw $v0, ($s1) +/* 9AE8D0 802401D0 27B00080 */ addiu $s0, $sp, 0x80 +/* 9AE8D4 802401D4 8E65001C */ lw $a1, 0x1c($s3) +/* 9AE8D8 802401D8 3C013F80 */ lui $at, 0x3f80 +/* 9AE8DC 802401DC 4481B000 */ mtc1 $at, $f22 +/* 9AE8E0 802401E0 4480A000 */ mtc1 $zero, $f20 +/* 9AE8E4 802401E4 4406B000 */ mfc1 $a2, $f22 +/* 9AE8E8 802401E8 4407A000 */ mfc1 $a3, $f20 +/* 9AE8EC 802401EC 0200202D */ daddu $a0, $s0, $zero +/* 9AE8F0 802401F0 0C019EC8 */ jal guRotateF +/* 9AE8F4 802401F4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 9AE8F8 802401F8 0200202D */ daddu $a0, $s0, $zero +/* 9AE8FC 802401FC 0240282D */ daddu $a1, $s2, $zero +/* 9AE900 80240200 0C019D80 */ jal guMtxCatF +/* 9AE904 80240204 0240302D */ daddu $a2, $s2, $zero +/* 9AE908 80240208 8E650020 */ lw $a1, 0x20($s3) +/* 9AE90C 8024020C 4406A000 */ mfc1 $a2, $f20 +/* 9AE910 80240210 4407B000 */ mfc1 $a3, $f22 +/* 9AE914 80240214 0200202D */ daddu $a0, $s0, $zero +/* 9AE918 80240218 0C019EC8 */ jal guRotateF +/* 9AE91C 8024021C E7B40010 */ swc1 $f20, 0x10($sp) +/* 9AE920 80240220 0200202D */ daddu $a0, $s0, $zero +/* 9AE924 80240224 0240282D */ daddu $a1, $s2, $zero +/* 9AE928 80240228 0C019D80 */ jal guMtxCatF +/* 9AE92C 8024022C 0240302D */ daddu $a2, $s2, $zero +/* 9AE930 80240230 8E650024 */ lw $a1, 0x24($s3) +/* 9AE934 80240234 4406A000 */ mfc1 $a2, $f20 +/* 9AE938 80240238 0200202D */ daddu $a0, $s0, $zero +/* 9AE93C 8024023C E7B60010 */ swc1 $f22, 0x10($sp) +/* 9AE940 80240240 0C019EC8 */ jal guRotateF +/* 9AE944 80240244 00C0382D */ daddu $a3, $a2, $zero +/* 9AE948 80240248 0200202D */ daddu $a0, $s0, $zero +/* 9AE94C 8024024C 0240282D */ daddu $a1, $s2, $zero +/* 9AE950 80240250 0C019D80 */ jal guMtxCatF +/* 9AE954 80240254 0240302D */ daddu $a2, $s2, $zero +/* 9AE958 80240258 8E650028 */ lw $a1, 0x28($s3) +/* 9AE95C 8024025C 8E66002C */ lw $a2, 0x2c($s3) +/* 9AE960 80240260 8E670030 */ lw $a3, 0x30($s3) +/* 9AE964 80240264 0C019DF0 */ jal guScaleF +/* 9AE968 80240268 0200202D */ daddu $a0, $s0, $zero +/* 9AE96C 8024026C 0200202D */ daddu $a0, $s0, $zero +/* 9AE970 80240270 0240282D */ daddu $a1, $s2, $zero +/* 9AE974 80240274 0C019D80 */ jal guMtxCatF +/* 9AE978 80240278 0240302D */ daddu $a2, $s2, $zero +/* 9AE97C 8024027C 0240202D */ daddu $a0, $s2, $zero +/* 9AE980 80240280 3C108007 */ lui $s0, 0x8007 +/* 9AE984 80240284 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 9AE988 80240288 3C12800A */ lui $s2, 0x800a +/* 9AE98C 8024028C 2652A674 */ addiu $s2, $s2, -0x598c +/* 9AE990 80240290 96050000 */ lhu $a1, ($s0) +/* 9AE994 80240294 8E420000 */ lw $v0, ($s2) +/* 9AE998 80240298 00052980 */ sll $a1, $a1, 6 +/* 9AE99C 8024029C 00B52821 */ addu $a1, $a1, $s5 +/* 9AE9A0 802402A0 0C019D40 */ jal guMtxF2L +/* 9AE9A4 802402A4 00452821 */ addu $a1, $v0, $a1 +/* 9AE9A8 802402A8 3C03DA38 */ lui $v1, 0xda38 +/* 9AE9AC 802402AC 34630002 */ ori $v1, $v1, 2 +/* 9AE9B0 802402B0 8E220000 */ lw $v0, ($s1) +/* 9AE9B4 802402B4 96040000 */ lhu $a0, ($s0) +/* 9AE9B8 802402B8 0040282D */ daddu $a1, $v0, $zero +/* 9AE9BC 802402BC 24420008 */ addiu $v0, $v0, 8 +/* 9AE9C0 802402C0 AE220000 */ sw $v0, ($s1) +/* 9AE9C4 802402C4 3082FFFF */ andi $v0, $a0, 0xffff +/* 9AE9C8 802402C8 00021180 */ sll $v0, $v0, 6 +/* 9AE9CC 802402CC ACA30000 */ sw $v1, ($a1) +/* 9AE9D0 802402D0 8E430000 */ lw $v1, ($s2) +/* 9AE9D4 802402D4 00551021 */ addu $v0, $v0, $s5 +/* 9AE9D8 802402D8 00621821 */ addu $v1, $v1, $v0 +/* 9AE9DC 802402DC 3C028000 */ lui $v0, 0x8000 +/* 9AE9E0 802402E0 00621821 */ addu $v1, $v1, $v0 +/* 9AE9E4 802402E4 ACA30004 */ sw $v1, 4($a1) +/* 9AE9E8 802402E8 3C038007 */ lui $v1, %hi(gGameStatusPtr) +/* 9AE9EC 802402EC 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) +/* 9AE9F0 802402F0 24020008 */ addiu $v0, $zero, 8 +/* 9AE9F4 802402F4 AE620008 */ sw $v0, 8($s3) +/* 9AE9F8 802402F8 94620134 */ lhu $v0, 0x134($v1) +/* 9AE9FC 802402FC 24840001 */ addiu $a0, $a0, 1 +/* 9AEA00 80240300 30430003 */ andi $v1, $v0, 3 +/* 9AEA04 80240304 14600003 */ bnez $v1, .L80240314 +/* 9AEA08 80240308 A6040000 */ sh $a0, ($s0) +/* 9AEA0C 8024030C 080900CC */ j .L80240330 +/* 9AEA10 80240310 24020025 */ addiu $v0, $zero, 0x25 +.L80240314: +/* 9AEA14 80240314 2C620002 */ sltiu $v0, $v1, 2 +/* 9AEA18 80240318 14400005 */ bnez $v0, .L80240330 +/* 9AEA1C 8024031C 24020026 */ addiu $v0, $zero, 0x26 +/* 9AEA20 80240320 2C620003 */ sltiu $v0, $v1, 3 +/* 9AEA24 80240324 14400002 */ bnez $v0, .L80240330 +/* 9AEA28 80240328 24020027 */ addiu $v0, $zero, 0x27 +/* 9AEA2C 8024032C 24020024 */ addiu $v0, $zero, 0x24 +.L80240330: +/* 9AEA30 80240330 AE62000C */ sw $v0, 0xc($s3) +/* 9AEA34 80240334 8E650008 */ lw $a1, 8($s3) +/* 9AEA38 80240338 8E66000C */ lw $a2, 0xc($s3) +/* 9AEA3C 8024033C 0C0B7811 */ jal func_802DE044 +/* 9AEA40 80240340 27A40030 */ addiu $a0, $sp, 0x30 +/* 9AEA44 80240344 27A50018 */ addiu $a1, $sp, 0x18 +/* 9AEA48 80240348 0000302D */ daddu $a2, $zero, $zero +/* 9AEA4C 8024034C 27A70040 */ addiu $a3, $sp, 0x40 +/* 9AEA50 80240350 8E640000 */ lw $a0, ($s3) +/* 9AEA54 80240354 8FA80030 */ lw $t0, 0x30($sp) +/* 9AEA58 80240358 8FA90034 */ lw $t1, 0x34($sp) +/* 9AEA5C 8024035C 97AA003A */ lhu $t2, 0x3a($sp) +/* 9AEA60 80240360 97AB003E */ lhu $t3, 0x3e($sp) +/* 9AEA64 80240364 8FA30038 */ lw $v1, 0x38($sp) +/* 9AEA68 80240368 240200FF */ addiu $v0, $zero, 0xff +/* 9AEA6C 8024036C A3A20028 */ sb $v0, 0x28($sp) +/* 9AEA70 80240370 000317C2 */ srl $v0, $v1, 0x1f +/* 9AEA74 80240374 00621821 */ addu $v1, $v1, $v0 +/* 9AEA78 80240378 00031843 */ sra $v1, $v1, 1 +/* 9AEA7C 8024037C 8FA2003C */ lw $v0, 0x3c($sp) +/* 9AEA80 80240380 00031823 */ negu $v1, $v1 +/* 9AEA84 80240384 AFA80018 */ sw $t0, 0x18($sp) +/* 9AEA88 80240388 AFA9001C */ sw $t1, 0x1c($sp) +/* 9AEA8C 8024038C A7AA0020 */ sh $t2, 0x20($sp) +/* 9AEA90 80240390 A7AB0022 */ sh $t3, 0x22($sp) +/* 9AEA94 80240394 A7A30024 */ sh $v1, 0x24($sp) +/* 9AEA98 80240398 00021FC2 */ srl $v1, $v0, 0x1f +/* 9AEA9C 8024039C 00431021 */ addu $v0, $v0, $v1 +/* 9AEAA0 802403A0 00021043 */ sra $v0, $v0, 1 +/* 9AEAA4 802403A4 0C04EBDC */ jal func_8013AF70 +/* 9AEAA8 802403A8 A7A20026 */ sh $v0, 0x26($sp) +/* 9AEAAC 802403AC 3C05D838 */ lui $a1, 0xd838 +/* 9AEAB0 802403B0 3C03800A */ lui $v1, 0x800a +/* 9AEAB4 802403B4 2463A66C */ addiu $v1, $v1, -0x5994 +/* 9AEAB8 802403B8 8C620000 */ lw $v0, ($v1) +/* 9AEABC 802403BC 34A50002 */ ori $a1, $a1, 2 +/* 9AEAC0 802403C0 0040202D */ daddu $a0, $v0, $zero +/* 9AEAC4 802403C4 24420008 */ addiu $v0, $v0, 8 +/* 9AEAC8 802403C8 AC620000 */ sw $v0, ($v1) +/* 9AEACC 802403CC 24020040 */ addiu $v0, $zero, 0x40 +/* 9AEAD0 802403D0 AC850000 */ sw $a1, ($a0) +/* 9AEAD4 802403D4 AC820004 */ sw $v0, 4($a0) +/* 9AEAD8 802403D8 8FBF00D8 */ lw $ra, 0xd8($sp) +/* 9AEADC 802403DC 8FB500D4 */ lw $s5, 0xd4($sp) +/* 9AEAE0 802403E0 8FB400D0 */ lw $s4, 0xd0($sp) +/* 9AEAE4 802403E4 8FB300CC */ lw $s3, 0xcc($sp) +/* 9AEAE8 802403E8 8FB200C8 */ lw $s2, 0xc8($sp) +/* 9AEAEC 802403EC 8FB100C4 */ lw $s1, 0xc4($sp) +/* 9AEAF0 802403F0 8FB000C0 */ lw $s0, 0xc0($sp) +/* 9AEAF4 802403F4 D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* 9AEAF8 802403F8 D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* 9AEAFC 802403FC 03E00008 */ jr $ra +/* 9AEB00 80240400 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_80240404_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_80240404_9AE700.s new file mode 100644 index 0000000000..5ecb09137a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_80240404_9AE700.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240404_9AEB04 +/* 9AEB04 80240404 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9AEB08 80240408 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 9AEB0C 8024040C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 9AEB10 80240410 AFBF0014 */ sw $ra, 0x14($sp) +/* 9AEB14 80240414 AFB00010 */ sw $s0, 0x10($sp) +/* 9AEB18 80240418 844300B0 */ lh $v1, 0xb0($v0) +/* 9AEB1C 8024041C 3C018024 */ lui $at, 0x8024 +/* 9AEB20 80240420 D4203070 */ ldc1 $f0, 0x3070($at) +/* 9AEB24 80240424 44831000 */ mtc1 $v1, $f2 +/* 9AEB28 80240428 00000000 */ nop +/* 9AEB2C 8024042C 468010A1 */ cvt.d.w $f2, $f2 +/* 9AEB30 80240430 46201082 */ mul.d $f2, $f2, $f0 +/* 9AEB34 80240434 00000000 */ nop +/* 9AEB38 80240438 24040001 */ addiu $a0, $zero, 1 +/* 9AEB3C 8024043C 3C108024 */ lui $s0, 0x8024 +/* 9AEB40 80240440 26103090 */ addiu $s0, $s0, 0x3090 +/* 9AEB44 80240444 C44A0028 */ lwc1 $f10, 0x28($v0) +/* 9AEB48 80240448 3C013FE0 */ lui $at, 0x3fe0 +/* 9AEB4C 8024044C 44812800 */ mtc1 $at, $f5 +/* 9AEB50 80240450 44802000 */ mtc1 $zero, $f4 +/* 9AEB54 80240454 C4480030 */ lwc1 $f8, 0x30($v0) +/* 9AEB58 80240458 3C013F36 */ lui $at, 0x3f36 +/* 9AEB5C 8024045C 3421DB6E */ ori $at, $at, 0xdb6e +/* 9AEB60 80240460 44813000 */ mtc1 $at, $f6 +/* 9AEB64 80240464 C440002C */ lwc1 $f0, 0x2c($v0) +/* 9AEB68 80240468 46241082 */ mul.d $f2, $f2, $f4 +/* 9AEB6C 8024046C 00000000 */ nop +/* 9AEB70 80240470 AE00001C */ sw $zero, 0x1c($s0) +/* 9AEB74 80240474 AE000020 */ sw $zero, 0x20($s0) +/* 9AEB78 80240478 AE000024 */ sw $zero, 0x24($s0) +/* 9AEB7C 8024047C E60A0010 */ swc1 $f10, 0x10($s0) +/* 9AEB80 80240480 E6080018 */ swc1 $f8, 0x18($s0) +/* 9AEB84 80240484 E6060028 */ swc1 $f6, 0x28($s0) +/* 9AEB88 80240488 46000021 */ cvt.d.s $f0, $f0 +/* 9AEB8C 8024048C 46220000 */ add.d $f0, $f0, $f2 +/* 9AEB90 80240490 E606002C */ swc1 $f6, 0x2c($s0) +/* 9AEB94 80240494 E6060030 */ swc1 $f6, 0x30($s0) +/* 9AEB98 80240498 46200020 */ cvt.s.d $f0, $f0 +/* 9AEB9C 8024049C 0C04E9C1 */ jal func_8013A704 +/* 9AEBA0 802404A0 E6000014 */ swc1 $f0, 0x14($s0) +/* 9AEBA4 802404A4 0000202D */ daddu $a0, $zero, $zero +/* 9AEBA8 802404A8 3C058024 */ lui $a1, 0x8024 +/* 9AEBAC 802404AC 24A50020 */ addiu $a1, $a1, 0x20 +/* 9AEBB0 802404B0 0C048C56 */ jal bind_dynamic_entity_3 +/* 9AEBB4 802404B4 AE020000 */ sw $v0, ($s0) +/* 9AEBB8 802404B8 AE020004 */ sw $v0, 4($s0) +/* 9AEBBC 802404BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9AEBC0 802404C0 8FB00010 */ lw $s0, 0x10($sp) +/* 9AEBC4 802404C4 24020002 */ addiu $v0, $zero, 2 +/* 9AEBC8 802404C8 03E00008 */ jr $ra +/* 9AEBCC 802404CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_802404D0_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_802404D0_9AE700.s new file mode 100644 index 0000000000..03043d0e74 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_802404D0_9AE700.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404D0_9AEBD0 +/* 9AEBD0 802404D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9AEBD4 802404D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9AEBD8 802404D8 3C108024 */ lui $s0, 0x8024 +/* 9AEBDC 802404DC 26103090 */ addiu $s0, $s0, 0x3090 +/* 9AEBE0 802404E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 9AEBE4 802404E4 0C04EA15 */ jal func_8013A854 +/* 9AEBE8 802404E8 8E040000 */ lw $a0, ($s0) +/* 9AEBEC 802404EC 0C048D70 */ jal func_801235C0 +/* 9AEBF0 802404F0 8E040004 */ lw $a0, 4($s0) +/* 9AEBF4 802404F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 9AEBF8 802404F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9AEBFC 802404FC 24020002 */ addiu $v0, $zero, 2 +/* 9AEC00 80240500 03E00008 */ jr $ra +/* 9AEC04 80240504 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_80240508.s b/asm/nonmatchings/world/area_trd/trd_05/func_80240508.s new file mode 100644 index 0000000000..0806ddb9b3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_80240508.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240508 +/* 9AEC08 80240508 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9AEC0C 8024050C AFB10014 */ sw $s1, 0x14($sp) +/* 9AEC10 80240510 0080882D */ daddu $s1, $a0, $zero +/* 9AEC14 80240514 AFBF001C */ sw $ra, 0x1c($sp) +/* 9AEC18 80240518 AFB20018 */ sw $s2, 0x18($sp) +/* 9AEC1C 8024051C AFB00010 */ sw $s0, 0x10($sp) +/* 9AEC20 80240520 8E30000C */ lw $s0, 0xc($s1) +/* 9AEC24 80240524 8E050000 */ lw $a1, ($s0) +/* 9AEC28 80240528 0C0B210B */ jal get_float_variable +/* 9AEC2C 8024052C 26100004 */ addiu $s0, $s0, 4 +/* 9AEC30 80240530 8E050000 */ lw $a1, ($s0) +/* 9AEC34 80240534 26100004 */ addiu $s0, $s0, 4 +/* 9AEC38 80240538 4600018D */ trunc.w.s $f6, $f0 +/* 9AEC3C 8024053C 44123000 */ mfc1 $s2, $f6 +/* 9AEC40 80240540 0C0B210B */ jal get_float_variable +/* 9AEC44 80240544 0220202D */ daddu $a0, $s1, $zero +/* 9AEC48 80240548 8E050000 */ lw $a1, ($s0) +/* 9AEC4C 8024054C 4600018D */ trunc.w.s $f6, $f0 +/* 9AEC50 80240550 44103000 */ mfc1 $s0, $f6 +/* 9AEC54 80240554 0C0B210B */ jal get_float_variable +/* 9AEC58 80240558 0220202D */ daddu $a0, $s1, $zero +/* 9AEC5C 8024055C 3C028011 */ lui $v0, 0x8011 +/* 9AEC60 80240560 8442F078 */ lh $v0, -0xf88($v0) +/* 9AEC64 80240564 3C018024 */ lui $at, 0x8024 +/* 9AEC68 80240568 D4223078 */ ldc1 $f2, 0x3078($at) +/* 9AEC6C 8024056C 44822000 */ mtc1 $v0, $f4 +/* 9AEC70 80240570 00000000 */ nop +/* 9AEC74 80240574 46802121 */ cvt.d.w $f4, $f4 +/* 9AEC78 80240578 46222102 */ mul.d $f4, $f4, $f2 +/* 9AEC7C 8024057C 00000000 */ nop +/* 9AEC80 80240580 3C013FE0 */ lui $at, 0x3fe0 +/* 9AEC84 80240584 44811800 */ mtc1 $at, $f3 +/* 9AEC88 80240588 44801000 */ mtc1 $zero, $f2 +/* 9AEC8C 8024058C 00000000 */ nop +/* 9AEC90 80240590 46222102 */ mul.d $f4, $f4, $f2 +/* 9AEC94 80240594 00000000 */ nop +/* 9AEC98 80240598 4600018D */ trunc.w.s $f6, $f0 +/* 9AEC9C 8024059C 44033000 */ mfc1 $v1, $f6 +/* 9AECA0 802405A0 44900000 */ mtc1 $s0, $f0 +/* 9AECA4 802405A4 00000000 */ nop +/* 9AECA8 802405A8 46800021 */ cvt.d.w $f0, $f0 +/* 9AECAC 802405AC 3C028024 */ lui $v0, 0x8024 +/* 9AECB0 802405B0 24423090 */ addiu $v0, $v0, 0x3090 +/* 9AECB4 802405B4 44921000 */ mtc1 $s2, $f2 +/* 9AECB8 802405B8 00000000 */ nop +/* 9AECBC 802405BC 468010A0 */ cvt.s.w $f2, $f2 +/* 9AECC0 802405C0 E4420010 */ swc1 $f2, 0x10($v0) +/* 9AECC4 802405C4 46240000 */ add.d $f0, $f0, $f4 +/* 9AECC8 802405C8 44831000 */ mtc1 $v1, $f2 +/* 9AECCC 802405CC 00000000 */ nop +/* 9AECD0 802405D0 468010A0 */ cvt.s.w $f2, $f2 +/* 9AECD4 802405D4 E4420018 */ swc1 $f2, 0x18($v0) +/* 9AECD8 802405D8 46200020 */ cvt.s.d $f0, $f0 +/* 9AECDC 802405DC E4400014 */ swc1 $f0, 0x14($v0) +/* 9AECE0 802405E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 9AECE4 802405E4 8FB20018 */ lw $s2, 0x18($sp) +/* 9AECE8 802405E8 8FB10014 */ lw $s1, 0x14($sp) +/* 9AECEC 802405EC 8FB00010 */ lw $s0, 0x10($sp) +/* 9AECF0 802405F0 24020002 */ addiu $v0, $zero, 2 +/* 9AECF4 802405F4 03E00008 */ jr $ra +/* 9AECF8 802405F8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_802405FC_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_802405FC_9AE700.s new file mode 100644 index 0000000000..eabc309132 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_802405FC_9AE700.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_9AECFC +/* 9AECFC 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9AED00 80240600 AFB10014 */ sw $s1, 0x14($sp) +/* 9AED04 80240604 0080882D */ daddu $s1, $a0, $zero +/* 9AED08 80240608 AFBF0020 */ sw $ra, 0x20($sp) +/* 9AED0C 8024060C AFB3001C */ sw $s3, 0x1c($sp) +/* 9AED10 80240610 AFB20018 */ sw $s2, 0x18($sp) +/* 9AED14 80240614 AFB00010 */ sw $s0, 0x10($sp) +/* 9AED18 80240618 8E30000C */ lw $s0, 0xc($s1) +/* 9AED1C 8024061C 8E050000 */ lw $a1, ($s0) +/* 9AED20 80240620 0C0B1EAF */ jal get_variable +/* 9AED24 80240624 26100004 */ addiu $s0, $s0, 4 +/* 9AED28 80240628 8E050000 */ lw $a1, ($s0) +/* 9AED2C 8024062C 26100004 */ addiu $s0, $s0, 4 +/* 9AED30 80240630 0220202D */ daddu $a0, $s1, $zero +/* 9AED34 80240634 0C0B210B */ jal get_float_variable +/* 9AED38 80240638 0040902D */ daddu $s2, $v0, $zero +/* 9AED3C 8024063C 8E050000 */ lw $a1, ($s0) +/* 9AED40 80240640 26100004 */ addiu $s0, $s0, 4 +/* 9AED44 80240644 4600020D */ trunc.w.s $f8, $f0 +/* 9AED48 80240648 44134000 */ mfc1 $s3, $f8 +/* 9AED4C 8024064C 0C0B210B */ jal get_float_variable +/* 9AED50 80240650 0220202D */ daddu $a0, $s1, $zero +/* 9AED54 80240654 8E050000 */ lw $a1, ($s0) +/* 9AED58 80240658 4600020D */ trunc.w.s $f8, $f0 +/* 9AED5C 8024065C 44104000 */ mfc1 $s0, $f8 +/* 9AED60 80240660 0C0B210B */ jal get_float_variable +/* 9AED64 80240664 0220202D */ daddu $a0, $s1, $zero +/* 9AED68 80240668 4600020D */ trunc.w.s $f8, $f0 +/* 9AED6C 8024066C 44044000 */ mfc1 $a0, $f8 +/* 9AED70 80240670 3C028024 */ lui $v0, 0x8024 +/* 9AED74 80240674 24423090 */ addiu $v0, $v0, 0x3090 +/* 9AED78 80240678 1640000E */ bnez $s2, .L802406B4 +/* 9AED7C 8024067C 0040182D */ daddu $v1, $v0, $zero +/* 9AED80 80240680 44930000 */ mtc1 $s3, $f0 +/* 9AED84 80240684 00000000 */ nop +/* 9AED88 80240688 46800020 */ cvt.s.w $f0, $f0 +/* 9AED8C 8024068C E440001C */ swc1 $f0, 0x1c($v0) +/* 9AED90 80240690 44900000 */ mtc1 $s0, $f0 +/* 9AED94 80240694 00000000 */ nop +/* 9AED98 80240698 46800020 */ cvt.s.w $f0, $f0 +/* 9AED9C 8024069C E4400020 */ swc1 $f0, 0x20($v0) +/* 9AEDA0 802406A0 44840000 */ mtc1 $a0, $f0 +/* 9AEDA4 802406A4 00000000 */ nop +/* 9AEDA8 802406A8 46800020 */ cvt.s.w $f0, $f0 +/* 9AEDAC 802406AC 080901BF */ j .L802406FC +/* 9AEDB0 802406B0 E4400024 */ swc1 $f0, 0x24($v0) +.L802406B4: +/* 9AEDB4 802406B4 C466001C */ lwc1 $f6, 0x1c($v1) +/* 9AEDB8 802406B8 44930000 */ mtc1 $s3, $f0 +/* 9AEDBC 802406BC 00000000 */ nop +/* 9AEDC0 802406C0 46800020 */ cvt.s.w $f0, $f0 +/* 9AEDC4 802406C4 46003180 */ add.s $f6, $f6, $f0 +/* 9AEDC8 802406C8 C4640020 */ lwc1 $f4, 0x20($v1) +/* 9AEDCC 802406CC 44900000 */ mtc1 $s0, $f0 +/* 9AEDD0 802406D0 00000000 */ nop +/* 9AEDD4 802406D4 46800020 */ cvt.s.w $f0, $f0 +/* 9AEDD8 802406D8 46002100 */ add.s $f4, $f4, $f0 +/* 9AEDDC 802406DC C4620024 */ lwc1 $f2, 0x24($v1) +/* 9AEDE0 802406E0 44840000 */ mtc1 $a0, $f0 +/* 9AEDE4 802406E4 00000000 */ nop +/* 9AEDE8 802406E8 46800020 */ cvt.s.w $f0, $f0 +/* 9AEDEC 802406EC 46001080 */ add.s $f2, $f2, $f0 +/* 9AEDF0 802406F0 E466001C */ swc1 $f6, 0x1c($v1) +/* 9AEDF4 802406F4 E4640020 */ swc1 $f4, 0x20($v1) +/* 9AEDF8 802406F8 E4620024 */ swc1 $f2, 0x24($v1) +.L802406FC: +/* 9AEDFC 802406FC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9AEE00 80240700 8FB3001C */ lw $s3, 0x1c($sp) +/* 9AEE04 80240704 8FB20018 */ lw $s2, 0x18($sp) +/* 9AEE08 80240708 8FB10014 */ lw $s1, 0x14($sp) +/* 9AEE0C 8024070C 8FB00010 */ lw $s0, 0x10($sp) +/* 9AEE10 80240710 24020002 */ addiu $v0, $zero, 2 +/* 9AEE14 80240714 03E00008 */ jr $ra +/* 9AEE18 80240718 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9AEE1C 8024071C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_05/func_80240720_9AE700.s b/asm/nonmatchings/world/area_trd/trd_05/func_80240720_9AE700.s new file mode 100644 index 0000000000..af6b0dd6b0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_05/func_80240720_9AE700.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240720_9AEE20 +/* 9AEE20 80240720 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9AEE24 80240724 AFBF0018 */ sw $ra, 0x18($sp) +/* 9AEE28 80240728 C4800084 */ lwc1 $f0, 0x84($a0) +/* 9AEE2C 8024072C 46800020 */ cvt.s.w $f0, $f0 +/* 9AEE30 80240730 C4820088 */ lwc1 $f2, 0x88($a0) +/* 9AEE34 80240734 468010A0 */ cvt.s.w $f2, $f2 +/* 9AEE38 80240738 C484008C */ lwc1 $f4, 0x8c($a0) +/* 9AEE3C 8024073C 46802120 */ cvt.s.w $f4, $f4 +/* 9AEE40 80240740 44050000 */ mfc1 $a1, $f0 +/* 9AEE44 80240744 44061000 */ mfc1 $a2, $f2 +/* 9AEE48 80240748 44072000 */ mfc1 $a3, $f4 +/* 9AEE4C 8024074C 24040002 */ addiu $a0, $zero, 2 +/* 9AEE50 80240750 AFA00010 */ sw $zero, 0x10($sp) +/* 9AEE54 80240754 0C01BECC */ jal fx_walk_normal +/* 9AEE58 80240758 AFA00014 */ sw $zero, 0x14($sp) +/* 9AEE5C 8024075C 8FBF0018 */ lw $ra, 0x18($sp) +/* 9AEE60 80240760 24020002 */ addiu $v0, $zero, 2 +/* 9AEE64 80240764 03E00008 */ jr $ra +/* 9AEE68 80240768 27BD0020 */ addiu $sp, $sp, 0x20 +/* 9AEE6C 8024076C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240000_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240000_9B1790.s new file mode 100644 index 0000000000..e09ac05739 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240000_9B1790.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9B1790 +/* 9B1790 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B1794 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9B1798 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9B179C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 9B17A0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9B17A4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 9B17A8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 9B17AC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 9B17B0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9B17B4 80240024 3C020002 */ lui $v0, 2 +/* 9B17B8 80240028 08090010 */ j .L80240040 +/* 9B17BC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 9B17C0 80240030 3C040002 */ lui $a0, 2 +/* 9B17C4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 9B17C8 80240038 10400002 */ beqz $v0, .L80240044 +/* 9B17CC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 9B17D0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 9B17D4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 9B17D8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 9B17DC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 9B17E0 80240050 04610004 */ bgez $v1, .L80240064 +/* 9B17E4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 9B17E8 80240058 3C020002 */ lui $v0, 2 +/* 9B17EC 8024005C 0809001D */ j .L80240074 +/* 9B17F0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 9B17F4 80240064 3C040002 */ lui $a0, 2 +/* 9B17F8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 9B17FC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 9B1800 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 9B1804 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 9B1808 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9B180C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 9B1810 80240080 00621821 */ addu $v1, $v1, $v0 +/* 9B1814 80240084 04610004 */ bgez $v1, .L80240098 +/* 9B1818 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9B181C 8024008C 3C020002 */ lui $v0, 2 +/* 9B1820 80240090 0809002A */ j .L802400A8 +/* 9B1824 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 9B1828 80240098 3C040002 */ lui $a0, 2 +/* 9B182C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 9B1830 802400A0 10400002 */ beqz $v0, .L802400AC +/* 9B1834 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 9B1838 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 9B183C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9B1840 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 9B1844 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 9B1848 802400B8 04610004 */ bgez $v1, .L802400CC +/* 9B184C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 9B1850 802400C0 3C020002 */ lui $v0, 2 +/* 9B1854 802400C4 08090037 */ j .L802400DC +/* 9B1858 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 9B185C 802400CC 3C040002 */ lui $a0, 2 +/* 9B1860 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 9B1864 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 9B1868 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 9B186C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 9B1870 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 9B1874 802400E4 0C046F07 */ jal set_main_pan_u +/* 9B1878 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9B187C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 9B1880 802400F0 0C046F0D */ jal set_main_pan_v +/* 9B1884 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 9B1888 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 9B188C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 9B1890 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9B1894 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 9B1898 80240108 0C046F19 */ jal set_aux_pan_v +/* 9B189C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9B18A0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B18A4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 9B18A8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 9B18AC 8024011C 03E00008 */ jr $ra +/* 9B18B0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240124_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240124_9B1790.s new file mode 100644 index 0000000000..3b9dab6b53 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240124_9B1790.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_9B18B4 +/* 9B18B4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B18B8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 9B18BC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 9B18C0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 9B18C4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B18C8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 9B18CC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 9B18D0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 9B18D4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 9B18D8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 9B18DC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 9B18E0 80240150 00000000 */ nop +/* 9B18E4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9B18E8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 9B18EC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 9B18F0 80240160 04610004 */ bgez $v1, .L80240174 +/* 9B18F4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9B18F8 80240168 3C020002 */ lui $v0, 2 +/* 9B18FC 8024016C 08090061 */ j .L80240184 +/* 9B1900 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 9B1904 80240174 3C040002 */ lui $a0, 2 +/* 9B1908 80240178 0083102A */ slt $v0, $a0, $v1 +/* 9B190C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 9B1910 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 9B1914 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 9B1918 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 9B191C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 9B1920 80240190 00000000 */ nop +/* 9B1924 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 9B1928 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 9B192C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 9B1930 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 9B1934 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 9B1938 802401A8 3C020002 */ lui $v0, 2 +/* 9B193C 802401AC 08090071 */ j .L802401C4 +/* 9B1940 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 9B1944 802401B4 3C040002 */ lui $a0, 2 +/* 9B1948 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 9B194C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 9B1950 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 9B1954 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 9B1958 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 9B195C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 9B1960 802401D0 00000000 */ nop +/* 9B1964 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9B1968 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 9B196C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 9B1970 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 9B1974 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9B1978 802401E8 3C020002 */ lui $v0, 2 +/* 9B197C 802401EC 08090081 */ j .L80240204 +/* 9B1980 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 9B1984 802401F4 3C040002 */ lui $a0, 2 +/* 9B1988 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 9B198C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 9B1990 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 9B1994 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 9B1998 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 9B199C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 9B19A0 80240210 00000000 */ nop +/* 9B19A4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9B19A8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 9B19AC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 9B19B0 80240220 04610004 */ bgez $v1, .L80240234 +/* 9B19B4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 9B19B8 80240228 3C020002 */ lui $v0, 2 +/* 9B19BC 8024022C 08090091 */ j .L80240244 +/* 9B19C0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 9B19C4 80240234 3C040002 */ lui $a0, 2 +/* 9B19C8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 9B19CC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 9B19D0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 9B19D4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 9B19D8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 9B19DC 8024024C 0C046F07 */ jal set_main_pan_u +/* 9B19E0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9B19E4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 9B19E8 80240258 0C046F0D */ jal set_main_pan_v +/* 9B19EC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 9B19F0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 9B19F4 80240264 0C046F13 */ jal set_aux_pan_u +/* 9B19F8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9B19FC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 9B1A00 80240270 0C046F19 */ jal set_aux_pan_v +/* 9B1A04 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9B1A08 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 9B1A0C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 9B1A10 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 9B1A14 80240284 24420001 */ addiu $v0, $v0, 1 +/* 9B1A18 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 9B1A1C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 9B1A20 80240290 24630001 */ addiu $v1, $v1, 1 +/* 9B1A24 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 9B1A28 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 9B1A2C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 9B1A30 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 9B1A34 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 9B1A38 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 9B1A3C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 9B1A40 802402B0 14600002 */ bnez $v1, .L802402BC +/* 9B1A44 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 9B1A48 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 9B1A4C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 9B1A50 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 9B1A54 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 9B1A58 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 9B1A5C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 9B1A60 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 9B1A64 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 9B1A68 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 9B1A6C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 9B1A70 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 9B1A74 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 9B1A78 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 9B1A7C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 9B1A80 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 9B1A84 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 9B1A88 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B1A8C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 9B1A90 80240300 0000102D */ daddu $v0, $zero, $zero +/* 9B1A94 80240304 03E00008 */ jr $ra +/* 9B1A98 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9B1A9C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240310_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240310_9B1790.s new file mode 100644 index 0000000000..3f044b78dc --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240310_9B1790.s @@ -0,0 +1,268 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_9B1AA0 +/* 9B1AA0 80240310 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 9B1AA4 80240314 3C06E300 */ lui $a2, 0xe300 +/* 9B1AA8 80240318 34C60A01 */ ori $a2, $a2, 0xa01 +/* 9B1AAC 8024031C 3C07D9C0 */ lui $a3, 0xd9c0 +/* 9B1AB0 80240320 34E7F9FB */ ori $a3, $a3, 0xf9fb +/* 9B1AB4 80240324 3C09D9FF */ lui $t1, 0xd9ff +/* 9B1AB8 80240328 3529FFFF */ ori $t1, $t1, 0xffff +/* 9B1ABC 8024032C 3C080020 */ lui $t0, 0x20 +/* 9B1AC0 80240330 35080005 */ ori $t0, $t0, 5 +/* 9B1AC4 80240334 3C0AD700 */ lui $t2, 0xd700 +/* 9B1AC8 80240338 354A0002 */ ori $t2, $t2, 2 +/* 9B1ACC 8024033C 3C0BE300 */ lui $t3, 0xe300 +/* 9B1AD0 80240340 356B0F00 */ ori $t3, $t3, 0xf00 +/* 9B1AD4 80240344 3C0CE300 */ lui $t4, 0xe300 +/* 9B1AD8 80240348 358C0C00 */ ori $t4, $t4, 0xc00 +/* 9B1ADC 8024034C 3C0DE300 */ lui $t5, 0xe300 +/* 9B1AE0 80240350 35AD1201 */ ori $t5, $t5, 0x1201 +/* 9B1AE4 80240354 3C0EE300 */ lui $t6, 0xe300 +/* 9B1AE8 80240358 35CE1801 */ ori $t6, $t6, 0x1801 +/* 9B1AEC 8024035C 3C0FE300 */ lui $t7, 0xe300 +/* 9B1AF0 80240360 35EF0D01 */ ori $t7, $t7, 0xd01 +/* 9B1AF4 80240364 AFB000C0 */ sw $s0, 0xc0($sp) +/* 9B1AF8 80240368 3C10E300 */ lui $s0, 0xe300 +/* 9B1AFC 8024036C 36101402 */ ori $s0, $s0, 0x1402 +/* 9B1B00 80240370 AFB300CC */ sw $s3, 0xcc($sp) +/* 9B1B04 80240374 3C13E300 */ lui $s3, 0xe300 +/* 9B1B08 80240378 36731700 */ ori $s3, $s3, 0x1700 +/* 9B1B0C 8024037C AFB400D0 */ sw $s4, 0xd0($sp) +/* 9B1B10 80240380 3C14E200 */ lui $s4, 0xe200 +/* 9B1B14 80240384 36941E01 */ ori $s4, $s4, 0x1e01 +/* 9B1B18 80240388 AFB200C8 */ sw $s2, 0xc8($sp) +/* 9B1B1C 8024038C 27B20040 */ addiu $s2, $sp, 0x40 +/* 9B1B20 80240390 0240202D */ daddu $a0, $s2, $zero +/* 9B1B24 80240394 AFB500D4 */ sw $s5, 0xd4($sp) +/* 9B1B28 80240398 3C150001 */ lui $s5, 1 +/* 9B1B2C 8024039C AFB100C4 */ sw $s1, 0xc4($sp) +/* 9B1B30 802403A0 3C11800A */ lui $s1, 0x800a +/* 9B1B34 802403A4 2631A66C */ addiu $s1, $s1, -0x5994 +/* 9B1B38 802403A8 36B51630 */ ori $s5, $s5, 0x1630 +/* 9B1B3C 802403AC AFBF00D8 */ sw $ra, 0xd8($sp) +/* 9B1B40 802403B0 F7B600E8 */ sdc1 $f22, 0xe8($sp) +/* 9B1B44 802403B4 F7B400E0 */ sdc1 $f20, 0xe0($sp) +/* 9B1B48 802403B8 8E220000 */ lw $v0, ($s1) +/* 9B1B4C 802403BC 3C03E700 */ lui $v1, 0xe700 +/* 9B1B50 802403C0 0040282D */ daddu $a1, $v0, $zero +/* 9B1B54 802403C4 24420008 */ addiu $v0, $v0, 8 +/* 9B1B58 802403C8 AE220000 */ sw $v0, ($s1) +/* 9B1B5C 802403CC ACA30000 */ sw $v1, ($a1) +/* 9B1B60 802403D0 24430008 */ addiu $v1, $v0, 8 +/* 9B1B64 802403D4 ACA00004 */ sw $zero, 4($a1) +/* 9B1B68 802403D8 AE230000 */ sw $v1, ($s1) +/* 9B1B6C 802403DC 24430010 */ addiu $v1, $v0, 0x10 +/* 9B1B70 802403E0 AC460000 */ sw $a2, ($v0) +/* 9B1B74 802403E4 AC400004 */ sw $zero, 4($v0) +/* 9B1B78 802403E8 AE230000 */ sw $v1, ($s1) +/* 9B1B7C 802403EC 24430018 */ addiu $v1, $v0, 0x18 +/* 9B1B80 802403F0 AC470008 */ sw $a3, 8($v0) +/* 9B1B84 802403F4 AC40000C */ sw $zero, 0xc($v0) +/* 9B1B88 802403F8 AE230000 */ sw $v1, ($s1) +/* 9B1B8C 802403FC 24430020 */ addiu $v1, $v0, 0x20 +/* 9B1B90 80240400 AC490010 */ sw $t1, 0x10($v0) +/* 9B1B94 80240404 AC480014 */ sw $t0, 0x14($v0) +/* 9B1B98 80240408 AE230000 */ sw $v1, ($s1) +/* 9B1B9C 8024040C 2403FFFF */ addiu $v1, $zero, -1 +/* 9B1BA0 80240410 AC43001C */ sw $v1, 0x1c($v0) +/* 9B1BA4 80240414 24430028 */ addiu $v1, $v0, 0x28 +/* 9B1BA8 80240418 AC4A0018 */ sw $t2, 0x18($v0) +/* 9B1BAC 8024041C AE230000 */ sw $v1, ($s1) +/* 9B1BB0 80240420 24430030 */ addiu $v1, $v0, 0x30 +/* 9B1BB4 80240424 AC4B0020 */ sw $t3, 0x20($v0) +/* 9B1BB8 80240428 AC400024 */ sw $zero, 0x24($v0) +/* 9B1BBC 8024042C AE230000 */ sw $v1, ($s1) +/* 9B1BC0 80240430 3C030008 */ lui $v1, 8 +/* 9B1BC4 80240434 AC43002C */ sw $v1, 0x2c($v0) +/* 9B1BC8 80240438 24430038 */ addiu $v1, $v0, 0x38 +/* 9B1BCC 8024043C AC4C0028 */ sw $t4, 0x28($v0) +/* 9B1BD0 80240440 AE230000 */ sw $v1, ($s1) +/* 9B1BD4 80240444 24032000 */ addiu $v1, $zero, 0x2000 +/* 9B1BD8 80240448 AC4D0030 */ sw $t5, 0x30($v0) +/* 9B1BDC 8024044C AC430034 */ sw $v1, 0x34($v0) +/* 9B1BE0 80240450 24430040 */ addiu $v1, $v0, 0x40 +/* 9B1BE4 80240454 AE230000 */ sw $v1, ($s1) +/* 9B1BE8 80240458 240300C0 */ addiu $v1, $zero, 0xc0 +/* 9B1BEC 8024045C AC43003C */ sw $v1, 0x3c($v0) +/* 9B1BF0 80240460 24430048 */ addiu $v1, $v0, 0x48 +/* 9B1BF4 80240464 AC4E0038 */ sw $t6, 0x38($v0) +/* 9B1BF8 80240468 AE230000 */ sw $v1, ($s1) +/* 9B1BFC 8024046C 24430050 */ addiu $v1, $v0, 0x50 +/* 9B1C00 80240470 AC4F0040 */ sw $t7, 0x40($v0) +/* 9B1C04 80240474 AC400044 */ sw $zero, 0x44($v0) +/* 9B1C08 80240478 AE230000 */ sw $v1, ($s1) +/* 9B1C0C 8024047C 24030C00 */ addiu $v1, $zero, 0xc00 +/* 9B1C10 80240480 AC500048 */ sw $s0, 0x48($v0) +/* 9B1C14 80240484 AC43004C */ sw $v1, 0x4c($v0) +/* 9B1C18 80240488 AC530050 */ sw $s3, 0x50($v0) +/* 9B1C1C 8024048C 3C138024 */ lui $s3, 0x8024 +/* 9B1C20 80240490 267351F0 */ addiu $s3, $s3, 0x51f0 +/* 9B1C24 80240494 24430058 */ addiu $v1, $v0, 0x58 +/* 9B1C28 80240498 AC400054 */ sw $zero, 0x54($v0) +/* 9B1C2C 8024049C AC540058 */ sw $s4, 0x58($v0) +/* 9B1C30 802404A0 AC40005C */ sw $zero, 0x5c($v0) +/* 9B1C34 802404A4 8E650014 */ lw $a1, 0x14($s3) +/* 9B1C38 802404A8 8E660018 */ lw $a2, 0x18($s3) +/* 9B1C3C 802404AC 8E67001C */ lw $a3, 0x1c($s3) +/* 9B1C40 802404B0 24420060 */ addiu $v0, $v0, 0x60 +/* 9B1C44 802404B4 AE230000 */ sw $v1, ($s1) +/* 9B1C48 802404B8 0C019E40 */ jal guTranslateF +/* 9B1C4C 802404BC AE220000 */ sw $v0, ($s1) +/* 9B1C50 802404C0 27B00080 */ addiu $s0, $sp, 0x80 +/* 9B1C54 802404C4 8E650024 */ lw $a1, 0x24($s3) +/* 9B1C58 802404C8 4480A000 */ mtc1 $zero, $f20 +/* 9B1C5C 802404CC 3C013F80 */ lui $at, 0x3f80 +/* 9B1C60 802404D0 4481B000 */ mtc1 $at, $f22 +/* 9B1C64 802404D4 4406A000 */ mfc1 $a2, $f20 +/* 9B1C68 802404D8 4407B000 */ mfc1 $a3, $f22 +/* 9B1C6C 802404DC 0200202D */ daddu $a0, $s0, $zero +/* 9B1C70 802404E0 0C019EC8 */ jal guRotateF +/* 9B1C74 802404E4 E7B40010 */ swc1 $f20, 0x10($sp) +/* 9B1C78 802404E8 0200202D */ daddu $a0, $s0, $zero +/* 9B1C7C 802404EC 0240282D */ daddu $a1, $s2, $zero +/* 9B1C80 802404F0 0C019D80 */ jal guMtxCatF +/* 9B1C84 802404F4 0240302D */ daddu $a2, $s2, $zero +/* 9B1C88 802404F8 8E650028 */ lw $a1, 0x28($s3) +/* 9B1C8C 802404FC 4406A000 */ mfc1 $a2, $f20 +/* 9B1C90 80240500 4407A000 */ mfc1 $a3, $f20 +/* 9B1C94 80240504 0200202D */ daddu $a0, $s0, $zero +/* 9B1C98 80240508 0C019EC8 */ jal guRotateF +/* 9B1C9C 8024050C E7B60010 */ swc1 $f22, 0x10($sp) +/* 9B1CA0 80240510 0200202D */ daddu $a0, $s0, $zero +/* 9B1CA4 80240514 0240282D */ daddu $a1, $s2, $zero +/* 9B1CA8 80240518 0C019D80 */ jal guMtxCatF +/* 9B1CAC 8024051C 0240302D */ daddu $a2, $s2, $zero +/* 9B1CB0 80240520 8E650020 */ lw $a1, 0x20($s3) +/* 9B1CB4 80240524 4406B000 */ mfc1 $a2, $f22 +/* 9B1CB8 80240528 4407A000 */ mfc1 $a3, $f20 +/* 9B1CBC 8024052C 0200202D */ daddu $a0, $s0, $zero +/* 9B1CC0 80240530 0C019EC8 */ jal guRotateF +/* 9B1CC4 80240534 AFA70010 */ sw $a3, 0x10($sp) +/* 9B1CC8 80240538 0200202D */ daddu $a0, $s0, $zero +/* 9B1CCC 8024053C 0240282D */ daddu $a1, $s2, $zero +/* 9B1CD0 80240540 0C019D80 */ jal guMtxCatF +/* 9B1CD4 80240544 0240302D */ daddu $a2, $s2, $zero +/* 9B1CD8 80240548 8E65002C */ lw $a1, 0x2c($s3) +/* 9B1CDC 8024054C 8E660030 */ lw $a2, 0x30($s3) +/* 9B1CE0 80240550 8E670034 */ lw $a3, 0x34($s3) +/* 9B1CE4 80240554 0C019DF0 */ jal guScaleF +/* 9B1CE8 80240558 0200202D */ daddu $a0, $s0, $zero +/* 9B1CEC 8024055C 0200202D */ daddu $a0, $s0, $zero +/* 9B1CF0 80240560 0240282D */ daddu $a1, $s2, $zero +/* 9B1CF4 80240564 0C019D80 */ jal guMtxCatF +/* 9B1CF8 80240568 0240302D */ daddu $a2, $s2, $zero +/* 9B1CFC 8024056C 0240202D */ daddu $a0, $s2, $zero +/* 9B1D00 80240570 3C108007 */ lui $s0, 0x8007 +/* 9B1D04 80240574 261041F0 */ addiu $s0, $s0, 0x41f0 +/* 9B1D08 80240578 3C12800A */ lui $s2, 0x800a +/* 9B1D0C 8024057C 2652A674 */ addiu $s2, $s2, -0x598c +/* 9B1D10 80240580 96050000 */ lhu $a1, ($s0) +/* 9B1D14 80240584 8E420000 */ lw $v0, ($s2) +/* 9B1D18 80240588 00052980 */ sll $a1, $a1, 6 +/* 9B1D1C 8024058C 00B52821 */ addu $a1, $a1, $s5 +/* 9B1D20 80240590 0C019D40 */ jal guMtxF2L +/* 9B1D24 80240594 00452821 */ addu $a1, $v0, $a1 +/* 9B1D28 80240598 3C03DA38 */ lui $v1, 0xda38 +/* 9B1D2C 8024059C 34630002 */ ori $v1, $v1, 2 +/* 9B1D30 802405A0 8E220000 */ lw $v0, ($s1) +/* 9B1D34 802405A4 96040000 */ lhu $a0, ($s0) +/* 9B1D38 802405A8 0040282D */ daddu $a1, $v0, $zero +/* 9B1D3C 802405AC 24420008 */ addiu $v0, $v0, 8 +/* 9B1D40 802405B0 AE220000 */ sw $v0, ($s1) +/* 9B1D44 802405B4 3082FFFF */ andi $v0, $a0, 0xffff +/* 9B1D48 802405B8 00021180 */ sll $v0, $v0, 6 +/* 9B1D4C 802405BC ACA30000 */ sw $v1, ($a1) +/* 9B1D50 802405C0 8E430000 */ lw $v1, ($s2) +/* 9B1D54 802405C4 00551021 */ addu $v0, $v0, $s5 +/* 9B1D58 802405C8 00621821 */ addu $v1, $v1, $v0 +/* 9B1D5C 802405CC 3C028000 */ lui $v0, 0x8000 +/* 9B1D60 802405D0 00621821 */ addu $v1, $v1, $v0 +/* 9B1D64 802405D4 ACA30004 */ sw $v1, 4($a1) +/* 9B1D68 802405D8 8E620000 */ lw $v0, ($s3) +/* 9B1D6C 802405DC 24840001 */ addiu $a0, $a0, 1 +/* 9B1D70 802405E0 14400012 */ bnez $v0, .L8024062C +/* 9B1D74 802405E4 A6040000 */ sh $a0, ($s0) +/* 9B1D78 802405E8 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 9B1D7C 802405EC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 9B1D80 802405F0 24030008 */ addiu $v1, $zero, 8 +/* 9B1D84 802405F4 AE63000C */ sw $v1, 0xc($s3) +/* 9B1D88 802405F8 94420134 */ lhu $v0, 0x134($v0) +/* 9B1D8C 802405FC 30430003 */ andi $v1, $v0, 3 +/* 9B1D90 80240600 14600003 */ bnez $v1, .L80240610 +/* 9B1D94 80240604 2C620002 */ sltiu $v0, $v1, 2 +/* 9B1D98 80240608 0809018A */ j .L80240628 +/* 9B1D9C 8024060C 24020025 */ addiu $v0, $zero, 0x25 +.L80240610: +/* 9B1DA0 80240610 14400005 */ bnez $v0, .L80240628 +/* 9B1DA4 80240614 24020026 */ addiu $v0, $zero, 0x26 +/* 9B1DA8 80240618 2C620003 */ sltiu $v0, $v1, 3 +/* 9B1DAC 8024061C 14400002 */ bnez $v0, .L80240628 +/* 9B1DB0 80240620 24020027 */ addiu $v0, $zero, 0x27 +/* 9B1DB4 80240624 24020024 */ addiu $v0, $zero, 0x24 +.L80240628: +/* 9B1DB8 80240628 AE620010 */ sw $v0, 0x10($s3) +.L8024062C: +/* 9B1DBC 8024062C 8E65000C */ lw $a1, 0xc($s3) +/* 9B1DC0 80240630 8E660010 */ lw $a2, 0x10($s3) +/* 9B1DC4 80240634 0C0B7811 */ jal func_802DE044 +/* 9B1DC8 80240638 27A40030 */ addiu $a0, $sp, 0x30 +/* 9B1DCC 8024063C 27A50018 */ addiu $a1, $sp, 0x18 +/* 9B1DD0 80240640 0000302D */ daddu $a2, $zero, $zero +/* 9B1DD4 80240644 8E640004 */ lw $a0, 4($s3) +/* 9B1DD8 80240648 8FA30030 */ lw $v1, 0x30($sp) +/* 9B1DDC 8024064C 8FA90034 */ lw $t1, 0x34($sp) +/* 9B1DE0 80240650 97A8003A */ lhu $t0, 0x3a($sp) +/* 9B1DE4 80240654 240200FF */ addiu $v0, $zero, 0xff +/* 9B1DE8 80240658 A3A20028 */ sb $v0, 0x28($sp) +/* 9B1DEC 8024065C A7A80020 */ sh $t0, 0x20($sp) +/* 9B1DF0 80240660 3108FFFF */ andi $t0, $t0, 0xffff +/* 9B1DF4 80240664 AFA30018 */ sw $v1, 0x18($sp) +/* 9B1DF8 80240668 97A3003E */ lhu $v1, 0x3e($sp) +/* 9B1DFC 8024066C 44880000 */ mtc1 $t0, $f0 +/* 9B1E00 80240670 00000000 */ nop +/* 9B1E04 80240674 46800020 */ cvt.s.w $f0, $f0 +/* 9B1E08 80240678 AFA9001C */ sw $t1, 0x1c($sp) +/* 9B1E0C 8024067C E6600038 */ swc1 $f0, 0x38($s3) +/* 9B1E10 80240680 8FA20038 */ lw $v0, 0x38($sp) +/* 9B1E14 80240684 27A70040 */ addiu $a3, $sp, 0x40 +/* 9B1E18 80240688 A7A30022 */ sh $v1, 0x22($sp) +/* 9B1E1C 8024068C 3063FFFF */ andi $v1, $v1, 0xffff +/* 9B1E20 80240690 44830000 */ mtc1 $v1, $f0 +/* 9B1E24 80240694 00000000 */ nop +/* 9B1E28 80240698 46800020 */ cvt.s.w $f0, $f0 +/* 9B1E2C 8024069C 00021FC2 */ srl $v1, $v0, 0x1f +/* 9B1E30 802406A0 00431021 */ addu $v0, $v0, $v1 +/* 9B1E34 802406A4 00021043 */ sra $v0, $v0, 1 +/* 9B1E38 802406A8 E660003C */ swc1 $f0, 0x3c($s3) +/* 9B1E3C 802406AC 8FA3003C */ lw $v1, 0x3c($sp) +/* 9B1E40 802406B0 00021023 */ negu $v0, $v0 +/* 9B1E44 802406B4 A7A20024 */ sh $v0, 0x24($sp) +/* 9B1E48 802406B8 000317C2 */ srl $v0, $v1, 0x1f +/* 9B1E4C 802406BC 00621821 */ addu $v1, $v1, $v0 +/* 9B1E50 802406C0 00031843 */ sra $v1, $v1, 1 +/* 9B1E54 802406C4 0C04EBDC */ jal func_8013AF70 +/* 9B1E58 802406C8 A7A30026 */ sh $v1, 0x26($sp) +/* 9B1E5C 802406CC 3C05D838 */ lui $a1, 0xd838 +/* 9B1E60 802406D0 3C03800A */ lui $v1, 0x800a +/* 9B1E64 802406D4 2463A66C */ addiu $v1, $v1, -0x5994 +/* 9B1E68 802406D8 8C620000 */ lw $v0, ($v1) +/* 9B1E6C 802406DC 34A50002 */ ori $a1, $a1, 2 +/* 9B1E70 802406E0 0040202D */ daddu $a0, $v0, $zero +/* 9B1E74 802406E4 24420008 */ addiu $v0, $v0, 8 +/* 9B1E78 802406E8 AC620000 */ sw $v0, ($v1) +/* 9B1E7C 802406EC 24020040 */ addiu $v0, $zero, 0x40 +/* 9B1E80 802406F0 AC850000 */ sw $a1, ($a0) +/* 9B1E84 802406F4 AC820004 */ sw $v0, 4($a0) +/* 9B1E88 802406F8 8FBF00D8 */ lw $ra, 0xd8($sp) +/* 9B1E8C 802406FC 8FB500D4 */ lw $s5, 0xd4($sp) +/* 9B1E90 80240700 8FB400D0 */ lw $s4, 0xd0($sp) +/* 9B1E94 80240704 8FB300CC */ lw $s3, 0xcc($sp) +/* 9B1E98 80240708 8FB200C8 */ lw $s2, 0xc8($sp) +/* 9B1E9C 8024070C 8FB100C4 */ lw $s1, 0xc4($sp) +/* 9B1EA0 80240710 8FB000C0 */ lw $s0, 0xc0($sp) +/* 9B1EA4 80240714 D7B600E8 */ ldc1 $f22, 0xe8($sp) +/* 9B1EA8 80240718 D7B400E0 */ ldc1 $f20, 0xe0($sp) +/* 9B1EAC 8024071C 03E00008 */ jr $ra +/* 9B1EB0 80240720 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240724.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240724.s new file mode 100644 index 0000000000..1579371167 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240724.s @@ -0,0 +1,66 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240724 +/* 9B1EB4 80240724 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B1EB8 80240728 24040001 */ addiu $a0, $zero, 1 +/* 9B1EBC 8024072C 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* 9B1EC0 80240730 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* 9B1EC4 80240734 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B1EC8 80240738 AFB00010 */ sw $s0, 0x10($sp) +/* 9B1ECC 8024073C 846200B2 */ lh $v0, 0xb2($v1) +/* 9B1ED0 80240740 3C018024 */ lui $at, 0x8024 +/* 9B1ED4 80240744 D42051C0 */ ldc1 $f0, 0x51c0($at) +/* 9B1ED8 80240748 3C013F36 */ lui $at, 0x3f36 +/* 9B1EDC 8024074C 3421DB6E */ ori $at, $at, 0xdb6e +/* 9B1EE0 80240750 44813000 */ mtc1 $at, $f6 +/* 9B1EE4 80240754 3C108024 */ lui $s0, 0x8024 +/* 9B1EE8 80240758 261051F0 */ addiu $s0, $s0, 0x51f0 +/* 9B1EEC 8024075C AE000000 */ sw $zero, ($s0) +/* 9B1EF0 80240760 AE000010 */ sw $zero, 0x10($s0) +/* 9B1EF4 80240764 AE000020 */ sw $zero, 0x20($s0) +/* 9B1EF8 80240768 AE000024 */ sw $zero, 0x24($s0) +/* 9B1EFC 8024076C 44826000 */ mtc1 $v0, $f12 +/* 9B1F00 80240770 00000000 */ nop +/* 9B1F04 80240774 46806320 */ cvt.s.w $f12, $f12 +/* 9B1F08 80240778 46006121 */ cvt.d.s $f4, $f12 +/* 9B1F0C 8024077C 46202102 */ mul.d $f4, $f4, $f0 +/* 9B1F10 80240780 00000000 */ nop +/* 9B1F14 80240784 AE000028 */ sw $zero, 0x28($s0) +/* 9B1F18 80240788 3C013FE0 */ lui $at, 0x3fe0 +/* 9B1F1C 8024078C 44810800 */ mtc1 $at, $f1 +/* 9B1F20 80240790 44800000 */ mtc1 $zero, $f0 +/* 9B1F24 80240794 0080102D */ daddu $v0, $a0, $zero +/* 9B1F28 80240798 AE02000C */ sw $v0, 0xc($s0) +/* 9B1F2C 8024079C 846200B0 */ lh $v0, 0xb0($v1) +/* 9B1F30 802407A0 C46A0028 */ lwc1 $f10, 0x28($v1) +/* 9B1F34 802407A4 C4680030 */ lwc1 $f8, 0x30($v1) +/* 9B1F38 802407A8 46202102 */ mul.d $f4, $f4, $f0 +/* 9B1F3C 802407AC 00000000 */ nop +/* 9B1F40 802407B0 C460002C */ lwc1 $f0, 0x2c($v1) +/* 9B1F44 802407B4 44821000 */ mtc1 $v0, $f2 +/* 9B1F48 802407B8 00000000 */ nop +/* 9B1F4C 802407BC 468010A0 */ cvt.s.w $f2, $f2 +/* 9B1F50 802407C0 E6020038 */ swc1 $f2, 0x38($s0) +/* 9B1F54 802407C4 E60C003C */ swc1 $f12, 0x3c($s0) +/* 9B1F58 802407C8 E60A0014 */ swc1 $f10, 0x14($s0) +/* 9B1F5C 802407CC E608001C */ swc1 $f8, 0x1c($s0) +/* 9B1F60 802407D0 E606002C */ swc1 $f6, 0x2c($s0) +/* 9B1F64 802407D4 46000021 */ cvt.d.s $f0, $f0 +/* 9B1F68 802407D8 46240000 */ add.d $f0, $f0, $f4 +/* 9B1F6C 802407DC E6060030 */ swc1 $f6, 0x30($s0) +/* 9B1F70 802407E0 E6060034 */ swc1 $f6, 0x34($s0) +/* 9B1F74 802407E4 46200020 */ cvt.s.d $f0, $f0 +/* 9B1F78 802407E8 0C04E9C1 */ jal func_8013A704 +/* 9B1F7C 802407EC E6000018 */ swc1 $f0, 0x18($s0) +/* 9B1F80 802407F0 0000202D */ daddu $a0, $zero, $zero +/* 9B1F84 802407F4 3C058024 */ lui $a1, 0x8024 +/* 9B1F88 802407F8 24A50310 */ addiu $a1, $a1, 0x310 +/* 9B1F8C 802407FC 0C048C56 */ jal bind_dynamic_entity_3 +/* 9B1F90 80240800 AE020004 */ sw $v0, 4($s0) +/* 9B1F94 80240804 AE020008 */ sw $v0, 8($s0) +/* 9B1F98 80240808 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B1F9C 8024080C 8FB00010 */ lw $s0, 0x10($sp) +/* 9B1FA0 80240810 24020002 */ addiu $v0, $zero, 2 +/* 9B1FA4 80240814 03E00008 */ jr $ra +/* 9B1FA8 80240818 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_8024081C_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_8024081C_9B1790.s new file mode 100644 index 0000000000..334369ca03 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_8024081C_9B1790.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024081C_9B1FAC +/* 9B1FAC 8024081C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B1FB0 80240820 AFB00010 */ sw $s0, 0x10($sp) +/* 9B1FB4 80240824 3C108024 */ lui $s0, 0x8024 +/* 9B1FB8 80240828 261051F0 */ addiu $s0, $s0, 0x51f0 +/* 9B1FBC 8024082C AFBF0014 */ sw $ra, 0x14($sp) +/* 9B1FC0 80240830 0C04EA15 */ jal func_8013A854 +/* 9B1FC4 80240834 8E040004 */ lw $a0, 4($s0) +/* 9B1FC8 80240838 0C048D70 */ jal func_801235C0 +/* 9B1FCC 8024083C 8E040008 */ lw $a0, 8($s0) +/* 9B1FD0 80240840 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B1FD4 80240844 8FB00010 */ lw $s0, 0x10($sp) +/* 9B1FD8 80240848 24020002 */ addiu $v0, $zero, 2 +/* 9B1FDC 8024084C 03E00008 */ jr $ra +/* 9B1FE0 80240850 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240854_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240854_9B1790.s new file mode 100644 index 0000000000..007673f79e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240854_9B1790.s @@ -0,0 +1,62 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240854_9B1FE4 +/* 9B1FE4 80240854 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9B1FE8 80240858 AFB10014 */ sw $s1, 0x14($sp) +/* 9B1FEC 8024085C 0080882D */ daddu $s1, $a0, $zero +/* 9B1FF0 80240860 AFBF001C */ sw $ra, 0x1c($sp) +/* 9B1FF4 80240864 AFB20018 */ sw $s2, 0x18($sp) +/* 9B1FF8 80240868 AFB00010 */ sw $s0, 0x10($sp) +/* 9B1FFC 8024086C 8E30000C */ lw $s0, 0xc($s1) +/* 9B2000 80240870 8E050000 */ lw $a1, ($s0) +/* 9B2004 80240874 0C0B210B */ jal get_float_variable +/* 9B2008 80240878 26100004 */ addiu $s0, $s0, 4 +/* 9B200C 8024087C 8E050000 */ lw $a1, ($s0) +/* 9B2010 80240880 26100004 */ addiu $s0, $s0, 4 +/* 9B2014 80240884 4600018D */ trunc.w.s $f6, $f0 +/* 9B2018 80240888 44123000 */ mfc1 $s2, $f6 +/* 9B201C 8024088C 0C0B210B */ jal get_float_variable +/* 9B2020 80240890 0220202D */ daddu $a0, $s1, $zero +/* 9B2024 80240894 8E050000 */ lw $a1, ($s0) +/* 9B2028 80240898 4600018D */ trunc.w.s $f6, $f0 +/* 9B202C 8024089C 44103000 */ mfc1 $s0, $f6 +/* 9B2030 802408A0 0C0B210B */ jal get_float_variable +/* 9B2034 802408A4 0220202D */ daddu $a0, $s1, $zero +/* 9B2038 802408A8 3C028024 */ lui $v0, 0x8024 +/* 9B203C 802408AC 244251F0 */ addiu $v0, $v0, 0x51f0 +/* 9B2040 802408B0 C442003C */ lwc1 $f2, 0x3c($v0) +/* 9B2044 802408B4 3C018024 */ lui $at, 0x8024 +/* 9B2048 802408B8 D42451C8 */ ldc1 $f4, 0x51c8($at) +/* 9B204C 802408BC 460010A1 */ cvt.d.s $f2, $f2 +/* 9B2050 802408C0 46241082 */ mul.d $f2, $f2, $f4 +/* 9B2054 802408C4 00000000 */ nop +/* 9B2058 802408C8 3C013FE0 */ lui $at, 0x3fe0 +/* 9B205C 802408CC 44812800 */ mtc1 $at, $f5 +/* 9B2060 802408D0 44802000 */ mtc1 $zero, $f4 +/* 9B2064 802408D4 00000000 */ nop +/* 9B2068 802408D8 46241082 */ mul.d $f2, $f2, $f4 +/* 9B206C 802408DC 00000000 */ nop +/* 9B2070 802408E0 4600018D */ trunc.w.s $f6, $f0 +/* 9B2074 802408E4 44033000 */ mfc1 $v1, $f6 +/* 9B2078 802408E8 44900000 */ mtc1 $s0, $f0 +/* 9B207C 802408EC 00000000 */ nop +/* 9B2080 802408F0 46800021 */ cvt.d.w $f0, $f0 +/* 9B2084 802408F4 44922000 */ mtc1 $s2, $f4 +/* 9B2088 802408F8 00000000 */ nop +/* 9B208C 802408FC 46802120 */ cvt.s.w $f4, $f4 +/* 9B2090 80240900 E4440014 */ swc1 $f4, 0x14($v0) +/* 9B2094 80240904 46220000 */ add.d $f0, $f0, $f2 +/* 9B2098 80240908 44831000 */ mtc1 $v1, $f2 +/* 9B209C 8024090C 00000000 */ nop +/* 9B20A0 80240910 468010A0 */ cvt.s.w $f2, $f2 +/* 9B20A4 80240914 E442001C */ swc1 $f2, 0x1c($v0) +/* 9B20A8 80240918 46200020 */ cvt.s.d $f0, $f0 +/* 9B20AC 8024091C E4400018 */ swc1 $f0, 0x18($v0) +/* 9B20B0 80240920 8FBF001C */ lw $ra, 0x1c($sp) +/* 9B20B4 80240924 8FB20018 */ lw $s2, 0x18($sp) +/* 9B20B8 80240928 8FB10014 */ lw $s1, 0x14($sp) +/* 9B20BC 8024092C 8FB00010 */ lw $s0, 0x10($sp) +/* 9B20C0 80240930 24020002 */ addiu $v0, $zero, 2 +/* 9B20C4 80240934 03E00008 */ jr $ra +/* 9B20C8 80240938 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_8024093C_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_8024093C_9B1790.s new file mode 100644 index 0000000000..85f40dec40 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_8024093C_9B1790.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024093C_9B20CC +/* 9B20CC 8024093C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B20D0 80240940 AFB10014 */ sw $s1, 0x14($sp) +/* 9B20D4 80240944 0080882D */ daddu $s1, $a0, $zero +/* 9B20D8 80240948 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B20DC 8024094C AFB3001C */ sw $s3, 0x1c($sp) +/* 9B20E0 80240950 AFB20018 */ sw $s2, 0x18($sp) +/* 9B20E4 80240954 AFB00010 */ sw $s0, 0x10($sp) +/* 9B20E8 80240958 8E30000C */ lw $s0, 0xc($s1) +/* 9B20EC 8024095C 8E050000 */ lw $a1, ($s0) +/* 9B20F0 80240960 0C0B1EAF */ jal get_variable +/* 9B20F4 80240964 26100004 */ addiu $s0, $s0, 4 +/* 9B20F8 80240968 8E050000 */ lw $a1, ($s0) +/* 9B20FC 8024096C 26100004 */ addiu $s0, $s0, 4 +/* 9B2100 80240970 0220202D */ daddu $a0, $s1, $zero +/* 9B2104 80240974 0C0B210B */ jal get_float_variable +/* 9B2108 80240978 0040902D */ daddu $s2, $v0, $zero +/* 9B210C 8024097C 8E050000 */ lw $a1, ($s0) +/* 9B2110 80240980 26100004 */ addiu $s0, $s0, 4 +/* 9B2114 80240984 4600020D */ trunc.w.s $f8, $f0 +/* 9B2118 80240988 44134000 */ mfc1 $s3, $f8 +/* 9B211C 8024098C 0C0B210B */ jal get_float_variable +/* 9B2120 80240990 0220202D */ daddu $a0, $s1, $zero +/* 9B2124 80240994 8E050000 */ lw $a1, ($s0) +/* 9B2128 80240998 4600020D */ trunc.w.s $f8, $f0 +/* 9B212C 8024099C 44104000 */ mfc1 $s0, $f8 +/* 9B2130 802409A0 0C0B210B */ jal get_float_variable +/* 9B2134 802409A4 0220202D */ daddu $a0, $s1, $zero +/* 9B2138 802409A8 4600020D */ trunc.w.s $f8, $f0 +/* 9B213C 802409AC 44044000 */ mfc1 $a0, $f8 +/* 9B2140 802409B0 3C028024 */ lui $v0, 0x8024 +/* 9B2144 802409B4 244251F0 */ addiu $v0, $v0, 0x51f0 +/* 9B2148 802409B8 1640000E */ bnez $s2, .L802409F4 +/* 9B214C 802409BC 0040182D */ daddu $v1, $v0, $zero +/* 9B2150 802409C0 44930000 */ mtc1 $s3, $f0 +/* 9B2154 802409C4 00000000 */ nop +/* 9B2158 802409C8 46800020 */ cvt.s.w $f0, $f0 +/* 9B215C 802409CC E4400020 */ swc1 $f0, 0x20($v0) +/* 9B2160 802409D0 44900000 */ mtc1 $s0, $f0 +/* 9B2164 802409D4 00000000 */ nop +/* 9B2168 802409D8 46800020 */ cvt.s.w $f0, $f0 +/* 9B216C 802409DC E4400024 */ swc1 $f0, 0x24($v0) +/* 9B2170 802409E0 44840000 */ mtc1 $a0, $f0 +/* 9B2174 802409E4 00000000 */ nop +/* 9B2178 802409E8 46800020 */ cvt.s.w $f0, $f0 +/* 9B217C 802409EC 0809028F */ j .L80240A3C +/* 9B2180 802409F0 E4400028 */ swc1 $f0, 0x28($v0) +.L802409F4: +/* 9B2184 802409F4 C4660020 */ lwc1 $f6, 0x20($v1) +/* 9B2188 802409F8 44930000 */ mtc1 $s3, $f0 +/* 9B218C 802409FC 00000000 */ nop +/* 9B2190 80240A00 46800020 */ cvt.s.w $f0, $f0 +/* 9B2194 80240A04 46003180 */ add.s $f6, $f6, $f0 +/* 9B2198 80240A08 C4640024 */ lwc1 $f4, 0x24($v1) +/* 9B219C 80240A0C 44900000 */ mtc1 $s0, $f0 +/* 9B21A0 80240A10 00000000 */ nop +/* 9B21A4 80240A14 46800020 */ cvt.s.w $f0, $f0 +/* 9B21A8 80240A18 46002100 */ add.s $f4, $f4, $f0 +/* 9B21AC 80240A1C C4620028 */ lwc1 $f2, 0x28($v1) +/* 9B21B0 80240A20 44840000 */ mtc1 $a0, $f0 +/* 9B21B4 80240A24 00000000 */ nop +/* 9B21B8 80240A28 46800020 */ cvt.s.w $f0, $f0 +/* 9B21BC 80240A2C 46001080 */ add.s $f2, $f2, $f0 +/* 9B21C0 80240A30 E4660020 */ swc1 $f6, 0x20($v1) +/* 9B21C4 80240A34 E4640024 */ swc1 $f4, 0x24($v1) +/* 9B21C8 80240A38 E4620028 */ swc1 $f2, 0x28($v1) +.L80240A3C: +/* 9B21CC 80240A3C 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B21D0 80240A40 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B21D4 80240A44 8FB20018 */ lw $s2, 0x18($sp) +/* 9B21D8 80240A48 8FB10014 */ lw $s1, 0x14($sp) +/* 9B21DC 80240A4C 8FB00010 */ lw $s0, 0x10($sp) +/* 9B21E0 80240A50 24020002 */ addiu $v0, $zero, 2 +/* 9B21E4 80240A54 03E00008 */ jr $ra +/* 9B21E8 80240A58 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240A5C_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240A5C_9B1790.s new file mode 100644 index 0000000000..4dd6630254 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240A5C_9B1790.s @@ -0,0 +1,9 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A5C_9B21EC +/* 9B21EC 80240A5C 24020001 */ addiu $v0, $zero, 1 +/* 9B21F0 80240A60 3C018024 */ lui $at, 0x8024 +/* 9B21F4 80240A64 AC2251F0 */ sw $v0, 0x51f0($at) +/* 9B21F8 80240A68 03E00008 */ jr $ra +/* 9B21FC 80240A6C 24020002 */ addiu $v0, $zero, 2 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240A70_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240A70_9B1790.s new file mode 100644 index 0000000000..eb8de758d5 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240A70_9B1790.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240A70_9B2200 +/* 9B2200 80240A70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B2204 80240A74 AFB00010 */ sw $s0, 0x10($sp) +/* 9B2208 80240A78 0080802D */ daddu $s0, $a0, $zero +/* 9B220C 80240A7C AFBF0014 */ sw $ra, 0x14($sp) +/* 9B2210 80240A80 0C00EABB */ jal get_npc_unsafe +/* 9B2214 80240A84 2404FFFC */ addiu $a0, $zero, -4 +/* 9B2218 80240A88 844200A8 */ lh $v0, 0xa8($v0) +/* 9B221C 80240A8C 44820000 */ mtc1 $v0, $f0 +/* 9B2220 80240A90 00000000 */ nop +/* 9B2224 80240A94 46800020 */ cvt.s.w $f0, $f0 +/* 9B2228 80240A98 46000000 */ add.s $f0, $f0, $f0 +/* 9B222C 80240A9C 3C014040 */ lui $at, 0x4040 +/* 9B2230 80240AA0 44811000 */ mtc1 $at, $f2 +/* 9B2234 80240AA4 3C014311 */ lui $at, 0x4311 +/* 9B2238 80240AA8 44812000 */ mtc1 $at, $f4 +/* 9B223C 80240AAC 46020003 */ div.s $f0, $f0, $f2 +/* 9B2240 80240AB0 46040000 */ add.s $f0, $f0, $f4 +/* 9B2244 80240AB4 4600018D */ trunc.w.s $f6, $f0 +/* 9B2248 80240AB8 E6060084 */ swc1 $f6, 0x84($s0) +/* 9B224C 80240ABC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B2250 80240AC0 8FB00010 */ lw $s0, 0x10($sp) +/* 9B2254 80240AC4 24020002 */ addiu $v0, $zero, 2 +/* 9B2258 80240AC8 03E00008 */ jr $ra +/* 9B225C 80240ACC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240AD0_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240AD0_9B1790.s new file mode 100644 index 0000000000..5a28e48ae0 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240AD0_9B1790.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AD0_9B2260 +/* 9B2260 80240AD0 3C038024 */ lui $v1, 0x8024 +/* 9B2264 80240AD4 246351F0 */ addiu $v1, $v1, 0x51f0 +/* 9B2268 80240AD8 24020001 */ addiu $v0, $zero, 1 +/* 9B226C 80240ADC AC62000C */ sw $v0, 0xc($v1) +/* 9B2270 80240AE0 24020002 */ addiu $v0, $zero, 2 +/* 9B2274 80240AE4 03E00008 */ jr $ra +/* 9B2278 80240AE8 AC600010 */ sw $zero, 0x10($v1) +/* 9B227C 80240AEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240AF0.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240AF0.s new file mode 100644 index 0000000000..a967aed2b4 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240AF0.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AF0 +/* 9B2280 80240AF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B2284 80240AF4 AFB20018 */ sw $s2, 0x18($sp) +/* 9B2288 80240AF8 0080902D */ daddu $s2, $a0, $zero +/* 9B228C 80240AFC AFB10014 */ sw $s1, 0x14($sp) +/* 9B2290 80240B00 00A0882D */ daddu $s1, $a1, $zero +/* 9B2294 80240B04 AFBF0024 */ sw $ra, 0x24($sp) +/* 9B2298 80240B08 AFB40020 */ sw $s4, 0x20($sp) +/* 9B229C 80240B0C AFB3001C */ sw $s3, 0x1c($sp) +/* 9B22A0 80240B10 AFB00010 */ sw $s0, 0x10($sp) +/* 9B22A4 80240B14 8E50000C */ lw $s0, 0xc($s2) +/* 9B22A8 80240B18 8E050000 */ lw $a1, ($s0) +/* 9B22AC 80240B1C 0C0B1EAF */ jal get_variable +/* 9B22B0 80240B20 26100004 */ addiu $s0, $s0, 4 +/* 9B22B4 80240B24 0240202D */ daddu $a0, $s2, $zero +/* 9B22B8 80240B28 8E050000 */ lw $a1, ($s0) +/* 9B22BC 80240B2C 0C0B1EAF */ jal get_variable +/* 9B22C0 80240B30 0040802D */ daddu $s0, $v0, $zero +/* 9B22C4 80240B34 0200202D */ daddu $a0, $s0, $zero +/* 9B22C8 80240B38 0C00EAD2 */ jal get_npc_safe +/* 9B22CC 80240B3C 0040A02D */ daddu $s4, $v0, $zero +/* 9B22D0 80240B40 3C138011 */ lui $s3, %hi(gPlayerData) +/* 9B22D4 80240B44 2673F290 */ addiu $s3, $s3, %lo(gPlayerData) +/* 9B22D8 80240B48 12200006 */ beqz $s1, .L80240B64 +/* 9B22DC 80240B4C 0040802D */ daddu $s0, $v0, $zero +/* 9B22E0 80240B50 82620012 */ lb $v0, 0x12($s3) +/* 9B22E4 80240B54 54400003 */ bnel $v0, $zero, .L80240B64 +/* 9B22E8 80240B58 AE400070 */ sw $zero, 0x70($s2) +/* 9B22EC 80240B5C 24020002 */ addiu $v0, $zero, 2 +/* 9B22F0 80240B60 AE420070 */ sw $v0, 0x70($s2) +.L80240B64: +/* 9B22F4 80240B64 8E430070 */ lw $v1, 0x70($s2) +/* 9B22F8 80240B68 24110001 */ addiu $s1, $zero, 1 +/* 9B22FC 80240B6C 10710013 */ beq $v1, $s1, .L80240BBC +/* 9B2300 80240B70 28620002 */ slti $v0, $v1, 2 +/* 9B2304 80240B74 10400005 */ beqz $v0, .L80240B8C +/* 9B2308 80240B78 24020002 */ addiu $v0, $zero, 2 +/* 9B230C 80240B7C 10600009 */ beqz $v1, .L80240BA4 +/* 9B2310 80240B80 0000102D */ daddu $v0, $zero, $zero +/* 9B2314 80240B84 08090315 */ j .L80240C54 +/* 9B2318 80240B88 00000000 */ nop +.L80240B8C: +/* 9B231C 80240B8C 10620013 */ beq $v1, $v0, .L80240BDC +/* 9B2320 80240B90 24020003 */ addiu $v0, $zero, 3 +/* 9B2324 80240B94 1062001E */ beq $v1, $v0, .L80240C10 +/* 9B2328 80240B98 0000102D */ daddu $v0, $zero, $zero +/* 9B232C 80240B9C 08090315 */ j .L80240C54 +/* 9B2330 80240BA0 00000000 */ nop +.L80240BA4: +/* 9B2334 80240BA4 0C03AC5A */ jal func_800EB168 +/* 9B2338 80240BA8 0000202D */ daddu $a0, $zero, $zero +/* 9B233C 80240BAC 2402001E */ addiu $v0, $zero, 0x1e +/* 9B2340 80240BB0 AE420074 */ sw $v0, 0x74($s2) +/* 9B2344 80240BB4 08090314 */ j .L80240C50 +/* 9B2348 80240BB8 AE510070 */ sw $s1, 0x70($s2) +.L80240BBC: +/* 9B234C 80240BBC 8E420074 */ lw $v0, 0x74($s2) +/* 9B2350 80240BC0 2403FFFF */ addiu $v1, $zero, -1 +/* 9B2354 80240BC4 2442FFFF */ addiu $v0, $v0, -1 +/* 9B2358 80240BC8 14430021 */ bne $v0, $v1, .L80240C50 +/* 9B235C 80240BCC AE420074 */ sw $v0, 0x74($s2) +/* 9B2360 80240BD0 24020002 */ addiu $v0, $zero, 2 +/* 9B2364 80240BD4 08090314 */ j .L80240C50 +/* 9B2368 80240BD8 AE420070 */ sw $v0, 0x70($s2) +.L80240BDC: +/* 9B236C 80240BDC 0200202D */ daddu $a0, $s0, $zero +/* 9B2370 80240BE0 00141600 */ sll $v0, $s4, 0x18 +/* 9B2374 80240BE4 00021543 */ sra $v0, $v0, 0x15 +/* 9B2378 80240BE8 02621021 */ addu $v0, $s3, $v0 +/* 9B237C 80240BEC A2740012 */ sb $s4, 0x12($s3) +/* 9B2380 80240BF0 0C03BD17 */ jal clear_partner_move_history +/* 9B2384 80240BF4 A0510014 */ sb $s1, 0x14($v0) +/* 9B2388 80240BF8 82640012 */ lb $a0, 0x12($s3) +/* 9B238C 80240BFC 0C03ACA9 */ jal func_800EB2A4 +/* 9B2390 80240C00 00000000 */ nop +/* 9B2394 80240C04 24020003 */ addiu $v0, $zero, 3 +/* 9B2398 80240C08 08090314 */ j .L80240C50 +/* 9B239C 80240C0C AE420070 */ sw $v0, 0x70($s2) +.L80240C10: +/* 9B23A0 80240C10 0C00EAD2 */ jal get_npc_safe +/* 9B23A4 80240C14 2404FFFC */ addiu $a0, $zero, -4 +/* 9B23A8 80240C18 8E05000C */ lw $a1, 0xc($s0) +/* 9B23AC 80240C1C 0C00ECD0 */ jal set_npc_yaw +/* 9B23B0 80240C20 0040202D */ daddu $a0, $v0, $zero +/* 9B23B4 80240C24 0200202D */ daddu $a0, $s0, $zero +/* 9B23B8 80240C28 8E020000 */ lw $v0, ($s0) +/* 9B23BC 80240C2C 2403FFFB */ addiu $v1, $zero, -5 +/* 9B23C0 80240C30 00431024 */ and $v0, $v0, $v1 +/* 9B23C4 80240C34 0C00EAFF */ jal disable_npc_shadow +/* 9B23C8 80240C38 AE020000 */ sw $v0, ($s0) +/* 9B23CC 80240C3C 3C01C47A */ lui $at, 0xc47a +/* 9B23D0 80240C40 44810000 */ mtc1 $at, $f0 +/* 9B23D4 80240C44 24020002 */ addiu $v0, $zero, 2 +/* 9B23D8 80240C48 08090315 */ j .L80240C54 +/* 9B23DC 80240C4C E600003C */ swc1 $f0, 0x3c($s0) +.L80240C50: +/* 9B23E0 80240C50 0000102D */ daddu $v0, $zero, $zero +.L80240C54: +/* 9B23E4 80240C54 8FBF0024 */ lw $ra, 0x24($sp) +/* 9B23E8 80240C58 8FB40020 */ lw $s4, 0x20($sp) +/* 9B23EC 80240C5C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B23F0 80240C60 8FB20018 */ lw $s2, 0x18($sp) +/* 9B23F4 80240C64 8FB10014 */ lw $s1, 0x14($sp) +/* 9B23F8 80240C68 8FB00010 */ lw $s0, 0x10($sp) +/* 9B23FC 80240C6C 03E00008 */ jr $ra +/* 9B2400 80240C70 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9B2404 80240C74 00000000 */ nop +/* 9B2408 80240C78 00000000 */ nop +/* 9B240C 80240C7C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_06/func_80240C80_9B1790.s b/asm/nonmatchings/world/area_trd/trd_06/func_80240C80_9B1790.s new file mode 100644 index 0000000000..523cb380ad --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_06/func_80240C80_9B1790.s @@ -0,0 +1,44 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C80_9B2410 +/* 9B2410 80240C80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B2414 80240C84 3C048024 */ lui $a0, 0x8024 +/* 9B2418 80240C88 248451D8 */ addiu $a0, $a0, 0x51d8 +/* 9B241C 80240C8C 27A50010 */ addiu $a1, $sp, 0x10 +/* 9B2420 80240C90 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B2424 80240C94 AFB1001C */ sw $s1, 0x1c($sp) +/* 9B2428 80240C98 0C016B3A */ jal load_asset_by_name +/* 9B242C 80240C9C AFB00018 */ sw $s0, 0x18($sp) +/* 9B2430 80240CA0 0040802D */ daddu $s0, $v0, $zero +/* 9B2434 80240CA4 0200202D */ daddu $a0, $s0, $zero +/* 9B2438 80240CA8 3C118024 */ lui $s1, 0x8024 +/* 9B243C 80240CAC 26315230 */ addiu $s1, $s1, 0x5230 +/* 9B2440 80240CB0 0C01BB7C */ jal decode_yay0 +/* 9B2444 80240CB4 0220282D */ daddu $a1, $s1, $zero +/* 9B2448 80240CB8 0C00AB1E */ jal general_heap_free +/* 9B244C 80240CBC 0200202D */ daddu $a0, $s0, $zero +/* 9B2450 80240CC0 3C048025 */ lui $a0, 0x8025 +/* 9B2454 80240CC4 248491C0 */ addiu $a0, $a0, -0x6e40 +/* 9B2458 80240CC8 3C028024 */ lui $v0, 0x8024 +/* 9B245C 80240CCC 24425430 */ addiu $v0, $v0, 0x5430 +/* 9B2460 80240CD0 AC820000 */ sw $v0, ($a0) +/* 9B2464 80240CD4 24020096 */ addiu $v0, $zero, 0x96 +/* 9B2468 80240CD8 A4820008 */ sh $v0, 8($a0) +/* 9B246C 80240CDC 24020069 */ addiu $v0, $zero, 0x69 +/* 9B2470 80240CE0 A482000A */ sh $v0, 0xa($a0) +/* 9B2474 80240CE4 24020002 */ addiu $v0, $zero, 2 +/* 9B2478 80240CE8 AC82000C */ sw $v0, 0xc($a0) +/* 9B247C 80240CEC 24020001 */ addiu $v0, $zero, 1 +/* 9B2480 80240CF0 AC910004 */ sw $s1, 4($a0) +/* 9B2484 80240CF4 0C0496CB */ jal set_message_images +/* 9B2488 80240CF8 AC820010 */ sw $v0, 0x10($a0) +/* 9B248C 80240CFC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B2490 80240D00 8FB1001C */ lw $s1, 0x1c($sp) +/* 9B2494 80240D04 8FB00018 */ lw $s0, 0x18($sp) +/* 9B2498 80240D08 24020002 */ addiu $v0, $zero, 2 +/* 9B249C 80240D0C 03E00008 */ jr $ra +/* 9B24A0 80240D10 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9B24A4 80240D14 00000000 */ nop +/* 9B24A8 80240D18 00000000 */ nop +/* 9B24AC 80240D1C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240000_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240000_9B6980.s new file mode 100644 index 0000000000..d0db89c41c --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240000_9B6980.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9B6980 +/* 9B6980 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B6984 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9B6988 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9B698C 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 9B6990 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9B6994 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 9B6998 80240018 00621821 */ addu $v1, $v1, $v0 +/* 9B699C 8024001C 04610004 */ bgez $v1, .L80240030 +/* 9B69A0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9B69A4 80240024 3C020002 */ lui $v0, 2 +/* 9B69A8 80240028 08090010 */ j .L80240040 +/* 9B69AC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 9B69B0 80240030 3C040002 */ lui $a0, 2 +/* 9B69B4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 9B69B8 80240038 10400002 */ beqz $v0, .L80240044 +/* 9B69BC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 9B69C0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 9B69C4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 9B69C8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 9B69CC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 9B69D0 80240050 04610004 */ bgez $v1, .L80240064 +/* 9B69D4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 9B69D8 80240058 3C020002 */ lui $v0, 2 +/* 9B69DC 8024005C 0809001D */ j .L80240074 +/* 9B69E0 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 9B69E4 80240064 3C040002 */ lui $a0, 2 +/* 9B69E8 80240068 0083102A */ slt $v0, $a0, $v1 +/* 9B69EC 8024006C 10400002 */ beqz $v0, .L80240078 +/* 9B69F0 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 9B69F4 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 9B69F8 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9B69FC 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 9B6A00 80240080 00621821 */ addu $v1, $v1, $v0 +/* 9B6A04 80240084 04610004 */ bgez $v1, .L80240098 +/* 9B6A08 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9B6A0C 8024008C 3C020002 */ lui $v0, 2 +/* 9B6A10 80240090 0809002A */ j .L802400A8 +/* 9B6A14 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 9B6A18 80240098 3C040002 */ lui $a0, 2 +/* 9B6A1C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 9B6A20 802400A0 10400002 */ beqz $v0, .L802400AC +/* 9B6A24 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 9B6A28 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 9B6A2C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9B6A30 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 9B6A34 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 9B6A38 802400B8 04610004 */ bgez $v1, .L802400CC +/* 9B6A3C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 9B6A40 802400C0 3C020002 */ lui $v0, 2 +/* 9B6A44 802400C4 08090037 */ j .L802400DC +/* 9B6A48 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 9B6A4C 802400CC 3C040002 */ lui $a0, 2 +/* 9B6A50 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 9B6A54 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 9B6A58 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 9B6A5C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 9B6A60 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 9B6A64 802400E4 0C046F07 */ jal set_main_pan_u +/* 9B6A68 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9B6A6C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 9B6A70 802400F0 0C046F0D */ jal set_main_pan_v +/* 9B6A74 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 9B6A78 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 9B6A7C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 9B6A80 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9B6A84 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 9B6A88 80240108 0C046F19 */ jal set_aux_pan_v +/* 9B6A8C 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9B6A90 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B6A94 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 9B6A98 80240118 0000102D */ daddu $v0, $zero, $zero +/* 9B6A9C 8024011C 03E00008 */ jr $ra +/* 9B6AA0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240124_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240124_9B6980.s new file mode 100644 index 0000000000..f077178719 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240124_9B6980.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_9B6AA4 +/* 9B6AA4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B6AA8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 9B6AAC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 9B6AB0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 9B6AB4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B6AB8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 9B6ABC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 9B6AC0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 9B6AC4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 9B6AC8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 9B6ACC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 9B6AD0 80240150 00000000 */ nop +/* 9B6AD4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9B6AD8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 9B6ADC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 9B6AE0 80240160 04610004 */ bgez $v1, .L80240174 +/* 9B6AE4 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9B6AE8 80240168 3C020002 */ lui $v0, 2 +/* 9B6AEC 8024016C 08090061 */ j .L80240184 +/* 9B6AF0 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 9B6AF4 80240174 3C040002 */ lui $a0, 2 +/* 9B6AF8 80240178 0083102A */ slt $v0, $a0, $v1 +/* 9B6AFC 8024017C 10400002 */ beqz $v0, .L80240188 +/* 9B6B00 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 9B6B04 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 9B6B08 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 9B6B0C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 9B6B10 80240190 00000000 */ nop +/* 9B6B14 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 9B6B18 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 9B6B1C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 9B6B20 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 9B6B24 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 9B6B28 802401A8 3C020002 */ lui $v0, 2 +/* 9B6B2C 802401AC 08090071 */ j .L802401C4 +/* 9B6B30 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 9B6B34 802401B4 3C040002 */ lui $a0, 2 +/* 9B6B38 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 9B6B3C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 9B6B40 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 9B6B44 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 9B6B48 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 9B6B4C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 9B6B50 802401D0 00000000 */ nop +/* 9B6B54 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9B6B58 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 9B6B5C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 9B6B60 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 9B6B64 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9B6B68 802401E8 3C020002 */ lui $v0, 2 +/* 9B6B6C 802401EC 08090081 */ j .L80240204 +/* 9B6B70 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 9B6B74 802401F4 3C040002 */ lui $a0, 2 +/* 9B6B78 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 9B6B7C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 9B6B80 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 9B6B84 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 9B6B88 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 9B6B8C 8024020C 1440000E */ bnez $v0, .L80240248 +/* 9B6B90 80240210 00000000 */ nop +/* 9B6B94 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9B6B98 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 9B6B9C 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 9B6BA0 80240220 04610004 */ bgez $v1, .L80240234 +/* 9B6BA4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 9B6BA8 80240228 3C020002 */ lui $v0, 2 +/* 9B6BAC 8024022C 08090091 */ j .L80240244 +/* 9B6BB0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 9B6BB4 80240234 3C040002 */ lui $a0, 2 +/* 9B6BB8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 9B6BBC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 9B6BC0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 9B6BC4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 9B6BC8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 9B6BCC 8024024C 0C046F07 */ jal set_main_pan_u +/* 9B6BD0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9B6BD4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 9B6BD8 80240258 0C046F0D */ jal set_main_pan_v +/* 9B6BDC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 9B6BE0 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 9B6BE4 80240264 0C046F13 */ jal set_aux_pan_u +/* 9B6BE8 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9B6BEC 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 9B6BF0 80240270 0C046F19 */ jal set_aux_pan_v +/* 9B6BF4 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9B6BF8 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 9B6BFC 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 9B6C00 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 9B6C04 80240284 24420001 */ addiu $v0, $v0, 1 +/* 9B6C08 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 9B6C0C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 9B6C10 80240290 24630001 */ addiu $v1, $v1, 1 +/* 9B6C14 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 9B6C18 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 9B6C1C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 9B6C20 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 9B6C24 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 9B6C28 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 9B6C2C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 9B6C30 802402B0 14600002 */ bnez $v1, .L802402BC +/* 9B6C34 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 9B6C38 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 9B6C3C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 9B6C40 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 9B6C44 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 9B6C48 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 9B6C4C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 9B6C50 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 9B6C54 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 9B6C58 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 9B6C5C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 9B6C60 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 9B6C64 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 9B6C68 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 9B6C6C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 9B6C70 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 9B6C74 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 9B6C78 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B6C7C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 9B6C80 80240300 0000102D */ daddu $v0, $zero, $zero +/* 9B6C84 80240304 03E00008 */ jr $ra +/* 9B6C88 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9B6C8C 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240310_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240310_9B6980.s new file mode 100644 index 0000000000..46c8c72cfc --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240310_9B6980.s @@ -0,0 +1,35 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_9B6C90 +/* 9B6C90 80240310 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9B6C94 80240314 AFB20018 */ sw $s2, 0x18($sp) +/* 9B6C98 80240318 0080902D */ daddu $s2, $a0, $zero +/* 9B6C9C 8024031C AFBF001C */ sw $ra, 0x1c($sp) +/* 9B6CA0 80240320 AFB10014 */ sw $s1, 0x14($sp) +/* 9B6CA4 80240324 AFB00010 */ sw $s0, 0x10($sp) +/* 9B6CA8 80240328 8E510148 */ lw $s1, 0x148($s2) +/* 9B6CAC 8024032C 0C00EABB */ jal get_npc_unsafe +/* 9B6CB0 80240330 86240008 */ lh $a0, 8($s1) +/* 9B6CB4 80240334 0040802D */ daddu $s0, $v0, $zero +/* 9B6CB8 80240338 8E2300CC */ lw $v1, 0xcc($s1) +/* 9B6CBC 8024033C C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B6CC0 80240340 8C630020 */ lw $v1, 0x20($v1) +/* 9B6CC4 80240344 AE030028 */ sw $v1, 0x28($s0) +/* 9B6CC8 80240348 96220076 */ lhu $v0, 0x76($s1) +/* 9B6CCC 8024034C A602008E */ sh $v0, 0x8e($s0) +/* 9B6CD0 80240350 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B6CD4 80240354 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B6CD8 80240358 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B6CDC 8024035C 8C460028 */ lw $a2, 0x28($v0) +/* 9B6CE0 80240360 0C00A720 */ jal atan2 +/* 9B6CE4 80240364 8C470030 */ lw $a3, 0x30($v0) +/* 9B6CE8 80240368 2402000D */ addiu $v0, $zero, 0xd +/* 9B6CEC 8024036C E600000C */ swc1 $f0, 0xc($s0) +/* 9B6CF0 80240370 AE420070 */ sw $v0, 0x70($s2) +/* 9B6CF4 80240374 8FBF001C */ lw $ra, 0x1c($sp) +/* 9B6CF8 80240378 8FB20018 */ lw $s2, 0x18($sp) +/* 9B6CFC 8024037C 8FB10014 */ lw $s1, 0x14($sp) +/* 9B6D00 80240380 8FB00010 */ lw $s0, 0x10($sp) +/* 9B6D04 80240384 03E00008 */ jr $ra +/* 9B6D08 80240388 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_8024038C.s b/asm/nonmatchings/world/area_trd/trd_07/func_8024038C.s new file mode 100644 index 0000000000..467d63ca24 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_8024038C.s @@ -0,0 +1,86 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024038C +/* 9B6D0C 8024038C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B6D10 80240390 AFB3001C */ sw $s3, 0x1c($sp) +/* 9B6D14 80240394 0080982D */ daddu $s3, $a0, $zero +/* 9B6D18 80240398 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B6D1C 8024039C AFB20018 */ sw $s2, 0x18($sp) +/* 9B6D20 802403A0 AFB10014 */ sw $s1, 0x14($sp) +/* 9B6D24 802403A4 AFB00010 */ sw $s0, 0x10($sp) +/* 9B6D28 802403A8 8E710148 */ lw $s1, 0x148($s3) +/* 9B6D2C 802403AC 86240008 */ lh $a0, 8($s1) +/* 9B6D30 802403B0 0C00EABB */ jal get_npc_unsafe +/* 9B6D34 802403B4 00A0902D */ daddu $s2, $a1, $zero +/* 9B6D38 802403B8 0040802D */ daddu $s0, $v0, $zero +/* 9B6D3C 802403BC 8602008E */ lh $v0, 0x8e($s0) +/* 9B6D40 802403C0 9603008E */ lhu $v1, 0x8e($s0) +/* 9B6D44 802403C4 18400005 */ blez $v0, .L802403DC +/* 9B6D48 802403C8 2462FFFF */ addiu $v0, $v1, -1 +/* 9B6D4C 802403CC A602008E */ sh $v0, 0x8e($s0) +/* 9B6D50 802403D0 00021400 */ sll $v0, $v0, 0x10 +/* 9B6D54 802403D4 1C400033 */ bgtz $v0, .L802404A4 +/* 9B6D58 802403D8 00000000 */ nop +.L802403DC: +/* 9B6D5C 802403DC 8602008C */ lh $v0, 0x8c($s0) +/* 9B6D60 802403E0 14400030 */ bnez $v0, .L802404A4 +/* 9B6D64 802403E4 00000000 */ nop +/* 9B6D68 802403E8 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B6D6C 802403EC 8C420024 */ lw $v0, 0x24($v0) +/* 9B6D70 802403F0 AE020028 */ sw $v0, 0x28($s0) +/* 9B6D74 802403F4 C6400018 */ lwc1 $f0, 0x18($s2) +/* 9B6D78 802403F8 E6000018 */ swc1 $f0, 0x18($s0) +/* 9B6D7C 802403FC 8E230088 */ lw $v1, 0x88($s1) +/* 9B6D80 80240400 24020005 */ addiu $v0, $zero, 5 +/* 9B6D84 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* 9B6D88 80240408 00000000 */ nop +/* 9B6D8C 8024040C 10600003 */ beqz $v1, .L8024041C +/* 9B6D90 80240410 24020001 */ addiu $v0, $zero, 1 +/* 9B6D94 80240414 14620006 */ bne $v1, $v0, .L80240430 +/* 9B6D98 80240418 00000000 */ nop +.L8024041C: +/* 9B6D9C 8024041C 8E220084 */ lw $v0, 0x84($s1) +/* 9B6DA0 80240420 00021FC2 */ srl $v1, $v0, 0x1f +/* 9B6DA4 80240424 00431021 */ addu $v0, $v0, $v1 +/* 9B6DA8 80240428 00021043 */ sra $v0, $v0, 1 +/* 9B6DAC 8024042C A60200A8 */ sh $v0, 0xa8($s0) +.L80240430: +/* 9B6DB0 80240430 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B6DB4 80240434 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B6DB8 80240438 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B6DBC 8024043C C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B6DC0 80240440 8C460028 */ lw $a2, 0x28($v0) +/* 9B6DC4 80240444 0C00A7B5 */ jal dist2D +/* 9B6DC8 80240448 8C470030 */ lw $a3, 0x30($v0) +/* 9B6DCC 8024044C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9B6DD0 80240450 46020003 */ div.s $f0, $f0, $f2 +/* 9B6DD4 80240454 3C018024 */ lui $at, 0x8024 +/* 9B6DD8 80240458 D4224820 */ ldc1 $f2, 0x4820($at) +/* 9B6DDC 8024045C 46000021 */ cvt.d.s $f0, $f0 +/* 9B6DE0 80240460 46220000 */ add.d $f0, $f0, $f2 +/* 9B6DE4 80240464 4620010D */ trunc.w.d $f4, $f0 +/* 9B6DE8 80240468 44022000 */ mfc1 $v0, $f4 +/* 9B6DEC 8024046C 00000000 */ nop +/* 9B6DF0 80240470 A602008E */ sh $v0, 0x8e($s0) +/* 9B6DF4 80240474 00021400 */ sll $v0, $v0, 0x10 +/* 9B6DF8 80240478 8E230078 */ lw $v1, 0x78($s1) +/* 9B6DFC 8024047C 00021403 */ sra $v0, $v0, 0x10 +/* 9B6E00 80240480 0043102A */ slt $v0, $v0, $v1 +/* 9B6E04 80240484 10400003 */ beqz $v0, .L80240494 +/* 9B6E08 80240488 00000000 */ nop +/* 9B6E0C 8024048C 9622007A */ lhu $v0, 0x7a($s1) +/* 9B6E10 80240490 A602008E */ sh $v0, 0x8e($s0) +.L80240494: +/* 9B6E14 80240494 8602008E */ lh $v0, 0x8e($s0) +/* 9B6E18 80240498 AE22007C */ sw $v0, 0x7c($s1) +/* 9B6E1C 8024049C 2402000E */ addiu $v0, $zero, 0xe +/* 9B6E20 802404A0 AE620070 */ sw $v0, 0x70($s3) +.L802404A4: +/* 9B6E24 802404A4 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B6E28 802404A8 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B6E2C 802404AC 8FB20018 */ lw $s2, 0x18($sp) +/* 9B6E30 802404B0 8FB10014 */ lw $s1, 0x14($sp) +/* 9B6E34 802404B4 8FB00010 */ lw $s0, 0x10($sp) +/* 9B6E38 802404B8 03E00008 */ jr $ra +/* 9B6E3C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802404C0_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_802404C0_9B6980.s new file mode 100644 index 0000000000..8bc4d2fbc5 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802404C0_9B6980.s @@ -0,0 +1,97 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802404C0_9B6E40 +/* 9B6E40 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 9B6E44 802404C4 AFB3003C */ sw $s3, 0x3c($sp) +/* 9B6E48 802404C8 0080982D */ daddu $s3, $a0, $zero +/* 9B6E4C 802404CC AFBF0040 */ sw $ra, 0x40($sp) +/* 9B6E50 802404D0 AFB20038 */ sw $s2, 0x38($sp) +/* 9B6E54 802404D4 AFB10034 */ sw $s1, 0x34($sp) +/* 9B6E58 802404D8 AFB00030 */ sw $s0, 0x30($sp) +/* 9B6E5C 802404DC 8E710148 */ lw $s1, 0x148($s3) +/* 9B6E60 802404E0 0C00EABB */ jal get_npc_unsafe +/* 9B6E64 802404E4 86240008 */ lh $a0, 8($s1) +/* 9B6E68 802404E8 0040802D */ daddu $s0, $v0, $zero +/* 9B6E6C 802404EC 8E22007C */ lw $v0, 0x7c($s1) +/* 9B6E70 802404F0 8603008E */ lh $v1, 0x8e($s0) +/* 9B6E74 802404F4 2442FFFF */ addiu $v0, $v0, -1 +/* 9B6E78 802404F8 14620012 */ bne $v1, $v0, .L80240544 +/* 9B6E7C 802404FC 00000000 */ nop +/* 9B6E80 80240500 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B6E84 80240504 4600020D */ trunc.w.s $f8, $f0 +/* 9B6E88 80240508 44024000 */ mfc1 $v0, $f8 +/* 9B6E8C 8024050C 00000000 */ nop +/* 9B6E90 80240510 A6220010 */ sh $v0, 0x10($s1) +/* 9B6E94 80240514 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B6E98 80240518 4600020D */ trunc.w.s $f8, $f0 +/* 9B6E9C 8024051C 44024000 */ mfc1 $v0, $f8 +/* 9B6EA0 80240520 00000000 */ nop +/* 9B6EA4 80240524 A6220012 */ sh $v0, 0x12($s1) +/* 9B6EA8 80240528 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9B6EAC 8024052C 24020001 */ addiu $v0, $zero, 1 +/* 9B6EB0 80240530 A2220007 */ sb $v0, 7($s1) +/* 9B6EB4 80240534 4600020D */ trunc.w.s $f8, $f0 +/* 9B6EB8 80240538 44024000 */ mfc1 $v0, $f8 +/* 9B6EBC 8024053C 00000000 */ nop +/* 9B6EC0 80240540 A6220014 */ sh $v0, 0x14($s1) +.L80240544: +/* 9B6EC4 80240544 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B6EC8 80240548 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B6ECC 8024054C C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B6ED0 80240550 C6060018 */ lwc1 $f6, 0x18($s0) +/* 9B6ED4 80240554 E7A00020 */ swc1 $f0, 0x20($sp) +/* 9B6ED8 80240558 E7A20024 */ swc1 $f2, 0x24($sp) +/* 9B6EDC 8024055C E7A40028 */ swc1 $f4, 0x28($sp) +/* 9B6EE0 80240560 E7A60010 */ swc1 $f6, 0x10($sp) +/* 9B6EE4 80240564 C600000C */ lwc1 $f0, 0xc($s0) +/* 9B6EE8 80240568 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9B6EEC 8024056C 860200A8 */ lh $v0, 0xa8($s0) +/* 9B6EF0 80240570 27A50020 */ addiu $a1, $sp, 0x20 +/* 9B6EF4 80240574 44820000 */ mtc1 $v0, $f0 +/* 9B6EF8 80240578 00000000 */ nop +/* 9B6EFC 8024057C 46800020 */ cvt.s.w $f0, $f0 +/* 9B6F00 80240580 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B6F04 80240584 860200A6 */ lh $v0, 0xa6($s0) +/* 9B6F08 80240588 27A60024 */ addiu $a2, $sp, 0x24 +/* 9B6F0C 8024058C 44820000 */ mtc1 $v0, $f0 +/* 9B6F10 80240590 00000000 */ nop +/* 9B6F14 80240594 46800020 */ cvt.s.w $f0, $f0 +/* 9B6F18 80240598 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 9B6F1C 8024059C 8E040080 */ lw $a0, 0x80($s0) +/* 9B6F20 802405A0 0C037711 */ jal func_800DDC44 +/* 9B6F24 802405A4 27A70028 */ addiu $a3, $sp, 0x28 +/* 9B6F28 802405A8 0040902D */ daddu $s2, $v0, $zero +/* 9B6F2C 802405AC 16400005 */ bnez $s2, .L802405C4 +/* 9B6F30 802405B0 00000000 */ nop +/* 9B6F34 802405B4 8E050018 */ lw $a1, 0x18($s0) +/* 9B6F38 802405B8 8E06000C */ lw $a2, 0xc($s0) +/* 9B6F3C 802405BC 0C00EA95 */ jal npc_move_heading +/* 9B6F40 802405C0 0200202D */ daddu $a0, $s0, $zero +.L802405C4: +/* 9B6F44 802405C4 8602008E */ lh $v0, 0x8e($s0) +/* 9B6F48 802405C8 9603008E */ lhu $v1, 0x8e($s0) +/* 9B6F4C 802405CC 18400007 */ blez $v0, .L802405EC +/* 9B6F50 802405D0 2462FFFF */ addiu $v0, $v1, -1 +/* 9B6F54 802405D4 A602008E */ sh $v0, 0x8e($s0) +/* 9B6F58 802405D8 00021400 */ sll $v0, $v0, 0x10 +/* 9B6F5C 802405DC 18400003 */ blez $v0, .L802405EC +/* 9B6F60 802405E0 00000000 */ nop +/* 9B6F64 802405E4 12400008 */ beqz $s2, .L80240608 +/* 9B6F68 802405E8 00000000 */ nop +.L802405EC: +/* 9B6F6C 802405EC 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B6F70 802405F0 A2200007 */ sb $zero, 7($s1) +/* 9B6F74 802405F4 8C420028 */ lw $v0, 0x28($v0) +/* 9B6F78 802405F8 A600008E */ sh $zero, 0x8e($s0) +/* 9B6F7C 802405FC AE020028 */ sw $v0, 0x28($s0) +/* 9B6F80 80240600 2402000F */ addiu $v0, $zero, 0xf +/* 9B6F84 80240604 AE620070 */ sw $v0, 0x70($s3) +.L80240608: +/* 9B6F88 80240608 8FBF0040 */ lw $ra, 0x40($sp) +/* 9B6F8C 8024060C 8FB3003C */ lw $s3, 0x3c($sp) +/* 9B6F90 80240610 8FB20038 */ lw $s2, 0x38($sp) +/* 9B6F94 80240614 8FB10034 */ lw $s1, 0x34($sp) +/* 9B6F98 80240618 8FB00030 */ lw $s0, 0x30($sp) +/* 9B6F9C 8024061C 03E00008 */ jr $ra +/* 9B6FA0 80240620 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240624_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240624_9B6980.s new file mode 100644 index 0000000000..b232d70967 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240624_9B6980.s @@ -0,0 +1,38 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240624_9B6FA4 +/* 9B6FA4 80240624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9B6FA8 80240628 AFB10014 */ sw $s1, 0x14($sp) +/* 9B6FAC 8024062C 0080882D */ daddu $s1, $a0, $zero +/* 9B6FB0 80240630 AFBF0018 */ sw $ra, 0x18($sp) +/* 9B6FB4 80240634 AFB00010 */ sw $s0, 0x10($sp) +/* 9B6FB8 80240638 8E300148 */ lw $s0, 0x148($s1) +/* 9B6FBC 8024063C 0C00EABB */ jal get_npc_unsafe +/* 9B6FC0 80240640 86040008 */ lh $a0, 8($s0) +/* 9B6FC4 80240644 0040202D */ daddu $a0, $v0, $zero +/* 9B6FC8 80240648 9482008E */ lhu $v0, 0x8e($a0) +/* 9B6FCC 8024064C 24030003 */ addiu $v1, $zero, 3 +/* 9B6FD0 80240650 24420001 */ addiu $v0, $v0, 1 +/* 9B6FD4 80240654 A482008E */ sh $v0, 0x8e($a0) +/* 9B6FD8 80240658 00021400 */ sll $v0, $v0, 0x10 +/* 9B6FDC 8024065C 00021403 */ sra $v0, $v0, 0x10 +/* 9B6FE0 80240660 14430003 */ bne $v0, $v1, .L80240670 +/* 9B6FE4 80240664 00000000 */ nop +/* 9B6FE8 80240668 96020086 */ lhu $v0, 0x86($s0) +/* 9B6FEC 8024066C A48200A8 */ sh $v0, 0xa8($a0) +.L80240670: +/* 9B6FF0 80240670 8482008E */ lh $v0, 0x8e($a0) +/* 9B6FF4 80240674 8E030080 */ lw $v1, 0x80($s0) +/* 9B6FF8 80240678 0043102A */ slt $v0, $v0, $v1 +/* 9B6FFC 8024067C 14400004 */ bnez $v0, .L80240690 +/* 9B7000 80240680 00000000 */ nop +/* 9B7004 80240684 96020086 */ lhu $v0, 0x86($s0) +/* 9B7008 80240688 A48200A8 */ sh $v0, 0xa8($a0) +/* 9B700C 8024068C AE200070 */ sw $zero, 0x70($s1) +.L80240690: +/* 9B7010 80240690 8FBF0018 */ lw $ra, 0x18($sp) +/* 9B7014 80240694 8FB10014 */ lw $s1, 0x14($sp) +/* 9B7018 80240698 8FB00010 */ lw $s0, 0x10($sp) +/* 9B701C 8024069C 03E00008 */ jr $ra +/* 9B7020 802406A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802406A4.s b/asm/nonmatchings/world/area_trd/trd_07/func_802406A4.s new file mode 100644 index 0000000000..19def59c69 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802406A4.s @@ -0,0 +1,301 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406A4 +/* 9B7024 802406A4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 9B7028 802406A8 AFB3005C */ sw $s3, 0x5c($sp) +/* 9B702C 802406AC 0080982D */ daddu $s3, $a0, $zero +/* 9B7030 802406B0 AFBF0068 */ sw $ra, 0x68($sp) +/* 9B7034 802406B4 AFB50064 */ sw $s5, 0x64($sp) +/* 9B7038 802406B8 AFB40060 */ sw $s4, 0x60($sp) +/* 9B703C 802406BC AFB20058 */ sw $s2, 0x58($sp) +/* 9B7040 802406C0 AFB10054 */ sw $s1, 0x54($sp) +/* 9B7044 802406C4 AFB00050 */ sw $s0, 0x50($sp) +/* 9B7048 802406C8 8E710148 */ lw $s1, 0x148($s3) +/* 9B704C 802406CC 86240008 */ lh $a0, 8($s1) +/* 9B7050 802406D0 0C00EABB */ jal get_npc_unsafe +/* 9B7054 802406D4 00A0802D */ daddu $s0, $a1, $zero +/* 9B7058 802406D8 8E63000C */ lw $v1, 0xc($s3) +/* 9B705C 802406DC 0260202D */ daddu $a0, $s3, $zero +/* 9B7060 802406E0 8C650000 */ lw $a1, ($v1) +/* 9B7064 802406E4 0C0B1EAF */ jal get_variable +/* 9B7068 802406E8 0040902D */ daddu $s2, $v0, $zero +/* 9B706C 802406EC AFA00028 */ sw $zero, 0x28($sp) +/* 9B7070 802406F0 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B7074 802406F4 8C630030 */ lw $v1, 0x30($v1) +/* 9B7078 802406F8 AFA3002C */ sw $v1, 0x2c($sp) +/* 9B707C 802406FC 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B7080 80240700 8C63001C */ lw $v1, 0x1c($v1) +/* 9B7084 80240704 AFA30030 */ sw $v1, 0x30($sp) +/* 9B7088 80240708 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B708C 8024070C 8C630024 */ lw $v1, 0x24($v1) +/* 9B7090 80240710 AFA30034 */ sw $v1, 0x34($sp) +/* 9B7094 80240714 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B7098 80240718 8C630028 */ lw $v1, 0x28($v1) +/* 9B709C 8024071C 27B50028 */ addiu $s5, $sp, 0x28 +/* 9B70A0 80240720 AFA30038 */ sw $v1, 0x38($sp) +/* 9B70A4 80240724 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B70A8 80240728 3C0142C8 */ lui $at, 0x42c8 +/* 9B70AC 8024072C 44810000 */ mtc1 $at, $f0 +/* 9B70B0 80240730 8C63002C */ lw $v1, 0x2c($v1) +/* 9B70B4 80240734 0040A02D */ daddu $s4, $v0, $zero +/* 9B70B8 80240738 E7A00040 */ swc1 $f0, 0x40($sp) +/* 9B70BC 8024073C A7A00044 */ sh $zero, 0x44($sp) +/* 9B70C0 80240740 12000009 */ beqz $s0, .L80240768 +/* 9B70C4 80240744 AFA3003C */ sw $v1, 0x3c($sp) +/* 9B70C8 80240748 864300A8 */ lh $v1, 0xa8($s2) +/* 9B70CC 8024074C 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9B70D0 80240750 AE20008C */ sw $zero, 0x8c($s1) +/* 9B70D4 80240754 A22000B5 */ sb $zero, 0xb5($s1) +/* 9B70D8 80240758 34420008 */ ori $v0, $v0, 8 +/* 9B70DC 8024075C AE230084 */ sw $v1, 0x84($s1) +/* 9B70E0 80240760 080901DE */ j .L80240778 +/* 9B70E4 80240764 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240768: +/* 9B70E8 80240768 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9B70EC 8024076C 30420004 */ andi $v0, $v0, 4 +/* 9B70F0 80240770 10400047 */ beqz $v0, .L80240890 +/* 9B70F4 80240774 00000000 */ nop +.L80240778: +/* 9B70F8 80240778 AE600070 */ sw $zero, 0x70($s3) +/* 9B70FC 8024077C A640008E */ sh $zero, 0x8e($s2) +/* 9B7100 80240780 8E2300CC */ lw $v1, 0xcc($s1) +/* 9B7104 80240784 2404F7FF */ addiu $a0, $zero, -0x801 +/* 9B7108 80240788 A2200007 */ sb $zero, 7($s1) +/* 9B710C 8024078C 8E420000 */ lw $v0, ($s2) +/* 9B7110 80240790 8C630000 */ lw $v1, ($v1) +/* 9B7114 80240794 00441024 */ and $v0, $v0, $a0 +/* 9B7118 80240798 AE420000 */ sw $v0, ($s2) +/* 9B711C 8024079C AE430028 */ sw $v1, 0x28($s2) +/* 9B7120 802407A0 96220086 */ lhu $v0, 0x86($s1) +/* 9B7124 802407A4 A64200A8 */ sh $v0, 0xa8($s2) +/* 9B7128 802407A8 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B712C 802407AC AE200090 */ sw $zero, 0x90($s1) +/* 9B7130 802407B0 8C420034 */ lw $v0, 0x34($v0) +/* 9B7134 802407B4 14400006 */ bnez $v0, .L802407D0 +/* 9B7138 802407B8 2403FDFF */ addiu $v1, $zero, -0x201 +/* 9B713C 802407BC 8E420000 */ lw $v0, ($s2) +/* 9B7140 802407C0 2403FFF7 */ addiu $v1, $zero, -9 +/* 9B7144 802407C4 34420200 */ ori $v0, $v0, 0x200 +/* 9B7148 802407C8 080901F7 */ j .L802407DC +/* 9B714C 802407CC 00431024 */ and $v0, $v0, $v1 +.L802407D0: +/* 9B7150 802407D0 8E420000 */ lw $v0, ($s2) +/* 9B7154 802407D4 00431024 */ and $v0, $v0, $v1 +/* 9B7158 802407D8 34420008 */ ori $v0, $v0, 8 +.L802407DC: +/* 9B715C 802407DC AE420000 */ sw $v0, ($s2) +/* 9B7160 802407E0 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9B7164 802407E4 30420004 */ andi $v0, $v0, 4 +/* 9B7168 802407E8 1040001E */ beqz $v0, .L80240864 +/* 9B716C 802407EC 24040002 */ addiu $a0, $zero, 2 +/* 9B7170 802407F0 0240282D */ daddu $a1, $s2, $zero +/* 9B7174 802407F4 0000302D */ daddu $a2, $zero, $zero +/* 9B7178 802407F8 24020063 */ addiu $v0, $zero, 0x63 +/* 9B717C 802407FC AE620070 */ sw $v0, 0x70($s3) +/* 9B7180 80240800 AE600074 */ sw $zero, 0x74($s3) +/* 9B7184 80240804 864300A8 */ lh $v1, 0xa8($s2) +/* 9B7188 80240808 3C013F80 */ lui $at, 0x3f80 +/* 9B718C 8024080C 44810000 */ mtc1 $at, $f0 +/* 9B7190 80240810 3C014000 */ lui $at, 0x4000 +/* 9B7194 80240814 44811000 */ mtc1 $at, $f2 +/* 9B7198 80240818 3C01C1A0 */ lui $at, 0xc1a0 +/* 9B719C 8024081C 44812000 */ mtc1 $at, $f4 +/* 9B71A0 80240820 24020028 */ addiu $v0, $zero, 0x28 +/* 9B71A4 80240824 AFA2001C */ sw $v0, 0x1c($sp) +/* 9B71A8 80240828 44833000 */ mtc1 $v1, $f6 +/* 9B71AC 8024082C 00000000 */ nop +/* 9B71B0 80240830 468031A0 */ cvt.s.w $f6, $f6 +/* 9B71B4 80240834 44073000 */ mfc1 $a3, $f6 +/* 9B71B8 80240838 27A20048 */ addiu $v0, $sp, 0x48 +/* 9B71BC 8024083C AFA20020 */ sw $v0, 0x20($sp) +/* 9B71C0 80240840 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9B71C4 80240844 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9B71C8 80240848 0C01BFA4 */ jal fx_emote +/* 9B71CC 8024084C E7A40018 */ swc1 $f4, 0x18($sp) +/* 9B71D0 80240850 8E2200B0 */ lw $v0, 0xb0($s1) +/* 9B71D4 80240854 2403FFFB */ addiu $v1, $zero, -5 +/* 9B71D8 80240858 00431024 */ and $v0, $v0, $v1 +/* 9B71DC 8024085C 08090224 */ j .L80240890 +/* 9B71E0 80240860 AE2200B0 */ sw $v0, 0xb0($s1) +.L80240864: +/* 9B71E4 80240864 8E220000 */ lw $v0, ($s1) +/* 9B71E8 80240868 3C034000 */ lui $v1, 0x4000 +/* 9B71EC 8024086C 00431024 */ and $v0, $v0, $v1 +/* 9B71F0 80240870 10400007 */ beqz $v0, .L80240890 +/* 9B71F4 80240874 3C03BFFF */ lui $v1, 0xbfff +/* 9B71F8 80240878 2402000C */ addiu $v0, $zero, 0xc +/* 9B71FC 8024087C AE620070 */ sw $v0, 0x70($s3) +/* 9B7200 80240880 8E220000 */ lw $v0, ($s1) +/* 9B7204 80240884 3463FFFF */ ori $v1, $v1, 0xffff +/* 9B7208 80240888 00431024 */ and $v0, $v0, $v1 +/* 9B720C 8024088C AE220000 */ sw $v0, ($s1) +.L80240890: +/* 9B7210 80240890 8E220090 */ lw $v0, 0x90($s1) +/* 9B7214 80240894 1840000C */ blez $v0, .L802408C8 +/* 9B7218 80240898 2442FFFF */ addiu $v0, $v0, -1 +/* 9B721C 8024089C 14400087 */ bnez $v0, .L80240ABC +/* 9B7220 802408A0 AE220090 */ sw $v0, 0x90($s1) +/* 9B7224 802408A4 3C03FFAA */ lui $v1, 0xffaa +/* 9B7228 802408A8 8E420028 */ lw $v0, 0x28($s2) +/* 9B722C 802408AC 3463FFD2 */ ori $v1, $v1, 0xffd2 +/* 9B7230 802408B0 00431021 */ addu $v0, $v0, $v1 +/* 9B7234 802408B4 2C420002 */ sltiu $v0, $v0, 2 +/* 9B7238 802408B8 10400003 */ beqz $v0, .L802408C8 +/* 9B723C 802408BC 3C020055 */ lui $v0, 0x55 +/* 9B7240 802408C0 3442000C */ ori $v0, $v0, 0xc +/* 9B7244 802408C4 AE420028 */ sw $v0, 0x28($s2) +.L802408C8: +/* 9B7248 802408C8 8E630070 */ lw $v1, 0x70($s3) +/* 9B724C 802408CC 2402000C */ addiu $v0, $zero, 0xc +/* 9B7250 802408D0 10620048 */ beq $v1, $v0, .L802409F4 +/* 9B7254 802408D4 2862000D */ slti $v0, $v1, 0xd +/* 9B7258 802408D8 1040000F */ beqz $v0, .L80240918 +/* 9B725C 802408DC 24100001 */ addiu $s0, $zero, 1 +/* 9B7260 802408E0 1070001E */ beq $v1, $s0, .L8024095C +/* 9B7264 802408E4 28620002 */ slti $v0, $v1, 2 +/* 9B7268 802408E8 10400005 */ beqz $v0, .L80240900 +/* 9B726C 802408EC 24020002 */ addiu $v0, $zero, 2 +/* 9B7270 802408F0 10600015 */ beqz $v1, .L80240948 +/* 9B7274 802408F4 0260202D */ daddu $a0, $s3, $zero +/* 9B7278 802408F8 08090294 */ j .L80240A50 +/* 9B727C 802408FC 00000000 */ nop +.L80240900: +/* 9B7280 80240900 1062001C */ beq $v1, $v0, .L80240974 +/* 9B7284 80240904 24020003 */ addiu $v0, $zero, 3 +/* 9B7288 80240908 10620035 */ beq $v1, $v0, .L802409E0 +/* 9B728C 8024090C 0260202D */ daddu $a0, $s3, $zero +/* 9B7290 80240910 08090294 */ j .L80240A50 +/* 9B7294 80240914 00000000 */ nop +.L80240918: +/* 9B7298 80240918 2402000E */ addiu $v0, $zero, 0xe +/* 9B729C 8024091C 1062003F */ beq $v1, $v0, .L80240A1C +/* 9B72A0 80240920 0062102A */ slt $v0, $v1, $v0 +/* 9B72A4 80240924 14400038 */ bnez $v0, .L80240A08 +/* 9B72A8 80240928 0260202D */ daddu $a0, $s3, $zero +/* 9B72AC 8024092C 2402000F */ addiu $v0, $zero, 0xf +/* 9B72B0 80240930 10620040 */ beq $v1, $v0, .L80240A34 +/* 9B72B4 80240934 24020063 */ addiu $v0, $zero, 0x63 +/* 9B72B8 80240938 10620043 */ beq $v1, $v0, .L80240A48 +/* 9B72BC 8024093C 00000000 */ nop +/* 9B72C0 80240940 08090294 */ j .L80240A50 +/* 9B72C4 80240944 00000000 */ nop +.L80240948: +/* 9B72C8 80240948 0280282D */ daddu $a1, $s4, $zero +/* 9B72CC 8024094C 0C012568 */ jal func_800495A0 +/* 9B72D0 80240950 02A0302D */ daddu $a2, $s5, $zero +/* 9B72D4 80240954 96220086 */ lhu $v0, 0x86($s1) +/* 9B72D8 80240958 A64200A8 */ sh $v0, 0xa8($s2) +.L8024095C: +/* 9B72DC 8024095C 0260202D */ daddu $a0, $s3, $zero +/* 9B72E0 80240960 0280282D */ daddu $a1, $s4, $zero +/* 9B72E4 80240964 0C0125AE */ jal func_800496B8 +/* 9B72E8 80240968 02A0302D */ daddu $a2, $s5, $zero +/* 9B72EC 8024096C 08090294 */ j .L80240A50 +/* 9B72F0 80240970 00000000 */ nop +.L80240974: +/* 9B72F4 80240974 0260202D */ daddu $a0, $s3, $zero +/* 9B72F8 80240978 0280282D */ daddu $a1, $s4, $zero +/* 9B72FC 8024097C 0C0126D1 */ jal func_80049B44 +/* 9B7300 80240980 02A0302D */ daddu $a2, $s5, $zero +/* 9B7304 80240984 8E230088 */ lw $v1, 0x88($s1) +/* 9B7308 80240988 24020006 */ addiu $v0, $zero, 6 +/* 9B730C 8024098C 14620014 */ bne $v1, $v0, .L802409E0 +/* 9B7310 80240990 0260202D */ daddu $a0, $s3, $zero +/* 9B7314 80240994 0C00A67F */ jal rand_int +/* 9B7318 80240998 24040064 */ addiu $a0, $zero, 0x64 +/* 9B731C 8024099C 28420021 */ slti $v0, $v0, 0x21 +/* 9B7320 802409A0 5040000F */ beql $v0, $zero, .L802409E0 +/* 9B7324 802409A4 0260202D */ daddu $a0, $s3, $zero +/* 9B7328 802409A8 8E22008C */ lw $v0, 0x8c($s1) +/* 9B732C 802409AC 10400005 */ beqz $v0, .L802409C4 +/* 9B7330 802409B0 3C020055 */ lui $v0, 0x55 +/* 9B7334 802409B4 3442002F */ ori $v0, $v0, 0x2f +/* 9B7338 802409B8 AE20008C */ sw $zero, 0x8c($s1) +/* 9B733C 802409BC 08090274 */ j .L802409D0 +/* 9B7340 802409C0 A22000B5 */ sb $zero, 0xb5($s1) +.L802409C4: +/* 9B7344 802409C4 3442002E */ ori $v0, $v0, 0x2e +/* 9B7348 802409C8 AE30008C */ sw $s0, 0x8c($s1) +/* 9B734C 802409CC A23000B5 */ sb $s0, 0xb5($s1) +.L802409D0: +/* 9B7350 802409D0 AE420028 */ sw $v0, 0x28($s2) +/* 9B7354 802409D4 24020007 */ addiu $v0, $zero, 7 +/* 9B7358 802409D8 080902AF */ j .L80240ABC +/* 9B735C 802409DC AE220090 */ sw $v0, 0x90($s1) +.L802409E0: +/* 9B7360 802409E0 0280282D */ daddu $a1, $s4, $zero +/* 9B7364 802409E4 0C012701 */ jal func_80049C04 +/* 9B7368 802409E8 02A0302D */ daddu $a2, $s5, $zero +/* 9B736C 802409EC 08090294 */ j .L80240A50 +/* 9B7370 802409F0 00000000 */ nop +.L802409F4: +/* 9B7374 802409F4 0260202D */ daddu $a0, $s3, $zero +/* 9B7378 802409F8 0280282D */ daddu $a1, $s4, $zero +/* 9B737C 802409FC 0C0900C4 */ jal func_80240310 +/* 9B7380 80240A00 02A0302D */ daddu $a2, $s5, $zero +/* 9B7384 80240A04 0260202D */ daddu $a0, $s3, $zero +.L80240A08: +/* 9B7388 80240A08 0280282D */ daddu $a1, $s4, $zero +/* 9B738C 80240A0C 0C0900E3 */ jal func_8024038C +/* 9B7390 80240A10 02A0302D */ daddu $a2, $s5, $zero +/* 9B7394 80240A14 08090294 */ j .L80240A50 +/* 9B7398 80240A18 00000000 */ nop +.L80240A1C: +/* 9B739C 80240A1C 0260202D */ daddu $a0, $s3, $zero +/* 9B73A0 80240A20 0280282D */ daddu $a1, $s4, $zero +/* 9B73A4 80240A24 0C090130 */ jal func_802404C0 +/* 9B73A8 80240A28 02A0302D */ daddu $a2, $s5, $zero +/* 9B73AC 80240A2C 08090294 */ j .L80240A50 +/* 9B73B0 80240A30 00000000 */ nop +.L80240A34: +/* 9B73B4 80240A34 0280282D */ daddu $a1, $s4, $zero +/* 9B73B8 80240A38 0C090189 */ jal func_80240624 +/* 9B73BC 80240A3C 02A0302D */ daddu $a2, $s5, $zero +/* 9B73C0 80240A40 08090294 */ j .L80240A50 +/* 9B73C4 80240A44 00000000 */ nop +.L80240A48: +/* 9B73C8 80240A48 0C0129CF */ jal func_8004A73C +/* 9B73CC 80240A4C 0260202D */ daddu $a0, $s3, $zero +.L80240A50: +/* 9B73D0 80240A50 8E230088 */ lw $v1, 0x88($s1) +/* 9B73D4 80240A54 24020006 */ addiu $v0, $zero, 6 +/* 9B73D8 80240A58 14620019 */ bne $v1, $v0, .L80240AC0 +/* 9B73DC 80240A5C 0000102D */ daddu $v0, $zero, $zero +/* 9B73E0 80240A60 8E22008C */ lw $v0, 0x8c($s1) +/* 9B73E4 80240A64 10400003 */ beqz $v0, .L80240A74 +/* 9B73E8 80240A68 24020001 */ addiu $v0, $zero, 1 +/* 9B73EC 80240A6C 0809029E */ j .L80240A78 +/* 9B73F0 80240A70 A22200B5 */ sb $v0, 0xb5($s1) +.L80240A74: +/* 9B73F4 80240A74 A22000B5 */ sb $zero, 0xb5($s1) +.L80240A78: +/* 9B73F8 80240A78 8E22008C */ lw $v0, 0x8c($s1) +/* 9B73FC 80240A7C 1040000F */ beqz $v0, .L80240ABC +/* 9B7400 80240A80 3C03FFAA */ lui $v1, 0xffaa +/* 9B7404 80240A84 8E420028 */ lw $v0, 0x28($s2) +/* 9B7408 80240A88 3463FFFC */ ori $v1, $v1, 0xfffc +/* 9B740C 80240A8C 00431821 */ addu $v1, $v0, $v1 +/* 9B7410 80240A90 2C620015 */ sltiu $v0, $v1, 0x15 +/* 9B7414 80240A94 10400009 */ beqz $v0, .L80240ABC +/* 9B7418 80240A98 00031080 */ sll $v0, $v1, 2 +/* 9B741C 80240A9C 3C018024 */ lui $at, 0x8024 +/* 9B7420 80240AA0 00220821 */ addu $at, $at, $v0 +/* 9B7424 80240AA4 8C224828 */ lw $v0, 0x4828($at) +/* 9B7428 80240AA8 00400008 */ jr $v0 +/* 9B742C 80240AAC 00000000 */ nop +/* 9B7430 80240AB0 8E420028 */ lw $v0, 0x28($s2) +/* 9B7434 80240AB4 24420001 */ addiu $v0, $v0, 1 +/* 9B7438 80240AB8 AE420028 */ sw $v0, 0x28($s2) +.L80240ABC: +/* 9B743C 80240ABC 0000102D */ daddu $v0, $zero, $zero +.L80240AC0: +/* 9B7440 80240AC0 8FBF0068 */ lw $ra, 0x68($sp) +/* 9B7444 80240AC4 8FB50064 */ lw $s5, 0x64($sp) +/* 9B7448 80240AC8 8FB40060 */ lw $s4, 0x60($sp) +/* 9B744C 80240ACC 8FB3005C */ lw $s3, 0x5c($sp) +/* 9B7450 80240AD0 8FB20058 */ lw $s2, 0x58($sp) +/* 9B7454 80240AD4 8FB10054 */ lw $s1, 0x54($sp) +/* 9B7458 80240AD8 8FB00050 */ lw $s0, 0x50($sp) +/* 9B745C 80240ADC 03E00008 */ jr $ra +/* 9B7460 80240AE0 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240AE4.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240AE4.s new file mode 100644 index 0000000000..b47e22e67a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240AE4.s @@ -0,0 +1,116 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240AE4 +/* 9B7464 80240AE4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9B7468 80240AE8 AFB3002C */ sw $s3, 0x2c($sp) +/* 9B746C 80240AEC 0080982D */ daddu $s3, $a0, $zero +/* 9B7470 80240AF0 AFBF0030 */ sw $ra, 0x30($sp) +/* 9B7474 80240AF4 AFB20028 */ sw $s2, 0x28($sp) +/* 9B7478 80240AF8 AFB10024 */ sw $s1, 0x24($sp) +/* 9B747C 80240AFC AFB00020 */ sw $s0, 0x20($sp) +/* 9B7480 80240B00 8E710148 */ lw $s1, 0x148($s3) +/* 9B7484 80240B04 86240008 */ lh $a0, 8($s1) +/* 9B7488 80240B08 0C00EABB */ jal get_npc_unsafe +/* 9B748C 80240B0C 00A0902D */ daddu $s2, $a1, $zero +/* 9B7490 80240B10 8E440004 */ lw $a0, 4($s2) +/* 9B7494 80240B14 0040802D */ daddu $s0, $v0, $zero +/* 9B7498 80240B18 00041FC2 */ srl $v1, $a0, 0x1f +/* 9B749C 80240B1C 00832021 */ addu $a0, $a0, $v1 +/* 9B74A0 80240B20 00042043 */ sra $a0, $a0, 1 +/* 9B74A4 80240B24 0C00A67F */ jal rand_int +/* 9B74A8 80240B28 24840001 */ addiu $a0, $a0, 1 +/* 9B74AC 80240B2C 8E430004 */ lw $v1, 4($s2) +/* 9B74B0 80240B30 000327C2 */ srl $a0, $v1, 0x1f +/* 9B74B4 80240B34 00641821 */ addu $v1, $v1, $a0 +/* 9B74B8 80240B38 00031843 */ sra $v1, $v1, 1 +/* 9B74BC 80240B3C 00621821 */ addu $v1, $v1, $v0 +/* 9B74C0 80240B40 A603008E */ sh $v1, 0x8e($s0) +/* 9B74C4 80240B44 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B74C8 80240B48 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9B74CC 80240B4C C4640000 */ lwc1 $f4, ($v1) +/* 9B74D0 80240B50 46802120 */ cvt.s.w $f4, $f4 +/* 9B74D4 80240B54 C4620008 */ lwc1 $f2, 8($v1) +/* 9B74D8 80240B58 468010A0 */ cvt.s.w $f2, $f2 +/* 9B74DC 80240B5C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9B74E0 80240B60 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B74E4 80240B64 44061000 */ mfc1 $a2, $f2 +/* 9B74E8 80240B68 C440000C */ lwc1 $f0, 0xc($v0) +/* 9B74EC 80240B6C 46800020 */ cvt.s.w $f0, $f0 +/* 9B74F0 80240B70 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9B74F4 80240B74 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B74F8 80240B78 44052000 */ mfc1 $a1, $f4 +/* 9B74FC 80240B7C C4400010 */ lwc1 $f0, 0x10($v0) +/* 9B7500 80240B80 46800020 */ cvt.s.w $f0, $f0 +/* 9B7504 80240B84 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B7508 80240B88 8C640018 */ lw $a0, 0x18($v1) +/* 9B750C 80240B8C 0C0123F5 */ jal is_point_within_region +/* 9B7510 80240B90 8E070038 */ lw $a3, 0x38($s0) +/* 9B7514 80240B94 1040000E */ beqz $v0, .L80240BD0 +/* 9B7518 80240B98 00000000 */ nop +/* 9B751C 80240B9C 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7520 80240BA0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B7524 80240BA4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B7528 80240BA8 C4460000 */ lwc1 $f6, ($v0) +/* 9B752C 80240BAC 468031A0 */ cvt.s.w $f6, $f6 +/* 9B7530 80240BB0 44063000 */ mfc1 $a2, $f6 +/* 9B7534 80240BB4 C4460008 */ lwc1 $f6, 8($v0) +/* 9B7538 80240BB8 468031A0 */ cvt.s.w $f6, $f6 +/* 9B753C 80240BBC 44073000 */ mfc1 $a3, $f6 +/* 9B7540 80240BC0 0C00A720 */ jal atan2 +/* 9B7544 80240BC4 00000000 */ nop +/* 9B7548 80240BC8 08090300 */ j .L80240C00 +/* 9B754C 80240BCC E600000C */ swc1 $f0, 0xc($s0) +.L80240BD0: +/* 9B7550 80240BD0 0C00A67F */ jal rand_int +/* 9B7554 80240BD4 2404003C */ addiu $a0, $zero, 0x3c +/* 9B7558 80240BD8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9B755C 80240BDC 44820000 */ mtc1 $v0, $f0 +/* 9B7560 80240BE0 00000000 */ nop +/* 9B7564 80240BE4 46800020 */ cvt.s.w $f0, $f0 +/* 9B7568 80240BE8 46006300 */ add.s $f12, $f12, $f0 +/* 9B756C 80240BEC 3C0141F0 */ lui $at, 0x41f0 +/* 9B7570 80240BF0 44810000 */ mtc1 $at, $f0 +/* 9B7574 80240BF4 0C00A6C9 */ jal clamp_angle +/* 9B7578 80240BF8 46006301 */ sub.s $f12, $f12, $f0 +/* 9B757C 80240BFC E600000C */ swc1 $f0, 0xc($s0) +.L80240C00: +/* 9B7580 80240C00 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B7584 80240C04 8C420004 */ lw $v0, 4($v0) +/* 9B7588 80240C08 AE020028 */ sw $v0, 0x28($s0) +/* 9B758C 80240C0C AE600074 */ sw $zero, 0x74($s3) +/* 9B7590 80240C10 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7594 80240C14 8C420014 */ lw $v0, 0x14($v0) +/* 9B7598 80240C18 04410004 */ bgez $v0, .L80240C2C +/* 9B759C 80240C1C 00000000 */ nop +/* 9B75A0 80240C20 C6400000 */ lwc1 $f0, ($s2) +/* 9B75A4 80240C24 08090313 */ j .L80240C4C +/* 9B75A8 80240C28 E6000018 */ swc1 $f0, 0x18($s0) +.L80240C2C: +/* 9B75AC 80240C2C 3C018024 */ lui $at, 0x8024 +/* 9B75B0 80240C30 D4224880 */ ldc1 $f2, 0x4880($at) +/* 9B75B4 80240C34 44820000 */ mtc1 $v0, $f0 +/* 9B75B8 80240C38 00000000 */ nop +/* 9B75BC 80240C3C 46800021 */ cvt.d.w $f0, $f0 +/* 9B75C0 80240C40 46220003 */ div.d $f0, $f0, $f2 +/* 9B75C4 80240C44 46200020 */ cvt.s.d $f0, $f0 +/* 9B75C8 80240C48 E6000018 */ swc1 $f0, 0x18($s0) +.L80240C4C: +/* 9B75CC 80240C4C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B75D0 80240C50 3C014059 */ lui $at, 0x4059 +/* 9B75D4 80240C54 44811800 */ mtc1 $at, $f3 +/* 9B75D8 80240C58 44801000 */ mtc1 $zero, $f2 +/* 9B75DC 80240C5C 46000021 */ cvt.d.s $f0, $f0 +/* 9B75E0 80240C60 46220002 */ mul.d $f0, $f0, $f2 +/* 9B75E4 80240C64 00000000 */ nop +/* 9B75E8 80240C68 24020001 */ addiu $v0, $zero, 1 +/* 9B75EC 80240C6C 4620018D */ trunc.w.d $f6, $f0 +/* 9B75F0 80240C70 E626007C */ swc1 $f6, 0x7c($s1) +/* 9B75F4 80240C74 AE620070 */ sw $v0, 0x70($s3) +/* 9B75F8 80240C78 8FBF0030 */ lw $ra, 0x30($sp) +/* 9B75FC 80240C7C 8FB3002C */ lw $s3, 0x2c($sp) +/* 9B7600 80240C80 8FB20028 */ lw $s2, 0x28($sp) +/* 9B7604 80240C84 8FB10024 */ lw $s1, 0x24($sp) +/* 9B7608 80240C88 8FB00020 */ lw $s0, 0x20($sp) +/* 9B760C 80240C8C 03E00008 */ jr $ra +/* 9B7610 80240C90 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80240C94_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80240C94_9B6980.s new file mode 100644 index 0000000000..2a7260c6d3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80240C94_9B6980.s @@ -0,0 +1,418 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240C94_9B7614 +/* 9B7614 80240C94 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 9B7618 80240C98 AFB3004C */ sw $s3, 0x4c($sp) +/* 9B761C 80240C9C 0080982D */ daddu $s3, $a0, $zero +/* 9B7620 80240CA0 AFBF0058 */ sw $ra, 0x58($sp) +/* 9B7624 80240CA4 AFB50054 */ sw $s5, 0x54($sp) +/* 9B7628 80240CA8 AFB40050 */ sw $s4, 0x50($sp) +/* 9B762C 80240CAC AFB20048 */ sw $s2, 0x48($sp) +/* 9B7630 80240CB0 AFB10044 */ sw $s1, 0x44($sp) +/* 9B7634 80240CB4 AFB00040 */ sw $s0, 0x40($sp) +/* 9B7638 80240CB8 F7BA0078 */ sdc1 $f26, 0x78($sp) +/* 9B763C 80240CBC F7B80070 */ sdc1 $f24, 0x70($sp) +/* 9B7640 80240CC0 F7B60068 */ sdc1 $f22, 0x68($sp) +/* 9B7644 80240CC4 F7B40060 */ sdc1 $f20, 0x60($sp) +/* 9B7648 80240CC8 8E710148 */ lw $s1, 0x148($s3) +/* 9B764C 80240CCC 00A0902D */ daddu $s2, $a1, $zero +/* 9B7650 80240CD0 86240008 */ lh $a0, 8($s1) +/* 9B7654 80240CD4 0C00EABB */ jal get_npc_unsafe +/* 9B7658 80240CD8 00C0A82D */ daddu $s5, $a2, $zero +/* 9B765C 80240CDC 0040802D */ daddu $s0, $v0, $zero +/* 9B7660 80240CE0 0000A02D */ daddu $s4, $zero, $zero +/* 9B7664 80240CE4 C624007C */ lwc1 $f4, 0x7c($s1) +/* 9B7668 80240CE8 46802120 */ cvt.s.w $f4, $f4 +/* 9B766C 80240CEC C6220088 */ lwc1 $f2, 0x88($s1) +/* 9B7670 80240CF0 468010A0 */ cvt.s.w $f2, $f2 +/* 9B7674 80240CF4 460010A1 */ cvt.d.s $f2, $f2 +/* 9B7678 80240CF8 46002121 */ cvt.d.s $f4, $f4 +/* 9B767C 80240CFC C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B7680 80240D00 3C014059 */ lui $at, 0x4059 +/* 9B7684 80240D04 44813800 */ mtc1 $at, $f7 +/* 9B7688 80240D08 44803000 */ mtc1 $zero, $f6 +/* 9B768C 80240D0C 46000021 */ cvt.d.s $f0, $f0 +/* 9B7690 80240D10 46260002 */ mul.d $f0, $f0, $f6 +/* 9B7694 80240D14 00000000 */ nop +/* 9B7698 80240D18 24020001 */ addiu $v0, $zero, 1 +/* 9B769C 80240D1C 8E24006C */ lw $a0, 0x6c($s1) +/* 9B76A0 80240D20 46261083 */ div.d $f2, $f2, $f6 +/* 9B76A4 80240D24 462010A0 */ cvt.s.d $f2, $f2 +/* 9B76A8 80240D28 46262103 */ div.d $f4, $f4, $f6 +/* 9B76AC 80240D2C 46202520 */ cvt.s.d $f20, $f4 +/* 9B76B0 80240D30 30830011 */ andi $v1, $a0, 0x11 +/* 9B76B4 80240D34 4620020D */ trunc.w.d $f8, $f0 +/* 9B76B8 80240D38 E628007C */ swc1 $f8, 0x7c($s1) +/* 9B76BC 80240D3C C6200078 */ lwc1 $f0, 0x78($s1) +/* 9B76C0 80240D40 46800020 */ cvt.s.w $f0, $f0 +/* 9B76C4 80240D44 46000021 */ cvt.d.s $f0, $f0 +/* 9B76C8 80240D48 46260003 */ div.d $f0, $f0, $f6 +/* 9B76CC 80240D4C 462006A0 */ cvt.s.d $f26, $f0 +/* 9B76D0 80240D50 C6200070 */ lwc1 $f0, 0x70($s1) +/* 9B76D4 80240D54 46800020 */ cvt.s.w $f0, $f0 +/* 9B76D8 80240D58 46000021 */ cvt.d.s $f0, $f0 +/* 9B76DC 80240D5C 46260003 */ div.d $f0, $f0, $f6 +/* 9B76E0 80240D60 462005A0 */ cvt.s.d $f22, $f0 +/* 9B76E4 80240D64 14620025 */ bne $v1, $v0, .L80240DFC +/* 9B76E8 80240D68 4602D600 */ add.s $f24, $f26, $f2 +/* 9B76EC 80240D6C 8E020000 */ lw $v0, ($s0) +/* 9B76F0 80240D70 30420008 */ andi $v0, $v0, 8 +/* 9B76F4 80240D74 10400009 */ beqz $v0, .L80240D9C +/* 9B76F8 80240D78 27A50028 */ addiu $a1, $sp, 0x28 +/* 9B76FC 80240D7C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B7700 80240D80 4600C001 */ sub.s $f0, $f24, $f0 +/* 9B7704 80240D84 4600B03C */ c.lt.s $f22, $f0 +/* 9B7708 80240D88 00000000 */ nop +/* 9B770C 80240D8C 4500001B */ bc1f .L80240DFC +/* 9B7710 80240D90 34820010 */ ori $v0, $a0, 0x10 +/* 9B7714 80240D94 0809037F */ j .L80240DFC +/* 9B7718 80240D98 AE22006C */ sw $v0, 0x6c($s1) +.L80240D9C: +/* 9B771C 80240D9C 27A6002C */ addiu $a2, $sp, 0x2c +/* 9B7720 80240DA0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B7724 80240DA4 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B7728 80240DA8 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B772C 80240DAC 3C01447A */ lui $at, 0x447a +/* 9B7730 80240DB0 44813000 */ mtc1 $at, $f6 +/* 9B7734 80240DB4 27A20034 */ addiu $v0, $sp, 0x34 +/* 9B7738 80240DB8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B773C 80240DBC E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9B7740 80240DC0 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9B7744 80240DC4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9B7748 80240DC8 AFA20010 */ sw $v0, 0x10($sp) +/* 9B774C 80240DCC 8E040080 */ lw $a0, 0x80($s0) +/* 9B7750 80240DD0 0C0372DF */ jal func_800DCB7C +/* 9B7754 80240DD4 27A70030 */ addiu $a3, $sp, 0x30 +/* 9B7758 80240DD8 C7A00034 */ lwc1 $f0, 0x34($sp) +/* 9B775C 80240DDC 4600D001 */ sub.s $f0, $f26, $f0 +/* 9B7760 80240DE0 4600B03C */ c.lt.s $f22, $f0 +/* 9B7764 80240DE4 00000000 */ nop +/* 9B7768 80240DE8 45000004 */ bc1f .L80240DFC +/* 9B776C 80240DEC 00000000 */ nop +/* 9B7770 80240DF0 8E22006C */ lw $v0, 0x6c($s1) +/* 9B7774 80240DF4 34420010 */ ori $v0, $v0, 0x10 +/* 9B7778 80240DF8 AE22006C */ sw $v0, 0x6c($s1) +.L80240DFC: +/* 9B777C 80240DFC 8E22006C */ lw $v0, 0x6c($s1) +/* 9B7780 80240E00 24030011 */ addiu $v1, $zero, 0x11 +/* 9B7784 80240E04 30420011 */ andi $v0, $v0, 0x11 +/* 9B7788 80240E08 14430039 */ bne $v0, $v1, .L80240EF0 +/* 9B778C 80240E0C 00000000 */ nop +/* 9B7790 80240E10 8E020000 */ lw $v0, ($s0) +/* 9B7794 80240E14 30420008 */ andi $v0, $v0, 8 +/* 9B7798 80240E18 1040000A */ beqz $v0, .L80240E44 +/* 9B779C 80240E1C 4600C106 */ mov.s $f4, $f24 +/* 9B77A0 80240E20 4614C081 */ sub.s $f2, $f24, $f20 +/* 9B77A4 80240E24 3C018024 */ lui $at, 0x8024 +/* 9B77A8 80240E28 D4204888 */ ldc1 $f0, 0x4888($at) +/* 9B77AC 80240E2C 460010A1 */ cvt.d.s $f2, $f2 +/* 9B77B0 80240E30 46201082 */ mul.d $f2, $f2, $f0 +/* 9B77B4 80240E34 00000000 */ nop +/* 9B77B8 80240E38 4600A021 */ cvt.d.s $f0, $f20 +/* 9B77BC 80240E3C 080903AA */ j .L80240EA8 +/* 9B77C0 80240E40 46220000 */ add.d $f0, $f0, $f2 +.L80240E44: +/* 9B77C4 80240E44 27A50028 */ addiu $a1, $sp, 0x28 +/* 9B77C8 80240E48 27A6002C */ addiu $a2, $sp, 0x2c +/* 9B77CC 80240E4C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B77D0 80240E50 C6020040 */ lwc1 $f2, 0x40($s0) +/* 9B77D4 80240E54 3C01447A */ lui $at, 0x447a +/* 9B77D8 80240E58 44812000 */ mtc1 $at, $f4 +/* 9B77DC 80240E5C 27A20034 */ addiu $v0, $sp, 0x34 +/* 9B77E0 80240E60 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 9B77E4 80240E64 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B77E8 80240E68 E7A20030 */ swc1 $f2, 0x30($sp) +/* 9B77EC 80240E6C E7A40034 */ swc1 $f4, 0x34($sp) +/* 9B77F0 80240E70 AFA20010 */ sw $v0, 0x10($sp) +/* 9B77F4 80240E74 8E040080 */ lw $a0, 0x80($s0) +/* 9B77F8 80240E78 0C0372DF */ jal func_800DCB7C +/* 9B77FC 80240E7C 27A70030 */ addiu $a3, $sp, 0x30 +/* 9B7800 80240E80 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 9B7804 80240E84 461A2100 */ add.s $f4, $f4, $f26 +/* 9B7808 80240E88 46142081 */ sub.s $f2, $f4, $f20 +/* 9B780C 80240E8C 3C018024 */ lui $at, 0x8024 +/* 9B7810 80240E90 D4204890 */ ldc1 $f0, 0x4890($at) +/* 9B7814 80240E94 460010A1 */ cvt.d.s $f2, $f2 +/* 9B7818 80240E98 46201082 */ mul.d $f2, $f2, $f0 +/* 9B781C 80240E9C 00000000 */ nop +/* 9B7820 80240EA0 4600A021 */ cvt.d.s $f0, $f20 +/* 9B7824 80240EA4 46220000 */ add.d $f0, $f0, $f2 +.L80240EA8: +/* 9B7828 80240EA8 46200020 */ cvt.s.d $f0, $f0 +/* 9B782C 80240EAC E600003C */ swc1 $f0, 0x3c($s0) +/* 9B7830 80240EB0 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B7834 80240EB4 46002001 */ sub.s $f0, $f4, $f0 +/* 9B7838 80240EB8 3C013FF0 */ lui $at, 0x3ff0 +/* 9B783C 80240EBC 44811800 */ mtc1 $at, $f3 +/* 9B7840 80240EC0 44801000 */ mtc1 $zero, $f2 +/* 9B7844 80240EC4 46000005 */ abs.s $f0, $f0 +/* 9B7848 80240EC8 46000021 */ cvt.d.s $f0, $f0 +/* 9B784C 80240ECC 4622003C */ c.lt.d $f0, $f2 +/* 9B7850 80240ED0 00000000 */ nop +/* 9B7854 80240ED4 45000036 */ bc1f .L80240FB0 +/* 9B7858 80240ED8 2403FFEF */ addiu $v1, $zero, -0x11 +/* 9B785C 80240EDC E604003C */ swc1 $f4, 0x3c($s0) +/* 9B7860 80240EE0 8E22006C */ lw $v0, 0x6c($s1) +/* 9B7864 80240EE4 00431024 */ and $v0, $v0, $v1 +/* 9B7868 80240EE8 080903EC */ j .L80240FB0 +/* 9B786C 80240EEC AE22006C */ sw $v0, 0x6c($s1) +.L80240EF0: +/* 9B7870 80240EF0 8E220070 */ lw $v0, 0x70($s1) +/* 9B7874 80240EF4 1840002E */ blez $v0, .L80240FB0 +/* 9B7878 80240EF8 00000000 */ nop +/* 9B787C 80240EFC C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9B7880 80240F00 0C00A8BB */ jal sin_deg +/* 9B7884 80240F04 46806320 */ cvt.s.w $f12, $f12 +/* 9B7888 80240F08 8E020000 */ lw $v0, ($s0) +/* 9B788C 80240F0C 30420008 */ andi $v0, $v0, 8 +/* 9B7890 80240F10 10400003 */ beqz $v0, .L80240F20 +/* 9B7894 80240F14 46000506 */ mov.s $f20, $f0 +/* 9B7898 80240F18 080903D8 */ j .L80240F60 +/* 9B789C 80240F1C 0000102D */ daddu $v0, $zero, $zero +.L80240F20: +/* 9B78A0 80240F20 27A50028 */ addiu $a1, $sp, 0x28 +/* 9B78A4 80240F24 27A6002C */ addiu $a2, $sp, 0x2c +/* 9B78A8 80240F28 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B78AC 80240F2C C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B78B0 80240F30 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B78B4 80240F34 3C01447A */ lui $at, 0x447a +/* 9B78B8 80240F38 44813000 */ mtc1 $at, $f6 +/* 9B78BC 80240F3C 27A20034 */ addiu $v0, $sp, 0x34 +/* 9B78C0 80240F40 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B78C4 80240F44 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9B78C8 80240F48 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9B78CC 80240F4C E7A60034 */ swc1 $f6, 0x34($sp) +/* 9B78D0 80240F50 AFA20010 */ sw $v0, 0x10($sp) +/* 9B78D4 80240F54 8E040080 */ lw $a0, 0x80($s0) +/* 9B78D8 80240F58 0C0372DF */ jal func_800DCB7C +/* 9B78DC 80240F5C 27A70030 */ addiu $a3, $sp, 0x30 +.L80240F60: +/* 9B78E0 80240F60 10400007 */ beqz $v0, .L80240F80 +/* 9B78E4 80240F64 00000000 */ nop +/* 9B78E8 80240F68 4616A082 */ mul.s $f2, $f20, $f22 +/* 9B78EC 80240F6C 00000000 */ nop +/* 9B78F0 80240F70 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9B78F4 80240F74 461A0000 */ add.s $f0, $f0, $f26 +/* 9B78F8 80240F78 080903E3 */ j .L80240F8C +/* 9B78FC 80240F7C 46020000 */ add.s $f0, $f0, $f2 +.L80240F80: +/* 9B7900 80240F80 4616A002 */ mul.s $f0, $f20, $f22 +/* 9B7904 80240F84 00000000 */ nop +/* 9B7908 80240F88 4600C000 */ add.s $f0, $f24, $f0 +.L80240F8C: +/* 9B790C 80240F8C E600003C */ swc1 $f0, 0x3c($s0) +/* 9B7910 80240F90 8E220074 */ lw $v0, 0x74($s1) +/* 9B7914 80240F94 2442000A */ addiu $v0, $v0, 0xa +/* 9B7918 80240F98 44826000 */ mtc1 $v0, $f12 +/* 9B791C 80240F9C 00000000 */ nop +/* 9B7920 80240FA0 0C00A6C9 */ jal clamp_angle +/* 9B7924 80240FA4 46806320 */ cvt.s.w $f12, $f12 +/* 9B7928 80240FA8 4600020D */ trunc.w.s $f8, $f0 +/* 9B792C 80240FAC E6280074 */ swc1 $f8, 0x74($s1) +.L80240FB0: +/* 9B7930 80240FB0 8E220090 */ lw $v0, 0x90($s1) +/* 9B7934 80240FB4 1C40004A */ bgtz $v0, .L802410E0 +/* 9B7938 80240FB8 2442FFFF */ addiu $v0, $v0, -1 +/* 9B793C 80240FBC 8E430014 */ lw $v1, 0x14($s2) +/* 9B7940 80240FC0 04600048 */ bltz $v1, .L802410E4 +/* 9B7944 80240FC4 00000000 */ nop +/* 9B7948 80240FC8 8E620074 */ lw $v0, 0x74($s3) +/* 9B794C 80240FCC 1C400042 */ bgtz $v0, .L802410D8 +/* 9B7950 80240FD0 2442FFFF */ addiu $v0, $v0, -1 +/* 9B7954 80240FD4 AE630074 */ sw $v1, 0x74($s3) +/* 9B7958 80240FD8 860200A8 */ lh $v0, 0xa8($s0) +/* 9B795C 80240FDC C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B7960 80240FE0 44820000 */ mtc1 $v0, $f0 +/* 9B7964 80240FE4 00000000 */ nop +/* 9B7968 80240FE8 46800020 */ cvt.s.w $f0, $f0 +/* 9B796C 80240FEC 46001080 */ add.s $f2, $f2, $f0 +/* 9B7970 80240FF0 3C014024 */ lui $at, 0x4024 +/* 9B7974 80240FF4 44810800 */ mtc1 $at, $f1 +/* 9B7978 80240FF8 44800000 */ mtc1 $zero, $f0 +/* 9B797C 80240FFC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B7980 80241000 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B7984 80241004 460010A1 */ cvt.d.s $f2, $f2 +/* 9B7988 80241008 46201080 */ add.d $f2, $f2, $f0 +/* 9B798C 8024100C C440002C */ lwc1 $f0, 0x2c($v0) +/* 9B7990 80241010 46000021 */ cvt.d.s $f0, $f0 +/* 9B7994 80241014 4622003C */ c.lt.d $f0, $f2 +/* 9B7998 80241018 00000000 */ nop +/* 9B799C 8024101C 4500002C */ bc1f .L802410D0 +/* 9B79A0 80241020 02A0202D */ daddu $a0, $s5, $zero +/* 9B79A4 80241024 AFA00010 */ sw $zero, 0x10($sp) +/* 9B79A8 80241028 8E46000C */ lw $a2, 0xc($s2) +/* 9B79AC 8024102C 8E470010 */ lw $a3, 0x10($s2) +/* 9B79B0 80241030 0C01242D */ jal func_800490B4 +/* 9B79B4 80241034 0220282D */ daddu $a1, $s1, $zero +/* 9B79B8 80241038 10400025 */ beqz $v0, .L802410D0 +/* 9B79BC 8024103C 0000202D */ daddu $a0, $zero, $zero +/* 9B79C0 80241040 0200282D */ daddu $a1, $s0, $zero +/* 9B79C4 80241044 0000302D */ daddu $a2, $zero, $zero +/* 9B79C8 80241048 2412000C */ addiu $s2, $zero, 0xc +/* 9B79CC 8024104C 860300A8 */ lh $v1, 0xa8($s0) +/* 9B79D0 80241050 3C013F80 */ lui $at, 0x3f80 +/* 9B79D4 80241054 44810000 */ mtc1 $at, $f0 +/* 9B79D8 80241058 3C014000 */ lui $at, 0x4000 +/* 9B79DC 8024105C 44811000 */ mtc1 $at, $f2 +/* 9B79E0 80241060 3C01C1A0 */ lui $at, 0xc1a0 +/* 9B79E4 80241064 44812000 */ mtc1 $at, $f4 +/* 9B79E8 80241068 44834000 */ mtc1 $v1, $f8 +/* 9B79EC 8024106C 00000000 */ nop +/* 9B79F0 80241070 46804220 */ cvt.s.w $f8, $f8 +/* 9B79F4 80241074 44074000 */ mfc1 $a3, $f8 +/* 9B79F8 80241078 27A20038 */ addiu $v0, $sp, 0x38 +/* 9B79FC 8024107C AFB2001C */ sw $s2, 0x1c($sp) +/* 9B7A00 80241080 AFA20020 */ sw $v0, 0x20($sp) +/* 9B7A04 80241084 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9B7A08 80241088 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9B7A0C 8024108C 0C01BFA4 */ jal fx_emote +/* 9B7A10 80241090 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9B7A14 80241094 0200202D */ daddu $a0, $s0, $zero +/* 9B7A18 80241098 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9B7A1C 8024109C C480003C */ lwc1 $f0, 0x3c($a0) +/* 9B7A20 802410A0 3C060020 */ lui $a2, 0x20 +/* 9B7A24 802410A4 0C012530 */ jal func_800494C0 +/* 9B7A28 802410A8 E4800064 */ swc1 $f0, 0x64($a0) +/* 9B7A2C 802410AC 8E220018 */ lw $v0, 0x18($s1) +/* 9B7A30 802410B0 9442002A */ lhu $v0, 0x2a($v0) +/* 9B7A34 802410B4 30420001 */ andi $v0, $v0, 1 +/* 9B7A38 802410B8 10400003 */ beqz $v0, .L802410C8 +/* 9B7A3C 802410BC 2402000A */ addiu $v0, $zero, 0xa +/* 9B7A40 802410C0 080904A2 */ j .L80241288 +/* 9B7A44 802410C4 AE620070 */ sw $v0, 0x70($s3) +.L802410C8: +/* 9B7A48 802410C8 080904A2 */ j .L80241288 +/* 9B7A4C 802410CC AE720070 */ sw $s2, 0x70($s3) +.L802410D0: +/* 9B7A50 802410D0 8E620074 */ lw $v0, 0x74($s3) +/* 9B7A54 802410D4 2442FFFF */ addiu $v0, $v0, -1 +.L802410D8: +/* 9B7A58 802410D8 08090439 */ j .L802410E4 +/* 9B7A5C 802410DC AE620074 */ sw $v0, 0x74($s3) +.L802410E0: +/* 9B7A60 802410E0 AE220090 */ sw $v0, 0x90($s1) +.L802410E4: +/* 9B7A64 802410E4 8E2300D0 */ lw $v1, 0xd0($s1) +/* 9B7A68 802410E8 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9B7A6C 802410EC C4620000 */ lwc1 $f2, ($v1) +/* 9B7A70 802410F0 468010A0 */ cvt.s.w $f2, $f2 +/* 9B7A74 802410F4 C4640008 */ lwc1 $f4, 8($v1) +/* 9B7A78 802410F8 46802120 */ cvt.s.w $f4, $f4 +/* 9B7A7C 802410FC E7A00010 */ swc1 $f0, 0x10($sp) +/* 9B7A80 80241100 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7A84 80241104 44051000 */ mfc1 $a1, $f2 +/* 9B7A88 80241108 C440000C */ lwc1 $f0, 0xc($v0) +/* 9B7A8C 8024110C 46800020 */ cvt.s.w $f0, $f0 +/* 9B7A90 80241110 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9B7A94 80241114 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7A98 80241118 44062000 */ mfc1 $a2, $f4 +/* 9B7A9C 8024111C C4400010 */ lwc1 $f0, 0x10($v0) +/* 9B7AA0 80241120 46800020 */ cvt.s.w $f0, $f0 +/* 9B7AA4 80241124 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B7AA8 80241128 8C640018 */ lw $a0, 0x18($v1) +/* 9B7AAC 8024112C 0C0123F5 */ jal is_point_within_region +/* 9B7AB0 80241130 8E070038 */ lw $a3, 0x38($s0) +/* 9B7AB4 80241134 1040001A */ beqz $v0, .L802411A0 +/* 9B7AB8 80241138 00000000 */ nop +/* 9B7ABC 8024113C 8E060038 */ lw $a2, 0x38($s0) +/* 9B7AC0 80241140 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7AC4 80241144 8E070040 */ lw $a3, 0x40($s0) +/* 9B7AC8 80241148 C44C0000 */ lwc1 $f12, ($v0) +/* 9B7ACC 8024114C 46806320 */ cvt.s.w $f12, $f12 +/* 9B7AD0 80241150 C44E0008 */ lwc1 $f14, 8($v0) +/* 9B7AD4 80241154 0C00A7B5 */ jal dist2D +/* 9B7AD8 80241158 468073A0 */ cvt.s.w $f14, $f14 +/* 9B7ADC 8024115C C6020018 */ lwc1 $f2, 0x18($s0) +/* 9B7AE0 80241160 4600103C */ c.lt.s $f2, $f0 +/* 9B7AE4 80241164 00000000 */ nop +/* 9B7AE8 80241168 4500000D */ bc1f .L802411A0 +/* 9B7AEC 8024116C E7A00034 */ swc1 $f0, 0x34($sp) +/* 9B7AF0 80241170 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B7AF4 80241174 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7AF8 80241178 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B7AFC 8024117C C4480000 */ lwc1 $f8, ($v0) +/* 9B7B00 80241180 46804220 */ cvt.s.w $f8, $f8 +/* 9B7B04 80241184 44064000 */ mfc1 $a2, $f8 +/* 9B7B08 80241188 C4480008 */ lwc1 $f8, 8($v0) +/* 9B7B0C 8024118C 46804220 */ cvt.s.w $f8, $f8 +/* 9B7B10 80241190 44074000 */ mfc1 $a3, $f8 +/* 9B7B14 80241194 0C00A720 */ jal atan2 +/* 9B7B18 80241198 24140001 */ addiu $s4, $zero, 1 +/* 9B7B1C 8024119C E600000C */ swc1 $f0, 0xc($s0) +.L802411A0: +/* 9B7B20 802411A0 8E2200D0 */ lw $v0, 0xd0($s1) +/* 9B7B24 802411A4 8C43000C */ lw $v1, 0xc($v0) +/* 9B7B28 802411A8 8C420010 */ lw $v0, 0x10($v0) +/* 9B7B2C 802411AC 00621825 */ or $v1, $v1, $v0 +/* 9B7B30 802411B0 00741825 */ or $v1, $v1, $s4 +/* 9B7B34 802411B4 10600008 */ beqz $v1, .L802411D8 +/* 9B7B38 802411B8 00000000 */ nop +/* 9B7B3C 802411BC 8602008C */ lh $v0, 0x8c($s0) +/* 9B7B40 802411C0 14400031 */ bnez $v0, .L80241288 +/* 9B7B44 802411C4 00000000 */ nop +/* 9B7B48 802411C8 8E050018 */ lw $a1, 0x18($s0) +/* 9B7B4C 802411CC 8E06000C */ lw $a2, 0xc($s0) +/* 9B7B50 802411D0 0C00EA95 */ jal npc_move_heading +/* 9B7B54 802411D4 0200202D */ daddu $a0, $s0, $zero +.L802411D8: +/* 9B7B58 802411D8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B7B5C 802411DC 3C014059 */ lui $at, 0x4059 +/* 9B7B60 802411E0 44811800 */ mtc1 $at, $f3 +/* 9B7B64 802411E4 44801000 */ mtc1 $zero, $f2 +/* 9B7B68 802411E8 46000021 */ cvt.d.s $f0, $f0 +/* 9B7B6C 802411EC 46220002 */ mul.d $f0, $f0, $f2 +/* 9B7B70 802411F0 00000000 */ nop +/* 9B7B74 802411F4 4620020D */ trunc.w.d $f8, $f0 +/* 9B7B78 802411F8 E628007C */ swc1 $f8, 0x7c($s1) +/* 9B7B7C 802411FC 8E420004 */ lw $v0, 4($s2) +/* 9B7B80 80241200 18400021 */ blez $v0, .L80241288 +/* 9B7B84 80241204 00000000 */ nop +/* 9B7B88 80241208 8602008E */ lh $v0, 0x8e($s0) +/* 9B7B8C 8024120C 9603008E */ lhu $v1, 0x8e($s0) +/* 9B7B90 80241210 18400005 */ blez $v0, .L80241228 +/* 9B7B94 80241214 2462FFFF */ addiu $v0, $v1, -1 +/* 9B7B98 80241218 A602008E */ sh $v0, 0x8e($s0) +/* 9B7B9C 8024121C 00021400 */ sll $v0, $v0, 0x10 +/* 9B7BA0 80241220 1C400019 */ bgtz $v0, .L80241288 +/* 9B7BA4 80241224 00000000 */ nop +.L80241228: +/* 9B7BA8 80241228 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9B7BAC 8024122C 24020002 */ addiu $v0, $zero, 2 +/* 9B7BB0 80241230 0C00A67F */ jal rand_int +/* 9B7BB4 80241234 AE620070 */ sw $v0, 0x70($s3) +/* 9B7BB8 80241238 3C035555 */ lui $v1, 0x5555 +/* 9B7BBC 8024123C 34635556 */ ori $v1, $v1, 0x5556 +/* 9B7BC0 80241240 00430018 */ mult $v0, $v1 +/* 9B7BC4 80241244 000227C3 */ sra $a0, $v0, 0x1f +/* 9B7BC8 80241248 00004010 */ mfhi $t0 +/* 9B7BCC 8024124C 01042023 */ subu $a0, $t0, $a0 +/* 9B7BD0 80241250 00041840 */ sll $v1, $a0, 1 +/* 9B7BD4 80241254 00641821 */ addu $v1, $v1, $a0 +/* 9B7BD8 80241258 00431023 */ subu $v0, $v0, $v1 +/* 9B7BDC 8024125C 24430002 */ addiu $v1, $v0, 2 +/* 9B7BE0 80241260 AE630074 */ sw $v1, 0x74($s3) +/* 9B7BE4 80241264 8E42002C */ lw $v0, 0x2c($s2) +/* 9B7BE8 80241268 58400007 */ blezl $v0, .L80241288 +/* 9B7BEC 8024126C AE600070 */ sw $zero, 0x70($s3) +/* 9B7BF0 80241270 8E420008 */ lw $v0, 8($s2) +/* 9B7BF4 80241274 18400003 */ blez $v0, .L80241284 +/* 9B7BF8 80241278 28620003 */ slti $v0, $v1, 3 +/* 9B7BFC 8024127C 10400002 */ beqz $v0, .L80241288 +/* 9B7C00 80241280 00000000 */ nop +.L80241284: +/* 9B7C04 80241284 AE600070 */ sw $zero, 0x70($s3) +.L80241288: +/* 9B7C08 80241288 8FBF0058 */ lw $ra, 0x58($sp) +/* 9B7C0C 8024128C 8FB50054 */ lw $s5, 0x54($sp) +/* 9B7C10 80241290 8FB40050 */ lw $s4, 0x50($sp) +/* 9B7C14 80241294 8FB3004C */ lw $s3, 0x4c($sp) +/* 9B7C18 80241298 8FB20048 */ lw $s2, 0x48($sp) +/* 9B7C1C 8024129C 8FB10044 */ lw $s1, 0x44($sp) +/* 9B7C20 802412A0 8FB00040 */ lw $s0, 0x40($sp) +/* 9B7C24 802412A4 D7BA0078 */ ldc1 $f26, 0x78($sp) +/* 9B7C28 802412A8 D7B80070 */ ldc1 $f24, 0x70($sp) +/* 9B7C2C 802412AC D7B60068 */ ldc1 $f22, 0x68($sp) +/* 9B7C30 802412B0 D7B40060 */ ldc1 $f20, 0x60($sp) +/* 9B7C34 802412B4 03E00008 */ jr $ra +/* 9B7C38 802412B8 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802412BC.s b/asm/nonmatchings/world/area_trd/trd_07/func_802412BC.s new file mode 100644 index 0000000000..93d2c0130e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802412BC.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802412BC +/* 9B7C3C 802412BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B7C40 802412C0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9B7C44 802412C4 0080982D */ daddu $s3, $a0, $zero +/* 9B7C48 802412C8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B7C4C 802412CC AFB20018 */ sw $s2, 0x18($sp) +/* 9B7C50 802412D0 AFB10014 */ sw $s1, 0x14($sp) +/* 9B7C54 802412D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9B7C58 802412D8 8E720148 */ lw $s2, 0x148($s3) +/* 9B7C5C 802412DC 86440008 */ lh $a0, 8($s2) +/* 9B7C60 802412E0 0C00EABB */ jal get_npc_unsafe +/* 9B7C64 802412E4 00A0882D */ daddu $s1, $a1, $zero +/* 9B7C68 802412E8 8E240008 */ lw $a0, 8($s1) +/* 9B7C6C 802412EC 0040802D */ daddu $s0, $v0, $zero +/* 9B7C70 802412F0 00041FC2 */ srl $v1, $a0, 0x1f +/* 9B7C74 802412F4 00832021 */ addu $a0, $a0, $v1 +/* 9B7C78 802412F8 00042043 */ sra $a0, $a0, 1 +/* 9B7C7C 802412FC 0C00A67F */ jal rand_int +/* 9B7C80 80241300 24840001 */ addiu $a0, $a0, 1 +/* 9B7C84 80241304 8E230008 */ lw $v1, 8($s1) +/* 9B7C88 80241308 240400B4 */ addiu $a0, $zero, 0xb4 +/* 9B7C8C 8024130C 00032FC2 */ srl $a1, $v1, 0x1f +/* 9B7C90 80241310 00651821 */ addu $v1, $v1, $a1 +/* 9B7C94 80241314 00031843 */ sra $v1, $v1, 1 +/* 9B7C98 80241318 00621821 */ addu $v1, $v1, $v0 +/* 9B7C9C 8024131C 0C00A67F */ jal rand_int +/* 9B7CA0 80241320 A603008E */ sh $v1, 0x8e($s0) +/* 9B7CA4 80241324 C60C000C */ lwc1 $f12, 0xc($s0) +/* 9B7CA8 80241328 44820000 */ mtc1 $v0, $f0 +/* 9B7CAC 8024132C 00000000 */ nop +/* 9B7CB0 80241330 46800020 */ cvt.s.w $f0, $f0 +/* 9B7CB4 80241334 46006300 */ add.s $f12, $f12, $f0 +/* 9B7CB8 80241338 3C0142B4 */ lui $at, 0x42b4 +/* 9B7CBC 8024133C 44810000 */ mtc1 $at, $f0 +/* 9B7CC0 80241340 0C00A6C9 */ jal clamp_angle +/* 9B7CC4 80241344 46006301 */ sub.s $f12, $f12, $f0 +/* 9B7CC8 80241348 E600000C */ swc1 $f0, 0xc($s0) +/* 9B7CCC 8024134C 8E4200CC */ lw $v0, 0xcc($s2) +/* 9B7CD0 80241350 8C420000 */ lw $v0, ($v0) +/* 9B7CD4 80241354 AE020028 */ sw $v0, 0x28($s0) +/* 9B7CD8 80241358 24020003 */ addiu $v0, $zero, 3 +/* 9B7CDC 8024135C AE620070 */ sw $v0, 0x70($s3) +/* 9B7CE0 80241360 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B7CE4 80241364 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B7CE8 80241368 8FB20018 */ lw $s2, 0x18($sp) +/* 9B7CEC 8024136C 8FB10014 */ lw $s1, 0x14($sp) +/* 9B7CF0 80241370 8FB00010 */ lw $s0, 0x10($sp) +/* 9B7CF4 80241374 03E00008 */ jr $ra +/* 9B7CF8 80241378 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_8024137C.s b/asm/nonmatchings/world/area_trd/trd_07/func_8024137C.s new file mode 100644 index 0000000000..629860e6d2 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_8024137C.s @@ -0,0 +1,225 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024137C +/* 9B7CFC 8024137C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 9B7D00 80241380 AFB3004C */ sw $s3, 0x4c($sp) +/* 9B7D04 80241384 0080982D */ daddu $s3, $a0, $zero +/* 9B7D08 80241388 AFBF0054 */ sw $ra, 0x54($sp) +/* 9B7D0C 8024138C AFB40050 */ sw $s4, 0x50($sp) +/* 9B7D10 80241390 AFB20048 */ sw $s2, 0x48($sp) +/* 9B7D14 80241394 AFB10044 */ sw $s1, 0x44($sp) +/* 9B7D18 80241398 AFB00040 */ sw $s0, 0x40($sp) +/* 9B7D1C 8024139C F7BA0070 */ sdc1 $f26, 0x70($sp) +/* 9B7D20 802413A0 F7B80068 */ sdc1 $f24, 0x68($sp) +/* 9B7D24 802413A4 F7B60060 */ sdc1 $f22, 0x60($sp) +/* 9B7D28 802413A8 F7B40058 */ sdc1 $f20, 0x58($sp) +/* 9B7D2C 802413AC 8E710148 */ lw $s1, 0x148($s3) +/* 9B7D30 802413B0 00A0902D */ daddu $s2, $a1, $zero +/* 9B7D34 802413B4 86240008 */ lh $a0, 8($s1) +/* 9B7D38 802413B8 0C00EABB */ jal get_npc_unsafe +/* 9B7D3C 802413BC 00C0A02D */ daddu $s4, $a2, $zero +/* 9B7D40 802413C0 0040802D */ daddu $s0, $v0, $zero +/* 9B7D44 802413C4 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9B7D48 802413C8 46800020 */ cvt.s.w $f0, $f0 +/* 9B7D4C 802413CC 46000021 */ cvt.d.s $f0, $f0 +/* 9B7D50 802413D0 3C014059 */ lui $at, 0x4059 +/* 9B7D54 802413D4 44811800 */ mtc1 $at, $f3 +/* 9B7D58 802413D8 44801000 */ mtc1 $zero, $f2 +/* 9B7D5C 802413DC 8602008E */ lh $v0, 0x8e($s0) +/* 9B7D60 802413E0 9603008E */ lhu $v1, 0x8e($s0) +/* 9B7D64 802413E4 46220003 */ div.d $f0, $f0, $f2 +/* 9B7D68 802413E8 46200620 */ cvt.s.d $f24, $f0 +/* 9B7D6C 802413EC C6200088 */ lwc1 $f0, 0x88($s1) +/* 9B7D70 802413F0 46800020 */ cvt.s.w $f0, $f0 +/* 9B7D74 802413F4 46000021 */ cvt.d.s $f0, $f0 +/* 9B7D78 802413F8 46220003 */ div.d $f0, $f0, $f2 +/* 9B7D7C 802413FC 46200020 */ cvt.s.d $f0, $f0 +/* 9B7D80 80241400 18400003 */ blez $v0, .L80241410 +/* 9B7D84 80241404 4600C680 */ add.s $f26, $f24, $f0 +/* 9B7D88 80241408 2462FFFF */ addiu $v0, $v1, -1 +/* 9B7D8C 8024140C A602008E */ sh $v0, 0x8e($s0) +.L80241410: +/* 9B7D90 80241410 8E220070 */ lw $v0, 0x70($s1) +/* 9B7D94 80241414 18400034 */ blez $v0, .L802414E8 +/* 9B7D98 80241418 00000000 */ nop +/* 9B7D9C 8024141C C62C0074 */ lwc1 $f12, 0x74($s1) +/* 9B7DA0 80241420 46806320 */ cvt.s.w $f12, $f12 +/* 9B7DA4 80241424 44820000 */ mtc1 $v0, $f0 +/* 9B7DA8 80241428 00000000 */ nop +/* 9B7DAC 8024142C 46800020 */ cvt.s.w $f0, $f0 +/* 9B7DB0 80241430 46000021 */ cvt.d.s $f0, $f0 +/* 9B7DB4 80241434 46220003 */ div.d $f0, $f0, $f2 +/* 9B7DB8 80241438 0C00A8BB */ jal sin_deg +/* 9B7DBC 8024143C 462005A0 */ cvt.s.d $f22, $f0 +/* 9B7DC0 80241440 8E020000 */ lw $v0, ($s0) +/* 9B7DC4 80241444 30420008 */ andi $v0, $v0, 8 +/* 9B7DC8 80241448 10400003 */ beqz $v0, .L80241458 +/* 9B7DCC 8024144C 46000506 */ mov.s $f20, $f0 +/* 9B7DD0 80241450 08090526 */ j .L80241498 +/* 9B7DD4 80241454 0000102D */ daddu $v0, $zero, $zero +.L80241458: +/* 9B7DD8 80241458 27A50028 */ addiu $a1, $sp, 0x28 +/* 9B7DDC 8024145C 27A6002C */ addiu $a2, $sp, 0x2c +/* 9B7DE0 80241460 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B7DE4 80241464 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B7DE8 80241468 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B7DEC 8024146C 3C01447A */ lui $at, 0x447a +/* 9B7DF0 80241470 44813000 */ mtc1 $at, $f6 +/* 9B7DF4 80241474 27A20034 */ addiu $v0, $sp, 0x34 +/* 9B7DF8 80241478 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B7DFC 8024147C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 9B7E00 80241480 E7A40030 */ swc1 $f4, 0x30($sp) +/* 9B7E04 80241484 E7A60034 */ swc1 $f6, 0x34($sp) +/* 9B7E08 80241488 AFA20010 */ sw $v0, 0x10($sp) +/* 9B7E0C 8024148C 8E040080 */ lw $a0, 0x80($s0) +/* 9B7E10 80241490 0C0372DF */ jal func_800DCB7C +/* 9B7E14 80241494 27A70030 */ addiu $a3, $sp, 0x30 +.L80241498: +/* 9B7E18 80241498 10400007 */ beqz $v0, .L802414B8 +/* 9B7E1C 8024149C 00000000 */ nop +/* 9B7E20 802414A0 4616A082 */ mul.s $f2, $f20, $f22 +/* 9B7E24 802414A4 00000000 */ nop +/* 9B7E28 802414A8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 9B7E2C 802414AC 46180000 */ add.s $f0, $f0, $f24 +/* 9B7E30 802414B0 08090531 */ j .L802414C4 +/* 9B7E34 802414B4 46020000 */ add.s $f0, $f0, $f2 +.L802414B8: +/* 9B7E38 802414B8 4616A002 */ mul.s $f0, $f20, $f22 +/* 9B7E3C 802414BC 00000000 */ nop +/* 9B7E40 802414C0 4600D000 */ add.s $f0, $f26, $f0 +.L802414C4: +/* 9B7E44 802414C4 E600003C */ swc1 $f0, 0x3c($s0) +/* 9B7E48 802414C8 8E220074 */ lw $v0, 0x74($s1) +/* 9B7E4C 802414CC 2442000A */ addiu $v0, $v0, 0xa +/* 9B7E50 802414D0 44826000 */ mtc1 $v0, $f12 +/* 9B7E54 802414D4 00000000 */ nop +/* 9B7E58 802414D8 0C00A6C9 */ jal clamp_angle +/* 9B7E5C 802414DC 46806320 */ cvt.s.w $f12, $f12 +/* 9B7E60 802414E0 4600020D */ trunc.w.s $f8, $f0 +/* 9B7E64 802414E4 E6280074 */ swc1 $f8, 0x74($s1) +.L802414E8: +/* 9B7E68 802414E8 8E220090 */ lw $v0, 0x90($s1) +/* 9B7E6C 802414EC 1C400040 */ bgtz $v0, .L802415F0 +/* 9B7E70 802414F0 2442FFFF */ addiu $v0, $v0, -1 +/* 9B7E74 802414F4 860200A8 */ lh $v0, 0xa8($s0) +/* 9B7E78 802414F8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B7E7C 802414FC 44821000 */ mtc1 $v0, $f2 +/* 9B7E80 80241500 00000000 */ nop +/* 9B7E84 80241504 468010A0 */ cvt.s.w $f2, $f2 +/* 9B7E88 80241508 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B7E8C 8024150C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B7E90 80241510 46020000 */ add.s $f0, $f0, $f2 +/* 9B7E94 80241514 3C014024 */ lui $at, 0x4024 +/* 9B7E98 80241518 44812800 */ mtc1 $at, $f5 +/* 9B7E9C 8024151C 44802000 */ mtc1 $zero, $f4 +/* 9B7EA0 80241520 C442002C */ lwc1 $f2, 0x2c($v0) +/* 9B7EA4 80241524 46000021 */ cvt.d.s $f0, $f0 +/* 9B7EA8 80241528 46240000 */ add.d $f0, $f0, $f4 +/* 9B7EAC 8024152C 460010A1 */ cvt.d.s $f2, $f2 +/* 9B7EB0 80241530 4620103C */ c.lt.d $f2, $f0 +/* 9B7EB4 80241534 00000000 */ nop +/* 9B7EB8 80241538 4500002E */ bc1f .L802415F4 +/* 9B7EBC 8024153C 0280202D */ daddu $a0, $s4, $zero +/* 9B7EC0 80241540 24020001 */ addiu $v0, $zero, 1 +/* 9B7EC4 80241544 AFA20010 */ sw $v0, 0x10($sp) +/* 9B7EC8 80241548 8E460024 */ lw $a2, 0x24($s2) +/* 9B7ECC 8024154C 8E470028 */ lw $a3, 0x28($s2) +/* 9B7ED0 80241550 0C01242D */ jal func_800490B4 +/* 9B7ED4 80241554 0220282D */ daddu $a1, $s1, $zero +/* 9B7ED8 80241558 10400026 */ beqz $v0, .L802415F4 +/* 9B7EDC 8024155C 0000202D */ daddu $a0, $zero, $zero +/* 9B7EE0 80241560 0200282D */ daddu $a1, $s0, $zero +/* 9B7EE4 80241564 0000302D */ daddu $a2, $zero, $zero +/* 9B7EE8 80241568 2412000C */ addiu $s2, $zero, 0xc +/* 9B7EEC 8024156C 860300A8 */ lh $v1, 0xa8($s0) +/* 9B7EF0 80241570 3C013F80 */ lui $at, 0x3f80 +/* 9B7EF4 80241574 44810000 */ mtc1 $at, $f0 +/* 9B7EF8 80241578 3C014000 */ lui $at, 0x4000 +/* 9B7EFC 8024157C 44811000 */ mtc1 $at, $f2 +/* 9B7F00 80241580 3C01C1A0 */ lui $at, 0xc1a0 +/* 9B7F04 80241584 44812000 */ mtc1 $at, $f4 +/* 9B7F08 80241588 44834000 */ mtc1 $v1, $f8 +/* 9B7F0C 8024158C 00000000 */ nop +/* 9B7F10 80241590 46804220 */ cvt.s.w $f8, $f8 +/* 9B7F14 80241594 44074000 */ mfc1 $a3, $f8 +/* 9B7F18 80241598 27A20038 */ addiu $v0, $sp, 0x38 +/* 9B7F1C 8024159C AFB2001C */ sw $s2, 0x1c($sp) +/* 9B7F20 802415A0 AFA20020 */ sw $v0, 0x20($sp) +/* 9B7F24 802415A4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9B7F28 802415A8 E7A20014 */ swc1 $f2, 0x14($sp) +/* 9B7F2C 802415AC 0C01BFA4 */ jal fx_emote +/* 9B7F30 802415B0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 9B7F34 802415B4 0200202D */ daddu $a0, $s0, $zero +/* 9B7F38 802415B8 240502F4 */ addiu $a1, $zero, 0x2f4 +/* 9B7F3C 802415BC C480003C */ lwc1 $f0, 0x3c($a0) +/* 9B7F40 802415C0 3C060020 */ lui $a2, 0x20 +/* 9B7F44 802415C4 0C012530 */ jal func_800494C0 +/* 9B7F48 802415C8 E4800064 */ swc1 $f0, 0x64($a0) +/* 9B7F4C 802415CC 8E220018 */ lw $v0, 0x18($s1) +/* 9B7F50 802415D0 9442002A */ lhu $v0, 0x2a($v0) +/* 9B7F54 802415D4 30420001 */ andi $v0, $v0, 1 +/* 9B7F58 802415D8 10400003 */ beqz $v0, .L802415E8 +/* 9B7F5C 802415DC 2402000A */ addiu $v0, $zero, 0xa +/* 9B7F60 802415E0 080905A4 */ j .L80241690 +/* 9B7F64 802415E4 AE620070 */ sw $v0, 0x70($s3) +.L802415E8: +/* 9B7F68 802415E8 080905A4 */ j .L80241690 +/* 9B7F6C 802415EC AE720070 */ sw $s2, 0x70($s3) +.L802415F0: +/* 9B7F70 802415F0 AE220090 */ sw $v0, 0x90($s1) +.L802415F4: +/* 9B7F74 802415F4 8602008C */ lh $v0, 0x8c($s0) +/* 9B7F78 802415F8 14400025 */ bnez $v0, .L80241690 +/* 9B7F7C 802415FC 00000000 */ nop +/* 9B7F80 80241600 8602008E */ lh $v0, 0x8e($s0) +/* 9B7F84 80241604 1C400022 */ bgtz $v0, .L80241690 +/* 9B7F88 80241608 00000000 */ nop +/* 9B7F8C 8024160C 8E620074 */ lw $v0, 0x74($s3) +/* 9B7F90 80241610 2442FFFF */ addiu $v0, $v0, -1 +/* 9B7F94 80241614 1840001D */ blez $v0, .L8024168C +/* 9B7F98 80241618 AE620074 */ sw $v0, 0x74($s3) +/* 9B7F9C 8024161C 8E220018 */ lw $v0, 0x18($s1) +/* 9B7FA0 80241620 9442002A */ lhu $v0, 0x2a($v0) +/* 9B7FA4 80241624 30420010 */ andi $v0, $v0, 0x10 +/* 9B7FA8 80241628 14400007 */ bnez $v0, .L80241648 +/* 9B7FAC 8024162C 00000000 */ nop +/* 9B7FB0 80241630 C600000C */ lwc1 $f0, 0xc($s0) +/* 9B7FB4 80241634 3C014334 */ lui $at, 0x4334 +/* 9B7FB8 80241638 44816000 */ mtc1 $at, $f12 +/* 9B7FBC 8024163C 0C00A6C9 */ jal clamp_angle +/* 9B7FC0 80241640 460C0300 */ add.s $f12, $f0, $f12 +/* 9B7FC4 80241644 E600000C */ swc1 $f0, 0xc($s0) +.L80241648: +/* 9B7FC8 80241648 0C00A67F */ jal rand_int +/* 9B7FCC 8024164C 240403E8 */ addiu $a0, $zero, 0x3e8 +/* 9B7FD0 80241650 3C032E8B */ lui $v1, 0x2e8b +/* 9B7FD4 80241654 3463A2E9 */ ori $v1, $v1, 0xa2e9 +/* 9B7FD8 80241658 00430018 */ mult $v0, $v1 +/* 9B7FDC 8024165C 00021FC3 */ sra $v1, $v0, 0x1f +/* 9B7FE0 80241660 00004010 */ mfhi $t0 +/* 9B7FE4 80241664 00082043 */ sra $a0, $t0, 1 +/* 9B7FE8 80241668 00832023 */ subu $a0, $a0, $v1 +/* 9B7FEC 8024166C 00041840 */ sll $v1, $a0, 1 +/* 9B7FF0 80241670 00641821 */ addu $v1, $v1, $a0 +/* 9B7FF4 80241674 00031880 */ sll $v1, $v1, 2 +/* 9B7FF8 80241678 00641823 */ subu $v1, $v1, $a0 +/* 9B7FFC 8024167C 00431023 */ subu $v0, $v0, $v1 +/* 9B8000 80241680 24420005 */ addiu $v0, $v0, 5 +/* 9B8004 80241684 080905A4 */ j .L80241690 +/* 9B8008 80241688 A602008E */ sh $v0, 0x8e($s0) +.L8024168C: +/* 9B800C 8024168C AE600070 */ sw $zero, 0x70($s3) +.L80241690: +/* 9B8010 80241690 8FBF0054 */ lw $ra, 0x54($sp) +/* 9B8014 80241694 8FB40050 */ lw $s4, 0x50($sp) +/* 9B8018 80241698 8FB3004C */ lw $s3, 0x4c($sp) +/* 9B801C 8024169C 8FB20048 */ lw $s2, 0x48($sp) +/* 9B8020 802416A0 8FB10044 */ lw $s1, 0x44($sp) +/* 9B8024 802416A4 8FB00040 */ lw $s0, 0x40($sp) +/* 9B8028 802416A8 D7BA0070 */ ldc1 $f26, 0x70($sp) +/* 9B802C 802416AC D7B80068 */ ldc1 $f24, 0x68($sp) +/* 9B8030 802416B0 D7B60060 */ ldc1 $f22, 0x60($sp) +/* 9B8034 802416B4 D7B40058 */ ldc1 $f20, 0x58($sp) +/* 9B8038 802416B8 03E00008 */ jr $ra +/* 9B803C 802416BC 27BD0078 */ addiu $sp, $sp, 0x78 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802416C0.s b/asm/nonmatchings/world/area_trd/trd_07/func_802416C0.s new file mode 100644 index 0000000000..5faf771496 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802416C0.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802416C0 +/* 9B8040 802416C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9B8044 802416C4 AFB20018 */ sw $s2, 0x18($sp) +/* 9B8048 802416C8 0080902D */ daddu $s2, $a0, $zero +/* 9B804C 802416CC AFBF001C */ sw $ra, 0x1c($sp) +/* 9B8050 802416D0 AFB10014 */ sw $s1, 0x14($sp) +/* 9B8054 802416D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9B8058 802416D8 8E510148 */ lw $s1, 0x148($s2) +/* 9B805C 802416DC 0C00EABB */ jal get_npc_unsafe +/* 9B8060 802416E0 86240008 */ lh $a0, 8($s1) +/* 9B8064 802416E4 0040802D */ daddu $s0, $v0, $zero +/* 9B8068 802416E8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B806C 802416EC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B8070 802416F0 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B8074 802416F4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B8078 802416F8 A600008E */ sh $zero, 0x8e($s0) +/* 9B807C 802416FC 8C460028 */ lw $a2, 0x28($v0) +/* 9B8080 80241700 0C00A720 */ jal atan2 +/* 9B8084 80241704 8C470030 */ lw $a3, 0x30($v0) +/* 9B8088 80241708 E600000C */ swc1 $f0, 0xc($s0) +/* 9B808C 8024170C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B8090 80241710 8C420020 */ lw $v0, 0x20($v0) +/* 9B8094 80241714 AE020028 */ sw $v0, 0x28($s0) +/* 9B8098 80241718 2402000B */ addiu $v0, $zero, 0xb +/* 9B809C 8024171C AE420070 */ sw $v0, 0x70($s2) +/* 9B80A0 80241720 8FBF001C */ lw $ra, 0x1c($sp) +/* 9B80A4 80241724 8FB20018 */ lw $s2, 0x18($sp) +/* 9B80A8 80241728 8FB10014 */ lw $s1, 0x14($sp) +/* 9B80AC 8024172C 8FB00010 */ lw $s0, 0x10($sp) +/* 9B80B0 80241730 03E00008 */ jr $ra +/* 9B80B4 80241734 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80241738_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80241738_9B6980.s new file mode 100644 index 0000000000..774423c672 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80241738_9B6980.s @@ -0,0 +1,32 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241738_9B80B8 +/* 9B80B8 80241738 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B80BC 8024173C AFB00010 */ sw $s0, 0x10($sp) +/* 9B80C0 80241740 0080802D */ daddu $s0, $a0, $zero +/* 9B80C4 80241744 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B80C8 80241748 8E020148 */ lw $v0, 0x148($s0) +/* 9B80CC 8024174C 0C00EABB */ jal get_npc_unsafe +/* 9B80D0 80241750 84440008 */ lh $a0, 8($v0) +/* 9B80D4 80241754 9443008E */ lhu $v1, 0x8e($v0) +/* 9B80D8 80241758 C440003C */ lwc1 $f0, 0x3c($v0) +/* 9B80DC 8024175C 24640001 */ addiu $a0, $v1, 1 +/* 9B80E0 80241760 00031C00 */ sll $v1, $v1, 0x10 +/* 9B80E4 80241764 00031B83 */ sra $v1, $v1, 0xe +/* 9B80E8 80241768 A444008E */ sh $a0, 0x8e($v0) +/* 9B80EC 8024176C 3C018024 */ lui $at, 0x8024 +/* 9B80F0 80241770 00230821 */ addu $at, $at, $v1 +/* 9B80F4 80241774 C4222EAC */ lwc1 $f2, 0x2eac($at) +/* 9B80F8 80241778 8443008E */ lh $v1, 0x8e($v0) +/* 9B80FC 8024177C 46020000 */ add.s $f0, $f0, $f2 +/* 9B8100 80241780 28630005 */ slti $v1, $v1, 5 +/* 9B8104 80241784 14600003 */ bnez $v1, .L80241794 +/* 9B8108 80241788 E440003C */ swc1 $f0, 0x3c($v0) +/* 9B810C 8024178C 2402000C */ addiu $v0, $zero, 0xc +/* 9B8110 80241790 AE020070 */ sw $v0, 0x70($s0) +.L80241794: +/* 9B8114 80241794 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B8118 80241798 8FB00010 */ lw $s0, 0x10($sp) +/* 9B811C 8024179C 03E00008 */ jr $ra +/* 9B8120 802417A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802417A4.s b/asm/nonmatchings/world/area_trd/trd_07/func_802417A4.s new file mode 100644 index 0000000000..e974e4e381 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802417A4.s @@ -0,0 +1,83 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802417A4 +/* 9B8124 802417A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B8128 802417A8 AFB3001C */ sw $s3, 0x1c($sp) +/* 9B812C 802417AC 0080982D */ daddu $s3, $a0, $zero +/* 9B8130 802417B0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B8134 802417B4 AFB20018 */ sw $s2, 0x18($sp) +/* 9B8138 802417B8 AFB10014 */ sw $s1, 0x14($sp) +/* 9B813C 802417BC AFB00010 */ sw $s0, 0x10($sp) +/* 9B8140 802417C0 8E720148 */ lw $s2, 0x148($s3) +/* 9B8144 802417C4 86440008 */ lh $a0, 8($s2) +/* 9B8148 802417C8 0C00EABB */ jal get_npc_unsafe +/* 9B814C 802417CC 00A0802D */ daddu $s0, $a1, $zero +/* 9B8150 802417D0 0040882D */ daddu $s1, $v0, $zero +/* 9B8154 802417D4 C6420080 */ lwc1 $f2, 0x80($s2) +/* 9B8158 802417D8 468010A0 */ cvt.s.w $f2, $f2 +/* 9B815C 802417DC 460010A1 */ cvt.d.s $f2, $f2 +/* 9B8160 802417E0 C6400084 */ lwc1 $f0, 0x84($s2) +/* 9B8164 802417E4 46800020 */ cvt.s.w $f0, $f0 +/* 9B8168 802417E8 46000021 */ cvt.d.s $f0, $f0 +/* 9B816C 802417EC 3C014059 */ lui $at, 0x4059 +/* 9B8170 802417F0 44812800 */ mtc1 $at, $f5 +/* 9B8174 802417F4 44802000 */ mtc1 $zero, $f4 +/* 9B8178 802417F8 8E4200CC */ lw $v0, 0xcc($s2) +/* 9B817C 802417FC C62C0038 */ lwc1 $f12, 0x38($s1) +/* 9B8180 80241800 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 9B8184 80241804 46241083 */ div.d $f2, $f2, $f4 +/* 9B8188 80241808 462010A0 */ cvt.s.d $f2, $f2 +/* 9B818C 8024180C 46240003 */ div.d $f0, $f0, $f4 +/* 9B8190 80241810 8C420020 */ lw $v0, 0x20($v0) +/* 9B8194 80241814 46200020 */ cvt.s.d $f0, $f0 +/* 9B8198 80241818 E622001C */ swc1 $f2, 0x1c($s1) +/* 9B819C 8024181C E6200014 */ swc1 $f0, 0x14($s1) +/* 9B81A0 80241820 AE220028 */ sw $v0, 0x28($s1) +/* 9B81A4 80241824 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9B81A8 80241828 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B81AC 8024182C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B81B0 80241830 E6200018 */ swc1 $f0, 0x18($s1) +/* 9B81B4 80241834 8C460028 */ lw $a2, 0x28($v0) +/* 9B81B8 80241838 0C00A720 */ jal atan2 +/* 9B81BC 8024183C 8C470030 */ lw $a3, 0x30($v0) +/* 9B81C0 80241840 E620000C */ swc1 $f0, 0xc($s1) +/* 9B81C4 80241844 8E420018 */ lw $v0, 0x18($s2) +/* 9B81C8 80241848 AE400074 */ sw $zero, 0x74($s2) +/* 9B81CC 8024184C 9442002A */ lhu $v0, 0x2a($v0) +/* 9B81D0 80241850 30420002 */ andi $v0, $v0, 2 +/* 9B81D4 80241854 10400005 */ beqz $v0, .L8024186C +/* 9B81D8 80241858 24020003 */ addiu $v0, $zero, 3 +/* 9B81DC 8024185C A622008E */ sh $v0, 0x8e($s1) +/* 9B81E0 80241860 2402000D */ addiu $v0, $zero, 0xd +/* 9B81E4 80241864 0809062F */ j .L802418BC +/* 9B81E8 80241868 AE620070 */ sw $v0, 0x70($s3) +.L8024186C: +/* 9B81EC 8024186C 24030001 */ addiu $v1, $zero, 1 +/* 9B81F0 80241870 2402000E */ addiu $v0, $zero, 0xe +/* 9B81F4 80241874 A623008E */ sh $v1, 0x8e($s1) +/* 9B81F8 80241878 AE620070 */ sw $v0, 0x70($s3) +/* 9B81FC 8024187C C6200038 */ lwc1 $f0, 0x38($s1) +/* 9B8200 80241880 4600018D */ trunc.w.s $f6, $f0 +/* 9B8204 80241884 44023000 */ mfc1 $v0, $f6 +/* 9B8208 80241888 00000000 */ nop +/* 9B820C 8024188C A6420010 */ sh $v0, 0x10($s2) +/* 9B8210 80241890 C620003C */ lwc1 $f0, 0x3c($s1) +/* 9B8214 80241894 4600018D */ trunc.w.s $f6, $f0 +/* 9B8218 80241898 44023000 */ mfc1 $v0, $f6 +/* 9B821C 8024189C 00000000 */ nop +/* 9B8220 802418A0 A6420012 */ sh $v0, 0x12($s2) +/* 9B8224 802418A4 C6200040 */ lwc1 $f0, 0x40($s1) +/* 9B8228 802418A8 A2430007 */ sb $v1, 7($s2) +/* 9B822C 802418AC 4600018D */ trunc.w.s $f6, $f0 +/* 9B8230 802418B0 44023000 */ mfc1 $v0, $f6 +/* 9B8234 802418B4 00000000 */ nop +/* 9B8238 802418B8 A6420014 */ sh $v0, 0x14($s2) +.L802418BC: +/* 9B823C 802418BC 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B8240 802418C0 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B8244 802418C4 8FB20018 */ lw $s2, 0x18($sp) +/* 9B8248 802418C8 8FB10014 */ lw $s1, 0x14($sp) +/* 9B824C 802418CC 8FB00010 */ lw $s0, 0x10($sp) +/* 9B8250 802418D0 03E00008 */ jr $ra +/* 9B8254 802418D4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802418D8_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_802418D8_9B6980.s new file mode 100644 index 0000000000..bf3cbc15f4 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802418D8_9B6980.s @@ -0,0 +1,31 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802418D8_9B8258 +/* 9B8258 802418D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B825C 802418DC AFB00010 */ sw $s0, 0x10($sp) +/* 9B8260 802418E0 0080802D */ daddu $s0, $a0, $zero +/* 9B8264 802418E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B8268 802418E8 8E020148 */ lw $v0, 0x148($s0) +/* 9B826C 802418EC 0C00EABB */ jal get_npc_unsafe +/* 9B8270 802418F0 84440008 */ lh $a0, 8($v0) +/* 9B8274 802418F4 0040202D */ daddu $a0, $v0, $zero +/* 9B8278 802418F8 8482008E */ lh $v0, 0x8e($a0) +/* 9B827C 802418FC 9483008E */ lhu $v1, 0x8e($a0) +/* 9B8280 80241900 18400005 */ blez $v0, .L80241918 +/* 9B8284 80241904 2462FFFF */ addiu $v0, $v1, -1 +/* 9B8288 80241908 A482008E */ sh $v0, 0x8e($a0) +/* 9B828C 8024190C 00021400 */ sll $v0, $v0, 0x10 +/* 9B8290 80241910 1C400006 */ bgtz $v0, .L8024192C +/* 9B8294 80241914 00000000 */ nop +.L80241918: +/* 9B8298 80241918 8482008C */ lh $v0, 0x8c($a0) +/* 9B829C 8024191C 14400003 */ bnez $v0, .L8024192C +/* 9B82A0 80241920 2402000E */ addiu $v0, $zero, 0xe +/* 9B82A4 80241924 A480008E */ sh $zero, 0x8e($a0) +/* 9B82A8 80241928 AE020070 */ sw $v0, 0x70($s0) +.L8024192C: +/* 9B82AC 8024192C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B82B0 80241930 8FB00010 */ lw $s0, 0x10($sp) +/* 9B82B4 80241934 03E00008 */ jr $ra +/* 9B82B8 80241938 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_8024193C.s b/asm/nonmatchings/world/area_trd/trd_07/func_8024193C.s new file mode 100644 index 0000000000..e939d5f054 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_8024193C.s @@ -0,0 +1,243 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024193C +/* 9B82BC 8024193C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9B82C0 80241940 AFB20030 */ sw $s2, 0x30($sp) +/* 9B82C4 80241944 0080902D */ daddu $s2, $a0, $zero +/* 9B82C8 80241948 AFBF0038 */ sw $ra, 0x38($sp) +/* 9B82CC 8024194C AFB30034 */ sw $s3, 0x34($sp) +/* 9B82D0 80241950 AFB1002C */ sw $s1, 0x2c($sp) +/* 9B82D4 80241954 AFB00028 */ sw $s0, 0x28($sp) +/* 9B82D8 80241958 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 9B82DC 8024195C F7B40040 */ sdc1 $f20, 0x40($sp) +/* 9B82E0 80241960 8E510148 */ lw $s1, 0x148($s2) +/* 9B82E4 80241964 86240008 */ lh $a0, 8($s1) +/* 9B82E8 80241968 0C00EABB */ jal get_npc_unsafe +/* 9B82EC 8024196C 00A0982D */ daddu $s3, $a1, $zero +/* 9B82F0 80241970 0040802D */ daddu $s0, $v0, $zero +/* 9B82F4 80241974 0200202D */ daddu $a0, $s0, $zero +/* 9B82F8 80241978 C6220088 */ lwc1 $f2, 0x88($s1) +/* 9B82FC 8024197C 468010A0 */ cvt.s.w $f2, $f2 +/* 9B8300 80241980 460010A1 */ cvt.d.s $f2, $f2 +/* 9B8304 80241984 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9B8308 80241988 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9B830C 8024198C 8E050018 */ lw $a1, 0x18($s0) +/* 9B8310 80241990 46002100 */ add.s $f4, $f4, $f0 +/* 9B8314 80241994 8E06000C */ lw $a2, 0xc($s0) +/* 9B8318 80241998 C6200078 */ lwc1 $f0, 0x78($s1) +/* 9B831C 8024199C 46800020 */ cvt.s.w $f0, $f0 +/* 9B8320 802419A0 E604001C */ swc1 $f4, 0x1c($s0) +/* 9B8324 802419A4 3C014059 */ lui $at, 0x4059 +/* 9B8328 802419A8 44812800 */ mtc1 $at, $f5 +/* 9B832C 802419AC 44802000 */ mtc1 $zero, $f4 +/* 9B8330 802419B0 46000021 */ cvt.d.s $f0, $f0 +/* 9B8334 802419B4 46240003 */ div.d $f0, $f0, $f4 +/* 9B8338 802419B8 46200520 */ cvt.s.d $f20, $f0 +/* 9B833C 802419BC 46241083 */ div.d $f2, $f2, $f4 +/* 9B8340 802419C0 0C00EA95 */ jal npc_move_heading +/* 9B8344 802419C4 462015A0 */ cvt.s.d $f22, $f2 +/* 9B8348 802419C8 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9B834C 802419CC 44801000 */ mtc1 $zero, $f2 +/* 9B8350 802419D0 44801800 */ mtc1 $zero, $f3 +/* 9B8354 802419D4 46002021 */ cvt.d.s $f0, $f4 +/* 9B8358 802419D8 4620103E */ c.le.d $f2, $f0 +/* 9B835C 802419DC 00000000 */ nop +/* 9B8360 802419E0 45000030 */ bc1f .L80241AA4 +/* 9B8364 802419E4 00000000 */ nop +/* 9B8368 802419E8 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B836C 802419EC 46040000 */ add.s $f0, $f0, $f4 +/* 9B8370 802419F0 E600003C */ swc1 $f0, 0x3c($s0) +/* 9B8374 802419F4 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B8378 802419F8 8C420024 */ lw $v0, 0x24($v0) +/* 9B837C 802419FC AE020028 */ sw $v0, 0x28($s0) +/* 9B8380 80241A00 A2200007 */ sb $zero, 7($s1) +/* 9B8384 80241A04 8E020000 */ lw $v0, ($s0) +/* 9B8388 80241A08 30420008 */ andi $v0, $v0, 8 +/* 9B838C 80241A0C 14400011 */ bnez $v0, .L80241A54 +/* 9B8390 80241A10 0000102D */ daddu $v0, $zero, $zero +/* 9B8394 80241A14 27A50018 */ addiu $a1, $sp, 0x18 +/* 9B8398 80241A18 27A6001C */ addiu $a2, $sp, 0x1c +/* 9B839C 80241A1C C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B83A0 80241A20 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B83A4 80241A24 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B83A8 80241A28 3C01447A */ lui $at, 0x447a +/* 9B83AC 80241A2C 44813000 */ mtc1 $at, $f6 +/* 9B83B0 80241A30 27A20024 */ addiu $v0, $sp, 0x24 +/* 9B83B4 80241A34 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B83B8 80241A38 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9B83BC 80241A3C E7A40020 */ swc1 $f4, 0x20($sp) +/* 9B83C0 80241A40 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9B83C4 80241A44 AFA20010 */ sw $v0, 0x10($sp) +/* 9B83C8 80241A48 8E040080 */ lw $a0, 0x80($s0) +/* 9B83CC 80241A4C 0C0372DF */ jal func_800DCB7C +/* 9B83D0 80241A50 27A70020 */ addiu $a3, $sp, 0x20 +.L80241A54: +/* 9B83D4 80241A54 1040000B */ beqz $v0, .L80241A84 +/* 9B83D8 80241A58 00000000 */ nop +/* 9B83DC 80241A5C C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9B83E0 80241A60 46140080 */ add.s $f2, $f0, $f20 +/* 9B83E4 80241A64 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B83E8 80241A68 4600103E */ c.le.s $f2, $f0 +/* 9B83EC 80241A6C 00000000 */ nop +/* 9B83F0 80241A70 4500008D */ bc1f .L80241CA8 +/* 9B83F4 80241A74 00000000 */ nop +/* 9B83F8 80241A78 E602003C */ swc1 $f2, 0x3c($s0) +/* 9B83FC 80241A7C 0809072A */ j .L80241CA8 +/* 9B8400 80241A80 AE400070 */ sw $zero, 0x70($s2) +.L80241A84: +/* 9B8404 80241A84 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B8408 80241A88 C6000064 */ lwc1 $f0, 0x64($s0) +/* 9B840C 80241A8C 4602003E */ c.le.s $f0, $f2 +/* 9B8410 80241A90 00000000 */ nop +/* 9B8414 80241A94 45030084 */ bc1tl .L80241CA8 +/* 9B8418 80241A98 AE400070 */ sw $zero, 0x70($s2) +/* 9B841C 80241A9C 0809072A */ j .L80241CA8 +/* 9B8420 80241AA0 00000000 */ nop +.L80241AA4: +/* 9B8424 80241AA4 4622003C */ c.lt.d $f0, $f2 +/* 9B8428 80241AA8 00000000 */ nop +/* 9B842C 80241AAC 4500007E */ bc1f .L80241CA8 +/* 9B8430 80241AB0 00000000 */ nop +/* 9B8434 80241AB4 9602008E */ lhu $v0, 0x8e($s0) +/* 9B8438 80241AB8 24420001 */ addiu $v0, $v0, 1 +/* 9B843C 80241ABC A602008E */ sh $v0, 0x8e($s0) +/* 9B8440 80241AC0 00021400 */ sll $v0, $v0, 0x10 +/* 9B8444 80241AC4 8E630020 */ lw $v1, 0x20($s3) +/* 9B8448 80241AC8 00021403 */ sra $v0, $v0, 0x10 +/* 9B844C 80241ACC 0043102A */ slt $v0, $v0, $v1 +/* 9B8450 80241AD0 14400026 */ bnez $v0, .L80241B6C +/* 9B8454 80241AD4 00000000 */ nop +/* 9B8458 80241AD8 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B845C 80241ADC C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B8460 80241AE0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) +/* 9B8464 80241AE4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) +/* 9B8468 80241AE8 A600008E */ sh $zero, 0x8e($s0) +/* 9B846C 80241AEC 8C460028 */ lw $a2, 0x28($v0) +/* 9B8470 80241AF0 0C00A720 */ jal atan2 +/* 9B8474 80241AF4 8C470030 */ lw $a3, 0x30($v0) +/* 9B8478 80241AF8 46000506 */ mov.s $f20, $f0 +/* 9B847C 80241AFC C60C000C */ lwc1 $f12, 0xc($s0) +/* 9B8480 80241B00 0C00A70A */ jal get_clamped_angle_diff +/* 9B8484 80241B04 4600A386 */ mov.s $f14, $f20 +/* 9B8488 80241B08 46000086 */ mov.s $f2, $f0 +/* 9B848C 80241B0C 8E62001C */ lw $v0, 0x1c($s3) +/* 9B8490 80241B10 46001005 */ abs.s $f0, $f2 +/* 9B8494 80241B14 44822000 */ mtc1 $v0, $f4 +/* 9B8498 80241B18 00000000 */ nop +/* 9B849C 80241B1C 46802120 */ cvt.s.w $f4, $f4 +/* 9B84A0 80241B20 4600203C */ c.lt.s $f4, $f0 +/* 9B84A4 80241B24 00000000 */ nop +/* 9B84A8 80241B28 4500000D */ bc1f .L80241B60 +/* 9B84AC 80241B2C 00000000 */ nop +/* 9B84B0 80241B30 44800000 */ mtc1 $zero, $f0 +/* 9B84B4 80241B34 C614000C */ lwc1 $f20, 0xc($s0) +/* 9B84B8 80241B38 4600103C */ c.lt.s $f2, $f0 +/* 9B84BC 80241B3C 00000000 */ nop +/* 9B84C0 80241B40 45000006 */ bc1f .L80241B5C +/* 9B84C4 80241B44 00021023 */ negu $v0, $v0 +/* 9B84C8 80241B48 44820000 */ mtc1 $v0, $f0 +/* 9B84CC 80241B4C 00000000 */ nop +/* 9B84D0 80241B50 46800020 */ cvt.s.w $f0, $f0 +/* 9B84D4 80241B54 080906D8 */ j .L80241B60 +/* 9B84D8 80241B58 4600A500 */ add.s $f20, $f20, $f0 +.L80241B5C: +/* 9B84DC 80241B5C 4604A500 */ add.s $f20, $f20, $f4 +.L80241B60: +/* 9B84E0 80241B60 0C00A6C9 */ jal clamp_angle +/* 9B84E4 80241B64 4600A306 */ mov.s $f12, $f20 +/* 9B84E8 80241B68 E600000C */ swc1 $f0, 0xc($s0) +.L80241B6C: +/* 9B84EC 80241B6C 8E020000 */ lw $v0, ($s0) +/* 9B84F0 80241B70 30420008 */ andi $v0, $v0, 8 +/* 9B84F4 80241B74 1040000A */ beqz $v0, .L80241BA0 +/* 9B84F8 80241B78 27A50018 */ addiu $a1, $sp, 0x18 +/* 9B84FC 80241B7C C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B8500 80241B80 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9B8504 80241B84 46001080 */ add.s $f2, $f2, $f0 +/* 9B8508 80241B88 4616103C */ c.lt.s $f2, $f22 +/* 9B850C 80241B8C 00000000 */ nop +/* 9B8510 80241B90 45020045 */ bc1fl .L80241CA8 +/* 9B8514 80241B94 E602003C */ swc1 $f2, 0x3c($s0) +/* 9B8518 80241B98 08090729 */ j .L80241CA4 +/* 9B851C 80241B9C E616003C */ swc1 $f22, 0x3c($s0) +.L80241BA0: +/* 9B8520 80241BA0 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B8524 80241BA4 27A6001C */ addiu $a2, $sp, 0x1c +/* 9B8528 80241BA8 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B852C 80241BAC 860200A8 */ lh $v0, 0xa8($s0) +/* 9B8530 80241BB0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 9B8534 80241BB4 C604003C */ lwc1 $f4, 0x3c($s0) +/* 9B8538 80241BB8 44821000 */ mtc1 $v0, $f2 +/* 9B853C 80241BBC 00000000 */ nop +/* 9B8540 80241BC0 468010A0 */ cvt.s.w $f2, $f2 +/* 9B8544 80241BC4 46000005 */ abs.s $f0, $f0 +/* 9B8548 80241BC8 46020000 */ add.s $f0, $f0, $f2 +/* 9B854C 80241BCC C6060040 */ lwc1 $f6, 0x40($s0) +/* 9B8550 80241BD0 27A20024 */ addiu $v0, $sp, 0x24 +/* 9B8554 80241BD4 46022100 */ add.s $f4, $f4, $f2 +/* 9B8558 80241BD8 3C014024 */ lui $at, 0x4024 +/* 9B855C 80241BDC 44811800 */ mtc1 $at, $f3 +/* 9B8560 80241BE0 44801000 */ mtc1 $zero, $f2 +/* 9B8564 80241BE4 46000021 */ cvt.d.s $f0, $f0 +/* 9B8568 80241BE8 46220000 */ add.d $f0, $f0, $f2 +/* 9B856C 80241BEC E7A60020 */ swc1 $f6, 0x20($sp) +/* 9B8570 80241BF0 E7A4001C */ swc1 $f4, 0x1c($sp) +/* 9B8574 80241BF4 46200020 */ cvt.s.d $f0, $f0 +/* 9B8578 80241BF8 E7A00024 */ swc1 $f0, 0x24($sp) +/* 9B857C 80241BFC AFA20010 */ sw $v0, 0x10($sp) +/* 9B8580 80241C00 8E040080 */ lw $a0, 0x80($s0) +/* 9B8584 80241C04 0C0372DF */ jal func_800DCB7C +/* 9B8588 80241C08 27A70020 */ addiu $a3, $sp, 0x20 +/* 9B858C 80241C0C 10400015 */ beqz $v0, .L80241C64 +/* 9B8590 80241C10 00000000 */ nop +/* 9B8594 80241C14 860200A8 */ lh $v0, 0xa8($s0) +/* 9B8598 80241C18 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9B859C 80241C1C 44820000 */ mtc1 $v0, $f0 +/* 9B85A0 80241C20 00000000 */ nop +/* 9B85A4 80241C24 46800020 */ cvt.s.w $f0, $f0 +/* 9B85A8 80241C28 46002085 */ abs.s $f2, $f4 +/* 9B85AC 80241C2C 46020000 */ add.s $f0, $f0, $f2 +/* 9B85B0 80241C30 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9B85B4 80241C34 4600103E */ c.le.s $f2, $f0 +/* 9B85B8 80241C38 00000000 */ nop +/* 9B85BC 80241C3C 45000005 */ bc1f .L80241C54 +/* 9B85C0 80241C40 00000000 */ nop +/* 9B85C4 80241C44 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9B85C8 80241C48 AE00001C */ sw $zero, 0x1c($s0) +/* 9B85CC 80241C4C 0809072A */ j .L80241CA8 +/* 9B85D0 80241C50 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C54: +/* 9B85D4 80241C54 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B85D8 80241C58 46040000 */ add.s $f0, $f0, $f4 +/* 9B85DC 80241C5C 0809072A */ j .L80241CA8 +/* 9B85E0 80241C60 E600003C */ swc1 $f0, 0x3c($s0) +.L80241C64: +/* 9B85E4 80241C64 C606003C */ lwc1 $f6, 0x3c($s0) +/* 9B85E8 80241C68 860200A8 */ lh $v0, 0xa8($s0) +/* 9B85EC 80241C6C 46163081 */ sub.s $f2, $f6, $f22 +/* 9B85F0 80241C70 44820000 */ mtc1 $v0, $f0 +/* 9B85F4 80241C74 00000000 */ nop +/* 9B85F8 80241C78 46800020 */ cvt.s.w $f0, $f0 +/* 9B85FC 80241C7C 46001080 */ add.s $f2, $f2, $f0 +/* 9B8600 80241C80 C604001C */ lwc1 $f4, 0x1c($s0) +/* 9B8604 80241C84 46002005 */ abs.s $f0, $f4 +/* 9B8608 80241C88 4602003C */ c.lt.s $f0, $f2 +/* 9B860C 80241C8C 00000000 */ nop +/* 9B8610 80241C90 45020005 */ bc1fl .L80241CA8 +/* 9B8614 80241C94 AE00001C */ sw $zero, 0x1c($s0) +/* 9B8618 80241C98 46043000 */ add.s $f0, $f6, $f4 +/* 9B861C 80241C9C 0809072A */ j .L80241CA8 +/* 9B8620 80241CA0 E600003C */ swc1 $f0, 0x3c($s0) +.L80241CA4: +/* 9B8624 80241CA4 AE00001C */ sw $zero, 0x1c($s0) +.L80241CA8: +/* 9B8628 80241CA8 8FBF0038 */ lw $ra, 0x38($sp) +/* 9B862C 80241CAC 8FB30034 */ lw $s3, 0x34($sp) +/* 9B8630 80241CB0 8FB20030 */ lw $s2, 0x30($sp) +/* 9B8634 80241CB4 8FB1002C */ lw $s1, 0x2c($sp) +/* 9B8638 80241CB8 8FB00028 */ lw $s0, 0x28($sp) +/* 9B863C 80241CBC D7B60048 */ ldc1 $f22, 0x48($sp) +/* 9B8640 80241CC0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 9B8644 80241CC4 03E00008 */ jr $ra +/* 9B8648 80241CC8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80241CCC.s b/asm/nonmatchings/world/area_trd/trd_07/func_80241CCC.s new file mode 100644 index 0000000000..7552bfc056 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80241CCC.s @@ -0,0 +1,79 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241CCC +/* 9B864C 80241CCC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9B8650 80241CD0 AFB00028 */ sw $s0, 0x28($sp) +/* 9B8654 80241CD4 00A0802D */ daddu $s0, $a1, $zero +/* 9B8658 80241CD8 AFB1002C */ sw $s1, 0x2c($sp) +/* 9B865C 80241CDC 00C0882D */ daddu $s1, $a2, $zero +/* 9B8660 80241CE0 AFBF0034 */ sw $ra, 0x34($sp) +/* 9B8664 80241CE4 AFB20030 */ sw $s2, 0x30($sp) +/* 9B8668 80241CE8 AE200070 */ sw $zero, 0x70($s1) +/* 9B866C 80241CEC 8C830000 */ lw $v1, ($a0) +/* 9B8670 80241CF0 2402FDFF */ addiu $v0, $zero, -0x201 +/* 9B8674 80241CF4 A480008E */ sh $zero, 0x8e($a0) +/* 9B8678 80241CF8 00621824 */ and $v1, $v1, $v0 +/* 9B867C 80241CFC 34650800 */ ori $a1, $v1, 0x800 +/* 9B8680 80241D00 AC850000 */ sw $a1, ($a0) +/* 9B8684 80241D04 8E0200D0 */ lw $v0, 0xd0($s0) +/* 9B8688 80241D08 8C420034 */ lw $v0, 0x34($v0) +/* 9B868C 80241D0C 10400003 */ beqz $v0, .L80241D1C +/* 9B8690 80241D10 00E0902D */ daddu $s2, $a3, $zero +/* 9B8694 80241D14 08090749 */ j .L80241D24 +/* 9B8698 80241D18 34620808 */ ori $v0, $v1, 0x808 +.L80241D1C: +/* 9B869C 80241D1C 2402FFF7 */ addiu $v0, $zero, -9 +/* 9B86A0 80241D20 00A21024 */ and $v0, $a1, $v0 +.L80241D24: +/* 9B86A4 80241D24 AC820000 */ sw $v0, ($a0) +/* 9B86A8 80241D28 27A20024 */ addiu $v0, $sp, 0x24 +/* 9B86AC 80241D2C 27A50018 */ addiu $a1, $sp, 0x18 +/* 9B86B0 80241D30 C4800038 */ lwc1 $f0, 0x38($a0) +/* 9B86B4 80241D34 C482003C */ lwc1 $f2, 0x3c($a0) +/* 9B86B8 80241D38 C4840040 */ lwc1 $f4, 0x40($a0) +/* 9B86BC 80241D3C 3C01447A */ lui $at, 0x447a +/* 9B86C0 80241D40 44813000 */ mtc1 $at, $f6 +/* 9B86C4 80241D44 27A6001C */ addiu $a2, $sp, 0x1c +/* 9B86C8 80241D48 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B86CC 80241D4C E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9B86D0 80241D50 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9B86D4 80241D54 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9B86D8 80241D58 AFA20010 */ sw $v0, 0x10($sp) +/* 9B86DC 80241D5C 8C840080 */ lw $a0, 0x80($a0) +/* 9B86E0 80241D60 0C0372DF */ jal func_800DCB7C +/* 9B86E4 80241D64 27A70020 */ addiu $a3, $sp, 0x20 +/* 9B86E8 80241D68 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 9B86EC 80241D6C 3C014059 */ lui $at, 0x4059 +/* 9B86F0 80241D70 44812800 */ mtc1 $at, $f5 +/* 9B86F4 80241D74 44802000 */ mtc1 $zero, $f4 +/* 9B86F8 80241D78 460010A1 */ cvt.d.s $f2, $f2 +/* 9B86FC 80241D7C 46241082 */ mul.d $f2, $f2, $f4 +/* 9B8700 80241D80 00000000 */ nop +/* 9B8704 80241D84 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9B8708 80241D88 46000021 */ cvt.d.s $f0, $f0 +/* 9B870C 80241D8C 46240002 */ mul.d $f0, $f0, $f4 +/* 9B8710 80241D90 00000000 */ nop +/* 9B8714 80241D94 3C013FE0 */ lui $at, 0x3fe0 +/* 9B8718 80241D98 44812800 */ mtc1 $at, $f5 +/* 9B871C 80241D9C 44802000 */ mtc1 $zero, $f4 +/* 9B8720 80241DA0 00000000 */ nop +/* 9B8724 80241DA4 46241080 */ add.d $f2, $f2, $f4 +/* 9B8728 80241DA8 AE000074 */ sw $zero, 0x74($s0) +/* 9B872C 80241DAC 46240000 */ add.d $f0, $f0, $f4 +/* 9B8730 80241DB0 AE000090 */ sw $zero, 0x90($s0) +/* 9B8734 80241DB4 4620120D */ trunc.w.d $f8, $f2 +/* 9B8738 80241DB8 E6080078 */ swc1 $f8, 0x78($s0) +/* 9B873C 80241DBC 4620020D */ trunc.w.d $f8, $f0 +/* 9B8740 80241DC0 E6080088 */ swc1 $f8, 0x88($s0) +/* 9B8744 80241DC4 8E420014 */ lw $v0, 0x14($s2) +/* 9B8748 80241DC8 AE220074 */ sw $v0, 0x74($s1) +/* 9B874C 80241DCC 8E0200B0 */ lw $v0, 0xb0($s0) +/* 9B8750 80241DD0 34420010 */ ori $v0, $v0, 0x10 +/* 9B8754 80241DD4 AE0200B0 */ sw $v0, 0xb0($s0) +/* 9B8758 80241DD8 8FBF0034 */ lw $ra, 0x34($sp) +/* 9B875C 80241DDC 8FB20030 */ lw $s2, 0x30($sp) +/* 9B8760 80241DE0 8FB1002C */ lw $s1, 0x2c($sp) +/* 9B8764 80241DE4 8FB00028 */ lw $s0, 0x28($sp) +/* 9B8768 80241DE8 03E00008 */ jr $ra +/* 9B876C 80241DEC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80241DF0.s b/asm/nonmatchings/world/area_trd/trd_07/func_80241DF0.s new file mode 100644 index 0000000000..d9af169e32 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80241DF0.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241DF0 +/* 9B8770 80241DF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9B8774 80241DF4 AFB40040 */ sw $s4, 0x40($sp) +/* 9B8778 80241DF8 0080A02D */ daddu $s4, $a0, $zero +/* 9B877C 80241DFC AFBF0048 */ sw $ra, 0x48($sp) +/* 9B8780 80241E00 AFB50044 */ sw $s5, 0x44($sp) +/* 9B8784 80241E04 AFB3003C */ sw $s3, 0x3c($sp) +/* 9B8788 80241E08 AFB20038 */ sw $s2, 0x38($sp) +/* 9B878C 80241E0C AFB10034 */ sw $s1, 0x34($sp) +/* 9B8790 80241E10 AFB00030 */ sw $s0, 0x30($sp) +/* 9B8794 80241E14 8E920148 */ lw $s2, 0x148($s4) +/* 9B8798 80241E18 86440008 */ lh $a0, 8($s2) +/* 9B879C 80241E1C 8E90000C */ lw $s0, 0xc($s4) +/* 9B87A0 80241E20 0C00EABB */ jal get_npc_unsafe +/* 9B87A4 80241E24 00A0882D */ daddu $s1, $a1, $zero +/* 9B87A8 80241E28 0280202D */ daddu $a0, $s4, $zero +/* 9B87AC 80241E2C 8E050000 */ lw $a1, ($s0) +/* 9B87B0 80241E30 0C0B1EAF */ jal get_variable +/* 9B87B4 80241E34 0040A82D */ daddu $s5, $v0, $zero +/* 9B87B8 80241E38 AFA00010 */ sw $zero, 0x10($sp) +/* 9B87BC 80241E3C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B87C0 80241E40 8C630030 */ lw $v1, 0x30($v1) +/* 9B87C4 80241E44 AFA30014 */ sw $v1, 0x14($sp) +/* 9B87C8 80241E48 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B87CC 80241E4C 8C63001C */ lw $v1, 0x1c($v1) +/* 9B87D0 80241E50 AFA30018 */ sw $v1, 0x18($sp) +/* 9B87D4 80241E54 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B87D8 80241E58 8C630024 */ lw $v1, 0x24($v1) +/* 9B87DC 80241E5C AFA3001C */ sw $v1, 0x1c($sp) +/* 9B87E0 80241E60 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B87E4 80241E64 8C630028 */ lw $v1, 0x28($v1) +/* 9B87E8 80241E68 27B30010 */ addiu $s3, $sp, 0x10 +/* 9B87EC 80241E6C AFA30020 */ sw $v1, 0x20($sp) +/* 9B87F0 80241E70 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B87F4 80241E74 3C0142F0 */ lui $at, 0x42f0 +/* 9B87F8 80241E78 44810000 */ mtc1 $at, $f0 +/* 9B87FC 80241E7C 8C63002C */ lw $v1, 0x2c($v1) +/* 9B8800 80241E80 0040802D */ daddu $s0, $v0, $zero +/* 9B8804 80241E84 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B8808 80241E88 A7A0002C */ sh $zero, 0x2c($sp) +/* 9B880C 80241E8C 12200006 */ beqz $s1, .L80241EA8 +/* 9B8810 80241E90 AFA30024 */ sw $v1, 0x24($sp) +/* 9B8814 80241E94 02A0202D */ daddu $a0, $s5, $zero +/* 9B8818 80241E98 0240282D */ daddu $a1, $s2, $zero +/* 9B881C 80241E9C 0280302D */ daddu $a2, $s4, $zero +/* 9B8820 80241EA0 0C090733 */ jal func_80241CCC +/* 9B8824 80241EA4 0200382D */ daddu $a3, $s0, $zero +.L80241EA8: +/* 9B8828 80241EA8 2402FFFE */ addiu $v0, $zero, -2 +/* 9B882C 80241EAC A2A200AB */ sb $v0, 0xab($s5) +/* 9B8830 80241EB0 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9B8834 80241EB4 30620004 */ andi $v0, $v1, 4 +/* 9B8838 80241EB8 10400007 */ beqz $v0, .L80241ED8 +/* 9B883C 80241EBC 00000000 */ nop +/* 9B8840 80241EC0 824200B4 */ lb $v0, 0xb4($s2) +/* 9B8844 80241EC4 1440003C */ bnez $v0, .L80241FB8 +/* 9B8848 80241EC8 0000102D */ daddu $v0, $zero, $zero +/* 9B884C 80241ECC 2402FFFB */ addiu $v0, $zero, -5 +/* 9B8850 80241ED0 00621024 */ and $v0, $v1, $v0 +/* 9B8854 80241ED4 AE4200B0 */ sw $v0, 0xb0($s2) +.L80241ED8: +/* 9B8858 80241ED8 8E830070 */ lw $v1, 0x70($s4) +/* 9B885C 80241EDC 2C62000F */ sltiu $v0, $v1, 0xf +/* 9B8860 80241EE0 10400034 */ beqz $v0, .L80241FB4 +/* 9B8864 80241EE4 00031080 */ sll $v0, $v1, 2 +/* 9B8868 80241EE8 3C018024 */ lui $at, 0x8024 +/* 9B886C 80241EEC 00220821 */ addu $at, $at, $v0 +/* 9B8870 80241EF0 8C224898 */ lw $v0, 0x4898($at) +/* 9B8874 80241EF4 00400008 */ jr $v0 +/* 9B8878 80241EF8 00000000 */ nop +/* 9B887C 80241EFC 0280202D */ daddu $a0, $s4, $zero +/* 9B8880 80241F00 0200282D */ daddu $a1, $s0, $zero +/* 9B8884 80241F04 0C0902B9 */ jal func_80240AE4 +/* 9B8888 80241F08 0260302D */ daddu $a2, $s3, $zero +/* 9B888C 80241F0C 0280202D */ daddu $a0, $s4, $zero +/* 9B8890 80241F10 0200282D */ daddu $a1, $s0, $zero +/* 9B8894 80241F14 0C090325 */ jal func_80240C94 +/* 9B8898 80241F18 0260302D */ daddu $a2, $s3, $zero +/* 9B889C 80241F1C 080907EE */ j .L80241FB8 +/* 9B88A0 80241F20 0000102D */ daddu $v0, $zero, $zero +/* 9B88A4 80241F24 0280202D */ daddu $a0, $s4, $zero +/* 9B88A8 80241F28 0200282D */ daddu $a1, $s0, $zero +/* 9B88AC 80241F2C 0C0904AF */ jal func_802412BC +/* 9B88B0 80241F30 0260302D */ daddu $a2, $s3, $zero +/* 9B88B4 80241F34 0280202D */ daddu $a0, $s4, $zero +/* 9B88B8 80241F38 0200282D */ daddu $a1, $s0, $zero +/* 9B88BC 80241F3C 0C0904DF */ jal func_8024137C +/* 9B88C0 80241F40 0260302D */ daddu $a2, $s3, $zero +/* 9B88C4 80241F44 080907EE */ j .L80241FB8 +/* 9B88C8 80241F48 0000102D */ daddu $v0, $zero, $zero +/* 9B88CC 80241F4C 0280202D */ daddu $a0, $s4, $zero +/* 9B88D0 80241F50 0200282D */ daddu $a1, $s0, $zero +/* 9B88D4 80241F54 0C0905B0 */ jal func_802416C0 +/* 9B88D8 80241F58 0260302D */ daddu $a2, $s3, $zero +/* 9B88DC 80241F5C 0280202D */ daddu $a0, $s4, $zero +/* 9B88E0 80241F60 0200282D */ daddu $a1, $s0, $zero +/* 9B88E4 80241F64 0C0905CE */ jal func_80241738 +/* 9B88E8 80241F68 0260302D */ daddu $a2, $s3, $zero +/* 9B88EC 80241F6C 080907EE */ j .L80241FB8 +/* 9B88F0 80241F70 0000102D */ daddu $v0, $zero, $zero +/* 9B88F4 80241F74 0280202D */ daddu $a0, $s4, $zero +/* 9B88F8 80241F78 0200282D */ daddu $a1, $s0, $zero +/* 9B88FC 80241F7C 0C0905E9 */ jal func_802417A4 +/* 9B8900 80241F80 0260302D */ daddu $a2, $s3, $zero +/* 9B8904 80241F84 080907EE */ j .L80241FB8 +/* 9B8908 80241F88 0000102D */ daddu $v0, $zero, $zero +/* 9B890C 80241F8C 0280202D */ daddu $a0, $s4, $zero +/* 9B8910 80241F90 0200282D */ daddu $a1, $s0, $zero +/* 9B8914 80241F94 0C090636 */ jal func_802418D8 +/* 9B8918 80241F98 0260302D */ daddu $a2, $s3, $zero +/* 9B891C 80241F9C 080907EE */ j .L80241FB8 +/* 9B8920 80241FA0 0000102D */ daddu $v0, $zero, $zero +/* 9B8924 80241FA4 0280202D */ daddu $a0, $s4, $zero +/* 9B8928 80241FA8 0200282D */ daddu $a1, $s0, $zero +/* 9B892C 80241FAC 0C09064F */ jal func_8024193C +/* 9B8930 80241FB0 0260302D */ daddu $a2, $s3, $zero +.L80241FB4: +/* 9B8934 80241FB4 0000102D */ daddu $v0, $zero, $zero +.L80241FB8: +/* 9B8938 80241FB8 8FBF0048 */ lw $ra, 0x48($sp) +/* 9B893C 80241FBC 8FB50044 */ lw $s5, 0x44($sp) +/* 9B8940 80241FC0 8FB40040 */ lw $s4, 0x40($sp) +/* 9B8944 80241FC4 8FB3003C */ lw $s3, 0x3c($sp) +/* 9B8948 80241FC8 8FB20038 */ lw $s2, 0x38($sp) +/* 9B894C 80241FCC 8FB10034 */ lw $s1, 0x34($sp) +/* 9B8950 80241FD0 8FB00030 */ lw $s0, 0x30($sp) +/* 9B8954 80241FD4 03E00008 */ jr $ra +/* 9B8958 80241FD8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80241FDC_9B6980.s b/asm/nonmatchings/world/area_trd/trd_07/func_80241FDC_9B6980.s new file mode 100644 index 0000000000..b620364114 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80241FDC_9B6980.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80241FDC_9B895C +/* 9B895C 80241FDC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9B8960 80241FE0 AFB3001C */ sw $s3, 0x1c($sp) +/* 9B8964 80241FE4 0080982D */ daddu $s3, $a0, $zero +/* 9B8968 80241FE8 AFBF0020 */ sw $ra, 0x20($sp) +/* 9B896C 80241FEC AFB20018 */ sw $s2, 0x18($sp) +/* 9B8970 80241FF0 AFB10014 */ sw $s1, 0x14($sp) +/* 9B8974 80241FF4 AFB00010 */ sw $s0, 0x10($sp) +/* 9B8978 80241FF8 8E710148 */ lw $s1, 0x148($s3) +/* 9B897C 80241FFC 0C00EABB */ jal get_npc_unsafe +/* 9B8980 80242000 86240008 */ lh $a0, 8($s1) +/* 9B8984 80242004 0040802D */ daddu $s0, $v0, $zero +/* 9B8988 80242008 C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B898C 8024200C 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B8990 80242010 3C01C0A0 */ lui $at, 0xc0a0 +/* 9B8994 80242014 44811000 */ mtc1 $at, $f2 +/* 9B8998 80242018 3C013E19 */ lui $at, 0x3e19 +/* 9B899C 8024201C 3421999A */ ori $at, $at, 0x999a +/* 9B89A0 80242020 44810000 */ mtc1 $at, $f0 +/* 9B89A4 80242024 8C420024 */ lw $v0, 0x24($v0) +/* 9B89A8 80242028 3C12800F */ lui $s2, %hi(gPlayerStatusPtr) +/* 9B89AC 8024202C 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr) +/* 9B89B0 80242030 E602001C */ swc1 $f2, 0x1c($s0) +/* 9B89B4 80242034 E6000014 */ swc1 $f0, 0x14($s0) +/* 9B89B8 80242038 AE020028 */ sw $v0, 0x28($s0) +/* 9B89BC 8024203C 8E22008C */ lw $v0, 0x8c($s1) +/* 9B89C0 80242040 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B89C4 80242044 00021FC2 */ srl $v1, $v0, 0x1f +/* 9B89C8 80242048 00431021 */ addu $v0, $v0, $v1 +/* 9B89CC 8024204C 8E430000 */ lw $v1, ($s2) +/* 9B89D0 80242050 00021043 */ sra $v0, $v0, 1 +/* 9B89D4 80242054 A60200A8 */ sh $v0, 0xa8($s0) +/* 9B89D8 80242058 8C660028 */ lw $a2, 0x28($v1) +/* 9B89DC 8024205C 0C00A7B5 */ jal dist2D +/* 9B89E0 80242060 8C670030 */ lw $a3, 0x30($v1) +/* 9B89E4 80242064 0200202D */ daddu $a0, $s0, $zero +/* 9B89E8 80242068 0000302D */ daddu $a2, $zero, $zero +/* 9B89EC 8024206C C6020038 */ lwc1 $f2, 0x38($s0) +/* 9B89F0 80242070 3C0140E0 */ lui $at, 0x40e0 +/* 9B89F4 80242074 44810000 */ mtc1 $at, $f0 +/* 9B89F8 80242078 4600110D */ trunc.w.s $f4, $f2 +/* 9B89FC 8024207C 44022000 */ mfc1 $v0, $f4 +/* 9B8A00 80242080 E6000018 */ swc1 $f0, 0x18($s0) +/* 9B8A04 80242084 A6220010 */ sh $v0, 0x10($s1) +/* 9B8A08 80242088 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B8A0C 8024208C 240502C1 */ addiu $a1, $zero, 0x2c1 +/* 9B8A10 80242090 4600010D */ trunc.w.s $f4, $f0 +/* 9B8A14 80242094 44022000 */ mfc1 $v0, $f4 +/* 9B8A18 80242098 00000000 */ nop +/* 9B8A1C 8024209C A6220012 */ sh $v0, 0x12($s1) +/* 9B8A20 802420A0 C6000040 */ lwc1 $f0, 0x40($s0) +/* 9B8A24 802420A4 24020001 */ addiu $v0, $zero, 1 +/* 9B8A28 802420A8 A2220007 */ sb $v0, 7($s1) +/* 9B8A2C 802420AC 4600010D */ trunc.w.s $f4, $f0 +/* 9B8A30 802420B0 44022000 */ mfc1 $v0, $f4 +/* 9B8A34 802420B4 0C012530 */ jal func_800494C0 +/* 9B8A38 802420B8 A6220014 */ sh $v0, 0x14($s1) +/* 9B8A3C 802420BC C60C0038 */ lwc1 $f12, 0x38($s0) +/* 9B8A40 802420C0 8E420000 */ lw $v0, ($s2) +/* 9B8A44 802420C4 C60E0040 */ lwc1 $f14, 0x40($s0) +/* 9B8A48 802420C8 8C460028 */ lw $a2, 0x28($v0) +/* 9B8A4C 802420CC 0C00A720 */ jal atan2 +/* 9B8A50 802420D0 8C470030 */ lw $a3, 0x30($v0) +/* 9B8A54 802420D4 2402000C */ addiu $v0, $zero, 0xc +/* 9B8A58 802420D8 A602008E */ sh $v0, 0x8e($s0) +/* 9B8A5C 802420DC 2402000D */ addiu $v0, $zero, 0xd +/* 9B8A60 802420E0 E600000C */ swc1 $f0, 0xc($s0) +/* 9B8A64 802420E4 AE620070 */ sw $v0, 0x70($s3) +/* 9B8A68 802420E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 9B8A6C 802420EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 9B8A70 802420F0 8FB20018 */ lw $s2, 0x18($sp) +/* 9B8A74 802420F4 8FB10014 */ lw $s1, 0x14($sp) +/* 9B8A78 802420F8 8FB00010 */ lw $s0, 0x10($sp) +/* 9B8A7C 802420FC 03E00008 */ jr $ra +/* 9B8A80 80242100 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80242104.s b/asm/nonmatchings/world/area_trd/trd_07/func_80242104.s new file mode 100644 index 0000000000..edd9e8b14f --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80242104.s @@ -0,0 +1,52 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242104 +/* 9B8A84 80242104 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9B8A88 80242108 AFB20018 */ sw $s2, 0x18($sp) +/* 9B8A8C 8024210C 0080902D */ daddu $s2, $a0, $zero +/* 9B8A90 80242110 AFBF001C */ sw $ra, 0x1c($sp) +/* 9B8A94 80242114 AFB10014 */ sw $s1, 0x14($sp) +/* 9B8A98 80242118 AFB00010 */ sw $s0, 0x10($sp) +/* 9B8A9C 8024211C 8E510148 */ lw $s1, 0x148($s2) +/* 9B8AA0 80242120 0C00EABB */ jal get_npc_unsafe +/* 9B8AA4 80242124 86240008 */ lh $a0, 8($s1) +/* 9B8AA8 80242128 0040802D */ daddu $s0, $v0, $zero +/* 9B8AAC 8024212C C602001C */ lwc1 $f2, 0x1c($s0) +/* 9B8AB0 80242130 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9B8AB4 80242134 8E050018 */ lw $a1, 0x18($s0) +/* 9B8AB8 80242138 46001080 */ add.s $f2, $f2, $f0 +/* 9B8ABC 8024213C C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B8AC0 80242140 8E06000C */ lw $a2, 0xc($s0) +/* 9B8AC4 80242144 46020000 */ add.s $f0, $f0, $f2 +/* 9B8AC8 80242148 0200202D */ daddu $a0, $s0, $zero +/* 9B8ACC 8024214C E602001C */ swc1 $f2, 0x1c($s0) +/* 9B8AD0 80242150 0C00EA95 */ jal npc_move_heading +/* 9B8AD4 80242154 E600003C */ swc1 $f0, 0x3c($s0) +/* 9B8AD8 80242158 9602008E */ lhu $v0, 0x8e($s0) +/* 9B8ADC 8024215C 2442FFFF */ addiu $v0, $v0, -1 +/* 9B8AE0 80242160 A602008E */ sh $v0, 0x8e($s0) +/* 9B8AE4 80242164 00021400 */ sll $v0, $v0, 0x10 +/* 9B8AE8 80242168 1C40000F */ bgtz $v0, .L802421A8 +/* 9B8AEC 8024216C 00000000 */ nop +/* 9B8AF0 80242170 3C013E99 */ lui $at, 0x3e99 +/* 9B8AF4 80242174 3421999A */ ori $at, $at, 0x999a +/* 9B8AF8 80242178 44810000 */ mtc1 $at, $f0 +/* 9B8AFC 8024217C 3C014040 */ lui $at, 0x4040 +/* 9B8B00 80242180 44811000 */ mtc1 $at, $f2 +/* 9B8B04 80242184 A2200007 */ sb $zero, 7($s1) +/* 9B8B08 80242188 AE00001C */ sw $zero, 0x1c($s0) +/* 9B8B0C 8024218C E6000014 */ swc1 $f0, 0x14($s0) +/* 9B8B10 80242190 E6020018 */ swc1 $f2, 0x18($s0) +/* 9B8B14 80242194 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B8B18 80242198 8C420028 */ lw $v0, 0x28($v0) +/* 9B8B1C 8024219C AE020028 */ sw $v0, 0x28($s0) +/* 9B8B20 802421A0 2402000E */ addiu $v0, $zero, 0xe +/* 9B8B24 802421A4 AE420070 */ sw $v0, 0x70($s2) +.L802421A8: +/* 9B8B28 802421A8 8FBF001C */ lw $ra, 0x1c($sp) +/* 9B8B2C 802421AC 8FB20018 */ lw $s2, 0x18($sp) +/* 9B8B30 802421B0 8FB10014 */ lw $s1, 0x14($sp) +/* 9B8B34 802421B4 8FB00010 */ lw $s0, 0x10($sp) +/* 9B8B38 802421B8 03E00008 */ jr $ra +/* 9B8B3C 802421BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802421C0.s b/asm/nonmatchings/world/area_trd/trd_07/func_802421C0.s new file mode 100644 index 0000000000..64fd121d26 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802421C0.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802421C0 +/* 9B8B40 802421C0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 9B8B44 802421C4 AFB20030 */ sw $s2, 0x30($sp) +/* 9B8B48 802421C8 0080902D */ daddu $s2, $a0, $zero +/* 9B8B4C 802421CC AFBF0034 */ sw $ra, 0x34($sp) +/* 9B8B50 802421D0 AFB1002C */ sw $s1, 0x2c($sp) +/* 9B8B54 802421D4 AFB00028 */ sw $s0, 0x28($sp) +/* 9B8B58 802421D8 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 9B8B5C 802421DC 8E510148 */ lw $s1, 0x148($s2) +/* 9B8B60 802421E0 0C00EABB */ jal get_npc_unsafe +/* 9B8B64 802421E4 86240008 */ lh $a0, 8($s1) +/* 9B8B68 802421E8 0040802D */ daddu $s0, $v0, $zero +/* 9B8B6C 802421EC C604001C */ lwc1 $f4, 0x1c($s0) +/* 9B8B70 802421F0 C6000014 */ lwc1 $f0, 0x14($s0) +/* 9B8B74 802421F4 0200202D */ daddu $a0, $s0, $zero +/* 9B8B78 802421F8 46002100 */ add.s $f4, $f4, $f0 +/* 9B8B7C 802421FC C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B8B80 80242200 8E050018 */ lw $a1, 0x18($s0) +/* 9B8B84 80242204 46041080 */ add.s $f2, $f2, $f4 +/* 9B8B88 80242208 8E06000C */ lw $a2, 0xc($s0) +/* 9B8B8C 8024220C C6200078 */ lwc1 $f0, 0x78($s1) +/* 9B8B90 80242210 46800020 */ cvt.s.w $f0, $f0 +/* 9B8B94 80242214 E602003C */ swc1 $f2, 0x3c($s0) +/* 9B8B98 80242218 3C014059 */ lui $at, 0x4059 +/* 9B8B9C 8024221C 44811800 */ mtc1 $at, $f3 +/* 9B8BA0 80242220 44801000 */ mtc1 $zero, $f2 +/* 9B8BA4 80242224 46000021 */ cvt.d.s $f0, $f0 +/* 9B8BA8 80242228 E604001C */ swc1 $f4, 0x1c($s0) +/* 9B8BAC 8024222C 46220003 */ div.d $f0, $f0, $f2 +/* 9B8BB0 80242230 0C00EA95 */ jal npc_move_heading +/* 9B8BB4 80242234 46200520 */ cvt.s.d $f20, $f0 +/* 9B8BB8 80242238 27A50018 */ addiu $a1, $sp, 0x18 +/* 9B8BBC 8024223C 27A6001C */ addiu $a2, $sp, 0x1c +/* 9B8BC0 80242240 C6000038 */ lwc1 $f0, 0x38($s0) +/* 9B8BC4 80242244 C602003C */ lwc1 $f2, 0x3c($s0) +/* 9B8BC8 80242248 C6040040 */ lwc1 $f4, 0x40($s0) +/* 9B8BCC 8024224C 3C01447A */ lui $at, 0x447a +/* 9B8BD0 80242250 44813000 */ mtc1 $at, $f6 +/* 9B8BD4 80242254 27A20024 */ addiu $v0, $sp, 0x24 +/* 9B8BD8 80242258 E7A00018 */ swc1 $f0, 0x18($sp) +/* 9B8BDC 8024225C E7A2001C */ swc1 $f2, 0x1c($sp) +/* 9B8BE0 80242260 E7A40020 */ swc1 $f4, 0x20($sp) +/* 9B8BE4 80242264 E7A60024 */ swc1 $f6, 0x24($sp) +/* 9B8BE8 80242268 AFA20010 */ sw $v0, 0x10($sp) +/* 9B8BEC 8024226C 8E040080 */ lw $a0, 0x80($s0) +/* 9B8BF0 80242270 0C0372DF */ jal func_800DCB7C +/* 9B8BF4 80242274 27A70020 */ addiu $a3, $sp, 0x20 +/* 9B8BF8 80242278 10400003 */ beqz $v0, .L80242288 +/* 9B8BFC 8024227C 4600A086 */ mov.s $f2, $f20 +/* 9B8C00 80242280 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 9B8C04 80242284 46140080 */ add.s $f2, $f0, $f20 +.L80242288: +/* 9B8C08 80242288 C600003C */ lwc1 $f0, 0x3c($s0) +/* 9B8C0C 8024228C 4602003C */ c.lt.s $f0, $f2 +/* 9B8C10 80242290 00000000 */ nop +/* 9B8C14 80242294 45010009 */ bc1t .L802422BC +/* 9B8C18 80242298 2402000A */ addiu $v0, $zero, 0xa +/* 9B8C1C 8024229C A602008E */ sh $v0, 0x8e($s0) +/* 9B8C20 802422A0 8E2200CC */ lw $v0, 0xcc($s1) +/* 9B8C24 802422A4 8C42002C */ lw $v0, 0x2c($v0) +/* 9B8C28 802422A8 AE020028 */ sw $v0, 0x28($s0) +/* 9B8C2C 802422AC 9622008E */ lhu $v0, 0x8e($s1) +/* 9B8C30 802422B0 A60200A8 */ sh $v0, 0xa8($s0) +/* 9B8C34 802422B4 2402000F */ addiu $v0, $zero, 0xf +/* 9B8C38 802422B8 AE420070 */ sw $v0, 0x70($s2) +.L802422BC: +/* 9B8C3C 802422BC 8FBF0034 */ lw $ra, 0x34($sp) +/* 9B8C40 802422C0 8FB20030 */ lw $s2, 0x30($sp) +/* 9B8C44 802422C4 8FB1002C */ lw $s1, 0x2c($sp) +/* 9B8C48 802422C8 8FB00028 */ lw $s0, 0x28($sp) +/* 9B8C4C 802422CC D7B40038 */ ldc1 $f20, 0x38($sp) +/* 9B8C50 802422D0 03E00008 */ jr $ra +/* 9B8C54 802422D4 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802422D8.s b/asm/nonmatchings/world/area_trd/trd_07/func_802422D8.s new file mode 100644 index 0000000000..fb26355e04 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802422D8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802422D8 +/* 9B8C58 802422D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B8C5C 802422DC AFB00010 */ sw $s0, 0x10($sp) +/* 9B8C60 802422E0 0080802D */ daddu $s0, $a0, $zero +/* 9B8C64 802422E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 9B8C68 802422E8 8E020148 */ lw $v0, 0x148($s0) +/* 9B8C6C 802422EC 0C00EABB */ jal get_npc_unsafe +/* 9B8C70 802422F0 84440008 */ lh $a0, 8($v0) +/* 9B8C74 802422F4 9443008E */ lhu $v1, 0x8e($v0) +/* 9B8C78 802422F8 2463FFFF */ addiu $v1, $v1, -1 +/* 9B8C7C 802422FC A443008E */ sh $v1, 0x8e($v0) +/* 9B8C80 80242300 00031C00 */ sll $v1, $v1, 0x10 +/* 9B8C84 80242304 58600001 */ blezl $v1, .L8024230C +/* 9B8C88 80242308 AE000070 */ sw $zero, 0x70($s0) +.L8024230C: +/* 9B8C8C 8024230C 8FBF0014 */ lw $ra, 0x14($sp) +/* 9B8C90 80242310 8FB00010 */ lw $s0, 0x10($sp) +/* 9B8C94 80242314 03E00008 */ jr $ra +/* 9B8C98 80242318 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_8024231C.s b/asm/nonmatchings/world/area_trd/trd_07/func_8024231C.s new file mode 100644 index 0000000000..804f8dd8a8 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_8024231C.s @@ -0,0 +1,156 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024231C +/* 9B8C9C 8024231C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9B8CA0 80242320 AFB3003C */ sw $s3, 0x3c($sp) +/* 9B8CA4 80242324 0080982D */ daddu $s3, $a0, $zero +/* 9B8CA8 80242328 AFBF0048 */ sw $ra, 0x48($sp) +/* 9B8CAC 8024232C AFB50044 */ sw $s5, 0x44($sp) +/* 9B8CB0 80242330 AFB40040 */ sw $s4, 0x40($sp) +/* 9B8CB4 80242334 AFB20038 */ sw $s2, 0x38($sp) +/* 9B8CB8 80242338 AFB10034 */ sw $s1, 0x34($sp) +/* 9B8CBC 8024233C AFB00030 */ sw $s0, 0x30($sp) +/* 9B8CC0 80242340 8E720148 */ lw $s2, 0x148($s3) +/* 9B8CC4 80242344 86440008 */ lh $a0, 8($s2) +/* 9B8CC8 80242348 8E70000C */ lw $s0, 0xc($s3) +/* 9B8CCC 8024234C 0C00EABB */ jal get_npc_unsafe +/* 9B8CD0 80242350 00A0882D */ daddu $s1, $a1, $zero +/* 9B8CD4 80242354 0260202D */ daddu $a0, $s3, $zero +/* 9B8CD8 80242358 8E050000 */ lw $a1, ($s0) +/* 9B8CDC 8024235C 0C0B1EAF */ jal get_variable +/* 9B8CE0 80242360 0040A82D */ daddu $s5, $v0, $zero +/* 9B8CE4 80242364 AFA00010 */ sw $zero, 0x10($sp) +/* 9B8CE8 80242368 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B8CEC 8024236C 8C630030 */ lw $v1, 0x30($v1) +/* 9B8CF0 80242370 AFA30014 */ sw $v1, 0x14($sp) +/* 9B8CF4 80242374 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B8CF8 80242378 8C63001C */ lw $v1, 0x1c($v1) +/* 9B8CFC 8024237C AFA30018 */ sw $v1, 0x18($sp) +/* 9B8D00 80242380 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B8D04 80242384 8C630024 */ lw $v1, 0x24($v1) +/* 9B8D08 80242388 AFA3001C */ sw $v1, 0x1c($sp) +/* 9B8D0C 8024238C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B8D10 80242390 8C630028 */ lw $v1, 0x28($v1) +/* 9B8D14 80242394 27B40010 */ addiu $s4, $sp, 0x10 +/* 9B8D18 80242398 AFA30020 */ sw $v1, 0x20($sp) +/* 9B8D1C 8024239C 8E4300D0 */ lw $v1, 0xd0($s2) +/* 9B8D20 802423A0 3C0142F0 */ lui $at, 0x42f0 +/* 9B8D24 802423A4 44810000 */ mtc1 $at, $f0 +/* 9B8D28 802423A8 8C63002C */ lw $v1, 0x2c($v1) +/* 9B8D2C 802423AC 0040802D */ daddu $s0, $v0, $zero +/* 9B8D30 802423B0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 9B8D34 802423B4 A7A0002C */ sh $zero, 0x2c($sp) +/* 9B8D38 802423B8 12200009 */ beqz $s1, .L802423E0 +/* 9B8D3C 802423BC AFA30024 */ sw $v1, 0x24($sp) +/* 9B8D40 802423C0 02A0202D */ daddu $a0, $s5, $zero +/* 9B8D44 802423C4 0240282D */ daddu $a1, $s2, $zero +/* 9B8D48 802423C8 0260302D */ daddu $a2, $s3, $zero +/* 9B8D4C 802423CC 0C090733 */ jal func_80241CCC +/* 9B8D50 802423D0 0200382D */ daddu $a3, $s0, $zero +/* 9B8D54 802423D4 86A200A8 */ lh $v0, 0xa8($s5) +/* 9B8D58 802423D8 AE42008C */ sw $v0, 0x8c($s2) +/* 9B8D5C 802423DC AE600070 */ sw $zero, 0x70($s3) +.L802423E0: +/* 9B8D60 802423E0 2402FFFD */ addiu $v0, $zero, -3 +/* 9B8D64 802423E4 A2A200AB */ sb $v0, 0xab($s5) +/* 9B8D68 802423E8 8E4300B0 */ lw $v1, 0xb0($s2) +/* 9B8D6C 802423EC 30620004 */ andi $v0, $v1, 4 +/* 9B8D70 802423F0 10400007 */ beqz $v0, .L80242410 +/* 9B8D74 802423F4 00000000 */ nop +/* 9B8D78 802423F8 824200B4 */ lb $v0, 0xb4($s2) +/* 9B8D7C 802423FC 14400052 */ bnez $v0, .L80242548 +/* 9B8D80 80242400 0000102D */ daddu $v0, $zero, $zero +/* 9B8D84 80242404 2402FFFB */ addiu $v0, $zero, -5 +/* 9B8D88 80242408 00621024 */ and $v0, $v1, $v0 +/* 9B8D8C 8024240C AE4200B0 */ sw $v0, 0xb0($s2) +.L80242410: +/* 9B8D90 80242410 8E630070 */ lw $v1, 0x70($s3) +/* 9B8D94 80242414 2C620010 */ sltiu $v0, $v1, 0x10 +/* 9B8D98 80242418 1040004A */ beqz $v0, .L80242544 +/* 9B8D9C 8024241C 00031080 */ sll $v0, $v1, 2 +/* 9B8DA0 80242420 3C018024 */ lui $at, 0x8024 +/* 9B8DA4 80242424 00220821 */ addu $at, $at, $v0 +/* 9B8DA8 80242428 8C2248D8 */ lw $v0, 0x48d8($at) +/* 9B8DAC 8024242C 00400008 */ jr $v0 +/* 9B8DB0 80242430 00000000 */ nop +/* 9B8DB4 80242434 0260202D */ daddu $a0, $s3, $zero +/* 9B8DB8 80242438 0200282D */ daddu $a1, $s0, $zero +/* 9B8DBC 8024243C 0C0902B9 */ jal func_80240AE4 +/* 9B8DC0 80242440 0280302D */ daddu $a2, $s4, $zero +/* 9B8DC4 80242444 0260202D */ daddu $a0, $s3, $zero +/* 9B8DC8 80242448 0200282D */ daddu $a1, $s0, $zero +/* 9B8DCC 8024244C 0C090325 */ jal func_80240C94 +/* 9B8DD0 80242450 0280302D */ daddu $a2, $s4, $zero +/* 9B8DD4 80242454 8E630070 */ lw $v1, 0x70($s3) +/* 9B8DD8 80242458 24020002 */ addiu $v0, $zero, 2 +/* 9B8DDC 8024245C 1462003A */ bne $v1, $v0, .L80242548 +/* 9B8DE0 80242460 0000102D */ daddu $v0, $zero, $zero +/* 9B8DE4 80242464 0260202D */ daddu $a0, $s3, $zero +/* 9B8DE8 80242468 0200282D */ daddu $a1, $s0, $zero +/* 9B8DEC 8024246C 0C0904AF */ jal func_802412BC +/* 9B8DF0 80242470 0280302D */ daddu $a2, $s4, $zero +/* 9B8DF4 80242474 0260202D */ daddu $a0, $s3, $zero +/* 9B8DF8 80242478 0200282D */ daddu $a1, $s0, $zero +/* 9B8DFC 8024247C 0C0904DF */ jal func_8024137C +/* 9B8E00 80242480 0280302D */ daddu $a2, $s4, $zero +/* 9B8E04 80242484 8E630070 */ lw $v1, 0x70($s3) +/* 9B8E08 80242488 2402000A */ addiu $v0, $zero, 0xa +/* 9B8E0C 8024248C 1462002E */ bne $v1, $v0, .L80242548 +/* 9B8E10 80242490 0000102D */ daddu $v0, $zero, $zero +/* 9B8E14 80242494 0260202D */ daddu $a0, $s3, $zero +/* 9B8E18 80242498 0200282D */ daddu $a1, $s0, $zero +/* 9B8E1C 8024249C 0C0905B0 */ jal func_802416C0 +/* 9B8E20 802424A0 0280302D */ daddu $a2, $s4, $zero +/* 9B8E24 802424A4 8E630070 */ lw $v1, 0x70($s3) +/* 9B8E28 802424A8 2402000B */ addiu $v0, $zero, 0xb +/* 9B8E2C 802424AC 14620026 */ bne $v1, $v0, .L80242548 +/* 9B8E30 802424B0 0000102D */ daddu $v0, $zero, $zero +/* 9B8E34 802424B4 0260202D */ daddu $a0, $s3, $zero +/* 9B8E38 802424B8 0200282D */ daddu $a1, $s0, $zero +/* 9B8E3C 802424BC 0C0905CE */ jal func_80241738 +/* 9B8E40 802424C0 0280302D */ daddu $a2, $s4, $zero +/* 9B8E44 802424C4 8E630070 */ lw $v1, 0x70($s3) +/* 9B8E48 802424C8 2402000C */ addiu $v0, $zero, 0xc +/* 9B8E4C 802424CC 1462001E */ bne $v1, $v0, .L80242548 +/* 9B8E50 802424D0 0000102D */ daddu $v0, $zero, $zero +/* 9B8E54 802424D4 0260202D */ daddu $a0, $s3, $zero +/* 9B8E58 802424D8 0200282D */ daddu $a1, $s0, $zero +/* 9B8E5C 802424DC 0C0907F7 */ jal func_80241FDC +/* 9B8E60 802424E0 0280302D */ daddu $a2, $s4, $zero +/* 9B8E64 802424E4 8E630070 */ lw $v1, 0x70($s3) +/* 9B8E68 802424E8 2402000D */ addiu $v0, $zero, 0xd +/* 9B8E6C 802424EC 14620016 */ bne $v1, $v0, .L80242548 +/* 9B8E70 802424F0 0000102D */ daddu $v0, $zero, $zero +/* 9B8E74 802424F4 0260202D */ daddu $a0, $s3, $zero +/* 9B8E78 802424F8 0200282D */ daddu $a1, $s0, $zero +/* 9B8E7C 802424FC 0C090841 */ jal func_80242104 +/* 9B8E80 80242500 0280302D */ daddu $a2, $s4, $zero +/* 9B8E84 80242504 8E630070 */ lw $v1, 0x70($s3) +/* 9B8E88 80242508 2402000E */ addiu $v0, $zero, 0xe +/* 9B8E8C 8024250C 1462000E */ bne $v1, $v0, .L80242548 +/* 9B8E90 80242510 0000102D */ daddu $v0, $zero, $zero +/* 9B8E94 80242514 0260202D */ daddu $a0, $s3, $zero +/* 9B8E98 80242518 0200282D */ daddu $a1, $s0, $zero +/* 9B8E9C 8024251C 0C090870 */ jal func_802421C0 +/* 9B8EA0 80242520 0280302D */ daddu $a2, $s4, $zero +/* 9B8EA4 80242524 8E630070 */ lw $v1, 0x70($s3) +/* 9B8EA8 80242528 2402000F */ addiu $v0, $zero, 0xf +/* 9B8EAC 8024252C 14620006 */ bne $v1, $v0, .L80242548 +/* 9B8EB0 80242530 0000102D */ daddu $v0, $zero, $zero +/* 9B8EB4 80242534 0260202D */ daddu $a0, $s3, $zero +/* 9B8EB8 80242538 0200282D */ daddu $a1, $s0, $zero +/* 9B8EBC 8024253C 0C0908B6 */ jal func_802422D8 +/* 9B8EC0 80242540 0280302D */ daddu $a2, $s4, $zero +.L80242544: +/* 9B8EC4 80242544 0000102D */ daddu $v0, $zero, $zero +.L80242548: +/* 9B8EC8 80242548 8FBF0048 */ lw $ra, 0x48($sp) +/* 9B8ECC 8024254C 8FB50044 */ lw $s5, 0x44($sp) +/* 9B8ED0 80242550 8FB40040 */ lw $s4, 0x40($sp) +/* 9B8ED4 80242554 8FB3003C */ lw $s3, 0x3c($sp) +/* 9B8ED8 80242558 8FB20038 */ lw $s2, 0x38($sp) +/* 9B8EDC 8024255C 8FB10034 */ lw $s1, 0x34($sp) +/* 9B8EE0 80242560 8FB00030 */ lw $s0, 0x30($sp) +/* 9B8EE4 80242564 03E00008 */ jr $ra +/* 9B8EE8 80242568 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_8024256C.s b/asm/nonmatchings/world/area_trd/trd_07/func_8024256C.s new file mode 100644 index 0000000000..ea533737bc --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_8024256C.s @@ -0,0 +1,47 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024256C +/* 9B8EEC 8024256C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9B8EF0 80242570 0000502D */ daddu $t2, $zero, $zero +/* 9B8EF4 80242574 3C03800B */ lui $v1, %hi(gCurrentEncounter) +/* 9B8EF8 80242578 24630F10 */ addiu $v1, $v1, %lo(gCurrentEncounter) +/* 9B8EFC 8024257C AFBF0010 */ sw $ra, 0x10($sp) +/* 9B8F00 80242580 8062001C */ lb $v0, 0x1c($v1) +/* 9B8F04 80242584 8C85000C */ lw $a1, 0xc($a0) +/* 9B8F08 80242588 18400016 */ blez $v0, .L802425E4 +/* 9B8F0C 8024258C 0140302D */ daddu $a2, $t2, $zero +/* 9B8F10 80242590 0040582D */ daddu $t3, $v0, $zero +/* 9B8F14 80242594 0060482D */ daddu $t1, $v1, $zero +.L80242598: +/* 9B8F18 80242598 8D220028 */ lw $v0, 0x28($t1) +/* 9B8F1C 8024259C 5040000E */ beql $v0, $zero, .L802425D8 +/* 9B8F20 802425A0 254A0001 */ addiu $t2, $t2, 1 +/* 9B8F24 802425A4 8C430000 */ lw $v1, ($v0) +/* 9B8F28 802425A8 1860000A */ blez $v1, .L802425D4 +/* 9B8F2C 802425AC 0000382D */ daddu $a3, $zero, $zero +/* 9B8F30 802425B0 0060402D */ daddu $t0, $v1, $zero +/* 9B8F34 802425B4 0040182D */ daddu $v1, $v0, $zero +.L802425B8: +/* 9B8F38 802425B8 8C620004 */ lw $v0, 4($v1) +/* 9B8F3C 802425BC 54400001 */ bnel $v0, $zero, .L802425C4 +/* 9B8F40 802425C0 24C60001 */ addiu $a2, $a2, 1 +.L802425C4: +/* 9B8F44 802425C4 24E70001 */ addiu $a3, $a3, 1 +/* 9B8F48 802425C8 00E8102A */ slt $v0, $a3, $t0 +/* 9B8F4C 802425CC 1440FFFA */ bnez $v0, .L802425B8 +/* 9B8F50 802425D0 24630004 */ addiu $v1, $v1, 4 +.L802425D4: +/* 9B8F54 802425D4 254A0001 */ addiu $t2, $t2, 1 +.L802425D8: +/* 9B8F58 802425D8 014B102A */ slt $v0, $t2, $t3 +/* 9B8F5C 802425DC 1440FFEE */ bnez $v0, .L80242598 +/* 9B8F60 802425E0 25290004 */ addiu $t1, $t1, 4 +.L802425E4: +/* 9B8F64 802425E4 8CA50000 */ lw $a1, ($a1) +/* 9B8F68 802425E8 0C0B2026 */ jal set_variable +/* 9B8F6C 802425EC 00000000 */ nop +/* 9B8F70 802425F0 8FBF0010 */ lw $ra, 0x10($sp) +/* 9B8F74 802425F4 24020002 */ addiu $v0, $zero, 2 +/* 9B8F78 802425F8 03E00008 */ jr $ra +/* 9B8F7C 802425FC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_80242600.s b/asm/nonmatchings/world/area_trd/trd_07/func_80242600.s new file mode 100644 index 0000000000..8cbce3f9a7 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_80242600.s @@ -0,0 +1,131 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80242600 +/* 9B8F80 80242600 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 9B8F84 80242604 AFB10014 */ sw $s1, 0x14($sp) +/* 9B8F88 80242608 0080882D */ daddu $s1, $a0, $zero +/* 9B8F8C 8024260C AFBF0018 */ sw $ra, 0x18($sp) +/* 9B8F90 80242610 AFB00010 */ sw $s0, 0x10($sp) +/* 9B8F94 80242614 F7BE0048 */ sdc1 $f30, 0x48($sp) +/* 9B8F98 80242618 F7BC0040 */ sdc1 $f28, 0x40($sp) +/* 9B8F9C 8024261C F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 9B8FA0 80242620 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 9B8FA4 80242624 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 9B8FA8 80242628 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9B8FAC 8024262C 8E30000C */ lw $s0, 0xc($s1) +/* 9B8FB0 80242630 8E050000 */ lw $a1, ($s0) +/* 9B8FB4 80242634 0C0B210B */ jal get_float_variable +/* 9B8FB8 80242638 26100004 */ addiu $s0, $s0, 4 +/* 9B8FBC 8024263C 8E050000 */ lw $a1, ($s0) +/* 9B8FC0 80242640 26100004 */ addiu $s0, $s0, 4 +/* 9B8FC4 80242644 0220202D */ daddu $a0, $s1, $zero +/* 9B8FC8 80242648 0C0B210B */ jal get_float_variable +/* 9B8FCC 8024264C 46000506 */ mov.s $f20, $f0 +/* 9B8FD0 80242650 0220202D */ daddu $a0, $s1, $zero +/* 9B8FD4 80242654 8E050000 */ lw $a1, ($s0) +/* 9B8FD8 80242658 0C0B210B */ jal get_float_variable +/* 9B8FDC 8024265C 46000586 */ mov.s $f22, $f0 +/* 9B8FE0 80242660 3C10800B */ lui $s0, %hi(gCameras) +/* 9B8FE4 80242664 26101D80 */ addiu $s0, $s0, %lo(gCameras) +/* 9B8FE8 80242668 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9B8FEC 8024266C 46000786 */ mov.s $f30, $f0 +/* 9B8FF0 80242670 461E6300 */ add.s $f12, $f12, $f30 +/* 9B8FF4 80242674 3C014387 */ lui $at, 0x4387 +/* 9B8FF8 80242678 4481D000 */ mtc1 $at, $f26 +/* 9B8FFC 8024267C 0C00A6C9 */ jal clamp_angle +/* 9B9000 80242680 461A6300 */ add.s $f12, $f12, $f26 +/* 9B9004 80242684 0C00A8BB */ jal sin_deg +/* 9B9008 80242688 46000306 */ mov.s $f12, $f0 +/* 9B900C 8024268C 3C01447A */ lui $at, 0x447a +/* 9B9010 80242690 44811000 */ mtc1 $at, $f2 +/* 9B9014 80242694 00000000 */ nop +/* 9B9018 80242698 46020002 */ mul.s $f0, $f0, $f2 +/* 9B901C 8024269C 00000000 */ nop +/* 9B9020 802426A0 4600A000 */ add.s $f0, $f20, $f0 +/* 9B9024 802426A4 3C014480 */ lui $at, 0x4480 +/* 9B9028 802426A8 44811000 */ mtc1 $at, $f2 +/* 9B902C 802426AC 00000000 */ nop +/* 9B9030 802426B0 46020002 */ mul.s $f0, $f0, $f2 +/* 9B9034 802426B4 00000000 */ nop +/* 9B9038 802426B8 3C01CD5B */ lui $at, 0xcd5b +/* 9B903C 802426BC 34215858 */ ori $at, $at, 0x5858 +/* 9B9040 802426C0 4481C000 */ mtc1 $at, $f24 +/* 9B9044 802426C4 00000000 */ nop +/* 9B9048 802426C8 46180000 */ add.s $f0, $f0, $f24 +/* 9B904C 802426CC 4600008D */ trunc.w.s $f2, $f0 +/* 9B9050 802426D0 E6220084 */ swc1 $f2, 0x84($s1) +/* 9B9054 802426D4 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9B9058 802426D8 461E6300 */ add.s $f12, $f12, $f30 +/* 9B905C 802426DC 0C00A6C9 */ jal clamp_angle +/* 9B9060 802426E0 461A6300 */ add.s $f12, $f12, $f26 +/* 9B9064 802426E4 0C00A8D4 */ jal cos_deg +/* 9B9068 802426E8 46000306 */ mov.s $f12, $f0 +/* 9B906C 802426EC 3C01447A */ lui $at, 0x447a +/* 9B9070 802426F0 44811000 */ mtc1 $at, $f2 +/* 9B9074 802426F4 00000000 */ nop +/* 9B9078 802426F8 46020002 */ mul.s $f0, $f0, $f2 +/* 9B907C 802426FC 00000000 */ nop +/* 9B9080 80242700 4600B001 */ sub.s $f0, $f22, $f0 +/* 9B9084 80242704 3C014480 */ lui $at, 0x4480 +/* 9B9088 80242708 44811000 */ mtc1 $at, $f2 +/* 9B908C 8024270C 00000000 */ nop +/* 9B9090 80242710 46020002 */ mul.s $f0, $f0, $f2 +/* 9B9094 80242714 00000000 */ nop +/* 9B9098 80242718 46180000 */ add.s $f0, $f0, $f24 +/* 9B909C 8024271C 4600008D */ trunc.w.s $f2, $f0 +/* 9B90A0 80242720 E6220088 */ swc1 $f2, 0x88($s1) +/* 9B90A4 80242724 C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9B90A8 80242728 461E6300 */ add.s $f12, $f12, $f30 +/* 9B90AC 8024272C 3C0142B4 */ lui $at, 0x42b4 +/* 9B90B0 80242730 4481E000 */ mtc1 $at, $f28 +/* 9B90B4 80242734 0C00A6C9 */ jal clamp_angle +/* 9B90B8 80242738 461C6300 */ add.s $f12, $f12, $f28 +/* 9B90BC 8024273C 0C00A8BB */ jal sin_deg +/* 9B90C0 80242740 46000306 */ mov.s $f12, $f0 +/* 9B90C4 80242744 3C01447A */ lui $at, 0x447a +/* 9B90C8 80242748 44811000 */ mtc1 $at, $f2 +/* 9B90CC 8024274C 00000000 */ nop +/* 9B90D0 80242750 46020002 */ mul.s $f0, $f0, $f2 +/* 9B90D4 80242754 00000000 */ nop +/* 9B90D8 80242758 4600A500 */ add.s $f20, $f20, $f0 +/* 9B90DC 8024275C 3C014480 */ lui $at, 0x4480 +/* 9B90E0 80242760 44811000 */ mtc1 $at, $f2 +/* 9B90E4 80242764 00000000 */ nop +/* 9B90E8 80242768 4602A502 */ mul.s $f20, $f20, $f2 +/* 9B90EC 8024276C 00000000 */ nop +/* 9B90F0 80242770 4618A500 */ add.s $f20, $f20, $f24 +/* 9B90F4 80242774 4600A08D */ trunc.w.s $f2, $f20 +/* 9B90F8 80242778 E622008C */ swc1 $f2, 0x8c($s1) +/* 9B90FC 8024277C C60C006C */ lwc1 $f12, 0x6c($s0) +/* 9B9100 80242780 461E6300 */ add.s $f12, $f12, $f30 +/* 9B9104 80242784 0C00A6C9 */ jal clamp_angle +/* 9B9108 80242788 461C6300 */ add.s $f12, $f12, $f28 +/* 9B910C 8024278C 0C00A8D4 */ jal cos_deg +/* 9B9110 80242790 46000306 */ mov.s $f12, $f0 +/* 9B9114 80242794 3C01447A */ lui $at, 0x447a +/* 9B9118 80242798 44811000 */ mtc1 $at, $f2 +/* 9B911C 8024279C 00000000 */ nop +/* 9B9120 802427A0 46020002 */ mul.s $f0, $f0, $f2 +/* 9B9124 802427A4 00000000 */ nop +/* 9B9128 802427A8 4600B581 */ sub.s $f22, $f22, $f0 +/* 9B912C 802427AC 3C014480 */ lui $at, 0x4480 +/* 9B9130 802427B0 44811000 */ mtc1 $at, $f2 +/* 9B9134 802427B4 00000000 */ nop +/* 9B9138 802427B8 4602B582 */ mul.s $f22, $f22, $f2 +/* 9B913C 802427BC 00000000 */ nop +/* 9B9140 802427C0 4618B580 */ add.s $f22, $f22, $f24 +/* 9B9144 802427C4 4600B08D */ trunc.w.s $f2, $f22 +/* 9B9148 802427C8 E6220090 */ swc1 $f2, 0x90($s1) +/* 9B914C 802427CC 8FBF0018 */ lw $ra, 0x18($sp) +/* 9B9150 802427D0 8FB10014 */ lw $s1, 0x14($sp) +/* 9B9154 802427D4 8FB00010 */ lw $s0, 0x10($sp) +/* 9B9158 802427D8 D7BE0048 */ ldc1 $f30, 0x48($sp) +/* 9B915C 802427DC D7BC0040 */ ldc1 $f28, 0x40($sp) +/* 9B9160 802427E0 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 9B9164 802427E4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 9B9168 802427E8 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 9B916C 802427EC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9B9170 802427F0 24020002 */ addiu $v0, $zero, 2 +/* 9B9174 802427F4 03E00008 */ jr $ra +/* 9B9178 802427F8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_trd/trd_07/func_802427FC.s b/asm/nonmatchings/world/area_trd/trd_07/func_802427FC.s new file mode 100644 index 0000000000..85ea74d00a --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_07/func_802427FC.s @@ -0,0 +1,65 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802427FC +/* 9B917C 802427FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 9B9180 80242800 AFB1001C */ sw $s1, 0x1c($sp) +/* 9B9184 80242804 0080882D */ daddu $s1, $a0, $zero +/* 9B9188 80242808 AFBF0028 */ sw $ra, 0x28($sp) +/* 9B918C 8024280C AFB30024 */ sw $s3, 0x24($sp) +/* 9B9190 80242810 AFB20020 */ sw $s2, 0x20($sp) +/* 9B9194 80242814 AFB00018 */ sw $s0, 0x18($sp) +/* 9B9198 80242818 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 9B919C 8024281C 8E30000C */ lw $s0, 0xc($s1) +/* 9B91A0 80242820 8E050000 */ lw $a1, ($s0) +/* 9B91A4 80242824 0C0B1EAF */ jal get_variable +/* 9B91A8 80242828 26100004 */ addiu $s0, $s0, 4 +/* 9B91AC 8024282C 8E050000 */ lw $a1, ($s0) +/* 9B91B0 80242830 26100004 */ addiu $s0, $s0, 4 +/* 9B91B4 80242834 0220202D */ daddu $a0, $s1, $zero +/* 9B91B8 80242838 0C0B1EAF */ jal get_variable +/* 9B91BC 8024283C 0040982D */ daddu $s3, $v0, $zero +/* 9B91C0 80242840 8E050000 */ lw $a1, ($s0) +/* 9B91C4 80242844 26100004 */ addiu $s0, $s0, 4 +/* 9B91C8 80242848 0220202D */ daddu $a0, $s1, $zero +/* 9B91CC 8024284C 0C0B1EAF */ jal get_variable +/* 9B91D0 80242850 0040902D */ daddu $s2, $v0, $zero +/* 9B91D4 80242854 0220202D */ daddu $a0, $s1, $zero +/* 9B91D8 80242858 8E050000 */ lw $a1, ($s0) +/* 9B91DC 8024285C 0C0B1EAF */ jal get_variable +/* 9B91E0 80242860 0040802D */ daddu $s0, $v0, $zero +/* 9B91E4 80242864 4482A000 */ mtc1 $v0, $f20 +/* 9B91E8 80242868 00000000 */ nop +/* 9B91EC 8024286C 4680A520 */ cvt.s.w $f20, $f20 +/* 9B91F0 80242870 0C00A8BB */ jal sin_deg +/* 9B91F4 80242874 4600A306 */ mov.s $f12, $f20 +/* 9B91F8 80242878 4600A306 */ mov.s $f12, $f20 +/* 9B91FC 8024287C 0C00A8D4 */ jal cos_deg +/* 9B9200 80242880 46000506 */ mov.s $f20, $f0 +/* 9B9204 80242884 24040001 */ addiu $a0, $zero, 1 +/* 9B9208 80242888 44931000 */ mtc1 $s3, $f2 +/* 9B920C 8024288C 00000000 */ nop +/* 9B9210 80242890 468010A0 */ cvt.s.w $f2, $f2 +/* 9B9214 80242894 2652000A */ addiu $s2, $s2, 0xa +/* 9B9218 80242898 44051000 */ mfc1 $a1, $f2 +/* 9B921C 8024289C 44921000 */ mtc1 $s2, $f2 +/* 9B9220 802428A0 00000000 */ nop +/* 9B9224 802428A4 468010A0 */ cvt.s.w $f2, $f2 +/* 9B9228 802428A8 44061000 */ mfc1 $a2, $f2 +/* 9B922C 802428AC 44901000 */ mtc1 $s0, $f2 +/* 9B9230 802428B0 00000000 */ nop +/* 9B9234 802428B4 468010A0 */ cvt.s.w $f2, $f2 +/* 9B9238 802428B8 44071000 */ mfc1 $a3, $f2 +/* 9B923C 802428BC 46000007 */ neg.s $f0, $f0 +/* 9B9240 802428C0 E7B40010 */ swc1 $f20, 0x10($sp) +/* 9B9244 802428C4 0C01BECC */ jal fx_walk_normal +/* 9B9248 802428C8 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9B924C 802428CC 8FBF0028 */ lw $ra, 0x28($sp) +/* 9B9250 802428D0 8FB30024 */ lw $s3, 0x24($sp) +/* 9B9254 802428D4 8FB20020 */ lw $s2, 0x20($sp) +/* 9B9258 802428D8 8FB1001C */ lw $s1, 0x1c($sp) +/* 9B925C 802428DC 8FB00018 */ lw $s0, 0x18($sp) +/* 9B9260 802428E0 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 9B9264 802428E4 24020002 */ addiu $v0, $zero, 2 +/* 9B9268 802428E8 03E00008 */ jr $ra +/* 9B926C 802428EC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/world/area_trd/trd_08/func_80240000_9BB2A0.s b/asm/nonmatchings/world/area_trd/trd_08/func_80240000_9BB2A0.s new file mode 100644 index 0000000000..31091816e9 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_08/func_80240000_9BB2A0.s @@ -0,0 +1,89 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9BB2A0 +/* 9BB2A0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9BB2A4 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* 9BB2A8 80240008 0080802D */ daddu $s0, $a0, $zero +/* 9BB2AC 8024000C AFBF0014 */ sw $ra, 0x14($sp) +/* 9BB2B0 80240010 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9BB2B4 80240014 8E020088 */ lw $v0, 0x88($s0) +/* 9BB2B8 80240018 00621821 */ addu $v1, $v1, $v0 +/* 9BB2BC 8024001C 04610004 */ bgez $v1, .L80240030 +/* 9BB2C0 80240020 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9BB2C4 80240024 3C020002 */ lui $v0, 2 +/* 9BB2C8 80240028 08090010 */ j .L80240040 +/* 9BB2CC 8024002C 00621021 */ addu $v0, $v1, $v0 +.L80240030: +/* 9BB2D0 80240030 3C040002 */ lui $a0, 2 +/* 9BB2D4 80240034 0083102A */ slt $v0, $a0, $v1 +/* 9BB2D8 80240038 10400002 */ beqz $v0, .L80240044 +/* 9BB2DC 8024003C 00641023 */ subu $v0, $v1, $a0 +.L80240040: +/* 9BB2E0 80240040 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240044: +/* 9BB2E4 80240044 8E0300AC */ lw $v1, 0xac($s0) +/* 9BB2E8 80240048 8E02008C */ lw $v0, 0x8c($s0) +/* 9BB2EC 8024004C 00621821 */ addu $v1, $v1, $v0 +/* 9BB2F0 80240050 04610004 */ bgez $v1, .L80240064 +/* 9BB2F4 80240054 AE0300AC */ sw $v1, 0xac($s0) +/* 9BB2F8 80240058 3C020002 */ lui $v0, 2 +/* 9BB2FC 8024005C 0809001D */ j .L80240074 +/* 9BB300 80240060 00621021 */ addu $v0, $v1, $v0 +.L80240064: +/* 9BB304 80240064 3C040002 */ lui $a0, 2 +/* 9BB308 80240068 0083102A */ slt $v0, $a0, $v1 +/* 9BB30C 8024006C 10400002 */ beqz $v0, .L80240078 +/* 9BB310 80240070 00641023 */ subu $v0, $v1, $a0 +.L80240074: +/* 9BB314 80240074 AE0200AC */ sw $v0, 0xac($s0) +.L80240078: +/* 9BB318 80240078 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9BB31C 8024007C 8E020090 */ lw $v0, 0x90($s0) +/* 9BB320 80240080 00621821 */ addu $v1, $v1, $v0 +/* 9BB324 80240084 04610004 */ bgez $v1, .L80240098 +/* 9BB328 80240088 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9BB32C 8024008C 3C020002 */ lui $v0, 2 +/* 9BB330 80240090 0809002A */ j .L802400A8 +/* 9BB334 80240094 00621021 */ addu $v0, $v1, $v0 +.L80240098: +/* 9BB338 80240098 3C040002 */ lui $a0, 2 +/* 9BB33C 8024009C 0083102A */ slt $v0, $a0, $v1 +/* 9BB340 802400A0 10400002 */ beqz $v0, .L802400AC +/* 9BB344 802400A4 00641023 */ subu $v0, $v1, $a0 +.L802400A8: +/* 9BB348 802400A8 AE0200B0 */ sw $v0, 0xb0($s0) +.L802400AC: +/* 9BB34C 802400AC 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9BB350 802400B0 8E020094 */ lw $v0, 0x94($s0) +/* 9BB354 802400B4 00621821 */ addu $v1, $v1, $v0 +/* 9BB358 802400B8 04610004 */ bgez $v1, .L802400CC +/* 9BB35C 802400BC AE0300B4 */ sw $v1, 0xb4($s0) +/* 9BB360 802400C0 3C020002 */ lui $v0, 2 +/* 9BB364 802400C4 08090037 */ j .L802400DC +/* 9BB368 802400C8 00621021 */ addu $v0, $v1, $v0 +.L802400CC: +/* 9BB36C 802400CC 3C040002 */ lui $a0, 2 +/* 9BB370 802400D0 0083102A */ slt $v0, $a0, $v1 +/* 9BB374 802400D4 10400002 */ beqz $v0, .L802400E0 +/* 9BB378 802400D8 00641023 */ subu $v0, $v1, $a0 +.L802400DC: +/* 9BB37C 802400DC AE0200B4 */ sw $v0, 0xb4($s0) +.L802400E0: +/* 9BB380 802400E0 8E040084 */ lw $a0, 0x84($s0) +/* 9BB384 802400E4 0C046F07 */ jal set_main_pan_u +/* 9BB388 802400E8 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9BB38C 802400EC 8E040084 */ lw $a0, 0x84($s0) +/* 9BB390 802400F0 0C046F0D */ jal set_main_pan_v +/* 9BB394 802400F4 8E0500AC */ lw $a1, 0xac($s0) +/* 9BB398 802400F8 8E040084 */ lw $a0, 0x84($s0) +/* 9BB39C 802400FC 0C046F13 */ jal set_aux_pan_u +/* 9BB3A0 80240100 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9BB3A4 80240104 8E040084 */ lw $a0, 0x84($s0) +/* 9BB3A8 80240108 0C046F19 */ jal set_aux_pan_v +/* 9BB3AC 8024010C 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9BB3B0 80240110 8FBF0014 */ lw $ra, 0x14($sp) +/* 9BB3B4 80240114 8FB00010 */ lw $s0, 0x10($sp) +/* 9BB3B8 80240118 0000102D */ daddu $v0, $zero, $zero +/* 9BB3BC 8024011C 03E00008 */ jr $ra +/* 9BB3C0 80240120 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_08/func_80240124_9BB2A0.s b/asm/nonmatchings/world/area_trd/trd_08/func_80240124_9BB2A0.s new file mode 100644 index 0000000000..92e9203c73 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_08/func_80240124_9BB2A0.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240124_9BB3C4 +/* 9BB3C4 80240124 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9BB3C8 80240128 AFB00010 */ sw $s0, 0x10($sp) +/* 9BB3CC 8024012C 0080802D */ daddu $s0, $a0, $zero +/* 9BB3D0 80240130 10A00005 */ beqz $a1, .L80240148 +/* 9BB3D4 80240134 AFBF0014 */ sw $ra, 0x14($sp) +/* 9BB3D8 80240138 AE000070 */ sw $zero, 0x70($s0) +/* 9BB3DC 8024013C AE000074 */ sw $zero, 0x74($s0) +/* 9BB3E0 80240140 AE000078 */ sw $zero, 0x78($s0) +/* 9BB3E4 80240144 AE00007C */ sw $zero, 0x7c($s0) +.L80240148: +/* 9BB3E8 80240148 8E020070 */ lw $v0, 0x70($s0) +/* 9BB3EC 8024014C 1440000E */ bnez $v0, .L80240188 +/* 9BB3F0 80240150 00000000 */ nop +/* 9BB3F4 80240154 8E0300A8 */ lw $v1, 0xa8($s0) +/* 9BB3F8 80240158 8E020088 */ lw $v0, 0x88($s0) +/* 9BB3FC 8024015C 00621821 */ addu $v1, $v1, $v0 +/* 9BB400 80240160 04610004 */ bgez $v1, .L80240174 +/* 9BB404 80240164 AE0300A8 */ sw $v1, 0xa8($s0) +/* 9BB408 80240168 3C020002 */ lui $v0, 2 +/* 9BB40C 8024016C 08090061 */ j .L80240184 +/* 9BB410 80240170 00621021 */ addu $v0, $v1, $v0 +.L80240174: +/* 9BB414 80240174 3C040002 */ lui $a0, 2 +/* 9BB418 80240178 0083102A */ slt $v0, $a0, $v1 +/* 9BB41C 8024017C 10400002 */ beqz $v0, .L80240188 +/* 9BB420 80240180 00641023 */ subu $v0, $v1, $a0 +.L80240184: +/* 9BB424 80240184 AE0200A8 */ sw $v0, 0xa8($s0) +.L80240188: +/* 9BB428 80240188 8E020074 */ lw $v0, 0x74($s0) +/* 9BB42C 8024018C 1440000E */ bnez $v0, .L802401C8 +/* 9BB430 80240190 00000000 */ nop +/* 9BB434 80240194 8E0300AC */ lw $v1, 0xac($s0) +/* 9BB438 80240198 8E02008C */ lw $v0, 0x8c($s0) +/* 9BB43C 8024019C 00621821 */ addu $v1, $v1, $v0 +/* 9BB440 802401A0 04610004 */ bgez $v1, .L802401B4 +/* 9BB444 802401A4 AE0300AC */ sw $v1, 0xac($s0) +/* 9BB448 802401A8 3C020002 */ lui $v0, 2 +/* 9BB44C 802401AC 08090071 */ j .L802401C4 +/* 9BB450 802401B0 00621021 */ addu $v0, $v1, $v0 +.L802401B4: +/* 9BB454 802401B4 3C040002 */ lui $a0, 2 +/* 9BB458 802401B8 0083102A */ slt $v0, $a0, $v1 +/* 9BB45C 802401BC 10400002 */ beqz $v0, .L802401C8 +/* 9BB460 802401C0 00641023 */ subu $v0, $v1, $a0 +.L802401C4: +/* 9BB464 802401C4 AE0200AC */ sw $v0, 0xac($s0) +.L802401C8: +/* 9BB468 802401C8 8E020078 */ lw $v0, 0x78($s0) +/* 9BB46C 802401CC 1440000E */ bnez $v0, .L80240208 +/* 9BB470 802401D0 00000000 */ nop +/* 9BB474 802401D4 8E0300B0 */ lw $v1, 0xb0($s0) +/* 9BB478 802401D8 8E020090 */ lw $v0, 0x90($s0) +/* 9BB47C 802401DC 00621821 */ addu $v1, $v1, $v0 +/* 9BB480 802401E0 04610004 */ bgez $v1, .L802401F4 +/* 9BB484 802401E4 AE0300B0 */ sw $v1, 0xb0($s0) +/* 9BB488 802401E8 3C020002 */ lui $v0, 2 +/* 9BB48C 802401EC 08090081 */ j .L80240204 +/* 9BB490 802401F0 00621021 */ addu $v0, $v1, $v0 +.L802401F4: +/* 9BB494 802401F4 3C040002 */ lui $a0, 2 +/* 9BB498 802401F8 0083102A */ slt $v0, $a0, $v1 +/* 9BB49C 802401FC 10400002 */ beqz $v0, .L80240208 +/* 9BB4A0 80240200 00641023 */ subu $v0, $v1, $a0 +.L80240204: +/* 9BB4A4 80240204 AE0200B0 */ sw $v0, 0xb0($s0) +.L80240208: +/* 9BB4A8 80240208 8E02007C */ lw $v0, 0x7c($s0) +/* 9BB4AC 8024020C 1440000E */ bnez $v0, .L80240248 +/* 9BB4B0 80240210 00000000 */ nop +/* 9BB4B4 80240214 8E0300B4 */ lw $v1, 0xb4($s0) +/* 9BB4B8 80240218 8E020094 */ lw $v0, 0x94($s0) +/* 9BB4BC 8024021C 00621821 */ addu $v1, $v1, $v0 +/* 9BB4C0 80240220 04610004 */ bgez $v1, .L80240234 +/* 9BB4C4 80240224 AE0300B4 */ sw $v1, 0xb4($s0) +/* 9BB4C8 80240228 3C020002 */ lui $v0, 2 +/* 9BB4CC 8024022C 08090091 */ j .L80240244 +/* 9BB4D0 80240230 00621021 */ addu $v0, $v1, $v0 +.L80240234: +/* 9BB4D4 80240234 3C040002 */ lui $a0, 2 +/* 9BB4D8 80240238 0083102A */ slt $v0, $a0, $v1 +/* 9BB4DC 8024023C 10400002 */ beqz $v0, .L80240248 +/* 9BB4E0 80240240 00641023 */ subu $v0, $v1, $a0 +.L80240244: +/* 9BB4E4 80240244 AE0200B4 */ sw $v0, 0xb4($s0) +.L80240248: +/* 9BB4E8 80240248 8E040084 */ lw $a0, 0x84($s0) +/* 9BB4EC 8024024C 0C046F07 */ jal set_main_pan_u +/* 9BB4F0 80240250 8E0500A8 */ lw $a1, 0xa8($s0) +/* 9BB4F4 80240254 8E040084 */ lw $a0, 0x84($s0) +/* 9BB4F8 80240258 0C046F0D */ jal set_main_pan_v +/* 9BB4FC 8024025C 8E0500AC */ lw $a1, 0xac($s0) +/* 9BB500 80240260 8E040084 */ lw $a0, 0x84($s0) +/* 9BB504 80240264 0C046F13 */ jal set_aux_pan_u +/* 9BB508 80240268 8E0500B0 */ lw $a1, 0xb0($s0) +/* 9BB50C 8024026C 8E040084 */ lw $a0, 0x84($s0) +/* 9BB510 80240270 0C046F19 */ jal set_aux_pan_v +/* 9BB514 80240274 8E0500B4 */ lw $a1, 0xb4($s0) +/* 9BB518 80240278 8E020070 */ lw $v0, 0x70($s0) +/* 9BB51C 8024027C 8E030078 */ lw $v1, 0x78($s0) +/* 9BB520 80240280 8E040098 */ lw $a0, 0x98($s0) +/* 9BB524 80240284 24420001 */ addiu $v0, $v0, 1 +/* 9BB528 80240288 AE020070 */ sw $v0, 0x70($s0) +/* 9BB52C 8024028C 8E020074 */ lw $v0, 0x74($s0) +/* 9BB530 80240290 24630001 */ addiu $v1, $v1, 1 +/* 9BB534 80240294 AE030078 */ sw $v1, 0x78($s0) +/* 9BB538 80240298 8E030070 */ lw $v1, 0x70($s0) +/* 9BB53C 8024029C 24420001 */ addiu $v0, $v0, 1 +/* 9BB540 802402A0 AE020074 */ sw $v0, 0x74($s0) +/* 9BB544 802402A4 8E02007C */ lw $v0, 0x7c($s0) +/* 9BB548 802402A8 0064182A */ slt $v1, $v1, $a0 +/* 9BB54C 802402AC 24420001 */ addiu $v0, $v0, 1 +/* 9BB550 802402B0 14600002 */ bnez $v1, .L802402BC +/* 9BB554 802402B4 AE02007C */ sw $v0, 0x7c($s0) +/* 9BB558 802402B8 AE000070 */ sw $zero, 0x70($s0) +.L802402BC: +/* 9BB55C 802402BC 8E020074 */ lw $v0, 0x74($s0) +/* 9BB560 802402C0 8E03009C */ lw $v1, 0x9c($s0) +/* 9BB564 802402C4 0043102A */ slt $v0, $v0, $v1 +/* 9BB568 802402C8 50400001 */ beql $v0, $zero, .L802402D0 +/* 9BB56C 802402CC AE000074 */ sw $zero, 0x74($s0) +.L802402D0: +/* 9BB570 802402D0 8E020078 */ lw $v0, 0x78($s0) +/* 9BB574 802402D4 8E0300A0 */ lw $v1, 0xa0($s0) +/* 9BB578 802402D8 0043102A */ slt $v0, $v0, $v1 +/* 9BB57C 802402DC 50400001 */ beql $v0, $zero, .L802402E4 +/* 9BB580 802402E0 AE000078 */ sw $zero, 0x78($s0) +.L802402E4: +/* 9BB584 802402E4 8E02007C */ lw $v0, 0x7c($s0) +/* 9BB588 802402E8 8E0300A4 */ lw $v1, 0xa4($s0) +/* 9BB58C 802402EC 0043102A */ slt $v0, $v0, $v1 +/* 9BB590 802402F0 50400001 */ beql $v0, $zero, .L802402F8 +/* 9BB594 802402F4 AE00007C */ sw $zero, 0x7c($s0) +.L802402F8: +/* 9BB598 802402F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 9BB59C 802402FC 8FB00010 */ lw $s0, 0x10($sp) +/* 9BB5A0 80240300 0000102D */ daddu $v0, $zero, $zero +/* 9BB5A4 80240304 03E00008 */ jr $ra +/* 9BB5A8 80240308 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9BB5AC 8024030C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_08/func_80240310_9BB2A0.s b/asm/nonmatchings/world/area_trd/trd_08/func_80240310_9BB2A0.s new file mode 100644 index 0000000000..3734e8eab1 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_08/func_80240310_9BB2A0.s @@ -0,0 +1,401 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240310_9BB5B0 +/* 9BB5B0 80240310 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 9BB5B4 80240314 AFB40028 */ sw $s4, 0x28($sp) +/* 9BB5B8 80240318 0080A02D */ daddu $s4, $a0, $zero +/* 9BB5BC 8024031C AFBF0038 */ sw $ra, 0x38($sp) +/* 9BB5C0 80240320 AFB70034 */ sw $s7, 0x34($sp) +/* 9BB5C4 80240324 AFB60030 */ sw $s6, 0x30($sp) +/* 9BB5C8 80240328 AFB5002C */ sw $s5, 0x2c($sp) +/* 9BB5CC 8024032C AFB30024 */ sw $s3, 0x24($sp) +/* 9BB5D0 80240330 AFB20020 */ sw $s2, 0x20($sp) +/* 9BB5D4 80240334 AFB1001C */ sw $s1, 0x1c($sp) +/* 9BB5D8 80240338 AFB00018 */ sw $s0, 0x18($sp) +/* 9BB5DC 8024033C F7B80050 */ sdc1 $f24, 0x50($sp) +/* 9BB5E0 80240340 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 9BB5E4 80240344 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 9BB5E8 80240348 8E82000C */ lw $v0, 0xc($s4) +/* 9BB5EC 8024034C 00A0802D */ daddu $s0, $a1, $zero +/* 9BB5F0 80240350 8C450000 */ lw $a1, ($v0) +/* 9BB5F4 80240354 0C0B1EAF */ jal get_variable +/* 9BB5F8 80240358 0000A82D */ daddu $s5, $zero, $zero +/* 9BB5FC 8024035C 8E830148 */ lw $v1, 0x148($s4) +/* 9BB600 80240360 84640008 */ lh $a0, 8($v1) +/* 9BB604 80240364 0C00EABB */ jal get_npc_unsafe +/* 9BB608 80240368 0040902D */ daddu $s2, $v0, $zero +/* 9BB60C 8024036C 0040882D */ daddu $s1, $v0, $zero +/* 9BB610 80240370 0C00EABB */ jal get_npc_unsafe +/* 9BB614 80240374 2404FFFC */ addiu $a0, $zero, -4 +/* 9BB618 80240378 3C138011 */ lui $s3, %hi(gPlayerStatus) +/* 9BB61C 8024037C 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) +/* 9BB620 80240380 3C168011 */ lui $s6, %hi(D_8010EBB0) +/* 9BB624 80240384 26D6EBB0 */ addiu $s6, $s6, %lo(D_8010EBB0) +/* 9BB628 80240388 1200001C */ beqz $s0, .L802403FC +/* 9BB62C 8024038C 0040B82D */ daddu $s7, $v0, $zero +/* 9BB630 80240390 0C00AB39 */ jal heap_malloc +/* 9BB634 80240394 24040030 */ addiu $a0, $zero, 0x30 +/* 9BB638 80240398 0040802D */ daddu $s0, $v0, $zero +/* 9BB63C 8024039C AE900074 */ sw $s0, 0x74($s4) +/* 9BB640 802403A0 AE000000 */ sw $zero, ($s0) +/* 9BB644 802403A4 C6400000 */ lwc1 $f0, ($s2) +/* 9BB648 802403A8 46800020 */ cvt.s.w $f0, $f0 +/* 9BB64C 802403AC E6000004 */ swc1 $f0, 4($s0) +/* 9BB650 802403B0 C6400004 */ lwc1 $f0, 4($s2) +/* 9BB654 802403B4 46800020 */ cvt.s.w $f0, $f0 +/* 9BB658 802403B8 E6000008 */ swc1 $f0, 8($s0) +/* 9BB65C 802403BC C6400008 */ lwc1 $f0, 8($s2) +/* 9BB660 802403C0 46800020 */ cvt.s.w $f0, $f0 +/* 9BB664 802403C4 E600000C */ swc1 $f0, 0xc($s0) +/* 9BB668 802403C8 C640000C */ lwc1 $f0, 0xc($s2) +/* 9BB66C 802403CC 46800020 */ cvt.s.w $f0, $f0 +/* 9BB670 802403D0 E6000010 */ swc1 $f0, 0x10($s0) +/* 9BB674 802403D4 8E420010 */ lw $v0, 0x10($s2) +/* 9BB678 802403D8 AE020014 */ sw $v0, 0x14($s0) +/* 9BB67C 802403DC 8E420014 */ lw $v0, 0x14($s2) +/* 9BB680 802403E0 AE020018 */ sw $v0, 0x18($s0) +/* 9BB684 802403E4 8E420018 */ lw $v0, 0x18($s2) +/* 9BB688 802403E8 AE000020 */ sw $zero, 0x20($s0) +/* 9BB68C 802403EC AE000024 */ sw $zero, 0x24($s0) +/* 9BB690 802403F0 AE000028 */ sw $zero, 0x28($s0) +/* 9BB694 802403F4 AE12002C */ sw $s2, 0x2c($s0) +/* 9BB698 802403F8 AE02001C */ sw $v0, 0x1c($s0) +.L802403FC: +/* 9BB69C 802403FC 0C009C64 */ jal func_80027190 +/* 9BB6A0 80240400 00000000 */ nop +/* 9BB6A4 80240404 14400131 */ bnez $v0, .L802408CC +/* 9BB6A8 80240408 0000102D */ daddu $v0, $zero, $zero +/* 9BB6AC 8024040C 8E900074 */ lw $s0, 0x74($s4) +/* 9BB6B0 80240410 8E020018 */ lw $v0, 0x18($s0) +/* 9BB6B4 80240414 02A2102A */ slt $v0, $s5, $v0 +/* 9BB6B8 80240418 10400082 */ beqz $v0, .L80240624 +/* 9BB6BC 8024041C 0000902D */ daddu $s2, $zero, $zero +/* 9BB6C0 80240420 3C013F00 */ lui $at, 0x3f00 +/* 9BB6C4 80240424 4481C000 */ mtc1 $at, $f24 +.L80240428: +/* 9BB6C8 80240428 8E040014 */ lw $a0, 0x14($s0) +/* 9BB6CC 8024042C 0C00EABB */ jal get_npc_unsafe +/* 9BB6D0 80240430 00922021 */ addu $a0, $a0, $s2 +/* 9BB6D4 80240434 8E030000 */ lw $v1, ($s0) +/* 9BB6D8 80240438 30630001 */ andi $v1, $v1, 1 +/* 9BB6DC 8024043C 14600020 */ bnez $v1, .L802404C0 +/* 9BB6E0 80240440 0040882D */ daddu $s1, $v0, $zero +/* 9BB6E4 80240444 862200A6 */ lh $v0, 0xa6($s1) +/* 9BB6E8 80240448 02420018 */ mult $s2, $v0 +/* 9BB6EC 8024044C 00004012 */ mflo $t0 +/* 9BB6F0 80240450 C6200054 */ lwc1 $f0, 0x54($s1) +/* 9BB6F4 80240454 4488A000 */ mtc1 $t0, $f20 +/* 9BB6F8 80240458 00000000 */ nop +/* 9BB6FC 8024045C 4680A520 */ cvt.s.w $f20, $f20 +/* 9BB700 80240460 4600A502 */ mul.s $f20, $f20, $f0 +/* 9BB704 80240464 00000000 */ nop +/* 9BB708 80240468 0C00A8BB */ jal sin_deg +/* 9BB70C 8024046C C60C0028 */ lwc1 $f12, 0x28($s0) +/* 9BB710 80240470 C60C0028 */ lwc1 $f12, 0x28($s0) +/* 9BB714 80240474 4600A582 */ mul.s $f22, $f20, $f0 +/* 9BB718 80240478 0C00A8D4 */ jal cos_deg +/* 9BB71C 8024047C 00000000 */ nop +/* 9BB720 80240480 C6020004 */ lwc1 $f2, 4($s0) +/* 9BB724 80240484 46161080 */ add.s $f2, $f2, $f22 +/* 9BB728 80240488 4600A507 */ neg.s $f20, $f20 +/* 9BB72C 8024048C 4600A502 */ mul.s $f20, $f20, $f0 +/* 9BB730 80240490 00000000 */ nop +/* 9BB734 80240494 E6220038 */ swc1 $f2, 0x38($s1) +/* 9BB738 80240498 C6000008 */ lwc1 $f0, 8($s0) +/* 9BB73C 8024049C E620003C */ swc1 $f0, 0x3c($s1) +/* 9BB740 802404A0 C60E000C */ lwc1 $f14, 0xc($s0) +/* 9BB744 802404A4 46147380 */ add.s $f14, $f14, $f20 +/* 9BB748 802404A8 E62E0040 */ swc1 $f14, 0x40($s1) +/* 9BB74C 802404AC 8E660028 */ lw $a2, 0x28($s3) +/* 9BB750 802404B0 8E670030 */ lw $a3, 0x30($s3) +/* 9BB754 802404B4 0C00A720 */ jal atan2 +/* 9BB758 802404B8 46001306 */ mov.s $f12, $f2 +/* 9BB75C 802404BC E620000C */ swc1 $f0, 0xc($s1) +.L802404C0: +/* 9BB760 802404C0 8E020000 */ lw $v0, ($s0) +/* 9BB764 802404C4 30420002 */ andi $v0, $v0, 2 +/* 9BB768 802404C8 14400051 */ bnez $v0, .L80240610 +/* 9BB76C 802404CC 00000000 */ nop +/* 9BB770 802404D0 8E620000 */ lw $v0, ($s3) +/* 9BB774 802404D4 30428000 */ andi $v0, $v0, 0x8000 +/* 9BB778 802404D8 1440004D */ bnez $v0, .L80240610 +/* 9BB77C 802404DC 24020001 */ addiu $v0, $zero, 1 +/* 9BB780 802404E0 C664002C */ lwc1 $f4, 0x2c($s3) +/* 9BB784 802404E4 C622003C */ lwc1 $f2, 0x3c($s1) +/* 9BB788 802404E8 82C30000 */ lb $v1, ($s6) +/* 9BB78C 802404EC 1462000F */ bne $v1, $v0, .L8024052C +/* 9BB790 802404F0 46022181 */ sub.s $f6, $f4, $f2 +/* 9BB794 802404F4 82C30003 */ lb $v1, 3($s6) +/* 9BB798 802404F8 24020008 */ addiu $v0, $zero, 8 +/* 9BB79C 802404FC 14620004 */ bne $v1, $v0, .L80240510 +/* 9BB7A0 80240500 24020004 */ addiu $v0, $zero, 4 +/* 9BB7A4 80240504 C6E0003C */ lwc1 $f0, 0x3c($s7) +/* 9BB7A8 80240508 0809014B */ j .L8024052C +/* 9BB7AC 8024050C 46020181 */ sub.s $f6, $f0, $f2 +.L80240510: +/* 9BB7B0 80240510 14620006 */ bne $v1, $v0, .L8024052C +/* 9BB7B4 80240514 00000000 */ nop +/* 9BB7B8 80240518 3C014120 */ lui $at, 0x4120 +/* 9BB7BC 8024051C 44810000 */ mtc1 $at, $f0 +/* 9BB7C0 80240520 00000000 */ nop +/* 9BB7C4 80240524 46002001 */ sub.s $f0, $f4, $f0 +/* 9BB7C8 80240528 46020181 */ sub.s $f6, $f0, $f2 +.L8024052C: +/* 9BB7CC 8024052C 862200A8 */ lh $v0, 0xa8($s1) +/* 9BB7D0 80240530 3C013F4C */ lui $at, 0x3f4c +/* 9BB7D4 80240534 3421CCCD */ ori $at, $at, 0xcccd +/* 9BB7D8 80240538 44810000 */ mtc1 $at, $f0 +/* 9BB7DC 8024053C 44822000 */ mtc1 $v0, $f4 +/* 9BB7E0 80240540 00000000 */ nop +/* 9BB7E4 80240544 46802120 */ cvt.s.w $f4, $f4 +/* 9BB7E8 80240548 46002102 */ mul.s $f4, $f4, $f0 +/* 9BB7EC 8024054C 00000000 */ nop +/* 9BB7F0 80240550 C6620028 */ lwc1 $f2, 0x28($s3) +/* 9BB7F4 80240554 C6200038 */ lwc1 $f0, 0x38($s1) +/* 9BB7F8 80240558 46001581 */ sub.s $f22, $f2, $f0 +/* 9BB7FC 8024055C C6620030 */ lwc1 $f2, 0x30($s3) +/* 9BB800 80240560 C6200040 */ lwc1 $f0, 0x40($s1) +/* 9BB804 80240564 46001501 */ sub.s $f20, $f2, $f0 +/* 9BB808 80240568 46003005 */ abs.s $f0, $f6 +/* 9BB80C 8024056C 4604003C */ c.lt.s $f0, $f4 +/* 9BB810 80240570 00000000 */ nop +/* 9BB814 80240574 45000026 */ bc1f .L80240610 +/* 9BB818 80240578 00000000 */ nop +/* 9BB81C 8024057C 4616B082 */ mul.s $f2, $f22, $f22 +/* 9BB820 80240580 00000000 */ nop +/* 9BB824 80240584 4614A002 */ mul.s $f0, $f20, $f20 +/* 9BB828 80240588 00000000 */ nop +/* 9BB82C 8024058C 46001300 */ add.s $f12, $f2, $f0 +/* 9BB830 80240590 46006104 */ sqrt.s $f4, $f12 +/* 9BB834 80240594 46042032 */ c.eq.s $f4, $f4 +/* 9BB838 80240598 00000000 */ nop +/* 9BB83C 8024059C 45010004 */ bc1t .L802405B0 +/* 9BB840 802405A0 00000000 */ nop +/* 9BB844 802405A4 0C0187BC */ jal sqrtf +/* 9BB848 802405A8 00000000 */ nop +/* 9BB84C 802405AC 46000106 */ mov.s $f4, $f0 +.L802405B0: +/* 9BB850 802405B0 862200A6 */ lh $v0, 0xa6($s1) +/* 9BB854 802405B4 44821000 */ mtc1 $v0, $f2 +/* 9BB858 802405B8 00000000 */ nop +/* 9BB85C 802405BC 468010A0 */ cvt.s.w $f2, $f2 +/* 9BB860 802405C0 46181082 */ mul.s $f2, $f2, $f24 +/* 9BB864 802405C4 00000000 */ nop +/* 9BB868 802405C8 C6200054 */ lwc1 $f0, 0x54($s1) +/* 9BB86C 802405CC 46001082 */ mul.s $f2, $f2, $f0 +/* 9BB870 802405D0 00000000 */ nop +/* 9BB874 802405D4 866200B2 */ lh $v0, 0xb2($s3) +/* 9BB878 802405D8 44820000 */ mtc1 $v0, $f0 +/* 9BB87C 802405DC 00000000 */ nop +/* 9BB880 802405E0 46800020 */ cvt.s.w $f0, $f0 +/* 9BB884 802405E4 46180002 */ mul.s $f0, $f0, $f24 +/* 9BB888 802405E8 00000000 */ nop +/* 9BB88C 802405EC 46181082 */ mul.s $f2, $f2, $f24 +/* 9BB890 802405F0 00000000 */ nop +/* 9BB894 802405F4 46180002 */ mul.s $f0, $f0, $f24 +/* 9BB898 802405F8 00000000 */ nop +/* 9BB89C 802405FC 46001080 */ add.s $f2, $f2, $f0 +/* 9BB8A0 80240600 4602203E */ c.le.s $f4, $f2 +/* 9BB8A4 80240604 00000000 */ nop +/* 9BB8A8 80240608 45030001 */ bc1tl .L80240610 +/* 9BB8AC 8024060C 24150001 */ addiu $s5, $zero, 1 +.L80240610: +/* 9BB8B0 80240610 8E020018 */ lw $v0, 0x18($s0) +/* 9BB8B4 80240614 26520001 */ addiu $s2, $s2, 1 +/* 9BB8B8 80240618 0242102A */ slt $v0, $s2, $v0 +/* 9BB8BC 8024061C 1440FF82 */ bnez $v0, .L80240428 +/* 9BB8C0 80240620 00000000 */ nop +.L80240624: +/* 9BB8C4 80240624 8E620000 */ lw $v0, ($s3) +/* 9BB8C8 80240628 30428000 */ andi $v0, $v0, 0x8000 +/* 9BB8CC 8024062C 54400001 */ bnel $v0, $zero, .L80240634 +/* 9BB8D0 80240630 2415FFFF */ addiu $s5, $zero, -1 +.L80240634: +/* 9BB8D4 80240634 C60C0028 */ lwc1 $f12, 0x28($s0) +/* 9BB8D8 80240638 C6000010 */ lwc1 $f0, 0x10($s0) +/* 9BB8DC 8024063C 46006300 */ add.s $f12, $f12, $f0 +/* 9BB8E0 80240640 0C00A6C9 */ jal clamp_angle +/* 9BB8E4 80240644 E60C0028 */ swc1 $f12, 0x28($s0) +/* 9BB8E8 80240648 C6020028 */ lwc1 $f2, 0x28($s0) +/* 9BB8EC 8024064C 46000106 */ mov.s $f4, $f0 +/* 9BB8F0 80240650 46022032 */ c.eq.s $f4, $f2 +/* 9BB8F4 80240654 00000000 */ nop +/* 9BB8F8 80240658 4501000D */ bc1t .L80240690 +/* 9BB8FC 8024065C 00000000 */ nop +/* 9BB900 80240660 8E020020 */ lw $v0, 0x20($s0) +/* 9BB904 80240664 C600000C */ lwc1 $f0, 0xc($s0) +/* 9BB908 80240668 E6040028 */ swc1 $f4, 0x28($s0) +/* 9BB90C 8024066C 00021080 */ sll $v0, $v0, 2 +/* 9BB910 80240670 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9BB914 80240674 3C048024 */ lui $a0, 0x8024 +/* 9BB918 80240678 00822021 */ addu $a0, $a0, $v0 +/* 9BB91C 8024067C 8C840F00 */ lw $a0, 0xf00($a0) +/* 9BB920 80240680 8E060004 */ lw $a2, 4($s0) +/* 9BB924 80240684 8E070008 */ lw $a3, 8($s0) +/* 9BB928 80240688 0C052757 */ jal play_sound_at_position +/* 9BB92C 8024068C 0000282D */ daddu $a1, $zero, $zero +.L80240690: +/* 9BB930 80240690 C60C0004 */ lwc1 $f12, 4($s0) +/* 9BB934 80240694 C60E000C */ lwc1 $f14, 0xc($s0) +/* 9BB938 80240698 8E660028 */ lw $a2, 0x28($s3) +/* 9BB93C 8024069C 0C00A7B5 */ jal dist2D +/* 9BB940 802406A0 8E670030 */ lw $a3, 0x30($s3) +/* 9BB944 802406A4 C60C0004 */ lwc1 $f12, 4($s0) +/* 9BB948 802406A8 C60E000C */ lwc1 $f14, 0xc($s0) +/* 9BB94C 802406AC 8E260038 */ lw $a2, 0x38($s1) +/* 9BB950 802406B0 8E270040 */ lw $a3, 0x40($s1) +/* 9BB954 802406B4 0C00A7B5 */ jal dist2D +/* 9BB958 802406B8 46000586 */ mov.s $f22, $f0 +/* 9BB95C 802406BC 862200A6 */ lh $v0, 0xa6($s1) +/* 9BB960 802406C0 3C013F00 */ lui $at, 0x3f00 +/* 9BB964 802406C4 44813000 */ mtc1 $at, $f6 +/* 9BB968 802406C8 44821000 */ mtc1 $v0, $f2 +/* 9BB96C 802406CC 00000000 */ nop +/* 9BB970 802406D0 468010A0 */ cvt.s.w $f2, $f2 +/* 9BB974 802406D4 46061082 */ mul.s $f2, $f2, $f6 +/* 9BB978 802406D8 00000000 */ nop +/* 9BB97C 802406DC C6240054 */ lwc1 $f4, 0x54($s1) +/* 9BB980 802406E0 46041082 */ mul.s $f2, $f2, $f4 +/* 9BB984 802406E4 00000000 */ nop +/* 9BB988 802406E8 866200B2 */ lh $v0, 0xb2($s3) +/* 9BB98C 802406EC 44822000 */ mtc1 $v0, $f4 +/* 9BB990 802406F0 00000000 */ nop +/* 9BB994 802406F4 46802120 */ cvt.s.w $f4, $f4 +/* 9BB998 802406F8 46062102 */ mul.s $f4, $f4, $f6 +/* 9BB99C 802406FC 00000000 */ nop +/* 9BB9A0 80240700 46061082 */ mul.s $f2, $f2, $f6 +/* 9BB9A4 80240704 00000000 */ nop +/* 9BB9A8 80240708 46062102 */ mul.s $f4, $f4, $f6 +/* 9BB9AC 8024070C 00000000 */ nop +/* 9BB9B0 80240710 C60C0004 */ lwc1 $f12, 4($s0) +/* 9BB9B4 80240714 C60E000C */ lwc1 $f14, 0xc($s0) +/* 9BB9B8 80240718 46020000 */ add.s $f0, $f0, $f2 +/* 9BB9BC 8024071C 8E660028 */ lw $a2, 0x28($s3) +/* 9BB9C0 80240720 8E670030 */ lw $a3, 0x30($s3) +/* 9BB9C4 80240724 0C00A720 */ jal atan2 +/* 9BB9C8 80240728 46040600 */ add.s $f24, $f0, $f4 +/* 9BB9CC 8024072C C60C0004 */ lwc1 $f12, 4($s0) +/* 9BB9D0 80240730 C60E000C */ lwc1 $f14, 0xc($s0) +/* 9BB9D4 80240734 8E260038 */ lw $a2, 0x38($s1) +/* 9BB9D8 80240738 8E270040 */ lw $a3, 0x40($s1) +/* 9BB9DC 8024073C 0C00A720 */ jal atan2 +/* 9BB9E0 80240740 46000506 */ mov.s $f20, $f0 +/* 9BB9E4 80240744 4600A306 */ mov.s $f12, $f20 +/* 9BB9E8 80240748 0C00A70A */ jal get_clamped_angle_diff +/* 9BB9EC 8024074C 46000386 */ mov.s $f14, $f0 +/* 9BB9F0 80240750 1AA0002A */ blez $s5, .L802407FC +/* 9BB9F4 80240754 46000506 */ mov.s $f20, $f0 +/* 9BB9F8 80240758 826300B4 */ lb $v1, 0xb4($s3) +/* 9BB9FC 8024075C 24020015 */ addiu $v0, $zero, 0x15 +/* 9BBA00 80240760 10620026 */ beq $v1, $v0, .L802407FC +/* 9BBA04 80240764 0040202D */ daddu $a0, $v0, $zero +/* 9BBA08 80240768 24020003 */ addiu $v0, $zero, 3 +/* 9BBA0C 8024076C 0C039769 */ jal set_action_state +/* 9BBA10 80240770 A26200BF */ sb $v0, 0xbf($s3) +/* 9BBA14 80240774 240400E8 */ addiu $a0, $zero, 0xe8 +/* 9BBA18 80240778 8E660028 */ lw $a2, 0x28($s3) +/* 9BBA1C 8024077C 8E67002C */ lw $a3, 0x2c($s3) +/* 9BBA20 80240780 C6600030 */ lwc1 $f0, 0x30($s3) +/* 9BBA24 80240784 0000282D */ daddu $a1, $zero, $zero +/* 9BBA28 80240788 0C052757 */ jal play_sound_at_position +/* 9BBA2C 8024078C E7A00010 */ swc1 $f0, 0x10($sp) +/* 9BBA30 80240790 2402002D */ addiu $v0, $zero, 0x2d +/* 9BBA34 80240794 3C01800B */ lui $at, 0x800b +/* 9BBA38 80240798 A0220F1A */ sb $v0, 0xf1a($at) +/* 9BBA3C 8024079C C6600028 */ lwc1 $f0, 0x28($s3) +/* 9BBA40 802407A0 C6620030 */ lwc1 $f2, 0x30($s3) +/* 9BBA44 802407A4 2402002D */ addiu $v0, $zero, 0x2d +/* 9BBA48 802407A8 A6620010 */ sh $v0, 0x10($s3) +/* 9BBA4C 802407AC 4600020D */ trunc.w.s $f8, $f0 +/* 9BBA50 802407B0 44024000 */ mfc1 $v0, $f8 +/* 9BBA54 802407B4 C660002C */ lwc1 $f0, 0x2c($s3) +/* 9BBA58 802407B8 A6620016 */ sh $v0, 0x16($s3) +/* 9BBA5C 802407BC 4600020D */ trunc.w.s $f8, $f0 +/* 9BBA60 802407C0 44024000 */ mfc1 $v0, $f8 +/* 9BBA64 802407C4 00000000 */ nop +/* 9BBA68 802407C8 A6620018 */ sh $v0, 0x18($s3) +/* 9BBA6C 802407CC 4600120D */ trunc.w.s $f8, $f2 +/* 9BBA70 802407D0 44024000 */ mfc1 $v0, $f8 +/* 9BBA74 802407D4 00000000 */ nop +/* 9BBA78 802407D8 A662001A */ sh $v0, 0x1a($s3) +/* 9BBA7C 802407DC 8E02001C */ lw $v0, 0x1c($s0) +/* 9BBA80 802407E0 10400033 */ beqz $v0, .L802408B0 +/* 9BBA84 802407E4 AE000020 */ sw $zero, 0x20($s0) +/* 9BBA88 802407E8 0200202D */ daddu $a0, $s0, $zero +/* 9BBA8C 802407EC 0040F809 */ jalr $v0 +/* 9BBA90 802407F0 24050002 */ addiu $a1, $zero, 2 +/* 9BBA94 802407F4 0809022C */ j .L802408B0 +/* 9BBA98 802407F8 00000000 */ nop +.L802407FC: +/* 9BBA9C 802407FC 4618B03C */ c.lt.s $f22, $f24 +/* 9BBAA0 80240800 00000000 */ nop +/* 9BBAA4 80240804 4500002A */ bc1f .L802408B0 +/* 9BBAA8 80240808 00000000 */ nop +/* 9BBAAC 8024080C 8E020000 */ lw $v0, ($s0) +/* 9BBAB0 80240810 30420002 */ andi $v0, $v0, 2 +/* 9BBAB4 80240814 14400026 */ bnez $v0, .L802408B0 +/* 9BBAB8 80240818 00000000 */ nop +/* 9BBABC 8024081C 16A00024 */ bnez $s5, .L802408B0 +/* 9BBAC0 80240820 24020015 */ addiu $v0, $zero, 0x15 +/* 9BBAC4 80240824 826300B4 */ lb $v1, 0xb4($s3) +/* 9BBAC8 80240828 10620021 */ beq $v1, $v0, .L802408B0 +/* 9BBACC 8024082C 00000000 */ nop +/* 9BBAD0 80240830 C6000010 */ lwc1 $f0, 0x10($s0) +/* 9BBAD4 80240834 44801000 */ mtc1 $zero, $f2 +/* 9BBAD8 80240838 00000000 */ nop +/* 9BBADC 8024083C 4600103C */ c.lt.s $f2, $f0 +/* 9BBAE0 80240840 00000000 */ nop +/* 9BBAE4 80240844 45000009 */ bc1f .L8024086C +/* 9BBAE8 80240848 00000000 */ nop +/* 9BBAEC 8024084C C6000024 */ lwc1 $f0, 0x24($s0) +/* 9BBAF0 80240850 4602003C */ c.lt.s $f0, $f2 +/* 9BBAF4 80240854 00000000 */ nop +/* 9BBAF8 80240858 45000015 */ bc1f .L802408B0 +/* 9BBAFC 8024085C 00000000 */ nop +/* 9BBB00 80240860 4614103C */ c.lt.s $f2, $f20 +/* 9BBB04 80240864 08090222 */ j .L80240888 +/* 9BBB08 80240868 00000000 */ nop +.L8024086C: +/* 9BBB0C 8024086C C6000024 */ lwc1 $f0, 0x24($s0) +/* 9BBB10 80240870 4600103C */ c.lt.s $f2, $f0 +/* 9BBB14 80240874 00000000 */ nop +/* 9BBB18 80240878 4500000D */ bc1f .L802408B0 +/* 9BBB1C 8024087C 00000000 */ nop +/* 9BBB20 80240880 4602A03C */ c.lt.s $f20, $f2 +/* 9BBB24 80240884 00000000 */ nop +.L80240888: +/* 9BBB28 80240888 45000009 */ bc1f .L802408B0 +/* 9BBB2C 8024088C 00000000 */ nop +/* 9BBB30 80240890 8E020020 */ lw $v0, 0x20($s0) +/* 9BBB34 80240894 8E03001C */ lw $v1, 0x1c($s0) +/* 9BBB38 80240898 24420001 */ addiu $v0, $v0, 1 +/* 9BBB3C 8024089C 10600004 */ beqz $v1, .L802408B0 +/* 9BBB40 802408A0 AE020020 */ sw $v0, 0x20($s0) +/* 9BBB44 802408A4 0200202D */ daddu $a0, $s0, $zero +/* 9BBB48 802408A8 0060F809 */ jalr $v1 +/* 9BBB4C 802408AC 24050001 */ addiu $a1, $zero, 1 +.L802408B0: +/* 9BBB50 802408B0 8E02001C */ lw $v0, 0x1c($s0) +/* 9BBB54 802408B4 10400004 */ beqz $v0, .L802408C8 +/* 9BBB58 802408B8 E6140024 */ swc1 $f20, 0x24($s0) +/* 9BBB5C 802408BC 0200202D */ daddu $a0, $s0, $zero +/* 9BBB60 802408C0 0040F809 */ jalr $v0 +/* 9BBB64 802408C4 0000282D */ daddu $a1, $zero, $zero +.L802408C8: +/* 9BBB68 802408C8 0000102D */ daddu $v0, $zero, $zero +.L802408CC: +/* 9BBB6C 802408CC 8FBF0038 */ lw $ra, 0x38($sp) +/* 9BBB70 802408D0 8FB70034 */ lw $s7, 0x34($sp) +/* 9BBB74 802408D4 8FB60030 */ lw $s6, 0x30($sp) +/* 9BBB78 802408D8 8FB5002C */ lw $s5, 0x2c($sp) +/* 9BBB7C 802408DC 8FB40028 */ lw $s4, 0x28($sp) +/* 9BBB80 802408E0 8FB30024 */ lw $s3, 0x24($sp) +/* 9BBB84 802408E4 8FB20020 */ lw $s2, 0x20($sp) +/* 9BBB88 802408E8 8FB1001C */ lw $s1, 0x1c($sp) +/* 9BBB8C 802408EC 8FB00018 */ lw $s0, 0x18($sp) +/* 9BBB90 802408F0 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 9BBB94 802408F4 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 9BBB98 802408F8 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 9BBB9C 802408FC 03E00008 */ jr $ra +/* 9BBBA0 80240900 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/world/area_trd/trd_08/func_80240904.s b/asm/nonmatchings/world/area_trd/trd_08/func_80240904.s new file mode 100644 index 0000000000..e3370b5b05 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_08/func_80240904.s @@ -0,0 +1,81 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240904 +/* 9BBBA4 80240904 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9BBBA8 80240908 AFB00010 */ sw $s0, 0x10($sp) +/* 9BBBAC 8024090C 0080802D */ daddu $s0, $a0, $zero +/* 9BBBB0 80240910 24020001 */ addiu $v0, $zero, 1 +/* 9BBBB4 80240914 10A20019 */ beq $a1, $v0, .L8024097C +/* 9BBBB8 80240918 AFBF0014 */ sw $ra, 0x14($sp) +/* 9BBBBC 8024091C 28A20002 */ slti $v0, $a1, 2 +/* 9BBBC0 80240920 50400005 */ beql $v0, $zero, .L80240938 +/* 9BBBC4 80240924 24020002 */ addiu $v0, $zero, 2 +/* 9BBBC8 80240928 10A00007 */ beqz $a1, .L80240948 +/* 9BBBCC 8024092C 00000000 */ nop +/* 9BBBD0 80240930 08090284 */ j .L80240A10 +/* 9BBBD4 80240934 00000000 */ nop +.L80240938: +/* 9BBBD8 80240938 10A20028 */ beq $a1, $v0, .L802409DC +/* 9BBBDC 8024093C 00000000 */ nop +/* 9BBBE0 80240940 08090284 */ j .L80240A10 +/* 9BBBE4 80240944 00000000 */ nop +.L80240948: +/* 9BBBE8 80240948 8E020000 */ lw $v0, ($s0) +/* 9BBBEC 8024094C 30420002 */ andi $v0, $v0, 2 +/* 9BBBF0 80240950 1040002F */ beqz $v0, .L80240A10 +/* 9BBBF4 80240954 00000000 */ nop +/* 9BBBF8 80240958 C6000010 */ lwc1 $f0, 0x10($s0) +/* 9BBBFC 8024095C 3C013F73 */ lui $at, 0x3f73 +/* 9BBC00 80240960 34213333 */ ori $at, $at, 0x3333 +/* 9BBC04 80240964 44811000 */ mtc1 $at, $f2 +/* 9BBC08 80240968 00000000 */ nop +/* 9BBC0C 8024096C 46020002 */ mul.s $f0, $f0, $f2 +/* 9BBC10 80240970 00000000 */ nop +/* 9BBC14 80240974 08090284 */ j .L80240A10 +/* 9BBC18 80240978 E6000010 */ swc1 $f0, 0x10($s0) +.L8024097C: +/* 9BBC1C 8024097C C6000010 */ lwc1 $f0, 0x10($s0) +/* 9BBC20 80240980 3C013F8F */ lui $at, 0x3f8f +/* 9BBC24 80240984 34215C29 */ ori $at, $at, 0x5c29 +/* 9BBC28 80240988 44811000 */ mtc1 $at, $f2 +/* 9BBC2C 8024098C 00000000 */ nop +/* 9BBC30 80240990 46020002 */ mul.s $f0, $f0, $f2 +/* 9BBC34 80240994 00000000 */ nop +/* 9BBC38 80240998 8E030020 */ lw $v1, 0x20($s0) +/* 9BBC3C 8024099C 2402000A */ addiu $v0, $zero, 0xa +/* 9BBC40 802409A0 1462001B */ bne $v1, $v0, .L80240A10 +/* 9BBC44 802409A4 E6000010 */ swc1 $f0, 0x10($s0) +/* 9BBC48 802409A8 3C048024 */ lui $a0, 0x8024 +/* 9BBC4C 802409AC 24840F2C */ addiu $a0, $a0, 0xf2c +/* 9BBC50 802409B0 24050001 */ addiu $a1, $zero, 1 +/* 9BBC54 802409B4 0C0B0CF8 */ jal start_script +/* 9BBC58 802409B8 0000302D */ daddu $a2, $zero, $zero +/* 9BBC5C 802409BC 8E030014 */ lw $v1, 0x14($s0) +/* 9BBC60 802409C0 AC430084 */ sw $v1, 0x84($v0) +/* 9BBC64 802409C4 8E030018 */ lw $v1, 0x18($s0) +/* 9BBC68 802409C8 AC430088 */ sw $v1, 0x88($v0) +/* 9BBC6C 802409CC 8E020000 */ lw $v0, ($s0) +/* 9BBC70 802409D0 34420002 */ ori $v0, $v0, 2 +/* 9BBC74 802409D4 08090284 */ j .L80240A10 +/* 9BBC78 802409D8 AE020000 */ sw $v0, ($s0) +.L802409DC: +/* 9BBC7C 802409DC C60C0010 */ lwc1 $f12, 0x10($s0) +/* 9BBC80 802409E0 0C00A69F */ jal signF +/* 9BBC84 802409E4 46006307 */ neg.s $f12, $f12 +/* 9BBC88 802409E8 8E02002C */ lw $v0, 0x2c($s0) +/* 9BBC8C 802409EC 8C42000C */ lw $v0, 0xc($v0) +/* 9BBC90 802409F0 04420001 */ bltzl $v0, .L802409F8 +/* 9BBC94 802409F4 00021023 */ negu $v0, $v0 +.L802409F8: +/* 9BBC98 802409F8 44821000 */ mtc1 $v0, $f2 +/* 9BBC9C 802409FC 00000000 */ nop +/* 9BBCA0 80240A00 468010A0 */ cvt.s.w $f2, $f2 +/* 9BBCA4 80240A04 46001082 */ mul.s $f2, $f2, $f0 +/* 9BBCA8 80240A08 00000000 */ nop +/* 9BBCAC 80240A0C E6020010 */ swc1 $f2, 0x10($s0) +.L80240A10: +/* 9BBCB0 80240A10 8FBF0014 */ lw $ra, 0x14($sp) +/* 9BBCB4 80240A14 8FB00010 */ lw $s0, 0x10($sp) +/* 9BBCB8 80240A18 03E00008 */ jr $ra +/* 9BBCBC 80240A1C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_09/func_80240000_9BD660.s b/asm/nonmatchings/world/area_trd/trd_09/func_80240000_9BD660.s new file mode 100644 index 0000000000..a5a9323fd6 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_09/func_80240000_9BD660.s @@ -0,0 +1,55 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9BD660 +/* 9BD660 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9BD664 80240004 AFB3001C */ sw $s3, 0x1c($sp) +/* 9BD668 80240008 0080982D */ daddu $s3, $a0, $zero +/* 9BD66C 8024000C AFBF0024 */ sw $ra, 0x24($sp) +/* 9BD670 80240010 AFB40020 */ sw $s4, 0x20($sp) +/* 9BD674 80240014 AFB20018 */ sw $s2, 0x18($sp) +/* 9BD678 80240018 AFB10014 */ sw $s1, 0x14($sp) +/* 9BD67C 8024001C AFB00010 */ sw $s0, 0x10($sp) +/* 9BD680 80240020 8E70000C */ lw $s0, 0xc($s3) +/* 9BD684 80240024 8E720148 */ lw $s2, 0x148($s3) +/* 9BD688 80240028 8E050000 */ lw $a1, ($s0) +/* 9BD68C 8024002C 0C0B1EAF */ jal get_variable +/* 9BD690 80240030 26100004 */ addiu $s0, $s0, 4 +/* 9BD694 80240034 0040882D */ daddu $s1, $v0, $zero +/* 9BD698 80240038 8E050000 */ lw $a1, ($s0) +/* 9BD69C 8024003C 26100004 */ addiu $s0, $s0, 4 +/* 9BD6A0 80240040 0C0B1EAF */ jal get_variable +/* 9BD6A4 80240044 0260202D */ daddu $a0, $s3, $zero +/* 9BD6A8 80240048 0040A02D */ daddu $s4, $v0, $zero +/* 9BD6AC 8024004C 2402FFFF */ addiu $v0, $zero, -1 +/* 9BD6B0 80240050 16220002 */ bne $s1, $v0, .L8024005C +/* 9BD6B4 80240054 8E100000 */ lw $s0, ($s0) +/* 9BD6B8 80240058 86510008 */ lh $s1, 8($s2) +.L8024005C: +/* 9BD6BC 8024005C 0C00FB3A */ jal get_enemy +/* 9BD6C0 80240060 0220202D */ daddu $a0, $s1, $zero +/* 9BD6C4 80240064 0040902D */ daddu $s2, $v0, $zero +/* 9BD6C8 80240068 12400006 */ beqz $s2, .L80240084 +/* 9BD6CC 8024006C 0260202D */ daddu $a0, $s3, $zero +/* 9BD6D0 80240070 00141080 */ sll $v0, $s4, 2 +/* 9BD6D4 80240074 02421021 */ addu $v0, $s2, $v0 +/* 9BD6D8 80240078 8C46006C */ lw $a2, 0x6c($v0) +/* 9BD6DC 8024007C 08090023 */ j .L8024008C +/* 9BD6E0 80240080 0200282D */ daddu $a1, $s0, $zero +.L80240084: +/* 9BD6E4 80240084 0200282D */ daddu $a1, $s0, $zero +/* 9BD6E8 80240088 2406FFFF */ addiu $a2, $zero, -1 +.L8024008C: +/* 9BD6EC 8024008C 0C0B2026 */ jal set_variable +/* 9BD6F0 80240090 00000000 */ nop +/* 9BD6F4 80240094 8FBF0024 */ lw $ra, 0x24($sp) +/* 9BD6F8 80240098 8FB40020 */ lw $s4, 0x20($sp) +/* 9BD6FC 8024009C 8FB3001C */ lw $s3, 0x1c($sp) +/* 9BD700 802400A0 8FB20018 */ lw $s2, 0x18($sp) +/* 9BD704 802400A4 8FB10014 */ lw $s1, 0x14($sp) +/* 9BD708 802400A8 8FB00010 */ lw $s0, 0x10($sp) +/* 9BD70C 802400AC 24020002 */ addiu $v0, $zero, 2 +/* 9BD710 802400B0 03E00008 */ jr $ra +/* 9BD714 802400B4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 9BD718 802400B8 00000000 */ nop +/* 9BD71C 802400BC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_09/func_802400C0.s b/asm/nonmatchings/world/area_trd/trd_09/func_802400C0.s new file mode 100644 index 0000000000..2e28924d47 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_09/func_802400C0.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400C0 +/* 9BD720 802400C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9BD724 802400C4 3C048024 */ lui $a0, 0x8024 +/* 9BD728 802400C8 24845234 */ addiu $a0, $a0, 0x5234 +/* 9BD72C 802400CC AFBF0018 */ sw $ra, 0x18($sp) +/* 9BD730 802400D0 AFB10014 */ sw $s1, 0x14($sp) +/* 9BD734 802400D4 AFB00010 */ sw $s0, 0x10($sp) +/* 9BD738 802400D8 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 9BD73C 802400DC 8C830000 */ lw $v1, ($a0) +/* 9BD740 802400E0 3C118011 */ lui $s1, %hi(gPlayerStatus) +/* 9BD744 802400E4 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) +/* 9BD748 802400E8 28620003 */ slti $v0, $v1, 3 +/* 9BD74C 802400EC 50400007 */ beql $v0, $zero, .L8024010C +/* 9BD750 802400F0 24020003 */ addiu $v0, $zero, 3 +/* 9BD754 802400F4 1C60000C */ bgtz $v1, .L80240128 +/* 9BD758 802400F8 24620001 */ addiu $v0, $v1, 1 +/* 9BD75C 802400FC 10600007 */ beqz $v1, .L8024011C +/* 9BD760 80240100 0000102D */ daddu $v0, $zero, $zero +/* 9BD764 80240104 0809006E */ j .L802401B8 +/* 9BD768 80240108 00000000 */ nop +.L8024010C: +/* 9BD76C 8024010C 10620008 */ beq $v1, $v0, .L80240130 +/* 9BD770 80240110 0000102D */ daddu $v0, $zero, $zero +/* 9BD774 80240114 0809006E */ j .L802401B8 +/* 9BD778 80240118 00000000 */ nop +.L8024011C: +/* 9BD77C 8024011C 24020001 */ addiu $v0, $zero, 1 +/* 9BD780 80240120 0809006D */ j .L802401B4 +/* 9BD784 80240124 AC820000 */ sw $v0, ($a0) +.L80240128: +/* 9BD788 80240128 0809006D */ j .L802401B4 +/* 9BD78C 8024012C AC820000 */ sw $v0, ($a0) +.L80240130: +/* 9BD790 80240130 C6200028 */ lwc1 $f0, 0x28($s1) +/* 9BD794 80240134 3C0141F0 */ lui $at, 0x41f0 +/* 9BD798 80240138 44811000 */ mtc1 $at, $f2 +/* 9BD79C 8024013C 3C108011 */ lui $s0, 0x8011 +/* 9BD7A0 80240140 2610C930 */ addiu $s0, $s0, -0x36d0 +/* 9BD7A4 80240144 46020001 */ sub.s $f0, $f0, $f2 +/* 9BD7A8 80240148 8E040000 */ lw $a0, ($s0) +/* 9BD7AC 8024014C E4800038 */ swc1 $f0, 0x38($a0) +/* 9BD7B0 80240150 C6200030 */ lwc1 $f0, 0x30($s1) +/* 9BD7B4 80240154 46020000 */ add.s $f0, $f0, $f2 +/* 9BD7B8 80240158 0C03BD17 */ jal clear_partner_move_history +/* 9BD7BC 8024015C E4800040 */ swc1 $f0, 0x40($a0) +/* 9BD7C0 80240160 C6200028 */ lwc1 $f0, 0x28($s1) +/* 9BD7C4 80240164 C6220030 */ lwc1 $f2, 0x30($s1) +/* 9BD7C8 80240168 4600010D */ trunc.w.s $f4, $f0 +/* 9BD7CC 8024016C 44042000 */ mfc1 $a0, $f4 +/* 9BD7D0 80240170 4600110D */ trunc.w.s $f4, $f2 +/* 9BD7D4 80240174 44052000 */ mfc1 $a1, $f4 +/* 9BD7D8 80240178 0C03BCF0 */ jal func_800EF3C0 +/* 9BD7DC 8024017C 00000000 */ nop +/* 9BD7E0 80240180 0C03BCF5 */ jal func_800EF3D4 +/* 9BD7E4 80240184 0000202D */ daddu $a0, $zero, $zero +/* 9BD7E8 80240188 3C0142B4 */ lui $at, 0x42b4 +/* 9BD7EC 8024018C 4481A000 */ mtc1 $at, $f20 +/* 9BD7F0 80240190 8E040000 */ lw $a0, ($s0) +/* 9BD7F4 80240194 4405A000 */ mfc1 $a1, $f20 +/* 9BD7F8 80240198 0C00ECD0 */ jal set_npc_yaw +/* 9BD7FC 8024019C 00000000 */ nop +/* 9BD800 802401A0 24020002 */ addiu $v0, $zero, 2 +/* 9BD804 802401A4 E6340080 */ swc1 $f20, 0x80($s1) +/* 9BD808 802401A8 E6340084 */ swc1 $f20, 0x84($s1) +/* 9BD80C 802401AC 0809006E */ j .L802401B8 +/* 9BD810 802401B0 AE2000A8 */ sw $zero, 0xa8($s1) +.L802401B4: +/* 9BD814 802401B4 0000102D */ daddu $v0, $zero, $zero +.L802401B8: +/* 9BD818 802401B8 8FBF0018 */ lw $ra, 0x18($sp) +/* 9BD81C 802401BC 8FB10014 */ lw $s1, 0x14($sp) +/* 9BD820 802401C0 8FB00010 */ lw $s0, 0x10($sp) +/* 9BD824 802401C4 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 9BD828 802401C8 03E00008 */ jr $ra +/* 9BD82C 802401CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_80240000_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_80240000_9C2910.s new file mode 100644 index 0000000000..27f8a748a4 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_80240000_9C2910.s @@ -0,0 +1,23 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_9C2910 +/* 9C2910 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 9C2914 80240004 AFBF001C */ sw $ra, 0x1c($sp) +/* 9C2918 80240008 AFB00018 */ sw $s0, 0x18($sp) +/* 9C291C 8024000C 8C900084 */ lw $s0, 0x84($a0) +/* 9C2920 80240010 C6000008 */ lwc1 $f0, 8($s0) +/* 9C2924 80240014 240400A2 */ addiu $a0, $zero, 0xa2 +/* 9C2928 80240018 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C292C 8024001C 8E060000 */ lw $a2, ($s0) +/* 9C2930 80240020 8E070004 */ lw $a3, 4($s0) +/* 9C2934 80240024 0C05267B */ jal func_801499EC +/* 9C2938 80240028 0000282D */ daddu $a1, $zero, $zero +/* 9C293C 8024002C 86020044 */ lh $v0, 0x44($s0) +/* 9C2940 80240030 8FBF001C */ lw $ra, 0x1c($sp) +/* 9C2944 80240034 8FB00018 */ lw $s0, 0x18($sp) +/* 9C2948 80240038 28420002 */ slti $v0, $v0, 2 +/* 9C294C 8024003C 38420001 */ xori $v0, $v0, 1 +/* 9C2950 80240040 00021040 */ sll $v0, $v0, 1 +/* 9C2954 80240044 03E00008 */ jr $ra +/* 9C2958 80240048 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_8024004C_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_8024004C_9C2910.s new file mode 100644 index 0000000000..07b6a8c5db --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_8024004C_9C2910.s @@ -0,0 +1,93 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024004C_9C295C +/* 9C295C 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C2960 80240050 AFB20020 */ sw $s2, 0x20($sp) +/* 9C2964 80240054 0080902D */ daddu $s2, $a0, $zero +/* 9C2968 80240058 AFBF0024 */ sw $ra, 0x24($sp) +/* 9C296C 8024005C AFB1001C */ sw $s1, 0x1c($sp) +/* 9C2970 80240060 AFB00018 */ sw $s0, 0x18($sp) +/* 9C2974 80240064 10A0004A */ beqz $a1, .L80240190 +/* 9C2978 80240068 8E51000C */ lw $s1, 0xc($s2) +/* 9C297C 8024006C 0C00AB39 */ jal heap_malloc +/* 9C2980 80240070 24040058 */ addiu $a0, $zero, 0x58 +/* 9C2984 80240074 0000202D */ daddu $a0, $zero, $zero +/* 9C2988 80240078 3C05FD05 */ lui $a1, 0xfd05 +/* 9C298C 8024007C 34A50F81 */ ori $a1, $a1, 0xf81 +/* 9C2990 80240080 0040802D */ daddu $s0, $v0, $zero +/* 9C2994 80240084 0200302D */ daddu $a2, $s0, $zero +/* 9C2998 80240088 0C0B2026 */ jal set_variable +/* 9C299C 8024008C AE500084 */ sw $s0, 0x84($s2) +/* 9C29A0 80240090 8E250000 */ lw $a1, ($s1) +/* 9C29A4 80240094 26310004 */ addiu $s1, $s1, 4 +/* 9C29A8 80240098 0C0B1EAF */ jal get_variable +/* 9C29AC 8024009C 0240202D */ daddu $a0, $s2, $zero +/* 9C29B0 802400A0 AE020038 */ sw $v0, 0x38($s0) +/* 9C29B4 802400A4 8E250000 */ lw $a1, ($s1) +/* 9C29B8 802400A8 26310004 */ addiu $s1, $s1, 4 +/* 9C29BC 802400AC 0C0B1EAF */ jal get_variable +/* 9C29C0 802400B0 0240202D */ daddu $a0, $s2, $zero +/* 9C29C4 802400B4 AE02003C */ sw $v0, 0x3c($s0) +/* 9C29C8 802400B8 8E250000 */ lw $a1, ($s1) +/* 9C29CC 802400BC 26310004 */ addiu $s1, $s1, 4 +/* 9C29D0 802400C0 0C0B210B */ jal get_float_variable +/* 9C29D4 802400C4 0240202D */ daddu $a0, $s2, $zero +/* 9C29D8 802400C8 E600000C */ swc1 $f0, 0xc($s0) +/* 9C29DC 802400CC 8E250000 */ lw $a1, ($s1) +/* 9C29E0 802400D0 26310004 */ addiu $s1, $s1, 4 +/* 9C29E4 802400D4 0C0B210B */ jal get_float_variable +/* 9C29E8 802400D8 0240202D */ daddu $a0, $s2, $zero +/* 9C29EC 802400DC E6000010 */ swc1 $f0, 0x10($s0) +/* 9C29F0 802400E0 8E250000 */ lw $a1, ($s1) +/* 9C29F4 802400E4 26310004 */ addiu $s1, $s1, 4 +/* 9C29F8 802400E8 0C0B210B */ jal get_float_variable +/* 9C29FC 802400EC 0240202D */ daddu $a0, $s2, $zero +/* 9C2A00 802400F0 E6000014 */ swc1 $f0, 0x14($s0) +/* 9C2A04 802400F4 8E250000 */ lw $a1, ($s1) +/* 9C2A08 802400F8 26310004 */ addiu $s1, $s1, 4 +/* 9C2A0C 802400FC 0C0B210B */ jal get_float_variable +/* 9C2A10 80240100 0240202D */ daddu $a0, $s2, $zero +/* 9C2A14 80240104 E6000018 */ swc1 $f0, 0x18($s0) +/* 9C2A18 80240108 8E250000 */ lw $a1, ($s1) +/* 9C2A1C 8024010C 26310004 */ addiu $s1, $s1, 4 +/* 9C2A20 80240110 0C0B210B */ jal get_float_variable +/* 9C2A24 80240114 0240202D */ daddu $a0, $s2, $zero +/* 9C2A28 80240118 E600001C */ swc1 $f0, 0x1c($s0) +/* 9C2A2C 8024011C 8E250000 */ lw $a1, ($s1) +/* 9C2A30 80240120 26310004 */ addiu $s1, $s1, 4 +/* 9C2A34 80240124 0C0B210B */ jal get_float_variable +/* 9C2A38 80240128 0240202D */ daddu $a0, $s2, $zero +/* 9C2A3C 8024012C E6000020 */ swc1 $f0, 0x20($s0) +/* 9C2A40 80240130 8E250000 */ lw $a1, ($s1) +/* 9C2A44 80240134 26310004 */ addiu $s1, $s1, 4 +/* 9C2A48 80240138 0C0B210B */ jal get_float_variable +/* 9C2A4C 8024013C 0240202D */ daddu $a0, $s2, $zero +/* 9C2A50 80240140 E6000024 */ swc1 $f0, 0x24($s0) +/* 9C2A54 80240144 8E250000 */ lw $a1, ($s1) +/* 9C2A58 80240148 0C0B210B */ jal get_float_variable +/* 9C2A5C 8024014C 0240202D */ daddu $a0, $s2, $zero +/* 9C2A60 80240150 3C013F80 */ lui $at, 0x3f80 +/* 9C2A64 80240154 44811000 */ mtc1 $at, $f2 +/* 9C2A68 80240158 E6000028 */ swc1 $f0, 0x28($s0) +/* 9C2A6C 8024015C AFA00014 */ sw $zero, 0x14($sp) +/* 9C2A70 80240160 E7A20010 */ swc1 $f2, 0x10($sp) +/* 9C2A74 80240164 8E05000C */ lw $a1, 0xc($s0) +/* 9C2A78 80240168 8E060010 */ lw $a2, 0x10($s0) +/* 9C2A7C 8024016C 8E070014 */ lw $a3, 0x14($s0) +/* 9C2A80 80240170 0C01CA6C */ jal func_800729B0 +/* 9C2A84 80240174 24040002 */ addiu $a0, $zero, 2 +/* 9C2A88 80240178 AE020050 */ sw $v0, 0x50($s0) +/* 9C2A8C 8024017C A600004E */ sh $zero, 0x4e($s0) +/* 9C2A90 80240180 A6000048 */ sh $zero, 0x48($s0) +/* 9C2A94 80240184 A600004A */ sh $zero, 0x4a($s0) +/* 9C2A98 80240188 A6000044 */ sh $zero, 0x44($s0) +/* 9C2A9C 8024018C A6000046 */ sh $zero, 0x46($s0) +.L80240190: +/* 9C2AA0 80240190 8FBF0024 */ lw $ra, 0x24($sp) +/* 9C2AA4 80240194 8FB20020 */ lw $s2, 0x20($sp) +/* 9C2AA8 80240198 8FB1001C */ lw $s1, 0x1c($sp) +/* 9C2AAC 8024019C 8FB00018 */ lw $s0, 0x18($sp) +/* 9C2AB0 802401A0 24020002 */ addiu $v0, $zero, 2 +/* 9C2AB4 802401A4 03E00008 */ jr $ra +/* 9C2AB8 802401A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_802401AC_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_802401AC_9C2910.s new file mode 100644 index 0000000000..a2659f4d00 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_802401AC_9C2910.s @@ -0,0 +1,272 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802401AC_9C2ABC +/* 9C2ABC 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C2AC0 802401B0 AFBF0020 */ sw $ra, 0x20($sp) +/* 9C2AC4 802401B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 9C2AC8 802401B8 AFB00018 */ sw $s0, 0x18($sp) +/* 9C2ACC 802401BC 8C910084 */ lw $s1, 0x84($a0) +/* 9C2AD0 802401C0 86230044 */ lh $v1, 0x44($s1) +/* 9C2AD4 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* 9C2AD8 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* 9C2ADC 802401CC 2C620005 */ sltiu $v0, $v1, 5 +/* 9C2AE0 802401D0 1040008A */ beqz $v0, .L802403FC +/* 9C2AE4 802401D4 00031080 */ sll $v0, $v1, 2 +/* 9C2AE8 802401D8 3C018024 */ lui $at, 0x8024 +/* 9C2AEC 802401DC 00220821 */ addu $at, $at, $v0 +/* 9C2AF0 802401E0 8C222AA0 */ lw $v0, 0x2aa0($at) +/* 9C2AF4 802401E4 00400008 */ jr $v0 +/* 9C2AF8 802401E8 00000000 */ nop +/* 9C2AFC 802401EC 8E22003C */ lw $v0, 0x3c($s1) +/* 9C2B00 802401F0 86270046 */ lh $a3, 0x46($s1) +/* 9C2B04 802401F4 AFA20010 */ sw $v0, 0x10($sp) +/* 9C2B08 802401F8 8E250010 */ lw $a1, 0x10($s1) +/* 9C2B0C 802401FC 8E26001C */ lw $a2, 0x1c($s1) +/* 9C2B10 80240200 0C00A8ED */ jal update_lerp +/* 9C2B14 80240204 24040005 */ addiu $a0, $zero, 5 +/* 9C2B18 80240208 86270046 */ lh $a3, 0x46($s1) +/* 9C2B1C 8024020C 8E22003C */ lw $v0, 0x3c($s1) +/* 9C2B20 80240210 E6200004 */ swc1 $f0, 4($s1) +/* 9C2B24 80240214 AFA20010 */ sw $v0, 0x10($sp) +/* 9C2B28 80240218 8E25000C */ lw $a1, 0xc($s1) +/* 9C2B2C 8024021C 8E260018 */ lw $a2, 0x18($s1) +/* 9C2B30 80240220 0C00A8ED */ jal update_lerp +/* 9C2B34 80240224 0000202D */ daddu $a0, $zero, $zero +/* 9C2B38 80240228 86270046 */ lh $a3, 0x46($s1) +/* 9C2B3C 8024022C 8E22003C */ lw $v0, 0x3c($s1) +/* 9C2B40 80240230 E6200000 */ swc1 $f0, ($s1) +/* 9C2B44 80240234 AFA20010 */ sw $v0, 0x10($sp) +/* 9C2B48 80240238 8E250014 */ lw $a1, 0x14($s1) +/* 9C2B4C 8024023C 8E260020 */ lw $a2, 0x20($s1) +/* 9C2B50 80240240 0C00A8ED */ jal update_lerp +/* 9C2B54 80240244 0000202D */ daddu $a0, $zero, $zero +/* 9C2B58 80240248 8E220050 */ lw $v0, 0x50($s1) +/* 9C2B5C 8024024C E6200008 */ swc1 $f0, 8($s1) +/* 9C2B60 80240250 C6200000 */ lwc1 $f0, ($s1) +/* 9C2B64 80240254 8C42000C */ lw $v0, 0xc($v0) +/* 9C2B68 80240258 E4400008 */ swc1 $f0, 8($v0) +/* 9C2B6C 8024025C 8E220050 */ lw $v0, 0x50($s1) +/* 9C2B70 80240260 C6200004 */ lwc1 $f0, 4($s1) +/* 9C2B74 80240264 8C42000C */ lw $v0, 0xc($v0) +/* 9C2B78 80240268 E440000C */ swc1 $f0, 0xc($v0) +/* 9C2B7C 8024026C 8E220050 */ lw $v0, 0x50($s1) +/* 9C2B80 80240270 C6200008 */ lwc1 $f0, 8($s1) +/* 9C2B84 80240274 8C42000C */ lw $v0, 0xc($v0) +/* 9C2B88 80240278 E4400010 */ swc1 $f0, 0x10($v0) +/* 9C2B8C 8024027C 96220046 */ lhu $v0, 0x46($s1) +/* 9C2B90 80240280 8E23003C */ lw $v1, 0x3c($s1) +/* 9C2B94 80240284 24420001 */ addiu $v0, $v0, 1 +/* 9C2B98 80240288 A6220046 */ sh $v0, 0x46($s1) +/* 9C2B9C 8024028C 00021400 */ sll $v0, $v0, 0x10 +/* 9C2BA0 80240290 00021403 */ sra $v0, $v0, 0x10 +/* 9C2BA4 80240294 0043102A */ slt $v0, $v0, $v1 +/* 9C2BA8 80240298 14400058 */ bnez $v0, .L802403FC +/* 9C2BAC 8024029C 24020001 */ addiu $v0, $zero, 1 +/* 9C2BB0 802402A0 A6220044 */ sh $v0, 0x44($s1) +/* 9C2BB4 802402A4 080900FF */ j .L802403FC +/* 9C2BB8 802402A8 A6200046 */ sh $zero, 0x46($s1) +/* 9C2BBC 802402AC 96220046 */ lhu $v0, 0x46($s1) +/* 9C2BC0 802402B0 24420001 */ addiu $v0, $v0, 1 +/* 9C2BC4 802402B4 A6220046 */ sh $v0, 0x46($s1) +/* 9C2BC8 802402B8 00021400 */ sll $v0, $v0, 0x10 +/* 9C2BCC 802402BC 00021403 */ sra $v0, $v0, 0x10 +/* 9C2BD0 802402C0 2842003C */ slti $v0, $v0, 0x3c +/* 9C2BD4 802402C4 1440004D */ bnez $v0, .L802403FC +/* 9C2BD8 802402C8 24020002 */ addiu $v0, $zero, 2 +/* 9C2BDC 802402CC 8E230050 */ lw $v1, 0x50($s1) +/* 9C2BE0 802402D0 A6220044 */ sh $v0, 0x44($s1) +/* 9C2BE4 802402D4 A6200046 */ sh $zero, 0x46($s1) +/* 9C2BE8 802402D8 8C63000C */ lw $v1, 0xc($v1) +/* 9C2BEC 802402DC 24020001 */ addiu $v0, $zero, 1 +/* 9C2BF0 802402E0 AC620070 */ sw $v0, 0x70($v1) +/* 9C2BF4 802402E4 8E220050 */ lw $v0, 0x50($s1) +/* 9C2BF8 802402E8 8C42000C */ lw $v0, 0xc($v0) +/* 9C2BFC 802402EC 080900FF */ j .L802403FC +/* 9C2C00 802402F0 AC400074 */ sw $zero, 0x74($v0) +/* 9C2C04 802402F4 96220046 */ lhu $v0, 0x46($s1) +/* 9C2C08 802402F8 24420001 */ addiu $v0, $v0, 1 +/* 9C2C0C 802402FC A6220046 */ sh $v0, 0x46($s1) +/* 9C2C10 80240300 00021400 */ sll $v0, $v0, 0x10 +/* 9C2C14 80240304 00021403 */ sra $v0, $v0, 0x10 +/* 9C2C18 80240308 2842003C */ slti $v0, $v0, 0x3c +/* 9C2C1C 8024030C 1440003B */ bnez $v0, .L802403FC +/* 9C2C20 80240310 00000000 */ nop +/* 9C2C24 80240314 3C013F80 */ lui $at, 0x3f80 +/* 9C2C28 80240318 44810000 */ mtc1 $at, $f0 +/* 9C2C2C 8024031C AFA00014 */ sw $zero, 0x14($sp) +/* 9C2C30 80240320 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C2C34 80240324 8E250018 */ lw $a1, 0x18($s1) +/* 9C2C38 80240328 8E26001C */ lw $a2, 0x1c($s1) +/* 9C2C3C 8024032C 8E270020 */ lw $a3, 0x20($s1) +/* 9C2C40 80240330 0C01C9AC */ jal func_800726B0 +/* 9C2C44 80240334 24040001 */ addiu $a0, $zero, 1 +/* 9C2C48 80240338 AE220054 */ sw $v0, 0x54($s1) +/* 9C2C4C 8024033C 8C43000C */ lw $v1, 0xc($v0) +/* 9C2C50 80240340 9222003B */ lbu $v0, 0x3b($s1) +/* 9C2C54 80240344 A0620034 */ sb $v0, 0x34($v1) +/* 9C2C58 80240348 8E220054 */ lw $v0, 0x54($s1) +/* 9C2C5C 8024034C 8C42000C */ lw $v0, 0xc($v0) +/* 9C2C60 80240350 AC400020 */ sw $zero, 0x20($v0) +/* 9C2C64 80240354 8E250018 */ lw $a1, 0x18($s1) +/* 9C2C68 80240358 8E260028 */ lw $a2, 0x28($s1) +/* 9C2C6C 8024035C 8E270020 */ lw $a3, 0x20($s1) +/* 9C2C70 80240360 0C044898 */ jal create_shadow_type +/* 9C2C74 80240364 0000202D */ daddu $a0, $zero, $zero +/* 9C2C78 80240368 3C014210 */ lui $at, 0x4210 +/* 9C2C7C 8024036C 44810000 */ mtc1 $at, $f0 +/* 9C2C80 80240370 AE220040 */ sw $v0, 0x40($s1) +/* 9C2C84 80240374 24020003 */ addiu $v0, $zero, 3 +/* 9C2C88 80240378 A6220044 */ sh $v0, 0x44($s1) +/* 9C2C8C 8024037C 24020001 */ addiu $v0, $zero, 1 +/* 9C2C90 80240380 A6200046 */ sh $zero, 0x46($s1) +/* 9C2C94 80240384 AE20002C */ sw $zero, 0x2c($s1) +/* 9C2C98 80240388 A6220048 */ sh $v0, 0x48($s1) +/* 9C2C9C 8024038C 080900FF */ j .L802403FC +/* 9C2CA0 80240390 E6200030 */ swc1 $f0, 0x30($s1) +/* 9C2CA4 80240394 0000202D */ daddu $a0, $zero, $zero +/* 9C2CA8 80240398 3C054210 */ lui $a1, 0x4210 +/* 9C2CAC 8024039C 3C064198 */ lui $a2, 0x4198 +/* 9C2CB0 802403A0 86270046 */ lh $a3, 0x46($s1) +/* 9C2CB4 802403A4 24020078 */ addiu $v0, $zero, 0x78 +/* 9C2CB8 802403A8 0C00A8ED */ jal update_lerp +/* 9C2CBC 802403AC AFA20010 */ sw $v0, 0x10($sp) +/* 9C2CC0 802403B0 96220046 */ lhu $v0, 0x46($s1) +/* 9C2CC4 802403B4 E6200030 */ swc1 $f0, 0x30($s1) +/* 9C2CC8 802403B8 24420001 */ addiu $v0, $v0, 1 +/* 9C2CCC 802403BC A6220046 */ sh $v0, 0x46($s1) +/* 9C2CD0 802403C0 00021400 */ sll $v0, $v0, 0x10 +/* 9C2CD4 802403C4 00021403 */ sra $v0, $v0, 0x10 +/* 9C2CD8 802403C8 28420078 */ slti $v0, $v0, 0x78 +/* 9C2CDC 802403CC 1440000B */ bnez $v0, .L802403FC +/* 9C2CE0 802403D0 24030001 */ addiu $v1, $zero, 1 +/* 9C2CE4 802403D4 C620002C */ lwc1 $f0, 0x2c($s1) +/* 9C2CE8 802403D8 24020002 */ addiu $v0, $zero, 2 +/* 9C2CEC 802403DC A6220048 */ sh $v0, 0x48($s1) +/* 9C2CF0 802403E0 24020004 */ addiu $v0, $zero, 4 +/* 9C2CF4 802403E4 A620004C */ sh $zero, 0x4c($s1) +/* 9C2CF8 802403E8 A623004A */ sh $v1, 0x4a($s1) +/* 9C2CFC 802403EC A623004E */ sh $v1, 0x4e($s1) +/* 9C2D00 802403F0 A6220044 */ sh $v0, 0x44($s1) +/* 9C2D04 802403F4 A6200046 */ sh $zero, 0x46($s1) +/* 9C2D08 802403F8 E6200034 */ swc1 $f0, 0x34($s1) +.L802403FC: +/* 9C2D0C 802403FC 8623004A */ lh $v1, 0x4a($s1) +/* 9C2D10 80240400 24020001 */ addiu $v0, $zero, 1 +/* 9C2D14 80240404 10620005 */ beq $v1, $v0, .L8024041C +/* 9C2D18 80240408 24020002 */ addiu $v0, $zero, 2 +/* 9C2D1C 8024040C 1062001E */ beq $v1, $v0, .L80240488 +/* 9C2D20 80240410 00000000 */ nop +/* 9C2D24 80240414 0809014C */ j .L80240530 +/* 9C2D28 80240418 00000000 */ nop +.L8024041C: +/* 9C2D2C 8024041C 8627004C */ lh $a3, 0x4c($s1) +/* 9C2D30 80240420 24100078 */ addiu $s0, $zero, 0x78 +/* 9C2D34 80240424 AFB00010 */ sw $s0, 0x10($sp) +/* 9C2D38 80240428 8E250034 */ lw $a1, 0x34($s1) +/* 9C2D3C 8024042C 3C0644B4 */ lui $a2, 0x44b4 +/* 9C2D40 80240430 0C00A8ED */ jal update_lerp +/* 9C2D44 80240434 24040004 */ addiu $a0, $zero, 4 +/* 9C2D48 80240438 8627004C */ lh $a3, 0x4c($s1) +/* 9C2D4C 8024043C E620002C */ swc1 $f0, 0x2c($s1) +/* 9C2D50 80240440 AFB00010 */ sw $s0, 0x10($sp) +/* 9C2D54 80240444 8E25001C */ lw $a1, 0x1c($s1) +/* 9C2D58 80240448 8E260024 */ lw $a2, 0x24($s1) +/* 9C2D5C 8024044C 0C00A8ED */ jal update_lerp +/* 9C2D60 80240450 2404000A */ addiu $a0, $zero, 0xa +/* 9C2D64 80240454 9622004C */ lhu $v0, 0x4c($s1) +/* 9C2D68 80240458 E6200004 */ swc1 $f0, 4($s1) +/* 9C2D6C 8024045C 24420001 */ addiu $v0, $v0, 1 +/* 9C2D70 80240460 A622004C */ sh $v0, 0x4c($s1) +/* 9C2D74 80240464 00021400 */ sll $v0, $v0, 0x10 +/* 9C2D78 80240468 00021403 */ sra $v0, $v0, 0x10 +/* 9C2D7C 8024046C 0050102A */ slt $v0, $v0, $s0 +/* 9C2D80 80240470 1440002F */ bnez $v0, .L80240530 +/* 9C2D84 80240474 2402010E */ addiu $v0, $zero, 0x10e +/* 9C2D88 80240478 A622004C */ sh $v0, 0x4c($s1) +/* 9C2D8C 8024047C 24020002 */ addiu $v0, $zero, 2 +/* 9C2D90 80240480 0809014B */ j .L8024052C +/* 9C2D94 80240484 A622004A */ sh $v0, 0x4a($s1) +.L80240488: +/* 9C2D98 80240488 8622004C */ lh $v0, 0x4c($s1) +/* 9C2D9C 8024048C 44826000 */ mtc1 $v0, $f12 +/* 9C2DA0 80240490 00000000 */ nop +/* 9C2DA4 80240494 0C00A8BB */ jal sin_deg +/* 9C2DA8 80240498 46806320 */ cvt.s.w $f12, $f12 +/* 9C2DAC 8024049C 3C013F80 */ lui $at, 0x3f80 +/* 9C2DB0 802404A0 44811000 */ mtc1 $at, $f2 +/* 9C2DB4 802404A4 00000000 */ nop +/* 9C2DB8 802404A8 46020000 */ add.s $f0, $f0, $f2 +/* 9C2DBC 802404AC 46000000 */ add.s $f0, $f0, $f0 +/* 9C2DC0 802404B0 C6220024 */ lwc1 $f2, 0x24($s1) +/* 9C2DC4 802404B4 8622004C */ lh $v0, 0x4c($s1) +/* 9C2DC8 802404B8 46001080 */ add.s $f2, $f2, $f0 +/* 9C2DCC 802404BC 24420008 */ addiu $v0, $v0, 8 +/* 9C2DD0 802404C0 44826000 */ mtc1 $v0, $f12 +/* 9C2DD4 802404C4 00000000 */ nop +/* 9C2DD8 802404C8 46806320 */ cvt.s.w $f12, $f12 +/* 9C2DDC 802404CC 0C00A6C9 */ jal clamp_angle +/* 9C2DE0 802404D0 E6220004 */ swc1 $f2, 4($s1) +/* 9C2DE4 802404D4 4600010D */ trunc.w.s $f4, $f0 +/* 9C2DE8 802404D8 44022000 */ mfc1 $v0, $f4 +/* 9C2DEC 802404DC C6200004 */ lwc1 $f0, 4($s1) +/* 9C2DF0 802404E0 A622004C */ sh $v0, 0x4c($s1) +/* 9C2DF4 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0) +/* 9C2DF8 802404E8 8E060030 */ lw $a2, 0x30($s0) +/* 9C2DFC 802404EC 3C0141A0 */ lui $at, 0x41a0 +/* 9C2E00 802404F0 44817000 */ mtc1 $at, $f14 +/* 9C2E04 802404F4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 9C2E08 802404F8 C602002C */ lwc1 $f2, 0x2c($s0) +/* 9C2E0C 802404FC C6200008 */ lwc1 $f0, 8($s1) +/* 9C2E10 80240500 E7A00014 */ swc1 $f0, 0x14($sp) +/* 9C2E14 80240504 8E270000 */ lw $a3, ($s1) +/* 9C2E18 80240508 0C00A7CB */ jal dist3D +/* 9C2E1C 8024050C 460E1380 */ add.s $f14, $f2, $f14 +/* 9C2E20 80240510 3C0141F0 */ lui $at, 0x41f0 +/* 9C2E24 80240514 44811000 */ mtc1 $at, $f2 +/* 9C2E28 80240518 00000000 */ nop +/* 9C2E2C 8024051C 4600103C */ c.lt.s $f2, $f0 +/* 9C2E30 80240520 00000000 */ nop +/* 9C2E34 80240524 45010002 */ bc1t .L80240530 +/* 9C2E38 80240528 24020003 */ addiu $v0, $zero, 3 +.L8024052C: +/* 9C2E3C 8024052C A622004E */ sh $v0, 0x4e($s1) +.L80240530: +/* 9C2E40 80240530 86230048 */ lh $v1, 0x48($s1) +/* 9C2E44 80240534 24020001 */ addiu $v0, $zero, 1 +/* 9C2E48 80240538 10620005 */ beq $v1, $v0, .L80240550 +/* 9C2E4C 8024053C 24020002 */ addiu $v0, $zero, 2 +/* 9C2E50 80240540 10620008 */ beq $v1, $v0, .L80240564 +/* 9C2E54 80240544 00000000 */ nop +/* 9C2E58 80240548 08090169 */ j .L802405A4 +/* 9C2E5C 8024054C 00000000 */ nop +.L80240550: +/* 9C2E60 80240550 C620002C */ lwc1 $f0, 0x2c($s1) +/* 9C2E64 80240554 C62C0030 */ lwc1 $f12, 0x30($s1) +/* 9C2E68 80240558 0C00A6C9 */ jal clamp_angle +/* 9C2E6C 8024055C 460C0300 */ add.s $f12, $f0, $f12 +/* 9C2E70 80240560 E620002C */ swc1 $f0, 0x2c($s1) +.L80240564: +/* 9C2E74 80240564 8E220054 */ lw $v0, 0x54($s1) +/* 9C2E78 80240568 C620002C */ lwc1 $f0, 0x2c($s1) +/* 9C2E7C 8024056C 8C42000C */ lw $v0, 0xc($v0) +/* 9C2E80 80240570 E4400024 */ swc1 $f0, 0x24($v0) +/* 9C2E84 80240574 8E220054 */ lw $v0, 0x54($s1) +/* 9C2E88 80240578 C6200018 */ lwc1 $f0, 0x18($s1) +/* 9C2E8C 8024057C 8C42000C */ lw $v0, 0xc($v0) +/* 9C2E90 80240580 E4400004 */ swc1 $f0, 4($v0) +/* 9C2E94 80240584 8E220054 */ lw $v0, 0x54($s1) +/* 9C2E98 80240588 C6200004 */ lwc1 $f0, 4($s1) +/* 9C2E9C 8024058C 8C42000C */ lw $v0, 0xc($v0) +/* 9C2EA0 80240590 E4400008 */ swc1 $f0, 8($v0) +/* 9C2EA4 80240594 8E220054 */ lw $v0, 0x54($s1) +/* 9C2EA8 80240598 C6200020 */ lwc1 $f0, 0x20($s1) +/* 9C2EAC 8024059C 8C42000C */ lw $v0, 0xc($v0) +/* 9C2EB0 802405A0 E440000C */ swc1 $f0, 0xc($v0) +.L802405A4: +/* 9C2EB4 802405A4 8FBF0020 */ lw $ra, 0x20($sp) +/* 9C2EB8 802405A8 8FB1001C */ lw $s1, 0x1c($sp) +/* 9C2EBC 802405AC 8FB00018 */ lw $s0, 0x18($sp) +/* 9C2EC0 802405B0 0000102D */ daddu $v0, $zero, $zero +/* 9C2EC4 802405B4 03E00008 */ jr $ra +/* 9C2EC8 802405B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_802405BC_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_802405BC_9C2910.s new file mode 100644 index 0000000000..0b90e6e6e3 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_802405BC_9C2910.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405BC_9C2ECC +/* 9C2ECC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C2ED0 802405C0 AFB00010 */ sw $s0, 0x10($sp) +/* 9C2ED4 802405C4 0080802D */ daddu $s0, $a0, $zero +/* 9C2ED8 802405C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 9C2EDC 802405CC 8E02000C */ lw $v0, 0xc($s0) +/* 9C2EE0 802405D0 0C0B1EAF */ jal get_variable +/* 9C2EE4 802405D4 8C450000 */ lw $a1, ($v0) +/* 9C2EE8 802405D8 8E030084 */ lw $v1, 0x84($s0) +/* 9C2EEC 802405DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C2EF0 802405E0 8463004E */ lh $v1, 0x4e($v1) +/* 9C2EF4 802405E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9C2EF8 802405E8 00621826 */ xor $v1, $v1, $v0 +/* 9C2EFC 802405EC 2C630001 */ sltiu $v1, $v1, 1 +/* 9C2F00 802405F0 00031040 */ sll $v0, $v1, 1 +/* 9C2F04 802405F4 03E00008 */ jr $ra +/* 9C2F08 802405F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_802405FC_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_802405FC_9C2910.s new file mode 100644 index 0000000000..6b389abadd --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_802405FC_9C2910.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405FC_9C2F0C +/* 9C2F0C 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 9C2F10 80240600 AFB20020 */ sw $s2, 0x20($sp) +/* 9C2F14 80240604 0080902D */ daddu $s2, $a0, $zero +/* 9C2F18 80240608 AFBF0024 */ sw $ra, 0x24($sp) +/* 9C2F1C 8024060C AFB1001C */ sw $s1, 0x1c($sp) +/* 9C2F20 80240610 AFB00018 */ sw $s0, 0x18($sp) +/* 9C2F24 80240614 10A00035 */ beqz $a1, .L802406EC +/* 9C2F28 80240618 8E51000C */ lw $s1, 0xc($s2) +/* 9C2F2C 8024061C 0C00AB39 */ jal heap_malloc +/* 9C2F30 80240620 24040058 */ addiu $a0, $zero, 0x58 +/* 9C2F34 80240624 0040802D */ daddu $s0, $v0, $zero +/* 9C2F38 80240628 AE500084 */ sw $s0, 0x84($s2) +/* 9C2F3C 8024062C 8E250000 */ lw $a1, ($s1) +/* 9C2F40 80240630 26310004 */ addiu $s1, $s1, 4 +/* 9C2F44 80240634 0C0B1EAF */ jal get_variable +/* 9C2F48 80240638 0240202D */ daddu $a0, $s2, $zero +/* 9C2F4C 8024063C AE020038 */ sw $v0, 0x38($s0) +/* 9C2F50 80240640 8E250000 */ lw $a1, ($s1) +/* 9C2F54 80240644 26310004 */ addiu $s1, $s1, 4 +/* 9C2F58 80240648 0C0B210B */ jal get_float_variable +/* 9C2F5C 8024064C 0240202D */ daddu $a0, $s2, $zero +/* 9C2F60 80240650 E6000018 */ swc1 $f0, 0x18($s0) +/* 9C2F64 80240654 8E250000 */ lw $a1, ($s1) +/* 9C2F68 80240658 26310004 */ addiu $s1, $s1, 4 +/* 9C2F6C 8024065C 0C0B210B */ jal get_float_variable +/* 9C2F70 80240660 0240202D */ daddu $a0, $s2, $zero +/* 9C2F74 80240664 E6000024 */ swc1 $f0, 0x24($s0) +/* 9C2F78 80240668 8E250000 */ lw $a1, ($s1) +/* 9C2F7C 8024066C 26310004 */ addiu $s1, $s1, 4 +/* 9C2F80 80240670 0C0B210B */ jal get_float_variable +/* 9C2F84 80240674 0240202D */ daddu $a0, $s2, $zero +/* 9C2F88 80240678 E6000020 */ swc1 $f0, 0x20($s0) +/* 9C2F8C 8024067C 8E250000 */ lw $a1, ($s1) +/* 9C2F90 80240680 0C0B210B */ jal get_float_variable +/* 9C2F94 80240684 0240202D */ daddu $a0, $s2, $zero +/* 9C2F98 80240688 3C013F80 */ lui $at, 0x3f80 +/* 9C2F9C 8024068C 44811000 */ mtc1 $at, $f2 +/* 9C2FA0 80240690 E6000028 */ swc1 $f0, 0x28($s0) +/* 9C2FA4 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* 9C2FA8 80240698 E7A20010 */ swc1 $f2, 0x10($sp) +/* 9C2FAC 8024069C 8E050018 */ lw $a1, 0x18($s0) +/* 9C2FB0 802406A0 8E060024 */ lw $a2, 0x24($s0) +/* 9C2FB4 802406A4 8E070020 */ lw $a3, 0x20($s0) +/* 9C2FB8 802406A8 0C01C9AC */ jal func_800726B0 +/* 9C2FBC 802406AC 24040001 */ addiu $a0, $zero, 1 +/* 9C2FC0 802406B0 AE020054 */ sw $v0, 0x54($s0) +/* 9C2FC4 802406B4 8C43000C */ lw $v1, 0xc($v0) +/* 9C2FC8 802406B8 9202003B */ lbu $v0, 0x3b($s0) +/* 9C2FCC 802406BC A0620034 */ sb $v0, 0x34($v1) +/* 9C2FD0 802406C0 8E020054 */ lw $v0, 0x54($s0) +/* 9C2FD4 802406C4 8C42000C */ lw $v0, 0xc($v0) +/* 9C2FD8 802406C8 AC400020 */ sw $zero, 0x20($v0) +/* 9C2FDC 802406CC 8E050018 */ lw $a1, 0x18($s0) +/* 9C2FE0 802406D0 8E060028 */ lw $a2, 0x28($s0) +/* 9C2FE4 802406D4 8E070020 */ lw $a3, 0x20($s0) +/* 9C2FE8 802406D8 0C044898 */ jal create_shadow_type +/* 9C2FEC 802406DC 0000202D */ daddu $a0, $zero, $zero +/* 9C2FF0 802406E0 AE020040 */ sw $v0, 0x40($s0) +/* 9C2FF4 802406E4 2402010E */ addiu $v0, $zero, 0x10e +/* 9C2FF8 802406E8 A602004C */ sh $v0, 0x4c($s0) +.L802406EC: +/* 9C2FFC 802406EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 9C3000 802406F0 8FB20020 */ lw $s2, 0x20($sp) +/* 9C3004 802406F4 8FB1001C */ lw $s1, 0x1c($sp) +/* 9C3008 802406F8 8FB00018 */ lw $s0, 0x18($sp) +/* 9C300C 802406FC 24020002 */ addiu $v0, $zero, 2 +/* 9C3010 80240700 03E00008 */ jr $ra +/* 9C3014 80240704 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_80240708_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_80240708_9C2910.s new file mode 100644 index 0000000000..47dfb9684e --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_80240708_9C2910.s @@ -0,0 +1,64 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240708_9C3018 +/* 9C3018 80240708 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C301C 8024070C AFBF0014 */ sw $ra, 0x14($sp) +/* 9C3020 80240710 AFB00010 */ sw $s0, 0x10($sp) +/* 9C3024 80240714 8C900084 */ lw $s0, 0x84($a0) +/* 9C3028 80240718 8602004C */ lh $v0, 0x4c($s0) +/* 9C302C 8024071C 44826000 */ mtc1 $v0, $f12 +/* 9C3030 80240720 00000000 */ nop +/* 9C3034 80240724 0C00A8BB */ jal sin_deg +/* 9C3038 80240728 46806320 */ cvt.s.w $f12, $f12 +/* 9C303C 8024072C 3C013F80 */ lui $at, 0x3f80 +/* 9C3040 80240730 44811000 */ mtc1 $at, $f2 +/* 9C3044 80240734 00000000 */ nop +/* 9C3048 80240738 46020000 */ add.s $f0, $f0, $f2 +/* 9C304C 8024073C 46000000 */ add.s $f0, $f0, $f0 +/* 9C3050 80240740 C6020024 */ lwc1 $f2, 0x24($s0) +/* 9C3054 80240744 8602004C */ lh $v0, 0x4c($s0) +/* 9C3058 80240748 46001080 */ add.s $f2, $f2, $f0 +/* 9C305C 8024074C 24420008 */ addiu $v0, $v0, 8 +/* 9C3060 80240750 44826000 */ mtc1 $v0, $f12 +/* 9C3064 80240754 00000000 */ nop +/* 9C3068 80240758 46806320 */ cvt.s.w $f12, $f12 +/* 9C306C 8024075C 0C00A6C9 */ jal clamp_angle +/* 9C3070 80240760 E6020004 */ swc1 $f2, 4($s0) +/* 9C3074 80240764 4600010D */ trunc.w.s $f4, $f0 +/* 9C3078 80240768 44022000 */ mfc1 $v0, $f4 +/* 9C307C 8024076C 00000000 */ nop +/* 9C3080 80240770 A602004C */ sh $v0, 0x4c($s0) +/* 9C3084 80240774 3C028011 */ lui $v0, %hi(gPlayerStatus) +/* 9C3088 80240778 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) +/* 9C308C 8024077C C44C0028 */ lwc1 $f12, 0x28($v0) +/* 9C3090 80240780 C44E0030 */ lwc1 $f14, 0x30($v0) +/* 9C3094 80240784 8E060018 */ lw $a2, 0x18($s0) +/* 9C3098 80240788 0C00A7B5 */ jal dist2D +/* 9C309C 8024078C 8E070020 */ lw $a3, 0x20($s0) +/* 9C30A0 80240790 3C0141F0 */ lui $at, 0x41f0 +/* 9C30A4 80240794 44811000 */ mtc1 $at, $f2 +/* 9C30A8 80240798 00000000 */ nop +/* 9C30AC 8024079C 4602003E */ c.le.s $f0, $f2 +/* 9C30B0 802407A0 00000000 */ nop +/* 9C30B4 802407A4 45000002 */ bc1f .L802407B0 +/* 9C30B8 802407A8 24020003 */ addiu $v0, $zero, 3 +/* 9C30BC 802407AC A602004E */ sh $v0, 0x4e($s0) +.L802407B0: +/* 9C30C0 802407B0 8E020054 */ lw $v0, 0x54($s0) +/* 9C30C4 802407B4 C6000018 */ lwc1 $f0, 0x18($s0) +/* 9C30C8 802407B8 8C42000C */ lw $v0, 0xc($v0) +/* 9C30CC 802407BC E4400004 */ swc1 $f0, 4($v0) +/* 9C30D0 802407C0 8E020054 */ lw $v0, 0x54($s0) +/* 9C30D4 802407C4 C6000004 */ lwc1 $f0, 4($s0) +/* 9C30D8 802407C8 8C42000C */ lw $v0, 0xc($v0) +/* 9C30DC 802407CC E4400008 */ swc1 $f0, 8($v0) +/* 9C30E0 802407D0 8E020054 */ lw $v0, 0x54($s0) +/* 9C30E4 802407D4 C6000020 */ lwc1 $f0, 0x20($s0) +/* 9C30E8 802407D8 8C42000C */ lw $v0, 0xc($v0) +/* 9C30EC 802407DC E440000C */ swc1 $f0, 0xc($v0) +/* 9C30F0 802407E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 9C30F4 802407E4 8FB00010 */ lw $s0, 0x10($sp) +/* 9C30F8 802407E8 0000102D */ daddu $v0, $zero, $zero +/* 9C30FC 802407EC 03E00008 */ jr $ra +/* 9C3100 802407F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_802407F4_9C2910.s b/asm/nonmatchings/world/area_trd/trd_10/func_802407F4_9C2910.s new file mode 100644 index 0000000000..b7d6d7ec68 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_802407F4_9C2910.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802407F4_9C3104 +/* 9C3104 802407F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 9C3108 802407F8 AFBF0010 */ sw $ra, 0x10($sp) +/* 9C310C 802407FC 0C00D77C */ jal func_80035DF0 +/* 9C3110 80240800 2404000A */ addiu $a0, $zero, 0xa +/* 9C3114 80240804 8FBF0010 */ lw $ra, 0x10($sp) +/* 9C3118 80240808 24020002 */ addiu $v0, $zero, 2 +/* 9C311C 8024080C 03E00008 */ jr $ra +/* 9C3120 80240810 27BD0018 */ addiu $sp, $sp, 0x18 +/* 9C3124 80240814 00000000 */ nop +/* 9C3128 80240818 00000000 */ nop +/* 9C312C 8024081C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_trd/trd_10/func_80240820.s b/asm/nonmatchings/world/area_trd/trd_10/func_80240820.s new file mode 100644 index 0000000000..7a2add2e75 --- /dev/null +++ b/asm/nonmatchings/world/area_trd/trd_10/func_80240820.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240820 +/* 9C3130 80240820 3C038011 */ lui $v1, 0x8011 +/* 9C3134 80240824 8063F2A2 */ lb $v1, -0xd5e($v1) +/* 9C3138 80240828 24020003 */ addiu $v0, $zero, 3 +/* 9C313C 8024082C 54620003 */ bnel $v1, $v0, .L8024083C +/* 9C3140 80240830 AC800084 */ sw $zero, 0x84($a0) +/* 9C3144 80240834 24020001 */ addiu $v0, $zero, 1 +/* 9C3148 80240838 AC820084 */ sw $v0, 0x84($a0) +.L8024083C: +/* 9C314C 8024083C 03E00008 */ jr $ra +/* 9C3150 80240840 24020002 */ addiu $v0, $zero, 2 +/* 9C3154 80240844 00000000 */ nop +/* 9C3158 80240848 00000000 */ nop +/* 9C315C 8024084C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240000_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240000_B1B570.s new file mode 100644 index 0000000000..ff4dec9e3c --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240000_B1B570.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B1B570 +/* B1B570 80240000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* B1B574 80240004 AFBF0014 */ sw $ra, 0x14($sp) +/* B1B578 80240008 AFB00010 */ sw $s0, 0x10($sp) +/* B1B57C 8024000C F7B80028 */ sdc1 $f24, 0x28($sp) +/* B1B580 80240010 F7B60020 */ sdc1 $f22, 0x20($sp) +/* B1B584 80240014 F7B40018 */ sdc1 $f20, 0x18($sp) +/* B1B588 80240018 0C00EAD2 */ jal get_npc_safe +/* B1B58C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B1B590 80240020 0040802D */ daddu $s0, $v0, $zero +/* B1B594 80240024 1200002D */ beqz $s0, .L802400DC +/* B1B598 80240028 24020005 */ addiu $v0, $zero, 5 +/* B1B59C 8024002C 86030084 */ lh $v1, 0x84($s0) +/* B1B5A0 80240030 1462002B */ bne $v1, $v0, .L802400E0 +/* B1B5A4 80240034 24020002 */ addiu $v0, $zero, 2 +/* B1B5A8 80240038 C60C0038 */ lwc1 $f12, 0x38($s0) +/* B1B5AC 8024003C 4480B000 */ mtc1 $zero, $f22 +/* B1B5B0 80240040 3C01C2C8 */ lui $at, 0xc2c8 +/* B1B5B4 80240044 4481C000 */ mtc1 $at, $f24 +/* B1B5B8 80240048 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B1B5BC 8024004C 4406B000 */ mfc1 $a2, $f22 +/* B1B5C0 80240050 4407C000 */ mfc1 $a3, $f24 +/* B1B5C4 80240054 3C013C8E */ lui $at, 0x3c8e +/* B1B5C8 80240058 3421FA2E */ ori $at, $at, 0xfa2e +/* B1B5CC 8024005C 4481A000 */ mtc1 $at, $f20 +/* B1B5D0 80240060 0C00A7B5 */ jal dist2D +/* B1B5D4 80240064 00000000 */ nop +/* B1B5D8 80240068 0C00A85B */ jal sin_rad +/* B1B5DC 8024006C 4600A306 */ mov.s $f12, $f20 +/* B1B5E0 80240070 4600A306 */ mov.s $f12, $f20 +/* B1B5E4 80240074 0C00A874 */ jal cos_rad +/* B1B5E8 80240078 46000506 */ mov.s $f20, $f0 +/* B1B5EC 8024007C C6060038 */ lwc1 $f6, 0x38($s0) +/* B1B5F0 80240080 46163581 */ sub.s $f22, $f6, $f22 +/* B1B5F4 80240084 46160082 */ mul.s $f2, $f0, $f22 +/* B1B5F8 80240088 00000000 */ nop +/* B1B5FC 8024008C C6040040 */ lwc1 $f4, 0x40($s0) +/* B1B600 80240090 46182101 */ sub.s $f4, $f4, $f24 +/* B1B604 80240094 4604A202 */ mul.s $f8, $f20, $f4 +/* B1B608 80240098 00000000 */ nop +/* B1B60C 8024009C 4600A507 */ neg.s $f20, $f20 +/* B1B610 802400A0 4616A502 */ mul.s $f20, $f20, $f22 +/* B1B614 802400A4 00000000 */ nop +/* B1B618 802400A8 46040002 */ mul.s $f0, $f0, $f4 +/* B1B61C 802400AC 00000000 */ nop +/* B1B620 802400B0 46081080 */ add.s $f2, $f2, $f8 +/* B1B624 802400B4 4600A500 */ add.s $f20, $f20, $f0 +/* B1B628 802400B8 46161081 */ sub.s $f2, $f2, $f22 +/* B1B62C 802400BC 4604A501 */ sub.s $f20, $f20, $f4 +/* B1B630 802400C0 46023180 */ add.s $f6, $f6, $f2 +/* B1B634 802400C4 C6000040 */ lwc1 $f0, 0x40($s0) +/* B1B638 802400C8 46140000 */ add.s $f0, $f0, $f20 +/* B1B63C 802400CC 24020002 */ addiu $v0, $zero, 2 +/* B1B640 802400D0 E6060038 */ swc1 $f6, 0x38($s0) +/* B1B644 802400D4 08090038 */ j .L802400E0 +/* B1B648 802400D8 E6000040 */ swc1 $f0, 0x40($s0) +.L802400DC: +/* B1B64C 802400DC 24020002 */ addiu $v0, $zero, 2 +.L802400E0: +/* B1B650 802400E0 8FBF0014 */ lw $ra, 0x14($sp) +/* B1B654 802400E4 8FB00010 */ lw $s0, 0x10($sp) +/* B1B658 802400E8 D7B80028 */ ldc1 $f24, 0x28($sp) +/* B1B65C 802400EC D7B60020 */ ldc1 $f22, 0x20($sp) +/* B1B660 802400F0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* B1B664 802400F4 03E00008 */ jr $ra +/* B1B668 802400F8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_802400FC_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_802400FC_B1B570.s new file mode 100644 index 0000000000..cf6055836f --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_802400FC_B1B570.s @@ -0,0 +1,94 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400FC_B1B66C +/* B1B66C 802400FC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B1B670 80240100 AFB10014 */ sw $s1, 0x14($sp) +/* B1B674 80240104 0080882D */ daddu $s1, $a0, $zero +/* B1B678 80240108 AFBF0018 */ sw $ra, 0x18($sp) +/* B1B67C 8024010C AFB00010 */ sw $s0, 0x10($sp) +/* B1B680 80240110 F7BE0048 */ sdc1 $f30, 0x48($sp) +/* B1B684 80240114 F7BC0040 */ sdc1 $f28, 0x40($sp) +/* B1B688 80240118 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* B1B68C 8024011C F7B80030 */ sdc1 $f24, 0x30($sp) +/* B1B690 80240120 F7B60028 */ sdc1 $f22, 0x28($sp) +/* B1B694 80240124 F7B40020 */ sdc1 $f20, 0x20($sp) +/* B1B698 80240128 0C00EAD2 */ jal get_npc_safe +/* B1B69C 8024012C 2404FFFC */ addiu $a0, $zero, -4 +/* B1B6A0 80240130 0040802D */ daddu $s0, $v0, $zero +/* B1B6A4 80240134 1200003F */ beqz $s0, .L80240234 +/* B1B6A8 80240138 24020002 */ addiu $v0, $zero, 2 +/* B1B6AC 8024013C C60C0038 */ lwc1 $f12, 0x38($s0) +/* B1B6B0 80240140 C60E0040 */ lwc1 $f14, 0x40($s0) +/* B1B6B4 80240144 3C06C37A */ lui $a2, 0xc37a +/* B1B6B8 80240148 0C00A7B5 */ jal dist2D +/* B1B6BC 8024014C 3C07C2C8 */ lui $a3, 0xc2c8 +/* B1B6C0 80240150 0220202D */ daddu $a0, $s1, $zero +/* B1B6C4 80240154 3C05FE36 */ lui $a1, 0xfe36 +/* B1B6C8 80240158 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B1B6CC 8024015C 0C0B1EAF */ jal get_variable +/* B1B6D0 80240160 46000606 */ mov.s $f24, $f0 +/* B1B6D4 80240164 2442FFFF */ addiu $v0, $v0, -1 +/* B1B6D8 80240168 3C0140C9 */ lui $at, 0x40c9 +/* B1B6DC 8024016C 34210FD0 */ ori $at, $at, 0xfd0 +/* B1B6E0 80240170 4481B000 */ mtc1 $at, $f22 +/* B1B6E4 80240174 44820000 */ mtc1 $v0, $f0 +/* B1B6E8 80240178 00000000 */ nop +/* B1B6EC 8024017C 46800020 */ cvt.s.w $f0, $f0 +/* B1B6F0 80240180 46160502 */ mul.s $f20, $f0, $f22 +/* B1B6F4 80240184 00000000 */ nop +/* B1B6F8 80240188 3C0143B4 */ lui $at, 0x43b4 +/* B1B6FC 8024018C 4481D000 */ mtc1 $at, $f26 +/* B1B700 80240190 00000000 */ nop +/* B1B704 80240194 461AA503 */ div.s $f20, $f20, $f26 +/* B1B708 80240198 0C00A85B */ jal sin_rad +/* B1B70C 8024019C 4600A306 */ mov.s $f12, $f20 +/* B1B710 802401A0 46000786 */ mov.s $f30, $f0 +/* B1B714 802401A4 0C00A874 */ jal cos_rad +/* B1B718 802401A8 4600A306 */ mov.s $f12, $f20 +/* B1B71C 802401AC 4600C702 */ mul.s $f28, $f24, $f0 +/* B1B720 802401B0 00000000 */ nop +/* B1B724 802401B4 0220202D */ daddu $a0, $s1, $zero +/* B1B728 802401B8 4600F507 */ neg.s $f20, $f30 +/* B1B72C 802401BC 4614C502 */ mul.s $f20, $f24, $f20 +/* B1B730 802401C0 00000000 */ nop +/* B1B734 802401C4 3C05FE36 */ lui $a1, 0xfe36 +/* B1B738 802401C8 0C0B1EAF */ jal get_variable +/* B1B73C 802401CC 34A53C80 */ ori $a1, $a1, 0x3c80 +/* B1B740 802401D0 44820000 */ mtc1 $v0, $f0 +/* B1B744 802401D4 00000000 */ nop +/* B1B748 802401D8 46800020 */ cvt.s.w $f0, $f0 +/* B1B74C 802401DC 46160582 */ mul.s $f22, $f0, $f22 +/* B1B750 802401E0 00000000 */ nop +/* B1B754 802401E4 461AB583 */ div.s $f22, $f22, $f26 +/* B1B758 802401E8 0C00A85B */ jal sin_rad +/* B1B75C 802401EC 4600B306 */ mov.s $f12, $f22 +/* B1B760 802401F0 46000786 */ mov.s $f30, $f0 +/* B1B764 802401F4 0C00A874 */ jal cos_rad +/* B1B768 802401F8 4600B306 */ mov.s $f12, $f22 +/* B1B76C 802401FC 4600C002 */ mul.s $f0, $f24, $f0 +/* B1B770 80240200 00000000 */ nop +/* B1B774 80240204 4600F087 */ neg.s $f2, $f30 +/* B1B778 80240208 4602C602 */ mul.s $f24, $f24, $f2 +/* B1B77C 8024020C 00000000 */ nop +/* B1B780 80240210 461C0001 */ sub.s $f0, $f0, $f28 +/* B1B784 80240214 4614C601 */ sub.s $f24, $f24, $f20 +/* B1B788 80240218 C6020038 */ lwc1 $f2, 0x38($s0) +/* B1B78C 8024021C 46001080 */ add.s $f2, $f2, $f0 +/* B1B790 80240220 C6000040 */ lwc1 $f0, 0x40($s0) +/* B1B794 80240224 46180000 */ add.s $f0, $f0, $f24 +/* B1B798 80240228 24020002 */ addiu $v0, $zero, 2 +/* B1B79C 8024022C E6020038 */ swc1 $f2, 0x38($s0) +/* B1B7A0 80240230 E6000040 */ swc1 $f0, 0x40($s0) +.L80240234: +/* B1B7A4 80240234 8FBF0018 */ lw $ra, 0x18($sp) +/* B1B7A8 80240238 8FB10014 */ lw $s1, 0x14($sp) +/* B1B7AC 8024023C 8FB00010 */ lw $s0, 0x10($sp) +/* B1B7B0 80240240 D7BE0048 */ ldc1 $f30, 0x48($sp) +/* B1B7B4 80240244 D7BC0040 */ ldc1 $f28, 0x40($sp) +/* B1B7B8 80240248 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* B1B7BC 8024024C D7B80030 */ ldc1 $f24, 0x30($sp) +/* B1B7C0 80240250 D7B60028 */ ldc1 $f22, 0x28($sp) +/* B1B7C4 80240254 D7B40020 */ ldc1 $f20, 0x20($sp) +/* B1B7C8 80240258 03E00008 */ jr $ra +/* B1B7CC 8024025C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240260.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240260.s new file mode 100644 index 0000000000..42fff83704 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240260.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240260 +/* B1B7D0 80240260 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1B7D4 80240264 AFB00010 */ sw $s0, 0x10($sp) +/* B1B7D8 80240268 0080802D */ daddu $s0, $a0, $zero +/* B1B7DC 8024026C 3C058024 */ lui $a1, 0x8024 +/* B1B7E0 80240270 24A5029C */ addiu $a1, $a1, 0x29c +/* B1B7E4 80240274 AFBF0014 */ sw $ra, 0x14($sp) +/* B1B7E8 80240278 0C048C8F */ jal bind_dynamic_entity_7 +/* B1B7EC 8024027C 0000202D */ daddu $a0, $zero, $zero +/* B1B7F0 80240280 8E03013C */ lw $v1, 0x13c($s0) +/* B1B7F4 80240284 AC620000 */ sw $v0, ($v1) +/* B1B7F8 80240288 8FBF0014 */ lw $ra, 0x14($sp) +/* B1B7FC 8024028C 8FB00010 */ lw $s0, 0x10($sp) +/* B1B800 80240290 24020002 */ addiu $v0, $zero, 2 +/* B1B804 80240294 03E00008 */ jr $ra +/* B1B808 80240298 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_8024029C_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_8024029C_B1B570.s new file mode 100644 index 0000000000..a0c74b90d1 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_8024029C_B1B570.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024029C_B1B80C +/* B1B80C 8024029C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B1B810 802402A0 AFB00040 */ sw $s0, 0x40($sp) +/* B1B814 802402A4 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B1B818 802402A8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B1B81C 802402AC AFBF0048 */ sw $ra, 0x48($sp) +/* B1B820 802402B0 AFB10044 */ sw $s1, 0x44($sp) +/* B1B824 802402B4 8E020000 */ lw $v0, ($s0) +/* B1B828 802402B8 30420001 */ andi $v0, $v0, 1 +/* B1B82C 802402BC 10400023 */ beqz $v0, .L8024034C +/* B1B830 802402C0 27B10020 */ addiu $s1, $sp, 0x20 +/* B1B834 802402C4 8E0400CC */ lw $a0, 0xcc($s0) +/* B1B838 802402C8 0C044181 */ jal get_shadow_by_index +/* B1B83C 802402CC 00000000 */ nop +/* B1B840 802402D0 0C048B77 */ jal func_80122DDC +/* B1B844 802402D4 84440008 */ lh $a0, 8($v0) +/* B1B848 802402D8 8C430000 */ lw $v1, ($v0) +/* B1B84C 802402DC 3C04800A */ lui $a0, 0x800a +/* B1B850 802402E0 8484A634 */ lh $a0, -0x59cc($a0) +/* B1B854 802402E4 34630200 */ ori $v1, $v1, 0x200 +/* B1B858 802402E8 AC430000 */ sw $v1, ($v0) +/* B1B85C 802402EC 27A20030 */ addiu $v0, $sp, 0x30 +/* B1B860 802402F0 AFA20010 */ sw $v0, 0x10($sp) +/* B1B864 802402F4 27A20034 */ addiu $v0, $sp, 0x34 +/* B1B868 802402F8 AFA20014 */ sw $v0, 0x14($sp) +/* B1B86C 802402FC 27A20038 */ addiu $v0, $sp, 0x38 +/* B1B870 80240300 AFA20018 */ sw $v0, 0x18($sp) +/* B1B874 80240304 C6000030 */ lwc1 $f0, 0x30($s0) +/* B1B878 80240308 8E050028 */ lw $a1, 0x28($s0) +/* B1B87C 8024030C 8E06002C */ lw $a2, 0x2c($s0) +/* B1B880 80240310 46000007 */ neg.s $f0, $f0 +/* B1B884 80240314 44070000 */ mfc1 $a3, $f0 +/* B1B888 80240318 0C00B94E */ jal get_screen_coords +/* B1B88C 8024031C 00000000 */ nop +/* B1B890 80240320 0220202D */ daddu $a0, $s1, $zero +/* B1B894 80240324 AFB00028 */ sw $s0, 0x28($sp) +/* B1B898 80240328 820500BE */ lb $a1, 0xbe($s0) +/* B1B89C 8024032C 8FA30038 */ lw $v1, 0x38($sp) +/* B1B8A0 80240330 3C028024 */ lui $v0, 0x8024 +/* B1B8A4 80240334 24420360 */ addiu $v0, $v0, 0x360 +/* B1B8A8 80240338 AFA2002C */ sw $v0, 0x2c($sp) +/* B1B8AC 8024033C 00031823 */ negu $v1, $v1 +/* B1B8B0 80240340 AFA50020 */ sw $a1, 0x20($sp) +/* B1B8B4 80240344 0C047644 */ jal queue_render_task +/* B1B8B8 80240348 AFA30024 */ sw $v1, 0x24($sp) +.L8024034C: +/* B1B8BC 8024034C 8FBF0048 */ lw $ra, 0x48($sp) +/* B1B8C0 80240350 8FB10044 */ lw $s1, 0x44($sp) +/* B1B8C4 80240354 8FB00040 */ lw $s0, 0x40($sp) +/* B1B8C8 80240358 03E00008 */ jr $ra +/* B1B8CC 8024035C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240360_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240360_B1B570.s new file mode 100644 index 0000000000..35c79384b7 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240360_B1B570.s @@ -0,0 +1,112 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240360_B1B8D0 +/* B1B8D0 80240360 3C03800A */ lui $v1, 0x800a +/* B1B8D4 80240364 8463A634 */ lh $v1, -0x59cc($v1) +/* B1B8D8 80240368 3C07BF80 */ lui $a3, 0xbf80 +/* B1B8DC 8024036C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* B1B8E0 80240370 F7B40128 */ sdc1 $f20, 0x128($sp) +/* B1B8E4 80240374 4480A000 */ mtc1 $zero, $f20 +/* B1B8E8 80240378 AFB1011C */ sw $s1, 0x11c($sp) +/* B1B8EC 8024037C 0080882D */ daddu $s1, $a0, $zero +/* B1B8F0 80240380 AFB00118 */ sw $s0, 0x118($sp) +/* B1B8F4 80240384 27B00098 */ addiu $s0, $sp, 0x98 +/* B1B8F8 80240388 AFBF0120 */ sw $ra, 0x120($sp) +/* B1B8FC 8024038C F7B80138 */ sdc1 $f24, 0x138($sp) +/* B1B900 80240390 F7B60130 */ sdc1 $f22, 0x130($sp) +/* B1B904 80240394 00031080 */ sll $v0, $v1, 2 +/* B1B908 80240398 00431021 */ addu $v0, $v0, $v1 +/* B1B90C 8024039C 00021080 */ sll $v0, $v0, 2 +/* B1B910 802403A0 00431023 */ subu $v0, $v0, $v1 +/* B1B914 802403A4 000218C0 */ sll $v1, $v0, 3 +/* B1B918 802403A8 00431021 */ addu $v0, $v0, $v1 +/* B1B91C 802403AC 000210C0 */ sll $v0, $v0, 3 +/* B1B920 802403B0 3C01800B */ lui $at, 0x800b +/* B1B924 802403B4 00220821 */ addu $at, $at, $v0 +/* B1B928 802403B8 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B1B92C 802403BC 4406A000 */ mfc1 $a2, $f20 +/* B1B930 802403C0 4600B587 */ neg.s $f22, $f22 +/* B1B934 802403C4 4405B000 */ mfc1 $a1, $f22 +/* B1B938 802403C8 0200202D */ daddu $a0, $s0, $zero +/* B1B93C 802403CC 0C019EC8 */ jal guRotateF +/* B1B940 802403D0 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1B944 802403D4 C62C008C */ lwc1 $f12, 0x8c($s1) +/* B1B948 802403D8 0C00A6C9 */ jal clamp_angle +/* B1B94C 802403DC 00000000 */ nop +/* B1B950 802403E0 44050000 */ mfc1 $a1, $f0 +/* B1B954 802403E4 4406A000 */ mfc1 $a2, $f20 +/* B1B958 802403E8 4407A000 */ mfc1 $a3, $f20 +/* B1B95C 802403EC 3C013F80 */ lui $at, 0x3f80 +/* B1B960 802403F0 4481C000 */ mtc1 $at, $f24 +/* B1B964 802403F4 27A40018 */ addiu $a0, $sp, 0x18 +/* B1B968 802403F8 0C019EC8 */ jal guRotateF +/* B1B96C 802403FC E7B80010 */ swc1 $f24, 0x10($sp) +/* B1B970 80240400 0200202D */ daddu $a0, $s0, $zero +/* B1B974 80240404 27A50018 */ addiu $a1, $sp, 0x18 +/* B1B978 80240408 0C019D80 */ jal guMtxCatF +/* B1B97C 8024040C 00A0302D */ daddu $a2, $a1, $zero +/* B1B980 80240410 4405B000 */ mfc1 $a1, $f22 +/* B1B984 80240414 4406A000 */ mfc1 $a2, $f20 +/* B1B988 80240418 4407C000 */ mfc1 $a3, $f24 +/* B1B98C 8024041C 0200202D */ daddu $a0, $s0, $zero +/* B1B990 80240420 0C019EC8 */ jal guRotateF +/* B1B994 80240424 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1B998 80240428 27A40018 */ addiu $a0, $sp, 0x18 +/* B1B99C 8024042C 0200282D */ daddu $a1, $s0, $zero +/* B1B9A0 80240430 0C019D80 */ jal guMtxCatF +/* B1B9A4 80240434 0080302D */ daddu $a2, $a0, $zero +/* B1B9A8 80240438 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1B9AC 8024043C 8E2500A8 */ lw $a1, 0xa8($s1) +/* B1B9B0 80240440 4406A000 */ mfc1 $a2, $f20 +/* B1B9B4 80240444 4407C000 */ mfc1 $a3, $f24 +/* B1B9B8 80240448 0C019EC8 */ jal guRotateF +/* B1B9BC 8024044C 0200202D */ daddu $a0, $s0, $zero +/* B1B9C0 80240450 27A40018 */ addiu $a0, $sp, 0x18 +/* B1B9C4 80240454 0200282D */ daddu $a1, $s0, $zero +/* B1B9C8 80240458 0C019D80 */ jal guMtxCatF +/* B1B9CC 8024045C 0080302D */ daddu $a2, $a0, $zero +/* B1B9D0 80240460 3C013F36 */ lui $at, 0x3f36 +/* B1B9D4 80240464 3421DB6E */ ori $at, $at, 0xdb6e +/* B1B9D8 80240468 44810000 */ mtc1 $at, $f0 +/* B1B9DC 8024046C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* B1B9E0 80240470 44050000 */ mfc1 $a1, $f0 +/* B1B9E4 80240474 0200202D */ daddu $a0, $s0, $zero +/* B1B9E8 80240478 00A0302D */ daddu $a2, $a1, $zero +/* B1B9EC 8024047C 0C019DF0 */ jal guScaleF +/* B1B9F0 80240480 00A0382D */ daddu $a3, $a1, $zero +/* B1B9F4 80240484 27A40018 */ addiu $a0, $sp, 0x18 +/* B1B9F8 80240488 0200282D */ daddu $a1, $s0, $zero +/* B1B9FC 8024048C 0C019D80 */ jal guMtxCatF +/* B1BA00 80240490 0080302D */ daddu $a2, $a0, $zero +/* B1BA04 80240494 27B00058 */ addiu $s0, $sp, 0x58 +/* B1BA08 80240498 8E250028 */ lw $a1, 0x28($s1) +/* B1BA0C 8024049C C6200030 */ lwc1 $f0, 0x30($s1) +/* B1BA10 802404A0 8E26002C */ lw $a2, 0x2c($s1) +/* B1BA14 802404A4 46000007 */ neg.s $f0, $f0 +/* B1BA18 802404A8 44070000 */ mfc1 $a3, $f0 +/* B1BA1C 802404AC 0C019E40 */ jal guTranslateF +/* B1BA20 802404B0 0200202D */ daddu $a0, $s0, $zero +/* B1BA24 802404B4 27A40018 */ addiu $a0, $sp, 0x18 +/* B1BA28 802404B8 0200282D */ daddu $a1, $s0, $zero +/* B1BA2C 802404BC 0C019D80 */ jal guMtxCatF +/* B1BA30 802404C0 0080302D */ daddu $a2, $a0, $zero +/* B1BA34 802404C4 8E2500A4 */ lw $a1, 0xa4($s1) +/* B1BA38 802404C8 4406C000 */ mfc1 $a2, $f24 +/* B1BA3C 802404CC 0C0B76A3 */ jal func_802DDA8C +/* B1BA40 802404D0 24040001 */ addiu $a0, $zero, 1 +/* B1BA44 802404D4 24040001 */ addiu $a0, $zero, 1 +/* B1BA48 802404D8 0000282D */ daddu $a1, $zero, $zero +/* B1BA4C 802404DC 00A0302D */ daddu $a2, $a1, $zero +/* B1BA50 802404E0 00A0382D */ daddu $a3, $a1, $zero +/* B1BA54 802404E4 27A20018 */ addiu $v0, $sp, 0x18 +/* B1BA58 802404E8 0C0B7710 */ jal render_sprite +/* B1BA5C 802404EC AFA20010 */ sw $v0, 0x10($sp) +/* B1BA60 802404F0 8FBF0120 */ lw $ra, 0x120($sp) +/* B1BA64 802404F4 8FB1011C */ lw $s1, 0x11c($sp) +/* B1BA68 802404F8 8FB00118 */ lw $s0, 0x118($sp) +/* B1BA6C 802404FC D7B80138 */ ldc1 $f24, 0x138($sp) +/* B1BA70 80240500 D7B60130 */ ldc1 $f22, 0x130($sp) +/* B1BA74 80240504 D7B40128 */ ldc1 $f20, 0x128($sp) +/* B1BA78 80240508 03E00008 */ jr $ra +/* B1BA7C 8024050C 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240510_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240510_B1B570.s new file mode 100644 index 0000000000..2602afac53 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240510_B1B570.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240510_B1BA80 +/* B1BA80 80240510 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1BA84 80240514 AFB00010 */ sw $s0, 0x10($sp) +/* B1BA88 80240518 0080802D */ daddu $s0, $a0, $zero +/* B1BA8C 8024051C 3C048024 */ lui $a0, 0x8024 +/* B1BA90 80240520 24840574 */ addiu $a0, $a0, 0x574 +/* B1BA94 80240524 AFBF0014 */ sw $ra, 0x14($sp) +/* B1BA98 80240528 0C048C56 */ jal bind_dynamic_entity_3 +/* B1BA9C 8024052C 0000282D */ daddu $a1, $zero, $zero +/* B1BAA0 80240530 8E03013C */ lw $v1, 0x13c($s0) +/* B1BAA4 80240534 2404FFFC */ addiu $a0, $zero, -4 +/* B1BAA8 80240538 0C00EAD2 */ jal get_npc_safe +/* B1BAAC 8024053C AC620004 */ sw $v0, 4($v1) +/* B1BAB0 80240540 0040282D */ daddu $a1, $v0, $zero +/* B1BAB4 80240544 10A00007 */ beqz $a1, .L80240564 +/* B1BAB8 80240548 24020002 */ addiu $v0, $zero, 2 +/* B1BABC 8024054C 8CA30000 */ lw $v1, ($a1) +/* B1BAC0 80240550 3C040002 */ lui $a0, 2 +/* B1BAC4 80240554 00641825 */ or $v1, $v1, $a0 +/* B1BAC8 80240558 3C040008 */ lui $a0, 8 +/* B1BACC 8024055C 00641825 */ or $v1, $v1, $a0 +/* B1BAD0 80240560 ACA30000 */ sw $v1, ($a1) +.L80240564: +/* B1BAD4 80240564 8FBF0014 */ lw $ra, 0x14($sp) +/* B1BAD8 80240568 8FB00010 */ lw $s0, 0x10($sp) +/* B1BADC 8024056C 03E00008 */ jr $ra +/* B1BAE0 80240570 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240574_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240574_B1B570.s new file mode 100644 index 0000000000..b10f0a925b --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240574_B1B570.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240574_B1BAE4 +/* B1BAE4 80240574 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1BAE8 80240578 AFBF0010 */ sw $ra, 0x10($sp) +/* B1BAEC 8024057C 0C00EAD2 */ jal get_npc_safe +/* B1BAF0 80240580 2404FFFC */ addiu $a0, $zero, -4 +/* B1BAF4 80240584 0040202D */ daddu $a0, $v0, $zero +/* B1BAF8 80240588 10800006 */ beqz $a0, .L802405A4 +/* B1BAFC 8024058C 3C030002 */ lui $v1, 2 +/* B1BB00 80240590 8C820000 */ lw $v0, ($a0) +/* B1BB04 80240594 00431025 */ or $v0, $v0, $v1 +/* B1BB08 80240598 3C030008 */ lui $v1, 8 +/* B1BB0C 8024059C 00431025 */ or $v0, $v0, $v1 +/* B1BB10 802405A0 AC820000 */ sw $v0, ($a0) +.L802405A4: +/* B1BB14 802405A4 8FBF0010 */ lw $ra, 0x10($sp) +/* B1BB18 802405A8 03E00008 */ jr $ra +/* B1BB1C 802405AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_802405B0.s b/asm/nonmatchings/world/area_tst/tst_04/func_802405B0.s new file mode 100644 index 0000000000..46373093bc --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_802405B0.s @@ -0,0 +1,13 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405B0 +/* B1BB20 802405B0 3C048024 */ lui $a0, 0x8024 +/* B1BB24 802405B4 8C840FD0 */ lw $a0, 0xfd0($a0) +/* B1BB28 802405B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1BB2C 802405BC AFBF0010 */ sw $ra, 0x10($sp) +/* B1BB30 802405C0 0C047A2F */ jal func_8011E8BC +/* B1BB34 802405C4 00000000 */ nop +/* B1BB38 802405C8 8FBF0010 */ lw $ra, 0x10($sp) +/* B1BB3C 802405CC 03E00008 */ jr $ra +/* B1BB40 802405D0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_802405D4.s b/asm/nonmatchings/world/area_tst/tst_04/func_802405D4.s new file mode 100644 index 0000000000..5aede6f29c --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_802405D4.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802405D4 +/* B1BB44 802405D4 27BDFEA8 */ addiu $sp, $sp, -0x158 +/* B1BB48 802405D8 AFB00150 */ sw $s0, 0x150($sp) +/* B1BB4C 802405DC 27B00050 */ addiu $s0, $sp, 0x50 +/* B1BB50 802405E0 3C05C3F2 */ lui $a1, 0xc3f2 +/* B1BB54 802405E4 3C0641C8 */ lui $a2, 0x41c8 +/* B1BB58 802405E8 3C07C220 */ lui $a3, 0xc220 +/* B1BB5C 802405EC AFBF0154 */ sw $ra, 0x154($sp) +/* B1BB60 802405F0 0C019E40 */ jal guTranslateF +/* B1BB64 802405F4 0200202D */ daddu $a0, $s0, $zero +/* B1BB68 802405F8 0200202D */ daddu $a0, $s0, $zero +/* B1BB6C 802405FC 27B00110 */ addiu $s0, $sp, 0x110 +/* B1BB70 80240600 0C019D40 */ jal guMtxF2L +/* B1BB74 80240604 0200282D */ daddu $a1, $s0, $zero +/* B1BB78 80240608 3C048024 */ lui $a0, 0x8024 +/* B1BB7C 8024060C 8C840FD0 */ lw $a0, 0xfd0($a0) +/* B1BB80 80240610 0C047CC1 */ jal func_8011F304 +/* B1BB84 80240614 0200282D */ daddu $a1, $s0, $zero +/* B1BB88 80240618 8FBF0154 */ lw $ra, 0x154($sp) +/* B1BB8C 8024061C 8FB00150 */ lw $s0, 0x150($sp) +/* B1BB90 80240620 03E00008 */ jr $ra +/* B1BB94 80240624 27BD0158 */ addiu $sp, $sp, 0x158 diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240628_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240628_B1B570.s new file mode 100644 index 0000000000..7f144ce4b5 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240628_B1B570.s @@ -0,0 +1,18 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240628_B1BB98 +/* B1BB98 80240628 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1BB9C 8024062C 3C048024 */ lui $a0, 0x8024 +/* B1BBA0 80240630 248405B0 */ addiu $a0, $a0, 0x5b0 +/* B1BBA4 80240634 3C058024 */ lui $a1, 0x8024 +/* B1BBA8 80240638 24A505D4 */ addiu $a1, $a1, 0x5d4 +/* B1BBAC 8024063C AFBF0010 */ sw $ra, 0x10($sp) +/* B1BBB0 80240640 0C048C56 */ jal bind_dynamic_entity_3 +/* B1BBB4 80240644 00000000 */ nop +/* B1BBB8 80240648 8FBF0010 */ lw $ra, 0x10($sp) +/* B1BBBC 8024064C 24020002 */ addiu $v0, $zero, 2 +/* B1BBC0 80240650 03E00008 */ jr $ra +/* B1BBC4 80240654 27BD0018 */ addiu $sp, $sp, 0x18 +/* B1BBC8 80240658 00000000 */ nop +/* B1BBCC 8024065C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tst/tst_04/func_80240660_B1B570.s b/asm/nonmatchings/world/area_tst/tst_04/func_80240660_B1B570.s new file mode 100644 index 0000000000..c9f8efbf6e --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_04/func_80240660_B1B570.s @@ -0,0 +1,16 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240660_B1BBD0 +/* B1BBD0 80240660 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1BBD4 80240664 AFBF0010 */ sw $ra, 0x10($sp) +/* B1BBD8 80240668 8C820148 */ lw $v0, 0x148($a0) +/* B1BBDC 8024066C 0C00EABB */ jal get_npc_unsafe +/* B1BBE0 80240670 84440008 */ lh $a0, 8($v0) +/* B1BBE4 80240674 0C00EAFF */ jal disable_npc_shadow +/* B1BBE8 80240678 0040202D */ daddu $a0, $v0, $zero +/* B1BBEC 8024067C 8FBF0010 */ lw $ra, 0x10($sp) +/* B1BBF0 80240680 24020002 */ addiu $v0, $zero, 2 +/* B1BBF4 80240684 03E00008 */ jr $ra +/* B1BBF8 80240688 27BD0018 */ addiu $sp, $sp, 0x18 +/* B1BBFC 8024068C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_80240000_B1CA50.s b/asm/nonmatchings/world/area_tst/tst_11/func_80240000_B1CA50.s new file mode 100644 index 0000000000..a3ef244d8a --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_80240000_B1CA50.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B1CA50 +/* B1CA50 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1CA54 80240004 AFB00010 */ sw $s0, 0x10($sp) +/* B1CA58 80240008 0080802D */ daddu $s0, $a0, $zero +/* B1CA5C 8024000C 3C058024 */ lui $a1, 0x8024 +/* B1CA60 80240010 24A5003C */ addiu $a1, $a1, 0x3c +/* B1CA64 80240014 AFBF0014 */ sw $ra, 0x14($sp) +/* B1CA68 80240018 0C048C8F */ jal bind_dynamic_entity_7 +/* B1CA6C 8024001C 0000202D */ daddu $a0, $zero, $zero +/* B1CA70 80240020 8E03013C */ lw $v1, 0x13c($s0) +/* B1CA74 80240024 AC620000 */ sw $v0, ($v1) +/* B1CA78 80240028 8FBF0014 */ lw $ra, 0x14($sp) +/* B1CA7C 8024002C 8FB00010 */ lw $s0, 0x10($sp) +/* B1CA80 80240030 24020002 */ addiu $v0, $zero, 2 +/* B1CA84 80240034 03E00008 */ jr $ra +/* B1CA88 80240038 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_8024003C_B1CA50.s b/asm/nonmatchings/world/area_tst/tst_11/func_8024003C_B1CA50.s new file mode 100644 index 0000000000..2fc35bf4d9 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_8024003C_B1CA50.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024003C_B1CA8C +/* B1CA8C 8024003C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B1CA90 80240040 AFB00040 */ sw $s0, 0x40($sp) +/* B1CA94 80240044 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B1CA98 80240048 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B1CA9C 8024004C AFBF0048 */ sw $ra, 0x48($sp) +/* B1CAA0 80240050 AFB10044 */ sw $s1, 0x44($sp) +/* B1CAA4 80240054 8E020000 */ lw $v0, ($s0) +/* B1CAA8 80240058 30420001 */ andi $v0, $v0, 1 +/* B1CAAC 8024005C 10400023 */ beqz $v0, .L802400EC +/* B1CAB0 80240060 27B10020 */ addiu $s1, $sp, 0x20 +/* B1CAB4 80240064 8E0400CC */ lw $a0, 0xcc($s0) +/* B1CAB8 80240068 0C044181 */ jal get_shadow_by_index +/* B1CABC 8024006C 00000000 */ nop +/* B1CAC0 80240070 0C048B77 */ jal func_80122DDC +/* B1CAC4 80240074 84440008 */ lh $a0, 8($v0) +/* B1CAC8 80240078 8C430000 */ lw $v1, ($v0) +/* B1CACC 8024007C 3C04800A */ lui $a0, 0x800a +/* B1CAD0 80240080 8484A634 */ lh $a0, -0x59cc($a0) +/* B1CAD4 80240084 34630200 */ ori $v1, $v1, 0x200 +/* B1CAD8 80240088 AC430000 */ sw $v1, ($v0) +/* B1CADC 8024008C 27A20030 */ addiu $v0, $sp, 0x30 +/* B1CAE0 80240090 AFA20010 */ sw $v0, 0x10($sp) +/* B1CAE4 80240094 27A20034 */ addiu $v0, $sp, 0x34 +/* B1CAE8 80240098 AFA20014 */ sw $v0, 0x14($sp) +/* B1CAEC 8024009C 27A20038 */ addiu $v0, $sp, 0x38 +/* B1CAF0 802400A0 AFA20018 */ sw $v0, 0x18($sp) +/* B1CAF4 802400A4 C6000030 */ lwc1 $f0, 0x30($s0) +/* B1CAF8 802400A8 8E050028 */ lw $a1, 0x28($s0) +/* B1CAFC 802400AC 8E06002C */ lw $a2, 0x2c($s0) +/* B1CB00 802400B0 46000007 */ neg.s $f0, $f0 +/* B1CB04 802400B4 44070000 */ mfc1 $a3, $f0 +/* B1CB08 802400B8 0C00B94E */ jal get_screen_coords +/* B1CB0C 802400BC 00000000 */ nop +/* B1CB10 802400C0 0220202D */ daddu $a0, $s1, $zero +/* B1CB14 802400C4 AFB00028 */ sw $s0, 0x28($sp) +/* B1CB18 802400C8 820500BE */ lb $a1, 0xbe($s0) +/* B1CB1C 802400CC 8FA30038 */ lw $v1, 0x38($sp) +/* B1CB20 802400D0 3C028024 */ lui $v0, 0x8024 +/* B1CB24 802400D4 24420100 */ addiu $v0, $v0, 0x100 +/* B1CB28 802400D8 AFA2002C */ sw $v0, 0x2c($sp) +/* B1CB2C 802400DC 00031823 */ negu $v1, $v1 +/* B1CB30 802400E0 AFA50020 */ sw $a1, 0x20($sp) +/* B1CB34 802400E4 0C047644 */ jal queue_render_task +/* B1CB38 802400E8 AFA30024 */ sw $v1, 0x24($sp) +.L802400EC: +/* B1CB3C 802400EC 8FBF0048 */ lw $ra, 0x48($sp) +/* B1CB40 802400F0 8FB10044 */ lw $s1, 0x44($sp) +/* B1CB44 802400F4 8FB00040 */ lw $s0, 0x40($sp) +/* B1CB48 802400F8 03E00008 */ jr $ra +/* B1CB4C 802400FC 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_80240100.s b/asm/nonmatchings/world/area_tst/tst_11/func_80240100.s new file mode 100644 index 0000000000..ec1748f650 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_80240100.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240100 +/* B1CB50 80240100 3C03800A */ lui $v1, 0x800a +/* B1CB54 80240104 8463A634 */ lh $v1, -0x59cc($v1) +/* B1CB58 80240108 3C07BF80 */ lui $a3, 0xbf80 +/* B1CB5C 8024010C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* B1CB60 80240110 F7B40128 */ sdc1 $f20, 0x128($sp) +/* B1CB64 80240114 4480A000 */ mtc1 $zero, $f20 +/* B1CB68 80240118 AFB1011C */ sw $s1, 0x11c($sp) +/* B1CB6C 8024011C 0080882D */ daddu $s1, $a0, $zero +/* B1CB70 80240120 AFB00118 */ sw $s0, 0x118($sp) +/* B1CB74 80240124 27B00098 */ addiu $s0, $sp, 0x98 +/* B1CB78 80240128 AFBF0120 */ sw $ra, 0x120($sp) +/* B1CB7C 8024012C F7B80138 */ sdc1 $f24, 0x138($sp) +/* B1CB80 80240130 F7B60130 */ sdc1 $f22, 0x130($sp) +/* B1CB84 80240134 00031080 */ sll $v0, $v1, 2 +/* B1CB88 80240138 00431021 */ addu $v0, $v0, $v1 +/* B1CB8C 8024013C 00021080 */ sll $v0, $v0, 2 +/* B1CB90 80240140 00431023 */ subu $v0, $v0, $v1 +/* B1CB94 80240144 000218C0 */ sll $v1, $v0, 3 +/* B1CB98 80240148 00431021 */ addu $v0, $v0, $v1 +/* B1CB9C 8024014C 000210C0 */ sll $v0, $v0, 3 +/* B1CBA0 80240150 3C01800B */ lui $at, 0x800b +/* B1CBA4 80240154 00220821 */ addu $at, $at, $v0 +/* B1CBA8 80240158 C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B1CBAC 8024015C 4406A000 */ mfc1 $a2, $f20 +/* B1CBB0 80240160 4600B587 */ neg.s $f22, $f22 +/* B1CBB4 80240164 4405B000 */ mfc1 $a1, $f22 +/* B1CBB8 80240168 0200202D */ daddu $a0, $s0, $zero +/* B1CBBC 8024016C 0C019EC8 */ jal guRotateF +/* B1CBC0 80240170 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CBC4 80240174 C62C008C */ lwc1 $f12, 0x8c($s1) +/* B1CBC8 80240178 0C00A6C9 */ jal clamp_angle +/* B1CBCC 8024017C 00000000 */ nop +/* B1CBD0 80240180 44050000 */ mfc1 $a1, $f0 +/* B1CBD4 80240184 4406A000 */ mfc1 $a2, $f20 +/* B1CBD8 80240188 4407A000 */ mfc1 $a3, $f20 +/* B1CBDC 8024018C 3C013F80 */ lui $at, 0x3f80 +/* B1CBE0 80240190 4481C000 */ mtc1 $at, $f24 +/* B1CBE4 80240194 27A40018 */ addiu $a0, $sp, 0x18 +/* B1CBE8 80240198 0C019EC8 */ jal guRotateF +/* B1CBEC 8024019C E7B80010 */ swc1 $f24, 0x10($sp) +/* B1CBF0 802401A0 0200202D */ daddu $a0, $s0, $zero +/* B1CBF4 802401A4 27A50018 */ addiu $a1, $sp, 0x18 +/* B1CBF8 802401A8 0C019D80 */ jal guMtxCatF +/* B1CBFC 802401AC 00A0302D */ daddu $a2, $a1, $zero +/* B1CC00 802401B0 4405B000 */ mfc1 $a1, $f22 +/* B1CC04 802401B4 4406A000 */ mfc1 $a2, $f20 +/* B1CC08 802401B8 4407C000 */ mfc1 $a3, $f24 +/* B1CC0C 802401BC 0200202D */ daddu $a0, $s0, $zero +/* B1CC10 802401C0 0C019EC8 */ jal guRotateF +/* B1CC14 802401C4 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CC18 802401C8 27A40018 */ addiu $a0, $sp, 0x18 +/* B1CC1C 802401CC 0200282D */ daddu $a1, $s0, $zero +/* B1CC20 802401D0 0C019D80 */ jal guMtxCatF +/* B1CC24 802401D4 0080302D */ daddu $a2, $a0, $zero +/* B1CC28 802401D8 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CC2C 802401DC 8E2500A8 */ lw $a1, 0xa8($s1) +/* B1CC30 802401E0 4406A000 */ mfc1 $a2, $f20 +/* B1CC34 802401E4 4407C000 */ mfc1 $a3, $f24 +/* B1CC38 802401E8 0C019EC8 */ jal guRotateF +/* B1CC3C 802401EC 0200202D */ daddu $a0, $s0, $zero +/* B1CC40 802401F0 27A40018 */ addiu $a0, $sp, 0x18 +/* B1CC44 802401F4 0200282D */ daddu $a1, $s0, $zero +/* B1CC48 802401F8 0C019D80 */ jal guMtxCatF +/* B1CC4C 802401FC 0080302D */ daddu $a2, $a0, $zero +/* B1CC50 80240200 3C013F36 */ lui $at, 0x3f36 +/* B1CC54 80240204 3421DB6E */ ori $at, $at, 0xdb6e +/* B1CC58 80240208 44810000 */ mtc1 $at, $f0 +/* B1CC5C 8024020C 27B000D8 */ addiu $s0, $sp, 0xd8 +/* B1CC60 80240210 44050000 */ mfc1 $a1, $f0 +/* B1CC64 80240214 0200202D */ daddu $a0, $s0, $zero +/* B1CC68 80240218 00A0302D */ daddu $a2, $a1, $zero +/* B1CC6C 8024021C 0C019DF0 */ jal guScaleF +/* B1CC70 80240220 00A0382D */ daddu $a3, $a1, $zero +/* B1CC74 80240224 27A40018 */ addiu $a0, $sp, 0x18 +/* B1CC78 80240228 0200282D */ daddu $a1, $s0, $zero +/* B1CC7C 8024022C 0C019D80 */ jal guMtxCatF +/* B1CC80 80240230 0080302D */ daddu $a2, $a0, $zero +/* B1CC84 80240234 27B00058 */ addiu $s0, $sp, 0x58 +/* B1CC88 80240238 8E250028 */ lw $a1, 0x28($s1) +/* B1CC8C 8024023C C6200030 */ lwc1 $f0, 0x30($s1) +/* B1CC90 80240240 8E26002C */ lw $a2, 0x2c($s1) +/* B1CC94 80240244 46000007 */ neg.s $f0, $f0 +/* B1CC98 80240248 44070000 */ mfc1 $a3, $f0 +/* B1CC9C 8024024C 0C019E40 */ jal guTranslateF +/* B1CCA0 80240250 0200202D */ daddu $a0, $s0, $zero +/* B1CCA4 80240254 27A40018 */ addiu $a0, $sp, 0x18 +/* B1CCA8 80240258 0200282D */ daddu $a1, $s0, $zero +/* B1CCAC 8024025C 0C019D80 */ jal guMtxCatF +/* B1CCB0 80240260 0080302D */ daddu $a2, $a0, $zero +/* B1CCB4 80240264 24040001 */ addiu $a0, $zero, 1 +/* B1CCB8 80240268 3C050100 */ lui $a1, 0x100 +/* B1CCBC 8024026C 8E2200A4 */ lw $v0, 0xa4($s1) +/* B1CCC0 80240270 4406C000 */ mfc1 $a2, $f24 +/* B1CCC4 80240274 0C0B76A3 */ jal func_802DDA8C +/* B1CCC8 80240278 00452826 */ xor $a1, $v0, $a1 +/* B1CCCC 8024027C 24040001 */ addiu $a0, $zero, 1 +/* B1CCD0 80240280 0000282D */ daddu $a1, $zero, $zero +/* B1CCD4 80240284 00A0302D */ daddu $a2, $a1, $zero +/* B1CCD8 80240288 00A0382D */ daddu $a3, $a1, $zero +/* B1CCDC 8024028C 27A20018 */ addiu $v0, $sp, 0x18 +/* B1CCE0 80240290 0C0B7710 */ jal render_sprite +/* B1CCE4 80240294 AFA20010 */ sw $v0, 0x10($sp) +/* B1CCE8 80240298 8FBF0120 */ lw $ra, 0x120($sp) +/* B1CCEC 8024029C 8FB1011C */ lw $s1, 0x11c($sp) +/* B1CCF0 802402A0 8FB00118 */ lw $s0, 0x118($sp) +/* B1CCF4 802402A4 D7B80138 */ ldc1 $f24, 0x138($sp) +/* B1CCF8 802402A8 D7B60130 */ ldc1 $f22, 0x130($sp) +/* B1CCFC 802402AC D7B40128 */ ldc1 $f20, 0x128($sp) +/* B1CD00 802402B0 03E00008 */ jr $ra +/* B1CD04 802402B4 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_802402B8.s b/asm/nonmatchings/world/area_tst/tst_11/func_802402B8.s new file mode 100644 index 0000000000..829860282a --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_802402B8.s @@ -0,0 +1,19 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402B8 +/* B1CD08 802402B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1CD0C 802402BC AFB00010 */ sw $s0, 0x10($sp) +/* B1CD10 802402C0 0080802D */ daddu $s0, $a0, $zero +/* B1CD14 802402C4 3C058024 */ lui $a1, 0x8024 +/* B1CD18 802402C8 24A502F4 */ addiu $a1, $a1, 0x2f4 +/* B1CD1C 802402CC AFBF0014 */ sw $ra, 0x14($sp) +/* B1CD20 802402D0 0C048C8F */ jal bind_dynamic_entity_7 +/* B1CD24 802402D4 0000202D */ daddu $a0, $zero, $zero +/* B1CD28 802402D8 8E03013C */ lw $v1, 0x13c($s0) +/* B1CD2C 802402DC AC620000 */ sw $v0, ($v1) +/* B1CD30 802402E0 8FBF0014 */ lw $ra, 0x14($sp) +/* B1CD34 802402E4 8FB00010 */ lw $s0, 0x10($sp) +/* B1CD38 802402E8 24020002 */ addiu $v0, $zero, 2 +/* B1CD3C 802402EC 03E00008 */ jr $ra +/* B1CD40 802402F0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_802402F4.s b/asm/nonmatchings/world/area_tst/tst_11/func_802402F4.s new file mode 100644 index 0000000000..edbdf2dda4 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_802402F4.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802402F4 +/* B1CD44 802402F4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* B1CD48 802402F8 AFB00040 */ sw $s0, 0x40($sp) +/* B1CD4C 802402FC 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B1CD50 80240300 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B1CD54 80240304 AFBF0048 */ sw $ra, 0x48($sp) +/* B1CD58 80240308 AFB10044 */ sw $s1, 0x44($sp) +/* B1CD5C 8024030C 8E020000 */ lw $v0, ($s0) +/* B1CD60 80240310 30420001 */ andi $v0, $v0, 1 +/* B1CD64 80240314 10400023 */ beqz $v0, .L802403A4 +/* B1CD68 80240318 27B10020 */ addiu $s1, $sp, 0x20 +/* B1CD6C 8024031C 8E0400CC */ lw $a0, 0xcc($s0) +/* B1CD70 80240320 0C044181 */ jal get_shadow_by_index +/* B1CD74 80240324 00000000 */ nop +/* B1CD78 80240328 0C048B77 */ jal func_80122DDC +/* B1CD7C 8024032C 84440008 */ lh $a0, 8($v0) +/* B1CD80 80240330 8C430000 */ lw $v1, ($v0) +/* B1CD84 80240334 3C04800A */ lui $a0, 0x800a +/* B1CD88 80240338 8484A634 */ lh $a0, -0x59cc($a0) +/* B1CD8C 8024033C 34630200 */ ori $v1, $v1, 0x200 +/* B1CD90 80240340 AC430000 */ sw $v1, ($v0) +/* B1CD94 80240344 27A20030 */ addiu $v0, $sp, 0x30 +/* B1CD98 80240348 AFA20010 */ sw $v0, 0x10($sp) +/* B1CD9C 8024034C 27A20034 */ addiu $v0, $sp, 0x34 +/* B1CDA0 80240350 AFA20014 */ sw $v0, 0x14($sp) +/* B1CDA4 80240354 27A20038 */ addiu $v0, $sp, 0x38 +/* B1CDA8 80240358 AFA20018 */ sw $v0, 0x18($sp) +/* B1CDAC 8024035C C600002C */ lwc1 $f0, 0x2c($s0) +/* B1CDB0 80240360 8E050028 */ lw $a1, 0x28($s0) +/* B1CDB4 80240364 8E070030 */ lw $a3, 0x30($s0) +/* B1CDB8 80240368 46000007 */ neg.s $f0, $f0 +/* B1CDBC 8024036C 44060000 */ mfc1 $a2, $f0 +/* B1CDC0 80240370 0C00B94E */ jal get_screen_coords +/* B1CDC4 80240374 00000000 */ nop +/* B1CDC8 80240378 0220202D */ daddu $a0, $s1, $zero +/* B1CDCC 8024037C AFB00028 */ sw $s0, 0x28($sp) +/* B1CDD0 80240380 820500BE */ lb $a1, 0xbe($s0) +/* B1CDD4 80240384 8FA30038 */ lw $v1, 0x38($sp) +/* B1CDD8 80240388 3C028024 */ lui $v0, 0x8024 +/* B1CDDC 8024038C 244203B8 */ addiu $v0, $v0, 0x3b8 +/* B1CDE0 80240390 AFA2002C */ sw $v0, 0x2c($sp) +/* B1CDE4 80240394 00031823 */ negu $v1, $v1 +/* B1CDE8 80240398 AFA50020 */ sw $a1, 0x20($sp) +/* B1CDEC 8024039C 0C047644 */ jal queue_render_task +/* B1CDF0 802403A0 AFA30024 */ sw $v1, 0x24($sp) +.L802403A4: +/* B1CDF4 802403A4 8FBF0048 */ lw $ra, 0x48($sp) +/* B1CDF8 802403A8 8FB10044 */ lw $s1, 0x44($sp) +/* B1CDFC 802403AC 8FB00040 */ lw $s0, 0x40($sp) +/* B1CE00 802403B0 03E00008 */ jr $ra +/* B1CE04 802403B4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_802403B8_B1CA50.s b/asm/nonmatchings/world/area_tst/tst_11/func_802403B8_B1CA50.s new file mode 100644 index 0000000000..28dfbac986 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_802403B8_B1CA50.s @@ -0,0 +1,203 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802403B8_B1CE08 +/* B1CE08 802403B8 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* B1CE0C 802403BC F7B40138 */ sdc1 $f20, 0x138($sp) +/* B1CE10 802403C0 4480A000 */ mtc1 $zero, $f20 +/* B1CE14 802403C4 3C03800A */ lui $v1, 0x800a +/* B1CE18 802403C8 8463A634 */ lh $v1, -0x59cc($v1) +/* B1CE1C 802403CC F7BC0158 */ sdc1 $f28, 0x158($sp) +/* B1CE20 802403D0 3C01BF80 */ lui $at, 0xbf80 +/* B1CE24 802403D4 4481E000 */ mtc1 $at, $f28 +/* B1CE28 802403D8 AFB20128 */ sw $s2, 0x128($sp) +/* B1CE2C 802403DC 0080902D */ daddu $s2, $a0, $zero +/* B1CE30 802403E0 AFB10124 */ sw $s1, 0x124($sp) +/* B1CE34 802403E4 27B100A0 */ addiu $s1, $sp, 0xa0 +/* B1CE38 802403E8 AFBF0134 */ sw $ra, 0x134($sp) +/* B1CE3C 802403EC AFB40130 */ sw $s4, 0x130($sp) +/* B1CE40 802403F0 AFB3012C */ sw $s3, 0x12c($sp) +/* B1CE44 802403F4 AFB00120 */ sw $s0, 0x120($sp) +/* B1CE48 802403F8 F7BA0150 */ sdc1 $f26, 0x150($sp) +/* B1CE4C 802403FC F7B80148 */ sdc1 $f24, 0x148($sp) +/* B1CE50 80240400 F7B60140 */ sdc1 $f22, 0x140($sp) +/* B1CE54 80240404 00031080 */ sll $v0, $v1, 2 +/* B1CE58 80240408 00431021 */ addu $v0, $v0, $v1 +/* B1CE5C 8024040C 00021080 */ sll $v0, $v0, 2 +/* B1CE60 80240410 00431023 */ subu $v0, $v0, $v1 +/* B1CE64 80240414 000218C0 */ sll $v1, $v0, 3 +/* B1CE68 80240418 00431021 */ addu $v0, $v0, $v1 +/* B1CE6C 8024041C 000210C0 */ sll $v0, $v0, 3 +/* B1CE70 80240420 4406A000 */ mfc1 $a2, $f20 +/* B1CE74 80240424 3C01800B */ lui $at, 0x800b +/* B1CE78 80240428 00220821 */ addu $at, $at, $v0 +/* B1CE7C 8024042C C4361DEC */ lwc1 $f22, 0x1dec($at) +/* B1CE80 80240430 4407E000 */ mfc1 $a3, $f28 +/* B1CE84 80240434 4600B587 */ neg.s $f22, $f22 +/* B1CE88 80240438 4405B000 */ mfc1 $a1, $f22 +/* B1CE8C 8024043C 0220202D */ daddu $a0, $s1, $zero +/* B1CE90 80240440 0C019EC8 */ jal guRotateF +/* B1CE94 80240444 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CE98 80240448 C64C008C */ lwc1 $f12, 0x8c($s2) +/* B1CE9C 8024044C 0C00A6C9 */ jal clamp_angle +/* B1CEA0 80240450 00000000 */ nop +/* B1CEA4 80240454 44050000 */ mfc1 $a1, $f0 +/* B1CEA8 80240458 4406A000 */ mfc1 $a2, $f20 +/* B1CEAC 8024045C 4407A000 */ mfc1 $a3, $f20 +/* B1CEB0 80240460 3C013F80 */ lui $at, 0x3f80 +/* B1CEB4 80240464 4481C000 */ mtc1 $at, $f24 +/* B1CEB8 80240468 27A40020 */ addiu $a0, $sp, 0x20 +/* B1CEBC 8024046C 0C019EC8 */ jal guRotateF +/* B1CEC0 80240470 E7B80010 */ swc1 $f24, 0x10($sp) +/* B1CEC4 80240474 0220202D */ daddu $a0, $s1, $zero +/* B1CEC8 80240478 27A50020 */ addiu $a1, $sp, 0x20 +/* B1CECC 8024047C 0C019D80 */ jal guMtxCatF +/* B1CED0 80240480 00A0302D */ daddu $a2, $a1, $zero +/* B1CED4 80240484 4405B000 */ mfc1 $a1, $f22 +/* B1CED8 80240488 4406A000 */ mfc1 $a2, $f20 +/* B1CEDC 8024048C 4407C000 */ mfc1 $a3, $f24 +/* B1CEE0 80240490 0220202D */ daddu $a0, $s1, $zero +/* B1CEE4 80240494 0C019EC8 */ jal guRotateF +/* B1CEE8 80240498 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CEEC 8024049C 27A40020 */ addiu $a0, $sp, 0x20 +/* B1CEF0 802404A0 0220282D */ daddu $a1, $s1, $zero +/* B1CEF4 802404A4 0C019D80 */ jal guMtxCatF +/* B1CEF8 802404A8 0080302D */ daddu $a2, $a0, $zero +/* B1CEFC 802404AC E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CF00 802404B0 8E4500A8 */ lw $a1, 0xa8($s2) +/* B1CF04 802404B4 4406A000 */ mfc1 $a2, $f20 +/* B1CF08 802404B8 4407C000 */ mfc1 $a3, $f24 +/* B1CF0C 802404BC 0C019EC8 */ jal guRotateF +/* B1CF10 802404C0 0220202D */ daddu $a0, $s1, $zero +/* B1CF14 802404C4 27A40020 */ addiu $a0, $sp, 0x20 +/* B1CF18 802404C8 0220282D */ daddu $a1, $s1, $zero +/* B1CF1C 802404CC 0C019D80 */ jal guMtxCatF +/* B1CF20 802404D0 0080302D */ daddu $a2, $a0, $zero +/* B1CF24 802404D4 27B300E0 */ addiu $s3, $sp, 0xe0 +/* B1CF28 802404D8 3C013F36 */ lui $at, 0x3f36 +/* B1CF2C 802404DC 3421DB6E */ ori $at, $at, 0xdb6e +/* B1CF30 802404E0 4481D000 */ mtc1 $at, $f26 +/* B1CF34 802404E4 3C06BF36 */ lui $a2, 0xbf36 +/* B1CF38 802404E8 34C6DB6E */ ori $a2, $a2, 0xdb6e +/* B1CF3C 802404EC 4405D000 */ mfc1 $a1, $f26 +/* B1CF40 802404F0 4407D000 */ mfc1 $a3, $f26 +/* B1CF44 802404F4 0C019DF0 */ jal guScaleF +/* B1CF48 802404F8 0260202D */ daddu $a0, $s3, $zero +/* B1CF4C 802404FC 27A40020 */ addiu $a0, $sp, 0x20 +/* B1CF50 80240500 0260282D */ daddu $a1, $s3, $zero +/* B1CF54 80240504 0C019D80 */ jal guMtxCatF +/* B1CF58 80240508 0080302D */ daddu $a2, $a0, $zero +/* B1CF5C 8024050C 27B40060 */ addiu $s4, $sp, 0x60 +/* B1CF60 80240510 8E450028 */ lw $a1, 0x28($s2) +/* B1CF64 80240514 C640002C */ lwc1 $f0, 0x2c($s2) +/* B1CF68 80240518 8E470030 */ lw $a3, 0x30($s2) +/* B1CF6C 8024051C 46000007 */ neg.s $f0, $f0 +/* B1CF70 80240520 44060000 */ mfc1 $a2, $f0 +/* B1CF74 80240524 0C019E40 */ jal guTranslateF +/* B1CF78 80240528 0280202D */ daddu $a0, $s4, $zero +/* B1CF7C 8024052C 27A40020 */ addiu $a0, $sp, 0x20 +/* B1CF80 80240530 0280282D */ daddu $a1, $s4, $zero +/* B1CF84 80240534 0C019D80 */ jal guMtxCatF +/* B1CF88 80240538 0080302D */ daddu $a2, $a0, $zero +/* B1CF8C 8024053C 24040001 */ addiu $a0, $zero, 1 +/* B1CF90 80240540 0000282D */ daddu $a1, $zero, $zero +/* B1CF94 80240544 00A0302D */ daddu $a2, $a1, $zero +/* B1CF98 80240548 00A0382D */ daddu $a3, $a1, $zero +/* B1CF9C 8024054C 27B00020 */ addiu $s0, $sp, 0x20 +/* B1CFA0 80240550 0C0B7710 */ jal render_sprite +/* B1CFA4 80240554 AFB00010 */ sw $s0, 0x10($sp) +/* B1CFA8 80240558 4405B000 */ mfc1 $a1, $f22 +/* B1CFAC 8024055C 4406A000 */ mfc1 $a2, $f20 +/* B1CFB0 80240560 4407E000 */ mfc1 $a3, $f28 +/* B1CFB4 80240564 0220202D */ daddu $a0, $s1, $zero +/* B1CFB8 80240568 0C019EC8 */ jal guRotateF +/* B1CFBC 8024056C E7B40010 */ swc1 $f20, 0x10($sp) +/* B1CFC0 80240570 C64C008C */ lwc1 $f12, 0x8c($s2) +/* B1CFC4 80240574 0C00A6C9 */ jal clamp_angle +/* B1CFC8 80240578 00000000 */ nop +/* B1CFCC 8024057C 44050000 */ mfc1 $a1, $f0 +/* B1CFD0 80240580 4406A000 */ mfc1 $a2, $f20 +/* B1CFD4 80240584 4407A000 */ mfc1 $a3, $f20 +/* B1CFD8 80240588 0200202D */ daddu $a0, $s0, $zero +/* B1CFDC 8024058C 0C019EC8 */ jal guRotateF +/* B1CFE0 80240590 E7B80010 */ swc1 $f24, 0x10($sp) +/* B1CFE4 80240594 0220202D */ daddu $a0, $s1, $zero +/* B1CFE8 80240598 0200282D */ daddu $a1, $s0, $zero +/* B1CFEC 8024059C 0C019D80 */ jal guMtxCatF +/* B1CFF0 802405A0 0200302D */ daddu $a2, $s0, $zero +/* B1CFF4 802405A4 4405B000 */ mfc1 $a1, $f22 +/* B1CFF8 802405A8 4406A000 */ mfc1 $a2, $f20 +/* B1CFFC 802405AC 4407C000 */ mfc1 $a3, $f24 +/* B1D000 802405B0 0220202D */ daddu $a0, $s1, $zero +/* B1D004 802405B4 0C019EC8 */ jal guRotateF +/* B1D008 802405B8 E7B40010 */ swc1 $f20, 0x10($sp) +/* B1D00C 802405BC 0200202D */ daddu $a0, $s0, $zero +/* B1D010 802405C0 0220282D */ daddu $a1, $s1, $zero +/* B1D014 802405C4 0C019D80 */ jal guMtxCatF +/* B1D018 802405C8 0200302D */ daddu $a2, $s0, $zero +/* B1D01C 802405CC E7B40010 */ swc1 $f20, 0x10($sp) +/* B1D020 802405D0 8E4500A8 */ lw $a1, 0xa8($s2) +/* B1D024 802405D4 4406A000 */ mfc1 $a2, $f20 +/* B1D028 802405D8 4407C000 */ mfc1 $a3, $f24 +/* B1D02C 802405DC 0C019EC8 */ jal guRotateF +/* B1D030 802405E0 0220202D */ daddu $a0, $s1, $zero +/* B1D034 802405E4 0200202D */ daddu $a0, $s0, $zero +/* B1D038 802405E8 0220282D */ daddu $a1, $s1, $zero +/* B1D03C 802405EC 0C019D80 */ jal guMtxCatF +/* B1D040 802405F0 0200302D */ daddu $a2, $s0, $zero +/* B1D044 802405F4 4405D000 */ mfc1 $a1, $f26 +/* B1D048 802405F8 0260202D */ daddu $a0, $s3, $zero +/* B1D04C 802405FC 00A0302D */ daddu $a2, $a1, $zero +/* B1D050 80240600 0C019DF0 */ jal guScaleF +/* B1D054 80240604 00A0382D */ daddu $a3, $a1, $zero +/* B1D058 80240608 0200202D */ daddu $a0, $s0, $zero +/* B1D05C 8024060C 0260282D */ daddu $a1, $s3, $zero +/* B1D060 80240610 0C019D80 */ jal guMtxCatF +/* B1D064 80240614 0200302D */ daddu $a2, $s0, $zero +/* B1D068 80240618 8E450028 */ lw $a1, 0x28($s2) +/* B1D06C 8024061C 8E46002C */ lw $a2, 0x2c($s2) +/* B1D070 80240620 4407A000 */ mfc1 $a3, $f20 +/* B1D074 80240624 0C019E40 */ jal guTranslateF +/* B1D078 80240628 0280202D */ daddu $a0, $s4, $zero +/* B1D07C 8024062C 0200202D */ daddu $a0, $s0, $zero +/* B1D080 80240630 0280282D */ daddu $a1, $s4, $zero +/* B1D084 80240634 0C019D80 */ jal guMtxCatF +/* B1D088 80240638 0200302D */ daddu $a2, $s0, $zero +/* B1D08C 8024063C 24050007 */ addiu $a1, $zero, 7 +/* B1D090 80240640 240600FF */ addiu $a2, $zero, 0xff +/* B1D094 80240644 00C0382D */ daddu $a3, $a2, $zero +/* B1D098 80240648 8E5100A4 */ lw $s1, 0xa4($s2) +/* B1D09C 8024064C 00C0102D */ daddu $v0, $a2, $zero +/* B1D0A0 80240650 AFA20010 */ sw $v0, 0x10($sp) +/* B1D0A4 80240654 24020014 */ addiu $v0, $zero, 0x14 +/* B1D0A8 80240658 AFA20014 */ sw $v0, 0x14($sp) +/* B1D0AC 8024065C AFA00018 */ sw $zero, 0x18($sp) +/* B1D0B0 80240660 0C0B77FE */ jal func_802DDFF8 +/* B1D0B4 80240664 0220202D */ daddu $a0, $s1, $zero +/* B1D0B8 80240668 24040001 */ addiu $a0, $zero, 1 +/* B1D0BC 8024066C 0000282D */ daddu $a1, $zero, $zero +/* B1D0C0 80240670 00A0302D */ daddu $a2, $a1, $zero +/* B1D0C4 80240674 00A0382D */ daddu $a3, $a1, $zero +/* B1D0C8 80240678 0C0B7710 */ jal render_sprite +/* B1D0CC 8024067C AFB00010 */ sw $s0, 0x10($sp) +/* B1D0D0 80240680 0220202D */ daddu $a0, $s1, $zero +/* B1D0D4 80240684 0000282D */ daddu $a1, $zero, $zero +/* B1D0D8 80240688 00A0302D */ daddu $a2, $a1, $zero +/* B1D0DC 8024068C 00A0382D */ daddu $a3, $a1, $zero +/* B1D0E0 80240690 AFA00010 */ sw $zero, 0x10($sp) +/* B1D0E4 80240694 AFA00014 */ sw $zero, 0x14($sp) +/* B1D0E8 80240698 0C0B77FE */ jal func_802DDFF8 +/* B1D0EC 8024069C AFA00018 */ sw $zero, 0x18($sp) +/* B1D0F0 802406A0 8FBF0134 */ lw $ra, 0x134($sp) +/* B1D0F4 802406A4 8FB40130 */ lw $s4, 0x130($sp) +/* B1D0F8 802406A8 8FB3012C */ lw $s3, 0x12c($sp) +/* B1D0FC 802406AC 8FB20128 */ lw $s2, 0x128($sp) +/* B1D100 802406B0 8FB10124 */ lw $s1, 0x124($sp) +/* B1D104 802406B4 8FB00120 */ lw $s0, 0x120($sp) +/* B1D108 802406B8 D7BC0158 */ ldc1 $f28, 0x158($sp) +/* B1D10C 802406BC D7BA0150 */ ldc1 $f26, 0x150($sp) +/* B1D110 802406C0 D7B80148 */ ldc1 $f24, 0x148($sp) +/* B1D114 802406C4 D7B60140 */ ldc1 $f22, 0x140($sp) +/* B1D118 802406C8 D7B40138 */ ldc1 $f20, 0x138($sp) +/* B1D11C 802406CC 03E00008 */ jr $ra +/* B1D120 802406D0 27BD0160 */ addiu $sp, $sp, 0x160 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_802406D4.s b/asm/nonmatchings/world/area_tst/tst_11/func_802406D4.s new file mode 100644 index 0000000000..e576b48c24 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_802406D4.s @@ -0,0 +1,28 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802406D4 +/* B1D124 802406D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1D128 802406D8 AFB00010 */ sw $s0, 0x10($sp) +/* B1D12C 802406DC 0080802D */ daddu $s0, $a0, $zero +/* B1D130 802406E0 3C048024 */ lui $a0, 0x8024 +/* B1D134 802406E4 24840730 */ addiu $a0, $a0, 0x730 +/* B1D138 802406E8 AFBF0014 */ sw $ra, 0x14($sp) +/* B1D13C 802406EC 0C048C56 */ jal bind_dynamic_entity_3 +/* B1D140 802406F0 0000282D */ daddu $a1, $zero, $zero +/* B1D144 802406F4 8E03013C */ lw $v1, 0x13c($s0) +/* B1D148 802406F8 2404FFFC */ addiu $a0, $zero, -4 +/* B1D14C 802406FC 0C00EAD2 */ jal get_npc_safe +/* B1D150 80240700 AC620004 */ sw $v0, 4($v1) +/* B1D154 80240704 0040282D */ daddu $a1, $v0, $zero +/* B1D158 80240708 10A00005 */ beqz $a1, .L80240720 +/* B1D15C 8024070C 24020002 */ addiu $v0, $zero, 2 +/* B1D160 80240710 8CA30000 */ lw $v1, ($a1) +/* B1D164 80240714 3C04000A */ lui $a0, 0xa +/* B1D168 80240718 00641825 */ or $v1, $v1, $a0 +/* B1D16C 8024071C ACA30000 */ sw $v1, ($a1) +.L80240720: +/* B1D170 80240720 8FBF0014 */ lw $ra, 0x14($sp) +/* B1D174 80240724 8FB00010 */ lw $s0, 0x10($sp) +/* B1D178 80240728 03E00008 */ jr $ra +/* B1D17C 8024072C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_11/func_80240730_B1CA50.s b/asm/nonmatchings/world/area_tst/tst_11/func_80240730_B1CA50.s new file mode 100644 index 0000000000..82316e70d3 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_11/func_80240730_B1CA50.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240730_B1D180 +/* B1D180 80240730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1D184 80240734 AFBF0010 */ sw $ra, 0x10($sp) +/* B1D188 80240738 0C00EAD2 */ jal get_npc_safe +/* B1D18C 8024073C 2404FFFC */ addiu $a0, $zero, -4 +/* B1D190 80240740 0040202D */ daddu $a0, $v0, $zero +/* B1D194 80240744 10800004 */ beqz $a0, .L80240758 +/* B1D198 80240748 3C03000A */ lui $v1, 0xa +/* B1D19C 8024074C 8C820000 */ lw $v0, ($a0) +/* B1D1A0 80240750 00431025 */ or $v0, $v0, $v1 +/* B1D1A4 80240754 AC820000 */ sw $v0, ($a0) +.L80240758: +/* B1D1A8 80240758 8FBF0010 */ lw $ra, 0x10($sp) +/* B1D1AC 8024075C 03E00008 */ jr $ra +/* B1D1B0 80240760 27BD0018 */ addiu $sp, $sp, 0x18 +/* B1D1B4 80240764 00000000 */ nop +/* B1D1B8 80240768 00000000 */ nop +/* B1D1BC 8024076C 00000000 */ nop diff --git a/asm/nonmatchings/world/area_tst/tst_13/func_80240000_B1D760.s b/asm/nonmatchings/world/area_tst/tst_13/func_80240000_B1D760.s new file mode 100644 index 0000000000..0f41374f08 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_13/func_80240000_B1D760.s @@ -0,0 +1,46 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80240000_B1D760 +/* B1D760 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* B1D764 80240004 AFB10014 */ sw $s1, 0x14($sp) +/* B1D768 80240008 0080882D */ daddu $s1, $a0, $zero +/* B1D76C 8024000C AFB00010 */ sw $s0, 0x10($sp) +/* B1D770 80240010 3C108011 */ lui $s0, %hi(gPlayerStatus) +/* B1D774 80240014 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) +/* B1D778 80240018 AFBF0018 */ sw $ra, 0x18($sp) +/* B1D77C 8024001C 8E22013C */ lw $v0, 0x13c($s1) +/* B1D780 80240020 C60C0028 */ lwc1 $f12, 0x28($s0) +/* B1D784 80240024 C60E0030 */ lwc1 $f14, 0x30($s0) +/* B1D788 80240028 C4440008 */ lwc1 $f4, 8($v0) +/* B1D78C 8024002C 46802120 */ cvt.s.w $f4, $f4 +/* B1D790 80240030 44062000 */ mfc1 $a2, $f4 +/* B1D794 80240034 C444000C */ lwc1 $f4, 0xc($v0) +/* B1D798 80240038 46802120 */ cvt.s.w $f4, $f4 +/* B1D79C 8024003C 44072000 */ mfc1 $a3, $f4 +/* B1D7A0 80240040 0C00A7B5 */ jal dist2D +/* B1D7A4 80240044 00000000 */ nop +/* B1D7A8 80240048 24020001 */ addiu $v0, $zero, 1 +/* B1D7AC 8024004C AE220084 */ sw $v0, 0x84($s1) +/* B1D7B0 80240050 820300B4 */ lb $v1, 0xb4($s0) +/* B1D7B4 80240054 2402000E */ addiu $v0, $zero, 0xe +/* B1D7B8 80240058 10620004 */ beq $v1, $v0, .L8024006C +/* B1D7BC 8024005C 46000086 */ mov.s $f2, $f0 +/* B1D7C0 80240060 24020010 */ addiu $v0, $zero, 0x10 +/* B1D7C4 80240064 54620001 */ bnel $v1, $v0, .L8024006C +/* B1D7C8 80240068 AE200084 */ sw $zero, 0x84($s1) +.L8024006C: +/* B1D7CC 8024006C 8E22013C */ lw $v0, 0x13c($s1) +/* B1D7D0 80240070 C4400010 */ lwc1 $f0, 0x10($v0) +/* B1D7D4 80240074 46800020 */ cvt.s.w $f0, $f0 +/* B1D7D8 80240078 4602003E */ c.le.s $f0, $f2 +/* B1D7DC 8024007C 00000000 */ nop +/* B1D7E0 80240080 45030001 */ bc1tl .L80240088 +/* B1D7E4 80240084 AE200084 */ sw $zero, 0x84($s1) +.L80240088: +/* B1D7E8 80240088 8FBF0018 */ lw $ra, 0x18($sp) +/* B1D7EC 8024008C 8FB10014 */ lw $s1, 0x14($sp) +/* B1D7F0 80240090 8FB00010 */ lw $s0, 0x10($sp) +/* B1D7F4 80240094 24020002 */ addiu $v0, $zero, 2 +/* B1D7F8 80240098 03E00008 */ jr $ra +/* B1D7FC 8024009C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/world/area_tst/tst_13/func_802400A0_B1D760.s b/asm/nonmatchings/world/area_tst/tst_13/func_802400A0_B1D760.s new file mode 100644 index 0000000000..fe0797ec86 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_13/func_802400A0_B1D760.s @@ -0,0 +1,45 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802400A0_B1D800 +/* B1D800 802400A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* B1D804 802400A4 AFB00010 */ sw $s0, 0x10($sp) +/* B1D808 802400A8 0080802D */ daddu $s0, $a0, $zero +/* B1D80C 802400AC 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B1D810 802400B0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B1D814 802400B4 AFBF0014 */ sw $ra, 0x14($sp) +/* B1D818 802400B8 8E02013C */ lw $v0, 0x13c($s0) +/* B1D81C 802400BC C46C0028 */ lwc1 $f12, 0x28($v1) +/* B1D820 802400C0 C46E0030 */ lwc1 $f14, 0x30($v1) +/* B1D824 802400C4 C4460008 */ lwc1 $f6, 8($v0) +/* B1D828 802400C8 468031A0 */ cvt.s.w $f6, $f6 +/* B1D82C 802400CC 44063000 */ mfc1 $a2, $f6 +/* B1D830 802400D0 C4460010 */ lwc1 $f6, 0x10($v0) +/* B1D834 802400D4 468031A0 */ cvt.s.w $f6, $f6 +/* B1D838 802400D8 44073000 */ mfc1 $a3, $f6 +/* B1D83C 802400DC 0C00A7B5 */ jal dist2D +/* B1D840 802400E0 00000000 */ nop +/* B1D844 802400E4 3C0142E1 */ lui $at, 0x42e1 +/* B1D848 802400E8 44811000 */ mtc1 $at, $f2 +/* B1D84C 802400EC 46000106 */ mov.s $f4, $f0 +/* B1D850 802400F0 4602203C */ c.lt.s $f4, $f2 +/* B1D854 802400F4 00000000 */ nop +/* B1D858 802400F8 45000003 */ bc1f .L80240108 +/* B1D85C 802400FC AE000084 */ sw $zero, 0x84($s0) +/* B1D860 80240100 24020002 */ addiu $v0, $zero, 2 +/* B1D864 80240104 AE020084 */ sw $v0, 0x84($s0) +.L80240108: +/* B1D868 80240108 3C014216 */ lui $at, 0x4216 +/* B1D86C 8024010C 44810000 */ mtc1 $at, $f0 +/* B1D870 80240110 00000000 */ nop +/* B1D874 80240114 4600203C */ c.lt.s $f4, $f0 +/* B1D878 80240118 00000000 */ nop +/* B1D87C 8024011C 45000002 */ bc1f .L80240128 +/* B1D880 80240120 24020001 */ addiu $v0, $zero, 1 +/* B1D884 80240124 AE020084 */ sw $v0, 0x84($s0) +.L80240128: +/* B1D888 80240128 8FBF0014 */ lw $ra, 0x14($sp) +/* B1D88C 8024012C 8FB00010 */ lw $s0, 0x10($sp) +/* B1D890 80240130 24020002 */ addiu $v0, $zero, 2 +/* B1D894 80240134 03E00008 */ jr $ra +/* B1D898 80240138 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/world/area_tst/tst_13/func_8024013C.s b/asm/nonmatchings/world/area_tst/tst_13/func_8024013C.s new file mode 100644 index 0000000000..72ef77a9f5 --- /dev/null +++ b/asm/nonmatchings/world/area_tst/tst_13/func_8024013C.s @@ -0,0 +1,165 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8024013C +/* B1D89C 8024013C 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* B1D8A0 80240140 27A40010 */ addiu $a0, $sp, 0x10 +/* B1D8A4 80240144 0000302D */ daddu $a2, $zero, $zero +/* B1D8A8 80240148 3C038011 */ lui $v1, %hi(gPlayerStatus) +/* B1D8AC 8024014C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) +/* B1D8B0 80240150 AFB00090 */ sw $s0, 0x90($sp) +/* B1D8B4 80240154 3C108024 */ lui $s0, 0x8024 +/* B1D8B8 80240158 26102BF8 */ addiu $s0, $s0, 0x2bf8 +/* B1D8BC 8024015C AFBF00A4 */ sw $ra, 0xa4($sp) +/* B1D8C0 80240160 AFB400A0 */ sw $s4, 0xa0($sp) +/* B1D8C4 80240164 AFB3009C */ sw $s3, 0x9c($sp) +/* B1D8C8 80240168 AFB20098 */ sw $s2, 0x98($sp) +/* B1D8CC 8024016C AFB10094 */ sw $s1, 0x94($sp) +/* B1D8D0 80240170 F7BA00C0 */ sdc1 $f26, 0xc0($sp) +/* B1D8D4 80240174 F7B800B8 */ sdc1 $f24, 0xb8($sp) +/* B1D8D8 80240178 F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* B1D8DC 8024017C F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* B1D8E0 80240180 8C650028 */ lw $a1, 0x28($v1) +/* B1D8E4 80240184 8E020000 */ lw $v0, ($s0) +/* B1D8E8 80240188 8C670030 */ lw $a3, 0x30($v1) +/* B1D8EC 8024018C 24420001 */ addiu $v0, $v0, 1 +/* B1D8F0 80240190 0C019E40 */ jal guTranslateF +/* B1D8F4 80240194 AE020000 */ sw $v0, ($s0) +/* B1D8F8 80240198 3C014248 */ lui $at, 0x4248 +/* B1D8FC 8024019C 4481D000 */ mtc1 $at, $f26 +/* B1D900 802401A0 C60C0000 */ lwc1 $f12, ($s0) +/* B1D904 802401A4 46806320 */ cvt.s.w $f12, $f12 +/* B1D908 802401A8 0C00A85B */ jal sin_rad +/* B1D90C 802401AC 461A6303 */ div.s $f12, $f12, $f26 +/* B1D910 802401B0 3C013FE0 */ lui $at, 0x3fe0 +/* B1D914 802401B4 4481C800 */ mtc1 $at, $f25 +/* B1D918 802401B8 4480C000 */ mtc1 $zero, $f24 +/* B1D91C 802401BC 460005A1 */ cvt.d.s $f22, $f0 +/* B1D920 802401C0 4638B582 */ mul.d $f22, $f22, $f24 +/* B1D924 802401C4 00000000 */ nop +/* B1D928 802401C8 4638B580 */ add.d $f22, $f22, $f24 +/* B1D92C 802401CC C60C0000 */ lwc1 $f12, ($s0) +/* B1D930 802401D0 46806320 */ cvt.s.w $f12, $f12 +/* B1D934 802401D4 461A6303 */ div.s $f12, $f12, $f26 +/* B1D938 802401D8 0C00A874 */ jal cos_rad +/* B1D93C 802401DC 4620B5A0 */ cvt.s.d $f22, $f22 +/* B1D940 802401E0 C60C0000 */ lwc1 $f12, ($s0) +/* B1D944 802401E4 46806320 */ cvt.s.w $f12, $f12 +/* B1D948 802401E8 461A6303 */ div.s $f12, $f12, $f26 +/* B1D94C 802401EC 0C00A874 */ jal cos_rad +/* B1D950 802401F0 46000506 */ mov.s $f20, $f0 +/* B1D954 802401F4 4600A502 */ mul.s $f20, $f20, $f0 +/* B1D958 802401F8 00000000 */ nop +/* B1D95C 802401FC 3C018024 */ lui $at, 0x8024 +/* B1D960 80240200 D4202D00 */ ldc1 $f0, 0x2d00($at) +/* B1D964 80240204 4600A521 */ cvt.d.s $f20, $f20 +/* B1D968 80240208 4620A500 */ add.d $f20, $f20, $f0 +/* B1D96C 8024020C C60C0000 */ lwc1 $f12, ($s0) +/* B1D970 80240210 46806320 */ cvt.s.w $f12, $f12 +/* B1D974 80240214 461A6303 */ div.s $f12, $f12, $f26 +/* B1D978 80240218 0C00A85B */ jal sin_rad +/* B1D97C 8024021C 4620A520 */ cvt.s.d $f20, $f20 +/* B1D980 80240220 46000021 */ cvt.d.s $f0, $f0 +/* B1D984 80240224 46380002 */ mul.d $f0, $f0, $f24 +/* B1D988 80240228 00000000 */ nop +/* B1D98C 8024022C 3C140001 */ lui $s4, 1 +/* B1D990 80240230 36941630 */ ori $s4, $s4, 0x1630 +/* B1D994 80240234 27B00050 */ addiu $s0, $sp, 0x50 +/* B1D998 80240238 46380000 */ add.d $f0, $f0, $f24 +/* B1D99C 8024023C 4405B000 */ mfc1 $a1, $f22 +/* B1D9A0 80240240 4406A000 */ mfc1 $a2, $f20 +/* B1D9A4 80240244 46200020 */ cvt.s.d $f0, $f0 +/* B1D9A8 80240248 44070000 */ mfc1 $a3, $f0 +/* B1D9AC 8024024C 0C019DF0 */ jal guScaleF +/* B1D9B0 80240250 0200202D */ daddu $a0, $s0, $zero +/* B1D9B4 80240254 0200202D */ daddu $a0, $s0, $zero +/* B1D9B8 80240258 27A50010 */ addiu $a1, $sp, 0x10 +/* B1D9BC 8024025C 0C019D80 */ jal guMtxCatF +/* B1D9C0 80240260 00A0302D */ daddu $a2, $a1, $zero +/* B1D9C4 80240264 27A40010 */ addiu $a0, $sp, 0x10 +/* B1D9C8 80240268 3C118007 */ lui $s1, 0x8007 +/* B1D9CC 8024026C 263141F0 */ addiu $s1, $s1, 0x41f0 +/* B1D9D0 80240270 3C12800A */ lui $s2, 0x800a +/* B1D9D4 80240274 2652A674 */ addiu $s2, $s2, -0x598c +/* B1D9D8 80240278 96250000 */ lhu $a1, ($s1) +/* B1D9DC 8024027C 8E420000 */ lw $v0, ($s2) +/* B1D9E0 80240280 00052980 */ sll $a1, $a1, 6 +/* B1D9E4 80240284 00B42821 */ addu $a1, $a1, $s4 +/* B1D9E8 80240288 0C019D40 */ jal guMtxF2L +/* B1D9EC 8024028C 00452821 */ addu $a1, $v0, $a1 +/* B1D9F0 80240290 24040001 */ addiu $a0, $zero, 1 +/* B1D9F4 80240294 3C138024 */ lui $s3, 0x8024 +/* B1D9F8 80240298 26732860 */ addiu $s3, $s3, 0x2860 +/* B1D9FC 8024029C 0260282D */ daddu $a1, $s3, $zero +/* B1DA00 802402A0 27A60010 */ addiu $a2, $sp, 0x10 +/* B1DA04 802402A4 0C0470CB */ jal func_8011C32C +/* B1DA08 802402A8 0000382D */ daddu $a3, $zero, $zero +/* B1DA0C 802402AC 3C07E300 */ lui $a3, 0xe300 +/* B1DA10 802402B0 34E70A01 */ ori $a3, $a3, 0xa01 +/* B1DA14 802402B4 3C09E200 */ lui $t1, 0xe200 +/* B1DA18 802402B8 3529001C */ ori $t1, $t1, 0x1c +/* B1DA1C 802402BC 3C080055 */ lui $t0, 0x55 +/* B1DA20 802402C0 35082078 */ ori $t0, $t0, 0x2078 +/* B1DA24 802402C4 3C10800A */ lui $s0, 0x800a +/* B1DA28 802402C8 2610A66C */ addiu $s0, $s0, -0x5994 +/* B1DA2C 802402CC 0200202D */ daddu $a0, $s0, $zero +/* B1DA30 802402D0 24050001 */ addiu $a1, $zero, 1 +/* B1DA34 802402D4 8E020000 */ lw $v0, ($s0) +/* B1DA38 802402D8 3C03E700 */ lui $v1, 0xe700 +/* B1DA3C 802402DC 0040302D */ daddu $a2, $v0, $zero +/* B1DA40 802402E0 24420008 */ addiu $v0, $v0, 8 +/* B1DA44 802402E4 AE020000 */ sw $v0, ($s0) +/* B1DA48 802402E8 ACC30000 */ sw $v1, ($a2) +/* B1DA4C 802402EC 24430008 */ addiu $v1, $v0, 8 +/* B1DA50 802402F0 ACC00004 */ sw $zero, 4($a2) +/* B1DA54 802402F4 AE030000 */ sw $v1, ($s0) +/* B1DA58 802402F8 24430010 */ addiu $v1, $v0, 0x10 +/* B1DA5C 802402FC AC470000 */ sw $a3, ($v0) +/* B1DA60 80240300 AC400004 */ sw $zero, 4($v0) +/* B1DA64 80240304 AE030000 */ sw $v1, ($s0) +/* B1DA68 80240308 AC490008 */ sw $t1, 8($v0) +/* B1DA6C 8024030C 0C0475CB */ jal func_8011D72C +/* B1DA70 80240310 AC48000C */ sw $t0, 0xc($v0) +/* B1DA74 80240314 3C03DA38 */ lui $v1, 0xda38 +/* B1DA78 80240318 34630002 */ ori $v1, $v1, 2 +/* B1DA7C 8024031C 3C06D838 */ lui $a2, 0xd838 +/* B1DA80 80240320 34C60002 */ ori $a2, $a2, 2 +/* B1DA84 80240324 8E040000 */ lw $a0, ($s0) +/* B1DA88 80240328 96220000 */ lhu $v0, ($s1) +/* B1DA8C 8024032C 0080282D */ daddu $a1, $a0, $zero +/* B1DA90 80240330 24840008 */ addiu $a0, $a0, 8 +/* B1DA94 80240334 AE040000 */ sw $a0, ($s0) +/* B1DA98 80240338 ACA30000 */ sw $v1, ($a1) +/* B1DA9C 8024033C 24430001 */ addiu $v1, $v0, 1 +/* B1DAA0 80240340 3042FFFF */ andi $v0, $v0, 0xffff +/* B1DAA4 80240344 00021180 */ sll $v0, $v0, 6 +/* B1DAA8 80240348 A6230000 */ sh $v1, ($s1) +/* B1DAAC 8024034C 8E430000 */ lw $v1, ($s2) +/* B1DAB0 80240350 00541021 */ addu $v0, $v0, $s4 +/* B1DAB4 80240354 00621821 */ addu $v1, $v1, $v0 +/* B1DAB8 80240358 24820008 */ addiu $v0, $a0, 8 +/* B1DABC 8024035C ACA30004 */ sw $v1, 4($a1) +/* B1DAC0 80240360 AE020000 */ sw $v0, ($s0) +/* B1DAC4 80240364 3C02DE00 */ lui $v0, 0xde00 +/* B1DAC8 80240368 AC820000 */ sw $v0, ($a0) +/* B1DACC 8024036C 24820010 */ addiu $v0, $a0, 0x10 +/* B1DAD0 80240370 AC930004 */ sw $s3, 4($a0) +/* B1DAD4 80240374 AE020000 */ sw $v0, ($s0) +/* B1DAD8 80240378 24020040 */ addiu $v0, $zero, 0x40 +/* B1DADC 8024037C AC860008 */ sw $a2, 8($a0) +/* B1DAE0 80240380 AC82000C */ sw $v0, 0xc($a0) +/* B1DAE4 80240384 8FBF00A4 */ lw $ra, 0xa4($sp) +/* B1DAE8 80240388 8FB400A0 */ lw $s4, 0xa0($sp) +/* B1DAEC 8024038C 8FB3009C */ lw $s3, 0x9c($sp) +/* B1DAF0 80240390 8FB20098 */ lw $s2, 0x98($sp) +/* B1DAF4 80240394 8FB10094 */ lw $s1, 0x94($sp) +/* B1DAF8 80240398 8FB00090 */ lw $s0, 0x90($sp) +/* B1DAFC 8024039C D7BA00C0 */ ldc1 $f26, 0xc0($sp) +/* B1DB00 802403A0 D7B800B8 */ ldc1 $f24, 0xb8($sp) +/* B1DB04 802403A4 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* B1DB08 802403A8 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* B1DB0C 802403AC 03E00008 */ jr $ra +/* B1DB10 802403B0 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* B1DB14 802403B4 00000000 */ nop +/* B1DB18 802403B8 00000000 */ nop +/* B1DB1C 802403BC 00000000 */ nop diff --git a/coverage.py b/coverage.py index 5f5630deb8..21682b01d0 100755 --- a/coverage.py +++ b/coverage.py @@ -27,7 +27,7 @@ def strip_c_comments(text): return re.sub(pattern, replacer, text) c_func_pattern = re.compile( - r"^(static\s+)?[^\s]+\s+([^\s(]+)\(([^\n)]*)\)\s+{", + r"^(static\s+)?[^\s]+\s+([^\s(]+)\(([^;)]*)\)[^;]+{", re.MULTILINE ) def funcs_in_c(text): diff --git a/src/world/area_arn/arn_02.c b/src/world/area_arn/arn_02.c new file mode 100644 index 0000000000..535c58026e --- /dev/null +++ b/src/world/area_arn/arn_02.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240000_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240160_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_802401D4_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240304_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_802403A0_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240428_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_802404D0_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240644_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240694_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240834_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240984_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240A30_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240B68_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240BE4_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240C4C_BDD1B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_02", func_80240C90_BDD1B0); diff --git a/src/world/area_arn/arn_03.c b/src/world/area_arn/arn_03.c new file mode 100644 index 0000000000..97b2044671 --- /dev/null +++ b/src/world/area_arn/arn_03.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240000_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240158_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240400_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_802404C0_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_8024067C_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240730_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_802407A4_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_8024081C_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_8024094C_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240A6C_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240AD4_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240B94_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80240E90_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80241068); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_8024113C_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_802412B0_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80241364_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_802413C8); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80241424_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_802415F4_BDED90); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80241648); + +INCLUDE_ASM(s32, "world/area_arn/arn_03", func_80241680_BDED90); diff --git a/src/world/area_arn/arn_04.c b/src/world/area_arn/arn_04.c new file mode 100644 index 0000000000..0acce366ed --- /dev/null +++ b/src/world/area_arn/arn_04.c @@ -0,0 +1,79 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240000_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240158_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240400_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_802404C0_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024067C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240730_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_802407A4_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024081C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024094C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240A6C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240AD4_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240B94_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80240E90_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241040_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241668_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241728); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241A6C); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241AE4); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241B50_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241C84_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80241CE8); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242078_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024219C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242388); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_802424E8_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024255C); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_8024268C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242728); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_802427B0_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242858_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_802429CC); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242A1C_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242BBC); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242D0C); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242DB8); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242EF0_BE37B0); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242F6C); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80242FD4); + +INCLUDE_ASM(s32, "world/area_arn/arn_04", func_80243018); diff --git a/src/world/area_arn/arn_05.c b/src/world/area_arn/arn_05.c new file mode 100644 index 0000000000..d350d5093e --- /dev/null +++ b/src/world/area_arn/arn_05.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240000_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240158_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240400_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_802404C0_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_8024067C_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240730_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_802407A4_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_8024081C_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_8024094C_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240A6C_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240AD4_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240B94_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80240E90_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_80241068_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_8024113C_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_802412B0_BE7BE0); + +INCLUDE_ASM(s32, "world/area_arn/arn_05", func_802412C8_BE7BE0); diff --git a/src/world/area_arn/arn_07.c b/src/world/area_arn/arn_07.c new file mode 100644 index 0000000000..41e066e616 --- /dev/null +++ b/src/world/area_arn/arn_07.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240000_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_8024004C_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802401AC_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802405BC_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802405FC_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240708_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240800_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240870_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802408A4_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240950_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80240B00_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241128_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802411E8_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_8024152C); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802415A4_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241610_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241744_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_802417A8_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241B38); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241C5C_BECDF0); + +INCLUDE_ASM(s32, "world/area_arn/arn_07", func_80241E48_BECDF0); diff --git a/src/world/area_arn/arn_08.c b/src/world/area_arn/arn_08.c new file mode 100644 index 0000000000..1013040c49 --- /dev/null +++ b/src/world/area_arn/arn_08.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_80240000_BF47A0); + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_8024008C); + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_802400C0_BF47A0); + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_802400D4_BF47A0); + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_802400F4_BF47A0); + +INCLUDE_ASM(s32, "world/area_arn/arn_08", func_8024019C_BF47A0); diff --git a/src/world/area_arn/arn_09.c b/src/world/area_arn/arn_09.c new file mode 100644 index 0000000000..92c69a1c7c --- /dev/null +++ b/src/world/area_arn/arn_09.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_arn/arn_09", func_80240000_BF6060); diff --git a/src/world/area_dgb/dgb_00.c b/src/world/area_dgb/dgb_00.c new file mode 100644 index 0000000000..36ddd0b1f6 --- /dev/null +++ b/src/world/area_dgb/dgb_00.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_00", func_80240000_BFA0A0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_00", func_80240060_BFA0A0); diff --git a/src/world/area_dgb/dgb_01.c b/src/world/area_dgb/dgb_01.c new file mode 100644 index 0000000000..358f698461 --- /dev/null +++ b/src/world/area_dgb/dgb_01.c @@ -0,0 +1,77 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240000_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240040_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240074_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240120_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802402D0_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802408F8_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802409B8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240CFC_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240D74_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240DE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240F14_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80240F78); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241308); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_8024142C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241618); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241770_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241874_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241954_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241BF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241CA8_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241E28_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241E70); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241EF0_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80241F98_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802422B0_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_8024252C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242684); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_8024292C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802429EC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242BA8_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242C5C_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242CD0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242D48); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242E78); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80242F98); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_80243000_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802430C0_BFD880); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_01", func_802433BC_BFD880); diff --git a/src/world/area_dgb/dgb_02.c b/src/world/area_dgb/dgb_02.c new file mode 100644 index 0000000000..6d47f67e07 --- /dev/null +++ b/src/world/area_dgb/dgb_02.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240000_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_8024006C_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_802400DC_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_802401B4_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240208_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", update_starpoints_display_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_8024061C_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_802408D0_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240958); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240C10_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240C74_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240D1C_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240E54_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80240F00_C2EBA0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_80241078); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_02", func_802410D4_C2EBA0); diff --git a/src/world/area_dgb/dgb_03.c b/src/world/area_dgb/dgb_03.c new file mode 100644 index 0000000000..59feea0e20 --- /dev/null +++ b/src/world/area_dgb/dgb_03.c @@ -0,0 +1,67 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240000_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802400BC_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240170_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802401A4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240250_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802402BC_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024032C_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240404_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240458); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024060C_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024086C_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240B20_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240C78_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240F20_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80240FE0_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024119C_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80241250); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802412C4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024133C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024146C_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_8024158C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802415F4_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802416B4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802419B0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80241C7C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80241D04); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80241FBC_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80242020); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802420C8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80242200); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_802422AC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80242424_C314E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_03", func_80242480); diff --git a/src/world/area_dgb/dgb_04.c b/src/world/area_dgb/dgb_04.c new file mode 100644 index 0000000000..bcabede077 --- /dev/null +++ b/src/world/area_dgb/dgb_04.c @@ -0,0 +1,81 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240000_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802401B0_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802407D8_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240898_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240BDC_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240C54_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240CC0_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240DF4_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80240E58_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802411E8_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_8024130C_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802414F8_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241650_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241754_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802417F8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241A94); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241B4C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241CCC_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241D14); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241D94); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80241E3C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242154); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802423D0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802423EC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_8024240C_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242438_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802424A4_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802424F0_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_8024259C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802427EC_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242818); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242850_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802428E0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242914); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242978); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802429D0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80242F08_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80243048); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_80243090_C36530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_04", func_802430D8); diff --git a/src/world/area_dgb/dgb_05.c b/src/world/area_dgb/dgb_05.c new file mode 100644 index 0000000000..a1d773680e --- /dev/null +++ b/src/world/area_dgb/dgb_05.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240000_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240030_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240060_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_802400CC_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_8024013C_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240214_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240268_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_8024041C_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_8024067C_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240704_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_802409BC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240A20_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240AC8_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240C00); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240CAC_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240E24_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_80240E80_C3AA10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_05", func_802411D0); diff --git a/src/world/area_dgb/dgb_06.c b/src/world/area_dgb/dgb_06.c new file mode 100644 index 0000000000..ea89e811fb --- /dev/null +++ b/src/world/area_dgb/dgb_06.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_06", func_80240000_C3D080); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_06", func_802400B4_C3D080); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_06", func_80240118_C3D080); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_06", func_80240268_C3D080); diff --git a/src/world/area_dgb/dgb_07.c b/src/world/area_dgb/dgb_07.c new file mode 100644 index 0000000000..d47763f4bc --- /dev/null +++ b/src/world/area_dgb/dgb_07.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240000_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_8024006C_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_802400DC_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_802401B4_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240208_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", update_starpoints_display_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_8024061C_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_802406A4_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_8024095C_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_802409C0_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240A68_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240BA0_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240C4C_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240DC4_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80240E20_C3DBF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_07", func_80241170_C3DBF0); diff --git a/src/world/area_dgb/dgb_08.c b/src/world/area_dgb/dgb_08.c new file mode 100644 index 0000000000..c39fdebb1d --- /dev/null +++ b/src/world/area_dgb/dgb_08.c @@ -0,0 +1,91 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240000_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240158_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240400_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802404C0_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_8024067C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240730_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802407A4_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_8024081C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_8024094C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240A6C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240AD4_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240B94_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240E90_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240EFC_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80240F6C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241044_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241098_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_8024124C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802414AC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241760_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241910_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241F38_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80241FF8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_8024233C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802423B4_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242420); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242554); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802425B8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242948); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242A6C_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242C58); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242DB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242EB4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80242F94_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243230_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802432E8_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243468_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802434B0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243530); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802435D8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_802438F0_C3FDB0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243B6C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243B98); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243C10); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_08", func_80243C50); diff --git a/src/world/area_dgb/dgb_09.c b/src/world/area_dgb/dgb_09.c new file mode 100644 index 0000000000..e12324c5a5 --- /dev/null +++ b/src/world/area_dgb/dgb_09.c @@ -0,0 +1,77 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240000_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_8024006C_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802400DC_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802401B4_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240208_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", update_starpoints_display_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_8024061C_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802408D0_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240958_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240C10_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240C74_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240D1C_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240E54_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80240F00_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80241078_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802410D4_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80241424_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802415D4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80241BFC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80241CBC_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242000); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242078_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802420E4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242218); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_8024227C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_8024260C_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242730_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_8024291C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242A74); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242B78); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242C1C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242EB8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80242F70); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802430F0_C46BE0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80243138); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_802431B8); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80243260); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_09", func_80243578_C46BE0); diff --git a/src/world/area_dgb/dgb_10.c b/src/world/area_dgb/dgb_10.c new file mode 100644 index 0000000000..6f5122b104 --- /dev/null +++ b/src/world/area_dgb/dgb_10.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_10", func_80240000_C4C390); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_10", func_802400A0_C4C390); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_10", func_8024013C_C4C390); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_10", func_802401C0_C4C390); diff --git a/src/world/area_dgb/dgb_11.c b/src/world/area_dgb/dgb_11.c new file mode 100644 index 0000000000..1e7f077d1a --- /dev/null +++ b/src/world/area_dgb/dgb_11.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_11", func_80240000_C4D3E0); diff --git a/src/world/area_dgb/dgb_12.c b/src/world/area_dgb/dgb_12.c new file mode 100644 index 0000000000..715f9ef77b --- /dev/null +++ b/src/world/area_dgb/dgb_12.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_12", func_80240000_C4DEF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_12", func_802400B4_C4DEF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_12", func_80240118_C4DEF0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_12", func_80240268_C4DEF0); diff --git a/src/world/area_dgb/dgb_15.c b/src/world/area_dgb/dgb_15.c new file mode 100644 index 0000000000..79d7939cd4 --- /dev/null +++ b/src/world/area_dgb/dgb_15.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240000_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_8024006C_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_802400DC_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_802401B4_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240208_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", update_starpoints_display_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_8024061C_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_802408D0_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240A28_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240CD0); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240D90_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80240F4C); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241000); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241074); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_802410EC); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_8024121C_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_8024133C_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_802413A4); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241464); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241760_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241790_C4F510); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_15", func_80241830_C4F510); diff --git a/src/world/area_dgb/dgb_16.c b/src/world/area_dgb/dgb_16.c new file mode 100644 index 0000000000..ef0e64ba04 --- /dev/null +++ b/src/world/area_dgb/dgb_16.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240000_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_8024006C_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_802400DC_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_802401B4_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240208_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", update_starpoints_display_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_8024061C_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_802406A4_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_8024095C_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_802409C0_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240A68_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240BA0_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240C4C_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240DC4_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80240E20_C52540); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_16", func_80241170_C52540); diff --git a/src/world/area_dgb/dgb_18.c b/src/world/area_dgb/dgb_18.c new file mode 100644 index 0000000000..1df591505d --- /dev/null +++ b/src/world/area_dgb/dgb_18.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240000_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240158_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240400_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_802404C0_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_8024067C_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240730_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_802407A4_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_8024081C_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_8024094C_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240A6C_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240AD4_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240B94_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240E90_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240EBC_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80240FB0_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_80241064_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", func_802410C8_C55F40); + +INCLUDE_ASM(s32, "world/area_dgb/dgb_18", begin_battle_C55F40); diff --git a/src/world/area_dro/dro_01.c b/src/world/area_dro/dro_01.c new file mode 100644 index 0000000000..b9455d0edf --- /dev/null +++ b/src/world/area_dro/dro_01.c @@ -0,0 +1,149 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240000_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240020_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240034_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802400F0_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802401D0_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024023C_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802402E0_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240404_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802405E0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240738_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802409E0_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240AA0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240C5C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240D10_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240D84); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240DFC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80240F2C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024104C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802410B4); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241174_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241470); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241524); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241588); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024159C_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802415AC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802417D0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024181C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024183C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024189C_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802419E8); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241B5C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241BE0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241DF8); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241EAC_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241EE0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241F60); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241F78); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241F94); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241FAC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80241FDC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242050); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802420F0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024228C_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802422F0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242380); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242468); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802424D4); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242504); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242560); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242730); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242784); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802427BC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242858); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242D98); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80242E88); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243014); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243058); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243084); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_8024309C); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802430C8); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802431B4_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802431FC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243350); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243460); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243514_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243578); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802435A0); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802435C0_95B200); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802435D4); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243690); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243770); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802437DC); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_80243880); + +INCLUDE_ASM(s32, "world/area_dro/dro_01", func_802438F0_95B200); diff --git a/src/world/area_dro/dro_02.c b/src/world/area_dro/dro_02.c new file mode 100644 index 0000000000..3b01ae3dab --- /dev/null +++ b/src/world/area_dro/dro_02.c @@ -0,0 +1,125 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240000_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240124_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240300_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802403B4_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240418_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024042C_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024043C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240660); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802406AC_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802406CC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024072C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240878); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802409EC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240A70_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240C88); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240D3C_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240D70_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240DF0_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240E08); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240E24); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240E3C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240E6C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240EE0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80240F80); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024111C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80241180); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80241210_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802412F8_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80241364_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80241394); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802414C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802415CC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802416FC_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80241874_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024190C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80242214); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024240C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80242EAC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024303C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243068); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243094); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802430F0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802432C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243314); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_8024334C); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802433E8); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243484); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802434A4); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802434CC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243548); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802435C8); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802435F8); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243624); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243644); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243698); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243714); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243748); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243778); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243780); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243870_9691C0); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_802439FC); + +INCLUDE_ASM(s32, "world/area_dro/dro_02", func_80243A40); diff --git a/src/world/area_end/end_00.c b/src/world/area_end/end_00.c new file mode 100644 index 0000000000..cb6030752f --- /dev/null +++ b/src/world/area_end/end_00.c @@ -0,0 +1,59 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240000_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240020_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240270_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240540_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_8024081C_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240AE8_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240EB0); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80240FEC_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802411CC); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80241294); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802414CC); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80241768_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802419F8); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80241B34); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802421D8_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242358_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242500); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242558_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242580); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242680_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242744_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802427A4_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_802427D8); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242830); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242898_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242900); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242A30_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242AD4_DF6A00); + +INCLUDE_ASM(s32, "world/area_end/end_00", func_80242B10); diff --git a/src/world/area_end/end_01.c b/src/world/area_end/end_01.c new file mode 100644 index 0000000000..291a55143a --- /dev/null +++ b/src/world/area_end/end_01.c @@ -0,0 +1,71 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240000_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240010_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240030_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240280_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240550_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_8024082C_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240AF8_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240EC0_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80240FFC); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802411DC); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802412A4); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802414DC); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80241778); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80241A08_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80241B44); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802421E8_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242368_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242510); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242568); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242590_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242690); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242754_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802427B4); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802427E8); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242840); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_8024289C); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_802428C0); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242900_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242978_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242A68_E05360); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242B68); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242C68); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242C94); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242CF0); + +INCLUDE_ASM(s32, "world/area_end/end_01", func_80242E14); diff --git a/src/world/area_flo/flo_00.c b/src/world/area_flo/flo_00.c new file mode 100644 index 0000000000..0a764bfe77 --- /dev/null +++ b/src/world/area_flo/flo_00.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240000_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240040_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240198_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240440_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240500_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_802406BC_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240770_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_802407E4); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_8024085C_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_8024098C); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240AAC_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240B14_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240BD4_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240ED0_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240F10_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_80240F80_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_802410B4_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_802411EC_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_8024137C_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_8024139C_C9DF20); + +INCLUDE_ASM(s32, "world/area_flo/flo_00", func_802413BC); diff --git a/src/world/area_flo/flo_03.c b/src/world/area_flo/flo_03.c new file mode 100644 index 0000000000..415bbaa03e --- /dev/null +++ b/src/world/area_flo/flo_03.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_80240000_CA72A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_80240040_CA72A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_802400F4_CA72A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_80240158_CA72A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_802403F0_CA72A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_03", func_80240460_CA72A0); diff --git a/src/world/area_flo/flo_07.c b/src/world/area_flo/flo_07.c new file mode 100644 index 0000000000..8daf3982a0 --- /dev/null +++ b/src/world/area_flo/flo_07.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_80240000_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_80240124_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_8024030C_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_80240344_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_802403E0_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_80240450); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_8024061C_CAC1F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_07", func_802406D0_CAC1F0); diff --git a/src/world/area_flo/flo_08.c b/src/world/area_flo/flo_08.c new file mode 100644 index 0000000000..62b01b4947 --- /dev/null +++ b/src/world/area_flo/flo_08.c @@ -0,0 +1,69 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240000_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_8024001C_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_8024003C_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240068_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802400D4_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240120_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802401CC_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_8024041C_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240448_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240480_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240510_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240544_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802405A8_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240600_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240B38_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240C78_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240CC0_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240D08_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240D40_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80240D80_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241364_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802414C8_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_8024150C_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241744_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802417A0_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241970_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802419C4_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_802419FC); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241A98); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241B5C_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241BCC_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241C00); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241C70_CAED40); + +INCLUDE_ASM(s32, "world/area_flo/flo_08", func_80241E40_CAED40); diff --git a/src/world/area_flo/flo_09.c b/src/world/area_flo/flo_09.c new file mode 100644 index 0000000000..45ca0d502a --- /dev/null +++ b/src/world/area_flo/flo_09.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240000_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240040_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_802400E0_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240150_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240320_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_802404D0_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240AF8_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240BB8_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240EFC_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240F74); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80240FE0_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80241114_CB5000); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80241178); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_80241508); + +INCLUDE_ASM(s32, "world/area_flo/flo_09", func_8024162C_CB5000); diff --git a/src/world/area_flo/flo_10.c b/src/world/area_flo/flo_10.c new file mode 100644 index 0000000000..0ee603bdc6 --- /dev/null +++ b/src/world/area_flo/flo_10.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240000_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240040_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240080_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240134); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240198_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_802402BC_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_802404B0_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80240A98_CB9200); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_80241230); + +INCLUDE_ASM(s32, "world/area_flo/flo_10", func_802412A0_CB9200); diff --git a/src/world/area_flo/flo_11.c b/src/world/area_flo/flo_11.c new file mode 100644 index 0000000000..f0a72e68fc --- /dev/null +++ b/src/world/area_flo/flo_11.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_80240000_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_80240020_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_80240034_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_802400F0_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_802401D0_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_8024023C_CBDCD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_11", func_802402E0_CBDCD0); diff --git a/src/world/area_flo/flo_12.c b/src/world/area_flo/flo_12.c new file mode 100644 index 0000000000..4051400cd0 --- /dev/null +++ b/src/world/area_flo/flo_12.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_80240000_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_80240040_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_802400B0_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_8024027C_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_80240330_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_80240394_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_802403F0_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_802405C0_CC0E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_80240614); + +INCLUDE_ASM(s32, "world/area_flo/flo_12", func_8024064C_CC0E30); diff --git a/src/world/area_flo/flo_13.c b/src/world/area_flo/flo_13.c new file mode 100644 index 0000000000..80a0a45910 --- /dev/null +++ b/src/world/area_flo/flo_13.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240000_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240040_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802401C4_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240374); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_8024099C); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240A5C_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240DA0_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240E18_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240E84_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80240FB8_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_8024101C_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802413AC_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802414D0_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802416BC_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80241704); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80241B68_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80241DB8); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80242298_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80242314); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80242448); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802425AC); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_8024262C); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80242A6C_CC3810); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_80243368); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802433C0); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802434D4); + +INCLUDE_ASM(s32, "world/area_flo/flo_13", func_802435D0); diff --git a/src/world/area_flo/flo_14.c b/src/world/area_flo/flo_14.c new file mode 100644 index 0000000000..96182a20da --- /dev/null +++ b/src/world/area_flo/flo_14.c @@ -0,0 +1,53 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240000_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240124_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_8024030C_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240340_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802403D4_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_8024042C_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_8024046C_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240504_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802407D4_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240B10_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80240CC0_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802412E8_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802413A8); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802416EC_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80241764); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802417D0_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80241904_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80241968); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80241CF8); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80241E1C); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80242008); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80242064); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80242234); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80242288_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_802422C0_CCB310); + +INCLUDE_ASM(s32, "world/area_flo/flo_14", func_80242360); diff --git a/src/world/area_flo/flo_16.c b/src/world/area_flo/flo_16.c new file mode 100644 index 0000000000..19bf73e3c8 --- /dev/null +++ b/src/world/area_flo/flo_16.c @@ -0,0 +1,75 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240000_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240040_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802400E0_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802400FC_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_8024011C_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240148_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802401B4_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240200_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802402AC_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802404FC); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240528_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240560); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802405F0_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240624_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240688_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802406E0_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240C18_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240D58); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240DA0_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240DE8_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240E18_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80240E50_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241000_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241628_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802416E8_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241A2C_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241AA4_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241B10_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241C44_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80241CA8_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80242038); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_8024215C); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80242348_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80242478); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_802426F8_CD1E30); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80242754); + +INCLUDE_ASM(s32, "world/area_flo/flo_16", func_80242940); diff --git a/src/world/area_flo/flo_17.c b/src/world/area_flo/flo_17.c new file mode 100644 index 0000000000..a40cdd6d9f --- /dev/null +++ b/src/world/area_flo/flo_17.c @@ -0,0 +1,47 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240000_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240040_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240070_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240220_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240848); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240908_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240C4C_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240CC4_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240D30_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240E64); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80240EC8_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80241258); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_8024137C_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80241568); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_802415B0_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80241A14); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80241C64); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80242144_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_802421C0_CD72E0); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_802422F4); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80242458); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_802424D8); + +INCLUDE_ASM(s32, "world/area_flo/flo_17", func_80242918); diff --git a/src/world/area_flo/flo_18.c b/src/world/area_flo/flo_18.c new file mode 100644 index 0000000000..471430a9ea --- /dev/null +++ b/src/world/area_flo/flo_18.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240000_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240124_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_8024030C_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240340_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240394_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240530_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240590_CDC6A0); + +INCLUDE_ASM(s32, "world/area_flo/flo_18", func_80240600_CDC6A0); diff --git a/src/world/area_flo/flo_19.c b/src/world/area_flo/flo_19.c new file mode 100644 index 0000000000..58d183491c --- /dev/null +++ b/src/world/area_flo/flo_19.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240000_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240124_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_8024030C_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240340_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_802404D0_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240540_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240660_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_80240784_CE36F0); + +INCLUDE_ASM(s32, "world/area_flo/flo_19", func_802407B0_CE36F0); diff --git a/src/world/area_flo/flo_21.c b/src/world/area_flo/flo_21.c new file mode 100644 index 0000000000..6cb5d292a9 --- /dev/null +++ b/src/world/area_flo/flo_21.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240000_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_8024004C_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_802401AC_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_802405BC_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_802405FC_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240708_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_802407F4_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240918); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240B00_CE6700); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240B40); + +INCLUDE_ASM(s32, "world/area_flo/flo_21", func_80240CD0_CE6700); diff --git a/src/world/area_flo/flo_22.c b/src/world/area_flo/flo_22.c new file mode 100644 index 0000000000..3dd24cebc8 --- /dev/null +++ b/src/world/area_flo/flo_22.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_22", func_80240000_CEC240); + +INCLUDE_ASM(s32, "world/area_flo/flo_22", func_80240040_CEC240); + +INCLUDE_ASM(s32, "world/area_flo/flo_22", func_80240050_CEC240); + +INCLUDE_ASM(s32, "world/area_flo/flo_22", func_802400C0_CEC240); diff --git a/src/world/area_flo/flo_23.c b/src/world/area_flo/flo_23.c new file mode 100644 index 0000000000..374d4e8b3c --- /dev/null +++ b/src/world/area_flo/flo_23.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240000_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240040_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_8024009C_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_8024026C_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_802402C0_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_802402F8_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240394_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240410_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240544_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_802406A8_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240728_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240B68_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240C2C_CEE260); + +INCLUDE_ASM(s32, "world/area_flo/flo_23", func_80240C9C_CEE260); diff --git a/src/world/area_flo/flo_24.c b/src/world/area_flo/flo_24.c new file mode 100644 index 0000000000..43d0676c0d --- /dev/null +++ b/src/world/area_flo/flo_24.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_24", func_80240000_CF0940); + +INCLUDE_ASM(s32, "world/area_flo/flo_24", func_80240040_CF0940); + +INCLUDE_ASM(s32, "world/area_flo/flo_24", func_802400B0_CF0940); + +INCLUDE_ASM(s32, "world/area_flo/flo_24", func_80240280_CF0940); + +INCLUDE_ASM(s32, "world/area_flo/flo_24", func_802403A4_CF0940); diff --git a/src/world/area_flo/flo_25.c b/src/world/area_flo/flo_25.c new file mode 100644 index 0000000000..5798a47a75 --- /dev/null +++ b/src/world/area_flo/flo_25.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240000_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240040_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_802401F0_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240818); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_802408D8); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240C1C_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240C94_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240D00_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240E34_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80240E98_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241228_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_8024134C_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241538); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241668_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_802418E8_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241944_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241B2C_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241B88); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241D58); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241DAC_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241DE4_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241E80_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241F44); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241FB4_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80241FF0_CF2BD0); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80242060); + +INCLUDE_ASM(s32, "world/area_flo/flo_25", func_80242230_CF2BD0); diff --git a/src/world/area_gv/gv_01.c b/src/world/area_gv/gv_01.c new file mode 100644 index 0000000000..20945f468e --- /dev/null +++ b/src/world/area_gv/gv_01.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_80240000_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_80240020_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_80240034_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_802400F0_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_802401D0_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_8024023C_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_802402E0_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_80240404_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_802405EC_E1E460); + +INCLUDE_ASM(s32, "world/area_gv/gv_01", func_80240688_E1E460); diff --git a/src/world/area_hos/hos_00.c b/src/world/area_hos/hos_00.c new file mode 100644 index 0000000000..eb3c0c5628 --- /dev/null +++ b/src/world/area_hos/hos_00.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240000_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240050_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240170); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_8024036C); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240584_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_802407C0_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_802407F0_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_802408A4); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240908_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_8024091C_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240994_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240A54); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240B20_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240B3C_A0BCF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_00", func_80240C40); diff --git a/src/world/area_hos/hos_01.c b/src/world/area_hos/hos_01.c new file mode 100644 index 0000000000..622566bdae --- /dev/null +++ b/src/world/area_hos/hos_01.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240000_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240120_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_8024031C_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240534); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240768_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_802407A0_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_802408C4); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240AAC_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240B10_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240B64_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240BB8_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240C08); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240C34_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240C84_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240CB0_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240CDC); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240DD0_A10880); + +INCLUDE_ASM(s32, "world/area_hos/hos_01", func_80240DEC); diff --git a/src/world/area_hos/hos_02.c b/src/world/area_hos/hos_02.c new file mode 100644 index 0000000000..3c03d88650 --- /dev/null +++ b/src/world/area_hos/hos_02.c @@ -0,0 +1,51 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240000_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240124_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_8024030C_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240434_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240610); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240904_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240BFC); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240EF4_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240F68_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240FD0_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80240FF0); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802411A0); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802417C8); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241888); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241BCC); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241C44); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241CB0); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241DE4); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80241E48); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802421D8); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802422FC_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802424E8); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80242618); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_80242898_A16220); + +INCLUDE_ASM(s32, "world/area_hos/hos_02", func_802428F4); diff --git a/src/world/area_hos/hos_03.c b/src/world/area_hos/hos_03.c new file mode 100644 index 0000000000..8b6735287d --- /dev/null +++ b/src/world/area_hos/hos_03.c @@ -0,0 +1,121 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240000_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240030_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240154_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024033C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024060C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802407E8); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240928); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240A50); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240A70_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240AE0); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240CB0_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80240E60_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241488); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241548); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024188C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241904); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241970); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241AA4); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241B08); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241E98); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80241FBC); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802421A8); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802421C8); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802421F0); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024226C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802422EC_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024231C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242348); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242368); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802423BC); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242438); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024246C); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024249C); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802424A4); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242558); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802425BC); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802425D0); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802425E0_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242804_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242850); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242870_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802428D0); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242A1C); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242B90_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242C14); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242E2C_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242EE0); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242F14); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242F94); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242FAC); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242FC8); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80242FE0_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80243010_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80243084_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80243124_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802432C0_A1B100); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80243324); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_802433B4); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_8024349C); + +INCLUDE_ASM(s32, "world/area_hos/hos_03", func_80243508); diff --git a/src/world/area_hos/hos_04.c b/src/world/area_hos/hos_04.c new file mode 100644 index 0000000000..510e8092e0 --- /dev/null +++ b/src/world/area_hos/hos_04.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240000_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240154_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802402A8); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802403CC); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802405C0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802405E0_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240654); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_8024068C); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240694_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240734_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802408F8); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_802409B0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240A84); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240B60); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240BD0_A26ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240E40); + +INCLUDE_ASM(s32, "world/area_hos/hos_04", func_80240E6C_A26ED0); diff --git a/src/world/area_hos/hos_05.c b/src/world/area_hos/hos_05.c new file mode 100644 index 0000000000..bdaf2955e1 --- /dev/null +++ b/src/world/area_hos/hos_05.c @@ -0,0 +1,137 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240000_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240124_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802402F8); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024041C_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240604); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240634); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240690); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240830); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240880_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802409C4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240D54); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240DA0_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240DF8_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240E30_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240E50); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240F30_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240F88); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80240FE0_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241044); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802410E4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241274); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024146C_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802416BC); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241850); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802419F4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241B40); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241C54); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241D08_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241D7C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80241F54); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", update_heroes_start_turn_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802421E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802422A0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802423D4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802425A0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80242704); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802428C8); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80242F74_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024301C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243100); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243164); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024370C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243758); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243CC0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243ED0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80243FC4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802440D0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244454); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802444E8); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244550); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244774); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024486C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244934); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802449F0); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244C60); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244C8C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", pause_tabs_draw_badges_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244DE4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80244FB8); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802450DC); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802452C4); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024564C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_8024569C); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802456C8_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80245718_A2A240); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80245744); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_80245794); + +INCLUDE_ASM(s32, "world/area_hos/hos_05", func_802457C0); diff --git a/src/world/area_hos/hos_06.c b/src/world/area_hos/hos_06.c new file mode 100644 index 0000000000..2e8e98da56 --- /dev/null +++ b/src/world/area_hos/hos_06.c @@ -0,0 +1,89 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240000_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240124_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240310_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802403C4_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240428_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240484); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240654_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802406A8); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802406E0_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_8024077C); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_8024086C); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802409F8); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240A3C); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240A68); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240A94); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240AD0_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240D30_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240D50); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240DAC); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240F7C); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80240FD0_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241008); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802410A4); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241158); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802411BC); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802411F0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_8024126C); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802414E4); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241668); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802417EC_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241860); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802418A4_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802418E8); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241A58); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241B74_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241CCC_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241F98); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80241FD0_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80242084_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802420E8); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80242238); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_8024228C_A394E0); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_802424CC); + +INCLUDE_ASM(s32, "world/area_hos/hos_06", func_80242534); diff --git a/src/world/area_hos/hos_10.c b/src/world/area_hos/hos_10.c new file mode 100644 index 0000000000..7d678eda62 --- /dev/null +++ b/src/world/area_hos/hos_10.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240000_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240020_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240144); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_8024032C_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240364_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240404_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240460_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240584_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240770_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240A84_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240B44_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240B98_A3F740); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240BEC); + +INCLUDE_ASM(s32, "world/area_hos/hos_10", func_80240BFC_A3F740); diff --git a/src/world/area_hos/hos_20.c b/src/world/area_hos/hos_20.c new file mode 100644 index 0000000000..d17f41ef4f --- /dev/null +++ b/src/world/area_hos/hos_20.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_hos/hos_20", func_80240000_A45930); + +INCLUDE_ASM(s32, "world/area_hos/hos_20", func_80240124_A45930); + +INCLUDE_ASM(s32, "world/area_hos/hos_20", func_80240310_A45930); diff --git a/src/world/area_isk/isk_02.c b/src/world/area_isk/isk_02.c new file mode 100644 index 0000000000..6f9bab5374 --- /dev/null +++ b/src/world/area_isk/isk_02.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_02", func_80240000_978710); + +INCLUDE_ASM(s32, "world/area_isk/isk_02", func_80240040_978710); + +INCLUDE_ASM(s32, "world/area_isk/isk_02", func_802400F0_978710); diff --git a/src/world/area_isk/isk_04.c b/src/world/area_isk/isk_04.c new file mode 100644 index 0000000000..fc5a094cf0 --- /dev/null +++ b/src/world/area_isk/isk_04.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_80240000_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_80240040_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_802400BC_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_802401F0); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_80240354_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_802403D4); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_80240814); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_8024085C_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_802408B4_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_80240930_97B630); + +INCLUDE_ASM(s32, "world/area_isk/isk_04", func_8024095C_97B630); diff --git a/src/world/area_isk/isk_05.c b/src/world/area_isk/isk_05.c new file mode 100644 index 0000000000..9a70ca83c5 --- /dev/null +++ b/src/world/area_isk/isk_05.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240000_97DAD0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240230); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240568); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240628_97DAD0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_802407CC); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_802408AC); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240BAC); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240BF0_97DAD0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240E14); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240EA8_97DAD0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80240F3C); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241108); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_802411F8); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_802415C0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241610); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241B28); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241C34); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241C5C); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241D44); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241DF8_97DAD0); + +INCLUDE_ASM(s32, "world/area_isk/isk_05", func_80241E24); diff --git a/src/world/area_isk/isk_07.c b/src/world/area_isk/isk_07.c new file mode 100644 index 0000000000..af9e7b8b57 --- /dev/null +++ b/src/world/area_isk/isk_07.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_07", func_80240000_982440); + +INCLUDE_ASM(s32, "world/area_isk/isk_07", func_80240014); + +INCLUDE_ASM(s32, "world/area_isk/isk_07", func_802400B0_982440); + +INCLUDE_ASM(s32, "world/area_isk/isk_07", func_802400F0_982440); diff --git a/src/world/area_isk/isk_08.c b/src/world/area_isk/isk_08.c new file mode 100644 index 0000000000..889c509949 --- /dev/null +++ b/src/world/area_isk/isk_08.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_80240000_984E30); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_8024007C); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_802401B0_984E30); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_80240314_984E30); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_80240394); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_802407D4); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_8024081C); + +INCLUDE_ASM(s32, "world/area_isk/isk_08", func_80240874); diff --git a/src/world/area_isk/isk_09.c b/src/world/area_isk/isk_09.c new file mode 100644 index 0000000000..4eb0ef59c2 --- /dev/null +++ b/src/world/area_isk/isk_09.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_80240000_9864E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_802400B4_9864E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_80240118_9864E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_80240268_9864E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_802402BC_9864E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_09", func_802402F0_9864E0); diff --git a/src/world/area_isk/isk_10.c b/src/world/area_isk/isk_10.c new file mode 100644 index 0000000000..cfeae4a64b --- /dev/null +++ b/src/world/area_isk/isk_10.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240000_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_8024001C); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_8024003C); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240068); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_802400D4); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240120_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_802401CC); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_8024041C); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240448); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240480_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240510); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240544_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_802405A8_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240600); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240B38); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240C78); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240CC0_988B60); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240D08); + +INCLUDE_ASM(s32, "world/area_isk/isk_10", func_80240D38_988B60); diff --git a/src/world/area_isk/isk_11.c b/src/world/area_isk/isk_11.c new file mode 100644 index 0000000000..4fcaf0327b --- /dev/null +++ b/src/world/area_isk/isk_11.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_11", func_80240000_98AA10); + +INCLUDE_ASM(s32, "world/area_isk/isk_11", func_802400B0_98AA10); + +INCLUDE_ASM(s32, "world/area_isk/isk_11", func_80240120_98AA10); diff --git a/src/world/area_isk/isk_13.c b/src/world/area_isk/isk_13.c new file mode 100644 index 0000000000..7e17c9366d --- /dev/null +++ b/src/world/area_isk/isk_13.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240000_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240230_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240568_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240628_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_802407CC_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_802408AC_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240BAC_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240BF0_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240E14_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240EA8_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80240F3C_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241108_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_802411F8_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_802415C0_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241610_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241BA8); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241D08); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241D38_98F7E0); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241E34); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80241EF8); + +INCLUDE_ASM(s32, "world/area_isk/isk_13", func_80242044_98F7E0); diff --git a/src/world/area_isk/isk_14.c b/src/world/area_isk/isk_14.c new file mode 100644 index 0000000000..e4fe1dd18f --- /dev/null +++ b/src/world/area_isk/isk_14.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240000_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240230_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240568_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240628_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_802407CC_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_802408AC_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240BAC_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240BF0_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240E14_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240EA8_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80240F3C_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241108_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_802411F8_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_802415C0_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241610_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241AF0); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241BC4); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241BEC_992730); + +INCLUDE_ASM(s32, "world/area_isk/isk_14", func_80241CA0); diff --git a/src/world/area_isk/isk_16.c b/src/world/area_isk/isk_16.c new file mode 100644 index 0000000000..bc89df223b --- /dev/null +++ b/src/world/area_isk/isk_16.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_80240000_9951F0); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_8024004C_9951F0); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_802401AC); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_802405BC_9951F0); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_802405FC); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_80240708); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_80240800_9951F0); + +INCLUDE_ASM(s32, "world/area_isk/isk_16", func_80240924); diff --git a/src/world/area_isk/isk_18.c b/src/world/area_isk/isk_18.c new file mode 100644 index 0000000000..14a4376f8e --- /dev/null +++ b/src/world/area_isk/isk_18.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_80240000_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_8024007C_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_802401B0_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_80240314_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_80240394_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_802407D4_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_8024081C_997F70); + +INCLUDE_ASM(s32, "world/area_isk/isk_18", func_80240874_997F70); diff --git a/src/world/area_iwa/iwa_00.c b/src/world/area_iwa/iwa_00.c new file mode 100644 index 0000000000..5a23032850 --- /dev/null +++ b/src/world/area_iwa/iwa_00.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_00", func_80240000_90CC40); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_00", func_802400B4_90CC40); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_00", func_80240118_90CC40); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_00", func_802402B0); diff --git a/src/world/area_iwa/iwa_01.c b/src/world/area_iwa/iwa_01.c new file mode 100644 index 0000000000..52e31f49fc --- /dev/null +++ b/src/world/area_iwa/iwa_01.c @@ -0,0 +1,79 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240000_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240398); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240520); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240710_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240854); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240954); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240998); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240A38_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240A7C_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80240FB8_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241414_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802415E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802416F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_8024192C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802419C0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241A4C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241B74); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241C78_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241CF0_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241D70_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80241F6C_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_8024228C_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802422C4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242424_90F6B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242498); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802425C8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242664); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802426EC); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242794); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242908); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242958); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242AF8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242C48); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242CF4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242E2C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242EA8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242F10); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_80242F54); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_01", func_802432B0); diff --git a/src/world/area_iwa/iwa_02.c b/src/world/area_iwa/iwa_02.c new file mode 100644 index 0000000000..a2835f3073 --- /dev/null +++ b/src/world/area_iwa/iwa_02.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240000_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240160_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_802401D4_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240304_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_802403A0_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240428_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_802404D0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240644); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240694); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240834); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240984_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240A30_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240B68_915D70); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240BE4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240C4C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240C90); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80240FE0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_02", func_80241094); diff --git a/src/world/area_iwa/iwa_03.c b/src/world/area_iwa/iwa_03.c new file mode 100644 index 0000000000..53f5757edf --- /dev/null +++ b/src/world/area_iwa/iwa_03.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240000_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_802400B4_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240118_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240268_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_802402BC_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240340_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_802404A0_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240514_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240644_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_802406E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240768); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240810_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240984_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_802409D4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240B74); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240CC4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240D70_918BB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240EA8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240F24); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240F8C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80240FD0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_03", func_80241320_918BB0); diff --git a/src/world/area_iwa/iwa_04.c b/src/world/area_iwa/iwa_04.c new file mode 100644 index 0000000000..7ea71e186b --- /dev/null +++ b/src/world/area_iwa/iwa_04.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240000_91B8E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240080); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_802401E0_91B8E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240254); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240384); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240420); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_802404A8_91B8E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240550); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_802406C4_91B8E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240714); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_802408B4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240A04); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240AB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240BE8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240C64); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240CCC); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80240D10); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_80241060_91B8E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_04", func_8024107C); diff --git a/src/world/area_iwa/iwa_10.c b/src/world/area_iwa/iwa_10.c new file mode 100644 index 0000000000..638d460a39 --- /dev/null +++ b/src/world/area_iwa/iwa_10.c @@ -0,0 +1,63 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240000_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240040_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802400F4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240160_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802402F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_8024030C_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_8024032C_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240358_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802403C4_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240410_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802404BC_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_8024070C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240738); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240770_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240800); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240834_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240898_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802408F0_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240E28); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240F68_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240FB0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80240FF8); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80241030); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802411B4); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80241210_91E570); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802413E0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80241434); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_8024146C); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80241510); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_802415B0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_10", func_80241620_91E570); diff --git a/src/world/area_iwa/iwa_11.c b/src/world/area_iwa/iwa_11.c new file mode 100644 index 0000000000..fd46280275 --- /dev/null +++ b/src/world/area_iwa/iwa_11.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_iwa/iwa_11", func_80240000_9269F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_11", func_80240020_9269F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_11", func_802401B0_9269F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_11", func_80240208_9269F0); + +INCLUDE_ASM(s32, "world/area_iwa/iwa_11", func_80240280); diff --git a/src/world/area_jan/jan_00.c b/src/world/area_jan/jan_00.c new file mode 100644 index 0000000000..d8a49e4170 --- /dev/null +++ b/src/world/area_jan/jan_00.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240000_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240124_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_8024030C_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240340_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802403F4_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802404A8_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_8024050C_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240568_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240738_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_8024078C); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802407C4_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240860); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240950_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240ADC); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240B20_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240B4C_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240CF8_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80240F14); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80241134_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802411A0_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802411EC); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80241338); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802415B0_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80241654_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802416F8); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80241868); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_80241960_B20540); + +INCLUDE_ASM(s32, "world/area_jan/jan_00", func_802419D0_B20540); diff --git a/src/world/area_jan/jan_01.c b/src/world/area_jan/jan_01.c new file mode 100644 index 0000000000..8cad803657 --- /dev/null +++ b/src/world/area_jan/jan_01.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240000_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240124_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_8024030C_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240340_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240570_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_802408A8); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240968); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240B0C_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240BEC_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240EEC_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80240F30_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80241154_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80241170); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80241190_B28030); + +INCLUDE_ASM(s32, "world/area_jan/jan_01", func_80241200_B28030); diff --git a/src/world/area_jan/jan_02.c b/src/world/area_jan/jan_02.c new file mode 100644 index 0000000000..472465c5e0 --- /dev/null +++ b/src/world/area_jan/jan_02.c @@ -0,0 +1,107 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240000_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240030_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240154_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_8024033C_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240360_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802403F8_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240430); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240588); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240830_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802408F0_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240AAC_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240B60_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240BD4_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240C4C_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240D7C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240E9C_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240F04_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80240FC4); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802412C0_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_8024131C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802414EC_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241540_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241578); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241614_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802416C8_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_8024172C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241740); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241750); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241974); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802419C0_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802419E0); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241A40); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241B8C_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241D00_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241D84_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80241F9C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242050_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242084_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242104_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_8024211C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242138); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242150_B2C470); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242180); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802421F4); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242294); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242430); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242494); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242524); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_8024260C); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242678); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802426A8); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_802426E0); + +INCLUDE_ASM(s32, "world/area_jan/jan_02", func_80242750); diff --git a/src/world/area_jan/jan_03.c b/src/world/area_jan/jan_03.c new file mode 100644 index 0000000000..7a35245b60 --- /dev/null +++ b/src/world/area_jan/jan_03.c @@ -0,0 +1,149 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240000_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240020_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240034_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802400F0_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802401D0_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024023C_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802402E0_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240404_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802405EC_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240620); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240778); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240A20); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240AE0_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240C9C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240D50_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240DC4_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240E3C_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80240F6C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024108C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802410F4); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802411B4_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802414B0_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802414D0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802414F8_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241574); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802415F4); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241624); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241650_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241670); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802416C4_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241740_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241774_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802417A4_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802417AC_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241808); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802419D8); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241A2C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241A64_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241B00); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241B9C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241C50); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241CB4); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241CC8_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241CD8); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241EFC); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241F48); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241F68); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80241FC8_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242114); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242288); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024230C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242524_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802425D8_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024260C_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024268C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802426A4_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802426C0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802426D8); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242708_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024277C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_8024281C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802429B8); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242A1C_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242AAC); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242B94); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242C00); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242C30); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242D20); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242EAC_B34BD0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242EF0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242F1C); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80242FA0); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_80243050); + +INCLUDE_ASM(s32, "world/area_jan/jan_03", func_802430C0); diff --git a/src/world/area_jan/jan_04.c b/src/world/area_jan/jan_04.c new file mode 100644 index 0000000000..908caace81 --- /dev/null +++ b/src/world/area_jan/jan_04.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240000_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240040_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240164_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240350_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240404_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240468); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_802405B8_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240610_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_802407A0_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240810_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_802409E0_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240A80_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240B48_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240BE8_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240D0C); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240D80); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240DF0_B44770); + +INCLUDE_ASM(s32, "world/area_jan/jan_04", func_80240FC0); diff --git a/src/world/area_jan/jan_05.c b/src/world/area_jan/jan_05.c new file mode 100644 index 0000000000..1fff78a4d4 --- /dev/null +++ b/src/world/area_jan/jan_05.c @@ -0,0 +1,61 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240000_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240040_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240164_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240350_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802404A0_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240510_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802406DC); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240738_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802407F0_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802408A4_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240AD4_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240E0C); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80240ECC_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241070); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241150); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241450); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241494_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802416B8); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241708_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802418CC_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241938); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802419A8); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241A80); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241AD4); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241C88_B4AA70); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80241EE8); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_8024219C); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_80242450); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_802424C0); + +INCLUDE_ASM(s32, "world/area_jan/jan_05", func_8024268C_B4AA70); diff --git a/src/world/area_jan/jan_06.c b/src/world/area_jan/jan_06.c new file mode 100644 index 0000000000..c86f51375d --- /dev/null +++ b/src/world/area_jan/jan_06.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240000_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240124_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240310_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802403B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240500_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240570_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240740); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240970_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240CA8_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", delete_player_actor_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240F0C_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80240FEC_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802412EC); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241330_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241554_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241608_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241658_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_8024181C_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241888_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802418F8); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802419D0_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241A24); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241BD8_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80241E38); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802420EC_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_802423A0_B52830); + +INCLUDE_ASM(s32, "world/area_jan/jan_06", func_80242410_B52830); diff --git a/src/world/area_jan/jan_07.c b/src/world/area_jan/jan_07.c new file mode 100644 index 0000000000..4e60efb574 --- /dev/null +++ b/src/world/area_jan/jan_07.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240000_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240050_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240214); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240280_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_802402F0_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_802403C8); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_8024041C_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_802405D0_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240830_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240AE4_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240DA0_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240E10); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80240FE0_B59870); + +INCLUDE_ASM(s32, "world/area_jan/jan_07", func_80241050_B59870); diff --git a/src/world/area_jan/jan_08.c b/src/world/area_jan/jan_08.c new file mode 100644 index 0000000000..e72269c806 --- /dev/null +++ b/src/world/area_jan/jan_08.c @@ -0,0 +1,75 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240000_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240124_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240310_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240380_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_8024054C); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802405A8_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240660_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_8024067C_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_8024069C_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802406C8_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240734_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240780_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_8024082C_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240A7C_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240AA8_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240AE0_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240B70); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240BA4); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240C08_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80240C60_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241198); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802412D8); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241320_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241368_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802413A0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241454_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802414A4); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241668_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802416D4_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241744_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_8024181C_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241870_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241A24_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241C84); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80241F38); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_802421F0_B5E2B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_08", func_80242260); diff --git a/src/world/area_jan/jan_09.c b/src/world/area_jan/jan_09.c new file mode 100644 index 0000000000..9bdd9d5fe9 --- /dev/null +++ b/src/world/area_jan/jan_09.c @@ -0,0 +1,49 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240000_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240020_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240034_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_802400F0_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_802401D0_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_8024023C_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_802402E0_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240404_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_802405F0_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240660_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_8024082C_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240888_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240940_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240990_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240B54_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240BC0_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240C30); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240D08_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240D5C_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80240F10_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80241170_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80241424_B65AB0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_802416E0); + +INCLUDE_ASM(s32, "world/area_jan/jan_09", func_80241750_B65AB0); diff --git a/src/world/area_jan/jan_10.c b/src/world/area_jan/jan_10.c new file mode 100644 index 0000000000..aaa3c4c6e5 --- /dev/null +++ b/src/world/area_jan/jan_10.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240000_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240124_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240310_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240540_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240878_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240938); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240ADC_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", delete_actor_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240EBC); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80240F00); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80241130_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80241280); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_802412F0); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_802414BC); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80241500_B6C390); + +INCLUDE_ASM(s32, "world/area_jan/jan_10", func_80241570_B6C390); diff --git a/src/world/area_jan/jan_11.c b/src/world/area_jan/jan_11.c new file mode 100644 index 0000000000..260d4c1467 --- /dev/null +++ b/src/world/area_jan/jan_11.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240000_B70860); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240158_B70860); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240178_B70860); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_8024018C); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240248); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240328); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240394_B70860); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_80240438); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_802407B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_11", func_802407DC); diff --git a/src/world/area_jan/jan_12.c b/src/world/area_jan/jan_12.c new file mode 100644 index 0000000000..7c526eb5f8 --- /dev/null +++ b/src/world/area_jan/jan_12.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240000_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802400F8); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240170_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802401CC_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240280_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802402F0_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802404C0_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240510_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802406D4_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240740_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802407B0_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240888_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_802408DC_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240A90); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240CF0_B730B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_12", func_80240FA4); diff --git a/src/world/area_jan/jan_13.c b/src/world/area_jan/jan_13.c new file mode 100644 index 0000000000..3ed6472bb0 --- /dev/null +++ b/src/world/area_jan/jan_13.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_80240000_B767B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_802401AC_B767B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_80240214_B767B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_802402B8_B767B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_80240390_B767B0); + +INCLUDE_ASM(s32, "world/area_jan/jan_13", func_80240400_B767B0); diff --git a/src/world/area_jan/jan_14.c b/src/world/area_jan/jan_14.c new file mode 100644 index 0000000000..3eef209dcd --- /dev/null +++ b/src/world/area_jan/jan_14.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240000_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802400F8_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240170_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802401CC_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240280_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802402F0_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802404C0_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802406F0_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240A28_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240AE8); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240C8C); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_80240D6C); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_8024106C_B7A050); + +INCLUDE_ASM(s32, "world/area_jan/jan_14", func_802410B0); diff --git a/src/world/area_jan/jan_15.c b/src/world/area_jan/jan_15.c new file mode 100644 index 0000000000..597903b0d0 --- /dev/null +++ b/src/world/area_jan/jan_15.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_15", func_80240000_B7D920); + +INCLUDE_ASM(s32, "world/area_jan/jan_15", func_802400C0_B7D920); + +INCLUDE_ASM(s32, "world/area_jan/jan_15", func_80240130); diff --git a/src/world/area_jan/jan_16.c b/src/world/area_jan/jan_16.c new file mode 100644 index 0000000000..2b1a91a5f0 --- /dev/null +++ b/src/world/area_jan/jan_16.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_16", func_80240000_B80000); + +INCLUDE_ASM(s32, "world/area_jan/jan_16", func_80240124_B80000); + +INCLUDE_ASM(s32, "world/area_jan/jan_16", func_80240300_B80000); + +INCLUDE_ASM(s32, "world/area_jan/jan_16", func_80240370_B80000); diff --git a/src/world/area_jan/jan_17.c b/src/world/area_jan/jan_17.c new file mode 100644 index 0000000000..512adce213 --- /dev/null +++ b/src/world/area_jan/jan_17.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_17", func_80240000_B837C0); diff --git a/src/world/area_jan/jan_19.c b/src/world/area_jan/jan_19.c new file mode 100644 index 0000000000..a73ed94083 --- /dev/null +++ b/src/world/area_jan/jan_19.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_19", func_80240000_B83E60); diff --git a/src/world/area_jan/jan_22.c b/src/world/area_jan/jan_22.c new file mode 100644 index 0000000000..edc85da2c2 --- /dev/null +++ b/src/world/area_jan/jan_22.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240000_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240158_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240400_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_802404C0_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_8024067C_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240730_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_802407A4_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_8024081C_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_8024094C_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240A6C_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240AD4_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240B94_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240E90_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240F44_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240FA8); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240FC4_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80240FE0_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241020_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_802410C4); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241168); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_802412E0_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_802413D0); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241440_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_8024160C); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241668_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241720_B84180); + +INCLUDE_ASM(s32, "world/area_jan/jan_22", func_80241790); diff --git a/src/world/area_kgr/kgr_01.c b/src/world/area_kgr/kgr_01.c new file mode 100644 index 0000000000..fc5e8fea86 --- /dev/null +++ b/src/world/area_kgr/kgr_01.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kgr/kgr_01", func_80240000_8A9A10); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_01", func_80240160); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_01", func_80240354); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_01", func_802403E0); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_01", func_80240500); diff --git a/src/world/area_kgr/kgr_02.c b/src/world/area_kgr/kgr_02.c new file mode 100644 index 0000000000..9f11423ebf --- /dev/null +++ b/src/world/area_kgr/kgr_02.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kgr/kgr_02", func_80240000_8AA450); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_02", func_80240160_8AA450); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_02", func_80240730); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_02", func_80240748_8AA450); + +INCLUDE_ASM(s32, "world/area_kgr/kgr_02", func_80240760_8AA450); diff --git a/src/world/area_kkj/kkj_00.c b/src/world/area_kkj/kkj_00.c new file mode 100644 index 0000000000..0344443a34 --- /dev/null +++ b/src/world/area_kkj/kkj_00.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240000_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240040_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_802400B0_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240208_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_802404B0_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240570_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_8024072C_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_802407E0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240854_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_802408CC); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_802409FC_ABB290); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240B1C); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240B84); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240C44); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_00", func_80240F40_ABB290); diff --git a/src/world/area_kkj/kkj_01.c b/src/world/area_kkj/kkj_01.c new file mode 100644 index 0000000000..2bf36dbfbc --- /dev/null +++ b/src/world/area_kkj/kkj_01.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240000_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240158_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240400_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_802404C0_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_8024067C_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240730_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_802407A4_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_8024081C_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_8024094C_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240A6C_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240AD4_AC5170); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_01", func_80240B94_AC5170); diff --git a/src/world/area_kkj/kkj_03.c b/src/world/area_kkj/kkj_03.c new file mode 100644 index 0000000000..9d4da83f57 --- /dev/null +++ b/src/world/area_kkj/kkj_03.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_03", func_80240000_AC9710); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_03", func_80240020_AC9710); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_03", func_80240144_AC9710); diff --git a/src/world/area_kkj/kkj_10.c b/src/world/area_kkj/kkj_10.c new file mode 100644 index 0000000000..e54dd0e26c --- /dev/null +++ b/src/world/area_kkj/kkj_10.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240000_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240034_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240070_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_802400B0_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_802402C0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_8024036C_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240644_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240728_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_802408A0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240AB0_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240B5C_ACAB20); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240E34); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240F18); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240F44); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_10", func_80240F60); diff --git a/src/world/area_kkj/kkj_11.c b/src/world/area_kkj/kkj_11.c new file mode 100644 index 0000000000..45b916ecd7 --- /dev/null +++ b/src/world/area_kkj/kkj_11.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240000_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240034_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240070_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_802400B0_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_802402C0_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_8024036C_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240644_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240728_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_802408A0_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240AB0_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240B5C_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240E34_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240F18_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240F44_ACE140); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_11", func_80240F60_ACE140); diff --git a/src/world/area_kkj/kkj_12.c b/src/world/area_kkj/kkj_12.c new file mode 100644 index 0000000000..bf42b567a4 --- /dev/null +++ b/src/world/area_kkj/kkj_12.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240000_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240034_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240070_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240280_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_8024032C_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240604_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_802406E8_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240714_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_80240730_AD4090); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_12", func_8024089C); diff --git a/src/world/area_kkj/kkj_13.c b/src/world/area_kkj/kkj_13.c new file mode 100644 index 0000000000..fd3389dc96 --- /dev/null +++ b/src/world/area_kkj/kkj_13.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_80240000_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_80240020_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_80240144_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_80240330_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_80240390_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_802403F0_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_8024046C_AD5ED0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_13", func_802404E0_AD5ED0); diff --git a/src/world/area_kkj/kkj_14.c b/src/world/area_kkj/kkj_14.c new file mode 100644 index 0000000000..7476ab0f3a --- /dev/null +++ b/src/world/area_kkj/kkj_14.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_80240000_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_80240050_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_80240174_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_8024035C_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_80240384_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_802403A0_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_802403CC_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_802403F8_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_80240480_ADAEA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_14", func_8024049C_ADAEA0); diff --git a/src/world/area_kkj/kkj_15.c b/src/world/area_kkj/kkj_15.c new file mode 100644 index 0000000000..23541939ff --- /dev/null +++ b/src/world/area_kkj/kkj_15.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_80240000_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_80240124_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_8024030C_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_80240340_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_80240500_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_802405D0_AE5590); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_15", func_802405EC_AE5590); diff --git a/src/world/area_kkj/kkj_16.c b/src/world/area_kkj/kkj_16.c new file mode 100644 index 0000000000..0abae71dd0 --- /dev/null +++ b/src/world/area_kkj/kkj_16.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240000_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240028); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240060_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240270_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_8024031C_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_802405F4_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_802406D8); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240850); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240A60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240B0C_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240DE4); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240EC8); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240EF4_AED410); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_16", func_80240F10); diff --git a/src/world/area_kkj/kkj_17.c b/src/world/area_kkj/kkj_17.c new file mode 100644 index 0000000000..2dd9a9b206 --- /dev/null +++ b/src/world/area_kkj/kkj_17.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_80240000_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_802400B4_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_80240118_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_80240268_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_802402BC_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_80240500_AF1C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_17", func_80240568_AF1C60); diff --git a/src/world/area_kkj/kkj_18.c b/src/world/area_kkj/kkj_18.c new file mode 100644 index 0000000000..545636abaa --- /dev/null +++ b/src/world/area_kkj/kkj_18.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240000_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240124_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_8024030C_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240340_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_8024039C); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_8024056C_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_802405C0_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_802405F8_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240694_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240730_AF2CA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_18", func_80240774); diff --git a/src/world/area_kkj/kkj_19.c b/src/world/area_kkj/kkj_19.c new file mode 100644 index 0000000000..21bb250752 --- /dev/null +++ b/src/world/area_kkj/kkj_19.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240000_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240068_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802400E4); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240178); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802401FC_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802402B0_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_8024030C_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802404DC_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240530_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240568_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240604_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802406A0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_802406C4_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240B4C_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240B8C); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240BE4_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240C10); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240C4C_AF7950); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_19", func_80240CB4_AF7950); diff --git a/src/world/area_kkj/kkj_20.c b/src/world/area_kkj/kkj_20.c new file mode 100644 index 0000000000..edd135ecb5 --- /dev/null +++ b/src/world/area_kkj/kkj_20.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240000_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802400B4_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240118_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240268_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802402C0_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802402E0_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240308_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240384_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240404_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240434_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240460_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240480_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802404D4_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240550_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_80240584_AFDB40); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802405B4); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_20", func_802405BC_AFDB40); diff --git a/src/world/area_kkj/kkj_23.c b/src/world/area_kkj/kkj_23.c new file mode 100644 index 0000000000..c7d55e83dd --- /dev/null +++ b/src/world/area_kkj/kkj_23.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240000_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240020_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240048_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240080_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_802400E0_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_802402F0_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_8024039C_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240674_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240758); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240784_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_802407A0_B02880); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_80240910); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_23", func_802409AC); diff --git a/src/world/area_kkj/kkj_24.c b/src/world/area_kkj/kkj_24.c new file mode 100644 index 0000000000..68d6e9908a --- /dev/null +++ b/src/world/area_kkj/kkj_24.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_24", func_80240000_B06570); diff --git a/src/world/area_kkj/kkj_25.c b/src/world/area_kkj/kkj_25.c new file mode 100644 index 0000000000..e13bf240ff --- /dev/null +++ b/src/world/area_kkj/kkj_25.c @@ -0,0 +1,51 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240000_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240020_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240050_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240080_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_802400AC_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_802400FC_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_802401C4); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240264); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240310_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_802406EC); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240800_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_8024086C_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_8024092C); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_802409EC_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240AAC_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240B18); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240B8C_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240BA0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240C60); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240CD4); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240CE8); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240D30_B06A00); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240E54); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240EB8); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_25", func_80240F2C_B06A00); diff --git a/src/world/area_kkj/kkj_26.c b/src/world/area_kkj/kkj_26.c new file mode 100644 index 0000000000..136efbd639 --- /dev/null +++ b/src/world/area_kkj/kkj_26.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_26", func_80240000_B13120); diff --git a/src/world/area_kkj/kkj_27.c b/src/world/area_kkj/kkj_27.c new file mode 100644 index 0000000000..ac4c4662c4 --- /dev/null +++ b/src/world/area_kkj/kkj_27.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_27", func_80240000_B13D70); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_27", func_80240124_B13D70); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_27", func_80240310_B13D70); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_27", func_8024041C_B13D70); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_27", func_80240448_B13D70); diff --git a/src/world/area_kkj/kkj_29.c b/src/world/area_kkj/kkj_29.c new file mode 100644 index 0000000000..3d421a108c --- /dev/null +++ b/src/world/area_kkj/kkj_29.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kkj/kkj_29", func_80240000_B150B0); + +INCLUDE_ASM(s32, "world/area_kkj/kkj_29", func_80240030_B150B0); diff --git a/src/world/area_kmr/kmr_00.c b/src/world/area_kmr/kmr_00.c new file mode 100644 index 0000000000..db549bd43c --- /dev/null +++ b/src/world/area_kmr/kmr_00.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240000_8ABF90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240388); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802403B8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802404A0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802404E8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240530); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240584); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802405A8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802405CC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_802405F0_8ABF90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240BD8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_00", func_80240CB0); diff --git a/src/world/area_kmr/kmr_02.c b/src/world/area_kmr/kmr_02.c new file mode 100644 index 0000000000..4457075236 --- /dev/null +++ b/src/world/area_kmr/kmr_02.c @@ -0,0 +1,191 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240000_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240020_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240034_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802400F0_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802401D0_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024023C_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802402E0_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240370_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240390); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240444); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802404A8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802404BC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802404CC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802406F0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024073C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024075C_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802407BC_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240908); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240A7C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240B00_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240D18); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240DCC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240E80_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240E98); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240EB4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240ECC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240EFC_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80240F70); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241010); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802411AC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241210_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802412A0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241388_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802413F4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241424); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802414D8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802415F8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241658); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802416D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241800); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024191C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241964); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241A10); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241C18); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80241E90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242014); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242040); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024209C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024226C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802422C0_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802422F8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242394); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242424); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242514); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802426A0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802426E4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242710); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242734); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242788); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802427B0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802427CC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802427EC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024280C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242860); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024293C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024295C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242BA8_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242BC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242F08_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242F28); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80242F7C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243034); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243090_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802430B8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243134); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802431B4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802431E4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243210); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243230); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243284); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243300); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243334); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243364); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243370); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802433AC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243474); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243514); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243640); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_8024366C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802436FC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_80243760); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802437D0_8B0070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_02", func_802439A0); diff --git a/src/world/area_kmr/kmr_03.c b/src/world/area_kmr/kmr_03.c new file mode 100644 index 0000000000..72d195582d --- /dev/null +++ b/src/world/area_kmr/kmr_03.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240000_8C7F90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240184); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_802401B0_8C7F90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240218); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240320_8C7F90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_8024033C_8C7F90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240358); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240410_8C7F90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_03", func_80240480); diff --git a/src/world/area_kmr/kmr_04.c b/src/world/area_kmr/kmr_04.c new file mode 100644 index 0000000000..d6a704218c --- /dev/null +++ b/src/world/area_kmr/kmr_04.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_80240000_8CA900); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_8024002C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_80240060); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_802400D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_8024029C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_802402C8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_8024037C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_802403E0_8CA900); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_80240434); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_04", func_80240444_8CA900); diff --git a/src/world/area_kmr/kmr_05.c b/src/world/area_kmr/kmr_05.c new file mode 100644 index 0000000000..f08928be8d --- /dev/null +++ b/src/world/area_kmr/kmr_05.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240000_8CE070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_802401B0_8CE070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_802407D8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240898); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240BDC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240C54); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240CC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240DF4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80240E58); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_802411E8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_8024130C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80241500); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_80241570); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_05", func_8024173C); diff --git a/src/world/area_kmr/kmr_06.c b/src/world/area_kmr/kmr_06.c new file mode 100644 index 0000000000..e26c6f3d0c --- /dev/null +++ b/src/world/area_kmr/kmr_06.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240000_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802401B0_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802407D8_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240898_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240BDC_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240C54_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240CC0_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240DF4_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80240E58_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802411E8_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_8024130C_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80241500_8D1510); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802417A8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802417E0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80241950); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_802419EC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80241A68); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80241C78); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_06", func_80241CC8); diff --git a/src/world/area_kmr/kmr_07.c b/src/world/area_kmr/kmr_07.c new file mode 100644 index 0000000000..66aa37f7b7 --- /dev/null +++ b/src/world/area_kmr/kmr_07.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_80240000_8D3DC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802400B4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802401D4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_80240234); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802402AC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802403DC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802404F8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_80240540_8D3DC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802405EC_8D3DC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_802407F4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_07", func_80240A6C); diff --git a/src/world/area_kmr/kmr_09.c b/src/world/area_kmr/kmr_09.c new file mode 100644 index 0000000000..3e439f965a --- /dev/null +++ b/src/world/area_kmr/kmr_09.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240000_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_802401B0_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_802407D8_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240898_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240BDC_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240C54_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240CC0_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240DF4_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_80240E58_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_802411E8_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_8024130C_8D5E00); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_09", func_802414F8); diff --git a/src/world/area_kmr/kmr_10.c b/src/world/area_kmr/kmr_10.c new file mode 100644 index 0000000000..5935189a59 --- /dev/null +++ b/src/world/area_kmr/kmr_10.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_80240000_8D84D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_802400B4_8D84D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_80240118); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_80240268); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_802402BC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_80240304); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_802403D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_10", func_80240440); diff --git a/src/world/area_kmr/kmr_11.c b/src/world/area_kmr/kmr_11.c new file mode 100644 index 0000000000..f9289c6b23 --- /dev/null +++ b/src/world/area_kmr/kmr_11.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240000_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240070); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_8024023C_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_8024027C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_802402A0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240344_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240370_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240424); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240544); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_802405A4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_8024061C_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_8024074C_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240868); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_802408B0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_8024095C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240B64); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240DDC_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240EC0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240F20_8DA100); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_11", func_80240F90); diff --git a/src/world/area_kmr/kmr_12.c b/src/world/area_kmr/kmr_12.c new file mode 100644 index 0000000000..563d47f23d --- /dev/null +++ b/src/world/area_kmr/kmr_12.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_12", func_80240000_8EB360); diff --git a/src/world/area_kmr/kmr_20.c b/src/world/area_kmr/kmr_20.c new file mode 100644 index 0000000000..1382079891 --- /dev/null +++ b/src/world/area_kmr/kmr_20.c @@ -0,0 +1,141 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240000_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240030_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240050_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240064); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240120); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240200); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_8024026C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240310_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240330); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240358_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240380); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802403F0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802405BC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802406BC_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802406C8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240B20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240B48); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240B54); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240DA4_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240DD0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240DF8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240E20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80240E90); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241060_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802410D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802412A0_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802412C0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802412E8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241364); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802413E4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241414); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241440); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241460); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802414B4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241530); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241564); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241594); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_8024159C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802415C4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802415EC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241620); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802416D4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241738); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241780); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802417A0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802417B4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241870); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241950_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802419BC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241A60); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241AD0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241C9C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241CF0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241D1C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241D50); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241D70_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241D84); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241E40); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241F20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80241F8C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242030); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242084); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802420EC); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242144); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_8024216C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_802421A0_8EBE20); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242870); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242A04); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242A3C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_20", func_80242B04); diff --git a/src/world/area_kmr/kmr_21.c b/src/world/area_kmr/kmr_21.c new file mode 100644 index 0000000000..d1ba07ec0d --- /dev/null +++ b/src/world/area_kmr/kmr_21.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_80240000_8FEE80); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_80240010); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_80240210); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_80240298); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_802402B4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_21", func_802402C8_8FEE80); diff --git a/src/world/area_kmr/kmr_22.c b/src/world/area_kmr/kmr_22.c new file mode 100644 index 0000000000..4f6e258588 --- /dev/null +++ b/src/world/area_kmr/kmr_22.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240000_8FF670); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240010_8FF670); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_802401E0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240208); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240240); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240314); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240418); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_802404E4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_8024056C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240B00_8FF670); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240B3C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240B4C_8FF670); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_22", func_80240BA8_8FF670); diff --git a/src/world/area_kmr/kmr_23.c b/src/world/area_kmr/kmr_23.c new file mode 100644 index 0000000000..20dcea58bd --- /dev/null +++ b/src/world/area_kmr/kmr_23.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240000_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240010_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240040_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240274); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240300); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_802403A8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240494); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240528); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_8024061C_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_802407B8); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_8024088C_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240A00_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240BB4); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240C94); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240CA8_907A30); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240D14); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240D5C); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_23", func_80240DA4_907A30); diff --git a/src/world/area_kmr/kmr_24.c b/src/world/area_kmr/kmr_24.c new file mode 100644 index 0000000000..f38101f805 --- /dev/null +++ b/src/world/area_kmr/kmr_24.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_24", func_80240000_90B240); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_24", func_80240010_90B240); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_24", func_80240074); diff --git a/src/world/area_kmr/kmr_30.c b/src/world/area_kmr/kmr_30.c new file mode 100644 index 0000000000..c4e5103513 --- /dev/null +++ b/src/world/area_kmr/kmr_30.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kmr/kmr_30", func_80240000_90B6D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_30", func_80240124_90B6D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_30", func_80240310_90B6D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_30", func_8024045C_90B6D0); + +INCLUDE_ASM(s32, "world/area_kmr/kmr_30", func_80240488); diff --git a/src/world/area_kpa/kpa_01.c b/src/world/area_kpa/kpa_01.c new file mode 100644 index 0000000000..31f9308ee2 --- /dev/null +++ b/src/world/area_kpa/kpa_01.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_80240000_A46F60); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_80240160_A46F60); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_802401DC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_80240310_A46F60); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_80240474_A46F60); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_802404F4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_80240934); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_8024097C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_01", func_802409D4_A46F60); diff --git a/src/world/area_kpa/kpa_03.c b/src/world/area_kpa/kpa_03.c new file mode 100644 index 0000000000..9db228c437 --- /dev/null +++ b/src/world/area_kpa/kpa_03.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240000_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240160_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802401DC_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240310_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240474_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802404F4_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240934_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_8024097C_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802409D4_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240A48); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80240C18); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241128_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_8024119C_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802412C8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241368); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802413CC_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_8024150C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802416B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802416EC_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_802418AC_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241918); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241A4C_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241AB4_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241D20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241D6C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241DC4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241DFC_A485C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_03", func_80241E50); diff --git a/src/world/area_kpa/kpa_04.c b/src/world/area_kpa/kpa_04.c new file mode 100644 index 0000000000..b550c629de --- /dev/null +++ b/src/world/area_kpa/kpa_04.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_04", func_80240000_A4BF60); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_04", func_802400BC_A4BF60); diff --git a/src/world/area_kpa/kpa_08.c b/src/world/area_kpa/kpa_08.c new file mode 100644 index 0000000000..d91799b788 --- /dev/null +++ b/src/world/area_kpa/kpa_08.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240000_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_8024001C_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_802400A0_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240270); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240780); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_802407F4_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240920); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_802409C0_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240A24); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240B64_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240D08_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240D44_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240F04); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80240F70_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_802410A4_A4CA20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_8024110C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80241378); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_802413C4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_8024141C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_08", func_80241454_A4CA20); diff --git a/src/world/area_kpa/kpa_09.c b/src/world/area_kpa/kpa_09.c new file mode 100644 index 0000000000..229e48339f --- /dev/null +++ b/src/world/area_kpa/kpa_09.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_80240000_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_8024001C_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802400A0_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_80240290_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802403D4_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802404D4_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_80240518); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802405B8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802405FC_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_80240B38_A4F000); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_80240F94); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_09", func_802412B4); diff --git a/src/world/area_kpa/kpa_10.c b/src/world/area_kpa/kpa_10.c new file mode 100644 index 0000000000..b27c75ee70 --- /dev/null +++ b/src/world/area_kpa/kpa_10.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_10", func_80240000_A51980); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_10", func_80240124_A51980); diff --git a/src/world/area_kpa/kpa_100.c b/src/world/area_kpa/kpa_100.c new file mode 100644 index 0000000000..25f84ec9a4 --- /dev/null +++ b/src/world/area_kpa/kpa_100.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_100", func_80240000_A93160); diff --git a/src/world/area_kpa/kpa_101.c b/src/world/area_kpa/kpa_101.c new file mode 100644 index 0000000000..0434a9fae8 --- /dev/null +++ b/src/world/area_kpa/kpa_101.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_101", func_80240000_A93440); diff --git a/src/world/area_kpa/kpa_102.c b/src/world/area_kpa/kpa_102.c new file mode 100644 index 0000000000..e5e479c17f --- /dev/null +++ b/src/world/area_kpa/kpa_102.c @@ -0,0 +1,67 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240000_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240124_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240310_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240500_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240644_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240744); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240788); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240828); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_8024086C_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80240DA8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80241204_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80241524_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_8024155C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_802415D8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_8024170C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80241870_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_802418F0_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80241D30_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80241F00_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242410_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_8024244C_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_802425D8_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_802429C8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242ABC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242D00); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242D3C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242F08_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80242F74_A93740); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_802430A8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80243198); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80243270); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_80243504); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_102", func_8024353C); diff --git a/src/world/area_kpa/kpa_11.c b/src/world/area_kpa/kpa_11.c new file mode 100644 index 0000000000..a61e9fe973 --- /dev/null +++ b/src/world/area_kpa/kpa_11.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_80240000_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_80240124_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_80240310_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_8024038C_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_802404C0_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_80240624_A528C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_11", func_802406A4_A528C0); diff --git a/src/world/area_kpa/kpa_111.c b/src/world/area_kpa/kpa_111.c new file mode 100644 index 0000000000..9ab4e1f768 --- /dev/null +++ b/src/world/area_kpa/kpa_111.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80240000_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_802400BC_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80240170_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80240360_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_802404A4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_802405A4_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_802405E8_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80240688); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_802406CC_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80240C08_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80241064_A99590); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_111", func_80241384); diff --git a/src/world/area_kpa/kpa_113.c b/src/world/area_kpa/kpa_113.c new file mode 100644 index 0000000000..95f56ddee2 --- /dev/null +++ b/src/world/area_kpa/kpa_113.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240000_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240040_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_802400FC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_802401B0_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_8024022C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240360_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_802404C4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240544_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240984_A9CC30); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_802409CC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_113", func_80240A24_A9CC30); diff --git a/src/world/area_kpa/kpa_114.c b/src/world/area_kpa/kpa_114.c new file mode 100644 index 0000000000..1dfb0c76a8 --- /dev/null +++ b/src/world/area_kpa/kpa_114.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_114", func_80240000_A9E980); diff --git a/src/world/area_kpa/kpa_115.c b/src/world/area_kpa/kpa_115.c new file mode 100644 index 0000000000..bbbab94aeb --- /dev/null +++ b/src/world/area_kpa/kpa_115.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80240000_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_802400BC_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80240170_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80240360_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_802404A4_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_802405A4_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_802405E8_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80240688_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_802406CC_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80240C08_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80241064_A9ED40); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_115", func_80241384_A9ED40); diff --git a/src/world/area_kpa/kpa_12.c b/src/world/area_kpa/kpa_12.c new file mode 100644 index 0000000000..c5f98dc908 --- /dev/null +++ b/src/world/area_kpa/kpa_12.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_80240000_A54950); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_80240040_A54950); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_80240164_A54950); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_80240350); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_8024037C_A54950); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_12", func_80240444_A54950); diff --git a/src/world/area_kpa/kpa_13.c b/src/world/area_kpa/kpa_13.c new file mode 100644 index 0000000000..37afcb4df1 --- /dev/null +++ b/src/world/area_kpa/kpa_13.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_80240000_A55F20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_80240040_A55F20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_80240164_A55F20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_80240350_A55F20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_8024037C_A55F20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_13", func_80240444_A55F20); diff --git a/src/world/area_kpa/kpa_130.c b/src/world/area_kpa/kpa_130.c new file mode 100644 index 0000000000..d14d441ee2 --- /dev/null +++ b/src/world/area_kpa/kpa_130.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_130", func_80240000_AA2D20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_130", func_80240048_AA2D20); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_130", func_802404AC_AA2D20); diff --git a/src/world/area_kpa/kpa_133.c b/src/world/area_kpa/kpa_133.c new file mode 100644 index 0000000000..a7b5bb6605 --- /dev/null +++ b/src/world/area_kpa/kpa_133.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_133", func_80240000_AA7480); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_133", func_80240124_AA7480); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_133", func_80240310_AA7480); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_133", func_802403C0_AA7480); diff --git a/src/world/area_kpa/kpa_134.c b/src/world/area_kpa/kpa_134.c new file mode 100644 index 0000000000..f6bb481db5 --- /dev/null +++ b/src/world/area_kpa/kpa_134.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240000_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240124_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240310_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_8024033C_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240408_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240434_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240510_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240564_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_80240628_AA8FA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_134", func_8024065C); diff --git a/src/world/area_kpa/kpa_14.c b/src/world/area_kpa/kpa_14.c new file mode 100644 index 0000000000..97828aeda8 --- /dev/null +++ b/src/world/area_kpa/kpa_14.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240000_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240040_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240164_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_8024034C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240380_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240434_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240498); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_802405E8_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_8024063C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240670); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240710_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_8024073C_A574B0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_14", func_80240840); diff --git a/src/world/area_kpa/kpa_15.c b/src/world/area_kpa/kpa_15.c new file mode 100644 index 0000000000..f0f3d5dbed --- /dev/null +++ b/src/world/area_kpa/kpa_15.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_80240000_A59390); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_80240124_A59390); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_80240310_A59390); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_802403C4_A59390); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_80240428_A59390); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_15", func_80240578_A59390); diff --git a/src/world/area_kpa/kpa_16.c b/src/world/area_kpa/kpa_16.c new file mode 100644 index 0000000000..098652e937 --- /dev/null +++ b/src/world/area_kpa/kpa_16.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_16", func_80240000_A5A030); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_16", func_80240124_A5A030); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_16", func_80240310_A5A030); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_16", func_8024034C_A5A030); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_16", func_80240370_A5A030); diff --git a/src/world/area_kpa/kpa_32.c b/src/world/area_kpa/kpa_32.c new file mode 100644 index 0000000000..999ca1b909 --- /dev/null +++ b/src/world/area_kpa/kpa_32.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_32", func_80240000_A5E0C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_32", func_80240124_A5E0C0); diff --git a/src/world/area_kpa/kpa_33.c b/src/world/area_kpa/kpa_33.c new file mode 100644 index 0000000000..5c5b1e3a93 --- /dev/null +++ b/src/world/area_kpa/kpa_33.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_33", func_80240000_A5F080); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_33", func_80240124_A5F080); diff --git a/src/world/area_kpa/kpa_50.c b/src/world/area_kpa/kpa_50.c new file mode 100644 index 0000000000..c8e7423df5 --- /dev/null +++ b/src/world/area_kpa/kpa_50.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240000_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_802401F0_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240334); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240434_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240478_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240518_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_8024055C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240A98); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80240EF4_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80241214); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_8024124C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_802412C8_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_802413FC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_80241560_A609D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_50", func_802415E0_A609D0); diff --git a/src/world/area_kpa/kpa_51.c b/src/world/area_kpa/kpa_51.c new file mode 100644 index 0000000000..66549d9c96 --- /dev/null +++ b/src/world/area_kpa/kpa_51.c @@ -0,0 +1,49 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240000_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240050_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240220_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240730_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802407A4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802408D0_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240970_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802409D4_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240B14); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240CB8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240CF4_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240EB4_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80240F20_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80241054); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802410BC_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80241328); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80241374); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802413CC_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80241404_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_8024144C_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802414C8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802415FC_A64090); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_80241760); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_51", func_802417E0_A64090); diff --git a/src/world/area_kpa/kpa_52.c b/src/world/area_kpa/kpa_52.c new file mode 100644 index 0000000000..aba8ef2d86 --- /dev/null +++ b/src/world/area_kpa/kpa_52.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240000_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240034_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_802400E0_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_802402D0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240414); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240514_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240558); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_802405F8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_8024063C_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240B78); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_80240FD4_A67100); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_52", func_802412F4); diff --git a/src/world/area_kpa/kpa_53.c b/src/world/area_kpa/kpa_53.c new file mode 100644 index 0000000000..2af048a09b --- /dev/null +++ b/src/world/area_kpa/kpa_53.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_53", func_80240000_A6ACA0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_53", func_80240050_A6ACA0); diff --git a/src/world/area_kpa/kpa_60.c b/src/world/area_kpa/kpa_60.c new file mode 100644 index 0000000000..23e7e30882 --- /dev/null +++ b/src/world/area_kpa/kpa_60.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_60", func_80240000_A6CB00); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_60", func_80240034_A6CB00); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_60", func_802400E0_A6CB00); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_60", func_80240204); diff --git a/src/world/area_kpa/kpa_61.c b/src/world/area_kpa/kpa_61.c new file mode 100644 index 0000000000..d249aca96e --- /dev/null +++ b/src/world/area_kpa/kpa_61.c @@ -0,0 +1,47 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240000_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240124_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240310_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_8024038C_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_802404C0_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240624_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_802406A4_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240AE4_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80240CB4_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_802411C4_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241200_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_8024138C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_8024177C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241870_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241AB4_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241AF0_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241CBC_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241D28); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241E5C_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_80241F4C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", update_heroes_start_turn_A6E3E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_802422B8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_61", func_802422F0_A6E3E0); diff --git a/src/world/area_kpa/kpa_62.c b/src/world/area_kpa/kpa_62.c new file mode 100644 index 0000000000..e24bb7ae0c --- /dev/null +++ b/src/world/area_kpa/kpa_62.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_62", func_80240000_A72220); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_62", func_80240034_A72220); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_62", func_802400E0_A72220); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_62", func_80240204_A72220); diff --git a/src/world/area_kpa/kpa_63.c b/src/world/area_kpa/kpa_63.c new file mode 100644 index 0000000000..b072423b01 --- /dev/null +++ b/src/world/area_kpa/kpa_63.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_63", func_80240000_A735B0); diff --git a/src/world/area_kpa/kpa_70.c b/src/world/area_kpa/kpa_70.c new file mode 100644 index 0000000000..a545c34e5b --- /dev/null +++ b/src/world/area_kpa/kpa_70.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_80240000_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_80240124_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_80240310_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_8024038C_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_802404C0_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_80240624_A74870); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_70", func_802406A4_A74870); diff --git a/src/world/area_kpa/kpa_81.c b/src/world/area_kpa/kpa_81.c new file mode 100644 index 0000000000..4cef6756dc --- /dev/null +++ b/src/world/area_kpa/kpa_81.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_80240000_A784C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_80240050_A784C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_802400AC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_8024027C_A784C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_802402D0_A784C0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_80240308); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_81", func_802403A4); diff --git a/src/world/area_kpa/kpa_82.c b/src/world/area_kpa/kpa_82.c new file mode 100644 index 0000000000..3ada0945b5 --- /dev/null +++ b/src/world/area_kpa/kpa_82.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_80240000_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_80240050_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_802400AC_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_8024027C_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_802402D0_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_80240308_A7A500); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_82", func_802403A4_A7A500); diff --git a/src/world/area_kpa/kpa_83.c b/src/world/area_kpa/kpa_83.c new file mode 100644 index 0000000000..857df46797 --- /dev/null +++ b/src/world/area_kpa/kpa_83.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_83", func_80240000_A83490); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_83", func_80240050_A83490); diff --git a/src/world/area_kpa/kpa_91.c b/src/world/area_kpa/kpa_91.c new file mode 100644 index 0000000000..ba57a62553 --- /dev/null +++ b/src/world/area_kpa/kpa_91.c @@ -0,0 +1,63 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240000_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240158_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240400_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802404C0_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024067C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240730_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802407A4_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024081C_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024094C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240A6C_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240AD4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240B94); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240E90_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80240F0C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241040_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802411A4); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241224_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241528); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241548_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241570_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802415EC_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024166C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024169C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802416C8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802416E8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024173C_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802417B8); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_802417EC_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_8024181C_A86A50); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241830); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_91", func_80241864); diff --git a/src/world/area_kpa/kpa_95.c b/src/world/area_kpa/kpa_95.c new file mode 100644 index 0000000000..71027f30bb --- /dev/null +++ b/src/world/area_kpa/kpa_95.c @@ -0,0 +1,63 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240000_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240034_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802400E0_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240238); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802404E0); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802405A0_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_8024075C_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240810_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240884_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802408FC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240A2C); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240B4C_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240BB4_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240C74_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240F70_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80240FEC_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241120_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241284); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241304); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241608); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241628_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241650); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802416CC_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_8024174C_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_8024177C_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802417A8_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802417C8_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_8024181C_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_80241898_A8CA80); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802418CC); + +INCLUDE_ASM(s32, "world/area_kpa/kpa_95", func_802418FC_A8CA80); diff --git a/src/world/area_kpa/kpa_96.c b/src/world/area_kpa/kpa_96.c new file mode 100644 index 0000000000..83be8d45f0 --- /dev/null +++ b/src/world/area_kpa/kpa_96.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kpa/kpa_96", func_80240000_A927C0); diff --git a/src/world/area_kzn/kzn_01.c b/src/world/area_kzn/kzn_01.c new file mode 100644 index 0000000000..b027a227b1 --- /dev/null +++ b/src/world/area_kzn/kzn_01.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_01", func_80240000_C599D0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_01", func_80240124_C599D0); diff --git a/src/world/area_kzn/kzn_02.c b/src/world/area_kzn/kzn_02.c new file mode 100644 index 0000000000..58a4a2a582 --- /dev/null +++ b/src/world/area_kzn/kzn_02.c @@ -0,0 +1,67 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240000_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240124_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240310_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240384_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802403B0_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802403DC_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802404E0_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240690_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240CB8_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80240D78); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802410BC_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241134_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802411A0_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802412D4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241338_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802416C8_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802417EC_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802419D8_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241B08_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241D88); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241DE4_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80241FCC_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242080_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802420E4_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242140); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242310); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242364); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_8024239C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242438_C5A740); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242528); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802426B4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_802426F8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_02", func_80242730_C5A740); diff --git a/src/world/area_kzn/kzn_03.c b/src/world/area_kzn/kzn_03.c new file mode 100644 index 0000000000..61d053eb90 --- /dev/null +++ b/src/world/area_kzn/kzn_03.c @@ -0,0 +1,87 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240000_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240124_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240310_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_8024038C_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_802404C0_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240624_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_802406A4_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240AE4_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240B2C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240B84_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240BF8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240C64_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240CD4_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240DAC_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240E00_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80240FB4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80241214_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_802414C8_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80241534); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80241630_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242070_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242100); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242200_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242260_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_8024234C_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_8024259C_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242650); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_802426B4_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242710_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_802428E0_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242934); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_8024296C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242A08); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242AF8_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242C84); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242CC8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242D00_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242D1C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242D38); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242DB0_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242E54); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80242EF8_C60D10); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_03", func_80243070_C60D10); diff --git a/src/world/area_kzn/kzn_04.c b/src/world/area_kzn/kzn_04.c new file mode 100644 index 0000000000..9ee1404ca1 --- /dev/null +++ b/src/world/area_kzn/kzn_04.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240000_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240124_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240310_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_8024032C_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_8024034C_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240378); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_802403E4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240430_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_802404DC_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_8024072C_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240758_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240790_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240820_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240854_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_802408B8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240910_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240E48_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240F88_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80240FD0_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80241018); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80241050_C68130); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_04", func_80241644); diff --git a/src/world/area_kzn/kzn_05.c b/src/world/area_kzn/kzn_05.c new file mode 100644 index 0000000000..3afa189a21 --- /dev/null +++ b/src/world/area_kzn/kzn_05.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_05", func_80240000_C6C0D0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_05", func_80240124_C6C0D0); diff --git a/src/world/area_kzn/kzn_06.c b/src/world/area_kzn/kzn_06.c new file mode 100644 index 0000000000..1895bca3ec --- /dev/null +++ b/src/world/area_kzn/kzn_06.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_80240000_C6C920); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_80240124_C6C920); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_80240310_C6C920); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_802403F0_C6C920); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_80240738_C6C920); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_802407FC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_06", func_80240A44_C6C920); diff --git a/src/world/area_kzn/kzn_07.c b/src/world/area_kzn/kzn_07.c new file mode 100644 index 0000000000..366488d27f --- /dev/null +++ b/src/world/area_kzn/kzn_07.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240000_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240348_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_8024040C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240530_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240720_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802407F4_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240820_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802409D0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80240FF8_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802410B8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802413FC_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241474_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802414E0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241614_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241678_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241A08_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241B2C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241D18); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80241E48_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_802420C8_C6E330); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_07", func_80242124); diff --git a/src/world/area_kzn/kzn_08.c b/src/world/area_kzn/kzn_08.c new file mode 100644 index 0000000000..c41c5f6e15 --- /dev/null +++ b/src/world/area_kzn/kzn_08.c @@ -0,0 +1,81 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240000_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240348_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_8024040C_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240530_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240718); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240790_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240844_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802408A8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802409F8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240A50_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80240C00_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241228); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802412E8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_8024162C_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802416A4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241710); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241844); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802418A8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241C38); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241D5C_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80241F48_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242078_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802422F8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242354); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_8024253C_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802425A8_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242618_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802426F0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242744); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802428F8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242B58); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242E0C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242E78_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80242F74_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_802439B4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80243A44); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80243B44); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80243BA4_C71480); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80243C90); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_08", func_80243EE0); diff --git a/src/world/area_kzn/kzn_09.c b/src/world/area_kzn/kzn_09.c new file mode 100644 index 0000000000..5ecb1576f8 --- /dev/null +++ b/src/world/area_kzn/kzn_09.c @@ -0,0 +1,113 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240000_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024001C_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024003C_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240068_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802400D4_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240120_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802401CC_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024041C_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240448_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240480_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240510_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240544_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802405A8_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240600_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240B38_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240C78_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240CC0_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240D08_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240D40_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240DE4_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80240E88); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80241000_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80241020_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024108C_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802410FC_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802411D4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80241228_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802413DC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024163C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802418F0_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024195C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80241A58_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242498_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242528_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242628); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242688); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242774); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802429C4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242A40); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242B74); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242CD8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80242D58); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243198_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802431E0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243238_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802432AC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243360); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802433C4_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243420); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802435F0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243644_C76CE0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_8024367C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243718); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243808); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_80243994); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_09", func_802439D8_C76CE0); diff --git a/src/world/area_kzn/kzn_10.c b/src/world/area_kzn/kzn_10.c new file mode 100644 index 0000000000..615ba81241 --- /dev/null +++ b/src/world/area_kzn/kzn_10.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240000_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240124_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_8024030C_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240330_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240350_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_8024037C_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240414_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_802404B4_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_802404EC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_802405A4_C7E180); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_10", func_80240638); diff --git a/src/world/area_kzn/kzn_11.c b/src/world/area_kzn/kzn_11.c new file mode 100644 index 0000000000..601e49bf34 --- /dev/null +++ b/src/world/area_kzn/kzn_11.c @@ -0,0 +1,45 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240000_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240124_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240310_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240408_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240434_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240460_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240610_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240C38_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80240CF8_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_8024103C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_802410B4_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241120_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241254); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_802412B8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241648_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_8024176C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241958); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241A88); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241D08_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241D64); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80241F4C_C801A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_11", func_80242540_C801A0); diff --git a/src/world/area_kzn/kzn_17.c b/src/world/area_kzn/kzn_17.c new file mode 100644 index 0000000000..6b83a929bb --- /dev/null +++ b/src/world/area_kzn/kzn_17.c @@ -0,0 +1,89 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240000_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240124_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240310_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_8024037C_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802403EC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802404C4_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240518_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802406CC_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_8024092C_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240BE0_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240C4C_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80240D48); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241788_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241818_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241918_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241978_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241A64_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241CB4_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241D30_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241E64); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80241FC8_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242048); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242488_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802424D0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242528_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_8024259C_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242650_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802426B4_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242710_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_802428E0_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242934_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_8024296C_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242A08_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242AF8_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242C84_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242CC8_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242D00_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242D20_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242D4C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242DE4); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242E84_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242EBC_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80242F74_C85AB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_17", func_80243004); diff --git a/src/world/area_kzn/kzn_18.c b/src/world/area_kzn/kzn_18.c new file mode 100644 index 0000000000..604a71a8cf --- /dev/null +++ b/src/world/area_kzn/kzn_18.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_80240000_C8C0A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_80240040_C8C0A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_80240164_C8C0A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_80240350_C8C0A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_8024036C_C8C0A0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_18", func_80240388_C8C0A0); diff --git a/src/world/area_kzn/kzn_19.c b/src/world/area_kzn/kzn_19.c new file mode 100644 index 0000000000..6d2f1d77ce --- /dev/null +++ b/src/world/area_kzn/kzn_19.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240000_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240124_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_8024030C_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240358_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802404B8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802408C8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240908_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240A14_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240B00_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240BD4_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240CD8); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240DA4_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80240E2C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802413C0_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802413FC_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_8024140C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241468); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_8024151C); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241580); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802415DC); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802417AC_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241800_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241838); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802418D4_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_802419C4_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241B50_C8DBB0); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241B94); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_19", func_80241BC0); diff --git a/src/world/area_kzn/kzn_20.c b/src/world/area_kzn/kzn_20.c new file mode 100644 index 0000000000..4acc8f7669 --- /dev/null +++ b/src/world/area_kzn/kzn_20.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240000_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240124_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240310_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_802403C4_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240428_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240484_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240654_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_802406A8_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_802406E0_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_8024077C_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_8024086C_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_802409F8_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240A3C_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240A68_C95F30); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_20", func_80240A8C_C95F30); diff --git a/src/world/area_kzn/kzn_22.c b/src/world/area_kzn/kzn_22.c new file mode 100644 index 0000000000..4c909cd610 --- /dev/null +++ b/src/world/area_kzn/kzn_22.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_22", func_80240000_C9A200); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_22", func_80240124_C9A200); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_22", func_8024030C_C9A200); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_22", func_80240340_C9A200); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_22", func_8024036C_C9A200); diff --git a/src/world/area_kzn/kzn_23.c b/src/world/area_kzn/kzn_23.c new file mode 100644 index 0000000000..166c27604c --- /dev/null +++ b/src/world/area_kzn/kzn_23.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240000_C9C300); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240124_C9C300); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240310_C9C300); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_802403D8_C9C300); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240478_C9C300); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240504); + +INCLUDE_ASM(s32, "world/area_kzn/kzn_23", func_80240520_C9C300); diff --git a/src/world/area_mac/mac_00.c b/src/world/area_mac/mac_00.c new file mode 100644 index 0000000000..5a0fa8ed06 --- /dev/null +++ b/src/world/area_mac/mac_00.c @@ -0,0 +1,165 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240000_7EAD10); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240020); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240034); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802400F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802401D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024023C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802402E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240404); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802405EC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240624); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240630); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802406E4); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240748); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024075C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024076C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240990); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802409DC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802409FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240A5C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240BA8); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240D1C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240DA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80240FB8); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024106C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802410A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241120); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241138); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241154); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024116C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024119C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241210); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802412B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024144C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802414B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241540); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241628); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241694); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802416C4); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241720); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802418F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241944); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024197C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241A18); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241AB4); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241BA4); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241D30); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241D74); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241DA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241E04); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241E80); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80241FF0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242078); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242178); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802421D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242224); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242250); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024228C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802422C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802423F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242570); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802426C8); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242970); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242A30); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242BEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242CA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242D14); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242D8C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242EBC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80242FDC); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243044); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243104); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243400); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802434B4); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243518); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243574); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243744); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243798); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_802437D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024386C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_8024395C); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243AE8); + +INCLUDE_ASM(s32, "world/area_mac/mac_00", func_80243B2C); diff --git a/src/world/area_mac/mac_01.c b/src/world/area_mac/mac_01.c new file mode 100644 index 0000000000..f5e98436fe --- /dev/null +++ b/src/world/area_mac/mac_01.c @@ -0,0 +1,235 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240000_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240044); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802400C8_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802403C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802405E8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240628); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240E80); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240ED8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80240F50); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241080); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802411D8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241480); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241540_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802416FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802417B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241824); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024189C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802419CC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241AEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241B54); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241C14); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241F10); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80241FC4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242028); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024203C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024204C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242270); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802422BC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802422DC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024233C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242488); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802425FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242680); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242898); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024294C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242980); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242A00); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242A18); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242A34); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242A4C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242A7C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242AF0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242B90); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242D2C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242D90); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242E20); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242F08); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242F74); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80242FA4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243380_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243494); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243500); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802435C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243680); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243740); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802437AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802437CC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", pause_tutorial_draw_contents_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243870); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802438F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243920); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024394C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024396C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802439C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243A3C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243A70); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243AA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243AA8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243B04); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243CD4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243D28); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243D60); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243DFC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80243EEC_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244078); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802440BC_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802440E8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802440FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802441EC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244308); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802443E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802446AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802446E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802447E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244848); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802448A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244984); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802449F8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", pause_tabs_draw_stats_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", pause_tabs_draw_badges_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244D68); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244E10); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244E90); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80244F5C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245018); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245028); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024522C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245440_800880); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245488); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802454B4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245504); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_8024552C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245550); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802456A8); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245950); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245A10); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245BCC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245C80); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245CF4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245D6C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245E9C); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80245FBC); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80246024); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802460E4); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_802463E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80246490); + +INCLUDE_ASM(s32, "world/area_mac/mac_01", func_80246500); diff --git a/src/world/area_mac/mac_02.c b/src/world/area_mac/mac_02.c new file mode 100644 index 0000000000..15f61ce70c --- /dev/null +++ b/src/world/area_mac/mac_02.c @@ -0,0 +1,137 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240000_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240020_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240034_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802400F0_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802401D0_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_8024023C_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802402E0_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240404_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802405F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802406B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240720); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802408F0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240930); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240A88); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240D30); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240DF0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80240FAC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241060); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802410D4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_8024114C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_8024127C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_8024139C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241404); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802414C4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802417C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241874); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802418D8); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802418EC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802418FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241B20); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241B6C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241B8C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241BEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241D38); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241EAC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80241F30); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242148); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802421FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242230); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802422B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802422C8); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802422E4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802422FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_8024232C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802423A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242440); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802425DC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242640); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802426D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802427B8); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242824); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242854); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802428B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242A80); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242AD4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242B0C); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242BA8_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242C44); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242DBC); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80242F60); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80243040); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80243088); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802430D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80243104_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802431F4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_80243380_8232C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802433C4); + +INCLUDE_ASM(s32, "world/area_mac/mac_02", func_802433F0); diff --git a/src/world/area_mac/mac_03.c b/src/world/area_mac/mac_03.c new file mode 100644 index 0000000000..3130666517 --- /dev/null +++ b/src/world/area_mac/mac_03.c @@ -0,0 +1,121 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240000_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240020_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240034_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802400F0_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802401D0_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_8024023C_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802402E0_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240320); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802404B0_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240564); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802405C8); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802405DC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802405EC_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240810); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_8024085C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_8024087C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802408DC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240A28); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240B9C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240C20); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240E38); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240EEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240F20); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240FA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240FB8_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240FD4); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80240FEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_8024101C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241090); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241130); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802412CC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241330); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802413C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802414A8); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241514); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241544); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802415A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241770); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802417C4); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802417FC); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241898); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241988); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241B14_831800); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241B58); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241B84); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241BD8); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241D00); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241D70); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241F40); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241F6C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241F80); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80241FA0); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_8024206C); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802421E8); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80242384); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802424A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802425A8); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80242608); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_80242694); + +INCLUDE_ASM(s32, "world/area_mac/mac_03", func_802427D0); diff --git a/src/world/area_mac/mac_04.c b/src/world/area_mac/mac_04.c new file mode 100644 index 0000000000..7d6e3778e3 --- /dev/null +++ b/src/world/area_mac/mac_04.c @@ -0,0 +1,115 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240000_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240050); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240194); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802401C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240220); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240290); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240460); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240514); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240578); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024058C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024059C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802407C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024080C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024082C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024088C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802409D8); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240B4C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240DE8); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240E9C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240ED0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240F50_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240F68); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240F84); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240F9C); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80240FCC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241040); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802410E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_8024127C_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802412E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241370); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241458); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802414C4_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802414F4); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241550); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241720_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241774); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802417AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241848); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802418AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241944_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241980); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802419AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802419D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_802419E4); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241A64); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241B90); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241BB8); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241C20); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241C40); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241C60); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241C90); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241CEC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241D30_842BD0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241DAC); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241EB0); + +INCLUDE_ASM(s32, "world/area_mac/mac_04", func_80241EF0); diff --git a/src/world/area_mac/mac_05.c b/src/world/area_mac/mac_05.c new file mode 100644 index 0000000000..4982e5f045 --- /dev/null +++ b/src/world/area_mac/mac_05.c @@ -0,0 +1,151 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240000_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240124); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024030C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024047C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240490); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802405E8_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240890); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240950); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240B0C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240BC0); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240C34); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240CAC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240DDC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240EFC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80240F64); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241024); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241320); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802413D4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241438); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024144C_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024145C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241680); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802416CC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802416EC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024174C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241898_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241A0C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241A90); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241CA8); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241D5C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241D90); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241E10); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241E28); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241E44); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241E5C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241E8C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241F00); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80241FA0_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024213C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802421A0); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242230_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242318); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242384_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802423B4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242410); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802425E0); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242634); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024266C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242708); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802427A4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242894); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242A20); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242A64); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242A90); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242C78); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80242E84); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243088_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802430B4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802431B0); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243254); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024335C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243380_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802433BC); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802433F0_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_8024343C); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243588); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243800); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_802438A4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243948); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243AB8); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243BA4); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243CD4_852170); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243D78); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243DB0); + +INCLUDE_ASM(s32, "world/area_mac/mac_05", func_80243F0C); diff --git a/src/world/area_mac/mac_06.c b/src/world/area_mac/mac_06.c new file mode 100644 index 0000000000..fb7440e784 --- /dev/null +++ b/src/world/area_mac/mac_06.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240000_864B40); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240124_864B40); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_8024030C_864B40); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_8024047C_864B40); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_802404C0); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_8024050C); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240658); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_802408D0); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240974); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240A18); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240B88); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240C74); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240DA4); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240E48); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80240E80_864B40); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80241098); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80241290); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_802412AC); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_80241388); + +INCLUDE_ASM(s32, "world/area_mac/mac_06", func_802415FC); diff --git a/src/world/area_mac/machi.c b/src/world/area_mac/machi.c new file mode 100644 index 0000000000..aa157eb1e2 --- /dev/null +++ b/src/world/area_mac/machi.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240000); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240030); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240038); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240040); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240048); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_802400C8); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240114); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_802401B0); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_802402EC); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240318); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240344); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_802403A0); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_80240410); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_8024045C); + +INCLUDE_ASM(s32, "world/area_mac/machi", func_802404B0); diff --git a/src/world/area_mgm/mgm_00.c b/src/world/area_mgm/mgm_00.c new file mode 100644 index 0000000000..2b44c1434a --- /dev/null +++ b/src/world/area_mgm/mgm_00.c @@ -0,0 +1,47 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240000_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240020_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240034_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802400F0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802401D0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_8024023C_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802402E0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240438_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802406E0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802407A0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_8024095C_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240A10_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240A84_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240AFC); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240C2C_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240D4C); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240DB4); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80240E74); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80241170_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802411E0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_80241540_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802416C0_E0E7A0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_00", func_802416F8_E0E7A0); diff --git a/src/world/area_mgm/mgm_01.c b/src/world/area_mgm/mgm_01.c new file mode 100644 index 0000000000..80e8ee2acd --- /dev/null +++ b/src/world/area_mgm/mgm_01.c @@ -0,0 +1,61 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240000_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802401D0_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802403C4_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802403FC_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240438_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_8024045C_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_8024050C_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_8024058C_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802406C4_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802407E4_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_8024084C_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802408EC); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240AAC_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240BF4_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240C54_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240CD0_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240D84_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240DB8); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240ECC_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80240F90_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241090_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241234); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241510_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241574_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802415EC_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241690_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802416CC_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_802416F8_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241760_E12760); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_01", func_80241780_E12760); diff --git a/src/world/area_mgm/mgm_02.c b/src/world/area_mgm/mgm_02.c new file mode 100644 index 0000000000..9a214ad3fe --- /dev/null +++ b/src/world/area_mgm/mgm_02.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240000_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240430_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240468_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240544_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240580_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_802405A4_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_802405D0_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240644_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240790_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80240BB0_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80241DCC_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80241F38_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80241FE4); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80242274); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_802422D0); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80242314_E15D80); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_80242340); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_802423A4); + +INCLUDE_ASM(s32, "world/area_mgm/mgm_02", func_802423D0_E15D80); diff --git a/src/world/area_mim/mim_01.c b/src/world/area_mim/mim_01.c new file mode 100644 index 0000000000..bd70a2f59b --- /dev/null +++ b/src/world/area_mim/mim_01.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240000_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240070_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_802403F0_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240500_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_8024056C_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_802405DC_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_802406B4); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240708_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_802408BC_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240B1C_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240DD0_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240E3C_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80240F38); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80241978); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80241A08); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80241B08_B93440); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80241B68); + +INCLUDE_ASM(s32, "world/area_mim/mim_01", func_80241C54_B93440); diff --git a/src/world/area_mim/mim_02.c b/src/world/area_mim/mim_02.c new file mode 100644 index 0000000000..e5c3368c81 --- /dev/null +++ b/src/world/area_mim/mim_02.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240000_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240070_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_802402A0_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_802405D8_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240698); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_8024083C); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_8024091C_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240C1C_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240C60_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240E84); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80240EE0_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_802410B0_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_80241104_B97C00); + +INCLUDE_ASM(s32, "world/area_mim/mim_02", func_8024113C); diff --git a/src/world/area_mim/mim_03.c b/src/world/area_mim/mim_03.c new file mode 100644 index 0000000000..14d48ad7e7 --- /dev/null +++ b/src/world/area_mim/mim_03.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_03", func_80240000_B9B480); + +INCLUDE_ASM(s32, "world/area_mim/mim_03", func_80240068_B9B480); + +INCLUDE_ASM(s32, "world/area_mim/mim_03", func_802400A0_B9B480); + +INCLUDE_ASM(s32, "world/area_mim/mim_03", func_80240420_B9B480); diff --git a/src/world/area_mim/mim_04.c b/src/world/area_mim/mim_04.c new file mode 100644 index 0000000000..98b7717248 --- /dev/null +++ b/src/world/area_mim/mim_04.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240000_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240070_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_802401DC_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240200_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240430_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240768_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240828_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_802409CC_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240AAC_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240DAC_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80240DF0_B9D960); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_80241014); + +INCLUDE_ASM(s32, "world/area_mim/mim_04", func_802410C8_B9D960); diff --git a/src/world/area_mim/mim_05.c b/src/world/area_mim/mim_05.c new file mode 100644 index 0000000000..ee43c99c0e --- /dev/null +++ b/src/world/area_mim/mim_05.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240000_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240070_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_802400DC); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_8024014C); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240224_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240278); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_8024042C_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_8024068C_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240940_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_802409AC_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80240AA8_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_802414E8_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80241578_BA0730); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_80241678); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_802416D8); + +INCLUDE_ASM(s32, "world/area_mim/mim_05", func_802417C4_BA0730); diff --git a/src/world/area_mim/mim_06.c b/src/world/area_mim/mim_06.c new file mode 100644 index 0000000000..a50cb559d5 --- /dev/null +++ b/src/world/area_mim/mim_06.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240000_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240070_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802403F0_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802404F8_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240570_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802405DC_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_8024064C); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240724_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240778_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_8024092C_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240B8C_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240E40_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240EAC); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80240FA8_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802419E8_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80241A78); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80241B78); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80241BD8_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80241CC4); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80241F14); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80242144_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_8024247C_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_8024253C); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802426E0_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_802427C0_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80242AC0_BA4780); + +INCLUDE_ASM(s32, "world/area_mim/mim_06", func_80242B04_BA4780); diff --git a/src/world/area_mim/mim_07.c b/src/world/area_mim/mim_07.c new file mode 100644 index 0000000000..7df51df2dc --- /dev/null +++ b/src/world/area_mim/mim_07.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240000_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240070_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_802400D8); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240244); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240270_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_802404A0_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_802407D8_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240898_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240A3C_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240B1C_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240E1C_BAA140); + +INCLUDE_ASM(s32, "world/area_mim/mim_07", func_80240E60_BAA140); diff --git a/src/world/area_mim/mim_08.c b/src/world/area_mim/mim_08.c new file mode 100644 index 0000000000..bacb0cd86a --- /dev/null +++ b/src/world/area_mim/mim_08.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240000_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240068_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_802400A0_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240250_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240878_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240938_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240C7C); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240CF4_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240D60_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240E94_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80240EF8); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241288); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_802413AC); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241598); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241604); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241674); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_8024174C_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_802417A0_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241954); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241BB4); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241E68); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241ED4); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80241FD0_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80242A10); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80242AA0); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", pause_set_cursor_opacity_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80242C00_BAD940); + +INCLUDE_ASM(s32, "world/area_mim/mim_08", func_80242CEC); diff --git a/src/world/area_mim/mim_09.c b/src/world/area_mim/mim_09.c new file mode 100644 index 0000000000..9d91e0fc60 --- /dev/null +++ b/src/world/area_mim/mim_09.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_80240000_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_80240068_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_802400A0_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_802402D0_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_80240608); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_802406C8_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_8024086C_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_8024094C_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_80240C4C_BB2E00); + +INCLUDE_ASM(s32, "world/area_mim/mim_09", func_80240C90_BB2E00); diff --git a/src/world/area_mim/mim_10.c b/src/world/area_mim/mim_10.c new file mode 100644 index 0000000000..b6da25231c --- /dev/null +++ b/src/world/area_mim/mim_10.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_10", func_80240000_BB59E0); + +INCLUDE_ASM(s32, "world/area_mim/mim_10", func_80240030_BB59E0); + +INCLUDE_ASM(s32, "world/area_mim/mim_10", func_80240080_BB59E0); + +INCLUDE_ASM(s32, "world/area_mim/mim_10", func_802400EC); + +INCLUDE_ASM(s32, "world/area_mim/mim_10", func_80240148); diff --git a/src/world/area_mim/mim_11.c b/src/world/area_mim/mim_11.c new file mode 100644 index 0000000000..85ac5280c2 --- /dev/null +++ b/src/world/area_mim/mim_11.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240000_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240020_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240034_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802400F0_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802401D0_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_8024023C_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802402E0_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240404_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802405EC_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_8024066C); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240790); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802408D0_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802408F0_BB7070); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_80240980); + +INCLUDE_ASM(s32, "world/area_mim/mim_11", func_802409F0); diff --git a/src/world/area_mim/mim_12.c b/src/world/area_mim/mim_12.c new file mode 100644 index 0000000000..8ce42d5825 --- /dev/null +++ b/src/world/area_mim/mim_12.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_80240000_BBB380); + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_80240064_BBB380); + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_802400CC); + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_8024019C_BBB380); + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_8024025C); + +INCLUDE_ASM(s32, "world/area_mim/mim_12", func_802404A8_BBB380); diff --git a/src/world/area_nok/nok_01.c b/src/world/area_nok/nok_01.c new file mode 100644 index 0000000000..032a9eb850 --- /dev/null +++ b/src/world/area_nok/nok_01.c @@ -0,0 +1,145 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240000_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802400B4_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802401D4_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240234_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802402AC_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802403DC_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802404F8_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240540_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802405EC_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802407F4_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240A6C_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240A8C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240AB4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240B30); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240BB0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240BE0_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240C0C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240C2C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240C80_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240CFC); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240D30_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240D60); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", delete_player_actor_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240E1C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240E80_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240E94); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80240EA4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802410C8); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241114); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241134); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241194); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802412E0_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241454); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802414D8_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802416F0_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802417A4_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802417D8); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241858); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241870_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_8024188C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802418A4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802418D4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241948); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802419E8_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241B84_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241BE8); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241C78_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241D60); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241DCC); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241DFC); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80241E58); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242028_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_8024207C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802420B4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242150); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242240); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802423CC); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242410_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_8024243C); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242514_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802426A4); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242760); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242790); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802427C0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242804); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242858_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242898_9C53E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802428B8); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802428D8); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242910); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_80242930); + +INCLUDE_ASM(s32, "world/area_nok/nok_01", func_802429A0); diff --git a/src/world/area_nok/nok_02.c b/src/world/area_nok/nok_02.c new file mode 100644 index 0000000000..08e2a4b871 --- /dev/null +++ b/src/world/area_nok/nok_02.c @@ -0,0 +1,175 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240000_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240020_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240034_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802400F0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802401D0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024023C_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802402E0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240394_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802403F8); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240454); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240624_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240678); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802406B0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240750); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240970_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240A80); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240BD8_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240E80_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80240F40_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802410FC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802411B0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241224); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024129C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802413CC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802414EC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241554); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241614); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241910); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802419C4); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241A28); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241A3C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241A4C_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241C70); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241CBC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241CDC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241D3C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241E88); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80241FFC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242080); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242298); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024234C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242380_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242400); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242418); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242434); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024244C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024247C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802424F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242590); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024272C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242790_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242820); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242908_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242974); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802429A4); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242A00_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242BD0); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242C24); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242C5C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242CF8); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242DE8); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242F74_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242FB8); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80242FE4); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243010); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802430CC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243214); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243294); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_8024351C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243754_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802438D0); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802439C0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243A1C); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243BEC); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243C40); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243C78); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243D14); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243DB0_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243E64); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243EC8); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80243F10); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80244078_9D7020); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80244224); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80244288); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802442E0); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_80244360); + +INCLUDE_ASM(s32, "world/area_nok/nok_02", func_802443D0); diff --git a/src/world/area_nok/nok_03.c b/src/world/area_nok/nok_03.c new file mode 100644 index 0000000000..24103a0052 --- /dev/null +++ b/src/world/area_nok/nok_03.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240000_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240230_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240568_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240628_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_802407CC_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_802408AC_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240BAC_9EB7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_03", func_80240BF0_9EB7F0); diff --git a/src/world/area_nok/nok_04.c b/src/world/area_nok/nok_04.c new file mode 100644 index 0000000000..c1bf767521 --- /dev/null +++ b/src/world/area_nok/nok_04.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240000_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240184_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240314_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_802403C0_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_802404D0_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_8024051C); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240548_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240574_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240630_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_802406C4_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240814_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240E4C); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240E70_9EDBF0); + +INCLUDE_ASM(s32, "world/area_nok/nok_04", func_80240E90_9EDBF0); diff --git a/src/world/area_nok/nok_11.c b/src/world/area_nok/nok_11.c new file mode 100644 index 0000000000..045ba213b3 --- /dev/null +++ b/src/world/area_nok/nok_11.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80240000_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_8024007C_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_802401B0_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80240314_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80240394_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_802407D4_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80240984_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80240FAC_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_8024106C_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_802413B0); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241428_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241494); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_802415C8); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_8024162C); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_802419BC_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241AE0); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241CCC_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241D3C_9F4A40); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241F08); + +INCLUDE_ASM(s32, "world/area_nok/nok_11", func_80241F30_9F4A40); diff --git a/src/world/area_nok/nok_12.c b/src/world/area_nok/nok_12.c new file mode 100644 index 0000000000..92dd6f7d1f --- /dev/null +++ b/src/world/area_nok/nok_12.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240000_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240180); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240224); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802402F0_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_8024030C_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240330_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802403A0_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240570); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802405EC_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240720_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240884); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240904_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240D44_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80240E9C_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241144_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241204_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802413C0_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241474); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802414E8); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241560_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241690); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802417B0_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241818_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_802418D8_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241BD4); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241EE0_9FA7F0); + +INCLUDE_ASM(s32, "world/area_nok/nok_12", func_80241FD0); diff --git a/src/world/area_nok/nok_13.c b/src/world/area_nok/nok_13.c new file mode 100644 index 0000000000..55b4c4d7d1 --- /dev/null +++ b/src/world/area_nok/nok_13.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240000_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240230_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240568_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240628_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_802407CC_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_802408AC_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240BAC_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240BF0_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80240E20_A00600); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_80241360); + +INCLUDE_ASM(s32, "world/area_nok/nok_13", func_802413CC_A00600); diff --git a/src/world/area_nok/nok_14.c b/src/world/area_nok/nok_14.c new file mode 100644 index 0000000000..231f3906a0 --- /dev/null +++ b/src/world/area_nok/nok_14.c @@ -0,0 +1,49 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240000_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240180_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_8024019C); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_802401C0_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_8024023C_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240370_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_802404D4); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240554); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240994); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80240B44); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_8024116C_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_8024122C); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241570_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_802415E8); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241654); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241788); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_802417EC); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241B7C); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241CA0_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241E8C_A02840); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80241FB4); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80242070); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_80242188); + +INCLUDE_ASM(s32, "world/area_nok/nok_14", func_802421CC); diff --git a/src/world/area_nok/nok_15.c b/src/world/area_nok/nok_15.c new file mode 100644 index 0000000000..a20e5868a0 --- /dev/null +++ b/src/world/area_nok/nok_15.c @@ -0,0 +1,59 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240000_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240020_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240034_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802400F0_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802401D0_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_8024023C_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802402E0_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_8024035C_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240490_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802405F4); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240674); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240AB4_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80240C64_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_8024128C); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_8024134C); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241690_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241708); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241774_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802418A8); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_8024190C_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241C9C_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241DC0); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80241FAC_A06F00); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802420D4); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80242190); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802422A8); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802422EC); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_80242540); + +INCLUDE_ASM(s32, "world/area_nok/nok_15", func_802425B0); diff --git a/src/world/area_obk/obk_01.c b/src/world/area_obk/obk_01.c new file mode 100644 index 0000000000..6085b80e7f --- /dev/null +++ b/src/world/area_obk/obk_01.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240000_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_8024001C_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240038_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_8024007C_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240098_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_802406AC_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240730_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240790_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_802407E0_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240894); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_802408F8_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240954_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240B24); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240B78_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240BB0_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240C4C_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240D3C_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240EC8_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240F0C_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80240F38_BBD1A0); + +INCLUDE_ASM(s32, "world/area_obk/obk_01", func_80241094_BBD1A0); diff --git a/src/world/area_obk/obk_02.c b/src/world/area_obk/obk_02.c new file mode 100644 index 0000000000..a16a4aed13 --- /dev/null +++ b/src/world/area_obk/obk_02.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_02", func_80240000_BC2A90); + +INCLUDE_ASM(s32, "world/area_obk/obk_02", func_8024000C); + +INCLUDE_ASM(s32, "world/area_obk/obk_02", func_80240194_BC2A90); + +INCLUDE_ASM(s32, "world/area_obk/obk_02", func_80240240_BC2A90); diff --git a/src/world/area_obk/obk_03.c b/src/world/area_obk/obk_03.c new file mode 100644 index 0000000000..ae085b451c --- /dev/null +++ b/src/world/area_obk/obk_03.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240000_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802400C4_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240170_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240224_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240288); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802402E4); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802404B4); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240508_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240540_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802405DC_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802406CC_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_80240858); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_8024089C_BC4280); + +INCLUDE_ASM(s32, "world/area_obk/obk_03", func_802408D0_BC4280); diff --git a/src/world/area_obk/obk_04.c b/src/world/area_obk/obk_04.c new file mode 100644 index 0000000000..fd968a0c37 --- /dev/null +++ b/src/world/area_obk/obk_04.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240000_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240050_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_802400D0_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240198); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_8024022C_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_802402A0_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_802402F4_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_802405B4_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240624_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240910_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240940_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_802409F4_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240A58); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240C10_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240CA0); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240D00); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240D14_BC7E60); + +INCLUDE_ASM(s32, "world/area_obk/obk_04", func_80240E58_BC7E60); diff --git a/src/world/area_obk/obk_05.c b/src/world/area_obk/obk_05.c new file mode 100644 index 0000000000..615bb24e03 --- /dev/null +++ b/src/world/area_obk/obk_05.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_80240000_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_8024001C_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_80240038_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_80240050_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_80240770_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_802407A0_BCD060); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_802407AC); + +INCLUDE_ASM(s32, "world/area_obk/obk_05", func_80240934_BCD060); diff --git a/src/world/area_obk/obk_07.c b/src/world/area_obk/obk_07.c new file mode 100644 index 0000000000..df57654d40 --- /dev/null +++ b/src/world/area_obk/obk_07.c @@ -0,0 +1,69 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240000_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802400B4_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240118_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240268_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802402C0_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802402CC); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240454_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240500_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240540_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240564_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240A10); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240A6C_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80240EF8_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802410C0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241130_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241168_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_8024130C_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241358); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802413D0_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_8024143C); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_8024146C_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802414B4_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241518); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_8024157C); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802415B8); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802415F4_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241630_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241674_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802416F8_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241788_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241790_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241898_BCEBF0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_802418E0); + +INCLUDE_ASM(s32, "world/area_obk/obk_07", func_80241B50); diff --git a/src/world/area_obk/obk_08.c b/src/world/area_obk/obk_08.c new file mode 100644 index 0000000000..448d57d864 --- /dev/null +++ b/src/world/area_obk/obk_08.c @@ -0,0 +1,49 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240000_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802403DC_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802404F0); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_8024055C_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_8024061C_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802406DC_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_8024079C); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240808); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240840_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802408A0_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240920_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802409E8); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240A7C_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240AF0_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240CA0_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240D10_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240FD8); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80240FE4_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_8024116C_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80241220); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_802412BC_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80241300_BD3870); + +INCLUDE_ASM(s32, "world/area_obk/obk_08", func_80241658_BD3870); diff --git a/src/world/area_obk/obk_09.c b/src/world/area_obk/obk_09.c new file mode 100644 index 0000000000..43e3576031 --- /dev/null +++ b/src/world/area_obk/obk_09.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_obk/obk_09", func_80240000_BDA7B0); + +INCLUDE_ASM(s32, "world/area_obk/obk_09", func_80240190); + +INCLUDE_ASM(s32, "world/area_obk/obk_09", func_80240248_BDA7B0); + +INCLUDE_ASM(s32, "world/area_obk/obk_09", func_80240350_BDA7B0); + +INCLUDE_ASM(s32, "world/area_obk/obk_09", func_802403F0_BDA7B0); diff --git a/src/world/area_omo/omo_01.c b/src/world/area_omo/omo_01.c new file mode 100644 index 0000000000..2064323e3d --- /dev/null +++ b/src/world/area_omo/omo_01.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_01", func_80240000_D9AEF0); + +INCLUDE_ASM(s32, "world/area_omo/omo_01", func_80240260_D9AEF0); + +INCLUDE_ASM(s32, "world/area_omo/omo_01", func_80240844_D9AEF0); + +INCLUDE_ASM(s32, "world/area_omo/omo_01", func_802409A8_D9AEF0); + +INCLUDE_ASM(s32, "world/area_omo/omo_01", func_802409EC_D9AEF0); diff --git a/src/world/area_omo/omo_02.c b/src/world/area_omo/omo_02.c new file mode 100644 index 0000000000..162563638a --- /dev/null +++ b/src/world/area_omo/omo_02.c @@ -0,0 +1,63 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240000_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_8024001C_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240040_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802402C0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_8024043C_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240970_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802409E0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240AB0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240B48_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240BA8_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240EDC); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80240F90_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802410B0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241110); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241188_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802412B8_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802413D4_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_8024141C_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802414C8_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802416D0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241948_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241B38_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241C7C_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241D7C_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241DC0_D9D4D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241E60); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80241EA4); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_802423E0); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_8024283C); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80242B5C); + +INCLUDE_ASM(s32, "world/area_omo/omo_02", func_80242B70); diff --git a/src/world/area_omo/omo_03.c b/src/world/area_omo/omo_03.c new file mode 100644 index 0000000000..665ba1911b --- /dev/null +++ b/src/world/area_omo/omo_03.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_80240000_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_80240020_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_8024003C_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_80240104_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_80240188); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_8024020C); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_802402B0_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_802403A8_DA5240); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_80240538); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_8024057C); + +INCLUDE_ASM(s32, "world/area_omo/omo_03", func_802406A0_DA5240); diff --git a/src/world/area_omo/omo_04.c b/src/world/area_omo/omo_04.c new file mode 100644 index 0000000000..e5aa9181d9 --- /dev/null +++ b/src/world/area_omo/omo_04.c @@ -0,0 +1,53 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240000_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802400B4_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240118_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240268_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802402BC_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802402D8_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802402F4_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802403A0_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240550_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240B78_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240C38_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240F7C_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80240FF4); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241060_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241194_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802411F8_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241588_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802416AC); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241898_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241908); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_802419D8_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241A70); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241AD0_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241E04_DAD400); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241E20); + +INCLUDE_ASM(s32, "world/area_omo/omo_04", func_80241E40_DAD400); diff --git a/src/world/area_omo/omo_05.c b/src/world/area_omo/omo_05.c new file mode 100644 index 0000000000..eee9ad77ca --- /dev/null +++ b/src/world/area_omo/omo_05.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240000_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240070_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240140_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802401D8); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240238_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_8024056C_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802405BC_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240780_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240A54_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80240C04); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_8024122C_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802412EC_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241630_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802416A8); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241714); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241848_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802418AC_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241C3C); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241D60_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241F4C_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80241FA8); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80242178_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802421CC_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80242204); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802422A0_DB22C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_80242328); + +INCLUDE_ASM(s32, "world/area_omo/omo_05", func_802423C8); diff --git a/src/world/area_omo/omo_06.c b/src/world/area_omo/omo_06.c new file mode 100644 index 0000000000..657c5e2ebd --- /dev/null +++ b/src/world/area_omo/omo_06.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240000_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_8024001C_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_802400E4_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240168); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_802401EC); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240290_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240388_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240518_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_8024055C_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240680_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240870_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240924_DB7910); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240988); + +INCLUDE_ASM(s32, "world/area_omo/omo_06", func_80240AD8); diff --git a/src/world/area_omo/omo_07.c b/src/world/area_omo/omo_07.c new file mode 100644 index 0000000000..36d0657708 --- /dev/null +++ b/src/world/area_omo/omo_07.c @@ -0,0 +1,87 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240000_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240070_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240140_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802401D8_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240238_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_8024056C_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802406C4_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_8024096C); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240A2C_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240BE8_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240C9C_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240D10_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240D88_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240EB8_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80240FD8_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80241040_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80241100); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802413FC_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_8024146C_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_8024153C); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802415D4_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80241634_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80241978_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80241B28_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242150_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242210); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242554_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802425CC); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242638); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_8024276C); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802427D0_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242B60); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242C84_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242E70); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242E8C); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242EA8_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242F20); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80242FD4_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80243038); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80243188_DBD2B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802431DC); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_802431F8); + +INCLUDE_ASM(s32, "world/area_omo/omo_07", func_80243220); diff --git a/src/world/area_omo/omo_08.c b/src/world/area_omo/omo_08.c new file mode 100644 index 0000000000..7bd3c0f6e6 --- /dev/null +++ b/src/world/area_omo/omo_08.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240000_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_8024001C_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_802400E4_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240168_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_802401EC_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240290_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240388_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240518_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_8024055C_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240680_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240870_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_802408E0_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_802409B0_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240A48_DC43D0); + +INCLUDE_ASM(s32, "world/area_omo/omo_08", func_80240AA8_DC43D0); diff --git a/src/world/area_omo/omo_09.c b/src/world/area_omo/omo_09.c new file mode 100644 index 0000000000..c7a85e002d --- /dev/null +++ b/src/world/area_omo/omo_09.c @@ -0,0 +1,95 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240000_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240054_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240078); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802402D0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240534_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802406E0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240720_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802407D4_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240838); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240988_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802409E0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240A50_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240B20_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240BB8_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240C18_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80240F4C_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802410A4_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024134C_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024140C_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802415C8_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024167C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802416F0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241768); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241898_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802419B8); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241A20); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241AE0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241DDC); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241E4C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241F1C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80241FB4_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80242014_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80242358); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80242548); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024268C_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024278C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802427D0_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80242870_DCCCD0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802428B4); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80242DF0); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024324C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_8024356C); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80243580); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802435B8); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802435CC); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_802435E8); + +INCLUDE_ASM(s32, "world/area_omo/omo_09", func_80243610); diff --git a/src/world/area_omo/omo_10.c b/src/world/area_omo/omo_10.c new file mode 100644 index 0000000000..2b55cf00ef --- /dev/null +++ b/src/world/area_omo/omo_10.c @@ -0,0 +1,21 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240000_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_8024001C_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_802400E4_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240168_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_802401EC_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240290_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240388_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240518_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_8024055C_DD79B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_10", func_80240680_DD79B0); diff --git a/src/world/area_omo/omo_11.c b/src/world/area_omo/omo_11.c new file mode 100644 index 0000000000..94bb869fd3 --- /dev/null +++ b/src/world/area_omo/omo_11.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240000_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802401A0_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240790_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802407AC_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802407CC_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802407F8); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240864); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802408B0_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_8024095C_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240BAC_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240BD8_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240C10_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240CA0_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240CD4_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240D38_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80240D90_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_802412C8_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80241408); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80241450_DDC830); + +INCLUDE_ASM(s32, "world/area_omo/omo_11", func_80241498); diff --git a/src/world/area_omo/omo_12.c b/src/world/area_omo/omo_12.c new file mode 100644 index 0000000000..91e8664be4 --- /dev/null +++ b/src/world/area_omo/omo_12.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_80240000_DDF310); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_80240184_DDF310); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_802402DC); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_802402F8_DDF310); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_80240314_DDF310); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_802403D8_DDF310); + +INCLUDE_ASM(s32, "world/area_omo/omo_12", func_80240420_DDF310); diff --git a/src/world/area_omo/omo_13.c b/src/world/area_omo/omo_13.c new file mode 100644 index 0000000000..1417eb78d2 --- /dev/null +++ b/src/world/area_omo/omo_13.c @@ -0,0 +1,39 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240000_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240280_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_802402F0_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_802403C0_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240458_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_802404B8_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_802407EC); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_8024083C_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240A00_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240CD4_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240D30_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240F00_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240F54_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80240F8C_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80241028); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80241230_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_802412E4_DE2490); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80241348); + +INCLUDE_ASM(s32, "world/area_omo/omo_13", func_80241498_DE2490); diff --git a/src/world/area_omo/omo_14.c b/src/world/area_omo/omo_14.c new file mode 100644 index 0000000000..246a7f9c5a --- /dev/null +++ b/src/world/area_omo/omo_14.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_14", func_80240000_DE56B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_14", func_80240160_DE56B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_14", func_802403FC_DE56B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_14", func_80240564_DE56B0); + +INCLUDE_ASM(s32, "world/area_omo/omo_14", func_80240590_DE56B0); diff --git a/src/world/area_omo/omo_15.c b/src/world/area_omo/omo_15.c new file mode 100644 index 0000000000..3c3ea57aed --- /dev/null +++ b/src/world/area_omo/omo_15.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_80240000_DE8770); + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_8024004C_DE8770); + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_802401AC_DE8770); + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_802405BC_DE8770); + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_802405FC_DE8770); + +INCLUDE_ASM(s32, "world/area_omo/omo_15", func_80240708_DE8770); diff --git a/src/world/area_omo/omo_16.c b/src/world/area_omo/omo_16.c new file mode 100644 index 0000000000..48790df1aa --- /dev/null +++ b/src/world/area_omo/omo_16.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_80240000_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_8024001C_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_802400E4_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_80240168_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_802401EC_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_80240290_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_80240388_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_80240518_DEBED0); + +INCLUDE_ASM(s32, "world/area_omo/omo_16", func_8024055C_DEBED0); diff --git a/src/world/area_omo/omo_17.c b/src/world/area_omo/omo_17.c new file mode 100644 index 0000000000..d5543c6095 --- /dev/null +++ b/src/world/area_omo/omo_17.c @@ -0,0 +1,77 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240000_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_8024001C_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802400E4_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240168_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802401EC_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240290_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240388_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240518_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240560_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802405D0_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802406A0_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240738_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240798_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240ACC_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240B1C_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240CE0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80240FB4_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241164); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_8024178C); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_8024184C); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241B90_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241C08); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241C74_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241DA8_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80241E0C); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_8024219C_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802422C0_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802424AC); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_8024269C); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802427E0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802428E0_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80242924); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802429C4_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80242A08_DEEEA0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_80242F44); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802433A0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802436C0); + +INCLUDE_ASM(s32, "world/area_omo/omo_17", func_802436D4); diff --git a/src/world/area_osr/osr_00.c b/src/world/area_osr/osr_00.c new file mode 100644 index 0000000000..07a6ac1974 --- /dev/null +++ b/src/world/area_osr/osr_00.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_80240000_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_80240124_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_8024030C_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_80240344_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_80240380_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_802404A4_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_80240678_AAC830); + +INCLUDE_ASM(s32, "world/area_osr/osr_00", func_802406E0_AAC830); diff --git a/src/world/area_osr/osr_01.c b/src/world/area_osr/osr_01.c new file mode 100644 index 0000000000..4cc258a64b --- /dev/null +++ b/src/world/area_osr/osr_01.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240000_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240050_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240174_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240360_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240414_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240478_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_802404D4_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_802406A4_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_802406F8); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240730_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_802407CC_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_802408BC); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240A48_AAFFF0); + +INCLUDE_ASM(s32, "world/area_osr/osr_01", func_80240A8C_AAFFF0); diff --git a/src/world/area_osr/osr_02.c b/src/world/area_osr/osr_02.c new file mode 100644 index 0000000000..5024eb4c58 --- /dev/null +++ b/src/world/area_osr/osr_02.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_osr/osr_02", func_80240000_AB2170); + +INCLUDE_ASM(s32, "world/area_osr/osr_02", func_80240020_AB2170); + +INCLUDE_ASM(s32, "world/area_osr/osr_02", func_80240060_AB2170); + +INCLUDE_ASM(s32, "world/area_osr/osr_02", func_80240120_AB2170); diff --git a/src/world/area_osr/osr_03.c b/src/world/area_osr/osr_03.c new file mode 100644 index 0000000000..dbbf39d7d4 --- /dev/null +++ b/src/world/area_osr/osr_03.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_80240000_AB6290); + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_80240020_AB6290); + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_80240090); + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_802400C4); + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_802401A0_AB6290); + +INCLUDE_ASM(s32, "world/area_osr/osr_03", func_80240290_AB6290); diff --git a/src/world/area_osr/osr_04.c b/src/world/area_osr/osr_04.c new file mode 100644 index 0000000000..cc9511f443 --- /dev/null +++ b/src/world/area_osr/osr_04.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_osr/osr_04", func_80240000_AB92B0); + +INCLUDE_ASM(s32, "world/area_osr/osr_04", func_80240050_AB92B0); diff --git a/src/world/area_pra/pra_01.c b/src/world/area_pra/pra_01.c new file mode 100644 index 0000000000..51996580f9 --- /dev/null +++ b/src/world/area_pra/pra_01.c @@ -0,0 +1,47 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240000_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240020_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240054); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_802400EC_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240128); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_802402F0_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_8024049C_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240500_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_8024068C_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240870_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240D3C_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240E84_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240EB8_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240EEC_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240F20_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240F60_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240F80_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80240FDC_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_802411AC_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80241200_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80241238); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_802412D4_D4D040); + +INCLUDE_ASM(s32, "world/area_pra/pra_01", func_80241370_D4D040); diff --git a/src/world/area_pra/pra_02.c b/src/world/area_pra/pra_02.c new file mode 100644 index 0000000000..93715557fe --- /dev/null +++ b/src/world/area_pra/pra_02.c @@ -0,0 +1,53 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240000_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240020_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240054_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802400EC_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240128_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802402F0_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_8024049C_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240500_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_8024068C_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240870_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240D3C_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240E84_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240EB8_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240EEC_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240F20_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80240F7C_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_8024114C_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802411A0_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802411D8_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80241274_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80241310); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802413D8); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80241478_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802414A8_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_80241588_D4FFF0); + +INCLUDE_ASM(s32, "world/area_pra/pra_02", func_802415BC); diff --git a/src/world/area_pra/pra_03.c b/src/world/area_pra/pra_03.c new file mode 100644 index 0000000000..3e1aae871c --- /dev/null +++ b/src/world/area_pra/pra_03.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_03", func_80240000_D53CB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_03", func_80240020_D53CB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_03", func_802400AC_D53CB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_03", func_80240138); diff --git a/src/world/area_pra/pra_04.c b/src/world/area_pra/pra_04.c new file mode 100644 index 0000000000..6cd95e8af0 --- /dev/null +++ b/src/world/area_pra/pra_04.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_04", func_80240000_D54690); + +INCLUDE_ASM(s32, "world/area_pra/pra_04", func_80240020_D54690); + +INCLUDE_ASM(s32, "world/area_pra/pra_04", func_802400AC_D54690); + +INCLUDE_ASM(s32, "world/area_pra/pra_04", func_80240138_D54690); + +INCLUDE_ASM(s32, "world/area_pra/pra_04", func_802401B0_D54690); diff --git a/src/world/area_pra/pra_05.c b/src/world/area_pra/pra_05.c new file mode 100644 index 0000000000..ac1649eeae --- /dev/null +++ b/src/world/area_pra/pra_05.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240000_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240020_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240054_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_802400EC_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240128_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_802402F0_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_8024049C_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240500_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_8024068C_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240870_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240D3C_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240E84_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240EB8_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240EEC_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240F20_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80240FD4_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80241038_D55BB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_05", func_80241188); diff --git a/src/world/area_pra/pra_06.c b/src/world/area_pra/pra_06.c new file mode 100644 index 0000000000..9e2120dbb7 --- /dev/null +++ b/src/world/area_pra/pra_06.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240000_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240050_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240084); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_8024011C_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240158_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240320_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_802404CC_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240530_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_802406BC_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_802408A0_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240D6C_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240EB4_D57430); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240EE8); + +INCLUDE_ASM(s32, "world/area_pra/pra_06", func_80240F1C); diff --git a/src/world/area_pra/pra_09.c b/src/world/area_pra/pra_09.c new file mode 100644 index 0000000000..c0c554feb9 --- /dev/null +++ b/src/world/area_pra/pra_09.c @@ -0,0 +1,49 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240000_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240020_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240054_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802400EC_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240128_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802402F0_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_8024049C_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240500_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_8024068C_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240870_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240D3C_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240E84_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240EB8_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240EEC_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240F20_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80240F7C_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_8024114C_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802411A0_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802411D8_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80241274_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_80241310_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802413A4_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802414F4_D58890); + +INCLUDE_ASM(s32, "world/area_pra/pra_09", func_802415F8_D58890); diff --git a/src/world/area_pra/pra_10.c b/src/world/area_pra/pra_10.c new file mode 100644 index 0000000000..8aff579913 --- /dev/null +++ b/src/world/area_pra/pra_10.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240000_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240020_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240054_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_802400EC_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240128_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_802402F0_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_8024049C_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240500_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_8024068C_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240870_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240D3C_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240E84_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240EB8_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240EEC_D5F2B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_10", func_80240F20_D5F2B0); diff --git a/src/world/area_pra/pra_11.c b/src/world/area_pra/pra_11.c new file mode 100644 index 0000000000..b35342b6ce --- /dev/null +++ b/src/world/area_pra/pra_11.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240000_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240020_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240054_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_802400EC_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240128_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_802402F0_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_8024049C_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240500_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_8024068C_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240870_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240D3C_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240E84_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240EB8_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240EEC_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240F20_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80240FD4_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80241038_D61500); + +INCLUDE_ASM(s32, "world/area_pra/pra_11", func_80241188_D61500); diff --git a/src/world/area_pra/pra_12.c b/src/world/area_pra/pra_12.c new file mode 100644 index 0000000000..cc4e2ef956 --- /dev/null +++ b/src/world/area_pra/pra_12.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240000_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240050_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240084_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_8024011C_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240158_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240320_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_802404CC_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240530_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_802406BC_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_802408A0_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240D6C_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240EB4_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240EE8_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240F1C_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80240F50_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80241004); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_80241068_D62D10); + +INCLUDE_ASM(s32, "world/area_pra/pra_12", func_802411B8_D62D10); diff --git a/src/world/area_pra/pra_13.c b/src/world/area_pra/pra_13.c new file mode 100644 index 0000000000..393d23c7c6 --- /dev/null +++ b/src/world/area_pra/pra_13.c @@ -0,0 +1,51 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240000_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240020_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240054_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802400EC_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240128_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802402F0_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_8024049C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240500_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_8024068C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240870_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240D3C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240E84_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240EB8_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240EEC_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240F20_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80240F7C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_8024114C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802411A0_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802411D8_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80241274_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_80241310_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802413A4_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802413D0_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_8024140C_D645E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_13", func_802414BC_D645E0); diff --git a/src/world/area_pra/pra_14.c b/src/world/area_pra/pra_14.c new file mode 100644 index 0000000000..56a076b99c --- /dev/null +++ b/src/world/area_pra/pra_14.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240000_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240020_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240054_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_802400EC_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240128_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_802402F0_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_8024049C_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240500_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_8024068C_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240870_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240D3C_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240E84_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240EB8_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240EEC_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240F20_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80240FD4_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80241038_D67D00); + +INCLUDE_ASM(s32, "world/area_pra/pra_14", func_80241188_D67D00); diff --git a/src/world/area_pra/pra_15.c b/src/world/area_pra/pra_15.c new file mode 100644 index 0000000000..7a27e683f3 --- /dev/null +++ b/src/world/area_pra/pra_15.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_15", func_80240000_D69810); + +INCLUDE_ASM(s32, "world/area_pra/pra_15", func_80240020_D69810); diff --git a/src/world/area_pra/pra_16.c b/src/world/area_pra/pra_16.c new file mode 100644 index 0000000000..51c01f8502 --- /dev/null +++ b/src/world/area_pra/pra_16.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240000_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240020_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240054_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_802400EC_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240128_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_802402F0_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_8024049C_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240500_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_8024068C_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240870_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240D3C_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240E84_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240EB8_D69B20); + +INCLUDE_ASM(s32, "world/area_pra/pra_16", func_80240EEC_D69B20); diff --git a/src/world/area_pra/pra_18.c b/src/world/area_pra/pra_18.c new file mode 100644 index 0000000000..929aa720b8 --- /dev/null +++ b/src/world/area_pra/pra_18.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240000_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240020_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240054_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_802400EC_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240128_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_802402F0_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_8024049C_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240500_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_8024068C_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240870_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240D3C_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240E84_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240EB8_D6B620); + +INCLUDE_ASM(s32, "world/area_pra/pra_18", func_80240EEC_D6B620); diff --git a/src/world/area_pra/pra_19.c b/src/world/area_pra/pra_19.c new file mode 100644 index 0000000000..30d1c26f22 --- /dev/null +++ b/src/world/area_pra/pra_19.c @@ -0,0 +1,59 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240000_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240020_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240054_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802400EC_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240128_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802402F0_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_8024049C_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240500_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_8024068C_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240870_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240D3C_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240E84_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240EB8_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240EEC_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240F20_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80240F7C_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_8024114C_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802411A0_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802411D8_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80241274_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80241310_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802413A4_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802414F4_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80241530_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802415E0_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_802416F8_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80241710_D6E9B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_8024175C); + +INCLUDE_ASM(s32, "world/area_pra/pra_19", func_80241838_D6E9B0); diff --git a/src/world/area_pra/pra_20.c b/src/world/area_pra/pra_20.c new file mode 100644 index 0000000000..c00bd1639e --- /dev/null +++ b/src/world/area_pra/pra_20.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240000_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240020_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240054_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_802400EC_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240128_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_802402F0_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_8024049C_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240500_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_8024068C_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240870_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240D3C_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240E84_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240EB8_D763A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_20", func_80240EEC_D763A0); diff --git a/src/world/area_pra/pra_21.c b/src/world/area_pra/pra_21.c new file mode 100644 index 0000000000..0b3069558f --- /dev/null +++ b/src/world/area_pra/pra_21.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_21", func_80240000_D77F20); + +INCLUDE_ASM(s32, "world/area_pra/pra_21", func_80240020_D77F20); + +INCLUDE_ASM(s32, "world/area_pra/pra_21", func_802400AC_D77F20); diff --git a/src/world/area_pra/pra_22.c b/src/world/area_pra/pra_22.c new file mode 100644 index 0000000000..d52167b16b --- /dev/null +++ b/src/world/area_pra/pra_22.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_22", func_80240000_D78880); + +INCLUDE_ASM(s32, "world/area_pra/pra_22", func_80240020_D78880); + +INCLUDE_ASM(s32, "world/area_pra/pra_22", func_802400DC_D78880); + +INCLUDE_ASM(s32, "world/area_pra/pra_22", func_802401D0_D78880); + +INCLUDE_ASM(s32, "world/area_pra/pra_22", func_8024025C_D78880); diff --git a/src/world/area_pra/pra_27.c b/src/world/area_pra/pra_27.c new file mode 100644 index 0000000000..2f0b0eb337 --- /dev/null +++ b/src/world/area_pra/pra_27.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240000_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240050_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240084_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_8024011C_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240158_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240320_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_802404CC_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240530_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_802406BC_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_802408A0_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240D6C_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240EB4_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240EE8_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240F1C_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80240F50_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80241004_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_80241068_D799F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_27", func_802411B8_D799F0); diff --git a/src/world/area_pra/pra_28.c b/src/world/area_pra/pra_28.c new file mode 100644 index 0000000000..b7f9446dc7 --- /dev/null +++ b/src/world/area_pra/pra_28.c @@ -0,0 +1,37 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240000_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240050_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240084_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_8024011C_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240158_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240320_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_802404CC_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240530_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_802406BC_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_802408A0_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240D6C_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240EB4_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240EE8_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240F1C_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80240F50_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80241004_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_80241068_D7B2A0); + +INCLUDE_ASM(s32, "world/area_pra/pra_28", func_802411B8_D7B2A0); diff --git a/src/world/area_pra/pra_29.c b/src/world/area_pra/pra_29.c new file mode 100644 index 0000000000..ba1cf48795 --- /dev/null +++ b/src/world/area_pra/pra_29.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240000_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240020_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240054_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_802400EC_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240128_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_802402F0_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_8024049C_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240500_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_8024068C_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240870_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240D3C_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240E84_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240EB8_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240EEC_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_80240F20_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_802410B0_D7CB50); + +INCLUDE_ASM(s32, "world/area_pra/pra_29", func_802411D4_D7CB50); diff --git a/src/world/area_pra/pra_31.c b/src/world/area_pra/pra_31.c new file mode 100644 index 0000000000..06b5c747ac --- /dev/null +++ b/src/world/area_pra/pra_31.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240000_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240020_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_8024007C_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_8024024C_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_802402A0_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_802402D8); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240374_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240410_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240468_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240510_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240818_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240894_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240A3C_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", delete_actor_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240C70); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240DBC); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240E70_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240F2C_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240FD0_D7ED60); + +INCLUDE_ASM(s32, "world/area_pra/pra_31", func_80240FF0_D7ED60); diff --git a/src/world/area_pra/pra_32.c b/src/world/area_pra/pra_32.c new file mode 100644 index 0000000000..19fc7245c1 --- /dev/null +++ b/src/world/area_pra/pra_32.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_80240000_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_80240020_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_8024006C_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_802401CC_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_802405DC_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_8024061C_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_80240728_D86A00); + +INCLUDE_ASM(s32, "world/area_pra/pra_32", func_80240814_D86A00); diff --git a/src/world/area_pra/pra_33.c b/src/world/area_pra/pra_33.c new file mode 100644 index 0000000000..780570a0c9 --- /dev/null +++ b/src/world/area_pra/pra_33.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240000_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240020_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240054_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_802400EC_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240128_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_802402F0_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_8024049C_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240500_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_8024068C_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240870_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240D3C_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240E84_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240EB8_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240EEC_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240F20_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80240F58_D896E0); + +INCLUDE_ASM(s32, "world/area_pra/pra_33", func_80241000_D896E0); diff --git a/src/world/area_pra/pra_34.c b/src/world/area_pra/pra_34.c new file mode 100644 index 0000000000..22e5e16499 --- /dev/null +++ b/src/world/area_pra/pra_34.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240000_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240020_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240054_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_802400EC_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240128_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_802402F0_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_8024049C_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240500_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_8024068C_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240870_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240D3C_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240E84_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240EB8_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240EEC_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240F20_D8B3B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_34", func_80240F54); diff --git a/src/world/area_pra/pra_35.c b/src/world/area_pra/pra_35.c new file mode 100644 index 0000000000..1bfa83c68c --- /dev/null +++ b/src/world/area_pra/pra_35.c @@ -0,0 +1,77 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240000_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240020_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240054_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802400EC_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240128_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802402F0_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024049C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240500_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024068C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240870_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240D3C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240E84_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240EB8_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240EEC_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80240F20_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241078_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241320_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802413E0_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024159C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241650_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802416C4_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024173C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024186C); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024198C); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802419F4_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241AB4_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241DB0); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241E1C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241E8C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241F64); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80241FB8); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_8024216C_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_802423CC_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80242698); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80242950); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80242A04_D8D250); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80242A68); + +INCLUDE_ASM(s32, "world/area_pra/pra_35", func_80242BB8); diff --git a/src/world/area_pra/pra_36.c b/src/world/area_pra/pra_36.c new file mode 100644 index 0000000000..10f8996854 --- /dev/null +++ b/src/world/area_pra/pra_36.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240000_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240050_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240084_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_8024011C_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240158_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240320_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_802404CC_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240530_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_802406BC_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_802408A0_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240D6C_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240EB4_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240EE8_D91700); + +INCLUDE_ASM(s32, "world/area_pra/pra_36", func_80240F1C_D91700); diff --git a/src/world/area_pra/pra_37.c b/src/world/area_pra/pra_37.c new file mode 100644 index 0000000000..b1dda679fc --- /dev/null +++ b/src/world/area_pra/pra_37.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240000_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240050_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240084_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_8024011C_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240158_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240320_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_802404CC_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240530_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_802406BC_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_802408A0_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240D6C_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240EB4_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240EE8_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240F1C_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240F50_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80240FBC); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_8024102C); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80241104_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_80241158_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_8024130C_D92F40); + +INCLUDE_ASM(s32, "world/area_pra/pra_37", func_8024156C); diff --git a/src/world/area_pra/pra_38.c b/src/world/area_pra/pra_38.c new file mode 100644 index 0000000000..cd674a698f --- /dev/null +++ b/src/world/area_pra/pra_38.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240000_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240050_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240084_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_8024011C_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240158_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240320_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_802404CC_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240530_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_802406BC_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_802408A0_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240D6C_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240EB4_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240EE8_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240F1C_D955F0); + +INCLUDE_ASM(s32, "world/area_pra/pra_38", func_80240F50_D955F0); diff --git a/src/world/area_pra/pra_39.c b/src/world/area_pra/pra_39.c new file mode 100644 index 0000000000..9dc58fcd89 --- /dev/null +++ b/src/world/area_pra/pra_39.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240000_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240050_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240084_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_8024011C_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240158_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240320_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_802404CC_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240530_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_802406BC_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_802408A0_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240D6C_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240EB4_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240EE8_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240F1C_D97890); + +INCLUDE_ASM(s32, "world/area_pra/pra_39", func_80240F50_D97890); diff --git a/src/world/area_pra/pra_40.c b/src/world/area_pra/pra_40.c new file mode 100644 index 0000000000..b5e58b39b8 --- /dev/null +++ b/src/world/area_pra/pra_40.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240000_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240020_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240054_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_802400EC_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240128_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_802402F0_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_8024049C_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240500_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_8024068C_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240870_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240D3C_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240E84_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240EB8_D999B0); + +INCLUDE_ASM(s32, "world/area_pra/pra_40", func_80240EEC_D999B0); diff --git a/src/world/area_sam/sam_01.c b/src/world/area_sam/sam_01.c new file mode 100644 index 0000000000..40648c06ef --- /dev/null +++ b/src/world/area_sam/sam_01.c @@ -0,0 +1,91 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240000_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240124_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240310_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024036C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024053C); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240590_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_802405C8_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240664); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240700); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_802407B4); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240818_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024082C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024083C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240A60_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240AAC_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240ACC); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240B2C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240C78_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240DEC_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80240E70_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241088); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024113C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241170_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_802411F0_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241208); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241224_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024123C); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024126C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_802412E0_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241380); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_8024151C_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241580_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241610_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_802416F8_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241764_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241794); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241884); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241A10_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241A54); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241A80_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241B20_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241C90_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241D44_CF7B70); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241DA8); + +INCLUDE_ASM(s32, "world/area_sam/sam_01", func_80241EF8_CF7B70); diff --git a/src/world/area_sam/sam_02.c b/src/world/area_sam/sam_02.c new file mode 100644 index 0000000000..8ac22e96a4 --- /dev/null +++ b/src/world/area_sam/sam_02.c @@ -0,0 +1,99 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240000_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240020_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240034_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802400F0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802401D0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024023C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802402E0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240404_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802405EC_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024065C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240830_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240850_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240878_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802408F4); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240974_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802409A4); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802409D0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802409F0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240A44_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240AC0); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240AF4); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240B24_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240B2C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240BE0_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240C44_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240C58_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240C68); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240E8C); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240ED8_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240EF8_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80240F58_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802410A4_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", begin_battle_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024129C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802414B4_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241568_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024159C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024161C); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241634); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241650_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241668_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241698); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_8024170C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802417AC_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241948_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_802419AC_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241A3C_D05730); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241B24); + +INCLUDE_ASM(s32, "world/area_sam/sam_02", func_80241B90_D05730); diff --git a/src/world/area_sam/sam_03.c b/src/world/area_sam/sam_03.c new file mode 100644 index 0000000000..4fa7a1bde7 --- /dev/null +++ b/src/world/area_sam/sam_03.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_80240000_D110C0); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_80240050_D110C0); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_802400BC_D110C0); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_8024012C); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_80240204_D110C0); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_80240258); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_8024040C_D110C0); + +INCLUDE_ASM(s32, "world/area_sam/sam_03", func_8024066C_D110C0); diff --git a/src/world/area_sam/sam_04.c b/src/world/area_sam/sam_04.c new file mode 100644 index 0000000000..7a5c3c2f6a --- /dev/null +++ b/src/world/area_sam/sam_04.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240000_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240070_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240240_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240310_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_8024036C_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_8024053C_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240590_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_802405C8_D135D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_04", func_80240664_D135D0); diff --git a/src/world/area_sam/sam_05.c b/src/world/area_sam/sam_05.c new file mode 100644 index 0000000000..b3342cbcae --- /dev/null +++ b/src/world/area_sam/sam_05.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80240000_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_8024006C_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_802400DC_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_802401B4_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80240208_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", update_starpoints_display_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_8024061C_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_802408D0_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_8024093C_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80240A38_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241478); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241508_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241608_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241668_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241754_D187E0); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_802419A4); + +INCLUDE_ASM(s32, "world/area_sam/sam_05", func_80241D20_D187E0); diff --git a/src/world/area_sam/sam_06.c b/src/world/area_sam/sam_06.c new file mode 100644 index 0000000000..272f70140c --- /dev/null +++ b/src/world/area_sam/sam_06.c @@ -0,0 +1,81 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240000_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240124_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024030C_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024037C_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240550_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240700_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240D28); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80240DE8_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024112C_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802411A4_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241210_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241344); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802413A8_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241738_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024185C); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241A48); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241AFC); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241B60); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241BBC); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241D8C); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241DE0); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241E18_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241EB4); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241F50); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241F70); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80241F98_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242014_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242094); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802420C4); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802420F0_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242110); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242164); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802421E0_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242214_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242244); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024224C); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024233C_D1FE90); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_802424C8); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_8024250C); + +INCLUDE_ASM(s32, "world/area_sam/sam_06", func_80242538); diff --git a/src/world/area_sam/sam_07.c b/src/world/area_sam/sam_07.c new file mode 100644 index 0000000000..e935e2cfd2 --- /dev/null +++ b/src/world/area_sam/sam_07.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240000_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240448_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240510_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_802405B0_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240634_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240650); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_802406BC_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_8024072C_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240804); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240858_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240A0C_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240C6C); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240F20_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80240F8C_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241088_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241AC8); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241B58_D2BD30); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241C58); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241CB8); + +INCLUDE_ASM(s32, "world/area_sam/sam_07", func_80241DA4); diff --git a/src/world/area_sam/sam_08.c b/src/world/area_sam/sam_08.c new file mode 100644 index 0000000000..c5a41eddd0 --- /dev/null +++ b/src/world/area_sam/sam_08.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240000_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_8024001C_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_8024003C_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240068_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_802400D4_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240120_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_802401CC_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_8024041C_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240448_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240480_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240510_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240544_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_802405A8_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240600_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240B38_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240C78_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240CC0_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240D08_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240D40_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240DAC_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240E1C_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240EF4_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80240F48); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_802410FC_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_8024135C); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_80241610_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_802416A4_D2FC80); + +INCLUDE_ASM(s32, "world/area_sam/sam_08", func_8024174C_D2FC80); diff --git a/src/world/area_sam/sam_09.c b/src/world/area_sam/sam_09.c new file mode 100644 index 0000000000..ea98c21b3f --- /dev/null +++ b/src/world/area_sam/sam_09.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_80240000_D362F0); + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_802400B4_D362F0); + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_80240118_D362F0); + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_80240158_D362F0); + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_80240264_D362F0); + +INCLUDE_ASM(s32, "world/area_sam/sam_09", func_802403A0_D362F0); diff --git a/src/world/area_sam/sam_10.c b/src/world/area_sam/sam_10.c new file mode 100644 index 0000000000..394beb04a2 --- /dev/null +++ b/src/world/area_sam/sam_10.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_80240000_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802400B4_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_80240118_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_80240268_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802402BC_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802402F0_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802403D0_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_8024043C_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802404AC_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_80240584_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802405D8_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_8024078C_D37800); + +INCLUDE_ASM(s32, "world/area_sam/sam_10", func_802409EC_D37800); diff --git a/src/world/area_sam/sam_11.c b/src/world/area_sam/sam_11.c new file mode 100644 index 0000000000..769aa675fd --- /dev/null +++ b/src/world/area_sam/sam_11.c @@ -0,0 +1,101 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240000_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240040_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802400B0_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240280_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802402B4_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240360_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024052C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240540_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240554_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240564_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240580); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024059C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024072C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240754_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802407D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240884_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802408E8_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802408FC_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024090C); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240B30_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240B7C); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240B9C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240BFC_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240D48_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240EBC_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80240F40_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241158_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024120C); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241240); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802412C0_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802412D8_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802412F4_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024130C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_8024133C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802413B0_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241450_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802415EC_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241650_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802416E0_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802417C8_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241834); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241864_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_802418B4); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241A6C_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241AA0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241BC4_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241DAC_D3A5D0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241FB0); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80241FE8); + +INCLUDE_ASM(s32, "world/area_sam/sam_11", func_80242074); diff --git a/src/world/area_sam/sam_12.c b/src/world/area_sam/sam_12.c new file mode 100644 index 0000000000..f0f9208b2c --- /dev/null +++ b/src/world/area_sam/sam_12.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sam/sam_12", func_80240000_D4BA20); + +INCLUDE_ASM(s32, "world/area_sam/sam_12", func_80240090_D4BA20); + +INCLUDE_ASM(s32, "world/area_sam/sam_12", func_802400C0_D4BA20); + +INCLUDE_ASM(s32, "world/area_sam/sam_12", func_80240194_D4BA20); + +INCLUDE_ASM(s32, "world/area_sam/sam_12", func_80240238_D4BA20); diff --git a/src/world/area_sbk/sbk_00.c b/src/world/area_sbk/sbk_00.c new file mode 100644 index 0000000000..99fd595f30 --- /dev/null +++ b/src/world/area_sbk/sbk_00.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_00", func_80240000_929270); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_00", func_80240040_929270); diff --git a/src/world/area_sbk/sbk_01.c b/src/world/area_sbk/sbk_01.c new file mode 100644 index 0000000000..573791a2b4 --- /dev/null +++ b/src/world/area_sbk/sbk_01.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_01", func_80240000_929A90); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_01", func_80240040_929A90); diff --git a/src/world/area_sbk/sbk_02.c b/src/world/area_sbk/sbk_02.c new file mode 100644 index 0000000000..21b072fefa --- /dev/null +++ b/src/world/area_sbk/sbk_02.c @@ -0,0 +1,31 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240000_92A2B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240040_92A2B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240164); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240338); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240364); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_802406F0_92A2B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_8024074C_92A2B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_8024091C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240970); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_802409A8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240A44); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240AF8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240B5C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240B98_92A2B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_02", func_80240BD4); diff --git a/src/world/area_sbk/sbk_03.c b/src/world/area_sbk/sbk_03.c new file mode 100644 index 0000000000..e07580935f --- /dev/null +++ b/src/world/area_sbk/sbk_03.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_03", func_80240000_92F8B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_03", func_80240040_92F8B0); diff --git a/src/world/area_sbk/sbk_04.c b/src/world/area_sbk/sbk_04.c new file mode 100644 index 0000000000..366420a252 --- /dev/null +++ b/src/world/area_sbk/sbk_04.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_04", func_80240000_9304D0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_04", func_80240040_9304D0); diff --git a/src/world/area_sbk/sbk_05.c b/src/world/area_sbk/sbk_05.c new file mode 100644 index 0000000000..74de28baf6 --- /dev/null +++ b/src/world/area_sbk/sbk_05.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_05", func_80240000_930CF0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_05", func_80240040_930CF0); diff --git a/src/world/area_sbk/sbk_06.c b/src/world/area_sbk/sbk_06.c new file mode 100644 index 0000000000..71edb1087a --- /dev/null +++ b/src/world/area_sbk/sbk_06.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_06", func_80240000_9325C0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_06", func_80240040_9325C0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_06", func_80240140); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_06", func_802401B0_9325C0); diff --git a/src/world/area_sbk/sbk_10.c b/src/world/area_sbk/sbk_10.c new file mode 100644 index 0000000000..968de35106 --- /dev/null +++ b/src/world/area_sbk/sbk_10.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_10", func_80240000_933C80); diff --git a/src/world/area_sbk/sbk_11.c b/src/world/area_sbk/sbk_11.c new file mode 100644 index 0000000000..0e6fd91d97 --- /dev/null +++ b/src/world/area_sbk/sbk_11.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_11", func_80240000_934040); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_11", func_80240040_934040); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_11", func_80240140_934040); diff --git a/src/world/area_sbk/sbk_12.c b/src/world/area_sbk/sbk_12.c new file mode 100644 index 0000000000..f5a76aae84 --- /dev/null +++ b/src/world/area_sbk/sbk_12.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_12", func_80240000_934D40); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_12", func_80240040_934D40); diff --git a/src/world/area_sbk/sbk_13.c b/src/world/area_sbk/sbk_13.c new file mode 100644 index 0000000000..b5ff338efd --- /dev/null +++ b/src/world/area_sbk/sbk_13.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_13", func_80240000_9357E0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_13", func_80240040_9357E0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_13", func_80240140_9357E0); diff --git a/src/world/area_sbk/sbk_14.c b/src/world/area_sbk/sbk_14.c new file mode 100644 index 0000000000..60d3c9745c --- /dev/null +++ b/src/world/area_sbk/sbk_14.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_14", func_80240000_9366E0); diff --git a/src/world/area_sbk/sbk_15.c b/src/world/area_sbk/sbk_15.c new file mode 100644 index 0000000000..507f3102c0 --- /dev/null +++ b/src/world/area_sbk/sbk_15.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_15", func_80240000_936CD0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_15", func_80240040_936CD0); diff --git a/src/world/area_sbk/sbk_16.c b/src/world/area_sbk/sbk_16.c new file mode 100644 index 0000000000..5320092f98 --- /dev/null +++ b/src/world/area_sbk/sbk_16.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_16", func_80240000_937570); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_16", func_80240040_937570); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_16", func_802400B0); diff --git a/src/world/area_sbk/sbk_20.c b/src/world/area_sbk/sbk_20.c new file mode 100644 index 0000000000..ac8dc8ca53 --- /dev/null +++ b/src/world/area_sbk/sbk_20.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_20", func_80240000_938590); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_20", func_80240040_938590); diff --git a/src/world/area_sbk/sbk_21.c b/src/world/area_sbk/sbk_21.c new file mode 100644 index 0000000000..8cda72a35c --- /dev/null +++ b/src/world/area_sbk/sbk_21.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_21", func_80240000_939560); diff --git a/src/world/area_sbk/sbk_22.c b/src/world/area_sbk/sbk_22.c new file mode 100644 index 0000000000..e0300ad580 --- /dev/null +++ b/src/world/area_sbk/sbk_22.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_22", func_80240000_939930); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_22", func_80240040_939930); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_22", func_80240140_939930); diff --git a/src/world/area_sbk/sbk_23.c b/src/world/area_sbk/sbk_23.c new file mode 100644 index 0000000000..8847df4eb8 --- /dev/null +++ b/src/world/area_sbk/sbk_23.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_23", func_80240000_93A760); diff --git a/src/world/area_sbk/sbk_24.c b/src/world/area_sbk/sbk_24.c new file mode 100644 index 0000000000..c4864d12d6 --- /dev/null +++ b/src/world/area_sbk/sbk_24.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_24", func_80240000_93AC30); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_24", func_80240040_93AC30); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_24", func_80240140_93AC30); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_24", func_802401B0_93AC30); diff --git a/src/world/area_sbk/sbk_25.c b/src/world/area_sbk/sbk_25.c new file mode 100644 index 0000000000..967e949687 --- /dev/null +++ b/src/world/area_sbk/sbk_25.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_25", func_80240000_93C280); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_25", func_80240040_93C280); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_25", func_80240140_93C280); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_25", func_802401B0_93C280); diff --git a/src/world/area_sbk/sbk_26.c b/src/world/area_sbk/sbk_26.c new file mode 100644 index 0000000000..6858f3129c --- /dev/null +++ b/src/world/area_sbk/sbk_26.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_26", func_80240000_93DCD0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_26", func_80240040_93DCD0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_26", func_80240140_93DCD0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_26", func_80240160_93DCD0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_26", func_802401D0_93DCD0); diff --git a/src/world/area_sbk/sbk_30.c b/src/world/area_sbk/sbk_30.c new file mode 100644 index 0000000000..d889e85cd7 --- /dev/null +++ b/src/world/area_sbk/sbk_30.c @@ -0,0 +1,57 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240000_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240040_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240164_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240338_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240370_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240424_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240544_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802405A4_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_8024061C_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_8024074C_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240868_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802408B0_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_8024095C_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240B64_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240DDC_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240E90_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240EF4); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80240F50_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80241120_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80241174_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802411AC_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80241248); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802412E4); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802413D4_93F5B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80241560); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802415A4); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_802415D0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_30", func_80241640); diff --git a/src/world/area_sbk/sbk_31.c b/src/world/area_sbk/sbk_31.c new file mode 100644 index 0000000000..ac536a75f4 --- /dev/null +++ b/src/world/area_sbk/sbk_31.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_31", func_80240000_944000); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_31", func_80240040_944000); diff --git a/src/world/area_sbk/sbk_32.c b/src/world/area_sbk/sbk_32.c new file mode 100644 index 0000000000..923ce24179 --- /dev/null +++ b/src/world/area_sbk/sbk_32.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_32", func_80240000_944A60); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_32", func_80240040_944A60); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_32", func_80240140_944A60); diff --git a/src/world/area_sbk/sbk_33.c b/src/world/area_sbk/sbk_33.c new file mode 100644 index 0000000000..f74abfad78 --- /dev/null +++ b/src/world/area_sbk/sbk_33.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_33", func_80240000_9459D0); diff --git a/src/world/area_sbk/sbk_34.c b/src/world/area_sbk/sbk_34.c new file mode 100644 index 0000000000..9138831148 --- /dev/null +++ b/src/world/area_sbk/sbk_34.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240000_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240040_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_802400F4_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240158); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_802401B4); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240384_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_802403D8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240410_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_802404AC_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_8024059C_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240728_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_8024076C_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_802407A0_945ED0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_34", func_80240810_945ED0); diff --git a/src/world/area_sbk/sbk_35.c b/src/world/area_sbk/sbk_35.c new file mode 100644 index 0000000000..446f18d044 --- /dev/null +++ b/src/world/area_sbk/sbk_35.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_35", func_80240000_9486B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_35", func_80240040_9486B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_35", func_80240140_9486B0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_35", func_802401B0_9486B0); diff --git a/src/world/area_sbk/sbk_36.c b/src/world/area_sbk/sbk_36.c new file mode 100644 index 0000000000..5627f10be7 --- /dev/null +++ b/src/world/area_sbk/sbk_36.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_36", func_80240000_949E60); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_36", func_80240040_949E60); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_36", func_802400B0_949E60); diff --git a/src/world/area_sbk/sbk_40.c b/src/world/area_sbk/sbk_40.c new file mode 100644 index 0000000000..4c6e6b54fd --- /dev/null +++ b/src/world/area_sbk/sbk_40.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_40", func_80240000_94B3A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_40", func_80240040_94B3A0); diff --git a/src/world/area_sbk/sbk_41.c b/src/world/area_sbk/sbk_41.c new file mode 100644 index 0000000000..c29918c3fe --- /dev/null +++ b/src/world/area_sbk/sbk_41.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_41", func_80240000_94C040); diff --git a/src/world/area_sbk/sbk_42.c b/src/world/area_sbk/sbk_42.c new file mode 100644 index 0000000000..42d0e766b1 --- /dev/null +++ b/src/world/area_sbk/sbk_42.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_42", func_80240000_94C510); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_42", func_80240040_94C510); diff --git a/src/world/area_sbk/sbk_43.c b/src/world/area_sbk/sbk_43.c new file mode 100644 index 0000000000..0c596098a6 --- /dev/null +++ b/src/world/area_sbk/sbk_43.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_43", func_80240000_94D170); diff --git a/src/world/area_sbk/sbk_44.c b/src/world/area_sbk/sbk_44.c new file mode 100644 index 0000000000..f1a6fea97e --- /dev/null +++ b/src/world/area_sbk/sbk_44.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_44", func_80240000_94D5A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_44", func_80240040_94D5A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_44", func_80240140_94D5A0); diff --git a/src/world/area_sbk/sbk_45.c b/src/world/area_sbk/sbk_45.c new file mode 100644 index 0000000000..fd58b111cc --- /dev/null +++ b/src/world/area_sbk/sbk_45.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_45", func_80240000_94E4A0); diff --git a/src/world/area_sbk/sbk_46.c b/src/world/area_sbk/sbk_46.c new file mode 100644 index 0000000000..af0df0ded3 --- /dev/null +++ b/src/world/area_sbk/sbk_46.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_46", func_80240000_94E9A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_46", func_80240040_94E9A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_46", func_80240140_94E9A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_46", func_80240160_94E9A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_46", func_802401D0_94E9A0); diff --git a/src/world/area_sbk/sbk_50.c b/src/world/area_sbk/sbk_50.c new file mode 100644 index 0000000000..32b8326d26 --- /dev/null +++ b/src/world/area_sbk/sbk_50.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_50", func_80240000_950610); diff --git a/src/world/area_sbk/sbk_51.c b/src/world/area_sbk/sbk_51.c new file mode 100644 index 0000000000..968d25bc24 --- /dev/null +++ b/src/world/area_sbk/sbk_51.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_51", func_80240000_950970); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_51", func_80240040_950970); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_51", func_80240140_950970); diff --git a/src/world/area_sbk/sbk_52.c b/src/world/area_sbk/sbk_52.c new file mode 100644 index 0000000000..a2d60e96f3 --- /dev/null +++ b/src/world/area_sbk/sbk_52.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_52", func_80240000_951670); diff --git a/src/world/area_sbk/sbk_53.c b/src/world/area_sbk/sbk_53.c new file mode 100644 index 0000000000..aa00aff2b5 --- /dev/null +++ b/src/world/area_sbk/sbk_53.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_53", func_80240000_951AE0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_53", func_80240040_951AE0); diff --git a/src/world/area_sbk/sbk_54.c b/src/world/area_sbk/sbk_54.c new file mode 100644 index 0000000000..b1217d0e58 --- /dev/null +++ b/src/world/area_sbk/sbk_54.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_54", func_80240000_952580); diff --git a/src/world/area_sbk/sbk_55.c b/src/world/area_sbk/sbk_55.c new file mode 100644 index 0000000000..94af19b9ef --- /dev/null +++ b/src/world/area_sbk/sbk_55.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_55", func_80240000_952A50); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_55", func_80240040_952A50); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_55", func_80240060_952A50); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_55", func_802400D0_952A50); diff --git a/src/world/area_sbk/sbk_56.c b/src/world/area_sbk/sbk_56.c new file mode 100644 index 0000000000..19d68029a9 --- /dev/null +++ b/src/world/area_sbk/sbk_56.c @@ -0,0 +1,47 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240000_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240038_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_8024005C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240080_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_8024009C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_802400BC); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_802400E8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240154_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_802401A0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_8024024C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_8024049C); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_802404C8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240500_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240590); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_802405C4); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240628_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240680_953FC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240BB8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240CF8); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240D40); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240D88); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240DC0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_56", func_80240E30); diff --git a/src/world/area_sbk/sbk_60.c b/src/world/area_sbk/sbk_60.c new file mode 100644 index 0000000000..01bc3be808 --- /dev/null +++ b/src/world/area_sbk/sbk_60.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_60", func_80240000_9569F0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_60", func_80240040_9569F0); diff --git a/src/world/area_sbk/sbk_61.c b/src/world/area_sbk/sbk_61.c new file mode 100644 index 0000000000..13310a3e41 --- /dev/null +++ b/src/world/area_sbk/sbk_61.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_61", func_80240000_956F90); diff --git a/src/world/area_sbk/sbk_62.c b/src/world/area_sbk/sbk_62.c new file mode 100644 index 0000000000..5aa7dc011b --- /dev/null +++ b/src/world/area_sbk/sbk_62.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_62", func_80240000_957350); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_62", func_80240040_957350); diff --git a/src/world/area_sbk/sbk_63.c b/src/world/area_sbk/sbk_63.c new file mode 100644 index 0000000000..5958f949cf --- /dev/null +++ b/src/world/area_sbk/sbk_63.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_63", func_80240000_957D70); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_63", func_80240040_957D70); diff --git a/src/world/area_sbk/sbk_64.c b/src/world/area_sbk/sbk_64.c new file mode 100644 index 0000000000..b83c3ea43b --- /dev/null +++ b/src/world/area_sbk/sbk_64.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_64", func_80240000_958590); diff --git a/src/world/area_sbk/sbk_65.c b/src/world/area_sbk/sbk_65.c new file mode 100644 index 0000000000..bf12fec319 --- /dev/null +++ b/src/world/area_sbk/sbk_65.c @@ -0,0 +1,3 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_65", func_80240000_958950); diff --git a/src/world/area_sbk/sbk_66.c b/src/world/area_sbk/sbk_66.c new file mode 100644 index 0000000000..4ec61021c3 --- /dev/null +++ b/src/world/area_sbk/sbk_66.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_sbk/sbk_66", func_80240000_958CB0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_66", func_80240040_958CB0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_66", func_80240140_958CB0); + +INCLUDE_ASM(s32, "world/area_sbk/sbk_66", func_802401B0_958CB0); diff --git a/src/world/area_tik/tik_01.c b/src/world/area_tik/tik_01.c new file mode 100644 index 0000000000..371b130534 --- /dev/null +++ b/src/world/area_tik/tik_01.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240000_8694B0); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240124_8694B0); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_8024030C_8694B0); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_8024032C); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240340); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_802403FC); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_802404DC); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240548); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_802405F0_8694B0); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240960); + +INCLUDE_ASM(s32, "world/area_tik/tik_01", func_80240A30); diff --git a/src/world/area_tik/tik_02.c b/src/world/area_tik/tik_02.c new file mode 100644 index 0000000000..7e087f6a36 --- /dev/null +++ b/src/world/area_tik/tik_02.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240000_86C740); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240124_86C740); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240310); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_802403C4); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240428); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240578_86C740); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_802405D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_02", func_80240940); diff --git a/src/world/area_tik/tik_03.c b/src/world/area_tik/tik_03.c new file mode 100644 index 0000000000..a6052b77b9 --- /dev/null +++ b/src/world/area_tik/tik_03.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_80240000_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_80240020_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_80240034_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802400F0_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802401D0_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_8024023C_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802402E0_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_80240404_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802405F0_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_80240960_86EB00); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802409C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_03", func_802409E0); diff --git a/src/world/area_tik/tik_04.c b/src/world/area_tik/tik_04.c new file mode 100644 index 0000000000..31a02c9ac1 --- /dev/null +++ b/src/world/area_tik/tik_04.c @@ -0,0 +1,27 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240000_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240124_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_8024030C_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_8024032C_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240340_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_802403FC_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_802404DC_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240548_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_802405F0_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240960_871A30); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240A00); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240BF4); + +INCLUDE_ASM(s32, "world/area_tik/tik_04", func_80240C20_871A30); diff --git a/src/world/area_tik/tik_05.c b/src/world/area_tik/tik_05.c new file mode 100644 index 0000000000..aa21810f0f --- /dev/null +++ b/src/world/area_tik/tik_05.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240000_874DC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240124_874DC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240310_874DC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240680); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240734); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240798); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_802408E8); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_8024093C); + +INCLUDE_ASM(s32, "world/area_tik/tik_05", func_80240984); diff --git a/src/world/area_tik/tik_06.c b/src/world/area_tik/tik_06.c new file mode 100644 index 0000000000..641a5c65b7 --- /dev/null +++ b/src/world/area_tik/tik_06.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_80240000_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_80240020_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_80240034_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_802400F0_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_802401D0_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_8024023C_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_802402E0_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_80240404_876EE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_06", func_802405F0_876EE0); diff --git a/src/world/area_tik/tik_07.c b/src/world/area_tik/tik_07.c new file mode 100644 index 0000000000..f92245f41f --- /dev/null +++ b/src/world/area_tik/tik_07.c @@ -0,0 +1,75 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240000_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240020_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240034_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802400F0_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802401D0_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_8024023C_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802402E0_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802402FC); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_8024031C); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240348); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802403B4); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240400); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802404AC); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802406FC); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240728); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240760); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802407F0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240824); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240888); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802408E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240E18); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240F58); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240FA0_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80240FE8); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80241020); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80241390); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802413F0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802415A0_879BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80241BC8); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80241C88); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80241FCC); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80242044); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802420B0); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802421E4); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_80242248); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802425D8); + +INCLUDE_ASM(s32, "world/area_tik/tik_07", func_802426FC); diff --git a/src/world/area_tik/tik_08.c b/src/world/area_tik/tik_08.c new file mode 100644 index 0000000000..285b05765c --- /dev/null +++ b/src/world/area_tik/tik_08.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240000_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240020_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240034_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_802400F0_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_802401D0_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_8024023C_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_802402E0_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240404_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_802405F0_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240960_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240A30_87EDF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_08", func_80240A5C_87EDF0); diff --git a/src/world/area_tik/tik_09.c b/src/world/area_tik/tik_09.c new file mode 100644 index 0000000000..d6ed77f0c2 --- /dev/null +++ b/src/world/area_tik/tik_09.c @@ -0,0 +1,33 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240000_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240020_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240034_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_802400F0_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_802401D0_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_8024023C_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_802402E0_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240404_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_802405F0_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240960_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240A30_8821C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240AAC); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240BE0); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240D44); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80240DC4); + +INCLUDE_ASM(s32, "world/area_tik/tik_09", func_80241204); diff --git a/src/world/area_tik/tik_10.c b/src/world/area_tik/tik_10.c new file mode 100644 index 0000000000..a657145392 --- /dev/null +++ b/src/world/area_tik/tik_10.c @@ -0,0 +1,43 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240000_8863C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240124_8863C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240310_8863C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240680_8863C0); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_8024069C); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_802406BC); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_802406E8); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240754); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_802407A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_8024084C); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240A9C); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240AC8); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240B00); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240B90); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240BC4); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240C28); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80240C80); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_802411B8); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_802412F8); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80241340); + +INCLUDE_ASM(s32, "world/area_tik/tik_10", func_80241388_8863C0); diff --git a/src/world/area_tik/tik_12.c b/src/world/area_tik/tik_12.c new file mode 100644 index 0000000000..de6b7766e2 --- /dev/null +++ b/src/world/area_tik/tik_12.c @@ -0,0 +1,79 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240000_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240020_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240034_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802400F0_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802401D0_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_8024023C_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802402E0_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240404_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802405F0_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240960_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240A14); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240A78); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240BC8); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240C1C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240C38); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240C58); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240C84); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240CF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240D3C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80240DE8_888BD0); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241038); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241064); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_8024109C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_8024112C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241160); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802411C4); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_8024121C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241754); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241894); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802418DC); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241924); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241960); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802419DC); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241B10); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241C74); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80241CF4); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_80242134); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_8024217C); + +INCLUDE_ASM(s32, "world/area_tik/tik_12", func_802421D4); diff --git a/src/world/area_tik/tik_14.c b/src/world/area_tik/tik_14.c new file mode 100644 index 0000000000..bdcffb0153 --- /dev/null +++ b/src/world/area_tik/tik_14.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_80240000_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_80240020_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_80240034_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_802400F0_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_802401D0_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_8024023C_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_802402E0_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_80240404_88D600); + +INCLUDE_ASM(s32, "world/area_tik/tik_14", func_802405F0_88D600); diff --git a/src/world/area_tik/tik_15.c b/src/world/area_tik/tik_15.c new file mode 100644 index 0000000000..8ce9d01fa9 --- /dev/null +++ b/src/world/area_tik/tik_15.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240000_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240020_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240034_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_802400F0_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_802401D0_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_8024023C_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_802402E0_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240404_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_802405F0_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240960_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240A14_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240A78_88FBA0); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240AA4); + +INCLUDE_ASM(s32, "world/area_tik/tik_15", func_80240AD0); diff --git a/src/world/area_tik/tik_17.c b/src/world/area_tik/tik_17.c new file mode 100644 index 0000000000..1eb0077cb2 --- /dev/null +++ b/src/world/area_tik/tik_17.c @@ -0,0 +1,55 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240000_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240030_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_8024004C); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_8024006C); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240098); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240104); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240150); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_802401FC); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_8024044C); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240478); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_802404B0_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240540); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240574); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_802405D8); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240630_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240B68); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240CA8); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240CF0_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240D38); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240D70); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240D90); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240DA4_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240E60_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240F40); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80240FAC_892A20); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80241050); + +INCLUDE_ASM(s32, "world/area_tik/tik_17", func_80241174); diff --git a/src/world/area_tik/tik_18.c b/src/world/area_tik/tik_18.c new file mode 100644 index 0000000000..126c9c289d --- /dev/null +++ b/src/world/area_tik/tik_18.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_18", func_80240000_8956E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_18", func_80240124_8956E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_18", func_80240310_8956E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_18", func_80240680_8956E0); diff --git a/src/world/area_tik/tik_19.c b/src/world/area_tik/tik_19.c new file mode 100644 index 0000000000..072d723737 --- /dev/null +++ b/src/world/area_tik/tik_19.c @@ -0,0 +1,53 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240000_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240020_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240034_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802400F0_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802401D0_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_8024023C_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802402E0_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240404_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802405F0_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_8024060C); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_8024062C); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240658_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802406C4); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240710); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802407BC); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240A0C); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240A38); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240A70); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240B00_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240B34); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240B98); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80240BF0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80241128); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_80241268); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802412B0_8975E0); + +INCLUDE_ASM(s32, "world/area_tik/tik_19", func_802412F8_8975E0); diff --git a/src/world/area_tik/tik_20.c b/src/world/area_tik/tik_20.c new file mode 100644 index 0000000000..ff5fddcacf --- /dev/null +++ b/src/world/area_tik/tik_20.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240000_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240124_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_8024030C_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_8024032C_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240340_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_802403FC_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_802404DC_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240548_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_802405EC_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240960_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_802409DC_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240B10); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240C74_89A350); + +INCLUDE_ASM(s32, "world/area_tik/tik_20", func_80240CF4); diff --git a/src/world/area_tik/tik_21.c b/src/world/area_tik/tik_21.c new file mode 100644 index 0000000000..935063d3b1 --- /dev/null +++ b/src/world/area_tik/tik_21.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_80240000_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_80240124_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_8024030C_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_8024032C_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_80240340_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_802403FC_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_802404DC_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_80240548_89D7A0); + +INCLUDE_ASM(s32, "world/area_tik/tik_21", func_802405EC_89D7A0); diff --git a/src/world/area_tik/tik_22.c b/src/world/area_tik/tik_22.c new file mode 100644 index 0000000000..6265660fcb --- /dev/null +++ b/src/world/area_tik/tik_22.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240000_89FEC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240030_89FEC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240154); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_8024033C); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_8024035C); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240370); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_8024042C); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_8024050C_89FEC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240578_89FEC0); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_8024061C); + +INCLUDE_ASM(s32, "world/area_tik/tik_22", func_80240640); diff --git a/src/world/area_tik/tik_23.c b/src/world/area_tik/tik_23.c new file mode 100644 index 0000000000..4e8858afb7 --- /dev/null +++ b/src/world/area_tik/tik_23.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240000_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240020_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240034_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_802400F0_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_802401D0_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_8024023C_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_802402E0_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240404_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_802405EC_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240960_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_802409DC_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240B10_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240C74_8A23D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_23", func_80240CF4_8A23D0); diff --git a/src/world/area_tik/tik_24.c b/src/world/area_tik/tik_24.c new file mode 100644 index 0000000000..ebf7f41568 --- /dev/null +++ b/src/world/area_tik/tik_24.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240000_8A5A80); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240050_8A5A80); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240174); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240360); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_802406D0); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_8024074C); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240880); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_802409E4); + +INCLUDE_ASM(s32, "world/area_tik/tik_24", func_80240A64); diff --git a/src/world/area_tik/tik_25.c b/src/world/area_tik/tik_25.c new file mode 100644 index 0000000000..c4680a1705 --- /dev/null +++ b/src/world/area_tik/tik_25.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_80240000_8A7F80); + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_80240124_8A7F80); + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_8024030C_8A7F80); + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_80240680_8A7F80); + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_802406AC); + +INCLUDE_ASM(s32, "world/area_tik/tik_25", func_80240770); diff --git a/src/world/area_trd/trd_00.c b/src/world/area_trd/trd_00.c new file mode 100644 index 0000000000..7b8480188a --- /dev/null +++ b/src/world/area_trd/trd_00.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_80240000_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_80240124_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_80240310_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_802403C4_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_80240428_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_80240578_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_802405D0_999C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_00", func_8024060C_999C70); diff --git a/src/world/area_trd/trd_01.c b/src/world/area_trd/trd_01.c new file mode 100644 index 0000000000..aecc3c10ed --- /dev/null +++ b/src/world/area_trd/trd_01.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240000_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240124_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240310_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240344_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_802403F0_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_8024046C); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_802405A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240704); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240784); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240BC4_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240C78_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240D98); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240DF8_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240E70); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80240FA0_99C990); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_802410BC); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80241104); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_802411B0); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_802413B8); + +INCLUDE_ASM(s32, "world/area_trd/trd_01", func_80241630); diff --git a/src/world/area_trd/trd_02.c b/src/world/area_trd/trd_02.c new file mode 100644 index 0000000000..945bfe5364 --- /dev/null +++ b/src/world/area_trd/trd_02.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240000_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240034_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_802400E0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_8024015C); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240290_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_802403F4); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240474); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_802408B4_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240A0C_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240CB4); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240D74); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240F30); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80240FE4); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241058); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_802410D0_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241200); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241320_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241388_9A0FE0); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241448); + +INCLUDE_ASM(s32, "world/area_trd/trd_02", func_80241744); diff --git a/src/world/area_trd/trd_03.c b/src/world/area_trd/trd_03.c new file mode 100644 index 0000000000..0b490413b1 --- /dev/null +++ b/src/world/area_trd/trd_03.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_80240000_9A4650); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_8024006C_9A4650); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_802400A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_8024011C); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_80240250); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_802403B4_9A4650); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_80240434_9A4650); + +INCLUDE_ASM(s32, "world/area_trd/trd_03", func_80240880_9A4650); diff --git a/src/world/area_trd/trd_04.c b/src/world/area_trd/trd_04.c new file mode 100644 index 0000000000..2eaa422fdf --- /dev/null +++ b/src/world/area_trd/trd_04.c @@ -0,0 +1,79 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240000_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240124_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240310_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240344_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240408); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802404B0_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_8024052C); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240660_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802407C4); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240844); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240C84_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80240DDC_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241084); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241144); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241300); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802413B4); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241428); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802414A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802415D0_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802416F0_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241758); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241818); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241B14_9A83F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241E18); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80241FC8); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802425F0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802426B0); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802429F4); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80242A6C); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80242AD8); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80242C0C); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80242C70); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80243000); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80243124); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80243310); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80243438); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_802434F4); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_8024360C); + +INCLUDE_ASM(s32, "world/area_trd/trd_04", func_80243650); diff --git a/src/world/area_trd/trd_05.c b/src/world/area_trd/trd_05.c new file mode 100644 index 0000000000..ed971d6231 --- /dev/null +++ b/src/world/area_trd/trd_05.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_80240000_9AE700); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_80240020_9AE700); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_80240404_9AE700); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_802404D0_9AE700); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_80240508); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_802405FC_9AE700); + +INCLUDE_ASM(s32, "world/area_trd/trd_05", func_80240720_9AE700); diff --git a/src/world/area_trd/trd_06.c b/src/world/area_trd/trd_06.c new file mode 100644 index 0000000000..5ef981bca8 --- /dev/null +++ b/src/world/area_trd/trd_06.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240000_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240124_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240310_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240724); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_8024081C_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240854_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_8024093C_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240A5C_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240A70_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240AD0_9B1790); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240AF0); + +INCLUDE_ASM(s32, "world/area_trd/trd_06", func_80240C80_9B1790); diff --git a/src/world/area_trd/trd_07.c b/src/world/area_trd/trd_07.c new file mode 100644 index 0000000000..5aba230b06 --- /dev/null +++ b/src/world/area_trd/trd_07.c @@ -0,0 +1,53 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240000_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240124_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240310_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_8024038C); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802404C0_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240624_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802406A4); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240AE4); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80240C94_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802412BC); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_8024137C); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802416C0); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80241738_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802417A4); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802418D8_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_8024193C); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80241CCC); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80241DF0); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80241FDC_9B6980); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80242104); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802421C0); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802422D8); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_8024231C); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_8024256C); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_80242600); + +INCLUDE_ASM(s32, "world/area_trd/trd_07", func_802427FC); diff --git a/src/world/area_trd/trd_08.c b/src/world/area_trd/trd_08.c new file mode 100644 index 0000000000..868e61a3c9 --- /dev/null +++ b/src/world/area_trd/trd_08.c @@ -0,0 +1,9 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_08", func_80240000_9BB2A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_08", func_80240124_9BB2A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_08", func_80240310_9BB2A0); + +INCLUDE_ASM(s32, "world/area_trd/trd_08", func_80240904); diff --git a/src/world/area_trd/trd_09.c b/src/world/area_trd/trd_09.c new file mode 100644 index 0000000000..a0ecfb2300 --- /dev/null +++ b/src/world/area_trd/trd_09.c @@ -0,0 +1,5 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_09", func_80240000_9BD660); + +INCLUDE_ASM(s32, "world/area_trd/trd_09", func_802400C0); diff --git a/src/world/area_trd/trd_10.c b/src/world/area_trd/trd_10.c new file mode 100644 index 0000000000..429646194f --- /dev/null +++ b/src/world/area_trd/trd_10.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_80240000_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_8024004C_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_802401AC_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_802405BC_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_802405FC_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_80240708_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_802407F4_9C2910); + +INCLUDE_ASM(s32, "world/area_trd/trd_10", func_80240820); diff --git a/src/world/area_tst/tst_04.c b/src/world/area_tst/tst_04.c new file mode 100644 index 0000000000..c172c39f78 --- /dev/null +++ b/src/world/area_tst/tst_04.c @@ -0,0 +1,23 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240000_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_802400FC_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240260); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_8024029C_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240360_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240510_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240574_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_802405B0); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_802405D4); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240628_B1B570); + +INCLUDE_ASM(s32, "world/area_tst/tst_04", func_80240660_B1B570); diff --git a/src/world/area_tst/tst_11.c b/src/world/area_tst/tst_11.c new file mode 100644 index 0000000000..e765909384 --- /dev/null +++ b/src/world/area_tst/tst_11.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_80240000_B1CA50); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_8024003C_B1CA50); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_80240100); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_802402B8); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_802402F4); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_802403B8_B1CA50); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_802406D4); + +INCLUDE_ASM(s32, "world/area_tst/tst_11", func_80240730_B1CA50); diff --git a/src/world/area_tst/tst_13.c b/src/world/area_tst/tst_13.c new file mode 100644 index 0000000000..fcfc6de9d8 --- /dev/null +++ b/src/world/area_tst/tst_13.c @@ -0,0 +1,7 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/area_tst/tst_13", func_80240000_B1D760); + +INCLUDE_ASM(s32, "world/area_tst/tst_13", func_802400A0_B1D760); + +INCLUDE_ASM(s32, "world/area_tst/tst_13", func_8024013C); diff --git a/tools/n64splat b/tools/n64splat index df0c077d22..a81e396af9 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit df0c077d223dc45856da8b0b551512c063f8fcca +Subproject commit a81e396af93929a863c7fc9ea988fb526037bb7d diff --git a/tools/splat.yaml b/tools/splat.yaml index 9c79ec9160..235a6c2700 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -197,6 +197,7 @@ segments: - [0x4a360, "c", "os/code_4a360_len_930"] - [0x4ac90, "c", "os/code_4ac90_len_3910"] - [0x4E5A0, "bin"] + - [0x6E8F0, "bin", "world/area_table"] - name: code type: code start: 0x759B0 @@ -851,7 +852,2914 @@ segments: - [0x7E2AA0, "c"] - [0x7E3700, "c"] - [0x7e4d00, "bin"] - - [0x7E73A0, "bin"] # todo split this further + - name: world/area_mac/machi + type: code + start: 0x7E73A0 + vram: 0x80240000 + files: + - [0x7E73A0, "c", "world/area_mac/machi"] + - [0x7E7A30, "bin", "world/area_mac/machi_data"] + - name: world/area_mac/mac_00 + type: code + start: 0x7EAD10 + vram: 0x80240000 + files: + - [0x7EAD10, "c", "world/area_mac/mac_00"] + - [0x7EE870, "bin", "world/area_mac/mac_00_data"] + - name: world/area_mac/mac_01 + type: code + start: 0x800880 + vram: 0x80240000 + files: + - [0x800880, "c", "world/area_mac/mac_01"] + - [0x806F50, "bin", "world/area_mac/mac_01_data"] + - name: world/area_mac/mac_02 + type: code + start: 0x8232C0 + vram: 0x80240000 + files: + - [0x8232C0, "c", "world/area_mac/mac_02"] + - [0x8267E0, "bin", "world/area_mac/mac_02_data"] + - name: world/area_mac/mac_03 + type: code + start: 0x831800 + vram: 0x80240000 + files: + - [0x831800, "c", "world/area_mac/mac_03"] + - [0x834070, "bin", "world/area_mac/mac_03_data"] + - name: world/area_mac/mac_04 + type: code + start: 0x842BD0 + vram: 0x80240000 + files: + - [0x842BD0, "c", "world/area_mac/mac_04"] + - [0x844BF0, "bin", "world/area_mac/mac_04_data"] + - name: world/area_mac/mac_05 + type: code + start: 0x852170 + vram: 0x80240000 + files: + - [0x852170, "c", "world/area_mac/mac_05"] + - [0x8562D0, "bin", "world/area_mac/mac_05_data"] + - name: world/area_mac/mac_06 + type: code + start: 0x864B40 + vram: 0x80240000 + files: + - [0x864B40, "c", "world/area_mac/mac_06"] + - [0x8661D0, "bin", "world/area_mac/mac_06_data"] + - name: world/area_tik/tik_01 + type: code + start: 0x8694B0 + vram: 0x80240000 + files: + - [0x8694B0, "c", "world/area_tik/tik_01"] + - [0x869F40, "bin", "world/area_tik/tik_01_data"] + - name: world/area_tik/tik_02 + type: code + start: 0x86C740 + vram: 0x80240000 + files: + - [0x86C740, "c", "world/area_tik/tik_02"] + - [0x86D0E0, "bin", "world/area_tik/tik_02_data"] + - name: world/area_tik/tik_03 + type: code + start: 0x86EB00 + vram: 0x80240000 + files: + - [0x86EB00, "c", "world/area_tik/tik_03"] + - [0x86F5D0, "bin", "world/area_tik/tik_03_data"] + - name: world/area_tik/tik_04 + type: code + start: 0x871A30 + vram: 0x80240000 + files: + - [0x871A30, "c", "world/area_tik/tik_04"] + - [0x8726A0, "bin", "world/area_tik/tik_04_data"] + - name: world/area_tik/tik_05 + type: code + start: 0x874DC0 + vram: 0x80240000 + files: + - [0x874DC0, "c", "world/area_tik/tik_05"] + - [0x875810, "bin", "world/area_tik/tik_05_data"] + - name: world/area_tik/tik_06 + type: code + start: 0x876EE0 + vram: 0x80240000 + files: + - [0x876EE0, "c", "world/area_tik/tik_06"] + - [0x877840, "bin", "world/area_tik/tik_06_data"] + - name: world/area_tik/tik_07 + type: code + start: 0x879BE0 + vram: 0x80240000 + files: + - [0x879BE0, "c", "world/area_tik/tik_07"] + - [0x87C4D0, "bin", "world/area_tik/tik_07_data"] + - name: world/area_tik/tik_08 + type: code + start: 0x87EDF0 + vram: 0x80240000 + files: + - [0x87EDF0, "c", "world/area_tik/tik_08"] + - [0x87F8B0, "bin", "world/area_tik/tik_08_data"] + - name: world/area_tik/tik_09 + type: code + start: 0x8821C0 + vram: 0x80240000 + files: + - [0x8821C0, "c", "world/area_tik/tik_09"] + - [0x883460, "bin", "world/area_tik/tik_09_data"] + - name: world/area_tik/tik_10 + type: code + start: 0x8863C0 + vram: 0x80240000 + files: + - [0x8863C0, "c", "world/area_tik/tik_10"] + - [0x887780, "bin", "world/area_tik/tik_10_data"] + - name: world/area_tik/tik_12 + type: code + start: 0x888BD0 + vram: 0x80240000 + files: + - [0x888BD0, "c", "world/area_tik/tik_12"] + - [0x88AE20, "bin", "world/area_tik/tik_12_data"] + - name: world/area_tik/tik_14 + type: code + start: 0x88D600 + vram: 0x80240000 + files: + - [0x88D600, "c", "world/area_tik/tik_14"] + - [0x88DF60, "bin", "world/area_tik/tik_14_data"] + - name: world/area_tik/tik_15 + type: code + start: 0x88FBA0 + vram: 0x80240000 + files: + - [0x88FBA0, "c", "world/area_tik/tik_15"] + - [0x8906B0, "bin", "world/area_tik/tik_15_data"] + - name: world/area_tik/tik_17 + type: code + start: 0x892A20 + vram: 0x80240000 + files: + - [0x892A20, "c", "world/area_tik/tik_17"] + - [0x893D80, "bin", "world/area_tik/tik_17_data"] + - name: world/area_tik/tik_18 + type: code + start: 0x8956E0 + vram: 0x80240000 + files: + - [0x8956E0, "c", "world/area_tik/tik_18"] + - [0x895D90, "bin", "world/area_tik/tik_18_data"] + - name: world/area_tik/tik_19 + type: code + start: 0x8975E0 + vram: 0x80240000 + files: + - [0x8975E0, "c", "world/area_tik/tik_19"] + - [0x898910, "bin", "world/area_tik/tik_19_data"] + - name: world/area_tik/tik_20 + type: code + start: 0x89A350 + vram: 0x80240000 + files: + - [0x89A350, "c", "world/area_tik/tik_20"] + - [0x89B490, "bin", "world/area_tik/tik_20_data"] + - name: world/area_tik/tik_21 + type: code + start: 0x89D7A0 + vram: 0x80240000 + files: + - [0x89D7A0, "c", "world/area_tik/tik_21"] + - [0x89E100, "bin", "world/area_tik/tik_21_data"] + - name: world/area_tik/tik_22 + type: code + start: 0x89FEC0 + vram: 0x80240000 + files: + - [0x89FEC0, "c", "world/area_tik/tik_22"] + - [0x8A0870, "bin", "world/area_tik/tik_22_data"] + - name: world/area_tik/tik_23 + type: code + start: 0x8A23D0 + vram: 0x80240000 + files: + - [0x8A23D0, "c", "world/area_tik/tik_23"] + - [0x8A3510, "bin", "world/area_tik/tik_23_data"] + - name: world/area_tik/tik_24 + type: code + start: 0x8A5A80 + vram: 0x80240000 + files: + - [0x8A5A80, "c", "world/area_tik/tik_24"] + - [0x8A6930, "bin", "world/area_tik/tik_24_data"] + - name: world/area_tik/tik_25 + type: code + start: 0x8A7F80 + vram: 0x80240000 + files: + - [0x8A7F80, "c", "world/area_tik/tik_25"] + - [0x8A8740, "bin", "world/area_tik/tik_25_data"] + - name: world/area_kgr/kgr_01 + type: code + start: 0x8A9A10 + vram: 0x80240000 + files: + - [0x8A9A10, "c", "world/area_kgr/kgr_01"] + - [0x8A9F30, "bin", "world/area_kgr/kgr_01_data"] + - name: world/area_kgr/kgr_02 + type: code + start: 0x8AA450 + vram: 0x80240000 + files: + - [0x8AA450, "c", "world/area_kgr/kgr_02"] + - [0x8AABD0, "bin", "world/area_kgr/kgr_02_data"] + - name: world/area_kmr/kmr_00 + type: code + start: 0x8ABF90 + vram: 0x80240000 + files: + - [0x8ABF90, "c", "world/area_kmr/kmr_00"] + - [0x8ACD00, "bin", "world/area_kmr/kmr_00_data"] + - name: world/area_kmr/kmr_02 + type: code + start: 0x8B0070 + vram: 0x80240000 + files: + - [0x8B0070, "c", "world/area_kmr/kmr_02"] + - [0x8B3AB0, "bin", "world/area_kmr/kmr_02_data"] + - name: world/area_kmr/kmr_03 + type: code + start: 0x8C7F90 + vram: 0x80240000 + files: + - [0x8C7F90, "c", "world/area_kmr/kmr_03"] + - [0x8C85E0, "bin", "world/area_kmr/kmr_03_data"] + - name: world/area_kmr/kmr_04 + type: code + start: 0x8CA900 + vram: 0x80240000 + files: + - [0x8CA900, "c", "world/area_kmr/kmr_04"] + - [0x8CAD70, "bin", "world/area_kmr/kmr_04_data"] + - name: world/area_kmr/kmr_05 + type: code + start: 0x8CE070 + vram: 0x80240000 + files: + - [0x8CE070, "c", "world/area_kmr/kmr_05"] + - [0x8CF7F0, "bin", "world/area_kmr/kmr_05_data"] + - name: world/area_kmr/kmr_06 + type: code + start: 0x8D1510 + vram: 0x80240000 + files: + - [0x8D1510, "c", "world/area_kmr/kmr_06"] + - [0x8D32B0, "bin", "world/area_kmr/kmr_06_data"] + - name: world/area_kmr/kmr_07 + type: code + start: 0x8D3DC0 + vram: 0x80240000 + files: + - [0x8D3DC0, "c", "world/area_kmr/kmr_07"] + - [0x8D4880, "bin", "world/area_kmr/kmr_07_data"] + - name: world/area_kmr/kmr_09 + type: code + start: 0x8D5E00 + vram: 0x80240000 + files: + - [0x8D5E00, "c", "world/area_kmr/kmr_09"] + - [0x8D7330, "bin", "world/area_kmr/kmr_09_data"] + - name: world/area_kmr/kmr_10 + type: code + start: 0x8D84D0 + vram: 0x80240000 + files: + - [0x8D84D0, "c", "world/area_kmr/kmr_10"] + - [0x8D8AE0, "bin", "world/area_kmr/kmr_10_data"] + - name: world/area_kmr/kmr_11 + type: code + start: 0x8DA100 + vram: 0x80240000 + files: + - [0x8DA100, "c", "world/area_kmr/kmr_11"] + - [0x8DB260, "bin", "world/area_kmr/kmr_11_data"] + - name: world/area_kmr/kmr_12 + type: code + start: 0x8EB360 + vram: 0x80240000 + files: + - [0x8EB360, "c", "world/area_kmr/kmr_12"] + - [0x8EB390, "bin", "world/area_kmr/kmr_12_data"] + - name: world/area_kmr/kmr_20 + type: code + start: 0x8EBE20 + vram: 0x80240000 + files: + - [0x8EBE20, "c", "world/area_kmr/kmr_20"] + - [0x8EE9D0, "bin", "world/area_kmr/kmr_20_data"] + - name: world/area_kmr/kmr_21 + type: code + start: 0x8FEE80 + vram: 0x80240000 + files: + - [0x8FEE80, "c", "world/area_kmr/kmr_21"] + - [0x8FF160, "bin", "world/area_kmr/kmr_21_data"] + - name: world/area_kmr/kmr_22 + type: code + start: 0x8FF670 + vram: 0x80240000 + files: + - [0x8FF670, "c", "world/area_kmr/kmr_22"] + - [0x900380, "bin", "world/area_kmr/kmr_22_data"] + - name: world/area_kmr/kmr_23 + type: code + start: 0x907A30 + vram: 0x80240000 + files: + - [0x907A30, "c", "world/area_kmr/kmr_23"] + - [0x908B00, "bin", "world/area_kmr/kmr_23_data"] + - name: world/area_kmr/kmr_24 + type: code + start: 0x90B240 + vram: 0x80240000 + files: + - [0x90B240, "c", "world/area_kmr/kmr_24"] + - [0x90B350, "bin", "world/area_kmr/kmr_24_data"] + - name: world/area_kmr/kmr_30 + type: code + start: 0x90B6D0 + vram: 0x80240000 + files: + - [0x90B6D0, "c", "world/area_kmr/kmr_30"] + - [0x90BBB0, "bin", "world/area_kmr/kmr_30_data"] + - name: world/area_iwa/iwa_00 + type: code + start: 0x90CC40 + vram: 0x80240000 + files: + - [0x90CC40, "c", "world/area_iwa/iwa_00"] + - [0x90CF20, "bin", "world/area_iwa/iwa_00_data"] + - name: world/area_iwa/iwa_01 + type: code + start: 0x90F6B0 + vram: 0x80240000 + files: + - [0x90F6B0, "c", "world/area_iwa/iwa_01"] + - [0x912990, "bin", "world/area_iwa/iwa_01_data"] + - name: world/area_iwa/iwa_02 + type: code + start: 0x915D70 + vram: 0x80240000 + files: + - [0x915D70, "c", "world/area_iwa/iwa_02"] + - [0x916E70, "bin", "world/area_iwa/iwa_02_data"] + - name: world/area_iwa/iwa_03 + type: code + start: 0x918BB0 + vram: 0x80240000 + files: + - [0x918BB0, "c", "world/area_iwa/iwa_03"] + - [0x919F00, "bin", "world/area_iwa/iwa_03_data"] + - name: world/area_iwa/iwa_04 + type: code + start: 0x91B8E0 + vram: 0x80240000 + files: + - [0x91B8E0, "c", "world/area_iwa/iwa_04"] + - [0x91C9C0, "bin", "world/area_iwa/iwa_04_data"] + - name: world/area_iwa/iwa_10 + type: code + start: 0x91E570 + vram: 0x80240000 + files: + - [0x91E570, "c", "world/area_iwa/iwa_10"] + - [0x91FD60, "bin", "world/area_iwa/iwa_10_data"] + - name: world/area_iwa/iwa_11 + type: code + start: 0x9269F0 + vram: 0x80240000 + files: + - [0x9269F0, "c", "world/area_iwa/iwa_11"] + - [0x926D00, "bin", "world/area_iwa/iwa_11_data"] + - name: world/area_sbk/sbk_00 + type: code + start: 0x929270 + vram: 0x80240000 + files: + - [0x929270, "c", "world/area_sbk/sbk_00"] + - [0x9292D0, "bin", "world/area_sbk/sbk_00_data"] + - name: world/area_sbk/sbk_01 + type: code + start: 0x929A90 + vram: 0x80240000 + files: + - [0x929A90, "c", "world/area_sbk/sbk_01"] + - [0x929AF0, "bin", "world/area_sbk/sbk_01_data"] + - name: world/area_sbk/sbk_02 + type: code + start: 0x92A2B0 + vram: 0x80240000 + files: + - [0x92A2B0, "c", "world/area_sbk/sbk_02"] + - [0x92AEB0, "bin", "world/area_sbk/sbk_02_data"] + - name: world/area_sbk/sbk_03 + type: code + start: 0x92F8B0 + vram: 0x80240000 + files: + - [0x92F8B0, "c", "world/area_sbk/sbk_03"] + - [0x92F910, "bin", "world/area_sbk/sbk_03_data"] + - name: world/area_sbk/sbk_04 + type: code + start: 0x9304D0 + vram: 0x80240000 + files: + - [0x9304D0, "c", "world/area_sbk/sbk_04"] + - [0x930530, "bin", "world/area_sbk/sbk_04_data"] + - name: world/area_sbk/sbk_05 + type: code + start: 0x930CF0 + vram: 0x80240000 + files: + - [0x930CF0, "c", "world/area_sbk/sbk_05"] + - [0x930D50, "bin", "world/area_sbk/sbk_05_data"] + - name: world/area_sbk/sbk_06 + type: code + start: 0x9325C0 + vram: 0x80240000 + files: + - [0x9325C0, "c", "world/area_sbk/sbk_06"] + - [0x932940, "bin", "world/area_sbk/sbk_06_data"] + - name: world/area_sbk/sbk_10 + type: code + start: 0x933C80 + vram: 0x80240000 + files: + - [0x933C80, "c", "world/area_sbk/sbk_10"] + - [0x933CC0, "bin", "world/area_sbk/sbk_10_data"] + - name: world/area_sbk/sbk_11 + type: code + start: 0x934040 + vram: 0x80240000 + files: + - [0x934040, "c", "world/area_sbk/sbk_11"] + - [0x9341A0, "bin", "world/area_sbk/sbk_11_data"] + - name: world/area_sbk/sbk_12 + type: code + start: 0x934D40 + vram: 0x80240000 + files: + - [0x934D40, "c", "world/area_sbk/sbk_12"] + - [0x934DA0, "bin", "world/area_sbk/sbk_12_data"] + - name: world/area_sbk/sbk_13 + type: code + start: 0x9357E0 + vram: 0x80240000 + files: + - [0x9357E0, "c", "world/area_sbk/sbk_13"] + - [0x935940, "bin", "world/area_sbk/sbk_13_data"] + - name: world/area_sbk/sbk_14 + type: code + start: 0x9366E0 + vram: 0x80240000 + files: + - [0x9366E0, "c", "world/area_sbk/sbk_14"] + - [0x936720, "bin", "world/area_sbk/sbk_14_data"] + - name: world/area_sbk/sbk_15 + type: code + start: 0x936CD0 + vram: 0x80240000 + files: + - [0x936CD0, "c", "world/area_sbk/sbk_15"] + - [0x936D30, "bin", "world/area_sbk/sbk_15_data"] + - name: world/area_sbk/sbk_16 + type: code + start: 0x937570 + vram: 0x80240000 + files: + - [0x937570, "c", "world/area_sbk/sbk_16"] + - [0x9377F0, "bin", "world/area_sbk/sbk_16_data"] + - name: world/area_sbk/sbk_20 + type: code + start: 0x938590 + vram: 0x80240000 + files: + - [0x938590, "c", "world/area_sbk/sbk_20"] + - [0x9386D0, "bin", "world/area_sbk/sbk_20_data"] + - name: world/area_sbk/sbk_21 + type: code + start: 0x939560 + vram: 0x80240000 + files: + - [0x939560, "c", "world/area_sbk/sbk_21"] + - [0x9395A0, "bin", "world/area_sbk/sbk_21_data"] + - name: world/area_sbk/sbk_22 + type: code + start: 0x939930 + vram: 0x80240000 + files: + - [0x939930, "c", "world/area_sbk/sbk_22"] + - [0x939A90, "bin", "world/area_sbk/sbk_22_data"] + - name: world/area_sbk/sbk_23 + type: code + start: 0x93A760 + vram: 0x80240000 + files: + - [0x93A760, "c", "world/area_sbk/sbk_23"] + - [0x93A7A0, "bin", "world/area_sbk/sbk_23_data"] + - name: world/area_sbk/sbk_24 + type: code + start: 0x93AC30 + vram: 0x80240000 + files: + - [0x93AC30, "c", "world/area_sbk/sbk_24"] + - [0x93AFB0, "bin", "world/area_sbk/sbk_24_data"] + - name: world/area_sbk/sbk_25 + type: code + start: 0x93C280 + vram: 0x80240000 + files: + - [0x93C280, "c", "world/area_sbk/sbk_25"] + - [0x93C600, "bin", "world/area_sbk/sbk_25_data"] + - name: world/area_sbk/sbk_26 + type: code + start: 0x93DCD0 + vram: 0x80240000 + files: + - [0x93DCD0, "c", "world/area_sbk/sbk_26"] + - [0x93E070, "bin", "world/area_sbk/sbk_26_data"] + - name: world/area_sbk/sbk_30 + type: code + start: 0x93F5B0 + vram: 0x80240000 + files: + - [0x93F5B0, "c", "world/area_sbk/sbk_30"] + - [0x940DC0, "bin", "world/area_sbk/sbk_30_data"] + - name: world/area_sbk/sbk_31 + type: code + start: 0x944000 + vram: 0x80240000 + files: + - [0x944000, "c", "world/area_sbk/sbk_31"] + - [0x944140, "bin", "world/area_sbk/sbk_31_data"] + - name: world/area_sbk/sbk_32 + type: code + start: 0x944A60 + vram: 0x80240000 + files: + - [0x944A60, "c", "world/area_sbk/sbk_32"] + - [0x944BC0, "bin", "world/area_sbk/sbk_32_data"] + - name: world/area_sbk/sbk_33 + type: code + start: 0x9459D0 + vram: 0x80240000 + files: + - [0x9459D0, "c", "world/area_sbk/sbk_33"] + - [0x945A10, "bin", "world/area_sbk/sbk_33_data"] + - name: world/area_sbk/sbk_34 + type: code + start: 0x945ED0 + vram: 0x80240000 + files: + - [0x945ED0, "c", "world/area_sbk/sbk_34"] + - [0x9468B0, "bin", "world/area_sbk/sbk_34_data"] + - name: world/area_sbk/sbk_35 + type: code + start: 0x9486B0 + vram: 0x80240000 + files: + - [0x9486B0, "c", "world/area_sbk/sbk_35"] + - [0x948A30, "bin", "world/area_sbk/sbk_35_data"] + - name: world/area_sbk/sbk_36 + type: code + start: 0x949E60 + vram: 0x80240000 + files: + - [0x949E60, "c", "world/area_sbk/sbk_36"] + - [0x94A0E0, "bin", "world/area_sbk/sbk_36_data"] + - name: world/area_sbk/sbk_40 + type: code + start: 0x94B3A0 + vram: 0x80240000 + files: + - [0x94B3A0, "c", "world/area_sbk/sbk_40"] + - [0x94B4E0, "bin", "world/area_sbk/sbk_40_data"] + - name: world/area_sbk/sbk_41 + type: code + start: 0x94C040 + vram: 0x80240000 + files: + - [0x94C040, "c", "world/area_sbk/sbk_41"] + - [0x94C080, "bin", "world/area_sbk/sbk_41_data"] + - name: world/area_sbk/sbk_42 + type: code + start: 0x94C510 + vram: 0x80240000 + files: + - [0x94C510, "c", "world/area_sbk/sbk_42"] + - [0x94C650, "bin", "world/area_sbk/sbk_42_data"] + - name: world/area_sbk/sbk_43 + type: code + start: 0x94D170 + vram: 0x80240000 + files: + - [0x94D170, "c", "world/area_sbk/sbk_43"] + - [0x94D1B0, "bin", "world/area_sbk/sbk_43_data"] + - name: world/area_sbk/sbk_44 + type: code + start: 0x94D5A0 + vram: 0x80240000 + files: + - [0x94D5A0, "c", "world/area_sbk/sbk_44"] + - [0x94D700, "bin", "world/area_sbk/sbk_44_data"] + - name: world/area_sbk/sbk_45 + type: code + start: 0x94E4A0 + vram: 0x80240000 + files: + - [0x94E4A0, "c", "world/area_sbk/sbk_45"] + - [0x94E4E0, "bin", "world/area_sbk/sbk_45_data"] + - name: world/area_sbk/sbk_46 + type: code + start: 0x94E9A0 + vram: 0x80240000 + files: + - [0x94E9A0, "c", "world/area_sbk/sbk_46"] + - [0x94ED40, "bin", "world/area_sbk/sbk_46_data"] + - name: world/area_sbk/sbk_50 + type: code + start: 0x950610 + vram: 0x80240000 + files: + - [0x950610, "c", "world/area_sbk/sbk_50"] + - [0x950650, "bin", "world/area_sbk/sbk_50_data"] + - name: world/area_sbk/sbk_51 + type: code + start: 0x950970 + vram: 0x80240000 + files: + - [0x950970, "c", "world/area_sbk/sbk_51"] + - [0x950AD0, "bin", "world/area_sbk/sbk_51_data"] + - name: world/area_sbk/sbk_52 + type: code + start: 0x951670 + vram: 0x80240000 + files: + - [0x951670, "c", "world/area_sbk/sbk_52"] + - [0x9516B0, "bin", "world/area_sbk/sbk_52_data"] + - name: world/area_sbk/sbk_53 + type: code + start: 0x951AE0 + vram: 0x80240000 + files: + - [0x951AE0, "c", "world/area_sbk/sbk_53"] + - [0x951B40, "bin", "world/area_sbk/sbk_53_data"] + - name: world/area_sbk/sbk_54 + type: code + start: 0x952580 + vram: 0x80240000 + files: + - [0x952580, "c", "world/area_sbk/sbk_54"] + - [0x9525C0, "bin", "world/area_sbk/sbk_54_data"] + - name: world/area_sbk/sbk_55 + type: code + start: 0x952A50 + vram: 0x80240000 + files: + - [0x952A50, "c", "world/area_sbk/sbk_55"] + - [0x952CF0, "bin", "world/area_sbk/sbk_55_data"] + - name: world/area_sbk/sbk_56 + type: code + start: 0x953FC0 + vram: 0x80240000 + files: + - [0x953FC0, "c", "world/area_sbk/sbk_56"] + - [0x954FC0, "bin", "world/area_sbk/sbk_56_data"] + - name: world/area_sbk/sbk_60 + type: code + start: 0x9569F0 + vram: 0x80240000 + files: + - [0x9569F0, "c", "world/area_sbk/sbk_60"] + - [0x956A50, "bin", "world/area_sbk/sbk_60_data"] + - name: world/area_sbk/sbk_61 + type: code + start: 0x956F90 + vram: 0x80240000 + files: + - [0x956F90, "c", "world/area_sbk/sbk_61"] + - [0x956FD0, "bin", "world/area_sbk/sbk_61_data"] + - name: world/area_sbk/sbk_62 + type: code + start: 0x957350 + vram: 0x80240000 + files: + - [0x957350, "c", "world/area_sbk/sbk_62"] + - [0x9573B0, "bin", "world/area_sbk/sbk_62_data"] + - name: world/area_sbk/sbk_63 + type: code + start: 0x957D70 + vram: 0x80240000 + files: + - [0x957D70, "c", "world/area_sbk/sbk_63"] + - [0x957DD0, "bin", "world/area_sbk/sbk_63_data"] + - name: world/area_sbk/sbk_64 + type: code + start: 0x958590 + vram: 0x80240000 + files: + - [0x958590, "c", "world/area_sbk/sbk_64"] + - [0x9585D0, "bin", "world/area_sbk/sbk_64_data"] + - name: world/area_sbk/sbk_65 + type: code + start: 0x958950 + vram: 0x80240000 + files: + - [0x958950, "c", "world/area_sbk/sbk_65"] + - [0x958990, "bin", "world/area_sbk/sbk_65_data"] + - name: world/area_sbk/sbk_66 + type: code + start: 0x958CB0 + vram: 0x80240000 + files: + - [0x958CB0, "c", "world/area_sbk/sbk_66"] + - [0x959030, "bin", "world/area_sbk/sbk_66_data"] + - name: world/area_sbk/sbk_99 + type: code + start: 0x95AEB0 + vram: 0x80240000 + files: + - [0x95AEB0, "bin", "world/area_sbk/sbk_99"] + - name: world/area_dro/dro_01 + type: code + start: 0x95B200 + vram: 0x80240000 + files: + - [0x95B200, "c", "world/area_dro/dro_01"] + - [0x95ECC0, "bin", "world/area_dro/dro_01_data"] + - name: world/area_dro/dro_02 + type: code + start: 0x9691C0 + vram: 0x80240000 + files: + - [0x9691C0, "c", "world/area_dro/dro_02"] + - [0x96CC30, "bin", "world/area_dro/dro_02_data"] + - name: world/area_isk/isk_01 + type: code + start: 0x978140 + vram: 0x80240000 + files: + - [0x978140, "bin", "world/area_isk/isk_01"] + - name: world/area_isk/isk_02 + type: code + start: 0x978710 + vram: 0x80240000 + files: + - [0x978710, "c", "world/area_isk/isk_02"] + - [0x978820, "bin", "world/area_isk/isk_02_data"] + - name: world/area_isk/isk_03 + type: code + start: 0x979E50 + vram: 0x80240000 + files: + - [0x979E50, "bin", "world/area_isk/isk_03"] + - name: world/area_isk/isk_04 + type: code + start: 0x97B630 + vram: 0x80240000 + files: + - [0x97B630, "c", "world/area_isk/isk_04"] + - [0x97C0A0, "bin", "world/area_isk/isk_04_data"] + - name: world/area_isk/isk_05 + type: code + start: 0x97DAD0 + vram: 0x80240000 + files: + - [0x97DAD0, "c", "world/area_isk/isk_05"] + - [0x97F990, "bin", "world/area_isk/isk_05_data"] + - name: world/area_isk/isk_06 + type: code + start: 0x980A20 + vram: 0x80240000 + files: + - [0x980A20, "bin", "world/area_isk/isk_06"] + - name: world/area_isk/isk_07 + type: code + start: 0x982440 + vram: 0x80240000 + files: + - [0x982440, "c", "world/area_isk/isk_07"] + - [0x982550, "bin", "world/area_isk/isk_07_data"] + - name: world/area_isk/isk_08 + type: code + start: 0x984E30 + vram: 0x80240000 + files: + - [0x984E30, "c", "world/area_isk/isk_08"] + - [0x985720, "bin", "world/area_isk/isk_08_data"] + - name: world/area_isk/isk_09 + type: code + start: 0x9864E0 + vram: 0x80240000 + files: + - [0x9864E0, "c", "world/area_isk/isk_09"] + - [0x986810, "bin", "world/area_isk/isk_09_data"] + - name: world/area_isk/isk_10 + type: code + start: 0x988B60 + vram: 0x80240000 + files: + - [0x988B60, "c", "world/area_isk/isk_10"] + - [0x989910, "bin", "world/area_isk/isk_10_data"] + - name: world/area_isk/isk_11 + type: code + start: 0x98AA10 + vram: 0x80240000 + files: + - [0x98AA10, "c", "world/area_isk/isk_11"] + - [0x98AB70, "bin", "world/area_isk/isk_11_data"] + - name: world/area_isk/isk_12 + type: code + start: 0x98D640 + vram: 0x80240000 + files: + - [0x98D640, "bin", "world/area_isk/isk_12"] + - name: world/area_isk/isk_13 + type: code + start: 0x98F7E0 + vram: 0x80240000 + files: + - [0x98F7E0, "c", "world/area_isk/isk_13"] + - [0x991850, "bin", "world/area_isk/isk_13_data"] + - name: world/area_isk/isk_14 + type: code + start: 0x992730 + vram: 0x80240000 + files: + - [0x992730, "c", "world/area_isk/isk_14"] + - [0x994490, "bin", "world/area_isk/isk_14_data"] + - name: world/area_isk/isk_16 + type: code + start: 0x9951F0 + vram: 0x80240000 + files: + - [0x9951F0, "c", "world/area_isk/isk_16"] + - [0x995CF0, "bin", "world/area_isk/isk_16_data"] + - name: world/area_isk/isk_18 + type: code + start: 0x997F70 + vram: 0x80240000 + files: + - [0x997F70, "c", "world/area_isk/isk_18"] + - [0x998860, "bin", "world/area_isk/isk_18_data"] + - name: world/area_isk/isk_19 + type: code + start: 0x999740 + vram: 0x80240000 + files: + - [0x999740, "bin", "world/area_isk/isk_19"] + - name: world/area_trd/trd_00 + type: code + start: 0x999C70 + vram: 0x80240000 + files: + - [0x999C70, "c", "world/area_trd/trd_00"] + - [0x99A2A0, "bin", "world/area_trd/trd_00_data"] + - name: world/area_trd/trd_01 + type: code + start: 0x99C990 + vram: 0x80240000 + files: + - [0x99C990, "c", "world/area_trd/trd_01"] + - [0x99E050, "bin", "world/area_trd/trd_01_data"] + - name: world/area_trd/trd_02 + type: code + start: 0x9A0FE0 + vram: 0x80240000 + files: + - [0x9A0FE0, "c", "world/area_trd/trd_02"] + - [0x9A2A30, "bin", "world/area_trd/trd_02_data"] + - name: world/area_trd/trd_03 + type: code + start: 0x9A4650 + vram: 0x80240000 + files: + - [0x9A4650, "c", "world/area_trd/trd_03"] + - [0x9A5040, "bin", "world/area_trd/trd_03_data"] + - name: world/area_trd/trd_04 + type: code + start: 0x9A83F0 + vram: 0x80240000 + files: + - [0x9A83F0, "c", "world/area_trd/trd_04"] + - [0x9ABC90, "bin", "world/area_trd/trd_04_data"] + - name: world/area_trd/trd_05 + type: code + start: 0x9AE700 + vram: 0x80240000 + files: + - [0x9AE700, "c", "world/area_trd/trd_05"] + - [0x9AEE70, "bin", "world/area_trd/trd_05_data"] + - name: world/area_trd/trd_06 + type: code + start: 0x9B1790 + vram: 0x80240000 + files: + - [0x9B1790, "c", "world/area_trd/trd_06"] + - [0x9B24B0, "bin", "world/area_trd/trd_06_data"] + - name: world/area_trd/trd_07 + type: code + start: 0x9B6980 + vram: 0x80240000 + files: + - [0x9B6980, "c", "world/area_trd/trd_07"] + - [0x9B9270, "bin", "world/area_trd/trd_07_data"] + - name: world/area_trd/trd_08 + type: code + start: 0x9BB2A0 + vram: 0x80240000 + files: + - [0x9BB2A0, "c", "world/area_trd/trd_08"] + - [0x9BBCC0, "bin", "world/area_trd/trd_08_data"] + - name: world/area_trd/trd_09 + type: code + start: 0x9BD660 + vram: 0x80240000 + files: + - [0x9BD660, "c", "world/area_trd/trd_09"] + - [0x9BD830, "bin", "world/area_trd/trd_09_data"] + - name: world/area_trd/trd_10 + type: code + start: 0x9C2910 + vram: 0x80240000 + files: + - [0x9C2910, "c", "world/area_trd/trd_10"] + - [0x9C3160, "bin", "world/area_trd/trd_10_data"] + - name: world/area_nok/nok_01 + type: code + start: 0x9C53E0 + vram: 0x80240000 + files: + - [0x9C53E0, "c", "world/area_nok/nok_01"] + - [0x9C7F50, "bin", "world/area_nok/nok_01_data"] + - name: world/area_nok/nok_02 + type: code + start: 0x9D7020 + vram: 0x80240000 + files: + - [0x9D7020, "c", "world/area_nok/nok_02"] + - [0x9DB5C0, "bin", "world/area_nok/nok_02_data"] + - name: world/area_nok/nok_03 + type: code + start: 0x9EB7F0 + vram: 0x80240000 + files: + - [0x9EB7F0, "c", "world/area_nok/nok_03"] + - [0x9EC610, "bin", "world/area_nok/nok_03_data"] + - name: world/area_nok/nok_04 + type: code + start: 0x9EDBF0 + vram: 0x80240000 + files: + - [0x9EDBF0, "c", "world/area_nok/nok_04"] + - [0x9EEB20, "bin", "world/area_nok/nok_04_data"] + - name: world/area_nok/nok_11 + type: code + start: 0x9F4A40 + vram: 0x80240000 + files: + - [0x9F4A40, "c", "world/area_nok/nok_11"] + - [0x9F6990, "bin", "world/area_nok/nok_11_data"] + - name: world/area_nok/nok_12 + type: code + start: 0x9FA7F0 + vram: 0x80240000 + files: + - [0x9FA7F0, "c", "world/area_nok/nok_12"] + - [0x9FC8B0, "bin", "world/area_nok/nok_12_data"] + - name: world/area_nok/nok_13 + type: code + start: 0xA00600 + vram: 0x80240000 + files: + - [0xA00600, "c", "world/area_nok/nok_13"] + - [0xA01A90, "bin", "world/area_nok/nok_13_data"] + - name: world/area_nok/nok_14 + type: code + start: 0xA02840 + vram: 0x80240000 + files: + - [0xA02840, "c", "world/area_nok/nok_14"] + - [0xA04C60, "bin", "world/area_nok/nok_14_data"] + - name: world/area_nok/nok_15 + type: code + start: 0xA06F00 + vram: 0x80240000 + files: + - [0xA06F00, "c", "world/area_nok/nok_15"] + - [0xA09680, "bin", "world/area_nok/nok_15_data"] + - name: world/area_hos/hos_00 + type: code + start: 0xA0BCF0 + vram: 0x80240000 + files: + - [0xA0BCF0, "c", "world/area_hos/hos_00"] + - [0xA0CA00, "bin", "world/area_hos/hos_00_data"] + - name: world/area_hos/hos_01 + type: code + start: 0xA10880 + vram: 0x80240000 + files: + - [0xA10880, "c", "world/area_hos/hos_01"] + - [0xA116A0, "bin", "world/area_hos/hos_01_data"] + - name: world/area_hos/hos_02 + type: code + start: 0xA16220 + vram: 0x80240000 + files: + - [0xA16220, "c", "world/area_hos/hos_02"] + - [0xA18D00, "bin", "world/area_hos/hos_02_data"] + - name: world/area_hos/hos_03 + type: code + start: 0xA1B100 + vram: 0x80240000 + files: + - [0xA1B100, "c", "world/area_hos/hos_03"] + - [0xA1E640, "bin", "world/area_hos/hos_03_data"] + - name: world/area_hos/hos_04 + type: code + start: 0xA26ED0 + vram: 0x80240000 + files: + - [0xA26ED0, "c", "world/area_hos/hos_04"] + - [0xA27D60, "bin", "world/area_hos/hos_04_data"] + - name: world/area_hos/hos_05 + type: code + start: 0xA2A240 + vram: 0x80240000 + files: + - [0xA2A240, "c", "world/area_hos/hos_05"] + - [0xA2FAA0, "bin", "world/area_hos/hos_05_data"] + - name: world/area_hos/hos_06 + type: code + start: 0xA394E0 + vram: 0x80240000 + files: + - [0xA394E0, "c", "world/area_hos/hos_06"] + - [0xA3BA40, "bin", "world/area_hos/hos_06_data"] + - name: world/area_hos/hos_10 + type: code + start: 0xA3F740 + vram: 0x80240000 + files: + - [0xA3F740, "c", "world/area_hos/hos_10"] + - [0xA403C0, "bin", "world/area_hos/hos_10_data"] + - name: world/area_hos/hos_20 + type: code + start: 0xA45930 + vram: 0x80240000 + files: + - [0xA45930, "c", "world/area_hos/hos_20"] + - [0xA45C90, "bin", "world/area_hos/hos_20_data"] + - name: world/area_kpa/kpa_01 + type: code + start: 0xA46F60 + vram: 0x80240000 + files: + - [0xA46F60, "c", "world/area_kpa/kpa_01"] + - [0xA479B0, "bin", "world/area_kpa/kpa_01_data"] + - name: world/area_kpa/kpa_03 + type: code + start: 0xA485C0 + vram: 0x80240000 + files: + - [0xA485C0, "c", "world/area_kpa/kpa_03"] + - [0xA4A480, "bin", "world/area_kpa/kpa_03_data"] + - name: world/area_kpa/kpa_04 + type: code + start: 0xA4BF60 + vram: 0x80240000 + files: + - [0xA4BF60, "c", "world/area_kpa/kpa_04"] + - [0xA4C0D0, "bin", "world/area_kpa/kpa_04_data"] + - name: world/area_kpa/kpa_08 + type: code + start: 0xA4CA20 + vram: 0x80240000 + files: + - [0xA4CA20, "c", "world/area_kpa/kpa_08"] + - [0xA4DEC0, "bin", "world/area_kpa/kpa_08_data"] + - name: world/area_kpa/kpa_09 + type: code + start: 0xA4F000 + vram: 0x80240000 + files: + - [0xA4F000, "c", "world/area_kpa/kpa_09"] + - [0xA502F0, "bin", "world/area_kpa/kpa_09_data"] + - name: world/area_kpa/kpa_10 + type: code + start: 0xA51980 + vram: 0x80240000 + files: + - [0xA51980, "c", "world/area_kpa/kpa_10"] + - [0xA51C90, "bin", "world/area_kpa/kpa_10_data"] + - name: world/area_kpa/kpa_11 + type: code + start: 0xA528C0 + vram: 0x80240000 + files: + - [0xA528C0, "c", "world/area_kpa/kpa_11"] + - [0xA533B0, "bin", "world/area_kpa/kpa_11_data"] + - name: world/area_kpa/kpa_12 + type: code + start: 0xA54950 + vram: 0x80240000 + files: + - [0xA54950, "c", "world/area_kpa/kpa_12"] + - [0xA54DC0, "bin", "world/area_kpa/kpa_12_data"] + - name: world/area_kpa/kpa_13 + type: code + start: 0xA55F20 + vram: 0x80240000 + files: + - [0xA55F20, "c", "world/area_kpa/kpa_13"] + - [0xA56390, "bin", "world/area_kpa/kpa_13_data"] + - name: world/area_kpa/kpa_14 + type: code + start: 0xA574B0 + vram: 0x80240000 + files: + - [0xA574B0, "c", "world/area_kpa/kpa_14"] + - [0xA57D20, "bin", "world/area_kpa/kpa_14_data"] + - name: world/area_kpa/kpa_15 + type: code + start: 0xA59390 + vram: 0x80240000 + files: + - [0xA59390, "c", "world/area_kpa/kpa_15"] + - [0xA59960, "bin", "world/area_kpa/kpa_15_data"] + - name: world/area_kpa/kpa_16 + type: code + start: 0xA5A030 + vram: 0x80240000 + files: + - [0xA5A030, "c", "world/area_kpa/kpa_16"] + - [0xA5A3D0, "bin", "world/area_kpa/kpa_16_data"] + - name: world/area_kpa/kpa_17 + type: code + start: 0xA5CA20 + vram: 0x80240000 + files: + - [0xA5CA20, "bin", "world/area_kpa/kpa_17"] + - name: world/area_kpa/kpa_32 + type: code + start: 0xA5E0C0 + vram: 0x80240000 + files: + - [0xA5E0C0, "c", "world/area_kpa/kpa_32"] + - [0xA5E3D0, "bin", "world/area_kpa/kpa_32_data"] + - name: world/area_kpa/kpa_33 + type: code + start: 0xA5F080 + vram: 0x80240000 + files: + - [0xA5F080, "c", "world/area_kpa/kpa_33"] + - [0xA5F390, "bin", "world/area_kpa/kpa_33_data"] + - name: world/area_kpa/kpa_40 + type: code + start: 0xA60040 + vram: 0x80240000 + files: + - [0xA60040, "bin", "world/area_kpa/kpa_40"] + - name: world/area_kpa/kpa_41 + type: code + start: 0xA60470 + vram: 0x80240000 + files: + - [0xA60470, "bin", "world/area_kpa/kpa_41"] + - name: world/area_kpa/kpa_50 + type: code + start: 0xA609D0 + vram: 0x80240000 + files: + - [0xA609D0, "c", "world/area_kpa/kpa_50"] + - [0xA623F0, "bin", "world/area_kpa/kpa_50_data"] + - name: world/area_kpa/kpa_51 + type: code + start: 0xA64090 + vram: 0x80240000 + files: + - [0xA64090, "c", "world/area_kpa/kpa_51"] + - [0xA65CB0, "bin", "world/area_kpa/kpa_51_data"] + - name: world/area_kpa/kpa_52 + type: code + start: 0xA67100 + vram: 0x80240000 + files: + - [0xA67100, "c", "world/area_kpa/kpa_52"] + - [0xA68430, "bin", "world/area_kpa/kpa_52_data"] + - name: world/area_kpa/kpa_53 + type: code + start: 0xA6ACA0 + vram: 0x80240000 + files: + - [0xA6ACA0, "c", "world/area_kpa/kpa_53"] + - [0xA6AE10, "bin", "world/area_kpa/kpa_53_data"] + - name: world/area_kpa/kpa_60 + type: code + start: 0xA6CB00 + vram: 0x80240000 + files: + - [0xA6CB00, "c", "world/area_kpa/kpa_60"] + - [0xA6CEF0, "bin", "world/area_kpa/kpa_60_data"] + - name: world/area_kpa/kpa_61 + type: code + start: 0xA6E3E0 + vram: 0x80240000 + files: + - [0xA6E3E0, "c", "world/area_kpa/kpa_61"] + - [0xA70720, "bin", "world/area_kpa/kpa_61_data"] + - name: world/area_kpa/kpa_62 + type: code + start: 0xA72220 + vram: 0x80240000 + files: + - [0xA72220, "c", "world/area_kpa/kpa_62"] + - [0xA72610, "bin", "world/area_kpa/kpa_62_data"] + - name: world/area_kpa/kpa_63 + type: code + start: 0xA735B0 + vram: 0x80240000 + files: + - [0xA735B0, "c", "world/area_kpa/kpa_63"] + - [0xA73740, "bin", "world/area_kpa/kpa_63_data"] + - name: world/area_kpa/kpa_70 + type: code + start: 0xA74870 + vram: 0x80240000 + files: + - [0xA74870, "c", "world/area_kpa/kpa_70"] + - [0xA75360, "bin", "world/area_kpa/kpa_70_data"] + - name: world/area_kpa/kpa_81 + type: code + start: 0xA784C0 + vram: 0x80240000 + files: + - [0xA784C0, "c", "world/area_kpa/kpa_81"] + - [0xA78900, "bin", "world/area_kpa/kpa_81_data"] + - name: world/area_kpa/kpa_82 + type: code + start: 0xA7A500 + vram: 0x80240000 + files: + - [0xA7A500, "c", "world/area_kpa/kpa_82"] + - [0xA7A940, "bin", "world/area_kpa/kpa_82_data"] + - name: world/area_kpa/kpa_83 + type: code + start: 0xA83490 + vram: 0x80240000 + files: + - [0xA83490, "c", "world/area_kpa/kpa_83"] + - [0xA83500, "bin", "world/area_kpa/kpa_83_data"] + - name: world/area_kpa/kpa_90 + type: code + start: 0xA867B0 + vram: 0x80240000 + files: + - [0xA867B0, "bin", "world/area_kpa/kpa_90"] + - name: world/area_kpa/kpa_91 + type: code + start: 0xA86A50 + vram: 0x80240000 + files: + - [0xA86A50, "c", "world/area_kpa/kpa_91"] + - [0xA88360, "bin", "world/area_kpa/kpa_91_data"] + - name: world/area_kpa/kpa_94 + type: code + start: 0xA8C7C0 + vram: 0x80240000 + files: + - [0xA8C7C0, "bin", "world/area_kpa/kpa_94"] + - name: world/area_kpa/kpa_95 + type: code + start: 0xA8CA80 + vram: 0x80240000 + files: + - [0xA8CA80, "c", "world/area_kpa/kpa_95"] + - [0xA8E390, "bin", "world/area_kpa/kpa_95_data"] + - name: world/area_kpa/kpa_96 + type: code + start: 0xA927C0 + vram: 0x80240000 + files: + - [0xA927C0, "c", "world/area_kpa/kpa_96"] + - [0xA927F0, "bin", "world/area_kpa/kpa_96_data"] + - name: world/area_kpa/kpa_100 + type: code + start: 0xA93160 + vram: 0x80240000 + files: + - [0xA93160, "c", "world/area_kpa/kpa_100"] + - [0xA931B0, "bin", "world/area_kpa/kpa_100_data"] + - name: world/area_kpa/kpa_101 + type: code + start: 0xA93440 + vram: 0x80240000 + files: + - [0xA93440, "c", "world/area_kpa/kpa_101"] + - [0xA93490, "bin", "world/area_kpa/kpa_101_data"] + - name: world/area_kpa/kpa_102 + type: code + start: 0xA93740 + vram: 0x80240000 + files: + - [0xA93740, "c", "world/area_kpa/kpa_102"] + - [0xA96CD0, "bin", "world/area_kpa/kpa_102_data"] + - name: world/area_kpa/kpa_111 + type: code + start: 0xA99590 + vram: 0x80240000 + files: + - [0xA99590, "c", "world/area_kpa/kpa_111"] + - [0xA9A950, "bin", "world/area_kpa/kpa_111_data"] + - name: world/area_kpa/kpa_112 + type: code + start: 0xA9C990 + vram: 0x80240000 + files: + - [0xA9C990, "bin", "world/area_kpa/kpa_112"] + - name: world/area_kpa/kpa_113 + type: code + start: 0xA9CC30 + vram: 0x80240000 + files: + - [0xA9CC30, "c", "world/area_kpa/kpa_113"] + - [0xA9D6D0, "bin", "world/area_kpa/kpa_113_data"] + - name: world/area_kpa/kpa_114 + type: code + start: 0xA9E980 + vram: 0x80240000 + files: + - [0xA9E980, "c", "world/area_kpa/kpa_114"] + - [0xA9E9D0, "bin", "world/area_kpa/kpa_114_data"] + - name: world/area_kpa/kpa_115 + type: code + start: 0xA9ED40 + vram: 0x80240000 + files: + - [0xA9ED40, "c", "world/area_kpa/kpa_115"] + - [0xAA0100, "bin", "world/area_kpa/kpa_115_data"] + - name: world/area_kpa/kpa_116 + type: code + start: 0xAA1EE0 + vram: 0x80240000 + files: + - [0xAA1EE0, "bin", "world/area_kpa/kpa_116"] + - name: world/area_kpa/kpa_117 + type: code + start: 0xAA2180 + vram: 0x80240000 + files: + - [0xAA2180, "bin", "world/area_kpa/kpa_117"] + - name: world/area_kpa/kpa_118 + type: code + start: 0xAA23C0 + vram: 0x80240000 + files: + - [0xAA23C0, "bin", "world/area_kpa/kpa_118"] + - name: world/area_kpa/kpa_119 + type: code + start: 0xAA2660 + vram: 0x80240000 + files: + - [0xAA2660, "bin", "world/area_kpa/kpa_119"] + - name: world/area_kpa/kpa_121 + type: code + start: 0xAA28F0 + vram: 0x80240000 + files: + - [0xAA28F0, "bin", "world/area_kpa/kpa_121"] + - name: world/area_kpa/kpa_130 + type: code + start: 0xAA2D20 + vram: 0x80240000 + files: + - [0xAA2D20, "c", "world/area_kpa/kpa_130"] + - [0xAA3460, "bin", "world/area_kpa/kpa_130_data"] + - name: world/area_kpa/kpa_133 + type: code + start: 0xAA7480 + vram: 0x80240000 + files: + - [0xAA7480, "c", "world/area_kpa/kpa_133"] + - [0xAA78F0, "bin", "world/area_kpa/kpa_133_data"] + - name: world/area_kpa/kpa_134 + type: code + start: 0xAA8FA0 + vram: 0x80240000 + files: + - [0xAA8FA0, "c", "world/area_kpa/kpa_134"] + - [0xAA96A0, "bin", "world/area_kpa/kpa_134_data"] + - name: world/area_osr/osr_00 + type: code + start: 0xAAC830 + vram: 0x80240000 + files: + - [0xAAC830, "c", "world/area_osr/osr_00"] + - [0xAACFC0, "bin", "world/area_osr/osr_00_data"] + - name: world/area_osr/osr_01 + type: code + start: 0xAAFFF0 + vram: 0x80240000 + files: + - [0xAAFFF0, "c", "world/area_osr/osr_01"] + - [0xAB0AB0, "bin", "world/area_osr/osr_01_data"] + - name: world/area_osr/osr_02 + type: code + start: 0xAB2170 + vram: 0x80240000 + files: + - [0xAB2170, "c", "world/area_osr/osr_02"] + - [0xAB22C0, "bin", "world/area_osr/osr_02_data"] + - name: world/area_osr/osr_03 + type: code + start: 0xAB6290 + vram: 0x80240000 + files: + - [0xAB6290, "c", "world/area_osr/osr_03"] + - [0xAB6610, "bin", "world/area_osr/osr_03_data"] + - name: world/area_osr/osr_04 + type: code + start: 0xAB92B0 + vram: 0x80240000 + files: + - [0xAB92B0, "c", "world/area_osr/osr_04"] + - [0xAB9370, "bin", "world/area_osr/osr_04_data"] + - name: world/area_kkj/kkj_00 + type: code + start: 0xABB290 + vram: 0x80240000 + files: + - [0xABB290, "c", "world/area_kkj/kkj_00"] + - [0xABC250, "bin", "world/area_kkj/kkj_00_data"] + - name: world/area_kkj/kkj_01 + type: code + start: 0xAC5170 + vram: 0x80240000 + files: + - [0xAC5170, "c", "world/area_kkj/kkj_01"] + - [0xAC6000, "bin", "world/area_kkj/kkj_01_data"] + - name: world/area_kkj/kkj_02 + type: code + start: 0xAC8D20 + vram: 0x80240000 + files: + - [0xAC8D20, "bin", "world/area_kkj/kkj_02"] + - name: world/area_kkj/kkj_03 + type: code + start: 0xAC9710 + vram: 0x80240000 + files: + - [0xAC9710, "c", "world/area_kkj/kkj_03"] + - [0xAC9A40, "bin", "world/area_kkj/kkj_03_data"] + - name: world/area_kkj/kkj_10 + type: code + start: 0xACAB20 + vram: 0x80240000 + files: + - [0xACAB20, "c", "world/area_kkj/kkj_10"] + - [0xACBBF0, "bin", "world/area_kkj/kkj_10_data"] + - name: world/area_kkj/kkj_11 + type: code + start: 0xACE140 + vram: 0x80240000 + files: + - [0xACE140, "c", "world/area_kkj/kkj_11"] + - [0xACF210, "bin", "world/area_kkj/kkj_11_data"] + - name: world/area_kkj/kkj_12 + type: code + start: 0xAD4090 + vram: 0x80240000 + files: + - [0xAD4090, "c", "world/area_kkj/kkj_12"] + - [0xAD4940, "bin", "world/area_kkj/kkj_12_data"] + - name: world/area_kkj/kkj_13 + type: code + start: 0xAD5ED0 + vram: 0x80240000 + files: + - [0xAD5ED0, "c", "world/area_kkj/kkj_13"] + - [0xAD6630, "bin", "world/area_kkj/kkj_13_data"] + - name: world/area_kkj/kkj_14 + type: code + start: 0xADAEA0 + vram: 0x80240000 + files: + - [0xADAEA0, "c", "world/area_kkj/kkj_14"] + - [0xADB360, "bin", "world/area_kkj/kkj_14_data"] + - name: world/area_kkj/kkj_15 + type: code + start: 0xAE5590 + vram: 0x80240000 + files: + - [0xAE5590, "c", "world/area_kkj/kkj_15"] + - [0xAE5BA0, "bin", "world/area_kkj/kkj_15_data"] + - name: world/area_kkj/kkj_16 + type: code + start: 0xAED410 + vram: 0x80240000 + files: + - [0xAED410, "c", "world/area_kkj/kkj_16"] + - [0xAEE490, "bin", "world/area_kkj/kkj_16_data"] + - name: world/area_kkj/kkj_17 + type: code + start: 0xAF1C60 + vram: 0x80240000 + files: + - [0xAF1C60, "c", "world/area_kkj/kkj_17"] + - [0xAF2200, "bin", "world/area_kkj/kkj_17_data"] + - name: world/area_kkj/kkj_18 + type: code + start: 0xAF2CA0 + vram: 0x80240000 + files: + - [0xAF2CA0, "c", "world/area_kkj/kkj_18"] + - [0xAF34C0, "bin", "world/area_kkj/kkj_18_data"] + - name: world/area_kkj/kkj_19 + type: code + start: 0xAF7950 + vram: 0x80240000 + files: + - [0xAF7950, "c", "world/area_kkj/kkj_19"] + - [0xAF8660, "bin", "world/area_kkj/kkj_19_data"] + - name: world/area_kkj/kkj_20 + type: code + start: 0xAFDB40 + vram: 0x80240000 + files: + - [0xAFDB40, "c", "world/area_kkj/kkj_20"] + - [0xAFE130, "bin", "world/area_kkj/kkj_20_data"] + - name: world/area_kkj/kkj_21 + type: code + start: 0xB022A0 + vram: 0x80240000 + files: + - [0xB022A0, "bin", "world/area_kkj/kkj_21"] + - name: world/area_kkj/kkj_22 + type: code + start: 0xB024F0 + vram: 0x80240000 + files: + - [0xB024F0, "bin", "world/area_kkj/kkj_22"] + - name: world/area_kkj/kkj_23 + type: code + start: 0xB02880 + vram: 0x80240000 + files: + - [0xB02880, "c", "world/area_kkj/kkj_23"] + - [0xB03250, "bin", "world/area_kkj/kkj_23_data"] + - name: world/area_kkj/kkj_24 + type: code + start: 0xB06570 + vram: 0x80240000 + files: + - [0xB06570, "c", "world/area_kkj/kkj_24"] + - [0xB06590, "bin", "world/area_kkj/kkj_24_data"] + - name: world/area_kkj/kkj_25 + type: code + start: 0xB06A00 + vram: 0x80240000 + files: + - [0xB06A00, "c", "world/area_kkj/kkj_25"] + - [0xB07940, "bin", "world/area_kkj/kkj_25_data"] + - name: world/area_kkj/kkj_26 + type: code + start: 0xB13120 + vram: 0x80240000 + files: + - [0xB13120, "c", "world/area_kkj/kkj_26"] + - [0xB13150, "bin", "world/area_kkj/kkj_26_data"] + - name: world/area_kkj/kkj_26 + type: code + start: 0xB13120 + vram: 0x80240000 + files: + - [0xB13120, "c", "world/area_kkj/kkj_26"] + - [0xB13150, "bin", "world/area_kkj/kkj_26_data"] + - name: world/area_kkj/kkj_27 + type: code + start: 0xB13D70 + vram: 0x80240000 + files: + - [0xB13D70, "c", "world/area_kkj/kkj_27"] + - [0xB14210, "bin", "world/area_kkj/kkj_27_data"] + - name: world/area_kkj/kkj_28 + type: code + start: 0xB14EA0 + vram: 0x80240000 + files: + - [0xB14EA0, "bin", "world/area_kkj/kkj_28"] + - name: world/area_kkj/kkj_29 + type: code + start: 0xB150B0 + vram: 0x80240000 + files: + - [0xB150B0, "c", "world/area_kkj/kkj_29"] + - [0xB15120, "bin", "world/area_kkj/kkj_29_data"] + - name: world/area_tst/tst_01 + type: code + start: 0xB1A900 + vram: 0x80240000 + files: + - [0xB1A900, "bin", "world/area_tst/tst_01"] + - name: world/area_tst/tst_02 + type: code + start: 0xB1AC30 + vram: 0x80240000 + files: + - [0xB1AC30, "bin", "world/area_tst/tst_02"] + - name: world/area_tst/tst_03 + type: code + start: 0xB1AF80 + vram: 0x80240000 + files: + - [0xB1AF80, "bin", "world/area_tst/tst_03"] + - name: world/area_tst/tst_04 + type: code + start: 0xB1B570 + vram: 0x80240000 + files: + - [0xB1B570, "c", "world/area_tst/tst_04"] + - [0xB1BC00, "bin", "world/area_tst/tst_04_data"] + - name: world/area_tst/tst_10 + type: code + start: 0xB1C540 + vram: 0x80240000 + files: + - [0xB1C540, "bin", "world/area_tst/tst_10"] + - name: world/area_tst/tst_11 + type: code + start: 0xB1CA50 + vram: 0x80240000 + files: + - [0xB1CA50, "c", "world/area_tst/tst_11"] + - [0xB1D1C0, "bin", "world/area_tst/tst_11_data"] + - name: world/area_tst/tst_12 + type: code + start: 0xB1D2F0 + vram: 0x80240000 + files: + - [0xB1D2F0, "bin", "world/area_tst/tst_12"] + - name: world/area_tst/tst_13 + type: code + start: 0xB1D760 + vram: 0x80240000 + files: + - [0xB1D760, "c", "world/area_tst/tst_13"] + - [0xB1DB20, "bin", "world/area_tst/tst_13_data"] + - name: world/area_tst/tst_20 + type: code + start: 0xB20470 + vram: 0x80240000 + files: + - [0xB20470, "bin", "world/area_tst/tst_20"] + - name: world/area_jan/jan_00 + type: code + start: 0xB20540 + vram: 0x80240000 + files: + - [0xB20540, "c", "world/area_jan/jan_00"] + - [0xB220E0, "bin", "world/area_jan/jan_00_data"] + - name: world/area_jan/jan_01 + type: code + start: 0xB28030 + vram: 0x80240000 + files: + - [0xB28030, "c", "world/area_jan/jan_01"] + - [0xB29400, "bin", "world/area_jan/jan_01_data"] + - name: world/area_jan/jan_02 + type: code + start: 0xB2C470 + vram: 0x80240000 + files: + - [0xB2C470, "c", "world/area_jan/jan_02"] + - [0xB2ED90, "bin", "world/area_jan/jan_02_data"] + - name: world/area_jan/jan_03 + type: code + start: 0xB34BD0 + vram: 0x80240000 + files: + - [0xB34BD0, "c", "world/area_jan/jan_03"] + - [0xB37E60, "bin", "world/area_jan/jan_03_data"] + - name: world/area_jan/jan_04 + type: code + start: 0xB44770 + vram: 0x80240000 + files: + - [0xB44770, "c", "world/area_jan/jan_04"] + - [0xB45860, "bin", "world/area_jan/jan_04_data"] + - name: world/area_jan/jan_05 + type: code + start: 0xB4AA70 + vram: 0x80240000 + files: + - [0xB4AA70, "c", "world/area_jan/jan_05"] + - [0xB4D140, "bin", "world/area_jan/jan_05_data"] + - name: world/area_jan/jan_06 + type: code + start: 0xB52830 + vram: 0x80240000 + files: + - [0xB52830, "c", "world/area_jan/jan_06"] + - [0xB54E10, "bin", "world/area_jan/jan_06_data"] + - name: world/area_jan/jan_07 + type: code + start: 0xB59870 + vram: 0x80240000 + files: + - [0xB59870, "c", "world/area_jan/jan_07"] + - [0xB5AA90, "bin", "world/area_jan/jan_07_data"] + - name: world/area_jan/jan_08 + type: code + start: 0xB5E2B0 + vram: 0x80240000 + files: + - [0xB5E2B0, "c", "world/area_jan/jan_08"] + - [0xB606E0, "bin", "world/area_jan/jan_08_data"] + - name: world/area_jan/jan_09 + type: code + start: 0xB65AB0 + vram: 0x80240000 + files: + - [0xB65AB0, "c", "world/area_jan/jan_09"] + - [0xB673D0, "bin", "world/area_jan/jan_09_data"] + - name: world/area_jan/jan_10 + type: code + start: 0xB6C390 + vram: 0x80240000 + files: + - [0xB6C390, "c", "world/area_jan/jan_10"] + - [0xB6DAD0, "bin", "world/area_jan/jan_10_data"] + - name: world/area_jan/jan_11 + type: code + start: 0xB70860 + vram: 0x80240000 + files: + - [0xB70860, "c", "world/area_jan/jan_11"] + - [0xB71060, "bin", "world/area_jan/jan_11_data"] + - name: world/area_jan/jan_12 + type: code + start: 0xB730B0 + vram: 0x80240000 + files: + - [0xB730B0, "c", "world/area_jan/jan_12"] + - [0xB74310, "bin", "world/area_jan/jan_12_data"] + - name: world/area_jan/jan_13 + type: code + start: 0xB767B0 + vram: 0x80240000 + files: + - [0xB767B0, "c", "world/area_jan/jan_13"] + - [0xB76D80, "bin", "world/area_jan/jan_13_data"] + - name: world/area_jan/jan_14 + type: code + start: 0xB7A050 + vram: 0x80240000 + files: + - [0xB7A050, "c", "world/area_jan/jan_14"] + - [0xB7B330, "bin", "world/area_jan/jan_14_data"] + - name: world/area_jan/jan_15 + type: code + start: 0xB7D920 + vram: 0x80240000 + files: + - [0xB7D920, "c", "world/area_jan/jan_15"] + - [0xB7DC20, "bin", "world/area_jan/jan_15_data"] + - name: world/area_jan/jan_16 + type: code + start: 0xB80000 + vram: 0x80240000 + files: + - [0xB80000, "c", "world/area_jan/jan_16"] + - [0xB80540, "bin", "world/area_jan/jan_16_data"] + - name: world/area_jan/jan_17 + type: code + start: 0xB837C0 + vram: 0x80240000 + files: + - [0xB837C0, "c", "world/area_jan/jan_17"] + - [0xB837E0, "bin", "world/area_jan/jan_17_data"] + - name: world/area_jan/jan_18 + type: code + start: 0xB83B90 + vram: 0x80240000 + files: + - [0xB83B90, "bin", "world/area_jan/jan_18"] + - name: world/area_jan/jan_19 + type: code + start: 0xB83E60 + vram: 0x80240000 + files: + - [0xB83E60, "c", "world/area_jan/jan_19"] + - [0xB83E80, "bin", "world/area_jan/jan_19_data"] + - name: world/area_jan/jan_22 + type: code + start: 0xB84180 + vram: 0x80240000 + files: + - [0xB84180, "c", "world/area_jan/jan_22"] + - [0xB85AE0, "bin", "world/area_jan/jan_22_data"] + - name: world/area_jan/jan_23 + type: code + start: 0xB8FCD0 + vram: 0x80240000 + files: + - [0xB8FCD0, "bin", "world/area_jan/jan_23"] + - name: world/area_mim/mim_01 + type: code + start: 0xB93440 + vram: 0x80240000 + files: + - [0xB93440, "c", "world/area_mim/mim_01"] + - [0xB952F0, "bin", "world/area_mim/mim_01_data"] + - name: world/area_mim/mim_02 + type: code + start: 0xB97C00 + vram: 0x80240000 + files: + - [0xB97C00, "c", "world/area_mim/mim_02"] + - [0xB98DE0, "bin", "world/area_mim/mim_02_data"] + - name: world/area_mim/mim_03 + type: code + start: 0xB9B480 + vram: 0x80240000 + files: + - [0xB9B480, "c", "world/area_mim/mim_03"] + - [0xB9B9B0, "bin", "world/area_mim/mim_03_data"] + - name: world/area_mim/mim_04 + type: code + start: 0xB9D960 + vram: 0x80240000 + files: + - [0xB9D960, "c", "world/area_mim/mim_04"] + - [0xB9EA90, "bin", "world/area_mim/mim_04_data"] + - name: world/area_mim/mim_05 + type: code + start: 0xBA0730 + vram: 0x80240000 + files: + - [0xBA0730, "c", "world/area_mim/mim_05"] + - [0xBA2150, "bin", "world/area_mim/mim_05_data"] + - name: world/area_mim/mim_06 + type: code + start: 0xBA4780 + vram: 0x80240000 + files: + - [0xBA4780, "c", "world/area_mim/mim_06"] + - [0xBA74B0, "bin", "world/area_mim/mim_06_data"] + - name: world/area_mim/mim_07 + type: code + start: 0xBAA140 + vram: 0x80240000 + files: + - [0xBAA140, "c", "world/area_mim/mim_07"] + - [0xBAB1D0, "bin", "world/area_mim/mim_07_data"] + - name: world/area_mim/mim_08 + type: code + start: 0xBAD940 + vram: 0x80240000 + files: + - [0xBAD940, "c", "world/area_mim/mim_08"] + - [0xBB0880, "bin", "world/area_mim/mim_08_data"] + - name: world/area_mim/mim_09 + type: code + start: 0xBB2E00 + vram: 0x80240000 + files: + - [0xBB2E00, "c", "world/area_mim/mim_09"] + - [0xBB3CC0, "bin", "world/area_mim/mim_09_data"] + - name: world/area_mim/mim_10 + type: code + start: 0xBB59E0 + vram: 0x80240000 + files: + - [0xBB59E0, "c", "world/area_mim/mim_10"] + - [0xBB5B70, "bin", "world/area_mim/mim_10_data"] + - name: world/area_mim/mim_11 + type: code + start: 0xBB7070 + vram: 0x80240000 + files: + - [0xBB7070, "c", "world/area_mim/mim_11"] + - [0xBB7C30, "bin", "world/area_mim/mim_11_data"] + - name: world/area_mim/mim_12 + type: code + start: 0xBBB380 + vram: 0x80240000 + files: + - [0xBBB380, "c", "world/area_mim/mim_12"] + - [0xBBB960, "bin", "world/area_mim/mim_12_data"] + - name: world/area_obk/obk_01 + type: code + start: 0xBBD1A0 + vram: 0x80240000 + files: + - [0xBBD1A0, "c", "world/area_obk/obk_01"] + - [0xBBE2E0, "bin", "world/area_obk/obk_01_data"] + - name: world/area_obk/obk_02 + type: code + start: 0xBC2A90 + vram: 0x80240000 + files: + - [0xBC2A90, "c", "world/area_obk/obk_02"] + - [0xBC2D40, "bin", "world/area_obk/obk_02_data"] + - name: world/area_obk/obk_03 + type: code + start: 0xBC4280 + vram: 0x80240000 + files: + - [0xBC4280, "c", "world/area_obk/obk_03"] + - [0xBC5270, "bin", "world/area_obk/obk_03_data"] + - name: world/area_obk/obk_04 + type: code + start: 0xBC7E60 + vram: 0x80240000 + files: + - [0xBC7E60, "c", "world/area_obk/obk_04"] + - [0xBC8CE0, "bin", "world/area_obk/obk_04_data"] + - name: world/area_obk/obk_05 + type: code + start: 0xBCD060 + vram: 0x80240000 + files: + - [0xBCD060, "c", "world/area_obk/obk_05"] + - [0xBCDA40, "bin", "world/area_obk/obk_05_data"] + - name: world/area_obk/obk_06 + type: code + start: 0xBCE690 + vram: 0x80240000 + files: + - [0xBCE690, "bin", "world/area_obk/obk_06"] + - name: world/area_obk/obk_07 + type: code + start: 0xBCEBF0 + vram: 0x80240000 + files: + - [0xBCEBF0, "c", "world/area_obk/obk_07"] + - [0xBD0780, "bin", "world/area_obk/obk_07_data"] + - name: world/area_obk/obk_08 + type: code + start: 0xBD3870 + vram: 0x80240000 + files: + - [0xBD3870, "c", "world/area_obk/obk_08"] + - [0xBD5010, "bin", "world/area_obk/obk_08_data"] + - name: world/area_obk/obk_09 + type: code + start: 0xBDA7B0 + vram: 0x80240000 + files: + - [0xBDA7B0, "c", "world/area_obk/obk_09"] + - [0xBDABE0, "bin", "world/area_obk/obk_09_data"] + - name: world/area_arn/arn_02 + type: code + start: 0xBDD1B0 + vram: 0x80240000 + files: + - [0xBDD1B0, "c", "world/area_arn/arn_02"] + - [0xBDE190, "bin", "world/area_arn/arn_02_data"] + - name: world/area_arn/arn_03 + type: code + start: 0xBDED90 + vram: 0x80240000 + files: + - [0xBDED90, "c", "world/area_arn/arn_03"] + - [0xBE04B0, "bin", "world/area_arn/arn_03_data"] + - name: world/area_arn/arn_04 + type: code + start: 0xBE37B0 + vram: 0x80240000 + files: + - [0xBE37B0, "c", "world/area_arn/arn_04"] + - [0xBE6B20, "bin", "world/area_arn/arn_04_data"] + - name: world/area_arn/arn_05 + type: code + start: 0xBE7BE0 + vram: 0x80240000 + files: + - [0xBE7BE0, "c", "world/area_arn/arn_05"] + - [0xBE8EE0, "bin", "world/area_arn/arn_05_data"] + - name: world/area_arn/arn_07 + type: code + start: 0xBECDF0 + vram: 0x80240000 + files: + - [0xBECDF0, "c", "world/area_arn/arn_07"] + - [0xBEEC80, "bin", "world/area_arn/arn_07_data"] + - name: world/area_arn/arn_08 + type: code + start: 0xBF47A0 + vram: 0x80240000 + files: + - [0xBF47A0, "c", "world/area_arn/arn_08"] + - [0xBF4A30, "bin", "world/area_arn/arn_08_data"] + - name: world/area_arn/arn_09 + type: code + start: 0xBF6060 + vram: 0x80240000 + files: + - [0xBF6060, "c", "world/area_arn/arn_09"] + - [0xBF60A0, "bin", "world/area_arn/arn_09_data"] + - name: world/area_arn/arn_10 + type: code + start: 0xBF6A00 + vram: 0x80240000 + files: + - [0xBF6A00, "bin", "world/area_arn/arn_10"] + - name: world/area_arn/arn_11 + type: code + start: 0xBF7680 + vram: 0x80240000 + files: + - [0xBF7680, "bin", "world/area_arn/arn_11"] + - name: world/area_arn/arn_12 + type: code + start: 0xBF8790 + vram: 0x80240000 + files: + - [0xBF8790, "bin", "world/area_arn/arn_12"] + - name: world/area_arn/arn_13 + type: code + start: 0xBF9410 + vram: 0x80240000 + files: + - [0xBF9410, "bin", "world/area_arn/arn_13"] + - name: world/area_dgb/dgb_00 + type: code + start: 0xBFA0A0 + vram: 0x80240000 + files: + - [0xBFA0A0, "c", "world/area_dgb/dgb_00"] + - [0xBFA150, "bin", "world/area_dgb/dgb_00_data"] + - name: world/area_dgb/dgb_01 + type: code + start: 0xBFD880 + vram: 0x80240000 + files: + - [0xBFD880, "c", "world/area_dgb/dgb_01"] + - [0xC00C70, "bin", "world/area_dgb/dgb_01_data"] + - name: world/area_dgb/dgb_02 + type: code + start: 0xC2EBA0 + vram: 0x80240000 + files: + - [0xC2EBA0, "c", "world/area_dgb/dgb_02"] + - [0xC2FFD0, "bin", "world/area_dgb/dgb_02_data"] + - name: world/area_dgb/dgb_03 + type: code + start: 0xC314E0 + vram: 0x80240000 + files: + - [0xC314E0, "c", "world/area_dgb/dgb_03"] + - [0xC33CB0, "bin", "world/area_dgb/dgb_03_data"] + - name: world/area_dgb/dgb_04 + type: code + start: 0xC36530 + vram: 0x80240000 + files: + - [0xC36530, "c", "world/area_dgb/dgb_04"] + - [0xC39640, "bin", "world/area_dgb/dgb_04_data"] + - name: world/area_dgb/dgb_05 + type: code + start: 0xC3AA10 + vram: 0x80240000 + files: + - [0xC3AA10, "c", "world/area_dgb/dgb_05"] + - [0xC3BEA0, "bin", "world/area_dgb/dgb_05_data"] + - name: world/area_dgb/dgb_06 + type: code + start: 0xC3D080 + vram: 0x80240000 + files: + - [0xC3D080, "c", "world/area_dgb/dgb_06"] + - [0xC3D340, "bin", "world/area_dgb/dgb_06_data"] + - name: world/area_dgb/dgb_07 + type: code + start: 0xC3DBF0 + vram: 0x80240000 + files: + - [0xC3DBF0, "c", "world/area_dgb/dgb_07"] + - [0xC3F020, "bin", "world/area_dgb/dgb_07_data"] + - name: world/area_dgb/dgb_08 + type: code + start: 0xC3FDB0 + vram: 0x80240000 + files: + - [0xC3FDB0, "c", "world/area_dgb/dgb_08"] + - [0xC43A40, "bin", "world/area_dgb/dgb_08_data"] + - name: world/area_dgb/dgb_09 + type: code + start: 0xC46BE0 + vram: 0x80240000 + files: + - [0xC46BE0, "c", "world/area_dgb/dgb_09"] + - [0xC4A3E0, "bin", "world/area_dgb/dgb_09_data"] + - name: world/area_dgb/dgb_10 + type: code + start: 0xC4C390 + vram: 0x80240000 + files: + - [0xC4C390, "c", "world/area_dgb/dgb_10"] + - [0xC4C580, "bin", "world/area_dgb/dgb_10_data"] + - name: world/area_dgb/dgb_11 + type: code + start: 0xC4D3E0 + vram: 0x80240000 + files: + - [0xC4D3E0, "c", "world/area_dgb/dgb_11"] + - [0xC4D430, "bin", "world/area_dgb/dgb_11_data"] + - name: world/area_dgb/dgb_12 + type: code + start: 0xC4DEF0 + vram: 0x80240000 + files: + - [0xC4DEF0, "c", "world/area_dgb/dgb_12"] + - [0xC4E1B0, "bin", "world/area_dgb/dgb_12_data"] + - name: world/area_dgb/dgb_13 + type: code + start: 0xC4E960 + vram: 0x80240000 + files: + - [0xC4E960, "bin", "world/area_dgb/dgb_13"] + - name: world/area_dgb/dgb_14 + type: code + start: 0xC4F030 + vram: 0x80240000 + files: + - [0xC4F030, "bin", "world/area_dgb/dgb_14"] + - name: world/area_dgb/dgb_15 + type: code + start: 0xC4F510 + vram: 0x80240000 + files: + - [0xC4F510, "c", "world/area_dgb/dgb_15"] + - [0xC50D80, "bin", "world/area_dgb/dgb_15_data"] + - name: world/area_dgb/dgb_16 + type: code + start: 0xC52540 + vram: 0x80240000 + files: + - [0xC52540, "c", "world/area_dgb/dgb_16"] + - [0xC53970, "bin", "world/area_dgb/dgb_16_data"] + - name: world/area_dgb/dgb_17 + type: code + start: 0xC55A60 + vram: 0x80240000 + files: + - [0xC55A60, "bin", "world/area_dgb/dgb_17"] + - name: world/area_dgb/dgb_18 + type: code + start: 0xC55F40 + vram: 0x80240000 + files: + - [0xC55F40, "c", "world/area_dgb/dgb_18"] + - [0xC571B0, "bin", "world/area_dgb/dgb_18_data"] + - name: world/area_kzn/kzn_01 + type: code + start: 0xC599D0 + vram: 0x80240000 + files: + - [0xC599D0, "c", "world/area_kzn/kzn_01"] + - [0xC59CE0, "bin", "world/area_kzn/kzn_01_data"] + - name: world/area_kzn/kzn_02 + type: code + start: 0xC5A740 + vram: 0x80240000 + files: + - [0xC5A740, "c", "world/area_kzn/kzn_02"] + - [0xC5CF60, "bin", "world/area_kzn/kzn_02_data"] + - name: world/area_kzn/kzn_03 + type: code + start: 0xC60D10 + vram: 0x80240000 + files: + - [0xC60D10, "c", "world/area_kzn/kzn_03"] + - [0xC63DA0, "bin", "world/area_kzn/kzn_03_data"] + - name: world/area_kzn/kzn_04 + type: code + start: 0xC68130 + vram: 0x80240000 + files: + - [0xC68130, "c", "world/area_kzn/kzn_04"] + - [0xC69890, "bin", "world/area_kzn/kzn_04_data"] + - name: world/area_kzn/kzn_05 + type: code + start: 0xC6C0D0 + vram: 0x80240000 + files: + - [0xC6C0D0, "c", "world/area_kzn/kzn_05"] + - [0xC6C3E0, "bin", "world/area_kzn/kzn_05_data"] + - name: world/area_kzn/kzn_06 + type: code + start: 0xC6C920 + vram: 0x80240000 + files: + - [0xC6C920, "c", "world/area_kzn/kzn_06"] + - [0xC6D390, "bin", "world/area_kzn/kzn_06_data"] + - name: world/area_kzn/kzn_07 + type: code + start: 0xC6E330 + vram: 0x80240000 + files: + - [0xC6E330, "c", "world/area_kzn/kzn_07"] + - [0xC70640, "bin", "world/area_kzn/kzn_07_data"] + - name: world/area_kzn/kzn_08 + type: code + start: 0xC71480 + vram: 0x80240000 + files: + - [0xC71480, "c", "world/area_kzn/kzn_08"] + - [0xC755A0, "bin", "world/area_kzn/kzn_08_data"] + - name: world/area_kzn/kzn_09 + type: code + start: 0xC76CE0 + vram: 0x80240000 + files: + - [0xC76CE0, "c", "world/area_kzn/kzn_09"] + - [0xC7A6F0, "bin", "world/area_kzn/kzn_09_data"] + - name: world/area_kzn/kzn_10 + type: code + start: 0xC7E180 + vram: 0x80240000 + files: + - [0xC7E180, "c", "world/area_kzn/kzn_10"] + - [0xC7E850, "bin", "world/area_kzn/kzn_10_data"] + - name: world/area_kzn/kzn_11 + type: code + start: 0xC801A0 + vram: 0x80240000 + files: + - [0xC801A0, "c", "world/area_kzn/kzn_11"] + - [0xC82800, "bin", "world/area_kzn/kzn_11_data"] + - name: world/area_kzn/kzn_17 + type: code + start: 0xC85AB0 + vram: 0x80240000 + files: + - [0xC85AB0, "c", "world/area_kzn/kzn_17"] + - [0xC88B50, "bin", "world/area_kzn/kzn_17_data"] + - name: world/area_kzn/kzn_18 + type: code + start: 0xC8C0A0 + vram: 0x80240000 + files: + - [0xC8C0A0, "c", "world/area_kzn/kzn_18"] + - [0xC8C460, "bin", "world/area_kzn/kzn_18_data"] + - name: world/area_kzn/kzn_19 + type: code + start: 0xC8DBB0 + vram: 0x80240000 + files: + - [0xC8DBB0, "c", "world/area_kzn/kzn_19"] + - [0xC8F8E0, "bin", "world/area_kzn/kzn_19_data"] + - name: world/area_kzn/kzn_20 + type: code + start: 0xC95F30 + vram: 0x80240000 + files: + - [0xC95F30, "c", "world/area_kzn/kzn_20"] + - [0xC969F0, "bin", "world/area_kzn/kzn_20_data"] + - name: world/area_kzn/kzn_22 + type: code + start: 0xC9A200 + vram: 0x80240000 + files: + - [0xC9A200, "c", "world/area_kzn/kzn_22"] + - [0xC9A590, "bin", "world/area_kzn/kzn_22_data"] + - name: world/area_kzn/kzn_23 + type: code + start: 0xC9C300 + vram: 0x80240000 + files: + - [0xC9C300, "c", "world/area_kzn/kzn_23"] + - [0xC9C920, "bin", "world/area_kzn/kzn_23_data"] + - name: world/area_flo/flo_00 + type: code + start: 0xC9DF20 + vram: 0x80240000 + files: + - [0xC9DF20, "c", "world/area_flo/flo_00"] + - [0xC9F300, "bin", "world/area_flo/flo_00_data"] + - name: world/area_flo/flo_03 + type: code + start: 0xCA72A0 + vram: 0x80240000 + files: + - [0xCA72A0, "c", "world/area_flo/flo_03"] + - [0xCA78D0, "bin", "world/area_flo/flo_03_data"] + - name: world/area_flo/flo_07 + type: code + start: 0xCAC1F0 + vram: 0x80240000 + files: + - [0xCAC1F0, "c", "world/area_flo/flo_07"] + - [0xCAC930, "bin", "world/area_flo/flo_07_data"] + - name: world/area_flo/flo_08 + type: code + start: 0xCAED40 + vram: 0x80240000 + files: + - [0xCAED40, "c", "world/area_flo/flo_08"] + - [0xCB0C20, "bin", "world/area_flo/flo_08_data"] + - name: world/area_flo/flo_09 + type: code + start: 0xCB5000 + vram: 0x80240000 + files: + - [0xCB5000, "c", "world/area_flo/flo_09"] + - [0xCB6820, "bin", "world/area_flo/flo_09_data"] + - name: world/area_flo/flo_10 + type: code + start: 0xCB9200 + vram: 0x80240000 + files: + - [0xCB9200, "c", "world/area_flo/flo_10"] + - [0xCBA670, "bin", "world/area_flo/flo_10_data"] + - name: world/area_flo/flo_11 + type: code + start: 0xCBDCD0 + vram: 0x80240000 + files: + - [0xCBDCD0, "c", "world/area_flo/flo_11"] + - [0xCBDFF0, "bin", "world/area_flo/flo_11_data"] + - name: world/area_flo/flo_12 + type: code + start: 0xCC0E30 + vram: 0x80240000 + files: + - [0xCC0E30, "c", "world/area_flo/flo_12"] + - [0xCC1520, "bin", "world/area_flo/flo_12_data"] + - name: world/area_flo/flo_13 + type: code + start: 0xCC3810 + vram: 0x80240000 + files: + - [0xCC3810, "c", "world/area_flo/flo_13"] + - [0xCC6E80, "bin", "world/area_flo/flo_13_data"] + - name: world/area_flo/flo_14 + type: code + start: 0xCCB310 + vram: 0x80240000 + files: + - [0xCCB310, "c", "world/area_flo/flo_14"] + - [0xCCD6A0, "bin", "world/area_flo/flo_14_data"] + - name: world/area_flo/flo_15 + type: code + start: 0xCD06C0 + vram: 0x80240000 + files: + - [0xCD06C0, "bin", "world/area_flo/flo_15"] + - name: world/area_flo/flo_16 + type: code + start: 0xCD1E30 + vram: 0x80240000 + files: + - [0xCD1E30, "c", "world/area_flo/flo_16"] + - [0xCD47A0, "bin", "world/area_flo/flo_16_data"] + - name: world/area_flo/flo_17 + type: code + start: 0xCD72E0 + vram: 0x80240000 + files: + - [0xCD72E0, "c", "world/area_flo/flo_17"] + - [0xCDA500, "bin", "world/area_flo/flo_17_data"] + - name: world/area_flo/flo_18 + type: code + start: 0xCDC6A0 + vram: 0x80240000 + files: + - [0xCDC6A0, "c", "world/area_flo/flo_18"] + - [0xCDCE70, "bin", "world/area_flo/flo_18_data"] + - name: world/area_flo/flo_19 + type: code + start: 0xCE36F0 + vram: 0x80240000 + files: + - [0xCE36F0, "c", "world/area_flo/flo_19"] + - [0xCE4030, "bin", "world/area_flo/flo_19_data"] + - name: world/area_flo/flo_21 + type: code + start: 0xCE6700 + vram: 0x80240000 + files: + - [0xCE6700, "c", "world/area_flo/flo_21"] + - [0xCE73F0, "bin", "world/area_flo/flo_21_data"] + - name: world/area_flo/flo_22 + type: code + start: 0xCEC240 + vram: 0x80240000 + files: + - [0xCEC240, "c", "world/area_flo/flo_22"] + - [0xCEC4D0, "bin", "world/area_flo/flo_22_data"] + - name: world/area_flo/flo_23 + type: code + start: 0xCEE260 + vram: 0x80240000 + files: + - [0xCEE260, "c", "world/area_flo/flo_23"] + - [0xCEEF30, "bin", "world/area_flo/flo_23_data"] + - name: world/area_flo/flo_24 + type: code + start: 0xCF0940 + vram: 0x80240000 + files: + - [0xCF0940, "c", "world/area_flo/flo_24"] + - [0xCF0ED0, "bin", "world/area_flo/flo_24_data"] + - name: world/area_flo/flo_25 + type: code + start: 0xCF2BD0 + vram: 0x80240000 + files: + - [0xCF2BD0, "c", "world/area_flo/flo_25"] + - [0xCF4EA0, "bin", "world/area_flo/flo_25_data"] + - name: world/area_sam/sam_01 + type: code + start: 0xCF7B70 + vram: 0x80240000 + files: + - [0xCF7B70, "c", "world/area_sam/sam_01"] + - [0xCF9AC0, "bin", "world/area_sam/sam_01_data"] + - name: world/area_sam/sam_02 + type: code + start: 0xD05730 + vram: 0x80240000 + files: + - [0xD05730, "c", "world/area_sam/sam_02"] + - [0xD072F0, "bin", "world/area_sam/sam_02_data"] + - name: world/area_sam/sam_03 + type: code + start: 0xD110C0 + vram: 0x80240000 + files: + - [0xD110C0, "c", "world/area_sam/sam_03"] + - [0xD119E0, "bin", "world/area_sam/sam_03_data"] + - name: world/area_sam/sam_04 + type: code + start: 0xD135D0 + vram: 0x80240000 + files: + - [0xD135D0, "c", "world/area_sam/sam_04"] + - [0xD13CD0, "bin", "world/area_sam/sam_04_data"] + - name: world/area_sam/sam_05 + type: code + start: 0xD187E0 + vram: 0x80240000 + files: + - [0xD187E0, "c", "world/area_sam/sam_05"] + - [0xD1A520, "bin", "world/area_sam/sam_05_data"] + - name: world/area_sam/sam_06 + type: code + start: 0xD1FE90 + vram: 0x80240000 + files: + - [0xD1FE90, "c", "world/area_sam/sam_06"] + - [0xD224B0, "bin", "world/area_sam/sam_06_data"] + - name: world/area_sam/sam_07 + type: code + start: 0xD2BD30 + vram: 0x80240000 + files: + - [0xD2BD30, "c", "world/area_sam/sam_07"] + - [0xD2DD30, "bin", "world/area_sam/sam_07_data"] + - name: world/area_sam/sam_08 + type: code + start: 0xD2FC80 + vram: 0x80240000 + files: + - [0xD2FC80, "c", "world/area_sam/sam_08"] + - [0xD31430, "bin", "world/area_sam/sam_08_data"] + - name: world/area_sam/sam_09 + type: code + start: 0xD362F0 + vram: 0x80240000 + files: + - [0xD362F0, "c", "world/area_sam/sam_09"] + - [0xD366F0, "bin", "world/area_sam/sam_09_data"] + - name: world/area_sam/sam_10 + type: code + start: 0xD37800 + vram: 0x80240000 + files: + - [0xD37800, "c", "world/area_sam/sam_10"] + - [0xD384A0, "bin", "world/area_sam/sam_10_data"] + - name: world/area_sam/sam_11 + type: code + start: 0xD3A5D0 + vram: 0x80240000 + files: + - [0xD3A5D0, "c", "world/area_sam/sam_11"] + - [0xD3C740, "bin", "world/area_sam/sam_11_data"] + - name: world/area_sam/sam_12 + type: code + start: 0xD4BA20 + vram: 0x80240000 + files: + - [0xD4BA20, "c", "world/area_sam/sam_12"] + - [0xD4BDC0, "bin", "world/area_sam/sam_12_data"] + - name: world/area_pra/pra_01 + type: code + start: 0xD4D040 + vram: 0x80240000 + files: + - [0xD4D040, "c", "world/area_pra/pra_01"] + - [0xD4E3F0, "bin", "world/area_pra/pra_01_data"] + - name: world/area_pra/pra_02 + type: code + start: 0xD4FFF0 + vram: 0x80240000 + files: + - [0xD4FFF0, "c", "world/area_pra/pra_02"] + - [0xD51650, "bin", "world/area_pra/pra_02_data"] + - name: world/area_pra/pra_03 + type: code + start: 0xD53CB0 + vram: 0x80240000 + files: + - [0xD53CB0, "c", "world/area_pra/pra_03"] + - [0xD53E60, "bin", "world/area_pra/pra_03_data"] + - name: world/area_pra/pra_04 + type: code + start: 0xD54690 + vram: 0x80240000 + files: + - [0xD54690, "c", "world/area_pra/pra_04"] + - [0xD54FD0, "bin", "world/area_pra/pra_04_data"] + - name: world/area_pra/pra_05 + type: code + start: 0xD55BB0 + vram: 0x80240000 + files: + - [0xD55BB0, "c", "world/area_pra/pra_05"] + - [0xD56D90, "bin", "world/area_pra/pra_05_data"] + - name: world/area_pra/pra_06 + type: code + start: 0xD57430 + vram: 0x80240000 + files: + - [0xD57430, "c", "world/area_pra/pra_06"] + - [0xD58380, "bin", "world/area_pra/pra_06_data"] + - name: world/area_pra/pra_09 + type: code + start: 0xD58890 + vram: 0x80240000 + files: + - [0xD58890, "c", "world/area_pra/pra_09"] + - [0xD59EE0, "bin", "world/area_pra/pra_09_data"] + - name: world/area_pra/pra_10 + type: code + start: 0xD5F2B0 + vram: 0x80240000 + files: + - [0xD5F2B0, "c", "world/area_pra/pra_10"] + - [0xD60960, "bin", "world/area_pra/pra_10_data"] + - name: world/area_pra/pra_11 + type: code + start: 0xD61500 + vram: 0x80240000 + files: + - [0xD61500, "c", "world/area_pra/pra_11"] + - [0xD626E0, "bin", "world/area_pra/pra_11_data"] + - name: world/area_pra/pra_12 + type: code + start: 0xD62D10 + vram: 0x80240000 + files: + - [0xD62D10, "c", "world/area_pra/pra_12"] + - [0xD63F20, "bin", "world/area_pra/pra_12_data"] + - name: world/area_pra/pra_13 + type: code + start: 0xD645E0 + vram: 0x80240000 + files: + - [0xD645E0, "c", "world/area_pra/pra_13"] + - [0xD65BC0, "bin", "world/area_pra/pra_13_data"] + - name: world/area_pra/pra_14 + type: code + start: 0xD67D00 + vram: 0x80240000 + files: + - [0xD67D00, "c", "world/area_pra/pra_14"] + - [0xD68EE0, "bin", "world/area_pra/pra_14_data"] + - name: world/area_pra/pra_15 + type: code + start: 0xD69810 + vram: 0x80240000 + files: + - [0xD69810, "c", "world/area_pra/pra_15"] + - [0xD69850, "bin", "world/area_pra/pra_15_data"] + - name: world/area_pra/pra_16 + type: code + start: 0xD69B20 + vram: 0x80240000 + files: + - [0xD69B20, "c", "world/area_pra/pra_16"] + - [0xD6AA40, "bin", "world/area_pra/pra_16_data"] + - name: world/area_pra/pra_18 + type: code + start: 0xD6B620 + vram: 0x80240000 + files: + - [0xD6B620, "c", "world/area_pra/pra_18"] + - [0xD6C540, "bin", "world/area_pra/pra_18_data"] + - name: world/area_pra/pra_19 + type: code + start: 0xD6E9B0 + vram: 0x80240000 + files: + - [0xD6E9B0, "c", "world/area_pra/pra_19"] + - [0xD70360, "bin", "world/area_pra/pra_19_data"] + - name: world/area_pra/pra_20 + type: code + start: 0xD763A0 + vram: 0x80240000 + files: + - [0xD763A0, "c", "world/area_pra/pra_20"] + - [0xD772C0, "bin", "world/area_pra/pra_20_data"] + - name: world/area_pra/pra_21 + type: code + start: 0xD77F20 + vram: 0x80240000 + files: + - [0xD77F20, "c", "world/area_pra/pra_21"] + - [0xD78040, "bin", "world/area_pra/pra_21_data"] + - name: world/area_pra/pra_22 + type: code + start: 0xD78880 + vram: 0x80240000 + files: + - [0xD78880, "c", "world/area_pra/pra_22"] + - [0xD78B50, "bin", "world/area_pra/pra_22_data"] + - name: world/area_pra/pra_27 + type: code + start: 0xD799F0 + vram: 0x80240000 + files: + - [0xD799F0, "c", "world/area_pra/pra_27"] + - [0xD7AC00, "bin", "world/area_pra/pra_27_data"] + - name: world/area_pra/pra_28 + type: code + start: 0xD7B2A0 + vram: 0x80240000 + files: + - [0xD7B2A0, "c", "world/area_pra/pra_28"] + - [0xD7C4B0, "bin", "world/area_pra/pra_28_data"] + - name: world/area_pra/pra_29 + type: code + start: 0xD7CB50 + vram: 0x80240000 + files: + - [0xD7CB50, "c", "world/area_pra/pra_29"] + - [0xD7DDD0, "bin", "world/area_pra/pra_29_data"] + - name: world/area_pra/pra_31 + type: code + start: 0xD7ED60 + vram: 0x80240000 + files: + - [0xD7ED60, "c", "world/area_pra/pra_31"] + - [0xD7FE10, "bin", "world/area_pra/pra_31_data"] + - name: world/area_pra/pra_32 + type: code + start: 0xD86A00 + vram: 0x80240000 + files: + - [0xD86A00, "c", "world/area_pra/pra_32"] + - [0xD87240, "bin", "world/area_pra/pra_32_data"] + - name: world/area_pra/pra_33 + type: code + start: 0xD896E0 + vram: 0x80240000 + files: + - [0xD896E0, "c", "world/area_pra/pra_33"] + - [0xD8A770, "bin", "world/area_pra/pra_33_data"] + - name: world/area_pra/pra_34 + type: code + start: 0xD8B3B0 + vram: 0x80240000 + files: + - [0xD8B3B0, "c", "world/area_pra/pra_34"] + - [0xD8C3B0, "bin", "world/area_pra/pra_34_data"] + - name: world/area_pra/pra_35 + type: code + start: 0xD8D250 + vram: 0x80240000 + files: + - [0xD8D250, "c", "world/area_pra/pra_35"] + - [0xD8FE60, "bin", "world/area_pra/pra_35_data"] + - name: world/area_pra/pra_36 + type: code + start: 0xD91700 + vram: 0x80240000 + files: + - [0xD91700, "c", "world/area_pra/pra_36"] + - [0xD92650, "bin", "world/area_pra/pra_36_data"] + - name: world/area_pra/pra_37 + type: code + start: 0xD92F40 + vram: 0x80240000 + files: + - [0xD92F40, "c", "world/area_pra/pra_37"] + - [0xD94760, "bin", "world/area_pra/pra_37_data"] + - name: world/area_pra/pra_38 + type: code + start: 0xD955F0 + vram: 0x80240000 + files: + - [0xD955F0, "c", "world/area_pra/pra_38"] + - [0xD96CD0, "bin", "world/area_pra/pra_38_data"] + - name: world/area_pra/pra_39 + type: code + start: 0xD97890 + vram: 0x80240000 + files: + - [0xD97890, "c", "world/area_pra/pra_39"] + - [0xD98F70, "bin", "world/area_pra/pra_39_data"] + - name: world/area_pra/pra_40 + type: code + start: 0xD999B0 + vram: 0x80240000 + files: + - [0xD999B0, "c", "world/area_pra/pra_40"] + - [0xD9A8D0, "bin", "world/area_pra/pra_40_data"] + - name: world/area_omo/omo_01 + type: code + start: 0xD9AEF0 + vram: 0x80240000 + files: + - [0xD9AEF0, "c", "world/area_omo/omo_01"] + - [0xD9BB20, "bin", "world/area_omo/omo_01_data"] + - name: world/area_omo/omo_02 + type: code + start: 0xD9D4D0 + vram: 0x80240000 + files: + - [0xD9D4D0, "c", "world/area_omo/omo_02"] + - [0xDA0080, "bin", "world/area_omo/omo_02_data"] + - name: world/area_omo/omo_03 + type: code + start: 0xDA5240 + vram: 0x80240000 + files: + - [0xDA5240, "c", "world/area_omo/omo_03"] + - [0xDA5AD0, "bin", "world/area_omo/omo_03_data"] + - name: world/area_omo/omo_04 + type: code + start: 0xDAD400 + vram: 0x80240000 + files: + - [0xDAD400, "c", "world/area_omo/omo_04"] + - [0xDAF320, "bin", "world/area_omo/omo_04_data"] + - name: world/area_omo/omo_05 + type: code + start: 0xDB22C0 + vram: 0x80240000 + files: + - [0xDB22C0, "c", "world/area_omo/omo_05"] + - [0xDB46C0, "bin", "world/area_omo/omo_05_data"] + - name: world/area_omo/omo_06 + type: code + start: 0xDB7910 + vram: 0x80240000 + files: + - [0xDB7910, "c", "world/area_omo/omo_06"] + - [0xDB8440, "bin", "world/area_omo/omo_06_data"] + - name: world/area_omo/omo_07 + type: code + start: 0xDBD2B0 + vram: 0x80240000 + files: + - [0xDBD2B0, "c", "world/area_omo/omo_07"] + - [0xDC05B0, "bin", "world/area_omo/omo_07_data"] + - name: world/area_omo/omo_08 + type: code + start: 0xDC43D0 + vram: 0x80240000 + files: + - [0xDC43D0, "c", "world/area_omo/omo_08"] + - [0xDC51B0, "bin", "world/area_omo/omo_08_data"] + - name: world/area_omo/omo_09 + type: code + start: 0xDCCCD0 + vram: 0x80240000 + files: + - [0xDCCCD0, "c", "world/area_omo/omo_09"] + - [0xDD03C0, "bin", "world/area_omo/omo_09_data"] + - name: world/area_omo/omo_10 + type: code + start: 0xDD79B0 + vram: 0x80240000 + files: + - [0xDD79B0, "c", "world/area_omo/omo_10"] + - [0xDD8220, "bin", "world/area_omo/omo_10_data"] + - name: world/area_omo/omo_11 + type: code + start: 0xDDC830 + vram: 0x80240000 + files: + - [0xDDC830, "c", "world/area_omo/omo_11"] + - [0xDDDD00, "bin", "world/area_omo/omo_11_data"] + - name: world/area_omo/omo_12 + type: code + start: 0xDDF310 + vram: 0x80240000 + files: + - [0xDDF310, "c", "world/area_omo/omo_12"] + - [0xDDF7D0, "bin", "world/area_omo/omo_12_data"] + - name: world/area_omo/omo_13 + type: code + start: 0xDE2490 + vram: 0x80240000 + files: + - [0xDE2490, "c", "world/area_omo/omo_13"] + - [0xDE3980, "bin", "world/area_omo/omo_13_data"] + - name: world/area_omo/omo_14 + type: code + start: 0xDE56B0 + vram: 0x80240000 + files: + - [0xDE56B0, "c", "world/area_omo/omo_14"] + - [0xDE5C70, "bin", "world/area_omo/omo_14_data"] + - name: world/area_omo/omo_15 + type: code + start: 0xDE8770 + vram: 0x80240000 + files: + - [0xDE8770, "c", "world/area_omo/omo_15"] + - [0xDE8F70, "bin", "world/area_omo/omo_15_data"] + - name: world/area_omo/omo_16 + type: code + start: 0xDEBED0 + vram: 0x80240000 + files: + - [0xDEBED0, "c", "world/area_omo/omo_16"] + - [0xDEC4D0, "bin", "world/area_omo/omo_16_data"] + - name: world/area_omo/omo_17 + type: code + start: 0xDEEEA0 + vram: 0x80240000 + files: + - [0xDEEEA0, "c", "world/area_omo/omo_17"] + - [0xDF25B0, "bin", "world/area_omo/omo_17_data"] + - name: world/area_end/end_00 + type: code + start: 0xDF6A00 + vram: 0x80240000 + files: + - [0xDF6A00, "c", "world/area_end/end_00"] + - [0xDF9540, "bin", "world/area_end/end_00_data"] + - name: world/area_end/end_01 + type: code + start: 0xE05360 + vram: 0x80240000 + files: + - [0xE05360, "c", "world/area_end/end_01"] + - [0xE08350, "bin", "world/area_end/end_01_data"] + - name: world/area_mgm/mgm_00 + type: code + start: 0xE0E7A0 + vram: 0x80240000 + files: + - [0xE0E7A0, "c", "world/area_mgm/mgm_00"] + - [0xE0FF60, "bin", "world/area_mgm/mgm_00_data"] + - name: world/area_mgm/mgm_01 + type: code + start: 0xE12760 + vram: 0x80240000 + files: + - [0xE12760, "c", "world/area_mgm/mgm_01"] + - [0xE13F10, "bin", "world/area_mgm/mgm_01_data"] + - name: world/area_mgm/mgm_02 + type: code + start: 0xE15D80 + vram: 0x80240000 + files: + - [0xE15D80, "c", "world/area_mgm/mgm_02"] + - [0xE18180, "bin", "world/area_mgm/mgm_02_data"] + - name: world/area_mgm/mgm_03 + type: code + start: 0xE1E380 + vram: 0x80240000 + files: + - [0xE1E380, "bin", "world/area_mgm/mgm_03"] + - name: world/area_gv/gv_01 + type: code + start: 0xE1E460 + vram: 0x80240000 + files: + - [0xE1E460, "c", "world/area_gv/gv_01"] + - [0xE1EC20, "bin", "world/area_gv/gv_01_data"] - name: code type: code start: 0xE20EB0